[ppl] 32/68: Imported Upstream version 0.11

Andreas Tille tille at debian.org
Sat Nov 12 08:40:57 UTC 2016


This is an automated email from the git hooks/post-receive script.

tille pushed a commit to branch master
in repository ppl.

commit 1990a403b9a8d5c8919f8d2aac10110224ec3643
Author: Andreas Tille <tille at debian.org>
Date:   Sat Nov 12 01:14:04 2016 -0600

    Imported Upstream version 0.11
---
 BUGS                                               |     10 +-
 CREDITS                                            |     43 +-
 ChangeLog                                          |   8820 +-
 ChangeLog_2001-2008                                |  96130 +++++++++++++++++
 INSTALL                                            |    114 +-
 Makefile.am                                        |      6 +-
 Makefile.in                                        |    231 +-
 NEWS                                               |    127 +-
 README                                             |    307 +-
 README.alpha                                       |     16 +
 README.arm                                         |     12 +
 README.configure                                   |     35 +-
 README.solaris                                     |      8 +
 STANDARDS                                          |    195 +-
 TODO                                               |    114 +-
 Watchdog/ChangeLog                                 |    299 +
 Watchdog/ChangeLog_2001-2008                       |   2162 +
 Watchdog/INSTALL                                   |    114 +-
 Watchdog/Makefile.am                               |      3 +-
 Watchdog/Makefile.in                               |    208 +-
 Watchdog/NEWS                                      |      8 +
 Watchdog/README                                    |     32 +-
 Watchdog/aclocal.m4                                |   6963 +-
 Watchdog/compile                                   |     21 +-
 Watchdog/config.guess                              |    245 +-
 Watchdog/config.h.in                               |     22 +-
 Watchdog/config.sub                                |    122 +-
 Watchdog/configure                                 |  17814 ++--
 Watchdog/configure.ac                              |     35 +-
 Watchdog/depcomp                                   |     87 +-
 Watchdog/doc/Makefile.am                           |      2 +-
 Watchdog/doc/Makefile.in                           |     58 +-
 Watchdog/doc/README.doc                            |      4 +-
 Watchdog/doc/devref.doxyconf-html.in               |      7 +-
 Watchdog/doc/devref.doxyconf-latex.in              |      7 +-
 Watchdog/doc/devref.tex                            |      4 +-
 Watchdog/doc/fdl.pdf                               |    Bin 56411 -> 56411 bytes
 Watchdog/doc/fdl.ps.gz                             |    Bin 63642 -> 63652 bytes
 Watchdog/doc/gpl.pdf                               |    Bin 69557 -> 69557 bytes
 Watchdog/doc/gpl.ps.gz                             |    Bin 80241 -> 80251 bytes
 Watchdog/doc/pwl-user-0.7-html.tar.gz              |    Bin 69710 -> 0 bytes
 Watchdog/doc/pwl-user-0.7.pdf                      |    Bin 241944 -> 0 bytes
 Watchdog/doc/pwl-user-0.7.ps.gz                    |    Bin 174050 -> 0 bytes
 Watchdog/doc/pwl-user-0.8-html.tar.gz              |    Bin 0 -> 70128 bytes
 Watchdog/doc/pwl-user-0.8.pdf                      |    Bin 0 -> 262590 bytes
 Watchdog/doc/pwl-user-0.8.ps.gz                    |    Bin 0 -> 191661 bytes
 Watchdog/doc/pwl.sty                               |      2 +-
 Watchdog/doc/user.tex                              |      4 +-
 Watchdog/install-sh                                |     11 +-
 Watchdog/ltmain.sh                                 |   1747 +-
 Watchdog/m4/Makefile.am                            |      2 +-
 Watchdog/m4/Makefile.in                            |     97 +-
 Watchdog/m4/lib-link.m4                            |    355 +-
 Watchdog/m4/libtool.m4                             |    998 +-
 Watchdog/m4/ltoptions.m4                           |     13 +-
 Watchdog/m4/ltversion.m4                           |     10 +-
 Watchdog/m4/lt~obsolete.m4                         |     12 +-
 Watchdog/missing                                   |     49 +-
 Watchdog/mkinstalldirs                             |      5 +-
 Watchdog/pwl-config.h.in                           |     24 +-
 Watchdog/pwl-config.sed                            |      5 +-
 Watchdog/src/Doubly_Linked_Object.defs.hh          |      2 +-
 Watchdog/src/Doubly_Linked_Object.inlines.hh       |      2 +-
 Watchdog/src/Doubly_Linked_Object.types.hh         |      2 +-
 Watchdog/src/EList.defs.hh                         |      6 +-
 Watchdog/src/EList.inlines.hh                      |      4 +-
 Watchdog/src/EList.types.hh                        |      2 +-
 Watchdog/src/EList_Iterator.defs.hh                |      2 +-
 Watchdog/src/EList_Iterator.inlines.hh             |      2 +-
 Watchdog/src/EList_Iterator.types.hh               |      2 +-
 Watchdog/src/Handler.defs.hh                       |      2 +-
 Watchdog/src/Handler.inlines.hh                    |      2 +-
 Watchdog/src/Handler.types.hh                      |      2 +-
 Watchdog/src/Makefile.am                           |     17 +-
 Watchdog/src/Makefile.in                           |    230 +-
 Watchdog/src/Pending_Element.cc                    |     32 -
 Watchdog/src/Pending_Element.defs.hh               |     12 +-
 Watchdog/src/Pending_Element.inlines.hh            |     35 +-
 Watchdog/src/Pending_Element.types.hh              |      3 +-
 Watchdog/src/Pending_List.cc                       |     75 -
 Watchdog/src/Pending_List.defs.hh                  |     16 +-
 Watchdog/src/Pending_List.inlines.hh               |     28 +-
 Watchdog/src/Pending_List.templates.hh             |     83 +
 Watchdog/src/Pending_List.types.hh                 |      3 +-
 Watchdog/src/Threshold_Watcher.cc                  |     27 +
 Watchdog/src/Threshold_Watcher.defs.hh             |     93 +
 Watchdog/src/Threshold_Watcher.inlines.hh          |     59 +
 Watchdog/src/Threshold_Watcher.templates.hh        |     71 +
 Watchdog/src/Threshold_Watcher.types.hh            |     22 +
 Watchdog/src/Time.cc                               |      2 +-
 Watchdog/src/Time.defs.hh                          |      2 +-
 Watchdog/src/Time.inlines.hh                       |      2 +-
 Watchdog/src/Time.types.hh                         |      2 +-
 Watchdog/src/Watchdog.cc                           |     41 +-
 Watchdog/src/Watchdog.defs.hh                      |     70 +-
 Watchdog/src/Watchdog.inlines.hh                   |     54 +-
 Watchdog/src/Watchdog.types.hh                     |      2 +-
 Watchdog/src/pwl.hh.dist                           |    507 +-
 Watchdog/src/pwl_header.hh                         |     12 +-
 Watchdog/tests/Makefile.am                         |      9 +-
 Watchdog/tests/Makefile.in                         |    224 +-
 Watchdog/tests/pwl_test.cc                         |     65 +-
 Watchdog/tests/pwl_test.hh                         |      2 +-
 Watchdog/tests/simple1.cc                          |     71 -
 Watchdog/tests/watchdog1.cc                        |     77 +
 Watchdog/utils/Makefile.am                         |      2 +-
 Watchdog/utils/Makefile.in                         |     58 +-
 Watchdog/utils/build_header.in                     |      2 +-
 aclocal.m4                                         |   6965 +-
 compile                                            |     21 +-
 config.guess                                       |    245 +-
 config.h.in                                        |     27 +-
 config.sub                                         |    122 +-
 configure                                          |  45647 ++++----
 configure.ac                                       |    135 +-
 demos/Makefile.am                                  |      8 +-
 demos/Makefile.in                                  |    177 +-
 demos/ppl_lcdd/Makefile.am                         |      2 +-
 demos/ppl_lcdd/Makefile.in                         |    375 +-
 demos/ppl_lcdd/examples/Makefile.am                |      2 +-
 demos/ppl_lcdd/examples/Makefile.in                |     78 +-
 demos/ppl_lcdd/ppl_lcdd.1                          |      4 +-
 demos/ppl_lcdd/ppl_lcdd.cc                         |      2 +-
 demos/ppl_lpsol/Makefile.am                        |      2 +-
 demos/ppl_lpsol/Makefile.in                        |    409 +-
 demos/ppl_lpsol/examples/Makefile.am               |      2 +-
 demos/ppl_lpsol/examples/Makefile.in               |     78 +-
 demos/ppl_lpsol/examples/ex1.mps                   |      2 +
 demos/ppl_lpsol/examples/unboundedmin.mps          |      2 +
 demos/ppl_lpsol/ppl_lpsol.1                        |      4 +-
 demos/ppl_lpsol/ppl_lpsol.c                        |      2 +-
 demos/ppl_pips/Makefile.am                         |    125 +
 demos/ppl_pips/Makefile.in                         |    971 +
 demos/ppl_pips/examples/Makefile.am                |     47 +
 demos/ppl_pips/examples/Makefile.in                |    516 +
 demos/ppl_pips/examples/README                     |      8 +
 demos/ppl_pips/examples/big.pip                    |      9 +
 demos/ppl_pips/examples/brisebarre.pip             |     33 +
 demos/ppl_pips/examples/cg1.pip                    |     15 +
 demos/ppl_pips/examples/esced.pip                  |     21 +
 demos/ppl_pips/examples/ex2.pip                    |      9 +
 demos/ppl_pips/examples/fimmel.pip                 |     12 +
 demos/ppl_pips/examples/invert.dat                 |     10 +
 demos/ppl_pips/examples/linear.dat                 |     10 +
 demos/ppl_pips/examples/lineri.dat                 |      9 +
 demos/ppl_pips/examples/loz.dat                    |     15 +
 demos/ppl_pips/examples/max.dat                    |      9 +
 demos/ppl_pips/examples/max.pip                    |      9 +
 demos/ppl_pips/examples/maxb.dat                   |      9 +
 demos/ppl_pips/examples/pairi.dat                  |      7 +
 demos/ppl_pips/examples/petit.dat                  |      9 +
 demos/ppl_pips/examples/rairoi.dat                 |      9 +
 demos/ppl_pips/examples/sor1d.pip                  |     28 +
 demos/ppl_pips/examples/square.pip                 |      9 +
 demos/ppl_pips/examples/test02.dat                 |     20 +
 demos/ppl_pips/examples/test12i.dat                |     17 +
 demos/ppl_pips/expected_int16                      |     20 +
 demos/ppl_pips/expected_int16_a                    |     20 +
 demos/ppl_pips/expected_int32                      |     20 +
 demos/ppl_pips/expected_int32_a                    |     20 +
 demos/ppl_pips/expected_int64                      |     20 +
 demos/ppl_pips/expected_int64_a                    |     20 +
 demos/ppl_pips/expected_int8                       |     20 +
 demos/ppl_pips/expected_int8_a                     |     20 +
 demos/ppl_pips/expected_mpz                        |     20 +
 demos/ppl_pips/expected_mpz_a                      |     20 +
 demos/ppl_pips/ppl_pips.1                          |    136 +
 demos/ppl_pips/ppl_pips.cc                         |    838 +
 depcomp                                            |     87 +-
 doc/Makefile.am                                    |     18 +-
 doc/Makefile.in                                    |    274 +-
 doc/README.doc                                     |      4 +-
 doc/definitions.dox                                |    554 +-
 doc/devref-language-interface.doxyconf.in          |     97 +-
 doc/devref-language-interface.tex                  |      4 +-
 doc/devref.doxyconf-html.in                        |    110 +-
 doc/devref.doxyconf-latex.in                       |    112 +-
 doc/devref.tex                                     |      4 +-
 doc/fdl.pdf                                        |    Bin 56411 -> 56411 bytes
 doc/fdl.ps.gz                                      |    Bin 63642 -> 63652 bytes
 doc/gpl.pdf                                        |    Bin 69557 -> 69557 bytes
 doc/gpl.ps.gz                                      |    Bin 80241 -> 80251 bytes
 doc/libppl.3                                       |     10 +-
 doc/libppl_c.3                                     |     18 +-
 doc/ppl-config.1                                   |     14 +-
 doc/ppl-user-0.10.2-html.tar.gz                    |    Bin 859476 -> 0 bytes
 doc/ppl-user-0.10.2.pdf                            |  89805 ----------------
 doc/ppl-user-0.10.2.ps.gz                          |    Bin 1193762 -> 0 bytes
 doc/ppl-user-0.11-html.tar.gz                      |    Bin 0 -> 964441 bytes
 doc/ppl-user-0.11.pdf                              | 100036 ++++++++++++++++++
 doc/ppl-user-0.11.ps.gz                            |    Bin 0 -> 1327945 bytes
 doc/ppl-user-c-interface-0.10.2-html.tar.gz        |    Bin 166485 -> 0 bytes
 doc/ppl-user-c-interface-0.10.2.pdf                |  21645 ----
 doc/ppl-user-c-interface-0.10.2.ps.gz              |    Bin 325241 -> 0 bytes
 doc/ppl-user-c-interface-0.11-html.tar.gz          |    Bin 0 -> 193972 bytes
 doc/ppl-user-c-interface-0.11.pdf                  |  26448 +++++
 doc/ppl-user-c-interface-0.11.ps.gz                |    Bin 0 -> 370039 bytes
 doc/ppl-user-java-interface-0.10.2-html.tar.gz     |    Bin 166033 -> 0 bytes
 doc/ppl-user-java-interface-0.10.2.pdf             |  19040 ----
 doc/ppl-user-java-interface-0.10.2.ps.gz           |    Bin 324612 -> 0 bytes
 doc/ppl-user-java-interface-0.11-html.tar.gz       |    Bin 0 -> 192727 bytes
 doc/ppl-user-java-interface-0.11.pdf               |  23280 ++++
 doc/ppl-user-java-interface-0.11.ps.gz             |    Bin 0 -> 366042 bytes
 doc/ppl-user-ocaml-interface-0.10.2-html.tar.gz    |    Bin 71090 -> 0 bytes
 doc/ppl-user-ocaml-interface-0.10.2.pdf            |    Bin 239601 -> 0 bytes
 doc/ppl-user-ocaml-interface-0.10.2.ps.gz          |    Bin 196053 -> 0 bytes
 doc/ppl-user-ocaml-interface-0.11-html.tar.gz      |    Bin 0 -> 75235 bytes
 doc/ppl-user-ocaml-interface-0.11.pdf              |    Bin 0 -> 286000 bytes
 doc/ppl-user-ocaml-interface-0.11.ps.gz            |    Bin 0 -> 224718 bytes
 doc/ppl-user-prolog-interface-0.10.2-html.tar.gz   |    Bin 72546 -> 0 bytes
 doc/ppl-user-prolog-interface-0.10.2.pdf           |    Bin 257972 -> 0 bytes
 doc/ppl-user-prolog-interface-0.10.2.ps.gz         |    Bin 230915 -> 0 bytes
 doc/ppl-user-prolog-interface-0.11-html.tar.gz     |    Bin 0 -> 74802 bytes
 doc/ppl-user-prolog-interface-0.11.pdf             |    Bin 0 -> 283943 bytes
 doc/ppl-user-prolog-interface-0.11.ps.gz           |    Bin 0 -> 253968 bytes
 doc/ppl.sty                                        |     23 +-
 doc/user-language-interface.doxyconf.in            |     97 +-
 doc/user-language-interface.tex                    |      4 +-
 doc/user.doxyconf-html.in                          |    103 +-
 doc/user.doxyconf-latex.in                         |    105 +-
 doc/user.tex                                       |      4 +-
 install-sh                                         |     11 +-
 instchk.hh                                         |     10 +-
 interfaces/C/C_interface.dox                       |     58 +-
 interfaces/C/Makefile.am                           |     41 +-
 interfaces/C/Makefile.in                           |    358 +-
 interfaces/C/ppl_c.h.dist                          |  17272 +++
 interfaces/C/ppl_c_header.h                        |    791 +-
 interfaces/C/ppl_c_implementation_common.cc        |    630 +-
 interfaces/C/ppl_c_implementation_common.defs.hh   |     49 +-
 .../C/ppl_c_implementation_common.inlines.hh       |     68 +-
 interfaces/C/ppl_c_version.h.in                    |      2 +-
 interfaces/C/ppl_interface_generator_c_cc_code.m4  |    298 +-
 interfaces/C/ppl_interface_generator_c_cc_files.m4 |      6 +-
 interfaces/C/ppl_interface_generator_c_h.m4        |      2 +-
 interfaces/C/ppl_interface_generator_c_h_code.m4   |    162 +-
 interfaces/C/ppl_interface_generator_c_hh_files.m4 |     12 +-
 ...l_interface_generator_c_procedure_generators.m4 |     11 +-
 interfaces/C/tests/Makefile.am                     |     56 +-
 interfaces/C/tests/Makefile.in                     |    435 +-
 interfaces/C/tests/formatted_output.c              |      2 +-
 interfaces/C/tests/pip_test.c                      |    271 +
 interfaces/C/tests/ppl_c_test.cc                   |      2 +-
 interfaces/C/tests/ppl_c_test.h                    |      2 +-
 interfaces/C/tests/print_to_buffer.c               |      4 +-
 interfaces/C/tests/print_to_buffer.h               |      4 +-
 interfaces/C/tests/watchdog1.c                     |    149 +
 interfaces/C/tests/weightwatch1.c                  |    143 +
 interfaces/Java/Makefile.am                        |      2 +-
 interfaces/Java/Makefile.in                        |    211 +-
 interfaces/Java/README.java                        |     30 +-
 interfaces/Java/jni/Makefile.am                    |     38 +-
 interfaces/Java/jni/Makefile.in                    |    241 +-
 ...ppl_interface_generator_java_classes_cc_code.m4 |    382 +-
 ...pl_interface_generator_java_classes_cc_files.m4 |     20 +-
 interfaces/Java/jni/ppl_java_common.cc             |   1621 +-
 interfaces/Java/jni/ppl_java_common.defs.hh        |    567 +-
 interfaces/Java/jni/ppl_java_common.inlines.hh     |    256 +-
 interfaces/Java/jni/ppl_java_globals.cc            |   1550 +-
 .../Artificial_Parameter.java                      |     89 +
 .../Artificial_Parameter_Sequence.java             |     44 +
 .../Bounded_Integer_Type_Overflow.java             |     39 +
 .../Bounded_Integer_Type_Representation.java       |     40 +
 .../Bounded_Integer_Type_Width.java                |     43 +
 .../Java/parma_polyhedra_library/By_Reference.java |     10 +-
 .../Java/parma_polyhedra_library/Coefficient.java  |     23 +-
 .../parma_polyhedra_library/Complexity_Class.java  |      9 +-
 .../Java/parma_polyhedra_library/Congruence.java   |     26 +-
 .../parma_polyhedra_library/Congruence_System.java |      7 +-
 .../Java/parma_polyhedra_library/Constraint.java   |      9 +-
 .../parma_polyhedra_library/Constraint_System.java |      7 +-
 .../Control_Parameter_Name.java                    |      2 +-
 .../Control_Parameter_Value.java                   |      2 +-
 .../Degenerate_Element.java                        |      9 +-
 .../Domain_Error_Exception.java                    |      2 +-
 .../Fake_Class_for_Doxygen.java                    |     33 +-
 .../Java/parma_polyhedra_library/Generator.java    |     61 +-
 .../parma_polyhedra_library/Generator_System.java  |      7 +-
 .../parma_polyhedra_library/Generator_Type.java    |      9 +-
 .../parma_polyhedra_library/Grid_Generator.java    |     63 +-
 .../Grid_Generator_System.java                     |      7 +-
 .../Grid_Generator_Type.java                       |      9 +-
 interfaces/Java/parma_polyhedra_library/IO.java    |      2 +-
 .../Invalid_Argument_Exception.java                |      2 +-
 .../Length_Error_Exception.java                    |      2 +-
 .../parma_polyhedra_library/Linear_Expression.java |     15 +-
 .../Linear_Expression_Coefficient.java             |      9 +-
 .../Linear_Expression_Difference.java              |      9 +-
 .../Linear_Expression_Sum.java                     |      9 +-
 .../Linear_Expression_Times.java                   |     46 +-
 .../Linear_Expression_Unary_Minus.java             |      8 +-
 .../Linear_Expression_Variable.java                |     13 +-
 .../Logic_Error_Exception.java                     |      2 +-
 .../Java/parma_polyhedra_library/MIP_Problem.java  |      2 +-
 .../MIP_Problem_Status.java                        |      9 +-
 .../Java/parma_polyhedra_library/Makefile.am       |    124 +-
 .../Java/parma_polyhedra_library/Makefile.in       |    202 +-
 .../parma_polyhedra_library/Optimization_Mode.java |      9 +-
 .../Overflow_Error_Exception.java                  |      2 +-
 .../parma_polyhedra_library/PIP_Decision_Node.java |     37 +
 .../Java/parma_polyhedra_library/PIP_Problem.java  |    325 +
 .../PIP_Problem_Control_Parameter_Name.java        |     32 +
 .../PIP_Problem_Control_Parameter_Value.java       |     38 +
 .../PIP_Problem_Status.java                        |     37 +
 .../parma_polyhedra_library/PIP_Solution_Node.java |     43 +
 .../parma_polyhedra_library/PIP_Tree_Node.java     |     81 +
 .../Java/parma_polyhedra_library/PPL_Object.java   |      7 +-
 interfaces/Java/parma_polyhedra_library/Pair.java  |      7 +-
 .../Parma_Polyhedra_Library.java                   |    152 +-
 .../parma_polyhedra_library/Partial_Function.java  |     50 +-
 .../parma_polyhedra_library/Poly_Con_Relation.java |      7 +-
 .../parma_polyhedra_library/Poly_Gen_Relation.java |      7 +-
 .../parma_polyhedra_library/Relation_Symbol.java   |      9 +-
 .../parma_polyhedra_library/Timeout_Exception.java |     32 +
 .../Java/parma_polyhedra_library/Variable.java     |      9 +-
 .../parma_polyhedra_library/Variables_Set.java     |      7 +-
 .../ppl_interface_generator_java_classes_java.m4   |     46 +-
 ...l_interface_generator_java_classes_java_code.m4 |    325 +-
 ...nterface_generator_java_procedure_generators.m4 |     12 +-
 interfaces/Java/tests/C_Polyhedron_test1.java      |     46 +-
 interfaces/Java/tests/MIP_Problem_test1.java       |     27 +-
 interfaces/Java/tests/Makefile.am                  |     36 +-
 interfaces/Java/tests/Makefile.in                  |    129 +-
 interfaces/Java/tests/NNC_Polyhedron_test1.java    |     68 +-
 interfaces/Java/tests/PIP_Problem_test1.java       |    483 +
 interfaces/Java/tests/PPL_Test.java                |      2 +-
 .../Java/tests/Parma_Polyhedra_Library_test1.java  |     18 +-
 .../Java/tests/Parma_Polyhedra_Library_test2.java  |    141 +
 interfaces/Java/tests/Test_Executor.java           |     40 +-
 interfaces/Java/tests/Test_Partial_Function.java   |     61 -
 .../ppl_interface_generator_java_test_java.m4      |     32 +-
 .../ppl_interface_generator_java_test_java_code.m4 |    448 +-
 interfaces/Java/tests/ppl_java_tests_common        |     73 +-
 interfaces/Makefile.am                             |      2 +-
 interfaces/Makefile.in                             |    173 +-
 interfaces/OCaml/Makefile.am                       |     30 +-
 interfaces/OCaml/Makefile.in                       |    337 +-
 interfaces/OCaml/OCaml_interface.dox               |    280 +-
 .../OCaml/ppl_interface_generator_ocaml_cc_code.m4 |    289 +-
 .../ppl_interface_generator_ocaml_cc_files.m4      |      6 +-
 .../OCaml/ppl_interface_generator_ocaml_hh_code.m4 |      2 +-
 .../ppl_interface_generator_ocaml_hh_files.m4      |     12 +-
 .../OCaml/ppl_interface_generator_ocaml_ml.m4      |      2 +-
 .../OCaml/ppl_interface_generator_ocaml_ml_code.m4 |    104 +-
 .../OCaml/ppl_interface_generator_ocaml_mli.m4     |      2 +-
 .../ppl_interface_generator_ocaml_mli_code.m4      |     92 +-
 ...terface_generator_ocaml_procedure_generators.m4 |     17 +-
 interfaces/OCaml/ppl_ocaml_common.cc               |    743 +-
 interfaces/OCaml/ppl_ocaml_common.defs.hh          |     57 +-
 interfaces/OCaml/ppl_ocaml_common.inlines.hh       |     49 +-
 interfaces/OCaml/ppl_ocaml_globals.ml              |    181 +-
 interfaces/OCaml/ppl_ocaml_globals.mli             |    149 +-
 interfaces/OCaml/tests/Makefile.am                 |     14 +-
 interfaces/OCaml/tests/Makefile.in                 |    177 +-
 .../tests/ppl_interface_generator_ocaml_test_ml.m4 |      2 +-
 .../ppl_interface_generator_ocaml_test_ml_code.m4  |     82 +-
 interfaces/OCaml/tests/ppl_ocaml_tests_common      |      2 +-
 interfaces/OCaml/tests/test1.ml                    |    223 +-
 interfaces/Prolog/Ciao/Makefile.am                 |      8 +-
 interfaces/Prolog/Ciao/Makefile.in                 |    779 +-
 interfaces/Prolog/Ciao/ciao_cfli.hh                |      2 +-
 interfaces/Prolog/Ciao/ciao_clpq.pl                |      3 +-
 interfaces/Prolog/Ciao/ciao_clpq2.pl               |      3 +-
 interfaces/Prolog/Ciao/ciao_efli.cc                |      5 +-
 interfaces/Prolog/Ciao/ciao_efli.hh                |      2 +-
 interfaces/Prolog/Ciao/ciao_pl_check.pl            |      8 +-
 .../Prolog/Ciao/ppl_interface_generator_ciao_pl.m4 |      2 +-
 ...face_generator_ciao_prolog_generated_test_pl.m4 |      2 +-
 interfaces/Prolog/Ciao/ppl_prolog_sysdep.hh        |      2 +-
 interfaces/Prolog/GNU/Makefile.am                  |     10 +-
 interfaces/Prolog/GNU/Makefile.in                  |    837 +-
 interfaces/Prolog/GNU/README.gprolog               |      2 +-
 interfaces/Prolog/GNU/gnu_pl_check.pl              |      2 +-
 interfaces/Prolog/GNU/gnu_prolog_generated_test.pl |      2 +-
 interfaces/Prolog/GNU/gp_clpq.pl                   |      2 +-
 interfaces/Prolog/GNU/gprolog_cfli.hh              |      2 +-
 interfaces/Prolog/GNU/gprolog_efli.cc              |      6 +-
 interfaces/Prolog/GNU/gprolog_efli.hh              |      2 +-
 .../GNU/ppl_interface_generator_gprolog_pl.m4      |      2 +-
 interfaces/Prolog/GNU/ppl_prolog_sysdep.hh         |      2 +-
 interfaces/Prolog/Makefile.am                      |     10 +-
 interfaces/Prolog/Makefile.in                      |    181 +-
 interfaces/Prolog/Prolog_interface.dox             |    315 +-
 interfaces/Prolog/SICStus/Makefile.am              |      8 +-
 interfaces/Prolog/SICStus/Makefile.in              |    812 +-
 .../ppl_interface_generator_sicstus_sd_cc.m4       |     59 +-
 interfaces/Prolog/SICStus/ppl_prolog_sysdep.hh     |      2 +-
 interfaces/Prolog/SICStus/ppl_sicstus.pl           |      2 +-
 interfaces/Prolog/SICStus/sicstus_cfli.cc          |      2 +-
 interfaces/Prolog/SICStus/sicstus_cfli.h           |      2 +-
 interfaces/Prolog/SICStus/sicstus_cfli.ic          |      2 +-
 interfaces/Prolog/SICStus/sicstus_efli.cc          |      5 +-
 interfaces/Prolog/SICStus/sicstus_efli.hh          |      2 +-
 interfaces/Prolog/SICStus/sp_clpq.pl               |      2 +-
 interfaces/Prolog/SICStus/sp_pl_check.pl           |      2 +-
 .../Prolog/SICStus/sp_prolog_generated_test.pl     |      2 +-
 interfaces/Prolog/SWI/Makefile.am                  |     20 +-
 interfaces/Prolog/SWI/Makefile.in                  |    859 +-
 interfaces/Prolog/SWI/pl_clpq.cc                   |      2 +-
 interfaces/Prolog/SWI/pl_clpq.pl                   |      2 +-
 .../SWI/ppl_interface_generator_swiprolog_cc.m4    |      2 +-
 interfaces/Prolog/SWI/ppl_pl.cc                    |      2 +-
 interfaces/Prolog/SWI/ppl_prolog_sysdep.hh         |      2 +-
 interfaces/Prolog/SWI/ppl_swiprolog.pl             |      2 +-
 interfaces/Prolog/SWI/swi_cfli.hh                  |     50 +-
 interfaces/Prolog/SWI/swi_efli.cc                  |     11 +-
 interfaces/Prolog/SWI/swi_efli.hh                  |      2 +-
 interfaces/Prolog/SWI/swi_pl_check.pl              |      2 +-
 interfaces/Prolog/SWI/swi_prolog_generated_test.pl |     10 +-
 interfaces/Prolog/XSB/Makefile.am                  |      8 +-
 interfaces/Prolog/XSB/Makefile.in                  |    756 +-
 .../Prolog/XSB/ppl_interface_generator_xsb_H.m4    |      2 +-
 .../Prolog/XSB/ppl_interface_generator_xsb_cc.m4   |     29 +-
 .../Prolog/XSB/ppl_interface_generator_xsb_hh.m4   |      2 +-
 ...erface_generator_xsb_prolog_generated_test_P.m4 |      2 +-
 interfaces/Prolog/XSB/ppl_prolog_sysdep.hh         |      2 +-
 interfaces/Prolog/XSB/xsb_cfli.hh                  |      2 +-
 interfaces/Prolog/XSB/xsb_clpq.P                   |      5 +-
 interfaces/Prolog/XSB/xsb_clpq2.P                  |      5 +-
 interfaces/Prolog/XSB/xsb_efli.cc                  |      5 +-
 interfaces/Prolog/XSB/xsb_efli.hh                  |      2 +-
 interfaces/Prolog/XSB/xsb_pl_check.P               |     47 +-
 interfaces/Prolog/YAP/Makefile.am                  |     19 +-
 interfaces/Prolog/YAP/Makefile.in                  |    786 +-
 .../Prolog/YAP/ppl_interface_generator_yap_cc.m4   |     29 +-
 interfaces/Prolog/YAP/ppl_prolog_sysdep.hh         |      2 +-
 interfaces/Prolog/YAP/ppl_yap.pl                   |      2 +-
 interfaces/Prolog/YAP/yap_cfli.hh                  |      2 +-
 interfaces/Prolog/YAP/yap_clpq.pl                  |      2 +-
 interfaces/Prolog/YAP/yap_clpq2.pl                 |      2 +-
 interfaces/Prolog/YAP/yap_efli.cc                  |      2 +-
 interfaces/Prolog/YAP/yap_efli.hh                  |      2 +-
 interfaces/Prolog/YAP/yap_pl_check.pl              |      2 +-
 interfaces/Prolog/YAP/yap_prolog_generated_test.pl |      2 +-
 .../ppl_interface_generator_prolog_cc_code.m4      |    478 +-
 .../ppl_interface_generator_prolog_cc_files.m4     |      8 +-
 .../Prolog/ppl_interface_generator_prolog_dox.m4   |      2 +-
 .../ppl_interface_generator_prolog_dox_code.m4     |     23 +-
 .../ppl_interface_generator_prolog_hh_code.m4      |    126 +-
 .../ppl_interface_generator_prolog_hh_files.m4     |     12 +-
 ...erface_generator_prolog_procedure_generators.m4 |     56 +-
 .../ppl_interface_generator_prolog_systems.m4      |      2 +-
 interfaces/Prolog/ppl_prolog_common.cc             |   1063 +-
 interfaces/Prolog/ppl_prolog_common.defs.hh        |    342 +-
 interfaces/Prolog/ppl_prolog_common.inlines.hh     |      2 +-
 interfaces/Prolog/ppl_prolog_sysindep_dox          |      7 +-
 interfaces/Prolog/tests/Makefile.am                |      6 +-
 interfaces/Prolog/tests/Makefile.in                |     84 +-
 interfaces/Prolog/tests/clpq.pl                    |     10 +-
 interfaces/Prolog/tests/clpq2.pl                   |     13 +-
 interfaces/Prolog/tests/expected_clpq2_int16       |      2 +-
 interfaces/Prolog/tests/expected_clpq2_int16_a     |      2 +-
 interfaces/Prolog/tests/expected_clpq2_int32       |      2 +-
 interfaces/Prolog/tests/expected_clpq2_int32_a     |      2 +-
 interfaces/Prolog/tests/expected_clpq2_int64       |      2 +-
 interfaces/Prolog/tests/expected_clpq2_int64_a     |      2 +-
 interfaces/Prolog/tests/expected_clpq2_int8        |      2 +-
 interfaces/Prolog/tests/expected_clpq2_int8_a      |      2 +-
 interfaces/Prolog/tests/expected_clpq2_mpz         |      2 +-
 interfaces/Prolog/tests/expected_clpq2_mpz_a       |      2 +-
 interfaces/Prolog/tests/expected_clpq_int16        |      2 +-
 interfaces/Prolog/tests/expected_clpq_int16_a      |      2 +-
 interfaces/Prolog/tests/expected_clpq_int32        |      2 +-
 interfaces/Prolog/tests/expected_clpq_int32_a      |      2 +-
 interfaces/Prolog/tests/expected_clpq_int64        |      2 +-
 interfaces/Prolog/tests/expected_clpq_int64_a      |      2 +-
 interfaces/Prolog/tests/expected_clpq_int8         |      2 +-
 interfaces/Prolog/tests/expected_clpq_int8_a       |      2 +-
 interfaces/Prolog/tests/expected_clpq_mpz          |      2 +-
 interfaces/Prolog/tests/expected_clpq_mpz_a        |      2 +-
 interfaces/Prolog/tests/expected_pchk_int8         |      2 +
 interfaces/Prolog/tests/expected_pchk_int8_a       |      4 +-
 interfaces/Prolog/tests/pl_check.pl                |    512 +-
 ...interface_generator_prolog_generated_test_pl.m4 |     25 +-
 ...face_generator_prolog_generated_test_pl_code.m4 |    390 +-
 .../tests/ppl_prolog_generated_test_common.pl      |     35 +-
 interfaces/interfaced_boxes.hh                     |      2 +-
 interfaces/marked_pointers.hh                      |      4 +-
 interfaces/ppl_interface_generator_common.m4       |      2 +-
 interfaces/ppl_interface_generator_common_dat.m4   |     22 +-
 ...erface_generator_common_procedure_generators.m4 |      9 +-
 interfaces/ppl_interface_generator_copyright       |      2 +-
 ltmain.sh                                          |   1747 +-
 m4/Makefile.am                                     |      2 +-
 m4/Makefile.in                                     |    117 +-
 m4/ac_check_ciao.m4                                |      2 +-
 m4/ac_check_fpu_control.m4                         |     24 +-
 m4/ac_check_gmp.m4                                 |     29 +-
 m4/ac_check_sicstus_prolog.m4                      |      2 +-
 m4/ac_check_swi_prolog.m4                          |     28 +-
 m4/ac_check_xsb_prolog.m4                          |      2 +-
 m4/ac_check_yap.m4                                 |     54 +
 m4/ac_cxx_attribute_weak.m4                        |      2 +-
 m4/ac_cxx_double_binary_format.m4                  |      2 +-
 m4/ac_cxx_double_exact_output.m4                   |      2 +-
 m4/ac_cxx_flexible_arrays.m4                       |      2 +-
 m4/ac_cxx_float_binary_format.m4                   |      2 +-
 m4/ac_cxx_float_exact_output.m4                    |      2 +-
 m4/ac_cxx_ieee_inexact_flag.m4                     |      2 +-
 m4/ac_cxx_limit_memory.m4                          |      2 +-
 m4/ac_cxx_long_double_binary_format.m4             |      2 +-
 m4/ac_cxx_long_double_exact_output.m4              |      2 +-
 m4/ac_cxx_proper_long_double.m4                    |      2 +-
 m4/ac_cxx_remainder_bug.m4                         |      2 +-
 m4/ac_prog_jar.m4                                  |      2 +-
 m4/ac_prog_java.m4                                 |      4 +-
 m4/ac_prog_javac.m4                                |      4 +-
 m4/ac_prog_javah.m4                                |      2 +-
 m4/ac_text_md5sum.m4                               |      2 +-
 m4/lib-ld.m4                                       |     14 +-
 m4/lib-link.m4                                     |    355 +-
 m4/lib-prefix.m4                                   |     81 +-
 m4/libtool.m4                                      |    998 +-
 m4/ltoptions.m4                                    |     13 +-
 m4/ltversion.m4                                    |     10 +-
 m4/lt~obsolete.m4                                  |     12 +-
 m4/ocaml.m4                                        |    244 +
 m4/ppl.m4                                          |      2 +-
 m4/ppl_c.m4                                        |      2 +-
 missing                                            |     49 +-
 mkinstalldirs                                      |      5 +-
 ppl-config.h.in                                    |     29 +-
 ppl-config.sed                                     |      4 +
 src/BDS_Status.idefs.hh                            |      2 +-
 src/BDS_Status.inlines.hh                          |      6 +-
 src/BD_Shape.cc                                    |     12 +-
 src/BD_Shape.defs.hh                               |    350 +-
 src/BD_Shape.inlines.hh                            |    128 +-
 src/BD_Shape.templates.hh                          |    611 +-
 src/BD_Shape.types.hh                              |      2 +-
 src/BHRZ03_Certificate.cc                          |     26 +-
 src/BHRZ03_Certificate.defs.hh                     |      4 +-
 src/BHRZ03_Certificate.inlines.hh                  |      4 +-
 src/BHRZ03_Certificate.types.hh                    |      2 +-
 src/BUGS.cc.dist                                   |     10 +-
 src/Bit_Matrix.cc                                  |     27 +-
 src/Bit_Matrix.defs.hh                             |     12 +-
 src/Bit_Matrix.inlines.hh                          |     18 +-
 src/Bit_Matrix.types.hh                            |      2 +-
 src/Bit_Row.cc                                     |    185 +-
 src/Bit_Row.defs.hh                                |     21 +-
 src/Bit_Row.inlines.hh                             |    215 +-
 src/Bit_Row.types.hh                               |      2 +-
 src/Boundary.defs.hh                               |    241 +-
 src/Box.cc                                         |     12 +-
 src/Box.defs.hh                                    |    249 +-
 src/Box.inlines.hh                                 |     77 +-
 src/Box.templates.hh                               |   1020 +-
 src/Box.types.hh                                   |      2 +-
 src/Box_Status.idefs.hh                            |      6 +-
 src/Box_Status.inlines.hh                          |      4 +-
 src/CREDITS.cc.dist                                |     43 +-
 src/C_Integer.hh                                   |     22 +-
 src/C_Polyhedron.cc                                |      4 +-
 src/C_Polyhedron.defs.hh                           |      4 +-
 src/C_Polyhedron.inlines.hh                        |      2 +-
 src/C_Polyhedron.types.hh                          |      2 +-
 src/Checked_Number.cc                              |     26 +-
 src/Checked_Number.defs.hh                         |     86 +-
 src/Checked_Number.inlines.hh                      |     80 +-
 src/Checked_Number.templates.hh                    |      8 +-
 src/Checked_Number.types.hh                        |      5 +-
 src/Coefficient.cc                                 |     10 +-
 src/Coefficient.defs.hh                            |      2 +-
 src/Coefficient.inlines.hh                         |     18 +-
 src/Coefficient.types.hh                           |     92 +-
 src/Coefficient_traits_template.hh                 |      2 +-
 src/Congruence.cc                                  |     14 +-
 src/Congruence.defs.hh                             |      4 +-
 src/Congruence.inlines.hh                          |      6 +-
 src/Congruence.types.hh                            |      2 +-
 src/Congruence_System.cc                           |     40 +-
 src/Congruence_System.defs.hh                      |      7 +-
 src/Congruence_System.inlines.hh                   |      6 +-
 src/Congruence_System.types.hh                     |      2 +-
 src/Constraint.cc                                  |     24 +-
 src/Constraint.defs.hh                             |      6 +-
 src/Constraint.inlines.hh                          |     12 +-
 src/Constraint.types.hh                            |      2 +-
 src/Constraint_System.cc                           |     46 +-
 src/Constraint_System.defs.hh                      |     12 +-
 src/Constraint_System.inlines.hh                   |      4 +-
 src/Constraint_System.types.hh                     |      2 +-
 src/DB_Matrix.defs.hh                              |      6 +-
 src/DB_Matrix.inlines.hh                           |     10 +-
 src/DB_Matrix.templates.hh                         |     12 +-
 src/DB_Matrix.types.hh                             |      2 +-
 src/DB_Row.defs.hh                                 |      2 +-
 src/DB_Row.inlines.hh                              |     40 +-
 src/DB_Row.templates.hh                            |     16 +-
 src/DB_Row.types.hh                                |      2 +-
 src/Determinate.defs.hh                            |    105 +-
 src/Determinate.inlines.hh                         |    218 +-
 src/Determinate.types.hh                           |      4 +-
 src/Float.cc                                       |      2 +-
 src/Float.defs.hh                                  |    100 +-
 src/Float.inlines.hh                               |    118 +-
 src/GMP_Integer.defs.hh                            |     10 +-
 src/GMP_Integer.inlines.hh                         |     16 +-
 src/GMP_Integer.types.hh                           |      2 +-
 src/Generator.cc                                   |     12 +-
 src/Generator.defs.hh                              |      6 +-
 src/Generator.inlines.hh                           |     10 +-
 src/Generator.types.hh                             |      2 +-
 src/Generator_System.cc                            |     50 +-
 src/Generator_System.defs.hh                       |      7 +-
 src/Generator_System.inlines.hh                    |      4 +-
 src/Generator_System.types.hh                      |      2 +-
 src/Grid.defs.hh                                   |    587 +-
 src/Grid.inlines.hh                                |     33 +-
 src/Grid.templates.hh                              |    290 +-
 src/Grid.types.hh                                  |      2 +-
 src/Grid_Certificate.cc                            |     12 +-
 src/Grid_Certificate.defs.hh                       |      4 +-
 src/Grid_Certificate.inlines.hh                    |      4 +-
 src/Grid_Certificate.types.hh                      |      2 +-
 src/Grid_Generator.cc                              |     12 +-
 src/Grid_Generator.defs.hh                         |      4 +-
 src/Grid_Generator.inlines.hh                      |      8 +-
 src/Grid_Generator.types.hh                        |      2 +-
 src/Grid_Generator_System.cc                       |     52 +-
 src/Grid_Generator_System.defs.hh                  |     23 +-
 src/Grid_Generator_System.inlines.hh               |      6 +-
 src/Grid_Generator_System.types.hh                 |      2 +-
 src/Grid_Status.cc                                 |      6 +-
 src/Grid_Status.idefs.hh                           |      2 +-
 src/Grid_Status.inlines.hh                         |      2 +-
 src/Grid_chdims.cc                                 |     91 +-
 src/Grid_conversion.cc                             |     32 +-
 src/Grid_nonpublic.cc                              |    184 +-
 src/Grid_public.cc                                 |    555 +-
 src/Grid_simplify.cc                               |     48 +-
 src/Grid_widenings.cc                              |     54 +-
 src/H79_Certificate.cc                             |     10 +-
 src/H79_Certificate.defs.hh                        |      4 +-
 src/H79_Certificate.inlines.hh                     |      2 +-
 src/H79_Certificate.types.hh                       |      2 +-
 src/Has_Assign_Or_Swap.hh                          |      2 +-
 src/Init.cc                                        |     93 +-
 src/Init.defs.hh                                   |      2 +-
 src/Init.inlines.hh                                |      2 +-
 src/Init.types.hh                                  |      2 +-
 src/Interval.defs.hh                               |    603 +-
 src/Interval.inlines.hh                            |    268 +-
 src/Interval.templates.hh                          |    232 +-
 src/Interval.types.hh                              |      2 +-
 src/Interval_Info.defs.hh                          |      7 +-
 src/Interval_Info.inlines.hh                       |      2 +-
 src/Interval_Info.types.hh                         |      2 +-
 src/Interval_Restriction.defs.hh                   |     72 +-
 src/Linear_Expression.cc                           |     61 +-
 src/Linear_Expression.defs.hh                      |     34 +-
 src/Linear_Expression.inlines.hh                   |     14 +-
 src/Linear_Expression.types.hh                     |      2 +-
 src/Linear_Row.cc                                  |     15 +-
 src/Linear_Row.defs.hh                             |      8 +-
 src/Linear_Row.inlines.hh                          |     12 +-
 src/Linear_Row.types.hh                            |      2 +-
 src/Linear_System.cc                               |    110 +-
 src/Linear_System.defs.hh                          |     10 +-
 src/Linear_System.inlines.hh                       |     10 +-
 src/Linear_System.types.hh                         |      2 +-
 src/MIP_Problem.cc                                 |    829 +-
 src/MIP_Problem.defs.hh                            |    168 +-
 src/MIP_Problem.inlines.hh                         |      8 +-
 src/MIP_Problem.templates.hh                       |      6 +-
 src/MIP_Problem.types.hh                           |      2 +-
 src/Makefile.am                                    |     65 +-
 src/Makefile.in                                    |    462 +-
 src/Matrix.cc                                      |     47 +-
 src/Matrix.defs.hh                                 |     18 +-
 src/Matrix.inlines.hh                              |     12 +-
 src/Matrix.types.hh                                |      2 +-
 src/NNC_Polyhedron.cc                              |      8 +-
 src/NNC_Polyhedron.defs.hh                         |      4 +-
 src/NNC_Polyhedron.inlines.hh                      |      2 +-
 src/NNC_Polyhedron.types.hh                        |      2 +-
 src/Numeric_Format.defs.hh                         |      2 +-
 src/OR_Matrix.defs.hh                              |      8 +-
 src/OR_Matrix.inlines.hh                           |     16 +-
 src/OR_Matrix.templates.hh                         |      6 +-
 src/OR_Matrix.types.hh                             |      2 +-
 src/Octagonal_Shape.cc                             |      8 +-
 src/Octagonal_Shape.defs.hh                        |    238 +-
 src/Octagonal_Shape.inlines.hh                     |     85 +-
 src/Octagonal_Shape.templates.hh                   |   1003 +-
 src/Octagonal_Shape.types.hh                       |      2 +-
 src/Og_Status.idefs.hh                             |      2 +-
 src/Og_Status.inlines.hh                           |      4 +-
 src/PIP_Problem.cc                                 |    727 +
 src/PIP_Problem.defs.hh                            |    830 +
 src/PIP_Problem.inlines.hh                         |     99 +
 src/PIP_Problem.templates.hh                       |     81 +
 src/PIP_Problem.types.hh                           |     30 +
 src/PIP_Tree.cc                                    |   2901 +
 src/PIP_Tree.defs.hh                               |    805 +
 src/PIP_Tree.inlines.hh                            |    148 +
 src/PIP_Tree.types.hh                              |     25 +
 src/Partial_Function.cc                            |     41 +
 src/Partial_Function.defs.hh                       |     86 +
 src/Partial_Function.inlines.hh                    |     89 +
 src/Partial_Function.types.hh                      |     21 +
 src/Partially_Reduced_Product.defs.hh              |    271 +-
 src/Partially_Reduced_Product.inlines.hh           |    209 +-
 src/Partially_Reduced_Product.templates.hh         |    265 +-
 src/Partially_Reduced_Product.types.hh             |      8 +-
 src/Ph_Status.cc                                   |      6 +-
 src/Ph_Status.idefs.hh                             |      2 +-
 src/Ph_Status.inlines.hh                           |      2 +-
 src/Pointset_Powerset.cc                           |     42 +-
 src/Pointset_Powerset.defs.hh                      |    266 +-
 src/Pointset_Powerset.inlines.hh                   |    194 +-
 src/Pointset_Powerset.templates.hh                 |    719 +-
 src/Pointset_Powerset.types.hh                     |      4 +-
 src/Poly_Con_Relation.cc                           |      4 +-
 src/Poly_Con_Relation.defs.hh                      |      2 +-
 src/Poly_Con_Relation.inlines.hh                   |      2 +-
 src/Poly_Con_Relation.types.hh                     |      2 +-
 src/Poly_Gen_Relation.cc                           |      4 +-
 src/Poly_Gen_Relation.defs.hh                      |      2 +-
 src/Poly_Gen_Relation.inlines.hh                   |      2 +-
 src/Poly_Gen_Relation.types.hh                     |      2 +-
 src/Polyhedron.defs.hh                             |    433 +-
 src/Polyhedron.inlines.hh                          |     40 +-
 src/Polyhedron.templates.hh                        |     13 +-
 src/Polyhedron.types.hh                            |      2 +-
 src/Polyhedron_chdims.cc                           |    102 +-
 src/Polyhedron_nonpublic.cc                        |    483 +-
 src/Polyhedron_public.cc                           |    626 +-
 src/Polyhedron_widenings.cc                        |     90 +-
 src/Powerset.defs.hh                               |      2 +-
 src/Powerset.inlines.hh                            |      6 +-
 src/Powerset.templates.hh                          |     24 +-
 src/Powerset.types.hh                              |      2 +-
 src/Ptr_Iterator.defs.hh                           |      4 +-
 src/Ptr_Iterator.inlines.hh                        |      4 +-
 src/Ptr_Iterator.types.hh                          |      2 +-
 src/Rational_Box.hh                                |      2 +-
 src/Rational_Interval.hh                           |      3 +-
 src/Result.defs.hh                                 |    132 +-
 src/Result.inlines.hh                              |     56 +-
 src/Rounding_Dir.defs.hh                           |     18 +-
 src/Rounding_Dir.inlines.hh                        |     26 +-
 src/Row.cc                                         |     10 +-
 src/Row.defs.hh                                    |     33 +-
 src/Row.inlines.hh                                 |     40 +-
 src/Row.types.hh                                   |      2 +-
 src/Scalar_Products.cc                             |     24 +-
 src/Scalar_Products.defs.hh                        |      2 +-
 src/Scalar_Products.inlines.hh                     |     10 +-
 src/Scalar_Products.types.hh                       |      2 +-
 src/Slow_Copy.hh                                   |      2 +-
 src/Temp.defs.hh                                   |     22 +-
 src/Temp.inlines.hh                                |     31 +-
 src/Temp.templates.hh                              |      2 +-
 src/Topology.hh                                    |      2 +-
 src/Variable.cc                                    |      2 +-
 src/Variable.defs.hh                               |      2 +-
 src/Variable.inlines.hh                            |      2 +-
 src/Variable.types.hh                              |      2 +-
 src/Variables_Set.cc                               |      2 +-
 src/Variables_Set.defs.hh                          |      8 +-
 src/Variables_Set.inlines.hh                       |      2 +-
 src/Variables_Set.types.hh                         |      2 +-
 src/WRD_coefficient_types.defs.hh                  |    158 +
 src/WRD_coefficient_types.inlines.hh               |     42 +
 src/Weight_Profiler.cc                             |     78 +
 src/Weight_Profiler.defs.hh                        |    118 +
 src/Widening_Function.defs.hh                      |     36 +-
 src/Widening_Function.inlines.hh                   |     44 +-
 src/Widening_Function.types.hh                     |      6 +-
 src/algorithms.hh                                  |      6 +-
 src/assert.hh                                      |     63 +
 src/assign_or_swap.hh                              |      2 +-
 src/c_streambuf.cc                                 |      2 +-
 src/c_streambuf.defs.hh                            |      4 +-
 src/c_streambuf.inlines.hh                         |      2 +-
 src/c_streambuf.types.hh                           |      2 +-
 src/checked.cc                                     |     18 +-
 src/checked.defs.hh                                |    140 +-
 src/checked.inlines.hh                             |    133 +-
 src/checked_ext.inlines.hh                         |    210 +-
 src/checked_float.inlines.hh                       |    300 +-
 src/checked_int.inlines.hh                         |    463 +-
 src/checked_mpq.inlines.hh                         |    179 +-
 src/checked_mpz.inlines.hh                         |    221 +-
 src/checked_numeric_limits.hh                      |     56 +-
 src/compiler.hh                                    |      9 +-
 src/conversion.cc                                  |     70 +-
 src/distances.defs.hh                              |      2 +-
 src/distances.inlines.hh                           |      2 +-
 src/distances.types.hh                             |      2 +-
 src/fpu-c99.inlines.hh                             |      2 +-
 src/fpu-ia32.cc                                    |      2 +-
 src/fpu-ia32.inlines.hh                            |      2 +-
 src/fpu-none.inlines.hh                            |      2 +-
 src/fpu-sparc.inlines.hh                           |      2 +-
 src/fpu.defs.hh                                    |      2 +-
 src/fpu.types.hh                                   |      2 +-
 src/globals.cc                                     |     17 +-
 src/globals.defs.hh                                |    128 +-
 src/globals.inlines.hh                             |     25 +-
 src/globals.types.hh                               |    110 +-
 src/initializer.hh                                 |      4 +-
 src/intervals.defs.hh                              |    433 +
 src/iterator_to_const.defs.hh                      |      2 +-
 src/iterator_to_const.inlines.hh                   |      2 +-
 src/iterator_to_const.types.hh                     |      2 +-
 src/math_utilities.defs.hh                         |     27 +-
 src/math_utilities.inlines.hh                      |     43 +-
 src/max_space_dimension.hh                         |      2 +-
 src/meta_programming.hh                            |     12 +-
 src/minimize.cc                                    |     22 +-
 src/mp_std_bits.cc                                 |      2 +-
 src/mp_std_bits.defs.hh                            |      2 +-
 src/mp_std_bits.inlines.hh                         |      2 +-
 src/namespaces.hh                                  |      2 +-
 src/ppl-config.cc.in                               |      2 +-
 src/ppl.hh.dist                                    |  61563 ++++++-----
 src/ppl_header.hh                                  |      5 +-
 src/simplify.cc                                    |      8 +-
 src/stdiobuf.cc                                    |      2 +-
 src/stdiobuf.defs.hh                               |      2 +-
 src/stdiobuf.inlines.hh                            |      2 +-
 src/stdiobuf.types.hh                              |      2 +-
 src/swapping_sort.icc                              |      2 +-
 src/termination.cc                                 |    940 +
 src/termination.defs.hh                            |    469 +
 src/termination.templates.hh                       |    547 +
 src/version.cc                                     |      4 +-
 src/version.hh.in                                  |      2 +-
 src/wrap.cc                                        |     92 -
 src/wrap.hh                                        |     59 -
 src/wrap_assign.hh                                 |    388 +
 src/wrap_string.cc                                 |     92 +
 src/wrap_string.hh                                 |     59 +
 tests/BD_Shape/Makefile.am                         |     14 +-
 tests/BD_Shape/Makefile.in                         |    443 +-
 tests/BD_Shape/addconstraints1.cc                  |     12 +-
 tests/BD_Shape/addspacedims1.cc                    |      2 +-
 tests/BD_Shape/affinedimension1.cc                 |      4 +-
 tests/BD_Shape/affineimage1.cc                     |      2 +-
 tests/BD_Shape/affineimage2.cc                     |      2 +-
 tests/BD_Shape/affinepreimage1.cc                  |      2 +-
 tests/BD_Shape/ascii_dump_load1.cc                 |      2 +-
 tests/BD_Shape/bgp99extrapolation1.cc              |      2 +-
 tests/BD_Shape/bhmz05widening1.cc                  |      2 +-
 tests/BD_Shape/bhz03widening1.cc                   |      2 +-
 tests/BD_Shape/bounded1.cc                         |      2 +-
 tests/BD_Shape/boundedaffineimage1.cc              |      2 +-
 tests/BD_Shape/boundedaffinepreimage1.cc           |      2 +-
 tests/BD_Shape/bounds1.cc                          |      2 +-
 tests/BD_Shape/cc76extrapolation1.cc               |      2 +-
 tests/BD_Shape/cc76narrowing1.cc                   |      2 +-
 tests/BD_Shape/closure1.cc                         |      8 +-
 tests/BD_Shape/concatenate1.cc                     |      6 +-
 tests/BD_Shape/congruences1.cc                     |      5 +-
 tests/BD_Shape/constrains1.cc                      |      2 +-
 tests/BD_Shape/constraints1.cc                     |      2 +-
 tests/BD_Shape/contains1.cc                        |      2 +-
 tests/BD_Shape/containsintegerpoint1.cc            |      4 +-
 tests/BD_Shape/difference1.cc                      |      2 +-
 tests/BD_Shape/discrete1.cc                        |      2 +-
 tests/BD_Shape/disjoint1.cc                        |      2 +-
 tests/BD_Shape/dropsomenonintegerpoints1.cc        |    355 +
 tests/BD_Shape/empty1.cc                           |      2 +-
 tests/BD_Shape/equality1.cc                        |      2 +-
 tests/BD_Shape/expandspacedim1.cc                  |      2 +-
 tests/BD_Shape/foldspacedims1.cc                   |      2 +-
 tests/BD_Shape/frequency1.cc                       |    278 +
 tests/BD_Shape/frombdshape1.cc                     |      2 +-
 tests/BD_Shape/frombox1.cc                         |      2 +-
 tests/BD_Shape/fromgensys1.cc                      |      2 +-
 tests/BD_Shape/fromgrid1.cc                        |      2 +-
 tests/BD_Shape/fromoctagonalshape1.cc              |      2 +-
 tests/BD_Shape/frompolyhedron1.cc                  |      2 +-
 tests/BD_Shape/fromspacedim1.cc                    |      2 +-
 tests/BD_Shape/generalizedaffineimage1.cc          |      2 +-
 tests/BD_Shape/generalizedaffineimage2.cc          |      2 +-
 tests/BD_Shape/generalizedaffinepreimage1.cc       |      2 +-
 tests/BD_Shape/generalizedaffinepreimage2.cc       |      2 +-
 tests/BD_Shape/generalizedaffinepreimage3.cc       |      2 +-
 tests/BD_Shape/geomcovers1.cc                      |      2 +-
 tests/BD_Shape/h79widening1.cc                     |      2 +-
 tests/BD_Shape/integerupperboundifexact1.cc        |    387 +
 tests/BD_Shape/intersection1.cc                    |      8 +-
 tests/BD_Shape/limitedbhmz05extrapolation1.cc      |      2 +-
 tests/BD_Shape/limitedcc76extrapolation1.cc        |      2 +-
 tests/BD_Shape/limitedh79extrapolation1.cc         |      2 +-
 tests/BD_Shape/mapspacedims1.cc                    |      2 +-
 tests/BD_Shape/max_min1.cc                         |      2 +-
 tests/BD_Shape/max_min2.cc                         |      2 +-
 tests/BD_Shape/maxspacedim1.cc                     |      2 +-
 tests/BD_Shape/membytes1.cc                        |      2 +-
 tests/BD_Shape/minconstraints1.cc                  |      2 +-
 tests/BD_Shape/relations1.cc                       |      2 +-
 tests/BD_Shape/relations2.cc                       |      2 +-
 tests/BD_Shape/relations3.cc                       |      2 +-
 tests/BD_Shape/relations4.cc                       |      2 +-
 tests/BD_Shape/removespacedims1.cc                 |      2 +-
 tests/BD_Shape/run_tests                           |      2 +-
 tests/BD_Shape/simplifyusingcontext1.cc            |      2 +-
 tests/BD_Shape/timeelapse1.cc                      |      2 +-
 tests/BD_Shape/unconstrain1.cc                     |      2 +-
 tests/BD_Shape/universe1.cc                        |      2 +-
 tests/BD_Shape/upperbound1.cc                      |      2 +-
 tests/BD_Shape/upperboundifexact1.cc               |      2 +-
 tests/BD_Shape/wrap1.cc                            |    119 +
 tests/BD_Shape/writebdshape1.cc                    |      2 +-
 tests/Box/Makefile.am                              |     15 +-
 tests/Box/Makefile.in                              |    438 +-
 tests/Box/addconstraints1.cc                       |      2 +-
 tests/Box/addspacedims1.cc                         |      2 +-
 tests/Box/affinedimension1.cc                      |      4 +-
 tests/Box/affineimage1.cc                          |      2 +-
 tests/Box/affinepreimage1.cc                       |      2 +-
 tests/Box/ascii_dump_load1.cc                      |      2 +-
 tests/Box/bgp99extrapolation1.cc                   |      2 +-
 tests/Box/bhz03widening1.cc                        |      2 +-
 tests/Box/bounded1.cc                              |      2 +-
 tests/Box/boundedaffineimage1.cc                   |      2 +-
 tests/Box/boundedaffinepreimage1.cc                |      2 +-
 tests/Box/cc76narrowing1.cc                        |      2 +-
 tests/Box/cc76widening.cc                          |      2 +-
 tests/Box/concatenate1.cc                          |      2 +-
 tests/Box/congruences1.cc                          |      8 +-
 tests/Box/constrains1.cc                           |      2 +-
 tests/Box/constraints1.cc                          |      2 +-
 tests/Box/contains1.cc                             |      2 +-
 tests/Box/containsintegerpoint1.cc                 |      2 +-
 tests/Box/difference1.cc                           |      2 +-
 tests/Box/discrete1.cc                             |      2 +-
 tests/Box/disjoint1.cc                             |      2 +-
 tests/Box/empty1.cc                                |      2 +-
 tests/Box/equality1.cc                             |      2 +-
 tests/Box/expandspacedim1.cc                       |      2 +-
 tests/Box/foldspacedims1.cc                        |      2 +-
 tests/Box/frequency1.cc                            |    230 +
 tests/Box/frombdshape1.cc                          |      2 +-
 tests/Box/frombox1.cc                              |      4 +-
 tests/Box/fromgensys1.cc                           |      2 +-
 tests/Box/fromgrid1.cc                             |      2 +-
 tests/Box/frompartiallyreducedproduct1.cc          |      2 +-
 tests/Box/frompolyhedron1.cc                       |     60 +-
 tests/Box/frompolyhedron2.cc                       |     47 +-
 tests/Box/fromspacedim1.cc                         |      2 +-
 tests/Box/generalizedaffineimage1.cc               |      2 +-
 tests/Box/generalizedaffineimage2.cc               |      2 +-
 tests/Box/generalizedaffinepreimage1.cc            |      2 +-
 tests/Box/geomcovers1.cc                           |      2 +-
 tests/Box/intersection1.cc                         |      2 +-
 tests/Box/interval1.cc                             |     13 +-
 tests/Box/limitedcc76extrapolation1.cc             |      2 +-
 tests/Box/mapspacedims1.cc                         |      2 +-
 tests/Box/max_min1.cc                              |      2 +-
 tests/Box/maxspacedim1.cc                          |      2 +-
 tests/Box/membytes1.cc                             |      2 +-
 tests/Box/minconstraints1.cc                       |      2 +-
 tests/Box/propagateconstraints1.cc                 |      2 +-
 tests/Box/propagateconstraints2.cc                 |     12 +-
 tests/Box/refinewithcongruence1.cc                 |    194 +
 tests/Box/refinewithcongruences1.cc                |      2 +-
 tests/Box/refinewithconstraint1.cc                 |     14 +-
 tests/Box/refinewithconstraint2.cc                 |      2 +-
 tests/Box/refinewithconstraints1.cc                |      2 +-
 tests/Box/refinewithconstraints2.cc                |      2 +-
 tests/Box/relations1.cc                            |      2 +-
 tests/Box/relations2.cc                            |      2 +-
 tests/Box/relations3.cc                            |      2 +-
 tests/Box/relations4.cc                            |      2 +-
 tests/Box/removespacedims1.cc                      |      2 +-
 tests/Box/run_tests                                |      2 +-
 tests/Box/simplifyusingcontext1.cc                 |      2 +-
 tests/Box/timeelapse1.cc                           |      2 +-
 tests/Box/topclosed1.cc                            |      2 +-
 tests/Box/unconstrain1.cc                          |      2 +-
 tests/Box/universe1.cc                             |      2 +-
 tests/Box/upperbound1.cc                           |      2 +-
 tests/Box/upperboundifexact1.cc                    |      2 +-
 tests/Box/wrap1.cc                                 |    201 +
 tests/Box/writebox1.cc                             |      2 +-
 tests/Grid/Makefile.am                             |     17 +-
 tests/Grid/Makefile.in                             |    490 +-
 tests/Grid/addcongruence1.cc                       |     35 +-
 tests/Grid/addcongruences1.cc                      |    201 +-
 tests/Grid/addconstraint1.cc                       |     44 +-
 tests/Grid/addconstraints1.cc                      |    125 +-
 tests/Grid/addgenerator1.cc                        |     57 +-
 tests/Grid/addgenerators1.cc                       |    102 +-
 tests/Grid/addspacedims1.cc                        |      2 +-
 tests/Grid/affinedim1.cc                           |     16 +-
 tests/Grid/affineimage1.cc                         |      2 +-
 tests/Grid/affineimage2.cc                         |     12 +-
 tests/Grid/affinepreimage1.cc                      |      2 +-
 tests/Grid/affinepreimage2.cc                      |      2 +-
 tests/Grid/approximatepartition1.cc                |      5 +-
 tests/Grid/asciidumpload1.cc                       |     42 +-
 tests/Grid/asciidumpload2.cc                       |      8 +-
 tests/Grid/asciidumpload3.cc                       |      2 +-
 tests/Grid/asciidumpload4.cc                       |     10 +-
 tests/Grid/asciidumpload5.cc                       |      8 +-
 tests/Grid/asciidumpload6.cc                       |     10 +-
 tests/Grid/bhz03widening1.cc                       |      2 +-
 tests/Grid/bounded1.cc                             |     18 +-
 tests/Grid/boundedaffineimage1.cc                  |      2 +-
 tests/Grid/boundedaffinepreimage1.cc               |      2 +-
 tests/Grid/bounds1.cc                              |     20 +-
 tests/Grid/certificate1.cc                         |      4 +-
 tests/Grid/concatenate1.cc                         |      2 +-
 tests/Grid/congruence1.cc                          |      2 +-
 tests/Grid/congruences1.cc                         |      4 +-
 tests/Grid/congruences2.cc                         |      2 +-
 tests/Grid/constraints1.cc                         |      2 +-
 tests/Grid/contains1.cc                            |      2 +-
 tests/Grid/containsintegerpoint1.cc                |     12 +-
 tests/Grid/coveringbox1.cc                         |    346 -
 tests/Grid/coveringbox2.cc                         |    846 -
 tests/Grid/discrete1.cc                            |     16 +-
 tests/Grid/disjoint1.cc                            |      2 +-
 tests/Grid/dropnonintegerpoints1.cc                |    322 +
 tests/Grid/equals1.cc                              |      2 +-
 tests/Grid/expandspacedim1.cc                      |      2 +-
 tests/Grid/foldspacedims1.cc                       |      2 +-
 tests/Grid/frequency1.cc                           |    348 +
 tests/Grid/frombdshape1.cc                         |      2 +-
 tests/Grid/frombox1.cc                             |      2 +-
 tests/Grid/fromgrid1.cc                            |      2 +-
 tests/Grid/fromoctagonalshape1.cc                  |      2 +-
 tests/Grid/frompolyhedron1.cc                      |      2 +-
 tests/Grid/generalizedaffineimage1.cc              |      2 +-
 tests/Grid/generalizedaffineimage2.cc              |      2 +-
 tests/Grid/generalizedaffineimage3.cc              |      2 +-
 tests/Grid/generalizedaffinepreimage1.cc           |      2 +-
 tests/Grid/generalizedaffinepreimage2.cc           |      2 +-
 tests/Grid/generalizedaffinepreimage3.cc           |      2 +-
 tests/Grid/generator1.cc                           |      2 +-
 tests/Grid/generators1.cc                          |      4 +-
 tests/Grid/generators2.cc                          |      2 +-
 tests/Grid/grid1.cc                                |     94 +-
 tests/Grid/grid2.cc                                |     80 +-
 tests/Grid/grid3.cc                                |      2 +-
 tests/Grid/griddifference1.cc                      |      2 +-
 tests/Grid/intersection1.cc                        |    215 +-
 tests/Grid/isempty1.cc                             |      2 +-
 tests/Grid/isuniverse1.cc                          |      2 +-
 tests/Grid/limitedextrapolation1.cc                |      2 +-
 tests/Grid/limitedextrapolation2.cc                |      2 +-
 tests/Grid/limitedextrapolation3.cc                |      2 +-
 tests/Grid/mapspacedims1.cc                        |      2 +-
 tests/Grid/maxmin1.cc                              |     20 +-
 tests/Grid/membytes1.cc                            |      2 +-
 tests/Grid/mincongruences1.cc                      |      2 +-
 tests/Grid/mingenerators1.cc                       |      4 +-
 tests/Grid/outputoperator1.cc                      |      2 +-
 tests/Grid/outputoperator2.cc                      |      2 +-
 tests/Grid/outputoperator3.cc                      |      2 +-
 tests/Grid/partition1.cc                           |      5 +-
 tests/Grid/powersetdifference1.cc                  |     16 +-
 tests/Grid/powersetgeometricallycovers1.cc         |      2 +-
 tests/Grid/powersetgeometricallyequals1.cc         |      2 +-
 tests/Grid/refinewithcongruences1.cc               |      2 +-
 tests/Grid/refinewithconstraints1.cc               |      2 +-
 tests/Grid/relations1.cc                           |      2 +-
 tests/Grid/relations2.cc                           |      2 +-
 tests/Grid/relations3.cc                           |      2 +-
 tests/Grid/removespacedims1.cc                     |      8 +-
 tests/Grid/removespacedims2.cc                     |      6 +-
 tests/Grid/simplifyusingcontext1.cc                |     10 +-
 tests/Grid/timeelapse1.cc                          |      2 +-
 tests/Grid/topclosed1.cc                           |     16 +-
 tests/Grid/topclosure1.cc                          |      2 +-
 tests/Grid/unconstrain1.cc                         |      2 +-
 tests/Grid/upperbound1.cc                          |      2 +-
 tests/Grid/upperbound2.cc                          |      2 +-
 tests/Grid/widening1.cc                            |      2 +-
 tests/Grid/widening2.cc                            |      2 +-
 tests/Grid/widening3.cc                            |      2 +-
 tests/Grid/wrap1.cc                                |    563 +
 tests/Grid/writecongruencesystem.cc                |      2 +-
 tests/MIP_Problem/Makefile.am                      |      2 +-
 tests/MIP_Problem/Makefile.in                      |    226 +-
 tests/MIP_Problem/ascii_dump_load1.cc              |      2 +-
 tests/MIP_Problem/exceptions1.cc                   |      2 +-
 tests/MIP_Problem/mipproblem1.cc                   |      5 +-
 tests/MIP_Problem/mipproblem2.cc                   |      2 +-
 tests/MIP_Problem/mipproblem3.cc                   |      2 +-
 tests/Makefile.am                                  |      9 +-
 tests/Makefile.in                                  |    249 +-
 tests/Octagonal_Shape/Makefile.am                  |     14 +-
 tests/Octagonal_Shape/Makefile.in                  |    438 +-
 tests/Octagonal_Shape/addspacedims1.cc             |      2 +-
 tests/Octagonal_Shape/affinedimension1.cc          |      2 +-
 tests/Octagonal_Shape/affineimage1.cc              |      2 +-
 tests/Octagonal_Shape/affineimage2.cc              |      2 +-
 tests/Octagonal_Shape/affinepreimage1.cc           |      2 +-
 tests/Octagonal_Shape/affinepreimage2.cc           |      2 +-
 tests/Octagonal_Shape/ascii_dump_load1.cc          |      2 +-
 tests/Octagonal_Shape/bhmz05widening1.cc           |      2 +-
 tests/Octagonal_Shape/bhz03widening1.cc            |      2 +-
 tests/Octagonal_Shape/bounded1.cc                  |      2 +-
 tests/Octagonal_Shape/boundedaffineimage1.cc       |      2 +-
 tests/Octagonal_Shape/boundedaffinepreimage1.cc    |      2 +-
 tests/Octagonal_Shape/bounds1.cc                   |      2 +-
 tests/Octagonal_Shape/cc76extrapolation1.cc        |      2 +-
 tests/Octagonal_Shape/cc76narrowing1.cc            |      2 +-
 tests/Octagonal_Shape/chinainit.cc                 |      2 +-
 tests/Octagonal_Shape/concatenate1.cc              |      2 +-
 tests/Octagonal_Shape/congruences1.cc              |     54 +-
 tests/Octagonal_Shape/constrains1.cc               |      2 +-
 tests/Octagonal_Shape/constraints1.cc              |      2 +-
 tests/Octagonal_Shape/contains1.cc                 |      2 +-
 tests/Octagonal_Shape/containsintegerpoint1.cc     |      4 +-
 tests/Octagonal_Shape/difference1.cc               |      2 +-
 tests/Octagonal_Shape/discrete1.cc                 |      2 +-
 tests/Octagonal_Shape/disjoint1.cc                 |      2 +-
 tests/Octagonal_Shape/dropsomenonintegerpoints1.cc |    357 +
 tests/Octagonal_Shape/empty1.cc                    |      2 +-
 tests/Octagonal_Shape/expandspacedim1.cc           |      2 +-
 tests/Octagonal_Shape/foldspacedims1.cc            |      2 +-
 tests/Octagonal_Shape/frequency1.cc                |    360 +
 tests/Octagonal_Shape/frombdshape1.cc              |      2 +-
 tests/Octagonal_Shape/frombox1.cc                  |      2 +-
 tests/Octagonal_Shape/fromgensys1.cc               |      2 +-
 tests/Octagonal_Shape/fromgrid1.cc                 |      2 +-
 tests/Octagonal_Shape/fromoctagonalshape1.cc       |      2 +-
 tests/Octagonal_Shape/frompolyhedron1.cc           |      2 +-
 tests/Octagonal_Shape/fromspacedim1.cc             |      2 +-
 tests/Octagonal_Shape/generalizedaffineimage1.cc   |      2 +-
 tests/Octagonal_Shape/generalizedaffineimage2.cc   |      2 +-
 tests/Octagonal_Shape/generalizedaffineimage3.cc   |      2 +-
 tests/Octagonal_Shape/generalizedaffineimage4.cc   |      2 +-
 tests/Octagonal_Shape/generalizedaffineimage5.cc   |      2 +-
 .../Octagonal_Shape/generalizedaffinepreimage1.cc  |      2 +-
 .../Octagonal_Shape/generalizedaffinepreimage2.cc  |      2 +-
 .../Octagonal_Shape/generalizedaffinepreimage3.cc  |      2 +-
 .../Octagonal_Shape/generalizedaffinepreimage4.cc  |      2 +-
 tests/Octagonal_Shape/integerupperboundifexact1.cc |    461 +
 tests/Octagonal_Shape/intersection1.cc             |     74 +-
 .../Octagonal_Shape/limitedbhmz05extrapolation1.cc |      2 +-
 tests/Octagonal_Shape/limitedcc76extrapolation1.cc |      2 +-
 tests/Octagonal_Shape/mapspacedims1.cc             |      2 +-
 tests/Octagonal_Shape/max_min1.cc                  |      3 +-
 tests/Octagonal_Shape/max_min2.cc                  |      2 +-
 tests/Octagonal_Shape/maxspacedim1.cc              |      2 +-
 tests/Octagonal_Shape/membytes1.cc                 |      2 +-
 tests/Octagonal_Shape/minconstraints1.cc           |      2 +-
 tests/Octagonal_Shape/relatwithcons1.cc            |      2 +-
 tests/Octagonal_Shape/relatwithcons2.cc            |      4 +-
 tests/Octagonal_Shape/relatwithcons3.cc            |      2 +-
 tests/Octagonal_Shape/relatwithgen1.cc             |      2 +-
 tests/Octagonal_Shape/removespacedims1.cc          |      2 +-
 tests/Octagonal_Shape/run_tests                    |      2 +-
 tests/Octagonal_Shape/simplifyusingcontext1.cc     |      2 +-
 tests/Octagonal_Shape/timeelapse1.cc               |      2 +-
 tests/Octagonal_Shape/unconstrain1.cc              |      2 +-
 tests/Octagonal_Shape/universe1.cc                 |      2 +-
 tests/Octagonal_Shape/upperbound1.cc               |      2 +-
 tests/Octagonal_Shape/upperboundifexact1.cc        |    249 +-
 tests/Octagonal_Shape/wrap1.cc                     |    405 +
 tests/Octagonal_Shape/writeoctagon1.cc             |     14 +-
 tests/PIP_Problem/Makefile.am                      |     93 +
 tests/PIP_Problem/Makefile.in                      |    814 +
 tests/PIP_Problem/ascii_dump_load1.cc              |    294 +
 tests/PIP_Problem/exceptions1.cc                   |    382 +
 tests/PIP_Problem/pipproblem1.cc                   |    812 +
 tests/PIP_Problem/pipproblem2.cc                   |    348 +
 tests/PIP_Problem/pipproblem3.cc                   |    158 +
 tests/Partial_Function.cc                          |     80 -
 tests/Partial_Function.defs.hh                     |     61 -
 tests/Partial_Function.inlines.hh                  |     44 -
 tests/Partial_Function.types.hh                    |     25 -
 tests/Partially_Reduced_Product/Makefile.am        |    168 +-
 tests/Partially_Reduced_Product/Makefile.in        |   1085 +-
 tests/Partially_Reduced_Product/addcongruences1.cc |    100 +
 tests/Partially_Reduced_Product/affineimage1.cc    |     88 +
 tests/Partially_Reduced_Product/asciidumpload1.cc  |      2 +-
 tests/Partially_Reduced_Product/bounded1.cc        |     57 +
 .../boundedaffineimage1.cc                         |    268 +
 tests/Partially_Reduced_Product/bounds1.cc         |    687 +
 tests/Partially_Reduced_Product/concatenate1.cc    |     70 +
 tests/Partially_Reduced_Product/congruences1.cc    |     95 +
 .../congruencesproduct1.cc                         |    280 +
 tests/Partially_Reduced_Product/constraints1.cc    |     98 +
 .../constraintsproduct1.cc                         |    552 +
 tests/Partially_Reduced_Product/contains1.cc       |    102 +
 tests/Partially_Reduced_Product/difference1.cc     |    140 +
 tests/Partially_Reduced_Product/dimension1.cc      |     83 +
 tests/Partially_Reduced_Product/directproduct1.cc  |    487 +-
 tests/Partially_Reduced_Product/directproduct2.cc  |    471 -
 tests/Partially_Reduced_Product/directproduct3.cc  |    722 -
 tests/Partially_Reduced_Product/directproduct4.cc  |    358 -
 tests/Partially_Reduced_Product/directproduct5.cc  |    601 -
 tests/Partially_Reduced_Product/directproduct6.cc  |    700 -
 tests/Partially_Reduced_Product/discrete1.cc       |    100 +
 tests/Partially_Reduced_Product/disjoint1.cc       |    162 +
 .../dropsomenonintegerpoints1.cc                   |    131 +
 tests/Partially_Reduced_Product/equals1.cc         |     82 +
 tests/Partially_Reduced_Product/frombdshape1.cc    |     64 +
 tests/Partially_Reduced_Product/frombox1.cc        |     86 +
 tests/Partially_Reduced_Product/fromgrid1.cc       |     61 +
 .../fromoctagonalshape1.cc                         |     64 +
 tests/Partially_Reduced_Product/frompolyhedron1.cc |    119 +
 tests/Partially_Reduced_Product/fromproduct1.cc    |    178 +
 .../generalizedaffineimage1.cc                     |    261 +
 tests/Partially_Reduced_Product/intersection1.cc   |    124 +
 tests/Partially_Reduced_Product/isempty1.cc        |     94 +
 tests/Partially_Reduced_Product/isuniverse1.cc     |     83 +
 tests/Partially_Reduced_Product/maxmin1.cc         |    248 +
 .../partially_reduced_product_test.hh              |     29 +
 .../partiallyreducedproduct1.cc                    |    845 -
 .../partiallyreducedproduct2.cc                    |    960 -
 .../partiallyreducedproduct3.cc                    |    755 -
 .../partiallyreducedproduct4.cc                    |    278 -
 .../refinewithcongruences1.cc                      |    264 +
 .../refinewithconstraints1.cc                      |    341 +
 tests/Partially_Reduced_Product/relations1.cc      |    315 +
 .../shapepreservingproduct1.cc                     |    151 +
 tests/Partially_Reduced_Product/smashproduct1.cc   |    659 +
 tests/Partially_Reduced_Product/spacedims1.cc      |    286 +
 tests/Partially_Reduced_Product/timeelapse1.cc     |    115 +
 tests/Partially_Reduced_Product/topclosed1.cc      |     94 +
 tests/Partially_Reduced_Product/topclosure1.cc     |     67 +
 tests/Partially_Reduced_Product/upperbound1.cc     |    190 +
 tests/Polyhedron/Makefile.am                       |     56 +-
 tests/Polyhedron/Makefile.in                       |   1881 +-
 tests/Polyhedron/addcongruence1.cc                 |     19 +-
 tests/Polyhedron/addcongruences1.cc                |      6 +-
 tests/Polyhedron/addconstraint1.cc                 |      7 +-
 tests/Polyhedron/addconstraints1.cc                |     35 +-
 tests/Polyhedron/addconstraints2.cc                |      8 +-
 tests/Polyhedron/addgenerator1.cc                  |      7 +-
 tests/Polyhedron/addgenerator2.cc                  |      2 +-
 tests/Polyhedron/addgenerators1.cc                 |     30 +-
 tests/Polyhedron/addgenerators2.cc                 |      8 +-
 tests/Polyhedron/addspacedims1.cc                  |      2 +-
 tests/Polyhedron/addspacedims2.cc                  |      2 +-
 tests/Polyhedron/affineimage1.cc                   |      2 +-
 tests/Polyhedron/affineimage2.cc                   |      2 +-
 tests/Polyhedron/affinepreimage1.cc                |      2 +-
 tests/Polyhedron/affinetrans.cc                    |      2 +-
 tests/Polyhedron/append1.cc                        |      2 +-
 tests/Polyhedron/append2.cc                        |      2 +-
 tests/Polyhedron/ascii_dump_load1.cc               |      8 +-
 tests/Polyhedron/ascii_dump_load2.cc               |      2 +-
 tests/Polyhedron/ascii_dump_load3.cc               |     12 +-
 tests/Polyhedron/bgp99extrapolation1.cc            |      2 +-
 tests/Polyhedron/bgp99extrapolation2.cc            |      2 +-
 tests/Polyhedron/bhrz03widening1.cc                |      2 +-
 tests/Polyhedron/bhrz03widening2.cc                |      2 +-
 tests/Polyhedron/bhrz03widening3.cc                |      2 +-
 tests/Polyhedron/bhz03widening1.cc                 |      2 +-
 tests/Polyhedron/bounded1.cc                       |      2 +-
 tests/Polyhedron/boundedaffineimage1.cc            |     10 +-
 tests/Polyhedron/boundedaffinepreimage1.cc         |      2 +-
 tests/Polyhedron/boundedbhrz03extrapolation1.cc    |      2 +-
 tests/Polyhedron/boundedh79extrapolation1.cc       |      2 +-
 tests/Polyhedron/bounds1.cc                        |      2 +-
 tests/Polyhedron/cnncconversion1.cc                |      2 +-
 tests/Polyhedron/concatenate1.cc                   |      2 +-
 tests/Polyhedron/congruences1.cc                   |      2 +-
 tests/Polyhedron/constrains1.cc                    |      4 +-
 tests/Polyhedron/constraints1.cc                   |      4 +-
 tests/Polyhedron/contains1.cc                      |      2 +-
 tests/Polyhedron/contains2.cc                      |      2 +-
 tests/Polyhedron/containsintegerpoint1.cc          |      2 +-
 tests/Polyhedron/disjoint1.cc                      |      2 +-
 tests/Polyhedron/disjoint2.cc                      |      2 +-
 tests/Polyhedron/dropsomenonintegerpoints1.cc      |    174 +
 tests/Polyhedron/dropsomenonintegerpoints2.cc      |    160 +
 tests/Polyhedron/dualhypercubes.cc                 |      4 +-
 tests/Polyhedron/empty1.cc                         |      2 +-
 tests/Polyhedron/equals1.cc                        |      2 +-
 tests/Polyhedron/exceptions1.cc                    |     31 +-
 tests/Polyhedron/exceptions2.cc                    |     26 +-
 tests/Polyhedron/exceptions3.cc                    |      2 +-
 tests/Polyhedron/expandspacedim1.cc                |      2 +-
 tests/Polyhedron/expandspacedim2.cc                |      2 +-
 tests/Polyhedron/foldspacedims1.cc                 |      2 +-
 tests/Polyhedron/foldspacedims2.cc                 |      2 +-
 tests/Polyhedron/frequency1.cc                     |    231 +
 tests/Polyhedron/frombdshape1.cc                   |      2 +-
 tests/Polyhedron/frombox1.cc                       |      2 +-
 tests/Polyhedron/frombox2.cc                       |      2 +-
 tests/Polyhedron/fromgrid1.cc                      |      2 +-
 tests/Polyhedron/fromoctagonalshape1.cc            |      2 +-
 tests/Polyhedron/generalizedaffineimage1.cc        |      2 +-
 tests/Polyhedron/generalizedaffineimage2.cc        |      2 +-
 tests/Polyhedron/generalizedaffinepreimage1.cc     |      2 +-
 tests/Polyhedron/generalizedaffinepreimage2.cc     |      2 +-
 tests/Polyhedron/generators1.cc                    |      6 +-
 tests/Polyhedron/geomcovers1.cc                    |      2 +-
 tests/Polyhedron/h79widening1.cc                   |      2 +-
 tests/Polyhedron/h79widening2.cc                   |      4 +-
 tests/Polyhedron/hybrid.cc                         |    154 +-
 tests/Polyhedron/intersection1.cc                  |     39 +-
 tests/Polyhedron/limitedbhrz03extrapolation1.cc    |      2 +-
 tests/Polyhedron/limitedh79extrapolation1.cc       |      2 +-
 tests/Polyhedron/linearexpression1.cc              |      2 +-
 tests/Polyhedron/linearpartition1.cc               |     14 +-
 tests/Polyhedron/linearsystem1.cc                  |      2 +-
 tests/Polyhedron/mapspacedims1.cc                  |      2 +-
 tests/Polyhedron/matrix1.cc                        |      2 +-
 tests/Polyhedron/max_min1.cc                       |     27 +-
 tests/Polyhedron/maxspacedim1.cc                   |      4 +-
 tests/Polyhedron/mc91.cc                           |      2 +-
 tests/Polyhedron/membytes1.cc                      |      2 +-
 tests/Polyhedron/memory1.cc                        |      2 +-
 tests/Polyhedron/memory2.cc                        |      2 +-
 tests/Polyhedron/minconstraints1.cc                |      2 +-
 tests/Polyhedron/minconstraints2.cc                |      2 +-
 tests/Polyhedron/mingenerators1.cc                 |      2 +-
 tests/Polyhedron/mingenerators2.cc                 |      2 +-
 tests/Polyhedron/nncminimize1.cc                   |      8 +-
 tests/Polyhedron/nncminimize2.cc                   |      2 +-
 tests/Polyhedron/numberinput1.cc                   |     38 +-
 tests/Polyhedron/onepoint.cc                       |      2 +-
 tests/Polyhedron/permute.cc                        |      2 +-
 tests/Polyhedron/polydifference1.cc                |      2 +-
 tests/Polyhedron/polydifference2.cc                |      2 +-
 tests/Polyhedron/polyhull1.cc                      |      4 +-
 tests/Polyhedron/polyhull2.cc                      |      2 +-
 tests/Polyhedron/polyhullifexact1.cc               |      2 +-
 tests/Polyhedron/polyhullifexact2.cc               |    154 +-
 tests/Polyhedron/randphull1.cc                     |      5 +-
 tests/Polyhedron/refinewithcongruence1.cc          |      2 +-
 tests/Polyhedron/refinewithcongruences1.cc         |      2 +-
 tests/Polyhedron/refinewithconstraint1.cc          |      2 +-
 tests/Polyhedron/refinewithconstraints1.cc         |      2 +-
 tests/Polyhedron/relations1.cc                     |      4 +-
 tests/Polyhedron/relations2.cc                     |      2 +-
 tests/Polyhedron/relations3.cc                     |      2 +-
 tests/Polyhedron/removespacedims1.cc               |      2 +-
 tests/Polyhedron/removespacedims2.cc               |      2 +-
 tests/Polyhedron/simplifyusingcontext1.cc          |      2 +-
 tests/Polyhedron/smm1.cc                           |      2 +-
 tests/Polyhedron/termination1.cc                   |    535 +
 tests/Polyhedron/termination2.cc                   |    177 +
 tests/Polyhedron/timeelapse1.cc                    |      2 +-
 tests/Polyhedron/timeelapse2.cc                    |      2 +-
 tests/Polyhedron/topclosed1.cc                     |      4 +-
 tests/Polyhedron/topclosure1.cc                    |      2 +-
 tests/Polyhedron/unconstrain1.cc                   |      2 +-
 tests/Polyhedron/universe1.cc                      |      2 +-
 tests/Polyhedron/universe2.cc                      |      2 +-
 tests/Polyhedron/variablesset1.cc                  |      2 +-
 tests/Polyhedron/watchdog1.cc                      |     17 +-
 tests/Polyhedron/weightwatch1.cc                   |    232 +
 tests/Polyhedron/wrap1.cc                          |    625 +
 tests/Polyhedron/wrap2.cc                          |     98 +
 tests/Polyhedron/writeconsys1.cc                   |      2 +-
 tests/Polyhedron/writegensys1.cc                   |      2 +-
 tests/Polyhedron/writepolyhedron1.cc               |      2 +-
 tests/Polyhedron/writepolyhedron2.cc               |      2 +-
 tests/Polyhedron/writerelation1.cc                 |      2 +-
 tests/Polyhedron/writevariable1.cc                 |      2 +-
 tests/Powerset/Makefile.am                         |      2 +-
 tests/Powerset/Makefile.in                         |    288 +-
 tests/Powerset/addcongruences1.cc                  |      2 +-
 tests/Powerset/addconstraints1.cc                  |     11 +-
 tests/Powerset/affinedimension1.cc                 |     18 +-
 tests/Powerset/affineimage1.cc                     |     14 +-
 tests/Powerset/affinepreimage1.cc                  |     14 +-
 tests/Powerset/bounded1.cc                         |      2 +-
 tests/Powerset/bounds1.cc                          |      2 +-
 tests/Powerset/closed1.cc                          |      2 +-
 tests/Powerset/closure1.cc                         |      2 +-
 tests/Powerset/collapse1.cc                        |      2 +-
 tests/Powerset/concatenate1.cc                     |      2 +-
 tests/Powerset/contains1.cc                        |      2 +-
 tests/Powerset/containsintegerpoint1.cc            |      2 +-
 tests/Powerset/difference1.cc                      |      6 +-
 tests/Powerset/discrete1.cc                        |      2 +-
 tests/Powerset/disjoint1.cc                        |      2 +-
 tests/Powerset/disjunct1.cc                        |     22 +-
 tests/Powerset/empty1.cc                           |      2 +-
 tests/Powerset/entails1.cc                         |      2 +-
 tests/Powerset/equals1.cc                          |      2 +-
 tests/Powerset/frombdshape1.cc                     |     26 +-
 tests/Powerset/frombox1.cc                         |     26 +-
 tests/Powerset/fromcongruences1.cc                 |      2 +-
 tests/Powerset/fromconstraints1.cc                 |      2 +-
 tests/Powerset/fromgrid1.cc                        |     28 +-
 tests/Powerset/fromoctagonalshape1.cc              |     26 +-
 tests/Powerset/frompolyhedron1.cc                  |    138 +-
 tests/Powerset/fromspacedimension1.cc              |      2 +-
 tests/Powerset/intersection1.cc                    |     10 +-
 tests/Powerset/maxmin1.cc                          |     95 +-
 tests/Powerset/meet1.cc                            |      2 +-
 tests/Powerset/membytes1.cc                        |      2 +-
 tests/Powerset/powerset1.cc                        |      2 +-
 tests/Powerset/reduce1.cc                          |      2 +-
 tests/Powerset/refinewith1.cc                      |     12 +-
 tests/Powerset/relationwith1.cc                    |      2 +-
 tests/Powerset/simplifyusingcontext1.cc            |     20 +-
 tests/Powerset/size1.cc                            |      2 +-
 tests/Powerset/spacedims1.cc                       |      2 +-
 tests/Powerset/universe1.cc                        |      2 +-
 tests/Powerset/upperbound1.cc                      |      2 +-
 tests/README                                       |      4 +-
 tests/Random_Number_Generator.defs.hh              |      2 +-
 tests/Random_Number_Generator.inlines.hh           |      2 +-
 tests/Random_Number_Generator.types.hh             |      2 +-
 tests/files.cc                                     |      2 +-
 tests/files.hh                                     |      2 +-
 tests/ppl_test.cc                                  |     77 +-
 tests/ppl_test.hh                                  |    520 +-
 utils/Makefile.am                                  |      2 +-
 utils/Makefile.in                                  |    169 +-
 utils/build_header.in                              |      2 +-
 utils/cm_cleaner.sh                                |     23 +-
 utils/cm_splitter.sh                               |     26 +-
 utils/text2cxxarray.in                             |      2 +-
 utils/timings.cc                                   |      2 +-
 utils/timings.hh                                   |      2 +-
 1414 files changed, 410362 insertions(+), 237838 deletions(-)

diff --git a/BUGS b/BUGS
index 794468e..87627ce 100644
--- a/BUGS
+++ b/BUGS
@@ -1,9 +1,9 @@
 
-The PPL developers encourage you to report any bugs you find to
-ppl-devel at cs.unipr.it.  Here `bug' should be interpreted in its
-broadest sense: outright software errors, misfeatures, bad interfaces,
-missing or unclear documentation... whatever is a subject for possible
-improvement.
+The PPL developers encourage you to report any bugs you find using the
+bug tracking system available at https://www.cs.unipr.it/mantis/ .
+Here `bug' should be interpreted in its broadest sense: outright
+software errors, misfeatures, bad interfaces, missing or unclear
+documentation... whatever is a subject for possible improvement.
 
 As far as software bugs are concerned, the best reports are those that
 are reproducible.  Including (or pointing us to) code that exhibits
diff --git a/CREDITS b/CREDITS
index 7316d9b..c797359 100644
--- a/CREDITS
+++ b/CREDITS
@@ -35,20 +35,18 @@ Current Contributors:
                         intervals.  He also helps on several other
                         design and implementation issues.
 
-  Andrea Cimino         (former student of the University of Parma)
-                        wrote most of the mixed integer programming
-                        solver, and also most of the Java and OCaml
-                        interfaces.
+  Fabio Bossi           (student of the University of Parma)
+                        is working on the PPL support for the approximation
+                        of floating point computations.
 
-  Katy Dobson           [4] (University of Leeds) is working on the
-                        formalization and definition of algorithms for
-                        rational grids and products of grids and
-                        polyhedra.
+  Francois Galea        [*] (University of Versailles) is working
+                        at the implementation of the Parametric Integer
+                        Programming solver.
 
-  Enric Rodriguez Carbonell [5] (Technical University of Catalonia) is
+  Enric Rodriguez Carbonell [4] (Technical University of Catalonia) is
                         working on the implementation of polynomial spaces.
 
-  Alessandro Zaccagnini [6] (University of Parma) has helped with
+  Alessandro Zaccagnini [5] (University of Parma) has helped with
                         the efficient implementation of GCD and LCM
                         for checked numbers.  He is now working on the
                         definitions of interval arithmetic operations.
@@ -59,12 +57,20 @@ Current Contributors:
 Past Contributors:
 ------------------
 
+  Roberto Amadini       (student of the University of Parma)
+                        did some working on the PPL support for the
+                        approximation of floating point computations.
+
   Irene Bacchi          (former student of the University of Parma) worked
                         on a development branch where she implemented
                         several variants of algorithms, checking
                         whether or not the set-union of two polyhedra
                         is the same as their poly-hull.
 
+  Fabio Biselli         (student of the University of Parma)
+                        did some work on the PPL support for the
+                        approximation of floating point computations.
+
   Danilo Bonardi        (former student of the University of Parma) worked
                         on a development branch where he experimented
                         with the use of metaprogramming techniques
@@ -77,6 +83,16 @@ Past Contributors:
                         one of the four students with which the PPL
                         project started.
 
+  Andrea Cimino         (former student of the University of Parma)
+                        wrote most of the mixed integer programming
+                        solver, and also most of the Java and OCaml
+                        interfaces.
+
+  Katy Dobson           [6] (University of Leeds) worked on the
+                        formalization and definition of algorithms for
+                        rational grids and products of grids and
+                        polyhedra.
+
   Giordano Fracasso     (University of Parma) wrote the initial version
                         of the support for native and checked integer
                         coefficients.
@@ -345,9 +361,10 @@ projects and organizations:
  [1] http://www.cs.unipr.it/~bagnara/
  [2] http://www.comp.leeds.ac.uk/hill/
  [3] http://www.cs.unipr.it/~zaffanella/
- [4] http://www.comp.leeds.ac.uk/katyd/
- [5] http://www.lsi.upc.edu/~erodri/
- [6] http://www.math.unipr.it/~zaccagni/
+ [*] http://www.prism.uvsq.fr/~fgalea/
+ [4] http://www.lsi.upc.edu/~erodri/
+ [5] http://www.math.unipr.it/~zaccagni/
+ [6] http://www.comp.leeds.ac.uk/katyd/
  [7] http://www.mundell.ukfsn.org/
  [8] http://www.irisa.fr/lande/fbesson/fbesson.html
  [9] http://www.cs.ucsb.edu/~bultan/
diff --git a/ChangeLog b/ChangeLog
index 8137bf8..9b9c910 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,12 +1,8634 @@
+2010-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* PPL 0.11 released.
+
+2010-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_int.inlines.hh: Added missing conversions.
+
+2010-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog, Watchdog/ChangeLog: Updated.
+
+2010-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+        * Makefile.am, README, Watchdog/Makefile.am, Watchdog/README: 
+        Distribute all READMEs and ChangeLogs.
+
+2010-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+        * ChangeLog: Updated.
+
+2010-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS: Announce the new wrapping operator used to approximate
+	machine arithmetic.
+
+2010-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS, NEWS, TODO, Watchdog/NEWS: Updated.
+
+2010-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS: Updated.
+
+2010-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README, Watchdog/README: Updated.
+
+2010-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure: Updated.
+
+2010-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.1, demos/ppl_lpsol/ppl_lpsol.1,
+	demos/ppl_pips/ppl_pips.1, doc/libppl.3, doc/libppl_c.3,
+	doc/ppl-config.1: Updated.
+
+2010-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox: Missing sections added.
+
+2010-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/config.guess, config.guess: Updated.
+
+2010-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid.defs.hh, src/Grid_public.cc: FIXMEs resolved.
+
+2010-08-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Partially_Reduced_Product/constraintsproduct1.cc: Commented
+	out code concerning affine spaces.
+
+2010-08-01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_pips/ppl_pips.cc: Avoid variable length arrays: use a
+	std::vector instead.
+
+2010-08-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ppl_test.cc: Commented out code concerning affine spaces.
+
+2010-08-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ppl_test.hh: Commented out code concerning affine spaces.
+
+2010-08-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO, src/Affine_Space.defs.hh, src/Makefile.am: Set aside the
+	domain of affine spaces, for the time being.
+
+2010-08-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Affine_Space.cc, src/Affine_Space.defs.hh,
+	src/Affine_Space.inlines.hh: Implemented the constructors from
+	generator systems.
+
+2010-08-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid.defs.hh, src/Grid_public.cc: Inclusions fixed.
+
+2010-08-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_public.cc: Useless assignment removed.
+
+2010-08-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Generator_System.defs.hh: Comment fixed.
+
+2010-08-01  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Interval_Restriction.defs.hh: Removed spurious semicolon.
+
+2010-07-30  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Interval.defs.hh, src/Interval.templates.hh: Moved two methods
+	in the right place.
+
+2010-07-29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/DB_Row.templates.hh: Unwanted assertions removed.
+
+2010-07-29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/DB_Row.templates.hh: Fixed a bug in
+
+	DB_Row_Impl_Handler<T>::Impl::expand_within_capacity(dimension_type).This affected only compilers not supporting flexible arrays.
+
+2010-07-29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/DB_Row.templates.hh: Fixed a bug in
+	DB_Row_Impl_Handler<T>::Impl::construct_upward_approximation(const
+	U&).  This prevented compilation with compilers not supporting
+	flexible arrays.
+
+2010-07-27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/termination.templates.hh: Added missing inclusion.
+
+2010-07-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Version number bumped.
+
+2010-06-28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/MIP_Problem.cc, src/MIP_Problem.defs.hh: Improved
+	specification and implementation of erase_artificials().
+
+2010-06-28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/MIP_Problem.cc: Use PPL_ASSERT() instead of plain assert().
+
+2010-06-26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/MIP_Problem.cc, src/MIP_Problem.defs.hh: Improved MIP_Problem
+	preprocessing phase and solved an efficiency bug.  Rewritten private methods parse_constraints(),
+	merge_split_variable() and process_pending_constraints():
+	specification clarified and implementation improved to avoid
+	allocating more tableau rows and columns than needed.  This results
+	in an overall speedup, in particular when solving problems
+	incrementally.
+
+2010-06-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/config.guess, Watchdog/config.sub, Watchdog/install-sh,
+	Watchdog/ltmain.sh, Watchdog/m4/libtool.m4,
+	Watchdog/m4/ltoptions.m4, Watchdog/m4/ltversion.m4,
+	Watchdog/m4/lt~obsolete.m4, config.guess, config.sub, install-sh,
+	ltmain.sh, m4/libtool.m4, m4/ltoptions.m4, m4/ltversion.m4,
+	m4/lt~obsolete.m4: Updated from Libtool 2.2.10.
+
+2010-06-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.defs.hh: Added missing argument names.
+
+2010-06-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* configure.ac, doc/definitions.dox, doc/devref.doxyconf-html.in,
+	doc/devref.doxyconf-latex.in, src/BD_Shape.defs.hh,
+	src/BD_Shape.inlines.hh, src/BD_Shape.templates.hh,
+	src/Box.defs.hh, src/Box.templates.hh,
+	src/Cast_Floating_Point_Expression.defs.hh,
+	src/Cast_Floating_Point_Expression.inlines.hh,
+	src/Cast_Floating_Point_Expression.templates.hh,
+	src/Cast_Floating_Point_Expression.types.hh,
+	src/Constant_Floating_Point_Expression.defs.hh,
+	src/Constant_Floating_Point_Expression.inlines.hh,
+	src/Constant_Floating_Point_Expression.types.hh,
+	src/Difference_Floating_Point_Expression.defs.hh,
+	src/Difference_Floating_Point_Expression.inlines.hh,
+	src/Difference_Floating_Point_Expression.templates.hh,
+	src/Difference_Floating_Point_Expression.types.hh,
+	src/Division_Floating_Point_Expression.defs.hh,
+	src/Division_Floating_Point_Expression.inlines.hh,
+	src/Division_Floating_Point_Expression.templates.hh,
+	src/Division_Floating_Point_Expression.types.hh,
+	src/Floating_Point_Expression.defs.hh,
+	src/Floating_Point_Expression.inlines.hh,
+	src/Floating_Point_Expression.templates.hh,
+	src/Floating_Point_Expression.types.hh, src/Linear_Form.cc,
+	src/Linear_Form.defs.hh, src/Linear_Form.inlines.hh,
+	src/Linear_Form.templates.hh, src/Linear_Form.types.hh,
+	src/Makefile.am,
+	src/Multiplication_Floating_Point_Expression.defs.hh,
+	src/Multiplication_Floating_Point_Expression.inlines.hh,
+	src/Multiplication_Floating_Point_Expression.templates.hh,
+	src/Multiplication_Floating_Point_Expression.types.hh,
+	src/Octagonal_Shape.defs.hh, src/Octagonal_Shape.inlines.hh,
+	src/Octagonal_Shape.templates.hh,
+	src/Opposite_Floating_Point_Expression.defs.hh,
+	src/Opposite_Floating_Point_Expression.inlines.hh,
+	src/Opposite_Floating_Point_Expression.types.hh,
+	src/Polyhedron.defs.hh, src/Polyhedron.inlines.hh,
+	src/Polyhedron.templates.hh, src/Polyhedron_nonpublic.cc,
+	src/Sum_Floating_Point_Expression.defs.hh,
+	src/Sum_Floating_Point_Expression.inlines.hh,
+	src/Sum_Floating_Point_Expression.templates.hh,
+	src/Sum_Floating_Point_Expression.types.hh,
+	src/Variable_Floating_Point_Expression.defs.hh,
+	src/Variable_Floating_Point_Expression.inlines.hh,
+	src/Variable_Floating_Point_Expression.types.hh,
+	tests/Floating_Point_Expression/.gitignore,
+	tests/Floating_Point_Expression/Makefile.am,
+	tests/Floating_Point_Expression/bdshape1.cc,
+	tests/Floating_Point_Expression/bdshape2.cc,
+	tests/Floating_Point_Expression/digitalfilters1.cc,
+	tests/Floating_Point_Expression/floatingpointexpr1.cc,
+	tests/Floating_Point_Expression/linearform1.cc,
+	tests/Floating_Point_Expression/octagonalshape1.cc,
+	tests/Floating_Point_Expression/octagonalshape2.cc,
+	tests/Floating_Point_Expression/polyhedron1.cc,
+	tests/Floating_Point_Expression/polyhedron2.cc,
+	tests/Floating_Point_Expression/run_tests, tests/Makefile.am,
+	tests/ppl_test.hh: Put aside changes related to Floating_Point and
+	Linear_Form classes.  These will not enter release 0.11.
+
+2010-05-10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS: Moved Katy Dobson to the list of past contributors.
+
+2010-05-07  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/compiler.hh: Fixed comment.
+
+2010-05-07  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/checked.inlines.hh: Removed current implementation of
+	PPL_{LT,GT}_SILENT: the cure was worse than the disease.
+
+2010-05-07  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/checked_mpq.inlines.hh, src/checked_mpz.inlines.hh: Avoid
+	temporary in smod_2exp.
+
+2010-05-07  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/compiler.hh: Better/canonical way to avoid gcc warning.
+
+2010-05-04  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/checked_int.inlines.hh: Revert "Optimized
+	smod_2exp_signed_int." This reverts commit 21d120a07448821720acd415213f9b08a9a14338.
+
+2010-05-04  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/checked_int.inlines.hh: Optimized smod_2exp_signed_int.
+
+2010-04-17  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/checked_int.inlines.hh: Refuse to compile on (very obsolete)
+	architectures that are not using two's complement.
+
+2010-04-23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Version number bumped.
+
+2010-04-23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Partial_Function.cc, src/Partial_Function.defs.hh,
+	src/Partial_Function.inlines.hh, src/Partial_Function.types.hh: Put
+	under git control.
+
+2010-04-22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.inlines.hh,
+	interfaces/OCaml/ppl_ocaml_common.cc,
+	interfaces/OCaml/ppl_ocaml_common.defs.hh,
+	interfaces/OCaml/ppl_ocaml_common.inlines.hh,
+	interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4,
+	interfaces/Prolog/ppl_prolog_common.defs.hh,
+	interfaces/Prolog/tests/pl_check.pl, src/Affine_Space.defs.hh,
+	src/Any_Pointset.defs.hh, src/BD_Shape.defs.hh, src/Box.defs.hh,
+	src/Grid.defs.hh, src/Makefile.am, src/Octagonal_Shape.defs.hh,
+	src/Polyhedron.defs.hh, tests/Makefile.am,
+	tests/Partial_Function.cc, tests/Partial_Function.defs.hh,
+	tests/Partial_Function.inlines.hh, tests/Partial_Function.types.hh,
+	tests/ppl_test.cc, tests/ppl_test.hh: Added class Partial_Function
+	to the PPL library.  Java, Prolog and OCaml interfaces now use an
+	object of this Partial_Function class when mapping the space
+	dimensions of teh vector space.  Some of the consistency checks that
+	were performed by other variants of Partial_Function are now only
+	done when in debugging mode.
+
+2010-04-22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Octagonal_Shape/writeoctagon1.cc: Fixed expected results for
+	tests/Octagonal_Shape/writeoctagon1.cc
+
+2010-04-22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	*
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	, interfaces/Java/jni/ppl_java_common.defs.hh,
+	interfaces/Java/jni/ppl_java_common.inlines.hh,
+	interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/Makefile.am,
+	interfaces/Java/parma_polyhedra_library/Partial_Function.java,
+	interfaces/Java/tests/C_Polyhedron_test1.java,
+	interfaces/Java/tests/Makefile.am,
+	interfaces/Java/tests/Test_Partial_Function.java,
+	interfaces/Java/tests/ppl_java_tests_common: Use a C++ object to
+	encode a Partial_Function in the Java interface.  Current
+	implementation is based on a copy of the Partial_Function type used
+	in C++ tests: we should consider whether or not it would be
+	appropriate to have this Partial_Function type as a first class PPL
+	object.
+
+2010-04-22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Version number bumped.
+
+2010-04-22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.inlines.hh,
+	interfaces/Java/parma_polyhedra_library/Partial_Function.java,
+	interfaces/Java/tests/Test_Partial_Function.java: Modified signature
+	of method maps() in Java Partial_Function interface.  Modified test
+	implementation in tests/Test_Partial_Function.java accordingly (note
+	though that TreeMap still uses Long objects).
+
+2010-04-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Version number bumped.
+
+2010-04-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh, src/Octagonal_Shape.templates.hh: Fixed
+	the printing of equality constraints.
+
+2010-04-19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Version number bumped.
+
+2010-04-19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am: Added $(noinst_HEADERS) to BUILT_SOURCES so as to
+	build ppl.hh early when !BUILD_CXX_INTERFACE.  (Thanks to Ralf
+	Wildenhues who identified the problem and to Sebastian Pop who
+	reported a parallel build failure due to it.)
+
+2010-04-16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox,
+	interfaces/Prolog/XSB/xsb_pl_check.P,
+	interfaces/Prolog/ppl_interface_generator_prolog_procedure_generato
+	rs.m4, interfaces/Prolog/ppl_prolog_sysindep_dox: Properly document
+	ppl_Coefficient_bits/1.
+
+2010-04-16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/xsb_pl_check.P: Corrected a few typos.
+
+2010-04-16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4: Corrected
+	typo causing a bug in the XSB Prolog interface.
+
+2010-04-16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Pointset_Powerset.defs.hh, src/Pointset_Powerset.templates.hh: 
+	Add method wrap_assign() to Pointset_Powerset.
+
+2010-04-16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Grid_public.cc: A minor stylistic improvement and a typo
+	corrected.
+
+2010-04-16  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/intervals.defs.hh: Silenced warnings.
+
+2010-04-15  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Prolog/tests/expected_pchk_int8,
+	interfaces/Prolog/tests/expected_pchk_int8_a: A Prolog PIP_Problem
+	test overflows positively for checked_int8
+
+2010-04-15  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	*
+	interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_te
+	st_pl_code.m4: Added tests in the Prolog interface for
+	ppl_all_affine_quasi_ranking_functions_MS_*
+
+2010-04-15  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Prolog/XSB/xsb_pl_check.P: Added PIP_Problem predicates
+	to list of predicates tested in pl_check.pl.
+
+2010-04-15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog: Updated.
+
+2010-04-15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Version number bumped.
+
+2010-04-15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit e17e80c8940b435d646eaac97bba591ee744ef34 Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Thu Apr 15 17:39:08 2010 +0200
+
+2010-04-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/termination.defs.hh, src/termination.templates.hh,
+	tests/Polyhedron/termination2.cc: Minor improvements to
+	documentation.  Deal with the special cse of an empty input pointset
+	for methods all_affine_*.  Adapted and improved test10 in
+	termination2.cc.
+
+2010-04-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/tests/test1.ml: Overflow is expected for
+	PIP_Problem tests with 8 bits coefficients.
+
+2010-04-15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/Makefile.am: Increased GLOBALSZ for the
+	execution of the automatically generated test.
+
+2010-04-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/Coefficient.java,
+	interfaces/Java/tests/PIP_Problem_test1.java,
+	interfaces/OCaml/OCaml_interface.dox,
+	interfaces/OCaml/ppl_ocaml_common.cc,
+	interfaces/OCaml/ppl_ocaml_globals.ml,
+	interfaces/OCaml/ppl_ocaml_globals.mli,
+	interfaces/Prolog/Prolog_interface.dox,
+	interfaces/Prolog/ppl_prolog_common.cc,
+	interfaces/Prolog/ppl_prolog_common.defs.hh: Add
+	ppl_Coefficient_bits to Prolog and OCaml interfaces.  Renamed
+	corresponding static method in Java interface.
+
+2010-04-14  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* instchk.hh, interfaces/Prolog/Ciao/Makefile.am,
+	interfaces/Prolog/GNU/Makefile.am,
+	interfaces/Prolog/Prolog_interface.dox,
+	interfaces/Prolog/SICStus/Makefile.am,
+	interfaces/Prolog/SWI/Makefile.am,
+	interfaces/Prolog/XSB/Makefile.am,
+	interfaces/Prolog/YAP/Makefile.am,
+	interfaces/ppl_interface_generator_common_dat.m4: Allow for the
+	Shape_Preserving_Product to be generated in the interfaces.
+
+2010-04-14  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	*
+	interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_te
+	st_pl_code.m4: Fixed a bug in the
+	all_affine_ranking_functions*_Grid* tests in Prolog interface.
+
+2010-04-13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/termination2.cc: Some tests now succeed even on
+	initially empty polyhedra.
+
+2010-04-13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/termination.cc: Corrected typo in shift_unprimed_variables().
+
+2010-04-13  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	*
+	interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_te
+	st_pl_code.m4, tests/Polyhedron/Makefile.am,
+	tests/Polyhedron/termination1.cc, tests/Polyhedron/termination2.cc: 
+	Added further tests for the termination methods.
+
+2010-04-13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/termination.cc: Avoid assertion crash on universe polyhedra.
+
+2010-04-13  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl,
+	interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_te
+	st_pl_code.m4: Fixed some bugs in the tests for
+	drop_some_non_integer_points() and added a test for
+	termination_test_*.
+
+2010-04-12  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4,
+	interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m
+	4,
+	interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_te
+	st_pl_code.m4, src/termination.cc, tests/Polyhedron/termination1.cc: 
+	Added tests to the OCaml interface for new functions wrap_assign(),
+	drop_some_non_integer_points() and termination_test_*.  Bug in
+	termination_test_*. fixed and test showing these added to
+	termination1.cc
+
+2010-04-11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/Coefficient.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Tree_Node.java,
+	interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.jav
+	a, interfaces/Java/tests/PIP_Problem_test1.java: Added static method
+	Coefficient.ppl_bits() to Java interface.  test04 in
+	PIP_Problem_test1.java overflows when using 8-bit checked integers.
+	Fixed method PIP_TREE_Node.toString().
+
+2010-04-11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Partially_Reduced_Product/dropsomenonintegerpoints1.cc: 
+	test01() and test03() always succeed.
+
+2010-04-11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS: Added an entry for the new functionality concerning the
+	synthesis of linear (quasi-) ranking functions.
+
+2010-04-11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox: Worked around a Doxygen bug.
+
+2010-04-11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/termination.defs.hh: Cite BMPZ10.
+
+2010-04-11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox: Bibliography updated.
+
+2010-04-10  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	*
+	interfaces/ppl_interface_generator_common_procedure_generators.m4,
+	src/Partially_Reduced_Product.defs.hh,
+	src/Partially_Reduced_Product.inlines.hh,
+	tests/Partially_Reduced_Product/dropsomenonintegerpoints1.cc: Added
+	                                    drop_some_non_integer_points(const Variables_Set& vars,
+	Complexity_Class complexity                                     = ANY_COMPLEXITY)
+
+2010-04-10  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Partially_Reduced_Product.defs.hh,
+	src/Partially_Reduced_Product.inlines.hh,
+	tests/Partially_Reduced_Product/Makefile.am,
+	tests/Partially_Reduced_Product/dropsomenonintegerpoints1.cc: Added
+	drop_some_non_integer_points() to the product domain
+
+2010-04-10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Float.inlines.hh: Trailing whitespace removed.
+
+2010-04-10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_nonpublic.cc: Variable hiding avoided.
+
+2010-04-10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS: Added a point about the new drop_some_non_integer_points()
+	methods.
+
+2010-04-10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS: Tentative release date is May 8, 2010.  Reorganized and
+	improved some news items.
+
+2010-04-10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO, demos/ppl_lcdd/ppl_lcdd.1, demos/ppl_lpsol/ppl_lpsol.1,
+	demos/ppl_pips/ppl_pips.1, doc/ppl-config.1: Man pages updated.
+
+2010-04-09  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/Cast_Floating_Point_Expression.defs.hh,
+	src/Constant_Floating_Point_Expression.defs.hh,
+	src/Difference_Floating_Point_Expression.defs.hh,
+	src/Division_Floating_Point_Expression.defs.hh,
+	src/Floating_Point_Expression.defs.hh,
+	src/Multiplication_Floating_Point_Expression.defs.hh,
+	src/Sum_Floating_Point_Expression.defs.hh,
+	src/Variable_Floating_Point_Expression.defs.hh: Fixed Documentation.
+
+2010-04-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.Solaris => README.solaris: Renamed.
+
+2010-04-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO: Pushed one item to PPL 0.12.  We will not have 0.10.3
+	release.
+
+2010-04-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : Merge remote branch 'origin/master' Conflicts: 	TODO
+
+2010-04-08  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/OCaml/OCaml_interface.dox,
+	interfaces/OCaml/ppl_ocaml_common.cc,
+	interfaces/OCaml/ppl_ocaml_globals.ml,
+	interfaces/OCaml/ppl_ocaml_globals.mli,
+	interfaces/OCaml/tests/test1.ml: Added
+	ppl_PIP_Problem_has_big_parameter_dimension that returns true if and
+	only if the pip problem has a big parameter set.
+
+2010-04-08  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox: Added documentation for
+	Prolog PPL_Problem
+
+2010-04-08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO: Dealt with one of the items.
+
+2010-04-08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Row.defs.hh: Better documentation for the two
+	Row_Impl::Impl::operator delete(...).
+
+2010-04-08  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/OCaml/OCaml_interface.dox: Added documentation in the
+	OCaml interface for the PIP_Problem.
+
+2010-04-08  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/OCaml/ppl_ocaml_common.cc: 
+	ppl_PIP_Problem_get_big_parameter_dimension() now throws an
+	exception if the big parameter has not been set.
+
+2010-04-08  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* TODO: Removed a completed item: - Handle std::logic_error (now thrown in case watchdogs are not   available) in all the interfaces.
+
+2010-04-08  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/OCaml/ppl_ocaml_common.cc,
+	interfaces/OCaml/ppl_ocaml_globals.ml,
+	interfaces/OCaml/ppl_ocaml_globals.mli,
+	interfaces/OCaml/tests/test1.ml: Simplify function names in
+	PIP_Tree_Node, matching corresponding predicate names in Prolog
+	interface.
+
+2010-04-08  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	*
+	interfaces/Prolog/ppl_interface_generator_prolog_procedure_generato
+	rs.m4, interfaces/Prolog/ppl_prolog_common.cc,
+	interfaces/Prolog/ppl_prolog_common.defs.hh,
+	interfaces/Prolog/tests/pl_check.pl: Simplified Prolog interface for
+	PIP_Tree_Node.
+
+2010-04-08  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/OCaml/ppl_ocaml_globals.ml,
+	interfaces/OCaml/ppl_ocaml_globals.mli,
+	interfaces/OCaml/tests/test1.ml: Removed
+	artificial_parameter_sequence type.  Added to the PIP_Problem tests.
+
+2010-04-08  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl: Typo fixed.
+
+2010-04-07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_ocaml_common.cc,
+	interfaces/OCaml/ppl_ocaml_globals.ml,
+	interfaces/OCaml/ppl_ocaml_globals.mli: Restructured the OCaml
+	interface to PIP_Tree_Node C++ classes.  Also corrected several bugs
+	related to object finalization.
+
+2010-04-06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS: Added a couple of entries.
+
+2010-04-06  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	*
+	interfaces/Prolog/ppl_interface_generator_prolog_procedure_generato
+	rs.m4, interfaces/Prolog/ppl_prolog_common.cc,
+	interfaces/Prolog/ppl_prolog_common.defs.hh,
+	interfaces/Prolog/tests/pl_check.pl: 
+	...get_big_parameter_dimension/2 changed to
+	...has_big_parameter_dimension/2 and now this fails if the "big
+	dimension" == not_a_dimension().
+
+2010-04-06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* README.Solaris: Solaris users should install GNU sed.
+
+2010-04-06  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl: Check if the Prolog system
+	supports unbounded integers before testing the big_parameter for
+	PIP_Problem.
+
+2010-04-06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Added calls to WEIGHT macros.
+
+2010-04-05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog_common.cc,
+	interfaces/Prolog/ppl_prolog_common.defs.hh,
+	interfaces/Prolog/tests/pl_check.pl: Corrected PIP_Problem test04 to
+	properly call predicate ppl_*_artificials().  Applied a few
+	renamings to the implementation of the predicate.
+
+2010-04-05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/PIP_Decision_Node.java,
+	interfaces/Java/tests/PIP_Problem_test1.java: Fixed Java interface
+	for PIP_Decision_Node::child_node(branch).  New interface has a
+	(unboxed) boolean parameter.
+
+2010-04-05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/dropsomenonintegerpoints1.cc: Added known results
+	for a couple of tests.
+
+2010-04-05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh,
+	tests/Octagonal_Shape/dropsomenonintegerpoints1.cc: Fixed bugs in
+	Octagonal_Shape:drop_some_on_integer_points().
+
+2010-04-05  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/checked_int.inlines.hh: Uniformed code and get rid of a
+	warning.
+
+2010-04-05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	*
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	, interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/Java/jni/ppl_java_common.defs.hh,
+	interfaces/Java/parma_polyhedra_library/ppl_interface_generator_jav
+	a_classes_java_code.m4: Avoid useless boxing of builtins when
+	interfacing the wrap_assign().  Got rid of buggy j_boolean_to_bool()
+	helper.  Helper bool_to_j_boolean() renamed to
+	bool_to_j_boolean_class() for clarity, as it builds a boxed Java
+	Boolean value.
+
+2010-04-05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/checked_float.inlines.hh: Corrected a couple of typos.
+
+2010-04-05  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/OCaml/ppl_ocaml_common.cc,
+	interfaces/OCaml/ppl_ocaml_globals.ml,
+	interfaces/OCaml/ppl_ocaml_globals.mli,
+	interfaces/OCaml/tests/test1.ml: Completed a draft implementation of
+	PIP_Problem OCaml interface.  A few tests added.
+
+2010-04-02  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/OCaml/ppl_ocaml_common.cc,
+	interfaces/OCaml/ppl_ocaml_globals.ml,
+	interfaces/OCaml/ppl_ocaml_globals.mli: A start on the PIP_Problem
+	interface for OCaml.
+
+2010-04-02  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	*
+	interfaces/Prolog/ppl_interface_generator_prolog_procedure_generato
+	rs.m4, interfaces/Prolog/ppl_prolog_common.cc,
+	interfaces/Prolog/ppl_prolog_common.defs.hh,
+	interfaces/Prolog/tests/pl_check.pl: Completed a draft of the
+	PIP_Problem interface for Prolog.  Added tests.
+
+2010-04-02  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	*
+	interfaces/Java/parma_polyhedra_library/Artificial_Parameter_Sequen
+	ce.java: Type fixed.
+
+2010-04-02  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Java/jni/ppl_java_globals.cc: Restored previously
+	removed method PIP_Problem_constraints().
+
+2010-04-01  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* tests/BD_Shape/Makefile.am,
+	tests/BD_Shape/dropsomenonintegerpoints1.cc,
+	tests/Octagonal_Shape/Makefile.am,
+	tests/Octagonal_Shape/dropsomenonintegerpoints1.cc: Tests added.
+	Some tests marked as expected to fail indicating bug(s) in the code.
+
+2010-04-01  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/Java/jni/ppl_java_common.defs.hh,
+	interfaces/Java/jni/ppl_java_common.inlines.hh,
+	interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/Artificial_Parameter_Sequen
+	ce.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Decision_Node.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Solution_Node.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Tree_Node.java,
+	interfaces/Java/tests/PIP_Problem_test1.java: Varios bug fixes and
+	small improvements.  A clone of test02 in pipproblem1.cc added to
+	the Java tests.  FIXME added to jni/ppl_java_common.cc
+
+2010-04-01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators
+	.m4: Added "quasi ranking functions" generation procedures to OCaml
+	interface.
+
+2010-03-31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh, src/Interval.defs.hh: Drafted
+	drop_some_non_integer_points() for Interval and Box.
+
+2010-03-31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
+	src/BD_Shape.templates.hh, src/Octagonal_Shape.defs.hh,
+	src/Octagonal_Shape.inlines.hh, src/Octagonal_Shape.templates.hh: 
+	Drafted drop_some_non_integer_points() for weakly relational shapes.
+
+2010-03-31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/Java/jni/ppl_java_common.defs.hh,
+	interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/Artificial_Parameter.java,
+	interfaces/Java/tests/PIP_Problem_test1.java: Fixed problems in the
+	Artificial_Parameter(_Sequence) interface.
+
+2010-03-31  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/Java/jni/ppl_java_common.defs.hh,
+	interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/Artificial_Parameter.java,
+	interfaces/Java/parma_polyhedra_library/Artificial_Parameter_Sequen
+	ce.java,
+	interfaces/Java/parma_polyhedra_library/Artificial_Parameter_Sequen
+	ce_Iterator.java,
+	interfaces/Java/parma_polyhedra_library/Makefile.am,
+	interfaces/Java/parma_polyhedra_library/PIP_Tree_Node.java,
+	interfaces/Java/tests/PIP_Problem_test1.java: Several improvements
+	and bug fixes.  Removed unwanted iterator class for
+	Artificial_Parameter_Sequence.
+
+2010-03-31  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/PIP_Decision_Node.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Solution_Node.java,
+	interfaces/Java/tests/PIP_Problem_test1.java: Several improvements
+	and bug fixes.  More tests for the Java inmterface added.  Commented
+	lines in test indicate where code needs fixing.
+
+2010-03-31  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* NEWS, TODO: Updated with news of the new reduction operator for
+	partially reduced products and the new frequency operator.  Removed
+	a TODO item concerning the interfaces and termination methods.
+
+2010-03-31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Version number bumped.
+
+2010-03-31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_globals.cc: Completed removal of
+	Constraint_System_Iterator.
+
+2010-03-31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/termination.cc, src/termination.templates.hh: Fixed
+	assign_all_inequalities_approximation for shapes.
+
+2010-03-31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	interfaces/C/ppl_interface_generator_c_h_code.m4: Interfaced
+	quasi_ranking procedures to C.
+
+2010-03-30  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/Constraint_System_Iterator.
+	java, interfaces/Java/parma_polyhedra_library/Makefile.am,
+	interfaces/Java/parma_polyhedra_library/PIP_Problem.java,
+	interfaces/Java/tests/PIP_Problem_test1.java: Fixed problem with
+	PIP_Problem constructor from a sequence of constraints. Added code
+	for testing this.  As there is no need for the class
+	Constraint_System_Iterator, Constraint_System_Iterator.java is
+	removed.
+
+2010-03-30  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/Constraint_System_Iterator.
+	java, interfaces/Java/parma_polyhedra_library/PIP_Problem.java,
+	interfaces/Java/tests/Makefile.am,
+	interfaces/Java/tests/PIP_Problem_test1.java: Some tests for some of
+	the new PIP_Problem methods added.  Various bugs fixed.
+
+2010-03-30  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/Constraint_System_Iterator.
+	java: Completed draft Java interface for PIP_Problem (untested).
+
+2010-03-30  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Java/tests/NNC_Polyhedron_test1.java,
+	interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m
+	4: Added Java interface tests for termination_test_MS,
+	termination_test_PR, termination_test_MS_2 and termination_test_PR_2
+
+2010-03-30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/jni/Makefile.am,
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	, interfaces/Java/parma_polyhedra_library/Makefile.am: Enable Java
+	interface for termination procedures (and corrected bugs).
+
+2010-03-30  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Java/jni/ppl_java_common.cc: Whitespace bug fixed.
+
+2010-03-30  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/Java/jni/ppl_java_common.defs.hh,
+	interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/Artificial_Parameter.java,
+	interfaces/Java/parma_polyhedra_library/Artificial_Parameter_Sequen
+	ce.java,
+	interfaces/Java/parma_polyhedra_library/Artificial_Parameter_Sequen
+	ce_Iterator.java,
+	interfaces/Java/parma_polyhedra_library/Constraint_System_Iterator.
+	java, interfaces/Java/parma_polyhedra_library/Makefile.am,
+	interfaces/Java/parma_polyhedra_library/PIP_Decision_Node.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Problem.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Problem_Control_Paramet
+	er_Name.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Problem_Control_Paramet
+	er_Value.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Problem_Status.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Solution_Node.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Tree_Node.java: Almost
+	complete (but untested) Java interface to the PIP_Problem
+
+2010-03-29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	*
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	,
+	interfaces/Java/parma_polyhedra_library/ppl_interface_generator_jav
+	a_classes_java_code.m4,
+	interfaces/Java/ppl_interface_generator_java_procedure_generators.m
+	4,
+	interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m
+	4: Corrected several errors in Java interface for termination test
+	procedures.
+
+2010-03-29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Version number bumped.
+
+2010-03-29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_procedure_generato
+	rs.m4: Added to Prolog interface the predicates for quasi-ranking
+	functions.
+
+2010-03-29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/termination.cc, src/termination.defs.hh,
+	src/termination.templates.hh: Added procedures computing all the
+	affine quasi-ranking functions.  Corrected a few glitches in the
+	documentation and in exception messages.
+
+2010-03-27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/termination.cc, src/termination.templates.hh: Factored away
+	common code in the MS-based termination procedures.  Improved
+	PR-based termination procedures relying on MIP_Problem by mapping
+	optimizations to satisfiability testing.
+
+2010-03-27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh, src/Box.templates.hh,
+	src/Grid_public.cc, src/Octagonal_Shape.templates.hh,
+	src/Polyhedron.defs.hh, src/Polyhedron.inlines.hh: Avoid a few
+	annoying warnings for unused parameters.  Indentation fixed.  Avoid
+	using "return;" at the end of function body.
+
+2010-03-27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/termination.cc: Comma changed into full-stop.
+
+2010-03-27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/termination.cc, src/termination.templates.hh: Other minor
+	improvements in assign_all_inequalities_approximation().
+
+2010-03-27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/termination.cc: Apply more memory allocation improvements.
+
+2010-03-26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/termination.cc: A few optimizations applied to
+	fill_constraint_systems_MS().
+
+2010-03-26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/jni/Makefile.am,
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	,
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_files.m
+	4: Rename Termination.cc in ppl_java_Termination.cc in Java
+	interface.  Add the generated file to CLEANFILES.
+
+2010-03-25  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Java/jni/ppl_java_globals.cc: Fixed bugs leading to
+	warning messages.
+
+2010-03-25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/termination.cc: Avoid nonpositivity constraints in the
+	enhanced PR methods by changing sign.  This is going to speed up the
+	MIP_Problem based methods.
+
+2010-03-25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/termination.templates.hh: Use original PR method if a single
+	pointset is provided.  Prefer the enhanced method if two pointsets
+	(before/after) are provided.
+
+2010-03-25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/termination.cc: Avoid the creation of many temporary linear
+	expressions.
+
+2010-03-25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Linear_Expression.cc, src/Linear_Expression.defs.hh: Added
+	helper function sub_mul_assign() to Linear_Expression interface.
+
+2010-03-25  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* tests/Grid/Makefile.am: Added missing sources line.
+
+2010-03-25  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Prolog/tests/ppl_prolog_generated_test_common.pl: 
+	Expected test result corrected.
+
+2010-03-25  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Grid_public.cc, tests/Grid/wrap1.cc: Bug in
+	Grid::wrap_assign() fixed.  Test that showed the bug added to
+	wrap1.cc.
+
+2010-03-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/termination.cc: Fixed the all_affine_ranking_functions_PR*()
+	functions to correctly deal with the case where the system is
+	unsatisfiable.
+
+2010-03-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	interfaces/ppl_interface_generator_common_procedure_generators.m4,
+	src/Pointset_Powerset.defs.hh, src/Pointset_Powerset.templates.hh: 
+	Implemented methods
+	Pointset_Powerset::drop_some_non_integer_points().
+
+2010-03-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am,
+	tests/Polyhedron/dropsomenonintegerpoints1.cc,
+	tests/Polyhedron/dropsomenonintegerpoints2.cc: Test
+	Polyhedron::drop_some_non_integer_points().
+
+2010-03-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_nonpublic.cc: Fixed a couple of bugs in
+	drop_some_non_integer_points().
+
+2010-03-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_nonpublic.cc: Fixed a bug in
+	drop_some_non_integer_points().
+
+2010-03-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/ppl_interface_generator_common_procedure_generators.m4: 
+	Enable *drop_some_non_integer_points* for Polyhedron; disable it for
+	Pointset_Powerset.
+
+2010-03-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Octagonal_Shape.defs.hh: Indentation corrected.
+
+2010-03-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh, src/Polyhedron.inlines.hh,
+	src/Polyhedron_nonpublic.cc: Drafted the implementation of methods
+	drop_some_non_integer_points().
+
+2010-03-24  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_procedure_generators.m4: 
+	Enable the interfaces procedures for
+	Grid::drop_some_non_integer_points().
+
+2010-03-24  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Grid_public.cc, tests/Grid/Makefile.am,
+	tests/Grid/dropnonintegerpoints1.cc: Added a draft implementation
+	for Grid::drop_some_non_integer_points().
+
+2010-03-24  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Java/parma_polyhedra_library/Makefile.am: Added the
+	generated Termination files to make clean.
+
+2010-03-24  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	*
+	interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_te
+	st_pl_code.m4, src/Box.templates.hh, tests/BD_Shape/frequency1.cc,
+	tests/Box/frequency1.cc, tests/Octagonal_Shape/frequency1.cc: In
+	frequency(), deal properly with the case when a box is empty.  Added
+	tests for this case.  Re-enable frequency test in the Prolog
+	interface.
+
+2010-03-24  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	*
+	interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_te
+	st_pl_code.m4: Test disabled while problem is investigated.
+
+2010-03-24  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	interfaces/C/ppl_interface_generator_c_h_code.m4,
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	,
+	interfaces/Java/parma_polyhedra_library/ppl_interface_generator_jav
+	a_classes_java_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4,
+	interfaces/ppl_interface_generator_common_procedure_generators.m4: 
+	Added interface code for drop_some_non-integer_points() methods.
+	Note that these are only enabled for BD_Shapes, Octagonal_Shapes and
+	Boxes.
+
+2010-03-24  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	interfaces/C/ppl_interface_generator_c_h_code.m4,
+	interfaces/Java/ppl_interface_generator_java_procedure_generators.m
+	4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators
+	.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_procedure_generato
+	rs.m4,
+	interfaces/ppl_interface_generator_common_procedure_generators.m4: 
+	Added C interface for frequency().  Moved generator to language
+	independent file.
+
+2010-03-24  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	*
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	,
+	interfaces/Java/parma_polyhedra_library/ppl_interface_generator_jav
+	a_classes_java_code.m4,
+	interfaces/Java/ppl_interface_generator_java_procedure_generators.m
+	4: Added Java interface method for frequency().
+
+2010-03-24  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators
+	.m4: Added Ocaml interface function for frequency().
+
+2010-03-24  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_procedure_generato
+	rs.m4,
+	interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_te
+	st_pl_code.m4,
+	interfaces/Prolog/tests/ppl_prolog_generated_test_common.pl: Added
+	interface predicate for frequency().  Generated test added.
+
+2010-03-24  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4: Typo
+	fixed.
+
+2010-03-24  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4,
+	interfaces/Prolog/XSB/xsb_pl_check.P: Added stubs for 7 and 8
+	argument predicates.  Missing predicate names added for pl_check
+	test.
+
+2010-03-24  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4: Added
+	stubs for 7 and 8 argument predicates.
+
+2010-03-24  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/C/ppl_interface_generator_c_procedure_generators.m4,
+	interfaces/Java/ppl_interface_generator_java_procedure_generators.m
+	4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators
+	.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_procedure_generato
+	rs.m4,
+	interfaces/ppl_interface_generator_common_procedure_generators.m4: 
+	Move the wrap_assign generator to the language independent file.
+
+2010-03-23  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox,
+	interfaces/Prolog/ppl_interface_generator_prolog_dox_code.m4: Added
+	documentation for prolog wrap_assign/8 predicate.
+
+2010-03-23  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/OCaml/OCaml_interface.dox: Added documentation for the
+	OCaml wrap_assign function.
+
+2010-03-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox, doc/ppl.sty: The `|' character cannot be used
+	to produce proper paired delimiters.
+
+2010-03-23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/termination.cc, src/termination.templates.hh: Added
+	implementations for the original PR termination tests.  These are
+	activated when the preprocessor flag USE_ORIGINAL_PR_METHOD is set.
+	The flag is now active.
+
+2010-03-23  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* doc/definitions.dox: Improved documentation for frequency.
+
+2010-03-23  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4: Type
+	error fixed.
+
+2010-03-23  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	*
+	interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_procedure_generato
+	rs.m4, interfaces/Prolog/ppl_prolog_common.cc,
+	interfaces/Prolog/ppl_prolog_common.defs.hh,
+	interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_te
+	st_pl_code.m4: Added interface code for wrap_assign().
+
+2010-03-23  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* doc/definitions.dox: Typo fixed.
+
+2010-03-23  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* doc/definitions.dox: Wrong latex fixed.
+
+2010-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/termination1.cc: Added two new tests.
+
+2010-03-23  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* doc/definitions.dox: Several errors in the documentation for
+	frequency fixed.
+
+2010-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox: Fixed ill-positioned \f$.
+
+2010-03-23  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators
+	.m4, interfaces/OCaml/ppl_ocaml_common.cc,
+	interfaces/OCaml/ppl_ocaml_common.defs.hh,
+	interfaces/OCaml/ppl_ocaml_globals.ml,
+	interfaces/OCaml/ppl_ocaml_globals.mli: Added interface code for
+	wrap_assign().
+
+2010-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/termination1.cc: Fixed the expected result for
+	test04().
+
+2010-03-23  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* doc/definitions.dox, src/BD_Shape.defs.hh, src/Box.defs.hh,
+	src/Grid.defs.hh, src/Octagonal_Shape.defs.hh,
+	src/Partially_Reduced_Product.defs.hh, src/Polyhedron.defs.hh: Added
+	and improved documentation for the frequency operator.
+
+2010-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/termination.templates.hh: Debugging output switched off.
+
+2010-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/Makefile.am: Fixed the
+	handling of Termination.java.
+
+2010-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit ef1ccd4fea5bed38e73c23cd9a6e5879e7f281b3 Author: Enea
+	Zaffanella <zaffanella at cs.unipr.it> Date:   Mon Mar 22 13:54:43 2010
+	+0100
+
+2010-03-22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/exceptions1.cc: All test functions should be
+	declared in the anonymous namespace.
+
+2010-03-22  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/OCaml/ppl_ocaml_common.defs.hh,
+	interfaces/Prolog/ppl_prolog_common.cc,
+	interfaces/Prolog/ppl_prolog_common.defs.hh: Revised exceptions that
+	can be thrown.
+
+2010-03-22  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_prolog_common.cc,
+	interfaces/Prolog/ppl_prolog_common.defs.hh,
+	interfaces/Prolog/tests/pl_check.pl: Added missing C++ exceptions.
+
+2010-03-22  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl: Revised to allow for for
+	expected logic_error.
+
+2010-03-21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Octagonal_Shape/frequency1.cc: Let test13 compile.
+
+2010-03-22  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Java/parma_polyhedra_library/Makefile.am: Code,
+	unintensionally added by previous commit, removed..
+
+2010-03-22  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	*
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	, interfaces/Java/parma_polyhedra_library/Makefile.am,
+	interfaces/Java/parma_polyhedra_library/ppl_interface_generator_jav
+	a_classes_java_code.m4: Finished adding code for the java interface
+	to the termination methods.
+
+2010-03-22  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators
+	.m4: Added OCaml interface code for the 6 new termination methods.
+
+2010-03-22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Cut exponential execution paths by calls to
+	maybe_abandon().
+
+2010-03-22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/exceptions1.cc: All test functions should be
+	declared in the anonymous namespace.
+
+2010-03-22  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/OCaml/ppl_ocaml_common.defs.hh,
+	interfaces/Prolog/ppl_prolog_common.cc,
+	interfaces/Prolog/ppl_prolog_common.defs.hh: Revised exceptions that
+	can be thrown.
+
+2010-03-22  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_prolog_common.cc,
+	interfaces/Prolog/ppl_prolog_common.defs.hh,
+	interfaces/Prolog/tests/pl_check.pl: Added missing C++ exceptions.
+
+2010-03-22  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl: Revised to allow for for
+	expected logic_error.
+
+2010-03-21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Octagonal_Shape/frequency1.cc: Let test13 compile.
+
+2010-03-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit b43d29400ddc9823f5d08d4148adb804dcc8e321 Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Sun Mar 21 07:32:40 2010 +0400
+
+2010-03-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 0f40cc8d92d033ab5c78cdd2d4661f395603e8b5 Author: Patricia
+	Hill <p.m.hill at leeds.ac.uk> Date:   Sat Mar 20 22:00:34 2010 +0000
+
+2010-03-20  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_prolog_common.defs.hh,
+	tests/Grid/frequency1.cc, tests/Octagonal_Shape/frequency1.cc: Added
+	missing code for logic_error exception.
+
+2010-03-20  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/OCaml/ppl_ocaml_common.cc: Simplified OCaml code for
+	all_zero() and all_homogeneous_terms_are_zero()
+
+2010-03-20  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/OCaml/ppl_ocaml_common.cc,
+	interfaces/OCaml/ppl_ocaml_globals.ml,
+	interfaces/OCaml/ppl_ocaml_globals.mli: Added OCaml interface for
+	Linear_Expression::is_zero() and all_homogeneous_terms_are_zero().
+
+2010-03-18  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/OCaml/ppl_ocaml_common.defs.hh,
+	interfaces/Prolog/ppl_prolog_common.defs.hh: Added std::logic_error
+	to the list of exceptions caught.
+
+2010-03-20  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression.java: 
+	Added Java interface for Linear_Expression::is_zero() and
+	Linear_Expression::all_homogeneous_terms_are_zero().
+
+2010-03-20  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	*
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	,
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_files.m
+	4, interfaces/Java/parma_polyhedra_library/Makefile.am,
+	interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.jav
+	a,
+	interfaces/Java/parma_polyhedra_library/ppl_interface_generator_jav
+	a_classes_java.m4,
+	interfaces/Java/parma_polyhedra_library/ppl_interface_generator_jav
+	a_classes_java_code.m4: Added some of the Java interface code needed
+	for the termination methods.
+
+2010-03-20  François Galea <francois.galea at uvsq.fr>
+
+	* tests/PIP_Problem/pipproblem1.cc: Added a test generating a
+	solution node with two context constraints.
+
+2010-03-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Version number bumped.
+
+2010-03-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 42a77adddb8e0a7223d6dd17b7b0916660411800 Merge: 367f75c
+	b831a0b Author: Roberto Bagnara <bagnara at cs.unipr.it> Date:   Sat
+	Mar 20 08:27:47 2010 +0400
+
+2010-03-19  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Problem.defs.hh: Fixed a typo in the documentation.
+
+2010-03-19  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Problem.defs.hh: Improved the documentation with examples
+	for uses of the big parameter.
+
+2010-03-19  François Galea <francois.galea at uvsq.fr>
+
+	* tests/PIP_Problem/pipproblem1.cc: Added a couple of tests using
+	the big parameter.
+
+2010-03-19  Marco Poletti <poletti.marco at gmail.com>
+
+	* STANDARDS: Added formatting conventions to the STANDARDS file.
+
+2010-03-19  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* TODO,
+	interfaces/Java/parma_polyhedra_library/ppl_interface_generator_jav
+	a_classes_java_code.m4,
+	interfaces/Java/ppl_interface_generator_java_procedure_generators.m
+	4, interfaces/Prolog/ppl_prolog_common.cc,
+	interfaces/Prolog/ppl_prolog_common.defs.hh: Updated the first item
+	for TODO and removed code for linear expression is_zero() and
+	all_homogeneous_terms_are_zero() from the Prolog interface.
+
+2010-03-19  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/BD_Shape.templates.hh: As in previous commit - ensure
+	initialization of variables.
+
+2010-03-19  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Octagonal_Shape.templates.hh: Missing variable initialization
+	added.
+
+2010-03-19  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Grid.defs.hh, src/Polyhedron.defs.hh: Improved documentation
+	for frequency().
+
+2010-03-19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/frequency1.cc: Corrected/improved a few tests in
+	BD_Shape/frequency1.cc.
+
+2010-03-18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Partially_Reduced_Product/Makefile.am: Mention header file
+	partially_reduced_product_test.hh.
+
+2010-03-18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	*
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4: 
+	Don't take the address of a temporary object.
+
+2010-03-18  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc,
+	interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4,
+	interfaces/Prolog/ppl_prolog_common.cc,
+	interfaces/Prolog/ppl_prolog_common.defs.hh,
+	interfaces/ppl_interface_generator_common_dat.m4: 
+	All_affine_ranking_functions_PR* functions, for the C and Prolog
+	interfaces now take an NNC polyhedron as the last argument and not a
+	C one.  Interface Linear_Expression::is_zero() and
+	Linear_Expression::all_homogeneous_terms_are_zero() added to the C
+	and Prolog interfaces.
+
+2010-03-18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Partially_Reduced_Product/Makefile.am: Fixed
+	tests/Partially_Reduced_Product/Makefile.am.
+
+2010-03-18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* Watchdog/src/Threshold_Watcher.defs.hh: Avoid a broken reference
+	to another manual that is built later.
+
+2010-03-18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Partially_Reduced_Product/Makefile.am: Define the SOURCES
+	for test concatenate1.
+
+2010-03-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/termination.cc, src/termination.defs.hh,
+	src/termination.templates.hh, tests/Polyhedron/termination1.cc: 
+	Completed the implementation of all_affine_ranking_functions_PR*().
+
+2010-03-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS, TODO, src/Linear_Expression.defs.hh,
+	src/Linear_Expression.inlines.hh, src/Linear_Row.cc,
+	src/Linear_Row.defs.hh: New Linear_Expression methods.  Methods bool
+	Linear_Expression::is_zero() const and bool
+	Linear_Expression::all_homogeneous_terms_are_zero() const return
+	true if and only if `*this' is 0, and if and only if all the
+	homogeneous terms of `*this' are 0, respectively.
+
+2010-03-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	interfaces/C/ppl_interface_generator_c_h_code.m4,
+	interfaces/C/ppl_interface_generator_c_procedure_generators.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_procedure_generato
+	rs.m4: Termination functions renamed in non-C++ interfaces.
+
+2010-03-18  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl,
+	interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_te
+	st_pl_code.m4: Avoid leakage when exiting a test.
+
+2010-03-18  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	*
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	, interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/Java/jni/ppl_java_common.defs.hh,
+	interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/ppl_interface_generator_jav
+	a_classes_java_code.m4: Revised code neede for wrap assign
+	wrap_assign in Java.
+
+2010-03-18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4: Let
+	ppl_*_linear_partition/4 register its outputs to the allocator
+	tracker.
+
+2010-03-18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog_common.cc: Corrected typo: register
+	the C++ pointer, not the Prolog term.
+
+2010-03-18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_pips/expected_int64, demos/ppl_pips/expected_int64_a,
+	demos/ppl_pips/expected_mpz: Corrected the expected results for test
+	fimmel.pip.
+
+2010-03-18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_pips/expected_int16, demos/ppl_pips/expected_int16_a,
+	demos/ppl_pips/expected_int32, demos/ppl_pips/expected_int32_a,
+	demos/ppl_pips/expected_int64, demos/ppl_pips/expected_int64_a,
+	demos/ppl_pips/expected_int8, demos/ppl_pips/expected_int8_a,
+	demos/ppl_pips/expected_mpz: Corrected expected result for test
+	sor1d.pip.
+
+2010-03-18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Octagonal_Shape/frequency1.cc: Test 08 may does not overflow
+	when using exact Octagonal_Shapes.
+
+2010-03-18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_pips/examples/sor1d.pip: Fixed input file sor1d.pip.  A
+	line of blanks is not a valid comment line for the input reading
+	routine.
+
+2010-03-18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_pips/expected_mpz_a, demos/ppl_pips/ppl_pips.cc: Fixed
+	xpected result for sor1d.pip. Minor improvements to ppl_pips.cc.
+
+2010-03-18  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl: Delete objects before exiting
+	code.
+
+2010-03-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 7ededcd1147e0df879bdfaf92e9fa49c5482653d Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Thu Mar 18 11:31:30 2010 +0400
+
+2010-03-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/termination.cc, tests/Polyhedron/termination1.cc: Fixed
+	one_affine_ranking_function_PR().
+
+2010-03-17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_pips/Makefile.am, demos/ppl_pips/expected_mpz_a,
+	demos/ppl_pips/ppl_pips.cc: Fixed a few memory allocation problems
+	in ppl_pips.  Enabled the used of valgrind when running ppl_pips
+	tests.  Corrected the expected result for test fimmel.pip
+	(unsatisfiable problem).
+
+2010-03-17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Fixed a couple of resource allocation problems
+	(reported by Marco Poletti).
+
+2010-03-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4: Several
+	corrections.
+
+2010-03-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog_common.defs.hh,
+	src/termination.templates.hh: Turn off debugging output.
+
+2010-03-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog_common.cc: Fixed two bogus
+	invocations of PPL_WEAK_REGISTER.
+
+2010-03-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/pl_check.pl: Fixed several typos.
+
+2010-03-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4: Fixed
+	some invocations of PPL_CHECK.
+
+2010-03-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog_common.defs.hh: Define
+	PROLOG_TRACK_ALLOCATION to 1 to make a few bugs evident.
+
+2010-03-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	interfaces/C/ppl_interface_generator_c_h_code.m4,
+	interfaces/C/ppl_interface_generator_c_procedure_generators.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_procedure_generato
+	rs.m4, interfaces/Prolog/tests/pl_check.pl: C and Prolog interfaces
+	for the termination utility functions renamed and fixed.
+
+2010-03-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh: Kludge removed.
+
+2010-03-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Version number bumped.
+
+2010-03-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/termination.cc, src/termination.templates.hh,
+	tests/Polyhedron/termination1.cc: Completed
+	fill_constraint_system_PR().
+
+2010-03-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh, src/termination.templates.hh,
+	tests/Polyhedron/termination1.cc: Kludge to allow the
+	proof-of-concept implementation of the PR functions to compile.
+
+2010-03-17  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Java/jni/ppl_java_common.defs.hh,
+	interfaces/Java/parma_polyhedra_library/Makefile.am: Fixed some
+	typos for code related to the wrap_assign java interface.
+
+2010-03-16  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	*
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	, interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/Java/jni/ppl_java_common.defs.hh,
+	interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Width.
+	java,
+	interfaces/Java/parma_polyhedra_library/ppl_interface_generator_jav
+	a_classes_java_code.m4: Added implementation code for Java interface
+	for wrap_assign.
+
+2010-03-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/termination.templates.hh, tests/Polyhedron/termination1.cc: 
+	Temporarily implemented termination_test_PR() in terms of
+	termination_test_PR_2().
+
+2010-03-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/termination.cc, src/termination.templates.hh,
+	tests/Polyhedron/termination1.cc: Implemented and fixed termination
+	utilities with two input abstractions.
+
+2010-03-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/assert.hh: Code formatting fixed.
+
+2010-03-17  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl: Added a test (based on test10
+	in termination1.cc in the tests/Polyhedron directory) for
+	termination_test_MS/1 and termination_test_PR/1.
+
+2010-03-17  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	interfaces/C/ppl_interface_generator_c_h_code.m4,
+	interfaces/C/ppl_interface_generator_c_procedure_generators.m4: 
+	Added termination_test functions ending with "_2".
+
+2010-03-17  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4: Fixed
+	some cut and paste typos.
+
+2010-03-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	interfaces/Prolog/ppl_interface_generator_prolog_procedure_generato
+	rs.m4: Arities fixed.
+
+2010-03-16  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* tests/Octagonal_Shape/frequency1.cc: Allow for the various numeric
+	types in frequency1.cc
+
+2010-03-16  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	*
+	interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Overfl
+	ow.java,
+	interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Repres
+	entation.java,
+	interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Width.
+	java, interfaces/Java/parma_polyhedra_library/Makefile.am,
+	interfaces/Java/parma_polyhedra_library/ppl_interface_generator_jav
+	a_classes_java_code.m4,
+	interfaces/Java/ppl_interface_generator_java_procedure_generators.m
+	4: Java interface for wrap asign added.
+
+2010-03-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/termination.templates.hh: Printing of debug information
+	suppressed.
+
+2010-03-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/termination.cc, src/termination.templates.hh,
+	tests/Polyhedron/termination1.cc: Implemented template
+	termination_test_PR_2().
+
+2010-03-16  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_procedure_generato
+	rs.m4: Added more termination_test predicates to the Prolog
+	interface.
+
+2010-03-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/termination.cc, src/termination.defs.hh,
+	src/termination.templates.hh, tests/Polyhedron/termination1.cc: New
+	versions of the termination utility functions with two input
+	parameters.  The PR ones are only stubs for the time being.
+
+2010-03-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Add BD_Shape<int8_t> to the instantiations enabled
+	by default.  BD_Shape<int8_t> allows to efficiently encode
+	monotonicity constraints.
+
+2010-03-15  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/BD_Shape.defs.hh, src/Box.defs.hh,
+	src/Octagonal_Shape.defs.hh, src/Polyhedron.defs.hh,
+	tests/Box/frequency1.cc: Test changed so as to be meaningful for all
+	integer types.  Comment typos fixed.
+
+2010-03-15  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/BD_Shape.defs.hh, src/Box.defs.hh,
+	src/Octagonal_Shape.defs.hh, src/Polyhedron.defs.hh,
+	tests/Box/frequency1.cc: Test changed so as to be meaningful for all
+	integer types.  Comment typos fixed.
+
+2010-03-15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 8760df47483200e17daf43df3c7ca4ec7aad9185 Author: Patricia
+	Hill <p.m.hill at leeds.ac.uk> Date:   Mon Mar 15 11:18:15 2010 +0000
+
+2010-03-11  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Problem.defs.hh: Documentation fixes. Added a paragraph
+	about optimizing a linear cost function.
+
+2010-03-10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.inlines.hh: Improved checks in
+	PIP_Decision_Node::OK() method.  There is no reason to have
+	Artificial_Parameter::OK() inlined.  Added a couple of comments on
+	code that should be normally unreachable.
+
+2010-03-10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c_header.h: Fixed documentation reference.
+
+2010-03-10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/devref.doxyconf-html.in, doc/devref.doxyconf-latex.in: Fixed
+	the value of INPUT doxygen configuration variable.
+
+2010-03-10  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	interfaces/C/ppl_interface_generator_c_h_code.m4: Improved variable
+	names.
+
+2010-03-10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/termination1.cc: test10() and test11() witness a
+	bug in termination_test_PR().
+
+2010-03-10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 65156364caa2da7235862998930736ca27c83236 Author:
+	François Galea <francois.galea at uvsq.fr> Date:   Tue Mar 9 20:28:29
+	2010 +0100
+
+2010-03-08  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Problem.defs.hh: Documentation fixes.
+
+2010-03-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/termination.cc, src/termination.templates.hh,
+	tests/Polyhedron/termination1.cc: Implemented the improved Podelski
+	and Rybalchenko termination test.
+
+2010-03-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/termination.cc, src/termination.templates.hh: Function
+	renamed.  Unwanted stuff removed from comment.
+
+2010-03-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/termination.cc: LaTeX code fixed.
+
+2010-03-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 114f0e38474584e74743f67fd1203487241b60e8 Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Tue Mar 9 13:36:12 2010 +0400
+
+2010-03-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref.doxyconf-latex.in: Missing files added.
+
+2010-03-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/termination.cc: Description of the PR method improved.
+
+2010-03-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 4e2cacd9738634f10872d5e63f3fa9551d546a7e Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Tue Mar 9 08:52:23 2010 +0400
+
+2010-03-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit f9fbde6765402ee509a03d952fdae02115c266fa Merge: 97bd553
+	a6b23fd Author: Roberto Bagnara <bagnara at cs.unipr.it> Date:   Tue
+	Mar 9 07:04:15 2010 +0400
+
+2010-03-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Version number bumped.
+
+2010-03-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Powerset.inlines.hh: Indentation fixed.
+
+2010-03-08  Roberto Amadini <r.amadini at virgilio.it>
+
+	* doc/definitions.dox, doc/devref.doxyconf-html.in: Fixed
+	documentation files.
+
+2010-03-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 276bf49a11da0443cc5b284cf880858a8911b48a Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Mon Mar 8 21:52:26 2010 +0400
+
+2010-03-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4: Fixed
+	the implementation of the *_all_affine_ranking_functions_*
+	predicates.
+
+2010-03-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/termination.templates.hh: Fixed
+	one_affine_ranking_function_MS(): it was not projecting the
+	generator onto the mu variables.
+
+2010-03-08  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4: Code
+	for Polyhedron_all_affine_ranking_functions_PR and similar revised -
+	but is buggy. m4 version needs fixing.
+
+2010-03-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/Makefile.am, m4/ac_check_swi_prolog.m4: 
+	Support newer versions of SWI-Prolog.
+
+2010-03-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/Makefile.am, m4/ac_check_swi_prolog.m4: 
+	Support newer versions of SWI-Prolog.
+
+2010-03-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/termination.cc, src/termination.templates.hh: Fixed some
+	copy-and-paste mistakes.
+
+2010-03-08  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	interfaces/C/ppl_interface_generator_c_h_code.m4,
+	interfaces/C/ppl_interface_generator_c_procedure_generators.m4: 
+	Added the rest of the termination functions to the C interface.
+
+2010-03-08  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_procedure_generato
+	rs.m4: Fixed some bugs in the Prolog interface termination code.
+
+2010-03-08  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	interfaces/C/ppl_interface_generator_c_h_code.m4,
+	interfaces/C/ppl_interface_generator_c_procedure_generators.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_procedure_generato
+	rs.m4, interfaces/ppl_interface_generator_common_dat.m4: Added the
+	new termination functions to Prolog interface and the
+	termination_test_MS only to the C interface.
+
+2010-03-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 54bf68f9ee93822f8792c0d89d45ebd0b5823aee Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Mon Mar 8 16:24:38 2010 +0400
+
+2010-03-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/termination.cc: Comments improved.
+
+2010-03-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/termination1.cc: Added a couple of missing
+	constraints.
+
+2010-03-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/termination1.cc: Fixed the input polyhedra for
+	test01() and test02().
+
+2010-03-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/termination.templates.hh: Added stub implementations for
+	one_affine_ranking_function_PR() and
+	all_affine_ranking_functions_PR().
+
+2010-03-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 4684207ce34a88f9552f450faa6e019e475e4027 Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Mon Mar 8 13:35:33 2010 +0400
+
+2010-03-07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Corrected an invalid reference bug in
+	PIP_Solution_Node::update_tableau().  The addition of tableau rows
+	invalidates previously computed references.  Thanks to Marco Poletti
+	for reporting this.
+
+2010-03-07  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Eventually perform solution
+	tree simplifications after incremental addition of parameter
+	constraints.
+
+2010-03-07  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Moved the
+	compatibility_check static methods to PIP_Tree_Node.
+
+2010-03-07  François Galea <francois.galea at uvsq.fr>
+
+	* tests/PIP_Problem/pipproblem1.cc: Added one more test for
+	incremental solving.
+
+2010-03-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/termination.cc: Still working on specifications.
+
+2010-03-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/termination.cc: Completed a couple of comment blocks.
+
+2010-03-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref.doxyconf-html.in, doc/devref.doxyconf-latex.in,
+	src/termination.cc, src/termination.defs.hh: Documented the
+	interfaces of the termination analysis functions.
+
+2010-03-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox: LaTeX inconsistency removed.
+
+2010-03-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am, src/termination.cc, src/termination.defs.hh,
+	src/termination.templates.hh, tests/Polyhedron/termination1.cc: 
+	Moved the utilities for termination analysis to their final
+	destination.
+
+2010-03-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/termination1.cc: Several improvements.  Changed
+	the encoding of the input systems.  Started drafting the
+	implementation of the method of Podelski and Rybalchenko.
+
+2010-03-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am, tests/Polyhedron/termination1.cc: 
+	Added functions for termination analysis following the approach of
+	Mesnard and Serebrenik.
+
+2010-03-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Constraint_System.cc, src/Constraint_System.defs.hh: Added
+	method bool Constraint_System::has_equalities() const.
+
+2010-03-06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.defs.hh: Corrected a couple of typos in the
+	documentation.
+
+2010-03-06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Floating_Point_Expression/digitalfilters1.cc: Test 4 in
+	digitalfilers1.cc overflows with 64-bits if assertions are on.
+
+2010-03-05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/PIP_Problem/pipproblem1.cc: Tests 20, 21 and 22 overflow on
+	8-bit coefficients (derived from test02).
+
+2010-03-04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Floating_Point_Expression/digitalfilters1.cc,
+	tests/ppl_test.hh: Encoded custom overflow conditions for
+	digitalfilters1.cc tests 5 and 6.
+
+2010-03-04  François Galea <francois.galea at uvsq.fr>
+
+	* tests/PIP_Problem/pipproblem1.cc: Added a test for problem
+	feasibility when incrementally adding parameter constraints.
+
+2010-03-04  François Galea <francois.galea at uvsq.fr>
+
+	* tests/PIP_Problem/pipproblem1.cc: Added two tests for incremental
+	addition of parametric constraints.  Even though correct, the
+	resulting solution trees can be simplified.
+
+2010-03-04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/globals.defs.hh: Replaced using directives by using
+	declarations.
+
+2010-03-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Watchdog.cc: Apparently GNU Hurd only supports
+	ITIMER_REAL.  (Thanks to Michael Tautschnig:
+	http://www.cs.unipr.it/pipermail/ppl-devel/2010-March/016072.html).
+
+2010-03-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Watchdog.cc: Proper spacing added to
+	throw_syscall_error().  (Thanks to Michael Tautschnig.)
+
+2010-03-02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Floating_Point_Expression/digitalfilters1.cc: Detected
+	several overflows in tests 5 and 6 of digitalfilters1.cc.
+
+2010-03-02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/ppl_test.hh: Adopted a more flexible implementation for the
+	DO_TEST* macros.  (Based on a set of macros provided by Abramo
+	Bagnara.)
+
+2010-03-02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c_header.h, src/PIP_Problem.defs.hh: Made a pass
+	on the documentation of class PIP_Problem.
+
+2010-03-01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc, src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Method
+	PIP_Tree_Node::solve() now checks context feasibility when needed.
+
+2010-03-01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/PIP_Problem/pipproblem1.cc: Corrected typo in test19().
+
+2010-03-01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc, src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Several
+	minor improvements to the PIP_Problem resolution process.
+	Reorganized helper functions update_context() and
+	compatibility_check().
+
+2010-03-01  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/C/ppl_interface_generator_c_procedure_generators.m4,
+	interfaces/ppl_interface_generator_common_procedure_generators.m4: 
+	The wrap_assign has only been added to the C interface so the
+	procedure must be local to the C interface.
+
+2010-03-01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.defs.hh, src/Box.templates.hh: Completed removal of
+	support for circular intervals.  Removed now ambiguous method CC76_narrowing_assign().  While at it,
+	also wrapped a few long lines.
+
+2010-03-01  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* doc/definitions.dox, interfaces/C/C_interface.dox,
+	interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.defs.hh,
+	interfaces/C/ppl_c_implementation_common.inlines.hh,
+	interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	interfaces/C/ppl_interface_generator_c_h_code.m4,
+	interfaces/ppl_interface_generator_common_procedure_generators.m4: 
+	Added C interface for wrap_assign.  Minor NELS improvements to
+	documentation describing Wrapping Operator (should be checked by the
+	author of these notes).
+
+2010-02-27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c_header.h: Useless comma removed.
+
+2010-02-27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bool4.defs.hh, src/Box.defs.hh, src/Box.templates.hh,
+	src/Makefile.am: Removed stuff that will not be included in PPL
+	0.11.
+
+2010-02-27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c_header.h: Missing comma added.
+
+2010-02-27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.defs.hh, src/Box.templates.hh,
+	src/Circular_Interval.defs.hh, src/Makefile.am: Temporarily removed
+	the support for circular intervals.
+
+2010-02-27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 9005a4bc71b38b80205724ac2914731466e5b450 Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Sat Feb 27 17:02:19 2010 +0100
+
+2010-02-27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/PIP_Problem/pipproblem1.cc: Increase code coverage for
+	PIP_Tree_Node printing methods.
+
+2010-02-27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/tests/Makefile.am: Force C++ linking for all the test
+	programs.
+
+2010-02-27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/watchdog1.cc: Exception handling fixed.
+
+2010-02-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO, Watchdog/src/Watchdog.inlines.hh,
+	Watchdog/tests/watchdog1.cc, interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.defs.hh,
+	interfaces/C/tests/watchdog1.c, tests/Polyhedron/watchdog1.cc: Throw
+	std::logic_error in case the client asks for watchdogs on a system
+	not supporting them.
+
+2010-02-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Version number bumped.
+
+2010-02-26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* Watchdog/src/Threshold_Watcher.defs.hh,
+	interfaces/C/ppl_c_implementation_common.cc,
+	interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/OCaml/ppl_ocaml_common.cc,
+	interfaces/Prolog/ppl_prolog_common.cc,
+	tests/Polyhedron/weightwatch1.cc: Simplified initialization of
+	Threshold_Watcher<> static data member.
+
+2010-02-26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc: Added printing
+	functions for PIP tree nodes and improved documentation.
+
+2010-02-26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc, src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Added
+	operator<<() for class PIP_Tree_Node, printing the subtree.  The output operator is based on public (non-virtual) method print(),
+	which calls the protected (virtual) method print_tree() after
+	properly setting up the needed arguments.
+
+2010-02-26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Matrix.defs.hh, src/Matrix.inlines.hh: Improve definition of
+	Matrix::const_iterator default constructor.
+
+2010-02-24  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/digitalfilters1.cc: Modified
+	return statements.
+
+2010-02-24  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/digitalfilters1.cc: Several
+	corrections in rate limiter tests.
+
+2010-02-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/PIP_Problem/pipproblem1.cc: Tests 1-18 restored.  Test 19 is
+	known to fail.
+
+2010-02-23  François Galea <francois.galea at uvsq.fr>
+
+	* tests/PIP_Problem/pipproblem1.cc: Added a test illustrating a bug
+	when incrementally inserting a parameter constraint.
+
+2010-02-23  Fabio Bossi <bossi at cs.unipr.it>
+
+	* tests/Floating_Point_Expression/digitalfilters1.cc: Fixed a test
+	on BDShape.
+
+2010-02-23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/PIP_Problem/exceptions1.cc: Tests 14 and 15 are known to
+	overflow on 8-bit coefficients.
+
+2010-02-22  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/Variable_Floating_Point_Expression.inlines.hh: Removed
+	whitespaces.
+
+2010-02-22  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/BD_Shape.templates.hh,
+	src/Cast_Floating_Point_Expression.templates.hh,
+	src/Difference_Floating_Point_Expression.templates.hh,
+	src/Division_Floating_Point_Expression.templates.hh,
+	src/Multiplication_Floating_Point_Expression.templates.hh,
+	src/Octagonal_Shape.templates.hh,
+	src/Opposite_Floating_Point_Expression.inlines.hh,
+	src/Sum_Floating_Point_Expression.templates.hh,
+	src/Variable_Floating_Point_Expression.inlines.hh,
+	tests/Floating_Point_Expression/digitalfilters1.cc,
+	tests/Floating_Point_Expression/floatingpointexpr1.cc: Fixed
+	indentation.
+
+2010-02-22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/tests/pip_test.c: Fixed call to
+	ppl_PIP_Solution_Node_get_parametric_values().
+
+2010-02-22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc, src/PIP_Tree.defs.hh,
+	tests/PIP_Problem/pipproblem1.cc: Added tentative solution to bugs
+	shown by pipproblem1 tests 16, 17 and 18.
+
+2010-02-22  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/digitalfilters1.cc: Fixed
+	digitalfilters1.cc
+
+2010-02-22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc, tests/PIP_Problem/exceptions1.cc,
+	tests/PIP_Problem/pipproblem2.cc: Do set the `solution_valid' flag
+	on exit from update_solution().
+
+2010-02-22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 8ad05a7fa1293c23494ebd8c1a8222c8cc39dc0e Author: Enea
+	Zaffanella <zaffanella at cs.unipr.it> Date:   Mon Feb 22 14:22:26 2010
+	+0100
+
+2010-02-22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_pips/ppl_pips.cc, interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc, src/PIP_Problem.cc,
+	src/PIP_Tree.cc, src/PIP_Tree.defs.hh, src/PIP_Tree.inlines.hh,
+	tests/PIP_Problem/pipproblem1.cc: Changed interface for public
+	method PIP_Solution_Node::parametric_values().  The new interface no longer requires the set of problem parameters
+	as an input argument (which was error prone): rather, the set of
+	parameters of the PIP_Problem is now automatically retrieved.  To this end, all PIP tree nodes are now provided by a pointer to the
+	owning PIP_Problem object. Method PIP_Problem::OK() modified to
+	check for well formedness of the solution tree and, in particular,
+	check that all its nodes are marked as owned by the right
+	PIP_Problem object.  Removed the no longer useful method
+	PIP_Tree_Node::insert_artificials().  Corrected a typo in PIP_Problem::operator<<().  Simplified interface
+	of (internal) method PIP_Tree_Node::print_tree().  Added a FIXME regarding a potential exception safety issue.
+
+2010-02-22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 537a4928e00e2b811822089da4cf12a1dd4344cf Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Mon Feb 22 09:16:36 2010 +0100
+
+2010-02-22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/tests/pip_test.c: Avoid printing unless noisy or
+	very-noisy mode was requested.
+
+2010-02-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/watchdog1.cc: Be more informative in case
+	something goes wrong.
+
+2010-02-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/configure.ac: Use the C++ compiler to perform the tests
+	meant for C++.
+
+2010-02-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Watchdog.cc, Watchdog/src/Watchdog.defs.hh,
+	Watchdog/src/Watchdog.inlines.hh, Watchdog/src/pwl_header.hh: 
+	sigaction() is also needed, in addition to setitimer() in order to
+	support Watchdog objects.  We could check if signal() is available
+	if there is request for such a feature.
+
+2010-02-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Watchdog.cc, Watchdog/src/Watchdog.defs.hh,
+	Watchdog/src/Watchdog.inlines.hh, interfaces/C/tests/watchdog1.c,
+	interfaces/C/tests/weightwatch1.c: If setitimer() is not available,
+	no initialization is necessary.  This also works around a linking
+	bug in Mingw.  C tests improved with error-handling code.
+
+2010-02-20  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/Cast_Floating_Point_Expression.templates.hh,
+	src/Difference_Floating_Point_Expression.templates.hh,
+	src/Division_Floating_Point_Expression.templates.hh,
+	src/Floating_Point_Expression.defs.hh,
+	src/Floating_Point_Expression.templates.hh,
+	src/Multiplication_Floating_Point_Expression.templates.hh,
+	src/Sum_Floating_Point_Expression.templates.hh,
+	tests/Floating_Point_Expression/floatingpointexpr1.cc: 
+	Floating_Point_Expression::absolute_error is now a symmetric
+	interval.
+
+2010-02-20  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/Cast_Floating_Point_Expression.templates.hh,
+	src/Constant_Floating_Point_Expression.defs.hh,
+	src/Constant_Floating_Point_Expression.inlines.hh,
+	src/Difference_Floating_Point_Expression.templates.hh,
+	src/Division_Floating_Point_Expression.templates.hh,
+	src/Floating_Point_Expression.templates.hh,
+	src/Multiplication_Floating_Point_Expression.templates.hh,
+	src/Sum_Floating_Point_Expression.templates.hh,
+	tests/Floating_Point_Expression/digitalfilters1.cc: Use build method
+	instead of join_assign to build convex intervals.
+
+2010-02-20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh,
+	tests/PIP_Problem/ascii_dump_load1.cc: Improved code coverage.
+	Removed useless (and not accessible by user)
+	Tableau::total_memory_in_bytes().
+
+2010-02-20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc, tests/PIP_Problem/pipproblem3.cc: Invalidate
+	current solution at the start of PIP_Solution_Node::solve().  This
+	fixes the bug in pipproblem3 test03.
+
+2010-02-20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc, tests/PIP_Problem/pipproblem2.cc: Adding no
+	space dims should not invalidate previously computed solution.
+
+2010-02-20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc, src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Got rid
+	of non-const PIP_Tree_Node as_decision() and as_solution() methods.
+
+2010-02-20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/PIP_Problem/pipproblem2.cc: Achieve full code coverage for
+	the output operator.
+
+2010-02-20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc, src/PIP_Problem.defs.hh,
+	tests/PIP_Problem/exceptions1.cc: Document and test exception thrown
+	by PIP_Problem::print_solution().
+
+2010-02-20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/PIP_Problem/ascii_dump_load1.cc: Test 09 overflows when
+	using 8-bit coefficients.
+
+2010-02-20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/PIP_Problem/pipproblem1.cc: A couple of tests marked as
+	known to fail.  These shows a bug in the solver, which fails to
+	detect an unfeasible initial context.
+
+2010-02-20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/PIP_Problem/pipproblem3.cc: Put under git control.  These
+	test exercise the incremental PIP solver (still buggy).
+
+2010-02-20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Check fir and avoid space dimension mismatches in
+	merge_assign().
+
+2010-02-19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh,
+	tests/PIP_Problem/Makefile.am: Started working on incrementality.
+	Dealt with a FIXME in PIP_Solution_Node::update_tableau(): when
+	adding new problem variables and parameters, the columns of the
+	existing artificial parameters are moved to the right of the
+	tableau.t matrix.
+
+2010-02-19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/PIP_Problem/ascii_dump_load1.cc,
+	tests/PIP_Problem/pipproblem2.cc: Little code coverage improvement.
+
+2010-02-18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc, src/PIP_Tree.cc,
+	src/PIP_Tree.defs.hh, src/PIP_Tree.inlines.hh,
+	tests/PIP_Problem/pipproblem1.cc, tests/PIP_Problem/pipproblem2.cc: 
+	Prefer denominator() to get_denominator().  In pipproblem1 test02(),
+	add a lenghty check of the expected solution.
+
+2010-02-18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc: Simplified C interface
+	to Artificial_Parameter.
+
+2010-02-18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc: Removed two PIP_Problem
+	enum values that need not be interfaced.
+
+2010-02-18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.inlines.hh: Avoid parameter name
+	hiding; mark unreachable code.
+
+2010-02-18  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc,
+	interfaces/C/tests/pip_test.c: Added some missing C interface
+	methods and enum values for the new PIP classes.
+
+2010-02-18  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/Cast_Floating_Point_Expression.defs.hh,
+	src/Cast_Floating_Point_Expression.templates.hh,
+	src/Constant_Floating_Point_Expression.defs.hh,
+	src/Constant_Floating_Point_Expression.inlines.hh,
+	src/Difference_Floating_Point_Expression.defs.hh,
+	src/Difference_Floating_Point_Expression.templates.hh,
+	src/Division_Floating_Point_Expression.defs.hh,
+	src/Division_Floating_Point_Expression.templates.hh,
+	src/Floating_Point_Expression.defs.hh,
+	src/Multiplication_Floating_Point_Expression.defs.hh,
+	src/Multiplication_Floating_Point_Expression.templates.hh,
+	src/Opposite_Floating_Point_Expression.defs.hh,
+	src/Opposite_Floating_Point_Expression.inlines.hh,
+	src/Sum_Floating_Point_Expression.defs.hh,
+	src/Sum_Floating_Point_Expression.templates.hh,
+	src/Variable_Floating_Point_Expression.defs.hh,
+	src/Variable_Floating_Point_Expression.inlines.hh,
+	tests/Floating_Point_Expression/digitalfilters1.cc,
+	tests/Floating_Point_Expression/floatingpointexpr1.cc: Changed
+	linearize method interface for Floating Point Expressions.  Now, it
+	has a bool return type which indicates if the linearization
+	succeeded (or not). Thus, Linearization_Failed exception class has
+	been removed.
+
+2010-02-18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc, src/PIP_Tree.cc,
+	tests/PIP_Problem/pipproblem1.cc: Corrected bug in th ehandling of
+	trivially satisfiable PIP problems.  Test 16 in pipproblem1.cc
+	(currently disabled) shows a bug in the handling of trivially
+	unfeasible PIP problems.
+
+2010-02-18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Dealt with a FIXME in PIP_Solution_Node::solve().
+
+2010-02-18  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc,
+	interfaces/C/tests/pip_test.c: Added total_memory_in_bytes() and
+	external_memory_in_bytes() to MIP_Problem and PIP_Problem in the C
+	interface.
+
+2010-02-18  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/Multiplication_Floating_Point_Expression.templates.hh: Fixed
+	comments.
+
+2010-02-18  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/Multiplication_Floating_Point_Expression.templates.hh: 
+	Improved comments.
+
+2010-02-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_pips/ppl_pips.1, demos/ppl_pips/ppl_pips_extra_man_text: 
+	Described the input formats.
+
+2010-02-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_pips/ppl_pips.cc: Cosmetic improvements.
+
+2010-02-18  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/Variable_Floating_Point_Expression.defs.hh: Added and fixed
+	documentation for Var_FP_Expression.
+
+2010-02-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_pips/expected_int16, demos/ppl_pips/expected_int16_a,
+	demos/ppl_pips/expected_int32, demos/ppl_pips/expected_int32_a,
+	demos/ppl_pips/expected_int64, demos/ppl_pips/expected_int64_a,
+	demos/ppl_pips/expected_int8, demos/ppl_pips/expected_int8_a: 
+	Updated expected results.
+
+2010-02-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_pips/Makefile.am, demos/ppl_pips/expected_mpz,
+	demos/ppl_pips/expected_mpz_a: Test with all the examples.
+
+2010-02-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_pips/examples/Makefile.am,
+	demos/ppl_pips/examples/README, demos/ppl_pips/examples/big.pip,
+	demos/ppl_pips/examples/brisebarre.pip,
+	demos/ppl_pips/examples/cg1.pip, demos/ppl_pips/examples/esced.pip,
+	demos/ppl_pips/examples/ex2.pip,
+	demos/ppl_pips/examples/fimmel.pip,
+	demos/ppl_pips/examples/invert.dat,
+	demos/ppl_pips/examples/linear.dat,
+	demos/ppl_pips/examples/lineri.dat,
+	demos/ppl_pips/examples/loz.dat, demos/ppl_pips/examples/max.dat,
+	demos/ppl_pips/examples/max.pip, demos/ppl_pips/examples/maxb.dat,
+	demos/ppl_pips/examples/pairi.dat,
+	demos/ppl_pips/examples/petit.dat,
+	demos/ppl_pips/examples/rairoi.dat,
+	demos/ppl_pips/examples/sor1d.pip,
+	demos/ppl_pips/examples/square.pip,
+	demos/ppl_pips/examples/test12i.dat: Added examples from PipLib
+	1.4.0.
+
+2010-02-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox: Typo fixed: we require
+	SICStus at least version 3.9.1.
+
+2010-02-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/tests/Makefile.am, Watchdog/tests/{simple1.cc =>
+	watchdog1.cc}: Test program renamed.
+
+2010-02-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/watchdog1.cc, tests/Polyhedron/weightwatch1.cc: 
+	Cosmetic changes.
+
+2010-02-17  Fabio Bossi <bossi at cs.unipr.it>
+
+	* doc/definitions.dox, src/Polyhedron.defs.hh: Added "affine from
+	relation" section into definitions.dox.  Fixed a reference to
+	"affine from relation".
+
+2010-02-17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/MIP_Problem.cc, src/PIP_Problem.cc: Drafted implementation for
+	PIP_Problem's operator<<.
+
+2010-02-17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/PIP_Problem/pipproblem1.cc: Tests adapted to use the new
+	method for printing a PIP problem solution.
+
+2010-02-17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc, src/PIP_Problem.defs.hh, src/PIP_Tree.cc,
+	src/PIP_Tree.defs.hh: Added method PIP_Problem::print_solution().
+	The new method exploits added virtual method
+	PIP_Tree_Node::print_tree().  Implementation is based on code from
+	the many display_solution() helper functions that are currently
+	spread in the tests.
+
+2010-02-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/pwl_header.hh, Watchdog/tests/simple1.cc: Cater for
+	systems where setitimer() is not provided (part 4).
+
+2010-02-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Watchdog.cc, Watchdog/src/Watchdog.inlines.hh: Cater
+	for systems where setitimer() is not provided (part 3).
+
+2010-02-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO, Watchdog/pwl-config.sed, Watchdog/src/Watchdog.cc,
+	Watchdog/src/Watchdog.defs.hh, Watchdog/src/Watchdog.inlines.hh: 
+	Cater for systems where setitimer() is not provided (part 2).
+
+2010-02-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Watchdog.defs.hh, Watchdog/src/Watchdog.inlines.hh: 
+	Cater for systems where setitimer() is not provided (part 1).
+
+2010-02-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/configure.ac, configure.ac: Build the PWL unless not
+	explicitly disabled at configuration time.
+
+2010-02-17  Fabio Bossi <bossi at cs.unipr.it>
+
+	* : commit 3c3188f08c10a1914cd545f35ba10a6ee464c3b9 Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Wed Feb 17 10:16:43 2010 +0100
+
+2010-02-17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/PIP_Problem/pipproblem1.cc: Tests 2, 5, 7, 8, 9 and 10 do
+	not overflow on 16 bit coefficients.
+
+2010-02-17  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Float.inlines.hh: Fixed a type error.
+
+2010-02-16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/PIP_Problem/pipproblem1.cc: Solved other instances of
+	test02, but using different cutting strategies.
+
+2010-02-16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Fixed bug introduced when improving coding style
+	in PIP_Solution_Node::solve.  Corrected wrong assertion in
+	PIP_Solution_Node::generate_cut.
+
+2010-02-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO: Important item added.
+
+2010-02-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c_implementation_common.cc: Unwanted inclusion
+	removed.
+
+2010-02-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/tests/pwl_test.cc, tests/ppl_test.cc: Use the right
+	preprocessor conditionals for PPL_HAVE_DECL_SIGACTION.
+
+2010-02-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c_implementation_common.cc: Warnings avoided.
+
+2010-02-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/tests/pwl_test.cc, tests/ppl_test.cc: Corrected several
+	problems.
+
+2010-02-16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Octagonal_Shape/upperboundifexact1.cc: Enable test12.
+
+2010-02-16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc, src/PIP_Problem.defs.hh: A few improvements to
+	PIP_Problem documentation.
+
+2010-02-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/tests/pip_test.c: Make the test trivially succeed
+	when coefficients are not large enough.
+
+2010-02-16  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/Cast_Floating_Point_Expression.inlines.hh, src/Makefile.am,
+	tests/Floating_Point_Expression/floatingpointexpr1.cc,
+	tests/ppl_test.hh: Fixed Cast_Floating_Point_Expression.inlines.hh
+	and added a test.
+
+2010-02-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/tests/pip_test.c: Improved error handling.  Cosmetic
+	improvements.
+
+2010-02-16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh, src/PIP_Tree.inlines.hh,
+	tests/PIP_Problem/ascii_dump_load1.cc,
+	tests/PIP_Problem/exceptions1.cc, tests/PIP_Problem/pipproblem2.cc: 
+	Added unit tests for inner class
+	PIP_Tree_Node::Artificial_Parameter.  Added operator!=() and swap()
+	methods: the last was necessary as we were inheriting it from
+	Linear_Expression.
+
+2010-02-16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/PIP_Problem/pipproblem2.cc: Added another test for code
+	coverage purposes.
+
+2010-02-16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc, src/PIP_Problem.defs.hh,
+	src/PIP_Problem.inlines.hh, src/PIP_Problem.templates.hh: Got rid of
+	unused Boolean flag PIP_Problem::initialized.
+
+2010-02-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_pips/ppl_pips_extra_man_text: Avoid non-ASCII
+	characters.
+
+2010-02-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_pips/ppl_pips_extra_man_text: Trailing whitespace
+	removed.
+
+2010-02-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_pips/Makefile.am: Install also ppl_pips.1.
+
+2010-02-16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/PIP_Problem/pipproblem2.cc: Added a couple of tests to
+	improve code coverage.
+
+2010-02-15  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/Cast_Floating_Point_Expression.defs.hh,
+	src/Cast_Floating_Point_Expression.inlines.hh,
+	src/Cast_Floating_Point_Expression.templates.hh,
+	src/Cast_Floating_Point_Expression.types.hh: Added classes.
+
+2010-02-15  Roberto Amadini <r.amadini at virgilio.it>
+
+	* doc/devref.doxyconf-html.in: Added a first implementation of
+	Cast_Floating_Point_Expression classes.
+
+2010-02-15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_pips/ppl_pips_extra_man_text: Put under Git control.
+
+2010-02-15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS: Avoid non-ASCII characters.
+
+2010-02-15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO, demos/ppl_lcdd/ppl_lcdd.1, demos/ppl_lpsol/ppl_lpsol.1,
+	demos/ppl_pips/ppl_pips.1, devtools/generate_man_pages,
+	doc/ppl-config.1: Added a draft man page for `ppl_pips'.  Other man
+	pages updated.
+
+2010-02-15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_pips/Makefile.am: Missing backslash added.
+
+2010-02-15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_pips/Makefile.am, demos/ppl_pips/expected_int16,
+	demos/ppl_pips/expected_int16_a, demos/ppl_pips/expected_int32,
+	demos/ppl_pips/expected_int32_a, demos/ppl_pips/expected_int64,
+	demos/ppl_pips/expected_int64_a, demos/ppl_pips/expected_int8,
+	demos/ppl_pips/expected_int8_a, demos/ppl_pips/expected_mpz_a: Added
+	missing expected results.
+
+2010-02-15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/configure.ac, Watchdog/src/pwl_header.hh: Improved the
+	NDEBUG machinery.
+
+2010-02-15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/PIP_Problem/pipproblem1.cc: Mark expected overflows.
+
+2010-02-15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/configure.ac, Watchdog/pwl-config.sed,
+	Watchdog/tests/pwl_test.cc, configure.ac, ppl-config.sed,
+	tests/ppl_test.cc: Improve portability to systems that do not
+	(fully) support Posix signal handling.
+
+2010-02-15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Version number bumped.
+
+2010-02-15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 05cdf3ade39391ba25dc992cabe93a7758e23dac Author: Enea
+	Zaffanella <zaffanella at cs.unipr.it> Date:   Mon Feb 15 11:18:23 2010
+	+0100
+
+2010-02-08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc, src/PIP_Problem.defs.hh, src/PIP_Tree.cc,
+	src/PIP_Tree.defs.hh, tests/PIP_Problem/ascii_dump_load1.cc: Drafted
+	PIP_Problem methods {total,external}_memory_in_bytes().
+
+2010-02-07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc, src/PIP_Problem.defs.hh, src/PIP_Tree.cc,
+	src/PIP_Tree.defs.hh, src/PIP_Tree.types.hh,
+	tests/PIP_Problem/ascii_dump_load1.cc,
+	tests/PIP_Problem/pipproblem1.cc: PIP_Problem ascii dump&load
+	methods now also dump/load problem solution.  Fixed error in
+	PIP_Tree_Node::ascii_load().  Added ascii dump&load methods to
+	PIP_Decision_Node.
+
+2010-02-06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc, tests/PIP_Problem/ascii_dump_load1.cc: In
+	ascii dump and load methods, also print pivot row strategy info.
+
+2010-02-06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/PIP_Problem/ascii_dump_load1.cc,
+	tests/PIP_Problem/exceptions1.cc, tests/PIP_Problem/pipproblem1.cc: 
+	Improving test coverage ratio.
+
+2010-02-06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Improved exception safety in method
+	PIP_Solution_Node::solve().
+
+2010-02-05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Clarified proper usage of
+	PIP_Solution_Node alternative copy constructor.  The Boolean
+	argument replaced by a tag struct type, since it was only used for
+	overloading resolution purposes.
+
+2010-02-05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Linear_Expression.cc, src/Linear_Expression.defs.hh,
+	src/PIP_Tree.cc: Add new friend function add_mul_assign() for
+	Linear_Expression.  Used new function to optimize a couple of
+	computations in PIP_Tree.cc.
+
+2010-02-05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Helper function negate_assign() rnamed as
+	complement_assign().
+
+2010-02-05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc, src/PIP_Tree.cc, src/PIP_Tree.defs.hh: 
+	Simplified interface for virtual method PIP_Tree_Node::solve().  No
+	longer using the PIP_Tree_Node*& parent_ref argument and direclty
+	returning the solution PIP_Tree_Node* instead of a status flag.
+
+2010-02-04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh, src/PIP_Tree.inlines.hh: 
+	Improved class PIP_Tree_Node::Artificial_Parameter.
+
+2010-02-04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc: Some improvements to method
+	PIP_Problem::solve().
+
+2010-02-03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Improved the last part of method
+	PIP_Solution_Node::solve().
+
+2010-02-03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: More progress on PIP_Solution_Node::solve().
+	Identified places where the current implementation is not exception
+	safe.
+
+2010-02-03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Further improved (huge) method
+	PIP_Solution_Node::solve().  Added a couple of comments regarding
+	parts where comments or code in unclear.
+
+2010-02-03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Improved method Tableau::is_better_pivot().
+
+2010-02-02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Started improving method
+	  PIP_Solution_Node::solve(): - limit scope of variables;   - try to use meaningful variable names.
+
+2010-02-01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc,
+	src/PIP_Problem.defs.hh, src/PIP_Tree.cc, src/PIP_Tree.defs.hh: 
+	Minor improvements to PIP_Problem documentation and C interface.
+
+2010-02-01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.defs.hh, src/PIP_Tree.inlines.hh: Got rid of
+	error-prone Tableau::s_capacity() and Tableau::t_capacity().
+
+2010-02-01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Improved method
+	PIP_Solution_Node::update_tableau().
+
+2010-02-01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Improved implementation of
+	PIP_Solution_Node::compatibility_check().  Besides readability and
+	stylistic changes, the change should also immprove robustness and
+	(to a lesser extent) performance.
+
+2010-01-31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Improved method
+	PIP_Solution_Node::::parametric_values().
+
+2010-01-31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Stylistic improvements to Tableau methods
+	normalize() and scale().
+
+2010-01-31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: A few more stylistic improvements.
+
+2010-01-31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh, src/PIP_Tree.inlines.hh: 
+	Several improvements to PIP_Solution_Node::generate_cut().  Added
+	method OK() to Artificial_Parameter.
+
+2010-01-31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Further optimization to helper function
+	column_lower().
+
+2010-01-31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Several minor stylistic
+	improvements.
+
+2010-01-30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Prefer C++ named casts to C style casts.
+
+2010-01-30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Minor readability improvements to row_normalize.
+
+2010-01-30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Optimized some computation in helper function
+	column_lower().
+
+2010-01-30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc, src/PIP_Tree.cc: Improved helper function
+	merge_assign(): add all new rows at once.
+
+2010-01-30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Corrected capacity mismatch bug in
+	PIP_Solution_Node::solve().
+
+2010-01-30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Improved consistency checks in method
+	PIP_Decision_Node::OK().
+
+2010-01-30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh, src/PIP_Tree.inlines.hh: 
+	Improved consistency checks in method
+	PIP_Solution_Node::Tableau::OK().  Prefer using
+	Coefficient_traits::const_reference in parameter passing.
+
+2010-01-30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.defs.hh: The Pip_Tree_Node:OK() method is now
+	virtual.  When overriding a virtual method in derived classes,
+	prefer repeating the virtual keyword for clarity.
+
+2010-01-30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.defs.hh, src/PIP_Tree.types.hh: Typedef for PIP_Tree
+	moved to PIP_Tree.types.hh.
+
+2010-01-30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.inlines.hh: Everyting else equal, prefer downward
+	iteration in for loop.
+
+2010-01-30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc: No need to check for null pointers before
+	deleting them.
+
+2010-01-25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Congruence_System.defs.hh, src/Generator_System.defs.hh,
+	src/Grid_Generator_System.defs.hh: Forward declare classes before
+	making them friends.  Included Grid.types.hh in Congruence_/Grid_Generator_
+	System.defs.hh.  Do not uselessly include Grid.types.hh in
+	Generator_system.defs.hh.
+
+2010-01-22  François Galea <francois.galea at uvsq.fr>
+
+	* tests/PIP_Problem/pipproblem1.cc: Added a not working incremental
+	solve test.
+
+2010-01-20  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Problem.cc, src/PIP_Tree.cc: Fixed bugs. Now test07 in
+	pipproblem2.cc is successful.
+
+2010-01-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/xsb_clpq.P,
+	interfaces/Prolog/XSB/xsb_clpq2.P: Fixed the omissions of
+	ppl_Polyhedron_is_empty/1 and ppl_Polyhedron_add_constraints/2.
+
+2010-01-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/xsb_pl_check.P: Fixed the omission of
+	ppl_set_irrational_precision/1 and ppl_irrational_precision/1.
+
+2010-01-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 9c19bc2b318a35016e0189f9552c98910be37f53 Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Sat Jan 9 16:32:08 2010 +0100
+
+2010-01-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 56ee86b9ccf001c8dc2ab1558332e9691b2eff3f Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Sat Jan 9 14:38:37 2010 +0100
+
+2010-01-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Temp.inlines.hh: Generate nicer identifiers for the
+	temporaries.
+
+2010-01-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/ex1.mps: Adapted to follow the IBM OSL
+	conventions for the MPS format.
+
+2010-01-05  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Fixed a bug. Now test08 and test09 in
+	pipproblem2.cc are successful.
+
+2010-01-04  François Galea <francois.galea at uvsq.fr>
+
+	* demos/ppl_pips/ppl_pips.cc, interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc, src/PIP_Problem.cc,
+	src/PIP_Problem.defs.hh, src/PIP_Tree.cc, src/PIP_Tree.defs.hh: 
+	Implemented an optional pivot row strategy for difficult problems.
+	It is deactivated by default as it is more compute intensive.
+
+2009-12-16  François Galea <francois.galea at uvsq.fr>
+
+	* demos/ppl_pips/ppl_pips.cc, interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc, src/PIP_Problem.cc,
+	src/PIP_Problem.defs.hh, src/PIP_Tree.cc: Added a more aggressive
+	cutting strategy which generates all possible cuts.
+
+2009-12-16  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Moved out the cut
+	generation code into a separate method.
+
+2009-12-16  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Moved huge block of code out of useless 'else'
+	block. Code reindentation.
+
+2010-01-04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/MIP_Problem.cc: Do not include <iostream> if PPL_NOISY_SIMPLEX
+	is defined to 0.
+
+2010-01-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/bump_copyright_years: Extended copyright years.
+
+2010-01-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 4d6c6db0470eb60cecbbed0a43a2b08d8539e95f Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Fri Jan 1 16:36:10 2010 +0100
+
+2010-01-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_pips/Makefile.am, demos/ppl_pips/examples/Makefile.am,
+	demos/ppl_pips/ppl_pips.cc, devtools/bump_copyright_years,
+	interfaces/C/tests/pip_test.c, src/PIP_Problem.cc,
+	src/PIP_Problem.defs.hh, src/PIP_Problem.inlines.hh,
+	src/PIP_Problem.templates.hh, src/PIP_Problem.types.hh,
+	src/PIP_Tree.cc, src/PIP_Tree.defs.hh, src/PIP_Tree.inlines.hh,
+	src/PIP_Tree.types.hh, tests/PIP_Problem/Makefile.am,
+	tests/PIP_Problem/ascii_dump_load1.cc,
+	tests/PIP_Problem/exceptions1.cc, tests/PIP_Problem/pipproblem1.cc,
+	tests/PIP_Problem/pipproblem2.cc: Extended copyright years.
+
+2010-01-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 488f55fbe874c4f3a85c0c0db8c59f7e83d615e0 Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Fri Jan 1 16:28:45 2010 +0100
+
+2009-12-30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 99a040ae53ddf2e369340274eb34d5211b1c642a Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Wed Dec 30 17:43:41 2009 +0100
+
+2009-12-30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/Makefile.am: Support building the Java
+	interface on MinGW.
+
+2009-12-30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am: Document conditionals.
+
+2009-12-30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Restore the use of the `win32-dll' Libtool option.
+	Use -no-undefined on all variants of Cygwin and MinGW.
+
+2009-12-30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Floating_Point_Expression/Makefile.am: Correction for
+	platforms where not all floating point types are supported.
+
+2009-12-30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Floating_Point_Expression/digitalfilters1.cc: Use the right
+	assignment operator.
+
+2009-12-29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Floating_Point_Expression/digitalfilters1.cc,
+	tests/Floating_Point_Expression/polyhedron1.cc,
+	tests/Floating_Point_Expression/polyhedron2.cc: Expected failures
+	revised.
+
+2009-12-29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Floating_Point_Expression/polyhedron1.cc,
+	tests/Floating_Point_Expression/polyhedron2.cc: Expected failured
+	revised.
+
+2009-12-29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Floating_Point_Expression/digitalfilters1.cc: Typo fixed.
+
+2009-12-29  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/BD_Shape.defs.hh, src/BD_Shape.templates.hh, src/Box.defs.hh,
+	src/Box.templates.hh, src/Octagonal_Shape.defs.hh,
+	src/Octagonal_Shape.templates.hh, src/Polyhedron.defs.hh,
+	src/Polyhedron.templates.hh,
+	tests/Floating_Point_Expression/bdshape1.cc,
+	tests/Floating_Point_Expression/digitalfilters1.cc,
+	tests/Floating_Point_Expression/octagonalshape1.cc,
+	tests/Floating_Point_Expression/polyhedron1.cc,
+	tests/Floating_Point_Expression/polyhedron2.cc: Renamed affine_image
+	on Linear Forms into affine_form_image.
+
+2009-12-29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Floating_Point_Expression/digitalfilters1.cc: Use the
+	general assignment and comparison functions.
+
+2009-12-28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit e86e2471429982e8141789e4adeb6ddd0cc1e326 Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Mon Dec 28 20:26:04 2009 +0100
+
+2009-12-28  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/Multiplication_Floating_Point_Expression.templates.hh: 
+	Improved Multiplication_Floating_Point_Expression::linearize.
+
+2009-12-26  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/Box.defs.hh, src/Box.templates.hh,
+	src/Octagonal_Shape.templates.hh,
+	tests/Floating_Point_Expression/Makefile.am,
+	tests/Floating_Point_Expression/digitalfilters1.cc,
+	tests/Floating_Point_Expression/floatingpointexpr1.cc: Implemented
+	Box<ITV>::affine_image on Interval Linear Forms.  Tests in
+	tests/Floating_Point_Expression actually use only IEEE754 floating
+	point format.
+
+2009-12-22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Version number bumped.
+
+2009-12-22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* INSTALL, Watchdog/INSTALL, Watchdog/compile,
+	Watchdog/config.guess, Watchdog/config.sub, compile, config.guess,
+	config.sub: Updated.
+
+2009-12-22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 4e2145f8d498bc3ea055a06a1244de677b7bbab5 Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Tue Dec 22 09:30:55 2009 +0100
+
+2009-12-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh, src/Boundary.defs.hh,
+	src/Circular_Interval.defs.hh, src/Interval.defs.hh,
+	src/Interval.inlines.hh, src/Octagonal_Shape.templates.hh,
+	src/checked_float.inlines.hh, src/globals.defs.hh: Never leave
+	operators at end of line.
+
+2009-12-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Boundary.defs.hh, src/Circular_Interval.defs.hh,
+	src/Difference_Floating_Point_Expression.defs.hh,
+	src/Division_Floating_Point_Expression.defs.hh,
+	src/Division_Floating_Point_Expression.templates.hh,
+	src/Floating_Point_Expression.templates.hh, src/Interval.defs.hh,
+	src/Interval.inlines.hh, src/MIP_Problem.cc,
+	src/Multiplication_Floating_Point_Expression.defs.hh,
+	src/Multiplication_Floating_Point_Expression.templates.hh,
+	src/Opposite_Floating_Point_Expression.defs.hh,
+	src/Sum_Floating_Point_Expression.defs.hh,
+	src/checked_float.inlines.hh, src/wrap_assign.hh: Never leave
+	operators at end of line.
+
+2009-12-20  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/Float.defs.hh, src/Floating_Point_Expression.templates.hh,
+	src/Multiplication_Floating_Point_Expression.templates.hh,
+	tests/Floating_Point_Expression/Makefile.am,
+	tests/Floating_Point_Expression/bdshape1.cc,
+	tests/Floating_Point_Expression/bdshape2.cc,
+	tests/Floating_Point_Expression/digitalfilters1.cc,
+	tests/Floating_Point_Expression/floatingpointexpr1.cc,
+	tests/Floating_Point_Expression/linearform1.cc,
+	tests/Floating_Point_Expression/octagonalshape1.cc,
+	tests/Floating_Point_Expression/octagonalshape2.cc,
+	tests/Floating_Point_Expression/polyhedron1.cc,
+	tests/Floating_Point_Expression/polyhedron2.cc: Several corrections
+	in tests and source code.  Now, in all tests of
+	tests/Floating_Point_Expression/ we assume that analyzer format must
+	be less precise or equal than analyzed format.
+
+2009-12-19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 9784b8165b6cb1dea5eb6d20b4cebca7ecc780fd Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Sat Dec 19 11:46:22 2009 +0100
+
+2009-12-14  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/Floating_Point_Expression.templates.hh,
+	tests/Floating_Point_Expression/digitalfilters1.cc: Added Linear
+	Form Intervalization on rate limiter test.
+
+2009-12-11  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/digitalfilters1.cc: Improved
+	test01, ..., test04.
+
+2009-12-07  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/Makefile.am,
+	tests/Floating_Point_Expression/digitalfilters1.cc,
+	tests/Floating_Point_Expression/ratelimiter.cc: Removed redundant
+	code.
+
+2009-12-02  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/digitalfilters1.cc: Fixed
+	comments.
+
+2009-11-30  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Problem.defs.hh: Improved the documentation of the PIP
+	solver.
+
+2009-11-30  François Galea <francois.galea at uvsq.fr>
+
+	* demos/ppl_pips/ppl_pips.cc, interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc,
+	interfaces/C/tests/pip_test.c, src/PIP_Tree.cc,
+	src/PIP_Tree.defs.hh, tests/PIP_Problem/pipproblem1.cc: Simplified
+	the solution tree exploration method.  Including, the
+	PIP_Tree_Node::insert_artificials method has been removed.
+
+2009-11-29  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* tests/Floating_Point_Expression/Makefile.am: Fixed a typo.
+
+2009-11-29  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* tests/Floating_Point_Expression/Makefile.am,
+	tests/Floating_Point_Expression/ratelimiter.cc: Added a rate limiter
+	test that pass without intersection between the two domain.
+
+2009-11-28  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/digitalfilters1.cc: Improved tests
+	on rate limiter. They all pass now.
+
+2009-11-27  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Problem.defs.hh: Modified the documentation of the
+	PIP_Problem class.
+
+2009-11-27  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Fixed a regression.
+
+2009-11-26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/PIP_Problem/pipproblem2.cc: Test test10() in pipproblem2.cc
+	seems to show another bug.
+
+2009-11-26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/PIP_Problem/Makefile.am,
+	tests/PIP_Problem/ascii_dump_load1.cc: Added a few tests for the
+	PIP_Problem ascii_dump/load methods.
+
+2009-11-26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc: Properly set status flags when solving a
+	PIP_Problem having no constraints.  Minor correction to ascii_dump
+	method.
+
+2009-11-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO: One item added.
+
+2009-11-26  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Changed the cut generation strategy in
+	compatibility_check.  Now several cuts may be generated in a single
+	pass.
+
+2009-11-26  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Changed the pivot row selection algorithm in
+	compatibility_check.  It now selects the row which maximizes the
+	lexico-minimal pivot column.
+
+2009-11-26  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Minor cosmetic code fixes.
+
+2009-11-26  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Moved the lexico-minimum column search algorithm
+	to a separate function.
+
+2009-11-25  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Removed useless utility function.
+
+2009-11-26  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Problem.cc: Fixed a regression.
+
+2009-11-24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc, src/PIP_Problem.defs.hh,
+	src/PIP_Problem.templates.hh, tests/PIP_Problem/exceptions1.cc,
+	tests/PIP_Problem/pipproblem2.cc: PIP_Problem can handle strict
+	inequalities: corresponding checks removed.  Got rid of internal
+	status SATISFIABLE, which was unused.  Corrected several minor typos
+	(missing spaces) in exception messages.  Added a new test
+	(pipproblem2.cc, test09) showing what seems to be a bug.
+
+2009-11-24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/PIP_Problem/pipproblem2.cc: Test test07() in pipproblem2.cc
+	shows a bug in PIP_Problem.  Apparently, we cannot incrementally add
+	new constraints to a PIP_Problem taht was already solved.
+
+2009-11-24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc, src/PIP_Problem.defs.hh,
+	src/PIP_Problem.inlines.hh, src/PIP_Problem.templates.hh,
+	src/PIP_Tree.cc, src/PIP_Tree.defs.hh,
+	tests/PIP_Problem/pipproblem2.cc: Prefer not_a_dimension() as a
+	marker if the big parameter is not set.
+
+2009-11-24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/PIP_Problem/Makefile.am, tests/PIP_Problem/exceptions1.cc: 
+	Started adding tests checking for the right PIP_Problem exceptions
+	are thrown.
+
+2009-11-24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/PIP_Problem/Makefile.am, tests/PIP_Problem/pipproblem2.cc: 
+	Started adding tests to increase coverage.
+
+2009-11-23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/PIP_Problem/pipproblem1.cc: Minor improvements to avoid
+	assertion failures on iterators.
+
+2009-11-23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog_common.cc,
+	interfaces/Prolog/ppl_prolog_common.defs.hh: Started drafting a
+	Prolog interface for PIP_Problem.
+
+2009-11-23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc, src/PIP_Problem.cc: In
+	PIP_Problem::clear(), do also reset the big parameter dimension.
+	Added C language functions for getting/setting the big parameter
+	dimension.
+
+2009-11-23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_pips/Makefile.am, demos/ppl_pips/ppl_pips.cc,
+	interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc, src/PIP_Problem.cc,
+	src/PIP_Problem.defs.hh, src/PIP_Problem.inlines.hh,
+	src/PIP_Problem.types.hh, src/PIP_Tree.cc: Enumerations for control
+	parameters put inside class PIP_Problem.  Interfaced methods for
+	getting/setting control parameters (in C).  Other minor stylistic
+	improvements here and there.
+
+2009-11-23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc, src/PIP_Problem.inlines.hh,
+	src/PIP_Problem.templates.hh, src/PIP_Problem.types.hh: Corrected a
+	bug in method swap.  Several minor stylistic improvements.
+
+2009-11-23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO: Item added.
+
+2009-11-22  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/Variable_Floating_Point_Expression.inlines.hh,
+	tests/Floating_Point_Expression/Makefile.am,
+	tests/Floating_Point_Expression/digitalfilters1.cc: Modified tests
+	on rate limiter. Removed useless comments.
+
+2009-11-20  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Optimized the solver main loop using
+	PPL_DIRTY_TEMP_COEFFICIENT's.
+
+2009-11-19  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Added a rule to the cut methods to always choose
+	the simplest parametric part.  This tends to provide simpler solution trees on some problems.
+
+2009-11-19  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Added a mechanism to avoid
+	generating the same Artificial_Parameter twice.
+
+2009-11-19  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh, src/PIP_Tree.inlines.hh: 
+	Added a pointer to parent node in PIP_Tree_Node.
+
+2009-11-19  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Improved the deepest row selection cut strategy.
+
+2009-11-19  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Correctly rewrote ascii_dump/ascii_load methods
+	for PIP_Solution_Node.
+
+2009-11-19  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Removed useless debugging display code.
+
+2009-11-16  François Galea <francois.galea at uvsq.fr>
+
+	* demos/ppl_pips/ppl_pips.cc: Added an option in PIP standalone
+	solver to solve the problem several times.  This may be convenient for benchmarking purposes.
+
+2009-11-16  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Problem.cc: Fixed a bug in PIP_Problem copy constructor.
+
+2009-11-16  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Updated the deepest cut strategy; now only
+	selects rows associated to initial variables.  This results in performance increase in most problems.
+
+2009-11-16  François Galea <francois.galea at uvsq.fr>
+
+	* demos/ppl_pips/ppl_pips.cc: Minor fix fixes in standalone solver.
+
+2009-11-16  François Galea <francois.galea at uvsq.fr>
+
+	* demos/ppl_pips/ppl_pips.cc: Fixed a bug in standalone solver when
+	using PIPlib files with a big parameter.
+
+2009-11-13  François Galea <francois.galea at uvsq.fr>
+
+	* demos/ppl_pips/ppl_pips.cc, src/PIP_Problem.cc,
+	src/PIP_Problem.defs.hh, src/PIP_Problem.inlines.hh,
+	src/PIP_Problem.templates.hh, src/PIP_Tree.cc, src/PIP_Tree.defs.hh: 
+	Added support for an arbitrarily big parameter.
+
+2009-11-13  François Galea <francois.galea at uvsq.fr>
+
+	* demos/ppl_pips/ppl_pips.cc, src/PIP_Problem.cc: Switched the
+	default cut generation strategy to first row.
+
+2009-11-13  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Problem.cc: Fixed a bug.
+
+2009-11-13  François Galea <francois.galea at uvsq.fr>
+
+	* demos/ppl_pips/ppl_pips.cc, src/PIP_Problem.cc,
+	src/PIP_Problem.defs.hh, src/PIP_Problem.types.hh, src/PIP_Tree.cc: 
+	Added a control parameter for cut generation strategy.
+
+2009-11-10  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Problem.cc, src/PIP_Problem.defs.hh,
+	src/PIP_Problem.inlines.hh, src/PIP_Problem.templates.hh,
+	src/PIP_Problem.types.hh, src/PIP_Tree.cc, src/PIP_Tree.defs.hh: 
+	Added a mechanism for setting/getting control parameter values.
+
+2009-11-10  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Made use of virtual methods
+	in PIP_Tree_Node::clone().
+
+2009-11-05  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Fixed a bug.
+
+2009-11-05  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Removed temporary debug code.
+
+2009-11-05  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Improved the support for
+	equality constraints.
+
+2009-11-04  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Improved basis handling in compatibility_check.
+
+2009-11-04  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Added coherency checks in PIP_Solution_Node.
+
+2009-11-04  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Improved basis handling
+	with support for slack variables and bijective variable mapping.
+
+2009-11-03  François Galea <francois.galea at uvsq.fr>
+
+	* interfaces/C/tests/pip_test.c: Implemented an example of solution
+	tree spanning and display using the C interface.
+
+2009-11-03  François Galea <francois.galea at uvsq.fr>
+
+	* interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc, src/PIP_Tree.defs.hh,
+	src/PIP_Tree.inlines.hh: Implemented the art_parameter_count method;
+	updated the C interface.
+
+2009-11-02  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Implemented Bland's anti-cycling rule in
+	compatibility_check.
+
+2009-11-02  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Proper scaling of cuts in compatiblity_check.
+
+2009-10-30  François Galea <francois.galea at uvsq.fr>
+
+	* demos/ppl_pips/ppl_pips.cc: Minor fix in PIP standalone solver.
+
+2009-10-29  François Galea <francois.galea at uvsq.fr>
+
+	* demos/ppl_pips/ppl_pips.cc: Fixed a bug in PIP standalone solver.
+
+2009-10-28  François Galea <francois.galea at uvsq.fr>
+
+	* demos/ppl_pips/ppl_pips.cc: Fixed one bug in standalone PIP
+	solver.
+
+2009-10-28  François Galea <francois.galea at uvsq.fr>
+
+	* demos/ppl_pips/ppl_pips.cc: Added support for Polylib-formatted
+	files in standalone solver.
+
+2009-10-27  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Problem.cc, src/PIP_Tree.cc,
+	tests/PIP_Problem/pipproblem1.cc: Added support for equality
+	constraints; fixed a bug for strict inequalities.
+
+2009-10-27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Version number bumped.
+
+2009-10-27  François Galea <francois.galea at uvsq.fr>
+
+	* interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc, src/PIP_Tree.defs.hh: 
+	Fixed the C interface and the documentation for PIP_Tree_Node
+	methods.  The concerned methods are insert_artificials and
+	get_parametric_values.
+
+2009-10-26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc: Another pass on the C
+	interface for PIP_Problem related classes.  Removed a few useless
+	functions and added a few missing ones, including input/output
+	utilities; also slightly improved the documentation.
+
+2009-10-25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc,
+	src/PIP_Problem.defs.hh: Interfaced constructor/destructor for
+	Artificial_Parameter_Sequence iterators.  These iterators should be
+	used similarly to the ones defined on systems of constraints or
+	generators.  Corrected a couple of bugs in the documentation.
+
+2009-10-24  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc,
+	interfaces/C/tests/pip_test.c: Added increment, dereference and
+	equal functions for
+	ppl_Artificial_Parameter_Sequence_const_iterator_t's Fixed a couple of bugs.
+
+2009-10-23  François Galea <francois.galea at uvsq.fr>
+
+	* interfaces/C/tests/Makefile.am, interfaces/C/tests/pip_test.c: 
+	Added test program for PIP C interface.
+
+2009-10-23  François Galea <francois.galea at uvsq.fr>
+
+	* interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc, src/PIP_Problem.cc,
+	src/PIP_Problem.defs.hh: New parameter choice method. Updated the C
+	interface.
+
+2009-10-22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README: Refer to PPL 0.11, not 0.10.
+
+2009-10-22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Version number bumped.
+
+2009-10-22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am: Ditribute also MIP_Problem.types.hh,
+	PIP_Tree.types.hh and PIP_Problem.types.hh.
+
+2009-10-22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_pips/Makefile.am: Adapted to the checking of ppl_pips.
+
+2009-10-22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_pips/expected_mpz: Put under Git control.
+
+2009-10-22  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Removed invalid optimization in context
+	compatibility check.
+
+2009-10-21  François Galea <francois.galea at uvsq.fr>
+
+	* configure.ac, demos/Makefile.am, demos/ppl_pips/Makefile.am,
+	demos/ppl_pips/examples/Makefile.am,
+	demos/ppl_pips/examples/test02.dat, demos/ppl_pips/ppl_pips.cc: 
+	Added a standalone PIP solver demo program.
+
+2009-10-21  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh,
+	tests/PIP_Problem/pipproblem1.cc: Context compatibility check now
+	searches for valid integer solutions.
+
+2009-10-20  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Parameter compatibility
+	check now applies a revised dual simplex method.
+
+2009-10-20  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Added display of computed row parameter signs in
+	noisy PIP mode.
+
+2009-10-20  François Galea <francois.galea at uvsq.fr>
+
+	* tests/PIP_Problem/pipproblem1.cc: Added new test, which should
+	return an empty solution.
+
+2009-10-20  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* doc/definitions.dox, doc/ppl.sty,
+	src/Difference_Floating_Point_Expression.defs.hh,
+	src/Division_Floating_Point_Expression.defs.hh,
+	src/Floating_Point_Expression.defs.hh,
+	src/Multiplication_Floating_Point_Expression.defs.hh,
+	src/Opposite_Floating_Point_Expression.defs.hh,
+	src/Sum_Floating_Point_Expression.defs.hh,
+	src/Variable_Floating_Point_Expression.defs.hh: Documentation
+	updates.  Fixed parenthesis in ppl.sty as suggested.  Fixed few
+	typos.
+
+2009-10-20  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Always stop compatibility check at first negative
+	row.
+
+2009-10-17  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/digitalfilters1.cc: Added FIXME
+	notes.
+
+2009-10-16  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/digitalfilters1.cc: Added a test
+	on BD_Shape, improved a test on Polyhedra.
+
+2009-10-16  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/Float.defs.hh, src/Floating_Point_Expression.defs.hh,
+	src/Floating_Point_Expression.templates.hh,
+	tests/Floating_Point_Expression/Makefile.am,
+	tests/Floating_Point_Expression/floatingpointexpr1.cc: Added BASE
+	field to floating point struct.  Modified absolute/relative error
+	definition using FP_Format::BASE.  Modified tests using
+	FP_Format::BASE.
+
+2009-10-16  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Improved the heuristic for the choice of the
+	deepest cut.
+
+2009-10-16  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Better use of scaling and normalization to keep
+	low coefficient values where possible.
+
+2009-10-16  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc, tests/PIP_Problem/pipproblem1.cc: Corrected
+	invalid compatibility check algorithm.
+
+2009-10-15  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/Float.defs.hh: Added float_ibm_single declaration into class
+	Float<T>.
+
+2009-10-14  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* doc/devref.doxyconf-html.in: Added
+	Floating_Point_Expression.templates.hh into documentation.
+
+2009-10-14  François Galea <francois.galea at uvsq.fr>
+
+	* tests/PIP_Problem/pipproblem1.cc: Added a test case illustrating
+	an instability in the PIP solver.
+
+2009-10-13  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/digitalfilters1.cc: Modified
+	widening in test05 and test06.
+
+2009-10-13  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Integrality check only on the original variables
+	(not slack ones).
+
+2009-10-13  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Optimized pivot operation.
+
+2009-10-10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c_implementation_common.cc: Uncommented C
+	interface code for PIP_Problem assignment.
+
+2009-10-09  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc: More functions for the
+	C interface to the PIP Tree class - in particular, corresponding to the PIP_Solution_Node and
+	PIP_Decision_Node C++ methods.  Various small bugs fixed in the PIP_Problem C interface code.
+
+2009-10-09  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc: Fixed various bugs in
+	the C interface for PIP_Problem methods.
+
+2009-10-09  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Improved best pivot row selection heuristic.
+
+2009-10-09  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc,
+	interfaces/C/ppl_c_implementation_common.inlines.hh: Added several C
+	functions for PIP_Tree_Node and Artificial_Parameter*.
+
+2009-10-08  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc,
+	interfaces/C/ppl_c_implementation_common.inlines.hh: Added the c
+	interface for as_decision() and as_solution().
+
+2009-10-09  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Problem.cc, src/PIP_Tree.cc, src/PIP_Tree.defs.hh,
+	tests/PIP_Problem/pipproblem1.cc: Fixed memory managment issue in
+	copy constructor of PIP_Problem.
+
+2009-10-09  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Problem.cc: Added call to the solver to check problem
+	satisfiability.
+
+2009-10-08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc, src/PIP_Problem.defs.hh,
+	src/PIP_Problem.inlines.hh, tests/PIP_Problem/pipproblem1.cc: Added
+	implementations for PIP_Problem swap and operator= methods.  Added a
+	few consistency checks in method OK().  Pointed out a resource
+	management bug in copy constructor that can result in memory
+	corruption. Added test04() to pipproblem1.cc (currently commented
+	out) showing that a segmentation fault can be obtained when copying
+	a PIP_Problem object having a non-null solution tree.
+
+2009-10-08  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/C/ppl_c_header.h: Added missing headers for
+	ppl_PIP_Problem_solve and ppl_PIP_Problem_optimizing_solution.  Variable names made consistent with the domain.  Documentation for ppl_PPI_Problem_is_satisfiable() improved.
+
+2009-10-08  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Problem.cc, src/PIP_Problem.defs.hh: Removed trailing
+	whitespaces.
+
+2009-10-08  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/C/ppl_c_implementation_common.cc: Uncommented methods
+	for the C interface for the PIP_Problem.
+
+2009-10-08  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Problem.cc: Implemeted missing methods.
+
+2009-10-08  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/C/ppl_c_implementation_common.cc: Uncommented C
+	interface code for add_constraint(), add_constraints() and
+	operator=().
+
+2009-10-07  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Problem.cc, src/PIP_Tree.cc: Implemented missing methods.
+
+2009-10-07  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Problem.cc, src/PIP_Problem.inlines.hh: Fixed memory leak.
+
+2009-10-07  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/Float.inlines.hh: Removed a comment.
+
+2009-10-07  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/C/ppl_c_implementation_common.cc,
+	interfaces/C/tests/print_to_buffer.c,
+	interfaces/C/tests/print_to_buffer.h: Commented PIP_Problem code in
+	the C interface that requires methods in the C++ interface that are
+	not yet implemented.  Added declarations for printing the PIP_Problem and PIP_Tree in the
+	tests.
+
+2009-10-07  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/C/ppl_c_implementation_common.cc: More consistent
+	naming of variables.
+
+2009-10-07  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc,
+	interfaces/C/ppl_c_implementation_common.inlines.hh: Added 2 more
+	functions for the C interface to the PIP_Problem class.
+
+2009-10-07  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/digitalfilters1.cc: Fixed test05.
+
+2009-10-07  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc,
+	interfaces/C/ppl_c_implementation_common.inlines.hh: Added a very
+	basic interface for C to the PIP_Problem class.  Note this is incomplete and does not support methods with PIP_Tree.
+
+2009-10-06  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/Float.defs.hh, src/Float.inlines.hh,
+	tests/Floating_Point_Expression/digitalfilters1.cc: Using uint16_t
+	instead of uint32_t in float_ieee754_half.  Extended
+	float_ibm_single.
+
+2009-10-06  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Problem.cc, src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Removed
+	useless pointer to problem object in PIP_Tree_Node.
+
+2009-10-06  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.defs.hh: Minor fixes in Doxygen documentation.
+
+2009-10-06  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Improved accuracy of context compatibility
+	checks.
+
+2009-10-06  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/digitalfilters1.cc: Changed
+	loop-guards in the first four test of digitalfilters1.cc
+
+2009-10-06  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Added generation of non-parametric cuts.
+
+2009-10-06  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Improved display in noisy
+	mode.
+
+2009-10-06  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Fixed bug in compatiblity_check().
+
+2009-10-06  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/digitalfilters1.cc: Fixed test03.
+
+2009-10-06  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/Float.defs.hh,
+	tests/Floating_Point_Expression/digitalfilters1.cc: Computed the
+	largest non-infinity number in digitalfilters1.cc Fixed a bug in
+	Float.defs.hh
+
+2009-10-05  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/digitalfilters1.cc: Removed
+	comments.
+
+2009-10-05  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* tests/Floating_Point_Expression/digitalfilters1.cc: Minor changes.
+
+2009-10-05  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/Float.defs.hh, src/Float.inlines.hh,
+	tests/Floating_Point_Expression/digitalfilters1.cc: Extended
+	float_ieee754_half format.  Fixed a function call in test06 with a
+	possible solution.
+
+2009-10-04  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/BD_Shape.templates.hh: Removed few comments.
+
+2009-10-05  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/Polyhedron.templates.hh,
+	tests/Floating_Point_Expression/digitalfilters1.cc,
+	tests/Floating_Point_Expression/polyhedron1.cc,
+	tests/Floating_Point_Expression/polyhedron2.cc: Fixed
+	Polyhedron::refine_with_linear_form_inequality.  Adapted tests on
+	polyhedra.
+
+2009-10-05  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/digitalfilters1.cc: Removed
+	abstract_store parameter of Polyhedron::affine_image and
+	Polyhedron::refine_with_linear_form_inequality in digitalfilters1.cc
+
+2009-10-05  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh, src/Polyhedron.templates.hh: Fixed a few
+	typos.
+
+2009-10-05  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh, src/Polyhedron.inlines.hh,
+	src/Polyhedron.templates.hh: Do not use an abstract store: extract
+	lower and upper bounds of variables from the polyhedron itself
+	instead.  Fixed a bug in refine_with_linear_form_inequality that was
+	triggered when both parameters left and right were bounded but left
+	- right was not bounded.
+
+2009-10-05  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/BD_Shape.templates.hh,
+	tests/Floating_Point_Expression/digitalfilters1.cc: Modified test03,
+	test05 and test06.
+
+2009-10-05  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Added code for selection of the deepest cut.
+
+2009-10-04  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/digitalfilters1.cc: Modified
+	test01, test02, test03 and test04.
+
+2009-10-04  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh, src/PIP_Tree.inlines.hh,
+	tests/PIP_Problem/pipproblem1.cc: Implemented cut generation. Not
+	stable yet.
+
+2009-10-04  François Galea <francois.galea at uvsq.fr>
+
+	* tests/PIP_Problem/pipproblem1.cc: Added test problem.
+
+2009-10-03  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/digitalfilters1.cc: Added widening
+	and extrapolation operators in test01, test02, test03 and test04.
+
+2009-10-03  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/digitalfilters1.cc: Fixed
+	comments.
+
+2009-10-02  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/digitalfilters1.cc: Implemented a
+	test on polyhedra abstract domain with linearization of floating
+	point expressions.
+
+2009-10-02  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/digitalfilters1.cc: Implemented a
+	test on rate limiter which uses octagons abstract domain and
+	linearization of floating point expressions.
+
+2009-10-02  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh, src/PIP_Tree.inlines.hh: 
+	Unified the common denominator between both matrices of the tableau.
+
+2009-10-01  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/BD_Shape.templates.hh,
+	tests/Floating_Point_Expression/Makefile.am,
+	tests/Floating_Point_Expression/bdshape2.cc,
+	tests/Floating_Point_Expression/digitalfilters1.cc: Improved
+	BD_Shape<T>::refine_with_linear_form_inequality.  Corrected
+	BD_Shape<T>::affine_image.  Adapted tests in bshape2.cc and finished
+	test02 in digitalfilters1.cc
+
+2009-10-01  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/BD_Shape.templates.hh,
+	tests/Floating_Point_Expression/digitalfilters1.cc: Fixed bug in
+	BD_Shape<T>::two_variables_affine_image.  Added a first
+	implementation of test02.
+
+2009-10-01  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/digitalfilters1.cc: Implemented
+	test of rate limiter using polyhedra abstract domain.
+
+2009-10-01  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/Makefile.am,
+	tests/Floating_Point_Expression/digitalfilters1.cc: Modified test03
+	and test04.
+
+2009-10-01  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Polyhedron.templates.hh: Fixed a few assertions.
+
+2009-10-01  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.inlines.hh,
+	tests/PIP_Problem/pipproblem1.cc: Fixed bugs.
+
+2009-10-01  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/Octagonal_Shape.templates.hh,
+	src/Variable_Floating_Point_Expression.defs.hh,
+	src/Variable_Floating_Point_Expression.inlines.hh,
+	tests/Floating_Point_Expression/Makefile.am,
+	tests/Floating_Point_Expression/digitalfilters1.cc: Corrected tests
+	with Intervals and Octagons in digitalfilters1.cc.  Temporarily
+	modified tests/Floating_Point_Expression/Makefile.am Implemented
+	Variable_Floating_Point_Expression::linear_form_assign.  Inserted
+	invariant assertions in Octagonal_Shape<T>::affine_image.
+
+2009-10-01  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.inlines.hh, src/Polyhedron.inlines.hh: Added
+	two TODO notes.
+
+2009-09-30  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Problem.cc, src/PIP_Tree.cc, src/PIP_Tree.defs.hh: 
+	Implemented handling of artificial parameters, preparing cut
+	generation.
+
+2009-09-30  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/BD_Shape.defs.hh, src/BD_Shape.templates.hh: Removed ad
+	useless parameter in linear_form_upperbound();
+
+2009-09-30  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/BD_Shape.templates.hh,
+	tests/Floating_Point_Expression/Makefile.am,
+	tests/Floating_Point_Expression/bdshape2.cc: Few tests added; Fixed
+	refine_with_linear_form_inequality();
+
+2009-09-29  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
+	src/BD_Shape.templates.hh,
+	tests/Floating_Point_Expression/bdshape2.cc: Added few tests; Fixed
+	refine_with_linear_form_inequality() and auxiliary functions;
+	Implemented inline void refine_fp_interval_abstract_store();
+
+2009-09-29  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Problem.cc, src/PIP_Problem.defs.hh,
+	src/PIP_Problem.templates.hh, src/PIP_Tree.cc,
+	tests/PIP_Problem/pipproblem1.cc: Added support for adding
+	constraints in initial context.
+
+2009-09-29  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Problem.cc, src/PIP_Tree.cc: Proper update of internal
+	state of PIP_Problem object.
+
+2009-09-29  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/BD_Shape.templates.hh,
+	tests/Floating_Point_Expression/bdshape2.cc: Added a test.  Fixed a
+	bug in left_one_var_refine().
+
+2009-09-29  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Fixed regression due to change in index ordering
+	in parameter constraints.
+
+2009-09-29  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/digitalfilters1.cc: Added a
+	preliminary version of test05. Edited previous tests.
+
+2009-09-29  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/BD_Shape.templates.hh,
+	tests/Floating_Point_Expression/Makefile.am,
+	tests/Floating_Point_Expression/bdshape2.cc: Added two tests; Fixed
+	a bug in left_one_var_refine() function.
+
+2009-09-28  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/digitalfilters1.cc: Added a first
+	implementation of tests on Octagon and Polyhedra.
+
+2009-09-29  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* tests/Floating_Point_Expression/refinebdshape1.cc: Deleted a
+	useless tests file.
+
+2009-09-28  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/Makefile.am,
+	tests/Floating_Point_Expression/digitalfilters1.cc,
+	tests/Floating_Point_Expression/octagonalshape2.cc: Started to test
+	analysis on digital filters.  Temporarily modified
+	tests/Floating_Point_Expression/Makefile.am
+
+2009-09-28  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/BD_Shape.templates.hh,
+	tests/Floating_Point_Expression/Makefile.am,
+	tests/Floating_Point_Expression/bdshape2.cc,
+	tests/Floating_Point_Expression/refinebdshape1.cc: Fixed few bugs in
+	inhomogeneous_refine();
+
+2009-09-28  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/polyhedron2.cc: Improved test05
+
+2009-09-28  Fabio Bossi <bossi at cs.unipr.it>
+
+	* tests/Floating_Point_Expression/polyhedron2.cc: Fixed test05.
+
+2009-09-28  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/polyhedron2.cc: Modified test04
+	and test05.
+
+2009-09-26  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/polyhedron2.cc: Modified
+	poyhedron2.cc in order to test NNC_Polyhedron and
+	Polyhedron::generalized_refine_with_linear_form_inequality.
+
+2009-09-26  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/Makefile.am: Temporarily edited
+	tests/Floating_Point_Expression/Makefile.am
+
+2009-09-26  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/polyhedron2.cc: Added another
+	test.
+
+2009-09-26  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/polyhedron2.cc: Added a test in
+	polyhedron2.cc
+
+2009-09-26  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.inlines.hh, src/Polyhedron.inlines.hh,
+	src/Polyhedron.templates.hh: Added missing const qualifiers.
+
+2009-09-25  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh, src/Polyhedron.inlines.hh,
+	src/Polyhedron.templates.hh: Implemented
+	generalized_refine_with_linear_form_inequality.  Adapted
+	refine_with_linear_form_inequality to accept strict inequalities on
+	not necessarily closed polyhedra.
+
+2009-09-25  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.defs.hh, src/Octagonal_Shape.inlines.hh: Added
+	a trivial implementation of
+	generalized_refine_with_linear_form_inequality.
+
+2009-09-25  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/polyhedron1.cc: Finished to test
+	Polyhedron::affine_image.
+
+2009-09-25  Fabio Bossi <bossi at cs.unipr.it>
+
+	* tests/Floating_Point_Expression/polyhedron1.cc: Fixed test04: do
+	not perform floating point operations outside of the interval domain
+	unless the result can be exactly represented.
+
+2009-09-25  Fabio Bossi <bossi at cs.unipr.it>
+
+	* tests/Floating_Point_Expression/Makefile.am,
+	tests/Floating_Point_Expression/polyhedron2.cc: Added a couple of
+	simple tests.  Makefile fixed.
+
+2009-09-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 8ca4f6890910a146f573d7a45d135aa6a07b6ece Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Thu Sep 24 20:48:16 2009 +0200
+
+2009-09-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/PIP_Problem/{pipproblem.cc => pipproblem1.cc}: Renamed to
+	follow the PPL convention on test file naming.
+
+2009-09-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/PIP_Problem/pipproblem.cc: Added test02().
+
+2009-09-24  Fabio Bossi <bossi at cs.unipr.it>
+
+	* tests/Floating_Point_Expression/polyhedron1.cc,
+	tests/Floating_Point_Expression/polyhedron2.cc: Fixed test05.  Added
+	a new test file.
+
+2009-09-24  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/polyhedron1.cc: Added two tests.
+
+2009-09-24  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/BD_Shape.defs.hh, src/BD_Shape.templates.hh: Removed two
+	unused parameters; Fixed two function calls.
+
+2009-09-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Interval.templates.hh: Fixed operator>>(std::istream&,
+	Interval<Boundary, Info>&).
+
+2009-09-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Interval.templates.hh: Spurious print statement removed.
+
+2009-09-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Interval.templates.hh: Fixed operator>>(std::istream&,
+	Interval<Boundary, Info>&).
+
+2009-09-24  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Constant_Floating_Point_Expression.defs.hh,
+	src/Constant_Floating_Point_Expression.inlines.hh: Added the
+	constructor Constant_Floating_Point_Expression(const char*).
+
+2009-09-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Interval.templates.hh: Spurious print statement removed.
+
+2009-09-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit e61defee29d0688a72fbe707157351a85c9a35a1 Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Thu Sep 24 16:23:44 2009 +0200
+
+2009-09-24  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Polyhedron.templates.hh: Added a couple of assertions.
+
+2009-09-24  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/polyhedron1.cc: Added some tests
+	in tests/Floating_Point_Expression/polyhedron1.cc
+
+2009-09-24  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh, src/Polyhedron.templates.hh: Forgot to
+	pass the common denominator to bounded_affine_image.
+
+2009-09-24  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/BD_Shape.defs.hh, src/BD_Shape.templates.hh: Completed the
+	method refine_with_linear_form_inequality(); added the auxiliary
+	function left_two_var_refine().
+
+2009-09-24  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc, tests/PIP_Problem/pipproblem.cc: Added additional
+	check in simplex, leading to simpler decision trees.
+
+2009-09-24  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh, src/Polyhedron.templates.hh: Always assert
+	that all variables in the abstract store are bounded.  Corrected the
+	documentation accordingly.
+
+2009-09-24  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/Polyhedron.templates.hh,
+	tests/Floating_Point_Expression/Makefile.am: Started to test
+	Polyhedron::affine_image on FP_Linear_Form.
+
+2009-09-23  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/floatingpointexpr1.cc: Removed
+	commented code in floatingpointexpr1.cc
+
+2009-09-23  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/floatingpointexpr1.cc,
+	tests/Floating_Point_Expression/octagonalshape2.cc: Improved tests.
+	Now they all pass and reach the maximum coverage.
+
+2009-09-23  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/BD_Shape.defs.hh, src/BD_Shape.templates.hh: Partial
+	implementation of refine_with_linear_form_inequality(); Two
+	auxiliary function added.
+
+2009-09-23  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/floatingpointexpr1.cc: Fixed
+	indentation.
+
+2009-09-23  Fabio Bossi <bossi at cs.unipr.it>
+
+	* tests/Floating_Point_Expression/octagonalshape1.cc,
+	tests/Floating_Point_Expression/octagonalshape2.cc: Parametrized
+	tests for Octagonal_Shape.
+
+2009-09-23  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/bdshape1.cc,
+	tests/Floating_Point_Expression/floatingpointexpr1.cc,
+	tests/Floating_Point_Expression/linearform1.cc: Parametrized
+	linearform1.cc and bdshape1.cc Fixed indentation and removed an
+	useless test in floatingpointexpr1.cc
+
+2009-09-23  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/Floating_Point_Expression.defs.hh,
+	tests/Floating_Point_Expression/Makefile.am,
+	tests/Floating_Point_Expression/floatingpointexpr1.cc,
+	tests/Floating_Point_Expression/octagonalshape2.cc,
+	tests/ppl_test.hh: Added several corrections in order to parametrize
+	floatingpointexpr1.cc
+
+2009-09-23  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/floatingpointexpr1.cc,
+	tests/Floating_Point_Expression/octagonalshape1.cc,
+	tests/ppl_test.hh: Parametrized floatingpointexpr1.cc
+
+2009-09-23  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.inlines.hh, src/Octagonal_Shape.templates.hh,
+	src/Polyhedron.inlines.hh, src/Polyhedron.templates.hh: Made the
+	refine_fp_interval_abstract_store methods inline.
+
+2009-09-23  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.defs.hh, src/Octagonal_Shape.templates.hh,
+	src/Polyhedron.defs.hh, src/Polyhedron.templates.hh: Always use Box
+	instead of map for interval abstract stores.
+
+2009-09-23  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Problem.cc, src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Removed
+	useless parameter in PIP_Tree_Node::update_tableau method.
+
+2009-09-23  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Problem.cc, src/PIP_Tree.cc, src/PIP_Tree.defs.hh,
+	tests/PIP_Problem/pipproblem.cc: Implemented display of solution
+	trees.
+
+2009-09-23  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Fixed bugs.
+
+2009-09-23  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Changed index ordering in
+	parameter constraints.
+
+2009-09-22  Fabio Bossi <bossi at cs.unipr.it>
+
+	* tests/ppl_test.hh: Fixed another typo that prevented compilation
+	of tests.
+
+2009-09-22  Fabio Bossi <bossi at cs.unipr.it>
+
+	* tests/ppl_test.hh: Fixed a typo that prevented compilation of
+	tests.
+
+2009-09-22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Float.defs.hh: Renamed float_IBM_single and float_IBM_double
+	lowering the case for IBM.
+
+2009-09-22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Floating_Point_Expression/.gitignore,
+	tests/Floating_Point_Expression/Makefile.am,
+	tests/Floating_Point_Expression/run_tests: Added some infrastructure
+	to perform parametric tests.
+
+2009-09-22  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Float.defs.hh: Added a few details about other floating point
+	formats.
+
+2009-09-22  Fabio Bossi <bossi at cs.unipr.it>
+
+	* doc/definitions.dox, src/Polyhedron.defs.hh: Small documentation
+	corrections.
+
+2009-09-22  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/floatingpointexpr1.cc,
+	tests/Floating_Point_Expression/octagonalshape2.cc: Adapted test
+	files to new representation of interval abstract stores.
+
+2009-09-22  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Floating_Point_Expression.defs.hh,
+	src/Floating_Point_Expression.templates.hh: Added missing static
+	casts so that tests now pass again.
+
+2009-09-22  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Floating_Point_Expression.defs.hh,
+	src/Floating_Point_Expression.inlines.hh,
+	src/Floating_Point_Expression.templates.hh,
+	src/Octagonal_Shape.defs.hh, src/Octagonal_Shape.templates.hh,
+	src/Polyhedron.defs.hh, src/Polyhedron.templates.hh: Use Box to
+	represent an interval abstract store.
+
+2009-09-22  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/floatingpointexpr1.cc,
+	tests/Floating_Point_Expression/octagonalshape2.cc: Replaced
+	typedefs according to the new policies.
+
+2009-09-22  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/Makefile.am, tests/{Polyhedron =>
+	Floating_Point_Expression}/linearform1.cc,
+	tests/Floating_Point_Expression/{affineimage3.cc =>
+	octagonalshape1.cc}, tests/Floating_Point_Expression/{refinelf1.cc
+	=> octagonalshape2.cc}, tests/Polyhedron/Makefile.am: Refactoring of
+	test files into test/Floating_Point_Expression.
+
+2009-09-22  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Floating_Point_Expression.defs.hh,
+	src/Floating_Point_Expression.templates.hh: Adapted the class to the
+	policies defined in Float.defs.hh.
+
+2009-09-22  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh, src/BD_Shape.templates.hh,
+	src/Octagonal_Shape.defs.hh, src/Octagonal_Shape.templates.hh,
+	src/Polyhedron.defs.hh, src/Polyhedron.templates.hh: Pass variables
+	to affine_image by copy.
+
+2009-09-22  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.defs.hh, src/Octagonal_Shape.templates.hh,
+	src/Polyhedron.defs.hh, src/Polyhedron.templates.hh: Written
+	Polyhedron::refine_fp_interval_abstract_store.  Various other
+	corrections.
+
+2009-09-22  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/BD_Shape.templates.hh: Little correction in
+	two_variables_affine_image method.
+
+2009-09-22  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Floating_Point_Expression.defs.hh,
+	src/Octagonal_Shape.defs.hh, src/Polyhedron.templates.hh: Fixed one
+	cut-&-paste error.  Use a single call of bounded_affine_image
+	instead of calling generalized_affine_image twice.  Added two FIXME
+	notes.
+
+2009-09-22  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Added mechanism for
+	fetching parametric values for variables.
+
+2009-09-22  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Problem.cc, src/PIP_Problem.defs.hh, src/PIP_Tree.cc,
+	src/PIP_Tree.defs.hh: Added reference to the Problem object in
+	solution tree Nodes.
+
+2009-09-21  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/affineimage3.cc,
+	tests/Floating_Point_Expression/bdshape1.cc: Added another test for
+	the general case of affine_image.
+
+2009-09-21  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/BD_Shape.templates.hh,
+	tests/Floating_Point_Expression/bdshape1.cc: Fixed a bug in
+	affine_image and modified one_variable_affine_image.  Added a new
+	test for the general case.
+
+2009-09-21  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/BD_Shape.defs.hh, src/BD_Shape.templates.hh,
+	tests/Floating_Point_Expression/bdshape1.cc: Implemented a
+	preliminary (yet untested) version of methods
+	BD_Shape::linear_form_upper_bound and
+	BD_Shape::two_variables_affine_image.
+
+2009-09-21  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Floating_Point_Expression.defs.hh, tests/ppl_test.hh: Added
+	more floating point formats.  Added some parametric typedefs for
+	tests.
+
+2009-09-21  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Bug fixes.
+
+2009-09-21  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.defs.hh: Added a few lines of documentation
+	that were previously forgotten.
+
+2009-09-21  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh: Added some more documentation.
+
+2009-09-21  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/BD_Shape.templates.hh,
+	tests/Floating_Point_Expression/bdshape1.cc: Fixed a bug in
+	affine_image and implemented three new tests.
+
+2009-09-21  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.defs.hh, src/Polyhedron.defs.hh: Added some
+	(and corrected some of the) documentation.
+
+2009-09-21  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh, src/Polyhedron.templates.hh: Wrote a first
+	implementation of refine_with_linear_form_inequality.
+
+2009-09-21  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/BD_Shape.templates.hh,
+	tests/Floating_Point_Expression/bdshape1.cc: Fixed a bug in
+	BD_Shape<T>::affine_image and added more tests for this method.
+
+2009-09-21  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Polyhedron.templates.hh, src/Polyhedron_nonpublic.cc: Use the
+	proper exception thrower.  Moved the new exception thrower.
+
+2009-09-21  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Polyhedron.templates.hh, src/Polyhedron_nonpublic.cc: Various
+	corrections.
+
+2009-09-21  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Polyhedron.templates.hh: Finished writing a first version of
+	our affine_image variant.
+
+2009-09-20  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/BD_Shape.templates.hh: Removed a temporary using sub_assign_r
+	instead of add_assign_r
+
+2009-09-20  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/BD_Shape.defs.hh, src/BD_Shape.templates.hh,
+	tests/Floating_Point_Expression/bdshape1.cc: Bugs fixes
+
+2009-09-19  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh, src/Polyhedron.templates.hh: Finished
+	writing a first implementation of convert_to_integer_expression and
+	convert_to_integer_expressions.
+
+2009-09-19  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Polyhedron.templates.hh: Small progress in writing
+	convert_to_integer_expressions.
+
+2009-09-19  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh, src/Polyhedron.templates.hh: Sterted
+	writing the functions that are used to convert floating point
+	constraints to integer ones.
+
+2009-09-19  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/BD_Shape.defs.hh, src/BD_Shape.templates.hh,
+	src/Octagonal_Shape.templates.hh: Implemented methods
+	BD_Shape<T>::inhomogeneous_affine_image and
+	BD_Shape<T>::one_variable_affine_image.
+
+2009-09-19  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/math_utilities.defs.hh, src/math_utilities.inlines.hh: 
+	Converted helpers to work also for native numbers.
+
+2009-09-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl_header.hh: Make sure the latest changes to NDEBUG
+	effective.
+
+2009-09-18  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/BD_Shape.templates.hh,
+	tests/Floating_Point_Expression/affineimage3.cc,
+	tests/Floating_Point_Expression/bdshape1.cc,
+	tests/Floating_Point_Expression/refinelf1.cc: Added a test for
+	trivial cases of BD_Shape::affine_image.
+
+2009-09-18  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh, src/Polyhedron.templates.hh,
+	src/Polyhedron_nonpublic.cc: Started the implementation of our
+	affine_image variant.
+
+2009-09-18  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/floatingpointexpr1.cc,
+	tests/Floating_Point_Expression/refinelf1.cc: Added test for
+	Octagonal_Shape<T>::refine_fp_interval_abstract_store.
+
+2009-09-18  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/BD_Shape.defs.hh, src/BD_Shape.templates.hh,
+	tests/Floating_Point_Expression/Makefile.am,
+	tests/Floating_Point_Expression/bdshape1.cc: Added function
+	                    BD_Shape::affine_image(const Variable& var, const Linear_Form<
+	Interval<T, Interval_Info> >& lf); Added interfaces for auxiliary
+		functions: BD_Shape::inhomogeneous_affine_image(...); 	BD_Shape::one_variable_affine_image(...); 	BD_Shape::two_variable_affine_image(...); Added a preliminary test.
+
+2009-09-18  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh, src/Polyhedron.templates.hh: Added a first
+	implementation of overapproximate_linear_form.
+
+2009-09-18  Francois GALEA <fgalea at verlaine.prism.uvsq.fr>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Fixed ASCII dump/load
+	methods, solving compilation issues.
+
+2009-09-18  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/refinelf1.cc: Coverage of 100%
+	reached for refine_with_linear_form_inequality.
+
+2009-09-18  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/refinelf1.cc: Added a test.
+
+2009-09-18  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh,
+	tests/Floating_Point_Expression/refinelf1.cc: Added missing
+	multiplications by 2.  All tests now pass.
+
+2009-09-18  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh, src/Polyhedron.templates.hh: Added
+	interfaces (and empty body) of two new methods.
+
+2009-09-18  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/affineimage3.cc,
+	tests/Floating_Point_Expression/refinelf1.cc: Added two more tests
+	in refinelf1.cc Improved a test in affineimage3.cc
+
+2009-09-18  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Finished parametric simplex algorithm. No cut
+	generation yet.
+
+2009-09-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS: Added Roberto Amadini to the list of current
+	contributors.
+
+2009-09-17  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/Octagonal_Shape.defs.hh, src/Octagonal_Shape.templates.hh: 
+	Pass variables to affine_image as const references.
+
+2009-09-17  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/refinelf1.cc: Removed the check on
+	empty octagons in function test01.
+
+2009-09-17  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Removed useless emptiness check.
+
+2009-09-17  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Assert that the octagon is not
+	empty when refining, since the analyzer should not try to apply
+	filters in an unreachable state.
+
+2009-09-17  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Do not reset strong closure
+	manually since add_octagonal_constraint already does it
+	automatically.
+
+2009-09-17  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Always use
+	add_octagon_constraint to update contraints in
+	refine_with_linear_form_inequality instead of overwriting blindly.
+
+2009-09-17  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/refinelf1.cc: Removed a bug in
+	test functions. Added a test for general case.
+
+2009-09-17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Fixed several rounding modes in
+	Octagonal_Shape methods.
+
+2009-09-17  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/refinelf1.cc: Added two tests.
+	Particular cases totally covered.
+
+2009-09-17  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Temp.defs.hh, src/Temp.inlines.hh: Fixed and simplified
+	DIRTY_TEMP for use with -fno-elide-constructors.
+
+2009-09-17  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/refinelf1.cc: Removed comments.
+
+2009-09-17  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/refinelf1.cc: Added another test.
+
+2009-09-17  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Fixed one nasty cut & paste
+	error.
+
+2009-09-17  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/refinelf1.cc: Added a test.
+
+2009-09-17  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Use references instead of
+	pointers whenever possible.
+
+2009-09-17  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/refinelf1.cc: Added and modified
+	tests.
+
+2009-09-17  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Optimized
+	refine_with_linear_form_inequality, removing six temporaries in the
+	process.
+
+2009-09-17  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/refinelf1.cc: Added two tests.
+
+2009-09-17  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/Octagonal_Shape.templates.hh,
+	tests/Floating_Point_Expression/Makefile.am: Start to test
+	Octagonal_Shape::refine_with_linear_form_inequality.
+
+2009-09-17  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Removed unnecessary temporaries
+	from affine_image.
+
+2009-09-17  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Optimized
+	linear_form_upper_bound: got rid of two unnecessary temporaries.
+
+2009-09-17  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Definitively removed
+	counterproductive checks in linear_form_upper_bound, since we have
+	confirmed that comparing with -infinity is legitimate.
+
+2009-09-17  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Use ROUND_DOWN instead of
+	ROUND_UP to compute the negation of the upper bound of -var.
+
+2009-09-17  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Use ROUND_UP (or, in one case
+	where intervals are involved, ROUND_DOWN) whenever appropriate.
+
+2009-09-16  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/Octagonal_Shape.templates.hh,
+	tests/Floating_Point_Expression/affineimage3.cc: Added another test.
+	Coverage of 100% reached for affine_image and
+	linear_form_upper_bound methods.  Temporarily(?) removed some checks
+	in linear_form_upper_bound.
+
+2009-09-16  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Fixes to avoid some useless Coefficient
+	duplicates.
+
+2009-09-16  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Implemented the Rational_Matrix normalize method.
+
+2009-09-16  Fabio Bossi <bossi at cs.unipr.it>
+
+	* doc/definitions.dox, src/Octagonal_Shape.defs.hh: Small
+	documentation improvements.
+
+2009-09-16  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.defs.hh: Added some comments.
+
+2009-09-16  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/affineimage3.cc: Implemented tests
+	(from test04 to test08).
+
+2009-09-16  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Fixed a couple of syntax errors.
+
+2009-09-16  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Many corrections.
+
+2009-09-16  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Implemented additional
+	 steps of the simplex algorithm.  - handling of simplex rows with mixed parameter sign;  - handling of tautology expressions;  - handling of splitting a solution according to a test parametric
+	 expression.
+
+2009-09-16  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Problem.cc, src/PIP_Tree.cc, src/PIP_Tree.defs.hh: 
+	Modified prototype for solve method in PIP_Tree_Node and derivates.
+
+2009-09-16  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Redefined and implemented
+	the tree node constructors.
+
+2009-09-16  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Use PPL_COMPILE_TIME_CHECK
+	insteas of PPL_ASSERT whenever possible.
+
+2009-09-16  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Fixed one typo.
+
+2009-09-16  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Added more cases for
+	refine_linear_form_inequality.
+
+2009-09-16  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/Linear_Form.templates.hh, src/Octagonal_Shape.templates.hh,
+	tests/Floating_Point_Expression/affineimage3.cc: Fixed a bug in
+	Linear_Form::operator<<() Fixed a bug in
+	Octagonal_Shape::linear_form_upper_bound() Added a test
+
+2009-09-14  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/Octagonal_Shape.defs.hh: Removed garbage
+
+2009-09-16  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/affineimage3.cc: Added some tests.
+
+2009-09-15  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.defs.hh, src/Octagonal_Shape.templates.hh: 
+	Added a first, untested implementation of
+	refine_fp_interval_abstract_store.
+
+2009-09-15  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: For consistency, use
+	std::numeric_limits<T>::is_exact in order to check if T is a
+	floating point type.
+
+2009-09-15  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Added a first implementation of
+	refine_with_linear_form_inequality.  Two small optimizations for
+	affine_image.
+
+2009-09-15  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/affineimage3.cc: Added new test.
+
+2009-09-15  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Implemented simplex pivot
+	on rational matrices.
+
+2009-09-15  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/Makefile.am,
+	tests/Floating_Point_Expression/affineimage3.cc: Added a test for
+	Octagonal_Shape::affine_image in
+	tests/Floating_Point_Expression/affineimage3.cc
+
+2009-09-15  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Fixed a few typos preventing
+	compilation.
+
+2009-09-15  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.defs.hh, src/Octagonal_Shape.templates.hh: 
+	Added missing assertion and FIXME note.  Started the implementation
+	of refine_with_linear_form_inequality.
+
+2009-09-15  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: It is NECESSARY to delay the
+	update of unary constraints on var.
+
+2009-09-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/c_streambuf.defs.hh: Added missing comment.
+
+2009-09-14  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Fixed two serious bugs in
+	linear_form_upper_bound.
+
+2009-09-14  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc: Implemented the first steps of the parametric
+	simplex algorithm.
+
+2009-09-14  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Linear_Form.templates.hh: Fixed an error introduced by
+	previous commit.
+
+2009-09-14  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Linear_Form.templates.hh, src/Octagonal_Shape.defs.hh,
+	src/Octagonal_Shape.templates.hh: Added missing static_casts in
+	Linear_Form.  Fixed one bug in linear_form_upper_bound.  Added a
+	first complete implementation of affine_image.
+
+2009-09-14  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Problem.cc, src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Changed
+	modelization of contexts from Constraint_System to Matrix.
+
+2009-09-14  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.defs.hh, src/Octagonal_Shape.templates.hh: 
+	Added another helper function.  Removed garbage code.
+
+2009-09-13  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.defs.hh, src/Octagonal_Shape.templates.hh: 
+	Added an auxiliary method.  Sorry for the huge amount of commented
+	code: it will be fixed soon.
+
+2009-09-11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/marked_pointers.hh: Do not include <stdint.h>.  The
+	header files <stdint.h> and/or <inttypes.h> are included by
+	ppl-config.h.
+
+2009-09-11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Make sure uintptr_t is defined, if at all possible.
+
+2009-09-11  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.defs.hh, src/PIP_Tree.inlines.hh: Moved the
+	constraint() method to PIP_Tree_Node class.
+
+2009-09-11  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Removed outdated FIXME note.
+
+2009-09-11  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Added other simple cases of
+	affine_image.
+
+2009-09-11  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Added first tests in OK()
+	methods of PIP_Tree classes.
+
+2009-09-11  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Implemented integer context
+	compatibility check.
+
+2009-09-11  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Implemented another case for
+	affine_image.
+
+2009-09-11  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Implemented row sign
+	detection.
+
+2009-09-11  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh, src/PIP_Tree.inlines.hh: 
+	Implemented constraint negation, plus minor fixes.
+
+2009-09-11  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Added a skeleton for the rest of
+	the affine_image implementation.
+
+2009-09-11  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Now the trivial case of
+	affine_image works.
+
+2009-09-10  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Written a preliminary, non
+	working first part of our variant of affine_image.
+
+2009-09-10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Improved recently added helper functions.    - avoid recomputing loop bounds at each iteration;   - delay object definitions until actually needed and, if possible,     provide them with an initializer.
+
+2009-09-10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Fix compilation problems
+	when assertions are turned on.
+
+2009-09-10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Identifiers starting with
+	an underscore are reserved: avoid them.
+
+2009-09-10  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Implemented some helper
+	functions for the PIP solver.
+
+2009-09-10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* STANDARDS: Suggest using -fno-elide-constructors when configuring
+	for coverage.
+
+2009-09-10  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Variable_Floating_Point_Expression.defs.hh: Fixed another
+	small documentation inconsistency.
+
+2009-09-10  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Problem.cc, src/PIP_Problem.defs.hh, src/PIP_Tree.cc,
+	src/PIP_Tree.defs.hh: Integrated the solve method in the different
+	PIP_Tree node classes.
+
+2009-09-10  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Division_Floating_Point_Expression.defs.hh: Fixed another
+	small error in the documentation.
+
+2009-09-10  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Floating_Point_Expression.defs.hh,
+	src/Opposite_Floating_Point_Expression.defs.hh: Other small
+	corrections to the documentation.
+
+2009-09-10  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Multiplication_Floating_Point_Expression.defs.hh: Fixed one
+	small typo.
+
+2009-09-10  Fabio Bossi <bossi at cs.unipr.it>
+
+	* doc/ppl.sty: Remove all references to floating point format f.
+
+2009-09-10  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Difference_Floating_Point_Expression.defs.hh,
+	src/Opposite_Floating_Point_Expression.defs.hh,
+	src/Sum_Floating_Point_Expression.defs.hh: More additions and
+	corrections to the documentation.
+
+2009-09-10  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Floating_Point_Expression.defs.hh: Grammar fix in the
+	documentation.
+
+2009-09-10  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Floating_Point_Expression.defs.hh: Fixed one small error.
+
+2009-09-10  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Sum_Floating_Point_Expression.defs.hh: Fixed another
+	inconsistency in the documentation.
+
+2009-09-10  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Floating_Point_Expression.defs.hh: Fixed conflicts.
+
+2009-09-10  Fabio Bossi <bossi at cs.unipr.it>
+
+	* doc/definitions.dox: Fixed an inconsistency with the rest of the
+	documentation.
+
+2009-09-10  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Floating_Point_Expression.defs.hh,
+	src/Variable_Floating_Point_Expression.defs.hh: Fixed a few errors.
+
+2009-09-10  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Floating_Point_Expression.defs.hh: Added missing \brief
+	marker.
+
+2009-09-10  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Multiplication_Floating_Point_Expression.defs.hh: Use \otimes
+	only in math environment.
+
+2009-09-10  Fabio Bossi <bossi at cs.unipr.it>
+
+	* doc/definitions.dox,
+	src/Constant_Floating_Point_Expression.defs.hh,
+	src/Difference_Floating_Point_Expression.defs.hh,
+	src/Division_Floating_Point_Expression.defs.hh,
+	src/Floating_Point_Expression.defs.hh,
+	src/Multiplication_Floating_Point_Expression.defs.hh,
+	src/Sum_Floating_Point_Expression.defs.hh,
+	src/Variable_Floating_Point_Expression.defs.hh: Revised and
+	corrected the whole documentation.
+
+2009-09-10  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/Makefile.am,
+	tests/Floating_Point_Expression/linearform1.cc,
+	tests/Polyhedron/linearform1.cc: Moved linearform1.cc into
+	tests/Polyhedron.
+
+2009-09-10  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/Floating_Point_Expression.defs.hh,
+	src/Opposite_Floating_Point_Expression.defs.hh: Updated intervalize
+	documentation; Updated Opposite_Floating_Point_Expression
+	documentation;
+
+2009-09-10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Difference_Floating_Point_Expression.defs.hh: Removed spurious
+	occurrence of a closing comment, preventing compilation.
+
+2009-09-09  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/linearform1.cc: Improved test for
+	class Linear_Form.
+
+2009-09-09  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* doc/ppl.sty, src/Difference_Floating_Point_Expression.defs.hh,
+	src/Division_Floating_Point_Expression.defs.hh,
+	src/Multiplication_Floating_Point_Expression.defs.hh: Fixed few typo
+
+2009-09-09  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Division_Floating_Point_Expression.defs.hh: Fixed typo.
+
+2009-09-09  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Constant_Floating_Point_Expression.defs.hh: Use \infty instead
+	of \infinity.
+
+2009-09-09  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/Constant_Floating_Point_Expression.defs.hh,
+	src/Difference_Floating_Point_Expression.defs.hh,
+	src/Division_Floating_Point_Expression.defs.hh,
+	src/Floating_Point_Expression.defs.hh,
+	src/Multiplication_Floating_Point_Expression.defs.hh,
+	src/Sum_Floating_Point_Expression.defs.hh,
+	src/Variable_Floating_Point_Expression.defs.hh: Updated
+	documentation
+
+2009-09-09  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.defs.hh, src/Octagonal_Shape.templates.hh: 
+	Predisposed everything to start implementing our own customized
+	version of method affine_image.
+
+2009-09-09  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/Linear_Form.templates.hh,
+	tests/Floating_Point_Expression/Makefile.am,
+	tests/Floating_Point_Expression/linearform1.cc: Fixed bug in
+	Linear_Form.  Copied linearform1.cc in
+	tests/Floating_Point_Expression and improved its tests.
+
+2009-09-09  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Implemented proper handling
+	of nonbasic variables when adding rows.
+
+2009-09-09  Fabio Bossi <bossi at cs.unipr.it>
+
+	* doc/definitions.dox: Use \defeq instead of = for definitions.
+	Fixed an error concerning frames.
+
+2009-09-09  Fabio Bossi <bossi at cs.unipr.it>
+
+	* doc/definitions.dox: Use new linearization macro.
+
+2009-09-09  Fabio Bossi <bossi at cs.unipr.it>
+
+	* doc/definitions.dox: Removed trailing whitespace.
+
+2009-09-09  Fabio Bossi <bossi at cs.unipr.it>
+
+	* doc/definitions.dox: More documentation.
+
+2009-09-09  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Linear_Form.templates.hh: Fixed a bug in operator==.
+
+2009-09-09  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* doc/ppl.sty: Added new macros into doc/ppl.sty
+
+2009-09-08  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* doc/devref.doxyconf-html.in, src/Linear_Form.defs.hh,
+	src/Sum_Floating_Point_Expression.defs.hh: Added Linear_Form into
+	doxyconf file Fixed few typos in Linear_Form Minor Documentations
+	updates
+
+2009-09-08  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/floatingpointexpr1.cc: Added and
+	modified tests in order to reach the coverage of 100% in
+	Floating_Point_Expression class and its derived classes.
+
+2009-09-08  Fabio Bossi <bossi at cs.unipr.it>
+
+	* doc/definitions.dox: Fixed pedix.
+
+2009-09-08  Fabio Bossi <bossi at cs.unipr.it>
+
+	* doc/definitions.dox: Fixed an error in command invocation.
+
+2009-09-08  Fabio Bossi <bossi at cs.unipr.it>
+
+	* doc/definitions.dox, doc/ppl.sty: Added some documentation.
+
+2009-09-08  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/Constant_Floating_Point_Expression.defs.hh,
+	src/Variable_Floating_Point_Expression.defs.hh: Update variale and
+	constant documentations
+
+2009-09-08  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* doc/ppl.sty: Added Latex macro for abstract division.
+
+2009-09-08  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/floatingpointexpr1.cc: Removed
+	useless comments.
+
+2009-09-08  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/floatingpointexpr1.cc: Added test
+	for unary minus and multiplication by constant.
+
+2009-09-08  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* doc/ppl.sty, src/Difference_Floating_Point_Expression.defs.hh,
+	src/Division_Floating_Point_Expression.defs.hh,
+	src/Floating_Point_Expression.defs.hh,
+	src/Multiplication_Floating_Point_Expression.defs.hh,
+	src/Sum_Floating_Point_Expression.defs.hh: Updated linearization
+	documentation; Added formulas to class descriptions;
+
+2009-09-08  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* doc/ppl.sty, src/Floating_Point_Expression.defs.hh,
+	src/Sum_Floating_Point_Expression.defs.hh: Fixed documentation
+
+2009-09-08  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Problem.cc, src/PIP_Problem.defs.hh,
+	src/PIP_Problem.inlines.hh, src/PIP_Problem.templates.hh,
+	src/PIP_Tree.cc, src/PIP_Tree.defs.hh, src/PIP_Tree.inlines.hh: 
+	Moved the simplex tableau from PIP_Problem to PIP_Solution_Node.
+
+2009-09-08  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Floating_Point_Expression.defs.hh: Notify that open intervals
+	should not be allowed.
+
+2009-09-08  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Floating_Point_Expression.defs.hh: Documentation improved.
+
+2009-09-08  Fabio Bossi <bossi at cs.unipr.it>
+
+	* tests/Floating_Point_Expression/floatingpointexpr1.cc: Deleted
+	FIXME note.
+
+2009-09-08  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/floatingpointexpr1.cc: Added and
+	modified some tests.
+
+2009-09-07  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/Division_Floating_Point_Expression.defs.hh,
+	src/Floating_Point_Expression.defs.hh,
+	src/Variable_Floating_Point_Expression.defs.hh: Update documentation
+
+2009-09-07  Roberto Amadini <r.amadini at virgilio.it>
+
+	* src/Floating_Point_Expression.templates.hh,
+	tests/Floating_Point_Expression/floatingpointexpr1.cc: Fixed a bug
+	in method relative_error.  Edited test06 to cope with the new
+	interface of method linearize.
+
+2009-09-07  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/floatingpointexpr1.cc: Added one
+	test.
+
+2009-09-07  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Constant_Floating_Point_Expression.defs.hh,
+	src/Constant_Floating_Point_Expression.inlines.hh,
+	src/Difference_Floating_Point_Expression.defs.hh,
+	src/Difference_Floating_Point_Expression.templates.hh,
+	src/Division_Floating_Point_Expression.defs.hh,
+	src/Division_Floating_Point_Expression.templates.hh,
+	src/Floating_Point_Expression.defs.hh,
+	src/Multiplication_Floating_Point_Expression.defs.hh,
+	src/Multiplication_Floating_Point_Expression.templates.hh,
+	src/Opposite_Floating_Point_Expression.defs.hh,
+	src/Opposite_Floating_Point_Expression.inlines.hh,
+	src/Sum_Floating_Point_Expression.defs.hh,
+	src/Sum_Floating_Point_Expression.templates.hh,
+	src/Variable_Floating_Point_Expression.defs.hh,
+	src/Variable_Floating_Point_Expression.inlines.hh,
+	tests/Floating_Point_Expression/floatingpointexpr1.cc: Extended
+	method linearize to also accept a linear form abstract store.
+	Adjusted tests (but NOT YET THE DOCUMENTATION) accordingly.
+
+2009-09-07  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/Constant_Floating_Point_Expression.defs.hh,
+	src/Difference_Floating_Point_Expression.defs.hh,
+	src/Division_Floating_Point_Expression.defs.hh,
+	src/Floating_Point_Expression.defs.hh,
+	src/Multiplication_Floating_Point_Expression.defs.hh,
+	src/Sum_Floating_Point_Expression.defs.hh,
+	src/Variable_Floating_Point_Expression.defs.hh: Documentation
+	updates
+
+2009-09-07  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Floating_Point_Expression.templates.hh: Do not ignore
+	undefined variables while intervalizing: assert that they are
+	defined instead.
+
+2009-09-07  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Linear_Form.templates.hh,
+	tests/Floating_Point_Expression/floatingpointexpr1.cc: Fixed a bug
+	in Linar_Form::operator== where zero coefficients were not treated
+	properly. Added a few simple tests for class
+	Floating_Point_Expression.
+
+2009-09-07  Fabio Bossi <bossi at cs.unipr.it>
+
+	* tests/Floating_Point_Expression/floatingpointexpr1.cc: Added more
+	typedefs and one test.
+
+2009-09-07  Fabio Bossi <bossi at cs.unipr.it>
+
+	* tests/Floating_Point_Expression/floatingpointexpr1.cc: Added two
+	simple tests.
+
+2009-09-07  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/Constant_Floating_Point_Expression.defs.hh,
+	src/Difference_Floating_Point_Expression.defs.hh,
+	src/Division_Floating_Point_Expression.defs.hh,
+	src/Floating_Point_Expression.defs.hh,
+	src/Multiplication_Floating_Point_Expression.defs.hh,
+	src/Sum_Floating_Point_Expression.defs.hh,
+	src/Variable_Floating_Point_Expression.defs.hh: Fixed comments and
+	documentation
+
+2009-09-07  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Floating_Point_Expression.defs.hh: Made absolute_error
+	constant.
+
+2009-09-04  François Galea <francois.galea at uvsq.fr>
+
+	* src/Makefile.am: Fixed missing make dependency for recently added
+	header file.
+
+2009-09-05  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Floating_Point_Expression.templates.hh: Fixed erroneous use of
+	const&.
+
+2009-09-05  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Constant_Floating_Point_Expression.defs.hh,
+	src/Constant_Floating_Point_Expression.inlines.hh,
+	src/Difference_Floating_Point_Expression.defs.hh,
+	src/Difference_Floating_Point_Expression.templates.hh,
+	src/Division_Floating_Point_Expression.defs.hh,
+	src/Division_Floating_Point_Expression.templates.hh,
+	src/Floating_Point_Expression.defs.hh,
+	src/Floating_Point_Expression.templates.hh,
+	src/Linear_Form.defs.hh, src/Linear_Form.templates.hh,
+	src/Multiplication_Floating_Point_Expression.defs.hh,
+	src/Multiplication_Floating_Point_Expression.templates.hh,
+	src/Opposite_Floating_Point_Expression.defs.hh,
+	src/Opposite_Floating_Point_Expression.inlines.hh,
+	src/Sum_Floating_Point_Expression.defs.hh,
+	src/Sum_Floating_Point_Expression.templates.hh,
+	src/Variable_Floating_Point_Expression.defs.hh,
+	src/Variable_Floating_Point_Expression.inlines.hh: Added operator/=
+	and method negate for class Linear_Form.  Refactored code of class
+	Floating_Point_Exception and its derivate classes in order to avoid
+	creating unnecessary temporaries.
+
+2009-09-04  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/Constant_Floating_Point_Expression.defs.hh,
+	src/Difference_Floating_Point_Expression.defs.hh,
+	src/Floating_Point_Expression.defs.hh,
+	src/Multiplication_Floating_Point_Expression.defs.hh,
+	src/Opposite_Floating_Point_Expression.defs.hh,
+	src/Sum_Floating_Point_Expression.defs.hh,
+	src/Variable_Floating_Point_Expression.defs.hh: Added more
+	documentation
+
+2009-09-04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc: Corrected bug in
+	PIP_Problem::add_space_dimensions_and_embed().
+
+2009-09-04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Variables_Set.defs.hh: Corrected a couple of typos in
+	documentation of Variables_Set.
+
+2009-09-04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc, src/PIP_Problem.inlines.hh: Implemented
+	methods querying/adding space dimensions and parameters.
+
+2009-09-04  Fabio Bossi <bossi at cs.unipr.it>
+
+	* tests/Floating_Point_Expression/floatingpointexpr1.cc: Added
+	necessary typedefs for tests. Removed garbage.
+
+2009-09-04  François Galea <francois.galea at uvsq.fr>
+
+	* src/PIP_Problem.cc, src/PIP_Problem.defs.hh,
+	src/PIP_Problem.inlines.hh, src/PIP_Problem.templates.hh: 
+	Implemented simplex basis and tableau initialization in PIP solver.
+
+2009-09-04  François Galea <francois.galea at uvsq.fr>
+
+	* doc/devref.doxyconf-html.in: Included the PIP_Problem and PIP_Tree
+	classes in the devref documentation.
+
+2009-09-04  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Division_Floating_Point_Expression.templates.hh: Added a
+	workaround for the fact that we don't have an explicit way to divide
+	a Linear_Form by an Interval.
+
+2009-09-04  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Division_Floating_Point_Expression.templates.hh,
+	src/Floating_Point_Expression.templates.hh,
+	src/Multiplication_Floating_Point_Expression.templates.hh: Fixed
+	various errors.
+
+2009-09-04  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Variable_Floating_Point_Expression.inlines.hh: Fixed bad use
+	of constructor.
+
+2009-09-04  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Difference_Floating_Point_Expression.templates.hh,
+	src/Division_Floating_Point_Expression.templates.hh,
+	src/Floating_Point_Expression.templates.hh,
+	src/Multiplication_Floating_Point_Expression.templates.hh,
+	src/Sum_Floating_Point_Expression.templates.hh,
+	src/Variable_Floating_Point_Expression.inlines.hh: Style
+	improvements.
+
+2009-09-04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS: Listed François Galea among the current contributors.
+
+2009-09-03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc, src/PIP_Problem.defs.hh: Drafted
+	implementation for ascii_dump and ascii_load methods.
+
+2009-09-03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Makefile.am, tests/PIP_Problem/pipproblem.cc: Do perform
+	PIP_Problem tests first.
+
+2009-09-03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc, src/PIP_Problem.defs.hh,
+	src/PIP_Problem.inlines.hh: Minor coding style improvements.
+
+2009-09-02  François Galea <francois.galea at uvsq.fr>
+
+	* configure.ac, src/PIP_Problem.cc, src/PIP_Problem.defs.hh,
+	src/PIP_Problem.inlines.hh, src/PIP_Problem.templates.hh,
+	tests/Makefile.am, tests/PIP_Problem/Makefile.am,
+	tests/PIP_Problem/pipproblem.cc: Started the implementation of the
+	PIP_Problem class.  In particular: - defined the PIP_Problem constructors; - added the definition of the rational matrix class; - added the definition of simplex tableau; - created a test program.
+
+2009-09-03  Roberto Amadini <r.amadini at virgilio.it>
+
+	* tests/Floating_Point_Expression/floatingpointexpr1.cc: Deleted a
+	superfluous test.
+
+2009-09-03  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* doc/devref.doxyconf-html.in,
+	src/Constant_Floating_Point_Expression.defs.hh,
+	src/Difference_Floating_Point_Expression.defs.hh,
+	src/Division_Floating_Point_Expression.defs.hh,
+	src/Floating_Point_Expression.defs.hh,
+	src/Multiplication_Floating_Point_Expression.defs.hh,
+	src/Opposite_Floating_Point_Expression.defs.hh,
+	src/Sum_Floating_Point_Expression.defs.hh,
+	src/Variable_Floating_Point_Expression.defs.hh: Added some
+	documentation.
+
+2009-09-03  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Difference_Floating_Point_Expression.inlines.hh,
+	src/Division_Floating_Point_Expression.inlines.hh,
+	src/Multiplication_Floating_Point_Expression.inlines.hh,
+	src/Opposite_Floating_Point_Expression.inlines.hh,
+	src/Sum_Floating_Point_Expression.inlines.hh: Use 0 instead of NULL.
+
+2009-09-03  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Floating_Point_Expression.templates.hh: Fixed an error in
+	relative_error.
+
+2009-09-03  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Difference_Floating_Point_Expression.defs.hh,
+	src/Division_Floating_Point_Expression.defs.hh,
+	src/Multiplication_Floating_Point_Expression.defs.hh,
+	src/Sum_Floating_Point_Expression.defs.hh: Fixed erroneous
+	declarations of namespace std inside namespace
+	Parma_Polyhedra_Library.
+
+2009-09-03  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Difference_Floating_Point_Expression.inlines.hh,
+	src/Difference_Floating_Point_Expression.templates.hh,
+	src/Division_Floating_Point_Expression.templates.hh,
+	src/Floating_Point_Expression.templates.hh,
+	src/Multiplication_Floating_Point_Expression.inlines.hh,
+	src/Multiplication_Floating_Point_Expression.templates.hh,
+	src/Sum_Floating_Point_Expression.inlines.hh,
+	src/Sum_Floating_Point_Expression.templates.hh: Fixed many errors.
+
+2009-09-03  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Difference_Floating_Point_Expression.templates.hh,
+	src/Division_Floating_Point_Expression.templates.hh,
+	src/Multiplication_Floating_Point_Expression.templates.hh,
+	src/Sum_Floating_Point_Expression.templates.hh: Fixed a few typos.
+
+2009-09-03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* configure.ac, tests/Floating_Point_Expression/Makefile.am,
+	tests/Floating_Point_Expression/floatingpointexpr1.cc,
+	tests/Makefile.am: Added a test directory (and a dummy test file).
+
+2009-09-03  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Interval.defs.hh, src/Interval.inlines.hh: Added a temporary
+	implementation for external method neg_assign.
+
+2009-09-03  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Difference_Floating_Point_Expression.defs.hh,
+	src/Division_Floating_Point_Expression.defs.hh,
+	src/Multiplication_Floating_Point_Expression.defs.hh,
+	src/Sum_Floating_Point_Expression.defs.hh: Fixed inclusions.
+
+2009-09-03  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Difference_Floating_Point_Expression.types.hh,
+	src/Sum_Floating_Point_Expression.types.hh: Fixed inclusion guards.
+
+2009-09-03  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Floating_Point_Expression.defs.hh: Added necessary static_cast
+	when computing absolute error.
+
+2009-09-03  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Difference_Floating_Point_Expression.templates.hh,
+	src/Division_Floating_Point_Expression.templates.hh,
+	src/Makefile.am,
+	src/Multiplication_Floating_Point_Expression.templates.hh,
+	src/Sum_Floating_Point_Expression.templates.hh: Implemented
+	linearization operator for Division_Floating_Point_Expression.
+	Fixed several typos.
+
+2009-09-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS: Added Fabio Biselli to the list of current contributors.
+
+2009-09-02  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Difference_Floating_Point_Expression.templates.hh,
+	src/Division_Floating_Point_Expression.defs.hh,
+	src/Floating_Point_Expression.defs.hh,
+	src/Floating_Point_Expression.templates.hh, src/Makefile.am,
+	src/Multiplication_Floating_Point_Expression.defs.hh,
+	src/Multiplication_Floating_Point_Expression.templates.hh,
+	src/Opposite_Floating_Point_Expression.inlines.hh,
+	src/Sum_Floating_Point_Expression.templates.hh: Added linearization
+	operator for Multiplication_Floating_Point_Expression.  Several
+	other corrections and improvements.
+
+2009-09-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS: Added Fabio Bossi to the list of current contributors.
+
+2009-09-02  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Division_Floating_Point_Expression.inlines.hh,
+	src/Makefile.am,
+	src/Multiplication_Floating_Point_Expression.inlines.hh,
+	src/Opposite_Floating_Point_Expression.defs.hh,
+	src/Opposite_Floating_Point_Expression.inlines.hh: Removed dummy
+	linearization operators.  Implemented the linearization operator for
+	Opposite_Floating_Point_Expression.
+
+2009-09-02  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Difference_Floating_Point_Expression.defs.hh,
+	src/Difference_Floating_Point_Expression.inlines.hh,
+	src/Difference_Floating_Point_Expression.templates.hh,
+	src/Makefile.am, src/Sum_Floating_Point_Expression.defs.hh,
+	src/Sum_Floating_Point_Expression.inlines.hh,
+	src/Sum_Floating_Point_Expression.templates.hh: Added a few more
+	implementations of the linearization operator.
+
+2009-09-02  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Constant_Floating_Point_Expression.inlines.hh,
+	src/Floating_Point_Expression.defs.hh,
+	src/Floating_Point_Expression.inlines.hh,
+	src/Floating_Point_Expression.templates.hh, src/Makefile.am: Added a
+	first implementation of the relative_error and intervalize methods.
+	Fixed a mistake with loops over linear forms.  Several style
+	improvements.
+
+2009-09-02  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/Difference_Floating_Point_Expression.defs.hh,
+	src/Difference_Floating_Point_Expression.inlines.hh,
+	src/Division_Floating_Point_Expression.defs.hh,
+	src/Division_Floating_Point_Expression.inlines.hh,
+	src/Multiplication_Floating_Point_Expression.defs.hh,
+	src/Multiplication_Floating_Point_Expression.inlines.hh,
+	src/Sum_Floating_Point_Expression.defs.hh,
+	src/Sum_Floating_Point_Expression.inlines.hh: Rewritten according to
+	Enea's indications.
+
+2009-09-01  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/Difference_Floating_Point_Expression.defs.hh,
+	src/Difference_Floating_Point_Expression.inlines.hh,
+	src/Division_Floating_Point_Expression.defs.hh,
+	src/Division_Floating_Point_Expression.inlines.hh,
+	src/Multiplication_Floating_Point_Expression.defs.hh,
+	src/Multiplication_Floating_Point_Expression.inlines.hh,
+	src/Sum_Floating_Point_Expression.defs.hh,
+	src/Sum_Floating_Point_Expression.inlines.hh: Added swap functions
+	and inhibited assignment and copy constructor.
+
+2009-09-01  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/Difference_Floating_Point_Expression.defs.hh,
+	src/Difference_Floating_Point_Expression.inlines.hh: Removed
+	trailing whitespaces.
+
+2009-09-01  Fabio Biselli <fabio.biselli at studenti.unipr.it>
+
+	* src/Difference_Floating_Point_Expression.defs.hh,
+	src/Difference_Floating_Point_Expression.inlines.hh,
+	src/Difference_Floating_Point_Expression.types.hh,
+	src/Division_Floating_Point_Expression.defs.hh,
+	src/Division_Floating_Point_Expression.inlines.hh,
+	src/Division_Floating_Point_Expression.types.hh,
+	src/Multiplication_Floating_Point_Expression.defs.hh,
+	src/Multiplication_Floating_Point_Expression.inlines.hh,
+	src/Multiplication_Floating_Point_Expression.types.hh,
+	src/Sum_Floating_Point_Expression.defs.hh,
+	src/Sum_Floating_Point_Expression.inlines.hh,
+	src/Sum_Floating_Point_Expression.types.hh: Added a few more classes
+	for floating point expressions.
+
+2009-09-02  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Floating_Point_Expression.defs.hh: Corrected absolute error
+	calculation to account for underflows.
+
+2009-09-02  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Floating_Point_Expression.defs.hh,
+	src/Floating_Point_Expression.inlines.hh: Added static helper
+	methods and a few policy classes.
+
+2009-09-02  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Opposite_Floating_Point_Expression.defs.hh,
+	src/Variable_Floating_Point_Expression.defs.hh: Made constructors
+	explicit.
+
+2009-09-02  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Constant_Floating_Point_Expression.defs.hh,
+	src/Constant_Floating_Point_Expression.inlines.hh,
+	src/Opposite_Floating_Point_Expression.defs.hh,
+	src/Opposite_Floating_Point_Expression.inlines.hh,
+	src/Variable_Floating_Point_Expression.defs.hh,
+	src/Variable_Floating_Point_Expression.inlines.hh: Fixed code
+	according to Enea's indications.
+
+2009-09-01  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Opposite_Floating_Point_Expression.inlines.hh: Added
+	destructor implementation.
+
+2009-09-01  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Opposite_Floating_Point_Expression.inlines.hh: Fixed a typo.
+
+2009-09-01  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Constant_Floating_Point_Expression.defs.hh,
+	src/Constant_Floating_Point_Expression.inlines.hh,
+	src/Opposite_Floating_Point_Expression.defs.hh,
+	src/Opposite_Floating_Point_Expression.inlines.hh,
+	src/Variable_Floating_Point_Expression.defs.hh,
+	src/Variable_Floating_Point_Expression.inlines.hh: Added swapping
+	functions.
+
+2009-09-01  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Opposite_Floating_Point_Expression.defs.hh,
+	src/Opposite_Floating_Point_Expression.inlines.hh,
+	src/Opposite_Floating_Point_Expression.types.hh: Added the files for
+	the first (incomplete) version of class
+	Opposite_Floating_Point_Expression
+
+2009-09-01  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Constant_Floating_Point_Expression.inlines.hh: Fixed an error
+	in method linearize.
+
+2009-09-01  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Makefile.am, src/Variable_Floating_Point_Expression.defs.hh,
+	src/Variable_Floating_Point_Expression.inlines.hh,
+	src/Variable_Floating_Point_Expression.types.hh: Added a first
+	version of class Variable_Floating_Point_Expression.
+
+2009-09-01  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Constant_Floating_Point_Expression.defs.hh,
+	src/Constant_Floating_Point_Expression.inlines.hh: Corrected the
+	interface of the two-argument constructor.
+
+2009-09-01  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Constant_Floating_Point_Expression.defs.hh,
+	src/Constant_Floating_Point_Expression.inlines.hh,
+	src/Floating_Point_Expression.defs.hh: Corrected the interface of
+	method linearize.
+
+2009-08-31  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Constant_Floating_Point_Expression.defs.hh,
+	src/Constant_Floating_Point_Expression.inlines.hh,
+	src/Constant_Floating_Point_Expression.types.hh,
+	src/Floating_Point_Expression.defs.hh,
+	src/Floating_Point_Expression.inlines.hh,
+	src/Floating_Point_Expression.types.hh, src/Makefile.am: Added a few
+	classes that represent floating point expressions.
+
+2009-08-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PIP_Tree.defs.hh: Typo fixed.
+
+2009-08-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit c9ec5bc2cb674fd20a8cdc4c85b93361428ed8e2 Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Tue Aug 18 09:57:45 2009 +0200
+
+2009-08-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Linear_Form.defs.hh: Started adjusting the documentation.
+
+2009-08-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Linear_Form.defs.hh, src/Linear_Form.inlines.hh,
+	src/Linear_Form.templates.hh: Implemented
+	Linear_Form::external_memory_in_bytes() and
+	Linear_Form::external_memory_in_bytes().  Other minor improvements.
+
+2009-08-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Linear_Expression.cc: Do not use std::swap(): use
+	Linear_Expression::swap() instead.
+
+2009-08-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Linear_Form.cc, src/Linear_Form.defs.hh,
+	src/Linear_Form.inlines.hh, src/Linear_Form.templates.hh,
+	src/Linear_Form.types.hh, src/Makefile.am,
+	tests/Polyhedron/Makefile.am, tests/Polyhedron/linearform1.cc: Added
+	a preliminary implementation of class Linear_Form.
+
+2009-08-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Linear_Expression.cc: Added missing inclusion of <iostream>.
+
+2009-08-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS: Mention correction of bug in Pointset_Powerset
+	maximize/minimize methods.
+
+2009-08-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Pointset_Powerset.templates.hh: Indentation fixed.
+
+2009-08-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Pointset_Powerset.templates.hh: Corrected a bug in
+	Pointset_Powerset methods minimize() and maximize().  We now return
+	false if the powerset is found to be empty.
+
+2009-08-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Octagonal_Shape/max_min1.cc, tests/Polyhedron/max_min1.cc,
+	tests/Powerset/maxmin1.cc: Corrected a few expected results in
+	Powerset/maxmin1.cc.  This uncovered a bug in Pointset_Powerset
+	methods maximize() and minimize(), whereby we are returning true
+	even for empty powersets.
+
+2009-08-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Version number bumped.
+
+2009-08-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4: 
+	Useless, commented-out inclusion removed.
+
+2009-08-07  Abramo Bagnara <abramo at localhost.localdomain>
+
+	* interfaces/C/Makefile.am,
+	interfaces/C/ppl_interface_generator_c_cc_files.m4,
+	interfaces/C/ppl_interface_generator_c_hh_files.m4,
+	interfaces/Java/jni/Makefile.am,
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_files.m
+	4, interfaces/Java/parma_polyhedra_library/Makefile.am,
+	interfaces/Java/parma_polyhedra_library/ppl_interface_generator_jav
+	a_classes_java.m4,
+	interfaces/Java/parma_polyhedra_library/ppl_interface_generator_jav
+	a_classes_java_code.m4, interfaces/OCaml/Makefile.am,
+	interfaces/OCaml/ppl_interface_generator_ocaml_cc_files.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_hh_files.m4,
+	interfaces/Prolog/Makefile.am,
+	interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_hh_files.m4,
+	interfaces/Prolog/tests/Makefile.am,
+	interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_te
+	st_pl.m4, utils/cm_cleaner.sh, utils/cm_splitter.sh: Modified
+	cm_splitter machinery to avoid use of 'read' shell builtin.
+
+2009-08-07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS: Mention a bug that was recently corrected.
+
+2009-08-07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_nonpublic.cc, tests/Polyhedron/polyhullifexact2.cc: 
+	Corrected implementation of
+	NNC_Polyhedron::upper_bound_assign_if_exact().  Added a few tests
+	for regression checking.
+
+2009-08-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/swi_prolog_generated_test.pl: Make sure a
+	definition for member/2 and append/3 is available.
+
+2009-08-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_fpu_control.m4: Removed useless, temporary addition of
+	-lm to LIBS.  (Thanks to Joseph Prostko.)
+
+2009-08-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Checks reordered.
+
+2009-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Version number bumped.
+
+2009-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Use AC_SEARCH_LIBS to detect whether -lm must be
+	provided to the linker.  (Thanks to Joseph Prostko.)
+
+2009-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am: Do not add -lm to LDADD for
+	*randphull1.
+
+2009-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/tests/Makefile.am: Do not link with -lm here.
+
+2009-07-31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac, interfaces/Prolog/YAP/Makefile.am,
+	m4/ac_check_yap.m4: Improved and generalized the detection of YAP.
+
+2009-07-30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* INSTALL, Watchdog/INSTALL: Updated from Autoconf 2.64.
+
+2009-07-28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Version number bumped.
+
+2009-07-28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_swi_prolog.m4: On Windows, the console version of
+	SWI-Prolog is called `plcon'.
+
+2009-07-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/weightwatch1.cc: Adjusted weight thresholds.
+
+2009-07-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.cc: Debugging prints improved.
+
+2009-07-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.cc: Weights adjusted.  Added more debugging
+	prints.
+
+2009-07-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.cc: More weights adjusted.  Added a couple of
+	debugging prints.
+
+2009-07-14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/MIP_Problem.cc: Added printing of MIP solver recursion level
+	for (noisy) debugging.
+
+2009-07-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh, src/MIP_Problem.cc: Added some weights.
+	Added some debugging prints.
+
+2009-07-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO: Todo items reorganized.  Removed the one about NOT_EQUAL.
+
+2009-07-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Version number bumped.
+
+2009-07-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/ciao_clpq.pl,
+	interfaces/Prolog/Ciao/ciao_clpq2.pl,
+	interfaces/Prolog/Ciao/ciao_pl_check.pl,
+	interfaces/Prolog/XSB/xsb_clpq.P,
+	interfaces/Prolog/XSB/xsb_clpq2.P,
+	interfaces/Prolog/XSB/xsb_pl_check.P: The *_and_minimize/N
+	predicates have gone: remove residual references to them.
+
+2009-07-14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh: Added WEIGHT_BEGIN and corrected
+	WEIGHT_ADD_MUL macro.
+
+2009-07-14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/MIP_Problem.cc: Added WEIGHT_BEGIN() macros and reset a few
+	weights.
+
+2009-07-14  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/conversion.cc, src/globals.defs.hh: Added profiled weights.
+
+2009-07-14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh: Modified computational weight for
+	propagate_constraints.
+
+2009-07-14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/MIP_Problem.cc: Added tentative computational weights to
+	MIP_Problem.
+
+2009-07-14  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/conversion.cc: Fixed WEIGHT_ADD use.
+
+2009-07-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/conversion.cc: WEIGHT_ADD moved.
+
+2009-07-13  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/globals.inlines.hh: Removed forgotten WEIGHT_ADD.
+
+2009-07-13  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Weight_Profiler.cc: Don't compile Weight_Profiler if it's not
+	used.
+
+2009-07-13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Weight_Profiler.defs.hh: Minor formatting improvements.
+
+2009-07-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/conversion.cc: Use less simplistic weights.
+
+2009-07-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/assert.hh: Comment improved.
+
+2009-07-13  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* Watchdog/src/Threshold_Watcher.defs.hh: Added additional info
+	about Traits template parameter.
+
+2009-07-13  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Weight_Profiler.defs.hh, src/globals.defs.hh,
+	src/globals.inlines.hh: Converted weight threshold to unsigned long
+	long.
+
+2009-07-13  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Box.templates.hh, src/MIP_Problem.cc, src/Makefile.am,
+	src/Weight_Profiler.cc, src/Weight_Profiler.defs.hh, src/assert.hh,
+	src/conversion.cc, src/globals.defs.hh, src/globals.inlines.hh: 
+	Added weight profiler
+
+2009-07-13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/tests/test1.ml: In the Ocaml tests, timeouts are
+	now reset unconditionally.
+
+2009-07-13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* Watchdog/src/Watchdog.defs.hh: Drafted a few missing comments. To
+	be completed (by the author).
+
+2009-07-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh, src/Box.defs.hh,
+	src/Octagonal_Shape.defs.hh: Added the documentation of some
+	parameters.
+
+2009-07-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Affine_Space.defs.hh: Doxygen reference fixed.
+
+2009-07-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Affine_Space.defs.hh, src/Grid.defs.hh,
+	src/Polyhedron.defs.hh: Fixed several documentation bugs signalled
+	by Doxygen.
+
+2009-07-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Version number bumped.
+
+2009-07-13  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/assert.hh: Removed repeated declaration.
+
+2009-07-13  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/assert.hh, src/globals.cc, src/globals.inlines.hh: Moved
+	in_assert in Implementation namespace.
+
+2009-07-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_public.cc: Warnings avoided.
+
+2009-07-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Boundary.defs.hh: Warnings avoided.
+
+2009-07-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Matrix.cc: Spurious parenthesis removed.
+
+2009-07-13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS: Announced availability of the deterministic timeout
+	facilities.
+
+2009-07-13  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Affine_Space.cc, src/Ask_Tell.inlines.hh,
+	src/Ask_Tell.templates.hh, src/BDS_Status.inlines.hh,
+	src/BD_Shape.cc, src/BD_Shape.inlines.hh,
+	src/BD_Shape.templates.hh, src/BHRZ03_Certificate.cc,
+	src/BHRZ03_Certificate.defs.hh, src/BHRZ03_Certificate.inlines.hh,
+	src/Bit_Matrix.cc, src/Bit_Matrix.inlines.hh, src/Bit_Row.cc,
+	src/Bit_Row.inlines.hh, src/Bool4.defs.hh, src/Boundary.defs.hh,
+	src/Box.cc, src/Box.inlines.hh, src/Box.templates.hh,
+	src/Box_Status.inlines.hh, src/C_Polyhedron.cc,
+	src/Checked_Number.inlines.hh, src/Checked_Number.templates.hh,
+	src/Circular_Interval.defs.hh, src/Coefficient.cc,
+	src/Coefficient.inlines.hh, src/Congruence.cc,
+	src/Congruence.inlines.hh, src/Congruence_System.cc,
+	src/Congruence_System.inlines.hh, src/Constraint.cc,
+	src/Constraint.inlines.hh, src/Constraint_System.cc,
+	src/Constraint_System.inlines.hh, src/DB_Matrix.inlines.hh,
+	src/DB_Matrix.templates.hh, src/DB_Row.inlines.hh,
+	src/DB_Row.templates.hh, src/Determinate.defs.hh,
+	src/Determinate.inlines.hh, src/Float.defs.hh,
+	src/GMP_Integer.inlines.hh, src/Generator.cc,
+	src/Generator.inlines.hh, src/Generator_System.cc,
+	src/Generator_System.inlines.hh, src/Grid.inlines.hh,
+	src/Grid.templates.hh, src/Grid_Certificate.cc,
+	src/Grid_Certificate.defs.hh, src/Grid_Certificate.inlines.hh,
+	src/Grid_Generator.cc, src/Grid_Generator.inlines.hh,
+	src/Grid_Generator_System.cc, src/Grid_Generator_System.inlines.hh,
+	src/Grid_Status.cc, src/Grid_chdims.cc, src/Grid_conversion.cc,
+	src/Grid_nonpublic.cc, src/Grid_public.cc, src/Grid_simplify.cc,
+	src/Grid_widenings.cc, src/H79_Certificate.cc,
+	src/H79_Certificate.defs.hh, src/Interval.defs.hh,
+	src/Interval.inlines.hh, src/Interval.templates.hh,
+	src/Interval_Restriction.defs.hh, src/Linear_Expression.cc,
+	src/Linear_Expression.inlines.hh, src/Linear_Row.cc,
+	src/Linear_Row.inlines.hh, src/Linear_System.cc,
+	src/Linear_System.inlines.hh, src/MIP_Problem.cc,
+	src/MIP_Problem.inlines.hh, src/MIP_Problem.templates.hh,
+	src/Makefile.am, src/Matrix.cc, src/Matrix.inlines.hh,
+	src/NNC_Polyhedron.cc, src/OR_Matrix.inlines.hh,
+	src/OR_Matrix.templates.hh, src/Octagonal_Shape.cc,
+	src/Octagonal_Shape.inlines.hh, src/Octagonal_Shape.templates.hh,
+	src/Og_Status.inlines.hh, src/Partially_Reduced_Product.inlines.hh,
+	src/Partially_Reduced_Product.templates.hh, src/Ph_Status.cc,
+	src/Pointset_Ask_Tell.cc, src/Pointset_Ask_Tell.inlines.hh,
+	src/Pointset_Ask_Tell.templates.hh, src/Pointset_Powerset.cc,
+	src/Pointset_Powerset.inlines.hh,
+	src/Pointset_Powerset.templates.hh, src/Poly_Con_Relation.cc,
+	src/Poly_Gen_Relation.cc, src/Polyhedron.inlines.hh,
+	src/Polyhedron.templates.hh, src/Polyhedron_chdims.cc,
+	src/Polyhedron_nonpublic.cc, src/Polyhedron_public.cc,
+	src/Polyhedron_widenings.cc, src/Powerset.inlines.hh,
+	src/Powerset.templates.hh, src/Ptr_Iterator.inlines.hh,
+	src/Result.inlines.hh, src/Rounding_Dir.inlines.hh, src/Row.cc,
+	src/Row.inlines.hh, src/Scalar_Products.cc,
+	src/Scalar_Products.inlines.hh, src/Widening_Function.inlines.hh,
+	src/algorithms.hh, src/assert.hh, src/checked.inlines.hh,
+	src/checked_ext.inlines.hh, src/checked_float.inlines.hh,
+	src/checked_int.inlines.hh, src/checked_mpq.inlines.hh,
+	src/checked_mpz.inlines.hh, src/conversion.cc, src/globals.cc,
+	src/globals.inlines.hh, src/initializer.hh, src/intervals.defs.hh,
+	src/math_utilities.inlines.hh, src/minimize.cc, src/ppl_header.hh,
+	src/simplify.cc, src/wrap_assign.hh: Converted assert in PPL_ASSERT.
+
+2009-07-13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Affine_Space.defs.hh, src/Octagonal_Shape.inlines.hh: A couple
+	of minor doxygen documentation corrections.
+
+2009-07-13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/OCaml_interface.dox,
+	interfaces/OCaml/ppl_ocaml_common.cc,
+	interfaces/OCaml/ppl_ocaml_common.defs.hh,
+	interfaces/OCaml/ppl_ocaml_globals.ml,
+	interfaces/OCaml/ppl_ocaml_globals.mli,
+	interfaces/OCaml/tests/test1.ml: Added determinisitc timeout
+	functionality to the Ocaml interface.
+
+2009-07-13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/Java/jni/ppl_java_common.defs.hh,
+	interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.jav
+	a, interfaces/Java/tests/Parma_Polyhedra_Library_test2.java: Added
+	deterministic timeout functionality to the Java language interface.
+
+2009-07-13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/weightwatch1.cc: Weightwatch test fixed so as to
+	behave properly under arithmetic overflows.
+
+2009-07-13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox,
+	interfaces/Prolog/ppl_interface_generator_prolog_procedure_generato
+	rs.m4, interfaces/Prolog/ppl_prolog_common.cc,
+	interfaces/Prolog/ppl_prolog_common.defs.hh: Added deterministic
+	timeout predicates to the Prolog language interface.
+
+2009-07-13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c_implementation_common.defs.hh: Now we
+	throw/catch ad hoc exceptions for deterministic timeouts.
+
+2009-07-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/weightwatch1.cc: These tests fail also with
+	32-bit coefficients.
+
+2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS, README.configure, TODO, m4/ac_check_gmp.m4: New configure
+	option --with-gmp-prefix supersedes the (now removed) options
+	--with-libgmp-prefix and --with-libgmpxx-prefix.
+
+2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/weightwatch1.cc: These tests fail also with
+	16-bit coefficients.
+
+2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Threshold_Watcher.defs.hh,
+	Watchdog/src/Threshold_Watcher.templates.hh: Private typedef
+	renamed.
+
+2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Watchdog.defs.hh: Removed spurious blank line.
+
+2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/globals.defs.hh: Comment improved.
+
+2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/NEWS: Drafted the news for PWL 0.8.
+
+2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_public.cc: Unused temp removed.
+
+2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Affine_Space.cc: Warnings avoided.
+
+2009-07-12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* Watchdog/doc/devref.doxyconf-html.in,
+	Watchdog/doc/devref.doxyconf-latex.in: Fixed INPUT variable in
+	Doxygen configuration for devref.
+
+2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/README, Watchdog/configure.ac, Watchdog/src/Makefile.am: 
+	Updated for PWL 0.8.
+
+2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/weightwatch1.cc: These tests fail with 8-bit
+	coefficients.
+
+2009-07-12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/tests/Makefile.am, interfaces/C/tests/weightwatch1.c: 
+	Added a test for deterministic timeouts in the C language interface.
+
+2009-07-12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc, src/globals.types.hh: 
+	The deterministic timeout facilities are in the C language
+	interface.
+
+2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/conversion.cc: Got rid of the REACTIVE_ABANDONING macro.  It
+	was controlling tests whose cost is negligible, and defining it to 0
+	we would not honor what we promise in the documentation of
+	abandon_expensive_computations.
+
+2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec: Force rebuild.
+
+2009-07-12  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* TODO, Watchdog/src/Watchdog.cc, Watchdog/src/Watchdog.defs.hh,
+	Watchdog/src/Watchdog.inlines.hh: Converted watchdog time argument
+	to unsigned.
+
+2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS: Item improved.
+
+2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO: Synchronized with the current reality.
+
+2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/m4/lib-link.m4, m4/lib-link.m4: Updated.
+
+2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/configure.ac: Require Automake 1.11, enable lzma tar
+	archives and silent rules.
+
+2009-07-12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* Watchdog/src/Threshold_Watcher.defs.hh,
+	Watchdog/src/Threshold_Watcher.templates.hh,
+	tests/Polyhedron/weightwatch1.cc: Avoid dummy parameter in
+	constructor for Threshold_Watcher::Initialize.  Renamed `initialize'
+	to `init' to avoid visual clash with `Initialize'.
+
+2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* INSTALL, Watchdog/INSTALL, Watchdog/compile,
+	Watchdog/config.guess, Watchdog/config.sub, Watchdog/depcomp,
+	Watchdog/install-sh, Watchdog/missing, Watchdog/mkinstalldirs,
+	compile, config.guess, config.sub, depcomp, install-sh, missing,
+	mkinstalldirs: Updated.
+
+2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Require Automake 1.11, enable lzma tar archives and
+	silent rules.
+
+2009-07-12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am, tests/Polyhedron/weightwatch1.cc: 
+	Added a first test for the deterministic timeout.
+
+2009-07-12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/globals.cc, src/globals.defs.hh, src/globals.inlines.hh: Added
+	Weightwatch_Traits class (from Abramo). Modified maybe_abandon().
+
+2009-07-12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* Watchdog/src/EList.defs.hh, Watchdog/src/Threshold_Watcher.cc,
+	Watchdog/src/Threshold_Watcher.defs.hh,
+	Watchdog/src/Threshold_Watcher.templates.hh,
+	Watchdog/src/Threshold_Watcher.types.hh: Minor improvements: prefer
+	direct header file inclusions to indirect ones.  Avoid unnecessarily
+	long lines.
+
+2009-07-11  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* Watchdog/src/Makefile.am, Watchdog/src/Pending_List.defs.hh,
+	Watchdog/src/Pending_List.inlines.hh,
+	Watchdog/src/Pending_List.templates.hh,
+	Watchdog/src/Pending_List.types.hh, Watchdog/src/{Weightwatch.cc =>
+	Threshold_Watcher.cc}, Watchdog/src/{Weightwatch.defs.hh =>
+	Threshold_Watcher.defs.hh}, Watchdog/src/{Weightwatch.inlines.hh =>
+	Threshold_Watcher.inlines.hh},
+	Watchdog/src/{Weightwatch.templates.hh =>
+	Threshold_Watcher.templates.hh}, Watchdog/src/{Weightwatch.types.hh
+	=> Threshold_Watcher.types.hh}, Watchdog/src/Watchdog.defs.hh: 
+	Converted Weightwatch in more generic Threshold_Watcher.
+
+2009-07-11  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* Watchdog/src/Weightwatch.inlines.hh: Fixed typo.
+
+2009-07-11  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* Watchdog/src/Weightwatch.cc: Forgotten file.
+
+2009-07-11  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* Watchdog/src/Makefile.am, Watchdog/src/Pending_List.defs.hh,
+	Watchdog/src/Pending_List.inlines.hh,
+	Watchdog/src/Pending_List.templates.hh,
+	Watchdog/src/Pending_List.types.hh, Watchdog/src/Watchdog.defs.hh,
+	Watchdog/src/Weightwatch.cc, Watchdog/src/Weightwatch.defs.hh,
+	Watchdog/src/Weightwatch.inlines.hh,
+	Watchdog/src/Weightwatch.templates.hh,
+	Watchdog/src/Weightwatch.types.hh: Weightwatch are now generic
+	threshold watchdog.
+
+2009-07-11  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* Watchdog/src/Weightwatch.cc, Watchdog/src/Weightwatch.defs.hh,
+	Watchdog/src/Weightwatch.inlines.hh: Weightwatch are now independent
+	from client code.
+
+2009-07-10  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* Watchdog/src/EList.inlines.hh, Watchdog/src/Makefile.am,
+	Watchdog/src/Pending_Element.cc,
+	Watchdog/src/Pending_Element.defs.hh,
+	Watchdog/src/Pending_Element.inlines.hh,
+	Watchdog/src/Pending_Element.types.hh,
+	Watchdog/src/Pending_List.defs.hh,
+	Watchdog/src/Pending_List.inlines.hh, Watchdog/src/{Pending_List.cc
+	=> Pending_List.templates.hh}, Watchdog/src/Pending_List.types.hh,
+	Watchdog/src/Watchdog.cc, Watchdog/src/Watchdog.defs.hh,
+	Watchdog/src/Weightwatch.cc, Watchdog/src/Weightwatch.defs.hh,
+	Watchdog/src/Weightwatch.inlines.hh,
+	Watchdog/src/Weightwatch.types.hh: Added Weightwatch.
+
+2009-07-10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/MIP_Problem.cc, src/MIP_Problem.defs.hh: Fixed a (potential)
+	exception safety bug in class MIP_Problem.  Added an helper class
+	(implementing RAII technique) to safely relax a MIP problem into an
+	LP problem and ensure that integer variables are restored even in
+	the presence of exceptional execution paths.  Improved interface
+	(and a few comments) for private methods dealing with MIP
+	optimization and satisfiability.
+
+2009-07-09  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* tests/Box/congruences1.cc: Corrected test as already corrected in
+	the master branch.
+
+2009-06-19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.defs.hh: Space dimensions cannot change status:
+	they are either vars or parameters.
+
+2009-06-19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec: The `gprolog' and `yap' packages are not
+	available on the sparc64 and sparcv9 architectures: so do
+	`ppl-gprolog', `ppl-gprolog-static' and `ppl-yap'.
+
+2009-06-18  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* interfaces/Python/ppl_py.cc, interfaces/Python/ppl_py.py: Added
+	proof of concept for Python interface.
+
+2009-06-19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec: The `gprolog' and `yap' packages are not
+	available on the sparc64 and sparcv9 architectures: so do
+	`ppl-gprolog', `ppl-gprolog-static' and `ppl-yap'.
+
+2009-06-18  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* interfaces/Python/ppl_py.cc, interfaces/Python/ppl_py.py: Added
+	proof of concept for Python interface.
+
+2009-06-14  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/PIP_Tree.inlines.hh: Added implementation of child accessors.
+
+2009-06-14  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/PIP_Tree.defs.hh: Fixed typo.
+
+2009-06-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PIP_Tree.defs.hh: Added accessors of PIP_Solution_Node.  Other
+	improvements.
+
+2009-06-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PIP_Tree.defs.hh: Include "globals.defs.hh"
+
+2009-06-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PIP_Problem.defs.hh: Include "PIP_Tree.defs.hh".
+
+2009-06-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am, src/PIP_Problem.defs.hh,
+	src/PIP_Problem.inlines.hh, src/PIP_Tree.cc, src/PIP_Tree.defs.hh: 
+	Added constructors and comments.
+
+2009-06-14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.defs.hh, src/PIP_Problem.types.hh,
+	src/PIP_Tree.defs.hh: Initial draft fo rinterface improved.  Removed
+	control parameters; removed UNBOUND status; renamed a few methods;
+	let PIP_Tree be an alias for a pointer to a _const_ PIP_Tree_Node.
+
+2009-06-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh: More comments added.  Some
+	fields renamed.
+
+2009-06-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am, src/PIP_Problem.cc, src/PIP_Problem.defs.hh,
+	src/PIP_Tree.cc, src/PIP_Tree.defs.hh, src/PIP_Tree.types.hh: Added
+	comments and more infrastructure.
+
+2009-06-14  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh, src/PIP_Tree.inlines.hh: 
+	Added draft PIP_Tree implementation.
+
+2009-06-14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.defs.hh: Got rid of objective function and
+	optimization mode.
+
+2009-06-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PIP_Problem.defs.hh, src/PIP_Problem.types.hh: Blatantly
+	ripped from MIP_Problem.*.hh.
+
+2009-06-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* BUGS: Using the bug tracking system is now the recommended way to
+	report PPL issues.
+
+2009-05-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox,
+	interfaces/Prolog/ppl_prolog_sysindep_dox: Typos fixed.
+
+2009-06-11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* STANDARDS: Added explanation on the use of lcov to produce
+	coverage information.
+
+2009-06-11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* configure.ac: Add -lgcov to extra_libraries when configuring with
+	coverage enabled.  Fixes a link bug when trying to compute coverage
+	for the OCaml interface tests.
+
+2009-06-10  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Box.templates.hh: Avoid unused variable warning when
+	assertions are not enabled.
+
+2009-06-02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	*
+	interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m
+	4: In the Java tests, be more systematic in the use of method
+	free().
+
+2009-06-02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/Java/jni/ppl_java_common.defs.hh,
+	interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.jav
+	a: Interface for Java class Linear_Expression_Times improved.  The
+	    misleading methods left_hand_side() and right_hand_side() replaced
+	    by: public Coefficient coefficient(); and     public Linear_Expression linear_expression(); returing the two
+	object factors using clearer naming.
+
+2009-05-24  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/BD_Shape.templates.hh, src/Box.templates.hh,
+	src/Octagonal_Shape.templates.hh: Further improvements to
+	frequency() code.
+
+2009-05-24  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/BD_Shape.templates.hh, src/Octagonal_Shape.templates.hh: Code
+	for frequency() improved.
+
+2009-05-24  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Partially_Reduced_Product.defs.hh,
+	src/Partially_Reduced_Product.inlines.hh,
+	src/Partially_Reduced_Product.templates.hh,
+	src/Partially_Reduced_Product.types.hh,
+	tests/Partially_Reduced_Product/Makefile.am,
+	tests/Partially_Reduced_Product/congruences1.cc,
+	tests/Partially_Reduced_Product/shapepreservingproduct1.cc: A new
+	product called Shape_Preserving_Product added.
+
+2009-05-23  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Affine_Space.defs.hh, src/Affine_Space.inlines.hh: The method
+	frequency() added to the Affine_Space domain.
+
+2009-05-23  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Octagonal_Shape.templates.hh,
+	tests/Octagonal_Shape/frequency1.cc: Bug in frequency() for
+	Octagonal shapes fixed.
+
+2009-05-22  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Box.defs.hh, src/Box.templates.hh, tests/Box/Makefile.am,
+	tests/Box/frequency1.cc: Added the method frequency() to the Box
+	domain.
+
+2009-05-22  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/BD_Shape.templates.hh, src/Octagonal_Shape.defs.hh,
+	src/Octagonal_Shape.templates.hh,
+	tests/Octagonal_Shape/Makefile.am,
+	tests/Octagonal_Shape/frequency1.cc: Added the method frequency() to
+	the Octagonal shape domain.  Improved the code for the same method for BD shapes.  Corrected some typos in comments in these files.
+
+2009-05-21  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/BD_Shape.defs.hh, src/BD_Shape.templates.hh,
+	src/Polyhedron.defs.hh, src/Polyhedron_public.cc,
+	tests/BD_Shape/Makefile.am, tests/BD_Shape/frequency1.cc,
+	tests/Polyhedron/Makefile.am, tests/Polyhedron/frequency1.cc: Added
+	method frequency() to the Polyhedron and BD Shape domains.  This corresponds to the method frequency() already added to the Grid
+	domain.  For these domains it checks if the expression has a constant value
+	and if so, returns true and gives the value (with frequency 0).
+	Otherwise it returns false.
+
+2009-05-20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/wrap2.cc: Test test02() overflows with 16 bit
+	checked integers.
+
+2009-05-20  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Grid.defs.hh: Added a warning about non-integrality for
+	wrap_assign().  Previous reverted commit which had the same message was wrongly done
+	in the products branch.
+
+2009-05-20  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Grid.defs.hh: Revert "Added a warning about non-integrality
+	for wrap_assign()." This reverts commit 6b9f28ad503f1d43da7a876c4bee7eae9eba185a.
+
+2009-05-20  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Grid.defs.hh: Added a warning about non-integrality for
+	wrap_assign().
+
+2009-05-20  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* tests/Partially_Reduced_Product/constraintsproduct1.cc,
+	tests/Partially_Reduced_Product/smashproduct1.cc,
+	tests/Partially_Reduced_Product/timeelapse1.cc: Some tests are
+	expected to fail with 8-bit integers.
+
+2009-05-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Result.defs.hh, src/globals.types.hh: Non-standard commas
+	removed.
+
+2009-05-19  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* tests/Partially_Reduced_Product/directproduct2.cc,
+	tests/Partially_Reduced_Product/directproduct3.cc,
+	tests/Partially_Reduced_Product/directproduct4.cc,
+	tests/Partially_Reduced_Product/directproduct5.cc,
+	tests/Partially_Reduced_Product/directproduct6.cc,
+	tests/Partially_Reduced_Product/partiallyreducedproduct1.cc,
+	tests/Partially_Reduced_Product/partiallyreducedproduct2.cc,
+	tests/Partially_Reduced_Product/partiallyreducedproduct3.cc,
+	tests/Partially_Reduced_Product/partiallyreducedproduct4.cc: Removed
+	redundant test files.
+
+2009-05-19  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* tests/Partially_Reduced_Product/Makefile.am,
+	tests/Partially_Reduced_Product/addcongruences1.cc,
+	tests/Partially_Reduced_Product/addconstraints1.cc,
+	tests/Partially_Reduced_Product/affineimage1.cc,
+	tests/Partially_Reduced_Product/bounded1.cc,
+	tests/Partially_Reduced_Product/boundedaffineimage1.cc,
+	tests/Partially_Reduced_Product/bounds1.cc,
+	tests/Partially_Reduced_Product/concatenate1.cc,
+	tests/Partially_Reduced_Product/congruences1.cc,
+	tests/Partially_Reduced_Product/constraints1.cc,
+	tests/Partially_Reduced_Product/constraintsproduct1.cc,
+	tests/Partially_Reduced_Product/contains1.cc,
+	tests/Partially_Reduced_Product/difference1.cc,
+	tests/Partially_Reduced_Product/dimension1.cc,
+	tests/Partially_Reduced_Product/directproduct1.cc,
+	tests/Partially_Reduced_Product/discrete1.cc,
+	tests/Partially_Reduced_Product/disjoint1.cc,
+	tests/Partially_Reduced_Product/equals1.cc,
+	tests/Partially_Reduced_Product/frombdshape1.cc,
+	tests/Partially_Reduced_Product/frombox1.cc,
+	tests/Partially_Reduced_Product/fromgrid1.cc,
+	tests/Partially_Reduced_Product/fromoctagonalshape1.cc,
+	tests/Partially_Reduced_Product/frompolyhedron1.cc,
+	tests/Partially_Reduced_Product/fromproduct1.cc,
+	tests/Partially_Reduced_Product/generalizedaffineimage1.cc,
+	tests/Partially_Reduced_Product/intersection1.cc,
+	tests/Partially_Reduced_Product/isempty1.cc,
+	tests/Partially_Reduced_Product/isuniverse1.cc,
+	tests/Partially_Reduced_Product/maxmin1.cc,
+	tests/Partially_Reduced_Product/partially_reduced_product_test.hh,
+	tests/Partially_Reduced_Product/refinewithcongruences1.cc,
+	tests/Partially_Reduced_Product/refinewithconstraints1.cc,
+	tests/Partially_Reduced_Product/relations1.cc,
+	tests/Partially_Reduced_Product/smashproduct1.cc,
+	tests/Partially_Reduced_Product/spacedims1.cc,
+	tests/Partially_Reduced_Product/timeelapse1.cc,
+	tests/Partially_Reduced_Product/topclosed1.cc,
+	tests/Partially_Reduced_Product/topclosure1.cc,
+	tests/Partially_Reduced_Product/upperbound1.cc,
+	tests/Partially_Reduced_Product/widening1.cc: Revised the tests so
+	as to follow the organization for other domains.  Apart from the operation tests, there are specific tests for each
+	reduction operator.  Selected tests (in the Makefile) can be checked with the given
+	component order and with the component domains reversed.
+
+2009-05-19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/wrap1.cc: Corrected a typo in the known result of
+	a wrap_assign test.  (Please, double check that it was indeed a typo.)
+
+2009-05-19  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* : commit f184d82d2e3105d671a089a1302ed6dff993a395 Author: Patricia
+	Hill <p.m.hill at leeds.ac.uk> Date:   Tue May 19 07:40:39 2009 +0100
+
+2009-05-18  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/checked_float.inlines.hh: Fixed omitted renaming.
+
+2009-05-18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/tests/ppl_interface_generator_java_test_java.m4,
+	interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m
+	4, interfaces/Java/tests/ppl_java_tests_common: The generated Java
+	tests now exploit the Test_Executor class functionality.  Added an
+	helper function to set global success flag and report success or
+	failure if in noisy mode.  NOTE: we are still (just) checking for
+	the well formedness of the object (using method OK()), rather than
+	checking if the computed result is actually the same of th expected
+	one. However, due to genericity, it is quite difficult to precisely
+	state expectations in these tests.
+
+2009-05-18  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* tests/Box/congruences1.cc: When the congruences have inconsistent
+	equalities, the box is set empty.
+
+2009-05-18  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* tests/Box/congruences1.cc: The refine_with_congrueces() detects
+	inconsistent equalities.
+
+2009-05-18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/tests/C_Polyhedron_test1.java,
+	interfaces/Java/tests/MIP_Problem_test1.java,
+	interfaces/Java/tests/NNC_Polyhedron_test1.java,
+	interfaces/Java/tests/Parma_Polyhedra_Library_test1.java,
+	interfaces/Java/tests/Parma_Polyhedra_Library_test2.java,
+	interfaces/Java/tests/Test_Executor.java: Started adapting the Java
+	tests to make better use of class Test_Executor.
+
+2009-05-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit badd595a0c22e91f4f1653ff8c7d53a3bf15ec50 Author: Patricia
+	Hill <p.m.hill at leeds.ac.uk> Date:   Mon May 18 12:05:10 2009 +0100
+
+2009-05-18  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/BD_Shape.templates.hh, src/Octagonal_Shape.templates.hh: 
+	Improved the relation_with(Congruence) implementation for the weakly
+	relational domains.
+
+2009-05-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am, tests/Polyhedron/wrap1.cc,
+	tests/Polyhedron/wrap2.cc: New tests for Polyhedron::wrap_assign().
+
+2009-05-18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/wrap1.cc: Known result for test03() corrected; test now
+	marked to succeed.
+
+2009-05-18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh, tests/Box/wrap1.cc: First draft of
+	Box::wrap_assign() is now operational. Added a few tests.
+
+2009-05-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/wrap_assign.hh, tests/Polyhedron/wrap1.cc: Fixed a bug in
+	wrap_assign_col().
+
+2009-05-18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/wrap1.cc: Added a test showing a bug in
+	wrap_assign when wrap_individually == false.  Test is test20(),
+	temporarily marked as an expected failure.
+
+2009-05-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/wrap1.cc: 8-bit coefficients are now enough for
+	test07().
+
+2009-05-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
+	src/BD_Shape.templates.hh, src/Box.defs.hh, src/Box.templates.hh,
+	src/Grid.defs.hh, src/Octagonal_Shape.defs.hh,
+	src/Octagonal_Shape.inlines.hh, src/Octagonal_Shape.templates.hh,
+	src/Polyhedron.defs.hh: Added declarations and stub implementations
+	for drop_some_non_integer_points().
+
+2009-05-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox, src/globals.types.hh: Finished the
+	documentation about the wrapping operator.
+
+2009-05-17  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/wrap_assign.hh: Rounding direction is not relevant here.
+
+2009-05-17  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/checked.inlines.hh, src/checked_float.inlines.hh: Get rid of a
+	comparison warning.
+
+2009-05-17  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/wrap_assign.hh: Simplified code.
+
+2009-05-17  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Partially_Reduced_Product.inlines.hh,
+	tests/Partially_Reduced_Product/constraintsproduct1.cc: After the
+	affine (pre)image operations, unset the reduced flag.
+
+2009-05-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox: Added more in the section about the wrapping
+	operator.
+
+2009-05-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox, src/globals.types.hh: More work on the
+	documentation of approximations for bounded integer arithmetic.
+
+2009-05-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh, src/BD_Shape.templates.hh, src/Box.defs.hh,
+	src/Box.templates.hh, src/Grid.defs.hh, src/Grid_public.cc,
+	src/Interval.defs.hh, src/Octagonal_Shape.defs.hh,
+	src/Octagonal_Shape.templates.hh, src/Polyhedron.defs.hh,
+	src/Polyhedron_public.cc, src/globals.types.hh, src/wrap_assign.hh: 
+	Bounded_Integer_Type_Signedness renamed
+	Bounded_Integer_Type_Representation.
+
+2009-05-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/globals.types.hh: Comments improved.
+
+2009-05-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox: Started writing the section on approximating
+	bounded arithmetic.
+
+2009-05-16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh, src/Octagonal_Shape.templates.hh,
+	src/Polyhedron_public.cc: Further cleaning of
+	relation_with(Congruence) implementations.
+
+2009-05-16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/tests/pl_check.pl: Improved a few timeout and
+	exception tests.  Make sure an out_of_memory exception is thrown as
+	expected even when a large amount of memory is available. Do not set
+	timeouts out of catch constructs.
+
+2009-05-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/wrap1.cc: test19() must fail with 8-bit
+	coefficients.
+
+2009-05-16  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* tests/Box/propagateconstraints2.cc: These tests fails with 16 bit
+	coefficients.
+
+2009-05-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO: Item removed: no big deal.
+
+2009-05-15  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* tests/BD_Shape/closure1.cc: The test fails also with 32 bit
+	coefficients.
+
+2009-05-15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Octagonal_Shape.defs.hh, src/Octagonal_Shape.inlines.hh,
+	src/Octagonal_Shape.templates.hh: FIXME resolved.
+
+2009-05-15  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* tests/Box/propagateconstraints2.cc: The test fails also with 32
+	bit coefficients.
+
+2009-05-15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/wrap_assign.hh, tests/Box/wrap1.cc, tests/Polyhedron/wrap1.cc: 
+	Fixed the generic implementation of wrap_assign().
+
+2009-05-15  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/math_utilities.inlines.hh: A strict relation info is required
+	here too.
+
+2009-05-15  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Octagonal_Shape.templates.hh: A strict relation info is
+	required here.
+
+2009-05-15  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/checked_float.inlines.hh: Fixed a typo.
+
+2009-05-15  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/checked_int.inlines.hh, src/checked_mpz.inlines.hh: Added an
+	assert(false) for unreachable code.
+
+2009-05-15  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/checked.inlines.hh: Avoid two warnings.
+
+2009-05-15  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Boundary.defs.hh, src/Rounding_Dir.defs.hh,
+	src/Rounding_Dir.inlines.hh, src/checked.inlines.hh,
+	src/checked_float.inlines.hh, src/checked_mpz.inlines.hh,
+	src/intervals.defs.hh: Renamed and commented ROUND_STRICT_RELATION.
+	Added some use of it. Added some optimizations when ROUND_NOT_NEEDED
+	is specified.
+
+2009-05-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc: Improved method
+	Polyhedron::relation_with(const Congruence&) const.  Avoided several
+	temporary objects; added a FIXME asking for the rounding mode.
+
+2009-05-15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh: Fixed the invocation of the generic
+	implementation of wrap_assign().
+
+2009-05-15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/wrap_assign.hh: Check that all variables upon which `*pcs'
+	depends are in `vars'.  An assertion is violated otherwise.
+
+2009-05-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Several improvements to
+	Octagonal_Shape<T>::relation_with(const Congruence&).  Alaso added a
+	couple of FIXME regarding missing comments and rounding modes.
+
+2009-05-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Octagonal_Shape/relatwithcons2.cc: Corrected typo in
+	explanatory output.
+
+2009-05-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox: Minor improvement.
+
+2009-05-15  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/checked_int.inlines.hh, src/checked_mpz.inlines.hh: Fixed
+	rounding.
+
+2009-05-15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh, src/BD_Shape.templates.hh,
+	src/Octagonal_Shape.defs.hh, src/Octagonal_Shape.templates.hh,
+	src/Polyhedron.defs.hh, src/Polyhedron_public.cc,
+	src/wrap_assign.hh, tests/Polyhedron/wrap1.cc: Changed the
+	specification of wrap_assign().  If `*pcs' depends on variables not
+	in `vars', the behavior is undefined.  We perform only the quick
+	test on space dimensions.  In debugging mode we will check the
+	condition thoroughly.
+
+2009-05-15  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Octagonal_Shape.templates.hh: Simplified a rounded assignment.
+
+2009-05-15  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Checked_Number.inlines.hh, src/Rounding_Dir.defs.hh,
+	src/Rounding_Dir.inlines.hh, src/checked_float.inlines.hh,
+	src/checked_int.inlines.hh, src/checked_mpz.inlines.hh: Permits to
+	low level code to take benefits from knowing that result will be
+	exact.
+
+2009-05-15  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* tests/BD_Shape/closure1.cc: Test fails with an overflow using 8
+	bit coefficients.
+
+2009-05-15  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Checked_Number.inlines.hh: Enable DEBUG_ROUND_NOT_NEEDED when
+	assertions are enabled.
+
+2009-05-15  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* tests/Box/propagateconstraints2.cc: Two tests fail with an
+	overflow using 8 bit coefficients.
+
+2009-05-15  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Rounding_Dir.defs.hh: Improved comment for ROUND_NOT_NEEDED.
+
+2009-05-15  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* interfaces/Prolog/Ciao/ciao_efli.cc,
+	interfaces/Prolog/GNU/gprolog_efli.cc,
+	interfaces/Prolog/SICStus/sicstus_efli.cc,
+	interfaces/Prolog/XSB/xsb_efli.cc,
+	interfaces/Prolog/ppl_prolog_common.defs.hh,
+	src/Checked_Number.inlines.hh: Fixed DEBUG_ROUND_NOT_NEEDED.
+
+2009-05-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/wrap1.cc: Let the wrap_assign tests succeed until the
+	specification is clarified.
+
+2009-05-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/MIP_Problem.cc: Added a note about the use of `assign' helper
+	functions.
+
+2009-05-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh: When wrapping no variable, do not ignore the
+	optional constraint system.
+
+2009-05-14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/Java/jni/ppl_java_common.defs.hh,
+	interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/Congruence.java,
+	interfaces/Java/parma_polyhedra_library/Generator.java,
+	interfaces/Java/parma_polyhedra_library/Grid_Generator.java: Added a
+	few missing accessor methods to Java interface classes.  Affected
+	classes are Congruence, Generator and Grid_Generator.
+
+2009-05-14  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* tests/Partially_Reduced_Product/constraintsproduct1.cc,
+	tests/ppl_test.cc, tests/ppl_test.hh: Added two tests based on the
+	examples 5(a), 5(b) in SenS07.  Added print_constraints(const Affine_Space&) to ppl_test.
+
+2009-05-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/wrap_assign.hh, tests/Polyhedron/wrap1.cc: Fixed the bug
+	witnessed by test15().
+
+2009-05-14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO, src/MIP_Problem.cc: Partially reverted changes
+	71e9992afa9bc049b93d0b29fd9dbe52ead850cf.  The changes were not
+	working on platforms where floating point rounding mode could not be
+	set (e.g., ARM), even though rounding control is not actually
+	needed.
+
+2009-05-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/wrap1.cc: Temporarily marked test15() and
+	test16() as expected to fail.
+
+2009-05-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/wrap_assign.hh: Last commit partly undone.
+
+2009-05-14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/wrap_assign.hh, tests/Box/wrap1.cc, tests/Polyhedron/wrap1.cc: 
+	Adapted generic implementation of wrap_assign to model the rational
+	case.  Also added a couple of tests showing problems in the current
+	implementation.
+
+2009-05-14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.inlines.hh, src/Box.templates.hh: Use PPL_DIRTY_TEMP for
+	temporary objects.  Also corrected a type causing an assertion
+	failure.
+
+2009-05-14  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Interval.defs.hh: Added missing clear.
+
+2009-05-14  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Boundary.defs.hh: Fixed typo.
+
+2009-05-14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.inlines.hh, src/Box.templates.hh, src/Interval.defs.hh: 
+	Some progress on Box::wrap_assign().  Corrected a couple of typos in
+	Interval::wrap_assign().  Silenced an annoying GCC warning.
+
+2009-05-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/WRD_coefficient_types.defs.hh, src/checked.inlines.hh: Commits
+	improved.
+
+2009-05-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 6c8a266be0f01266599542b7cdc3d3c2a47e62d2 Author: Abramo
+	Bagnara <abramo.bagnara at gmail.com> Date:   Thu May 14 09:41:30 2009
+	+0200
+
+2009-05-14  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* tests/Box/frombox1.cc: Added missing policy.
+
+2009-05-14  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* tests/Grid/frequency1.cc: Added new method frequency() for Grids.
+
+2009-05-14  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Checked_Number.cc, src/Checked_Number.inlines.hh,
+	src/Result.defs.hh: Added missing Result values.
+
+2009-05-14  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Interval.defs.hh: Fixed some typos.
+
+2009-05-14  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Grid.defs.hh, src/Grid_public.cc, tests/Grid/Makefile.am: 
+	Added new method frequency() for Grids.
+
+2009-05-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh, src/Octagonal_Shape.defs.hh,
+	src/WRD_coefficient_types.defs.hh,
+	src/WRD_coefficient_types.inlines.hh: New policy
+	Debug_WRD_Extended_Number_Policy.  This is the debugging policy for
+	checked numbers used in weakly-relational domains.
+
+2009-05-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/WRD_coefficient_types.defs.hh: WRD_Extended_Number_Policy
+	properly commented.
+
+2009-05-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/wrap1.cc: Marked tests that are expected to fail with
+	8-bit coefficients.
+
+2009-05-13  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Interval.defs.hh: Added wrap_assign.
+
+2009-05-13  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
+	src/checked.defs.hh, src/checked_ext.inlines.hh,
+	src/checked_float.inlines.hh, src/checked_int.inlines.hh,
+	src/checked_mpq.inlines.hh, src/checked_mpz.inlines.hh: Added
+	add_2exp and sub_2exp.
+
+2009-05-13  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Interval.defs.hh: Added missing info clearing.
+
+2009-05-13  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* doc/definitions.dox, src/Determinate.defs.hh, src/Grid.defs.hh,
+	src/Partially_Reduced_Product.defs.hh: Removed repeated
+	specification of operators in the grids section.  Ensure cross-references to these sections now refer to the
+	equivalent sections for polyhedra.  Fixed a typo in src/Determinate.defs.hh that caused a warning when
+	compiling the documentation.
+
+2009-05-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh, src/Checked_Number.defs.hh,
+	src/Checked_Number.inlines.hh, src/Makefile.am,
+	src/Octagonal_Shape.defs.hh, src/WRD_coefficient_types.defs.hh,
+	src/WRD_coefficient_types.inlines.hh: Coefficient types of
+	weakly-relational domains moved to new source files.
+
+2009-05-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Coefficient.types.hh: Comment fixed.
+
+2009-05-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
+	src/Checked_Number.types.hh: Got rid of
+	Checked_Number_Default_Policy.
+
+2009-05-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Coefficient.inlines.hh: 
+	Bounded_Integer_Coefficient_Policy::handle_result() commented.
+
+2009-05-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Coefficient.inlines.hh: Also check for NaN in
+	Bounded_Integer_Coefficient_Policy::handle_result().
+
+2009-05-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.defs.hh, src/Coefficient.types.hh,
+	src/checked.defs.hh, src/checked_float.inlines.hh: Checked number
+	policy parameter `check_nan_result' renamed `fpu_check_nan_result'.
+
+2009-05-13  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/checked.defs.hh: Fixed return type.
+
+2009-05-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Use Bounded_Integer_Coefficient_Policy as the policy
+	for checked coefficients.
+
+2009-05-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Coefficient.inlines.hh, src/Coefficient.types.hh: Added
+	Bounded_Integer_Coefficient_Policy.
+
+2009-05-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked.defs.hh: Checked_Number_Transparent_Policy properly
+	commented.
+
+2009-05-13  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Interval.defs.hh: Fixed topological closure for unbounded
+	intervals.
+
+2009-05-13  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Boundary.defs.hh, src/Box.templates.hh,
+	src/Checked_Number.cc, src/Checked_Number.inlines.hh,
+	src/Circular_Interval.defs.hh, src/DB_Matrix.templates.hh,
+	src/Interval.defs.hh, src/Interval.templates.hh,
+	src/OR_Matrix.templates.hh, src/Result.defs.hh,
+	src/Result.inlines.hh, src/checked.cc, src/checked.defs.hh,
+	src/checked.inlines.hh, src/checked_ext.inlines.hh,
+	src/checked_float.inlines.hh, src/checked_int.inlines.hh,
+	src/checked_mpq.inlines.hh, src/checked_mpz.inlines.hh,
+	src/intervals.defs.hh, tests/Polyhedron/numberinput1.cc: Reorganized
+	and separated Result classes to be more informative.
+
+2009-05-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit c8cbb00f29ac4c0d48daf14a9a9d3b93e559e207 Author: Patricia
+	Hill <p.m.hill at leeds.ac.uk> Date:   Wed May 13 09:21:47 2009 +0100
+
+2009-05-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_gmp.m4: AC_CHECK_GMP fixed.
+
+2009-05-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO: Added a commit to consider should we release PPL 0.10.3.
+
+2009-05-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS, README.configure, m4/ac_check_gmp.m4: New configuration
+	option `--with-gmp-build=DIR'.  This allows to use a non-installed
+	build of GMP in DIR.
+
+2009-05-12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Partially_Reduced_Product/directproduct6.cc: Known result
+	adapted to increased Box constructor precision.
+
+2009-05-12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO, tests/Box/frompolyhedron1.cc: Another TODO item dealt with.
+	Adapted another few known results according to increased precision.
+
+2009-05-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO: Added a section on commits to consider should we release PPL
+	0.10.3.
+
+2009-05-12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.defs.hh, src/Box.inlines.hh, src/Box.templates.hh,
+	tests/Box/frompolyhedron2.cc, tests/Box/refinewithconstraint1.cc,
+	tests/Powerset/frompolyhedron1.cc: Method Box::refine_with is now
+	based on (single step) constraint propagation.  Method
+	Box::propagate_constraints now also take as input a parameter for
+	specifying the maximum number of iterations (default value 0).  The
+	constructor of a Box from a Polyhedron in polynomial time sets this
+	parameter to a constant.  The known result of several tests adapted
+	to match the increased precision.
+
+2009-05-12  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* doc/definitions.dox, src/Grid_public.cc: Improved documentation
+	and small efficiency improvement to the code.
+
+2009-05-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/tests/Makefile.am: We cannot test the Java
+	interface unless ENABLE_SHARED.
+
+2009-05-12  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Grid_public.cc: Another efficiency improvement to
+	wrap_assign().
+
+2009-05-12  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Grid_public.cc: Some efficiency improvements. Comments
+	improved.
+
+2009-05-12  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Boundary.defs.hh: Added smod_2exp and umod_2exp for boundary.
+
+2009-05-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: Updated from
+	Gnulib.
+
+2009-05-12  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Grid.defs.hh, src/Grid_nonpublic.cc, src/Grid_public.cc: 
+	Simplification and improvement of code for wrap_assign().  The bounds_no_check() and frequency_no_check() assume the generators
+	are minimized and the grid is not empty.
+
+2009-05-12  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* doc/definitions.dox, src/Grid_public.cc: Several improvements for
+	the wrap_assign() operator for grids.
+
+2009-05-11  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Grid.defs.hh, src/Grid_public.cc, tests/Grid/wrap1.cc: 
+	Improved code for wrap_assign() for grids for constant values.  If the value for a variable is already constant, and the constant is
+	outside the range for the bounded integr type, then the outcome
+	depends on the kind of overflow: - if `impossible', then the grid is set empty; - if `undefined', then the variable is set to take any integral
+	value; - if `wraps', then the value is wrapped by the wrap_frequency   to a value in the range for the bounded integer type.  Comments improved.
+
+2009-05-11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO: Another item dealt with.
+
+2009-05-11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc,
+	interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.jav
+	a, interfaces/Java/tests/Parma_Polyhedra_Library_test1.java,
+	interfaces/OCaml/OCaml_interface.dox,
+	interfaces/OCaml/ppl_ocaml_common.cc,
+	interfaces/OCaml/ppl_ocaml_globals.ml,
+	interfaces/OCaml/ppl_ocaml_globals.mli,
+	interfaces/OCaml/tests/test1.ml,
+	interfaces/Prolog/Prolog_interface.dox,
+	interfaces/Prolog/ppl_interface_generator_prolog_procedure_generato
+	rs.m4, interfaces/Prolog/ppl_prolog_common.cc,
+	interfaces/Prolog/ppl_prolog_common.defs.hh,
+	interfaces/Prolog/tests/pl_check.pl: Parameter irrational_precision
+	made available in all language interfaces.
+
+2009-05-11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Init.cc, src/checked.cc, src/checked_mpq.inlines.hh: Renamed
+	rational_sqrt_precision_parameter to irrational_precision.
+
+2009-05-11  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* tests/Grid/wrap1.cc: Several tests are expected to fail for
+	checked-in8.
+
+2009-05-11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/MIP_Problem/mipproblem1.cc: Do not test for result dependent
+	on floating point steepest edge heuristics.
+
+2009-05-11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/MIP_Problem.cc: Avoid unnecessary unbounded precision value in
+	floating point steepest edge.
+
+2009-05-11  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* doc/definitions.dox: Added a _draft_ description of the wrap
+	operator for grids.
+
+2009-05-11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO, src/MIP_Problem.cc: Got rid of a TODO item.  Also avoid an
+	annoying warning about an uninitialized variable.
+
+2009-05-11  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Grid.defs.hh, src/Grid_nonpublic.cc, src/Grid_public.cc: Redid
+	the intended changes for the last commit for wrap_assign().
+
+2009-05-11  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Grid.defs.hh, src/Grid_nonpublic.cc, src/Grid_public.cc,
+	tests/Grid/wrap1.cc: Improved wrap_assign() for grids.  Added private methods bounds_no_check() and frequency_no_check().
+
+2009-05-10  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
+	src/Rounding_Dir.inlines.hh, src/checked.defs.hh,
+	src/checked_ext.inlines.hh, src/checked_float.inlines.hh,
+	src/checked_int.inlines.hh, src/checked_mpq.inlines.hh,
+	src/checked_mpz.inlines.hh: Added umod_2exp and smod_2exp to checked
+	numbers. Fixed rem for mpq to work similarly to other numeric types.
+
+2009-05-09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.defs.hh, src/Box.inlines.hh, src/Box.templates.hh,
+	src/wrap_assign.hh, tests/Box/Makefile.am, tests/Box/wrap1.cc: 
+	Drafted specialized implementation for Box<ITV>::wrap_assign.  Code
+	still commented out as it relies on a missing Interval method.
+
+2009-05-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_public.cc: Use the appropriate
+	throw_dimension_incompatible() method in wrap_assign().
+
+2009-05-07  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Grid.defs.hh, src/Grid_public.cc, tests/Grid/Makefile.am,
+	tests/Grid/wrap1.cc: Added draft implementation for wrap_assign()
+	for the grid domain.
+
+2009-05-05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS, interfaces/C/ppl_c_header.h,
+	interfaces/Java/jni/Makefile.am,
+	interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/Java/jni/ppl_java_common.defs.hh,
+	interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/Makefile.am,
+	interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.jav
+	a, interfaces/Java/parma_polyhedra_library/Timeout_Exception.java,
+	interfaces/Java/tests/Makefile.am,
+	interfaces/Java/tests/Parma_Polyhedra_Library_test2.java: Added
+	basic timeout support to the Java library interface.
+
+2009-05-06  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/Java/jni/ppl_java_common.defs.hh: Fixed result check for
+	ThrowNew.
+
+2009-05-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/wrap1.cc: test03() fails also with 16-bit
+	coefficients when assertions are enabled.
+
+2009-05-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/wrap1.cc: test07() only fails if assertions are
+	enabled.
+
+2009-05-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/OCaml/ppl_ocaml_common.cc, src/BD_Shape.templates.hh,
+	src/Checked_Number.templates.hh, src/Grid_public.cc,
+	src/Interval_Info.defs.hh, src/MIP_Problem.cc,
+	src/OR_Matrix.inlines.hh, src/Octagonal_Shape.templates.hh,
+	src/Polyhedron_nonpublic.cc, src/Polyhedron_public.cc,
+	tests/BD_Shape/affinedimension1.cc,
+	tests/BD_Shape/containsintegerpoint1.cc,
+	tests/Box/affinedimension1.cc,
+	tests/Octagonal_Shape/containsintegerpoint1.cc,
+	tests/Partially_Reduced_Product/partiallyreducedproduct2.cc,
+	tests/Polyhedron/dualhypercubes.cc,
+	tests/Polyhedron/generators1.cc, tests/Polyhedron/maxspacedim1.cc,
+	tests/Polyhedron/polyhull1.cc, tests/Polyhedron/relations1.cc: 
+	Spurious parentheses removed.
+
+2009-05-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 317f48d0d55391b07624e0f55a6228e3b2d39d6f Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Tue May 5 19:20:33 2009 +0200
+
+2009-05-05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/Makefile.am, interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc,
+	interfaces/C/ppl_c_implementation_common.defs.hh,
+	interfaces/C/tests/Makefile.am, interfaces/C/tests/watchdog1.c: 
+	Added basic timeout support to the C library interface.
+
+2009-05-05  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Box.templates.hh: Fixed typo on assertion.
+
+2009-05-05  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* interfaces/Prolog/ppl_prolog_common.cc, src/Bool4.defs.hh,
+	src/Boundary.defs.hh, src/Box.defs.hh, src/Box.inlines.hh,
+	src/Box.templates.hh, src/Circular_Interval.defs.hh,
+	src/Interval.defs.hh, src/Interval.inlines.hh,
+	src/Interval.templates.hh, src/Interval_Info.defs.hh,
+	src/Makefile.am, src/Rational_Interval.hh, src/Result.defs.hh,
+	src/globals.types.hh, src/intervals.defs.hh: Added Circular Integer
+	intervals.
+
+2009-05-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/COW_Pointset.defs.hh, tests/Grid/approximatepartition1.cc,
+	tests/Grid/powersetdifference1.cc: Method COW_Pointset::element()
+	renamed pointset().
+
+2009-05-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/linearpartition1.cc: Method
+	COW_Pointset::element() renamed pointset().
+
+2009-05-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/hybrid.cc: Indentation and comments fixed.
+
+2009-05-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/hybrid.cc: Method COW_Pointset::element() renamed
+	pointset().
+
+2009-05-04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	, interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4,
+	src/COW_Pointset.defs.hh, src/COW_Pointset.inlines.hh,
+	src/Pointset_Ask_Tell.cc, src/Pointset_Ask_Tell.templates.hh,
+	src/Pointset_Powerset.cc, src/Pointset_Powerset.templates.hh,
+	src/algorithms.hh, tests/Powerset/affinedimension1.cc,
+	tests/Powerset/affineimage1.cc, tests/Powerset/affinepreimage1.cc,
+	tests/Powerset/difference1.cc, tests/Powerset/disjunct1.cc,
+	tests/Powerset/frombdshape1.cc, tests/Powerset/frombox1.cc,
+	tests/Powerset/fromgrid1.cc, tests/Powerset/fromoctagonalshape1.cc,
+	tests/Powerset/frompolyhedron1.cc, tests/Powerset/refinewith1.cc,
+	tests/Powerset/simplifyusingcontext1.cc: Method
+	COW_Pointset::element() renamed pointset().  Comments improved.
+
+2009-05-04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/wrap1.cc: test02() and test09() fail also with
+	16-bit coefficients.
+
+2009-05-04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Affine_Space.defs.hh, src/Any_Pointset.defs.hh,
+	src/BD_Shape.defs.hh, src/Bit_Matrix.defs.hh, src/Bit_Row.defs.hh,
+	src/Box.defs.hh, src/Box_Status.idefs.hh, src/C_Polyhedron.defs.hh,
+	src/Checked_Number.defs.hh, src/Congruence.defs.hh,
+	src/Congruence_System.defs.hh, src/Constraint.defs.hh,
+	src/Constraint_System.cc, src/Constraint_System.defs.hh,
+	src/DB_Matrix.defs.hh, src/Generator.defs.hh,
+	src/Generator_System.defs.hh, src/Grid.defs.hh,
+	src/Grid_Generator.defs.hh, src/Grid_Generator_System.defs.hh,
+	src/Linear_Expression.defs.hh, src/Linear_System.defs.hh,
+	src/MIP_Problem.defs.hh, src/Matrix.defs.hh,
+	src/NNC_Polyhedron.defs.hh, src/OR_Matrix.defs.hh,
+	src/Octagonal_Shape.defs.hh, src/Partially_Reduced_Product.defs.hh,
+	src/Pointset_Ask_Tell.defs.hh, src/Pointset_Powerset.defs.hh,
+	src/Polyhedron.defs.hh, src/Ptr_Iterator.defs.hh: Systematically
+	write "copy constructor" instead of "copy-constructor." (The verb is
+	"to copy-construct" though.)
+
+2009-05-04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS, src/{Determinate.defs.hh => COW_Pointset.defs.hh},
+	src/{Determinate.inlines.hh => COW_Pointset.inlines.hh},
+	src/{Determinate.types.hh => COW_Pointset.types.hh},
+	src/Makefile.am, src/Pointset_Ask_Tell.cc,
+	src/Pointset_Ask_Tell.defs.hh, src/Pointset_Ask_Tell.inlines.hh,
+	src/Pointset_Ask_Tell.templates.hh, src/Pointset_Powerset.cc,
+	src/Pointset_Powerset.defs.hh, src/Pointset_Powerset.inlines.hh,
+	src/Pointset_Powerset.templates.hh, tests/BD_Shape/membytes1.cc,
+	tests/Grid/membytes1.cc, tests/Octagonal_Shape/membytes1.cc,
+	tests/Polyhedron/membytes1.cc: The `Determinate' class has been
+	renamed `COW_Pointset'.
+
+2009-05-04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh, src/Octagonal_Shape.defs.hh,
+	src/Polyhedron.defs.hh: Completed the \exception section of the
+	documentation for wrap_assign().
+
+2009-05-04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox: Added a section on "Approximating Bounded
+	Arithmetic", to be written.
+
+2009-05-04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh, src/Makefile.am,
+	src/Octagonal_Shape.defs.hh, src/Polyhedron.defs.hh,
+	src/wrap_assign.hh: Documentation of the wrapping methods improved.
+	Typos fixed.
+
+2009-05-04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO: Two new items added.
+
+2009-05-04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Affine_Space.cc, src/Affine_Space.defs.hh,
+	src/Affine_Space.inlines.hh: Further steps in the definition of the
+	interface of Affine_Space.  The widening and extrapolation methods
+	do nothing (except for testing dimension-compatibility).  Several
+	comments revised.
+
+2009-05-04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid.defs.hh: Added missing full stops.
+
+2009-05-04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS, interfaces/Java/README.java,
+	interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.jav
+	a: Documented recent changes in the Java interface.
+
+2009-05-04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh: Removed obsolete comments about
+	minimization.
+
+2009-05-04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Affine_Space.defs.hh: Fixed some comments.
+
+2009-05-04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/wrap1.cc: Marked the tests that are expected to
+	fail with 8-bit coefficients.
+
+2009-05-04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c_header.h: Documented a systematic assumption
+	about the C interface opaque pointers.
+
+2009-05-04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh, src/Octagonal_Shape.defs.hh: Fixed a couple
+	of comments for BD and octagonal shapes.  When adding
+	constraints/congruences, an exception is thrown if they cannot be
+	accurately represented.
+
+2009-05-04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/Java/jni/ppl_java_common.defs.hh,
+	interfaces/Java/jni/ppl_java_common.inlines.hh,
+	interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/Makefile.am,
+	interfaces/Java/parma_polyhedra_library/Pair.java: Cached Java
+	method IDs for class parma_polyhedra_library/Pair.
+
+2009-05-04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/wrap1.cc, tests/Octagonal_Shape/wrap1.cc,
+	tests/Polyhedron/wrap1.cc: Expected behavior made dependent on the
+	range of Coefficient.
+
+2009-05-04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/Makefile.am, tests/BD_Shape/wrap1.cc: Test
+	BD_Shape::wrap_assign().
+
+2009-05-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh: Check for NaNs only when debugging.
+
+2009-05-03  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Partially_Reduced_Product.defs.hh,
+	src/Partially_Reduced_Product.inlines.hh,
+	src/Partially_Reduced_Product.templates.hh,
+	src/Partially_Reduced_Product.types.hh,
+	tests/Partially_Reduced_Product/Makefile.am,
+	tests/Partially_Reduced_Product/congruencesproduct1.cc,
+	tests/Partially_Reduced_Product/shrinkusingcongruences1.cc: Renamed
+	reduction Shrink_Using_Congruences_Reduction to
+	Congruences_Reduction.
+
+2009-05-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/wrap1.cc: Fixed computation of known results
+	for test01() and test02().
+
+2009-05-03  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/checked_numeric_limits.hh: Avoid use of constructors in
+	numeric_limits.
+
+2009-05-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/wrap1.cc: Expected result adapted to the
+	different types of coefficients.
+
+2009-05-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_numeric_limits.hh: Fixed PPL_SPECIALIZE_LIMITS_INT.
+
+2009-05-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/wrap1.cc: Debugging print statement added.
+
+2009-05-03  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/checked.cc, src/checked.defs.hh, src/checked_int.inlines.hh: 
+	Fixed assignment to int.
+
+2009-05-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am, src/{wrap.cc => wrap_string.cc}, src/{wrap.hh =>
+	wrap_string.hh}: Files renamed to avoid ambiguity with respect to
+	numerical wrapping.
+
+2009-05-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Determinate.defs.hh, src/Determinate.inlines.hh,
+	src/Determinate.types.hh, src/Pointset_Ask_Tell.defs.hh,
+	src/Pointset_Ask_Tell.inlines.hh,
+	src/Pointset_Ask_Tell.templates.hh, src/Pointset_Ask_Tell.types.hh,
+	src/Pointset_Powerset.defs.hh, src/Pointset_Powerset.inlines.hh,
+	src/Pointset_Powerset.templates.hh, src/Pointset_Powerset.types.hh,
+	src/Widening_Function.defs.hh, src/Widening_Function.inlines.hh,
+	src/Widening_Function.types.hh, src/wrap_assign.hh: No longer use CS
+	and PS as template parameter names.
+
+2009-05-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/wrap_assign.hh: Unused variable removed.
+
+2009-05-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/asciidumpload1.cc, tests/Grid/asciidumpload2.cc,
+	tests/Grid/asciidumpload4.cc, tests/Grid/asciidumpload5.cc,
+	tests/Grid/asciidumpload6.cc, tests/Polyhedron/ascii_dump_load1.cc,
+	tests/Polyhedron/ascii_dump_load3.cc: Bad spacing fixed.
+
+2009-05-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 099c11d215bf8bf113bec36fbe1b802d939bf92b Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Sat May 2 18:16:44 2009 +0200
+
+2009-05-02  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Partially_Reduced_Product.templates.hh,
+	tests/Partially_Reduced_Product/Makefile.am,
+	tests/Partially_Reduced_Product/constraintsproduct1.cc,
+	tests/Partially_Reduced_Product/shrinkusingcongruences1.cc: 
+	Reduction methods (Constraints and Shrink_Using_Congruences)
+	improved.  Tests specific to the Constraints_Reduction added.
+
+2009-05-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/Makefile.am, tests/Grid/coveringbox1.cc,
+	tests/Grid/coveringbox2.cc: Obsolete test programs removed.
+
+2009-05-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 02e818f7cd915af0e99ac755e1567932ec164992 Merge: abefc45
+	54b3668 Author: Roberto Bagnara <bagnara at cs.unipr.it> Date:   Fri
+	May 1 14:25:03 2009 +0200
+
+2009-05-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c_implementation_common.cc,
+	interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	interfaces/Java/parma_polyhedra_library/Fake_Class_for_Doxygen.java
+	,
+	interfaces/Java/parma_polyhedra_library/ppl_interface_generator_jav
+	a_classes_java_code.m4, src/Any_Pointset.defs.hh,
+	src/BD_Shape.defs.hh, src/BD_Shape.templates.hh, src/Box.defs.hh,
+	src/Box.templates.hh, src/Grid.defs.hh,
+	src/Grid_Generator_System.cc, src/Grid_Generator_System.defs.hh,
+	src/Grid_chdims.cc, src/Grid_public.cc,
+	src/Octagonal_Shape.defs.hh, src/Octagonal_Shape.templates.hh,
+	src/Partially_Reduced_Product.defs.hh,
+	src/Partially_Reduced_Product.inlines.hh,
+	src/Pointset_Ask_Tell.defs.hh, src/Pointset_Ask_Tell.templates.hh,
+	src/Pointset_Powerset.defs.hh, src/Pointset_Powerset.templates.hh,
+	src/Polyhedron.defs.hh, src/Polyhedron_chdims.cc,
+	src/Polyhedron_public.cc: Renamed some pleonastic identifiers.
+	Fixed some comments.
+
+2009-05-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/.gitignore: Added missing patterns.
+
+2009-05-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Affine_Space.defs.hh: Renamed some pleonastic identifiers.
+
+2009-05-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Affine_Space.cc, src/Affine_Space.defs.hh,
+	src/Affine_Space.inlines.hh, src/Affine_Space.types.hh,
+	src/Makefile.am: Added a proof-of-concept implementation of affine
+	spaces.  The implementation is based on rational grids.
+
+2009-05-01  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* tests/Partially_Reduced_Product/shrinkusingcongruences1.cc: 
+	Unwanted changes to test01() undone.
+
+2009-05-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid.defs.hh: Fixed copy-and-paste mistakes.
+
+2009-05-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid.inlines.hh: Indentation fixed.
+
+2009-05-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh, src/Grid.inlines.hh,
+	src/Octagonal_Shape.inlines.hh: Useless returns removed.
+
+2009-05-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_public.cc: Fixed two code formatting glitches.
+
+2009-05-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid.defs.hh: Previous change reverted.
+
+2009-04-30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid.defs.hh: Useless friend declaration removed.
+
+2009-04-30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 9ce7c8bdce348315c574891ecb60cc0dc4cb3720 Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Thu Apr 30 19:30:47 2009 +0200
+
+2009-04-30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/Java/jni/ppl_java_common.defs.hh,
+	interfaces/Java/jni/ppl_java_common.inlines.hh,
+	interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.jav
+	a, interfaces/Java/tests/C_Polyhedron_test1.java,
+	interfaces/Java/tests/MIP_Problem_test1.java,
+	interfaces/Java/tests/NNC_Polyhedron_test1.java,
+	interfaces/Java/tests/Parma_Polyhedra_Library_test1.java,
+	interfaces/Java/tests/ppl_interface_generator_java_test_java.m4,
+	interfaces/Java/tests/ppl_java_tests_common: Fixed initialization
+	for Java interface (explicit initialization required).  Java class
+	Parma_Polyhedra_Library now has two new static methods:
+	initialize_library() and finalize_library().  The first one, to be
+	called after loading the library and before calling any other
+	library method, will provide proper initialization of both the C++
+	data structures and the Java class and field/method ID caches.  The
+	second one, to be called when no longer using the library, will
+	clear the cache, deleting all stored global references, thereby
+	allowing for the PPL Java classes to be garbage collected.
+
+2009-04-29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 6431f35e4360c7c8385635f1e262c2f984cf07b1 Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Tue Apr 28 19:19:04 2009 +0200
+
+2009-04-28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/Makefile.am: Fixed a typo
+	causing improper cleaning of Java interface files.
+
+2009-04-27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_public.cc, tests/Polyhedron/wrap1.cc: In
+	Polyhedron::wrap_assign() handled the case `o ==
+	OVERFLOW_UNDEFINED'.
+
+2009-04-27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh, src/Polyhedron_public.cc,
+	tests/Polyhedron/wrap1.cc: Added a new parameter `pcs' to
+	Polyhedron::wrap_assign().  Other parameters reordered.  The tests
+	now check for the expected result.
+
+2009-04-27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Use LT_PREREQ to ensure a recent-enough version of
+	Libtool is used.
+
+2009-04-27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/Java/jni/ppl_java_common.defs.hh,
+	interfaces/Java/jni/ppl_java_common.inlines.hh,
+	interfaces/Java/jni/ppl_java_globals.cc: Fixed a few residual issue
+	in Java interface method ID caching.  Factored away common code in
+	helper functions build_cxx_*_system.  Inlined a few helper
+	functions.
+
+2009-04-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_public.cc, tests/Polyhedron/wrap1.cc: Started the
+	implementation of Polyhedron::wrap_assign().
+
+2009-04-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/.gitignore: Added missing pattern.
+
+2009-04-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_mpq.inlines.hh: Unused parameter name omitted.
+
+2009-04-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/.gitignore, tests/Polyhedron/.gitignore: Added
+	missing patterns.
+
+2009-04-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh, src/Checked_Number.defs.hh,
+	src/Checked_Number.inlines.hh, src/Octagonal_Shape.templates.hh,
+	src/checked.defs.hh, src/checked_ext.inlines.hh,
+	src/checked_float.inlines.hh, src/checked_int.inlines.hh,
+	src/checked_mpq.inlines.hh, src/checked_mpz.inlines.hh,
+	src/math_utilities.inlines.hh: The `mul2exp' and `div2exp' functions
+	are now called `mul_2exp' and `div_2exp'.  They have also been
+	changed so as to take an unsigned int parameter.
+
+2009-04-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/GMP_Integer.defs.hh, src/GMP_Integer.inlines.hh: Added void
+	div_2exp_assign(GMP_Integer&, const GMP_Integer&, unsigned int).
+
+2009-04-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/GMP_Integer.defs.hh, src/GMP_Integer.inlines.hh: Added void
+	mul_2exp_assign(GMP_Integer&, const GMP_Integer&, unsigned int).
+
+2009-04-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 79dac5cc0b03dec162bdcca40e01828a52371765 Author: Enea
+	Zaffanella <zaffanella at cs.unipr.it> Date:   Sat Apr 25 16:34:17 2009
+	+0200
+
+2009-04-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac, interfaces/OCaml/Makefile.am,
+	interfaces/OCaml/tests/Makefile.am: Use the macros OCAMLC, OCAMLOPT
+	and OCAMLLIB.
+
+2009-04-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO: One obsolete item removed.  Other items partially scheduled.
+
+2009-04-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO, tests/ppl_test.hh: DO_TEST_F now produces a more sensible
+	output.
+
+2009-04-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/Makefile.am, interfaces/OCaml/Makefile.am: Use the macros
+	OCAMLC, OCAMLOPT and OCAMLDOC instead of hardcoded names.
+
+2009-04-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO, configure.ac, m4/ocaml.m4: Use the ocaml-autoconf macros for
+	configuration of the OCaml interface.
+
+2009-04-24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	*
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	, interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/Java/jni/ppl_java_common.defs.hh,
+	interfaces/Java/jni/ppl_java_common.inlines.hh,
+	interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/Coefficient.java,
+	interfaces/Java/parma_polyhedra_library/Generator.java: Improved jni
+	helper functions set_coefficient, set_generator, set_by_reference.
+	Cached anther few Java method IDs.
+
+2009-04-24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/Coefficient.java,
+	interfaces/Java/parma_polyhedra_library/Constraint.java,
+	interfaces/Java/parma_polyhedra_library/Generator.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficie
+	nt.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Differenc
+	e.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.jav
+	a,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Unary_Min
+	us.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.
+	java: In Java, avoid useless repeated copies in Coefficient and
+	Linear_Expression.
+
+2009-04-24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/Java/jni/ppl_java_common.defs.hh,
+	interfaces/Java/jni/ppl_java_common.inlines.hh,
+	interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/By_Reference.java,
+	interfaces/Java/parma_polyhedra_library/Congruence.java,
+	interfaces/Java/parma_polyhedra_library/Congruence_System.java,
+	interfaces/Java/parma_polyhedra_library/Constraint.java,
+	interfaces/Java/parma_polyhedra_library/Constraint_System.java,
+	interfaces/Java/parma_polyhedra_library/Generator.java,
+	interfaces/Java/parma_polyhedra_library/Generator_System.java,
+	interfaces/Java/parma_polyhedra_library/Generator_Type.java,
+	interfaces/Java/parma_polyhedra_library/Grid_Generator.java,
+	interfaces/Java/parma_polyhedra_library/Grid_Generator_System.java,
+	interfaces/Java/parma_polyhedra_library/Grid_Generator_Type.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Differenc
+	e.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.jav
+	a,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Unary_Min
+	us.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.
+	java,
+	interfaces/Java/parma_polyhedra_library/MIP_Problem_Status.java,
+	interfaces/Java/parma_polyhedra_library/Makefile.am,
+	interfaces/Java/parma_polyhedra_library/Optimization_Mode.java,
+	interfaces/Java/parma_polyhedra_library/PPL_Object.java,
+	interfaces/Java/parma_polyhedra_library/Relation_Symbol.java,
+	interfaces/Java/parma_polyhedra_library/Variable.java: Caching other
+	Java field/method IDs.  Also corrected a latent bug in helper
+	function j_long_to_j_long_class.
+
+2009-04-24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/Java/jni/ppl_java_common.defs.hh,
+	interfaces/Java/jni/ppl_java_common.inlines.hh,
+	interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/Coefficient.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficie
+	nt.java, interfaces/Java/parma_polyhedra_library/Makefile.am,
+	interfaces/Java/parma_polyhedra_library/Poly_Con_Relation.java,
+	interfaces/Java/parma_polyhedra_library/Poly_Gen_Relation.java: 
+	Started caching Java field/method IDs for jni callbacks.  Improved
+	the translation from Java Coefficient to PPL Coefficient objects by
+	providing the former with a toString method.
+
+2009-04-23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/Java/jni/ppl_java_common.defs.hh,
+	interfaces/Java/parma_polyhedra_library/Generator.java: Corrected
+	Java Generator private method void set(Generator).  We were not
+	correctly setting the divisor for the generator.  Also got rid of
+	unused jni method set_grid_generator().
+
+2009-04-23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	*
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	, interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/Java/jni/ppl_java_common.defs.hh,
+	interfaces/Java/parma_polyhedra_library/By_Reference.java: Got rid
+	of (unnecessarily involved) method is_null.
+
+2009-04-23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/Java/jni/ppl_java_common.defs.hh,
+	interfaces/Java/jni/ppl_java_common.inlines.hh: Prefer passing
+	jobject, jint and jlong by value.
+
+2009-04-23  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	*
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	, interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/Java/jni/ppl_java_common.defs.hh,
+	interfaces/Java/jni/ppl_java_common.inlines.hh,
+	interfaces/Java/jni/ppl_java_globals.cc: Added missing checks.
+
+2009-04-23  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/C_Integer.hh, src/checked.cc, src/meta_programming.hh: Avoid
+	use of anonymous enum.
+
+2009-04-23  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* tests/Powerset/fromgrid1.cc: Avoid unused variable warning.
+
+2009-04-22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Row.inlines.hh: Warnings avoided.
+
+2009-04-22  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* tests/Grid/affineimage2.cc: Tests 11 fails with checked-int32
+	coefficients.
+
+2009-04-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS, TODO, src/Init.cc: Use of PPL_ARM_CAN_CONTROL_FPU made
+	safer.  When the PPL has been configured with
+	CPPFLAGS="-DPPL_ARM_CAN_CONTROL_FPU=1", the library initialization
+	procedure checks that the FPU can indeed be controlled and fails if
+	that is not the case.
+
+2009-04-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_fpu_control.m4: Formatting improved.
+
+2009-04-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_fpu_control.m4: Made the checks for HAVE_FENV_H
+	systems more robust.
+
+2009-04-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am, tests/Polyhedron/wrap1.cc: New file
+	wrap1.cc will contain tests for method Polyhedron::wrap_assign().
+
+2009-04-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh, src/Polyhedron_public.cc: Added the
+	declaration and a stub implementation of new method
+	Polyhedron::wrap_assign().
+
+2009-04-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/globals.types.hh: New enumerations Bounded_Integer_Type_Width,
+	Bounded_Integer_Type_Signedness and Bounded_Integer_Type_Overflow to
+	encode the width, signedness and overflow behavior of bounded
+	integer types, respectively.
+
+2009-04-21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh: Corrected silly typo in compile-time
+	check.
+
+2009-04-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Row.cc: Typos fixed.
+
+2009-04-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Row.inlines.hh: Typos fixed.
+
+2009-04-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS: Mentioned the speed improvements committed today.
+
+2009-04-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README, Watchdog/src/Makefile.am, configure.ac,
+	demos/ppl_lcdd/ppl_lcdd.1, demos/ppl_lpsol/ppl_lpsol.1,
+	doc/libppl.3, doc/libppl_c.3, doc/ppl-config.1,
+	doc/ppl-config_extra_man_text, interfaces/C/Makefile.am,
+	src/Makefile.am: Version number bumped.
+
+2009-04-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit d0e5a4edbf54e3a14ba44b27d34ab24f101cb118 Merge: 0dbad6c
+	45e1e7e Author: Roberto Bagnara <bagnara at cs.unipr.it> Date:   Mon
+	Apr 20 22:10:48 2009 +0200
+
+2009-04-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Row.cc, src/Bit_Row.defs.hh, src/Bit_Row.inlines.hh: 
+	Bit_Row iterators reimplemented more efficiently.
+
+2009-04-20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
+	src/BD_Shape.templates.hh, src/Octagonal_Shape.defs.hh,
+	src/Octagonal_Shape.inlines.hh, src/Octagonal_Shape.templates.hh,
+	tests/BD_Shape/Makefile.am,
+	tests/BD_Shape/integerupperboundifexact1.cc,
+	tests/Octagonal_Shape/Makefile.am,
+	tests/Octagonal_Shape/integerupperboundifexact1.cc,
+	tests/Octagonal_Shape/upperboundifexact1.cc: The exact integer upper
+	bound methods for shapes are now under Git control. The methods are
+	named integer_upper_bound_assign_if_exact; they can only be
+	instantiated if the template parameter T is an integer datatype.
+
+2009-04-20  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Bit_Row.inlines.hh: Added assert to check for possible
+	overflow.
+
+2009-04-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 12dc53fb2a829b9ae88c49c5a5dd796df4cc8ced Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Mon Apr 20 16:15:22 2009 +0200
+
+2009-04-20  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Bit_Row.inlines.hh: Size has to be specified in bits.
+
+2009-04-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Row.cc, src/Bit_Row.defs.hh, src/Bit_Row.inlines.hh: New
+	constructor Bit_Row::Bit_Row(const Bit_Row& y, const Bit_Row& z).
+	Constructs an object containing the set-union of y and z.
+
+2009-04-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Row.cc: Further improved subset_or_equal(const Bit_Row&,
+	const Bit_Row&, bool&).
+
+2009-04-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Matrix.cc, src/Bit_Matrix.defs.hh, src/conversion.cc: 
+	Avoid useless allocations by only adding recycled rows to
+	Bit_Matrix.
+
+2009-04-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/conversion.cc: Significantly speeded up the construction of
+	`new_satrow'.
+
+2009-04-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Row.cc: Improved subset_or_equal(const Bit_Row&, const
+	Bit_Row&, bool&).
+
+2009-04-19  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl,
+	interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_te
+	st_pl_code.m4: Removed tests for the deprecated *and_minimize()
+	predicates.
+
+2009-04-18  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* tests/Grid/addcongruence1.cc, tests/Grid/addcongruences1.cc,
+	tests/Grid/addconstraint1.cc, tests/Grid/addconstraints1.cc,
+	tests/Grid/addgenerator1.cc, tests/Grid/addgenerators1.cc,
+	tests/Grid/affinedim1.cc, tests/Grid/affineimage2.cc,
+	tests/Grid/bounded1.cc, tests/Grid/bounds1.cc,
+	tests/Grid/certificate1.cc, tests/Grid/congruences1.cc,
+	tests/Grid/containsintegerpoint1.cc, tests/Grid/discrete1.cc,
+	tests/Grid/generators1.cc, tests/Grid/grid1.cc,
+	tests/Grid/grid2.cc, tests/Grid/intersection1.cc,
+	tests/Grid/maxmin1.cc, tests/Grid/mingenerators1.cc,
+	tests/Grid/partition1.cc, tests/Grid/removespacedims1.cc,
+	tests/Grid/removespacedims2.cc,
+	tests/Grid/simplifyusingcontext1.cc, tests/Grid/topclosed1.cc: 
+	Removed deprecated methods *and_minimize().
+
+2009-04-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec: Mark package ppl-yap as obsoleting
+	ppl-yap-static.
+
+2009-04-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Update version.
+
 2009-04-18  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* PPL 0.10.2 released.
+	* Watchdog/ChangeLog: Mark ChangeLog.
+
+2009-04-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog: Mark ChangeLog.
+
+2009-04-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/clpq.pl, interfaces/Prolog/tests/clpq2.pl: 
+	No longer use ppl_Polyhedron_add_constraints_and_minimize/2.
+
+2009-04-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/addconstraints1.cc,
+	tests/BD_Shape/concatenate1.cc, tests/BD_Shape/congruences1.cc,
+	tests/BD_Shape/intersection1.cc,
+	tests/Octagonal_Shape/congruences1.cc,
+	tests/Octagonal_Shape/intersection1.cc,
+	tests/Polyhedron/exceptions1.cc, tests/Polyhedron/exceptions2.cc,
+	tests/Powerset/intersection1.cc: More changes related to the removal
+	of the *_and_minimize() methods.
+
+2009-04-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/addcongruence1.cc,
+	tests/Polyhedron/addcongruences1.cc,
+	tests/Polyhedron/addconstraint1.cc,
+	tests/Polyhedron/addconstraints1.cc,
+	tests/Polyhedron/addconstraints2.cc,
+	tests/Polyhedron/addgenerator1.cc,
+	tests/Polyhedron/addgenerators1.cc,
+	tests/Polyhedron/addgenerators2.cc,
+	tests/Polyhedron/boundedaffineimage1.cc,
+	tests/Polyhedron/constrains1.cc, tests/Polyhedron/constraints1.cc,
+	tests/Polyhedron/exceptions1.cc, tests/Polyhedron/exceptions2.cc,
+	tests/Polyhedron/generators1.cc, tests/Polyhedron/h79widening2.cc,
+	tests/Polyhedron/intersection1.cc,
+	tests/Polyhedron/nncminimize1.cc, tests/Polyhedron/randphull1.cc,
+	tests/Polyhedron/topclosed1.cc, tests/Powerset/addconstraints1.cc: 
+	Tests adapted to check the "non-and_minimize" versions.  Several
+	comments and one bug fixed in the process.
+
+2009-04-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 5d9dccfb35624f7a3efd99cfea738306b147a473 Merge: 083f3ea
+	205889d Author: Roberto Bagnara <bagnara at cs.unipr.it> Date:   Fri
+	Apr 17 12:55:06 2009 +0200
+
+2009-04-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/memory1.cc: Changed `__s390x' to `__s390x__' in
+	conditional exclusion of this test.
+
+2009-04-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog, Watchdog/ChangeLog: Updated.
 
 2009-04-16  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* fedora/ppl-0.10.1-Makefile.patch,
-	fedora/ppl-0.10.2-Makefile.patch, fedora/ppl.hh, fedora/ppl.spec,
-	fedora/ppl_c.h, fedora/pwl.hh: Updated for PPL 0.10.2.
+	* fedora/{ppl-0.10.1-Makefile.patch => ppl-0.10.2-Makefile.patch},
+	fedora/ppl.hh, fedora/ppl.spec, fedora/ppl_c.h, fedora/pwl.hh: 
+	Updated for PPL 0.10.2.
 
 2009-04-16  Roberto Bagnara <bagnara at cs.unipr.it>
 
@@ -78,6 +8700,23 @@
 
 2009-04-14  Roberto Bagnara <bagnara at cs.unipr.it>
 
+	* NEWS, interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	interfaces/C/ppl_interface_generator_c_h_code.m4,
+	interfaces/C/ppl_interface_generator_c_procedure_generators.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_procedure_generato
+	rs.m4, interfaces/ppl_interface_generator_common_dat.m4,
+	src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh, src/Grid.defs.hh,
+	src/Grid.inlines.hh, src/Grid_public.cc,
+	src/Pointset_Powerset.defs.hh, src/Pointset_Powerset.inlines.hh,
+	src/Pointset_Powerset.templates.hh, src/Polyhedron.defs.hh,
+	src/Polyhedron.inlines.hh, src/Polyhedron_public.cc,
+	tests/Powerset/addconstraints1.cc, tests/Powerset/intersection1.cc: 
+	Initiated the removal of the methods deprecated in PPL 0.10.
+
+2009-04-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
 	* doc/README.doc: Improved.
 
 2009-04-14  Enea Zaffanella <zaffanella at cs.unipr.it>
@@ -87,11 +8726,20 @@
 
 2009-04-14  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* PPL 0.10.1 released.
+	* configure.ac: Update version.
+
+2009-04-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/ChangeLog: Mark ChangeLog.
+
+2009-04-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog: Mark ChangeLog.
 
 2009-04-13  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* ChangeLog: Updated.
+	* : commit d3f29a9c56e680f46428916490d4ec2c00210c66 Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Mon Apr 13 16:41:28 2009 +0200
 
 2009-04-13  Roberto Bagnara <bagnara at cs.unipr.it>
 
@@ -100,14 +8748,14 @@
 
 2009-04-12  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* ChangeLog: Updated.
+	* : commit 64d70efe40c253409d12f0159eadb4b95a1f105f Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Sun Apr 12 10:39:55 2009 +0200
 
 2009-04-12  Roberto Bagnara <bagnara at cs.unipr.it>
 
 	* devtools/generate_dox_biblio.sed, doc/definitions.dox: 
-	Bibliography updated.  The generated bibliography required manual
-	intervention in a few places, also because of a couple of Doxygen
-	bugs and limitations
+	Bibliography updated.  The generated bibliography required manual intervention in a few
+	places, also because of a couple of Doxygen bugs and limitations
 	(see http://bugzilla.gnome.org/show_bug.cgi?id=578739 and
 	http://bugzilla.gnome.org/show_bug.cgi?id=578740).
 
@@ -130,7 +8778,8 @@
 
 2009-04-11  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* ChangeLog, Watchdog/ChangeLog: Updated.
+	* : commit 8707f62b598769d6802282c5f762b63b607ed109 Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Sat Apr 11 08:37:36 2009 +0200
 
 2009-04-11  Roberto Bagnara <bagnara at cs.unipr.it>
 
@@ -138,18 +8787,19 @@
 
 2009-04-10  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* ChangeLog: Updated.
+	* : commit 8e9f007fa2a5491ee1810e83fc24a6daa2829516 Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Fri Apr 10 22:32:54 2009 +0200
 
 2009-04-10  Roberto Bagnara <bagnara at cs.unipr.it>
 
 	* src/checked_float.inlines.hh: Only use fmaf(), fma() and fmal() if
 	they are fast.
 
-2009-04-10  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-04-10  Roberto Bagnara <roberto at freebsd.homenet.telecomitalia.it>
 
 	* configure.ac: Version number bumped.
 
-2009-04-10  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-04-10  Roberto Bagnara <roberto at freebsd.homenet.telecomitalia.it>
 
 	* src/checked_float.inlines.hh: Do not use fma(), fmaf() and fmal()
 	on FreeBSD.  fma() does not respect rounding, fmaf() and fmal() may
@@ -183,7 +8833,8 @@
 
 2009-04-06  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* ChangeLog, Watchdog/ChangeLog: Updated.
+	* : commit 52d769bff2e50c45330bdca9a955e33c9526337e Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Mon Apr 6 20:21:25 2009 +0200
 
 2009-04-06  Roberto Bagnara <bagnara at cs.unipr.it>
 
@@ -664,9 +9315,9 @@
 
 2009-03-28  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* ChangeLog, ChangeLog-2001-2008, ChangeLog_2001-2008,
-	Watchdog/ChangeLog, Watchdog/ChangeLog-2001-2008,
-	Watchdog/ChangeLog_2001-2008: Change logs updated.
+	* ChangeLog, ChangeLog-2001-2008 => ChangeLog_2001-2008,
+	Watchdog/ChangeLog, Watchdog/{ChangeLog-2001-2008 =>
+	ChangeLog_2001-2008}: Change logs updated.
 
 2009-03-28  Roberto Bagnara <bagnara at cs.unipr.it>
 
@@ -778,7 +9429,7 @@
 2009-03-27  Roberto Bagnara <bagnara at cs.unipr.it>
 
 	* demos/ppl_lcdd/Makefile.am, demos/ppl_lcdd/ppl_lcdd.1,
-	demos/ppl_lcdd/ppl_lcdd.cc, demos/ppl_lcdd/ppl_lcdd_extra_man_text:
+	demos/ppl_lcdd/ppl_lcdd.cc, demos/ppl_lcdd/ppl_lcdd_extra_man_text: 
 	The `ppl_lcdd' program can now be built and checked with
 	cross-compilation.
 
@@ -820,10 +9471,10 @@
 	interfaces/Prolog/ppl_prolog_common.defs.hh,
 	interfaces/ppl_interface_generator_common_procedure_generators.m4,
 	src/Makefile.am, src/c_streambuf_format.cc,
-	src/c_streambuf_format.defs.hh, src/c_streambuf_format.inlines.hh,
-	src/c_streambuf_format.types.hh, src/c_streambuf_format_settings.h,
-	src/pretty_print.cc, src/pretty_print.hh,
-	src/pretty_print.inlines.hh, src/wrap.cc, src/wrap.hh: Get rid of
+	src/c_streambuf_format.defs.hh, src/c_streambuf_format.types.hh,
+	src/c_streambuf_format_settings.h, src/pretty_print.cc,
+	src/pretty_print.hh, src/pretty_print.inlines.hh, src/wrap.cc,
+	src/{c_streambuf_format.inlines.hh => wrap.hh}: Get rid of
 	pretty_printing stuff. A string wrapping function is made available.
 
 2009-03-27  Roberto Bagnara <bagnara at cs.unipr.it>
@@ -834,9 +9485,9 @@
 
 2009-03-27  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* ChangeLog, ChangeLog-2001-2008, Watchdog/ChangeLog,
-	Watchdog/ChangeLog-2001-2008: Renamed and frozen: the
-	ChangeLog-2001-2008 should never be changed again.
+	* ChangeLog => ChangeLog-2001-2008, Watchdog/{ChangeLog =>
+	ChangeLog-2001-2008}: Renamed and frozen: the ChangeLog-2001-2008
+	should never be changed again.
 
 2009-03-27  Roberto Bagnara <bagnara at cs.unipr.it>
 
@@ -846,7 +9497,7 @@
 
 	* tests/BD_Shape/Makefile.am, tests/BD_Shape/run_tests,
 	tests/Box/Makefile.am, tests/Box/run_tests,
-	tests/Octagonal_Shape/Makefile.am, tests/Octagonal_Shape/run_tests:
+	tests/Octagonal_Shape/Makefile.am, tests/Octagonal_Shape/run_tests: 
 	Fixed make check.
 
 2009-03-27  Roberto Bagnara <bagnara at cs.unipr.it>
@@ -899,7 +9550,7 @@
 
 	* tests/BD_Shape/.gitignore, tests/BD_Shape/Makefile.am,
 	tests/Box/.gitignore, tests/Box/Makefile.am,
-	tests/Octagonal_Shape/.gitignore, tests/Octagonal_Shape/Makefile.am:
+	tests/Octagonal_Shape/.gitignore, tests/Octagonal_Shape/Makefile.am: 
 	Tests have to be done unconditionally.
 
 2009-03-26  Patricia Hill <p.m.hill at leeds.ac.uk>
@@ -1001,7 +9652,7 @@
 	m4/ac_cxx_double_exact_output.m4, m4/ac_cxx_flexible_arrays.m4,
 	m4/ac_cxx_float_exact_output.m4, m4/ac_cxx_ieee_inexact_flag.m4,
 	m4/ac_cxx_limit_memory.m4, m4/ac_cxx_long_double_exact_output.m4,
-	m4/ac_cxx_proper_long_double.m4, m4/ac_cxx_remainder_bug.m4:
+	m4/ac_cxx_proper_long_double.m4, m4/ac_cxx_remainder_bug.m4: 
 	Improved the actions of AC_RUN_IFELSE when cross-compiling.
 
 2009-03-24  Abramo Bagnara <abramo.bagnara at gmail.com>
@@ -1030,13 +9681,13 @@
 
 	* interfaces/C/Makefile.am, interfaces/C/ppl_c_header.h,
 	interfaces/C/ppl_c_implementation_common.cc,
-	interfaces/C/ppl_c_implementation_common.defs.hh,
-	interfaces/C/ppl_c_stream.cc, interfaces/C/ppl_c_stream.defs.hh,
+	interfaces/C/ppl_c_implementation_common.defs.hh, src/c_stream.cc
+	=> interfaces/C/ppl_c_stream.cc, interfaces/C/ppl_c_stream.defs.hh,
 	interfaces/C/ppl_c_stream.h, interfaces/C/ppl_c_stream.inlines.hh,
 	interfaces/C/tests/formatted_output.c,
 	interfaces/C/tests/print_to_buffer.c,
 	interfaces/C/tests/print_to_buffer.h, src/Makefile.am,
-	src/c_stream.cc, src/c_stream.h, src/c_streambuf.inlines.hh,
+	src/c_stream.h, src/c_streambuf.inlines.hh,
 	src/c_streambuf_format.cc, src/c_streambuf_format.defs.hh,
 	src/c_streambuf_format.inlines.hh,
 	src/c_streambuf_format_settings.h: Cleaned C streams implementation.
@@ -1090,9 +9741,9 @@
 
 2009-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* interfaces/C/tests/Makefile.am, interfaces/C/tests/cxxoutput.c,
-	interfaces/C/tests/formatted_output.c,
-	interfaces/C/tests/print_to_buffer.cc: Done some cleaning.
+	* interfaces/C/tests/Makefile.am, interfaces/C/tests/{cxxoutput.c
+	=> formatted_output.c}, interfaces/C/tests/print_to_buffer.cc: Done
+	some cleaning.
 
 2009-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
 
@@ -1193,7 +9844,7 @@
 
 2009-03-22  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* src/Linear_Expression.cc, src/Linear_Expression.inlines.hh:
+	* src/Linear_Expression.cc, src/Linear_Expression.inlines.hh: 
 	Improved functions and methods to build linear expressions.  Avoid
 	complex inline functions and methods.
 
@@ -1214,7 +9865,7 @@
 
 	* src/Linear_Expression.cc, src/Linear_Expression.defs.hh,
 	src/Linear_Expression.inlines.hh, tests/Polyhedron/.gitignore,
-	tests/Polyhedron/Makefile.am, tests/Polyhedron/linearexpression1.cc:
+	tests/Polyhedron/Makefile.am, tests/Polyhedron/linearexpression1.cc: 
 	FIXME resolved.  Fixed a bug in Linear_Expression(Variable v,
 	Variable w).  The bug would cause a wrong result to be computed when
 	v == w.
@@ -1230,7 +9881,7 @@
 	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
 	, interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
 	interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m
-	4, interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4:
+	4, interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4: 
 	Corrected a bug in the interfacing of drop_disjunct for Java, Ocaml
 	and Prolog.  Also corrected a wrong test in the automatically
 	generated test suite for the OCaml interface: we were trying to
@@ -1243,8 +9894,8 @@
 
 2009-03-22  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* tests/Polyhedron/linearexpression1.cc,
-	tests/Polyhedron/linexpression1.cc: Test program renamed.
+	* tests/Polyhedron/{linexpression1.cc => linearexpression1.cc}: Test
+	program renamed.
 
 2009-03-22  Roberto Bagnara <bagnara at cs.unipr.it>
 
@@ -1294,7 +9945,7 @@
 	interfaces/Prolog/ppl_interface_generator_prolog_procedure_generato
 	rs.m4, interfaces/Prolog/ppl_prolog_common.cc,
 	interfaces/Prolog/ppl_prolog_common.defs.hh,
-	interfaces/ppl_interface_generator_common_procedure_generators.m4:
+	interfaces/ppl_interface_generator_common_procedure_generators.m4: 
 	Added the new pretty print functionality to Java, OCaml and Prolog
 	interfaces.  The predicate takes 3 arguments for specifying
 	preferred wrapping behavior.  For Prolog, new predicate is called
@@ -1398,8 +10049,8 @@
 
 2009-02-22  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-	* .cvsignore, .gitignore, Watchdog/.cvsignore, Watchdog/.gitignore,
-	Watchdog/doc/.cvsignore, Watchdog/doc/.gitignore,
+	* .cvsignore => .gitignore, Watchdog/.cvsignore,
+	Watchdog/.gitignore, Watchdog/doc/{.cvsignore => .gitignore},
 	Watchdog/m4/.cvsignore, Watchdog/m4/.gitignore,
 	Watchdog/src/.cvsignore, Watchdog/src/.gitignore,
 	Watchdog/tests/.cvsignore, Watchdog/tests/.gitignore,
@@ -1407,45 +10058,39 @@
 	debian/.cvsignore, debian/.gitignore, demos/.cvsignore,
 	demos/.gitignore, demos/ppl_lcdd/.cvsignore,
 	demos/ppl_lcdd/.gitignore, demos/ppl_lcdd/examples/.cvsignore,
-	demos/ppl_lcdd/examples/.gitignore, demos/ppl_lpsol/.cvsignore,
-	demos/ppl_lpsol/.gitignore, demos/ppl_lpsol/examples/.cvsignore,
-	demos/ppl_lpsol/examples/.gitignore, devtools/.cvsignore,
-	devtools/.gitignore, doc/.cvsignore, doc/.gitignore,
-	fedora/.cvsignore, fedora/.gitignore, interfaces/.cvsignore,
-	interfaces/.gitignore, interfaces/C/.cvsignore,
-	interfaces/C/.gitignore, interfaces/C/tests/.cvsignore,
-	interfaces/C/tests/.gitignore, interfaces/Java/.cvsignore,
-	interfaces/Java/.gitignore, interfaces/Java/jni/.cvsignore,
-	interfaces/Java/jni/.gitignore,
-	interfaces/Java/parma_polyhedra_library/.cvsignore,
-	interfaces/Java/parma_polyhedra_library/.gitignore,
-	interfaces/Java/tests/.cvsignore, interfaces/Java/tests/.gitignore,
-	interfaces/OCaml/.cvsignore, interfaces/OCaml/.gitignore,
+	demos/ppl_lcdd/examples/.gitignore, demos/ppl_lpsol/{.cvsignore =>
+	.gitignore}, demos/ppl_lpsol/examples/.cvsignore,
+	demos/ppl_lpsol/examples/.gitignore, devtools/{.cvsignore =>
+	.gitignore}, doc/{.cvsignore => .gitignore}, fedora/.cvsignore,
+	fedora/.gitignore, interfaces/.cvsignore, interfaces/.gitignore,
+	interfaces/C/{.cvsignore => .gitignore},
+	interfaces/C/tests/.cvsignore, interfaces/C/tests/.gitignore,
+	interfaces/Java/.cvsignore, interfaces/Java/.gitignore,
+	interfaces/Java/jni/.cvsignore, interfaces/Java/jni/.gitignore,
+	interfaces/Java/parma_polyhedra_library/{.cvsignore => .gitignore},
+	interfaces/Java/tests/{.cvsignore => .gitignore},
+	interfaces/OCaml/{.cvsignore => .gitignore},
 	interfaces/OCaml/tests/.cvsignore,
-	interfaces/OCaml/tests/.gitignore, interfaces/Prolog/.cvsignore,
-	interfaces/Prolog/.gitignore, interfaces/Prolog/Ciao/.cvsignore,
-	interfaces/Prolog/Ciao/.gitignore,
-	interfaces/Prolog/GNU/.cvsignore, interfaces/Prolog/GNU/.gitignore,
+	interfaces/OCaml/tests/.gitignore, interfaces/Prolog/{.cvsignore =>
+	.gitignore}, interfaces/Prolog/Ciao/{.cvsignore => .gitignore},
+	interfaces/Prolog/GNU/{.cvsignore => .gitignore},
 	interfaces/Prolog/SICStus/.cvsignore,
 	interfaces/Prolog/SICStus/.gitignore,
-	interfaces/Prolog/SWI/.cvsignore, interfaces/Prolog/SWI/.gitignore,
-	interfaces/Prolog/XSB/.cvsignore, interfaces/Prolog/XSB/.gitignore,
-	interfaces/Prolog/YAP/.cvsignore, interfaces/Prolog/YAP/.gitignore,
-	interfaces/Prolog/tests/.cvsignore,
-	interfaces/Prolog/tests/.gitignore, m4/.cvsignore, m4/.gitignore,
-	src/.cvsignore, src/.gitignore, tests/.cvsignore, tests/.gitignore,
-	tests/Ask_Tell/.cvsignore, tests/Ask_Tell/.gitignore,
-	tests/BD_Shape/.cvsignore, tests/BD_Shape/.gitignore,
-	tests/Box/.cvsignore, tests/Box/.gitignore, tests/Grid/.cvsignore,
-	tests/Grid/.gitignore, tests/MIP_Problem/.cvsignore,
-	tests/MIP_Problem/.gitignore, tests/Octagonal_Shape/.cvsignore,
-	tests/Octagonal_Shape/.gitignore,
-	tests/Partially_Reduced_Product/.cvsignore,
-	tests/Partially_Reduced_Product/.gitignore,
-	tests/Polyhedron/.cvsignore, tests/Polyhedron/.gitignore,
-	tests/Powerset/.cvsignore, tests/Powerset/.gitignore,
-	utils/.cvsignore, utils/.gitignore: Replaced .cvsignore with
-	.gitignore.
+	interfaces/Prolog/SWI/{.cvsignore => .gitignore},
+	interfaces/Prolog/XSB/{.cvsignore => .gitignore},
+	interfaces/Prolog/YAP/{.cvsignore => .gitignore},
+	interfaces/Prolog/tests/{.cvsignore => .gitignore}, m4/.cvsignore,
+	m4/.gitignore, src/{.cvsignore => .gitignore}, tests/.cvsignore,
+	tests/.gitignore, tests/Ask_Tell/.cvsignore,
+	tests/Ask_Tell/.gitignore, tests/BD_Shape/{.cvsignore =>
+	.gitignore}, tests/Box/{.cvsignore => .gitignore},
+	tests/Grid/{.cvsignore => .gitignore},
+	tests/MIP_Problem/{.cvsignore => .gitignore},
+	tests/Octagonal_Shape/{.cvsignore => .gitignore},
+	tests/Partially_Reduced_Product/{.cvsignore => .gitignore},
+	tests/Polyhedron/{.cvsignore => .gitignore},
+	tests/Powerset/{.cvsignore => .gitignore}, utils/.cvsignore,
+	utils/.gitignore: Replaced .cvsignore with .gitignore.
 
 2009-02-21  Abramo Bagnara <abramo.bagnara at gmail.com>
 
@@ -1722,7 +10367,7 @@
 2009-01-23  Roberto Bagnara <bagnara at cs.unipr.it>
 
 	* NEWS, README.configure, configure.ac,
-	interfaces/OCaml/Makefile.am, interfaces/OCaml/tests/Makefile.am:
+	interfaces/OCaml/Makefile.am, interfaces/OCaml/tests/Makefile.am: 
 	New configuration option `--with-mlgmp=DIR' allows to specify the
 	installation directory of the ML GMP package.
 
@@ -1824,3 +10469,18 @@
 	BHZ09_upper_bound_assign_if_exact(); the public method
 	upper_bound_assign_if_exact() is now based on this new (private)
 	method.
+
+2009-01-05  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Partially_Reduced_Product.defs.hh,
+	src/Partially_Reduced_Product.inlines.hh,
+	src/Partially_Reduced_Product.templates.hh,
+	src/Partially_Reduced_Product.types.hh,
+	tests/Partially_Reduced_Product/Makefile.am,
+	tests/Partially_Reduced_Product/directproduct6.cc,
+	tests/Partially_Reduced_Product/partiallyreducedproduct2.cc,
+	tests/Partially_Reduced_Product/partiallyreducedproduct3.cc,
+	tests/Partially_Reduced_Product/shrinkusingcongruences1.cc: Added a
+	reduction method Shrink_Using_Congruences_Reduction<> and the
+	product Shrink_Using_Congruences_Product<> that assumes this
+	reduction.  Several "FIXME"s dealt with.
diff --git a/ChangeLog_2001-2008 b/ChangeLog_2001-2008
new file mode 100644
index 0000000..5c39a8b
--- /dev/null
+++ b/ChangeLog_2001-2008
@@ -0,0 +1,96130 @@
+2008-12-31 Wednesday 23:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.51), README (1.57), README.configure (1.43),
+	  configure.ac (1.413), instchk.hh (1.19), Watchdog/Makefile.am
+	  (1.37), Watchdog/README (1.21), Watchdog/configure.ac (1.58),
+	  Watchdog/doc/Makefile.am (1.9), Watchdog/doc/README.doc (1.4),
+	  Watchdog/doc/devref.tex (1.6), Watchdog/doc/pwl.sty (1.4),
+	  Watchdog/doc/user.tex (1.6), Watchdog/m4/Makefile.am (1.6),
+	  Watchdog/src/Doubly_Linked_Object.defs.hh (1.7),
+	  Watchdog/src/Doubly_Linked_Object.inlines.hh (1.7),
+	  Watchdog/src/Doubly_Linked_Object.types.hh (1.5),
+	  Watchdog/src/EList.defs.hh (1.9), Watchdog/src/EList.inlines.hh
+	  (1.7), Watchdog/src/EList.types.hh (1.5),
+	  Watchdog/src/EList_Iterator.defs.hh (1.7),
+	  Watchdog/src/EList_Iterator.inlines.hh (1.7),
+	  Watchdog/src/EList_Iterator.types.hh (1.5),
+	  Watchdog/src/Handler.defs.hh (1.8),
+	  Watchdog/src/Handler.inlines.hh (1.7),
+	  Watchdog/src/Handler.types.hh (1.5), Watchdog/src/Makefile.am
+	  (1.19), Watchdog/src/Pending_Element.cc (1.8),
+	  Watchdog/src/Pending_Element.defs.hh (1.8),
+	  Watchdog/src/Pending_Element.inlines.hh (1.7),
+	  Watchdog/src/Pending_Element.types.hh (1.5),
+	  Watchdog/src/Pending_List.cc (1.8),
+	  Watchdog/src/Pending_List.defs.hh (1.8),
+	  Watchdog/src/Pending_List.inlines.hh (1.7),
+	  Watchdog/src/Pending_List.types.hh (1.5), Watchdog/src/Time.cc
+	  (1.8), Watchdog/src/Time.defs.hh (1.8),
+	  Watchdog/src/Time.inlines.hh (1.7), Watchdog/src/Time.types.hh
+	  (1.5), Watchdog/src/Watchdog.cc (1.10),
+	  Watchdog/src/Watchdog.defs.hh (1.10),
+	  Watchdog/src/Watchdog.inlines.hh (1.7),
+	  Watchdog/src/Watchdog.types.hh (1.5), Watchdog/src/pwl_header.hh
+	  (1.8), Watchdog/tests/Makefile.am (1.7),
+	  Watchdog/tests/pwl_test.cc (1.4), Watchdog/tests/pwl_test.hh
+	  (1.4), Watchdog/tests/simple1.cc (1.4),
+	  Watchdog/utils/Makefile.am (1.13), Watchdog/utils/build_header.in
+	  (1.7), debian/libppl-pwl.copyright.in (1.7),
+	  debian/libppl.copyright.in (1.7), demos/Makefile.am (1.15),
+	  demos/ppl_lcdd/Makefile.am (1.31), demos/ppl_lcdd/ppl_lcdd.1
+	  (1.8), demos/ppl_lcdd/ppl_lcdd.cc (1.65),
+	  demos/ppl_lcdd/ppl_lcdd_extra_man_text (1.4),
+	  demos/ppl_lcdd/examples/Makefile.am (1.11),
+	  demos/ppl_lpsol/Makefile.am (1.50), demos/ppl_lpsol/ppl_lpsol.1
+	  (1.9), demos/ppl_lpsol/ppl_lpsol.c (1.92),
+	  demos/ppl_lpsol/ppl_lpsol_extra_man_text (1.5),
+	  demos/ppl_lpsol/examples/Makefile.am (1.12),
+	  devtools/bump_copyright_years (1.2), doc/Makefile.am (1.101),
+	  doc/README.doc (1.19), doc/definitions.dox (1.227),
+	  doc/devref-language-interface.tex (1.2), doc/devref.tex (1.28),
+	  doc/libppl.3 (1.15), doc/libppl_c.3 (1.5), doc/ppl-config.1
+	  (1.15), doc/ppl-config_extra_man_text (1.6), doc/ppl.sty (1.30),
+	  doc/user-language-interface.tex (1.2), doc/user.tex (1.29),
+	  fedora/ppl.hh (1.2), fedora/ppl_c.h (1.2), fedora/pwl.hh (1.2),
+	  interfaces/Makefile.am (1.37), interfaces/interfaced_boxes.hh
+	  (1.6), interfaces/marked_pointers.hh (1.4),
+	  interfaces/ppl_interface_generator_common.m4 (1.36),
+	  interfaces/ppl_interface_generator_common_dat.m4 (1.94),
+	  interfaces/ppl_interface_generator_common_procedure_generators.m4
+	  (1.46), interfaces/ppl_interface_generator_copyright (1.8),
+	  interfaces/C/C_interface.dox (1.16), interfaces/C/Makefile.am
+	  (1.63), interfaces/C/ppl_c_header.h (1.9),
+	  interfaces/C/ppl_c_implementation_common.cc (1.5),
+	  interfaces/C/ppl_c_implementation_common.defs.hh (1.8),
+	  interfaces/C/ppl_c_implementation_common.inlines.hh (1.5),
+	  interfaces/C/ppl_c_version.h.in (1.10),
+	  interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.56),
+	  interfaces/C/ppl_interface_generator_c_cc_files.m4 (1.15),
+	  interfaces/C/ppl_interface_generator_c_h.m4 (1.27),
+	  interfaces/C/ppl_interface_generator_c_h_code.m4 (1.49),
+	  interfaces/C/ppl_interface_generator_c_hh_files.m4 (1.11),
+	  interfaces/C/ppl_interface_generator_c_procedure_generators.m4
+	  (1.15), interfaces/C/tests/Makefile.am (1.7),
+	  interfaces/C/tests/cxxoutput.c (1.7),
+	  interfaces/C/tests/ppl_c_test.cc (1.2),
+	  interfaces/C/tests/ppl_c_test.h (1.3),
+	  interfaces/C/tests/print_to_buffer.cc (1.6),
+	  interfaces/C/tests/print_to_buffer.h (1.6),
+	  interfaces/Java/Makefile.am (1.26),
+	  interfaces/Java/ppl_interface_generator_java_procedure_generators.m4
+	  (1.13), interfaces/Java/jni/Makefile.am (1.35),
+	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	  (1.34),
+	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_files.m4
+	  (1.9), interfaces/Java/jni/ppl_java_common.cc (1.55),
+	  interfaces/Java/jni/ppl_java_common.defs.hh (1.8),
+	  interfaces/Java/jni/ppl_java_common.inlines.hh (1.6),
+	  interfaces/Java/jni/ppl_java_globals.cc (1.27),
+	  interfaces/Java/parma_polyhedra_library/By_Reference.java (1.4),
+	  interfaces/Java/parma_polyhedra_library/Coefficient.java (1.4),
+	  interfaces/Java/parma_polyhedra_library/Complexity_Class.java
+	  (1.2), interfaces/Java/parma_polyhedra_library/Congruence.java
+	  (1.3),
+	  interfaces/Java/parma_polyhedra_library/Congruence_System.java
+	  (1.4), interfaces/Java/parma_polyhedra_library/Constraint.java
+	  (1.4),
+	  interfaces/Java/parma_polyhedra_library/Constraint_System.java
+	  (1.4),
+	  interfaces/Java/parma_polyhedra_library/Control_Parameter_Name.java
+	  (1.3),
+	  interfaces/Java/parma_polyhedra_library/Control_Parameter_Value.java
+	  (1.3),
+	  interfaces/Java/parma_polyhedra_library/Degenerate_Element.java
+	  (1.4),
+	  interfaces/Java/parma_polyhedra_library/Domain_Error_Exception.java
+	  (1.4),
+	  interfaces/Java/parma_polyhedra_library/Fake_Class_for_Doxygen.java
+	  (1.5), interfaces/Java/parma_polyhedra_library/Generator.java
+	  (1.4),
+	  interfaces/Java/parma_polyhedra_library/Generator_System.java
+	  (1.3),
+	  interfaces/Java/parma_polyhedra_library/Generator_Type.java
+	  (1.4),
+	  interfaces/Java/parma_polyhedra_library/Grid_Generator.java
+	  (1.4),
+	  interfaces/Java/parma_polyhedra_library/Grid_Generator_System.java
+	  (1.4),
+	  interfaces/Java/parma_polyhedra_library/Grid_Generator_Type.java
+	  (1.4),
+	  interfaces/Java/parma_polyhedra_library/Invalid_Argument_Exception.java
+	  (1.4),
+	  interfaces/Java/parma_polyhedra_library/Length_Error_Exception.java
+	  (1.4),
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression.java
+	  (1.4),
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficient.java
+	  (1.4),
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Difference.java
+	  (1.4),
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java
+	  (1.5),
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.java
+	  (1.4),
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Unary_Minus.java
+	  (1.4),
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.java
+	  (1.4),
+	  interfaces/Java/parma_polyhedra_library/Logic_Error_Exception.java
+	  (1.4), interfaces/Java/parma_polyhedra_library/MIP_Problem.java
+	  (1.6),
+	  interfaces/Java/parma_polyhedra_library/MIP_Problem_Status.java
+	  (1.3), interfaces/Java/parma_polyhedra_library/Makefile.am
+	  (1.12),
+	  interfaces/Java/parma_polyhedra_library/Optimization_Mode.java
+	  (1.4),
+	  interfaces/Java/parma_polyhedra_library/Overflow_Error_Exception.java
+	  (1.4), interfaces/Java/parma_polyhedra_library/PPL_Object.java
+	  (1.6), interfaces/Java/parma_polyhedra_library/Pair.java (1.4),
+	  interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.java
+	  (1.5),
+	  interfaces/Java/parma_polyhedra_library/Partial_Function.java
+	  (1.4),
+	  interfaces/Java/parma_polyhedra_library/Poly_Con_Relation.java
+	  (1.4),
+	  interfaces/Java/parma_polyhedra_library/Poly_Gen_Relation.java
+	  (1.4),
+	  interfaces/Java/parma_polyhedra_library/Relation_Symbol.java
+	  (1.4), interfaces/Java/parma_polyhedra_library/Variable.java
+	  (1.4), interfaces/Java/parma_polyhedra_library/Variables_Set.java
+	  (1.3),
+	  interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java.m4
+	  (1.8),
+	  interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
+	  (1.18), interfaces/Java/tests/C_Polyhedron_test1.java (1.18),
+	  interfaces/Java/tests/MIP_Problem_test1.java (1.4),
+	  interfaces/Java/tests/Makefile.am (1.27),
+	  interfaces/Java/tests/NNC_Polyhedron_test1.java (1.5),
+	  interfaces/Java/tests/PPL_Test.java (1.2),
+	  interfaces/Java/tests/Parma_Polyhedra_Library_test1.java (1.3),
+	  interfaces/Java/tests/Test_Executor.java (1.4),
+	  interfaces/Java/tests/Test_Partial_Function.java (1.6),
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java.m4
+	  (1.22),
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.52), interfaces/Java/tests/ppl_java_tests_common (1.19),
+	  interfaces/OCaml/Makefile.am (1.66),
+	  interfaces/OCaml/OCaml_interface.dox (1.8),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.63),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_cc_files.m4 (1.5),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_hh_code.m4 (1.5),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_hh_files.m4 (1.5),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4 (1.21),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.53),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4 (1.25),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4
+	  (1.43),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators.m4
+	  (1.7), interfaces/OCaml/ppl_ocaml_common.cc (1.8),
+	  interfaces/OCaml/ppl_ocaml_common.defs.hh (1.3),
+	  interfaces/OCaml/ppl_ocaml_common.inlines.hh (1.2),
+	  interfaces/OCaml/ppl_ocaml_globals.ml (1.15),
+	  interfaces/OCaml/ppl_ocaml_globals.mli (1.2),
+	  interfaces/OCaml/tests/Makefile.am (1.28),
+	  interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml.m4
+	  (1.5),
+	  interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m4
+	  (1.22), interfaces/OCaml/tests/ppl_ocaml_tests_common (1.7),
+	  interfaces/OCaml/tests/test1.ml (1.17),
+	  interfaces/Prolog/Makefile.am (1.69),
+	  interfaces/Prolog/Prolog_interface.dox (1.182),
+	  interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4
+	  (1.22),
+	  interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4
+	  (1.12), interfaces/Prolog/ppl_interface_generator_prolog_dox.m4
+	  (1.13),
+	  interfaces/Prolog/ppl_interface_generator_prolog_dox_code.m4
+	  (1.15),
+	  interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4
+	  (1.16),
+	  interfaces/Prolog/ppl_interface_generator_prolog_hh_files.m4
+	  (1.11),
+	  interfaces/Prolog/ppl_interface_generator_prolog_procedure_generators.m4
+	  (1.8),
+	  interfaces/Prolog/ppl_interface_generator_prolog_systems.m4
+	  (1.15), interfaces/Prolog/ppl_prolog_common.cc (1.14),
+	  interfaces/Prolog/ppl_prolog_common.defs.hh (1.12),
+	  interfaces/Prolog/ppl_prolog_common.inlines.hh (1.3),
+	  interfaces/Prolog/Ciao/Makefile.am (1.89),
+	  interfaces/Prolog/Ciao/ciao_cfli.hh (1.8),
+	  interfaces/Prolog/Ciao/ciao_clpq.pl (1.21),
+	  interfaces/Prolog/Ciao/ciao_clpq2.pl (1.17),
+	  interfaces/Prolog/Ciao/ciao_efli.cc (1.7),
+	  interfaces/Prolog/Ciao/ciao_efli.hh (1.4),
+	  interfaces/Prolog/Ciao/ciao_pl_check.pl (1.31),
+	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4 (1.11),
+	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_prolog_generated_test_pl.m4
+	  (1.4), interfaces/Prolog/Ciao/ppl_prolog_sysdep.hh (1.3),
+	  interfaces/Prolog/GNU/Makefile.am (1.88),
+	  interfaces/Prolog/GNU/gnu_pl_check.pl (1.13),
+	  interfaces/Prolog/GNU/gnu_prolog_generated_test.pl (1.2),
+	  interfaces/Prolog/GNU/gp_clpq.pl (1.14),
+	  interfaces/Prolog/GNU/gprolog_cfli.hh (1.12),
+	  interfaces/Prolog/GNU/gprolog_efli.cc (1.5),
+	  interfaces/Prolog/GNU/gprolog_efli.hh (1.3),
+	  interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4
+	  (1.10), interfaces/Prolog/GNU/ppl_prolog_sysdep.hh (1.3),
+	  interfaces/Prolog/SICStus/Makefile.am (1.102),
+	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
+	  (1.16), interfaces/Prolog/SICStus/ppl_prolog_sysdep.hh (1.3),
+	  interfaces/Prolog/SICStus/ppl_sicstus.pl (1.30),
+	  interfaces/Prolog/SICStus/sicstus_cfli.cc (1.10),
+	  interfaces/Prolog/SICStus/sicstus_cfli.h (1.12),
+	  interfaces/Prolog/SICStus/sicstus_cfli.ic (1.21),
+	  interfaces/Prolog/SICStus/sicstus_efli.cc (1.5),
+	  interfaces/Prolog/SICStus/sicstus_efli.hh (1.3),
+	  interfaces/Prolog/SICStus/sp_clpq.pl (1.21),
+	  interfaces/Prolog/SICStus/sp_pl_check.pl (1.15),
+	  interfaces/Prolog/SICStus/sp_prolog_generated_test.pl (1.2),
+	  interfaces/Prolog/SWI/Makefile.am (1.106),
+	  interfaces/Prolog/SWI/pl_clpq.cc (1.15),
+	  interfaces/Prolog/SWI/pl_clpq.pl (1.13),
+	  interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
+	  (1.21), interfaces/Prolog/SWI/ppl_pl.cc (1.15),
+	  interfaces/Prolog/SWI/ppl_prolog_sysdep.hh (1.4),
+	  interfaces/Prolog/SWI/ppl_swiprolog.pl (1.10),
+	  interfaces/Prolog/SWI/swi_cfli.hh (1.11),
+	  interfaces/Prolog/SWI/swi_efli.cc (1.6),
+	  interfaces/Prolog/SWI/swi_efli.hh (1.6),
+	  interfaces/Prolog/SWI/swi_pl_check.pl (1.13),
+	  interfaces/Prolog/SWI/swi_prolog_generated_test.pl (1.5),
+	  interfaces/Prolog/XSB/Makefile.am (1.82),
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4 (1.12),
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4 (1.18),
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_hh.m4 (1.3),
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_prolog_generated_test_P.m4
+	  (1.5), interfaces/Prolog/XSB/ppl_prolog_sysdep.hh (1.4),
+	  interfaces/Prolog/XSB/xsb_cfli.hh (1.7),
+	  interfaces/Prolog/XSB/xsb_clpq.P (1.20),
+	  interfaces/Prolog/XSB/xsb_clpq2.P (1.18),
+	  interfaces/Prolog/XSB/xsb_efli.cc (1.6),
+	  interfaces/Prolog/XSB/xsb_efli.hh (1.3),
+	  interfaces/Prolog/XSB/xsb_pl_check.P (1.36),
+	  interfaces/Prolog/YAP/Makefile.am (1.72),
+	  interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4 (1.13),
+	  interfaces/Prolog/YAP/ppl_prolog_sysdep.hh (1.3),
+	  interfaces/Prolog/YAP/ppl_yap.pl (1.14),
+	  interfaces/Prolog/YAP/yap_cfli.hh (1.7),
+	  interfaces/Prolog/YAP/yap_clpq.pl (1.15),
+	  interfaces/Prolog/YAP/yap_clpq2.pl (1.11),
+	  interfaces/Prolog/YAP/yap_efli.cc (1.3),
+	  interfaces/Prolog/YAP/yap_efli.hh (1.3),
+	  interfaces/Prolog/YAP/yap_pl_check.pl (1.15),
+	  interfaces/Prolog/YAP/yap_prolog_generated_test.pl (1.2),
+	  interfaces/Prolog/tests/Makefile.am (1.35),
+	  interfaces/Prolog/tests/clpq.pl (1.12),
+	  interfaces/Prolog/tests/clpq2.pl (1.14),
+	  interfaces/Prolog/tests/expected_clpq2_int16 (1.6),
+	  interfaces/Prolog/tests/expected_clpq2_int16_a (1.6),
+	  interfaces/Prolog/tests/expected_clpq2_int32 (1.5),
+	  interfaces/Prolog/tests/expected_clpq2_int32_a (1.7),
+	  interfaces/Prolog/tests/expected_clpq2_int64 (1.5),
+	  interfaces/Prolog/tests/expected_clpq2_int64_a (1.5),
+	  interfaces/Prolog/tests/expected_clpq2_int8 (1.8),
+	  interfaces/Prolog/tests/expected_clpq2_int8_a (1.8),
+	  interfaces/Prolog/tests/expected_clpq2_mpz (1.5),
+	  interfaces/Prolog/tests/expected_clpq2_mpz_a (1.5),
+	  interfaces/Prolog/tests/expected_clpq_int16 (1.7),
+	  interfaces/Prolog/tests/expected_clpq_int16_a (1.7),
+	  interfaces/Prolog/tests/expected_clpq_int32 (1.5),
+	  interfaces/Prolog/tests/expected_clpq_int32_a (1.5),
+	  interfaces/Prolog/tests/expected_clpq_int64 (1.5),
+	  interfaces/Prolog/tests/expected_clpq_int64_a (1.5),
+	  interfaces/Prolog/tests/expected_clpq_int8 (1.5),
+	  interfaces/Prolog/tests/expected_clpq_int8_a (1.5),
+	  interfaces/Prolog/tests/expected_clpq_mpz (1.5),
+	  interfaces/Prolog/tests/expected_clpq_mpz_a (1.5),
+	  interfaces/Prolog/tests/pl_check.pl (1.70),
+	  interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl.m4
+	  (1.5),
+	  interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl_code.m4
+	  (1.12),
+	  interfaces/Prolog/tests/ppl_prolog_generated_test_common.pl
+	  (1.3), m4/Makefile.am (1.31), m4/ac_check_ciao.m4 (1.5),
+	  m4/ac_check_fpu_control.m4 (1.16), m4/ac_check_gmp.m4 (1.33),
+	  m4/ac_check_sicstus_prolog.m4 (1.9), m4/ac_check_swi_prolog.m4
+	  (1.19), m4/ac_check_xsb_prolog.m4 (1.6),
+	  m4/ac_cxx_attribute_weak.m4 (1.11),
+	  m4/ac_cxx_double_binary_format.m4 (1.18),
+	  m4/ac_cxx_double_exact_output.m4 (1.11),
+	  m4/ac_cxx_flexible_arrays.m4 (1.17),
+	  m4/ac_cxx_float_binary_format.m4 (1.15),
+	  m4/ac_cxx_float_exact_output.m4 (1.9),
+	  m4/ac_cxx_ieee_inexact_flag.m4 (1.6), m4/ac_cxx_limit_memory.m4
+	  (1.3), m4/ac_cxx_long_double_binary_format.m4 (1.22),
+	  m4/ac_cxx_long_double_exact_output.m4 (1.16),
+	  m4/ac_cxx_proper_long_double.m4 (1.6), m4/ac_cxx_remainder_bug.m4
+	  (1.7), m4/ac_prog_jar.m4 (1.4), m4/ac_prog_java.m4 (1.7),
+	  m4/ac_prog_javac.m4 (1.8), m4/ac_prog_javah.m4 (1.10),
+	  m4/ac_text_md5sum.m4 (1.5), m4/ppl.m4 (1.12), m4/ppl_c.m4 (1.5),
+	  src/Any_Pointset.defs.hh (1.21), src/Any_Pointset.inlines.hh
+	  (1.5), src/Any_Pointset.types.hh (1.4), src/Ask_Tell.defs.hh
+	  (1.20), src/Ask_Tell.inlines.hh (1.19), src/Ask_Tell.templates.hh
+	  (1.11), src/Ask_Tell.types.hh (1.8), src/BDS_Status.idefs.hh
+	  (1.25), src/BDS_Status.inlines.hh (1.21), src/BD_Shape.cc (1.10),
+	  src/BD_Shape.defs.hh (1.138), src/BD_Shape.inlines.hh (1.173),
+	  src/BD_Shape.templates.hh (1.129), src/BD_Shape.types.hh (1.8),
+	  src/BHRZ03_Certificate.cc (1.15), src/BHRZ03_Certificate.defs.hh
+	  (1.20), src/BHRZ03_Certificate.inlines.hh (1.11),
+	  src/BHRZ03_Certificate.types.hh (1.7), src/Bit_Matrix.cc (1.7),
+	  src/Bit_Matrix.defs.hh (1.6), src/Bit_Matrix.inlines.hh (1.5),
+	  src/Bit_Matrix.types.hh (1.4), src/Bit_Row.cc (1.8),
+	  src/Bit_Row.defs.hh (1.12), src/Bit_Row.inlines.hh (1.11),
+	  src/Bit_Row.types.hh (1.4), src/Boundary.defs.hh (1.17),
+	  src/Box.cc (1.11), src/Box.defs.hh (1.68), src/Box.inlines.hh
+	  (1.44), src/Box.templates.hh (1.140), src/Box.types.hh (1.5),
+	  src/Box_Status.idefs.hh (1.4), src/Box_Status.inlines.hh (1.5),
+	  src/C_Integer.hh (1.8), src/C_Polyhedron.cc (1.29),
+	  src/C_Polyhedron.defs.hh (1.60), src/C_Polyhedron.inlines.hh
+	  (1.44), src/C_Polyhedron.types.hh (1.13), src/Checked_Number.cc
+	  (1.15), src/Checked_Number.defs.hh (1.103),
+	  src/Checked_Number.inlines.hh (1.87),
+	  src/Checked_Number.templates.hh (1.3),
+	  src/Checked_Number.types.hh (1.12), src/Coefficient.cc (1.10),
+	  src/Coefficient.defs.hh (1.12), src/Coefficient.inlines.hh
+	  (1.11), src/Coefficient.types.hh (1.17),
+	  src/Coefficient_traits_template.hh (1.10), src/Congruence.cc
+	  (1.23), src/Congruence.defs.hh (1.27), src/Congruence.inlines.hh
+	  (1.21), src/Congruence.types.hh (1.5), src/Congruence_System.cc
+	  (1.32), src/Congruence_System.defs.hh (1.28),
+	  src/Congruence_System.inlines.hh (1.13),
+	  src/Congruence_System.types.hh (1.5), src/Constraint.cc (1.72),
+	  src/Constraint.defs.hh (1.132), src/Constraint.inlines.hh (1.73),
+	  src/Constraint.types.hh (1.13), src/Constraint_System.cc (1.31),
+	  src/Constraint_System.defs.hh (1.42),
+	  src/Constraint_System.inlines.hh (1.14),
+	  src/Constraint_System.types.hh (1.7), src/DB_Matrix.defs.hh
+	  (1.31), src/DB_Matrix.inlines.hh (1.35),
+	  src/DB_Matrix.templates.hh (1.11), src/DB_Matrix.types.hh (1.8),
+	  src/DB_Row.defs.hh (1.27), src/DB_Row.inlines.hh (1.26),
+	  src/DB_Row.templates.hh (1.9), src/DB_Row.types.hh (1.10),
+	  src/Determinate.defs.hh (1.69), src/Determinate.inlines.hh
+	  (1.60), src/Determinate.types.hh (1.12), src/Float.cc (1.9),
+	  src/Float.defs.hh (1.34), src/Float.inlines.hh (1.36),
+	  src/GMP_Integer.defs.hh (1.30), src/GMP_Integer.inlines.hh
+	  (1.25), src/GMP_Integer.types.hh (1.18), src/Generator.cc (1.79),
+	  src/Generator.defs.hh (1.128), src/Generator.inlines.hh (1.66),
+	  src/Generator.types.hh (1.13), src/Generator_System.cc (1.29),
+	  src/Generator_System.defs.hh (1.30),
+	  src/Generator_System.inlines.hh (1.13),
+	  src/Generator_System.types.hh (1.7), src/Grid.defs.hh (1.87),
+	  src/Grid.inlines.hh (1.31), src/Grid.templates.hh (1.41),
+	  src/Grid.types.hh (1.5), src/Grid_Certificate.cc (1.12),
+	  src/Grid_Certificate.defs.hh (1.8),
+	  src/Grid_Certificate.inlines.hh (1.6),
+	  src/Grid_Certificate.types.hh (1.5), src/Grid_Generator.cc
+	  (1.25), src/Grid_Generator.defs.hh (1.37),
+	  src/Grid_Generator.inlines.hh (1.17), src/Grid_Generator.types.hh
+	  (1.5), src/Grid_Generator_System.cc (1.23),
+	  src/Grid_Generator_System.defs.hh (1.31),
+	  src/Grid_Generator_System.inlines.hh (1.19),
+	  src/Grid_Generator_System.types.hh (1.5), src/Grid_Status.cc
+	  (1.11), src/Grid_Status.idefs.hh (1.10),
+	  src/Grid_Status.inlines.hh (1.6), src/Grid_chdims.cc (1.27),
+	  src/Grid_conversion.cc (1.26), src/Grid_nonpublic.cc (1.41),
+	  src/Grid_public.cc (1.91), src/Grid_simplify.cc (1.42),
+	  src/Grid_widenings.cc (1.20), src/H79_Certificate.cc (1.14),
+	  src/H79_Certificate.defs.hh (1.18),
+	  src/H79_Certificate.inlines.hh (1.12),
+	  src/H79_Certificate.types.hh (1.7), src/Has_Assign_Or_Swap.hh
+	  (1.4), src/Init.cc (1.39), src/Init.defs.hh (1.23),
+	  src/Init.inlines.hh (1.10), src/Init.types.hh (1.12),
+	  src/Interval.defs.hh (1.65), src/Interval.inlines.hh (1.49),
+	  src/Interval.templates.hh (1.5), src/Interval.types.hh (1.15),
+	  src/Interval_Info.defs.hh (1.12), src/Interval_Info.inlines.hh
+	  (1.10), src/Interval_Info.types.hh (1.5),
+	  src/Interval_Restriction.defs.hh (1.17), src/Linear_Expression.cc
+	  (1.22), src/Linear_Expression.defs.hh (1.41),
+	  src/Linear_Expression.inlines.hh (1.16),
+	  src/Linear_Expression.types.hh (1.7), src/Linear_Row.cc (1.27),
+	  src/Linear_Row.defs.hh (1.27), src/Linear_Row.inlines.hh (1.15),
+	  src/Linear_Row.types.hh (1.7), src/Linear_System.cc (1.52),
+	  src/Linear_System.defs.hh (1.34), src/Linear_System.inlines.hh
+	  (1.26), src/Linear_System.types.hh (1.7), src/MIP_Problem.cc
+	  (1.80), src/MIP_Problem.defs.hh (1.41),
+	  src/MIP_Problem.inlines.hh (1.20), src/MIP_Problem.templates.hh
+	  (1.15), src/MIP_Problem.types.hh (1.4), src/Makefile.am (1.192),
+	  src/Matrix.cc (1.100), src/Matrix.defs.hh (1.86),
+	  src/Matrix.inlines.hh (1.55), src/Matrix.types.hh (1.13),
+	  src/NNC_Polyhedron.cc (1.30), src/NNC_Polyhedron.defs.hh (1.62),
+	  src/NNC_Polyhedron.inlines.hh (1.45), src/NNC_Polyhedron.types.hh
+	  (1.13), src/Numeric_Format.defs.hh (1.9), src/OR_Matrix.defs.hh
+	  (1.20), src/OR_Matrix.inlines.hh (1.15),
+	  src/OR_Matrix.templates.hh (1.10), src/OR_Matrix.types.hh (1.5),
+	  src/Octagonal_Shape.cc (1.9), src/Octagonal_Shape.defs.hh (1.64),
+	  src/Octagonal_Shape.inlines.hh (1.43),
+	  src/Octagonal_Shape.templates.hh (1.100),
+	  src/Octagonal_Shape.types.hh (1.5), src/Og_Status.idefs.hh
+	  (1.12), src/Og_Status.inlines.hh (1.8),
+	  src/Partially_Reduced_Product.defs.hh (1.40),
+	  src/Partially_Reduced_Product.inlines.hh (1.38),
+	  src/Partially_Reduced_Product.templates.hh (1.17),
+	  src/Partially_Reduced_Product.types.hh (1.6), src/Ph_Status.cc
+	  (1.17), src/Ph_Status.idefs.hh (1.24), src/Ph_Status.inlines.hh
+	  (1.11), src/Pointset_Ask_Tell.cc (1.9),
+	  src/Pointset_Ask_Tell.defs.hh (1.19),
+	  src/Pointset_Ask_Tell.inlines.hh (1.8),
+	  src/Pointset_Ask_Tell.templates.hh (1.16),
+	  src/Pointset_Ask_Tell.types.hh (1.5), src/Pointset_Powerset.cc
+	  (1.26), src/Pointset_Powerset.defs.hh (1.57),
+	  src/Pointset_Powerset.inlines.hh (1.18),
+	  src/Pointset_Powerset.templates.hh (1.46),
+	  src/Pointset_Powerset.types.hh (1.4), src/Poly_Con_Relation.cc
+	  (1.18), src/Poly_Con_Relation.defs.hh (1.38),
+	  src/Poly_Con_Relation.inlines.hh (1.18),
+	  src/Poly_Con_Relation.types.hh (1.12), src/Poly_Gen_Relation.cc
+	  (1.18), src/Poly_Gen_Relation.defs.hh (1.36),
+	  src/Poly_Gen_Relation.inlines.hh (1.18),
+	  src/Poly_Gen_Relation.types.hh (1.12), src/Polyhedron.defs.hh
+	  (1.361), src/Polyhedron.inlines.hh (1.152),
+	  src/Polyhedron.templates.hh (1.23), src/Polyhedron.types.hh
+	  (1.19), src/Polyhedron_chdims.cc (1.51),
+	  src/Polyhedron_nonpublic.cc (1.94), src/Polyhedron_public.cc
+	  (1.150), src/Polyhedron_widenings.cc (1.70), src/Powerset.defs.hh
+	  (1.33), src/Powerset.inlines.hh (1.23), src/Powerset.templates.hh
+	  (1.7), src/Powerset.types.hh (1.8), src/Ptr_Iterator.defs.hh
+	  (1.15), src/Ptr_Iterator.inlines.hh (1.10),
+	  src/Ptr_Iterator.types.hh (1.8), src/Rational_Box.hh (1.9),
+	  src/Rational_Interval.hh (1.2), src/Result.defs.hh (1.21),
+	  src/Result.inlines.hh (1.13), src/Rounding_Dir.defs.hh (1.15),
+	  src/Rounding_Dir.inlines.hh (1.11), src/Row.cc (1.107),
+	  src/Row.defs.hh (1.114), src/Row.inlines.hh (1.70),
+	  src/Row.types.hh (1.14), src/Scalar_Products.cc (1.12),
+	  src/Scalar_Products.defs.hh (1.12),
+	  src/Scalar_Products.inlines.hh (1.9),
+	  src/Scalar_Products.types.hh (1.6), src/Slow_Copy.hh (1.4),
+	  src/Temp.defs.hh (1.9), src/Temp.inlines.hh (1.7),
+	  src/Temp.templates.hh (1.4), src/Topology.hh (1.16),
+	  src/Variable.cc (1.26), src/Variable.defs.hh (1.56),
+	  src/Variable.inlines.hh (1.27), src/Variable.types.hh (1.13),
+	  src/Variables_Set.cc (1.8), src/Variables_Set.defs.hh (1.10),
+	  src/Variables_Set.inlines.hh (1.7), src/Variables_Set.types.hh
+	  (1.4), src/Widening_Function.defs.hh (1.20),
+	  src/Widening_Function.inlines.hh (1.17),
+	  src/Widening_Function.types.hh (1.8), src/algorithms.hh (1.51),
+	  src/assign_or_swap.hh (1.3), src/checked.cc (1.26),
+	  src/checked.defs.hh (1.52), src/checked.inlines.hh (1.53),
+	  src/checked_ext.defs.hh (1.16), src/checked_ext.inlines.hh
+	  (1.43), src/checked_float.inlines.hh (1.100),
+	  src/checked_int.inlines.hh (1.74), src/checked_mpq.inlines.hh
+	  (1.49), src/checked_mpz.inlines.hh (1.61),
+	  src/checked_numeric_limits.hh (1.24), src/compiler.hh (1.17),
+	  src/conversion.cc (1.89), src/distances.defs.hh (1.6),
+	  src/distances.inlines.hh (1.7), src/distances.types.hh (1.5),
+	  src/fpu-c99.inlines.hh (1.23), src/fpu-ia32.cc (1.4),
+	  src/fpu-ia32.inlines.hh (1.23), src/fpu-none.inlines.hh (1.11),
+	  src/fpu-sparc.inlines.hh (1.13), src/fpu.defs.hh (1.22),
+	  src/fpu.types.hh (1.7), src/globals.cc (1.34),
+	  src/globals.defs.hh (1.63), src/globals.inlines.hh (1.26),
+	  src/globals.types.hh (1.13), src/initializer.hh (1.17),
+	  src/iterator_to_const.defs.hh (1.9),
+	  src/iterator_to_const.inlines.hh (1.6),
+	  src/iterator_to_const.types.hh (1.4), src/math_utilities.defs.hh
+	  (1.2), src/math_utilities.inlines.hh (1.5),
+	  src/max_space_dimension.hh (1.15), src/meta_programming.hh
+	  (1.13), src/minimize.cc (1.51), src/mp_std_bits.cc (1.7),
+	  src/mp_std_bits.defs.hh (1.7), src/mp_std_bits.inlines.hh (1.6),
+	  src/namespaces.hh (1.18), src/ppl-config.cc.in (1.26),
+	  src/ppl_header.hh (1.14), src/simplify.cc (1.56), src/stdiobuf.cc
+	  (1.3), src/stdiobuf.defs.hh (1.4), src/stdiobuf.inlines.hh (1.3),
+	  src/stdiobuf.types.hh (1.2), src/swapping_sort.icc (1.15),
+	  src/version.cc (1.16), src/version.hh.in (1.18),
+	  tests/Makefile.am (1.275), tests/Partial_Function.cc (1.9),
+	  tests/Partial_Function.defs.hh (1.7),
+	  tests/Partial_Function.inlines.hh (1.6),
+	  tests/Partial_Function.types.hh (1.5), tests/README (1.5),
+	  tests/Random_Number_Generator.defs.hh (1.7),
+	  tests/Random_Number_Generator.inlines.hh (1.13),
+	  tests/Random_Number_Generator.types.hh (1.5), tests/files.cc
+	  (1.13), tests/files.hh (1.13), tests/ppl_test.cc (1.20),
+	  tests/ppl_test.hh (1.80), tests/Ask_Tell/Makefile.am (1.8),
+	  tests/Ask_Tell/append1.cc (1.9), tests/BD_Shape/Makefile.am
+	  (1.86), tests/BD_Shape/addconstraints1.cc (1.23),
+	  tests/BD_Shape/addspacedims1.cc (1.20),
+	  tests/BD_Shape/affinedimension1.cc (1.15),
+	  tests/BD_Shape/affineimage1.cc (1.24),
+	  tests/BD_Shape/affineimage2.cc (1.17),
+	  tests/BD_Shape/affinepreimage1.cc (1.26),
+	  tests/BD_Shape/ascii_dump_load1.cc (1.19),
+	  tests/BD_Shape/bgp99extrapolation1.cc (1.12),
+	  tests/BD_Shape/bhmz05widening1.cc (1.20),
+	  tests/BD_Shape/bhz03widening1.cc (1.12),
+	  tests/BD_Shape/bounded1.cc (1.6),
+	  tests/BD_Shape/boundedaffineimage1.cc (1.8),
+	  tests/BD_Shape/boundedaffinepreimage1.cc (1.8),
+	  tests/BD_Shape/bounds1.cc (1.6),
+	  tests/BD_Shape/cc76extrapolation1.cc (1.25),
+	  tests/BD_Shape/cc76narrowing1.cc (1.22),
+	  tests/BD_Shape/closure1.cc (1.31), tests/BD_Shape/concatenate1.cc
+	  (1.18), tests/BD_Shape/congruences1.cc (1.6),
+	  tests/BD_Shape/constrains1.cc (1.2),
+	  tests/BD_Shape/constraints1.cc (1.26),
+	  tests/BD_Shape/contains1.cc (1.18),
+	  tests/BD_Shape/containsintegerpoint1.cc (1.8),
+	  tests/BD_Shape/difference1.cc (1.2), tests/BD_Shape/discrete1.cc
+	  (1.6), tests/BD_Shape/disjoint1.cc (1.9),
+	  tests/BD_Shape/empty1.cc (1.14), tests/BD_Shape/equality1.cc
+	  (1.19), tests/BD_Shape/expandspacedim1.cc (1.8),
+	  tests/BD_Shape/foldspacedims1.cc (1.10),
+	  tests/BD_Shape/frombdshape1.cc (1.5), tests/BD_Shape/frombox1.cc
+	  (1.4), tests/BD_Shape/fromgensys1.cc (1.19),
+	  tests/BD_Shape/fromgrid1.cc (1.6),
+	  tests/BD_Shape/fromoctagonalshape1.cc (1.5),
+	  tests/BD_Shape/frompolyhedron1.cc (1.8),
+	  tests/BD_Shape/fromspacedim1.cc (1.5),
+	  tests/BD_Shape/generalizedaffineimage1.cc (1.23),
+	  tests/BD_Shape/generalizedaffineimage2.cc (1.26),
+	  tests/BD_Shape/generalizedaffinepreimage1.cc (1.20),
+	  tests/BD_Shape/generalizedaffinepreimage2.cc (1.21),
+	  tests/BD_Shape/generalizedaffinepreimage3.cc (1.11),
+	  tests/BD_Shape/geomcovers1.cc (1.13),
+	  tests/BD_Shape/h79widening1.cc (1.17),
+	  tests/BD_Shape/intersection1.cc (1.22),
+	  tests/BD_Shape/limitedbhmz05extrapolation1.cc (1.20),
+	  tests/BD_Shape/limitedcc76extrapolation1.cc (1.21),
+	  tests/BD_Shape/limitedh79extrapolation1.cc (1.18),
+	  tests/BD_Shape/mapspacedims1.cc (1.20),
+	  tests/BD_Shape/max_min1.cc (1.6), tests/BD_Shape/max_min2.cc
+	  (1.13), tests/BD_Shape/maxspacedim1.cc (1.7),
+	  tests/BD_Shape/membytes1.cc (1.9),
+	  tests/BD_Shape/minconstraints1.cc (1.16),
+	  tests/BD_Shape/relations1.cc (1.21), tests/BD_Shape/relations2.cc
+	  (1.26), tests/BD_Shape/relations3.cc (1.32),
+	  tests/BD_Shape/relations4.cc (1.14),
+	  tests/BD_Shape/removespacedims1.cc (1.25),
+	  tests/BD_Shape/run_tests (1.21),
+	  tests/BD_Shape/simplifyusingcontext1.cc (1.2),
+	  tests/BD_Shape/timeelapse1.cc (1.27),
+	  tests/BD_Shape/unconstrain1.cc (1.2), tests/BD_Shape/universe1.cc
+	  (1.18), tests/BD_Shape/upperbound1.cc (1.3),
+	  tests/BD_Shape/upperboundifexact1.cc (1.2),
+	  tests/BD_Shape/writebdshape1.cc (1.14), tests/Box/Makefile.am
+	  (1.80), tests/Box/addconstraints1.cc (1.15),
+	  tests/Box/addspacedims1.cc (1.10), tests/Box/affinedimension1.cc
+	  (1.8), tests/Box/affineimage1.cc (1.12),
+	  tests/Box/affinepreimage1.cc (1.9), tests/Box/ascii_dump_load1.cc
+	  (1.12), tests/Box/bgp99extrapolation1.cc (1.7),
+	  tests/Box/bhz03widening1.cc (1.6), tests/Box/bounded1.cc (1.6),
+	  tests/Box/boundedaffineimage1.cc (1.17),
+	  tests/Box/boundedaffinepreimage1.cc (1.10),
+	  tests/Box/cc76narrowing1.cc (1.9), tests/Box/cc76widening.cc
+	  (1.9), tests/Box/concatenate1.cc (1.10),
+	  tests/Box/congruences1.cc (1.6), tests/Box/constrains1.cc (1.2),
+	  tests/Box/constraints1.cc (1.13), tests/Box/contains1.cc (1.8),
+	  tests/Box/containsintegerpoint1.cc (1.8),
+	  tests/Box/difference1.cc (1.9), tests/Box/discrete1.cc (1.8),
+	  tests/Box/disjoint1.cc (1.8), tests/Box/empty1.cc (1.8),
+	  tests/Box/equality1.cc (1.7), tests/Box/expandspacedim1.cc
+	  (1.11), tests/Box/foldspacedims1.cc (1.11),
+	  tests/Box/frombdshape1.cc (1.5), tests/Box/frombox1.cc (1.8),
+	  tests/Box/fromgensys1.cc (1.7), tests/Box/fromgrid1.cc (1.9),
+	  tests/Box/frompartiallyreducedproduct1.cc (1.4),
+	  tests/Box/frompolyhedron1.cc (1.14), tests/Box/frompolyhedron2.cc
+	  (1.11), tests/Box/fromspacedim1.cc (1.4),
+	  tests/Box/generalizedaffineimage1.cc (1.18),
+	  tests/Box/generalizedaffineimage2.cc (1.7),
+	  tests/Box/generalizedaffinepreimage1.cc (1.17),
+	  tests/Box/geomcovers1.cc (1.7), tests/Box/intersection1.cc
+	  (1.12), tests/Box/interval1.cc (1.11), tests/Box/mapspacedims1.cc
+	  (1.9), tests/Box/max_min1.cc (1.10), tests/Box/maxspacedim1.cc
+	  (1.7), tests/Box/membytes1.cc (1.9), tests/Box/minconstraints1.cc
+	  (1.8), tests/Box/propagateconstraints1.cc (1.2),
+	  tests/Box/propagateconstraints2.cc (1.13),
+	  tests/Box/refinewithcongruences1.cc (1.4),
+	  tests/Box/refinewithconstraint1.cc (1.5),
+	  tests/Box/refinewithconstraint2.cc (1.2),
+	  tests/Box/refinewithconstraints1.cc (1.7),
+	  tests/Box/refinewithconstraints2.cc (1.4),
+	  tests/Box/relations1.cc (1.8), tests/Box/relations2.cc (1.7),
+	  tests/Box/relations3.cc (1.6), tests/Box/relations4.cc (1.4),
+	  tests/Box/removespacedims1.cc (1.12), tests/Box/run_tests (1.5),
+	  tests/Box/timeelapse1.cc (1.11), tests/Box/topclosed1.cc (1.5),
+	  tests/Box/unconstrain1.cc (1.3), tests/Box/universe1.cc (1.7),
+	  tests/Box/upperbound1.cc (1.2), tests/Box/upperboundifexact1.cc
+	  (1.4), tests/Box/writebox1.cc (1.7), tests/Grid/Makefile.am
+	  (1.75), tests/Grid/addcongruence1.cc (1.16),
+	  tests/Grid/addcongruences1.cc (1.19),
+	  tests/Grid/addconstraint1.cc (1.19),
+	  tests/Grid/addconstraints1.cc (1.21), tests/Grid/addgenerator1.cc
+	  (1.18), tests/Grid/addgenerators1.cc (1.19),
+	  tests/Grid/addspacedims1.cc (1.18), tests/Grid/affinedim1.cc
+	  (1.15), tests/Grid/affineimage1.cc (1.16),
+	  tests/Grid/affineimage2.cc (1.16), tests/Grid/affinepreimage1.cc
+	  (1.17), tests/Grid/affinepreimage2.cc (1.11),
+	  tests/Grid/approximatepartition1.cc (1.6),
+	  tests/Grid/asciidumpload1.cc (1.17), tests/Grid/asciidumpload2.cc
+	  (1.9), tests/Grid/asciidumpload3.cc (1.7),
+	  tests/Grid/asciidumpload4.cc (1.7), tests/Grid/asciidumpload5.cc
+	  (1.5), tests/Grid/asciidumpload6.cc (1.5),
+	  tests/Grid/bhz03widening1.cc (1.15), tests/Grid/bounded1.cc
+	  (1.17), tests/Grid/boundedaffineimage1.cc (1.6),
+	  tests/Grid/boundedaffinepreimage1.cc (1.6),
+	  tests/Grid/boundingbox1.cc (1.21), tests/Grid/bounds1.cc (1.19),
+	  tests/Grid/certificate1.cc (1.17), tests/Grid/concatenate1.cc
+	  (1.16), tests/Grid/congruence1.cc (1.21),
+	  tests/Grid/congruences1.cc (1.15), tests/Grid/congruences2.cc
+	  (1.8), tests/Grid/constraints1.cc (1.3), tests/Grid/contains1.cc
+	  (1.14), tests/Grid/containsintegerpoint1.cc (1.7),
+	  tests/Grid/coveringbox1.cc (1.19), tests/Grid/coveringbox2.cc
+	  (1.16), tests/Grid/discrete1.cc (1.11), tests/Grid/disjoint1.cc
+	  (1.15), tests/Grid/equals1.cc (1.16),
+	  tests/Grid/expandspacedim1.cc (1.15),
+	  tests/Grid/foldspacedims1.cc (1.15), tests/Grid/frombdshape1.cc
+	  (1.5), tests/Grid/frombox1.cc (1.2), tests/Grid/fromgrid1.cc
+	  (1.2), tests/Grid/fromoctagonalshape1.cc (1.5),
+	  tests/Grid/frompolyhedron1.cc (1.3),
+	  tests/Grid/generalizedaffineimage1.cc (1.17),
+	  tests/Grid/generalizedaffineimage2.cc (1.16),
+	  tests/Grid/generalizedaffineimage3.cc (1.8),
+	  tests/Grid/generalizedaffinepreimage1.cc (1.19),
+	  tests/Grid/generalizedaffinepreimage2.cc (1.19),
+	  tests/Grid/generalizedaffinepreimage3.cc (1.8),
+	  tests/Grid/generator1.cc (1.23), tests/Grid/generators1.cc
+	  (1.16), tests/Grid/generators2.cc (1.5), tests/Grid/grid1.cc
+	  (1.23), tests/Grid/grid2.cc (1.18), tests/Grid/grid3.cc (1.30),
+	  tests/Grid/griddifference1.cc (1.16), tests/Grid/intersection1.cc
+	  (1.14), tests/Grid/isempty1.cc (1.10), tests/Grid/isuniverse1.cc
+	  (1.12), tests/Grid/limitedextrapolation1.cc (1.16),
+	  tests/Grid/limitedextrapolation2.cc (1.10),
+	  tests/Grid/limitedextrapolation3.cc (1.9),
+	  tests/Grid/mapspacedims1.cc (1.13), tests/Grid/maxmin1.cc (1.17),
+	  tests/Grid/membytes1.cc (1.14), tests/Grid/mincongruences1.cc
+	  (1.14), tests/Grid/mingenerators1.cc (1.13),
+	  tests/Grid/outputoperator1.cc (1.12),
+	  tests/Grid/outputoperator2.cc (1.5),
+	  tests/Grid/outputoperator3.cc (1.5), tests/Grid/partition1.cc
+	  (1.10), tests/Grid/powersetdifference1.cc (1.8),
+	  tests/Grid/powersetgeometricallycovers1.cc (1.6),
+	  tests/Grid/powersetgeometricallyequals1.cc (1.5),
+	  tests/Grid/refinewithcongruences1.cc (1.3),
+	  tests/Grid/refinewithconstraints1.cc (1.3),
+	  tests/Grid/relations1.cc (1.18), tests/Grid/relations2.cc (1.20),
+	  tests/Grid/relations3.cc (1.11), tests/Grid/removespacedims1.cc
+	  (1.17), tests/Grid/removespacedims2.cc (1.18),
+	  tests/Grid/timeelapse1.cc (1.14), tests/Grid/topclosed1.cc
+	  (1.15), tests/Grid/topclosure1.cc (1.10),
+	  tests/Grid/unconstrain1.cc (1.2), tests/Grid/upperbound1.cc
+	  (1.2), tests/Grid/upperbound2.cc (1.2), tests/Grid/widening1.cc
+	  (1.19), tests/Grid/widening2.cc (1.13), tests/Grid/widening3.cc
+	  (1.9), tests/Grid/writecongruencesystem.cc (1.10),
+	  tests/MIP_Problem/Makefile.am (1.14),
+	  tests/MIP_Problem/ascii_dump_load1.cc (1.6),
+	  tests/MIP_Problem/exceptions1.cc (1.6),
+	  tests/MIP_Problem/mipproblem1.cc (1.14),
+	  tests/MIP_Problem/mipproblem2.cc (1.13),
+	  tests/MIP_Problem/mipproblem3.cc (1.8),
+	  tests/Octagonal_Shape/Makefile.am (1.38),
+	  tests/Octagonal_Shape/addspacedims1.cc (1.6),
+	  tests/Octagonal_Shape/affinedimension1.cc (1.7),
+	  tests/Octagonal_Shape/affineimage1.cc (1.6),
+	  tests/Octagonal_Shape/affineimage2.cc (1.5),
+	  tests/Octagonal_Shape/affinepreimage1.cc (1.9),
+	  tests/Octagonal_Shape/affinepreimage2.cc (1.6),
+	  tests/Octagonal_Shape/ascii_dump_load1.cc (1.5),
+	  tests/Octagonal_Shape/bhmz05widening1.cc (1.6),
+	  tests/Octagonal_Shape/bhz03widening1.cc (1.5),
+	  tests/Octagonal_Shape/bounded1.cc (1.5),
+	  tests/Octagonal_Shape/boundedaffineimage1.cc (1.13),
+	  tests/Octagonal_Shape/boundedaffinepreimage1.cc (1.7),
+	  tests/Octagonal_Shape/bounds1.cc (1.6),
+	  tests/Octagonal_Shape/cc76extrapolation1.cc (1.8),
+	  tests/Octagonal_Shape/cc76narrowing1.cc (1.6),
+	  tests/Octagonal_Shape/chinainit.cc (1.5),
+	  tests/Octagonal_Shape/concatenate1.cc (1.5),
+	  tests/Octagonal_Shape/congruences1.cc (1.7),
+	  tests/Octagonal_Shape/constrains1.cc (1.2),
+	  tests/Octagonal_Shape/constraints1.cc (1.8),
+	  tests/Octagonal_Shape/contains1.cc (1.6),
+	  tests/Octagonal_Shape/containsintegerpoint1.cc (1.9),
+	  tests/Octagonal_Shape/difference1.cc (1.2),
+	  tests/Octagonal_Shape/discrete1.cc (1.6),
+	  tests/Octagonal_Shape/disjoint1.cc (1.9),
+	  tests/Octagonal_Shape/empty1.cc (1.5),
+	  tests/Octagonal_Shape/expandspacedim1.cc (1.8),
+	  tests/Octagonal_Shape/foldspacedims1.cc (1.7),
+	  tests/Octagonal_Shape/frombdshape1.cc (1.3),
+	  tests/Octagonal_Shape/frombox1.cc (1.2),
+	  tests/Octagonal_Shape/fromgensys1.cc (1.5),
+	  tests/Octagonal_Shape/fromgrid1.cc (1.4),
+	  tests/Octagonal_Shape/fromoctagonalshape1.cc (1.3),
+	  tests/Octagonal_Shape/frompolyhedron1.cc (1.7),
+	  tests/Octagonal_Shape/fromspacedim1.cc (1.4),
+	  tests/Octagonal_Shape/generalizedaffineimage1.cc (1.7),
+	  tests/Octagonal_Shape/generalizedaffineimage2.cc (1.7),
+	  tests/Octagonal_Shape/generalizedaffineimage3.cc (1.12),
+	  tests/Octagonal_Shape/generalizedaffineimage4.cc (1.7),
+	  tests/Octagonal_Shape/generalizedaffineimage5.cc (1.7),
+	  tests/Octagonal_Shape/generalizedaffinepreimage1.cc (1.8),
+	  tests/Octagonal_Shape/generalizedaffinepreimage2.cc (1.12),
+	  tests/Octagonal_Shape/generalizedaffinepreimage3.cc (1.8),
+	  tests/Octagonal_Shape/generalizedaffinepreimage4.cc (1.7),
+	  tests/Octagonal_Shape/intersection1.cc (1.7),
+	  tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc (1.9),
+	  tests/Octagonal_Shape/limitedcc76extrapolation1.cc (1.9),
+	  tests/Octagonal_Shape/mapspacedims1.cc (1.7),
+	  tests/Octagonal_Shape/max_min1.cc (1.7),
+	  tests/Octagonal_Shape/max_min2.cc (1.8),
+	  tests/Octagonal_Shape/maxspacedim1.cc (1.7),
+	  tests/Octagonal_Shape/membytes1.cc (1.9),
+	  tests/Octagonal_Shape/minconstraints1.cc (1.7),
+	  tests/Octagonal_Shape/relatwithcons1.cc (1.6),
+	  tests/Octagonal_Shape/relatwithcons2.cc (1.11),
+	  tests/Octagonal_Shape/relatwithcons3.cc (1.4),
+	  tests/Octagonal_Shape/relatwithgen1.cc (1.11),
+	  tests/Octagonal_Shape/removespacedims1.cc (1.6),
+	  tests/Octagonal_Shape/run_tests (1.5),
+	  tests/Octagonal_Shape/timeelapse1.cc (1.7),
+	  tests/Octagonal_Shape/unconstrain1.cc (1.2),
+	  tests/Octagonal_Shape/universe1.cc (1.5),
+	  tests/Octagonal_Shape/upperbound1.cc (1.2),
+	  tests/Octagonal_Shape/writeoctagon1.cc (1.7),
+	  tests/Partially_Reduced_Product/Makefile.am (1.9),
+	  tests/Partially_Reduced_Product/asciidumpload1.cc (1.4),
+	  tests/Partially_Reduced_Product/directproduct1.cc (1.5),
+	  tests/Partially_Reduced_Product/directproduct2.cc (1.4),
+	  tests/Partially_Reduced_Product/directproduct3.cc (1.5),
+	  tests/Partially_Reduced_Product/directproduct4.cc (1.3),
+	  tests/Partially_Reduced_Product/directproduct5.cc (1.3),
+	  tests/Partially_Reduced_Product/directproduct6.cc (1.5),
+	  tests/Partially_Reduced_Product/partiallyreducedproduct1.cc
+	  (1.6),
+	  tests/Partially_Reduced_Product/partiallyreducedproduct2.cc
+	  (1.5),
+	  tests/Partially_Reduced_Product/partiallyreducedproduct3.cc
+	  (1.3),
+	  tests/Partially_Reduced_Product/partiallyreducedproduct4.cc
+	  (1.3), tests/Polyhedron/Makefile.am (1.135),
+	  tests/Polyhedron/addcongruence1.cc (1.12),
+	  tests/Polyhedron/addcongruences1.cc (1.15),
+	  tests/Polyhedron/addconstraint1.cc (1.13),
+	  tests/Polyhedron/addconstraints1.cc (1.14),
+	  tests/Polyhedron/addconstraints2.cc (1.13),
+	  tests/Polyhedron/addgenerator1.cc (1.14),
+	  tests/Polyhedron/addgenerator2.cc (1.14),
+	  tests/Polyhedron/addgenerators1.cc (1.15),
+	  tests/Polyhedron/addgenerators2.cc (1.14),
+	  tests/Polyhedron/addspacedims1.cc (1.14),
+	  tests/Polyhedron/addspacedims2.cc (1.14),
+	  tests/Polyhedron/affineimage1.cc (1.14),
+	  tests/Polyhedron/affineimage2.cc (1.15),
+	  tests/Polyhedron/affinepreimage1.cc (1.13),
+	  tests/Polyhedron/affinetrans.cc (1.13),
+	  tests/Polyhedron/append1.cc (1.16), tests/Polyhedron/append2.cc
+	  (1.15), tests/Polyhedron/ascii_dump_load1.cc (1.12),
+	  tests/Polyhedron/ascii_dump_load2.cc (1.12),
+	  tests/Polyhedron/ascii_dump_load3.cc (1.13),
+	  tests/Polyhedron/bgp99extrapolation1.cc (1.16),
+	  tests/Polyhedron/bgp99extrapolation2.cc (1.10),
+	  tests/Polyhedron/bhrz03widening1.cc (1.14),
+	  tests/Polyhedron/bhrz03widening2.cc (1.13),
+	  tests/Polyhedron/bhrz03widening3.cc (1.18),
+	  tests/Polyhedron/bhz03widening1.cc (1.16),
+	  tests/Polyhedron/bounded1.cc (1.13),
+	  tests/Polyhedron/boundedaffineimage1.cc (1.17),
+	  tests/Polyhedron/boundedaffinepreimage1.cc (1.11),
+	  tests/Polyhedron/boundedbhrz03extrapolation1.cc (1.14),
+	  tests/Polyhedron/boundedh79extrapolation1.cc (1.14),
+	  tests/Polyhedron/bounds1.cc (1.13),
+	  tests/Polyhedron/cnncconversion1.cc (1.7),
+	  tests/Polyhedron/concatenate1.cc (1.13),
+	  tests/Polyhedron/congruences1.cc (1.16),
+	  tests/Polyhedron/constrains1.cc (1.3),
+	  tests/Polyhedron/constraints1.cc (1.13),
+	  tests/Polyhedron/contains1.cc (1.12),
+	  tests/Polyhedron/contains2.cc (1.12),
+	  tests/Polyhedron/containsintegerpoint1.cc (1.6),
+	  tests/Polyhedron/disjoint1.cc (1.12),
+	  tests/Polyhedron/disjoint2.cc (1.14),
+	  tests/Polyhedron/dualhypercubes.cc (1.18),
+	  tests/Polyhedron/empty1.cc (1.13), tests/Polyhedron/equals1.cc
+	  (1.12), tests/Polyhedron/exceptions1.cc (1.19),
+	  tests/Polyhedron/exceptions2.cc (1.16),
+	  tests/Polyhedron/exceptions3.cc (1.13),
+	  tests/Polyhedron/expandspacedim1.cc (1.15),
+	  tests/Polyhedron/expandspacedim2.cc (1.15),
+	  tests/Polyhedron/foldspacedims1.cc (1.17),
+	  tests/Polyhedron/foldspacedims2.cc (1.18),
+	  tests/Polyhedron/frombdshape1.cc (1.3),
+	  tests/Polyhedron/frombox1.cc (1.6), tests/Polyhedron/frombox2.cc
+	  (1.6), tests/Polyhedron/fromgrid1.cc (1.3),
+	  tests/Polyhedron/fromoctagonalshape1.cc (1.3),
+	  tests/Polyhedron/generalizedaffineimage1.cc (1.15),
+	  tests/Polyhedron/generalizedaffineimage2.cc (1.15),
+	  tests/Polyhedron/generalizedaffinepreimage1.cc (1.12),
+	  tests/Polyhedron/generalizedaffinepreimage2.cc (1.11),
+	  tests/Polyhedron/generators1.cc (1.13),
+	  tests/Polyhedron/geomcovers1.cc (1.16),
+	  tests/Polyhedron/h79widening1.cc (1.14),
+	  tests/Polyhedron/h79widening2.cc (1.13),
+	  tests/Polyhedron/hybrid.cc (1.10),
+	  tests/Polyhedron/intersection1.cc (1.17),
+	  tests/Polyhedron/limitedbhrz03extrapolation1.cc (1.12),
+	  tests/Polyhedron/limitedh79extrapolation1.cc (1.13),
+	  tests/Polyhedron/linearpartition1.cc (1.17),
+	  tests/Polyhedron/linearsystem1.cc (1.12),
+	  tests/Polyhedron/linexpression1.cc (1.12),
+	  tests/Polyhedron/mapspacedims1.cc (1.17),
+	  tests/Polyhedron/matrix1.cc (1.12), tests/Polyhedron/max_min1.cc
+	  (1.14), tests/Polyhedron/maxspacedim1.cc (1.20),
+	  tests/Polyhedron/mc91.cc (1.17), tests/Polyhedron/membytes1.cc
+	  (1.18), tests/Polyhedron/memory1.cc (1.21),
+	  tests/Polyhedron/memory2.cc (1.20),
+	  tests/Polyhedron/minconstraints1.cc (1.12),
+	  tests/Polyhedron/minconstraints2.cc (1.14),
+	  tests/Polyhedron/mingenerators1.cc (1.12),
+	  tests/Polyhedron/mingenerators2.cc (1.13),
+	  tests/Polyhedron/nncminimize1.cc (1.11),
+	  tests/Polyhedron/nncminimize2.cc (1.9),
+	  tests/Polyhedron/numberinput1.cc (1.34),
+	  tests/Polyhedron/onepoint.cc (1.13), tests/Polyhedron/permute.cc
+	  (1.13), tests/Polyhedron/polydifference1.cc (1.16),
+	  tests/Polyhedron/polydifference2.cc (1.15),
+	  tests/Polyhedron/polyhull1.cc (1.16),
+	  tests/Polyhedron/polyhull2.cc (1.16),
+	  tests/Polyhedron/polyhullifexact1.cc (1.5),
+	  tests/Polyhedron/polyhullifexact2.cc (1.3),
+	  tests/Polyhedron/randphull1.cc (1.17),
+	  tests/Polyhedron/refinewithcongruence1.cc (1.2),
+	  tests/Polyhedron/refinewithcongruences1.cc (1.3),
+	  tests/Polyhedron/refinewithconstraint1.cc (1.2),
+	  tests/Polyhedron/refinewithconstraints1.cc (1.2),
+	  tests/Polyhedron/relations1.cc (1.13),
+	  tests/Polyhedron/relations2.cc (1.14),
+	  tests/Polyhedron/relations3.cc (1.13),
+	  tests/Polyhedron/removespacedims1.cc (1.13),
+	  tests/Polyhedron/removespacedims2.cc (1.13),
+	  tests/Polyhedron/simplifyusingcontext1.cc (1.4),
+	  tests/Polyhedron/smm1.cc (1.12), tests/Polyhedron/timeelapse1.cc
+	  (1.14), tests/Polyhedron/timeelapse2.cc (1.14),
+	  tests/Polyhedron/topclosed1.cc (1.13),
+	  tests/Polyhedron/topclosure1.cc (1.13),
+	  tests/Polyhedron/unconstrain1.cc (1.2),
+	  tests/Polyhedron/universe1.cc (1.13),
+	  tests/Polyhedron/universe2.cc (1.13),
+	  tests/Polyhedron/variablesset1.cc (1.13),
+	  tests/Polyhedron/watchdog1.cc (1.12),
+	  tests/Polyhedron/writeconsys1.cc (1.13),
+	  tests/Polyhedron/writegensys1.cc (1.13),
+	  tests/Polyhedron/writepolyhedron1.cc (1.13),
+	  tests/Polyhedron/writepolyhedron2.cc (1.13),
+	  tests/Polyhedron/writerelation1.cc (1.15),
+	  tests/Polyhedron/writevariable1.cc (1.10),
+	  tests/Powerset/Makefile.am (1.13),
+	  tests/Powerset/addcongruences1.cc (1.2),
+	  tests/Powerset/addconstraints1.cc (1.2),
+	  tests/Powerset/affinedimension1.cc (1.2),
+	  tests/Powerset/affineimage1.cc (1.2),
+	  tests/Powerset/affinepreimage1.cc (1.2),
+	  tests/Powerset/bounded1.cc (1.2), tests/Powerset/bounds1.cc
+	  (1.2), tests/Powerset/closed1.cc (1.2),
+	  tests/Powerset/closure1.cc (1.2), tests/Powerset/collapse1.cc
+	  (1.2), tests/Powerset/concatenate1.cc (1.2),
+	  tests/Powerset/contains1.cc (1.2),
+	  tests/Powerset/containsintegerpoint1.cc (1.2),
+	  tests/Powerset/difference1.cc (1.3), tests/Powerset/discrete1.cc
+	  (1.2), tests/Powerset/disjoint1.cc (1.2),
+	  tests/Powerset/disjunct1.cc (1.2), tests/Powerset/empty1.cc
+	  (1.2), tests/Powerset/entails1.cc (1.2),
+	  tests/Powerset/equals1.cc (1.2), tests/Powerset/frombdshape1.cc
+	  (1.2), tests/Powerset/frombox1.cc (1.2),
+	  tests/Powerset/fromcongruences1.cc (1.2),
+	  tests/Powerset/fromconstraints1.cc (1.3),
+	  tests/Powerset/fromgrid1.cc (1.2),
+	  tests/Powerset/fromoctagonalshape1.cc (1.2),
+	  tests/Powerset/frompolyhedron1.cc (1.2),
+	  tests/Powerset/fromspacedimension1.cc (1.3),
+	  tests/Powerset/intersection1.cc (1.2), tests/Powerset/maxmin1.cc
+	  (1.2), tests/Powerset/meet1.cc (1.2), tests/Powerset/membytes1.cc
+	  (1.2), tests/Powerset/powerset1.cc (1.2),
+	  tests/Powerset/reduce1.cc (1.2), tests/Powerset/refinewith1.cc
+	  (1.2), tests/Powerset/relationwith1.cc (1.2),
+	  tests/Powerset/simplifyusingcontext1.cc (1.8),
+	  tests/Powerset/size1.cc (1.2), tests/Powerset/spacedims1.cc
+	  (1.2), tests/Powerset/universe1.cc (1.2),
+	  tests/Powerset/upperbound1.cc (1.2), utils/Makefile.am (1.20),
+	  utils/build_header.in (1.8), utils/cm_cleaner.sh (1.6),
+	  utils/cm_splitter.sh (1.6), utils/text2cxxarray.in (1.6),
+	  utils/timings.cc (1.14), utils/timings.hh (1.8): Copyright years
+	  extended.
+
+2008-12-29 Monday 14:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/upperboundifexact1.cc (1.3): New test added.
+
+2008-12-23 Tuesday 19:30  Abramo Bagnara
+
+	* src/Interval.inlines.hh (1.48): Fixed typo.
+
+2008-12-23 Tuesday 12:22  Abramo Bagnara
+
+	* src/Interval.inlines.hh (1.47): Fixed typo.
+
+2008-12-23 Tuesday 11:41  Abramo Bagnara
+
+	* src/Interval.defs.hh (1.64): Added missing const_cast.
+
+2008-12-22 Monday 12:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Interval.defs.hh (1.63): Added declarations for methods
+	  lower_approximation_difference_assign() and
+	  simplify_using_context_assign().
+
+2008-12-22 Monday 10:55  Abramo Bagnara
+
+	* src/Interval.inlines.hh (1.46): Simplified (and hopefully fixed)
+	  can_be_exactly_joined logics.
+
+2008-12-22 Monday 10:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (1.139): Method
+	  upper_bound_assign_if_exact() corrected and its efficiency
+	  improved.
+
+2008-12-22 Monday 10:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/upperboundifexact1.cc (1.2): Adapted to test the method
+	  on the Box domain.
+
+2008-12-21 Sunday 16:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Boundary.defs.hh (1.16), src/Box.inlines.hh (1.43),
+	  src/Box.templates.hh (1.138), src/Interval.defs.hh (1.62),
+	  src/Interval.inlines.hh (1.45), src/Interval_Restriction.defs.hh
+	  (1.16), tests/Box/Makefile.am (1.79),
+	  tests/Box/upperboundifexact1.cc (1.1): New implementation of
+	  method Box::upper_bound_assign_if_exact(const Box&).
+
+2008-12-18 Thursday 11:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.412): Version number bumped.
+
+2008-12-18 Thursday 09:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	  (1.33): Added several missing try { ... } CATCH_ALL blocks. Now
+	  all interfaced functions should be able to translate any C++
+	  exception into a Java exception.
+
+2008-12-18 Thursday 09:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.defs.hh (1.7): The CATCH_ALL
+	  macro should not end with a semicolon.
+
+2008-12-18 Thursday 09:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.cc (1.54): Added a newline
+	  for readability.
+
+2008-12-17 Wednesday 18:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	*
+	  interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
+	  (1.17): Corrected a typo in the naming of a parameter.
+
+2008-12-17 Wednesday 17:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/: Makefile.am (1.85), simplifyusingcontext1.cc
+	  (1.1): Added test for method
+	  BD_Shape<T>::simplify_using_context_assign().
+
+2008-12-17 Wednesday 17:20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh (1.128): Drafted an implementation for
+	  simplify_using_context_assign().
+
+2008-12-17 Wednesday 13:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_nonpublic.cc (1.93): Method
+	  BFT00_poly_hull_assign_if_exact() is only correct for closed
+	  polyhedra: added an assertion and adapted comments.  Added draft
+	  implementation for new method BHZ09_poly_hull_assign_if_exact().
+
+2008-12-17 Wednesday 12:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/MIP_Problem.cc (1.79): Indentation fixed.
+
+2008-12-17 Wednesday 12:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.360): Corrected the specification of
+	  method BFT00__poly_hull_assign_if_exact: the method is only
+	  correct for closed polyhedra.  Added declaration for another
+	  (protected) method that will be based on an alternative algorithm
+	  (named BHZ09_poly_hull_assign_if_exact).
+
+2008-12-17 Wednesday 12:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Bit_Row.cc (1.7): Added a naive, inefficient implementation
+	  for method set_until.
+
+2008-12-16 Tuesday 07:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS, ChangeLog, NEWS, README, README.arm, README.configure,
+	  STANDARDS, TODO, configure.ac, Watchdog/ChangeLog,
+	  Watchdog/README, Watchdog/config.rpath, Watchdog/configure.ac,
+	  Watchdog/doc/Makefile.am, Watchdog/doc/user.doxyconf-html.in,
+	  Watchdog/doc/user.doxyconf-latex.in, Watchdog/m4/Makefile.am,
+	  Watchdog/m4/lib-ld.m4, Watchdog/m4/lib-link.m4,
+	  demos/ppl_lcdd/ppl_lcdd.1, demos/ppl_lcdd/ppl_lcdd.cc,
+	  demos/ppl_lpsol/ppl_lpsol.1, demos/ppl_lpsol/ppl_lpsol.c,
+	  devtools/print_nonascii_lines, doc/Makefile.am,
+	  doc/definitions.dox,
+	  doc/devref-foreign-language-interface.doxyconf.in,
+	  doc/devref-foreign-language-interface.tex,
+	  doc/devref-language-interface.doxyconf.in,
+	  doc/devref-language-interface.tex, doc/libppl.3, doc/libppl_c.3,
+	  doc/ppl-config.1, doc/ppl.sty,
+	  doc/user-foreign-language-interface.doxyconf.in,
+	  doc/user-foreign-language-interface.tex,
+	  doc/user-language-interface.doxyconf.in,
+	  doc/user-language-interface.tex, doc/user.doxyconf-html.in,
+	  doc/user.doxyconf-latex.in, fedora/ppl.spec,
+	  interfaces/interfaced_boxes.hh, interfaces/marked_pointers.hh,
+	  interfaces/ppl_interface_generator_common.m4,
+	  interfaces/ppl_interface_generator_common_dat.m4,
+	  interfaces/ppl_interface_generator_common_procedure_generators.m4,
+	  interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	  interfaces/C/ppl_interface_generator_c_cc_files.m4,
+	  interfaces/C/ppl_interface_generator_c_h_code.m4,
+	  interfaces/C/ppl_interface_generator_c_hh_files.m4,
+	  interfaces/C/ppl_interface_generator_c_procedure_generators.m4,
+	  interfaces/Java/Makefile.am, interfaces/Java/README.java,
+	  interfaces/Java/jni/Makefile.am,
+	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4,
+	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_files.m4,
+	  interfaces/Java/jni/ppl_java_common.cc,
+	  interfaces/Java/jni/ppl_java_common.inlines.hh,
+	  interfaces/Java/jni/ppl_java_globals.cc,
+	  interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java.m4,
+	  interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4,
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java.m4,
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4,
+	  interfaces/OCaml/Makefile.am,
+	  interfaces/OCaml/OCaml_interface.dox,
+	  interfaces/OCaml/README.ocaml,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_cc_files.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_hh_files.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4,
+	  interfaces/OCaml/ppl_ocaml_common.cc,
+	  interfaces/OCaml/tests/Makefile.am,
+	  interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml.m4,
+	  interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m4,
+	  interfaces/OCaml/tests/test1.ml,
+	  interfaces/Prolog/Prolog_interface.dox,
+	  interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_dox.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_dox_code.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_hh_files.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_procedure_generators.m4,
+	  interfaces/Prolog/ppl_prolog_common.cc,
+	  interfaces/Prolog/ppl_prolog_common.defs.hh,
+	  interfaces/Prolog/Ciao/Makefile.am,
+	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4,
+	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_prolog_generated_test_pl.m4,
+	  interfaces/Prolog/GNU/Makefile.am,
+	  interfaces/Prolog/GNU/README.gprolog,
+	  interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4,
+	  interfaces/Prolog/SICStus/Makefile.am,
+	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4,
+	  interfaces/Prolog/SWI/Makefile.am,
+	  interfaces/Prolog/SWI/README.swiprolog,
+	  interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4,
+	  interfaces/Prolog/SWI/swi_efli.cc,
+	  interfaces/Prolog/XSB/Makefile.am,
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4,
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4,
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_hh.m4,
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_prolog_generated_test_P.m4,
+	  interfaces/Prolog/YAP/Makefile.am,
+	  interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4,
+	  interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl.m4,
+	  interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl_code.m4,
+	  interfaces/Prolog/tests/ppl_prolog_generated_test_common.pl,
+	  m4/ac_check_swi_prolog.m4, src/BDS_Status.inlines.hh,
+	  src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
+	  src/BD_Shape.templates.hh, src/Bit_Row.inlines.hh,
+	  src/Boundary.defs.hh, src/Box.defs.hh, src/Box.inlines.hh,
+	  src/Box.templates.hh, src/Box_Status.inlines.hh,
+	  src/C_Polyhedron.cc, src/Checked_Number.defs.hh,
+	  src/Checked_Number.inlines.hh, src/Congruence.cc,
+	  src/Congruence_System.cc, src/Constraint.cc,
+	  src/DB_Matrix.templates.hh, src/DB_Row.inlines.hh,
+	  src/Determinate.inlines.hh, src/Float.defs.hh, src/Generator.cc,
+	  src/Generator.inlines.hh, src/Generator_System.cc,
+	  src/Grid.defs.hh, src/Grid.inlines.hh, src/Grid.templates.hh,
+	  src/Grid_Generator.cc, src/Grid_Generator.defs.hh,
+	  src/Grid_Generator_System.cc, src/Grid_Status.cc,
+	  src/Grid_conversion.cc, src/Grid_nonpublic.cc,
+	  src/Grid_public.cc, src/Grid_simplify.cc, src/Init.cc,
+	  src/Interval.defs.hh, src/Interval.inlines.hh,
+	  src/Interval_Restriction.defs.hh, src/Linear_Expression.cc,
+	  src/Linear_Expression.inlines.hh, src/Linear_Row.cc,
+	  src/MIP_Problem.cc, src/Makefile.am, src/Matrix.cc,
+	  src/OR_Matrix.inlines.hh, src/OR_Matrix.templates.hh,
+	  src/Octagonal_Shape.defs.hh, src/Octagonal_Shape.inlines.hh,
+	  src/Octagonal_Shape.templates.hh, src/Og_Status.inlines.hh,
+	  src/Partially_Reduced_Product.defs.hh,
+	  src/Partially_Reduced_Product.inlines.hh,
+	  src/Partially_Reduced_Product.templates.hh, src/Ph_Status.cc,
+	  src/Pointset_Ask_Tell.templates.hh, src/Pointset_Powerset.cc,
+	  src/Pointset_Powerset.defs.hh,
+	  src/Pointset_Powerset.templates.hh,
+	  src/Poly_Con_Relation.defs.hh, src/Poly_Gen_Relation.defs.hh,
+	  src/Polyhedron.defs.hh, src/Polyhedron.templates.hh,
+	  src/Polyhedron_nonpublic.cc, src/Polyhedron_public.cc,
+	  src/Polyhedron_widenings.cc, src/Rounding_Dir.inlines.hh,
+	  src/Row.cc, src/Row.inlines.hh, src/Scalar_Products.cc,
+	  src/Scalar_Products.inlines.hh, src/Temp.inlines.hh,
+	  src/checked.defs.hh, src/checked.inlines.hh,
+	  src/checked_float.inlines.hh, src/checked_int.inlines.hh,
+	  src/checked_mpq.inlines.hh, src/checked_mpz.inlines.hh,
+	  src/checked_numeric_limits.hh, src/conversion.cc,
+	  src/fpu-c99.inlines.hh, src/fpu-ia32.inlines.hh,
+	  src/fpu-sparc.inlines.hh, src/globals.defs.hh,
+	  src/globals.inlines.hh, src/math_utilities.inlines.hh,
+	  src/meta_programming.hh, src/namespaces.hh, src/ppl_header.hh,
+	  src/simplify.cc, src/version.cc, tests/BD_Shape/Makefile.am,
+	  tests/BD_Shape/pointsetpowerset1.cc,
+	  tests/BD_Shape/upperboundifexact1.cc, tests/Box/Makefile.am,
+	  tests/Box/ascii_dump_load1.cc, tests/Box/empty1.cc,
+	  tests/Box/fromgrid1.cc, tests/Box/pointsetpowerset1.cc,
+	  tests/Box/pointsetpowerset2.cc,
+	  tests/Box/refinewithconstraint1.cc, tests/Grid/Makefile.am,
+	  tests/Grid/bounds1.cc, tests/Grid/maxmin1.cc,
+	  tests/Grid/partition1.cc, tests/Grid/pointsetpowerset1.cc,
+	  tests/MIP_Problem/Makefile.am, tests/Octagonal_Shape/Makefile.am,
+	  tests/Octagonal_Shape/pointsetpowerset1.cc,
+	  tests/Partially_Reduced_Product/directproduct6.cc,
+	  tests/Partially_Reduced_Product/partiallyreducedproduct2.cc,
+	  tests/Polyhedron/Makefile.am,
+	  tests/Polyhedron/bgp99extrapolation1.cc,
+	  tests/Polyhedron/bgp99extrapolation2.cc,
+	  tests/Polyhedron/containsintegerpoint1.cc,
+	  tests/Polyhedron/memory1.cc, tests/Polyhedron/memory2.cc,
+	  tests/Polyhedron/polydifference1.cc,
+	  tests/Polyhedron/polyhullifexact1.cc,
+	  tests/Polyhedron/polyhullifexact2.cc,
+	  tests/Polyhedron/simplifyusingcontext1.cc,
+	  tests/Powerset/Makefile.am, tests/Powerset/addcongruences1.cc,
+	  tests/Powerset/addconstraints1.cc,
+	  tests/Powerset/affinedimension1.cc,
+	  tests/Powerset/affineimage1.cc,
+	  tests/Powerset/affinepreimage1.cc, tests/Powerset/bounded1.cc,
+	  tests/Powerset/bounds1.cc, tests/Powerset/closed1.cc,
+	  tests/Powerset/closure1.cc, tests/Powerset/collapse1.cc,
+	  tests/Powerset/concatenate1.cc, tests/Powerset/contains1.cc,
+	  tests/Powerset/containsintegerpoint1.cc,
+	  tests/Powerset/difference1.cc, tests/Powerset/discrete1.cc,
+	  tests/Powerset/disjoint1.cc, tests/Powerset/disjunct1.cc,
+	  tests/Powerset/empty1.cc, tests/Powerset/entails1.cc,
+	  tests/Powerset/equals1.cc, tests/Powerset/frombdshape1.cc,
+	  tests/Powerset/frombox1.cc, tests/Powerset/fromcongruences1.cc,
+	  tests/Powerset/fromconstraints1.cc, tests/Powerset/fromgrid1.cc,
+	  tests/Powerset/fromoctagonalshape1.cc,
+	  tests/Powerset/frompolyhedron1.cc,
+	  tests/Powerset/fromspacedimension1.cc,
+	  tests/Powerset/intersection1.cc, tests/Powerset/maxmin1.cc,
+	  tests/Powerset/meet1.cc, tests/Powerset/membytes1.cc,
+	  tests/Powerset/pointsetpowerset1.cc,
+	  tests/Powerset/pointsetpowerset2.cc,
+	  tests/Powerset/pointsetpowerset3.cc,
+	  tests/Powerset/pointsetpowerset4.cc,
+	  tests/Powerset/pointsetpowerset5.cc,
+	  tests/Powerset/pointsetpowerset6.cc, tests/Powerset/product1.cc,
+	  tests/Powerset/reduce1.cc, tests/Powerset/refinewith1.cc,
+	  tests/Powerset/relationwith1.cc, tests/Powerset/size1.cc,
+	  tests/Powerset/spacedims1.cc, tests/Powerset/universe1.cc,
+	  tests/Powerset/upperbound1.cc
+	  (bounded_arithmetic.[2,3,3,2,3,2,2,3,3,3,2,2,3,3,3,3,2,2,2,3,2,3,3,2,3,3,3,3,2,2,4,3,3,1,3,3,2,2,3,3,2,1,4,2,3,3,3,3,3,3,2,3,2,3,3,3,3,3,3,3,3,2,3,3,4,2,3,3,3,2,3,3,3,3,4,4,4,4,3,4,4,4,4,4,4,3,4,4,3,2,3,3,2,1,3,2,3,2,2,4,3,2,2,3,3,3,2,3,3,3,2,1,3,3,3,2,2,3,3,3,1,1,3,3,2,3,1,2,1,1,3,1,1,2,3,2,2,1,2,1,1,1,3,3,2,3,3,3,2,1,2,1,3,3,1,2,2,3,2,3,1,3,2,2,1,1,3,3,3,1,1,4,2,3,4,3,2,1,1,1,1,1,2,2,3,3,2,3,1,2,3,2,2,2,1,1,1,2,2,2,2,3,2,2,3,2,1,2,2,2,2,3,2,2,2,2,2,3,1,3,3,4,1,2,1,2,2,2,2,2,3,4,2,2, [...]
+	  Third merge of the trunk to the bounded_arithmetic branch.
+
+2008-12-13 Saturday 11:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.64): Added missing inclusions.
+
+2008-12-05 Friday 07:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec (1.29): Added `%dir %{_datadir}/doc/pwl' to the
+	  `%files' section of the `ppl-pwl' package.
+
+2008-12-01 Monday 18:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BDS_Status.inlines.hh (1.20), Box_Status.inlines.hh (1.4),
+	  Grid_Status.cc (1.10), Og_Status.inlines.hh (1.7), Ph_Status.cc
+	  (1.16): Dealt with several false-alarm warnings about possibly
+	  uninitialized variables.
+
+2008-12-01 Monday 17:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.411): Fixed the definition of
+	  BUILD_OCAML_INTERFACE.
+
+2008-12-01 Monday 11:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/NNC_Polyhedron.cc (1.29): Restored old implementation of
+	  method poly_hull_assign_if_exact(), as the algorithm in BFT00TR
+	  does not generalizes as is to the NNC case.
+
+2008-12-01 Monday 11:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/polyhullifexact2.cc (1.2): Added another test,
+	  showing that the algorithm in BFT00 can not be extented as is to
+	  NNC polyhedra.
+
+2008-12-01 Monday 11:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/polyhullifexact2.cc (bounded_arithmetic.1): file
+	  polyhullifexact2.cc was added on branch bounded_arithmetic on
+	  2008-12-16 06:57:36 +0000
+
+2008-11-30 Sunday 21:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/configure.ac (1.57): Postpone the AC_LIB_RPATH test.
+
+2008-11-30 Sunday 08:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.410): Removed "AC_SUBST([docdir],
+	  ['${datadir}/doc/ppl'])": given that we require Autoconf 2.60 or
+	  later version, this was redundant.  Moreover, it did not allow to
+	  use the `--docdir' configure option.	(Thanks to Mike Frysinger.)
+
+2008-11-27 Thursday 18:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/MIP_Problem.cc (1.78): Indentation fixed.
+
+2008-11-26 Wednesday 18:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_nonpublic.cc (1.92): Wrong comment deleted.
+
+2008-11-26 Wednesday 18:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Scalar_Products.cc (1.11): Indentation fixed.
+
+2008-11-25 Tuesday 20:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.134), bgp99extrapolation1.cc
+	  (1.15), bgp99extrapolation2.cc (1.9): Test file
+	  bgp99extrapolation1.cc splitted in two: old test02 goes in file
+	  bgp99extrapoaltion2.cc and is now specialized to C and NNC cases,
+	  so as to allow a finer control of the expected overflows.
+
+2008-11-25 Tuesday 20:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/bgp99extrapolation2.cc (bounded_arithmetic.1):
+	  file bgp99extrapolation2.cc was added on branch
+	  bounded_arithmetic on 2008-12-16 06:57:36 +0000
+
+2008-11-25 Tuesday 20:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/polyhullifexact1.cc (1.4): test09() triggers an
+	  overflow when using on 8-bit checked integers.
+
+2008-11-25 Tuesday 20:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/polyhullifexact1.cc (bounded_arithmetic.1): file
+	  polyhullifexact1.cc was added on branch bounded_arithmetic on
+	  2008-12-16 06:57:36 +0000
+
+2008-11-25 Tuesday 15:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.137), BD_Shape.inlines.hh (1.172),
+	  BD_Shape.templates.hh (1.127): Drafted an implementation of
+	  method BD_Shape::upper_bound_assign_if_exact(), based on
+	  Algorithm 4.1 in BemporadFT00TR (tailored to BD shapes).
+
+2008-11-25 Tuesday 15:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/: Makefile.am (1.84), upperboundifexact1.cc (1.1):
+	  Added a few tests for BD_Shape::upper_bound_assign_if_exact().
+
+2008-11-25 Tuesday 15:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/upperboundifexact1.cc (bounded_arithmetic.1): file
+	  upperboundifexact1.cc was added on branch bounded_arithmetic on
+	  2008-12-16 06:57:34 +0000
+
+2008-11-25 Tuesday 09:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_nonpublic.cc (1.91): Prefer Bit_Row::empty() to
+	  Bit_Row::count_ones() when testing for emptiness.
+
+2008-11-25 Tuesday 09:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.defs.hh (1.67): Fixed comment for
+	  Box::simplify_using_context_assign().
+
+2008-11-25 Tuesday 09:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.inlines.hh (1.42): Indentation fixed.
+
+2008-11-25 Tuesday 09:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh (1.126): Drafted implementation for
+	  incremental_shortest_path_closure_assign().
+
+2008-11-25 Tuesday 09:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh (1.99): Useless test for
+	  zero-dim removed from incremental_strong_closure_assign().
+
+2008-11-25 Tuesday 09:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.defs.hh (1.63): Improved the documentation of
+	  the incremental strong closure private method.
+
+2008-11-25 Tuesday 09:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.136): Declared a private method for
+	  incremental shortest-path closure.
+
+2008-11-25 Tuesday 08:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Powerset/difference1.cc (1.2): test03() no longer overflows
+	  on 8-bit checked integer coefficients.
+
+2008-11-25 Tuesday 08:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/difference1.cc (bounded_arithmetic.1): file
+	  difference1.cc was added on branch bounded_arithmetic on
+	  2008-12-16 06:57:37 +0000
+
+2008-11-24 Monday 21:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Row.inlines.hh (1.10): Fixed Bit_Row::count_ones().
+
+2008-11-24 Monday 18:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.133), polyhullifexact1.cc
+	  (1.3), polyhullifexact2.cc (1.1): Tests that are specific for
+	  NNC_Polyhedron placed in a separate file, for which we do not
+	  produce the derived nnc test.
+
+2008-11-24 Monday 18:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/polyhullifexact1.cc (1.2): Added a few tests
+	  that are specific for the NNC_Polyhedron case.
+
+2008-11-24 Monday 18:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/NNC_Polyhedron.cc (1.28): Method
+	  NNC_Polyhedron::poly_hull_assign_if_exact() is now implemented
+	  using Polyhedron::BFT00_poly_hull_assign_if_exact().
+
+2008-11-24 Monday 17:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh (1.359), Polyhedron_nonpublic.cc (1.90):
+	  Implementation of BFT00_poly_hull_assign_if_exact() generalized
+	  so as to correctly deal with the case of NNC polyhedra.
+
+2008-11-24 Monday 15:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Box.templates.hh (1.137): Unwanted code removed.
+
+2008-11-24 Monday 12:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/C_Polyhedron.cc (1.28): Method
+	  C_Polyhedron::poly_hull_assign_if_exact() is now implemented
+	  using Polyhedron::BFT00_poly_hull_assign_if_exact().
+
+2008-11-24 Monday 12:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh (1.358), Polyhedron_nonpublic.cc (1.89):
+	  Added protected method BFT00_poly_hull_assign_if_exact(),
+	  implementing (a variant of) an algorithm for the recognition of
+	  convex unions originally proposed by Bemporad, Fukuda and Torrisi
+	  in 2000.
+
+2008-11-24 Monday 11:41  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.132), polyhullifexact1.cc
+	  (1.1): Added tests for method poly_hull_assign_if_exact().
+
+2008-11-24 Monday 10:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Box.templates.hh (1.136), src/Grid_Generator.defs.hh (1.36),
+	  tests/Box/fromgrid1.cc (1.8): The implementation of the Box from
+	  Grid constructor has been modified to use Grid::maximize() to
+	  check if a dimension is bounded and no longer needs
+	  Grid_Generator to declare the Box class as a friend.	The
+	  FIXME(0.10.1) wrt this has been removed.
+
+2008-11-24 Monday 09:37  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.281): Report bug fix corrected in previous commit.
+
+2008-11-24 Monday 09:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid_nonpublic.cc (1.40): Corrected private method bounds()
+	  whereby it did not correctly deal with the case when the grid
+	  generators were up-to-date but not minimized. This corrects the
+	  bugs shown in the previous commit.
+
+2008-11-24 Monday 09:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/: bounds1.cc (1.18), maxmin1.cc (1.16): Tests added
+	  that show a bug in bounds_from_above(), bounds_from_below(),
+	  maximize(), and minimize() in the Grids class.
+
+2008-11-22 Saturday 13:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Partially_Reduced_Product.defs.hh (1.39),
+	  src/Partially_Reduced_Product.inlines.hh (1.37),
+	  src/Partially_Reduced_Product.templates.hh (1.16),
+	  tests/Partially_Reduced_Product/directproduct6.cc (1.4): When
+	  building from another product with different component domains
+	  and/or reduction operator, allow for any component domains and in
+	  any order.
+
+	  When building a product always check the space dimensions are no
+	  more than max_space_dimensions().
+
+	  Correct some comments in the Partially_Reduced_Product.defs.hh.
+
+	  A few tests added to test these code changes.
+
+2008-11-22 Saturday 10:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/simplifyusingcontext1.cc (1.3): Removed some
+	  commented out, useless code (it was the result of cut&paste from
+	  another test). Added known result for test01 and check against
+	  it.  Renumbered tests.
+
+2008-11-21 Friday 22:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/tests/Makefile.am (1.27): Also set
+	  nodist_ppl_ocaml_generated_test_opt_SOURCES.
+
+2008-11-21 Friday 10:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/: Makefile.am (1.65), tests/Makefile.am (1.26):
+	  Let the stack size limit for native compilation be as generous as
+	  that for bytecode compilation.
+
+2008-11-20 Thursday 22:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.280), TODO (1.295): The OCaml interface now supports
+	  compilation to native code.  Also mentioned in the NEWS the
+	  correction of an OCaml interface bug.
+
+2008-11-20 Thursday 22:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/README.ocaml (1.7): Added a few lines explaining
+	  how to use the OCaml interface with the native compiler ocamlopt.
+
+2008-11-20 Thursday 22:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/Makefile.am (1.64): List libppl_ocaml.a in
+	  variable pkglib_LIBRARIES (removing it from variables
+	  noinst_LIBRARIES and ocaml_DATA).  When building the native OCaml
+	  interface, do generate, install and clean the library file
+	  ppl_ocaml.a.
+
+2008-11-20 Thursday 21:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/: Makefile.am (1.63), tests/Makefile.am (1.25):
+	  Avoid using OCaml (bytecode/native) compiler option -g.  Do also
+	  clean *.o files generated by ocamlopt.
+
+2008-11-20 Thursday 17:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.inlines.hh (1.171), Octagonal_Shape.inlines.hh
+	  (1.42): Two bogus TODOs changed into (urgent) FIXMEs.
+
+2008-11-20 Thursday 14:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/tests/Makefile.am (1.24): Build and run the
+	  bytecode/native OCaml tests depending on the availability of the
+	  bytecode/native OCaml compilers.
+
+2008-11-20 Thursday 14:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/Makefile.am (1.62): Build the bytecode/native
+	  OCaml interfaces depending on the availability of the
+	  bytecode/native OCaml compilers (and corresponding mlgmp
+	  libraries).
+
+2008-11-20 Thursday 13:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
+	  (1.62), ppl_interface_generator_ocaml_ml_code.m4 (1.52),
+	  tests/ppl_interface_generator_ocaml_test_ml_code.m4 (1.21):
+	  Corrected a bug in the code for the OCaml function
+	  ppl_Grid_generalized_affine_(pre)image_with_congruence; also
+	  corrected corresponding test.
+
+2008-11-20 Thursday 13:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* configure.ac (1.409): Check whether or not the OCaml native
+	  compiler ocamlopt is available.
+
+2008-11-20 Thursday 13:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Partially_Reduced_Product.templates.hh (1.15): Avoid reducing
+	  the product where it is not essential.
+
+2008-11-20 Thursday 08:53  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.279): Added a note concerning the correction of a bug in
+	  the Partially_Reduced_Product<>::time_elapse_assign().
+
+2008-11-20 Thursday 08:40  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Partially_Reduced_Product.inlines.hh (1.36),
+	  tests/Partially_Reduced_Product/partiallyreducedproduct2.cc
+	  (1.4): In the time_elapse, both components must be reduced before
+	  doing the operation. The clear_reduced_flag() after the operation
+	  removed and the tagged FIXME removed.
+
+	  Test added showing an example that is only correct if the second
+	  component is also reduced.
+
+2008-11-19 Wednesday 22:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.294): Added several new items.
+
+2008-11-19 Wednesday 21:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Partially_Reduced_Product.inlines.hh (1.35): Restored the
+	  clear_reduced_flag() for the time_elapse_assign.  FIXME also
+	  restored as this still needs checking.
+
+2008-11-19 Wednesday 20:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.149): Added missing verb in comment.
+
+2008-11-19 Wednesday 10:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: Partially_Reduced_Product.defs.hh (1.38),
+	  Partially_Reduced_Product.inlines.hh (1.34): Several tagged
+	  FIXME's removed.  CHECKME Comment for the widening operation
+	  modified to confirm that this _is_ a widening for the products as
+	  provided here.
+
+2008-11-19 Wednesday 08:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Partially_Reduced_Product/shrinkusingcongruences1.cc
+	  (products.1): file shrinkusingcongruences1.cc was added on branch
+	  products on 2009-01-05 13:54:39 +0000
+
+2008-11-19 Wednesday 08:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Partially_Reduced_Product.defs.hh (1.37),
+	  src/Partially_Reduced_Product.inlines.hh (1.33),
+	  src/Partially_Reduced_Product.templates.hh (1.14),
+	  src/Partially_Reduced_Product.types.hh (1.5),
+	  tests/Partially_Reduced_Product/Makefile.am (1.8),
+	  tests/Partially_Reduced_Product/shrinkusingcongruences1.cc (1.2):
+	  Removed previously added reduction method.
+
+2008-11-18 Tuesday 15:53  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Partially_Reduced_Product.defs.hh (1.36),
+	  src/Partially_Reduced_Product.inlines.hh (1.32),
+	  src/Partially_Reduced_Product.templates.hh (1.13),
+	  src/Partially_Reduced_Product.types.hh (1.4),
+	  tests/Partially_Reduced_Product/Makefile.am (1.7),
+	  tests/Partially_Reduced_Product/shrinkusingcongruences1.cc (1.1):
+	  Added a reduction method Shrink_Using_Congruences_Reduction<> and
+	  the product Shrink_Using_Congruences_Product<> that assumes this
+	  reduction.
+
+2008-11-18 Tuesday 14:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.278): Mention bug fix for
+	  Polyhedron::contains_integer_point().
+
+2008-11-18 Tuesday 14:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.148): Added a couple of comments
+	  regarding the recently corrected bug in contains_integer_point().
+
+2008-11-18 Tuesday 13:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/containsintegerpoint1.cc (bounded_arithmetic.1):
+	  file containsintegerpoint1.cc was added on branch
+	  bounded_arithmetic on 2008-12-16 06:57:37 +0000
+
+2008-11-18 Tuesday 13:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	*
+	  interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl_code.m4
+	  (1.11),
+	  interfaces/Prolog/tests/ppl_prolog_generated_test_common.pl
+	  (1.2), tests/Powerset/Makefile.am (1.12),
+	  tests/Powerset/containsintegerpoint1.cc (1.1): Corrected some m4
+	  code that resulted in wrongly named test predicates.	Corrected
+	  expected answers for tests that checked properties such as
+	  "is_empty()".  Added tests for the contains_integer_point() for
+	  the Pointset_Powerset domain.
+
+2008-11-18 Tuesday 13:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Polyhedron/containsintegerpoint1.cc (1.5),
+	  src/Polyhedron_public.cc (1.147): Several bugs in code for
+	  contains_integer_point() fixed.  Added new tests that showed the
+	  bugs.  Uncommented some tests.
+
+2008-11-18 Tuesday 08:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.146): Corrected typo in comment.
+
+2008-11-17 Monday 17:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.277): Recorded the fix solving the `make check' problem
+	  when the `--disable-watchdog' configure option is used.
+
+2008-11-17 Monday 17:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.131): The sources for test
+	  memory1 should be distributed unconditionally (i.e., even when
+	  valgrind tests are disabled).
+
+2008-11-17 Monday 17:41  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/MIP_Problem/Makefile.am (1.13): Test mipproblem2 should be
+	  built iff the watchdog library is enabled.
+
+2008-11-16 Sunday 21:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Powerset/Makefile.am (1.11): Typo fixed.
+
+2008-11-14 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/addcongruences1.cc (bounded_arithmetic.1): file
+	  addcongruences1.cc was added on branch bounded_arithmetic on
+	  2008-12-16 06:57:37 +0000
+
+2008-11-14 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/addconstraints1.cc (bounded_arithmetic.1): file
+	  addconstraints1.cc was added on branch bounded_arithmetic on
+	  2008-12-16 06:57:37 +0000
+
+2008-11-14 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/affinedimension1.cc (bounded_arithmetic.1): file
+	  affinedimension1.cc was added on branch bounded_arithmetic on
+	  2008-12-16 06:57:37 +0000
+
+2008-11-14 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/affineimage1.cc (bounded_arithmetic.1): file
+	  affineimage1.cc was added on branch bounded_arithmetic on
+	  2008-12-16 06:57:37 +0000
+
+2008-11-14 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/affinepreimage1.cc (bounded_arithmetic.1): file
+	  affinepreimage1.cc was added on branch bounded_arithmetic on
+	  2008-12-16 06:57:37 +0000
+
+2008-11-14 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/bounded1.cc (bounded_arithmetic.1): file
+	  bounded1.cc was added on branch bounded_arithmetic on 2008-12-16
+	  06:57:37 +0000
+
+2008-11-14 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/bounds1.cc (bounded_arithmetic.1): file bounds1.cc
+	  was added on branch bounded_arithmetic on 2008-12-16 06:57:37
+	  +0000
+
+2008-11-14 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/closed1.cc (bounded_arithmetic.1): file closed1.cc
+	  was added on branch bounded_arithmetic on 2008-12-16 06:57:37
+	  +0000
+
+2008-11-14 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/closure1.cc (bounded_arithmetic.1): file
+	  closure1.cc was added on branch bounded_arithmetic on 2008-12-16
+	  06:57:37 +0000
+
+2008-11-14 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/collapse1.cc (bounded_arithmetic.1): file
+	  collapse1.cc was added on branch bounded_arithmetic on 2008-12-16
+	  06:57:37 +0000
+
+2008-11-14 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/concatenate1.cc (bounded_arithmetic.1): file
+	  concatenate1.cc was added on branch bounded_arithmetic on
+	  2008-12-16 06:57:37 +0000
+
+2008-11-14 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/contains1.cc (bounded_arithmetic.1): file
+	  contains1.cc was added on branch bounded_arithmetic on 2008-12-16
+	  06:57:37 +0000
+
+2008-11-14 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/discrete1.cc (bounded_arithmetic.1): file
+	  discrete1.cc was added on branch bounded_arithmetic on 2008-12-16
+	  06:57:37 +0000
+
+2008-11-14 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/disjoint1.cc (bounded_arithmetic.1): file
+	  disjoint1.cc was added on branch bounded_arithmetic on 2008-12-16
+	  06:57:37 +0000
+
+2008-11-14 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/disjunct1.cc (bounded_arithmetic.1): file
+	  disjunct1.cc was added on branch bounded_arithmetic on 2008-12-16
+	  06:57:37 +0000
+
+2008-11-14 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/empty1.cc (bounded_arithmetic.1): file empty1.cc
+	  was added on branch bounded_arithmetic on 2008-12-16 06:57:37
+	  +0000
+
+2008-11-14 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/entails1.cc (bounded_arithmetic.1): file
+	  entails1.cc was added on branch bounded_arithmetic on 2008-12-16
+	  06:57:37 +0000
+
+2008-11-14 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/equals1.cc (bounded_arithmetic.1): file equals1.cc
+	  was added on branch bounded_arithmetic on 2008-12-16 06:57:37
+	  +0000
+
+2008-11-14 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/fromconstraints1.cc (bounded_arithmetic.1): file
+	  fromconstraints1.cc was added on branch bounded_arithmetic on
+	  2008-12-16 06:57:37 +0000
+
+2008-11-14 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/fromspacedimension1.cc (bounded_arithmetic.1):
+	  file fromspacedimension1.cc was added on branch
+	  bounded_arithmetic on 2008-12-16 06:57:37 +0000
+
+2008-11-14 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/intersection1.cc (bounded_arithmetic.1): file
+	  intersection1.cc was added on branch bounded_arithmetic on
+	  2008-12-16 06:57:37 +0000
+
+2008-11-14 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/maxmin1.cc (bounded_arithmetic.1): file maxmin1.cc
+	  was added on branch bounded_arithmetic on 2008-12-16 06:57:37
+	  +0000
+
+2008-11-14 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/meet1.cc (bounded_arithmetic.1): file meet1.cc was
+	  added on branch bounded_arithmetic on 2008-12-16 06:57:37 +0000
+
+2008-11-14 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/membytes1.cc (bounded_arithmetic.1): file
+	  membytes1.cc was added on branch bounded_arithmetic on 2008-12-16
+	  06:57:37 +0000
+
+2008-11-14 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/reduce1.cc (bounded_arithmetic.1): file reduce1.cc
+	  was added on branch bounded_arithmetic on 2008-12-16 06:57:37
+	  +0000
+
+2008-11-14 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/refinewith1.cc (bounded_arithmetic.1): file
+	  refinewith1.cc was added on branch bounded_arithmetic on
+	  2008-12-16 06:57:37 +0000
+
+2008-11-14 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/relationwith1.cc (bounded_arithmetic.1): file
+	  relationwith1.cc was added on branch bounded_arithmetic on
+	  2008-12-16 06:57:37 +0000
+
+2008-11-14 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/size1.cc (bounded_arithmetic.1): file size1.cc was
+	  added on branch bounded_arithmetic on 2008-12-16 06:57:37 +0000
+
+2008-11-14 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/spacedims1.cc (bounded_arithmetic.1): file
+	  spacedims1.cc was added on branch bounded_arithmetic on
+	  2008-12-16 06:57:37 +0000
+
+2008-11-14 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/universe1.cc (bounded_arithmetic.1): file
+	  universe1.cc was added on branch bounded_arithmetic on 2008-12-16
+	  06:57:37 +0000
+
+2008-11-14 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/upperbound1.cc (bounded_arithmetic.1): file
+	  upperbound1.cc was added on branch bounded_arithmetic on
+	  2008-12-16 06:57:37 +0000
+
+2008-11-14 Friday 12:16  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/: Box/Makefile.am (1.78), Box/pointsetpowerset1.cc (1.9),
+	  Polyhedron/polydifference1.cc (1.15), Powerset/Makefile.am
+	  (1.10), Powerset/addcongruences1.cc (1.1),
+	  Powerset/addconstraints1.cc (1.1), Powerset/affinedimension1.cc
+	  (1.1), Powerset/affineimage1.cc (1.1),
+	  Powerset/affinepreimage1.cc (1.1), Powerset/bounded1.cc (1.1),
+	  Powerset/bounds1.cc (1.1), Powerset/closed1.cc (1.1),
+	  Powerset/closure1.cc (1.1), Powerset/collapse1.cc (1.1),
+	  Powerset/concatenate1.cc (1.1), Powerset/contains1.cc (1.1),
+	  Powerset/difference1.cc (1.1), Powerset/discrete1.cc (1.1),
+	  Powerset/disjoint1.cc (1.1), Powerset/disjunct1.cc (1.1),
+	  Powerset/empty1.cc (1.1), Powerset/entails1.cc (1.1),
+	  Powerset/equals1.cc (1.1), Powerset/fromconstraints1.cc (1.2),
+	  Powerset/fromspacedimension1.cc (1.2), Powerset/intersection1.cc
+	  (1.1), Powerset/maxmin1.cc (1.1), Powerset/meet1.cc (1.1),
+	  Powerset/membytes1.cc (1.1), Powerset/pointsetpowerset1.cc (1.3),
+	  Powerset/pointsetpowerset2.cc (1.3),
+	  Powerset/pointsetpowerset3.cc (1.3),
+	  Powerset/pointsetpowerset4.cc (1.3),
+	  Powerset/pointsetpowerset5.cc (1.3), Powerset/product1.cc (1.2),
+	  Powerset/reduce1.cc (1.1), Powerset/refinewith1.cc (1.1),
+	  Powerset/relationwith1.cc (1.1), Powerset/size1.cc (1.1),
+	  Powerset/spacedims1.cc (1.1), Powerset/universe1.cc (1.1),
+	  Powerset/upperbound1.cc (1.1): Completed a reorganization of the
+	  tests for the Powerset domains.
+
+2008-11-12 Wednesday 20:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/Makefile.am (1.34): On Darwin, avoid the
+	  `-module' Libtool flag for building the `libppl_java' library.
+
+2008-11-12 Wednesday 17:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/Makefile.am (1.9): Wrong file names fixed.
+
+2008-11-12 Wednesday 10:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/frombdshape1.cc (bounded_arithmetic.1): file
+	  frombdshape1.cc was added on branch bounded_arithmetic on
+	  2008-12-16 06:57:37 +0000
+
+2008-11-12 Wednesday 10:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/frombox1.cc (bounded_arithmetic.1): file
+	  frombox1.cc was added on branch bounded_arithmetic on 2008-12-16
+	  06:57:37 +0000
+
+2008-11-12 Wednesday 10:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/fromcongruences1.cc (bounded_arithmetic.1): file
+	  fromcongruences1.cc was added on branch bounded_arithmetic on
+	  2008-12-16 06:57:37 +0000
+
+2008-11-12 Wednesday 10:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/fromgrid1.cc (bounded_arithmetic.1): file
+	  fromgrid1.cc was added on branch bounded_arithmetic on 2008-12-16
+	  06:57:37 +0000
+
+2008-11-12 Wednesday 10:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/fromoctagonalshape1.cc (bounded_arithmetic.1):
+	  file fromoctagonalshape1.cc was added on branch
+	  bounded_arithmetic on 2008-12-16 06:57:37 +0000
+
+2008-11-12 Wednesday 10:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/frompolyhedron1.cc (bounded_arithmetic.1): file
+	  frompolyhedron1.cc was added on branch bounded_arithmetic on
+	  2008-12-16 06:57:37 +0000
+
+2008-11-12 Wednesday 10:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/: BD_Shape/Makefile.am (1.83),
+	  BD_Shape/pointsetpowerset1.cc (1.6), Box/Makefile.am (1.77),
+	  Box/pointsetpowerset2.cc (1.4), Grid/Makefile.am (1.74),
+	  Grid/pointsetpowerset1.cc (1.5), Octagonal_Shape/Makefile.am
+	  (1.37), Octagonal_Shape/pointsetpowerset1.cc (1.5),
+	  Powerset/Makefile.am (1.8), Powerset/frombdshape1.cc (1.1),
+	  Powerset/frombox1.cc (1.1), Powerset/fromcongruences1.cc (1.1),
+	  Powerset/fromconstraints1.cc (1.1), Powerset/fromgrid1.cc (1.1),
+	  Powerset/fromoctagonalshape1.cc (1.1),
+	  Powerset/frompolyhedron1.cc (1.1),
+	  Powerset/fromspacedimension1.cc (1.1),
+	  Powerset/pointsetpowerset6.cc (1.2): Started reorganising the
+	  tests for the powerset domains and moving all tests on the
+	  powersets into the Powerset directory
+
+2008-11-11 Tuesday 18:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_swi_prolog.m4 (1.18): Added a reference to a bug
+	  report against Fedora's `pl' package.
+
+2008-11-11 Tuesday 09:40  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: Grid.defs.hh (1.86), Grid.templates.hh (1.40),
+	  Grid_conversion.cc (1.25), Grid_simplify.cc (1.41): Removed the
+	  STRONG_REDUCTION macro and added comments where the code
+	  implements the extra reduction needed for the strong minimal
+	  form.
+
+2008-11-11 Tuesday 07:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4 (1.35),
+	  ppl_interface_generator_common_dat.m4 (1.93),
+	  Java/ppl_interface_generator_java_procedure_generators.m4 (1.12),
+	  Java/jni/ppl_interface_generator_java_classes_cc_code.m4 (1.32),
+	  Java/jni/ppl_interface_generator_java_classes_cc_files.m4 (1.8),
+	  Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java.m4
+	  (1.7), OCaml/ppl_interface_generator_ocaml_hh_files.m4 (1.4),
+	  OCaml/tests/ppl_interface_generator_ocaml_test_ml.m4 (1.4),
+	  Prolog/XSB/ppl_interface_generator_xsb_prolog_generated_test_P.m4
+	  (1.4),
+	  Prolog/tests/ppl_interface_generator_prolog_generated_test_pl.m4
+	  (1.4): Improved handling of the patterns with a consequential
+	  improvement to the speed of the m4 processing of the interface
+	  files.
+
+2008-11-10 Monday 21:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/swi_efli.cc (1.5), src/BD_Shape.inlines.hh
+	  (1.170), src/BD_Shape.templates.hh (1.125),
+	  src/Bit_Row.inlines.hh (1.9), src/Box.inlines.hh (1.41),
+	  src/Box.templates.hh (1.135), src/Generator.inlines.hh (1.65),
+	  src/Grid_public.cc (1.90), src/Interval.inlines.hh (1.44),
+	  src/Interval_Restriction.defs.hh (1.15), src/MIP_Problem.cc
+	  (1.77), src/Octagonal_Shape.inlines.hh (1.41),
+	  src/Octagonal_Shape.templates.hh (1.98),
+	  src/Polyhedron_nonpublic.cc (1.88), src/Polyhedron_public.cc
+	  (1.145), src/Temp.inlines.hh (1.6), src/checked.inlines.hh
+	  (1.52), src/checked_int.inlines.hh (1.73),
+	  src/checked_mpz.inlines.hh (1.60), src/conversion.cc (1.88),
+	  src/globals.defs.hh (1.62), src/math_utilities.inlines.hh (1.4):
+	  DIRTY_TEMP* macros renamed with the "PPL_" prefix.  A couple of
+	  other improvements related to the proper use of Coefficient
+	  objects.
+
+2008-11-10 Monday 19:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Partially_Reduced_Product.templates.hh (1.12): Use
+	  PPL_DIRTY_TEMP_COEFFICIENT whenever possible.
+
+2008-11-10 Monday 19:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Powerset.templates.hh (1.45): Use
+	  PPL_DIRTY_TEMP_COEFFICIENT whenever possible.
+
+2008-11-10 Monday 19:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/ppl_interface_generator_common_procedure_generators.m4
+	  (1.45): Corrected typo in a comment.
+
+2008-11-10 Monday 19:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/OCaml_interface.dox (1.7): Small correction.
+
+2008-11-10 Monday 18:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.276), src/globals.defs.hh (1.61): Macro
+	  PPL_DIRTY_TEMP_COEFFICIENT properly commented.  Notice that this
+	  is now part of the C++ interface, hence its introduction is
+	  mentioned in the NEWS file.
+
+2008-11-10 Monday 08:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	  (1.31), interfaces/Java/jni/ppl_java_common.cc (1.53),
+	  interfaces/Java/jni/ppl_java_common.inlines.hh (1.5),
+	  interfaces/Java/jni/ppl_java_globals.cc (1.26),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.61),
+	  interfaces/OCaml/ppl_ocaml_common.cc (1.7),
+	  interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4
+	  (1.21), interfaces/Prolog/ppl_prolog_common.cc (1.13),
+	  interfaces/Prolog/ppl_prolog_common.defs.hh (1.11),
+	  src/BD_Shape.templates.hh (1.124), src/Box.templates.hh (1.134),
+	  src/Congruence.cc (1.22), src/Congruence_System.cc (1.31),
+	  src/Constraint.cc (1.71), src/Generator.cc (1.78),
+	  src/Generator_System.cc (1.28), src/Grid.inlines.hh (1.30),
+	  src/Grid.templates.hh (1.39), src/Grid_Generator.cc (1.24),
+	  src/Grid_Generator_System.cc (1.22), src/Grid_conversion.cc
+	  (1.24), src/Grid_nonpublic.cc (1.39), src/Grid_public.cc (1.89),
+	  src/Grid_simplify.cc (1.40), src/Linear_Expression.cc (1.21),
+	  src/Linear_Row.cc (1.26), src/MIP_Problem.cc (1.76),
+	  src/Matrix.cc (1.99), src/Octagonal_Shape.templates.hh (1.97),
+	  src/Pointset_Powerset.cc (1.25),
+	  src/Pointset_Powerset.templates.hh (1.44),
+	  src/Polyhedron.templates.hh (1.22), src/Polyhedron_nonpublic.cc
+	  (1.87), src/Polyhedron_public.cc (1.144),
+	  src/Polyhedron_widenings.cc (1.69), src/Row.cc (1.106),
+	  src/Scalar_Products.inlines.hh (1.8), src/conversion.cc (1.87),
+	  src/globals.defs.hh (1.60), src/math_utilities.inlines.hh (1.3),
+	  tests/Grid/partition1.cc (1.9): Macro TEMP_INTEGER renamed
+	  PPL_DIRTY_TEMP_COEFFICIENT.
+
+2008-11-10 Monday 07:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked.inlines.hh (1.51): Macro COPY_GMP renamed
+	  PPL_MATCH_GMP_GCDEXT and undefined after use.
+
+2008-11-09 Sunday 21:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.inlines.hh (1.86): COND* macros renamed with
+	  the "PPL_" prefix and undefined after their use.
+
+2008-11-09 Sunday 21:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Checked_Number.defs.hh (1.102), Float.defs.hh (1.33),
+	  checked.defs.hh (1.51), checked_float.inlines.hh (1.99),
+	  checked_numeric_limits.hh (1.23): NAN macro renamed with the
+	  "PPL_" prefix and undefined after its use.
+
+2008-11-09 Sunday 20:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Boundary.defs.hh (1.15), Interval.defs.hh (1.61),
+	  Interval_Restriction.defs.hh (1.14), globals.defs.hh (1.59),
+	  meta_programming.hh (1.12), ppl_header.hh (1.13):
+	  COMPILE_TIME_CHECK* macros renamed with the "PPL_" prefix and
+	  undefined at the end of the library's C++ interface header file.
+
+2008-11-09 Sunday 19:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked.defs.hh (1.50): The `nonconst' macro is now defined
+	  and undefined in a completely safe way.
+
+2008-11-09 Sunday 18:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Rounding_Dir.inlines.hh (1.10), fpu-c99.inlines.hh (1.22),
+	  fpu-ia32.inlines.hh (1.22), fpu-sparc.inlines.hh (1.12): Macros
+	  FPU_DOWNWARD, FPU_TONEAREST, FPU_TOWARDZERO and FPU_UPWARD
+	  renamed with the "PPL_" prefix and undefined after their use.
+
+2008-11-09 Sunday 14:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_int.inlines.hh (1.72): ASSIGN* macros renamed with
+	  the "PPL_" prefix and undefined after their use.
+
+2008-11-09 Sunday 14:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: checked.defs.hh (1.49), checked.inlines.hh (1.50):
+	  FUNCTION_CLASS macro renamed with the "PPL_" prefix and undefined
+	  after its use.  Long source lines avoided.
+
+2008-11-09 Sunday 12:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked.defs.hh (1.48): DEF_FUN* macros renamed with the
+	  "PPL_" prefix and undefined after their use.
+
+2008-11-09 Sunday 12:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.inlines.hh (1.85): DEF_ASSIGN_* macros renamed
+	  with the "PPL_" prefix and undefined after their use.
+
+2008-11-09 Sunday 12:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: checked.defs.hh (1.47), checked_float.inlines.hh (1.98),
+	  checked_int.inlines.hh (1.71), checked_mpq.inlines.hh (1.48),
+	  checked_mpz.inlines.hh (1.59), ppl_header.hh (1.12): SPECIALIZE_*
+	  macros renamed with the "PPL_" prefix and undefined at the end of
+	  the library's C++ interface header file.
+
+2008-11-09 Sunday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked.inlines.hh (1.49): Macro `safe_conversion' renamed
+	  `PPL_SAFE_CONVERSION' and #undef'ined after its use.
+
+2008-11-09 Sunday 11:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.275): Robustness has been improved.
+
+2008-11-09 Sunday 09:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: DB_Row.inlines.hh (1.25), Row.inlines.hh (1.69): Use
+	  std::numeric_limits<size_t>::max() instead of size_t(-1).
+
+2008-11-09 Sunday 09:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/simplify.cc (1.55): Took into account that no checks for
+	  possible overflows are made in the implementation of new
+	  expressions.
+
+2008-11-09 Sunday 08:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/OR_Matrix.inlines.hh (1.14): No longer use
+	  compute_capacity(dimension_type requested_size).
+
+2008-11-08 Saturday 21:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: globals.defs.hh (1.58), globals.inlines.hh (1.25),
+	  simplify.cc (1.54): No longer use compute_capacity(dimension_type
+	  requested_size), now removed.
+
+2008-11-08 Saturday 20:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/: ascii_dump_load1.cc (1.11), empty1.cc (1.7),
+	  refinewithconstraint1.cc (1.4): More FIXMEs tagged with
+	  "(0.10.1)".
+
+2008-11-07 Friday 16:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (1.293), interfaces/ppl_interface_generator_common.m4
+	  (1.34), interfaces/ppl_interface_generator_common_dat.m4 (1.92),
+	  interfaces/ppl_interface_generator_common_procedure_generators.m4
+	  (1.44), interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.55),
+	  interfaces/C/ppl_interface_generator_c_cc_files.m4 (1.14),
+	  interfaces/C/ppl_interface_generator_c_h_code.m4 (1.48),
+	  interfaces/C/ppl_interface_generator_c_hh_files.m4 (1.10),
+	  interfaces/C/ppl_interface_generator_c_procedure_generators.m4
+	  (1.14),
+	  interfaces/Java/ppl_interface_generator_java_procedure_generators.m4
+	  (1.11),
+	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	  (1.30),
+	  interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java.m4
+	  (1.6),
+	  interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
+	  (1.16),
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java.m4
+	  (1.21),
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.51), interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4
+	  (1.60),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_cc_files.m4 (1.4),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_hh_files.m4 (1.3),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4 (1.20),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.51),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4 (1.24),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4
+	  (1.42),
+	  interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m4
+	  (1.20), interfaces/Prolog/Prolog_interface.dox (1.181),
+	  interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4
+	  (1.20),
+	  interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4
+	  (1.11), interfaces/Prolog/ppl_interface_generator_prolog_dox.m4
+	  (1.12),
+	  interfaces/Prolog/ppl_interface_generator_prolog_dox_code.m4
+	  (1.14),
+	  interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4
+	  (1.15),
+	  interfaces/Prolog/ppl_interface_generator_prolog_hh_files.m4
+	  (1.10),
+	  interfaces/Prolog/ppl_interface_generator_prolog_procedure_generators.m4
+	  (1.7), interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4
+	  (1.10),
+	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_prolog_generated_test_pl.m4
+	  (1.3),
+	  interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4
+	  (1.9),
+	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
+	  (1.15),
+	  interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
+	  (1.20), interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4
+	  (1.11), interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4
+	  (1.17), interfaces/Prolog/XSB/ppl_interface_generator_xsb_hh.m4
+	  (1.2),
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_prolog_generated_test_P.m4
+	  (1.3), interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4
+	  (1.12),
+	  interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl.m4
+	  (1.3),
+	  interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl_code.m4
+	  (1.10): The core ppl_interface_generator_common.m4 file has been
+	  completely reorganised, macros improved and comments revised and
+	  added.  Note that alternative patterns and replacements now have
+	  a simple _a_ or _b_ extension instead of _alt_ or _cppx_.  To
+	  change the case of a word, use "!" instead of "L" or "U" before
+	  the pattern.
+
+	  The macros in the core file are organised into groups and a
+	  comment summarises the call structure between the groups.  Each
+	  macro is labelled to indicate if it is used locally, just in this
+	  file but by a macro in another group, or if it is public and may
+	  be used by other code generating m4 files.  Suggestions for
+	  further improving the macro descriptions are welcome.
+
+	  The complementary file  ppl_interface_generator_common.m4_dat
+	  file that contains the common data and some macros for generating
+	  the basic class names, the patterns and their replacements is
+	  improved and some redundant things removed.  Commenting is not
+	  improved but much of the structure here is simpler and existing
+	  comments provide a lot of information already.
+
+	  The changes to these files has meant that changes to all the m4
+	  files in the interfaces directory was required.
+
+	  These changes seem to make the m4 generation slightly more
+	  efficient - but the improvement appears to be less that 10% and
+	  disappointing.
+
+2008-11-06 Thursday 08:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.292), src/BD_Shape.templates.hh (1.123),
+	  src/Box.inlines.hh (1.40), src/Box.templates.hh (1.133),
+	  src/Checked_Number.inlines.hh (1.84), src/DB_Matrix.templates.hh
+	  (1.10), src/Determinate.inlines.hh (1.59), src/Grid.templates.hh
+	  (1.38), src/Grid_Generator.defs.hh (1.35), src/Grid_public.cc
+	  (1.88), src/Init.cc (1.38), src/Interval.inlines.hh (1.43),
+	  src/Interval_Restriction.defs.hh (1.13),
+	  src/Linear_Expression.inlines.hh (1.15), src/MIP_Problem.cc
+	  (1.75), src/OR_Matrix.inlines.hh (1.13),
+	  src/OR_Matrix.templates.hh (1.9),
+	  src/Octagonal_Shape.templates.hh (1.96),
+	  src/Partially_Reduced_Product.inlines.hh (1.31),
+	  src/Pointset_Ask_Tell.templates.hh (1.15),
+	  src/Pointset_Powerset.templates.hh (1.43), src/checked.inlines.hh
+	  (1.48), src/checked_mpz.inlines.hh (1.58), src/globals.defs.hh
+	  (1.57), src/globals.inlines.hh (1.24): Tagged the FIXMEs that
+	  should be fixed before the PPL 0.10.1 release.
+
+2008-11-06 Thursday 08:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.291), doc/libppl.3 (1.14), tests/Polyhedron/memory2.cc
+	  (1.19): Use malloc(), realloc() and free() instead of operator
+	  new() and operator delete() to implement the replacement GMP
+	  allocation functions.
+
+2008-11-05 Wednesday 22:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/memory1.cc (1.20): Use malloc(), realloc() and
+	  free() instead of operator new() and operator delete() to
+	  implement the replacement GMP allocation functions.
+
+2008-11-05 Wednesday 21:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.290), demos/ppl_lcdd/ppl_lcdd.1 (1.7),
+	  demos/ppl_lpsol/ppl_lpsol.1 (1.8), demos/ppl_lpsol/ppl_lpsol.c
+	  (1.91), doc/libppl.3 (1.13), doc/libppl_c.3 (1.4),
+	  doc/ppl-config.1 (1.14): Made `ppl_lpsol --help' and `ppl_lcdd
+	  --help' consistent.  Man pages updated.
+
+2008-11-05 Wednesday 19:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.274): Added a section for 0.10.1.
+
+2008-11-05 Wednesday 19:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.408): Version number bumped.
+
+2008-11-05 Wednesday 19:23  Abramo Bagnara
+
+	* devtools/print_nonascii_lines (1.3): Added \007 e \015.
+
+2008-11-05 Wednesday 19:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/print_nonascii_lines (bounded_arithmetic.1): file
+	  print_nonascii_lines was added on branch bounded_arithmetic on
+	  2008-12-16 06:57:19 +0000
+
+2008-11-05 Wednesday 19:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.273), STANDARDS (1.42): Stick to ASCII.
+
+2008-11-05 Wednesday 19:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: BD_Shape/Makefile.am (1.82), Box/Makefile.am (1.76),
+	  Octagonal_Shape/Makefile.am (1.36): Add dirty_marker to
+	  DISTCLEANFILES.  (Thanks to Michael Tautschnig for poiting this
+	  out.)
+
+2008-11-05 Wednesday 19:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/print_nonascii_lines (1.2): Print also the line number.
+
+2008-11-05 Wednesday 19:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* Watchdog/doc/Makefile.am (1.8), doc/Makefile.am (1.100): Doxygen
+	  configuration files are generated by the configure script, so
+	  that they don't have to be listed in EXTRA_DIST.  (Thanks to
+	  Michael Tautschnig for pointing this out.)
+
+2008-11-05 Wednesday 19:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Makefile.am (1.191): Source file ppl-config.cc is generated
+	  by the configure script, hence it should not be distributed: list
+	  it in nodist_ppl_config_SOURCES.  (Thanks to Michael Tautschnig
+	  for pointing out this problem.)
+
+2008-11-04 Tuesday 18:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec (1.28): Fixed the requirements of the `ppl-java'
+	  package.
+
+2008-11-04 Tuesday 15:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/print_nonascii_lines (1.1): One-liner to print lines
+	  containing non-ASCII characters.
+
+2008-11-04 Tuesday 14:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec (1.27): Changelog updated.  Added m4 >= 1.4.8 to
+	  build requirements.
+
+2008-11-04 Tuesday 10:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (ppl-0_10-branch.1): Update version.
+
+2008-11-04 Tuesday 10:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/ChangeLog, ChangeLog (ppl-0_10-branch.[1,1]): Mark
+	  ChangeLog.
+
+2008-11-04 Tuesday 10:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (ppl-0_10-branch.1), TODO (1.289): Use ASCII only.
+
+2008-11-04 Tuesday 09:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.34), Watchdog/ChangeLog (1.24): Updated.
+
+2008-11-03 Monday 21:17  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* CREDITS (1.41): Similar changes to those in credits.raw.
+
+2008-11-03 Monday 20:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* README (1.56), configure.ac (1.407), doc/Makefile.am (1.99),
+	  doc/definitions.dox (1.226),
+	  doc/devref-foreign-language-interface.doxyconf.in (1.6),
+	  doc/devref-foreign-language-interface.tex (1.4),
+	  doc/devref-language-interface.doxyconf.in (1.1),
+	  doc/devref-language-interface.tex (1.1),
+	  doc/user-foreign-language-interface.doxyconf.in (1.7),
+	  doc/user-foreign-language-interface.tex (1.4),
+	  doc/user-language-interface.doxyconf.in (1.1),
+	  doc/user-language-interface.tex (1.1): Renamed a few
+	  documentation-related helper files.
+
+2008-11-03 Monday 19:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.272): Wording improved.
+
+2008-11-03 Monday 19:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/: interfaced_boxes.hh (1.5), marked_pointers.hh (1.3):
+	  Comments improved.
+
+2008-11-03 Monday 19:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Poly_Con_Relation.defs.hh (1.37), Poly_Gen_Relation.defs.hh
+	  (1.35), namespaces.hh (1.17): Improved some comments.
+
+2008-11-03 Monday 18:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* CREDITS (1.40): Just list (without numbering them) supporting
+	  projects and organizations.
+
+2008-11-03 Monday 18:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* CREDITS (1.39): A couple of fixes to indentation.
+
+2008-11-03 Monday 18:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS (1.38): Alphabetical ordering restored.
+
+2008-11-03 Monday 18:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/version.cc (1.15): Jose Morales added to the "special thanks"
+	  section.
+
+2008-11-03 Monday 16:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am (1.98): Corrected the command for generating the
+	  configuration-dependent HTML manuals for the OCaml interface:
+	  HTML files generated by ocamldoc are now placed in the ocamldoc
+	  subdir.
+
+2008-11-03 Monday 14:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/version.cc (1.14): Synchronized with the CREDITS file.
+
+2008-11-03 Monday 14:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.406): Version number bumped.
+
+2008-11-03 Monday 14:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS (1.37): Backported Enric's entry from the `polynomials'
+	  branch.
+
+2008-11-03 Monday 13:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS (1.36): Finished harmonization with the Credits web page.
+
+2008-11-03 Monday 11:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am (1.97): A couple of FIXME dealt with (i.e., just
+	  removed): the INPUT Doxygen variable for the user foreing
+	  language interface documentation seems to be OK as is.
+
+2008-11-03 Monday 11:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Grid.defs.hh (1.85): Specify which constraints are optimally
+	  supported by the grid domain.
+
+2008-11-03 Monday 10:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Box.defs.hh (1.66), Octagonal_Shape.defs.hh (1.62): In the
+	  detailed documentation for class Box, explain which constraints
+	  and congruences are optimally supported (some delegation to the
+	  template argument class is required). Simplify the docs for teh
+	  add_* methods.
+
+2008-11-03 Monday 10:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.135), Octagonal_Shape.defs.hh (1.61):
+	  In the detailed documentation for Octagonal_Shape, say explicitly
+	  which constraints/congruences are optimally supported. Exploiting
+	  this, simplify the documentation for methods add_*.
+
+2008-11-03 Monday 10:03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.134): Documentation improved: we now say
+	  explicitly in the detailed class documentation which are the
+	  constraints/congruences that are optimally supported; as a
+	  consequence, the docs for the add_* methods can be simplified by
+	  saying that an exception is thorwn if the argument is not
+	  optimally supported.
+
+2008-11-03 Monday 09:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* INSTALL (1.13), Watchdog/INSTALL (1.10): Previous commit
+	  reverted.
+
+2008-11-03 Monday 09:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS (1.35): Continued harmonization with the Credits web
+	  page.
+
+2008-11-03 Monday 09:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* README.arm (1.2): Some nels changes.
+
+2008-11-03 Monday 08:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* Watchdog/INSTALL (1.9): Same changes as in previous commit for
+	  the top-level ppl INSTALL file.
+
+2008-11-03 Monday 08:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* INSTALL (1.12): Removed a comma and an nels change from "not
+	  widely useful" to "not often used".
+
+2008-11-03 Monday 08:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* README.configure (1.42): Spelling bugs fixed.
+
+2008-11-03 Monday 08:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.271): Added an item for the C interface wrt the change
+	  for less_than* and greater_than* (and added a note wrt this for
+	  the similar item for the C++ interface).
+
+2008-11-03 Monday 00:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.270): Wording improved.
+
+2008-11-02 Sunday 23:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/tests/test1.ml (1.16): FIXME resolved.
+
+2008-11-02 Sunday 23:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.288): New item for PPL 0.10.1.
+
+2008-11-02 Sunday 21:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS (1.34): Started harmonization with the Credits web page.
+
+2008-11-02 Sunday 16:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/README.gprolog (1.7): Unwanted slash
+	  removed.  Indentation changed so as to make the example
+	  compilation command clearer.
+
+2008-11-02 Sunday 16:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/GNU/README.gprolog (1.6): Revised the example
+	  compilation command so that the compiler knows where to look, at
+	  run-time, for the libppl_gprolog library .
+
+2008-11-02 Sunday 16:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* CREDITS (1.33): A few small changes.
+
+2008-11-02 Sunday 15:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid.templates.hh (1.37): Comment improved.
+
+2008-11-02 Sunday 12:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.sty (1.29): Comment indentation fixed.
+
+2008-11-02 Sunday 11:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/: Makefile.am (1.87), README.gprolog (1.5):
+	  Whenever possible, statically link `ppl_gprolog' with
+	  `libppl_gprolog'.
+
+2008-11-02 Sunday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/Makefile.am (1.105): Comment improved.
+
+2008-11-02 Sunday 08:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/: Makefile.am (1.104), README.swiprolog
+	  (1.4): Made sure `ppl_pl' is as simple to use as possible by
+	  linking it statically with `libppl_swiprolog', whenever possible.
+	  Explained what to do in other cases.
+
+2008-11-01 Saturday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS (1.32): This file must be ASCII.
+
+2008-11-01 Saturday 18:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec (1.26): Restored the default instantiations.
+
+2008-11-01 Saturday 18:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec (1.25): Reorganized the contents of the `ppl' and
+	  `ppl-devel' packages.
+
+2008-11-01 Saturday 16:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.287): Added an item for PPL 0.10.1.
+
+2008-11-01 Saturday 16:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am (1.96): Only install foreign language interface
+	  manauls if they have been enabled.  Also improved the uninstall
+	  rule for PDF and PS docs.
+
+2008-11-01 Saturday 16:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.1 (1.6), demos/ppl_lpsol/ppl_lpsol.1
+	  (1.7), doc/ppl-config.1 (1.13): Version number set to 0.10.
+
+2008-11-01 Saturday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.55), Watchdog/README (1.20): Updated.
+
+2008-11-01 Saturday 15:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec (1.24): Temporarily disabled the OCaml packages,
+	  since there is no MLGMP package for Fedora.
+
+2008-11-01 Saturday 14:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/: Ciao/Makefile.am (1.88), GNU/Makefile.am
+	  (1.86), SICStus/Makefile.am (1.101), SWI/Makefile.am (1.103),
+	  XSB/Makefile.am (1.81): List `-no-undefined' among the per-module
+	  LDFLAGS when `NO_UNDEFINED_FLAG' is set.
+
+2008-11-01 Saturday 14:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/jni/Makefile.am (1.33): List `-no-undefined'
+	  among the per-module LDFLAGS when `NO_UNDEFINED_FLAG' is set.
+
+2008-11-01 Saturday 13:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec (1.23): Removed the `yap-static' subpackage.
+
+2008-11-01 Saturday 13:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/Makefile.am (1.71): YAP only supports
+	  dynamic loading of foreign modules: do not waste time building a
+	  static library.
+
+2008-11-01 Saturday 12:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/: user.doxyconf-html.in (1.6),
+	  user.doxyconf-latex.in (1.6): Do not produce the collaboration
+	  graph in the user docs, as this graph contains implementation
+	  info.
+
+2008-11-01 Saturday 12:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec (1.22): It is no longer necessary to remove empty
+	  *.map files in the HTML documentation directories.
+
+2008-11-01 Saturday 11:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/Makefile.am (1.32): Avoid compiling any
+	  source for the static version of `libppl_java' (which we do not
+	  need).
+
+2008-11-01 Saturday 10:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec (1.21): New subpackage `java-javadoc', as per the
+	  Fedora packaging guidelines.
+
+2008-11-01 Saturday 10:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: user-foreign-language-interface.doxyconf.in (1.6),
+	  user.doxyconf-html.in (1.45), user.doxyconf-latex.in (1.16): Do
+	  not produce the collaboration graph in th euser docs, as this
+	  graph contains implementation info.
+
+2008-11-01 Saturday 09:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.1 (1.5), demos/ppl_lpsol/ppl_lpsol.1
+	  (1.6), doc/ppl-config.1 (1.12): Regenerated so as to bump the
+	  month.
+
+2008-11-01 Saturday 09:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Partially_Reduced_Product.defs.hh (1.35),
+	  Pointset_Powerset.defs.hh (1.56): In the documentation, corrected
+	  several "brief" into "\brief".
+
+2008-11-01 Saturday 08:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec (1.20): Remove the empty *.map files produced by
+	  Doxygen.
+
+2008-10-31 Friday 22:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/Makefile.am (1.31): Added
+	  `libppl_java_la_LIBTOOLFLAGS=--tag=disable-static'.  This avoids
+	  installing the (useless) static library `libppl_java.a', but not
+	  the overhead for building it (see
+	  http://lists.gnu.org/archive/html/libtool/2008-10/msg00079.html).
+
+2008-10-31 Friday 22:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec (1.19): Package the PWL documentation in the
+	  `ppl-pwl-docs' subpackage.  Package also the new man pages.
+
+2008-10-31 Friday 21:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec (1.18): Files section for the `ppl-java'
+	  subpackage tightened.
+
+2008-10-31 Friday 21:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/Makefile.am (1.30): Added `-module' and
+	  `-avoid-version' to `libppl_java_la_LDFLAGS'.
+
+2008-10-31 Friday 21:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec (1.17): Package more documentation.
+
+2008-10-31 Friday 21:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec (1.16): Release field fixed.
+
+2008-10-31 Friday 20:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec (1.15): Version set to 0.10.	Untabified.
+
+2008-10-31 Friday 19:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.33), Watchdog/ChangeLog (1.23): Updated.
+
+2008-10-31 Friday 18:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS (1.31): Use the UTF-8 encoding.
+
+2008-10-31 Friday 17:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec (1.14): Comment fixed.  Package also `ppl_c.m4'.
+
+2008-10-31 Friday 17:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec (1.13): Fixed the `ppl-java' file section.
+
+2008-10-31 Friday 17:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec (1.12): Use `--enable-interfaces' so as to enable
+	  the needed and only the needed interfaces.
+
+2008-10-31 Friday 16:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/Makefile.am (1.25): Distribute also README.java.
+
+2008-10-31 Friday 16:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/Makefile.am (1.61): Distribute also
+	  README.ocaml.
+
+2008-10-31 Friday 16:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec (1.11): Fixed the path of PWL's README.doc.
+
+2008-10-31 Friday 16:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec (1.10): Disable rpath completely also for the
+	  PWL.
+
+2008-10-31 Friday 15:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: config.rpath (1.1), configure.ac (1.56),
+	  m4/Makefile.am (1.5), m4/lib-ld.m4 (1.1), m4/lib-link.m4 (1.1):
+	  Added the `--disable-rpath' option to the configuration script.
+	  The definition of `m4macros' in `Makefile.am' had several
+	  omissions: fixed.
+
+2008-10-31 Friday 13:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.269): Reorganised, duplicate item removed, subheadings
+	  added and the section on foreign language interfaces split into
+	  separate items.  A few other minor changes.
+
+2008-10-31 Friday 12:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/README.java (1.2): Improved.
+
+2008-10-31 Friday 11:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.268): Added two items.
+
+2008-10-31 Friday 10:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec (1.9): Added a `%files' section for the `java'
+	  subpackage.
+
+2008-10-31 Friday 10:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure (1.41), interfaces/Java/README.java (1.1): Added
+	  a truly minimal README.java.
+
+2008-10-31 Friday 08:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/Makefile.am (1.29): List `libppl_java.la' in
+	  `pkglib_LTLIBRARIES', not `lib_LTLIBRARIES'.
+
+2008-10-31 Friday 08:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec (1.8): Added a java subpackage.
+
+2008-10-30 Thursday 16:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec (1.7): BuildRoot amended as per the Fedora
+	  packaging guidelines.
+
+2008-10-30 Thursday 14:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec (1.6): Manual merge of the changes done in the
+	  version stored in Fedora repository.
+
+2008-10-29 Wednesday 21:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS, ChangeLog, Makefile.am, NEWS, README, README.arm,
+	  README.configure, STANDARDS, TODO, config.guess, config.sub,
+	  configure.ac, instchk.hh, Watchdog/ChangeLog,
+	  Watchdog/Makefile.am, Watchdog/NEWS, Watchdog/README,
+	  Watchdog/config.guess, Watchdog/config.sub,
+	  Watchdog/configure.ac, Watchdog/doc/Makefile.am,
+	  Watchdog/doc/devref.doxyconf-html.in,
+	  Watchdog/doc/devref.doxyconf-latex.in,
+	  Watchdog/doc/user.doxyconf-html.in,
+	  Watchdog/doc/user.doxyconf-latex.in, Watchdog/m4/Makefile.am,
+	  Watchdog/m4/ax_prefix_config_h.m4,
+	  Watchdog/src/Doubly_Linked_Object.defs.hh,
+	  Watchdog/src/Doubly_Linked_Object.inlines.hh,
+	  Watchdog/src/EList.defs.hh, Watchdog/src/EList.inlines.hh,
+	  Watchdog/src/EList_Iterator.defs.hh,
+	  Watchdog/src/EList_Iterator.inlines.hh,
+	  Watchdog/src/Handler.defs.hh, Watchdog/src/Handler.inlines.hh,
+	  Watchdog/src/Makefile.am, Watchdog/src/Pending_Element.cc,
+	  Watchdog/src/Pending_Element.defs.hh,
+	  Watchdog/src/Pending_Element.inlines.hh,
+	  Watchdog/src/Pending_List.cc, Watchdog/src/Pending_List.defs.hh,
+	  Watchdog/src/Pending_List.inlines.hh, Watchdog/src/Time.cc,
+	  Watchdog/src/Time.defs.hh, Watchdog/src/Time.inlines.hh,
+	  Watchdog/src/Watchdog.cc, Watchdog/src/Watchdog.defs.hh,
+	  Watchdog/src/Watchdog.inlines.hh, Watchdog/src/pwl_header.hh,
+	  Watchdog/tests/.cvsignore, Watchdog/tests/Makefile.am,
+	  Watchdog/tests/pwl_test.cc, Watchdog/tests/pwl_test.hh,
+	  Watchdog/tests/simple1.cc, Watchdog/tests/valgrind_suppressions,
+	  Watchdog/utils/Makefile.am, debian/Makefile.am,
+	  demos/Makefile.am, demos/ppl_lcdd/Makefile.am,
+	  demos/ppl_lcdd/ppl_lcdd.1, demos/ppl_lcdd/ppl_lcdd.cc,
+	  demos/ppl_lcdd/ppl_lcdd_extra_man_text,
+	  demos/ppl_lpsol/Makefile.am, demos/ppl_lpsol/expected_int16,
+	  demos/ppl_lpsol/expected_int16_a, demos/ppl_lpsol/expected_int32,
+	  demos/ppl_lpsol/expected_int32_a, demos/ppl_lpsol/expected_int64,
+	  demos/ppl_lpsol/expected_int64_a, demos/ppl_lpsol/expected_int8,
+	  demos/ppl_lpsol/expected_int8_a, demos/ppl_lpsol/expected_mpz,
+	  demos/ppl_lpsol/ppl_lpsol.1, demos/ppl_lpsol/ppl_lpsol.c,
+	  demos/ppl_lpsol/ppl_lpsol_extra_man_text, devtools/.cvsignore,
+	  devtools/bump_copyright_years, devtools/cvs2cl.pl,
+	  devtools/generate_dox_biblio, devtools/generate_dox_biblio.sed,
+	  devtools/generate_dox_ci_prolog_manual,
+	  devtools/generate_man_pages, devtools/update_ChangeLog,
+	  doc/Makefile.am, doc/README.doc, doc/bib2dox, doc/bib2html1.sed,
+	  doc/bib2html2.sed, doc/definitions.dox,
+	  doc/devref-c-interface.doxyconf-html.in,
+	  doc/devref-c-interface.doxyconf-latex.in,
+	  doc/devref-c-interface.tex,
+	  doc/devref-foreign-language-interface.doxyconf.in,
+	  doc/devref-foreign-language-interface.tex,
+	  doc/devref-java-interface.doxyconf-html.in,
+	  doc/devref-java-interface.doxyconf-latex.in,
+	  doc/devref-java-interface.tex,
+	  doc/devref-ocaml-interface.doxyconf-html.in,
+	  doc/devref-ocaml-interface.doxyconf-latex.in,
+	  doc/devref-ocaml-interface.tex,
+	  doc/devref-prolog-interface.doxyconf-html.in,
+	  doc/devref-prolog-interface.doxyconf-latex.in,
+	  doc/devref-prolog-interface.tex, doc/devref.doxyconf-html.in,
+	  doc/devref.doxyconf-latex.in, doc/devref.tex,
+	  doc/interfaces-html.sed, doc/interfaces-latex.sed, doc/libppl.3,
+	  doc/libppl_c.3, doc/ppl-config.1, doc/ppl-config_extra_man_text,
+	  doc/ppl_lcdd.1, doc/ppl_lcdd_extra_man_text, doc/ppl_lpsol.1,
+	  doc/ppl_lpsol_extra_man_text, doc/prog2man,
+	  doc/user-c-interface.doxyconf-html.in,
+	  doc/user-c-interface.doxyconf-latex.in, doc/user-c-interface.tex,
+	  doc/user-foreign-language-interface.doxyconf.in,
+	  doc/user-foreign-language-interface.tex,
+	  doc/user-java-interface.doxyconf-html.in,
+	  doc/user-java-interface.doxyconf-latex.in,
+	  doc/user-java-interface.tex,
+	  doc/user-ocaml-interface.doxyconf-html.in,
+	  doc/user-ocaml-interface.doxyconf-latex.in,
+	  doc/user-ocaml-interface.tex,
+	  doc/user-prolog-interface.doxyconf-html.in,
+	  doc/user-prolog-interface.doxyconf-latex.in,
+	  doc/user-prolog-interface.tex, doc/user.doxyconf-html.in,
+	  doc/user.doxyconf-latex.in, doc/user.tex, fedora/Makefile.am,
+	  interfaces/Makefile.am, interfaces/README.interfaces,
+	  interfaces/marked_pointers.hh,
+	  interfaces/ppl_interface_generator_common.m4,
+	  interfaces/ppl_interface_generator_common_dat.m4,
+	  interfaces/ppl_interface_generator_common_procedure_generators.m4,
+	  interfaces/C/C_interface.dox, interfaces/C/Makefile.am,
+	  interfaces/C/ppl_c.h.in, interfaces/C/ppl_c_header.h,
+	  interfaces/C/ppl_c_implementation_common.cc,
+	  interfaces/C/ppl_c_implementation_common.defs.hh,
+	  interfaces/C/ppl_c_implementation_common.inlines.hh,
+	  interfaces/C/ppl_c_version.h.in,
+	  interfaces/C/ppl_interface_generator_c_cc.m4,
+	  interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	  interfaces/C/ppl_interface_generator_c_cc_files.m4,
+	  interfaces/C/ppl_interface_generator_c_cc_preamble,
+	  interfaces/C/ppl_interface_generator_c_h.m4,
+	  interfaces/C/ppl_interface_generator_c_h_code.m4,
+	  interfaces/C/ppl_interface_generator_c_h_preamble,
+	  interfaces/C/ppl_interface_generator_c_hh_files.m4,
+	  interfaces/C/ppl_interface_generator_c_procedure_generators.m4,
+	  interfaces/C/tests/.cvsignore, interfaces/C/tests/Makefile.am,
+	  interfaces/C/tests/cxxoutput.c, interfaces/C/tests/ppl_c_test.cc,
+	  interfaces/C/tests/ppl_c_test.h,
+	  interfaces/C/tests/print_to_buffer.cc,
+	  interfaces/C/tests/print_to_buffer.h,
+	  interfaces/Java/Makefile.am,
+	  interfaces/Java/ppl_interface_generator_java_dox.m4,
+	  interfaces/Java/ppl_interface_generator_java_dox_code.m4,
+	  interfaces/Java/ppl_interface_generator_java_procedure_generators.m4,
+	  interfaces/Java/ppl_java_common_dox,
+	  interfaces/Java/jni/Makefile.am,
+	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4,
+	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_files.m4,
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4,
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4,
+	  interfaces/Java/jni/ppl_java_common.cc,
+	  interfaces/Java/jni/ppl_java_common.defs.hh,
+	  interfaces/Java/jni/ppl_java_common.hh,
+	  interfaces/Java/jni/ppl_java_common.inlines.hh,
+	  interfaces/Java/jni/ppl_java_globals.cc,
+	  interfaces/Java/parma_polyhedra_library/.cvsignore,
+	  interfaces/Java/parma_polyhedra_library/By_Reference.java,
+	  interfaces/Java/parma_polyhedra_library/Coefficient.java,
+	  interfaces/Java/parma_polyhedra_library/Complexity_Class.java,
+	  interfaces/Java/parma_polyhedra_library/Congruence.java,
+	  interfaces/Java/parma_polyhedra_library/Congruence_System.java,
+	  interfaces/Java/parma_polyhedra_library/Constraint.java,
+	  interfaces/Java/parma_polyhedra_library/Constraint_System.java,
+	  interfaces/Java/parma_polyhedra_library/Control_Parameter_Name.java,
+	  interfaces/Java/parma_polyhedra_library/Control_Parameter_Value.java,
+	  interfaces/Java/parma_polyhedra_library/Degenerate_Element.java,
+	  interfaces/Java/parma_polyhedra_library/Domain_Error_Exception.java,
+	  interfaces/Java/parma_polyhedra_library/Fake_Class_for_Doxygen.java,
+	  interfaces/Java/parma_polyhedra_library/Generator.java,
+	  interfaces/Java/parma_polyhedra_library/Generator_System.java,
+	  interfaces/Java/parma_polyhedra_library/Generator_Type.java,
+	  interfaces/Java/parma_polyhedra_library/Grid_Generator.java,
+	  interfaces/Java/parma_polyhedra_library/Grid_Generator_System.java,
+	  interfaces/Java/parma_polyhedra_library/Grid_Generator_Type.java,
+	  interfaces/Java/parma_polyhedra_library/Invalid_Argument_Exception.java,
+	  interfaces/Java/parma_polyhedra_library/Length_Error_Exception.java,
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression.java,
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficient.java,
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Difference.java,
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java,
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.java,
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Unary_Minus.java,
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.java,
+	  interfaces/Java/parma_polyhedra_library/Logic_Error_Exception.java,
+	  interfaces/Java/parma_polyhedra_library/MIP_Problem.java,
+	  interfaces/Java/parma_polyhedra_library/MIP_Problem_Status.java,
+	  interfaces/Java/parma_polyhedra_library/Makefile.am,
+	  interfaces/Java/parma_polyhedra_library/Optimization_Mode.java,
+	  interfaces/Java/parma_polyhedra_library/Overflow_Error_Exception.java,
+	  interfaces/Java/parma_polyhedra_library/PPL_Object.java,
+	  interfaces/Java/parma_polyhedra_library/Pair.java,
+	  interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.java,
+	  interfaces/Java/parma_polyhedra_library/Partial_Function.java,
+	  interfaces/Java/parma_polyhedra_library/Poly_Con_Relation.java,
+	  interfaces/Java/parma_polyhedra_library/Poly_Gen_Relation.java,
+	  interfaces/Java/parma_polyhedra_library/Relation_Symbol.java,
+	  interfaces/Java/parma_polyhedra_library/Variable.java,
+	  interfaces/Java/parma_polyhedra_library/Variables_Set.java,
+	  interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java.m4,
+	  interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4,
+	  interfaces/Java/tests/C_Polyhedron_test1.java,
+	  interfaces/Java/tests/MIP_Problem_test1.java,
+	  interfaces/Java/tests/Makefile.am,
+	  interfaces/Java/tests/NNC_Polyhedron_test1.java,
+	  interfaces/Java/tests/PPL_Test.java,
+	  interfaces/Java/tests/Parma_Polyhedra_Library_test1.java,
+	  interfaces/Java/tests/Test_Executor.java,
+	  interfaces/Java/tests/Test_Partial_Function.java,
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java.m4,
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4,
+	  interfaces/Java/tests/ppl_java_tests_common,
+	  interfaces/OCaml/Makefile.am,
+	  interfaces/OCaml/OCaml_interface.dox,
+	  interfaces/OCaml/README.ocaml,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_cc.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_cc_files.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_hh_code.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_hh_files.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators.m4,
+	  interfaces/OCaml/ppl_ocaml_common.cc,
+	  interfaces/OCaml/ppl_ocaml_common.defs.hh,
+	  interfaces/OCaml/ppl_ocaml_common.inlines.hh,
+	  interfaces/OCaml/ppl_ocaml_globals.cc,
+	  interfaces/OCaml/ppl_ocaml_globals.ml,
+	  interfaces/OCaml/ppl_ocaml_globals.mli,
+	  interfaces/OCaml/ppl_ocaml_types.ml,
+	  interfaces/OCaml/tests/Makefile.am,
+	  interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml.m4,
+	  interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m4,
+	  interfaces/OCaml/tests/ppl_ocaml_tests_common,
+	  interfaces/OCaml/tests/test1.ml, interfaces/Prolog/Makefile.am,
+	  interfaces/Prolog/Prolog_interface.dox,
+	  interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_dox.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_dox_code.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_hh_files.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_procedure_generators.m4,
+	  interfaces/Prolog/ppl_prolog_common.cc,
+	  interfaces/Prolog/ppl_prolog_common.defs.hh,
+	  interfaces/Prolog/ppl_prolog_common.inlines.hh,
+	  interfaces/Prolog/ppl_prolog_sysdep_dox,
+	  interfaces/Prolog/ppl_prolog_sysindep_dox,
+	  interfaces/Prolog/Ciao/Makefile.am,
+	  interfaces/Prolog/Ciao/README.ciao,
+	  interfaces/Prolog/Ciao/ciao_cfli.hh,
+	  interfaces/Prolog/Ciao/ciao_efli.cc,
+	  interfaces/Prolog/Ciao/ciao_efli.hh,
+	  interfaces/Prolog/Ciao/ciao_pl_check.pl,
+	  interfaces/Prolog/Ciao/ppl_ciao.cc,
+	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4,
+	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4,
+	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_prolog_generated_test_pl.m4,
+	  interfaces/Prolog/Ciao/ppl_prolog_sysdep.hh,
+	  interfaces/Prolog/GNU/Makefile.am,
+	  interfaces/Prolog/GNU/README.gprolog,
+	  interfaces/Prolog/GNU/gnu_prolog_generated_test.pl,
+	  interfaces/Prolog/GNU/gprolog_cfli.hh,
+	  interfaces/Prolog/GNU/gprolog_efli.cc,
+	  interfaces/Prolog/GNU/gprolog_efli.hh,
+	  interfaces/Prolog/GNU/ppl_prolog_sysdep.hh,
+	  interfaces/Prolog/SICStus/Makefile.am,
+	  interfaces/Prolog/SICStus/ppl_prolog_sysdep.hh,
+	  interfaces/Prolog/SICStus/sicstus_efli.cc,
+	  interfaces/Prolog/SICStus/sicstus_efli.hh,
+	  interfaces/Prolog/SICStus/sp_predicate_check.pl,
+	  interfaces/Prolog/SICStus/sp_prolog_generated_test.pl,
+	  interfaces/Prolog/SWI/Makefile.am,
+	  interfaces/Prolog/SWI/ppl_prolog_sysdep.hh,
+	  interfaces/Prolog/SWI/swi_efli.cc,
+	  interfaces/Prolog/SWI/swi_efli.hh,
+	  interfaces/Prolog/SWI/swi_predicate_check.pl,
+	  interfaces/Prolog/SWI/swi_prolog_generated_test.pl,
+	  interfaces/Prolog/XSB/Makefile.am,
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4,
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_predicate_check_P.m4,
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_prolog_generated_test_P.m4,
+	  interfaces/Prolog/XSB/ppl_prolog_sysdep.hh,
+	  interfaces/Prolog/XSB/xsb_efli.cc,
+	  interfaces/Prolog/XSB/xsb_efli.hh,
+	  interfaces/Prolog/XSB/xsb_pl_check.P,
+	  interfaces/Prolog/YAP/Makefile.am,
+	  interfaces/Prolog/YAP/ppl_prolog_sysdep.hh,
+	  interfaces/Prolog/YAP/yap_efli.cc,
+	  interfaces/Prolog/YAP/yap_efli.hh,
+	  interfaces/Prolog/YAP/yap_prolog_generated_test.pl,
+	  interfaces/Prolog/tests/Makefile.am,
+	  interfaces/Prolog/tests/expected_clpq2_int16,
+	  interfaces/Prolog/tests/expected_clpq2_int16_a,
+	  interfaces/Prolog/tests/expected_clpq2_int8,
+	  interfaces/Prolog/tests/expected_clpq2_int8_a,
+	  interfaces/Prolog/tests/expected_pchk_int16,
+	  interfaces/Prolog/tests/expected_pchk_int16_a,
+	  interfaces/Prolog/tests/expected_pchk_int32,
+	  interfaces/Prolog/tests/expected_pchk_int32_a,
+	  interfaces/Prolog/tests/expected_pchk_int64_a,
+	  interfaces/Prolog/tests/expected_pchk_int8,
+	  interfaces/Prolog/tests/expected_pchk_int8_a,
+	  interfaces/Prolog/tests/expected_pgt,
+	  interfaces/Prolog/tests/pl_check.pl,
+	  interfaces/Prolog/tests/pl_grid_check.pl,
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4,
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4,
+	  interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl.m4,
+	  interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl_code.m4,
+	  interfaces/Prolog/tests/ppl_predicate_check_common.pl,
+	  interfaces/Prolog/tests/ppl_prolog_generated_test_common.pl,
+	  m4/Makefile.am, m4/ac_check_ciao.m4, m4/ac_check_fpu_control.m4,
+	  m4/ac_check_gmp.m4, m4/ac_cxx_double_binary_format.m4,
+	  m4/ac_cxx_double_exact_output.m4, m4/ac_cxx_flexible_arrays.m4,
+	  m4/ac_cxx_float_binary_format.m4,
+	  m4/ac_cxx_float_exact_output.m4, m4/ac_cxx_ieee_inexact_flag.m4,
+	  m4/ac_cxx_limit_memory.m4,
+	  m4/ac_cxx_long_double_binary_format.m4,
+	  m4/ac_cxx_long_double_exact_output.m4,
+	  m4/ac_cxx_proper_long_double.m4, m4/ac_cxx_remainder_bug.m4,
+	  m4/ax_prefix_config_h.m4, m4/lib-link.m4, m4/lib-prefix.m4,
+	  m4/ppl.m4, m4/ppl_c.m4, src/Any_Pointset.defs.hh,
+	  src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
+	  src/BD_Shape.templates.hh, src/Bit_Row.cc, src/Bit_Row.defs.hh,
+	  src/Box.defs.hh, src/Box.inlines.hh, src/Box.templates.hh,
+	  src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
+	  src/Congruence.cc, src/Congruence.defs.hh,
+	  src/Congruence_System.cc, src/Congruence_System.defs.hh,
+	  src/Constraint.defs.hh, src/Constraint_System.defs.hh,
+	  src/Float.defs.hh, src/Float.inlines.hh, src/Generator.defs.hh,
+	  src/Generator_System.defs.hh, src/Grid.defs.hh,
+	  src/Grid.inlines.hh, src/Grid_Generator.defs.hh,
+	  src/Grid_Generator_System.defs.hh, src/Grid_chdims.cc,
+	  src/Grid_nonpublic.cc, src/Grid_public.cc, src/Grid_widenings.cc,
+	  src/Init.cc, src/Interval.defs.hh, src/Interval.inlines.hh,
+	  src/Linear_Expression.defs.hh, src/MIP_Problem.cc,
+	  src/MIP_Problem.defs.hh, src/MIP_Problem.inlines.hh,
+	  src/MIP_Problem.templates.hh, src/Makefile.am,
+	  src/OR_Matrix.defs.hh, src/OR_Matrix.inlines.hh,
+	  src/Octagonal_Shape.defs.hh, src/Octagonal_Shape.inlines.hh,
+	  src/Octagonal_Shape.templates.hh, src/Og_Status.idefs.hh,
+	  src/Partially_Reduced_Product.defs.hh,
+	  src/Pointset_Ask_Tell.defs.hh, src/Pointset_Powerset.cc,
+	  src/Pointset_Powerset.defs.hh, src/Pointset_Powerset.inlines.hh,
+	  src/Pointset_Powerset.templates.hh, src/Polyhedron.defs.hh,
+	  src/Polyhedron.inlines.hh, src/Polyhedron_chdims.cc,
+	  src/Polyhedron_nonpublic.cc, src/Polyhedron_public.cc,
+	  src/Polyhedron_widenings.cc, src/Ptr_Iterator.defs.hh,
+	  src/Rounding_Dir.inlines.hh, src/Variables_Set.defs.hh,
+	  src/checked.cc, src/checked.defs.hh, src/checked.inlines.hh,
+	  src/checked_ext.inlines.hh, src/checked_float.inlines.hh,
+	  src/checked_int.inlines.hh, src/checked_mpq.inlines.hh,
+	  src/checked_mpz.inlines.hh, src/compiler.hh,
+	  src/fpu-c99.inlines.hh, src/fpu-none.inlines.hh, src/fpu.defs.hh,
+	  src/globals.defs.hh, src/namespaces.hh, src/ppl-config.cc.in,
+	  src/stdiobuf.cc, src/stdiobuf.defs.hh, src/stdiobuf.inlines.hh,
+	  src/stdiobuf.types.hh, src/version.cc, tests/FCAIBVP.cc,
+	  tests/FCAIBVP.defs.hh, tests/FCAIBVP.inlines.hh,
+	  tests/FCAIBVP.types.hh, tests/Makefile.am,
+	  tests/Partial_Function.cc, tests/Partial_Function.defs.hh,
+	  tests/Partial_Function.inlines.hh,
+	  tests/Partial_Function.types.hh, tests/README, tests/ppl_test.cc,
+	  tests/ppl_test.hh, tests/print.cc, tests/print.hh,
+	  tests/valgrind_suppressions, tests/Ask_Tell/Makefile.am,
+	  tests/BD_Shape/Makefile.am, tests/BD_Shape/affinepreimage1.cc,
+	  tests/BD_Shape/bdsdifference1.cc, tests/BD_Shape/bdshull1.cc,
+	  tests/BD_Shape/bhmz05widening1.cc,
+	  tests/BD_Shape/cc76extrapolation1.cc, tests/BD_Shape/closure1.cc,
+	  tests/BD_Shape/containsintegerpoint1.cc,
+	  tests/BD_Shape/difference1.cc, tests/BD_Shape/maxspacedim1.cc,
+	  tests/BD_Shape/membytes1.cc, tests/BD_Shape/pointsetpowerset1.cc,
+	  tests/BD_Shape/upperbound1.cc, tests/Box/Makefile.am,
+	  tests/Box/addconstraints1.cc, tests/Box/addspacedims1.cc,
+	  tests/Box/affineimage1.cc, tests/Box/affinepreimage1.cc,
+	  tests/Box/bgp99extrapolation1.cc,
+	  tests/Box/boundedaffinepreimage1.cc, tests/Box/boxdifference1.cc,
+	  tests/Box/boxhull1.cc, tests/Box/cc76narrowing1.cc,
+	  tests/Box/closure1.cc, tests/Box/concatenate1.cc,
+	  tests/Box/congruences1.cc, tests/Box/constraints1.cc,
+	  tests/Box/contains1.cc, tests/Box/difference1.cc,
+	  tests/Box/discrete1.cc, tests/Box/disjoint1.cc,
+	  tests/Box/expandspacedim1.cc, tests/Box/foldspacedims1.cc,
+	  tests/Box/frombox1.cc, tests/Box/generalizedaffineimage1.cc,
+	  tests/Box/generalizedaffineimage2.cc, tests/Box/intersection1.cc,
+	  tests/Box/interval1.cc, tests/Box/interval2.cc,
+	  tests/Box/mapspacedims1.cc, tests/Box/max_min1.cc,
+	  tests/Box/membytes1.cc, tests/Box/pointsetpowerset1.cc,
+	  tests/Box/pointsetpowerset2.cc,
+	  tests/Box/propagateconstraints1.cc,
+	  tests/Box/propagateconstraints2.cc,
+	  tests/Box/refinewithcongruences1.cc,
+	  tests/Box/refinewithconstraint1.cc,
+	  tests/Box/refinewithconstraints1.cc,
+	  tests/Box/refinewithconstraints2.cc, tests/Box/relations1.cc,
+	  tests/Box/relations2.cc, tests/Box/removespacedims1.cc,
+	  tests/Box/timeelapse1.cc, tests/Box/unconstrain1.cc,
+	  tests/Box/universe1.cc, tests/Box/upperbound1.cc,
+	  tests/Box/writebox1.cc, tests/Grid/Makefile.am,
+	  tests/Grid/addconstraint1.cc, tests/Grid/addconstraints1.cc,
+	  tests/Grid/addgenerators1.cc, tests/Grid/affineimage2.cc,
+	  tests/Grid/approximatepartition1.cc, tests/Grid/congruence1.cc,
+	  tests/Grid/generator1.cc, tests/Grid/griddifference1.cc,
+	  tests/Grid/join1.cc, tests/Grid/join2.cc,
+	  tests/Grid/membytes1.cc, tests/Grid/partition1.cc,
+	  tests/Grid/powersetdifference1.cc,
+	  tests/Grid/refinewithcongruences1.cc,
+	  tests/Grid/refinewithconstraints1.cc,
+	  tests/Grid/removespacedims2.cc, tests/Grid/upperbound1.cc,
+	  tests/Grid/upperbound2.cc, tests/MIP_Problem/Makefile.am,
+	  tests/MIP_Problem/mipproblem1.cc,
+	  tests/MIP_Problem/mipproblem2.cc,
+	  tests/MIP_Problem/mipproblem3.cc,
+	  tests/Octagonal_Shape/Makefile.am,
+	  tests/Octagonal_Shape/affinedimension1.cc,
+	  tests/Octagonal_Shape/affinepreimage1.cc,
+	  tests/Octagonal_Shape/congruences1.cc,
+	  tests/Octagonal_Shape/containsintegerpoint1.cc,
+	  tests/Octagonal_Shape/difference1.cc,
+	  tests/Octagonal_Shape/discrete1.cc,
+	  tests/Octagonal_Shape/mapspacedims1.cc,
+	  tests/Octagonal_Shape/maxspacedim1.cc,
+	  tests/Octagonal_Shape/membytes1.cc,
+	  tests/Octagonal_Shape/octdifference1.cc,
+	  tests/Octagonal_Shape/octhull1.cc,
+	  tests/Octagonal_Shape/upperbound1.cc,
+	  tests/Partially_Reduced_Product/Makefile.am,
+	  tests/Partially_Reduced_Product/asciidumpload1.cc,
+	  tests/Partially_Reduced_Product/directproduct1.cc,
+	  tests/Partially_Reduced_Product/directproduct2.cc,
+	  tests/Partially_Reduced_Product/directproduct3.cc,
+	  tests/Polyhedron/Makefile.am, tests/Polyhedron/README,
+	  tests/Polyhedron/affineimage2.cc, tests/Polyhedron/append1.cc,
+	  tests/Polyhedron/append2.cc, tests/Polyhedron/bhrz03widening1.cc,
+	  tests/Polyhedron/bhrz03widening3.cc,
+	  tests/Polyhedron/boundedaffineimage1.cc,
+	  tests/Polyhedron/boundedbhrz03extrapolation1.cc,
+	  tests/Polyhedron/dualhypercubes.cc,
+	  tests/Polyhedron/exceptions1.cc, tests/Polyhedron/exceptions2.cc,
+	  tests/Polyhedron/hybrid.cc, tests/Polyhedron/linearpartition1.cc,
+	  tests/Polyhedron/maxspacedim1.cc, tests/Polyhedron/membytes1.cc,
+	  tests/Polyhedron/memory1.cc, tests/Polyhedron/memory2.cc,
+	  tests/Polyhedron/nncminimize1.cc, tests/Polyhedron/permute.cc,
+	  tests/Polyhedron/polydifference1.cc,
+	  tests/Polyhedron/polydifference2.cc,
+	  tests/Polyhedron/polyhull1.cc, tests/Polyhedron/polyhull2.cc,
+	  tests/Polyhedron/randphull1.cc,
+	  tests/Polyhedron/refinewithcongruences1.cc,
+	  tests/Powerset/Makefile.am, tests/Powerset/pointsetpowerset1.cc,
+	  tests/Powerset/pointsetpowerset2.cc,
+	  tests/Powerset/simplifyusingcontext1.cc, utils/build_header.in
+	  (bounded_arithmetic.[1,2,2,2,1,2,1,1,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,1,1,1,2,1,2,2,2,1,2,1,2,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,2,2,2,1,2,2,3,3,3,3,3,3,2,2,3,2,2,1,2,2,3,2,2,1,2,1,2,1,1,2,2,1,2,2,3,3,3,3,3,3,2,2,1,2,2,1,1,2,1,3,1,2,2,2,2,2,2,2,2,2,1,1,2,2,2,1,2,2,2,1,2,2,2,2,2,2,2,2,3,3,2,3,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,3,1,1, [...]
+	  Second merge of the trunk to the bounded_arithmetic branch.
+
+2008-10-29 Wednesday 21:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.405): Version number bumped.
+
+2008-10-29 Wednesday 20:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_dox.m4 (1.11),
+	  ppl_interface_generator_prolog_dox_code.m4 (1.13): Also revised -
+	  bugs fixed and a few improvements.
+
+2008-10-29 Wednesday 20:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.180): Updated.
+
+2008-10-29 Wednesday 10:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* CREDITS (1.30): Spurious comma removed.
+
+2008-10-28 Tuesday 20:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: libppl.3 (1.12), libppl_c.3 (1.3): In the C interface man
+	  page, mention the introduction and use of functions
+	  ppl_restore_pre_PPL_rounding() and ppl_set_rounding_for_PPL().
+
+2008-10-28 Tuesday 20:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/libppl_c.3 (bounded_arithmetic.1): file libppl_c.3 was added
+	  on branch bounded_arithmetic on 2008-10-29 20:45:24 +0000
+
+2008-10-28 Tuesday 18:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.267), doc/libppl.3 (1.11): Mention the introduction and
+	  use of the functions restore_pre_PPL_rounding(),
+	  set_rounding_for_PPL(), and of their counterparts in all the
+	  language interfaces.
+
+2008-10-28 Tuesday 16:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.63), demos/ppl_lpsol/ppl_lpsol.c
+	  (1.90), doc/libppl.3 (1.10), src/Init.cc (1.37),
+	  tests/Polyhedron/memory1.cc (1.19), tests/Polyhedron/memory2.cc
+	  (1.18): The C function name
+	  `set_GMP_memory_allocation_functions()' was breaking our
+	  namespace promise: renamed
+	  `ppl_set_GMP_memory_allocation_functions()'.
+
+2008-10-28 Tuesday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/libppl.3 (1.9): Wording slightly improved.
+
+2008-10-28 Tuesday 12:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* CREDITS (1.29): Updated the sponsors to include recent projects
+	  at Leeds.
+
+2008-10-27 Monday 21:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.266): Small improvement.
+
+2008-10-27 Monday 18:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.32), Watchdog/ChangeLog (1.22): Updated.
+
+2008-10-27 Monday 18:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (1.286): Adde 2 items for 0.10.1 and later.
+
+2008-10-27 Monday 17:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.285): Added one item for PPL 0.10.1.
+
+2008-10-27 Monday 16:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.265): Avoid repetitive comments for the
+	  Partially_Reduced_Product domains.
+
+2008-10-27 Monday 16:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/libppl.3 (1.8): Small nels improvement.
+
+2008-10-27 Monday 15:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_procedure_generators.m4
+	  (1.43): Changed the constrains/2, unconstrain/2 and
+	  unconstrains/2 from simple to all.
+
+2008-10-27 Monday 15:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.264): Three subitems on the foreign language interfaces,
+	  all related to uniform naming, placed together and reorganized to
+	  avoid repetitions.
+
+2008-10-27 Monday 15:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.263): A couple of improvements on items regarding foreign
+	  langauge interfaces.
+
+2008-10-27 Monday 14:16  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.262): Revised the items wrt add_integer_point(),
+	  constrains() and unconstrain().
+
+2008-10-27 Monday 14:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.261): Some consistency improvements.
+
+2008-10-27 Monday 13:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.260): Several corrections and improvements.
+
+2008-10-27 Monday 13:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.259): Corrected a couple of typos.
+
+2008-10-27 Monday 13:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.258): Revised the item on bds_hull etc.
+
+2008-10-27 Monday 13:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* README.configure (1.40): Small nels improvements and similar.
+
+2008-10-27 Monday 13:18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.257): Improved item about refine_with_* methods.
+
+2008-10-27 Monday 12:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.256): The wronly placed item on deprecated methods moved
+	  to a better place.  Completed the item on the changes to the
+	  documentation manuals.
+
+2008-10-27 Monday 12:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.255): Added an item on the new man pages libppl(3) and
+	  libppl_c(3).
+
+2008-10-27 Monday 12:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.254): Dealt with items on constrains, unconstrain and
+	  has_integer_point.
+
+2008-10-27 Monday 11:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.253): Revised the item concerning LP_Problem/MIP_Problem.
+
+2008-10-27 Monday 11:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.252): Added an item mentioning the deprecation of
+	  _and_minimize methods.  Modified another item regarding the
+	  recycling methods.
+
+2008-10-27 Monday 11:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.251): Added an item concerning the enhancements made to
+	  the configuration script.
+
+2008-10-27 Monday 11:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.250): Completed item concerning the default widening
+	  operator.
+
+2008-10-27 Monday 10:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.249): Finished the item concerning the Interval template
+	  class.
+
+2008-10-27 Monday 10:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Interval.defs.hh (1.60): Missing comma added.
+
+2008-10-27 Monday 10:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Interval.defs.hh (1.59): Drafted the detailed information for
+	  the Interval class.
+
+2008-10-27 Monday 10:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.248): Completed item on can_recycle... methods.
+
+2008-10-27 Monday 10:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.247): Merged the items on constructing from and shrinking
+	  bounding boxes and completed this item.
+
+2008-10-27 Monday 10:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.246): Corrected (again) the item on covering boxes being
+	  removed.
+
+2008-10-27 Monday 09:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.245): Corrected changes to item on covering boxes.
+
+2008-10-27 Monday 09:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.244): Completed an item on the Product domains.
+
+2008-10-27 Monday 09:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.243): News item for class Box completed.  News item for
+	  class Octagonal_Shape moved up.
+
+2008-10-27 Monday 08:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Pointset_Powerset.defs.hh (1.55): Spelling fixed.
+
+2008-10-27 Monday 08:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.242): News item that referred to the Polyhedron domain
+	  and congruences now replaced by a more genral item on congruence
+	  related methods.
+
+2008-10-27 Monday 08:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.defs.hh (1.65): A Box is a smash product, not a Cartesian
+	  product.
+
+2008-10-27 Monday 08:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.241): Completed an item on the pointset powerset domain.
+
+2008-10-27 Monday 08:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.240): Reordered items and started indicating where more
+	  work is needed.
+
+2008-10-27 Monday 07:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.239): Written a section on changes to the foreign
+	  language interfaces.
+
+2008-10-27 Monday 07:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.284): Added one item for 0.10.1.
+
+2008-10-27 Monday 07:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.238): Two more reminders of news that needs adding: -
+	  OCaml and Java interfaces; - changes to the configure options.
+
+2008-10-27 Monday 06:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/tests/print_to_buffer.h (1.5): Comment fixed.
+
+2008-10-27 Monday 06:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/tests/print_to_buffer.h (bounded_arithmetic.1): file
+	  print_to_buffer.h was added on branch bounded_arithmetic on
+	  2008-10-29 20:45:27 +0000
+
+2008-10-26 Sunday 21:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/Variable.java (1.3),
+	  tests/Octagonal_Shape/affinedimension1.cc (1.6),
+	  tests/Octagonal_Shape/discrete1.cc (1.5): Trailing blanks
+	  removed.
+
+2008-10-26 Sunday 21:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/Variable.java
+	  (bounded_arithmetic.1): file Variable.java was added on branch
+	  bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-26 Sunday 21:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.237): Made a start on updating this file: - update the
+	  paragraph on the MIP problem to include MIP control parameters; -
+	  added a bullet on total and external memory in bytes; - reminder
+	  to add something about the removal of covering_box support; -
+	  reminder to add a note about the partially reduced product; -
+	  reminder to add something about changes to the documentation.
+
+2008-10-26 Sunday 21:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/tests/ppl_java_tests_common (1.18): Copyright
+	  notice added.  Indentation fixed.
+
+2008-10-26 Sunday 21:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/README.ocaml (1.6): Improved.
+
+2008-10-26 Sunday 21:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_hh_code.m4 (1.4):
+	  Copyright notice fixed.
+
+2008-10-26 Sunday 21:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_hh_code.m4
+	  (bounded_arithmetic.1): file
+	  ppl_interface_generator_ocaml_hh_code.m4 was added on branch
+	  bounded_arithmetic on 2008-10-29 20:45:30 +0000
+
+2008-10-26 Sunday 21:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/tests/: print_to_buffer.cc (1.5), print_to_buffer.h
+	  (1.4): Added copyright notices and multiple inclusion guards.
+
+2008-10-26 Sunday 21:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/tests/print_to_buffer.cc (bounded_arithmetic.1):
+	  file print_to_buffer.cc was added on branch bounded_arithmetic on
+	  2008-10-29 20:45:27 +0000
+
+2008-10-26 Sunday 21:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.54): Updated.
+
+2008-10-26 Sunday 20:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.236), Watchdog/NEWS (1.12): The target release date is
+	  November 4, 2008.
+
+2008-10-26 Sunday 20:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: README (1.19), ChangeLog (1.21): Updated.
+
+2008-10-26 Sunday 19:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: configure.ac (1.55), src/Makefile.am (1.18): Version
+	  number corrected.
+
+2008-10-26 Sunday 19:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.283): Removed section of enhancements for PPL 0.10.
+
+2008-10-26 Sunday 19:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.282): Removed (last?) two items for PPL 0.10.
+
+2008-10-26 Sunday 19:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.225): Minor improvement.
+
+2008-10-26 Sunday 19:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS (1.28): Acknowledge the help received from Martin Guy.
+
+2008-10-26 Sunday 19:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Any_Pointset.defs.hh (1.20), BD_Shape.defs.hh (1.133),
+	  Congruence.defs.hh (1.26), Congruence_System.defs.hh (1.27),
+	  Constraint.defs.hh (1.131), Constraint_System.defs.hh (1.41),
+	  Generator.defs.hh (1.127), Generator_System.defs.hh (1.29),
+	  Grid.defs.hh (1.84), Grid_Generator.defs.hh (1.34),
+	  Grid_Generator_System.defs.hh (1.30), Linear_Expression.defs.hh
+	  (1.40), MIP_Problem.defs.hh (1.40), Octagonal_Shape.defs.hh
+	  (1.60), Og_Status.idefs.hh (1.11),
+	  Partially_Reduced_Product.defs.hh (1.34),
+	  Pointset_Ask_Tell.defs.hh (1.18), Pointset_Powerset.defs.hh
+	  (1.54), Polyhedron.defs.hh (1.357), Variables_Set.defs.hh (1.9),
+	  globals.defs.hh (1.56): Let the documentation for the
+	  ascii_dump/load methods also appear in the user manuals, since
+	  they may be useful for debugging purposes.  In the user docs for
+	  Polyhedron and Grid, avoid listing exception throwers.
+
+2008-10-26 Sunday 18:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.281), doc/ppl-config.1 (1.11),
+	  doc/ppl-config_extra_man_text (1.5), src/ppl-config.cc.in (1.25):
+	  Improved the man page of ppl-config.
+
+2008-10-26 Sunday 18:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.280), demos/ppl_lcdd/ppl_lcdd.1 (1.4),
+	  demos/ppl_lcdd/ppl_lcdd.cc (1.62),
+	  demos/ppl_lcdd/ppl_lcdd_extra_man_text (1.3): Improved the man
+	  page of ppl_lcdd.
+
+2008-10-26 Sunday 18:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.1 (bounded_arithmetic.1): file ppl_lcdd.1
+	  was added on branch bounded_arithmetic on 2008-10-29 20:45:23
+	  +0000
+
+2008-10-26 Sunday 18:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd_extra_man_text (bounded_arithmetic.1):
+	  file ppl_lcdd_extra_man_text was added on branch
+	  bounded_arithmetic on 2008-10-29 20:45:23 +0000
+
+2008-10-26 Sunday 18:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/MIP_Problem.cc (1.74): Indentation fixed.
+
+2008-10-26 Sunday 16:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/: ppl_lpsol.1 (1.5), ppl_lpsol.c (1.89),
+	  ppl_lpsol_extra_man_text (1.4): Documentation improved.
+
+2008-10-26 Sunday 16:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.1 (bounded_arithmetic.1): file
+	  ppl_lpsol.1 was added on branch bounded_arithmetic on 2008-10-29
+	  20:45:23 +0000
+
+2008-10-26 Sunday 16:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol_extra_man_text (bounded_arithmetic.1):
+	  file ppl_lpsol_extra_man_text was added on branch
+	  bounded_arithmetic on 2008-10-29 20:45:23 +0000
+
+2008-10-26 Sunday 15:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.279), demos/ppl_lpsol/ppl_lpsol.1 (1.4),
+	  demos/ppl_lpsol/ppl_lpsol.c (1.88),
+	  demos/ppl_lpsol/ppl_lpsol_extra_man_text (1.3),
+	  devtools/generate_man_pages (1.3): Completed the man page of
+	  ppl_lpsol.  Other minor improvements.
+
+2008-10-26 Sunday 15:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/generate_man_pages (bounded_arithmetic.1): file
+	  generate_man_pages was added on branch bounded_arithmetic on
+	  2008-10-29 20:45:24 +0000
+
+2008-10-26 Sunday 14:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: libppl.3 (1.7), libppl_c.3 (1.2): The standard section name
+	  is AUTHOR, not AUTHORS.
+
+2008-10-26 Sunday 14:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.1 (1.3),
+	  demos/ppl_lcdd/ppl_lcdd_extra_man_text (1.2),
+	  demos/ppl_lpsol/ppl_lpsol.1 (1.3),
+	  demos/ppl_lpsol/ppl_lpsol_extra_man_text (1.2), doc/ppl-config.1
+	  (1.10), doc/ppl-config_extra_man_text (1.4): Small improvements.
+
+2008-10-26 Sunday 14:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.278): One item moved.
+
+2008-10-26 Sunday 14:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.277), doc/Makefile.am (1.95), doc/libppl.3 (1.6): Another
+	  item dealt with.
+
+2008-10-26 Sunday 14:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/libppl_c.3 (1.1): Short overview on how to use the Parma
+	  Polyhedra Library (PPL) in C programs.
+
+2008-10-26 Sunday 14:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.276), doc/libppl.3 (1.5): One item dealt whith.
+
+2008-10-26 Sunday 12:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: README (1.4), Polyhedron/README (1.9): Moved.
+
+2008-10-26 Sunday 12:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/README (bounded_arithmetic.1): file README was added on
+	  branch bounded_arithmetic on 2008-10-29 20:45:37 +0000
+
+2008-10-26 Sunday 11:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.275): Two items removed; one revised.
+
+2008-10-26 Sunday 11:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/libppl.3 (1.4): Completed.
+
+2008-10-26 Sunday 10:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/memory1.cc (1.18): Make sure the GMP allocation
+	  functions are set prior to the allocation of any GMP object.
+
+2008-10-26 Sunday 09:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (1.274), Watchdog/src/Makefile.am (1.17),
+	  interfaces/OCaml/Makefile.am (1.60), src/Makefile.am (1.190),
+	  tests/Makefile.am (1.274), tests/BD_Shape/Makefile.am (1.81),
+	  tests/Box/Makefile.am (1.75), tests/Octagonal_Shape/Makefile.am
+	  (1.35), tests/Powerset/Makefile.am (1.7): Ensure the clean and
+	  mostlyclean comply with the 'STANDARDS' file and are used
+	  sensibly.
+
+	  Removed - Check all the Makefile.am's to make sure CLEANFILES,
+	  MOSTLYCLEANFILES   and DISTCLEANFILES are used in a sensible way.
+	   from the TODO list for 0.10
+
+2008-10-26 Sunday 08:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/libppl.3 (1.3): Some corrections.  Started a new section on
+	  implementing memory-guarded computations.
+
+2008-10-25 Saturday 22:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* Makefile.am (1.50): Added alternative definition for variable
+	  distcleancheck_listfiles, so that it is not an error if a
+	  distributed file is left in the build tree after a `make
+	  distclean' (see Section 14.4 of the Automake manual).
+
+2008-10-25 Saturday 22:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* Watchdog/doc/Makefile.am (1.7): Do clean .tag files generated by
+	  Doxygen.
+
+2008-10-25 Saturday 21:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/libppl.3 (1.2): Some progress toward completion of this man
+	  page.
+
+2008-10-25 Saturday 16:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am (1.94): The configuration dependent Prolog
+	  manuals should depend on (generated)
+	  Prolog_configured_interface.dox, rather than (fixed)
+	  Prolog_interface.dox.
+
+2008-10-25 Saturday 16:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/Makefile.am (1.68): When Prolog is enabled, do
+	  make Prolog_configured_interface.dox.
+
+2008-10-25 Saturday 16:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* STANDARDS (1.41): Typo corrected.
+
+2008-10-24 Friday 22:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* Watchdog/doc/Makefile.am (1.6), doc/Makefile.am (1.93): Avoid
+	  cleaning distributed built files.  Try to follow the rule stated
+	  in Section 27.5 of the Automake manual: distributed files should
+	  never depend upon non-distributed built files.
+
+2008-10-24 Friday 16:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.179),
+	  ppl_prolog_sysindep_dox (1.7): Revised the grammar rules to bring
+	  them up-to-date to include rules for congruences and grid
+	  generators, also removed rules for intervals and boxes etc. which
+	  are now not wanted.
+
+2008-10-24 Friday 15:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.178),
+	  ppl_prolog_sysindep_dox (1.6): Corrected the list of weakly
+	  relational domains available to the Prolog interface.
+
+2008-10-23 Thursday 19:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/Makefile.am (1.14): Fixed copy-and-paste mistake.
+
+2008-10-23 Thursday 17:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS (1.27): Acknowledge the contribution of Hewlett Packard
+	  as provider of the test cluster hosted by ESIEE.
+
+2008-10-23 Thursday 16:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/: devref-foreign-language-interface.tex (1.3), devref.tex
+	  (1.27), user-foreign-language-interface.tex (1.3), user.tex
+	  (1.28): Added acknowledgements to EPSRC - two projects, one for
+	  the grid domain and the current project.
+
+2008-10-23 Thursday 16:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref-foreign-language-interface.tex (bounded_arithmetic.1):
+	  file devref-foreign-language-interface.tex was added on branch
+	  bounded_arithmetic on 2008-10-29 20:45:24 +0000
+
+2008-10-23 Thursday 16:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user-foreign-language-interface.tex (bounded_arithmetic.1):
+	  file user-foreign-language-interface.tex was added on branch
+	  bounded_arithmetic on 2008-10-29 20:45:24 +0000
+
+2008-10-23 Thursday 15:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (1.273), doc/definitions.dox (1.224), src/Polyhedron.defs.hh
+	  (1.356): Improved the documentation for boxes, intervals and the
+	  bounded extrapolations.
+
+	  Replace the brief descriptions of the bounded extrapolations in
+	  Polyhedron.defs.hh by shorter descriptions that ju st refer to
+	  the relevant paragraphs in definitions.dox.
+
+	  Removed the out-of-date paragraph about the domains in section
+	  1.1 of the main user's manual.
+
+	  Removed a todo item.
+
+2008-10-23 Thursday 14:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* devtools/generate_dox_ci_prolog_manual (1.2): Paths changed so
+	  that it can be used from the interfaces/Prolog directory.
+
+2008-10-23 Thursday 14:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/generate_dox_ci_prolog_manual (bounded_arithmetic.1):
+	  file generate_dox_ci_prolog_manual was added on branch
+	  bounded_arithmetic on 2008-10-29 20:45:24 +0000
+
+2008-10-23 Thursday 12:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am (1.92): When installing the OCaml user
+	  documentation, do also install the ocamldoc subdir and its
+	  contents.
+
+2008-10-23 Thursday 10:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.1 (1.2), demos/ppl_lpsol/ppl_lpsol.1
+	  (1.2), doc/ppl-config.1 (1.9): Updated.
+
+2008-10-23 Thursday 10:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.404), demos/Makefile.am (1.13),
+	  demos/ppl_lcdd/Makefile.am (1.30), demos/ppl_lcdd/ppl_lcdd.1
+	  (1.1), demos/ppl_lcdd/ppl_lcdd_extra_man_text (1.1),
+	  demos/ppl_lpsol/Makefile.am (1.49), demos/ppl_lpsol/ppl_lpsol.1
+	  (1.1), demos/ppl_lpsol/ppl_lpsol_extra_man_text (1.1),
+	  devtools/generate_man_pages (1.2), doc/Makefile.am (1.91),
+	  doc/ppl_lcdd.1 (1.7), doc/ppl_lcdd_extra_man_text (1.4),
+	  doc/ppl_lpsol.1 (1.7), doc/ppl_lpsol_extra_man_text (1.4): The
+	  `ppl_lcdd' and `ppl_lpsol' programs have been made optional (but
+	  enabled by default) and subject to the `--enable-ppl_lcdd' and
+	  `--enable-ppl_lpsol' configure options, respectively.
+
+2008-10-23 Thursday 07:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.87): Made sure the program con be
+	  compiled with -Wformat-security (and, for that matter, also
+	  -Wformat-nonliteral).
+
+2008-10-22 Wednesday 13:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_gmp.m4 (1.32): Test further strengthened.
+
+2008-10-22 Wednesday 12:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_gmp.m4 (1.31): Test strengthened to guard against
+	  what can easily happen on a bi-arch system.
+
+2008-10-22 Wednesday 10:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.69): Comment improved.
+
+2008-10-22 Wednesday 09:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.68): Revised one of the
+	  exception tests to allow for all possible exceptions that can
+	  occur, depending on the machine and configuration.
+
+2008-10-21 Tuesday 14:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_gmp.m4 (1.30): Make sure the version of GMP as define
+	  by the GMP's header file matches the version reported by
+	  gmp_version().
+
+2008-10-21 Tuesday 14:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/Makefile.am (1.85): GNU Prolog 1.3.1 needs
+	  a higher value for GLOBALSZ.
+
+2008-10-21 Tuesday 14:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/gprolog_cfli.hh (1.11): Minimal changes to
+	  support GNU Prolog 1.3.1 (to be released soon).
+
+2008-10-21 Tuesday 12:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.67): Corrected special
+	  exception tests for Prolog systems (eg GNU Prolog) with bounded
+	  integers.
+
+2008-10-20 Monday 23:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am (1.90): The configured Prolog manuals depend on
+	  generated file Prolog_configured_interface.dox.
+
+2008-10-20 Monday 22:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.66): Revised the timeout
+	  test to ensure it is more consistent in its behavior for all
+	  configurations and Prolog systems.
+
+2008-10-20 Monday 19:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.177),
+	  ppl_interface_generator_prolog_dox_code.m4 (1.12): Small
+	  correction and improvement to formatting.
+
+2008-10-20 Monday 17:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Ciao/Makefile.am (1.87): Disabled the pl_check,
+	  clpq and clpq2 tests as they can throw overflow exception errors
+	  for certain configurations - and Ciao does not recognise these as
+	  overflow errors.
+
+2008-10-20 Monday 17:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4
+	  (1.19): Completed changes in last commit.
+
+2008-10-20 Monday 16:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4
+	  (1.18): Revised code for the ..._if_exact predicates.
+
+2008-10-20 Monday 16:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog_common.cc (1.12): Added a missing
+	  default switch case.
+
+2008-10-20 Monday 14:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.65): Corrected and
+	  improved the testing of the exceptions thrown by the C++
+	  interface.
+
+2008-10-20 Monday 08:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/.cvsignore (1.1): Put under CVS control.
+
+2008-10-20 Monday 08:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/.cvsignore (bounded_arithmetic.1): file .cvsignore was
+	  added on branch bounded_arithmetic on 2008-10-29 20:45:24 +0000
+
+2008-10-20 Monday 08:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/generate_dox_ci_prolog_manual (1.1): Script to generate
+	  the Doxygen source for the configuration-independent Prolog
+	  interface manual.
+
+2008-10-19 Sunday 22:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.403): Version number bumped.
+
+2008-10-19 Sunday 21:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.272): Added a list of things to do for PPL 0.10.1.
+
+2008-10-19 Sunday 21:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.271), interfaces/OCaml/README.ocaml (1.5): README.ocaml
+	  revised.
+
+2008-10-19 Sunday 21:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure (1.39): Added a couple of blank spaces.
+
+2008-10-19 Sunday 21:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure (1.38), TODO (1.270): README.configure is now
+	  complete.
+
+2008-10-19 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.402): Usage summary improved.
+
+2008-10-19 Sunday 17:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure (1.37): Written the section on "Configuring for
+	  Debugging".
+
+2008-10-19 Sunday 16:20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.223): Some improvements in the
+	  specification of syntactic GDs:   1) the generic ones are those
+	  that are supported (maybe minimally) by      all semantic GDs;
+	  the specific ones are not supported at all by      some semantic
+	  GDs;	 2) listed subclasses of generic GDs (constraints and
+	  congruences):      explained that each semantic GD "optimally
+	  supports" some of these      subclasses; for optimally supported
+	  subclasses, no exception is thrown	  and a best approximation
+	  semantics is obtained; for the non-optimally	    supported ones,
+	  exceptions or coarse approximations may be obtained.	  3) noted
+	  that the best approximation property applies to single
+	  constraints	    or congruences, not to their systems.
+
+	  Other changes:   - not all OK methods support the optional
+	  Boolean argument;   - improved explanation of conversion
+	  operators with a computational     complexity argument.
+
+2008-10-19 Sunday 16:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure (1.36): Added a forward reference.
+
+2008-10-19 Sunday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS (1.26): Express gratitude to ESIEE, Thibaut Varene, and
+	  the PA-RISC Linux community.
+
+2008-10-19 Sunday 15:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS (1.25): One link added.
+
+2008-10-19 Sunday 15:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS (1.24): Express gratitude to the GCC Compile Farm
+	  Project, FSF France, and Laurent Guerby.
+
+2008-10-19 Sunday 14:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.401): The header files of GLPK cannot be trusted:
+	  do check for the presence of declarations.
+
+2008-10-19 Sunday 14:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.86): Previous commit completed.
+
+2008-10-19 Sunday 14:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.85): Fixed the guard controlling
+	  the definition of glpk_message_interceptor().
+
+2008-10-19 Sunday 14:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.84): Make sure GLP_OFF is defined
+	  before using it.
+
+2008-10-19 Sunday 14:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/tests/pwl_test.cc (1.3), tests/ppl_test.cc (1.19): Do
+	  not rely on the definition of optional macros of <fenv.h>.
+
+2008-10-19 Sunday 14:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/tests/pwl_test.cc (bounded_arithmetic.1): file
+	  pwl_test.cc was added on branch bounded_arithmetic on 2008-10-29
+	  20:45:22 +0000
+
+2008-10-19 Sunday 10:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.400): Enable the Java interface only if jlong can
+	  contain data pointers.
+
+2008-10-19 Sunday 09:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/: ppl_java_common.cc (1.52),
+	  ppl_java_common.inlines.hh (1.4): Improved the conversions
+	  between pointers and jlongs.
+
+2008-10-19 Sunday 09:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.inlines.hh
+	  (bounded_arithmetic.1): file ppl_java_common.inlines.hh was added
+	  on branch bounded_arithmetic on 2008-10-29 20:45:27 +0000
+
+2008-10-19 Sunday 09:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.91): The
+	  get_represent pattern updated for all the domains to include both
+	  constraints and congruences.
+
+2008-10-19 Sunday 08:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/marked_pointers.hh (1.2): Bitmask made portable.
+
+2008-10-18 Saturday 22:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/: Makefile.am (1.86), README.ciao (1.1):
+	  New file to explain which versions of Ciao Prolog are supported.
+
+2008-10-18 Saturday 22:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/README.ciao (bounded_arithmetic.1): file
+	  README.ciao was added on branch bounded_arithmetic on 2008-10-29
+	  20:45:32 +0000
+
+2008-10-18 Saturday 22:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/README.interfaces (1.2): Obsolete file removed.
+
+2008-10-18 Saturday 22:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/tests/Makefile.am (1.23): Use `"$(CXX)"' instead
+	  of `g++'.
+
+2008-10-18 Saturday 21:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/tests/pwl_test.hh (1.3), tests/ppl_test.hh (1.79):
+	  Define the NOISY and VERY_NOISY macros before they are used.
+	  Unused parameter warning avoided.
+
+2008-10-18 Saturday 21:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/tests/pwl_test.hh (bounded_arithmetic.1): file
+	  pwl_test.hh was added on branch bounded_arithmetic on 2008-10-29
+	  20:45:22 +0000
+
+2008-10-18 Saturday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/tests/Makefile.am (1.6): Must link with -lm for
+	  fetestexcept().
+
+2008-10-18 Saturday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/tests/Makefile.am (bounded_arithmetic.1): file
+	  Makefile.am was added on branch bounded_arithmetic on 2008-10-29
+	  20:45:22 +0000
+
+2008-10-18 Saturday 21:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/OR_Matrix.defs.hh (1.19): Previous commit had the
+	  defined(__EDG__) and !defined(__EDG__) cases reversed: fixed now.
+
+2008-10-18 Saturday 20:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.399): Blank line added for readability.
+
+2008-10-18 Saturday 20:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/configure.ac (1.54): Improved and reorganized.
+
+2008-10-18 Saturday 20:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/OR_Matrix.defs.hh (1.18): Use a couple of different friend
+	  declarations when the compiler is EDG-based.
+
+2008-10-18 Saturday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh (1.95): Removed another useless
+	  variable definition.
+
+2008-10-18 Saturday 18:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh (1.94): Several FIXMEs resolved
+	  and removed.
+
+2008-10-18 Saturday 17:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh (1.93): Several useless variable
+	  definitions commented out.
+
+2008-10-18 Saturday 13:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.59):
+	  Statement with no effect removed.
+
+2008-10-18 Saturday 13:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/README.ocaml (1.4): Updated and improved.
+
+2008-10-18 Saturday 12:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure (1.35): Added material to the section on
+	  "Configuring for Optimized Performance".
+
+2008-10-18 Saturday 11:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/Makefile.am (1.80): List
+	  xsb_prolog_generated_test.P in CLEANFILES.
+
+2008-10-18 Saturday 11:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/tests/Makefile.am (1.22): Do not mention gmp.cma
+	  when (ocaml-)linking; rather, directly pass options -lmlgmp and
+	  -lmpfr to the underlying linker using -cclib.  This seems to
+	  solve an issue in some x86 systems (e.g., igor on tinderbox)
+	  whereby -dlopen was not working as expected, in that it links the
+	  installed ppl instead of the one in the build tree.
+
+2008-10-18 Saturday 10:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.inlines.hh (1.39): Work around a bug in the Intel C/C++
+	  compiler version 10.1.x.
+
+2008-10-17 Friday 22:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure (1.34): Explained the use of the
+	  `--with-java=DIR' configure option.
+
+2008-10-17 Friday 20:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure (1.33): Explained the use of the
+	  `--enable-instantiations' configure option.
+
+2008-10-17 Friday 16:56  Abramo Bagnara
+
+	* src/checked.inlines.hh (1.47): Added comment for future
+	  improvement.
+
+2008-10-17 Friday 16:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure (1.32): Started a rewrite of the section on
+	  "Configuring the Language Interfaces".  Added new sections on
+	  "Configuring for Optimized Performance" and "Configuring for
+	  Debugging".
+
+2008-10-17 Friday 15:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.398), src/Makefile.am (1.189): If the C++
+	  interface is not enabled, do not install <ppl.hh>.
+
+2008-10-17 Friday 14:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.397): Configuring with the option
+	  `--enable-instantiations' (i.e., without specifying any
+	  instantiation) now prints a list of available instantiations.
+
+2008-10-17 Friday 11:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/: expected_pchk_int16_a (1.9),
+	  expected_pchk_int8_a (1.9): As in previous commit - some
+	  overflows that were expected do not occur now.
+
+2008-10-17 Friday 11:40  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/: expected_pchk_int16 (1.9),
+	  expected_pchk_int32 (1.8), expected_pchk_int32_a (1.8),
+	  expected_pchk_int64_a (1.7), expected_pchk_int8 (1.9): Several
+	  overflows no longer occur.
+
+2008-10-16 Thursday 18:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.396): Reordered so that the system-dependent
+	  adjustments are done before the run-time tests.
+
+2008-10-16 Thursday 15:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_fpu_control.m4 (1.15): Test strengthened to check
+	  whether fesetround() actually does something.
+
+2008-10-16 Thursday 14:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu-c99.inlines.hh (1.21): Little improvement to
+	  fpu_initialize_control_functions().
+
+2008-10-16 Thursday 12:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_dox.m4 (1.10),
+	  ppl_interface_generator_prolog_dox_code.m4 (1.11): Error in the
+	  configured dox file wrt the widening of weakly relational shapes
+	  fixed.
+
+2008-10-16 Thursday 08:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.64): Test for no timeout
+	  made simpler to try and ensure results are as predicted.  Added
+	  the Prolog system being tested in the error message.
+
+2008-10-16 Thursday 08:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/: ac_cxx_double_exact_output.m4 (1.10),
+	  ac_cxx_float_exact_output.m4 (1.8),
+	  ac_cxx_long_double_exact_output.m4 (1.15): Typos fixed.
+
+2008-10-16 Thursday 08:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_double_exact_output.m4 (bounded_arithmetic.1): file
+	  ac_cxx_double_exact_output.m4 was added on branch
+	  bounded_arithmetic on 2008-10-29 20:45:34 +0000
+
+2008-10-16 Thursday 08:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_float_exact_output.m4 (bounded_arithmetic.1): file
+	  ac_cxx_float_exact_output.m4 was added on branch
+	  bounded_arithmetic on 2008-10-29 20:45:34 +0000
+
+2008-10-16 Thursday 08:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_long_double_exact_output.m4 (bounded_arithmetic.1):
+	  file ac_cxx_long_double_exact_output.m4 was added on branch
+	  bounded_arithmetic on 2008-10-29 20:45:34 +0000
+
+2008-10-15 Wednesday 22:16  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_dox.m4 (1.9),
+	  ppl_interface_generator_prolog_dox_code.m4 (1.10),
+	  ppl_prolog_sysdep_dox (1.3), ppl_prolog_sysindep_dox (1.5): As in
+	  previous commit message - but with updated files.
+
+2008-10-15 Wednesday 21:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_dox.m4 (1.8),
+	  ppl_interface_generator_prolog_dox_code.m4 (1.9),
+	  ppl_prolog_sysdep_dox (1.2), ppl_prolog_sysindep_dox (1.4): These
+	  files have been rewritten so as to generate
+	  Prolog_configured_interface.dox (with the command "make
+	  Prolog_configured_interface.dox" in the interfaces/Prolog
+	  directory) and the configured documentation for the Prolog
+	  interface.  With an appropriate script the same files will
+	  generate the Prolog_interface.dox and hence the fixed
+	  documentation for Prolog.
+
+2008-10-15 Wednesday 21:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_procedure_generators.m4
+	  (1.42): Predicate schema's reordered to maintain groups of
+	  predicates with similar semantics/behaviour.
+
+2008-10-15 Wednesday 21:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.63): Decrease the timeout
+	  expected for a timeout exception and increase the timeout when an
+	  exception is not predicted.  Unwanted comment removed.
+
+2008-10-15 Wednesday 20:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.arm (1.1), m4/ac_check_fpu_control.m4 (1.14): Adopted a
+	  compromise solution for the ARM: this allows to easily build
+	  binary distributions, yet allowing those building from sources to
+	  be in full control.
+
+2008-10-15 Wednesday 20:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.arm (bounded_arithmetic.1): file README.arm was added on
+	  branch bounded_arithmetic on 2008-10-29 20:45:19 +0000
+
+2008-10-15 Wednesday 19:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu-c99.inlines.hh (1.20): Fixed silly bug in
+	  fpu_initialize_control_functions().
+
+2008-10-15 Wednesday 18:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/: definitions.dox (1.222), interfaces-latex.sed (1.4): The
+	  Section names in the ps and pdf files for extrenal references are
+	  in italics using <EM> and </EM> commands.
+
+	  In definitions.dox, the section name for extrapolation operators
+	  for the powerset now	named Powerset Extrapolation Operators
+
+2008-10-15 Wednesday 18:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/interfaces-latex.sed (bounded_arithmetic.1): file
+	  interfaces-latex.sed was added on branch bounded_arithmetic on
+	  2008-10-29 20:45:24 +0000
+
+2008-10-15 Wednesday 18:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu-c99.inlines.hh (1.19): At initialization time, check
+	  whether fesetround() works as expected: if not, throw an
+	  std::logic_error exception.
+
+2008-10-15 Wednesday 18:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.176): Small
+	  improvements.
+
+2008-10-15 Wednesday 18:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_fpu_control.m4 (1.13): Link with -lm.
+
+2008-10-15 Wednesday 18:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_fpu_control.m4 (1.12): Test strengthened to check the
+	  return value of fesetround().
+
+2008-10-15 Wednesday 13:16  Abramo Bagnara
+
+	* src/checked_int.inlines.hh (1.70): Repaired build reverting
+	  temporarily correctness fix.
+
+2008-10-15 Wednesday 11:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.62): Fixme removed and
+	  commented code uncommented.
+
+2008-10-15 Wednesday 10:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (1.269): Item removed.
+
+2008-10-15 Wednesday 10:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Ciao/: Makefile.am (1.85),
+	  ppl_interface_generator_ciao_prolog_generated_test_pl.m4 (1.2):
+	  Revised to enable the generated tests.
+
+2008-10-15 Wednesday 10:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_prolog_generated_test_pl.m4
+	  (bounded_arithmetic.1): file
+	  ppl_interface_generator_ciao_prolog_generated_test_pl.m4 was
+	  added on branch bounded_arithmetic on 2008-10-29 20:45:32 +0000
+
+2008-10-15 Wednesday 10:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl.m4
+	  (bounded_arithmetic.1): file
+	  ppl_interface_generator_prolog_generated_test_pl.m4 was added on
+	  branch bounded_arithmetic on 2008-10-29 20:45:33 +0000
+
+2008-10-15 Wednesday 10:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl_code.m4
+	  (bounded_arithmetic.1): file
+	  ppl_interface_generator_prolog_generated_test_pl_code.m4 was
+	  added on branch bounded_arithmetic on 2008-10-29 20:45:33 +0000
+
+2008-10-15 Wednesday 10:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/: pl_check.pl (1.61),
+	  ppl_interface_generator_prolog_generated_test_pl.m4 (1.2),
+	  ppl_interface_generator_prolog_generated_test_pl_code.m4 (1.9):
+	  The code for testing the timeout predicates revised; it avoids
+	  use of the deprecated predicates and is more robust with respect
+	  to changes in computation times.
+
+	  The generated test code also much improved and several bugs
+	  fixed.
+
+2008-10-14 Tuesday 23:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure (1.31): Old stuff removed.
+
+2008-10-14 Tuesday 23:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.268): One item postponed.
+
+2008-10-14 Tuesday 15:25  Abramo Bagnara
+
+	* src/checked_int.inlines.hh (1.69): Comparison are now done taking
+	  for granted C99 conformance.
+
+2008-10-14 Tuesday 15:24  Abramo Bagnara
+
+	* src/checked.inlines.hh (1.46): Added missing assertions.
+
+2008-10-14 Tuesday 15:20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/: Makefile.am (1.59), tests/Makefile.am (1.21):
+	  Remove useless -I option from ocamlc commands.
+
+2008-10-14 Tuesday 11:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/tests/Makefile.am (1.20): Let the executable
+	  tests also depend on ppl_ocaml.cma.
+
+2008-10-14 Tuesday 11:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/Makefile.am (1.58): Let ppl_ocaml.cma also
+	  depend on libppl_ocaml.a
+
+2008-10-13 Monday 18:57  Abramo Bagnara
+
+	* src/checked_float.inlines.hh (1.97): Added const.
+
+2008-10-13 Monday 16:59  Abramo Bagnara
+
+	* src/: checked_float.inlines.hh (1.96), compiler.hh (1.16):
+	  Optimized and fixed correctness.
+
+2008-10-13 Monday 15:23  Abramo Bagnara
+
+	* src/checked_float.inlines.hh (1.95): Fixed conversion.
+
+2008-10-13 Monday 15:14  Abramo Bagnara
+
+	* src/checked_float.inlines.hh (1.94): Reverted previous change.
+
+2008-10-13 Monday 15:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.175): All external
+	  references are emphasized using italics.
+
+2008-10-13 Monday 14:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/randphull1.cc (1.16): Temporary workaround for
+	  those machines (such as the ARM, possibly others) where we cannot
+	  control the FPU.
+
+2008-10-13 Monday 14:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Box/propagateconstraints2.cc (1.12): Adjusted the euclidean
+	  distance for test01.
+
+2008-10-13 Monday 14:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/propagateconstraints2.cc (bounded_arithmetic.1): file
+	  propagateconstraints2.cc was added on branch bounded_arithmetic
+	  on 2008-10-29 20:45:38 +0000
+
+2008-10-13 Monday 13:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.174): Removed unwanted
+	  </EM> in the widening of powersets documentation.
+
+2008-10-13 Monday 12:45  Abramo Bagnara
+
+	* src/checked_float.inlines.hh (1.93): Added missing optimization.
+
+2008-10-13 Monday 11:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Box/propagateconstraints2.cc (1.11): Restore tests with
+	  distances in the check_result() reset.
+
+2008-10-13 Monday 11:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Box/propagateconstraints2.cc (1.10): Disable tests while
+	  problems causing failures are investigated.
+
+2008-10-13 Monday 09:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Box/propagateconstraints2.cc (1.9): check_result for all
+	  tests does not need parameters.
+
+2008-10-13 Monday 08:27  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Box/propagateconstraints2.cc (1.8): Tests 02 and 03 succeed
+	  for all integer types.
+
+2008-10-13 Monday 08:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Box/propagateconstraints2.cc (1.7): Restore test01 to
+	  testing the outcome of the test.  Added two further simple
+	  versions of this test; test02 showed the same bug indicated by
+	  test01 while with the reversed bounds the symmetrically
+	  equivalent test03 did not fail.
+
+2008-10-13 Monday 08:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Box.templates.hh (1.132): Fixed a bug in
+	  propagate_constraint_no_check().
+
+2008-10-12 Sunday 20:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_fpu_control.m4 (1.11): Do this test using the C
+	  language (the file installed in
+	  $prefix/include/c++/VERSION/fenv.h by recent versions of GCC
+	  causes problems).
+
+2008-10-12 Sunday 20:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.395): The Ciao Prolog interface is not enabled by
+	  default.
+
+2008-10-12 Sunday 10:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.173): All \extref in
+	  the format \extref{<Ref>, <Name of section>}.
+
+2008-10-11 Saturday 22:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/configure.ac (1.53): The PWL is now enabled by default
+	  also on Cygwin.
+
+2008-10-11 Saturday 21:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_fpu_control.m4 (1.10): Fixed a copy-and-paste
+	  mistake.
+
+2008-10-11 Saturday 20:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/generate_dox_biblio.sed (1.3): Changed so as to generate
+	  anchors based on the BibTeX keys, not on the labels obtained with
+	  bibtex2html (which depend on the bibliography style).
+
+2008-10-11 Saturday 20:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/generate_dox_biblio.sed (bounded_arithmetic.1): file
+	  generate_dox_biblio.sed was added on branch bounded_arithmetic on
+	  2008-10-29 20:45:24 +0000
+
+2008-10-11 Saturday 20:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: checked.inlines.hh (1.45), checked_float.inlines.hh (1.92):
+	  Long source lines avoided.
+
+2008-10-11 Saturday 20:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu-none.inlines.hh (1.10): Fixed one bug and a few warnings.
+
+2008-10-11 Saturday 20:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Rounding_Dir.inlines.hh (1.9): Do not define round_fpu_dir()
+	  if !PPL_CAN_CONTROL_FPU.
+
+2008-10-11 Saturday 20:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu.defs.hh (1.21): Use PPL_CAN_CONTROL_FPU to simplify the
+	  logic here.
+
+2008-10-11 Saturday 20:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/: ac_cxx_double_binary_format.m4 (1.17),
+	  ac_cxx_float_binary_format.m4 (1.14),
+	  ac_cxx_long_double_binary_format.m4 (1.21): If we cannot control
+	  the FPU, all floating point types are unsupported.
+
+2008-10-11 Saturday 18:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am (1.89): Corrected a couple of file paths for
+	  configured-ocaml LaTeX manuals.
+
+2008-10-11 Saturday 18:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.221): Corrected a few bibliographic
+	  references.
+
+2008-10-11 Saturday 15:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_fpu_control.m4 (1.9): Cater for systems that have
+	  <fenv.h> or <ieeefp.h> but fail to define FE_UPWARD or
+	  FE_DOWNWARD.
+
+2008-10-11 Saturday 14:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.220): Bibliography updated.
+
+2008-10-11 Saturday 14:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/generate_dox_biblio.sed (1.2): Fixed.
+
+2008-10-11 Saturday 13:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/generate_dox_biblio (1.1),
+	  devtools/generate_dox_biblio.sed (1.1), doc/bib2dox (1.4),
+	  doc/bib2html1.sed (1.2), doc/bib2html2.sed (1.4): New version of
+	  the tool to generate the Doxygen version of a bibliography in
+	  BibTeX format.  (New version of the sed script written by Abramo
+	  Bagnara).
+
+2008-10-11 Saturday 13:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/generate_dox_biblio (bounded_arithmetic.1): file
+	  generate_dox_biblio was added on branch bounded_arithmetic on
+	  2008-10-29 20:45:24 +0000
+
+2008-10-11 Saturday 11:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am (1.88): Prefer $(srcdir) to @srcdir at .
+
+2008-10-11 Saturday 10:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.repo (1.29), Watchdog/configure.repo (1.5): The
+	  configure.repo files do not solve the problem they were meant to
+	  solve.
+
+2008-10-11 Saturday 10:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/tests/Makefile.am (1.5): Avoid using $(builddir).
+
+2008-10-11 Saturday 10:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: ppl-config.1 (1.8), ppl_lcdd.1 (1.6), ppl_lpsol.1 (1.6):
+	  Regenerated.
+
+2008-10-11 Saturday 10:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am (1.87): Avoid annoying changes of directories
+	  when building the OCaml docs.
+
+2008-10-11 Saturday 09:37  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Box/propagateconstraints2.cc (1.6): Previous change done to
+	  identify bug, reverted.
+
+2008-10-11 Saturday 09:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.394), configure.repo (1.28): The PWL is now
+	  enabled by default also on Cygwin.
+
+2008-10-10 Friday 22:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Box/propagateconstraints2.cc (1.5): Restore a proper test
+	  result.
+
+2008-10-10 Friday 22:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/prog2man (1.2): This functionality is now provided by
+	  `generate_man_pages' in the `devtools' directory.
+
+2008-10-10 Friday 22:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/generate_man_pages (1.1): Small script to generate the
+	  manpages in the `doc' directory.
+
+2008-10-10 Friday 21:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/bump_copyright_years (1.1): A small script to update the
+	  copyright years.
+
+2008-10-10 Friday 21:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/bump_copyright_years (bounded_arithmetic.1): file
+	  bump_copyright_years was added on branch bounded_arithmetic on
+	  2008-10-29 20:45:24 +0000
+
+2008-10-10 Friday 21:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/: cvs2cl.pl (1.1), update_ChangeLog (1.1): Machinery to
+	  automatically update the ChangeLog files.
+
+2008-10-10 Friday 21:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/cvs2cl.pl (bounded_arithmetic.1): file cvs2cl.pl was
+	  added on branch bounded_arithmetic on 2008-10-29 20:45:24 +0000
+
+2008-10-10 Friday 21:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/update_ChangeLog (bounded_arithmetic.1): file
+	  update_ChangeLog was added on branch bounded_arithmetic on
+	  2008-10-29 20:45:24 +0000
+
+2008-10-10 Friday 21:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.31), Watchdog/ChangeLog (1.20): Updated.
+
+2008-10-10 Friday 21:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am (1.86): Modified to match recent changes in the
+	  OCaml interface files.
+
+2008-10-10 Friday 21:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/: Makefile.am (1.57),
+	  ppl_interface_generator_ocaml_ml.m4 (1.19),
+	  ppl_interface_generator_ocaml_mli.m4 (1.23), ppl_ocaml_globals.ml
+	  (1.14), ppl_ocaml_globals.mli (1.1), ppl_ocaml_types.ml (1.16):
+	  The file ppl_ocaml_types.ml is now merged to
+	  ppl_ocaml_globals.ml.  Added the corresponding .mli file (instead
+	  of generating it using m4; m4 now includes it).
+
+2008-10-10 Friday 21:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_ocaml_globals.mli (bounded_arithmetic.1):
+	  file ppl_ocaml_globals.mli was added on branch bounded_arithmetic
+	  on 2008-10-29 20:45:30 +0000
+
+2008-10-10 Friday 21:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.49), configure.ac (1.393), configure.repo (1.27),
+	  debian/Makefile.am (1.6), fedora/Makefile.am (1.4): The `fedora'
+	  and `debian' directories are no longer distributed.
+
+2008-10-10 Friday 21:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/OCaml_interface.dox (1.6): The link for OCaml
+	  generated documentation is now set to the index page.
+
+2008-10-10 Friday 16:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.392), configure.repo (1.26): Version number
+	  bumped.
+
+2008-10-10 Friday 15:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.172): Typo fixed.
+
+2008-10-10 Friday 11:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.171): Typos fixed.	The
+	  introduction to the manual revised.  Structure/contents list for
+	  the main section improved and moved to earlier in the document.
+	  Links are now there to all the sections and subsections.  Issues
+	  relating to compilation and installation have been moved, where
+	  necessary, to that section.  Note about the stack size for GNU
+	  Prolog added.
+
+2008-10-09 Thursday 21:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* configure.ac (1.391), configure.repo (1.25): n Fedora 9 systems,
+	  the default path to (OpenJDK) java is /usr/lib/jvm/java.
+
+2008-10-09 Thursday 19:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/swi_prolog_generated_test.pl (1.4):
+	  Previous change reverted: library(lists) may not be installed.
+
+2008-10-09 Thursday 19:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/swi_prolog_generated_test.pl
+	  (bounded_arithmetic.1): file swi_prolog_generated_test.pl was
+	  added on branch bounded_arithmetic on 2008-10-29 20:45:33 +0000
+
+2008-10-09 Thursday 19:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/tests/Makefile.am (1.19): Optionally run the
+	  tests under Valgrind.
+
+2008-10-09 Thursday 15:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/namespaces.hh (1.16): Foreign language interface namespaces
+	  do not belong to the C++ interface group.
+
+2008-10-09 Thursday 15:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/: C/ppl_c_header.h (1.8),
+	  Java/parma_polyhedra_library/Parma_Polyhedra_Library.java (1.4),
+	  OCaml/OCaml_interface.dox (1.5), Prolog/Prolog_interface.dox
+	  (1.170): Added missing \defgroup Doxygen command for the foreign
+	  language interfaces.
+
+2008-10-09 Thursday 15:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.java
+	  (bounded_arithmetic.1): file Parma_Polyhedra_Library.java was
+	  added on branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-09 Thursday 15:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c_header.h (bounded_arithmetic.1): file
+	  ppl_c_header.h was added on branch bounded_arithmetic on
+	  2008-10-29 20:45:26 +0000
+
+2008-10-09 Thursday 14:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SWI/swi_prolog_generated_test.pl (1.3): Include
+	  the directive :-  use_module(library(lists), [member/2,
+	  append/2]).
+
+2008-10-09 Thursday 14:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.defs.hh (1.59): Class Octagonal_Shape is in
+	  the C++ interface documentation group.
+
+2008-10-09 Thursday 14:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/: Makefile.am (1.56), tests/Makefile.am (1.18):
+	  When compiling using ocamlc, set the stack limit to 1 MB.
+
+2008-10-09 Thursday 14:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/GNU/Makefile.am (1.84): Test
+	  ppl_prolog_generated_test added to check-local.
+
+2008-10-09 Thursday 11:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/GNU/Makefile.am (1.83): Include
+	  ppl_prolog_generated_test in check-local
+
+2008-10-09 Thursday 08:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/YAP/Makefile.am (1.70): Include
+	  ppl_prolog_generated_test in check-local.
+
+2008-10-09 Thursday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/Makefile.am (1.34): Keep the expected
+	  files together in EXTRA_DIST.
+
+2008-10-09 Thursday 08:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/Makefile.am (1.33): Distribute
+	  expected_pgt
+
+2008-10-09 Thursday 07:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	*
+	  interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl_code.m4
+	  (1.8): add_disjuncts test corrected.
+
+2008-10-08 Wednesday 21:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: SWI/Makefile.am (1.102), XSB/Makefile.am
+	  (1.79):  ppl_prolog_generated_test now included in check-local
+
+2008-10-08 Wednesday 21:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/: ac_check_ciao.m4 (1.4), ac_check_fpu_control.m4 (1.8),
+	  ac_check_gmp.m4 (1.29), ac_check_swi_prolog.m4 (1.17),
+	  ac_cxx_double_binary_format.m4 (1.16),
+	  ac_cxx_double_exact_output.m4 (1.9), ac_cxx_flexible_arrays.m4
+	  (1.16), ac_cxx_float_binary_format.m4 (1.13),
+	  ac_cxx_float_exact_output.m4 (1.7), ac_cxx_ieee_inexact_flag.m4
+	  (1.5), ac_cxx_limit_memory.m4 (1.2),
+	  ac_cxx_long_double_binary_format.m4 (1.20),
+	  ac_cxx_long_double_exact_output.m4 (1.14),
+	  ac_cxx_proper_long_double.m4 (1.5), ac_cxx_remainder_bug.m4
+	  (1.6), ppl.m4 (1.11), ppl_c.m4 (1.4): Contrary to what was
+	  recommended in
+	  http://www.cs.unipr.it/pipermail/ppl-devel/2008-September/012736.html,
+	  returning from main is non-portable only to the most ancient C
+	  compilers.  On the other hand, finding a suitable declaration for
+	  exit() is more problematic.  (Thanks to Ralf Wildenhues for
+	  pointing out that.)
+
+2008-10-08 Wednesday 21:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_ieee_inexact_flag.m4 (bounded_arithmetic.1): file
+	  ac_cxx_ieee_inexact_flag.m4 was added on branch
+	  bounded_arithmetic on 2008-10-29 20:45:34 +0000
+
+2008-10-08 Wednesday 21:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_limit_memory.m4 (bounded_arithmetic.1): file
+	  ac_cxx_limit_memory.m4 was added on branch bounded_arithmetic on
+	  2008-10-29 20:45:34 +0000
+
+2008-10-08 Wednesday 21:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/Makefile.am (1.100):
+	  ppl_prolog_generated_test now included in check-local
+
+2008-10-08 Wednesday 21:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/jni/: ppl_java_common.cc (1.51),
+	  ppl_java_common.defs.hh (1.6), ppl_java_common.inlines.hh (1.3),
+	  ppl_java_globals.cc (1.25): Added missing / fixed existing
+	  documentation; also renamed a few functions.
+
+2008-10-08 Wednesday 21:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.defs.hh
+	  (bounded_arithmetic.1): file ppl_java_common.defs.hh was added on
+	  branch bounded_arithmetic on 2008-10-29 20:45:27 +0000
+
+2008-10-08 Wednesday 19:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref.doxyconf-html.in (1.93), devref.doxyconf-latex.in
+	  (1.32): Added files Variables_Set.* to the list of input files
+	  for devref manuals.
+
+2008-10-08 Wednesday 19:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/Makefile.am (1.101): In a long command,
+	  make sure no backslash is followed by something that could expand
+	  to the null string.
+
+2008-10-08 Wednesday 17:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_ocaml_types.ml (1.15): Comment improved.
+
+2008-10-08 Wednesday 16:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.169): A number of small
+	  improvements and typos fixed.
+
+2008-10-08 Wednesday 08:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_mli.m4 (1.22),
+	  tests/ppl_interface_generator_ocaml_test_ml_code.m4 (1.19):
+	  Include the type declarations from ppl_ocaml_types.ml in the
+	  generated ppl_ocaml.mli.
+
+	  Fixed a bug in the generated tests file.
+
+2008-10-08 Wednesday 08:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/Makefile.am (1.100): Conditionally run
+	  tests under Valgrind.
+
+2008-10-07 Tuesday 22:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.390), configure.repo (1.24): Version number
+	  bumped.
+
+2008-10-07 Tuesday 21:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/OR_Matrix.defs.hh (1.17): Two FIXMEs added.
+
+2008-10-07 Tuesday 17:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/: lib-link.m4 (1.5), lib-prefix.m4 (1.6): Temporarily reverted
+	  to the versions distributed with Gettext 0.14.6 (the new versions
+	  from gnulib do not work for us... we are probably misusing them).
+
+2008-10-07 Tuesday 16:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_dox.m4 (1.7),
+	  ppl_interface_generator_prolog_dox_code.m4 (1.8),
+	  ppl_prolog_sysindep_dox (1.3): Revert unintended changes.
+
+2008-10-07 Tuesday 16:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Makefile.am (1.67),
+	  ppl_interface_generator_prolog_dox.m4 (1.6),
+	  ppl_interface_generator_prolog_dox_code.m4 (1.7): Uninteded
+	  change reverted.
+
+2008-10-07 Tuesday 16:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.168): More small
+	  improvements and bugs fixed.
+
+2008-10-07 Tuesday 15:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.167): Small improvement
+	  and a typo fixed.
+
+2008-10-07 Tuesday 15:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.219), src/Box.defs.hh (1.64): Avoid
+	  explicit mention of bounding boxes.  Change references to the
+	  section on intervals and boxes to "intervals".  All mention of
+	  covering boxes removed.
+
+2008-10-07 Tuesday 15:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/C_interface.dox (1.15): Change "who" to "which.
+
+2008-10-07 Tuesday 15:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Makefile.am (1.66), Prolog_interface.dox
+	  (1.166), ppl_interface_generator_prolog_dox.m4 (1.5),
+	  ppl_interface_generator_prolog_dox_code.m4 (1.6),
+	  ppl_prolog_sysindep_dox (1.2): typo fixed.
+
+2008-10-07 Tuesday 15:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.165): Corrected a few
+	  bugs.
+
+2008-10-07 Tuesday 12:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.58):
+	  Corrected error in template for add_disjunct.
+
+2008-10-07 Tuesday 11:56  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.57):
+	  Corrected an error in the template code for get_disjunct; avoid
+	  useless copies in the template code for linear/approximate
+	  partitions.  Try to be more consistent with template indentation
+	  and spacing.
+
+2008-10-07 Tuesday 11:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.164): A new _draft_
+	  version of the configure independent documentation for Prolog.
+
+2008-10-07 Tuesday 06:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.389), configure.repo (1.23): Version number
+	  bumped.
+
+2008-10-07 Tuesday 06:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.83): Fixed the guard controlling
+	  the definition of glpk_message_interceptor().
+
+2008-10-06 Monday 23:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: Makefile.am (1.85),
+	  devref-foreign-language-interface.doxyconf.in (1.5),
+	  interfaces-html.sed (1.3), interfaces-latex.sed (1.3),
+	  user-foreign-language-interface.doxyconf.in (1.5): Avoid warnings
+	  related to tag files when building latex manuals.
+
+2008-10-06 Monday 23:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref-foreign-language-interface.doxyconf.in
+	  (bounded_arithmetic.1): file
+	  devref-foreign-language-interface.doxyconf.in was added on branch
+	  bounded_arithmetic on 2008-10-29 20:45:24 +0000
+
+2008-10-06 Monday 23:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/interfaces-html.sed (bounded_arithmetic.1): file
+	  interfaces-html.sed was added on branch bounded_arithmetic on
+	  2008-10-29 20:45:24 +0000
+
+2008-10-06 Monday 23:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user-foreign-language-interface.doxyconf.in
+	  (bounded_arithmetic.1): file
+	  user-foreign-language-interface.doxyconf.in was added on branch
+	  bounded_arithmetic on 2008-10-29 20:45:24 +0000
+
+2008-10-06 Monday 21:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: Makefile.am (1.36), configure.ac (1.52),
+	  configure.repo (1.4), src/Makefile.am (1.16): Fixed the machinery
+	  used to conditionalize the build of the PWL.	The PWL is
+	  currently disabled under Cygwin because of the bug reported in
+	  http://www.cs.unipr.it/pipermail/ppl-devel/2008-October/013156.html.
+
+2008-10-06 Monday 15:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/tests/simple1.cc (bounded_arithmetic.1): file simple1.cc
+	  was added on branch bounded_arithmetic on 2008-10-29 20:45:22
+	  +0000
+
+2008-10-06 Monday 15:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: configure.ac (1.51), configure.repo (1.3), Makefile.am
+	  (1.35), README (1.18), m4/Makefile.am (1.4),
+	  src/Doubly_Linked_Object.defs.hh (1.6),
+	  src/Doubly_Linked_Object.inlines.hh (1.6), src/EList.defs.hh
+	  (1.8), src/EList.inlines.hh (1.6), src/EList_Iterator.defs.hh
+	  (1.6), src/EList_Iterator.inlines.hh (1.6), src/Handler.defs.hh
+	  (1.7), src/Handler.inlines.hh (1.6), src/Makefile.am (1.15),
+	  src/Pending_Element.cc (1.7), src/Pending_Element.defs.hh (1.7),
+	  src/Pending_Element.inlines.hh (1.6), src/Pending_List.cc (1.7),
+	  src/Pending_List.defs.hh (1.7), src/Pending_List.inlines.hh
+	  (1.6), src/Time.cc (1.7), src/Time.defs.hh (1.7),
+	  src/Time.inlines.hh (1.6), src/Watchdog.cc (1.9),
+	  src/Watchdog.defs.hh (1.9), src/Watchdog.inlines.hh (1.6),
+	  src/pwl_header.hh (1.7), tests/Makefile.am (1.4),
+	  tests/pwl_test.cc (1.2), tests/pwl_test.hh (1.2),
+	  tests/simple1.cc (1.3), utils/Makefile.am (1.12): Copyright
+	  notices made consistent.
+
+2008-10-05 Sunday 22:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/devref.doxyconf-latex.in (1.4),
+	  Watchdog/doc/user.doxyconf-html.in (1.5),
+	  Watchdog/doc/user.doxyconf-latex.in (1.5),
+	  doc/devref.doxyconf-html.in (1.92), doc/devref.doxyconf-latex.in
+	  (1.31), doc/user-foreign-language-interface.doxyconf.in (1.4),
+	  doc/user.doxyconf-html.in (1.44), doc/user.doxyconf-latex.in
+	  (1.15): Updated for Doxygen 1.5.7.1.
+
+2008-10-05 Sunday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/tests/Makefile.am (1.3): Spurious backslash removed.
+
+2008-10-05 Sunday 22:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/tests/: Makefile.am (1.2), valgrind_suppressions (1.1):
+	  Distribute also pwl_test.hh and valgrind_suppressions.
+
+2008-10-05 Sunday 22:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/tests/valgrind_suppressions (bounded_arithmetic.1): file
+	  valgrind_suppressions was added on branch bounded_arithmetic on
+	  2008-10-29 20:45:22 +0000
+
+2008-10-05 Sunday 22:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/devref.doxyconf-html.in (1.4),
+	  doc/devref-foreign-language-interface.doxyconf.in (1.4): Updated
+	  for Doxygen 1.5.7.1.
+
+2008-10-05 Sunday 22:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.388), configure.repo (1.22): Disable the PWL
+	  under Cygwin.  It is not yet clear whether Cygwin provides the
+	  services required in order to make it work.
+
+2008-10-05 Sunday 19:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	*
+	  interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java.m4
+	  (1.5): A few improvement to the pre/post class code: we now add a
+	  brief Doxygen comment with a link to the corresponding C++ class.
+	  The links work fine (in the HTML manuals, exploiting the tag
+	  file) as long as the C++ class names do not correspond to
+	  template instances.
+
+2008-10-05 Sunday 19:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java.m4
+	  (bounded_arithmetic.1): file
+	  ppl_interface_generator_java_classes_java.m4 was added on branch
+	  bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-05 Sunday 19:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am (1.84): Added more ad-hoc Doxygen commands for
+	  the configured-java manuals: we need to exclude the fixed
+	  documentation in Fake_Class_for_Doxygen.java (since otherwise
+	  Doxygen gets confused by the repeated class definitions);
+	  moreover, for the user manuals, we list undocumented members too.
+
+2008-10-05 Sunday 18:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	*
+	  interfaces/Java/parma_polyhedra_library/Fake_Class_for_Doxygen.java
+	  (1.4): Small correction.
+
+2008-10-05 Sunday 18:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/parma_polyhedra_library/Fake_Class_for_Doxygen.java
+	  (bounded_arithmetic.1): file Fake_Class_for_Doxygen.java was
+	  added on branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-05 Sunday 18:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/PPL_Object.java (1.5):
+	  Class PPL_Object should only concern developers.
+
+2008-10-05 Sunday 18:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/PPL_Object.java
+	  (bounded_arithmetic.1): file PPL_Object.java was added on branch
+	  bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-05 Sunday 12:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/C_interface.dox (1.14): Corrected/improved
+	  documentation for powerset iterators.
+
+2008-10-05 Sunday 10:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/tests/simple1.cc (1.2): Added some debug output.
+
+2008-10-05 Sunday 10:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/: Makefile.am (1.36), Prolog/Makefile.am (1.65),
+	  Prolog/Ciao/Makefile.am (1.84), Prolog/GNU/Makefile.am (1.82),
+	  Prolog/SICStus/Makefile.am (1.99), Prolog/SWI/Makefile.am (1.99),
+	  Prolog/XSB/Makefile.am (1.78), Prolog/YAP/Makefile.am (1.69),
+	  Prolog/tests/Makefile.am (1.32): No longer generating
+	  documentation file Prolog_interface.dox; rather, we now generate
+	  Prolog_configured_interface.dox.  Completed the simplification of
+	  conditional interface building: now the generation of Prolog
+	  interfaces too is based on the conditional definition of variable
+	  SUBDIRS.
+
+2008-10-05 Sunday 10:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am (1.83): The Java devref manual is now also based
+	  on generated Java source files to be found in
+	  builddir/interfaces/Java/parma_polyhedra_library.  The Prolog
+	  user manaul now depends on the fixed Prolog_interface.dox file.
+
+2008-10-05 Sunday 10:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.163): Added fixed
+	  version for Prolog_interface.dox: this will no longer be
+	  generated by m4 scripts.
+
+2008-10-05 Sunday 09:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/tests/.cvsignore (bounded_arithmetic.1): file .cvsignore
+	  was added on branch bounded_arithmetic on 2008-10-29 20:45:22
+	  +0000
+
+2008-10-05 Sunday 09:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: Makefile.am (1.34), configure.ac (1.50),
+	  configure.repo (1.2), tests/.cvsignore (1.1), tests/Makefile.am
+	  (1.1), tests/pwl_test.cc (1.1), tests/pwl_test.hh (1.1),
+	  tests/simple1.cc (1.1): Make some simple tests also with the
+	  Parma Watchdog Library.
+
+2008-10-05 Sunday 09:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.188): Readability improvement.
+
+2008-10-04 Saturday 22:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.387), configure.repo (1.21): Under Cygwin,
+	  SWI-Prolog does not work with foreign code.  We thus disable that
+	  interface on that architecture.
+
+2008-10-04 Saturday 21:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/ciao_efli.cc (1.6): Removed spurious
+	  `inline' qualifiers.
+
+2008-10-04 Saturday 21:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/ciao_efli.cc (bounded_arithmetic.1): file
+	  ciao_efli.cc was added on branch bounded_arithmetic on 2008-10-29
+	  20:45:32 +0000
+
+2008-10-04 Saturday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_ciao.m4 (1.3): Adapted to the SVN HEAD version of
+	  Ciao.
+
+2008-10-04 Saturday 19:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.130): The program memory1 cannot
+	  be used to test with Valgrind since it intentionally causes
+	  out-of-memory conditions.
+
+2008-10-04 Saturday 19:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure (1.30), TODO (1.267): One item dealt with.
+
+2008-10-04 Saturday 18:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.repo (1.20), Watchdog/m4/ax_prefix_config_h.m4 (1.2),
+	  m4/ax_prefix_config_h.m4 (1.3), m4/lib-link.m4 (1.4),
+	  m4/lib-prefix.m4 (1.5): Updated.
+
+2008-10-04 Saturday 17:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.43), config.sub (1.40), Watchdog/config.guess
+	  (1.27), Watchdog/config.sub (1.25): Updated.
+
+2008-10-04 Saturday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/OR_Matrix.inlines.hh (1.12): Removed one of the
+	  initializations added in
+	  http://www.cs.unipr.it/pipermail/ppl-devel/2006-June/009164.html
+
+2008-10-04 Saturday 17:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.templates.hh (1.122), Octagonal_Shape.templates.hh
+	  (1.92), Polyhedron_nonpublic.cc (1.86), checked.cc (1.25): Use
+	  PPL_UNINITIALIZED instead of explicit initializations and
+	  free-style comments.
+
+2008-10-04 Saturday 16:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/compiler.hh (1.15): New macro PPL_UNINITIALIZED allows a
+	  better markup and handling of those variables that are declared
+	  uninitialized on purpose.
+
+2008-10-04 Saturday 15:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/version.cc (1.13): Checks for compilers reordered.
+
+2008-10-04 Saturday 14:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/OR_Matrix.defs.hh (1.16): Useless inclusion removed.
+
+2008-10-04 Saturday 14:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Ptr_Iterator.defs.hh (1.14): A friend declarations was
+	  (wrongly) included only conditionally: fixed.
+
+2008-10-04 Saturday 10:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/:
+	  OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m4 (1.18),
+	  Prolog/tests/ppl_interface_generator_prolog_generated_test_pl_code.m4
+	  (1.7): Added simple tests for the copy iterator procedures in the
+	  interfaces.
+
+2008-10-04 Saturday 10:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	  (1.29): Removed spurious marker.
+
+2008-10-04 Saturday 10:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	  (bounded_arithmetic.1): file
+	  ppl_interface_generator_java_classes_cc_code.m4 was added on
+	  branch bounded_arithmetic on 2008-10-29 20:45:27 +0000
+
+2008-10-04 Saturday 10:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	  (1.28): In the templates for native implementations, try to
+	  follow a consistent indentation and line breaking style;
+	  moreover, prefer standard (and shorter) variable names, rather
+	  than variables names cluttered by (useless) m4-generated type
+	  information (this change produces 10-25% smaller cc files).
+
+2008-10-04 Saturday 09:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Ptr_Iterator.defs.hh (1.13): Changed `#ifdef' into `#if
+	  defined'.
+
+2008-10-04 Saturday 08:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl-config.cc.in (1.24): Temporarily unused function
+	  commented out.
+
+2008-10-04 Saturday 08:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	  (1.27): Implemented a better way of ignoring the jclass argument
+	  in the native implementation of static methods, yet avoiding
+	  compiler warnings.
+
+2008-10-04 Saturday 07:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.386), configure.repo (1.19): Disable more
+	  warnings when using the Intel C/C++ compiler.
+
+2008-10-04 Saturday 03:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/tests/ppl_c_test.h (1.2): Old-style declarations
+	  avoided.
+
+2008-10-04 Saturday 03:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/tests/ppl_c_test.h (bounded_arithmetic.1): file
+	  ppl_c_test.h was added on branch bounded_arithmetic on 2008-10-29
+	  20:45:27 +0000
+
+2008-10-04 Saturday 03:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/tests/print_to_buffer.cc (1.4): Spurious semicolons
+	  removed.
+
+2008-10-04 Saturday 03:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Powerset.templates.hh (1.42): Variable shadowing
+	  avoided.
+
+2008-10-04 Saturday 03:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.inlines.hh (1.2): Avoided
+	  redefinition of default argument.
+
+2008-10-04 Saturday 02:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.defs.hh (1.39): Trailing commas removed.
+
+2008-10-04 Saturday 02:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked.cc (1.24): Avoid a couple of compiler warnings.
+
+2008-10-04 Saturday 01:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_cc_code.m4
+	  (1.17), ppl_interface_generator_prolog_dox_code.m4 (1.5),
+	  ppl_interface_generator_prolog_hh_code.m4 (1.14),
+	  tests/ppl_interface_generator_prolog_generated_test_pl_code.m4
+	  (1.6): Implemented schema ppl_new_ at CLASS@_iterator_from_iterator.
+
+2008-10-04 Saturday 01:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/: ppl_interface_generator_java_dox.m4 (1.4),
+	  ppl_interface_generator_java_dox_code.m4 (1.5),
+	  ppl_java_common_dox (1.6),
+	  jni/ppl_interface_generator_java_classes_cc_code.m4 (1.26),
+	  parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
+	  (1.15), tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.50): Implemented schema
+	  ppl_new_ at CLASS@_iterator_from_iterator.  Got rid of no longer
+	  used m4 files for the generation of documentation.
+
+2008-10-04 Saturday 01:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
+	  (bounded_arithmetic.1): file
+	  ppl_interface_generator_java_classes_java_code.m4 was added on
+	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-04 Saturday 01:41  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/: C/ppl_interface_generator_c_cc_code.m4 (1.54),
+	  C/ppl_interface_generator_c_h_code.m4 (1.47),
+	  OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.56),
+	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.50),
+	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.41):
+	  Implemented schema ppl_new_ at CLASS@_iterator_from_iterator.
+
+2008-10-04 Saturday 01:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/ppl_interface_generator_common_procedure_generators.m4
+	  (1.41): Added schema ppl_new_ at CLASS@_iterator_from_iterator/2;
+	  renamed the schema for deleting iterators so as to follow common
+	  pattern.
+
+2008-10-04 Saturday 00:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.82): Make sure
+	  glpk_message_interceptor() is defined only when necessary.
+
+2008-10-03 Friday 23:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.385), configure.repo (1.18),
+	  interfaces/Prolog/GNU/gprolog_cfli.hh (1.10): Fixed the GNU
+	  Prolog interface.
+
+2008-10-03 Friday 23:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/:
+	  ppl_interface_generator_common_procedure_generators.m4 (1.40),
+	  C/ppl_interface_generator_c_cc_code.m4 (1.53),
+	  C/ppl_interface_generator_c_h_code.m4 (1.46),
+	  Java/ppl_interface_generator_java_procedure_generators.m4 (1.10),
+	  Java/jni/ppl_interface_generator_java_classes_cc_code.m4 (1.25),
+	  Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
+	  (1.14), OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.55),
+	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.49),
+	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.40),
+	  OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m4 (1.17),
+	  Prolog/ppl_interface_generator_prolog_cc_code.m4 (1.16),
+	  Prolog/ppl_interface_generator_prolog_hh_code.m4 (1.13):
+	  Procedure *drop_disjuncts has been added to all the interfaces.
+
+2008-10-03 Friday 23:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/membytes1.cc (1.8): Disable test02() in case doubles
+	  are not supported.
+
+2008-10-03 Friday 22:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ppl_test.cc (1.18): Use raw_value() so that a comparison is
+	  always defined, even if doubles are not supported.
+
+2008-10-03 Friday 22:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh (1.121): Debugging code removed.
+
+2008-10-03 Friday 22:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.384), configure.repo (1.17),
+	  m4/ac_cxx_double_binary_format.m4 (1.15),
+	  m4/ac_cxx_double_exact_output.m4 (1.8),
+	  m4/ac_cxx_float_binary_format.m4 (1.12),
+	  m4/ac_cxx_float_exact_output.m4 (1.6),
+	  m4/ac_cxx_long_double_binary_format.m4 (1.19),
+	  m4/ac_cxx_long_double_exact_output.m4 (1.13): We currently miss a
+	  "Plan B" for the case where exact output is not available.  So,
+	  in these cases, we declare the corresponding floating point type
+	  as unsupported.
+
+2008-10-03 Friday 22:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_float.inlines.hh (1.91): Reference to the C99
+	  standard fixed.
+
+2008-10-03 Friday 20:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* configure.ac (1.383), configure.repo (1.16): Restored java in the
+	  set of interfaces enabled by default.
+
+2008-10-03 Friday 18:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/tests/: ppl_interface_generator_ocaml_test_ml.m4
+	  (1.3), ppl_interface_generator_ocaml_test_ml_code.m4 (1.16),
+	  ppl_ocaml_tests_common (1.6), test1.ml (1.15): The tests are now
+	  quiet unless the PPL_NOISY_TESTS or PPL_VERY_NOISY_TESTS
+	  environment variable is defined.
+
+2008-10-03 Friday 18:10  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/:
+	  jni/ppl_interface_generator_java_classes_cc_code.m4 (1.24),
+	  parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
+	  (1.13), tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.49): Ensure the code for drop_disjuncts is generated.  Code
+	  corrected and test added.  Draft code for a copy constructor for
+	  the iterators, but code from this is not generated yet.
+
+2008-10-03 Friday 17:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_long_double_exact_output.m4 (1.12): Expected text
+	  fixed.
+
+2008-10-03 Friday 17:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_long_double_binary_format.m4 (1.18): Floating point
+	  literal fixed.
+
+2008-10-03 Friday 17:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.382), configure.repo (1.15),
+	  m4/ac_cxx_double_exact_output.m4 (1.7),
+	  m4/ac_cxx_float_exact_output.m4 (1.5),
+	  m4/ac_cxx_long_double_binary_format.m4 (1.17),
+	  m4/ac_cxx_long_double_exact_output.m4 (1.11): Test also with long
+	  double denormalized numbers.
+
+2008-10-03 Friday 16:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/Makefile.am (1.11): Added
+	  a couple of notes to recall that Fake_Class_for_Doxygen.java is
+	  only meant to be used when producing the documentation.
+
+2008-10-03 Friday 16:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/Makefile.am
+	  (bounded_arithmetic.1): file Makefile.am was added on branch
+	  bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-03 Friday 16:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	*
+	  interfaces/Java/parma_polyhedra_library/Fake_Class_for_Doxygen.java
+	  (1.3): More documentation improvements.
+
+2008-10-03 Friday 16:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_long_double_binary_format.m4 (1.16): Added missing 'L'
+	  suffix to floating point literal.
+
+2008-10-03 Friday 16:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/: ac_cxx_long_double_binary_format.m4 (1.15),
+	  ac_cxx_long_double_exact_output.m4 (1.10): Literals corrected.
+
+2008-10-03 Friday 16:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_long_double_exact_output.m4 (1.9): Expected text
+	  updated.
+
+2008-10-03 Friday 16:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_long_double_binary_format.m4 (1.14): Floating point
+	  literal fixed.
+
+2008-10-03 Friday 15:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.381), configure.repo (1.14),
+	  m4/ac_cxx_double_binary_format.m4 (1.14),
+	  m4/ac_cxx_double_exact_output.m4 (1.6),
+	  m4/ac_cxx_float_binary_format.m4 (1.11),
+	  m4/ac_cxx_float_exact_output.m4 (1.4),
+	  m4/ac_cxx_long_double_binary_format.m4 (1.13),
+	  m4/ac_cxx_long_double_exact_output.m4 (1.8), src/Float.defs.hh
+	  (1.32): Fixed several macro names.
+
+2008-10-03 Friday 15:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/MIP_Problem.java
+	  (bounded_arithmetic.1): file MIP_Problem.java was added on branch
+	  bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-03 Friday 15:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/: jni/ppl_java_globals.cc (1.24),
+	  parma_polyhedra_library/MIP_Problem.java (1.5): Added copy
+	  constructor, destructor and finalization to MIP_Problem.
+
+2008-10-03 Friday 14:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	  (1.23): Added code template for method drop_disjuncts.
+
+2008-10-03 Friday 14:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	*
+	  interfaces/Java/parma_polyhedra_library/Fake_Class_for_Doxygen.java
+	  (1.2): Added further methods that should be documented in the
+	  configuration-independent manuals for the Java interface.
+
+2008-10-03 Friday 14:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_long_double_exact_output.m4 (1.7): Preparation to test
+	  also with long double denormalized numbers.
+
+2008-10-03 Friday 12:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/: ac_cxx_double_binary_format.m4 (1.13),
+	  ac_cxx_double_exact_output.m4 (1.5): Test also with double
+	  denormalized numbers.
+
+2008-10-03 Friday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.81): Fixed copy-and-paste mistake.
+
+2008-10-03 Friday 12:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	*
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java
+	  (1.4): Fixed indentation.
+
+2008-10-03 Friday 12:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java
+	  (bounded_arithmetic.1): file Linear_Expression_Sum.java was added
+	  on branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-03 Friday 12:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/: ac_cxx_double_binary_format.m4 (1.12),
+	  ac_cxx_long_double_binary_format.m4 (1.12): Floating point
+	  literals fixed.
+
+2008-10-03 Friday 11:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Makefile.am (1.273): Spurious `-lppl' removed from LDADD.
+
+2008-10-03 Friday 11:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/tests/Makefile.am (1.6): We now use the convenience
+	  library libppl_c_tests.a.  When GCC is used, we compile C files
+	  with -pedantic -std=c89 -Werror: this way it will be harder to
+	  inadvertently pollute ppl_c.h with non-standard stuff.
+
+2008-10-03 Friday 11:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/tests/Makefile.am (bounded_arithmetic.1): file
+	  Makefile.am was added on branch bounded_arithmetic on 2008-10-29
+	  20:45:27 +0000
+
+2008-10-03 Friday 11:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/tests/cxxoutput.c (1.6): Include "ppl_c_test.h"
+	  instead of "ppl_test.h".
+
+2008-10-03 Friday 11:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/tests/cxxoutput.c (bounded_arithmetic.1): file
+	  cxxoutput.c was added on branch bounded_arithmetic on 2008-10-29
+	  20:45:27 +0000
+
+2008-10-03 Friday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/tests/: ppl_c_test.cc (1.1), ppl_c_test.h (1.1),
+	  ppl_test.h (1.2): Header file renamed and reimplemented.
+
+2008-10-03 Friday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/tests/ppl_c_test.cc (bounded_arithmetic.1): file
+	  ppl_c_test.cc was added on branch bounded_arithmetic on
+	  2008-10-29 20:45:27 +0000
+
+2008-10-03 Friday 11:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/tests/print_to_buffer.h (1.3): Spurious semicolons
+	  removed.
+
+2008-10-03 Friday 10:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/Makefile.am (1.48): If we use GCC, compile with
+	  -pedantic -std=gnu89 -Werror.
+
+2008-10-03 Friday 10:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.80): Conform to ISO C90 plus GNU
+	  extensions (because of the declaration of sigaction in
+	  <signal.h>).
+
+2008-10-03 Friday 10:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.380), configure.repo (1.13): New AM_CONDITIONAL
+	  GCC allows to write conditionals in Makefile.am that depend on
+	  whether we are using GCC or another compiler.
+
+2008-10-03 Friday 09:56  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* configure.ac (1.379), configure.repo (1.12): Temporarily remove
+	  java from the list of default interfaces.
+
+2008-10-03 Friday 09:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/: ac_cxx_double_exact_output.m4 (1.4),
+	  ac_cxx_float_exact_output.m4 (1.3),
+	  ac_cxx_long_double_exact_output.m4 (1.6): Use AC_DEFINE_UNQUOTED
+	  instead of AC_DEFINE.
+
+2008-10-03 Friday 09:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_interface_generator_c_h.m4 (1.26),
+	  ppl_interface_generator_c_h_code.m4 (1.45): Avoid generating
+	  spurious semicolons.
+
+2008-10-03 Friday 08:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* utils/build_header.in (1.7): Generate C-style comments instead of
+	  C++-style ones.
+
+2008-10-03 Friday 08:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/: ac_cxx_double_exact_output.m4 (1.3),
+	  ac_cxx_float_exact_output.m4 (1.2),
+	  ac_cxx_long_double_exact_output.m4 (1.5): Typos fixed.
+
+2008-10-02 Thursday 23:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/Makefile.am (1.30): Updated.
+
+2008-10-02 Thursday 23:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_long_double_exact_output.m4 (1.4): Expected value
+	  fixed.
+
+2008-10-02 Thursday 22:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_long_double_exact_output.m4 (1.3): Expected texts
+	  corrected.
+
+2008-10-02 Thursday 22:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_long_double_exact_output.m4 (1.2): Missing parenthesis
+	  added.
+
+2008-10-02 Thursday 22:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_double_exact_output.m4 (1.2): Expected text fixed.
+
+2008-10-02 Thursday 22:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.378), configure.repo (1.11),
+	  m4/ac_cxx_double_binary_format.m4 (1.11),
+	  m4/ac_cxx_float_binary_format.m4 (1.10),
+	  m4/ac_cxx_long_double_binary_format.m4 (1.11), src/Float.defs.hh
+	  (1.31): Detect whether the C++ run-time system supports the exact
+	  output of floating point types.
+
+2008-10-02 Thursday 22:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/: ac_cxx_double_exact_output.m4 (1.1),
+	  ac_cxx_float_exact_output.m4 (1.1),
+	  ac_cxx_long_double_exact_output.m4 (1.1): New functions to test
+	  whether C++ provides exact output for the floating point types.
+
+2008-10-02 Thursday 21:20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/: Makefile.am (1.35), C/Makefile.am (1.62),
+	  Java/Makefile.am (1.24), Java/jni/Makefile.am (1.28),
+	  Java/parma_polyhedra_library/Makefile.am (1.10),
+	  Java/tests/Makefile.am (1.26), OCaml/Makefile.am (1.55),
+	  OCaml/tests/Makefile.am (1.17): Simplified the handling of
+	  conditionally built foreign language interfaces by defining the
+	  SUBDIRS variable conditionally.  Change is implemented for the C,
+	  OCaml and Java interfaces; will be implemented in Prolog as soon
+	  as Prolog_interface.dox will become a fixed source file (rather
+	  than being generated on the fly by m4).
+
+2008-10-02 Thursday 21:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/C_interface.dox (1.13): Widenings moved to the
+	  sections listing ad hoc polyhedron functions.
+
+2008-10-02 Thursday 21:03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Powerset/simplifyusingcontext1.cc (1.7): Previous commit
+	  was wrong: tests 5 and 9 will overflow on 8 bit coefficients,
+	  *if* assertions are turned on.
+
+2008-10-02 Thursday 18:58  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am (1.82): The generation of the Java interface
+	  manuals is now based (among others) on the fixed file
+	  Fake_Class_for_Doxygen.java; we no longer use the genrated file
+	  Java_interface.dox.
+
+2008-10-02 Thursday 18:39  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	*
+	  interfaces/Java/parma_polyhedra_library/Fake_Class_for_Doxygen.java
+	  (1.1): Put under CVS control. This will substitute
+	  Java_interface.dox (currently still generated by m4).
+
+2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/Coefficient.java
+	  (bounded_arithmetic.1): file Coefficient.java was added on branch
+	  bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/Congruence_System.java
+	  (bounded_arithmetic.1): file Congruence_System.java was added on
+	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/Constraint.java
+	  (bounded_arithmetic.1): file Constraint.java was added on branch
+	  bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/Constraint_System.java
+	  (bounded_arithmetic.1): file Constraint_System.java was added on
+	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/parma_polyhedra_library/Control_Parameter_Name.java
+	  (bounded_arithmetic.1): file Control_Parameter_Name.java was
+	  added on branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/parma_polyhedra_library/Control_Parameter_Value.java
+	  (bounded_arithmetic.1): file Control_Parameter_Value.java was
+	  added on branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/Degenerate_Element.java
+	  (bounded_arithmetic.1): file Degenerate_Element.java was added on
+	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/parma_polyhedra_library/Domain_Error_Exception.java
+	  (bounded_arithmetic.1): file Domain_Error_Exception.java was
+	  added on branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/Generator.java
+	  (bounded_arithmetic.1): file Generator.java was added on branch
+	  bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/Generator_Type.java
+	  (bounded_arithmetic.1): file Generator_Type.java was added on
+	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/Grid_Generator.java
+	  (bounded_arithmetic.1): file Grid_Generator.java was added on
+	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/parma_polyhedra_library/Grid_Generator_System.java
+	  (bounded_arithmetic.1): file Grid_Generator_System.java was added
+	  on branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/Grid_Generator_Type.java
+	  (bounded_arithmetic.1): file Grid_Generator_Type.java was added
+	  on branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/parma_polyhedra_library/Invalid_Argument_Exception.java
+	  (bounded_arithmetic.1): file Invalid_Argument_Exception.java was
+	  added on branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/parma_polyhedra_library/Length_Error_Exception.java
+	  (bounded_arithmetic.1): file Length_Error_Exception.java was
+	  added on branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/Linear_Expression.java
+	  (bounded_arithmetic.1): file Linear_Expression.java was added on
+	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficient.java
+	  (bounded_arithmetic.1): file Linear_Expression_Coefficient.java
+	  was added on branch bounded_arithmetic on 2008-10-29 20:45:28
+	  +0000
+
+2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Difference.java
+	  (bounded_arithmetic.1): file Linear_Expression_Difference.java
+	  was added on branch bounded_arithmetic on 2008-10-29 20:45:28
+	  +0000
+
+2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.java
+	  (bounded_arithmetic.1): file Linear_Expression_Times.java was
+	  added on branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Unary_Minus.java
+	  (bounded_arithmetic.1): file Linear_Expression_Unary_Minus.java
+	  was added on branch bounded_arithmetic on 2008-10-29 20:45:28
+	  +0000
+
+2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.java
+	  (bounded_arithmetic.1): file Linear_Expression_Variable.java was
+	  added on branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/parma_polyhedra_library/Logic_Error_Exception.java
+	  (bounded_arithmetic.1): file Logic_Error_Exception.java was added
+	  on branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/Optimization_Mode.java
+	  (bounded_arithmetic.1): file Optimization_Mode.java was added on
+	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/parma_polyhedra_library/Overflow_Error_Exception.java
+	  (bounded_arithmetic.1): file Overflow_Error_Exception.java was
+	  added on branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/Pair.java
+	  (bounded_arithmetic.1): file Pair.java was added on branch
+	  bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/Partial_Function.java
+	  (bounded_arithmetic.1): file Partial_Function.java was added on
+	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/Poly_Con_Relation.java
+	  (bounded_arithmetic.1): file Poly_Con_Relation.java was added on
+	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/Poly_Gen_Relation.java
+	  (bounded_arithmetic.1): file Poly_Gen_Relation.java was added on
+	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/Relation_Symbol.java
+	  (bounded_arithmetic.1): file Relation_Symbol.java was added on
+	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-02 Thursday 18:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/: By_Reference.java
+	  (1.3), Coefficient.java (1.3), Congruence_System.java (1.3),
+	  Constraint.java (1.3), Constraint_System.java (1.3),
+	  Control_Parameter_Name.java (1.2), Control_Parameter_Value.java
+	  (1.2), Degenerate_Element.java (1.3), Domain_Error_Exception.java
+	  (1.3), Generator.java (1.3), Generator_Type.java (1.3),
+	  Grid_Generator.java (1.3), Grid_Generator_System.java (1.3),
+	  Grid_Generator_Type.java (1.3), Invalid_Argument_Exception.java
+	  (1.3), Length_Error_Exception.java (1.3), Linear_Expression.java
+	  (1.3), Linear_Expression_Coefficient.java (1.3),
+	  Linear_Expression_Difference.java (1.3),
+	  Linear_Expression_Sum.java (1.3), Linear_Expression_Times.java
+	  (1.3), Linear_Expression_Unary_Minus.java (1.3),
+	  Linear_Expression_Variable.java (1.3), Logic_Error_Exception.java
+	  (1.3), MIP_Problem.java (1.4), Optimization_Mode.java (1.3),
+	  Overflow_Error_Exception.java (1.3), PPL_Object.java (1.4),
+	  Pair.java (1.3), Parma_Polyhedra_Library.java (1.3),
+	  Partial_Function.java (1.3), Poly_Con_Relation.java (1.3),
+	  Poly_Gen_Relation.java (1.3), Relation_Symbol.java (1.3): Several
+	  improvements to the Doxygen documentation.
+
+2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/By_Reference.java
+	  (bounded_arithmetic.1): file By_Reference.java was added on
+	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-10-02 Thursday 18:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/memory2.cc (1.17): Fixed a bug whereby (besides
+	  not being Valgrind-clean) we were violating the API of GMP.
+
+2008-10-02 Thursday 18:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml.m4
+	  (1.2): Formatting improved.
+
+2008-10-02 Thursday 16:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh (1.120): Temporarily added debugging
+	  code to the closure method.
+
+2008-10-02 Thursday 16:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_cc_code.m4
+	  (1.15), ppl_prolog_common.cc (1.11), ppl_prolog_common.defs.hh
+	  (1.10), ppl_prolog_common.inlines.hh (1.2): New macro
+	  NOISY_PROLOG_TRACK_ALLOCATION allows to conditionally track
+	  allocation (as PROLOG_TRACK_ALLOCATION), but printing allocation
+	  and deallocation messages on std::cerr (differently from
+	  PROLOG_TRACK_ALLOCATION).
+
+	  Class PFunc renamed Partial_Function.
+
+2008-10-02 Thursday 14:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Ask_Tell/Makefile.am (1.7), BD_Shape/Makefile.am (1.80),
+	  Box/Makefile.am (1.74), Grid/Makefile.am (1.73),
+	  MIP_Problem/Makefile.am (1.12), Octagonal_Shape/Makefile.am
+	  (1.34), Partially_Reduced_Product/Makefile.am (1.6),
+	  Polyhedron/Makefile.am (1.129), Powerset/Makefile.am (1.6): Use
+	  `$(VALGRIND)' instead of `valgrind' directly.
+
+2008-10-02 Thursday 11:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.377), configure.repo (1.10), tests/Makefile.am
+	  (1.272), tests/valgrind_suppressions (1.6),
+	  tests/Ask_Tell/Makefile.am (1.6), tests/BD_Shape/Makefile.am
+	  (1.79), tests/Box/Makefile.am (1.73), tests/Grid/Makefile.am
+	  (1.72), tests/MIP_Problem/Makefile.am (1.11),
+	  tests/Octagonal_Shape/Makefile.am (1.33),
+	  tests/Partially_Reduced_Product/Makefile.am (1.5),
+	  tests/Polyhedron/Makefile.am (1.128), tests/Powerset/Makefile.am
+	  (1.5): New configure option --enable-valgrind-tests causes (some)
+	  library tests to be run under Valgrind.
+
+2008-10-02 Thursday 11:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/valgrind_suppressions (bounded_arithmetic.1): file
+	  valgrind_suppressions was added on branch bounded_arithmetic on
+	  2008-10-29 20:45:37 +0000
+
+2008-10-02 Thursday 11:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/tests/: C_Polyhedron_test1.java (1.17),
+	  MIP_Problem_test1.java (1.3), Makefile.am (1.25),
+	  NNC_Polyhedron_test1.java (1.4), PPL_Test.java (1.1),
+	  Parma_Polyhedra_Library_test1.java (1.2), Test_Executor.java
+	  (1.3), ppl_interface_generator_java_test_java.m4 (1.20),
+	  ppl_interface_generator_java_test_java_code.m4 (1.48),
+	  ppl_java_tests_common (1.17): Each test only outputs the results
+	  of the subtests if the environment variable PPL_NOISY_TESTS or
+	  PPL_VERY_NOISY_TESTS is defined.
+
+2008-10-02 Thursday 11:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/tests/MIP_Problem_test1.java
+	  (bounded_arithmetic.1): file MIP_Problem_test1.java was added on
+	  branch bounded_arithmetic on 2008-10-29 20:45:29 +0000
+
+2008-10-02 Thursday 11:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/tests/PPL_Test.java (bounded_arithmetic.1): file
+	  PPL_Test.java was added on branch bounded_arithmetic on
+	  2008-10-29 20:45:29 +0000
+
+2008-10-02 Thursday 11:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/tests/Parma_Polyhedra_Library_test1.java
+	  (bounded_arithmetic.1): file Parma_Polyhedra_Library_test1.java
+	  was added on branch bounded_arithmetic on 2008-10-29 20:45:29
+	  +0000
+
+2008-10-02 Thursday 10:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/: Makefile.am (1.31), pl_grid_check.pl
+	  (1.12): Removed pl_grid_check,pl as it is not being used or
+	  maintained.
+
+2008-10-02 Thursday 10:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/: Makefile.am (1.71), addconstraints1.cc (1.20),
+	  addgenerators1.cc (1.18), approximatepartition1.cc (1.5),
+	  generator1.cc (1.22), partition1.cc (1.8), removespacedims2.cc
+	  (1.17): Removed useless commented out tests that were mainly
+	  testing methods that were private.  Removed also some other
+	  commented out code in tests.	Tests renumbered to be consecutive.
+
+2008-10-02 Thursday 09:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.60): Removed tests for
+	  exceptions for non-existent predicates.  Modified the exception
+	  testing so as to check for the kind of exception that is thrown.
+
+2008-10-02 Thursday 09:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/tests/ppl_ocaml_tests_common (1.5): Several
+	  improvements.
+
+2008-10-02 Thursday 08:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/pointsetpowerset2.cc (1.2): Comments fixed.
+	  Commented-out code removed.
+
+2008-10-02 Thursday 08:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog_common.cc (1.10): More commented-out
+	  code removed.
+
+2008-10-02 Thursday 08:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog_common.defs.hh (1.9): Commented-out
+	  code removed.
+
+2008-10-02 Thursday 07:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_prolog_common.cc (1.9),
+	  ppl_prolog_common.defs.hh (1.8): PROLOG_TRACK_ALLOCATION revived.
+
+2008-10-02 Thursday 07:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/: pl_check.pl (1.59), pl_grid_check.pl
+	  (1.11): Typos fixed.
+
+2008-10-02 Thursday 06:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.templates.hh (1.119), Octagonal_Shape.templates.hh
+	  (1.91): Fixed two instances where a TEMP_INTEGER was used
+	  uninitialized.
+
+2008-10-01 Wednesday 22:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.defs.hh (1.5): Obsolete FIXME
+	  removed.
+
+2008-10-01 Wednesday 22:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/:
+	  ppl_interface_generator_java_classes_cc_code.m4 (1.22),
+	  ppl_java_common.cc (1.50), ppl_java_common.defs.hh (1.4),
+	  ppl_java_globals.cc (1.23): Renamed build_linear_expression() as
+	  build_cxx_linear_expression().
+
+2008-10-01 Wednesday 21:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/closure1.cc (1.30): Modified test03 so as to
+	  systematically ignore overflow errors; after this change, the
+	  test is meant to always succeed.
+
+2008-10-01 Wednesday 21:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/:
+	  ppl_interface_generator_java_classes_cc_code.m4 (1.21),
+	  ppl_java_common.cc (1.49), ppl_java_common.defs.hh (1.3),
+	  ppl_java_globals.cc (1.22): Begun fixing names and comments.
+
+2008-10-01 Wednesday 21:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Powerset/simplifyusingcontext1.cc (1.6): Due to the recent
+	  change to simplify_using_context implementation, tests 05 and 09
+	  no longer overflow when using 8 bit coefficients.
+
+2008-10-01 Wednesday 20:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/: ppl_ocaml_globals.ml (1.13),
+	  ppl_ocaml_types.ml (1.14): Two FIXMEs resolved.
+
+2008-10-01 Wednesday 20:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_ocaml_common.cc (1.6): Unused exception
+	  throwers removed.
+
+2008-10-01 Wednesday 20:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_ocaml_common.cc (bounded_arithmetic.1): file
+	  ppl_ocaml_common.cc was added on branch bounded_arithmetic on
+	  2008-10-29 20:45:30 +0000
+
+2008-10-01 Wednesday 20:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/: C/ppl_c_implementation_common.inlines.hh (1.4),
+	  OCaml/ppl_ocaml_common.cc (1.5): Be consistent concerning
+	  reinterpret_mpz_class().
+
+2008-10-01 Wednesday 20:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c_implementation_common.inlines.hh
+	  (bounded_arithmetic.1): file
+	  ppl_c_implementation_common.inlines.hh was added on branch
+	  bounded_arithmetic on 2008-10-29 20:45:26 +0000
+
+2008-10-01 Wednesday 15:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Ciao/Makefile.am (1.83): Revised the diff
+	  command for the generated test to use the relevant files.
+
+2008-10-01 Wednesday 15:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4 (1.10):
+	  Improved formatting of the generated file ppl_xsb.H
+
+2008-10-01 Wednesday 15:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_ml.m4 (1.18),
+	  ppl_interface_generator_ocaml_mli.m4 (1.21): Formatting
+	  improvements to the generated files.
+
+2008-10-01 Wednesday 14:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/:
+	  ppl_interface_generator_prolog_procedure_generators.m4 (1.6),
+	  Ciao/ppl_interface_generator_ciao_pl.m4 (1.9): Fixed some
+	  formatting bugs.
+
+2008-10-01 Wednesday 14:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/: ppl_interface_generator_c_h.m4 (1.25),
+	  ppl_interface_generator_c_hh_files.m4 (1.9): Formatting of
+	  generated files improved.
+
+2008-10-01 Wednesday 14:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_hh_files.m4
+	  (bounded_arithmetic.1): file
+	  ppl_interface_generator_c_hh_files.m4 was added on branch
+	  bounded_arithmetic on 2008-10-29 20:45:26 +0000
+
+2008-10-01 Wednesday 13:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Ciao/ciao_pl_check.pl (1.30): Added some
+	  missing predicates to the list.
+
+2008-10-01 Wednesday 12:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* STANDARDS (1.40): Added explanations for test macros
+	  DO_TEST_MAY_OVERFLOW_IF_INEXACT and
+	  DO_TEST_F<XXX>_MAY_OVERFLOW_IF_INEXACT.
+
+2008-10-01 Wednesday 12:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/GNU/Makefile.am (1.81): Removed unwanted
+	  copying/removing of files in code for executing the generated
+	  tests.
+
+2008-10-01 Wednesday 12:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/tests/print_to_buffer.h (1.2): Documentation
+	  updated.
+
+2008-10-01 Wednesday 11:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/GNU/Makefile.am (1.80): Further revisions - to
+	  the code for the generated tests.
+
+2008-10-01 Wednesday 11:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_pgt (bounded_arithmetic.1): file
+	  expected_pgt was added on branch bounded_arithmetic on 2008-10-29
+	  20:45:33 +0000
+
+2008-10-01 Wednesday 11:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/yap_prolog_generated_test.pl
+	  (bounded_arithmetic.1): file yap_prolog_generated_test.pl was
+	  added on branch bounded_arithmetic on 2008-10-29 20:45:33 +0000
+
+2008-10-01 Wednesday 11:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: GNU/Makefile.am (1.79),
+	  GNU/gnu_prolog_generated_test.pl (1.1), SICStus/Makefile.am
+	  (1.98), SWI/Makefile.am (1.98), SWI/swi_prolog_generated_test.pl
+	  (1.2), XSB/Makefile.am (1.77), YAP/Makefile.am (1.68),
+	  YAP/yap_prolog_generated_test.pl (1.1), tests/expected_pgt (1.1),
+	  tests/ppl_interface_generator_prolog_generated_test_pl_code.m4
+	  (1.5): Revised the code for running the generated tests.  The
+	  expected result (OK) is in expected_pgt.  Some coefficients in
+	  the generated tests have been simplified to avoid unintended
+	  overflows.
+
+2008-10-01 Wednesday 11:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/gnu_prolog_generated_test.pl
+	  (bounded_arithmetic.1): file gnu_prolog_generated_test.pl was
+	  added on branch bounded_arithmetic on 2008-10-29 20:45:32 +0000
+
+2008-10-01 Wednesday 10:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/closure1.cc (1.29): test02 will not overflow if
+	  using exact BD instances; test03 will overflow on 8bit
+	  configurations when using exact BD instances.
+
+2008-09-30 Tuesday 21:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Pointset_Powerset.templates.hh (1.41): Minor improvements to
+	  the simplify_using_context method: we now handle ad hoc the
+	  frequent case when the context is a singleton powerset.
+
+2008-09-30 Tuesday 20:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/closure1.cc (1.28): test02() and test03() may
+	  overflow also with 32 bits, if inexact coefficients are used.
+
+2008-09-30 Tuesday 20:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/stdiobuf.defs.hh (1.3): Documented.
+
+2008-09-30 Tuesday 20:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/stdiobuf.defs.hh (bounded_arithmetic.1): file
+	  stdiobuf.defs.hh was added on branch bounded_arithmetic on
+	  2008-10-29 20:45:36 +0000
+
+2008-09-30 Tuesday 19:44  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref.doxyconf-html.in (1.91), devref.doxyconf-latex.in
+	  (1.30): Added stdiobuf* files to Doxygen INPUT variable for
+	  devref documentation.
+
+2008-09-30 Tuesday 18:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.266): Typo fixed.
+
+2008-09-30 Tuesday 18:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c_implementation_common.defs.hh (1.7): Use the
+	  new system for all the I/O functions of the C interface.
+
+2008-09-30 Tuesday 18:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c_implementation_common.defs.hh
+	  (bounded_arithmetic.1): file ppl_c_implementation_common.defs.hh
+	  was added on branch bounded_arithmetic on 2008-10-29 20:45:26
+	  +0000
+
+2008-09-30 Tuesday 18:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/MIP_Problem.cc (1.73): In the ascii dump/load methods, do
+	  also deal with private fields `initialized' and `pricing'.
+
+2008-09-30 Tuesday 18:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: stdiobuf.cc (1.2), stdiobuf.defs.hh (1.2),
+	  stdiobuf.inlines.hh (1.2): Interface separated from
+	  implementation.
+
+2008-09-30 Tuesday 18:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/stdiobuf.cc (bounded_arithmetic.1): file stdiobuf.cc was
+	  added on branch bounded_arithmetic on 2008-10-29 20:45:36 +0000
+
+2008-09-30 Tuesday 18:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/stdiobuf.inlines.hh (bounded_arithmetic.1): file
+	  stdiobuf.inlines.hh was added on branch bounded_arithmetic on
+	  2008-10-29 20:45:36 +0000
+
+2008-09-30 Tuesday 18:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c_implementation_common.defs.hh (1.6),
+	  src/Makefile.am (1.187), src/stdiobuf.cc (1.1),
+	  src/stdiobuf.defs.hh (1.1), src/stdiobuf.inlines.hh (1.1),
+	  src/stdiobuf.types.hh (1.1): New standard solution for the
+	  ppl_*_ascii_load() functions in the C interface.  (The stdiobuf
+	  class has been implemented by Abramo Bagnara.)
+
+2008-09-30 Tuesday 18:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/stdiobuf.types.hh (bounded_arithmetic.1): file
+	  stdiobuf.types.hh was added on branch bounded_arithmetic on
+	  2008-10-29 20:45:36 +0000
+
+2008-09-30 Tuesday 17:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/README.gprolog (1.4): Revised the section
+	  on configuring the PPL for building the GNU Prolog interface.
+
+2008-09-30 Tuesday 17:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/closure1.cc (1.27): Invoke test02() and test03()
+	  with DO_TEST_F16_MAY_OVERFLOW_IF_INEXACT.
+
+2008-09-30 Tuesday 13:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Determinate.defs.hh, Determinate.inlines.hh, Makefile.am,
+	  Partially_Reduced_Product.defs.hh,
+	  Partially_Reduced_Product.templates.hh, Powerset.defs.hh,
+	  Powerset.templates.hh, Variable.cc, Variable.defs.hh,
+	  Variable.templates.hh
+	  (generalized_streams.[2,2,2,2,2,2,2,1,2,1]): Templatization
+	  continued.
+
+2008-09-30 Tuesday 12:56  Abramo Bagnara
+
+	* src/: Linear_Row.cc, MIP_Problem.cc, Ph_Status.cc,
+	  Poly_Con_Relation.cc, Poly_Gen_Relation.cc, Polyhedron_public.cc,
+	  Row.cc, Variables_Set.cc (generalized_streams.[1,1,1,1,1,1,1,1]):
+	  Missing templatization of the I/O functions and methods.
+
+2008-09-30 Tuesday 12:48  Abramo Bagnara
+
+	* src/: Linear_System.cc, Matrix.cc (generalized_streams.[1,1]):
+	  Missing templatization of the I/O functions and methods.
+
+2008-09-30 Tuesday 12:43  Abramo Bagnara
+
+	* src/Interval.defs.hh (generalized_streams.3): Added explicit
+	  cast.
+
+2008-09-30 Tuesday 12:37  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: SICStus/Makefile.am (1.97), SWI/Makefile.am
+	  (1.97), XSB/Makefile.am (1.76): the copying and removing of
+	  interfaces/Prolog/tests/ppl_predicate_check_common.pl is made
+	  conditional on whether or not the build is in the source
+	  directory.
+
+2008-09-30 Tuesday 12:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.templates.hh, Interval.defs.hh, Interval.inlines.hh,
+	  Interval.templates.hh (generalized_streams.[2,2,2,2]): Fixed more
+	  template parameter lists.
+
+2008-09-30 Tuesday 12:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh, BD_Shape.templates.hh, Box.defs.hh,
+	  Checked_Number.defs.hh, Checked_Number.inlines.hh,
+	  Checked_Number.templates.hh, DB_Matrix.defs.hh,
+	  DB_Matrix.templates.hh, Interval_Info.defs.hh,
+	  Interval_Restriction.defs.hh, OR_Matrix.defs.hh,
+	  OR_Matrix.templates.hh, Octagonal_Shape.defs.hh,
+	  Octagonal_Shape.templates.hh, checked_ext.inlines.hh
+	  (generalized_streams.[2,2,2,2,2,2,2,2,2,2,2,3,2,2,2]): Fixed
+	  several template parameter lists.
+
+2008-09-30 Tuesday 12:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/OR_Matrix.templates.hh (generalized_streams.2): Template
+	  parameters lists reordered.
+
+2008-09-30 Tuesday 12:12  Abramo Bagnara
+
+	* src/: Any_Pointset.defs.hh, Ask_Tell.defs.hh,
+	  Ask_Tell.inlines.hh, Ask_Tell.templates.hh, BDS_Status.idefs.hh,
+	  BDS_Status.inlines.hh, BD_Shape.defs.hh, BD_Shape.inlines.hh,
+	  BD_Shape.templates.hh, Bit_Matrix.cc, Bit_Matrix.defs.hh,
+	  Bit_Row.defs.hh, Box.defs.hh, Box.templates.hh,
+	  Box_Status.idefs.hh, Box_Status.inlines.hh,
+	  Checked_Number.defs.hh, Checked_Number.inlines.hh,
+	  Checked_Number.templates.hh, Coefficient.defs.hh, Congruence.cc,
+	  Congruence.defs.hh, Congruence_System.cc,
+	  Congruence_System.defs.hh, Constraint.cc, Constraint.defs.hh,
+	  Constraint_System.cc, Constraint_System.defs.hh,
+	  DB_Matrix.defs.hh, DB_Matrix.inlines.hh, DB_Matrix.templates.hh,
+	  DB_Row.inlines.hh, Determinate.defs.hh, Determinate.inlines.hh,
+	  Generator.cc, Generator.defs.hh, Generator.inlines.hh,
+	  Generator_System.cc, Generator_System.defs.hh, Grid.defs.hh,
+	  Grid_Generator.cc, Grid_Generator.defs.hh,
+	  Grid_Generator_System.cc, Grid_Generator_System.defs.hh,
+	  Grid_Status.cc, Grid_Status.idefs.hh, Grid_public.cc, checked.cc,
+	  checked_ext.defs.hh, checked_ext.inlines.hh
+	  (generalized_streams.[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]):
+	  More templatization of the I/O functions and methods.
+
+2008-09-30 Tuesday 12:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Constraint.defs.hh, Interval.defs.hh, Interval.inlines.hh,
+	  Interval.templates.hh, Interval_Info.defs.hh,
+	  Interval_Info.inlines.hh, Interval_Restriction.defs.hh,
+	  Linear_Row.defs.hh, Linear_System.defs.hh, MIP_Problem.defs.hh,
+	  Matrix.defs.hh, OR_Matrix.defs.hh, OR_Matrix.templates.hh,
+	  Octagonal_Shape.defs.hh, Octagonal_Shape.templates.hh,
+	  Og_Status.idefs.hh, Og_Status.inlines.hh,
+	  Partially_Reduced_Product.defs.hh,
+	  Partially_Reduced_Product.inlines.hh,
+	  Partially_Reduced_Product.templates.hh, Ph_Status.idefs.hh,
+	  Pointset_Ask_Tell.defs.hh, Pointset_Ask_Tell.templates.hh,
+	  Pointset_Powerset.defs.hh, Pointset_Powerset.templates.hh,
+	  Poly_Con_Relation.defs.hh, Poly_Gen_Relation.defs.hh,
+	  Polyhedron.defs.hh, Powerset.defs.hh, Powerset.templates.hh,
+	  Row.defs.hh, Variable.defs.hh, Variables_Set.defs.hh
+	  (generalized_streams.[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]):
+	  More templatization of the I/O functions and methods.
+
+2008-09-30 Tuesday 11:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Constraint.inlines.hh, Linear_Expression.cc,
+	  Linear_Expression.defs.hh, Linear_Expression.inlines.hh,
+	  Linear_Expression.templates.hh, Makefile.am, globals.defs.hh
+	  (generalized_streams.[1,1,1,1,1,1,1]): Templatization of input
+	  and output methods started.
+
+2008-09-30 Tuesday 11:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/tests/: Makefile.am (1.24),
+	  Parma_Polyhedra_Library_test1.java (1.1): Added tests for the
+	  Parma Polyhedra Library methods.
+
+2008-09-30 Tuesday 11:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/GNU/README.gprolog (1.3): Added a (draft) note
+	  on configuring for the GNU Prolog interface.
+
+2008-09-30 Tuesday 09:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/memory1.cc (1.17): On the Itanium, this test
+	  fails because of the bug reported in //
+	  http://www.cs.unipr.it/pipermail/ppl-devel/2008-September/012943.html
+
+2008-09-30 Tuesday 09:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/closure1.cc (1.26): Expected results for test02()
+	  and test03() fixed.
+
+2008-09-30 Tuesday 08:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/:
+	  ppl_interface_generator_common_procedure_generators.m4 (1.39),
+	  Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
+	  (1.12): Re-enable the approximate_partition method.
+
+	  Correct the m4 generating code for linear_partition and
+	  approximate_partition so that the method is only generated when
+	  the appropriate powerset domain is in the instantiations..
+
+2008-09-30 Tuesday 08:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/tests/MIP_Problem_test1.java (1.2): Comment
+	  corrected.
+
+2008-09-30 Tuesday 08:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/closure1.cc (1.25): Comments improved.
+
+2008-09-30 Tuesday 07:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/maxspacedim1.cc (1.19): Missing #else's added.
+
+2008-09-30 Tuesday 07:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/tests/Makefile.am (1.5): Fixed AM_CPPFLAGS.
+
+2008-09-30 Tuesday 00:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/ppl_interface_generator_common_procedure_generators.m4
+	  (1.38): Commented out line
+	  ppl_ at CLASS@_approximate_ at PARTITION@/5  +grid, It was breaking the
+	  buid in the Java interface, since it requires that
+	  Pointset_Powerset_Grid is enabled too.
+
+2008-09-29 Monday 23:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/containsintegerpoint1.cc (1.7): Corrected expected
+	  result.
+
+2008-09-29 Monday 23:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Octagonal_Shape/containsintegerpoint1.cc (1.8): Corrected
+	  knwon result for test03.
+
+2008-09-29 Monday 22:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/tests/Makefile.am (1.4): Unused definition commented
+	  out.
+
+2008-09-29 Monday 22:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/tests/Makefile.am (1.3): Trailing backslash removed.
+
+2008-09-29 Monday 22:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/tests/: Makefile.am (1.2), cxxoutput.c (1.5),
+	  ppl_test.h (1.1): Adde ppl_test.h, now only providing some
+	  facilities to control the noisiness of tests.
+
+2008-09-29 Monday 22:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ppl_test.hh (1.78): Include <cstdlib> for getenv().
+
+2008-09-29 Monday 22:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/:
+	  jni/ppl_interface_generator_java_classes_cc_code.m4 (1.20),
+	  parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
+	  (1.11), tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.47): Updated the partition method headers and tests so that
+	  the schema procedure name and code use the new pattern to match
+	  that in the procedure schema list.
+
+2008-09-29 Monday 22:10  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/: jni/ppl_java_common.cc (1.48),
+	  jni/ppl_java_globals.cc (1.21), tests/MIP_Problem_test1.java
+	  (1.1), tests/Makefile.am (1.23): Added tests for the MIP_Problem
+	  class and methods.
+
+	  Corrected some bugs in the same class.
+
+2008-09-29 Monday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c_implementation_common.defs.hh (1.5),
+	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	  (1.19), interfaces/Java/jni/ppl_java_common.cc (1.47),
+	  interfaces/Java/jni/ppl_java_globals.cc (1.20),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.54),
+	  interfaces/Prolog/ppl_prolog_common.cc (1.8),
+	  interfaces/Prolog/Ciao/ciao_cfli.hh (1.7),
+	  interfaces/Prolog/Ciao/ciao_efli.cc (1.5),
+	  interfaces/Prolog/SICStus/sicstus_efli.cc (1.4),
+	  src/Congruence.cc (1.21): The construct s.str().c_str(), where
+	  `s' is an std::ostringstream, is extremely dangerous.  In fact,
+	  the compiler can (and does!) destruct the temporary std::string
+	  object returned by str() as soon as c_str() returns, which
+	  results into a dangling pointer.  This construct is now avoided.
+
+2008-09-29 Monday 21:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/Makefile.am (1.61): Activated the `tests'
+	  subdirectory.
+
+2008-09-29 Monday 21:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/tests/cxxoutput.c (1.4): DIMENSION and line lengths
+	  increased.
+
+2008-09-29 Monday 21:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_gmp.m4 (1.28), src/Bit_Row.defs.hh (1.11): In order
+	  to use GMP from C++, always include <gmpxx.h>, not <gmp.h>.
+
+2008-09-29 Monday 21:03  Abramo Bagnara
+
+	* interfaces/C/tests/: cxxoutput.c (1.3), print_to_buffer.cc (1.3):
+	  Fixed c_str() use.
+
+2008-09-29 Monday 19:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c_implementation_common.defs.hh (1.4):
+	  Temporarily inhibited DEFINE_ASCII_DUMP_LOAD_FUNCTIONS.
+
+2008-09-29 Monday 18:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/tests/cxxoutput.c (1.2): Test with a higher
+	  dimension.  Handle the case where malloc() returns 0.
+
+2008-09-29 Monday 18:30  Abramo Bagnara
+
+	* interfaces/C/tests/print_to_buffer.cc (1.2): Fixed corner case.
+
+2008-09-29 Monday 17:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.376), configure.repo (1.9),
+	  interfaces/C/tests/Makefile.am (1.1),
+	  interfaces/C/tests/cxxoutput.c (1.1),
+	  interfaces/C/tests/print_to_buffer.cc (1.1),
+	  interfaces/C/tests/print_to_buffer.h (1.1): Drafted a new test
+	  for the C interface, showing how to print a nice debugging output
+	  onto a malloc-allocated buffer.  (The wrap_to_buffer() routine in
+	  print_to_buffer.cc has been written by Abramo Bagnara.)
+
+2008-09-29 Monday 17:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/Makefile.am (1.30): Do create
+	  ppl_prolog_generated_test.stamp.
+
+2008-09-29 Monday 16:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/tests/.cvsignore (1.1): Put under CVS control.
+
+2008-09-29 Monday 16:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/tests/.cvsignore (bounded_arithmetic.1): file
+	  .cvsignore was added on branch bounded_arithmetic on 2008-10-29
+	  20:45:27 +0000
+
+2008-09-29 Monday 16:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.265): Item revised.
+
+2008-09-29 Monday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.264): Pushed an item to PPL 0.11 or later version.
+
+2008-09-29 Monday 15:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/memory1.cc (1.16): The Alpha is no longer
+	  special, as far as this test is concerned.
+
+2008-09-29 Monday 14:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/memory1.cc (1.15): Use
+	  PPL_CXX_SUPPORTS_LIMITING_MEMORY.
+
+2008-09-29 Monday 13:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.375), configure.repo (1.8): Use
+	  AC_CXX_SUPPORTS_LIMITING_MEMORY.
+
+2008-09-29 Monday 13:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_limit_memory.m4 (1.1): New function to check whether it
+	  is possible to limit the memory available to processes using
+	  setrlimit().
+
+2008-09-29 Monday 11:49  Abramo Bagnara
+
+	* src/checked_mpz.inlines.hh (1.57): Fixed typo.
+
+2008-09-29 Monday 09:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/maxspacedim1.cc (1.18): Avoid testing with non
+	  supported floating point types.
+
+2008-09-29 Monday 09:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: BD_Shape/affinepreimage1.cc (1.25),
+	  BD_Shape/containsintegerpoint1.cc (1.6), BD_Shape/maxspacedim1.cc
+	  (1.6), Octagonal_Shape/affinepreimage1.cc (1.8),
+	  Octagonal_Shape/containsintegerpoint1.cc (1.7),
+	  Octagonal_Shape/maxspacedim1.cc (1.6): Avoid using non supported
+	  floating point types.
+
+2008-09-29 Monday 09:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/closure1.cc (1.24): Generalized so as to avoid
+	  using non supported floating point types.
+
+2008-09-29 Monday 09:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4 (1.33),
+	  Java/jni/ppl_java_common.cc (1.46),
+	  Java/jni/ppl_java_common.defs.hh (1.2),
+	  Java/jni/ppl_java_globals.cc (1.19),
+	  Java/parma_polyhedra_library/Control_Parameter_Name.java (1.1),
+	  Java/parma_polyhedra_library/Control_Parameter_Value.java (1.1),
+	  Java/parma_polyhedra_library/MIP_Problem.java (1.3),
+	  Java/parma_polyhedra_library/Makefile.am (1.9),
+	  OCaml/ppl_interface_generator_ocaml_mli.m4 (1.20),
+	  OCaml/ppl_ocaml_common.cc (1.4), OCaml/ppl_ocaml_globals.ml
+	  (1.12), OCaml/ppl_ocaml_types.ml (1.13), OCaml/tests/test1.ml
+	  (1.14),
+	  Prolog/ppl_interface_generator_prolog_procedure_generators.m4
+	  (1.5), Prolog/ppl_prolog_common.cc (1.7),
+	  Prolog/ppl_prolog_common.defs.hh (1.7),
+	  Prolog/Ciao/ciao_pl_check.pl (1.29), Prolog/XSB/xsb_pl_check.P
+	  (1.35), Prolog/tests/pl_check.pl (1.58): The new methods for
+	  MIP_Problem for the control_parameters now added to the Java,
+	  OCaml and Prolog interfaces.
+
+	  Tests for these methods for the OCaml and Prolog interfaces
+	  added.
+
+	  Added a new macro to ppl_interface_generator_common.m4 that finds
+	  the difference of two sequences - as yet unused.
+
+2008-09-29 Monday 09:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	  (1.18): Corrected schema names for the partition methods and
+	  fixed a bug in the code for approximate_partition.
+
+2008-09-29 Monday 08:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/MIP_Problem/mipproblem3.cc (1.7): Test 09 overflows with 64
+	  bit integers too.
+
+2008-09-28 Sunday 18:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ppl_test.cc (1.17): Improved check_distance().
+
+2008-09-28 Sunday 17:37  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/MIP_Problem/mipproblem3.cc (1.6): Modified known results of
+	  tests 05 and 08; for test 05, modified feasible region so as to
+	  have a unique optimal solution.
+
+2008-09-28 Sunday 17:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/MIP_Problem/mipproblem1.cc (1.13): Minor modification to
+	  the feasible region for test06 so as to have a unique optimal
+	  solution.
+
+2008-09-28 Sunday 17:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/ppl_test.cc (1.16): Avoid a division-by-zero error when
+	  printing +inf in check_distance.
+
+2008-09-28 Sunday 16:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.cc (1.72): The MIP solver no longer depends on
+	  the set of floating point types that are fully supported by the
+	  PPL.
+
+2008-09-28 Sunday 15:04  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh (1.101), Checked_Number.inlines.hh
+	  (1.83): Reverted operator/assign specializations removal.
+
+2008-09-28 Sunday 14:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_long_double_binary_format.m4 (1.10): Work around
+	  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37661.
+
+2008-09-28 Sunday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.374), configure.repo (1.7): Avoid unsupported
+	  instantiations.
+
+2008-09-28 Sunday 12:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/user-foreign-language-interface.doxyconf.in (1.3): Corrected
+	  value for configuration variable EXPAND_AS_DEFINED.
+
+2008-09-28 Sunday 12:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am (1.81): Corrected dependencies for the C
+	  documentation.
+
+2008-09-28 Sunday 12:18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/: C_interface.dox (1.12), ppl_c_header.h (1.7),
+	  ppl_interface_generator_c_h.m4 (1.24),
+	  ppl_interface_generator_c_h_code.m4 (1.44): Added brief
+	  descriptions for the generated interfaces when building the
+	  configuration-dependent documentation.  Reorganized the
+	  preprocessor macros for IO operators (they now come in two
+	  version, with and without brief documentation).
+
+2008-09-28 Sunday 12:02  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh (1.100), Checked_Number.inlines.hh
+	  (1.82): Reverted illegal code simplification.
+
+2008-09-28 Sunday 11:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/interval1.cc (1.10): Test only with the supported
+	  floating point types.
+
+2008-09-28 Sunday 11:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: FCAIBVP.cc (1.7), FCAIBVP.defs.hh (1.7),
+	  FCAIBVP.inlines.hh (1.7), FCAIBVP.types.hh (1.4), Makefile.am
+	  (1.271), Partial_Function.cc (1.8), Partial_Function.defs.hh
+	  (1.6), Partial_Function.inlines.hh (1.5),
+	  Partial_Function.types.hh (1.4), ppl_test.cc (1.15), ppl_test.hh
+	  (1.77), print.cc (1.30), print.hh (1.47): Test stuff reorganized.
+
+2008-09-28 Sunday 10:56  Abramo Bagnara
+
+	* src/Checked_Number.defs.hh (1.99), src/Checked_Number.inlines.hh
+	  (1.81), src/Interval.defs.hh (1.58), src/checked.defs.hh (1.46),
+	  src/checked.inlines.hh (1.44), src/checked_ext.inlines.hh (1.42),
+	  src/checked_float.inlines.hh (1.90), src/checked_int.inlines.hh
+	  (1.68), src/checked_mpq.inlines.hh (1.47),
+	  src/checked_mpz.inlines.hh (1.56), tests/ppl_test.cc (1.14):
+	  Abstracted special values to avoid use of native floating point
+	  types when they are unuseable.
+
+2008-09-27 Saturday 21:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* instchk.hh (1.18): Reject instantiations using unsupported
+	  floating point types.
+
+2008-09-27 Saturday 20:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_procedure_generators.m4
+	  (1.13): In the C interface, also enabled the @BINMINOP@ methods
+	  (deprecated, but still here for backward compatibility with 0.9).
+
+2008-09-27 Saturday 19:41  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/: Java/ppl_interface_generator_java_dox_code.m4 (1.4),
+	  Java/jni/ppl_interface_generator_java_classes_cc_code.m4 (1.17),
+	  Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
+	  (1.10), OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.53),
+	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.48),
+	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.39),
+	  OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m4 (1.15):
+	  For the Java and OCaml interfaces, get rid of useless templates
+	  for the add_ at REPRESENT@(s)_and_minimize and the @BINMINOP@
+	  operators (these are deprecated and only kept for the C
+	  interface).
+
+2008-09-27 Saturday 19:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/ppl_interface_generator_c_procedure_generators.m4
+	  (1.12): Re-enable the add_..._and_minimize methods for the C
+	  interface.
+
+2008-09-27 Saturday 13:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.52): Bug
+	  whereby the code for the BHZ03 widening for the powerset domains
+	  was not being generated for the C interface fixed.
+
+2008-09-27 Saturday 12:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_procedure_generators.m4
+	  (1.37): Reenable the partition methods for the interfaces.
+
+2008-09-27 Saturday 12:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am (1.80): More corrections for the clean targets.
+
+2008-09-27 Saturday 10:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am (1.79): Corrected typo whereby the core user and
+	  devref html docs were not cleaned up.
+
+2008-09-27 Saturday 09:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.90): Changes
+	  that should have been included in previous commit.
+
+2008-09-27 Saturday 09:39  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/ppl_interface_generator_common_procedure_generators.m4
+	  (1.36): Disabled the generation of
+	  [linear,approximated]_partition code, as it was breaking the
+	  build.
+
+2008-09-27 Saturday 08:58  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/Makefile.am (1.60): Reverted previous change, as it
+	  breaks the build.
+
+2008-09-27 Saturday 00:17  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/:
+	  ppl_interface_generator_common_procedure_generators.m4 (1.35),
+	  C/ppl_interface_generator_c_cc_code.m4 (1.51),
+	  C/ppl_interface_generator_c_h_code.m4 (1.43),
+	  Java/ppl_interface_generator_java_dox_code.m4 (1.3),
+	  Java/jni/ppl_interface_generator_java_classes_cc_code.m4 (1.16),
+	  Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
+	  (1.9), Java/tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.46), OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.52),
+	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.47),
+	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.38),
+	  OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m4 (1.14),
+	  Prolog/ppl_interface_generator_prolog_cc_code.m4 (1.14),
+	  Prolog/ppl_interface_generator_prolog_dox_code.m4 (1.4),
+	  Prolog/ppl_interface_generator_prolog_hh_code.m4 (1.12),
+	  Prolog/tests/ppl_interface_generator_prolog_generated_test_pl_code.m4
+	  (1.4): Fixed a problem in the code generation for
+	  linear_partition and approximate_partition.
+
+	  This problem occurred in the Prolog interfaces when the list of
+	  instantiations did not include Pointset_Powerset<NNC_Polyhedron>
+	  and/or Pointset_Powerset<Grid>.
+
+	  Note that each of the Prolog systems generates
+	  headers/declarations for every instance of every active schema in
+	  the procedure list.  Therefore if the code is not required
+	  because the set of instantiations does not include
+	  Pointset_Powerset<NNC_Polyhedron> (resp.,
+	  Pointset_Powerset<Grid>) we have also to ensure that the
+	  header/declaration is not generated.
+
+2008-09-26 Friday 23:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/Makefile.am (1.59): Corrected a file name and
+	  removed unnecessary repetitions.
+
+2008-09-26 Friday 18:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_h_code.m4 (1.42): Added
+	  \relates Doxygen commands to the function declaration templates.
+
+2008-09-26 Friday 18:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_h.m4 (1.23): Use m4 macro
+	  m4_pre_extra_class_code to introduce the name of the interface in
+	  the Doxygen configuration-dependent manuals.
+
+2008-09-26 Friday 15:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/C_interface.dox (1.11): Documented conversion
+	  constructors taking a complexity class as argument.
+
+2008-09-26 Friday 15:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/: OCaml/ppl_ocaml_common.cc (1.3),
+	  Prolog/ppl_prolog_common.cc (1.6),
+	  Prolog/ppl_prolog_common.defs.hh (1.6): Added minimal explanation
+	  for functions and variables that are commented out via (trivial)
+	  preprocessing conditionals. Similar stuff grouped together, so as
+	  to also minimize the number of conditionals.
+
+2008-09-26 Friday 13:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Box.templates.hh (1.131), MIP_Problem.cc (1.71),
+	  OR_Matrix.inlines.hh (1.11), Octagonal_Shape.templates.hh (1.90),
+	  Polyhedron_public.cc (1.143): Added a few missing comments to
+	  preprocessing conditionals.  Removed a few lines of (old, ad-hoc,
+	  debugging related, no longer working) code that was already
+	  filtered away by a preprocessing conditional.
+
+2008-09-26 Friday 12:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	*
+	  interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl_code.m4
+	  (1.3): Commented test, uncommented.
+
+2008-09-26 Friday 11:39  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.89): Enable
+	  omega_reduce() in all the interfaces for the powerset domains.
+
+2008-09-26 Friday 11:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	  (1.15): When translating a C++ std::pair object into a Java Pair
+	  object, avoid useless copies of the pair elements (use swaps
+	  instead).
+
+2008-09-26 Friday 11:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/difference1.cc (1.8): Enabled test15 (that was
+	  witnessing a bug, now corrected).
+
+2008-09-26 Friday 11:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/difference1.cc (bounded_arithmetic.1): file
+	  difference1.cc was added on branch bounded_arithmetic on
+	  2008-10-29 20:45:38 +0000
+
+2008-09-26 Friday 11:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (1.130): Corrected a bug (spotted by Pat) on
+	  the difference_assign method.
+
+2008-09-26 Friday 11:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Box/difference1.cc (1.7): Added commented test that shows
+	  an assertion failure.
+
+2008-09-26 Friday 10:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/C_interface.dox (1.10): Added hand-crafted
+	  documentation for the ad-hoc types and functions provided by
+	  Pointset_Powerset.
+
+2008-09-26 Friday 10:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/:
+	  ppl_interface_generator_common_procedure_generators.m4 (1.34),
+	  C/ppl_interface_generator_c_cc_code.m4 (1.50),
+	  C/ppl_interface_generator_c_h_code.m4 (1.41),
+	  C/ppl_interface_generator_c_procedure_generators.m4 (1.11),
+	  Java/ppl_interface_generator_java_dox_code.m4 (1.2),
+	  Java/jni/ppl_interface_generator_java_classes_cc_code.m4 (1.14),
+	  Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
+	  (1.8), Java/tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.45), OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.51),
+	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.46),
+	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.37),
+	  OCaml/ppl_interface_generator_ocaml_procedure_generators.m4
+	  (1.6), OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m4
+	  (1.13), Prolog/ppl_interface_generator_prolog_cc_code.m4 (1.13),
+	  Prolog/ppl_interface_generator_prolog_dox_code.m4 (1.3),
+	  Prolog/ppl_interface_generator_prolog_hh_code.m4 (1.11),
+	  Prolog/tests/ppl_interface_generator_prolog_generated_test_pl_code.m4
+	  (1.2): Completed the code and main changes needed for
+	  linear_partition and approximate_partition in all the interfaces.
+
+	  Now the methods' classes are always simple and the partition is
+	  always in the Pointset_Powerset<NNC_Polyhedron> (if the domain is
+	  not Grid) or Pointset_Powerset<Grid> for the grid domain.
+
+	  Simple tests for these new methods added for the different
+	  interfaces.
+
+2008-09-26 Friday 00:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_procedure_generators.m4
+	  (1.33): Disable linear_partition methods again until the Prolog
+	  tests have been adapted.
+
+2008-09-25 Thursday 23:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/:
+	  ppl_interface_generator_common_procedure_generators.m4 (1.32),
+	  Java/jni/ppl_interface_generator_java_classes_cc_code.m4 (1.13),
+	  Java/tests/ppl_java_tests_common (1.16): Allow for changes to
+	  linear_partition in Java.  Simplified the coefficients in the
+	  tests so as to avoid an unintended overflow exception.
+
+2008-09-25 Thursday 23:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4
+	  (1.12): Implemented ppl_ at CLASS@_linear_partition/4,
+	  distinguishing the polyhedron and the non-polyhedron cases.
+
+2008-09-25 Thursday 23:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4
+	  (1.10): Added declaration for ppl_ at CLASS@_linear_partition/4.
+
+2008-09-25 Thursday 19:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_procedure_generators.m4
+	  (1.31): The method schema just added for linear_partiton,
+	  commented out as this broke the build of the prolog interface.
+
+2008-09-25 Thursday 18:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/:
+	  ppl_interface_generator_common_procedure_generators.m4 (1.30),
+	  C/ppl_interface_generator_c_cc_code.m4 (1.49),
+	  C/ppl_interface_generator_c_h_code.m4 (1.40),
+	  Java/jni/ppl_interface_generator_java_classes_cc_code.m4 (1.12),
+	  Java/jni/ppl_interface_generator_java_classes_cc_files.m4 (1.7),
+	  Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
+	  (1.7), Java/tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.44), OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.50),
+	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.45),
+	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.36),
+	  Prolog/ppl_interface_generator_prolog_cc_code.m4 (1.11),
+	  Prolog/ppl_interface_generator_prolog_hh_code.m4 (1.9): Started
+	  changes for linear_partition in the interfaces so that its class
+	  is that of its arguments and the 1st argument of the returned
+	  pair.  The schema for this is called ppl_ at CLASS@_linear_partition
+	  to avoid confusion with the old schema ppl_ at CLASS@_ at PARTITION@.
+
+2008-09-25 Thursday 18:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_files.m4
+	  (bounded_arithmetic.1): file
+	  ppl_interface_generator_java_classes_cc_files.m4 was added on
+	  branch bounded_arithmetic on 2008-10-29 20:45:27 +0000
+
+2008-09-25 Thursday 18:29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c_header.h (1.6): Use alias \extref instead of
+	  \ref when referring to external documentation (i.e., the core
+	  manuals) so that tag files will work for HTML and no error is
+	  obtained in LaTeX.
+
+2008-09-25 Thursday 18:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_h.m4 (1.22): Disabled
+	  Doxygen grouping in the generated code.
+
+2008-09-25 Thursday 18:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am (1.78): Added a few missing dependencies.
+	  Restored a few calls to ocamldoc, so as to produce ocamldoc.sty
+	  (to be re-checked).
+
+2008-09-25 Thursday 12:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/: ppl_interface_generator_c_cc_code.m4 (1.48),
+	  ppl_interface_generator_c_h_code.m4 (1.39): Added more methods to
+	  the C interface code.
+
+2008-09-25 Thursday 12:04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/: C_interface.dox (1.9), ppl_c_header.h (1.5),
+	  ppl_c_version.h.in (1.9): Exploit the \interface Doxygen command
+	  in combination with \relates so as to group related types and
+	  functions in the C interface documentation.  Striclty speaking,
+	  an (opaque) C structure tag is not an interface ...  but for our
+	  purposes it behaves as if it was.
+
+2008-09-25 Thursday 10:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/tests/: ppl_interface_generator_java_test_java.m4
+	  (1.19), ppl_interface_generator_java_test_java_code.m4 (1.43),
+	  ppl_java_tests_common (1.15): Test generation improved,
+	  simplified and comments added.  Code for generating tests
+	  improved and each test is independent from the others.  For the
+	  generated code, all but one method is now tested.  Note that much
+	  of the fixed code such as for the MIP domain is not  yet tested.
+
+2008-09-25 Thursday 10:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am (1.77): The ocamldoc tool should be only invoked
+	  when building the configuration-dependent documentation.
+
+2008-09-25 Thursday 00:37  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/:
+	  ppl_interface_generator_common_procedure_generators.m4 (1.29),
+	  Prolog/ppl_interface_generator_prolog_procedure_generators.m4
+	  (1.4): Restore the "and_minimize" predicates disabled in the
+	  previous commit for the Prolog interfaces as otherwise the tests
+	  in pl_check.pl.  clpq.pl and clpq2.pl will not compile.
+
+2008-09-25 Thursday 00:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.88),
+	  ppl_interface_generator_common_procedure_generators.m4 (1.28),
+	  OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.49),
+	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.44),
+	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.35): Disable
+	  all the "and_minimize" methods in all the interfaces.
+
+	  Ensure that linear_partition method is only used if the
+	  Pointset_Powerset<NNC_Polyhedron> is one of the instantiations.
+
+	  Add the OCaml code for "approximate_partition" in the Grid
+	  domain.
+
+	  Note that tests for both linear_partition and
+	  approximate_partition still to be added.
+
+2008-09-24 Wednesday 22:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am (1.76): Expanded and reorganized the set of
+	  documentation targets. We now support targets whose name
+	  specifies for whom to produce (user/devref) and the desired
+	  format (html, pdf, ps). For instance, we have targets such as
+	  `user-html', `user-pdf', `devref-ps', etc.  Targets `user' and
+	  `devref' produce all three formats.  Adding the word `configured'
+	  (e.g., user-configured-html or devref-configured) allows for
+	  building configuration dependent docs for the foreign language
+	  intefaces; targets user-all and devref-all produce both the
+	  configuration dependent and the configuration-independent
+	  manuals.  Target `world' produces all kind of manuals (as
+	  before).
+
+2008-09-24 Wednesday 21:26  Andrea Cimino
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
+	  (1.48), ppl_interface_generator_ocaml_ml_code.m4 (1.43),
+	  ppl_interface_generator_ocaml_mli_code.m4 (1.34): Fixed the
+	  return value in ppl_ at CLASS@_OK and
+	  ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign.  Added code for
+	  ppl_ at CLASS@_ at PARTITION@ but has still to be tested.
+
+2008-09-24 Wednesday 18:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh (1.89): Spacing fixed.
+
+2008-09-24 Wednesday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/README.doc (1.18): Typo fixed.
+
+2008-09-24 Wednesday 17:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/:
+	  ppl_interface_generator_java_procedure_generators.m4 (1.9),
+	  jni/ppl_interface_generator_java_classes_cc_code.m4 (1.11),
+	  tests/ppl_interface_generator_java_test_java_code.m4 (1.42),
+	  tests/ppl_java_tests_common (1.14): Schematic tests in m4 will
+	  generate tests for all Java interface methods.  A couple of bugs
+	  in the code generator file
+	  jni/ppl_interface_generator_java_classes_cc_code.m4 fixed.
+
+2008-09-24 Wednesday 13:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/:
+	  jni/ppl_interface_generator_java_classes_cc_code.m4 (1.10),
+	  tests/ppl_interface_generator_java_test_java_code.m4 (1.41),
+	  tests/ppl_java_tests_common (1.13): Fixed a bug in the Java
+	  interface cpde for the get_minimized methods.  Added tests for
+	  swap and get_minimized.  Added the congruences2 variable to the
+	  common code.
+
+2008-09-24 Wednesday 12:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/:
+	  jni/ppl_interface_generator_java_classes_cc_code.m4 (1.9),
+	  tests/ppl_interface_generator_java_test_java.m4 (1.18),
+	  tests/ppl_interface_generator_java_test_java_code.m4 (1.40):
+	  Corrected a bug when building from a grid_generator_system.
+
+	  Each method test has its own block, allowing for local variables.
+	   Each method test outputs a message and after checking the main
+	  domain element using OK(), outputs "success" if OK() succeeds.
+
+	  Added a few tests for constructing a domain element.
+
+	  Any procedure schemas not defined at all will now cause a warning
+	  message on standard output. Hence dummy definitions have been
+	  added for the procedure schemas that have no tests.
+
+2008-09-24 Wednesday 11:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/Makefile.am (1.29): Removed an unused
+	  definition.
+
+2008-09-24 Wednesday 09:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/Makefile.am (1.96): Corrected typo in name
+	  of distributed file.
+
+2008-09-24 Wednesday 08:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Float.inlines.hh (1.35): Use the PPL_SUPPORTED_* macros in
+	  order to check whether particular floating point types are
+	  supported.
+
+2008-09-24 Wednesday 08:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.cc (1.70): Temporarily, if doubles are
+	  unavailable use floats, if floats are unavailable use long
+	  doubles.
+
+2008-09-24 Wednesday 08:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am (1.75): Added missing dependency and corrected
+	  doxygen input file for Java devref.
+
+2008-09-24 Wednesday 08:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/tests/Makefile.am (1.28): Corrected typo in
+	  dependency name.
+
+2008-09-23 Tuesday 22:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/Makefile.am (1.27): Generated tests are
+	  now removed by makeclean.
+
+2008-09-23 Tuesday 21:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.263): Added one item for PPL 0.11.
+
+2008-09-23 Tuesday 21:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Box/difference1.cc (1.6): Completed a comment for test14.
+
+2008-09-23 Tuesday 21:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_float_binary_format.m4 (1.9): Test strengthened to
+	  check also a couple of denormal values.
+
+2008-09-23 Tuesday 20:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.373), configure.repo (1.6): New Autoconf variable
+	  `required_instantiations_prolog_generated_test_sources'.
+
+2008-09-23 Tuesday 20:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/difference1.cc (1.5): Print statements improved.
+
+2008-09-23 Tuesday 20:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_ieee_inexact_flag.m4 (1.4): Cater for the case where
+	  the FE_INEXACT macro is undefined.  This should fix the bug
+	  described in
+	  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=499746.
+
+2008-09-23 Tuesday 20:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh (1.129): Box<ITV>::difference_assign(const
+	  Box&) slightly optimized.
+
+2008-09-23 Tuesday 19:36  Abramo Bagnara
+
+	* tests/Box/difference1.cc (1.4): test14 does not fail now.
+
+2008-09-23 Tuesday 19:34  Abramo Bagnara
+
+	* src/Interval.inlines.hh (1.42): Added missing clear.
+
+2008-09-23 Tuesday 19:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/difference1.cc (1.3): Print statements of test14()
+	  revised.
+
+2008-09-23 Tuesday 18:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/Makefile.am (1.26): Corrected the name of
+	  a test file.
+
+2008-09-23 Tuesday 18:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Ciao/Makefile.am (1.82), GNU/Makefile.am
+	  (1.78), SICStus/Makefile.am (1.96), SWI/Makefile.am (1.95),
+	  XSB/Makefile.am (1.75),
+	  XSB/ppl_interface_generator_xsb_prolog_generated_test_P.m4 (1.2),
+	  YAP/Makefile.am (1.67), tests/Makefile.am (1.25): Try to follow
+	  the standards for the makefiles.  Fixed a bug in
+	  XSB/ppl_interface_generator_xsb_prolog_generated_test_P.m4
+
+2008-09-23 Tuesday 18:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_prolog_generated_test_P.m4
+	  (bounded_arithmetic.1): file
+	  ppl_interface_generator_xsb_prolog_generated_test_P.m4 was added
+	  on branch bounded_arithmetic on 2008-10-29 20:45:33 +0000
+
+2008-09-23 Tuesday 17:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/ppl_prolog_generated_test_common.pl
+	  (bounded_arithmetic.1): file ppl_prolog_generated_test_common.pl
+	  was added on branch bounded_arithmetic on 2008-10-29 20:45:33
+	  +0000
+
+2008-09-23 Tuesday 17:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/sp_prolog_generated_test.pl
+	  (bounded_arithmetic.1): file sp_prolog_generated_test.pl was
+	  added on branch bounded_arithmetic on 2008-10-29 20:45:32 +0000
+
+2008-09-23 Tuesday 17:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Ciao/Makefile.am (1.81),
+	  Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4 (1.10),
+	  Ciao/ppl_interface_generator_ciao_prolog_generated_test_pl.m4
+	  (1.1), SICStus/Makefile.am (1.95), SICStus/sp_predicate_check.pl
+	  (1.10), SICStus/sp_prolog_generated_test.pl (1.1),
+	  SWI/Makefile.am (1.94), SWI/swi_predicate_check.pl (1.8),
+	  SWI/swi_prolog_generated_test.pl (1.1), XSB/Makefile.am (1.74),
+	  XSB/ppl_interface_generator_xsb_predicate_check_P.m4 (1.11),
+	  XSB/ppl_interface_generator_xsb_prolog_generated_test_P.m4 (1.1),
+	  tests/Makefile.am (1.24),
+	  tests/ppl_interface_generator_predicate_check_code.m4 (1.83),
+	  tests/ppl_interface_generator_predicate_check_pl.m4 (1.37),
+	  tests/ppl_interface_generator_prolog_generated_test_pl.m4 (1.1),
+	  tests/ppl_interface_generator_prolog_generated_test_pl_code.m4
+	  (1.1), tests/ppl_predicate_check_common.pl (1.13),
+	  tests/ppl_prolog_generated_test_common.pl (1.1): Renamed the
+	  predicate_check generated test files to have the form
+	  ppl_prolog_generated_test_<...>.xx The generating files and
+	  common files renamed similarly.
+
+2008-09-23 Tuesday 16:45  Andrea Cimino
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
+	  (1.47), ppl_interface_generator_ocaml_ml_code.m4 (1.42),
+	  ppl_interface_generator_ocaml_mli_code.m4 (1.33),
+	  tests/ppl_interface_generator_ocaml_test_ml_code.m4 (1.12):
+	  'ascii_dump' added to OCaml interface.
+
+2008-09-23 Tuesday 12:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Partially_Reduced_Product/: directproduct1.cc (1.4),
+	  directproduct2.cc (1.3), directproduct3.cc (1.4): Cleaned several
+	  tests.
+
+2008-09-23 Tuesday 12:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Box/difference1.cc (1.2): New test14 shows a bug in
+	  difference_assign()
+
+2008-09-23 Tuesday 10:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh (1.88): Corrected bug in
+	  minimized_congruences, spotted by test09 in congruences1.cc.
+
+2008-09-23 Tuesday 10:04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Octagonal_Shape/congruences1.cc (1.6): New test shows a bug
+	  in minimized_congruences (spotted by Pat).
+
+2008-09-23 Tuesday 08:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref-foreign-language-interface.doxyconf.in (1.3),
+	  interfaces-html.sed (1.2), interfaces-latex.sed (1.2),
+	  user-foreign-language-interface.doxyconf.in (1.2): Avoid a
+	  Doxygen error for inexistent tagfile when building the LaTeX
+	  docs.
+
+2008-09-22 Monday 21:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/Makefile.am (1.64): Distribute all files needed
+	  for the generation of Prolog_interface.dox.
+
+2008-09-22 Monday 20:29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am (1.74): Corrected a couple of typos.
+
+2008-09-22 Monday 20:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/tests/Makefile.am (1.22): Call libtool when
+	  compiling NNC_Polyhedron_test1.
+
+2008-09-22 Monday 20:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/jni/Makefile.am (1.27): CLEANFILES moved out of
+	  conditional.
+
+2008-09-22 Monday 20:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/Makefile.am (1.23): Target Java_interface.dox
+	  placed out of #if BUILD_JAVA_INTERFACE conditional and listed in
+	  dist_noinst_DATA.
+
+2008-09-22 Monday 19:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Makefile.am (1.63): BUILT_SOURCES must contain
+	  ppl_prolog_domains.cc.stamp.
+
+2008-09-22 Monday 18:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Makefile.am (1.62): Actually build
+	  ppl_prolog_domains.cc.stamp.
+
+2008-09-22 Monday 17:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.87),
+	  Prolog/Makefile.am (1.61),
+	  Prolog/ppl_interface_generator_prolog_cc_files.m4 (1.10),
+	  Prolog/ppl_interface_generator_prolog_hh_files.m4 (1.9): The file
+	  ppl_prolog_domains.cc is not needed.	Ensure that in the
+	  generated tests a powerset of grids is built by default from
+	  congruences and not constraints.  This fixes a bug when testing
+	  ppl_predicate_check_test for the Pointset_Powerset_Grid domain.
+
+2008-09-22 Monday 16:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_ieee_inexact_flag.m4 (1.3): Made consistent with our
+	  code for controlling the FPUs.
+
+2008-09-22 Monday 16:07  Andrea Cimino
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	  (1.8): Apply the previous fix also in the jni directory.  Now the
+	  `make check' should pass.
+
+2008-09-22 Monday 14:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.372), configure.repo (1.5),
+	  interfaces/Prolog/Makefile.am (1.60): Avoid wildcard characters
+	  in *CLEANFILES variables.
+
+2008-09-22 Monday 14:41  Andrea Cimino
+
+	* interfaces/Java/:
+	  parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
+	  (1.6), tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.39): Use DISJUNCT instead of CPP_DISJUNCT where appropriate.
+	  Now the Java interface compiles with	--enable-instantiations=all
+
+2008-09-22 Monday 14:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Makefile.am (1.59): Revised the organisation of
+	  the Makefile so that Prolog_interfaces.dox is built outside the
+	  #if BUILD_* conditional.  Removed Prolog_interfaces.dox from the
+	  BUILT_SOURCES and included them with dist_noinst_DATA.  Use
+	  CLEANFILES instead of DISTCLEANFILES for all files built with
+	  make all.
+
+2008-09-22 Monday 13:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
+	  (1.46), ppl_interface_generator_ocaml_ml_code.m4 (1.41),
+	  ppl_interface_generator_ocaml_mli.m4 (1.19),
+	  ppl_interface_generator_ocaml_mli_code.m4 (1.32),
+	  ppl_ocaml_common.cc (1.2), ppl_ocaml_common.defs.hh (1.2),
+	  ppl_ocaml_types.ml (1.12),
+	  tests/ppl_interface_generator_ocaml_test_ml_code.m4 (1.11): Added
+	  functions:
+	  ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _with_complexity,
+	  ppl_ at CLASS@_widening_assign,
+	  ppl_ at CLASS@_widening_assign_with_tokens.
+
+	  Added the Complexity_Class type.
+
+	  Added tests to test these.  Also added tests to test the
+	  unconstrain(s) methods.
+
+2008-09-22 Monday 13:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_ocaml_common.defs.hh (bounded_arithmetic.1):
+	  file ppl_ocaml_common.defs.hh was added on branch
+	  bounded_arithmetic on 2008-10-29 20:45:30 +0000
+
+2008-09-22 Monday 12:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/:
+	  jni/ppl_interface_generator_java_classes_cc_code.m4 (1.7),
+	  parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
+	  (1.5), tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.38): Added/enabled methods:
+
+	  unconstrain_space_dimension_code,
+	  unconstrain_space_dimensions_code,
+	  BGP99_ at DISJUNCT_WIDEN@_extrapolation_assign,
+	  BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign,
+	  approximate_partition.
+
+	  and the relevant tests.
+
+2008-09-22 Monday 11:37  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am (1.73): ALso distribute interfaces-html.sed and
+	  interfaces-latex.sed.
+
+2008-09-22 Monday 09:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Makefile.am (1.58): Restore
+	  Prolog_interface.dox as a built source to ensure the file is
+	  generated before building the documentation.
+
+2008-09-22 Monday 08:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/:
+	  ppl_interface_generator_java_classes_cc_files.m4 (1.6),
+	  ppl_java_globals.cc (1.18): Include "ppl_java_common.defs.hh"
+
+2008-09-22 Monday 08:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/: Makefile.am (1.26),
+	  ppl_interface_generator_java_classes_cc_code.m4 (1.6),
+	  ppl_java_common.cc (1.45), ppl_java_common.defs.hh (1.1),
+	  ppl_java_common.hh (1.41), ppl_java_common.inlines.hh (1.1):
+	  Splitted ppl_java_common.hh.	Made several improvements (but many
+	  FIXMEs remain).
+
+2008-09-21 Sunday 23:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Makefile.am (1.57): Missing separator added.
+
+2008-09-21 Sunday 23:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Makefile.am (1.56),
+	  ppl_interface_generator_prolog_dox.m4 (1.4): Changed so that
+	  there are no unnecessary dependencies on the
+	  ppl_interface_instantiations when generating the documentation.
+
+2008-09-21 Sunday 22:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.86): Revised
+	  so as to allow for the documentation not to include
+	  ppl_interface_instantiations.m4.
+
+2008-09-21 Sunday 22:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/: Makefile.am (1.22),
+	  ppl_interface_generator_java_dox.m4 (1.3): Avoid unnecessary
+	  dependency on the generated ppl_interface_instantiations.m4
+
+2008-09-21 Sunday 22:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.371), configure.repo (1.4): Fixed the
+	  implementation of `--enable-instantiations=all'.
+
+2008-09-21 Sunday 21:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure (1.29): Improved the explanation on how to use
+	  the `configure.repo' files.
+
+2008-09-21 Sunday 21:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/Makefile.am (1.21): Java_interface.dox should not
+	  belong to BUILT_SOURCES.
+
+2008-09-21 Sunday 17:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am (1.72): Also clean LaTeX header files for
+	  configurated interfaces.
+
+2008-09-21 Sunday 17:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: Makefile.am (1.71), devref-foreign-language-interface.tex
+	  (1.2), user-foreign-language-interface.tex (1.2): Added missing
+	  replacement targets for sed in the devref LaTeX header file.
+	  Added a new replacement for \usepackage{ocamldoc}.
+
+2008-09-21 Sunday 17:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am (1.70): Further targets added to build
+	  configuration-dependent foreign language interface docs.
+
+2008-09-21 Sunday 15:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/frombox1.cc (1.7): Print also the constraints of `src'
+	  in test05().
+
+2008-09-21 Sunday 15:41  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/devref-foreign-language-interface.doxyconf.in (1.2): The
+	  latex header file is in the build dir, not in the source dir.
+
+2008-09-21 Sunday 14:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* configure.ac (1.370), configure.repo (1.3), doc/Makefile.am
+	  (1.69), doc/devref-c-interface.doxyconf-html.in (1.8),
+	  doc/devref-c-interface.doxyconf-latex.in (1.8),
+	  doc/devref-c-interface.tex (1.6),
+	  doc/devref-foreign-language-interface.doxyconf.in (1.1),
+	  doc/devref-foreign-language-interface.tex (1.1),
+	  doc/devref-java-interface.doxyconf-html.in (1.5),
+	  doc/devref-java-interface.doxyconf-latex.in (1.5),
+	  doc/devref-java-interface.tex (1.3),
+	  doc/devref-ocaml-interface.doxyconf-html.in (1.4),
+	  doc/devref-ocaml-interface.doxyconf-latex.in (1.4),
+	  doc/devref-ocaml-interface.tex (1.2),
+	  doc/devref-prolog-interface.doxyconf-html.in (1.10),
+	  doc/devref-prolog-interface.doxyconf-latex.in (1.10),
+	  doc/devref-prolog-interface.tex (1.2), doc/interfaces-html.sed
+	  (1.1), doc/interfaces-latex.sed (1.1),
+	  doc/user-c-interface.doxyconf-html.in (1.9),
+	  doc/user-c-interface.doxyconf-latex.in (1.9),
+	  doc/user-c-interface.tex (1.6),
+	  doc/user-foreign-language-interface.doxyconf.in (1.1),
+	  doc/user-foreign-language-interface.tex (1.1),
+	  doc/user-java-interface.doxyconf-html.in (1.5),
+	  doc/user-java-interface.doxyconf-latex.in (1.5),
+	  doc/user-java-interface.tex (1.3),
+	  doc/user-ocaml-interface.doxyconf-html.in (1.3),
+	  doc/user-ocaml-interface.doxyconf-latex.in (1.3),
+	  doc/user-ocaml-interface.tex (1.2),
+	  doc/user-prolog-interface.doxyconf-html.in (1.9),
+	  doc/user-prolog-interface.doxyconf-latex.in (1.10),
+	  doc/user-prolog-interface.tex (1.6): The doxygen configuration
+	  files and LaTeX headers for the foreign language interface
+	  manuals are now automatically generated from 4 template files and
+	  2 sed script files (plus Makefile.am machinery).  The overall
+	  infrastructure can be extended so as to generate both
+	  configuration independent and configuration dependent manuals.
+
+2008-09-21 Sunday 12:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/tests/ppl_java_tests_common (1.12): Change a
+	  coefficient from 3 to 2 to avoid an unintended overflow.
+
+2008-09-21 Sunday 07:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c_implementation_common.inlines.hh (1.3):
+	  Indentation fixed.
+
+2008-09-21 Sunday 07:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/mipproblem2.cc (1.12): Fixed.
+
+2008-09-20 Saturday 23:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/tests/ppl_java_tests_common (1.11): Coefficients
+	  simplified to avoid unintended overflow errors.
+
+2008-09-20 Saturday 21:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.85): Comment
+	  corrected.
+
+2008-09-20 Saturday 21:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure (1.28): Added a new section on "Using the CVS
+	  Sources".  In particular, explained how it is possible to
+	  dispense with the use of Autoconf exploiting the presence of
+	  `configure.repo' in the repository (suggestion by Basile
+	  Starynkevitch).
+
+2008-09-20 Saturday 21:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.369), configure.repo (1.2): Missing double quote
+	  added.
+
+2008-09-20 Saturday 20:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.84),
+	  Java/ppl_interface_generator_java_dox.m4 (1.2),
+	  Prolog/ppl_interface_generator_prolog_dox.m4 (1.3): Ensure that
+	  the documentation generators do not include the
+	  ppl_interface_instantiations.m4 file.
+
+2008-09-20 Saturday 20:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.368), configure.repo (1.1), Watchdog/configure.ac
+	  (1.49), Watchdog/configure.repo (1.1): Capitalization fixed.
+
+2008-09-20 Saturday 20:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/NEWS (1.11): Set a tentative release date.
+
+2008-09-20 Saturday 20:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.235): Set a tentative release date.
+
+2008-09-20 Saturday 20:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/configure.ac (1.48): We do not need the `win32-dll'
+	  Libtool option.
+
+2008-09-20 Saturday 20:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.367): Long lines avoided.
+
+2008-09-20 Saturday 20:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.366): Computation of the set of all
+	  instantiations made independent from the default instantiations.
+
+2008-09-20 Saturday 20:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.365): Useless work avoided.
+
+2008-09-20 Saturday 20:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.53): Updated.
+
+2008-09-20 Saturday 20:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.364): Version number bumped.
+
+2008-09-20 Saturday 20:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/configure.ac (1.47): Punctuation improved.  Require
+	  Autoconf 2.60 or later.
+
+2008-09-20 Saturday 20:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.363): Comments improved.
+
+2008-09-20 Saturday 20:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.362): Punctuation fixed.
+
+2008-09-20 Saturday 19:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.30), Watchdog/ChangeLog (1.19): Updated.
+
+2008-09-20 Saturday 19:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/: ac_check_ciao.m4 (1.2), ac_check_fpu_control.m4 (1.7),
+	  ac_check_gmp.m4 (1.27), ac_check_swi_prolog.m4 (1.16),
+	  ac_cxx_double_binary_format.m4 (1.10),
+	  ac_cxx_float_binary_format.m4 (1.8),
+	  ac_cxx_long_double_binary_format.m4 (1.9),
+	  ac_cxx_proper_long_double.m4 (1.4), ac_cxx_remainder_bug.m4
+	  (1.5), ppl.m4 (1.10), ppl_c.m4 (1.3): For portability, prefer
+	  exit() to returns from main().
+
+2008-09-20 Saturday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_ieee_inexact_flag.m4 (1.2): Test improved: it did not
+	  work with optimizations turned on, it did not test with doubles
+	  and long doubles, and it triggered a compiler warning.
+
+2008-09-20 Saturday 18:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/mipproblem2.cc (1.11): Now test01() must always
+	  succeed, as it takes into account that an overflow can occur
+	  before the timeout with 8-bit coefficients.
+
+2008-09-20 Saturday 16:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/:
+	  ppl_interface_generator_java_classes_cc_files.m4 (1.5),
+	  ppl_java_common.cc (1.44), ppl_java_common.hh (1.40),
+	  ppl_java_globals.cc (1.17): The Java interface implementation now
+	  lives in its own namespace.
+
+2008-09-20 Saturday 12:55  Andrea Cimino
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
+	  (1.45), ppl_interface_generator_ocaml_ml_code.m4 (1.40),
+	  ppl_interface_generator_ocaml_mli_code.m4 (1.31),
+	  tests/ppl_interface_generator_ocaml_test_ml_code.m4 (1.10):
+	  Restored ppl_ at CLASS@_ at UB_EXACT@.
+
+2008-09-20 Saturday 11:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c_implementation_common.cc (1.4),
+	  interfaces/C/ppl_c_implementation_common.defs.hh (1.3),
+	  interfaces/C/ppl_c_implementation_common.inlines.hh (1.2),
+	  interfaces/C/ppl_interface_generator_c_cc_files.m4 (1.13),
+	  interfaces/C/ppl_interface_generator_c_hh_files.m4 (1.8),
+	  interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4
+	  (1.10), interfaces/Prolog/ppl_prolog_common.cc (1.5),
+	  interfaces/Prolog/ppl_prolog_common.defs.hh (1.5),
+	  interfaces/Prolog/Ciao/ciao_efli.cc (1.4),
+	  interfaces/Prolog/Ciao/ciao_efli.hh (1.3),
+	  interfaces/Prolog/Ciao/ppl_prolog_sysdep.hh (1.2),
+	  interfaces/Prolog/GNU/gprolog_efli.cc (1.4),
+	  interfaces/Prolog/GNU/gprolog_efli.hh (1.2),
+	  interfaces/Prolog/GNU/ppl_prolog_sysdep.hh (1.2),
+	  interfaces/Prolog/SICStus/ppl_prolog_sysdep.hh (1.2),
+	  interfaces/Prolog/SICStus/sicstus_efli.cc (1.3),
+	  interfaces/Prolog/SICStus/sicstus_efli.hh (1.2),
+	  interfaces/Prolog/SWI/ppl_prolog_sysdep.hh (1.3),
+	  interfaces/Prolog/SWI/swi_efli.cc (1.4),
+	  interfaces/Prolog/SWI/swi_efli.hh (1.5),
+	  interfaces/Prolog/XSB/ppl_prolog_sysdep.hh (1.3),
+	  interfaces/Prolog/XSB/xsb_efli.cc (1.5),
+	  interfaces/Prolog/XSB/xsb_efli.hh (1.2),
+	  interfaces/Prolog/YAP/ppl_prolog_sysdep.hh (1.2),
+	  interfaces/Prolog/YAP/yap_efli.cc (1.2),
+	  interfaces/Prolog/YAP/yap_efli.hh (1.2), src/namespaces.hh
+	  (1.15): The Interfaces namespace is now structured.
+
+2008-09-20 Saturday 11:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/ciao_efli.hh (bounded_arithmetic.1): file
+	  ciao_efli.hh was added on branch bounded_arithmetic on 2008-10-29
+	  20:45:32 +0000
+
+2008-09-20 Saturday 11:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c_implementation_common.cc
+	  (bounded_arithmetic.1): file ppl_c_implementation_common.cc was
+	  added on branch bounded_arithmetic on 2008-10-29 20:45:26 +0000
+
+2008-09-20 Saturday 11:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc_files.m4
+	  (bounded_arithmetic.1): file
+	  ppl_interface_generator_c_cc_files.m4 was added on branch
+	  bounded_arithmetic on 2008-10-29 20:45:26 +0000
+
+2008-09-20 Saturday 11:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/ppl_prolog_sysdep.hh
+	  (bounded_arithmetic.1): file ppl_prolog_sysdep.hh was added on
+	  branch bounded_arithmetic on 2008-10-29 20:45:32 +0000
+
+2008-09-20 Saturday 10:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.361): Conditionals improved.
+
+2008-09-20 Saturday 10:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu-c99.inlines.hh (1.18): When
+	  PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG evaluates to false,
+	  fpu_reset_inexact() does nothing and fpu_check_inexact() returns
+	  -1 ("don't know").
+
+2008-09-20 Saturday 09:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/Makefile.am (1.58): Do not distribute ppl_c.h.
+
+2008-09-20 Saturday 09:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.360), interfaces/C/Makefile.am (1.57): The C
+	  interface can only be enabled if Perl is available.
+
+2008-09-20 Saturday 08:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/Makefile.am (1.8): Clean
+	  also the class files.
+
+2008-09-20 Saturday 08:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.359): New variable to collect the names of all
+	  the instantiations-dependent Java class files.  Several sed
+	  patterns improved.
+
+2008-09-20 Saturday 07:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Partially_Reduced_Product/: Makefile.am (1.4),
+	  asciidumpload1.cc (1.3): Write and clean ascii_dump_load1.dat.
+
+2008-09-20 Saturday 07:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/interval1.cc (1.9): Let test01() depend on
+	  PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG.
+
+2008-09-19 Friday 23:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.358): For testing purpose, we now accept also the
+	  `--enable-instantiations=all' configure option.  (Currently this
+	  shows that our m4 code does not scale.)
+
+2008-09-19 Friday 23:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* instchk.hh (1.17): Accept also the native floating point types as
+	  valid instances for bounded-difference and octagonal shapes.
+
+2008-09-19 Friday 22:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/: C/Makefile.am (1.56), Java/jni/Makefile.am (1.25),
+	  OCaml/Makefile.am (1.54), Prolog/Ciao/Makefile.am (1.80),
+	  Prolog/GNU/Makefile.am (1.77), Prolog/SICStus/Makefile.am (1.94),
+	  Prolog/SWI/Makefile.am (1.93), Prolog/XSB/Makefile.am (1.73),
+	  Prolog/YAP/Makefile.am (1.66): Many more interface instantiations
+	  are now allowed.
+
+2008-09-19 Friday 22:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/ciao_cfli.hh (1.6): Added one missing
+	  inline qualifier.  Static variable avoided.
+
+2008-09-19 Friday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.357): Check whether the IEEE inexact flag is
+	  supported in C++.
+
+2008-09-19 Friday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_ieee_inexact_flag.m4 (1.1): New function to check
+	  whether the IEEE inexact flag is supported and available to C++
+	  programs.
+
+2008-09-19 Friday 21:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_remainder_bug.m4 (1.4): Indentation fixed.
+
+2008-09-19 Friday 20:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.356): The library now has file pathnames longer
+	  than 99 characters, which implies we can no longer use the old V7
+	  tar format.  We thus pass the `tar-ustar' option to
+	  AM_INIT_AUTOMAKE, which specifies using the ustar tar format
+	  defined by POSIX 1003.1-1988.  Consequently, we require Automake
+	  at least version 1.9 (the `tar-ustar' option was not available in
+	  previous releases).
+
+2008-09-19 Friday 19:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/Makefile.am (1.55): Distribute also ppl_c_header.h.
+
+2008-09-19 Friday 19:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/:
+	  jni/ppl_interface_generator_java_classes_cc_code.m4 (1.5),
+	  parma_polyhedra_library/Complexity_Class.java (1.1),
+	  parma_polyhedra_library/Makefile.am (1.7),
+	  parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
+	  (1.4), tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.37): New Complexity_Class object that enumerates the different
+	  complexities.
+
+	  Added a method for building an object from another object
+	  possibly from anothe class with the complexity specified.
+
+	  Tests for this added.
+
+2008-09-19 Friday 19:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/Complexity_Class.java
+	  (bounded_arithmetic.1): file Complexity_Class.java was added on
+	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-09-19 Friday 19:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/Makefile.am (1.79): Define
+	  libppl_ciao_la_DEPENDENCIES.
+
+2008-09-19 Friday 19:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/Makefile.am (1.78): Fixed the definition
+	  of AM_CPPFLAGS.
+
+2008-09-19 Friday 19:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/ppl_prolog_sysdep.hh (1.1): Put under CVS
+	  control.
+
+2008-09-19 Friday 19:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/ciao_efli.cc (1.3): Include
+	  "ppl_prolog_common.defs.hh".
+
+2008-09-19 Friday 19:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/ciao_efli.hh (1.2): Declaration fixed.
+
+2008-09-19 Friday 18:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/ciao_efli.cc (1.2): Removed useless PPL::
+	  qualifications.
+
+2008-09-19 Friday 18:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/: ciao_efli.cc (1.1), ciao_efli.hh (1.1),
+	  ppl_ciao.cc (1.54): New files ciao_efli.hh and ciao_efli.cc
+	  replace ppl_ciao.cc.
+
+2008-09-19 Friday 17:39  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/tests/: expected_clpq2_int16_a (1.5),
+	  expected_clpq2_int8_a (1.7), expected_pchk_int16_a (1.8): Updated
+	  expected results for 8 and 16 bit coefficients with assertions
+	  enabled.
+
+2008-09-19 Friday 16:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/tests/: expected_clpq2_int16 (1.5),
+	  expected_clpq2_int8 (1.7), expected_pchk_int16 (1.8): Fixed
+	  expected results for 8 and 16 bit coefficient configurations.
+
+2008-09-19 Friday 16:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/MIP_Problem.templates.hh (1.14): Fixed another
+	  uninitialization error for the pricing method.
+
+2008-09-19 Friday 16:37  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_cc_code.m4
+	  (1.9), ppl_interface_generator_prolog_cc_files.m4 (1.9),
+	  ppl_interface_generator_prolog_hh_files.m4 (1.8): Added debugging
+	  macro to indicate if any predicate schematic code is missing.
+	  Improved a cooment.
+
+2008-09-19 Friday 15:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.355): Enabled all default instantiations.
+	  Version number bumped.
+
+2008-09-19 Friday 15:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/MIP_Problem/mipproblem3.cc (1.5): Use the exact
+	  steepest-edge pricing rule on test06: this allows for obtaining
+	  deterministic overflow behavior when configured to use 8-bit
+	  checked integers.
+
+2008-09-19 Friday 15:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/: Makefile.am (1.53),
+	  ppl_interface_generator_ocaml_cc.m4 (1.12),
+	  ppl_interface_generator_ocaml_cc_code.m4 (1.44),
+	  ppl_interface_generator_ocaml_cc_files.m4 (1.3),
+	  ppl_interface_generator_ocaml_hh_code.m4 (1.3),
+	  ppl_interface_generator_ocaml_hh_files.m4 (1.2),
+	  ppl_interface_generator_ocaml_ml.m4 (1.17), ppl_ocaml_globals.cc
+	  (1.19): The OCaml interface now supports separate compilation.
+
+2008-09-19 Friday 15:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_files.m4
+	  (bounded_arithmetic.1): file
+	  ppl_interface_generator_ocaml_cc_files.m4 was added on branch
+	  bounded_arithmetic on 2008-10-29 20:45:30 +0000
+
+2008-09-19 Friday 15:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_hh_files.m4
+	  (bounded_arithmetic.1): file
+	  ppl_interface_generator_ocaml_hh_files.m4 was added on branch
+	  bounded_arithmetic on 2008-10-29 20:45:30 +0000
+
+2008-09-19 Friday 14:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/hybrid.cc (1.9): No longer using deprecated
+	  methods (*_and_minimize).  Test 04, which before was known to
+	  overflow when using 8 bit coefficients with assertions enabled,
+	  now always succeeds.
+
+2008-09-19 Friday 14:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/MIP_Problem.inlines.hh (1.19): Avoid a warning when
+	  assertions are disabled.
+
+2008-09-19 Friday 14:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.354): Added new variables for the OCaml
+	  interface.
+
+2008-09-19 Friday 14:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/: ppl_ocaml_common.cc (1.1),
+	  ppl_ocaml_common.defs.hh (1.1), ppl_ocaml_common.inlines.hh
+	  (1.1): New files implementing the domain-independent part of the
+	  OCaml interface.
+
+2008-09-19 Friday 14:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_ocaml_common.inlines.hh
+	  (bounded_arithmetic.1): file ppl_ocaml_common.inlines.hh was
+	  added on branch bounded_arithmetic on 2008-10-29 20:45:30 +0000
+
+2008-09-19 Friday 13:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/: expected_int16_a (1.10), expected_int32_a
+	  (1.11), expected_int64_a (1.11), expected_int8_a (1.9): Updated
+	  expected results for bounded integers and assertions enabled.
+
+2008-09-19 Friday 13:15  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/:
+	  ppl_interface_generator_java_procedure_generators.m4 (1.8),
+	  jni/ppl_interface_generator_java_classes_cc_code.m4 (1.4),
+	  jni/ppl_interface_generator_java_classes_cc_files.m4 (1.4),
+	  parma_polyhedra_library/ppl_interface_generator_java_classes_java.m4
+	  (1.4),
+	  parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
+	  (1.3), tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.36), tests/ppl_java_tests_common (1.10): Added m4 debug code
+	  so as to output a message if the definition of a schematic
+	  procedure is missing.
+
+	  Added code for several missing methods: add_disjunct
+	  widening_assign @EXTRAPOLATION at _extrapolation_assign
+
+	  Corrected a bug in the code for
+	  @LIMITEDBOUNDED at _@WIDENEXPN at _extrapolation_assign where the
+	  arguments were inconsistently ordered.
+
+	  Added several tests for the widening and extrapolation code.
+
+2008-09-19 Friday 12:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/expected_mpz (1.16): Expected results for
+	  unbounded integers and assertions disabled.
+
+2008-09-19 Friday 12:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/: Makefile.am (1.47), expected_int16 (1.11),
+	  expected_int32 (1.12), expected_int64 (1.12), expected_int8
+	  (1.10): Modified the check command so as to solve test problems
+	  using a deterministic pricing policy, as to obtain more
+	  predictable results across architectures.  Updated the expected
+	  results for bounded-size coefficient configurations (with
+	  assertions disabled).
+
+2008-09-19 Friday 10:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.79): Added new option -p,
+	  controlling the selection of the pricing method for the simplex
+	  computation.
+
+2008-09-19 Friday 10:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/: ppl_c_header.h (1.4),
+	  ppl_c_implementation_common.cc (1.3): In the MIP_Problem section
+	  of the interface, added values corresponding to the control
+	  parameter setting and interfaced the new methods to get/set the
+	  control parameters.
+
+2008-09-19 Friday 10:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: MIP_Problem.cc (1.69), MIP_Problem.defs.hh (1.38),
+	  MIP_Problem.inlines.hh (1.18), MIP_Problem.templates.hh (1.13):
+	  Added public enums Control_Parameter_Name and
+	  Control_Parameter_Value: for the time being, the only control
+	  parameter name is PRICING for the pricing method, which can be
+	  set to three values.	Added public methods for getting/setting a
+	  control parameter value.  Modified the implementation so as to
+	  compute the simplex by using the pricing method specified by the
+	  control parameter settings.
+
+	  As for implementation, we temporarily use a
+	  Control_Parameter_Value variable (named `pricing') to store the
+	  singleton control parameter collection.  It is planned that this
+	  will be replaced by a bitset-based status word encoding, besides
+	  possible other control parameters, also the values of `status',
+	  `initialized' and `opt_mode'.
+
+2008-09-19 Friday 10:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.83): Fixed a
+	  bug so as to avoid generating spurious blank lines.
+
+2008-09-18 Thursday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java.m4
+	  (1.3): Added missing copyright notices.
+
+2008-09-18 Thursday 21:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/Makefile.am (1.6):
+	  Several kludges removed.
+
+2008-09-18 Thursday 21:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_files.m4
+	  (1.3): Fixed the spacing in the generated files.
+
+2008-09-18 Thursday 21:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
+	  (1.43), ppl_interface_generator_ocaml_ml_code.m4 (1.39),
+	  ppl_interface_generator_ocaml_mli_code.m4 (1.30): Added dummy
+	  code defining macro ppl_ at CLASS@_ at UB_EXACT@_code to all the
+	  "_code" files to avoid a warning.
+
+2008-09-18 Thursday 21:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/Makefile.am (1.5):
+	  Useless conditional removed.
+
+2008-09-18 Thursday 21:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_globals.cc (1.16): Code formatting
+	  improved.
+
+2008-09-18 Thursday 21:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	  (1.3): Removed spurious blank line.
+
+2008-09-18 Thursday 20:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/: C/Makefile.am (1.54), Java/jni/Makefile.am (1.24),
+	  Java/parma_polyhedra_library/Makefile.am (1.4), OCaml/Makefile.am
+	  (1.52): Standardize the handling of timestamps.
+
+2008-09-18 Thursday 18:21  Andrea Cimino
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
+	  (1.42), ppl_interface_generator_ocaml_hh_code.m4 (1.2),
+	  ppl_interface_generator_ocaml_ml.m4 (1.16),
+	  ppl_interface_generator_ocaml_ml_code.m4 (1.38),
+	  ppl_interface_generator_ocaml_mli.m4 (1.18),
+	  ppl_interface_generator_ocaml_mli_code.m4 (1.29),
+	  tests/ppl_interface_generator_ocaml_test_ml_code.m4 (1.9),
+	  tests/test1.ml (1.13): Types `c_polyhedron' and `nnc_polyhedron'
+	  are now merged in the new type `polyhedron' in the OCaml
+	  interface.  All the methods concerning c_polyhedron and
+	  nnc_polyhedron has been renamed for consistency with the other
+	  interfaces.  ppl_ at CLASS@_ at UB_EXACT@_code disabled.
+
+2008-09-18 Thursday 17:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Powerset/simplifyusingcontext1.cc (1.5): Test 9 fails on 8
+	  bit integers.
+
+2008-09-18 Thursday 16:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.78): Use maximize_with_point() and
+	  minimize_with_point() when wanting the point returned.
+
+2008-09-18 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_float.inlines.hh (1.89): FIXME text made more
+	  precise.
+
+2008-09-18 Thursday 14:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.353): On the Alpha, use the `-mieee-with-inexact'
+	  GCC option (`-ieee_with_inexact' for other compilers) in order to
+	  maintain the IEEE inexact-flag.
+
+2008-09-18 Thursday 13:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc.m4 (1.11),
+	  ppl_interface_generator_ocaml_cc_code.m4 (1.41),
+	  ppl_interface_generator_ocaml_cc_files.m4 (1.2),
+	  ppl_interface_generator_ocaml_ml.m4 (1.15),
+	  ppl_interface_generator_ocaml_ml_code.m4 (1.37),
+	  ppl_interface_generator_ocaml_mli.m4 (1.17),
+	  ppl_interface_generator_ocaml_mli_code.m4 (1.28): As for the C
+	  interface, the m4 generating code outputs a warning message if
+	  any code is missing for each schematic procedure that is not
+	  defined.
+
+2008-09-18 Thursday 13:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/ppl_interface_generator_c_h.m4 (1.21): Outout the
+	  copyright notice in ppl_c_domains.h.
+
+2008-09-18 Thursday 12:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.352), interfaces/Java/jni/Makefile.am (1.23),
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4
+	  (1.15),
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.58), interfaces/Java/parma_polyhedra_library/Makefile.am
+	  (1.3): The Java interface now uses separate compileation (some
+	  file-renaming is still pending though).
+
+2008-09-18 Thursday 12:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/: ppl_interface_generator_c_cc_code.m4 (1.47),
+	  ppl_interface_generator_c_cc_files.m4 (1.12),
+	  ppl_interface_generator_c_h.m4 (1.20),
+	  ppl_interface_generator_c_h_code.m4 (1.38),
+	  ppl_interface_generator_c_procedure_generators.m4 (1.10): Added a
+	  debugging macro that outputs a warning message if there are
+	  undefined procedure code macros to each of the m4 generating
+	  files.  If a procedure macro is known to be missing or unwanted
+	  for the C interface, then an empty definition must be included in
+	  the code files to prevent the m4 debugging message.
+
+	  Missing code and headers in the C interface for several
+	  procedures has been added to the "_code" files.
+
+	  Some comments improved.
+
+2008-09-18 Thursday 09:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Grid/: Makefile.am (1.70), join1.cc (1.20), join2.cc
+	  (1.16), upperbound1.cc (1.1), upperbound2.cc (1.1): Tests join1/2
+	  renamed upperbound1/2.
+
+2008-09-18 Thursday 09:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/upperbound1.cc (bounded_arithmetic.1): file
+	  upperbound1.cc was added on branch bounded_arithmetic on
+	  2008-10-29 20:45:38 +0000
+
+2008-09-18 Thursday 09:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/upperbound2.cc (bounded_arithmetic.1): file
+	  upperbound2.cc was added on branch bounded_arithmetic on
+	  2008-10-29 20:45:38 +0000
+
+2008-09-18 Thursday 09:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Grid/join2.cc (1.15): Avoid using
+	  upper_bound_assign_and_minimize(); remove duplicated tests.
+
+2008-09-18 Thursday 09:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/upperbound1.cc (1.2): Avoid using
+	  upper_bound_assign_and_minimize().
+
+2008-09-18 Thursday 09:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/upperbound1.cc (bounded_arithmetic.1): file
+	  upperbound1.cc was added on branch bounded_arithmetic on
+	  2008-10-29 20:45:37 +0000
+
+2008-09-18 Thursday 08:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: append1.cc (1.15), append2.cc (1.14),
+	  exceptions1.cc (1.18), exceptions2.cc (1.15), nncminimize1.cc
+	  (1.10), permute.cc (1.12), polyhull2.cc (1.15): Avoid using
+	  upper_bound_assign_and_minimize().
+
+2008-09-18 Thursday 08:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/: ppl_c_header.h (1.3),
+	  ppl_c_implementation_common.defs.hh (1.2): Added declaration and
+	  (tentative) definition of ascii_load functions: implementation is
+	  based on __gnu_cxx::stdio_sync_filebuf.
+
+2008-09-18 Thursday 08:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/affineimage2.cc (1.14): Do not use
+	  upper_bound_assign_and_minimize.
+
+2008-09-18 Thursday 07:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/difference1.cc (bounded_arithmetic.1): file
+	  difference1.cc was added on branch bounded_arithmetic on
+	  2008-10-29 20:45:39 +0000
+
+2008-09-18 Thursday 07:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/upperbound1.cc (bounded_arithmetic.1): file
+	  upperbound1.cc was added on branch bounded_arithmetic on
+	  2008-10-29 20:45:39 +0000
+
+2008-09-18 Thursday 07:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/upperbound1.cc (bounded_arithmetic.1): file
+	  upperbound1.cc was added on branch bounded_arithmetic on
+	  2008-10-29 20:45:38 +0000
+
+2008-09-18 Thursday 07:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: BD_Shape/Makefile.am (1.78), BD_Shape/bdsdifference1.cc
+	  (1.20), BD_Shape/bdshull1.cc (1.21), BD_Shape/difference1.cc
+	  (1.1), BD_Shape/upperbound1.cc (1.1), Box/Makefile.am (1.72),
+	  Box/boxdifference1.cc (1.12), Box/boxhull1.cc (1.10),
+	  Box/difference1.cc (1.1), Box/upperbound1.cc (1.1),
+	  Octagonal_Shape/Makefile.am (1.32),
+	  Octagonal_Shape/difference1.cc (1.1),
+	  Octagonal_Shape/octdifference1.cc (1.7),
+	  Octagonal_Shape/octhull1.cc (1.9), Octagonal_Shape/upperbound1.cc
+	  (1.1): Test programs renamed so as to match the name of the
+	  tested method.
+
+2008-09-18 Thursday 07:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/difference1.cc (bounded_arithmetic.1): file
+	  difference1.cc was added on branch bounded_arithmetic on
+	  2008-10-29 20:45:37 +0000
+
+2008-09-17 Wednesday 17:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Polyhedron.defs.hh (1.355), src/Polyhedron.inlines.hh
+	  (1.151), tests/Polyhedron/polyhull1.cc (1.15),
+	  tests/Polyhedron/polyhull2.cc (1.14): Removed the method
+	  upper_bound_assign_and_minimize().
+
+2008-09-17 Wednesday 17:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Polyhedron.defs.hh (1.354): The method topology() is no
+	  longer public.
+
+2008-09-17 Wednesday 17:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4
+	  (1.8): Use new function for interfaces to test if the Polyhedron
+	  is necessarily closed in the code for
+	  ppl_Polyhedron_upper_bound_assign_if_exact/2..
+
+2008-09-17 Wednesday 17:16  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/: ppl_interface_generator_c_cc_code.m4 (1.46),
+	  ppl_interface_generator_c_h_code.m4 (1.37): The headers and the
+	  code for upper_bound_assign_if_exact() are now generated and bugs
+	  fixed so that they compile.
+
+2008-09-17 Wednesday 17:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/boundedbhrz03extrapolation1.cc (1.13): Modified
+	  test01() so as to restore the original variables' output
+	  function.  Added test02().
+
+2008-09-17 Wednesday 16:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.262): Added one item for PPL 0.10.
+
+2008-09-17 Wednesday 16:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.45): No
+	  longer using Polyhedron::topology() to query for topology of a
+	  Polyhedron; use new function
+	  Interfaces::is_necessarily_closed_for_interfaces.
+
+2008-09-17 Wednesday 16:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.353): Temporarily let topology() be
+	  public again.
+
+2008-09-17 Wednesday 15:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh (1.352), Polyhedron.inlines.hh (1.150):
+	  Befriend new function
+	  Interfaces::is_necessarily_closed_for_interfaces().
+
+2008-09-17 Wednesday 15:58  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/namespaces.hh (1.14): Added namespace for C++ functions
+	  dedicated to foreign language interfaces.
+
+2008-09-17 Wednesday 14:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure (1.27): Updated the documentation about using
+	  the Intel C/C++ compiler.
+
+2008-09-17 Wednesday 14:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/simplifyusingcontext1.cc (1.4): Use better
+	  variable names and avoid variable shadowing.
+
+2008-09-17 Wednesday 14:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (1.149): Avoid unnecessary opening and
+	  closing of namespaces.
+
+2008-09-17 Wednesday 13:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	*
+	  interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m4
+	  (1.8): Use refine_with rather than add for constructing domains.
+
+2008-09-17 Wednesday 13:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/: Makefile.am (1.51),
+	  ppl_interface_generator_ocaml_cc.m4 (1.10),
+	  ppl_interface_generator_ocaml_cc_code.m4 (1.40),
+	  ppl_interface_generator_ocaml_cc_files.m4 (1.1),
+	  ppl_interface_generator_ocaml_hh_code.m4 (1.1),
+	  ppl_interface_generator_ocaml_hh_files.m4 (1.1): Enable the
+	  generation of files for separate compilation.  The code in
+	  ppl_interface_generator_ocaml_cc_code.m4 has been separated into
+	  the access code that is now in
+	  ppl_interface_generator_ocaml_hh_code.m4 and the rest that
+	  defines the schematic methods for all the domains.
+
+2008-09-17 Wednesday 13:02  Andrea Cimino
+
+	* interfaces/Java/:
+	  jni/ppl_interface_generator_java_classes_cc_code.m4 (1.2),
+	  jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.57), jni/ppl_java_common.cc (1.43), jni/ppl_java_common.hh
+	  (1.39), parma_polyhedra_library/PPL_Object.java (1.3),
+	  tests/ppl_interface_generator_java_test_java.m4 (1.17),
+	  tests/ppl_interface_generator_java_test_java_code.m4 (1.35): The
+	  Java interfaces uses now marked pointers to detect if a C++
+	  object should be deleted.  Added some tests to test get_disjunct,
+	  needed to check the code described above.
+
+2008-09-17 Wednesday 12:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Powerset/simplifyusingcontext1.cc (1.3): Added new test
+	  (the one showing a bug in current cloog-ppl implementation of
+	  cloog_domain_simplify).
+
+2008-09-17 Wednesday 10:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc_files.m4 (1.11): Added
+	  the generation for the inclusion of "interfaced_boxes.hh".
+
+2008-09-17 Wednesday 10:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/ppl_interface_generator_c_cc_files.m4 (1.10):
+	  Redundant code removed.
+
+2008-09-17 Wednesday 10:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.82): The
+	  pattern "box" for bounding and covering boxes was unused;
+	  removed..
+
+2008-09-17 Wednesday 09:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Makefile.am (1.34): Added the dependency of
+	  ppl_interface_instantiations.m4 from Makefile; the former listed
+	  in CLEANFILES (not DISTCLEANFILES).
+
+2008-09-17 Wednesday 09:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid.inlines.hh (1.29): Avoid unnecessary opening and closing
+	  of namespaces.
+
+2008-09-17 Wednesday 09:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_files.m4
+	  (1.2): Cut-and-paste typo fixed in names of generated files.
+
+2008-09-17 Wednesday 09:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/jni/: Makefile.am (1.22),
+	  ppl_interface_generator_java_classes_cc_code.m4 (1.1),
+	  ppl_interface_generator_java_classes_cc_files.m4 (1.1): Build
+	  separate implementation files for each domains.
+
+2008-09-17 Wednesday 07:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/interval1.cc (1.8): Restored a test that was
+	  temporarily commented out.
+
+2008-09-16 Tuesday 20:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	*
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.82): Ensure the generated tests work for C_Polyhedron x Grid
+	  product domains (checked using constraints_reduction)..
+
+2008-09-16 Tuesday 18:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_procedure_generators.m4
+	  (1.9): The upper_bound_assign_if_exact methods are now
+	  interfaced.
+
+2008-09-16 Tuesday 18:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/: ppl_interface_generator_c_cc_code.m4 (1.44),
+	  ppl_interface_generator_c_h_code.m4 (1.36): Minor correction to
+	  the declaration of the powerset object for begin/end
+	  const_iterator methods.
+
+2008-09-16 Tuesday 14:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.81),
+	  src/Pointset_Powerset.defs.hh (1.53): Corrected a comment in
+	  Pointset_Powerset.defs.hh and simplified the generation of the
+	  binary operator procedures in the interfaces.
+
+2008-09-16 Tuesday 13:53  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.80),
+	  interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4
+	  (1.7),
+	  interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4
+	  (1.8), interfaces/Prolog/SICStus/sp_predicate_check.pl (1.9),
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.81), src/Grid.inlines.hh (1.28), src/Grid_public.cc (1.87):
+	  Moved method add_constraints() from Grid.inlines.hh to
+	  Grid_public.cc.
+
+	  Removed the bop_assign and bop_assign_and_minimize from the
+	  Prolog generated code and inlined the code.
+
+	  Enable upper_bound_assign method for the Pointset_Powerset
+	  domains in all the interfaces.
+
+	  Adapted the tests in the predicate_check generated test file so
+	  as to test correctly these changes.
+
+2008-09-16 Tuesday 10:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/: ppl_interface_generator_c_cc_code.m4 (1.43),
+	  ppl_interface_generator_c_h_code.m4 (1.35),
+	  ppl_interface_generator_c_procedure_generators.m4 (1.8): Separate
+	  the new_iterator methods and the type declarations for iterators
+	  from the method for checking for equality.
+
+2008-09-16 Tuesday 10:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/: ppl_interface_generator_c_cc_code.m4 (1.42),
+	  ppl_interface_generator_c_h_code.m4 (1.34): Added declaration and
+	  implementation of `new' functions for Pointset_Powerset
+	  iterators.
+
+2008-09-16 Tuesday 09:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid.inlines.hh (1.27), src/Grid_nonpublic.cc (1.38),
+	  src/Grid_public.cc (1.86), tests/Grid/addconstraint1.cc (1.18),
+	  tests/Grid/addconstraints1.cc (1.19): Ensure the grid is not
+	  marked empty before calling the *_no_check methods. Added tests
+	  to check this.  Code for several methods concerning adding
+	  constraints and congruences moved to the Grid.inlines.cc file.
+
+2008-09-16 Tuesday 08:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.57): Avoid singleton
+	  variable warning.
+
+2008-09-16 Tuesday 08:14  Abramo Bagnara
+
+	* src/Interval.inlines.hh (1.41): Fixed typo.
+
+2008-09-16 Tuesday 08:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.142): Minor simplification in the
+	  control path.
+
+2008-09-16 Tuesday 08:04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.inlines.hh (1.169), Octagonal_Shape.inlines.hh
+	  (1.40): Avoid a warning.
+
+2008-09-16 Tuesday 01:35  Andrea Cimino
+
+	* interfaces/Java/jni/ppl_java_globals.cc (1.15): Avoid, when
+	  possible, long lines to comply to STANDARDS.
+
+2008-09-16 Tuesday 01:27  Andrea Cimino
+
+	* interfaces/Java/jni/:
+	  ppl_interface_generator_java_ppl_java_classes_cc_code.m4 (1.56),
+	  ppl_java_common.cc (1.42), ppl_java_common.hh (1.38),
+	  ppl_java_globals.cc (1.14): Let `get_ptr' return a pointer
+	  instead of a jlong in order to simplify the implementation of
+	  marked pointers.
+
+2008-09-15 Monday 22:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* configure.ac (1.351): Removed a line added in previous commit so
+	  as to enable the build.
+
+2008-09-15 Monday 21:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Polyhedron_public.cc (1.141),
+	  tests/Polyhedron/boundedaffineimage1.cc (1.16): Fixed bug shown
+	  by test07 in tests/Polyhedron/boundedaffineimage1.cc
+
+2008-09-15 Monday 21:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Polyhedron/boundedaffineimage1.cc (1.15): test07 added that
+	  shows an assertion failure in refine_no_check.  The call to this
+	  test temporarily commented out.
+
+2008-09-15 Monday 21:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.350), interfaces/Prolog/SWI/Makefile.am (1.92):
+	  Added missing -dlopen for target predicate_check_test.
+
+2008-09-15 Monday 17:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/:
+	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.55),
+	  Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
+	  (1.2), Java/tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.34), OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m4
+	  (1.7): Completed changes reported in previous commit.
+
+2008-09-15 Monday 17:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_procedure_generators.m4
+	  (1.27), interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.41),
+	  interfaces/C/ppl_interface_generator_c_h_code.m4 (1.33),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.39),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.36),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4
+	  (1.27),
+	  interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4
+	  (1.6),
+	  interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4
+	  (1.7),
+	  interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4
+	  (1.8), interfaces/Prolog/SICStus/sp_predicate_check.pl (1.8),
+	  interfaces/Prolog/XSB/xsb_pl_check.P (1.34),
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.80), interfaces/Prolog/tests/ppl_predicate_check_common.pl
+	  (1.12), src/Polyhedron.defs.hh (1.351): The method topology()
+	  made public.
+
+	  The code for upper_bound_assign_if_exact() added to the C
+	  interface.  The predicates for the same methods in the Prolog
+	  interface now no longer need the topology  (for the Polyhedron
+	  class) in the name.
+
+	  The schematic procedure name for these procedures also no longer
+	  has the topology and therefore the use of these in the other
+	  interfaces (Java and OCaml) has also been adapted.
+
+	  Some updating of the Prolog interface files for other recent
+	  changes.
+
+2008-09-15 Monday 11:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/propagateconstraints2.cc (1.4): Test known to overflow
+	  whe using 16 bit integers.  CVS-
+	  ----------------------------------------------------------------------
+
+2008-09-15 Monday 10:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Ciao/ciao_pl_check.pl (1.28),
+	  XSB/xsb_pl_check.P (1.33),
+	  tests/ppl_interface_generator_predicate_check_code.m4 (1.79):
+	  Ensure predicates such as ppl_set_rounding_for_PPL that are used
+	  and tested in pl_check.pl are in the module/import lists for Ciao
+	  and XSB.  Remove the bounding box predicates that are no longer
+	  generated from the same lists.
+
+2008-09-15 Monday 10:27  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/:
+	  ppl_interface_generator_common_procedure_generators.m4 (1.26),
+	  C/ppl_c_implementation_common.cc (1.2),
+	  C/ppl_interface_generator_c_cc_code.m4 (1.40),
+	  C/ppl_interface_generator_c_h_code.m4 (1.32),
+	  C/ppl_interface_generator_c_procedure_generators.m4 (1.7),
+	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.35),
+	  Prolog/ppl_interface_generator_prolog_cc_code.m4 (1.5),
+	  Prolog/ppl_interface_generator_prolog_hh_code.m4 (1.7),
+	  Prolog/tests/pl_check.pl (1.56): Remove the procedures
+	  new_..._from_bounding_box, new_..._from_covering_box and the
+	  get_bounding_box and get_covering_box from the interfaces.
+
+	  Bug in the increment/decrement iterator method in the C interface
+	  fixed.
+
+2008-09-15 Monday 09:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/: ppl_interface_generator_c_cc_code.m4 (1.39),
+	  ppl_interface_generator_c_h_code.m4 (1.31): Fixed some more bugs
+	  in the C interface code.
+
+2008-09-15 Monday 08:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/: ppl_interface_generator_c_cc_code.m4 (1.38),
+	  ppl_interface_generator_c_h_code.m4 (1.30): Added code for
+	  dereferencing the iterator for a pointset_powerset.
+
+2008-09-14 Sunday 22:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/Makefile.am (1.71): Previous changes reverted.
+
+2008-09-14 Sunday 22:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/propagateconstraints2.cc (1.3): Temporarily make sure
+	  the test always succeeds.
+
+2008-09-14 Sunday 20:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/Makefile.am (1.70): Completing the change to disable
+	  propagateconstraints2.
+
+2008-09-14 Sunday 20:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/Makefile.am (1.69): Temporarily disable test
+	  propagateconstraints2.
+
+2008-09-14 Sunday 19:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/tests/ppl_ocaml_tests_common (1.4): Applied
+	  minimal changes to let the tests succeed according to the new
+	  semantics for constraint/congruence addition.
+
+2008-09-14 Sunday 18:35  Andrea Cimino
+
+	* interfaces/Java/tests/: C_Polyhedron_test1.java (1.16),
+	  NNC_Polyhedron_test1.java (1.3): Load the library with the
+	  correct name.
+
+2008-09-14 Sunday 18:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/tests/:
+	  ppl_interface_generator_java_test_java_code.m4 (1.33),
+	  ppl_java_tests_common (1.9): Tests adapted to the new semantics
+	  of add_constraint(s).  SOme variable renamings, so as to
+	  "improve" readability.
+
+2008-09-14 Sunday 18:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/refinewithconstraints1.cc (1.6): Test 7 fails on 8 bit
+	  integers.
+
+2008-09-14 Sunday 16:43  Andrea Cimino
+
+	* interfaces/Java/ppl_java_common_dox (1.5): The `ppl_' prefix is
+	  not used in the name of the methods in the Java interface.
+
+2008-09-14 Sunday 16:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/Congruence.java
+	  (bounded_arithmetic.1): file Congruence.java was added on branch
+	  bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-09-14 Sunday 16:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/Generator_System.java
+	  (bounded_arithmetic.1): file Generator_System.java was added on
+	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-09-14 Sunday 16:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/MIP_Problem_Status.java
+	  (bounded_arithmetic.1): file MIP_Problem_Status.java was added on
+	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-09-14 Sunday 16:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/Variables_Set.java
+	  (bounded_arithmetic.1): file Variables_Set.java was added on
+	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-09-14 Sunday 16:24  Andrea Cimino
+
+	* configure.ac (1.349), interfaces/Java/Makefile.am (1.20),
+	  interfaces/Java/jni/Makefile.am (1.21),
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4
+	  (1.14),
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.54), interfaces/Java/jni/ppl_java_common.cc (1.41),
+	  interfaces/Java/jni/ppl_java_common.hh (1.37),
+	  interfaces/Java/jni/ppl_java_globals.cc (1.13),
+	  interfaces/Java/parma_polyhedra_library/By_Reference.java (1.2),
+	  interfaces/Java/parma_polyhedra_library/Coefficient.java (1.2),
+	  interfaces/Java/parma_polyhedra_library/Congruence.java (1.2),
+	  interfaces/Java/parma_polyhedra_library/Congruence_System.java
+	  (1.2), interfaces/Java/parma_polyhedra_library/Constraint.java
+	  (1.2),
+	  interfaces/Java/parma_polyhedra_library/Constraint_System.java
+	  (1.2),
+	  interfaces/Java/parma_polyhedra_library/Degenerate_Element.java
+	  (1.2),
+	  interfaces/Java/parma_polyhedra_library/Domain_Error_Exception.java
+	  (1.2), interfaces/Java/parma_polyhedra_library/Generator.java
+	  (1.2),
+	  interfaces/Java/parma_polyhedra_library/Generator_System.java
+	  (1.2),
+	  interfaces/Java/parma_polyhedra_library/Generator_Type.java
+	  (1.2),
+	  interfaces/Java/parma_polyhedra_library/Grid_Generator.java
+	  (1.2),
+	  interfaces/Java/parma_polyhedra_library/Grid_Generator_System.java
+	  (1.2),
+	  interfaces/Java/parma_polyhedra_library/Grid_Generator_Type.java
+	  (1.2),
+	  interfaces/Java/parma_polyhedra_library/Invalid_Argument_Exception.java
+	  (1.2),
+	  interfaces/Java/parma_polyhedra_library/Length_Error_Exception.java
+	  (1.2),
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression.java
+	  (1.2),
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficient.java
+	  (1.2),
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Difference.java
+	  (1.2),
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java
+	  (1.2),
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.java
+	  (1.2),
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Unary_Minus.java
+	  (1.2),
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.java
+	  (1.2),
+	  interfaces/Java/parma_polyhedra_library/Logic_Error_Exception.java
+	  (1.2), interfaces/Java/parma_polyhedra_library/MIP_Problem.java
+	  (1.2),
+	  interfaces/Java/parma_polyhedra_library/MIP_Problem_Status.java
+	  (1.2), interfaces/Java/parma_polyhedra_library/Makefile.am (1.2),
+	  interfaces/Java/parma_polyhedra_library/Optimization_Mode.java
+	  (1.2),
+	  interfaces/Java/parma_polyhedra_library/Overflow_Error_Exception.java
+	  (1.2), interfaces/Java/parma_polyhedra_library/PPL_Object.java
+	  (1.2), interfaces/Java/parma_polyhedra_library/Pair.java (1.2),
+	  interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.java
+	  (1.2),
+	  interfaces/Java/parma_polyhedra_library/Partial_Function.java
+	  (1.2),
+	  interfaces/Java/parma_polyhedra_library/Poly_Con_Relation.java
+	  (1.2),
+	  interfaces/Java/parma_polyhedra_library/Poly_Gen_Relation.java
+	  (1.2),
+	  interfaces/Java/parma_polyhedra_library/Relation_Symbol.java
+	  (1.2), interfaces/Java/parma_polyhedra_library/Variable.java
+	  (1.2), interfaces/Java/parma_polyhedra_library/Variables_Set.java
+	  (1.2),
+	  interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java.m4
+	  (1.2), interfaces/Java/tests/C_Polyhedron_test1.java (1.15),
+	  interfaces/Java/tests/NNC_Polyhedron_test1.java (1.2),
+	  interfaces/Java/tests/Test_Partial_Function.java (1.5),
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java.m4
+	  (1.16): The name of the package of the Java Parma Polyhedra
+	  Library interface is now `parma_polyhedra_library'.
+
+2008-09-14 Sunday 15:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/version.cc (1.12): The banner now includes the names of all
+	  those that appear in the CREDITS file.
+
+2008-09-14 Sunday 15:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS (1.23): Updated.
+
+2008-09-14 Sunday 14:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/parma_polyhedra_library/.cvsignore
+	  (bounded_arithmetic.1): file .cvsignore was added on branch
+	  bounded_arithmetic on 2008-10-29 20:45:28 +0000
+
+2008-09-14 Sunday 14:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.348), interfaces/Java/Makefile.am (1.19),
+	  interfaces/Java/parma_polyhedra_library/.cvsignore (1.1),
+	  interfaces/Java/parma_polyhedra_library/By_Reference.java (1.1),
+	  interfaces/Java/parma_polyhedra_library/Coefficient.java (1.1),
+	  interfaces/Java/parma_polyhedra_library/Congruence.java (1.1),
+	  interfaces/Java/parma_polyhedra_library/Congruence_System.java
+	  (1.1), interfaces/Java/parma_polyhedra_library/Constraint.java
+	  (1.1),
+	  interfaces/Java/parma_polyhedra_library/Constraint_System.java
+	  (1.1),
+	  interfaces/Java/parma_polyhedra_library/Degenerate_Element.java
+	  (1.1),
+	  interfaces/Java/parma_polyhedra_library/Domain_Error_Exception.java
+	  (1.1), interfaces/Java/parma_polyhedra_library/Generator.java
+	  (1.1),
+	  interfaces/Java/parma_polyhedra_library/Generator_System.java
+	  (1.1),
+	  interfaces/Java/parma_polyhedra_library/Generator_Type.java
+	  (1.1),
+	  interfaces/Java/parma_polyhedra_library/Grid_Generator.java
+	  (1.1),
+	  interfaces/Java/parma_polyhedra_library/Grid_Generator_System.java
+	  (1.1),
+	  interfaces/Java/parma_polyhedra_library/Grid_Generator_Type.java
+	  (1.1),
+	  interfaces/Java/parma_polyhedra_library/Invalid_Argument_Exception.java
+	  (1.1),
+	  interfaces/Java/parma_polyhedra_library/Length_Error_Exception.java
+	  (1.1),
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression.java
+	  (1.1),
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficient.java
+	  (1.1),
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Difference.java
+	  (1.1),
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java
+	  (1.1),
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.java
+	  (1.1),
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Unary_Minus.java
+	  (1.1),
+	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.java
+	  (1.1),
+	  interfaces/Java/parma_polyhedra_library/Logic_Error_Exception.java
+	  (1.1), interfaces/Java/parma_polyhedra_library/MIP_Problem.java
+	  (1.1),
+	  interfaces/Java/parma_polyhedra_library/MIP_Problem_Status.java
+	  (1.1), interfaces/Java/parma_polyhedra_library/Makefile.am (1.1),
+	  interfaces/Java/parma_polyhedra_library/Optimization_Mode.java
+	  (1.1),
+	  interfaces/Java/parma_polyhedra_library/Overflow_Error_Exception.java
+	  (1.1), interfaces/Java/parma_polyhedra_library/PPL_Object.java
+	  (1.1), interfaces/Java/parma_polyhedra_library/Pair.java (1.1),
+	  interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.java
+	  (1.1),
+	  interfaces/Java/parma_polyhedra_library/Partial_Function.java
+	  (1.1),
+	  interfaces/Java/parma_polyhedra_library/Poly_Con_Relation.java
+	  (1.1),
+	  interfaces/Java/parma_polyhedra_library/Poly_Gen_Relation.java
+	  (1.1),
+	  interfaces/Java/parma_polyhedra_library/Relation_Symbol.java
+	  (1.1), interfaces/Java/parma_polyhedra_library/Variable.java
+	  (1.1), interfaces/Java/parma_polyhedra_library/Variables_Set.java
+	  (1.1),
+	  interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java.m4
+	  (1.1),
+	  interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
+	  (1.1): In order to implement the change of the Java package name
+	  from `ppl_java' to `parma_polyhedra_library', the contents of
+	  directory interfaces/Java/ppl_java has been moved to
+	  interfaces/Java/parma_polyhedra_library.
+
+2008-09-14 Sunday 13:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.168): Avoid warning (that was only
+	  showing up when assertions are not enabled).
+
+2008-09-14 Sunday 13:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.inlines.hh (1.39): Avoid a warning (that was
+	  showing up only when assertions are disabled.
+
+2008-09-14 Sunday 12:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.234), TODO (1.261): Updated.
+
+2008-09-14 Sunday 12:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.79): No
+	  longer interfacing methods bds_hull, oct_hull and (Grid) join.
+
+2008-09-14 Sunday 12:44  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.132), BD_Shape.inlines.hh (1.167),
+	  BD_Shape.templates.hh (1.118), Box.defs.hh (1.63), Box.inlines.hh
+	  (1.38), Box.templates.hh (1.128), Grid.defs.hh (1.83),
+	  Grid.inlines.hh (1.26), Grid_chdims.cc (1.26), Grid_public.cc
+	  (1.85), Octagonal_Shape.defs.hh (1.58),
+	  Octagonal_Shape.inlines.hh (1.38), Octagonal_Shape.templates.hh
+	  (1.87), Polyhedron.defs.hh (1.350), Polyhedron.inlines.hh
+	  (1.148): Classes Box, BD_Shape, Octagonal_Shape and Grid no
+	  longer provide methods such as bds_hull_*, join_*,
+	  bds_difference_* and grid_difference*.  The uniformly named
+	  methods upper_bound_* and difference_assign should be used
+	  instead.  For (C and NNC) polyhedra, the poly_hull_* and
+	  poly_difference_assign methods have been kept for backward
+	  compatibility.
+
+2008-09-14 Sunday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/propagateconstraints2.cc (1.2): Use check_result().
+
+2008-09-14 Sunday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/: Makefile.am (1.68), closure1.cc (1.9),
+	  propagateconstraints2.cc (1.1): Renamed.
+
+2008-09-14 Sunday 12:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/closure1.cc (1.8): Test program completed and
+	  corrected.
+
+2008-09-14 Sunday 11:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/hybrid.cc (1.8): Query-replace bug corrected.
+
+2008-09-14 Sunday 11:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/boxhull1.cc (1.9): Tests from 1 to 7 re-commented out.
+
+2008-09-14 Sunday 11:18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: BD_Shape/bdsdifference1.cc (1.19), BD_Shape/bdshull1.cc
+	  (1.20), BD_Shape/bhmz05widening1.cc (1.19),
+	  BD_Shape/cc76extrapolation1.cc (1.24), BD_Shape/membytes1.cc
+	  (1.8), Box/boxdifference1.cc (1.11), Box/boxhull1.cc (1.8),
+	  Box/pointsetpowerset1.cc (1.8), Grid/affineimage2.cc (1.15),
+	  Grid/griddifference1.cc (1.15), Grid/join1.cc (1.19),
+	  Grid/join2.cc (1.14), Grid/membytes1.cc (1.13),
+	  Grid/powersetdifference1.cc (1.7), Octagonal_Shape/membytes1.cc
+	  (1.8), Octagonal_Shape/octdifference1.cc (1.6),
+	  Octagonal_Shape/octhull1.cc (1.8), Polyhedron/affineimage2.cc
+	  (1.13), Polyhedron/append1.cc (1.14), Polyhedron/append2.cc
+	  (1.13), Polyhedron/bhrz03widening1.cc (1.13),
+	  Polyhedron/bhrz03widening3.cc (1.17),
+	  Polyhedron/boundedbhrz03extrapolation1.cc (1.12),
+	  Polyhedron/dualhypercubes.cc (1.17), Polyhedron/exceptions1.cc
+	  (1.17), Polyhedron/exceptions2.cc (1.14), Polyhedron/hybrid.cc
+	  (1.7), Polyhedron/linearpartition1.cc (1.16),
+	  Polyhedron/membytes1.cc (1.17), Polyhedron/nncminimize1.cc (1.9),
+	  Polyhedron/permute.cc (1.11), Polyhedron/polydifference1.cc
+	  (1.14), Polyhedron/polydifference2.cc (1.14),
+	  Polyhedron/polyhull1.cc (1.14), Polyhedron/polyhull2.cc (1.13),
+	  Powerset/pointsetpowerset1.cc (1.2): Do not use
+	  [box|bds|oct|poly]_hull_* or join_*; rather, systematically use
+	  methods upper_bound_*.  Similarly, do not use
+	  [...]_difference_assign, prefer difference_assign.
+
+2008-09-14 Sunday 10:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/ppl_interface_generator_c_h.m4 (1.19): Type
+	  declarations must be generated before the rest of the code.
+
+2008-09-14 Sunday 10:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.78): The
+	  Pointset_Powerset domain does not provide poly_difference_assign.
+
+2008-09-14 Sunday 10:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Pointset_Powerset.cc (1.24), Pointset_Powerset.defs.hh
+	  (1.52), Pointset_Powerset.inlines.hh (1.17): The
+	  Pointset_Powerset domain should *not* provide a
+	  poly_difference_assign method (it provides the difference_assign
+	  method).
+
+2008-09-14 Sunday 09:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/ppl_interface_generator_c_h_code.m4 (1.29): Fixed a
+	  bug when building from a C or NNC Polyhedron.
+
+2008-09-14 Sunday 08:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/ppl_interface_generator_c_h_code.m4 (1.28): Another
+	  bug in the schematic code for ppl_c_domains.h fixed.
+
+2008-09-13 Saturday 23:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/ppl_interface_generator_c_h_code.m4 (1.27): Fixed
+	  some bugs in the schematic code.
+
+2008-09-13 Saturday 23:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: BD_Shape/pointsetpowerset1.cc (1.5),
+	  Octagonal_Shape/mapspacedims1.cc (1.6): Commented-out code
+	  removed.
+
+2008-09-13 Saturday 22:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/: Makefile.am (1.67), closure1.cc (1.7): Reactivated
+	  the closure1.cc test program.
+
+2008-09-13 Saturday 22:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am (1.68): Let the documentation of foreign language
+	  interfaces also depend on the Doxygen GPL and GFDL licence files.
+
+2008-09-13 Saturday 22:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/: Makefile.am (1.66), interval1.cc (1.7), interval2.cc
+	  (1.7): Generalized and reactivated interval1.cc.  Removed now
+	  redundant interval2.cc.
+
+2008-09-13 Saturday 21:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c_version.h.in (1.8): Avoid Doxygen error
+	  (adding group "version" to itself).
+
+2008-09-13 Saturday 21:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/: Makefile.am (1.65), propagateconstraints1.cc (1.1),
+	  refinewithconstraints1.cc (1.5): Tests for
+	  Box::propagate_constraints() moved from refinewithconstraints1.cc
+	  to new file propagateconstraints1.cc.
+
+2008-09-13 Saturday 21:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/propagateconstraints1.cc (bounded_arithmetic.1): file
+	  propagateconstraints1.cc was added on branch bounded_arithmetic
+	  on 2008-10-29 20:45:38 +0000
+
+2008-09-13 Saturday 21:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.defs.hh (1.62), Box.inlines.hh (1.37): Added methods
+	  void propagate_constraint(const Constraint&) and void
+	  propagate_constraints(const Constraint_System&).
+
+2008-09-13 Saturday 20:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/refinewithcongruences1.cc (1.2): Corrected the
+	  expected result of test05: refining a polyhedron with a trivially
+	  inconsistent proper congruence is no longer ignored, so that the
+	  polyhedron becomes empty.
+
+2008-09-13 Saturday 20:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh (1.349), Polyhedron_nonpublic.cc (1.85),
+	  Polyhedron_public.cc (1.140): Private helper method
+	  refine_no_check() moved to Polyhedron_nonpublic.cc; also, the
+	  method now asserts !marked_empty() instead of checking it.  In
+	  method add_(recycled)_constraint(s), no longer throwing a
+	  topology exception if the added strict inequalities are trivially
+	  inconsistent.  Removed TODO comments from deprecated methods.
+	  Corrected several exception messages for the new refine_with_*
+	  methods.  In several places, prefer refine_no_check() to
+	  add_constraint().
+
+2008-09-13 Saturday 20:39  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron_chdims.cc (1.50), Polyhedron_widenings.cc
+	  (1.68): Prefer add_recycled_constraints() to add_constraints(),
+	  when possible.
+
+2008-09-13 Saturday 18:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c_header.h (1.2): Cosmetic improvements.
+
+2008-09-13 Saturday 18:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_interface_generator_c_cc_files.m4 (1.9),
+	  ppl_interface_generator_c_h.m4 (1.18),
+	  ppl_interface_generator_c_hh_files.m4 (1.7): Improved the
+	  generated comments.
+
+2008-09-13 Saturday 17:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/Makefile.am (1.53): List ppl_c.h in BUILT_SOURCES.
+
+2008-09-13 Saturday 17:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/Makefile.am (1.52): Correctly use the *CLEANFILES
+	  variables.  Use a stamp to produce the domain-dependent C++
+	  implementation files.
+
+2008-09-13 Saturday 16:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c_header.h (1.1): This is the main file used to
+	  build ppl_c.h.
+
+2008-09-13 Saturday 16:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* STANDARDS (1.39): Added a section about "Standards for Writing
+	  the Makefile.am Files".
+
+2008-09-13 Saturday 16:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh (1.348), Polyhedron.inlines.hh (1.147):
+	  Get rid of methods add_grid_generator(s).
+
+2008-09-13 Saturday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.186): The Any_Pointset class is not ready for
+	  distribution: make sure we do not distribute it by mistake.
+
+2008-09-13 Saturday 16:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.347), interfaces/C/Makefile.am (1.51),
+	  interfaces/C/ppl_c_implementation.cc (1.4),
+	  interfaces/C/ppl_c_implementation.defs.hh (1.5),
+	  interfaces/C/ppl_c_implementation.inlines.hh (1.4),
+	  interfaces/C/ppl_c_implementation_common.cc (1.1),
+	  interfaces/C/ppl_c_implementation_common.defs.hh (1.1),
+	  interfaces/C/ppl_c_implementation_common.inlines.hh (1.1),
+	  interfaces/C/ppl_interface_generator_c_cc_files.m4 (1.8),
+	  interfaces/C/ppl_interface_generator_c_hh_files.m4 (1.6): More
+	  code reorganization in the C interface.
+
+2008-09-13 Saturday 15:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Grid/: addconstraint1.cc (1.17), addconstraints1.cc (1.18):
+	  Corrected a couple of tests to comply with the new specification
+	  of add_constraint(s).
+
+2008-09-13 Saturday 15:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Grid.defs.hh (1.82), Grid.inlines.hh (1.25),
+	  Grid_nonpublic.cc (1.37), Grid_public.cc (1.84): Added private
+	  helper methods add_constraint/congruence_no_check and
+	  refine_no_check. Adapted to new semantics whereby refining will
+	  ignore nontrivial inequalities, whereas adding will throw.
+
+2008-09-13 Saturday 15:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Grid_chdims.cc (1.25): Prefer add_recycle_* to simple add_*.
+
+2008-09-13 Saturday 15:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Grid_widenings.cc (1.19): When possible, prefer
+	  add_recycled_congruences to add_congruences.
+
+2008-09-13 Saturday 15:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c_implementation.defs.hh (1.4),
+	  ppl_c_implementation.inlines.hh (1.3),
+	  ppl_interface_generator_c_cc_code.m4 (1.37): Some code
+	  reorganized and comments added.
+
+2008-09-13 Saturday 15:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.defs.hh (1.57): Typo corrected.
+
+2008-09-13 Saturday 14:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h.in (1.78): Obsolete file removed.
+
+2008-09-13 Saturday 14:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/Makefile.am (1.50),
+	  interfaces/C/ppl_interface_generator_c_cc_preamble (1.16),
+	  interfaces/C/ppl_interface_generator_c_h.m4 (1.17),
+	  interfaces/C/ppl_interface_generator_c_h_preamble (1.12),
+	  src/Makefile.am (1.185): Use a better machinery to generate
+	  ppl_c.h.
+
+2008-09-13 Saturday 11:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/: refinewithconstraint1.cc (1.3),
+	  refinewithconstraints1.cc (1.4), refinewithconstraints2.cc (1.3):
+	  Those tests that were written to check constraint propagation
+	  (rather than syntactical refinement) temporarily disabled.
+
+2008-09-13 Saturday 11:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/ppl_interface_generator_c_cc_files.m4 (1.7): Cleaned
+	  generator so that ppl_c_fixed.cc is not generated.
+
+2008-09-13 Saturday 09:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/: Makefile.am (1.49),
+	  ppl_interface_generator_c_cc.m4 (1.19): We no longer need to
+	  generate the file ppl_c.cc.
+
+2008-09-13 Saturday 08:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.346), interfaces/C/Makefile.am (1.48),
+	  interfaces/C/ppl_c_implementation.cc (1.3),
+	  interfaces/C/ppl_c_implementation.defs.hh (1.3): The C interface
+	  is operational again.
+
+2008-09-13 Saturday 07:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/ppl_interface_generator_c_hh_files.m4 (1.5):
+	  Simplified the generation of the files and added extra fixed code
+	  to the generated domain files.
+
+2008-09-13 Saturday 07:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/ppl_interface_generator_c_hh_files.m4 (1.4): More
+	  unwanted code in the generated files removed.
+
+2008-09-13 Saturday 07:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/ppl_interface_generator_c_hh_files.m4 (1.3): Doxygen
+	  commenting removed from generated .hh files.
+
+2008-09-13 Saturday 07:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Row.cc (1.6): Little adaptation for the systems where
+	  mp_limb_t is not a long.
+
+2008-09-12 Friday 23:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Octagonal_Shape.defs.hh (1.56), Octagonal_Shape.inlines.hh
+	  (1.37), Octagonal_Shape.templates.hh (1.86): Added private helper
+	  methods refine_no_check() for constraint and congruence.
+
+2008-09-12 Friday 22:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.131), BD_Shape.inlines.hh (1.166),
+	  BD_Shape.templates.hh (1.117): Added private helper methods
+	  refine_no_check() for constraint and congruence.
+
+2008-09-12 Friday 22:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/ppl_interface_generator_c_cc_files.m4 (1.6): Revised
+	  the domain specific generated files.
+
+2008-09-12 Friday 22:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/ppl_interface_generator_c_hh_files.m4 (1.2): Removed
+	  the preamble from the ppl_c_domains.hh generated file.
+
+2008-09-12 Friday 22:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.345): C interface temporarily removed from the
+	  ones built by default.
+
+2008-09-12 Friday 22:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/: Makefile.am (1.47),
+	  ppl_interface_generator_c_hh_files.m4 (1.1): Generate the header
+	  files for the C interface.
+
+2008-09-12 Friday 18:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.344): Define variables for the C interface.
+
+2008-09-12 Friday 18:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: Makefile.am (1.46), ppl_c_implementation.cc (1.2),
+	  ppl_c_implementation.defs.hh (1.2),
+	  ppl_c_implementation.inlines.hh (1.2): Code reorganized.
+
+2008-09-12 Friday 17:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Octagonal_Shape.defs.hh (1.55), Octagonal_Shape.inlines.hh
+	  (1.36), Octagonal_Shape.templates.hh (1.85): Adapted methods
+	  add_constraint/congruences and constructors so as to throw
+	  exceptions if faced with something that is nontrivial and not
+	  octagonal.  Also improved the precision of conversion
+	  constructors.
+
+2008-09-12 Friday 17:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (1.127): Simplified implementation of teh
+	  constructor of a Box from a product domain.
+
+2008-09-12 Friday 17:41  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Octagonal_Shape/: congruences1.cc (1.5), membytes1.cc
+	  (1.7), octhull1.cc (1.7): Adapted to the new specification of
+	  add_constraint/congruence.
+
+2008-09-12 Friday 15:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc_files.m4 (1.5): Amended
+	  to include "ppl_c_implementation.defs.hh".
+
+2008-09-12 Friday 15:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/Makefile.am (1.45): Updated the libppl_c_la_*
+	  variables.
+
+2008-09-12 Friday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c_implementation.cc (1.1),
+	  ppl_c_implementation.defs.hh (1.1),
+	  ppl_c_implementation.inlines.hh (1.1): New files containing the
+	  domain-independent part of the C interface implementation.
+
+2008-09-12 Friday 14:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/: pointsetpowerset2.cc (1.3), unconstrain1.cc (1.2):
+	  Fixed a couple of tests.
+
+2008-09-12 Friday 13:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (1.126): Old implementation for
+	  refine_no_check renamed propagate_constraint_no_check.  Provided
+	  new implementation that just does a syntactic refinement.  Avoid
+	  code repetitions by calling add_interval_constraint_no_check.
+	  When building a Box from a Polyhedron in polynomial time, use the
+	  method refine_with_constraints() applied to a simplified copy of
+	  the constraints of the polyhedron.
+
+2008-09-12 Friday 13:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Box.defs.hh (1.61), Box.inlines.hh (1.36): Added new
+	  (private) method add_interval_constraint_no_check, to be used
+	  when adding or refining after having checked that the constraint
+	  is a non-trivial interval constraint.  Removed the comments for
+	  several private methods: they had a FIXME, but were anyway
+	  misleading; they now have a WRITE ME.
+
+2008-09-12 Friday 13:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/ppl_interface_generator_c_cc_files.m4 (1.4): Include
+	  "#include"'s in all the files.
+
+2008-09-12 Friday 12:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/ppl_interface_generator_c_cc_files.m4 (1.3): Comment
+	  bug fixed.
+
+2008-09-12 Friday 11:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/ppl_interface_generator_c_cc_files.m4 (1.2): Files
+	  names should include "c_".
+
+2008-09-12 Friday 11:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/ppl_interface_generator_c_cc.m4 (1.18): Revert
+	  previous (unintended) change.
+
+2008-09-12 Friday 11:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/: Makefile.am (1.44),
+	  ppl_interface_generator_c_cc.m4 (1.17),
+	  ppl_interface_generator_c_cc_files.m4 (1.1): New file that
+	  generates code that can be split into separate files.
+
+2008-09-12 Friday 10:53  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid_public.cc (1.83), tests/Grid/addconstraint1.cc (1.16),
+	  tests/Grid/addconstraints1.cc (1.17),
+	  tests/Grid/refinewithcongruences1.cc (1.2),
+	  tests/Grid/refinewithconstraints1.cc (1.2): When the constraint
+	  is an inequality and inconsistent, then adding it to a grid or
+	  using it to refine the grid will result in the empty grid.
+
+	  Tests added to check this.
+
+2008-09-12 Friday 10:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.233): Mention the renaming of
+	  Congruence::is_trivial_true/false methods.
+
+2008-09-12 Friday 10:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh (1.116), src/Box.templates.hh (1.125),
+	  src/Congruence.cc (1.20), src/Congruence.defs.hh (1.25),
+	  src/Congruence_System.cc (1.30), src/Grid_nonpublic.cc (1.36),
+	  src/Grid_public.cc (1.82), src/Octagonal_Shape.templates.hh
+	  (1.84), src/Polyhedron_public.cc (1.139),
+	  tests/Grid/congruence1.cc (1.20): Methods
+	  Congruence::is_trivial_true() and Congruence::is:trivial_false()
+	  renamed as Congruence::is_tautological() and
+	  Congruence::is_inconsistent(), so as to have a more similar
+	  interface wrt class Constraint.
+
+2008-09-12 Friday 08:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (1.124): Corrected method
+	  refine_no_check(const Congruence&) to also consider the case of
+	  trivailly true/false congruences.  Added a FIXME regarding the
+	  handling of proper congruences in the case of bozes based on
+	  intervals supportng restrictins.
+
+2008-09-12 Friday 08:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/refinewithcongruences1.cc (1.3): New test04 check for
+	  the refinement of a Box using a trivially false congruence.
+
+2008-09-12 Friday 08:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (1.123): Corrected refine_no_check(const
+	  Constraint&) so as to also deal with the case of trivially
+	  true/false constraints.
+
+2008-09-12 Friday 01:56  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/: generalizedaffineimage1.cc (1.17),
+	  generalizedaffineimage2.cc (1.6): test20 in
+	  generalizedaffineimage1.cc removed, as it was identical to test17
+	  in generalizedaffineimage2.cc.
+
+2008-09-12 Friday 01:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Box.inlines.hh (1.35), Box.templates.hh (1.122): Modified
+	  methods add_constraint(s) and add_congruence(s) so as to throw
+	  exceptions if a non-interval constraint/congruence is being
+	  added.  Modified the (generalized_)affine_(pre)image methods so
+	  as to use refine_with_constraint() instead of add_constraint()
+	  method.  Added a couple of FIXME/CHECKME.
+
+2008-09-12 Friday 01:37  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.130), BD_Shape.templates.hh (1.115):
+	  Avoid definition and use of duplicated exception thrower
+	  function.  Added a fixme regarding exceptions thrown by
+	  add_constraint for strict inequalities.
+
+2008-09-12 Friday 01:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/: addconstraints1.cc (1.14), addspacedims1.cc (1.9),
+	  affineimage1.cc (1.11), affinepreimage1.cc (1.8),
+	  bgp99extrapolation1.cc (1.6), boundedaffinepreimage1.cc (1.9),
+	  cc76narrowing1.cc (1.8), concatenate1.cc (1.9), congruences1.cc
+	  (1.5), constraints1.cc (1.12), contains1.cc (1.7), discrete1.cc
+	  (1.7), disjoint1.cc (1.7), expandspacedim1.cc (1.10),
+	  foldspacedims1.cc (1.10), generalizedaffineimage1.cc (1.16),
+	  intersection1.cc (1.11), mapspacedims1.cc (1.8), max_min1.cc
+	  (1.9), pointsetpowerset1.cc (1.7), refinewithcongruences1.cc
+	  (1.2), relations1.cc (1.7), relations2.cc (1.6),
+	  removespacedims1.cc (1.11), timeelapse1.cc (1.10), universe1.cc
+	  (1.6), writebox1.cc (1.6): Avoid exceptions when adding
+	  (non-interval) constraints to boxes.
+
+2008-09-12 Friday 00:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/refinewithconstraint1.cc (1.2): New test04 shows a bug
+	  in Box::refine_with_constraint() related to the handling of
+	  trivially false constraints.
+
+2008-09-11 Thursday 22:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/Makefile.am (1.77): Typo fixed.
+
+2008-09-11 Thursday 22:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/Makefile.am (1.76): First
+	  separate-compilation changes.
+
+2008-09-11 Thursday 22:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* .cvsignore, ChangeLog, INSTALL, Makefile.am, NEWS, TODO,
+	  config.guess, config.rpath, config.sub, configure.ac, instchk.hh,
+	  ltmain.sh, Watchdog/ChangeLog, Watchdog/INSTALL,
+	  Watchdog/config.guess, Watchdog/config.sub,
+	  Watchdog/configure.ac, Watchdog/ltmain.sh,
+	  Watchdog/doc/Makefile.am, Watchdog/doc/devref.doxyconf-html.in,
+	  Watchdog/doc/devref.doxyconf-latex.in,
+	  Watchdog/doc/user.doxyconf-html.in,
+	  Watchdog/doc/user.doxyconf-latex.in, Watchdog/m4/libtool.m4,
+	  Watchdog/m4/ltoptions.m4, Watchdog/m4/ltsugar.m4,
+	  Watchdog/m4/ltversion.m4, Watchdog/src/Makefile.am,
+	  Watchdog/utils/Makefile.am, demos/ppl_lpsol/.cvsignore,
+	  demos/ppl_lpsol/Makefile.am, demos/ppl_lpsol/expected_int16,
+	  demos/ppl_lpsol/expected_int32, demos/ppl_lpsol/expected_int64,
+	  demos/ppl_lpsol/expected_mpz, demos/ppl_lpsol/ppl_lpsol.c,
+	  doc/Makefile.am, doc/README.doc, doc/definitions.dox,
+	  doc/devref-c-interface.doxyconf-html.in,
+	  doc/devref-c-interface.doxyconf-latex.in,
+	  doc/devref-java-interface.doxyconf-html.in,
+	  doc/devref-java-interface.doxyconf-latex.in,
+	  doc/devref-java-interface.tex,
+	  doc/devref-ocaml-interface.doxyconf-html.in,
+	  doc/devref-ocaml-interface.doxyconf-latex.in,
+	  doc/devref-ocaml-interface.tex,
+	  doc/devref-prolog-interface.doxyconf-html.in,
+	  doc/devref-prolog-interface.doxyconf-latex.in,
+	  doc/devref-prolog-interface.tex, doc/devref.doxyconf-html.in,
+	  doc/devref.doxyconf-latex.in, doc/libppl.3, doc/ppl-config.1,
+	  doc/ppl_lcdd.1, doc/ppl_lpsol.1,
+	  doc/user-c-interface.doxyconf-html.in,
+	  doc/user-c-interface.doxyconf-latex.in,
+	  doc/user-java-interface.doxyconf-html.in,
+	  doc/user-java-interface.doxyconf-latex.in,
+	  doc/user-java-interface.tex,
+	  doc/user-ocaml-interface.doxyconf-html.in,
+	  doc/user-ocaml-interface.doxyconf-latex.in,
+	  doc/user-ocaml-interface.tex,
+	  doc/user-prolog-interface.doxyconf-html.in,
+	  doc/user-prolog-interface.doxyconf-latex.in,
+	  doc/user.doxyconf-html.in, doc/user.doxyconf-latex.in,
+	  fedora/ppl.spec, interfaces/Makefile.am,
+	  interfaces/marked_pointers.hh,
+	  interfaces/ppl_interface_generator_common_dat.m4,
+	  interfaces/ppl_interface_generator_common_procedure_generators.m4,
+	  interfaces/ppl_interface_generator_copyright,
+	  interfaces/C/C_interface.dox, interfaces/C/Makefile.am,
+	  interfaces/C/ppl_c.h.in,
+	  interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	  interfaces/C/ppl_interface_generator_c_cc_preamble,
+	  interfaces/C/ppl_interface_generator_c_h_code.m4,
+	  interfaces/C/ppl_interface_generator_c_h_preamble,
+	  interfaces/Java/Makefile.am,
+	  interfaces/Java/ppl_interface_generator_java_dox.m4,
+	  interfaces/Java/ppl_interface_generator_java_dox_code.m4,
+	  interfaces/Java/ppl_interface_generator_java_procedure_generators.m4,
+	  interfaces/Java/ppl_java_common_dox,
+	  interfaces/Java/jni/Makefile.am,
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4,
+	  interfaces/Java/jni/ppl_java_common.cc,
+	  interfaces/Java/jni/ppl_java_common.hh,
+	  interfaces/Java/jni/ppl_java_globals.cc,
+	  interfaces/Java/tests/C_Polyhedron_test1.java,
+	  interfaces/Java/tests/Makefile.am,
+	  interfaces/Java/tests/NNC_Polyhedron_test1.java,
+	  interfaces/Java/tests/Test_Executor.java,
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4,
+	  interfaces/Java/tests/ppl_java_tests_common,
+	  interfaces/OCaml/.cvsignore, interfaces/OCaml/Makefile.am,
+	  interfaces/OCaml/OCaml_interface.dox,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators.m4,
+	  interfaces/OCaml/ppl_ocaml_globals.cc,
+	  interfaces/OCaml/ppl_ocaml_globals.ml, interfaces/OCaml/test1.ml,
+	  interfaces/OCaml/tests/.cvsignore,
+	  interfaces/OCaml/tests/Makefile.am,
+	  interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml.m4,
+	  interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m4,
+	  interfaces/OCaml/tests/ppl_ocaml_tests_common,
+	  interfaces/OCaml/tests/test1.ml, interfaces/Prolog/.cvsignore,
+	  interfaces/Prolog/Makefile.am,
+	  interfaces/Prolog/Prolog_interface.dox,
+	  interfaces/Prolog/exceptions.hh,
+	  interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_dox.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_dox_code.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_hh_files.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_procedure_generators.m4,
+	  interfaces/Prolog/ppl_prolog_common.cc,
+	  interfaces/Prolog/ppl_prolog_common.defs.hh,
+	  interfaces/Prolog/ppl_prolog_common.icc,
+	  interfaces/Prolog/ppl_prolog_common.inlines.hh,
+	  interfaces/Prolog/ppl_prolog_sysdep_dox,
+	  interfaces/Prolog/ppl_prolog_sysindep_dox,
+	  interfaces/Prolog/track_allocation.hh,
+	  interfaces/Prolog/Ciao/Makefile.am,
+	  interfaces/Prolog/Ciao/ppl_ciao.cc,
+	  interfaces/Prolog/GNU/Makefile.am,
+	  interfaces/Prolog/GNU/gprolog_cfli.hh,
+	  interfaces/Prolog/GNU/gprolog_efli.cc,
+	  interfaces/Prolog/GNU/gprolog_efli.hh,
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc,
+	  interfaces/Prolog/GNU/ppl_prolog_sysdep.hh,
+	  interfaces/Prolog/SICStus/Makefile.am,
+	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4,
+	  interfaces/Prolog/SICStus/ppl_prolog_sysdep.hh,
+	  interfaces/Prolog/SICStus/sicstus_cfli.ic,
+	  interfaces/Prolog/SICStus/sicstus_efli.cc,
+	  interfaces/Prolog/SICStus/sicstus_efli.hh,
+	  interfaces/Prolog/SWI/.cvsignore,
+	  interfaces/Prolog/SWI/Makefile.am,
+	  interfaces/Prolog/SWI/README.swiprolog,
+	  interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4,
+	  interfaces/Prolog/SWI/ppl_prolog_sysdep.hh,
+	  interfaces/Prolog/SWI/swi_cfli.hh,
+	  interfaces/Prolog/SWI/swi_efli.cc,
+	  interfaces/Prolog/SWI/swi_efli.hh,
+	  interfaces/Prolog/SWI/swi_pl_check.pl,
+	  interfaces/Prolog/SWI/swi_predicate_check.pl,
+	  interfaces/Prolog/XSB/.cvsignore,
+	  interfaces/Prolog/XSB/Makefile.am,
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4,
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_hh.m4,
+	  interfaces/Prolog/XSB/ppl_prolog_sysdep.hh,
+	  interfaces/Prolog/XSB/xsb_cfli.hh,
+	  interfaces/Prolog/XSB/xsb_efli.cc,
+	  interfaces/Prolog/XSB/xsb_efli.hh,
+	  interfaces/Prolog/XSB/xsb_pl_check.P,
+	  interfaces/Prolog/YAP/Makefile.am,
+	  interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4,
+	  interfaces/Prolog/YAP/ppl_prolog_sysdep.hh,
+	  interfaces/Prolog/YAP/yap_cfli.hh,
+	  interfaces/Prolog/YAP/yap_efli.cc,
+	  interfaces/Prolog/YAP/yap_efli.hh,
+	  interfaces/Prolog/tests/.cvsignore,
+	  interfaces/Prolog/tests/Makefile.am,
+	  interfaces/Prolog/tests/pl_check.pl,
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4,
+	  m4/ac_check_swi_prolog.m4, m4/ac_cxx_double_binary_format.m4,
+	  m4/ac_cxx_float_binary_format.m4,
+	  m4/ac_cxx_long_double_binary_format.m4, m4/ax_prefix_config_h.m4,
+	  m4/lib-link.m4, m4/lib-prefix.m4, m4/libtool.m4, m4/ltoptions.m4,
+	  m4/ltsugar.m4, m4/ltversion.m4, src/.cvsignore,
+	  src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
+	  src/BD_Shape.templates.hh, src/Bit_Matrix.cc,
+	  src/Bit_Row.inlines.hh, src/Boundary.defs.hh, src/Box.defs.hh,
+	  src/Box.inlines.hh, src/Box.templates.hh,
+	  src/C_Polyhedron.defs.hh, src/Checked_Number.defs.hh,
+	  src/Checked_Number.inlines.hh, src/Checked_Number.templates.hh,
+	  src/Congruence.defs.hh, src/Congruence_System.cc,
+	  src/Congruence_System.inlines.hh, src/Constraint.defs.hh,
+	  src/Constraint.inlines.hh, src/Constraint_System.cc,
+	  src/Constraint_System.inlines.hh, src/DB_Matrix.templates.hh,
+	  src/Float.defs.hh, src/Float.inlines.hh, src/Generator_System.cc,
+	  src/Generator_System.defs.hh, src/Generator_System.inlines.hh,
+	  src/Grid.defs.hh, src/Grid.templates.hh, src/Grid_chdims.cc,
+	  src/Grid_nonpublic.cc, src/Grid_public.cc, src/Grid_simplify.cc,
+	  src/Grid_widenings.cc, src/Init.cc, src/Init.defs.hh,
+	  src/Init.inlines.hh, src/Interval.defs.hh,
+	  src/Interval.inlines.hh, src/Interval_Info.defs.hh,
+	  src/Interval_Info.inlines.hh, src/Interval_Restriction.defs.hh,
+	  src/Linear_Expression.defs.hh, src/Linear_Expression.inlines.hh,
+	  src/Linear_System.cc, src/Linear_System.inlines.hh,
+	  src/MIP_Problem.cc, src/Makefile.am, src/Matrix.defs.hh,
+	  src/Matrix.inlines.hh, src/NNC_Polyhedron.defs.hh,
+	  src/OR_Matrix.defs.hh, src/OR_Matrix.templates.hh,
+	  src/Octagonal_Shape.defs.hh, src/Octagonal_Shape.templates.hh,
+	  src/Partially_Reduced_Product.defs.hh,
+	  src/Partially_Reduced_Product.inlines.hh,
+	  src/Partially_Reduced_Product.templates.hh,
+	  src/Pointset_Powerset.cc, src/Pointset_Powerset.defs.hh,
+	  src/Pointset_Powerset.inlines.hh,
+	  src/Pointset_Powerset.templates.hh, src/Polyhedron.defs.hh,
+	  src/Polyhedron.templates.hh, src/Polyhedron_chdims.cc,
+	  src/Polyhedron_nonpublic.cc, src/Polyhedron_public.cc,
+	  src/Polyhedron_widenings.cc, src/Powerset.defs.hh,
+	  src/Powerset.inlines.hh, src/checked.cc,
+	  src/checked_float.inlines.hh, src/checked_int.inlines.hh,
+	  src/checked_mpz.inlines.hh, src/conversion.cc,
+	  src/fpu-c99.inlines.hh, src/fpu-ia32.cc, src/fpu-ia32.inlines.hh,
+	  src/fpu-none.inlines.hh, src/fpu-sparc.inlines.hh,
+	  src/fpu.defs.hh, src/iterator_to_const.defs.hh, src/minimize.cc,
+	  src/ppl_header.hh, src/simplify.cc, tests/Makefile.am,
+	  tests/print.hh, tests/BD_Shape/.cvsignore,
+	  tests/BD_Shape/Makefile.am, tests/BD_Shape/congruences1.cc,
+	  tests/BD_Shape/constrains1.cc, tests/BD_Shape/constraints1.cc,
+	  tests/BD_Shape/frombdshape1.cc, tests/BD_Shape/frombox1.cc,
+	  tests/BD_Shape/fromgrid1.cc,
+	  tests/BD_Shape/fromoctagonalshape1.cc,
+	  tests/BD_Shape/generalizedaffineimage1.cc,
+	  tests/BD_Shape/membytes1.cc, tests/BD_Shape/timeelapse1.cc,
+	  tests/Box/.cvsignore, tests/Box/Makefile.am,
+	  tests/Box/ascii_dump_load1.cc, tests/Box/boxdifference1.cc,
+	  tests/Box/constrains1.cc, tests/Box/fromgrid1.cc,
+	  tests/Box/frompartiallyreducedproduct1.cc,
+	  tests/Box/refinewithconstraints2.cc, tests/Box/topclosed1.cc,
+	  tests/Grid/.cvsignore, tests/Grid/Makefile.am,
+	  tests/Grid/addconstraint1.cc, tests/Grid/addconstraints1.cc,
+	  tests/Grid/addspacedims1.cc, tests/Grid/affinedim1.cc,
+	  tests/Grid/affineimage2.cc, tests/Grid/affinepreimage2.cc,
+	  tests/Grid/asciidumpload1.cc, tests/Grid/asciidumpload2.cc,
+	  tests/Grid/asciidumpload7.cc, tests/Grid/bounded1.cc,
+	  tests/Grid/bounds1.cc, tests/Grid/certificate1.cc,
+	  tests/Grid/containsintegerpoint1.cc, tests/Grid/coveringbox1.cc,
+	  tests/Grid/directproduct1.cc, tests/Grid/directproduct2.cc,
+	  tests/Grid/directproduct3.cc, tests/Grid/directproduct4.cc,
+	  tests/Grid/directproduct5.cc, tests/Grid/directproduct6.cc,
+	  tests/Grid/discrete1.cc, tests/Grid/disjoint1.cc,
+	  tests/Grid/equals1.cc, tests/Grid/expandspacedim1.cc,
+	  tests/Grid/foldspacedims1.cc, tests/Grid/frombdshape1.cc,
+	  tests/Grid/frombox1.cc, tests/Grid/fromoctagonalshape1.cc,
+	  tests/Grid/frompolyhedron1.cc,
+	  tests/Grid/generalizedaffineimage1.cc,
+	  tests/Grid/generalizedaffineimage2.cc,
+	  tests/Grid/generalizedaffineimage3.cc,
+	  tests/Grid/generalizedaffinepreimage1.cc,
+	  tests/Grid/generalizedaffinepreimage2.cc,
+	  tests/Grid/generalizedaffinepreimage3.cc,
+	  tests/Grid/generators1.cc, tests/Grid/grid3.cc,
+	  tests/Grid/griddifference1.cc, tests/Grid/join1.cc,
+	  tests/Grid/join2.cc, tests/Grid/limitedextrapolation1.cc,
+	  tests/Grid/limitedextrapolation2.cc,
+	  tests/Grid/limitedextrapolation3.cc, tests/Grid/maxmin1.cc,
+	  tests/Grid/membytes1.cc, tests/Grid/mincongruences1.cc,
+	  tests/Grid/mingenerators1.cc, tests/Grid/outputoperator1.cc,
+	  tests/Grid/partiallyreducedproduct1.cc,
+	  tests/Grid/partiallyreducedproduct2.cc,
+	  tests/Grid/partiallyreducedproduct3.cc,
+	  tests/Grid/partiallyreducedproduct4.cc,
+	  tests/Grid/pointsetpowerset1.cc,
+	  tests/Grid/powersetdifference1.cc,
+	  tests/Grid/powersetgeometricallycovers1.cc,
+	  tests/Grid/relations1.cc, tests/Grid/relations2.cc,
+	  tests/Grid/relations3.cc, tests/Grid/removespacedims1.cc,
+	  tests/Grid/removespacedims2.cc, tests/Grid/timeelapse1.cc,
+	  tests/Grid/topclosed1.cc, tests/Grid/widening1.cc,
+	  tests/Grid/widening3.cc, tests/MIP_Problem/.cvsignore,
+	  tests/Octagonal_Shape/.cvsignore,
+	  tests/Octagonal_Shape/Makefile.am,
+	  tests/Octagonal_Shape/constrains1.cc,
+	  tests/Partially_Reduced_Product/.cvsignore,
+	  tests/Partially_Reduced_Product/Makefile.am,
+	  tests/Partially_Reduced_Product/asciidumpload1.cc,
+	  tests/Partially_Reduced_Product/directproduct1.cc,
+	  tests/Partially_Reduced_Product/directproduct2.cc,
+	  tests/Partially_Reduced_Product/directproduct3.cc,
+	  tests/Partially_Reduced_Product/directproduct4.cc,
+	  tests/Partially_Reduced_Product/directproduct5.cc,
+	  tests/Partially_Reduced_Product/directproduct6.cc,
+	  tests/Partially_Reduced_Product/partiallyreducedproduct1.cc,
+	  tests/Partially_Reduced_Product/partiallyreducedproduct2.cc,
+	  tests/Partially_Reduced_Product/partiallyreducedproduct3.cc,
+	  tests/Partially_Reduced_Product/partiallyreducedproduct4.cc,
+	  tests/Polyhedron/.cvsignore, tests/Polyhedron/Makefile.am,
+	  tests/Polyhedron/addcongruence1.cc,
+	  tests/Polyhedron/addcongruences1.cc,
+	  tests/Polyhedron/congruences1.cc,
+	  tests/Polyhedron/linearsystem1.cc,
+	  tests/Polyhedron/maxspacedim1.cc,
+	  tests/Polyhedron/pointsetpowerset1.cc,
+	  tests/Polyhedron/pointsetpowerset2.cc,
+	  tests/Polyhedron/pointsetpowerset3.cc,
+	  tests/Polyhedron/pointsetpowerset4.cc,
+	  tests/Polyhedron/pointsetpowerset5.cc,
+	  tests/Polyhedron/pointsetpowerset6.cc,
+	  tests/Polyhedron/powerset1.cc, tests/Polyhedron/randphull1.cc,
+	  tests/Polyhedron/simplifyusingcontext1.cc,
+	  tests/Powerset/.cvsignore, tests/Powerset/Makefile.am,
+	  tests/Powerset/pointsetpowerset1.cc,
+	  tests/Powerset/pointsetpowerset2.cc,
+	  tests/Powerset/pointsetpowerset3.cc,
+	  tests/Powerset/pointsetpowerset4.cc,
+	  tests/Powerset/pointsetpowerset5.cc,
+	  tests/Powerset/pointsetpowerset6.cc, tests/Powerset/powerset1.cc,
+	  tests/Powerset/product1.cc,
+	  tests/Powerset/simplifyusingcontext1.cc, utils/Makefile.am
+	  (bounded_arithmetic.[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,1,1,2,1,1,2,1,1,1,1,1,2,2,2,2,2,2,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,2,1,1,1,1,1,1,1,2,2,1,1,1,1,2,1,1,1,1,1,1,1,1,2,2,2,2,2,2,1,1,1,1,2,2,2,2,2,2,1,1,1,2,2,1,2,2,2,1,1,1,1,1,2,2,1,2,1,1,2,1,2,2,1,1,1,1,2,1,2,2,1,1,1,1,1,2,2,1,2,2,1,1,1,2,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1, [...]
+	  First merge of the trunk to the bounded_arithmetic branch.
+
+2008-09-11 Thursday 22:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid.defs.hh (1.81): Improved comments for the
+	  add_constraint(s) methods.
+
+2008-09-11 Thursday 20:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* INSTALL (1.11), Watchdog/INSTALL (1.8): Updated from Autoconf
+	  2.63.
+
+2008-09-11 Thursday 19:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/frompartiallyreducedproduct1.cc (1.3): Prefer
+	  refine_with_* to add_* when stating properties of products
+	  elements.
+
+2008-09-11 Thursday 17:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Partially_Reduced_Product/partiallyreducedproduct1.cc
+	  (1.5): Typo corrected.
+
+2008-09-11 Thursday 17:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Partially_Reduced_Product/partiallyreducedproduct1.cc
+	  (bounded_arithmetic.1): file partiallyreducedproduct1.cc was
+	  added on branch bounded_arithmetic on 2008-09-11 20:37:55 +0000
+
+2008-09-11 Thursday 17:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Box/frombox1.cc (1.6): Undone unintended change.
+
+2008-09-11 Thursday 16:56  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/frombox1.cc (1.3): Corrected expected result for
+	  test11.
+
+2008-09-11 Thursday 16:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/frombox1.cc (bounded_arithmetic.1): file frombox1.cc
+	  was added on branch bounded_arithmetic on 2008-09-11 20:37:53
+	  +0000
+
+2008-09-11 Thursday 16:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/: Box/frombox1.cc (1.5), Grid/Makefile.am (1.69),
+	  Grid/frombox1.cc (1.1): Tests added for building a grid from a
+	  box.
+
+2008-09-11 Thursday 16:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/: frombdshape1.cc (1.4), fromoctagonalshape1.cc (1.4),
+	  grid3.cc (1.29): Added tests in the case that the bd/octagonal
+	  shape is not shortest path closed.  Fixed a comment in
+	  tests/Grid/grid3.cc.
+
+2008-09-11 Thursday 16:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Box/fromgrid1.cc (1.7): Revised for changes to the grid
+	  domain.
+
+2008-09-11 Thursday 16:18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh (1.114): Prefer refine_with_* wrt add_*
+	  in the implementation of generalized affine images and preimages.
+
+2008-09-11 Thursday 16:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/: generalizedaffineimage1.cc (1.22), membytes1.cc
+	  (1.7), timeelapse1.cc (1.26): A few test corrected (no longer
+	  adding constraints that are not BD).
+
+2008-09-11 Thursday 15:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/: congruences1.cc (1.5), constraints1.cc (1.25):
+	  Corrected according to hte new semantics of
+	  add_constraints/congruences.
+
+2008-09-11 Thursday 15:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Partially_Reduced_Product/partiallyreducedproduct1.cc
+	  (1.4): Improved a test.
+
+2008-09-11 Thursday 15:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh (1.113): Corrected a couple of bugs in
+	  the new add_congruence implementation.
+
+2008-09-11 Thursday 15:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.165): When converting differently
+	  typed BD_Shape objects, for maximum precision, do enforce
+	  shortest-path closure of the source bds.
+
+2008-09-11 Thursday 15:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/frombdshape1.cc (1.4): Avoid exceptions in tests
+	  1--4.
+
+2008-09-11 Thursday 15:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Partially_Reduced_Product/Makefile.am (1.3): Enable test
+	  asciidumpload1.cc.
+
+2008-09-11 Thursday 15:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Partially_Reduced_Product/Makefile.am
+	  (bounded_arithmetic.1): file Makefile.am was added on branch
+	  bounded_arithmetic on 2008-09-11 20:37:55 +0000
+
+2008-09-11 Thursday 15:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/frombdshape1.cc (1.3): Added a test for the
+	  conversion from a bds to a differently typed bds.
+
+2008-09-11 Thursday 14:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Partially_Reduced_Product.inlines.hh (1.30),
+	  Partially_Reduced_Product.templates.hh (1.11): Also dump/load the
+	  reduction Bolean flag.
+
+2008-09-11 Thursday 14:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Partially_Reduced_Product/asciidumpload1.cc (1.2): When
+	  using products, always prefer refine_with_* instead of add_*.
+
+2008-09-11 Thursday 14:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Partially_Reduced_Product/asciidumpload1.cc
+	  (bounded_arithmetic.1): file asciidumpload1.cc was added on
+	  branch bounded_arithmetic on 2008-09-11 20:37:55 +0000
+
+2008-09-11 Thursday 14:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/: Grid/asciidumpload7.cc (1.6),
+	  Partially_Reduced_Product/asciidumpload1.cc (1.1): Move test for
+	  the product domain into the appropriate directory. Test
+	  temporarily disabled.
+
+2008-09-11 Thursday 14:40  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid.defs.hh (1.80), src/Grid_public.cc (1.81),
+	  tests/Grid/Makefile.am (1.68), tests/Grid/frombdshape1.cc (1.3),
+	  tests/Grid/fromoctagonalshape1.cc (1.3), tests/Grid/grid3.cc
+	  (1.28), tests/Grid/membytes1.cc (1.12),
+	  tests/Partially_Reduced_Product/Makefile.am (1.2),
+	  tests/Partially_Reduced_Product/directproduct1.cc (1.3),
+	  tests/Partially_Reduced_Product/directproduct3.cc (1.3),
+	  tests/Partially_Reduced_Product/directproduct6.cc (1.3),
+	  tests/Partially_Reduced_Product/partiallyreducedproduct2.cc
+	  (1.3): If a constraint system is not all equalities, then
+	  building a grid from the system will now throw an exception.
+	  Tests adapted for this change.
+
+	  In tests/Grid the asciidumpload7.cc tested ascii_dump and
+	  ascii_load for the product domain. This test fails with the
+	  current changes and has been disabled. When these problems have
+	  been fixed, the test will be moved and enabled in the
+	  tests/Partially_Reduced_Product directory.
+
+2008-09-11 Thursday 14:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Partially_Reduced_Product/directproduct1.cc
+	  (bounded_arithmetic.1): file directproduct1.cc was added on
+	  branch bounded_arithmetic on 2008-09-11 20:37:55 +0000
+
+2008-09-11 Thursday 14:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Partially_Reduced_Product/directproduct3.cc
+	  (bounded_arithmetic.1): file directproduct3.cc was added on
+	  branch bounded_arithmetic on 2008-09-11 20:37:55 +0000
+
+2008-09-11 Thursday 14:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Partially_Reduced_Product/directproduct6.cc
+	  (bounded_arithmetic.1): file directproduct6.cc was added on
+	  branch bounded_arithmetic on 2008-09-11 20:37:55 +0000
+
+2008-09-11 Thursday 14:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Partially_Reduced_Product/partiallyreducedproduct2.cc
+	  (bounded_arithmetic.1): file partiallyreducedproduct2.cc was
+	  added on branch bounded_arithmetic on 2008-09-11 20:37:55 +0000
+
+2008-09-11 Thursday 14:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/frombox1.cc (1.2): Another test.
+
+2008-09-11 Thursday 14:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/fromgrid1.cc (1.5): New test to check that the
+	  appropriate precision is obtained when converting from a grid to
+	  a bd shape.
+
+2008-09-11 Thursday 13:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Partially_Reduced_Product/partiallyreducedproduct1.cc
+	  (1.3): Only build from equality constraints and congruences -
+	  otherwise build the universe and use the refine_with* methods.
+
+2008-09-11 Thursday 13:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.129), BD_Shape.inlines.hh (1.164),
+	  BD_Shape.templates.hh (1.112): Now methods constructing a
+	  BD_Shape from a constraint system and adding constraints throw
+	  exceptions if an illegal constraint is added.  Also corrected the
+	  conversion constructors from Box and Octagonal_Shape so as to
+	  force an emptiness check, so as to build a precise approximation.
+
+2008-09-11 Thursday 13:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Congruence.defs.hh (1.24): Documentation clarified.
+
+2008-09-11 Thursday 13:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.138): Remove a TODO comment inside a
+	  now deprecated method.
+
+2008-09-11 Thursday 12:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/fromoctagonalshape1.cc (1.4): New test shows that
+	  current implementation of conversion operator is not precise
+	  enough.
+
+2008-09-11 Thursday 12:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid.defs.hh (1.79), src/Grid_public.cc (1.80),
+	  tests/Grid/Makefile.am (1.67), tests/Grid/addconstraint1.cc
+	  (1.15), tests/Grid/addconstraints1.cc (1.16),
+	  tests/Grid/addspacedims1.cc (1.17), tests/Grid/affinedim1.cc
+	  (1.14), tests/Grid/affineimage2.cc (1.14),
+	  tests/Grid/affinepreimage2.cc (1.10),
+	  tests/Grid/asciidumpload1.cc (1.16), tests/Grid/asciidumpload2.cc
+	  (1.8), tests/Grid/bounded1.cc (1.16), tests/Grid/bounds1.cc
+	  (1.17), tests/Grid/certificate1.cc (1.16),
+	  tests/Grid/containsintegerpoint1.cc (1.6),
+	  tests/Grid/coveringbox1.cc (1.18), tests/Grid/discrete1.cc
+	  (1.10), tests/Grid/disjoint1.cc (1.14), tests/Grid/equals1.cc
+	  (1.15), tests/Grid/expandspacedim1.cc (1.14),
+	  tests/Grid/foldspacedims1.cc (1.14),
+	  tests/Grid/frompolyhedron1.cc (1.2),
+	  tests/Grid/generalizedaffineimage1.cc (1.16),
+	  tests/Grid/generalizedaffineimage2.cc (1.15),
+	  tests/Grid/generalizedaffineimage3.cc (1.7),
+	  tests/Grid/generalizedaffinepreimage1.cc (1.18),
+	  tests/Grid/generalizedaffinepreimage2.cc (1.18),
+	  tests/Grid/generalizedaffinepreimage3.cc (1.7),
+	  tests/Grid/generators1.cc (1.15), tests/Grid/grid3.cc (1.27),
+	  tests/Grid/griddifference1.cc (1.14), tests/Grid/join1.cc (1.18),
+	  tests/Grid/join2.cc (1.13), tests/Grid/limitedextrapolation1.cc
+	  (1.15), tests/Grid/limitedextrapolation2.cc (1.9),
+	  tests/Grid/limitedextrapolation3.cc (1.8), tests/Grid/maxmin1.cc
+	  (1.15), tests/Grid/mincongruences1.cc (1.13),
+	  tests/Grid/mingenerators1.cc (1.12),
+	  tests/Grid/outputoperator1.cc (1.11),
+	  tests/Grid/pointsetpowerset1.cc (1.4),
+	  tests/Grid/powersetdifference1.cc (1.6),
+	  tests/Grid/powersetgeometricallycovers1.cc (1.5),
+	  tests/Grid/relations1.cc (1.17), tests/Grid/relations2.cc (1.19),
+	  tests/Grid/relations3.cc (1.10), tests/Grid/removespacedims1.cc
+	  (1.16), tests/Grid/removespacedims2.cc (1.16),
+	  tests/Grid/timeelapse1.cc (1.13), tests/Grid/topclosed1.cc
+	  (1.14), tests/Grid/widening1.cc (1.18), tests/Grid/widening3.cc
+	  (1.8): Removed the add congruence methods where the parameter is
+	  a constraint.  This means that, for example, "A == 0" can only be
+	  added using add_constraint.  To add it as a congruence it should
+	  be written as "(A %= 0) / 0)".  Tests adapted for this change.
+
+2008-09-11 Thursday 10:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.137): Redone change (temporarily
+	  reverted a week ago): now add_congruence(s) method throws an
+	  exception when adding a proper and non-trivial congruence.
+
+2008-09-11 Thursday 10:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.218): Minor improvements to the
+	  documentation for simplify_using_context.
+
+2008-09-11 Thursday 10:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.347): Minor improvement to the
+	  documentation for refine methods.
+
+2008-09-11 Thursday 10:04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/C_interface.dox (1.8): Another few minor
+	  improvements.
+
+2008-09-11 Thursday 09:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Partially_Reduced_Product.templates.hh (1.10): When recycling
+	  in the product domains, use refine_with_* for the sub-domain that
+	  cannot recycle.
+
+2008-09-11 Thursday 09:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/C_interface.dox (1.7): Added documentation for the
+	  refine, constrains and unconstrain functions.
+
+2008-09-11 Thursday 08:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Partially_Reduced_Product.inlines.hh (1.29),
+	  tests/Partially_Reduced_Product/directproduct1.cc (1.2),
+	  tests/Partially_Reduced_Product/directproduct2.cc (1.2),
+	  tests/Partially_Reduced_Product/directproduct3.cc (1.2),
+	  tests/Partially_Reduced_Product/directproduct4.cc (1.2),
+	  tests/Partially_Reduced_Product/directproduct5.cc (1.2),
+	  tests/Partially_Reduced_Product/directproduct6.cc (1.2),
+	  tests/Partially_Reduced_Product/partiallyreducedproduct1.cc
+	  (1.2),
+	  tests/Partially_Reduced_Product/partiallyreducedproduct2.cc
+	  (1.2),
+	  tests/Partially_Reduced_Product/partiallyreducedproduct3.cc
+	  (1.2),
+	  tests/Partially_Reduced_Product/partiallyreducedproduct4.cc
+	  (1.2): Use refine_with_* when adding constraints or congruences
+	  to a product.  Note that this also applies to the
+	  constraints_reduction which needs to share the constraints and
+	  congruences.
+
+2008-09-11 Thursday 08:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Partially_Reduced_Product/directproduct2.cc
+	  (bounded_arithmetic.1): file directproduct2.cc was added on
+	  branch bounded_arithmetic on 2008-09-11 20:37:55 +0000
+
+2008-09-11 Thursday 08:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Partially_Reduced_Product/directproduct4.cc
+	  (bounded_arithmetic.1): file directproduct4.cc was added on
+	  branch bounded_arithmetic on 2008-09-11 20:37:55 +0000
+
+2008-09-11 Thursday 08:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Partially_Reduced_Product/directproduct5.cc
+	  (bounded_arithmetic.1): file directproduct5.cc was added on
+	  branch bounded_arithmetic on 2008-09-11 20:37:55 +0000
+
+2008-09-11 Thursday 08:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Partially_Reduced_Product/partiallyreducedproduct3.cc
+	  (bounded_arithmetic.1): file partiallyreducedproduct3.cc was
+	  added on branch bounded_arithmetic on 2008-09-11 20:37:55 +0000
+
+2008-09-11 Thursday 08:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Partially_Reduced_Product/partiallyreducedproduct4.cc
+	  (bounded_arithmetic.1): file partiallyreducedproduct4.cc was
+	  added on branch bounded_arithmetic on 2008-09-11 20:37:55 +0000
+
+2008-09-11 Thursday 08:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/C_interface.dox (1.6): Remove documentation for
+	  constructors from generic boudning boxes, which have been
+	  replaced by PPL Box instantiations.
+
+2008-09-10 Wednesday 21:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid.defs.hh (1.78), src/Grid_nonpublic.cc (1.35),
+	  src/Grid_public.cc (1.79), tests/Grid/addconstraint1.cc (1.14),
+	  tests/Grid/addconstraints1.cc (1.15): Modified methods
+	  add_(recycled_)constraint(s) in the Grid domain to reflect what
+	  is said in definitions.dox wrt the throwing of exceptions.
+	  Modified tests and added tests to check the new exceptions.  The
+	  *_and_minimize" methods are untouched.
+
+2008-09-10 Wednesday 17:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/README.doc (1.17): Account for the differences between teTeX
+	  and TeX Live.
+
+2008-09-10 Wednesday 16:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/README.doc (1.16): Numbers fixed.
+
+2008-09-10 Wednesday 15:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (1.260): Removed 2 items that have already been dealt with.
+
+2008-09-10 Wednesday 13:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/ppl_java_common_dox (1.4): Typo fixed.
+
+2008-09-10 Wednesday 13:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/ppl_java_common_dox (bounded_arithmetic.1): file
+	  ppl_java_common_dox was added on branch bounded_arithmetic on
+	  2008-09-11 20:37:44 +0000
+
+2008-09-10 Wednesday 13:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/ppl_java_common_dox (1.3): Further small
+	  improvements to the documention for the widening operators
+	  documentation..
+
+2008-09-10 Wednesday 13:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/ppl_java_common_dox (1.2): Several cut-and-paste
+	  and similar errors fixed.
+
+2008-09-10 Wednesday 12:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_cc_code.m4
+	  (1.4), ppl_interface_generator_prolog_cc_files.m4 (1.6),
+	  ppl_interface_generator_prolog_dox.m4 (1.2),
+	  ppl_interface_generator_prolog_dox_code.m4 (1.2),
+	  ppl_interface_generator_prolog_hh_code.m4 (1.6),
+	  ppl_interface_generator_prolog_hh_files.m4 (1.7): Comments
+	  describing the function of the m4 files corrected.
+
+2008-09-10 Wednesday 12:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4
+	  (bounded_arithmetic.1): file
+	  ppl_interface_generator_prolog_cc_code.m4 was added on branch
+	  bounded_arithmetic on 2008-09-11 20:37:45 +0000
+
+2008-09-10 Wednesday 12:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4
+	  (bounded_arithmetic.1): file
+	  ppl_interface_generator_prolog_cc_files.m4 was added on branch
+	  bounded_arithmetic on 2008-09-11 20:37:45 +0000
+
+2008-09-10 Wednesday 12:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_dox.m4
+	  (bounded_arithmetic.1): file
+	  ppl_interface_generator_prolog_dox.m4 was added on branch
+	  bounded_arithmetic on 2008-09-11 20:37:45 +0000
+
+2008-09-10 Wednesday 12:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_dox_code.m4
+	  (bounded_arithmetic.1): file
+	  ppl_interface_generator_prolog_dox_code.m4 was added on branch
+	  bounded_arithmetic on 2008-09-11 20:37:45 +0000
+
+2008-09-10 Wednesday 12:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4
+	  (bounded_arithmetic.1): file
+	  ppl_interface_generator_prolog_hh_code.m4 was added on branch
+	  bounded_arithmetic on 2008-09-11 20:37:45 +0000
+
+2008-09-10 Wednesday 12:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_hh_files.m4
+	  (bounded_arithmetic.1): file
+	  ppl_interface_generator_prolog_hh_files.m4 was added on branch
+	  bounded_arithmetic on 2008-09-11 20:37:45 +0000
+
+2008-09-10 Wednesday 11:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/README.doc (1.15): Minor improvements.
+
+2008-09-10 Wednesday 10:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/tests/test1.ml (bounded_arithmetic.1): file
+	  test1.ml was added on branch bounded_arithmetic on 2008-09-11
+	  20:37:45 +0000
+
+2008-09-10 Wednesday 10:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_mli.m4 (1.16),
+	  ppl_ocaml_globals.cc (1.18), ppl_ocaml_globals.ml (1.11),
+	  tests/test1.ml (1.12): Added code for ppl_version() and similar
+	  functions.  Fixed a warning (ppl_ocaml_globals.cc) - caused by
+	  using CAMLparam(0) instead of CAMLparam1(unit) that declares the
+	  dummy parameter "unit".  Fixed a cut-and-paste typo in the mli
+	  fixed code.
+
+2008-09-10 Wednesday 08:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/README.doc (1.14): Added advice on how to deal with "TeX
+	  capacity exceeded" errors.
+
+2008-09-09 Tuesday 22:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/expected_int32 (1.11): Adapted to the recent
+	  changes in ppl_lpsol.
+
+2008-09-09 Tuesday 21:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/tests/Makefile.am (bounded_arithmetic.1): file
+	  Makefile.am was added on branch bounded_arithmetic on 2008-09-11
+	  20:37:45 +0000
+
+2008-09-09 Tuesday 21:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/: Makefile.am (1.50), tests/Makefile.am (1.16):
+	  Link with the PPL just built, not with the one that may already
+	  been installed in the system.
+
+2008-09-09 Tuesday 21:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.343): Make LIBEXT and SHREXT available to
+	  makefiles.
+
+2008-09-09 Tuesday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/ppl_interface_generator_java_dox.m4
+	  (bounded_arithmetic.1): file ppl_interface_generator_java_dox.m4
+	  was added on branch bounded_arithmetic on 2008-09-11 20:37:44
+	  +0000
+
+2008-09-09 Tuesday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/ppl_interface_generator_java_dox_code.m4
+	  (bounded_arithmetic.1): file
+	  ppl_interface_generator_java_dox_code.m4 was added on branch
+	  bounded_arithmetic on 2008-09-11 20:37:44 +0000
+
+2008-09-09 Tuesday 15:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/Makefile.am (1.67),
+	  doc/devref-java-interface.doxyconf-html.in (1.4),
+	  doc/devref-java-interface.doxyconf-latex.in (1.4),
+	  doc/user-java-interface.doxyconf-html.in (1.4),
+	  doc/user-java-interface.doxyconf-latex.in (1.4),
+	  interfaces/Java/Java_interface.dox (1.3),
+	  interfaces/Java/Makefile.am (1.18),
+	  interfaces/Java/ppl_interface_generator_java_dox.m4 (1.1),
+	  interfaces/Java/ppl_interface_generator_java_dox_code.m4 (1.1),
+	  interfaces/Java/ppl_java_common_dox (1.1): Revised the Java
+	  documentation.
+
+2008-09-09 Tuesday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref-java-interface.doxyconf-html.in
+	  (bounded_arithmetic.1): file
+	  devref-java-interface.doxyconf-html.in was added on branch
+	  bounded_arithmetic on 2008-09-11 20:37:40 +0000
+
+2008-09-09 Tuesday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref-java-interface.doxyconf-latex.in
+	  (bounded_arithmetic.1): file
+	  devref-java-interface.doxyconf-latex.in was added on branch
+	  bounded_arithmetic on 2008-09-11 20:37:40 +0000
+
+2008-09-09 Tuesday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user-java-interface.doxyconf-html.in (bounded_arithmetic.1):
+	  file user-java-interface.doxyconf-html.in was added on branch
+	  bounded_arithmetic on 2008-09-11 20:37:40 +0000
+
+2008-09-09 Tuesday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user-java-interface.doxyconf-latex.in (bounded_arithmetic.1):
+	  file user-java-interface.doxyconf-latex.in was added on branch
+	  bounded_arithmetic on 2008-09-11 20:37:40 +0000
+
+2008-09-09 Tuesday 15:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/OCaml_interface.dox (1.4): Some typos fixed.
+
+2008-09-09 Tuesday 15:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/OCaml_interface.dox (bounded_arithmetic.1): file
+	  OCaml_interface.dox was added on branch bounded_arithmetic on
+	  2008-09-11 20:37:45 +0000
+
+2008-09-09 Tuesday 10:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (1.259), interfaces/Prolog/tests/pl_check.pl (1.55): Removed
+	  another item from the TODO.  Added a test for the set and restore
+	  rounding predicates.
+
+2008-09-09 Tuesday 10:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (1.258): Removed an item.
+
+2008-09-09 Tuesday 10:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.217): Revised documentation for the
+	  Pointset Powerset domain.  Reordered sections so that the Grid
+	  documentation comes before the Powerset documentation.
+
+2008-09-09 Tuesday 05:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/expected_int16 (1.10): Adapted to the recent
+	  changes in ppl_lpsol.
+
+2008-09-09 Tuesday 05:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/.cvsignore (1.13), tests/Box/.cvsignore (1.4): Updated.
+
+2008-09-08 Monday 22:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/Makefile.am (1.66),
+	  doc/devref-ocaml-interface.doxyconf-html.in (1.3),
+	  doc/devref-ocaml-interface.doxyconf-latex.in (1.3),
+	  interfaces/OCaml/OCaml_interface.dox (1.3): Revised OCaml
+	  documentation.
+
+2008-09-08 Monday 22:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref-ocaml-interface.doxyconf-html.in
+	  (bounded_arithmetic.1): file
+	  devref-ocaml-interface.doxyconf-html.in was added on branch
+	  bounded_arithmetic on 2008-09-11 20:37:40 +0000
+
+2008-09-08 Monday 22:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref-ocaml-interface.doxyconf-latex.in
+	  (bounded_arithmetic.1): file
+	  devref-ocaml-interface.doxyconf-latex.in was added on branch
+	  bounded_arithmetic on 2008-09-11 20:37:40 +0000
+
+2008-09-08 Monday 22:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Makefile.am (1.270): Previous change reverted, since only
+	  one precompiled header can be used in a particular compilation.
+
+2008-09-08 Monday 22:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/Makefile.am (1.46): Some readability
+	  improvements.
+
+2008-09-08 Monday 22:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/tests/.cvsignore (bounded_arithmetic.1): file
+	  .cvsignore was added on branch bounded_arithmetic on 2008-09-11
+	  20:37:45 +0000
+
+2008-09-08 Monday 22:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/.cvsignore (1.2),
+	  interfaces/OCaml/tests/.cvsignore (1.2),
+	  interfaces/Prolog/SWI/.cvsignore (1.9),
+	  interfaces/Prolog/tests/.cvsignore (1.3): Updated.
+
+2008-09-08 Monday 22:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Polyhedron/.cvsignore (1.7), Grid/.cvsignore (1.3):
+	  Updated.
+
+2008-09-08 Monday 22:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/.cvsignore (1.4): Updated.
+
+2008-09-08 Monday 21:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Makefile.am (1.269): Precompile ppl_test.hh, if precompiled
+	  headers are requested.
+
+2008-09-08 Monday 21:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* .cvsignore (1.9): Updated.
+
+2008-09-08 Monday 21:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.342): New Automake flag DEBUGGING_ENABLED is true
+	  if we have to compile with debug info.
+
+2008-09-08 Monday 21:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Makefile.am (1.55): Erased rule to build
+	  obsolete ppl_prolog_main.icc.
+
+2008-09-08 Monday 21:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Partially_Reduced_Product/.cvsignore, Powerset/.cvsignore
+	  (bounded_arithmetic.[1,1]): file .cvsignore was added on branch
+	  bounded_arithmetic on 2008-09-11 20:37:55 +0000
+
+2008-09-08 Monday 21:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Box/.cvsignore (1.3), MIP_Problem/.cvsignore (1.2),
+	  Octagonal_Shape/.cvsignore (1.2),
+	  Partially_Reduced_Product/.cvsignore (1.2), Powerset/.cvsignore
+	  (1.2): Updated.
+
+2008-09-08 Monday 21:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.257), interfaces/Prolog/tests/Makefile.am (1.23): Source
+	  file interfaces/Prolog/tests/ppl_predicate_check_common.pl is no
+	  longer deleted from the source directory.
+
+2008-09-08 Monday 20:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/: OCaml/.cvsignore (1.5), Prolog/.cvsignore (1.3),
+	  Prolog/XSB/.cvsignore (1.7): Updated.
+
+2008-09-08 Monday 17:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_swi_prolog.m4 (1.15): In Fedora, SWI-Prolog.h is
+	  installed in /usr/include/pl.
+
+2008-09-08 Monday 17:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.48), configure.ac (1.341), Watchdog/configure.ac
+	  (1.46), Watchdog/utils/Makefile.am (1.11),
+	  demos/ppl_lpsol/Makefile.am (1.45), interfaces/OCaml/Makefile.am
+	  (1.49), interfaces/OCaml/tests/Makefile.am (1.15),
+	  interfaces/Prolog/SICStus/Makefile.am (1.93), utils/Makefile.am
+	  (1.19): Use AC_PROG_SED in configure.ac's and $(SED), instead of
+	  plain `sed', in Makefile.am's.
+
+2008-09-08 Monday 14:54  Andrea Cimino
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_mli.m4 (1.15),
+	  ppl_ocaml_globals.cc (1.17), ppl_ocaml_globals.ml (1.10),
+	  tests/test1.ml (1.11): Added - ppl_set_rounding_for_PPL -
+	  ppl_restore_pre_PPL_rounding to the OCaml interface.
+
+2008-09-08 Monday 14:53  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	*
+	  interfaces/Prolog/ppl_interface_generator_prolog_procedure_generators.m4
+	  (1.3): Include the new predicates ppl_set_rounding_for_PPL and
+	  ppl_restore_pre_rounding_for_PPL  in the list of fixed
+	  predicates.
+
+2008-09-08 Monday 14:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Grid.defs.hh (1.77), Grid.templates.hh (1.36),
+	  Grid_simplify.cc (1.39): Code controlled by STRONG_REDUCTION
+	  moved to the appropriate place.
+
+2008-09-08 Monday 14:15  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_procedure_generators.m4
+	  (1.25): Commet improved.
+
+2008-09-08 Monday 14:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/Makefile.am (1.65),
+	  doc/devref-prolog-interface.doxyconf-html.in (1.9),
+	  doc/devref-prolog-interface.doxyconf-latex.in (1.9),
+	  doc/user-prolog-interface.doxyconf-html.in (1.8),
+	  doc/user-prolog-interface.doxyconf-latex.in (1.9),
+	  interfaces/Prolog/Makefile.am (1.54),
+	  interfaces/Prolog/Prolog_interface.dox (1.162),
+	  interfaces/Prolog/ppl_interface_generator_prolog_dox.m4 (1.1),
+	  interfaces/Prolog/ppl_interface_generator_prolog_dox_code.m4
+	  (1.1), interfaces/Prolog/ppl_prolog_sysdep_dox (1.1),
+	  interfaces/Prolog/ppl_prolog_sysindep_dox (1.1): Prolog
+	  documentation revised.
+
+2008-09-08 Monday 14:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog_sysdep_dox (bounded_arithmetic.1):
+	  file ppl_prolog_sysdep_dox was added on branch bounded_arithmetic
+	  on 2008-09-11 20:37:45 +0000
+
+2008-09-08 Monday 14:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog_sysindep_dox (bounded_arithmetic.1):
+	  file ppl_prolog_sysindep_dox was added on branch
+	  bounded_arithmetic on 2008-09-11 20:37:45 +0000
+
+2008-09-08 Monday 09:17  Andrea Cimino
+
+	* interfaces/Java/jni/ppl_java_globals.cc (1.12): Avoid `ppl_'
+	  prefix in the definitions of the methods in the Java interface.
+
+2008-09-08 Monday 09:06  Andrea Cimino
+
+	* configure.ac (1.340): No longer check for libmlgmp.a when
+	  detecting if we are able to compile the OCaml interface.
+
+2008-09-08 Monday 08:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.47): Use `mv -f' instead of `mv'.
+
+2008-09-08 Monday 08:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/expected_int64 (1.11): Adapted to the recent
+	  changed in ppl_lpsol.
+
+2008-09-07 Sunday 23:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/: Makefile.am (1.48), tests/Makefile.am (1.14):
+	  Improved the definition of OCAMLC_LINK_FLAGS.
+
+2008-09-07 Sunday 21:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/: expected_mpz (1.15), ppl_lpsol.c (1.77): Let
+	  GLPK work with the system's default rounding mode.
+
+2008-09-07 Sunday 18:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/Makefile.am (1.91): Work around a plld bug
+	  under Cygwin.
+
+2008-09-07 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/tests/Makefile.am (1.13): Definitions of
+	  OCAMLC_LINK_FLAGS made equal.
+
+2008-09-07 Sunday 16:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/Makefile.am (1.47): Fixed ocamlc compilation and
+	  link flags.
+
+2008-09-07 Sunday 16:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/tests/Makefile.am (1.12): Typo fixed.
+
+2008-09-07 Sunday 16:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/tests/Makefile.am (1.11): Fixed ocamlc
+	  compilation and link flags.
+
+2008-09-07 Sunday 14:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.339): Restore LIBS after checking for GLPK.
+
+2008-09-07 Sunday 14:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/: devref.doxyconf-html.in (1.90), devref.doxyconf-latex.in
+	  (1.29): Include the Partially_Reduced_Product.* src files for
+	  INPUT.
+
+2008-09-07 Sunday 12:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/Makefile.am (1.5), doc/Makefile.am (1.64),
+	  interfaces/Prolog/Ciao/Makefile.am (1.75),
+	  interfaces/Prolog/XSB/Makefile.am (1.72): `abs_srcdir' is
+	  automatically set by Automake: removed redundant definitions.
+
+2008-09-07 Sunday 12:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.42), config.sub (1.39), Watchdog/config.guess
+	  (1.26), Watchdog/config.sub (1.24): Updated.
+
+2008-09-07 Sunday 11:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/Makefile.am (1.46): Removed useless definition
+	  of `abs_srcdir'.
+
+2008-09-07 Sunday 11:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Makefile.am (1.14), Watchdog/utils/Makefile.am
+	  (1.10), interfaces/C/Makefile.am (1.43),
+	  interfaces/Java/jni/Makefile.am (1.20),
+	  interfaces/Prolog/Makefile.am (1.53),
+	  interfaces/Prolog/Ciao/Makefile.am (1.74),
+	  interfaces/Prolog/GNU/Makefile.am (1.76),
+	  interfaces/Prolog/YAP/Makefile.am (1.65),
+	  interfaces/Prolog/tests/Makefile.am (1.22), utils/Makefile.am
+	  (1.18): Removed useless dependencies from Makefile.
+
+2008-09-07 Sunday 11:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.35), Watchdog/ltmain.sh (1.24), m4/libtool.m4 (1.6),
+	  m4/ltoptions.m4 (1.4), m4/ltsugar.m4 (1.2), m4/ltversion.m4
+	  (1.5), Watchdog/m4/libtool.m4 (1.6), Watchdog/m4/ltoptions.m4
+	  (1.4), Watchdog/m4/ltsugar.m4 (1.2), Watchdog/m4/ltversion.m4
+	  (1.5): Updated from Libtool 2.2.6.
+
+2008-09-07 Sunday 11:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: devref-prolog-interface.doxyconf-html.in (1.8),
+	  devref-prolog-interface.doxyconf-latex.in (1.8): Fixed the
+	  definition of INPUT.
+
+2008-09-07 Sunday 11:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog_common.cc (bounded_arithmetic.1):
+	  file ppl_prolog_common.cc was added on branch bounded_arithmetic
+	  on 2008-09-11 20:37:45 +0000
+
+2008-09-07 Sunday 11:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog_common.defs.hh
+	  (bounded_arithmetic.1): file ppl_prolog_common.defs.hh was added
+	  on branch bounded_arithmetic on 2008-09-11 20:37:45 +0000
+
+2008-09-07 Sunday 11:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: Java/jni/ppl_java_globals.cc (1.11),
+	  Prolog/ppl_prolog_common.cc (1.4),
+	  Prolog/ppl_prolog_common.defs.hh (1.4): Added support for new
+	  methods:   void Parma_Polyhedra_Library::set_rounding_for_PPL()
+	  void Parma_Polyhedra_Library::restore_pre_PPL_rounding() for
+	  Prolog and Java.
+
+2008-09-07 Sunday 10:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.184): Vertical space adjusted.
+
+2008-09-07 Sunday 10:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/Makefile.am (1.42): When necessary list
+	  `-no-undefined' among the `libppl_c_la_LDFLAGS'.
+
+2008-09-07 Sunday 09:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Pointset_Powerset.defs.hh (1.51): Corrected cross-reference
+	  wrt meet-preserving enlargement for the devref manuals.
+
+2008-09-07 Sunday 09:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/Makefile.am (1.63): Corrected paths for Prolog files used for
+	  the devref Prolog manuals.
+
+2008-09-07 Sunday 08:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/Makefile.am (1.71): Added ppl_xsb.hh to
+	  DISTCLEANFILES.
+
+2008-09-07 Sunday 08:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/Makefile.am (1.45): More dependency problems
+	  fixed.
+
+2008-09-06 Saturday 22:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.h.in (1.77),
+	  ppl_interface_generator_c_cc_preamble (1.15),
+	  ppl_interface_generator_c_h_preamble (1.11): Added
+
+	    int ppl_set_rounding_for_PPL(void)
+
+	  and
+
+	    int ppl_restore_pre_PPL_rounding(void)
+
+	  to the C interface.
+
+2008-09-06 Saturday 22:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Init.defs.hh (1.22): Comments revised.
+
+2008-09-06 Saturday 21:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/Makefile.am (1.70): BUILT_SOURCES must
+	  include ppl_xsb.hh.
+
+2008-09-06 Saturday 20:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.338): Version number bumped.
+
+2008-09-06 Saturday 20:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.256), interfaces/OCaml/Makefile.am (1.44),
+	  interfaces/OCaml/tests/Makefile.am (1.10): Fixed the dependency
+	  problems.
+
+2008-09-06 Saturday 18:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.46): Commands for dist-hook fixed.
+
+2008-09-06 Saturday 18:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/tests/Makefile.am (1.9): Do not distribute
+	  generated sources.
+
+2008-09-06 Saturday 17:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/: devref.doxyconf-html.in (1.3),
+	  devref.doxyconf-latex.in (1.3), user.doxyconf-html.in (1.4),
+	  user.doxyconf-latex.in (1.4): Updated.
+
+2008-09-06 Saturday 16:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/: Makefile.am (1.33), Java/jni/Makefile.am (1.19),
+	  Java/tests/Makefile.am (1.21), OCaml/Makefile.am (1.43),
+	  Prolog/GNU/Makefile.am (1.75), Prolog/SICStus/Makefile.am (1.92),
+	  Prolog/SWI/Makefile.am (1.90), Prolog/XSB/Makefile.am (1.69),
+	  Prolog/YAP/Makefile.am (1.64), Prolog/tests/Makefile.am (1.21):
+	  Removed several misuses of BUILT_SOURCES.
+
+2008-09-06 Saturday 16:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/tests/Makefile.am (1.8): Fixed several problems.
+
+2008-09-06 Saturday 15:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.337): Only enable sicstus_prolog, swi_prolog and
+	  xsb_prolog by default.
+
+2008-09-06 Saturday 15:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: GNU/Makefile.am (1.74), SICStus/Makefile.am
+	  (1.91), SWI/Makefile.am (1.89), XSB/Makefile.am (1.68),
+	  YAP/Makefile.am (1.63): Do not distribute generated files.
+
+2008-09-06 Saturday 14:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: devref-c-interface.doxyconf-html.in (1.7),
+	  devref-c-interface.doxyconf-latex.in (1.7),
+	  devref-java-interface.doxyconf-html.in (1.3),
+	  devref-java-interface.doxyconf-latex.in (1.3),
+	  devref-ocaml-interface.doxyconf-html.in (1.2),
+	  devref-ocaml-interface.doxyconf-latex.in (1.2),
+	  devref-prolog-interface.doxyconf-html.in (1.7),
+	  devref-prolog-interface.doxyconf-latex.in (1.7),
+	  devref.doxyconf-html.in (1.89), devref.doxyconf-latex.in (1.28),
+	  user-c-interface.doxyconf-html.in (1.8),
+	  user-c-interface.doxyconf-latex.in (1.8),
+	  user-java-interface.doxyconf-html.in (1.3),
+	  user-java-interface.doxyconf-latex.in (1.3),
+	  user-ocaml-interface.doxyconf-html.in (1.2),
+	  user-ocaml-interface.doxyconf-latex.in (1.2),
+	  user-prolog-interface.doxyconf-html.in (1.7),
+	  user-prolog-interface.doxyconf-latex.in (1.8),
+	  user.doxyconf-html.in (1.43), user.doxyconf-latex.in (1.14):
+	  Updated.
+
+2008-09-06 Saturday 14:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user-ocaml-interface.doxyconf-html.in (bounded_arithmetic.1):
+	  file user-ocaml-interface.doxyconf-html.in was added on branch
+	  bounded_arithmetic on 2008-09-11 20:37:40 +0000
+
+2008-09-06 Saturday 14:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user-ocaml-interface.doxyconf-latex.in
+	  (bounded_arithmetic.1): file
+	  user-ocaml-interface.doxyconf-latex.in was added on branch
+	  bounded_arithmetic on 2008-09-11 20:37:40 +0000
+
+2008-09-06 Saturday 10:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.255): Remember to make
+
+	      void set_rounding_for_PPL()
+	      void restore_pre_PPL_rounding()
+
+	  available in all the interfaces.
+
+2008-09-06 Saturday 10:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/randphull1.cc (1.15): Reset the rounding mode to
+	  its pre-PPL state before doing any non-PPL floating point
+	  computation.	This is to avoid bugs as
+	  http://sources.redhat.com/bugzilla/show_bug.cgi?id=6869 and also
+	  to test the rounding-mode setting/resetting functions.  When
+	  NDEBUG is not defined, limit the maximum space dimension tested
+	  by test02() to 4 (instead of 6).
+
+2008-09-06 Saturday 10:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref.doxyconf-html.in (1.88), doc/devref.doxyconf-latex.in
+	  (1.27), src/Init.cc (1.36), src/Init.defs.hh (1.21),
+	  src/Init.inlines.hh (1.9), src/Makefile.am (1.183): New functions
+
+	    void set_rounding_for_PPL()
+	    void restore_pre_PPL_rounding()
+
+	  sets the FPU rounding mode as it was before initialization of the
+	  PPL, and sets it so that the PPL abstractions based on floating
+	  point numbers work correctly, respectively.
+
+2008-09-06 Saturday 10:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Init.inlines.hh (bounded_arithmetic.1): file Init.inlines.hh
+	  was added on branch bounded_arithmetic on 2008-09-11 20:37:49
+	  +0000
+
+2008-09-06 Saturday 09:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: GNU/gprolog_efli.cc (1.3), XSB/xsb_efli.cc
+	  (1.4): Two FIXMEs resolved.
+
+2008-09-06 Saturday 09:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/gprolog_efli.cc (bounded_arithmetic.1):
+	  file gprolog_efli.cc was added on branch bounded_arithmetic on
+	  2008-09-11 20:37:47 +0000
+
+2008-09-06 Saturday 09:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/xsb_efli.cc (bounded_arithmetic.1): file
+	  xsb_efli.cc was added on branch bounded_arithmetic on 2008-09-11
+	  20:37:48 +0000
+
+2008-09-05 Friday 22:17  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/XSB/xsb_pl_check.P (1.32): Add the predicates:
+		 ppl_Polyhedron_constrains/2,
+	  ppl_Polyhedron_unconstrain_space_dimension/2,
+	  ppl_Polyhedron_unconstrain_space_dimensions/2, to the "import"
+	  list.
+
+2008-09-05 Friday 21:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: Makefile.am (1.62), libppl.3 (1.1): Started drafting a
+	  libppl(3) man page.
+
+2008-09-05 Friday 21:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/libppl.3 (bounded_arithmetic.1): file libppl.3 was added on
+	  branch bounded_arithmetic on 2008-09-11 20:37:40 +0000
+
+2008-09-05 Friday 19:27  Andrea Cimino
+
+	* interfaces/Java/jni/:
+	  ppl_interface_generator_java_ppl_java_classes_cc_code.m4 (1.53),
+	  ppl_java_common.cc (1.40), ppl_java_common.hh (1.36),
+	  ppl_java_globals.cc (1.10): Use always `set_ptr' to set the value
+	  of the C++ object pointer in the Java world, this makes the code
+	  cleaner. This was made also to implement (in a near future)
+	  de-allocation with the recently added functions in
+	  `marked_pointers.hh' Changed the `set_ptr' definition to avoid
+	  casts in the code.
+
+2008-09-05 Friday 19:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/: Makefile.am (1.67), ppl_prolog_sysdep.hh
+	  (1.2), xsb_efli.cc (1.3): The XSB interface now supports separate
+	  compilation.
+
+2008-09-05 Friday 19:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/ppl_prolog_sysdep.hh
+	  (bounded_arithmetic.1): file ppl_prolog_sysdep.hh was added on
+	  branch bounded_arithmetic on 2008-09-11 20:37:48 +0000
+
+2008-09-05 Friday 15:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/XSB/Makefile.am (1.66): Added code for
+	  generating ppl_xsb.hh.
+
+2008-09-05 Friday 15:53  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/XSB/: ppl_interface_generator_xsb_cc.m4 (1.16),
+	  ppl_interface_generator_xsb_hh.m4 (1.1): Split the generating
+	  file so as to generate 2 C++ files, ppl_xsb.hh (containing only
+	  the "defines") and ppl_xsb.cc for the rest.
+
+2008-09-05 Friday 15:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/ppl_interface_generator_xsb_hh.m4
+	  (bounded_arithmetic.1): file ppl_interface_generator_xsb_hh.m4
+	  was added on branch bounded_arithmetic on 2008-09-11 20:37:48
+	  +0000
+
+2008-09-05 Friday 14:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/xsb_cfli.hh (1.6): Added a missing `inline'
+	  qualifier.
+
+2008-09-05 Friday 14:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/Makefile.am (1.61): Updated the definition of
+	  DEVREF_PROLOG_INTERFACE_STUFF.
+
+2008-09-05 Friday 13:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4 (1.15):
+	  Reorder the lines for the divert(1) and divert(2)  and #include
+	  ...
+
+2008-09-05 Friday 13:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Bit_Matrix.cc (1.6), checked.cc (1.23), conversion.cc
+	  (1.86): Added missing inclusions of <climits>.
+
+2008-09-05 Friday 13:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/xsb_efli.cc (1.2): Removed some unwanted
+	  PPL:: qualifications.
+
+2008-09-05 Friday 10:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4 (1.14):
+	  Restored some divert(n)'s.
+
+2008-09-05 Friday 10:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/ascii_dump_load1.cc (1.10): Corrected test04.
+
+2008-09-05 Friday 10:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.254), src/Polyhedron_public.cc (1.136): (Temporarily)
+	  Reverted previous change, as it was causing too many troubles in
+	  the tests for the Partially_Reduced_Product.
+
+2008-09-05 Friday 10:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Constraint.inlines.hh (1.72): Fixed Constraint
+	  operator==(Variable, Variable).
+
+2008-09-05 Friday 08:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/congruences1.cc (1.15): Update test according to
+	  new specification for addition of congruences.
+
+2008-09-04 Thursday 22:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Powerset/pointsetpowerset4.cc (1.2): Fixed tests 13 and 15,
+	  which were still assuming the old specification of
+	  add_congruence(s).
+
+2008-09-04 Thursday 22:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/pointsetpowerset4.cc (bounded_arithmetic.1): file
+	  pointsetpowerset4.cc was added on branch bounded_arithmetic on
+	  2008-09-11 20:37:56 +0000
+
+2008-09-04 Thursday 22:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Float.inlines.hh (1.34): Include <climits>.
+
+2008-09-04 Thursday 21:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.253): Moved one item to the section "PPL 0.11 or later".
+
+2008-09-04 Thursday 21:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.45), configure.ac (1.336): Added a new configure
+	  option `--enable-check' accepting the values `thorough', for the
+	  ordinary lengthy process, and `quick', for a quicker process yet
+	  to be defined.  The default for the CVS distribution is
+	  `thorough', whereas tar and zip packages built with `make dist'
+	  default to `quick'.
+
+2008-09-04 Thursday 19:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: ppl-config.1 (1.7), ppl_lcdd.1 (1.5), ppl_lpsol.1 (1.5):
+	  Updated.
+
+2008-09-04 Thursday 17:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Constraint.defs.hh (1.130), Constraint.inlines.hh (1.71):
+	  Resolved a couple of TODOs: now Constraint operator>=(Variable,
+	  Variable) and Constraint operator>(Variable, Variable) have
+	  optimal implementations.
+
+2008-09-04 Thursday 16:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.inlines.hh (1.80): Comments improved.
+
+2008-09-04 Thursday 16:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Constraint.defs.hh (1.129), Constraint.inlines.hh (1.70):
+	  TODO resolved: Constraint operator==(Variable, Variable) has now
+	  an optimal implementation.
+
+2008-09-04 Thursday 16:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Linear_Expression.defs.hh (1.39),
+	  Linear_Expression.inlines.hh (1.14): Spurious \relates command
+	  removed.  New private constructor Linear_Expression(Variable v,
+	  Variable w) builds the linear expression corresponding to the
+	  difference of `v' and `w'.  FIXME resolved: Linear_Expression
+	  operator-(Variable, Variable) has now an optimal implementation.
+
+2008-09-04 Thursday 15:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: addcongruence1.cc (1.11), addcongruences1.cc
+	  (1.14): Adapted tests for addcongruence(s) so as to meet the new
+	  specification.
+
+2008-09-04 Thursday 15:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.135): Adapted implementation of
+	  methods add_congruence(s) so as to meet their specification.
+
+2008-09-04 Thursday 13:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh (1.346), Polyhedron.templates.hh (1.21):
+	  The templatic constructor of a Polyhedron from a box now requires
+	  that the box is indeed an instantiation of the Box class
+	  template; documentation simplified accordingly.  Fixed
+	  documentation regarding the addition of congruences, so as to
+	  better specify when an exception is thrown.
+
+2008-09-04 Thursday 13:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: C_Polyhedron.defs.hh (1.59), NNC_Polyhedron.defs.hh (1.61):
+	  Fixed minor problems in the documentation of constructors.
+
+2008-09-04 Thursday 09:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: DB_Matrix.templates.hh (1.9), OR_Matrix.templates.hh (1.8):
+	  Two FIXMEs resolved.
+
+2008-09-04 Thursday 09:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Interval_Info.defs.hh (1.11), Interval_Restriction.defs.hh
+	  (1.12): Comments improved.
+
+2008-09-04 Thursday 08:44  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/: ascii_dump_load1.cc (1.9), refinewithconstraints2.cc
+	  (1.2): Corrected test04 of ascii_dump_load1.cc.  Temporarily
+	  disabled test02 of refinewithconstraints2.cc.
+
+2008-09-04 Thursday 00:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Checked_Number.templates.hh (1.2): Avoid assertions in the
+	  ascii_load method: return false instead.
+
+2008-09-04 Thursday 00:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.templates.hh (bounded_arithmetic.1): file
+	  Checked_Number.templates.hh was added on branch
+	  bounded_arithmetic on 2008-09-11 20:37:49 +0000
+
+2008-09-04 Thursday 00:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Interval.inlines.hh (1.40): Interval's ascii_dump/load
+	  methods are now based on corresponding functions for the boundary
+	  datatype.
+
+2008-09-04 Thursday 00:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Checked_Number.defs.hh (1.98), Checked_Number.templates.hh
+	  (1.1), Makefile.am (1.182): Drafted ascii_dump/load functions for
+	  native and checked numbers: inexact numbers dump both hexadecimal
+	  and pretty printed representations.
+
+2008-09-03 Wednesday 22:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl_header.hh (1.11): Corrected the handling of
+	  __STDC_LIMIT_MACROS.
+
+2008-09-03 Wednesday 22:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Powerset.cc (1.23): Changed #if to #ifdef.
+
+2008-09-03 Wednesday 21:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.345): Little improvement to a comment.
+
+2008-09-03 Wednesday 20:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.344): Dealt with a couple of FIXME's
+	  related to documentation.
+
+2008-09-03 Wednesday 19:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/ascii_dump_load1.cc (1.8): Some improvements to the
+	  ascii_dump test.
+
+2008-09-03 Wednesday 18:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Interval_Info.defs.hh (1.10), Interval_Info.inlines.hh
+	  (1.9): When ascii_dumping interval info, do set/reset hexadecimal
+	  output before/after dumping a bitset.
+
+2008-09-03 Wednesday 18:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Interval_Info.defs.hh (1.9): Do not define ascii_dump/load
+	  twice.
+
+2008-09-03 Wednesday 18:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Interval.defs.hh (1.57), Interval.inlines.hh (1.39),
+	  Interval_Info.defs.hh (1.8), Interval_Info.inlines.hh (1.8):
+	  Started drafting appropriate ascii_dump/load methods for
+	  Interval.
+
+2008-09-03 Wednesday 18:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Boundary.defs.hh (1.14): Tell which namespace is being
+	  closed.
+
+2008-09-03 Wednesday 16:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/ascii_dump_load1.cc (1.7): Temporarily commented out
+	  the invocation of test07().
+
+2008-09-03 Wednesday 16:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.335), interfaces/Prolog/GNU/Makefile.am (1.73),
+	  interfaces/Prolog/SICStus/Makefile.am (1.90),
+	  interfaces/Prolog/SWI/Makefile.am (1.88),
+	  interfaces/Prolog/XSB/Makefile.am (1.65),
+	  interfaces/Prolog/YAP/Makefile.am (1.62): Fixed several
+	  distribution issues.
+
+2008-09-03 Wednesday 15:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Makefile.am (1.52), GNU/Makefile.am (1.72),
+	  SICStus/Makefile.am (1.89), SWI/Makefile.am (1.87),
+	  XSB/Makefile.am (1.64), YAP/Makefile.am (1.61): Corrected several
+	  variable's definitions.
+
+2008-09-03 Wednesday 15:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/: Makefile.am (1.64), ascii_dump_load1.cc (1.6): Added
+	  test07(), which fails.  Commented out the invocation of several
+	  other tests that are waiting for adaptation to boxes.
+
+2008-09-03 Wednesday 11:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/: Makefile.am (1.63),
+	  ppl_interface_generator_xsb_cc.m4 (1.13), ppl_prolog_sysdep.hh
+	  (1.1), xsb_efli.cc (1.1), xsb_efli.hh (1.1): Started adapting the
+	  XSB interface in order to support separate compilation.
+
+2008-09-03 Wednesday 11:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/xsb_efli.hh (bounded_arithmetic.1): file
+	  xsb_efli.hh was added on branch bounded_arithmetic on 2008-09-11
+	  20:37:48 +0000
+
+2008-09-03 Wednesday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/sicstus_efli.cc (bounded_arithmetic.1):
+	  file sicstus_efli.cc was added on branch bounded_arithmetic on
+	  2008-09-11 20:37:47 +0000
+
+2008-09-03 Wednesday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: GNU/gprolog_efli.cc (1.2), SWI/swi_efli.cc
+	  (1.3), SICStus/sicstus_efli.cc (1.2): Comments belong to the
+	  header files: removed from the implementation files.
+
+2008-09-03 Wednesday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/swi_efli.cc (bounded_arithmetic.1): file
+	  swi_efli.cc was added on branch bounded_arithmetic on 2008-09-11
+	  20:37:48 +0000
+
+2008-09-02 Tuesday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/ppl_prolog_sysdep.hh
+	  (bounded_arithmetic.1): file ppl_prolog_sysdep.hh was added on
+	  branch bounded_arithmetic on 2008-09-11 20:37:47 +0000
+
+2008-09-02 Tuesday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/sicstus_efli.hh (bounded_arithmetic.1):
+	  file sicstus_efli.hh was added on branch bounded_arithmetic on
+	  2008-09-11 20:37:47 +0000
+
+2008-09-02 Tuesday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.334), interfaces/Prolog/SICStus/Makefile.am
+	  (1.88),
+	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
+	  (1.14), interfaces/Prolog/SICStus/ppl_prolog_sysdep.hh (1.1),
+	  interfaces/Prolog/SICStus/sicstus_cfli.ic (1.20),
+	  interfaces/Prolog/SICStus/sicstus_efli.cc (1.1),
+	  interfaces/Prolog/SICStus/sicstus_efli.hh (1.1): The SICStus
+	  Prolog interface now uses separate compilation.
+
+2008-09-02 Tuesday 17:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_prolog_common.cc (1.3),
+	  ppl_prolog_common.defs.hh (1.3): Fixed the declaration of
+	  `prolog_interface_atoms'.
+
+2008-09-01 Monday 22:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.333), interfaces/Prolog/YAP/Makefile.am (1.60),
+	  interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4 (1.11),
+	  interfaces/Prolog/YAP/ppl_prolog_sysdep.hh (1.1),
+	  interfaces/Prolog/YAP/yap_cfli.hh (1.6),
+	  interfaces/Prolog/YAP/yap_efli.cc (1.1),
+	  interfaces/Prolog/YAP/yap_efli.hh (1.1): Enabled separate
+	  compilation in the YAP interface.
+
+2008-09-01 Monday 22:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/ppl_prolog_sysdep.hh
+	  (bounded_arithmetic.1): file ppl_prolog_sysdep.hh was added on
+	  branch bounded_arithmetic on 2008-09-11 20:37:48 +0000
+
+2008-09-01 Monday 22:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/yap_efli.cc (bounded_arithmetic.1): file
+	  yap_efli.cc was added on branch bounded_arithmetic on 2008-09-11
+	  20:37:48 +0000
+
+2008-09-01 Monday 22:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/yap_efli.hh (bounded_arithmetic.1): file
+	  yap_efli.hh was added on branch bounded_arithmetic on 2008-09-11
+	  20:37:48 +0000
+
+2008-09-01 Monday 11:44  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/C_interface.dox (1.5): Started adjusting the
+	  polyehdra domain documentation for the C language interface;
+	  function categorized as either generic domain functions or ad hoc
+	  functions for the domain of polyhedra, so as to clarify which
+	  ones are also available for other domain instantiations.
+
+2008-08-31 Sunday 21:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/gprolog_efli.hh (bounded_arithmetic.1):
+	  file gprolog_efli.hh was added on branch bounded_arithmetic on
+	  2008-09-11 20:37:47 +0000
+
+2008-08-31 Sunday 21:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/ppl_prolog_sysdep.hh
+	  (bounded_arithmetic.1): file ppl_prolog_sysdep.hh was added on
+	  branch bounded_arithmetic on 2008-09-11 20:37:47 +0000
+
+2008-08-31 Sunday 21:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.332), interfaces/Prolog/ppl_prolog_common.defs.hh
+	  (1.2), interfaces/Prolog/GNU/Makefile.am (1.71),
+	  interfaces/Prolog/GNU/gprolog_cfli.hh (1.9),
+	  interfaces/Prolog/GNU/gprolog_efli.cc (1.1),
+	  interfaces/Prolog/GNU/gprolog_efli.hh (1.1),
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.47),
+	  interfaces/Prolog/GNU/ppl_prolog_sysdep.hh (1.1),
+	  interfaces/Prolog/SICStus/Makefile.am (1.87): The GNU Prolog
+	  interface now supports separate compilation.
+
+2008-08-31 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/: Makefile.am (1.86), ppl_prolog_sysdep.hh
+	  (1.2), swi_efli.hh (1.4): Some cosmetic changes.  Some FIXMEs
+	  added.
+
+2008-08-31 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/ppl_prolog_sysdep.hh
+	  (bounded_arithmetic.1): file ppl_prolog_sysdep.hh was added on
+	  branch bounded_arithmetic on 2008-09-11 20:37:48 +0000
+
+2008-08-31 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/swi_efli.hh (bounded_arithmetic.1): file
+	  swi_efli.hh was added on branch bounded_arithmetic on 2008-09-11
+	  20:37:48 +0000
+
+2008-08-31 Sunday 11:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.331): Added checks required to validate an
+	  horrible kludge working around an horrible bug in <gprolog.h>
+	  (see
+	  http://www.cs.unipr.it/pipermail/ppl-devel/2008-August/012277.html).
+
+2008-08-30 Saturday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/swi_efli.hh (1.3): Exploit the inclusion of
+	  "ppl.hh" in order to have <stdint.h> and/or <inttypes.h> already
+	  included the proper way.
+
+2008-08-30 Saturday 17:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/swi_cfli.hh (1.10): Include <stdint.h> nor
+	  <inttypes.h>.
+
+2008-08-30 Saturday 17:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Float.defs.hh (1.30), Float.inlines.hh (1.33),
+	  checked_int.inlines.hh (1.67): Do not include <stdint.h> and/or
+	  <inttypes.h>: these are included by "ppl-config.h".
+
+2008-08-30 Saturday 17:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl_header.hh (1.10): Make sure __STDC_LIMIT_MACROS is
+	  restored at the end of <ppl.hh>.  Similarly, make sure NDEBUG is
+	  restored exactly to its original definition.
+
+2008-08-30 Saturday 17:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.330): Make sure __STDC_LIMIT_MACROS is defined
+	  before including <stdint.h>.	For this and other reasons,
+	  <stdint.h> should be only included from "ppl-config.h".
+
+2008-08-30 Saturday 17:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/: ac_cxx_double_binary_format.m4 (1.9),
+	  ac_cxx_float_binary_format.m4 (1.7),
+	  ac_cxx_long_double_binary_format.m4 (1.8): Make sure
+	  __STDC_LIMIT_MACROS is defined before including <stdint.h>.
+
+2008-08-30 Saturday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ax_prefix_config_h.m4 (1.2): Updated.
+
+2008-08-29 Friday 20:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/Makefile.am (1.85): Dependencies fixed.
+
+2008-08-29 Friday 18:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_ocaml_globals.cc (1.16): Use the new
+	  implementation of marked pointers.
+
+2008-08-29 Friday 18:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/: Makefile.am (1.32), marked_pointers.hh (1.1):
+	  Implementation of marked pointers for use in the PPL foreign
+	  interfaces.
+
+2008-08-29 Friday 18:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/marked_pointers.hh (bounded_arithmetic.1): file
+	  marked_pointers.hh was added on branch bounded_arithmetic on
+	  2008-09-11 20:37:41 +0000
+
+2008-08-28 Thursday 20:56  Andrea Cimino
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
+	  (1.38), ppl_ocaml_globals.cc (1.15): Added three functions to
+	  deal with the last bit of a pointer. These are added and used in
+	  the interface to avoid unwanted `delete' calls on iterated
+	  objects: e.g. object get by `get_disjunct'.
+
+2008-08-28 Thursday 08:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_float.inlines.hh (1.88): Typo fixed.
+
+2008-08-27 Wednesday 22:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_float.inlines.hh (1.87): Added missing `inline'
+	  qualifier.
+
+2008-08-27 Wednesday 21:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_float.inlines.hh (1.86): Work around a limitation of
+	  Cygwin, which has proper long doubles but does not provide
+	  rintl().
+
+2008-08-27 Wednesday 21:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Boundary.defs.hh (1.13): Work around a bug of GCC 4.0.x.
+
+2008-08-26 Tuesday 19:29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Interval.inlines.hh (1.38): (Temporarily?) Commented out call
+	  to method OK() in operator<<(), which is also used by method
+	  ascii_dump().
+
+2008-08-26 Tuesday 19:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Interval.defs.hh (1.56): Avoid long lines in method OK();
+	  when doing output on std::cerr, prefer "\n" to std::endl.
+
+2008-08-26 Tuesday 19:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (1.121): Corrected spelling typo in comment.
+
+2008-08-26 Tuesday 12:56  Andrea Cimino
+
+	* interfaces/Java/:
+	  ppl_interface_generator_java_procedure_generators.m4 (1.7),
+	  jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.52), jni/ppl_java_common.cc (1.39), jni/ppl_java_common.hh
+	  (1.35), tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.32):  Implemened the following methods in the Java interface:
+	   ppl_ at CLASS@_ascii_dump/1
+	   ppl_ at CLASS@_ at PARTITION@/4 +pointset_powerset \grid
+
+	   To do so, a new Pair class has been introduced to
+	   wrap the result of a CXX std::pair class.
+
+2008-08-25 Monday 22:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.252), interfaces/Prolog/SWI/README.swiprolog (1.3): In
+	  the SWI-Prolog documentation, the command to dynamically load the
+	  library has been modified so as to specify the `.so' extension:
+	  this seems to be required under Mac OS X and seems not to do any
+	  harm under GNU/Linux.
+
+2008-08-25 Monday 22:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.232), configure.ac (1.329), fedora/ppl.spec (1.5),
+	  interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
+	  (1.19), interfaces/Prolog/SWI/swi_cfli.hh (1.9),
+	  interfaces/Prolog/SWI/swi_efli.cc (1.2),
+	  interfaces/Prolog/SWI/swi_efli.hh (1.2): The preferred spelling
+	  is `SWI-Prolog', not `SWI Prolog'.
+
+2008-08-25 Monday 21:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/: ppl_interface_generator_copyright (1.7),
+	  Prolog/ppl_interface_generator_prolog_cc_files.m4 (1.5),
+	  Prolog/ppl_interface_generator_prolog_hh_files.m4 (1.6),
+	  Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4 (1.18),
+	  Prolog/SWI/swi_pl_check.pl (1.12),
+	  Prolog/SWI/swi_predicate_check.pl (1.7): Fixed several comments
+	  and meta-comments.
+
+2008-08-25 Monday 17:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog_common.inlines.hh
+	  (bounded_arithmetic.1): file ppl_prolog_common.inlines.hh was
+	  added on branch bounded_arithmetic on 2008-09-11 20:37:45 +0000
+
+2008-08-25 Monday 17:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.328), interfaces/Prolog/Makefile.am (1.51),
+	  interfaces/Prolog/exceptions.hh (1.27),
+	  interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4
+	  (1.3),
+	  interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4
+	  (1.4),
+	  interfaces/Prolog/ppl_interface_generator_prolog_hh_files.m4
+	  (1.5),
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (1.69),
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc_files.m4
+	  (1.2), interfaces/Prolog/ppl_prolog_common.cc (1.2),
+	  interfaces/Prolog/ppl_prolog_common.defs.hh (1.1),
+	  interfaces/Prolog/ppl_prolog_common.icc (1.16),
+	  interfaces/Prolog/ppl_prolog_common.inlines.hh (1.1),
+	  interfaces/Prolog/track_allocation.hh (1.25),
+	  interfaces/Prolog/SWI/Makefile.am (1.84),
+	  interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
+	  (1.17), interfaces/Prolog/SWI/ppl_prolog_sysdep.hh (1.1),
+	  interfaces/Prolog/SWI/swi_efli.cc (1.1),
+	  interfaces/Prolog/SWI/swi_efli.hh (1.1): Prolog interfaces
+	  reorganized.	Only the interface for SWI Prolog is operational;
+	  the others will follow.
+
+2008-08-24 Sunday 12:55  Andrea Cimino
+
+	* interfaces/OCaml/tests/test1.ml (1.10): Test if the number of
+	  constraints of a Constraint_System get by calling
+	  `minimized_constraints' on a Polyhedron built from Universe and
+	  with dimension greater than zero is zero.
+
+2008-08-24 Sunday 10:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/simplifyusingcontext1.cc (bounded_arithmetic.1):
+	  file simplifyusingcontext1.cc was added on branch
+	  bounded_arithmetic on 2008-09-11 20:37:55 +0000
+
+2008-08-24 Sunday 10:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/simplifyusingcontext1.cc (1.2): test02() must
+	  fail with 8-bit coefficients.
+
+2008-08-23 Saturday 19:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/simplifyusingcontext1.cc (bounded_arithmetic.1):
+	  file simplifyusingcontext1.cc was added on branch
+	  bounded_arithmetic on 2008-09-11 20:37:56 +0000
+
+2008-08-23 Saturday 19:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/simplifyusingcontext1.cc (1.2): test05() must fail
+	  with 8-bit coefficients.
+
+2008-08-23 Saturday 19:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/Makefile.am (bounded_arithmetic.1): file
+	  Makefile.am was added on branch bounded_arithmetic on 2008-09-11
+	  20:37:55 +0000
+
+2008-08-23 Saturday 19:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Polyhedron/Makefile.am (1.127),
+	  Polyhedron/interspreservenlarge1.cc (1.10),
+	  Polyhedron/simplifyusingcontext1.cc (1.1), Powerset/Makefile.am
+	  (1.4), Powerset/interspreservenlarge1.cc (1.6),
+	  Powerset/simplifyusingcontext1.cc (1.1): Test program renamed.
+
+2008-08-23 Saturday 17:39  Andrea Cimino
+
+	* interfaces/Java/tests/Test_Executor.java (1.2): Starting from JDK
+	  1.5 there is no need to convert Boolean (class) to boolean
+	  (simple types) when using if statements.  Simplified.
+
+2008-08-23 Saturday 17:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/tests/Test_Executor.java (bounded_arithmetic.1):
+	  file Test_Executor.java was added on branch bounded_arithmetic on
+	  2008-09-11 20:37:44 +0000
+
+2008-08-23 Saturday 17:33  Andrea Cimino
+
+	* interfaces/Java/tests/: C_Polyhedron_test1.java (1.14),
+	  Makefile.am (1.20), NNC_Polyhedron_test1.java (1.1),
+	  Test_Executor.java (1.1): Non generated tests have been split in
+	  two separated files, one related to NNC_Polyhedron, another one
+	  to C_Polyhedron.  Added a new class (Text_Executor) that executes
+	  all the tests found in a class.
+
+2008-08-23 Saturday 17:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/tests/NNC_Polyhedron_test1.java
+	  (bounded_arithmetic.1): file NNC_Polyhedron_test1.java was added
+	  on branch bounded_arithmetic on 2008-09-11 20:37:44 +0000
+
+2008-08-22 Friday 17:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.327): Fixed the generation of the file names for
+	  the Prolog and Java interfaces.  Version number bumped.
+
+2008-08-22 Friday 16:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
+	  (1.37), ppl_interface_generator_ocaml_ml_code.m4 (1.34),
+	  ppl_interface_generator_ocaml_mli_code.m4 (1.26),
+	  tests/ppl_interface_generator_ocaml_test_ml_code.m4 (1.6): The
+	  same as in the previous commit - but for the OCaml interface.
+
+2008-08-22 Friday 16:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m4
+	  (bounded_arithmetic.1): file
+	  ppl_interface_generator_ocaml_test_ml_code.m4 was added on branch
+	  bounded_arithmetic on 2008-09-11 20:37:45 +0000
+
+2008-08-22 Friday 16:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.77),
+	  ppl_interface_generator_common_procedure_generators.m4 (1.24),
+	  C/C_interface.dox (1.4), C/ppl_interface_generator_c_cc_code.m4
+	  (1.36), C/ppl_interface_generator_c_h_code.m4 (1.26),
+	  Prolog/ppl_interface_generator_prolog_cc_code.m4 (1.2),
+	  Prolog/ppl_interface_generator_prolog_hh_code.m4 (1.5),
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.68),
+	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.78), Java/Java_interface.dox (1.2),
+	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.51), Java/tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.31): The Prolog predicate simplify_using_context_assign has 3
+	  arguments the third for the Boolean result.
+
+	  As a result, special schematic code for all the interfaces needed
+	  to be provided just for this method (previously it had used the
+	  schematic code for the binary operators with the "and_minimize"
+	  option).
+
+	  The documentation for C and Java updated for this method.
+
+2008-08-22 Friday 16:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.134): Modified method
+	  simplify_using_context_assign(): more simplifications detected
+	  (now test06 in test/Polyhedron/interpreservenlarge1.cc succeeds).
+
+2008-08-22 Friday 13:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.133): Solved the problem causing an
+	  assertion to fail in test06.	Correction still incomplete, since
+	  simplification fails to detect some redundant inequalities as
+	  such.
+
+2008-08-22 Friday 12:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/interspreservenlarge1.cc (1.9): Fixed test
+	  showing bug.
+
+2008-08-22 Friday 12:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.132): Previous change reverted: it
+	  wasn't the proper fix.
+
+2008-08-22 Friday 11:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.131): Corrected variable naming typo
+	  causing an assertion failure (as witnessed by test06 in
+	  test/Polyhedron/interspreservenlarge1.cc).
+
+2008-08-22 Friday 11:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/interspreservenlarge1.cc (1.8): New test
+	  (test06) shows a bug in simplify_using_context_assign().
+
+2008-08-21 Thursday 22:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.128), Box.defs.hh (1.60), Grid.defs.hh
+	  (1.76), Octagonal_Shape.defs.hh (1.54), Pointset_Powerset.defs.hh
+	  (1.50), Polyhedron.defs.hh (1.343): Fixed doxygen
+	  cross-references for simplify_using_context_assign.
+
+2008-08-21 Thursday 22:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.216): Drafted an improved specification
+	  for the operator providing simplification using a given context;
+	  also specified for the case of a powerset domain.  (To be double
+	  checked).
+
+2008-08-21 Thursday 21:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_float.inlines.hh (1.85): FIXME added.
+
+2008-08-21 Thursday 18:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_double_binary_format.m4 (1.8):
+	  AC_CXX_DOUBLE_BINARY_FORMAT depends on AC_C_BIGENDIAN: enforce
+	  this with AC_REQUIRE.
+
+2008-08-21 Thursday 17:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.76),
+	  OCaml/tests/test1.ml (1.9): Changed the name of the new method in
+	  the interfaces.
+
+2008-08-21 Thursday 16:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.127), BD_Shape.templates.hh (1.111),
+	  Box.defs.hh (1.59), Box.templates.hh (1.120), Grid.defs.hh
+	  (1.75), Grid_public.cc (1.78), Octagonal_Shape.defs.hh (1.53),
+	  Octagonal_Shape.templates.hh (1.83), Pointset_Powerset.defs.hh
+	  (1.49), Pointset_Powerset.templates.hh (1.40), Polyhedron.defs.hh
+	  (1.342), Polyhedron_public.cc (1.130): Method
+	  intersection_preserving_enlarge_assign() renamed as
+	  simplify_using_context_assign().
+
+2008-08-21 Thursday 16:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Polyhedron/interspreservenlarge1.cc (1.7),
+	  Powerset/interspreservenlarge1.cc (1.5): Test changed to use new
+	  method name.
+
+2008-08-21 Thursday 16:40  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.75),
+	  ppl_interface_generator_common_procedure_generators.m4 (1.23):
+	  Ensure the new method is generated for all the domains that
+	  support it.  Name still needs revising.
+
+2008-08-21 Thursday 16:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.templates.hh (1.110), Box.inlines.hh (1.34),
+	  Box.templates.hh (1.119), Octagonal_Shape.templates.hh (1.82): In
+	  several comments, correct typo (emptyness ==> emptiness).
+
+2008-08-21 Thursday 16:27  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_copyright (1.6),
+	  Prolog/ppl_interface_generator_prolog_cc_files.m4 (1.3),
+	  Prolog/ppl_interface_generator_prolog_hh_files.m4 (1.4): Include
+	  the copyright notice in the generated files.
+
+2008-08-21 Thursday 16:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4
+	  (1.2): Added an #include "sysdep.hh" line to each generated cc
+	  file.
+
+2008-08-21 Thursday 15:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.326): We don't need the `win32-dll' option of
+	  `LT_INIT'.
+
+2008-08-21 Thursday 13:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Powerset/interspreservenlarge1.cc (1.4): Test test08() no
+	  longer fails.
+
+2008-08-21 Thursday 13:29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.129): Corrected the method for
+	  simplification of polyhedra wrt context so that to avoid
+	  converting a masked equality (i.e., an inequality that implies an
+	  equality in the given context) to a proper equality; for
+	  instance, now simplifying PH1 = { A >= 0 } in the context of PH2
+	  = { A <= 0 } returns PH1, instead of PH3 = { A == 0 }.  The
+	  correction ensures that the method is extensive on the polyhedra
+	  domain and hence solves the corresponding bug in the
+	  Pointset_Powerset domain.
+
+2008-08-21 Thursday 12:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.325): Temporarily removed all the Prolog
+	  interfaces from the ones that are built by default (this is not
+	  to disturb the work of people not interested in them).
+
+2008-08-21 Thursday 11:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4
+	  (1.4): Add header for the binary operations.
+
+2008-08-21 Thursday 11:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4
+	  (1.3): Missing ";" added.
+
+2008-08-21 Thursday 11:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_hh_files.m4
+	  (1.3): Fixed a typo.
+
+2008-08-21 Thursday 11:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4
+	  (1.2): Removed some unwanted code.
+
+2008-08-21 Thursday 10:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.cc (1.68): Allow the PPL to be compiled and used
+	  even on platforms where we are unable to detect the binary format
+	  used by doubles.
+
+2008-08-21 Thursday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/Makefile.am (1.83): Separately compile the
+	  C++ sources of the interface.
+
+2008-08-21 Thursday 10:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_hh_files.m4
+	  (1.2), ppl_prolog_common.cc (1.1): Removed redundant code from
+	  the m4 file and renaming the common code file.
+
+2008-08-21 Thursday 10:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.324): Compute the names of C++ domain-specific
+	  files for the Prolog interfaces: headers, sources and objects.
+
+2008-08-21 Thursday 09:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Makefile.am (1.50),
+	  ppl_interface_generator_prolog_cc_code.m4 (1.1),
+	  ppl_interface_generator_prolog_cc_files.m4 (1.1),
+	  ppl_interface_generator_prolog_hh_code.m4 (1.1),
+	  ppl_interface_generator_prolog_hh_files.m4 (1.1): New files to
+	  enable separate compilation of the Prolog interface code.
+
+2008-08-21 Thursday 09:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.74): The new
+	  method intersection_preserving_enlarge_assign now returns a
+	  Boolean.  At the moment the new version is only enabled for
+	  Polyhedra, but this will be fixed later.
+
+2008-08-21 Thursday 00:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Powerset/interspreservenlarge1.cc (1.3): Test test05() now
+	  succeeds.  New test test08() shows a bug due to the uncorrect
+	  handling of inequalities that happen to imply equalities in parts
+	  of the given powerset context.
+
+2008-08-20 Wednesday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.128): Implemented the announced
+	  heuristics in
+	  Polyhedron::intersection_preserving_enlarge_assign(const
+	  Polyhedron&).
+
+2008-08-20 Wednesday 17:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Row.inlines.hh (1.8): For the declaration of ffs(3),
+	  include <strings.h> and not <cstring> (note that in configure.ac
+	  we correctly have AC_CHECK_DECLS([ffs], , , [#include
+	  <strings.h>]).
+
+2008-08-20 Wednesday 12:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Powerset/interspreservenlarge1.cc (1.2): Added three more
+	  tests, one (temporarily) known to fail.
+
+2008-08-20 Wednesday 12:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/interspreservenlarge1.cc (1.6): Added another
+	  test (test05).
+
+2008-08-20 Wednesday 12:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.126), BD_Shape.templates.hh (1.109),
+	  Box.defs.hh (1.58), Box.templates.hh (1.118), Grid.defs.hh
+	  (1.74), Grid_public.cc (1.77), Octagonal_Shape.defs.hh (1.52),
+	  Octagonal_Shape.templates.hh (1.81), Pointset_Powerset.defs.hh
+	  (1.48), Pointset_Powerset.templates.hh (1.39), Polyhedron.defs.hh
+	  (1.341), Polyhedron_public.cc (1.127): The method
+	  intersection_preserving_enlarge_assign() now returns a boolean:
+	  if false is returned the intersection is empty.  Using the new
+	  return value, improved the implementation for Pointset_Powerset
+	  by dropping those disjuncts that have empty intersection with all
+	  of the disjunct of the context.  Corrected a bug in the
+	  Polyhedron method regarding the correct handling of equality
+	  constraints.
+
+2008-08-19 Tuesday 19:58  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Powerset/: Makefile.am (1.3), interspreservenlarge1.cc
+	  (1.1): Added a few tests for method
+	  intersection_preserving_enlarge_assign().
+
+2008-08-19 Tuesday 19:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/interspreservenlarge1.cc (1.5): Added new test.
+
+2008-08-19 Tuesday 19:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Pointset_Powerset.defs.hh (1.47),
+	  Pointset_Powerset.templates.hh (1.38): Drafted a generic
+	  implementation (better, an executable specification) for method
+	  intersection_preserving_enlarge_assign(const Pointset_Powerset&);
+	  the code is based on an auxiliary method   void
+	  intersection_preserving_enlarge(PS& y) const; that enlarges
+	  argument y wrt context *this.
+
+2008-08-19 Tuesday 19:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.126): Corrected an error in method
+	  intersection_preserving_enlarge_assign() and applied a few
+	  efficiency enhancements.
+
+2008-08-19 Tuesday 15:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	*
+	  interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators.m4
+	  (1.5): Updated the list of missing procedures for the OCaml
+	  interface.
+
+2008-08-19 Tuesday 15:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
+	  (1.36), ppl_interface_generator_ocaml_ml_code.m4 (1.33),
+	  ppl_interface_generator_ocaml_mli_code.m4 (1.25),
+	  tests/ppl_interface_generator_ocaml_test_ml_code.m4 (1.5): More
+	  bugs fixed in the specialized code for the powerset domains and
+	  more tests added.
+
+2008-08-19 Tuesday 15:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/tests/ppl_ocaml_tests_common
+	  (bounded_arithmetic.1): file ppl_ocaml_tests_common was added on
+	  branch bounded_arithmetic on 2008-09-11 20:37:45 +0000
+
+2008-08-19 Tuesday 15:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
+	  (1.35), ppl_interface_generator_ocaml_ml_code.m4 (1.32),
+	  ppl_interface_generator_ocaml_mli_code.m4 (1.24),
+	  tests/ppl_interface_generator_ocaml_test_ml_code.m4 (1.4),
+	  tests/ppl_ocaml_tests_common (1.3), tests/test1.ml (1.8): Added
+	  code for generating some missing methods; fixed some bugs in the
+	  ocaml interface code; extended the generated tests to cover most
+	  methods: tests for special methods for the powerset domains still
+	  missing.
+
+2008-08-19 Tuesday 11:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
+	  (1.34), ppl_interface_generator_ocaml_ml_code.m4 (1.31),
+	  ppl_interface_generator_ocaml_mli_code.m4 (1.23),
+	  tests/ppl_interface_generator_ocaml_test_ml_code.m4 (1.3):
+	  Several tests added and code for some missing methods added.
+	  Every test now checks after the operation that the domain
+	  element(s) are ok and prints "success" if it is and "failed"
+	  otherwise.
+
+2008-08-19 Tuesday 09:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_ml_code.m4
+	  (1.30), ppl_interface_generator_ocaml_mli_code.m4 (1.22),
+	  tests/ppl_interface_generator_ocaml_test_ml_code.m4 (1.2),
+	  tests/ppl_ocaml_tests_common (1.2): Improved the code for
+	  generating tests.  Fixed a bug in the code generation for OCaml
+	  for the limited_..._extrapolation_assign method.
+
+2008-08-18 Monday 23:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/tests/: Makefile.am (1.7),
+	  ppl_interface_generator_ocaml_test_ml.m4 (1.1),
+	  ppl_interface_generator_ocaml_test_ml_code.m4 (1.1),
+	  ppl_ocaml_tests_common (1.1): Code for generating tests for the
+	  OCaml interface.  This is an initial series of generic tests; to
+	  be improved and extended to include all the ppl user methods.
+
+2008-08-18 Monday 23:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml.m4
+	  (bounded_arithmetic.1): file
+	  ppl_interface_generator_ocaml_test_ml.m4 was added on branch
+	  bounded_arithmetic on 2008-09-11 20:37:45 +0000
+
+2008-08-18 Monday 22:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.125),
+	  tests/Polyhedron/interspreservenlarge1.cc (1.4): Drafted some
+	  code (to be completed with the implementation of the indicated
+	  heuristics) to handle the case of the empty intersection in
+	  Polyhedron::intersection_preserving_enlarge_assign(const
+	  Polyhedron& y).
+
+2008-08-18 Monday 14:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.124): For method
+	  intersection_preserving_enlarge_assign(), reverted to a simpler
+	  implementation that does not change this until time of return.
+
+2008-08-18 Monday 13:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/interspreservenlarge1.cc (1.3): Added another
+	  test for intersection_preserving_enlarge_assign().
+
+2008-08-18 Monday 13:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Linear_System.cc (1.51): In method back_substitute(), avoid
+	  assuming that x.num_rows() >= 1.
+
+2008-08-18 Monday 12:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/interspreservenlarge1.cc (1.2): Added new test
+	  for zero-dim polyhedra.
+
+2008-08-18 Monday 12:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.123): Corrected new method
+	  intersection_preserving_enlarge_assign wrt the handling of
+	  zero-dimensional polyhedra.
+
+2008-08-18 Monday 11:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.73),
+	  OCaml/tests/test1.ml (1.7): Enable the new method
+	  intersection_preserving_enlarge_assign(y) in all the interfaces
+	  for all domains except the products.	Token test added to
+	  OCaml/tests/test1.ml for this method.
+
+2008-08-18 Monday 10:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Makefile.am (1.49),
+	  ppl_interface_generator_prolog_icc.m4 (1.17),
+	  ppl_interface_generator_prolog_icc_files.m4 (1.1),
+	  Ciao/ppl_ciao.cc (1.53), GNU/ppl_gprolog_sd.cc (1.46),
+	  SICStus/ppl_interface_generator_sicstus_sd_cc.m4 (1.13),
+	  SWI/ppl_interface_generator_swiprolog_cc.m4 (1.16),
+	  XSB/ppl_interface_generator_xsb_cc.m4 (1.12),
+	  YAP/ppl_interface_generator_yap_cc.m4 (1.10): Instead of
+	  generating the Prolog interface C++ file ppl_prolog.icc we now
+	  generate ppl_prolog_main.icc and a separate file for each
+	  generated domain.
+
+2008-08-18 Monday 10:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.125), BD_Shape.templates.hh (1.108),
+	  Box.defs.hh (1.57), Box.templates.hh (1.117), Grid.defs.hh
+	  (1.73), Grid_public.cc (1.76), Octagonal_Shape.defs.hh (1.51),
+	  Octagonal_Shape.templates.hh (1.80), Pointset_Powerset.defs.hh
+	  (1.46), Pointset_Powerset.templates.hh (1.37): Added trivial
+	  implementations of method
+	  intersection_preserving_enlarge_assign().
+
+2008-08-18 Monday 09:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.126): Removed
+	  interspreservenlarge1 and nnc_interspreservenlarge1 from
+	  XFAIL_TESTS.
+
+2008-08-18 Monday 09:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.122): Fixed sortedness and low-level
+	  constraints issues in method
+	  intersection_preserving_enlarge_assign.
+
+2008-08-18 Monday 08:39  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.72),
+	  OCaml/tests/test1.ml (1.6),
+	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.77): Enabled affine_dimension() and is_topologically_closed()
+	  for all domains including the powerset and product domains.
+
+	  Minor change to OCaml/tests/test1.ml in preparation for
+	  generating the file.
+
+2008-08-18 Monday 08:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Box/topclosed1.cc (1.4): Improved tests - better coverage
+	  and comments.
+
+2008-08-18 Monday 08:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/topclosed1.cc (bounded_arithmetic.1): file
+	  topclosed1.cc was added on branch bounded_arithmetic on
+	  2008-09-11 20:37:51 +0000
+
+2008-08-17 Sunday 18:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.121), tests/Polyhedron/Makefile.am
+	  (1.125): A more optimized version of
+	  Polyhedron::intersection_preserving_enlarge_assign(const
+	  Polyhedron&), currently causing assertion violations.
+
+2008-08-17 Sunday 16:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.124), interspreservenlarge1.cc
+	  (1.1): New test program for
+	  Polyhedron::intersection_preserving_enlarge_assign().
+
+2008-08-17 Sunday 16:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.120): Continued drafting a prototype
+	  for Polyhedron::intersection_preserving_enlarge_assign(const
+	  Polyhedron&).
+
+2008-08-17 Sunday 16:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.340): Indentation fixed.
+
+2008-08-17 Sunday 16:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/simplify.cc (1.53): Polyhedron::simplify(Linear_System& sys,
+	  Bit_Matrix& sat) assumes `sys' has a nonzero number of columns:
+	  added assertion.
+
+2008-08-17 Sunday 16:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Linear_System.cc (1.50):
+	  Linear_System::back_substitute(dimension_type
+	  n_lines_or_equalities) assumes *this has nonzero numbers of rows
+	  and of columns: added assertions checking these conditions.
+
+2008-08-17 Sunday 13:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (1.116): Corrected error: Box has no access
+	  to Grid_Generator_System internals.
+
+2008-08-17 Sunday 12:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Box.templates.hh (1.115), Congruence_System.cc (1.29),
+	  Generator_System.cc (1.27), Generator_System.defs.hh (1.28),
+	  Generator_System.inlines.hh (1.12), Grid.templates.hh (1.35),
+	  Grid_nonpublic.cc (1.34), Grid_public.cc (1.75), Grid_simplify.cc
+	  (1.38), Grid_widenings.cc (1.18), Linear_System.cc (1.49),
+	  Linear_System.inlines.hh (1.25), Matrix.defs.hh (1.85),
+	  Matrix.inlines.hh (1.54), Polyhedron.templates.hh (1.20),
+	  Polyhedron_chdims.cc (1.49), Polyhedron_nonpublic.cc (1.84),
+	  Polyhedron_public.cc (1.119), Polyhedron_widenings.cc (1.67),
+	  minimize.cc (1.50): Method Matrix::empty() renamed as
+	  Matrix::has_no_rows() to avoid error prone name clashes with the
+	  corresponding method in Constraint_System and Congruence_System.
+
+2008-08-17 Sunday 11:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh (1.339), simplify.cc (1.52): Let
+	  Polyhedron::simplify(Linear_System&, Bit_Matrix&) return
+	  dimension_type instead of int.
+
+2008-08-17 Sunday 00:20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Constraint_System.cc (1.30): In private method
+	  adjust_topology_and_space_dimension, do not call recently
+	  modified method empty(), as it disregards trivial constraints,
+	  whereas here we want to know the internal structure of the
+	  matrix.
+
+2008-08-16 Saturday 22:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Box/: Makefile.am (1.63), topclosed1.cc (1.3):
+	  topclosed1.cc which tests is_topologically_closed(), has a typo
+	  fixed and now enabled in the Makefile.
+
+2008-08-16 Saturday 22:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Pointset_Powerset.templates.hh (1.36): A typo fixed.
+
+2008-08-16 Saturday 19:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Pointset_Powerset.defs.hh (1.45),
+	  Pointset_Powerset.templates.hh (1.35): Added a note to the
+	  documentation of method constrains() regarding its intended
+	  semantics, which may be different from the geometric intuition.
+	  Improved the implementation of is_universe() so as to exploit/set
+	  omega reduction if that is already available or easily provable.
+
+2008-08-16 Saturday 17:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Pointset_Powerset.templates.hh (1.34): Corrected a bug in
+	  affine_dimension().
+
+2008-08-16 Saturday 17:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Powerset/pointsetpowerset5.cc (1.2): Additional test shows
+	  a bug in the implementation of affine_dimension() for
+	  Pointset_Powerset<Rational_Interval>.
+
+2008-08-16 Saturday 17:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/pointsetpowerset5.cc (bounded_arithmetic.1): file
+	  pointsetpowerset5.cc was added on branch bounded_arithmetic on
+	  2008-09-11 20:37:56 +0000
+
+2008-08-16 Saturday 16:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.118): Added an initial, untested and
+	  incomplete implementation of
+	  Polyhedron::intersection_preserving_enlarge_assign(const
+	  Polyhedron&).
+
+2008-08-16 Saturday 16:03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Congruence_System.inlines.hh (1.12),
+	  Constraint_System.inlines.hh (1.13): Corrected the implementation
+	  of method empty(), which was not disregarding trivial
+	  constraints/congruences.
+
+2008-08-16 Saturday 15:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (1.114): Typo corrected.
+
+2008-08-16 Saturday 14:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Box/Makefile.am (1.62): Typo fixed.
+
+2008-08-16 Saturday 14:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Box/topclosed1.cc (1.2): Typos fixed.
+
+2008-08-16 Saturday 14:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Box/: Makefile.am (1.61), topclosed1.cc (1.1): Added a test
+	  file for is_toplogically_closed() for the Box domain.  This is
+	  not enabled as this does not compile.
+
+2008-08-16 Saturday 13:20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Pointset_Powerset.cc (1.22), Pointset_Powerset.defs.hh
+	  (1.44), Pointset_Powerset.templates.hh (1.33): Reimplemented
+	  method is_universe() so as to be faithful to the intended
+	  specification (also removed the no longer useful specialization
+	  for grids).  Implemented method constrains().
+
+2008-08-16 Saturday 12:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.231), configure.ac (1.323), doc/devref.doxyconf-html.in
+	  (1.87), doc/devref.doxyconf-latex.in (1.26), src/Makefile.am
+	  (1.181), src/iterator_to_const.defs.hh (1.8), tests/Makefile.am
+	  (1.268), tests/print.hh (1.46), tests/Polyhedron/maxspacedim1.cc
+	  (1.17): The ask-and-tell classes are not ready for release: make
+	  sure we do not release them (again) by mistake.
+
+2008-08-16 Saturday 12:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/tests/test1.ml (1.5): More small changes for its
+	  future generation.
+
+2008-08-16 Saturday 11:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.322): Added a tentative set of default foreign
+	  interface instantiations: most of it is commented out until we
+	  implement separate compilation in the interfaces.
+
+2008-08-16 Saturday 11:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/tests/test1.ml (1.4): Small changes in
+	  preparation for generating the tests.
+
+2008-08-16 Saturday 11:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.251): Added an important item for PPL 0.10.
+
+2008-08-16 Saturday 11:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.338): Drafted the declaration of new
+	  method void intersection_preserving_enlarge_assign(const
+	  Polyhedron& y).
+
+2008-08-16 Saturday 11:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.215): Drafted a section about
+	  intersection-preserving enlargements.
+
+2008-08-16 Saturday 10:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_chdims.cc (1.48): Minor improvement to a comment.
+
+2008-08-16 Saturday 09:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Partially_Reduced_Product.defs.hh (1.33): Fixed typo in
+	  documentation.
+
+2008-08-16 Saturday 09:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.214),
+	  src/Partially_Reduced_Product.defs.hh (1.32),
+	  src/Pointset_Powerset.defs.hh (1.43): Added warnings that the
+	  product and powerset domains should only be used with simple
+	  (non-compound) domains for the disjunct of the powerset or
+	  components of the product.
+
+2008-08-15 Friday 18:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.321): Added Pointset_Powerset<C_Polyhedron> and
+	  Pointset_Powerset<NNC_Polyhedron> to the set of default domain
+	  instantiations.
+
+2008-08-15 Friday 17:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (1.250): Added an item for 0.11
+
+2008-08-15 Friday 17:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.249): New item added for PPL 0.11 or later version.
+
+2008-08-15 Friday 16:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/product1.cc (bounded_arithmetic.1): file
+	  product1.cc was added on branch bounded_arithmetic on 2008-09-11
+	  20:37:56 +0000
+
+2008-08-15 Friday 16:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Pointset_Powerset.defs.hh (1.42),
+	  src/Pointset_Powerset.inlines.hh (1.16), tests/Makefile.am
+	  (1.267), tests/Powerset/Makefile.am (1.2),
+	  tests/Powerset/product1.cc (1.1): Allow for a powerset to be
+	  built from a product.
+
+2008-08-15 Friday 16:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/: ppl_interface_generator_c_cc_preamble (1.14),
+	  ppl_interface_generator_c_h_preamble (1.10): Added functions that
+	  test for emptyness of constraint/generator/... systems.
+
+2008-08-15 Friday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.248): One new item added.
+
+2008-08-15 Friday 15:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.230): Mention a name-change in the interfaces.
+
+2008-08-15 Friday 15:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.229): A little bit of reorganization.  Duplicate items
+	  removed.
+
+2008-08-15 Friday 15:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.29), Watchdog/ChangeLog (1.18): Updated.
+
+2008-08-15 Friday 15:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.320), src/checked_mpz.inlines.hh (1.55): FIXME
+	  resolved.  We now require (for developers) Autoconf 2.60 or later
+	  version.
+
+2008-08-15 Friday 12:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Powerset/pointsetpowerset3.cc (1.2): Testing Grid
+	  specialization for is_universe().
+
+2008-08-15 Friday 12:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/pointsetpowerset3.cc (bounded_arithmetic.1): file
+	  pointsetpowerset3.cc was added on branch bounded_arithmetic on
+	  2008-09-11 20:37:56 +0000
+
+2008-08-15 Friday 12:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Pointset_Powerset.cc (1.21), Pointset_Powerset.defs.hh
+	  (1.41): Added specialization of method is_universe() for
+	  powersets of grids.
+
+2008-08-15 Friday 10:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/tests/test1.ml (1.3): Obsolete code removed.
+
+2008-08-15 Friday 10:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Powerset.defs.hh (1.32), Powerset.inlines.hh (1.22): Added
+	  method upper_bound_assign_if_exact().
+
+2008-08-15 Friday 09:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Partially_Reduced_Product.defs.hh (1.31),
+	  Partially_Reduced_Product.inlines.hh (1.28): Drafted
+	  implementation for method bool constrains(Variable var) const;
+
+2008-08-14 Thursday 21:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_procedure_generators.m4
+	  (1.22): Disable constrains/2 for the powersets in the interfaces.
+
+2008-08-14 Thursday 20:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_ml_code.m4
+	  (1.29), ppl_interface_generator_ocaml_mli.m4 (1.14),
+	  ppl_ocaml_globals.ml (1.9): More test code removed.
+
+2008-08-14 Thursday 20:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
+	  (1.33), ppl_ocaml_globals.cc (1.14), tests/Makefile.am (1.6):
+	  Removed forgotten debug print statements.  Removed useless file
+	  inclusions, namespace directives, and test functions.
+
+2008-08-14 Thursday 20:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.319): Version number bumped.
+
+2008-08-14 Thursday 20:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/tests/Makefile.am (1.5): Link options fixed.
+
+2008-08-14 Thursday 19:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/:
+	  ppl_interface_generator_common_procedure_generators.m4 (1.21),
+	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.76): Now enabled constrains, unconstrain_space_dimension and
+	  unconstrain_space_dimensions for all simple domains ie Polyhedra,
+	  Grids, Octagonal_Shapes, BD_Shapes, and Boxes
+
+	  M4 code for generating tests for the different domains added to
+	  the Prolog tests directory.
+
+2008-08-14 Thursday 16:56  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Grid.defs.hh (1.72), Grid_public.cc (1.74): Drafted
+	  implementation of method bool constrains(Variable var) const;
+
+2008-08-14 Thursday 16:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/:
+	  ppl_interface_generator_common_procedure_generators.m4 (1.20),
+	  C/ppl_interface_generator_c_cc_code.m4 (1.35),
+	  C/ppl_interface_generator_c_h_code.m4 (1.25),
+	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.50), Java/tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.30), Java/tests/ppl_java_tests_common (1.8),
+	  OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.32),
+	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.28),
+	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.21),
+	  OCaml/tests/test1.ml (1.2),
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.67),
+	  Prolog/tests/pl_check.pl (1.54): Added constrains,
+	  unconstrain_space_dimension and unconstrain_space_dimensions for
+	  the Polyhedron domain to all the interfaces.
+
+	  Tests added for OCaml, Java and Prolog.
+
+2008-08-14 Thursday 16:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/: Makefile.am (1.60), constrains1.cc (1.1): Added test
+	  for method constrains().
+
+2008-08-14 Thursday 16:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/constrains1.cc (bounded_arithmetic.1): file
+	  constrains1.cc was added on branch bounded_arithmetic on
+	  2008-09-11 20:37:51 +0000
+
+2008-08-14 Thursday 16:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Box.defs.hh (1.56), Box.templates.hh (1.113): Drfated
+	  implementation for method bool constrains(Variable var) const;
+
+2008-08-14 Thursday 15:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Octagonal_Shape/: Makefile.am (1.31), constrains1.cc (1.1):
+	  Added test for new method constrains().
+
+2008-08-14 Thursday 15:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/constrains1.cc (bounded_arithmetic.1): file
+	  constrains1.cc was added on branch bounded_arithmetic on
+	  2008-09-11 20:37:55 +0000
+
+2008-08-14 Thursday 15:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Octagonal_Shape.defs.hh (1.50),
+	  Octagonal_Shape.templates.hh (1.79): Drafted implementation for
+	  method   bool constrains(Variable var) const;
+
+2008-08-14 Thursday 14:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/: Makefile.am (1.77), constrains1.cc (1.1): Added
+	  test for new method constrains().  Corrected a bug in the tests
+	  whereby the test congruences1 was using the sources for
+	  constraints1.
+
+2008-08-14 Thursday 14:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/constrains1.cc (bounded_arithmetic.1): file
+	  constrains1.cc was added on branch bounded_arithmetic on
+	  2008-09-11 20:37:51 +0000
+
+2008-08-14 Thursday 14:41  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.124), BD_Shape.inlines.hh (1.163),
+	  BD_Shape.templates.hh (1.107): Drafted implementation of method
+	  bool constrains() const;
+
+2008-08-14 Thursday 00:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/tests/Makefile.am (1.4): Use the -o option of
+	  `ocamlc'.
+
+2008-08-13 Wednesday 13:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/: ppl_interface_generator_c_cc_code.m4 (1.34),
+	  ppl_interface_generator_c_h_code.m4 (1.24): Fixed a bug(s) that
+	  was preventing the generation of code for
+	  get_[minimized_]_[constraints,generators,congruences] methods.
+
+2008-08-13 Wednesday 12:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/tests/Makefile.am (1.3): Define test1_SOURCES.
+
+2008-08-13 Wednesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/Makefile.am (1.42): Use the -o option of
+	  `ocamlc'.  Note: it should be specified before the source file.
+
+2008-08-12 Tuesday 18:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.247): Added one item for PPL 0.10.
+
+2008-08-12 Tuesday 17:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/Makefile.am (1.60),
+	  doc/devref-java-interface.doxyconf-html.in (1.2),
+	  doc/devref-java-interface.doxyconf-latex.in (1.2),
+	  doc/devref-java-interface.tex (1.2),
+	  doc/user-java-interface.doxyconf-html.in (1.2),
+	  doc/user-java-interface.doxyconf-latex.in (1.2),
+	  doc/user-java-interface.tex (1.2),
+	  interfaces/Java/Java_interface.dox (1.1),
+	  interfaces/Java/Makefile.am (1.17): Added the required machinery
+	  to generate the documentation for the Java interface.
+
+2008-08-12 Tuesday 17:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref-java-interface.tex (bounded_arithmetic.1): file
+	  devref-java-interface.tex was added on branch bounded_arithmetic
+	  on 2008-09-11 20:37:40 +0000
+
+2008-08-12 Tuesday 17:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user-java-interface.tex (bounded_arithmetic.1): file
+	  user-java-interface.tex was added on branch bounded_arithmetic on
+	  2008-09-11 20:37:40 +0000
+
+2008-08-12 Tuesday 16:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/Makefile.am (1.41): Distribute also
+	  OCaml_interface.dox.
+
+2008-08-12 Tuesday 16:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Makefile.am (1.48): Distribute also
+	  Prolog_interface.dox.
+
+2008-08-12 Tuesday 16:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: devref-java-interface.doxyconf-html.in (1.1),
+	  devref-java-interface.doxyconf-latex.in (1.1),
+	  devref-java-interface.tex (1.1),
+	  user-java-interface.doxyconf-html.in (1.1),
+	  user-java-interface.doxyconf-latex.in (1.1),
+	  user-java-interface.tex (1.1): New files for the Java interface
+	  documentation.
+
+2008-08-12 Tuesday 16:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.318), interfaces/C/Makefile.am (1.41): Distribute
+	  also C_interface.dox.
+
+2008-08-12 Tuesday 12:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.317), doc/devref-ocaml-interface.doxyconf-html.in
+	  (1.1), doc/devref-ocaml-interface.doxyconf-latex.in (1.1),
+	  doc/devref-prolog-interface.doxyconf-html.in (1.6): The machinery
+	  to generate the OCaml documentation should now be in place.  (The
+	  documentation itself still needs a lot of work.)
+
+2008-08-12 Tuesday 11:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref-ocaml-interface.tex (bounded_arithmetic.1): file
+	  devref-ocaml-interface.tex was added on branch bounded_arithmetic
+	  on 2008-09-11 20:37:40 +0000
+
+2008-08-12 Tuesday 11:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref-prolog-interface.tex (bounded_arithmetic.1): file
+	  devref-prolog-interface.tex was added on branch
+	  bounded_arithmetic on 2008-09-11 20:37:40 +0000
+
+2008-08-12 Tuesday 11:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.316), doc/Makefile.am (1.59),
+	  doc/devref-ocaml-interface.tex (1.1),
+	  doc/devref-prolog-interface.doxyconf-latex.in (1.6),
+	  doc/devref-prolog-interface.tex (1.1): Added machinery to
+	  generate the LaTeX developer's manual for the OCaml interface.
+	  Fixed the generation of the same kind of documentation for the
+	  Prolog interface.
+
+2008-08-12 Tuesday 10:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.315), doc/Makefile.am (1.58),
+	  doc/user-ocaml-interface.doxyconf-html.in (1.1),
+	  interfaces/OCaml/OCaml_interface.dox (1.2): Added machinery to
+	  generate the HTML documentation for the OCaml interface.
+
+2008-08-11 Monday 19:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.314): Configure the interfaces/OCaml/tests
+	  directory.
+
+2008-08-11 Monday 19:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user-prolog-interface.doxyconf-latex.in (1.7): File
+	  ppl_prolog.icc plays no role in the generation of the user's
+	  manual.
+
+2008-08-11 Monday 18:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/: Makefile.am (1.40), tests/Makefile.am (1.2):
+	  Got rid of some old kludges.
+
+2008-08-11 Monday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/: Makefile.am (1.39), test1.ml (1.32),
+	  tests/.cvsignore (1.1), tests/Makefile.am (1.1), tests/test1.ml
+	  (1.1): The OCaml test programs now have their own directory.	Do
+	  not install .cmo files: now everything is packed into
+	  ppl_ocaml.cma.
+
+2008-08-11 Monday 17:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.27):
+	  Erroneous double underscore changed to single.
+
+2008-08-11 Monday 16:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.313), doc/Makefile.am (1.57),
+	  doc/user-ocaml-interface.doxyconf-latex.in (1.1),
+	  doc/user-ocaml-interface.tex (1.1): New machinery to generate the
+	  user's manual of the OCaml interface.
+
+2008-08-11 Monday 16:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user-ocaml-interface.tex (bounded_arithmetic.1): file
+	  user-ocaml-interface.tex was added on branch bounded_arithmetic
+	  on 2008-09-11 20:37:40 +0000
+
+2008-08-11 Monday 16:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/OCaml_interface.dox (1.1): This will contain the
+	  OCaml interface documentation that is not automatically
+	  generated.
+
+2008-08-11 Monday 11:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/OR_Matrix.defs.hh (1.15): Work around a bug of GCC 4.0.x.
+
+2008-08-10 Sunday 12:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4 (1.13):
+	  Started the adaptation required to produce the OCaml interface
+	  documentation using ocamldoc.
+
+2008-08-09 Saturday 22:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.246): Some items dealt with;	others reconsidered.
+
+2008-08-09 Saturday 20:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.245), doc/definitions.dox (1.213): Added a section on
+	  upward approximation to the library's documentation.
+
+2008-08-09 Saturday 19:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/pointsetpowerset1.cc (bounded_arithmetic.1): file
+	  pointsetpowerset1.cc was added on branch bounded_arithmetic on
+	  2008-09-11 20:37:56 +0000
+
+2008-08-09 Saturday 19:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/pointsetpowerset2.cc (bounded_arithmetic.1): file
+	  pointsetpowerset2.cc was added on branch bounded_arithmetic on
+	  2008-09-11 20:37:56 +0000
+
+2008-08-09 Saturday 19:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/pointsetpowerset6.cc (bounded_arithmetic.1): file
+	  pointsetpowerset6.cc was added on branch bounded_arithmetic on
+	  2008-09-11 20:37:56 +0000
+
+2008-08-09 Saturday 19:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Powerset/powerset1.cc (bounded_arithmetic.1): file
+	  powerset1.cc was added on branch bounded_arithmetic on 2008-09-11
+	  20:37:56 +0000
+
+2008-08-09 Saturday 19:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.312), tests/Makefile.am (1.266),
+	  tests/Polyhedron/Makefile.am (1.123),
+	  tests/Polyhedron/pointsetpowerset1.cc (1.11),
+	  tests/Polyhedron/pointsetpowerset2.cc (1.5),
+	  tests/Polyhedron/pointsetpowerset3.cc (1.3),
+	  tests/Polyhedron/pointsetpowerset4.cc (1.7),
+	  tests/Polyhedron/pointsetpowerset5.cc (1.5),
+	  tests/Polyhedron/pointsetpowerset6.cc (1.3),
+	  tests/Polyhedron/powerset1.cc (1.23), tests/Powerset/.cvsignore
+	  (1.1), tests/Powerset/Makefile.am (1.1),
+	  tests/Powerset/pointsetpowerset1.cc (1.1),
+	  tests/Powerset/pointsetpowerset2.cc (1.1),
+	  tests/Powerset/pointsetpowerset3.cc (1.1),
+	  tests/Powerset/pointsetpowerset4.cc (1.1),
+	  tests/Powerset/pointsetpowerset5.cc (1.1),
+	  tests/Powerset/pointsetpowerset6.cc (1.1),
+	  tests/Powerset/powerset1.cc (1.1): Tests for the Powerset class
+	  have now their own directory.
+
+2008-08-09 Saturday 19:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.311), tests/Makefile.am (1.265),
+	  tests/Grid/Makefile.am (1.66), tests/Grid/directproduct1.cc
+	  (1.49), tests/Grid/directproduct2.cc (1.16),
+	  tests/Grid/directproduct3.cc (1.19), tests/Grid/directproduct4.cc
+	  (1.15), tests/Grid/directproduct5.cc (1.11),
+	  tests/Grid/directproduct6.cc (1.15),
+	  tests/Grid/partiallyreducedproduct1.cc (1.12),
+	  tests/Grid/partiallyreducedproduct2.cc (1.6),
+	  tests/Grid/partiallyreducedproduct3.cc (1.5),
+	  tests/Grid/partiallyreducedproduct4.cc (1.5),
+	  tests/Partially_Reduced_Product/.cvsignore (1.1),
+	  tests/Partially_Reduced_Product/Makefile.am (1.1),
+	  tests/Partially_Reduced_Product/directproduct1.cc (1.1),
+	  tests/Partially_Reduced_Product/directproduct2.cc (1.1),
+	  tests/Partially_Reduced_Product/directproduct3.cc (1.1),
+	  tests/Partially_Reduced_Product/directproduct4.cc (1.1),
+	  tests/Partially_Reduced_Product/directproduct5.cc (1.1),
+	  tests/Partially_Reduced_Product/directproduct6.cc (1.1),
+	  tests/Partially_Reduced_Product/partiallyreducedproduct1.cc
+	  (1.1),
+	  tests/Partially_Reduced_Product/partiallyreducedproduct2.cc
+	  (1.1),
+	  tests/Partially_Reduced_Product/partiallyreducedproduct3.cc
+	  (1.1),
+	  tests/Partially_Reduced_Product/partiallyreducedproduct4.cc
+	  (1.1): Tests for the Partially_Reduced_Product class have now
+	  their own directory.
+
+2008-08-09 Saturday 18:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* instchk.hh (1.16): Use consistent template parameters.
+	  Indentation fixed.
+
+2008-08-09 Saturday 18:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.212): Improved the section on semantic
+	  geometric descriptors.
+
+2008-08-09 Saturday 17:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.244), doc/definitions.dox (1.211): Started working on the
+	  completion and integration into the PPL manuals of the section
+	  about the different kinds of geometric descriptors implemented by
+	  the library.
+
+2008-08-09 Saturday 13:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu-ia32.cc (1.3): Added missing inclusion of <ppl-config.h>.
+
+2008-08-09 Saturday 13:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu-ia32.cc (bounded_arithmetic.1): file fpu-ia32.cc was
+	  added on branch bounded_arithmetic on 2008-09-11 20:37:49 +0000
+
+2008-08-09 Saturday 12:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu-ia32.cc (1.2): Added missing namespace qualification.
+
+2008-08-09 Saturday 12:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Makefile.am (1.180), fpu-ia32.inlines.hh (1.21): Drafted
+	  code to autodetect the presence of an SSE unit.
+
+2008-08-09 Saturday 12:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu-ia32.cc (1.1): New source file containing IA-32 floating
+	  point unit non-inline related functions.
+
+2008-08-09 Saturday 11:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu-ia32.inlines.hh (1.20): Starting from the 2.18.50.0.4
+	  release of binutils, the x86 assembler no longer accepts `fnstsw
+	  %eax': `fnstsw %ax' should be used instead.
+
+2008-08-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.310): The Ciao-Prolog interface is no longer
+	  enabled by default.  Version number bumped.
+
+2008-08-08 Friday 19:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Init.cc (1.35), fpu-c99.inlines.hh (1.17),
+	  fpu-ia32.inlines.hh (1.19), fpu-none.inlines.hh (1.9),
+	  fpu-sparc.inlines.hh (1.11), fpu.defs.hh (1.20): Added stubs for
+	  fpu_initialize_control_functions(): this will allow, e.g.,
+	  detecting the presence of SSE support at run-time.
+
+2008-07-21 Monday 08:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/linearsystem1.cc (1.11): Unused variable
+	  removed.
+
+2008-07-06 Sunday 08:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/boxdifference1.cc (1.10): Fixed a couple of comments.
+
+2008-07-05 Saturday 21:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Box/boxdifference1.cc (1.9): More tests added. Comments
+	  added to indicate what is being tested.
+
+2008-06-24 Tuesday 20:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Linear_System.cc (1.48): In methods normalize(),
+	  sign_normalize() and strong_normalize(), do not reset the
+	  sortedness flag if the number of rows is less than or equal to
+	  one.
+
+2008-06-14 Saturday 23:25  Abramo Bagnara
+
+	* src/Interval.inlines.hh (1.37): Fixed typo.
+
+2008-06-14 Saturday 16:41  Abramo Bagnara
+
+	* src/Interval.inlines.hh (1.36): Forgotten fixes.
+
+2008-06-14 Saturday 16:17  Abramo Bagnara
+
+	* src/Boundary.defs.hh (1.12): Added boundary complement.
+
+2008-06-14 Saturday 16:17  Abramo Bagnara
+
+	* src/Interval.inlines.hh (1.35): Untested attempt to implement
+	  interval difference.
+
+2008-06-10 Tuesday 11:37  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: Grid_public.cc (1.73), Pointset_Powerset.cc (1.20),
+	  Pointset_Powerset.defs.hh (1.40): In
+	  Grid::join_assign_if_exact(), added an assertion.
+
+	  In Pointset_Powerset.defs.hh corrected and improved brief
+	  description for approximate_partition().
+
+	  In Pointset_Powerset.cc, in approximate_partition(), ensure
+	  congruence system of grid q is minimized before copying;
+
+	  in approximate_partition_aux(), now there is no need to minimize
+	  the congruence system here.
+
+2008-06-10 Tuesday 09:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid_chdims.cc (1.24): In Grid::fold_space_dimensions(),
+	  emphasize the fact tha Grid::generators() is only called for its
+	  side-effects.
+
+2008-06-10 Tuesday 09:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid_chdims.cc (1.23): Efficiency bug fixed in
+	  fold_space_dimensions().
+
+2008-06-08 Sunday 20:44  Andrea Cimino
+
+	* src/MIP_Problem_GLPK.icc (simplex.4): Solved a bug when computing
+	  the bounds to pass to the GLPK exact solver.	This commit makes
+	  'mippproblem3' test pass.
+
+2008-06-08 Sunday 18:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_chdims.cc (1.47): In
+	  Polyhedron::fold_space_dimensions(), emphasize the fact that
+	  Polyhedron::generators() is only called for its side-effects.
+
+2008-06-08 Sunday 18:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh (1.78): Spurious indentation
+	  fixed.
+
+2008-06-08 Sunday 18:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_chdims.cc (1.46): Improved the efficiency of
+	  method fold_space_dimensions() by making sure that we compute at
+	  most one conversion from the constraint to the generator
+	  representation.
+
+2008-06-07 Saturday 15:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem_GLPK.icc (simplex.3): Previous commit corrected
+	  and completed.  Code formatting fixed.
+
+2008-06-07 Saturday 15:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem_GLPK.icc (simplex.2): Declaration and uses of the
+	  `statuses' write-only variable have been removed.
+
+2008-06-07 Saturday 15:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: MIP_Problem.cc, MIP_Problem_GLPK.icc, MIP_Problem_PPL.icc,
+	  Makefile.am (simplex.[9,1,1,7]): Not the code for the PPL's MIP
+	  native solver and the code for the GLPK interface are completely
+	  separated.
+
+2008-06-07 Saturday 14:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.cc (simplex.8): Indentation fixed.  In many
+	  places, throw std::run_time_error instead of
+	  std::invalid_argument.
+
+2008-06-07 Saturday 14:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.cc (simplex.7): The code controlled by
+	  PPL_NOISY_SIMPLEX now systematically prints on std:cerr.  That
+	  macro has also been documented.
+
+2008-06-07 Saturday 14:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.cc (simplex.6): Properly commented long-scope
+	  #if's, #else's and #endif's.
+
+2008-06-07 Saturday 08:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS (simplex.2): Updated the text concerning Andrea Cimino.
+
+2008-06-07 Saturday 07:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.rpath (1.5), m4/lib-link.m4 (1.3), m4/lib-prefix.m4 (1.4):
+	  Updated from Gettext 0.17.
+
+2008-06-06 Friday 22:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (simplex.5): New configure options:  `--with-glpk'
+	  checks whether the PPL should use the GLPK MIP solver, if
+	  available (the default is not to use it); `--with-glpk-glpssx'
+	  allows to specify the path where GLPK's glpssx.h can be found.
+
+2008-06-06 Friday 22:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.cc (simplex.5): Use the `PPL_USE_GLPK_MIP_SOLVER'
+	  symbol instead of `PPL_USE_GLPK'.  Define HAVE_GMP before
+	  including <glpssx.h> and <glpk.h>, undefining it after these
+	  inclusions.  The ulset() function does not exist in GLPK 4.28:
+	  use xlset() instead.
+
+2008-06-06 Friday 16:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* .cvsignore, ChangeLog, INSTALL, NEWS, README.configure, TODO,
+	  config.guess, config.sub, configure.ac, depcomp, install-sh,
+	  instchk.hh, ltmain.sh, Watchdog/.cvsignore, Watchdog/ChangeLog,
+	  Watchdog/INSTALL, Watchdog/config.guess, Watchdog/config.sub,
+	  Watchdog/configure.ac, Watchdog/depcomp, Watchdog/install-sh,
+	  Watchdog/ltmain.sh, Watchdog/doc/devref.doxyconf-html.in,
+	  Watchdog/doc/devref.doxyconf-latex.in, Watchdog/doc/devref.tex,
+	  Watchdog/doc/fdl.dox, Watchdog/doc/gpl.dox,
+	  Watchdog/doc/user.doxyconf-html.in,
+	  Watchdog/doc/user.doxyconf-latex.in, Watchdog/doc/user.tex,
+	  Watchdog/m4/libtool.m4, Watchdog/m4/ltoptions.m4,
+	  Watchdog/m4/ltsugar.m4, Watchdog/m4/ltversion.m4,
+	  Watchdog/m4/lt~obsolete.m4, Watchdog/src/.cvsignore,
+	  doc/definitions.dox, doc/devref-c-interface.doxyconf-html.in,
+	  doc/devref-c-interface.doxyconf-latex.in,
+	  doc/devref-c-interface.tex,
+	  doc/devref-prolog-interface.doxyconf-html.in,
+	  doc/devref-prolog-interface.doxyconf-latex.in,
+	  doc/devref.doxyconf-html.in, doc/devref.doxyconf-latex.in,
+	  doc/devref.tex, doc/fdl.dox, doc/gpl.dox,
+	  doc/user-c-interface.doxyconf-html.in,
+	  doc/user-c-interface.doxyconf-latex.in, doc/user-c-interface.tex,
+	  doc/user-prolog-interface.doxyconf-html.in,
+	  doc/user-prolog-interface.doxyconf-latex.in,
+	  doc/user-prolog-interface.tex, doc/user.doxyconf-html.in,
+	  doc/user.doxyconf-latex.in, doc/user.tex, fedora/Makefile.am,
+	  fedora/ppl.hh, fedora/ppl.spec, fedora/ppl_c.h, fedora/pwl.hh,
+	  interfaces/.cvsignore, interfaces/Makefile.am,
+	  interfaces/README.interfaces, interfaces/interfaced_boxes.hh,
+	  interfaces/ppl_interface_generator_common.m4,
+	  interfaces/ppl_interface_generator_common_dat.m4,
+	  interfaces/ppl_interface_generator_common_procedure_generators.m4,
+	  interfaces/C/.cvsignore, interfaces/C/Makefile.am,
+	  interfaces/C/ppl_interface_generator_c_cc.m4,
+	  interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	  interfaces/C/ppl_interface_generator_c_dat.m4,
+	  interfaces/C/ppl_interface_generator_c_h.m4,
+	  interfaces/C/ppl_interface_generator_c_h_code.m4,
+	  interfaces/C/ppl_interface_generator_c_procedure_generators.m4,
+	  interfaces/Java/.cvsignore, interfaces/Java/Makefile.am,
+	  interfaces/Java/ppl_interface_generator_java_dat.m4,
+	  interfaces/Java/ppl_interface_generator_java_procedure_generators.m4,
+	  interfaces/Java/jni/.cvsignore, interfaces/Java/jni/Makefile.am,
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4,
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4,
+	  interfaces/Java/jni/ppl_java_common.cc,
+	  interfaces/Java/jni/ppl_java_common.hh,
+	  interfaces/Java/tests/.cvsignore,
+	  interfaces/Java/tests/Makefile.am,
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java.m4,
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4,
+	  interfaces/OCaml/.cvsignore, interfaces/OCaml/Makefile.am,
+	  interfaces/OCaml/README.ocaml,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_cc.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_dat.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators.m4,
+	  interfaces/OCaml/ppl_ocaml_globals.cc,
+	  interfaces/Prolog/.cvsignore, interfaces/Prolog/Makefile.am,
+	  interfaces/Prolog/ppl_interface_generator_prolog_dat.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_procedure_generators.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_systems.m4,
+	  interfaces/Prolog/ppl_prolog_common.icc,
+	  interfaces/Prolog/Ciao/.cvsignore,
+	  interfaces/Prolog/Ciao/Makefile.am,
+	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4,
+	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4,
+	  interfaces/Prolog/GNU/.cvsignore,
+	  interfaces/Prolog/GNU/Makefile.am,
+	  interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4,
+	  interfaces/Prolog/SICStus/.cvsignore,
+	  interfaces/Prolog/SICStus/Makefile.am,
+	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4,
+	  interfaces/Prolog/SICStus/sp_predicate_check.pl,
+	  interfaces/Prolog/SWI/.cvsignore,
+	  interfaces/Prolog/SWI/Makefile.am,
+	  interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4,
+	  interfaces/Prolog/SWI/swi_predicate_check.pl,
+	  interfaces/Prolog/XSB/.cvsignore,
+	  interfaces/Prolog/XSB/Makefile.am,
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4,
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4,
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_predicate_check_P.m4,
+	  interfaces/Prolog/YAP/.cvsignore,
+	  interfaces/Prolog/YAP/Makefile.am,
+	  interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4,
+	  interfaces/Prolog/tests/.cvsignore,
+	  interfaces/Prolog/tests/Makefile.am,
+	  interfaces/Prolog/tests/pl_grid_check.pl,
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4,
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4,
+	  interfaces/Prolog/tests/ppl_predicate_check_common.pl,
+	  m4/ac_check_ciao.m4, m4/libtool.m4, m4/ltoptions.m4,
+	  m4/ltsugar.m4, m4/ltversion.m4, m4/lt~obsolete.m4,
+	  src/.cvsignore, src/Any_Pointset.defs.hh,
+	  src/BDS_Status.idefs.hh, src/BDS_Status.inlines.hh,
+	  src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
+	  src/BD_Shape.templates.hh, src/Bit_Row.defs.hh,
+	  src/Bit_Row.inlines.hh, src/Boundary.defs.hh, src/Box.defs.hh,
+	  src/Box.inlines.hh, src/Box.templates.hh,
+	  src/Box_Status.idefs.hh, src/Box_Status.inlines.hh,
+	  src/C_Integer.hh, src/C_Polyhedron.cc, src/C_Polyhedron.defs.hh,
+	  src/C_Polyhedron.inlines.hh, src/Checked_Number.defs.hh,
+	  src/Checked_Number.inlines.hh, src/Congruence.inlines.hh,
+	  src/Float.defs.hh, src/GMP_Integer.defs.hh,
+	  src/GMP_Integer.inlines.hh, src/Generator.defs.hh,
+	  src/Generator.inlines.hh, src/Grid.defs.hh, src/Grid.inlines.hh,
+	  src/Grid.templates.hh, src/Grid_Generator_System.inlines.hh,
+	  src/Grid_Status.idefs.hh, src/Grid_chdims.cc,
+	  src/Grid_nonpublic.cc, src/Grid_public.cc, src/Init.cc,
+	  src/Interval.defs.hh, src/Interval.inlines.hh,
+	  src/Interval_Info.defs.hh, src/Makefile.am,
+	  src/NNC_Polyhedron.cc, src/NNC_Polyhedron.defs.hh,
+	  src/NNC_Polyhedron.inlines.hh, src/Octagonal_Shape.defs.hh,
+	  src/Octagonal_Shape.inlines.hh, src/Octagonal_Shape.templates.hh,
+	  src/Og_Status.idefs.hh, src/Partially_Reduced_Product.defs.hh,
+	  src/Partially_Reduced_Product.inlines.hh,
+	  src/Partially_Reduced_Product.templates.hh,
+	  src/Ph_Status.idefs.hh, src/Pointset_Ask_Tell.defs.hh,
+	  src/Pointset_Ask_Tell.templates.hh, src/Pointset_Powerset.cc,
+	  src/Pointset_Powerset.defs.hh, src/Pointset_Powerset.inlines.hh,
+	  src/Pointset_Powerset.templates.hh, src/Polyhedron.defs.hh,
+	  src/Polyhedron.inlines.hh, src/Polyhedron.templates.hh,
+	  src/Polyhedron_nonpublic.cc, src/Polyhedron_public.cc,
+	  src/Polyhedron_widenings.cc, src/Rational_Box.hh,
+	  src/Rational_Interval.hh, src/Row.inlines.hh,
+	  src/Temp.inlines.hh, src/checked.defs.hh, src/checked.inlines.hh,
+	  src/checked_float.inlines.hh, src/checked_int.inlines.hh,
+	  src/checked_mpq.inlines.hh, src/checked_mpz.inlines.hh,
+	  src/compiler.hh, src/fpu.defs.hh, src/globals.cc,
+	  src/globals.defs.hh, src/globals.inlines.hh,
+	  src/math_utilities.defs.hh, src/math_utilities.inlines.hh,
+	  src/meta_programming.hh, src/ppl_header.hh, src/simplify.cc,
+	  tests/Random_Number_Generator.inlines.hh, tests/ppl_test.cc,
+	  tests/ppl_test.hh, tests/Ask_Tell/append1.cc,
+	  tests/BD_Shape/Makefile.am, tests/BD_Shape/addconstraints1.cc,
+	  tests/BD_Shape/addspacedims1.cc,
+	  tests/BD_Shape/affinedimension1.cc,
+	  tests/BD_Shape/affineimage1.cc, tests/BD_Shape/affineimage2.cc,
+	  tests/BD_Shape/affinepreimage1.cc,
+	  tests/BD_Shape/ascii_dump_load1.cc,
+	  tests/BD_Shape/bdsdifference1.cc, tests/BD_Shape/bdshull1.cc,
+	  tests/BD_Shape/bhmz05widening1.cc, tests/BD_Shape/bounded1.cc,
+	  tests/BD_Shape/boundedaffineimage1.cc,
+	  tests/BD_Shape/boundedaffinepreimage1.cc,
+	  tests/BD_Shape/boundingbox1.cc, tests/BD_Shape/bounds1.cc,
+	  tests/BD_Shape/cc76extrapolation1.cc,
+	  tests/BD_Shape/cc76narrowing1.cc, tests/BD_Shape/closure1.cc,
+	  tests/BD_Shape/concatenate1.cc, tests/BD_Shape/congruences1.cc,
+	  tests/BD_Shape/constraints1.cc, tests/BD_Shape/contains1.cc,
+	  tests/BD_Shape/containsintegerpoint1.cc,
+	  tests/BD_Shape/discrete1.cc, tests/BD_Shape/disjoint1.cc,
+	  tests/BD_Shape/empty1.cc, tests/BD_Shape/equality1.cc,
+	  tests/BD_Shape/expandspacedim1.cc,
+	  tests/BD_Shape/foldspacedims1.cc, tests/BD_Shape/frombdshape1.cc,
+	  tests/BD_Shape/frombox1.cc, tests/BD_Shape/fromgensys1.cc,
+	  tests/BD_Shape/fromgrid1.cc,
+	  tests/BD_Shape/fromoctagonalshape1.cc,
+	  tests/BD_Shape/frompolyhedron1.cc,
+	  tests/BD_Shape/fromspacedim1.cc,
+	  tests/BD_Shape/generalizedaffineimage1.cc,
+	  tests/BD_Shape/generalizedaffineimage2.cc,
+	  tests/BD_Shape/generalizedaffinepreimage1.cc,
+	  tests/BD_Shape/generalizedaffinepreimage2.cc,
+	  tests/BD_Shape/generalizedaffinepreimage3.cc,
+	  tests/BD_Shape/geomcovers1.cc, tests/BD_Shape/h79widening1.cc,
+	  tests/BD_Shape/intersection1.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation1.cc,
+	  tests/BD_Shape/limitedcc76extrapolation1.cc,
+	  tests/BD_Shape/limitedh79extrapolation1.cc,
+	  tests/BD_Shape/mapspacedims1.cc, tests/BD_Shape/max_min1.cc,
+	  tests/BD_Shape/max_min2.cc, tests/BD_Shape/membytes1.cc,
+	  tests/BD_Shape/minconstraints1.cc,
+	  tests/BD_Shape/pointsetpowerset1.cc,
+	  tests/BD_Shape/relations1.cc, tests/BD_Shape/relations2.cc,
+	  tests/BD_Shape/relations3.cc, tests/BD_Shape/relations4.cc,
+	  tests/BD_Shape/removespacedims1.cc,
+	  tests/BD_Shape/timeelapse1.cc, tests/BD_Shape/unconstrain1.cc,
+	  tests/BD_Shape/universe1.cc, tests/BD_Shape/writebdshape1.cc,
+	  tests/Box/Makefile.am, tests/Box/addconstraints1.cc,
+	  tests/Box/addspacedims1.cc, tests/Box/affineimage1.cc,
+	  tests/Box/affinepreimage1.cc, tests/Box/bdsdifference1.cc,
+	  tests/Box/boundedaffineimage1.cc,
+	  tests/Box/boundedaffinepreimage1.cc, tests/Box/boxdifference1.cc,
+	  tests/Box/boxhull.cc, tests/Box/boxhull1.cc,
+	  tests/Box/cc76narrowing1.cc, tests/Box/cc76widening.cc,
+	  tests/Box/closure1.cc, tests/Box/concatenate1.cc,
+	  tests/Box/congruences1.cc, tests/Box/constraints1.cc,
+	  tests/Box/expandspacedim1.cc, tests/Box/foldspacedims1.cc,
+	  tests/Box/frombdshape1.cc, tests/Box/fromgensys1.cc,
+	  tests/Box/frompolyhedron1.cc,
+	  tests/Box/generalizedaffineimage1.cc,
+	  tests/Box/generalizedaffineimage2.cc,
+	  tests/Box/generalizedaffinepreimage1.cc,
+	  tests/Box/geomcovers1.cc, tests/Box/intersection1.cc,
+	  tests/Box/interval1.cc, tests/Box/interval2.cc,
+	  tests/Box/mapspacedims1.cc, tests/Box/max_min1.cc,
+	  tests/Box/membytes1.cc, tests/Box/minconstraints1.cc,
+	  tests/Box/pointsetpowerset1.cc, tests/Box/pointsetpowerset2.cc,
+	  tests/Box/refine1.cc, tests/Box/refine2.cc, tests/Box/refine3.cc,
+	  tests/Box/refinewithcongruences1.cc,
+	  tests/Box/refinewithconstraint1.cc,
+	  tests/Box/refinewithconstraint2.cc,
+	  tests/Box/refinewithconstraints1.cc,
+	  tests/Box/refinewithconstraints2.cc, tests/Box/relations2.cc,
+	  tests/Box/relations3.cc, tests/Box/relations4.cc,
+	  tests/Box/removespacedims1.cc, tests/Box/timeelapse1.cc,
+	  tests/Box/unconstrain1.cc, tests/Grid/Makefile.am,
+	  tests/Grid/congruences1.cc, tests/Grid/copyconstruct1.cc,
+	  tests/Grid/directproduct3.cc, tests/Grid/directproduct5.cc,
+	  tests/Grid/directproduct6.cc, tests/Grid/fromgrid1.cc,
+	  tests/Grid/frompolyhedron1.cc, tests/Grid/grid3.cc,
+	  tests/Grid/mincongruences1.cc,
+	  tests/Grid/partiallyreducedproduct1.cc,
+	  tests/Grid/partiallyreducedproduct2.cc,
+	  tests/Grid/partiallyreducedproduct3.cc,
+	  tests/Grid/partiallyreducedproduct4.cc,
+	  tests/Grid/pointsetpowerset1.cc,
+	  tests/Grid/powersetdifference1.cc,
+	  tests/Grid/refinewithcongruences1.cc,
+	  tests/Grid/refinewithconstraints1.cc, tests/Grid/unconstrain1.cc,
+	  tests/Octagonal_Shape/Makefile.am,
+	  tests/Octagonal_Shape/addspacedims1.cc,
+	  tests/Octagonal_Shape/affinepreimage1.cc,
+	  tests/Octagonal_Shape/affinepreimage2.cc,
+	  tests/Octagonal_Shape/boundedaffineimage1.cc,
+	  tests/Octagonal_Shape/boundedaffinepreimage1.cc,
+	  tests/Octagonal_Shape/cc76extrapolation1.cc,
+	  tests/Octagonal_Shape/congruences1.cc,
+	  tests/Octagonal_Shape/constraints1.cc,
+	  tests/Octagonal_Shape/containsintegerpoint1.cc,
+	  tests/Octagonal_Shape/expandspacedim1.cc,
+	  tests/Octagonal_Shape/frombox1.cc,
+	  tests/Octagonal_Shape/fromoctagonalshape1.cc,
+	  tests/Octagonal_Shape/frompolyhedron1.cc,
+	  tests/Octagonal_Shape/generalizedaffineimage1.cc,
+	  tests/Octagonal_Shape/generalizedaffineimage2.cc,
+	  tests/Octagonal_Shape/generalizedaffineimage3.cc,
+	  tests/Octagonal_Shape/generalizedaffineimage4.cc,
+	  tests/Octagonal_Shape/generalizedaffineimage5.cc,
+	  tests/Octagonal_Shape/generalizedaffinepreimage1.cc,
+	  tests/Octagonal_Shape/generalizedaffinepreimage2.cc,
+	  tests/Octagonal_Shape/generalizedaffinepreimage3.cc,
+	  tests/Octagonal_Shape/generalizedaffinepreimage4.cc,
+	  tests/Octagonal_Shape/intersection1.cc,
+	  tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc,
+	  tests/Octagonal_Shape/limitedcc76extrapolation1.cc,
+	  tests/Octagonal_Shape/max_min2.cc,
+	  tests/Octagonal_Shape/membytes1.cc,
+	  tests/Octagonal_Shape/minconstraints1.cc,
+	  tests/Octagonal_Shape/octhull1.cc,
+	  tests/Octagonal_Shape/pointsetpowerset1.cc,
+	  tests/Octagonal_Shape/relatwithcons2.cc,
+	  tests/Octagonal_Shape/relatwithcons3.cc,
+	  tests/Octagonal_Shape/relatwithgen1.cc,
+	  tests/Octagonal_Shape/unconstrain1.cc,
+	  tests/Polyhedron/Makefile.am, tests/Polyhedron/addcongruence1.cc,
+	  tests/Polyhedron/boundedaffineimage1.cc,
+	  tests/Polyhedron/cnncconversion1.cc,
+	  tests/Polyhedron/exceptions1.cc, tests/Polyhedron/hybrid.cc,
+	  tests/Polyhedron/pointsetpowerset1.cc,
+	  tests/Polyhedron/pointsetpowerset2.cc,
+	  tests/Polyhedron/pointsetpowerset3.cc,
+	  tests/Polyhedron/pointsetpowerset4.cc,
+	  tests/Polyhedron/pointsetpowerset5.cc,
+	  tests/Polyhedron/pointsetpowerset6.cc,
+	  tests/Polyhedron/refinewithcongruence1.cc,
+	  tests/Polyhedron/refinewithcongruences1.cc,
+	  tests/Polyhedron/refinewithconstraint1.cc,
+	  tests/Polyhedron/refinewithconstraints1.cc,
+	  tests/Polyhedron/unconstrain1.cc, utils/cm_cleaner.sh,
+	  utils/cm_splitter.sh
+	  (simplex.[1,4,3,4,4,7,5,5,4,2,4,4,3,1,4,3,5,5,3,1,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,4,3,3,3,3,3,5,4,4,1,2,3,3,3,3,3,3,4,4,4,3,2,3,2,2,1,4,2,2,3,3,2,1,4,3,3,3,3,3,2,3,3,3,2,3,3,3,3,3,3,3,3,3,3,1,4,3,3,3,3,3,3,3,3,2,3,1,4,3,3,3,2,3,3,1,4,3,3,1,4,3,2,4,3,3,1,4,3,3,1,4,3,3,3,1,4,3,1,4,3,3,3,3,2,2,2,2,2,2,2,3,4,4,5,6,5,3,3,3,3,3,3,2,2,3,4,5,5,5,5,5,4,5,5,7,4,5,5,5,5,4,5,5,5,4,4,3,3,6,4,5,5,3,3,3,3,3,3,3,4,3,3,3,3,3,3,5,5,4,5,5,3,3,2,3,3,4,4,4,5,4,4,4,4,3,5,3,2,2,3,3,3,4,5,5,3,5,5,4,4,5,4,5,4 [...]
+	  Fifth merge of the trunk to the `simplex' branch.
+
+2008-06-06 Friday 16:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.cc (simplex.4): Extended the scope of an #ifdef
+	  PPL_USE_GLPK.
+
+2008-06-06 Friday 14:10  Andrea Cimino
+
+	* src/: MIP_Problem.cc, MIP_Problem.defs.hh (simplex.[3,3]): As an
+	  option, now the PPL can use the exact simplex solver of GLPK.
+
+2008-06-05 Thursday 15:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am, wrap1.cc
+	  (bounded_arithmetic.[1,1]): New file wrap1.cc will contain tests
+	  for method Polyhedron::wrap_assign().
+
+2008-06-05 Thursday 15:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh, Polyhedron_public.cc
+	  (bounded_arithmetic.[1,1]): Added the declaration and a stub
+	  implementation of new method Polyhedron::wrap_assign().
+
+2008-06-05 Thursday 15:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/globals.types.hh (bounded_arithmetic.1): New enumerations
+	  Bounded_Integer_Type_Width, Bounded_Integer_Type_Signedness and
+	  Bounded_Integer_Type_Overflow to encode the width, signedness and
+	  overflow behavior of bounded integer types, respectively.
+
+2008-05-26 Monday 22:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/max_min1.cc (1.8): Capitalization fixed.
+
+2008-05-25 Sunday 10:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_ciao.m4 (simplex.1): file ac_check_ciao.m4 was added
+	  on branch simplex on 2008-06-06 14:22:04 +0000
+
+2008-05-25 Sunday 10:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.309), interfaces/Prolog/Ciao/Makefile.am (1.73),
+	  m4/ac_check_ciao.m4 (1.1): Added machinery to automatically find
+	  the header files of the Ciao Prolog foreign language interface.
+
+2008-05-24 Saturday 14:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.308): Version number bumped.
+
+2008-05-24 Saturday 14:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure (1.26): Updated.
+
+2008-05-12 Monday 20:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: C_Polyhedron.inlines.hh (1.43), Congruence.inlines.hh
+	  (1.20), Grid_Generator_System.inlines.hh (1.18),
+	  NNC_Polyhedron.inlines.hh (1.44): Define inline methods before
+	  their first invocation.
+
+2008-05-12 Monday 08:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.123), Octagonal_Shape.defs.hh (1.49):
+	  Obsolete workarounds removed.
+
+2008-05-12 Monday 08:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.defs.hh (1.55): Obsolete workarounds removed.
+
+2008-05-12 Monday 08:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: compiler.hh (1.14), fpu.defs.hh (1.19): The Intel C/C++
+	  compilers accept the same asm() syntax as GCC.
+
+2008-05-11 Sunday 23:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.defs.hh (1.54), Box.inlines.hh (1.33), Box.templates.hh
+	  (1.112), Box_Status.idefs.hh (1.3), Box_Status.inlines.hh (1.3):
+	  Avoid name clashes between the parameter of class Box and class
+	  Interval.
+
+2008-05-11 Sunday 23:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box_Status.idefs.hh (simplex.1): file Box_Status.idefs.hh was
+	  added on branch simplex on 2008-06-06 14:22:04 +0000
+
+2008-05-11 Sunday 23:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box_Status.inlines.hh (simplex.1): file Box_Status.inlines.hh
+	  was added on branch simplex on 2008-06-06 14:22:04 +0000
+
+2008-05-11 Sunday 22:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh (1.111): Dead code removed.
+
+2008-05-11 Sunday 22:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.defs.hh (1.53): Useless inclusion removed.
+
+2008-05-11 Sunday 22:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.templates.hh (1.106), Octagonal_Shape.templates.hh
+	  (1.77): Unreachable breaks removed.
+
+2008-05-11 Sunday 22:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Ask_Tell.defs.hh (1.17): Inclusions fixed.
+
+2008-05-11 Sunday 21:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: MIP_Problem.cc (1.67), Polyhedron_public.cc (1.117):
+	  Unreachable breaks removed.
+
+2008-05-11 Sunday 21:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Powerset.defs.hh (1.39): Inclusions fixed.
+
+2008-05-11 Sunday 21:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: compiler.hh (1.13), fpu.defs.hh (1.18): Do not try to use
+	  asm() statements unless defined(__GNUC__).
+
+2008-05-11 Sunday 21:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_mpz.inlines.hh (1.54): Warning avoided.
+
+2008-05-11 Sunday 21:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh (1.110): Code formatting improved.
+
+2008-05-11 Sunday 21:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.templates.hh (1.105), Octagonal_Shape.templates.hh
+	  (1.76): Avoid shadowing and repeated computations.
+
+2008-05-10 Saturday 10:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.307): When the --enable-more-assertions option is
+	  given, we define both _GLIBCXX_DEBUG and _GLIBCXX_DEBUG_PEDANTIC;
+	  this way, when libstdc++ is used, it is used in pedantic debug
+	  mode.
+
+2008-05-10 Saturday 10:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Init.cc (1.34), Polyhedron.defs.hh (1.337),
+	  Polyhedron_public.cc (1.116), simplify.cc (1.51): Fixed an (until
+	  now) inconsequential problem whereby we were using the STL
+	  outside its specifications (problem spotted by Stefano Soffia and
+	  further analyzed by Enea Zaffanella).
+
+2008-05-05 Monday 13:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/libtool.m4 (simplex.1): file libtool.m4 was added on branch
+	  simplex on 2008-06-06 14:22:04 +0000
+
+2008-05-05 Monday 13:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ltoptions.m4 (simplex.1): file ltoptions.m4 was added on
+	  branch simplex on 2008-06-06 14:22:04 +0000
+
+2008-05-05 Monday 13:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ltversion.m4 (simplex.1): file ltversion.m4 was added on
+	  branch simplex on 2008-06-06 14:22:04 +0000
+
+2008-05-05 Monday 13:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/lt~obsolete.m4 (simplex.1): file lt~obsolete.m4 was added on
+	  branch simplex on 2008-06-06 14:22:04 +0000
+
+2008-05-05 Monday 13:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/m4/libtool.m4 (simplex.1): file libtool.m4 was added on
+	  branch simplex on 2008-06-06 14:21:55 +0000
+
+2008-05-05 Monday 13:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/m4/ltoptions.m4 (simplex.1): file ltoptions.m4 was added
+	  on branch simplex on 2008-06-06 14:21:55 +0000
+
+2008-05-05 Monday 13:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/m4/ltversion.m4 (simplex.1): file ltversion.m4 was added
+	  on branch simplex on 2008-06-06 14:21:55 +0000
+
+2008-05-05 Monday 13:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/m4/lt~obsolete.m4 (simplex.1): file lt~obsolete.m4 was
+	  added on branch simplex on 2008-06-06 14:21:55 +0000
+
+2008-05-05 Monday 13:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.306), ltmain.sh (1.34), Watchdog/configure.ac
+	  (1.45), Watchdog/ltmain.sh (1.23), Watchdog/m4/libtool.m4 (1.5),
+	  Watchdog/m4/ltoptions.m4 (1.3), Watchdog/m4/ltversion.m4 (1.4),
+	  Watchdog/m4/lt~obsolete.m4 (1.2), m4/libtool.m4 (1.5),
+	  m4/ltoptions.m4 (1.3), m4/ltversion.m4 (1.4), m4/lt~obsolete.m4
+	  (1.2): Updated to Libtool 2.2.4.
+
+2008-05-04 Sunday 09:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ppl_test.cc (1.13): Temporarily work around a problem
+	  whereby testing for the existence of <fenv.h> is no longer enough
+	  for our purposes.
+
+2008-05-04 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Random_Number_Generator.inlines.hh (1.12): Include <ctime>.
+
+2008-05-04 Sunday 09:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh (1.104): Use explicit braces to avoid
+	  ambiguous `else'.
+
+2008-04-30 Wednesday 12:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: devref-c-interface.tex (1.5), devref.tex (1.26),
+	  user-c-interface.tex (1.5), user-prolog-interface.tex (1.5),
+	  user.tex (1.27): Package inclusions updated.	We now set the
+	  `tocdepth' counter to 2 in order to obtain a more useful index.
+
+2008-04-29 Tuesday 14:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh (1.103): Avoid useless computation in
+	  minimized_congruences(), thereby also silencing a compiler
+	  warning.
+
+2008-04-29 Tuesday 14:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Grid/pointsetpowerset1.cc (1.3): Test 15 is no longer
+	  failing.
+
+2008-04-29 Tuesday 14:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/pointsetpowerset1.cc (simplex.1): file
+	  pointsetpowerset1.cc was added on branch simplex on 2008-06-06
+	  14:22:11 +0000
+
+2008-04-28 Monday 16:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Octagonal_Shape.inlines.hh (1.35),
+	  Octagonal_Shape.templates.hh (1.75): Corrected an efficiency bug
+	  in methods minimized_congruences() and congruences().  In method
+	  OK(), do not check for closure if the shape is based on non-exact
+	  (i.e., floating point) coefficients.
+
+2008-04-28 Monday 15:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.inlines.hh (1.162), BD_Shape.templates.hh (1.102):
+	  Corrected an efficiency bug in methods minimized_congruences()
+	  and congruences().
+
+2008-04-28 Monday 12:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Float.defs.hh (1.29): Added missing inclusion of
+	  meta_programming.hh.
+
+2008-04-27 Sunday 16:28  Abramo Bagnara
+
+	* src/Temp.inlines.hh (1.5): Added missing inline.
+
+2008-04-27 Sunday 16:28  Abramo Bagnara
+
+	* src/Float.defs.hh (1.28): Added True/False helper.
+
+2008-04-24 Thursday 08:37  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Octagonal_Shape.defs.hh (1.48), Polyhedron.defs.hh (1.336):
+	  Do not refer to the undefined concept `reduced' for congruence
+	  systems.
+
+2008-04-24 Thursday 08:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Grid.defs.hh (1.71): Minor improvements in documentation: do
+	  not refer to `reduced' congruence systems since it is undefined
+	  terminology at the user level.
+
+2008-04-24 Thursday 08:29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.122): Minor fix in the indentation of the
+	  documentation.
+
+2008-04-23 Wednesday 16:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/:
+	  ppl_interface_generator_common_procedure_generators.m4 (1.19),
+	  C/ppl_interface_generator_c_cc_code.m4 (1.33),
+	  C/ppl_interface_generator_c_h_code.m4 (1.23),
+	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.49), Java/jni/ppl_java_common.cc (1.38),
+	  Java/tests/ppl_interface_generator_java_test_java_code.m4 (1.29),
+	  OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.31),
+	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.26),
+	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.20),
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.66),
+	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.75), Prolog/tests/ppl_predicate_check_common.pl (1.11): Added
+	  to all the interfaces the unconstrain() procedure.
+
+	  Added (except to the C interface which already had it) the
+	  constrains() procedure.
+
+	  Added to the Prolog interface the option of building from a
+	  friend with complexity specified.
+
+	  Tests added for all new code in the Prolog and Java interfaces.
+
+2008-04-23 Wednesday 16:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/ppl_interface_generator_common_procedure_generators.m4
+	  (simplex.1): file
+	  ppl_interface_generator_common_procedure_generators.m4 was added
+	  on branch simplex on 2008-06-06 14:21:58 +0000
+
+2008-04-23 Wednesday 12:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/: BD_Shape/pointsetpowerset1.cc (1.4),
+	  Octagonal_Shape/pointsetpowerset1.cc (1.4): Revised the distances
+	  from the exact values in test 03.
+
+2008-04-23 Wednesday 12:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/pointsetpowerset1.cc (simplex.1): file
+	  pointsetpowerset1.cc was added on branch simplex on 2008-06-06
+	  14:22:09 +0000
+
+2008-04-23 Wednesday 12:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/pointsetpowerset1.cc (simplex.1): file
+	  pointsetpowerset1.cc was added on branch simplex on 2008-06-06
+	  14:22:12 +0000
+
+2008-04-23 Wednesday 09:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/pointsetpowerset5.cc (simplex.1): file
+	  pointsetpowerset5.cc was added on branch simplex on 2008-06-06
+	  14:22:13 +0000
+
+2008-04-23 Wednesday 09:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/pointsetpowerset6.cc (simplex.1): file
+	  pointsetpowerset6.cc was added on branch simplex on 2008-06-06
+	  14:22:13 +0000
+
+2008-04-23 Wednesday 09:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/pointsetpowerset2.cc (simplex.1): file
+	  pointsetpowerset2.cc was added on branch simplex on 2008-06-06
+	  14:22:10 +0000
+
+2008-04-23 Wednesday 09:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: BD_Shape/pointsetpowerset1.cc (1.3),
+	  Box/pointsetpowerset1.cc (1.6), Box/pointsetpowerset2.cc (1.2),
+	  Grid/pointsetpowerset1.cc (1.2),
+	  Octagonal_Shape/pointsetpowerset1.cc (1.3), Polyhedron/hybrid.cc
+	  (1.6), Polyhedron/pointsetpowerset1.cc (1.10),
+	  Polyhedron/pointsetpowerset2.cc (1.4),
+	  Polyhedron/pointsetpowerset5.cc (1.4),
+	  Polyhedron/pointsetpowerset6.cc (1.2): Do not put spaces around
+	  operator->().
+
+2008-04-22 Tuesday 19:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Octagonal_Shape/Makefile.am (1.30): Type corrected.
+
+2008-04-22 Tuesday 17:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/BD_Shape/pointsetpowerset1.cc (1.2): Allow for non-integral
+	  numbers using check_result().
+
+2008-04-22 Tuesday 17:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Octagonal_Shape/pointsetpowerset1.cc (1.2): Allow for non
+	  integral results using check_results() on the disjuncts.
+
+2008-04-22 Tuesday 11:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.228), src/Pointset_Powerset.cc (1.19),
+	  src/Pointset_Powerset.defs.hh (1.38),
+	  src/Pointset_Powerset.inlines.hh (1.15),
+	  src/Pointset_Powerset.templates.hh (1.32),
+	  tests/BD_Shape/Makefile.am (1.76),
+	  tests/BD_Shape/pointsetpowerset1.cc (1.1), tests/Box/Makefile.am
+	  (1.59), tests/Box/pointsetpowerset2.cc (1.1),
+	  tests/Grid/Makefile.am (1.65), tests/Grid/pointsetpowerset1.cc
+	  (1.1), tests/Octagonal_Shape/Makefile.am (1.29),
+	  tests/Octagonal_Shape/pointsetpowerset1.cc (1.1),
+	  tests/Polyhedron/Makefile.am (1.122),
+	  tests/Polyhedron/pointsetpowerset6.cc (1.1): Added constructors
+	  for the pointset powerset domain from other domains that are not
+	  products or powersets.
+
+	  Added to all the constructors for the pointset powerset domain
+	  from other sematic domains an optional complexity argument.
+
+	  Tests for these new constructors added.  A note added in the NEWS
+	  file on these additions
+
+2008-04-22 Tuesday 11:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/NNC_Polyhedron.defs.hh (1.60): Properly order the list of
+	  parameters of NNC_Polyhedron(grid, complexity) in the doxygen
+	  documentation.
+
+2008-04-22 Tuesday 11:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.227): Mention the new unconstrain() methods.
+
+2008-04-22 Tuesday 09:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Box/pointsetpowerset1.cc (1.5): Tests 4 to 19 uncommented
+	  and adapted to use the box domain.
+
+2008-04-22 Tuesday 09:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked.inlines.hh (1.43): Added a note on the implementation
+	  of gcdext_exact().
+
+2008-04-21 Monday 22:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/NNC_Polyhedron.defs.hh (1.59): Document the parameter
+	  complexity in: NNC_Polyhedron(const Grid &grid,
+	  Complexity_Class complexity=ANY_COMPLEXITY)
+
+2008-04-21 Monday 12:13  Elena Mazzi
+
+	* src/BD_Shape.templates.hh (1.101): Corrected the private method
+	  `get_limiting_shape' when `cs' contains an equality.
+
+2008-04-18 Friday 14:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Partially_Reduced_Product.defs.hh (1.30),
+	  Partially_Reduced_Product.inlines.hh (1.27): Added methods
+	  unconstrain() to class Partially_Reduced_Product.
+
+2008-04-18 Friday 14:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/fromoctagonalshape1.cc (simplex.1): file
+	  fromoctagonalshape1.cc was added on branch simplex on 2008-06-06
+	  14:22:12 +0000
+
+2008-04-18 Friday 14:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: BD_Shape/frombdshape1.cc (1.2),
+	  Octagonal_Shape/fromoctagonalshape1.cc (1.2): Corrected typos:
+	  the assignment operator is not meant to implement a conversion
+	  between different kinds of BD_ or Octagonal_ shapes.
+
+2008-04-18 Friday 14:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/frombdshape1.cc (simplex.1): file frombdshape1.cc
+	  was added on branch simplex on 2008-06-06 14:22:09 +0000
+
+2008-04-18 Friday 11:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Partially_Reduced_Product.defs.hh (1.29),
+	  src/Partially_Reduced_Product.inlines.hh (1.26),
+	  tests/Grid/directproduct6.cc (1.14): Added a constructor for a
+	  product from another product but with possibly different
+	  templatic parameters.
+
+2008-04-18 Friday 10:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Partially_Reduced_Product.defs.hh (1.28),
+	  src/Partially_Reduced_Product.inlines.hh (1.25),
+	  tests/Grid/directproduct6.cc (1.13): Added the complexity class
+	  parameter for the copy constructor for the product domain.
+
+2008-04-18 Friday 10:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/fromgrid1.cc (simplex.1): file fromgrid1.cc was added
+	  on branch simplex on 2008-06-06 14:22:11 +0000
+
+2008-04-18 Friday 10:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/partiallyreducedproduct4.cc (simplex.1): file
+	  partiallyreducedproduct4.cc was added on branch simplex on
+	  2008-06-06 14:22:11 +0000
+
+2008-04-18 Friday 10:15  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/BD_Shape.defs.hh (1.121), src/BD_Shape.inlines.hh (1.161),
+	  src/Box.defs.hh (1.52), src/Box.inlines.hh (1.32),
+	  src/Box.templates.hh (1.109), src/C_Polyhedron.defs.hh (1.58),
+	  src/C_Polyhedron.inlines.hh (1.42), src/Grid.defs.hh (1.70),
+	  src/Grid_public.cc (1.72), src/NNC_Polyhedron.defs.hh (1.58),
+	  src/NNC_Polyhedron.inlines.hh (1.43), src/Octagonal_Shape.defs.hh
+	  (1.47), src/Octagonal_Shape.inlines.hh (1.34),
+	  src/Partially_Reduced_Product.defs.hh (1.27),
+	  src/Partially_Reduced_Product.inlines.hh (1.24),
+	  src/Polyhedron.defs.hh (1.335), src/Polyhedron_nonpublic.cc
+	  (1.83), tests/BD_Shape/Makefile.am (1.75),
+	  tests/BD_Shape/frombdshape1.cc (1.1), tests/Grid/Makefile.am
+	  (1.64), tests/Grid/copyconstruct1.cc (1.10),
+	  tests/Grid/directproduct6.cc (1.12), tests/Grid/fromgrid1.cc
+	  (1.1), tests/Grid/partiallyreducedproduct1.cc (1.11),
+	  tests/Grid/partiallyreducedproduct2.cc (1.5),
+	  tests/Grid/partiallyreducedproduct3.cc (1.4),
+	  tests/Grid/partiallyreducedproduct4.cc (1.4),
+	  tests/Octagonal_Shape/Makefile.am (1.28),
+	  tests/Octagonal_Shape/fromoctagonalshape1.cc (1.1): Added to the
+	  Partially_Reduced_Product<> class in the semantic GD constructors
+	  from other classes a complexity parameter.
+
+	  Tests for this have been added as needed. Also some comments wrt
+	  the tests for the product domain have been corrected.
+
+	  In the Grid, Box, BD_Shape and Octagonal_Shape added a complexity
+	  class parameter to the copy constructor and to the constructor
+	  from the same class but with a different numeric class (where
+	  applicable).
+
+	  Test files added where no obvious test for the copy constructor
+	  could be found. For the grid tests, the test file
+	  copyconstruct1.cc has been renamed for uniformity with other
+	  tests and the other classes.
+
+2008-04-18 Friday 09:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Any_Pointset.defs.hh (1.19), Pointset_Ask_Tell.defs.hh
+	  (1.16), Pointset_Ask_Tell.templates.hh (1.14): Added the
+	  unconstrain() methods to Any_Pointset and Pointset_Ask_Tell.
+
+2008-04-18 Friday 09:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/: Makefile.am (1.58), unconstrain1.cc (1.1): Added a
+	  test for the new Box::unconstrain() methods.
+
+2008-04-18 Friday 09:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/unconstrain1.cc (simplex.1): file unconstrain1.cc was
+	  added on branch simplex on 2008-06-06 14:22:10 +0000
+
+2008-04-18 Friday 09:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Box.defs.hh (1.51), Box.inlines.hh (1.31), Box.templates.hh
+	  (1.108): Added methods unconstrain().
+
+2008-04-17 Thursday 18:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/C_Polyhedron.cc (1.27), src/C_Polyhedron.defs.hh (1.57),
+	  src/NNC_Polyhedron.cc (1.27), src/NNC_Polyhedron.defs.hh (1.57),
+	  tests/Polyhedron/cnncconversion1.cc (1.6): Added a complexity
+	  parameter for converting between C and NNC polyhedra. This is
+	  ignored.
+
+	  A couple of tests added to cnncconversion1.cc.
+
+2008-04-17 Thursday 17:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/: Makefile.am (1.63), unconstrain1.cc (1.1): Added
+	  tests for unconstrain() for the grids.
+
+2008-04-17 Thursday 17:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/unconstrain1.cc (simplex.1): file unconstrain1.cc was
+	  added on branch simplex on 2008-06-06 14:22:11 +0000
+
+2008-04-17 Thursday 17:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Grid.defs.hh (1.69), Grid_public.cc (1.71): Added methods
+	  unconstrain().
+
+2008-04-17 Thursday 17:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: C_Polyhedron.cc (1.26), C_Polyhedron.defs.hh (1.56),
+	  C_Polyhedron.inlines.hh (1.41), NNC_Polyhedron.cc (1.26),
+	  NNC_Polyhedron.defs.hh (1.56), NNC_Polyhedron.inlines.hh (1.42),
+	  Polyhedron.templates.hh (1.19): Fixed indentation.
+
+2008-04-17 Thursday 16:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/frombox1.cc (simplex.1): file frombox1.cc was
+	  added on branch simplex on 2008-06-06 14:22:09 +0000
+
+2008-04-17 Thursday 16:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/frombox1.cc (simplex.1): file frombox1.cc
+	  was added on branch simplex on 2008-06-06 14:22:12 +0000
+
+2008-04-17 Thursday 16:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/BD_Shape.defs.hh (1.120), src/BD_Shape.inlines.hh (1.160),
+	  src/Grid.defs.hh (1.68), src/Grid.inlines.hh (1.24),
+	  src/Grid.templates.hh (1.34), src/Octagonal_Shape.defs.hh (1.46),
+	  src/Octagonal_Shape.inlines.hh (1.33), tests/BD_Shape/Makefile.am
+	  (1.74), tests/BD_Shape/boundingbox1.cc (1.4),
+	  tests/BD_Shape/frombox1.cc (1.1),
+	  tests/Octagonal_Shape/Makefile.am (1.27),
+	  tests/Octagonal_Shape/frombox1.cc (1.1): Added a complexity
+	  parameter for the constructors for the grid, bd_shape and
+	  octagonal_shape from the other semantic GD's.  In all cases the
+	  parameter is ignored.
+
+	  Added tests for the Octagonal_Shape domain for building from a
+	  box.	This file is a clone (with only trivial changes for the
+	  change of domain) of the old boundingbox1.cc (renamed for
+	  consistency as frombox1.cc) in BD_Shape tests directory.
+
+2008-04-17 Thursday 16:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: C_Polyhedron.cc (1.25), C_Polyhedron.defs.hh (1.55),
+	  C_Polyhedron.inlines.hh (1.40), NNC_Polyhedron.cc (1.25),
+	  NNC_Polyhedron.defs.hh (1.55), NNC_Polyhedron.inlines.hh (1.41):
+	  Added an extra complexity parameter for building polyhedra from a
+	  box, bd shape, octagonal shape, and a grid.  In all cases the
+	  parameter is ignored.
+
+2008-04-17 Thursday 15:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Pointset_Powerset.templates.hh (1.31): Fixed indentation;
+	  added implementation of methods unconstrain().
+
+2008-04-17 Thursday 15:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Pointset_Powerset.defs.hh (1.37): Fixed indentation and
+	  grouping of methods.	Declared new methods unconstrain().
+
+2008-04-17 Thursday 15:44  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.210): Added bibligraphic entry HMT71.
+
+2008-04-17 Thursday 15:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.209): Added a subsection about
+	  cylindrification of polyhedra.
+
+2008-04-17 Thursday 13:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.115): In the implementation of affine
+	  images/preimages, use new methods unconstrain() when appropriate.
+
+2008-04-17 Thursday 13:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/unconstrain1.cc (simplex.1): file
+	  unconstrain1.cc was added on branch simplex on 2008-06-06
+	  14:22:12 +0000
+
+2008-04-17 Thursday 13:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: BD_Shape/Makefile.am (1.73), BD_Shape/unconstrain1.cc
+	  (1.1), Octagonal_Shape/Makefile.am (1.26),
+	  Octagonal_Shape/unconstrain1.cc (1.1): Added tests for the
+	  unconstrain() methods for BD_Shape and Octagonal_Shape.
+
+2008-04-17 Thursday 13:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/unconstrain1.cc (simplex.1): file unconstrain1.cc
+	  was added on branch simplex on 2008-06-06 14:22:09 +0000
+
+2008-04-17 Thursday 13:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.119), BD_Shape.templates.hh (1.100),
+	  Octagonal_Shape.defs.hh (1.45), Octagonal_Shape.templates.hh
+	  (1.74): Added methods unconstrain() for BD_Shape and
+	  Octagonal_Shape.
+
+2008-04-17 Thursday 13:10  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: Polyhedron.defs.hh (1.334), Polyhedron.templates.hh (1.18),
+	  Polyhedron_public.cc (1.114): Replaced common code in
+	  add_constraint() and refine_with_constraint() with a call to a
+	  private method refine_no_check() that does the same thing as the
+	  common code.
+
+	  Added an extra complexity parameter for the constructor of a
+	  polyhedron from a box. This is ignored (as algorithm is
+	  polynomial).
+
+2008-04-17 Thursday 12:56  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.121), unconstrain1.cc (1.1):
+	  Added some tests for new methods unconstrain().
+
+2008-04-17 Thursday 12:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/unconstrain1.cc (simplex.1): file
+	  unconstrain1.cc was added on branch simplex on 2008-06-06
+	  14:22:13 +0000
+
+2008-04-17 Thursday 11:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.113): Corrected cut&paste error in
+	  the implementation of unconstrain(vs).
+
+2008-04-17 Thursday 11:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh (1.333), Polyhedron_public.cc (1.112):
+	  Added new methods   void unconstrain(Variable var);	void
+	  unconstrain(const Variable_Set& to_be_unconstrained); that modify
+	  the polyhedron by computing the cylindrification on the specified
+	  space dimensions.  In the documentation, moved the static methods
+	  can_recycle_constraints and can_recycle_congruences to a better
+	  place.
+
+2008-04-17 Thursday 09:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (1.243): Added (partial) lists of the semantic GDs (simple
+	  and the constructors) in the section on Semantic geometric
+	  descriptors.
+
+2008-04-12 Saturday 22:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid_public.cc (1.70), tests/Grid/Makefile.am (1.62),
+	  tests/Grid/frompolyhedron1.cc (1.1), tests/Grid/grid3.cc (1.26):
+	  Corrected two bugs in the revised code for constructing a grid
+	  from a polyhedron with complexity class:
+
+	  The space dimension of the generator system must be set to be
+	  that of the polyhedron.
+
+	  After minimizing the polyhedron (in the case that the complexity
+	  is ANY_COMPLEXITY), we must check if the polyhedron is empty, and
+	  if it is return the empty grid.
+
+	  Added a new test file for checking this constructor, moved
+	  existing tests for it that were in grid3.cc to the new test file,
+	  and added a few extra tests to check the use of complexity
+	  classes.
+
+2008-04-12 Saturday 22:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/frompolyhedron1.cc (simplex.1): file
+	  frompolyhedron1.cc was added on branch simplex on 2008-06-06
+	  14:22:11 +0000
+
+2008-04-12 Saturday 12:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Grid.defs.hh (1.67), Grid_public.cc (1.69): The constructor
+	  of a grid from a polyhedron now takes an optional argument
+	  specifying an upper bound to the complexity of the conversion to
+	  be applied.
+
+2008-04-10 Thursday 17:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.242): Small improvements to the description of
+	  syntactic/semantics GDs.
+
+2008-04-02 Wednesday 08:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.33), Watchdog/ltmain.sh (1.22),
+	  Watchdog/m4/libtool.m4 (1.4), Watchdog/m4/ltoptions.m4 (1.2),
+	  Watchdog/m4/ltversion.m4 (1.3), m4/libtool.m4 (1.4),
+	  m4/ltoptions.m4 (1.2), m4/ltversion.m4 (1.3): Updated from
+	  Libtool 2.2.2.
+
+2008-03-29 Saturday 08:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.305): Version number bumped.
+
+2008-03-25 Tuesday 10:27  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Pointset_Powerset.cc (1.18), src/Pointset_Powerset.defs.hh
+	  (1.36), src/Pointset_Powerset.inlines.hh (1.14),
+	  src/Pointset_Powerset.templates.hh (1.30),
+	  tests/Grid/powersetdifference1.cc (1.5),
+	  tests/Polyhedron/pointsetpowerset1.cc (1.9): Changes mainly
+	  affect poly_difference_assign().
+
+	  Added difference_assign() to be a clone of
+	  poly_difference_assign().  Added a couple of tests and improved
+	  an existing test.
+
+	  Replaced all lines: // FIXME: this is buggy when PS is not an
+	  abstraction of NNC_Polyhedron.  by // This code is only used when
+	  PS is an abstraction of NNC_Polyhedron.  since the Grid domains
+	  are specialised separately.
+
+	  Corrected a bug in poly_difference_assign() for Grids where some
+	  precision was wrongly lost (when a remainder was negative and had
+	  been assumed to be positive).
+
+2008-03-22 Saturday 10:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* Watchdog/doc/: devref.tex (1.5), fdl.dox (1.2), gpl.dox (1.3),
+	  user.tex (1.5): Properly named page anchors so as to avoid
+	  undefined references in the LaTeX documentation.
+
+2008-03-22 Saturday 10:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* Watchdog/doc/: devref.doxyconf-html.in (1.2),
+	  devref.doxyconf-latex.in (1.2), user.doxyconf-html.in (1.3),
+	  user.doxyconf-latex.in (1.3): Doxygen configuration files
+	  upgraded.
+
+2008-03-21 Friday 10:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/: ppl_interface_generator_c_cc_code.m4 (1.32),
+	  ppl_interface_generator_c_h_code.m4 (1.22): Removed the now
+	  redundant code for add_recycled_..._and_minimize procedures.
+
+2008-03-21 Friday 10:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/ppl_interface_generator_c_procedure_generators.m4
+	  (1.6): Removed the
+	  add_recycled_constraints/congruences_and_minimize from the list
+	  of procedures to build.
+
+2008-03-21 Friday 10:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_procedure_generators.m4
+	  (simplex.1): file
+	  ppl_interface_generator_c_procedure_generators.m4 was added on
+	  branch simplex on 2008-06-06 14:21:58 +0000
+
+2008-03-21 Friday 09:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Partially_Reduced_Product.defs.hh (1.26),
+	  Pointset_Powerset.defs.hh (1.35): Corrected a couple of typos in
+	  the documentation resulting in Doxygen warnings.
+
+2008-03-21 Friday 09:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Octagonal_Shape.defs.hh (1.44), Octagonal_Shape.inlines.hh
+	  (1.32), Octagonal_Shape.templates.hh (1.73): Removed eager
+	  methods for the addition of constraints/congruences.
+
+2008-03-21 Friday 09:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Octagonal_Shape/: limitedbhmz05extrapolation1.cc (1.8),
+	  limitedcc76extrapolation1.cc (1.8), intersection1.cc (1.6): No
+	  longer using eager methods for adding constraints/congruences.
+
+2008-03-21 Friday 09:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Octagonal_Shape/: congruences1.cc (1.4),
+	  containsintegerpoint1.cc (1.6), octhull1.cc (1.6): No longer
+	  using eager methods for adding constraints/congruences.
+
+2008-03-21 Friday 09:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/congruences1.cc (simplex.1): file
+	  congruences1.cc was added on branch simplex on 2008-06-06
+	  14:22:12 +0000
+
+2008-03-21 Friday 08:58  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Grid/: directproduct3.cc (1.18), directproduct5.cc (1.10):
+	  No longer using eager methods for adding constraints/congruences.
+
+2008-03-21 Friday 08:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Grid/partiallyreducedproduct1.cc (1.10): No longer using
+	  eager methods for adding constraints/congruences.
+
+2008-03-21 Friday 08:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Partially_Reduced_Product.defs.hh (1.25),
+	  Partially_Reduced_Product.inlines.hh (1.23),
+	  Partially_Reduced_Product.templates.hh (1.9): Removed eager
+	  versions of methods adding constraints/congruences.
+
+2008-03-21 Friday 08:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Pointset_Ask_Tell.defs.hh (1.15),
+	  Pointset_Ask_Tell.templates.hh (1.13): Removed eager methods of
+	  methods adding constraints/congruences.
+
+2008-03-21 Friday 08:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Ask_Tell/append1.cc (1.8): Corrected typo in the noisy
+	  output.
+
+2008-03-21 Friday 08:44  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/: addconstraints1.cc (1.13), congruences1.cc (1.4),
+	  intersection1.cc (1.10): No longer using eager methods for adding
+	  constraints/congruences.
+
+2008-03-21 Friday 08:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Box.defs.hh (1.50), Box.inlines.hh (1.30): Removed eager
+	  versions of methods adding constraints and congruences.
+
+2008-03-20 Thursday 17:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/C_Polyhedron.defs.hh (1.54): Comment corrected.
+
+2008-03-20 Thursday 16:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron_public.cc (1.111), Polyhedron_widenings.cc
+	  (1.66): Avoid using deprecated methods.
+
+2008-03-20 Thursday 15:37  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh (1.99): Avoid using deprecated methods;
+	  while at it, slightly simplified a few lines.
+
+2008-03-20 Thursday 15:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Pointset_Powerset.templates.hh (1.29), Pointset_Powerset.cc
+	  (1.17), Grid_public.cc (1.68): Avoid using deprecated method.
+
+2008-03-20 Thursday 15:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: C/ppl_interface_generator_c_cc_code.m4 (1.31),
+	  C/ppl_interface_generator_c_h_code.m4 (1.21),
+	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.48), Java/tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.28), OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.30),
+	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.25),
+	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.19): Added the
+	  code for the refine_with methods to the C, Java and Ocaml
+	  interfaces.  All the refine_with methods in all the interfaces
+	  enabled.
+
+2008-03-20 Thursday 15:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh (1.332), BD_Shape.defs.hh (1.118),
+	  Pointset_Powerset.defs.hh (1.34), Grid.defs.hh (1.66):
+	  Documentation of the eager versions of some methods now states
+	  that their usage is deprecated (linking to the manual for an
+	  explanation).
+
+2008-03-20 Thursday 14:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.208): In the section of the manual
+	  discussing lazy and eager version of some of the operators, added
+	  a paragraph stressing that the use of the eager versions is
+	  deprecated starting from PPL 0.10 and will be removed starting
+	  from PPL 0.11.
+
+2008-03-20 Thursday 12:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.71),
+	  ppl_interface_generator_common_procedure_generators.m4 (1.18),
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.65): Added
+	  code in the Prolog interface for the refine_with methods.
+
+2008-03-20 Thursday 10:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Partially_Reduced_Product.defs.hh (1.24),
+	  src/Partially_Reduced_Product.inlines.hh (1.22),
+	  tests/Grid/partiallyreducedproduct4.cc (1.3): Added refine_with
+	  methods to the product domains.
+
+2008-03-20 Thursday 09:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Pointset_Powerset.defs.hh (1.33),
+	  src/Pointset_Powerset.templates.hh (1.28),
+	  tests/Polyhedron/pointsetpowerset5.cc (1.3): Added
+	  refine_with_congruence() and	refine_with_congruences().  Tests
+	  added for all the refine_with methods for pointset powersets of
+	  polyhedra.
+
+2008-03-19 Wednesday 14:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/:
+	  ppl_interface_generator_common_procedure_generators.m4 (1.17),
+	  Prolog/tests/pl_grid_check.pl (1.10): Disabled the and_minimize
+	  methods for all domains except for the Polyhedron domains.
+	  Removed all tests for the and_minimize methods from
+	  Prolog/tests/pl_grid_check.pl.
+
+2008-03-19 Wednesday 14:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Polyhedron.defs.hh (1.331), src/Polyhedron_public.cc (1.110),
+	  tests/Polyhedron/Makefile.am (1.120),
+	  tests/Polyhedron/exceptions1.cc (1.16),
+	  tests/Polyhedron/refinewithcongruence1.cc (1.1),
+	  tests/Polyhedron/refinewithcongruences1.cc (1.1),
+	  tests/Polyhedron/refinewithconstraint1.cc (1.1),
+	  tests/Polyhedron/refinewithconstraints1.cc (1.1): Added
+	  refine_with methods for constraint(s) and congruence(s).
+
+2008-03-19 Wednesday 14:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/refinewithcongruence1.cc (simplex.1): file
+	  refinewithcongruence1.cc was added on branch simplex on
+	  2008-06-06 14:22:13 +0000
+
+2008-03-19 Wednesday 14:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/refinewithcongruences1.cc (simplex.1): file
+	  refinewithcongruences1.cc was added on branch simplex on
+	  2008-06-06 14:22:13 +0000
+
+2008-03-19 Wednesday 14:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/refinewithconstraint1.cc (simplex.1): file
+	  refinewithconstraint1.cc was added on branch simplex on
+	  2008-06-06 14:22:13 +0000
+
+2008-03-19 Wednesday 14:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/refinewithconstraints1.cc (simplex.1): file
+	  refinewithconstraints1.cc was added on branch simplex on
+	  2008-06-06 14:22:13 +0000
+
+2008-03-19 Wednesday 08:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (1.241): Revised the geometric descriptors draft
+	  documentation for the add and refine_with methods for constraints
+	  and congruences.
+
+2008-03-19 Wednesday 08:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Box/refinewithconstraints1.cc (1.3): tests 08 and 09 fail
+	  with checked-int8
+
+2008-03-19 Wednesday 08:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/refinewithconstraints1.cc (simplex.1): file
+	  refinewithconstraints1.cc was added on branch simplex on
+	  2008-06-06 14:22:10 +0000
+
+2008-03-19 Wednesday 07:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid_public.cc (1.67): Restored implementation of
+	  add_constraints().
+
+2008-03-18 Tuesday 22:39  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid.defs.hh (1.65), src/Grid.inlines.hh (1.23),
+	  src/Grid_public.cc (1.66), tests/Grid/Makefile.am (1.61),
+	  tests/Grid/congruences1.cc (1.14),
+	  tests/Grid/refinewithcongruences1.cc (1.1),
+	  tests/Grid/refinewithconstraints1.cc (1.1): Added methods
+	  refine_with_congruence(),  refine_with_congruences(),
+	  refine_with_constraint(),  refine_with_constraints().
+
+	  Removed some old redundant (commented out) tests in
+	  tests/Grid/congruences1.cc
+
+2008-03-18 Tuesday 22:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/refinewithcongruences1.cc (simplex.1): file
+	  refinewithcongruences1.cc was added on branch simplex on
+	  2008-06-06 14:22:11 +0000
+
+2008-03-18 Tuesday 22:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/refinewithconstraints1.cc (simplex.1): file
+	  refinewithconstraints1.cc was added on branch simplex on
+	  2008-06-06 14:22:11 +0000
+
+2008-03-18 Tuesday 20:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.28), Watchdog/ChangeLog (1.17): Updated.
+
+2008-03-18 Tuesday 20:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Box.inlines.hh (1.29), tests/Box/Makefile.am (1.57): Restored
+	  code revoved in error.  Restored congruences1 test.
+
+2008-03-18 Tuesday 20:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Powerset.defs.hh (1.32): Two FIXMEs resolved.
+
+2008-03-18 Tuesday 20:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Pointset_Powerset.defs.hh (1.31),
+	  Pointset_Powerset.templates.hh (1.27): Methods
+	  Pointset_Powerset<PS>::refine(const Constraint&) and
+	  Pointset_Powerset<PS>::refine(const Constraint_System&) renamed
+	  Pointset_Powerset<PS>::refine_with_constraint(const Constraint&)
+	  and Pointset_Powerset<PS>::refine_with_constraints(const
+	  Constraint_System&), respectively.
+
+2008-03-18 Tuesday 20:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/Makefile.am (1.56): Disabled test program congruences1.
+
+2008-03-18 Tuesday 20:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/membytes1.cc (1.7): Invoke refine_with_constraint()
+	  instead of the no longer existing refine().
+
+2008-03-18 Tuesday 18:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.defs.hh (1.49), src/Box.inlines.hh (1.28),
+	  tests/Box/Makefile.am (1.55), tests/Box/refine1.cc (1.13),
+	  tests/Box/refine2.cc (1.13), tests/Box/refine3.cc (1.6),
+	  tests/Box/refinewithconstraint1.cc (1.1),
+	  tests/Box/refinewithconstraint2.cc (1.1),
+	  tests/Box/refinewithconstraints1.cc (1.2),
+	  tests/Box/refinewithconstraints2.cc (1.1): Duplicate code
+	  avoided.  Fixed some comments.  Test programs reorganized.
+
+2008-03-18 Tuesday 18:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/refinewithconstraint1.cc (simplex.1): file
+	  refinewithconstraint1.cc was added on branch simplex on
+	  2008-06-06 14:22:10 +0000
+
+2008-03-18 Tuesday 18:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/refinewithconstraint2.cc (simplex.1): file
+	  refinewithconstraint2.cc was added on branch simplex on
+	  2008-06-06 14:22:10 +0000
+
+2008-03-18 Tuesday 18:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/refinewithconstraints2.cc (simplex.1): file
+	  refinewithconstraints2.cc was added on branch simplex on
+	  2008-06-06 14:22:10 +0000
+
+2008-03-18 Tuesday 14:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Box.defs.hh (1.48), src/Box.inlines.hh (1.27),
+	  src/Box.templates.hh (1.107), tests/Box/Makefile.am (1.54),
+	  tests/Box/refinewithcongruences1.cc (1.1),
+	  tests/Box/refinewithconstraints1.cc (1.1): Added
+	  refine_with_constraint(),  refine_with_constraints(),
+	  refine_with_congruence(),  refine_with_congruences() methods to
+	  the Box domain.
+
+2008-03-18 Tuesday 14:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/refinewithcongruences1.cc (simplex.1): file
+	  refinewithcongruences1.cc was added on branch simplex on
+	  2008-06-06 14:22:10 +0000
+
+2008-03-18 Tuesday 14:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (1.240): All the method names in the temporary documentation
+	  now preceded by the \p for use in doxygen code.  Also, all code
+	  here has been enclosed in the \code \endcode environment.
+
+2008-03-18 Tuesday 14:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/BD_Shape.defs.hh (1.117), src/BD_Shape.inlines.hh (1.159),
+	  src/Octagonal_Shape.defs.hh (1.43),
+	  src/Octagonal_Shape.inlines.hh (1.31),
+	  src/Octagonal_Shape.templates.hh (1.72),
+	  tests/BD_Shape/congruences1.cc (1.4),
+	  tests/BD_Shape/constraints1.cc (1.24),
+	  tests/Octagonal_Shape/congruences1.cc (1.3),
+	  tests/Octagonal_Shape/constraints1.cc (1.7): Removed the
+	  and_minimize versions of the new refine_with methods.
+
+2008-03-18 Tuesday 14:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/congruences1.cc (simplex.1): file congruences1.cc
+	  was added on branch simplex on 2008-06-06 14:22:09 +0000
+
+2008-03-18 Tuesday 13:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (1.239): Completed what I can of the documentation for the
+	  geometric descriptors.
+
+2008-03-18 Tuesday 12:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (1.238): Added to the draft documentation on geometric
+	  descrptors.
+
+2008-03-18 Tuesday 10:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/BD_Shape.defs.hh (1.116), src/BD_Shape.inlines.hh (1.158),
+	  src/BD_Shape.templates.hh (1.98), src/Octagonal_Shape.defs.hh
+	  (1.42), src/Octagonal_Shape.inlines.hh (1.30),
+	  src/Octagonal_Shape.templates.hh (1.71),
+	  tests/BD_Shape/congruences1.cc (1.3),
+	  tests/BD_Shape/constraints1.cc (1.23),
+	  tests/Octagonal_Shape/congruences1.cc (1.2),
+	  tests/Octagonal_Shape/constraints1.cc (1.6): Added
+	  refine_with_[constraint GD] both with and without "and_minimize".
+	  A few tests added.  Small corrections to documentation for the
+	  add_[constraint GD] methods.
+
+2008-03-14 Friday 09:20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/generalizedaffinepreimage1.cc (1.16): test07 definitely
+	  fails when using 8-bit coefficients and checking assertions.
+
+2008-03-14 Friday 09:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/ppl_test.hh (1.76): Added macros
+	  DO_TEST_F<size><assertions>_MAY_OVERFLOW_IF_INEXACT for all
+	  possible bounded coefficient types.
+
+2008-03-14 Friday 08:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: ppl_test.hh (1.75), BD_Shape/max_min2.cc (1.12): Modified
+	  the check_result helper function so as to take as input two
+	  _checked_ mpq_class numbers, rather than bare mpq_class. Adapted
+	  test10 of max_min2.cc accordingly.
+
+2008-03-11 Tuesday 08:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.237): Added a note on upward and downward approximations.
+
+2008-03-10 Monday 15:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/max_min2.cc (1.11): Corrected silly initialization
+	  error of an mpq_class object from bounded numerator and
+	  denumrators.
+
+2008-03-10 Monday 12:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/max_min2.cc (1.10): test10 modified so as to check
+	  its result using helper functions computing distances, thereby
+	  allowing for approximations.
+
+2008-03-10 Monday 12:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/ppl_test.hh (1.74): Added overloading for helper function
+	  check_result that allows for computing the rectilinear distance
+	  between two mpq_class numbers.
+
+2008-03-10 Monday 12:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.236): Started drafting a text that, properly elaborated,
+	  should constitute the "philosophy" of our user interfaces.
+
+2008-03-10 Monday 11:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/ppl_test.hh (1.73): Added overloading for function
+	  check_result to compute and check distances between a pair of
+	  (closure) points.
+
+2008-03-10 Monday 11:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Generator.defs.hh (1.126), Generator.inlines.hh (1.64):
+	  Added functions to compute the (rectilinear, euclidean or
+	  l-infinify) distance between a pair of (closure) points.
+
+2008-03-10 Monday 07:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Octagonal_Shape.inlines.hh (1.29): Corrected a couple of
+	  comments.
+
+	  When building from a congruence system, for a non-zero dimension
+	  universe octagon, first set the stongly closed flag (as is
+	  already done for building from other systems).
+
+2008-03-09 Sunday 23:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh (1.106): Braces added to avoid ambiguous
+	  `else'.
+
+2008-03-08 Saturday 11:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.32), Watchdog/ltmain.sh (1.21),
+	  Watchdog/m4/libtool.m4 (1.3), Watchdog/m4/ltversion.m4 (1.2),
+	  m4/libtool.m4 (1.3), m4/ltversion.m4 (1.2): Updated from Libtool
+	  2.3a.
+
+2008-03-07 Friday 22:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Octagonal_Shape/max_min2.cc (1.7): The bug shown by test07
+	  is now corrected.
+
+2008-03-07 Friday 21:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/max_min2.cc (1.9): The bug shown by test10 is now
+	  corrected.
+
+2008-03-07 Friday 21:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.templates.hh (1.97), MIP_Problem.cc (1.66):
+	  Corrected a bug in the evaluation of objective function whereby a
+	  wrong result could have been obtained if the objective function
+	  had a non-zero inhomogeneous term and the evaluating point was
+	  non-integral.
+
+2008-03-07 Friday 16:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/: BD_Shape/max_min2.cc (1.8), Octagonal_Shape/max_min2.cc
+	  (1.6): test07 in Octagonal_Shape/max_min2.cc and test10 in
+	  BD_Shape/max_min2.cc show a bug in having an inhomogeneous term
+	  in the linear expression for maximize() and minimize() when the
+	  denominator is different from 1.
+
+2008-03-07 Friday 11:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/BD_Shape.templates.hh (1.96),
+	  src/Octagonal_Shape.templates.hh (1.70),
+	  tests/BD_Shape/relations3.cc (1.31), tests/BD_Shape/relations4.cc
+	  (1.13), tests/Octagonal_Shape/relatwithcons3.cc (1.3): Improved
+	  the code again for the relations_with() for constraints for both
+	  the Octagons and BD_Shapes. Tests also improved.
+
+	  The BD_Shape relation_with() for congruences now uses the
+	  relation_with() for constraints instead of the temporary
+	  implementation that converted to polyhedra to compute the
+	  relations.
+
+2008-03-07 Friday 11:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/relatwithcons3.cc (simplex.1): file
+	  relatwithcons3.cc was added on branch simplex on 2008-06-06
+	  14:22:12 +0000
+
+2008-03-07 Friday 09:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Octagonal_Shape/relatwithcons3.cc (1.2),
+	  src/Octagonal_Shape.templates.hh (1.69): Revised relation_with()
+	  for a congruence so as to use the relation_with() for a
+	  constraint instead of the temporary implementation which was
+	  coverting the octagon to a polyhedron and using the method there.
+
+	  Fixed a bug in relation_with() for a (non-octagonal) constraint
+	  due to the inclusion of the inhomogeneous term in the linear
+	  expression when calling maximize() and minimize().
+
+2008-03-07 Friday 07:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/relations3.cc (simplex.1): file relations3.cc was added
+	  on branch simplex on 2008-06-06 14:22:10 +0000
+
+2008-03-07 Friday 07:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Box.templates.hh (1.105), tests/Box/relations3.cc (1.5):
+	  Redone the previous correction for the interval_relation() when
+	  the relation symbol is an equality as it did not correct the case
+	  when the interval was fully bounded.	A further test added for
+	  bounded intervals and equality.
+
+2008-03-06 Thursday 22:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Box.templates.hh (1.104), tests/Box/relations3.cc (1.4):
+	  Fixed a bug in the interval_relation() when the relation is an
+	  equality. Test added that showed this bug.
+
+2008-03-06 Thursday 16:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Octagonal_Shape.defs.hh (1.41),
+	  src/Octagonal_Shape.templates.hh (1.68),
+	  tests/BD_Shape/relations4.cc (1.12),
+	  tests/Octagonal_Shape/Makefile.am (1.25),
+	  tests/Octagonal_Shape/relatwithcons3.cc (1.1): In the Octagon
+	  domain, the relation_with() for a constraint now finds the
+	  relation with a non-octagonal difference constraint.
+
+	  Comment in Octagonal.defs.hh for relation_with() wrt this
+	  updated.
+
+	  Tests add to test this change.
+
+	  All tabs replaced by spaces in Octagonal.defs.hh and
+	  Octagonal_Shape.templates.hh
+
+	  The (if noisy) generated output in tests/BD_Shape/relations4.cc
+	  corrected.
+
+2008-03-06 Thursday 15:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: BD_Shape.defs.hh (1.115), BD_Shape.templates.hh (1.95):
+	  Removed/replaced all tabs.
+
+2008-03-06 Thursday 14:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/BD_Shape.templates.hh (1.94): Two comment lines added.
+
+2008-03-06 Thursday 13:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/BD_Shape.defs.hh (1.114), src/BD_Shape.templates.hh (1.93),
+	  tests/BD_Shape/Makefile.am (1.72), tests/BD_Shape/relations2.cc
+	  (1.25), tests/BD_Shape/relations3.cc (1.30),
+	  tests/BD_Shape/relations4.cc (1.11): relation_with() for a
+	  constraint can now handle any constraint even if it is not a
+	  bounded difference.
+
+	  Comment in BD_Shape.defs.hh for this method updated.
+
+	  Tests added to check this (and existing tests to check exceptions
+	  revised).
+
+2008-03-06 Thursday 08:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_procedure_generators.m4
+	  (1.16): Enabled intersection_assign_and_minimize for all the Box
+	  domains, powersets with a Box domain as a disjunct and products
+	  with a Box domain as a component.
+
+2008-03-06 Thursday 08:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_procedure_generators.m4
+	  (1.15): In all the interfaces, the bounded_affine_image,
+	  generalized_affine_image, generalized_affine_image_lhs_rhs
+	  procedures are enabled now for: all the Box domains, powersets
+	  with a Box domain as its disjunct and products with a Box domain
+	  as a component.
+
+2008-03-05 Wednesday 22:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.304), Watchdog/configure.ac (1.44): Use the new
+	  style macro to initialize Libtool.
+
+2008-03-05 Wednesday 21:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.31), Watchdog/ltmain.sh (1.20),
+	  Watchdog/m4/libtool.m4 (1.2), m4/libtool.m4 (1.2): Updated to the
+	  CVS HEAD version of Libtool: this seems to solve the problems we
+	  experienced since the switch to Libtool 2.2.
+
+2008-03-03 Monday 13:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Box.defs.hh (1.47), src/Box.inlines.hh (1.26),
+	  tests/Box/intersection1.cc (1.9): Added method
+	  intersection_assign_and_minimize() needed for uniformity with
+	  other domains in the PPL.
+
+2008-03-03 Monday 08:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Box.templates.hh (1.103), tests/Box/boundedaffineimage1.cc
+	  (1.16), tests/Box/generalizedaffineimage1.cc (1.15),
+	  tests/Box/generalizedaffineimage2.cc (1.5): Corrected two bugs,
+	  one in bounded_affine_image() when setting an interval to be
+	  unbounded caused an exception to be thrown and the other in
+	  generalized_affine_image/4 where the bounds were set when they
+	  should have been left unbounded.
+
+	  The first bug was illustrated by the extra test17 in
+	  boundedaffineimage1.cc
+
+	  The second bug by a modified form of test04 in
+	  generalizedaffineimage2.cc (previously the test did not test
+	  anything that is not tested elsewhere).
+
+	  Some tests in generalizedaffineimage1.cc used constraints that
+	  were not non-relational. Corrected.
+
+2008-03-03 Monday 08:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/generalizedaffineimage2.cc (simplex.1): file
+	  generalizedaffineimage2.cc was added on branch simplex on
+	  2008-06-06 14:22:10 +0000
+
+2008-03-02 Sunday 23:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ltsugar.m4 (simplex.1): file ltsugar.m4 was added on branch
+	  simplex on 2008-06-06 14:22:04 +0000
+
+2008-03-02 Sunday 23:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/m4/ltsugar.m4 (simplex.1): file ltsugar.m4 was added on
+	  branch simplex on 2008-06-06 14:21:55 +0000
+
+2008-03-02 Sunday 23:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.41), ltmain.sh (1.30), Watchdog/config.guess
+	  (1.25), Watchdog/ltmain.sh (1.19), Watchdog/m4/libtool.m4 (1.1),
+	  Watchdog/m4/ltoptions.m4 (1.1), Watchdog/m4/ltsugar.m4 (1.1),
+	  Watchdog/m4/ltversion.m4 (1.1), Watchdog/m4/lt~obsolete.m4 (1.1),
+	  m4/libtool.m4 (1.1), m4/ltoptions.m4 (1.1), m4/ltsugar.m4 (1.1),
+	  m4/ltversion.m4 (1.1), m4/lt~obsolete.m4 (1.1): Switched to
+	  Libtool 2.2.
+
+2008-03-02 Sunday 09:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: ppl_test.hh (1.72), Box/generalizedaffinepreimage1.cc
+	  (1.15): A couple of the test (11 and 15):  - definitely overflow
+	  when using 8 bit integers;  - may overflow when using bigger
+	  bounded integers and inexact intervals    boundary types.  Added
+	  new macro DO_TEST_F8_MAY_OVERFLOW_IF_INEXACT to deal with these
+	  cases ... this is a tentative approach, have to decide if it is
+	  the way to go.
+
+2008-03-02 Sunday 08:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/ppl_test.hh (1.71): Added a couple of using declaration for
+	  the IO_Operators namespace.
+
+2008-03-01 Saturday 23:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/: boundedaffineimage1.cc (1.15),
+	  boundedaffinepreimage1.cc (1.8), generalizedaffinepreimage1.cc
+	  (1.14): A few tests may overflow if bounded integers coefficients
+	  *and* inexact interval boundary types are used together.
+
+2008-03-01 Saturday 23:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/boundedaffinepreimage1.cc (simplex.1): file
+	  boundedaffinepreimage1.cc was added on branch simplex on
+	  2008-06-06 14:22:10 +0000
+
+2008-03-01 Saturday 21:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/generalizedaffinepreimage1.cc (1.13): One of the
+	  previous changes reverted: test 7 needs an NNC polyhedron when
+	  checking for the known result.
+
+2008-03-01 Saturday 19:37  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/generalizedaffinepreimage1.cc (1.12): Test 7 overflows
+	  when using 8 bit integers with assertions turned on; tests 11 and
+	  15 overflow with 8 bit integers independently from assertions.
+
+2008-03-01 Saturday 19:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/boundedaffineimage1.cc (1.14): Tests 9 and 10 always
+	  succeed.
+
+2008-03-01 Saturday 16:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (1.102): Fixed several issues in method
+	  bounded_affine_preimage that were preventing compilation when
+	  using bounded coefficient types; also corrected several
+	  efficiency bugs.
+
+2008-03-01 Saturday 15:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/generalizedaffinepreimage1.cc (1.11): Fixed a bunch of
+	  known results by computing distances or requiring comparison with
+	  an NNC polyhedron if the exact boundaries are open.
+
+2008-03-01 Saturday 14:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.templates.hh (1.17): Modified implementation of
+	  templatic constructor taking a Box: open bounds are now
+	  approximated using topologically closed halfspaces if the
+	  polyhedron being built is necessarily closed.
+
+2008-03-01 Saturday 14:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/boundedaffinepreimage1.cc (1.7): In test09() a
+	  C_Polyhedron is enough to check the result obtained.
+
+2008-03-01 Saturday 13:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ppl_test.hh (1.70): Improved check_result() functions.
+
+2008-03-01 Saturday 09:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/generalizedaffinepreimage1.cc (1.10): Indentation
+	  fixed.
+
+2008-03-01 Saturday 09:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/boundedaffinepreimage1.cc (1.6): Temporarily patched
+	  test09();  FIXME added.
+
+2008-03-01 Saturday 08:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/boundedaffinepreimage1.cc (1.5): Indentation fixed.
+	  Please do insert the lines
+
+	  ;; Do not use tabs for indentation.  (setq-default
+	  indent-tabs-mode nil)
+
+	  into your .emacs file.
+
+2008-03-01 Saturday 08:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Box/boundedaffinepreimage1.cc (1.4): Revised check_result
+	  expected results for test12.
+
+2008-02-29 Friday 23:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Box/boundedaffinepreimage1.cc (1.3): Corrected title line
+	  of file.
+
+2008-02-29 Friday 22:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/: addspacedims1.cc (1.5),
+	  affinepreimage1.cc (1.7), affinepreimage2.cc (1.5),
+	  boundedaffineimage1.cc (1.12), boundedaffinepreimage1.cc (1.6),
+	  cc76extrapolation1.cc (1.7), expandspacedim1.cc (1.7),
+	  frompolyhedron1.cc (1.6), generalizedaffineimage1.cc (1.6),
+	  generalizedaffineimage2.cc (1.6), generalizedaffineimage3.cc
+	  (1.11), generalizedaffineimage4.cc (1.6),
+	  generalizedaffineimage5.cc (1.6), generalizedaffinepreimage1.cc
+	  (1.7), generalizedaffinepreimage2.cc (1.11),
+	  generalizedaffinepreimage3.cc (1.7),
+	  generalizedaffinepreimage4.cc (1.6),
+	  limitedbhmz05extrapolation1.cc (1.7),
+	  limitedcc76extrapolation1.cc (1.7), membytes1.cc (1.6),
+	  minconstraints1.cc (1.6), relatwithgen1.cc (1.10): Untabified.
+
+2008-02-29 Friday 22:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/congruences1.cc (1.2): This was ripped from the
+	  Octagonal_Shape directory without even renaming variables or
+	  adapting comments: fixed.
+
+2008-02-29 Friday 22:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: ppl_test.hh (1.69), BD_Shape/addconstraints1.cc (1.22),
+	  BD_Shape/addspacedims1.cc (1.19), BD_Shape/affineimage1.cc
+	  (1.23), BD_Shape/affineimage2.cc (1.16),
+	  BD_Shape/affinepreimage1.cc (1.24), BD_Shape/bdsdifference1.cc
+	  (1.18), BD_Shape/bdshull1.cc (1.19), BD_Shape/bhmz05widening1.cc
+	  (1.18), BD_Shape/boundedaffineimage1.cc (1.7),
+	  BD_Shape/boundedaffinepreimage1.cc (1.7),
+	  BD_Shape/cc76extrapolation1.cc (1.23), BD_Shape/cc76narrowing1.cc
+	  (1.21), BD_Shape/concatenate1.cc (1.17), BD_Shape/constraints1.cc
+	  (1.22), BD_Shape/expandspacedim1.cc (1.7),
+	  BD_Shape/foldspacedims1.cc (1.9), BD_Shape/fromgensys1.cc (1.18),
+	  BD_Shape/generalizedaffineimage1.cc (1.21),
+	  BD_Shape/generalizedaffineimage2.cc (1.25),
+	  BD_Shape/generalizedaffinepreimage1.cc (1.19),
+	  BD_Shape/generalizedaffinepreimage2.cc (1.20),
+	  BD_Shape/generalizedaffinepreimage3.cc (1.10),
+	  BD_Shape/h79widening1.cc (1.16), BD_Shape/intersection1.cc
+	  (1.21), BD_Shape/limitedbhmz05extrapolation1.cc (1.19),
+	  BD_Shape/limitedcc76extrapolation1.cc (1.20),
+	  BD_Shape/limitedh79extrapolation1.cc (1.17),
+	  BD_Shape/mapspacedims1.cc (1.19), BD_Shape/minconstraints1.cc
+	  (1.15), BD_Shape/removespacedims1.cc (1.24),
+	  BD_Shape/timeelapse1.cc (1.25): Always use the check_result()
+	  functions to check computed results against the known ones.
+
+2008-02-29 Friday 22:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/: addconstraints1.cc (1.21), addspacedims1.cc
+	  (1.18), affinedimension1.cc (1.14), affineimage1.cc (1.22),
+	  affineimage2.cc (1.15), ascii_dump_load1.cc (1.18), bounded1.cc
+	  (1.5), boundedaffinepreimage1.cc (1.6), boundingbox1.cc (1.3),
+	  cc76extrapolation1.cc (1.22), closure1.cc (1.23),
+	  containsintegerpoint1.cc (1.5), discrete1.cc (1.5),
+	  fromgensys1.cc (1.17), fromgrid1.cc (1.4), fromoctagonalshape1.cc
+	  (1.3), fromspacedim1.cc (1.4), generalizedaffineimage1.cc (1.20),
+	  generalizedaffineimage2.cc (1.24), generalizedaffinepreimage1.cc
+	  (1.18), generalizedaffinepreimage2.cc (1.19),
+	  generalizedaffinepreimage3.cc (1.9),
+	  limitedbhmz05extrapolation1.cc (1.18),
+	  limitedcc76extrapolation1.cc (1.19), mapspacedims1.cc (1.18),
+	  max_min1.cc (1.5), max_min2.cc (1.7), membytes1.cc (1.6),
+	  minconstraints1.cc (1.14), relations1.cc (1.20), relations2.cc
+	  (1.24), relations3.cc (1.29), removespacedims1.cc (1.23),
+	  timeelapse1.cc (1.24), universe1.cc (1.17), writebdshape1.cc
+	  (1.13): More variables renamed.
+
+2008-02-29 Friday 21:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/: h79widening1.cc (1.15), intersection1.cc (1.20),
+	  limitedbhmz05extrapolation1.cc (1.17),
+	  limitedcc76extrapolation1.cc (1.18), limitedh79extrapolation1.cc
+	  (1.16), mapspacedims1.cc (1.17), timeelapse1.cc (1.23),
+	  writebdshape1.cc (1.12): Variable renaming completed.
+
+2008-02-29 Friday 16:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Box/boundedaffinepreimage1.cc (1.2): In test03, result
+	  checked using check_result.
+
+2008-02-29 Friday 15:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Box.templates.hh (1.101), tests/Box/Makefile.am (1.53),
+	  tests/Box/boundedaffinepreimage1.cc (1.1),
+	  tests/Box/generalizedaffinepreimage1.cc (1.9): Added code for
+	  generalized_affine_preimage (both versions) and
+	  bounded_affine_preimage.  Minor improvement to
+	  bounded_affine_image where we add the constraint that the lower
+	  bound expression must be less than the upper bound expression (or
+	  vice versa if the denominator is negative).
+
+	  Some tests added or revised.
+
+2008-02-29 Friday 11:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/boundedaffineimage1.cc (1.13): test09() and test10()
+	  provoke an overflow only with assertions enabled.
+
+2008-02-29 Friday 09:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/: addspacedims1.cc (1.8), boundedaffineimage1.cc
+	  (1.12), closure1.cc (1.6), expandspacedim1.cc (1.9),
+	  frompolyhedron1.cc (1.13), generalizedaffineimage1.cc (1.14),
+	  generalizedaffineimage2.cc (1.4), generalizedaffinepreimage1.cc
+	  (1.8), interval1.cc (1.6), interval2.cc (1.6), minconstraints1.cc
+	  (1.7), refine2.cc (1.12), refine3.cc (1.5), removespacedims1.cc
+	  (1.10), timeelapse1.cc (1.9): Untabified.
+
+2008-02-29 Friday 09:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/refine2.cc (1.11): Adapted test02() to the new dump
+	  format.
+
+2008-02-29 Friday 09:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh (1.100): Spurious separator avoided in
+	  ascii_dump().
+
+2008-02-29 Friday 09:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/: addconstraints1.cc (1.20), addspacedims1.cc
+	  (1.17), affineimage1.cc (1.21), affinepreimage1.cc (1.23),
+	  ascii_dump_load1.cc (1.17), bdsdifference1.cc (1.17), bdshull1.cc
+	  (1.18), bhmz05widening1.cc (1.17), boundedaffineimage1.cc (1.6),
+	  boundedaffinepreimage1.cc (1.5), bounds1.cc (1.5),
+	  cc76extrapolation1.cc (1.21), cc76narrowing1.cc (1.20),
+	  closure1.cc (1.22), concatenate1.cc (1.16), constraints1.cc
+	  (1.21), contains1.cc (1.17), disjoint1.cc (1.8), empty1.cc
+	  (1.13), equality1.cc (1.18), expandspacedim1.cc (1.6),
+	  foldspacedims1.cc (1.8), frompolyhedron1.cc (1.7),
+	  generalizedaffineimage1.cc (1.19), generalizedaffineimage2.cc
+	  (1.23), generalizedaffinepreimage1.cc (1.17),
+	  generalizedaffinepreimage2.cc (1.18),
+	  generalizedaffinepreimage3.cc (1.8), geomcovers1.cc (1.12),
+	  limitedbhmz05extrapolation1.cc (1.16),
+	  limitedcc76extrapolation1.cc (1.17), membytes1.cc (1.5),
+	  minconstraints1.cc (1.13), removespacedims1.cc (1.22),
+	  timeelapse1.cc (1.22): A first go at naming variables properly.
+
+2008-02-29 Friday 07:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/: generalizedaffineimage1.cc (1.13),
+	  generalizedaffineimage2.cc (1.3): Always the check_result()
+	  function to check results.
+
+2008-02-29 Friday 07:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/boundedaffineimage1.cc (1.11): test09() and test10()
+	  cause overflows with 32-bit or narrower coefficients.
+
+2008-02-28 Thursday 23:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/: addconstraints1.cc (1.12), addspacedims1.cc (1.7),
+	  affineimage1.cc (1.10), affinepreimage1.cc (1.7),
+	  boundedaffineimage1.cc (1.10), boxdifference1.cc (1.8),
+	  boxhull1.cc (1.7), cc76narrowing1.cc (1.7), cc76widening.cc
+	  (1.8), concatenate1.cc (1.8), congruences1.cc (1.3),
+	  constraints1.cc (1.11), frombdshape1.cc (1.4), fromgensys1.cc
+	  (1.6), generalizedaffineimage1.cc (1.12),
+	  generalizedaffineimage2.cc (1.2), generalizedaffinepreimage1.cc
+	  (1.7), intersection1.cc (1.8), mapspacedims1.cc (1.7), refine1.cc
+	  (1.12), refine3.cc (1.4), removespacedims1.cc (1.9),
+	  timeelapse1.cc (1.8): Always use check_result() to check for
+	  correctness of the results.
+
+2008-02-28 Thursday 22:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/: bdsdifference1.cc (1.7), boxhull.cc (1.6): Unwanted
+	  file removed.
+
+2008-02-28 Thursday 22:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/timeelapse1.cc (1.7): Comments fixed.
+
+2008-02-28 Thursday 22:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/: addconstraints1.cc (1.11), addspacedims1.cc (1.6),
+	  affineimage1.cc (1.9), affinepreimage1.cc (1.6),
+	  expandspacedim1.cc (1.8), foldspacedims1.cc (1.9), geomcovers1.cc
+	  (1.6), mapspacedims1.cc (1.6), removespacedims1.cc (1.8): Do not
+	  name something `box1' if there is no `box2' in sight.
+
+2008-02-28 Thursday 21:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh (1.99): All other things being equal, always
+	  prefer preincrement and predecrement to postincrement and
+	  postdecrement.
+
+2008-02-28 Thursday 21:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Partially_Reduced_Product.defs.hh (1.23): Spurious semicolon
+	  removed.
+
+2008-02-28 Thursday 21:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.defs.hh (1.46), Box.templates.hh (1.98): Meaningless
+	  type qualifiers removed.
+
+2008-02-28 Thursday 21:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.defs.hh (1.45): Indentation fixed.  Spurious semicolon
+	  and useless namespace enclosure removed.
+
+2008-02-28 Thursday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.defs.hh (1.44), Box.inlines.hh (1.25), Box.templates.hh
+	  (1.97), Box_Status.idefs.hh (1.2), Box_Status.inlines.hh (1.2):
+	  The Box class now uses (badly) the new Status member instead of
+	  the old two booleans.
+
+2008-02-28 Thursday 17:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (1.96): Initialize a local variable in
+	  generalized_affine_image so as to avoid an annoying warning.
+
+2008-02-28 Thursday 17:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/generalizedaffineimage1.cc (1.11): Avoid long lines.
+
+2008-02-28 Thursday 17:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/boundedaffineimage1.cc (1.9): Corrected known result
+	  for test03: no approximation is needed in this case.	Computed
+	  distances between known and computed result for test10.
+
+2008-02-28 Thursday 17:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (1.95): Fixed an error in
+	  l_m_distance_assign.
+
+2008-02-28 Thursday 15:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/: boundedaffineimage1.cc (1.8),
+	  generalizedaffineimage1.cc (1.10): Expected results revised.
+	  Notive that test10() in boundedaffineimage1.cc shows there is a
+	  bug in check_result().
+
+2008-02-28 Thursday 14:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref.doxyconf-html.in (1.86), devref.doxyconf-latex.in
+	  (1.25): Mention input files math_utilities.*.
+
+2008-02-28 Thursday 14:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: globals.cc (1.33), math_utilities.inlines.hh (1.2):
+	  Implementation of function is_canonical() is now inlines and in a
+	  proper place.
+
+2008-02-28 Thursday 14:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/math_utilities.inlines.hh (simplex.1): file
+	  math_utilities.inlines.hh was added on branch simplex on
+	  2008-06-06 14:22:05 +0000
+
+2008-02-28 Thursday 11:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.207): Reference CC79 added.
+
+2008-02-28 Thursday 10:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Box/: boundedaffineimage1.cc (1.7),
+	  generalizedaffineimage1.cc (1.9): Revised expected results to
+	  allow for inexact computations.
+
+2008-02-28 Thursday 10:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Any_Pointset.defs.hh (1.18): Minor typo corrected in docs.
+
+2008-02-28 Thursday 10:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh (1.67): Indentation fixed.
+
+2008-02-25 Monday 11:37  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Box.templates.hh (1.94), src/Polyhedron_public.cc (1.109),
+	  tests/Box/Makefile.am (1.52),
+	  tests/Box/generalizedaffineimage1.cc (1.8),
+	  tests/Box/generalizedaffineimage2.cc (1.1): Added implementation
+	  for generalized_affine_image/3 Tests added and existing tests
+	  revised.
+
+	  Indentation corrected in src/Polyhedron_public.cc.
+
+2008-02-22 Friday 23:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Polyhedron_public.cc (1.108),
+	  tests/Polyhedron/boundedaffineimage1.cc (1.14): Fixed bug
+	  indicated in previous commit.  Added two further tests to
+	  tests/Polyhedron/boundedaffineimage1.cc to cover more cases of
+	  positive and negative denominator.
+
+2008-02-22 Friday 13:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Box.templates.hh (1.93): Use temporaries more in the
+	  bounded_affine_image/4 code..
+
+2008-02-22 Friday 12:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Box.templates.hh (1.92), tests/Box/Makefile.am (1.51),
+	  tests/Box/boundedaffineimage1.cc (1.6),
+	  tests/Box/generalizedaffineimage1.cc (1.7): First draft of code
+	  for generalized_affine_image/4 and bounded_affine_image/4.
+
+	  Tests revised and also enabled in Makefile.am.
+
+2008-02-22 Friday 12:16  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Polyhedron/boundedaffineimage1.cc (1.13): Added a test04
+	  that shows a bug in bounded_affine_image().
+
+2008-02-21 Thursday 13:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref-c-interface.doxyconf-html.in (1.6),
+	  devref-c-interface.doxyconf-latex.in (1.6),
+	  devref-c-interface.tex (1.4),
+	  devref-prolog-interface.doxyconf-html.in (1.5),
+	  devref-prolog-interface.doxyconf-latex.in (1.5),
+	  devref.doxyconf-html.in (1.85), devref.doxyconf-latex.in (1.24),
+	  devref.tex (1.25), fdl.dox (1.8), gpl.dox (1.9),
+	  user-c-interface.doxyconf-html.in (1.7),
+	  user-c-interface.doxyconf-latex.in (1.7), user-c-interface.tex
+	  (1.4), user-prolog-interface.doxyconf-html.in (1.6),
+	  user-prolog-interface.doxyconf-latex.in (1.6),
+	  user-prolog-interface.tex (1.4), user.doxyconf-html.in (1.42),
+	  user.doxyconf-latex.in (1.13), user.tex (1.26): Modified
+	  configuration files for the HTML versions of foreign language
+	  interface manuals so that they will always include a new copy of
+	  the GPL and GFDL licenses.  Creating a documentation page in
+	  Doxygen using command \page does not produces a referenceable
+	  anchor: hence, explicitly added commands \anchor to gpl.dox and
+	  fdl.dox; modified main *.tex pages so as to proper reference
+	  these anchors (thereby solving a long standing issue).  All
+	  Doxygen configuration files upgraded to version 1.5.5.
+
+2008-02-19 Tuesday 22:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
+	  (1.29), ppl_interface_generator_ocaml_ml_code.m4 (1.24),
+	  ppl_interface_generator_ocaml_mli_code.m4 (1.18): Added the
+	  Tuareg emacs mode at the start of the ml and mli files and the
+	  C++ mode at the start of the cc file.  These then used to help
+	  improved some formatting.
+
+2008-02-19 Tuesday 22:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Octagonal_Shape.defs.hh (1.40), Octagonal_Shape.inlines.hh
+	  (1.28), Octagonal_Shape.templates.hh (1.66), Og_Status.idefs.hh
+	  (1.10): Added methods to operate on the status.
+
+2008-02-19 Tuesday 22:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.113): Comment improved.
+
+2008-02-19 Tuesday 22:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.defs.hh (1.43), Box.templates.hh (1.91): Added a (still
+	  unused) status member.
+
+2008-02-19 Tuesday 20:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.112), BD_Shape.inlines.hh (1.157),
+	  BD_Shape.templates.hh (1.92): Added methods to operate on the
+	  status.
+
+2008-02-19 Tuesday 20:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BDS_Status.idefs.hh (1.24): Comment improved.
+
+2008-02-19 Tuesday 19:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box_Status.idefs.hh (1.1), Box_Status.inlines.hh (1.1),
+	  Makefile.am (1.179): Declaration and definitions of the class
+	  Box<Interval>::Status.
+
+2008-02-19 Tuesday 19:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BDS_Status.idefs.hh (1.23), BDS_Status.inlines.hh (1.19),
+	  Grid_Status.idefs.hh (1.9), Og_Status.idefs.hh (1.9),
+	  Ph_Status.idefs.hh (1.23): Multiple inclusion guards fixed.
+
+2008-02-19 Tuesday 13:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Box.defs.hh (1.42), Partially_Reduced_Product.defs.hh
+	  (1.22): Fixed a bunch of Doxygen related errors and warnings.
+
+2008-02-17 Sunday 22:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Polyhedron_public.cc (1.107): Small improvement to code for
+	  relation_with(Congruence).
+
+2008-02-17 Sunday 00:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.70): Enable
+	  relation_with() for a congruence for the weakly relational
+	  domains in all the interfaces.
+
+2008-02-16 Saturday 23:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Box.templates.hh (1.90), tests/Box/relations4.cc (1.3):
+	  Improved code changed for 0-dimensional box domains for
+	  relation_with() for a congruence.  Added a test to check this
+	  change.
+
+2008-02-16 Saturday 23:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/relations4.cc (simplex.1): file relations4.cc was added
+	  on branch simplex on 2008-06-06 14:22:10 +0000
+
+2008-02-16 Saturday 23:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.69),
+	  src/Box.templates.hh (1.89), tests/Box/relations4.cc (1.2):
+	  Enabled the relation_with() for box domains in all the
+	  interfaces.
+
+	  The Prolog generated tests showed a bug in the code for the zero
+	  dimensional empty Box - now tested in relations 4.cc.
+
+	  The bug has been fixed.
+
+2008-02-16 Saturday 16:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Interval.inlines.hh (1.34), Interval_Info.defs.hh (1.7):
+	  Properly comment the closing brace of namespaces.  When used in
+	  templates, Parma_Polyhedra_Library::used() should be fully
+	  qualified.
+
+2008-02-16 Saturday 15:28  Abramo Bagnara
+
+	* src/Interval.defs.hh (1.55): Some fixes to refine_universal.
+	  Added unrepresentability_error check.
+
+2008-02-16 Saturday 15:04  Abramo Bagnara
+
+	* src/Boundary.defs.hh (1.11): Propagate unrepresentability error
+	  insted of aborting.
+
+2008-02-16 Saturday 13:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Box.defs.hh (1.41), src/Box.templates.hh (1.88),
+	  tests/Box/Makefile.am (1.50), tests/Box/relations4.cc (1.1):
+	  Renamed private method interval_relation_no_check() as
+	  interval_relation() as there is now nothing that is unchecked.
+	  Added relation_with() for congruences for Boxes.
+
+2008-02-16 Saturday 09:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/membytes1.cc (1.6): Test rewritten.
+
+2008-02-16 Saturday 09:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/Makefile.am (1.49): Do test also with membytes1.cc.
+
+2008-02-15 Friday 18:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Box.templates.hh (1.87): Corrected a bug in an assignment in
+	  relation_with().
+
+2008-02-15 Friday 15:40  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Box.templates.hh (1.86), tests/Box/relations3.cc (1.3): Bug
+	  identified in previous commit, fixed.
+
+2008-02-15 Friday 15:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Box/relations3.cc (1.2): Extra test shows a bug in the
+	  relation_with() for congruences for a non-relational,
+	  1-dimensional box and constraint.
+
+2008-02-15 Friday 12:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: C/ppl_interface_generator_c_cc_code.m4 (1.30),
+	  C/ppl_interface_generator_c_h_code.m4 (1.20),
+	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.47), Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.64):
+	  Include emacs mode at the top of the code files.  A few minor
+	  bugs fixed and for Prolog and C files, indentation improved using
+	  emacs.
+
+2008-02-15 Friday 11:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	*
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
+	  (1.36): Missing change for uniformity of m4 files, related to the
+	  previous two commits.
+
+2008-02-15 Friday 10:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_icc.m4 (1.16):
+	  Add a copyright notice to the generated file.
+
+2008-02-15 Friday 10:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators.m4
+	  (simplex.1): file
+	  ppl_interface_generator_ocaml_procedure_generators.m4 was added
+	  on branch simplex on 2008-06-06 14:22:00 +0000
+
+2008-02-15 Friday 10:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Prolog/ppl_interface_generator_prolog_procedure_generators.m4
+	  (simplex.1): file
+	  ppl_interface_generator_prolog_procedure_generators.m4 was added
+	  on branch simplex on 2008-06-06 14:22:00 +0000
+
+2008-02-15 Friday 10:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/ppl_interface_generator_java_procedure_generators.m4
+	  (simplex.1): file
+	  ppl_interface_generator_java_procedure_generators.m4 was added on
+	  branch simplex on 2008-06-06 14:21:58 +0000
+
+2008-02-15 Friday 10:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4 (1.32),
+	  ppl_interface_generator_common_dat.m4 (1.68),
+	  ppl_interface_generator_common_procedure_generators.m4 (1.14),
+	  C/ppl_interface_generator_c_cc.m4 (1.16),
+	  C/ppl_interface_generator_c_cc_code.m4 (1.29),
+	  C/ppl_interface_generator_c_h.m4 (1.16),
+	  C/ppl_interface_generator_c_h_code.m4 (1.19),
+	  C/ppl_interface_generator_c_procedure_generators.m4 (1.5),
+	  Java/ppl_interface_generator_java_procedure_generators.m4 (1.6),
+	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4
+	  (1.13),
+	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.46), OCaml/ppl_interface_generator_ocaml_cc.m4 (1.9),
+	  OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.28),
+	  OCaml/ppl_interface_generator_ocaml_ml.m4 (1.14),
+	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.23),
+	  OCaml/ppl_interface_generator_ocaml_mli.m4 (1.12),
+	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.17),
+	  OCaml/ppl_interface_generator_ocaml_procedure_generators.m4
+	  (1.4), Prolog/ppl_interface_generator_prolog_icc.m4 (1.15),
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.63),
+	  Prolog/ppl_interface_generator_prolog_procedure_generators.m4
+	  (1.2), Prolog/ppl_interface_generator_prolog_systems.m4 (1.14),
+	  Prolog/Ciao/ppl_interface_generator_ciao_pl.m4 (1.8),
+	  Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4
+	  (1.9), Prolog/GNU/ppl_interface_generator_gprolog_pl.m4 (1.8),
+	  Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4 (1.12),
+	  Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4 (1.15),
+	  Prolog/XSB/ppl_interface_generator_xsb_H.m4 (1.9),
+	  Prolog/XSB/ppl_interface_generator_xsb_cc.m4 (1.11),
+	  Prolog/XSB/ppl_interface_generator_xsb_predicate_check_P.m4
+	  (1.10), Prolog/YAP/ppl_interface_generator_yap_cc.m4 (1.9),
+	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.74),
+	  Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
+	  (1.35): Include a description of what the m4 code is for in each
+	  file.  Improved other details to make the code more uniform
+	  across all interfaces and all the different m4 file generators.
+
+	  Included the copyright notice in more of the generated files.
+
+2008-02-14 Thursday 22:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: Box.defs.hh (1.40), Box.templates.hh (1.85): The
+	  Constraint::Type is passed as a parameter to
+	  interval_relation_no_check() instead of the Relation_Symbol.
+
+2008-02-14 Thursday 18:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: Box.defs.hh (1.39), Box.templates.hh (1.84): In the code
+	  for relation_with() for constraints, avoid reconstructing the
+	  constraint only for the private method that implements the main
+	  cases to have to deconstruct the constraint.	Comments improved.
+
+2008-02-14 Thursday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.hh (1.34): The out-of-range
+	  test in
+
+	    template <typename U, typename V> U jtype_to_unsigned(const V&)
+
+	  was indeed necessary.  Restored, but in a more efficient and
+	  warning-free way.
+
+2008-02-14 Thursday 13:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh (1.83): Parameter renamed.  Avoid to declare
+	  things that are only used in assertions, unless everything is
+	  within #ifndef NDEBUG / #endif.
+
+2008-02-14 Thursday 12:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Box.defs.hh (1.38), src/Box.templates.hh (1.82),
+	  tests/Box/Makefile.am (1.48), tests/Box/relations2.cc (1.5),
+	  tests/Box/relations3.cc (1.1): Completed implementation for
+	  relation_with(Constraint) for a Box when the constraint is not an
+	  interval constraint.	Tests added for this case.
+
+	  The implementation is split between a private method that finds
+	  the relation between an interval and a one dimensional constraint
+	  and the public method for any box and any constraint.
+
+2008-02-14 Thursday 10:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/:
+	  ppl_interface_generator_java_ppl_java_classes_cc_code.m4 (1.45),
+	  ppl_java_common.hh (1.33): template <typename U, typename V> U
+	  jtype_to_unsigned(const V&) was unnecessarily complex and
+	  generated an annoying warning: fixed.
+
+2008-02-13 Wednesday 12:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.67): Spelling
+	  corrected.
+
+	  Previous commit change: removed redundant code and simplified
+	  code for the disjunct replacement.
+
+2008-02-13 Wednesday 12:40  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.66),
+	  src/Partially_Reduced_Product.inlines.hh (1.21),
+	  tests/Grid/partiallyreducedproduct4.cc (1.2): Fixed the bug
+	  indicated by the tests added in the previous commit.	Ensure that
+	  emptiness is always shared between the components for the
+	  Constraints_Product product_reduce().
+
+2008-02-13 Wednesday 09:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/: Makefile.am (1.60), partiallyreducedproduct4.cc
+	  (1.1): Two tests indicate bugs for Constraints_Product when a
+	  component is a box.
+
+2008-02-13 Wednesday 09:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: C_Integer.hh (1.7), Makefile.am (1.178), Row.inlines.hh
+	  (1.68), globals.defs.hh (1.55), globals.inlines.hh (1.23): Header
+	  file reorganization consequent to the introduction of
+	  math_utilities.*.
+
+2008-02-13 Wednesday 08:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Checked_Number.inlines.hh (1.79), checked.inlines.hh
+	  (1.42): Redundant memory size inspection functions removed from
+	  the Checked namespace.
+
+2008-02-13 Wednesday 08:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: math_utilities.defs.hh (1.1), math_utilities.inlines.hh
+	  (1.1): New sources containing some math utility functions
+	  previously in globals.*.
+
+2008-02-13 Wednesday 08:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/math_utilities.defs.hh (simplex.1): file
+	  math_utilities.defs.hh was added on branch simplex on 2008-06-06
+	  14:22:05 +0000
+
+2008-02-12 Tuesday 22:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh (1.81): Several improvements in
+	  Box<Interval>::relation_with(const Constraint&).
+
+2008-02-12 Tuesday 21:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh (1.80): Drafted the first part of the code
+	  required so that Box<Interval>::relation_with(const Constraint&
+	  c) does the right thing whatever is the form of `c'.
+
+2008-02-12 Tuesday 21:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Interval.inlines.hh (1.33): Silenced a warning.
+
+2008-02-12 Tuesday 21:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Makefile.am (1.177), Rational_Box.hh (1.8): Rational_Box is
+	  now Box<Rational_Interval>.
+
+2008-02-12 Tuesday 21:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Rational_Interval.hh (1.1): Rational_Interval is an internal
+	  class implementing an interval with rational, possibly open
+	  boundaries.
+
+2008-02-12 Tuesday 21:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Rational_Interval.hh (simplex.1): file Rational_Interval.hh
+	  was added on branch simplex on 2008-06-06 14:22:05 +0000
+
+2008-02-12 Tuesday 21:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: checked_mpq.inlines.hh (1.46), checked_mpz.inlines.hh
+	  (1.53), meta_programming.hh (1.11): More Is_Native
+	  specializations moved to meta_programming.hh.
+
+2008-02-12 Tuesday 18:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	*
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.73): Avoid some annoying warning messages.
+
+2008-02-12 Tuesday 18:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.65),
+	  ppl_interface_generator_common_procedure_generators.m4 (1.13),
+	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.72): Enable the memory_in_bytes methods for pointset_powersets
+	  of boxes and for products with boxes as components.
+
+	  The Prolog tests expected results have to allow for any
+	  Uint*_Box.
+
+2008-02-12 Tuesday 13:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.303): Allow digits in the computation of
+	  `required_instantiations_java_sources'.
+
+2008-02-12 Tuesday 12:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/GMP_Integer.defs.hh (1.29): Previous commit completed.
+
+2008-02-12 Tuesday 12:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: GMP_Integer.inlines.hh (1.24), Interval.inlines.hh (1.32),
+	  checked_mpq.inlines.hh (1.45), checked_mpz.inlines.hh (1.52),
+	  globals.defs.hh (1.54), globals.inlines.hh (1.22): Moved all the
+	  memory occupation inspection functions to globals.*.	In
+	  GMP_Integer.defs.hh we keep the declarations of memory_size_type
+	  total_memory_in_bytes(const GMP_Integer& x) and memory_size_type
+	  external_memory_in_bytes(const GMP_Integer& x), in order to obey
+	  the rule "every public PPL object has memory inspection
+	  functions."  However, not to confuse Doxygen with (apparently)
+	  duplicated documentation, the documentation of the declarations
+	  in GMP_Integer.defs.hh is controlled by #ifndef
+	  PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS.
+
+2008-02-12 Tuesday 11:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: globals.defs.hh (1.53), globals.inlines.hh (1.21): Added
+	  template <typename T> memory_size_type
+	  external_memory_in_bytes(const T&) enabled for all native types
+	  T.
+
+2008-02-12 Tuesday 11:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: checked.defs.hh (1.45), checked_float.inlines.hh (1.84),
+	  checked_int.inlines.hh (1.66), meta_programming.hh (1.10): Moved
+	  the definitions for Is_Native to meta_programming.hh.
+
+2008-02-12 Tuesday 09:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.64),
+	  ppl_interface_generator_common_procedure_generators.m4 (1.12),
+	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.71), Prolog/tests/ppl_predicate_check_common.pl (1.10): A
+	  couple of bugs in the m4 code fixed Enabled the generation of a
+	  few more procedures for certain domains.
+
+	  A bug in the Prolog test files fixed.
+
+2008-02-11 Monday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.defs.hh (1.97): Let
+	  external_memory_in_bytes(const Checked_Number<T, Policy>&) return
+	  memory_size_type, not size_t.
+
+2008-02-11 Monday 12:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.defs.hh (1.37), Box.inlines.hh (1.24), Box.templates.hh
+	  (1.79): Added Box<Interval>::total_memory_in_bytes() and
+	  Box<Interval>::memory_size_type external_memory_in_bytes().
+
+2008-02-11 Monday 12:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Interval.defs.hh (1.54), Interval.inlines.hh (1.31): Added
+	  Interval<Boundary, Info>::external_memory_in_bytes() and
+	  Interval<Boundary, Info>::total_memory_in_bytes().
+
+2008-02-11 Monday 10:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.defs.hh (1.36), Box.templates.hh (1.78): Adde
+	  Box<Interval>::topological_closure_assign().
+
+2008-02-11 Monday 10:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Interval.defs.hh (1.53): Added void Interval<Boundary,
+	  Info>::topological_closure_assign().
+
+2008-02-11 Monday 09:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh (1.77): Optimized bool
+	  Box<Interval>::is_topologically_closed() const: if
+	  !Interval::info_type::store_open, then the box is certainly
+	  topologically closed.
+
+2008-02-10 Sunday 22:17  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* instchk.hh (1.15),
+	  interfaces/ppl_interface_generator_common_dat.m4 (1.63),
+	  interfaces/C/Makefile.am (1.40),
+	  interfaces/C/ppl_interface_generator_c_cc.m4 (1.15),
+	  interfaces/Java/jni/Makefile.am (1.18),
+	  interfaces/Java/jni/ppl_java_common.hh (1.32),
+	  interfaces/OCaml/Makefile.am (1.38),
+	  interfaces/OCaml/ppl_ocaml_globals.cc (1.13),
+	  interfaces/Prolog/ppl_prolog_common.icc (1.15): Enable all 13
+	  types of boxes in interfaced_boxes.hh for all the interfaces, as
+	  they are or as disjuncts to the powerset domain or as components
+	  of the product domain.
+
+	  instchk.hh allows for all of these boxes to be arguments to
+	  "-instantiations" in the configuration.
+
+	  Macro m4_get_class_index name changed to m4_get_class_counter so
+	  that the word "counter" is used consistently for the number
+	  associated to the class being generated.
+
+2008-02-08 Friday 22:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/interfaced_boxes.hh (1.4): Added declarations for the
+	  native integer boxes.
+
+2008-02-08 Friday 22:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/interfaced_boxes.hh (simplex.1): file
+	  interfaced_boxes.hh was added on branch simplex on 2008-06-06
+	  14:21:57 +0000
+
+2008-02-08 Friday 21:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/: interfaced_boxes.hh (1.3),
+	  Prolog/ppl_prolog_common.icc (1.14), Prolog/Ciao/Makefile.am
+	  (1.72), Prolog/GNU/Makefile.am (1.70), Prolog/SICStus/Makefile.am
+	  (1.86), Prolog/SWI/Makefile.am (1.82), Prolog/XSB/Makefile.am
+	  (1.62), Prolog/YAP/Makefile.am (1.59): Include
+	  interfaced_boxes.hh into all Prolog interfaces.
+
+2008-02-08 Friday 14:40  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/interfaced_boxes.hh (1.2): Fixed a missing ">".
+
+2008-02-08 Friday 13:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.62): Minor
+	  technical improvements to the m4 code.
+
+2008-02-08 Friday 13:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/: Makefile.am (1.31), interfaced_boxes.hh (1.1): New
+	  header file (to be completed) providing declarations for the Box
+	  instantiations offered by the foreign interfaces.
+
+2008-02-08 Friday 13:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4 (1.31),
+	  ppl_interface_generator_common_dat.m4 (1.61): In the last commit,
+	  the message said  "the change has   a "fixme" since this
+	  indicates that the way the replacements for all   patterns is
+	  handled needs improving and that this local change   should be
+	  made more general." This is now fixed and the main replacement
+	  macros now incorporate this improvement.
+
+	  Improved the specification of the replacements for the binary
+	  operators for the Pointset_Powerset domains.
+
+	  A few minor improvements to avoid unnecessary computations.
+
+2008-02-08 Friday 11:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4 (1.30),
+	  ppl_interface_generator_common_dat.m4 (1.60): The code for
+	  intersecting sequences of comma separated strings improved so
+	  that the same basic code is used for intersecting both 2
+	  sequences and 3 sequences.
+
+	  The last changes introduced a bug for some products (such as Grid
+	  x BD_Shape<...> products. This is now fixed, but the change has a
+	  "fixme" since this indicates that the way the replacements for
+	  all patterns is handled needs improving and that this local
+	  change should be made more general.
+
+2008-02-07 Thursday 16:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Interval.defs.hh (1.52): Added the documentation for the
+	  difference_assign() methods.
+
+2008-02-07 Thursday 16:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.templates.hh (1.76), Interval.defs.hh (1.51),
+	  Interval.inlines.hh (1.30): Added declarations and empty
+	  implementations for Interval<To_Boundary,
+	  To_Info>::difference_assign(const From&) and
+	  Interval<To_Boundary, To_Info>::difference_assign(const From1&,
+	  const From2&).
+
+2008-02-07 Thursday 15:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Bit_Row.defs.hh (1.10), Bit_Row.inlines.hh (1.7): Added
+	  void set_difference(const Bit_Row&, const Bit_Row&, Bit_Row&).
+
+2008-02-07 Thursday 10:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4 (1.29),
+	  ppl_interface_generator_common_dat.m4 (1.59),
+	  ppl_interface_generator_common_procedure_generators.m4 (1.11):
+	  Enabled the Pointset_Powerset domain to have a Rational_Box as
+	  the disjunct and the Product domains to have a Rational_Box as
+	  one of its component domains in all the interfaces.
+
+	  To allow for a number of missing methods in the Box domain that
+	  cannot therefore be provided in any product domain that has the
+	  Box as a component, defined two generic macros in
+	  ppl_interface_generator_common.m4 that intersect sequences of
+	  comma-separated strings: one that intersects two sequences and
+	  one that intersects three sequences.
+
+	  Also now support a new notation in a procedure string - e.g.,
+	  "?box" means don't include this procedure for any product that
+	  has Box as one of its components.  This option may be removed in
+	  the future and its use avoided by using the sequence intersection
+	  macros described above.
+
+2008-02-07 Thursday 07:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.defs.hh (1.35): Fixed the documentation of
+	  set_interval(Variable, const Interval&).
+
+2008-02-05 Tuesday 15:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* instchk.hh (1.14): The instantiations configuration options now
+	  include Rational_Box.
+
+2008-02-05 Tuesday 15:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.58),
+	  ppl_interface_generator_common_procedure_generators.m4 (1.10),
+	  Java/ppl_interface_generator_java_procedure_generators.m4 (1.5):
+	  The interfaces now support Rational_Box as a simple class for
+	  most of the procedures.  Powersets and Products with a Box as a
+	  base domain still to be checked.
+
+2008-02-05 Tuesday 14:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (1.75): Fixed method
+	  Box<I>::concatenate_assign(const Box&).
+
+2008-02-05 Tuesday 09:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Box/concatenate1.cc (1.7): Added test06 which shows an
+	  assertion failure when executing concatenate_assign() in the Box
+	  domain.
+
+2008-02-04 Monday 12:40  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4 (1.28),
+	  ppl_interface_generator_common_dat.m4 (1.57): Fixed some bugs,
+	  simplified and improved some code and improved the documentation
+	  for new and changed the macros.
+
+	  Now the interfaces compile and tests run ok with all
+	  Pointset_Powersets of polyhedra, weakly relational domains and
+	  grids.  Also the interfaces compile and tests run ok with any
+	  products of the same domains.
+
+2008-02-01 Friday 17:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4 (1.27),
+	  ppl_interface_generator_common_dat.m4 (1.56),
+	  ppl_interface_generator_common_procedure_generators.m4 (1.9),
+	  OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.27),
+	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.22),
+	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.16),
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.62):
+	  Interface code revised so as to handle powersets of weakly
+	  relational domain elements. More tests are still needed.  The new
+	  m4 code in ppl_interface_generator_common_dat.m4 will be
+	  documentated later.
+
+2008-02-01 Friday 12:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/relatwithcons2.cc (1.10): Tests uncommented
+	  (apparently they were commented out by mistake on April 3, 2007).
+
+2008-02-01 Friday 10:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (1.235), src/BD_Shape.defs.hh (1.111),
+	  src/BD_Shape.templates.hh (1.91), src/Octagonal_Shape.defs.hh
+	  (1.39), src/Octagonal_Shape.templates.hh (1.65),
+	  tests/BD_Shape/relations3.cc (1.28),
+	  tests/Octagonal_Shape/relatwithcons2.cc (1.9): Added methods
+	  relation_with() for congruences to the Octagonal_Shape and
+	  BD_Shape domains.
+
+	  Added notes wrt these and the relation_with() for costraints in
+	  the TODO file.
+
+	  Exception throwers throw_dimension_incompatible() for congruences
+	  added to both these domains.
+
+2008-01-31 Thursday 15:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4 (1.26),
+	  ppl_interface_generator_common_dat.m4 (1.55),
+	  ppl_interface_generator_common_procedure_generators.m4 (1.8),
+	  C/ppl_interface_generator_c_procedure_generators.m4 (1.4),
+	  Java/ppl_interface_generator_java_procedure_generators.m4 (1.4),
+	  OCaml/ppl_interface_generator_ocaml_procedure_generators.m4
+	  (1.3), Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.61),
+	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.70): Now allow the list of procedure names for generation to
+	  have an optional "\" before a group name "g" which is meant to be
+	  used only in conjunction with the powerset domain, and to mean
+	  -don't generate code if the powerset's disjunct is in "g"-.  This
+	  is needed to avoid generating linear_partition code when the
+	  disjunct is Grid and similarly approximate_partition code when
+	  the disjunct is C_ or NNC_Polyhedron.
+
+	  The Powerset of Grids in all the interfaces now compiles and the
+	  compiled code passes all the tests in Java and Prolog interfaces.
+
+	  Added to the todo lists in the procedure_generator m4 files for
+	  C, Java and Ocaml, the approximate_partition procedure for
+	  powersets of grids.
+
+2008-01-31 Thursday 09:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.54),
+	  interfaces/ppl_interface_generator_common_procedure_generators.m4
+	  (1.7), interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.28),
+	  interfaces/C/ppl_interface_generator_c_h_code.m4 (1.18),
+	  interfaces/Java/ppl_interface_generator_java_procedure_generators.m4
+	  (1.3),
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.44),
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.27), interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4
+	  (1.26), interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4
+	  (1.21),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4
+	  (1.15),
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (1.60),
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.69), src/Partially_Reduced_Product.defs.hh (1.21),
+	  src/Partially_Reduced_Product.inlines.hh (1.20),
+	  src/Pointset_Powerset.inlines.hh (1.13): Added hash_code() to the
+	  pointset_powerset and partially_reduced_product domains.  Enable
+	  this in the Java interface for all the domains.  Also enable in
+	  the Java interface the string() method for all the domains, so as
+	  to include the product domains.
+
+	  Added methods for external/total_memory_in_bytes for all the
+	  domains and to all the interfaces.  Existing tests for size() for
+	  prolog and java now use the MEMBYTES pattern instead so as to
+	  test all the replacements for MEMBYTES.
+
+	  These with the size() method (for the pointset_powerset domains)
+	  are all generated from a single "pattern" "MEMBYTES", defined in
+	  interfaces/ppl_interface_generator_common_dat.m4.
+
+	  Added methods for external/total_memory_in_bytes for all the
+	  domains and to all the interfaces.
+
+	  Existing tests for size() for prolog and java now use the
+	  MEMBYTES pattern instead so as to test all its replacements.
+
+	  These with the size() method (for the pointset_powerset domains)
+	  are all generated from a single "pattern" "MEMBYTES", defined in
+	  interfaces/ppl_interface_generator_common_dat.m4.
+
+2008-01-30 Wednesday 18:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.226),
+	  interfaces/ppl_interface_generator_common_procedure_generators.m4
+	  (1.6), interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.27),
+	  interfaces/C/ppl_interface_generator_c_h_code.m4 (1.17),
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.43),
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.26), interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4
+	  (1.25), interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4
+	  (1.20),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4
+	  (1.14),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators.m4
+	  (1.2),
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (1.59),
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.68), src/Partially_Reduced_Product.inlines.hh (1.19):
+	  Corrected a missing "+" in
+	  interfaces/ppl_interface_generator_common_procedure_generators.m4
+	  which caused some interface predicates not to be generated.
+
+	  Added add_constraint_and_minimize() and
+	  add_constraint_and_minimize() to the Partially_Reduced_Product
+	  domain.
+
+	  In the interfaces, the interface procedures for
+	  ppl_Grid_generalized_image_lhs_rhs/5 and
+	  ppl_Grid_generalized_preimage_lhs_rhs/5
+	  ppl_Grid_generalized_image/6 and
+	  ppl_Grid_generalized_preimage/6    have been renamed as
+	  ppl_Grid_generalized_image_lhs_rhs_with_congruence/5
+	  ppl_Grid_generalized_preimage_lhs_rhs_with_congruence/5
+	  ppl_Grid_generalized_image_with_congruence/6
+	  ppl_Grid_generalized_preimage_with_congruence/6    so as to allow
+	  for /4 and /5, resp., versions
+
+	  (This change also reported in "News").
+
+	  Tidied and commented the procedure list in
+	  interfaces/ppl_interface_generator_common_procedure_generators.m4
+	  so that where not "+all" domains are implemented in the
+	  interfaces, comments explain further.
+
+	  A few remaining procedures that can be enabled for products
+	  and/or powersets in the interfaces have been enabled.
+
+	  Added two "todo" procedures to the OCaml list of procedure
+	  generators.
+
+2008-01-30 Wednesday 12:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_procedure_generators.m4
+	  (1.5), src/Pointset_Powerset.defs.hh (1.30),
+	  src/Pointset_Powerset.inlines.hh (1.12),
+	  src/Pointset_Powerset.templates.hh (1.26),
+	  tests/Polyhedron/pointsetpowerset5.cc (1.2): Added methods for
+	  expand_space_dimension() and fold_space_dimensions() and
+	  constructor from a box, for the pointset_powerset domain.
+
+	  Added tests for add and remove (higher) space dimensions for the
+	  powerset domain as well as tests for the new methods.
+
+	  Enabled the corresponding procedures in all the interfaces.
+
+2008-01-30 Wednesday 09:17  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.53),
+	  interfaces/ppl_interface_generator_common_procedure_generators.m4
+	  (1.4), src/Partially_Reduced_Product.defs.hh (1.20),
+	  src/Partially_Reduced_Product.inlines.hh (1.18),
+	  tests/Grid/directproduct3.cc (1.17): Enabled a few more
+	  procedures in the interfaces for the product domain.
+
+	  Added to all the interfaces (including C++) the
+	  intersection_assign_and_minimize() procedure for the
+	  partially_reduced_product domains for uniformity with the other
+	  domains.
+
+2008-01-30 Wednesday 08:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	*
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.67): Bug in generated test file for the product domain fixed.
+
+2008-01-29 Tuesday 22:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4 (1.25),
+	  ppl_interface_generator_common_dat.m4 (1.52),
+	  ppl_interface_generator_common_procedure_generators.m4 (1.3),
+	  C/ppl_interface_generator_c_cc.m4 (1.14),
+	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.66): Improved the definitions of the product domains so that
+	  the list of different product domains occurs just once in the m4
+	  code.
+
+	  Almost all the methods/procedures appropriate for the product
+	  domains are now enabled in all the interfaces.
+
+	  Bug in the generated tests in ppl_predicate_check_test.pl for the
+	  product domain still to be checked and fixed.
+
+2008-01-29 Tuesday 11:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* instchk.hh (1.13),
+	  interfaces/ppl_interface_generator_common_dat.m4 (1.51),
+	  interfaces/ppl_interface_generator_common_procedure_generators.m4
+	  (1.2), interfaces/C/ppl_interface_generator_c_cc.m4 (1.13),
+	  interfaces/Java/ppl_interface_generator_java_procedure_generators.m4
+	  (1.2): Enabled the product domains; building from space
+	  dimensions, other products, constraints and congruences.  Enable
+	  the OK check and the free() method for Java.
+
+	  Allow the configuration to include instantiations for the
+	  Direct_Product, Smash_Product and Constraints_Product domains
+	  with simple arguments.
+
+	  Every interface tested for just the instantiation
+	  Direct_Product<C_Polyhedron,Grid>
+
+2008-01-29 Tuesday 08:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/ppl_c.h.in (1.76): Previous change unintended -
+	  revert to previous version.
+
+2008-01-28 Monday 15:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/: ppl_interface_generator_c_cc_code.m4 (1.26),
+	  ppl_interface_generator_c_h_code.m4 (1.16),
+	  ppl_interface_generator_c_procedure_generators.m4 (1.3): In the C
+	  interface, added (m4) implementation code for add_disjunct.
+	  Remove done items from "todo" list.
+
+2008-01-28 Monday 14:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/: ppl_interface_generator_c_cc_code.m4 (1.25),
+	  ppl_interface_generator_c_h_code.m4 (1.15),
+	  ppl_interface_generator_c_procedure_generators.m4 (1.2): Added to
+	  the C interface the m4 code for drop_disjuncts.
+
+2008-01-28 Monday 14:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/: ppl_interface_generator_c_cc_code.m4 (1.24),
+	  ppl_interface_generator_c_h_code.m4 (1.14): Added to the C
+	  interface procedures for Pointset_Powerset (const) iterators:
+	  increment, decrement, equals, begin and end.
+
+2008-01-28 Monday 12:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/: ppl_interface_generator_c_cc_code.m4 (1.23),
+	  ppl_interface_generator_c_h_code.m4 (1.13): Added to the C
+	  interface the ppl_ at CLASS@_size method.
+
+2008-01-28 Monday 12:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: Makefile.am (1.30),
+	  ppl_interface_generator_common_procedure_generators.m4 (1.1),
+	  ppl_interface_generator_common_procedure_list.m4 (1.5),
+	  C/Makefile.am (1.39), C/ppl_c.h.in (1.75),
+	  C/ppl_interface_generator_c_all_dat.m4 (1.2),
+	  C/ppl_interface_generator_c_cc.m4 (1.12),
+	  C/ppl_interface_generator_c_h.m4 (1.15),
+	  C/ppl_interface_generator_c_procedure_generators.m4 (1.1),
+	  Java/Makefile.am (1.16),
+	  Java/ppl_interface_generator_java_all_dat.m4 (1.3),
+	  Java/ppl_interface_generator_java_procedure_generators.m4 (1.1),
+	  Java/jni/Makefile.am (1.17),
+	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4
+	  (1.12), Java/tests/Makefile.am (1.19),
+	  Java/tests/ppl_interface_generator_java_test_java.m4 (1.15),
+	  OCaml/Makefile.am (1.37),
+	  OCaml/ppl_interface_generator_ocaml_all_dat.m4 (1.2),
+	  OCaml/ppl_interface_generator_ocaml_cc.m4 (1.8),
+	  OCaml/ppl_interface_generator_ocaml_ml.m4 (1.13),
+	  OCaml/ppl_interface_generator_ocaml_mli.m4 (1.11),
+	  OCaml/ppl_interface_generator_ocaml_procedure_generators.m4
+	  (1.1), Prolog/Makefile.am (1.47),
+	  Prolog/ppl_interface_generator_prolog_all_dat.m4 (1.2),
+	  Prolog/ppl_interface_generator_prolog_icc.m4 (1.14),
+	  Prolog/ppl_interface_generator_prolog_procedure_generators.m4
+	  (1.1), Prolog/ppl_interface_generator_prolog_systems.m4 (1.13),
+	  Prolog/Ciao/Makefile.am (1.71), Prolog/GNU/Makefile.am (1.69),
+	  Prolog/SICStus/Makefile.am (1.85), Prolog/SWI/Makefile.am (1.81),
+	  Prolog/XSB/Makefile.am (1.61), Prolog/YAP/Makefile.am (1.58),
+	  Prolog/tests/Makefile.am (1.20),
+	  Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
+	  (1.34): Renamed the files containing the schematic lists of
+	  procedures so that the common tail is "procedure_generators.m4".
+
+2008-01-28 Monday 11:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_procedure_list.m4
+	  (1.4), Java/ppl_interface_generator_java_dat.m4 (1.15),
+	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.42), OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.24),
+	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.19),
+	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.13): Fixed
+	  bugs wrt the pointset powerset caused by the previous commit
+	  domain in the OCaml and Java interfaces.
+
+2008-01-27 Sunday 21:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.50),
+	  ppl_interface_generator_common_procedure_list.m4 (1.3),
+	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.41), OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.23),
+	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.18),
+	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.12),
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.58),
+	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.65): By defining a new pattern "incdec" and its replacement,
+	  made the increment and decrement iterator methods use common
+	  code.  Similarly the begin_iterator and end_iterator now use
+	  common code.
+
+2008-01-26 Saturday 10:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/Makefile.am (1.84): Use AM_CPPFLAGS for
+	  `splfr' and `spld', not CPPFLAGS.
+
+2008-01-25 Friday 21:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/Makefile.am (1.83): Support
+	  installation of SICStus in non-standard places.
+
+2008-01-25 Friday 19:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.302): Version number bumped.
+
+2008-01-25 Friday 12:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.49),
+	  ppl_interface_generator_common_procedure_list.m4 (1.2),
+	  C/Makefile.am (1.38), C/ppl_interface_generator_c_all_dat.m4
+	  (1.1), C/ppl_interface_generator_c_cc.m4 (1.11),
+	  C/ppl_interface_generator_c_cc_code.m4 (1.22),
+	  C/ppl_interface_generator_c_dat.m4 (1.15),
+	  C/ppl_interface_generator_c_h.m4 (1.14),
+	  C/ppl_interface_generator_c_h_code.m4 (1.12): Synchronizing the C
+	  interface with the other interfaces.	Several missing methods for
+	  the C interface are listed in a comment at the end of
+	  ppl_interface_generator_c_all_dat.m4
+
+2008-01-25 Friday 08:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/Makefile.am (1.36): Fixed a bug. The interface
+	  no longer uses ppl_interface_generator_prolog_dat.m4
+
+2008-01-24 Thursday 22:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: Java/tests/ppl_interface_generator_java_test_java.m4
+	  (1.14), OCaml/Makefile.am (1.35),
+	  OCaml/ppl_interface_generator_ocaml_all_dat.m4 (1.1),
+	  OCaml/ppl_interface_generator_ocaml_cc.m4 (1.7),
+	  OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.22),
+	  OCaml/ppl_interface_generator_ocaml_dat.m4 (1.9),
+	  OCaml/ppl_interface_generator_ocaml_ml.m4 (1.12),
+	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.17),
+	  OCaml/ppl_interface_generator_ocaml_mli.m4 (1.10),
+	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.11): OCaml
+	  interface now synchronized with the Java and Prolog interfaces.
+	  A few missing methods listed as a comment at the end of
+	  OCaml/ppl_interface_generator_ocaml_all_dat.m4
+
+	  Trivial layout improvement to
+	  Java/tests/ppl_interface_generator_java_test_java.m4
+
+2008-01-24 Thursday 16:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/ppl_interface_generator_java_all_dat.m4 (1.2):
+	  Comment corrected.
+
+2008-01-24 Thursday 16:27  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.48),
+	  Java/Makefile.am (1.15),
+	  Java/ppl_interface_generator_java_all_dat.m4 (1.1),
+	  Java/jni/Makefile.am (1.16),
+	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4
+	  (1.11),
+	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.40), Java/tests/Makefile.am (1.18),
+	  Java/tests/ppl_interface_generator_java_test_java.m4 (1.13):
+	  Synchronizing the Java interface with the Prolog interface.  A
+	  few methods not yet implemented are listed as a comment in the
+	  added file Java/ppl_interface_generator_java_all_dat.m4 which
+	  also contains a few methods special to the Java interface.
+
+2008-01-24 Thursday 13:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.47),
+	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.39), OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.21),
+	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.16),
+	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.10),
+	  Prolog/Makefile.am (1.46),
+	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.45),
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.57),
+	  Prolog/ppl_interface_generator_prolog_systems.m4 (1.12),
+	  Prolog/Ciao/Makefile.am (1.70), Prolog/GNU/Makefile.am (1.68),
+	  Prolog/SWI/Makefile.am (1.80), Prolog/XSB/Makefile.am (1.60),
+	  Prolog/YAP/Makefile.am (1.57),
+	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.64),
+	  Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
+	  (1.33): For the pointset_powerset domain, the way the disjunct
+	  classes are handled changed so that the topology is replaced
+	  separately.
+
+	  Completed, for the Prolog interface, the separation between the
+	  system procedure list and the list of the procedures to be
+	  generated.
+
+2008-01-24 Thursday 09:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: Makefile.am (1.29), Prolog/Makefile.am (1.45),
+	  Prolog/ppl_interface_generator_prolog_icc.m4 (1.13): Fixed a bug
+	  in the makefile dependencies for Prolog due to the new dependent
+	  common file ppl_interface_generator_common_procedure_list.m4
+
+2008-01-23 Wednesday 19:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.46): Change
+	  needed for the pointset_powerset domains and their C++ friend
+	  names.
+
+2008-01-23 Wednesday 18:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4 (1.24),
+	  ppl_interface_generator_common_procedure_list.m4 (1.1),
+	  Prolog/Makefile.am (1.44),
+	  Prolog/ppl_interface_generator_prolog_all_dat.m4 (1.1),
+	  Prolog/SICStus/Makefile.am (1.82), Prolog/tests/Makefile.am
+	  (1.19): A start on merging the procedure lists for the different
+	  interfaces to ensure the interface systems are fully
+	  synchronized.  Currently the new lists only used and tested in
+	  SICStus Prolog.
+
+2008-01-23 Wednesday 18:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4 (1.23),
+	  ppl_interface_generator_common_dat.m4 (1.45),
+	  C/ppl_interface_generator_c_cc_code.m4 (1.21),
+	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.38), OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.20),
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.56): Fixed a
+	  bug introduced in teh previous commit due to the overloading of
+	  the prefix "cpp_" in the patterns.  New prefix temporarily
+	  changed to "cppx_".  Further work on simplifying this code may
+	  allow the merge of the different uses of the "cpp_"/"cppx_"
+	  prefix into 1.
+
+2008-01-23 Wednesday 17:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4 (1.22),
+	  ppl_interface_generator_common_dat.m4 (1.44),
+	  C/ppl_interface_generator_c_cc.m4 (1.10),
+	  C/ppl_interface_generator_c_cc_code.m4 (1.20),
+	  C/ppl_interface_generator_c_dat.m4 (1.14),
+	  C/ppl_interface_generator_c_h_code.m4 (1.11),
+	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.37), OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.19),
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.55): Allow
+	  the C interface to build from a "friend" as we can already do in
+	  the other interfaces.
+
+	  Revised the "friend" pattern replacements.  To generate the new
+	  code for the C interface, an extra option has been added that
+	  allows for replacing friend classes C_Polyhedron and
+	  NNC_Polyhedron without their topology.
+
+	  cpp_friend now gives the C++ name while alt_friend has been
+	  changed to give the interface name without the topology (ie only
+	  in the case that the friend is a polyhedron).
+
+	  As we already used the alt_friend for the C++ version of the
+	  friend class name (now called cpp_friend), this change affected
+	  several files.
+
+2008-01-23 Wednesday 11:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Polyhedron/pointsetpowerset4.cc (1.6): Tests 5, 6 and 9
+	  fail for check-int8.
+
+2008-01-23 Wednesday 11:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/pointsetpowerset4.cc (simplex.1): file
+	  pointsetpowerset4.cc was added on branch simplex on 2008-06-06
+	  14:22:13 +0000
+
+2008-01-23 Wednesday 07:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/XSB/Makefile.am (1.59): Fixed two bugs
+	  introduced in previous changes here.
+
+2008-01-22 Tuesday 21:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/: ppl_interface_generator_java_dat.m4 (1.14),
+	  jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.36), tests/ppl_interface_generator_java_test_java.m4 (1.12),
+	  tests/ppl_interface_generator_java_test_java_code.m4 (1.25): Just
+	  as is already the case for the Prolog interfaces, Java can build
+	  a class from a "friend" of that class.  E.g., a C_Polyhedron can
+	  be built from an NNC_Polyhedron, a Grid, a BD_Shape etc, provided
+	  the "friend" exists as one of the instantiations in the
+	  configuration.
+
+2008-01-22 Tuesday 08:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* INSTALL (1.10), config.guess (1.40), config.sub (1.38), depcomp
+	  (1.13), install-sh (1.19), Watchdog/INSTALL (1.7),
+	  Watchdog/config.guess (1.24), Watchdog/config.sub (1.23),
+	  Watchdog/depcomp (1.10), Watchdog/install-sh (1.15): Updated from
+	  Automake 1.10.1.
+
+2008-01-21 Monday 22:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4 (1.21),
+	  ppl_interface_generator_common_dat.m4 (1.43),
+	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.44),
+	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.63),
+	  Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
+	  (1.32): A start on cleaning/tidying some of the m4 code -
+	  avoiding generating unwanted whitespace.
+
+2008-01-21 Monday 22:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4 (1.20),
+	  Prolog/Ciao/Makefile.am (1.69),
+	  Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4
+	  (1.8), Prolog/SICStus/Makefile.am (1.81),
+	  Prolog/SICStus/sp_predicate_check.pl (1.7),
+	  Prolog/SWI/Makefile.am (1.79), Prolog/SWI/swi_predicate_check.pl
+	  (1.6), Prolog/XSB/Makefile.am (1.58),
+	  Prolog/XSB/ppl_interface_generator_xsb_predicate_check_P.m4
+	  (1.9), Prolog/tests/Makefile.am (1.18),
+	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.62),
+	  Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
+	  (1.31), Prolog/tests/ppl_predicate_check_common.pl (1.9): The
+	  tests for all the interfaces predicates that are generated and
+	  were placed in ppl_predicate_check.pl are now generated and split
+	  into a number of files; the top-level one is
+	  ppl_predicate_test_main.pl and the rest have a name of the form
+
+	  ppl_predicate_test_CLASS.pl
+
+	   where CLASS is the name of an interface class (there is just one
+	  file
+	  "ppl_predicate_test_Polyhedron.pl" for both the C_Polyhedron and
+	  NNC_Polyhedron domains.
+
+	  This resolves a problem when checking the interface predicates
+	  for XSB with more than 3 classes where the large generated file
+	  caused an error to be thrown.
+
+	  This change has been tested on SWI Prolog, SICStus, XSB and Ciao
+	  Prolog with up to 4 (5 if we count C_Polyhedron and
+	  NNC_Polyhedron separately) different interface classes.
+
+2008-01-21 Monday 16:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* utils/: cm_cleaner.sh (1.5), cm_splitter.sh (1.5): Use `IFS= read
+	  -r' instead of a simple `read'.  This means that leading blanks
+	  and backslashes will no longer be eaten.
+
+2008-01-21 Monday 15:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc.m4 (1.6),
+	  ppl_interface_generator_ocaml_ml.m4 (1.11),
+	  ppl_interface_generator_ocaml_mli.m4 (1.9): Revised the
+	  generation of these files so that all type and other class
+	  methods are added before the main part of the code so that one
+	  class can refer to elements of another class.
+
+2008-01-21 Monday 14:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/README.ocaml (1.3): Added some notes on the
+	  configuration of MLGMP, since the information contained in the
+	  package itself is rather terse.
+
+2008-01-21 Monday 14:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/README.ocaml (1.2): Explained the requirements
+	  for the OCaml interface.  Note that the Caml Hump page for MLGMP
+	  is out of date (bug already reported): while they fix it, MLGMP
+	  can be found at
+	  http://www-verimag.imag.fr/~monniaux/programmes.html.fr.
+
+2008-01-21 Monday 12:40  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
+	  (1.18), ppl_interface_generator_ocaml_dat.m4 (1.8),
+	  ppl_interface_generator_ocaml_ml_code.m4 (1.15),
+	  ppl_interface_generator_ocaml_mli_code.m4 (1.9): Removed the
+	  pattern "@INTOPOLOGY@" which preceded "@FRIEND@" since the
+	  topology is now part of the replacement for "@FRIEND@".
+
+2008-01-19 Saturday 18:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.42): Fixed a
+	  bug which showed in the Java generated code for the relation_with
+	  methods.
+
+2008-01-19 Saturday 17:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl_header.hh (1.9): At the end of the C++ PPL header file,
+	  #undef PPL_NO_AUTOMATIC_INITIALIZATION if it is defined.
+
+2008-01-18 Friday 20:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/Makefile.am (1.3): Distribute also ppl.hh, ppl_c.h, and
+	  pwl.hh.
+
+2008-01-18 Friday 20:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.301): Version number bumped.
+
+2008-01-18 Friday 15:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* README.configure (1.25), interfaces/README.interfaces (1.1):
+	  Brief notes on how to generate and use code for a choice of
+	  domains in the (mainly Prolog) interfaces.
+
+2008-01-18 Friday 15:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/README.interfaces (simplex.1): file README.interfaces
+	  was added on branch simplex on 2008-06-06 14:21:57 +0000
+
+2008-01-18 Friday 13:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	*
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.61): Fixed some bugs in the test file that caused some warning
+	  messages when testing the code in the Ciao interface.
+
+2008-01-18 Friday 12:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	*
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.60): A bug fixed.
+
+2008-01-18 Friday 12:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Ciao/Makefile.am (1.68),
+	  SICStus/sp_predicate_check.pl (1.6), SWI/swi_predicate_check.pl
+	  (1.5), XSB/ppl_interface_generator_xsb_predicate_check_P.m4
+	  (1.8), tests/ppl_interface_generator_predicate_check_pl.m4
+	  (1.30): Enable make predicate_check_test for Ciao.  To do this,
+	  the ":- include ppl_predicate_check_common." directive has to be
+	  in the generated file ppl_predicate_check.pl
+
+	  For this reason, the corresponding directives in
+	  swi_predicate_check.pl and SICStus/sp_predicate_check.pl have
+	  been removed.
+
+	  For XSB, the include directive is not supported as is and instead
+	  a "#include" must be used. Changes made for XSB to handle this.
+
+	  Warning messages given by the Ciao system when compiling the
+	  generated file ppl_predicate_check.pl need further investigation
+	  but the test in Ciao succeeds.
+
+2008-01-18 Friday 11:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* instchk.hh (1.12): The instantiation options "C_Polyhedron" and
+	  "NNC_Polyhedron" made invalid.
+
+2008-01-18 Friday 10:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: SICStus/Makefile.am (1.80),
+	  SICStus/sp_predicate_check.pl (1.5), SWI/Makefile.am (1.78),
+	  XSB/Makefile.am (1.57),
+	  XSB/ppl_interface_generator_xsb_predicate_check_P.m4 (1.7): The
+	  Prolog systems SWI, SICStus and XSB all allow for the toplevel
+	  command "make predicate_check_test" to check the generated
+	  ppl_prolog.icc code for the chosen set of instantiations.
+
+	  Note that XSB cannot manage more than three instantiations (eg
+	  "Polyhedron at Grid@Pointset_Powerset<C_Polyhedron>") at any one
+	  time.
+
+2008-01-18 Friday 10:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* instchk.hh (1.11),
+	  interfaces/ppl_interface_generator_common_dat.m4 (1.41): The
+	  instantiations for the powerset domains when the disjunct is a
+	  polyhedron is changed and now the topology must be explicit.
+	  Ie., the configuration instantiations option
+	  Pointset_Powerset<Polyhedron> is disabled but instead
+	  Pointset_Powerset<C_Polyhedron> and
+	  Pointset_Powerset<NNC_Polyhedron> are both enabled.
+
+2008-01-17 Thursday 16:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.40),
+	  interfaces/Prolog/ppl_interface_generator_prolog_dat.m4 (1.43),
+	  interfaces/Prolog/tests/ppl_predicate_check_common.pl (1.8),
+	  src/Pointset_Powerset.defs.hh (1.29),
+	  src/Pointset_Powerset.templates.hh (1.25),
+	  tests/Polyhedron/Makefile.am (1.119),
+	  tests/Polyhedron/pointsetpowerset5.cc (1.1): For the powerset
+	  domains, added methods for relation_with() for constraint,
+	  congruence and generator to all the interfaces.
+
+	  In the interfaces, also enable the grids to have relation_with()
+	  for a generator.
+
+2008-01-17 Thursday 13:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.39),
+	  src/Pointset_Powerset.defs.hh (1.28),
+	  src/Pointset_Powerset.templates.hh (1.24),
+	  tests/Polyhedron/pointsetpowerset4.cc (1.5): For the powerset
+	  domain, the method topological_closure_assign() added to all the
+	  interfaces.
+
+2008-01-17 Thursday 12:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.38),
+	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.42),
+	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.59): Now allow for several more predicates for the powerset
+	  domain.  In particular all the recent additions in the main C++
+	  interface are now included in the Prolog interface.
+
+2008-01-17 Thursday 11:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Pointset_Powerset.defs.hh (1.27),
+	  src/Pointset_Powerset.inlines.hh (1.11),
+	  src/Pointset_Powerset.templates.hh (1.23),
+	  tests/Polyhedron/pointsetpowerset4.cc (1.4): For the powerset
+	  domain, added methods intersection_assign_and_minimize(),
+	  contains() and strictly_contains() with appropriate tests.
+
+2008-01-17 Thursday 09:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Pointset_Powerset.defs.hh (1.26),
+	  src/Pointset_Powerset.templates.hh (1.22),
+	  tests/Polyhedron/pointsetpowerset4.cc (1.3): For the powerset
+	  domain, added methods add_congruence(),
+	  add_congruence_and_minimize(), add_congruences() and
+	  add_congruences_and_minimize() with tests.
+
+2008-01-17 Thursday 08:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Pointset_Powerset.templates.hh (1.21),
+	  tests/Polyhedron/pointsetpowerset4.cc (1.2): Fixed some bugs in
+	  code for maximize() and minimize() for the powerset domains and
+	  improved the tests.
+
+2008-01-16 Wednesday 21:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.41),
+	  tests/ppl_interface_generator_predicate_check_code.m4 (1.58): Now
+	  allow for
+	  ppl_Pointset_Powerset_..._equals_ppl_Pointset_Powerset_..._ in
+	  the Prolog interface.
+
+2008-01-16 Wednesday 21:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_dat.m4 (1.40):
+	  Now the interfaces can support bounds_from_above/below() and
+	  maximize/minimize for the powerset domain.  Also added support
+	  for bounds_from_above/below() for bd shapes and octagonal shapes
+	  in Prolog.
+
+2008-01-16 Wednesday 17:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Pointset_Powerset.defs.hh (1.25),
+	  src/Pointset_Powerset.templates.hh (1.20),
+	  tests/Polyhedron/Makefile.am (1.118),
+	  tests/Polyhedron/pointsetpowerset4.cc (1.1): For the powerset
+	  domains, added methods: bounds_from_above(), bounds_from_below(),
+	  maximize() and minimize() - both with and without returning the
+	  point.  Tests added to check these.
+
+2008-01-16 Wednesday 09:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/pointsetpowerset3.cc (simplex.1): file
+	  pointsetpowerset3.cc was added on branch simplex on 2008-06-06
+	  14:22:13 +0000
+
+2008-01-16 Wednesday 09:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Pointset_Powerset.defs.hh (1.24),
+	  src/Pointset_Powerset.templates.hh (1.19),
+	  tests/Polyhedron/pointsetpowerset3.cc (1.2): Added to the
+	  powerset domain methods is_discrete() and is_disjoint_from().
+
+2008-01-15 Tuesday 17:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.37),
+	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.39): Added the
+	  is_empty(), is_universe(), is_topologically_closed() and
+	  is_bounded() for powersets to the Prolog interfaces.
+
+2008-01-15 Tuesday 15:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Pointset_Powerset.defs.hh (1.23),
+	  src/Pointset_Powerset.templates.hh (1.18),
+	  tests/Polyhedron/Makefile.am (1.117),
+	  tests/Polyhedron/pointsetpowerset3.cc (1.1): Added to the
+	  pointset powerset domain tests is_empty() is_universe()
+	  is_topologically_closed() and is_bounded().  Tests for these also
+	  added.
+
+	  Note: in the code for is_universe() there are the 2 FIXME
+	  comments:	// FIXME: this is not the most efficient
+	  implementation.      // FIXME: this is buggy when PS is not an
+	  abstraction of NNC_Polyhedron.
+
+2008-01-15 Tuesday 13:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: Grid.defs.hh (1.64), Grid_chdims.cc (1.22),
+	  Grid_nonpublic.cc (1.33), Grid_public.cc (1.65): Replaced bad
+	  coding style in Boolean expressions by a more readable style.
+	  Also update_congruences() now returns void and not bool.
+
+2008-01-15 Tuesday 10:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.36),
+	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.57): Support for minimized representations added.
+
+2008-01-15 Tuesday 10:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid_public.cc (1.64): Change to correct the bug in
+	  minimized_congruences().
+
+2008-01-15 Tuesday 09:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/mincongruences1.cc (1.12): Changed test04 to show a
+	  bug: an extra OK() test shows that after minimized_congruences(),
+	  the grid is not ok.
+
+2008-01-15 Tuesday 08:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_dat.m4 (1.38):
+	  Undone a change yesterday, that affected the compilation of
+	  SICStus and Ciao, for the generalized image for grids which needs
+	  a different arity to that for the other domains.
+
+2008-01-14 Monday 18:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/BD_Shape.defs.hh (1.110), src/BD_Shape.inlines.hh (1.156),
+	  src/Octagonal_Shape.defs.hh (1.38),
+	  src/Octagonal_Shape.inlines.hh (1.27), src/Polyhedron.defs.hh
+	  (1.330), src/Polyhedron.inlines.hh (1.146),
+	  tests/BD_Shape/Makefile.am (1.71), tests/BD_Shape/congruences1.cc
+	  (1.1), tests/Octagonal_Shape/Makefile.am (1.24),
+	  tests/Octagonal_Shape/congruences1.cc (1.1),
+	  tests/Polyhedron/addcongruence1.cc (1.10): Added methods for
+	  add_congruence_and_minimize in order that we have a uniform set
+	  of methods across all simple classes.
+
+	  Also corrected congruences() and minimized_congruences() in the
+	  BD_Shape and Octagonal_Shape domains which were wrong for empty
+	  elements.
+
+	  Added tests for all these methods which were untested.
+
+2008-01-14 Monday 16:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	*
+	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4
+	  (1.7): Wrong file name corrected.
+
+2008-01-14 Monday 16:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/:
+	  ppl_interface_generator_predicate_check_code.m4 (1.56),
+	  ppl_interface_generator_predicate_check_pl.m4 (1.29),
+	  ppl_predicate_check_common.pl (1.7): Some of the changes needed
+	  to get the interfaces working in Ciao Prolog.  For instance /= is
+	  changed to /==.  Also all the generated test predicates are
+	  declared as dynamic as some are never defined in the test code.
+
+2008-01-14 Monday 11:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.35):
+	  Improvements to layout and similar to the m4 code.
+
+2008-01-14 Monday 10:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.34): Added
+	  support for building from congruences for all the domains.  Added
+	  support for contains_integer_point for the powerset domain.
+
+2008-01-13 Sunday 22:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.37),
+	  ppl_interface_generator_prolog_icc_code.m4 (1.54),
+	  tests/ppl_interface_generator_predicate_check_code.m4 (1.55):
+	  Expanded the number of predicates generated for classes such as
+	  Octagonal_Shape<...> and Pointset_Powerset<...>.
+
+	  Fixed a bug in the m4 code for generating ppl_prolog.icc when
+	  building a class from a box.	Note that the bug only was apparent
+	  for classes with a templatic argument such as
+	  Octagonal_Shape<...>.
+
+	  In the m4 code for generating ppl_predicate_check.pl tests
+	  modified to allow for the larger set of classes.
+
+2008-01-13 Sunday 17:53  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.33),
+	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.36),
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.53):
+	  Upgraded the friend replacement code to allow for the simple
+	  classes (eg polyhedra, bd shapes, grids) to build from other
+	  simple classes that are in the list of instantiations.
+
+2008-01-13 Sunday 13:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_icc_code.m4
+	  (1.52), tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.54): Corrected bug in m4 generating code for ppl_prolog.icc
+	  for the powersets linear_partition predicate.
+
+	  Also corrected test for linear_partition in m4 generating code
+	  for ppl_predicate_check.pl
+
+2008-01-13 Sunday 11:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/: ppl_interface_generator_java_dat.m4 (1.13),
+	  jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.35): The string "@FRINED@" was wrongly used.  As the
+	  definition of FRIEND in m4 is being revised to allow more classes
+	  to be built from other classes, this wrong use will become a bug
+	  if it is not corrected.
+
+2008-01-12 Saturday 23:10  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/:
+	  ppl_interface_generator_predicate_check_code.m4 (1.53),
+	  ppl_predicate_check_common.pl (1.6): In
+	  ppl_interface_generator_predicate_check_code.m4 corrected syntax
+	  error.
+
+	  In ppl_predicate_check_common.pl revised expected relations for
+	  grids to match changes in src code.
+
+2008-01-09 Wednesday 22:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/: Java/jni/.cvsignore (1.4), Prolog/Ciao/.cvsignore
+	  (1.7), Prolog/GNU/.cvsignore (1.7), Prolog/SICStus/.cvsignore
+	  (1.8), Prolog/SWI/.cvsignore (1.8), Prolog/XSB/.cvsignore (1.6),
+	  Prolog/YAP/.cvsignore (1.7): Updated.
+
+2008-01-09 Wednesday 22:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/: Java/.cvsignore (1.2), Java/jni/.cvsignore (1.3),
+	  Java/tests/.cvsignore (1.2), Prolog/.cvsignore (1.2),
+	  Prolog/tests/.cvsignore (1.2): Updated.
+
+2008-01-09 Wednesday 22:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/.cvsignore (1.7), Watchdog/src/.cvsignore (1.3),
+	  interfaces/OCaml/.cvsignore (1.4),
+	  interfaces/Prolog/Ciao/.cvsignore (1.6),
+	  interfaces/Prolog/GNU/.cvsignore (1.6),
+	  interfaces/Prolog/SICStus/.cvsignore (1.7),
+	  interfaces/Prolog/SWI/.cvsignore (1.7),
+	  interfaces/Prolog/XSB/.cvsignore (1.5),
+	  interfaces/Prolog/YAP/.cvsignore (1.6), src/.cvsignore (1.12):
+	  Ignore *.loT files.
+
+2008-01-09 Wednesday 22:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* .cvsignore (1.8), Watchdog/.cvsignore (1.6),
+	  interfaces/.cvsignore (1.2), interfaces/C/.cvsignore (1.4),
+	  interfaces/Java/jni/.cvsignore (1.2), src/.cvsignore (1.11):
+	  Updated.
+
+2008-01-09 Wednesday 12:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec (1.4): Avoid multiarch conflicts when installed
+	  for multiple architectures.
+
+2008-01-09 Wednesday 12:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/: ppl.hh (1.1), ppl_c.h (1.1), pwl.hh (1.1): Header file
+	  switchers to avoid multiarch conflicts when the PPL and PWL are
+	  installed for multiple architectures (e.g., i386 and x86_64).
+
+2008-01-09 Wednesday 12:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.hh (simplex.1): file ppl.hh was added on branch
+	  simplex on 2008-06-06 14:21:56 +0000
+
+2008-01-09 Wednesday 12:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl_c.h (simplex.1): file ppl_c.h was added on branch
+	  simplex on 2008-06-06 14:21:56 +0000
+
+2008-01-09 Wednesday 12:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/pwl.hh (simplex.1): file pwl.hh was added on branch
+	  simplex on 2008-06-06 14:21:56 +0000
+
+2008-01-07 Monday 12:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* COPYING, CREDITS, ChangeLog, INSTALL, Makefile.am, NEWS, README,
+	  README.configure, STANDARDS, TODO, compile, config.guess,
+	  config.sub, configure.ac, depcomp, install-sh, instchk.hh,
+	  ltmain.sh, ppl.spec.in, Watchdog/COPYING, Watchdog/ChangeLog,
+	  Watchdog/INSTALL, Watchdog/Makefile.am, Watchdog/NEWS,
+	  Watchdog/README, Watchdog/compile, Watchdog/config.guess,
+	  Watchdog/config.sub, Watchdog/configure.ac, Watchdog/ltmain.sh,
+	  Watchdog/doc/.cvsignore, Watchdog/doc/Makefile.am,
+	  Watchdog/doc/README.doc, Watchdog/doc/devref.doxyconf-html.in,
+	  Watchdog/doc/devref.doxyconf-latex.in, Watchdog/doc/devref.tex,
+	  Watchdog/doc/fdl.dox, Watchdog/doc/fdl.tex, Watchdog/doc/fdl.txt,
+	  Watchdog/doc/gpl.dox, Watchdog/doc/gpl.tex, Watchdog/doc/gpl.txt,
+	  Watchdog/doc/pwl.sty, Watchdog/doc/user.doxyconf-html.in,
+	  Watchdog/doc/user.doxyconf-latex.in, Watchdog/doc/user.tex,
+	  Watchdog/m4/.cvsignore, Watchdog/m4/Makefile.am,
+	  Watchdog/m4/ax_prefix_config_h.m4,
+	  Watchdog/src/Doubly_Linked_Object.defs.hh,
+	  Watchdog/src/Doubly_Linked_Object.inlines.hh,
+	  Watchdog/src/Doubly_Linked_Object.types.hh,
+	  Watchdog/src/EList.defs.hh, Watchdog/src/EList.inlines.hh,
+	  Watchdog/src/EList.types.hh, Watchdog/src/EList_Iterator.defs.hh,
+	  Watchdog/src/EList_Iterator.inlines.hh,
+	  Watchdog/src/EList_Iterator.types.hh,
+	  Watchdog/src/Handler.defs.hh, Watchdog/src/Handler.inlines.hh,
+	  Watchdog/src/Handler.types.hh, Watchdog/src/Makefile.am,
+	  Watchdog/src/Pending_Element.cc,
+	  Watchdog/src/Pending_Element.defs.hh,
+	  Watchdog/src/Pending_Element.inlines.hh,
+	  Watchdog/src/Pending_Element.types.hh,
+	  Watchdog/src/Pending_List.cc, Watchdog/src/Pending_List.defs.hh,
+	  Watchdog/src/Pending_List.inlines.hh,
+	  Watchdog/src/Pending_List.types.hh, Watchdog/src/Time.cc,
+	  Watchdog/src/Time.defs.hh, Watchdog/src/Time.inlines.hh,
+	  Watchdog/src/Time.types.hh, Watchdog/src/Watchdog.cc,
+	  Watchdog/src/Watchdog.defs.hh, Watchdog/src/Watchdog.inlines.hh,
+	  Watchdog/src/Watchdog.types.hh, Watchdog/src/pwl_header.hh,
+	  Watchdog/utils/Makefile.am, Watchdog/utils/build_header.in,
+	  debian/Makefile.am, debian/libppl-pwl.copyright.in,
+	  debian/libppl.copyright.in, demos/Makefile.am,
+	  demos/ppl_lcdd/Makefile.am, demos/ppl_lcdd/ppl_lcdd.cc,
+	  demos/ppl_lcdd/examples/Makefile.am, demos/ppl_lpsol/Makefile.am,
+	  demos/ppl_lpsol/expected_int16, demos/ppl_lpsol/expected_int16_a,
+	  demos/ppl_lpsol/expected_int32, demos/ppl_lpsol/expected_int32_a,
+	  demos/ppl_lpsol/expected_int64, demos/ppl_lpsol/expected_int64_a,
+	  demos/ppl_lpsol/expected_int8, demos/ppl_lpsol/expected_int8_a,
+	  demos/ppl_lpsol/expected_mpz, demos/ppl_lpsol/expected_mpz_a,
+	  demos/ppl_lpsol/ppl_lpsol.c,
+	  demos/ppl_lpsol/examples/Makefile.am,
+	  demos/ppl_lpsol/examples/README,
+	  demos/ppl_lpsol/examples/egout.mps,
+	  demos/ppl_lpsol/examples/ex12.mps,
+	  demos/ppl_lpsol/examples/lseu.mps,
+	  demos/ppl_lpsol/examples/markshare1.mps,
+	  demos/ppl_lpsol/examples/markshare2.mps,
+	  demos/ppl_lpsol/examples/mas74.mps,
+	  demos/ppl_lpsol/examples/mas76.mps,
+	  demos/ppl_lpsol/examples/modglob.mps,
+	  demos/ppl_lpsol/examples/noswot.mps,
+	  demos/ppl_lpsol/examples/opt1217.mps,
+	  demos/ppl_lpsol/examples/p0033.mps,
+	  demos/ppl_lpsol/examples/pk1.mps,
+	  demos/ppl_lpsol/examples/rout.mps, doc/Makefile.am,
+	  doc/README.doc, doc/definitions.dox,
+	  doc/devref-c-interface.doxyconf-html.in,
+	  doc/devref-c-interface.doxyconf-latex.in,
+	  doc/devref-c-interface.tex,
+	  doc/devref-prolog-interface.doxyconf-html.in,
+	  doc/devref-prolog-interface.doxyconf-latex.in,
+	  doc/devref.doxyconf-html.in, doc/devref.doxyconf-latex.in,
+	  doc/devref.tex, doc/gpl.dox, doc/gpl.tex, doc/gpl.txt,
+	  doc/ppl-config.1, doc/ppl-config_extra_man_text, doc/ppl.sty,
+	  doc/ppl_lcdd.1, doc/ppl_lcdd_extra_man_text, doc/ppl_lpsol.1,
+	  doc/ppl_lpsol_extra_man_text, doc/prog2man,
+	  doc/user-c-interface.doxyconf-html.in,
+	  doc/user-c-interface.doxyconf-latex.in, doc/user-c-interface.tex,
+	  doc/user-prolog-interface.doxyconf-html.in,
+	  doc/user-prolog-interface.doxyconf-latex.in,
+	  doc/user-prolog-interface.tex, doc/user.doxyconf-html.in,
+	  doc/user.doxyconf-latex.in, doc/user.tex, fedora/.cvsignore,
+	  fedora/Makefile.am, fedora/ppl.spec, interfaces/Makefile.am,
+	  interfaces/ppl_interface_generator_common.m4,
+	  interfaces/ppl_interface_generator_common_dat.m4,
+	  interfaces/ppl_interface_generator_copyright,
+	  interfaces/C/C_interface.dox, interfaces/C/Makefile.am,
+	  interfaces/C/ppl_c.cc, interfaces/C/ppl_c.h.in,
+	  interfaces/C/ppl_c_version.h.in,
+	  interfaces/C/ppl_interface_generator_c_cc.m4,
+	  interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	  interfaces/C/ppl_interface_generator_c_cc_preamble,
+	  interfaces/C/ppl_interface_generator_c_dat.m4,
+	  interfaces/C/ppl_interface_generator_c_h.m4,
+	  interfaces/C/ppl_interface_generator_c_h_code.m4,
+	  interfaces/C/ppl_interface_generator_c_h_preamble,
+	  interfaces/Java/.cvsignore, interfaces/Java/Makefile.am,
+	  interfaces/Java/ppl_interface_generator_java_dat.m4,
+	  interfaces/Java/jni/.cvsignore, interfaces/Java/jni/Makefile.am,
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4,
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4,
+	  interfaces/Java/jni/ppl_java_common.cc,
+	  interfaces/Java/jni/ppl_java_common.hh,
+	  interfaces/Java/jni/ppl_java_globals.cc,
+	  interfaces/Java/tests/.cvsignore,
+	  interfaces/Java/tests/C_Polyhedron_test1.java,
+	  interfaces/Java/tests/Makefile.am,
+	  interfaces/Java/tests/Test_Partial_Function.java,
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java.m4,
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4,
+	  interfaces/Java/tests/ppl_java_tests_common,
+	  interfaces/OCaml/Makefile.am, interfaces/OCaml/README.ocaml,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_cc.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_dat.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4,
+	  interfaces/OCaml/ppl_ocaml_globals.cc,
+	  interfaces/OCaml/ppl_ocaml_globals.ml,
+	  interfaces/OCaml/ppl_ocaml_types.ml, interfaces/OCaml/test1.ml,
+	  interfaces/Prolog/Makefile.am,
+	  interfaces/Prolog/Prolog_interface.dox,
+	  interfaces/Prolog/exceptions.hh,
+	  interfaces/Prolog/ppl_interface_generator_prolog_dat.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_systems.m4,
+	  interfaces/Prolog/ppl_prolog.icc,
+	  interfaces/Prolog/ppl_prolog_common.icc,
+	  interfaces/Prolog/track_allocation.hh,
+	  interfaces/Prolog/Ciao/Makefile.am,
+	  interfaces/Prolog/Ciao/ciao_cfli.hh,
+	  interfaces/Prolog/Ciao/ciao_clpq.pl,
+	  interfaces/Prolog/Ciao/ciao_clpq2.pl,
+	  interfaces/Prolog/Ciao/ciao_pl_check.pl,
+	  interfaces/Prolog/Ciao/ppl_ciao.cc,
+	  interfaces/Prolog/Ciao/ppl_ciao.pl,
+	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4,
+	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4,
+	  interfaces/Prolog/GNU/Makefile.am, interfaces/Prolog/GNU/README,
+	  interfaces/Prolog/GNU/README.gprolog,
+	  interfaces/Prolog/GNU/gnu_pl_check.pl,
+	  interfaces/Prolog/GNU/gp_clpq.pl,
+	  interfaces/Prolog/GNU/gprolog_cfli.hh,
+	  interfaces/Prolog/GNU/ppl_gprolog.pl,
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc,
+	  interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4,
+	  interfaces/Prolog/SICStus/Makefile.am,
+	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4,
+	  interfaces/Prolog/SICStus/ppl_sicstus.pl,
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
+	  interfaces/Prolog/SICStus/sicstus_cfli.cc,
+	  interfaces/Prolog/SICStus/sicstus_cfli.h,
+	  interfaces/Prolog/SICStus/sicstus_cfli.ic,
+	  interfaces/Prolog/SICStus/sp_clpq.pl,
+	  interfaces/Prolog/SICStus/sp_pl_check.pl,
+	  interfaces/Prolog/SICStus/sp_predicate_check.pl,
+	  interfaces/Prolog/SWI/Makefile.am,
+	  interfaces/Prolog/SWI/README.swiprolog,
+	  interfaces/Prolog/SWI/pl_clpq.cc,
+	  interfaces/Prolog/SWI/pl_clpq.pl,
+	  interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4,
+	  interfaces/Prolog/SWI/ppl_pl.cc,
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
+	  interfaces/Prolog/SWI/ppl_swiprolog.pl,
+	  interfaces/Prolog/SWI/swi_cfli.hh,
+	  interfaces/Prolog/SWI/swi_pl_check.pl,
+	  interfaces/Prolog/SWI/swi_predicate_check.pl,
+	  interfaces/Prolog/XSB/Makefile.am,
+	  interfaces/Prolog/XSB/expected_clpq2_int16,
+	  interfaces/Prolog/XSB/expected_clpq2_int16_a,
+	  interfaces/Prolog/XSB/expected_clpq2_int32,
+	  interfaces/Prolog/XSB/expected_clpq2_int32_a,
+	  interfaces/Prolog/XSB/expected_clpq2_int64,
+	  interfaces/Prolog/XSB/expected_clpq2_int64_a,
+	  interfaces/Prolog/XSB/expected_clpq2_int8,
+	  interfaces/Prolog/XSB/expected_clpq2_int8_a,
+	  interfaces/Prolog/XSB/expected_clpq2_mpz,
+	  interfaces/Prolog/XSB/expected_clpq2_mpz_a,
+	  interfaces/Prolog/XSB/expected_clpq_int16,
+	  interfaces/Prolog/XSB/expected_clpq_int16_a,
+	  interfaces/Prolog/XSB/expected_clpq_int32,
+	  interfaces/Prolog/XSB/expected_clpq_int32_a,
+	  interfaces/Prolog/XSB/expected_clpq_int64,
+	  interfaces/Prolog/XSB/expected_clpq_int64_a,
+	  interfaces/Prolog/XSB/expected_clpq_int8,
+	  interfaces/Prolog/XSB/expected_clpq_int8_a,
+	  interfaces/Prolog/XSB/expected_clpq_mpz,
+	  interfaces/Prolog/XSB/expected_clpq_mpz_a,
+	  interfaces/Prolog/XSB/expected_pchk_int16,
+	  interfaces/Prolog/XSB/expected_pchk_int16_a,
+	  interfaces/Prolog/XSB/expected_pchk_int32,
+	  interfaces/Prolog/XSB/expected_pchk_int32_a,
+	  interfaces/Prolog/XSB/expected_pchk_int64,
+	  interfaces/Prolog/XSB/expected_pchk_int64_a,
+	  interfaces/Prolog/XSB/expected_pchk_int8,
+	  interfaces/Prolog/XSB/expected_pchk_int8_a,
+	  interfaces/Prolog/XSB/expected_pchk_mpz,
+	  interfaces/Prolog/XSB/expected_pchk_mpz_a,
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4,
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4,
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_predicate_check_P.m4,
+	  interfaces/Prolog/XSB/ppl_xsb.H,
+	  interfaces/Prolog/XSB/ppl_xsb.cc,
+	  interfaces/Prolog/XSB/xsb_cfli.hh,
+	  interfaces/Prolog/XSB/xsb_clpq.P,
+	  interfaces/Prolog/XSB/xsb_clpq2.P,
+	  interfaces/Prolog/XSB/xsb_pl_check.P,
+	  interfaces/Prolog/YAP/Makefile.am,
+	  interfaces/Prolog/YAP/README.yap,
+	  interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4,
+	  interfaces/Prolog/YAP/ppl_yap.cc,
+	  interfaces/Prolog/YAP/ppl_yap.pl,
+	  interfaces/Prolog/YAP/yap_cfli.hh,
+	  interfaces/Prolog/YAP/yap_clpq.pl,
+	  interfaces/Prolog/YAP/yap_clpq2.pl,
+	  interfaces/Prolog/YAP/yap_pl_check.pl,
+	  interfaces/Prolog/tests/Makefile.am,
+	  interfaces/Prolog/tests/clpq.pl,
+	  interfaces/Prolog/tests/clpq2.pl,
+	  interfaces/Prolog/tests/expected_clpq2_int16,
+	  interfaces/Prolog/tests/expected_clpq2_int16_a,
+	  interfaces/Prolog/tests/expected_clpq2_int32,
+	  interfaces/Prolog/tests/expected_clpq2_int32_a,
+	  interfaces/Prolog/tests/expected_clpq2_int64,
+	  interfaces/Prolog/tests/expected_clpq2_int64_a,
+	  interfaces/Prolog/tests/expected_clpq2_int8,
+	  interfaces/Prolog/tests/expected_clpq2_int8_a,
+	  interfaces/Prolog/tests/expected_clpq2_mpz,
+	  interfaces/Prolog/tests/expected_clpq2_mpz_a,
+	  interfaces/Prolog/tests/expected_clpq_int16,
+	  interfaces/Prolog/tests/expected_clpq_int16_a,
+	  interfaces/Prolog/tests/expected_clpq_int32,
+	  interfaces/Prolog/tests/expected_clpq_int32_a,
+	  interfaces/Prolog/tests/expected_clpq_int64,
+	  interfaces/Prolog/tests/expected_clpq_int64_a,
+	  interfaces/Prolog/tests/expected_clpq_int8,
+	  interfaces/Prolog/tests/expected_clpq_int8_a,
+	  interfaces/Prolog/tests/expected_clpq_mpz,
+	  interfaces/Prolog/tests/expected_clpq_mpz_a,
+	  interfaces/Prolog/tests/expected_pchk_int8,
+	  interfaces/Prolog/tests/expected_pchk_int8_a,
+	  interfaces/Prolog/tests/pl_check.pl,
+	  interfaces/Prolog/tests/pl_grid_check.pl,
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4,
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4,
+	  interfaces/Prolog/tests/ppl_predicate_check_common.pl,
+	  m4/Makefile.am, m4/ac_check_classpath.m4,
+	  m4/ac_check_fpu_control.m4, m4/ac_check_gmp.m4,
+	  m4/ac_check_sicstus_prolog.m4, m4/ac_check_swi_prolog.m4,
+	  m4/ac_check_xsb_prolog.m4, m4/ac_cxx_attribute_weak.m4,
+	  m4/ac_cxx_double_binary_format.m4, m4/ac_cxx_flexible_arrays.m4,
+	  m4/ac_cxx_float_binary_format.m4,
+	  m4/ac_cxx_long_double_binary_format.m4,
+	  m4/ac_cxx_proper_long_double.m4, m4/ac_cxx_remainder_bug.m4,
+	  m4/ac_prog_jar.m4, m4/ac_prog_java.m4, m4/ac_prog_javac.m4,
+	  m4/ac_prog_javah.m4, m4/ac_text_md5sum.m4,
+	  m4/ax_prefix_config_h.m4, m4/ppl.m4, m4/ppl_c.m4,
+	  src/Any_Pointset.defs.hh, src/Any_Pointset.inlines.hh,
+	  src/Any_Pointset.types.hh, src/Ask_Tell.defs.hh,
+	  src/Ask_Tell.inlines.hh, src/Ask_Tell.templates.hh,
+	  src/Ask_Tell.types.hh, src/BDS_Status.idefs.hh,
+	  src/BDS_Status.inlines.hh, src/BD_Shape.cc, src/BD_Shape.defs.hh,
+	  src/BD_Shape.inlines.hh, src/BD_Shape.templates.hh,
+	  src/BD_Shape.types.hh, src/BHRZ03_Certificate.cc,
+	  src/BHRZ03_Certificate.defs.hh,
+	  src/BHRZ03_Certificate.inlines.hh,
+	  src/BHRZ03_Certificate.types.hh, src/Bit_Matrix.cc,
+	  src/Bit_Matrix.defs.hh, src/Bit_Matrix.inlines.hh,
+	  src/Bit_Matrix.types.hh, src/Bit_Row.cc, src/Bit_Row.defs.hh,
+	  src/Bit_Row.inlines.hh, src/Bit_Row.types.hh,
+	  src/Boundary.defs.hh, src/Bounding_Box.cc,
+	  src/Bounding_Box.defs.hh, src/Bounding_Box.inlines.hh,
+	  src/Bounding_Box.types.hh, src/Box.cc, src/Box.defs.hh,
+	  src/Box.inlines.hh, src/Box.templates.hh, src/Box.types.hh,
+	  src/C_Integer.hh, src/C_Polyhedron.cc, src/C_Polyhedron.defs.hh,
+	  src/C_Polyhedron.inlines.hh, src/C_Polyhedron.types.hh,
+	  src/Checked_Number.cc, src/Checked_Number.defs.hh,
+	  src/Checked_Number.inlines.hh, src/Checked_Number.types.hh,
+	  src/Coefficient.cc, src/Coefficient.defs.hh,
+	  src/Coefficient.inlines.hh, src/Coefficient.types.hh,
+	  src/Coefficient_traits_template.hh, src/Congruence.cc,
+	  src/Congruence.defs.hh, src/Congruence.inlines.hh,
+	  src/Congruence.types.hh, src/Congruence_System.cc,
+	  src/Congruence_System.defs.hh, src/Congruence_System.inlines.hh,
+	  src/Congruence_System.types.hh, src/Constraint.cc,
+	  src/Constraint.defs.hh, src/Constraint.inlines.hh,
+	  src/Constraint.types.hh, src/Constraint_System.cc,
+	  src/Constraint_System.defs.hh, src/Constraint_System.inlines.hh,
+	  src/Constraint_System.types.hh, src/DB_Matrix.defs.hh,
+	  src/DB_Matrix.inlines.hh, src/DB_Matrix.templates.hh,
+	  src/DB_Matrix.types.hh, src/DB_Row.defs.hh,
+	  src/DB_Row.inlines.hh, src/DB_Row.templates.hh,
+	  src/DB_Row.types.hh, src/Determinate.defs.hh,
+	  src/Determinate.inlines.hh, src/Determinate.types.hh,
+	  src/Direct_Product.defs.hh, src/Direct_Product.inlines.hh,
+	  src/Direct_Product.templates.hh, src/Direct_Product.types.hh,
+	  src/Float.cc, src/Float.defs.hh, src/Float.inlines.hh,
+	  src/GMP_Integer.defs.hh, src/GMP_Integer.inlines.hh,
+	  src/GMP_Integer.types.hh, src/Generator.cc,
+	  src/Generator.defs.hh, src/Generator.inlines.hh,
+	  src/Generator.types.hh, src/Generator_System.cc,
+	  src/Generator_System.defs.hh, src/Generator_System.inlines.hh,
+	  src/Generator_System.types.hh, src/Grid.defs.hh,
+	  src/Grid.inlines.hh, src/Grid.templates.hh, src/Grid.types.hh,
+	  src/Grid_Certificate.cc, src/Grid_Certificate.defs.hh,
+	  src/Grid_Certificate.inlines.hh, src/Grid_Certificate.types.hh,
+	  src/Grid_Generator.cc, src/Grid_Generator.defs.hh,
+	  src/Grid_Generator.inlines.hh, src/Grid_Generator.types.hh,
+	  src/Grid_Generator_System.cc, src/Grid_Generator_System.defs.hh,
+	  src/Grid_Generator_System.inlines.hh,
+	  src/Grid_Generator_System.types.hh, src/Grid_Status.cc,
+	  src/Grid_Status.idefs.hh, src/Grid_Status.inlines.hh,
+	  src/Grid_chdims.cc, src/Grid_conversion.cc,
+	  src/Grid_nonpublic.cc, src/Grid_public.cc, src/Grid_simplify.cc,
+	  src/Grid_widenings.cc, src/H79_Certificate.cc,
+	  src/H79_Certificate.defs.hh, src/H79_Certificate.inlines.hh,
+	  src/H79_Certificate.types.hh, src/Has_Assign_Or_Swap.hh,
+	  src/Init.cc, src/Init.defs.hh, src/Init.types.hh,
+	  src/Interval.cc, src/Interval.defs.hh, src/Interval.inlines.hh,
+	  src/Interval.templates.hh, src/Interval.types.hh,
+	  src/Interval_Info.defs.hh, src/Interval_Info.inlines.hh,
+	  src/Interval_Info.types.hh, src/Interval_Restriction.defs.hh,
+	  src/LP_Problem.cc, src/LP_Problem.defs.hh,
+	  src/LP_Problem.inlines.hh, src/LP_Problem.types.hh,
+	  src/Limits.hh, src/Linear_Expression.cc,
+	  src/Linear_Expression.defs.hh, src/Linear_Expression.inlines.hh,
+	  src/Linear_Expression.types.hh, src/Linear_Row.cc,
+	  src/Linear_Row.defs.hh, src/Linear_Row.inlines.hh,
+	  src/Linear_Row.types.hh, src/Linear_System.cc,
+	  src/Linear_System.defs.hh, src/Linear_System.inlines.hh,
+	  src/Linear_System.types.hh, src/MIP_Problem.cc,
+	  src/MIP_Problem.defs.hh, src/MIP_Problem.inlines.hh,
+	  src/MIP_Problem.templates.hh, src/MIP_Problem.types.hh,
+	  src/Makefile.am, src/Matrix.cc, src/Matrix.defs.hh,
+	  src/Matrix.inlines.hh, src/Matrix.types.hh,
+	  src/NNC_Polyhedron.cc, src/NNC_Polyhedron.defs.hh,
+	  src/NNC_Polyhedron.inlines.hh, src/NNC_Polyhedron.types.hh,
+	  src/Numeric_Format.defs.hh, src/OR_Matrix.defs.hh,
+	  src/OR_Matrix.inlines.hh, src/OR_Matrix.templates.hh,
+	  src/OR_Matrix.types.hh, src/Octagonal_Shape.cc,
+	  src/Octagonal_Shape.defs.hh, src/Octagonal_Shape.inlines.hh,
+	  src/Octagonal_Shape.templates.hh, src/Octagonal_Shape.types.hh,
+	  src/Og_Status.idefs.hh, src/Og_Status.inlines.hh,
+	  src/Partially_Reduced_Product.defs.hh,
+	  src/Partially_Reduced_Product.inlines.hh,
+	  src/Partially_Reduced_Product.templates.hh,
+	  src/Partially_Reduced_Product.types.hh, src/Ph_Status.cc,
+	  src/Ph_Status.idefs.hh, src/Ph_Status.inlines.hh,
+	  src/Pointset_Ask_Tell.cc, src/Pointset_Ask_Tell.defs.hh,
+	  src/Pointset_Ask_Tell.inlines.hh,
+	  src/Pointset_Ask_Tell.templates.hh,
+	  src/Pointset_Ask_Tell.types.hh, src/Pointset_Powerset.cc,
+	  src/Pointset_Powerset.defs.hh, src/Pointset_Powerset.inlines.hh,
+	  src/Pointset_Powerset.templates.hh,
+	  src/Pointset_Powerset.types.hh, src/Poly_Con_Relation.cc,
+	  src/Poly_Con_Relation.defs.hh, src/Poly_Con_Relation.inlines.hh,
+	  src/Poly_Con_Relation.types.hh, src/Poly_Gen_Relation.cc,
+	  src/Poly_Gen_Relation.defs.hh, src/Poly_Gen_Relation.inlines.hh,
+	  src/Poly_Gen_Relation.types.hh, src/Polyhedra_Powerset.cc,
+	  src/Polyhedra_Powerset.defs.hh,
+	  src/Polyhedra_Powerset.inlines.hh,
+	  src/Polyhedra_Powerset.templates.hh,
+	  src/Polyhedra_Powerset.types.hh, src/Polyhedron.defs.hh,
+	  src/Polyhedron.inlines.hh, src/Polyhedron.templates.hh,
+	  src/Polyhedron.types.hh, src/Polyhedron_chdims.cc,
+	  src/Polyhedron_nonpublic.cc, src/Polyhedron_public.cc,
+	  src/Polyhedron_widenings.cc, src/Powerset.defs.hh,
+	  src/Powerset.inlines.hh, src/Powerset.templates.hh,
+	  src/Powerset.types.hh, src/Ptr_Iterator.defs.hh,
+	  src/Ptr_Iterator.inlines.hh, src/Ptr_Iterator.types.hh,
+	  src/Rational_Box.hh, src/Result.defs.hh, src/Result.inlines.hh,
+	  src/Rounding_Dir.defs.hh, src/Rounding_Dir.inlines.hh,
+	  src/Row.cc, src/Row.defs.hh, src/Row.inlines.hh,
+	  src/Row.types.hh, src/Saturation_Matrix.cc,
+	  src/Saturation_Matrix.defs.hh, src/Saturation_Matrix.inlines.hh,
+	  src/Saturation_Matrix.types.hh, src/Saturation_Row.cc,
+	  src/Saturation_Row.defs.hh, src/Saturation_Row.inlines.hh,
+	  src/Saturation_Row.types.hh, src/Scalar_Products.cc,
+	  src/Scalar_Products.defs.hh, src/Scalar_Products.inlines.hh,
+	  src/Scalar_Products.types.hh, src/Slow_Copy.hh, src/Temp.defs.hh,
+	  src/Temp.inlines.hh, src/Temp.templates.hh, src/Topology.hh,
+	  src/Variable.cc, src/Variable.defs.hh, src/Variable.inlines.hh,
+	  src/Variable.types.hh, src/Variables_Set.cc,
+	  src/Variables_Set.defs.hh, src/Variables_Set.inlines.hh,
+	  src/Variables_Set.types.hh, src/Widening_Function.defs.hh,
+	  src/Widening_Function.inlines.hh, src/Widening_Function.types.hh,
+	  src/algorithms.hh, src/assign_or_swap.hh, src/checked.cc,
+	  src/checked.defs.hh, src/checked.inlines.hh,
+	  src/checked_ext.defs.hh, src/checked_ext.inlines.hh,
+	  src/checked_float.inlines.hh, src/checked_int.inlines.hh,
+	  src/checked_mpq.inlines.hh, src/checked_mpz.inlines.hh,
+	  src/checked_numeric_limits.hh, src/compiler.hh,
+	  src/conversion.cc, src/distances.defs.hh,
+	  src/distances.inlines.hh, src/distances.types.hh,
+	  src/fpu-c99.inlines.hh, src/fpu-ia32.inlines.hh,
+	  src/fpu-none.inlines.hh, src/fpu-sparc.inlines.hh,
+	  src/fpu.defs.hh, src/fpu.types.hh, src/globals.cc,
+	  src/globals.defs.hh, src/globals.inlines.hh,
+	  src/globals.types.hh, src/initializer.hh,
+	  src/iterator_to_const.defs.hh, src/iterator_to_const.inlines.hh,
+	  src/iterator_to_const.types.hh, src/max_space_dimension.hh,
+	  src/meta_programming.hh, src/minimize.cc,
+	  src/mp_numeric_limits.hh, src/mp_std_bits.cc,
+	  src/mp_std_bits.defs.hh, src/mp_std_bits.inlines.hh,
+	  src/namespaces.hh, src/ppl-config.cc.in, src/ppl_header.hh,
+	  src/simplify.cc, src/swapping_sort.icc, src/version.cc,
+	  src/version.hh.in, tests/BBox.cc, tests/BBox.hh,
+	  tests/FCAIBVP.cc, tests/FCAIBVP.defs.hh,
+	  tests/FCAIBVP.inlines.hh, tests/FCAIBVP.types.hh,
+	  tests/Makefile.am, tests/Partial_Function.cc,
+	  tests/Partial_Function.defs.hh,
+	  tests/Partial_Function.inlines.hh,
+	  tests/Partial_Function.types.hh,
+	  tests/Random_Number_Generator.defs.hh,
+	  tests/Random_Number_Generator.inlines.hh,
+	  tests/Random_Number_Generator.types.hh, tests/files.cc,
+	  tests/files.hh, tests/ppl_test.cc, tests/ppl_test.hh,
+	  tests/print.cc, tests/print.hh, tests/valgrind_suppressions,
+	  tests/Ask_Tell/.cvsignore, tests/Ask_Tell/Makefile.am,
+	  tests/Ask_Tell/append1.cc, tests/BD_Shape/Makefile.am,
+	  tests/BD_Shape/addconstraints1.cc,
+	  tests/BD_Shape/addspacedims1.cc,
+	  tests/BD_Shape/affinedimension1.cc,
+	  tests/BD_Shape/affineimage1.cc, tests/BD_Shape/affineimage2.cc,
+	  tests/BD_Shape/affinepreimage1.cc,
+	  tests/BD_Shape/affinepreimage2.cc,
+	  tests/BD_Shape/ascii_dump_load1.cc,
+	  tests/BD_Shape/bdsdifference1.cc, tests/BD_Shape/bdshull1.cc,
+	  tests/BD_Shape/bgp99extrapolation1.cc,
+	  tests/BD_Shape/bhmz05widening1.cc,
+	  tests/BD_Shape/bhz03widening1.cc, tests/BD_Shape/bounded1.cc,
+	  tests/BD_Shape/boundedaffineimage1.cc,
+	  tests/BD_Shape/boundedaffinepreimage1.cc,
+	  tests/BD_Shape/boundingbox1.cc, tests/BD_Shape/bounds1.cc,
+	  tests/BD_Shape/cc76extrapolation1.cc,
+	  tests/BD_Shape/cc76narrowing1.cc, tests/BD_Shape/closure1.cc,
+	  tests/BD_Shape/concatenate1.cc, tests/BD_Shape/constraints1.cc,
+	  tests/BD_Shape/contains1.cc,
+	  tests/BD_Shape/containsintegerpoint1.cc,
+	  tests/BD_Shape/discrete1.cc, tests/BD_Shape/disjoint1.cc,
+	  tests/BD_Shape/empty1.cc, tests/BD_Shape/equality1.cc,
+	  tests/BD_Shape/expandspacedim1.cc,
+	  tests/BD_Shape/foldspacedims1.cc, tests/BD_Shape/fromgensys1.cc,
+	  tests/BD_Shape/fromgrid1.cc,
+	  tests/BD_Shape/fromoctagonalshape1.cc,
+	  tests/BD_Shape/frompolyhedron1.cc,
+	  tests/BD_Shape/fromspacedim1.cc,
+	  tests/BD_Shape/generalizedaffineimage1.cc,
+	  tests/BD_Shape/generalizedaffineimage2.cc,
+	  tests/BD_Shape/generalizedaffinepreimage1.cc,
+	  tests/BD_Shape/generalizedaffinepreimage2.cc,
+	  tests/BD_Shape/generalizedaffinepreimage3.cc,
+	  tests/BD_Shape/geomcovers1.cc, tests/BD_Shape/h79widening1.cc,
+	  tests/BD_Shape/intersection1.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation1.cc,
+	  tests/BD_Shape/limitedcc76extrapolation1.cc,
+	  tests/BD_Shape/limitedh79extrapolation1.cc,
+	  tests/BD_Shape/mapspacedims1.cc, tests/BD_Shape/max_min1.cc,
+	  tests/BD_Shape/max_min2.cc, tests/BD_Shape/maxspacedim.cc,
+	  tests/BD_Shape/maxspacedim1.cc, tests/BD_Shape/membytes1.cc,
+	  tests/BD_Shape/minconstraints1.cc, tests/BD_Shape/relations1.cc,
+	  tests/BD_Shape/relations2.cc, tests/BD_Shape/relations3.cc,
+	  tests/BD_Shape/removespacedims1.cc, tests/BD_Shape/run_tests,
+	  tests/BD_Shape/timeelapse1.cc, tests/BD_Shape/universe1.cc,
+	  tests/BD_Shape/writebdshape1.cc, tests/Box/.cvsignore,
+	  tests/Box/Makefile.am, tests/Box/addconstraints1.cc,
+	  tests/Box/addspacedims1.cc, tests/Box/affinedimension1.cc,
+	  tests/Box/affineimage1.cc, tests/Box/affinepreimage1.cc,
+	  tests/Box/ascii_dump_load1.cc, tests/Box/bdsdifference1.cc,
+	  tests/Box/bgp99extrapolation1.cc, tests/Box/bhz03widening1.cc,
+	  tests/Box/bounded1.cc, tests/Box/boundedaffineimage1.cc,
+	  tests/Box/boxdifference1.cc, tests/Box/boxhull.cc,
+	  tests/Box/boxhull1.cc, tests/Box/cc76narrowing1.cc,
+	  tests/Box/cc76widening.cc, tests/Box/closure1.cc,
+	  tests/Box/concatenate1.cc, tests/Box/congruences1.cc,
+	  tests/Box/constraints1.cc, tests/Box/contains1.cc,
+	  tests/Box/containsintegerpoint1.cc, tests/Box/discrete1.cc,
+	  tests/Box/disjoint1.cc, tests/Box/empty1.cc,
+	  tests/Box/equality1.cc, tests/Box/expandspacedim1.cc,
+	  tests/Box/foldspacedims1.cc, tests/Box/frombdshape1.cc,
+	  tests/Box/frombox1.cc, tests/Box/fromgensys1.cc,
+	  tests/Box/fromgrid1.cc,
+	  tests/Box/frompartiallyreducedproduct1.cc,
+	  tests/Box/frompolyhedron1.cc, tests/Box/frompolyhedron2.cc,
+	  tests/Box/fromspacedim1.cc, tests/Box/generalizedaffineimage1.cc,
+	  tests/Box/generalizedaffinepreimage1.cc,
+	  tests/Box/geomcovers1.cc, tests/Box/intersection1.cc,
+	  tests/Box/interval1.cc, tests/Box/interval2.cc,
+	  tests/Box/mapspacedims1.cc, tests/Box/max_min1.cc,
+	  tests/Box/maxspacedim1.cc, tests/Box/membytes1.cc,
+	  tests/Box/minconstraints1.cc, tests/Box/pointsetpowerset1.cc,
+	  tests/Box/refine1.cc, tests/Box/refine2.cc, tests/Box/refine3.cc,
+	  tests/Box/relations1.cc, tests/Box/relations2.cc,
+	  tests/Box/removespacedims1.cc, tests/Box/run_tests,
+	  tests/Box/timeelapse1.cc, tests/Box/universe1.cc,
+	  tests/Box/writebox1.cc, tests/Grid/Makefile.am,
+	  tests/Grid/addcongruence1.cc, tests/Grid/addcongruences1.cc,
+	  tests/Grid/addconstraint1.cc, tests/Grid/addconstraints1.cc,
+	  tests/Grid/addgenerator1.cc, tests/Grid/addgenerators1.cc,
+	  tests/Grid/addspacedims1.cc, tests/Grid/affinedim1.cc,
+	  tests/Grid/affineimage1.cc, tests/Grid/affineimage2.cc,
+	  tests/Grid/affinepreimage1.cc, tests/Grid/affinepreimage2.cc,
+	  tests/Grid/approximatepartition1.cc,
+	  tests/Grid/asciidumpload1.cc, tests/Grid/asciidumpload2.cc,
+	  tests/Grid/asciidumpload3.cc, tests/Grid/asciidumpload4.cc,
+	  tests/Grid/asciidumpload5.cc, tests/Grid/asciidumpload6.cc,
+	  tests/Grid/asciidumpload7.cc, tests/Grid/bhz03widening1.cc,
+	  tests/Grid/bounded1.cc, tests/Grid/boundedaffineimage1.cc,
+	  tests/Grid/boundedaffinepreimage1.cc, tests/Grid/boundingbox1.cc,
+	  tests/Grid/boundingbox2.cc, tests/Grid/bounds1.cc,
+	  tests/Grid/certificate1.cc, tests/Grid/concatenate1.cc,
+	  tests/Grid/congruence1.cc, tests/Grid/congruences1.cc,
+	  tests/Grid/congruences2.cc, tests/Grid/constraints1.cc,
+	  tests/Grid/contains1.cc, tests/Grid/containsintegerpoint1.cc,
+	  tests/Grid/copyconstruct1.cc, tests/Grid/coveringbox1.cc,
+	  tests/Grid/coveringbox2.cc, tests/Grid/directproduct1.cc,
+	  tests/Grid/directproduct2.cc, tests/Grid/directproduct3.cc,
+	  tests/Grid/directproduct4.cc, tests/Grid/directproduct5.cc,
+	  tests/Grid/directproduct6.cc, tests/Grid/discrete1.cc,
+	  tests/Grid/disjoint1.cc, tests/Grid/equals1.cc,
+	  tests/Grid/expandspacedim1.cc, tests/Grid/foldspacedims1.cc,
+	  tests/Grid/frombdshape1.cc, tests/Grid/fromoctagonalshape1.cc,
+	  tests/Grid/generalizedaffineimage1.cc,
+	  tests/Grid/generalizedaffineimage2.cc,
+	  tests/Grid/generalizedaffineimage3.cc,
+	  tests/Grid/generalizedaffinepreimage1.cc,
+	  tests/Grid/generalizedaffinepreimage2.cc,
+	  tests/Grid/generalizedaffinepreimage3.cc,
+	  tests/Grid/generator1.cc, tests/Grid/generators1.cc,
+	  tests/Grid/generators2.cc, tests/Grid/grid1.cc,
+	  tests/Grid/grid2.cc, tests/Grid/grid3.cc,
+	  tests/Grid/griddifference1.cc, tests/Grid/intersection1.cc,
+	  tests/Grid/isempty1.cc, tests/Grid/isuniverse1.cc,
+	  tests/Grid/join1.cc, tests/Grid/join2.cc,
+	  tests/Grid/limitedextrapolation1.cc,
+	  tests/Grid/limitedextrapolation2.cc,
+	  tests/Grid/limitedextrapolation3.cc, tests/Grid/mapspacedims1.cc,
+	  tests/Grid/maxmin1.cc, tests/Grid/membytes1.cc,
+	  tests/Grid/mincongruences1.cc, tests/Grid/mingenerators1.cc,
+	  tests/Grid/outputoperator1.cc, tests/Grid/outputoperator2.cc,
+	  tests/Grid/outputoperator3.cc,
+	  tests/Grid/partiallyreducedproduct1.cc,
+	  tests/Grid/partiallyreducedproduct2.cc,
+	  tests/Grid/partiallyreducedproduct3.cc, tests/Grid/partition1.cc,
+	  tests/Grid/powersetdifference1.cc,
+	  tests/Grid/powersetgeometricallycovers1.cc,
+	  tests/Grid/powersetgeometricallyequals1.cc,
+	  tests/Grid/relations1.cc, tests/Grid/relations2.cc,
+	  tests/Grid/relations3.cc, tests/Grid/removespacedims1.cc,
+	  tests/Grid/removespacedims2.cc, tests/Grid/timeelapse1.cc,
+	  tests/Grid/topclosed1.cc, tests/Grid/topclosure1.cc,
+	  tests/Grid/widening1.cc, tests/Grid/widening2.cc,
+	  tests/Grid/widening3.cc, tests/Grid/writecongruencesystem.cc,
+	  tests/MIP_Problem/.cvsignore, tests/MIP_Problem/Makefile.am,
+	  tests/MIP_Problem/ascii_dump_load1.cc,
+	  tests/MIP_Problem/exceptions1.cc,
+	  tests/MIP_Problem/mipproblem1.cc,
+	  tests/MIP_Problem/mipproblem2.cc,
+	  tests/MIP_Problem/mipproblem3.cc,
+	  tests/Octagonal_Shape/.cvsignore,
+	  tests/Octagonal_Shape/Makefile.am,
+	  tests/Octagonal_Shape/addspacedims1.cc,
+	  tests/Octagonal_Shape/affinedimension1.cc,
+	  tests/Octagonal_Shape/affineimage1.cc,
+	  tests/Octagonal_Shape/affineimage2.cc,
+	  tests/Octagonal_Shape/affinepreimage1.cc,
+	  tests/Octagonal_Shape/affinepreimage2.cc,
+	  tests/Octagonal_Shape/ascii_dump_load1.cc,
+	  tests/Octagonal_Shape/bhmz05widening1.cc,
+	  tests/Octagonal_Shape/bhz03widening1.cc,
+	  tests/Octagonal_Shape/bounded1.cc,
+	  tests/Octagonal_Shape/boundedaffineimage1.cc,
+	  tests/Octagonal_Shape/boundedaffinepreimage1.cc,
+	  tests/Octagonal_Shape/bounds1.cc,
+	  tests/Octagonal_Shape/cc76extrapolation1.cc,
+	  tests/Octagonal_Shape/cc76narrowing1.cc,
+	  tests/Octagonal_Shape/chinainit.cc,
+	  tests/Octagonal_Shape/concatenate1.cc,
+	  tests/Octagonal_Shape/constraints1.cc,
+	  tests/Octagonal_Shape/contains1.cc,
+	  tests/Octagonal_Shape/containsintegerpoint1.cc,
+	  tests/Octagonal_Shape/discrete1.cc,
+	  tests/Octagonal_Shape/disjoint1.cc,
+	  tests/Octagonal_Shape/empty1.cc,
+	  tests/Octagonal_Shape/expandspacedim1.cc,
+	  tests/Octagonal_Shape/foldspacedims1.cc,
+	  tests/Octagonal_Shape/frombdshape1.cc,
+	  tests/Octagonal_Shape/fromgensys1.cc,
+	  tests/Octagonal_Shape/fromgrid1.cc,
+	  tests/Octagonal_Shape/frompolyhedron1.cc,
+	  tests/Octagonal_Shape/fromspacedim1.cc,
+	  tests/Octagonal_Shape/generalizedaffineimage1.cc,
+	  tests/Octagonal_Shape/generalizedaffineimage2.cc,
+	  tests/Octagonal_Shape/generalizedaffineimage3.cc,
+	  tests/Octagonal_Shape/generalizedaffineimage4.cc,
+	  tests/Octagonal_Shape/generalizedaffineimage5.cc,
+	  tests/Octagonal_Shape/generalizedaffinepreimage1.cc,
+	  tests/Octagonal_Shape/generalizedaffinepreimage2.cc,
+	  tests/Octagonal_Shape/generalizedaffinepreimage3.cc,
+	  tests/Octagonal_Shape/generalizedaffinepreimage4.cc,
+	  tests/Octagonal_Shape/intersection1.cc,
+	  tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc,
+	  tests/Octagonal_Shape/limitedcc76extrapolation1.cc,
+	  tests/Octagonal_Shape/mapspacedims1.cc,
+	  tests/Octagonal_Shape/max_min1.cc,
+	  tests/Octagonal_Shape/max_min2.cc,
+	  tests/Octagonal_Shape/maxspacedim1.cc,
+	  tests/Octagonal_Shape/membytes1.cc,
+	  tests/Octagonal_Shape/minconstraints1.cc,
+	  tests/Octagonal_Shape/octdifference1.cc,
+	  tests/Octagonal_Shape/octhull1.cc,
+	  tests/Octagonal_Shape/relatwithcons1.cc,
+	  tests/Octagonal_Shape/relatwithcons2.cc,
+	  tests/Octagonal_Shape/relatwithgen1.cc,
+	  tests/Octagonal_Shape/removespacedims1.cc,
+	  tests/Octagonal_Shape/run_tests,
+	  tests/Octagonal_Shape/timeelapse1.cc,
+	  tests/Octagonal_Shape/universe1.cc,
+	  tests/Octagonal_Shape/writeoctagon1.cc,
+	  tests/Polyhedron/.cvsignore, tests/Polyhedron/Makefile.am,
+	  tests/Polyhedron/README, tests/Polyhedron/addcongruence1.cc,
+	  tests/Polyhedron/addcongruences1.cc,
+	  tests/Polyhedron/addconstraint1.cc,
+	  tests/Polyhedron/addconstraints1.cc,
+	  tests/Polyhedron/addconstraints2.cc,
+	  tests/Polyhedron/addgenerator1.cc,
+	  tests/Polyhedron/addgenerator2.cc,
+	  tests/Polyhedron/addgenerators1.cc,
+	  tests/Polyhedron/addgenerators2.cc,
+	  tests/Polyhedron/addspacedims1.cc,
+	  tests/Polyhedron/addspacedims2.cc,
+	  tests/Polyhedron/affineimage1.cc,
+	  tests/Polyhedron/affineimage2.cc,
+	  tests/Polyhedron/affinepreimage1.cc,
+	  tests/Polyhedron/affinetrans.cc, tests/Polyhedron/append1.cc,
+	  tests/Polyhedron/append2.cc,
+	  tests/Polyhedron/ascii_dump_load1.cc,
+	  tests/Polyhedron/ascii_dump_load2.cc,
+	  tests/Polyhedron/ascii_dump_load3.cc,
+	  tests/Polyhedron/bgp99extrapolation1.cc,
+	  tests/Polyhedron/bhrz03widening1.cc,
+	  tests/Polyhedron/bhrz03widening2.cc,
+	  tests/Polyhedron/bhrz03widening3.cc,
+	  tests/Polyhedron/bhz03widening1.cc, tests/Polyhedron/bounded1.cc,
+	  tests/Polyhedron/boundedaffineimage1.cc,
+	  tests/Polyhedron/boundedaffinepreimage1.cc,
+	  tests/Polyhedron/boundedbhrz03extrapolation1.cc,
+	  tests/Polyhedron/boundedh79extrapolation1.cc,
+	  tests/Polyhedron/boundingbox1.cc,
+	  tests/Polyhedron/boundingbox2.cc,
+	  tests/Polyhedron/boundingbox3.cc, tests/Polyhedron/bounds1.cc,
+	  tests/Polyhedron/cnncconversion1.cc,
+	  tests/Polyhedron/concatenate1.cc,
+	  tests/Polyhedron/congruences1.cc,
+	  tests/Polyhedron/constrains1.cc,
+	  tests/Polyhedron/constraints1.cc, tests/Polyhedron/contains1.cc,
+	  tests/Polyhedron/contains2.cc,
+	  tests/Polyhedron/containsintegerpoint1.cc,
+	  tests/Polyhedron/disjoint1.cc, tests/Polyhedron/disjoint2.cc,
+	  tests/Polyhedron/dualhypercubes.cc, tests/Polyhedron/empty1.cc,
+	  tests/Polyhedron/equals1.cc, tests/Polyhedron/exceptions1.cc,
+	  tests/Polyhedron/exceptions2.cc, tests/Polyhedron/exceptions3.cc,
+	  tests/Polyhedron/expandspacedim1.cc,
+	  tests/Polyhedron/expandspacedim2.cc,
+	  tests/Polyhedron/foldspacedims1.cc,
+	  tests/Polyhedron/foldspacedims2.cc,
+	  tests/Polyhedron/frombdshape1.cc, tests/Polyhedron/frombox1.cc,
+	  tests/Polyhedron/frombox2.cc, tests/Polyhedron/fromgrid1.cc,
+	  tests/Polyhedron/fromoctagonalshape1.cc,
+	  tests/Polyhedron/generalizedaffineimage1.cc,
+	  tests/Polyhedron/generalizedaffineimage2.cc,
+	  tests/Polyhedron/generalizedaffinepreimage1.cc,
+	  tests/Polyhedron/generalizedaffinepreimage2.cc,
+	  tests/Polyhedron/generators1.cc, tests/Polyhedron/geomcovers1.cc,
+	  tests/Polyhedron/h79widening1.cc,
+	  tests/Polyhedron/h79widening2.cc, tests/Polyhedron/hybrid.cc,
+	  tests/Polyhedron/intersection1.cc,
+	  tests/Polyhedron/limitedbhrz03extrapolation1.cc,
+	  tests/Polyhedron/limitedh79extrapolation1.cc,
+	  tests/Polyhedron/linearpartition1.cc,
+	  tests/Polyhedron/linearsystem1.cc,
+	  tests/Polyhedron/linexpression1.cc,
+	  tests/Polyhedron/lpproblem1.cc, tests/Polyhedron/lpproblem2.cc,
+	  tests/Polyhedron/lpproblem3.cc,
+	  tests/Polyhedron/mapspacedims1.cc, tests/Polyhedron/matrix1.cc,
+	  tests/Polyhedron/max_min1.cc, tests/Polyhedron/maxspacedim1.cc,
+	  tests/Polyhedron/mc91.cc, tests/Polyhedron/membytes1.cc,
+	  tests/Polyhedron/membytes2.cc, tests/Polyhedron/memory1.cc,
+	  tests/Polyhedron/memory2.cc, tests/Polyhedron/minconstraints1.cc,
+	  tests/Polyhedron/minconstraints2.cc,
+	  tests/Polyhedron/mingenerators1.cc,
+	  tests/Polyhedron/mingenerators2.cc,
+	  tests/Polyhedron/nncminimize1.cc,
+	  tests/Polyhedron/nncminimize2.cc,
+	  tests/Polyhedron/numberinput1.cc, tests/Polyhedron/onepoint.cc,
+	  tests/Polyhedron/permute.cc,
+	  tests/Polyhedron/pointsetpowerset1.cc,
+	  tests/Polyhedron/pointsetpowerset2.cc,
+	  tests/Polyhedron/polydifference1.cc,
+	  tests/Polyhedron/polydifference2.cc,
+	  tests/Polyhedron/polyhull1.cc, tests/Polyhedron/polyhull2.cc,
+	  tests/Polyhedron/polypowerset1.cc, tests/Polyhedron/powerset1.cc,
+	  tests/Polyhedron/randphull1.cc, tests/Polyhedron/randphull2.cc,
+	  tests/Polyhedron/relations1.cc, tests/Polyhedron/relations2.cc,
+	  tests/Polyhedron/relations3.cc,
+	  tests/Polyhedron/removespacedims1.cc,
+	  tests/Polyhedron/removespacedims2.cc, tests/Polyhedron/smm1.cc,
+	  tests/Polyhedron/timeelapse1.cc, tests/Polyhedron/timeelapse2.cc,
+	  tests/Polyhedron/topclosed1.cc, tests/Polyhedron/topclosure1.cc,
+	  tests/Polyhedron/universe1.cc, tests/Polyhedron/universe2.cc,
+	  tests/Polyhedron/variablesset1.cc, tests/Polyhedron/watchdog1.cc,
+	  tests/Polyhedron/writeconsys1.cc,
+	  tests/Polyhedron/writegensys1.cc,
+	  tests/Polyhedron/writepolyhedron1.cc,
+	  tests/Polyhedron/writepolyhedron2.cc,
+	  tests/Polyhedron/writerelation1.cc,
+	  tests/Polyhedron/writevariable1.cc, utils/Makefile.am,
+	  utils/build_header.in, utils/cm_cleaner.sh, utils/cm_splitter.sh,
+	  utils/text2cxxarray.in, utils/timings.cc, utils/timings.hh
+	  (simplex.[1,1,3,2,3,3,3,3,3,6,1,4,4,3,1,3,3,2,2,1,3,2,3,2,3,1,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,2,2,3,2,3,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,15,3,1,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,2,2,2,2,2,4,3,3,1,1,1,3,2,3,3,2,3,2,2,2,2,2,2,2,2,3,3,3,2,2,2,3,2,2,2,2,3,6,6,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,3,5,3,2,2,2,2,6,2,2,3,2,3,3,3,3,3,2,2,3,2,2,3,2,2,3,3,2,3,2,2,3,2,2,2,2,3,2,3,2,2,2,2,2, [...]
+	  Fourth merge of the trunk to the `simplex' branch.  The `simplex'
+	  branch is open again.
+
+2008-01-02 Wednesday 18:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_grid_check.pl (1.9): Added comment in
+	  code for grid exceptions to explain change in previous commit:
+
+	      /* XSB does not throw catchable exceptions for integers out
+	  of range;
+		  so call to exception_sys_prolog is not made when testing
+	  XSB.
+		  The same exclusion for XSB and exception_sys_prolog/1
+	  test is also
+		  made in pl_check.pl (See log message 2007-09-19 10:29:08)
+	  */
+
+2008-01-02 Wednesday 18:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/pl_grid_check.pl (simplex.1): file
+	  pl_grid_check.pl was added on branch simplex on 2008-01-07
+	  11:15:31 +0000
+
+2008-01-02 Wednesday 13:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_grid_check.pl (1.8): Updated handling
+	  of exceptions so that the test file runs ok with XSB.
+
+2008-01-02 Wednesday 11:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (1.51): Corrected code for covering boxes (for Grids).
+
+2008-01-02 Wednesday 11:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (simplex.1): file ppl_interface_generator_prolog_icc_code.m4 was
+	  added on branch simplex on 2008-01-07 11:15:29 +0000
+
+2008-01-02 Wednesday 11:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_grid_check.pl (1.7): Updated tests to
+	  match changes in the Grid class.
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* utils/cm_cleaner.sh (simplex.1): file cm_cleaner.sh was added on
+	  branch simplex on 2008-01-07 11:15:39 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* utils/cm_splitter.sh (simplex.1): file cm_splitter.sh was added
+	  on branch simplex on 2008-01-07 11:15:39 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/constrains1.cc (simplex.1): file constrains1.cc
+	  was added on branch simplex on 2008-01-07 11:15:39 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/containsintegerpoint1.cc (simplex.1): file
+	  containsintegerpoint1.cc was added on branch simplex on
+	  2008-01-07 11:15:39 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/frombdshape1.cc (simplex.1): file
+	  frombdshape1.cc was added on branch simplex on 2008-01-07
+	  11:15:39 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/frombox1.cc (simplex.1): file frombox1.cc was
+	  added on branch simplex on 2008-01-07 11:15:39 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/frombox2.cc (simplex.1): file frombox2.cc was
+	  added on branch simplex on 2008-01-07 11:15:39 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/fromgrid1.cc (simplex.1): file fromgrid1.cc was
+	  added on branch simplex on 2008-01-07 11:15:39 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/fromoctagonalshape1.cc (simplex.1): file
+	  fromoctagonalshape1.cc was added on branch simplex on 2008-01-07
+	  11:15:39 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/hybrid.cc (simplex.1): file hybrid.cc was added
+	  on branch simplex on 2008-01-07 11:15:39 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/pointsetpowerset1.cc (simplex.1): file
+	  pointsetpowerset1.cc was added on branch simplex on 2008-01-07
+	  11:15:39 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/pointsetpowerset2.cc (simplex.1): file
+	  pointsetpowerset2.cc was added on branch simplex on 2008-01-07
+	  11:15:39 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/variablesset1.cc (simplex.1): file
+	  variablesset1.cc was added on branch simplex on 2008-01-07
+	  11:15:39 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/addspacedims1.cc (simplex.1): file
+	  addspacedims1.cc was added on branch simplex on 2008-01-07
+	  11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/affinedimension1.cc (simplex.1): file
+	  affinedimension1.cc was added on branch simplex on 2008-01-07
+	  11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/affineimage1.cc (simplex.1): file
+	  affineimage1.cc was added on branch simplex on 2008-01-07
+	  11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/affineimage2.cc (simplex.1): file
+	  affineimage2.cc was added on branch simplex on 2008-01-07
+	  11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/affinepreimage1.cc (simplex.1): file
+	  affinepreimage1.cc was added on branch simplex on 2008-01-07
+	  11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/affinepreimage2.cc (simplex.1): file
+	  affinepreimage2.cc was added on branch simplex on 2008-01-07
+	  11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/bhmz05widening1.cc (simplex.1): file
+	  bhmz05widening1.cc was added on branch simplex on 2008-01-07
+	  11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/bhz03widening1.cc (simplex.1): file
+	  bhz03widening1.cc was added on branch simplex on 2008-01-07
+	  11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/bounded1.cc (simplex.1): file bounded1.cc
+	  was added on branch simplex on 2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/boundedaffineimage1.cc (simplex.1): file
+	  boundedaffineimage1.cc was added on branch simplex on 2008-01-07
+	  11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/boundedaffinepreimage1.cc (simplex.1): file
+	  boundedaffinepreimage1.cc was added on branch simplex on
+	  2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/bounds1.cc (simplex.1): file bounds1.cc was
+	  added on branch simplex on 2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/cc76extrapolation1.cc (simplex.1): file
+	  cc76extrapolation1.cc was added on branch simplex on 2008-01-07
+	  11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/cc76narrowing1.cc (simplex.1): file
+	  cc76narrowing1.cc was added on branch simplex on 2008-01-07
+	  11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/chinainit.cc (simplex.1): file chinainit.cc
+	  was added on branch simplex on 2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/concatenate1.cc (simplex.1): file
+	  concatenate1.cc was added on branch simplex on 2008-01-07
+	  11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/constraints1.cc (simplex.1): file
+	  constraints1.cc was added on branch simplex on 2008-01-07
+	  11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/contains1.cc (simplex.1): file contains1.cc
+	  was added on branch simplex on 2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/containsintegerpoint1.cc (simplex.1): file
+	  containsintegerpoint1.cc was added on branch simplex on
+	  2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/discrete1.cc (simplex.1): file discrete1.cc
+	  was added on branch simplex on 2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/disjoint1.cc (simplex.1): file disjoint1.cc
+	  was added on branch simplex on 2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/empty1.cc (simplex.1): file empty1.cc was
+	  added on branch simplex on 2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/expandspacedim1.cc (simplex.1): file
+	  expandspacedim1.cc was added on branch simplex on 2008-01-07
+	  11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/foldspacedims1.cc (simplex.1): file
+	  foldspacedims1.cc was added on branch simplex on 2008-01-07
+	  11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/frombdshape1.cc (simplex.1): file
+	  frombdshape1.cc was added on branch simplex on 2008-01-07
+	  11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/fromgensys1.cc (simplex.1): file
+	  fromgensys1.cc was added on branch simplex on 2008-01-07 11:15:37
+	  +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/fromgrid1.cc (simplex.1): file fromgrid1.cc
+	  was added on branch simplex on 2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/frompolyhedron1.cc (simplex.1): file
+	  frompolyhedron1.cc was added on branch simplex on 2008-01-07
+	  11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/fromspacedim1.cc (simplex.1): file
+	  fromspacedim1.cc was added on branch simplex on 2008-01-07
+	  11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffineimage1.cc (simplex.1):
+	  file generalizedaffineimage1.cc was added on branch simplex on
+	  2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffineimage2.cc (simplex.1):
+	  file generalizedaffineimage2.cc was added on branch simplex on
+	  2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffineimage3.cc (simplex.1):
+	  file generalizedaffineimage3.cc was added on branch simplex on
+	  2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffineimage4.cc (simplex.1):
+	  file generalizedaffineimage4.cc was added on branch simplex on
+	  2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffineimage5.cc (simplex.1):
+	  file generalizedaffineimage5.cc was added on branch simplex on
+	  2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffinepreimage1.cc (simplex.1):
+	  file generalizedaffinepreimage1.cc was added on branch simplex on
+	  2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffinepreimage2.cc (simplex.1):
+	  file generalizedaffinepreimage2.cc was added on branch simplex on
+	  2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffinepreimage3.cc (simplex.1):
+	  file generalizedaffinepreimage3.cc was added on branch simplex on
+	  2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffinepreimage4.cc (simplex.1):
+	  file generalizedaffinepreimage4.cc was added on branch simplex on
+	  2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/intersection1.cc (simplex.1): file
+	  intersection1.cc was added on branch simplex on 2008-01-07
+	  11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc (simplex.1):
+	  file limitedbhmz05extrapolation1.cc was added on branch simplex
+	  on 2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/limitedcc76extrapolation1.cc (simplex.1):
+	  file limitedcc76extrapolation1.cc was added on branch simplex on
+	  2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/mapspacedims1.cc (simplex.1): file
+	  mapspacedims1.cc was added on branch simplex on 2008-01-07
+	  11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/max_min1.cc (simplex.1): file max_min1.cc
+	  was added on branch simplex on 2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/max_min2.cc (simplex.1): file max_min2.cc
+	  was added on branch simplex on 2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/maxspacedim1.cc (simplex.1): file
+	  maxspacedim1.cc was added on branch simplex on 2008-01-07
+	  11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/membytes1.cc (simplex.1): file membytes1.cc
+	  was added on branch simplex on 2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/minconstraints1.cc (simplex.1): file
+	  minconstraints1.cc was added on branch simplex on 2008-01-07
+	  11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/octdifference1.cc (simplex.1): file
+	  octdifference1.cc was added on branch simplex on 2008-01-07
+	  11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/octhull1.cc (simplex.1): file octhull1.cc
+	  was added on branch simplex on 2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/relatwithcons1.cc (simplex.1): file
+	  relatwithcons1.cc was added on branch simplex on 2008-01-07
+	  11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/relatwithcons2.cc (simplex.1): file
+	  relatwithcons2.cc was added on branch simplex on 2008-01-07
+	  11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/relatwithgen1.cc (simplex.1): file
+	  relatwithgen1.cc was added on branch simplex on 2008-01-07
+	  11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/removespacedims1.cc (simplex.1): file
+	  removespacedims1.cc was added on branch simplex on 2008-01-07
+	  11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/run_tests (simplex.1): file run_tests was
+	  added on branch simplex on 2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/timeelapse1.cc (simplex.1): file
+	  timeelapse1.cc was added on branch simplex on 2008-01-07 11:15:37
+	  +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/universe1.cc (simplex.1): file universe1.cc
+	  was added on branch simplex on 2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/writeoctagon1.cc (simplex.1): file
+	  writeoctagon1.cc was added on branch simplex on 2008-01-07
+	  11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: MIP_Problem/Makefile.am, Octagonal_Shape/Makefile.am
+	  (simplex.[1,1]): file Makefile.am was added on branch simplex on
+	  2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: MIP_Problem/ascii_dump_load1.cc,
+	  Octagonal_Shape/ascii_dump_load1.cc (simplex.[1,1]): file
+	  ascii_dump_load1.cc was added on branch simplex on 2008-01-07
+	  11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/exceptions1.cc (simplex.1): file exceptions1.cc
+	  was added on branch simplex on 2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/mipproblem1.cc (simplex.1): file mipproblem1.cc
+	  was added on branch simplex on 2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/mipproblem2.cc (simplex.1): file mipproblem2.cc
+	  was added on branch simplex on 2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/mipproblem3.cc (simplex.1): file mipproblem3.cc
+	  was added on branch simplex on 2008-01-07 11:15:37 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/approximatepartition1.cc (simplex.1): file
+	  approximatepartition1.cc was added on branch simplex on
+	  2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/boundedaffinepreimage1.cc (simplex.1): file
+	  boundedaffinepreimage1.cc was added on branch simplex on
+	  2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/directproduct3.cc (simplex.1): file directproduct3.cc
+	  was added on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/directproduct4.cc (simplex.1): file directproduct4.cc
+	  was added on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/directproduct5.cc (simplex.1): file directproduct5.cc
+	  was added on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/directproduct6.cc (simplex.1): file directproduct6.cc
+	  was added on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/fromoctagonalshape1.cc (simplex.1): file
+	  fromoctagonalshape1.cc was added on branch simplex on 2008-01-07
+	  11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/generalizedaffineimage3.cc (simplex.1): file
+	  generalizedaffineimage3.cc was added on branch simplex on
+	  2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/generalizedaffinepreimage3.cc (simplex.1): file
+	  generalizedaffinepreimage3.cc was added on branch simplex on
+	  2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/partiallyreducedproduct1.cc (simplex.1): file
+	  partiallyreducedproduct1.cc was added on branch simplex on
+	  2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/partiallyreducedproduct2.cc (simplex.1): file
+	  partiallyreducedproduct2.cc was added on branch simplex on
+	  2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/partiallyreducedproduct3.cc (simplex.1): file
+	  partiallyreducedproduct3.cc was added on branch simplex on
+	  2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/partition1.cc (simplex.1): file partition1.cc was
+	  added on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/powersetdifference1.cc (simplex.1): file
+	  powersetdifference1.cc was added on branch simplex on 2008-01-07
+	  11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/powersetgeometricallycovers1.cc (simplex.1): file
+	  powersetgeometricallycovers1.cc was added on branch simplex on
+	  2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/powersetgeometricallyequals1.cc (simplex.1): file
+	  powersetgeometricallyequals1.cc was added on branch simplex on
+	  2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/Makefile.am (simplex.1): file Makefile.am was added on
+	  branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/addconstraints1.cc (simplex.1): file addconstraints1.cc
+	  was added on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/addspacedims1.cc (simplex.1): file addspacedims1.cc was
+	  added on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/affinedimension1.cc (simplex.1): file
+	  affinedimension1.cc was added on branch simplex on 2008-01-07
+	  11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/affineimage1.cc (simplex.1): file affineimage1.cc was
+	  added on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/affinepreimage1.cc (simplex.1): file affinepreimage1.cc
+	  was added on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/ascii_dump_load1.cc (simplex.1): file
+	  ascii_dump_load1.cc was added on branch simplex on 2008-01-07
+	  11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/bdsdifference1.cc (simplex.1): file bdsdifference1.cc
+	  was added on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/bgp99extrapolation1.cc (simplex.1): file
+	  bgp99extrapolation1.cc was added on branch simplex on 2008-01-07
+	  11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/bhz03widening1.cc (simplex.1): file bhz03widening1.cc
+	  was added on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/bounded1.cc (simplex.1): file bounded1.cc was added on
+	  branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Box/boundedaffineimage1.cc, Grid/boundedaffineimage1.cc
+	  (simplex.[1,1]): file boundedaffineimage1.cc was added on branch
+	  simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/boxdifference1.cc (simplex.1): file boxdifference1.cc
+	  was added on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/boxhull.cc (simplex.1): file boxhull.cc was added on
+	  branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/boxhull1.cc (simplex.1): file boxhull1.cc was added on
+	  branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/cc76narrowing1.cc (simplex.1): file cc76narrowing1.cc
+	  was added on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/cc76widening.cc (simplex.1): file cc76widening.cc was
+	  added on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/closure1.cc (simplex.1): file closure1.cc was added on
+	  branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/concatenate1.cc (simplex.1): file concatenate1.cc was
+	  added on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/congruences1.cc (simplex.1): file congruences1.cc was
+	  added on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Box/constraints1.cc, Grid/constraints1.cc
+	  (simplex.[1,1]): file constraints1.cc was added on branch simplex
+	  on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/contains1.cc (simplex.1): file contains1.cc was added
+	  on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Box/containsintegerpoint1.cc,
+	  Grid/containsintegerpoint1.cc (simplex.[1,1]): file
+	  containsintegerpoint1.cc was added on branch simplex on
+	  2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/discrete1.cc (simplex.1): file discrete1.cc was added
+	  on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/disjoint1.cc (simplex.1): file disjoint1.cc was added
+	  on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/empty1.cc (simplex.1): file empty1.cc was added on
+	  branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/equality1.cc (simplex.1): file equality1.cc was added
+	  on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/expandspacedim1.cc (simplex.1): file expandspacedim1.cc
+	  was added on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/foldspacedims1.cc (simplex.1): file foldspacedims1.cc
+	  was added on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Box/frombdshape1.cc, Grid/frombdshape1.cc
+	  (simplex.[1,1]): file frombdshape1.cc was added on branch simplex
+	  on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/frombox1.cc (simplex.1): file frombox1.cc was added on
+	  branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/fromgensys1.cc (simplex.1): file fromgensys1.cc was
+	  added on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/fromgrid1.cc (simplex.1): file fromgrid1.cc was added
+	  on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/frompartiallyreducedproduct1.cc (simplex.1): file
+	  frompartiallyreducedproduct1.cc was added on branch simplex on
+	  2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/frompolyhedron1.cc (simplex.1): file frompolyhedron1.cc
+	  was added on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/frompolyhedron2.cc (simplex.1): file frompolyhedron2.cc
+	  was added on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/fromspacedim1.cc (simplex.1): file fromspacedim1.cc was
+	  added on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/generalizedaffineimage1.cc (simplex.1): file
+	  generalizedaffineimage1.cc was added on branch simplex on
+	  2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/generalizedaffinepreimage1.cc (simplex.1): file
+	  generalizedaffinepreimage1.cc was added on branch simplex on
+	  2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/geomcovers1.cc (simplex.1): file geomcovers1.cc was
+	  added on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/intersection1.cc (simplex.1): file intersection1.cc was
+	  added on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/interval1.cc (simplex.1): file interval1.cc was added
+	  on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/interval2.cc (simplex.1): file interval2.cc was added
+	  on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/mapspacedims1.cc (simplex.1): file mapspacedims1.cc was
+	  added on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/max_min1.cc (simplex.1): file max_min1.cc was added on
+	  branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/maxspacedim1.cc (simplex.1): file maxspacedim1.cc was
+	  added on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/membytes1.cc (simplex.1): file membytes1.cc was added
+	  on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/minconstraints1.cc (simplex.1): file minconstraints1.cc
+	  was added on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/pointsetpowerset1.cc (simplex.1): file
+	  pointsetpowerset1.cc was added on branch simplex on 2008-01-07
+	  11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/refine1.cc (simplex.1): file refine1.cc was added on
+	  branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/refine2.cc (simplex.1): file refine2.cc was added on
+	  branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/refine3.cc (simplex.1): file refine3.cc was added on
+	  branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/relations1.cc (simplex.1): file relations1.cc was added
+	  on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/relations2.cc (simplex.1): file relations2.cc was added
+	  on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/removespacedims1.cc (simplex.1): file
+	  removespacedims1.cc was added on branch simplex on 2008-01-07
+	  11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/run_tests (simplex.1): file run_tests was added on
+	  branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/timeelapse1.cc (simplex.1): file timeelapse1.cc was
+	  added on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/universe1.cc (simplex.1): file universe1.cc was added
+	  on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/writebox1.cc (simplex.1): file writebox1.cc was added
+	  on branch simplex on 2008-01-07 11:15:36 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Ask_Tell/Makefile.am (simplex.1): file Makefile.am was
+	  added on branch simplex on 2008-01-07 11:15:35 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Ask_Tell/append1.cc (simplex.1): file append1.cc was added
+	  on branch simplex on 2008-01-07 11:15:35 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/boundedaffineimage1.cc (simplex.1): file
+	  boundedaffineimage1.cc was added on branch simplex on 2008-01-07
+	  11:15:35 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/boundedaffinepreimage1.cc (simplex.1): file
+	  boundedaffinepreimage1.cc was added on branch simplex on
+	  2008-01-07 11:15:35 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/boundingbox1.cc (simplex.1): file boundingbox1.cc
+	  was added on branch simplex on 2008-01-07 11:15:35 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/bounds1.cc (simplex.1): file bounds1.cc was added
+	  on branch simplex on 2008-01-07 11:15:35 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/containsintegerpoint1.cc (simplex.1): file
+	  containsintegerpoint1.cc was added on branch simplex on
+	  2008-01-07 11:15:35 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/discrete1.cc (simplex.1): file discrete1.cc was
+	  added on branch simplex on 2008-01-07 11:15:35 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/disjoint1.cc (simplex.1): file disjoint1.cc was
+	  added on branch simplex on 2008-01-07 11:15:35 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/expandspacedim1.cc (simplex.1): file
+	  expandspacedim1.cc was added on branch simplex on 2008-01-07
+	  11:15:35 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/foldspacedims1.cc (simplex.1): file
+	  foldspacedims1.cc was added on branch simplex on 2008-01-07
+	  11:15:35 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/fromgrid1.cc (simplex.1): file fromgrid1.cc was
+	  added on branch simplex on 2008-01-07 11:15:35 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/fromoctagonalshape1.cc (simplex.1): file
+	  fromoctagonalshape1.cc was added on branch simplex on 2008-01-07
+	  11:15:35 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/fromspacedim1.cc (simplex.1): file
+	  fromspacedim1.cc was added on branch simplex on 2008-01-07
+	  11:15:35 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/max_min1.cc (simplex.1): file max_min1.cc was
+	  added on branch simplex on 2008-01-07 11:15:35 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/max_min2.cc (simplex.1): file max_min2.cc was
+	  added on branch simplex on 2008-01-07 11:15:35 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/maxspacedim1.cc (simplex.1): file maxspacedim1.cc
+	  was added on branch simplex on 2008-01-07 11:15:35 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/membytes1.cc (simplex.1): file membytes1.cc was
+	  added on branch simplex on 2008-01-07 11:15:35 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/FCAIBVP.cc (simplex.1): file FCAIBVP.cc was added on branch
+	  simplex on 2008-01-07 11:15:35 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/FCAIBVP.defs.hh (simplex.1): file FCAIBVP.defs.hh was added
+	  on branch simplex on 2008-01-07 11:15:35 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/FCAIBVP.inlines.hh (simplex.1): file FCAIBVP.inlines.hh was
+	  added on branch simplex on 2008-01-07 11:15:35 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/FCAIBVP.types.hh (simplex.1): file FCAIBVP.types.hh was
+	  added on branch simplex on 2008-01-07 11:15:35 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Variables_Set.defs.hh (simplex.1): file Variables_Set.defs.hh
+	  was added on branch simplex on 2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Variables_Set.inlines.hh (simplex.1): file
+	  Variables_Set.inlines.hh was added on branch simplex on
+	  2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Variables_Set.types.hh (simplex.1): file
+	  Variables_Set.types.hh was added on branch simplex on 2008-01-07
+	  11:15:34 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/assign_or_swap.hh (simplex.1): file assign_or_swap.hh was
+	  added on branch simplex on 2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/distances.defs.hh (simplex.1): file distances.defs.hh was
+	  added on branch simplex on 2008-01-07 11:15:35 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/distances.inlines.hh (simplex.1): file distances.inlines.hh
+	  was added on branch simplex on 2008-01-07 11:15:35 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/distances.types.hh (simplex.1): file distances.types.hh was
+	  added on branch simplex on 2008-01-07 11:15:35 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/iterator_to_const.defs.hh (simplex.1): file
+	  iterator_to_const.defs.hh was added on branch simplex on
+	  2008-01-07 11:15:35 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/iterator_to_const.inlines.hh (simplex.1): file
+	  iterator_to_const.inlines.hh was added on branch simplex on
+	  2008-01-07 11:15:35 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/iterator_to_const.types.hh (simplex.1): file
+	  iterator_to_const.types.hh was added on branch simplex on
+	  2008-01-07 11:15:35 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/meta_programming.hh (simplex.1): file meta_programming.hh was
+	  added on branch simplex on 2008-01-07 11:15:35 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/mp_std_bits.cc (simplex.1): file mp_std_bits.cc was added on
+	  branch simplex on 2008-01-07 11:15:35 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/mp_std_bits.defs.hh (simplex.1): file mp_std_bits.defs.hh was
+	  added on branch simplex on 2008-01-07 11:15:35 +0000
+
+2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/mp_std_bits.inlines.hh (simplex.1): file
+	  mp_std_bits.inlines.hh was added on branch simplex on 2008-01-07
+	  11:15:35 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Any_Pointset.defs.hh (simplex.1): file Any_Pointset.defs.hh
+	  was added on branch simplex on 2008-01-07 11:15:31 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Any_Pointset.inlines.hh (simplex.1): file
+	  Any_Pointset.inlines.hh was added on branch simplex on 2008-01-07
+	  11:15:31 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Any_Pointset.types.hh (simplex.1): file Any_Pointset.types.hh
+	  was added on branch simplex on 2008-01-07 11:15:31 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Ask_Tell.templates.hh (simplex.1): file Ask_Tell.templates.hh
+	  was added on branch simplex on 2008-01-07 11:15:31 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Matrix.cc (simplex.1): file Bit_Matrix.cc was added on
+	  branch simplex on 2008-01-07 11:15:32 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Matrix.defs.hh (simplex.1): file Bit_Matrix.defs.hh was
+	  added on branch simplex on 2008-01-07 11:15:32 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Matrix.inlines.hh (simplex.1): file Bit_Matrix.inlines.hh
+	  was added on branch simplex on 2008-01-07 11:15:32 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Matrix.types.hh (simplex.1): file Bit_Matrix.types.hh was
+	  added on branch simplex on 2008-01-07 11:15:32 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Row.cc (simplex.1): file Bit_Row.cc was added on branch
+	  simplex on 2008-01-07 11:15:32 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Row.defs.hh (simplex.1): file Bit_Row.defs.hh was added
+	  on branch simplex on 2008-01-07 11:15:32 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Row.inlines.hh (simplex.1): file Bit_Row.inlines.hh was
+	  added on branch simplex on 2008-01-07 11:15:32 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Row.types.hh (simplex.1): file Bit_Row.types.hh was added
+	  on branch simplex on 2008-01-07 11:15:32 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Boundary.defs.hh (simplex.1): file Boundary.defs.hh was added
+	  on branch simplex on 2008-01-07 11:15:32 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.cc (simplex.1): file Box.cc was added on branch simplex
+	  on 2008-01-07 11:15:32 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.defs.hh (simplex.1): file Box.defs.hh was added on branch
+	  simplex on 2008-01-07 11:15:32 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.inlines.hh (simplex.1): file Box.inlines.hh was added on
+	  branch simplex on 2008-01-07 11:15:32 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh (simplex.1): file Box.templates.hh was added
+	  on branch simplex on 2008-01-07 11:15:32 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.types.hh (simplex.1): file Box.types.hh was added on
+	  branch simplex on 2008-01-07 11:15:32 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/C_Integer.hh (simplex.1): file C_Integer.hh was added on
+	  branch simplex on 2008-01-07 11:15:32 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Has_Assign_Or_Swap.hh (simplex.1): file Has_Assign_Or_Swap.hh
+	  was added on branch simplex on 2008-01-07 11:15:32 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Interval.templates.hh (simplex.1): file Interval.templates.hh
+	  was added on branch simplex on 2008-01-07 11:15:32 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Interval_Info.defs.hh (simplex.1): file Interval_Info.defs.hh
+	  was added on branch simplex on 2008-01-07 11:15:32 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Interval_Info.inlines.hh (simplex.1): file
+	  Interval_Info.inlines.hh was added on branch simplex on
+	  2008-01-07 11:15:32 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Interval_Info.types.hh (simplex.1): file
+	  Interval_Info.types.hh was added on branch simplex on 2008-01-07
+	  11:15:32 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Interval_Restriction.defs.hh (simplex.1): file
+	  Interval_Restriction.defs.hh was added on branch simplex on
+	  2008-01-07 11:15:32 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.cc (simplex.1): file MIP_Problem.cc was added on
+	  branch simplex on 2008-01-07 11:15:32 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.defs.hh (simplex.1): file MIP_Problem.defs.hh was
+	  added on branch simplex on 2008-01-07 11:15:32 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.inlines.hh (simplex.1): file
+	  MIP_Problem.inlines.hh was added on branch simplex on 2008-01-07
+	  11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.templates.hh (simplex.1): file
+	  MIP_Problem.templates.hh was added on branch simplex on
+	  2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.types.hh (simplex.1): file MIP_Problem.types.hh
+	  was added on branch simplex on 2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/OR_Matrix.defs.hh (simplex.1): file OR_Matrix.defs.hh was
+	  added on branch simplex on 2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/OR_Matrix.inlines.hh (simplex.1): file OR_Matrix.inlines.hh
+	  was added on branch simplex on 2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/OR_Matrix.templates.hh (simplex.1): file
+	  OR_Matrix.templates.hh was added on branch simplex on 2008-01-07
+	  11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/OR_Matrix.types.hh (simplex.1): file OR_Matrix.types.hh was
+	  added on branch simplex on 2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Octagonal_Shape.cc (simplex.1): file Octagonal_Shape.cc was
+	  added on branch simplex on 2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Octagonal_Shape.defs.hh (simplex.1): file
+	  Octagonal_Shape.defs.hh was added on branch simplex on 2008-01-07
+	  11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Octagonal_Shape.inlines.hh (simplex.1): file
+	  Octagonal_Shape.inlines.hh was added on branch simplex on
+	  2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh (simplex.1): file
+	  Octagonal_Shape.templates.hh was added on branch simplex on
+	  2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Octagonal_Shape.types.hh (simplex.1): file
+	  Octagonal_Shape.types.hh was added on branch simplex on
+	  2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Og_Status.idefs.hh (simplex.1): file Og_Status.idefs.hh was
+	  added on branch simplex on 2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Og_Status.inlines.hh (simplex.1): file Og_Status.inlines.hh
+	  was added on branch simplex on 2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Partially_Reduced_Product.defs.hh (simplex.1): file
+	  Partially_Reduced_Product.defs.hh was added on branch simplex on
+	  2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Partially_Reduced_Product.inlines.hh (simplex.1): file
+	  Partially_Reduced_Product.inlines.hh was added on branch simplex
+	  on 2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Partially_Reduced_Product.templates.hh (simplex.1): file
+	  Partially_Reduced_Product.templates.hh was added on branch
+	  simplex on 2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Partially_Reduced_Product.types.hh (simplex.1): file
+	  Partially_Reduced_Product.types.hh was added on branch simplex on
+	  2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Ask_Tell.cc (simplex.1): file Pointset_Ask_Tell.cc
+	  was added on branch simplex on 2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Ask_Tell.defs.hh (simplex.1): file
+	  Pointset_Ask_Tell.defs.hh was added on branch simplex on
+	  2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Ask_Tell.inlines.hh (simplex.1): file
+	  Pointset_Ask_Tell.inlines.hh was added on branch simplex on
+	  2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Ask_Tell.templates.hh (simplex.1): file
+	  Pointset_Ask_Tell.templates.hh was added on branch simplex on
+	  2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Ask_Tell.types.hh (simplex.1): file
+	  Pointset_Ask_Tell.types.hh was added on branch simplex on
+	  2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Powerset.cc (simplex.1): file Pointset_Powerset.cc
+	  was added on branch simplex on 2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Powerset.defs.hh (simplex.1): file
+	  Pointset_Powerset.defs.hh was added on branch simplex on
+	  2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Powerset.inlines.hh (simplex.1): file
+	  Pointset_Powerset.inlines.hh was added on branch simplex on
+	  2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Powerset.templates.hh (simplex.1): file
+	  Pointset_Powerset.templates.hh was added on branch simplex on
+	  2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Powerset.types.hh (simplex.1): file
+	  Pointset_Powerset.types.hh was added on branch simplex on
+	  2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Rational_Box.hh (simplex.1): file Rational_Box.hh was added
+	  on branch simplex on 2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Slow_Copy.hh (simplex.1): file Slow_Copy.hh was added on
+	  branch simplex on 2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Temp.defs.hh (simplex.1): file Temp.defs.hh was added on
+	  branch simplex on 2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Temp.inlines.hh (simplex.1): file Temp.inlines.hh was added
+	  on branch simplex on 2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Temp.templates.hh (simplex.1): file Temp.templates.hh was
+	  added on branch simplex on 2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Variables_Set.cc (simplex.1): file Variables_Set.cc was added
+	  on branch simplex on 2008-01-07 11:15:34 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_proper_long_double.m4 (simplex.1): file
+	  ac_cxx_proper_long_double.m4 was added on branch simplex on
+	  2008-01-07 11:15:31 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_remainder_bug.m4 (simplex.1): file
+	  ac_cxx_remainder_bug.m4 was added on branch simplex on 2008-01-07
+	  11:15:31 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_prog_jar.m4 (simplex.1): file ac_prog_jar.m4 was added on
+	  branch simplex on 2008-01-07 11:15:31 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_prog_java.m4 (simplex.1): file ac_prog_java.m4 was added on
+	  branch simplex on 2008-01-07 11:15:31 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_prog_javac.m4 (simplex.1): file ac_prog_javac.m4 was added
+	  on branch simplex on 2008-01-07 11:15:31 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_prog_javah.m4 (simplex.1): file ac_prog_javah.m4 was added
+	  on branch simplex on 2008-01-07 11:15:31 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ppl_c.m4 (simplex.1): file ppl_c.m4 was added on branch
+	  simplex on 2008-01-07 11:15:31 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (simplex.1): file ppl_interface_generator_predicate_check_code.m4
+	  was added on branch simplex on 2008-01-07 11:15:31 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
+	  (simplex.1): file ppl_interface_generator_predicate_check_pl.m4
+	  was added on branch simplex on 2008-01-07 11:15:31 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4
+	  (simplex.1): file ppl_interface_generator_yap_cc.m4 was added on
+	  branch simplex on 2008-01-07 11:15:31 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/ppl_predicate_check_common.pl
+	  (simplex.1): file ppl_predicate_check_common.pl was added on
+	  branch simplex on 2008-01-07 11:15:31 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/yap_cfli.hh (simplex.1): file yap_cfli.hh
+	  was added on branch simplex on 2008-01-07 11:15:31 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
+	  (simplex.1): file ppl_interface_generator_swiprolog_cc.m4 was
+	  added on branch simplex on 2008-01-07 11:15:30 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4
+	  (simplex.1): file ppl_interface_generator_xsb_H.m4 was added on
+	  branch simplex on 2008-01-07 11:15:31 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4
+	  (simplex.1): file ppl_interface_generator_xsb_cc.m4 was added on
+	  branch simplex on 2008-01-07 11:15:31 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_predicate_check_P.m4
+	  (simplex.1): file
+	  ppl_interface_generator_xsb_predicate_check_P.m4 was added on
+	  branch simplex on 2008-01-07 11:15:31 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/swi_cfli.hh (simplex.1): file swi_cfli.hh
+	  was added on branch simplex on 2008-01-07 11:15:30 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/swi_predicate_check.pl (simplex.1): file
+	  swi_predicate_check.pl was added on branch simplex on 2008-01-07
+	  11:15:30 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/xsb_cfli.hh (simplex.1): file xsb_cfli.hh
+	  was added on branch simplex on 2008-01-07 11:15:31 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/gprolog_cfli.hh (simplex.1): file
+	  gprolog_cfli.hh was added on branch simplex on 2008-01-07
+	  11:15:30 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4
+	  (simplex.1): file ppl_interface_generator_gprolog_pl.m4 was added
+	  on branch simplex on 2008-01-07 11:15:30 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
+	  (simplex.1): file ppl_interface_generator_sicstus_sd_cc.m4 was
+	  added on branch simplex on 2008-01-07 11:15:30 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/sp_predicate_check.pl (simplex.1): file
+	  sp_predicate_check.pl was added on branch simplex on 2008-01-07
+	  11:15:30 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/ciao_cfli.hh (simplex.1): file
+	  ciao_cfli.hh was added on branch simplex on 2008-01-07 11:15:30
+	  +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4
+	  (simplex.1): file ppl_interface_generator_ciao_pl.m4 was added on
+	  branch simplex on 2008-01-07 11:15:30 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4
+	  (simplex.1): file
+	  ppl_interface_generator_ciao_predicate_check_pl.m4 was added on
+	  branch simplex on 2008-01-07 11:15:30 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_dat.m4
+	  (simplex.1): file ppl_interface_generator_prolog_dat.m4 was added
+	  on branch simplex on 2008-01-07 11:15:29 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_icc.m4
+	  (simplex.1): file ppl_interface_generator_prolog_icc.m4 was added
+	  on branch simplex on 2008-01-07 11:15:29 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_systems.m4
+	  (simplex.1): file ppl_interface_generator_prolog_systems.m4 was
+	  added on branch simplex on 2008-01-07 11:15:29 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog_common.icc (simplex.1): file
+	  ppl_prolog_common.icc was added on branch simplex on 2008-01-07
+	  11:15:30 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/tests/C_Polyhedron_test1.java (simplex.1): file
+	  C_Polyhedron_test1.java was added on branch simplex on 2008-01-07
+	  11:15:29 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/tests/Test_Partial_Function.java (simplex.1):
+	  file Test_Partial_Function.java was added on branch simplex on
+	  2008-01-07 11:15:29 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/tests/ppl_interface_generator_java_test_java.m4
+	  (simplex.1): file ppl_interface_generator_java_test_java.m4 was
+	  added on branch simplex on 2008-01-07 11:15:29 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
+	  (simplex.1): file ppl_interface_generator_java_test_java_code.m4
+	  was added on branch simplex on 2008-01-07 11:15:29 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_cc.m4 (simplex.1):
+	  file ppl_interface_generator_ocaml_cc.m4 was added on branch
+	  simplex on 2008-01-07 11:15:29 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4
+	  (simplex.1): file ppl_interface_generator_ocaml_cc_code.m4 was
+	  added on branch simplex on 2008-01-07 11:15:29 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_dat.m4
+	  (simplex.1): file ppl_interface_generator_ocaml_dat.m4 was added
+	  on branch simplex on 2008-01-07 11:15:29 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4 (simplex.1):
+	  file ppl_interface_generator_ocaml_ml.m4 was added on branch
+	  simplex on 2008-01-07 11:15:29 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4
+	  (simplex.1): file ppl_interface_generator_ocaml_ml_code.m4 was
+	  added on branch simplex on 2008-01-07 11:15:29 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4
+	  (simplex.1): file ppl_interface_generator_ocaml_mli.m4 was added
+	  on branch simplex on 2008-01-07 11:15:29 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4
+	  (simplex.1): file ppl_interface_generator_ocaml_mli_code.m4 was
+	  added on branch simplex on 2008-01-07 11:15:29 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_ocaml_globals.cc (simplex.1): file
+	  ppl_ocaml_globals.cc was added on branch simplex on 2008-01-07
+	  11:15:29 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_ocaml_globals.ml (simplex.1): file
+	  ppl_ocaml_globals.ml was added on branch simplex on 2008-01-07
+	  11:15:29 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_ocaml_types.ml (simplex.1): file
+	  ppl_ocaml_types.ml was added on branch simplex on 2008-01-07
+	  11:15:29 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/test1.ml (simplex.1): file test1.ml was added on
+	  branch simplex on 2008-01-07 11:15:29 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/C_interface.dox (simplex.1): file C_interface.dox
+	  was added on branch simplex on 2008-01-07 11:15:28 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/Makefile.am (simplex.1): file Makefile.am was added on
+	  branch simplex on 2008-01-07 11:15:27 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/Makefile.am (simplex.1): file Makefile.am was
+	  added on branch simplex on 2008-01-07 11:15:28 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/: jni/Makefile.am, tests/Makefile.am
+	  (simplex.[1,1]): file Makefile.am was added on branch simplex on
+	  2008-01-07 11:15:29 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c_version.h.in (simplex.1): file
+	  ppl_c_version.h.in was added on branch simplex on 2008-01-07
+	  11:15:28 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc.m4 (simplex.1): file
+	  ppl_interface_generator_c_cc.m4 was added on branch simplex on
+	  2008-01-07 11:15:28 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4 (simplex.1):
+	  file ppl_interface_generator_c_cc_code.m4 was added on branch
+	  simplex on 2008-01-07 11:15:28 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc_preamble (simplex.1):
+	  file ppl_interface_generator_c_cc_preamble was added on branch
+	  simplex on 2008-01-07 11:15:28 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_dat.m4 (simplex.1): file
+	  ppl_interface_generator_c_dat.m4 was added on branch simplex on
+	  2008-01-07 11:15:28 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_h.m4 (simplex.1): file
+	  ppl_interface_generator_c_h.m4 was added on branch simplex on
+	  2008-01-07 11:15:28 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_h_code.m4 (simplex.1):
+	  file ppl_interface_generator_c_h_code.m4 was added on branch
+	  simplex on 2008-01-07 11:15:28 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_h_preamble (simplex.1):
+	  file ppl_interface_generator_c_h_preamble was added on branch
+	  simplex on 2008-01-07 11:15:28 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/ppl_interface_generator_common.m4 (simplex.1): file
+	  ppl_interface_generator_common.m4 was added on branch simplex on
+	  2008-01-07 11:15:28 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (simplex.1):
+	  file ppl_interface_generator_common_dat.m4 was added on branch
+	  simplex on 2008-01-07 11:15:28 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/ppl_interface_generator_copyright (simplex.1): file
+	  ppl_interface_generator_copyright was added on branch simplex on
+	  2008-01-07 11:15:28 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/ppl_interface_generator_java_dat.m4 (simplex.1):
+	  file ppl_interface_generator_java_dat.m4 was added on branch
+	  simplex on 2008-01-07 11:15:28 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4
+	  (simplex.1): file
+	  ppl_interface_generator_java_ppl_java_classes_cc.m4 was added on
+	  branch simplex on 2008-01-07 11:15:29 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (simplex.1): file
+	  ppl_interface_generator_java_ppl_java_classes_cc_code.m4 was
+	  added on branch simplex on 2008-01-07 11:15:29 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.cc (simplex.1): file
+	  ppl_java_common.cc was added on branch simplex on 2008-01-07
+	  11:15:29 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.hh (simplex.1): file
+	  ppl_java_common.hh was added on branch simplex on 2008-01-07
+	  11:15:29 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_globals.cc (simplex.1): file
+	  ppl_java_globals.cc was added on branch simplex on 2008-01-07
+	  11:15:29 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref-c-interface.tex (simplex.1): file
+	  devref-c-interface.tex was added on branch simplex on 2008-01-07
+	  11:15:27 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl-config_extra_man_text (simplex.1): file
+	  ppl-config_extra_man_text was added on branch simplex on
+	  2008-01-07 11:15:27 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_lcdd_extra_man_text (simplex.1): file
+	  ppl_lcdd_extra_man_text was added on branch simplex on 2008-01-07
+	  11:15:27 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_lpsol_extra_man_text (simplex.1): file
+	  ppl_lpsol_extra_man_text was added on branch simplex on
+	  2008-01-07 11:15:27 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user-c-interface.tex (simplex.1): file user-c-interface.tex
+	  was added on branch simplex on 2008-01-07 11:15:27 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user-prolog-interface.tex (simplex.1): file
+	  user-prolog-interface.tex was added on branch simplex on
+	  2008-01-07 11:15:27 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: doc/Makefile.am, m4/Makefile.am (simplex.[1,1]): file
+	  Makefile.am was added on branch simplex on 2008-01-07 11:15:25
+	  +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/README.doc (simplex.1): file README.doc was added on
+	  branch simplex on 2008-01-07 11:15:25 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/devref.tex (simplex.1): file devref.tex was added on
+	  branch simplex on 2008-01-07 11:15:25 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/pwl.sty (simplex.1): file pwl.sty was added on
+	  branch simplex on 2008-01-07 11:15:25 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/user.tex (simplex.1): file user.tex was added on
+	  branch simplex on 2008-01-07 11:15:25 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.44), README (1.52), README.configure (1.24),
+	  configure.ac (1.300), instchk.hh (1.10), Watchdog/Makefile.am
+	  (1.33), Watchdog/README (1.17), Watchdog/configure.ac (1.43),
+	  Watchdog/doc/Makefile.am (1.4), Watchdog/doc/README.doc (1.3),
+	  Watchdog/doc/devref.tex (1.4), Watchdog/doc/pwl.sty (1.3),
+	  Watchdog/doc/user.tex (1.4), Watchdog/m4/Makefile.am (1.3),
+	  Watchdog/src/Doubly_Linked_Object.defs.hh (1.5),
+	  Watchdog/src/Doubly_Linked_Object.inlines.hh (1.5),
+	  Watchdog/src/Doubly_Linked_Object.types.hh (1.4),
+	  Watchdog/src/EList.defs.hh (1.7), Watchdog/src/EList.inlines.hh
+	  (1.5), Watchdog/src/EList.types.hh (1.4),
+	  Watchdog/src/EList_Iterator.defs.hh (1.5),
+	  Watchdog/src/EList_Iterator.inlines.hh (1.5),
+	  Watchdog/src/EList_Iterator.types.hh (1.4),
+	  Watchdog/src/Handler.defs.hh (1.6),
+	  Watchdog/src/Handler.inlines.hh (1.5),
+	  Watchdog/src/Handler.types.hh (1.4), Watchdog/src/Makefile.am
+	  (1.13), Watchdog/src/Pending_Element.cc (1.6),
+	  Watchdog/src/Pending_Element.defs.hh (1.6),
+	  Watchdog/src/Pending_Element.inlines.hh (1.5),
+	  Watchdog/src/Pending_Element.types.hh (1.4),
+	  Watchdog/src/Pending_List.cc (1.6),
+	  Watchdog/src/Pending_List.defs.hh (1.6),
+	  Watchdog/src/Pending_List.inlines.hh (1.5),
+	  Watchdog/src/Pending_List.types.hh (1.4), Watchdog/src/Time.cc
+	  (1.6), Watchdog/src/Time.defs.hh (1.6),
+	  Watchdog/src/Time.inlines.hh (1.5), Watchdog/src/Time.types.hh
+	  (1.4), Watchdog/src/Watchdog.cc (1.8),
+	  Watchdog/src/Watchdog.defs.hh (1.8),
+	  Watchdog/src/Watchdog.inlines.hh (1.5),
+	  Watchdog/src/Watchdog.types.hh (1.4), Watchdog/src/pwl_header.hh
+	  (1.6), Watchdog/utils/Makefile.am (1.9),
+	  Watchdog/utils/build_header.in (1.6), debian/Makefile.am (1.5),
+	  debian/libppl-pwl.copyright.in (1.6), debian/libppl.copyright.in
+	  (1.6), demos/Makefile.am (1.12), demos/ppl_lcdd/Makefile.am
+	  (1.29), demos/ppl_lcdd/ppl_lcdd.cc (1.61),
+	  demos/ppl_lcdd/examples/Makefile.am (1.10),
+	  demos/ppl_lpsol/Makefile.am (1.44), demos/ppl_lpsol/ppl_lpsol.c
+	  (1.76), demos/ppl_lpsol/examples/Makefile.am (1.11),
+	  doc/Makefile.am (1.56), doc/README.doc (1.13),
+	  doc/definitions.dox (1.206), doc/devref-c-interface.tex (1.3),
+	  doc/devref.tex (1.24), doc/ppl-config.1 (1.6),
+	  doc/ppl-config_extra_man_text (1.3), doc/ppl.sty (1.28),
+	  doc/ppl_lcdd.1 (1.4), doc/ppl_lcdd_extra_man_text (1.3),
+	  doc/ppl_lpsol.1 (1.4), doc/ppl_lpsol_extra_man_text (1.3),
+	  doc/user-c-interface.tex (1.3), doc/user-prolog-interface.tex
+	  (1.3), doc/user.tex (1.25), fedora/Makefile.am (1.2),
+	  interfaces/Makefile.am (1.28),
+	  interfaces/ppl_interface_generator_common.m4 (1.19),
+	  interfaces/ppl_interface_generator_common_dat.m4 (1.32),
+	  interfaces/ppl_interface_generator_copyright (1.5),
+	  interfaces/C/C_interface.dox (1.3), interfaces/C/Makefile.am
+	  (1.37), interfaces/C/ppl_c.h.in (1.74),
+	  interfaces/C/ppl_c_version.h.in (1.7),
+	  interfaces/C/ppl_interface_generator_c_cc.m4 (1.9),
+	  interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.19),
+	  interfaces/C/ppl_interface_generator_c_cc_preamble (1.13),
+	  interfaces/C/ppl_interface_generator_c_dat.m4 (1.13),
+	  interfaces/C/ppl_interface_generator_c_h.m4 (1.13),
+	  interfaces/C/ppl_interface_generator_c_h_code.m4 (1.10),
+	  interfaces/C/ppl_interface_generator_c_h_preamble (1.9),
+	  interfaces/Java/Makefile.am (1.14),
+	  interfaces/Java/ppl_interface_generator_java_dat.m4 (1.12),
+	  interfaces/Java/jni/Makefile.am (1.15),
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4
+	  (1.10),
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.34), interfaces/Java/jni/ppl_java_common.cc (1.37),
+	  interfaces/Java/jni/ppl_java_common.hh (1.31),
+	  interfaces/Java/jni/ppl_java_globals.cc (1.9),
+	  interfaces/Java/tests/C_Polyhedron_test1.java (1.13),
+	  interfaces/Java/tests/Makefile.am (1.17),
+	  interfaces/Java/tests/Test_Partial_Function.java (1.4),
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java.m4
+	  (1.11),
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.24), interfaces/OCaml/Makefile.am (1.34),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_cc.m4 (1.5),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.17),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_dat.m4 (1.7),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4 (1.10),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.14),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4 (1.8),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.8),
+	  interfaces/OCaml/ppl_ocaml_globals.cc (1.12),
+	  interfaces/OCaml/ppl_ocaml_globals.ml (1.8),
+	  interfaces/OCaml/ppl_ocaml_types.ml (1.11),
+	  interfaces/OCaml/test1.ml (1.31), interfaces/Prolog/Makefile.am
+	  (1.43), interfaces/Prolog/Prolog_interface.dox (1.161),
+	  interfaces/Prolog/exceptions.hh (1.26),
+	  interfaces/Prolog/ppl_interface_generator_prolog_dat.m4 (1.35),
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc.m4 (1.12),
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (1.50),
+	  interfaces/Prolog/ppl_interface_generator_prolog_systems.m4
+	  (1.11), interfaces/Prolog/ppl_prolog_common.icc (1.13),
+	  interfaces/Prolog/track_allocation.hh (1.24),
+	  interfaces/Prolog/Ciao/Makefile.am (1.67),
+	  interfaces/Prolog/Ciao/ciao_cfli.hh (1.5),
+	  interfaces/Prolog/Ciao/ciao_clpq.pl (1.20),
+	  interfaces/Prolog/Ciao/ciao_clpq2.pl (1.16),
+	  interfaces/Prolog/Ciao/ciao_pl_check.pl (1.27),
+	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.52),
+	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4 (1.7),
+	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4
+	  (1.6), interfaces/Prolog/GNU/Makefile.am (1.67),
+	  interfaces/Prolog/GNU/gnu_pl_check.pl (1.12),
+	  interfaces/Prolog/GNU/gp_clpq.pl (1.13),
+	  interfaces/Prolog/GNU/gprolog_cfli.hh (1.8),
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.45),
+	  interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4
+	  (1.7), interfaces/Prolog/SICStus/Makefile.am (1.79),
+	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
+	  (1.11), interfaces/Prolog/SICStus/ppl_sicstus.pl (1.29),
+	  interfaces/Prolog/SICStus/sicstus_cfli.cc (1.9),
+	  interfaces/Prolog/SICStus/sicstus_cfli.h (1.11),
+	  interfaces/Prolog/SICStus/sicstus_cfli.ic (1.19),
+	  interfaces/Prolog/SICStus/sp_clpq.pl (1.20),
+	  interfaces/Prolog/SICStus/sp_pl_check.pl (1.14),
+	  interfaces/Prolog/SICStus/sp_predicate_check.pl (1.4),
+	  interfaces/Prolog/SWI/Makefile.am (1.77),
+	  interfaces/Prolog/SWI/pl_clpq.cc (1.14),
+	  interfaces/Prolog/SWI/pl_clpq.pl (1.12),
+	  interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
+	  (1.14), interfaces/Prolog/SWI/ppl_pl.cc (1.14),
+	  interfaces/Prolog/SWI/ppl_swiprolog.pl (1.9),
+	  interfaces/Prolog/SWI/swi_cfli.hh (1.8),
+	  interfaces/Prolog/SWI/swi_pl_check.pl (1.11),
+	  interfaces/Prolog/SWI/swi_predicate_check.pl (1.4),
+	  interfaces/Prolog/XSB/Makefile.am (1.56),
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4 (1.8),
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4 (1.10),
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_predicate_check_P.m4
+	  (1.6), interfaces/Prolog/XSB/xsb_cfli.hh (1.5),
+	  interfaces/Prolog/XSB/xsb_clpq.P (1.19),
+	  interfaces/Prolog/XSB/xsb_clpq2.P (1.17),
+	  interfaces/Prolog/XSB/xsb_pl_check.P (1.31),
+	  interfaces/Prolog/YAP/Makefile.am (1.56),
+	  interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4 (1.8),
+	  interfaces/Prolog/YAP/ppl_yap.pl (1.13),
+	  interfaces/Prolog/YAP/yap_cfli.hh (1.5),
+	  interfaces/Prolog/YAP/yap_clpq.pl (1.14),
+	  interfaces/Prolog/YAP/yap_clpq2.pl (1.10),
+	  interfaces/Prolog/YAP/yap_pl_check.pl (1.14),
+	  interfaces/Prolog/tests/Makefile.am (1.17),
+	  interfaces/Prolog/tests/clpq.pl (1.11),
+	  interfaces/Prolog/tests/clpq2.pl (1.13),
+	  interfaces/Prolog/tests/expected_clpq2_int16 (1.4),
+	  interfaces/Prolog/tests/expected_clpq2_int16_a (1.4),
+	  interfaces/Prolog/tests/expected_clpq2_int32 (1.4),
+	  interfaces/Prolog/tests/expected_clpq2_int32_a (1.6),
+	  interfaces/Prolog/tests/expected_clpq2_int64 (1.4),
+	  interfaces/Prolog/tests/expected_clpq2_int64_a (1.4),
+	  interfaces/Prolog/tests/expected_clpq2_int8 (1.6),
+	  interfaces/Prolog/tests/expected_clpq2_int8_a (1.6),
+	  interfaces/Prolog/tests/expected_clpq2_mpz (1.4),
+	  interfaces/Prolog/tests/expected_clpq2_mpz_a (1.4),
+	  interfaces/Prolog/tests/expected_clpq_int16 (1.6),
+	  interfaces/Prolog/tests/expected_clpq_int16_a (1.6),
+	  interfaces/Prolog/tests/expected_clpq_int32 (1.4),
+	  interfaces/Prolog/tests/expected_clpq_int32_a (1.4),
+	  interfaces/Prolog/tests/expected_clpq_int64 (1.4),
+	  interfaces/Prolog/tests/expected_clpq_int64_a (1.4),
+	  interfaces/Prolog/tests/expected_clpq_int8 (1.4),
+	  interfaces/Prolog/tests/expected_clpq_int8_a (1.4),
+	  interfaces/Prolog/tests/expected_clpq_mpz (1.4),
+	  interfaces/Prolog/tests/expected_clpq_mpz_a (1.4),
+	  interfaces/Prolog/tests/pl_check.pl (1.53),
+	  interfaces/Prolog/tests/pl_grid_check.pl (1.6),
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.52),
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
+	  (1.28), interfaces/Prolog/tests/ppl_predicate_check_common.pl
+	  (1.5), m4/Makefile.am (1.29), m4/ac_check_fpu_control.m4 (1.6),
+	  m4/ac_check_gmp.m4 (1.26), m4/ac_check_sicstus_prolog.m4 (1.8),
+	  m4/ac_check_swi_prolog.m4 (1.14), m4/ac_check_xsb_prolog.m4
+	  (1.5), m4/ac_cxx_attribute_weak.m4 (1.10),
+	  m4/ac_cxx_double_binary_format.m4 (1.7),
+	  m4/ac_cxx_flexible_arrays.m4 (1.15),
+	  m4/ac_cxx_float_binary_format.m4 (1.6),
+	  m4/ac_cxx_long_double_binary_format.m4 (1.7),
+	  m4/ac_cxx_proper_long_double.m4 (1.3), m4/ac_cxx_remainder_bug.m4
+	  (1.3), m4/ac_prog_jar.m4 (1.3), m4/ac_prog_java.m4 (1.6),
+	  m4/ac_prog_javac.m4 (1.7), m4/ac_prog_javah.m4 (1.9),
+	  m4/ac_text_md5sum.m4 (1.4), m4/ppl.m4 (1.9), m4/ppl_c.m4 (1.2),
+	  src/Any_Pointset.defs.hh (1.17), src/Any_Pointset.inlines.hh
+	  (1.4), src/Any_Pointset.types.hh (1.3), src/Ask_Tell.defs.hh
+	  (1.19), src/Ask_Tell.inlines.hh (1.18), src/Ask_Tell.templates.hh
+	  (1.10), src/Ask_Tell.types.hh (1.7), src/BDS_Status.idefs.hh
+	  (1.22), src/BDS_Status.inlines.hh (1.18), src/BD_Shape.cc (1.9),
+	  src/BD_Shape.defs.hh (1.109), src/BD_Shape.inlines.hh (1.155),
+	  src/BD_Shape.templates.hh (1.90), src/BD_Shape.types.hh (1.7),
+	  src/BHRZ03_Certificate.cc (1.14), src/BHRZ03_Certificate.defs.hh
+	  (1.19), src/BHRZ03_Certificate.inlines.hh (1.10),
+	  src/BHRZ03_Certificate.types.hh (1.6), src/Bit_Matrix.cc (1.5),
+	  src/Bit_Matrix.defs.hh (1.5), src/Bit_Matrix.inlines.hh (1.4),
+	  src/Bit_Matrix.types.hh (1.3), src/Bit_Row.cc (1.5),
+	  src/Bit_Row.defs.hh (1.9), src/Bit_Row.inlines.hh (1.6),
+	  src/Bit_Row.types.hh (1.3), src/Boundary.defs.hh (1.10),
+	  src/Box.cc (1.10), src/Box.defs.hh (1.34), src/Box.inlines.hh
+	  (1.23), src/Box.templates.hh (1.74), src/Box.types.hh (1.4),
+	  src/C_Integer.hh (1.6), src/C_Polyhedron.cc (1.24),
+	  src/C_Polyhedron.defs.hh (1.53), src/C_Polyhedron.inlines.hh
+	  (1.39), src/C_Polyhedron.types.hh (1.12), src/Checked_Number.cc
+	  (1.14), src/Checked_Number.defs.hh (1.96),
+	  src/Checked_Number.inlines.hh (1.78), src/Checked_Number.types.hh
+	  (1.11), src/Coefficient.cc (1.9), src/Coefficient.defs.hh (1.11),
+	  src/Coefficient.inlines.hh (1.10), src/Coefficient.types.hh
+	  (1.16), src/Coefficient_traits_template.hh (1.9),
+	  src/Congruence.cc (1.19), src/Congruence.defs.hh (1.23),
+	  src/Congruence.inlines.hh (1.19), src/Congruence.types.hh (1.4),
+	  src/Congruence_System.cc (1.28), src/Congruence_System.defs.hh
+	  (1.26), src/Congruence_System.inlines.hh (1.11),
+	  src/Congruence_System.types.hh (1.4), src/Constraint.cc (1.70),
+	  src/Constraint.defs.hh (1.128), src/Constraint.inlines.hh (1.69),
+	  src/Constraint.types.hh (1.12), src/Constraint_System.cc (1.29),
+	  src/Constraint_System.defs.hh (1.40),
+	  src/Constraint_System.inlines.hh (1.12),
+	  src/Constraint_System.types.hh (1.6), src/DB_Matrix.defs.hh
+	  (1.30), src/DB_Matrix.inlines.hh (1.34),
+	  src/DB_Matrix.templates.hh (1.8), src/DB_Matrix.types.hh (1.7),
+	  src/DB_Row.defs.hh (1.26), src/DB_Row.inlines.hh (1.24),
+	  src/DB_Row.templates.hh (1.8), src/DB_Row.types.hh (1.9),
+	  src/Determinate.defs.hh (1.68), src/Determinate.inlines.hh
+	  (1.58), src/Determinate.types.hh (1.11), src/Float.cc (1.8),
+	  src/Float.defs.hh (1.27), src/Float.inlines.hh (1.32),
+	  src/GMP_Integer.defs.hh (1.28), src/GMP_Integer.inlines.hh
+	  (1.23), src/GMP_Integer.types.hh (1.17), src/Generator.cc (1.77),
+	  src/Generator.defs.hh (1.125), src/Generator.inlines.hh (1.63),
+	  src/Generator.types.hh (1.12), src/Generator_System.cc (1.26),
+	  src/Generator_System.defs.hh (1.27),
+	  src/Generator_System.inlines.hh (1.11),
+	  src/Generator_System.types.hh (1.6), src/Grid.defs.hh (1.63),
+	  src/Grid.inlines.hh (1.22), src/Grid.templates.hh (1.33),
+	  src/Grid.types.hh (1.4), src/Grid_Certificate.cc (1.11),
+	  src/Grid_Certificate.defs.hh (1.7),
+	  src/Grid_Certificate.inlines.hh (1.5),
+	  src/Grid_Certificate.types.hh (1.4), src/Grid_Generator.cc
+	  (1.23), src/Grid_Generator.defs.hh (1.33),
+	  src/Grid_Generator.inlines.hh (1.16), src/Grid_Generator.types.hh
+	  (1.4), src/Grid_Generator_System.cc (1.21),
+	  src/Grid_Generator_System.defs.hh (1.29),
+	  src/Grid_Generator_System.inlines.hh (1.17),
+	  src/Grid_Generator_System.types.hh (1.4), src/Grid_Status.cc
+	  (1.9), src/Grid_Status.idefs.hh (1.8), src/Grid_Status.inlines.hh
+	  (1.5), src/Grid_chdims.cc (1.21), src/Grid_conversion.cc (1.23),
+	  src/Grid_nonpublic.cc (1.32), src/Grid_public.cc (1.63),
+	  src/Grid_simplify.cc (1.37), src/Grid_widenings.cc (1.17),
+	  src/H79_Certificate.cc (1.13), src/H79_Certificate.defs.hh
+	  (1.17), src/H79_Certificate.inlines.hh (1.11),
+	  src/H79_Certificate.types.hh (1.6), src/Has_Assign_Or_Swap.hh
+	  (1.3), src/Init.cc (1.33), src/Init.defs.hh (1.20),
+	  src/Init.types.hh (1.11), src/Interval.defs.hh (1.50),
+	  src/Interval.inlines.hh (1.29), src/Interval.templates.hh (1.4),
+	  src/Interval.types.hh (1.14), src/Interval_Info.defs.hh (1.6),
+	  src/Interval_Info.inlines.hh (1.7), src/Interval_Info.types.hh
+	  (1.4), src/Interval_Restriction.defs.hh (1.11),
+	  src/Linear_Expression.cc (1.20), src/Linear_Expression.defs.hh
+	  (1.38), src/Linear_Expression.inlines.hh (1.13),
+	  src/Linear_Expression.types.hh (1.6), src/Linear_Row.cc (1.25),
+	  src/Linear_Row.defs.hh (1.26), src/Linear_Row.inlines.hh (1.14),
+	  src/Linear_Row.types.hh (1.6), src/Linear_System.cc (1.47),
+	  src/Linear_System.defs.hh (1.33), src/Linear_System.inlines.hh
+	  (1.24), src/Linear_System.types.hh (1.6), src/MIP_Problem.cc
+	  (1.65), src/MIP_Problem.defs.hh (1.37),
+	  src/MIP_Problem.inlines.hh (1.17), src/MIP_Problem.templates.hh
+	  (1.12), src/MIP_Problem.types.hh (1.3), src/Makefile.am (1.176),
+	  src/Matrix.cc (1.98), src/Matrix.defs.hh (1.84),
+	  src/Matrix.inlines.hh (1.53), src/Matrix.types.hh (1.12),
+	  src/NNC_Polyhedron.cc (1.24), src/NNC_Polyhedron.defs.hh (1.54),
+	  src/NNC_Polyhedron.inlines.hh (1.40), src/NNC_Polyhedron.types.hh
+	  (1.12), src/Numeric_Format.defs.hh (1.8), src/OR_Matrix.defs.hh
+	  (1.14), src/OR_Matrix.inlines.hh (1.10),
+	  src/OR_Matrix.templates.hh (1.7), src/OR_Matrix.types.hh (1.4),
+	  src/Octagonal_Shape.cc (1.8), src/Octagonal_Shape.defs.hh (1.37),
+	  src/Octagonal_Shape.inlines.hh (1.26),
+	  src/Octagonal_Shape.templates.hh (1.64),
+	  src/Octagonal_Shape.types.hh (1.4), src/Og_Status.idefs.hh (1.8),
+	  src/Og_Status.inlines.hh (1.6),
+	  src/Partially_Reduced_Product.defs.hh (1.19),
+	  src/Partially_Reduced_Product.inlines.hh (1.17),
+	  src/Partially_Reduced_Product.templates.hh (1.8),
+	  src/Partially_Reduced_Product.types.hh (1.3), src/Ph_Status.cc
+	  (1.15), src/Ph_Status.idefs.hh (1.22), src/Ph_Status.inlines.hh
+	  (1.10), src/Pointset_Ask_Tell.cc (1.8),
+	  src/Pointset_Ask_Tell.defs.hh (1.14),
+	  src/Pointset_Ask_Tell.inlines.hh (1.7),
+	  src/Pointset_Ask_Tell.templates.hh (1.12),
+	  src/Pointset_Ask_Tell.types.hh (1.4), src/Pointset_Powerset.cc
+	  (1.16), src/Pointset_Powerset.defs.hh (1.22),
+	  src/Pointset_Powerset.inlines.hh (1.10),
+	  src/Pointset_Powerset.templates.hh (1.17),
+	  src/Pointset_Powerset.types.hh (1.3), src/Poly_Con_Relation.cc
+	  (1.17), src/Poly_Con_Relation.defs.hh (1.36),
+	  src/Poly_Con_Relation.inlines.hh (1.17),
+	  src/Poly_Con_Relation.types.hh (1.11), src/Poly_Gen_Relation.cc
+	  (1.17), src/Poly_Gen_Relation.defs.hh (1.34),
+	  src/Poly_Gen_Relation.inlines.hh (1.17),
+	  src/Poly_Gen_Relation.types.hh (1.11), src/Polyhedron.defs.hh
+	  (1.329), src/Polyhedron.inlines.hh (1.145),
+	  src/Polyhedron.templates.hh (1.16), src/Polyhedron.types.hh
+	  (1.18), src/Polyhedron_chdims.cc (1.45),
+	  src/Polyhedron_nonpublic.cc (1.82), src/Polyhedron_public.cc
+	  (1.106), src/Polyhedron_widenings.cc (1.65), src/Powerset.defs.hh
+	  (1.31), src/Powerset.inlines.hh (1.21), src/Powerset.templates.hh
+	  (1.6), src/Powerset.types.hh (1.7), src/Ptr_Iterator.defs.hh
+	  (1.12), src/Ptr_Iterator.inlines.hh (1.9),
+	  src/Ptr_Iterator.types.hh (1.7), src/Rational_Box.hh (1.7),
+	  src/Result.defs.hh (1.20), src/Result.inlines.hh (1.12),
+	  src/Rounding_Dir.defs.hh (1.14), src/Rounding_Dir.inlines.hh
+	  (1.8), src/Row.cc (1.105), src/Row.defs.hh (1.113),
+	  src/Row.inlines.hh (1.67), src/Row.types.hh (1.13),
+	  src/Scalar_Products.cc (1.10), src/Scalar_Products.defs.hh
+	  (1.11), src/Scalar_Products.inlines.hh (1.7),
+	  src/Scalar_Products.types.hh (1.5), src/Slow_Copy.hh (1.3),
+	  src/Temp.defs.hh (1.8), src/Temp.inlines.hh (1.4),
+	  src/Temp.templates.hh (1.3), src/Topology.hh (1.15),
+	  src/Variable.cc (1.25), src/Variable.defs.hh (1.55),
+	  src/Variable.inlines.hh (1.26), src/Variable.types.hh (1.12),
+	  src/Variables_Set.cc (1.7), src/Variables_Set.defs.hh (1.8),
+	  src/Variables_Set.inlines.hh (1.6), src/Variables_Set.types.hh
+	  (1.3), src/Widening_Function.defs.hh (1.19),
+	  src/Widening_Function.inlines.hh (1.16),
+	  src/Widening_Function.types.hh (1.7), src/algorithms.hh (1.50),
+	  src/assign_or_swap.hh (1.2), src/checked.cc (1.22),
+	  src/checked.defs.hh (1.44), src/checked.inlines.hh (1.41),
+	  src/checked_ext.defs.hh (1.15), src/checked_ext.inlines.hh
+	  (1.41), src/checked_float.inlines.hh (1.83),
+	  src/checked_int.inlines.hh (1.65), src/checked_mpq.inlines.hh
+	  (1.44), src/checked_mpz.inlines.hh (1.51),
+	  src/checked_numeric_limits.hh (1.22), src/compiler.hh (1.12),
+	  src/conversion.cc (1.85), src/distances.defs.hh (1.5),
+	  src/distances.inlines.hh (1.6), src/distances.types.hh (1.4),
+	  src/fpu-c99.inlines.hh (1.16), src/fpu-ia32.inlines.hh (1.18),
+	  src/fpu-none.inlines.hh (1.8), src/fpu-sparc.inlines.hh (1.10),
+	  src/fpu.defs.hh (1.17), src/fpu.types.hh (1.6), src/globals.cc
+	  (1.32), src/globals.defs.hh (1.52), src/globals.inlines.hh
+	  (1.20), src/globals.types.hh (1.12), src/initializer.hh (1.16),
+	  src/iterator_to_const.defs.hh (1.7),
+	  src/iterator_to_const.inlines.hh (1.5),
+	  src/iterator_to_const.types.hh (1.3), src/max_space_dimension.hh
+	  (1.14), src/meta_programming.hh (1.9), src/minimize.cc (1.49),
+	  src/mp_std_bits.cc (1.6), src/mp_std_bits.defs.hh (1.6),
+	  src/mp_std_bits.inlines.hh (1.5), src/namespaces.hh (1.13),
+	  src/ppl-config.cc.in (1.23), src/ppl_header.hh (1.8),
+	  src/simplify.cc (1.50), src/swapping_sort.icc (1.14),
+	  src/version.cc (1.11), src/version.hh.in (1.17), tests/FCAIBVP.cc
+	  (1.6), tests/FCAIBVP.defs.hh (1.6), tests/FCAIBVP.inlines.hh
+	  (1.6), tests/FCAIBVP.types.hh (1.3), tests/Makefile.am (1.264),
+	  tests/Partial_Function.cc (1.7), tests/Partial_Function.defs.hh
+	  (1.5), tests/Partial_Function.inlines.hh (1.4),
+	  tests/Partial_Function.types.hh (1.3),
+	  tests/Random_Number_Generator.defs.hh (1.6),
+	  tests/Random_Number_Generator.inlines.hh (1.11),
+	  tests/Random_Number_Generator.types.hh (1.4), tests/files.cc
+	  (1.12), tests/files.hh (1.12), tests/ppl_test.cc (1.12),
+	  tests/ppl_test.hh (1.68), tests/print.cc (1.29), tests/print.hh
+	  (1.45), tests/Ask_Tell/Makefile.am (1.5),
+	  tests/Ask_Tell/append1.cc (1.7), tests/BD_Shape/Makefile.am
+	  (1.70), tests/BD_Shape/addconstraints1.cc (1.19),
+	  tests/BD_Shape/addspacedims1.cc (1.16),
+	  tests/BD_Shape/affinedimension1.cc (1.13),
+	  tests/BD_Shape/affineimage1.cc (1.20),
+	  tests/BD_Shape/affineimage2.cc (1.14),
+	  tests/BD_Shape/affinepreimage1.cc (1.22),
+	  tests/BD_Shape/ascii_dump_load1.cc (1.16),
+	  tests/BD_Shape/bdsdifference1.cc (1.16),
+	  tests/BD_Shape/bdshull1.cc (1.17),
+	  tests/BD_Shape/bgp99extrapolation1.cc (1.11),
+	  tests/BD_Shape/bhmz05widening1.cc (1.16),
+	  tests/BD_Shape/bhz03widening1.cc (1.11),
+	  tests/BD_Shape/bounded1.cc (1.4),
+	  tests/BD_Shape/boundedaffineimage1.cc (1.5),
+	  tests/BD_Shape/boundedaffinepreimage1.cc (1.4),
+	  tests/BD_Shape/boundingbox1.cc (1.2), tests/BD_Shape/bounds1.cc
+	  (1.4), tests/BD_Shape/cc76extrapolation1.cc (1.20),
+	  tests/BD_Shape/cc76narrowing1.cc (1.19),
+	  tests/BD_Shape/closure1.cc (1.21), tests/BD_Shape/concatenate1.cc
+	  (1.15), tests/BD_Shape/constraints1.cc (1.20),
+	  tests/BD_Shape/contains1.cc (1.16),
+	  tests/BD_Shape/containsintegerpoint1.cc (1.4),
+	  tests/BD_Shape/discrete1.cc (1.4), tests/BD_Shape/disjoint1.cc
+	  (1.7), tests/BD_Shape/empty1.cc (1.12),
+	  tests/BD_Shape/equality1.cc (1.17),
+	  tests/BD_Shape/expandspacedim1.cc (1.5),
+	  tests/BD_Shape/foldspacedims1.cc (1.7),
+	  tests/BD_Shape/fromgensys1.cc (1.16), tests/BD_Shape/fromgrid1.cc
+	  (1.3), tests/BD_Shape/fromoctagonalshape1.cc (1.2),
+	  tests/BD_Shape/frompolyhedron1.cc (1.6),
+	  tests/BD_Shape/fromspacedim1.cc (1.3),
+	  tests/BD_Shape/generalizedaffineimage1.cc (1.18),
+	  tests/BD_Shape/generalizedaffineimage2.cc (1.22),
+	  tests/BD_Shape/generalizedaffinepreimage1.cc (1.16),
+	  tests/BD_Shape/generalizedaffinepreimage2.cc (1.17),
+	  tests/BD_Shape/generalizedaffinepreimage3.cc (1.7),
+	  tests/BD_Shape/geomcovers1.cc (1.11),
+	  tests/BD_Shape/h79widening1.cc (1.14),
+	  tests/BD_Shape/intersection1.cc (1.19),
+	  tests/BD_Shape/limitedbhmz05extrapolation1.cc (1.15),
+	  tests/BD_Shape/limitedcc76extrapolation1.cc (1.16),
+	  tests/BD_Shape/limitedh79extrapolation1.cc (1.15),
+	  tests/BD_Shape/mapspacedims1.cc (1.16),
+	  tests/BD_Shape/max_min1.cc (1.4), tests/BD_Shape/max_min2.cc
+	  (1.6), tests/BD_Shape/maxspacedim1.cc (1.5),
+	  tests/BD_Shape/membytes1.cc (1.4),
+	  tests/BD_Shape/minconstraints1.cc (1.12),
+	  tests/BD_Shape/relations1.cc (1.19), tests/BD_Shape/relations2.cc
+	  (1.23), tests/BD_Shape/relations3.cc (1.27),
+	  tests/BD_Shape/removespacedims1.cc (1.21),
+	  tests/BD_Shape/run_tests (1.20), tests/BD_Shape/timeelapse1.cc
+	  (1.21), tests/BD_Shape/universe1.cc (1.16),
+	  tests/BD_Shape/writebdshape1.cc (1.11), tests/Box/Makefile.am
+	  (1.47), tests/Box/addconstraints1.cc (1.10),
+	  tests/Box/addspacedims1.cc (1.5), tests/Box/affinedimension1.cc
+	  (1.7), tests/Box/affineimage1.cc (1.8),
+	  tests/Box/affinepreimage1.cc (1.5), tests/Box/ascii_dump_load1.cc
+	  (1.5), tests/Box/bdsdifference1.cc (1.6),
+	  tests/Box/bgp99extrapolation1.cc (1.5),
+	  tests/Box/bhz03widening1.cc (1.5), tests/Box/bounded1.cc (1.5),
+	  tests/Box/boundedaffineimage1.cc (1.5),
+	  tests/Box/boxdifference1.cc (1.7), tests/Box/boxhull.cc (1.5),
+	  tests/Box/boxhull1.cc (1.6), tests/Box/cc76narrowing1.cc (1.6),
+	  tests/Box/cc76widening.cc (1.7), tests/Box/closure1.cc (1.5),
+	  tests/Box/concatenate1.cc (1.6), tests/Box/congruences1.cc (1.2),
+	  tests/Box/constraints1.cc (1.10), tests/Box/contains1.cc (1.6),
+	  tests/Box/containsintegerpoint1.cc (1.7), tests/Box/discrete1.cc
+	  (1.6), tests/Box/disjoint1.cc (1.6), tests/Box/empty1.cc (1.6),
+	  tests/Box/equality1.cc (1.6), tests/Box/expandspacedim1.cc (1.7),
+	  tests/Box/foldspacedims1.cc (1.8), tests/Box/frombdshape1.cc
+	  (1.3), tests/Box/frombox1.cc (1.4), tests/Box/fromgensys1.cc
+	  (1.5), tests/Box/fromgrid1.cc (1.6),
+	  tests/Box/frompartiallyreducedproduct1.cc (1.2),
+	  tests/Box/frompolyhedron1.cc (1.12), tests/Box/frompolyhedron2.cc
+	  (1.10), tests/Box/fromspacedim1.cc (1.3),
+	  tests/Box/generalizedaffineimage1.cc (1.6),
+	  tests/Box/generalizedaffinepreimage1.cc (1.6),
+	  tests/Box/geomcovers1.cc (1.5), tests/Box/intersection1.cc (1.7),
+	  tests/Box/interval1.cc (1.5), tests/Box/interval2.cc (1.5),
+	  tests/Box/mapspacedims1.cc (1.5), tests/Box/max_min1.cc (1.7),
+	  tests/Box/maxspacedim1.cc (1.6), tests/Box/membytes1.cc (1.5),
+	  tests/Box/minconstraints1.cc (1.6),
+	  tests/Box/pointsetpowerset1.cc (1.4), tests/Box/refine1.cc
+	  (1.11), tests/Box/refine2.cc (1.10), tests/Box/refine3.cc (1.3),
+	  tests/Box/relations1.cc (1.6), tests/Box/relations2.cc (1.4),
+	  tests/Box/removespacedims1.cc (1.7), tests/Box/run_tests (1.4),
+	  tests/Box/timeelapse1.cc (1.6), tests/Box/universe1.cc (1.5),
+	  tests/Box/writebox1.cc (1.5), tests/Grid/Makefile.am (1.59),
+	  tests/Grid/addcongruence1.cc (1.15),
+	  tests/Grid/addcongruences1.cc (1.18),
+	  tests/Grid/addconstraint1.cc (1.13),
+	  tests/Grid/addconstraints1.cc (1.14), tests/Grid/addgenerator1.cc
+	  (1.17), tests/Grid/addgenerators1.cc (1.17),
+	  tests/Grid/addspacedims1.cc (1.16), tests/Grid/affinedim1.cc
+	  (1.13), tests/Grid/affineimage1.cc (1.15),
+	  tests/Grid/affineimage2.cc (1.13), tests/Grid/affinepreimage1.cc
+	  (1.16), tests/Grid/affinepreimage2.cc (1.9),
+	  tests/Grid/approximatepartition1.cc (1.4),
+	  tests/Grid/asciidumpload1.cc (1.15), tests/Grid/asciidumpload2.cc
+	  (1.7), tests/Grid/asciidumpload3.cc (1.6),
+	  tests/Grid/asciidumpload4.cc (1.6), tests/Grid/asciidumpload5.cc
+	  (1.4), tests/Grid/asciidumpload6.cc (1.4),
+	  tests/Grid/asciidumpload7.cc (1.5), tests/Grid/bhz03widening1.cc
+	  (1.14), tests/Grid/bounded1.cc (1.15),
+	  tests/Grid/boundedaffineimage1.cc (1.5),
+	  tests/Grid/boundedaffinepreimage1.cc (1.5),
+	  tests/Grid/boundingbox1.cc (1.20), tests/Grid/bounds1.cc (1.16),
+	  tests/Grid/certificate1.cc (1.15), tests/Grid/concatenate1.cc
+	  (1.15), tests/Grid/congruence1.cc (1.19),
+	  tests/Grid/congruences1.cc (1.13), tests/Grid/congruences2.cc
+	  (1.7), tests/Grid/constraints1.cc (1.2), tests/Grid/contains1.cc
+	  (1.13), tests/Grid/containsintegerpoint1.cc (1.5),
+	  tests/Grid/copyconstruct1.cc (1.9), tests/Grid/coveringbox1.cc
+	  (1.17), tests/Grid/coveringbox2.cc (1.15),
+	  tests/Grid/directproduct1.cc (1.48), tests/Grid/directproduct2.cc
+	  (1.15), tests/Grid/directproduct3.cc (1.16),
+	  tests/Grid/directproduct4.cc (1.14), tests/Grid/directproduct5.cc
+	  (1.9), tests/Grid/directproduct6.cc (1.11),
+	  tests/Grid/discrete1.cc (1.9), tests/Grid/disjoint1.cc (1.13),
+	  tests/Grid/equals1.cc (1.14), tests/Grid/expandspacedim1.cc
+	  (1.13), tests/Grid/foldspacedims1.cc (1.13),
+	  tests/Grid/frombdshape1.cc (1.2),
+	  tests/Grid/fromoctagonalshape1.cc (1.2),
+	  tests/Grid/generalizedaffineimage1.cc (1.15),
+	  tests/Grid/generalizedaffineimage2.cc (1.14),
+	  tests/Grid/generalizedaffineimage3.cc (1.6),
+	  tests/Grid/generalizedaffinepreimage1.cc (1.17),
+	  tests/Grid/generalizedaffinepreimage2.cc (1.17),
+	  tests/Grid/generalizedaffinepreimage3.cc (1.6),
+	  tests/Grid/generator1.cc (1.21), tests/Grid/generators1.cc
+	  (1.14), tests/Grid/generators2.cc (1.4), tests/Grid/grid1.cc
+	  (1.22), tests/Grid/grid2.cc (1.17), tests/Grid/grid3.cc (1.25),
+	  tests/Grid/griddifference1.cc (1.13), tests/Grid/intersection1.cc
+	  (1.13), tests/Grid/isempty1.cc (1.9), tests/Grid/isuniverse1.cc
+	  (1.11), tests/Grid/join1.cc (1.17), tests/Grid/join2.cc (1.12),
+	  tests/Grid/limitedextrapolation1.cc (1.14),
+	  tests/Grid/limitedextrapolation2.cc (1.8),
+	  tests/Grid/limitedextrapolation3.cc (1.7),
+	  tests/Grid/mapspacedims1.cc (1.12), tests/Grid/maxmin1.cc (1.14),
+	  tests/Grid/membytes1.cc (1.11), tests/Grid/mincongruences1.cc
+	  (1.11), tests/Grid/mingenerators1.cc (1.11),
+	  tests/Grid/outputoperator1.cc (1.10),
+	  tests/Grid/outputoperator2.cc (1.4),
+	  tests/Grid/outputoperator3.cc (1.4),
+	  tests/Grid/partiallyreducedproduct1.cc (1.9),
+	  tests/Grid/partiallyreducedproduct2.cc (1.4),
+	  tests/Grid/partiallyreducedproduct3.cc (1.3),
+	  tests/Grid/partition1.cc (1.7), tests/Grid/powersetdifference1.cc
+	  (1.4), tests/Grid/powersetgeometricallycovers1.cc (1.4),
+	  tests/Grid/powersetgeometricallyequals1.cc (1.4),
+	  tests/Grid/relations1.cc (1.16), tests/Grid/relations2.cc (1.18),
+	  tests/Grid/relations3.cc (1.9), tests/Grid/removespacedims1.cc
+	  (1.15), tests/Grid/removespacedims2.cc (1.15),
+	  tests/Grid/timeelapse1.cc (1.12), tests/Grid/topclosed1.cc
+	  (1.13), tests/Grid/topclosure1.cc (1.9), tests/Grid/widening1.cc
+	  (1.17), tests/Grid/widening2.cc (1.12), tests/Grid/widening3.cc
+	  (1.7), tests/Grid/writecongruencesystem.cc (1.9),
+	  tests/MIP_Problem/Makefile.am (1.10),
+	  tests/MIP_Problem/ascii_dump_load1.cc (1.5),
+	  tests/MIP_Problem/exceptions1.cc (1.5),
+	  tests/MIP_Problem/mipproblem1.cc (1.12),
+	  tests/MIP_Problem/mipproblem2.cc (1.10),
+	  tests/MIP_Problem/mipproblem3.cc (1.4),
+	  tests/Octagonal_Shape/Makefile.am (1.23),
+	  tests/Octagonal_Shape/addspacedims1.cc (1.4),
+	  tests/Octagonal_Shape/affinedimension1.cc (1.5),
+	  tests/Octagonal_Shape/affineimage1.cc (1.5),
+	  tests/Octagonal_Shape/affineimage2.cc (1.4),
+	  tests/Octagonal_Shape/affinepreimage1.cc (1.6),
+	  tests/Octagonal_Shape/affinepreimage2.cc (1.4),
+	  tests/Octagonal_Shape/ascii_dump_load1.cc (1.4),
+	  tests/Octagonal_Shape/bhmz05widening1.cc (1.5),
+	  tests/Octagonal_Shape/bhz03widening1.cc (1.4),
+	  tests/Octagonal_Shape/bounded1.cc (1.4),
+	  tests/Octagonal_Shape/boundedaffineimage1.cc (1.11),
+	  tests/Octagonal_Shape/boundedaffinepreimage1.cc (1.5),
+	  tests/Octagonal_Shape/bounds1.cc (1.5),
+	  tests/Octagonal_Shape/cc76extrapolation1.cc (1.6),
+	  tests/Octagonal_Shape/cc76narrowing1.cc (1.5),
+	  tests/Octagonal_Shape/chinainit.cc (1.4),
+	  tests/Octagonal_Shape/concatenate1.cc (1.4),
+	  tests/Octagonal_Shape/constraints1.cc (1.5),
+	  tests/Octagonal_Shape/contains1.cc (1.5),
+	  tests/Octagonal_Shape/containsintegerpoint1.cc (1.5),
+	  tests/Octagonal_Shape/discrete1.cc (1.4),
+	  tests/Octagonal_Shape/disjoint1.cc (1.8),
+	  tests/Octagonal_Shape/empty1.cc (1.4),
+	  tests/Octagonal_Shape/expandspacedim1.cc (1.6),
+	  tests/Octagonal_Shape/foldspacedims1.cc (1.6),
+	  tests/Octagonal_Shape/frombdshape1.cc (1.2),
+	  tests/Octagonal_Shape/fromgensys1.cc (1.4),
+	  tests/Octagonal_Shape/fromgrid1.cc (1.3),
+	  tests/Octagonal_Shape/frompolyhedron1.cc (1.5),
+	  tests/Octagonal_Shape/fromspacedim1.cc (1.3),
+	  tests/Octagonal_Shape/generalizedaffineimage1.cc (1.5),
+	  tests/Octagonal_Shape/generalizedaffineimage2.cc (1.5),
+	  tests/Octagonal_Shape/generalizedaffineimage3.cc (1.10),
+	  tests/Octagonal_Shape/generalizedaffineimage4.cc (1.5),
+	  tests/Octagonal_Shape/generalizedaffineimage5.cc (1.5),
+	  tests/Octagonal_Shape/generalizedaffinepreimage1.cc (1.6),
+	  tests/Octagonal_Shape/generalizedaffinepreimage2.cc (1.10),
+	  tests/Octagonal_Shape/generalizedaffinepreimage3.cc (1.6),
+	  tests/Octagonal_Shape/generalizedaffinepreimage4.cc (1.5),
+	  tests/Octagonal_Shape/intersection1.cc (1.5),
+	  tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc (1.6),
+	  tests/Octagonal_Shape/limitedcc76extrapolation1.cc (1.6),
+	  tests/Octagonal_Shape/mapspacedims1.cc (1.5),
+	  tests/Octagonal_Shape/max_min1.cc (1.6),
+	  tests/Octagonal_Shape/max_min2.cc (1.5),
+	  tests/Octagonal_Shape/maxspacedim1.cc (1.5),
+	  tests/Octagonal_Shape/membytes1.cc (1.5),
+	  tests/Octagonal_Shape/minconstraints1.cc (1.5),
+	  tests/Octagonal_Shape/octdifference1.cc (1.5),
+	  tests/Octagonal_Shape/octhull1.cc (1.5),
+	  tests/Octagonal_Shape/relatwithcons1.cc (1.5),
+	  tests/Octagonal_Shape/relatwithcons2.cc (1.8),
+	  tests/Octagonal_Shape/relatwithgen1.cc (1.9),
+	  tests/Octagonal_Shape/removespacedims1.cc (1.5),
+	  tests/Octagonal_Shape/run_tests (1.4),
+	  tests/Octagonal_Shape/timeelapse1.cc (1.6),
+	  tests/Octagonal_Shape/universe1.cc (1.4),
+	  tests/Octagonal_Shape/writeoctagon1.cc (1.6),
+	  tests/Polyhedron/Makefile.am (1.116), tests/Polyhedron/README
+	  (1.8), tests/Polyhedron/addcongruence1.cc (1.9),
+	  tests/Polyhedron/addcongruences1.cc (1.13),
+	  tests/Polyhedron/addconstraint1.cc (1.12),
+	  tests/Polyhedron/addconstraints1.cc (1.13),
+	  tests/Polyhedron/addconstraints2.cc (1.12),
+	  tests/Polyhedron/addgenerator1.cc (1.13),
+	  tests/Polyhedron/addgenerator2.cc (1.13),
+	  tests/Polyhedron/addgenerators1.cc (1.14),
+	  tests/Polyhedron/addgenerators2.cc (1.13),
+	  tests/Polyhedron/addspacedims1.cc (1.13),
+	  tests/Polyhedron/addspacedims2.cc (1.13),
+	  tests/Polyhedron/affineimage1.cc (1.13),
+	  tests/Polyhedron/affineimage2.cc (1.12),
+	  tests/Polyhedron/affinepreimage1.cc (1.12),
+	  tests/Polyhedron/affinetrans.cc (1.12),
+	  tests/Polyhedron/append1.cc (1.13), tests/Polyhedron/append2.cc
+	  (1.12), tests/Polyhedron/ascii_dump_load1.cc (1.11),
+	  tests/Polyhedron/ascii_dump_load2.cc (1.11),
+	  tests/Polyhedron/ascii_dump_load3.cc (1.12),
+	  tests/Polyhedron/bgp99extrapolation1.cc (1.14),
+	  tests/Polyhedron/bhrz03widening1.cc (1.12),
+	  tests/Polyhedron/bhrz03widening2.cc (1.12),
+	  tests/Polyhedron/bhrz03widening3.cc (1.16),
+	  tests/Polyhedron/bhz03widening1.cc (1.15),
+	  tests/Polyhedron/bounded1.cc (1.12),
+	  tests/Polyhedron/boundedaffineimage1.cc (1.12),
+	  tests/Polyhedron/boundedaffinepreimage1.cc (1.10),
+	  tests/Polyhedron/boundedbhrz03extrapolation1.cc (1.11),
+	  tests/Polyhedron/boundedh79extrapolation1.cc (1.13),
+	  tests/Polyhedron/bounds1.cc (1.12),
+	  tests/Polyhedron/cnncconversion1.cc (1.5),
+	  tests/Polyhedron/concatenate1.cc (1.12),
+	  tests/Polyhedron/congruences1.cc (1.14),
+	  tests/Polyhedron/constrains1.cc (1.2),
+	  tests/Polyhedron/constraints1.cc (1.12),
+	  tests/Polyhedron/contains1.cc (1.11),
+	  tests/Polyhedron/contains2.cc (1.11),
+	  tests/Polyhedron/containsintegerpoint1.cc (1.4),
+	  tests/Polyhedron/disjoint1.cc (1.11),
+	  tests/Polyhedron/disjoint2.cc (1.13),
+	  tests/Polyhedron/dualhypercubes.cc (1.16),
+	  tests/Polyhedron/empty1.cc (1.12), tests/Polyhedron/equals1.cc
+	  (1.11), tests/Polyhedron/exceptions1.cc (1.15),
+	  tests/Polyhedron/exceptions2.cc (1.13),
+	  tests/Polyhedron/exceptions3.cc (1.12),
+	  tests/Polyhedron/expandspacedim1.cc (1.14),
+	  tests/Polyhedron/expandspacedim2.cc (1.14),
+	  tests/Polyhedron/foldspacedims1.cc (1.16),
+	  tests/Polyhedron/foldspacedims2.cc (1.17),
+	  tests/Polyhedron/frombdshape1.cc (1.2),
+	  tests/Polyhedron/frombox1.cc (1.5), tests/Polyhedron/frombox2.cc
+	  (1.5), tests/Polyhedron/fromgrid1.cc (1.2),
+	  tests/Polyhedron/fromoctagonalshape1.cc (1.2),
+	  tests/Polyhedron/generalizedaffineimage1.cc (1.14),
+	  tests/Polyhedron/generalizedaffineimage2.cc (1.14),
+	  tests/Polyhedron/generalizedaffinepreimage1.cc (1.11),
+	  tests/Polyhedron/generalizedaffinepreimage2.cc (1.10),
+	  tests/Polyhedron/generators1.cc (1.12),
+	  tests/Polyhedron/geomcovers1.cc (1.15),
+	  tests/Polyhedron/h79widening1.cc (1.13),
+	  tests/Polyhedron/h79widening2.cc (1.12),
+	  tests/Polyhedron/hybrid.cc (1.5),
+	  tests/Polyhedron/intersection1.cc (1.16),
+	  tests/Polyhedron/limitedbhrz03extrapolation1.cc (1.11),
+	  tests/Polyhedron/limitedh79extrapolation1.cc (1.12),
+	  tests/Polyhedron/linearpartition1.cc (1.15),
+	  tests/Polyhedron/linearsystem1.cc (1.10),
+	  tests/Polyhedron/linexpression1.cc (1.11),
+	  tests/Polyhedron/mapspacedims1.cc (1.16),
+	  tests/Polyhedron/matrix1.cc (1.11), tests/Polyhedron/max_min1.cc
+	  (1.13), tests/Polyhedron/maxspacedim1.cc (1.16),
+	  tests/Polyhedron/mc91.cc (1.16), tests/Polyhedron/membytes1.cc
+	  (1.16), tests/Polyhedron/memory1.cc (1.14),
+	  tests/Polyhedron/memory2.cc (1.16),
+	  tests/Polyhedron/minconstraints1.cc (1.11),
+	  tests/Polyhedron/minconstraints2.cc (1.13),
+	  tests/Polyhedron/mingenerators1.cc (1.11),
+	  tests/Polyhedron/mingenerators2.cc (1.12),
+	  tests/Polyhedron/nncminimize1.cc (1.8),
+	  tests/Polyhedron/nncminimize2.cc (1.8),
+	  tests/Polyhedron/numberinput1.cc (1.33),
+	  tests/Polyhedron/onepoint.cc (1.12), tests/Polyhedron/permute.cc
+	  (1.10), tests/Polyhedron/pointsetpowerset1.cc (1.8),
+	  tests/Polyhedron/pointsetpowerset2.cc (1.3),
+	  tests/Polyhedron/polydifference1.cc (1.13),
+	  tests/Polyhedron/polydifference2.cc (1.13),
+	  tests/Polyhedron/polyhull1.cc (1.13),
+	  tests/Polyhedron/polyhull2.cc (1.12),
+	  tests/Polyhedron/powerset1.cc (1.22),
+	  tests/Polyhedron/randphull1.cc (1.14),
+	  tests/Polyhedron/relations1.cc (1.12),
+	  tests/Polyhedron/relations2.cc (1.13),
+	  tests/Polyhedron/relations3.cc (1.12),
+	  tests/Polyhedron/removespacedims1.cc (1.12),
+	  tests/Polyhedron/removespacedims2.cc (1.12),
+	  tests/Polyhedron/smm1.cc (1.11), tests/Polyhedron/timeelapse1.cc
+	  (1.13), tests/Polyhedron/timeelapse2.cc (1.13),
+	  tests/Polyhedron/topclosed1.cc (1.12),
+	  tests/Polyhedron/topclosure1.cc (1.12),
+	  tests/Polyhedron/universe1.cc (1.12),
+	  tests/Polyhedron/universe2.cc (1.12),
+	  tests/Polyhedron/variablesset1.cc (1.12),
+	  tests/Polyhedron/watchdog1.cc (1.11),
+	  tests/Polyhedron/writeconsys1.cc (1.12),
+	  tests/Polyhedron/writegensys1.cc (1.12),
+	  tests/Polyhedron/writepolyhedron1.cc (1.12),
+	  tests/Polyhedron/writepolyhedron2.cc (1.12),
+	  tests/Polyhedron/writerelation1.cc (1.14),
+	  tests/Polyhedron/writevariable1.cc (1.9), utils/Makefile.am
+	  (1.17), utils/build_header.in (1.6), utils/cm_cleaner.sh (1.4),
+	  utils/cm_splitter.sh (1.4), utils/text2cxxarray.in (1.5),
+	  utils/timings.cc (1.13), utils/timings.hh (1.7): Copyright years
+	  extended.
+
+2007-12-29 Saturday 19:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ppl_test.hh (1.67): Include <typeinfo> for typeid().
+
+2007-12-29 Saturday 19:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/files.cc (1.11): Include <cstdlib> for exit().	Use extra
+	  parentheses to disambiguate a comparison.
+
+2007-12-29 Saturday 19:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog_common.icc (1.12),
+	  src/BDS_Status.inlines.hh (1.17), src/BD_Shape.cc (1.8),
+	  src/BD_Shape.inlines.hh (1.154), src/BD_Shape.templates.hh
+	  (1.89), src/Box.cc (1.9), src/Box.templates.hh (1.73),
+	  src/Congruence_System.cc (1.27), src/Constraint_System.cc (1.28),
+	  src/Generator_System.cc (1.25), src/Grid_Certificate.cc (1.10),
+	  src/Grid_nonpublic.cc (1.31), src/Grid_public.cc (1.62),
+	  src/Interval.templates.hh (1.3), src/Linear_System.cc (1.46),
+	  src/MIP_Problem.cc (1.64), src/Octagonal_Shape.cc (1.7),
+	  src/Octagonal_Shape.inlines.hh (1.25),
+	  src/Octagonal_Shape.templates.hh (1.63),
+	  src/Polyhedron_nonpublic.cc (1.81), src/Polyhedron_public.cc
+	  (1.105), src/Polyhedron_widenings.cc (1.64): Use explicit braces
+	  to avoid ambiguous else's.
+
+2007-12-29 Saturday 19:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Linear_Row.cc (1.24): Added a pair of extra parentheses to
+	  disambiguate an addition within a shift.
+
+2007-12-29 Saturday 18:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* utils/timings.cc (1.12): Include <cstdlib> for exit().
+
+2007-12-29 Saturday 10:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh (1.72): Implemented template
+
+	  <typename Interval> template <typename Iterator> void
+	  Box<Interval>::CC76_widening_assign(const Box& y,
+			      Iterator first, Iterator last)
+
+	  in terms of the new Interval's widening.
+
+2007-12-29 Saturday 10:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Interval.defs.hh (1.49), Interval.inlines.hh (1.28),
+	  Interval.templates.hh (1.2): Moved several implemementations from
+	  Interval.defs.hh to Interval.inlines.hh.  Added the new method
+	  template
+
+	  <typename Boundary, typename Info> template <typename From,
+	  typename Iterator> typename Enable_If<Is_Interval<From>::value,
+	  void>::type Interval<Boundary, Info>::CC76_widening_assign(const
+	  From& y,					    Iterator first,
+						  Iterator last).
+
+2007-12-28 Friday 08:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.234): Two new items added.
+
+2007-12-28 Friday 08:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Bit_Row.defs.hh (1.8), Bit_Row.inlines.hh (1.5): Added
+	  inline void set_intersection(const Bit_Row& x, const Bit_Row& y,
+	  Bit_Row& z).
+
+2007-12-28 Friday 08:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ppl_test.cc (1.11): Include <exception> and <iostream>.
+
+2007-12-28 Friday 08:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ppl_test.hh (1.66): Added missing std:: qualification.
+
+2007-12-28 Friday 08:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/print.hh (1.44): Must include <cstdlib> for getenv().
+
+2007-12-10 Monday 10:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.299): Version number bumped.
+
+2007-12-10 Monday 10:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.225): Three items improved and merged.
+
+2007-12-10 Monday 10:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: C_Polyhedron.defs.hh (1.52), Grid.defs.hh (1.62): Comments
+	  improved for consistency (the abbreviation we use for
+	  `bounded-difference shape' is `BDS').
+
+2007-12-05 Wednesday 14:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.33): Corrected code for free() as suggested by Andrea Cimino.
+
+2007-12-05 Wednesday 10:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.224), src/BD_Shape.defs.hh (1.108),
+	  src/BD_Shape.inlines.hh (1.153), src/C_Polyhedron.defs.hh (1.51),
+	  src/C_Polyhedron.inlines.hh (1.38), src/Grid.defs.hh (1.61),
+	  src/Grid.inlines.hh (1.21), src/NNC_Polyhedron.defs.hh (1.53),
+	  src/NNC_Polyhedron.inlines.hh (1.39), src/Octagonal_Shape.defs.hh
+	  (1.36), src/Octagonal_Shape.inlines.hh (1.24),
+	  src/Partially_Reduced_Product.defs.hh (1.18),
+	  src/Partially_Reduced_Product.inlines.hh (1.16),
+	  tests/BD_Shape/Makefile.am (1.69),
+	  tests/BD_Shape/fromoctagonalshape1.cc (1.1),
+	  tests/Grid/Makefile.am (1.58), tests/Grid/directproduct1.cc
+	  (1.47), tests/Grid/frombdshape1.cc (1.1),
+	  tests/Grid/fromoctagonalshape1.cc (1.1),
+	  tests/Octagonal_Shape/Makefile.am (1.22),
+	  tests/Octagonal_Shape/frombdshape1.cc (1.1),
+	  tests/Polyhedron/Makefile.am (1.115),
+	  tests/Polyhedron/frombdshape1.cc (1.1),
+	  tests/Polyhedron/fromoctagonalshape1.cc (1.1): Added methods to
+	  the Polyhedra classes, and the Grid, BD_Shape, Octagonal_Shape
+	  classes that construct an element from a BD_Shape and from an
+	  Octagonal_Shape.  Added also similar methods to the partially
+	  reduced product class Added tests to check these new methods.
+	  Updated the NEWS with this information.
+
+2007-12-04 Tuesday 15:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/: BD_Shape/fromgrid1.cc (1.2), Octagonal_Shape/fromgrid1.cc
+	  (1.2): Fixed a bug in the tests. The "==" was being used for
+	  different objects.
+
+2007-12-04 Tuesday 14:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.23): Test the finalize() methods by explicitly calling
+	  System.gc().
+
+2007-12-04 Tuesday 09:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.298): Version number bumped.
+
+2007-12-04 Tuesday 09:15  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/: BD_Shape/fromgrid1.cc (1.1), Octagonal_Shape/fromgrid1.cc
+	  (1.1): Missing test files added.
+
+2007-12-04 Tuesday 08:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	*
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.22): Reverted finalize() to being protected.
+
+2007-12-03 Monday 22:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Partially_Reduced_Product.defs.hh (1.17),
+	  src/Partially_Reduced_Product.inlines.hh (1.15),
+	  tests/Grid/directproduct1.cc (1.46): A partially reduced product
+	  can now be constructed directly from a closed polyhedron, a not
+	  necessarily closed polyhedron, a grid or a box.
+
+2007-12-03 Monday 21:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/: ppl_interface_generator_java_dat.m4 (1.11),
+	  jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.32), tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.21): Added the method free() to delete the C++ class allowing
+	  Java garbage collection to reclaim the wrapper.
+
+2007-12-03 Monday 12:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.223), src/BD_Shape.defs.hh (1.107),
+	  src/BD_Shape.inlines.hh (1.152), src/Octagonal_Shape.defs.hh
+	  (1.35), src/Octagonal_Shape.inlines.hh (1.23),
+	  src/Polyhedron_public.cc (1.104), tests/BD_Shape/Makefile.am
+	  (1.68), tests/Octagonal_Shape/Makefile.am (1.21): Added
+	  constructors fro BD_Shape and Octagonal_Shape fro a Grid.  Added
+	  tests for the new constructors.
+
+	  Undone an unintended change to src/Polyhedron_public.cc in
+	  previous commit (assertion that was added, removed).
+
+2007-12-03 Monday 12:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.222), src/C_Polyhedron.cc (1.23),
+	  src/C_Polyhedron.defs.hh (1.50), src/NNC_Polyhedron.cc (1.23),
+	  src/NNC_Polyhedron.defs.hh (1.52), src/Polyhedron_public.cc
+	  (1.103), tests/Grid/directproduct3.cc (1.15),
+	  tests/Polyhedron/Makefile.am (1.114),
+	  tests/Polyhedron/fromgrid1.cc (1.1): Added constructors for
+	  NNC_Polyhedron and C_Polyhedron from a Grid.	Test file
+	  fromgrid1.cc and its nnc version tests these constructors.
+
+	  The test19 in Grid/directproduct3.cc now checks
+	  is_topologically_closed() for Box x Grid products.
+
+2007-12-03 Monday 11:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.221): Mentioned the bug fixed today.
+
+2007-12-03 Monday 11:29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Linear_System.cc (1.45): Fixed a bug in method insert()
+	  whereby a wrong result could have been obtained when inserting an
+	  NNC linear row into an empty linear system having a higher space
+	  dimension.  This was the bug shown by test14() in
+	  tests/Polyhedron/congruences1.cc.
+
+2007-12-03 Monday 11:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/congruences1.cc (1.13): test14 is no longer
+	  expected to fail (bug corrected).
+
+2007-12-03 Monday 08:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Polyhedron/congruences1.cc (1.12): Test14 shows a bug when
+	  converting a congruence system to a constraint system.
+
+2007-11-30 Friday 17:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/: sp_clpq.pl (1.19), sp_pl_check.pl
+	  (1.13): Little cosmetic improvements.
+
+2007-11-30 Friday 16:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/: sp_clpq.pl (1.18), sp_pl_check.pl
+	  (1.12): Allow for different versions of SICStus.
+
+2007-11-30 Friday 10:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/: sp_clpq.pl (1.17), sp_pl_check.pl
+	  (1.11): Changes to allow support for SICStus version 4.  FIXME
+	  notes added.
+
+2007-11-29 Thursday 17:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/gprolog_cfli.hh (1.7): Include <gprolog.h>
+	  unconditionally.
+
+2007-11-28 Wednesday 16:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.220): Revised reference to Box domain.
+
+2007-11-28 Wednesday 15:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Box/congruences1.cc (1.1): Tests all the congruence methods
+	  for the Box domain.
+
+2007-11-28 Wednesday 15:16  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.219), tests/Box/Makefile.am (1.46),
+	  tests/Box/addconstraints1.cc (1.9), tests/Box/cc76widening.cc
+	  (1.6), tests/Grid/directproduct1.cc (1.45),
+	  tests/Grid/directproduct2.cc (1.14), tests/Grid/directproduct3.cc
+	  (1.14), tests/Grid/directproduct4.cc (1.13),
+	  tests/Grid/directproduct5.cc (1.8), tests/Grid/directproduct6.cc
+	  (1.10):
+	  Tests for new methods just committed added to appropriate files
+	  in tests/Box.
+
+	  Tests for directproduct now have the Box domain for one of the
+	  product's components as an optional directive although the
+	  products are currently set with directives for testing
+	  NNC_Polyhedron with the Grid.
+
+2007-11-28 Wednesday 15:15  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: Box.cc (1.8), Box.defs.hh (1.33), Box.inlines.hh (1.22),
+	  Box.templates.hh (1.71): Enabled the product of a Box and a Grid.
+	   To do this, for compatibility with the other classes, the
+	  following methods have been added:	Box(Congruence_System cgs)
+
+	     add_constraint_and_minimize(Constraint c)
+	     add_constraints_and_minimize(Constraint_System cs)
+	     add_recycled_constraints(Constraint_System cs)
+	     add_recycled_constraints_and_minimize(Constraint_System& cs)
+
+	     add_congruence(Congruence cg)
+	     add_congruence_and_minimize(Congruence_System cgs)
+	     add_congruences(Congruence_System cgs)
+	     add_congruences_and_minimize(Congruence_System cgs)
+	     add_recycled_congruences(Congruence_System cgs)
+	     add_recycled_congruences_and_minimize(Congruence_System& cgs)
+
+	     widening_assign
+
+	     congruences()
+	     minimized_congruences()
+
+	     can_recycle_constraint_systems()
+	     can_recycle_congruence_systems()
+
+	     throw_dimension_incompatible(char* method, Congruence cg)
+	     throw_dimension_incompatible(char* method, Congruence_System
+	  cgs)
+
+	  Also private methods added:
+
+	     extract_interval_congruence(Congruence cg, ...)
+	     add_congruence_no_check(Congruence cg)
+	     add_congruences_no_check(Congruence_System cgs)
+
+2007-11-28 Wednesday 06:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.297), interfaces/Prolog/GNU/gprolog_cfli.hh
+	  (1.6): No two distributions install gprolog.h in the same place:
+	  the only reliable way for the users of the GNU Prolog interface
+	  is to define CPPFLAGS.
+
+2007-11-27 Tuesday 12:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: BD_Shape.templates.hh (1.88), Octagonal_Shape.templates.hh
+	  (1.62): Missing "const" added.
+
+2007-11-27 Tuesday 11:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/constraints1.cc (1.9): test06 succeeds.
+
+2007-11-27 Tuesday 11:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.defs.hh (1.32), Box.templates.hh (1.70):
+	  Box<Interval>::add_constraint_no_check() assumes (and assumed)
+	  that the box was not marked empty: assertion added.  This
+	  invariant was ensured by Box<Interval>::add_constraint() but not
+	  by Box<Interval>::add_constraints_no_check(const
+	  Constraint_System&): the latter has been fixed accordingly.
+
+2007-11-27 Tuesday 10:53  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Box/constraints1.cc (1.8): test05 succeeds.
+
+2007-11-27 Tuesday 10:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh (1.69): Spurious comment removed.
+
+2007-11-27 Tuesday 10:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Box.templates.hh (1.68), tests/Box/constraints1.cc (1.7):
+	  Last change undone and a change in the commit before this also
+	  undone.
+
+2007-11-27 Tuesday 10:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Box.templates.hh (1.67): Check for emptiness moved from
+	  add_constraints_no_check() to add_constraint_no_check().  Also do
+	  the empty check by just checking marked_empty() instead of
+	  is_empty().
+
+2007-11-27 Tuesday 09:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh (1.66): Duplicate code avoided in
+	  Box<Interval>::add_constraint_no_check().
+
+2007-11-27 Tuesday 09:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Box.templates.hh (1.65), tests/Box/constraints1.cc (1.6):
+	  Added corrections for bugs in identified by previous commit.
+
+2007-11-27 Tuesday 08:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Box/constraints1.cc (1.5): test05 and test06 show bugs in
+	  add_constraint_no_check() and add_constraints_no_check().
+
+2007-11-26 Monday 08:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.296), interfaces/Prolog/GNU/gprolog_cfli.hh
+	  (1.5): Find gprolog.h also under Ubuntu 7.10.
+
+2007-11-23 Friday 10:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/directproduct3.cc (1.13): Test07 fails only when the
+	  assertions are enabled with 8 bit integers.
+
+2007-11-22 Thursday 19:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.295): Version number bumped.
+
+2007-11-22 Thursday 08:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/directproduct3.cc (1.12): Test07 is set to fail for 8
+	  bit integers when one of the domain components is C_Polyhedron.
+
+2007-11-21 Wednesday 11:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/directproduct1.cc (1.44): Test is now reset to test
+	  product Grid x NNC_Polyhedron
+
+2007-11-21 Wednesday 11:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.218), src/Octagonal_Shape.defs.hh (1.34),
+	  src/Octagonal_Shape.inlines.hh (1.22),
+	  tests/Grid/directproduct1.cc (1.43): Octagonal domain now has a
+	  constructor from a box.
+
+2007-11-21 Wednesday 11:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.217), src/Octagonal_Shape.defs.hh (1.33),
+	  src/Octagonal_Shape.inlines.hh (1.21),
+	  src/Octagonal_Shape.templates.hh (1.61),
+	  tests/Grid/directproduct1.cc (1.42), tests/Grid/directproduct2.cc
+	  (1.13), tests/Grid/directproduct3.cc (1.11),
+	  tests/Grid/directproduct4.cc (1.12), tests/Grid/directproduct5.cc
+	  (1.7), tests/Grid/directproduct6.cc (1.9): The
+	  Partially_Reduced_Product now works for products with
+	  Octagonal_Shape domain elements.
+
+	  Tests now have an option to test with a product of
+	  Octagonal_Shape and Grid, but all tests are currently set to test
+	  C_ or NNC_Polyhedron x Grid (or vice versa) combinations.
+
+2007-11-21 Wednesday 08:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: Direct_Product.defs.hh (1.48), Direct_Product.inlines.hh
+	  (1.46), Direct_Product.templates.hh (1.24),
+	  Direct_Product.types.hh (1.7), Makefile.am (1.175): The old
+	  implentation for Direct_Product removed as this is replaced by an
+	  instance of the Partially_Reduced_Product class.
+
+2007-11-20 Tuesday 22:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Box.defs.hh (1.31), src/Box.templates.hh (1.64),
+	  tests/Box/Makefile.am (1.45), tests/Box/fromdirectproduct1.cc
+	  (1.6), tests/Box/frompartiallyreducedproduct1.cc (1.1): Changed
+	  the construction of a box from a direct product class to the
+	  construction of a box from a partially reduced product class.
+
+	  Test file updated and renamed to test this change.
+
+2007-11-20 Tuesday 15:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/BD_Shape.defs.hh (1.106), src/BD_Shape.inlines.hh (1.151),
+	  tests/BD_Shape/Makefile.am (1.67), tests/BD_Shape/boundingbox1.cc
+	  (1.1), tests/Grid/directproduct1.cc (1.41): Added method for
+	  constructing a BD_Shape from a box.
+
+	  Test file for building from a box added for the BD_Shape.
+
+	  Test for building a product from a box is now enabled when a
+	  component of the product is a BD_Shape.
+
+2007-11-20 Tuesday 13:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/BD_Shape.defs.hh (1.105), src/BD_Shape.inlines.hh (1.150),
+	  tests/Grid/directproduct3.cc (1.10): Added widening_assign()
+	  using the H79_widening_assign() as the default widening. Test for
+	  widening_assign uncommented for products using the BD_Shape
+	  class.
+
+2007-11-20 Tuesday 08:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/partiallyreducedproduct2.cc (1.3): Tests 08 and 18
+	  fail for 8-bit integers.
+
+2007-11-19 Monday 18:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/BD_Shape.inlines.hh (1.149), tests/Grid/directproduct1.cc
+	  (1.40), tests/Grid/directproduct2.cc (1.12),
+	  tests/Grid/directproduct3.cc (1.9), tests/Grid/directproduct4.cc
+	  (1.11), tests/Grid/directproduct5.cc (1.6),
+	  tests/Grid/directproduct6.cc (1.8): Corrected code for
+	  BD_Shape<T>::add_congruences_and_minimize(const
+	  Congruence_System& cgs)
+
+	  All the tests for directproduct?.cc have an option to run using
+	  the BD_Shape x Grid domain, apart from a few tests that are
+	  commented out due to missing methods in the BD_Shape class.
+
+	  Note that these tests are currently set to run using
+	  NNC_Polyhedron x Grid or Grid x.NNC_Polyhedron.
+
+2007-11-19 Monday 14:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/BD_Shape.defs.hh (1.104), src/BD_Shape.inlines.hh (1.148),
+	  src/BD_Shape.templates.hh (1.87), src/Polyhedron.inlines.hh
+	  (1.144), src/Polyhedron_public.cc (1.102),
+	  tests/Grid/directproduct1.cc (1.39): Added methods for adding
+	  congruences and for obtaining the set of equality congruences
+	  from a BD_Shape.
+
+	  Methods in Polyhedron_public.cc for adding congruences moved to
+	  Polyhedron.inlines.hh.
+
+2007-11-19 Monday 11:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Partially_Reduced_Product.defs.hh (1.16),
+	  src/Partially_Reduced_Product.templates.hh (1.7),
+	  tests/Grid/directproduct5.cc (1.5),
+	  tests/Grid/partiallyreducedproduct3.cc (1.2): Added
+	  relation_with(Congruences) to the Partially_Reduced_Product
+	  class.
+
+2007-11-19 Monday 10:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.216): Added item
+
+	  o  The method relations_with(Congruence) has been added to the
+	  Polyhedron	class for compatibility with the Grid class
+	  methods.
+
+2007-11-19 Monday 09:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Polyhedron.defs.hh (1.328), src/Polyhedron_public.cc (1.101),
+	  tests/Polyhedron/relations2.cc (1.12): Added method
+	  relation_with(Congruence) to Polyhedron class.
+
+2007-11-19 Monday 08:41  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.100): A couple of small improvements
+	  to the implementation of constrains():   - avoid counting lines
+	  if the generator system is not minimized (no matter	  if it has
+	  pending generators or not);	- prefer efficient methods
+	  g.is_line_or_ray() and g.is_line()	 with respect to g.type()
+	  when checking for lines and rays.
+
+2007-11-18 Sunday 13:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/: ppl_interface_generator_java_dat.m4 (1.10),
+	  jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.31), tests/ppl_interface_generator_java_test_java.m4 (1.10),
+	  tests/ppl_interface_generator_java_test_java_code.m4 (1.20):
+	  Added Java interface for constraints().
+
+	  In Java/tests/ppl_interface_generator_java_test_java.m4, just a
+	  spelling correction.
+
+2007-11-17 Saturday 22:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.215), src/Grid.defs.hh (1.60), src/Grid.inlines.hh
+	  (1.20), src/Partially_Reduced_Product.defs.hh (1.15),
+	  src/Partially_Reduced_Product.inlines.hh (1.14),
+	  src/Partially_Reduced_Product.templates.hh (1.6),
+	  src/Polyhedron.defs.hh (1.327), src/Polyhedron.inlines.hh
+	  (1.143), src/Polyhedron_public.cc (1.99),
+	  tests/Grid/directproduct1.cc (1.38), tests/Grid/directproduct4.cc
+	  (1.10), tests/Grid/directproduct5.cc (1.4),
+	  tests/Grid/partiallyreducedproduct1.cc (1.8),
+	  tests/Polyhedron/addcongruences1.cc (1.12): Added methods
+	  add_congruences_and_minimize(Congruence_System),
+	  add_recycled_congruences(Congruence_System), and
+	  add_recycled_congruences_and_minimize(Congruence_System) to
+	  Polyhedron class.  Added static methods
+	  can_recycle_constraint_systems() and
+	  can_recycle_congruence_systems() to Polyhedron and Grid classes.
+	  Added methods add_congruences_and_minimize(Congruence_System),
+	  add_recycled_congruences(Congruence_System), and
+	  add_recycled_congruences_and_minimize(Congruence_System) to the
+	  Partially_Reduced_Product class.
+
+	  Some simple tests added to check these.
+
+2007-11-17 Saturday 19:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.214), src/Polyhedron.defs.hh (1.326),
+	  src/Polyhedron_public.cc (1.98), tests/Polyhedron/Makefile.am
+	  (1.113), tests/Polyhedron/constrains1.cc (1.1),
+	  tests/Polyhedron/constraints1.cc (1.11): New method bool
+	  Polyhedron::constrains(Variable var) const returns `true' if and
+	  only if `var' is constrained in `*this'.
+
+2007-11-17 Saturday 19:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/relations3.cc (1.11): New test.
+
+2007-11-17 Saturday 10:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Partially_Reduced_Product.defs.hh (1.14): Friend declaration
+	  fixed and uncommented.
+
+2007-11-16 Friday 14:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Partially_Reduced_Product.defs.hh (1.13): A couple of FIXME's
+	  added.
+
+2007-11-16 Friday 14:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid.defs.hh (1.59), src/Partially_Reduced_Product.defs.hh
+	  (1.12), src/Partially_Reduced_Product.inlines.hh (1.13),
+	  tests/Grid/directproduct1.cc (1.37), tests/Grid/directproduct3.cc
+	  (1.8), tests/Grid/partiallyreducedproduct3.cc (1.1): Test file
+	  added for partially reduced products (which should have been
+	  added before).
+
+	  Many doxygen comments in the defs file improved and corrected.
+	  The setting/clearing of the reduced flag also revised for some
+	  methods.
+
+2007-11-16 Friday 12:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Partially_Reduced_Product.defs.hh (1.11),
+	  src/Partially_Reduced_Product.inlines.hh (1.12),
+	  tests/Grid/directproduct4.cc (1.9): Added an implementation of
+	  add_congruences_and_minimize().
+
+	  Removed some redundant code in
+	  src/Partially_Reduced_Product.defs.hh.
+
+2007-11-16 Friday 11:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/directproduct4.cc (1.8): Tests for
+	  generalized_affine_(pre)image() methods that were commented out
+	  now have now been revised to test the defined methods and
+	  un-commented.
+
+2007-11-16 Friday 10:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid.defs.hh (1.58), src/Grid.inlines.hh (1.19),
+	  src/Partially_Reduced_Product.defs.hh (1.10),
+	  src/Partially_Reduced_Product.inlines.hh (1.11),
+	  tests/Grid/directproduct1.cc (1.36), tests/Grid/directproduct2.cc
+	  (1.11): Methods in the Grid domain that build a grid from
+	  generators, add generators to a grid and get the generators
+	  defining a grid are no longer supported.  (Note: this change only
+	  affects methods wrt "generators" and _not_ wrt
+	  "grid_generators".)
+
+	  In the Partially_Reduced_Product domain all methods that build a
+	  product from generators or grid generators, add generators or
+	  grid generators to a product and get the generators or grid
+	  generators defining a product are no longer supported.
+
+	  Changes to the tests reflect this change.
+
+2007-11-15 Thursday 14:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Partially_Reduced_Product.defs.hh (1.9),
+	  src/Partially_Reduced_Product.inlines.hh (1.10),
+	  src/Partially_Reduced_Product.templates.hh (1.5),
+	  tests/Grid/partiallyreducedproduct1.cc (1.7): Corrected the
+	  set_reduced_flag() to clear_reduced_flag() when building a new
+	  product from constraints or congruences.
+
+	  Made 2 additional tests for OK() that checks products after using
+	  these constructors.
+
+	  The code implementing OK() now forces reduced() to reduce the
+	  copy of *this by setting its "reduced" flag to false.  The code
+	  for OK() now moved to *.templates.hh
+
+	  Some formatting improvements mainly in *.inlines.hh.
+
+2007-11-15 Thursday 10:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Partially_Reduced_Product.templates.hh (1.4),
+	  tests/Grid/Makefile.am (1.57): More tests added for smash and
+	  constraints product..  Formatting improvements to
+	  /Partially_Reduced_Product.templates.hh.
+
+2007-11-13 Tuesday 10:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Partially_Reduced_Product.inlines.hh (1.9),
+	  tests/Grid/partiallyreducedproduct1.cc (1.6),
+	  tests/Grid/partiallyreducedproduct2.cc (1.2): Many corrections to
+	  the product domain implementation mainly wrt when reduction must
+	  be done and setting the reduced Boolean.  Tests added and
+	  improved. Some useless tests removed.
+
+2007-11-12 Monday 18:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.43): Useless @SET_MAKE@ removed.
+
+2007-11-12 Monday 18:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.294): New versions of GCC on Darwin no longer
+	  support -Wno-long-double: we no longer use this option on that
+	  platform (people using older versions will simply get lots of
+	  warnings they can ignore).
+
+2007-11-09 Friday 11:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/directproduct3.cc (1.7): Test18 fails for 8-bit
+	  coefficients.
+
+2007-11-07 Wednesday 14:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/: directproduct1.cc (1.35), directproduct3.cc (1.6):
+	  Tests corrected.
+
+2007-11-07 Wednesday 09:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Grid/: directproduct1.cc (1.34), directproduct3.cc (1.5):
+	  Temporarily disabled test14 and test19 in directproduct1 and
+	  directproduct3, respectively, which are known to fail.
+
+2007-11-05 Monday 21:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Polyhedron.inlines.hh (1.142),
+	  tests/Polyhedron/congruences1.cc (1.11): The method congruences()
+	  for the Polyhedron classes must return all equalities including
+	  the implied equalities.
+
+2007-11-05 Monday 17:17  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/: Makefile.am (1.56), partiallyreducedproduct1.cc
+	  (1.5), partiallyreducedproduct2.cc (1.1):
+	  partiallyreducedproduct1.cc no longer tests the direct product
+	  domain.  More tests for the Smash_Product and Constraints_Product
+	  domains added in partiallyreducedproduct2.cc
+
+2007-11-05 Monday 15:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/: directproduct1.cc (1.33), directproduct2.cc (1.10),
+	  directproduct3.cc (1.4), directproduct4.cc (1.7),
+	  directproduct5.cc (1.3): Revised the directproduct tests so as
+	  not to build or enlarge a product using the generators or grid
+	  generators.
+
+2007-11-05 Monday 14:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Partially_Reduced_Product.defs.hh (1.8),
+	  src/Partially_Reduced_Product.inlines.hh (1.8),
+	  src/Polyhedron.defs.hh (1.325), src/Polyhedron_public.cc (1.97),
+	  tests/Grid/directproduct4.cc (1.6): Undone the change to
+	  generalized_affine_image in previous commit so these methods are,
+	  again, unsupported by the  Partially_Reduced_Product domains.
+
+2007-11-05 Monday 12:16  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/directproduct1.cc (1.32): Revised test so as not to
+	  use the generators or grid_generators constructors
+
+2007-11-05 Monday 11:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Partially_Reduced_Product.defs.hh (1.7),
+	  src/Partially_Reduced_Product.inlines.hh (1.7),
+	  src/Polyhedron.defs.hh (1.324), src/Polyhedron_public.cc (1.96),
+	  tests/Grid/directproduct4.cc (1.5): Revised the methods
+	  generalized_affine_image() so as to allow for a modulus as the
+	  fourth argument.  Note that for the Polyhedron domains the
+	  modulus is ignored and the transformation is treated as if it was
+	  0 (equality).  Enabled the tests in directproduct4.cc that test
+	  this.
+
+2007-11-05 Monday 11:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/C_Polyhedron.defs.hh (1.49), src/C_Polyhedron.inlines.hh
+	  (1.37), src/NNC_Polyhedron.defs.hh (1.51),
+	  src/NNC_Polyhedron.inlines.hh (1.38),
+	  src/Partially_Reduced_Product.defs.hh (1.6),
+	  src/Partially_Reduced_Product.inlines.hh (1.6),
+	  tests/Grid/partiallyreducedproduct1.cc (1.4): Removed
+	  C_Polyhedron::C_Polyhedron(const Grid_Generator_System&),
+	  NNC_Polyhedron::NNC_Polyhedron(const Grid_Generator_System&) and
+	  similar constructors.
+
+2007-11-05 Monday 09:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Partially_Reduced_Product.inlines.hh (1.5), tests/print.hh
+	  (1.43), tests/Grid/Makefile.am (1.55),
+	  tests/Grid/directproduct1.cc (1.31), tests/Grid/directproduct2.cc
+	  (1.9), tests/Grid/directproduct3.cc (1.3),
+	  tests/Grid/directproduct4.cc (1.4), tests/Grid/directproduct5.cc
+	  (1.2), tests/Grid/directproduct6.cc (1.7),
+	  tests/Grid/directproduct7.cc (1.5): Completely revised the test
+	  files directproduct?.cc
+
+	  In tests/print.hh, added to the print options for the tests:
+
+	  print_constraints(const
+	  Parma_Polyhedra_Library::Partially_Reduced_Product<D1, D2, R>&
+	  pd, print_congruences(const
+	  Parma_Polyhedra_Library::Partially_Reduced_Product<D1, D2, R>&
+	  pd,
+
+	  Corrected the implementation of strictly_contains() for
+	  Partially_Reduced_Product domains.
+
+2007-11-03 Saturday 08:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Partially_Reduced_Product.inlines.hh (1.4),
+	  src/globals.defs.hh (1.51), tests/Grid/Makefile.am (1.54),
+	  tests/Grid/asciidumpload7.cc (1.4),
+	  tests/Grid/partiallyreducedproduct1.cc (1.3): Added code for
+	  ascii_dump() for Partially_Reduced_Product class.
+
+2007-11-02 Friday 19:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/OR_Matrix.defs.hh (1.13): FIXME resolved.
+
+2007-11-02 Friday 19:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Partially_Reduced_Product.templates.hh (1.3): Comments
+	  revised so as to adhere to our standards.
+
+2007-11-02 Friday 19:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Partially_Reduced_Product.templates.hh (1.2): Simplified the
+	  logic of Smash_Reduction<D1, D2>::product_reduce() so as to
+	  remove all explicit returns.
+
+2007-11-02 Friday 16:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: Partially_Reduced_Product.defs.hh (1.5),
+	  Partially_Reduced_Product.inlines.hh (1.3): Revised comments for
+	  the product domain.  Removed a useless return.
+
+2007-11-02 Friday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Partially_Reduced_Product.inlines.hh (1.2): Do not name
+	  unused parameters (this avoids the compiler warnings).  Avoid
+	  useless returns.
+
+2007-11-02 Friday 16:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Partially_Reduced_Product.defs.hh (1.4): Added comments for
+	  the new reduction classes and their methods.	Corrected another
+	  comment.
+
+2007-11-02 Friday 14:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Partially_Reduced_Product.defs.hh (1.3),
+	  tests/Grid/partiallyreducedproduct1.cc (1.2): Removed redundant
+	  typedef declarations and revised the tests to use the more
+	  generic types for products.
+
+2007-11-02 Friday 14:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Partially_Reduced_Product.defs.hh (1.2),
+	  Partially_Reduced_Product.types.hh (1.2): Temporarily added the
+	  Domain_Product class: it will be removed when template typedefs
+	  will be supported by C++.
+
+2007-11-02 Friday 11:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Makefile.am (1.174), src/Partially_Reduced_Product.defs.hh
+	  (1.1), src/Partially_Reduced_Product.inlines.hh (1.1),
+	  src/Partially_Reduced_Product.templates.hh (1.1),
+	  src/Partially_Reduced_Product.types.hh (1.1),
+	  tests/Grid/Makefile.am (1.53),
+	  tests/Grid/partiallyreducedproduct1.cc (1.1): First revision for
+	  implementing Partially_Reduced_Product classes that is intended
+	  to replace the Direct_Product and Open_Product classes.
+
+2007-11-01 Thursday 19:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_nonpublic.cc (1.30): Avoid abusing logical operators.
+
+2007-10-29 Monday 11:37  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/maxspacedim1.cc (1.15): Test corrected so as to
+	  take into proper account 32bit architectures.
+
+2007-10-27 Saturday 14:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/h79widening1.cc (1.12): Simplified the logic
+	  underlying test01.
+
+2007-10-27 Saturday 13:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/affinepreimage1.cc (1.15): Removed TODO comment and
+	  uncommented gr.add_congruence((3*A - 6*B %= 3) / 9);
+
+2007-10-27 Saturday 12:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/dualhypercubes.cc (1.15): Modified to compute
+	  (and print in noisy mode) information on the cardinality of the
+	  intermediate results, as well as checking the cardinalities of
+	  the final results to match those reported in the FAC 2005 paper.
+
+2007-10-27 Saturday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/writeoctagon1.cc (1.5): Tests extended and
+	  FIXMEs resolved.
+
+2007-10-27 Saturday 07:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/affinepreimage1.cc (1.14): Avoid abusing logical
+	  operators.
+
+2007-10-27 Saturday 06:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/membytes1.cc (1.10): TODO dealt with.
+
+2007-10-27 Saturday 06:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/maxspacedim1.cc (1.14): One FIXME resolved,
+	  another one added.
+
+2007-10-26 Friday 22:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/: .cvsignore (1.6), writegensys1.cc (1.11),
+	  writepolyhedron1.cc (1.11), writepolyhedron2.cc (1.11): Several
+	  FIXMEs resolved.
+
+2007-10-26 Friday 20:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/linearpartition1.cc (1.14): FIXME resolved: now
+	  test04() checks all the results.
+
+2007-10-26 Friday 20:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/dualhypercubes.cc (1.14): Variable renamed.
+
+2007-10-26 Friday 12:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: Direct_Product.inlines.hh (1.45),
+	  Direct_Product.templates.hh (1.23): Non-inline code moved from
+	  Direct_Product.inlines.hh to Direct_Product.templates.hh
+
+2007-10-25 Thursday 22:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Pointset_Powerset.defs.hh (1.21),
+	  src/Pointset_Powerset.templates.hh (1.16),
+	  tests/Polyhedron/pointsetpowerset2.cc (1.2): Added
+	  affine_dimension() to the Pointset_Powerset.
+
+2007-10-25 Thursday 21:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_swi_prolog.m4 (1.13): Define also
+	  SWI_PROLOG_LD_OPTIONS.
+
+2007-10-24 Wednesday 15:15  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Pointset_Powerset.defs.hh (1.20),
+	  src/Pointset_Powerset.templates.hh (1.15),
+	  tests/Polyhedron/Makefile.am (1.112),
+	  tests/Polyhedron/pointsetpowerset2.cc (1.1): Added
+	  generalized_*image() and bounded_*image() to the Pointset
+	  Powerset domain.
+
+	  Added tests for these and for the affine_image() and
+	  affine_preimage() methods.
+
+2007-10-22 Monday 21:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Direct_Product.inlines.hh (1.44),
+	  tests/Grid/directproduct6.cc (1.6): Revised code for
+	  relation_with(Constraint).  Added one extra test for this.
+
+2007-10-22 Monday 14:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Direct_Product.inlines.hh (1.43),
+	  tests/Grid/directproduct1.cc (1.30), tests/Grid/directproduct2.cc
+	  (1.8), tests/Grid/directproduct3.cc (1.2),
+	  tests/Grid/directproduct4.cc (1.3), tests/Grid/directproduct6.cc
+	  (1.5), tests/Grid/directproduct7.cc (1.4): Bug fixed for
+	  congruences() and minimized_congruences().  Tests changed so as
+	  to test the Direct_Product class rather than the Open_Product
+	  class.
+
+2007-10-22 Monday 13:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.205), src/Direct_Product.defs.hh (1.47),
+	  src/Direct_Product.inlines.hh (1.42): Documentation revised for
+	  grids, bibliographic cross-reference corrected and some missing
+	  code for the direct product domain added.
+
+2007-10-22 Monday 11:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Direct_Product.defs.hh (1.46), src/Direct_Product.inlines.hh
+	  (1.41), tests/Grid/directproduct6.cc (1.4): Revised the returned
+	  result for relation_with(Constraint).
+
+2007-10-22 Monday 09:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Direct_Product.defs.hh (1.45), src/Direct_Product.inlines.hh
+	  (1.40), tests/Grid/directproduct6.cc (1.3): Added the
+	  relation_with(Constraint) and relation_with(Generator) method for
+	  the direct product.
+
+2007-10-20 Saturday 21:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/Makefile.am (1.76): Use the `-pl' option of
+	  `plld' to make sure the right Prolog interpreter is used.
+
+2007-10-20 Saturday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_swi_prolog.m4 (1.12): Set and substitute the
+	  `SWI_PROLOG' variables: it contains the complete path of the
+	  SWI-Prolog interpreter.
+
+2007-10-20 Saturday 18:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid.defs.hh (1.57), src/Grid_nonpublic.cc (1.29),
+	  src/Grid_public.cc (1.61), tests/Grid/relations1.cc (1.15),
+	  tests/Grid/relations2.cc (1.17), tests/Grid/relations3.cc (1.8):
+	  Revised the grid relation_with() methods for congruences and
+	  constraints so that saturates() is included in the result
+	  whenever the congruence or constraint is an equality and every
+	  point of the grid satisfies the equality.
+
+	  Added grid relation_with() methods for a generator so that a
+	  point or closure point has the same relation with the grid as the
+	  corresponding grid point, and a ray or line has the same relation
+	  with the grid as a grid line.
+
+	  Expected results revised and new tests for the grid
+	  relation_with() methods for a generator added to relations1.cc.
+
+2007-10-19 Friday 16:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.293): Version number bumped.
+
+2007-10-19 Friday 15:37  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid_public.cc (1.60): In code for building a grid from a
+	  polyhedron, bug that was causing an assertion to fail corrected.
+
+2007-10-19 Friday 10:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/jni/ppl_java_common.cc (1.36): Spelling of file
+	  name corrected.
+
+2007-10-19 Friday 08:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/grid3.cc (1.24): test19 expected to fail with an
+	  overflow exception with checked_int8 configuration.
+
+2007-10-18 Thursday 16:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.292): For a change, test with
+	  Octagonal_Shape<double> instead of BD_Shape<int8_t>.
+
+2007-10-18 Thursday 11:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Direct_Product.defs.hh (1.44), src/Direct_Product.inlines.hh
+	  (1.39), tests/Grid/directproduct7.cc (1.3): Added maximize/5 and
+	  minimize/5 for the direct product.  Comments improved.  Tests
+	  added for these methods.
+
+2007-10-18 Thursday 08:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid_public.cc (1.59): TEMP_INTEGER taken outside loops.
+
+2007-10-18 Thursday 08:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.16):
+	  Additional change made so as to deal with change to maximize/5
+	  and minimize/5 for the grid domain.
+
+2007-10-18 Thursday 08:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid_public.cc (1.58), tests/Grid/grid3.cc (1.23): Bug shown
+	  in previous commit now corrected.
+
+2007-10-18 Thursday 07:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/grid3.cc (1.22): test18 shows a bug in the code added
+	  for building a grid using the generators of a polyhedron.
+
+2007-10-17 Wednesday 22:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid_public.cc (1.57): Code for constructing a grid from a
+	  polyhedron improved.
+
+2007-10-17 Wednesday 21:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.15):
+	  Changed the OCaml interface so as to match the change to
+	  maximize/5 and minimize/5 for the grid domain.
+
+2007-10-17 Wednesday 18:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.18),
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.30),
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.19),
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (1.49),
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.51), src/Grid.defs.hh (1.56), src/Grid.inlines.hh (1.18),
+	  src/Grid_nonpublic.cc (1.28), tests/Grid/maxmin1.cc (1.13):
+	  Changed the methods maximize/5 and minimize/5 for the Grid class
+	  so that a Generator point, the maximum point of the grid, is the
+	  5th argument.
+
+2007-10-17 Wednesday 14:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid.defs.hh (1.55), src/Grid_public.cc (1.56),
+	  tests/Grid/grid3.cc (1.21): Added a constructor for a grid from a
+	  polyhedron.
+
+2007-10-17 Wednesday 14:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.323): Grid befriended to allow for the
+	  efficient implementation of a Grid constructor from a Polyhedron.
+
+2007-10-16 Tuesday 20:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/DB_Row.defs.hh (1.25): FIXME resolved.
+
+2007-10-16 Tuesday 20:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/DB_Row.types.hh (1.8): Template parameters renamed.
+
+2007-10-16 Tuesday 17:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Direct_Product.defs.hh (1.43), src/Direct_Product.inlines.hh
+	  (1.38), tests/Grid/directproduct7.cc (1.2): Added
+	  bounded_affine_image() and bounded_affine_preimage() for the
+	  direct product domain with some simple tests in
+	  directproduct7.cc.
+
+	  Improved a few comments in Direct_Product.defs.hh.
+
+2007-10-16 Tuesday 15:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Direct_Product.defs.hh (1.42), src/Direct_Product.inlines.hh
+	  (1.37), tests/Grid/Makefile.am (1.52),
+	  tests/Grid/directproduct7.cc (1.1): Revised several comments in
+	  Direct_Product.defs.hh.  Added bounds_from_above/1,
+	  bounds_from_below/1, maximize/4 and minimize/4 for direct product
+	  domain.  Added tests for these in directproduct7.cc.
+
+2007-10-16 Tuesday 12:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Direct_Product.inlines.hh (1.36): Useless copies avoided.
+
+2007-10-16 Tuesday 12:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Direct_Product.inlines.hh (1.35): Implementation of
+	  constraints(), minimized_constraints(), congruences() and
+	  minimized_congruences() improved.
+
+2007-10-16 Tuesday 10:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Direct_Product.defs.hh (1.41), src/Direct_Product.inlines.hh
+	  (1.34), tests/Grid/directproduct4.cc (1.2): Added affime_*image
+	  and versions of generalized_..._*image that are supported by both
+	  the grids and polyhedra classes.  Tests for these have been
+	  enabled.
+
+2007-10-16 Tuesday 09:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Direct_Product.inlines.hh (1.33),
+	  tests/Grid/directproduct6.cc (1.2): Improved code in previous
+	  commit for add_constraints() and constraints() and similar
+	  methods with the recycle and minimize options. Similarly for
+	  congruences.	Testing of these improved.
+
+2007-10-15 Monday 22:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Any_Pointset.defs.hh (1.16): Added the `Box_Pointset' derived
+	  class.  Provide the constructors from boxes, bounded-difference
+	  and octagonal shapes.
+
+2007-10-15 Monday 19:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Ask_Tell.defs.hh (1.18): Add class Ask_Tell to the C++
+	  interface documentation.
+
+2007-10-15 Monday 19:37  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Direct_Product.defs.hh (1.40): Add class Direct_Product to
+	  the C++ interface documentation.  Use properly the math
+	  environment delimiters in docs. Fix indentation.
+
+2007-10-15 Monday 19:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Any_Pointset.defs.hh (1.15): Add class Any_Pointset to the
+	  C++ interface documentation.	Do properly group documented
+	  methods.
+
+2007-10-15 Monday 15:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/: Makefile.am (1.51), directproduct1.cc (1.29),
+	  directproduct2.cc (1.7), directproduct3.cc (1.1),
+	  directproduct4.cc (1.1), directproduct5.cc (1.1),
+	  directproduct6.cc (1.1): directproduct1.c split into 4 files
+	  directproduct2.cc now named directproduct5.cc directproduct6.cc
+	  is some additional tests..
+
+2007-10-15 Monday 15:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: Direct_Product.defs.hh (1.39), Direct_Product.inlines.hh
+	  (1.32): Added a short description of a direct product.
+
+	  Modified the code for constraints(), congruences() so as to
+	  return all the constraints or congruences in the components.
+	  Similarly for minimized_constraints() and the recycled versions.
+
+2007-10-15 Monday 14:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Term.defs.hh (polynomials.3): `Checked_Exponent_Type_Policy'
+	  now sets `has_nan' to false.
+
+2007-10-15 Monday 12:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/congruence1.cc (1.18): Added tests for == and != for
+	  congruences when they have not been normalised or strongly
+	  normalised.
+
+2007-10-15 Monday 12:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Congruence_System.defs.hh (1.25): Removed operator==(const
+	  Congruence_System& x, const Congruence_System& y);
+
+2007-10-15 Monday 09:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Term.cc (polynomials.3): Reimplemented method
+	  Term::shift_space_dimensions(const Variables_Set&) so as to use a
+	  single loop instead of two.
+
+2007-10-15 Monday 09:58  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polynomial_Space.templates.hh (polynomials.3): Prefer
+	  const_iterator to iterator when accessing a Variables_Set.  When
+	  creating a Variables_Set, prefer adding a variable index instead
+	  of a proper Variable, if it is known that the index is less than
+	  the maximum allowed space dimension.
+
+2007-10-15 Monday 09:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polynomial.cc (polynomials.3): Fixed a typo in a comment.
+
+2007-10-14 Sunday 14:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Monomial.cc, Monomial.defs.hh, Monomial.inlines.hh,
+	  Polynomial.cc, Polynomial.defs.hh, Polynomial.inlines.hh,
+	  Polynomial_Cone.defs.hh, Polynomial_Constraint.defs.hh,
+	  Polynomial_Space.cc, Polynomial_Space.defs.hh,
+	  Polynomial_Space.templates.hh, Term.cc, Term.defs.hh,
+	  Term.inlines.hh (polynomials.[2,2,2,2,2,2,2,2,2,2,2,2,2,2]):
+	  Non-standard qualifications removed.	Spurious semicolons
+	  removed.  Variable shadowing avoided.
+
+2007-10-14 Sunday 14:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Watchdog.defs.hh (1.7): Non-standard qualification
+	  removed.
+
+2007-10-14 Sunday 10:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS, configure.ac, src/Makefile.am, src/Monomial.cc,
+	  src/Monomial.defs.hh, src/Monomial.inlines.hh,
+	  src/Monomial.types.hh, src/Polynomial.cc, src/Polynomial.defs.hh,
+	  src/Polynomial.inlines.hh, src/Polynomial.types.hh,
+	  src/Polynomial_Cone.cc, src/Polynomial_Cone.defs.hh,
+	  src/Polynomial_Cone.inlines.hh, src/Polynomial_Cone.types.hh,
+	  src/Polynomial_Constraint.cc, src/Polynomial_Constraint.defs.hh,
+	  src/Polynomial_Constraint.inlines.hh,
+	  src/Polynomial_Constraint.types.hh,
+	  src/Polynomial_Constraint_System.cc,
+	  src/Polynomial_Constraint_System.defs.hh,
+	  src/Polynomial_Constraint_System.inlines.hh,
+	  src/Polynomial_Constraint_System.types.hh,
+	  src/Polynomial_Space.cc, src/Polynomial_Space.defs.hh,
+	  src/Polynomial_Space.inlines.hh,
+	  src/Polynomial_Space.templates.hh, src/Polynomial_Space.types.hh,
+	  src/Term.cc, src/Term.defs.hh, src/Term.inlines.hh,
+	  src/Term.types.hh, src/globals.types.hh, tests/Makefile.am
+	  (polynomials.[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]):
+	  Initial implementation of polynomial spaces (joint work with
+	  Enric Rodriguez Carbonell and Enea Zaffanella).
+
+2007-10-13 Saturday 19:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Pointset_Ask_Tell.cc (1.7), Pointset_Ask_Tell.defs.hh
+	  (1.13), Pointset_Ask_Tell.templates.hh (1.11): A few FIXMEs have
+	  been resolved by adding a private typedef.
+
+2007-10-13 Saturday 18:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Pointset_Ask_Tell.cc (1.6), Pointset_Ask_Tell.templates.hh
+	  (1.10): Compilation errors fixed, with FIXMEs added.
+
+2007-10-13 Saturday 18:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Direct_Product.defs.hh (1.38): Non-standard qualification
+	  removed.
+
+2007-10-13 Saturday 17:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.103), Bit_Row.defs.hh (1.7),
+	  Box.defs.hh (1.30), Congruence.defs.hh (1.22),
+	  Congruence_System.defs.hh (1.24), Constraint.defs.hh (1.127),
+	  Constraint_System.defs.hh (1.39), Generator_System.defs.hh
+	  (1.26), Grid.defs.hh (1.54), Grid_Generator_System.defs.hh
+	  (1.28), Linear_Expression.defs.hh (1.37), OR_Matrix.defs.hh
+	  (1.12), Octagonal_Shape.defs.hh (1.32), Poly_Con_Relation.defs.hh
+	  (1.35), Poly_Gen_Relation.defs.hh (1.33), Polyhedron.defs.hh
+	  (1.322), Ptr_Iterator.defs.hh (1.11): Non-standard qualifications
+	  removed.
+
+2007-10-13 Saturday 16:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Interval_Info.inlines.hh (1.6): Avoid naming an unused
+	  parameter.
+
+2007-10-13 Saturday 15:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_public.cc (1.55), src/Pointset_Ask_Tell.cc (1.5),
+	  src/Pointset_Ask_Tell.defs.hh (1.12),
+	  src/Pointset_Ask_Tell.inlines.hh (1.6), src/Pointset_Powerset.cc
+	  (1.15), src/Pointset_Powerset.defs.hh (1.19),
+	  src/Pointset_Powerset.inlines.hh (1.9),
+	  src/checked_float.inlines.hh (1.82),
+	  tests/Polyhedron/powerset1.cc (1.21): Due to compiler bugs, there
+	  is no way to compile the PPL with GCC versions up to and
+	  including 3.4.6: old kludges removed.
+
+2007-10-13 Saturday 14:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Interval.defs.hh (1.48): Work around a bug in version 10.0 of
+	  the Intel C/C++ compiler.
+
+2007-10-13 Saturday 13:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Boundary.defs.hh (1.9): Compiler warning avoided.
+
+2007-10-11 Thursday 08:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Grid.templates.hh (1.32): In the constructor of grids from
+	  boxes, avoid meaningless implicit conversions in the calls to
+	  constructors for Grid_Generator_System.  Don't use function
+	  `used' to suppress a compiler warning when it is enough to avoid
+	  naming an unused parameter.
+
+2007-10-10 Wednesday 22:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Coefficient.inlines.hh (1.9): Coefficient_zero() and
+	  Coefficient_one() temporarily restored to the old definition.
+
+2007-10-10 Wednesday 14:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.213): Added that a bug has been fixed for the grid
+	  domain.
+
+2007-10-10 Wednesday 11:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: Grid.defs.hh (1.53), Polyhedron.defs.hh (1.321): Comments
+	  for constraints() and minimized_constraints() in Grid.defs.hh
+	  improved; similar improvements for congruences in
+	  Polyhedron.defs.hh.
+
+2007-10-09 Tuesday 21:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* INSTALL (1.9), TODO (1.233), Watchdog/INSTALL (1.6): The `make
+	  uninstall' command is now mentioned in the INSTALL file.
+
+2007-10-09 Tuesday 17:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure (1.23): Example simplified.
+
+2007-10-09 Tuesday 17:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.291): Provide the Intel C/C++ compiler with
+	  adequate warning flags.
+
+2007-10-09 Tuesday 17:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.290): The Intel C/C++ equivalent of GCC's
+	  -frounding-math should be -fp-model strict -fp-speculation off.
+
+2007-10-09 Tuesday 17:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.289): Detect the Intel C/C++ compiler.
+
+2007-10-09 Tuesday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.212), interfaces/C/ppl_c.h.in (1.73): In the C interface
+	  it is no longer an error to call ppl_initialize() or
+	  ppl_finalize() multiple times (this matches the behavior of the
+	  other interfaces).
+
+2007-10-09 Tuesday 15:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc_preamble (1.12): Teach
+	  emacs that this is a C++ file.  Disable automatic initialization.
+	  Use the new Parma_Polyhedra_Library::initialize() and
+	  Parma_Polyhedra_Library::finalize() instead of something ad hoc.
+
+2007-10-09 Tuesday 15:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
+	  (1.13): Do not rely on automatic initialization of the PPL.
+
+2007-10-09 Tuesday 15:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog_common.icc (1.11): No longer rely on
+	  automatic initialization.
+
+2007-10-09 Tuesday 15:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.211), src/initializer.hh (1.15): Users of the C++
+	  interface of the library can now decide to disable the automatic
+	  initialization mechanism of the PPL.	To do so, the preprocessor
+	  symbol PPL_NO_AUTOMATIC_INITIALIZATION should be defined before
+	  including the `ppl.hh' header file.  When automatic
+	  initialization is disabled it is imperative to explicitly call
+	  the new function
+
+	      void Parma_Polyhedra_Library::initialize()
+
+	  before using the library.  The new function
+
+	      void Parma_Polyhedra_Library::finalize() and
+
+	  should also be called (to release a small amount of memory) when
+	  done with the library.
+
+2007-10-08 Monday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.inlines.hh (1.147), Box.inlines.hh (1.21),
+	  Octagonal_Shape.inlines.hh (1.20): Use DIRTY_TEMP instead of
+	  static variables.
+
+2007-10-08 Monday 21:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
+	  (1.12): Use DIRTY_TEMP0 for temporaries.
+
+2007-10-08 Monday 21:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Coefficient.cc (1.8), Coefficient.defs.hh (1.10),
+	  Coefficient.inlines.hh (1.8), Congruence.cc (1.18),
+	  Congruence.defs.hh (1.21), Congruence.inlines.hh (1.18),
+	  Congruence_System.cc (1.26), Congruence_System.defs.hh (1.23),
+	  Congruence_System.inlines.hh (1.10), Constraint.cc (1.69),
+	  Constraint.defs.hh (1.126), Constraint.inlines.hh (1.68),
+	  Constraint_System.cc (1.27), Constraint_System.defs.hh (1.38),
+	  Constraint_System.inlines.hh (1.11), Generator.cc (1.76),
+	  Generator.defs.hh (1.124), Generator.inlines.hh (1.62),
+	  Generator_System.cc (1.24), Generator_System.defs.hh (1.25),
+	  Generator_System.inlines.hh (1.10), Grid_Generator.cc (1.22),
+	  Grid_Generator.defs.hh (1.32), Grid_Generator.inlines.hh (1.15),
+	  Grid_Generator_System.cc (1.20), Grid_Generator_System.defs.hh
+	  (1.27), Grid_Generator_System.inlines.hh (1.16), Init.cc (1.32),
+	  Linear_Expression.cc (1.19), Linear_Expression.defs.hh (1.36),
+	  Linear_Expression.inlines.hh (1.12): First go at getting rid of
+	  all non-POD static variables.
+
+2007-10-08 Monday 15:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Temp.inlines.hh (1.3): Allow the use of DIRTY_TEMP and
+	  DIRTY_TEMP0 also outside the Parma_Polyhedra_Library namespace.
+
+2007-10-08 Monday 14:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Polyhedron/congruences1.cc (1.10): Added some tests for
+	  congruences() and minimized_congruences().  test06 shows that
+	  implied equalities (eg A + B >= 3, A + B <= 3) are ignored (at
+	  the moment) for congruences().
+
+2007-10-08 Monday 14:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/conversion.cc (1.84): Use DIRTY_TEMP0 instead of a static
+	  variable.
+
+2007-10-08 Monday 14:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Constraint_System.cc (1.26): When building a
+	  Constraint_System from a Congruence_System, do properly set the
+	  topology and the space dimension; adding the positivity
+	  constraint is not needed.
+
+2007-10-08 Monday 14:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Constraint.cc (1.68): When building a constraint from a
+	  congruence, do not require a non-zero space dimension; also,
+	  avoid building a NOT_NECESSARILY_CLOSED constraint.
+
+2007-10-08 Monday 13:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Congruence.cc (1.17), Congruence.inlines.hh (1.17): An
+	  assertion made stronger and a new one added.
+
+2007-10-08 Monday 13:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.52): Simplified the
+	  handling of error messages and ppl finalization, removing a few
+	  dead code and useless cuts.
+
+2007-10-08 Monday 11:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: Constraint_System.cc (1.25), Grid.inlines.hh (1.17): Undone
+	  change to Grid.inlines.hh in last commit and made a corresponding
+	  change to the Constraint_System() code.
+
+2007-10-08 Monday 11:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid.inlines.hh (1.16): Fixed the bug shown in test03 and
+	  test10 in constraints1.cc
+
+2007-10-08 Monday 11:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/: Makefile.am (1.50), constraints1.cc (1.1):
+	  constraints1.cc has tests for constraints() and
+	  minimized_constraints().  test03 and tests10 show a bug - cause
+	  an assertion to fail - when getting the constraints from an empty
+	  grid with 0 space dimensions.
+
+2007-10-08 Monday 11:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.51): Removed a spurious
+	  occurrence of ppl_finalize/0 in time_out/1, which was causing a
+	  bug.
+
+2007-10-07 Sunday 18:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* STANDARDS (1.38): Added an explanation of how to use the
+	  test-coverage facilities provided by GCC.
+
+2007-10-07 Sunday 17:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/: pl_clpq.cc (1.13), ppl_pl.cc (1.13): With
+	  versions of SWI-Prolog after 5.6.43, ask SWI-Prolog not to fiddle
+	  with GMP allocation functions.
+
+2007-10-07 Sunday 17:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
+	  (1.11): No longer use global variables of kind mpz_class, since
+	  that does not allow to precisely control construction and
+	  destruction time.  This triggers a bug in pl_check.pl: apparently
+	  it tries to use the PPL interface after having called
+	  ppl_finalize/0 without an intervening invocation of
+	  ppl_initialize/0.
+
+2007-10-07 Sunday 17:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/exceptions1.cc (1.4): Comment improved.
+
+2007-10-07 Sunday 10:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.hh (1.30): Comments and
+	  formatting improved.
+
+2007-10-07 Sunday 09:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.232): Item dealt with and removed.
+
+2007-10-06 Saturday 22:39  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (1.231): Removed item - Revise the documentation for all the
+	  congruences() and   minimized_congruences() methods.
+
+2007-10-06 Saturday 22:37  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: Direct_Product.defs.hh (1.37), Grid.defs.hh (1.52),
+	  Polyhedron.defs.hh (1.320): Revised comments for some
+	  congruences() and minimized_congruences() methods and also
+	  similarly for some constraints() and minimized_constraints()
+	  methods.  A couple of other typos fixed in comments in
+	  Grid.defs.hh
+
+2007-10-06 Saturday 21:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure (1.22), TODO (1.230): Mentioned that the
+	  mechanisms to specify additional compilation flags may be used to
+	  request extra optimizations.	Corresponding to-do item removed.
+
+2007-10-06 Saturday 15:03  Abramo Bagnara
+
+	* src/checked_float.inlines.hh (1.81): Replaced volatile with
+	  avoid_cse.
+
+2007-10-06 Saturday 12:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure (1.21): Revised the example with the Intel C/C++
+	  compiler.  Other minor improvements.
+
+2007-10-06 Saturday 10:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/swi_cfli.hh (1.7): Unwanted change undone.
+
+2007-10-06 Saturday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Ciao/ciao_cfli.hh (1.4), GNU/gprolog_cfli.hh
+	  (1.4), SICStus/sicstus_cfli.ic (1.18), SWI/swi_cfli.hh (1.6),
+	  XSB/xsb_cfli.hh (1.4), YAP/yap_cfli.hh (1.4): Comments improved.
+
+2007-10-05 Friday 18:43  Abramo Bagnara
+
+	* src/Interval_Restriction.defs.hh (1.10): Avoid naming unused
+	  parameter.
+
+2007-10-05 Friday 18:35  Abramo Bagnara
+
+	* src/Grid_simplify.cc (1.36): Fixed gcdext_assign call.
+
+2007-10-05 Friday 18:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.defs.hh (1.29): Work around bug of the Intel compiler.
+
+2007-10-05 Friday 14:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Interval_Restriction.defs.hh (1.9), checked_int.inlines.hh
+	  (1.64), checked_mpz.inlines.hh (1.50): Avoid naming unused
+	  parameters.  Avoid long source lines.
+
+2007-10-05 Friday 12:24  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh (1.95), Checked_Number.inlines.hh
+	  (1.77), GMP_Integer.defs.hh (1.27), GMP_Integer.inlines.hh
+	  (1.22), checked.defs.hh (1.43), checked.inlines.hh (1.40),
+	  checked_ext.defs.hh (1.14), checked_ext.inlines.hh (1.40),
+	  checked_mpz.inlines.hh (1.49): Fixed prototype for gcdext.
+
+2007-10-04 Thursday 21:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.229): Reorganized: some things will definitely not be
+	  ready for PPL 0.10.
+
+2007-10-04 Thursday 12:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.288): Version number bumped.
+
+2007-10-04 Thursday 08:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_sicstus_prolog.m4 (1.7): Comment fixed.
+
+2007-10-03 Wednesday 19:16  Andrea Cimino
+
+	* interfaces/Java/: ppl_interface_generator_java_dat.m4 (1.9),
+	  jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.29), jni/ppl_java_globals.cc (1.8),
+	  tests/ppl_interface_generator_java_test_java_code.m4 (1.18):
+	  Implemented `total_memory_in_bytes' for the PPL objects.  At the
+	  moment the method returns only the memory used by the C++
+	  objects.
+
+2007-10-02 Tuesday 17:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/mipproblem2.cc (1.9): test01 always fails with
+	  8-bit coefficients, provided the timeout is long enough.
+
+2007-10-02 Tuesday 08:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/mipproblem2.cc (1.8): Timeout increased to 2
+	  seconds.
+
+2007-10-01 Monday 21:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl-config.cc.in (1.22): Option `--licence' fixed: the PPL is
+	  now released under GPL version 3.
+
+2007-09-30 Sunday 23:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/mipproblem2.cc (1.7): Timeout increased to 1
+	  second.
+
+2007-09-30 Sunday 11:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.210), configure.ac (1.287),
+	  interfaces/Prolog/Ciao/Makefile.am (1.66),
+	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.51),
+	  interfaces/Prolog/GNU/Makefile.am (1.66),
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.44),
+	  interfaces/Prolog/SICStus/Makefile.am (1.78),
+	  interfaces/Prolog/SWI/Makefile.am (1.75),
+	  interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
+	  (1.10), interfaces/Prolog/XSB/Makefile.am (1.55),
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4 (1.9),
+	  interfaces/Prolog/YAP/Makefile.am (1.55): Fixed bugs that
+	  prevented building the library on systems not supported by the
+	  Parma Watchdog Library or when the `--disable-watchdog' configure
+	  was used.  There is still a pending issue concerning the XSB
+	  Prolog interface.
+
+2007-09-29 Saturday 19:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/mipproblem2.cc (1.6): test01 does not fail
+	  unless assertions are enabled.
+
+2007-09-29 Saturday 13:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec (1.3):  The value of the `License' tag is now
+	  `GPLv3+'.
+	  `ppl-swiprolog' dependency on `readline-devel' removed (again).
+
+2007-09-29 Saturday 13:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec (simplex.1): file ppl.spec was added on branch
+	  simplex on 2008-01-07 11:15:27 +0000
+
+2007-09-27 Thursday 08:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/Makefile.am (1.43): List file
+	  do_not_output_location in MOSTLYCLEANFILES.
+
+2007-09-26 Wednesday 21:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/: Makefile.am (1.42), expected_mpz (1.14),
+	  expected_mpz_a (1.13): Do not output the optimum location for
+	  tests adlittle, boeing1, boeing2 and rout, since these may vary
+	  (without affecting the optimum value itself) depending on the
+	  computing platform. Expected results for mpz (with and without
+	  assertions) updated accordingly.
+
+2007-09-26 Wednesday 19:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
+	  (1.10): There is no need to include "pwl.hh" here.
+
+2007-09-26 Wednesday 19:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog_common.icc (1.10): Support for
+	  systems where the Parma Watchdog Library is not available: on
+	  these systems, both ppl_set_timeout/1 and ppl_reset_timeout/0
+	  fail.
+
+2007-09-26 Wednesday 18:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.286): The preprocessor symbol
+	  WATCHDOG_LIBRARY_ENABLED is defined if and only if the Parma
+	  Watchdog Library is enabled.
+
+2007-09-26 Wednesday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/Makefile.am (1.77): Initial support for
+	  systems where the Parma Watchdog Library is not available.
+
+2007-09-26 Wednesday 18:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* utils/timings.cc (1.11): Cater for systems with no clocks.
+
+2007-09-26 Wednesday 18:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.285): Added checks for the `timeval' type and for
+	  the `getrusage' function.
+
+2007-09-26 Wednesday 13:44  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.75): If the problem is
+	  optimizable, then the output of the problem state is subsumed by
+	  the output of the optimum value; hence, do output the problem
+	  state only if verbosity == 1.
+
+2007-09-26 Wednesday 13:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.74): A couple of minor corrections
+	  in the usage string.	Option --version replaced by option
+	  --verbosity=LEVEL, taking as argument an integer between 0 and 4
+	  (default 3). The verbosity level is systematically checked before
+	  producing output (except for error messages).
+
+2007-09-26 Wednesday 13:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/Makefile.am (1.41): Cleanup should not depend on
+	  configuration.
+
+2007-09-25 Tuesday 19:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/MIP_Problem/: Makefile.am (1.9), bug1.cc (1.2), bug2.cc
+	  (1.2), mipproblem2.cc (1.5): Tests bug1.cc and bug2.cc were not
+	  showing real bugs.  Test test01 in miproblem2.cc may also fail
+	  with 8bit integer coefficient and assertions disabled.
+
+2007-09-24 Monday 12:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/Makefile.am (1.54): The special expected_*
+	  files for XSB has been removed, so they are no longer
+	  distributed. Also cut away the corresponding FIXME comment.
+
+2007-09-23 Sunday 19:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: XSB/expected_clpq2_int16 (1.4),
+	  XSB/expected_clpq2_int16_a (1.4), XSB/expected_clpq2_int32 (1.4),
+	  XSB/expected_clpq2_int32_a (1.6), XSB/expected_clpq2_int64 (1.4),
+	  XSB/expected_clpq2_int64_a (1.4), XSB/expected_clpq2_int8 (1.5),
+	  XSB/expected_clpq2_int8_a (1.6), XSB/expected_clpq2_mpz (1.4),
+	  XSB/expected_clpq2_mpz_a (1.4), XSB/expected_clpq_int16 (1.6),
+	  XSB/expected_clpq_int16_a (1.6), XSB/expected_clpq_int32 (1.4),
+	  XSB/expected_clpq_int32_a (1.4), XSB/expected_clpq_int64 (1.4),
+	  XSB/expected_clpq_int64_a (1.4), XSB/expected_clpq_int8 (1.4),
+	  XSB/expected_clpq_int8_a (1.4), XSB/expected_clpq_mpz (1.4),
+	  XSB/expected_clpq_mpz_a (1.4), XSB/expected_pchk_int16 (1.5),
+	  XSB/expected_pchk_int16_a (1.5), XSB/expected_pchk_int32 (1.5),
+	  XSB/expected_pchk_int32_a (1.5), XSB/expected_pchk_int64 (1.2),
+	  XSB/expected_pchk_int64_a (1.4), XSB/expected_pchk_int8 (1.5),
+	  XSB/expected_pchk_int8_a (1.6), XSB/expected_pchk_mpz (1.2),
+	  XSB/expected_pchk_mpz_a (1.2), tests/clpq2.pl (1.12): Applied the
+	  workaround suggested by Paul Broome to the XSB bug described in
+	  http://www.cs.unipr.it/pipermail/ppl-devel/2007-September/011126.html.
+	  The special expect-files for XSB are no longer needed.
+
+2007-09-23 Sunday 14:20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c_version.h.in (1.6): The typedef defined in
+	  this file are now added to the documentation group related to
+	  version checking. (As a side effect, by no longer using \file, we
+	  also avoid a couple of dangling references in the produced docs.)
+
+2007-09-22 Saturday 19:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/Makefile.am (1.53): Apparently, XSB now
+	  implements more of the ISO standard.	This could make the
+	  XSB-specific expect-file useless: they are now still present but
+	  disabled.
+
+2007-09-22 Saturday 09:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/mipproblem2.cc (1.4): Use DO_TEST_F8A to invoke
+	  test01().
+
+2007-09-20 Thursday 21:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/mipproblem3.cc (1.3): Expected results for
+	  test10() fixed.
+
+2007-09-20 Thursday 18:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/mipproblem3.cc (1.2): Wrap big integer
+	  constants within Coefficient("...").
+
+2007-09-20 Thursday 07:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/Makefile.am (1.10): File ex11.mps has
+	  gone.
+
+2007-09-19 Wednesday 22:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/Makefile.am (1.40),
+	  demos/ppl_lpsol/examples/ex11.mps (1.4),
+	  tests/MIP_Problem/Makefile.am (1.8),
+	  tests/MIP_Problem/mipproblem1.cc (1.11),
+	  tests/MIP_Problem/mipproblem3.cc (1.1): Test program
+	  mipproblem3.cc forked off mipproblem1.cc.  Example MIP problem
+	  ex11.mps removed and used to write test10() of mipproblem3.cc.
+
+2007-09-19 Wednesday 10:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.50): XSB does not throw
+	  catchable exceptions for integers out of range; so call to
+	  exception_sys_prolog is not made when testing XSB.
+
+2007-09-18 Tuesday 15:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/OR_Matrix.inlines.hh (1.9): Exploit assign_or_swap in the
+	  implementation of grow.  Avoid useless copies/swaps (via grow) in
+	  the implementation of resize_no_copy.
+
+2007-09-18 Tuesday 15:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/OR_Matrix.defs.hh (1.11): Corrected detailed documentation
+	  for resize_no_copy: it was promising to preserve the old contents
+	  of the matrix.
+
+2007-09-18 Tuesday 15:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.templates.hh (1.86), Octagonal_Shape.templates.hh
+	  (1.60): Exploit assign_or_swap in the implementation of
+	  remove_space_dimensions and map_space_dimensions.
+
+2007-09-18 Tuesday 15:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/DB_Matrix.templates.hh (1.7): Added a couple of FIXME's for
+	  places where (sometimes) we could replace expensive copies with
+	  cheaper swaps.
+
+2007-09-18 Tuesday 09:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh (1.59): Removed a few useless
+	  initializations.  Prefer neg_assign(x, y) to x = -y; prefer
+	  neg_assign(x) to beg_assign(x, x).  Move allocation of
+	  temporaries out of loop bodies; reduce the number of temporaries
+	  when the change does not affect code readability.
+
+2007-09-18 Tuesday 08:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh (1.85): Added a comment in a few places
+	  where we use a temporary named `coeff_i' to actually store the
+	  negation of coeff_i (so as to avoid an allocation).
+
+2007-09-17 Monday 11:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh (1.84): For readability, prefer
+	  neg_assign(x) to neg_assign(x, x).
+
+2007-09-17 Monday 10:03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/MIP_Problem/Makefile.am (1.7): Typo corrected.
+
+2007-09-16 Sunday 20:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/: Makefile.am (1.6), bug1.cc (1.1), bug2.cc
+	  (1.1): Two programs exhibiting strange behavior on some systems.
+
+2007-09-16 Sunday 18:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: randphull1.cc (1.13), smm1.cc (1.10): Minor
+	  stylistic changes.
+
+2007-09-15 Saturday 19:04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/:
+	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.28), Java/jni/ppl_java_common.cc (1.35),
+	  Java/jni/ppl_java_common.hh (1.29), Java/jni/ppl_java_globals.cc
+	  (1.7), OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.14),
+	  OCaml/ppl_ocaml_globals.cc (1.11),
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.48),
+	  Prolog/ppl_prolog_common.icc (1.9): Prefer TEMP_INTEGER to
+	  Coefficient when allocating temporary coefficients.
+
+2007-09-15 Saturday 18:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* Watchdog/src/Makefile.am (1.12): Made clean up independent from
+	  configuration.
+
+2007-09-15 Saturday 16:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.templates.hh (1.15): Definition of temporary
+	  coefficients moved out of loop.
+
+2007-09-15 Saturday 16:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/MIP_Problem.cc (1.63): Indentation fixed.  Definition of
+	  temporaries factored out of loop.
+
+2007-09-15 Saturday 15:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh (1.83): Temporary definition factored
+	  out of a loop body.
+
+2007-09-15 Saturday 15:37  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh (1.82): Try to improve the management
+	  of temporary coefficients:   - prefer neg_assign(x, x) to x = -x;
+	  - avoid useless temporaries;   - factor out common temporary
+	  definitions; in particular, speculatively	move temporary
+	  definitions out of loop bodies.
+
+2007-09-15 Saturday 15:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Ask_Tell.inlines.hh (1.17), Octagonal_Shape.templates.hh
+	  (1.58): Added a couple of missing spaces.
+
+2007-09-15 Saturday 15:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/MIP_Problem.cc (1.62): Added a missing space.
+
+2007-09-15 Saturday 13:38  Andrea Cimino
+
+	* src/MIP_Problem.cc (1.61): FIXME dealt with. A feasible point is
+	  returned correctly if the status of the problem is
+	  `UNBOUNDED_MIP_PROBLEM'. When the status `UNBOUNDED_MIP_PROBLEM'
+	  is detected in `solve_mip', a feasible point is set.
+
+2007-09-15 Saturday 13:19  Andrea Cimino
+
+	* src/MIP_Problem.cc (1.60): Comment fixed.
+
+2007-09-14 Friday 22:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.111): Test randphull2 is no
+	  longer built.
+
+2007-09-14 Friday 22:18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Ask_Tell/Makefile.am (1.4), Grid/Makefile.am (1.49),
+	  MIP_Problem/Makefile.am (1.5): Removed old style handling of
+	  tests that are known to fail on some configurations.
+
+2007-09-14 Friday 21:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_public.cc (1.54): FIXME resolved.
+
+2007-09-14 Friday 18:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.110), randphull1.cc (1.12),
+	  randphull2.cc (1.11), smm1.cc (1.9): Tests randphull[12] and smm1
+	  now conforms to the STANDARDS for test programs; randphull2
+	  merged into randphull1; the old machinery in Makefile.am for
+	  tests failing with bounded coefficients is no longer needed.
+
+2007-09-14 Friday 16:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/: Ciao/Makefile.am (1.65), GNU/Makefile.am
+	  (1.65), SICStus/Makefile.am (1.76), SWI/Makefile.am (1.74),
+	  XSB/Makefile.am (1.52), YAP/Makefile.am (1.54): Cleanup made
+	  independent from the configuration chosen by the user.
+
+2007-09-14 Friday 15:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/tests/Makefile.am (1.16): Build source file
+	  ppl_predicate_check.pl is only required when the user asks for
+	  some Prolog interface.
+
+2007-09-14 Friday 15:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/Makefile.am (1.42): Built source file
+	  ppl_prolog.icc is only required when the user asks for some
+	  Prolog interface.
+
+2007-09-14 Friday 15:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/: Java/Makefile.am (1.13), Java/tests/Makefile.am
+	  (1.16), OCaml/Makefile.am (1.33): Distribution and cleanup made
+	  independent from the configuration chosen by the user.
+
+2007-09-14 Friday 15:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/Makefile.am (1.36): Cleanup should be independent
+	  from the configuration chosen by the user.
+
+2007-09-14 Friday 15:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/: Makefile.am (1.44), bug1.cc (1.2), bug2.cc (1.2): The
+	  bug exhibited by bug1.cc and bug2.cc has been fixed.
+
+2007-09-14 Friday 10:10  Abramo Bagnara
+
+	* src/checked_float.inlines.hh (1.80): Fixed float rounding on
+	  inexact conversion.
+
+2007-09-14 Friday 09:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/Makefile.am (1.43): Restore refine[12].cc.
+
+2007-09-14 Friday 08:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/mipproblem1.cc (1.10): Wrap big integer
+	  constants within Coefficient("...").
+
+2007-09-14 Friday 08:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/MIP_Problem/mipproblem1.cc (1.9): test18 fails with all
+	  bounded integer coefficient types; test19 fails if less than 64
+	  bit coefficients are used.
+
+2007-09-13 Thursday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/Makefile.am (1.42): Temporarily disable also
+	  refine2.cc.
+
+2007-09-13 Thursday 22:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/mipproblem1.cc (1.8): Added test18() and
+	  test19().
+
+2007-09-13 Thursday 21:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/mipproblem1.cc (1.7): Always test the return
+	  value of MIP_Problem::solve().  Added test17().
+
+2007-09-13 Thursday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/mipproblem1.cc (1.6): Added test15() and
+	  test16().
+
+2007-09-13 Thursday 20:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Interval.defs.hh (1.47), Interval.templates.hh (1.1),
+	  Makefile.am (1.173): Interval.templates.hh should contain the
+	  non-inline template functions of the Interval class
+	  implementation.
+
+2007-09-13 Thursday 20:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/Makefile.am (1.41): Do not test with bug*.cc.
+
+2007-09-13 Thursday 19:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.209), debian/libppl-pwl.copyright.in (1.5),
+	  debian/libppl.copyright.in (1.5), doc/definitions.dox (1.204),
+	  doc/devref-c-interface.tex (1.2), doc/devref.tex (1.23),
+	  doc/gpl.dox (1.8), doc/gpl.tex (1.4), doc/gpl.txt (1.4),
+	  doc/user-c-interface.tex (1.2), doc/user-prolog-interface.tex
+	  (1.2), doc/user.tex (1.24), m4/ac_cxx_proper_long_double.m4
+	  (1.2): The Parma Polyhedra Library is now released under the
+	  terms of the version 3 (or later) of the GNU General Public
+	  License.
+
+2007-09-13 Thursday 19:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: NEWS (1.10), doc/devref.tex (1.3), doc/gpl.dox (1.2),
+	  doc/gpl.tex (1.2), doc/gpl.txt (1.2), doc/user.tex (1.3): The
+	  Parma Watchdog Library is now released under the terms of the
+	  version 3 (or later) of the GNU General Public License.
+
+2007-09-13 Thursday 19:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/gpl.dox (simplex.1): file gpl.dox was added on
+	  branch simplex on 2008-01-07 11:15:25 +0000
+
+2007-09-13 Thursday 19:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/gpl.tex (simplex.1): file gpl.tex was added on
+	  branch simplex on 2008-01-07 11:15:25 +0000
+
+2007-09-13 Thursday 19:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/gpl.txt (simplex.1): file gpl.txt was added on
+	  branch simplex on 2008-01-07 11:15:25 +0000
+
+2007-09-13 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.cc (1.59): Comment fixed.
+
+2007-09-13 Thursday 18:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/.cvsignore (1.1): Put under CVS control.
+
+2007-09-13 Thursday 18:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/.cvsignore (simplex.1): file .cvsignore was added on
+	  branch simplex on 2008-01-07 11:15:27 +0000
+
+2007-09-13 Thursday 17:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/Makefile.am (1.40): Temporarily disable the tests that
+	  are known to fail.
+
+2007-09-13 Thursday 17:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/expected_mpz (1.13), src/MIP_Problem.cc (1.58):
+	  FIXME resolved.  This also makes the PPL independent from the bug
+	  of mpq_get_d() in GMP 4.1.4.
+
+2007-09-13 Thursday 16:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_chdims.cc (1.20): Definition of unused macro removed.
+
+2007-09-13 Thursday 16:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Grid_chdims.cc (1.19), Grid_conversion.cc (1.22),
+	  Grid_simplify.cc (1.35): Pointless inline directives removed.
+
+2007-09-13 Thursday 16:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Grid.defs.hh (1.51), Grid_nonpublic.cc (1.27): The second
+	  argument of Grid::max_min() was erroneously `char *': it is
+	  `const char*' now.
+
+2007-09-13 Thursday 15:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.cc (1.57): Simplified the implementation of the
+	  steepest-edge heuristics.
+
+2007-09-13 Thursday 15:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.228): The handling of temporary coefficients has been
+	  redone and the C and Prolog cover all the supported domains.
+
+2007-09-12 Wednesday 21:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/: Makefile.am (1.39), bug2.cc (1.1): A simplified
+	  version of bug1.cc.
+
+2007-09-12 Wednesday 17:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/: Makefile.am (1.38), bug1.cc (1.1): Test program
+	  exhibiting a bug somewhere.
+
+2007-09-12 Wednesday 09:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.284), Watchdog/configure.ac (1.42): Do not allow
+	  AC_PROG_CC and AC_PROG_CXX to affect CFLAGS and CXXFLAGS.
+
+2007-09-12 Wednesday 00:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.templates.hh (1.81), MIP_Problem.cc (1.56),
+	  Octagonal_Shape.templates.hh (1.57): Several temporary
+	  Coefficient variables are now allocated via TEMP_INTEGER.
+
+2007-09-11 Tuesday 23:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/globals.cc (1.31): Typo fixed.
+
+2007-09-11 Tuesday 23:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.templates.hh (1.80), Box.inlines.hh (1.20),
+	  Box.templates.hh (1.63), Interval_Restriction.defs.hh (1.8),
+	  MIP_Problem.cc (1.55), Octagonal_Shape.templates.hh (1.56),
+	  Polyhedron_nonpublic.cc (1.80), Polyhedron_public.cc (1.95),
+	  checked.inlines.hh (1.39), checked_int.inlines.hh (1.63),
+	  checked_mpz.inlines.hh (1.48), globals.cc (1.30),
+	  globals.inlines.hh (1.19): For temporaries of type mpz_class or
+	  mpq_class, use DIRTY_TEMP0 instead of local variables.
+
+2007-09-11 Tuesday 20:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.templates.hh (1.79), Octagonal_Shape.templates.hh
+	  (1.55): Useless initializations removed.  For temporaries, use
+	  DIRTY_TEMP instead of local variables.  Code formatting fixes.
+
+2007-09-11 Tuesday 19:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Octagonal_Shape.inlines.hh (1.19),
+	  Octagonal_Shape.templates.hh (1.54): For temporaries, use
+	  DIRTY_TEMP instead of local variables.
+
+2007-09-11 Tuesday 19:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Grid_Generator_System.defs.hh (1.26),
+	  Grid_Generator_System.inlines.hh (1.15): Method
+	  is_equal_to(Grid_Generator_System) replaced by is_equal_to(const
+	  Grid_Generator_System&).
+
+2007-09-11 Tuesday 19:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Any_Pointset.defs.hh (1.14), BD_Shape.defs.hh (1.102),
+	  Box.defs.hh (1.28), Checked_Number.defs.hh (1.94),
+	  Congruence_System.defs.hh (1.22), DB_Matrix.defs.hh (1.29),
+	  Direct_Product.defs.hh (1.36), Grid.defs.hh (1.50),
+	  Grid_Generator_System.defs.hh (1.25), MIP_Problem.defs.hh (1.36),
+	  OR_Matrix.defs.hh (1.10), Octagonal_Shape.defs.hh (1.31),
+	  Polyhedron.defs.hh (1.319): Useless const qualifications removed.
+
+2007-09-11 Tuesday 18:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Octagonal_Shape.defs.hh (1.30), Octagonal_Shape.inlines.hh
+	  (1.18): Method add_octagonal_constraint(dimension_type,
+	  dimension_type j, N) replaced by
+	  add_octagonal_constraint(dimension_type, dimension_type j, const
+	  N&).
+
+2007-09-11 Tuesday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.101), BD_Shape.inlines.hh (1.146):
+	  Method add_dbm_constraint(dimension_type, dimension_type, N)
+	  replaced by add_dbm_constraint(dimension_type, dimension_type,
+	  const N&).
+
+2007-09-11 Tuesday 18:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.inlines.hh (1.145), BD_Shape.templates.hh (1.78):
+	  For temporaries, use DIRTY_TEMP instead of local variables.
+
+2007-09-11 Tuesday 15:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/globals.defs.hh (1.50): Comment revised and turned into a
+	  Doxygen comment.
+
+2007-09-11 Tuesday 14:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Temp.defs.hh (1.7), Temp.inlines.hh (1.2),
+	  Temp.templates.hh (1.2): Comments added.
+
+2007-09-11 Tuesday 14:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.172): New files added to INCLUDE_FILES.
+
+2007-09-11 Tuesday 13:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: globals.cc (1.29), globals.defs.hh (1.49): Switch to the
+	  new technology for the handling of temporaries.
+
+2007-09-11 Tuesday 13:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Temp.defs.hh (1.6), Temp.inlines.hh (1.1),
+	  Temp.templates.hh (1.1): Started the reorganization of the Temp_*
+	  classes.
+
+2007-09-11 Tuesday 11:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.defs.hh (1.93): Include Slow_Copy.hh.
+
+2007-09-11 Tuesday 11:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: checked_mpq.inlines.hh (1.43), checked_mpz.inlines.hh
+	  (1.47): Leave the definition of Slow_Copy for the basic types to
+	  Slow_Copy.hh.
+
+2007-09-11 Tuesday 11:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Interval.defs.hh (1.46), Interval_Restriction.defs.hh
+	  (1.7): Include the new files.
+
+2007-09-11 Tuesday 11:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/assign_or_swap.hh (1.1): The assign_or_swap() utility
+	  functions.
+
+2007-09-11 Tuesday 11:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Has_Assign_Or_Swap.hh (1.2): Spurious code removed.
+
+2007-09-11 Tuesday 10:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Has_Assign_Or_Swap.hh (1.1): Has_Assign_Or_Swap classes
+	  declarations.
+
+2007-09-11 Tuesday 10:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Slow_Copy.hh (1.2): Multiple-inclusion guards renamed.
+
+2007-09-11 Tuesday 10:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Slow_Copy.hh (1.1): Basic Slow_Copy classes declarations.
+
+2007-09-10 Monday 21:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.73): Use va_start() and va_end()
+	  properly around calls to vfprintf().
+
+2007-09-10 Monday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.283): With GCC, use -frounding-math to disable
+	  transformations and optimizations that assume default floating
+	  point rounding behavior.
+
+2007-09-10 Monday 15:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/configure.ac (1.41): Added a comment about the
+	  positioning of  AC_PROG_CC and AC_PROG_CXX.
+
+2007-09-10 Monday 15:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.282): Useless quotes removed.
+
+2007-09-10 Monday 11:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.281), Watchdog/configure.ac (1.40): Pass the
+	  no-define option to AM_INIT_AUTOMAKE.
+
+2007-09-10 Monday 10:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* compile (1.7), config.guess (1.39), config.sub (1.37), depcomp
+	  (1.12), install-sh (1.18), Watchdog/compile (1.7),
+	  Watchdog/config.guess (1.23), Watchdog/config.sub (1.22):
+	  Updated.
+
+2007-09-10 Monday 09:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.280), Watchdog/configure.ac (1.39): Corrections
+	  to the handling of compilation flags.
+
+2007-09-06 Thursday 15:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/expected_mpz_a (1.12): Updated to reflect changes
+	  in the ordering of the input (caused by upgrade of glpk).
+
+2007-09-06 Thursday 15:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/expected_mpz (1.12): Updated: sometimes the
+	  location of the optimum changes (the optimum staying teh same)
+	  due to the upgrade of glpk, which is used by ppl_lpsol to read in
+	  the lp problems and sometimes reorders the input wrt previous
+	  versions.
+
+2007-09-02 Sunday 17:18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/Makefile.am (1.35): Header files ppl_c.h and
+	  ppl_c_version.h should be installed, but they should not be
+	  distributed (since they are generated on-demand): list them in
+	  variable nodist_include_HEADERS, instead of include_HEADERS.
+
+2007-09-01 Saturday 16:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Congruence_System.defs.hh (1.21),
+	  Grid_Generator_System.defs.hh (1.24), Matrix.defs.hh (1.83): In
+	  the Doxygen documentation, don't use \atop and \choose, which
+	  cause problems. Use \genfrac instead.
+
+2007-09-01 Saturday 13:06  Andrea Cimino
+
+	* configure.ac (1.279): The Java interface was unconditionally
+	  built even if not requested by the user with the
+	  `--enable-interface' option: fixed.
+
+2007-09-01 Saturday 10:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/Makefile.am (1.73): When compiling
+	  pl_clpq*, fixed paths for finding pl_clpq*.pl.  (temporary patch;
+	  provide the right path option to the compilation command).
+
+2007-08-31 Friday 16:29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.160): Using new doxygen
+	  alias \extref for references to the main manual.
+
+2007-08-31 Friday 16:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref-prolog-interface.doxyconf-html.in (1.4),
+	  devref-prolog-interface.doxyconf-latex.in (1.4),
+	  user-prolog-interface.doxyconf-html.in (1.5),
+	  user-prolog-interface.doxyconf-latex.in (1.5): Added command
+	  alias \extref.
+
+2007-08-31 Friday 16:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref-prolog-interface.doxyconf-html.in (simplex.1): file
+	  devref-prolog-interface.doxyconf-html.in was added on branch
+	  simplex on 2008-01-07 11:15:27 +0000
+
+2007-08-31 Friday 16:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref-prolog-interface.doxyconf-latex.in (simplex.1): file
+	  devref-prolog-interface.doxyconf-latex.in was added on branch
+	  simplex on 2008-01-07 11:15:27 +0000
+
+2007-08-31 Friday 16:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user-prolog-interface.doxyconf-html.in (simplex.1): file
+	  user-prolog-interface.doxyconf-html.in was added on branch
+	  simplex on 2008-01-07 11:15:27 +0000
+
+2007-08-31 Friday 16:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user-prolog-interface.doxyconf-latex.in (simplex.1): file
+	  user-prolog-interface.doxyconf-latex.in was added on branch
+	  simplex on 2008-01-07 11:15:27 +0000
+
+2007-08-31 Friday 15:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.227): Spurious characters removed.
+
+2007-08-31 Friday 15:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* fedora/ppl.spec (1.2): New packages `ppl-ocaml' and
+	  `ppl-ocaml-devel' contain the OCaml interface.
+
+2007-08-31 Friday 14:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.278), demos/ppl_lpsol/ppl_lpsol.c (1.72): Should
+	  support all versions of GLPK now.  Diagnostics of ppl_lpsol
+	  improved.
+
+2007-08-31 Friday 12:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am (1.55): Remove spurious line continuation
+	  character that was preventing distribution of the core PS
+	  manuals.
+
+2007-08-31 Friday 11:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/README.ocaml (simplex.1): file README.ocaml was
+	  added on branch simplex on 2008-01-07 11:15:29 +0000
+
+2007-08-31 Friday 11:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.226), interfaces/OCaml/README.ocaml (1.1): New file
+	  README.ocaml, still to be written properly.
+
+2007-08-31 Friday 10:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/Makefile.am (1.72): Dependencies fixed.
+
+2007-08-31 Friday 10:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.277), demos/ppl_lpsol/ppl_lpsol.c (1.71): Support
+	  GLPK versions up to 4.15, both installed from a source package or
+	  from Fedora RPM packages.
+
+2007-08-31 Friday 08:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Makefile.am (1.27): Directory interfaces has to be
+	  processed before its subdirs.
+
+2007-08-30 Thursday 19:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.42), configure.ac (1.276), ppl.spec.in (1.31),
+	  fedora/Makefile.am (1.1), fedora/ppl.spec (1.1): New placement
+	  for the Fedora PPL spec file.  It did not make much sense to have
+	  the PPL version number be filled in automatically.
+
+2007-08-30 Thursday 19:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/Makefile.am (1.54): Install (and uninstall) also the TODO
+	  file.
+
+2007-08-30 Thursday 18:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/Makefile.am (1.51): Always use the -fPIC
+	  option when compiling the C/C++ foreign modules.
+
+2007-08-30 Thursday 18:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/Makefile.am (1.53): Distribute README.yap.
+
+2007-08-30 Thursday 18:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/Makefile.am (1.71): Distribute
+	  README.swiprolog.
+
+2007-08-30 Thursday 18:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/Makefile.am (1.64): Distribute
+	  README.gprolog.
+
+2007-08-30 Thursday 18:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/README (1.3): Obsolete file removed.
+
+2007-08-30 Thursday 15:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/C_interface.dox (1.2): Made consistent with respect
+	  to the currently generated C interface.  Using new Doxygen alias
+	  \extref when referring to the main manual.
+
+2007-08-30 Thursday 15:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref-c-interface.doxyconf-html.in (1.5),
+	  devref-c-interface.doxyconf-latex.in (1.5),
+	  devref-c-interface.tex (1.1), user-c-interface.doxyconf-html.in
+	  (1.6), user-c-interface.doxyconf-latex.in (1.6): Added main title
+	  page for the LaTeX version of the C interface devref.  Added
+	  Doxygen alias \extref for references to external documentation:
+	  it behaves as \ref for the HTML documentation (exploiting TAG
+	  files), it simply prints the second argument for the LaTeX
+	  documentation (since these seems not to be able to exploit TAG
+	  files). By using \extref we should be able to avoid dozens of
+	  annoying Doxygen warnings when producing the manuals for foreign
+	  language interfaces.
+
+2007-08-30 Thursday 15:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref-c-interface.doxyconf-html.in (simplex.1): file
+	  devref-c-interface.doxyconf-html.in was added on branch simplex
+	  on 2008-01-07 11:15:27 +0000
+
+2007-08-30 Thursday 15:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref-c-interface.doxyconf-latex.in (simplex.1): file
+	  devref-c-interface.doxyconf-latex.in was added on branch simplex
+	  on 2008-01-07 11:15:27 +0000
+
+2007-08-30 Thursday 15:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user-c-interface.doxyconf-html.in (simplex.1): file
+	  user-c-interface.doxyconf-html.in was added on branch simplex on
+	  2008-01-07 11:15:27 +0000
+
+2007-08-30 Thursday 15:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user-c-interface.doxyconf-latex.in (simplex.1): file
+	  user-c-interface.doxyconf-latex.in was added on branch simplex on
+	  2008-01-07 11:15:27 +0000
+
+2007-08-30 Thursday 12:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: user-prolog-interface.doxyconf-html.in (1.4),
+	  user-prolog-interface.doxyconf-latex.in (1.4): Updated to Doxygen
+	  1.5.3.  Use user-prolog-interface.tex for the LaTeX version.
+
+2007-08-30 Thursday 12:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/user-prolog-interface.tex (1.1): Put under CVS control.
+
+2007-08-30 Thursday 12:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref-c-interface.doxyconf-html.in (1.4),
+	  devref-c-interface.doxyconf-latex.in (1.4),
+	  user-c-interface.doxyconf-html.in (1.5),
+	  user-c-interface.doxyconf-latex.in (1.5): Added C_interface.dox
+	  to the documentation INPUT files.
+
+2007-08-30 Thursday 11:56  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am (1.53): C interface docs depends on
+	  interfaces/C/C_interface.dox.
+
+2007-08-30 Thursday 11:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/C_interface.dox (1.1): Recovered documentation for
+	  the C interface types and functions related to convex polyhedra.
+	  This file will not be compiled (since the functions will be
+	  automatically generated), it just serve as a template
+	  documentation for all kind of domains. To be checked for
+	  completeness wrt the actually generated code.
+
+2007-08-28 Tuesday 15:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/: Makefile.am (1.28), ppl_c.m4 (1.1): Initial implementation
+	  of the new function AM_PATH_PPL_C to to test for the existence
+	  and usability of particular versions of the C interface of the
+	  PPL, defining macros containing the required paths.
+
+2007-08-28 Tuesday 15:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ppl.m4 (1.8): Several bugs fixed.
+
+2007-08-28 Tuesday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.275): Version number bumped.
+
+2007-08-27 Monday 20:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ppl.m4 (1.7): Trailing whitespace removed.
+
+2007-08-27 Monday 20:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/Makefile.am (1.34): Install also ppl_c.h.
+
+2007-08-27 Monday 15:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/: user.doxyconf-html.in (1.2),
+	  user.doxyconf-latex.in (1.2): Updated to Doxygen 1.5.3-20070815.
+
+2007-08-27 Monday 15:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/user.doxyconf-html.in (simplex.1): file
+	  user.doxyconf-html.in was added on branch simplex on 2008-01-07
+	  11:15:25 +0000
+
+2007-08-27 Monday 15:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/user.doxyconf-latex.in (simplex.1): file
+	  user.doxyconf-latex.in was added on branch simplex on 2008-01-07
+	  11:15:25 +0000
+
+2007-08-26 Sunday 17:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.225): Noted that it would be nice to have an
+	  implementation of Minkowski addition.
+
+2007-08-26 Sunday 17:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.224): Added a note about the work of Kent Andersen and
+	  Gerard Cornuejols.
+
+2007-08-03 Friday 15:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.203): Avoid duplicated section label.
+
+2007-08-02 Thursday 13:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: user-c-interface.doxyconf-html.in (1.4),
+	  user-c-interface.doxyconf-latex.in (1.4), user-c-interface.tex
+	  (1.1): Upgraded to doxygen version 1.5.3.  Changed LATEX_HEADER
+	  so as to be specific for the C interface.
+
+2007-08-02 Thursday 13:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.17): Do
+	  initialize a local Boolean variable passed by reference, so as to
+	  avoid 4 annoying warnings.
+
+2007-08-02 Thursday 12:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/meta_programming.hh (1.8): Do hide documentation of inner
+	  class Is_Same_Or_Derived::Any.
+
+2007-08-02 Thursday 09:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref.doxyconf-html.in (1.84), devref.doxyconf-latex.in
+	  (1.23): Upgraded to doxygen version 1.5.3.  Added
+	  Interval_Restriction.defs.hh and Interval_Info.* to INPUT.
+
+2007-08-02 Thursday 09:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: user.doxyconf-html.in (1.41), user.doxyconf-latex.in
+	  (1.12): Upgraded to doxygen version 1.5.3.
+
+2007-08-02 Thursday 09:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/meta_programming.hh (1.7): Added \ingroup doxygen command to
+	  several class definitions.
+
+2007-08-02 Thursday 09:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Checked_Number.defs.hh (1.92), Checked_Number.inlines.hh
+	  (1.76): Minor formatting improvements, as well as the addition of
+	  some doxygen commands.
+
+2007-08-02 Thursday 09:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Interval_Info.inlines.hh (1.5): Fixed a couple of \relates
+	  commands.
+
+2007-07-30 Monday 13:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Interval.defs.hh (1.45): Doxygen documentation should be
+	  associated to members' declarations, rather than members'
+	  implementation. Also removed a couple of inappropriate \relates
+	  commands (which should only be used for functions that are NOT
+	  members of a class).
+
+2007-07-30 Monday 13:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Pointset_Powerset.cc (1.14): Added a couple of missing
+	  \relates Doxygen commands.
+
+2007-07-30 Monday 13:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (1.62): Removed optional (and usually
+	  omitted) template instantiations, which were also causing a
+	  Doxygen warning.
+
+2007-07-30 Monday 13:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.inlines.hh (1.19): Removed optional (and usually omitted)
+	  template instantiation, which was also causing a Doxygen warning.
+
+2007-07-30 Monday 13:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref.doxyconf-html.in (1.83), devref.doxyconf-latex.in
+	  (1.22): Add meta_programming.hh to variable INPUT.
+
+2007-07-30 Monday 13:04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* Makefile.am (1.41), Watchdog/Makefile.am (1.32): Added a comment
+	  on the need to explicitly clean files generated by macro
+	  AX_PREFIX_CONFIG_H.
+
+2007-07-29 Sunday 16:58  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* Makefile.am (1.40), Watchdog/Makefile.am (1.31): The prefixed
+	  configuration header and _config.sed added to DESTCLEANFILES.
+
+2007-07-17 Tuesday 08:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.223): Remember to have a look at
+
+
+	  http://www.inf.ethz.ch/personal/gonnet/FPAccuracy/Analysis.html
+
+	  especially at the "Surprises" section, where it talks about
+	  rounding problems for division and multiplication on Pentium/AMD.
+
+2007-07-13 Friday 15:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am (1.52): The foreign language interface manuals in
+	  HTML format depend on the corresponding core manuals (due to the
+	  use of Doxygen generated tag files).
+
+2007-07-12 Thursday 09:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* COPYING (1.4), Makefile.am (1.39), README (1.51),
+	  README.configure (1.20), configure.ac (1.274), instchk.hh (1.9),
+	  Watchdog/COPYING (1.4), Watchdog/Makefile.am (1.30),
+	  Watchdog/README (1.16), Watchdog/configure.ac (1.38),
+	  Watchdog/doc/Makefile.am (1.3), Watchdog/doc/README.doc (1.2),
+	  Watchdog/doc/devref.tex (1.2), Watchdog/doc/pwl.sty (1.2),
+	  Watchdog/doc/user.tex (1.2), Watchdog/m4/Makefile.am (1.2),
+	  Watchdog/src/Doubly_Linked_Object.defs.hh (1.4),
+	  Watchdog/src/Doubly_Linked_Object.inlines.hh (1.4),
+	  Watchdog/src/EList.defs.hh (1.6), Watchdog/src/EList.inlines.hh
+	  (1.4), Watchdog/src/EList_Iterator.defs.hh (1.4),
+	  Watchdog/src/EList_Iterator.inlines.hh (1.4),
+	  Watchdog/src/Handler.defs.hh (1.5),
+	  Watchdog/src/Handler.inlines.hh (1.4), Watchdog/src/Makefile.am
+	  (1.11), Watchdog/src/Pending_Element.cc (1.5),
+	  Watchdog/src/Pending_Element.defs.hh (1.5),
+	  Watchdog/src/Pending_Element.inlines.hh (1.4),
+	  Watchdog/src/Pending_List.cc (1.5),
+	  Watchdog/src/Pending_List.defs.hh (1.5),
+	  Watchdog/src/Pending_List.inlines.hh (1.4), Watchdog/src/Time.cc
+	  (1.5), Watchdog/src/Time.defs.hh (1.5),
+	  Watchdog/src/Time.inlines.hh (1.4), Watchdog/src/Watchdog.cc
+	  (1.7), Watchdog/src/Watchdog.defs.hh (1.6),
+	  Watchdog/src/Watchdog.inlines.hh (1.4),
+	  Watchdog/src/pwl_header.hh (1.5), Watchdog/utils/Makefile.am
+	  (1.8), Watchdog/utils/build_header.in (1.5), debian/Makefile.am
+	  (1.4), demos/Makefile.am (1.11), demos/ppl_lcdd/Makefile.am
+	  (1.28), demos/ppl_lcdd/ppl_lcdd.cc (1.60),
+	  demos/ppl_lcdd/examples/Makefile.am (1.9),
+	  demos/ppl_lpsol/Makefile.am (1.39), demos/ppl_lpsol/ppl_lpsol.c
+	  (1.70), demos/ppl_lpsol/examples/Makefile.am (1.9),
+	  doc/Makefile.am (1.51), doc/README.doc (1.12), doc/devref.tex
+	  (1.22), doc/ppl.sty (1.27), doc/user.tex (1.23),
+	  interfaces/Makefile.am (1.26),
+	  interfaces/ppl_interface_generator_common.m4 (1.18),
+	  interfaces/ppl_interface_generator_common_dat.m4 (1.31),
+	  interfaces/ppl_interface_generator_copyright (1.4),
+	  interfaces/C/Makefile.am (1.33), interfaces/C/ppl_c.h.in (1.72),
+	  interfaces/C/ppl_c_version.h.in (1.5),
+	  interfaces/C/ppl_interface_generator_c_cc.m4 (1.8),
+	  interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.16),
+	  interfaces/C/ppl_interface_generator_c_cc_preamble (1.11),
+	  interfaces/C/ppl_interface_generator_c_dat.m4 (1.12),
+	  interfaces/C/ppl_interface_generator_c_h.m4 (1.12),
+	  interfaces/C/ppl_interface_generator_c_h_code.m4 (1.9),
+	  interfaces/C/ppl_interface_generator_c_h_preamble (1.8),
+	  interfaces/Java/Makefile.am (1.12),
+	  interfaces/Java/ppl_interface_generator_java_dat.m4 (1.8),
+	  interfaces/Java/jni/Makefile.am (1.14),
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4
+	  (1.9),
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.27), interfaces/Java/jni/ppl_java_common.cc (1.34),
+	  interfaces/Java/jni/ppl_java_common.hh (1.28),
+	  interfaces/Java/jni/ppl_java_globals.cc (1.6),
+	  interfaces/Java/tests/C_Polyhedron_test1.java (1.12),
+	  interfaces/Java/tests/Makefile.am (1.15),
+	  interfaces/Java/tests/Test_Partial_Function.java (1.3),
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java.m4
+	  (1.9),
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.17), interfaces/OCaml/Makefile.am (1.32),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_cc.m4 (1.4),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.13),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_dat.m4 (1.6),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4 (1.9),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.13),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4 (1.7),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.7),
+	  interfaces/OCaml/ppl_ocaml_globals.cc (1.10),
+	  interfaces/OCaml/ppl_ocaml_globals.ml (1.7),
+	  interfaces/OCaml/ppl_ocaml_types.ml (1.10),
+	  interfaces/OCaml/test1.ml (1.30), interfaces/Prolog/Makefile.am
+	  (1.41), interfaces/Prolog/Prolog_interface.dox (1.159),
+	  interfaces/Prolog/exceptions.hh (1.25),
+	  interfaces/Prolog/ppl_interface_generator_prolog_dat.m4 (1.34),
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc.m4 (1.11),
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (1.47),
+	  interfaces/Prolog/ppl_interface_generator_prolog_systems.m4
+	  (1.10), interfaces/Prolog/ppl_prolog_common.icc (1.8),
+	  interfaces/Prolog/track_allocation.hh (1.23),
+	  interfaces/Prolog/Ciao/Makefile.am (1.64),
+	  interfaces/Prolog/Ciao/ciao_cfli.hh (1.3),
+	  interfaces/Prolog/Ciao/ciao_clpq.pl (1.19),
+	  interfaces/Prolog/Ciao/ciao_clpq2.pl (1.15),
+	  interfaces/Prolog/Ciao/ciao_pl_check.pl (1.26),
+	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.50),
+	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4 (1.6),
+	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4
+	  (1.5), interfaces/Prolog/GNU/Makefile.am (1.63),
+	  interfaces/Prolog/GNU/gnu_pl_check.pl (1.11),
+	  interfaces/Prolog/GNU/gp_clpq.pl (1.12),
+	  interfaces/Prolog/GNU/gprolog_cfli.hh (1.3),
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.43),
+	  interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4
+	  (1.6), interfaces/Prolog/SICStus/Makefile.am (1.75),
+	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
+	  (1.9), interfaces/Prolog/SICStus/ppl_sicstus.pl (1.28),
+	  interfaces/Prolog/SICStus/sicstus_cfli.cc (1.8),
+	  interfaces/Prolog/SICStus/sicstus_cfli.h (1.10),
+	  interfaces/Prolog/SICStus/sicstus_cfli.ic (1.17),
+	  interfaces/Prolog/SICStus/sp_clpq.pl (1.16),
+	  interfaces/Prolog/SICStus/sp_pl_check.pl (1.10),
+	  interfaces/Prolog/SICStus/sp_predicate_check.pl (1.3),
+	  interfaces/Prolog/SWI/Makefile.am (1.70),
+	  interfaces/Prolog/SWI/pl_clpq.cc (1.12),
+	  interfaces/Prolog/SWI/pl_clpq.pl (1.11),
+	  interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
+	  (1.9), interfaces/Prolog/SWI/ppl_pl.cc (1.12),
+	  interfaces/Prolog/SWI/ppl_swiprolog.pl (1.8),
+	  interfaces/Prolog/SWI/swi_cfli.hh (1.5),
+	  interfaces/Prolog/SWI/swi_pl_check.pl (1.10),
+	  interfaces/Prolog/SWI/swi_predicate_check.pl (1.3),
+	  interfaces/Prolog/XSB/Makefile.am (1.50),
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4 (1.7),
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4 (1.8),
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_predicate_check_P.m4
+	  (1.5), interfaces/Prolog/XSB/xsb_cfli.hh (1.3),
+	  interfaces/Prolog/XSB/xsb_clpq.P (1.18),
+	  interfaces/Prolog/XSB/xsb_clpq2.P (1.16),
+	  interfaces/Prolog/XSB/xsb_pl_check.P (1.30),
+	  interfaces/Prolog/YAP/Makefile.am (1.52),
+	  interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4 (1.7),
+	  interfaces/Prolog/YAP/ppl_yap.pl (1.12),
+	  interfaces/Prolog/YAP/yap_cfli.hh (1.3),
+	  interfaces/Prolog/YAP/yap_clpq.pl (1.13),
+	  interfaces/Prolog/YAP/yap_clpq2.pl (1.9),
+	  interfaces/Prolog/YAP/yap_pl_check.pl (1.13),
+	  interfaces/Prolog/tests/Makefile.am (1.15),
+	  interfaces/Prolog/tests/clpq.pl (1.10),
+	  interfaces/Prolog/tests/clpq2.pl (1.11),
+	  interfaces/Prolog/tests/pl_check.pl (1.49),
+	  interfaces/Prolog/tests/pl_grid_check.pl (1.5),
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.50),
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
+	  (1.27), interfaces/Prolog/tests/ppl_predicate_check_common.pl
+	  (1.4), m4/Makefile.am (1.27), m4/ac_check_fpu_control.m4 (1.5),
+	  m4/ac_check_gmp.m4 (1.25), m4/ac_check_sicstus_prolog.m4 (1.6),
+	  m4/ac_check_swi_prolog.m4 (1.11), m4/ac_check_xsb_prolog.m4
+	  (1.4), m4/ac_cxx_attribute_weak.m4 (1.9),
+	  m4/ac_cxx_double_binary_format.m4 (1.6),
+	  m4/ac_cxx_flexible_arrays.m4 (1.14),
+	  m4/ac_cxx_float_binary_format.m4 (1.5),
+	  m4/ac_cxx_long_double_binary_format.m4 (1.6),
+	  m4/ac_cxx_remainder_bug.m4 (1.2), m4/ac_prog_javac.m4 (1.6),
+	  m4/ac_text_md5sum.m4 (1.3), m4/ppl.m4 (1.6),
+	  src/Any_Pointset.defs.hh (1.13), src/Any_Pointset.inlines.hh
+	  (1.3), src/Ask_Tell.defs.hh (1.17), src/Ask_Tell.inlines.hh
+	  (1.16), src/Ask_Tell.templates.hh (1.9), src/BDS_Status.idefs.hh
+	  (1.21), src/BDS_Status.inlines.hh (1.16), src/BD_Shape.cc (1.7),
+	  src/BD_Shape.defs.hh (1.100), src/BD_Shape.inlines.hh (1.144),
+	  src/BD_Shape.templates.hh (1.77), src/BHRZ03_Certificate.cc
+	  (1.13), src/BHRZ03_Certificate.defs.hh (1.18),
+	  src/BHRZ03_Certificate.inlines.hh (1.9), src/Bit_Matrix.cc (1.4),
+	  src/Bit_Matrix.defs.hh (1.4), src/Bit_Matrix.inlines.hh (1.3),
+	  src/Bit_Row.cc (1.4), src/Bit_Row.defs.hh (1.6),
+	  src/Bit_Row.inlines.hh (1.4), src/Boundary.defs.hh (1.8),
+	  src/Box.cc (1.7), src/Box.defs.hh (1.27), src/Box.inlines.hh
+	  (1.18), src/Box.templates.hh (1.61), src/C_Integer.hh (1.5),
+	  src/C_Polyhedron.cc (1.22), src/C_Polyhedron.defs.hh (1.48),
+	  src/C_Polyhedron.inlines.hh (1.36), src/Checked_Number.cc (1.13),
+	  src/Checked_Number.defs.hh (1.91), src/Checked_Number.inlines.hh
+	  (1.75), src/Coefficient.cc (1.7), src/Coefficient.defs.hh (1.9),
+	  src/Coefficient.inlines.hh (1.7), src/Congruence.cc (1.16),
+	  src/Congruence.defs.hh (1.20), src/Congruence.inlines.hh (1.16),
+	  src/Congruence_System.cc (1.25), src/Congruence_System.defs.hh
+	  (1.20), src/Congruence_System.inlines.hh (1.9), src/Constraint.cc
+	  (1.67), src/Constraint.defs.hh (1.125), src/Constraint.inlines.hh
+	  (1.67), src/Constraint_System.cc (1.24),
+	  src/Constraint_System.defs.hh (1.37),
+	  src/Constraint_System.inlines.hh (1.10), src/DB_Matrix.defs.hh
+	  (1.28), src/DB_Matrix.inlines.hh (1.33),
+	  src/DB_Matrix.templates.hh (1.6), src/DB_Row.defs.hh (1.24),
+	  src/DB_Row.inlines.hh (1.23), src/DB_Row.templates.hh (1.7),
+	  src/Determinate.defs.hh (1.67), src/Determinate.inlines.hh
+	  (1.57), src/Direct_Product.defs.hh (1.35),
+	  src/Direct_Product.inlines.hh (1.31),
+	  src/Direct_Product.templates.hh (1.22), src/Float.cc (1.7),
+	  src/Float.defs.hh (1.26), src/Float.inlines.hh (1.31),
+	  src/GMP_Integer.defs.hh (1.26), src/GMP_Integer.inlines.hh
+	  (1.21), src/Generator.cc (1.75), src/Generator.defs.hh (1.123),
+	  src/Generator.inlines.hh (1.61), src/Generator_System.cc (1.23),
+	  src/Generator_System.defs.hh (1.24),
+	  src/Generator_System.inlines.hh (1.9), src/Grid.defs.hh (1.49),
+	  src/Grid.inlines.hh (1.15), src/Grid.templates.hh (1.31),
+	  src/Grid_Certificate.cc (1.9), src/Grid_Certificate.defs.hh
+	  (1.6), src/Grid_Certificate.inlines.hh (1.4),
+	  src/Grid_Generator.cc (1.21), src/Grid_Generator.defs.hh (1.31),
+	  src/Grid_Generator.inlines.hh (1.14),
+	  src/Grid_Generator_System.cc (1.19),
+	  src/Grid_Generator_System.defs.hh (1.23),
+	  src/Grid_Generator_System.inlines.hh (1.14), src/Grid_Status.cc
+	  (1.8), src/Grid_Status.idefs.hh (1.7), src/Grid_Status.inlines.hh
+	  (1.4), src/Grid_chdims.cc (1.18), src/Grid_conversion.cc (1.21),
+	  src/Grid_nonpublic.cc (1.26), src/Grid_public.cc (1.53),
+	  src/Grid_simplify.cc (1.34), src/Grid_widenings.cc (1.16),
+	  src/H79_Certificate.cc (1.12), src/H79_Certificate.defs.hh
+	  (1.16), src/H79_Certificate.inlines.hh (1.10), src/Init.cc
+	  (1.31), src/Init.defs.hh (1.19), src/Interval.defs.hh (1.44),
+	  src/Interval.inlines.hh (1.27), src/Interval_Info.defs.hh (1.5),
+	  src/Interval_Info.inlines.hh (1.4),
+	  src/Interval_Restriction.defs.hh (1.6), src/Linear_Expression.cc
+	  (1.18), src/Linear_Expression.defs.hh (1.35),
+	  src/Linear_Expression.inlines.hh (1.11), src/Linear_Row.cc
+	  (1.23), src/Linear_Row.defs.hh (1.25), src/Linear_Row.inlines.hh
+	  (1.13), src/Linear_System.cc (1.44), src/Linear_System.defs.hh
+	  (1.32), src/Linear_System.inlines.hh (1.23), src/MIP_Problem.cc
+	  (1.54), src/MIP_Problem.defs.hh (1.35),
+	  src/MIP_Problem.inlines.hh (1.16), src/MIP_Problem.templates.hh
+	  (1.11), src/Makefile.am (1.171), src/Matrix.cc (1.97),
+	  src/Matrix.defs.hh (1.82), src/Matrix.inlines.hh (1.52),
+	  src/NNC_Polyhedron.cc (1.22), src/NNC_Polyhedron.defs.hh (1.50),
+	  src/NNC_Polyhedron.inlines.hh (1.37), src/Numeric_Format.defs.hh
+	  (1.7), src/OR_Matrix.defs.hh (1.9), src/OR_Matrix.inlines.hh
+	  (1.8), src/OR_Matrix.templates.hh (1.6), src/Octagonal_Shape.cc
+	  (1.6), src/Octagonal_Shape.defs.hh (1.29),
+	  src/Octagonal_Shape.inlines.hh (1.17),
+	  src/Octagonal_Shape.templates.hh (1.53), src/Og_Status.idefs.hh
+	  (1.7), src/Og_Status.inlines.hh (1.5), src/Ph_Status.cc (1.14),
+	  src/Ph_Status.idefs.hh (1.21), src/Ph_Status.inlines.hh (1.9),
+	  src/Pointset_Ask_Tell.cc (1.4), src/Pointset_Ask_Tell.defs.hh
+	  (1.11), src/Pointset_Ask_Tell.inlines.hh (1.5),
+	  src/Pointset_Ask_Tell.templates.hh (1.9),
+	  src/Pointset_Powerset.cc (1.13), src/Pointset_Powerset.defs.hh
+	  (1.18), src/Pointset_Powerset.inlines.hh (1.8),
+	  src/Pointset_Powerset.templates.hh (1.14),
+	  src/Poly_Con_Relation.cc (1.16), src/Poly_Con_Relation.defs.hh
+	  (1.34), src/Poly_Con_Relation.inlines.hh (1.16),
+	  src/Poly_Gen_Relation.cc (1.16), src/Poly_Gen_Relation.defs.hh
+	  (1.32), src/Poly_Gen_Relation.inlines.hh (1.16),
+	  src/Polyhedron.defs.hh (1.318), src/Polyhedron.inlines.hh
+	  (1.141), src/Polyhedron.templates.hh (1.14),
+	  src/Polyhedron_chdims.cc (1.44), src/Polyhedron_nonpublic.cc
+	  (1.79), src/Polyhedron_public.cc (1.94),
+	  src/Polyhedron_widenings.cc (1.63), src/Powerset.defs.hh (1.30),
+	  src/Powerset.inlines.hh (1.20), src/Powerset.templates.hh (1.5),
+	  src/Ptr_Iterator.defs.hh (1.10), src/Ptr_Iterator.inlines.hh
+	  (1.8), src/Rational_Box.hh (1.6), src/Result.defs.hh (1.19),
+	  src/Result.inlines.hh (1.11), src/Rounding_Dir.defs.hh (1.13),
+	  src/Rounding_Dir.inlines.hh (1.7), src/Row.cc (1.104),
+	  src/Row.defs.hh (1.112), src/Row.inlines.hh (1.66),
+	  src/Scalar_Products.cc (1.9), src/Scalar_Products.defs.hh (1.10),
+	  src/Scalar_Products.inlines.hh (1.6), src/Temp.defs.hh (1.5),
+	  src/Variable.cc (1.24), src/Variable.defs.hh (1.54),
+	  src/Variable.inlines.hh (1.25), src/Variables_Set.cc (1.6),
+	  src/Variables_Set.defs.hh (1.7), src/Variables_Set.inlines.hh
+	  (1.5), src/Widening_Function.defs.hh (1.18),
+	  src/Widening_Function.inlines.hh (1.15), src/algorithms.hh
+	  (1.49), src/checked.cc (1.21), src/checked.defs.hh (1.42),
+	  src/checked.inlines.hh (1.38), src/checked_ext.defs.hh (1.13),
+	  src/checked_ext.inlines.hh (1.39), src/checked_float.inlines.hh
+	  (1.79), src/checked_int.inlines.hh (1.62),
+	  src/checked_mpq.inlines.hh (1.42), src/checked_mpz.inlines.hh
+	  (1.46), src/checked_numeric_limits.hh (1.21), src/compiler.hh
+	  (1.11), src/conversion.cc (1.83), src/distances.defs.hh (1.4),
+	  src/distances.inlines.hh (1.5), src/fpu-c99.inlines.hh (1.15),
+	  src/fpu-ia32.inlines.hh (1.17), src/fpu-none.inlines.hh (1.7),
+	  src/fpu-sparc.inlines.hh (1.9), src/fpu.defs.hh (1.16),
+	  src/globals.cc (1.28), src/globals.defs.hh (1.48),
+	  src/globals.inlines.hh (1.18), src/initializer.hh (1.14),
+	  src/iterator_to_const.defs.hh (1.6),
+	  src/iterator_to_const.inlines.hh (1.4),
+	  src/max_space_dimension.hh (1.13), src/meta_programming.hh (1.6),
+	  src/minimize.cc (1.48), src/mp_std_bits.cc (1.5),
+	  src/mp_std_bits.defs.hh (1.5), src/mp_std_bits.inlines.hh (1.4),
+	  src/namespaces.hh (1.12), src/ppl-config.cc.in (1.21),
+	  src/ppl_header.hh (1.7), src/simplify.cc (1.49),
+	  src/swapping_sort.icc (1.13), src/version.cc (1.10),
+	  src/version.hh.in (1.16), tests/FCAIBVP.cc (1.5),
+	  tests/FCAIBVP.defs.hh (1.5), tests/FCAIBVP.inlines.hh (1.5),
+	  tests/Makefile.am (1.263), tests/Partial_Function.cc (1.6),
+	  tests/Partial_Function.defs.hh (1.4),
+	  tests/Partial_Function.inlines.hh (1.3),
+	  tests/Random_Number_Generator.defs.hh (1.5),
+	  tests/Random_Number_Generator.inlines.hh (1.10), tests/files.cc
+	  (1.10), tests/files.hh (1.11), tests/ppl_test.cc (1.10),
+	  tests/ppl_test.hh (1.65), tests/print.cc (1.28), tests/print.hh
+	  (1.42), tests/Ask_Tell/Makefile.am (1.3),
+	  tests/Ask_Tell/append1.cc (1.6), tests/BD_Shape/Makefile.am
+	  (1.66), tests/BD_Shape/addconstraints1.cc (1.18),
+	  tests/BD_Shape/addspacedims1.cc (1.15),
+	  tests/BD_Shape/affinedimension1.cc (1.12),
+	  tests/BD_Shape/affineimage1.cc (1.19),
+	  tests/BD_Shape/affineimage2.cc (1.13),
+	  tests/BD_Shape/affinepreimage1.cc (1.21),
+	  tests/BD_Shape/ascii_dump_load1.cc (1.15),
+	  tests/BD_Shape/bdsdifference1.cc (1.15),
+	  tests/BD_Shape/bdshull1.cc (1.16),
+	  tests/BD_Shape/bgp99extrapolation1.cc (1.10),
+	  tests/BD_Shape/bhmz05widening1.cc (1.15),
+	  tests/BD_Shape/bhz03widening1.cc (1.10),
+	  tests/BD_Shape/bounded1.cc (1.3),
+	  tests/BD_Shape/boundedaffineimage1.cc (1.4),
+	  tests/BD_Shape/boundedaffinepreimage1.cc (1.3),
+	  tests/BD_Shape/bounds1.cc (1.3),
+	  tests/BD_Shape/cc76extrapolation1.cc (1.19),
+	  tests/BD_Shape/cc76narrowing1.cc (1.18),
+	  tests/BD_Shape/closure1.cc (1.20), tests/BD_Shape/concatenate1.cc
+	  (1.14), tests/BD_Shape/constraints1.cc (1.19),
+	  tests/BD_Shape/contains1.cc (1.15),
+	  tests/BD_Shape/containsintegerpoint1.cc (1.3),
+	  tests/BD_Shape/discrete1.cc (1.3), tests/BD_Shape/disjoint1.cc
+	  (1.6), tests/BD_Shape/empty1.cc (1.11),
+	  tests/BD_Shape/equality1.cc (1.16),
+	  tests/BD_Shape/expandspacedim1.cc (1.4),
+	  tests/BD_Shape/foldspacedims1.cc (1.6),
+	  tests/BD_Shape/fromgensys1.cc (1.15),
+	  tests/BD_Shape/frompolyhedron1.cc (1.5),
+	  tests/BD_Shape/fromspacedim1.cc (1.2),
+	  tests/BD_Shape/generalizedaffineimage1.cc (1.17),
+	  tests/BD_Shape/generalizedaffineimage2.cc (1.21),
+	  tests/BD_Shape/generalizedaffinepreimage1.cc (1.15),
+	  tests/BD_Shape/generalizedaffinepreimage2.cc (1.16),
+	  tests/BD_Shape/generalizedaffinepreimage3.cc (1.6),
+	  tests/BD_Shape/geomcovers1.cc (1.10),
+	  tests/BD_Shape/h79widening1.cc (1.13),
+	  tests/BD_Shape/intersection1.cc (1.18),
+	  tests/BD_Shape/limitedbhmz05extrapolation1.cc (1.14),
+	  tests/BD_Shape/limitedcc76extrapolation1.cc (1.15),
+	  tests/BD_Shape/limitedh79extrapolation1.cc (1.14),
+	  tests/BD_Shape/mapspacedims1.cc (1.15),
+	  tests/BD_Shape/max_min1.cc (1.3), tests/BD_Shape/max_min2.cc
+	  (1.5), tests/BD_Shape/maxspacedim1.cc (1.4),
+	  tests/BD_Shape/membytes1.cc (1.3),
+	  tests/BD_Shape/minconstraints1.cc (1.11),
+	  tests/BD_Shape/relations1.cc (1.18), tests/BD_Shape/relations2.cc
+	  (1.22), tests/BD_Shape/relations3.cc (1.26),
+	  tests/BD_Shape/removespacedims1.cc (1.20),
+	  tests/BD_Shape/run_tests (1.19), tests/BD_Shape/timeelapse1.cc
+	  (1.20), tests/BD_Shape/universe1.cc (1.15),
+	  tests/BD_Shape/writebdshape1.cc (1.10), tests/Box/Makefile.am
+	  (1.37), tests/Box/addconstraints1.cc (1.8),
+	  tests/Box/addspacedims1.cc (1.4), tests/Box/affinedimension1.cc
+	  (1.6), tests/Box/affineimage1.cc (1.7),
+	  tests/Box/affinepreimage1.cc (1.4), tests/Box/ascii_dump_load1.cc
+	  (1.4), tests/Box/bdsdifference1.cc (1.5),
+	  tests/Box/bgp99extrapolation1.cc (1.4),
+	  tests/Box/bhz03widening1.cc (1.4), tests/Box/bounded1.cc (1.4),
+	  tests/Box/boundedaffineimage1.cc (1.4),
+	  tests/Box/boxdifference1.cc (1.6), tests/Box/boxhull.cc (1.4),
+	  tests/Box/boxhull1.cc (1.5), tests/Box/cc76narrowing1.cc (1.5),
+	  tests/Box/cc76widening.cc (1.5), tests/Box/closure1.cc (1.4),
+	  tests/Box/concatenate1.cc (1.5), tests/Box/constraints1.cc (1.4),
+	  tests/Box/contains1.cc (1.5), tests/Box/containsintegerpoint1.cc
+	  (1.6), tests/Box/discrete1.cc (1.5), tests/Box/disjoint1.cc
+	  (1.5), tests/Box/empty1.cc (1.5), tests/Box/equality1.cc (1.5),
+	  tests/Box/expandspacedim1.cc (1.6), tests/Box/foldspacedims1.cc
+	  (1.7), tests/Box/frombdshape1.cc (1.2), tests/Box/frombox1.cc
+	  (1.3), tests/Box/fromdirectproduct1.cc (1.5),
+	  tests/Box/fromgensys1.cc (1.4), tests/Box/fromgrid1.cc (1.5),
+	  tests/Box/frompolyhedron1.cc (1.11), tests/Box/frompolyhedron2.cc
+	  (1.9), tests/Box/fromspacedim1.cc (1.2),
+	  tests/Box/generalizedaffineimage1.cc (1.5),
+	  tests/Box/generalizedaffinepreimage1.cc (1.5),
+	  tests/Box/geomcovers1.cc (1.4), tests/Box/intersection1.cc (1.6),
+	  tests/Box/interval1.cc (1.4), tests/Box/interval2.cc (1.4),
+	  tests/Box/mapspacedims1.cc (1.4), tests/Box/max_min1.cc (1.6),
+	  tests/Box/maxspacedim1.cc (1.5), tests/Box/membytes1.cc (1.4),
+	  tests/Box/minconstraints1.cc (1.5),
+	  tests/Box/pointsetpowerset1.cc (1.3), tests/Box/refine1.cc
+	  (1.10), tests/Box/refine2.cc (1.9), tests/Box/refine3.cc (1.2),
+	  tests/Box/relations1.cc (1.5), tests/Box/relations2.cc (1.3),
+	  tests/Box/removespacedims1.cc (1.6), tests/Box/run_tests (1.3),
+	  tests/Box/timeelapse1.cc (1.5), tests/Box/universe1.cc (1.4),
+	  tests/Box/writebox1.cc (1.4), tests/Grid/Makefile.am (1.48),
+	  tests/Grid/addcongruence1.cc (1.14),
+	  tests/Grid/addcongruences1.cc (1.17),
+	  tests/Grid/addconstraint1.cc (1.12),
+	  tests/Grid/addconstraints1.cc (1.13), tests/Grid/addgenerator1.cc
+	  (1.16), tests/Grid/addgenerators1.cc (1.16),
+	  tests/Grid/addspacedims1.cc (1.15), tests/Grid/affinedim1.cc
+	  (1.12), tests/Grid/affineimage1.cc (1.14),
+	  tests/Grid/affineimage2.cc (1.12), tests/Grid/affinepreimage1.cc
+	  (1.13), tests/Grid/affinepreimage2.cc (1.8),
+	  tests/Grid/approximatepartition1.cc (1.3),
+	  tests/Grid/asciidumpload1.cc (1.14), tests/Grid/asciidumpload2.cc
+	  (1.6), tests/Grid/asciidumpload3.cc (1.5),
+	  tests/Grid/asciidumpload4.cc (1.5), tests/Grid/asciidumpload5.cc
+	  (1.3), tests/Grid/asciidumpload6.cc (1.3),
+	  tests/Grid/asciidumpload7.cc (1.3), tests/Grid/bhz03widening1.cc
+	  (1.13), tests/Grid/bounded1.cc (1.14),
+	  tests/Grid/boundedaffineimage1.cc (1.4),
+	  tests/Grid/boundedaffinepreimage1.cc (1.4),
+	  tests/Grid/boundingbox1.cc (1.19), tests/Grid/bounds1.cc (1.15),
+	  tests/Grid/certificate1.cc (1.14), tests/Grid/concatenate1.cc
+	  (1.14), tests/Grid/congruence1.cc (1.17),
+	  tests/Grid/congruences1.cc (1.12), tests/Grid/congruences2.cc
+	  (1.6), tests/Grid/contains1.cc (1.12),
+	  tests/Grid/containsintegerpoint1.cc (1.4),
+	  tests/Grid/copyconstruct1.cc (1.8), tests/Grid/coveringbox1.cc
+	  (1.16), tests/Grid/coveringbox2.cc (1.14),
+	  tests/Grid/directproduct1.cc (1.28), tests/Grid/directproduct2.cc
+	  (1.6), tests/Grid/discrete1.cc (1.8), tests/Grid/disjoint1.cc
+	  (1.12), tests/Grid/equals1.cc (1.13),
+	  tests/Grid/expandspacedim1.cc (1.12),
+	  tests/Grid/foldspacedims1.cc (1.12),
+	  tests/Grid/generalizedaffineimage1.cc (1.14),
+	  tests/Grid/generalizedaffineimage2.cc (1.13),
+	  tests/Grid/generalizedaffineimage3.cc (1.5),
+	  tests/Grid/generalizedaffinepreimage1.cc (1.16),
+	  tests/Grid/generalizedaffinepreimage2.cc (1.16),
+	  tests/Grid/generalizedaffinepreimage3.cc (1.5),
+	  tests/Grid/generator1.cc (1.20), tests/Grid/generators1.cc
+	  (1.13), tests/Grid/generators2.cc (1.3), tests/Grid/grid1.cc
+	  (1.21), tests/Grid/grid2.cc (1.16), tests/Grid/grid3.cc (1.20),
+	  tests/Grid/griddifference1.cc (1.12), tests/Grid/intersection1.cc
+	  (1.12), tests/Grid/isempty1.cc (1.8), tests/Grid/isuniverse1.cc
+	  (1.10), tests/Grid/join1.cc (1.16), tests/Grid/join2.cc (1.11),
+	  tests/Grid/limitedextrapolation1.cc (1.13),
+	  tests/Grid/limitedextrapolation2.cc (1.7),
+	  tests/Grid/limitedextrapolation3.cc (1.6),
+	  tests/Grid/mapspacedims1.cc (1.11), tests/Grid/maxmin1.cc (1.12),
+	  tests/Grid/membytes1.cc (1.9), tests/Grid/mincongruences1.cc
+	  (1.10), tests/Grid/mingenerators1.cc (1.10),
+	  tests/Grid/outputoperator1.cc (1.9),
+	  tests/Grid/outputoperator2.cc (1.3),
+	  tests/Grid/outputoperator3.cc (1.3), tests/Grid/partition1.cc
+	  (1.6), tests/Grid/powersetdifference1.cc (1.3),
+	  tests/Grid/powersetgeometricallycovers1.cc (1.3),
+	  tests/Grid/powersetgeometricallyequals1.cc (1.3),
+	  tests/Grid/relations1.cc (1.14), tests/Grid/relations2.cc (1.16),
+	  tests/Grid/relations3.cc (1.7), tests/Grid/removespacedims1.cc
+	  (1.14), tests/Grid/removespacedims2.cc (1.14),
+	  tests/Grid/timeelapse1.cc (1.11), tests/Grid/topclosed1.cc
+	  (1.12), tests/Grid/topclosure1.cc (1.8), tests/Grid/widening1.cc
+	  (1.16), tests/Grid/widening2.cc (1.11), tests/Grid/widening3.cc
+	  (1.6), tests/Grid/writecongruencesystem.cc (1.8),
+	  tests/MIP_Problem/Makefile.am (1.4),
+	  tests/MIP_Problem/ascii_dump_load1.cc (1.4),
+	  tests/MIP_Problem/exceptions1.cc (1.3),
+	  tests/MIP_Problem/mipproblem1.cc (1.5),
+	  tests/MIP_Problem/mipproblem2.cc (1.3),
+	  tests/Octagonal_Shape/Makefile.am (1.20),
+	  tests/Octagonal_Shape/addspacedims1.cc (1.3),
+	  tests/Octagonal_Shape/affinedimension1.cc (1.4),
+	  tests/Octagonal_Shape/affineimage1.cc (1.4),
+	  tests/Octagonal_Shape/affineimage2.cc (1.3),
+	  tests/Octagonal_Shape/affinepreimage1.cc (1.5),
+	  tests/Octagonal_Shape/affinepreimage2.cc (1.3),
+	  tests/Octagonal_Shape/ascii_dump_load1.cc (1.3),
+	  tests/Octagonal_Shape/bhmz05widening1.cc (1.4),
+	  tests/Octagonal_Shape/bhz03widening1.cc (1.3),
+	  tests/Octagonal_Shape/bounded1.cc (1.3),
+	  tests/Octagonal_Shape/boundedaffineimage1.cc (1.10),
+	  tests/Octagonal_Shape/boundedaffinepreimage1.cc (1.4),
+	  tests/Octagonal_Shape/bounds1.cc (1.4),
+	  tests/Octagonal_Shape/cc76extrapolation1.cc (1.5),
+	  tests/Octagonal_Shape/cc76narrowing1.cc (1.4),
+	  tests/Octagonal_Shape/chinainit.cc (1.3),
+	  tests/Octagonal_Shape/concatenate1.cc (1.3),
+	  tests/Octagonal_Shape/constraints1.cc (1.4),
+	  tests/Octagonal_Shape/contains1.cc (1.4),
+	  tests/Octagonal_Shape/containsintegerpoint1.cc (1.4),
+	  tests/Octagonal_Shape/discrete1.cc (1.3),
+	  tests/Octagonal_Shape/disjoint1.cc (1.7),
+	  tests/Octagonal_Shape/empty1.cc (1.3),
+	  tests/Octagonal_Shape/expandspacedim1.cc (1.5),
+	  tests/Octagonal_Shape/foldspacedims1.cc (1.5),
+	  tests/Octagonal_Shape/fromgensys1.cc (1.3),
+	  tests/Octagonal_Shape/frompolyhedron1.cc (1.4),
+	  tests/Octagonal_Shape/fromspacedim1.cc (1.2),
+	  tests/Octagonal_Shape/generalizedaffineimage1.cc (1.4),
+	  tests/Octagonal_Shape/generalizedaffineimage2.cc (1.4),
+	  tests/Octagonal_Shape/generalizedaffineimage3.cc (1.9),
+	  tests/Octagonal_Shape/generalizedaffineimage4.cc (1.4),
+	  tests/Octagonal_Shape/generalizedaffineimage5.cc (1.4),
+	  tests/Octagonal_Shape/generalizedaffinepreimage1.cc (1.5),
+	  tests/Octagonal_Shape/generalizedaffinepreimage2.cc (1.9),
+	  tests/Octagonal_Shape/generalizedaffinepreimage3.cc (1.5),
+	  tests/Octagonal_Shape/generalizedaffinepreimage4.cc (1.4),
+	  tests/Octagonal_Shape/intersection1.cc (1.4),
+	  tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc (1.5),
+	  tests/Octagonal_Shape/limitedcc76extrapolation1.cc (1.5),
+	  tests/Octagonal_Shape/mapspacedims1.cc (1.4),
+	  tests/Octagonal_Shape/max_min1.cc (1.5),
+	  tests/Octagonal_Shape/max_min2.cc (1.4),
+	  tests/Octagonal_Shape/maxspacedim1.cc (1.4),
+	  tests/Octagonal_Shape/membytes1.cc (1.4),
+	  tests/Octagonal_Shape/minconstraints1.cc (1.4),
+	  tests/Octagonal_Shape/octdifference1.cc (1.4),
+	  tests/Octagonal_Shape/octhull1.cc (1.4),
+	  tests/Octagonal_Shape/relatwithcons1.cc (1.4),
+	  tests/Octagonal_Shape/relatwithcons2.cc (1.7),
+	  tests/Octagonal_Shape/relatwithgen1.cc (1.8),
+	  tests/Octagonal_Shape/removespacedims1.cc (1.4),
+	  tests/Octagonal_Shape/run_tests (1.3),
+	  tests/Octagonal_Shape/timeelapse1.cc (1.5),
+	  tests/Octagonal_Shape/universe1.cc (1.3),
+	  tests/Octagonal_Shape/writeoctagon1.cc (1.4),
+	  tests/Polyhedron/Makefile.am (1.109), tests/Polyhedron/README
+	  (1.7), tests/Polyhedron/addcongruence1.cc (1.8),
+	  tests/Polyhedron/addcongruences1.cc (1.11),
+	  tests/Polyhedron/addconstraint1.cc (1.11),
+	  tests/Polyhedron/addconstraints1.cc (1.12),
+	  tests/Polyhedron/addconstraints2.cc (1.11),
+	  tests/Polyhedron/addgenerator1.cc (1.12),
+	  tests/Polyhedron/addgenerator2.cc (1.12),
+	  tests/Polyhedron/addgenerators1.cc (1.13),
+	  tests/Polyhedron/addgenerators2.cc (1.12),
+	  tests/Polyhedron/addspacedims1.cc (1.12),
+	  tests/Polyhedron/addspacedims2.cc (1.12),
+	  tests/Polyhedron/affineimage1.cc (1.12),
+	  tests/Polyhedron/affineimage2.cc (1.11),
+	  tests/Polyhedron/affinepreimage1.cc (1.11),
+	  tests/Polyhedron/affinetrans.cc (1.11),
+	  tests/Polyhedron/append1.cc (1.12), tests/Polyhedron/append2.cc
+	  (1.11), tests/Polyhedron/ascii_dump_load1.cc (1.10),
+	  tests/Polyhedron/ascii_dump_load2.cc (1.10),
+	  tests/Polyhedron/ascii_dump_load3.cc (1.11),
+	  tests/Polyhedron/bgp99extrapolation1.cc (1.13),
+	  tests/Polyhedron/bhrz03widening1.cc (1.11),
+	  tests/Polyhedron/bhrz03widening2.cc (1.11),
+	  tests/Polyhedron/bhrz03widening3.cc (1.15),
+	  tests/Polyhedron/bhz03widening1.cc (1.14),
+	  tests/Polyhedron/bounded1.cc (1.11),
+	  tests/Polyhedron/boundedaffineimage1.cc (1.11),
+	  tests/Polyhedron/boundedaffinepreimage1.cc (1.9),
+	  tests/Polyhedron/boundedbhrz03extrapolation1.cc (1.10),
+	  tests/Polyhedron/boundedh79extrapolation1.cc (1.12),
+	  tests/Polyhedron/bounds1.cc (1.11),
+	  tests/Polyhedron/cnncconversion1.cc (1.4),
+	  tests/Polyhedron/concatenate1.cc (1.11),
+	  tests/Polyhedron/congruences1.cc (1.9),
+	  tests/Polyhedron/constraints1.cc (1.10),
+	  tests/Polyhedron/contains1.cc (1.10),
+	  tests/Polyhedron/contains2.cc (1.10),
+	  tests/Polyhedron/containsintegerpoint1.cc (1.3),
+	  tests/Polyhedron/disjoint1.cc (1.10),
+	  tests/Polyhedron/disjoint2.cc (1.12),
+	  tests/Polyhedron/dualhypercubes.cc (1.13),
+	  tests/Polyhedron/empty1.cc (1.11), tests/Polyhedron/equals1.cc
+	  (1.10), tests/Polyhedron/exceptions1.cc (1.14),
+	  tests/Polyhedron/exceptions2.cc (1.12),
+	  tests/Polyhedron/exceptions3.cc (1.11),
+	  tests/Polyhedron/expandspacedim1.cc (1.13),
+	  tests/Polyhedron/expandspacedim2.cc (1.13),
+	  tests/Polyhedron/foldspacedims1.cc (1.15),
+	  tests/Polyhedron/foldspacedims2.cc (1.16),
+	  tests/Polyhedron/frombox1.cc (1.4), tests/Polyhedron/frombox2.cc
+	  (1.4), tests/Polyhedron/generalizedaffineimage1.cc (1.13),
+	  tests/Polyhedron/generalizedaffineimage2.cc (1.13),
+	  tests/Polyhedron/generalizedaffinepreimage1.cc (1.10),
+	  tests/Polyhedron/generalizedaffinepreimage2.cc (1.9),
+	  tests/Polyhedron/generators1.cc (1.11),
+	  tests/Polyhedron/geomcovers1.cc (1.14),
+	  tests/Polyhedron/h79widening1.cc (1.11),
+	  tests/Polyhedron/h79widening2.cc (1.11),
+	  tests/Polyhedron/hybrid.cc (1.4),
+	  tests/Polyhedron/intersection1.cc (1.15),
+	  tests/Polyhedron/limitedbhrz03extrapolation1.cc (1.10),
+	  tests/Polyhedron/limitedh79extrapolation1.cc (1.11),
+	  tests/Polyhedron/linearpartition1.cc (1.13),
+	  tests/Polyhedron/linearsystem1.cc (1.9),
+	  tests/Polyhedron/linexpression1.cc (1.10),
+	  tests/Polyhedron/mapspacedims1.cc (1.15),
+	  tests/Polyhedron/matrix1.cc (1.10), tests/Polyhedron/max_min1.cc
+	  (1.12), tests/Polyhedron/maxspacedim1.cc (1.13),
+	  tests/Polyhedron/mc91.cc (1.15), tests/Polyhedron/membytes1.cc
+	  (1.15), tests/Polyhedron/memory1.cc (1.13),
+	  tests/Polyhedron/memory2.cc (1.15),
+	  tests/Polyhedron/minconstraints1.cc (1.10),
+	  tests/Polyhedron/minconstraints2.cc (1.12),
+	  tests/Polyhedron/mingenerators1.cc (1.10),
+	  tests/Polyhedron/mingenerators2.cc (1.11),
+	  tests/Polyhedron/nncminimize1.cc (1.7),
+	  tests/Polyhedron/nncminimize2.cc (1.7),
+	  tests/Polyhedron/numberinput1.cc (1.32),
+	  tests/Polyhedron/onepoint.cc (1.11), tests/Polyhedron/permute.cc
+	  (1.9), tests/Polyhedron/pointsetpowerset1.cc (1.7),
+	  tests/Polyhedron/polydifference1.cc (1.12),
+	  tests/Polyhedron/polydifference2.cc (1.12),
+	  tests/Polyhedron/polyhull1.cc (1.12),
+	  tests/Polyhedron/polyhull2.cc (1.11),
+	  tests/Polyhedron/powerset1.cc (1.20),
+	  tests/Polyhedron/randphull1.cc (1.11),
+	  tests/Polyhedron/randphull2.cc (1.10),
+	  tests/Polyhedron/relations1.cc (1.11),
+	  tests/Polyhedron/relations2.cc (1.11),
+	  tests/Polyhedron/relations3.cc (1.10),
+	  tests/Polyhedron/removespacedims1.cc (1.11),
+	  tests/Polyhedron/removespacedims2.cc (1.11),
+	  tests/Polyhedron/smm1.cc (1.8), tests/Polyhedron/timeelapse1.cc
+	  (1.12), tests/Polyhedron/timeelapse2.cc (1.12),
+	  tests/Polyhedron/topclosed1.cc (1.11),
+	  tests/Polyhedron/topclosure1.cc (1.11),
+	  tests/Polyhedron/universe1.cc (1.11),
+	  tests/Polyhedron/universe2.cc (1.11),
+	  tests/Polyhedron/variablesset1.cc (1.11),
+	  tests/Polyhedron/watchdog1.cc (1.10),
+	  tests/Polyhedron/writeconsys1.cc (1.11),
+	  tests/Polyhedron/writegensys1.cc (1.10),
+	  tests/Polyhedron/writepolyhedron1.cc (1.10),
+	  tests/Polyhedron/writepolyhedron2.cc (1.10),
+	  tests/Polyhedron/writerelation1.cc (1.13),
+	  tests/Polyhedron/writevariable1.cc (1.8), utils/Makefile.am
+	  (1.16), utils/build_header.in (1.5), utils/cm_cleaner.sh (1.3),
+	  utils/cm_splitter.sh (1.3), utils/text2cxxarray.in (1.4),
+	  utils/timings.cc (1.10), utils/timings.hh (1.6): Started the
+	  upgrade to GPL version 3 or later.
+
+2007-07-11 Wednesday 16:16  Abramo Bagnara
+
+	* src/Interval.defs.hh (1.43): Fixed typo. Removed
+	  Is_Singleton_Or_Interval. Added Is_Singleton and Is_Interva.
+
+2007-07-10 Tuesday 17:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref-c-interface.doxyconf-html.in (1.3),
+	  devref-c-interface.doxyconf-latex.in (1.3),
+	  devref-prolog-interface.doxyconf-html.in (1.3),
+	  devref-prolog-interface.doxyconf-latex.in (1.3),
+	  devref.doxyconf-html.in (1.82), devref.doxyconf-latex.in (1.21),
+	  user-c-interface.doxyconf-html.in (1.3),
+	  user-c-interface.doxyconf-latex.in (1.3),
+	  user-prolog-interface.doxyconf-html.in (1.3),
+	  user-prolog-interface.doxyconf-latex.in (1.3),
+	  user.doxyconf-html.in (1.40), user.doxyconf-latex.in (1.11):
+	  Updated configuration files to version 1.5.2 of Doxygen.
+
+2007-07-10 Tuesday 16:41  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.defs.hh (1.26): Documentation link fixed.
+
+2007-07-10 Tuesday 16:41  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Pointset_Ask_Tell.defs.hh (1.10): Cut-and-paste documentation
+	  typo fixed.
+
+2007-07-10 Tuesday 16:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: BD_Shape/Makefile.am (1.65), Box/Makefile.am (1.36),
+	  Octagonal_Shape/Makefile.am (1.19): List run_tests.stamp in
+	  DISTCLEANFILES.
+
+2007-07-09 Monday 10:39  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/Makefile.am (1.31): Partially undone last
+	  commit, as it was again causing dependency problems in parallel
+	  builds.
+
+2007-07-08 Sunday 13:41  Andrea Cimino
+
+	* interfaces/: Java/Makefile.am (1.11), OCaml/Makefile.am (1.30):
+	  Use `pkglibdir' instead of hardcoding destination paths.  Install
+	  the OCaml interface in `pkglibdir', honoring the `--prefix'
+	  option.  Avoided a useless directive in the OCaml's Makefile.am:
+	  the serialization of the build is done correctly now thanks to
+	  the previous commit.
+
+2007-07-07 Saturday 15:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.273): New Automake conditional HOST_CPU_X86_64.
+
+2007-07-07 Saturday 08:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.272): Version number bumped.
+
+2007-07-07 Saturday 00:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/Makefile.am (1.29): Try to fix Makefile.am so as
+	  to enforce the right dependencies even in the presence of
+	  parallel builds. To be checked.
+
+2007-07-06 Friday 15:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/Makefile.am (1.28): Added option -f to cp and rm
+	  commands.
+
+2007-07-06 Friday 13:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/jni/Makefile.am (1.13): File ppl_java_classes.cc
+	  is generated, hence should not be distributed.
+
+2007-07-06 Friday 11:41  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/: C/Makefile.am (1.32), Java/jni/Makefile.am (1.12),
+	  OCaml/Makefile.am (1.27), Prolog/Makefile.am (1.40),
+	  Java/tests/Makefile.am (1.14), Prolog/Ciao/Makefile.am (1.63),
+	  Prolog/GNU/Makefile.am (1.62), Prolog/SICStus/Makefile.am (1.74),
+	  Prolog/SWI/Makefile.am (1.69), Prolog/XSB/Makefile.am (1.49),
+	  Prolog/tests/Makefile.am (1.14), Prolog/YAP/Makefile.am (1.51):
+	  File ppl_interface_instatiations.m4 is a generated file, so it
+	  must be found in the build directory.
+
+2007-07-06 Friday 10:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (ppl-0_9-branch.24): Bug 246815 had been fixed: YAP
+	  support enabled again.
+
+2007-07-06 Friday 09:16  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.48): Small improvements -
+	  mainly to comments.
+
+2007-07-06 Friday 08:27  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.47): Improved the code
+	  testing large integers.
+
+2007-07-05 Thursday 22:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.46): Modified the test for
+	  large integers in the case that current_prolog_flag(bounded,
+	  true) holds.
+
+	  In this case, the generated large integer may wrap and any
+	  comparison with Max_int - obtained with
+	  current_prolog_flag(max_integer, Max_int) meaningless.
+
+	  So we also compare the generated integer with another number that
+	  is generated to be about half its size (and therefore already
+	  tested).
+
+2007-07-05 Thursday 14:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (ppl-0_9-branch.23): Disable YAP support until bug
+	  246815 is fixed.  Bug 243084 has been fixed: `ppl-swiprolog'
+	  dependency on `readline-devel' removed.
+
+2007-07-05 Thursday 12:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Makefile.am (1.39): Distribute also
+	  ppl_prolog_common.icc.
+
+2007-07-05 Thursday 07:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (ppl-0_9-branch.22): The `gprolog' package is not
+	  available on ppc64: the GNU Prolog interface must thus be
+	  disabled for that architecture.
+
+2007-07-04 Wednesday 21:39  Andrea Cimino
+
+	* interfaces/Java/jni/ppl_java_common.cc (1.33): Removed some non
+	  used variables in the C++ side of the Java interface.
+
+2007-07-04 Wednesday 21:38  Andrea Cimino
+
+	* interfaces/: OCaml/Makefile.am (1.26), Java/tests/Makefile.am
+	  (1.13): Fixed the `dist' target in the OCaml and Java/test
+	  interfaces: included all the m4 generator interface files in
+	  EXTRA_DIST.  Do not distribute `ppl_ocaml.cc' because it's a
+	  generated source.
+
+2007-07-04 Wednesday 13:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/Makefile.am (1.29): Added `m4' to `SUBDIRS'.
+
+2007-07-04 Wednesday 12:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.271): Version number bumped.
+
+2007-07-03 Tuesday 16:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl-0.9-docfiles.patch, ppl.spec.in (ppl-0_9-branch.[4,21]): Use
+	  `%{buildroot}' consistently, instead of  `$RPM_BUILD_ROOT'.
+
+2007-07-02 Monday 14:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.208), TODO (1.222), doc/definitions.dox (1.202): Use the
+	  UTF-8 encoding instead of ISO-8859.
+
+2007-07-01 Sunday 20:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.221): Added an item concerning additional documentation.
+
+2007-07-01 Sunday 17:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.220): Remember to pProvide PPL-specific documentation on
+	  the use of `make check' and `make uninstall'.
+
+2007-07-01 Sunday 17:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.219): The Java interface has been improved: corresponding
+	  item removed.
+
+2007-06-30 Saturday 10:41  Abramo Bagnara
+
+	* tests/ppl_test.hh (1.64): Use method instead of function.
+
+2007-06-29 Friday 22:25  Abramo Bagnara
+
+	* src/Interval.defs.hh (1.42): Converted many Interval functions in
+	  methods.
+
+2007-06-29 Friday 22:20  Abramo Bagnara
+
+	* src/: Box.templates.hh (1.60), Interval.defs.hh (1.41): Converted
+	  many Interval functions in methods.
+
+2007-06-28 Thursday 12:18  Abramo Bagnara
+
+	* src/Interval.defs.hh (1.40): Removed duplicate definition.
+
+2007-06-28 Thursday 11:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.29), Watchdog/ltmain.sh (1.18): Updated from Libtool
+	  1.5.24.
+
+2007-06-13 Wednesday 18:31  Andrea Cimino
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.26): Call the appropriate destructor if the underlined C++
+	  object is a NNC_Polyhedron or a C_Polyhedron.
+
+2007-06-12 Tuesday 21:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (ppl-0_9-branch.20): `%%check' removed.
+
+2007-06-12 Tuesday 20:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl-0.9-docfiles.patch, ppl.spec.in (ppl-0_9-branch.[3,19]):
+	  `%%check' added.  Revised the description of the `devel' package.
+	  Include also the `TODO' file in the documentation of the main
+	  package.
+
+2007-06-12 Tuesday 20:25  Andrea Cimino
+
+	* interfaces/Java/jni/ppl_java_common.cc (1.32): Removed some
+	  useless calls in the Java interface.
+
+2007-06-12 Tuesday 20:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (ppl-0_9-branch.18): Patch the `libtool' script after
+	  `%%configure' so as to fix the rpath issue.
+
+2007-06-08 Friday 21:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/README.swiprolog (simplex.1): file
+	  README.swiprolog was added on branch simplex on 2008-01-07
+	  11:15:30 +0000
+
+2007-06-08 Friday 21:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/README.yap (simplex.1): file README.yap was
+	  added on branch simplex on 2008-01-07 11:15:31 +0000
+
+2007-06-08 Friday 21:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: GNU/README.gprolog (1.2),
+	  SWI/README.swiprolog (1.2), YAP/README.yap (1.2): New
+	  documentation files.
+
+2007-06-08 Friday 21:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/README.gprolog (simplex.1): file
+	  README.gprolog was added on branch simplex on 2008-01-07 11:15:30
+	  +0000
+
+2007-06-08 Friday 18:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (ppl-0_9-branch.17): %install commands revised.
+
+2007-06-08 Friday 18:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.270), Watchdog/configure.ac (1.37): Do not
+	  override the externally-provided CFLAGS and CXXFLAGS.
+
+2007-06-08 Friday 17:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ax_prefix_config_h.m4 (simplex.1): file ax_prefix_config_h.m4
+	  was added on branch simplex on 2008-01-07 11:15:31 +0000
+
+2007-06-08 Friday 17:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.207), configure.ac (1.269), demos/ppl_lcdd/ppl_lcdd.cc
+	  (1.59), demos/ppl_lpsol/ppl_lpsol.c (1.69),
+	  interfaces/C/ppl_interface_generator_c_cc_preamble (1.10),
+	  interfaces/Prolog/SICStus/sicstus_cfli.ic (1.16),
+	  interfaces/Prolog/SWI/swi_cfli.hh (1.4), m4/Makefile.am (1.26),
+	  m4/ac_check_fpu_control.m4 (1.4),
+	  m4/ac_cxx_double_binary_format.m4 (1.5),
+	  m4/ac_cxx_float_binary_format.m4 (1.4),
+	  m4/ac_cxx_long_double_binary_format.m4 (1.5),
+	  m4/ax_prefix_config_h.m4 (1.1), src/BD_Shape.cc (1.6),
+	  src/BHRZ03_Certificate.cc (1.12), src/Bit_Matrix.cc (1.3),
+	  src/Bit_Row.cc (1.3), src/Bit_Row.inlines.hh (1.3), src/Box.cc
+	  (1.6), src/C_Integer.hh (1.4), src/C_Polyhedron.cc (1.21),
+	  src/Checked_Number.cc (1.12), src/Coefficient.cc (1.6),
+	  src/Coefficient.defs.hh (1.8), src/Coefficient.types.hh (1.15),
+	  src/Congruence.cc (1.15), src/Congruence_System.cc (1.24),
+	  src/Constraint.cc (1.66), src/Constraint_System.cc (1.23),
+	  src/DB_Row.defs.hh (1.23), src/DB_Row.inlines.hh (1.22),
+	  src/DB_Row.templates.hh (1.6), src/Float.cc (1.6),
+	  src/Float.defs.hh (1.25), src/Float.inlines.hh (1.30),
+	  src/GMP_Integer.inlines.hh (1.20), src/Generator.cc (1.74),
+	  src/Generator_System.cc (1.22), src/Grid_Certificate.cc (1.8),
+	  src/Grid_Generator.cc (1.20), src/Grid_Generator_System.cc
+	  (1.18), src/Grid_Status.cc (1.7), src/Grid_chdims.cc (1.17),
+	  src/Grid_conversion.cc (1.20), src/Grid_nonpublic.cc (1.25),
+	  src/Grid_public.cc (1.52), src/Grid_simplify.cc (1.33),
+	  src/Grid_widenings.cc (1.15), src/H79_Certificate.cc (1.11),
+	  src/Init.cc (1.30), src/Linear_Expression.cc (1.17),
+	  src/Linear_Row.cc (1.22), src/Linear_System.cc (1.43),
+	  src/MIP_Problem.cc (1.53), src/Matrix.cc (1.96),
+	  src/NNC_Polyhedron.cc (1.21), src/Octagonal_Shape.cc (1.5),
+	  src/Ph_Status.cc (1.13), src/Pointset_Ask_Tell.cc (1.3),
+	  src/Pointset_Powerset.cc (1.12), src/Poly_Con_Relation.cc (1.15),
+	  src/Poly_Gen_Relation.cc (1.15), src/Polyhedron_chdims.cc (1.43),
+	  src/Polyhedron_nonpublic.cc (1.78), src/Polyhedron_public.cc
+	  (1.93), src/Polyhedron_widenings.cc (1.62), src/Row.cc (1.103),
+	  src/Row.defs.hh (1.111), src/Row.inlines.hh (1.65),
+	  src/Scalar_Products.cc (1.8), src/Variable.cc (1.23),
+	  src/Variables_Set.cc (1.5), src/checked.cc (1.20),
+	  src/checked.inlines.hh (1.37), src/checked_float.inlines.hh
+	  (1.78), src/checked_int.inlines.hh (1.61),
+	  src/checked_mpz.inlines.hh (1.45), src/conversion.cc (1.82),
+	  src/fpu-c99.inlines.hh (1.14), src/fpu-sparc.inlines.hh (1.8),
+	  src/fpu.defs.hh (1.15), src/fpu.types.hh (1.5), src/globals.cc
+	  (1.27), src/minimize.cc (1.47), src/mp_std_bits.cc (1.4),
+	  src/ppl-config.cc.in (1.20), src/ppl_header.hh (1.6),
+	  src/simplify.cc (1.48), src/version.cc (1.9), tests/FCAIBVP.cc
+	  (1.4), tests/Partial_Function.cc (1.5), tests/ppl_test.cc (1.9),
+	  tests/ppl_test.hh (1.63), tests/print.hh (1.41),
+	  tests/Polyhedron/memory1.cc (1.12), tests/Polyhedron/memory2.cc
+	  (1.14), utils/timings.cc (1.9): The `ppl.hh' header file no
+	  longer defines macros not prefixed by "PPL_".
+
+2007-06-08 Friday 17:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/m4/.cvsignore (simplex.1): file .cvsignore was added on
+	  branch simplex on 2008-01-07 11:15:25 +0000
+
+2007-06-08 Friday 17:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/m4/ax_prefix_config_h.m4 (simplex.1): file
+	  ax_prefix_config_h.m4 was added on branch simplex on 2008-01-07
+	  11:15:25 +0000
+
+2007-06-08 Friday 17:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: Makefile.am (1.28), NEWS (1.9), configure.ac (1.36),
+	  m4/.cvsignore (1.1), m4/Makefile.am (1.1),
+	  m4/ax_prefix_config_h.m4 (1.1), src/Makefile.am (1.10),
+	  src/Pending_Element.cc (1.4), src/Pending_List.cc (1.4),
+	  src/Time.cc (1.4), src/Watchdog.cc (1.6), src/Watchdog.defs.hh
+	  (1.5), src/pwl_header.hh (1.4): The `pwl.hh' header file no
+	  longer defines macros not prefixed by "PWL_".
+
+2007-06-07 Thursday 16:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (ppl-0_9-branch.16): Apply both patches.
+
+2007-06-07 Thursday 15:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (ppl-0_9-branch.15): Fixed the command to remove all
+	  installed *.la files.
+
+2007-06-07 Thursday 15:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (ppl-0_9-branch.14): Remove installed *.la files.
+	  Added a `ppl-0.9-configure.patch' to avoid overriding CFLAGS and
+	  CXXFLAGS.
+
+2007-06-07 Thursday 12:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (ppl-0_9-branch.13): All the static archives are now
+	  in `*-static' packages.  Packages `ppl-gprolog-devel',
+	  `ppl-swiprolog-devel' and `ppl-yap-devel' renamed `ppl-gprolog',
+	  `ppl-swiprolog' and `ppl-yap', respectively.	As a workaround for
+	  a bug in the `pl' package (Bugzilla Bug 243084) `ppl-swiprolog'
+	  is now dependent on `readline-devel'.  Added `%%dir
+	  %%{_datadir}/doc/%%{name}'.  The `ppl-user-0.9-html'
+	  documentation directory is now properly listed.
+
+2007-06-06 Wednesday 22:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (ppl-0_9-branch.12): Use `%{_includedir}' and
+	  `%{_libdir}' instead of `/usr/include' and `/usr/lib',
+	  respectively.  Use `%{_datadir}/doc/%{name}' instead of
+	  `/usr/share/doc/ppl'.  Replaced `%defattr(-,root,root)' with
+	  `%defattr(-,root,root,-)'.  (Thanks to Mamoru Tasaka.)
+
+2007-06-05 Tuesday 21:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.hh (1.27): Shadowing avoided.
+
+2007-06-05 Tuesday 21:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.cc (1.31): Useless break's
+	  and braces removed.  Indentation fixed in several places.
+
+2007-06-05 Tuesday 21:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (1.140): Make sure
+	  Polyhedron::space_dimension() is defined before being used.
+
+2007-05-29 Tuesday 08:05  Andrea Cimino
+
+	*
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.16): In the generated Java tests, for each method that returns
+	  a non void type, a corresponding variable of the appropriate type
+	  is declared and assigned to the value that the method returns.
+	  Removed a redundant `ppl_ at TOPOLOGY@@CLASS at _@UB_EXACT at _code
+	  section.
+
+2007-05-28 Monday 14:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.206): Updated.
+
+2007-05-28 Monday 06:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: MIP_Problem.defs.hh (1.34), MIP_Problem.inlines.hh (1.15):
+	  Removed method hash_code().
+
+2007-05-24 Thursday 07:56  Andrea Cimino
+
+	*
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.15): Using `hashcode' instead of `hash'.  Spurious blank space
+	  removed.
+
+2007-05-23 Wednesday 23:11  Andrea Cimino
+
+	*
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.14): Fixed a typo.
+
+2007-05-23 Wednesday 23:07  Andrea Cimino
+
+	* interfaces/Java/: ppl_interface_generator_java_dat.m4 (1.7),
+	  jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.25), tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.13): In the Java interface provided, for most of the PPL
+	  classes, the methods `equals(Object y)' and `hashCode()'.
+
+2007-05-23 Wednesday 14:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Any_Pointset.defs.hh (1.12), Ask_Tell.defs.hh (1.16),
+	  BD_Shape.defs.hh (1.99), BD_Shape.inlines.hh (1.143),
+	  Grid.defs.hh (1.48), Grid.inlines.hh (1.14), MIP_Problem.defs.hh
+	  (1.33), MIP_Problem.inlines.hh (1.14), Octagonal_Shape.defs.hh
+	  (1.28), Octagonal_Shape.inlines.hh (1.16),
+	  Pointset_Ask_Tell.defs.hh (1.9), Pointset_Ask_Tell.inlines.hh
+	  (1.4), Pointset_Powerset.defs.hh (1.17), Polyhedron.defs.hh
+	  (1.317), Polyhedron.inlines.hh (1.139): All PPL semantic objects
+	  now provide the method
+
+	       int32_t hash_code() const
+
+	  returning a 32-bit hash code for *this.  If x and y are such that
+	  x == y evaluates to true, so does x.hash_code() == y.hash_code().
+
+2007-05-21 Monday 15:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.170): Distribute also meta_programming.hh and
+	  Temp.defs.hh.
+
+2007-05-21 Monday 15:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.28), Watchdog/ltmain.sh (1.17): Updated from Libtool
+	  1.5.23b.
+
+2007-05-21 Monday 14:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.218): Added one item concerning the Java interface.
+	  (Thanks to Fausto Spoto.)
+
+2007-05-18 Friday 07:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/mapspacedims1.cc (1.14): New test added.
+
+2007-05-15 Tuesday 09:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.268): Version number bumped.
+
+2007-05-10 Thursday 16:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
+	  (1.8): The former `prolog_atoms' array is now called
+	  `prolog_interface_atoms'.
+
+2007-04-11 Wednesday 06:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* utils/Makefile.am (1.15): List cm_cleaner.sh and cm_splitter.sh
+	  in dist_noinst_SCRIPTS, not noinst_SCRIPTS (problem reported by
+	  Stefano Soffia).
+
+2007-04-03 Tuesday 18:04  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh (1.90), Checked_Number.inlines.hh
+	  (1.74), checked.defs.hh (1.41), checked_ext.inlines.hh (1.38),
+	  checked_float.inlines.hh (1.77), checked_int.inlines.hh (1.60),
+	  checked_mpq.inlines.hh (1.41), checked_mpz.inlines.hh (1.44):
+	  Added idiv.
+
+2007-04-03 Tuesday 14:47  Elena Mazzi
+
+	* src/Octagonal_Shape.templates.hh (1.52): Corrected the method
+	  Octagonal_Shape::relation_with(c) when the Octagonal_Shape is
+	  based on integer coefficients and when the constraint `c' is `1
+	  == 0'.
+
+2007-04-03 Tuesday 14:43  Elena Mazzi
+
+	* tests/Octagonal_Shape/relatwithcons2.cc (1.6): Added two new
+	  tests on `Octagonal_Shape::relation_with(c)'.  Test18() shows a
+	  bug in relation_with(const Constraint& c) when the constraint `c'
+	  is `1 == 0'.
+
+2007-04-03 Tuesday 12:17  Elena Mazzi
+
+	* tests/Octagonal_Shape/: Makefile.am (1.18), fromspacedim1.cc
+	  (1.1): New test program fromspacedim1.cc tests
+	  Octagonal_Shape<N>::Octagonal_Shape(dimension_type,
+	  Degenerate_Element).
+
+2007-04-03 Tuesday 11:44  Elena Mazzi
+
+	* tests/BD_Shape/: Makefile.am (1.64), fromspacedim1.cc (1.1): New
+	  test program fromspacedim1.cc tests
+	  BD_Shape<N>::BD_Shape(dimension_type, Degenerate_Element).
+
+2007-04-01 Sunday 18:57  Abramo Bagnara
+
+	* TODO (1.217): Fixed and cleaned TODO description.
+
+2007-04-01 Sunday 16:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.216): Added a new item concerning possible aliasing in
+	  the arguments of a function.
+
+2007-04-01 Sunday 16:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.215): Added new item concerning rem() and remp().
+
+2007-04-01 Sunday 16:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_icc_code.m4
+	  (1.46), ppl_prolog_common.icc (1.7), track_allocation.hh (1.22):
+	  Avoided conflicts with symbols defined in the new versions of
+	  CiaoDE.
+
+2007-03-31 Saturday 19:27  Abramo Bagnara
+
+	* src/fpu.defs.hh (1.14): Give priority to faster architecture
+	  dependent fpu control.
+
+2007-03-26 Monday 21:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_float.inlines.hh (1.76): On platforms not providing
+	  rintl() and not providing proper long doubles, make the
+	  assumption that long double and double are the same type and use
+	  rint() instead of rintl().
+
+2007-03-25 Sunday 22:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.201): Corrected a wrong sign in the
+	  paragraph about "Images and Preimages of Affine Transfer
+	  Relations."
+
+2007-03-25 Sunday 18:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.267), m4/Makefile.am (1.25),
+	  m4/ac_cxx_proper_long_double.m4 (1.1): Check whether the C++
+	  compiler provides proper long doubles.
+
+2007-03-24 Saturday 10:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/pointsetpowerset1.cc (1.6): Fixed test18() and
+	  test19().  Drafted test20().
+
+2007-03-21 Wednesday 11:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/MIP_Problem/mipproblem2.cc (1.2): Test modified so as to
+	  propagate overflows and therefore interact correctly with macro
+	  DO_TEST_OVERFLOW. The test overflows when using 8-bit
+	  coefficients.
+
+2007-03-21 Wednesday 10:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/refine2.cc (1.8): Test test02() does not overflow with
+	  64 bits integers.
+
+2007-03-20 Tuesday 11:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/frombox1.cc (1.2): Test test05() overflows with all
+	  bounded coefficients.
+
+2007-03-20 Tuesday 09:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (1.59): Use DIRTY_TEMP when allocating a
+	  temporary Coefficient or mpq_class object.  Use properly typed
+	  temporaries in max_min(), so as to avoid errors when configured
+	  to used bounded integer coefficients.
+
+2007-03-19 Monday 16:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (1.58): Excessively optimistic assertions
+	  just introduced replaced by canonicalization, which is required.
+	  In the constructor of a Box from a polyhedron, do use Coefficient
+	  temporaries when invoking the MIP solver.
+
+2007-03-19 Monday 16:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/MIP_Problem.cc (1.52): The excessively optimistic assertions
+	  just introduced replaced by canonicalization, which is indeed
+	  required.
+
+2007-03-19 Monday 16:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (1.57): Useless canonnicalizations of mpq
+	  rationals replaced by assertions.  Simplified part of the code
+	  for the construction of a Box starting from a generator system.
+	  Avoid a couple of useless temporaries.
+
+2007-03-19 Monday 15:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.92): A comment about the canonical
+	  form of an mpq rational supported by corresponding assertion.
+
+2007-03-19 Monday 15:58  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/MIP_Problem.cc (1.51): A few useless canonicalizations of mpq
+	  rationals replaced by assertions.
+
+2007-03-19 Monday 15:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/: Makefile.am (1.35), frombdshape1.cc (1.1): Test
+	  Box::Box(const BD_Shape&, Complexity_Class).
+
+2007-03-19 Monday 15:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: globals.cc (1.26), globals.defs.hh (1.47): Removed useless
+	  inline directives in function declarations that are not
+	  definitions. Added helper function   bool is_canonical(const
+	  mpq_class& ); to be used in assertions.
+
+2007-03-19 Monday 15:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid.defs.hh (1.47): Grid::Grid(const Box<Interval>&) made
+	  explicit.
+
+2007-03-19 Monday 13:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh (1.56): Fixed Box<Interval>::Box(const
+	  BD_Shape<T>&, Complexity_Class).
+
+2007-03-19 Monday 13:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh (1.55): We were using Interval::lower_set()
+	  instead of Interval::lower_set_uninit() in
+	  Box<Interval>::Box(const BD_Shape<T>&, Complexity_Class).
+	  Several assert(OK()) were missing.
+
+2007-03-18 Sunday 17:26  Abramo Bagnara
+
+	* src/checked_mpq.inlines.hh (1.40): Removed unused formal
+	  argument.
+
+2007-03-18 Sunday 16:53  Abramo Bagnara
+
+	* src/: checked_int.inlines.hh (1.59), checked_mpq.inlines.hh
+	  (1.39), checked_mpz.inlines.hh (1.43): Fixed construct from
+	  special value.
+
+2007-03-18 Sunday 15:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/: Makefile.am (1.34), frombox1.cc (1.1): Test
+	  Box<Interval>::Box(const Box<Other_Interval>&).
+
+2007-03-18 Sunday 14:01  Abramo Bagnara
+
+	* src/checked_mpq.inlines.hh (1.38): Removed unused argument.
+
+2007-03-18 Sunday 13:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh (1.54): Added tests against exceeding the
+	  maximum space dimension.  Optimized
+	  Box<Interval>::add_space_dimensions_and_project(dimension_type).
+
+2007-03-18 Sunday 12:21  Abramo Bagnara
+
+	* src/Box.templates.hh (1.53): Fixed typo.
+
+2007-03-18 Sunday 12:13  Abramo Bagnara
+
+	* src/Box.templates.hh (1.52): Cleaned Box constructor from Grid.
+
+2007-03-18 Sunday 12:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh (1.51): Added tests against exceeding the
+	  maximum space dimension.
+
+2007-03-18 Sunday 12:02  Abramo Bagnara
+
+	* src/Box.templates.hh (1.50): Cleaned Box constructor from
+	  Octagon.
+
+2007-03-18 Sunday 11:59  Abramo Bagnara
+
+	* src/Box.templates.hh (1.49): Cleaned Box constructor from
+	  Polyhedron.
+
+2007-03-18 Sunday 11:41  Abramo Bagnara
+
+	* src/Box.templates.hh (1.48): Substituted refine with narrow in
+	  refine_no_check.
+
+2007-03-18 Sunday 11:34  Abramo Bagnara
+
+	* src/: Box.templates.hh (1.47), Checked_Number.defs.hh (1.89),
+	  Checked_Number.inlines.hh (1.73), checked_ext.inlines.hh (1.37),
+	  checked_float.inlines.hh (1.75): Added support for inexact
+	  checking.
+
+2007-03-18 Sunday 11:05  Abramo Bagnara
+
+	* src/Box.templates.hh (1.46): Fixed comparison.
+
+2007-03-18 Sunday 11:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh (1.45): Marked the places in
+	  Box<Interval>::refine_no_check(const Constraint&) where the
+	  inexact flag must be reset.
+
+2007-03-18 Sunday 11:01  Abramo Bagnara
+
+	* src/Box.templates.hh (1.44): Undone last commit.
+
+2007-03-18 Sunday 10:54  Abramo Bagnara
+
+	* src/Box.templates.hh (1.43): Fixed comparison.
+
+2007-03-18 Sunday 10:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh (1.42): Box<Interval>::Box(const
+	  Generator_System&) simplified and adorned with FIXMEs.
+
+2007-03-18 Sunday 10:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh (1.41): Box<Interval>::Box(const
+	  Box<Other_Interval>&) simplified.
+
+2007-03-18 Sunday 09:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.defs.hh (1.25), src/Box.templates.hh (1.40),
+	  tests/Box/Makefile.am (1.33), tests/Box/fromspacedim1.cc (1.1):
+	  Box<Interval>::Box(dimension_type, Degenerate_Element) rewritten
+	  exploiting the fact that marked empty boxes do not impose any
+	  constraint on the intervals apart from the fact that their memory
+	  has been allocated.  Box<Interval>::OK() has been changed
+	  accordingly.	New test program fromspacedim1.cc tests
+	  Box<Interval>::Box(dimension_type, Degenerate_Element).
+	  Box<Interval>::Box(const BD_Shape<T>&, Complexity_Class) modified
+	  to exploit the new interval construction mechanisms.
+
+2007-03-18 Sunday 08:40  Abramo Bagnara
+
+	* src/: BD_Shape.inlines.hh (1.142), BD_Shape.templates.hh (1.76),
+	  Boundary.defs.hh (1.7), Box.inlines.hh (1.17), Box.templates.hh
+	  (1.39), Checked_Number.cc (1.11), Checked_Number.defs.hh (1.88),
+	  Checked_Number.inlines.hh (1.72), DB_Matrix.inlines.hh (1.32),
+	  DB_Row.templates.hh (1.5), Interval.defs.hh (1.39),
+	  Interval_Info.defs.hh (1.4), Interval_Restriction.defs.hh (1.5),
+	  OR_Matrix.inlines.hh (1.7), Octagonal_Shape.inlines.hh (1.15),
+	  Octagonal_Shape.templates.hh (1.51), Temp.defs.hh (1.4),
+	  checked.defs.hh (1.40), checked.inlines.hh (1.36),
+	  checked_ext.inlines.hh (1.36), checked_float.inlines.hh (1.74),
+	  checked_int.inlines.hh (1.58), checked_mpq.inlines.hh (1.37),
+	  checked_mpz.inlines.hh (1.42), checked_numeric_limits.hh (1.20),
+	  globals.defs.hh (1.46), meta_programming.hh (1.5): Removed
+	  special values classes. Changed interface to interval
+	  construction and modify.
+
+2007-03-17 Saturday 12:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/refine1.cc (1.9): test01(), test03() and test04() will
+	  fail with 8-bit coefficients.
+
+2007-03-16 Friday 21:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/refine2.cc (1.7): Restored test02().
+
+2007-03-16 Friday 20:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/refine1.cc (1.8): Completed test07().
+
+2007-03-16 Friday 20:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh (1.38): Removed spurious assignment `t_bound
+	  = 0' from Box<Interval>::refine_no_check(const Constraint&).
+
+2007-03-16 Friday 19:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/refine1.cc (1.7): Test test07() shows a bug in refine()
+	  when handling an equality constraint.
+
+2007-03-16 Friday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/refine1.cc (1.6): Fixed test06().
+
+2007-03-16 Friday 15:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: devref.doxyconf-html.in (1.81), devref.doxyconf-latex.in
+	  (1.20): Updated the list of files from which to harvest the
+	  documentation for developers.
+
+2007-03-16 Friday 15:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/refine1.cc (1.5): New test added.
+
+2007-03-16 Friday 15:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.defs.hh (1.24), Box.templates.hh (1.37): Comment with
+	  the implementation details of
+	  Box<Interval>::refine_no_check(const Constraint&) adapted to
+	  Doxygen and moved before the declaration in Box.defs.hh.
+
+2007-03-16 Friday 15:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Octagonal_Shape.defs.hh (1.27): Fixed some Doxygen
+	  references.
+
+2007-03-16 Friday 14:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: devref-c-interface.doxyconf-html.in (1.2),
+	  devref-c-interface.doxyconf-latex.in (1.2),
+	  devref-prolog-interface.doxyconf-html.in (1.2),
+	  devref-prolog-interface.doxyconf-latex.in (1.2),
+	  devref.doxyconf-html.in (1.80), devref.doxyconf-latex.in (1.19),
+	  user-c-interface.doxyconf-html.in (1.2),
+	  user-c-interface.doxyconf-latex.in (1.2),
+	  user-prolog-interface.doxyconf-html.in (1.2),
+	  user-prolog-interface.doxyconf-latex.in (1.2),
+	  user.doxyconf-html.in (1.39), user.doxyconf-latex.in (1.10):
+	  Updated for the new versions of Doxygen.
+
+2007-03-13 Tuesday 17:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.defs.hh (1.23), Box.templates.hh (1.36): New
+	  implementation of Box<Interval>::refine_no_check(const
+	  Constraint&).  Added declaration and fake definition for
+	  Box<Interval>::limited_CC76_extrapolation_assign(const Box&,
+	  const Constraint_System&, unsigned).
+
+2007-03-13 Tuesday 17:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Interval.defs.hh (1.38): New template <typename
+	  Interval_Boundary_Type> struct Select_Temp_Boundary_Type is an
+	  helper class to select the appropriate numerical type to perform
+	  boundary computations so as to reduce the chances of overflow
+	  without incurring too much overhead.
+
+2007-03-13 Tuesday 16:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/refine2.cc (1.6): Temporarily disabled test02().
+
+2007-03-13 Tuesday 16:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/refine1.cc (1.4): Improved test01().
+
+2007-03-13 Tuesday 16:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: BD_Shape/relations1.cc (1.17), BD_Shape/relations2.cc
+	  (1.21), BD_Shape/relations3.cc (1.25),
+	  Octagonal_Shape/relatwithcons1.cc (1.3),
+	  Octagonal_Shape/relatwithcons2.cc (1.5),
+	  Octagonal_Shape/relatwithgen1.cc (1.7): Output made consistent
+	  with the rest of the testsuite.
+
+2007-03-13 Tuesday 16:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Pointset_Powerset.defs.hh (1.16),
+	  Pointset_Powerset.templates.hh (1.13): Added void
+	  Pointset_Powerset<PS>::refine(const Constraint&) and void
+	  Pointset_Powerset<PS>::refine(const Constraint_System&).
+
+2007-03-13 Tuesday 15:52  Elena Mazzi
+
+	* src/BD_Shape.templates.hh (1.75): Corrected the method
+	  BD_Shape::relation_with(c) when the BD_Shape is based on integer
+	  coefficients and when the constraint `c' is `1 == 0'.
+
+2007-03-13 Tuesday 15:49  Elena Mazzi
+
+	* tests/BD_Shape/: Makefile.am (1.63), relations3.cc (1.24): Test
+	  relations3 abled. Added test17() that shows a bug in
+	  BD_Shape::relation_with(const Constraint& c) when the constraint
+	  `c' is `1 == 0'.
+
+2007-03-13 Tuesday 14:57  quartieri
+
+	* src/Octagonal_Shape_strong_closure4.hh (octagons.3): Removed a
+	  useless code line.
+
+2007-03-13 Tuesday 14:55  quartieri
+
+	* tests/Octagonal_Shape/: Makefile.am, universal_incremental.cc,
+	  universal_strong.cc (octagons.[4,1,1]): Added new tests on
+	  strong_closure() and incremental_strong_closure().
+
+2007-03-13 Tuesday 12:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/bhrz03widening3.cc (1.14): Test test10()
+	  completed and restored.
+
+2007-03-13 Tuesday 12:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_widenings.cc (1.61): Applied a workaround in
+	  private method select_H79_constraints() so as to correctly deal
+	  with NNC polyhedra. A too strong assertion made weaker: due to
+	  the value of the epsilon coordinate, the sign of the scalar
+	  product can be anything when the polyhedra are NNC, the
+	  constraint from x is strict and the generator from y is a point.
+
+2007-03-13 Tuesday 09:29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Scalar_Products.cc (1.7): Added the definition of a
+	  Scalar_Product::assign() variant that was declared but not
+	  implemented.
+
+2007-03-12 Monday 20:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/bhrz03widening3.cc (1.13): Test test10() greatly
+	  simplified, while still showing the assertion violation.
+
+2007-03-12 Monday 16:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Polyhedron/bhrz03widening3.cc (1.12): Added a test showing
+	  an assertion violation for the BHRZ03 widening.
+
+2007-03-12 Monday 14:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (1.35): Th eimplementation of affine_image
+	  and affine_preimage changed so as to use Tmp_Interval_Type. Also
+	  corrected a type in affine_preimage.
+
+2007-03-12 Monday 14:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.defs.hh (1.22): Added typedef Tmp_Interval_Type for the
+	  interval datatype that has to be used when performing internal
+	  computations and trying to avoid the accumulation of rounding
+	  errors. As for now, this is defined to be the same as Interval.
+
+2007-03-11 Sunday 10:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Pointset_Powerset.defs.hh (1.15),
+	  Pointset_Powerset.templates.hh (1.12): Added method bool
+	  contains_integer_point() const.
+
+2007-03-11 Sunday 10:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/Makefile.am (1.2): No longer mention
+	  README.configure.
+
+2007-03-10 Saturday 23:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/refine1.cc (1.3): Expected results fixed.
+
+2007-03-10 Saturday 23:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/: Makefile.am (1.32), refine3.cc (1.1): New test that
+	  triggers a bug in the Box class.
+
+2007-03-10 Saturday 21:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/refine2.cc (1.5): test02() fails with 64-bit or smaller
+	  coefficients.
+
+2007-03-10 Saturday 16:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.defs.hh (1.21), Box.inlines.hh (1.16): Assignment
+	  operator added.
+
+2007-03-10 Saturday 12:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/conversion.cc (1.81): Fixed a couple of comments.
+
+2007-03-10 Saturday 12:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ppl_test.hh (1.62): For boxes, check_result_i() prints now
+	  more information in case containment does not hold.
+
+2007-03-10 Saturday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/refine2.cc (1.4): Tests that do not require a watchdog
+	  timer moved to refine1.cc.  Remaining tests improved:
+	  known_result computed precisely and reduced the compilation time
+	  by resorting to ascii_load() methods.
+
+2007-03-10 Saturday 12:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/refine1.cc (1.2): Tests that do not require a watchdog
+	  timer moved from refine1.cc.
+
+2007-03-10 Saturday 08:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Interval.defs.hh (1.37): Drafted bool
+	  ascii_load(std::istream&) and template <typename Boundary,
+	  typename Info> std::istream& operator>>(std::istream&
+	  Interval<Boundary, Info>&).
+
+2007-03-09 Friday 19:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh (1.34): Fixed Box<Interval>::Box(const
+	  Box<Other_Interval>&).
+
+2007-03-09 Friday 19:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh (1.33): Improved
+	  Box<Interval>::ascii_dump(std::ostream&).
+
+2007-03-09 Friday 19:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Interval.defs.hh (1.36): Interval::ascii_dump(ostream&)
+	  correctly (and simply) implemented.
+
+2007-03-09 Friday 19:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/: Makefile.am (1.3), mipproblem1.cc (1.4),
+	  mipproblem2.cc (1.1): New program mipproblem2.cc to test the
+	  MIP_Problem class with instances that require a watchdog timer.
+	  Test from mipproblem1.cc adapted and moved here.
+
+2007-03-09 Friday 19:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.cc (1.50): The maybe_abandon() function is now
+	  called in the right places.
+
+2007-03-09 Friday 18:07  Andrea Cimino
+
+	* src/MIP_Problem.cc (1.49): Call `maybe_abandon()' each time a new
+	  vertex is explored.
+
+2007-03-09 Friday 18:02  Andrea Cimino
+
+	* src/MIP_Problem.cc (1.48): Call `maybe_abandon()' each time the
+	  simplex algorithm is involved.
+
+2007-03-09 Friday 16:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/refine2.cc (1.3): Completed test01().  Four more tests
+	  added (one of them is currently disabled, as it seems to trigger
+	  a bug somewhere).
+
+2007-03-09 Friday 15:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/: Makefile.am (1.31), cc76narrowing1.cc (1.4): Restored
+	  test cc76narrowing1.
+
+2007-03-09 Friday 15:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Box.defs.hh (1.20), Box.templates.hh (1.32): Drafted
+	  implementation of CC76_narrowing_assign().
+
+2007-03-09 Friday 14:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/Makefile.am (1.30): Restored bgp99extrapolation1 and
+	  bhz03widening1.
+
+2007-03-09 Friday 14:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/: Makefile.am (1.29), maxspacedim1.cc (1.4): Restored
+	  test maxspacedim1.cc.
+
+2007-03-09 Friday 14:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/Makefile.am (1.28): Restored test affinepreimage1.cc.
+
+2007-03-09 Friday 14:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/affineimage1.cc (1.6): Distances recomputed for test08.
+
+2007-03-09 Friday 14:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: BD_Shape/cc76extrapolation1.cc (1.18),
+	  Octagonal_Shape/cc76extrapolation1.cc (1.4): Use the new typedef
+	  coefficient_type_base.
+
+2007-03-09 Friday 14:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.98), Grid.defs.hh (1.46),
+	  Octagonal_Shape.defs.hh (1.26), Polyhedron.defs.hh (1.316): Added
+	  public typedef coefficient_type to Polyhedron and Grid.  Typedef
+	  base_type renamed as coefficient_base_type for BDSs and OSs.
+
+2007-03-09 Friday 12:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/: Makefile.am (1.27), affineimage1.cc (1.5): Test
+	  affineimage1.cc restored.
+
+2007-03-09 Friday 12:29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/max_min1.cc (1.5): Use new macro.
+
+2007-03-09 Friday 12:29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/ppl_test.hh (1.61): Filled in the stub implementation of
+	  check_result for Box.  Macro DO_TEST_MAY_OVERFLOW_IF_FLOAT
+	  improved and renamed as DO_TEST_MAY_OVERFLOW_IF_INEXACT.
+
+2007-03-09 Friday 12:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Box.inlines.hh (1.15), Box.templates.hh (1.31): Added
+	  implementations of functions computing distances between boxes.
+
+2007-03-09 Friday 12:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.defs.hh (1.19): Added declarations for functions that
+	  compute distances between boxes.
+
+2007-03-09 Friday 08:37  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* STANDARDS (1.37): Added a paragraph describing DO_TEST_Fxxx
+	  macros.
+
+2007-03-08 Thursday 19:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/checked_float.inlines.hh (1.73): Removed trailing whitespace.
+
+2007-03-08 Thursday 16:30  quartieri
+
+	* tests/Octagonal_Shape/incremental1.cc (octagons.3): Removed debug
+	  informations.
+
+2007-03-08 Thursday 15:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/max_min1.cc (1.4): Tests test07() and test08() may
+	  overflow when TBox has been instantiated with a floating point
+	  datatype.
+
+2007-03-08 Thursday 15:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/ppl_test.hh (1.60): Added macro DO_TEST_OVERFLOW which
+	  checks that a failure in a test is actually motivated by an
+	  overflow. The new macro used instead of DO_TEST_F (which was
+	  accepting any kind of failure) when defining macros DO_TEST_Fxx.
+
+	  Added new macro DO_TEST_MAY_OVERFLOW_WITH_FLOAT to be used when a
+	  test may cause an overflow only when one of the domains
+	  supporting floating points (i.e., Box, BD_Shape and
+	  Octagonal_Shape) is actually instantiated with a floating point
+	  datatype.
+
+2007-03-08 Thursday 14:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/: relations1.cc (1.4), relations2.cc (1.2): Noisy
+	  output standardized.
+
+2007-03-08 Thursday 14:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/refine2.cc (1.2): Fixed test01().
+
+2007-03-08 Thursday 14:11  quartieri
+
+	* tests/Octagonal_Shape/incremental1.cc (octagons.2): Truncate
+	  random coefficients to 1000.
+
+2007-03-08 Thursday 13:41  quartieri
+
+	* src/: Octagonal_Shape.defs.hh, Octagonal_Shape.templates.hh
+	  (octagons.[18,57]): Unused function removed.
+
+2007-03-08 Thursday 13:39  quartieri
+
+	* src/: Octagonal_Shape.defs.hh, Octagonal_Shape.templates.hh
+	  (octagons.[17,56]): Added a temporary function to count the
+	  infinities in the Octagonal_Shape.
+
+2007-03-08 Thursday 13:03  quartieri
+
+	* src/: Octagonal_Shape.templates.hh,
+	  Octagonal_Shape_incremental_strong_closure1.hh,
+	  Octagonal_Shape_incremental_strong_closure10.hh,
+	  Octagonal_Shape_incremental_strong_closure4.hh,
+	  Octagonal_Shape_incremental_strong_closure5.hh,
+	  Octagonal_Shape_incremental_strong_closure6.hh,
+	  Octagonal_Shape_incremental_strong_closure7.hh,
+	  Octagonal_Shape_incremental_strong_closure8.hh,
+	  Octagonal_Shape_incremental_strong_closure9.hh,
+	  Octagonal_Shape_strong_closure1.hh,
+	  Octagonal_Shape_strong_closure2.hh,
+	  Octagonal_Shape_strong_closure4.hh, script_flags.hh
+	  (octagons.[55,4,5,4,4,4,4,4,4,2,3,2,2]): Added possibility to
+	  count operations.
+
+2007-03-08 Thursday 13:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Rational_Box.hh (1.5), tests/ppl_test.hh (1.59): Intervals
+	  used in the Box class can be empty.
+
+2007-03-08 Thursday 13:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.214): Adde another entry.
+
+2007-03-08 Thursday 13:02  quartieri
+
+	* src/: Octagonal_Shape_incremental_strong_closure2.hh,
+	  Octagonal_Shape_incremental_strong_closure3.hh (octagons.[4,4]):
+	  Corrected both incomplete algorithms.
+
+2007-03-08 Thursday 11:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.108): Use special flags only for
+	  the compilation of Watchdog1.
+
+2007-03-08 Thursday 08:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.inlines.hh (1.14), src/Box.templates.hh (1.30),
+	  tests/Box/Makefile.am (1.26), tests/Box/addconstraints1.cc (1.7),
+	  tests/Box/refine1.cc (1.1), tests/Box/refine2.cc (1.1): Drafted a
+	  first version of Box<Interval>::refine_no_check(const
+	  Constraint_System&).	New test programs refine1.cc and
+	  refine2.cc: the latter is for tests possibly requiring a watchdog
+	  timer.
+
+2007-03-07 Wednesday 17:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.inlines.hh (1.141), BD_Shape.templates.hh (1.74):
+	  Reverted previous change (i.e., restored implementation of
+	  time_elapse exploiting polyhedra).
+
+2007-03-07 Wednesday 17:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/timeelapse1.cc (1.19): New test shows a bug in the
+	  (just added) direct implementation of
+	  BD_Shape<T>::time_elapse_assign().
+
+2007-03-07 Wednesday 15:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.inlines.hh (1.140), BD_Shape.templates.hh (1.73):
+	  The implementation of method BD_Shape<T>::time_elapse_assign() no
+	  longer relies on the corresponding method of class Polyhedron.
+
+2007-03-07 Wednesday 09:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Box.cc (1.5), Box.defs.hh (1.18), Box.templates.hh (1.29):
+	  Interface of private method extract_interval_constraint() made
+	  more intuitive.  Consequently adapted methods
+	  add_constraint_no_check() and relation_with().
+
+2007-03-06 Tuesday 22:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh (1.28), tests/Box/addconstraints1.cc (1.6):
+	  Revised Box<Interval>::refine_no_check(const Constraint&).
+
+2007-03-06 Tuesday 21:15  Abramo Bagnara
+
+	* src/Boundary.defs.hh (1.6): Moved assert to right place.
+
+2007-03-06 Tuesday 19:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh (1.27): Revised void
+	  Box<Interval>::refine_no_check(const Constraint&).
+
+2007-03-06 Tuesday 18:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.defs.hh (1.17), src/Box.inlines.hh (1.13),
+	  src/Box.templates.hh (1.26), tests/Box/addconstraints1.cc (1.5):
+	  Added the declarations for void Box<Interval>::refine(const
+	  Constraint&) and void Box<Interval>::refine(const
+	  Constraint_System&).	Drafted an implementation for the former.
+	  Commented-out test06() in tests/Box/addconstraints1.cc is meant
+	  to test it (will be moved elsewhere when the final name of the
+	  method is decided).
+
+2007-03-06 Tuesday 14:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/pointsetpowerset1.cc (1.2): Started drafting a couple
+	  of new tests.
+
+2007-03-06 Tuesday 12:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/Makefile.am (1.25): Restored test timeelapse1.cc.
+
+2007-03-06 Tuesday 12:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Box.defs.hh (1.16), Box.templates.hh (1.25): Drafted
+	  implementation for time_elapse_assign().
+
+2007-03-06 Tuesday 11:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/maxspacedim1.cc (1.12): Call
+	  Parma_Polyhedra_Library::max_space_dimension().
+
+2007-03-06 Tuesday 11:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/max_space_dimension.hh (1.12): Take boxes into account (with
+	  FIXME).
+
+2007-03-06 Tuesday 11:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/OR_Matrix.defs.hh (octagons.14): If EXTRA_ROW_DEBUG is not
+	  defined, define it to 0, not 1.
+
+2007-03-06 Tuesday 09:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.107), writeconsys1.cc (1.10):
+	  Test completed and FIXME resolved.
+
+2007-03-06 Tuesday 08:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/variablesset1.cc (1.10): FIXME resolved.
+
+2007-03-06 Tuesday 07:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/writerelation1.cc (1.12): This test program was
+	  not testing anything: fixed.
+
+2007-03-05 Monday 21:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/maxspacedim1.cc (1.3): This test program
+	  was not testing anything: fixed.
+
+2007-03-05 Monday 21:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/maxspacedim1.cc (1.3): This test program was not
+	  testing anything: fixed.
+
+2007-03-05 Monday 21:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/writebdshape1.cc (1.9): This test program was not
+	  testing anything: fixed.
+
+2007-03-05 Monday 18:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Direct_Product.inlines.hh (1.30), Grid.defs.hh (1.45),
+	  Grid.templates.hh (1.30): Method Grid::get_covering_box() now
+	  takes as parameter a reference to an object of class
+	  Parma_Polyhedra_Library::Box.
+
+2007-03-05 Monday 18:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (1.45): No longer use private Box methods.
+
+2007-03-05 Monday 18:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.defs.hh (1.15), Box.inlines.hh (1.12), Grid.defs.hh
+	  (1.44): Got rid of methods Box::raise_lower_bound() and
+	  Box::lower_upper_bound().
+
+2007-03-05 Monday 17:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.defs.hh (1.14), Box.inlines.hh (1.11): Privatized const
+	  Interval& Box<Interval>::operator[](dimension_type k) const.
+	  Drafted const Interval& Box<Interval>::get_interval(Variable)
+	  const and void Box<Interval>::set_interval(Variable, const
+	  Interval&).
+
+2007-03-05 Monday 17:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/: coveringbox1.cc (1.15), coveringbox2.cc (1.13),
+	  directproduct1.cc (1.27): Removed raise_lower_bound and
+	  lower_upper_bound
+
+2007-03-05 Monday 10:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.defs.hh (1.13), Box.inlines.hh (1.10): Added
+	  declaration and fake definitions for bool
+	  Box<Interval>::box_hull_assign_if_exact(const Box&) and bool
+	  Box<Interval>::upper_bound_assign_if_exact(const Box&).
+
+2007-03-05 Monday 09:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/: Makefile.am (1.24), fromdirectproduct1.cc (1.4):
+	  Program fromdirectproduct1.cc revised (with one FIXME) and
+	  activated.
+
+2007-03-04 Sunday 23:41  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/closure1.cc (1.19): Even test03() overflows when
+	  using 16 bit checked integers.
+
+2007-03-04 Sunday 23:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/closure1.cc (1.18): Another test showing that even
+	  two applications of Floyd-Warshall may not be enough to obtain
+	  shortest path closure when using floating points.
+
+2007-03-04 Sunday 23:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/closure1.cc (1.17): Test test02() overflows when
+	  using 16bit checked integers.
+
+2007-03-04 Sunday 23:04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/closure1.cc (1.16): Test test02() shows a simple
+	  example where the Floyd-Warshall algorithm fails to compute
+	  shortest path closure due to floating point approximations.
+
+2007-03-04 Sunday 22:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.30): Remove
+	  unwanted previously commented m4 code.
+
+2007-03-04 Sunday 22:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (1.44): Remove temporarily commented old code.
+
+2007-03-04 Sunday 22:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (1.43): Avoid generating code "From_Bounding_Box" Also avoid
+	  using raise_lower_bound and lower_upper_bound.
+
+2007-03-04 Sunday 21:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.205), interfaces/C/ppl_interface_generator_c_cc_code.m4
+	  (1.15), interfaces/C/ppl_interface_generator_c_cc_preamble (1.9),
+	  src/C_Polyhedron.defs.hh (1.47), src/C_Polyhedron.inlines.hh
+	  (1.35), src/Direct_Product.defs.hh (1.34),
+	  src/Direct_Product.inlines.hh (1.29), src/Grid.defs.hh (1.43),
+	  src/Grid.templates.hh (1.29), src/NNC_Polyhedron.defs.hh (1.49),
+	  src/NNC_Polyhedron.inlines.hh (1.36), src/globals.defs.hh (1.45),
+	  tests/ppl_test.hh (1.58), tests/Box/fromgrid1.cc (1.4),
+	  tests/Box/frompolyhedron2.cc (1.8), tests/Grid/boundingbox1.cc
+	  (1.18), tests/Grid/directproduct1.cc (1.26),
+	  tests/Polyhedron/frombox1.cc (1.3), tests/Polyhedron/frombox2.cc
+	  (1.3): The constructors
+
+	    template <typename Box> C_Polyhedron(const Box&,
+	  From_Bounding_Box),
+	    template <typename Box> NNC_Polyhedron(const Box&,
+	  From_Bounding_Box) and
+	    template <typename Box> Grid(const Box&, From_Bounding_Box)
+
+	  have been removed in favor of
+
+	    template <typename Interval> C_Polyhedron(const
+	  Box<Interval>&),
+	    template <typename Interval> NNC_Polyhedron(const
+	  Box<Interval>&) and
+	    template <typename Interval> Grid(const Box<Interval>&).
+
+2007-03-04 Sunday 18:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid.templates.hh (1.28), tests/Grid/boundingbox1.cc (1.17):
+	  Use add_constraint() instead of raise_lower_bound() and
+	  lower_upper_bound()
+
+2007-03-04 Sunday 18:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/Makefile.am (1.23): Testing with intervals with long
+	  double boundaries enabled again.
+
+2007-03-04 Sunday 18:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh (1.24): Fixed Box<Interval>::max_min().
+
+2007-03-04 Sunday 17:43  Abramo Bagnara
+
+	* src/: Boundary.defs.hh (1.5), Checked_Number.defs.hh (1.87),
+	  Checked_Number.inlines.hh (1.71): Added more versatile comparison
+	  functions.
+
+2007-03-04 Sunday 17:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Direct_Product.defs.hh (1.33): Removed declaration for void
+	  get_covering_box(Box&) const.
+
+2007-03-04 Sunday 17:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/frombox2.cc (1.2): No longer use
+	  Box::raise_lower_bound() and Box::lower_upper_bound().
+
+2007-03-04 Sunday 16:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/: empty1.cc (1.4), fromdirectproduct1.cc (1.3),
+	  fromgrid1.cc (1.3), frompolyhedron2.cc (1.7): No longer use
+	  Box::raise_lower_bound() and Box::lower_upper_bound().
+
+2007-03-04 Sunday 16:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/frombox1.cc (1.2): No longer use
+	  Box::raise_lower_bound() and Box::lower_upper_bound().
+
+2007-03-04 Sunday 15:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Determinate.defs.hh (1.66), Determinate.inlines.hh (1.56),
+	  Determinate.types.hh (1.10), Pointset_Ask_Tell.defs.hh (1.8),
+	  Pointset_Ask_Tell.inlines.hh (1.3),
+	  Pointset_Ask_Tell.templates.hh (1.8), Pointset_Ask_Tell.types.hh
+	  (1.3), Pointset_Powerset.defs.hh (1.14),
+	  Pointset_Powerset.inlines.hh (1.7),
+	  Pointset_Powerset.templates.hh (1.11): Type variable `PH' renamed
+	  `PS'.
+
+2007-03-04 Sunday 13:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/: Makefile.am (1.22), pointsetpowerset1.cc (1.1): New
+	  program to test Pointset_Powerset<PH> with boxes.  Temporarily
+	  disable testing with intervals with long double boundaries.
+
+2007-03-04 Sunday 10:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.213), src/Pointset_Powerset.defs.hh (1.13),
+	  src/Pointset_Powerset.templates.hh (1.10): Added
+	  Pointset_Powerset<PH>::affine_image(Variable, const
+	  Linear_Expression&, Coefficient_traits::const_reference).  Many
+	  other methods of Pointset_Powerset are missing.
+
+2007-03-04 Sunday 10:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh (1.23), tests/Box/intersection1.cc (1.5):
+	  Fixed Box<Interval>::intersection_assign(const Box&): it was not
+	  dealing properly with the emptiness flags.
+
+2007-03-03 Saturday 23:39  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/frompolyhedron1.cc (1.10): Test test14() fails with all
+	  bounded integer types.
+
+2007-03-03 Saturday 22:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/: Makefile.am (1.21), max_min1.cc (1.3): Restored
+	  max_min1.cc after disabling some of the tests that necessarily
+	  fail on floating point datatypes (to be improved so as to allow
+	  for approximations).
+
+2007-03-03 Saturday 22:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (1.22): Corrected method is_universe().
+
+2007-03-03 Saturday 21:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (1.21): Added a few missing interval
+	  initializations; marked by FIXMEs so as to be improved when we
+	  will have a richer set of intervals' constructors.
+
+2007-03-03 Saturday 21:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/: Makefile.am (1.20), relations2.cc (1.1): Testing
+	  methods relation_with().
+
+2007-03-03 Saturday 21:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Box.defs.hh (1.12), Box.templates.hh (1.20): Drafted
+	  implementations of methods relation_with().
+
+2007-03-03 Saturday 20:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.212): New item added.
+
+2007-03-03 Saturday 20:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/Makefile.am (1.19): Support parallel builds.
+
+2007-03-03 Saturday 18:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.211): New item added.
+
+2007-03-03 Saturday 18:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/frompolyhedron1.cc (1.9): Drafted a more complex test.
+
+2007-03-03 Saturday 18:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/frompolyhedron2.cc (1.6): Comment revised.
+
+2007-03-03 Saturday 18:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/frompolyhedron2.cc (1.5): Test Box::Box(const
+	  NNC_Polyhedron&, Complexity_Class).
+
+2007-03-03 Saturday 18:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.106), frombox2.cc (1.1): Test
+	  NNC_Polyhedron(const Box&, From_Bounding_Box).
+
+2007-03-03 Saturday 17:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/Makefile.am (1.18): Check Box::Box(const Polyhedron&,
+	  Complexity_Class) also with NNC polyhedra.
+
+2007-03-03 Saturday 17:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/: frompolyhedron1.cc (1.8), frompolyhedron2.cc (1.4),
+	  frompolyhedron4.cc (1.3): Tests for Box::Box(const Polyhedron&,
+	  Complexity_Class) reorganized.
+
+2007-03-03 Saturday 17:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.105), frombox1.cc (1.1): Test
+	  C_Polyhedron(const Box&, From_Bounding_Box) and
+	  NNC_Polyhedron(const Box&, From_Bounding_Box).
+
+2007-03-03 Saturday 17:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ppl_test.hh (1.57): Define BOX_INSTANCE if it is not
+	  already defined.
+
+2007-03-03 Saturday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/: Makefile.am (1.17), frompolyhedron1.cc (1.7),
+	  frompolyhedron2.cc (1.3): Adapted tests in frompolyhedron2.cc.
+	  Program max_min1 temporarily disabled (it fails).
+
+2007-03-03 Saturday 15:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: ppl_test.hh (1.56), Box/Makefile.am (1.16), Box/run_tests
+	  (1.2): Test class Box with multiple instantiations of the
+	  Interval parameter.
+
+2007-03-03 Saturday 15:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/: frompolyhedron1.cc (1.6), frompolyhedron3.cc (1.3):
+	  Test in frompolyhedron3.cc is now included in frompolyhedron1.cc.
+
+2007-03-03 Saturday 12:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: BD_Shape/bdsdifference1.cc (1.14),
+	  BD_Shape/bhmz05widening1.cc (1.14), BD_Shape/expandspacedim1.cc
+	  (1.3), BD_Shape/foldspacedims1.cc (1.5),
+	  BD_Shape/limitedbhmz05extrapolation1.cc (1.13),
+	  BD_Shape/limitedcc76extrapolation1.cc (1.14),
+	  BD_Shape/limitedh79extrapolation1.cc (1.13),
+	  BD_Shape/timeelapse1.cc (1.18), Box/bdsdifference1.cc (1.4),
+	  Box/boxdifference1.cc (1.5), Box/expandspacedim1.cc (1.5),
+	  Box/foldspacedims1.cc (1.6), Box/timeelapse1.cc (1.4),
+	  Octagonal_Shape/expandspacedim1.cc (1.4),
+	  Octagonal_Shape/foldspacedims1.cc (1.4),
+	  Octagonal_Shape/limitedbhmz05extrapolation1.cc (1.4),
+	  Octagonal_Shape/limitedcc76extrapolation1.cc (1.4),
+	  Octagonal_Shape/timeelapse1.cc (1.4): Noisy output improved.
+
+2007-03-03 Saturday 11:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/: addcongruences1.cc (1.10), addconstraint1.cc
+	  (1.10), addconstraints1.cc (1.11), addconstraints2.cc (1.10),
+	  addgenerator1.cc (1.11), addgenerator2.cc (1.11),
+	  addgenerators1.cc (1.12), addgenerators2.cc (1.11),
+	  addspacedims1.cc (1.11), addspacedims2.cc (1.11), affineimage1.cc
+	  (1.11), affinepreimage1.cc (1.10), append1.cc (1.11), append2.cc
+	  (1.10), bhrz03widening1.cc (1.10), bhrz03widening2.cc (1.10),
+	  bhrz03widening3.cc (1.11), boundedaffineimage1.cc (1.10),
+	  boundedaffinepreimage1.cc (1.8), boundedh79extrapolation1.cc
+	  (1.11), concatenate1.cc (1.10), congruences1.cc (1.8),
+	  dualhypercubes.cc (1.12), expandspacedim1.cc (1.12),
+	  expandspacedim2.cc (1.12), foldspacedims1.cc (1.14),
+	  foldspacedims2.cc (1.15), generalizedaffineimage1.cc (1.12),
+	  generalizedaffineimage2.cc (1.12), generalizedaffinepreimage1.cc
+	  (1.9), generalizedaffinepreimage2.cc (1.8), h79widening1.cc
+	  (1.10), h79widening2.cc (1.10), intersection1.cc (1.14),
+	  limitedbhrz03extrapolation1.cc (1.9), limitedh79extrapolation1.cc
+	  (1.10), linearpartition1.cc (1.12), mapspacedims1.cc (1.13),
+	  nncminimize1.cc (1.6), numberinput1.cc (1.31), permute.cc (1.8),
+	  polydifference1.cc (1.11), polydifference2.cc (1.11),
+	  polyhull1.cc (1.11), relations1.cc (1.10), removespacedims1.cc
+	  (1.10), removespacedims2.cc (1.10), timeelapse1.cc (1.11),
+	  timeelapse2.cc (1.11), topclosure1.cc (1.10), universe1.cc
+	  (1.10), universe2.cc (1.10): Noisy output improved.
+
+2007-03-03 Saturday 10:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/: addcongruence1.cc (1.13), addcongruences1.cc (1.16),
+	  addconstraint1.cc (1.11), addconstraints1.cc (1.12),
+	  addgenerator1.cc (1.15), addgenerators1.cc (1.15),
+	  addspacedims1.cc (1.14), affineimage1.cc (1.13), affineimage2.cc
+	  (1.11), affinepreimage1.cc (1.12), affinepreimage2.cc (1.7),
+	  bounded1.cc (1.13), boundedaffineimage1.cc (1.3),
+	  boundedaffinepreimage1.cc (1.3), boundingbox1.cc (1.16),
+	  generalizedaffineimage1.cc (1.13), generalizedaffineimage2.cc
+	  (1.12), generalizedaffineimage3.cc (1.4),
+	  generalizedaffinepreimage1.cc (1.15),
+	  generalizedaffinepreimage2.cc (1.15),
+	  generalizedaffinepreimage3.cc (1.4), grid1.cc (1.20),
+	  limitedextrapolation1.cc (1.12), limitedextrapolation2.cc (1.6),
+	  limitedextrapolation3.cc (1.5), partition1.cc (1.5), widening1.cc
+	  (1.15), widening2.cc (1.10), widening3.cc (1.5): Enforced
+	  consistency with the other tests.
+
+2007-03-02 Friday 21:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.204), interfaces/C/ppl_c.h.in (1.71), src/Grid.defs.hh
+	  (1.42): Last steps in the removal of the shrink_bounding_box()
+	  methods.
+
+2007-03-02 Friday 21:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: BBox.cc (1.14), BBox.hh (1.12), Makefile.am (1.262),
+	  Box/frompolyhedron2.cc (1.2), Box/frompolyhedron3.cc (1.2),
+	  Box/frompolyhedron4.cc (1.2): Class BBox phased out.
+
+2007-03-02 Friday 21:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.defs.hh (1.11), Box.templates.hh (1.19): New private
+	  methods void Box::add_constraint_no_check(const Constraint&) and
+	  void Box::add_constraints_no_check(const Constraint_System&)
+	  allow to optimize the addition of constraints to a box.
+
+2007-03-02 Friday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.defs.hh (1.10), src/Box.inlines.hh (1.9),
+	  src/Box.templates.hh (1.18), src/Direct_Product.defs.hh (1.32),
+	  src/Direct_Product.inlines.hh (1.28), tests/ppl_test.hh (1.55),
+	  tests/Box/fromdirectproduct1.cc (1.2): Got rid of
+	  Direct_Product::shrink_bounding_box() in favor of the constructor
+	  Box::Box(const Direct_Product<D1, D2>&, Complexity_Class).
+	  Removed lots of x's.
+
+2007-03-02 Friday 18:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.266), src/Any_Pointset.defs.hh (1.11),
+	  src/BD_Shape.cc (1.5), src/BD_Shape.defs.hh (1.97),
+	  src/BHRZ03_Certificate.defs.hh (1.17), src/Bit_Matrix.defs.hh
+	  (1.3), src/Bit_Row.defs.hh (1.5), src/Box.cc (1.4),
+	  src/Box.defs.hh (1.9), src/Checked_Number.defs.hh (1.86),
+	  src/Coefficient.types.hh (1.14),
+	  src/Coefficient_traits_template.hh (1.8), src/Congruence.defs.hh
+	  (1.19), src/Congruence_System.defs.hh (1.19),
+	  src/Constraint_System.defs.hh (1.36), src/DB_Matrix.defs.hh
+	  (1.27), src/DB_Matrix.inlines.hh (1.31),
+	  src/DB_Matrix.templates.hh (1.5), src/DB_Row.defs.hh (1.22),
+	  src/DB_Row.inlines.hh (1.21), src/DB_Row.templates.hh (1.4),
+	  src/Determinate.defs.hh (1.65), src/Direct_Product.defs.hh
+	  (1.31), src/Float.defs.hh (1.24), src/GMP_Integer.types.hh
+	  (1.16), src/Generator.defs.hh (1.122),
+	  src/Generator_System.defs.hh (1.23), src/Grid.defs.hh (1.41),
+	  src/Grid_Certificate.defs.hh (1.5), src/Grid_Generator.defs.hh
+	  (1.30), src/Grid_Generator_System.defs.hh (1.22),
+	  src/Grid_nonpublic.cc (1.24), src/Init.defs.hh (1.18),
+	  src/Linear_Row.defs.hh (1.24), src/Linear_System.defs.hh (1.31),
+	  src/Linear_System.inlines.hh (1.22), src/MIP_Problem.defs.hh
+	  (1.32), src/Matrix.defs.hh (1.81), src/OR_Matrix.defs.hh (1.8),
+	  src/OR_Matrix.inlines.hh (1.6), src/Octagonal_Shape.cc (1.4),
+	  src/Octagonal_Shape.defs.hh (1.25), src/Pointset_Ask_Tell.defs.hh
+	  (1.7), src/Pointset_Powerset.cc (1.11),
+	  src/Pointset_Powerset.defs.hh (1.12),
+	  src/Pointset_Powerset.templates.hh (1.9), src/Polyhedron.defs.hh
+	  (1.315), src/Polyhedron_nonpublic.cc (1.77),
+	  src/Ptr_Iterator.defs.hh (1.9), src/Rational_Box.hh (1.4),
+	  src/Row.cc (1.102), src/Row.defs.hh (1.110), src/Row.inlines.hh
+	  (1.64), src/Scalar_Products.defs.hh (1.9), src/Topology.hh
+	  (1.14), src/Variables_Set.defs.hh (1.6),
+	  src/Widening_Function.defs.hh (1.17), src/algorithms.hh (1.48),
+	  src/checked_numeric_limits.hh (1.19), src/compiler.hh (1.10),
+	  src/distances.inlines.hh (1.4), src/globals.defs.hh (1.44),
+	  src/iterator_to_const.defs.hh (1.5), src/meta_programming.hh
+	  (1.4), src/mp_std_bits.defs.hh (1.4), src/namespaces.hh (1.11):
+	  The `--enable-more-assertions' configure option can now be used
+	  to enable all sorts of ABI-breaking extra assertion checking.
+	  The `EXTRA_ROW_DEBUG' that was used in several places with
+	  different meaning has now gone in favor of new symbols, all
+	  characterized by the `PPL_' prefix.  Commends of several #endif's
+	  fixed.
+
+2007-03-02 Friday 18:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/Makefile.am (1.62): Test relations3 temporarily
+	  disabled.
+
+2007-03-02 Friday 17:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/relations3.cc (1.23): Test test16() shows a bug in
+	  BD_Shape::relation_with(const Constraint& c) when the BD_Shape is
+	  based on integer coefficients.
+
+2007-03-02 Friday 17:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.defs.hh (1.8), Box.templates.hh (1.17),
+	  Octagonal_Shape.defs.hh (1.24), Octagonal_Shape.templates.hh
+	  (1.50): Got rid of Octagonal_Shape::shrink_bounding_box() in
+	  favor of the constructor Box::Box(const Octagonal_Shape<T>&,
+	  Complexity_Class).
+
+2007-03-02 Friday 17:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (1.16): Solved a few FIXMEs. Corrected
+	  implementation of max_min().
+
+2007-03-02 Friday 16:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/: Makefile.am (1.15), addconstraints1.cc (1.4): Test
+	  addconstraints1.cc corrected and restored.
+
+2007-03-02 Friday 16:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/: Makefile.am (1.14), discrete1.cc (1.4): Test
+	  discrete1 corrected and restored.
+
+2007-03-02 Friday 16:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Box.inlines.hh (1.8), Box.templates.hh (1.15): Method
+	  constraints() no longer forces an emptyness check.  Method
+	  minimized_constraints() forces an emptyness check and also
+	  detects equality constraints.
+
+2007-03-02 Friday 16:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/: Makefile.am (1.13), minconstraints1.cc (1.4): Test
+	  minconstraints1.cc corrected and restored.
+
+2007-03-02 Friday 15:35  Abramo Bagnara
+
+	* src/Boundary.defs.hh (1.4): Added missing argument.
+
+2007-03-02 Friday 15:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/: Makefile.am (1.12), expandspacedim1.cc (1.4): Test
+	  expandspacedim1.cc corrected and restored.
+
+2007-03-02 Friday 15:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Interval.defs.hh (1.35): Drafted Interval::ascii_dump() to
+	  help in debugging.
+
+2007-03-02 Friday 15:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Box.inlines.hh (1.7), Box.templates.hh (1.14): Corrected a
+	  bug in Box::add_constraint() whereby a Box flagged as empty had
+	  the flag removed after adding a new constraint.
+
+2007-03-02 Friday 15:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh (1.13), tests/Box/Makefile.am (1.11),
+	  tests/Box/fromgrid1.cc (1.2): Constructor
+	  Box<Interval>::Box(const Grid&, Complexity_Class) corrected.
+	  Notice that this constructor is much less precise than it could
+	  be in case the box is made of modulo intervals.  Test program
+	  fromgrid1.cc revised and activated.
+
+2007-03-02 Friday 14:39  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/: Makefile.am (1.10), equality1.cc (1.4): Test
+	  equality1.cc corrected and restored.
+
+2007-03-02 Friday 14:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/boxhull1.cc (1.4): Test test08() shows a bug when
+	  calling join_assign() on Interval.
+
+2007-03-02 Friday 14:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/: Makefile.am (1.9), intersection1.cc (1.4): Test
+	  intersection1.cc corrected and restored.
+
+2007-03-02 Friday 14:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/: Makefile.am (1.8), max_min1.cc (1.2): Test
+	  max_min1.cc corrected and restored.
+
+2007-03-02 Friday 12:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/: Makefile.am (1.7), containsintegerpoint1.cc (1.5):
+	  Improved and restored test on Box::contains_integer_points().
+
+2007-03-02 Friday 12:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Interval.defs.hh (1.34): Fixed
+	  Interval::contains_integer_points() so as to correctly handle the
+	  case of unbounded intervals.
+
+2007-03-02 Friday 12:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (1.12): Added a fast-fail test to
+	  Box::contains_integer_point().
+
+2007-03-02 Friday 12:44  Abramo Bagnara
+
+	* src/Interval.defs.hh (1.33): Fixed typos.
+
+2007-03-02 Friday 11:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.14),
+	  interfaces/C/ppl_interface_generator_c_dat.m4 (1.11),
+	  interfaces/C/ppl_interface_generator_c_h_code.m4 (1.8),
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (1.42), src/BD_Shape.defs.hh (1.96), src/BD_Shape.templates.hh
+	  (1.72), src/Box.defs.hh (1.7), src/Box.templates.hh (1.11),
+	  src/Grid.defs.hh (1.40), src/Grid.templates.hh (1.27),
+	  src/Grid_Generator.defs.hh (1.29), src/Polyhedron.defs.hh
+	  (1.314), src/Polyhedron.templates.hh (1.13),
+	  tests/Box/fromdirectproduct1.cc (1.1), tests/Box/fromgrid1.cc
+	  (1.1), tests/Box/frompolyhedron1.cc (1.5),
+	  tests/Box/frompolyhedron2.cc (1.1), tests/Box/frompolyhedron3.cc
+	  (1.1), tests/Box/frompolyhedron4.cc (1.1), tests/Grid/Makefile.am
+	  (1.47), tests/Grid/boundingbox2.cc (1.14),
+	  tests/Grid/directproduct1.cc (1.25), tests/Polyhedron/Makefile.am
+	  (1.104), tests/Polyhedron/boundingbox1.cc (1.15),
+	  tests/Polyhedron/boundingbox2.cc (1.14),
+	  tests/Polyhedron/boundingbox3.cc (1.15): Started getting rid of
+	  BD_Shape::shrink_bounding_box() and Grid::shrink_bounding_box().
+
+2007-03-02 Friday 10:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/containsintegerpoint1.cc (1.4): Test test04() shows a
+	  bug in Interval::contains_integer_point().
+
+2007-03-02 Friday 10:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/: Makefile.am (1.6), affinedimension1.cc (1.5):
+	  Restored test affinedimension1.
+
+2007-03-02 Friday 10:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/Makefile.am (1.5): Disabled some tests.
+
+2007-03-02 Friday 10:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/boxdifference1.cc (1.4): Temporarily commented out
+	  test07.
+
+2007-03-02 Friday 09:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Makefile.am (1.261): Enable checks in the Box directory.
+
+2007-03-02 Friday 09:58  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/: Makefile.am (1.4), affinedimension1.cc (1.4),
+	  max_min1.cc (1.1), run_tests (1.1): A first attempt at
+	  distinguishing tests that compile, fail and succeed so as to
+	  enable automatic checks. Work still in progress.
+
+2007-03-01 Thursday 14:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/boundedbhrz03extrapolation1.cc (1.9): Test no
+	  longer fails with 8-bit checked integers and assertions disabled.
+
+2007-03-01 Thursday 10:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Any_Pointset.defs.hh (1.10), Polyhedron_widenings.cc
+	  (1.60): Started getting rid of Polyhedron::shrink_bounding_box().
+
+2007-02-28 Wednesday 17:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure (1.19), TODO (1.210): Mention the fact that GCC
+	  version 3.4.x are known to miscompile at least one of the
+	  development snapshots that led to PPL 0.10.  Mention also the
+	  fact that GCC 3.3.3 segfaults on such a snapshot (CVS HEAD, at
+	  least on x86_64).
+
+2007-02-28 Wednesday 16:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/tests/ppl_java_tests_common (simplex.1): file
+	  ppl_java_tests_common was added on branch simplex on 2008-01-07
+	  11:15:29 +0000
+
+2007-02-28 Wednesday 16:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.203), TODO (1.209), demos/ppl_lpsol/ppl_lpsol.c (1.68),
+	  interfaces/C/ppl_c.h.in (1.70),
+	  interfaces/C/ppl_interface_generator_c_cc_preamble (1.8),
+	  interfaces/C/ppl_interface_generator_c_h_preamble (1.7),
+	  interfaces/Java/jni/ppl_java_common.cc (1.30),
+	  interfaces/Java/tests/C_Polyhedron_test1.java (1.11),
+	  interfaces/Java/tests/ppl_java_tests_common (1.7),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4 (1.6),
+	  interfaces/OCaml/ppl_ocaml_globals.cc (1.9),
+	  interfaces/OCaml/ppl_ocaml_types.ml (1.9),
+	  interfaces/OCaml/test1.ml (1.29),
+	  interfaces/Prolog/ppl_prolog_common.icc (1.6),
+	  m4/ac_prog_javac.m4 (1.5), src/BD_Shape.templates.hh (1.71),
+	  src/Box.inlines.hh (1.6), src/Box.templates.hh (1.10),
+	  src/Grid_public.cc (1.51), src/Grid_simplify.cc (1.32),
+	  src/Interval.defs.hh (1.32), src/MIP_Problem.cc (1.47),
+	  src/Octagonal_Shape.templates.hh (1.49), src/Polyhedron_public.cc
+	  (1.91), src/globals.types.hh (1.11),
+	  tests/BD_Shape/affineimage1.cc (1.18),
+	  tests/BD_Shape/foldspacedims1.cc (1.4),
+	  tests/BD_Shape/generalizedaffineimage1.cc (1.16),
+	  tests/BD_Shape/generalizedaffineimage2.cc (1.20),
+	  tests/BD_Shape/generalizedaffinepreimage1.cc (1.14),
+	  tests/BD_Shape/generalizedaffinepreimage2.cc (1.15),
+	  tests/BD_Shape/generalizedaffinepreimage3.cc (1.5),
+	  tests/BD_Shape/removespacedims1.cc (1.19),
+	  tests/Box/affineimage1.cc (1.4), tests/Box/foldspacedims1.cc
+	  (1.5), tests/Box/generalizedaffineimage1.cc (1.4),
+	  tests/Box/generalizedaffinepreimage1.cc (1.4),
+	  tests/Box/removespacedims1.cc (1.5), tests/Grid/addgenerators1.cc
+	  (1.14), tests/Grid/directproduct1.cc (1.24),
+	  tests/Grid/generalizedaffineimage3.cc (1.3),
+	  tests/Grid/generalizedaffinepreimage3.cc (1.3),
+	  tests/Octagonal_Shape/boundedaffineimage1.cc (1.9),
+	  tests/Octagonal_Shape/foldspacedims1.cc (1.3),
+	  tests/Octagonal_Shape/frompolyhedron1.cc (1.3),
+	  tests/Octagonal_Shape/generalizedaffineimage1.cc (1.3),
+	  tests/Octagonal_Shape/generalizedaffineimage2.cc (1.3),
+	  tests/Octagonal_Shape/generalizedaffineimage3.cc (1.8),
+	  tests/Octagonal_Shape/generalizedaffineimage4.cc (1.3),
+	  tests/Octagonal_Shape/generalizedaffineimage5.cc (1.3),
+	  tests/Octagonal_Shape/generalizedaffinepreimage1.cc (1.4),
+	  tests/Octagonal_Shape/generalizedaffinepreimage2.cc (1.8),
+	  tests/Octagonal_Shape/generalizedaffinepreimage3.cc (1.4),
+	  tests/Octagonal_Shape/generalizedaffinepreimage4.cc (1.3),
+	  tests/Polyhedron/boundedaffineimage1.cc (1.9),
+	  tests/Polyhedron/exceptions1.cc (1.13),
+	  tests/Polyhedron/generalizedaffineimage1.cc (1.11),
+	  tests/Polyhedron/generalizedaffineimage2.cc (1.11),
+	  tests/Polyhedron/generalizedaffinepreimage1.cc (1.8): All
+	  identifiers containing the strings `less_than_or_equal' or
+	  `greater_than_or_equal', any case, have been renamed so as to
+	  contain `less_or_equal' or `greater_or_equal', respectively.
+
+2007-02-28 Wednesday 15:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Box.inlines.hh (1.5), Box.templates.hh (1.9): Drafted
+	  implementations for provate helper functions bounds and max_min.
+	  Added inline implementations of bounds_from_above/below and
+	  maximize/minimize expliting the private helper functions.
+
+2007-02-28 Wednesday 15:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.defs.hh (1.6): Added methods bounds_from_above,
+	  bounds_from_below, maximize and minimize, with versions computing
+	  a generator; also added private helper functions.
+
+2007-02-28 Wednesday 15:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.208), tests/Polyhedron/memory2.cc (1.13): All tests have
+	  been converted to the new standards.
+
+2007-02-28 Wednesday 11:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/affinepreimage1.cc (1.20): New test added.
+
+2007-02-28 Wednesday 10:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/: Makefile.am (1.17), affinepreimage1.cc
+	  (1.4), bug1.cc (1.4): Test program bug1.cc integrated into
+	  affinepreimage1.cc.
+
+2007-02-28 Wednesday 10:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/Makefile.am (1.61): Previous change completed.
+
+2007-02-28 Wednesday 10:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/: Makefile.am (1.60), affinepreimage1.cc (1.19),
+	  affinepreimage2.cc (1.14): Test program affinepreimage2.cc merged
+	  into affinepreimage1.cc.
+
+2007-02-28 Wednesday 09:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.202), src/Congruence_System.cc (1.23),
+	  src/Congruence_System.defs.hh (1.18),
+	  src/Congruence_System.inlines.hh (1.8), src/Constraint_System.cc
+	  (1.22), src/Generator_System.cc (1.21), src/Grid.templates.hh
+	  (1.26), src/Grid_Certificate.cc (1.7),
+	  src/Grid_Generator_System.defs.hh (1.21),
+	  src/Grid_Generator_System.inlines.hh (1.13), src/Grid_chdims.cc
+	  (1.16), src/Grid_conversion.cc (1.19), src/Grid_nonpublic.cc
+	  (1.23), src/Grid_public.cc (1.50), src/Grid_simplify.cc (1.31),
+	  src/Grid_widenings.cc (1.14), src/Linear_System.cc (1.42),
+	  src/Linear_System.inlines.hh (1.21), src/Polyhedron.templates.hh
+	  (1.12), src/Polyhedron_chdims.cc (1.42),
+	  src/Polyhedron_nonpublic.cc (1.76), src/Polyhedron_public.cc
+	  (1.90), src/Polyhedron_widenings.cc (1.59), src/minimize.cc
+	  (1.46): The new methods `bool Congruence_System::empty() const'
+	  and `bool Grid_Generator_System::empty() const' return true if
+	  and only if the system in question is empty.	Method
+	  Grid_Generator_System::num_generators() renamed num_rows().  All
+	  these methods are now used consistently throughout the library.
+
+2007-02-27 Tuesday 20:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.templates.hh (1.8), Polyhedron.templates.hh (1.11):
+	  Fixed Polyhedron::shrink_bounding_box().
+
+2007-02-27 Tuesday 19:03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (1.7): Constructor taking a Polyhedron
+	  rewritten from scratch.
+
+2007-02-27 Tuesday 19:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/frompolyhedron1.cc (1.4): Adjusted the known result.
+
+2007-02-27 Tuesday 17:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.defs.hh (1.5), src/Box.inlines.hh (1.4),
+	  src/Box.templates.hh (1.6), src/Interval.defs.hh (1.31),
+	  tests/Box/cc76widening.cc (1.4), tests/Box/concatenate1.cc (1.4),
+	  tests/Box/contains1.cc (1.4), tests/Box/disjoint1.cc (1.4),
+	  tests/Box/foldspacedims1.cc (1.4), tests/Box/removespacedims1.cc
+	  (1.4): Fourth merge from the `altnum' branch.
+
+2007-02-27 Tuesday 17:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS, src/BD_Shape.inlines.hh, src/BD_Shape.templates.hh,
+	  src/Box.defs.hh, src/Box.templates.hh,
+	  src/Constraint_System.defs.hh, src/Constraint_System.inlines.hh,
+	  src/Generator_System.defs.hh, src/Generator_System.inlines.hh,
+	  src/Interval.defs.hh, src/Interval_Restriction.defs.hh,
+	  src/Matrix.defs.hh, src/Matrix.inlines.hh,
+	  src/Octagonal_Shape.inlines.hh, src/Octagonal_Shape.templates.hh,
+	  src/Polyhedron.defs.hh, src/Polyhedron.inlines.hh,
+	  src/Polyhedron.templates.hh, src/globals.defs.hh,
+	  src/globals.inlines.hh
+	  (altnum.[9,7,8,25,39,4,4,5,4,94,10,8,6,5,9,12,11,5,15,7]):
+	  Eleventh merge of the main trunk to the `altnum' branch.
+
+2007-02-27 Tuesday 16:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.defs.hh (1.4), Box.templates.hh (1.5),
+	  Polyhedron.templates.hh (1.10): New constructor `explicit
+	  Box(const Polyhedron& ph, Complexity_Class complexity =
+	  ANY_COMPLEXITY)' builds a box from the polyhedron `ph' taking
+	  into account `complexity'.  This is the beginning of the end of
+	  Polyhedron::shrink_bounding_box().
+
+2007-02-27 Tuesday 16:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh (1.313), Polyhedron.inlines.hh (1.138):
+	  New private method `Constraint_System simplified_constraints()
+	  const' returns, if constraints are up-to-date, a simplified copy
+	  of them.  Class Polyhedron now befriends Box.
+
+2007-02-27 Tuesday 16:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.201), src/Constraint_System.defs.hh (1.35),
+	  src/Constraint_System.inlines.hh (1.9),
+	  src/Generator_System.defs.hh (1.22),
+	  src/Generator_System.inlines.hh (1.8): The new methods `bool
+	  Constraint_System::empty() const' and `bool
+	  Generator_System::empty() const' return true if and only if the
+	  constraint (resp., generator) system has no constraints (resp.,
+	  generators).
+
+2007-02-27 Tuesday 16:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Matrix.defs.hh (1.80), Matrix.inlines.hh (1.51): New method
+	  bool Matrix empty() const returns true if and only if *this has
+	  no rows.
+
+2007-02-27 Tuesday 15:56  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/: cc76widening.cc, foldspacedims1.cc,
+	  removespacedims1.cc (altnum.[4,2,3]): Minor corrections to the
+	  known results.
+
+2007-02-27 Tuesday 15:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (altnum.38): Corrected a bug in
+	  remove_space_dimensions().  Do not forget to handle the case of
+	  an empty Box in CC76_widening_assign().  Drafted implementation
+	  for fold_space_dimensions().
+
+2007-02-27 Tuesday 15:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.inlines.hh (altnum.27): Drafted implementations for
+	  max_space_dimension() and expand_space_dimension().
+
+2007-02-27 Tuesday 15:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.defs.hh (altnum.24): Added declaration for
+	  max_space_dimension().
+
+2007-02-27 Tuesday 14:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (altnum.37): Fixed an error in
+	  CC76_widening_assign().
+
+2007-02-27 Tuesday 11:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/: concatenate1.cc, cc76widening.cc (altnum.[3,3]): Let
+	  it compile.
+
+2007-02-27 Tuesday 11:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/: contains1.cc, disjoint1.cc (altnum.[2,2]): Adapted to
+	  the Box domain.
+
+2007-02-27 Tuesday 11:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (altnum.36): Corrected method contains(): it
+	  was not checking for emptyness of the first argument. Drafted
+	  implementation for is_disjoint_from().
+
+2007-02-27 Tuesday 11:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.inlines.hh (altnum.26): Added implementation for
+	  strictly_contains().
+
+2007-02-27 Tuesday 10:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.defs.hh (altnum.23): Declared methods strictly_contains()
+	  and is_disjoint_from().  Slightly improved the documentation for
+	  method contains().
+
+2007-02-27 Tuesday 10:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Interval.defs.hh (altnum.93): Drafted method
+	  is_disjoint_from(). To be carefully checked.
+
+2007-02-27 Tuesday 09:46  Abramo Bagnara
+
+	* src/: Interval.defs.hh (1.30), Interval_Restriction.defs.hh
+	  (1.4): Functions on restrictions need to return a state.
+
+2007-02-26 Monday 22:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.inlines.hh (1.139), BD_Shape.templates.hh (1.70),
+	  Box.templates.hh (1.4), Makefile.am (1.169),
+	  Octagonal_Shape.inlines.hh (1.14), Octagonal_Shape.templates.hh
+	  (1.48), Old_Interval.cc (1.4), Old_Interval.defs.hh (1.4),
+	  Old_Interval.inlines.hh (1.4), Old_Interval.types.hh (1.4),
+	  Polyhedron.templates.hh (1.9), globals.defs.hh (1.43),
+	  globals.inlines.hh (1.17): Got rid of Old_Interval and related
+	  classes.  Functions div_round_up(), is_additive_inverse(),
+	  is_even(), max_assign(), min_assign() and numer_denom() moved to
+	  globals.defs.hh and globals.inlines.hh.  The method
+	  Polyhedron::shrink_bounding_box() is now based on Box
+	  constructors.
+
+2007-02-26 Monday 17:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.templates.hh (1.8): Previous change reverted.
+
+2007-02-26 Monday 15:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.templates.hh (1.7): Started getting rid of
+	  Old_Interval.
+
+2007-02-26 Monday 11:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Boundary.defs.hh (1.3), src/Box.cc (1.3), src/Box.defs.hh
+	  (1.3), src/Box.inlines.hh (1.3), src/Box.templates.hh (1.3),
+	  src/Box.types.hh (1.3), src/C_Integer.hh (1.3),
+	  src/Interval_Info.defs.hh (1.3), src/Interval_Info.inlines.hh
+	  (1.3), src/Interval_Info.types.hh (1.3),
+	  src/Interval_Restriction.defs.hh (1.3), src/Old_Interval.cc
+	  (1.3), src/Old_Interval.defs.hh (1.3),
+	  src/Old_Interval.inlines.hh (1.3), src/Old_Interval.types.hh
+	  (1.3), src/Rational_Box.hh (1.3), src/Temp.defs.hh (1.3),
+	  src/meta_programming.hh (1.3), src/mp_std_bits.cc (1.3),
+	  src/mp_std_bits.defs.hh (1.3), src/mp_std_bits.inlines.hh (1.3),
+	  tests/Box/Makefile.am (1.3), tests/Box/addconstraints1.cc (1.3),
+	  tests/Box/addspacedims1.cc (1.3), tests/Box/affinedimension1.cc
+	  (1.3), tests/Box/affineimage1.cc (1.3),
+	  tests/Box/affinepreimage1.cc (1.3), tests/Box/ascii_dump_load1.cc
+	  (1.3), tests/Box/bdsdifference1.cc (1.3),
+	  tests/Box/bgp99extrapolation1.cc (1.3),
+	  tests/Box/bhz03widening1.cc (1.3), tests/Box/bounded1.cc (1.3),
+	  tests/Box/boundedaffineimage1.cc (1.3),
+	  tests/Box/boxdifference1.cc (1.3), tests/Box/boxhull.cc (1.3),
+	  tests/Box/boxhull1.cc (1.3), tests/Box/cc76narrowing1.cc (1.3),
+	  tests/Box/cc76widening.cc (1.3), tests/Box/closure1.cc (1.3),
+	  tests/Box/concatenate1.cc (1.3), tests/Box/constraints1.cc (1.3),
+	  tests/Box/contains1.cc (1.3), tests/Box/containsintegerpoint1.cc
+	  (1.3), tests/Box/discrete1.cc (1.3), tests/Box/disjoint1.cc
+	  (1.3), tests/Box/empty1.cc (1.3), tests/Box/equality1.cc (1.3),
+	  tests/Box/expandspacedim1.cc (1.3), tests/Box/foldspacedims1.cc
+	  (1.3), tests/Box/fromgensys1.cc (1.3),
+	  tests/Box/frompolyhedron1.cc (1.3),
+	  tests/Box/generalizedaffineimage1.cc (1.3),
+	  tests/Box/generalizedaffinepreimage1.cc (1.3),
+	  tests/Box/geomcovers1.cc (1.3), tests/Box/intersection1.cc (1.3),
+	  tests/Box/interval1.cc (1.3), tests/Box/interval2.cc (1.3),
+	  tests/Box/mapspacedims1.cc (1.3), tests/Box/maxspacedim1.cc
+	  (1.3), tests/Box/membytes1.cc (1.3), tests/Box/minconstraints1.cc
+	  (1.3), tests/Box/relations1.cc (1.3),
+	  tests/Box/removespacedims1.cc (1.3), tests/Box/timeelapse1.cc
+	  (1.3), tests/Box/universe1.cc (1.3), tests/Box/writebox1.cc
+	  (1.3): Copyright years extended.
+
+2007-02-26 Monday 10:38  Abramo Bagnara
+
+	* src/: checked.inlines.hh (1.35), checked_ext.inlines.hh (1.35):
+	  Use different function names.
+
+2007-02-26 Monday 10:24  Abramo Bagnara
+
+	* src/: checked.inlines.hh, checked_ext.inlines.hh
+	  (altnum.[33,15]): Use different function names.
+
+2007-02-25 Sunday 22:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/.cvsignore (simplex.1): file .cvsignore was added on
+	  branch simplex on 2008-01-07 11:15:36 +0000
+
+2007-02-25 Sunday 22:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.265),
+	  interfaces/C/ppl_interface_generator_c_cc_preamble (1.7),
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (1.41), interfaces/Prolog/ppl_prolog_common.icc (1.5),
+	  interfaces/Prolog/SICStus/sicstus_cfli.ic (1.15),
+	  interfaces/Prolog/SWI/Makefile.am (1.68),
+	  interfaces/Prolog/tests/pl_check.pl (1.45),
+	  src/BD_Shape.templates.hh (1.69), src/Boundary.defs.hh (1.2),
+	  src/Bounding_Box.cc (1.15), src/Bounding_Box.defs.hh (1.17),
+	  src/Bounding_Box.inlines.hh (1.16), src/Bounding_Box.types.hh
+	  (1.6), src/Box.cc (1.2), src/Box.defs.hh (1.2),
+	  src/Box.inlines.hh (1.2), src/Box.templates.hh (1.2),
+	  src/Box.types.hh (1.2), src/C_Integer.hh (1.2),
+	  src/Checked_Number.defs.hh (1.85), src/Checked_Number.inlines.hh
+	  (1.70), src/DB_Matrix.inlines.hh (1.30),
+	  src/Direct_Product.templates.hh (1.21), src/Float.defs.hh (1.23),
+	  src/GMP_Integer.defs.hh (1.25), src/GMP_Integer.inlines.hh
+	  (1.19), src/GMP_Integer.types.hh (1.15), src/Grid.templates.hh
+	  (1.25), src/Init.cc (1.29), src/Interval.cc (1.15),
+	  src/Interval.defs.hh (1.29), src/Interval.inlines.hh (1.26),
+	  src/Interval.types.hh (1.13), src/Interval_Info.defs.hh (1.2),
+	  src/Interval_Info.inlines.hh (1.2), src/Interval_Info.types.hh
+	  (1.2), src/Interval_Restriction.defs.hh (1.2), src/Limits.hh
+	  (1.11), src/Makefile.am (1.168), src/OR_Matrix.inlines.hh (1.5),
+	  src/Octagonal_Shape.templates.hh (1.47), src/Old_Interval.cc
+	  (1.2), src/Old_Interval.defs.hh (1.2),
+	  src/Old_Interval.inlines.hh (1.2), src/Old_Interval.types.hh
+	  (1.2), src/Polyhedron.inlines.hh (1.137),
+	  src/Polyhedron.templates.hh (1.6), src/Polyhedron_public.cc
+	  (1.89), src/Polyhedron_widenings.cc (1.58), src/Rational_Box.hh
+	  (1.2), src/Result.defs.hh (1.18), src/Rounding_Dir.defs.hh
+	  (1.12), src/Rounding_Dir.inlines.hh (1.6), src/Temp.defs.hh
+	  (1.2), src/checked.defs.hh (1.39), src/checked.inlines.hh (1.34),
+	  src/checked_ext.inlines.hh (1.34), src/checked_float.inlines.hh
+	  (1.72), src/checked_int.inlines.hh (1.57),
+	  src/checked_mpq.inlines.hh (1.36), src/checked_mpz.inlines.hh
+	  (1.41), src/checked_numeric_limits.hh (1.18), src/compiler.hh
+	  (1.9), src/fpu-c99.inlines.hh (1.13), src/fpu-ia32.inlines.hh
+	  (1.16), src/fpu-none.inlines.hh (1.6), src/fpu-sparc.inlines.hh
+	  (1.7), src/fpu.types.hh (1.4), src/globals.defs.hh (1.42),
+	  src/globals.types.hh (1.10), src/meta_programming.hh (1.2),
+	  src/mp_numeric_limits.cc (1.3), src/mp_numeric_limits.hh (1.11),
+	  src/mp_std_bits.cc (1.2), src/mp_std_bits.defs.hh (1.2),
+	  src/mp_std_bits.inlines.hh (1.2), tests/ppl_test.cc (1.8),
+	  tests/ppl_test.hh (1.54), tests/print.hh (1.40),
+	  tests/valgrind_suppressions (1.5), tests/BD_Shape/Makefile.am
+	  (1.59), tests/Box/.cvsignore (1.2), tests/Box/Makefile.am (1.2),
+	  tests/Box/addconstraints1.cc (1.2), tests/Box/addspacedims1.cc
+	  (1.2), tests/Box/affinedimension1.cc (1.2),
+	  tests/Box/affineimage1.cc (1.2), tests/Box/affinepreimage1.cc
+	  (1.2), tests/Box/ascii_dump_load1.cc (1.2),
+	  tests/Box/bdsdifference1.cc (1.2),
+	  tests/Box/bgp99extrapolation1.cc (1.2),
+	  tests/Box/bhz03widening1.cc (1.2), tests/Box/bounded1.cc (1.2),
+	  tests/Box/boundedaffineimage1.cc (1.2),
+	  tests/Box/boxdifference1.cc (1.2), tests/Box/boxhull.cc (1.2),
+	  tests/Box/boxhull1.cc (1.2), tests/Box/cc76narrowing1.cc (1.2),
+	  tests/Box/cc76widening.cc (1.2), tests/Box/closure1.cc (1.2),
+	  tests/Box/concatenate1.cc (1.2), tests/Box/constraints1.cc (1.2),
+	  tests/Box/contains1.cc (1.2), tests/Box/containsintegerpoint1.cc
+	  (1.2), tests/Box/discrete1.cc (1.2), tests/Box/disjoint1.cc
+	  (1.2), tests/Box/empty1.cc (1.2), tests/Box/equality1.cc (1.2),
+	  tests/Box/expandspacedim1.cc (1.2), tests/Box/foldspacedims1.cc
+	  (1.2), tests/Box/fromgensys1.cc (1.2),
+	  tests/Box/frompolyhedron1.cc (1.2),
+	  tests/Box/generalizedaffineimage1.cc (1.2),
+	  tests/Box/generalizedaffinepreimage1.cc (1.2),
+	  tests/Box/geomcovers1.cc (1.2), tests/Box/intersection1.cc (1.2),
+	  tests/Box/interval1.cc (1.2), tests/Box/interval2.cc (1.2),
+	  tests/Box/mapspacedims1.cc (1.2), tests/Box/maxspacedim1.cc
+	  (1.2), tests/Box/membytes1.cc (1.2), tests/Box/minconstraints1.cc
+	  (1.2), tests/Box/relations1.cc (1.2),
+	  tests/Box/removespacedims1.cc (1.2), tests/Box/timeelapse1.cc
+	  (1.2), tests/Box/universe1.cc (1.2), tests/Box/writebox1.cc
+	  (1.2), tests/Grid/boundingbox1.cc (1.15),
+	  tests/Grid/boundingbox2.cc (1.13), tests/Grid/coveringbox1.cc
+	  (1.14), tests/Grid/coveringbox2.cc (1.12),
+	  tests/Grid/directproduct1.cc (1.23),
+	  tests/Octagonal_Shape/Makefile.am (1.16),
+	  tests/Polyhedron/boundingbox1.cc (1.14),
+	  tests/Polyhedron/boundingbox2.cc (1.13),
+	  tests/Polyhedron/boundingbox3.cc (1.14),
+	  tests/Polyhedron/numberinput1.cc (1.30): Third merge from the
+	  `altnum' branch.
+
+2007-02-25 Sunday 19:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am, README, README.configure, TODO, configure.ac,
+	  instchk.hh, Watchdog/Makefile.am, Watchdog/README,
+	  Watchdog/configure.ac, Watchdog/doc/.cvsignore,
+	  Watchdog/doc/Makefile.am, Watchdog/doc/README.doc,
+	  Watchdog/doc/devref.doxyconf-html.in,
+	  Watchdog/doc/devref.doxyconf-latex.in, Watchdog/doc/devref.tex,
+	  Watchdog/doc/fdl.dox, Watchdog/doc/fdl.tex, Watchdog/doc/fdl.txt,
+	  Watchdog/doc/gpl.dox, Watchdog/doc/gpl.tex, Watchdog/doc/gpl.txt,
+	  Watchdog/doc/pwl.sty, Watchdog/doc/user.doxyconf-html.in,
+	  Watchdog/doc/user.doxyconf-latex.in, Watchdog/doc/user.tex,
+	  Watchdog/src/Doubly_Linked_Object.defs.hh,
+	  Watchdog/src/Doubly_Linked_Object.inlines.hh,
+	  Watchdog/src/Doubly_Linked_Object.types.hh,
+	  Watchdog/src/EList.defs.hh, Watchdog/src/EList.inlines.hh,
+	  Watchdog/src/EList.types.hh, Watchdog/src/EList_Iterator.defs.hh,
+	  Watchdog/src/EList_Iterator.inlines.hh,
+	  Watchdog/src/EList_Iterator.types.hh,
+	  Watchdog/src/Handler.defs.hh, Watchdog/src/Handler.inlines.hh,
+	  Watchdog/src/Handler.types.hh, Watchdog/src/Makefile.am,
+	  Watchdog/src/Pending_Element.cc,
+	  Watchdog/src/Pending_Element.defs.hh,
+	  Watchdog/src/Pending_Element.inlines.hh,
+	  Watchdog/src/Pending_Element.types.hh,
+	  Watchdog/src/Pending_List.cc, Watchdog/src/Pending_List.defs.hh,
+	  Watchdog/src/Pending_List.inlines.hh,
+	  Watchdog/src/Pending_List.types.hh, Watchdog/src/Time.cc,
+	  Watchdog/src/Time.defs.hh, Watchdog/src/Time.inlines.hh,
+	  Watchdog/src/Time.types.hh, Watchdog/src/Watchdog.cc,
+	  Watchdog/src/Watchdog.defs.hh, Watchdog/src/Watchdog.inlines.hh,
+	  Watchdog/src/Watchdog.types.hh, Watchdog/src/pwl_header.hh,
+	  Watchdog/utils/Makefile.am, Watchdog/utils/build_header.in,
+	  debian/Makefile.am, debian/libppl-pwl.copyright.in,
+	  debian/libppl.copyright.in, demos/Makefile.am,
+	  demos/ppl_lcdd/Makefile.am, demos/ppl_lcdd/ppl_lcdd.cc,
+	  demos/ppl_lcdd/examples/Makefile.am, demos/ppl_lpsol/Makefile.am,
+	  demos/ppl_lpsol/ppl_lpsol.c,
+	  demos/ppl_lpsol/examples/Makefile.am, doc/Makefile.am,
+	  doc/README.doc, doc/definitions.dox, doc/devref.tex,
+	  doc/ppl-config.1, doc/ppl-config_extra_man_text, doc/ppl.sty,
+	  doc/ppl_lcdd.1, doc/ppl_lcdd_extra_man_text, doc/ppl_lpsol.1,
+	  doc/ppl_lpsol_extra_man_text, doc/user.tex,
+	  interfaces/Makefile.am,
+	  interfaces/ppl_interface_generator_common.m4,
+	  interfaces/ppl_interface_generator_common_dat.m4,
+	  interfaces/ppl_interface_generator_copyright,
+	  interfaces/C/Makefile.am, interfaces/C/ppl_c.h.in,
+	  interfaces/C/ppl_c_version.h.in,
+	  interfaces/C/ppl_interface_generator_c_cc.m4,
+	  interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	  interfaces/C/ppl_interface_generator_c_cc_preamble,
+	  interfaces/C/ppl_interface_generator_c_dat.m4,
+	  interfaces/C/ppl_interface_generator_c_h.m4,
+	  interfaces/C/ppl_interface_generator_c_h_code.m4,
+	  interfaces/C/ppl_interface_generator_c_h_preamble,
+	  interfaces/Java/Makefile.am,
+	  interfaces/Java/ppl_interface_generator_java_dat.m4,
+	  interfaces/Java/jni/Makefile.am,
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4,
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4,
+	  interfaces/Java/jni/ppl_java_C_Polyhedron.cc,
+	  interfaces/Java/jni/ppl_java_Polyhedron.cc,
+	  interfaces/Java/jni/ppl_java_common.cc,
+	  interfaces/Java/jni/ppl_java_common.hh,
+	  interfaces/Java/jni/ppl_java_globals.cc,
+	  interfaces/Java/tests/C_Polyhedron_test1.java,
+	  interfaces/Java/tests/Makefile.am,
+	  interfaces/Java/tests/Test_Partial_Function.java,
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java.m4,
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4,
+	  interfaces/Java/tests/ppl_java_tests_common,
+	  interfaces/OCaml/Makefile.am,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_cc.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_dat.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4,
+	  interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4,
+	  interfaces/OCaml/ppl_ocaml.cc, interfaces/OCaml/ppl_ocaml.mli,
+	  interfaces/OCaml/ppl_ocaml_globals.cc,
+	  interfaces/OCaml/ppl_ocaml_globals.ml,
+	  interfaces/OCaml/ppl_ocaml_types.ml, interfaces/OCaml/test1.ml,
+	  interfaces/Prolog/Makefile.am,
+	  interfaces/Prolog/Prolog_interface.dox,
+	  interfaces/Prolog/exceptions.hh,
+	  interfaces/Prolog/ppl_interface_generator_prolog_dat.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_systems.m4,
+	  interfaces/Prolog/ppl_prolog_common.icc,
+	  interfaces/Prolog/track_allocation.hh,
+	  interfaces/Prolog/Ciao/Makefile.am,
+	  interfaces/Prolog/Ciao/ciao_cfli.hh,
+	  interfaces/Prolog/Ciao/ciao_clpq.pl,
+	  interfaces/Prolog/Ciao/ciao_clpq2.pl,
+	  interfaces/Prolog/Ciao/ciao_pl_check.pl,
+	  interfaces/Prolog/Ciao/ppl_ciao.cc,
+	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4,
+	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4,
+	  interfaces/Prolog/GNU/Makefile.am,
+	  interfaces/Prolog/GNU/gnu_pl_check.pl,
+	  interfaces/Prolog/GNU/gp_clpq.pl,
+	  interfaces/Prolog/GNU/gprolog_cfli.hh,
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc,
+	  interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4,
+	  interfaces/Prolog/SICStus/Makefile.am,
+	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4,
+	  interfaces/Prolog/SICStus/ppl_sicstus.pl,
+	  interfaces/Prolog/SICStus/sicstus_cfli.cc,
+	  interfaces/Prolog/SICStus/sicstus_cfli.h,
+	  interfaces/Prolog/SICStus/sicstus_cfli.ic,
+	  interfaces/Prolog/SICStus/sp_clpq.pl,
+	  interfaces/Prolog/SICStus/sp_pl_check.pl,
+	  interfaces/Prolog/SICStus/sp_predicate_check.pl,
+	  interfaces/Prolog/SWI/Makefile.am,
+	  interfaces/Prolog/SWI/pl_clpq.cc,
+	  interfaces/Prolog/SWI/pl_clpq.pl,
+	  interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4,
+	  interfaces/Prolog/SWI/ppl_pl.cc,
+	  interfaces/Prolog/SWI/ppl_swiprolog.pl,
+	  interfaces/Prolog/SWI/swi_cfli.hh,
+	  interfaces/Prolog/SWI/swi_pl_check.pl,
+	  interfaces/Prolog/SWI/swi_predicate_check.pl,
+	  interfaces/Prolog/XSB/Makefile.am,
+	  interfaces/Prolog/XSB/expected_clpq2_int16,
+	  interfaces/Prolog/XSB/expected_clpq2_int16_a,
+	  interfaces/Prolog/XSB/expected_clpq2_int32,
+	  interfaces/Prolog/XSB/expected_clpq2_int32_a,
+	  interfaces/Prolog/XSB/expected_clpq2_int64,
+	  interfaces/Prolog/XSB/expected_clpq2_int64_a,
+	  interfaces/Prolog/XSB/expected_clpq2_int8,
+	  interfaces/Prolog/XSB/expected_clpq2_int8_a,
+	  interfaces/Prolog/XSB/expected_clpq2_mpz,
+	  interfaces/Prolog/XSB/expected_clpq2_mpz_a,
+	  interfaces/Prolog/XSB/expected_clpq_int16,
+	  interfaces/Prolog/XSB/expected_clpq_int16_a,
+	  interfaces/Prolog/XSB/expected_clpq_int32,
+	  interfaces/Prolog/XSB/expected_clpq_int32_a,
+	  interfaces/Prolog/XSB/expected_clpq_int64,
+	  interfaces/Prolog/XSB/expected_clpq_int64_a,
+	  interfaces/Prolog/XSB/expected_clpq_int8,
+	  interfaces/Prolog/XSB/expected_clpq_int8_a,
+	  interfaces/Prolog/XSB/expected_clpq_mpz,
+	  interfaces/Prolog/XSB/expected_clpq_mpz_a,
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4,
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4,
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_predicate_check_P.m4,
+	  interfaces/Prolog/XSB/xsb_cfli.hh,
+	  interfaces/Prolog/XSB/xsb_clpq.P,
+	  interfaces/Prolog/XSB/xsb_clpq2.P,
+	  interfaces/Prolog/XSB/xsb_pl_check.P,
+	  interfaces/Prolog/YAP/Makefile.am,
+	  interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4,
+	  interfaces/Prolog/YAP/ppl_yap.pl,
+	  interfaces/Prolog/YAP/yap_cfli.hh,
+	  interfaces/Prolog/YAP/yap_clpq.pl,
+	  interfaces/Prolog/YAP/yap_clpq2.pl,
+	  interfaces/Prolog/YAP/yap_pl_check.pl,
+	  interfaces/Prolog/tests/Makefile.am,
+	  interfaces/Prolog/tests/clpq.pl,
+	  interfaces/Prolog/tests/clpq2.pl,
+	  interfaces/Prolog/tests/expected_clpq2_int16,
+	  interfaces/Prolog/tests/expected_clpq2_int16_a,
+	  interfaces/Prolog/tests/expected_clpq2_int32,
+	  interfaces/Prolog/tests/expected_clpq2_int32_a,
+	  interfaces/Prolog/tests/expected_clpq2_int64,
+	  interfaces/Prolog/tests/expected_clpq2_int64_a,
+	  interfaces/Prolog/tests/expected_clpq2_int8,
+	  interfaces/Prolog/tests/expected_clpq2_int8_a,
+	  interfaces/Prolog/tests/expected_clpq2_mpz,
+	  interfaces/Prolog/tests/expected_clpq2_mpz_a,
+	  interfaces/Prolog/tests/expected_clpq_int16,
+	  interfaces/Prolog/tests/expected_clpq_int16_a,
+	  interfaces/Prolog/tests/expected_clpq_int32,
+	  interfaces/Prolog/tests/expected_clpq_int32_a,
+	  interfaces/Prolog/tests/expected_clpq_int64,
+	  interfaces/Prolog/tests/expected_clpq_int64_a,
+	  interfaces/Prolog/tests/expected_clpq_int8,
+	  interfaces/Prolog/tests/expected_clpq_int8_a,
+	  interfaces/Prolog/tests/expected_clpq_mpz,
+	  interfaces/Prolog/tests/expected_clpq_mpz_a,
+	  interfaces/Prolog/tests/pl_check.pl,
+	  interfaces/Prolog/tests/pl_grid_check.pl,
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4,
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4,
+	  interfaces/Prolog/tests/ppl_predicate_check_common.pl,
+	  m4/Makefile.am, m4/ac_check_fpu_control.m4, m4/ac_check_gmp.m4,
+	  m4/ac_check_sicstus_prolog.m4, m4/ac_check_swi_prolog.m4,
+	  m4/ac_check_xsb_prolog.m4, m4/ac_cxx_attribute_weak.m4,
+	  m4/ac_cxx_double_binary_format.m4, m4/ac_cxx_flexible_arrays.m4,
+	  m4/ac_cxx_float_binary_format.m4,
+	  m4/ac_cxx_long_double_binary_format.m4,
+	  m4/ac_cxx_remainder_bug.m4, m4/ac_prog_jar.m4,
+	  m4/ac_prog_java.m4, m4/ac_prog_javac.m4, m4/ac_prog_javah.m4,
+	  m4/ac_text_md5sum.m4, m4/ppl.m4, src/Any_Pointset.defs.hh,
+	  src/Any_Pointset.inlines.hh, src/Any_Pointset.types.hh,
+	  src/Ask_Tell.defs.hh, src/Ask_Tell.inlines.hh,
+	  src/Ask_Tell.templates.hh, src/Ask_Tell.types.hh,
+	  src/BDS_Status.idefs.hh, src/BDS_Status.inlines.hh,
+	  src/BD_Shape.cc, src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
+	  src/BD_Shape.templates.hh, src/BD_Shape.types.hh,
+	  src/BHRZ03_Certificate.cc, src/BHRZ03_Certificate.defs.hh,
+	  src/BHRZ03_Certificate.inlines.hh,
+	  src/BHRZ03_Certificate.types.hh, src/Bit_Matrix.cc,
+	  src/Bit_Matrix.defs.hh, src/Bit_Matrix.inlines.hh,
+	  src/Bit_Matrix.types.hh, src/Bit_Row.cc, src/Bit_Row.defs.hh,
+	  src/Bit_Row.inlines.hh, src/Bit_Row.types.hh,
+	  src/C_Polyhedron.cc, src/C_Polyhedron.defs.hh,
+	  src/C_Polyhedron.inlines.hh, src/C_Polyhedron.types.hh,
+	  src/Checked_Number.cc, src/Checked_Number.defs.hh,
+	  src/Checked_Number.inlines.hh, src/Checked_Number.types.hh,
+	  src/Coefficient.cc, src/Coefficient.defs.hh,
+	  src/Coefficient.inlines.hh, src/Coefficient.types.hh,
+	  src/Coefficient_traits_template.hh, src/Congruence.cc,
+	  src/Congruence.defs.hh, src/Congruence.inlines.hh,
+	  src/Congruence.types.hh, src/Congruence_System.cc,
+	  src/Congruence_System.defs.hh, src/Congruence_System.inlines.hh,
+	  src/Congruence_System.types.hh, src/Constraint.cc,
+	  src/Constraint.defs.hh, src/Constraint.inlines.hh,
+	  src/Constraint.types.hh, src/Constraint_System.cc,
+	  src/Constraint_System.defs.hh, src/Constraint_System.inlines.hh,
+	  src/Constraint_System.types.hh, src/DB_Matrix.defs.hh,
+	  src/DB_Matrix.inlines.hh, src/DB_Matrix.templates.hh,
+	  src/DB_Matrix.types.hh, src/DB_Row.defs.hh,
+	  src/DB_Row.inlines.hh, src/DB_Row.templates.hh,
+	  src/DB_Row.types.hh, src/Determinate.defs.hh,
+	  src/Determinate.inlines.hh, src/Determinate.types.hh,
+	  src/Direct_Product.defs.hh, src/Direct_Product.inlines.hh,
+	  src/Direct_Product.templates.hh, src/Direct_Product.types.hh,
+	  src/Float.cc, src/Float.defs.hh, src/Float.inlines.hh,
+	  src/GMP_Integer.defs.hh, src/GMP_Integer.inlines.hh,
+	  src/GMP_Integer.types.hh, src/Generator.cc,
+	  src/Generator.defs.hh, src/Generator.inlines.hh,
+	  src/Generator.types.hh, src/Generator_System.cc,
+	  src/Generator_System.defs.hh, src/Generator_System.inlines.hh,
+	  src/Generator_System.types.hh, src/Grid.defs.hh,
+	  src/Grid.inlines.hh, src/Grid.templates.hh, src/Grid.types.hh,
+	  src/Grid_Certificate.cc, src/Grid_Certificate.defs.hh,
+	  src/Grid_Certificate.inlines.hh, src/Grid_Certificate.types.hh,
+	  src/Grid_Generator.cc, src/Grid_Generator.defs.hh,
+	  src/Grid_Generator.inlines.hh, src/Grid_Generator.types.hh,
+	  src/Grid_Generator_System.cc, src/Grid_Generator_System.defs.hh,
+	  src/Grid_Generator_System.inlines.hh,
+	  src/Grid_Generator_System.types.hh, src/Grid_Status.cc,
+	  src/Grid_Status.idefs.hh, src/Grid_Status.inlines.hh,
+	  src/Grid_chdims.cc, src/Grid_conversion.cc,
+	  src/Grid_nonpublic.cc, src/Grid_public.cc, src/Grid_simplify.cc,
+	  src/Grid_widenings.cc, src/H79_Certificate.cc,
+	  src/H79_Certificate.defs.hh, src/H79_Certificate.inlines.hh,
+	  src/H79_Certificate.types.hh, src/Init.cc, src/Init.defs.hh,
+	  src/Init.types.hh, src/Interval.defs.hh, src/Interval.inlines.hh,
+	  src/Interval.types.hh, src/Linear_Expression.cc,
+	  src/Linear_Expression.defs.hh, src/Linear_Expression.inlines.hh,
+	  src/Linear_Expression.types.hh, src/Linear_Row.cc,
+	  src/Linear_Row.defs.hh, src/Linear_Row.inlines.hh,
+	  src/Linear_Row.types.hh, src/Linear_System.cc,
+	  src/Linear_System.defs.hh, src/Linear_System.inlines.hh,
+	  src/Linear_System.types.hh, src/MIP_Problem.cc,
+	  src/MIP_Problem.defs.hh, src/MIP_Problem.inlines.hh,
+	  src/MIP_Problem.templates.hh, src/MIP_Problem.types.hh,
+	  src/Makefile.am, src/Matrix.cc, src/Matrix.defs.hh,
+	  src/Matrix.inlines.hh, src/Matrix.types.hh,
+	  src/NNC_Polyhedron.cc, src/NNC_Polyhedron.defs.hh,
+	  src/NNC_Polyhedron.inlines.hh, src/NNC_Polyhedron.types.hh,
+	  src/Numeric_Format.defs.hh, src/OR_Matrix.defs.hh,
+	  src/OR_Matrix.inlines.hh, src/OR_Matrix.templates.hh,
+	  src/OR_Matrix.types.hh, src/Octagonal_Shape.cc,
+	  src/Octagonal_Shape.defs.hh, src/Octagonal_Shape.inlines.hh,
+	  src/Octagonal_Shape.templates.hh, src/Octagonal_Shape.types.hh,
+	  src/Og_Status.idefs.hh, src/Og_Status.inlines.hh,
+	  src/Ph_Status.cc, src/Ph_Status.idefs.hh,
+	  src/Ph_Status.inlines.hh, src/Pointset_Ask_Tell.cc,
+	  src/Pointset_Ask_Tell.defs.hh, src/Pointset_Ask_Tell.inlines.hh,
+	  src/Pointset_Ask_Tell.templates.hh,
+	  src/Pointset_Ask_Tell.types.hh, src/Pointset_Powerset.cc,
+	  src/Pointset_Powerset.defs.hh, src/Pointset_Powerset.inlines.hh,
+	  src/Pointset_Powerset.templates.hh,
+	  src/Pointset_Powerset.types.hh, src/Poly_Con_Relation.cc,
+	  src/Poly_Con_Relation.defs.hh, src/Poly_Con_Relation.inlines.hh,
+	  src/Poly_Con_Relation.types.hh, src/Poly_Gen_Relation.cc,
+	  src/Poly_Gen_Relation.defs.hh, src/Poly_Gen_Relation.inlines.hh,
+	  src/Poly_Gen_Relation.types.hh, src/Polyhedron.defs.hh,
+	  src/Polyhedron.inlines.hh, src/Polyhedron.templates.hh,
+	  src/Polyhedron.types.hh, src/Polyhedron_chdims.cc,
+	  src/Polyhedron_nonpublic.cc, src/Polyhedron_public.cc,
+	  src/Polyhedron_widenings.cc, src/Powerset.defs.hh,
+	  src/Powerset.inlines.hh, src/Powerset.templates.hh,
+	  src/Powerset.types.hh, src/Ptr_Iterator.defs.hh,
+	  src/Ptr_Iterator.inlines.hh, src/Ptr_Iterator.types.hh,
+	  src/Result.defs.hh, src/Result.inlines.hh,
+	  src/Rounding_Dir.defs.hh, src/Rounding_Dir.inlines.hh,
+	  src/Row.cc, src/Row.defs.hh, src/Row.inlines.hh,
+	  src/Row.types.hh, src/Scalar_Products.cc,
+	  src/Scalar_Products.defs.hh, src/Scalar_Products.inlines.hh,
+	  src/Scalar_Products.types.hh, src/Topology.hh, src/Variable.cc,
+	  src/Variable.defs.hh, src/Variable.inlines.hh,
+	  src/Variable.types.hh, src/Variables_Set.cc,
+	  src/Variables_Set.defs.hh, src/Variables_Set.inlines.hh,
+	  src/Variables_Set.types.hh, src/Widening_Function.defs.hh,
+	  src/Widening_Function.inlines.hh, src/Widening_Function.types.hh,
+	  src/algorithms.hh, src/checked.cc, src/checked.defs.hh,
+	  src/checked.inlines.hh, src/checked_ext.defs.hh,
+	  src/checked_ext.inlines.hh, src/checked_float.inlines.hh,
+	  src/checked_int.inlines.hh, src/checked_mpq.inlines.hh,
+	  src/checked_mpz.inlines.hh, src/checked_numeric_limits.hh,
+	  src/compiler.hh, src/conversion.cc, src/distances.defs.hh,
+	  src/distances.inlines.hh, src/distances.types.hh,
+	  src/fpu-c99.inlines.hh, src/fpu-ia32.inlines.hh,
+	  src/fpu-none.inlines.hh, src/fpu-sparc.inlines.hh,
+	  src/fpu.defs.hh, src/fpu.types.hh, src/globals.cc,
+	  src/globals.defs.hh, src/globals.inlines.hh,
+	  src/globals.types.hh, src/initializer.hh,
+	  src/iterator_to_const.defs.hh, src/iterator_to_const.inlines.hh,
+	  src/iterator_to_const.types.hh, src/max_space_dimension.hh,
+	  src/minimize.cc, src/namespaces.hh, src/ppl-config.cc.in,
+	  src/ppl_header.hh, src/simplify.cc, src/swapping_sort.icc,
+	  src/version.cc, src/version.hh.in, tests/BBox.cc, tests/BBox.hh,
+	  tests/FCAIBVP.cc, tests/FCAIBVP.defs.hh,
+	  tests/FCAIBVP.inlines.hh, tests/FCAIBVP.types.hh,
+	  tests/Makefile.am, tests/Partial_Function.cc,
+	  tests/Partial_Function.defs.hh,
+	  tests/Partial_Function.inlines.hh,
+	  tests/Partial_Function.types.hh,
+	  tests/Random_Number_Generator.defs.hh,
+	  tests/Random_Number_Generator.inlines.hh,
+	  tests/Random_Number_Generator.types.hh, tests/files.cc,
+	  tests/files.hh, tests/ppl_test.cc, tests/ppl_test.hh,
+	  tests/print.cc, tests/print.hh, tests/Ask_Tell/Makefile.am,
+	  tests/Ask_Tell/append1.cc, tests/BD_Shape/Makefile.am,
+	  tests/BD_Shape/addconstraints1.cc,
+	  tests/BD_Shape/addspacedims1.cc,
+	  tests/BD_Shape/affinedimension1.cc,
+	  tests/BD_Shape/affineimage1.cc, tests/BD_Shape/affineimage2.cc,
+	  tests/BD_Shape/affinepreimage1.cc,
+	  tests/BD_Shape/affinepreimage2.cc,
+	  tests/BD_Shape/ascii_dump_load1.cc,
+	  tests/BD_Shape/bdsdifference1.cc, tests/BD_Shape/bdshull1.cc,
+	  tests/BD_Shape/bgp99extrapolation1.cc,
+	  tests/BD_Shape/bhmz05widening1.cc,
+	  tests/BD_Shape/bhz03widening1.cc, tests/BD_Shape/bounded1.cc,
+	  tests/BD_Shape/boundedaffineimage1.cc,
+	  tests/BD_Shape/boundedaffinepreimage1.cc,
+	  tests/BD_Shape/bounds1.cc, tests/BD_Shape/cc76extrapolation1.cc,
+	  tests/BD_Shape/cc76narrowing1.cc, tests/BD_Shape/closure1.cc,
+	  tests/BD_Shape/concatenate1.cc, tests/BD_Shape/constraints1.cc,
+	  tests/BD_Shape/contains1.cc,
+	  tests/BD_Shape/containsintegerpoint1.cc,
+	  tests/BD_Shape/discrete1.cc, tests/BD_Shape/disjoint1.cc,
+	  tests/BD_Shape/empty1.cc, tests/BD_Shape/equality1.cc,
+	  tests/BD_Shape/expandspacedim1.cc,
+	  tests/BD_Shape/foldspacedims1.cc, tests/BD_Shape/fromgensys1.cc,
+	  tests/BD_Shape/frompolyhedron1.cc,
+	  tests/BD_Shape/generalizedaffineimage1.cc,
+	  tests/BD_Shape/generalizedaffineimage2.cc,
+	  tests/BD_Shape/generalizedaffinepreimage1.cc,
+	  tests/BD_Shape/generalizedaffinepreimage2.cc,
+	  tests/BD_Shape/generalizedaffinepreimage3.cc,
+	  tests/BD_Shape/geomcovers1.cc, tests/BD_Shape/h79widening1.cc,
+	  tests/BD_Shape/intersection1.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation1.cc,
+	  tests/BD_Shape/limitedcc76extrapolation1.cc,
+	  tests/BD_Shape/limitedh79extrapolation1.cc,
+	  tests/BD_Shape/mapspacedims1.cc, tests/BD_Shape/max_min1.cc,
+	  tests/BD_Shape/max_min2.cc, tests/BD_Shape/maxspacedim1.cc,
+	  tests/BD_Shape/membytes1.cc, tests/BD_Shape/minconstraints1.cc,
+	  tests/BD_Shape/relations1.cc, tests/BD_Shape/relations2.cc,
+	  tests/BD_Shape/relations3.cc, tests/BD_Shape/removespacedims1.cc,
+	  tests/BD_Shape/run_tests, tests/BD_Shape/timeelapse1.cc,
+	  tests/BD_Shape/universe1.cc, tests/BD_Shape/writebdshape1.cc,
+	  tests/Grid/Makefile.am, tests/Grid/addcongruence1.cc,
+	  tests/Grid/addcongruences1.cc, tests/Grid/addconstraint1.cc,
+	  tests/Grid/addconstraints1.cc, tests/Grid/addgenerator1.cc,
+	  tests/Grid/addgenerators1.cc, tests/Grid/addspacedims1.cc,
+	  tests/Grid/affinedim1.cc, tests/Grid/affineimage1.cc,
+	  tests/Grid/affineimage2.cc, tests/Grid/affinepreimage1.cc,
+	  tests/Grid/affinepreimage2.cc,
+	  tests/Grid/approximatepartition1.cc,
+	  tests/Grid/asciidumpload1.cc, tests/Grid/asciidumpload2.cc,
+	  tests/Grid/asciidumpload3.cc, tests/Grid/asciidumpload4.cc,
+	  tests/Grid/asciidumpload5.cc, tests/Grid/asciidumpload6.cc,
+	  tests/Grid/asciidumpload7.cc, tests/Grid/bhz03widening1.cc,
+	  tests/Grid/bounded1.cc, tests/Grid/boundedaffineimage1.cc,
+	  tests/Grid/boundedaffinepreimage1.cc, tests/Grid/boundingbox1.cc,
+	  tests/Grid/boundingbox2.cc, tests/Grid/bounds1.cc,
+	  tests/Grid/certificate1.cc, tests/Grid/concatenate1.cc,
+	  tests/Grid/congruence1.cc, tests/Grid/congruences1.cc,
+	  tests/Grid/congruences2.cc, tests/Grid/contains1.cc,
+	  tests/Grid/containsintegerpoint1.cc,
+	  tests/Grid/copyconstruct1.cc, tests/Grid/coveringbox1.cc,
+	  tests/Grid/coveringbox2.cc, tests/Grid/directproduct1.cc,
+	  tests/Grid/directproduct2.cc, tests/Grid/discrete1.cc,
+	  tests/Grid/disjoint1.cc, tests/Grid/equals1.cc,
+	  tests/Grid/expandspacedim1.cc, tests/Grid/foldspacedims1.cc,
+	  tests/Grid/generalizedaffineimage1.cc,
+	  tests/Grid/generalizedaffineimage2.cc,
+	  tests/Grid/generalizedaffineimage3.cc,
+	  tests/Grid/generalizedaffinepreimage1.cc,
+	  tests/Grid/generalizedaffinepreimage2.cc,
+	  tests/Grid/generalizedaffinepreimage3.cc,
+	  tests/Grid/generator1.cc, tests/Grid/generators1.cc,
+	  tests/Grid/generators2.cc, tests/Grid/grid1.cc,
+	  tests/Grid/grid2.cc, tests/Grid/grid3.cc,
+	  tests/Grid/griddifference1.cc, tests/Grid/intersection1.cc,
+	  tests/Grid/isempty1.cc, tests/Grid/isuniverse1.cc,
+	  tests/Grid/join1.cc, tests/Grid/join2.cc,
+	  tests/Grid/limitedextrapolation1.cc,
+	  tests/Grid/limitedextrapolation2.cc,
+	  tests/Grid/limitedextrapolation3.cc, tests/Grid/mapspacedims1.cc,
+	  tests/Grid/maxmin1.cc, tests/Grid/membytes1.cc,
+	  tests/Grid/mincongruences1.cc, tests/Grid/mingenerators1.cc,
+	  tests/Grid/outputoperator1.cc, tests/Grid/outputoperator2.cc,
+	  tests/Grid/outputoperator3.cc, tests/Grid/partition1.cc,
+	  tests/Grid/powersetdifference1.cc,
+	  tests/Grid/powersetgeometricallycovers1.cc,
+	  tests/Grid/powersetgeometricallyequals1.cc,
+	  tests/Grid/relations1.cc, tests/Grid/relations2.cc,
+	  tests/Grid/relations3.cc, tests/Grid/removespacedims1.cc,
+	  tests/Grid/removespacedims2.cc, tests/Grid/timeelapse1.cc,
+	  tests/Grid/topclosed1.cc, tests/Grid/topclosure1.cc,
+	  tests/Grid/widening1.cc, tests/Grid/widening2.cc,
+	  tests/Grid/widening3.cc, tests/Grid/writecongruencesystem.cc,
+	  tests/MIP_Problem/Makefile.am,
+	  tests/MIP_Problem/ascii_dump_load1.cc,
+	  tests/MIP_Problem/exceptions1.cc,
+	  tests/MIP_Problem/mipproblem1.cc,
+	  tests/Octagonal_Shape/Makefile.am,
+	  tests/Octagonal_Shape/addspacedims1.cc,
+	  tests/Octagonal_Shape/affinedimension1.cc,
+	  tests/Octagonal_Shape/affineimage1.cc,
+	  tests/Octagonal_Shape/affineimage2.cc,
+	  tests/Octagonal_Shape/affinepreimage1.cc,
+	  tests/Octagonal_Shape/affinepreimage2.cc,
+	  tests/Octagonal_Shape/ascii_dump_load1.cc,
+	  tests/Octagonal_Shape/bhmz05widening1.cc,
+	  tests/Octagonal_Shape/bhz03widening1.cc,
+	  tests/Octagonal_Shape/bounded1.cc,
+	  tests/Octagonal_Shape/boundedaffineimage1.cc,
+	  tests/Octagonal_Shape/boundedaffinepreimage1.cc,
+	  tests/Octagonal_Shape/bounds1.cc, tests/Octagonal_Shape/bug1.cc,
+	  tests/Octagonal_Shape/cc76extrapolation1.cc,
+	  tests/Octagonal_Shape/cc76narrowing1.cc,
+	  tests/Octagonal_Shape/chinainit.cc,
+	  tests/Octagonal_Shape/concatenate1.cc,
+	  tests/Octagonal_Shape/constraints1.cc,
+	  tests/Octagonal_Shape/contains1.cc,
+	  tests/Octagonal_Shape/containsintegerpoint1.cc,
+	  tests/Octagonal_Shape/discrete1.cc,
+	  tests/Octagonal_Shape/disjoint1.cc,
+	  tests/Octagonal_Shape/empty1.cc,
+	  tests/Octagonal_Shape/expandspacedim1.cc,
+	  tests/Octagonal_Shape/foldspacedims1.cc,
+	  tests/Octagonal_Shape/fromgensys1.cc,
+	  tests/Octagonal_Shape/frompolyhedron1.cc,
+	  tests/Octagonal_Shape/generalizedaffineimage1.cc,
+	  tests/Octagonal_Shape/generalizedaffineimage2.cc,
+	  tests/Octagonal_Shape/generalizedaffineimage3.cc,
+	  tests/Octagonal_Shape/generalizedaffineimage4.cc,
+	  tests/Octagonal_Shape/generalizedaffineimage5.cc,
+	  tests/Octagonal_Shape/generalizedaffinepreimage1.cc,
+	  tests/Octagonal_Shape/generalizedaffinepreimage2.cc,
+	  tests/Octagonal_Shape/generalizedaffinepreimage3.cc,
+	  tests/Octagonal_Shape/generalizedaffinepreimage4.cc,
+	  tests/Octagonal_Shape/intersection1.cc,
+	  tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc,
+	  tests/Octagonal_Shape/limitedcc76extrapolation1.cc,
+	  tests/Octagonal_Shape/mapspacedims1.cc,
+	  tests/Octagonal_Shape/max_min1.cc,
+	  tests/Octagonal_Shape/max_min2.cc,
+	  tests/Octagonal_Shape/maxspacedim1.cc,
+	  tests/Octagonal_Shape/membytes1.cc,
+	  tests/Octagonal_Shape/minconstraints1.cc,
+	  tests/Octagonal_Shape/octdifference1.cc,
+	  tests/Octagonal_Shape/octhull1.cc,
+	  tests/Octagonal_Shape/relatwithcons1.cc,
+	  tests/Octagonal_Shape/relatwithcons2.cc,
+	  tests/Octagonal_Shape/relatwithgen1.cc,
+	  tests/Octagonal_Shape/removespacedims1.cc,
+	  tests/Octagonal_Shape/run_tests,
+	  tests/Octagonal_Shape/timeelapse1.cc,
+	  tests/Octagonal_Shape/universe1.cc,
+	  tests/Octagonal_Shape/writeoctagon1.cc,
+	  tests/Polyhedron/Makefile.am, tests/Polyhedron/README,
+	  tests/Polyhedron/addcongruence1.cc,
+	  tests/Polyhedron/addcongruences1.cc,
+	  tests/Polyhedron/addconstraint1.cc,
+	  tests/Polyhedron/addconstraints1.cc,
+	  tests/Polyhedron/addconstraints2.cc,
+	  tests/Polyhedron/addgenerator1.cc,
+	  tests/Polyhedron/addgenerator2.cc,
+	  tests/Polyhedron/addgenerators1.cc,
+	  tests/Polyhedron/addgenerators2.cc,
+	  tests/Polyhedron/addspacedims1.cc,
+	  tests/Polyhedron/addspacedims2.cc,
+	  tests/Polyhedron/affineimage1.cc,
+	  tests/Polyhedron/affineimage2.cc,
+	  tests/Polyhedron/affinepreimage1.cc,
+	  tests/Polyhedron/affinetrans.cc, tests/Polyhedron/append1.cc,
+	  tests/Polyhedron/append2.cc,
+	  tests/Polyhedron/ascii_dump_load1.cc,
+	  tests/Polyhedron/ascii_dump_load2.cc,
+	  tests/Polyhedron/ascii_dump_load3.cc,
+	  tests/Polyhedron/bgp99extrapolation1.cc,
+	  tests/Polyhedron/bhrz03widening1.cc,
+	  tests/Polyhedron/bhrz03widening2.cc,
+	  tests/Polyhedron/bhrz03widening3.cc,
+	  tests/Polyhedron/bhz03widening1.cc, tests/Polyhedron/bounded1.cc,
+	  tests/Polyhedron/boundedaffineimage1.cc,
+	  tests/Polyhedron/boundedaffinepreimage1.cc,
+	  tests/Polyhedron/boundedbhrz03extrapolation1.cc,
+	  tests/Polyhedron/boundedh79extrapolation1.cc,
+	  tests/Polyhedron/boundingbox1.cc,
+	  tests/Polyhedron/boundingbox2.cc,
+	  tests/Polyhedron/boundingbox3.cc, tests/Polyhedron/bounds1.cc,
+	  tests/Polyhedron/cnncconversion1.cc,
+	  tests/Polyhedron/concatenate1.cc,
+	  tests/Polyhedron/congruences1.cc,
+	  tests/Polyhedron/constraints1.cc, tests/Polyhedron/contains1.cc,
+	  tests/Polyhedron/contains2.cc,
+	  tests/Polyhedron/containsintegerpoint1.cc,
+	  tests/Polyhedron/disjoint1.cc, tests/Polyhedron/disjoint2.cc,
+	  tests/Polyhedron/dualhypercubes.cc, tests/Polyhedron/empty1.cc,
+	  tests/Polyhedron/equals1.cc, tests/Polyhedron/exceptions1.cc,
+	  tests/Polyhedron/exceptions2.cc, tests/Polyhedron/exceptions3.cc,
+	  tests/Polyhedron/expandspacedim1.cc,
+	  tests/Polyhedron/expandspacedim2.cc,
+	  tests/Polyhedron/foldspacedims1.cc,
+	  tests/Polyhedron/foldspacedims2.cc,
+	  tests/Polyhedron/generalizedaffineimage1.cc,
+	  tests/Polyhedron/generalizedaffineimage2.cc,
+	  tests/Polyhedron/generalizedaffinepreimage1.cc,
+	  tests/Polyhedron/generalizedaffinepreimage2.cc,
+	  tests/Polyhedron/generators1.cc, tests/Polyhedron/geomcovers1.cc,
+	  tests/Polyhedron/h79widening1.cc,
+	  tests/Polyhedron/h79widening2.cc, tests/Polyhedron/hybrid.cc,
+	  tests/Polyhedron/intersection1.cc,
+	  tests/Polyhedron/limitedbhrz03extrapolation1.cc,
+	  tests/Polyhedron/limitedh79extrapolation1.cc,
+	  tests/Polyhedron/linearpartition1.cc,
+	  tests/Polyhedron/linearsystem1.cc,
+	  tests/Polyhedron/linexpression1.cc,
+	  tests/Polyhedron/mapspacedims1.cc, tests/Polyhedron/matrix1.cc,
+	  tests/Polyhedron/max_min1.cc, tests/Polyhedron/maxspacedim1.cc,
+	  tests/Polyhedron/mc91.cc, tests/Polyhedron/membytes1.cc,
+	  tests/Polyhedron/memory1.cc, tests/Polyhedron/memory2.cc,
+	  tests/Polyhedron/minconstraints1.cc,
+	  tests/Polyhedron/minconstraints2.cc,
+	  tests/Polyhedron/mingenerators1.cc,
+	  tests/Polyhedron/mingenerators2.cc,
+	  tests/Polyhedron/nncminimize1.cc,
+	  tests/Polyhedron/nncminimize2.cc,
+	  tests/Polyhedron/numberinput1.cc, tests/Polyhedron/onepoint.cc,
+	  tests/Polyhedron/permute.cc,
+	  tests/Polyhedron/pointsetpowerset1.cc,
+	  tests/Polyhedron/polydifference1.cc,
+	  tests/Polyhedron/polydifference2.cc,
+	  tests/Polyhedron/polyhull1.cc, tests/Polyhedron/polyhull2.cc,
+	  tests/Polyhedron/powerset1.cc, tests/Polyhedron/randphull1.cc,
+	  tests/Polyhedron/randphull2.cc, tests/Polyhedron/relations1.cc,
+	  tests/Polyhedron/relations2.cc, tests/Polyhedron/relations3.cc,
+	  tests/Polyhedron/removespacedims1.cc,
+	  tests/Polyhedron/removespacedims2.cc, tests/Polyhedron/smm1.cc,
+	  tests/Polyhedron/timeelapse1.cc, tests/Polyhedron/timeelapse2.cc,
+	  tests/Polyhedron/topclosed1.cc, tests/Polyhedron/topclosure1.cc,
+	  tests/Polyhedron/universe1.cc, tests/Polyhedron/universe2.cc,
+	  tests/Polyhedron/variablesset1.cc, tests/Polyhedron/watchdog1.cc,
+	  tests/Polyhedron/writeconsys1.cc,
+	  tests/Polyhedron/writegensys1.cc,
+	  tests/Polyhedron/writepolyhedron1.cc,
+	  tests/Polyhedron/writepolyhedron2.cc,
+	  tests/Polyhedron/writerelation1.cc,
+	  tests/Polyhedron/writevariable1.cc, utils/Makefile.am,
+	  utils/build_header.in, utils/cm_cleaner.sh, utils/cm_splitter.sh,
+	  utils/text2cxxarray.in, utils/timings.cc, utils/timings.hh
+	  (altnum.[6,5,5,10,28,4,7,4,5,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,8,13,4,7,8,4,6,3,10,5,3,3,5,3,3,3,3,5,5,4,4,3,4,7,3,3,4,5,4,3,4,3,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,4,4,2,2,2,4,4,9,4,4,4,8,3,5,4,8,3,4,5,5,8,3,3,7,3,2,3,6,3,8,4,2,2,2,4,4,3,3,9,2,3,3,2,2,3,3,3,7,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,5,7,3,2,3,3,3,3,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,8,3,4,4,3,4,3,3,3,3,3,2,3,2,3,3, [...]
+	  Tenth merge of the main trunk to the `altnum' branch.
+
+2007-02-25 Sunday 18:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (altnum.27): Two corrections to the code
+	  implementing the `--enable-fpmath' option.
+
+2007-02-25 Sunday 14:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac, src/fpu-ia32.inlines.hh (altnum.[26,8]): The
+	  `--enable-fpmath' configure option now causes the possible
+	  definition of macros PPL_FPMATH_MAY_USE_387 and
+	  PPL_FPMATH_MAY_USE_SSE.
+
+2007-02-24 Saturday 20:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (altnum.25): New option `--enable-fpmath' allows to
+	  select specific floating point arithmetics.  Possible values are
+	  sse, sse2, 387, sse+387, sse2+387, default or no (equivalent to
+	  --disable-fpmath).
+
+2007-02-24 Saturday 20:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/Makefile.am (altnum.8): No longer use the
+	  comma as the separator for plld's -ld-options (since commas can
+	  occur in the arguments, e.g., in -mfpmath=sse,387): use the slash
+	  instead.
+
+2007-02-23 Friday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (ppl-0_9-branch.11): The user manual (in various
+	  formats) is now in the `docs' package.
+
+2007-02-23 Friday 13:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.207): New entry added.
+
+2007-02-22 Thursday 21:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (altnum.24): Drafted new configure options
+	  --enable-sse and --enable-sse2.
+
+2007-02-22 Thursday 12:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (ppl-0_9-branch.10): Percent signs quoted in the
+	  change log.
+
+2007-02-22 Thursday 11:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (ppl-0_9-branch.9): Version bumped.
+
+2007-02-22 Thursday 11:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (ppl-0_9-branch.8): Dependencies for YAP fixed.  Make
+	  sure the header files of GNU Prolog and YAP are found.
+
+2007-02-22 Thursday 08:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (ppl-0_9-branch.7): Added missing dependencies.
+
+2007-02-19 Monday 17:23  Abramo Bagnara
+
+	* src/: fpu-c99.inlines.hh, fpu-ia32.inlines.hh,
+	  fpu-none.inlines.hh, fpu-sparc.inlines.hh (altnum.[4,7,3,4]): Add
+	  support for SSE. Removed unused function.
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/.cvsignore (altnum.1): file .cvsignore was added on
+	  branch altnum on 2007-02-25 18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/.cvsignore (simplex.1): file .cvsignore was added on
+	  branch simplex on 2008-01-07 11:15:25 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/Makefile.am (altnum.1): file Makefile.am was added
+	  on branch altnum on 2007-02-25 18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/README.doc (altnum.1): file README.doc was added on
+	  branch altnum on 2007-02-25 18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/devref.doxyconf-html.in (altnum.1): file
+	  devref.doxyconf-html.in was added on branch altnum on 2007-02-25
+	  18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/devref.doxyconf-html.in (simplex.1): file
+	  devref.doxyconf-html.in was added on branch simplex on 2008-01-07
+	  11:15:25 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/devref.doxyconf-latex.in (altnum.1): file
+	  devref.doxyconf-latex.in was added on branch altnum on 2007-02-25
+	  18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/devref.doxyconf-latex.in (simplex.1): file
+	  devref.doxyconf-latex.in was added on branch simplex on
+	  2008-01-07 11:15:25 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/devref.tex (altnum.1): file devref.tex was added on
+	  branch altnum on 2007-02-25 18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/fdl.dox (altnum.1): file fdl.dox was added on branch
+	  altnum on 2007-02-25 18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/fdl.dox (simplex.1): file fdl.dox was added on
+	  branch simplex on 2008-01-07 11:15:25 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/fdl.tex (altnum.1): file fdl.tex was added on branch
+	  altnum on 2007-02-25 18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/fdl.tex (simplex.1): file fdl.tex was added on
+	  branch simplex on 2008-01-07 11:15:25 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/fdl.txt (altnum.1): file fdl.txt was added on branch
+	  altnum on 2007-02-25 18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/fdl.txt (simplex.1): file fdl.txt was added on
+	  branch simplex on 2008-01-07 11:15:25 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/gpl.dox (altnum.1): file gpl.dox was added on branch
+	  altnum on 2007-02-25 18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/gpl.tex (altnum.1): file gpl.tex was added on branch
+	  altnum on 2007-02-25 18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/gpl.txt (altnum.1): file gpl.txt was added on branch
+	  altnum on 2007-02-25 18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/pwl.sty (altnum.1): file pwl.sty was added on branch
+	  altnum on 2007-02-25 18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/user.doxyconf-html.in (altnum.1): file
+	  user.doxyconf-html.in was added on branch altnum on 2007-02-25
+	  18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/user.doxyconf-latex.in (altnum.1): file
+	  user.doxyconf-latex.in was added on branch altnum on 2007-02-25
+	  18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/user.tex (altnum.1): file user.tex was added on
+	  branch altnum on 2007-02-25 18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: Makefile.am (1.27), configure.ac (1.35),
+	  doc/.cvsignore (1.1), doc/Makefile.am (1.1), doc/README.doc
+	  (1.1), doc/devref.doxyconf-html.in (1.1),
+	  doc/devref.doxyconf-latex.in (1.1), doc/devref.tex (1.1),
+	  doc/fdl.dox (1.1), doc/fdl.tex (1.1), doc/fdl.txt (1.1),
+	  doc/gpl.dox (1.1), doc/gpl.tex (1.1), doc/gpl.txt (1.1),
+	  doc/pwl.sty (1.1), doc/user.doxyconf-html.in (1.1),
+	  doc/user.doxyconf-latex.in (1.1), doc/user.tex (1.1):
+	  Documentation for the Parma Watchdog Library.
+
+2007-02-18 Sunday 13:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (ppl-0_9-branch.6): %doc tags corrected for the
+	  Prolog interfaces.  Tabs used consistently instead of spaces.
+
+2007-02-18 Sunday 12:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl-0.9-docfiles.patch (ppl-0_9-branch.2): Revised.
+
+2007-02-18 Sunday 11:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/README.doc (ppl-0_9-branch.1): Explains where to find
+	  the documentation.
+
+2007-02-18 Sunday 11:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: GNU/README.gprolog, SWI/README.swiprolog,
+	  YAP/README.yap (ppl-0_9-branch.[2,2,2]): Revised for clarity.
+
+2007-02-17 Saturday 18:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl-0.9-docfiles.patch, ppl.spec.in,
+	  interfaces/Prolog/GNU/README.gprolog,
+	  interfaces/Prolog/SWI/README.swiprolog,
+	  interfaces/Prolog/YAP/README.yap (ppl-0_9-branch.[1,5,1,1,1]):
+	  Make `swiprolog-devel' depend on `pl' (at leat 5.6);
+	  documentation added.	The `yap' package has been renamed
+	  `yap-devel' and completed.  The `gprolog' package has been
+	  renamed `gprolog-devel' and completed.  The `ppl_lcdd' and
+	  `ppl_lpsol' programs are now in a new `utils' package.  The
+	  `ppl-config' program is now in the `devel' package.  Modified the
+	  configuration command so that the `glpk-devel' include files are
+	  found.
+
+2007-02-13 Tuesday 14:48  quartieri
+
+	* src/Octagonal_Shape_incremental_strong_closure10.hh (octagons.4):
+	  Corrected some errors.
+
+2007-02-11 Sunday 21:09  Andrea Cimino
+
+	* DarwinPorts_Portfile (ppl-0_9-branch.3): Variant sections
+	  removed.
+
+2007-02-11 Sunday 14:26  Andrea Cimino
+
+	* DarwinPorts_Portfile (ppl-0_9-branch.2): Don't require the
+	  development snapshots of the Prolog systems, use the stable
+	  versions instead.
+
+2007-02-10 Saturday 22:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (ppl-0_9-branch.4): Summaries improved.  Started
+	  splitting packages into "run-time" and "devel" packages.
+
+2007-02-10 Saturday 20:57  Andrea Cimino
+
+	* DarwinPorts_Portfile (ppl-0_9-branch.1): Initial revision of a
+	  DarwinPort's Portfile.
+
+2007-02-10 Saturday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (ppl-0_9-branch.3): Do configure with the
+	  --disable-rpath option so as to avoid hardcoding the path to
+	  search libraries.  Do not include libtool archive files.
+	  Packages reorganized: we now have `ppl' and `ppl-devel';  `ppl-c'
+	  has gone.
+
+2007-02-10 Saturday 15:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (ppl-0_9-branch.2): Added the `%%changelog' section.
+	  `Release' set to 2.  `Packager' and `Vendor' tags removed.
+	  `Summary' fields are no longer ended with a dot.  The value of
+	  the `License' tag is now `GPL'.  Removed unused definition of
+	  `builddir'.  The `Name', `Version' and `Release' tags are now
+	  directly defined.  Commented out the efinitions of the `Require'
+	  and `Prefix' tags.  Set the `BuildRequires' tag to `gmp-devel'.
+	  Exploit the features of `%%setup', `%%configure', `%%install',
+	  `%%post' and `%%postun'.  Mixed use of spaces and tabs avoided.
+
+2007-02-10 Saturday 10:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (ppl-0_9-branch.1): Added the `%changelog' section.
+
+2007-02-09 Friday 14:56  Abramo Bagnara
+
+	* src/fpu-ia32.inlines.hh (altnum.6): First attempt to support SSE
+	  floating point rounding.
+
+2007-02-08 Thursday 19:20  Andrea Cimino
+
+	* interfaces/Java/: jni/Makefile.am (1.11),
+	  tests/C_Polyhedron_test1.java (1.10),
+	  tests/ppl_interface_generator_java_test_java.m4 (1.8): In Darwin
+	  force libtool to generate a .jnilib instead of a .dylib if we
+	  have to deal with a JNI library.
+
+2007-02-08 Thursday 18:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.264): On Fedora Core systems we can now find the
+	  JDK even if the --with-java option is not specified.
+
+2007-02-08 Thursday 17:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.263), m4/Makefile.am (1.24): Improved the
+	  detection of Darwin.
+
+2007-02-08 Thursday 17:03  Andrea Cimino
+
+	* interfaces/Java/tests/: C_Polyhedron_test1.java (1.9),
+	  ppl_interface_generator_java_test_java.m4 (1.7): Load the right
+	  interface library appropriately.
+
+2007-02-08 Thursday 16:15  Andrea Cimino
+
+	* configure.ac (1.262): Try to detect if we are building the PPL on
+	  a MacOSX: if so, set the the default JDK path to
+	  /Library/Java/Home.
+
+2007-02-08 Thursday 15:27  Andrea Cimino
+
+	* interfaces/Java/tests/: C_Polyhedron_test1.java (1.8),
+	  Makefile.am (1.12), ppl_interface_generator_java_test_java.m4
+	  (1.6): Made some changes to correctly load the Java PPL bindings
+	  if the running OS is Darwin.
+
+2007-02-07 Wednesday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu.defs.hh (1.13): Prefer standard C99 floating point
+	  rounding and exception handling on all systems that support it.
+
+2007-02-06 Tuesday 16:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/bug1.cc (1.3): Further reduced.
+
+2007-02-06 Tuesday 16:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/bug1.cc (altnum.1): file bug1.cc was added
+	  on branch altnum on 2007-02-25 18:27:11 +0000
+
+2007-02-06 Tuesday 15:38  Andrea Cimino
+
+	* tests/Octagonal_Shape/bug1.cc (1.2): Removed some constraints
+	  from the test case to simplify the debugging process.
+
+2007-02-06 Tuesday 12:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/: Makefile.am (1.15), bug1.cc (1.1): Small
+	  program showing a (compiler?) bug that manifests itself on
+	  iMac's.
+
+2007-02-03 Saturday 11:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_remainder_bug.m4 (altnum.1): file
+	  ac_cxx_remainder_bug.m4 was added on branch altnum on 2007-02-25
+	  18:27:02 +0000
+
+2007-02-03 Saturday 11:57  Andrea Cimino
+
+	* configure.ac (1.261), m4/Makefile.am (1.23),
+	  m4/ac_cxx_remainder_bug.m4 (1.1): Definition of an M4 macro that
+	  checks if INT_MIN / -1 is correctly compiled by the C++ compiler.
+
+2007-02-02 Friday 11:06  quartieri
+
+	* src/: Octagonal_Shape_incremental_strong_closure1.hh,
+	  Octagonal_Shape_incremental_strong_closure10.hh,
+	  Octagonal_Shape_incremental_strong_closure2.hh,
+	  Octagonal_Shape_incremental_strong_closure3.hh,
+	  Octagonal_Shape_incremental_strong_closure4.hh,
+	  Octagonal_Shape_incremental_strong_closure5.hh,
+	  Octagonal_Shape_incremental_strong_closure6.hh,
+	  Octagonal_Shape_incremental_strong_closure7.hh,
+	  Octagonal_Shape_incremental_strong_closure8.hh,
+	  Octagonal_Shape_incremental_strong_closure9.hh
+	  (octagons.[3,3,3,3,3,3,3,3,3,3]): Removed some useless operation
+	  counters.
+
+2007-01-31 Wednesday 13:48  quartieri
+
+	* src/Octagonal_Shape.templates.hh (octagons.54): Removed
+	  'plus_infinity' test from strong_coherence_assign().
+
+2007-01-24 Wednesday 08:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.cc (1.46): Code for debugging improved.
+
+2007-01-19 Friday 12:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (1.206): Removed item: - Add tests for
+	  ppl_Polyhedron_contains_integer_point/1 in pl_check.pl.
+
+2007-01-19 Friday 12:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.29),
+	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.33),
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.40),
+	  Prolog/tests/pl_check.pl (1.44),
+	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.49): Added a test to pl_check.pl for
+	  ppl_Polyhedron_contains_integer_point/2
+
+	  Also added m4 code to generate interface predicates such as
+	  ppl_Pointset_Powerset_C_Polyhedron_linear_partition/4 and
+	  ppl_Pointset_Powerset_Grid_approximate_partition/4
+
+	  Added m4 code for generating tests for these.
+
+2007-01-15 Monday 13:01  Andrea Cimino
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_mli.m4 (1.5),
+	  ppl_interface_generator_ocaml_mli_code.m4 (1.6),
+	  ppl_ocaml_types.ml (1.8): Removed some commented and non used
+	  declarations.
+
+2007-01-15 Monday 13:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4 (altnum.1):
+	  file ppl_interface_generator_ocaml_mli.m4 was added on branch
+	  altnum on 2007-02-25 18:26:59 +0000
+
+2007-01-15 Monday 13:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4
+	  (altnum.1): file ppl_interface_generator_ocaml_mli_code.m4 was
+	  added on branch altnum on 2007-02-25 18:26:59 +0000
+
+2007-01-15 Monday 13:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_ocaml_types.ml (altnum.1): file
+	  ppl_ocaml_types.ml was added on branch altnum on 2007-02-25
+	  18:26:59 +0000
+
+2007-01-13 Saturday 20:17  Andrea Cimino
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
+	  (1.12), ppl_interface_generator_ocaml_ml_code.m4 (1.12),
+	  ppl_interface_generator_ocaml_mli.m4 (1.4),
+	  ppl_interface_generator_ocaml_mli_code.m4 (1.5),
+	  ppl_ocaml_globals.cc (1.8), ppl_ocaml_types.ml (1.7), test1.ml
+	  (1.28): Corrected the constructors `from space_dimension' that
+	  until now  allowed to build types just from UNIVERSE. Created the
+	  type `degenerate_element' for that purposes.
+
+2007-01-13 Saturday 20:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4
+	  (altnum.1): file ppl_interface_generator_ocaml_cc_code.m4 was
+	  added on branch altnum on 2007-02-25 18:26:58 +0000
+
+2007-01-13 Saturday 20:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4
+	  (altnum.1): file ppl_interface_generator_ocaml_ml_code.m4 was
+	  added on branch altnum on 2007-02-25 18:26:59 +0000
+
+2007-01-13 Saturday 20:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_ocaml_globals.cc (altnum.1): file
+	  ppl_ocaml_globals.cc was added on branch altnum on 2007-02-25
+	  18:26:59 +0000
+
+2007-01-11 Thursday 16:00  quartieri
+
+	* src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
+	  src/BD_Shape.templates.hh, src/Octagonal_Shape.templates.hh,
+	  src/Octagonal_Shape_incremental_strong_closure1.hh,
+	  src/Octagonal_Shape_incremental_strong_closure10.hh,
+	  src/Octagonal_Shape_incremental_strong_closure2.hh,
+	  src/Octagonal_Shape_incremental_strong_closure3.hh,
+	  src/Octagonal_Shape_incremental_strong_closure4.hh,
+	  src/Octagonal_Shape_incremental_strong_closure5.hh,
+	  src/Octagonal_Shape_incremental_strong_closure6.hh,
+	  src/Octagonal_Shape_incremental_strong_closure7.hh,
+	  src/Octagonal_Shape_incremental_strong_closure8.hh,
+	  src/Octagonal_Shape_incremental_strong_closure9.hh,
+	  src/Octagonal_Shape_strong_closure2.hh, src/script_flags.hh,
+	  tests/BD_Shape/Makefile.am, tests/BD_Shape/incremental1.cc,
+	  tests/Octagonal_Shape/Makefile.am,
+	  tests/Octagonal_Shape/incremental1.cc
+	  (octagons.[3,3,3,53,2,2,2,2,2,2,2,2,2,2,2,1,3,1,3,1]): Changed
+	  some files to improve the tests on closure and incremental
+	  closure.
+
+2007-01-08 Monday 15:31  Andrea Cimino
+
+	* interfaces/Java/jni/:
+	  ppl_interface_generator_java_ppl_java_classes_cc_code.m4 (1.24),
+	  ppl_java_common.cc (1.29), ppl_java_common.hh (1.26): Written
+	  support for Pointset_Powerset iterators.
+
+2007-01-07 Sunday 13:20  Andrea Cimino
+
+	* configure.ac (1.260),
+	  interfaces/Java/ppl_interface_generator_java_dat.m4 (1.6):
+	  Written the Java code to handle Powereset_Iterators.	Still the
+	  C++ code that really intefaces with the PPL must be written.
+	  Modified the Makefile.am to delete all the generated files if the
+	  target `clean' is requested.
+
+2007-01-04 Thursday 23:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_cc.m4 (altnum.1):
+	  file ppl_interface_generator_ocaml_cc.m4 was added on branch
+	  altnum on 2007-02-25 18:26:58 +0000
+
+2007-01-04 Thursday 23:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_dat.m4 (altnum.1):
+	  file ppl_interface_generator_ocaml_dat.m4 was added on branch
+	  altnum on 2007-02-25 18:26:59 +0000
+
+2007-01-04 Thursday 23:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4 (altnum.1):
+	  file ppl_interface_generator_ocaml_ml.m4 was added on branch
+	  altnum on 2007-02-25 18:26:59 +0000
+
+2007-01-04 Thursday 23:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.28),
+	  C/ppl_interface_generator_c_cc.m4 (1.7),
+	  C/ppl_interface_generator_c_h.m4 (1.11),
+	  Java/ppl_interface_generator_java_dat.m4 (1.5),
+	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4
+	  (1.8), Java/tests/ppl_interface_generator_java_test_java.m4
+	  (1.5), OCaml/ppl_interface_generator_ocaml_cc.m4 (1.3),
+	  OCaml/ppl_interface_generator_ocaml_dat.m4 (1.5),
+	  OCaml/ppl_interface_generator_ocaml_ml.m4 (1.8),
+	  OCaml/ppl_interface_generator_ocaml_mli.m4 (1.3),
+	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.32),
+	  Prolog/ppl_interface_generator_prolog_icc.m4 (1.10),
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.39),
+	  Prolog/Ciao/ppl_interface_generator_ciao_pl.m4 (1.5),
+	  Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4
+	  (1.4), Prolog/GNU/ppl_interface_generator_gprolog_pl.m4 (1.5),
+	  Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4 (1.7),
+	  Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4 (1.8),
+	  Prolog/XSB/ppl_interface_generator_xsb_H.m4 (1.6),
+	  Prolog/XSB/ppl_interface_generator_xsb_cc.m4 (1.7),
+	  Prolog/XSB/ppl_interface_generator_xsb_predicate_check_P.m4
+	  (1.4), Prolog/YAP/ppl_interface_generator_yap_cc.m4 (1.6),
+	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.48),
+	  Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
+	  (1.26): Copyright notices fixed.
+
+2007-01-01 Monday 01:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/hybrid.cc (altnum.1): file hybrid.cc was added
+	  on branch altnum on 2007-02-25 18:27:12 +0000
+
+2007-01-01 Monday 01:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_ocaml_globals.ml (altnum.1): file
+	  ppl_ocaml_globals.ml was added on branch altnum on 2007-02-25
+	  18:26:59 +0000
+
+2007-01-01 Monday 01:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.38), README (1.50), README.configure (1.18),
+	  configure.ac (1.259), instchk.hh (1.8), Watchdog/Makefile.am
+	  (1.26), Watchdog/README (1.15), Watchdog/configure.ac (1.34),
+	  Watchdog/src/Doubly_Linked_Object.defs.hh (1.3),
+	  Watchdog/src/Doubly_Linked_Object.inlines.hh (1.3),
+	  Watchdog/src/Doubly_Linked_Object.types.hh (1.3),
+	  Watchdog/src/EList.defs.hh (1.5), Watchdog/src/EList.inlines.hh
+	  (1.3), Watchdog/src/EList.types.hh (1.3),
+	  Watchdog/src/EList_Iterator.defs.hh (1.3),
+	  Watchdog/src/EList_Iterator.inlines.hh (1.3),
+	  Watchdog/src/EList_Iterator.types.hh (1.3),
+	  Watchdog/src/Handler.defs.hh (1.4),
+	  Watchdog/src/Handler.inlines.hh (1.3),
+	  Watchdog/src/Handler.types.hh (1.3), Watchdog/src/Makefile.am
+	  (1.9), Watchdog/src/Pending_Element.cc (1.3),
+	  Watchdog/src/Pending_Element.defs.hh (1.4),
+	  Watchdog/src/Pending_Element.inlines.hh (1.3),
+	  Watchdog/src/Pending_Element.types.hh (1.3),
+	  Watchdog/src/Pending_List.cc (1.3),
+	  Watchdog/src/Pending_List.defs.hh (1.4),
+	  Watchdog/src/Pending_List.inlines.hh (1.3),
+	  Watchdog/src/Pending_List.types.hh (1.3), Watchdog/src/Time.cc
+	  (1.3), Watchdog/src/Time.defs.hh (1.4),
+	  Watchdog/src/Time.inlines.hh (1.3), Watchdog/src/Time.types.hh
+	  (1.3), Watchdog/src/Watchdog.cc (1.5),
+	  Watchdog/src/Watchdog.defs.hh (1.4),
+	  Watchdog/src/Watchdog.inlines.hh (1.3),
+	  Watchdog/src/Watchdog.types.hh (1.3), Watchdog/src/pwl_header.hh
+	  (1.3), Watchdog/utils/Makefile.am (1.7),
+	  Watchdog/utils/build_header.in (1.4), debian/Makefile.am (1.3),
+	  debian/libppl-pwl.copyright.in (1.4), debian/libppl.copyright.in
+	  (1.4), demos/Makefile.am (1.10), demos/ppl_lcdd/Makefile.am
+	  (1.27), demos/ppl_lcdd/ppl_lcdd.cc (1.58),
+	  demos/ppl_lcdd/examples/Makefile.am (1.8),
+	  demos/ppl_lpsol/Makefile.am (1.38), demos/ppl_lpsol/ppl_lpsol.c
+	  (1.67), demos/ppl_lpsol/examples/Makefile.am (1.8),
+	  doc/Makefile.am (1.50), doc/README.doc (1.11),
+	  doc/definitions.dox (1.200), doc/devref.tex (1.21),
+	  doc/ppl-config.1 (1.5), doc/ppl-config_extra_man_text (1.2),
+	  doc/ppl.sty (1.26), doc/ppl_lcdd.1 (1.3),
+	  doc/ppl_lcdd_extra_man_text (1.2), doc/ppl_lpsol.1 (1.3),
+	  doc/ppl_lpsol_extra_man_text (1.2), doc/user.tex (1.22),
+	  interfaces/Makefile.am (1.25),
+	  interfaces/ppl_interface_generator_common.m4 (1.17),
+	  interfaces/ppl_interface_generator_common_dat.m4 (1.27),
+	  interfaces/ppl_interface_generator_copyright (1.3),
+	  interfaces/C/Makefile.am (1.31), interfaces/C/ppl_c.h.in (1.69),
+	  interfaces/C/ppl_c_version.h.in (1.4),
+	  interfaces/C/ppl_interface_generator_c_cc.m4 (1.6),
+	  interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.13),
+	  interfaces/C/ppl_interface_generator_c_cc_preamble (1.6),
+	  interfaces/C/ppl_interface_generator_c_dat.m4 (1.10),
+	  interfaces/C/ppl_interface_generator_c_h.m4 (1.10),
+	  interfaces/C/ppl_interface_generator_c_h_code.m4 (1.7),
+	  interfaces/C/ppl_interface_generator_c_h_preamble (1.6),
+	  interfaces/Java/Makefile.am (1.10),
+	  interfaces/Java/ppl_interface_generator_java_dat.m4 (1.4),
+	  interfaces/Java/jni/Makefile.am (1.10),
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4
+	  (1.7),
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.23), interfaces/Java/jni/ppl_java_common.cc (1.28),
+	  interfaces/Java/jni/ppl_java_common.hh (1.25),
+	  interfaces/Java/jni/ppl_java_globals.cc (1.5),
+	  interfaces/Java/tests/C_Polyhedron_test1.java (1.7),
+	  interfaces/Java/tests/Makefile.am (1.11),
+	  interfaces/Java/tests/Test_Partial_Function.java (1.2),
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java.m4
+	  (1.4),
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.12), interfaces/OCaml/Makefile.am (1.25),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_cc.m4 (1.2),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.11),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_dat.m4 (1.4),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4 (1.7),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.11),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4 (1.2),
+	  interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.4),
+	  interfaces/OCaml/ppl_ocaml_globals.cc (1.7),
+	  interfaces/OCaml/ppl_ocaml_globals.ml (1.6),
+	  interfaces/OCaml/ppl_ocaml_types.ml (1.6),
+	  interfaces/OCaml/test1.ml (1.27), interfaces/Prolog/Makefile.am
+	  (1.38), interfaces/Prolog/Prolog_interface.dox (1.158),
+	  interfaces/Prolog/exceptions.hh (1.24),
+	  interfaces/Prolog/ppl_interface_generator_prolog_dat.m4 (1.31),
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc.m4 (1.9),
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (1.38),
+	  interfaces/Prolog/ppl_interface_generator_prolog_systems.m4
+	  (1.9), interfaces/Prolog/ppl_prolog_common.icc (1.4),
+	  interfaces/Prolog/track_allocation.hh (1.21),
+	  interfaces/Prolog/Ciao/Makefile.am (1.62),
+	  interfaces/Prolog/Ciao/ciao_cfli.hh (1.2),
+	  interfaces/Prolog/Ciao/ciao_clpq.pl (1.18),
+	  interfaces/Prolog/Ciao/ciao_clpq2.pl (1.14),
+	  interfaces/Prolog/Ciao/ciao_pl_check.pl (1.25),
+	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.49),
+	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4 (1.4),
+	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4
+	  (1.3), interfaces/Prolog/GNU/Makefile.am (1.61),
+	  interfaces/Prolog/GNU/gnu_pl_check.pl (1.10),
+	  interfaces/Prolog/GNU/gp_clpq.pl (1.11),
+	  interfaces/Prolog/GNU/gprolog_cfli.hh (1.2),
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.42),
+	  interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4
+	  (1.4), interfaces/Prolog/SICStus/Makefile.am (1.73),
+	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
+	  (1.6), interfaces/Prolog/SICStus/ppl_sicstus.pl (1.27),
+	  interfaces/Prolog/SICStus/sicstus_cfli.cc (1.7),
+	  interfaces/Prolog/SICStus/sicstus_cfli.h (1.9),
+	  interfaces/Prolog/SICStus/sicstus_cfli.ic (1.14),
+	  interfaces/Prolog/SICStus/sp_clpq.pl (1.15),
+	  interfaces/Prolog/SICStus/sp_pl_check.pl (1.9),
+	  interfaces/Prolog/SICStus/sp_predicate_check.pl (1.2),
+	  interfaces/Prolog/SWI/Makefile.am (1.67),
+	  interfaces/Prolog/SWI/pl_clpq.cc (1.11),
+	  interfaces/Prolog/SWI/pl_clpq.pl (1.10),
+	  interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
+	  (1.7), interfaces/Prolog/SWI/ppl_pl.cc (1.11),
+	  interfaces/Prolog/SWI/ppl_swiprolog.pl (1.7),
+	  interfaces/Prolog/SWI/swi_cfli.hh (1.3),
+	  interfaces/Prolog/SWI/swi_pl_check.pl (1.9),
+	  interfaces/Prolog/SWI/swi_predicate_check.pl (1.2),
+	  interfaces/Prolog/XSB/Makefile.am (1.48),
+	  interfaces/Prolog/XSB/expected_clpq2_int16 (1.3),
+	  interfaces/Prolog/XSB/expected_clpq2_int16_a (1.3),
+	  interfaces/Prolog/XSB/expected_clpq2_int32 (1.3),
+	  interfaces/Prolog/XSB/expected_clpq2_int32_a (1.5),
+	  interfaces/Prolog/XSB/expected_clpq2_int64 (1.3),
+	  interfaces/Prolog/XSB/expected_clpq2_int64_a (1.3),
+	  interfaces/Prolog/XSB/expected_clpq2_int8 (1.4),
+	  interfaces/Prolog/XSB/expected_clpq2_int8_a (1.5),
+	  interfaces/Prolog/XSB/expected_clpq2_mpz (1.3),
+	  interfaces/Prolog/XSB/expected_clpq2_mpz_a (1.3),
+	  interfaces/Prolog/XSB/expected_clpq_int16 (1.5),
+	  interfaces/Prolog/XSB/expected_clpq_int16_a (1.5),
+	  interfaces/Prolog/XSB/expected_clpq_int32 (1.3),
+	  interfaces/Prolog/XSB/expected_clpq_int32_a (1.3),
+	  interfaces/Prolog/XSB/expected_clpq_int64 (1.3),
+	  interfaces/Prolog/XSB/expected_clpq_int64_a (1.3),
+	  interfaces/Prolog/XSB/expected_clpq_int8 (1.3),
+	  interfaces/Prolog/XSB/expected_clpq_int8_a (1.3),
+	  interfaces/Prolog/XSB/expected_clpq_mpz (1.3),
+	  interfaces/Prolog/XSB/expected_clpq_mpz_a (1.3),
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4 (1.5),
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4 (1.6),
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_predicate_check_P.m4
+	  (1.3), interfaces/Prolog/XSB/xsb_cfli.hh (1.2),
+	  interfaces/Prolog/XSB/xsb_clpq.P (1.17),
+	  interfaces/Prolog/XSB/xsb_clpq2.P (1.15),
+	  interfaces/Prolog/XSB/xsb_pl_check.P (1.29),
+	  interfaces/Prolog/YAP/Makefile.am (1.50),
+	  interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4 (1.5),
+	  interfaces/Prolog/YAP/ppl_yap.pl (1.11),
+	  interfaces/Prolog/YAP/yap_cfli.hh (1.2),
+	  interfaces/Prolog/YAP/yap_clpq.pl (1.12),
+	  interfaces/Prolog/YAP/yap_clpq2.pl (1.8),
+	  interfaces/Prolog/YAP/yap_pl_check.pl (1.12),
+	  interfaces/Prolog/tests/Makefile.am (1.13),
+	  interfaces/Prolog/tests/clpq.pl (1.9),
+	  interfaces/Prolog/tests/clpq2.pl (1.10),
+	  interfaces/Prolog/tests/expected_clpq2_int16 (1.3),
+	  interfaces/Prolog/tests/expected_clpq2_int16_a (1.3),
+	  interfaces/Prolog/tests/expected_clpq2_int32 (1.3),
+	  interfaces/Prolog/tests/expected_clpq2_int32_a (1.5),
+	  interfaces/Prolog/tests/expected_clpq2_int64 (1.3),
+	  interfaces/Prolog/tests/expected_clpq2_int64_a (1.3),
+	  interfaces/Prolog/tests/expected_clpq2_int8 (1.5),
+	  interfaces/Prolog/tests/expected_clpq2_int8_a (1.5),
+	  interfaces/Prolog/tests/expected_clpq2_mpz (1.3),
+	  interfaces/Prolog/tests/expected_clpq2_mpz_a (1.3),
+	  interfaces/Prolog/tests/expected_clpq_int16 (1.5),
+	  interfaces/Prolog/tests/expected_clpq_int16_a (1.5),
+	  interfaces/Prolog/tests/expected_clpq_int32 (1.3),
+	  interfaces/Prolog/tests/expected_clpq_int32_a (1.3),
+	  interfaces/Prolog/tests/expected_clpq_int64 (1.3),
+	  interfaces/Prolog/tests/expected_clpq_int64_a (1.3),
+	  interfaces/Prolog/tests/expected_clpq_int8 (1.3),
+	  interfaces/Prolog/tests/expected_clpq_int8_a (1.3),
+	  interfaces/Prolog/tests/expected_clpq_mpz (1.3),
+	  interfaces/Prolog/tests/expected_clpq_mpz_a (1.3),
+	  interfaces/Prolog/tests/pl_check.pl (1.43),
+	  interfaces/Prolog/tests/pl_grid_check.pl (1.4),
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.47),
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
+	  (1.25), interfaces/Prolog/tests/ppl_predicate_check_common.pl
+	  (1.3), m4/Makefile.am (1.22), m4/ac_check_fpu_control.m4 (1.3),
+	  m4/ac_check_gmp.m4 (1.24), m4/ac_check_sicstus_prolog.m4 (1.5),
+	  m4/ac_check_swi_prolog.m4 (1.10), m4/ac_check_xsb_prolog.m4
+	  (1.3), m4/ac_cxx_attribute_weak.m4 (1.8),
+	  m4/ac_cxx_double_binary_format.m4 (1.4),
+	  m4/ac_cxx_flexible_arrays.m4 (1.13),
+	  m4/ac_cxx_float_binary_format.m4 (1.3),
+	  m4/ac_cxx_long_double_binary_format.m4 (1.4), m4/ac_prog_jar.m4
+	  (1.2), m4/ac_prog_java.m4 (1.5), m4/ac_prog_javac.m4 (1.4),
+	  m4/ac_prog_javah.m4 (1.8), m4/ac_text_md5sum.m4 (1.2), m4/ppl.m4
+	  (1.5), src/Any_Pointset.defs.hh (1.9),
+	  src/Any_Pointset.inlines.hh (1.2), src/Any_Pointset.types.hh
+	  (1.2), src/Ask_Tell.defs.hh (1.15), src/Ask_Tell.inlines.hh
+	  (1.15), src/Ask_Tell.templates.hh (1.8), src/Ask_Tell.types.hh
+	  (1.6), src/BDS_Status.idefs.hh (1.20), src/BDS_Status.inlines.hh
+	  (1.15), src/BD_Shape.cc (1.4), src/BD_Shape.defs.hh (1.95),
+	  src/BD_Shape.inlines.hh (1.138), src/BD_Shape.templates.hh
+	  (1.68), src/BD_Shape.types.hh (1.6), src/BHRZ03_Certificate.cc
+	  (1.11), src/BHRZ03_Certificate.defs.hh (1.16),
+	  src/BHRZ03_Certificate.inlines.hh (1.8),
+	  src/BHRZ03_Certificate.types.hh (1.5), src/Bit_Matrix.cc (1.2),
+	  src/Bit_Matrix.defs.hh (1.2), src/Bit_Matrix.inlines.hh (1.2),
+	  src/Bit_Matrix.types.hh (1.2), src/Bit_Row.cc (1.2),
+	  src/Bit_Row.defs.hh (1.4), src/Bit_Row.inlines.hh (1.2),
+	  src/Bit_Row.types.hh (1.2), src/Bounding_Box.cc (1.14),
+	  src/Bounding_Box.defs.hh (1.16), src/Bounding_Box.inlines.hh
+	  (1.15), src/Bounding_Box.types.hh (1.5), src/C_Polyhedron.cc
+	  (1.20), src/C_Polyhedron.defs.hh (1.46),
+	  src/C_Polyhedron.inlines.hh (1.34), src/C_Polyhedron.types.hh
+	  (1.11), src/Checked_Number.cc (1.10), src/Checked_Number.defs.hh
+	  (1.84), src/Checked_Number.inlines.hh (1.69),
+	  src/Checked_Number.types.hh (1.10), src/Coefficient.cc (1.5),
+	  src/Coefficient.defs.hh (1.7), src/Coefficient.inlines.hh (1.6),
+	  src/Coefficient.types.hh (1.13),
+	  src/Coefficient_traits_template.hh (1.7), src/Congruence.cc
+	  (1.14), src/Congruence.defs.hh (1.18), src/Congruence.inlines.hh
+	  (1.15), src/Congruence.types.hh (1.3), src/Congruence_System.cc
+	  (1.22), src/Congruence_System.defs.hh (1.17),
+	  src/Congruence_System.inlines.hh (1.7),
+	  src/Congruence_System.types.hh (1.3), src/Constraint.cc (1.65),
+	  src/Constraint.defs.hh (1.124), src/Constraint.inlines.hh (1.66),
+	  src/Constraint.types.hh (1.11), src/Constraint_System.cc (1.21),
+	  src/Constraint_System.defs.hh (1.34),
+	  src/Constraint_System.inlines.hh (1.8),
+	  src/Constraint_System.types.hh (1.5), src/DB_Matrix.defs.hh
+	  (1.26), src/DB_Matrix.inlines.hh (1.29),
+	  src/DB_Matrix.templates.hh (1.4), src/DB_Matrix.types.hh (1.6),
+	  src/DB_Row.defs.hh (1.21), src/DB_Row.inlines.hh (1.20),
+	  src/DB_Row.templates.hh (1.3), src/DB_Row.types.hh (1.7),
+	  src/Determinate.defs.hh (1.64), src/Determinate.inlines.hh
+	  (1.55), src/Determinate.types.hh (1.9),
+	  src/Direct_Product.defs.hh (1.30), src/Direct_Product.inlines.hh
+	  (1.27), src/Direct_Product.templates.hh (1.20),
+	  src/Direct_Product.types.hh (1.6), src/Float.cc (1.5),
+	  src/Float.defs.hh (1.22), src/Float.inlines.hh (1.29),
+	  src/GMP_Integer.defs.hh (1.24), src/GMP_Integer.inlines.hh
+	  (1.18), src/GMP_Integer.types.hh (1.14), src/Generator.cc (1.73),
+	  src/Generator.defs.hh (1.121), src/Generator.inlines.hh (1.60),
+	  src/Generator.types.hh (1.11), src/Generator_System.cc (1.20),
+	  src/Generator_System.defs.hh (1.21),
+	  src/Generator_System.inlines.hh (1.7),
+	  src/Generator_System.types.hh (1.5), src/Grid.defs.hh (1.39),
+	  src/Grid.inlines.hh (1.13), src/Grid.templates.hh (1.24),
+	  src/Grid.types.hh (1.3), src/Grid_Certificate.cc (1.6),
+	  src/Grid_Certificate.defs.hh (1.4),
+	  src/Grid_Certificate.inlines.hh (1.3),
+	  src/Grid_Certificate.types.hh (1.3), src/Grid_Generator.cc
+	  (1.19), src/Grid_Generator.defs.hh (1.28),
+	  src/Grid_Generator.inlines.hh (1.13), src/Grid_Generator.types.hh
+	  (1.3), src/Grid_Generator_System.cc (1.17),
+	  src/Grid_Generator_System.defs.hh (1.20),
+	  src/Grid_Generator_System.inlines.hh (1.12),
+	  src/Grid_Generator_System.types.hh (1.3), src/Grid_Status.cc
+	  (1.6), src/Grid_Status.idefs.hh (1.6), src/Grid_Status.inlines.hh
+	  (1.3), src/Grid_chdims.cc (1.15), src/Grid_conversion.cc (1.18),
+	  src/Grid_nonpublic.cc (1.22), src/Grid_public.cc (1.49),
+	  src/Grid_simplify.cc (1.30), src/Grid_widenings.cc (1.13),
+	  src/H79_Certificate.cc (1.10), src/H79_Certificate.defs.hh
+	  (1.15), src/H79_Certificate.inlines.hh (1.9),
+	  src/H79_Certificate.types.hh (1.5), src/Init.cc (1.28),
+	  src/Init.defs.hh (1.17), src/Init.types.hh (1.10),
+	  src/Interval.cc (1.14), src/Interval.defs.hh (1.28),
+	  src/Interval.inlines.hh (1.25), src/Interval.types.hh (1.12),
+	  src/Limits.hh (1.10), src/Linear_Expression.cc (1.16),
+	  src/Linear_Expression.defs.hh (1.34),
+	  src/Linear_Expression.inlines.hh (1.10),
+	  src/Linear_Expression.types.hh (1.5), src/Linear_Row.cc (1.21),
+	  src/Linear_Row.defs.hh (1.23), src/Linear_Row.inlines.hh (1.12),
+	  src/Linear_Row.types.hh (1.5), src/Linear_System.cc (1.41),
+	  src/Linear_System.defs.hh (1.30), src/Linear_System.inlines.hh
+	  (1.20), src/Linear_System.types.hh (1.5), src/MIP_Problem.cc
+	  (1.45), src/MIP_Problem.defs.hh (1.31),
+	  src/MIP_Problem.inlines.hh (1.13), src/MIP_Problem.templates.hh
+	  (1.10), src/MIP_Problem.types.hh (1.2), src/Makefile.am (1.167),
+	  src/Matrix.cc (1.95), src/Matrix.defs.hh (1.79),
+	  src/Matrix.inlines.hh (1.50), src/Matrix.types.hh (1.11),
+	  src/NNC_Polyhedron.cc (1.20), src/NNC_Polyhedron.defs.hh (1.48),
+	  src/NNC_Polyhedron.inlines.hh (1.35), src/NNC_Polyhedron.types.hh
+	  (1.11), src/Numeric_Format.defs.hh (1.6), src/OR_Matrix.defs.hh
+	  (1.7), src/OR_Matrix.inlines.hh (1.4), src/OR_Matrix.templates.hh
+	  (1.5), src/OR_Matrix.types.hh (1.3), src/Octagonal_Shape.cc
+	  (1.3), src/Octagonal_Shape.defs.hh (1.23),
+	  src/Octagonal_Shape.inlines.hh (1.13),
+	  src/Octagonal_Shape.templates.hh (1.46),
+	  src/Octagonal_Shape.types.hh (1.3), src/Og_Status.idefs.hh (1.6),
+	  src/Og_Status.inlines.hh (1.4), src/Ph_Status.cc (1.12),
+	  src/Ph_Status.idefs.hh (1.20), src/Ph_Status.inlines.hh (1.8),
+	  src/Pointset_Ask_Tell.cc (1.2), src/Pointset_Ask_Tell.defs.hh
+	  (1.6), src/Pointset_Ask_Tell.inlines.hh (1.2),
+	  src/Pointset_Ask_Tell.templates.hh (1.7),
+	  src/Pointset_Ask_Tell.types.hh (1.2), src/Pointset_Powerset.cc
+	  (1.10), src/Pointset_Powerset.defs.hh (1.11),
+	  src/Pointset_Powerset.inlines.hh (1.6),
+	  src/Pointset_Powerset.templates.hh (1.8),
+	  src/Pointset_Powerset.types.hh (1.2), src/Poly_Con_Relation.cc
+	  (1.14), src/Poly_Con_Relation.defs.hh (1.33),
+	  src/Poly_Con_Relation.inlines.hh (1.15),
+	  src/Poly_Con_Relation.types.hh (1.10), src/Poly_Gen_Relation.cc
+	  (1.14), src/Poly_Gen_Relation.defs.hh (1.31),
+	  src/Poly_Gen_Relation.inlines.hh (1.15),
+	  src/Poly_Gen_Relation.types.hh (1.10), src/Polyhedron.defs.hh
+	  (1.312), src/Polyhedron.inlines.hh (1.136),
+	  src/Polyhedron.templates.hh (1.5), src/Polyhedron.types.hh
+	  (1.17), src/Polyhedron_chdims.cc (1.41),
+	  src/Polyhedron_nonpublic.cc (1.75), src/Polyhedron_public.cc
+	  (1.88), src/Polyhedron_widenings.cc (1.57), src/Powerset.defs.hh
+	  (1.29), src/Powerset.inlines.hh (1.19), src/Powerset.templates.hh
+	  (1.4), src/Powerset.types.hh (1.6), src/Ptr_Iterator.defs.hh
+	  (1.8), src/Ptr_Iterator.inlines.hh (1.7),
+	  src/Ptr_Iterator.types.hh (1.6), src/Result.defs.hh (1.17),
+	  src/Result.inlines.hh (1.10), src/Rounding_Dir.defs.hh (1.11),
+	  src/Rounding_Dir.inlines.hh (1.5), src/Row.cc (1.101),
+	  src/Row.defs.hh (1.109), src/Row.inlines.hh (1.63),
+	  src/Row.types.hh (1.12), src/Scalar_Products.cc (1.6),
+	  src/Scalar_Products.defs.hh (1.8), src/Scalar_Products.inlines.hh
+	  (1.5), src/Scalar_Products.types.hh (1.4), src/Topology.hh
+	  (1.13), src/Variable.cc (1.22), src/Variable.defs.hh (1.53),
+	  src/Variable.inlines.hh (1.24), src/Variable.types.hh (1.11),
+	  src/Variables_Set.cc (1.4), src/Variables_Set.defs.hh (1.5),
+	  src/Variables_Set.inlines.hh (1.4), src/Variables_Set.types.hh
+	  (1.2), src/Widening_Function.defs.hh (1.16),
+	  src/Widening_Function.inlines.hh (1.14),
+	  src/Widening_Function.types.hh (1.6), src/algorithms.hh (1.47),
+	  src/checked.cc (1.19), src/checked.defs.hh (1.38),
+	  src/checked.inlines.hh (1.33), src/checked_ext.defs.hh (1.12),
+	  src/checked_ext.inlines.hh (1.33), src/checked_float.inlines.hh
+	  (1.71), src/checked_int.inlines.hh (1.56),
+	  src/checked_mpq.inlines.hh (1.35), src/checked_mpz.inlines.hh
+	  (1.40), src/checked_numeric_limits.hh (1.17), src/compiler.hh
+	  (1.8), src/conversion.cc (1.80), src/distances.defs.hh (1.3),
+	  src/distances.inlines.hh (1.3), src/distances.types.hh (1.3),
+	  src/fpu-c99.inlines.hh (1.12), src/fpu-ia32.inlines.hh (1.15),
+	  src/fpu-none.inlines.hh (1.5), src/fpu-sparc.inlines.hh (1.6),
+	  src/fpu.defs.hh (1.12), src/fpu.types.hh (1.3), src/globals.cc
+	  (1.25), src/globals.defs.hh (1.41), src/globals.inlines.hh
+	  (1.16), src/globals.types.hh (1.9), src/initializer.hh (1.13),
+	  src/iterator_to_const.defs.hh (1.4),
+	  src/iterator_to_const.inlines.hh (1.3),
+	  src/iterator_to_const.types.hh (1.2), src/max_space_dimension.hh
+	  (1.11), src/minimize.cc (1.45), src/mp_numeric_limits.cc (1.2),
+	  src/mp_numeric_limits.hh (1.10), src/namespaces.hh (1.10),
+	  src/ppl-config.cc.in (1.19), src/ppl_header.hh (1.5),
+	  src/simplify.cc (1.47), src/swapping_sort.icc (1.12),
+	  src/version.cc (1.8), src/version.hh.in (1.15), tests/BBox.cc
+	  (1.13), tests/BBox.hh (1.11), tests/FCAIBVP.cc (1.3),
+	  tests/FCAIBVP.defs.hh (1.4), tests/FCAIBVP.inlines.hh (1.4),
+	  tests/FCAIBVP.types.hh (1.2), tests/Makefile.am (1.260),
+	  tests/Partial_Function.cc (1.4), tests/Partial_Function.defs.hh
+	  (1.3), tests/Partial_Function.inlines.hh (1.2),
+	  tests/Partial_Function.types.hh (1.2),
+	  tests/Random_Number_Generator.defs.hh (1.4),
+	  tests/Random_Number_Generator.inlines.hh (1.9),
+	  tests/Random_Number_Generator.types.hh (1.3), tests/files.cc
+	  (1.9), tests/files.hh (1.10), tests/ppl_test.cc (1.7),
+	  tests/ppl_test.hh (1.53), tests/print.cc (1.27), tests/print.hh
+	  (1.39), tests/Ask_Tell/Makefile.am (1.2),
+	  tests/Ask_Tell/append1.cc (1.5), tests/BD_Shape/Makefile.am
+	  (1.58), tests/BD_Shape/addconstraints1.cc (1.17),
+	  tests/BD_Shape/addspacedims1.cc (1.14),
+	  tests/BD_Shape/affinedimension1.cc (1.11),
+	  tests/BD_Shape/affineimage1.cc (1.17),
+	  tests/BD_Shape/affineimage2.cc (1.12),
+	  tests/BD_Shape/affinepreimage1.cc (1.18),
+	  tests/BD_Shape/affinepreimage2.cc (1.13),
+	  tests/BD_Shape/ascii_dump_load1.cc (1.14),
+	  tests/BD_Shape/bdsdifference1.cc (1.13),
+	  tests/BD_Shape/bdshull1.cc (1.15),
+	  tests/BD_Shape/bgp99extrapolation1.cc (1.9),
+	  tests/BD_Shape/bhmz05widening1.cc (1.13),
+	  tests/BD_Shape/bhz03widening1.cc (1.9),
+	  tests/BD_Shape/bounded1.cc (1.2),
+	  tests/BD_Shape/boundedaffineimage1.cc (1.3),
+	  tests/BD_Shape/boundedaffinepreimage1.cc (1.2),
+	  tests/BD_Shape/bounds1.cc (1.2),
+	  tests/BD_Shape/cc76extrapolation1.cc (1.17),
+	  tests/BD_Shape/cc76narrowing1.cc (1.17),
+	  tests/BD_Shape/closure1.cc (1.15), tests/BD_Shape/concatenate1.cc
+	  (1.13), tests/BD_Shape/constraints1.cc (1.18),
+	  tests/BD_Shape/contains1.cc (1.14),
+	  tests/BD_Shape/containsintegerpoint1.cc (1.2),
+	  tests/BD_Shape/discrete1.cc (1.2), tests/BD_Shape/disjoint1.cc
+	  (1.5), tests/BD_Shape/empty1.cc (1.10),
+	  tests/BD_Shape/equality1.cc (1.15),
+	  tests/BD_Shape/expandspacedim1.cc (1.2),
+	  tests/BD_Shape/foldspacedims1.cc (1.3),
+	  tests/BD_Shape/fromgensys1.cc (1.14),
+	  tests/BD_Shape/frompolyhedron1.cc (1.4),
+	  tests/BD_Shape/generalizedaffineimage1.cc (1.15),
+	  tests/BD_Shape/generalizedaffineimage2.cc (1.19),
+	  tests/BD_Shape/generalizedaffinepreimage1.cc (1.13),
+	  tests/BD_Shape/generalizedaffinepreimage2.cc (1.14),
+	  tests/BD_Shape/generalizedaffinepreimage3.cc (1.4),
+	  tests/BD_Shape/geomcovers1.cc (1.9),
+	  tests/BD_Shape/h79widening1.cc (1.12),
+	  tests/BD_Shape/intersection1.cc (1.17),
+	  tests/BD_Shape/limitedbhmz05extrapolation1.cc (1.12),
+	  tests/BD_Shape/limitedcc76extrapolation1.cc (1.13),
+	  tests/BD_Shape/limitedh79extrapolation1.cc (1.12),
+	  tests/BD_Shape/mapspacedims1.cc (1.14),
+	  tests/BD_Shape/max_min1.cc (1.2), tests/BD_Shape/max_min2.cc
+	  (1.4), tests/BD_Shape/maxspacedim1.cc (1.2),
+	  tests/BD_Shape/membytes1.cc (1.2),
+	  tests/BD_Shape/minconstraints1.cc (1.10),
+	  tests/BD_Shape/relations1.cc (1.16), tests/BD_Shape/relations2.cc
+	  (1.20), tests/BD_Shape/relations3.cc (1.22),
+	  tests/BD_Shape/removespacedims1.cc (1.18),
+	  tests/BD_Shape/run_tests (1.18), tests/BD_Shape/timeelapse1.cc
+	  (1.17), tests/BD_Shape/universe1.cc (1.14),
+	  tests/BD_Shape/writebdshape1.cc (1.8), tests/Grid/Makefile.am
+	  (1.46), tests/Grid/addcongruence1.cc (1.12),
+	  tests/Grid/addcongruences1.cc (1.15),
+	  tests/Grid/addconstraint1.cc (1.10),
+	  tests/Grid/addconstraints1.cc (1.11), tests/Grid/addgenerator1.cc
+	  (1.14), tests/Grid/addgenerators1.cc (1.13),
+	  tests/Grid/addspacedims1.cc (1.13), tests/Grid/affinedim1.cc
+	  (1.11), tests/Grid/affineimage1.cc (1.12),
+	  tests/Grid/affineimage2.cc (1.10), tests/Grid/affinepreimage1.cc
+	  (1.11), tests/Grid/affinepreimage2.cc (1.6),
+	  tests/Grid/approximatepartition1.cc (1.2),
+	  tests/Grid/asciidumpload1.cc (1.13), tests/Grid/asciidumpload2.cc
+	  (1.5), tests/Grid/asciidumpload3.cc (1.4),
+	  tests/Grid/asciidumpload4.cc (1.4), tests/Grid/asciidumpload5.cc
+	  (1.2), tests/Grid/asciidumpload6.cc (1.2),
+	  tests/Grid/asciidumpload7.cc (1.2), tests/Grid/bhz03widening1.cc
+	  (1.12), tests/Grid/bounded1.cc (1.12),
+	  tests/Grid/boundedaffineimage1.cc (1.2),
+	  tests/Grid/boundedaffinepreimage1.cc (1.2),
+	  tests/Grid/boundingbox1.cc (1.14), tests/Grid/boundingbox2.cc
+	  (1.12), tests/Grid/bounds1.cc (1.14), tests/Grid/certificate1.cc
+	  (1.13), tests/Grid/concatenate1.cc (1.13),
+	  tests/Grid/congruence1.cc (1.16), tests/Grid/congruences1.cc
+	  (1.11), tests/Grid/congruences2.cc (1.5), tests/Grid/contains1.cc
+	  (1.11), tests/Grid/containsintegerpoint1.cc (1.3),
+	  tests/Grid/copyconstruct1.cc (1.7), tests/Grid/coveringbox1.cc
+	  (1.13), tests/Grid/coveringbox2.cc (1.11),
+	  tests/Grid/directproduct1.cc (1.22), tests/Grid/directproduct2.cc
+	  (1.5), tests/Grid/discrete1.cc (1.7), tests/Grid/disjoint1.cc
+	  (1.11), tests/Grid/equals1.cc (1.12),
+	  tests/Grid/expandspacedim1.cc (1.11),
+	  tests/Grid/foldspacedims1.cc (1.11),
+	  tests/Grid/generalizedaffineimage1.cc (1.12),
+	  tests/Grid/generalizedaffineimage2.cc (1.11),
+	  tests/Grid/generalizedaffineimage3.cc (1.2),
+	  tests/Grid/generalizedaffinepreimage1.cc (1.14),
+	  tests/Grid/generalizedaffinepreimage2.cc (1.14),
+	  tests/Grid/generalizedaffinepreimage3.cc (1.2),
+	  tests/Grid/generator1.cc (1.19), tests/Grid/generators1.cc
+	  (1.12), tests/Grid/generators2.cc (1.2), tests/Grid/grid1.cc
+	  (1.19), tests/Grid/grid2.cc (1.15), tests/Grid/grid3.cc (1.19),
+	  tests/Grid/griddifference1.cc (1.11), tests/Grid/intersection1.cc
+	  (1.11), tests/Grid/isempty1.cc (1.7), tests/Grid/isuniverse1.cc
+	  (1.9), tests/Grid/join1.cc (1.15), tests/Grid/join2.cc (1.10),
+	  tests/Grid/limitedextrapolation1.cc (1.11),
+	  tests/Grid/limitedextrapolation2.cc (1.5),
+	  tests/Grid/limitedextrapolation3.cc (1.4),
+	  tests/Grid/mapspacedims1.cc (1.10), tests/Grid/maxmin1.cc (1.11),
+	  tests/Grid/membytes1.cc (1.8), tests/Grid/mincongruences1.cc
+	  (1.9), tests/Grid/mingenerators1.cc (1.9),
+	  tests/Grid/outputoperator1.cc (1.8),
+	  tests/Grid/outputoperator2.cc (1.2),
+	  tests/Grid/outputoperator3.cc (1.2), tests/Grid/partition1.cc
+	  (1.4), tests/Grid/powersetdifference1.cc (1.2),
+	  tests/Grid/powersetgeometricallycovers1.cc (1.2),
+	  tests/Grid/powersetgeometricallyequals1.cc (1.2),
+	  tests/Grid/relations1.cc (1.13), tests/Grid/relations2.cc (1.15),
+	  tests/Grid/relations3.cc (1.6), tests/Grid/removespacedims1.cc
+	  (1.13), tests/Grid/removespacedims2.cc (1.13),
+	  tests/Grid/timeelapse1.cc (1.10), tests/Grid/topclosed1.cc
+	  (1.11), tests/Grid/topclosure1.cc (1.7), tests/Grid/widening1.cc
+	  (1.14), tests/Grid/widening2.cc (1.9), tests/Grid/widening3.cc
+	  (1.4), tests/Grid/writecongruencesystem.cc (1.7),
+	  tests/MIP_Problem/Makefile.am (1.2),
+	  tests/MIP_Problem/ascii_dump_load1.cc (1.3),
+	  tests/MIP_Problem/exceptions1.cc (1.2),
+	  tests/MIP_Problem/mipproblem1.cc (1.3),
+	  tests/Octagonal_Shape/Makefile.am (1.14),
+	  tests/Octagonal_Shape/addspacedims1.cc (1.2),
+	  tests/Octagonal_Shape/affinedimension1.cc (1.3),
+	  tests/Octagonal_Shape/affineimage1.cc (1.3),
+	  tests/Octagonal_Shape/affineimage2.cc (1.2),
+	  tests/Octagonal_Shape/affinepreimage1.cc (1.3),
+	  tests/Octagonal_Shape/affinepreimage2.cc (1.2),
+	  tests/Octagonal_Shape/ascii_dump_load1.cc (1.2),
+	  tests/Octagonal_Shape/bhmz05widening1.cc (1.3),
+	  tests/Octagonal_Shape/bhz03widening1.cc (1.2),
+	  tests/Octagonal_Shape/bounded1.cc (1.2),
+	  tests/Octagonal_Shape/boundedaffineimage1.cc (1.8),
+	  tests/Octagonal_Shape/boundedaffinepreimage1.cc (1.3),
+	  tests/Octagonal_Shape/bounds1.cc (1.3),
+	  tests/Octagonal_Shape/cc76extrapolation1.cc (1.3),
+	  tests/Octagonal_Shape/cc76narrowing1.cc (1.3),
+	  tests/Octagonal_Shape/chinainit.cc (1.2),
+	  tests/Octagonal_Shape/concatenate1.cc (1.2),
+	  tests/Octagonal_Shape/constraints1.cc (1.3),
+	  tests/Octagonal_Shape/contains1.cc (1.3),
+	  tests/Octagonal_Shape/containsintegerpoint1.cc (1.3),
+	  tests/Octagonal_Shape/discrete1.cc (1.2),
+	  tests/Octagonal_Shape/disjoint1.cc (1.6),
+	  tests/Octagonal_Shape/empty1.cc (1.2),
+	  tests/Octagonal_Shape/expandspacedim1.cc (1.3),
+	  tests/Octagonal_Shape/foldspacedims1.cc (1.2),
+	  tests/Octagonal_Shape/fromgensys1.cc (1.2),
+	  tests/Octagonal_Shape/frompolyhedron1.cc (1.2),
+	  tests/Octagonal_Shape/generalizedaffineimage1.cc (1.2),
+	  tests/Octagonal_Shape/generalizedaffineimage2.cc (1.2),
+	  tests/Octagonal_Shape/generalizedaffineimage3.cc (1.7),
+	  tests/Octagonal_Shape/generalizedaffineimage4.cc (1.2),
+	  tests/Octagonal_Shape/generalizedaffineimage5.cc (1.2),
+	  tests/Octagonal_Shape/generalizedaffinepreimage1.cc (1.3),
+	  tests/Octagonal_Shape/generalizedaffinepreimage2.cc (1.7),
+	  tests/Octagonal_Shape/generalizedaffinepreimage3.cc (1.3),
+	  tests/Octagonal_Shape/generalizedaffinepreimage4.cc (1.2),
+	  tests/Octagonal_Shape/intersection1.cc (1.3),
+	  tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc (1.3),
+	  tests/Octagonal_Shape/limitedcc76extrapolation1.cc (1.3),
+	  tests/Octagonal_Shape/mapspacedims1.cc (1.3),
+	  tests/Octagonal_Shape/max_min1.cc (1.4),
+	  tests/Octagonal_Shape/max_min2.cc (1.3),
+	  tests/Octagonal_Shape/maxspacedim1.cc (1.2),
+	  tests/Octagonal_Shape/membytes1.cc (1.3),
+	  tests/Octagonal_Shape/minconstraints1.cc (1.3),
+	  tests/Octagonal_Shape/octdifference1.cc (1.3),
+	  tests/Octagonal_Shape/octhull1.cc (1.3),
+	  tests/Octagonal_Shape/relatwithcons1.cc (1.2),
+	  tests/Octagonal_Shape/relatwithcons2.cc (1.4),
+	  tests/Octagonal_Shape/relatwithgen1.cc (1.6),
+	  tests/Octagonal_Shape/removespacedims1.cc (1.3),
+	  tests/Octagonal_Shape/run_tests (1.2),
+	  tests/Octagonal_Shape/timeelapse1.cc (1.3),
+	  tests/Octagonal_Shape/universe1.cc (1.2),
+	  tests/Octagonal_Shape/writeoctagon1.cc (1.3),
+	  tests/Polyhedron/Makefile.am (1.103), tests/Polyhedron/README
+	  (1.6), tests/Polyhedron/addcongruence1.cc (1.7),
+	  tests/Polyhedron/addcongruences1.cc (1.9),
+	  tests/Polyhedron/addconstraint1.cc (1.9),
+	  tests/Polyhedron/addconstraints1.cc (1.10),
+	  tests/Polyhedron/addconstraints2.cc (1.9),
+	  tests/Polyhedron/addgenerator1.cc (1.10),
+	  tests/Polyhedron/addgenerator2.cc (1.10),
+	  tests/Polyhedron/addgenerators1.cc (1.11),
+	  tests/Polyhedron/addgenerators2.cc (1.10),
+	  tests/Polyhedron/addspacedims1.cc (1.10),
+	  tests/Polyhedron/addspacedims2.cc (1.10),
+	  tests/Polyhedron/affineimage1.cc (1.10),
+	  tests/Polyhedron/affineimage2.cc (1.10),
+	  tests/Polyhedron/affinepreimage1.cc (1.9),
+	  tests/Polyhedron/affinetrans.cc (1.10),
+	  tests/Polyhedron/append1.cc (1.10), tests/Polyhedron/append2.cc
+	  (1.9), tests/Polyhedron/ascii_dump_load1.cc (1.9),
+	  tests/Polyhedron/ascii_dump_load2.cc (1.9),
+	  tests/Polyhedron/ascii_dump_load3.cc (1.10),
+	  tests/Polyhedron/bgp99extrapolation1.cc (1.12),
+	  tests/Polyhedron/bhrz03widening1.cc (1.9),
+	  tests/Polyhedron/bhrz03widening2.cc (1.9),
+	  tests/Polyhedron/bhrz03widening3.cc (1.10),
+	  tests/Polyhedron/bhz03widening1.cc (1.13),
+	  tests/Polyhedron/bounded1.cc (1.10),
+	  tests/Polyhedron/boundedaffineimage1.cc (1.8),
+	  tests/Polyhedron/boundedaffinepreimage1.cc (1.7),
+	  tests/Polyhedron/boundedbhrz03extrapolation1.cc (1.8),
+	  tests/Polyhedron/boundedh79extrapolation1.cc (1.10),
+	  tests/Polyhedron/boundingbox1.cc (1.13),
+	  tests/Polyhedron/boundingbox2.cc (1.12),
+	  tests/Polyhedron/boundingbox3.cc (1.13),
+	  tests/Polyhedron/bounds1.cc (1.10),
+	  tests/Polyhedron/cnncconversion1.cc (1.3),
+	  tests/Polyhedron/concatenate1.cc (1.9),
+	  tests/Polyhedron/congruences1.cc (1.7),
+	  tests/Polyhedron/constraints1.cc (1.9),
+	  tests/Polyhedron/contains1.cc (1.9),
+	  tests/Polyhedron/contains2.cc (1.9),
+	  tests/Polyhedron/containsintegerpoint1.cc (1.2),
+	  tests/Polyhedron/disjoint1.cc (1.9),
+	  tests/Polyhedron/disjoint2.cc (1.11),
+	  tests/Polyhedron/dualhypercubes.cc (1.11),
+	  tests/Polyhedron/empty1.cc (1.10), tests/Polyhedron/equals1.cc
+	  (1.9), tests/Polyhedron/exceptions1.cc (1.12),
+	  tests/Polyhedron/exceptions2.cc (1.11),
+	  tests/Polyhedron/exceptions3.cc (1.10),
+	  tests/Polyhedron/expandspacedim1.cc (1.11),
+	  tests/Polyhedron/expandspacedim2.cc (1.11),
+	  tests/Polyhedron/foldspacedims1.cc (1.13),
+	  tests/Polyhedron/foldspacedims2.cc (1.14),
+	  tests/Polyhedron/generalizedaffineimage1.cc (1.10),
+	  tests/Polyhedron/generalizedaffineimage2.cc (1.10),
+	  tests/Polyhedron/generalizedaffinepreimage1.cc (1.7),
+	  tests/Polyhedron/generalizedaffinepreimage2.cc (1.7),
+	  tests/Polyhedron/generators1.cc (1.10),
+	  tests/Polyhedron/geomcovers1.cc (1.13),
+	  tests/Polyhedron/h79widening1.cc (1.9),
+	  tests/Polyhedron/h79widening2.cc (1.9),
+	  tests/Polyhedron/hybrid.cc (1.3),
+	  tests/Polyhedron/intersection1.cc (1.13),
+	  tests/Polyhedron/limitedbhrz03extrapolation1.cc (1.8),
+	  tests/Polyhedron/limitedh79extrapolation1.cc (1.9),
+	  tests/Polyhedron/linearpartition1.cc (1.11),
+	  tests/Polyhedron/linearsystem1.cc (1.8),
+	  tests/Polyhedron/linexpression1.cc (1.9),
+	  tests/Polyhedron/mapspacedims1.cc (1.12),
+	  tests/Polyhedron/matrix1.cc (1.9), tests/Polyhedron/max_min1.cc
+	  (1.11), tests/Polyhedron/maxspacedim1.cc (1.11),
+	  tests/Polyhedron/mc91.cc (1.14), tests/Polyhedron/membytes1.cc
+	  (1.14), tests/Polyhedron/memory1.cc (1.11),
+	  tests/Polyhedron/memory2.cc (1.12),
+	  tests/Polyhedron/minconstraints1.cc (1.9),
+	  tests/Polyhedron/minconstraints2.cc (1.11),
+	  tests/Polyhedron/mingenerators1.cc (1.9),
+	  tests/Polyhedron/mingenerators2.cc (1.10),
+	  tests/Polyhedron/nncminimize1.cc (1.5),
+	  tests/Polyhedron/nncminimize2.cc (1.6),
+	  tests/Polyhedron/numberinput1.cc (1.29),
+	  tests/Polyhedron/onepoint.cc (1.10), tests/Polyhedron/permute.cc
+	  (1.7), tests/Polyhedron/pointsetpowerset1.cc (1.5),
+	  tests/Polyhedron/polydifference1.cc (1.10),
+	  tests/Polyhedron/polydifference2.cc (1.10),
+	  tests/Polyhedron/polyhull1.cc (1.10),
+	  tests/Polyhedron/polyhull2.cc (1.10),
+	  tests/Polyhedron/powerset1.cc (1.19),
+	  tests/Polyhedron/randphull1.cc (1.10),
+	  tests/Polyhedron/randphull2.cc (1.9),
+	  tests/Polyhedron/relations1.cc (1.9),
+	  tests/Polyhedron/relations2.cc (1.10),
+	  tests/Polyhedron/relations3.cc (1.9),
+	  tests/Polyhedron/removespacedims1.cc (1.9),
+	  tests/Polyhedron/removespacedims2.cc (1.9),
+	  tests/Polyhedron/smm1.cc (1.7), tests/Polyhedron/timeelapse1.cc
+	  (1.10), tests/Polyhedron/timeelapse2.cc (1.10),
+	  tests/Polyhedron/topclosed1.cc (1.10),
+	  tests/Polyhedron/topclosure1.cc (1.9),
+	  tests/Polyhedron/universe1.cc (1.9),
+	  tests/Polyhedron/universe2.cc (1.9),
+	  tests/Polyhedron/variablesset1.cc (1.9),
+	  tests/Polyhedron/watchdog1.cc (1.9),
+	  tests/Polyhedron/writeconsys1.cc (1.9),
+	  tests/Polyhedron/writegensys1.cc (1.9),
+	  tests/Polyhedron/writepolyhedron1.cc (1.9),
+	  tests/Polyhedron/writepolyhedron2.cc (1.9),
+	  tests/Polyhedron/writerelation1.cc (1.11),
+	  tests/Polyhedron/writevariable1.cc (1.7), utils/Makefile.am
+	  (1.14), utils/build_header.in (1.4), utils/cm_cleaner.sh (1.2),
+	  utils/cm_splitter.sh (1.2), utils/text2cxxarray.in (1.3),
+	  utils/timings.cc (1.8), utils/timings.hh (1.5): Copyright years
+	  extended.
+
+2006-12-30 Saturday 21:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_dat.m4 (1.30):
+	  Fixed a bug for Pointset_Powerset BHZ03 extrapolation predicates.
+
+2006-12-30 Saturday 14:03  Andrea Cimino
+
+	* configure.ac (1.258): Removed an extra (previously added) `@'.
+
+2006-12-30 Saturday 13:55  Andrea Cimino
+
+	* configure.ac (1.257): Fixed to allow compiling the Java interface
+	  when the instantiation Pointset_Powerset<Polyhedron> is
+	  requested.
+
+2006-12-28 Thursday 16:57  Andrea Cimino
+
+	* m4/ac_prog_java.m4 (1.4): Fixed a `test' statement in a m4 macro.
+
+2006-12-27 Wednesday 14:25  Andrea Cimino
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
+	  (1.10), ppl_interface_generator_ocaml_dat.m4 (1.3),
+	  ppl_interface_generator_ocaml_ml_code.m4 (1.10),
+	  ppl_interface_generator_ocaml_mli_code.m4 (1.3), test1.ml (1.26):
+	  Written initial support for OCaml Pointset_Powerset.
+
+2006-12-26 Tuesday 14:48  Andrea Cimino
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
+	  (1.9), ppl_interface_generator_ocaml_dat.m4 (1.2),
+	  ppl_interface_generator_ocaml_ml.m4 (1.6), ppl_ocaml_globals.cc
+	  (1.6): Launch an OCaml exception if a PPL method requires an
+	  unsigned integer and the input is a negative number.	Fixed some
+	  bugs in the interface.
+
+2006-12-26 Tuesday 12:40  Andrea Cimino
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.8):
+	  Fixed a wrong m4 replacement.
+
+2006-12-25 Monday 17:02  Andrea Cimino
+
+	* interfaces/Java/:
+	  jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.22), tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.11): Added CC76_narrowing_assign in the Java interface.
+
+2006-12-24 Sunday 14:56  Andrea Cimino
+
+	* m4/ac_prog_javac.m4 (1.3): Put an extra space between `whether'
+	  and `$JAVAC' in a `configure' message.
+
+2006-12-24 Sunday 11:59  Andrea Cimino
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
+	  (1.7), ppl_interface_generator_ocaml_ml_code.m4 (1.9),
+	  ppl_interface_generator_ocaml_mli_code.m4 (1.2), test1.ml (1.25):
+	  Widening OCaml function are split in versions with and without
+	  tokens.
+
+2006-12-23 Saturday 19:00  Andrea Cimino
+
+	* interfaces/OCaml/: Makefile.am (1.24),
+	  ppl_interface_generator_ocaml_cc_code.m4 (1.6),
+	  ppl_interface_generator_ocaml_ml_code.m4 (1.8),
+	  ppl_interface_generator_ocaml_mli.m4 (1.1),
+	  ppl_interface_generator_ocaml_mli_code.m4 (1.1), ppl_ocaml.mli
+	  (1.18), ppl_ocaml_globals.ml (1.5): Now the interface file .mli
+	  is automatically generated.  Added support for compilation with
+	  srcdir != builddir.  Added support for parallel builds.
+
+2006-12-23 Saturday 15:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Interval.defs.hh (altnum.91): Revised the documentation for
+	  refine_existential() and refine_universal().
+
+2006-12-22 Friday 17:20  Andrea Cimino
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
+	  (1.5), ppl_interface_generator_ocaml_ml_code.m4 (1.7): Interfaced
+	  other functions in the OCaml interface.
+
+2006-12-22 Friday 16:14  Andrea Cimino
+
+	* interfaces/Java/jni/: ppl_java_C_Polyhedron.cc (1.8),
+	  ppl_java_Polyhedron.cc (1.20): Removed previously non generated
+	  source files.
+
+2006-12-22 Friday 16:11  Andrea Cimino
+
+	* interfaces/OCaml/Makefile.am (1.23): Modified dependencies for
+	  source files in Makefile.am.
+
+2006-12-22 Friday 16:01  Andrea Cimino
+
+	* interfaces/OCaml/ppl_ocaml.ml (1.5): Removed the non generated
+	  `ppl_ocaml.ml' from the repository.
+
+2006-12-22 Friday 15:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/Makefile.am (1.9): Make sure the current
+	  directory is made before `tests'.
+
+2006-12-22 Friday 15:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/tests/Makefile.am (1.10): Compile against
+	  ../ppl_java.jar.
+
+2006-12-22 Friday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/tests/Makefile.am (1.9): Do not distribute
+	  generated files.  Use `check_JAVA' instead of `EXTRA_DIST'.
+	  Notice that, due to a bug in Automake (at least until version
+	  1.9.6) check_JAVA targes are always compiled.  That bug has
+	  already been reported.
+
+2006-12-22 Friday 15:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_ocaml.cc (1.32): Generated file should not
+	  be under CVS.
+
+2006-12-22 Friday 14:05  Andrea Cimino
+
+	* interfaces/Java/tests/Makefile.am (1.8): Java tests restored.
+
+2006-12-22 Friday 11:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/swi_cfli.hh (1.2): Make sure
+	  __STDC_LIMIT_MACROS is defined before the first inclusion of
+	  <stdint.h>.
+
+2006-12-22 Friday 11:09  Andrea Cimino
+
+	* interfaces/Java/tests/Makefile.am (1.7): Use always
+	  `ppl_java.jar' archive to build and run the tests.
+
+2006-12-22 Friday 10:33  Andrea Cimino
+
+	* interfaces/Java/jni/ppl_java_common.hh (1.24): Written a Doxygen
+	  comment for function `jtype_to_unsigned'.
+
+2006-12-21 Thursday 17:28  Andrea Cimino
+
+	* interfaces/OCaml/test1.ml (1.24): Restored the
+	  `map_space_dimensions' call.
+
+2006-12-21 Thursday 17:02  Andrea Cimino
+
+	* interfaces/OCaml/test1.ml (1.23): Modified the partial function
+	  to be valid and so the C++ world doesn't throw exceptions
+
+2006-12-21 Thursday 16:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4 (1.5):
+	  Correctly generate the type c_polyhedron and nnc_polyhedron as
+	  well as any other class type.
+
+2006-12-21 Thursday 16:20  Andrea Cimino
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
+	  (1.4), ppl_interface_generator_ocaml_ml.m4 (1.4),
+	  ppl_interface_generator_ocaml_ml_code.m4 (1.6), test1.ml (1.22):
+	  Split Polyhedron in C_Polyhedron and NNC_Polyhedron.
+
+2006-12-21 Thursday 13:00  Andrea Cimino
+
+	* interfaces/OCaml/Makefile.am (1.22): Now it's possible to use the
+	  PPL using the module installed in the OCaml library directory.
+
+2006-12-21 Thursday 09:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.29),
+	  ppl_interface_generator_prolog_icc_code.m4 (1.37),
+	  tests/ppl_interface_generator_predicate_check_code.m4 (1.46):
+	  Added predicates for ..._upper_bound_if_exact and
+	  poly_hull_if_exact.  Tests for them also added.
+
+2006-12-20 Wednesday 16:48  Andrea Cimino
+
+	* interfaces/OCaml/Makefile.am (1.21): Install ppl module in OCaml
+	  library directory if requested.
+
+2006-12-20 Wednesday 15:47  Andrea Cimino
+
+	* interfaces/Java/jni/Makefile.am (1.9), m4/ac_prog_javah.m4 (1.7):
+	  Include JDK Path during C++ compilation just when the Java
+	  interface is compiled. Avoid using obsolete Autoconf macros.
+
+2006-12-20 Wednesday 14:56  Andrea Cimino
+
+	* interfaces/Java/jni/ppl_java_common.cc (1.27): Fixed a bug in the
+	  Java interface: Java grid parameters where not properly
+	  generated.
+
+2006-12-20 Wednesday 13:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_ml_code.m4
+	  (1.5), test1.ml (1.21): A bug in the code for generalized affine
+	  image fixed.	Improved the printing layout by test1.ml.  Other
+	  small additions to the tests in test1.ml.
+
+2006-12-20 Wednesday 12:35  Andrea Cimino
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_ml_code.m4
+	  (1.4), ppl_ocaml_types.ml (1.5), test1.ml (1.20): Uniformed name
+	  types.  Little corrections to allow test code to compile.
+
+2006-12-20 Wednesday 12:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_ml_code.m4
+	  (1.3), ppl_ocaml_types.ml (1.4): Some bugs corrected.
+
+2006-12-20 Wednesday 11:46  Andrea Cimino
+
+	* interfaces/OCaml/Makefile.am (1.20): Never remove generated
+	  files.
+
+2006-12-20 Wednesday 11:32  Andrea Cimino
+
+	* interfaces/OCaml/Makefile.am (1.19): Patched the Makefile.am to
+	  give priority to generated .ml files when compiling.
+
+2006-12-20 Wednesday 09:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
+	  (1.3), ppl_interface_generator_ocaml_ml.m4 (1.3),
+	  ppl_interface_generator_ocaml_ml_code.m4 (1.2),
+	  ppl_ocaml_types.ml (1.3): Added ppl_ at CLASS@_equals_ at CLASS@ to the
+	  interface.  Corrected bugs in code for
+	  ppl_ at CLASS@_ at COMPARISON@_ at CLASS@ Added a type
+	  "relation_with_grid_generator" and corrected some typos that
+	  prevented the generated ppl_ocaml.ml compiling.
+
+2006-12-19 Tuesday 18:07  Andrea Cimino
+
+	* interfaces/OCaml/ppl_ocaml_globals.cc (1.5): Don't forget the
+	  denominator when building PPL grid parameters.
+
+2006-12-19 Tuesday 18:04  Andrea Cimino
+
+	* interfaces/OCaml/: ppl_ocaml_globals.cc (1.4), ppl_ocaml_types.ml
+	  (1.2): Implemented support for grid_generator and
+	  grid_generator_system.  No more noisy warnings.
+
+2006-12-19 Tuesday 15:56  Andrea Cimino
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
+	  (1.2), ppl_ocaml_globals.cc (1.3): Compilation restored but still
+	  some work needed to let work things properly.
+
+2006-12-19 Tuesday 14:27  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/ppl_ocaml.cc (1.31): Restore file that should
+	  not have been revised in previous commit.
+
+2006-12-19 Tuesday 14:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/: Makefile.am (1.18),
+	  ppl_interface_generator_ocaml_cc.m4 (1.1),
+	  ppl_interface_generator_ocaml_cc_code.m4 (1.1), ppl_ocaml.cc
+	  (1.30), ppl_ocaml_globals.cc (1.2), test1.ml (1.19): Adding code
+	  for generating the ppl_ocaml.cc file.
+
+2006-12-19 Tuesday 10:44  Andrea Cimino
+
+	* interfaces/Java/Makefile.am (1.8): Install ppl_java.jar in
+	  $prefix/lib/ppl when a `make install' is invoked.
+
+2006-12-19 Tuesday 09:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/: ppl_interface_generator_ocaml_ml.m4 (1.2),
+	  ppl_ocaml.cc (1.29), ppl_ocaml_globals.cc (1.1),
+	  ppl_ocaml_globals.ml (1.4): Separated the ppl_ocaml.cc code into
+	  a fixed part and a part to be generated.  Moved more code from
+	  the generated part of ppl_ocaml.ml to the fixed part.
+
+2006-12-19 Tuesday 09:30  Andrea Cimino
+
+	* interfaces/Java/tests/: C_Polyhedron_test1.java (1.6),
+	  Makefile.am (1.6): Added a simple test for the Java interface.
+	  Modified Makefile.am to avoid possible problems when `make check'
+	  is called more than one time.
+
+2006-12-18 Monday 23:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/OCaml/: Makefile.am (1.17),
+	  ppl_interface_generator_ocaml_dat.m4 (1.1),
+	  ppl_interface_generator_ocaml_ml.m4 (1.1),
+	  ppl_interface_generator_ocaml_ml_code.m4 (1.1), ppl_ocaml.cc
+	  (1.28), ppl_ocaml.ml (1.4), ppl_ocaml.mli (1.17), test1.ml
+	  (1.18): Revised names of functions to match the rest of the
+	  interfaces.  Now ppl_ocaml.ml is generated using m4 (but only
+	  checked for the Polyhedron class).
+
+2006-12-15 Friday 14:26  Andrea Cimino
+
+	* interfaces/OCaml/: ppl_ocaml.cc (1.27), ppl_ocaml_globals.ml
+	  (1.3), test1.ml (1.17): Implemented
+	  `ppl_MIP_Problem_objective_function'.
+
+2006-12-14 Thursday 16:13  Andrea Cimino
+
+	* src/MIP_Problem.cc (1.44), src/Variables_Set.cc (1.3),
+	  src/Variables_Set.defs.hh (1.4),
+	  tests/MIP_Problem/ascii_dump_load1.cc (1.2): Added `ascii_load'
+	  and `ascii_dump' for Variables_Set.  MIP problem now correctly
+	  loads and dumps problems with declared integer variables.
+
+2006-12-14 Thursday 12:25  Andrea Cimino
+
+	* interfaces/Java/: ppl_interface_generator_java_dat.m4 (1.3),
+	  jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.21), jni/ppl_java_globals.cc (1.4),
+	  tests/ppl_interface_generator_java_test_java_code.m4 (1.10),
+	  tests/ppl_java_tests_common (1.6): All the Java classes now have
+	  the `toString' method that returns a string representation of
+	  each PPL object.
+
+2006-12-14 Thursday 10:50  Andrea Cimino
+
+	* interfaces/Java/: jni/ppl_java_globals.cc (1.3),
+	  tests/ppl_java_tests_common (1.5): Added the method `toString'
+	  the returns a string representation of a linear expression.
+
+2006-12-13 Wednesday 19:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/: Makefile.am, interval2.cc (altnum.[5,1]): A test
+	  derived from interval1.cc that exhibits an interesting behavior.
+
+2006-12-13 Wednesday 18:38  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.90): Fixed typo.
+
+2006-12-13 Wednesday 18:31  Andrea Cimino
+
+	* interfaces/OCaml/ppl_ocaml.cc (1.26): Removed previously
+	  commented code (now useless).
+
+2006-12-13 Wednesday 18:27  Andrea Cimino
+
+	* interfaces/OCaml/: Makefile.am (1.16), ppl_ocaml.cc (1.25),
+	  ppl_ocaml.ml (1.3), ppl_ocaml.mli (1.16), ppl_ocaml_globals.ml
+	  (1.2), ppl_ocaml_types.ml (1.1), test1.ml (1.16): Defined the
+	  data structures used in `ppl_ocaml_types.ml'.  MIP_Problem
+	  interface almost completed.
+
+2006-12-13 Wednesday 14:46  Abramo Bagnara
+
+	* src/Boundary.defs.hh (altnum.30): Added missing fixme comment.
+
+2006-12-13 Wednesday 14:42  Abramo Bagnara
+
+	* src/: Boundary.defs.hh, Checked_Number.defs.hh,
+	  Checked_Number.inlines.hh, Interval.defs.hh
+	  (altnum.[29,42,36,89]): Completed division implementation.
+
+2006-12-12 Tuesday 19:57  Andrea Cimino
+
+	* interfaces/OCaml/: Makefile.am (1.15), ppl_ocaml.cc (1.24),
+	  ppl_ocaml.ml (1.2), ppl_ocaml_globals.ml (1.1), test1.ml (1.15):
+	  Added the file `ppl_ocaml_globals.ml' that should contain the
+	  fixed code after the migration to m4.
+
+2006-12-12 Tuesday 18:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/interval1.cc (altnum.6): Useless code removed.
+
+2006-12-12 Tuesday 18:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/interval1.cc (altnum.5): Revised so as to perform more
+	  interesting tests.
+
+2006-12-12 Tuesday 18:29  Abramo Bagnara
+
+	* src/: Boundary.defs.hh, Interval.defs.hh (altnum.[28,88]): New
+	  implementation for intervals add, sub and mul.
+
+2006-12-11 Monday 16:30  Andrea Cimino
+
+	* configure.ac (1.256), interfaces/OCaml/Makefile.am (1.14),
+	  interfaces/OCaml/ppl_ocaml.ml (1.1),
+	  interfaces/OCaml/ppl_ocaml.mli (1.15): Separated declaration and
+	  implementation of the OCaml interface.  Added some kinds of
+	  exceptions that relates to PPL.  Added a piece of code in
+	  `configure.ac' that tries to detect the presence of the GMP-OCaml
+	  module.
+
+2006-12-10 Sunday 16:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/hybrid.cc (1.2): Tests 01 and 02 fail with 8-bit
+	  coefficients; the same for test 04, but only when assertions are
+	  enabled.
+
+2006-12-08 Friday 23:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Polyhedron/: Makefile.am (1.102), hybrid.cc (1.1): The
+	  hybrid.cc tests three examples adapted from the papers by
+	  Halbwachs, Proy and Roumanoff on linear hybrid systems (1994 and
+	  1997).
+
+2006-12-08 Friday 14:58  Andrea Cimino
+
+	* tests/Polyhedron/: Makefile.am, serialize1.cc (serial.[1,1]):
+	  Added some tests for the Serializer class.
+
+2006-12-08 Friday 12:54  Andrea Cimino
+
+	* configure.ac, m4/ac_check_bz2lib.m4, m4/ac_check_zlib.m4,
+	  src/Bit_Matrix.defs.hh, src/Bit_Row.defs.hh,
+	  src/Constraint_System.defs.hh, src/Generator_System.defs.hh,
+	  src/Linear_System.defs.hh, src/Makefile.am,
+	  src/Ph_Status.idefs.hh, src/Polyhedron.defs.hh, src/Row.defs.hh,
+	  src/Serializer.cc, src/Serializer.defs.hh,
+	  src/Serializer.inlines.hh, src/Serializer.types.hh
+	  (serial.[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]): Put the Serializer
+	  class under CVS control.  Added some friend declaration to let
+	  the Serializer compile.  Added a couple of macros to detect if
+	  `bz2' and `gzlib' are installed.
+
+2006-12-07 Thursday 11:05  Andrea Cimino
+
+	* src/Polyhedron_nonpublic.cc (1.74): Use `gen_sys_i' instead of
+	  `g' whenever is appropriate to avoid wrong computations.
+
+2006-12-07 Thursday 10:00  Elena Mazzi
+
+	* src/BD_Shape.templates.hh (1.67): Removed an useless variable and
+	  added const to a variable in BD_Shape::refine.
+
+2006-12-06 Wednesday 19:58  Abramo Bagnara
+
+	* src/: Boundary.defs.hh, Interval.defs.hh (altnum.[27,87]): Fixed
+	  some compilation errors.
+
+2006-12-06 Wednesday 18:20  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.86): Commented out empty check in
+	  OK().
+
+2006-12-06 Wednesday 18:17  Abramo Bagnara
+
+	* src/: Box.inlines.hh, Box.templates.hh, Interval.defs.hh
+	  (altnum.[25,35,85]): Added non working implementation of
+	  refine_universal. Renamed refine in refine_existential.
+
+2006-12-06 Wednesday 16:38  Abramo Bagnara
+
+	* src/: Boundary.defs.hh, Interval.defs.hh, checked_ext.inlines.hh
+	  (altnum.[26,84,13]): Some name cleaning. Fixed comparison.
+
+2006-12-06 Wednesday 16:24  Andrea Cimino
+
+	* interfaces/OCaml/: ppl_ocaml.cc (1.23), ppl_ocaml.mli (1.14),
+	  test1.ml (1.14): Implemented `map_space_dimension' function in
+	  the OCaml interface.
+
+2006-12-06 Wednesday 15:39  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/: Makefile.am, boxdifference1.cc (altnum.[4,1]): Added
+	  a test file for the box_difference_assign() method.
+
+2006-12-06 Wednesday 15:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Box.defs.hh, Box.inlines.hh, Box.templates.hh
+	  (altnum.[22,24,34]): Added declarations and drafted
+	  implementations for methods box_difference_assign() and
+	  difference_assign().	Added an assertion inside add_constraint(),
+	  showing a bug in function refine working on Interval objects.
+
+2006-12-06 Wednesday 10:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.defs.hh (altnum.41): Added missing access
+	  control specification.
+
+2006-12-06 Wednesday 10:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_mpz.inlines.hh (1.39): Compiler warnings avoided.
+
+2006-12-06 Wednesday 10:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Constraint_System.cc (1.20): Missing inclusions added.
+
+2006-12-06 Wednesday 09:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Congruence_System.cc (1.21): Shadowing avoided.
+
+2006-12-06 Wednesday 09:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl (altnum.7): Now the empty box
+	  (for any number of dimensions) is represented by the singleton
+	  list [empty], the test data has to be updated to match.
+
+2006-12-06 Wednesday 08:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_icc_code.m4,
+	  ppl_prolog_common.icc, tests/pl_check.pl (altnum.[7,4,6]): In
+	  tests/pl_check.pl, spelling correction done that has already been
+	  done in the main branch.
+
+	  In ppl_prolog_common.icc, in interval_term(), the upper bound
+	  when unbounded has to be "pinf" and not "minf".
+
+	  In the ppl_prolog.icc code for get_bounding_box, we must cater
+	  specially for the empty box.
+
+2006-12-05 Tuesday 23:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Row.defs.hh (1.3): Old compilers cannot cope with the
+	  change of the previous commit: reverted.
+
+2006-12-05 Tuesday 21:53  Andrea Cimino
+
+	* interfaces/OCaml/ppl_ocaml.cc (1.22): Avoid to hide previously
+	  declared variables if there is no need.
+
+2006-12-05 Tuesday 20:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Row.defs.hh (1.2): Useless qualifications (tentatively)
+	  removed.
+
+2006-12-05 Tuesday 20:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid.templates.hh (1.23): Spurious declaration removed.
+
+2006-12-05 Tuesday 20:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_ocaml.cc (1.21): Useless breaks removed.
+	  Added a FIXME.
+
+2006-12-05 Tuesday 19:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.12):
+	  Duplicate return statement removed.
+
+2006-12-05 Tuesday 19:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.11):
+	  Spurious semicolon removed.
+
+2006-12-05 Tuesday 19:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_nonpublic.cc (1.73): Avoid shadowing parameters.
+
+2006-12-05 Tuesday 19:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Congruence.defs.hh (1.17), Congruence.inlines.hh (1.14),
+	  Constraint.cc (1.64), Constraint.inlines.hh (1.65),
+	  Grid.inlines.hh (1.12), Grid_Generator.defs.hh (1.27),
+	  Grid_Generator.inlines.hh (1.12),
+	  Grid_Generator_System.inlines.hh (1.11), Makefile.am (1.166),
+	  Polyhedron.inlines.hh (1.135): Inclusions fixed.  A couple of
+	  constructors (with loops) made non-inline.  Made sure inlines are
+	  defined before being called.
+
+2006-12-05 Tuesday 17:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/max_space_dimension.hh (1.10): Fixed max_space_dimension().
+
+2006-12-05 Tuesday 17:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/fromgensys1.cc (altnum.3): Adapted to the Box
+	  abstraction; also test the case of closure points.
+
+2006-12-05 Tuesday 17:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (altnum.33): Implemented constructor
+	  Box(const Generator_System& gs).
+
+2006-12-05 Tuesday 17:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.42): Spelling corrected.
+
+2006-12-05 Tuesday 17:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Box.defs.hh, Box.inlines.hh (altnum.[21,23]): Added
+	  recycling constructors from systems of constraints/generators.
+	  Prefer Interval::set_universe() where appropriate.
+
+2006-12-05 Tuesday 11:35  Andrea Cimino
+
+	* interfaces/OCaml/: ppl_ocaml.cc (1.20), ppl_ocaml.mli (1.13),
+	  test1.ml (1.13): Implemented `fold_space_dimensions' and
+	  `remove_space_dimensions'.
+
+2006-12-05 Tuesday 09:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/mapspacedims1.cc (altnum.3): Fixed known results.
+
+2006-12-05 Tuesday 09:03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.inlines.hh (altnum.22): Temporarily patched constructor
+	  taking a Constraint_System.
+
+2006-12-04 Monday 23:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh (altnum.32): Do not assume the underlying
+	  interval type can handle empty intervals (apart from answering
+	  the is_empty() query).
+
+2006-12-04 Monday 23:11  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.83): Invalidate cardinality cache
+	  when needed.
+
+2006-12-04 Monday 22:54  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.82): Added missing return.
+
+2006-12-04 Monday 22:49  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.81): Call normalize() only on
+	  restricted intervals.
+
+2006-12-04 Monday 22:33  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh, Result.defs.hh, checked.defs.hh
+	  (altnum.[40,3,41]): Made Check_Overflow_Policy more transparent.
+
+2006-12-04 Monday 22:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/empty1.cc (altnum.2): New function test06() exhibits a
+	  bug in Box::is_empty().  The other tests are currently not
+	  executed since they are waiting for conversion.
+
+2006-12-04 Monday 22:06  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.80): Added OK() calls.
+
+2006-12-04 Monday 21:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Box.defs.hh, Box.inlines.hh, Box.templates.hh
+	  (altnum.[20,21,31]): Drafted implementation of methods swap and
+	  map_space_dimensions.
+
+2006-12-04 Monday 21:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (altnum.30): Corrected method is_bounded().
+
+2006-12-04 Monday 21:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/bhz03widening1.cc (altnum.2): Disambiguate pointer to
+	  widening method. Added a FIXME to remember that we need to define
+	  a widening certificate for CC76.
+
+2006-12-04 Monday 21:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/boxhull1.cc (altnum.1): Put under CVS control.
+
+2006-12-04 Monday 21:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/bgp99extrapolation1.cc (altnum.2): Avoid ambiguity when
+	  taking the address of method CC76_widening_assign.
+
+2006-12-04 Monday 20:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Box.defs.hh, Box.templates.hh (altnum.[19,29]): Added
+	  (optional) tokens support to CC76 widening method.
+
+2006-12-04 Monday 20:03  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.79): Fixed singleton output.
+
+2006-12-04 Monday 19:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/interval1.cc (altnum.4): Do not rely on default
+	  parameters of std::complex constructors.
+
+2006-12-04 Monday 19:43  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.78): Added explicit.
+
+2006-12-04 Monday 19:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/interval1.cc (altnum.3): First rough bits of a new test
+	  shows some interesting things.
+
+2006-12-04 Monday 19:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Box.defs.hh, Box.templates.hh, Interval.defs.hh
+	  (altnum.[18,28,77]): Drafted implementations for
+	  Box::ascii_dump() and Box::ascii_load(), currently depending on
+	  stub implementations of the corresponding methods of class
+	  Interval.
+
+2006-12-04 Monday 18:56  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.76): Added return value.
+
+2006-12-04 Monday 18:52  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.75): Fixed info for singleton.
+
+2006-12-04 Monday 18:46  Abramo Bagnara
+
+	* src/: Box.inlines.hh, Interval.defs.hh (altnum.[20,74]): Fixed
+	  division.
+
+2006-12-04 Monday 18:36  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.73): Fixed return type.
+
+2006-12-04 Monday 18:25  Abramo Bagnara
+
+	* src/: Interval.defs.hh, Interval_Restriction.defs.hh
+	  (altnum.[72,9]): Added operators.
+
+2006-12-04 Monday 17:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Interval.defs.hh (altnum.71): Added naive version of
+	  Interval::Interval(const Boundary&).
+
+2006-12-04 Monday 17:57  Abramo Bagnara
+
+	* src/Checked_Number.inlines.hh (altnum.35): Fixed typo.
+
+2006-12-04 Monday 16:50  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.70): Fixed signatures.
+
+2006-12-04 Monday 16:24  Abramo Bagnara
+
+	* tests/Box/interval1.cc (altnum.2): Fixed policy.
+
+2006-12-04 Monday 15:49  Andrea Cimino
+
+	* interfaces/OCaml/ppl_ocaml.cc (1.19): Simplified the code to
+	  build constraint systems, generator systems and congruence
+	  systems.
+
+2006-12-04 Monday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/boundingbox3.cc (altnum.5): Print constraints
+	  whenever printing generators does not give any advantage.  Always
+	  print after having determined the result of the test.
+
+2006-12-04 Monday 15:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (altnum.31): Missing dependency added.
+
+2006-12-04 Monday 15:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (altnum.27): Corrected a bug in
+	  CC76_widening_assign().
+
+2006-12-04 Monday 15:22  Andrea Cimino
+
+	* interfaces/OCaml/: ppl_ocaml.cc (1.18), ppl_ocaml.mli (1.12):
+	  Drafted a first implementation of `relation_with' methods.  In
+	  OCaml the value returned is a list with the relations between a
+	  Constraint/Generator and the Polyhedron.
+
+2006-12-04 Monday 14:48  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.69): Use checked I/O.
+
+2006-12-04 Monday 14:47  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh
+	  (altnum.[39,34]): Added I/O for native.
+
+2006-12-04 Monday 14:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/: boundingbox1.cc, boundingbox2.cc
+	  (altnum.[5,4]): Print constraints whenever printing generators
+	  does not give any advantage.	Always print after having
+	  determined the result of the test.
+
+2006-12-04 Monday 14:15  Abramo Bagnara
+
+	* src/Interval_Restriction.defs.hh (altnum.8): Fixed restrict()
+	  return value.
+
+2006-12-04 Monday 13:56  Abramo Bagnara
+
+	* src/Boundary.defs.hh (altnum.25): Fixed typo.
+
+2006-12-04 Monday 12:44  Abramo Bagnara
+
+	* src/: Interval_Info.defs.hh, Interval_Restriction.defs.hh
+	  (altnum.[16,7]): Clear info in constructors.
+
+2006-12-04 Monday 12:43  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.68): Added I_MAYBE_EMPTY.
+
+2006-12-04 Monday 12:43  Abramo Bagnara
+
+	* src/Box.inlines.hh (altnum.19): Fixed use of I_Result.
+
+2006-12-04 Monday 12:42  Abramo Bagnara
+
+	* src/Boundary.defs.hh (altnum.24): Fixed boundary comparison.
+
+2006-12-04 Monday 10:42  Andrea Cimino
+
+	* interfaces/OCaml/: ppl_ocaml.cc (1.17), ppl_ocaml.mli (1.11),
+	  test1.ml (1.12): Implemented the swap operation between two
+	  polyhedrons.
+
+2006-12-03 Sunday 22:30  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh, Interval_Restriction.defs.hh,
+	  Temp.defs.hh, checked.inlines.hh (altnum.[38,6,9,31]): Removed
+	  optional parameter in Enable_If when it's useless and confusing.
+
+2006-12-03 Sunday 22:22  Abramo Bagnara
+
+	* src/Temp.defs.hh (altnum.8): Added option type parameter.
+
+2006-12-03 Sunday 20:29  Abramo Bagnara
+
+	* src/: Checked_Number.inlines.hh, Temp.defs.hh (altnum.[33,7]):
+	  Fixed swap calls.
+
+2006-12-03 Sunday 20:20  Abramo Bagnara
+
+	* src/Temp.defs.hh (altnum.6): Cleaned namespace mess.
+
+2006-12-03 Sunday 19:56  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh,
+	  Temp.defs.hh, mp_std_bits.defs.hh, mp_std_bits.inlines.hh,
+	  Checked_Number.defs.hh, mp_std_bits.defs.hh
+	  (altnum.[36,32,5,3,2,37,4]): Moved swap in the same namespace of
+	  type of its arguments.
+
+2006-12-03 Sunday 17:57  Abramo Bagnara
+
+	* src/: Boundary.defs.hh, Interval.defs.hh, Interval_Info.defs.hh,
+	  Rational_Box.hh (altnum.[23,67,15,11]): Removed policy flag
+	  infinity_is_open and fixed the related mess.
+
+2006-12-03 Sunday 17:20  Abramo Bagnara
+
+	* src/Rational_Box.hh (altnum.10): Fixed policy.
+
+2006-12-03 Sunday 17:17  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.66): Fixed OK check.
+
+2006-12-03 Sunday 16:00  Abramo Bagnara
+
+	* src/globals.defs.hh (altnum.13): Much more elegant definitions
+	  for Constant.
+
+2006-12-03 Sunday 14:48  Andrea Cimino
+
+	* interfaces/OCaml/: ppl_ocaml.cc (1.16), ppl_ocaml.mli (1.10),
+	  test1.ml (1.11): Implemented `maximize', `minimize' and
+	  `expand_space_dimension'.
+
+2006-12-03 Sunday 14:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog_common.icc (altnum.3): Restored some
+	  of the code lost during the ninth merge from the main trunk.
+
+2006-12-03 Sunday 00:29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh (altnum.7): Avoid comparing a
+	  Checked_Number with the integer constant 1.
+
+2006-12-02 Saturday 23:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* STANDARDS, TODO, config.guess, config.sub, configure.ac,
+	  instchk.hh, Watchdog/config.guess, Watchdog/config.sub,
+	  demos/ppl_lcdd/ppl_lcdd.cc, demos/ppl_lpsol/Makefile.am,
+	  demos/ppl_lpsol/ppl_lpsol.c,
+	  demos/ppl_lpsol/examples/Makefile.am, doc/Makefile.am,
+	  doc/definitions.dox, doc/devref.doxyconf-html.in,
+	  doc/devref.doxyconf-latex.in, interfaces/Makefile.am,
+	  interfaces/ppl_interface_generator_common.m4,
+	  interfaces/ppl_interface_generator_common_dat.m4,
+	  interfaces/C/Makefile.am,
+	  interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	  interfaces/C/ppl_interface_generator_c_cc_preamble,
+	  interfaces/C/ppl_interface_generator_c_dat.m4,
+	  interfaces/C/ppl_interface_generator_c_h_code.m4,
+	  interfaces/Java/Makefile.am,
+	  interfaces/Java/ppl_interface_generator_java_dat.m4,
+	  interfaces/Java/jni/.cvsignore, interfaces/Java/jni/Makefile.am,
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4,
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4,
+	  interfaces/Java/jni/ppl_java_C_Polyhedron.cc,
+	  interfaces/Java/jni/ppl_java_Polyhedron.cc,
+	  interfaces/Java/jni/ppl_java_common.cc,
+	  interfaces/Java/jni/ppl_java_common.hh,
+	  interfaces/Java/jni/ppl_java_globals.cc,
+	  interfaces/Java/tests/.cvsignore,
+	  interfaces/Java/tests/C_Polyhedron_test1.java,
+	  interfaces/Java/tests/Makefile.am,
+	  interfaces/Java/tests/Test_Partial_Function.java,
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java.m4,
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4,
+	  interfaces/Java/tests/ppl_java_tests_common,
+	  interfaces/OCaml/ppl_ocaml.cc, interfaces/OCaml/ppl_ocaml.mli,
+	  interfaces/OCaml/test1.ml, interfaces/Prolog/Makefile.am,
+	  interfaces/Prolog/ppl_interface_generator_prolog_dat.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc_preamble,
+	  interfaces/Prolog/ppl_prolog_common.icc,
+	  interfaces/Prolog/track_allocation.hh,
+	  interfaces/Prolog/Ciao/Makefile.am,
+	  interfaces/Prolog/GNU/Makefile.am,
+	  interfaces/Prolog/SICStus/Makefile.am,
+	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4,
+	  interfaces/Prolog/SICStus/sp_clpq.pl,
+	  interfaces/Prolog/SICStus/sp_pl_check.pl,
+	  interfaces/Prolog/SICStus/sp_predicate_check.pl,
+	  interfaces/Prolog/SWI/Makefile.am,
+	  interfaces/Prolog/SWI/swi_predicate_check.pl,
+	  interfaces/Prolog/XSB/Makefile.am,
+	  interfaces/Prolog/XSB/expected_pchk_int8_a,
+	  interfaces/Prolog/YAP/Makefile.am,
+	  interfaces/Prolog/tests/Makefile.am,
+	  interfaces/Prolog/tests/expected_pchk_int8_a,
+	  interfaces/Prolog/tests/pl_check.pl,
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4,
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_extra_code,
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4,
+	  interfaces/Prolog/tests/ppl_predicate_check_common.pl,
+	  m4/Makefile.am, m4/ac_check_classpath.m4, m4/ac_prog_jar.m4,
+	  m4/ac_prog_java.m4, m4/ac_prog_javac.m4, m4/ac_prog_javah.m4,
+	  src/Any_Pointset.defs.hh, src/BD_Shape.defs.hh,
+	  src/BD_Shape.inlines.hh, src/BD_Shape.templates.hh,
+	  src/Bit_Matrix.cc, src/Bit_Matrix.defs.hh,
+	  src/Bit_Matrix.inlines.hh, src/Bit_Matrix.types.hh,
+	  src/Bit_Row.cc, src/Bit_Row.defs.hh, src/Bit_Row.inlines.hh,
+	  src/Bit_Row.types.hh, src/Box.templates.hh, src/C_Polyhedron.cc,
+	  src/C_Polyhedron.defs.hh, src/C_Polyhedron.inlines.hh,
+	  src/Checked_Number.defs.hh, src/Grid.defs.hh,
+	  src/Grid.inlines.hh, src/Grid_Generator_System.cc,
+	  src/Grid_chdims.cc, src/Grid_nonpublic.cc, src/Grid_public.cc,
+	  src/Grid_widenings.cc, src/Linear_System.cc,
+	  src/Linear_System.defs.hh, src/Linear_System.inlines.hh,
+	  src/MIP_Problem.cc, src/MIP_Problem.defs.hh, src/Makefile.am,
+	  src/NNC_Polyhedron.cc, src/NNC_Polyhedron.defs.hh,
+	  src/NNC_Polyhedron.inlines.hh, src/Octagonal_Shape.defs.hh,
+	  src/Octagonal_Shape.inlines.hh, src/Octagonal_Shape.templates.hh,
+	  src/Pointset_Powerset.cc, src/Pointset_Powerset.defs.hh,
+	  src/Pointset_Powerset.inlines.hh,
+	  src/Pointset_Powerset.templates.hh, src/Polyhedron.defs.hh,
+	  src/Polyhedron_chdims.cc, src/Polyhedron_nonpublic.cc,
+	  src/Polyhedron_public.cc, src/Polyhedron_widenings.cc,
+	  src/Saturation_Matrix.cc, src/Saturation_Matrix.defs.hh,
+	  src/Saturation_Matrix.inlines.hh, src/Saturation_Matrix.types.hh,
+	  src/Saturation_Row.cc, src/Saturation_Row.defs.hh,
+	  src/Saturation_Row.inlines.hh, src/Saturation_Row.types.hh,
+	  src/Variables_Set.cc, src/Variables_Set.defs.hh,
+	  src/Variables_Set.inlines.hh, src/conversion.cc,
+	  src/globals.defs.hh, src/minimize.cc, src/mp_std_bits.cc,
+	  src/mp_std_bits.defs.hh, src/simplify.cc, src/swapping_sort.icc,
+	  tests/FCAIBVP.cc, tests/FCAIBVP.defs.hh,
+	  tests/FCAIBVP.inlines.hh, tests/BD_Shape/Makefile.am,
+	  tests/BD_Shape/bdshull1.cc,
+	  tests/BD_Shape/boundedaffinepreimage1.cc,
+	  tests/BD_Shape/bounds1.cc, tests/BD_Shape/constraints1.cc,
+	  tests/BD_Shape/foldspacedims1.cc, tests/BD_Shape/max_min1.cc,
+	  tests/BD_Shape/max_min2.cc, tests/BD_Shape/maxspacedim.cc,
+	  tests/BD_Shape/maxspacedim1.cc, tests/BD_Shape/relations3.cc,
+	  tests/Grid/Makefile.am, tests/Grid/approximatepartition1.cc,
+	  tests/Grid/disjoint1.cc, tests/Grid/intersection1.cc,
+	  tests/Grid/partition1.cc, tests/Grid/powersetdifference1.cc,
+	  tests/Grid/powersetgeometricallycovers1.cc,
+	  tests/Grid/powersetgeometricallyequals1.cc,
+	  tests/Grid/widening2.cc, tests/MIP_Problem/mipproblem1.cc,
+	  tests/Octagonal_Shape/Makefile.am,
+	  tests/Octagonal_Shape/boundedaffineimage1.cc,
+	  tests/Octagonal_Shape/boundedaffinepreimage1.cc,
+	  tests/Octagonal_Shape/bounds1.cc,
+	  tests/Octagonal_Shape/constraints1.cc,
+	  tests/Octagonal_Shape/expandspacedim1.cc,
+	  tests/Octagonal_Shape/foldspacedims1.cc,
+	  tests/Octagonal_Shape/mapspacedims1.cc,
+	  tests/Octagonal_Shape/max_min1.cc,
+	  tests/Octagonal_Shape/max_min2.cc,
+	  tests/Octagonal_Shape/maxspacedim.cc,
+	  tests/Octagonal_Shape/maxspacedim1.cc,
+	  tests/Octagonal_Shape/relatwithgen1.cc,
+	  tests/Polyhedron/linearpartition1.cc,
+	  tests/Polyhedron/pointsetpowerset1.cc,
+	  tests/Polyhedron/polydifference2.cc,
+	  tests/Polyhedron/variablesset1.cc, utils/Makefile.am,
+	  utils/cm_cleaner.sh, utils/cm_splitter.sh
+	  (altnum.[5,9,6,5,23,3,6,5,12,6,7,3,5,9,7,3,4,3,3,3,3,4,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,6,7,2,3,7,6,7,3,3,2,2,7,2,6,3,6,3,3,5,3,3,3,2,3,2,2,2,2,2,3,5,5,6,2,2,2,2,2,2,2,2,26,5,7,6,35,3,3,3,3,3,3,3,6,6,6,3,3,30,2,6,6,3,3,6,3,3,3,3,10,7,14,11,9,3,3,3,3,4,3,4,3,3,3,3,8,12,6,1,2,7,5,3,3,3,6,3,2,2,4,3,2,2,4,2,4,3,2,3,3,3,2,2,2,3,3,6,3,3,2,3,3,2,3,2,2,3,2,3,4,3,3,3,3,2,2]):
+	  Ninth merge of the trunk to the `altnum' branch.
+
+2006-12-02 Saturday 18:01  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh
+	  (altnum.[34,31]): Adjusted prototype for arithmetic operators.
+
+2006-12-02 Saturday 17:27  Abramo Bagnara
+
+	* src/: Boundary.defs.hh, Interval.defs.hh (altnum.[22,65]):
+	  Adjusted prototype for interval == and !=.
+
+2006-12-02 Saturday 16:48  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh,
+	  checked.defs.hh, checked_float.inlines.hh,
+	  checked_int.inlines.hh, checked_mpq.inlines.hh,
+	  checked_mpz.inlines.hh (altnum.[33,30,40,31,40,36,39]): Made
+	  relational operators on Checked_Numbers less invasive.
+
+2006-12-02 Saturday 16:22  Abramo Bagnara
+
+	* src/C_Integer.hh (altnum.1): Added support for Constants. Use
+	  only a template for all C integers info.
+
+2006-12-02 Saturday 16:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/meta_programming.hh (altnum.5): Drafted the documentation for
+	  template <bool b> struct Compile_Time_Check.
+
+2006-12-02 Saturday 16:12  Abramo Bagnara
+
+	* src/: Limits.hh, Makefile.am, checked.inlines.hh,
+	  checked_int.inlines.hh, checked_mpz.inlines.hh, globals.defs.hh
+	  (altnum.[7,29,30,39,38,11]): Added support for Constants. Use
+	  only a template for all C integers info.
+
+2006-12-02 Saturday 15:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/meta_programming.hh (altnum.4): Added an example showing how
+	  to use Enable_If.
+
+2006-12-02 Saturday 15:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: BD_Shape/Makefile.am, Octagonal_Shape/Makefile.am
+	  (altnum.[5,5]): Temporary kludge to allow parallel builds to
+	  work.
+
+2006-12-02 Saturday 14:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/meta_programming.hh (altnum.3): Drafted the documentation of
+	  template <bool b, typename T> struct Enable_If.
+
+2006-12-02 Saturday 12:44  Andrea Cimino
+
+	* interfaces/: Java/jni/ppl_java_common.cc (1.26),
+	  OCaml/ppl_ocaml.cc (1.15), OCaml/ppl_ocaml.mli (1.9),
+	  OCaml/test1.ml (1.10): Interfaced other methods that relate to
+	  Polyhedron.  Avoid useless checks in the Java interface.
+
+2006-12-02 Saturday 12:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.cc (altnum.1): file
+	  ppl_java_common.cc was added on branch altnum on 2006-12-02
+	  22:35:27 +0000
+
+2006-12-02 Saturday 12:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: BD_Shape/Makefile.am, Octagonal_Shape/Makefile.am
+	  (altnum.[4,4]): Previous change completed.
+
+2006-12-02 Saturday 12:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_mpq.inlines.hh (altnum.35): Fixed copy and paste
+	  mistake.
+
+2006-12-02 Saturday 12:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/meta_programming.hh (altnum.2): Changed an instance of
+	  `class' to `typename'.
+
+2006-12-02 Saturday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh,
+	  Interval.defs.hh, Interval_Restriction.defs.hh, Temp.defs.hh,
+	  checked.inlines.hh, compiler.hh, meta_programming.hh
+	  (altnum.[32,29,64,5,4,29,18,1]): New source `meta_programming.hh'
+	  will contain all our metaprogramming utilities.
+
+2006-12-02 Saturday 11:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: BD_Shape/Makefile.am, Octagonal_Shape/Makefile.am
+	  (altnum.[3,3]): Allow parallel builds in tests/BD_Shape and
+	  tests/Octagonal_Shape.
+
+2006-12-02 Saturday 11:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_mpz.inlines.hh (altnum.37): Spurious comment removed.
+
+2006-12-02 Saturday 11:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Grid/boundingbox1.cc, Grid/boundingbox2.cc,
+	  Grid/coveringbox1.cc, Grid/coveringbox2.cc,
+	  Grid/directproduct1.cc, Polyhedron/boundingbox1.cc,
+	  Polyhedron/boundingbox3.cc (altnum.[3,3,3,3,3,4,4]): No longer
+	  use Bounding_Box: use Rational_Box instead.
+
+2006-12-02 Saturday 10:58  Abramo Bagnara
+
+	* src/checked.inlines.hh (altnum.28): Fixed comparison.
+
+2006-12-02 Saturday 10:58  Abramo Bagnara
+
+	* src/checked_mpz.inlines.hh (altnum.36): Added missing #include.
+
+2006-12-02 Saturday 10:32  Andrea Cimino
+
+	* interfaces/OCaml/ppl_ocaml.cc (1.14): Solved a bug that was
+	  causing segmentation faults.
+
+2006-12-02 Saturday 10:13  Abramo Bagnara
+
+	* src/: checked.inlines.hh, checked_mpq.inlines.hh,
+	  checked_mpz.inlines.hh (altnum.[27,34,35]): Implemented universal
+	  comparisons.
+
+2006-12-02 Saturday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/compiler.hh (altnum.17): Drafted the documentation for
+	  template <typename Base, typename Derived> struct
+	  Is_Same_Or_Derived.
+
+2006-12-02 Saturday 08:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Temp.defs.hh, compiler.hh (altnum.[3,16]): Drafted the
+	  documentation for template <bool b> struct Bool, struct True,
+	  struct False, and template <typename T1, typename T2> struct
+	  Is_Same.
+
+2006-12-02 Saturday 07:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: GMP_Integer.defs.hh, GMP_Integer.inlines.hh,
+	  GMP_Integer.types.hh, Makefile.am, Old_Interval.defs.hh,
+	  checked.defs.hh, checked_mpq.inlines.hh, checked_mpz.inlines.hh,
+	  checked_numeric_limits.hh, mp_numeric_limits.hh,
+	  mp_std_bits.defs.hh, mp_std_bits.inlines.hh
+	  (altnum.[9,8,6,28,3,39,33,34,7,3,1,1]): New sources
+	  `mp_std_bits.defs.hh' and `mp_std_bits.inlines.hh' contain the
+	  specializations of std:: objects that are not defined by GMP and
+	  MPFR (presently these include std::swap() and
+	  std::numeric_limits).  The policy is to include
+	  mp_std_bits.defs.hh immediately after each inclusion of gmpxx.h.
+	  File `mp_numeric_limits.hh' phased out.
+
+2006-12-01 Friday 18:00  Abramo Bagnara
+
+	* src/: Boundary.defs.hh, Interval.defs.hh, Interval_Info.defs.hh,
+	  Interval_Restriction.defs.hh, checked_float.inlines.hh,
+	  checked_int.inlines.hh, compiler.hh, fpu-ia32.inlines.hh
+	  (altnum.[21,63,14,4,30,38,15,5]): Silenced some warnings.
+
+2006-12-01 Friday 17:59  Abramo Bagnara
+
+	* src/Temp.defs.hh (altnum.2): Commented out missing specialization
+	  check.
+
+2006-12-01 Friday 16:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4 (1.16),
+	  ppl_interface_generator_common_dat.m4 (1.26),
+	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.28),
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.36),
+	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.45): Use the H79 certificate for more widenings.  Provided
+	  code for extrapolation operators for the disjuncts for the BGP99
+	  extrapolation. However this is not enabled as the C++ code does
+	  not support this yet.
+
+	  Allow for the replacement to be "NONE" as well as the
+	  alternative.	If either are "NONE" then the code is not
+	  generated.
+
+2006-12-01 Friday 15:55  Abramo Bagnara
+
+	* src/Boundary.defs.hh (altnum.20): Commented out two
+	  COMPILE_TIME_CHECK.
+
+2006-12-01 Friday 15:54  Abramo Bagnara
+
+	* src/: checked_mpq.inlines.hh, checked_mpz.inlines.hh
+	  (altnum.[32,33]): Added missing swap.
+
+2006-12-01 Friday 15:36  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh, Interval.defs.hh,
+	  Interval_Restriction.defs.hh, Rounding_Dir.defs.hh, Temp.defs.hh,
+	  checked.defs.hh, checked_mpq.inlines.hh, checked_mpz.inlines.hh,
+	  compiler.hh (altnum.[31,62,3,5,1,38,31,32,14]): Added support for
+	  fast (dirty) temporary.
+
+2006-12-01 Friday 14:43  Andrea Cimino
+
+	* interfaces/OCaml/ppl_ocaml.cc (1.13): Use a more appropriate way
+	  to return PPL coefficients to the OCaml world.
+
+2006-12-01 Friday 14:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: DB_Matrix.inlines.hh, OR_Matrix.inlines.hh (altnum.[3,3]):
+	  Use the function sgn() when comparing a Checked_Number with the
+	  constant 0.
+
+2006-12-01 Friday 14:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.templates.hh, Octagonal_Shape.templates.hh
+	  (altnum.[5,5]): Avoid comparing a checked number with the integer
+	  constant 1.
+
+2006-12-01 Friday 11:58  Andrea Cimino
+
+	* interfaces/OCaml/: ppl_ocaml.cc (1.12), test1.ml (1.9): The code
+	  now compiles also with non GMP types.  Still some problems to
+	  solve in the lookup phase at runtime.
+
+2006-12-01 Friday 10:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.25):
+	  Redundant code removed and a "FIXME" comment added.
+
+2006-12-01 Friday 10:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4 (1.15),
+	  ppl_interface_generator_common_dat.m4 (1.24): Further
+	  modifications to the code for generating the pattern replacements
+	  means that we can also generate the code for the
+	  Pointset_Powerset<BD_Shape<int8_t> > (and similarly
+	  Octagonal_Shape) for the widening and extrapolation operators.
+
+	  One new feature introduced in the m4 code is: if the alternative
+	  replacement is defined to be "NONE", no code is generated. This
+	  caters for the case when the BD_Shape widening does not come with
+	  a certificate and, so, cannot be used for the pointset powerset
+	  certificate widening.
+
+2006-12-01 Friday 09:17  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.23): In the
+	  widening/extrapolation of Pointset_Powerset domains, when the
+	  disjunct domain is C_Polyhedron or NNC_Polyhedron, we must remove
+	  the topology before looking for the pattern replacement for the
+	  disjunct widening.
+
+2006-12-01 Friday 08:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.27),
+	  ppl_interface_generator_prolog_icc_code.m4 (1.35),
+	  tests/ppl_interface_generator_predicate_check_code.m4 (1.44):
+	  Added m4 code for generating the BGP99 extrapolation assign
+	  predicate.  A simple check for this extrapolation predicate added
+	  to the tests.
+
+	  Also added draft code for a "with_tokens" version of the BHZ03
+	  certificate widening (but not enabled as there is no
+	  "with_tokens" option in the C++ BHZ03 widening).
+
+2006-12-01 Friday 07:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (1.34): Correction to Pointset_Powerset certificate widening
+	  code.
+
+2006-11-30 Thursday 23:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.22),
+	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.26),
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.33): Added
+	  Prolog predicates for widening pointset_powerset domains using
+	  certificate-based widenings. Code is incomplete and not working.
+
+2006-11-30 Thursday 23:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Box.templates.hh, Interval.defs.hh (altnum.[25,61]): Fixed
+	  implementation of contains() for intervals.  Corrected a bug in
+	  the implementation of Box::contains(). Pointed out a name hiding
+	  issue.
+
+2006-11-30 Thursday 22:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Box.defs.hh, Box.templates.hh (altnum.[17,24]): Implemented
+	  method Box::contains().
+
+2006-11-30 Thursday 18:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.templates.hh, Octagonal_Shape.templates.hh
+	  (altnum.[4,4]): Use the sign function when comparing a checked
+	  coefficient with the integer constant 0.
+
+2006-11-30 Thursday 18:43  Andrea Cimino
+
+	* interfaces/OCaml/: ppl_ocaml.cc (1.11), ppl_ocaml.mli (1.8),
+	  test1.ml (1.8): Defined and implemented other methods that belong
+	  to Polyhedron.
+
+2006-11-30 Thursday 17:09  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh
+	  (altnum.[30,28]): Added implementation of sgn and cmp for native
+	  types.
+
+2006-11-30 Thursday 16:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/ppl_test.hh (altnum.5): Added dummy definitions for
+	  Test_Box_Interval_Info and for check_result() on Box objects.
+
+2006-11-30 Thursday 14:36  Andrea Cimino
+
+	* interfaces/OCaml/: ppl_ocaml.cc (1.10), ppl_ocaml.mli (1.7),
+	  test1.ml (1.7): Added support to return congruence systems.
+
+2006-11-30 Thursday 14:18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Interval.defs.hh (altnum.60): Typo corrected.
+
+2006-11-30 Thursday 13:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Interval_Info.defs.hh (altnum.13): Added copyright preamble.
+
+2006-11-30 Thursday 13:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Rational_Box.hh (altnum.9): Use Interval_Restriction_None
+	  instead of Interval_No_Restrictions.
+
+2006-11-30 Thursday 09:48  Andrea Cimino
+
+	* interfaces/OCaml/: ppl_ocaml.cc (1.9), ppl_ocaml.mli (1.6),
+	  test1.ml (1.6): Written the code to return constraints,
+	  generators, generator systems and constraints system.
+
+2006-11-30 Thursday 09:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Interval.defs.hh (altnum.59): Use function info to access
+	  private base class.
+
+2006-11-30 Thursday 09:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Interval_Restriction.defs.hh (altnum.2): Corrected a typo (EQ
+	  --> V_EQ).
+
+2006-11-30 Thursday 09:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/ppl_test.hh (altnum.4): Inserted a few comppile-time
+	  boolean constants in Test_Box_Interval_Info_Policy; the policy
+	  still misses members.
+
+2006-11-30 Thursday 09:29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Interval.defs.hh (altnum.58): Added inline definition for
+	  operator!=.
+
+2006-11-30 Thursday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/checked_mpq.inlines.hh (altnum.30): Added a missing template
+	  argument to a div call in the sqrt implementation.
+
+2006-11-29 Wednesday 17:46  Abramo Bagnara
+
+	* src/: Boundary.defs.hh, Box.templates.hh, Interval.defs.hh,
+	  Interval_Info.defs.hh, Interval_Restriction.defs.hh,
+	  Rational_Box.hh, checked_float.inlines.hh, checked_int.inlines.hh
+	  (altnum.[19,23,57,12,1,8,29,37]): First working version of
+	  Interval_Restriction_Integer_Modulo.
+
+2006-11-29 Wednesday 13:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/approximatepartition1.cc (altnum.1): file
+	  approximatepartition1.cc was added on branch altnum on 2006-12-02
+	  22:35:33 +0000
+
+2006-11-29 Wednesday 13:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/powersetdifference1.cc (altnum.1): file
+	  powersetdifference1.cc was added on branch altnum on 2006-12-02
+	  22:35:33 +0000
+
+2006-11-29 Wednesday 13:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/powersetgeometricallycovers1.cc (altnum.1): file
+	  powersetgeometricallycovers1.cc was added on branch altnum on
+	  2006-12-02 22:35:33 +0000
+
+2006-11-29 Wednesday 13:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/powersetgeometricallyequals1.cc (altnum.1): file
+	  powersetgeometricallyequals1.cc was added on branch altnum on
+	  2006-12-02 22:35:33 +0000
+
+2006-11-29 Wednesday 13:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Pointset_Powerset.cc (1.9), src/Pointset_Powerset.defs.hh
+	  (1.10), tests/Grid/Makefile.am (1.45),
+	  tests/Grid/approximatepartition1.cc (1.1),
+	  tests/Grid/partition1.cc (1.3), tests/Grid/powerset1.cc (1.4),
+	  tests/Grid/powersetdifference1.cc (1.1),
+	  tests/Grid/powersetgeometricallycovers1.cc (1.1),
+	  tests/Grid/powersetgeometricallyequals1.cc (1.1): Corrected and
+	  improved the code for approximate_partition() The test file
+	  approximatepartition1.cc now tests this.  Restored partition1.cc
+	  to just test the algorithm partition() defined there.  Replaced
+	  powerset1.cc by three test files, one for each operation and
+	  added some extra tests.
+
+2006-11-29 Wednesday 06:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/:
+	  ppl_interface_generator_sicstus_sd_cc.m4 (1.5), sp_clpq.pl
+	  (1.14), sp_pl_check.pl (1.8): Added support for SICStus 4.
+
+2006-11-28 Tuesday 18:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Pointset_Powerset.cc (1.8), src/Pointset_Powerset.defs.hh
+	  (1.9), tests/Grid/partition1.cc (1.2), tests/Grid/powerset1.cc
+	  (1.3): Boolean flag name changed from exact to finite_partition.
+
+	  Added another test to powerset1.cc Changed partition1.cc test to
+	  use approximate_partition()
+
+	  Revised/added a couple of comments.
+
+2006-11-28 Tuesday 17:20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Pointset_Powerset.cc (1.7), Pointset_Powerset.defs.hh
+	  (1.8): Functions approximate_partition() and check_containment()
+	  working on (powersets of) grids are now publicly available.
+	  Corrected the handling of the boolean argument encoding exactness
+	  of the partition.
+
+2006-11-28 Tuesday 17:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Pointset_Powerset.templates.hh (1.7): Use std::make_pair()
+	  where appropriate.
+
+2006-11-28 Tuesday 09:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.21): Enable
+	  ..._geometrically_covers/2 and ..._geometrically_equals/2 for
+	  powersets of Grids.
+
+2006-11-28 Tuesday 09:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Pointset_Powerset.cc (1.6), src/Pointset_Powerset.inlines.hh
+	  (1.5), tests/Grid/powerset1.cc (1.2): Added
+	  geometrically_covers() and geometrically_equals() for Grids.	A
+	  few basic tests for them also added.
+
+2006-11-28 Tuesday 08:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/Makefile.am (1.44), tests/Grid/powerset1.cc (1.1),
+	  src/Pointset_Powerset.cc (1.5): Added poly_difference_assign()
+	  for powersets of grids.
+
+	  Tests added to check this.
+
+	  Also added approximate_partition() for two grids that sets a
+	  Boolean flag depending on whether or not the partition is exact.
+
+2006-11-27 Monday 18:29  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.56): Readded
+	  set_{lower,upper}_unbounded.
+
+2006-11-27 Monday 17:07  Andrea Cimino
+
+	* interfaces/OCaml/: ppl_ocaml.cc (1.8), ppl_ocaml.mli (1.5),
+	  test1.ml (1.5): Defined and implemented some constructors and
+	  methods that relates to Polyhedron.
+
+2006-11-27 Monday 16:31  Abramo Bagnara
+
+	* src/: Interval.defs.hh, Interval_Info.defs.hh (altnum.[55,11]):
+	  Fixed some constness.
+
+2006-11-27 Monday 15:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Pointset_Powerset.cc (1.4): Added stub implementations for a
+	  couple of fully specialized members.
+
+2006-11-27 Monday 15:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Pointset_Powerset.defs.hh (1.7): Little adjustments to the
+	  documentation: prefer "disjuncts" to "polyhedra" when talking
+	  about elements of a Pointset_Powerset.  Added declarations for
+	  the Pointset_Powerset<Grid> specializations of methods
+	  poly_difference_assign() and geometrically_covers().
+
+2006-11-27 Monday 15:11  Abramo Bagnara
+
+	* src/: checked.defs.hh, checked.inlines.hh (altnum.[37,26]): Moved
+	  #include compiler.hh.
+
+2006-11-27 Monday 15:04  Abramo Bagnara
+
+	* src/Rational_Box.hh (altnum.7): Some fixes to conform to new
+	  implementation.
+
+2006-11-27 Monday 14:23  Abramo Bagnara
+
+	* src/: Boundary.defs.hh, Interval.defs.hh, Interval_Info.defs.hh
+	  (altnum.[18,54,10]): Shiny new implementation of intervals with
+	  support for generic restrictions.
+
+2006-11-27 Monday 14:22  Abramo Bagnara
+
+	* src/: checked.defs.hh, checked.inlines.hh,
+	  checked_float.inlines.hh, checked_int.inlines.hh,
+	  checked_mpq.inlines.hh, checked_mpz.inlines.hh
+	  (altnum.[36,25,28,36,29,31]): Added Checked_Supports template.
+	  Some name cleaning according to STANDARDS.
+
+2006-11-27 Monday 14:21  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh
+	  (altnum.[29,27]): Added some missing Enable_If.
+
+2006-11-27 Monday 14:20  Abramo Bagnara
+
+	* src/compiler.hh (altnum.13): Removed some macros.
+
+2006-11-27 Monday 13:52  quartieri
+
+	* src/Octagonal_Shape.templates.hh (1.45),
+	  tests/Octagonal_Shape/constraints1.cc (1.2),
+	  tests/Octagonal_Shape/relatwithgen1.cc (1.5): Corrected two bugs:
+	  one in relation_with() and another in add_constraint().
+
+2006-11-27 Monday 13:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.20),
+	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.43): Temporarily disable poly_difference for powersets where
+	  the elements are not Polyhedra.
+
+	  Corrected a bug in the test code..
+
+2006-11-27 Monday 12:42  quartieri
+
+	* tests/BD_Shape/constraints1.cc (1.17), src/BD_Shape.templates.hh
+	  (1.66): Corrected an error in add_constraint() when adding an
+	  inconsistent constraint.
+
+2006-11-27 Monday 11:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* STANDARDS (1.36): In the section about "Names", added (surely
+	  partial) guidelines about when to use lower, upper and mixed case
+	  identifiers.
+
+2006-11-27 Monday 11:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/BD_Shape/constraints1.cc (1.16): Added test05 which shows
+	  an error when adding an inconsistent constraint.
+
+2006-11-27 Monday 09:15  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (1.32): Corrected ...add_disjuncts code - we must use the C++
+	  name and not the interface name.
+
+2006-11-25 Saturday 14:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (1.31): When calling predicate ppl_*_get_disjunct/2, the
+	  resulting PPL object handle is now registered in the track
+	  allocation system by calling macro WEAK_REGISTER. These handles
+	  should not be deleted by the Prolog programmer.
+
+2006-11-25 Saturday 14:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/track_allocation.hh (1.20): Added a new set of
+	  registered objects whose deletion is under the PPL library
+	  responsibility. Added a new method weak_insert() to register
+	  addresses to such objects. Added shorthand macro WEAK_REGISTER.
+	  When destroying the allocation tracker, the memory leak error
+	  message is displayed only when there still are REGISTERed objects
+	  (i.e., disregarding WEAK_REGISTERed objects).
+
+2006-11-25 Saturday 14:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	*
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.42): Corrected a few bugs leading to memory leaks when
+	  checking Pointset_Powerset instantiations.
+
+2006-11-24 Friday 17:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_icc_code.m4
+	  (1.30), tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.41), tests/ppl_predicate_check_common.pl (1.2): Removed some
+	  redundant code and an erroneous assignment.
+
+	  Improved the definition of all the test data.
+
+	  Improved the tests of predicates for the pointset_powerset
+	  domain.
+
+2006-11-24 Friday 17:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/ppl_predicate_check_common.pl (altnum.1):
+	  file ppl_predicate_check_common.pl was added on branch altnum on
+	  2006-12-02 22:35:30 +0000
+
+2006-11-24 Friday 15:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/tests/ppl_interface_generator_java_test_java.m4
+	  (altnum.1): file ppl_interface_generator_java_test_java.m4 was
+	  added on branch altnum on 2006-12-02 22:35:28 +0000
+
+2006-11-24 Friday 15:41  Andrea Cimino
+
+	* interfaces/Java/: jni/ppl_java_common.cc (1.25),
+	  jni/ppl_java_common.hh (1.23),
+	  tests/ppl_interface_generator_java_test_java.m4 (1.3): Use
+	  appropriate classes to handle various kinds of exceptions coming
+	  from the C++ world.
+
+2006-11-24 Friday 15:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.hh (altnum.1): file
+	  ppl_java_common.hh was added on branch altnum on 2006-12-02
+	  22:35:27 +0000
+
+2006-11-24 Friday 14:20  Andrea Cimino
+
+	* interfaces/Java/tests/: ppl_interface_generator_java_test_java.m4
+	  (1.2), ppl_interface_generator_java_test_java_code.m4 (1.9):
+	  Avoid to continue the test if an overflow is detected.
+
+2006-11-24 Friday 14:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
+	  (altnum.1): file ppl_interface_generator_java_test_java_code.m4
+	  was added on branch altnum on 2006-12-02 22:35:28 +0000
+
+2006-11-24 Friday 13:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	*
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.40): Improved and added tests for the Pointset_Powerset
+	  classes.
+
+2006-11-24 Friday 11:16  Andrea Cimino
+
+	* interfaces/Java/tests/C_Polyhedron_test1.java (1.5): Removed an
+	  useless call.
+
+2006-11-24 Friday 11:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/tests/C_Polyhedron_test1.java (altnum.1): file
+	  C_Polyhedron_test1.java was added on branch altnum on 2006-12-02
+	  22:35:28 +0000
+
+2006-11-24 Friday 11:00  Andrea Cimino
+
+	* interfaces/Java/tests/: C_Polyhedron_test1.java (1.4),
+	  Makefile.am (1.5), Test_Partial_Function.java (1.1): Added a new
+	  test that relates to Partial_Function implementation in the Java
+	  interface. The written test is based on test03() of
+	  mapspacedims1.cc in the test/Polyhedron directory.
+
+2006-11-24 Friday 11:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/tests/Makefile.am (altnum.1): file Makefile.am
+	  was added on branch altnum on 2006-12-02 22:35:28 +0000
+
+2006-11-24 Friday 11:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/tests/Test_Partial_Function.java (altnum.1): file
+	  Test_Partial_Function.java was added on branch altnum on
+	  2006-12-02 22:35:28 +0000
+
+2006-11-24 Friday 10:27  Andrea Cimino
+
+	* interfaces/Java/jni/: ppl_java_common.cc (1.24),
+	  ppl_java_common.hh (1.22): Fixed other little errors in
+	  Partial_Function caused by a wrong cut and paste.
+
+2006-11-24 Friday 09:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.25),
+	  ppl_interface_generator_prolog_icc_code.m4 (1.29),
+	  tests/ppl_interface_generator_predicate_check_code.m4 (1.39):
+	  Added two predicates for the pointset_powerset domains.
+	  ppl_ at CLASS@_size/2 and ppl_ at CLASS@_iterator_equals_iterator/2.
+	  Some tests added to check them.
+
+2006-11-24 Friday 08:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	*
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.38): Corrected and added extra tests for the pointset_powerset
+	  predicates.
+
+2006-11-24 Friday 00:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (1.28): Corrected another typo in ppl_*_begin_iterator and
+	  ppl_*_end_iterator.
+
+2006-11-23 Thursday 21:32  Andrea Cimino
+
+	* interfaces/Java/jni/: ppl_java_common.cc (1.23),
+	  ppl_java_common.hh (1.21): Fixed code related to Partial
+	  Function.
+
+2006-11-23 Thursday 19:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.24),
+	  ppl_interface_generator_prolog_icc_code.m4 (1.27): Further
+	  corrected a typo in ppl_*_get_disjunct/2 (test reactivated).
+	  Removed now useless code for ppl_*_get_disjuncts/2.
+
+2006-11-23 Thursday 19:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.23),
+	  tests/ppl_interface_generator_predicate_check_code.m4 (1.37):
+	  Disabled *_get_disjunct as it still is buggy.
+
+	  Changed several tests so that they first check the existence of
+	  ppl predicates before using them to test the results.  These
+	  checks now have to be in the generated code as the m4 generation
+	  no longer does similar checks.
+
+2006-11-23 Thursday 17:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_dat.m4 (1.22):
+	  Enabled *_get_disjunct
+
+2006-11-23 Thursday 17:51  Elena Mazzi
+
+	* src/BD_Shape.templates.hh (1.65), tests/BD_Shape/relations3.cc
+	  (1.21): Corrected bugs found in BD_Shape::relation_with(g).
+
+2006-11-23 Thursday 17:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.21),
+	  ppl_interface_generator_prolog_icc_code.m4 (1.26): Corrected the
+	  interfacing of Pointset_Powerset iterators:	- the predicates
+	  *_begin_iterator and *_end_iterator now construct new     objects
+	  of class iterator (note: not const_iterator) that are registered
+	  to the track allocation system;   - added a new predicate
+	  ppl_ at CLASS@_delete_iterator to deallocate an	   iterator (which
+	  is then unregistered);   - added implementations for
+	  *_increment_iterator and *_decrement_iterator;   - corrected
+	  *_get_disjunct so as to check the allocation of the iterator;   -
+	  corrected method *_drop_disjunct so as to update the iterator to
+	  point     to the next disjunct.
+
+2006-11-23 Thursday 15:36  Andrea Cimino
+
+	*
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.8): Use try-catch blocks to allow `make check' pass when
+	  coefficients used are not the GMP ones.
+
+2006-11-23 Thursday 15:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.41): Reactivated check on
+	  ppl_MIP_Problem_objective_function.
+
+2006-11-23 Thursday 15:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog_common.icc (1.3): Corrected method
+	  get_linear_expression. Also made it non-templatic, as it shoudl
+	  be applied to Linear_Expression objects only.
+
+2006-11-23 Thursday 15:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog_common.icc (altnum.1): file
+	  ppl_prolog_common.icc was added on branch altnum on 2006-12-02
+	  22:35:29 +0000
+
+2006-11-23 Thursday 10:50  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh, checked.defs.hh,
+	  checked_float.inlines.hh, checked_numeric_limits.hh
+	  (altnum.[28,35,27,6]): Removed force_integer.
+
+2006-11-23 Thursday 10:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_prolog_common.icc (1.2),
+	  tests/pl_check.pl (1.40): Renamed get_linear_expression() to
+	  get_homogeneous_expression() as this ignored the inhomogeneous
+	  part (needed when getting the objective function for an
+	  MIP_Problem).
+
+	  Added get_linear_expression() although tests show a bug in this.
+
+	  Extended the test predicate mip_get..
+
+2006-11-22 Wednesday 20:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Makefile.am (1.24): Java interface enabled.
+
+2006-11-22 Wednesday 18:27  Andrea Cimino
+
+	* interfaces/Java/jni/:
+	  ppl_interface_generator_java_ppl_java_classes_cc_code.m4 (1.20),
+	  ppl_java_globals.cc (1.2): Fixed some constructors of Polyhedron.
+	  Added the method `constraints()' to the Java version of
+	  MIP_Problem.
+
+2006-11-22 Wednesday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (altnum.1): file
+	  ppl_interface_generator_java_ppl_java_classes_cc_code.m4 was
+	  added on branch altnum on 2006-12-02 22:35:27 +0000
+
+2006-11-22 Wednesday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_globals.cc (altnum.1): file
+	  ppl_java_globals.cc was added on branch altnum on 2006-12-02
+	  22:35:27 +0000
+
+2006-11-22 Wednesday 15:44  Abramo Bagnara
+
+	* src/: checked_float.inlines.hh, checked_int.inlines.hh,
+	  checked_mpq.inlines.hh, checked_mpz.inlines.hh
+	  (altnum.[26,35,28,30]): Make wider use of assign_exact. Fixed
+	  floor, ceil, trunc for int.
+
+2006-11-22 Wednesday 15:42  Abramo Bagnara
+
+	* src/checked.inlines.hh (altnum.24): Cleaned Safe_Comparison.
+
+2006-11-22 Wednesday 13:49  Andrea Cimino
+
+	*
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.7): Some small changes to let the generated test be more
+	  readable.
+
+2006-11-22 Wednesday 12:49  Abramo Bagnara
+
+	* src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
+	  src/checked.defs.hh, src/checked_ext.inlines.hh,
+	  src/checked_float.inlines.hh, src/checked_int.inlines.hh,
+	  src/checked_mpq.inlines.hh, src/checked_mpz.inlines.hh,
+	  src/checked_numeric_limits.hh, tests/Polyhedron/numberinput1.cc
+	  (altnum.[27,26,34,12,25,34,27,29,5,4]): Renamed may_be_ in has_.
+
+2006-11-22 Wednesday 12:28  Abramo Bagnara
+
+	* src/Checked_Number.defs.hh, src/checked.defs.hh,
+	  src/checked_ext.inlines.hh, src/checked_float.inlines.hh,
+	  src/checked_int.inlines.hh, src/checked_mpq.inlines.hh,
+	  src/checked_mpz.inlines.hh, src/checked_numeric_limits.hh,
+	  tests/Polyhedron/numberinput1.cc
+	  (altnum.[26,33,11,24,33,26,28,4,3]): Renamed misleading
+	  handle_nan and handle_infinity in may_be_nan and may_be_infinity.
+
+2006-11-22 Wednesday 11:57  Andrea Cimino
+
+	* interfaces/Java/:
+	  jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.19), tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.6), tests/ppl_java_tests_common (1.4): Fixed some small bugs
+	  in the Java interface.  Extended the generated test.
+
+2006-11-22 Wednesday 11:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/tests/ppl_java_tests_common (altnum.1): file
+	  ppl_java_tests_common was added on branch altnum on 2006-12-02
+	  22:35:28 +0000
+
+2006-11-22 Wednesday 11:56  Abramo Bagnara
+
+	* src/: checked.inlines.hh, checked_float.inlines.hh,
+	  checked_mpq.inlines.hh, checked_mpz.inlines.hh
+	  (altnum.[23,23,25,27]): Added force_integer implementation.
+
+2006-11-22 Wednesday 11:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (1.25),
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.36),
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
+	  (1.24), src/Grid.defs.hh (1.38), tests/BD_Shape/relations3.cc
+	  (1.20), tests/Octagonal_Shape/relatwithgen1.cc (1.4): Comment
+	  corrected in src/Grid.defs.hh
+
+	  Redundant code removed in added tests in
+	  tests/Octagonal_Shape/relatwithgen1.cc and
+	  tests/BD_Shape/relations3.cc
+
+	  Bug corrected in
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
+
+	  Generation of tests simplified (and made faster) in
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
+
+	  Temporarily suppressed failing tests in
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+
+2006-11-22 Wednesday 10:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/: BD_Shape/relations3.cc (1.19),
+	  Octagonal_Shape/relatwithgen1.cc (1.3): Added 2 tests to each of
+	  these test files.
+
+	  The first of these (13 in BD_Shape/relations3.cc and 20 in
+	  Octagonal_Shape/relatwithgen1.cc) throw an exception but the call
+	  to these is commented for now.
+
+	  The second of these (14 in BD_Shape/relations3.cc and 21 in
+	  Octagonal_Shape/relatwithgen1.cc) fail indicating a possible bug.
+
+2006-11-21 Tuesday 22:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: SICStus/sp_predicate_check.pl (1.1),
+	  SWI/swi_predicate_check.pl (1.1), tests/Makefile.am (1.12),
+	  tests/ppl_interface_generator_predicate_check_code.m4 (1.35),
+	  tests/ppl_interface_generator_predicate_check_extra_code (1.23),
+	  tests/ppl_interface_generator_predicate_check_pl.m4 (1.23),
+	  tests/ppl_predicate_check_common.pl (1.1): The fixed part of the
+	  code containing the test data is now a separate Prolog file
+	  called tests/ppl_predicate_check_common.pl
+
+	  This is included with the generated code by the top-level test
+	  files: SICStus/sp_predicate_check.pl and
+	  SWI/swi_predicate_check.pl.  Similar files will be needed by the
+	  other Prolog systems before they can run these generated tests.
+
+	  The code generator no longer attempts to generate tests for the
+	  fixed MIP and version predicates.
+
+	  The file tests/ppl_interface_generator_predicate_check_extra_code
+	  which contained the fixed data is now replaced by
+	  ppl_predicate_check_common.pl.
+
+2006-11-21 Tuesday 22:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/sp_predicate_check.pl (altnum.1): file
+	  sp_predicate_check.pl was added on branch altnum on 2006-12-02
+	  22:35:29 +0000
+
+2006-11-21 Tuesday 22:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/swi_predicate_check.pl (altnum.1): file
+	  swi_predicate_check.pl was added on branch altnum on 2006-12-02
+	  22:35:30 +0000
+
+2006-11-21 Tuesday 18:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.19): It is
+	  upper_bound_assign_if_exact and not as I had it:
+	  upper_bound_if_exact.
+
+2006-11-21 Tuesday 18:37  Andrea Cimino
+
+	* interfaces/Java/:
+	  jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.18), tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.5), tests/ppl_java_tests_common (1.3): Some fixes to the
+	  interface.  Extended the m4 generated test.
+
+2006-11-21 Tuesday 16:16  Elena Mazzi
+
+	* src/BD_Shape.templates.hh (1.64): Removed an useless variable
+	  `space_dim' in refine().
+
+2006-11-21 Tuesday 15:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.18): Allow
+	  the relation_with_generator procedrure for BD_Shape.
+
+2006-11-21 Tuesday 11:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/tests/: Makefile.am (1.4),
+	  ppl_interface_generator_java_test_java_code.m4 (1.4): Added a
+	  test for affine and space dimension.	Changed the Makefile.am so
+	  that make check runs the generated test.
+
+2006-11-21 Tuesday 11:28  Andrea Cimino
+
+	* interfaces/Java/tests/: Makefile.am (1.3),
+	  ppl_interface_generator_java_test_java_code.m4 (1.3),
+	  ppl_java_tests_common (1.2): Fixed test generation.  Allow
+	  Makefile to compile the generated Java source.
+
+2006-11-21 Tuesday 10:48  Andrea Cimino
+
+	*
+	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
+	  (1.2): Fixed the m4 to build the test correctly.
+
+2006-11-21 Tuesday 10:04  Andrea Cimino
+
+	* interfaces/Java/jni/: Makefile.am (1.8), ppl_java_common.cc
+	  (1.22), ppl_java_common.hh (1.20), ppl_java_globals.cc (1.1):
+	  Written an almost complete support for MIP_Problem.  Written the
+	  class Parma_Polyhedra_Library to obtain version information about
+	  the library.
+
+2006-11-21 Tuesday 10:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/Makefile.am (altnum.1): file Makefile.am was
+	  added on branch altnum on 2006-12-02 22:35:27 +0000
+
+2006-11-21 Tuesday 09:16  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/tests/: ppl_interface_generator_java_test_java.m4
+	  (1.1), ppl_interface_generator_java_test_java_code.m4 (1.1),
+	  ppl_java_tests_common (1.1): New files for generating the tests
+	  for the Java interface.
+
+2006-11-20 Monday 17:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Octagonal_Shape.templates.hh,
+	  Octagonal_Shape_incremental_strong_closure1.hh,
+	  Octagonal_Shape_incremental_strong_closure10.hh,
+	  Octagonal_Shape_incremental_strong_closure2.hh,
+	  Octagonal_Shape_incremental_strong_closure3.hh,
+	  Octagonal_Shape_incremental_strong_closure4.hh,
+	  Octagonal_Shape_incremental_strong_closure5.hh,
+	  Octagonal_Shape_incremental_strong_closure6.hh,
+	  Octagonal_Shape_incremental_strong_closure7.hh,
+	  Octagonal_Shape_incremental_strong_closure8.hh,
+	  Octagonal_Shape_incremental_strong_closure9.hh,
+	  Octagonal_Shape_strong_closure1.hh,
+	  Octagonal_Shape_strong_closure2.hh,
+	  Octagonal_Shape_strong_closure4.hh
+	  (octagons.[52,1,1,1,1,1,1,1,1,1,1,1,1,1]): Alternate versions of
+	  Octagonal_Shape<T>::strong_closure_assign() and
+	  Octagonal_Shape<T>::incremental_strong_closure_assign(Variable).
+	  They can be selected at configure time by setting CPPFLAGS in the
+	  appropriate way.
+
+2006-11-20 Monday 12:23  Andrea Cimino
+
+	* interfaces/Java/jni/:
+	  ppl_interface_generator_java_ppl_java_classes_cc_code.m4 (1.17),
+	  ppl_java_common.hh (1.19): In widening methods, ensure that the
+	  Java token can fit in a C++ unsigned integer.
+
+2006-11-19 Sunday 23:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.20),
+	  ppl_interface_generator_prolog_icc_code.m4 (1.24): Prolog
+	  interface predicates ppl_..._get_disjunct and
+	  ppl_..._drop_disjunct draft code added.
+
+2006-11-19 Sunday 11:27  Abramo Bagnara
+
+	* src/: Interval.defs.hh, Interval_Info.defs.hh, Rational_Box.hh
+	  (altnum.[53,9,6]): Allow Interval inheritance. Removed
+	  check_empty_args policy.
+
+2006-11-19 Sunday 11:26  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh,
+	  checked.defs.hh, checked.inlines.hh, checked_ext.inlines.hh,
+	  checked_float.inlines.hh, checked_int.inlines.hh,
+	  checked_mpq.inlines.hh, checked_mpz.inlines.hh
+	  (altnum.[25,25,32,22,10,22,32,24,26]): Use separate policies also
+	  for checked lowlevel. Added trunc. Converted check_nan_args into
+	  check_nan_result. Use full function names in SPECIALIZE_ macros.
+
+2006-11-19 Sunday 11:22  Abramo Bagnara
+
+	* src/compiler.hh (altnum.12): Added ENABLE_IF macro.
+
+2006-11-18 Saturday 21:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS, ChangeLog, INSTALL, NEWS, STANDARDS, TODO, config.guess,
+	  config.sub, configure.ac, install-sh, instchk.hh, missing,
+	  mkinstalldirs, Watchdog/ChangeLog, Watchdog/INSTALL,
+	  Watchdog/config.guess, Watchdog/config.sub, Watchdog/install-sh,
+	  Watchdog/missing, Watchdog/mkinstalldirs,
+	  Watchdog/src/EList.defs.hh, Watchdog/src/Handler.defs.hh,
+	  Watchdog/src/Makefile.am, Watchdog/src/Pending_Element.defs.hh,
+	  Watchdog/src/Watchdog.cc, Watchdog/src/Watchdog.defs.hh,
+	  demos/ppl_lcdd/ppl_lcdd.cc, demos/ppl_lpsol/Makefile.am,
+	  demos/ppl_lpsol/expected_int16, demos/ppl_lpsol/expected_int16_a,
+	  demos/ppl_lpsol/expected_int32, demos/ppl_lpsol/expected_int32_a,
+	  demos/ppl_lpsol/expected_int64, demos/ppl_lpsol/expected_int64_a,
+	  demos/ppl_lpsol/expected_int8, demos/ppl_lpsol/expected_int8_a,
+	  demos/ppl_lpsol/expected_mpz, demos/ppl_lpsol/expected_mpz_a,
+	  demos/ppl_lpsol/ppl_lpsol.c,
+	  demos/ppl_lpsol/examples/Makefile.am,
+	  demos/ppl_lpsol/examples/README,
+	  demos/ppl_lpsol/examples/egout.mps,
+	  demos/ppl_lpsol/examples/ex11.mps,
+	  demos/ppl_lpsol/examples/ex12.mps,
+	  demos/ppl_lpsol/examples/lseu.mps,
+	  demos/ppl_lpsol/examples/markshare1.mps,
+	  demos/ppl_lpsol/examples/markshare2.mps,
+	  demos/ppl_lpsol/examples/mas74.mps,
+	  demos/ppl_lpsol/examples/mas76.mps,
+	  demos/ppl_lpsol/examples/modglob.mps,
+	  demos/ppl_lpsol/examples/noswot.mps,
+	  demos/ppl_lpsol/examples/opt1217.mps,
+	  demos/ppl_lpsol/examples/p0033.mps,
+	  demos/ppl_lpsol/examples/pk1.mps,
+	  demos/ppl_lpsol/examples/rout.mps, doc/Makefile.am,
+	  doc/definitions.dox, doc/devref-c-interface.doxyconf-html.in,
+	  doc/devref-c-interface.doxyconf-latex.in,
+	  doc/devref-prolog-interface.doxyconf-html.in,
+	  doc/devref-prolog-interface.doxyconf-latex.in,
+	  doc/devref.doxyconf-html.in, doc/devref.doxyconf-latex.in,
+	  doc/ppl-config.1, doc/ppl-config_extra_man_text, doc/ppl_lcdd.1,
+	  doc/ppl_lcdd_extra_man_text, doc/ppl_lpsol.1,
+	  doc/ppl_lpsol_extra_man_text, doc/prog2man,
+	  doc/user-c-interface.doxyconf-html.in,
+	  doc/user-c-interface.doxyconf-latex.in,
+	  doc/user-prolog-interface.doxyconf-html.in,
+	  doc/user-prolog-interface.doxyconf-latex.in,
+	  doc/user.doxyconf-html.in, doc/user.doxyconf-latex.in,
+	  interfaces/Makefile.am,
+	  interfaces/ppl_interface_generator_common.m4,
+	  interfaces/ppl_interface_generator_common_dat.m4,
+	  interfaces/ppl_interface_generator_copyright,
+	  interfaces/C/Makefile.am, interfaces/C/ppl_c.cc,
+	  interfaces/C/ppl_c.h.in, interfaces/C/ppl_c_version.h.in,
+	  interfaces/C/ppl_interface_generator_c_cc.m4,
+	  interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	  interfaces/C/ppl_interface_generator_c_cc_preamble,
+	  interfaces/C/ppl_interface_generator_c_dat.m4,
+	  interfaces/C/ppl_interface_generator_c_h.m4,
+	  interfaces/C/ppl_interface_generator_c_h_code.m4,
+	  interfaces/C/ppl_interface_generator_c_h_preamble,
+	  interfaces/Java/.cvsignore, interfaces/Java/Makefile.am,
+	  interfaces/Java/ppl_interface_generator_java_dat.m4,
+	  interfaces/Java/jni/.cvsignore, interfaces/Java/jni/Makefile.am,
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4,
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4,
+	  interfaces/Java/jni/ppl_java_C_Polyhedron.cc,
+	  interfaces/Java/jni/ppl_java_Polyhedron.cc,
+	  interfaces/Java/jni/ppl_java_common.cc,
+	  interfaces/Java/jni/ppl_java_common.hh,
+	  interfaces/Java/tests/.cvsignore,
+	  interfaces/Java/tests/C_Polyhedron_test1.java,
+	  interfaces/Java/tests/Makefile.am, interfaces/OCaml/Makefile.am,
+	  interfaces/OCaml/ppl_ocaml.cc, interfaces/OCaml/ppl_ocaml.mli,
+	  interfaces/OCaml/test1.ml, interfaces/Prolog/Makefile.am,
+	  interfaces/Prolog/Prolog_interface.dox,
+	  interfaces/Prolog/exceptions.hh,
+	  interfaces/Prolog/ppl_interface_generator_prolog_dat.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_systems.m4,
+	  interfaces/Prolog/ppl_prolog.icc,
+	  interfaces/Prolog/ppl_prolog_common.icc,
+	  interfaces/Prolog/track_allocation.hh,
+	  interfaces/Prolog/Ciao/Makefile.am,
+	  interfaces/Prolog/Ciao/ciao_cfli.hh,
+	  interfaces/Prolog/Ciao/ciao_pl_check.pl,
+	  interfaces/Prolog/Ciao/ppl_ciao.cc,
+	  interfaces/Prolog/Ciao/ppl_ciao.pl,
+	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4,
+	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4,
+	  interfaces/Prolog/GNU/Makefile.am,
+	  interfaces/Prolog/GNU/gprolog_cfli.hh,
+	  interfaces/Prolog/GNU/ppl_gprolog.pl,
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc,
+	  interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4,
+	  interfaces/Prolog/SICStus/Makefile.am,
+	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4,
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
+	  interfaces/Prolog/SICStus/sicstus_cfli.h,
+	  interfaces/Prolog/SWI/Makefile.am,
+	  interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4,
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
+	  interfaces/Prolog/SWI/swi_cfli.hh,
+	  interfaces/Prolog/XSB/Makefile.am,
+	  interfaces/Prolog/XSB/expected_pchk_int8,
+	  interfaces/Prolog/XSB/expected_pchk_int8_a,
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4,
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4,
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_predicate_check_P.m4,
+	  interfaces/Prolog/XSB/ppl_xsb.H,
+	  interfaces/Prolog/XSB/ppl_xsb.cc,
+	  interfaces/Prolog/XSB/xsb_cfli.hh,
+	  interfaces/Prolog/XSB/xsb_pl_check.P,
+	  interfaces/Prolog/YAP/Makefile.am,
+	  interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4,
+	  interfaces/Prolog/YAP/ppl_yap.cc,
+	  interfaces/Prolog/YAP/yap_cfli.hh,
+	  interfaces/Prolog/tests/Makefile.am,
+	  interfaces/Prolog/tests/clpq2.pl,
+	  interfaces/Prolog/tests/expected_pchk_int8,
+	  interfaces/Prolog/tests/expected_pchk_int8_a,
+	  interfaces/Prolog/tests/pl_check.pl,
+	  interfaces/Prolog/tests/pl_grid_check.pl,
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4,
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_extra_code,
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4,
+	  m4/Makefile.am, m4/ac_check_classpath.m4, m4/ac_prog_jar.m4,
+	  m4/ac_prog_java.m4, m4/ac_prog_javac.m4, m4/ac_prog_javah.m4,
+	  src/Any_Pointset.defs.hh, src/Any_Pointset.inlines.hh,
+	  src/Any_Pointset.types.hh, src/Ask_Tell.defs.hh,
+	  src/Ask_Tell.inlines.hh, src/Ask_Tell.templates.hh,
+	  src/Ask_Tell.types.hh, src/BDS_Status.idefs.hh,
+	  src/BDS_Status.inlines.hh, src/BD_Shape.cc, src/BD_Shape.defs.hh,
+	  src/BD_Shape.inlines.hh, src/BD_Shape.templates.hh,
+	  src/Bit_Matrix.cc, src/Bit_Matrix.defs.hh,
+	  src/Bit_Matrix.inlines.hh, src/Bit_Matrix.types.hh,
+	  src/Bit_Row.cc, src/Bit_Row.defs.hh, src/Bit_Row.inlines.hh,
+	  src/Bit_Row.types.hh, src/Bounding_Box.defs.hh,
+	  src/C_Polyhedron.cc, src/C_Polyhedron.defs.hh,
+	  src/C_Polyhedron.inlines.hh, src/Checked_Number.defs.hh,
+	  src/Checked_Number.inlines.hh, src/Congruence.cc,
+	  src/Congruence.defs.hh, src/Congruence.inlines.hh,
+	  src/Congruence_System.cc, src/Congruence_System.defs.hh,
+	  src/Congruence_System.inlines.hh, src/Constraint.cc,
+	  src/Constraint.defs.hh, src/Constraint.inlines.hh,
+	  src/Constraint_System.cc, src/Constraint_System.defs.hh,
+	  src/DB_Matrix.defs.hh, src/DB_Matrix.inlines.hh,
+	  src/DB_Matrix.templates.hh, src/DB_Row.defs.hh,
+	  src/DB_Row.inlines.hh, src/DB_Row.templates.hh,
+	  src/Determinate.defs.hh, src/Determinate.inlines.hh,
+	  src/Direct_Product.defs.hh, src/Direct_Product.inlines.hh,
+	  src/Direct_Product.templates.hh, src/Direct_Product.types.hh,
+	  src/Float.inlines.hh, src/GMP_Integer.defs.hh,
+	  src/GMP_Integer.inlines.hh, src/Generator.cc,
+	  src/Generator.defs.hh, src/Generator_System.cc,
+	  src/Generator_System.defs.hh, src/Grid.defs.hh,
+	  src/Grid.inlines.hh, src/Grid.templates.hh,
+	  src/Grid_Certificate.cc, src/Grid_Generator.cc,
+	  src/Grid_Generator.defs.hh, src/Grid_Generator.inlines.hh,
+	  src/Grid_Generator_System.cc, src/Grid_Generator_System.defs.hh,
+	  src/Grid_Generator_System.inlines.hh, src/Grid_Status.cc,
+	  src/Grid_Status.idefs.hh, src/Grid_chdims.cc,
+	  src/Grid_conversion.cc, src/Grid_nonpublic.cc,
+	  src/Grid_public.cc, src/Grid_simplify.cc, src/Grid_widenings.cc,
+	  src/LP_Problem.cc, src/LP_Problem.defs.hh,
+	  src/LP_Problem.inlines.hh, src/LP_Problem.types.hh,
+	  src/Linear_Expression.cc, src/Linear_Expression.defs.hh,
+	  src/Linear_Expression.inlines.hh, src/Linear_Row.cc,
+	  src/Linear_Row.defs.hh, src/Linear_System.cc,
+	  src/Linear_System.defs.hh, src/Linear_System.inlines.hh,
+	  src/MIP_Problem.cc, src/MIP_Problem.defs.hh,
+	  src/MIP_Problem.inlines.hh, src/MIP_Problem.templates.hh,
+	  src/MIP_Problem.types.hh, src/Makefile.am, src/Matrix.cc,
+	  src/Matrix.defs.hh, src/NNC_Polyhedron.cc,
+	  src/NNC_Polyhedron.defs.hh, src/NNC_Polyhedron.inlines.hh,
+	  src/OR_Matrix.defs.hh, src/OR_Matrix.inlines.hh,
+	  src/OR_Matrix.templates.hh, src/Octagonal_Shape.defs.hh,
+	  src/Octagonal_Shape.inlines.hh, src/Octagonal_Shape.templates.hh,
+	  src/Og_Status.idefs.hh, src/Og_Status.inlines.hh,
+	  src/Ph_Status.cc, src/Ph_Status.idefs.hh,
+	  src/Pointset_Ask_Tell.cc, src/Pointset_Ask_Tell.defs.hh,
+	  src/Pointset_Ask_Tell.inlines.hh,
+	  src/Pointset_Ask_Tell.templates.hh,
+	  src/Pointset_Ask_Tell.types.hh, src/Pointset_Powerset.cc,
+	  src/Pointset_Powerset.defs.hh, src/Pointset_Powerset.inlines.hh,
+	  src/Pointset_Powerset.templates.hh,
+	  src/Pointset_Powerset.types.hh, src/Polyhedra_Powerset.cc,
+	  src/Polyhedra_Powerset.defs.hh,
+	  src/Polyhedra_Powerset.inlines.hh,
+	  src/Polyhedra_Powerset.templates.hh,
+	  src/Polyhedra_Powerset.types.hh, src/Polyhedron.defs.hh,
+	  src/Polyhedron.inlines.hh, src/Polyhedron.templates.hh,
+	  src/Polyhedron_chdims.cc, src/Polyhedron_nonpublic.cc,
+	  src/Polyhedron_public.cc, src/Polyhedron_widenings.cc,
+	  src/Powerset.defs.hh, src/Powerset.inlines.hh,
+	  src/Powerset.templates.hh, src/Result.defs.hh,
+	  src/Result.inlines.hh, src/Rounding_Dir.inlines.hh, src/Row.cc,
+	  src/Row.defs.hh, src/Saturation_Matrix.cc,
+	  src/Saturation_Matrix.defs.hh, src/Saturation_Matrix.inlines.hh,
+	  src/Saturation_Matrix.types.hh, src/Saturation_Row.cc,
+	  src/Saturation_Row.defs.hh, src/Saturation_Row.inlines.hh,
+	  src/Saturation_Row.types.hh, src/Scalar_Products.cc,
+	  src/Scalar_Products.defs.hh, src/Scalar_Products.inlines.hh,
+	  src/Variable.cc, src/Variable.defs.hh, src/Variables_Set.cc,
+	  src/Variables_Set.defs.hh, src/Variables_Set.inlines.hh,
+	  src/Variables_Set.types.hh, src/Widening_Function.defs.hh,
+	  src/Widening_Function.inlines.hh, src/algorithms.hh,
+	  src/checked.cc, src/checked.inlines.hh,
+	  src/checked_ext.inlines.hh, src/checked_float.inlines.hh,
+	  src/checked_int.inlines.hh, src/conversion.cc,
+	  src/fpu-ia32.inlines.hh, src/globals.defs.hh,
+	  src/iterator_to_const.defs.hh, src/iterator_to_const.inlines.hh,
+	  src/iterator_to_const.types.hh, src/max_space_dimension.hh,
+	  src/minimize.cc, src/mp_numeric_limits.cc,
+	  src/mp_numeric_limits.hh, src/namespaces.hh, src/simplify.cc,
+	  src/swapping_sort.icc, tests/BBox.cc, tests/FCAIBVP.cc,
+	  tests/FCAIBVP.defs.hh, tests/FCAIBVP.inlines.hh,
+	  tests/FCAIBVP.types.hh, tests/Makefile.am,
+	  tests/Partial_Function.cc, tests/ppl_test.cc, tests/ppl_test.hh,
+	  tests/print.cc, tests/print.hh, tests/Ask_Tell/.cvsignore,
+	  tests/Ask_Tell/Makefile.am, tests/Ask_Tell/append1.cc,
+	  tests/BD_Shape/Makefile.am, tests/BD_Shape/addconstraints1.cc,
+	  tests/BD_Shape/addspacedims1.cc,
+	  tests/BD_Shape/affinedimension1.cc,
+	  tests/BD_Shape/affineimage1.cc,
+	  tests/BD_Shape/affinepreimage1.cc,
+	  tests/BD_Shape/bdsdifference1.cc, tests/BD_Shape/bdshull1.cc,
+	  tests/BD_Shape/bgp99extrapolation1.cc,
+	  tests/BD_Shape/bhmz05widening1.cc,
+	  tests/BD_Shape/bhz03widening1.cc,
+	  tests/BD_Shape/boundedaffineimage1.cc,
+	  tests/BD_Shape/boundedaffinepreimage1.cc,
+	  tests/BD_Shape/bounds1.cc, tests/BD_Shape/cc76extrapolation1.cc,
+	  tests/BD_Shape/cc76narrowing1.cc, tests/BD_Shape/contains1.cc,
+	  tests/BD_Shape/containsintegerpoint1.cc,
+	  tests/BD_Shape/discrete1.cc, tests/BD_Shape/disjoint1.cc,
+	  tests/BD_Shape/expandspacedim1.cc,
+	  tests/BD_Shape/foldspacedims1.cc, tests/BD_Shape/fromgensys1.cc,
+	  tests/BD_Shape/frompolyhedron1.cc,
+	  tests/BD_Shape/generalizedaffineimage2.cc,
+	  tests/BD_Shape/generalizedaffinepreimage2.cc,
+	  tests/BD_Shape/generalizedaffinepreimage3.cc,
+	  tests/BD_Shape/geomcovers1.cc, tests/BD_Shape/intersection1.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation1.cc,
+	  tests/BD_Shape/limitedcc76extrapolation1.cc,
+	  tests/BD_Shape/mapspacedims1.cc, tests/BD_Shape/max_min1.cc,
+	  tests/BD_Shape/max_min2.cc, tests/BD_Shape/maxspacedim.cc,
+	  tests/BD_Shape/maxspacedim1.cc, tests/BD_Shape/membytes1.cc,
+	  tests/BD_Shape/minconstraints1.cc, tests/BD_Shape/relations2.cc,
+	  tests/BD_Shape/relations3.cc, tests/BD_Shape/removespacedims1.cc,
+	  tests/BD_Shape/timeelapse1.cc, tests/BD_Shape/universe1.cc,
+	  tests/Grid/Makefile.am, tests/Grid/addcongruence1.cc,
+	  tests/Grid/addcongruences1.cc, tests/Grid/addconstraint1.cc,
+	  tests/Grid/addconstraints1.cc, tests/Grid/addgenerator1.cc,
+	  tests/Grid/addgenerators1.cc, tests/Grid/addspacedims1.cc,
+	  tests/Grid/affinedim1.cc, tests/Grid/affineimage1.cc,
+	  tests/Grid/affineimage2.cc, tests/Grid/affinepreimage1.cc,
+	  tests/Grid/affinepreimage2.cc, tests/Grid/asciidumpload1.cc,
+	  tests/Grid/asciidumpload2.cc, tests/Grid/asciidumpload3.cc,
+	  tests/Grid/asciidumpload4.cc, tests/Grid/asciidumpload5.cc,
+	  tests/Grid/asciidumpload6.cc, tests/Grid/asciidumpload7.cc,
+	  tests/Grid/bhz03widening1.cc, tests/Grid/bounded1.cc,
+	  tests/Grid/boundedaffineimage1.cc,
+	  tests/Grid/boundedaffinepreimage1.cc, tests/Grid/boundingbox1.cc,
+	  tests/Grid/boundingbox2.cc, tests/Grid/bounds1.cc,
+	  tests/Grid/certificate1.cc, tests/Grid/concatenate1.cc,
+	  tests/Grid/congruence1.cc, tests/Grid/congruences1.cc,
+	  tests/Grid/congruences2.cc, tests/Grid/contains1.cc,
+	  tests/Grid/containsintegerpoint1.cc, tests/Grid/coveringbox1.cc,
+	  tests/Grid/coveringbox2.cc, tests/Grid/directproduct1.cc,
+	  tests/Grid/directproduct2.cc, tests/Grid/discrete1.cc,
+	  tests/Grid/disjoint1.cc, tests/Grid/equals1.cc,
+	  tests/Grid/expandspacedim1.cc, tests/Grid/foldspacedims1.cc,
+	  tests/Grid/generalizedaffineimage1.cc,
+	  tests/Grid/generalizedaffineimage2.cc,
+	  tests/Grid/generalizedaffineimage3.cc,
+	  tests/Grid/generalizedaffinepreimage1.cc,
+	  tests/Grid/generalizedaffinepreimage2.cc,
+	  tests/Grid/generalizedaffinepreimage3.cc,
+	  tests/Grid/generator1.cc, tests/Grid/generators1.cc,
+	  tests/Grid/generators2.cc, tests/Grid/grid1.cc,
+	  tests/Grid/grid2.cc, tests/Grid/grid3.cc,
+	  tests/Grid/griddifference1.cc, tests/Grid/intersection1.cc,
+	  tests/Grid/isempty1.cc, tests/Grid/join1.cc, tests/Grid/join2.cc,
+	  tests/Grid/limitedextrapolation1.cc,
+	  tests/Grid/limitedextrapolation2.cc,
+	  tests/Grid/limitedextrapolation3.cc, tests/Grid/mapspacedims1.cc,
+	  tests/Grid/maxmin1.cc, tests/Grid/membytes1.cc,
+	  tests/Grid/mingenerators1.cc, tests/Grid/outputoperator1.cc,
+	  tests/Grid/outputoperator2.cc, tests/Grid/outputoperator3.cc,
+	  tests/Grid/partition1.cc, tests/Grid/relations1.cc,
+	  tests/Grid/relations2.cc, tests/Grid/relations3.cc,
+	  tests/Grid/removespacedims1.cc, tests/Grid/removespacedims2.cc,
+	  tests/Grid/timeelapse1.cc, tests/Grid/topclosed1.cc,
+	  tests/Grid/widening1.cc, tests/Grid/widening2.cc,
+	  tests/Grid/widening3.cc, tests/MIP_Problem/.cvsignore,
+	  tests/MIP_Problem/Makefile.am,
+	  tests/MIP_Problem/ascii_dump_load1.cc,
+	  tests/MIP_Problem/exceptions1.cc,
+	  tests/MIP_Problem/mipproblem1.cc,
+	  tests/Octagonal_Shape/.cvsignore,
+	  tests/Octagonal_Shape/Makefile.am,
+	  tests/Octagonal_Shape/addspacedims1.cc,
+	  tests/Octagonal_Shape/affinedimension1.cc,
+	  tests/Octagonal_Shape/affineimage1.cc,
+	  tests/Octagonal_Shape/affineimage2.cc,
+	  tests/Octagonal_Shape/affinepreimage1.cc,
+	  tests/Octagonal_Shape/affinepreimage2.cc,
+	  tests/Octagonal_Shape/ascii_dump_load1.cc,
+	  tests/Octagonal_Shape/bhmz05widening1.cc,
+	  tests/Octagonal_Shape/bhz03widening1.cc,
+	  tests/Octagonal_Shape/bounded1.cc,
+	  tests/Octagonal_Shape/boundedaffineimage1.cc,
+	  tests/Octagonal_Shape/boundedaffinepreimage1.cc,
+	  tests/Octagonal_Shape/bounds1.cc,
+	  tests/Octagonal_Shape/cc76extrapolation1.cc,
+	  tests/Octagonal_Shape/cc76narrowing1.cc,
+	  tests/Octagonal_Shape/chinainit.cc,
+	  tests/Octagonal_Shape/concatenate1.cc,
+	  tests/Octagonal_Shape/constraints1.cc,
+	  tests/Octagonal_Shape/contains1.cc,
+	  tests/Octagonal_Shape/containsintegerpoint1.cc,
+	  tests/Octagonal_Shape/discrete1.cc,
+	  tests/Octagonal_Shape/disjoint1.cc,
+	  tests/Octagonal_Shape/empty1.cc,
+	  tests/Octagonal_Shape/expandspacedim1.cc,
+	  tests/Octagonal_Shape/foldspacedims1.cc,
+	  tests/Octagonal_Shape/fromgensys1.cc,
+	  tests/Octagonal_Shape/frompolyhedron1.cc,
+	  tests/Octagonal_Shape/generalizedaffineimage1.cc,
+	  tests/Octagonal_Shape/generalizedaffineimage2.cc,
+	  tests/Octagonal_Shape/generalizedaffineimage3.cc,
+	  tests/Octagonal_Shape/generalizedaffineimage4.cc,
+	  tests/Octagonal_Shape/generalizedaffineimage5.cc,
+	  tests/Octagonal_Shape/generalizedaffinepreimage1.cc,
+	  tests/Octagonal_Shape/generalizedaffinepreimage2.cc,
+	  tests/Octagonal_Shape/generalizedaffinepreimage3.cc,
+	  tests/Octagonal_Shape/generalizedaffinepreimage4.cc,
+	  tests/Octagonal_Shape/intersection1.cc,
+	  tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc,
+	  tests/Octagonal_Shape/limitedcc76extrapolation1.cc,
+	  tests/Octagonal_Shape/mapspacedims1.cc,
+	  tests/Octagonal_Shape/max_min1.cc,
+	  tests/Octagonal_Shape/max_min2.cc,
+	  tests/Octagonal_Shape/maxspacedim1.cc,
+	  tests/Octagonal_Shape/membytes1.cc,
+	  tests/Octagonal_Shape/minconstraints1.cc,
+	  tests/Octagonal_Shape/octdifference1.cc,
+	  tests/Octagonal_Shape/octhull1.cc,
+	  tests/Octagonal_Shape/relatwithcons1.cc,
+	  tests/Octagonal_Shape/relatwithcons2.cc,
+	  tests/Octagonal_Shape/relatwithgen1.cc,
+	  tests/Octagonal_Shape/removespacedims1.cc,
+	  tests/Octagonal_Shape/run_tests,
+	  tests/Octagonal_Shape/timeelapse1.cc,
+	  tests/Octagonal_Shape/universe1.cc,
+	  tests/Octagonal_Shape/writeoctagon1.cc,
+	  tests/Polyhedron/Makefile.am, tests/Polyhedron/addgenerators1.cc,
+	  tests/Polyhedron/append1.cc, tests/Polyhedron/append2.cc,
+	  tests/Polyhedron/bgp99extrapolation1.cc,
+	  tests/Polyhedron/bhz03widening1.cc, tests/Polyhedron/bug2.cc,
+	  tests/Polyhedron/bug2.dat,
+	  tests/Polyhedron/containsintegerpoint1.cc,
+	  tests/Polyhedron/dualhypercubes.cc,
+	  tests/Polyhedron/exceptions1.cc, tests/Polyhedron/exceptions2.cc,
+	  tests/Polyhedron/exceptions3.cc,
+	  tests/Polyhedron/foldspacedims2.cc,
+	  tests/Polyhedron/geomcovers1.cc,
+	  tests/Polyhedron/intersection1.cc,
+	  tests/Polyhedron/limitedbhrz03extrapolation1.cc,
+	  tests/Polyhedron/linearpartition1.cc,
+	  tests/Polyhedron/linearsystem1.cc,
+	  tests/Polyhedron/lpproblem1.cc, tests/Polyhedron/matrix1.cc,
+	  tests/Polyhedron/max_min1.cc, tests/Polyhedron/maxspacedim1.cc,
+	  tests/Polyhedron/mc91.cc, tests/Polyhedron/membytes1.cc,
+	  tests/Polyhedron/membytes2.cc,
+	  tests/Polyhedron/pointsetpowerset1.cc,
+	  tests/Polyhedron/polydifference1.cc,
+	  tests/Polyhedron/polydifference2.cc,
+	  tests/Polyhedron/polyhull1.cc, tests/Polyhedron/polypowerset1.cc,
+	  tests/Polyhedron/powerset1.cc, tests/Polyhedron/timeelapse1.cc,
+	  tests/Polyhedron/variablesset1.cc, utils/Makefile.am,
+	  utils/cm_cleaner.sh, utils/cm_splitter.sh, utils/timings.cc
+	  (octagons.[1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,4,4,1,2,1,2,1,2,2,2,2,2,2,1,1,1,2,2,2,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,1,1,2,2,2,2,2,2,1,1,2,1,1,1,2,2,1,2,1,1,2,1,2,1,1,1,2,1,2,1,1,1,2,2,2,1,1,2,1,1,2,1,2,1,1,1,1,1,2,2,2,2,1,2,2,2,2,2,2,2,2,1,1,2,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,2,2,2,2,2,2,1,1,1,1,1,1,1,2,3,3,3,2,3,1,1,2,2,2,2,1,1,1,1,1,1,1,1,1,2,1,2,2,1,2,1,2,2,1,1,2, [...]
+	  Second merge to octagons.
+
+2006-11-18 Saturday 16:50  Andrea Cimino
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.16): A couple of bugs fixed in the generation of the C++ code.
+
+2006-11-18 Saturday 16:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (octagons.1): file
+	  ppl_interface_generator_java_ppl_java_classes_cc_code.m4 was
+	  added on branch octagons on 2006-11-18 20:36:45 +0000
+
+2006-11-18 Saturday 16:02  Andrea Cimino
+
+	* interfaces/Java/jni/:
+	  ppl_interface_generator_java_ppl_java_classes_cc_code.m4 (1.15),
+	  ppl_java_common.hh (1.18): Ensure that a jlong fits in a unsigned
+	  type for methods that need that check. Some m4 code fixes.
+
+2006-11-18 Saturday 16:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.hh (octagons.1): file
+	  ppl_java_common.hh was added on branch octagons on 2006-11-18
+	  20:36:45 +0000
+
+2006-11-18 Saturday 12:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.205): Commit test.
+
+2006-11-18 Saturday 11:29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.204): Test commit.
+
+2006-11-18 Saturday 11:26  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh, checked.defs.hh,
+	  checked_numeric_limits.hh (altnum.[24,31,3]): Added force_integer
+	  policy flag.
+
+2006-11-18 Saturday 11:25  Abramo Bagnara
+
+	* src/compiler.hh (altnum.11): Added some useful functions for
+	  static expressions.
+
+2006-11-18 Saturday 09:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (octagons.1): file
+	  ppl_interface_generator_predicate_check_code.m4 was added on
+	  branch octagons on 2006-11-18 20:36:49 +0000
+
+2006-11-18 Saturday 09:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.19),
+	  ppl_interface_generator_prolog_icc_code.m4 (1.23),
+	  tests/ppl_interface_generator_predicate_check_code.m4 (1.34):
+	  Added predicates ppl_ at CLASS@_begin_iterator\2 and
+	  ppl_ at CLASS@_end_iterator\2.
+
+	  Temporarily disabled check for geometrically_equals predicate.
+
+2006-11-18 Saturday 09:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_dat.m4
+	  (octagons.1): file ppl_interface_generator_prolog_dat.m4 was
+	  added on branch octagons on 2006-11-18 20:36:46 +0000
+
+2006-11-18 Saturday 09:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (octagons.1): file ppl_interface_generator_prolog_icc_code.m4 was
+	  added on branch octagons on 2006-11-18 20:36:46 +0000
+
+2006-11-17 Friday 16:58  Andrea Cimino
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.14): Specialized generalized_affine_image and
+	  generalized_affine_preimage for Grids.
+
+2006-11-17 Friday 16:53  Elena Mazzi
+
+	* src/: BD_Shape.defs.hh (1.94), Octagonal_Shape.defs.hh (1.22):
+	  Added a note to the documentation of refine().
+
+2006-11-17 Friday 15:59  Elena Mazzi
+
+	* src/: Octagonal_Shape.defs.hh (1.21),
+	  Octagonal_Shape.templates.hh (1.44): Added an helper function for
+	  the computation of affine relations Octagonal_Shape::refine() and
+	  used it on the methods
+	  Octagonal_Shape::generalized_affine_preimage() and
+	  Octagonal_Shape::bounded_affine_preimage.
+
+2006-11-17 Friday 15:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Makefile.am (1.37),
+	  ppl_interface_generator_prolog_icc.m4 (1.8),
+	  ppl_interface_generator_prolog_icc_code.m4 (1.22),
+	  ppl_interface_generator_prolog_icc_preamble (1.16),
+	  ppl_prolog_common.icc (1.1): The
+	  ppl_interface_generator_prolog_icc_preamble is now renamed as
+	  ppl_prolog_common.icc and included by the generated
+	  ppl_prolog.icc.
+
+	  The term_to_classname_handle() methods are now defined
+	  term_to_handle<T>() where T is the C++ class name.
+
+2006-11-17 Friday 15:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_icc.m4
+	  (octagons.1): file ppl_interface_generator_prolog_icc.m4 was
+	  added on branch octagons on 2006-11-18 20:36:46 +0000
+
+2006-11-17 Friday 15:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog_common.icc (octagons.1): file
+	  ppl_prolog_common.icc was added on branch octagons on 2006-11-18
+	  20:36:46 +0000
+
+2006-11-17 Friday 12:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_icc_preamble
+	  (1.15): Misplaced angle bracket fixed.
+
+2006-11-17 Friday 11:59  Andrea Cimino
+
+	* interfaces/Java/jni/:
+	  ppl_interface_generator_java_ppl_java_classes_cc_code.m4 (1.13),
+	  ppl_java_common.cc (1.21), ppl_java_common.hh (1.17): Implemented
+	  JNI functions for Grids_Generator and Grid Generator_System.
+	  Solved other little bugs.  The Java test now works.
+
+2006-11-17 Friday 11:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.cc (octagons.1): file
+	  ppl_java_common.cc was added on branch octagons on 2006-11-18
+	  20:36:45 +0000
+
+2006-11-17 Friday 11:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4
+	  (1.6): For the Polyhedron class, add include statements for
+	  ppl_java_C_Polyhedron.h and ppl_java_NNC_Polyhedron.h.
+
+2006-11-17 Friday 11:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4
+	  (altnum.1): file
+	  ppl_interface_generator_java_ppl_java_classes_cc.m4 was added on
+	  branch altnum on 2006-12-02 22:35:27 +0000
+
+2006-11-17 Friday 11:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4
+	  (octagons.1): file
+	  ppl_interface_generator_java_ppl_java_classes_cc.m4 was added on
+	  branch octagons on 2006-11-18 20:36:45 +0000
+
+2006-11-17 Friday 11:31  Elena Mazzi
+
+	* src/: BD_Shape.defs.hh (1.93), BD_Shape.templates.hh (1.63),
+	  Octagonal_Shape.defs.hh (1.20), Polyhedron.defs.hh (1.311): Used
+	  consistent parameter's name for max_min().
+
+2006-11-17 Friday 10:34  Elena Mazzi
+
+	* src/: BD_Shape.defs.hh (1.92), BD_Shape.templates.hh (1.62):
+	  Added an helper function for the computation of affine relations
+	  BD_Shape::refine() and used it on the methods
+	  BD_Shape::generalized_affine_preimage() and
+	  BD_Shape::bounded_affine_preimage.
+
+2006-11-17 Friday 10:22  Andrea Cimino
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.12): Avoid compiler warning messages.
+
+2006-11-17 Friday 10:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_icc_preamble
+	  (1.14): Added <template typename T> T*
+	  term_to_handle(Prolog_term_ref, const char*).
+
+2006-11-17 Friday 10:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.11): Correct reference to point to be generic.
+
+2006-11-17 Friday 09:57  Andrea Cimino
+
+	* interfaces/Java/jni/ppl_java_common.hh (1.16): Written the
+	  prototypes for three missing function to allow compiling.
+
+2006-11-17 Friday 09:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.10): Corrected code for intersection_assign_and_minimize (and
+	  similar binary operations that return a Boolean).
+
+2006-11-17 Friday 09:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.9): Corrected the bug in the OK() method.
+
+2006-11-17 Friday 09:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/jni/:
+	  ppl_interface_generator_java_ppl_java_classes_cc.m4 (1.5),
+	  ppl_interface_generator_java_ppl_java_classes_cc_code.m4 (1.8):
+	  Only have "Recycle_Intput" for Polyhedron class.  The include
+	  statement for "ppl_java_common.hh" should occur only once.
+
+2006-11-17 Friday 09:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (1.21): Unused schematic code for building a new iterator added.
+
+2006-11-17 Friday 09:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_icc.m4 (1.7):
+	  Activated the term_to_iterator_handle code generator.
+
+2006-11-17 Friday 08:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (1.20): Added `m4_term_to_iterator_handle_code'.
+
+2006-11-17 Friday 08:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.7): Where the class name should be the C++ name, the pattern
+	  is now correct and is replaced by the right form of the name..
+
+2006-11-17 Friday 08:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.17):
+	  Reinstated a lost comma.
+
+2006-11-17 Friday 08:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (octagons.1):
+	  file ppl_interface_generator_common_dat.m4 was added on branch
+	  octagons on 2006-11-18 20:36:44 +0000
+
+2006-11-16 Thursday 19:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/jni/:
+	  ppl_interface_generator_java_ppl_java_classes_cc.m4 (1.4),
+	  ppl_interface_generator_java_ppl_java_classes_cc_code.m4 (1.6):
+	  REmoved cutting marks and added "try/catch" everywhere.
+
+2006-11-16 Thursday 18:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/Makefile.am (1.7): Compile only one C++ file
+	  for all the required instantiations of the Java interface.
+
+2006-11-16 Thursday 18:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/Makefile.am (octagons.1): file Makefile.am
+	  was added on branch octagons on 2006-11-18 20:36:45 +0000
+
+2006-11-16 Thursday 18:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.255), interfaces/Java/jni/Makefile.am (1.6):
+	  Automatically generated all the header files required by the Java
+	  interface.
+
+2006-11-16 Thursday 18:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/jni/ppl_java_common.hh (1.15): Corrected the type
+	  of "add_..._and_minimize to be Boolean.  Typo in comment fixed.
+
+2006-11-16 Thursday 18:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.5): Bug in the relation with code fixed.
+
+2006-11-16 Thursday 18:05  Andrea Cimino
+
+	* interfaces/Java/jni/: ppl_java_common.cc (1.20),
+	  ppl_java_common.hh (1.14): Renamed an internal routine.
+
+2006-11-16 Thursday 17:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.16),
+	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.4): Some but not all bugs fixed.
+
+2006-11-16 Thursday 16:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.254): Make sure
+	  `required_instantiations_java_sources' really contains all the
+	  required Java sources.
+
+2006-11-16 Thursday 16:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/Makefile.am (1.7): Ensure ppl_java.jar has the
+	  right structure.
+
+2006-11-16 Thursday 16:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/Makefile.am (octagons.1): file Makefile.am was
+	  added on branch octagons on 2006-11-18 20:36:44 +0000
+
+2006-11-16 Thursday 14:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/Makefile.am (1.6): Machinery to build the Java
+	  interface revised.
+
+2006-11-16 Thursday 14:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/mipproblem1.cc (octagons.1): file
+	  mipproblem1.cc was added on branch octagons on 2006-11-18
+	  20:36:58 +0000
+
+2006-11-16 Thursday 14:04  Andrea Cimino
+
+	* src/MIP_Problem.cc (1.43), tests/MIP_Problem/mipproblem1.cc
+	  (1.2): Fixed MIP_Problem when it has to deal with
+	  zero-dimensional problems.
+
+2006-11-16 Thursday 14:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.cc (octagons.1): file MIP_Problem.cc was added on
+	  branch octagons on 2006-11-18 20:36:50 +0000
+
+2006-11-16 Thursday 12:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/jni/: Makefile.am (1.5),
+	  ppl_interface_generator_java_ppl_java_classes_cc.m4 (1.3):
+	  Enabled the splitting of the generated code for the ".cc".
+
+2006-11-16 Thursday 11:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/jni/:
+	  ppl_interface_generator_java_ppl_java_classes_cc.m4 (1.2),
+	  ppl_interface_generator_java_ppl_java_classes_cc_code.m4 (1.3):
+	  Corrected the preamble for the ".cc" generated files.  Redundant
+	  space removed.
+
+2006-11-16 Thursday 11:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.253): Added a mechanism to build the
+	  automatically generated Java sources.
+
+2006-11-16 Thursday 10:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Makefile.am (1.23): Installed the mechanism for the
+	  automatic generation of the .java sources for the semantic object
+	  classes.  The interfaces/Java directory is temporarily disabled
+	  in order to avoid failures.
+
+2006-11-16 Thursday 09:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	*
+	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.2): Added missing swap() and OK() methods and fixed a few
+	  bugs.
+
+2006-11-16 Thursday 08:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4 (1.14),
+	  ppl_interface_generator_common_dat.m4 (1.15),
+	  Java/ppl_interface_generator_java_dat.m4 (1.2),
+	  Java/jni/Makefile.am (1.4),
+	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4
+	  (1.1),
+	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
+	  (1.1): Added files for generating the ".cc" files for the
+	  classes.  This needed modifications to the main replacement m4
+	  code to allow for inserting "1" after embedded "_"s.
+
+	  Java/jni/Makefile.am includes necessary code for building the
+	  combined files (temporarily named ppl_java_Polyhedron1.cc).
+
+2006-11-16 Thursday 08:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/ppl_interface_generator_common.m4 (octagons.1): file
+	  ppl_interface_generator_common.m4 was added on branch octagons on
+	  2006-11-18 20:36:44 +0000
+
+2006-11-16 Thursday 08:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/ppl_interface_generator_java_dat.m4 (altnum.1):
+	  file ppl_interface_generator_java_dat.m4 was added on branch
+	  altnum on 2006-12-02 22:35:27 +0000
+
+2006-11-16 Thursday 08:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/ppl_interface_generator_java_dat.m4 (octagons.1):
+	  file ppl_interface_generator_java_dat.m4 was added on branch
+	  octagons on 2006-11-18 20:36:44 +0000
+
+2006-11-15 Wednesday 18:41  Andrea Cimino
+
+	* interfaces/Java/jni/ppl_java_C_Polyhedron.cc (1.7): Implemented
+	  the ordinary copy constructor of C_Polyhedron.
+
+2006-11-15 Wednesday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_C_Polyhedron.cc (altnum.1): file
+	  ppl_java_C_Polyhedron.cc was added on branch altnum on 2006-12-02
+	  22:35:27 +0000
+
+2006-11-15 Wednesday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_C_Polyhedron.cc (octagons.1): file
+	  ppl_java_C_Polyhedron.cc was added on branch octagons on
+	  2006-11-18 20:36:45 +0000
+
+2006-11-15 Wednesday 17:19  Andrea Cimino
+
+	* interfaces/Java/jni/ppl_java_Polyhedron.cc (1.19): Added the
+	  `try' and `catch' blocks to every method of Polyhedron.
+
+2006-11-15 Wednesday 17:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_Polyhedron.cc (altnum.1): file
+	  ppl_java_Polyhedron.cc was added on branch altnum on 2006-12-02
+	  22:35:27 +0000
+
+2006-11-15 Wednesday 17:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_Polyhedron.cc (octagons.1): file
+	  ppl_java_Polyhedron.cc was added on branch octagons on 2006-11-18
+	  20:36:45 +0000
+
+2006-11-15 Wednesday 16:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.10): Add the
+	  recycle pattern to the procedure that builds from a recycled
+	  representation.
+
+2006-11-15 Wednesday 16:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4 (octagons.1):
+	  file ppl_interface_generator_c_cc_code.m4 was added on branch
+	  octagons on 2006-11-18 20:36:44 +0000
+
+2006-11-15 Wednesday 16:23  Andrea Cimino
+
+	* interfaces/Java/jni/: ppl_java_C_Polyhedron.cc (1.6),
+	  ppl_java_Polyhedron.cc (1.18), ppl_java_common.cc (1.19),
+	  ppl_java_common.hh (1.13): Fixed a C_Polyhedron constructor.
+	  Added the infractructure for handling the exceptions.  Defined
+	  and implemented the native methods `swap(Polyhedron)' and
+	  `OK(boolean)'.
+
+2006-11-15 Wednesday 16:11  Elena Mazzi
+
+	* src/: BD_Shape.defs.hh (1.91), BD_Shape.templates.hh (1.61),
+	  Octagonal_Shape.defs.hh (1.19), Octagonal_Shape.templates.hh
+	  (1.43), Polyhedron.defs.hh (1.310), Polyhedron_nonpublic.cc
+	  (1.72): Used consistent parameter's name for max_min(),
+	  maximize() and minimize().
+
+2006-11-15 Wednesday 15:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (1.19): Added the recycle argument to the build from a
+	  representation.
+
+2006-11-15 Wednesday 15:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.14): Add a
+	  replacement for the extra recycle argument.
+
+2006-11-15 Wednesday 15:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.66): Do recycle data structures
+	  when possible.
+
+2006-11-15 Wednesday 15:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* utils/: Makefile.am (1.13), cm_cleaner.sh (1.1), cm_splitter.sh
+	  (1.1): cm_splitter.sh splits stdin according to cutting markers.
+	  cm_cleaner.sh erases all files listed in the cutting markers
+	  found on stdin.
+
+2006-11-15 Wednesday 15:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* utils/cm_cleaner.sh (altnum.1): file cm_cleaner.sh was added on
+	  branch altnum on 2006-12-02 22:35:34 +0000
+
+2006-11-15 Wednesday 15:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* utils/cm_cleaner.sh (octagons.1): file cm_cleaner.sh was added on
+	  branch octagons on 2006-11-18 20:37:00 +0000
+
+2006-11-15 Wednesday 15:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* utils/cm_splitter.sh (altnum.1): file cm_splitter.sh was added on
+	  branch altnum on 2006-12-02 22:35:34 +0000
+
+2006-11-15 Wednesday 15:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* utils/cm_splitter.sh (octagons.1): file cm_splitter.sh was added
+	  on branch octagons on 2006-11-18 20:37:00 +0000
+
+2006-11-15 Wednesday 15:20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.57): Do recycle data structures
+	  when possible.
+
+2006-11-15 Wednesday 15:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/jni/: ppl_java_C_Polyhedron.cc (1.5),
+	  ppl_java_Polyhedron.cc (1.17): Do recycle the input data
+	  structures when possible.
+
+2006-11-15 Wednesday 15:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Grid.defs.hh (1.37), Grid.inlines.hh (1.11),
+	  Grid_nonpublic.cc (1.21), Grid_public.cc (1.48): Disambiguate the
+	  constructors of grids by adding a dummy argument to those that
+	  can recycle the data structures of their arguments.  Added
+	  support for actually recycling the data structures when this is
+	  allowed.  Removed a non-implemented (private) method.
+
+2006-11-15 Wednesday 15:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: C_Polyhedron.cc (1.19), C_Polyhedron.defs.hh (1.45),
+	  C_Polyhedron.inlines.hh (1.33), NNC_Polyhedron.cc (1.19),
+	  NNC_Polyhedron.defs.hh (1.47), NNC_Polyhedron.inlines.hh (1.34),
+	  Polyhedron.defs.hh (1.309), Polyhedron_nonpublic.cc (1.71):
+	  Disambiguate the constructors of polyhedra by adding a dummy
+	  argument to those that may recycle the data structures of their
+	  arguments.
+
+2006-11-15 Wednesday 15:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/globals.defs.hh (1.40): Added tag class Recycle_Input() to
+	  help differentiating overloaded functions (in particular,
+	  constructors) that may destructively recycle the data structures
+	  of their arguments instead of taking a copy.
+
+2006-11-15 Wednesday 14:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/pointsetpowerset1.cc (1.4): Corrected a typo in
+	  test19().
+
+2006-11-15 Wednesday 14:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/pointsetpowerset1.cc (octagons.1): file
+	  pointsetpowerset1.cc was added on branch octagons on 2006-11-18
+	  20:37:00 +0000
+
+2006-11-15 Wednesday 14:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Pointset_Powerset.cc (1.3): Corrected the bug uncovered by
+	  test18() in pointsetpowerset1.cc.
+
+2006-11-15 Wednesday 14:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Powerset.cc (octagons.1): file Pointset_Powerset.cc
+	  was added on branch octagons on 2006-11-18 20:36:51 +0000
+
+2006-11-15 Wednesday 12:30  Andrea Cimino
+
+	* interfaces/Java/jni/ppl_java_C_Polyhedron.cc (1.4): Implemented
+	  the native methods
+	  C_Polyhedron::poly_hull_assign_if_exact(C_Polyhedron y) and
+	  C_Polyhedron::upper_bound_assign_if_exact(C_Polyhedron y).
+
+2006-11-15 Wednesday 11:33  Andrea Cimino
+
+	* interfaces/Java/jni/ppl_java_C_Polyhedron.cc (1.3): Added the
+	  Degenerate_Element enum to the Java interface.  Defined and
+	  implemented the constructor C_Polyhedron(long dim,
+	  Degenerate_Element kind).
+
+2006-11-15 Wednesday 10:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/:
+	  ppl_interface_generator_predicate_check_code.m4 (1.33),
+	  ppl_interface_generator_predicate_check_extra_code (1.22):
+	  Revised and corrected some tests.
+
+2006-11-15 Wednesday 10:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_extra_code
+	  (octagons.1): file
+	  ppl_interface_generator_predicate_check_extra_code was added on
+	  branch octagons on 2006-11-18 20:36:49 +0000
+
+2006-11-15 Wednesday 10:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: Grid_public.cc (1.47), Grid_widenings.cc (1.12): Corrected
+	  bugs found in is_disjoint(), intersection_assign() and
+	  generator_widening_assign().
+
+2006-11-15 Wednesday 10:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/: disjoint1.cc (1.10), intersection1.cc (1.10),
+	  widening2.cc (1.8): Added tests showing bugs in the is_disjoint()
+	  intersection_assign() and generator_widening_assign().
+
+2006-11-15 Wednesday 10:12  Andrea Cimino
+
+	* m4/ac_prog_java.m4 (1.3): Avoid configure warnings during Java
+	  environment checking.
+
+2006-11-15 Wednesday 10:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_prog_java.m4 (altnum.1): file ac_prog_java.m4 was added on
+	  branch altnum on 2006-12-02 22:35:31 +0000
+
+2006-11-15 Wednesday 10:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_prog_java.m4 (octagons.1): file ac_prog_java.m4 was added
+	  on branch octagons on 2006-11-18 20:36:50 +0000
+
+2006-11-15 Wednesday 09:10  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Polyhedron/pointsetpowerset1.cc (1.3): Last 2 tests added
+	  in previous commit are known to fail.
+
+2006-11-15 Wednesday 08:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/Makefile.am (1.5): Distribute
+	  ppl_interface_generator_java_dat.m4.
+
+2006-11-15 Wednesday 08:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/tests/.cvsignore (1.1): Put under CVS control.
+
+2006-11-15 Wednesday 08:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/tests/.cvsignore (altnum.1): file .cvsignore was
+	  added on branch altnum on 2006-12-02 22:35:28 +0000
+
+2006-11-15 Wednesday 08:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/tests/.cvsignore (octagons.1): file .cvsignore
+	  was added on branch octagons on 2006-11-18 20:36:45 +0000
+
+2006-11-15 Wednesday 08:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/tests/.cvsignore (simplex.1): file .cvsignore was
+	  added on branch simplex on 2008-01-07 11:15:29 +0000
+
+2006-11-15 Wednesday 08:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Makefile.am (1.36): Make the `tests' directory
+	  before making the directories of the individual Prolog systems.
+
+2006-11-15 Wednesday 07:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Polyhedron/pointsetpowerset1.cc (1.2): Added test to show
+	  bug in geometrically_equals and geometrically_covers when one of
+	  the powersets contains a polyhedron which is not in minimal form
+	  and the other is.
+
+2006-11-14 Tuesday 19:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/Makefile.am (1.37), interfaces/C/Makefile.am
+	  (1.30), src/Makefile.am (1.165): Define and exploit the right
+	  inter-library dependencies.
+
+2006-11-14 Tuesday 18:35  Andrea Cimino
+
+	* interfaces/Java/jni/: ppl_java_Polyhedron.cc (1.16),
+	  ppl_java_common.cc (1.18), ppl_java_common.hh (1.12): First draft
+	  implementation for Partial_Function.	Implemented the method
+	  `map_space_dimension'.
+
+2006-11-14 Tuesday 18:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/Makefile.am (1.29): Ensure that the dependency of
+	  libppl_c on libppl is encoded into libppl.
+
+2006-11-14 Tuesday 18:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.13): Revised
+	  for disjuncts.
+
+2006-11-14 Tuesday 17:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.18),
+	  ppl_interface_generator_prolog_icc_code.m4 (1.18),
+	  tests/ppl_interface_generator_predicate_check_code.m4 (1.32),
+	  tests/ppl_interface_generator_predicate_check_extra_code (1.21):
+	  Corrected get_disjuncts code in the prolog interface.  Added
+	  procedure in the prolog interface to call ascii_dump().  Added an
+	  extra test (a bounded interval in 1 dimension) to the prolog
+	  schematic tests.
+
+2006-11-14 Tuesday 15:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/tests/C_Polyhedron_test1.java (octagons.1): file
+	  C_Polyhedron_test1.java was added on branch octagons on
+	  2006-11-18 20:36:45 +0000
+
+2006-11-14 Tuesday 15:29  Andrea Cimino
+
+	* interfaces/Java/: jni/ppl_java_common.cc (1.17),
+	  tests/C_Polyhedron_test1.java (1.3): Modified the test to avoid
+	  overflows.  Modified the constructor of Constraint.
+
+2006-11-14 Tuesday 14:34  quartieri
+
+	* src/Octagonal_Shape.templates.hh (1.42): Corrected the bug on
+	  Octagonal_Shape::max_min() when the inhomogeneous term of
+	  expression is null.
+
+2006-11-14 Tuesday 14:33  quartieri
+
+	* tests/Octagonal_Shape/max_min1.cc (1.3): Added two tests that
+	  show a bug on Octagonal_Shape::max_min() when the inhomogeneous
+	  term of expression is null.
+
+2006-11-14 Tuesday 14:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/max_min1.cc (altnum.1): file max_min1.cc
+	  was added on branch altnum on 2006-12-02 22:35:34 +0000
+
+2006-11-14 Tuesday 14:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/max_min1.cc (octagons.1): file max_min1.cc
+	  was added on branch octagons on 2006-11-18 20:36:59 +0000
+
+2006-11-14 Tuesday 14:30  Elena Mazzi
+
+	* src/BD_Shape.templates.hh (1.60): Corrected the bug on
+	  BD_Shape::max_min() when the inhomogeneous term of expression is
+	  null.
+
+2006-11-14 Tuesday 14:29  Elena Mazzi
+
+	* tests/BD_Shape/max_min2.cc (1.3): Added two tests that show a bug
+	  on BD_Shape::maximize() when the inhomogeneous term of expression
+	  is null.
+
+2006-11-14 Tuesday 14:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/max_min2.cc (altnum.1): file max_min2.cc was added
+	  on branch altnum on 2006-12-02 22:35:33 +0000
+
+2006-11-14 Tuesday 14:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/max_min2.cc (octagons.1): file max_min2.cc was
+	  added on branch octagons on 2006-11-18 20:36:56 +0000
+
+2006-11-14 Tuesday 12:02  Andrea Cimino
+
+	* interfaces/Java/jni/: ppl_java_Polyhedron.cc (1.15),
+	  ppl_java_common.cc (1.16), ppl_java_common.hh (1.11): Implemented
+	  all the widening methods in the Java interface.
+
+2006-11-14 Tuesday 09:10  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Java/ppl_interface_generator_java_dat.m4 (1.1): Files
+	  needed for generating Polyhedron.java
+
+2006-11-13 Monday 21:47  Andrea Cimino
+
+	* interfaces/Java/jni/: ppl_java_Polyhedron.cc (1.14),
+	  ppl_java_common.cc (1.15), ppl_java_common.hh (1.10): Implemented
+	  the other two missing versions of `minimize()' and `maximize()'.
+
+2006-11-13 Monday 19:35  Abramo Bagnara
+
+	* src/: Boundary.defs.hh, Interval.defs.hh, compiler.hh
+	  (altnum.[17,52,10]): Added some compile time check.
+
+2006-11-13 Monday 19:06  Andrea Cimino
+
+	* interfaces/Java/jni/: ppl_java_Polyhedron.cc (1.13),
+	  ppl_java_common.cc (1.14), ppl_java_common.hh (1.9): Implemented
+	  By_Reference class that allows to pass object by reference in
+	  Java world. Implemented one version of `maximize' and `minimize'.
+	  Implemented `equals'.
+
+2006-11-13 Monday 16:26  Andrea Cimino
+
+	* interfaces/Java/jni/ppl_java_Polyhedron.cc (1.12): Added the
+	  methods space_dimension() and affine_dimension() to Polyhedron.
+
+2006-11-13 Monday 12:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Pointset_Powerset.defs.hh (1.6): Fixed a Doxygen comment to
+	  use the brief style.
+
+2006-11-13 Monday 12:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Powerset.defs.hh (octagons.1): file
+	  Pointset_Powerset.defs.hh was added on branch octagons on
+	  2006-11-18 20:36:51 +0000
+
+2006-11-13 Monday 12:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.90), Octagonal_Shape.defs.hh (1.18):
+	  Modified the documentation of concatenate_assign() to link to the
+	  general description of the concatenation operator.
+
+2006-11-13 Monday 09:08  Abramo Bagnara
+
+	* src/Boundary.defs.hh (altnum.16): Fixed typo. Implemented
+	  set_unbounded() correctly.
+
+2006-11-13 Monday 09:07  Abramo Bagnara
+
+	* src/compiler.hh (altnum.9): Now COMPILE_TIME_CHECK() works as
+	  expected.
+
+2006-11-12 Sunday 20:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Makefile.am (1.164), mp_numeric_limits.cc (1.1),
+	  mp_numeric_limits.hh (1.9): Define the static constants declared
+	  in mp_numeric_limits.hh, as mandated by Section 9.4.2/4 of the
+	  C++ standard.
+
+2006-11-12 Sunday 20:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/mp_numeric_limits.cc (octagons.1): file mp_numeric_limits.cc
+	  was added on branch octagons on 2006-11-18 20:36:51 +0000
+
+2006-11-12 Sunday 16:32  Andrea Cimino
+
+	* interfaces/Java/jni/: ppl_java_C_Polyhedron.cc (1.2),
+	  ppl_java_Polyhedron.cc (1.11), ppl_java_common.cc (1.13),
+	  ppl_java_common.hh (1.8): Added support for Grid_Generator and
+	  Grid_Generator_System.  Added other constructors to C_Polyhedron.
+	  Renamed routine methods for consistency.
+
+2006-11-12 Sunday 16:21  Abramo Bagnara
+
+	* src/: Boundary.defs.hh, Interval.defs.hh, Rational_Box.hh
+	  (altnum.[15,51,5]): Compilation fixes.
+
+2006-11-12 Sunday 15:48  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh, Rational_Box.hh, checked.defs.hh,
+	  checked.inlines.hh, checked_int.inlines.hh, compiler.hh
+	  (altnum.[23,4,30,21,31,8]): Renamed const_bool and const_int.
+
+2006-11-12 Sunday 15:48  Abramo Bagnara
+
+	* src/checked_float.inlines.hh (altnum.21): is_inf_float return
+	  value is now more useful.
+
+2006-11-12 Sunday 15:47  Abramo Bagnara
+
+	* src/: Boundary.defs.hh, Interval.defs.hh, Interval_Info.defs.hh
+	  (altnum.[14,50,8]): Commited incomplete new boundary
+	  implementation.
+
+2006-11-12 Sunday 15:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.38), config.sub (1.36), Watchdog/config.guess
+	  (1.22), Watchdog/config.sub (1.21): Updated.
+
+2006-11-12 Sunday 12:33  Andrea Cimino
+
+	* interfaces/Java/jni/: ppl_java_Polyhedron.cc (1.10),
+	  ppl_java_common.cc (1.12), ppl_java_common.hh (1.7): Added the
+	  class Poly_Gen_Relation.  Implemented the method
+	  Polyhedron::relation_with(Generator g).
+
+2006-11-12 Sunday 12:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/compiler.hh (altnum.7): Comments revised.
+
+2006-11-12 Sunday 12:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/compiler.hh (altnum.6): Added new macros for per-class
+	  constants that need no further definition.
+
+2006-11-12 Sunday 11:57  Andrea Cimino
+
+	* interfaces/Java/jni/: ppl_java_Polyhedron.cc (1.9),
+	  ppl_java_common.cc (1.11), ppl_java_common.hh (1.6): Added the
+	  class Poly_Con_Relation.  Implemented the method
+	  Polyhedron::relation_with(Constraint c).
+
+2006-11-12 Sunday 11:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_pchk_int8_a (1.5): Reflect recent
+	  changes in the Prolog tests.
+
+2006-11-12 Sunday 11:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_pchk_int8_a (1.8): Reflect
+	  recent changes in the Prolog tests.
+
+2006-11-11 Saturday 22:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	*
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.31): Bugs in test code fixed.
+
+2006-11-11 Saturday 21:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/compiler.hh (altnum.5): COMPILE_TIME_CHECK macro added, as
+	  well as several comments.
+
+2006-11-11 Saturday 18:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.203): Added a new item.
+
+2006-11-11 Saturday 15:27  Andrea Cimino
+
+	* interfaces/Java/jni/: ppl_java_Polyhedron.cc (1.8),
+	  ppl_java_common.cc (1.10), ppl_java_common.hh (1.5): Now the PPL
+	  can return to Java objects like generators, constraints and
+	  congruences and their systems. Written a lot of native methods
+	  that return objects built by the PPL.
+
+2006-11-11 Saturday 13:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* configure.ac (1.252): Improved the checking of required
+	  instantiations; now also managing the generation of canonical
+	  names for templates having multiple parameters.
+
+2006-11-10 Friday 20:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/: Makefile.am, interval1.cc (altnum.[3,1]): New tests
+	  for the Interval class.
+
+2006-11-10 Friday 17:46  Andrea Cimino
+
+	* interfaces/Java/jni/ppl_java_common.cc (1.9): In the Java
+	  interface congruences are built just from linear expressions.
+
+2006-11-10 Friday 14:56  Andrea Cimino
+
+	* interfaces/Java/jni/: ppl_java_Polyhedron.cc (1.7),
+	  ppl_java_common.cc (1.8), ppl_java_common.hh (1.4): Initial
+	  support for the Congruence/Grid classes.  Added other methods to
+	  the Polyhedron Java interface, but some of them must be
+	  implemented.
+
+2006-11-10 Friday 12:50  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh, Interval.defs.hh,
+	  Interval_Info.defs.hh, Rational_Box.hh, checked.defs.hh,
+	  checked.inlines.hh, checked_int.inlines.hh, compiler.hh
+	  (altnum.[22,49,7,3,29,20,30,4]): Fixed compilation without
+	  optimization.
+
+2006-11-10 Friday 12:35  Abramo Bagnara
+
+	* interfaces/C/ppl_interface_generator_c_cc_preamble (altnum.3):
+	  C99 mandates that sizeof unsigned is always the same of
+	  corresponding signed type.
+
+2006-11-10 Friday 07:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.251): Version number bumped.
+
+2006-11-10 Friday 00:00  Abramo Bagnara
+
+	* src/Boundary.defs.hh (altnum.13): Fixed return value.
+
+2006-11-09 Thursday 23:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (altnum.22): Methods computing affine (pre-)
+	  images now also deal with the case of denominators different from
+	  1.
+
+2006-11-09 Thursday 22:59  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.48): Adjust flags on set_unbounded.
+	  A little more work on div_assign. Splitted normalize_integer to
+	  help the compiler in its inlining job.
+
+2006-11-09 Thursday 18:28  Abramo Bagnara
+
+	* interfaces/Prolog/SICStus/sicstus_cfli.ic, src/Limits.hh,
+	  configure.ac (altnum.[3,6,22]): C99 mandates that sizeof unsigned
+	  is always the same of corresponding signed type.
+
+2006-11-09 Thursday 17:24  Abramo Bagnara
+
+	* src/Boundary.defs.hh (altnum.12): set_unbounded returns a
+	  feedback.
+
+2006-11-09 Thursday 17:17  Abramo Bagnara
+
+	* src/Checked_Number.inlines.hh (altnum.24): Substituted
+	  specializations with templates.
+
+2006-11-09 Thursday 16:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Box.inlines.hh, Box.templates.hh (altnum.[18,21]): Be
+	  explicit when invoking methods of a class template.
+
+2006-11-09 Thursday 15:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Ciao/Makefile.am (1.61), GNU/Makefile.am
+	  (1.60): Ensure `make distclean' does the right thing.
+
+2006-11-09 Thursday 15:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (altnum.20): Corrected method OK(): even if
+	  the box is marked empty, this does not imply that there should be
+	  empty intervals in it.  Drafted (partial) implementation of
+	  affine_preimage().
+
+2006-11-09 Thursday 14:31  Andrea Cimino
+
+	* src/MIP_Problem.cc (1.42): MIP_Problem fixed.
+
+2006-11-09 Thursday 13:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (altnum.19): Drafted (partial)
+	  implementation of the affine_image() method.
+
+2006-11-09 Thursday 13:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.defs.hh (altnum.16): Added declarations for all the
+	  affine image/preimage methods.
+
+2006-11-09 Thursday 13:42  quartieri
+
+	* tests/Octagonal_Shape/bounds1.cc (1.2): Added some tests on
+	  bounds_from_above() and bounds_from_below() checking universal
+	  octagons.
+
+2006-11-09 Thursday 13:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/bounds1.cc (altnum.1): file bounds1.cc was
+	  added on branch altnum on 2006-12-02 22:35:34 +0000
+
+2006-11-09 Thursday 13:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/bounds1.cc (octagons.1): file bounds1.cc
+	  was added on branch octagons on 2006-11-18 20:36:59 +0000
+
+2006-11-09 Thursday 13:37  Andrea Cimino
+
+	* src/MIP_Problem.cc (1.41): The previous correction didn't work as
+	  expected.  Now MIP_Problem should work also when the tableau is
+	  empty.
+
+2006-11-09 Thursday 12:30  Andrea Cimino
+
+	* interfaces/Java/jni/ppl_java_common.cc (1.7): Removed some prints
+	  used for debugging purposes.
+
+2006-11-09 Thursday 12:27  Andrea Cimino
+
+	* interfaces/Java/jni/: ppl_java_Polyhedron.cc (1.6),
+	  ppl_java_common.cc (1.6), ppl_java_common.hh (1.3): Added the
+	  Variables_Set class to the repository.  Implemented other native
+	  methods that belongs to Polyhedron.  Added other routine
+	  functions.
+
+2006-11-09 Thursday 12:04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.87): Corrected a bug in
+	  poly_difference_assign(): an assertion was failing when the
+	  argument polyhedron was represented by an inconsistent constraint
+	  system, but emptiness was not detected yet.
+
+2006-11-09 Thursday 11:47  quartieri
+
+	* src/Octagonal_Shape.templates.hh (1.41): Removed the control on
+	  the universal Octagonal_Shape cause MIP_Problem handles this case
+	  properly.
+
+2006-11-09 Thursday 10:40  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/:
+	  ppl_interface_generator_predicate_check_code.m4 (1.30),
+	  ppl_interface_generator_predicate_check_extra_code (1.20):
+	  Several bugs in the testing framework fixed.	Added test07 to the
+	  test data.
+
+2006-11-09 Thursday 10:36  Andrea Cimino
+
+	* src/MIP_Problem.cc (1.40): Fixed another bug in MIP_Problem.	A
+	  wrong status was computed if minimization was requested and the
+	  internal tableau was empty.
+
+2006-11-09 Thursday 10:26  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.47): Avoid comparisons statically
+	  unsafe.
+
+2006-11-09 Thursday 10:24  Abramo Bagnara
+
+	* src/checked.inlines.hh (altnum.19): Added support for safe
+	  comparisons.
+
+2006-11-09 Thursday 10:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Polyhedron/polydifference2.cc (1.9): Added test shows a bug
+	  in poly_difference_assign() when the polyhedron to be subtracted
+	  is empty and not in minimal form.
+
+2006-11-09 Thursday 08:39  Abramo Bagnara
+
+	* configure.ac (altnum.21): Added two more SIZEOF.
+
+2006-11-09 Thursday 08:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/max_min2.cc (altnum.1): file max_min2.cc
+	  was added on branch altnum on 2006-12-02 22:35:34 +0000
+
+2006-11-09 Thursday 08:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/max_min2.cc (octagons.1): file max_min2.cc
+	  was added on branch octagons on 2006-11-18 20:36:59 +0000
+
+2006-11-09 Thursday 08:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/: BD_Shape/max_min2.cc (1.2), Octagonal_Shape/max_min2.cc
+	  (1.2): Added 2 tests to both test files showing a bug in
+	  minimize() (with point) for both BD_Shape and Octagonal_Shape.
+
+	  One of these tests shows the bug (the denominator is 0) while the
+	  second shows that a similar bug does not occur with maximize()
+	  (with point).
+
+2006-11-09 Thursday 08:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.202), doc/Makefile.am (1.49), interfaces/Makefile.am
+	  (1.22), interfaces/C/Makefile.am (1.28),
+	  interfaces/Prolog/Makefile.am (1.35),
+	  interfaces/Prolog/SICStus/Makefile.am (1.72),
+	  interfaces/Prolog/SWI/Makefile.am (1.66),
+	  interfaces/Prolog/XSB/Makefile.am (1.47),
+	  interfaces/Prolog/YAP/Makefile.am (1.49),
+	  interfaces/Prolog/tests/Makefile.am (1.11): Clean automatically
+	  generated files.
+
+2006-11-09 Thursday 07:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/Makefile.am (1.7): Distribute all
+	  examples.
+
+2006-11-08 Wednesday 18:24  Elena Mazzi
+
+	* src/BD_Shape.templates.hh (1.59): Removed some lines
+	  not-necessary in the following methods: - bounds(); - max_min().
+
+2006-11-08 Wednesday 18:13  Andrea Cimino
+
+	* src/MIP_Problem.cc (1.39): Fixed a bug: return the origin with
+	  the right space dimension if the input Constraint_System is
+	  universal and the problem is unbounded.
+
+2006-11-08 Wednesday 17:52  Elena Mazzi
+
+	* src/BD_Shape.templates.hh (1.58): Corrected the method max_min().
+
+2006-11-08 Wednesday 17:51  quartieri
+
+	* src/Octagonal_Shape.templates.hh (1.40),
+	  tests/Octagonal_Shape/Makefile.am (1.13),
+	  tests/Octagonal_Shape/max_min2.cc (1.1): Corrected a bug in the
+	  method max_min() and added some tests.
+
+2006-11-08 Wednesday 17:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/Makefile.am (octagons.1): file Makefile.am
+	  was added on branch octagons on 2006-11-18 20:36:59 +0000
+
+2006-11-08 Wednesday 17:44  Elena Mazzi
+
+	* src/BD_Shape.templates.hh (1.57), tests/BD_Shape/Makefile.am
+	  (1.57), tests/BD_Shape/max_min2.cc (1.1): Corrected the method
+	  max_min() and added some tests on it.
+
+2006-11-08 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/Makefile.am (1.60): ppl_ciao.cc is not
+	  built.
+
+2006-11-08 Wednesday 16:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.templates.hh, Octagonal_Shape.templates.hh,
+	  Polyhedron_public.cc (altnum.[3,3,10]): (Generalized) Affine
+	  (pre-) image methods changed so as to throw an exception when the
+	  relation symbol is NOT_EQUAL. Switchs on Relation_Symbol changed
+	  to take into proper account the new value.
+
+2006-11-08 Wednesday 16:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (altnum.18): Method OK() now also checks
+	  that a box declared to be (non) empty is actually (non) empty.
+	  Typo fixed in is_topologically_closed().  Added implementation
+	  for method is_discrete().  Do check for emptyness in method
+	  is_bounded().
+
+2006-11-08 Wednesday 16:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Any_Pointset.defs.hh (1.8): More methods activated.
+
+2006-11-08 Wednesday 16:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Any_Pointset.defs.hh (octagons.1): file Any_Pointset.defs.hh
+	  was added on branch octagons on 2006-11-18 20:36:50 +0000
+
+2006-11-08 Wednesday 15:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Makefile.am (1.21): Java directory activated.
+
+2006-11-08 Wednesday 15:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Octagonal_Shape/max_min1.cc (1.2): Tests 3 and 4 fail with
+	  8-bit integers.
+
+2006-11-08 Wednesday 15:33  Andrea Cimino
+
+	* interfaces/Java/tests/C_Polyhedron_test1.java (1.2): Added some
+	  new calls to the test reflecting the last changes to the Java
+	  interface.
+
+2006-11-08 Wednesday 15:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (altnum.17): Indentation fixed.
+
+2006-11-08 Wednesday 15:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.250): Version number bumped.
+
+2006-11-08 Wednesday 15:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.inlines.hh (altnum.17): Temporarily patched the default
+	  constructor and method add_space_dimensions_and_embed() so as to
+	  match tehir specification.
+
+2006-11-08 Wednesday 15:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/Makefile.am (1.48), interfaces/C/Makefile.am (1.27),
+	  interfaces/Prolog/Makefile.am (1.34),
+	  interfaces/Prolog/Ciao/Makefile.am (1.59),
+	  interfaces/Prolog/GNU/Makefile.am (1.59),
+	  interfaces/Prolog/SICStus/Makefile.am (1.71),
+	  interfaces/Prolog/SWI/Makefile.am (1.65),
+	  interfaces/Prolog/XSB/Makefile.am (1.46),
+	  interfaces/Prolog/YAP/Makefile.am (1.48),
+	  interfaces/Prolog/tests/Makefile.am (1.10): Fixed several
+	  packaging glitches.
+
+2006-11-08 Wednesday 14:47  Andrea Cimino
+
+	* interfaces/Java/jni/: ppl_java_Polyhedron.cc (1.5),
+	  ppl_java_common.cc (1.5), ppl_java_common.hh (1.2): Added other
+	  methods to the Java C_Polyhedron inteface.  Added new routine
+	  methods.  Revised several comments.
+
+2006-11-08 Wednesday 13:57  Abramo Bagnara
+
+	* src/Checked_Number.inlines.hh (altnum.23): Reverted changed
+	  commited by mistake.
+
+2006-11-08 Wednesday 13:55  Abramo Bagnara
+
+	* src/: Checked_Number.inlines.hh, Interval.defs.hh
+	  (altnum.[22,46]): Added missing signatures for operator==.
+
+2006-11-08 Wednesday 13:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/MIP_Problem.defs.hh (1.30): Minor change in the
+	  documentation: name the set of integer variables in the brief
+	  description of a constructor.
+
+2006-11-08 Wednesday 13:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.defs.hh (octagons.1): file MIP_Problem.defs.hh
+	  was added on branch octagons on 2006-11-18 20:36:50 +0000
+
+2006-11-08 Wednesday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/linearpartition1.cc (1.10): Refer to
+	  Pointset_Powerset<PH> instead of Powerset<Determinate<PH> >.
+
+2006-11-08 Wednesday 12:01  Abramo Bagnara
+
+	* src/: checked_ext.inlines.hh, checked_int.inlines.hh,
+	  checked_mpq.inlines.hh, checked_mpz.inlines.hh
+	  (altnum.[9,29,23,25]): Pushed native extended handling to lowest
+	  level.
+
+2006-11-08 Wednesday 11:37  quartieri
+
+	* src/Octagonal_Shape.defs.hh (1.17),
+	  src/Octagonal_Shape.inlines.hh (1.12),
+	  src/Octagonal_Shape.templates.hh (1.39),
+	  tests/Octagonal_Shape/Makefile.am (1.12),
+	  tests/Octagonal_Shape/bounds1.cc (1.1),
+	  tests/Octagonal_Shape/max_min1.cc (1.1): Defined the methods: -
+	  bounds(); - bounds_from_above(); - bounds_from_below(); -
+	  max_min(); - maximize(); - minimize(); and added some tests on
+	  them.
+
+2006-11-08 Wednesday 11:12  Abramo Bagnara
+
+	* src/: Float.defs.hh, checked_ext.inlines.hh (altnum.[3,8]):
+	  Converted handle_ext_natively in a function.
+
+2006-11-08 Wednesday 09:54  Abramo Bagnara
+
+	* src/checked_mpq.inlines.hh (altnum.22): Removed useless function.
+
+2006-11-08 Wednesday 09:54  Abramo Bagnara
+
+	* src/checked_ext.inlines.hh (altnum.7): Added extended constants
+	  printing.
+
+2006-11-08 Wednesday 09:17  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.45): Added multiplication.
+
+2006-11-08 Wednesday 09:17  Abramo Bagnara
+
+	* src/Boundary.defs.hh (altnum.11): Renamed sign into sgn for
+	  conformity to other places.
+
+2006-11-08 Wednesday 00:58  Andrea Cimino
+
+	* interfaces/Java/jni/Makefile.am (1.3): If a `make clean' is
+	  called, delete all the headers generated by javah.
+
+2006-11-08 Wednesday 00:01  Andrea Cimino
+
+	* m4/ac_prog_javah.m4 (1.6): Avoid to compile the Java interface if
+	  javah is found but the jni.h header is not found.
+
+2006-11-08 Wednesday 00:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_prog_javah.m4 (altnum.1): file ac_prog_javah.m4 was added
+	  on branch altnum on 2006-12-02 22:35:31 +0000
+
+2006-11-08 Wednesday 00:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_prog_javah.m4 (octagons.1): file ac_prog_javah.m4 was added
+	  on branch octagons on 2006-11-18 20:36:50 +0000
+
+2006-11-07 Tuesday 22:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh (altnum.16): Drafted an implementation of
+	  add_constraint().
+
+2006-11-07 Tuesday 20:08  Andrea Cimino
+
+	* interfaces/Java/jni/ppl_java_Polyhedron.cc (1.4): Added other
+	  Polyhedron methods to the Java interface.
+
+2006-11-07 Tuesday 19:22  Andrea Cimino
+
+	* interfaces/Java/jni/ppl_java_Polyhedron.cc (1.3): Added some
+	  Polyhedron related methods to the Java interface.
+
+2006-11-07 Tuesday 19:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh (1.56): Useless parentheses removed.
+
+2006-11-07 Tuesday 17:04  Abramo Bagnara
+
+	* src/checked.inlines.hh (altnum.18): Added temporary kludge to fix
+	  compiling.
+
+2006-11-07 Tuesday 16:24  Abramo Bagnara
+
+	* src/: checked.inlines.hh, checked_ext.inlines.hh (altnum.[17,6]):
+	  Removed unsafe comparisons.
+
+2006-11-07 Tuesday 16:20  Elena Mazzi
+
+	* src/BD_Shape.defs.hh (1.89), src/BD_Shape.inlines.hh (1.137),
+	  src/BD_Shape.templates.hh (1.55), tests/BD_Shape/Makefile.am
+	  (1.56), tests/BD_Shape/bounds1.cc (1.1),
+	  tests/BD_Shape/max_min1.cc (1.1): Defined the following methods:
+	  - bounds_from_above(); - bounds_from_below(); - bounds(); -
+	  max_min(); - maximize(); - minimize().  Added some tests on them.
+
+2006-11-07 Tuesday 16:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/bounds1.cc (altnum.1): file bounds1.cc was added
+	  on branch altnum on 2006-12-02 22:35:33 +0000
+
+2006-11-07 Tuesday 16:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/bounds1.cc (octagons.1): file bounds1.cc was added
+	  on branch octagons on 2006-11-18 20:36:56 +0000
+
+2006-11-07 Tuesday 16:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/max_min1.cc (altnum.1): file max_min1.cc was added
+	  on branch altnum on 2006-12-02 22:35:33 +0000
+
+2006-11-07 Tuesday 16:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/max_min1.cc (octagons.1): file max_min1.cc was
+	  added on branch octagons on 2006-11-18 20:36:56 +0000
+
+2006-11-07 Tuesday 15:48  Abramo Bagnara
+
+	* src/Rounding_Dir.inlines.hh (altnum.5): Moved a definition to
+	  permit inlining.
+
+2006-11-07 Tuesday 15:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.templates.hh, Interval.inlines.hh,
+	  Interval_Info.defs.hh, Interval_Info.inlines.hh,
+	  Interval_Info.types.hh, Makefile.am (altnum.[15,14,6,1,1,27]):
+	  swap() functions and methods for the Interval_Info classes
+	  revised.  Rewritten Box<Interval>::operator(ostream&).
+
+2006-11-07 Tuesday 15:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.39): Fixed a couple of
+	  memory leaks in exception_prolog.
+
+2006-11-07 Tuesday 15:20  Elena Mazzi
+
+	* src/BD_Shape.templates.hh (1.54): Fixed a comment on
+	  BD_Shape::remove_space_dimensions().
+
+2006-11-07 Tuesday 15:18  Andrea Cimino
+
+	* configure.ac (1.249), m4/Makefile.am (1.21), m4/ac_prog_java.m4
+	  (1.2), m4/ac_prog_java_works.m4 (1.3), m4/ac_prog_javac.m4 (1.2),
+	  m4/ac_prog_javac_works.m4 (1.2): Java environment detection
+	  improved. Moved all the *_works stuff in the ac_prog_java* files.
+
+2006-11-07 Tuesday 15:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_prog_javac.m4 (altnum.1): file ac_prog_javac.m4 was added
+	  on branch altnum on 2006-12-02 22:35:31 +0000
+
+2006-11-07 Tuesday 15:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_prog_javac.m4 (octagons.1): file ac_prog_javac.m4 was added
+	  on branch octagons on 2006-11-18 20:36:50 +0000
+
+2006-11-07 Tuesday 15:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.88), BD_Shape.inlines.hh (1.136),
+	  BD_Shape.templates.hh (1.53), Octagonal_Shape.defs.hh (1.16),
+	  Octagonal_Shape.inlines.hh (1.11), Octagonal_Shape.templates.hh
+	  (1.38): Added (imprecise but safe) implementations of shapes
+	  constructors taking a congruence system as input.  Added a few
+	  missing include files so as to avoid indirect dependencies.
+
+2006-11-07 Tuesday 14:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Interval.defs.hh, Interval.inlines.hh (altnum.[44,13]):
+	  Added Interval::swap(Interval& y) for consistency with the rest
+	  of the library.  The corresponding std::swap() function is now
+	  implemented in terms of that one.
+
+2006-11-07 Tuesday 13:14  Abramo Bagnara
+
+	* src/: Boundary.defs.hh, Interval.defs.hh, Interval_Info.defs.hh
+	  (altnum.[10,43,5]): Added swap. Moved adjust_boundary_info in
+	  more appropriate file.
+
+2006-11-07 Tuesday 13:13  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh
+	  (altnum.[21,21]): Move swap in std namespace.
+
+2006-11-07 Tuesday 10:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.248), m4/ac_prog_javah.m4 (1.5):
+	  AC_CANONICAL_SYSTEM is obsolete: use AC_CANONICAL_HOST instead.
+
+2006-11-07 Tuesday 10:00  Andrea Cimino
+
+	* configure.ac (1.247), m4/ac_prog_javah.m4 (1.4): Call
+	  AC_CANONICAL_SYSTEM before AM_INIT_AUTOMAKE to avoid the previous
+	  autoreconf messages. ac_prog_javah.m4 reverted to the previous
+	  version.
+
+2006-11-07 Tuesday 09:23  Andrea Cimino
+
+	* m4/ac_prog_javah.m4 (1.3): Avoid autoreconf warnings.
+
+2006-11-07 Tuesday 08:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.inlines.hh (altnum.16): Fixed Box<Interval>::is_empty().
+
+2006-11-07 Tuesday 08:34  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.42): Fixed typo.
+
+2006-11-06 Monday 23:48  Abramo Bagnara
+
+	* src/Interval_Info.defs.hh (altnum.4): Added static keyword.
+
+2006-11-06 Monday 23:46  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.41): Fixed typo.
+
+2006-11-06 Monday 23:44  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.40): Fixes to convex_hull and
+	  intersect.
+
+2006-11-06 Monday 23:16  Andrea Cimino
+
+	* m4/ac_prog_java_works.m4 (1.2): Proceed configuring if a not
+	  suitable JDK is found.
+
+2006-11-06 Monday 23:01  Andrea Cimino
+
+	* m4/ac_prog_javah.m4 (1.2): Fixed an autoconf call.
+
+2006-11-06 Monday 22:57  Abramo Bagnara
+
+	* src/: Boundary.defs.hh, Interval.defs.hh, Interval_Info.defs.hh
+	  (altnum.[9,39,3]): Simplified Interval return values. Changed
+	  integer properties.
+
+2006-11-06 Monday 22:25  Andrea Cimino
+
+	* m4/ac_prog_java.m4 (1.1): Added a missing macro to the `m4'
+	  directory.
+
+2006-11-06 Monday 22:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/tests/Makefile.am (octagons.1): file Makefile.am
+	  was added on branch octagons on 2006-11-18 20:36:45 +0000
+
+2006-11-06 Monday 22:12  Andrea Cimino
+
+	* interfaces/Java/: Makefile.am (1.4), jni/Makefile.am (1.2),
+	  tests/Makefile.am (1.2): Makefile.am's updated to take the
+	  programs name from autoconf.
+
+2006-11-06 Monday 21:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_classpath.m4 (altnum.1): file ac_check_classpath.m4
+	  was added on branch altnum on 2006-12-02 22:35:31 +0000
+
+2006-11-06 Monday 21:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_classpath.m4 (octagons.1): file ac_check_classpath.m4
+	  was added on branch octagons on 2006-11-18 20:36:50 +0000
+
+2006-11-06 Monday 21:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_classpath.m4 (simplex.1): file ac_check_classpath.m4
+	  was added on branch simplex on 2008-01-07 11:15:31 +0000
+
+2006-11-06 Monday 21:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_prog_jar.m4 (altnum.1): file ac_prog_jar.m4 was added on
+	  branch altnum on 2006-12-02 22:35:31 +0000
+
+2006-11-06 Monday 21:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_prog_jar.m4 (octagons.1): file ac_prog_jar.m4 was added on
+	  branch octagons on 2006-11-18 20:36:50 +0000
+
+2006-11-06 Monday 21:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.246), m4/Makefile.am (1.20),
+	  m4/ac_check_classpath.m4 (1.1), m4/ac_prog_jar.m4 (1.1),
+	  m4/ac_prog_java_works.m4 (1.1), m4/ac_prog_javac.m4 (1.1),
+	  m4/ac_prog_javac_works.m4 (1.1), m4/ac_prog_javah.m4 (1.1):
+	  Autodetect the availability of the required Java development
+	  environment.
+
+2006-11-06 Monday 17:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_icc_preamble
+	  (altnum.6): Use the new implementation of intervals.
+
+2006-11-06 Monday 16:05  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.38): Added missing argument.
+
+2006-11-06 Monday 15:59  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.37): Fixed two typos hard to see.
+
+2006-11-06 Monday 15:58  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.36): Added two missing 'combine'.
+
+2006-11-06 Monday 15:56  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.35): Added two missing functions
+	  invoking methods. Fixed typos.
+
+2006-11-06 Monday 15:46  Abramo Bagnara
+
+	* src/: Boundary.defs.hh, Interval.defs.hh, Interval_Info.defs.hh
+	  (altnum.[8,34,2]): Modified properties handling for generic
+	  property value. Added normalize_integer().
+
+2006-11-06 Monday 14:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.inlines.hh (altnum.15): Do not use low-level methods
+	  (this seems to expose a bug in the Interval implementation).
+
+2006-11-06 Monday 12:57  quartieri
+
+	* src/Octagonal_Shape.templates.hh (1.37): Replaced some assign_r()
+	  with the operator=().
+
+2006-11-06 Monday 12:06  Elena Mazzi
+
+	* src/BD_Shape.templates.hh (1.52), tests/BD_Shape/Makefile.am
+	  (1.55), tests/BD_Shape/boundedaffinepreimage1.cc (1.1): Defined a
+	  new method: BD_Shape::bounded_affine_preimage() and added some
+	  tests on it.
+
+2006-11-06 Monday 12:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/boundedaffinepreimage1.cc (altnum.1): file
+	  boundedaffinepreimage1.cc was added on branch altnum on
+	  2006-12-02 22:35:33 +0000
+
+2006-11-06 Monday 12:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/boundedaffinepreimage1.cc (octagons.1): file
+	  boundedaffinepreimage1.cc was added on branch octagons on
+	  2006-11-18 20:36:56 +0000
+
+2006-11-06 Monday 10:52  Elena Mazzi
+
+	* src/BD_Shape.templates.hh (1.51): Corrected a bug on
+	  bds_hull_assign() when a BDS is minimized.
+
+2006-11-06 Monday 10:51  Elena Mazzi
+
+	* tests/BD_Shape/bdshull1.cc (1.14): Added test 08 that shows a bug
+	  in bds_hull_assign.
+
+2006-11-06 Monday 10:49  Elena Mazzi
+
+	* src/BD_Shape.templates.hh (1.50): Replaced some assign_r() with
+	  the operator=().
+
+2006-11-06 Monday 10:46  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.33): Modified strictly_contains
+	  implementation.
+
+2006-11-06 Monday 10:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_icc_code.m4,
+	  ppl_interface_generator_prolog_icc_preamble (altnum.[5,5]):
+	  References to Rational_Box fixed.  Reference to Old_Interval
+	  removed.
+
+2006-11-06 Monday 09:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.defs.hh (altnum.15): Added new typename member
+	  `interval_type'.
+
+2006-11-05 Sunday 23:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.inlines.hh (altnum.14): Exploit the information returned
+	  by refine()
+
+2006-11-05 Sunday 22:30  Abramo Bagnara
+
+	* src/Boundary.defs.hh (altnum.7): Fixed typos.
+
+2006-11-05 Sunday 22:26  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.32): Added strictly_contains. Fixed
+	  contains for empty intervals. NAN scalar is not a singleton.
+
+2006-11-05 Sunday 22:18  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.31): Added some FIXME's.
+
+2006-11-05 Sunday 22:11  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.30): Added an incorrect stub for
+	  info_open to permit compilation.
+
+2006-11-05 Sunday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.inlines.hh (altnum.13): Two FIXMEs partially resolved.
+
+2006-11-05 Sunday 22:04  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.29): Added contains. Simplified
+	  operator==.
+
+2006-11-05 Sunday 22:03  Abramo Bagnara
+
+	* src/Boundary.defs.hh (altnum.6): Modified implementation of
+	  is_unbounded and extended its use.
+
+2006-11-05 Sunday 21:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.12),
+	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.17),
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.17),
+	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.29): Added add_disjunct and get_disjuncts to the Prolog
+	  interface.  The generated tests show a bug, still to be fixed, in
+	  get_disjuncts.
+
+2006-11-05 Sunday 21:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.defs.hh, Box.templates.hh (altnum.[14,14]): Added
+	  dimension_type Box<Interval>::affine_dimension() const.
+
+2006-11-05 Sunday 20:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.inlines.hh, Box.templates.hh (altnum.[12,13]): Added
+	  void Box<Interval>::add_space_dimensions_and_embed(const
+	  dimension_type) and void
+	  Box<Interval>::add_space_dimensions_and_project(const
+	  dimension_type).
+
+2006-11-05 Sunday 19:12  Abramo Bagnara
+
+	* src/: Box.templates.hh, Interval.defs.hh (altnum.[12,28]):
+	  Cosmetic fixes. Added contains_integer_point implementation.
+
+2006-11-05 Sunday 19:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.templates.hh (1.49), Octagonal_Shape.templates.hh
+	  (1.36): Exception throwers simplified.
+
+2006-11-05 Sunday 18:57  Andrea Cimino
+
+	* configure.ac (1.245), interfaces/Java/Makefile.am (1.3),
+	  interfaces/Java/jni/Makefile.am (1.1),
+	  interfaces/Java/jni/ppl_java_Polyhedron.cc (1.2),
+	  interfaces/Java/tests/C_Polyhedron_test1.java (1.1),
+	  interfaces/Java/tests/Makefile.am (1.1): The `ppl_java' library
+	  is now built.  Added the first test for the Java interface.
+	  Solved some cut and paste bugs in ppl_java_Polyhedron.cc.
+
+2006-11-05 Sunday 18:35  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.27): Added missing ().
+
+2006-11-05 Sunday 18:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.templates.hh, Interval.defs.hh (altnum.[11,26]): Added
+	  template <typename Boundary, typename Info, typename T> inline
+	  bool operator!=(const Interval<Boundary, Info>&, const T&).
+
+2006-11-05 Sunday 18:23  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.25): Added missing const.
+
+2006-11-05 Sunday 17:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.defs.hh, Box.inlines.hh (altnum.[13,11]): Addded
+	  Constraint_System Box<Interval>::minimized_constraints() const.
+	  Added missing friend declarations.
+
+2006-11-05 Sunday 17:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.defs.hh, Box.inlines.hh (altnum.[12,10]): Added
+	  explicit Box<Interval>::Box(const Constraint_System&).
+
+2006-11-05 Sunday 17:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.defs.hh, Box.inlines.hh, Box.templates.hh
+	  (altnum.[11,9,10]): Added Box<Interval>::Box(const Box&) and
+	  template <typename Other_Interval> explicit
+	  Box<Interval>::Box(const Box<Other_Interval>&).
+
+2006-11-05 Sunday 17:04  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.24): Added missing return.
+
+2006-11-05 Sunday 17:02  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.23): Improved version of operator==.
+
+2006-11-05 Sunday 16:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.defs.hh, Box.inlines.hh (altnum.[10,8]): Added explicit
+	  Box<Interval>::Box(dimension_type num_dimensions = 0,
+	  Degenerate_Element kind = UNIVERSE).
+
+2006-11-05 Sunday 16:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac, tests/ppl_test.cc, tests/ppl_test.hh,
+	  tests/print.hh, tests/Box/Makefile.am,
+	  tests/Box/addconstraints1.cc, tests/Box/addspacedims1.cc,
+	  tests/Box/affineimage1.cc, tests/Box/affinepreimage1.cc,
+	  tests/Box/bdsdifference1.cc, tests/Box/boundedaffineimage1.cc,
+	  tests/Box/boxhull.cc, tests/Box/cc76narrowing1.cc,
+	  tests/Box/cc76widening.cc, tests/Box/closure1.cc,
+	  tests/Box/concatenate1.cc, tests/Box/constraints1.cc,
+	  tests/Box/containsintegerpoint1.cc, tests/Box/fromgensys1.cc,
+	  tests/Box/frompolyhedron1.cc,
+	  tests/Box/generalizedaffineimage1.cc,
+	  tests/Box/generalizedaffinepreimage1.cc,
+	  tests/Box/intersection1.cc, tests/Box/mapspacedims1.cc,
+	  tests/Box/maxspacedim1.cc, tests/Box/removespacedims1.cc,
+	  tests/Box/timeelapse1.cc
+	  (altnum.[20,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2]):
+	  Added some infrastructure to begin testing in tests/Box.
+
+2006-11-05 Sunday 16:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron_widenings.cc, Rational_Box.hh (altnum.[8,2]):
+	  Rational_Box is now in the Parma_Polyhedra_Library namespace.
+
+2006-11-05 Sunday 16:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Interval.defs.hh (altnum.22): Added missing return statement.
+
+2006-11-05 Sunday 16:35  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.21): Better unbounded check.
+
+2006-11-05 Sunday 16:32  Abramo Bagnara
+
+	* src/: Boundary.defs.hh, Interval.defs.hh (altnum.[5,20]): Added
+	  refine (still incomplete). Better name for is_integer applied to
+	  intervals.
+
+2006-11-05 Sunday 16:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.defs.hh, Box.inlines.hh, Box.templates.hh
+	  (altnum.[9,7,9]): Drafted bool operator==(const Box<Interval>&,
+	  const Box<Interval>&) and bool operator!=(const Box<Interval>&,
+	  const Box<Interval>&).
+
+2006-11-05 Sunday 16:04  Andrea Cimino
+
+	* interfaces/Java/jni/ppl_java_common.cc (1.4): Fixed Makefile.am
+	  to avoid some autoconf warnings.  Fixed some interface bugs.
+
+2006-11-05 Sunday 15:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.defs.hh, Box.inlines.hh, Box.templates.hh
+	  (altnum.[8,6,8]): Implementation of Box abstracted with respect
+	  to the sequence employed in the representation.  Drafted void
+	  Box<Interval>::concatenate_assign(const Box&).
+
+2006-11-05 Sunday 15:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Interval.defs.hh (altnum.19): Added missing inclusions and
+	  std:: qualifications.
+
+2006-11-05 Sunday 15:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/globals.types.hh (altnum.3): Added NOT_EQUAL to enum
+	  Relation_Symbol.
+
+2006-11-05 Sunday 15:12  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.18): Added OK().
+
+2006-11-05 Sunday 15:11  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh,
+	  checked.defs.hh, checked_ext.inlines.hh,
+	  checked_float.inlines.hh, checked_int.inlines.hh,
+	  checked_mpq.inlines.hh, checked_mpz.inlines.hh
+	  (altnum.[20,20,28,5,20,28,21,24]): Added ceil and floor.
+
+2006-11-05 Sunday 15:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.201): Note that in the OK() methods, instead of having
+	  all those #ifndef NDEBUG, it is probably worthwhile to use a
+	  suitable defined `barf' stream that does the right thing.
+
+2006-11-05 Sunday 15:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.200): Remember to add a "quick assign" function to
+	  checked numbers that allows to efficiently assign small integer
+	  constants (like those in the range [-2, 2]) that are guaranteed
+	  not to cause any rounding or overflow problems.
+
+2006-11-05 Sunday 14:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.defs.hh (altnum.7): Added declarations for the standard
+	  member functions that may modify the dimension of the vector
+	  space.
+
+2006-11-05 Sunday 14:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/: .cvsignore, Makefile.am, addconstraints1.cc,
+	  addspacedims1.cc, affinedimension1.cc, affineimage1.cc,
+	  affinepreimage1.cc, ascii_dump_load1.cc, bdsdifference1.cc,
+	  bgp99extrapolation1.cc, bhz03widening1.cc, bounded1.cc,
+	  boundedaffineimage1.cc, boxhull.cc, cc76narrowing1.cc,
+	  cc76widening.cc, closure1.cc, concatenate1.cc, constraints1.cc,
+	  contains1.cc, containsintegerpoint1.cc, discrete1.cc,
+	  disjoint1.cc, empty1.cc, equality1.cc, expandspacedim1.cc,
+	  foldspacedims1.cc, fromgensys1.cc, frompolyhedron1.cc,
+	  generalizedaffineimage1.cc, generalizedaffinepreimage1.cc,
+	  geomcovers1.cc, intersection1.cc, mapspacedims1.cc,
+	  maxspacedim1.cc, membytes1.cc, minconstraints1.cc, relations1.cc,
+	  removespacedims1.cc, timeelapse1.cc, universe1.cc, writebox1.cc
+	  (altnum.[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]):
+	  Ripped from the tests/BD_Shape directory to serve as a basis for
+	  building the Box testsuite.
+
+2006-11-05 Sunday 14:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/maxspacedim1.cc (altnum.1): file
+	  maxspacedim1.cc was added on branch altnum on 2006-12-02 22:35:34
+	  +0000
+
+2006-11-05 Sunday 14:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/maxspacedim1.cc (octagons.1): file
+	  maxspacedim1.cc was added on branch octagons on 2006-11-18
+	  20:36:59 +0000
+
+2006-11-05 Sunday 14:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: BD_Shape/Makefile.am (1.54), BD_Shape/maxspacedim.cc
+	  (1.14), BD_Shape/maxspacedim1.cc (1.1),
+	  Octagonal_Shape/Makefile.am (1.11),
+	  Octagonal_Shape/maxspacedim.cc (1.2),
+	  Octagonal_Shape/maxspacedim1.cc (1.1): Renamed maxspacedim.cc to
+	  maxspacedim1.cc.
+
+2006-11-05 Sunday 14:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/maxspacedim1.cc (altnum.1): file maxspacedim1.cc
+	  was added on branch altnum on 2006-12-02 22:35:33 +0000
+
+2006-11-05 Sunday 14:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/maxspacedim1.cc (octagons.1): file maxspacedim1.cc
+	  was added on branch octagons on 2006-11-18 20:36:56 +0000
+
+2006-11-05 Sunday 14:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.87): Missing blanks added.
+
+2006-11-05 Sunday 13:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.cc, Box.defs.hh, Box.templates.hh (altnum.[2,6,7]):
+	  Added void Box<Interval>::add_constraints(const
+	  Constraint_System&) and bool Box<Interval>::OK() const.  Started
+	  drafting void Box<Interval>::add_constraint(const Constraint&).
+
+2006-11-05 Sunday 10:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.defs.hh, Box.inlines.hh, Box.templates.hh
+	  (altnum.[5,5,6]): New methods void box_hull_assign(const Box&)
+	  and void upper_bound_assign(const Box&).
+
+2006-11-05 Sunday 10:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.defs.hh, Box.inlines.hh, Box.templates.hh
+	  (altnum.[4,4,5]): New methods bool Box<Interval>::marked_empty()
+	  const and void Box<Interval>::intersection_assign(const Box&).
+
+2006-11-05 Sunday 09:41  Abramo Bagnara
+
+	* src/: Boundary.defs.hh, Interval.defs.hh (altnum.[4,17]): Added
+	  some methods.
+
+2006-11-05 Sunday 09:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh (altnum.4): Two FIXMEs resolved by using
+	  Interval::set_lower_unbounded() and
+	  Interval::set_upper_unbounded().
+
+2006-11-05 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Boundary.defs.hh, Box.defs.hh, Box.inlines.hh,
+	  Box.templates.hh (altnum.[3,3,3,3]): Method is_empty() revised.
+	  Added methods bool is_universe() const, bool
+	  is_topologically_closed() const, bool is_bounded() const, and
+	  bool contains_integer_point() const.
+
+2006-11-05 Sunday 07:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Any_Pointset.defs.hh (1.7): Activated the
+	  bounded_affine_image() and bounded_affine_preimage() methods.
+
+2006-11-04 Saturday 21:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4,
+	  src/Bounding_Box.cc, src/Bounding_Box.defs.hh,
+	  src/Bounding_Box.inlines.hh, src/Bounding_Box.types.hh,
+	  src/Box.defs.hh, src/Box.inlines.hh, src/Box.templates.hh,
+	  src/Makefile.am, src/Polyhedron_widenings.cc, src/Rational_Box.hh
+	  (altnum.[4,4,4,4,3,2,2,2,26,7,1]): New class Rational_Box to
+	  replace the old Bounding_Box.  Several corrections to the
+	  definition of class Box.
+
+2006-11-04 Saturday 20:25  Andrea Cimino
+
+	* interfaces/Java/Makefile.am (1.2): If Java interface generation
+	  is enabled, ppl_java.jar is automatically built. The java files
+	  are now compiled always together.
+
+2006-11-04 Saturday 19:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Box.cc, Box.defs.hh, Box.inlines.hh, Box.templates.hh,
+	  Box.types.hh, Interval.defs.hh, Makefile.am
+	  (altnum.[1,1,1,1,1,16,25]): The new Box templatic class
+	  efficiently represents not necessarily closed, iso-oriented
+	  hyperrectangles.
+
+2006-11-04 Saturday 17:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_icc_code.m4,
+	  ppl_interface_generator_prolog_icc_preamble (altnum.[3,4]): Enum
+	  value LOWER and UPPER renamed LOWER_BOUNDARY and UPPER_BOUNDARY,
+	  respectively.
+
+2006-11-04 Saturday 17:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Boundary.defs.hh, Interval.defs.hh, Interval.inlines.hh,
+	  Interval.types.hh, Makefile.am, Old_Interval.defs.hh,
+	  Old_Interval.inlines.hh, Old_Interval.types.hh
+	  (altnum.[2,15,12,3,24,2,2,2]): Old implementation of intervals
+	  moved further out of the way.  New interval implementation is now
+	  included in ppl.hh.
+
+2006-11-04 Saturday 16:46  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.14): Added quick and dirty trick to
+	  support interval construction from strings.
+
+2006-11-04 Saturday 16:39  Abramo Bagnara
+
+	* src/: Boundary.defs.hh, Interval.defs.hh, Interval_Info.defs.hh
+	  (altnum.[1,13,1]): Splitted and reorganized new intervals code.
+
+2006-11-04 Saturday 16:38  Abramo Bagnara
+
+	* src/fpu-ia32.inlines.hh (altnum.4): Added memory clobber
+	  directive to avoid asm reordering.
+
+2006-11-04 Saturday 16:37  Abramo Bagnara
+
+	* src/compiler.hh (altnum.3): Added avoid_cse.
+
+2006-11-04 Saturday 16:36  Abramo Bagnara
+
+	* src/checked_float.inlines.hh (altnum.19): Reinserted lost commit.
+	  Added avoid_cse.
+
+2006-11-04 Saturday 16:35  Abramo Bagnara
+
+	* src/Checked_Number.defs.hh (altnum.19): Improved comment.
+
+2006-11-03 Friday 21:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.cc (1.3): Use switches
+	  whenever possible.
+
+2006-11-03 Friday 20:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.cc (1.2): Avoid long lines.
+
+2006-11-03 Friday 16:41  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.12): More work on interval.
+
+2006-11-03 Friday 16:38  Andrea Cimino
+
+	* interfaces/Java/jni/: .cvsignore (1.1), ppl_java_C_Polyhedron.cc
+	  (1.1), ppl_java_Polyhedron.cc (1.1), ppl_java_common.cc (1.1),
+	  ppl_java_common.hh (1.1): Added the `jni' directory to the trunk.
+	  Added some files that interface Java to C++ via JNI.
+
+2006-11-03 Friday 16:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/.cvsignore (altnum.1): file .cvsignore was
+	  added on branch altnum on 2006-12-02 22:35:27 +0000
+
+2006-11-03 Friday 16:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/.cvsignore (octagons.1): file .cvsignore was
+	  added on branch octagons on 2006-11-18 20:36:45 +0000
+
+2006-11-03 Friday 16:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/.cvsignore (simplex.1): file .cvsignore was
+	  added on branch simplex on 2008-01-07 11:15:29 +0000
+
+2006-11-03 Friday 15:24  quartieri
+
+	* tests/Octagonal_Shape/boundedaffineimage1.cc (1.7): Removed some
+	  useless lines from test13().
+
+2006-11-03 Friday 15:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/boundedaffineimage1.cc (octagons.1): file
+	  boundedaffineimage1.cc was added on branch octagons on 2006-11-18
+	  20:36:59 +0000
+
+2006-11-03 Friday 14:51  Andrea Cimino
+
+	* interfaces/Makefile.am (1.20): Temporarily disabled the Java
+	  interface to be processed by Makefile.
+
+2006-11-03 Friday 10:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.11),
+	  Prolog/tests/ppl_interface_generator_predicate_check_extra_code
+	  (1.19),
+	  Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
+	  (1.22): Fixed some bugs.  Tidied the handling of a "friend" class
+	  replacement.	Improved some comments.
+
+2006-11-03 Friday 10:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
+	  (octagons.1): file ppl_interface_generator_predicate_check_pl.m4
+	  was added on branch octagons on 2006-11-18 20:36:49 +0000
+
+2006-11-02 Thursday 16:51  quartieri
+
+	* tests/Octagonal_Shape/expandspacedim1.cc (1.2): Added some tests.
+
+2006-11-02 Thursday 16:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/expandspacedim1.cc (octagons.1): file
+	  expandspacedim1.cc was added on branch octagons on 2006-11-18
+	  20:36:59 +0000
+
+2006-11-02 Thursday 15:21  quartieri
+
+	* src/Octagonal_Shape.templates.hh (1.35),
+	  tests/Octagonal_Shape/boundedaffinepreimage1.cc (1.2): Corrected
+	  the method bounded_affine_preimage() when `lb_expr' contains
+	  `var'.  Added some tests.
+
+2006-11-02 Thursday 15:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/boundedaffinepreimage1.cc (octagons.1):
+	  file boundedaffinepreimage1.cc was added on branch octagons on
+	  2006-11-18 20:36:59 +0000
+
+2006-11-02 Thursday 11:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_float.inlines.hh (1.70): Unwanted changes withdrawn.
+
+2006-11-02 Thursday 11:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Checked_Number.defs.hh, checked.defs.hh (altnum.[18,27]):
+	  Enable inexact check when requested.
+
+2006-11-02 Thursday 11:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_float.inlines.hh (altnum.18): Fixed missing round
+	  direction extraction.
+
+2006-11-02 Thursday 10:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Checked_Number.defs.hh (1.83), checked.defs.hh (1.37),
+	  checked_float.inlines.hh (1.69): Previous changes reverted (they
+	  were meant for the `altnum' branch only).
+
+2006-11-02 Thursday 10:03  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.11): Added more functions. Added
+	  some notes to not forget.
+
+2006-11-01 Wednesday 23:00  Abramo Bagnara
+
+	* src/checked_float.inlines.hh (1.68): Fixed missing round
+	  direction extraction.
+
+2006-11-01 Wednesday 22:59  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh (1.82), checked.defs.hh (1.36):
+	  Enable inexact check when requested.
+
+2006-11-01 Wednesday 22:56  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.10): More work on new intervals.
+
+2006-11-01 Wednesday 22:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.cc (1.38): Block indentation corrected.
+
+2006-11-01 Wednesday 20:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4 (1.13),
+	  Prolog/ppl_interface_generator_prolog_icc.m4 (1.6),
+	  Prolog/tests/ppl_interface_generator_predicate_check_extra_code
+	  (1.18),
+	  Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
+	  (1.21): Further improvements to the generation of the code.
+
+2006-11-01 Wednesday 17:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common.m4 (1.12): Some ongoing
+	  improvements - both to the comments and in making the arguments
+	  to the macros more uniform.
+
+2006-11-01 Wednesday 15:42  Abramo Bagnara
+
+	* src/: Init.cc, Rounding_Dir.defs.hh, Rounding_Dir.inlines.hh,
+	  fpu-c99.inlines.hh, fpu-ia32.inlines.hh, fpu-sparc.inlines.hh,
+	  fpu.types.hh (altnum.[4,4,4,3,3,3,3]), checked_float.inlines.hh
+	  (1.67): Use specific types for fpu_rounding_direction_type and
+	  fpu_rounding_control_word_type.
+
+2006-11-01 Wednesday 15:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/:
+	  ppl_interface_generator_predicate_check_code.m4 (1.28),
+	  ppl_interface_generator_predicate_check_extra_code (1.17),
+	  ppl_interface_generator_predicate_check_pl.m4 (1.20): Several
+	  improvements to the code - both the generated code and to the m4
+	  itself.
+
+2006-11-01 Wednesday 13:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.16),
+	  ppl_interface_generator_prolog_icc_code.m4 (1.16): Added code for
+	  the Octagonal_Shape and BD_Shape narrowing procedures.
+
+2006-11-01 Wednesday 12:53  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.10),
+	  C/ppl_interface_generator_c_cc_code.m4 (1.9),
+	  C/ppl_interface_generator_c_dat.m4 (1.9),
+	  C/ppl_interface_generator_c_h_code.m4 (1.6),
+	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.15),
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.15),
+	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.27): Several improvements - mainly wrt the generation of code
+	  for the widening and extrapolation operators.  All extrapolations
+	  (including the widenings) for all the simple domains are now
+	  generated. The only missing procedure now is the narrowing.
+
+	  Names of some of the patterns to be replaced have also been
+	  revised.
+
+2006-11-01 Wednesday 12:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_dat.m4 (octagons.1): file
+	  ppl_interface_generator_c_dat.m4 was added on branch octagons on
+	  2006-11-18 20:36:44 +0000
+
+2006-11-01 Wednesday 12:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_h_code.m4 (octagons.1):
+	  file ppl_interface_generator_c_h_code.m4 was added on branch
+	  octagons on 2006-11-18 20:36:44 +0000
+
+2006-11-01 Wednesday 12:24  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.9): More work on intervals.
+
+2006-11-01 Wednesday 08:13  Abramo Bagnara
+
+	* src/Interval.defs.hh (altnum.8): Put under CVS control.
+
+2006-10-31 Tuesday 23:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* instchk.hh (1.7): Cater also for Octagonal_Shape.  Methods
+	  renamed so as to reflect that Polyhedra_Powerset has been renamed
+	  Pointset_Powerset.
+
+2006-10-31 Tuesday 18:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/: Constraint.java (1.2), Linear_Expression.java
+	  (1.2), Linear_Expression_Coefficient.java (1.2),
+	  Linear_Expression_Common.java (1.2),
+	  Linear_Expression_Difference.java (1.2),
+	  Linear_Expression_Sum.java (1.2), Linear_Expression_Times.java
+	  (1.2), Linear_Expression_Unary_Minus.java (1.2),
+	  Linear_Expression_Variable.java (1.2), Relation_Symbol.java
+	  (1.2): Moved.
+
+2006-10-31 Tuesday 18:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh (1.48): Corrected another occurrence of
+	  the same problem identified in the previous commit (wrong
+	  handling of capacities), again in remove_space_dimensions().
+
+2006-10-31 Tuesday 17:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/: Constraint.java (1.1), Linear_Expression.java
+	  (1.1), Linear_Expression_Coefficient.java (1.1),
+	  Linear_Expression_Common.java (1.1),
+	  Linear_Expression_Difference.java (1.1),
+	  Linear_Expression_Sum.java (1.1), Linear_Expression_Times.java
+	  (1.1), Linear_Expression_Unary_Minus.java (1.1),
+	  Linear_Expression_Variable.java (1.1), Relation_Symbol.java
+	  (1.1): Put under CVS control.
+
+2006-10-31 Tuesday 17:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh (1.47): Corrected a bug (in the
+	  handling of DB_Row capacities) in method
+	  remove_space_dimension(). Avoid useless computations when the
+	  BD_Shape is known to be empty.
+
+2006-10-31 Tuesday 16:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/foldspacedims1.cc (altnum.1): file
+	  foldspacedims1.cc was added on branch altnum on 2006-12-02
+	  22:35:34 +0000
+
+2006-10-31 Tuesday 16:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/foldspacedims1.cc (octagons.1): file
+	  foldspacedims1.cc was added on branch octagons on 2006-11-18
+	  20:36:59 +0000
+
+2006-10-31 Tuesday 16:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/mapspacedims1.cc (octagons.1): file
+	  mapspacedims1.cc was added on branch octagons on 2006-11-18
+	  20:36:59 +0000
+
+2006-10-31 Tuesday 16:35  quartieri
+
+	* src/Octagonal_Shape.defs.hh (1.15),
+	  src/Octagonal_Shape.templates.hh (1.34),
+	  tests/Octagonal_Shape/Makefile.am (1.10),
+	  tests/Octagonal_Shape/foldspacedims1.cc (1.1),
+	  tests/Octagonal_Shape/mapspacedims1.cc (1.2): Defined the method
+	  fold_space_dimensions() and added some tests about it.  Removed
+	  the trailing white spaces from mapspacedims1.
+
+2006-10-31 Tuesday 14:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/:
+	  ppl_interface_generator_predicate_check_code.m4 (1.26),
+	  ppl_interface_generator_predicate_check_extra_code (1.16),
+	  ppl_interface_generator_predicate_check_pl.m4 (1.19): Added
+	  generic tests for the remaining widening/extrapolation and change
+	  dimensions procedures.
+
+2006-10-31 Tuesday 13:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/BD_Shape/foldspacedims1.cc (1.2): Added two tests to show a
+	  bug.	Both test fold_space_dimensions() for an empty shape in 2
+	  dimensions but where the initial shape is built in different
+	  ways.  One of these tests causes an exception to be thrown
+	  whereas the other passes.
+
+2006-10-31 Tuesday 13:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/foldspacedims1.cc (octagons.1): file
+	  foldspacedims1.cc was added on branch octagons on 2006-11-18
+	  20:36:56 +0000
+
+2006-10-31 Tuesday 09:30  Abramo Bagnara
+
+	* src/: Checked_Number.inlines.hh, Rounding_Dir.defs.hh,
+	  Rounding_Dir.inlines.hh, checked_int.inlines.hh,
+	  checked_mpz.inlines.hh (altnum.[19,3,3,27,23]),
+	  Checked_Number.defs.hh (1.81): Check for FPU inexact result only
+	  when explicitly requested by the individual functions/operators.
+
+2006-10-31 Tuesday 09:23  Abramo Bagnara
+
+	* src/checked_mpq.inlines.hh (altnum.20): Fixed is_int_mpq().
+
+2006-10-31 Tuesday 08:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/MIP_Problem.defs.hh (1.29): Avoid a Doxygen warning about an
+	  undocumented parameter.
+
+2006-10-30 Monday 18:37  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	*
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.25): Tests for the affine image and preimage predicates added.
+
+2006-10-30 Monday 16:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Saturation_Matrix.cc (1.12), Saturation_Matrix.defs.hh
+	  (1.12), Saturation_Matrix.inlines.hh (1.8),
+	  Saturation_Matrix.types.hh (1.5), Saturation_Row.cc (1.12),
+	  Saturation_Row.defs.hh (1.13), Saturation_Row.inlines.hh (1.9),
+	  Saturation_Row.types.hh (1.5): Replaced by the corresponding
+	  files Bit_*.
+
+2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Matrix.cc (altnum.1): file Bit_Matrix.cc was added on
+	  branch altnum on 2006-12-02 22:35:31 +0000
+
+2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Matrix.cc (octagons.1): file Bit_Matrix.cc was added on
+	  branch octagons on 2006-11-18 20:36:50 +0000
+
+2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Matrix.defs.hh (altnum.1): file Bit_Matrix.defs.hh was
+	  added on branch altnum on 2006-12-02 22:35:31 +0000
+
+2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Matrix.defs.hh (octagons.1): file Bit_Matrix.defs.hh was
+	  added on branch octagons on 2006-11-18 20:36:50 +0000
+
+2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Matrix.inlines.hh (altnum.1): file Bit_Matrix.inlines.hh
+	  was added on branch altnum on 2006-12-02 22:35:31 +0000
+
+2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Matrix.inlines.hh (octagons.1): file
+	  Bit_Matrix.inlines.hh was added on branch octagons on 2006-11-18
+	  20:36:50 +0000
+
+2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Matrix.types.hh (altnum.1): file Bit_Matrix.types.hh was
+	  added on branch altnum on 2006-12-02 22:35:31 +0000
+
+2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Matrix.types.hh (octagons.1): file Bit_Matrix.types.hh
+	  was added on branch octagons on 2006-11-18 20:36:50 +0000
+
+2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Row.cc (altnum.1): file Bit_Row.cc was added on branch
+	  altnum on 2006-12-02 22:35:31 +0000
+
+2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Row.cc (octagons.1): file Bit_Row.cc was added on branch
+	  octagons on 2006-11-18 20:36:50 +0000
+
+2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Row.defs.hh (altnum.1): file Bit_Row.defs.hh was added on
+	  branch altnum on 2006-12-02 22:35:31 +0000
+
+2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Row.defs.hh (octagons.1): file Bit_Row.defs.hh was added
+	  on branch octagons on 2006-11-18 20:36:50 +0000
+
+2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Row.inlines.hh (altnum.1): file Bit_Row.inlines.hh was
+	  added on branch altnum on 2006-12-02 22:35:31 +0000
+
+2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Row.inlines.hh (octagons.1): file Bit_Row.inlines.hh was
+	  added on branch octagons on 2006-11-18 20:36:50 +0000
+
+2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Row.types.hh (altnum.1): file Bit_Row.types.hh was added
+	  on branch altnum on 2006-12-02 22:35:31 +0000
+
+2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Row.types.hh (octagons.1): file Bit_Row.types.hh was
+	  added on branch octagons on 2006-11-18 20:36:50 +0000
+
+2006-10-30 Monday 16:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.199), doc/devref.doxyconf-html.in (1.79),
+	  doc/devref.doxyconf-latex.in (1.18), src/BD_Shape.defs.hh (1.86),
+	  src/BD_Shape.templates.hh (1.46), src/Bit_Matrix.cc (1.1),
+	  src/Bit_Matrix.defs.hh (1.1), src/Bit_Matrix.inlines.hh (1.1),
+	  src/Bit_Matrix.types.hh (1.1), src/Bit_Row.cc (1.1),
+	  src/Bit_Row.defs.hh (1.1), src/Bit_Row.inlines.hh (1.1),
+	  src/Bit_Row.types.hh (1.1), src/Linear_System.cc (1.40),
+	  src/Linear_System.defs.hh (1.29), src/Linear_System.inlines.hh
+	  (1.19), src/Makefile.am (1.163), src/Polyhedron.defs.hh (1.308),
+	  src/Polyhedron_chdims.cc (1.40), src/Polyhedron_nonpublic.cc
+	  (1.70), src/Polyhedron_public.cc (1.86),
+	  src/Polyhedron_widenings.cc (1.56), src/conversion.cc (1.79),
+	  src/minimize.cc (1.44), src/simplify.cc (1.46),
+	  src/swapping_sort.icc (1.11): Classes Saturation_Row and
+	  Saturation_Matrix renamed as Bit_Row and Bit_Matrix,
+	  respectively.
+
+2006-10-30 Monday 14:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Saturation_Row.defs.hh (1.12): Added specification for   void
+	  set_until(unsigned long k);
+
+2006-10-30 Monday 12:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.85), BD_Shape.templates.hh (1.45): The
+	  redundancy_dbm private data member of BD_Shape is now implemented
+	  by using a Saturation_Matrix (instead of a vector of deques of
+	  Booleans).
+
+2006-10-30 Monday 12:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Saturation_Matrix.cc (1.11), Saturation_Matrix.defs.hh
+	  (1.11), Saturation_Matrix.inlines.hh (1.7): Added comparison
+	  operators for Saturation_Matrix.
+
+2006-10-30 Monday 12:23  quartieri
+
+	* src/Octagonal_Shape.templates.hh (1.33): Removed an old FIXME and
+	  a provisional implementation of the method
+	  external_memory_in_bytes().
+
+2006-10-30 Monday 10:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/FCAIBVP.cc (octagons.1): file FCAIBVP.cc was added on
+	  branch octagons on 2006-11-18 20:36:53 +0000
+
+2006-10-30 Monday 10:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/FCAIBVP.defs.hh (octagons.1): file FCAIBVP.defs.hh was
+	  added on branch octagons on 2006-11-18 20:36:53 +0000
+
+2006-10-30 Monday 10:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/FCAIBVP.inlines.hh (octagons.1): file FCAIBVP.inlines.hh
+	  was added on branch octagons on 2006-11-18 20:36:53 +0000
+
+2006-10-30 Monday 10:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/variablesset1.cc (octagons.1): file
+	  variablesset1.cc was added on branch octagons on 2006-11-18
+	  20:37:00 +0000
+
+2006-10-30 Monday 10:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Variables_Set.cc (octagons.1): file Variables_Set.cc was
+	  added on branch octagons on 2006-11-18 20:36:51 +0000
+
+2006-10-30 Monday 10:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Variables_Set.defs.hh (octagons.1): file
+	  Variables_Set.defs.hh was added on branch octagons on 2006-11-18
+	  20:36:51 +0000
+
+2006-10-30 Monday 10:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Variables_Set.inlines.hh (octagons.1): file
+	  Variables_Set.inlines.hh was added on branch octagons on
+	  2006-11-18 20:36:51 +0000
+
+2006-10-30 Monday 10:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.8),
+	  interfaces/C/ppl_interface_generator_c_cc_preamble (1.5),
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (1.14),
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc_preamble
+	  (1.13), src/BD_Shape.templates.hh (1.44),
+	  src/Grid_Generator_System.cc (1.16), src/Grid_chdims.cc (1.14),
+	  src/MIP_Problem.cc (1.37), src/MIP_Problem.defs.hh (1.28),
+	  src/Octagonal_Shape.templates.hh (1.32), src/Polyhedron_chdims.cc
+	  (1.39), src/Variables_Set.cc (1.2), src/Variables_Set.defs.hh
+	  (1.3), src/Variables_Set.inlines.hh (1.3), tests/FCAIBVP.cc
+	  (1.2), tests/FCAIBVP.defs.hh (1.3), tests/FCAIBVP.inlines.hh
+	  (1.3), tests/Polyhedron/variablesset1.cc (1.8): Variables_Set is
+	  now an std::set of variables' indexes (instead of Variable).
+
+2006-10-30 Monday 10:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc_preamble (octagons.1):
+	  file ppl_interface_generator_c_cc_preamble was added on branch
+	  octagons on 2006-11-18 20:36:44 +0000
+
+2006-10-30 Monday 09:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_icc_preamble,
+	  src/Bounding_Box.cc, src/Bounding_Box.defs.hh,
+	  src/Bounding_Box.inlines.hh, src/Direct_Product.templates.hh,
+	  src/Grid.templates.hh, src/Interval.cc, src/Interval.defs.hh,
+	  src/Interval.inlines.hh, src/Interval.types.hh, src/Makefile.am,
+	  src/Old_Interval.cc, src/Old_Interval.defs.hh,
+	  src/Old_Interval.inlines.hh, src/Old_Interval.types.hh,
+	  src/Polyhedron.inlines.hh, src/Polyhedron.templates.hh
+	  (altnum.[3,3,3,3,3,3,2,7,11,2,23,1,1,1,1,9,3]): Old interval
+	  implementation moved out of the way.
+
+2006-10-29 Sunday 22:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/:
+	  ppl_interface_generator_predicate_check_code.m4 (1.24),
+	  ppl_interface_generator_predicate_check_extra_code (1.15): Added
+	  generic tests for the binary operators.
+
+2006-10-29 Sunday 20:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* BUGS, COPYING, CREDITS, ChangeLog, INSTALL, Makefile.am, NEWS,
+	  README, README.configure, STANDARDS, TODO, compile, config.guess,
+	  config.rpath, config.sub, configure.ac, depcomp, install-sh,
+	  instchk.hh, ltmain.sh, missing, mkinstalldirs, ppl.lsm.in,
+	  ppl.spec.in, Watchdog/.cvsignore, Watchdog/COPYING,
+	  Watchdog/CREDITS, Watchdog/ChangeLog,
+	  Watchdog/Doubly_Linked_Object.defs.hh,
+	  Watchdog/Doubly_Linked_Object.inlines.hh,
+	  Watchdog/Doubly_Linked_Object.types.hh, Watchdog/EList.defs.hh,
+	  Watchdog/EList.inlines.hh, Watchdog/EList.types.hh,
+	  Watchdog/EList_Iterator.defs.hh,
+	  Watchdog/EList_Iterator.inlines.hh,
+	  Watchdog/EList_Iterator.types.hh, Watchdog/Handler.defs.hh,
+	  Watchdog/Handler.inlines.hh, Watchdog/Handler.types.hh,
+	  Watchdog/INSTALL, Watchdog/Makefile.am, Watchdog/NEWS,
+	  Watchdog/Pending_Element.cc, Watchdog/Pending_Element.defs.hh,
+	  Watchdog/Pending_Element.inlines.hh,
+	  Watchdog/Pending_Element.types.hh, Watchdog/Pending_List.cc,
+	  Watchdog/Pending_List.defs.hh, Watchdog/Pending_List.inlines.hh,
+	  Watchdog/Pending_List.types.hh, Watchdog/README,
+	  Watchdog/Time.cc, Watchdog/Time.defs.hh,
+	  Watchdog/Time.inlines.hh, Watchdog/Time.types.hh,
+	  Watchdog/Watchdog.cc, Watchdog/Watchdog.defs.hh,
+	  Watchdog/Watchdog.inlines.hh, Watchdog/Watchdog.types.hh,
+	  Watchdog/compile, Watchdog/config.guess, Watchdog/config.sub,
+	  Watchdog/configure.ac, Watchdog/depcomp, Watchdog/install-sh,
+	  Watchdog/ltmain.sh, Watchdog/missing, Watchdog/mkinstalldirs,
+	  Watchdog/pwl_header.bottom, Watchdog/pwl_header.middle,
+	  Watchdog/pwl_header.top, Watchdog/src/.cvsignore,
+	  Watchdog/src/Doubly_Linked_Object.defs.hh,
+	  Watchdog/src/Doubly_Linked_Object.inlines.hh,
+	  Watchdog/src/Doubly_Linked_Object.types.hh,
+	  Watchdog/src/EList.defs.hh, Watchdog/src/EList.inlines.hh,
+	  Watchdog/src/EList.types.hh, Watchdog/src/EList_Iterator.defs.hh,
+	  Watchdog/src/EList_Iterator.inlines.hh,
+	  Watchdog/src/EList_Iterator.types.hh,
+	  Watchdog/src/Handler.defs.hh, Watchdog/src/Handler.inlines.hh,
+	  Watchdog/src/Handler.types.hh, Watchdog/src/Makefile.am,
+	  Watchdog/src/Pending_Element.cc,
+	  Watchdog/src/Pending_Element.defs.hh,
+	  Watchdog/src/Pending_Element.inlines.hh,
+	  Watchdog/src/Pending_Element.types.hh,
+	  Watchdog/src/Pending_List.cc, Watchdog/src/Pending_List.defs.hh,
+	  Watchdog/src/Pending_List.inlines.hh,
+	  Watchdog/src/Pending_List.types.hh, Watchdog/src/Time.cc,
+	  Watchdog/src/Time.defs.hh, Watchdog/src/Time.inlines.hh,
+	  Watchdog/src/Time.types.hh, Watchdog/src/Watchdog.cc,
+	  Watchdog/src/Watchdog.defs.hh, Watchdog/src/Watchdog.inlines.hh,
+	  Watchdog/src/Watchdog.types.hh, Watchdog/src/pwl_header.hh,
+	  Watchdog/utils/.cvsignore, Watchdog/utils/Makefile.am,
+	  Watchdog/utils/build_header.in, debian/.cvsignore,
+	  debian/Makefile.am, debian/README, debian/changelog,
+	  debian/compat, debian/control, debian/libppl-c.dirs,
+	  debian/libppl-c.install, debian/libppl-c.links,
+	  debian/libppl-dev.dirs, debian/libppl-dev.doc-base,
+	  debian/libppl-dev.doc-base.user, debian/libppl-dev.docs,
+	  debian/libppl-dev.install, debian/libppl-dev.links,
+	  debian/libppl-pwl.copyright.in, debian/libppl-pwl.dirs,
+	  debian/libppl-pwl.docs, debian/libppl-pwl.install,
+	  debian/libppl.copyright.in, debian/libppl.dirs,
+	  debian/libppl.docs, debian/libppl.install, debian/rules,
+	  demos/Makefile.am, demos/ppl_lcdd/.cvsignore,
+	  demos/ppl_lcdd/Makefile.am, demos/ppl_lcdd/ppl_lcdd.cc,
+	  demos/ppl_lcdd/examples/Makefile.am,
+	  demos/ppl_lcdd/examples/README, demos/ppl_lpsol/Makefile.am,
+	  demos/ppl_lpsol/expected_int16, demos/ppl_lpsol/expected_int16_a,
+	  demos/ppl_lpsol/expected_int32, demos/ppl_lpsol/expected_int32_a,
+	  demos/ppl_lpsol/expected_int64, demos/ppl_lpsol/expected_int64_a,
+	  demos/ppl_lpsol/expected_int8, demos/ppl_lpsol/expected_int8_a,
+	  demos/ppl_lpsol/expected_mpz, demos/ppl_lpsol/expected_mpz_a,
+	  demos/ppl_lpsol/ppl_lpsol.c,
+	  demos/ppl_lpsol/examples/Makefile.am,
+	  demos/ppl_lpsol/examples/README,
+	  demos/ppl_lpsol/examples/adlittle.mps,
+	  demos/ppl_lpsol/examples/blend.mps,
+	  demos/ppl_lpsol/examples/boeing1.mps,
+	  demos/ppl_lpsol/examples/boeing2.mps,
+	  demos/ppl_lpsol/examples/egout.mps,
+	  demos/ppl_lpsol/examples/ex11.mps,
+	  demos/ppl_lpsol/examples/ex12.mps,
+	  demos/ppl_lpsol/examples/kb2.mps,
+	  demos/ppl_lpsol/examples/lseu.mps,
+	  demos/ppl_lpsol/examples/markshare1.mps,
+	  demos/ppl_lpsol/examples/markshare2.mps,
+	  demos/ppl_lpsol/examples/mas74.mps,
+	  demos/ppl_lpsol/examples/mas76.mps,
+	  demos/ppl_lpsol/examples/mip.mps,
+	  demos/ppl_lpsol/examples/modglob.mps,
+	  demos/ppl_lpsol/examples/noswot.mps,
+	  demos/ppl_lpsol/examples/opt1217.mps,
+	  demos/ppl_lpsol/examples/p0033.mps,
+	  demos/ppl_lpsol/examples/pk1.mps,
+	  demos/ppl_lpsol/examples/rout.mps,
+	  demos/ppl_lpsol/examples/sc105.mps,
+	  demos/ppl_lpsol/examples/sc50a.mps,
+	  demos/ppl_lpsol/examples/sc50b.mps,
+	  demos/ppl_lpsol/examples/ship08l.mps, doc/.cvsignore,
+	  doc/Makefile.am, doc/README.doc, doc/definitions.dox,
+	  doc/devref-browse.doxyconf-latex.in,
+	  doc/devref-c-interface.doxyconf-html.in,
+	  doc/devref-c-interface.doxyconf-latex.in,
+	  doc/devref-print.doxyconf-latex.in,
+	  doc/devref-prolog-interface.doxyconf-html.in,
+	  doc/devref-prolog-interface.doxyconf-latex.in,
+	  doc/devref.doxyconf-html.in, doc/devref.doxyconf-latex.in,
+	  doc/devref.tex, doc/fdl.dox, doc/fdl.tex, doc/fdl.txt,
+	  doc/gpl.dox, doc/gpl.tex, doc/gpl.txt, doc/ppl-config.1,
+	  doc/ppl-config_extra_man_text, doc/ppl.sty, doc/ppl_lcdd.1,
+	  doc/ppl_lcdd_extra_man_text, doc/ppl_lpsol.1,
+	  doc/ppl_lpsol_extra_man_text, doc/prog2man,
+	  doc/user-browse.doxyconf-latex.in,
+	  doc/user-c-interface.doxyconf-html.in,
+	  doc/user-c-interface.doxyconf-latex.in,
+	  doc/user-print.doxyconf-latex.in,
+	  doc/user-prolog-interface.doxyconf-html.in,
+	  doc/user-prolog-interface.doxyconf-latex.in,
+	  doc/user.doxyconf-html.in, doc/user.doxyconf-latex.in,
+	  doc/user.tex, interfaces/Makefile.am,
+	  interfaces/ppl_interface_generator_common.m4,
+	  interfaces/ppl_interface_generator_common_dat.m4,
+	  interfaces/ppl_interface_generator_copyright,
+	  interfaces/C/Makefile.am, interfaces/C/ppl_c.cc,
+	  interfaces/C/ppl_c.h.in, interfaces/C/ppl_c_version.h.in,
+	  interfaces/C/ppl_interface_generator_c_cc.m4,
+	  interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	  interfaces/C/ppl_interface_generator_c_cc_preamble,
+	  interfaces/C/ppl_interface_generator_c_dat.m4,
+	  interfaces/C/ppl_interface_generator_c_h.m4,
+	  interfaces/C/ppl_interface_generator_c_h_code.m4,
+	  interfaces/C/ppl_interface_generator_c_h_preamble,
+	  interfaces/Java/.cvsignore, interfaces/Java/Makefile.am,
+	  interfaces/OCaml/Makefile.am, interfaces/OCaml/ppl_ocaml.cc,
+	  interfaces/OCaml/ppl_ocaml.mli, interfaces/OCaml/test1.ml,
+	  interfaces/Prolog/Makefile.am,
+	  interfaces/Prolog/Prolog_interface.dox,
+	  interfaces/Prolog/exceptions.hh,
+	  interfaces/Prolog/ppl_interface_generator_prolog_dat.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4,
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc_preamble,
+	  interfaces/Prolog/ppl_interface_generator_prolog_systems.m4,
+	  interfaces/Prolog/ppl_prolog.icc,
+	  interfaces/Prolog/track_allocation.hh,
+	  interfaces/Prolog/Ciao/Makefile.am,
+	  interfaces/Prolog/Ciao/ciao_cfli.hh,
+	  interfaces/Prolog/Ciao/ciao_clpq.pl,
+	  interfaces/Prolog/Ciao/ciao_clpq2.pl,
+	  interfaces/Prolog/Ciao/ciao_pl_check.pl,
+	  interfaces/Prolog/Ciao/ppl_ciao.cc,
+	  interfaces/Prolog/Ciao/ppl_ciao.pl,
+	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4,
+	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4,
+	  interfaces/Prolog/GNU/Makefile.am, interfaces/Prolog/GNU/README,
+	  interfaces/Prolog/GNU/gnu_pl_check.pl,
+	  interfaces/Prolog/GNU/gp_clpq.pl,
+	  interfaces/Prolog/GNU/gprolog_cfli.hh,
+	  interfaces/Prolog/GNU/ppl_gprolog.pl,
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc,
+	  interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4,
+	  interfaces/Prolog/SICStus/.cvsignore,
+	  interfaces/Prolog/SICStus/Makefile.am,
+	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4,
+	  interfaces/Prolog/SICStus/ppl_sicstus.pl,
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
+	  interfaces/Prolog/SICStus/sicstus_cfli.cc,
+	  interfaces/Prolog/SICStus/sicstus_cfli.h,
+	  interfaces/Prolog/SICStus/sicstus_cfli.ic,
+	  interfaces/Prolog/SICStus/sp_clpq.pl,
+	  interfaces/Prolog/SICStus/sp_pl_check.pl,
+	  interfaces/Prolog/SWI/Makefile.am,
+	  interfaces/Prolog/SWI/pl_clpq.cc,
+	  interfaces/Prolog/SWI/pl_clpq.pl,
+	  interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4,
+	  interfaces/Prolog/SWI/ppl_pl.cc,
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
+	  interfaces/Prolog/SWI/ppl_swiprolog.pl,
+	  interfaces/Prolog/SWI/swi_cfli.hh,
+	  interfaces/Prolog/SWI/swi_pl_check.pl,
+	  interfaces/Prolog/XSB/Makefile.am,
+	  interfaces/Prolog/XSB/expected2_int16,
+	  interfaces/Prolog/XSB/expected2_int16_a,
+	  interfaces/Prolog/XSB/expected2_int32,
+	  interfaces/Prolog/XSB/expected2_int32_a,
+	  interfaces/Prolog/XSB/expected2_int64,
+	  interfaces/Prolog/XSB/expected2_int64_a,
+	  interfaces/Prolog/XSB/expected2_int8,
+	  interfaces/Prolog/XSB/expected2_int8_a,
+	  interfaces/Prolog/XSB/expected2_mpz,
+	  interfaces/Prolog/XSB/expected2_mpz_a,
+	  interfaces/Prolog/XSB/expected3_int16,
+	  interfaces/Prolog/XSB/expected3_int16_a,
+	  interfaces/Prolog/XSB/expected3_int32,
+	  interfaces/Prolog/XSB/expected3_int32_a,
+	  interfaces/Prolog/XSB/expected3_int64,
+	  interfaces/Prolog/XSB/expected3_int64_a,
+	  interfaces/Prolog/XSB/expected3_int8,
+	  interfaces/Prolog/XSB/expected3_int8_a,
+	  interfaces/Prolog/XSB/expected3_mpz,
+	  interfaces/Prolog/XSB/expected3_mpz_a,
+	  interfaces/Prolog/XSB/expected_clpq2_int16,
+	  interfaces/Prolog/XSB/expected_clpq2_int16_a,
+	  interfaces/Prolog/XSB/expected_clpq2_int32,
+	  interfaces/Prolog/XSB/expected_clpq2_int32_a,
+	  interfaces/Prolog/XSB/expected_clpq2_int64,
+	  interfaces/Prolog/XSB/expected_clpq2_int64_a,
+	  interfaces/Prolog/XSB/expected_clpq2_int8,
+	  interfaces/Prolog/XSB/expected_clpq2_int8_a,
+	  interfaces/Prolog/XSB/expected_clpq2_mpz,
+	  interfaces/Prolog/XSB/expected_clpq2_mpz_a,
+	  interfaces/Prolog/XSB/expected_clpq_int16,
+	  interfaces/Prolog/XSB/expected_clpq_int16_a,
+	  interfaces/Prolog/XSB/expected_clpq_int32,
+	  interfaces/Prolog/XSB/expected_clpq_int32_a,
+	  interfaces/Prolog/XSB/expected_clpq_int64,
+	  interfaces/Prolog/XSB/expected_clpq_int64_a,
+	  interfaces/Prolog/XSB/expected_clpq_int8,
+	  interfaces/Prolog/XSB/expected_clpq_int8_a,
+	  interfaces/Prolog/XSB/expected_clpq_mpz,
+	  interfaces/Prolog/XSB/expected_clpq_mpz_a,
+	  interfaces/Prolog/XSB/expected_int16,
+	  interfaces/Prolog/XSB/expected_int16_a,
+	  interfaces/Prolog/XSB/expected_int32,
+	  interfaces/Prolog/XSB/expected_int32_a,
+	  interfaces/Prolog/XSB/expected_int64,
+	  interfaces/Prolog/XSB/expected_int64_a,
+	  interfaces/Prolog/XSB/expected_int8,
+	  interfaces/Prolog/XSB/expected_int8_a,
+	  interfaces/Prolog/XSB/expected_mpz,
+	  interfaces/Prolog/XSB/expected_mpz_a,
+	  interfaces/Prolog/XSB/expected_pchk_int16,
+	  interfaces/Prolog/XSB/expected_pchk_int16_a,
+	  interfaces/Prolog/XSB/expected_pchk_int32,
+	  interfaces/Prolog/XSB/expected_pchk_int32_a,
+	  interfaces/Prolog/XSB/expected_pchk_int64,
+	  interfaces/Prolog/XSB/expected_pchk_int64_a,
+	  interfaces/Prolog/XSB/expected_pchk_int8,
+	  interfaces/Prolog/XSB/expected_pchk_int8_a,
+	  interfaces/Prolog/XSB/expected_pchk_mpz,
+	  interfaces/Prolog/XSB/expected_pchk_mpz_a,
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4,
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4,
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_predicate_check_P.m4,
+	  interfaces/Prolog/XSB/ppl_xsb.H,
+	  interfaces/Prolog/XSB/ppl_xsb.cc,
+	  interfaces/Prolog/XSB/xsb_cfli.hh,
+	  interfaces/Prolog/XSB/xsb_clpq.P,
+	  interfaces/Prolog/XSB/xsb_clpq2.P,
+	  interfaces/Prolog/XSB/xsb_pl_check.P,
+	  interfaces/Prolog/YAP/Makefile.am,
+	  interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4,
+	  interfaces/Prolog/YAP/ppl_yap.cc,
+	  interfaces/Prolog/YAP/ppl_yap.pl,
+	  interfaces/Prolog/YAP/yap_cfli.hh,
+	  interfaces/Prolog/YAP/yap_clpq.pl,
+	  interfaces/Prolog/YAP/yap_clpq2.pl,
+	  interfaces/Prolog/YAP/yap_pl_check.pl,
+	  interfaces/Prolog/tests/Makefile.am,
+	  interfaces/Prolog/tests/check_script,
+	  interfaces/Prolog/tests/check_script2,
+	  interfaces/Prolog/tests/check_script2_int8,
+	  interfaces/Prolog/tests/clpq.pl,
+	  interfaces/Prolog/tests/clpq2.pl,
+	  interfaces/Prolog/tests/expected2_int16,
+	  interfaces/Prolog/tests/expected2_int16_a,
+	  interfaces/Prolog/tests/expected2_int32,
+	  interfaces/Prolog/tests/expected2_int32_a,
+	  interfaces/Prolog/tests/expected2_int64,
+	  interfaces/Prolog/tests/expected2_int64_a,
+	  interfaces/Prolog/tests/expected2_int8,
+	  interfaces/Prolog/tests/expected2_int8_a,
+	  interfaces/Prolog/tests/expected2_mpz,
+	  interfaces/Prolog/tests/expected2_mpz_a,
+	  interfaces/Prolog/tests/expected3_int16,
+	  interfaces/Prolog/tests/expected3_int16_a,
+	  interfaces/Prolog/tests/expected3_int32,
+	  interfaces/Prolog/tests/expected3_int32_a,
+	  interfaces/Prolog/tests/expected3_int64,
+	  interfaces/Prolog/tests/expected3_int64_a,
+	  interfaces/Prolog/tests/expected3_int8,
+	  interfaces/Prolog/tests/expected3_int8_a,
+	  interfaces/Prolog/tests/expected3_mpz,
+	  interfaces/Prolog/tests/expected3_mpz_a,
+	  interfaces/Prolog/tests/expected_clpq2_int16,
+	  interfaces/Prolog/tests/expected_clpq2_int16_a,
+	  interfaces/Prolog/tests/expected_clpq2_int32,
+	  interfaces/Prolog/tests/expected_clpq2_int32_a,
+	  interfaces/Prolog/tests/expected_clpq2_int64,
+	  interfaces/Prolog/tests/expected_clpq2_int64_a,
+	  interfaces/Prolog/tests/expected_clpq2_int8,
+	  interfaces/Prolog/tests/expected_clpq2_int8_a,
+	  interfaces/Prolog/tests/expected_clpq2_mpz,
+	  interfaces/Prolog/tests/expected_clpq2_mpz_a,
+	  interfaces/Prolog/tests/expected_clpq_int16,
+	  interfaces/Prolog/tests/expected_clpq_int16_a,
+	  interfaces/Prolog/tests/expected_clpq_int32,
+	  interfaces/Prolog/tests/expected_clpq_int32_a,
+	  interfaces/Prolog/tests/expected_clpq_int64,
+	  interfaces/Prolog/tests/expected_clpq_int64_a,
+	  interfaces/Prolog/tests/expected_clpq_int8,
+	  interfaces/Prolog/tests/expected_clpq_int8_a,
+	  interfaces/Prolog/tests/expected_clpq_mpz,
+	  interfaces/Prolog/tests/expected_clpq_mpz_a,
+	  interfaces/Prolog/tests/expected_int16,
+	  interfaces/Prolog/tests/expected_int16_a,
+	  interfaces/Prolog/tests/expected_int32,
+	  interfaces/Prolog/tests/expected_int32_a,
+	  interfaces/Prolog/tests/expected_int64,
+	  interfaces/Prolog/tests/expected_int64_a,
+	  interfaces/Prolog/tests/expected_int8,
+	  interfaces/Prolog/tests/expected_int8_a,
+	  interfaces/Prolog/tests/expected_mpz,
+	  interfaces/Prolog/tests/expected_mpz_a,
+	  interfaces/Prolog/tests/expected_pchk_int16,
+	  interfaces/Prolog/tests/expected_pchk_int16_a,
+	  interfaces/Prolog/tests/expected_pchk_int32,
+	  interfaces/Prolog/tests/expected_pchk_int32_a,
+	  interfaces/Prolog/tests/expected_pchk_int64,
+	  interfaces/Prolog/tests/expected_pchk_int64_a,
+	  interfaces/Prolog/tests/expected_pchk_int8,
+	  interfaces/Prolog/tests/expected_pchk_int8_a,
+	  interfaces/Prolog/tests/expected_pchk_mpz,
+	  interfaces/Prolog/tests/expected_pchk_mpz_a,
+	  interfaces/Prolog/tests/pl_check.pl,
+	  interfaces/Prolog/tests/pl_grid_check.pl,
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4,
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_extra_code,
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4,
+	  interfaces/Prolog/tests/script_clpq,
+	  interfaces/Prolog/tests/script_clpq2,
+	  interfaces/Prolog/tests/script_clpq2_int8, m4/Makefile.am,
+	  m4/ac_check_fpu_control.m4, m4/ac_check_gmp.m4,
+	  m4/ac_check_sicstus_prolog.m4, m4/ac_check_swi_prolog.m4,
+	  m4/ac_check_xsb_prolog.m4, m4/ac_cxx_attribute_weak.m4,
+	  m4/ac_cxx_double_binary_format.m4,
+	  m4/ac_cxx_double_is_iec_559.m4, m4/ac_cxx_flexible_arrays.m4,
+	  m4/ac_cxx_float_binary_format.m4, m4/ac_cxx_float_is_iec_559.m4,
+	  m4/ac_cxx_long_double.m4, m4/ac_cxx_long_double_binary_format.m4,
+	  m4/ac_cxx_long_double_is_iec_559.m4, m4/ac_cxx_long_long.m4,
+	  m4/ac_text_md5sum.m4, m4/lib-ld.m4, m4/lib-link.m4,
+	  m4/lib-prefix.m4, m4/ppl.m4, src/.cvsignore,
+	  src/Any_Pointset.defs.hh, src/Any_Pointset.inlines.hh,
+	  src/Any_Pointset.types.hh, src/Ask_Tell.defs.hh,
+	  src/Ask_Tell.inlines.hh, src/Ask_Tell.templates.hh,
+	  src/Ask_Tell.types.hh, src/BDS_Status.idefs.hh,
+	  src/BDS_Status.inlines.hh, src/BD_Shape.cc, src/BD_Shape.defs.hh,
+	  src/BD_Shape.inlines.hh, src/BD_Shape.templates.hh,
+	  src/BD_Shape.types.hh, src/BHRZ03_Certificate.cc,
+	  src/BHRZ03_Certificate.defs.hh,
+	  src/BHRZ03_Certificate.inlines.hh,
+	  src/BHRZ03_Certificate.types.hh, src/Bounding_Box.cc,
+	  src/Bounding_Box.defs.hh, src/Bounding_Box.inlines.hh,
+	  src/Bounding_Box.types.hh, src/C_Polyhedron.cc,
+	  src/C_Polyhedron.defs.hh, src/C_Polyhedron.inlines.hh,
+	  src/C_Polyhedron.types.hh, src/Checked_Number.cc,
+	  src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
+	  src/Checked_Number.types.hh, src/Coefficient.cc,
+	  src/Coefficient.defs.hh, src/Coefficient.inlines.hh,
+	  src/Coefficient.types.hh, src/Coefficient_traits_template.hh,
+	  src/Congruence.cc, src/Congruence.defs.hh,
+	  src/Congruence.inlines.hh, src/Congruence.types.hh,
+	  src/Congruence_System.cc, src/Congruence_System.defs.hh,
+	  src/Congruence_System.inlines.hh, src/Congruence_System.types.hh,
+	  src/Constraint.cc, src/Constraint.defs.hh,
+	  src/Constraint.inlines.hh, src/Constraint.types.hh,
+	  src/Constraint_System.cc, src/Constraint_System.defs.hh,
+	  src/Constraint_System.inlines.hh, src/Constraint_System.types.hh,
+	  src/DB_Matrix.defs.hh, src/DB_Matrix.inlines.hh,
+	  src/DB_Matrix.templates.hh, src/DB_Matrix.types.hh,
+	  src/DB_Row.defs.hh, src/DB_Row.inlines.hh,
+	  src/DB_Row.templates.hh, src/DB_Row.types.hh,
+	  src/Determinate.defs.hh, src/Determinate.inlines.hh,
+	  src/Determinate.types.hh, src/Direct_Product.defs.hh,
+	  src/Direct_Product.inlines.hh, src/Direct_Product.templates.hh,
+	  src/Direct_Product.types.hh, src/E_NIT.defs.hh,
+	  src/E_NIT.inlines.hh, src/E_NIT.types.hh, src/E_Rational.defs.hh,
+	  src/E_Rational.inlines.hh, src/E_Rational.types.hh,
+	  src/Extended_Number.defs.hh, src/Extended_Number.inlines.hh,
+	  src/Extended_Number.types.hh, src/Float.cc, src/Float.defs.hh,
+	  src/Float.inlines.hh, src/GMP_Integer.defs.hh,
+	  src/GMP_Integer.inlines.hh, src/GMP_Integer.types.hh,
+	  src/Generator.cc, src/Generator.defs.hh,
+	  src/Generator.inlines.hh, src/Generator.types.hh,
+	  src/Generator_System.cc, src/Generator_System.defs.hh,
+	  src/Generator_System.inlines.hh, src/Generator_System.types.hh,
+	  src/Grid.defs.hh, src/Grid.inlines.hh, src/Grid.templates.hh,
+	  src/Grid.types.hh, src/Grid_Certificate.cc,
+	  src/Grid_Certificate.defs.hh, src/Grid_Certificate.inlines.hh,
+	  src/Grid_Certificate.types.hh, src/Grid_Generator.cc,
+	  src/Grid_Generator.defs.hh, src/Grid_Generator.inlines.hh,
+	  src/Grid_Generator.types.hh, src/Grid_Generator_System.cc,
+	  src/Grid_Generator_System.defs.hh,
+	  src/Grid_Generator_System.inlines.hh,
+	  src/Grid_Generator_System.types.hh, src/Grid_Status.cc,
+	  src/Grid_Status.idefs.hh, src/Grid_Status.inlines.hh,
+	  src/Grid_chdims.cc, src/Grid_conversion.cc,
+	  src/Grid_nonpublic.cc, src/Grid_public.cc, src/Grid_simplify.cc,
+	  src/Grid_widenings.cc, src/H79_Certificate.cc,
+	  src/H79_Certificate.defs.hh, src/H79_Certificate.inlines.hh,
+	  src/H79_Certificate.types.hh, src/Init.cc, src/Init.defs.hh,
+	  src/Init.types.hh, src/Interval.cc, src/Interval.defs.hh,
+	  src/Interval.inlines.hh, src/Interval.types.hh, src/Limits.hh,
+	  src/Linear_Expression.cc, src/Linear_Expression.defs.hh,
+	  src/Linear_Expression.inlines.hh, src/Linear_Expression.types.hh,
+	  src/Linear_Row.cc, src/Linear_Row.defs.hh,
+	  src/Linear_Row.inlines.hh, src/Linear_Row.types.hh,
+	  src/Linear_System.cc, src/Linear_System.defs.hh,
+	  src/Linear_System.inlines.hh, src/Linear_System.types.hh,
+	  src/MIP_Problem.cc, src/MIP_Problem.defs.hh,
+	  src/MIP_Problem.inlines.hh, src/MIP_Problem.templates.hh,
+	  src/MIP_Problem.types.hh, src/Makefile.am, src/Matrix.cc,
+	  src/Matrix.defs.hh, src/Matrix.inlines.hh, src/Matrix.types.hh,
+	  src/NNC_Polyhedron.cc, src/NNC_Polyhedron.defs.hh,
+	  src/NNC_Polyhedron.inlines.hh, src/NNC_Polyhedron.types.hh,
+	  src/Native_Integer.defs.hh, src/Native_Integer.inlines.hh,
+	  src/Native_Integer.types.hh, src/Numeric_Format.defs.hh,
+	  src/OR_Matrix.defs.hh, src/OR_Matrix.inlines.hh,
+	  src/OR_Matrix.templates.hh, src/OR_Matrix.types.hh,
+	  src/Octagonal_Shape.cc, src/Octagonal_Shape.defs.hh,
+	  src/Octagonal_Shape.inlines.hh, src/Octagonal_Shape.templates.hh,
+	  src/Octagonal_Shape.types.hh, src/Og_Status.idefs.hh,
+	  src/Og_Status.inlines.hh, src/Ph_Status.cc,
+	  src/Ph_Status.idefs.hh, src/Ph_Status.inlines.hh,
+	  src/Pointset_Ask_Tell.cc, src/Pointset_Ask_Tell.defs.hh,
+	  src/Pointset_Ask_Tell.inlines.hh,
+	  src/Pointset_Ask_Tell.templates.hh,
+	  src/Pointset_Ask_Tell.types.hh, src/Pointset_Powerset.cc,
+	  src/Pointset_Powerset.defs.hh, src/Pointset_Powerset.inlines.hh,
+	  src/Pointset_Powerset.templates.hh,
+	  src/Pointset_Powerset.types.hh, src/Poly_Con_Relation.cc,
+	  src/Poly_Con_Relation.defs.hh, src/Poly_Con_Relation.inlines.hh,
+	  src/Poly_Con_Relation.types.hh, src/Poly_Gen_Relation.cc,
+	  src/Poly_Gen_Relation.defs.hh, src/Poly_Gen_Relation.inlines.hh,
+	  src/Poly_Gen_Relation.types.hh, src/Polyhedra_Powerset.defs.hh,
+	  src/Polyhedra_Powerset.inlines.hh,
+	  src/Polyhedra_Powerset.types.hh, src/Polyhedron.defs.hh,
+	  src/Polyhedron.inlines.hh, src/Polyhedron.templates.hh,
+	  src/Polyhedron.types.hh, src/Polyhedron_chdims.cc,
+	  src/Polyhedron_nonpublic.cc, src/Polyhedron_public.cc,
+	  src/Polyhedron_widenings.cc, src/Powerset.defs.hh,
+	  src/Powerset.inlines.hh, src/Powerset.templates.hh,
+	  src/Powerset.types.hh, src/Ptr_Iterator.defs.hh,
+	  src/Ptr_Iterator.inlines.hh, src/Ptr_Iterator.types.hh,
+	  src/Result.defs.hh, src/Result.inlines.hh, src/Rounding.defs.hh,
+	  src/Rounding.inlines.hh, src/Rounding.types.hh,
+	  src/Rounding_Dir.defs.hh, src/Rounding_Dir.inlines.hh,
+	  src/Row.cc, src/Row.defs.hh, src/Row.inlines.hh,
+	  src/Row.types.hh, src/Saturation_Matrix.cc,
+	  src/Saturation_Matrix.defs.hh, src/Saturation_Matrix.inlines.hh,
+	  src/Saturation_Matrix.types.hh, src/Saturation_Row.cc,
+	  src/Saturation_Row.defs.hh, src/Saturation_Row.inlines.hh,
+	  src/Saturation_Row.types.hh, src/Scalar_Products.cc,
+	  src/Scalar_Products.defs.hh, src/Scalar_Products.inlines.hh,
+	  src/Scalar_Products.types.hh, src/Topology.hh, src/Variable.cc,
+	  src/Variable.defs.hh, src/Variable.inlines.hh,
+	  src/Variable.types.hh, src/Variables_Set.cc,
+	  src/Variables_Set.defs.hh, src/Variables_Set.inlines.hh,
+	  src/Variables_Set.types.hh, src/Widening_Function.defs.hh,
+	  src/Widening_Function.inlines.hh, src/Widening_Function.types.hh,
+	  src/algorithms.hh, src/checked.cc, src/checked.defs.hh,
+	  src/checked.inlines.hh, src/checked_ext.defs.hh,
+	  src/checked_ext.inlines.hh, src/checked_float.inlines.hh,
+	  src/checked_int.inlines.hh, src/checked_mpq.inlines.hh,
+	  src/checked_mpz.inlines.hh, src/checked_numeric_limits.hh,
+	  src/compiler.hh, src/conversion.cc, src/distances.defs.hh,
+	  src/distances.inlines.hh, src/distances.types.hh,
+	  src/float.types.hh, src/fpu-c99.inlines.hh,
+	  src/fpu-ia32.inlines.hh, src/fpu-none.inlines.hh,
+	  src/fpu-sparc.inlines.hh, src/fpu.defs.hh, src/fpu.types.hh,
+	  src/globals.cc, src/globals.defs.hh, src/globals.inlines.hh,
+	  src/globals.types.hh, src/initializer.hh,
+	  src/iterator_to_const.defs.hh, src/iterator_to_const.inlines.hh,
+	  src/iterator_to_const.types.hh, src/max_space_dimension.hh,
+	  src/minimize.cc, src/mp_numeric_limits.hh, src/namespaces.hh,
+	  src/ppl-config.cc.in, src/ppl_header.bottom, src/ppl_header.hh,
+	  src/ppl_header.middle, src/ppl_header.top, src/simplify.cc,
+	  src/swapping_sort.icc, src/version.cc, src/version.hh.in,
+	  tests/BBox.cc, tests/BBox.hh, tests/FCAIBVP.cc,
+	  tests/FCAIBVP.defs.hh, tests/FCAIBVP.inlines.hh,
+	  tests/FCAIBVP.types.hh, tests/Makefile.am, tests/PFunction.cc,
+	  tests/PFunction.hh, tests/Partial_Function.cc,
+	  tests/Partial_Function.defs.hh,
+	  tests/Partial_Function.inlines.hh,
+	  tests/Partial_Function.types.hh,
+	  tests/Random_Number_Generator.defs.hh,
+	  tests/Random_Number_Generator.inlines.hh,
+	  tests/Random_Number_Generator.types.hh, tests/ehandlers.cc,
+	  tests/ehandlers.hh, tests/files.cc, tests/files.hh,
+	  tests/ppl_test.cc, tests/ppl_test.hh, tests/print.cc,
+	  tests/print.hh, tests/Ask_Tell/.cvsignore,
+	  tests/Ask_Tell/Makefile.am, tests/Ask_Tell/append1.cc,
+	  tests/BD_Shape/.cvsignore, tests/BD_Shape/Makefile.am,
+	  tests/BD_Shape/addconstraints1.cc,
+	  tests/BD_Shape/addspacedims1.cc, tests/BD_Shape/addspacedims2.cc,
+	  tests/BD_Shape/addspacedims3.cc, tests/BD_Shape/addspacedims4.cc,
+	  tests/BD_Shape/addspacedims5.cc, tests/BD_Shape/addspacedims6.cc,
+	  tests/BD_Shape/addspacedims7.cc,
+	  tests/BD_Shape/affinedimension1.cc,
+	  tests/BD_Shape/affineimage1.cc, tests/BD_Shape/affineimage2.cc,
+	  tests/BD_Shape/affineimage3.cc, tests/BD_Shape/affineimage4.cc,
+	  tests/BD_Shape/affineimage5.cc, tests/BD_Shape/affineimage6.cc,
+	  tests/BD_Shape/affineimage7.cc,
+	  tests/BD_Shape/affinepreimage1.cc,
+	  tests/BD_Shape/affinepreimage2.cc,
+	  tests/BD_Shape/affinepreimage3.cc,
+	  tests/BD_Shape/affinepreimage4.cc,
+	  tests/BD_Shape/ascii_dump_load1.cc,
+	  tests/BD_Shape/ascii_dump_load2.cc,
+	  tests/BD_Shape/bdsdifference1.cc, tests/BD_Shape/bdshull1.cc,
+	  tests/BD_Shape/bgp99extrapolation1.cc,
+	  tests/BD_Shape/bhmz05widening1.cc,
+	  tests/BD_Shape/bhz03widening1.cc, tests/BD_Shape/bounded1.cc,
+	  tests/BD_Shape/boundedaffineimage1.cc,
+	  tests/BD_Shape/cc76extrapolation1.cc,
+	  tests/BD_Shape/cc76extrapolation2.cc,
+	  tests/BD_Shape/cc76extrapolation3.cc,
+	  tests/BD_Shape/cc76extrapolation4.cc,
+	  tests/BD_Shape/cc76extrapolation5.cc,
+	  tests/BD_Shape/cc76extrapolation6.cc,
+	  tests/BD_Shape/cc76narrowing1.cc,
+	  tests/BD_Shape/cc76narrowing2.cc,
+	  tests/BD_Shape/cc76narrowing3.cc,
+	  tests/BD_Shape/cc76narrowing4.cc,
+	  tests/BD_Shape/cc76narrowing5.cc,
+	  tests/BD_Shape/ch78widening1.cc, tests/BD_Shape/ch78widening2.cc,
+	  tests/BD_Shape/ch78widening3.cc, tests/BD_Shape/ch78widening4.cc,
+	  tests/BD_Shape/ch78widening5.cc, tests/BD_Shape/ch78widening6.cc,
+	  tests/BD_Shape/ch78widening7.cc, tests/BD_Shape/ch78widening8.cc,
+	  tests/BD_Shape/closure1.cc, tests/BD_Shape/concatenate1.cc,
+	  tests/BD_Shape/concatenate2.cc, tests/BD_Shape/concatenate3.cc,
+	  tests/BD_Shape/concatenate4.cc, tests/BD_Shape/concatenate5.cc,
+	  tests/BD_Shape/constraints1.cc, tests/BD_Shape/constraints2.cc,
+	  tests/BD_Shape/contains1.cc, tests/BD_Shape/contains2.cc,
+	  tests/BD_Shape/contains3.cc,
+	  tests/BD_Shape/containsintegerpoint1.cc,
+	  tests/BD_Shape/discrete1.cc, tests/BD_Shape/disjoint1.cc,
+	  tests/BD_Shape/empty1.cc, tests/BD_Shape/empty2.cc,
+	  tests/BD_Shape/empty3.cc, tests/BD_Shape/empty4.cc,
+	  tests/BD_Shape/equality1.cc, tests/BD_Shape/exceptions1.cc,
+	  tests/BD_Shape/exceptions2.cc, tests/BD_Shape/exceptions3.cc,
+	  tests/BD_Shape/expandspacedim1.cc,
+	  tests/BD_Shape/foldspacedims1.cc, tests/BD_Shape/fromgensys1.cc,
+	  tests/BD_Shape/frompolyhedron1.cc,
+	  tests/BD_Shape/generalizedaffineimage1.cc,
+	  tests/BD_Shape/generalizedaffineimage10.cc,
+	  tests/BD_Shape/generalizedaffineimage11.cc,
+	  tests/BD_Shape/generalizedaffineimage12.cc,
+	  tests/BD_Shape/generalizedaffineimage2.cc,
+	  tests/BD_Shape/generalizedaffineimage3.cc,
+	  tests/BD_Shape/generalizedaffineimage4.cc,
+	  tests/BD_Shape/generalizedaffineimage5.cc,
+	  tests/BD_Shape/generalizedaffineimage6.cc,
+	  tests/BD_Shape/generalizedaffineimage7.cc,
+	  tests/BD_Shape/generalizedaffineimage8.cc,
+	  tests/BD_Shape/generalizedaffineimage9.cc,
+	  tests/BD_Shape/generalizedaffinepreimage1.cc,
+	  tests/BD_Shape/generalizedaffinepreimage2.cc,
+	  tests/BD_Shape/generalizedaffinepreimage3.cc,
+	  tests/BD_Shape/geomcovers1.cc, tests/BD_Shape/h79widening1.cc,
+	  tests/BD_Shape/intersection1.cc, tests/BD_Shape/intersection2.cc,
+	  tests/BD_Shape/intersection3.cc, tests/BD_Shape/intersection4.cc,
+	  tests/BD_Shape/intersection5.cc, tests/BD_Shape/intersection6.cc,
+	  tests/BD_Shape/intersection7.cc, tests/BD_Shape/intersection8.cc,
+	  tests/BD_Shape/limitedCC76extrapolation1.cc,
+	  tests/BD_Shape/limitedCC76extrapolation2.cc,
+	  tests/BD_Shape/limitedCC76extrapolation3.cc,
+	  tests/BD_Shape/limitedCH78extrapolation1.cc,
+	  tests/BD_Shape/limitedCH78extrapolation2.cc,
+	  tests/BD_Shape/limitedCH78extrapolation3.cc,
+	  tests/BD_Shape/limitedCH78extrapolation4.cc,
+	  tests/BD_Shape/limitedCH78extrapolation5.cc,
+	  tests/BD_Shape/limitedCH78extrapolation6.cc,
+	  tests/BD_Shape/limitedCH78extrapolation7.cc,
+	  tests/BD_Shape/limitedCH78extrapolation8.cc,
+	  tests/BD_Shape/limitedCH78extrapolation9.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation1.cc,
+	  tests/BD_Shape/limitedcc76extrapolation1.cc,
+	  tests/BD_Shape/limitedh79extrapolation1.cc,
+	  tests/BD_Shape/mapspacedims1.cc, tests/BD_Shape/mapspacedims2.cc,
+	  tests/BD_Shape/mapspacedims3.cc, tests/BD_Shape/mapspacedims4.cc,
+	  tests/BD_Shape/maxspacedim.cc, tests/BD_Shape/membytes1.cc,
+	  tests/BD_Shape/minconstraints1.cc,
+	  tests/BD_Shape/polydifference1.cc,
+	  tests/BD_Shape/polydifference2.cc,
+	  tests/BD_Shape/polydifference3.cc,
+	  tests/BD_Shape/polydifference4.cc,
+	  tests/BD_Shape/polydifference5.cc,
+	  tests/BD_Shape/polydifference6.cc, tests/BD_Shape/polyhull1.cc,
+	  tests/BD_Shape/polyhull2.cc, tests/BD_Shape/polyhull3.cc,
+	  tests/BD_Shape/polyhull4.cc, tests/BD_Shape/relations1.cc,
+	  tests/BD_Shape/relations2.cc, tests/BD_Shape/relations3.cc,
+	  tests/BD_Shape/relations4.cc, tests/BD_Shape/relations5.cc,
+	  tests/BD_Shape/removespacedims1.cc,
+	  tests/BD_Shape/removespacedims2.cc,
+	  tests/BD_Shape/removespacedims3.cc, tests/BD_Shape/run_tests,
+	  tests/BD_Shape/timeelapse1.cc, tests/BD_Shape/timeelapse2.cc,
+	  tests/BD_Shape/timeelapse3.cc, tests/BD_Shape/timeelapse4.cc,
+	  tests/BD_Shape/timeelapse5.cc, tests/BD_Shape/universe1.cc,
+	  tests/BD_Shape/writebdiffs1.cc, tests/BD_Shape/writebdiffs2.cc,
+	  tests/BD_Shape/writebdshape1.cc, tests/Grid/.cvsignore,
+	  tests/Grid/Makefile.am, tests/Grid/addcongruence1.cc,
+	  tests/Grid/addcongruences1.cc, tests/Grid/addconstraint1.cc,
+	  tests/Grid/addconstraints1.cc, tests/Grid/addgenerator1.cc,
+	  tests/Grid/addgenerators1.cc, tests/Grid/addspacedims1.cc,
+	  tests/Grid/affinedim1.cc, tests/Grid/affineimage1.cc,
+	  tests/Grid/affineimage2.cc, tests/Grid/affinepreimage1.cc,
+	  tests/Grid/affinepreimage2.cc, tests/Grid/asciidumpload1.cc,
+	  tests/Grid/asciidumpload2.cc, tests/Grid/asciidumpload3.cc,
+	  tests/Grid/asciidumpload4.cc, tests/Grid/asciidumpload5.cc,
+	  tests/Grid/asciidumpload6.cc, tests/Grid/asciidumpload7.cc,
+	  tests/Grid/bhz03widening1.cc, tests/Grid/bounded1.cc,
+	  tests/Grid/boundedaffineimage1.cc,
+	  tests/Grid/boundedaffinepreimage1.cc, tests/Grid/boundingbox1.cc,
+	  tests/Grid/boundingbox2.cc, tests/Grid/bounds1.cc,
+	  tests/Grid/certificate1.cc, tests/Grid/concatenate1.cc,
+	  tests/Grid/congruence1.cc, tests/Grid/congruences1.cc,
+	  tests/Grid/congruences2.cc, tests/Grid/contains1.cc,
+	  tests/Grid/containsintegerpoint1.cc,
+	  tests/Grid/copyconstruct1.cc, tests/Grid/coveringbox1.cc,
+	  tests/Grid/coveringbox2.cc, tests/Grid/directproduct1.cc,
+	  tests/Grid/directproduct2.cc, tests/Grid/discrete1.cc,
+	  tests/Grid/disjoint1.cc, tests/Grid/equals1.cc,
+	  tests/Grid/expandspacedim1.cc, tests/Grid/foldspacedims1.cc,
+	  tests/Grid/generalizedaffineimage1.cc,
+	  tests/Grid/generalizedaffineimage2.cc,
+	  tests/Grid/generalizedaffineimage3.cc,
+	  tests/Grid/generalizedaffinepreimage1.cc,
+	  tests/Grid/generalizedaffinepreimage2.cc,
+	  tests/Grid/generalizedaffinepreimage3.cc,
+	  tests/Grid/generator1.cc, tests/Grid/generators1.cc,
+	  tests/Grid/generators2.cc, tests/Grid/grid1.cc,
+	  tests/Grid/grid2.cc, tests/Grid/grid3.cc,
+	  tests/Grid/griddifference1.cc, tests/Grid/intersection1.cc,
+	  tests/Grid/isempty1.cc, tests/Grid/isuniverse1.cc,
+	  tests/Grid/join1.cc, tests/Grid/join2.cc,
+	  tests/Grid/limitedextrapolation1.cc,
+	  tests/Grid/limitedextrapolation2.cc,
+	  tests/Grid/limitedextrapolation3.cc, tests/Grid/mapspacedims1.cc,
+	  tests/Grid/maxmin1.cc, tests/Grid/membytes1.cc,
+	  tests/Grid/mincongruences1.cc, tests/Grid/mingenerators1.cc,
+	  tests/Grid/outputoperator1.cc, tests/Grid/outputoperator2.cc,
+	  tests/Grid/outputoperator3.cc, tests/Grid/partition1.cc,
+	  tests/Grid/relations1.cc, tests/Grid/relations2.cc,
+	  tests/Grid/relations3.cc, tests/Grid/removespacedims1.cc,
+	  tests/Grid/removespacedims2.cc, tests/Grid/timeelapse1.cc,
+	  tests/Grid/topclosed1.cc, tests/Grid/topclosure1.cc,
+	  tests/Grid/widening1.cc, tests/Grid/widening2.cc,
+	  tests/Grid/widening3.cc, tests/Grid/writecongruencesystem.cc,
+	  tests/MIP_Problem/.cvsignore, tests/MIP_Problem/Makefile.am,
+	  tests/MIP_Problem/ascii_dump_load1.cc,
+	  tests/MIP_Problem/exceptions1.cc,
+	  tests/MIP_Problem/mipproblem1.cc,
+	  tests/Octagonal_Shape/.cvsignore,
+	  tests/Octagonal_Shape/Makefile.am,
+	  tests/Octagonal_Shape/addspacedims1.cc,
+	  tests/Octagonal_Shape/affinedimension1.cc,
+	  tests/Octagonal_Shape/affineimage1.cc,
+	  tests/Octagonal_Shape/affineimage2.cc,
+	  tests/Octagonal_Shape/affinepreimage1.cc,
+	  tests/Octagonal_Shape/affinepreimage2.cc,
+	  tests/Octagonal_Shape/ascii_dump_load1.cc,
+	  tests/Octagonal_Shape/bhmz05widening1.cc,
+	  tests/Octagonal_Shape/bhz03widening1.cc,
+	  tests/Octagonal_Shape/bounded1.cc,
+	  tests/Octagonal_Shape/boundedaffineimage1.cc,
+	  tests/Octagonal_Shape/boundedaffinepreimage1.cc,
+	  tests/Octagonal_Shape/cc76extrapolation1.cc,
+	  tests/Octagonal_Shape/cc76narrowing1.cc,
+	  tests/Octagonal_Shape/chinainit.cc,
+	  tests/Octagonal_Shape/concatenate1.cc,
+	  tests/Octagonal_Shape/constraints1.cc,
+	  tests/Octagonal_Shape/contains1.cc,
+	  tests/Octagonal_Shape/containsintegerpoint1.cc,
+	  tests/Octagonal_Shape/discrete1.cc,
+	  tests/Octagonal_Shape/disjoint1.cc,
+	  tests/Octagonal_Shape/empty1.cc,
+	  tests/Octagonal_Shape/expandspacedim1.cc,
+	  tests/Octagonal_Shape/fromgensys1.cc,
+	  tests/Octagonal_Shape/frompolyhedron1.cc,
+	  tests/Octagonal_Shape/generalizedaffineimage1.cc,
+	  tests/Octagonal_Shape/generalizedaffineimage2.cc,
+	  tests/Octagonal_Shape/generalizedaffineimage3.cc,
+	  tests/Octagonal_Shape/generalizedaffineimage4.cc,
+	  tests/Octagonal_Shape/generalizedaffineimage5.cc,
+	  tests/Octagonal_Shape/generalizedaffinepreimage1.cc,
+	  tests/Octagonal_Shape/generalizedaffinepreimage2.cc,
+	  tests/Octagonal_Shape/generalizedaffinepreimage3.cc,
+	  tests/Octagonal_Shape/generalizedaffinepreimage4.cc,
+	  tests/Octagonal_Shape/intersection1.cc,
+	  tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc,
+	  tests/Octagonal_Shape/limitedcc76extrapolation1.cc,
+	  tests/Octagonal_Shape/mapspacedims1.cc,
+	  tests/Octagonal_Shape/maxspacedim.cc,
+	  tests/Octagonal_Shape/membytes1.cc,
+	  tests/Octagonal_Shape/minconstraints1.cc,
+	  tests/Octagonal_Shape/octdifference1.cc,
+	  tests/Octagonal_Shape/octhull1.cc,
+	  tests/Octagonal_Shape/relatwithcons1.cc,
+	  tests/Octagonal_Shape/relatwithcons2.cc,
+	  tests/Octagonal_Shape/relatwithgen1.cc,
+	  tests/Octagonal_Shape/removespacedims1.cc,
+	  tests/Octagonal_Shape/run_tests,
+	  tests/Octagonal_Shape/timeelapse1.cc,
+	  tests/Octagonal_Shape/universe1.cc,
+	  tests/Octagonal_Shape/writeoctagon1.cc,
+	  tests/Polyhedron/.cvsignore, tests/Polyhedron/CbecomesNNC1.cc,
+	  tests/Polyhedron/Makefile.am, tests/Polyhedron/NNCbecomesC1.cc,
+	  tests/Polyhedron/NNCminimize1.cc,
+	  tests/Polyhedron/NNCminimize2.cc,
+	  tests/Polyhedron/NNCminimize3.cc,
+	  tests/Polyhedron/NNCminimize4.cc,
+	  tests/Polyhedron/NNCminimize5.cc,
+	  tests/Polyhedron/NNCminimize6.cc, tests/Polyhedron/README,
+	  tests/Polyhedron/addcongruence1.cc,
+	  tests/Polyhedron/addcongruences1.cc,
+	  tests/Polyhedron/addconstraint1.cc,
+	  tests/Polyhedron/addconstraint2.cc,
+	  tests/Polyhedron/addconstraint3.cc,
+	  tests/Polyhedron/addconstraints1.cc,
+	  tests/Polyhedron/addconstraints10.cc,
+	  tests/Polyhedron/addconstraints11.cc,
+	  tests/Polyhedron/addconstraints12.cc,
+	  tests/Polyhedron/addconstraints13.cc,
+	  tests/Polyhedron/addconstraints2.cc,
+	  tests/Polyhedron/addconstraints3.cc,
+	  tests/Polyhedron/addconstraints4.cc,
+	  tests/Polyhedron/addconstraints5.cc,
+	  tests/Polyhedron/addconstraints6.cc,
+	  tests/Polyhedron/addconstraints7.cc,
+	  tests/Polyhedron/addconstraints8.cc,
+	  tests/Polyhedron/addconstraints9.cc,
+	  tests/Polyhedron/addgenerator1.cc,
+	  tests/Polyhedron/addgenerator2.cc,
+	  tests/Polyhedron/addgenerator3.cc,
+	  tests/Polyhedron/addgenerator4.cc,
+	  tests/Polyhedron/addgenerator5.cc,
+	  tests/Polyhedron/addgenerators1.cc,
+	  tests/Polyhedron/addgenerators10.cc,
+	  tests/Polyhedron/addgenerators11.cc,
+	  tests/Polyhedron/addgenerators12.cc,
+	  tests/Polyhedron/addgenerators13.cc,
+	  tests/Polyhedron/addgenerators2.cc,
+	  tests/Polyhedron/addgenerators3.cc,
+	  tests/Polyhedron/addgenerators4.cc,
+	  tests/Polyhedron/addgenerators5.cc,
+	  tests/Polyhedron/addgenerators6.cc,
+	  tests/Polyhedron/addgenerators7.cc,
+	  tests/Polyhedron/addgenerators8.cc,
+	  tests/Polyhedron/addgenerators9.cc,
+	  tests/Polyhedron/addspacedims1.cc,
+	  tests/Polyhedron/addspacedims10.cc,
+	  tests/Polyhedron/addspacedims11.cc,
+	  tests/Polyhedron/addspacedims12.cc,
+	  tests/Polyhedron/addspacedims13.cc,
+	  tests/Polyhedron/addspacedims2.cc,
+	  tests/Polyhedron/addspacedims3.cc,
+	  tests/Polyhedron/addspacedims4.cc,
+	  tests/Polyhedron/addspacedims5.cc,
+	  tests/Polyhedron/addspacedims6.cc,
+	  tests/Polyhedron/addspacedims7.cc,
+	  tests/Polyhedron/addspacedims8.cc,
+	  tests/Polyhedron/addspacedims9.cc,
+	  tests/Polyhedron/affineimage1.cc,
+	  tests/Polyhedron/affineimage2.cc,
+	  tests/Polyhedron/affineimage3.cc,
+	  tests/Polyhedron/affineimage4.cc,
+	  tests/Polyhedron/affineimage5.cc,
+	  tests/Polyhedron/affineimage6.cc,
+	  tests/Polyhedron/affineimage7.cc,
+	  tests/Polyhedron/affineimage8.cc,
+	  tests/Polyhedron/affineimage9.cc,
+	  tests/Polyhedron/affinepreimage1.cc,
+	  tests/Polyhedron/affinepreimage10.cc,
+	  tests/Polyhedron/affinepreimage2.cc,
+	  tests/Polyhedron/affinepreimage3.cc,
+	  tests/Polyhedron/affinepreimage4.cc,
+	  tests/Polyhedron/affinepreimage5.cc,
+	  tests/Polyhedron/affinepreimage6.cc,
+	  tests/Polyhedron/affinepreimage7.cc,
+	  tests/Polyhedron/affinepreimage8.cc,
+	  tests/Polyhedron/affinepreimage9.cc,
+	  tests/Polyhedron/affinetrans.cc, tests/Polyhedron/append1.cc,
+	  tests/Polyhedron/append2.cc,
+	  tests/Polyhedron/ascii_dump_load1.cc,
+	  tests/Polyhedron/ascii_dump_load2.cc,
+	  tests/Polyhedron/ascii_dump_load3.cc,
+	  tests/Polyhedron/ascii_dump_load4.cc,
+	  tests/Polyhedron/ascii_dump_load5.cc,
+	  tests/Polyhedron/ascii_dump_load6.cc,
+	  tests/Polyhedron/ascii_dump_load7.cc,
+	  tests/Polyhedron/bgp99extrapolation1.cc,
+	  tests/Polyhedron/bgp99extrapolation2.cc,
+	  tests/Polyhedron/bhrz03widening1.cc,
+	  tests/Polyhedron/bhrz03widening10.cc,
+	  tests/Polyhedron/bhrz03widening11.cc,
+	  tests/Polyhedron/bhrz03widening12.cc,
+	  tests/Polyhedron/bhrz03widening13.cc,
+	  tests/Polyhedron/bhrz03widening14.cc,
+	  tests/Polyhedron/bhrz03widening15.cc,
+	  tests/Polyhedron/bhrz03widening16.cc,
+	  tests/Polyhedron/bhrz03widening17.cc,
+	  tests/Polyhedron/bhrz03widening18.cc,
+	  tests/Polyhedron/bhrz03widening19.cc,
+	  tests/Polyhedron/bhrz03widening2.cc,
+	  tests/Polyhedron/bhrz03widening3.cc,
+	  tests/Polyhedron/bhrz03widening4.cc,
+	  tests/Polyhedron/bhrz03widening5.cc,
+	  tests/Polyhedron/bhrz03widening6.cc,
+	  tests/Polyhedron/bhrz03widening7.cc,
+	  tests/Polyhedron/bhrz03widening8.cc,
+	  tests/Polyhedron/bhrz03widening9.cc,
+	  tests/Polyhedron/bhz03widening1.cc,
+	  tests/Polyhedron/bhz03widening2.cc,
+	  tests/Polyhedron/bhz03widening3.cc,
+	  tests/Polyhedron/bhz03widening4.cc,
+	  tests/Polyhedron/bhz03widening5.cc,
+	  tests/Polyhedron/bhz03widening6.cc, tests/Polyhedron/bounded1.cc,
+	  tests/Polyhedron/boundedaffineimage1.cc,
+	  tests/Polyhedron/boundedaffinepreimage1.cc,
+	  tests/Polyhedron/boundedbhrz03extrapolation1.cc,
+	  tests/Polyhedron/boundedh79extrapolation1.cc,
+	  tests/Polyhedron/boundingbox1.cc,
+	  tests/Polyhedron/boundingbox2.cc,
+	  tests/Polyhedron/boundingbox3.cc,
+	  tests/Polyhedron/boundingbox4.cc,
+	  tests/Polyhedron/boundingbox5.cc, tests/Polyhedron/bounds1.cc,
+	  tests/Polyhedron/bounds2.cc, tests/Polyhedron/cnncconversion1.cc,
+	  tests/Polyhedron/concatenate1.cc,
+	  tests/Polyhedron/concatenate2.cc,
+	  tests/Polyhedron/concatenate3.cc,
+	  tests/Polyhedron/concatenate4.cc,
+	  tests/Polyhedron/concatenate5.cc,
+	  tests/Polyhedron/concatenate6.cc,
+	  tests/Polyhedron/congruences1.cc,
+	  tests/Polyhedron/constraints1.cc,
+	  tests/Polyhedron/constraints2.cc,
+	  tests/Polyhedron/constraints3.cc,
+	  tests/Polyhedron/constraints4.cc, tests/Polyhedron/contains1.cc,
+	  tests/Polyhedron/contains2.cc, tests/Polyhedron/contains3.cc,
+	  tests/Polyhedron/contains4.cc, tests/Polyhedron/contains5.cc,
+	  tests/Polyhedron/containsintegerpoint1.cc,
+	  tests/Polyhedron/disjoint1.cc, tests/Polyhedron/disjoint2.cc,
+	  tests/Polyhedron/disjoint3.cc,
+	  tests/Polyhedron/dualhypercubes.cc, tests/Polyhedron/empty1.cc,
+	  tests/Polyhedron/equals1.cc, tests/Polyhedron/exceptions1.cc,
+	  tests/Polyhedron/exceptions2.cc, tests/Polyhedron/exceptions3.cc,
+	  tests/Polyhedron/expandspacedim1.cc,
+	  tests/Polyhedron/expandspacedim2.cc,
+	  tests/Polyhedron/foldspacedims1.cc,
+	  tests/Polyhedron/foldspacedims2.cc,
+	  tests/Polyhedron/generalizedaffineimage1.cc,
+	  tests/Polyhedron/generalizedaffineimage10.cc,
+	  tests/Polyhedron/generalizedaffineimage11.cc,
+	  tests/Polyhedron/generalizedaffineimage12.cc,
+	  tests/Polyhedron/generalizedaffineimage2.cc,
+	  tests/Polyhedron/generalizedaffineimage3.cc,
+	  tests/Polyhedron/generalizedaffineimage4.cc,
+	  tests/Polyhedron/generalizedaffineimage5.cc,
+	  tests/Polyhedron/generalizedaffineimage6.cc,
+	  tests/Polyhedron/generalizedaffineimage7.cc,
+	  tests/Polyhedron/generalizedaffineimage8.cc,
+	  tests/Polyhedron/generalizedaffineimage9.cc,
+	  tests/Polyhedron/generalizedaffinepreimage1.cc,
+	  tests/Polyhedron/generalizedaffinepreimage2.cc,
+	  tests/Polyhedron/generators1.cc, tests/Polyhedron/generators2.cc,
+	  tests/Polyhedron/generators3.cc, tests/Polyhedron/generators4.cc,
+	  tests/Polyhedron/generators5.cc, tests/Polyhedron/generators6.cc,
+	  tests/Polyhedron/geomcovers1.cc,
+	  tests/Polyhedron/h79widening1.cc,
+	  tests/Polyhedron/h79widening2.cc,
+	  tests/Polyhedron/h79widening3.cc,
+	  tests/Polyhedron/h79widening4.cc,
+	  tests/Polyhedron/h79widening5.cc,
+	  tests/Polyhedron/h79widening6.cc,
+	  tests/Polyhedron/h79widening7.cc,
+	  tests/Polyhedron/h79widening8.cc,
+	  tests/Polyhedron/intersection1.cc,
+	  tests/Polyhedron/intersection10.cc,
+	  tests/Polyhedron/intersection11.cc,
+	  tests/Polyhedron/intersection2.cc,
+	  tests/Polyhedron/intersection3.cc,
+	  tests/Polyhedron/intersection4.cc,
+	  tests/Polyhedron/intersection5.cc,
+	  tests/Polyhedron/intersection6.cc,
+	  tests/Polyhedron/intersection7.cc,
+	  tests/Polyhedron/intersection8.cc,
+	  tests/Polyhedron/intersection9.cc,
+	  tests/Polyhedron/limitedbhrz03extrapolation1.cc,
+	  tests/Polyhedron/limitedh79extrapolation1.cc,
+	  tests/Polyhedron/limitedh79extrapolation2.cc,
+	  tests/Polyhedron/limitedh79extrapolation3.cc,
+	  tests/Polyhedron/limitedh79extrapolation4.cc,
+	  tests/Polyhedron/linearpartition1.cc,
+	  tests/Polyhedron/linearpartition2.cc,
+	  tests/Polyhedron/linearpartition3.cc,
+	  tests/Polyhedron/linearpartition4.cc,
+	  tests/Polyhedron/linearsystem1.cc,
+	  tests/Polyhedron/linexpression1.cc,
+	  tests/Polyhedron/mapspacedims1.cc,
+	  tests/Polyhedron/mapspacedims2.cc,
+	  tests/Polyhedron/mapspacedims3.cc,
+	  tests/Polyhedron/mapspacedims4.cc, tests/Polyhedron/matrix1.cc,
+	  tests/Polyhedron/max_min1.cc, tests/Polyhedron/max_min2.cc,
+	  tests/Polyhedron/maxspacedim1.cc, tests/Polyhedron/mc91.cc,
+	  tests/Polyhedron/membytes1.cc, tests/Polyhedron/membytes2.cc,
+	  tests/Polyhedron/memory1.cc, tests/Polyhedron/memory2.cc,
+	  tests/Polyhedron/minconstraints1.cc,
+	  tests/Polyhedron/minconstraints2.cc,
+	  tests/Polyhedron/minconstraints3.cc,
+	  tests/Polyhedron/minconstraints4.cc,
+	  tests/Polyhedron/mingenerators1.cc,
+	  tests/Polyhedron/mingenerators2.cc,
+	  tests/Polyhedron/mingenerators3.cc,
+	  tests/Polyhedron/nncminimize1.cc,
+	  tests/Polyhedron/nncminimize2.cc,
+	  tests/Polyhedron/numberinput1.cc, tests/Polyhedron/onepoint.cc,
+	  tests/Polyhedron/permute.cc,
+	  tests/Polyhedron/pointsetpowerset1.cc,
+	  tests/Polyhedron/polydifference1.cc,
+	  tests/Polyhedron/polydifference2.cc,
+	  tests/Polyhedron/polydifference3.cc,
+	  tests/Polyhedron/polydifference4.cc,
+	  tests/Polyhedron/polydifference5.cc,
+	  tests/Polyhedron/polydifference6.cc,
+	  tests/Polyhedron/polydifference7.cc,
+	  tests/Polyhedron/polydifference8.cc,
+	  tests/Polyhedron/polydifference9.cc,
+	  tests/Polyhedron/polyhull1.cc, tests/Polyhedron/polyhull10.cc,
+	  tests/Polyhedron/polyhull11.cc, tests/Polyhedron/polyhull2.cc,
+	  tests/Polyhedron/polyhull3.cc, tests/Polyhedron/polyhull4.cc,
+	  tests/Polyhedron/polyhull5.cc, tests/Polyhedron/polyhull6.cc,
+	  tests/Polyhedron/polyhull7.cc, tests/Polyhedron/polyhull8.cc,
+	  tests/Polyhedron/polyhull9.cc, tests/Polyhedron/powerset1.cc,
+	  tests/Polyhedron/randphull1.cc, tests/Polyhedron/randphull2.cc,
+	  tests/Polyhedron/relations1.cc, tests/Polyhedron/relations10.cc,
+	  tests/Polyhedron/relations11.cc, tests/Polyhedron/relations12.cc,
+	  tests/Polyhedron/relations13.cc, tests/Polyhedron/relations14.cc,
+	  tests/Polyhedron/relations15.cc, tests/Polyhedron/relations16.cc,
+	  tests/Polyhedron/relations17.cc, tests/Polyhedron/relations18.cc,
+	  tests/Polyhedron/relations19.cc, tests/Polyhedron/relations2.cc,
+	  tests/Polyhedron/relations3.cc, tests/Polyhedron/relations4.cc,
+	  tests/Polyhedron/relations5.cc, tests/Polyhedron/relations6.cc,
+	  tests/Polyhedron/relations7.cc, tests/Polyhedron/relations8.cc,
+	  tests/Polyhedron/relations9.cc,
+	  tests/Polyhedron/removespacedims1.cc,
+	  tests/Polyhedron/removespacedims10.cc,
+	  tests/Polyhedron/removespacedims2.cc,
+	  tests/Polyhedron/removespacedims3.cc,
+	  tests/Polyhedron/removespacedims4.cc,
+	  tests/Polyhedron/removespacedims5.cc,
+	  tests/Polyhedron/removespacedims6.cc,
+	  tests/Polyhedron/removespacedims7.cc,
+	  tests/Polyhedron/removespacedims8.cc,
+	  tests/Polyhedron/removespacedims9.cc, tests/Polyhedron/smm1.cc,
+	  tests/Polyhedron/timeelapse1.cc, tests/Polyhedron/timeelapse2.cc,
+	  tests/Polyhedron/timeelapse3.cc, tests/Polyhedron/timeelapse4.cc,
+	  tests/Polyhedron/timeelapse5.cc, tests/Polyhedron/timeelapse6.cc,
+	  tests/Polyhedron/timeelapse7.cc, tests/Polyhedron/timeelapse8.cc,
+	  tests/Polyhedron/timeelapse9.cc, tests/Polyhedron/topclosed1.cc,
+	  tests/Polyhedron/topclosed2.cc, tests/Polyhedron/topclosed3.cc,
+	  tests/Polyhedron/topclosure1.cc, tests/Polyhedron/topclosure2.cc,
+	  tests/Polyhedron/topclosure3.cc, tests/Polyhedron/topclosure4.cc,
+	  tests/Polyhedron/universe1.cc, tests/Polyhedron/universe2.cc,
+	  tests/Polyhedron/universe3.cc, tests/Polyhedron/universe4.cc,
+	  tests/Polyhedron/universe5.cc, tests/Polyhedron/universe6.cc,
+	  tests/Polyhedron/universe7.cc,
+	  tests/Polyhedron/valgrind_suppressions,
+	  tests/Polyhedron/variablesset1.cc, tests/Polyhedron/watchdog1.cc,
+	  tests/Polyhedron/writeconsys1.cc,
+	  tests/Polyhedron/writegensys1.cc,
+	  tests/Polyhedron/writegensys2.cc,
+	  tests/Polyhedron/writegensys3.cc,
+	  tests/Polyhedron/writepolyhedron1.cc,
+	  tests/Polyhedron/writepolyhedron2.cc,
+	  tests/Polyhedron/writepolyhedron3.cc,
+	  tests/Polyhedron/writerelation1.cc,
+	  tests/Polyhedron/writevariable1.cc, utils/.cvsignore,
+	  utils/Makefile.am, utils/build_header.in, utils/text2cxxarray.in,
+	  utils/timings.cc, utils/timings.hh
+	  (altnum.[2,1,6,3,2,5,8,4,4,4,8,3,5,2,4,19,2,5,2,3,2,1,3,3,1,1,1,3,2,2,2,2,2,2,2,3,2,3,2,2,2,6,3,2,2,2,2,2,2,2,2,3,2,2,2,2,3,3,2,1,3,5,4,4,2,5,3,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,1,7,11,3,3,5,3,2,3,3,3,3,2,2,3,3,6,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,4,2,8,6,2,2,6,2,2,6,2,4,1,2,2,1,1,2,2,2,4,2,2,2,2,2,4,2,2,4,2,2,4,2,4,3,2,2,2,2,9,6,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,8,3,2,2,2,2,2, [...]
+	  Eighth merge from the main trunk.
+
+2006-10-28 Saturday 10:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/:
+	  ppl_interface_generator_predicate_check_code.m4 (1.23),
+	  ppl_interface_generator_predicate_check_extra_code (1.14): Added
+	  generic tests for adding a representation or elements of a
+	  representation (with and without minimize).
+
+2006-10-28 Saturday 10:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (altnum.1): file ppl_interface_generator_predicate_check_code.m4
+	  was added on branch altnum on 2006-10-29 19:27:09 +0000
+
+2006-10-28 Saturday 10:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_extra_code
+	  (altnum.1): file
+	  ppl_interface_generator_predicate_check_extra_code was added on
+	  branch altnum on 2006-10-29 19:27:09 +0000
+
+2006-10-27 Friday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/Makefile.am (altnum.1): file Makefile.am
+	  was added on branch altnum on 2006-10-29 19:27:31 +0000
+
+2006-10-27 Friday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/boundedaffineimage1.cc (altnum.1): file
+	  boundedaffineimage1.cc was added on branch altnum on 2006-10-29
+	  19:27:31 +0000
+
+2006-10-27 Friday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/boundedaffinepreimage1.cc (altnum.1): file
+	  boundedaffinepreimage1.cc was added on branch altnum on
+	  2006-10-29 19:27:31 +0000
+
+2006-10-27 Friday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/disjoint1.cc (altnum.1): file disjoint1.cc
+	  was added on branch altnum on 2006-10-29 19:27:31 +0000
+
+2006-10-27 Friday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/disjoint1.cc (octagons.1): file
+	  disjoint1.cc was added on branch octagons on 2006-11-18 20:36:59
+	  +0000
+
+2006-10-27 Friday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/expandspacedim1.cc (altnum.1): file
+	  expandspacedim1.cc was added on branch altnum on 2006-10-29
+	  19:27:31 +0000
+
+2006-10-27 Friday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/relatwithcons2.cc (altnum.1): file
+	  relatwithcons2.cc was added on branch altnum on 2006-10-29
+	  19:27:31 +0000
+
+2006-10-27 Friday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/relatwithcons2.cc (octagons.1): file
+	  relatwithcons2.cc was added on branch octagons on 2006-11-18
+	  20:36:59 +0000
+
+2006-10-27 Friday 17:42  quartieri
+
+	* src/Octagonal_Shape.defs.hh (1.14),
+	  src/Octagonal_Shape.templates.hh (1.31),
+	  tests/Octagonal_Shape/Makefile.am (1.9),
+	  tests/Octagonal_Shape/boundedaffineimage1.cc (1.6),
+	  tests/Octagonal_Shape/boundedaffinepreimage1.cc (1.1),
+	  tests/Octagonal_Shape/disjoint1.cc (1.5),
+	  tests/Octagonal_Shape/expandspacedim1.cc (1.1),
+	  tests/Octagonal_Shape/relatwithcons2.cc (1.3): Corrected a bug in
+	  the method relation_with().  Added some tests on the methods
+	  relation_with() and is_disjoint_from().  Defined the methods
+	  bounded_affine_preimage() and expand_space_dimension() and added
+	  some tests on them.
+
+2006-10-27 Friday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Octagonal_Shape.defs.hh (altnum.1): file
+	  Octagonal_Shape.defs.hh was added on branch altnum on 2006-10-29
+	  19:27:14 +0000
+
+2006-10-27 Friday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh (altnum.1): file
+	  Octagonal_Shape.templates.hh was added on branch altnum on
+	  2006-10-29 19:27:14 +0000
+
+2006-10-27 Friday 16:00  Elena Mazzi
+
+	* tests/BD_Shape/: Makefile.am (1.53), membytes1.cc (1.1): Added
+	  new tests on on the methods	external_memoty_in_bytes() and
+	  total_memory_in_bytes().
+
+2006-10-27 Friday 16:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/membytes1.cc (altnum.1): file membytes1.cc was
+	  added on branch altnum on 2006-10-29 19:27:22 +0000
+
+2006-10-27 Friday 16:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/membytes1.cc (octagons.1): file membytes1.cc was
+	  added on branch octagons on 2006-11-18 20:36:56 +0000
+
+2006-10-27 Friday 12:41  Elena Mazzi
+
+	* tests/BD_Shape/relations3.cc (1.18): Added some new tests on
+	  BD_Shape::relation_with(Constraint).
+
+2006-10-27 Friday 12:40  Elena Mazzi
+
+	* src/BD_Shape.templates.hh (1.43): Corrected a bug in
+	  BD_Shape::relation_with(const Constraint& c) when the constraint
+	  is an equality and is disjoint from BDS.
+
+2006-10-27 Friday 12:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh (altnum.1): file BD_Shape.templates.hh
+	  was added on branch altnum on 2006-10-29 19:27:12 +0000
+
+2006-10-27 Friday 11:41  quartieri
+
+	* tests/Octagonal_Shape/membytes1.cc (1.2): Removed an annotation
+	  indicating an expected failure with 8 bits coefficients.
+
+2006-10-27 Friday 11:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/membytes1.cc (altnum.1): file membytes1.cc
+	  was added on branch altnum on 2006-10-29 19:27:31 +0000
+
+2006-10-27 Friday 11:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/membytes1.cc (octagons.1): file
+	  membytes1.cc was added on branch octagons on 2006-11-18 20:36:59
+	  +0000
+
+2006-10-27 Friday 10:55  Elena Mazzi
+
+	* src/BD_Shape.templates.hh (1.42): Corrected a bug in
+	  BD_Shape::is_disjoint_from() when the two BD_Shapes consist of
+	  single but different points in 1D.
+
+2006-10-27 Friday 10:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/:
+	  ppl_interface_generator_predicate_check_code.m4 (1.22),
+	  ppl_interface_generator_predicate_check_extra_code (1.13),
+	  ppl_interface_generator_predicate_check_pl.m4 (1.18): Added tests
+	  for comparing the class objects.
+
+	  General improvements to the test system including:
+
+	  Changing the test_data identifiers to be "test0n".  Using a list
+	  to give all the required tests and the member predicate to select
+	  the tests.  Generating code for building the test object for any
+	  given test id and use this instead of coding it in the actual
+	  tests.  The space_dimension and affine_dimension are now defined
+	  by an auxiliary predicate for each test id.
+
+2006-10-27 Friday 10:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
+	  (altnum.1): file ppl_interface_generator_predicate_check_pl.m4
+	  was added on branch altnum on 2006-10-29 19:27:09 +0000
+
+2006-10-26 Thursday 22:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/BD_Shape/disjoint1.cc (1.4): Added test07 which shows a bug
+	  when the two BD_Shapes consist of single but different points in
+	  1D.
+
+2006-10-26 Thursday 22:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/disjoint1.cc (altnum.1): file disjoint1.cc was
+	  added on branch altnum on 2006-10-29 19:27:22 +0000
+
+2006-10-26 Thursday 22:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/disjoint1.cc (octagons.1): file disjoint1.cc was
+	  added on branch octagons on 2006-11-18 20:36:56 +0000
+
+2006-10-26 Thursday 17:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/BD_Shape/relations3.cc (1.17): Added a test showing a bug
+	  in the relation_with() method.  Test04 fails as the relation
+	  returned is "strictly_intersects" and not, as expected,
+	  "is_disjoint".
+
+2006-10-26 Thursday 15:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/:
+	  ppl_interface_generator_predicate_check_code.m4 (1.21),
+	  ppl_interface_generator_predicate_check_extra_code (1.12): Added
+	  generic tests for maximize, minimize, maximize_with_point and
+	  minimize_with_point.
+
+2006-10-26 Thursday 11:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_nonpublic.cc (1.69): Corrected a bug in method
+	  max_min() whereby an assertion was failing when maximizing or
+	  minimizing an expression on a zero-dimensional polyhedron.
+
+2006-10-26 Thursday 11:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Polyhedron/max_min1.cc (1.10): Test 03 causes an assertion
+	  failure for the universe polyhedron with 0 dimensions.
+
+2006-10-25 Wednesday 15:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/foldspacedims1.cc (altnum.1): file
+	  foldspacedims1.cc was added on branch altnum on 2006-10-29
+	  19:27:22 +0000
+
+2006-10-25 Wednesday 15:58  Elena Mazzi
+
+	* tests/BD_Shape/: Makefile.am (1.52), expandspacedim1.cc (1.1),
+	  foldspacedims1.cc (1.1): Added new tests on methods: -
+	  BD_Shape<T>::expand_space_dimension(Variable var, dimension_type
+	  m); - BD_Shape<T>::fold_space_dimensions(Variables_Set&
+	  to_be_folded, 			    Variable var).
+
+2006-10-25 Wednesday 15:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/expandspacedim1.cc (altnum.1): file
+	  expandspacedim1.cc was added on branch altnum on 2006-10-29
+	  19:27:22 +0000
+
+2006-10-25 Wednesday 15:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/expandspacedim1.cc (octagons.1): file
+	  expandspacedim1.cc was added on branch octagons on 2006-11-18
+	  20:36:56 +0000
+
+2006-10-25 Wednesday 15:55  Elena Mazzi
+
+	* src/: BD_Shape.defs.hh (1.84), BD_Shape.templates.hh (1.41):
+	  Defined two new methods:
+	  BD_Shape<T>::expand_space_dimension(Variable var, dimension_type
+	  m); BD_Shape<T>::fold_space_dimensions(Variables_Set&
+	  to_be_folded, 			      Variable var).
+
+2006-10-25 Wednesday 14:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Powerset.templates.hh (1.6): Avoided a couple of
+	  copies.
+
+2006-10-25 Wednesday 14:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Powerset.templates.hh (altnum.1): file
+	  Pointset_Powerset.templates.hh was added on branch altnum on
+	  2006-10-29 19:27:14 +0000
+
+2006-10-25 Wednesday 14:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Powerset.templates.hh (octagons.1): file
+	  Pointset_Powerset.templates.hh was added on branch octagons on
+	  2006-11-18 20:36:51 +0000
+
+2006-10-25 Wednesday 13:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Any_Pointset.defs.hh (1.6): Uncommented code that was
+	  temporarily disabled due to missing method in some pointset
+	  classes.
+
+2006-10-25 Wednesday 13:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Any_Pointset.defs.hh (altnum.1): file Any_Pointset.defs.hh
+	  was added on branch altnum on 2006-10-29 19:27:12 +0000
+
+2006-10-25 Wednesday 11:09  quartieri
+
+	* tests/Octagonal_Shape/Makefile.am (1.8): Added the test
+	  membytes1.cc.
+
+2006-10-25 Wednesday 09:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_dat.m4 (1.14):
+	  The Prolog predicate for BD_Shape_..._bounded_affine_image must
+	  not be built.
+
+2006-10-25 Wednesday 09:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_dat.m4
+	  (altnum.1): file ppl_interface_generator_prolog_dat.m4 was added
+	  on branch altnum on 2006-10-29 19:27:00 +0000
+
+2006-10-24 Tuesday 18:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.9),
+	  C/ppl_interface_generator_c_dat.m4 (1.8),
+	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.13),
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.13),
+	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.20),
+	  Prolog/tests/ppl_interface_generator_predicate_check_extra_code
+	  (1.11): In the ppl/interfaces:
+
+	  The @BOX@ replacement is now only used for building from a box
+	  (bounding_box or covering_box).
+
+	  The "get" or "shrink" bounding_box or covering_box" procedures,
+	  do not use any pattern. As the Grid has the same aruments as the
+	  Polyhedron for shrink_bounding_box, we can combine all the
+	  classes for this procedure into one schema. On the other hand,
+	  although the covering box is only available at present for the
+	  Grid domain, it is provided as a generic schema.
+
+	  The property "is_topologically_closed" is now enabled for
+	  BD_Shape and Octagons Prolog interfaces.  Similarly the
+	  "topological_closure_assign" procedure is now enabled for
+	  BD_Shape and Octagons Prolog interfaces.
+
+	  Generic tests for all the properties using schema
+	  ppl_ at CLASS@_ at HAS_PROPERTY@ have been added.  Generic tests for
+	  ppl_ at CLASS@_ at SIMPLIFY@ have been added (for the domains under
+	  consideration, this is just the ."topological_closure_assign"
+	  procedure).
+
+	  The test data for the generic tests has again been reorganised
+	  and restructured making it easier to extend and maintain.
+
+2006-10-24 Tuesday 18:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_dat.m4 (altnum.1): file
+	  ppl_interface_generator_c_dat.m4 was added on branch altnum on
+	  2006-10-29 19:26:58 +0000
+
+2006-10-24 Tuesday 18:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (altnum.1): file
+	  ppl_interface_generator_common_dat.m4 was added on branch altnum
+	  on 2006-10-29 19:26:57 +0000
+
+2006-10-24 Tuesday 18:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (altnum.1): file ppl_interface_generator_prolog_icc_code.m4 was
+	  added on branch altnum on 2006-10-29 19:27:00 +0000
+
+2006-10-24 Tuesday 17:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid.defs.hh (1.36), src/Grid.templates.hh (1.22),
+	  tests/Grid/boundingbox1.cc (1.13), tests/Grid/boundingbox2.cc
+	  (1.11): In ppl/src:
+
+	  The grid can now be built from boxes which may have different
+	  finite values for the upper and lower bounds or have only the
+	  upper or the lower bound bounded or have open finite bounds.
+	  Before when this happened an exception was thrown. Now we compute
+	  an approximation.
+
+	  Also, now the Grid domain requires the complexity as an argument
+	  for shrink_bounding_box so as to be compatible with the
+	  Polyhedron_shrink_bounding_box. This argument is not used.
+
+	  The tests/Grid/boundingbox1.cc and tests/Grid/boundingbox2.cc
+	  have been revised to match.
+
+2006-10-24 Tuesday 17:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid.defs.hh (altnum.1): file Grid.defs.hh was added on
+	  branch altnum on 2006-10-29 19:27:12 +0000
+
+2006-10-24 Tuesday 17:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid.templates.hh (altnum.1): file Grid.templates.hh was
+	  added on branch altnum on 2006-10-29 19:27:13 +0000
+
+2006-10-24 Tuesday 17:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/boundingbox1.cc (altnum.1): file boundingbox1.cc was
+	  added on branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-10-24 Tuesday 17:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/boundingbox2.cc (altnum.1): file boundingbox2.cc was
+	  added on branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-10-24 Tuesday 17:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Makefile.am (1.19): Recursively process the Java
+	  directory.
+
+2006-10-24 Tuesday 17:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/.cvsignore (altnum.1): file .cvsignore was added
+	  on branch altnum on 2006-10-29 19:26:59 +0000
+
+2006-10-24 Tuesday 17:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/.cvsignore (octagons.1): file .cvsignore was
+	  added on branch octagons on 2006-11-18 20:36:44 +0000
+
+2006-10-24 Tuesday 17:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/.cvsignore (simplex.1): file .cvsignore was added
+	  on branch simplex on 2008-01-07 11:15:28 +0000
+
+2006-10-24 Tuesday 17:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/Makefile.am (altnum.1): file Makefile.am was
+	  added on branch altnum on 2006-10-29 19:26:59 +0000
+
+2006-10-24 Tuesday 17:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.244), interfaces/Java/.cvsignore (1.1),
+	  interfaces/Java/Makefile.am (1.1): Java directories activated.
+
+2006-10-24 Tuesday 16:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/: Coefficient.java (1.3), Variable.java (1.3):
+	  Moved into the package's directory.
+
+2006-10-24 Tuesday 16:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/Coefficient.java (1.2): Comments and identifiers
+	  names revised.
+
+2006-10-24 Tuesday 16:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/Variable.java (1.2): Cosmetic changes.
+
+2006-10-24 Tuesday 16:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/Variable.java (1.1): Coefficient Java class
+	  declaration and implementation.
+
+2006-10-24 Tuesday 16:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/Coefficient.java (1.1): Coefficient Java class
+	  declaration and implementation.
+
+2006-10-23 Monday 14:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Pointset_Powerset.inlines.hh (1.4): Added FIXMEs to remember
+	  when the generalization to Powerset's of arbitrary stuff is going
+	  to be buggy.
+
+2006-10-23 Monday 14:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Powerset.inlines.hh (altnum.1): file
+	  Pointset_Powerset.inlines.hh was added on branch altnum on
+	  2006-10-29 19:27:14 +0000
+
+2006-10-23 Monday 14:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Powerset.inlines.hh (octagons.1): file
+	  Pointset_Powerset.inlines.hh was added on branch octagons on
+	  2006-11-18 20:36:51 +0000
+
+2006-10-23 Monday 11:52  quartieri
+
+	* tests/Octagonal_Shape/membytes1.cc (1.1): Added some tests on the
+	  methods   external_memoty_in_bytes() and
+	  total_memory_in_bytes().
+
+2006-10-23 Monday 11:51  quartieri
+
+	* src/: OR_Matrix.defs.hh (1.6), OR_Matrix.inlines.hh (1.3),
+	  OR_Matrix.templates.hh (1.4), Octagonal_Shape.templates.hh
+	  (1.30): Defined the methods	  external_memory_in_bytes() and
+	  total_memory_in_bytes().
+
+2006-10-23 Monday 11:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/OR_Matrix.defs.hh (altnum.1): file OR_Matrix.defs.hh was
+	  added on branch altnum on 2006-10-29 19:27:14 +0000
+
+2006-10-23 Monday 11:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/OR_Matrix.inlines.hh (altnum.1): file OR_Matrix.inlines.hh
+	  was added on branch altnum on 2006-10-29 19:27:14 +0000
+
+2006-10-23 Monday 11:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/OR_Matrix.templates.hh (altnum.1): file
+	  OR_Matrix.templates.hh was added on branch altnum on 2006-10-29
+	  19:27:14 +0000
+
+2006-10-23 Monday 10:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Pointset_Powerset.defs.hh (1.5),
+	  Pointset_Powerset.inlines.hh (1.3),
+	  Pointset_Powerset.templates.hh (1.5): No longer defining the
+	  specialized constructor:   Pointset_Powerset<C_Polyhedron>(const
+	  Pointset_Powerset<QH>&); defining the generic constructor
+	  Pointset_Powerset<PH>(const Pointset_Powerset<QH>&); instead.
+	  Similarly, generalized the specialized method:
+	  poly_difference_assign<C_Polyhedron>(...) to (temporarily) work
+	  on arbitrary instances.
+
+2006-10-23 Monday 10:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Powerset.defs.hh (altnum.1): file
+	  Pointset_Powerset.defs.hh was added on branch altnum on
+	  2006-10-29 19:27:14 +0000
+
+2006-10-23 Monday 09:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.83), Octagonal_Shape.defs.hh (1.13):
+	  Unary constructors made explicit so as to avoid unexpected
+	  conversions.
+
+2006-10-23 Monday 08:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.templates.hh (1.40), Grid_public.cc (1.46),
+	  Octagonal_Shape.templates.hh (1.29), Polyhedron_public.cc (1.85):
+	  Prefer "existential quantification" to "cylindrification" in
+	  comments.
+
+2006-10-23 Monday 08:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_public.cc (altnum.1): file Grid_public.cc was added on
+	  branch altnum on 2006-10-29 19:27:13 +0000
+
+2006-10-22 Sunday 02:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/Makefile.am (1.45): Make sure XSB finds
+	  libppl and libpwl in the current build tree.
+
+2006-10-21 Saturday 23:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.12),
+	  tests/ppl_interface_generator_predicate_check_code.m4 (1.19),
+	  tests/ppl_interface_generator_predicate_check_pl.m4 (1.17): Added
+	  tests for get_bounding_box and get_covering_box.
+
+	  Removed unnecessary code and simplified the code in
+	  Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
+
+	  Added the arity of the predicate under test to the test name.
+
+	  In Prolog/ppl_interface_generator_prolog_dat.m4 : now allow the
+	  interface code to be generated for get_bounding_box/3 for
+	  BD_Shape.
+
+2006-10-21 Saturday 13:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_public.cc (1.45): Indentation fixed.  Redundant
+	  parentheses avoided.
+
+2006-10-21 Saturday 13:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_public.cc (1.44): Fixed spelling error introduced with
+	  last commit.
+
+2006-10-21 Saturday 12:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.11),
+	  tests/ppl_interface_generator_predicate_check_code.m4 (1.18),
+	  tests/ppl_interface_generator_predicate_check_extra_code (1.10),
+	  tests/ppl_interface_generator_predicate_check_pl.m4 (1.16): In
+	  ...prolog_dat.m4, moved the delete predicate schema first This is
+	  a work-around to a problem in generating a list of predicates in
+	  m4.
+
+	  In the Prolog/tests m4 files, a number of bugs fixed and added a
+	  test for the relation_with predicates.
+
+2006-10-21 Saturday 10:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid_public.cc (1.43): Corrected error indicated in the
+	  previous commit for tests/Grid/relations.cc.
+
+2006-10-21 Saturday 10:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/relations2.cc (1.14): Test 20 shows a bug in the code
+	  for PPL::Grid::relation_with(const Congruence& cg)
+
+2006-10-21 Saturday 10:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/relations2.cc (altnum.1): file relations2.cc was added
+	  on branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-10-19 Thursday 13:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/: boundedaffineimage1.cc (1.5),
+	  generalizedaffineimage3.cc (1.6), generalizedaffinepreimage2.cc
+	  (1.6): Several wicked whiches replaced by thats.
+
+2006-10-19 Thursday 13:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffineimage3.cc (altnum.1): file
+	  generalizedaffineimage3.cc was added on branch altnum on
+	  2006-10-29 19:27:31 +0000
+
+2006-10-19 Thursday 13:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffineimage3.cc (octagons.1):
+	  file generalizedaffineimage3.cc was added on branch octagons on
+	  2006-11-18 20:36:59 +0000
+
+2006-10-19 Thursday 13:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffinepreimage2.cc (altnum.1):
+	  file generalizedaffinepreimage2.cc was added on branch altnum on
+	  2006-10-29 19:27:31 +0000
+
+2006-10-19 Thursday 13:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffinepreimage2.cc (octagons.1):
+	  file generalizedaffinepreimage2.cc was added on branch octagons
+	  on 2006-11-18 20:36:59 +0000
+
+2006-10-18 Wednesday 17:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/:
+	  ppl_interface_generator_predicate_check_code.m4 (1.17),
+	  ppl_interface_generator_predicate_check_extra_code (1.9): Further
+	  additions and reorganisation of test data.  Added tests for
+	  get_ at GET_REPRESENT@ and get_minimized_ at GET_REPRESENT@ predicates.
+
+2006-10-18 Wednesday 11:53  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.8),
+	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.16),
+	  Prolog/tests/ppl_interface_generator_predicate_check_extra_code
+	  (1.8): Improved organisation of test data. Use "alt_replacement"
+	  to get an alternative build representation.  Added test data 3
+	  for some tests.  Other minor improvements.
+
+2006-10-17 Tuesday 20:56  Andrea Cimino
+
+	* src/: MIP_Problem.cc (1.36), MIP_Problem.templates.hh (1.9): Be
+	  more verbose when throwing exceptions.  Indentation fixed.
+
+2006-10-17 Tuesday 20:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.cc (altnum.1): file MIP_Problem.cc was added on
+	  branch altnum on 2006-10-29 19:27:14 +0000
+
+2006-10-17 Tuesday 20:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.templates.hh (altnum.1): file
+	  MIP_Problem.templates.hh was added on branch altnum on 2006-10-29
+	  19:27:14 +0000
+
+2006-10-17 Tuesday 20:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.templates.hh (octagons.1): file
+	  MIP_Problem.templates.hh was added on branch octagons on
+	  2006-11-18 20:36:50 +0000
+
+2006-10-17 Tuesday 15:37  quartieri
+
+	* tests/Octagonal_Shape/: boundedaffineimage1.cc (1.4),
+	  generalizedaffineimage3.cc (1.5), generalizedaffinepreimage2.cc
+	  (1.5): Improved some comments.
+
+2006-10-17 Tuesday 14:05  quartieri
+
+	* tests/Octagonal_Shape/: boundedaffineimage1.cc (1.3),
+	  generalizedaffineimage3.cc (1.4), generalizedaffinepreimage2.cc
+	  (1.4): Corrected some inaccurate comments.
+
+2006-10-17 Tuesday 11:26  Elena Mazzi
+
+	* tests/Octagonal_Shape/: affineimage1.cc (1.2), affinepreimage1.cc
+	  (1.2), bhmz05widening1.cc (1.2), boundedaffineimage1.cc (1.2),
+	  cc76extrapolation1.cc (1.2), cc76narrowing1.cc (1.2),
+	  disjoint1.cc (1.4), generalizedaffineimage3.cc (1.3),
+	  generalizedaffinepreimage2.cc (1.3),
+	  generalizedaffinepreimage3.cc (1.2), intersection1.cc (1.2),
+	  limitedbhmz05extrapolation1.cc (1.2),
+	  limitedcc76extrapolation1.cc (1.2), octdifference1.cc (1.2),
+	  octhull1.cc (1.2), relatwithcons2.cc (1.2), relatwithgen1.cc
+	  (1.2), removespacedims1.cc (1.2), timeelapse1.cc (1.2): Fixed
+	  lots of spelling mistakes in many tests.
+
+2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/affineimage1.cc (altnum.1): file
+	  affineimage1.cc was added on branch altnum on 2006-10-29 19:27:31
+	  +0000
+
+2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/affineimage1.cc (octagons.1): file
+	  affineimage1.cc was added on branch octagons on 2006-11-18
+	  20:36:59 +0000
+
+2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/affinepreimage1.cc (altnum.1): file
+	  affinepreimage1.cc was added on branch altnum on 2006-10-29
+	  19:27:31 +0000
+
+2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/affinepreimage1.cc (octagons.1): file
+	  affinepreimage1.cc was added on branch octagons on 2006-11-18
+	  20:36:59 +0000
+
+2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/bhmz05widening1.cc (altnum.1): file
+	  bhmz05widening1.cc was added on branch altnum on 2006-10-29
+	  19:27:31 +0000
+
+2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/bhmz05widening1.cc (octagons.1): file
+	  bhmz05widening1.cc was added on branch octagons on 2006-11-18
+	  20:36:59 +0000
+
+2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/cc76extrapolation1.cc (altnum.1): file
+	  cc76extrapolation1.cc was added on branch altnum on 2006-10-29
+	  19:27:31 +0000
+
+2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/cc76extrapolation1.cc (octagons.1): file
+	  cc76extrapolation1.cc was added on branch octagons on 2006-11-18
+	  20:36:59 +0000
+
+2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/cc76narrowing1.cc (altnum.1): file
+	  cc76narrowing1.cc was added on branch altnum on 2006-10-29
+	  19:27:31 +0000
+
+2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/cc76narrowing1.cc (octagons.1): file
+	  cc76narrowing1.cc was added on branch octagons on 2006-11-18
+	  20:36:59 +0000
+
+2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffinepreimage3.cc (altnum.1):
+	  file generalizedaffinepreimage3.cc was added on branch altnum on
+	  2006-10-29 19:27:31 +0000
+
+2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffinepreimage3.cc (octagons.1):
+	  file generalizedaffinepreimage3.cc was added on branch octagons
+	  on 2006-11-18 20:36:59 +0000
+
+2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/intersection1.cc (altnum.1): file
+	  intersection1.cc was added on branch altnum on 2006-10-29
+	  19:27:31 +0000
+
+2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/intersection1.cc (octagons.1): file
+	  intersection1.cc was added on branch octagons on 2006-11-18
+	  20:36:59 +0000
+
+2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc (altnum.1):
+	  file limitedbhmz05extrapolation1.cc was added on branch altnum on
+	  2006-10-29 19:27:31 +0000
+
+2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc
+	  (octagons.1): file limitedbhmz05extrapolation1.cc was added on
+	  branch octagons on 2006-11-18 20:36:59 +0000
+
+2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/limitedcc76extrapolation1.cc (altnum.1):
+	  file limitedcc76extrapolation1.cc was added on branch altnum on
+	  2006-10-29 19:27:31 +0000
+
+2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/limitedcc76extrapolation1.cc (octagons.1):
+	  file limitedcc76extrapolation1.cc was added on branch octagons on
+	  2006-11-18 20:36:59 +0000
+
+2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/octdifference1.cc (altnum.1): file
+	  octdifference1.cc was added on branch altnum on 2006-10-29
+	  19:27:31 +0000
+
+2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/octdifference1.cc (octagons.1): file
+	  octdifference1.cc was added on branch octagons on 2006-11-18
+	  20:36:59 +0000
+
+2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/octhull1.cc (altnum.1): file octhull1.cc
+	  was added on branch altnum on 2006-10-29 19:27:31 +0000
+
+2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/octhull1.cc (octagons.1): file octhull1.cc
+	  was added on branch octagons on 2006-11-18 20:36:59 +0000
+
+2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/relatwithgen1.cc (altnum.1): file
+	  relatwithgen1.cc was added on branch altnum on 2006-10-29
+	  19:27:31 +0000
+
+2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/relatwithgen1.cc (octagons.1): file
+	  relatwithgen1.cc was added on branch octagons on 2006-11-18
+	  20:36:59 +0000
+
+2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/removespacedims1.cc (altnum.1): file
+	  removespacedims1.cc was added on branch altnum on 2006-10-29
+	  19:27:31 +0000
+
+2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/removespacedims1.cc (octagons.1): file
+	  removespacedims1.cc was added on branch octagons on 2006-11-18
+	  20:36:59 +0000
+
+2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/timeelapse1.cc (altnum.1): file
+	  timeelapse1.cc was added on branch altnum on 2006-10-29 19:27:31
+	  +0000
+
+2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/timeelapse1.cc (octagons.1): file
+	  timeelapse1.cc was added on branch octagons on 2006-11-18
+	  20:36:59 +0000
+
+2006-10-17 Tuesday 10:52  Elena Mazzi
+
+	* src/Octagonal_Shape.templates.hh (1.28): Corrected a bug in
+	  strong_reduction_assign().
+
+2006-10-17 Tuesday 10:52  Elena Mazzi
+
+	* src/BD_Shape.templates.hh (1.39): Corrected a bug in
+	  shortest_path_reduction_assign().
+
+2006-10-17 Tuesday 10:40  Elena Mazzi
+
+	* tests/Octagonal_Shape/minconstraints1.cc (1.2): Test 3 shows a
+	  bug in minimized_constraints() when the Octagonal Shape is
+	  zero-dimensional and universe.
+
+2006-10-17 Tuesday 10:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/minconstraints1.cc (altnum.1): file
+	  minconstraints1.cc was added on branch altnum on 2006-10-29
+	  19:27:31 +0000
+
+2006-10-17 Tuesday 10:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/minconstraints1.cc (octagons.1): file
+	  minconstraints1.cc was added on branch octagons on 2006-11-18
+	  20:36:59 +0000
+
+2006-10-17 Tuesday 10:38  Elena Mazzi
+
+	* tests/BD_Shape/minconstraints1.cc (1.9): Test 2 shows a bug in
+	  minimized_constraints() when the BD_Shape is zero-dimensional and
+	  universe.
+
+2006-10-17 Tuesday 10:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/minconstraints1.cc (altnum.1): file
+	  minconstraints1.cc was added on branch altnum on 2006-10-29
+	  19:27:22 +0000
+
+2006-10-17 Tuesday 10:01  Elena Mazzi
+
+	* tests/BD_Shape/: addconstraints1.cc (1.16), affineimage1.cc
+	  (1.16), affinepreimage1.cc (1.17), bdsdifference1.cc (1.12),
+	  bdshull1.cc (1.13), bhmz05widening1.cc (1.12),
+	  boundedaffineimage1.cc (1.2), cc76extrapolation1.cc (1.16),
+	  cc76narrowing1.cc (1.16), disjoint1.cc (1.3),
+	  generalizedaffineimage2.cc (1.18), generalizedaffinepreimage3.cc
+	  (1.3), intersection1.cc (1.16), limitedbhmz05extrapolation1.cc
+	  (1.11), limitedcc76extrapolation1.cc (1.12), relations2.cc
+	  (1.19), relations3.cc (1.16), removespacedims1.cc (1.17),
+	  timeelapse1.cc (1.16): Fixed lots of spelling mistakes in many
+	  tests.
+
+2006-10-17 Tuesday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/bdsdifference1.cc (altnum.1): file
+	  bdsdifference1.cc was added on branch altnum on 2006-10-29
+	  19:27:22 +0000
+
+2006-10-17 Tuesday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/bdshull1.cc (altnum.1): file bdshull1.cc was added
+	  on branch altnum on 2006-10-29 19:27:22 +0000
+
+2006-10-17 Tuesday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/bhmz05widening1.cc (altnum.1): file
+	  bhmz05widening1.cc was added on branch altnum on 2006-10-29
+	  19:27:22 +0000
+
+2006-10-17 Tuesday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/boundedaffineimage1.cc (altnum.1): file
+	  boundedaffineimage1.cc was added on branch altnum on 2006-10-29
+	  19:27:22 +0000
+
+2006-10-17 Tuesday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/boundedaffineimage1.cc (octagons.1): file
+	  boundedaffineimage1.cc was added on branch octagons on 2006-11-18
+	  20:36:56 +0000
+
+2006-10-17 Tuesday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/generalizedaffinepreimage3.cc (altnum.1): file
+	  generalizedaffinepreimage3.cc was added on branch altnum on
+	  2006-10-29 19:27:22 +0000
+
+2006-10-17 Tuesday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/generalizedaffinepreimage3.cc (octagons.1): file
+	  generalizedaffinepreimage3.cc was added on branch octagons on
+	  2006-11-18 20:36:56 +0000
+
+2006-10-17 Tuesday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/limitedbhmz05extrapolation1.cc (altnum.1): file
+	  limitedbhmz05extrapolation1.cc was added on branch altnum on
+	  2006-10-29 19:27:22 +0000
+
+2006-10-17 Tuesday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/limitedcc76extrapolation1.cc (altnum.1): file
+	  limitedcc76extrapolation1.cc was added on branch altnum on
+	  2006-10-29 19:27:22 +0000
+
+2006-10-17 Tuesday 09:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/:
+	  ppl_interface_generator_predicate_check_code.m4 (1.15),
+	  ppl_interface_generator_predicate_check_extra_code (1.7),
+	  ppl_interface_generator_predicate_check_pl.m4 (1.15): Error in
+	  the swap code corrected.
+
+	  Tests for space_dimension and affine_dimension added.
+
+	  Now, for check_noisy, a list of all successful tests is output.
+	  For check_all and check_noisy, a list of all failed tests is
+	  output.  For check_noisy, the constraint and generator (or
+	  similar) systems of the failing object are output.
+
+2006-10-16 Monday 15:10  quartieri
+
+	* src/Octagonal_Shape.defs.hh (1.12),
+	  src/Octagonal_Shape.inlines.hh (1.10),
+	  src/Octagonal_Shape.templates.hh (1.27),
+	  tests/Octagonal_Shape/Makefile.am (1.7),
+	  tests/Octagonal_Shape/boundedaffineimage1.cc (1.1): Defined the
+	  method	       Octagonal_Shape<T>::bounded_affine_image()
+	  and added some tests on it.
+
+2006-10-16 Monday 15:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Octagonal_Shape.inlines.hh (altnum.1): file
+	  Octagonal_Shape.inlines.hh was added on branch altnum on
+	  2006-10-29 19:27:14 +0000
+
+2006-10-16 Monday 15:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.200): The entry for LP_Problem rewritten so as to
+	  introduce the generalization to MIP_Problem.
+
+2006-10-16 Monday 15:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.199): We no longer have class LP_Problem: the TODO items
+	  now refer to MIP_Problem.
+
+2006-10-16 Monday 15:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: LP_Problem.cc (1.37), LP_Problem.defs.hh (1.27),
+	  LP_Problem.inlines.hh (1.12), LP_Problem.templates.hh (1.2),
+	  LP_Problem.types.hh (1.6), Makefile.am (1.162): No longer build
+	  LP_Problem; corresponding source files removed.
+
+2006-10-16 Monday 14:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* configure.ac (1.243), tests/Makefile.am (1.259): Do perform tests
+	  for class MIP_Problem, not LP_Problem.
+
+2006-10-16 Monday 14:58  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/MIP_Problem/: .cvsignore (1.1), Makefile.am (1.1),
+	  ascii_dump_load1.cc (1.1), exceptions1.cc (1.1), mipproblem1.cc
+	  (1.1): Put under CVS control.
+
+2006-10-16 Monday 14:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/.cvsignore (altnum.1): file .cvsignore was
+	  added on branch altnum on 2006-10-29 19:27:30 +0000
+
+2006-10-16 Monday 14:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/.cvsignore (octagons.1): file .cvsignore was
+	  added on branch octagons on 2006-11-18 20:36:58 +0000
+
+2006-10-16 Monday 14:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/.cvsignore (simplex.1): file .cvsignore was
+	  added on branch simplex on 2008-01-07 11:15:37 +0000
+
+2006-10-16 Monday 14:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/Makefile.am (altnum.1): file Makefile.am was
+	  added on branch altnum on 2006-10-29 19:27:30 +0000
+
+2006-10-16 Monday 14:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/Makefile.am (octagons.1): file Makefile.am was
+	  added on branch octagons on 2006-11-18 20:36:58 +0000
+
+2006-10-16 Monday 14:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/ascii_dump_load1.cc (altnum.1): file
+	  ascii_dump_load1.cc was added on branch altnum on 2006-10-29
+	  19:27:30 +0000
+
+2006-10-16 Monday 14:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/ascii_dump_load1.cc (octagons.1): file
+	  ascii_dump_load1.cc was added on branch octagons on 2006-11-18
+	  20:36:58 +0000
+
+2006-10-16 Monday 14:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/exceptions1.cc (altnum.1): file exceptions1.cc
+	  was added on branch altnum on 2006-10-29 19:27:30 +0000
+
+2006-10-16 Monday 14:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/exceptions1.cc (octagons.1): file
+	  exceptions1.cc was added on branch octagons on 2006-11-18
+	  20:36:58 +0000
+
+2006-10-16 Monday 14:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/mipproblem1.cc (altnum.1): file mipproblem1.cc
+	  was added on branch altnum on 2006-10-29 19:27:30 +0000
+
+2006-10-16 Monday 14:56  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.65): Correct the name of a
+	  constructor for MIP_Problem.
+
+2006-10-16 Monday 14:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/: ppl_c_version.h.in (1.3),
+	  ppl_interface_generator_c_cc_preamble (1.4),
+	  ppl_interface_generator_c_h_preamble (1.5): Interface class
+	  MIP_Problem, not LP_Problem.	Constructor
+	  new_MIP_Problem_from_dimension() renamed as
+	  new_MIP_Problem_from_space_dimension() for consistency.  Started
+	  reorganizing the documentation of the C interface.
+
+2006-10-16 Monday 14:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c_version.h.in (altnum.1): file
+	  ppl_c_version.h.in was added on branch altnum on 2006-10-29
+	  19:26:58 +0000
+
+2006-10-16 Monday 14:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c_version.h.in (octagons.1): file
+	  ppl_c_version.h.in was added on branch octagons on 2006-11-18
+	  20:36:44 +0000
+
+2006-10-16 Monday 14:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc_preamble (altnum.1):
+	  file ppl_interface_generator_c_cc_preamble was added on branch
+	  altnum on 2006-10-29 19:26:58 +0000
+
+2006-10-16 Monday 14:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_h_preamble (altnum.1):
+	  file ppl_interface_generator_c_h_preamble was added on branch
+	  altnum on 2006-10-29 19:26:58 +0000
+
+2006-10-16 Monday 14:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_h_preamble (octagons.1):
+	  file ppl_interface_generator_c_h_preamble was added on branch
+	  octagons on 2006-11-18 20:36:44 +0000
+
+2006-10-16 Monday 14:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/pl_grid_check.pl (altnum.1): file
+	  pl_grid_check.pl was added on branch altnum on 2006-10-29
+	  19:27:09 +0000
+
+2006-10-16 Monday 14:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/pl_grid_check.pl (octagons.1): file
+	  pl_grid_check.pl was added on branch octagons on 2006-11-18
+	  20:36:49 +0000
+
+2006-10-16 Monday 14:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.157),
+	  ppl_interface_generator_prolog_dat.m4 (1.10),
+	  ppl_interface_generator_prolog_icc_preamble (1.12),
+	  Ciao/ciao_pl_check.pl (1.24), XSB/xsb_pl_check.P (1.28),
+	  tests/pl_check.pl (1.38), tests/pl_grid_check.pl (1.3): Interface
+	  class MIP_Problem, not LP_Problem.
+
+2006-10-16 Monday 14:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_icc_preamble
+	  (altnum.1): file ppl_interface_generator_prolog_icc_preamble was
+	  added on branch altnum on 2006-10-29 19:27:00 +0000
+
+2006-10-16 Monday 14:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/README (1.3): Minor improvements and
+	  corrections to links.
+
+2006-10-16 Monday 14:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/README (altnum.1): file README was added
+	  on branch altnum on 2006-10-29 19:26:55 +0000
+
+2006-10-16 Monday 14:44  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref.doxyconf-html.in (1.78), devref.doxyconf-latex.in
+	  (1.17): Generate documentation of MIP_Problem, not LP_Problem.
+
+2006-10-16 Monday 14:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref.doxyconf-latex.in (altnum.1): file
+	  devref.doxyconf-latex.in was added on branch altnum on 2006-10-29
+	  19:26:56 +0000
+
+2006-10-16 Monday 14:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Grid.templates.hh (1.21): Do silence an annoying compiler
+	  warning.
+
+2006-10-16 Monday 14:41  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.templates.hh (1.4), Polyhedron_nonpublic.cc
+	  (1.68): Use MIP_Problem instead of LP_Problem.
+
+2006-10-16 Monday 14:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.templates.hh (altnum.1): file
+	  Polyhedron.templates.hh was added on branch altnum on 2006-10-29
+	  19:27:14 +0000
+
+2006-10-16 Monday 14:39  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (1.134): Removed useless inclusion.
+
+2006-10-16 Monday 14:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh (1.38): Corrected a bug in
+	  affine_dimension().  Do use class MIP_Problem instead of
+	  LP_Problem.
+
+2006-10-16 Monday 14:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh (1.26): Correct a bug in
+	  affine_dimension().  Do use class MIP_Problem instead of
+	  LP_Problem.
+
+2006-10-16 Monday 14:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/affinedimension1.cc (altnum.1): file
+	  affinedimension1.cc was added on branch altnum on 2006-10-29
+	  19:27:31 +0000
+
+2006-10-16 Monday 14:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/affinedimension1.cc (octagons.1): file
+	  affinedimension1.cc was added on branch octagons on 2006-11-18
+	  20:36:59 +0000
+
+2006-10-16 Monday 14:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: BD_Shape/affinedimension1.cc (1.10),
+	  Octagonal_Shape/affinedimension1.cc (1.2): A bug in
+	  affine_dimension() is affecting both BD_Shape and
+	  Octagonal_Shape.  The bug causes an assertion to be violated when
+	  the shape is zero-dimensional and universe.
+
+2006-10-16 Monday 14:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/affinedimension1.cc (altnum.1): file
+	  affinedimension1.cc was added on branch altnum on 2006-10-29
+	  19:27:22 +0000
+
+2006-10-16 Monday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_ocaml.cc (1.7): Invocations of Coefficient
+	  constructors fixed.
+
+2006-10-16 Monday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_ocaml.cc (altnum.1): file ppl_ocaml.cc was
+	  added on branch altnum on 2006-10-29 19:27:00 +0000
+
+2006-10-16 Monday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_ocaml.cc (octagons.1): file ppl_ocaml.cc was
+	  added on branch octagons on 2006-11-18 20:36:46 +0000
+
+2006-10-16 Monday 09:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/BD_Shape/affinedimension1.cc (1.9): Test 11 shows a bug in
+	  affine_dimension() when the BD_Shape object is constructed from
+	  an empty constraint system.
+
+2006-10-13 Friday 15:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/:
+	  ppl_interface_generator_predicate_check_code.m4 (1.14),
+	  ppl_interface_generator_predicate_check_extra_code (1.6),
+	  ppl_interface_generator_predicate_check_pl.m4 (1.14): Added code
+	  for producing noisy output when tests fail.
+
+2006-10-13 Friday 11:56  Elena Mazzi
+
+	* tests/BD_Shape/: Makefile.am (1.51), boundedaffineimage1.cc
+	  (1.1): Added new tests on the method
+	  BD_Shape::bounded_affine_image().
+
+2006-10-13 Friday 11:53  Elena Mazzi
+
+	* src/: BD_Shape.defs.hh (1.82), BD_Shape.templates.hh (1.37):
+	  Defined the new method: BD_Shape<T>::bounded_affine_image(var,
+	  lb_expr, ub_expr, den).
+
+2006-10-13 Friday 09:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	*
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.13): Cut_and_paste error fixed.
+
+2006-10-13 Friday 09:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/:
+	  ppl_interface_generator_predicate_check_code.m4 (1.12),
+	  ppl_interface_generator_predicate_check_extra_code (1.5): Added
+	  tests and test data for strict constraints and closure points for
+	  NNC polyhedra.  Extended test for building a bounding/covering
+	  box.
+
+2006-10-12 Thursday 22:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/:
+	  ppl_interface_generator_predicate_check_code.m4 (1.11),
+	  ppl_interface_generator_predicate_check_extra_code (1.4),
+	  ppl_interface_generator_predicate_check_pl.m4 (1.13): More
+	  improvements to the test framework and added generic tests for
+	  new_ at CLASS@_from_ at BOX@ and the swap procedure.
+
+2006-10-11 Wednesday 18:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/:
+	  ppl_interface_generator_predicate_check_code.m4 (1.10),
+	  ppl_interface_generator_predicate_check_pl.m4 (1.12): Added some
+	  code for future use and development of the test code...
+
+2006-10-11 Wednesday 16:38  Andrea Cimino
+
+	* src/MIP_Problem.cc (1.35): Removed a spurious line to allow
+	  compiling if the heuristic is disabled.
+
+2006-10-11 Wednesday 14:13  Andrea Cimino
+
+	* demos/ppl_lpsol/: Makefile.am (1.36), expected_int16 (1.9),
+	  expected_int16_a (1.9), expected_int32 (1.10), expected_int32_a
+	  (1.10), expected_int64 (1.10), expected_int64_a (1.10),
+	  expected_int8 (1.9), expected_int8_a (1.8), expected_mpz (1.11),
+	  expected_mpz_a (1.11): Regenerated all the expected_* reflecting
+	  the new changes in Makefile.am.
+
+2006-10-11 Wednesday 10:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Makefile.am (1.18): OCaml subdirectory enabled.
+
+2006-10-10 Tuesday 19:32  Andrea Cimino
+
+	* demos/ppl_lpsol/Makefile.am (1.35): Keep problems sorted.
+
+2006-10-10 Tuesday 19:30  Andrea Cimino
+
+	* demos/ppl_lpsol/: Makefile.am (1.34), examples/ex11.mps (1.3),
+	  examples/ex12.mps (1.1): Renamed ex11.mps as ex12.mps and
+	  restored the old ex11.mps.  Modified Makefile.am to skip ex12.mps
+	  checking.
+
+2006-10-10 Tuesday 19:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/ex11.mps (altnum.1): file ex11.mps was
+	  added on branch altnum on 2006-10-29 19:26:55 +0000
+
+2006-10-10 Tuesday 19:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/ex11.mps (octagons.1): file ex11.mps was
+	  added on branch octagons on 2006-11-18 20:36:42 +0000
+
+2006-10-10 Tuesday 19:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/ex12.mps (altnum.1): file ex12.mps was
+	  added on branch altnum on 2006-10-29 19:26:55 +0000
+
+2006-10-10 Tuesday 19:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/ex12.mps (octagons.1): file ex12.mps was
+	  added on branch octagons on 2006-11-18 20:36:42 +0000
+
+2006-10-10 Tuesday 19:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/ex12.mps (simplex.1): file ex12.mps was
+	  added on branch simplex on 2008-01-07 11:15:26 +0000
+
+2006-10-10 Tuesday 19:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Grid/congruence1.cc (1.15),
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc_preamble
+	  (1.11): No longer rely on an operator recently removed.
+
+2006-10-10 Tuesday 19:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/congruence1.cc (altnum.1): file congruence1.cc was
+	  added on branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-10-10 Tuesday 19:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Congruence.defs.hh (1.16), Congruence.inlines.hh (1.13):
+	  Removed operator building a Congruence object from a Coefficient
+	  and a Linear_Expression (in that order) as it was clashing with a
+	  template member of class Checked_Number.
+
+2006-10-10 Tuesday 19:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Congruence.defs.hh (altnum.1): file Congruence.defs.hh was
+	  added on branch altnum on 2006-10-29 19:27:12 +0000
+
+2006-10-10 Tuesday 19:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Congruence.inlines.hh (altnum.1): file Congruence.inlines.hh
+	  was added on branch altnum on 2006-10-29 19:27:12 +0000
+
+2006-10-10 Tuesday 19:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Linear_Expression.defs.hh (1.33): Removed redundant
+	  declarations (with repeated documentation).
+
+2006-10-10 Tuesday 18:59  Andrea Cimino
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.64): Typo fixed.
+
+2006-10-10 Tuesday 18:54  Andrea Cimino
+
+	* demos/ppl_lpsol/examples/ex11.mps (1.2): Modified for testing
+	  purposes.
+
+2006-10-10 Tuesday 17:25  Andrea Cimino
+
+	* demos/ppl_lpsol/: Makefile.am (1.33), expected_int16 (1.8),
+	  expected_int16_a (1.8), expected_int32 (1.9), expected_int32_a
+	  (1.9), expected_int64 (1.9), expected_int64_a (1.9),
+	  expected_int8 (1.8), expected_int8_a (1.7), expected_mpz (1.10),
+	  expected_mpz_a (1.10), examples/README (1.2), examples/egout.mps
+	  (1.1), examples/ex11.mps (1.1), examples/lseu.mps (1.1),
+	  examples/markshare1.mps (1.1), examples/markshare2.mps (1.1),
+	  examples/mas74.mps (1.1), examples/mas76.mps (1.1),
+	  examples/modglob.mps (1.1), examples/noswot.mps (1.1),
+	  examples/opt1217.mps (1.1), examples/p0033.mps (1.1),
+	  examples/pk1.mps (1.1), examples/rout.mps (1.1): Added new test
+	  for ppl_lpsol: now ppl_lsol checks satisfiability and optimality
+	  of some MIP Problems. Added other .mps files to the testsuite.
+	  README and obtained_* updated.
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/egout.mps (altnum.1): file egout.mps was
+	  added on branch altnum on 2006-10-29 19:26:55 +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/egout.mps (octagons.1): file egout.mps
+	  was added on branch octagons on 2006-11-18 20:36:42 +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/egout.mps (simplex.1): file egout.mps
+	  was added on branch simplex on 2008-01-07 11:15:26 +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/lseu.mps (altnum.1): file lseu.mps was
+	  added on branch altnum on 2006-10-29 19:26:55 +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/lseu.mps (octagons.1): file lseu.mps was
+	  added on branch octagons on 2006-11-18 20:36:42 +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/lseu.mps (simplex.1): file lseu.mps was
+	  added on branch simplex on 2008-01-07 11:15:26 +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/markshare1.mps (altnum.1): file
+	  markshare1.mps was added on branch altnum on 2006-10-29 19:26:55
+	  +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/markshare1.mps (octagons.1): file
+	  markshare1.mps was added on branch octagons on 2006-11-18
+	  20:36:42 +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/markshare1.mps (simplex.1): file
+	  markshare1.mps was added on branch simplex on 2008-01-07 11:15:26
+	  +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/markshare2.mps (altnum.1): file
+	  markshare2.mps was added on branch altnum on 2006-10-29 19:26:55
+	  +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/markshare2.mps (octagons.1): file
+	  markshare2.mps was added on branch octagons on 2006-11-18
+	  20:36:42 +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/markshare2.mps (simplex.1): file
+	  markshare2.mps was added on branch simplex on 2008-01-07 11:15:26
+	  +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/mas74.mps (altnum.1): file mas74.mps was
+	  added on branch altnum on 2006-10-29 19:26:55 +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/mas74.mps (octagons.1): file mas74.mps
+	  was added on branch octagons on 2006-11-18 20:36:42 +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/mas74.mps (simplex.1): file mas74.mps
+	  was added on branch simplex on 2008-01-07 11:15:26 +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/mas76.mps (altnum.1): file mas76.mps was
+	  added on branch altnum on 2006-10-29 19:26:55 +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/mas76.mps (octagons.1): file mas76.mps
+	  was added on branch octagons on 2006-11-18 20:36:42 +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/mas76.mps (simplex.1): file mas76.mps
+	  was added on branch simplex on 2008-01-07 11:15:26 +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/modglob.mps (altnum.1): file modglob.mps
+	  was added on branch altnum on 2006-10-29 19:26:55 +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/modglob.mps (octagons.1): file
+	  modglob.mps was added on branch octagons on 2006-11-18 20:36:42
+	  +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/modglob.mps (simplex.1): file
+	  modglob.mps was added on branch simplex on 2008-01-07 11:15:26
+	  +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/noswot.mps (altnum.1): file noswot.mps
+	  was added on branch altnum on 2006-10-29 19:26:55 +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/noswot.mps (octagons.1): file noswot.mps
+	  was added on branch octagons on 2006-11-18 20:36:43 +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/noswot.mps (simplex.1): file noswot.mps
+	  was added on branch simplex on 2008-01-07 11:15:26 +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/opt1217.mps (altnum.1): file opt1217.mps
+	  was added on branch altnum on 2006-10-29 19:26:55 +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/opt1217.mps (octagons.1): file
+	  opt1217.mps was added on branch octagons on 2006-11-18 20:36:43
+	  +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/opt1217.mps (simplex.1): file
+	  opt1217.mps was added on branch simplex on 2008-01-07 11:15:26
+	  +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/p0033.mps (altnum.1): file p0033.mps was
+	  added on branch altnum on 2006-10-29 19:26:55 +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/p0033.mps (octagons.1): file p0033.mps
+	  was added on branch octagons on 2006-11-18 20:36:43 +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/p0033.mps (simplex.1): file p0033.mps
+	  was added on branch simplex on 2008-01-07 11:15:26 +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/pk1.mps (altnum.1): file pk1.mps was
+	  added on branch altnum on 2006-10-29 19:26:55 +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/pk1.mps (octagons.1): file pk1.mps was
+	  added on branch octagons on 2006-11-18 20:36:43 +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/pk1.mps (simplex.1): file pk1.mps was
+	  added on branch simplex on 2008-01-07 11:15:26 +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/rout.mps (altnum.1): file rout.mps was
+	  added on branch altnum on 2006-10-29 19:26:55 +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/rout.mps (octagons.1): file rout.mps was
+	  added on branch octagons on 2006-11-18 20:36:43 +0000
+
+2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/rout.mps (simplex.1): file rout.mps was
+	  added on branch simplex on 2008-01-07 11:15:26 +0000
+
+2006-10-10 Tuesday 14:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/:
+	  ppl_interface_generator_predicate_check_code.m4 (1.9),
+	  ppl_interface_generator_predicate_check_pl.m4 (1.11): Simplified
+	  the testing framework.
+
+2006-10-10 Tuesday 14:01  Andrea Cimino
+
+	* tests/Polyhedron/variablesset1.cc (1.7): Use the method empty()
+	  given by the STL instead of checking for a zero size.
+
+2006-10-10 Tuesday 14:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/variablesset1.cc (altnum.1): file
+	  variablesset1.cc was added on branch altnum on 2006-10-29
+	  19:27:34 +0000
+
+2006-10-10 Tuesday 12:46  Andrea Cimino
+
+	* tests/Polyhedron/variablesset1.cc (1.6): Code cleaned. Added a
+	  FIXME concerning the operator==.
+
+2006-10-10 Tuesday 11:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	*
+	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
+	  (1.10): Avoid generating useless tests.
+
+2006-10-10 Tuesday 09:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_systems.m4
+	  (1.8), tests/ppl_interface_generator_predicate_check_pl.m4 (1.9):
+	  Comments and formatting improved.
+
+2006-10-10 Tuesday 09:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_systems.m4
+	  (altnum.1): file ppl_interface_generator_prolog_systems.m4 was
+	  added on branch altnum on 2006-10-29 19:27:00 +0000
+
+2006-10-10 Tuesday 09:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_systems.m4
+	  (octagons.1): file ppl_interface_generator_prolog_systems.m4 was
+	  added on branch octagons on 2006-11-18 20:36:46 +0000
+
+2006-10-10 Tuesday 09:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/: Makefile.am (1.47), yap_cfli.cc (1.3):
+	  Distribute yap_cfli.hh.  Removed the obsolete yap_cfli.cc.
+
+2006-10-10 Tuesday 08:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/Makefile.am (1.44): Distribute also
+	  xsb_cfli.hh.
+
+2006-10-10 Tuesday 07:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/: Makefile.am (1.64),
+	  ppl_interface_generator_swiprolog_cc.m4 (1.6), swi_cfli.cc (1.3),
+	  swi_cfli.h (1.3), swi_cfli.hh (1.1), swi_cfli.ic (1.3):
+	  Reorganized the SWI Prolog Common Foreign Language Interface.
+
+2006-10-10 Tuesday 07:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
+	  (altnum.1): file ppl_interface_generator_swiprolog_cc.m4 was
+	  added on branch altnum on 2006-10-29 19:27:04 +0000
+
+2006-10-10 Tuesday 07:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
+	  (octagons.1): file ppl_interface_generator_swiprolog_cc.m4 was
+	  added on branch octagons on 2006-11-18 20:36:48 +0000
+
+2006-10-10 Tuesday 07:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/swi_cfli.hh (altnum.1): file swi_cfli.hh
+	  was added on branch altnum on 2006-10-29 19:27:04 +0000
+
+2006-10-10 Tuesday 07:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/swi_cfli.hh (octagons.1): file swi_cfli.hh
+	  was added on branch octagons on 2006-11-18 20:36:48 +0000
+
+2006-10-09 Monday 20:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/Makefile.am (1.58): Copy-and-paste mistake
+	  fixed.
+
+2006-10-09 Monday 20:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/membytes1.cc (1.13): test01() is expected to
+	  result in underflow with 8-bit coefficients also with assertions
+	  disabled.
+
+2006-10-09 Monday 16:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4 (1.11),
+	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.8),
+	  Prolog/tests/ppl_interface_generator_predicate_check_extra_code
+	  (1.3), Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
+	  (1.8): [no log message]
+
+2006-10-09 Monday 16:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/ppl_interface_generator_common.m4 (altnum.1): file
+	  ppl_interface_generator_common.m4 was added on branch altnum on
+	  2006-10-29 19:26:57 +0000
+
+2006-10-09 Monday 12:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Makefile.am (1.33): YAP subdirectory
+	  re-enabled.
+
+2006-10-09 Monday 12:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4 (1.5):
+	  Copy-and-paste mistake fixed.
+
+2006-10-09 Monday 12:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4
+	  (altnum.1): file ppl_interface_generator_xsb_cc.m4 was added on
+	  branch altnum on 2006-10-29 19:27:05 +0000
+
+2006-10-09 Monday 12:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4
+	  (octagons.1): file ppl_interface_generator_xsb_cc.m4 was added on
+	  branch octagons on 2006-11-18 20:36:48 +0000
+
+2006-10-09 Monday 10:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/variablesset1.cc (1.5): Work around a bug in GCC
+	  3.3.3.
+
+2006-10-09 Monday 09:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/xsb_cfli.hh (1.1): New implementation of
+	  the XSB Prolog Common Foreign Language Interface.
+
+2006-10-09 Monday 09:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/xsb_cfli.hh (altnum.1): file xsb_cfli.hh
+	  was added on branch altnum on 2006-10-29 19:27:05 +0000
+
+2006-10-09 Monday 09:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/xsb_cfli.hh (octagons.1): file xsb_cfli.hh
+	  was added on branch octagons on 2006-11-18 20:36:49 +0000
+
+2006-10-09 Monday 09:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffinepreimage1.cc (1.2):
+	  Thresholds for test12() updated to reflect the precision
+	  attainable on the Alpha processor.
+
+2006-10-09 Monday 09:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffinepreimage1.cc (altnum.1):
+	  file generalizedaffinepreimage1.cc was added on branch altnum on
+	  2006-10-29 19:27:31 +0000
+
+2006-10-09 Monday 09:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffinepreimage1.cc (octagons.1):
+	  file generalizedaffinepreimage1.cc was added on branch octagons
+	  on 2006-11-18 20:36:59 +0000
+
+2006-10-09 Monday 08:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/disjoint1.cc (1.3): Spurious ASCII-dumps
+	  removed.
+
+2006-10-07 Saturday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
+	  (altnum.1): file ppl_interface_generator_sicstus_sd_cc.m4 was
+	  added on branch altnum on 2006-10-29 19:27:03 +0000
+
+2006-10-07 Saturday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
+	  (octagons.1): file ppl_interface_generator_sicstus_sd_cc.m4 was
+	  added on branch octagons on 2006-11-18 20:36:47 +0000
+
+2006-10-07 Saturday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4
+	  (altnum.1): file ppl_interface_generator_yap_cc.m4 was added on
+	  branch altnum on 2006-10-29 19:27:06 +0000
+
+2006-10-07 Saturday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4
+	  (octagons.1): file ppl_interface_generator_yap_cc.m4 was added on
+	  branch octagons on 2006-11-18 20:36:49 +0000
+
+2006-10-07 Saturday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/yap_cfli.hh (altnum.1): file yap_cfli.hh
+	  was added on branch altnum on 2006-10-29 19:27:06 +0000
+
+2006-10-07 Saturday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/yap_cfli.hh (octagons.1): file yap_cfli.hh
+	  was added on branch octagons on 2006-11-18 20:36:49 +0000
+
+2006-10-07 Saturday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_icc_code.m4
+	  (1.12), ppl_interface_generator_prolog_icc_preamble (1.10),
+	  Ciao/Makefile.am (1.58), Ciao/ciao_cfli.hh (1.1),
+	  Ciao/ppl_ciao.cc (1.48), GNU/Makefile.am (1.57),
+	  GNU/gprolog_cfli.hh (1.1), GNU/ppl_gprolog_sd.cc (1.41),
+	  SICStus/ppl_interface_generator_sicstus_sd_cc.m4 (1.4),
+	  SWI/ppl_interface_generator_swiprolog_cc.m4 (1.5),
+	  XSB/ppl_interface_generator_xsb_cc.m4 (1.4),
+	  YAP/ppl_interface_generator_yap_cc.m4 (1.4), YAP/yap_cfli.h
+	  (1.3), YAP/yap_cfli.hh (1.1), YAP/yap_cfli.ic (1.3): Prolog
+	  interfaces cleaned up.
+
+2006-10-07 Saturday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/ciao_cfli.hh (altnum.1): file ciao_cfli.hh
+	  was added on branch altnum on 2006-10-29 19:27:01 +0000
+
+2006-10-07 Saturday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/ciao_cfli.hh (octagons.1): file
+	  ciao_cfli.hh was added on branch octagons on 2006-11-18 20:36:46
+	  +0000
+
+2006-10-07 Saturday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/gprolog_cfli.hh (altnum.1): file
+	  gprolog_cfli.hh was added on branch altnum on 2006-10-29 19:27:02
+	  +0000
+
+2006-10-07 Saturday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/gprolog_cfli.hh (octagons.1): file
+	  gprolog_cfli.hh was added on branch octagons on 2006-11-18
+	  20:36:47 +0000
+
+2006-10-07 Saturday 18:18  Andrea Cimino
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.63): Useless code removed.
+
+2006-10-07 Saturday 18:16  Andrea Cimino
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.62): maybe_check_results() fixed
+	  when `no_optimization' flag is enabled.
+
+2006-10-07 Saturday 16:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.defs.hh (1.27): Revised a couple of comments.
+
+2006-10-07 Saturday 16:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.defs.hh (altnum.1): file MIP_Problem.defs.hh was
+	  added on branch altnum on 2006-10-29 19:27:14 +0000
+
+2006-10-07 Saturday 15:47  Andrea Cimino
+
+	* src/: MIP_Problem.cc (1.34), MIP_Problem.defs.hh (1.26): Defined
+	  and implemented the method `is_saturated()'.
+
+2006-10-07 Saturday 15:15  Andrea Cimino
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.61),
+	  interfaces/C/ppl_interface_generator_c_cc_preamble (1.3),
+	  interfaces/C/ppl_interface_generator_c_h_preamble (1.4),
+	  src/MIP_Problem.cc (1.33), src/MIP_Problem.defs.hh (1.25),
+	  src/MIP_Problem.templates.hh (1.8), src/Polyhedron_public.cc
+	  (1.84): ppl_lpsol: restored the old threshold.  MIP_Problem:
+	  added the new constructor
+
+	  template <typename In>   MIP_Problem(dimension_type dim,
+	       In first, In last,		const Variables_Set&
+	  int_vars,		  const Linear_Expression& obj =
+	  Linear_Expression::zero(),		   Optimization_Mode mode =
+	  MAXIMIZATION)
+
+	  Renamed `set_integer_dimensions()' to
+	  `add_to_integer_space_dimensions'.  Check, if a variables_set is
+	  passed to a constructor, if the set does not exceed the space
+	  dimension of the MIP Problem.
+
+2006-10-07 Saturday 13:00  Andrea Cimino
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.60): The -r option is now
+	  compatible with -e. Throw an error if we want to solve a MIP with
+	  -e. maybe_check_results() cleaned.  Modified the default
+	  threshold between GLPK and ppl_lpsol, this to prepare us for the
+	  next commit that will change the testsuite.
+
+2006-10-06 Friday 20:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.59): Spurious blanks removed.
+
+2006-10-06 Friday 20:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.58): At least version 0.10 is
+	  required for the MIP solving functionality.
+
+2006-10-06 Friday 20:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.57): This is no longer a toy.
+
+2006-10-06 Friday 20:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.56): Fixed some comments and code
+	  formatting.
+
+2006-10-06 Friday 19:37  Andrea Cimino
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.55): Use "variables" instead of
+	  "Variables" when printing verbose output.
+
+2006-10-06 Friday 19:30  Andrea Cimino
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.54): Some changes: -r is
+	  incompatible with -e.  If a MIP problem is going to be solved,
+	  print, if requested, the variables constrained to be integer.
+
+2006-10-06 Friday 14:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common.m4 (1.10): Another
+	  change to name of a macro.
+
+2006-10-06 Friday 14:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4 (1.9),
+	  C/ppl_interface_generator_c_cc.m4 (1.5),
+	  C/ppl_interface_generator_c_h.m4 (1.9),
+	  Prolog/ppl_interface_generator_prolog_icc.m4 (1.5),
+	  Prolog/ppl_interface_generator_prolog_systems.m4 (1.7),
+	  Prolog/tests/ppl_interface_generator_predicate_check_pl.m4 (1.7):
+	  Complete improvements to ppl_interface_generator_common.m4.  The
+	  top level macro used by the main generating files now m4_all_code
+	  instead of m4_all_classes_code.  The calls therefore adjusted
+	  appropriately.
+
+2006-10-06 Friday 14:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc.m4 (altnum.1): file
+	  ppl_interface_generator_c_cc.m4 was added on branch altnum on
+	  2006-10-29 19:26:58 +0000
+
+2006-10-06 Friday 14:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc.m4 (octagons.1): file
+	  ppl_interface_generator_c_cc.m4 was added on branch octagons on
+	  2006-11-18 20:36:44 +0000
+
+2006-10-06 Friday 14:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_h.m4 (altnum.1): file
+	  ppl_interface_generator_c_h.m4 was added on branch altnum on
+	  2006-10-29 19:26:58 +0000
+
+2006-10-06 Friday 14:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_h.m4 (octagons.1): file
+	  ppl_interface_generator_c_h.m4 was added on branch octagons on
+	  2006-11-18 20:36:44 +0000
+
+2006-10-06 Friday 14:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_icc.m4
+	  (altnum.1): file ppl_interface_generator_prolog_icc.m4 was added
+	  on branch altnum on 2006-10-29 19:27:00 +0000
+
+2006-10-06 Friday 13:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4 (1.8),
+	  C/ppl_interface_generator_c_cc_code.m4 (1.7): Revised
+	  C/ppl_interface_generator_c_cc_code.m4 for the changes to the
+	  pattern names.
+
+	  General improvements to ppl_interface_generator_common.m4
+	  including making some macro names more meaningful and improving
+	  the comments.
+
+2006-10-06 Friday 13:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4 (altnum.1):
+	  file ppl_interface_generator_c_cc_code.m4 was added on branch
+	  altnum on 2006-10-29 19:26:58 +0000
+
+2006-10-06 Friday 10:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4 (1.7),
+	  C/ppl_interface_generator_c_h.m4 (1.8),
+	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.9),
+	  Prolog/ppl_interface_generator_prolog_icc.m4 (1.4),
+	  Prolog/ppl_interface_generator_prolog_systems.m4 (1.6): Many
+	  improvements to the m4 code and comments in
+	  ppl_interface_generator_common.m4
+
+	  Names of macros improved and hence some changes needed in other
+	  interface_generator files that use these names.
+
+	  Unwanted text removed from C/ppl_interface_generator_c_h.m4
+
+	  Bug fixed in ppl_interface_generator_common.m4.
+
+2006-10-05 Thursday 15:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.7),
+	  C/ppl_interface_generator_c_cc.m4 (1.4),
+	  C/ppl_interface_generator_c_dat.m4 (1.7),
+	  C/ppl_interface_generator_c_h.m4 (1.7),
+	  C/ppl_interface_generator_c_h_code.m4 (1.5),
+	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.8),
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.11),
+	  Prolog/ppl_interface_generator_prolog_systems.m4 (1.5),
+	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.7), Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
+	  (1.6): Patterns "represent" and "describe" replaced by 4 patterns
+	  "build_represent", "get_represent", "add_represent" and
+	  "relation_represent", to more accurately relate to the sets of
+	  methods and predicates for which they apply.
+
+	  Before including the preamble, we first change the quote
+	  characters ` and ' using m4_changequote/2. This avoids m4 eating
+	  the quotes in the preamble text.
+
+2006-10-05 Thursday 15:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_h_code.m4 (altnum.1): file
+	  ppl_interface_generator_c_h_code.m4 was added on branch altnum on
+	  2006-10-29 19:26:58 +0000
+
+2006-10-05 Thursday 15:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* configure.ac (1.242): Adjusted to support the building of
+	  separate documentations for the library and its foreign language
+	  interfaces.
+
+2006-10-05 Thursday 15:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: Makefile.am (1.47), devref-c-interface.doxyconf-html.in
+	  (1.1), devref-c-interface.doxyconf-latex.in (1.1),
+	  devref-prolog-interface.doxyconf-html.in (1.1),
+	  devref-prolog-interface.doxyconf-latex.in (1.1),
+	  devref.doxyconf-html.in (1.77), devref.doxyconf-latex.in (1.16),
+	  user-c-interface.doxyconf-html.in (1.1),
+	  user-c-interface.doxyconf-latex.in (1.1),
+	  user-prolog-interface.doxyconf-html.in (1.1),
+	  user-prolog-interface.doxyconf-latex.in (1.1),
+	  user.doxyconf-html.in (1.38), user.doxyconf-latex.in (1.9): The
+	  documentation of foreign languages interfaces is now separated
+	  from the documentation of the main library. The actual
+	  documentation will have to be changed accordingly to reflect this
+	  new design choice.
+
+2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref-c-interface.doxyconf-html.in (altnum.1): file
+	  devref-c-interface.doxyconf-html.in was added on branch altnum on
+	  2006-10-29 19:26:56 +0000
+
+2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref-c-interface.doxyconf-html.in (octagons.1): file
+	  devref-c-interface.doxyconf-html.in was added on branch octagons
+	  on 2006-11-18 20:36:43 +0000
+
+2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref-c-interface.doxyconf-latex.in (altnum.1): file
+	  devref-c-interface.doxyconf-latex.in was added on branch altnum
+	  on 2006-10-29 19:26:56 +0000
+
+2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref-c-interface.doxyconf-latex.in (octagons.1): file
+	  devref-c-interface.doxyconf-latex.in was added on branch octagons
+	  on 2006-11-18 20:36:43 +0000
+
+2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref-prolog-interface.doxyconf-html.in (altnum.1): file
+	  devref-prolog-interface.doxyconf-html.in was added on branch
+	  altnum on 2006-10-29 19:26:56 +0000
+
+2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref-prolog-interface.doxyconf-html.in (octagons.1): file
+	  devref-prolog-interface.doxyconf-html.in was added on branch
+	  octagons on 2006-11-18 20:36:43 +0000
+
+2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref-prolog-interface.doxyconf-latex.in (altnum.1): file
+	  devref-prolog-interface.doxyconf-latex.in was added on branch
+	  altnum on 2006-10-29 19:26:56 +0000
+
+2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref-prolog-interface.doxyconf-latex.in (octagons.1): file
+	  devref-prolog-interface.doxyconf-latex.in was added on branch
+	  octagons on 2006-11-18 20:36:43 +0000
+
+2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user-c-interface.doxyconf-html.in (altnum.1): file
+	  user-c-interface.doxyconf-html.in was added on branch altnum on
+	  2006-10-29 19:26:56 +0000
+
+2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user-c-interface.doxyconf-html.in (octagons.1): file
+	  user-c-interface.doxyconf-html.in was added on branch octagons on
+	  2006-11-18 20:36:43 +0000
+
+2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user-c-interface.doxyconf-latex.in (altnum.1): file
+	  user-c-interface.doxyconf-latex.in was added on branch altnum on
+	  2006-10-29 19:26:56 +0000
+
+2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user-c-interface.doxyconf-latex.in (octagons.1): file
+	  user-c-interface.doxyconf-latex.in was added on branch octagons
+	  on 2006-11-18 20:36:43 +0000
+
+2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user-prolog-interface.doxyconf-html.in (altnum.1): file
+	  user-prolog-interface.doxyconf-html.in was added on branch altnum
+	  on 2006-10-29 19:26:56 +0000
+
+2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user-prolog-interface.doxyconf-html.in (octagons.1): file
+	  user-prolog-interface.doxyconf-html.in was added on branch
+	  octagons on 2006-11-18 20:36:43 +0000
+
+2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user-prolog-interface.doxyconf-latex.in (altnum.1): file
+	  user-prolog-interface.doxyconf-latex.in was added on branch
+	  altnum on 2006-10-29 19:26:56 +0000
+
+2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user-prolog-interface.doxyconf-latex.in (octagons.1): file
+	  user-prolog-interface.doxyconf-latex.in was added on branch
+	  octagons on 2006-11-18 20:36:43 +0000
+
+2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user.doxyconf-latex.in (altnum.1): file
+	  user.doxyconf-latex.in was added on branch altnum on 2006-10-29
+	  19:26:56 +0000
+
+2006-10-05 Thursday 14:57  Elena Mazzi
+
+	* src/: BD_Shape.templates.hh (1.36), DB_Matrix.defs.hh (1.25),
+	  DB_Matrix.inlines.hh (1.28), DB_Matrix.templates.hh (1.3),
+	  DB_Row.defs.hh (1.20), DB_Row.inlines.hh (1.19),
+	  DB_Row.templates.hh (1.2): Added the definitions of methods
+	  `memory_size_type total_memory_in_bytes() const' and
+	  `memory_size_type external_memory_in_bytes() const' in the
+	  following classes: DB_Row, DB_Matrix, BD_Shape.
+
+2006-10-05 Thursday 14:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/DB_Matrix.templates.hh (altnum.1): file
+	  DB_Matrix.templates.hh was added on branch altnum on 2006-10-29
+	  19:27:12 +0000
+
+2006-10-05 Thursday 14:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/DB_Row.templates.hh (altnum.1): file DB_Row.templates.hh was
+	  added on branch altnum on 2006-10-29 19:27:12 +0000
+
+2006-10-05 Thursday 12:19  Elena Mazzi
+
+	* src/BD_Shape.templates.hh (1.35), tests/BD_Shape/disjoint1.cc
+	  (1.2): Fixed the comment in the method
+	  BD_Shape<T>::is_disjoint_from().  Added new tests on this method.
+	  Replaced `system/s of bounded differences' with `bounded
+	  difference shape/s'.
+
+2006-10-05 Thursday 11:34  Andrea Cimino
+
+	* src/: MIP_Problem.cc (1.32), MIP_Problem.defs.hh (1.24):
+	  `recursion_depth' thrown away.
+
+2006-10-05 Thursday 11:14  Andrea Cimino
+
+	* src/: MIP_Problem.cc (1.31), MIP_Problem.defs.hh (1.23): Comments
+	  revised.  `recursion_depth' is an unsigned long.
+
+2006-10-05 Thursday 10:18  Andrea Cimino
+
+	* src/: MIP_Problem.cc (1.30), MIP_Problem.defs.hh (1.22),
+	  MIP_Problem.inlines.hh (1.12), MIP_Problem.templates.hh (1.7):
+	  The correctness of the solution found, if is involved a non-empty
+	  integer Variables_Set, is now proofed without having a special
+	  member in the class. Slightly modified is_mip_satisfiable(),
+	  solve_mip and choose_branching_variable() intefaces for that
+	  purpose.
+
+2006-10-05 Thursday 10:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.inlines.hh (altnum.1): file
+	  MIP_Problem.inlines.hh was added on branch altnum on 2006-10-29
+	  19:27:14 +0000
+
+2006-10-05 Thursday 10:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.inlines.hh (octagons.1): file
+	  MIP_Problem.inlines.hh was added on branch octagons on 2006-11-18
+	  20:36:50 +0000
+
+2006-10-05 Thursday 07:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Checked_Number.inlines.hh (1.68), GMP_Integer.defs.hh
+	  (1.23), GMP_Integer.inlines.hh (1.17): Added void
+	  rem_assign(GMP_Integer&, const GMP_Integer&, const GMP_Integer&).
+	  Added void rem_assign(Checked_Number<T, Policy>&, const
+	  Checked_Number<T, Policy>&, const Checked_Number<T, Policy>&).
+
+2006-10-04 Wednesday 23:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4 (1.6),
+	  ppl_interface_generator_common_dat.m4 (1.6),
+	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
+	  (1.6), Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
+	  (1.5): ppl_interface_generator_common.m4
+	  ppl_interface_generator_common_dat.m4: Redundant code removed,
+	  spelling in comment corrected.
+
+	  Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
+	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4:
+	  Extra predicate definition added to compensate for missing
+	  topology in generated test code.  A rather inelegant solution to
+	  a problem caused by some code requiring the topology "C_" or
+	  "NNC_" attached to "Polyhedron" and some not, depending on the
+	  initiating class.
+
+2006-10-04 Wednesday 21:24  Andrea Cimino
+
+	* src/: MIP_Problem.cc (1.29), MIP_Problem.defs.hh (1.21): Typos
+	  fixed. `recursion_depth' now is an unsigned long.
+
+2006-10-04 Wednesday 20:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/: Makefile.am (1.43), partition1.cc (1.1):
+	  Proof-of-concept implementation of the generalization to grids of
+	  the partition algorithm in [Srivastava93].
+
+2006-10-04 Wednesday 20:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/Makefile.am (altnum.1): file Makefile.am was added on
+	  branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-10-04 Wednesday 20:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/partition1.cc (altnum.1): file partition1.cc was added
+	  on branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-10-04 Wednesday 20:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/partition1.cc (octagons.1): file partition1.cc was
+	  added on branch octagons on 2006-11-18 20:36:57 +0000
+
+2006-10-04 Wednesday 16:01  Andrea Cimino
+
+	* src/: MIP_Problem.cc (1.28), MIP_Problem.defs.hh (1.20),
+	  MIP_Problem.inlines.hh (1.11), MIP_Problem.templates.hh (1.6):
+	  Check in method OK() that the solution, if found, satisfies the
+	  Variables_Set that encodes all the Variables constrained to be
+	  integer.  Added a new member to the class for that purpose.
+
+2006-10-04 Wednesday 13:04  quartieri
+
+	* src/Octagonal_Shape.templates.hh (1.25),
+	  tests/Octagonal_Shape/disjoint1.cc (1.2): Improved the method
+	  is_disjoint_from() and added a new test on it.
+
+2006-10-03 Tuesday 20:02  Andrea Cimino
+
+	* src/MIP_Problem.cc (1.27): Some missing parentheses added.
+
+2006-10-03 Tuesday 19:50  Andrea Cimino
+
+	* src/: MIP_Problem.cc (1.26), MIP_Problem.defs.hh (1.19): Fixed
+	  some typos.  Used more appropriate variable names.
+
+2006-10-03 Tuesday 19:24  Andrea Cimino
+
+	* src/: MIP_Problem.cc (1.25), MIP_Problem.defs.hh (1.18): Comments
+	  revised. Variable type and name changed.
+
+2006-10-03 Tuesday 17:33  Andrea Cimino
+
+	* src/MIP_Problem.cc (1.24): Moved a couple of variable
+	  declarations in the right place.
+
+2006-10-03 Tuesday 17:29  Andrea Cimino
+
+	* src/: MIP_Problem.cc (1.23), MIP_Problem.defs.hh (1.17): Fixed a
+	  bug in solve_mip(): if MAXIMIZATION was requested, the `branch
+	  and bound' tree was cut too early, loosing optimal solutions.
+	  Slightly modified solve_mip() interface to allow to print some
+	  debugging information if requested.
+
+2006-10-03 Tuesday 16:16  Elena Mazzi
+
+	* src/: BD_Shape.inlines.hh (1.135), BD_Shape.templates.hh (1.34):
+	  No longer inlined the following functions: -
+	  BD_Shape::affine_dimension(); -
+	  BD_Shape::forget_all_dbm_constraints(v); -
+	  BD_Shape::forget_binary_dbm_constraints(v).
+
+2006-10-03 Tuesday 15:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/:
+	  ppl_interface_generator_predicate_check_code.m4 (1.5),
+	  ppl_interface_generator_predicate_check_extra_code (1.2),
+	  ppl_interface_generator_predicate_check_pl.m4 (1.4): Some
+	  improvements.  Commented code in
+	  ppl_interface_generator_predicate_check_code.m4 shows a bug in
+	  the main m4 replacement code for friend classes.
+
+2006-10-03 Tuesday 15:35  Elena Mazzi
+
+	* src/BD_Shape.templates.hh (1.33): The method
+	  BD_Shape::is_disjoint_from(y) is now implemented without using a
+	  copy of a BD_Shape.
+
+2006-10-03 Tuesday 14:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/discrete1.cc (altnum.1): file discrete1.cc
+	  was added on branch altnum on 2006-10-29 19:27:31 +0000
+
+2006-10-03 Tuesday 14:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/discrete1.cc (octagons.1): file
+	  discrete1.cc was added on branch octagons on 2006-11-18 20:36:59
+	  +0000
+
+2006-10-03 Tuesday 14:25  quartieri
+
+	* src/Octagonal_Shape.inlines.hh (1.9),
+	  src/Octagonal_Shape.templates.hh (1.24),
+	  tests/Octagonal_Shape/Makefile.am (1.6),
+	  tests/Octagonal_Shape/discrete1.cc (1.1): Defined the method
+	  is_discrete() and moved it from the file
+	  Octagonal_Shape.templates.hh to the file
+	  Octagonal_Shape.inlines.hh.  Added some tests about it.
+
+2006-10-03 Tuesday 14:02  Elena Mazzi
+
+	* src/: BD_Shape.inlines.hh (1.134), BD_Shape.templates.hh (1.32):
+	  Moved the method BD_Shape::is_discrete() from file
+	  `BD_Shape.templates.hh' to `BD_Shape.inlines.hh'.
+
+2006-10-03 Tuesday 13:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4 (1.4): Bug
+	  in code generator for XSB corrected.
+
+2006-10-03 Tuesday 13:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4
+	  (altnum.1): file ppl_interface_generator_xsb_H.m4 was added on
+	  branch altnum on 2006-10-29 19:27:05 +0000
+
+2006-10-03 Tuesday 13:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4
+	  (octagons.1): file ppl_interface_generator_xsb_H.m4 was added on
+	  branch octagons on 2006-11-18 20:36:48 +0000
+
+2006-10-03 Tuesday 13:04  Elena Mazzi
+
+	* src/BD_Shape.templates.hh (1.31), tests/BD_Shape/Makefile.am
+	  (1.50), tests/BD_Shape/discrete1.cc (1.1): Defined the method
+	  BD_Shape::is_discrete() and added some tests on this method.
+
+2006-10-03 Tuesday 13:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/discrete1.cc (altnum.1): file discrete1.cc was
+	  added on branch altnum on 2006-10-29 19:27:22 +0000
+
+2006-10-03 Tuesday 13:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/discrete1.cc (octagons.1): file discrete1.cc was
+	  added on branch octagons on 2006-11-18 20:36:56 +0000
+
+2006-10-03 Tuesday 11:49  Andrea Cimino
+
+	* src/MIP_Problem.cc (1.22): In a MIP_Problem, if we exit with
+	  status UNBOUNDED and we have found a feasible generator, store it
+	  in `last_generator'.
+
+2006-10-03 Tuesday 11:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/: certificate1.cc (1.12), congruence1.cc (1.14),
+	  discrete1.cc (1.6): Awful syntax avoided.
+
+2006-10-03 Tuesday 11:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/certificate1.cc (altnum.1): file certificate1.cc was
+	  added on branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-10-03 Tuesday 11:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/discrete1.cc (altnum.1): file discrete1.cc was added
+	  on branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-10-03 Tuesday 11:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/: Makefile.am (1.32), expected_int16 (1.7),
+	  expected_int16_a (1.7), expected_int32 (1.8), expected_int32_a
+	  (1.8), expected_int64 (1.8), expected_int64_a (1.8),
+	  expected_int8 (1.7), expected_int8_a (1.6), expected_mpz (1.9),
+	  expected_mpz_a (1.9): Do not lie anymore: write on the expected*
+	  files a faithful indication of the command being executed.
+
+2006-10-03 Tuesday 09:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/: Makefile.am (1.9),
+	  ppl_interface_generator_predicate_check_code.m4 (1.4),
+	  ppl_interface_generator_predicate_check_extra_code (1.1),
+	  ppl_interface_generator_predicate_check_pl.m4 (1.3): The extra
+	  test code moved to a separate "extra_code" file.  Before the
+	  m4_include for this file, the quote characters are changed to
+	  @<<@ and @>>@ and then restored back to the original ` and '
+	  after the include.  This allows the inclusion of quote characters
+	  in the Prolog code in the "extra_code" file.
+
+	  Makefile.am modified so that in the interfaces/Prolog/tests
+	  directory "make" creates the Prolog test program
+	  "ppl_predicate_check.pl".
+
+2006-10-03 Tuesday 00:20  Andrea Cimino
+
+	* src/: MIP_Problem.cc (1.21), MIP_Problem.defs.hh (1.16):
+	  Performance of the heuristic method improved: an equality
+	  constraint is an `active constraint' by definition.
+
+2006-10-02 Monday 21:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.37): Previous commit for
+	  this file reversed and test file restored.
+
+2006-10-02 Monday 21:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/tests/: pl_check.pl (1.36),
+	  ppl_interface_generator_predicate_check_code.m4 (1.3): Corrected
+	  a few typos.
+
+2006-10-02 Monday 19:29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_dat.m4 (1.6): Corrected an
+	  m4 macro call.
+
+2006-10-02 Monday 19:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.cc (1.20): Comments revised.
+
+2006-10-02 Monday 18:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: Makefile.am (1.17),
+	  ppl_interface_generator_common.m4 (1.5): Two more changes made
+	  for the change to the m4 builtins.
+
+2006-10-02 Monday 17:45  Andrea Cimino
+
+	* src/: MIP_Problem.cc (1.19), MIP_Problem.defs.hh (1.15): Added a
+	  new heuristic that selects a branching variable when a
+	  MIP_Problem feasibility has to be proofed.  Modified the
+	  prototype for `is_satisfied' to allow the checking of `active
+	  constraints'.  The new heuristic is turned on by default.
+
+2006-10-02 Monday 17:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/: ppl_interface_generator_c_cc_code.m4 (1.6),
+	  ppl_interface_generator_c_h.m4 (1.6): Fixed a couple of bugs
+	  where the m4 builtin had not been revised to m4_builtin.
+
+2006-10-02 Monday 17:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Makefile.am (1.16): Skip the OCaml directory, for the
+	  time being.
+
+2006-10-02 Monday 17:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: ppl_test.hh (1.52), Polyhedron/dualhypercubes.cc (1.10):
+	  Test Polyhedron/dualhypercubes.cc fails on 64 bits checked
+	  integers when assertions are turned on.
+
+2006-10-02 Monday 17:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: C/Makefile.am (1.26),
+	  C/ppl_interface_generator_c_h.m4 (1.5), Prolog/Makefile.am
+	  (1.32), Prolog/Ciao/Makefile.am (1.57), Prolog/GNU/Makefile.am
+	  (1.56), Prolog/SICStus/Makefile.am (1.70), Prolog/SWI/Makefile.am
+	  (1.63), Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4 (1.4),
+	  Prolog/XSB/Makefile.am (1.43), Prolog/YAP/Makefile.am (1.46):
+	  Corrections where some builtins for m4 were not changed as
+	  required.  The Makefile.am files now have m4 --prefix-builtin in
+	  the m4 commands.
+
+2006-10-02 Monday 16:40  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/:
+	  Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4 (1.2),
+	  tests/ppl_interface_generator_predicate_check_code.m4 (1.2),
+	  tests/ppl_interface_generator_predicate_check_pl.m4 (1.2):
+	  Changed these interface_generator files for the test code to
+	  require the m4 command to include --prefix-builtin.
+
+2006-10-02 Monday 16:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4
+	  (altnum.1): file
+	  ppl_interface_generator_ciao_predicate_check_pl.m4 was added on
+	  branch altnum on 2006-10-29 19:27:01 +0000
+
+2006-10-02 Monday 16:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4
+	  (octagons.1): file
+	  ppl_interface_generator_ciao_predicate_check_pl.m4 was added on
+	  branch octagons on 2006-11-18 20:36:46 +0000
+
+2006-10-02 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4
+	  (altnum.1): file ppl_interface_generator_ciao_pl.m4 was added on
+	  branch altnum on 2006-10-29 19:27:01 +0000
+
+2006-10-02 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4
+	  (octagons.1): file ppl_interface_generator_ciao_pl.m4 was added
+	  on branch octagons on 2006-11-18 20:36:46 +0000
+
+2006-10-02 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4
+	  (altnum.1): file ppl_interface_generator_gprolog_pl.m4 was added
+	  on branch altnum on 2006-10-29 19:27:02 +0000
+
+2006-10-02 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4
+	  (octagons.1): file ppl_interface_generator_gprolog_pl.m4 was
+	  added on branch octagons on 2006-11-18 20:36:47 +0000
+
+2006-10-02 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_predicate_check_P.m4
+	  (altnum.1): file ppl_interface_generator_xsb_predicate_check_P.m4
+	  was added on branch altnum on 2006-10-29 19:27:05 +0000
+
+2006-10-02 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_predicate_check_P.m4
+	  (octagons.1): file
+	  ppl_interface_generator_xsb_predicate_check_P.m4 was added on
+	  branch octagons on 2006-11-18 20:36:48 +0000
+
+2006-10-02 Monday 16:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4 (1.4),
+	  ppl_interface_generator_common_dat.m4 (1.5),
+	  C/ppl_interface_generator_c_cc.m4 (1.3),
+	  C/ppl_interface_generator_c_cc_code.m4 (1.5),
+	  C/ppl_interface_generator_c_dat.m4 (1.5),
+	  C/ppl_interface_generator_c_h.m4 (1.4),
+	  C/ppl_interface_generator_c_h_code.m4 (1.4),
+	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.7),
+	  Prolog/ppl_interface_generator_prolog_icc.m4 (1.3),
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.10),
+	  Prolog/ppl_interface_generator_prolog_systems.m4 (1.4),
+	  Prolog/Ciao/ppl_interface_generator_ciao_pl.m4 (1.3),
+	  Prolog/GNU/ppl_interface_generator_gprolog_pl.m4 (1.3),
+	  Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4 (1.3),
+	  Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4 (1.3),
+	  Prolog/XSB/ppl_interface_generator_xsb_H.m4 (1.3),
+	  Prolog/XSB/ppl_interface_generator_xsb_cc.m4 (1.3),
+	  Prolog/XSB/ppl_interface_generator_xsb_predicate_check_P.m4
+	  (1.2), Prolog/YAP/ppl_interface_generator_yap_cc.m4 (1.3):
+	  Changed all the built-ins for the m4 code for generating the
+	  interfaces from builtin to m4_builtin.  Note that the built-in
+	  dnl is unchanged; instead, I have added define(`dnl', `m4_dnl')
+	  at the start of the main files.
+
+2006-10-02 Monday 14:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/:
+	  Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4 (1.1),
+	  XSB/ppl_interface_generator_xsb_predicate_check_P.m4 (1.1),
+	  tests/pl_check.pl (1.35),
+	  tests/ppl_interface_generator_predicate_check_code.m4 (1.1),
+	  tests/ppl_interface_generator_predicate_check_pl.m4 (1.1):
+	  interface generator code for generating a test file for all
+	  predicates for  all the required classes.
+
+2006-10-02 Monday 14:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4 (1.3),
+	  Prolog/ppl_interface_generator_prolog_systems.m4 (1.3): Comments
+	  corrected and allow for a default code that is needed for the
+	  tests.
+
+2006-10-02 Monday 11:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.241): Generate the Grid interfaces by default.
+
+2006-10-02 Monday 11:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/: Makefile.am (1.15), OCaml/ppl_ocaml.cc (1.6),
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.9): Fixed
+	  the generalized image predicated for Grid.
+
+2006-10-02 Monday 11:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.6),
+	  ppl_interface_generator_prolog_icc_code.m4 (1.8): Corrected the
+	  interfacing of Grid::generalized_affine_[pre]image*.
+
+2006-10-02 Monday 10:56  Elena Mazzi
+
+	* src/BD_Shape.templates.hh (1.30): Improved the method:
+	  BD_Shape::is_disjoint_from(const BD_Shape& y).
+
+2006-10-02 Monday 09:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_icc_code.m4
+	  (1.7), ppl_interface_generator_prolog_icc_preamble (1.9):
+	  term_to_relation_symbol() revised.
+
+2006-10-01 Sunday 22:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_icc_preamble
+	  (1.8): Corrected order of arguments in
+	  ppl_new_LP_Problem_from_space_dimension/2.
+
+2006-10-01 Sunday 22:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.34): Define aux predicate
+	  clean_ppl_new_LP_Problem_from_space_dimension/2.
+
+2006-10-01 Sunday 20:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_icc_code.m4
+	  (1.6), ppl_interface_generator_prolog_icc_preamble (1.7): Severa
+	  FIXMEs dealt with.
+
+2006-10-01 Sunday 20:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: exceptions.hh (1.23),
+	  ppl_interface_generator_prolog_icc_code.m4 (1.5),
+	  ppl_interface_generator_prolog_icc_preamble (1.6): Most
+	  predicates now raise meaningful exceptions.
+
+2006-10-01 Sunday 18:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: exceptions.hh (1.22),
+	  ppl_interface_generator_prolog_icc_preamble (1.5): Class
+	  PPL_integer_out_of_range revised.
+
+2006-10-01 Sunday 17:19  Andrea Cimino
+
+	* tests/Polyhedron/variablesset1.cc (1.4): Test also
+	  `std::set_intersection' and `std::set_difference'.
+
+2006-10-01 Sunday 15:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.5),
+	  ppl_interface_generator_prolog_icc_preamble (1.4): LP_Problem
+	  interface updated.
+
+2006-10-01 Sunday 14:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: exceptions.hh (1.21),
+	  ppl_interface_generator_prolog_icc_code.m4 (1.4),
+	  ppl_interface_generator_prolog_icc_preamble (1.3): Started
+	  improving the Prolog interface error reporting mechanisms.  Fixed
+	  several copy-and-paste mistakes in the support for grids.
+
+2006-10-01 Sunday 11:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/: ppl_ocaml.cc (1.5), ppl_ocaml.mli (1.4),
+	  test1.ml (1.4): Sample code to support building polyhedra from
+	  OCaml.
+
+2006-10-01 Sunday 11:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_ocaml.mli (altnum.1): file ppl_ocaml.mli was
+	  added on branch altnum on 2006-10-29 19:27:00 +0000
+
+2006-10-01 Sunday 11:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_ocaml.mli (octagons.1): file ppl_ocaml.mli
+	  was added on branch octagons on 2006-11-18 20:36:46 +0000
+
+2006-10-01 Sunday 11:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/test1.ml (altnum.1): file test1.ml was added on
+	  branch altnum on 2006-10-29 19:27:00 +0000
+
+2006-10-01 Sunday 11:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/test1.ml (octagons.1): file test1.ml was added
+	  on branch octagons on 2006-11-18 20:36:46 +0000
+
+2006-10-01 Sunday 08:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/: ppl_ocaml.cc (1.4), ppl_ocaml.mli (1.3),
+	  test1.ml (1.3): build_Constraint_System() and
+	  build_Generator_System() rewritten.
+
+2006-09-30 Saturday 21:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_ocaml.cc (1.3): Support the building of
+	  constraint and generator systems.
+
+2006-09-30 Saturday 21:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/: ppl_ocaml.cc (1.2), ppl_ocaml.mli (1.2),
+	  test1.ml (1.2): Support the building of constraints and
+	  generators.
+
+2006-09-30 Saturday 17:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/: Makefile.am (1.13), ppl_ocaml.cc (1.1),
+	  ppl_ocaml.mli (1.1), test1.ml (1.1): Initial steps for the OCaml
+	  interface.
+
+2006-09-30 Saturday 16:44  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.4):
+	  Corrected trivial bug (missing commas) whereby the C interface
+	  code was not generated for several methods.
+
+2006-09-30 Saturday 16:41  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_dat.m4 (1.4): Minor
+	  improvements: methods not available for BDS are neither avaiable
+	  for Octagonal shapes.
+
+2006-09-30 Saturday 16:39  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Octagonal_Shape.defs.hh (1.11), Octagonal_Shape.inlines.hh
+	  (1.8), Octagonal_Shape.templates.hh (1.23): Added methods
+	  shrink_bounding_box() and topological_closure_assign().
+
+2006-09-30 Saturday 16:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh (1.29): Corrected a bug in
+	  shrink_bounding_box.
+
+2006-09-30 Saturday 15:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_dat.m4 (1.4):
+	  BD_Shape now have the generalized (pre-) images methods.
+
+2006-09-30 Saturday 14:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.240): Do not invoke AM_PROG_GCJ.
+
+2006-09-30 Saturday 13:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_h_preamble (1.3):
+	  Distribute the output functions in the corresponding group
+	  depending on the interfaced PPL entity.
+
+2006-09-30 Saturday 13:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_h.m4 (1.3): Corrected
+	  simple bug in the generation of documentation grouping.
+
+2006-09-29 Friday 23:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4 (1.4),
+	  C/ppl_interface_generator_c_cc_code.m4 (1.3),
+	  C/ppl_interface_generator_c_dat.m4 (1.3),
+	  C/ppl_interface_generator_c_h_code.m4 (1.3),
+	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.3),
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.3): Replaced
+	  pattern "is_ at STATE@ by "@HAS_PROPERTY@ and added replacement
+	  "contains_integer_point" for this pattern.  A comment corrected.
+
+2006-09-29 Friday 21:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.239): Added the infrastructure required to enable
+	  the Java interface.
+
+2006-09-29 Friday 21:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.238): Added the infrastructure required to enable
+	  the OCaml interface.
+
+2006-09-29 Friday 18:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/variablesset1.cc (1.3): Show how
+	  std::set_union() should be used.
+
+2006-09-29 Friday 18:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.101), containsintegerpoint1.cc
+	  (1.1): Added a test for Polyhedron::contains_integer_point().
+
+2006-09-29 Friday 18:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/containsintegerpoint1.cc (altnum.1): file
+	  containsintegerpoint1.cc was added on branch altnum on 2006-10-29
+	  19:27:32 +0000
+
+2006-09-29 Friday 18:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/containsintegerpoint1.cc (octagons.1): file
+	  containsintegerpoint1.cc was added on branch octagons on
+	  2006-11-18 20:37:00 +0000
+
+2006-09-29 Friday 18:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (1.3):
+	  Polyhedra_Powerset renamed as Pointset_Powerset.
+
+2006-09-29 Friday 16:01  Andrea Cimino
+
+	* tests/Polyhedron/variablesset1.cc (1.2): Fixed a typo.
+
+2006-09-29 Friday 16:00  Andrea Cimino
+
+	* tests/Polyhedron/: Makefile.am (1.100), variablesset1.cc (1.1):
+	  Added some tests for the Variables_Set class.  Remeber also to
+	  test set_union(), set_difference()...
+
+2006-09-29 Friday 14:19  quartieri
+
+	* src/Octagonal_Shape.templates.hh (1.22),
+	  tests/Octagonal_Shape/Makefile.am (1.5),
+	  tests/Octagonal_Shape/disjoint1.cc (1.1): Added the method
+	  bool Octagonal_Shape<T>::is_disjoint_from() and some tests about
+	  it.
+
+2006-09-29 Friday 14:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/: foldspacedims2.cc (1.13), membytes1.cc (1.12):
+	  Adjusted tests that no longer fail with 8-bit coefficients.
+
+2006-09-29 Friday 14:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.237), instchk.hh (1.6), interfaces/Makefile.am
+	  (1.14), interfaces/ppl_interface_generator_common.m4 (1.2),
+	  interfaces/ppl_interface_generator_common_dat.m4 (1.2),
+	  interfaces/ppl_interface_generator_copyright (1.2),
+	  interfaces/C/Makefile.am (1.25), interfaces/C/ppl_c.cc (1.158),
+	  interfaces/C/ppl_c_version.h.in (1.2),
+	  interfaces/C/ppl_interface_generator_c_cc.m4 (1.2),
+	  interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.2),
+	  interfaces/C/ppl_interface_generator_c_cc_preamble (1.2),
+	  interfaces/C/ppl_interface_generator_c_dat.m4 (1.2),
+	  interfaces/C/ppl_interface_generator_c_h.m4 (1.2),
+	  interfaces/C/ppl_interface_generator_c_h_code.m4 (1.2),
+	  interfaces/C/ppl_interface_generator_c_h_preamble (1.2),
+	  interfaces/Prolog/Makefile.am (1.31),
+	  interfaces/Prolog/exceptions.hh (1.20),
+	  interfaces/Prolog/ppl_interface_generator_prolog_dat.m4 (1.2),
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc.m4 (1.2),
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (1.2),
+	  interfaces/Prolog/ppl_interface_generator_prolog_icc_preamble
+	  (1.2),
+	  interfaces/Prolog/ppl_interface_generator_prolog_systems.m4
+	  (1.2), interfaces/Prolog/ppl_prolog.icc (1.181),
+	  interfaces/Prolog/Ciao/Makefile.am (1.56),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.93),
+	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4 (1.2),
+	  interfaces/Prolog/GNU/Makefile.am (1.55),
+	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.62),
+	  interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4
+	  (1.2), interfaces/Prolog/SICStus/Makefile.am (1.69),
+	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
+	  (1.2), interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.97),
+	  interfaces/Prolog/SICStus/sicstus_cfli.h (1.8),
+	  interfaces/Prolog/SWI/Makefile.am (1.62),
+	  interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
+	  (1.2), interfaces/Prolog/SWI/ppl_swiprolog.cc (1.127),
+	  interfaces/Prolog/SWI/swi_cfli.cc (1.2),
+	  interfaces/Prolog/SWI/swi_cfli.h (1.2),
+	  interfaces/Prolog/SWI/swi_cfli.ic (1.2),
+	  interfaces/Prolog/XSB/Makefile.am (1.42),
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4 (1.2),
+	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4 (1.2),
+	  interfaces/Prolog/XSB/ppl_xsb.H (1.51),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.93),
+	  interfaces/Prolog/YAP/Makefile.am (1.45),
+	  interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4 (1.2),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.121),
+	  interfaces/Prolog/YAP/yap_cfli.cc (1.2),
+	  interfaces/Prolog/YAP/yap_cfli.h (1.2),
+	  interfaces/Prolog/YAP/yap_cfli.ic (1.2),
+	  interfaces/Prolog/tests/Makefile.am (1.8),
+	  interfaces/Prolog/tests/pl_check.pl (1.33),
+	  interfaces/Prolog/tests/pl_grid_check.pl (1.2),
+	  src/BD_Shape.defs.hh (1.81), src/BD_Shape.inlines.hh (1.133),
+	  src/BD_Shape.templates.hh (1.28): The `interfaces' branch has
+	  been merged to the main trunk.  The branch has now to be
+	  considered closed.
+
+2006-09-29 Friday 14:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* instchk.hh (altnum.1): file instchk.hh was added on branch altnum
+	  on 2006-10-29 19:26:46 +0000
+
+2006-09-29 Friday 14:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/ppl_interface_generator_copyright (altnum.1): file
+	  ppl_interface_generator_copyright was added on branch altnum on
+	  2006-10-29 19:26:57 +0000
+
+2006-09-29 Friday 14:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/ppl_interface_generator_copyright (octagons.1): file
+	  ppl_interface_generator_copyright was added on branch octagons on
+	  2006-11-18 20:36:44 +0000
+
+2006-09-29 Friday 11:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Makefile.am (interfaces.5): Temporarily disable
+	  the YAP interface.
+
+2006-09-29 Friday 11:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/: ppl_interface_generator_c_cc.m4,
+	  ppl_interface_generator_c_cc_preamble,
+	  ppl_interface_generator_c_h.m4,
+	  ppl_interface_generator_c_h_preamble (interfaces.[7,6,7,7]):
+	  Added support for interfacing MIP_problem class and for
+	  ascii_dump methods, as done in the main trunk.
+
+2006-09-29 Friday 11:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/yap_cfli.cc (interfaces.1): Put under CVS
+	  control.
+
+2006-09-29 Friday 11:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.83): Added a workaround to the
+	  implementation of contains_integer_point(), so as to correctly
+	  handle the case of NNC polyhedra and also avoid a few trivial
+	  cases where the polyhedron is known to be empty.
+
+2006-09-29 Friday 09:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: C/ppl_interface_generator_c_cc_preamble,
+	  C/ppl_interface_generator_c_h_preamble,
+	  Prolog/ppl_interface_generator_prolog_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_icc_preamble,
+	  Prolog/tests/pl_check.pl (interfaces.[5,6,31,5,2]): Updated for
+	  changes from the Trunk.  Now C and Prolog interfaces compile with
+	  the "Polyhedron" for the --enable-instantiation.  Only SICStus
+	  and SWI Prolog interfaces tested.
+
+2006-09-29 Friday 00:42  Andrea Cimino
+
+	* src/: LP_Problem.defs.hh (1.26), MIP_Problem.defs.hh (1.14):
+	  Other doxygen comments fixed.
+
+2006-09-28 Thursday 22:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS, ChangeLog, INSTALL, NEWS, STANDARDS, TODO, config.guess,
+	  config.sub, configure.ac, install-sh, instchk.hh, missing,
+	  mkinstalldirs, Watchdog/ChangeLog, Watchdog/INSTALL,
+	  Watchdog/config.guess, Watchdog/config.sub, Watchdog/install-sh,
+	  Watchdog/missing, Watchdog/mkinstalldirs,
+	  Watchdog/src/EList.defs.hh, Watchdog/src/Handler.defs.hh,
+	  Watchdog/src/Makefile.am, Watchdog/src/Pending_Element.defs.hh,
+	  Watchdog/src/Watchdog.cc, Watchdog/src/Watchdog.defs.hh,
+	  demos/ppl_lpsol/Makefile.am, demos/ppl_lpsol/expected_int16,
+	  demos/ppl_lpsol/expected_int16_a, demos/ppl_lpsol/expected_int32,
+	  demos/ppl_lpsol/expected_int32_a, demos/ppl_lpsol/expected_int64,
+	  demos/ppl_lpsol/expected_int64_a, demos/ppl_lpsol/expected_int8,
+	  demos/ppl_lpsol/expected_int8_a, demos/ppl_lpsol/expected_mpz,
+	  demos/ppl_lpsol/expected_mpz_a, demos/ppl_lpsol/ppl_lpsol.c,
+	  doc/definitions.dox, doc/devref.doxyconf-html.in,
+	  doc/devref.doxyconf-latex.in, doc/ppl-config.1,
+	  doc/ppl-config_extra_man_text, doc/ppl_lcdd.1,
+	  doc/ppl_lcdd_extra_man_text, doc/ppl_lpsol.1,
+	  doc/ppl_lpsol_extra_man_text, doc/prog2man,
+	  interfaces/C/Makefile.am, interfaces/C/ppl_c.h.in,
+	  interfaces/Prolog/Prolog_interface.dox,
+	  interfaces/Prolog/track_allocation.hh,
+	  interfaces/Prolog/Ciao/ciao_pl_check.pl,
+	  interfaces/Prolog/Ciao/ppl_ciao.cc,
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc,
+	  interfaces/Prolog/SWI/Makefile.am,
+	  interfaces/Prolog/XSB/expected_pchk_int8,
+	  interfaces/Prolog/XSB/xsb_pl_check.P,
+	  interfaces/Prolog/tests/clpq2.pl,
+	  interfaces/Prolog/tests/expected_pchk_int8,
+	  interfaces/Prolog/tests/pl_check.pl, src/Any_Pointset.defs.hh,
+	  src/Any_Pointset.inlines.hh, src/Any_Pointset.types.hh,
+	  src/Ask_Tell.defs.hh, src/Ask_Tell.inlines.hh,
+	  src/Ask_Tell.templates.hh, src/Ask_Tell.types.hh,
+	  src/BDS_Status.idefs.hh, src/BDS_Status.inlines.hh,
+	  src/BD_Shape.cc, src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
+	  src/BD_Shape.templates.hh, src/Bounding_Box.defs.hh,
+	  src/C_Polyhedron.defs.hh, src/C_Polyhedron.inlines.hh,
+	  src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
+	  src/Congruence.cc, src/Congruence.defs.hh,
+	  src/Congruence.inlines.hh, src/Congruence_System.cc,
+	  src/Congruence_System.defs.hh, src/Constraint.cc,
+	  src/Constraint.defs.hh, src/Constraint.inlines.hh,
+	  src/Constraint_System.cc, src/Constraint_System.defs.hh,
+	  src/DB_Matrix.defs.hh, src/DB_Matrix.inlines.hh,
+	  src/DB_Matrix.templates.hh, src/DB_Row.defs.hh,
+	  src/Determinate.defs.hh, src/Determinate.inlines.hh,
+	  src/Direct_Product.defs.hh, src/Direct_Product.inlines.hh,
+	  src/Direct_Product.templates.hh, src/Direct_Product.types.hh,
+	  src/GMP_Integer.defs.hh, src/GMP_Integer.inlines.hh,
+	  src/Generator.cc, src/Generator.defs.hh, src/Generator_System.cc,
+	  src/Generator_System.defs.hh, src/Grid.defs.hh,
+	  src/Grid.inlines.hh, src/Grid.templates.hh,
+	  src/Grid_Certificate.cc, src/Grid_Generator.cc,
+	  src/Grid_Generator.defs.hh, src/Grid_Generator_System.cc,
+	  src/Grid_Generator_System.defs.hh, src/Grid_Status.cc,
+	  src/Grid_Status.idefs.hh, src/Grid_chdims.cc,
+	  src/Grid_conversion.cc, src/Grid_nonpublic.cc,
+	  src/Grid_public.cc, src/Grid_simplify.cc, src/Grid_widenings.cc,
+	  src/LP_Problem.cc, src/LP_Problem.defs.hh,
+	  src/LP_Problem.inlines.hh, src/LP_Problem.templates.hh,
+	  src/Linear_Expression.cc, src/Linear_Expression.defs.hh,
+	  src/Linear_Expression.inlines.hh, src/Linear_Row.cc,
+	  src/Linear_Row.defs.hh, src/Linear_System.cc,
+	  src/Linear_System.defs.hh, src/MIP_Problem.cc,
+	  src/MIP_Problem.defs.hh, src/MIP_Problem.inlines.hh,
+	  src/MIP_Problem.templates.hh, src/MIP_Problem.types.hh,
+	  src/Makefile.am, src/Matrix.cc, src/Matrix.defs.hh,
+	  src/NNC_Polyhedron.defs.hh, src/NNC_Polyhedron.inlines.hh,
+	  src/OR_Matrix.defs.hh, src/OR_Matrix.inlines.hh,
+	  src/OR_Matrix.templates.hh, src/OR_Matrix.types.hh,
+	  src/Octagonal_Shape.cc, src/Octagonal_Shape.defs.hh,
+	  src/Octagonal_Shape.inlines.hh, src/Octagonal_Shape.templates.hh,
+	  src/Octagonal_Shape.types.hh, src/Og_Status.idefs.hh,
+	  src/Og_Status.inlines.hh, src/Ph_Status.cc,
+	  src/Ph_Status.idefs.hh, src/Pointset_Ask_Tell.cc,
+	  src/Pointset_Ask_Tell.defs.hh, src/Pointset_Ask_Tell.inlines.hh,
+	  src/Pointset_Ask_Tell.templates.hh,
+	  src/Pointset_Ask_Tell.types.hh, src/Pointset_Powerset.cc,
+	  src/Pointset_Powerset.defs.hh, src/Pointset_Powerset.inlines.hh,
+	  src/Pointset_Powerset.templates.hh,
+	  src/Pointset_Powerset.types.hh, src/Polyhedra_Powerset.cc,
+	  src/Polyhedra_Powerset.defs.hh,
+	  src/Polyhedra_Powerset.inlines.hh,
+	  src/Polyhedra_Powerset.templates.hh,
+	  src/Polyhedra_Powerset.types.hh, src/Polyhedron.defs.hh,
+	  src/Polyhedron.inlines.hh, src/Polyhedron.templates.hh,
+	  src/Polyhedron_chdims.cc, src/Polyhedron_nonpublic.cc,
+	  src/Polyhedron_public.cc, src/Polyhedron_widenings.cc,
+	  src/Powerset.defs.hh, src/Powerset.inlines.hh,
+	  src/Powerset.templates.hh, src/Result.defs.hh,
+	  src/Result.inlines.hh, src/Rounding_Dir.inlines.hh, src/Row.cc,
+	  src/Row.defs.hh, src/Saturation_Matrix.cc,
+	  src/Saturation_Matrix.defs.hh, src/Saturation_Row.cc,
+	  src/Saturation_Row.defs.hh, src/Variable.cc,
+	  src/Variable.defs.hh, src/Variables_Set.cc,
+	  src/Variables_Set.defs.hh, src/Variables_Set.inlines.hh,
+	  src/Variables_Set.types.hh, src/Widening_Function.defs.hh,
+	  src/Widening_Function.inlines.hh, src/algorithms.hh,
+	  src/checked.inlines.hh, src/checked_ext.inlines.hh,
+	  src/checked_float.inlines.hh, src/checked_int.inlines.hh,
+	  src/checked_numeric_limits.hh, src/conversion.cc,
+	  src/distances.defs.hh, src/distances.inlines.hh,
+	  src/distances.types.hh, src/fpu-ia32.inlines.hh,
+	  src/globals.defs.hh, src/globals.inlines.hh,
+	  src/iterator_to_const.defs.hh, src/iterator_to_const.inlines.hh,
+	  src/iterator_to_const.types.hh, src/max_space_dimension.hh,
+	  src/mp_numeric_limits.hh, src/namespaces.hh, tests/BBox.cc,
+	  tests/FCAIBVP.cc, tests/FCAIBVP.defs.hh,
+	  tests/FCAIBVP.inlines.hh, tests/FCAIBVP.types.hh,
+	  tests/Makefile.am, tests/Partial_Function.cc, tests/ppl_test.cc,
+	  tests/ppl_test.hh, tests/print.hh, tests/Ask_Tell/.cvsignore,
+	  tests/Ask_Tell/Makefile.am, tests/Ask_Tell/append1.cc,
+	  tests/BD_Shape/Makefile.am, tests/BD_Shape/addconstraints1.cc,
+	  tests/BD_Shape/addspacedims1.cc, tests/BD_Shape/affineimage1.cc,
+	  tests/BD_Shape/affinepreimage1.cc,
+	  tests/BD_Shape/ascii_dump_load1.cc,
+	  tests/BD_Shape/bdsdifference1.cc, tests/BD_Shape/bdshull1.cc,
+	  tests/BD_Shape/bgp99extrapolation1.cc,
+	  tests/BD_Shape/bhmz05widening1.cc,
+	  tests/BD_Shape/bhz03widening1.cc,
+	  tests/BD_Shape/cc76extrapolation1.cc,
+	  tests/BD_Shape/cc76narrowing1.cc, tests/BD_Shape/concatenate1.cc,
+	  tests/BD_Shape/constraints1.cc, tests/BD_Shape/contains1.cc,
+	  tests/BD_Shape/containsintegerpoint1.cc,
+	  tests/BD_Shape/disjoint1.cc, tests/BD_Shape/frompolyhedron1.cc,
+	  tests/BD_Shape/generalizedaffineimage1.cc,
+	  tests/BD_Shape/generalizedaffineimage2.cc,
+	  tests/BD_Shape/geomcovers1.cc, tests/BD_Shape/h79widening1.cc,
+	  tests/BD_Shape/intersection1.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation1.cc,
+	  tests/BD_Shape/limitedcc76extrapolation1.cc,
+	  tests/BD_Shape/limitedh79extrapolation1.cc,
+	  tests/BD_Shape/mapspacedims1.cc,
+	  tests/BD_Shape/minconstraints1.cc,
+	  tests/BD_Shape/removespacedims1.cc,
+	  tests/BD_Shape/timeelapse1.cc, tests/BD_Shape/universe1.cc,
+	  tests/Grid/Makefile.am, tests/Grid/affineimage2.cc,
+	  tests/Grid/asciidumpload1.cc, tests/Grid/asciidumpload3.cc,
+	  tests/Grid/asciidumpload4.cc, tests/Grid/bhz03widening1.cc,
+	  tests/Grid/boundedaffineimage1.cc,
+	  tests/Grid/boundedaffinepreimage1.cc, tests/Grid/boundingbox2.cc,
+	  tests/Grid/congruences2.cc, tests/Grid/containsintegerpoint1.cc,
+	  tests/Grid/coveringbox2.cc, tests/Grid/directproduct1.cc,
+	  tests/Grid/directproduct2.cc, tests/Grid/equals1.cc,
+	  tests/Grid/foldspacedims1.cc,
+	  tests/Grid/generalizedaffineimage1.cc,
+	  tests/Grid/generalizedaffineimage2.cc,
+	  tests/Grid/generalizedaffineimage3.cc,
+	  tests/Grid/generalizedaffinepreimage1.cc,
+	  tests/Grid/generalizedaffinepreimage2.cc,
+	  tests/Grid/generalizedaffinepreimage3.cc, tests/Grid/grid1.cc,
+	  tests/Grid/grid2.cc, tests/Grid/membytes1.cc,
+	  tests/Grid/relations2.cc, tests/Grid/relations3.cc,
+	  tests/Grid/widening2.cc, tests/Octagonal_Shape/.cvsignore,
+	  tests/Octagonal_Shape/Makefile.am,
+	  tests/Octagonal_Shape/addspacedims1.cc,
+	  tests/Octagonal_Shape/affinedimension1.cc,
+	  tests/Octagonal_Shape/affineimage1.cc,
+	  tests/Octagonal_Shape/affineimage2.cc,
+	  tests/Octagonal_Shape/affinepreimage1.cc,
+	  tests/Octagonal_Shape/affinepreimage2.cc,
+	  tests/Octagonal_Shape/ascii_dump_load1.cc,
+	  tests/Octagonal_Shape/bhmz05widening1.cc,
+	  tests/Octagonal_Shape/bhz03widening1.cc,
+	  tests/Octagonal_Shape/bounded1.cc,
+	  tests/Octagonal_Shape/cc76extrapolation1.cc,
+	  tests/Octagonal_Shape/cc76narrowing1.cc,
+	  tests/Octagonal_Shape/chinainit.cc,
+	  tests/Octagonal_Shape/concatenate1.cc,
+	  tests/Octagonal_Shape/constraints1.cc,
+	  tests/Octagonal_Shape/contains1.cc,
+	  tests/Octagonal_Shape/containsintegerpoint1.cc,
+	  tests/Octagonal_Shape/empty1.cc,
+	  tests/Octagonal_Shape/fromgensys1.cc,
+	  tests/Octagonal_Shape/frompolyhedron1.cc,
+	  tests/Octagonal_Shape/generalizedaffineimage1.cc,
+	  tests/Octagonal_Shape/generalizedaffineimage2.cc,
+	  tests/Octagonal_Shape/generalizedaffineimage3.cc,
+	  tests/Octagonal_Shape/generalizedaffineimage4.cc,
+	  tests/Octagonal_Shape/generalizedaffineimage5.cc,
+	  tests/Octagonal_Shape/generalizedaffinepreimage1.cc,
+	  tests/Octagonal_Shape/generalizedaffinepreimage2.cc,
+	  tests/Octagonal_Shape/generalizedaffinepreimage3.cc,
+	  tests/Octagonal_Shape/generalizedaffinepreimage4.cc,
+	  tests/Octagonal_Shape/intersection1.cc,
+	  tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc,
+	  tests/Octagonal_Shape/limitedcc76extrapolation1.cc,
+	  tests/Octagonal_Shape/mapspacedims1.cc,
+	  tests/Octagonal_Shape/maxspacedim.cc,
+	  tests/Octagonal_Shape/minconstraints1.cc,
+	  tests/Octagonal_Shape/octdifference1.cc,
+	  tests/Octagonal_Shape/octhull1.cc,
+	  tests/Octagonal_Shape/relatwithcons1.cc,
+	  tests/Octagonal_Shape/relatwithcons2.cc,
+	  tests/Octagonal_Shape/relatwithgen1.cc,
+	  tests/Octagonal_Shape/removespacedims1.cc,
+	  tests/Octagonal_Shape/run_tests,
+	  tests/Octagonal_Shape/timeelapse1.cc,
+	  tests/Octagonal_Shape/universe1.cc,
+	  tests/Octagonal_Shape/writeoctagon1.cc,
+	  tests/Polyhedron/Makefile.am, tests/Polyhedron/append1.cc,
+	  tests/Polyhedron/append2.cc,
+	  tests/Polyhedron/bgp99extrapolation1.cc,
+	  tests/Polyhedron/bhz03widening1.cc, tests/Polyhedron/bug2.cc,
+	  tests/Polyhedron/bug2.dat, tests/Polyhedron/dualhypercubes.cc,
+	  tests/Polyhedron/exceptions1.cc, tests/Polyhedron/exceptions2.cc,
+	  tests/Polyhedron/exceptions3.cc, tests/Polyhedron/geomcovers1.cc,
+	  tests/Polyhedron/intersection1.cc,
+	  tests/Polyhedron/limitedbhrz03extrapolation1.cc,
+	  tests/Polyhedron/linearpartition1.cc,
+	  tests/Polyhedron/linearsystem1.cc,
+	  tests/Polyhedron/lpproblem1.cc, tests/Polyhedron/matrix1.cc,
+	  tests/Polyhedron/maxspacedim1.cc, tests/Polyhedron/mc91.cc,
+	  tests/Polyhedron/membytes1.cc, tests/Polyhedron/membytes2.cc,
+	  tests/Polyhedron/pointsetpowerset1.cc,
+	  tests/Polyhedron/polydifference1.cc,
+	  tests/Polyhedron/polyhull1.cc, tests/Polyhedron/polypowerset1.cc,
+	  tests/Polyhedron/powerset1.cc, tests/Polyhedron/timeelapse1.cc,
+	  utils/timings.cc
+	  (interfaces.[1,1,1,1,1,1,1,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,2,2,5,1,1,1,1,1,1,5,1,1,1,1,1,2,2,2,1,1,2,1,1,1,1,2,2,2,1,1,1,1,1,1,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,2,2,3,1,1,1,1,1,1,1,2,2,2,1,2,2,2,2,1,1,2,2,1,2,2,2,1,1,1,2,2,2,1,1,1,1,1,2,2,2,2,2,2,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,1,1,1,1,1,1,1,1,1,2,2,2,1,2,1,2,2,2,1,1,1,1,2,2,2,2,1,1,1,1,1,2,2,2,1,1,1,1,1,1,1,1,1, [...]
+	  Second merge from main trunk (several compilation errors still to
+	  be fixed).
+
+2006-09-28 Thursday 22:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/: ppl_interface_generator_yap_cc.m4,
+	  yap_cfli.h, yap_cfli.ic (interfaces.[4,2,2]): Started a revision
+	  of the YAP interface.
+
+2006-09-28 Thursday 21:06  Andrea Cimino
+
+	* src/LP_Problem.defs.hh (1.25): Other little English inaccuracy
+	  fixed.
+
+2006-09-28 Thursday 21:03  Andrea Cimino
+
+	* src/: LP_Problem.cc (1.36), LP_Problem.defs.hh (1.24),
+	  MIP_Problem.cc (1.18), MIP_Problem.defs.hh (1.13): Some English
+	  inaccuracies fixed.  Properly renamed also `unsplit()' to
+	  `merge_split_variables()'.
+
+2006-09-28 Thursday 21:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.cc (interfaces.1): file MIP_Problem.cc was added
+	  on branch interfaces on 2006-09-28 20:46:29 +0000
+
+2006-09-28 Thursday 21:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.defs.hh (interfaces.1): file MIP_Problem.defs.hh
+	  was added on branch interfaces on 2006-09-28 20:46:29 +0000
+
+2006-09-28 Thursday 17:21  Elena Mazzi
+
+	* tests/BD_Shape/: Makefile.am (1.49), disjoint1.cc (1.1): Added
+	  new tests on the method BD_Shape::is_disjoint_from(y).
+
+2006-09-28 Thursday 17:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/disjoint1.cc (interfaces.1): file disjoint1.cc was
+	  added on branch interfaces on 2006-09-28 20:46:31 +0000
+
+2006-09-28 Thursday 17:19  Elena Mazzi
+
+	* src/BD_Shape.templates.hh (1.27): Defined the method:
+	  BD_Shape::is_disjoint_from(const BD_Shape& y).
+
+2006-09-28 Thursday 14:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/intersection1.cc (1.12): test01() never fails.
+
+2006-09-28 Thursday 14:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/boundedaffineimage1.cc (altnum.1): file
+	  boundedaffineimage1.cc was added on branch altnum on 2006-10-29
+	  19:27:27 +0000
+
+2006-09-28 Thursday 14:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/boundedaffineimage1.cc (interfaces.1): file
+	  boundedaffineimage1.cc was added on branch interfaces on
+	  2006-09-28 20:46:31 +0000
+
+2006-09-28 Thursday 14:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/boundedaffineimage1.cc (octagons.1): file
+	  boundedaffineimage1.cc was added on branch octagons on 2006-11-18
+	  20:36:56 +0000
+
+2006-09-28 Thursday 14:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/boundedaffinepreimage1.cc (altnum.1): file
+	  boundedaffinepreimage1.cc was added on branch altnum on
+	  2006-10-29 19:27:27 +0000
+
+2006-09-28 Thursday 14:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/boundedaffinepreimage1.cc (interfaces.1): file
+	  boundedaffinepreimage1.cc was added on branch interfaces on
+	  2006-09-28 20:46:31 +0000
+
+2006-09-28 Thursday 14:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/boundedaffinepreimage1.cc (octagons.1): file
+	  boundedaffinepreimage1.cc was added on branch octagons on
+	  2006-11-18 20:36:56 +0000
+
+2006-09-28 Thursday 14:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid.defs.hh (1.35), src/Grid_public.cc (1.42),
+	  tests/Grid/Makefile.am (1.42), tests/Grid/boundedaffineimage1.cc
+	  (1.1), tests/Grid/boundedaffinepreimage1.cc (1.1): Added methods
+	  bounded_affine_image() and bounded_affine_preimage() for Grids
+	  and tests to test them.
+
+2006-09-28 Thursday 14:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/intersection1.cc (1.11): Print also known_result
+	  in test01().
+
+2006-09-28 Thursday 11:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Linear_Expression.defs.hh (1.32): Removed annoying trailing
+	  whitespace.
+
+2006-09-28 Thursday 09:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/membytes1.cc (1.11): test02() should never fail.
+
+2006-09-28 Thursday 06:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/Makefile.am (1.4): Disable valgrind
+	  checking.
+
+2006-09-28 Thursday 06:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/Makefile.am (interfaces.1): file
+	  Makefile.am was added on branch interfaces on 2006-09-28 20:46:32
+	  +0000
+
+2006-09-27 Wednesday 19:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/Makefile.am (1.48): Disable valgrind checking.
+
+2006-09-27 Wednesday 18:45  Andrea Cimino
+
+	* src/: MIP_Problem.cc (1.17), MIP_Problem.defs.hh (1.12):
+	  solve_mip() and is_mip_satisfiable() declared static.  Avoided a
+	  lot of copies involed when a mip problem has to be solved /
+	  checked for satisfiability. Added a sketch of code in OK() that
+	  has to proof the satisfiability of a solution found that is
+	  constrained to have integer coefficients.
+
+2006-09-27 Wednesday 16:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid.defs.hh (1.34), src/Grid_public.cc (1.41),
+	  tests/Grid/Makefile.am (1.41),
+	  tests/Grid/generalizedaffineimage3.cc (1.1),
+	  tests/Grid/generalizedaffinepreimage3.cc (1.1): Added an
+	  implementation for generalizedaffineimage() and
+	  generalizedaffinepreimage() in the case that resym is not EQUAL.
+	  Added tests to test this.
+
+2006-09-27 Wednesday 16:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/generalizedaffineimage3.cc (altnum.1): file
+	  generalizedaffineimage3.cc was added on branch altnum on
+	  2006-10-29 19:27:28 +0000
+
+2006-09-27 Wednesday 16:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/generalizedaffineimage3.cc (interfaces.1): file
+	  generalizedaffineimage3.cc was added on branch interfaces on
+	  2006-09-28 20:46:31 +0000
+
+2006-09-27 Wednesday 16:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/generalizedaffineimage3.cc (octagons.1): file
+	  generalizedaffineimage3.cc was added on branch octagons on
+	  2006-11-18 20:36:56 +0000
+
+2006-09-27 Wednesday 16:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/generalizedaffinepreimage3.cc (altnum.1): file
+	  generalizedaffinepreimage3.cc was added on branch altnum on
+	  2006-10-29 19:27:28 +0000
+
+2006-09-27 Wednesday 16:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/generalizedaffinepreimage3.cc (interfaces.1): file
+	  generalizedaffinepreimage3.cc was added on branch interfaces on
+	  2006-09-28 20:46:31 +0000
+
+2006-09-27 Wednesday 16:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/generalizedaffinepreimage3.cc (octagons.1): file
+	  generalizedaffinepreimage3.cc was added on branch octagons on
+	  2006-11-18 20:36:56 +0000
+
+2006-09-26 Tuesday 22:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Makefile.am (1.8), interfaces/C/Makefile.am (1.24),
+	  interfaces/Prolog/SWI/Makefile.am (1.61),
+	  tests/BD_Shape/Makefile.am (1.47),
+	  tests/Octagonal_Shape/Makefile.am (1.3): Typos fixed.
+
+2006-09-26 Tuesday 22:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Makefile.am (altnum.1): file Makefile.am was added
+	  on branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-09-26 Tuesday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/: EList.defs.hh (1.4), Handler.defs.hh (1.3),
+	  Pending_Element.defs.hh (1.3), Watchdog.cc (1.4),
+	  Watchdog.defs.hh (1.3): Comments improved.
+
+2006-09-26 Tuesday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/EList.defs.hh (altnum.1): file EList.defs.hh was
+	  added on branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-09-26 Tuesday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Handler.defs.hh (altnum.1): file Handler.defs.hh was
+	  added on branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-09-26 Tuesday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Pending_Element.defs.hh (altnum.1): file
+	  Pending_Element.defs.hh was added on branch altnum on 2006-10-29
+	  19:26:51 +0000
+
+2006-09-26 Tuesday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Watchdog.cc (altnum.1): file Watchdog.cc was added
+	  on branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-09-26 Tuesday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Watchdog.defs.hh (altnum.1): file Watchdog.defs.hh
+	  was added on branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-09-26 Tuesday 19:07  Andrea Cimino
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.53): Fixed a bug in
+	  `maybe_check_results': no_optimization flag was not properly
+	  handled.
+
+2006-09-26 Tuesday 18:56  Andrea Cimino
+
+	* src/MIP_Problem.inlines.hh (1.10): Copy operator fixed.
+
+2006-09-26 Tuesday 18:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.inlines.hh (interfaces.1): file
+	  MIP_Problem.inlines.hh was added on branch interfaces on
+	  2006-09-28 20:46:29 +0000
+
+2006-09-26 Tuesday 15:37  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.82): In method OK(), do not attempt
+	  minimizing the constraint description, unless the constraints are
+	  claimed to be already minimized (so as to check for the
+	  correctness of the claim) or if explicitly required to check for
+	  emptyness.
+
+2006-09-26 Tuesday 15:16  quartieri
+
+	* tests/Octagonal_Shape/containsintegerpoint1.cc (1.2): Added some
+	  tests on the method bool
+	  Octagonal_Shape<T>::contains_integer_point() const.
+
+2006-09-26 Tuesday 15:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/containsintegerpoint1.cc (altnum.1): file
+	  containsintegerpoint1.cc was added on branch altnum on 2006-10-29
+	  19:27:31 +0000
+
+2006-09-26 Tuesday 15:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/containsintegerpoint1.cc (interfaces.1):
+	  file containsintegerpoint1.cc was added on branch interfaces on
+	  2006-09-28 20:46:32 +0000
+
+2006-09-26 Tuesday 15:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/containsintegerpoint1.cc (octagons.1): file
+	  containsintegerpoint1.cc was added on branch octagons on
+	  2006-11-18 20:36:59 +0000
+
+2006-09-26 Tuesday 10:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/: affineimage2.cc (1.9), generalizedaffineimage1.cc
+	  (1.11), generalizedaffineimage2.cc (1.10),
+	  generalizedaffinepreimage1.cc (1.13),
+	  generalizedaffinepreimage2.cc (1.13): Updated for the revisions
+	  to the methods generalized_affine_image() and
+	  generalized_affine_preimage().
+
+2006-09-26 Tuesday 10:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/affineimage2.cc (altnum.1): file affineimage2.cc was
+	  added on branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-09-26 Tuesday 10:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/generalizedaffineimage1.cc (altnum.1): file
+	  generalizedaffineimage1.cc was added on branch altnum on
+	  2006-10-29 19:27:28 +0000
+
+2006-09-26 Tuesday 10:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/generalizedaffineimage2.cc (altnum.1): file
+	  generalizedaffineimage2.cc was added on branch altnum on
+	  2006-10-29 19:27:28 +0000
+
+2006-09-26 Tuesday 10:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/generalizedaffinepreimage1.cc (altnum.1): file
+	  generalizedaffinepreimage1.cc was added on branch altnum on
+	  2006-10-29 19:27:28 +0000
+
+2006-09-26 Tuesday 10:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/generalizedaffinepreimage2.cc (altnum.1): file
+	  generalizedaffinepreimage2.cc was added on branch altnum on
+	  2006-10-29 19:27:28 +0000
+
+2006-09-26 Tuesday 10:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: Grid.defs.hh (1.33), Grid_public.cc (1.40): Revised
+	  generalized_affime_image() and generalized_affime_preimage() for
+	  the Grid domain to include the relation symbol.  Current version
+	  only handles the case when this is EQUAL which also denotes a
+	  congruence relation.	The default value for the modulus is now
+	  zero.
+
+2006-09-26 Tuesday 10:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Any_Pointset.defs.hh (1.5): Debugging declarations commented
+	  out.
+
+2006-09-26 Tuesday 10:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Any_Pointset.defs.hh (interfaces.1): file
+	  Any_Pointset.defs.hh was added on branch interfaces on 2006-09-28
+	  20:46:28 +0000
+
+2006-09-26 Tuesday 10:21  Andrea Cimino
+
+	* demos/ppl_lpsol/: Makefile.am (1.31), ppl_lpsol.c (1.52):
+	  ppl_lpsol modified to use the MIP_Problem class instead of
+	  LP_Problem. Now ppl_lpsol can handle also MIP problems optimizing
+	  them and finding feasible points.
+
+2006-09-25 Monday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Any_Pointset.defs.hh (1.4): More methods added.
+
+2006-09-25 Monday 21:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.80), BD_Shape.inlines.hh (1.132),
+	  Octagonal_Shape.defs.hh (1.10), Octagonal_Shape.inlines.hh (1.7):
+	  Added BD_Shape::is_topologically_closed() and
+	  Octagonal_Shape::is_topologically_closed().
+
+2006-09-25 Monday 21:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Octagonal_Shape.defs.hh (interfaces.1): file
+	  Octagonal_Shape.defs.hh was added on branch interfaces on
+	  2006-09-28 20:46:29 +0000
+
+2006-09-25 Monday 21:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Octagonal_Shape.inlines.hh (interfaces.1): file
+	  Octagonal_Shape.inlines.hh was added on branch interfaces on
+	  2006-09-28 20:46:29 +0000
+
+2006-09-25 Monday 21:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.79), BD_Shape.templates.hh (1.26),
+	  Octagonal_Shape.defs.hh (1.9), Octagonal_Shape.templates.hh
+	  (1.21): Added declarations and fake implementations of
+	  BD_Shape::is_disjoint_from(),
+	  Octagonal_Shape::is_disjoint_from(), BD_Shape::is_discrete() and
+	  Octagonal_Shape::is_discrete().
+
+2006-09-25 Monday 21:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh (interfaces.1): file
+	  Octagonal_Shape.templates.hh was added on branch interfaces on
+	  2006-09-28 20:46:29 +0000
+
+2006-09-25 Monday 19:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.defs.hh (1.80): Comments revised.
+
+2006-09-25 Monday 19:45  Andrea Cimino
+
+	* src/MIP_Problem.cc (1.16): Fixed a bug: if we are solving real
+	  MIP problems, remember to always store a feasible point. This
+	  avoids a bug shown if a problem is unbounded and we are asked for
+	  a feasible point.
+
+2006-09-25 Monday 13:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.157), ppl_c.h.in (1.68): Added
+	  ascii_dump functions to the C interface.
+
+2006-09-25 Monday 12:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.51): Added 'r' to OPTION_LETTERS.
+
+2006-09-25 Monday 11:56  Elena Mazzi
+
+	* tests/BD_Shape/timeelapse1.cc (1.15): Renamed the variables `oc'
+	  with `bd' in many tests.
+
+2006-09-25 Monday 11:04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/iterator_to_const.defs.hh (1.3): Documentation of class
+	  iterator_to_const revised.
+
+2006-09-25 Monday 11:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/iterator_to_const.defs.hh (altnum.1): file
+	  iterator_to_const.defs.hh was added on branch altnum on
+	  2006-10-29 19:27:15 +0000
+
+2006-09-25 Monday 11:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/iterator_to_const.defs.hh (interfaces.1): file
+	  iterator_to_const.defs.hh was added on branch interfaces on
+	  2006-09-28 20:46:29 +0000
+
+2006-09-25 Monday 11:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/iterator_to_const.defs.hh (octagons.1): file
+	  iterator_to_const.defs.hh was added on branch octagons on
+	  2006-11-18 20:36:51 +0000
+
+2006-09-24 Sunday 23:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Any_Pointset.defs.hh (1.3): Debugging code commented out.
+
+2006-09-24 Sunday 23:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Any_Pointset.defs.hh (1.2): Added more methods to
+	  Any_Pointset and its subclasses.
+
+2006-09-24 Sunday 21:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/MIP_Problem.defs.hh (1.11): Declarations of integer variables
+	  get/add methods moved to better places; drafted documentation for
+	  the setting of integer variables.
+
+2006-09-24 Sunday 21:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.50): Optimization modes are
+	  specified at library level, not inside LP_Problem class.
+
+2006-09-24 Sunday 21:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.156), ppl_c.h.in (1.67): First draft
+	  at interfacing class MIP_Problem.
+
+2006-09-24 Sunday 18:07  Andrea Cimino
+
+	* src/MIP_Problem.cc (1.15): If we add integer space dimensions to
+	  an unsatisfiable problem, it remains unsatisfiable.
+
+2006-09-24 Sunday 18:00  Andrea Cimino
+
+	* src/MIP_Problem.cc (1.14): set_integer_space_dimensions() now
+	  throws a valid error message.
+
+2006-09-24 Sunday 17:58  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh (1.20): Use
+	  is_additive_inverse() to improve readability in several places.
+	  Used is_even() in tight_coherence_would_make_empty().  Corrected
+	  bug in the output operator whereby the output of an octagon
+	  having integer coefficients could have been innacurate (but
+	  correct).
+
+2006-09-24 Sunday 17:56  Andrea Cimino
+
+	* src/: MIP_Problem.cc (1.13), MIP_Problem.defs.hh (1.10): void
+	  set_integer_space_dimensions(const Variables_Set& i_vars) defined
+	  and implemented.
+
+2006-09-24 Sunday 17:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.131): Fixed is_even() and
+	  is_additive_inverse() (ROUND_IGNORE evaluates the returned Result
+	  info lazily, that is, it will happily return V_LGE ---a.k.a.
+	  "don't know"--- if returning something more precise costs one
+	  extra clock cycle).
+
+2006-09-24 Sunday 17:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Any_Pointset.defs.hh (1.1), Any_Pointset.inlines.hh (1.1),
+	  Any_Pointset.types.hh (1.1), Makefile.am (1.161): Started writing
+	  the new Any_Pointset class.
+
+2006-09-24 Sunday 17:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Any_Pointset.inlines.hh (altnum.1): file
+	  Any_Pointset.inlines.hh was added on branch altnum on 2006-10-29
+	  19:27:12 +0000
+
+2006-09-24 Sunday 17:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Any_Pointset.inlines.hh (interfaces.1): file
+	  Any_Pointset.inlines.hh was added on branch interfaces on
+	  2006-09-28 20:46:28 +0000
+
+2006-09-24 Sunday 17:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Any_Pointset.inlines.hh (octagons.1): file
+	  Any_Pointset.inlines.hh was added on branch octagons on
+	  2006-11-18 20:36:50 +0000
+
+2006-09-24 Sunday 17:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Any_Pointset.types.hh (altnum.1): file Any_Pointset.types.hh
+	  was added on branch altnum on 2006-10-29 19:27:12 +0000
+
+2006-09-24 Sunday 17:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Any_Pointset.types.hh (interfaces.1): file
+	  Any_Pointset.types.hh was added on branch interfaces on
+	  2006-09-28 20:46:28 +0000
+
+2006-09-24 Sunday 17:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Any_Pointset.types.hh (octagons.1): file
+	  Any_Pointset.types.hh was added on branch octagons on 2006-11-18
+	  20:36:50 +0000
+
+2006-09-24 Sunday 17:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.198): Added one item.
+
+2006-09-24 Sunday 17:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/max_space_dimension.hh (1.9): Fixed
+	  Parma_Polyhedra_Library::max_space_dimension().
+
+2006-09-24 Sunday 17:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.78), BD_Shape.inlines.hh (1.130),
+	  BD_Shape.templates.hh (1.25), Octagonal_Shape.defs.hh (1.8),
+	  Octagonal_Shape.inlines.hh (1.6), Octagonal_Shape.templates.hh
+	  (1.19): Added declarations and placeholder implementations of
+	  methods total_memory_in_bytes() and external_memory_in_bytes().
+
+2006-09-24 Sunday 16:56  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh (1.24): Exploited new utility function
+	  is_additive_inverse() to improve readability.
+
+2006-09-24 Sunday 16:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.129): Added utility functions bool
+	  is_even(m) and bool is_additive_inverse(m, n) to namespace
+	  Implementation::BD_Shapes.
+
+2006-09-24 Sunday 14:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid_widenings.cc (1.11): [no log message]
+
+2006-09-24 Sunday 14:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_widenings.cc (altnum.1): file Grid_widenings.cc was
+	  added on branch altnum on 2006-10-29 19:27:14 +0000
+
+2006-09-24 Sunday 14:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_public.cc (1.39), tests/Grid/containsintegerpoint1.cc
+	  (1.2): Grid::contains_integer_point() fixed.
+
+2006-09-24 Sunday 14:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/containsintegerpoint1.cc (altnum.1): file
+	  containsintegerpoint1.cc was added on branch altnum on 2006-10-29
+	  19:27:27 +0000
+
+2006-09-24 Sunday 14:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/containsintegerpoint1.cc (interfaces.1): file
+	  containsintegerpoint1.cc was added on branch interfaces on
+	  2006-09-28 20:46:31 +0000
+
+2006-09-24 Sunday 14:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/containsintegerpoint1.cc (octagons.1): file
+	  containsintegerpoint1.cc was added on branch octagons on
+	  2006-11-18 20:36:56 +0000
+
+2006-09-24 Sunday 13:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/: Makefile.am (1.40), containsintegerpoint1.cc (1.1),
+	  onepoint1.cc (1.2): Test program renamed.  Comment revised.
+
+2006-09-24 Sunday 13:50  Andrea Cimino
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.49): Some improvements when
+	  `no-optimization' is involved.  Now the enumeration solving
+	  method accepts the `no-optimization' parameter. Some fixes in
+	  maybe_check_result(): do not forget that the `no_optimization'
+	  flag exists.
+
+2006-09-24 Sunday 12:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid.defs.hh (1.32), src/Grid.templates.hh (1.20),
+	  src/Grid_public.cc (1.38), tests/Grid/Makefile.am (1.39),
+	  tests/Grid/onepoint1.cc (1.1): Revised comment in
+	  src/Grid.templates.hh Added Grid::contains_integer_point()
+	  method.
+
+2006-09-24 Sunday 12:24  Andrea Cimino
+
+	* src/: MIP_Problem.cc (1.12), MIP_Problem.defs.hh (1.9),
+	  MIP_Problem.inlines.hh (1.9): Moved all throwing exceptions
+	  methods from MIP_Problems.inlines.hh to MIP_Problems.cc, removing
+	  the `inline' directive for each method.  Added the method `const
+	  Variables_Set& integer_space_dimensions() const'.
+
+2006-09-24 Sunday 11:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Octagonal_Shape/writeoctagon1.cc (1.2): New test test04()
+	  shows an inaccuracy of the output procedure when dealing with
+	  octagons having integer coefficients.
+
+2006-09-24 Sunday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/writeoctagon1.cc (altnum.1): file
+	  writeoctagon1.cc was added on branch altnum on 2006-10-29
+	  19:27:31 +0000
+
+2006-09-24 Sunday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/writeoctagon1.cc (interfaces.1): file
+	  writeoctagon1.cc was added on branch interfaces on 2006-09-28
+	  20:46:32 +0000
+
+2006-09-24 Sunday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/writeoctagon1.cc (octagons.1): file
+	  writeoctagon1.cc was added on branch octagons on 2006-11-18
+	  20:36:59 +0000
+
+2006-09-24 Sunday 10:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/: grid1.cc (1.18), grid2.cc (1.14), widening2.cc
+	  (1.7): Revised comments.
+
+2006-09-24 Sunday 10:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/grid1.cc (altnum.1): file grid1.cc was added on branch
+	  altnum on 2006-10-29 19:27:28 +0000
+
+2006-09-24 Sunday 10:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/grid2.cc (altnum.1): file grid2.cc was added on branch
+	  altnum on 2006-10-29 19:27:28 +0000
+
+2006-09-24 Sunday 10:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/widening2.cc (altnum.1): file widening2.cc was added
+	  on branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-09-24 Sunday 10:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.197): The ask-and-tell generic construction has been
+	  reimplemented.
+
+2006-09-24 Sunday 10:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ppl_test.hh (1.51): Useless template function
+	  copy_compare() removed.
+
+2006-09-24 Sunday 10:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Octagonal_Shape.templates.hh (1.18),
+	  Pointset_Ask_Tell.defs.hh (1.5), Pointset_Powerset.defs.hh (1.4),
+	  Polyhedron_public.cc (1.81), Polyhedron_widenings.cc (1.55):
+	  Standardize on tags: CHECKME (with no space), FIXME, and TODO are
+	  the only tags we use.
+
+2006-09-24 Sunday 10:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Ask_Tell.defs.hh (altnum.1): file
+	  Pointset_Ask_Tell.defs.hh was added on branch altnum on
+	  2006-10-29 19:27:14 +0000
+
+2006-09-24 Sunday 10:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Ask_Tell.defs.hh (interfaces.1): file
+	  Pointset_Ask_Tell.defs.hh was added on branch interfaces on
+	  2006-09-28 20:46:29 +0000
+
+2006-09-24 Sunday 10:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Ask_Tell.defs.hh (octagons.1): file
+	  Pointset_Ask_Tell.defs.hh was added on branch octagons on
+	  2006-11-18 20:36:51 +0000
+
+2006-09-24 Sunday 10:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Powerset.defs.hh (interfaces.1): file
+	  Pointset_Powerset.defs.hh was added on branch interfaces on
+	  2006-09-28 20:46:29 +0000
+
+2006-09-24 Sunday 09:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Ask_Tell/append1.cc (altnum.1): file append1.cc was added
+	  on branch altnum on 2006-10-29 19:27:21 +0000
+
+2006-09-24 Sunday 09:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Ask_Tell/append1.cc (interfaces.1): file append1.cc was
+	  added on branch interfaces on 2006-09-28 20:46:31 +0000
+
+2006-09-24 Sunday 09:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Ask_Tell/append1.cc (octagons.1): file append1.cc was added
+	  on branch octagons on 2006-11-18 20:36:56 +0000
+
+2006-09-24 Sunday 09:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Ask_Tell.defs.hh (1.14), src/Ask_Tell.templates.hh (1.7),
+	  src/Determinate.defs.hh (1.63), src/Determinate.inlines.hh
+	  (1.54), tests/Ask_Tell/append1.cc (1.4):
+	  Ask_Tell::upper_bound_assign() now uses a basic deabsorption
+	  procedure.
+
+2006-09-24 Sunday 09:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Ask_Tell.templates.hh (altnum.1): file Ask_Tell.templates.hh
+	  was added on branch altnum on 2006-10-29 19:27:12 +0000
+
+2006-09-24 Sunday 09:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Ask_Tell.templates.hh (interfaces.1): file
+	  Ask_Tell.templates.hh was added on branch interfaces on
+	  2006-09-28 20:46:28 +0000
+
+2006-09-24 Sunday 09:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Ask_Tell.templates.hh (octagons.1): file
+	  Ask_Tell.templates.hh was added on branch octagons on 2006-11-18
+	  20:36:50 +0000
+
+2006-09-24 Sunday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/contains1.cc (altnum.1): file contains1.cc
+	  was added on branch altnum on 2006-10-29 19:27:31 +0000
+
+2006-09-24 Sunday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/contains1.cc (interfaces.1): file
+	  contains1.cc was added on branch interfaces on 2006-09-28
+	  20:46:32 +0000
+
+2006-09-24 Sunday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/contains1.cc (octagons.1): file
+	  contains1.cc was added on branch octagons on 2006-11-18 20:36:59
+	  +0000
+
+2006-09-24 Sunday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffineimage3.cc (interfaces.1):
+	  file generalizedaffineimage3.cc was added on branch interfaces on
+	  2006-09-28 20:46:32 +0000
+
+2006-09-24 Sunday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffinepreimage2.cc
+	  (interfaces.1): file generalizedaffinepreimage2.cc was added on
+	  branch interfaces on 2006-09-28 20:46:32 +0000
+
+2006-09-24 Sunday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/linearsystem1.cc (altnum.1): file
+	  linearsystem1.cc was added on branch altnum on 2006-10-29
+	  19:27:32 +0000
+
+2006-09-24 Sunday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/bhz03widening1.cc (altnum.1): file bhz03widening1.cc
+	  was added on branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-09-24 Sunday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/congruences2.cc (altnum.1): file congruences2.cc was
+	  added on branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-09-24 Sunday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/equals1.cc (altnum.1): file equals1.cc was added on
+	  branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-09-24 Sunday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/foldspacedims1.cc (altnum.1): file foldspacedims1.cc
+	  was added on branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-09-24 Sunday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/relations3.cc (altnum.1): file relations3.cc was added
+	  on branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-09-24 Sunday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/relations3.cc (octagons.1): file relations3.cc was
+	  added on branch octagons on 2006-11-18 20:36:57 +0000
+
+2006-09-24 Sunday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/track_allocation.hh (1.19),
+	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.47),
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.40),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.96),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.126),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.120),
+	  tests/Ask_Tell/append1.cc (1.3),
+	  tests/BD_Shape/addconstraints1.cc (1.15),
+	  tests/BD_Shape/affinepreimage1.cc (1.16),
+	  tests/BD_Shape/generalizedaffineimage2.cc (1.17),
+	  tests/Grid/bhz03widening1.cc (1.11), tests/Grid/congruences2.cc
+	  (1.4), tests/Grid/equals1.cc (1.11), tests/Grid/foldspacedims1.cc
+	  (1.10), tests/Grid/grid1.cc (1.17), tests/Grid/relations2.cc
+	  (1.13), tests/Grid/relations3.cc (1.5),
+	  tests/Octagonal_Shape/contains1.cc (1.2),
+	  tests/Octagonal_Shape/generalizedaffineimage3.cc (1.2),
+	  tests/Octagonal_Shape/generalizedaffinepreimage2.cc (1.2),
+	  tests/Polyhedron/bhz03widening1.cc (1.12),
+	  tests/Polyhedron/linearsystem1.cc (1.7),
+	  tests/Polyhedron/polyhull1.cc (1.9): Spelling corrections.
+
+2006-09-24 Sunday 08:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/print.hh (1.38): Added template <typename PH> void
+	  print_constraints(const Pointset_Ask_Tell<PH>&, const
+	  std::string&, std::ostream&).
+
+2006-09-24 Sunday 08:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: FCAIBVP.defs.hh (1.2), FCAIBVP.inlines.hh (1.2): Added
+	  methods  void weakening_assign(const FCAIBVP&) and static bool
+	  has_nontrivial_weakening().
+
+2006-09-24 Sunday 08:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/FCAIBVP.defs.hh (altnum.1): file FCAIBVP.defs.hh was added
+	  on branch altnum on 2006-10-29 19:27:21 +0000
+
+2006-09-24 Sunday 08:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/FCAIBVP.defs.hh (interfaces.1): file FCAIBVP.defs.hh was
+	  added on branch interfaces on 2006-09-28 20:46:30 +0000
+
+2006-09-24 Sunday 08:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/FCAIBVP.inlines.hh (altnum.1): file FCAIBVP.inlines.hh was
+	  added on branch altnum on 2006-10-29 19:27:21 +0000
+
+2006-09-24 Sunday 08:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/FCAIBVP.inlines.hh (interfaces.1): file FCAIBVP.inlines.hh
+	  was added on branch interfaces on 2006-09-28 20:46:30 +0000
+
+2006-09-23 Saturday 23:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Octagonal_Shape/: Makefile.am (1.2),
+	  containsintegerpoint1.cc (1.1): Added new test for
+	  Octagonal_Shape::contains_integer_points().
+
+2006-09-23 Saturday 23:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Octagonal_Shape.defs.hh (1.7), Octagonal_Shape.templates.hh
+	  (1.17): Added new method   bool
+	  Octagonal_Shape::contains_integer_points() const.
+
+2006-09-23 Saturday 22:34  Andrea Cimino
+
+	* src/MIP_Problem.inlines.hh (1.8): Other little formatting
+	  changes.  Removed an useless comment.
+
+2006-09-23 Saturday 22:29  Andrea Cimino
+
+	* src/: MIP_Problem.cc (1.11), MIP_Problem.inlines.hh (1.7): Better
+	  handled MIP_Problem `status' to avoid useless computations. Minor
+	  stylistic changes.
+
+2006-09-23 Saturday 20:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.198): Spelling corrections.
+
+2006-09-23 Saturday 19:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.199), STANDARDS (1.35): Spelling corrections.
+
+2006-09-23 Saturday 18:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron_widenings.cc (1.54), checked_int.inlines.hh
+	  (1.55): Identifiers improved.
+
+2006-09-23 Saturday 18:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh (1.23): Renamed a couple of
+	  identifiers.
+
+2006-09-23 Saturday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.cc (1.10): Revised the woring of a couple of
+	  comments.
+
+2006-09-23 Saturday 18:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS (1.22): Updated.
+
+2006-09-23 Saturday 18:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Grid.defs.hh (1.31), Grid_conversion.cc (1.17),
+	  Grid_simplify.cc (1.29): Got rid of tracing code that was
+	  cluttering the sources.
+
+2006-09-23 Saturday 18:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_conversion.cc (altnum.1): file Grid_conversion.cc was
+	  added on branch altnum on 2006-10-29 19:27:13 +0000
+
+2006-09-23 Saturday 18:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_simplify.cc (altnum.1): file Grid_simplify.cc was added
+	  on branch altnum on 2006-10-29 19:27:14 +0000
+
+2006-09-23 Saturday 17:53  Andrea Cimino
+
+	* src/MIP_Problem.cc (1.9): Fixed a couple of bugs in
+	  is_mip_satisfiable() and solve_mip().
+
+2006-09-23 Saturday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Grid.templates.hh (1.19), Grid_Generator.cc (1.18),
+	  Grid_conversion.cc (1.16), Grid_public.cc (1.37): Use `tmp' to
+	  denote a temporary: neither `tem' nor `temp'.
+
+2006-09-23 Saturday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Generator.cc (altnum.1): file Grid_Generator.cc was
+	  added on branch altnum on 2006-10-29 19:27:13 +0000
+
+2006-09-23 Saturday 17:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_widenings.cc (1.53): Use square brackets for
+	  literature citations.
+
+2006-09-23 Saturday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.48): The command parser now
+	  recognizes the --no-mip (-r) option: this allows to consider
+	  integer variables as real variables.
+
+2006-09-23 Saturday 17:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.198), TODO (1.196), interfaces/C/ppl_c.cc (1.155),
+	  interfaces/C/ppl_c.h.in (1.66),
+	  interfaces/Prolog/Prolog_interface.dox (1.156),
+	  interfaces/Prolog/ppl_prolog.icc (1.180),
+	  interfaces/Prolog/Ciao/ciao_pl_check.pl (1.23),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.92),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.95),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.125),
+	  interfaces/Prolog/XSB/ppl_xsb.H (1.50),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.92),
+	  interfaces/Prolog/XSB/xsb_pl_check.P (1.27),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.119), src/BD_Shape.defs.hh
+	  (1.77), src/Polyhedron.defs.hh (1.307): Added C and Prolog
+	  interfaces for Polyhedron::contains_integer_point().
+	  Documentation improved.  Added remainders to NEWS and TODO.
+
+2006-09-23 Saturday 16:01  Andrea Cimino
+
+	* src/: MIP_Problem.cc (1.8), MIP_Problem.defs.hh (1.8),
+	  MIP_Problem.inlines.hh (1.6): Implemented is_satisfiable() for
+	  real MIP Problems in a more efficient way.
+
+2006-09-23 Saturday 14:39  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh (1.22): Minor readability improvements
+	  to contains_integer_point(), as well as correcting a typo
+	  resulting in a bug.
+
+2006-09-23 Saturday 14:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.27), Watchdog/ChangeLog (1.16): Updated.
+
+2006-09-23 Saturday 13:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: LP_Problem.cc (1.35), MIP_Problem.cc (1.7),
+	  Octagonal_Shape.templates.hh (1.16): Avoid unnecessary (and
+	  silly) abbreviations.
+
+2006-09-23 Saturday 13:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/: Makefile.am (1.46), containsintegerpoint1.cc
+	  (1.1): Added simple test for method contains_integer_point().
+
+2006-09-23 Saturday 13:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/containsintegerpoint1.cc (altnum.1): file
+	  containsintegerpoint1.cc was added on branch altnum on 2006-10-29
+	  19:27:22 +0000
+
+2006-09-23 Saturday 13:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/containsintegerpoint1.cc (interfaces.1): file
+	  containsintegerpoint1.cc was added on branch interfaces on
+	  2006-09-28 20:46:31 +0000
+
+2006-09-23 Saturday 13:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/containsintegerpoint1.cc (octagons.1): file
+	  containsintegerpoint1.cc was added on branch octagons on
+	  2006-11-18 20:36:56 +0000
+
+2006-09-23 Saturday 13:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.76), BD_Shape.templates.hh (1.21):
+	  Added declaration and tentative implementation of method   bool
+	  BD_Shape<T>::contains_integer_point() const.
+
+2006-09-23 Saturday 13:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh (1.15): Avoid pleonastic
+	  comments.
+
+2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Congruence.cc (altnum.1): file Congruence.cc was added on
+	  branch altnum on 2006-10-29 19:27:12 +0000
+
+2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Congruence_System.cc (altnum.1): file Congruence_System.cc
+	  was added on branch altnum on 2006-10-29 19:27:12 +0000
+
+2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Congruence_System.defs.hh (altnum.1): file
+	  Congruence_System.defs.hh was added on branch altnum on
+	  2006-10-29 19:27:12 +0000
+
+2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Direct_Product.inlines.hh (altnum.1): file
+	  Direct_Product.inlines.hh was added on branch altnum on
+	  2006-10-29 19:27:12 +0000
+
+2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Direct_Product.inlines.hh (octagons.1): file
+	  Direct_Product.inlines.hh was added on branch octagons on
+	  2006-11-18 20:36:50 +0000
+
+2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Certificate.cc (altnum.1): file Grid_Certificate.cc was
+	  added on branch altnum on 2006-10-29 19:27:13 +0000
+
+2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Generator_System.cc (altnum.1): file
+	  Grid_Generator_System.cc was added on branch altnum on 2006-10-29
+	  19:27:13 +0000
+
+2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Status.cc (altnum.1): file Grid_Status.cc was added on
+	  branch altnum on 2006-10-29 19:27:13 +0000
+
+2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_chdims.cc (altnum.1): file Grid_chdims.cc was added on
+	  branch altnum on 2006-10-29 19:27:13 +0000
+
+2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_nonpublic.cc (altnum.1): file Grid_nonpublic.cc was
+	  added on branch altnum on 2006-10-29 19:27:13 +0000
+
+2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/OR_Matrix.defs.hh (interfaces.1): file OR_Matrix.defs.hh was
+	  added on branch interfaces on 2006-09-28 20:46:29 +0000
+
+2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/OR_Matrix.templates.hh (interfaces.1): file
+	  OR_Matrix.templates.hh was added on branch interfaces on
+	  2006-09-28 20:46:29 +0000
+
+2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Og_Status.idefs.hh (altnum.1): file Og_Status.idefs.hh was
+	  added on branch altnum on 2006-10-29 19:27:14 +0000
+
+2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Og_Status.idefs.hh (interfaces.1): file Og_Status.idefs.hh
+	  was added on branch interfaces on 2006-09-28 20:46:29 +0000
+
+2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Og_Status.inlines.hh (altnum.1): file Og_Status.inlines.hh
+	  was added on branch altnum on 2006-10-29 19:27:14 +0000
+
+2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Og_Status.inlines.hh (interfaces.1): file
+	  Og_Status.inlines.hh was added on branch interfaces on 2006-09-28
+	  20:46:29 +0000
+
+2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Ask_Tell.templates.hh (altnum.1): file
+	  Pointset_Ask_Tell.templates.hh was added on branch altnum on
+	  2006-10-29 19:27:14 +0000
+
+2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Ask_Tell.templates.hh (interfaces.1): file
+	  Pointset_Ask_Tell.templates.hh was added on branch interfaces on
+	  2006-09-28 20:46:29 +0000
+
+2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Ask_Tell.templates.hh (octagons.1): file
+	  Pointset_Ask_Tell.templates.hh was added on branch octagons on
+	  2006-11-18 20:36:51 +0000
+
+2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Powerset.templates.hh (interfaces.1): file
+	  Pointset_Powerset.templates.hh was added on branch interfaces on
+	  2006-09-28 20:46:29 +0000
+
+2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/mp_numeric_limits.hh (altnum.1): file mp_numeric_limits.hh
+	  was added on branch altnum on 2006-10-29 19:27:15 +0000
+
+2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/namespaces.hh (altnum.1): file namespaces.hh was added on
+	  branch altnum on 2006-10-29 19:27:15 +0000
+
+2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BDS_Status.inlines.hh (1.14), BD_Shape.cc (1.3),
+	  BD_Shape.defs.hh (1.75), BD_Shape.inlines.hh (1.128),
+	  BD_Shape.templates.hh (1.20), Bounding_Box.defs.hh (1.15),
+	  Checked_Number.defs.hh (1.79), Congruence.cc (1.13),
+	  Congruence.inlines.hh (1.12), Congruence_System.cc (1.20),
+	  Congruence_System.defs.hh (1.16), Constraint_System.cc (1.19),
+	  Constraint_System.defs.hh (1.33), DB_Matrix.defs.hh (1.24),
+	  DB_Matrix.templates.hh (1.2), Direct_Product.inlines.hh (1.26),
+	  Generator_System.cc (1.19), Generator_System.defs.hh (1.20),
+	  Grid.defs.hh (1.30), Grid.templates.hh (1.18),
+	  Grid_Certificate.cc (1.5), Grid_Generator_System.cc (1.15),
+	  Grid_Status.cc (1.5), Grid_chdims.cc (1.13), Grid_conversion.cc
+	  (1.15), Grid_nonpublic.cc (1.20), Grid_public.cc (1.36),
+	  Grid_simplify.cc (1.28), Grid_widenings.cc (1.10), LP_Problem.cc
+	  (1.34), LP_Problem.defs.hh (1.23), Linear_System.cc (1.39),
+	  Linear_System.defs.hh (1.28), MIP_Problem.cc (1.6),
+	  MIP_Problem.defs.hh (1.7), Matrix.cc (1.94), OR_Matrix.defs.hh
+	  (1.5), OR_Matrix.templates.hh (1.3), Octagonal_Shape.defs.hh
+	  (1.6), Octagonal_Shape.templates.hh (1.14), Og_Status.idefs.hh
+	  (1.5), Og_Status.inlines.hh (1.3), Ph_Status.cc (1.11),
+	  Pointset_Ask_Tell.defs.hh (1.4), Pointset_Ask_Tell.templates.hh
+	  (1.6), Pointset_Powerset.defs.hh (1.3),
+	  Pointset_Powerset.templates.hh (1.4), Polyhedron_nonpublic.cc
+	  (1.67), Polyhedron_public.cc (1.80), Powerset.defs.hh (1.28),
+	  Saturation_Matrix.cc (1.10), Saturation_Row.cc (1.11),
+	  Saturation_Row.defs.hh (1.11), checked.inlines.hh (1.32),
+	  checked_int.inlines.hh (1.54), conversion.cc (1.78),
+	  fpu-ia32.inlines.hh (1.14), mp_numeric_limits.hh (1.8),
+	  namespaces.hh (1.9): Fixed lots of spelling mistakes.  Badly
+	  named variables renamed.  Long lines split.  Code formatting
+	  improvements.
+
+2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.cc (altnum.1): file BD_Shape.cc was added on branch
+	  altnum on 2006-10-29 19:27:12 +0000
+
+2006-09-23 Saturday 12:59  Andrea Cimino
+
+	* src/: MIP_Problem.cc (1.5), MIP_Problem.inlines.hh (1.5): Cleaned
+	  solve() method.  Removed a bit of useless code in solve_mip().
+
+2006-09-23 Saturday 10:04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.195), src/Polyhedron_public.cc (1.79): A few adjustments
+	  to Polyhedron::contains_integer_point(); currently we cannot
+	  handle the case of strict inequalities.
+
+2006-09-23 Saturday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/membytes1.cc (1.10): test02() fails with 8-bit
+	  coefficients.
+
+2006-09-22 Friday 20:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Ask_Tell.inlines.hh (1.14), Ask_Tell.templates.hh (1.6),
+	  Pointset_Ask_Tell.templates.hh (1.5):
+	  Ask_Tell::upper_bound_assign() moved to Ask_Tell.templates.hh.
+	  Restored commented out code in Ask_Tell::OK().  Fixed
+	  Pointset_Ask_Tell::remove_space_dimensions().
+
+2006-09-22 Friday 20:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh (1.306), Polyhedron_public.cc (1.78):
+	  Added a first, tentative implementation of
+	  Polyhedron::contains_integer_point().
+
+2006-09-22 Friday 18:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.cc (1.4): Formatting fixed.
+
+2006-09-22 Friday 18:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.templates.hh (1.19), Grid_chdims.cc (1.12),
+	  Octagonal_Shape.templates.hh (1.13), Polyhedron_chdims.cc (1.38):
+	  Use the services provided by Variables_Set.
+
+2006-09-22 Friday 18:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Variables_Set.defs.hh (1.2): Fixed the documentation of
+	  Variables_Set::space_dimension().
+
+2006-09-22 Friday 18:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Variables_Set.defs.hh (altnum.1): file Variables_Set.defs.hh
+	  was added on branch altnum on 2006-10-29 19:27:15 +0000
+
+2006-09-22 Friday 18:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Variables_Set.defs.hh (interfaces.1): file
+	  Variables_Set.defs.hh was added on branch interfaces on
+	  2006-09-28 20:46:29 +0000
+
+2006-09-22 Friday 18:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Variables_Set.inlines.hh (1.2): Fixed
+	  Variables_Set::space_dimension().
+
+2006-09-22 Friday 18:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Variables_Set.inlines.hh (altnum.1): file
+	  Variables_Set.inlines.hh was added on branch altnum on 2006-10-29
+	  19:27:15 +0000
+
+2006-09-22 Friday 18:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Variables_Set.inlines.hh (interfaces.1): file
+	  Variables_Set.inlines.hh was added on branch interfaces on
+	  2006-09-28 20:46:29 +0000
+
+2006-09-22 Friday 17:23  Andrea Cimino
+
+	* src/MIP_Problem.inlines.hh (1.4): Solved a bug in MIP_Problem.
+	  Added some tests for MIP_Problem.
+
+2006-09-22 Friday 16:45  Andrea Cimino
+
+	* src/: MIP_Problem.cc (1.3), MIP_Problem.defs.hh (1.6),
+	  MIP_Problem.inlines.hh (1.3): Implemented is_satisfiable for the
+	  `MIP' case.
+
+2006-09-22 Friday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* STANDARDS (1.34): Added a point covering tests programs that
+	  require auxiliary functions.
+
+2006-09-22 Friday 15:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: MIP_Problem.defs.hh (1.5), MIP_Problem.templates.hh (1.5),
+	  globals.types.hh (1.8): Redundant MIP_Problem constructor
+	  removed.  Removed also the Variables_Integrality enumeration.
+
+2006-09-22 Friday 15:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.templates.hh (interfaces.1): file
+	  MIP_Problem.templates.hh was added on branch interfaces on
+	  2006-09-28 20:46:29 +0000
+
+2006-09-22 Friday 15:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/globals.types.hh (altnum.1): file globals.types.hh was added
+	  on branch altnum on 2006-10-29 19:27:15 +0000
+
+2006-09-22 Friday 15:41  Elena Mazzi
+
+	* tests/BD_Shape/mapspacedims1.cc (1.13): Rewritten test04 using
+	  the method BD_Shape::minimized_constraints().
+
+2006-09-22 Friday 15:40  Elena Mazzi
+
+	* tests/BD_Shape/universe1.cc (1.13): Added two new tests on the
+	  method BD_Shape::is_universe().
+
+2006-09-22 Friday 15:39  Elena Mazzi
+
+	* tests/BD_Shape/removespacedims1.cc (1.16): Added two new tests on
+	  the method BD_Shape::remove_space_dimensions() and
+	  BD_Shape::remove_higher_space_dimensions().
+
+2006-09-22 Friday 15:38  Elena Mazzi
+
+	* tests/BD_Shape/intersection1.cc (1.15): Added two new tests on
+	  the method BD_Shape::intersection_assign().
+
+2006-09-22 Friday 15:36  Elena Mazzi
+
+	* tests/BD_Shape/contains1.cc (1.13): Added two new tests on the
+	  method BD_Shape::contains().
+
+2006-09-22 Friday 15:34  Elena Mazzi
+
+	* tests/BD_Shape/bdshull1.cc (1.12): Added new test on the method
+	  BD_Shape::bds_hull_assign_and_minimize().
+
+2006-09-22 Friday 15:33  Andrea Cimino
+
+	* src/MIP_Problem.cc (1.2): Added a first implementation that
+	  handles MIP_Problems.
+
+2006-09-22 Friday 15:33  Elena Mazzi
+
+	* tests/BD_Shape/addspacedims1.cc (1.13): Added new two tests on
+	  the methods BD_Shape::add_space_dimensions_and_project() and
+	  BD_Shape::add_space_dimensions_and_embed().
+
+2006-09-22 Friday 15:28  Andrea Cimino
+
+	* src/: MIP_Problem.defs.hh (1.4), MIP_Problem.inlines.hh (1.2),
+	  MIP_Problem.templates.hh (1.4): Added a first implementation that
+	  handles MIP_Problems.
+
+2006-09-22 Friday 14:25  quartieri
+
+	* src/Octagonal_Shape.inlines.hh (1.5): Removed a redundant
+	  assertion 'assertion(OK())' in	  inline void
+	  Octagonal_Shape<T>::add_constraints().
+
+2006-09-22 Friday 14:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/maxspacedim1.cc (1.10): Useless stuff removed.
+	  Test more classes.
+
+2006-09-22 Friday 13:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/matrix1.cc (altnum.1): file matrix1.cc was added
+	  on branch altnum on 2006-10-29 19:27:32 +0000
+
+2006-09-22 Friday 13:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/matrix1.cc (1.8): test01() made self-contained.
+
+2006-09-22 Friday 13:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.99), membytes1.cc (1.9),
+	  membytes2.cc (1.8): Made membytes1.cc conformant to the PPL
+	  standards.  The test formerly in membytes2.cc is now test02() in
+	  membytes1.cc.
+
+2006-09-22 Friday 13:29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/iterator_to_const.defs.hh (1.2): Restored a few access
+	  restrictions; added corresponding friend declarations.
+
+2006-09-22 Friday 12:57  quartieri
+
+	* src/Octagonal_Shape.inlines.hh (1.4): Removed a redundant
+	  assertion 'assert(OK())' in the constructor inline
+	  Octagonal_Shape<T>::Octagonal_Shape(const Constraint_System& cs).
+
+2006-09-22 Friday 12:06  quartieri
+
+	* src/Octagonal_Shape.templates.hh (1.12): Removed a redundant
+	  assertion 'assert(OK())' from the method	   void
+	  Octagonal_Shape<T>::generalized_affine_preimage().
+
+2006-09-22 Friday 12:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/: ciao_pl_check.pl (1.22), ppl_ciao.pl
+	  (1.91): Corrected a few typos.
+
+2006-09-22 Friday 11:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.98): XFAIL_WITH_INT8 no longer
+	  includes membytes1.
+
+2006-09-22 Friday 11:16  quartieri
+
+	* src/Octagonal_Shape.templates.hh (1.11): Removed a redundant
+	  assertion 'assert(OK())' from the method	   void
+	  Octagonal_Shape<T>::generalized_affine_image().
+
+2006-09-22 Friday 08:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Ask_Tell.inlines.hh (1.13): Avoid redundant template
+	  parameter specifications.
+
+2006-09-21 Thursday 19:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.74), BD_Shape.templates.hh (1.18),
+	  Direct_Product.defs.hh (1.29), Direct_Product.inlines.hh (1.25),
+	  Grid.defs.hh (1.29), Grid_Generator_System.cc (1.14),
+	  Grid_Generator_System.defs.hh (1.19), Grid_chdims.cc (1.11),
+	  MIP_Problem.defs.hh (1.3), MIP_Problem.templates.hh (1.3),
+	  Makefile.am (1.160), Octagonal_Shape.defs.hh (1.5),
+	  Pointset_Ask_Tell.defs.hh (1.3), Pointset_Ask_Tell.templates.hh
+	  (1.4), Pointset_Powerset.defs.hh (1.2),
+	  Pointset_Powerset.templates.hh (1.3), Polyhedron.defs.hh (1.305),
+	  Polyhedron_chdims.cc (1.37), Variable.cc (1.21), Variable.defs.hh
+	  (1.52), Variables_Set.cc (1.1), Variables_Set.defs.hh (1.1),
+	  Variables_Set.inlines.hh (1.1), Variables_Set.types.hh (1.1):
+	  Variables_Set is now a fully fledged class.
+
+2006-09-21 Thursday 19:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Direct_Product.defs.hh (altnum.1): file
+	  Direct_Product.defs.hh was added on branch altnum on 2006-10-29
+	  19:27:12 +0000
+
+2006-09-21 Thursday 19:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Direct_Product.defs.hh (octagons.1): file
+	  Direct_Product.defs.hh was added on branch octagons on 2006-11-18
+	  20:36:50 +0000
+
+2006-09-21 Thursday 19:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Generator_System.defs.hh (altnum.1): file
+	  Grid_Generator_System.defs.hh was added on branch altnum on
+	  2006-10-29 19:27:13 +0000
+
+2006-09-21 Thursday 19:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Variables_Set.cc (altnum.1): file Variables_Set.cc was added
+	  on branch altnum on 2006-10-29 19:27:15 +0000
+
+2006-09-21 Thursday 19:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Variables_Set.cc (interfaces.1): file Variables_Set.cc was
+	  added on branch interfaces on 2006-09-28 20:46:29 +0000
+
+2006-09-21 Thursday 19:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Variables_Set.types.hh (altnum.1): file
+	  Variables_Set.types.hh was added on branch altnum on 2006-10-29
+	  19:27:15 +0000
+
+2006-09-21 Thursday 19:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Variables_Set.types.hh (interfaces.1): file
+	  Variables_Set.types.hh was added on branch interfaces on
+	  2006-09-28 20:46:29 +0000
+
+2006-09-21 Thursday 19:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Variables_Set.types.hh (octagons.1): file
+	  Variables_Set.types.hh was added on branch octagons on 2006-11-18
+	  20:36:51 +0000
+
+2006-09-21 Thursday 17:48  Elena Mazzi
+
+	* src/: BD_Shape.inlines.hh (1.127), BD_Shape.templates.hh (1.17):
+	  Moved some assertions 'assert(OK())' where they are really needed
+	  in the methods:  - void BD_Shape<T>::affine_preimage();  -
+	  BD_Shape(const dimension_type num_dimensions,       const
+	  Degenerate_Element kind).
+
+2006-09-21 Thursday 16:34  Elena Mazzi
+
+	* src/BD_Shape.inlines.hh (1.126): Removed a useless assertion
+	  'assert(OK())' from the method inline void
+	  BD_Shape<T>::add_dbm_constraint().
+
+2006-09-21 Thursday 16:05  quartieri
+
+	* src/Octagonal_Shape.templates.hh (1.10): Moved some assertions
+	  'assert(OK())' where they are needed in the method
+	  void Octagonal_Shape<T>::affine_preimage().
+
+2006-09-21 Thursday 15:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: MIP_Problem.defs.hh (1.2), MIP_Problem.templates.hh (1.2):
+	  Class documentation revised.	Added two new constructors: one
+	  takes a set of variables that are constrained to take an integer
+	  value; the other takes a shorthand concerning the integrality of
+	  all or no variables.
+
+2006-09-21 Thursday 15:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/globals.types.hh (1.7): New enumeration Variables_Integrality
+	  encodes assertions concerning the integrality of a set of
+	  variables.
+
+2006-09-21 Thursday 15:26  quartieri
+
+	* src/Octagonal_Shape.inlines.hh (1.3): Removed a useless assertion
+	  'assert(OK())' from the method       inline void
+	  Octagonal_Shape<T>::add_octagonal_constraint().
+
+2006-09-21 Thursday 14:45  quartieri
+
+	* src/Octagonal_Shape.templates.hh (1.9): Removed a redundant
+	  assertion 'assert(OK())' from the method     void
+	  Octagonal_Shape<T>::limited_BHMZ05_extrapolation_assign().
+
+2006-09-21 Thursday 14:04  quartieri
+
+	* src/Octagonal_Shape.templates.hh (1.8): Removed a redundant
+	  assertion 'assert(OK())' from the method	void
+	  Octagonal_Shape<T>::limited_CC76_extrapolation_assign().
+
+2006-09-21 Thursday 13:50  Andrea Cimino
+
+	* tests/Polyhedron/membytes1.cc (1.8): Modified to be compliant to
+	  the new standards.
+
+2006-09-21 Thursday 13:44  Andrea Cimino
+
+	* src/LP_Problem.defs.hh (1.22): Fixed some typos in the
+	  documentation, thanks to Sebastian Pop.
+
+2006-09-21 Thursday 13:28  quartieri
+
+	* src/Octagonal_Shape.templates.hh (1.7): Removed a redundant
+	  assertion 'assert(OK())' from the method		void
+	  Octagonal_Shape<T>::map_space_dimensions().
+
+2006-09-21 Thursday 13:19  Andrea Cimino
+
+	* tests/Polyhedron/maxspacedim1.cc (1.9): Modified to be compliant
+	  to the new standards.
+
+2006-09-21 Thursday 13:16  Andrea Cimino
+
+	* tests/Polyhedron/matrix1.cc (1.7): Modified to be compliant to
+	  the new standards.
+
+2006-09-21 Thursday 13:11  Andrea Cimino
+
+	* tests/Polyhedron/limitedbhrz03extrapolation1.cc (1.7): Modified
+	  to be compliant to the new standards.
+
+2006-09-21 Thursday 13:08  Andrea Cimino
+
+	* tests/Polyhedron/append2.cc (1.8): Modified to be compliant to
+	  the new standards.
+
+2006-09-21 Thursday 13:04  Elena Mazzi
+
+	* src/: BD_Shape.inlines.hh (1.125), BD_Shape.templates.hh (1.16):
+	  Removed some redundant assertions `assert(OK())' from:  -
+	  concatenate_assign();  - map_space_dimensions();  -
+	  limited_CC76_extrapolation_assign();	-
+	  limited_BHMZ05_extrapolation_assign();  -
+	  generalized_affine_image();  - generalized_affine_preimage();  -
+	  BD_Shape(const Generator_System& gs);  - BD_Shape(const
+	  Constraint_System& cs).
+
+2006-09-21 Thursday 12:55  Andrea Cimino
+
+	* tests/Polyhedron/append1.cc (1.9): Modified to be compliant to
+	  the new standards.
+
+2006-09-21 Thursday 12:45  quartieri
+
+	* src/Octagonal_Shape.templates.hh (1.6): Removed a redundant
+	  assertion 'assert(OK())' from the method	   void
+	  Octagonal_Shape<T>::concatenate_assign().
+
+2006-09-21 Thursday 12:09  quartieri
+
+	* src/Octagonal_Shape.templates.hh (1.5): Removed a redundant
+	  assertion 'assert(OK())' from the constructor
+	  Octagonal_Shape<T>::Octagonal_Shape(const Generator_System& gs).
+
+2006-09-21 Thursday 11:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: MIP_Problem.cc (1.1), MIP_Problem.defs.hh (1.1),
+	  MIP_Problem.inlines.hh (1.1), MIP_Problem.templates.hh (1.1),
+	  MIP_Problem.types.hh (1.1), Makefile.am (1.159): MIP_Problem
+	  files put under CVS control.
+
+2006-09-21 Thursday 11:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.types.hh (altnum.1): file MIP_Problem.types.hh
+	  was added on branch altnum on 2006-10-29 19:27:14 +0000
+
+2006-09-21 Thursday 11:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.types.hh (interfaces.1): file
+	  MIP_Problem.types.hh was added on branch interfaces on 2006-09-28
+	  20:46:29 +0000
+
+2006-09-21 Thursday 11:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.types.hh (octagons.1): file MIP_Problem.types.hh
+	  was added on branch octagons on 2006-11-18 20:36:50 +0000
+
+2006-09-21 Thursday 11:24  Andrea Cimino
+
+	* tests/Polyhedron/exceptions3.cc (1.9): Made exceptions3.cc more
+	  compliant to the new test policy.
+
+2006-09-21 Thursday 11:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/LP_Problem.defs.hh (1.21): LP_Problem now only depends on the
+	  name of class Constraint_System.
+
+2006-09-21 Thursday 11:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Constraint_System.defs.hh (1.32): Removed useless friend
+	  declaration.
+
+2006-09-21 Thursday 11:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/iterator_to_const.inlines.hh (1.2): Corrected a couple of
+	  Doxygen \relates commands.
+
+2006-09-21 Thursday 11:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/iterator_to_const.inlines.hh (altnum.1): file
+	  iterator_to_const.inlines.hh was added on branch altnum on
+	  2006-10-29 19:27:15 +0000
+
+2006-09-21 Thursday 11:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/iterator_to_const.inlines.hh (interfaces.1): file
+	  iterator_to_const.inlines.hh was added on branch interfaces on
+	  2006-09-28 20:46:29 +0000
+
+2006-09-21 Thursday 11:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/iterator_to_const.inlines.hh (octagons.1): file
+	  iterator_to_const.inlines.hh was added on branch octagons on
+	  2006-11-18 20:36:51 +0000
+
+2006-09-21 Thursday 11:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Linear_Expression.defs.hh (1.31): Avoid useless inclusion.
+
+2006-09-21 Thursday 11:12  Andrea Cimino
+
+	* tests/Polyhedron/exceptions2.cc (1.10): Made exceptions2.cc more
+	  compliant to the new test policy.
+
+2006-09-21 Thursday 10:46  Andrea Cimino
+
+	* tests/Polyhedron/exceptions1.cc (1.11): The exceptions tests are
+	  now more consistent to what defined in STANDARDS.
+
+2006-09-21 Thursday 10:44  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref.doxyconf-html.in (1.76), devref.doxyconf-latex.in
+	  (1.15): Let iterator_to_const.*, Ask_Tell.* and
+	  Pointset_Ask_Tell.* files participate to the generation of the
+	  devref manuals.
+
+2006-09-21 Thursday 10:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/LP_Problem.defs.hh (1.20): A few further improvements to the
+	  devref documentation.
+
+2006-09-21 Thursday 10:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/LP_Problem.defs.hh (1.19): Do not let the user assume that we
+	  solve the LP Problem by using a fixed algorithm (future releases
+	  may use a different one).
+
+2006-09-21 Thursday 10:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/LP_Problem.defs.hh (1.18): Corrected documentation for
+	  add_constraints.
+
+2006-09-21 Thursday 09:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/LP_Problem.defs.hh (1.17): A few improvements to the
+	  documentation.  Declare the std::swap specialization before
+	  defining it.
+
+2006-09-21 Thursday 07:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Pointset_Ask_Tell.defs.hh (1.2),
+	  Pointset_Ask_Tell.templates.hh (1.3): Unwanted stuff removed.
+
+2006-09-21 Thursday 07:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/LP_Problem.defs.hh (1.16): Dratfed some initial user
+	  documentation for LP_Problem.
+
+2006-09-20 Wednesday 21:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Ask_Tell.inlines.hh (1.12), Ask_Tell.templates.hh (1.5),
+	  Pointset_Ask_Tell.templates.hh (1.2): Implemented
+	  Ask_Tell::empty(), Pointset_Ask_Tell::concatenate_assign(),
+	  Pointset_Ask_Tell::remove_space_dimensions() and
+	  Pointset_Ask_Tell::remove_higher_space_dimensions().
+
+2006-09-20 Wednesday 19:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/powerset1.cc (altnum.1): file powerset1.cc was
+	  added on branch altnum on 2006-10-29 19:27:32 +0000
+
+2006-09-20 Wednesday 19:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: BBox.cc (1.12), FCAIBVP.cc (1.1), FCAIBVP.defs.hh (1.1),
+	  FCAIBVP.inlines.hh (1.1), FCAIBVP.types.hh (1.1), Makefile.am
+	  (1.258), Partial_Function.cc (1.3), ppl_test.hh (1.50),
+	  Ask_Tell/append1.cc (1.2), Polyhedron/powerset1.cc (1.18): New
+	  test class FCAIBVP used to factorize some common code.  Missing
+	  inclusions added.
+
+2006-09-20 Wednesday 19:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/FCAIBVP.cc (altnum.1): file FCAIBVP.cc was added on branch
+	  altnum on 2006-10-29 19:27:21 +0000
+
+2006-09-20 Wednesday 19:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/FCAIBVP.cc (interfaces.1): file FCAIBVP.cc was added on
+	  branch interfaces on 2006-09-28 20:46:30 +0000
+
+2006-09-20 Wednesday 19:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/FCAIBVP.types.hh (altnum.1): file FCAIBVP.types.hh was
+	  added on branch altnum on 2006-10-29 19:27:21 +0000
+
+2006-09-20 Wednesday 19:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/FCAIBVP.types.hh (interfaces.1): file FCAIBVP.types.hh was
+	  added on branch interfaces on 2006-09-28 20:46:30 +0000
+
+2006-09-20 Wednesday 19:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/FCAIBVP.types.hh (octagons.1): file FCAIBVP.types.hh was
+	  added on branch octagons on 2006-11-18 20:36:53 +0000
+
+2006-09-20 Wednesday 19:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Partial_Function.cc (altnum.1): file Partial_Function.cc
+	  was added on branch altnum on 2006-10-29 19:27:21 +0000
+
+2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Ask_Tell/.cvsignore (altnum.1): file .cvsignore was added
+	  on branch altnum on 2006-10-29 19:27:21 +0000
+
+2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Ask_Tell/.cvsignore (interfaces.1): file .cvsignore was
+	  added on branch interfaces on 2006-09-28 20:46:31 +0000
+
+2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Ask_Tell/.cvsignore (octagons.1): file .cvsignore was added
+	  on branch octagons on 2006-11-18 20:36:55 +0000
+
+2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Ask_Tell/.cvsignore (simplex.1): file .cvsignore was added
+	  on branch simplex on 2008-01-07 11:15:35 +0000
+
+2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Ask_Tell/Makefile.am (altnum.1): file Makefile.am was added
+	  on branch altnum on 2006-10-29 19:27:21 +0000
+
+2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Ask_Tell/Makefile.am (interfaces.1): file Makefile.am was
+	  added on branch interfaces on 2006-09-28 20:46:31 +0000
+
+2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Ask_Tell/Makefile.am (octagons.1): file Makefile.am was
+	  added on branch octagons on 2006-11-18 20:36:55 +0000
+
+2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Ask_Tell.cc (altnum.1): file Pointset_Ask_Tell.cc
+	  was added on branch altnum on 2006-10-29 19:27:14 +0000
+
+2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Ask_Tell.cc (interfaces.1): file
+	  Pointset_Ask_Tell.cc was added on branch interfaces on 2006-09-28
+	  20:46:29 +0000
+
+2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Ask_Tell.cc (octagons.1): file Pointset_Ask_Tell.cc
+	  was added on branch octagons on 2006-11-18 20:36:51 +0000
+
+2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Ask_Tell.inlines.hh (altnum.1): file
+	  Pointset_Ask_Tell.inlines.hh was added on branch altnum on
+	  2006-10-29 19:27:14 +0000
+
+2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Ask_Tell.inlines.hh (interfaces.1): file
+	  Pointset_Ask_Tell.inlines.hh was added on branch interfaces on
+	  2006-09-28 20:46:29 +0000
+
+2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Ask_Tell.inlines.hh (octagons.1): file
+	  Pointset_Ask_Tell.inlines.hh was added on branch octagons on
+	  2006-11-18 20:36:51 +0000
+
+2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Ask_Tell.types.hh (altnum.1): file
+	  Pointset_Ask_Tell.types.hh was added on branch altnum on
+	  2006-10-29 19:27:14 +0000
+
+2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Ask_Tell.types.hh (interfaces.1): file
+	  Pointset_Ask_Tell.types.hh was added on branch interfaces on
+	  2006-09-28 20:46:29 +0000
+
+2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Ask_Tell.types.hh (octagons.1): file
+	  Pointset_Ask_Tell.types.hh was added on branch octagons on
+	  2006-11-18 20:36:51 +0000
+
+2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Powerset.cc (altnum.1): file Pointset_Powerset.cc
+	  was added on branch altnum on 2006-10-29 19:27:14 +0000
+
+2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Powerset.cc (interfaces.1): file
+	  Pointset_Powerset.cc was added on branch interfaces on 2006-09-28
+	  20:46:29 +0000
+
+2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Powerset.inlines.hh (interfaces.1): file
+	  Pointset_Powerset.inlines.hh was added on branch interfaces on
+	  2006-09-28 20:46:29 +0000
+
+2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/iterator_to_const.types.hh (altnum.1): file
+	  iterator_to_const.types.hh was added on branch altnum on
+	  2006-10-29 19:27:15 +0000
+
+2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/iterator_to_const.types.hh (interfaces.1): file
+	  iterator_to_const.types.hh was added on branch interfaces on
+	  2006-09-28 20:46:29 +0000
+
+2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/iterator_to_const.types.hh (octagons.1): file
+	  iterator_to_const.types.hh was added on branch octagons on
+	  2006-11-18 20:36:51 +0000
+
+2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.197), configure.ac (1.236), src/Ask_Tell.defs.hh (1.13),
+	  src/Ask_Tell.templates.hh (1.4), src/Makefile.am (1.158),
+	  src/Pointset_Ask_Tell.cc (1.1), src/Pointset_Ask_Tell.defs.hh
+	  (1.1), src/Pointset_Ask_Tell.inlines.hh (1.1),
+	  src/Pointset_Ask_Tell.templates.hh (1.1),
+	  src/Pointset_Ask_Tell.types.hh (1.1), src/Pointset_Powerset.cc
+	  (1.2), src/Pointset_Powerset.inlines.hh (1.2),
+	  src/Pointset_Powerset.templates.hh (1.2), src/Powerset.defs.hh
+	  (1.27), src/Powerset.inlines.hh (1.18),
+	  src/iterator_to_const.defs.hh (1.1),
+	  src/iterator_to_const.inlines.hh (1.1),
+	  src/iterator_to_const.types.hh (1.1), tests/Makefile.am (1.257),
+	  tests/Ask_Tell/.cvsignore (1.1), tests/Ask_Tell/Makefile.am
+	  (1.1), tests/Ask_Tell/append1.cc (1.1),
+	  tests/Polyhedron/powerset1.cc (1.17): The classes
+	  Powerset::omega_iterator and Powerset::omega_const_iterator have
+	  been replaced by the classes template <typename Container>
+	  iterator_to_const and template <typename Container> const
+	  iterator_to_const.  Implementation of the Ask_Tell class is
+	  almost complete.  Added a first sketch (mostly obtained by
+	  copy-and-paste) of the new class Pointset_Ask_Tell.
+
+2006-09-20 Wednesday 12:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/: ppl_xsb.H (1.49), ppl_xsb.cc (1.91),
+	  xsb_pl_check.P (1.26): Adapted to the chnages in the LP_Problem
+	  interface.
+
+2006-09-20 Wednesday 11:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* utils/timings.cc (1.7): Fixed a bug in print_clock().
+
+2006-09-20 Wednesday 09:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.196): Added a short description of the new features
+	  provided by LP_Problem.
+
+2006-09-20 Wednesday 09:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.47): Adapted to the new LP_Problem
+	  interface.
+
+2006-09-20 Wednesday 09:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh (1.15),
+	  src/Octagonal_Shape.templates.hh (1.4),
+	  src/Polyhedron.templates.hh (1.3), src/Polyhedron_nonpublic.cc
+	  (1.66), interfaces/C/ppl_c.cc (1.154), interfaces/C/ppl_c.h.in
+	  (1.65), interfaces/Prolog/Prolog_interface.dox (1.155),
+	  interfaces/Prolog/ppl_prolog.icc (1.179),
+	  interfaces/Prolog/Ciao/ciao_pl_check.pl (1.21),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.90),
+	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.61),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.94),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.124),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.118),
+	  interfaces/Prolog/tests/pl_check.pl (1.32): Adapted to the new
+	  LP_Problem interface.
+
+2006-09-20 Wednesday 09:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Makefile.am (1.157): Do consider new source file
+	  LP_Problem.templates.hh.
+
+2006-09-20 Wednesday 09:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: LP_Problem.cc (1.33), LP_Problem.defs.hh (1.15),
+	  LP_Problem.inlines.hh (1.11), LP_Problem.templates.hh (1.1): The
+	  constructors of LP_Problem now take the space dimension as an
+	  explicit argument. Exception thrown if this exceeds the maximum
+	  allowed space dim.  Adding a constraint no longer automatically
+	  adjusts space dimensions; exception thrown if the space dimension
+	  of the constraint exceeds that of the LP_Problem; the latter can
+	  be extended by new method add_space_dimensions_and_embed.  Method
+	  constraints() returning (a copy of) the constraint system
+	  defining the feasible region replaced by const_iterator's
+	  (constraints_begin() and constraints_end()). Also added a
+	  templatic method that adds a sequence of constraints using
+	  iterators.
+
+2006-09-20 Wednesday 09:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/LP_Problem.templates.hh (interfaces.1): file
+	  LP_Problem.templates.hh was added on branch interfaces on
+	  2006-09-28 20:46:29 +0000
+
+2006-09-20 Wednesday 08:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/powerset1.cc (1.16): Work around bugs in GCC
+	  3.3.3.
+
+2006-09-19 Tuesday 20:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.195): Introduce the new Octagonal_Shape class.
+
+2006-09-19 Tuesday 20:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh (1.3): Indentation fixes.  Never
+	  leave an operator at end of line.  Useless inclusions removed.
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/affineimage1.cc (interfaces.1): file
+	  affineimage1.cc was added on branch interfaces on 2006-09-28
+	  20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/affineimage2.cc (altnum.1): file
+	  affineimage2.cc was added on branch altnum on 2006-10-29 19:27:31
+	  +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/affineimage2.cc (interfaces.1): file
+	  affineimage2.cc was added on branch interfaces on 2006-09-28
+	  20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/affineimage2.cc (octagons.1): file
+	  affineimage2.cc was added on branch octagons on 2006-11-18
+	  20:36:59 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/affinepreimage1.cc (interfaces.1): file
+	  affinepreimage1.cc was added on branch interfaces on 2006-09-28
+	  20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/affinepreimage2.cc (altnum.1): file
+	  affinepreimage2.cc was added on branch altnum on 2006-10-29
+	  19:27:31 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/affinepreimage2.cc (interfaces.1): file
+	  affinepreimage2.cc was added on branch interfaces on 2006-09-28
+	  20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/affinepreimage2.cc (octagons.1): file
+	  affinepreimage2.cc was added on branch octagons on 2006-11-18
+	  20:36:59 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/ascii_dump_load1.cc (altnum.1): file
+	  ascii_dump_load1.cc was added on branch altnum on 2006-10-29
+	  19:27:31 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/ascii_dump_load1.cc (interfaces.1): file
+	  ascii_dump_load1.cc was added on branch interfaces on 2006-09-28
+	  20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/ascii_dump_load1.cc (octagons.1): file
+	  ascii_dump_load1.cc was added on branch octagons on 2006-11-18
+	  20:36:59 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/bhmz05widening1.cc (interfaces.1): file
+	  bhmz05widening1.cc was added on branch interfaces on 2006-09-28
+	  20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/bhz03widening1.cc (altnum.1): file
+	  bhz03widening1.cc was added on branch altnum on 2006-10-29
+	  19:27:31 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/bhz03widening1.cc (interfaces.1): file
+	  bhz03widening1.cc was added on branch interfaces on 2006-09-28
+	  20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/bhz03widening1.cc (octagons.1): file
+	  bhz03widening1.cc was added on branch octagons on 2006-11-18
+	  20:36:59 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/bounded1.cc (altnum.1): file bounded1.cc
+	  was added on branch altnum on 2006-10-29 19:27:31 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/bounded1.cc (interfaces.1): file
+	  bounded1.cc was added on branch interfaces on 2006-09-28 20:46:32
+	  +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/bounded1.cc (octagons.1): file bounded1.cc
+	  was added on branch octagons on 2006-11-18 20:36:59 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/cc76extrapolation1.cc (interfaces.1): file
+	  cc76extrapolation1.cc was added on branch interfaces on
+	  2006-09-28 20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/cc76narrowing1.cc (interfaces.1): file
+	  cc76narrowing1.cc was added on branch interfaces on 2006-09-28
+	  20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/chinainit.cc (altnum.1): file chinainit.cc
+	  was added on branch altnum on 2006-10-29 19:27:31 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/chinainit.cc (interfaces.1): file
+	  chinainit.cc was added on branch interfaces on 2006-09-28
+	  20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/chinainit.cc (octagons.1): file
+	  chinainit.cc was added on branch octagons on 2006-11-18 20:36:59
+	  +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/concatenate1.cc (altnum.1): file
+	  concatenate1.cc was added on branch altnum on 2006-10-29 19:27:31
+	  +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/concatenate1.cc (interfaces.1): file
+	  concatenate1.cc was added on branch interfaces on 2006-09-28
+	  20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/concatenate1.cc (octagons.1): file
+	  concatenate1.cc was added on branch octagons on 2006-11-18
+	  20:36:59 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/constraints1.cc (altnum.1): file
+	  constraints1.cc was added on branch altnum on 2006-10-29 19:27:31
+	  +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/constraints1.cc (interfaces.1): file
+	  constraints1.cc was added on branch interfaces on 2006-09-28
+	  20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/constraints1.cc (octagons.1): file
+	  constraints1.cc was added on branch octagons on 2006-11-18
+	  20:36:59 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/empty1.cc (altnum.1): file empty1.cc was
+	  added on branch altnum on 2006-10-29 19:27:31 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/empty1.cc (interfaces.1): file empty1.cc
+	  was added on branch interfaces on 2006-09-28 20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/empty1.cc (octagons.1): file empty1.cc was
+	  added on branch octagons on 2006-11-18 20:36:59 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/fromgensys1.cc (altnum.1): file
+	  fromgensys1.cc was added on branch altnum on 2006-10-29 19:27:31
+	  +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/fromgensys1.cc (interfaces.1): file
+	  fromgensys1.cc was added on branch interfaces on 2006-09-28
+	  20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/fromgensys1.cc (octagons.1): file
+	  fromgensys1.cc was added on branch octagons on 2006-11-18
+	  20:36:59 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/frompolyhedron1.cc (altnum.1): file
+	  frompolyhedron1.cc was added on branch altnum on 2006-10-29
+	  19:27:31 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/frompolyhedron1.cc (interfaces.1): file
+	  frompolyhedron1.cc was added on branch interfaces on 2006-09-28
+	  20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/frompolyhedron1.cc (octagons.1): file
+	  frompolyhedron1.cc was added on branch octagons on 2006-11-18
+	  20:36:59 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffineimage1.cc (altnum.1): file
+	  generalizedaffineimage1.cc was added on branch altnum on
+	  2006-10-29 19:27:31 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffineimage1.cc (interfaces.1):
+	  file generalizedaffineimage1.cc was added on branch interfaces on
+	  2006-09-28 20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffineimage1.cc (octagons.1):
+	  file generalizedaffineimage1.cc was added on branch octagons on
+	  2006-11-18 20:36:59 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffineimage2.cc (altnum.1): file
+	  generalizedaffineimage2.cc was added on branch altnum on
+	  2006-10-29 19:27:31 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffineimage2.cc (interfaces.1):
+	  file generalizedaffineimage2.cc was added on branch interfaces on
+	  2006-09-28 20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffineimage2.cc (octagons.1):
+	  file generalizedaffineimage2.cc was added on branch octagons on
+	  2006-11-18 20:36:59 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffineimage4.cc (altnum.1): file
+	  generalizedaffineimage4.cc was added on branch altnum on
+	  2006-10-29 19:27:31 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffineimage4.cc (interfaces.1):
+	  file generalizedaffineimage4.cc was added on branch interfaces on
+	  2006-09-28 20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffineimage4.cc (octagons.1):
+	  file generalizedaffineimage4.cc was added on branch octagons on
+	  2006-11-18 20:36:59 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffineimage5.cc (altnum.1): file
+	  generalizedaffineimage5.cc was added on branch altnum on
+	  2006-10-29 19:27:31 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffineimage5.cc (interfaces.1):
+	  file generalizedaffineimage5.cc was added on branch interfaces on
+	  2006-09-28 20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffineimage5.cc (octagons.1):
+	  file generalizedaffineimage5.cc was added on branch octagons on
+	  2006-11-18 20:36:59 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffinepreimage1.cc
+	  (interfaces.1): file generalizedaffinepreimage1.cc was added on
+	  branch interfaces on 2006-09-28 20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffinepreimage3.cc
+	  (interfaces.1): file generalizedaffinepreimage3.cc was added on
+	  branch interfaces on 2006-09-28 20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffinepreimage4.cc (altnum.1):
+	  file generalizedaffinepreimage4.cc was added on branch altnum on
+	  2006-10-29 19:27:31 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffinepreimage4.cc
+	  (interfaces.1): file generalizedaffinepreimage4.cc was added on
+	  branch interfaces on 2006-09-28 20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/generalizedaffinepreimage4.cc (octagons.1):
+	  file generalizedaffinepreimage4.cc was added on branch octagons
+	  on 2006-11-18 20:36:59 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/intersection1.cc (interfaces.1): file
+	  intersection1.cc was added on branch interfaces on 2006-09-28
+	  20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc
+	  (interfaces.1): file limitedbhmz05extrapolation1.cc was added on
+	  branch interfaces on 2006-09-28 20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/limitedcc76extrapolation1.cc
+	  (interfaces.1): file limitedcc76extrapolation1.cc was added on
+	  branch interfaces on 2006-09-28 20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/mapspacedims1.cc (altnum.1): file
+	  mapspacedims1.cc was added on branch altnum on 2006-10-29
+	  19:27:31 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/mapspacedims1.cc (interfaces.1): file
+	  mapspacedims1.cc was added on branch interfaces on 2006-09-28
+	  20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/maxspacedim.cc (altnum.1): file
+	  maxspacedim.cc was added on branch altnum on 2006-10-29 19:27:31
+	  +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/maxspacedim.cc (interfaces.1): file
+	  maxspacedim.cc was added on branch interfaces on 2006-09-28
+	  20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/minconstraints1.cc (interfaces.1): file
+	  minconstraints1.cc was added on branch interfaces on 2006-09-28
+	  20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/octdifference1.cc (interfaces.1): file
+	  octdifference1.cc was added on branch interfaces on 2006-09-28
+	  20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/octhull1.cc (interfaces.1): file
+	  octhull1.cc was added on branch interfaces on 2006-09-28 20:46:32
+	  +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/relatwithcons1.cc (altnum.1): file
+	  relatwithcons1.cc was added on branch altnum on 2006-10-29
+	  19:27:31 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/relatwithcons1.cc (interfaces.1): file
+	  relatwithcons1.cc was added on branch interfaces on 2006-09-28
+	  20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/relatwithcons1.cc (octagons.1): file
+	  relatwithcons1.cc was added on branch octagons on 2006-11-18
+	  20:36:59 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/relatwithcons2.cc (interfaces.1): file
+	  relatwithcons2.cc was added on branch interfaces on 2006-09-28
+	  20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/relatwithgen1.cc (interfaces.1): file
+	  relatwithgen1.cc was added on branch interfaces on 2006-09-28
+	  20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/removespacedims1.cc (interfaces.1): file
+	  removespacedims1.cc was added on branch interfaces on 2006-09-28
+	  20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/run_tests (altnum.1): file run_tests was
+	  added on branch altnum on 2006-10-29 19:27:31 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/run_tests (interfaces.1): file run_tests
+	  was added on branch interfaces on 2006-09-28 20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/run_tests (octagons.1): file run_tests was
+	  added on branch octagons on 2006-11-18 20:36:59 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/timeelapse1.cc (interfaces.1): file
+	  timeelapse1.cc was added on branch interfaces on 2006-09-28
+	  20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/universe1.cc (altnum.1): file universe1.cc
+	  was added on branch altnum on 2006-10-29 19:27:31 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/universe1.cc (interfaces.1): file
+	  universe1.cc was added on branch interfaces on 2006-09-28
+	  20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/universe1.cc (octagons.1): file
+	  universe1.cc was added on branch octagons on 2006-11-18 20:36:59
+	  +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/.cvsignore (altnum.1): file .cvsignore was
+	  added on branch altnum on 2006-10-29 19:27:30 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/.cvsignore (interfaces.1): file .cvsignore
+	  was added on branch interfaces on 2006-09-28 20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/.cvsignore (octagons.1): file .cvsignore
+	  was added on branch octagons on 2006-11-18 20:36:59 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/.cvsignore (simplex.1): file .cvsignore was
+	  added on branch simplex on 2008-01-07 11:15:37 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/addspacedims1.cc (altnum.1): file
+	  addspacedims1.cc was added on branch altnum on 2006-10-29
+	  19:27:31 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/addspacedims1.cc (interfaces.1): file
+	  addspacedims1.cc was added on branch interfaces on 2006-09-28
+	  20:46:32 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/addspacedims1.cc (octagons.1): file
+	  addspacedims1.cc was added on branch octagons on 2006-11-18
+	  20:36:59 +0000
+
+2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/affinedimension1.cc (interfaces.1): file
+	  affinedimension1.cc was added on branch interfaces on 2006-09-28
+	  20:46:32 +0000
+
+2006-09-19 Tuesday 20:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.235), tests/Makefile.am (1.256),
+	  tests/Octagonal_Shape/.cvsignore (1.1),
+	  tests/Octagonal_Shape/Makefile.am (1.1),
+	  tests/Octagonal_Shape/addspacedims1.cc (1.1),
+	  tests/Octagonal_Shape/affinedimension1.cc (1.1),
+	  tests/Octagonal_Shape/affineimage1.cc (1.1),
+	  tests/Octagonal_Shape/affineimage2.cc (1.1),
+	  tests/Octagonal_Shape/affinepreimage1.cc (1.1),
+	  tests/Octagonal_Shape/affinepreimage2.cc (1.1),
+	  tests/Octagonal_Shape/ascii_dump_load1.cc (1.1),
+	  tests/Octagonal_Shape/bhmz05widening1.cc (1.1),
+	  tests/Octagonal_Shape/bhz03widening1.cc (1.1),
+	  tests/Octagonal_Shape/bounded1.cc (1.1),
+	  tests/Octagonal_Shape/cc76extrapolation1.cc (1.1),
+	  tests/Octagonal_Shape/cc76narrowing1.cc (1.1),
+	  tests/Octagonal_Shape/chinainit.cc (1.1),
+	  tests/Octagonal_Shape/concatenate1.cc (1.1),
+	  tests/Octagonal_Shape/constraints1.cc (1.1),
+	  tests/Octagonal_Shape/contains1.cc (1.1),
+	  tests/Octagonal_Shape/empty1.cc (1.1),
+	  tests/Octagonal_Shape/fromgensys1.cc (1.1),
+	  tests/Octagonal_Shape/frompolyhedron1.cc (1.1),
+	  tests/Octagonal_Shape/generalizedaffineimage1.cc (1.1),
+	  tests/Octagonal_Shape/generalizedaffineimage2.cc (1.1),
+	  tests/Octagonal_Shape/generalizedaffineimage3.cc (1.1),
+	  tests/Octagonal_Shape/generalizedaffineimage4.cc (1.1),
+	  tests/Octagonal_Shape/generalizedaffineimage5.cc (1.1),
+	  tests/Octagonal_Shape/generalizedaffinepreimage1.cc (1.1),
+	  tests/Octagonal_Shape/generalizedaffinepreimage2.cc (1.1),
+	  tests/Octagonal_Shape/generalizedaffinepreimage3.cc (1.1),
+	  tests/Octagonal_Shape/generalizedaffinepreimage4.cc (1.1),
+	  tests/Octagonal_Shape/intersection1.cc (1.1),
+	  tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc (1.1),
+	  tests/Octagonal_Shape/limitedcc76extrapolation1.cc (1.1),
+	  tests/Octagonal_Shape/mapspacedims1.cc (1.1),
+	  tests/Octagonal_Shape/maxspacedim.cc (1.1),
+	  tests/Octagonal_Shape/minconstraints1.cc (1.1),
+	  tests/Octagonal_Shape/octdifference1.cc (1.1),
+	  tests/Octagonal_Shape/octhull1.cc (1.1),
+	  tests/Octagonal_Shape/relatwithcons1.cc (1.1),
+	  tests/Octagonal_Shape/relatwithcons2.cc (1.1),
+	  tests/Octagonal_Shape/relatwithgen1.cc (1.1),
+	  tests/Octagonal_Shape/removespacedims1.cc (1.1),
+	  tests/Octagonal_Shape/run_tests (1.1),
+	  tests/Octagonal_Shape/timeelapse1.cc (1.1),
+	  tests/Octagonal_Shape/universe1.cc (1.1),
+	  tests/Octagonal_Shape/writeoctagon1.cc (1.1): Directory
+	  tests/Octagon renamed tests/Octagonal_Shape.
+
+2006-09-19 Tuesday 20:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/ppl_xsb.cc (1.90): Reverted previous change
+	  (it was only meant for XSB 3.0.1).
+
+2006-09-19 Tuesday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/bgp99extrapolation1.cc (altnum.1): file
+	  bgp99extrapolation1.cc was added on branch altnum on 2006-10-29
+	  19:27:22 +0000
+
+2006-09-19 Tuesday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/bhz03widening1.cc (altnum.1): file
+	  bhz03widening1.cc was added on branch altnum on 2006-10-29
+	  19:27:22 +0000
+
+2006-09-19 Tuesday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/geomcovers1.cc (altnum.1): file geomcovers1.cc was
+	  added on branch altnum on 2006-10-29 19:27:22 +0000
+
+2006-09-19 Tuesday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/membytes1.cc (altnum.1): file membytes1.cc was added
+	  on branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-09-19 Tuesday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/pointsetpowerset1.cc (altnum.1): file
+	  pointsetpowerset1.cc was added on branch altnum on 2006-10-29
+	  19:27:32 +0000
+
+2006-09-19 Tuesday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/pointsetpowerset1.cc (interfaces.1): file
+	  pointsetpowerset1.cc was added on branch interfaces on 2006-09-28
+	  20:46:32 +0000
+
+2006-09-19 Tuesday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Powerset.types.hh (altnum.1): file
+	  Pointset_Powerset.types.hh was added on branch altnum on
+	  2006-10-29 19:27:14 +0000
+
+2006-09-19 Tuesday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Powerset.types.hh (interfaces.1): file
+	  Pointset_Powerset.types.hh was added on branch interfaces on
+	  2006-09-28 20:46:29 +0000
+
+2006-09-19 Tuesday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Powerset.types.hh (octagons.1): file
+	  Pointset_Powerset.types.hh was added on branch octagons on
+	  2006-11-18 20:36:51 +0000
+
+2006-09-19 Tuesday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.194), instchk.hh (1.5), doc/devref.doxyconf-html.in
+	  (1.75), doc/devref.doxyconf-latex.in (1.14),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.89), src/Makefile.am (1.156),
+	  src/Pointset_Powerset.cc (1.1), src/Pointset_Powerset.defs.hh
+	  (1.1), src/Pointset_Powerset.inlines.hh (1.1),
+	  src/Pointset_Powerset.templates.hh (1.1),
+	  src/Pointset_Powerset.types.hh (1.1), src/Polyhedra_Powerset.cc
+	  (1.7), src/Polyhedra_Powerset.defs.hh (1.37),
+	  src/Polyhedra_Powerset.inlines.hh (1.43),
+	  src/Polyhedra_Powerset.templates.hh (1.5),
+	  src/Polyhedra_Powerset.types.hh (1.5),
+	  src/Widening_Function.defs.hh (1.15),
+	  src/Widening_Function.inlines.hh (1.13), src/algorithms.hh
+	  (1.46), src/max_space_dimension.hh (1.8), tests/print.hh (1.37),
+	  tests/BD_Shape/bgp99extrapolation1.cc (1.8),
+	  tests/BD_Shape/bhz03widening1.cc (1.8),
+	  tests/BD_Shape/geomcovers1.cc (1.8), tests/Grid/bhz03widening1.cc
+	  (1.10), tests/Grid/membytes1.cc (1.7),
+	  tests/Polyhedron/Makefile.am (1.97),
+	  tests/Polyhedron/bgp99extrapolation1.cc (1.11),
+	  tests/Polyhedron/bhz03widening1.cc (1.11),
+	  tests/Polyhedron/exceptions1.cc (1.10),
+	  tests/Polyhedron/geomcovers1.cc (1.12),
+	  tests/Polyhedron/linearpartition1.cc (1.9),
+	  tests/Polyhedron/maxspacedim1.cc (1.8), tests/Polyhedron/mc91.cc
+	  (1.13), tests/Polyhedron/membytes2.cc (1.7),
+	  tests/Polyhedron/pointsetpowerset1.cc (1.1),
+	  tests/Polyhedron/polydifference1.cc (1.9),
+	  tests/Polyhedron/polypowerset1.cc (1.21),
+	  tests/Polyhedron/timeelapse1.cc (1.9): The Polyhedra_Powerset
+	  template class has been renamed Pointset_Powerset.
+
+2006-09-19 Tuesday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedra_Powerset.inlines.hh (1.42),
+	  src/Polyhedra_Powerset.templates.hh (1.4), src/Powerset.defs.hh
+	  (1.26), src/Powerset.inlines.hh (1.17), src/Powerset.templates.hh
+	  (1.3), tests/Polyhedron/powerset1.cc (1.15): Powerset
+	  implementation made more lazy.  Fixed a couple of FIXMEs.
+	  Methods Powerset::add_non_bottom_disjunct() renamed
+	  add_non_bottom_disjunct_preserve_reduction(), since the true
+	  emphasis is on preserving reduction.	This required the addition
+	  of two FIXMEs concerning the implementation of
+	  Polyhedra_Powerset, as it is not clear whether the preservation
+	  of reduction was an issue there.
+
+2006-09-19 Tuesday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Powerset.templates.hh (altnum.1): file Powerset.templates.hh
+	  was added on branch altnum on 2006-10-29 19:27:14 +0000
+
+2006-09-19 Tuesday 11:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/powerset1.cc (1.14): Adhere to the our standards
+	  for test programs.  Two more tests added.  Added also a FIXME.
+
+2006-09-19 Tuesday 10:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Generator.defs.hh (altnum.1): file
+	  Grid_Generator.defs.hh was added on branch altnum on 2006-10-29
+	  19:27:13 +0000
+
+2006-09-19 Tuesday 10:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Status.idefs.hh (altnum.1): file Grid_Status.idefs.hh
+	  was added on branch altnum on 2006-10-29 19:27:13 +0000
+
+2006-09-19 Tuesday 10:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BDS_Status.idefs.hh (1.19), BD_Shape.defs.hh (1.73),
+	  Congruence_System.defs.hh (1.15), Constraint.defs.hh (1.123),
+	  Constraint_System.defs.hh (1.31), DB_Matrix.defs.hh (1.23),
+	  Direct_Product.defs.hh (1.28), Generator.defs.hh (1.120),
+	  Generator_System.defs.hh (1.19), Grid.defs.hh (1.28),
+	  Grid_Generator.defs.hh (1.26), Grid_Generator_System.defs.hh
+	  (1.18), Grid_Status.idefs.hh (1.5), LP_Problem.defs.hh (1.14),
+	  Linear_Expression.defs.hh (1.30), Linear_Row.defs.hh (1.22),
+	  Linear_System.defs.hh (1.27), Matrix.defs.hh (1.78),
+	  OR_Matrix.defs.hh (1.4), Octagonal_Shape.defs.hh (1.4),
+	  Og_Status.idefs.hh (1.4), Ph_Status.idefs.hh (1.19),
+	  Polyhedra_Powerset.defs.hh (1.36), Polyhedron.defs.hh (1.304),
+	  Row.defs.hh (1.108), Saturation_Matrix.defs.hh (1.10): Fixed the
+	  references (in the documentation) to the various
+	  ascii_dump(std::ostream&) const methods.
+
+2006-09-19 Tuesday 08:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Powerset.defs.hh (1.25): Use vertical spacing to improve
+	  readability.
+
+2006-09-19 Tuesday 08:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Ask_Tell.defs.hh (1.12), Ask_Tell.inlines.hh (1.11),
+	  Ask_Tell.templates.hh (1.3): Started making normalization lazy.
+
+2006-09-18 Monday 20:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BDS_Status.idefs.hh (1.18), BD_Shape.defs.hh (1.72),
+	  Congruence_System.defs.hh (1.14), Constraint.defs.hh (1.122),
+	  Constraint_System.defs.hh (1.30), DB_Matrix.defs.hh (1.22),
+	  Direct_Product.defs.hh (1.27), Generator.defs.hh (1.119),
+	  Generator_System.defs.hh (1.18), Grid.defs.hh (1.27),
+	  Grid_Generator.defs.hh (1.25), Grid_Generator_System.defs.hh
+	  (1.17), Grid_Status.idefs.hh (1.4), LP_Problem.defs.hh (1.13),
+	  Linear_Expression.defs.hh (1.29), Linear_Row.defs.hh (1.21),
+	  Linear_System.defs.hh (1.26), Matrix.defs.hh (1.77),
+	  OR_Matrix.defs.hh (1.3), Octagonal_Shape.defs.hh (1.3),
+	  Og_Status.idefs.hh (1.3), Ph_Status.idefs.hh (1.18),
+	  Polyhedra_Powerset.defs.hh (1.35), Polyhedron.defs.hh (1.303),
+	  Row.defs.hh (1.107), Saturation_Matrix.defs.hh (1.9): Fixed
+	  documentation references to the various ascii_dump(std::ostream&)
+	  methods (this, unfortunately triggers a Doxygen bug, see
+	  http://bugzilla.gnome.org/show_bug.cgi?id=356597).  Other
+	  documentation fixes.
+
+2006-09-18 Monday 20:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Ask_Tell.defs.hh (1.11), Ask_Tell.inlines.hh (1.10),
+	  Ask_Tell.templates.hh (1.2): The former engine() method is now
+	  called normalize().  New method bool is_normalized() const.
+
+2006-09-18 Monday 18:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Ask_Tell.defs.hh (1.10), Ask_Tell.inlines.hh (1.9),
+	  Ask_Tell.templates.hh (1.1): Halfway through the rewriting of the
+	  Ask_Tell template class.
+
+2006-09-18 Monday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Powerset.templates.hh (1.2), tests/Polyhedron/append2.cc
+	  (1.7): Indentation fixed.
+
+2006-09-17 Sunday 17:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: XSB/expected_pchk_int8 (1.4),
+	  tests/expected_pchk_int8 (1.8): Updated to reflect the new
+	  implementations of simplex.
+
+2006-09-17 Sunday 17:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_pchk_int8 (altnum.1): file
+	  expected_pchk_int8 was added on branch altnum on 2006-10-29
+	  19:27:05 +0000
+
+2006-09-17 Sunday 17:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_pchk_int8 (altnum.1): file
+	  expected_pchk_int8 was added on branch altnum on 2006-10-29
+	  19:27:07 +0000
+
+2006-09-17 Sunday 12:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/powerset1.cc (1.13): Fixed the implementations
+	  of Fcaibvp::upper_bound_assign(const Fcaibvp&) and
+	  Fcaibvp::meet_assign(const Fcaibvp&) (they were swapped).
+
+2006-09-17 Sunday 11:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/powerset1.cc (1.12): Fixed a bug in
+	  operator<<(std::ostream&, const Fcaibvp&).
+
+2006-09-16 Saturday 22:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Ask_Tell.defs.hh (1.9), Ask_Tell.inlines.hh (1.8),
+	  Ask_Tell.types.hh (1.5): Complete rewriting of the Ask_Tell
+	  template class started.
+
+2006-09-15 Friday 16:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Grid_Generator.cc (1.17): Backtracking previous change as far
+	  as Grid_Generator is concerned.
+
+2006-09-15 Friday 15:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.194): Remember to advertise the failure of GCC 3.4.x to
+	  compile the PPL correctly.
+
+2006-09-15 Friday 15:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Congruence.cc (1.12), Constraint.cc (1.63), Generator.cc
+	  (1.72), Grid_Generator.cc (1.16): Added some missing sanity
+	  checks to a few OK() methods:  - Constraint::OK() and
+	  Generator::OK() no also check that the corresponding	  object is
+	  a valid Linear_Row;  - Congruence::OK() checks that the object is
+	  a valid Row;	- Grid_Generator::OK() check that the object is a
+	  valid Generator.
+
+2006-09-15 Friday 11:54  Andrea Cimino
+
+	* src/: LP_Problem.cc (1.32), LP_Problem.defs.hh (1.12): Minor
+	  stylistic changes.  Unused method definition removed.
+
+2006-09-14 Thursday 17:52  Andrea Cimino
+
+	* src/LP_Problem.cc (1.31): Fixed a bug in LP_Problem::ascii_load()
+
+2006-09-14 Thursday 11:34  Andrea Cimino
+
+	* src/LP_Problem.cc (1.30): Test that every member used in
+	  LP_Problem is OK.  Fixed a bug in ascii_load().  Added a test
+	  concerning ascii_dump/ascii_load.
+
+2006-09-14 Thursday 10:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Linear_Expression.cc (1.15), Linear_Row.cc (1.20),
+	  Linear_Row.defs.hh (1.20), Row.cc (1.100), Row.defs.hh (1.106):
+	  Added method OK(), taking no arguments, to classes Row and
+	  Linear_Row.  The OK() method for Linear_Expression modified
+	  accordingly (previous implementation may have resulted in false
+	  alarms, i.e., returning false even when the object was well
+	  formed).
+
+2006-09-13 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_public.cc (1.35): Every OK() methods must take care of
+	  reporting its own failures: redundant prints avoided.
+
+2006-09-13 Wednesday 16:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.46): Made C99 compliant (we were
+	  using C++-style comments and declaring variables in the middle of
+	  body functions).
+
+2006-09-13 Wednesday 16:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.45): Variables renamed to improve
+	  readability.
+
+2006-09-13 Wednesday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: ppl-config_extra_man_text (1.1), ppl_lcdd_extra_man_text
+	  (1.1), ppl_lpsol_extra_man_text (1.1), prog2man (1.1):
+	  Provisional machinery to automatically build the man pages put
+	  under CVS control.
+
+2006-09-13 Wednesday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl-config_extra_man_text (altnum.1): file
+	  ppl-config_extra_man_text was added on branch altnum on
+	  2006-10-29 19:26:56 +0000
+
+2006-09-13 Wednesday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl-config_extra_man_text (interfaces.1): file
+	  ppl-config_extra_man_text was added on branch interfaces on
+	  2006-09-28 20:46:26 +0000
+
+2006-09-13 Wednesday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl-config_extra_man_text (octagons.1): file
+	  ppl-config_extra_man_text was added on branch octagons on
+	  2006-11-18 20:36:43 +0000
+
+2006-09-13 Wednesday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_lcdd_extra_man_text (altnum.1): file
+	  ppl_lcdd_extra_man_text was added on branch altnum on 2006-10-29
+	  19:26:56 +0000
+
+2006-09-13 Wednesday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_lcdd_extra_man_text (interfaces.1): file
+	  ppl_lcdd_extra_man_text was added on branch interfaces on
+	  2006-09-28 20:46:26 +0000
+
+2006-09-13 Wednesday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_lcdd_extra_man_text (octagons.1): file
+	  ppl_lcdd_extra_man_text was added on branch octagons on
+	  2006-11-18 20:36:43 +0000
+
+2006-09-13 Wednesday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_lpsol_extra_man_text (altnum.1): file
+	  ppl_lpsol_extra_man_text was added on branch altnum on 2006-10-29
+	  19:26:56 +0000
+
+2006-09-13 Wednesday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_lpsol_extra_man_text (interfaces.1): file
+	  ppl_lpsol_extra_man_text was added on branch interfaces on
+	  2006-09-28 20:46:26 +0000
+
+2006-09-13 Wednesday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_lpsol_extra_man_text (octagons.1): file
+	  ppl_lpsol_extra_man_text was added on branch octagons on
+	  2006-11-18 20:36:43 +0000
+
+2006-09-13 Wednesday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/prog2man (altnum.1): file prog2man was added on branch altnum
+	  on 2006-10-29 19:26:56 +0000
+
+2006-09-13 Wednesday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/prog2man (interfaces.1): file prog2man was added on branch
+	  interfaces on 2006-09-28 20:46:26 +0000
+
+2006-09-13 Wednesday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/prog2man (octagons.1): file prog2man was added on branch
+	  octagons on 2006-11-18 20:36:43 +0000
+
+2006-09-13 Wednesday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/prog2man (simplex.1): file prog2man was added on branch
+	  simplex on 2008-01-07 11:15:27 +0000
+
+2006-09-13 Wednesday 15:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: ppl-config.1 (1.4), ppl_lcdd.1 (1.2), ppl_lpsol.1 (1.2):
+	  Updated.
+
+2006-09-13 Wednesday 15:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl-config.1 (altnum.1): file ppl-config.1 was added on
+	  branch altnum on 2006-10-29 19:26:56 +0000
+
+2006-09-13 Wednesday 15:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_lcdd.1 (altnum.1): file ppl_lcdd.1 was added on branch
+	  altnum on 2006-10-29 19:26:56 +0000
+
+2006-09-13 Wednesday 15:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_lpsol.1 (altnum.1): file ppl_lpsol.1 was added on branch
+	  altnum on 2006-10-29 19:26:56 +0000
+
+2006-09-13 Wednesday 15:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.44): Added the --version (-V)
+	  option.  The brief version of the --max-memory option is now -R.
+	  Help text revised.  The --help (-h) option now prints to stdout,
+	  as it should.  Fixed a couple of error messages.  Silenced a
+	  couple of compiler warnings.
+
+2006-09-13 Wednesday 14:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.43): Now the --check option
+	  accepts an option parameter specifying the threshold with which
+	  optima are checked.
+
+2006-09-13 Wednesday 12:46  Andrea Cimino
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.42): `check_threshold' is now set
+	  to a proper value.
+
+2006-09-13 Wednesday 12:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.41): Fixed a bug whereby the abs()
+	  function was used instead of fabs().
+
+2006-09-13 Wednesday 12:17  Andrea Cimino
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.40): MIP problems now are treated
+	  as LP ones.
+
+2006-09-13 Wednesday 11:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.193): New item added.
+
+2006-09-13 Wednesday 11:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.39): Redundant test avoided.
+
+2006-09-13 Wednesday 11:09  Andrea Cimino
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.38): Deallocate `optimum' only if
+	  an optimum is found.
+
+2006-09-13 Wednesday 10:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.37): The `optimum' variable was
+	  cleared too early.  Make GLPK silent when NDEBUG is defined.
+
+2006-09-13 Wednesday 09:33  Andrea Cimino
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.36): Modified ppl_lpsol.c to
+	  compile.  Properly checked if an LP Problem is MIP or not.
+
+2006-09-12 Tuesday 22:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.35): Typo fixed.  The --check
+	  options is still not working, as the call to lpx_get_num_int()
+	  aborts the program immediately.
+
+2006-09-12 Tuesday 21:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.34): New draft implementation of
+	  the --check option.
+
+2006-09-12 Tuesday 18:14  Andrea Cimino
+
+	* src/LP_Problem.cc (1.29): Added some noisy output if something
+	  fails in LP_Problem::OK(). Removed a previous redundant check.
+
+2006-09-12 Tuesday 18:04  Andrea Cimino
+
+	* src/LP_Problem.cc (1.28): Antoher little test added in
+	  LP_Problem::OK().  Another FIXME dealt with.
+
+2006-09-12 Tuesday 17:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (1.192), src/Direct_Product.defs.hh (1.26),
+	  src/Direct_Product.inlines.hh (1.24),
+	  tests/Grid/directproduct1.cc (1.21): Restored previous
+	  implementation of affine_relation() Improved several comments.
+
+2006-09-12 Tuesday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/directproduct1.cc (altnum.1): file directproduct1.cc
+	  was added on branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-09-12 Tuesday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/directproduct1.cc (octagons.1): file directproduct1.cc
+	  was added on branch octagons on 2006-11-18 20:36:56 +0000
+
+2006-09-12 Tuesday 12:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.234), tests/Makefile.am (1.255),
+	  tests/Polyhedron/Makefile.am (1.96),
+	  tests/Polyhedron/exceptions2.cc (1.9),
+	  tests/Polyhedron/lpproblem1.cc (1.10): Tests concerning the
+	  LP_Problem class have been moved into a separate directory.
+
+2006-09-11 Monday 21:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/: expected_mpz (1.8), expected_mpz_a (1.8):
+	  Updated to reflect the new implementations of simplex and
+	  ppl_lpsol.
+
+2006-09-11 Monday 20:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/LP_Problem.cc (1.27): IO_Operators::operator<<(std::ostream&,
+	  const LP_Problem&) now prints the correct optimization mode.
+	  Useless redundancy avoided in the same function.
+
+2006-09-11 Monday 20:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/expected_int8_a (1.5): Updated to reflect the new
+	  implementations of simplex and ppl_lpsol.
+
+2006-09-11 Monday 19:09  Andrea Cimino
+
+	* src/LP_Problem.cc (1.26): Removed a non wanted FIXME.
+
+2006-09-11 Monday 19:07  Andrea Cimino
+
+	* src/: LP_Problem.cc (1.25), LP_Problem.defs.hh (1.11):
+	  Implemented an initial version of the << operator.
+
+2006-09-11 Monday 18:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/expected_int16_a (1.6): Updated to reflect the
+	  new implementations of simplex and ppl_lpsol.
+
+2006-09-11 Monday 18:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/expected_int32_a (1.7): Updated to reflect the
+	  new implementations of simplex and ppl_lpsol.
+
+2006-09-11 Monday 18:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/expected_int64_a (1.7): Updated to reflect the
+	  new implementations of simplex and ppl_lpsol.
+
+2006-09-11 Monday 18:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/expected_int64 (1.7): Updated to reflect the new
+	  implementations of simplex and ppl_lpsol.
+
+2006-09-11 Monday 17:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/: expected_int16 (1.6), expected_int32 (1.7):
+	  Updated to reflect the new implementations of simplex and
+	  ppl_lpsol.
+
+2006-09-11 Monday 17:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/expected_int8 (1.6): Updated to reflect the new
+	  implementations of simplex and ppl_lpsol.
+
+2006-09-11 Monday 17:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.33): Added a newline in the error
+	  output.
+
+2006-09-11 Monday 17:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.32): The error_handler() function
+	  now prints the error also to the output file, if any.
+
+2006-09-11 Monday 13:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Direct_Product.defs.hh (1.25), src/Direct_Product.inlines.hh
+	  (1.23), tests/Grid/directproduct1.cc (1.20): Changed
+	  implementation of affine_dimension() for Direct_Product to assume
+	  no reduction.  Revised comment for affine_dimension().  Revised
+	  test for affine_dimension().
+
+2006-09-10 Sunday 22:15  Andrea Cimino
+
+	* src/LP_Problem.cc (1.24): ascii_load() method implemented.
+	  Slightly modified ascii_dump() to allow ascii_load() working.
+
+2006-09-10 Sunday 11:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (1.191): Removed a todo item for the grid widening as this
+	  has been done.  Added - Direct_Product: Check that all comments
+	  and code are consistent with	 intended semantics.
+
+2006-09-10 Sunday 11:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Direct_Product.defs.hh (1.24): Some comments improved.
+
+2006-09-10 Sunday 08:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/LP_Problem.cc (1.23):
+	  LP_Problem::steepest_edge_entering_index() fixed.
+
+2006-09-09 Saturday 18:56  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Grid/: asciidumpload1.cc (1.12), asciidumpload3.cc (1.3),
+	  asciidumpload4.cc (1.3): Adjusted to match the recent change in
+	  ascii dump & load methods.
+
+2006-09-09 Saturday 18:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/asciidumpload1.cc (altnum.1): file asciidumpload1.cc
+	  was added on branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-09-09 Saturday 18:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/asciidumpload3.cc (altnum.1): file asciidumpload3.cc
+	  was added on branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-09-09 Saturday 18:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/asciidumpload3.cc (octagons.1): file asciidumpload3.cc
+	  was added on branch octagons on 2006-11-18 20:36:56 +0000
+
+2006-09-09 Saturday 18:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/asciidumpload4.cc (altnum.1): file asciidumpload4.cc
+	  was added on branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-09-09 Saturday 18:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/asciidumpload4.cc (octagons.1): file asciidumpload4.cc
+	  was added on branch octagons on 2006-11-18 20:36:56 +0000
+
+2006-09-09 Saturday 18:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Congruence.cc (1.11), Grid_Generator.cc (1.15),
+	  Linear_Row.cc (1.19), Row.cc (1.99): Patched methods for ascii
+	  dump&load so as they also manage size information and perform any
+	  required allocation/deallocation.
+
+2006-09-09 Saturday 16:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/LP_Problem.cc (1.22): Removed another bug due to assuming
+	  that Coefficient is a GMP integer.
+
+2006-09-09 Saturday 14:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.inlines.hh (1.67): Added missing \relates
+	  commands.  Long source lines avoided.
+
+2006-09-09 Saturday 14:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Grid_chdims.cc (1.10), Grid_simplify.cc (1.27),
+	  checked_ext.inlines.hh (1.32), checked_float.inlines.hh (1.66),
+	  checked_int.inlines.hh (1.53): Little code formatting
+	  improvements.
+
+2006-09-09 Saturday 14:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Grid.defs.hh (1.26), Grid_nonpublic.cc (1.19):
+	  Const-correctness improved.
+
+2006-09-09 Saturday 14:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/LP_Problem.cc (1.21): assert(false) does not provide any real
+	  protection and should only be used in efficiency-critical inline
+	  functions.  Use throw std::runtime_error("PPL internal error")
+	  instead.
+
+2006-09-09 Saturday 14:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_nonpublic.cc (1.18): Simplified the logic of debugging
+	  code in Grid::normalize_divisors(Grid_Generator_System&,
+	  Grid_Generator_System&).
+
+2006-09-09 Saturday 13:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/LP_Problem.cc (1.20): Avoid creating temporaries.
+
+2006-09-09 Saturday 13:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/LP_Problem.cc (1.19): Use floating point constants to
+	  initialize floatin point values.
+
+2006-09-09 Saturday 13:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/LP_Problem.cc (1.18): Do not assume Coefficient is a GMP
+	  integer.  Must include <cmath> for fabs().
+	  PPL_SIMPLEX_USE_STEEPEST_EDGE_FLOATING_POINT re-enabled.
+
+2006-09-09 Saturday 13:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/LP_Problem.cc (1.17): Replaced "can't", "don't", "doesn't",
+	  "aren't" by "cannot", "do not", "does not" and "are not".
+
+2006-09-09 Saturday 13:10  Andrea Cimino
+
+	* TODO (1.190): Don't confuse operator with method.
+
+2006-09-09 Saturday 13:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/frompolyhedron1.cc (altnum.1): file
+	  frompolyhedron1.cc was added on branch altnum on 2006-10-29
+	  19:27:22 +0000
+
+2006-09-09 Saturday 13:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/frompolyhedron1.cc (1.3): test01() fails with
+	  8-bit coefficients, but does not fail with 16-bit ones.
+
+2006-09-09 Saturday 13:07  Andrea Cimino
+
+	* TODO (1.189): Added a couple of items concering PPL::LP_Problem.
+
+2006-09-09 Saturday 11:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Result.defs.hh (1.16), Result.inlines.hh (1.9): Functions
+	  Result classify(Result) and bool is_special(Result) documented.
+	  Useless inclusion removed.
+
+2006-09-09 Saturday 11:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Rounding_Dir.inlines.hh (1.4): Include <cassert>.
+
+2006-09-09 Saturday 11:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Rounding_Dir.inlines.hh (altnum.1): file
+	  Rounding_Dir.inlines.hh was added on branch altnum on 2006-10-29
+	  19:27:14 +0000
+
+2006-09-09 Saturday 11:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Result.defs.hh (1.15), Result.inlines.hh (1.8): Removed the
+	  unused function Result sign(Result).
+
+2006-09-09 Saturday 09:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.95): Programs lpproblem2 and
+	  lpproblem3 no longer exist.
+
+2006-09-09 Saturday 08:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/dualhypercubes.cc (1.9): test01() overflows with
+	  32-bit coefficients, but does not with 64-bit ones.
+
+2006-09-09 Saturday 08:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.188): Added an item concerning the covering of the
+	  LP_Problem code.
+
+2006-09-09 Saturday 08:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.94), lpproblem1.cc (1.9),
+	  lpproblem2.cc (1.7), lpproblem3.cc (1.5): Tests for the
+	  LP_Problem class fixed and merged.
+
+2006-09-08 Friday 21:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.193): Added some items, not to forget them.
+
+2006-09-08 Friday 21:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/LP_Problem.cc (1.16): Avoid calling num_columns() on input_cs
+	  and pending_input_cs, since these constraint systems may be NNC
+	  and therefore have an extra column for the epsilon coefficient.
+	  Do call space_dimension(), instead, taking care of the offset.
+	  Adjusted some badly indented lines; adjusted some bad line
+	  breaks.
+
+2006-09-08 Friday 21:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.233): Version number bumped.
+
+2006-09-08 Friday 20:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/LP_Problem.cc (1.15): Temporarily set
+	  PPL_SIMPLEX_USE_STEEPEST_EDGE_FLOATING_POINT to 0.  This is to
+	  avoid trying to the expression fabs(raw_value(cost_j).get_d()),
+	  which only makes sense with GMP integer coefficients.
+
+2006-09-08 Friday 19:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.187), demos/ppl_lpsol/ppl_lpsol.c (1.31),
+	  doc/devref.doxyconf-html.in (1.74), src/LP_Problem.cc (1.14),
+	  src/LP_Problem.defs.hh (1.10), src/LP_Problem.inlines.hh (1.10),
+	  src/Linear_Expression.cc (1.14), src/Linear_Expression.defs.hh
+	  (1.28), src/Linear_Expression.inlines.hh (1.9),
+	  tests/Polyhedron/Makefile.am (1.93),
+	  tests/Polyhedron/lpproblem1.cc (1.8),
+	  tests/Polyhedron/lpproblem2.cc (1.6),
+	  tests/Polyhedron/lpproblem3.cc (1.4): First (and, quite likely,
+	  last) merge of the `simplex' branch to the main trunk.
+
+2006-09-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/OR_Matrix.inlines.hh (interfaces.1): file
+	  OR_Matrix.inlines.hh was added on branch interfaces on 2006-09-28
+	  20:46:29 +0000
+
+2006-09-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/OR_Matrix.types.hh (altnum.1): file OR_Matrix.types.hh was
+	  added on branch altnum on 2006-10-29 19:27:14 +0000
+
+2006-09-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/OR_Matrix.types.hh (interfaces.1): file OR_Matrix.types.hh
+	  was added on branch interfaces on 2006-09-28 20:46:29 +0000
+
+2006-09-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Octagonal_Shape.cc (altnum.1): file Octagonal_Shape.cc was
+	  added on branch altnum on 2006-10-29 19:27:14 +0000
+
+2006-09-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Octagonal_Shape.cc (interfaces.1): file Octagonal_Shape.cc
+	  was added on branch interfaces on 2006-09-28 20:46:29 +0000
+
+2006-09-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Octagonal_Shape.types.hh (altnum.1): file
+	  Octagonal_Shape.types.hh was added on branch altnum on 2006-10-29
+	  19:27:14 +0000
+
+2006-09-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Octagonal_Shape.types.hh (interfaces.1): file
+	  Octagonal_Shape.types.hh was added on branch interfaces on
+	  2006-09-28 20:46:29 +0000
+
+2006-09-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_numeric_limits.hh (altnum.1): file
+	  checked_numeric_limits.hh was added on branch altnum on
+	  2006-10-29 19:27:15 +0000
+
+2006-09-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/distances.defs.hh (altnum.1): file distances.defs.hh was
+	  added on branch altnum on 2006-10-29 19:27:15 +0000
+
+2006-09-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/distances.defs.hh (interfaces.1): file distances.defs.hh was
+	  added on branch interfaces on 2006-09-28 20:46:29 +0000
+
+2006-09-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/distances.inlines.hh (altnum.1): file distances.inlines.hh
+	  was added on branch altnum on 2006-10-29 19:27:15 +0000
+
+2006-09-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/distances.inlines.hh (interfaces.1): file
+	  distances.inlines.hh was added on branch interfaces on 2006-09-28
+	  20:46:29 +0000
+
+2006-09-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/distances.types.hh (altnum.1): file distances.types.hh was
+	  added on branch altnum on 2006-10-29 19:27:15 +0000
+
+2006-09-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/distances.types.hh (interfaces.1): file distances.types.hh
+	  was added on branch interfaces on 2006-09-28 20:46:29 +0000
+
+2006-09-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.232), doc/definitions.dox (1.197),
+	  doc/devref.doxyconf-html.in (1.73), doc/devref.doxyconf-latex.in
+	  (1.13), src/Checked_Number.defs.hh (1.78),
+	  src/Checked_Number.inlines.hh (1.66), src/DB_Matrix.inlines.hh
+	  (1.27), src/DB_Row.defs.hh (1.19), src/Makefile.am (1.155),
+	  src/OR_Matrix.defs.hh (1.2), src/OR_Matrix.inlines.hh (1.2),
+	  src/OR_Matrix.templates.hh (1.2), src/OR_Matrix.types.hh (1.2),
+	  src/Octagonal_Shape.cc (1.2), src/Octagonal_Shape.defs.hh (1.2),
+	  src/Octagonal_Shape.inlines.hh (1.2),
+	  src/Octagonal_Shape.templates.hh (1.2),
+	  src/Octagonal_Shape.types.hh (1.2), src/Og_Status.idefs.hh (1.2),
+	  src/Og_Status.inlines.hh (1.2), src/Polyhedron.defs.hh (1.302),
+	  src/checked_numeric_limits.hh (1.16), src/distances.defs.hh
+	  (1.2), src/distances.inlines.hh (1.2), src/distances.types.hh
+	  (1.2), src/globals.defs.hh (1.39), src/globals.inlines.hh (1.15),
+	  tests/Makefile.am (1.254), tests/ppl_test.hh (1.49),
+	  tests/print.hh (1.36), tests/BD_Shape/addconstraints1.cc (1.14),
+	  tests/BD_Shape/addspacedims1.cc (1.12),
+	  tests/BD_Shape/affineimage1.cc (1.15),
+	  tests/BD_Shape/affinepreimage1.cc (1.15),
+	  tests/BD_Shape/ascii_dump_load1.cc (1.13),
+	  tests/BD_Shape/bdsdifference1.cc (1.11),
+	  tests/BD_Shape/bdshull1.cc (1.11),
+	  tests/BD_Shape/bhmz05widening1.cc (1.11),
+	  tests/BD_Shape/cc76extrapolation1.cc (1.15),
+	  tests/BD_Shape/cc76narrowing1.cc (1.15),
+	  tests/BD_Shape/concatenate1.cc (1.12),
+	  tests/BD_Shape/constraints1.cc (1.15),
+	  tests/BD_Shape/generalizedaffineimage1.cc (1.14),
+	  tests/BD_Shape/generalizedaffineimage2.cc (1.16),
+	  tests/BD_Shape/h79widening1.cc (1.11),
+	  tests/BD_Shape/intersection1.cc (1.14),
+	  tests/BD_Shape/limitedbhmz05extrapolation1.cc (1.10),
+	  tests/BD_Shape/limitedcc76extrapolation1.cc (1.11),
+	  tests/BD_Shape/limitedh79extrapolation1.cc (1.11),
+	  tests/BD_Shape/mapspacedims1.cc (1.12),
+	  tests/BD_Shape/minconstraints1.cc (1.8),
+	  tests/BD_Shape/removespacedims1.cc (1.15),
+	  tests/BD_Shape/timeelapse1.cc (1.14), tests/BD_Shape/universe1.cc
+	  (1.12): First (and, quite likely, last) merge of the `octagons'
+	  branch to the main trunk.
+
+2006-09-08 Friday 17:37  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh (octagons.50): Improved strong
+	  closure implementation by better exploting data locality.  Also,
+	  avoid testing for +inf since it happens to slow down execution
+	  (octagonal matrices tend to become dense quite quickly).
+
+2006-09-08 Friday 13:37  Andrea Cimino
+
+	* src/: LP_Problem.cc, LP_Problem.defs.hh, LP_Problem.inlines.hh
+	  (simplex.[64,32,23]): `is_artificial' is no longer used. Now the
+	  informations about artificial variables are handled just in the
+	  first phase of the simplex algorithm.
+
+2006-09-08 Friday 11:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (simplex.14): Initial, partial
+	  implementation of the `--check' option.  What remains to be done
+	  is specified in TODO comments.  The variable `check_optimum' has
+	  been renamed `check_results'.
+
+2006-09-08 Friday 10:21  Andrea Cimino
+
+	* demos/ppl_lpsol/ppl_lpsol.c (simplex.13): Added a FIXME.
+
+2006-09-08 Friday 09:43  Andrea Cimino
+
+	* demos/ppl_lpsol/ppl_lpsol.c (simplex.12): Added a white space.
+
+2006-09-08 Friday 09:40  Andrea Cimino
+
+	* demos/ppl_lpsol/ppl_lpsol.c (simplex.11): Force `make check',
+	  temporarly commented out a `fatal()' call.
+
+2006-09-08 Friday 09:12  Andrea Cimino
+
+	* demos/ppl_lpsol/ppl_lpsol.c (simplex.10): Fixed an unwanted
+	  carriage return.
+
+2006-09-07 Thursday 19:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Congruence.cc (1.10), Congruence.defs.hh (1.15),
+	  Congruence_System.cc (1.19), Constraint.cc (1.62), Generator.cc
+	  (1.71), Grid.templates.hh (1.17), Grid_Generator.cc (1.14),
+	  Grid_conversion.cc (1.14), Grid_nonpublic.cc (1.17),
+	  Grid_public.cc (1.34), Grid_simplify.cc (1.26),
+	  Linear_Expression.cc (1.13), Linear_Expression.defs.hh (1.27),
+	  Polyhedron.templates.hh (1.2), Polyhedron_public.cc (1.77):
+	  Prefer using TEMP_INTEGER to Coefficient where declaring an
+	  automatic variable.  Do not use
+	  Coefficient_traits::const_reference for automatic variable
+	  declarations: only use it when declaring formal parameter types.
+
+2006-09-07 Thursday 19:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/LP_Problem.cc (simplex.63): Remember to generate auxiliary
+	  output function definitions as soon as we have an implementation
+	  of operator<<.
+
+2006-09-07 Thursday 19:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/LP_Problem.defs.hh (simplex.31): Use macro
+	  PPL_OUTPUT_DECLARATIONS.
+
+2006-09-07 Thursday 18:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: LP_Problem.cc, LP_Problem.defs.hh (simplex.[62,30]):
+	  Useless inclusions avoided.
+
+2006-09-07 Thursday 16:35  Andrea Cimino
+
+	* src/LP_Problem.cc (simplex.61): Prefer neg_assign(x, y) to x =
+	  -y.
+
+2006-09-07 Thursday 16:18  Andrea Cimino
+
+	* src/LP_Problem.cc (simplex.60): Prefer `TEMP_INTEGER(x)' to
+	  `Coefficient x'.
+
+2006-09-07 Thursday 15:11  Andrea Cimino
+
+	* src/LP_Problem.cc (simplex.59): Restored ascii_dump().
+	  Indentation fixed.
+
+2006-09-07 Thursday 14:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Linear_Expression.cc, Linear_Expression.defs.hh,
+	  Linear_Expression.inlines.hh (simplex.[4,6,3]): Added ascii
+	  dump/load methods.
+
+2006-09-07 Thursday 13:45  Andrea Cimino
+
+	* src/: LP_Problem.cc, Linear_Expression.defs.hh (simplex.[58,5]):
+	  No more `friend' declarations.  Added a FIXME:
+	  ascii_dump(ostream) modified waiting for the
+	  Linear_Epression::ascii_dump(ostream) method.
+
+2006-09-07 Thursday 12:32  Andrea Cimino
+
+	* src/: Generator.defs.hh, LP_Problem.cc (simplex.[5,57]): Minor
+	  improvements. Avoided another `friend' declaration.
+
+2006-09-07 Thursday 10:37  Andrea Cimino
+
+	* src/LP_Problem.cc (simplex.56): Avoid using useless temporaries.
+
+2006-09-07 Thursday 10:25  Andrea Cimino
+
+	* src/LP_Problem.cc (simplex.55): A FIXME dealt with by using
+	  Generator::ascii_dump(ostream).
+
+2006-09-07 Thursday 10:15  Andrea Cimino
+
+	* src/LP_Problem.cc (simplex.54): Use abs_assign(x) instead of
+	  abs_assign(x, x).
+
+2006-09-07 Thursday 10:02  Andrea Cimino
+
+	* src/LP_Problem.cc (simplex.53): Specified what kind of macro we
+	  are referring to in important #endif statements.
+
+2006-09-07 Thursday 09:49  Andrea Cimino
+
+	* src/: Constraint.defs.hh, LP_Problem.cc (simplex.[5,52]): Removed
+	  the `friend' declaration from Constraint.defs.hh of the class
+	  LP_Problem using the public methods of the class Constraint. Some
+	  other little improvements.
+
+2006-09-06 Wednesday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: C_Polyhedron.defs.hh (1.44), C_Polyhedron.inlines.hh
+	  (1.32): Fixed the parameter names of
+	  C_Polyhedron::C_Polyhedron(const Grid_Generator_System&) and
+	  C_Polyhedron::C_Polyhedron(Grid_Generator_System&).  Added 4
+	  FIXMEs for the same constructors: their documentation seems
+	  wrong, and their implementation seems incomplete.
+
+2006-09-06 Wednesday 20:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* INSTALL, config.guess, config.sub, install-sh, missing,
+	  mkinstalldirs, Watchdog/INSTALL, Watchdog/config.guess,
+	  Watchdog/config.sub, Watchdog/install-sh, Watchdog/missing,
+	  Watchdog/mkinstalldirs, interfaces/Prolog/ppl_prolog.icc,
+	  interfaces/Prolog/YAP/ppl_yap.cc,
+	  interfaces/Prolog/tests/clpq2.pl, src/BD_Shape.defs.hh,
+	  src/BD_Shape.templates.hh, src/Bounding_Box.defs.hh,
+	  src/C_Polyhedron.defs.hh, src/C_Polyhedron.inlines.hh,
+	  src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
+	  src/Congruence.cc, src/Congruence.defs.hh,
+	  src/Congruence.inlines.hh, src/Congruence_System.cc,
+	  src/Congruence_System.defs.hh, src/Congruence_System.inlines.hh,
+	  src/Constraint.cc, src/Constraint.defs.hh,
+	  src/Constraint.inlines.hh, src/Constraint_System.cc,
+	  src/Constraint_System.defs.hh, src/Direct_Product.defs.hh,
+	  src/Direct_Product.inlines.hh, src/Direct_Product.templates.hh,
+	  src/Direct_Product.types.hh, src/Float.inlines.hh,
+	  src/GMP_Integer.defs.hh, src/GMP_Integer.inlines.hh,
+	  src/Generator.cc, src/Generator.defs.hh, src/Grid.defs.hh,
+	  src/Grid.inlines.hh, src/Grid.templates.hh,
+	  src/Grid_Generator.cc, src/Grid_Generator.defs.hh,
+	  src/Grid_Generator.inlines.hh, src/Grid_Generator_System.cc,
+	  src/Grid_Generator_System.defs.hh,
+	  src/Grid_Generator_System.inlines.hh, src/Grid_chdims.cc,
+	  src/Grid_conversion.cc, src/Grid_nonpublic.cc,
+	  src/Grid_public.cc, src/Grid_simplify.cc, src/Grid_widenings.cc,
+	  src/LP_Problem.defs.hh, src/LP_Problem.inlines.hh,
+	  src/Linear_Expression.cc, src/Linear_Expression.defs.hh,
+	  src/Makefile.am, src/NNC_Polyhedron.defs.hh,
+	  src/NNC_Polyhedron.inlines.hh, src/Polyhedron.defs.hh,
+	  src/Polyhedron.inlines.hh, src/Polyhedron_public.cc,
+	  src/Scalar_Products.cc, src/Scalar_Products.defs.hh,
+	  src/Scalar_Products.inlines.hh, src/checked.cc,
+	  src/checked_ext.inlines.hh, src/checked_int.inlines.hh,
+	  src/fpu-ia32.inlines.hh, src/globals.defs.hh, tests/ppl_test.cc,
+	  tests/ppl_test.hh, tests/print.cc, tests/print.hh,
+	  tests/BD_Shape/Makefile.am, tests/BD_Shape/addconstraints1.cc,
+	  tests/BD_Shape/affineimage1.cc,
+	  tests/BD_Shape/affinepreimage1.cc,
+	  tests/BD_Shape/bdsdifference1.cc, tests/BD_Shape/bdshull1.cc,
+	  tests/BD_Shape/bhmz05widening1.cc,
+	  tests/BD_Shape/cc76extrapolation1.cc,
+	  tests/BD_Shape/cc76narrowing1.cc, tests/BD_Shape/contains1.cc,
+	  tests/BD_Shape/fromgensys1.cc,
+	  tests/BD_Shape/generalizedaffineimage2.cc,
+	  tests/BD_Shape/generalizedaffinepreimage2.cc,
+	  tests/BD_Shape/generalizedaffinepreimage3.cc,
+	  tests/BD_Shape/intersection1.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation1.cc,
+	  tests/BD_Shape/limitedcc76extrapolation1.cc,
+	  tests/BD_Shape/relations2.cc, tests/BD_Shape/relations3.cc,
+	  tests/BD_Shape/removespacedims1.cc,
+	  tests/BD_Shape/timeelapse1.cc, tests/Grid/Makefile.am,
+	  tests/Grid/addcongruence1.cc, tests/Grid/addcongruences1.cc,
+	  tests/Grid/addconstraint1.cc, tests/Grid/addconstraints1.cc,
+	  tests/Grid/addgenerator1.cc, tests/Grid/addgenerators1.cc,
+	  tests/Grid/addspacedims1.cc, tests/Grid/affinedim1.cc,
+	  tests/Grid/affineimage1.cc, tests/Grid/affineimage2.cc,
+	  tests/Grid/affinepreimage1.cc, tests/Grid/affinepreimage2.cc,
+	  tests/Grid/asciidumpload1.cc, tests/Grid/asciidumpload2.cc,
+	  tests/Grid/asciidumpload3.cc, tests/Grid/asciidumpload4.cc,
+	  tests/Grid/asciidumpload5.cc, tests/Grid/asciidumpload6.cc,
+	  tests/Grid/asciidumpload7.cc, tests/Grid/bhz03widening1.cc,
+	  tests/Grid/bounded1.cc, tests/Grid/boundingbox1.cc,
+	  tests/Grid/boundingbox2.cc, tests/Grid/bounds1.cc,
+	  tests/Grid/certificate1.cc, tests/Grid/concatenate1.cc,
+	  tests/Grid/congruence1.cc, tests/Grid/congruences1.cc,
+	  tests/Grid/congruences2.cc, tests/Grid/contains1.cc,
+	  tests/Grid/coveringbox1.cc, tests/Grid/coveringbox2.cc,
+	  tests/Grid/directproduct1.cc, tests/Grid/directproduct2.cc,
+	  tests/Grid/discrete1.cc, tests/Grid/disjoint1.cc,
+	  tests/Grid/equals1.cc, tests/Grid/expandspacedim1.cc,
+	  tests/Grid/foldspacedims1.cc,
+	  tests/Grid/generalizedaffineimage1.cc,
+	  tests/Grid/generalizedaffineimage2.cc,
+	  tests/Grid/generalizedaffinepreimage1.cc,
+	  tests/Grid/generalizedaffinepreimage2.cc,
+	  tests/Grid/generator1.cc, tests/Grid/generators1.cc,
+	  tests/Grid/generators2.cc, tests/Grid/grid1.cc,
+	  tests/Grid/grid2.cc, tests/Grid/grid3.cc,
+	  tests/Grid/griddifference1.cc, tests/Grid/intersection1.cc,
+	  tests/Grid/isempty1.cc, tests/Grid/join1.cc, tests/Grid/join2.cc,
+	  tests/Grid/limitedextrapolation1.cc,
+	  tests/Grid/limitedextrapolation2.cc,
+	  tests/Grid/limitedextrapolation3.cc, tests/Grid/mapspacedims1.cc,
+	  tests/Grid/maxmin1.cc, tests/Grid/membytes1.cc,
+	  tests/Grid/mingenerators1.cc, tests/Grid/outputoperator1.cc,
+	  tests/Grid/outputoperator2.cc, tests/Grid/outputoperator3.cc,
+	  tests/Grid/relations1.cc, tests/Grid/relations2.cc,
+	  tests/Grid/relations3.cc, tests/Grid/removespacedims1.cc,
+	  tests/Grid/removespacedims2.cc, tests/Grid/timeelapse1.cc,
+	  tests/Grid/topclosed1.cc, tests/Grid/widening1.cc,
+	  tests/Grid/widening2.cc, tests/Grid/widening3.cc,
+	  tests/Polyhedron/Makefile.am, tests/Polyhedron/addgenerators1.cc,
+	  tests/Polyhedron/bug2.cc, tests/Polyhedron/bug2.dat
+	  (simplex.[1,3,3,2,1,1,1,3,3,2,1,1,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,3,3,6,2,2,2,2,3,3,3,3,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,29,22,3,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,3,3,3,3,3,4,2,3,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,3,2,3,3,3,3,3,3,3,7,3,3,1]):
+	  Third merge from the main trunk.
+
+2006-09-06 Wednesday 09:19  Andrea Cimino
+
+	* src/LP_Problem.cc (simplex.51): Simplified the changes of the
+	  last commit.
+
+2006-09-06 Wednesday 09:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: GMP_Integer.defs.hh (1.22), GMP_Integer.inlines.hh (1.16):
+	  Added void abs_assign(GMP_Integer& x) and void
+	  abs_assign(GMP_Integer& x, const GMP_Integer& y).
+
+2006-09-05 Tuesday 17:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_public.cc (1.33): Long lines avoided.
+
+2006-09-05 Tuesday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Checked_Number.defs.hh (1.77), Checked_Number.inlines.hh
+	  (1.65): Added template <typename T, typename Policy> void
+	  abs_assign(Checked_Number<T, Policy>& x) and template <typename
+	  T, typename Policy> void abs_assign(Checked_Number<T, Policy>& x,
+	  const Checked_Number<T, Policy>& y).
+
+2006-09-05 Tuesday 17:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.defs.hh (1.76): Added the declaration and
+	  documentation for template <typename T, typename Policy> void
+	  neg_assign(Checked_Number<T, Policy>& x, const Checked_Number<T,
+	  Policy>& y).
+
+2006-09-05 Tuesday 16:18  Andrea Cimino
+
+	* src/LP_Problem.cc (simplex.50): Attempt to avoid explicit
+	  products to improve performances by not using temporaries.
+
+2006-09-05 Tuesday 15:26  Andrea Cimino
+
+	* src/LP_Problem.cc (simplex.49): Don't use `dimension_type' if we
+	  are not dealing with dimensions.
+
+2006-09-05 Tuesday 12:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_nonpublic.cc (1.16): Only define debugging variables
+	  when NDEBUG is not defined.
+
+2006-09-05 Tuesday 12:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/clpq2.pl (1.9): Fixed do_command/2.
+
+2006-09-04 Monday 17:43  Andrea Cimino
+
+	* src/LP_Problem.cc (simplex.48): Other little formatting changes.
+
+2006-09-04 Monday 16:14  Andrea Cimino
+
+	* src/LP_Problem.cc (simplex.47): Typo fixed.
+
+2006-09-04 Monday 16:11  Andrea Cimino
+
+	* src/: LP_Problem.cc, LP_Problem.defs.hh (simplex.[46,28]):
+	  Removed other useless code. Added a CHECKME.
+
+2006-09-04 Monday 12:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/LP_Problem.inlines.hh (simplex.21): Little formatting change.
+
+2006-09-04 Monday 11:41  Andrea Cimino
+
+	* src/LP_Problem.inlines.hh (simplex.20): Fixed the swap operator.
+
+2006-09-04 Monday 11:26  Andrea Cimino
+
+	* src/: LP_Problem.cc, LP_Problem.defs.hh, LP_Problem.inlines.hh
+	  (simplex.[45,27,19]): Big changes.  Now the Status `UNSOLVED' is
+	  dropped because every LP_Problem, from the beginning, now is
+	  treated like `PARTIALLY_SATISFIABLE', so all the redundant code
+	  is dropped too. Other little, but important, bugfixes. This new
+	  implementation must be heavily tested.
+
+2006-09-01 Friday 12:02  Andrea Cimino
+
+	* src/LP_Problem.cc (simplex.44): Fixed a bug in compute_simplex():
+	  the test02 in lpproblem1.cc caused to fail the assertion
+	  `assert(challenger >= current)'.  Now the test seems to work.
+
+2006-07-20 Thursday 08:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (interfaces.31):
+	  Removed a duplicate macro definition, improved some comments,
+	  reordered some macros.
+
+	  Added macros to make the components of a "simple" open or direct
+	  product cplusplus class available; these are now defined as:
+	  m4_cplusplus_class`'i_j where "i" is the class counter and "j" =
+	  1 or 2 depending on whether it is the 1st or second argument.  By
+	  "simple", we mean that the product construct is not nested.
+
+2006-07-06 Thursday 08:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Direct_Product.defs.hh (1.23): Temporarily commented out a
+	  friend declaration that is rejected by GCC 3.3.x.
+
+2006-07-06 Thursday 08:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Direct_Product.defs.hh (simplex.1): file
+	  Direct_Product.defs.hh was added on branch simplex on 2006-09-06
+	  18:41:51 +0000
+
+2006-07-02 Sunday 13:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (interfaces.30):
+	  Some small improvements.
+
+2006-06-30 Friday 20:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/ppl_yap.cc (1.117): Repeated inclusion
+	  removed.  Useless declaration and initialization of `a_throw'
+	  removed as well.
+
+2006-06-30 Friday 19:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_icc.m4,
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (interfaces.[29,30,21,24]): Revised the code for widening so that
+	  the supporting methods are not needed and removed. The limited
+	  and bounded options for extrapolation are now coded as a single
+	  pattern.
+
+	  Changes for schematising the limited and bounded options still to
+	  be done in the C interface.
+
+2006-06-30 Friday 17:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/: yap_cfli.h, yap_cfli.ic
+	  (interfaces.[1,1]): Started drafting the YAP Prolog Common
+	  Foreign Language Interface.
+
+2006-06-30 Friday 16:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/: swi_cfli.cc, swi_cfli.h, swi_cfli.ic
+	  (interfaces.[2,2,2]): Little improvements.
+
+2006-06-30 Friday 15:10  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4,
+	  C/ppl_interface_generator_c_cc_code.m4,
+	  C/ppl_interface_generator_c_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (interfaces.[28,14,22,29,23]): Separate patterns for widening and
+	  extrapolation to give more flexibility.
+
+2006-06-29 Thursday 23:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Direct_Product.templates.hh (1.19), Grid.inlines.hh (1.10),
+	  Grid.templates.hh (1.16), Grid_Generator.defs.hh (1.24): Missing
+	  inclusions added.
+
+2006-06-29 Thursday 23:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Direct_Product.templates.hh (altnum.1): file
+	  Direct_Product.templates.hh was added on branch altnum on
+	  2006-10-29 19:27:12 +0000
+
+2006-06-29 Thursday 23:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Direct_Product.templates.hh (octagons.1): file
+	  Direct_Product.templates.hh was added on branch octagons on
+	  2006-11-18 20:36:50 +0000
+
+2006-06-29 Thursday 23:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Direct_Product.templates.hh (simplex.1): file
+	  Direct_Product.templates.hh was added on branch simplex on
+	  2006-09-06 18:41:51 +0000
+
+2006-06-29 Thursday 23:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid.inlines.hh (altnum.1): file Grid.inlines.hh was added on
+	  branch altnum on 2006-10-29 19:27:12 +0000
+
+2006-06-29 Thursday 23:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Congruence.defs.hh (1.14), Polyhedron.defs.hh (1.301):
+	  Missing inclusions added.
+
+2006-06-29 Thursday 23:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/: bug1.cc (1.4), bug1.dat (1.5): The situation
+	  exhibited by bug1.cc and bug1.dat has been clarified (not a bug,
+	  but Constraint::OK() needed improving).
+
+2006-06-29 Thursday 18:59  Matthew Mundell
+
+	* src/: Direct_Product.defs.hh (1.22), Direct_Product.inlines.hh
+	  (1.22), Direct_Product.templates.hh (1.18), globals.defs.hh
+	  (1.38): Improve some FIXMEs.
+
+2006-06-29 Thursday 18:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Direct_Product.inlines.hh (simplex.1): file
+	  Direct_Product.inlines.hh was added on branch simplex on
+	  2006-09-06 18:41:51 +0000
+
+2006-06-29 Thursday 18:38  Matthew Mundell
+
+	* tests/Grid/directproduct1.cc (1.19): Add the ability to test with
+	  C_Polyhedron as the Polyhedral component.
+
+2006-06-29 Thursday 18:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/directproduct1.cc (simplex.1): file directproduct1.cc
+	  was added on branch simplex on 2006-09-06 18:41:55 +0000
+
+2006-06-29 Thursday 17:47  Matthew Mundell
+
+	* tests/Grid/directproduct1.cc (1.18): Add a widening test.
+
+2006-06-29 Thursday 17:46  Matthew Mundell
+
+	* src/: Polyhedron.inlines.hh (1.133), Polyhedron.defs.hh (1.300):
+	  Add widening_assign(ph, tp) which is equivalent to
+	  H79_widening_assign(ph, tp).
+
+2006-06-29 Thursday 17:45  Matthew Mundell
+
+	* src/Direct_Product.defs.hh (1.21): Direct out the relation_with
+	  declarations.
+
+2006-06-29 Thursday 17:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* INSTALL (1.8), config.guess (1.37), config.sub (1.35), install-sh
+	  (1.17), missing (1.13), mkinstalldirs (1.10), Watchdog/INSTALL
+	  (1.5), Watchdog/config.guess (1.21), Watchdog/config.sub (1.20),
+	  Watchdog/install-sh (1.14), Watchdog/missing (1.9),
+	  Watchdog/mkinstalldirs (1.6): Updated from Autoconf 2.60.
+
+2006-06-29 Thursday 17:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.92): The situation exhibited by
+	  bug1.cc and bug1.dat has been clarified (not a bug, but
+	  Constraint::OK() needed improving).
+
+2006-06-29 Thursday 16:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/sicstus_cfli.h (interfaces.1): Spacing
+	  changed.
+
+2006-06-29 Thursday 16:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/: Makefile.am,
+	  ppl_interface_generator_swiprolog_cc.m4, swi_cfli.cc, swi_cfli.h,
+	  swi_cfli.ic (interfaces.[4,6,1,1,1]): SWI-Prolog Common Foreign
+	  Language Interface separated from the PPL stuff.
+
+2006-06-29 Thursday 16:17  Matthew Mundell
+
+	* tests/Grid/directproduct1.cc (1.17): Update to test only the
+	  methods defined in Direct_Product.  Update some expected values
+	  for when Grid is the first component.
+
+2006-06-29 Thursday 16:14  Matthew Mundell
+
+	* src/: Direct_Product.defs.hh (1.20), Direct_Product.inlines.hh
+	  (1.21), Direct_Product.templates.hh (1.17): Direct out the
+	  covering box, bounds_from_*, maximize and minimize methods for
+	  now.	Convert the returns of the system-returning methods from
+	  references to values.  Reduce to a single widening method:
+	  widening_assign(dp).
+
+	  Convert both product classes to assume that every method is
+	  implemented in both components.
+
+2006-06-29 Thursday 16:06  Matthew Mundell
+
+	* src/Congruence.defs.hh (1.13): Add Constraint friend declaration.
+
+2006-06-29 Thursday 16:06  Matthew Mundell
+
+	* src/: C_Polyhedron.defs.hh (1.43), C_Polyhedron.inlines.hh
+	  (1.31): Add constructors that take Grid_Generator_Systems.
+
+2006-06-29 Thursday 16:05  Matthew Mundell
+
+	* src/: Polyhedron.defs.hh (1.299), Polyhedron.inlines.hh (1.132),
+	  Polyhedron_public.cc (1.76): Add congruences(),
+	  minimized_congruences(), grid_generators(),
+	  minimized_grid_generators(), is_discrete(), add_grid_generator(g)
+	  and add_grid_generator_and_minimize(g).
+
+2006-06-29 Thursday 16:01  Matthew Mundell
+
+	* src/: Grid_nonpublic.cc (1.15), Grid_public.cc (1.32),
+	  Grid.defs.hh (1.25), Grid.inlines.hh (1.9): Add Grid(const gs),
+	  Grid(gs), constraints(), minimized_constraints(), generators(),
+	  minimized_generators(), add_generator(g) and
+	  add_generator_and_minimize(g).
+
+2006-06-29 Thursday 15:56  Matthew Mundell
+
+	* src/: Constraint_System.cc (1.18), Constraint_System.defs.hh
+	  (1.29): Add Constraint_System(cgs).
+
+2006-06-29 Thursday 15:55  Matthew Mundell
+
+	* src/: Constraint.cc (1.61), Constraint.defs.hh (1.121),
+	  Constraint.inlines.hh (1.64): Add methods
+	  throw_invalid_argument(method, msg), Constraint(cg) and
+	  Constraint(cg, sz, capacity).
+
+2006-06-29 Thursday 15:53  Matthew Mundell
+
+	* src/Congruence_System.defs.hh (1.13): Improve insert(c)
+	  description slightly.
+
+2006-06-29 Thursday 15:52  Matthew Mundell
+
+	* src/: NNC_Polyhedron.defs.hh (1.46), NNC_Polyhedron.inlines.hh
+	  (1.33), Congruence_System.cc (1.18): Update Congruence_System(cs)
+	  to construct Matrix with the required space dimension.
+
+2006-06-29 Thursday 15:38  Matthew Mundell
+
+	* tests/Grid/directproduct1.cc (1.16): Convert test76 to fail with
+	  int8.
+
+2006-06-29 Thursday 14:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Constraint.cc (1.60): Constraint::OK() improved: it now
+	  detects illegal "strict" equalities.
+
+2006-06-29 Thursday 14:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.91), bug2.cc (1.7), bug2.dat
+	  (1.2): The bug shown by bug2.cc and bug2.dat has been fixed long
+	  ago.
+
+2006-06-29 Thursday 13:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/bug1.dat (1.4): Testcase simplified.
+
+2006-06-29 Thursday 12:42  Matthew Mundell
+
+	* tests/Polyhedron/bug1.dat (1.3): Add data file for bug1.
+
+2006-06-29 Thursday 12:39  Matthew Mundell
+
+	* tests/Polyhedron/: Makefile.am (1.90), bug1.cc (1.3): Add bug1.
+
+2006-06-29 Thursday 09:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (interfaces.27):
+	  Simplified code for defining the add_disjuncts replacement - this
+	  uses the new macro m4_echo_unquoted added in the previous commit.
+
+2006-06-29 Thursday 08:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  ppl_interface_generator_common_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (interfaces.[42,26,22]): Added 3 new application-independent
+	  macros to the common.m4 m4_echo_quoted, m4_echo_unquoted,
+	  m4_arg_counter:
+
+	  m4_echo_quoted and m4_echo_unquoted correspond to echo1 and echo2
+	  in the m4 documentation. Neither used yet but I plan to use the
+	  m4_echo_unquoted to expand terms.
+
+	  m4_arg_counter takes a string and a sequence of arguments and
+	  either expands to the first index of the argument sequence that
+	  matches the string or to the empty string.  m4_arg_counter is now
+	  used instead of m4_check_if_class_in_group which is removed.
+
+	  In common_dat.m4 added a dummy predicate for widening
+	  Polyhedra_Powerset classes and in prolog_icc_code.m4 added unused
+	  schematic code for developing the widening for powersets (this is
+	  prefixed by a "FIXME" and should be ignored).
+
+2006-06-28 Wednesday 19:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4,
+	  ppl_interface_generator_prolog_icc_code.m4 (interfaces.[28,21]):
+	  Added Polyhedra_Powerset schema predicate for "get_disjuncts"/2.
+	  Removed some unwanted commented-out lines of code.
+
+2006-06-28 Wednesday 18:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/checked_numeric_limits.hh (octagons.1): Adjusted spacing when
+	  using \ to break lines in macro definitions.
+
+2006-06-28 Wednesday 18:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/OR_Matrix.inlines.hh (octagons.18): Do initialize `i' when
+	  constructing the past-the-end any_row_iterator, so as to avoid
+	  the annoying compiler warning.  Do initialize `size_' when
+	  default constructing a Pseudo_Row (for the same reason as above).
+
+2006-06-28 Wednesday 16:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (interfaces.[25,27,20]): For the Polyhedra_Powerset classes, we
+	  now allow for add_disjunct and pairwise_reduce in the interfaces
+	  (currently these are only included in the Prolog interfaces).
+
+2006-06-28 Wednesday 12:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (interfaces.24):
+	  Avoid generating unwanted spaces.
+
+2006-06-28 Wednesday 12:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_icc.m4,
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (interfaces.[23,20,19]): Revised the friend pattern replacement
+	  macros.  Added handles for C_Polyhedron and NNC_Polyhedron
+	  whenever the Polyhedron class is generated.
+
+2006-06-27 Tuesday 20:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/: Makefile.am, C/Makefile.am, Prolog/Makefile.am,
+	  Prolog/Ciao/Makefile.am, Prolog/GNU/Makefile.am,
+	  Prolog/SICStus/Makefile.am, Prolog/SWI/Makefile.am,
+	  Prolog/XSB/Makefile.am, Prolog/YAP/Makefile.am
+	  (interfaces.[2,4,4,4,5,3,3,3,3]): Added the specification of all
+	  the dependencies concerning the generation of interfaces.
+
+2006-06-27 Tuesday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Makefile.am (interfaces.3): Added
+	  ../ppl_interface_generator_common_dat.m4 to
+	  interface_generator_files.
+
+2006-06-27 Tuesday 18:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/Makefile.am (interfaces.3): Added
+	  ../ppl_interface_generator_common_dat.m4 to
+	  interface_generator_files.
+
+2006-06-27 Tuesday 18:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (interfaces.2): This is now a generated
+	  source.
+
+2006-06-27 Tuesday 13:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (interfaces.22):
+	  Now it does not remove spaces from the class names.
+
+2006-06-27 Tuesday 13:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (interfaces.21):
+	  Simplified the code for the replacements for pattern "friend" by
+	  making a new more generic macro.  Added friends for octagons and
+	  polyhedra_powersets class kinds.
+
+2006-06-27 Tuesday 09:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  ppl_interface_generator_common_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_icc.m4
+	  (interfaces.[41,20,19]): Added and redone existing code so that
+	  any class of kind BD_Shape is a friend of any other class of kind
+	  BD_Shape and also a friend of Polyhedron class.
+
+	  Note that if a class is defined as a "friend" then the schema
+	  name ppl_new_ at TOPOLOGY@@CLASS at _from_@INTOPOLOGY@@FRIEND@ is
+	  instantiated to have this class and friend.
+
+	  The Prolog C++ (ppl_prolog.icc) code needs the procedure
+	  converting terms to class handles to come before use.  With this
+	  friend code, all these procedures must be defined before any
+	  other generated code.  Therefore a new macro
+	  m4_pre_all_classes_code is called before generating the main
+	  classes code.  This has a default expansion of the empty string.
+
+2006-06-26 Monday 19:47  Matthew Mundell
+
+	* tests/Grid/directproduct1.cc (1.15): Add directive GRID_IS_D1,
+	  for testing with Grid as the first component.  In test15 and
+	  test16 compare the congruence systems via temporary grids.
+
+2006-06-26 Monday 19:45  Matthew Mundell
+
+	* src/: Direct_Product.defs.hh (1.19), Direct_Product.inlines.hh
+	  (1.20), Direct_Product.templates.hh (1.16): Add the
+	  system-returning methods to Open_Product so that they reduce the
+	  product before returning the system.	Add C_Polyhedron
+	  specialisation to any methods already specialised for
+	  NNC_Polyhedron.
+
+2006-06-26 Monday 09:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  ppl_interface_generator_common_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (interfaces.[40,19,26,18]): Improved the processing of the
+	  replacement lists for a pattern.
+
+	  Added 2 new application independent helper macros:  - m4_nargs
+	  (definition taken from m4 documentation)  - m4_arg (finds the
+	  n+1'st argument in a list of arguments - where n is the 1st
+	  argument)
+
+	  The alternative replacement is now also defined via an
+	  alternative list of replacements (the number and order must match
+	  the usual list of replacements for the given class). This change
+	  was triggered by the wish to have a "friend" pattern (see below).
+
+	  Introduced a new pattern "friend" and use in in the Prolog
+	  interface to use instead of the 2nd "class" in
+	  ppl_new_ at CLASS@_from_ at INTOPOLOGY@@CLASS@ ie.,
+	  ppl_new_ at CLASS@_from_ at INTOPOLOGY@@FRIEND at .  That is, a friend is
+	  a class that can be used to construct an element in the current
+	  class. Every class is declared to be a friend of itself.  The
+	  intention is to add to more "friend"s for each class so that, for
+	  instance, Polyhedron will be a friend of BD_Shape.  Note that the
+	  friend pattern is only used in the Prolog interface at the
+	  moment.
+
+2006-06-22 Thursday 13:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.defs.hh (octagons.15): Using the new policy
+	  WRD_Extendend_Number_Policy when assertions are turned off.
+
+2006-06-22 Thursday 13:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh
+	  (octagons.[1,1]): Added new policy WRD_Extended_Number_Policy, to
+	  be used by weakly-relational domains when assertions are turned
+	  off.
+
+2006-06-22 Thursday 11:27  quartieri
+
+	* src/Octagonal_Shape.templates.hh (octagons.49): Corrected a bug
+	  in Octagonal_Shape<T>::CC76_narrowing_assign().
+
+2006-06-21 Wednesday 19:49  Matthew Mundell
+
+	* tests/Grid/directproduct1.cc (1.14): Insert is_disjoint() test
+	  test34 where the intersection of the products determines the
+	  outcome.  Add a directive to control the product used.
+
+2006-06-21 Wednesday 19:46  Matthew Mundell
+
+	* src/: Direct_Product.defs.hh (1.18), Direct_Product.inlines.hh
+	  (1.19), Direct_Product.templates.hh (1.15): Convert the reduced
+	  flag methods to const methods.  Update the predicate methods
+	  (is_empty(), etc) to first reduce the components.  Update
+	  is_disjoint_from to consider the intersection of the two
+	  products.
+
+2006-06-21 Wednesday 14:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  ppl_interface_generator_common_dat.m4,
+	  C/ppl_interface_generator_c_cc_code.m4,
+	  C/ppl_interface_generator_c_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_icc.m4,
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (interfaces.[39,18,13,21,25,18,17]): Revised the way we handle
+	  compound domains (is the powerset and product domains).
+
+	  Where compound domains have Polyhedron as a component, the system
+	  creates two domains, one where Polyhedron is prefixed by C and
+	  the other where it is prefixed by NNC. Note that this change has
+	  been made so as _not_ to affect the simple domain Polyhedron.
+
+	  As requested, both the user name and the C++ name have the
+	  topology C and NNC inserted just before the string "Polyhedron".
+	  Note though this still assumes that every component = Polyhedron
+	  has the same topology. Automatically generating different
+	  topologies for these components will be difficult and not really
+	  practical or useful.
+
+	  Simplified the way class name patterns are replaced by the actual
+	  name. The class patterns are now replaced as part of the main
+	  list of replacements.
+
+2006-06-21 Wednesday 13:11  Matthew Mundell
+
+	* src/: Direct_Product.inlines.hh (1.18),
+	  Direct_Product.templates.hh (1.14), Direct_Product.defs.hh
+	  (1.17): Add a reduced flag to Open_Product.  Add reduction
+	  function propagate_constraints_reduce and update standard_reduce
+	  to call it.  Update Open_Product is_bounded to call reduce()
+	  instead of propagating constraints directly.
+
+2006-06-21 Wednesday 12:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh (octagons.48): Removed an
+	  efficiency bug (repeated allocations) in the strong closure and
+	  strong coherence methods.
+
+2006-06-20 Tuesday 15:30  Matthew Mundell
+
+	* src/: Direct_Product.defs.hh (1.16), Direct_Product.inlines.hh
+	  (1.17), Direct_Product.templates.hh (1.13),
+	  Direct_Product.types.hh (1.5): Replace the Open_Product reduction
+	  methods with a single reduce() method and a reduction function
+	  template parameter.
+
+2006-06-20 Tuesday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Direct_Product.types.hh (altnum.1): file
+	  Direct_Product.types.hh was added on branch altnum on 2006-10-29
+	  19:27:12 +0000
+
+2006-06-20 Tuesday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Direct_Product.types.hh (octagons.1): file
+	  Direct_Product.types.hh was added on branch octagons on
+	  2006-11-18 20:36:50 +0000
+
+2006-06-20 Tuesday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Direct_Product.types.hh (simplex.1): file
+	  Direct_Product.types.hh was added on branch simplex on 2006-09-06
+	  18:41:51 +0000
+
+2006-06-18 Sunday 22:17  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  ppl_interface_generator_common_dat.m4 (interfaces.[38,17]):
+	  Comments improved and redundant code removed.
+
+2006-06-18 Sunday 11:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  ppl_interface_generator_common_dat.m4 (interfaces.[37,16]):
+	  Revised handling of C++ class names so that a product domain with
+	  commas works.  Basic approach is to immediately replace the ","
+	  in the list of C++ names obtained from the instantiations.m4 file
+	  by "@COMMA@" and then at the end of the code generation, restore
+	  the ",".
+
+2006-06-17 Saturday 10:39  Matthew Mundell
+
+	* tests/Grid/directproduct1.cc (1.13): Add tests of
+	  Direct_Product(covering_box), shrink_bounding_box(box) and
+	  get_covering_box(box).
+
+2006-06-17 Saturday 10:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/coveringbox2.cc (altnum.1): file coveringbox2.cc was
+	  added on branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-06-17 Saturday 10:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ppl_test.cc (altnum.1): file ppl_test.cc was added on
+	  branch altnum on 2006-10-29 19:27:21 +0000
+
+2006-06-17 Saturday 10:32  Matthew Mundell
+
+	* tests/: Grid/boundingbox2.cc (1.10), ppl_test.cc (1.6),
+	  ppl_test.hh (1.48), Grid/coveringbox2.cc (1.10): Move the
+	  temporary function operator==(box,box) to ppl_test.cc.
+
+2006-06-17 Saturday 10:31  Matthew Mundell
+
+	* src/: Direct_Product.defs.hh (1.15), Direct_Product.inlines.hh
+	  (1.16), Direct_Product.templates.hh (1.12): Define
+	  shrink_bounding_box(box) and get_covering_box(box).
+
+2006-06-16 Friday 18:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (interfaces.15):
+	  Previous simplification means that the replacement code here can
+	  also be improved.
+
+2006-06-16 Friday 18:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  ppl_interface_generator_common_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_systems.m4,
+	  Prolog/XSB/ppl_interface_generator_xsb_H.m4
+	  (interfaces.[36,14,10,5]): Revised comments, Simplified some
+	  macros and removed some multiple levels of quoting.  Avoid
+	  generating unwanted (and unintended) blank lines (by making sure
+	  every line ending with "dnl" ends with "`'dnl").
+
+2006-06-16 Friday 16:48  Matthew Mundell
+
+	* tests/Grid/directproduct1.cc (1.12), tests/Grid/directproduct2.cc
+	  (1.4), src/Direct_Product.templates.hh (1.11),
+	  src/Direct_Product.types.hh (1.4): Add an Open_Product
+	  is_bounded() NNC_Polyhedron-Grid specialization which propagates
+	  equalities.
+
+2006-06-16 Friday 16:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/directproduct2.cc (altnum.1): file directproduct2.cc
+	  was added on branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-06-16 Friday 16:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/directproduct2.cc (interfaces.1): file
+	  directproduct2.cc was added on branch interfaces on 2006-09-28
+	  20:46:31 +0000
+
+2006-06-16 Friday 16:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/directproduct2.cc (octagons.1): file directproduct2.cc
+	  was added on branch octagons on 2006-11-18 20:36:56 +0000
+
+2006-06-16 Friday 16:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/directproduct2.cc (simplex.1): file directproduct2.cc
+	  was added on branch simplex on 2006-09-06 18:41:55 +0000
+
+2006-06-16 Friday 16:47  Matthew Mundell
+
+	* src/Polyhedron_public.cc (1.75): Update add_congruences(cgs) and
+	  add_congruence(cg) to strong normalize constructed constraints
+	  before adding them.
+
+2006-06-16 Friday 15:27  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4
+	  (interfaces.12): Revised C code for including topology in
+	  compound C++ class names.
+
+2006-06-16 Friday 14:18  Matthew Mundell
+
+	* tests/Grid/directproduct1.cc (1.11): Add tests of contains() and
+	  strictly_contains().
+
+2006-06-16 Friday 14:18  Matthew Mundell
+
+	* src/: Direct_Product.defs.hh (1.14), Direct_Product.inlines.hh
+	  (1.15): Implement contains() and strictly_contains().
+
+2006-06-16 Friday 13:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  Prolog/ppl_interface_generator_prolog_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_systems.m4,
+	  Prolog/Ciao/ppl_interface_generator_ciao_pl.m4,
+	  Prolog/XSB/ppl_interface_generator_xsb_H.m4
+	  (interfaces.[35,24,9,6,4]): Fixed an old bug affecting Ciao and
+	  XSB interfaces.  The bug was in the handling of the list
+	  separator.  Now a counter for the list is passed as as argument
+	  and the separator is suppressed when the counter is 0.
+
+2006-06-16 Friday 09:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  ppl_interface_generator_common_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (interfaces.[34,13,23,16]): Completed basic changes for
+	  Powerset_Polyhedron<...>.  Compilation only tested (in the Prolog
+	  interface) for Powerset_Polyhedron<Polyhedron> for the predicates
+	  "ppl_new_C_Polyhedra_Powerset_Polyhedron_from_space_dimension"
+	  and
+	  "ppl_new_NNC_Polyhedra_Powerset_Polyhedron_from_space_dimension".
+
+2006-06-15 Thursday 23:29  Matthew Mundell
+
+	* tests/Grid/directproduct1.cc (1.10): Replace the use of
+	  Direct_Product with a local typedef, Product.  Add tests of the
+	  remaining predicate methods (is_topologically_closed(), etc).
+	  Ensure that each of the defined adding methods (add_congruence(),
+	  etc) is used at least once in the file.
+
+2006-06-15 Thursday 23:29  Matthew Mundell
+
+	* src/: Direct_Product.defs.hh (1.13), Direct_Product.inlines.hh
+	  (1.14), Direct_Product.templates.hh (1.10): Define more of the
+	  adding methods (add_congruence(), etc).  Take out the constraint
+	  parameter congruence adding method declarations.  Correct some of
+	  the predicate methods.
+
+	  Add to Open_Product the remaining constructors, ~Open_Product()
+	  and operator=.  Define Open_Product::is_universe().
+
+2006-06-15 Thursday 17:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (interfaces.[33,15]): Added provision for prefixing topology
+	  wherever in the C++ class name the class "Polyhdedron".  Only
+	  tested for the basic Polyhedron class and only in the Prolog
+	  interface code.
+
+2006-06-15 Thursday 16:16  Matthew Mundell
+
+	* tests/Grid/directproduct2.cc (1.3): Typedef Product to
+	  Open_Product instead of Reduced_Product.
+
+2006-06-15 Thursday 16:08  Matthew Mundell
+
+	* src/: Direct_Product.defs.hh (1.12), Direct_Product.inlines.hh
+	  (1.13), Direct_Product.templates.hh (1.9),
+	  Direct_Product.types.hh (1.3): Rename Reduced_Product
+	  Open_Product.  Reorder sytem-returning method declarations.  Move
+	  empty-reduce methods into Open_Product.  Define rest of predicate
+	  methods (is_bounded(), etc).
+
+2006-06-15 Thursday 15:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  Prolog/ppl_interface_generator_prolog_icc.m4
+	  (interfaces.[32,17]): Some bugs fixed.
+
+2006-06-15 Thursday 10:36  quartieri
+
+	* src/Octagonal_Shape.templates.hh (octagons.47): Corrected a code
+	  line in      Octagonal_Shape<T>::generalized_affine_preimage().
+	  Added some new tests on
+	  Octagonal_Shape<T>::generalized_affine_preimage().
+
+2006-06-15 Thursday 09:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  Prolog/ppl_interface_generator_prolog_icc.m4
+	  (interfaces.[31,16]): Revised comments to match previous changes.
+	  Improved a few macro names.
+
+2006-06-15 Thursday 09:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  ppl_interface_generator_common_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_icc.m4,
+	  Prolog/ppl_interface_generator_prolog_systems.m4
+	  (interfaces.[30,12,15,8]):   The m4_class (ie the interface name)
+	  and the m4_cpp_name are
+	    never passed as arguments now. Instead the number of the class
+	    is passed (as well as the class_kind) and the names are found
+	    from the definition generated in the initialisation phase.
+
+	    The macro definitions for the initialisation of the class
+	    names been moved from ppl_interface_generator_common.m4
+	    to ppl_interface_generator_common_dat.m4 as these are then
+	    used as fixed macros for the main code generation.
+
+	  The order of generation has been changed.  The @CLASS@ and
+	  @CPP_CLASS@ are replaced by the actual class names immediately
+	  after getting the code (or, for the Prolog systems, the
+	  exntensions have been added)
+
+	  In Prolog/ppl_interface_generator_prolog_systems.m4, the macros
+	  for generating the Prolog system code for fixed library
+	  predicates now uses code specific to these predicates.
+
+2006-06-14 Wednesday 19:20  Matthew Mundell
+
+	* tests/Grid/directproduct1.cc (1.9): Add tests of the rest of the
+	  system-returning methods.
+
+2006-06-14 Wednesday 19:20  Matthew Mundell
+
+	* src/: Direct_Product.defs.hh (1.11), Direct_Product.inlines.hh
+	  (1.12), Direct_Product.templates.hh (1.8): Add relation_with(g).
+	  Define Direct_Product(gs), Direct_Product(cbox) and the rest of
+	  the system-returning methods.
+
+2006-06-14 Wednesday 16:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  ppl_interface_generator_common_dat.m4,
+	  C/ppl_interface_generator_c_cc.m4,
+	  C/ppl_interface_generator_c_h.m4,
+	  Prolog/ppl_interface_generator_prolog_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_icc.m4
+	  (interfaces.[29,11,6,6,22,14]): Improved and corrected macro
+	  definitions for m4_filter and m4_filter_all.	Started passing the
+	  class number instead of the m4_interface_class_name and
+	  m4_cplusplus_class_name as arguments to macros.
+
+2006-06-12 Monday 19:00  Matthew Mundell
+
+	* src/Direct_Product.defs.hh (1.10), src/Direct_Product.inlines.hh
+	  (1.11), src/Direct_Product.templates.hh (1.7),
+	  src/Direct_Product.types.hh (1.2), tests/Grid/directproduct2.cc
+	  (1.2): Introduce Reduced_Product.  Move most Direct_Product
+	  reduce methods into Reduced_Product.
+
+2006-06-12 Monday 18:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  ppl_interface_generator_common_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_icc.m4,
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (interfaces.[28,10,21,13,14]): Revised the way the pattern
+	  replacements are defined and revised the code for replacement.
+
+	  Extended the prolog_dat.m4 list of predicates that can generate
+	  code for BD_Shape to match that of the C interface (and removed a
+	  bug that prevented BD_Shape widening compiling).
+
+2006-06-12 Monday 17:27  Matthew Mundell
+
+	* tests/Grid/: Makefile.am (1.38), directproduct1.cc (1.8),
+	  directproduct2.cc (1.1): Add tests of time_elapse_assign(dp) and
+	  topological_closure_assign() to directproduct1.  Add
+	  directproduct2.  Move directproduct1 reduce tests into
+	  directproduct2.
+
+2006-06-12 Monday 17:26  Matthew Mundell
+
+	* src/: Direct_Product.defs.hh (1.9), Direct_Product.inlines.hh
+	  (1.10): Declare Generator_System constructors.  Implement
+	  time_elapse_assign(dp) and topological_closure_assign().
+
+2006-06-12 Monday 16:03  Matthew Mundell
+
+	* tests/Grid/directproduct1.cc (1.7): Add tests of
+	  difference_assign(y) and of the affine transformation methods.
+
+2006-06-12 Monday 16:03  Matthew Mundell
+
+	* src/: Direct_Product.defs.hh (1.8), Direct_Product.inlines.hh
+	  (1.9), Direct_Product.templates.hh (1.6): Declare Generator
+	  adding methods.  Implement difference_assign(y) and the affine
+	  transformation methods.
+
+2006-06-12 Monday 16:02  Matthew Mundell
+
+	* tests/Grid/: generalizedaffinepreimage1.cc (1.12),
+	  generalizedaffinepreimage2.cc (1.12): Move
+	  generalizedaffinepreimage2 test06 into
+	  generalizedaffinepreimage1.
+
+2006-06-11 Sunday 10:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  C/ppl_interface_generator_c_cc_code.m4,
+	  C/ppl_interface_generator_c_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (interfaces.[27,11,20,20,13]): Corrected a bug introduced for
+	  formatting.
+
+	  Revised the use of generator to grid_generator to match changes
+	  due to merge from the trunk.
+
+	  Removed the use of alt_box replacement for the grid
+	  "get_covering_box" and "get_bounding_box", by providing the code
+	  explicitly.
+
+	  Now the "alt_" replacement is not used anymore and this option
+	  for defining replacements will be removed later when other
+	  improvements here are made..
+
+2006-06-11 Sunday 09:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Congruence.defs.hh, src/Congruence.inlines.hh,
+	  src/Congruence_System.cc, src/Direct_Product.defs.hh,
+	  src/Direct_Product.inlines.hh, src/Direct_Product.templates.hh,
+	  src/Grid.defs.hh, src/Grid.inlines.hh, src/Grid.templates.hh,
+	  src/Grid_Generator.cc, src/Grid_Generator.defs.hh,
+	  src/Grid_Generator_System.cc, src/Grid_Generator_System.defs.hh,
+	  src/Grid_chdims.cc, src/Grid_conversion.cc, src/Grid_public.cc,
+	  src/Grid_simplify.cc, src/Grid_widenings.cc,
+	  src/Linear_Expression.cc, src/Linear_Expression.defs.hh,
+	  src/Makefile.am, src/Polyhedron.defs.hh, src/globals.defs.hh,
+	  tests/print.cc, tests/Grid/Makefile.am,
+	  tests/Grid/addcongruence1.cc, tests/Grid/addcongruences1.cc,
+	  tests/Grid/addgenerator1.cc, tests/Grid/addgenerators1.cc,
+	  tests/Grid/addspacedims1.cc, tests/Grid/affinedim1.cc,
+	  tests/Grid/affineimage1.cc, tests/Grid/affineimage2.cc,
+	  tests/Grid/affinepreimage1.cc, tests/Grid/affinepreimage2.cc,
+	  tests/Grid/asciidumpload1.cc, tests/Grid/asciidumpload2.cc,
+	  tests/Grid/asciidumpload7.cc, tests/Grid/bhz03widening1.cc,
+	  tests/Grid/bounded1.cc, tests/Grid/boundingbox1.cc,
+	  tests/Grid/boundingbox2.cc, tests/Grid/bounds1.cc,
+	  tests/Grid/certificate1.cc, tests/Grid/concatenate1.cc,
+	  tests/Grid/congruences1.cc, tests/Grid/congruences2.cc,
+	  tests/Grid/contains1.cc, tests/Grid/coveringbox1.cc,
+	  tests/Grid/coveringbox2.cc, tests/Grid/directproduct1.cc,
+	  tests/Grid/discrete1.cc, tests/Grid/disjoint1.cc,
+	  tests/Grid/equals1.cc, tests/Grid/expandspacedim1.cc,
+	  tests/Grid/foldspacedims1.cc,
+	  tests/Grid/generalizedaffineimage1.cc,
+	  tests/Grid/generalizedaffineimage2.cc,
+	  tests/Grid/generalizedaffinepreimage1.cc,
+	  tests/Grid/generalizedaffinepreimage2.cc,
+	  tests/Grid/generator1.cc, tests/Grid/generators1.cc,
+	  tests/Grid/grid1.cc, tests/Grid/grid3.cc,
+	  tests/Grid/griddifference1.cc, tests/Grid/intersection1.cc,
+	  tests/Grid/isempty1.cc, tests/Grid/join1.cc, tests/Grid/join2.cc,
+	  tests/Grid/limitedextrapolation1.cc,
+	  tests/Grid/limitedextrapolation2.cc,
+	  tests/Grid/limitedextrapolation3.cc, tests/Grid/mapspacedims1.cc,
+	  tests/Grid/maxmin1.cc, tests/Grid/membytes1.cc,
+	  tests/Grid/mingenerators1.cc, tests/Grid/outputoperator1.cc,
+	  tests/Grid/relations2.cc, tests/Grid/relations3.cc,
+	  tests/Grid/removespacedims1.cc, tests/Grid/removespacedims2.cc,
+	  tests/Grid/timeelapse1.cc, tests/Grid/topclosed1.cc,
+	  tests/Grid/widening1.cc, tests/Grid/widening2.cc,
+	  tests/Grid/widening3.cc
+	  (interfaces.[1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]):
+	  First merge from the main trunk.
+
+2006-06-10 Saturday 12:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (interfaces.9):
+	  Comment improved.
+
+2006-06-10 Saturday 12:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  ppl_interface_generator_common_dat.m4,
+	  C/ppl_interface_generator_c_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_dat.m4
+	  (interfaces.[26,8,19,19]): Bug fixed in
+	  Prolog/ppl_interface_generator_prolog_dat.m4
+
+	  Comments improved.
+
+	  Improvements to formatting.
+
+2006-06-10 Saturday 10:04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4,
+	  ppl_interface_generator_prolog_icc_code.m4 (interfaces.[18,12]):
+	  Now using `@' as a pattern delimiter.
+
+2006-06-10 Saturday 10:04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_systems.m4
+	  (interfaces.7): Changed macro m4_pattern_delimiter so as to use
+	  `@' as a delimiter.
+
+2006-06-10 Saturday 10:03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/: ppl_interface_generator_c_cc_code.m4,
+	  ppl_interface_generator_c_dat.m4,
+	  ppl_interface_generator_c_h_code.m4 (interfaces.[10,18,9]): Now
+	  patterns are delimited by `@'.
+
+2006-06-10 Saturday 10:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/ppl_interface_generator_common.m4 (interfaces.25):
+	  Changed macros m4_extension and m4_pattern_delimiter so as to
+	  allow for the use of `@' as a pattern delimiter.
+
+2006-06-09 Friday 23:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  ppl_interface_generator_common_dat.m4,
+	  C/ppl_interface_generator_c_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_dat.m4
+	  (interfaces.[24,7,17,17]): Revised the way the groups of classes
+	  are defined and used.  Thus the selection and deselection of a
+	  procedure for a given group or class kind is clearer and easier
+	  to extend.  An initial list of groups and the classes they
+	  include is provided in ppl_interface_generator_common_dat.m4.
+
+	  Also, allow for arity and the attribute "nofail" to be optionally
+	  defined and occur anywhere in the info text after the procedure
+	  name.
+
+2006-06-09 Friday 16:07  Matthew Mundell
+
+	* tests/Grid/expandspacedim1.cc (1.10): Add the description to the
+	  print message in test04.
+
+2006-06-09 Friday 16:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/expandspacedim1.cc (altnum.1): file expandspacedim1.cc
+	  was added on branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-06-09 Friday 16:06  Matthew Mundell
+
+	* tests/Grid/directproduct1.cc (1.6): Add tests of the dimension
+	  changing methods.
+
+2006-06-09 Friday 16:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/directproduct1.cc (interfaces.1): file
+	  directproduct1.cc was added on branch interfaces on 2006-06-11
+	  07:13:48 +0000
+
+2006-06-09 Friday 16:02  Matthew Mundell
+
+	* src/: Direct_Product.defs.hh (1.7), Direct_Product.inlines.hh
+	  (1.8), Direct_Product.templates.hh (1.5): Rename methods,
+	  replacing "generator" with "grid_generator".	Add
+	  grid_generators() and minimized_grid_generators().  Implement
+	  congruences(), add_grid_generator(g),
+	  add_grid_generator_and_minimize(g) and the dimension changing
+	  methods.
+
+2006-06-09 Friday 16:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Direct_Product.templates.hh (interfaces.1): file
+	  Direct_Product.templates.hh was added on branch interfaces on
+	  2006-06-11 07:13:47 +0000
+
+2006-06-09 Friday 14:06  Matthew Mundell
+
+	* tests/Grid/removespacedims2.cc (1.12): Add test12.
+
+2006-06-09 Friday 14:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/removespacedims2.cc (altnum.1): file
+	  removespacedims2.cc was added on branch altnum on 2006-10-29
+	  19:27:28 +0000
+
+2006-06-09 Friday 14:05  Matthew Mundell
+
+	* src/Grid_chdims.cc (1.9): Correct the dim_kinds to congruence
+	  mapping assumed in the congruence case of
+	  remove_higher_space_dimensions.
+
+2006-06-09 Friday 13:59  Matthew Mundell
+
+	* tests/Grid/concatenate1.cc (1.12): Order the known_cgs insertions
+	  in test05 by dimension.
+
+2006-06-09 Friday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/concatenate1.cc (altnum.1): file concatenate1.cc was
+	  added on branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-06-08 Thursday 20:39  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	*
+	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
+	  (interfaces.4): Added a few comments.
+
+2006-06-08 Thursday 20:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  ppl_interface_generator_common_dat.m4 (interfaces.[23,6]):
+	  Updated so as to exploit the configuration-generated information
+	  about the required instantiations.
+
+2006-06-08 Thursday 20:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/: C/Makefile.am, Prolog/Makefile.am,
+	  Prolog/Ciao/Makefile.am, Prolog/GNU/Makefile.am,
+	  Prolog/SICStus/Makefile.am, Prolog/SWI/Makefile.am,
+	  Prolog/XSB/Makefile.am, Prolog/YAP/Makefile.am
+	  (interfaces.[2,2,3,4,2,2,2,2]): Updated so as to allow m4 to
+	  include from $(top_buildir)/interfaces.
+
+2006-06-08 Thursday 19:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/: SWI/ppl_interface_generator_swiprolog_cc.m4,
+	  YAP/ppl_interface_generator_yap_cc.m4 (interfaces.[5,3]): Added
+	  useful comments.
+
+2006-06-08 Thursday 19:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_systems.m4
+	  (interfaces.6): Adapted to new style of common macros. Also added
+	  a few coments.
+
+2006-06-08 Thursday 19:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (interfaces.11): Added a cople of newlines where needed.
+
+2006-06-08 Thursday 19:03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/: C/ppl_interface_generator_c_h.m4,
+	  C/ppl_interface_generator_c_cc.m4,
+	  Prolog/ppl_interface_generator_prolog_icc.m4
+	  (interfaces.[5,5,12]): Adapted to new style of global macros.
+	  Also added a few comments.
+
+2006-06-08 Thursday 19:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_dat.m4 (interfaces.16):
+	  Use commas to separate entries in m4_procedure_list.
+
+2006-06-08 Thursday 19:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_h_code.m4 (interfaces.8):
+	  Added a few missing commas that were at the origina of a
+	  debugging nightmare.
+
+2006-06-08 Thursday 19:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/ppl_interface_generator_common.m4 (interfaces.22): The
+	  common macros changed so as to prefer working with explicit
+	  arguments rather than global macros. There still are global
+	  macros, but these are restricted to be the ones defined in the
+	  _dat files.
+
+2006-06-08 Thursday 12:05  Matthew Mundell
+
+	* tests/Grid/addcongruence1.cc (1.11),
+	  tests/Grid/addcongruences1.cc (1.14), tests/Grid/addgenerator1.cc
+	  (1.13), tests/Grid/addgenerators1.cc (1.12),
+	  tests/Grid/addspacedims1.cc (1.12), tests/Grid/affinedim1.cc
+	  (1.10), tests/Grid/affineimage1.cc (1.11),
+	  tests/Grid/affineimage2.cc (1.8), tests/Grid/affinepreimage1.cc
+	  (1.10), tests/Grid/affinepreimage2.cc (1.5),
+	  tests/Grid/asciidumpload1.cc (1.11), tests/Grid/asciidumpload2.cc
+	  (1.4), tests/Grid/bounded1.cc (1.11), tests/Grid/boundingbox1.cc
+	  (1.12), tests/Grid/boundingbox2.cc (1.9), tests/Grid/bounds1.cc
+	  (1.13), tests/Grid/certificate1.cc (1.11),
+	  tests/Grid/congruences1.cc (1.10), tests/Grid/contains1.cc
+	  (1.10), tests/Grid/coveringbox1.cc (1.12),
+	  tests/Grid/coveringbox2.cc (1.9), tests/Grid/directproduct1.cc
+	  (1.5), tests/Grid/discrete1.cc (1.5), tests/Grid/disjoint1.cc
+	  (1.9), tests/Grid/equals1.cc (1.10),
+	  tests/Grid/expandspacedim1.cc (1.9), tests/Grid/foldspacedims1.cc
+	  (1.9), tests/Grid/generalizedaffineimage1.cc (1.10),
+	  tests/Grid/generalizedaffineimage2.cc (1.9),
+	  tests/Grid/generalizedaffinepreimage1.cc (1.11),
+	  tests/Grid/generalizedaffinepreimage2.cc (1.11),
+	  tests/Grid/generators1.cc (1.11), tests/Grid/grid1.cc (1.16),
+	  tests/Grid/griddifference1.cc (1.10), tests/Grid/intersection1.cc
+	  (1.9), tests/Grid/isempty1.cc (1.6), tests/Grid/join1.cc (1.14),
+	  tests/Grid/join2.cc (1.9), tests/Grid/limitedextrapolation1.cc
+	  (1.10), tests/Grid/limitedextrapolation2.cc (1.4),
+	  tests/Grid/limitedextrapolation3.cc (1.3),
+	  tests/Grid/mapspacedims1.cc (1.9), tests/Grid/maxmin1.cc (1.10),
+	  tests/Grid/membytes1.cc (1.6), tests/Grid/mingenerators1.cc
+	  (1.8), tests/Grid/outputoperator1.cc (1.7),
+	  tests/Grid/relations2.cc (1.12), tests/Grid/relations3.cc (1.4),
+	  tests/Grid/removespacedims1.cc (1.12),
+	  tests/Grid/removespacedims2.cc (1.11), tests/Grid/timeelapse1.cc
+	  (1.9), tests/Grid/topclosed1.cc (1.10), tests/Grid/widening1.cc
+	  (1.13), tests/Grid/widening2.cc (1.6), tests/Grid/widening3.cc
+	  (1.3), src/Direct_Product.defs.hh (1.6),
+	  src/Direct_Product.inlines.hh (1.7),
+	  src/Direct_Product.templates.hh (1.4), src/Grid.defs.hh (1.24),
+	  src/Grid.templates.hh (1.15), src/Grid_public.cc (1.31),
+	  src/Grid_widenings.cc (1.9), tests/print.cc (1.26): Rename
+	  Grid_Generator methods, replacing "generator" with
+	  "grid_generator".
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/addcongruence1.cc (altnum.1): file addcongruence1.cc
+	  was added on branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/addcongruences1.cc (altnum.1): file addcongruences1.cc
+	  was added on branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/addgenerator1.cc (altnum.1): file addgenerator1.cc was
+	  added on branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/addgenerators1.cc (altnum.1): file addgenerators1.cc
+	  was added on branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/addspacedims1.cc (altnum.1): file addspacedims1.cc was
+	  added on branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/affinedim1.cc (altnum.1): file affinedim1.cc was added
+	  on branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/affineimage1.cc (altnum.1): file affineimage1.cc was
+	  added on branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/affinepreimage1.cc (altnum.1): file affinepreimage1.cc
+	  was added on branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/affinepreimage2.cc (altnum.1): file affinepreimage2.cc
+	  was added on branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/asciidumpload2.cc (altnum.1): file asciidumpload2.cc
+	  was added on branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/bounded1.cc (altnum.1): file bounded1.cc was added on
+	  branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/bounds1.cc (altnum.1): file bounds1.cc was added on
+	  branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/congruences1.cc (altnum.1): file congruences1.cc was
+	  added on branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/contains1.cc (altnum.1): file contains1.cc was added
+	  on branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/coveringbox1.cc (altnum.1): file coveringbox1.cc was
+	  added on branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/disjoint1.cc (altnum.1): file disjoint1.cc was added
+	  on branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/generators1.cc (altnum.1): file generators1.cc was
+	  added on branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/griddifference1.cc (altnum.1): file griddifference1.cc
+	  was added on branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/intersection1.cc (altnum.1): file intersection1.cc was
+	  added on branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/isempty1.cc (altnum.1): file isempty1.cc was added on
+	  branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/join1.cc (altnum.1): file join1.cc was added on branch
+	  altnum on 2006-10-29 19:27:28 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/join2.cc (altnum.1): file join2.cc was added on branch
+	  altnum on 2006-10-29 19:27:28 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/limitedextrapolation1.cc (altnum.1): file
+	  limitedextrapolation1.cc was added on branch altnum on 2006-10-29
+	  19:27:28 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/limitedextrapolation2.cc (altnum.1): file
+	  limitedextrapolation2.cc was added on branch altnum on 2006-10-29
+	  19:27:28 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/limitedextrapolation3.cc (altnum.1): file
+	  limitedextrapolation3.cc was added on branch altnum on 2006-10-29
+	  19:27:28 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/mapspacedims1.cc (altnum.1): file mapspacedims1.cc was
+	  added on branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/maxmin1.cc (altnum.1): file maxmin1.cc was added on
+	  branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/mingenerators1.cc (altnum.1): file mingenerators1.cc
+	  was added on branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/outputoperator1.cc (altnum.1): file outputoperator1.cc
+	  was added on branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/relations3.cc (simplex.1): file relations3.cc was
+	  added on branch simplex on 2006-09-06 18:41:55 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/removespacedims1.cc (altnum.1): file
+	  removespacedims1.cc was added on branch altnum on 2006-10-29
+	  19:27:28 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/timeelapse1.cc (altnum.1): file timeelapse1.cc was
+	  added on branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/topclosed1.cc (altnum.1): file topclosed1.cc was added
+	  on branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/widening1.cc (altnum.1): file widening1.cc was added
+	  on branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/widening3.cc (altnum.1): file widening3.cc was added
+	  on branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-06-08 Thursday 08:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_icc.m4,
+	  Ciao/ppl_interface_generator_ciao_pl.m4 (interfaces.[11,5]):
+	  Corrected a bug in _ciao_pl.m4.
+
+	  Corrected a bug in the addition of the extra widening code in
+	  _icc.m4.  Also removed code that checked the number of binop
+	  replacements for that class: this is because, now LP_Problem is a
+	  fixed class, all the classes denote domains with at least one
+	  binary operator.
+
+2006-06-07 Wednesday 22:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac, interfaces/Makefile.am (interfaces.[4,1]): Finished
+	  the support for the --enable-instantiations configuration option.
+
+2006-06-07 Wednesday 21:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_icc.m4
+	  (interfaces.10): Fixed a bug in the expansion of num_binops for
+	  generating the Prolog ppl_prolog.icc.
+
+2006-06-07 Wednesday 17:46  Matthew Mundell
+
+	* tests/Grid/directproduct1.cc (1.4): Add tests of
+	  intersection_assign and upper_bound_assign.  Enable the grid
+	  generator constructor tests.
+
+2006-06-07 Wednesday 17:44  Matthew Mundell
+
+	* src/: Direct_Product.defs.hh (1.5), Direct_Product.inlines.hh
+	  (1.6), Direct_Product.templates.hh (1.3): Add
+	  empty_reduce_d1_with_d2() and empty_reduce_d2_with_d1().  Define
+	  add_generator().  Add Grid Polyhedron specialisations off
+	  add_generator() and of the grid generator constructors.  Take out
+	  grid methods intersection_assign_and_minimize,
+	  join_assign_and_minimize and join_assign_if_exact.
+
+2006-06-07 Wednesday 15:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (interfaces.5):
+	  is_disjoint_from is also defined for BD shapes.
+
+2006-06-07 Wednesday 15:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (interfaces.4):
+	  Restored join_assign and join_assign_and minimize for Grids.
+
+2006-06-07 Wednesday 15:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (interfaces.10): Added spaces at the end of function definitions
+	  to improve readability of generated file. Try to avoid spurious
+	  indentations in the definnition of parameter lists.
+
+2006-06-07 Wednesday 14:44  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (interfaces.3):
+	  The first 5 binary operators are common to all instantiations.
+	  Polyhedra and BD_Shape have some *further* binary operators with
+	  instantiation specific names.  For simplicity, do NOT have
+	  binminop's depend on binop's.
+
+2006-06-07 Wednesday 14:41  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/: ppl_interface_generator_c_cc_code.m4,
+	  ppl_interface_generator_c_dat.m4,
+	  ppl_interface_generator_c_h_code.m4 (interfaces.[9,15,7]): Method
+	  concatenate_assign is now dealt with as all the other binary
+	  operators.
+
+2006-06-07 Wednesday 14:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common_dat.m4,
+	  C/ppl_interface_generator_c_cc_code.m4,
+	  C/ppl_interface_generator_c_dat.m4,
+	  C/ppl_interface_generator_c_h_code.m4,
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (interfaces.[2,8,14,6,9]): Swap generator and grid generator in
+	  replacement code.
+
+2006-06-07 Wednesday 14:16  Matthew Mundell
+
+	* tests/Grid/: join1.cc (1.13), join2.cc (1.8): Move join1 test12
+	  to join2.  Add join2 test13, to test
+	  upper_bound_assign_and_minimize().
+
+2006-06-07 Wednesday 14:14  Matthew Mundell
+
+	* src/: Grid.defs.hh (1.23), Grid.inlines.hh (1.8): Add
+	  upper_bound_assign_and_minimize().
+
+2006-06-07 Wednesday 13:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_dat.m4
+	  (interfaces.16): Include file
+	  ppl_interface_generator_common_dat.m4 instead of repeating
+	  language independent macros. Prefer dnl to # for m4 comments.
+
+2006-06-07 Wednesday 13:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_dat.m4 (interfaces.13):
+	  Include ppl_interface_generator_common_dat.m4 instead of
+	  repeating language independent macros. LP_Problem is always
+	  interfaced. Dropped arities from name of procedures.
+
+2006-06-07 Wednesday 13:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/: ppl_interface_generator_c_cc_code.m4,
+	  ppl_interface_generator_c_h_code.m4 (interfaces.[7,5]): Dropped
+	  trailing underscore from patterns TOPOLOGY_ and INTOPOLOGY_.
+
+2006-06-07 Wednesday 13:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/ppl_interface_generator_common.m4 (interfaces.21):
+	  Simplified macro m4_replace_class_patterns.
+
+2006-06-07 Wednesday 13:29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/ppl_interface_generator_common_dat.m4 (interfaces.1):
+	  The common (i.e., language indepedent) part of
+	  ppl_interface_generator_<LANG>_dat.m4 moved here to avoid
+	  inconsistencies.
+
+2006-06-07 Wednesday 12:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  Prolog/ppl_interface_generator_prolog_systems.m4
+	  (interfaces.[20,5]): Added a macro "m4_pattern_delimiter".  This
+	  is defined in ppl_interface_generator_common.m4 as `4' and
+	  Prolog/ppl_interface_generator_prolog_systems.m4 as `4'.
+
+	  When the patterns in the procedure macro names have no
+	  delimeters, and when the code has @ delimiter, these must be
+	  changed, the common definition to `@' and the system definition
+	  to `'.
+
+2006-06-07 Wednesday 10:33  Matthew Mundell
+
+	* tests/Grid/directproduct1.cc (1.3): Add is_universe() tests.
+
+2006-06-06 Tuesday 21:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_dat.m4
+	  (interfaces.15): Bug corrected.
+
+2006-06-06 Tuesday 21:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4,
+	  ppl_interface_generator_prolog_icc_code.m4,
+	  ppl_interface_generator_prolog_icc_preamble
+	  (interfaces.[14,8,4]): term_to_polyhedron_handle and similar are
+	  now with the class name (polyhedron) in capitals.  Many of the
+	  BD_Shape procedures are now compiling ok in the Prolog interface.
+
+2006-06-06 Tuesday 18:54  Matthew Mundell
+
+	* tests/Grid/directproduct1.cc (1.2): Add tests of is_empty() and
+	  reduce().
+
+2006-06-06 Tuesday 18:52  Matthew Mundell
+
+	* tests/Grid/bhz03widening1.cc (1.9): Correct spacing.
+
+2006-06-06 Tuesday 18:52  Matthew Mundell
+
+	* src/: Direct_Product.defs.hh (1.4), Direct_Product.inlines.hh
+	  (1.5), Direct_Product.templates.hh (1.2): Implement is_empty and
+	  is_universe.	Specialise the reduce methods for
+	  Direct_Product<NNC_Polyhedron, Grid>.
+
+2006-06-06 Tuesday 17:40  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4,
+	  ppl_interface_generator_prolog_icc_code.m4,
+	  ppl_interface_generator_prolog_icc_preamble
+	  (interfaces.[13,7,3]): LP_Problem is no longer generated with the
+	  other classes.  In the dat.m4 file, all the LP_Problem procedures
+	  are listed as "library procedures" for the system Prolog files.
+
+2006-06-06 Tuesday 16:05  Matthew Mundell
+
+	* src/: Congruence.defs.hh (1.12), Congruence.inlines.hh (1.11):
+	  Take out the private version of modulus().
+
+2006-06-06 Tuesday 15:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  Prolog/exceptions.hh,
+	  Prolog/ppl_interface_generator_prolog_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_icc.m4,
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4,
+	  Prolog/ppl_interface_generator_prolog_icc_preamble
+	  (interfaces.[19,2,12,9,6,2]): In
+	  ppl_interface_generator_common.m4, revised `m4_get_code_schema'
+	  to correct a bug.
+
+	  In the Prolog directory Allow for exceptions for any user class
+	  when using ppl class handles. There is one common exception
+	  called ppl_handle_mismatch for all classes.
+
+	  The code for term_to_polyhedron_handle and similar is now
+	  replaced by a schema that generates this code for all the user
+	  classes.
+
+	  The procedure list has XBD_Shape everywhere and the user class
+	  BD_Shape<int8_t> added to the list of classes being tested.
+
+2006-06-06 Tuesday 14:09  Matthew Mundell
+
+	* src/: Direct_Product.inlines.hh (1.4),
+	  Direct_Product.templates.hh (1.1), Makefile.am (1.154): Add
+	  Direct_Product.templates.hh.	Move reduce() and ascii_load(s)
+	  there.  Add inline keyword to all inline methods definitions.
+
+2006-06-06 Tuesday 13:37  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_dat.m4 (interfaces.12):
+	  Use @ instead of , to separate instances.
+
+2006-06-06 Tuesday 13:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4 (interfaces.6):
+	  Corrected code schemas using pattern DESCRIBE.
+
+2006-06-06 Tuesday 13:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh, BD_Shape.inlines.hh,
+	  BD_Shape.templates.hh (interfaces.[1,1,1]): Added methods:
+	  shrink_bounding_box	is_topologically_closed
+	  topologcal_closure_assign   is_disjoint_from
+	  add_recycled_constraints   add_recycled_constraints_and_minimize.
+
+2006-06-06 Tuesday 12:33  Matthew Mundell
+
+	* tests/Grid/: Makefile.am (1.37), asciidumpload7.cc (1.1),
+	  directproduct1.cc (1.1): Add directproduct1 and asciidumpload7.
+
+2006-06-06 Tuesday 12:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/asciidumpload7.cc (altnum.1): file asciidumpload7.cc
+	  was added on branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-06-06 Tuesday 12:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/asciidumpload7.cc (interfaces.1): file
+	  asciidumpload7.cc was added on branch interfaces on 2006-06-11
+	  07:13:48 +0000
+
+2006-06-06 Tuesday 12:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/asciidumpload7.cc (octagons.1): file asciidumpload7.cc
+	  was added on branch octagons on 2006-11-18 20:36:56 +0000
+
+2006-06-06 Tuesday 12:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/asciidumpload7.cc (simplex.1): file asciidumpload7.cc
+	  was added on branch simplex on 2006-09-06 18:41:54 +0000
+
+2006-06-05 Monday 19:10  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common.m4 (interfaces.18):
+	  Fixed an old bug whereby "Polyhedron" could not be used to
+	  indicate that that was the only class to be coded for the
+	  schematic procedure name.
+
+2006-06-05 Monday 17:43  Matthew Mundell
+
+	* src/: Direct_Product.defs.hh (1.3), Direct_Product.inlines.hh
+	  (1.3): Add Direct_Product(bbox).
+
+2006-06-05 Monday 17:41  Matthew Mundell
+
+	* src/Grid.defs.hh (1.22), src/Grid_public.cc (1.30),
+	  tests/Grid/topclosed1.cc (1.9): Update is_topologically_closed to
+	  return true always.
+
+2006-06-05 Monday 17:15  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4, C/ppl_c.cc,
+	  Prolog/ppl_interface_generator_prolog_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (interfaces.[17,1,11,5]): Fixed a bug in the Prolog dat.m4 file.
+	  Changed the separator in the input list to be an @ and not a ,.
+
+2006-06-05 Monday 17:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_dat.m4 (interfaces.11):
+	  Temporarily disable the generation of a few functions in some
+	  interfaces.
+
+2006-06-05 Monday 17:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
+	  (interfaces.4): Corrected comment in the first line.
+
+2006-06-05 Monday 17:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_icc.m4
+	  (interfaces.8): Prefer dnl to ifelse to have an m4 comment.
+
+2006-06-05 Monday 15:49  Matthew Mundell
+
+	* tests/Grid/generator1.cc (1.18): Add test23, which tests
+	  Linear_Expression(const Grid_Generator&).
+
+2006-06-05 Monday 15:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/generator1.cc (altnum.1): file generator1.cc was added
+	  on branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-06-05 Monday 15:48  Matthew Mundell
+
+	* src/: Grid_Generator.defs.hh (1.23), Linear_Expression.cc (1.12),
+	  Linear_Expression.defs.hh (1.26): Add Linear_Expression(const
+	  Grid_Generator&).
+
+2006-06-05 Monday 14:55  Matthew Mundell
+
+	* src/: Grid.defs.hh (1.21), Polyhedron.defs.hh (1.298): Correct
+	  type of get_lower_bound and get_upper_bound `closed' arguments in
+	  docs.
+
+2006-06-05 Monday 14:54  Matthew Mundell
+
+	* src/Grid.templates.hh (1.14): Add initialisation of box
+	  constructor closed flag variables.
+
+2006-06-05 Monday 12:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_dat.m4 (interfaces.10):
+	  Octagon renamed Octagonal_Shape.  join_assign renamed
+	  upper_bound_assign.
+
+2006-06-05 Monday 12:11  Matthew Mundell
+
+	* src/: Direct_Product.defs.hh (1.2), Direct_Product.inlines.hh
+	  (1.2): Add domain1(), domain2(), reduce_domain1_with_domain2(),
+	  reduce_domain2_with_domain1(), reduce(), OK(), ascii methods and
+	  operator<<.  Implement some of the already defined methods.
+
+2006-06-05 Monday 12:09  Matthew Mundell
+
+	* src/globals.defs.hh (1.37): Add macro
+	  PPL_OUTPUT_2_PARAM_TEMPLATE_DEFINITIONS.
+
+2006-06-05 Monday 10:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/ppl_interface_generator_common.m4 (interfaces.16): In
+	  macro m4_replace_pattern, which gets called several times and
+	  re-defines the same macros (PATTERN, num_strings, etc.) each
+	  time, prefer using bultins pushdef and popdef instead of define.
+	  Same change in m4_all_classes_loop.  Prefer using pattern
+	  4CPP_CLASS4 to 4SYSCLASS4.  Macro m4_replace_with_code renamed as
+	  m4_get_code_schema.  Macro m4_filter changed so as to perform
+	  filtering by using m4_class_kind instead of m4_class.
+
+2006-06-05 Monday 10:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_h_preamble (interfaces.5):
+	  The CPP macro PPL_TYPE_DECLARATION made more readable by adding
+	  line breaks.
+
+2006-06-05 Monday 10:44  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4 (interfaces.5):
+	  In the code schemas, using pattern 4CPP_CLASS4 instead of 4CLASS4
+	  where appropriate.
+
+2006-06-05 Monday 10:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc.m4 (interfaces.4): The
+	  class preamble changed to invoke DECLARE_CONVERSIONS with two
+	  arguments.
+
+2006-06-05 Monday 10:41  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc_preamble
+	  (interfaces.4): The CPP macro DEECLARE_CONVERSIONS changed to
+	  take two arguments so as to also accomodate for the case of
+	  templatic classes, where the interface class name is different
+	  from the C++ class name in a nontrivial way.
+
+2006-06-05 Monday 10:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_h.m4 (interfaces.4):
+	  Prefer dnl to # for m4 comments.
+
+2006-06-05 Monday 10:37  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_dat.m4 (interfaces.9):
+	  Prefer dnl to # to implement m4 comments.  Let the macros
+	  m4_class_group and m4_class_super_group take an argument instead
+	  of having its value hard-wired in.  The macro
+	  m4_pattern_substitution_list renamed as m4_patter_list (because
+	  it only list patterns and not their substitutions); dropped a
+	  mismatched parenthesis at the end of the list.
+
+2006-06-05 Monday 09:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  Prolog/ppl_interface_generator_prolog_icc.m4 (interfaces.[15,7]):
+	  Renamed and changed macro "m4_set_class" to
+	  "m4_replace_class_patterns".
+
+	  New version allows for different patterns for the class name so
+	  as to differentiate between the different applications of the
+	  pattern (user name, C++ name and the kind of class).
+
+2006-06-04 Sunday 22:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  C/ppl_interface_generator_c_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (interfaces.[14,8,10,4]): In ppl_interface_generator_common.m4,
+	  changed the macro name set_schema_strings to
+	  replace_all_patterns.
+
+	  The same name change in C/ppl_interface_generator_c_dat.m4 and
+	  Prolog/ppl_interface_generator_prolog_dat.m4 where this macro is
+	  defined.
+
+	  In the Prolog interface, the and_embed and and_project combined
+	  into one schema as already done in the C interface.
+
+	  In response to a FIXME comment in the C interface code, the
+	  concatenate_assign is now included in the schema corresponding to
+	  the binop pattern. This change has only been done in the Prolog
+	  interface.
+
+2006-06-04 Sunday 22:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common.m4 (interfaces.13):
+	  Added example for m4_get_name_components.  Entended macro
+	  m4_all_classes_loop to define more macros about the current class
+	  name - its components and type.  Added an example to show what is
+	  defined.
+
+2006-06-04 Sunday 16:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  C/ppl_interface_generator_c_cc_code.m4,
+	  C/ppl_interface_generator_c_dat.m4,
+	  C/ppl_interface_generator_c_h_code.m4,
+	  Prolog/ppl_interface_generator_prolog_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_icc.m4,
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (interfaces.[12,4,7,4,9,6,3]): All the patterns have been changed
+	  to 4PATTERN4 or 4UALT_PATTERN4 or 4UPATTERN4 or 4ALT_PATTERN4.
+	  Several patterns have improved names.  The pattern M4_CLASS is
+	  replaced by 4CLASS4 everywhere.
+
+2006-06-03 Saturday 16:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_h_preamble (interfaces.4):
+	  Some formatting.  Declare print functions for congruences, grid
+	  generatorsand their systems.
+
+2006-06-03 Saturday 16:20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_h.m4 (interfaces.3):
+	  Classes should be declared outside of the Doxygen documentation
+	  block listing their functions.
+
+2006-06-03 Saturday 16:18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_dat.m4 (interfaces.6):
+	  Classes should be declared outside of the Doxygen comment block
+	  listing their functions.
+
+2006-06-03 Saturday 16:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/: ppl_interface_generator_c_cc_code.m4,
+	  ppl_interface_generator_c_h_code.m4 (interfaces.[3,3]): We now
+	  have a single ppl_new_<classname>_from_space_dimension() method,
+	  also taking an integer (interpreted as a Boolean) dictating
+	  whether or not the new object has to be empty or universe.
+
+2006-06-03 Saturday 14:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/: ppl_interface_generator_c_cc_preamble,
+	  ppl_interface_generator_c_h_preamble (interfaces.[3,3]): Added a
+	  lot of (fixed, i.e., non m4-generated) interface code for the
+	  handling of congruences, grid generators and their systems.
+
+2006-06-03 Saturday 11:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  Prolog/ppl_interface_generator_prolog_icc.m4 (interfaces.[11,5]):
+	  Renamed m4_set_string by m4_replace_pattern.
+
+2006-06-03 Saturday 11:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/ppl_interface_generator_common.m4 (interfaces.10):
+	  Prefer dnl to # when writing m4 comments.
+
+	  In macro m4_set_string(), made the following substitutions for
+	  readability:	- ustring	      ==> PATTERN  - actual_string
+	       ==> replacement	- alt_actual_string   ==> alt_replacement
+	  - Uactual_string	==> Replacement  - Ualt_actual_string  ==>
+	  Alt_Replacement
+
+	  Macros m4_init_*_classes() now take a single argument. The
+	  counter is only used by the auxiliary macros
+	  m4_init_*_classes_aux().
+
+2006-06-03 Saturday 10:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/: ppl_interface_generator_c_cc.m4,
+	  ppl_interface_generator_c_cc_code.m4,
+	  ppl_interface_generator_c_cc_preamble,
+	  ppl_interface_generator_c_dat.m4, ppl_interface_generator_c_h.m4,
+	  ppl_interface_generator_c_h_code.m4,
+	  ppl_interface_generator_c_h_preamble
+	  (interfaces.[3,2,2,5,2,2,2]): Corrected so as to use M4_CLASS and
+	  the new common functions defined by Pat.  Also made further steps
+	  towards the generation of the Grid C interface.
+
+2006-06-02 Friday 11:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  Prolog/ppl_interface_generator_prolog_dat.m4 (interfaces.[9,8]):
+	  Improved some comments.  Removed the definition and use of the
+	  short_class_name.
+
+2006-06-02 Friday 10:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  Prolog/ppl_interface_generator_prolog_dat.m4 (interfaces.[8,7]):
+	  Revised the way the user list of classes is handled and now the
+	  list of classes for both the interface names and the C++
+	  procedures must be a comma separated sequence.
+
+2006-06-02 Friday 08:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  Prolog/ppl_interface_generator_prolog_dat.m4 (interfaces.[7,6]):
+	  Changed the way the list of classes to be supported is given and
+	  how these are handled.  This aims to allow for automatic
+	  generation of these lists by the configure file.
+
+	  The current code will support the classes such as Polyhhedron,
+	  LP_Problem, Grid and also those such as BD_Shape<int8_t> with a
+	  numeric type.
+
+2006-06-01 Thursday 12:26  Matthew Mundell
+
+	* tests/Grid/coveringbox1.cc (1.11): Update test13 to DO_TEST_F16.
+
+2006-06-01 Thursday 11:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  Prolog/ppl_interface_generator_prolog_systems.m4,
+	  Prolog/Ciao/ppl_interface_generator_ciao_pl.m4,
+	  Prolog/GNU/ppl_interface_generator_gprolog_pl.m4,
+	  Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4,
+	  Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4,
+	  Prolog/XSB/ppl_interface_generator_xsb_H.m4,
+	  Prolog/XSB/ppl_interface_generator_xsb_cc.m4,
+	  Prolog/YAP/ppl_interface_generator_yap_cc.m4
+	  (interfaces.[6,4,4,4,3,3,3,3,2]): The macro "m4_extension" is now
+	  defined directly in the Prolog systems m4 files. The macro
+	  "extension" is no more.
+
+	  This change only affects the Prolog interface as the default
+	  definition for "m4_extension" for the C++ and C files is in the
+	  common.m4 file.
+
+	  Also, in common.m4, the internal counters for calls to
+	  m4_forloop, renamed as m4_i.
+
+2006-06-01 Thursday 10:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  Prolog/ppl_interface_generator_prolog_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_icc.m4,
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4
+	  (interfaces.[5,5,4,2]): The dynamically created macro "class" is
+	  now "m4_class".  The fixed list of classes "Class`'i is now
+	  m4_Class`'i The pattern CLASS is now M4_CLASS The pattern cLASS
+	  is now M4_lCLASS (l = lower case) Note that these changes need
+	  propagating in the C interface files.
+
+2006-06-01 Thursday 08:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  C/ppl_interface_generator_c_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_dat.m4
+	  (interfaces.[4,4,4]): The dat.m4 file for the C interface is
+	  updated with changes to that in the prolog interface.
+
+	  Comments in the Prolog interface dat.m4 file improved.
+
+	  The arity "/" symbol is now optional for the procedure schema
+	  names - but this needs testing in the C interface.
+
+2006-05-31 Wednesday 23:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  Prolog/ppl_interface_generator_prolog_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_icc.m4,
+	  Prolog/ppl_interface_generator_prolog_systems.m4
+	  (interfaces.[3,3,3,3]): Redone some code so that more is common -
+	  ie avoid having similar definitions in different files.  Changes
+	  to macro names will break the C interface m4 code and the
+	  "_dat.m4" will need revising.
+
+2006-05-31 Wednesday 22:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* configure.ac (interfaces.3): We now have to configure file
+	  ppl_c_version.h.in (not ppl_c.h.in).
+
+2006-05-31 Wednesday 19:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac, instchk.hh (interfaces.[2,2]): Correctly check for
+	  valid instantiations.
+
+2006-05-31 Wednesday 18:04  Matthew Mundell
+
+	* tests/Grid/congruences2.cc (1.3): Rename helper function
+	  `fulfils' to `satisfies'.  Correct test08.
+
+2006-05-31 Wednesday 17:16  Matthew Mundell
+
+	* tests/Grid/congruences2.cc (1.2): Convert the fulfils generator
+	  system parameter into a generator.
+
+2006-05-31 Wednesday 17:15  Matthew Mundell
+
+	* tests/Grid/affinepreimage1.cc (1.9): Convert test12 FIXME into a
+	  TODO.
+
+2006-05-31 Wednesday 17:14  Matthew Mundell
+
+	* tests/Grid/addgenerator1.cc (1.12): Correct indentation of
+	  messages.  Turn test04 into a divisor test.
+
+2006-05-31 Wednesday 16:18  Matthew Mundell
+
+	* src/Grid_Generator_System.cc (1.13): Leave the
+	  remove_space_dimensions swap_columns Matrix qualifiers as they
+	  are.
+
+2006-05-31 Wednesday 16:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/Makefile.am (interfaces.1): A first attempt at
+	  generating automatically ppl_c.h.
+
+2006-05-31 Wednesday 16:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c_version.h.in (interfaces.1): Factored out the
+	  tiny part of ppl_c.h depending on PPL version number.
+
+2006-05-31 Wednesday 16:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/: ppl_interface_generator_c_h.m4,
+	  ppl_interface_generator_c_h_code.m4,
+	  ppl_interface_generator_c_h_preamble (interfaces.[1,1,1]): First
+	  attempt at generating file ppl_c.h.
+
+2006-05-31 Wednesday 16:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_dat.m4 (interfaces.3):
+	  Dropping useless nofail attributes.
+
+2006-05-31 Wednesday 16:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc.m4 (interfaces.2):
+	  Using new common macro names.
+
+2006-05-31 Wednesday 16:05  Matthew Mundell
+
+	* src/Grid_chdims.cc (1.8): Covert FIXMEs in expand_space_dimension
+	  and fold_space_dimensions to TODOs.
+
+2006-05-31 Wednesday 16:04  Matthew Mundell
+
+	* src/Grid_public.cc (1.29): Take FIXME out of
+	  generalized_affine_preimage/3.
+
+2006-05-31 Wednesday 15:17  Matthew Mundell
+
+	* src/Grid_Generator_System.defs.hh (1.16): Add namespace to
+	  operator== friend declaration.
+
+2006-05-31 Wednesday 15:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* instchk.hh (interfaces.1): Allow instantiation with Grid of the
+	  non-C++ interfaces.
+
+2006-05-31 Wednesday 15:15  Matthew Mundell
+
+	* tests/Grid/boundingbox1.cc (1.11): Add int8 failure to test13
+	  invocation.
+
+2006-05-31 Wednesday 15:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (interfaces.1): Restore the code for the
+	  --enable-instantiations configure option.
+
+2006-05-31 Wednesday 14:13  Matthew Mundell
+
+	* tests/Grid/coveringbox1.cc (1.10): Add int8 failure to test13
+	  invocation.
+
+2006-05-31 Wednesday 14:12  Matthew Mundell
+
+	* src/Grid.templates.hh (1.13): Move the Grid box constructor
+	  point_divisor declarations into the blocks that use them.
+
+2006-05-31 Wednesday 13:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/Makefile.am (interfaces.3): Let also GNU
+	  Prolog compile.
+
+2006-05-31 Wednesday 13:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_prolog.icc, GNU/Makefile.am,
+	  GNU/ppl_gprolog.pl, GNU/ppl_interface_generator_gprolog_pl.m4,
+	  SWI/ppl_interface_generator_swiprolog_cc.m4,
+	  SWI/ppl_swiprolog.cc, XSB/ppl_interface_generator_xsb_H.m4,
+	  XSB/ppl_interface_generator_xsb_cc.m4, XSB/ppl_xsb.H,
+	  XSB/ppl_xsb.cc, YAP/ppl_yap.cc
+	  (interfaces.[1,2,1,3,2,1,2,2,1,1,1]): Got rid of automatically
+	  generated files.
+
+2006-05-31 Wednesday 13:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/:
+	  ppl_interface_generator_sicstus_sd_cc.m4, ppl_sicstus_sd.cc
+	  (interfaces.[2,1]): Get rid of the ppl_sicstus_sd.cc (which is
+	  now generated automatically).
+
+2006-05-31 Wednesday 13:20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/: Makefile.am, ppl_ciao.pl,
+	  ppl_interface_generator_ciao_pl.m4 (interfaces.[2,1,3]): Let the
+	  automatically generated Ciao Prolog interface compile.
+
+2006-05-30 Tuesday 22:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  C/ppl_interface_generator_c_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_icc.m4,
+	  Prolog/ppl_interface_generator_prolog_systems.m4,
+	  Prolog/Ciao/ppl_interface_generator_ciao_pl.m4,
+	  Prolog/GNU/ppl_interface_generator_gprolog_pl.m4
+	  (interfaces.[2,2,2,2,2,2,2]): Many of the fixed macro names are
+	  now prefixed by m4_.	Some internal codes improved.  The macros
+	  for generating the extensions for the Prolog systems moved to the
+	  prolog_systems.m4 file from the common.m4 file.
+
+2006-05-30 Tuesday 16:32  Matthew Mundell
+
+	* src/Grid.templates.hh (1.12): Use const references for
+	  point_divisor in the box constructors.
+
+2006-05-30 Tuesday 15:22  Matthew Mundell
+
+	* src/Grid.templates.hh (1.11): Update map_space_dimensions to
+	  throw an exception if the pfunc::maps call fails.
+
+2006-05-30 Tuesday 14:41  Matthew Mundell
+
+	* tests/Grid/grid3.cc (1.18): Correct DO_TEST invocations for
+	  test09 and test10.
+
+2006-05-30 Tuesday 14:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/grid3.cc (altnum.1): file grid3.cc was added on branch
+	  altnum on 2006-10-29 19:27:28 +0000
+
+2006-05-30 Tuesday 14:32  Matthew Mundell
+
+	* tests/Grid/generator1.cc (1.17), src/Congruence_System.cc (1.17),
+	  src/Grid_Generator.cc (1.13), src/Grid_Generator.defs.hh (1.22):
+	  Convert division operations to exact_div_assign calls.  Move
+	  Grid_Generator::scale_to_divisor to the private section.
+
+2006-05-30 Tuesday 13:57  Matthew Mundell
+
+	* src/Grid_public.cc (1.28): Move the modulus negation check back
+	  out of the congruence creation in generalized_affine_image/3 and
+	  generalized_affine_preimage/3.
+
+2006-05-30 Tuesday 13:46  Matthew Mundell
+
+	* src/Grid_conversion.cc (1.13): Convert division operations to
+	  exact_div_assign calls.
+
+2006-05-30 Tuesday 13:34  Matthew Mundell
+
+	* tests/Grid/: widening1.cc (1.12), widening2.cc (1.5): Correct
+	  indentation of messages.
+
+2006-05-30 Tuesday 13:33  Matthew Mundell
+
+	* tests/Grid/: boundingbox1.cc (1.10), coveringbox1.cc (1.9): Add
+	  tests with boxes of larger dimensions.
+
+2006-05-30 Tuesday 13:32  Matthew Mundell
+
+	* src/Grid_simplify.cc (1.25): Update the reduce methods to create
+	  fewer temporaries explicitly and to use references to row[column]
+	  and pivot[column].
+
+2006-05-30 Tuesday 13:29  Matthew Mundell
+
+	* src/: Grid.templates.hh (1.10), Grid_Generator.defs.hh (1.21):
+	  Update the box constructors to create both systems.
+
+2006-05-29 Monday 16:44  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/: ppl_interface_generator_c_cc.m4,
+	  ppl_interface_generator_c_cc_code.m4,
+	  ppl_interface_generator_c_cc_preamble,
+	  ppl_interface_generator_c_dat.m4 (interfaces.[1,1,1,1]): Drafted
+	  a first attempt at generating one of the files (definitions) for
+	  interfacing polyhedra using C.
+
+2006-05-29 Monday 09:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/: ppl_interface_generator_common.m4,
+	  ppl_interface_generator_copyright, Prolog/Makefile.am,
+	  Prolog/exceptions.hh,
+	  Prolog/ppl_interface_generator_prolog_dat.m4,
+	  Prolog/ppl_interface_generator_prolog_icc.m4,
+	  Prolog/ppl_interface_generator_prolog_icc_code.m4,
+	  Prolog/ppl_interface_generator_prolog_icc_preamble,
+	  Prolog/ppl_interface_generator_prolog_systems.m4,
+	  Prolog/Ciao/Makefile.am,
+	  Prolog/Ciao/ppl_interface_generator_ciao_pl.m4,
+	  Prolog/GNU/Makefile.am,
+	  Prolog/GNU/ppl_interface_generator_gprolog_pl.m4,
+	  Prolog/SICStus/Makefile.am,
+	  Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4,
+	  Prolog/SWI/Makefile.am,
+	  Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4,
+	  Prolog/XSB/Makefile.am,
+	  Prolog/XSB/ppl_interface_generator_xsb_H.m4,
+	  Prolog/XSB/ppl_interface_generator_xsb_cc.m4,
+	  Prolog/YAP/Makefile.am,
+	  Prolog/YAP/ppl_interface_generator_yap_cc.m4,
+	  Prolog/tests/Makefile.am, Prolog/tests/pl_grid_check.pl
+	  (interfaces.[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]):
+	  Added m4 files for the generation of the Prolog interfaces.
+	  Modified makefiles so as to do their job in the new framework.
+	  (Tested only the SWI and YAP interfaces up to now).
+
+2006-05-26 Friday 07:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.178): Always use CHECK as
+	  early as possible.
+
+2006-05-25 Thursday 13:32  Matthew Mundell
+
+	* src/Grid_public.cc (1.27): Update affine_dimension() to use the
+	  minimized form of either system, preferring the generators.
+
+2006-05-25 Thursday 11:44  Matthew Mundell
+
+	* tests/Grid/relations3.cc (1.3): Print the congruences instead of
+	  the generators in test12.
+
+2006-05-25 Thursday 11:43  Matthew Mundell
+
+	* tests/Grid/grid2.cc (1.13): Correct DO_TEST invocations.
+
+2006-05-24 Wednesday 18:47  Matthew Mundell
+
+	* tests/Grid/: grid1.cc (1.15), grid3.cc (1.17): Update DO_TEST
+	  calls to reflect moved tests.
+
+2006-05-24 Wednesday 18:45  Matthew Mundell
+
+	* tests/Grid/grid2.cc (1.12): Correct comment about cong_test4.
+
+2006-05-24 Wednesday 18:45  Matthew Mundell
+
+	* tests/Grid/addgenerators1.cc (1.11): Take out tracing calls to
+	  ascii_dump.
+
+2006-05-24 Wednesday 18:24  Matthew Mundell
+
+	* src/: Congruence_System.defs.hh (1.12),
+	  Congruence_System.inlines.hh (1.6), Grid.inlines.hh (1.7),
+	  Grid_nonpublic.cc (1.14), Grid_public.cc (1.26): Add private
+	  method Congruence_System::Congruence_System(d).  Update
+	  Grid::construct(const_gs) to only copy the given gs when needed.
+	  Update both Grid construct methods and their callers so that the
+	  initially constructed versions of con_sys and gen_sys are used
+	  when the grid is empty.
+
+2006-05-24 Wednesday 18:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Congruence_System.inlines.hh (altnum.1): file
+	  Congruence_System.inlines.hh was added on branch altnum on
+	  2006-10-29 19:27:12 +0000
+
+2006-05-24 Wednesday 18:18  Matthew Mundell
+
+	* src/Congruence.inlines.hh (1.10): Update zero_dim_false so that
+	  the inhomogeneous term of zdf is positive.
+
+2006-05-24 Wednesday 15:48  Matthew Mundell
+
+	* src/Grid_Generator.defs.hh (1.20): Update list of Grid friend
+	  declaration dependencies.
+
+2006-05-24 Wednesday 15:47  Matthew Mundell
+
+	* tests/Grid/relations3.cc (1.2): Add tests to cover the rest of
+	  relation_with(c).
+
+2006-05-24 Wednesday 15:46  Matthew Mundell
+
+	* src/Grid_public.cc (1.25): Complete relation_with(c).
+
+2006-05-24 Wednesday 14:10  Matthew Mundell
+
+	* src/: Scalar_Products.cc (1.5), Scalar_Products.defs.hh (1.7),
+	  Scalar_Products.inlines.hh (1.4): Add to Scalar_Product assign(z,
+	  c, gg), sign(c, gg), homogeneous_assign(z, gg, c) and
+	  homogeneous_sign(gg, c).
+
+2006-05-24 Wednesday 14:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Scalar_Products.cc (altnum.1): file Scalar_Products.cc was
+	  added on branch altnum on 2006-10-29 19:27:15 +0000
+
+2006-05-24 Wednesday 14:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Scalar_Products.defs.hh (altnum.1): file
+	  Scalar_Products.defs.hh was added on branch altnum on 2006-10-29
+	  19:27:15 +0000
+
+2006-05-24 Wednesday 14:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Scalar_Products.inlines.hh (altnum.1): file
+	  Scalar_Products.inlines.hh was added on branch altnum on
+	  2006-10-29 19:27:15 +0000
+
+2006-05-24 Wednesday 13:22  quartieri
+
+	* src/Octagonal_Shape.templates.hh (octagons.46): Improved the
+	  readability of
+	  Octagonal_Shape<T>::generalized_affine_preimage().
+
+2006-05-24 Wednesday 12:06  quartieri
+
+	* src/Octagonal_Shape.templates.hh (octagons.45): Improved the
+	  readability of   Octagonal_Shape<T>::generalized_affine_image().
+
+2006-05-23 Tuesday 16:27  quartieri
+
+	* src/Octagonal_Shape.templates.hh (octagons.44): Improved the
+	  readability of   Octagonal_Shape<T>::affine_image().
+
+2006-05-23 Tuesday 14:07  Matthew Mundell
+
+	* src/Grid_chdims.cc (1.7): Update remove_higher_space_dimensions
+	  to also clear and resize the out-of-date system.
+
+2006-05-23 Tuesday 13:44  Matthew Mundell
+
+	* tests/Grid/removespacedims2.cc (1.10): Add test10 and test11
+	  which test removal via congruences.
+
+2006-05-23 Tuesday 13:38  Matthew Mundell
+
+	* src/Grid.defs.hh (1.20), src/Grid_Generator_System.cc (1.12),
+	  src/Grid_Generator_System.defs.hh (1.15), src/Grid_chdims.cc
+	  (1.6), tests/Grid/removespacedims1.cc (1.11): Correct
+	  print_generator and print_congruence messages.  Add system
+	  printing to some tests.
+
+2006-05-23 Tuesday 13:28  Matthew Mundell
+
+	* src/: Congruence_System.cc (1.16), Congruence_System.defs.hh
+	  (1.11): Add remove_higher_space_dimensions(new_dimension).
+
+2006-05-23 Tuesday 11:57  quartieri
+
+	* src/Octagonal_Shape.templates.hh (octagons.43): Corrected a wrong
+	  parameter in the exeption throw in
+	  Octagonal_Shape<T>::remove_space_dimensions() and in the affine
+	  images and preimages.
+
+2006-05-19 Friday 13:57  Matthew Mundell
+
+	* tests/Grid/: Makefile.am (1.36), relations3.cc (1.1): Add
+	  relations3, which tests Grid::relation_with(const Constraint&).
+
+2006-05-19 Friday 13:55  Matthew Mundell
+
+	* tests/Grid/: relations1.cc (1.12), relations2.cc (1.11): Correct
+	  indentation.	Improve a comment.
+
+2006-05-19 Friday 13:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/relations1.cc (altnum.1): file relations1.cc was added
+	  on branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-05-19 Friday 13:55  Matthew Mundell
+
+	* src/: Grid.defs.hh (1.19), Grid_public.cc (1.24): Add
+	  relation_with(const Constraint& c).
+
+2006-05-18 Thursday 19:34  Matthew Mundell
+
+	* src/: C_Polyhedron.defs.hh (1.42), Grid.defs.hh (1.18),
+	  NNC_Polyhedron.defs.hh (1.45), Polyhedron.defs.hh (1.297):
+	  Replace phrases like "will be recycled" with phrases like "may be
+	  recycled".
+
+2006-05-18 Thursday 16:53  Matthew Mundell
+
+	* tests/Grid/Makefile.am (1.35): Drop writecongruencesystem1.dat
+	  from MOSTLYCLEANFILES.
+
+2006-05-18 Thursday 15:30  Matthew Mundell
+
+	* tests/BD_Shape/: addconstraints1.cc (1.13), affineimage1.cc
+	  (1.14), affinepreimage1.cc (1.14), bdsdifference1.cc (1.10),
+	  bdshull1.cc (1.10), bhmz05widening1.cc (1.10),
+	  cc76extrapolation1.cc (1.14), cc76narrowing1.cc (1.14),
+	  contains1.cc (1.12), fromgensys1.cc (1.13),
+	  generalizedaffineimage2.cc (1.15), generalizedaffinepreimage3.cc
+	  (1.2), intersection1.cc (1.13), limitedbhmz05extrapolation1.cc
+	  (1.9), limitedcc76extrapolation1.cc (1.10), relations2.cc (1.18),
+	  relations3.cc (1.15), removespacedims1.cc (1.14), timeelapse1.cc
+	  (1.13): Correct return values in exception tests.  As a result
+	  convert the value of d in affineimage1 test15 to 0 and do away
+	  with addconstraints1 test04 and test05 and affineimage1 test16.
+
+2006-05-18 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/fromgensys1.cc (altnum.1): file fromgensys1.cc was
+	  added on branch altnum on 2006-10-29 19:27:22 +0000
+
+2006-05-18 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/generalizedaffinepreimage3.cc (simplex.1): file
+	  generalizedaffinepreimage3.cc was added on branch simplex on
+	  2006-09-06 18:41:54 +0000
+
+2006-05-18 Thursday 14:52  quartieri
+
+	* src/Octagonal_Shape.templates.hh (octagons.42): Improved the
+	  readability of   Octagonal_Shape(const Generator_System& gs)
+	  using type aliases.
+
+2006-05-18 Thursday 12:24  Matthew Mundell
+
+	* tests/Grid/: addcongruence1.cc (1.10), addcongruences1.cc (1.13),
+	  addconstraint1.cc (1.9), addconstraints1.cc (1.10),
+	  addgenerator1.cc (1.11), addgenerators1.cc (1.10),
+	  addspacedims1.cc (1.11), affineimage2.cc (1.7),
+	  affinepreimage2.cc (1.4), boundingbox1.cc (1.9), boundingbox2.cc
+	  (1.8), bounds1.cc (1.12), concatenate1.cc (1.11), congruence1.cc
+	  (1.13), contains1.cc (1.9), coveringbox1.cc (1.8), disjoint1.cc
+	  (1.8), expandspacedim1.cc (1.8), foldspacedims1.cc (1.8),
+	  generalizedaffineimage1.cc (1.9), generalizedaffinepreimage1.cc
+	  (1.10), generalizedaffinepreimage2.cc (1.10), generator1.cc
+	  (1.16), grid1.cc (1.14), grid3.cc (1.16), griddifference1.cc
+	  (1.9), intersection1.cc (1.8), join1.cc (1.12), join2.cc (1.7),
+	  limitedextrapolation1.cc (1.9), limitedextrapolation2.cc (1.3),
+	  limitedextrapolation3.cc (1.2), relations1.cc (1.11),
+	  relations2.cc (1.10), removespacedims1.cc (1.10),
+	  removespacedims2.cc (1.9), timeelapse1.cc (1.8), widening1.cc
+	  (1.11), widening2.cc (1.4), widening3.cc (1.2): Correct return
+	  values in exception tests.
+
+2006-05-18 Thursday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/addconstraint1.cc (altnum.1): file addconstraint1.cc
+	  was added on branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-05-18 Thursday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/addconstraints1.cc (altnum.1): file addconstraints1.cc
+	  was added on branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-05-18 Thursday 12:19  Matthew Mundell
+
+	* tests/Grid/Makefile.am (1.34): Add many ascii_dump_load*.dat
+	  files to MOSTLYCLEANFILES.
+
+2006-05-18 Thursday 11:53  Matthew Mundell
+
+	* tests/Grid/: grid1.cc (1.13), grid2.cc (1.11), grid3.cc (1.15):
+	  From grid3 move generator tests into grid1 and congruence tests
+	  into grid2.
+
+2006-05-18 Thursday 11:16  Matthew Mundell
+
+	* tests/Grid/generator1.cc (1.15): Add test22 which tries to get
+	  the divisor of a line.
+
+2006-05-18 Thursday 11:07  Matthew Mundell
+
+	* tests/Grid/asciidumpload1.cc (1.10): Add Grid_Status ascii_load
+	  tests.
+
+2006-05-17 Wednesday 21:39  Matthew Mundell
+
+	* tests/Grid/: Makefile.am (1.33), asciidumpload5.cc (1.1),
+	  asciidumpload6.cc (1.1): Add asciidumpload5 and asciidumpload6
+	  which test Congruence and Congruence_System.
+
+2006-05-17 Wednesday 21:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/asciidumpload5.cc (altnum.1): file asciidumpload5.cc
+	  was added on branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-05-17 Wednesday 21:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/asciidumpload5.cc (octagons.1): file asciidumpload5.cc
+	  was added on branch octagons on 2006-11-18 20:36:56 +0000
+
+2006-05-17 Wednesday 21:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/asciidumpload5.cc (simplex.1): file asciidumpload5.cc
+	  was added on branch simplex on 2006-09-06 18:41:54 +0000
+
+2006-05-17 Wednesday 21:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/asciidumpload6.cc (altnum.1): file asciidumpload6.cc
+	  was added on branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-05-17 Wednesday 21:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/asciidumpload6.cc (octagons.1): file asciidumpload6.cc
+	  was added on branch octagons on 2006-11-18 20:36:56 +0000
+
+2006-05-17 Wednesday 21:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/asciidumpload6.cc (simplex.1): file asciidumpload6.cc
+	  was added on branch simplex on 2006-09-06 18:41:54 +0000
+
+2006-05-17 Wednesday 21:38  Matthew Mundell
+
+	* tests/Grid/: asciidumpload1.cc (1.9), asciidumpload3.cc (1.2),
+	  asciidumpload4.cc (1.2): Add tests of ascii_load failure.
+
+2006-05-17 Wednesday 21:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/asciidumpload3.cc (simplex.1): file asciidumpload3.cc
+	  was added on branch simplex on 2006-09-06 18:41:54 +0000
+
+2006-05-17 Wednesday 21:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/asciidumpload4.cc (simplex.1): file asciidumpload4.cc
+	  was added on branch simplex on 2006-09-06 18:41:54 +0000
+
+2006-05-17 Wednesday 21:36  Matthew Mundell
+
+	* src/Congruence_System.cc (1.15): Update ascii_load to return
+	  false if a congruence load fails.
+
+2006-05-17 Wednesday 16:37  quartieri
+
+	* src/Octagonal_Shape.templates.hh (octagons.41): Improved the
+	  readability of   Octagonal_Shape<T>::get_limiting_octagon().
+
+2006-05-17 Wednesday 15:09  quartieri
+
+	* src/Octagonal_Shape.templates.hh (octagons.40): Improved the
+	  readability of   Poly_Gen_Relation
+	  Octagonal_Shape<T>::relation_with().
+
+2006-05-17 Wednesday 14:40  Matthew Mundell
+
+	* tests/Grid/asciidumpload2.cc (1.3): Add zero dimension tests
+	  test15 and test16.
+
+2006-05-17 Wednesday 14:39  Matthew Mundell
+
+	* tests/Grid/addgenerators1.cc (1.9): Add test13 which adds to a
+	  zero dim universe.  Correct returns in exception tests.
+
+2006-05-17 Wednesday 14:37  Matthew Mundell
+
+	* src/: Grid.defs.hh (1.17), Grid_public.cc (1.23): Add an
+	  assertion that the given system has points in the zero dim case
+	  of add_recycled_generators.  Convert the exception in the zero
+	  dim case of add_recycled_generators_and_minimize to an assertion.
+
+2006-05-17 Wednesday 13:45  quartieri
+
+	* src/Octagonal_Shape.templates.hh (octagons.39): Changed the name
+	  of an index in       Octagonal_Shape<T>::add_constraint().
+	  Improved the readability of	   Poly_Con_Relation
+	  Octagonal_Shape<T>::relation_with().
+
+2006-05-17 Wednesday 13:12  Matthew Mundell
+
+	* tests/Grid/: Makefile.am (1.32), generators2.cc (1.1),
+	  outputoperator3.cc (1.1): Add outputoperator3 which tests
+	  Grid_Generator_System IO operators.  Add generators2 which tests
+	  class Grid_Generator_System.
+
+2006-05-17 Wednesday 13:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/generators2.cc (altnum.1): file generators2.cc was
+	  added on branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-05-17 Wednesday 13:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/generators2.cc (octagons.1): file generators2.cc was
+	  added on branch octagons on 2006-11-18 20:36:56 +0000
+
+2006-05-17 Wednesday 13:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/generators2.cc (simplex.1): file generators2.cc was
+	  added on branch simplex on 2006-09-06 18:41:55 +0000
+
+2006-05-17 Wednesday 13:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/outputoperator3.cc (altnum.1): file outputoperator3.cc
+	  was added on branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-05-17 Wednesday 13:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/outputoperator3.cc (octagons.1): file
+	  outputoperator3.cc was added on branch octagons on 2006-11-18
+	  20:36:57 +0000
+
+2006-05-17 Wednesday 13:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/outputoperator3.cc (simplex.1): file
+	  outputoperator3.cc was added on branch simplex on 2006-09-06
+	  18:41:55 +0000
+
+2006-05-17 Wednesday 13:09  Matthew Mundell
+
+	* src/: Grid_Generator_System.cc (1.11),
+	  Grid_Generator_System.defs.hh (1.14): Convert the exceptions in
+	  remove_space_dimensions and remove_higher_space_dimensions into
+	  assertions.
+
+2006-05-17 Wednesday 12:07  quartieri
+
+	* src/Octagonal_Shape.templates.hh (octagons.38): Improved the
+	  readability of   Octagonal_Shape<T>::add_constraint().
+
+2006-05-17 Wednesday 11:02  quartieri
+
+	* src/Octagonal_Shape.inlines.hh (octagons.9): Moved
+	  Octagonal_Shape<T>::is_empty() to the right place.  Corrected
+	  some wrong comments in the distances' code.
+
+2006-05-16 Tuesday 22:43  Matthew Mundell
+
+	* tests/Grid/: Makefile.am (1.31), outputoperator2.cc (1.1): Add
+	  outputoperator2, to test Grid_Generator IO operators.
+
+2006-05-16 Tuesday 22:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/outputoperator2.cc (altnum.1): file outputoperator2.cc
+	  was added on branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-05-16 Tuesday 22:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/outputoperator2.cc (octagons.1): file
+	  outputoperator2.cc was added on branch octagons on 2006-11-18
+	  20:36:57 +0000
+
+2006-05-16 Tuesday 22:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/outputoperator2.cc (simplex.1): file
+	  outputoperator2.cc was added on branch simplex on 2006-09-06
+	  18:41:55 +0000
+
+2006-05-16 Tuesday 22:38  Matthew Mundell
+
+	* tests/Grid/generator1.cc (1.14): Add test20 to test type() and
+	  test21 to test scale_to_divisor().
+
+2006-05-16 Tuesday 22:37  Matthew Mundell
+
+	* src/Grid_Generator.cc (1.12): Update set_is_parameter to convert
+	  the generator from a point only when it is a point.
+
+2006-05-16 Tuesday 22:35  Matthew Mundell
+
+	* src/Grid_Generator.defs.hh (1.19): Improve coefficient_swap
+	  description slightly.
+
+2006-05-16 Tuesday 15:54  Matthew Mundell
+
+	* tests/Grid/addcongruences1.cc (1.12): Correct comment in test15.
+
+2006-05-16 Tuesday 15:48  Matthew Mundell
+
+	* tests/Grid/: Makefile.am (1.30), asciidumpload3.cc (1.1),
+	  asciidumpload4.cc (1.1): Add asciidumpload3 and asciidumpload4
+	  for Congruence and Congruence_System.
+
+2006-05-16 Tuesday 15:46  Matthew Mundell
+
+	* tests/Grid/congruences1.cc (1.9): Turn off test09 and test18, as
+	  Congruence_System::concatenate is now private.
+
+2006-05-16 Tuesday 15:44  Matthew Mundell
+
+	* tests/Grid/congruence1.cc (1.12): Move test15 to addcongruence1
+	  (test05).  Add exception tests test15 and test16.
+
+2006-05-16 Tuesday 15:40  Matthew Mundell
+
+	* tests/Grid/addcongruences1.cc (1.11): Add test15 which minimizes
+	  a grid with minimized congruences and up to date generators.
+	  Correct return values in exception tests.
+
+2006-05-16 Tuesday 15:38  Matthew Mundell
+
+	* tests/Grid/addcongruence1.cc (1.9): Add space dimension test
+	  test05.
+
+2006-05-16 Tuesday 15:37  Matthew Mundell
+
+	* src/Grid_nonpublic.cc (1.13): Add a comment in the max_min
+	  method.
+
+2006-05-16 Tuesday 15:36  Matthew Mundell
+
+	* src/: Congruence_System.cc (1.14), Congruence_System.defs.hh
+	  (1.10): Move concatenate(cgs) into the private section, adding
+	  the requirement that cgs must contain rows.
+
+2006-05-16 Tuesday 12:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Og_Status.idefs.hh (octagons.4): Avoid useless white space.
+
+2006-05-16 Tuesday 12:20  quartieri
+
+	* src/Og_Status.idefs.hh (octagons.3): Indentation fixed.
+
+2006-05-16 Tuesday 12:19  quartieri
+
+	* src/Octagonal_Shape.inlines.hh (octagons.8): Moved some methods
+	  in the right place.
+
+2006-05-16 Tuesday 12:16  quartieri
+
+	* src/Octagonal_Shape.defs.hh (octagons.14): Corrected a wrong
+	  comment.
+
+2006-05-15 Monday 19:54  Matthew Mundell
+
+	* src/: Congruence.cc (1.9), Congruence.defs.hh (1.11),
+	  Congruence.inlines.hh (1.9): Convert Congruence(le,m,capacity) to
+	  Congruence(le,m), adding the requirement that m >= 0.
+
+2006-05-15 Monday 14:07  Matthew Mundell
+
+	* tests/Grid/grid3.cc (1.14): Add test22 and test23 which construct
+	  grids from constant zero dimension contraint systems.
+
+2006-05-15 Monday 14:06  Matthew Mundell
+
+	* tests/Grid/asciidumpload2.cc (1.2): Add test14 where the grid has
+	  a virtual generator.
+
+2006-05-15 Monday 14:05  Matthew Mundell
+
+	* tests/print.hh (1.35): Take out macro dump_grids.
+
+2006-05-15 Monday 14:05  Matthew Mundell
+
+	* src/Grid_public.cc (1.22): Update add_recycled_generators(gs) to
+	  assume that zero-dimension generator systems that contain
+	  generators always contain a point.
+
+2006-05-15 Monday 12:18  quartieri
+
+	* src/Octagonal_Shape.templates.hh (octagons.37): Renamed the
+	  iterator on the constraints system to avoid a shadowing problem
+	  in	    Octagonal_Shape<T>::get_limiting_octagon().
+
+2006-05-12 Friday 19:55  Matthew Mundell
+
+	* tests/Grid/grid3.cc (1.13): Add test20 and test21, which test
+	  adding zero dimension systems.
+
+2006-05-12 Friday 19:55  Matthew Mundell
+
+	* src/Grid_public.cc (1.21): Update Grid(cs) and Grid(ccs) to set
+	  the space dimension.	Rename ccs to cs in Grid(cs).
+
+2006-05-12 Friday 19:55  Matthew Mundell
+
+	* src/Grid_nonpublic.cc (1.12): Update construct(ccgs) to use the
+	  given system when the space dimension is zero.
+
+2006-05-12 Friday 16:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Direct_Product.defs.hh (1.1), Direct_Product.inlines.hh
+	  (1.1), Direct_Product.types.hh (1.1), Makefile.am (1.153):
+	  Started an implementation of the direct product construction for
+	  the "semantic" domains.
+
+2006-05-12 Friday 15:58  Matthew Mundell
+
+	* src/Grid_nonpublic.cc (1.11): Convert the runtime exception in
+	  normalize_divisors(gs,gs) to an assertion.
+
+2006-05-12 Friday 15:56  Matthew Mundell
+
+	* src/Grid.defs.hh (1.16): Correct parameter indentation.
+
+2006-05-12 Friday 15:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid.inlines.hh (1.6): Avoid any kind of using declaration in
+	  header files.
+
+2006-05-12 Friday 14:37  Matthew Mundell
+
+	* tests/Grid/addgenerators1.cc (1.8): Correct the print_generators
+	  message in test11.  Add test12 to test the point-finding loop in
+	  Grid::normalize_divisors(gs,gs).
+
+2006-05-12 Friday 12:03  Matthew Mundell
+
+	* src/Grid.templates.hh (1.9): Improve comments in bounding box
+	  methods.
+
+2006-05-11 Thursday 17:52  Matthew Mundell
+
+	* tests/Polyhedron/addgenerators1.cc (1.10): Correct indentation.
+
+2006-05-11 Thursday 17:52  Matthew Mundell
+
+	* tests/Grid/removespacedims2.cc (1.8): Turn off test05 and test06
+	  (remove_higher_space_dimensions is now private).
+
+2006-05-11 Thursday 17:51  Matthew Mundell
+
+	* tests/Grid/addgenerators1.cc (1.7): Correct indenting.  Turn off
+	  test05 and test06.  Add test11 to test zero_dim_univ().
+
+2006-05-11 Thursday 17:49  Matthew Mundell
+
+	* src/: Grid_Generator_System.defs.hh (1.13),
+	  Grid_Generator_System.inlines.hh (1.10): Add destructor,
+	  assignment operator and method zero_dim_univ.  Order declarations
+	  and inline definitions as in Generator.  Move [] operators,
+	  affine_image, add_universe_rows_and_columns,
+	  remove_space_dimensions and remove_higher_space_dimensions to the
+	  private section.
+
+2006-05-11 Thursday 17:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Generator_System.inlines.hh (altnum.1): file
+	  Grid_Generator_System.inlines.hh was added on branch altnum on
+	  2006-10-29 19:27:13 +0000
+
+2006-05-11 Thursday 14:57  Matthew Mundell
+
+	* src/Grid_simplify.cc (1.24): Rework the post-reduction part of
+	  simplify(cgs) to better handle the case when the given system is
+	  empty or all zeroes, and to save the check on reduced_num_rows in
+	  the zero row clipping block.
+
+2006-05-11 Thursday 13:44  Matthew Mundell
+
+	* src/Grid_simplify.cc (1.23): Add const to some variable types.
+
+2006-05-11 Thursday 12:32  Matthew Mundell
+
+	* tests/Grid/generator1.cc (1.13): Convert the type of the
+	  dimension variable in test17 from int to dimension_type.
+
+2006-05-11 Thursday 12:26  Matthew Mundell
+
+	* src/: Congruence.cc (1.8), Congruence.defs.hh (1.10),
+	  Constraint.cc (1.59), Constraint.defs.hh (1.120), Generator.cc
+	  (1.70), Generator.defs.hh (1.118), Grid_Generator.cc (1.11),
+	  Grid_Generator.defs.hh (1.18), Grid_widenings.cc (1.8),
+	  Linear_Expression.cc (1.11): Convert the types of dimension
+	  variable from int to dimension_type in class documentation
+	  examples, "<<" operators and Grid::select_wider_generators.
+
+2006-05-10 Wednesday 19:31  Matthew Mundell
+
+	* src/Grid_simplify.cc (1.22): Convert variable pivot_dim in
+	  reduce_reduced to a reference.
+
+2006-05-10 Wednesday 19:14  Matthew Mundell
+
+	* src/Grid_public.cc (1.20): Move temporary sp out of the loop in
+	  method relation_with.  In generalized_affine_image/3 and
+	  generalized_affine_preimage/3 move the modulus negation check
+	  into the creation of the congruence to save the use of a
+	  temporary.
+
+2006-05-10 Wednesday 18:27  Matthew Mundell
+
+	* src/Grid_conversion.cc (1.12): In both conversion methods move
+	  temp integers out of loops and convert `source_dim' temp integers
+	  to references.
+
+2006-05-10 Wednesday 18:04  Matthew Mundell
+
+	* src/Grid.templates.hh (1.8): In get_covering_box replace the use
+	  of l_n and l_d with the use of `temp' and convert temp integer
+	  `divisor' into a reference.
+
+2006-05-10 Wednesday 17:19  Matthew Mundell
+
+	* tests/Grid/generator1.cc (1.12): Correct indentation in test17.
+
+2006-05-10 Wednesday 17:19  Matthew Mundell
+
+	* src/: Congruence_System.cc (1.13), Congruence_System.defs.hh
+	  (1.9), Congruence_System.inlines.hh (1.5),
+	  Grid_Generator_System.cc (1.10), Grid_Generator_System.defs.hh
+	  (1.12), Grid_Generator_System.inlines.hh (1.9),
+	  Grid_conversion.cc (1.11), Grid_simplify.cc (1.21): Update grid
+	  row and column counter variable names to *num_rows and
+	  *num_columns.
+
+2006-05-10 Wednesday 16:21  quartieri
+
+	* src/Octagonal_Shape.templates.hh (octagons.36): Improved the
+	  readability of the method
+	  Octagonal_Shape<T>::map_space_dimensions().
+
+2006-05-10 Wednesday 15:41  Matthew Mundell
+
+	* src/Congruence_System.cc (1.12): Add const to a few variable
+	  declarations.  In normalize_moduli convert the `modulus'
+	  variables to references and move temp integer `factor' out of the
+	  for loop.
+
+2006-05-10 Wednesday 15:21  quartieri
+
+	* src/Octagonal_Shape.templates.hh (octagons.35): Indented
+	  correctly a comment.
+
+2006-05-10 Wednesday 14:33  Elena Mazzi
+
+	* src/BD_Shape.templates.hh (1.14): Renamed iterators in
+	  BD_Shape::get_limiting_shape() so as to avoid misleading name
+	  clash with space dimension indices Corrected a couple of typos in
+	  the (optional) output produced by OK() when invarinats are
+	  violated.
+
+2006-05-10 Wednesday 14:22  quartieri
+
+	* src/Octagonal_Shape.templates.hh (octagons.34): Corrected some
+	  comments in	 Octagonal_Shape<T>::generalized_affine_image().
+	  Added the definition for	 Octagonal_Shape<T>
+	  ::generalized_affine_preimage(const Linear_Expression& lhs,
+						      const Relation_Symbol
+	  relsym,					    const
+	  Linear_Expression& rhs).
+
+2006-05-10 Wednesday 14:19  quartieri
+
+	* src/Octagonal_Shape.defs.hh (octagons.13): Added the declaration
+	  for		 void generalized_affine_preimage(const
+	  Linear_Expression& lhs,
+	  const Relation_Symbol relsym,
+		const Linear_Expression& rhs).
+
+2006-05-10 Wednesday 14:18  Matthew Mundell
+
+	* src/Grid_widenings.cc (1.7): Correct parameter indentation.  Add
+	  const to some variable declarations.
+
+2006-05-10 Wednesday 13:57  Matthew Mundell
+
+	* src/Grid_simplify.cc (1.20): Move temp integers out of the loop
+	  in reduce_reduced.
+
+2006-05-10 Wednesday 13:29  Matthew Mundell
+
+	* src/Grid_simplify.cc (1.19): Replace semicolons in tracing
+	  statements.
+
+2006-05-10 Wednesday 13:08  Elena Mazzi
+
+	* src/BD_Shape.templates.hh (1.13): Avoid almost useless uses of
+	  reference DB_Row (prefer the direct dbm accessors' operators if a
+	  single access to the row has to be done).
+
+2006-05-10 Wednesday 13:00  Matthew Mundell
+
+	* src/Grid_public.cc (1.19): Update relation_with(cg) to use a
+	  reference instead of a temporary integer for variable `modulus'.
+
+2006-05-10 Wednesday 12:22  Matthew Mundell
+
+	* src/Congruence.defs.hh (1.9): Convert use of namespace alias PPL
+	  to use of full name.
+
+2006-05-10 Wednesday 11:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu-ia32.inlines.hh (1.13): Avoid compiler warnings.
+
+2006-05-10 Wednesday 11:29  Elena Mazzi
+
+	* tests/BD_Shape/: Makefile.am (1.45),
+	  generalizedaffinepreimage2.cc (1.13),
+	  generalizedaffinepreimage3.cc (1.1): Added some tests for
+	  generalized_affine_preimage(const Linear_Expression& lhs,
+			     Relation_Symbol relsym,
+	  const Linear_Expression& rhs).
+
+2006-05-10 Wednesday 11:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/generalizedaffinepreimage2.cc (altnum.1): file
+	  generalizedaffinepreimage2.cc was added on branch altnum on
+	  2006-10-29 19:27:22 +0000
+
+2006-05-10 Wednesday 11:27  Elena Mazzi
+
+	* src/: BD_Shape.defs.hh (1.71), BD_Shape.templates.hh (1.12):
+	  Defined a new method: BD_Shape::generalized_affine_preimage(const
+	  Linear_Expression& lhs,
+	  Relation_Symbol relsym,				  const
+	  Linear_Expression& rhs).
+
+2006-05-10 Wednesday 11:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Congruence.cc (1.7), Float.inlines.hh (1.28),
+	  Grid_simplify.cc (1.18), checked.cc (1.18),
+	  checked_int.inlines.hh (1.52): Prefer predecrement and
+	  preincrement to postdecrement and postincrement.
+
+2006-05-10 Wednesday 11:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked.cc (altnum.1): file checked.cc was added on branch
+	  altnum on 2006-10-29 19:27:15 +0000
+
+2006-05-10 Wednesday 11:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_ext.inlines.hh (1.31): Spurious goto removed.
+
+2006-05-10 Wednesday 09:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_conversion.cc (1.10): Compiler warning avoided.
+
+2006-05-10 Wednesday 08:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Bounding_Box.defs.hh (1.14), LP_Problem.defs.hh (1.9),
+	  LP_Problem.inlines.hh (1.9): Header file inclusions adjusted.
+
+2006-05-09 Tuesday 21:17  Matthew Mundell
+
+	* src/: Grid.defs.hh (1.15), Grid.inlines.hh (1.5),
+	  Grid_nonpublic.cc (1.10): Improve the descriptions of the
+	  normalize_divisors functions.  Add normalize_divisors(sys).
+	  Replace the second parameter of normalize_divisors(sys,divisor,f)
+	  with a writable reference and move the temporary in this method
+	  into the callers of the method.
+
+2006-05-09 Tuesday 17:04  Matthew Mundell
+
+	* src/Grid_chdims.cc (1.5): Rename variable `tem' in
+	  add_space_dimensions(cgs,gs,d) to `old_modulus_index'.
+
+2006-05-09 Tuesday 16:47  Matthew Mundell
+
+	* src/Grid_Generator_System.cc (1.9): Rename all row and column
+	  count variables to `num_rows' and `num_cols'.
+
+2006-05-09 Tuesday 16:44  Matthew Mundell
+
+	* src/Grid.templates.hh (1.7): In shrink_bounding_box replace the
+	  temporary `divisor' with a coefficient reference and the two
+	  temporaries `gcd' and `reduced_divisor' with a single temporary.
+
+2006-05-09 Tuesday 14:31  Matthew Mundell
+
+	* src/Grid_simplify.cc (1.17): In reduce_pc_with_pc rename
+	  pivot_col to old_pivot_col and convert multiple array accesses to
+	  use references.
+
+2006-05-09 Tuesday 13:16  Matthew Mundell
+
+	* src/: Grid_conversion.cc (1.9), Grid_simplify.cc (1.16): Replace
+	  "red_" variable name prefixes with "reduced_".
+
+2006-05-09 Tuesday 12:25  Matthew Mundell
+
+	* tests/Grid/generator1.cc (1.11): Add tests of copy constructor
+	  and zero_dim_point().
+
+2006-05-09 Tuesday 12:24  Matthew Mundell
+
+	* src/: Grid_Generator.defs.hh (1.17), Grid_Generator.inlines.hh
+	  (1.11): Add copy constructor, destructor, max_space_dimension()
+	  and zero_dim_point().  Order declarations as in Generator.
+
+2006-05-09 Tuesday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Generator.inlines.hh (altnum.1): file
+	  Grid_Generator.inlines.hh was added on branch altnum on
+	  2006-10-29 19:27:13 +0000
+
+2006-05-09 Tuesday 10:32  Matthew Mundell
+
+	* src/: Grid_conversion.cc (1.8), Grid_simplify.cc (1.15): Replace
+	  statements using addition/subtraction and multiplication
+	  operators with calls to sub_mul_assign and add_mul_assign.
+
+2006-05-09 Tuesday 10:25  Matthew Mundell
+
+	* src/: Grid_Generator.cc (1.10), Grid_Generator.inlines.hh (1.10),
+	  Grid_Generator_System.cc (1.8): Tailor the Grid_Generator
+	  ascii_dump and ascii_load methods for grids.	Use these methods
+	  in Grid_Generator_System ascii_dump and ascii_load.
+
+2006-05-09 Tuesday 01:22  Andrea Cimino
+
+	* tests/Polyhedron/Makefile.am (simplex.6): Re-enabled lpproblem2.
+
+2006-05-09 Tuesday 01:13  Andrea Cimino
+
+	* tests/Polyhedron/: LP_Problem1.cc, LP_Problem2.cc, lpproblem2.cc
+	  (simplex.[6,3,4]): Fixed the tests: removed the old stuff and
+	  added lpproblem2, (probably) lost during the last merge.
+
+2006-05-08 Monday 19:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* BUGS, ChangeLog, Makefile.am, NEWS, README, README.configure,
+	  STANDARDS, TODO, config.guess, config.sub, configure.ac,
+	  instchk.hh, ppl.lsm.in, ppl.spec.in, Watchdog/CREDITS,
+	  Watchdog/ChangeLog, Watchdog/Makefile.am, Watchdog/NEWS,
+	  Watchdog/README, Watchdog/config.guess, Watchdog/config.sub,
+	  Watchdog/src/.cvsignore, Watchdog/src/Makefile.am,
+	  Watchdog/src/Watchdog.cc, Watchdog/utils/.cvsignore,
+	  Watchdog/utils/Makefile.am, debian/.cvsignore,
+	  debian/Makefile.am, debian/README, debian/changelog,
+	  debian/control, debian/libppl-dev.install,
+	  debian/libppl-gprolog.links, debian/libppl-pwl.copyright.in,
+	  debian/libppl-pwl.install, debian/libppl-sicstus.links,
+	  debian/libppl-swi.links, debian/libppl-yap.links,
+	  debian/libppl.copyright.in, debian/libppl.dirs,
+	  debian/libppl.install, debian/rules, demos/Makefile.am,
+	  demos/ppl_lcdd/Makefile.am, demos/ppl_lcdd/ppl_lcdd.cc,
+	  demos/ppl_lcdd/examples/Makefile.am, demos/ppl_lpsol/Makefile.am,
+	  demos/ppl_lpsol/expected_int16, demos/ppl_lpsol/expected_int16_a,
+	  demos/ppl_lpsol/expected_int32, demos/ppl_lpsol/expected_int32_a,
+	  demos/ppl_lpsol/expected_int64, demos/ppl_lpsol/expected_int64_a,
+	  demos/ppl_lpsol/expected_int8, demos/ppl_lpsol/expected_int8_a,
+	  demos/ppl_lpsol/expected_mpz, demos/ppl_lpsol/expected_mpz_a,
+	  demos/ppl_lpsol/examples/Makefile.am, doc/.cvsignore,
+	  doc/Makefile.am, doc/README.doc, doc/definitions.dox,
+	  doc/devref.doxyconf-html.in, doc/devref.doxyconf-latex.in,
+	  doc/devref.tex, doc/ppl-config.1, doc/ppl.sty, doc/ppl_lcdd.1,
+	  doc/ppl_lpsol.1, doc/user.doxyconf-html.in,
+	  doc/user.doxyconf-latex.in, doc/user.tex, interfaces/Makefile.am,
+	  interfaces/C/Makefile.am, interfaces/C/ppl_c.cc,
+	  interfaces/C/ppl_c.h.in, interfaces/OCaml/Makefile.am,
+	  interfaces/Prolog/Makefile.am,
+	  interfaces/Prolog/Prolog_interface.dox,
+	  interfaces/Prolog/ppl_prolog.icc,
+	  interfaces/Prolog/Ciao/Makefile.am,
+	  interfaces/Prolog/Ciao/ciao_clpq.pl,
+	  interfaces/Prolog/Ciao/ciao_clpq2.pl,
+	  interfaces/Prolog/Ciao/ciao_pl_check.pl,
+	  interfaces/Prolog/Ciao/ppl_ciao.cc,
+	  interfaces/Prolog/Ciao/ppl_ciao.pl,
+	  interfaces/Prolog/GNU/Makefile.am, interfaces/Prolog/GNU/README,
+	  interfaces/Prolog/GNU/gnu_pl_check.pl,
+	  interfaces/Prolog/GNU/ppl_gprolog.pl,
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc,
+	  interfaces/Prolog/SICStus/.cvsignore,
+	  interfaces/Prolog/SICStus/Makefile.am,
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
+	  interfaces/Prolog/SICStus/sp_pl_check.pl,
+	  interfaces/Prolog/SWI/Makefile.am,
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
+	  interfaces/Prolog/SWI/swi_pl_check.pl,
+	  interfaces/Prolog/XSB/Makefile.am,
+	  interfaces/Prolog/XSB/expected_pchk_int16,
+	  interfaces/Prolog/XSB/expected_pchk_int16_a,
+	  interfaces/Prolog/XSB/expected_pchk_int32,
+	  interfaces/Prolog/XSB/expected_pchk_int32_a,
+	  interfaces/Prolog/XSB/expected_pchk_int64_a,
+	  interfaces/Prolog/XSB/expected_pchk_int8,
+	  interfaces/Prolog/XSB/expected_pchk_int8_a,
+	  interfaces/Prolog/XSB/ppl_xsb.H,
+	  interfaces/Prolog/XSB/ppl_xsb.cc,
+	  interfaces/Prolog/XSB/xsb_clpq.P,
+	  interfaces/Prolog/XSB/xsb_clpq2.P,
+	  interfaces/Prolog/XSB/xsb_pl_check.P,
+	  interfaces/Prolog/YAP/Makefile.am,
+	  interfaces/Prolog/YAP/ppl_yap.cc,
+	  interfaces/Prolog/YAP/yap_pl_check.pl,
+	  interfaces/Prolog/tests/Makefile.am,
+	  interfaces/Prolog/tests/clpq.pl,
+	  interfaces/Prolog/tests/clpq2.pl,
+	  interfaces/Prolog/tests/expected_pchk_int16,
+	  interfaces/Prolog/tests/expected_pchk_int16_a,
+	  interfaces/Prolog/tests/expected_pchk_int32,
+	  interfaces/Prolog/tests/expected_pchk_int32_a,
+	  interfaces/Prolog/tests/expected_pchk_int64_a,
+	  interfaces/Prolog/tests/expected_pchk_int8,
+	  interfaces/Prolog/tests/expected_pchk_int8_a,
+	  interfaces/Prolog/tests/pl_check.pl, m4/Makefile.am,
+	  m4/ac_check_fpu_control.m4, m4/ac_check_swi_prolog.m4,
+	  m4/ac_cxx_double_binary_format.m4,
+	  m4/ac_cxx_double_is_iec_559.m4, m4/ac_cxx_float_binary_format.m4,
+	  m4/ac_cxx_float_is_iec_559.m4, m4/ac_cxx_long_double.m4,
+	  m4/ac_cxx_long_double_binary_format.m4,
+	  m4/ac_cxx_long_double_is_iec_559.m4, m4/ac_cxx_long_long.m4,
+	  m4/ac_text_md5sum.m4, m4/ppl.m4, src/.cvsignore,
+	  src/BDS_Status.idefs.hh, src/BDS_Status.inlines.hh,
+	  src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
+	  src/BD_Shape.templates.hh, src/BHRZ03_Certificate.defs.hh,
+	  src/Bounding_Box.defs.hh, src/C_Polyhedron.cc,
+	  src/C_Polyhedron.defs.hh, src/C_Polyhedron.inlines.hh,
+	  src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
+	  src/Coefficient.types.hh, src/Coefficient_traits_template.hh,
+	  src/Congruence.cc, src/Congruence.defs.hh,
+	  src/Congruence.inlines.hh, src/Congruence.types.hh,
+	  src/Congruence_System.cc, src/Congruence_System.defs.hh,
+	  src/Congruence_System.inlines.hh, src/Congruence_System.types.hh,
+	  src/Constraint.cc, src/Constraint.defs.hh,
+	  src/Constraint.inlines.hh, src/Constraint_System.cc,
+	  src/Constraint_System.defs.hh, src/DB_Matrix.defs.hh,
+	  src/DB_Matrix.inlines.hh, src/DB_Matrix.templates.hh,
+	  src/DB_Row.defs.hh, src/DB_Row.inlines.hh,
+	  src/DB_Row.templates.hh, src/Determinate.defs.hh,
+	  src/Determinate.inlines.hh, src/Float.cc, src/Float.defs.hh,
+	  src/Float.inlines.hh, src/GMP_Integer.defs.hh,
+	  src/GMP_Integer.inlines.hh, src/GMP_Integer.types.hh,
+	  src/Generator.cc, src/Generator.defs.hh,
+	  src/Generator.inlines.hh, src/Generator_System.cc,
+	  src/Generator_System.defs.hh, src/Grid.defs.hh,
+	  src/Grid.inlines.hh, src/Grid.templates.hh, src/Grid.types.hh,
+	  src/Grid_Certificate.cc, src/Grid_Certificate.defs.hh,
+	  src/Grid_Certificate.inlines.hh, src/Grid_Certificate.types.hh,
+	  src/Grid_Generator.cc, src/Grid_Generator.defs.hh,
+	  src/Grid_Generator.inlines.hh, src/Grid_Generator.types.hh,
+	  src/Grid_Generator_System.cc, src/Grid_Generator_System.defs.hh,
+	  src/Grid_Generator_System.inlines.hh,
+	  src/Grid_Generator_System.types.hh, src/Grid_Status.cc,
+	  src/Grid_Status.idefs.hh, src/Grid_Status.inlines.hh,
+	  src/Grid_chdims.cc, src/Grid_conversion.cc,
+	  src/Grid_nonpublic.cc, src/Grid_public.cc, src/Grid_simplify.cc,
+	  src/Grid_widenings.cc, src/H79_Certificate.defs.hh,
+	  src/H79_Certificate.inlines.hh, src/Init.cc, src/Init.defs.hh,
+	  src/Interval.defs.hh, src/LP_Problem.cc, src/LP_Problem.types.hh,
+	  src/Linear_Expression.cc, src/Linear_Expression.defs.hh,
+	  src/Linear_Expression.inlines.hh, src/Linear_Row.cc,
+	  src/Linear_Row.defs.hh, src/Linear_Row.inlines.hh,
+	  src/Linear_System.cc, src/Linear_System.defs.hh, src/Makefile.am,
+	  src/Matrix.cc, src/Matrix.defs.hh, src/Matrix.inlines.hh,
+	  src/NNC_Polyhedron.cc, src/NNC_Polyhedron.defs.hh,
+	  src/NNC_Polyhedron.inlines.hh, src/Ph_Status.cc,
+	  src/Ph_Status.idefs.hh, src/Poly_Con_Relation.cc,
+	  src/Poly_Con_Relation.defs.hh, src/Poly_Gen_Relation.cc,
+	  src/Poly_Gen_Relation.defs.hh, src/Polyhedra_Powerset.defs.hh,
+	  src/Polyhedra_Powerset.inlines.hh,
+	  src/Polyhedra_Powerset.templates.hh, src/Polyhedron.defs.hh,
+	  src/Polyhedron.inlines.hh, src/Polyhedron.templates.hh,
+	  src/Polyhedron_chdims.cc, src/Polyhedron_nonpublic.cc,
+	  src/Polyhedron_public.cc, src/Powerset.defs.hh,
+	  src/Powerset.inlines.hh, src/Powerset.templates.hh,
+	  src/Powerset.types.hh, src/Ptr_Iterator.defs.hh,
+	  src/Ptr_Iterator.inlines.hh, src/Result.defs.hh,
+	  src/Rounding_Dir.defs.hh, src/Row.cc, src/Row.defs.hh,
+	  src/Saturation_Matrix.cc, src/Saturation_Matrix.defs.hh,
+	  src/Saturation_Matrix.inlines.hh, src/Saturation_Row.cc,
+	  src/Saturation_Row.defs.hh, src/Scalar_Products.cc,
+	  src/Scalar_Products.defs.hh, src/Scalar_Products.inlines.hh,
+	  src/Scalar_Products.types.hh, src/Topology.hh,
+	  src/Variable.defs.hh, src/Widening_Function.defs.hh,
+	  src/checked.cc, src/checked.defs.hh, src/checked.inlines.hh,
+	  src/checked_ext.defs.hh, src/checked_ext.inlines.hh,
+	  src/checked_float.inlines.hh, src/checked_int.inlines.hh,
+	  src/checked_mpq.inlines.hh, src/checked_mpz.inlines.hh,
+	  src/checked_numeric_limits.hh, src/compiler.hh,
+	  src/float.types.hh, src/fpu-c99.inlines.hh,
+	  src/fpu-ia32.inlines.hh, src/fpu-none.inlines.hh,
+	  src/fpu-sparc.inlines.hh, src/fpu.defs.hh, src/fpu.types.hh,
+	  src/globals.defs.hh, src/globals.types.hh,
+	  src/mp_numeric_limits.hh, src/namespaces.hh,
+	  src/ppl-config.cc.in, src/version.hh.in, tests/Makefile.am,
+	  tests/PFunction.cc, tests/PFunction.hh,
+	  tests/Partial_Function.cc, tests/Partial_Function.defs.hh,
+	  tests/Partial_Function.inlines.hh,
+	  tests/Partial_Function.types.hh,
+	  tests/Random_Number_Generator.defs.hh,
+	  tests/Random_Number_Generator.inlines.hh, tests/ehandlers.cc,
+	  tests/ehandlers.hh, tests/ppl_test.cc, tests/ppl_test.hh,
+	  tests/print.cc, tests/print.hh, tests/valgrind_suppressions,
+	  tests/BD_Shape/Makefile.am, tests/BD_Shape/addconstraints1.cc,
+	  tests/BD_Shape/addspacedims1.cc, tests/BD_Shape/addspacedims2.cc,
+	  tests/BD_Shape/addspacedims3.cc, tests/BD_Shape/addspacedims4.cc,
+	  tests/BD_Shape/addspacedims5.cc, tests/BD_Shape/addspacedims6.cc,
+	  tests/BD_Shape/addspacedims7.cc,
+	  tests/BD_Shape/affinedimension1.cc,
+	  tests/BD_Shape/affineimage1.cc, tests/BD_Shape/affineimage10.cc,
+	  tests/BD_Shape/affineimage2.cc, tests/BD_Shape/affineimage3.cc,
+	  tests/BD_Shape/affineimage4.cc, tests/BD_Shape/affineimage5.cc,
+	  tests/BD_Shape/affineimage6.cc, tests/BD_Shape/affineimage7.cc,
+	  tests/BD_Shape/affineimage8.cc, tests/BD_Shape/affineimage9.cc,
+	  tests/BD_Shape/affinepreimage1.cc,
+	  tests/BD_Shape/affinepreimage2.cc,
+	  tests/BD_Shape/affinepreimage3.cc,
+	  tests/BD_Shape/affinepreimage4.cc,
+	  tests/BD_Shape/affinepreimage5.cc,
+	  tests/BD_Shape/ascii_dump_load1.cc,
+	  tests/BD_Shape/ascii_dump_load2.cc,
+	  tests/BD_Shape/bdsdifference1.cc,
+	  tests/BD_Shape/bdsdifference2.cc,
+	  tests/BD_Shape/bdsdifference3.cc,
+	  tests/BD_Shape/bdsdifference4.cc,
+	  tests/BD_Shape/bdsdifference5.cc,
+	  tests/BD_Shape/bdsdifference6.cc,
+	  tests/BD_Shape/bdsdifference7.cc, tests/BD_Shape/bdshull1.cc,
+	  tests/BD_Shape/bdshull2.cc, tests/BD_Shape/bdshull3.cc,
+	  tests/BD_Shape/bdshull4.cc,
+	  tests/BD_Shape/bgp99extrapolation1.cc,
+	  tests/BD_Shape/bhmz05widening1.cc,
+	  tests/BD_Shape/bhmz05widening2.cc,
+	  tests/BD_Shape/bhmz05widening3.cc,
+	  tests/BD_Shape/bhmz05widening4.cc,
+	  tests/BD_Shape/bhmz05widening5.cc,
+	  tests/BD_Shape/bhmz05widening6.cc,
+	  tests/BD_Shape/bhmz05widening7.cc,
+	  tests/BD_Shape/bhmz05widening8.cc,
+	  tests/BD_Shape/bhz03widening1.cc, tests/BD_Shape/bounded1.cc,
+	  tests/BD_Shape/cc76extrapolation1.cc,
+	  tests/BD_Shape/cc76extrapolation2.cc,
+	  tests/BD_Shape/cc76extrapolation3.cc,
+	  tests/BD_Shape/cc76extrapolation4.cc,
+	  tests/BD_Shape/cc76extrapolation5.cc,
+	  tests/BD_Shape/cc76extrapolation6.cc,
+	  tests/BD_Shape/cc76narrowing1.cc,
+	  tests/BD_Shape/cc76narrowing2.cc,
+	  tests/BD_Shape/cc76narrowing3.cc,
+	  tests/BD_Shape/cc76narrowing4.cc,
+	  tests/BD_Shape/cc76narrowing5.cc, tests/BD_Shape/closure1.cc,
+	  tests/BD_Shape/concatenate1.cc, tests/BD_Shape/concatenate2.cc,
+	  tests/BD_Shape/concatenate3.cc, tests/BD_Shape/concatenate4.cc,
+	  tests/BD_Shape/concatenate5.cc, tests/BD_Shape/constraints1.cc,
+	  tests/BD_Shape/constraints2.cc, tests/BD_Shape/contains1.cc,
+	  tests/BD_Shape/contains2.cc, tests/BD_Shape/contains3.cc,
+	  tests/BD_Shape/empty1.cc, tests/BD_Shape/empty2.cc,
+	  tests/BD_Shape/empty3.cc, tests/BD_Shape/empty4.cc,
+	  tests/BD_Shape/empty5.cc, tests/BD_Shape/equality1.cc,
+	  tests/BD_Shape/exceptions1.cc, tests/BD_Shape/exceptions2.cc,
+	  tests/BD_Shape/exceptions3.cc, tests/BD_Shape/fromgensys1.cc,
+	  tests/BD_Shape/frompolyhedron1.cc,
+	  tests/BD_Shape/generalizedaffineimage1.cc,
+	  tests/BD_Shape/generalizedaffineimage10.cc,
+	  tests/BD_Shape/generalizedaffineimage11.cc,
+	  tests/BD_Shape/generalizedaffineimage12.cc,
+	  tests/BD_Shape/generalizedaffineimage13.cc,
+	  tests/BD_Shape/generalizedaffineimage14.cc,
+	  tests/BD_Shape/generalizedaffineimage2.cc,
+	  tests/BD_Shape/generalizedaffineimage3.cc,
+	  tests/BD_Shape/generalizedaffineimage4.cc,
+	  tests/BD_Shape/generalizedaffineimage5.cc,
+	  tests/BD_Shape/generalizedaffineimage6.cc,
+	  tests/BD_Shape/generalizedaffineimage7.cc,
+	  tests/BD_Shape/generalizedaffineimage8.cc,
+	  tests/BD_Shape/generalizedaffineimage9.cc,
+	  tests/BD_Shape/generalizedaffinepreimage1.cc,
+	  tests/BD_Shape/generalizedaffinepreimage2.cc,
+	  tests/BD_Shape/geomcovers1.cc, tests/BD_Shape/h79widening1.cc,
+	  tests/BD_Shape/intersection1.cc, tests/BD_Shape/intersection2.cc,
+	  tests/BD_Shape/intersection3.cc, tests/BD_Shape/intersection4.cc,
+	  tests/BD_Shape/intersection5.cc, tests/BD_Shape/intersection6.cc,
+	  tests/BD_Shape/intersection7.cc, tests/BD_Shape/intersection8.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation1.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation2.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation3.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation4.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation5.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation6.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation7.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation8.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation9.cc,
+	  tests/BD_Shape/limitedcc76extrapolation1.cc,
+	  tests/BD_Shape/limitedcc76extrapolation2.cc,
+	  tests/BD_Shape/limitedcc76extrapolation3.cc,
+	  tests/BD_Shape/limitedh79extrapolation1.cc,
+	  tests/BD_Shape/mapspacedims1.cc, tests/BD_Shape/mapspacedims2.cc,
+	  tests/BD_Shape/mapspacedims3.cc, tests/BD_Shape/mapspacedims4.cc,
+	  tests/BD_Shape/maxspacedim.cc, tests/BD_Shape/minconstraints1.cc,
+	  tests/BD_Shape/relations1.cc, tests/BD_Shape/relations2.cc,
+	  tests/BD_Shape/relations3.cc, tests/BD_Shape/relations4.cc,
+	  tests/BD_Shape/relations5.cc, tests/BD_Shape/removespacedims1.cc,
+	  tests/BD_Shape/removespacedims2.cc,
+	  tests/BD_Shape/removespacedims3.cc, tests/BD_Shape/run_tests,
+	  tests/BD_Shape/timeelapse1.cc, tests/BD_Shape/timeelapse2.cc,
+	  tests/BD_Shape/timeelapse3.cc, tests/BD_Shape/timeelapse4.cc,
+	  tests/BD_Shape/timeelapse5.cc, tests/BD_Shape/universe1.cc,
+	  tests/BD_Shape/writebdshape1.cc, tests/BD_Shape/writebdshape2.cc,
+	  tests/Grid/.cvsignore, tests/Grid/Makefile.am,
+	  tests/Grid/addcongruence1.cc, tests/Grid/addcongruences1.cc,
+	  tests/Grid/addconstraint1.cc, tests/Grid/addconstraints1.cc,
+	  tests/Grid/addgenerator1.cc, tests/Grid/addgenerators1.cc,
+	  tests/Grid/addspacedims1.cc, tests/Grid/affinedim1.cc,
+	  tests/Grid/affineimage1.cc, tests/Grid/affineimage2.cc,
+	  tests/Grid/affinepreimage1.cc, tests/Grid/affinepreimage2.cc,
+	  tests/Grid/asciidumpload1.cc, tests/Grid/asciidumpload2.cc,
+	  tests/Grid/bhz03widening1.cc, tests/Grid/bounded1.cc,
+	  tests/Grid/boundingbox1.cc, tests/Grid/boundingbox2.cc,
+	  tests/Grid/bounds1.cc, tests/Grid/certificate1.cc,
+	  tests/Grid/concatenate1.cc, tests/Grid/congruence1.cc,
+	  tests/Grid/congruences1.cc, tests/Grid/congruences2.cc,
+	  tests/Grid/contains1.cc, tests/Grid/copyconstruct1.cc,
+	  tests/Grid/coveringbox1.cc, tests/Grid/coveringbox2.cc,
+	  tests/Grid/discrete1.cc, tests/Grid/disjoint1.cc,
+	  tests/Grid/equals1.cc, tests/Grid/expandspacedim1.cc,
+	  tests/Grid/foldspacedims1.cc,
+	  tests/Grid/generalizedaffineimage1.cc,
+	  tests/Grid/generalizedaffineimage2.cc,
+	  tests/Grid/generalizedaffinepreimage1.cc,
+	  tests/Grid/generalizedaffinepreimage2.cc,
+	  tests/Grid/generator1.cc, tests/Grid/generators1.cc,
+	  tests/Grid/grid1.cc, tests/Grid/grid2.cc, tests/Grid/grid3.cc,
+	  tests/Grid/griddifference1.cc, tests/Grid/intersection1.cc,
+	  tests/Grid/isempty1.cc, tests/Grid/isuniverse1.cc,
+	  tests/Grid/join1.cc, tests/Grid/join2.cc,
+	  tests/Grid/limitedextrapolation1.cc,
+	  tests/Grid/limitedextrapolation2.cc,
+	  tests/Grid/limitedextrapolation3.cc, tests/Grid/mapspacedims1.cc,
+	  tests/Grid/maxmin1.cc, tests/Grid/membytes1.cc,
+	  tests/Grid/mincongruences1.cc, tests/Grid/mingenerators1.cc,
+	  tests/Grid/outputoperator1.cc, tests/Grid/relations1.cc,
+	  tests/Grid/relations2.cc, tests/Grid/removespacedims1.cc,
+	  tests/Grid/removespacedims2.cc, tests/Grid/timeelapse1.cc,
+	  tests/Grid/topclosed1.cc, tests/Grid/topclosure1.cc,
+	  tests/Grid/widening1.cc, tests/Grid/widening2.cc,
+	  tests/Grid/widening3.cc, tests/Grid/writecongruencesystem.cc,
+	  tests/Polyhedron/CbecomesNNC1.cc,
+	  tests/Polyhedron/LP_Problem3.cc, tests/Polyhedron/Makefile.am,
+	  tests/Polyhedron/NNCbecomesC1.cc,
+	  tests/Polyhedron/NNCminimize1.cc,
+	  tests/Polyhedron/NNCminimize2.cc,
+	  tests/Polyhedron/NNCminimize3.cc,
+	  tests/Polyhedron/NNCminimize4.cc,
+	  tests/Polyhedron/NNCminimize5.cc,
+	  tests/Polyhedron/NNCminimize6.cc,
+	  tests/Polyhedron/addcongruence1.cc,
+	  tests/Polyhedron/addcongruences1.cc,
+	  tests/Polyhedron/addconstraint1.cc,
+	  tests/Polyhedron/addconstraint2.cc,
+	  tests/Polyhedron/addconstraint3.cc,
+	  tests/Polyhedron/addconstraints1.cc,
+	  tests/Polyhedron/addconstraints10.cc,
+	  tests/Polyhedron/addconstraints11.cc,
+	  tests/Polyhedron/addconstraints12.cc,
+	  tests/Polyhedron/addconstraints13.cc,
+	  tests/Polyhedron/addconstraints2.cc,
+	  tests/Polyhedron/addconstraints3.cc,
+	  tests/Polyhedron/addconstraints4.cc,
+	  tests/Polyhedron/addconstraints5.cc,
+	  tests/Polyhedron/addconstraints6.cc,
+	  tests/Polyhedron/addconstraints7.cc,
+	  tests/Polyhedron/addconstraints8.cc,
+	  tests/Polyhedron/addconstraints9.cc,
+	  tests/Polyhedron/addgenerator1.cc,
+	  tests/Polyhedron/addgenerator2.cc,
+	  tests/Polyhedron/addgenerator3.cc,
+	  tests/Polyhedron/addgenerator4.cc,
+	  tests/Polyhedron/addgenerator5.cc,
+	  tests/Polyhedron/addgenerators1.cc,
+	  tests/Polyhedron/addgenerators10.cc,
+	  tests/Polyhedron/addgenerators11.cc,
+	  tests/Polyhedron/addgenerators12.cc,
+	  tests/Polyhedron/addgenerators13.cc,
+	  tests/Polyhedron/addgenerators2.cc,
+	  tests/Polyhedron/addgenerators3.cc,
+	  tests/Polyhedron/addgenerators4.cc,
+	  tests/Polyhedron/addgenerators5.cc,
+	  tests/Polyhedron/addgenerators6.cc,
+	  tests/Polyhedron/addgenerators7.cc,
+	  tests/Polyhedron/addgenerators8.cc,
+	  tests/Polyhedron/addgenerators9.cc,
+	  tests/Polyhedron/addspacedims1.cc,
+	  tests/Polyhedron/addspacedims10.cc,
+	  tests/Polyhedron/addspacedims11.cc,
+	  tests/Polyhedron/addspacedims12.cc,
+	  tests/Polyhedron/addspacedims13.cc,
+	  tests/Polyhedron/addspacedims2.cc,
+	  tests/Polyhedron/addspacedims3.cc,
+	  tests/Polyhedron/addspacedims4.cc,
+	  tests/Polyhedron/addspacedims5.cc,
+	  tests/Polyhedron/addspacedims6.cc,
+	  tests/Polyhedron/addspacedims7.cc,
+	  tests/Polyhedron/addspacedims8.cc,
+	  tests/Polyhedron/addspacedims9.cc,
+	  tests/Polyhedron/affineimage1.cc,
+	  tests/Polyhedron/affineimage2.cc,
+	  tests/Polyhedron/affineimage3.cc,
+	  tests/Polyhedron/affineimage4.cc,
+	  tests/Polyhedron/affineimage5.cc,
+	  tests/Polyhedron/affineimage6.cc,
+	  tests/Polyhedron/affineimage7.cc,
+	  tests/Polyhedron/affineimage8.cc,
+	  tests/Polyhedron/affineimage9.cc,
+	  tests/Polyhedron/affinepreimage1.cc,
+	  tests/Polyhedron/affinepreimage10.cc,
+	  tests/Polyhedron/affinepreimage11.cc,
+	  tests/Polyhedron/affinepreimage2.cc,
+	  tests/Polyhedron/affinepreimage3.cc,
+	  tests/Polyhedron/affinepreimage4.cc,
+	  tests/Polyhedron/affinepreimage5.cc,
+	  tests/Polyhedron/affinepreimage6.cc,
+	  tests/Polyhedron/affinepreimage7.cc,
+	  tests/Polyhedron/affinepreimage8.cc,
+	  tests/Polyhedron/affinepreimage9.cc,
+	  tests/Polyhedron/affinetrans.cc, tests/Polyhedron/append1.cc,
+	  tests/Polyhedron/ascii_dump_load1.cc,
+	  tests/Polyhedron/ascii_dump_load2.cc,
+	  tests/Polyhedron/ascii_dump_load3.cc,
+	  tests/Polyhedron/ascii_dump_load4.cc,
+	  tests/Polyhedron/ascii_dump_load5.cc,
+	  tests/Polyhedron/ascii_dump_load6.cc,
+	  tests/Polyhedron/ascii_dump_load7.cc,
+	  tests/Polyhedron/bgp99extrapolation1.cc,
+	  tests/Polyhedron/bgp99extrapolation2.cc,
+	  tests/Polyhedron/bhrz03widening1.cc,
+	  tests/Polyhedron/bhrz03widening10.cc,
+	  tests/Polyhedron/bhrz03widening11.cc,
+	  tests/Polyhedron/bhrz03widening12.cc,
+	  tests/Polyhedron/bhrz03widening13.cc,
+	  tests/Polyhedron/bhrz03widening14.cc,
+	  tests/Polyhedron/bhrz03widening15.cc,
+	  tests/Polyhedron/bhrz03widening16.cc,
+	  tests/Polyhedron/bhrz03widening17.cc,
+	  tests/Polyhedron/bhrz03widening18.cc,
+	  tests/Polyhedron/bhrz03widening19.cc,
+	  tests/Polyhedron/bhrz03widening2.cc,
+	  tests/Polyhedron/bhrz03widening3.cc,
+	  tests/Polyhedron/bhrz03widening4.cc,
+	  tests/Polyhedron/bhrz03widening5.cc,
+	  tests/Polyhedron/bhrz03widening6.cc,
+	  tests/Polyhedron/bhrz03widening7.cc,
+	  tests/Polyhedron/bhrz03widening8.cc,
+	  tests/Polyhedron/bhrz03widening9.cc,
+	  tests/Polyhedron/bhz03widening1.cc,
+	  tests/Polyhedron/bhz03widening2.cc,
+	  tests/Polyhedron/bhz03widening3.cc,
+	  tests/Polyhedron/bhz03widening4.cc,
+	  tests/Polyhedron/bhz03widening5.cc,
+	  tests/Polyhedron/bhz03widening6.cc, tests/Polyhedron/bounded1.cc,
+	  tests/Polyhedron/boundedaffineimage1.cc,
+	  tests/Polyhedron/boundedaffineimage2.cc,
+	  tests/Polyhedron/boundedaffineimage3.cc,
+	  tests/Polyhedron/boundedaffinepreimage1.cc,
+	  tests/Polyhedron/boundedaffinepreimage2.cc,
+	  tests/Polyhedron/boundedaffinepreimage3.cc,
+	  tests/Polyhedron/boundedbhrz03extrapolation1.cc,
+	  tests/Polyhedron/boundedh79extrapolation1.cc,
+	  tests/Polyhedron/boundingbox1.cc,
+	  tests/Polyhedron/boundingbox2.cc,
+	  tests/Polyhedron/boundingbox3.cc,
+	  tests/Polyhedron/boundingbox4.cc,
+	  tests/Polyhedron/boundingbox5.cc, tests/Polyhedron/bounds1.cc,
+	  tests/Polyhedron/bounds2.cc, tests/Polyhedron/bug2.cc,
+	  tests/Polyhedron/cnncconversion1.cc,
+	  tests/Polyhedron/concatenate1.cc,
+	  tests/Polyhedron/concatenate2.cc,
+	  tests/Polyhedron/concatenate3.cc,
+	  tests/Polyhedron/concatenate4.cc,
+	  tests/Polyhedron/concatenate5.cc,
+	  tests/Polyhedron/concatenate6.cc,
+	  tests/Polyhedron/concatenate7.cc,
+	  tests/Polyhedron/congruences1.cc,
+	  tests/Polyhedron/constraints1.cc,
+	  tests/Polyhedron/constraints2.cc,
+	  tests/Polyhedron/constraints3.cc,
+	  tests/Polyhedron/constraints4.cc,
+	  tests/Polyhedron/constraints5.cc, tests/Polyhedron/contains1.cc,
+	  tests/Polyhedron/contains2.cc, tests/Polyhedron/contains3.cc,
+	  tests/Polyhedron/contains4.cc, tests/Polyhedron/contains5.cc,
+	  tests/Polyhedron/disjoint1.cc, tests/Polyhedron/disjoint2.cc,
+	  tests/Polyhedron/disjoint3.cc,
+	  tests/Polyhedron/dualhypercubes.cc, tests/Polyhedron/empty1.cc,
+	  tests/Polyhedron/equals1.cc, tests/Polyhedron/expandspacedim1.cc,
+	  tests/Polyhedron/expandspacedim2.cc,
+	  tests/Polyhedron/foldspacedims1.cc,
+	  tests/Polyhedron/foldspacedims2.cc,
+	  tests/Polyhedron/generalizedaffineimage1.cc,
+	  tests/Polyhedron/generalizedaffineimage10.cc,
+	  tests/Polyhedron/generalizedaffineimage11.cc,
+	  tests/Polyhedron/generalizedaffineimage12.cc,
+	  tests/Polyhedron/generalizedaffineimage13.cc,
+	  tests/Polyhedron/generalizedaffineimage14.cc,
+	  tests/Polyhedron/generalizedaffineimage2.cc,
+	  tests/Polyhedron/generalizedaffineimage3.cc,
+	  tests/Polyhedron/generalizedaffineimage4.cc,
+	  tests/Polyhedron/generalizedaffineimage5.cc,
+	  tests/Polyhedron/generalizedaffineimage6.cc,
+	  tests/Polyhedron/generalizedaffineimage7.cc,
+	  tests/Polyhedron/generalizedaffineimage8.cc,
+	  tests/Polyhedron/generalizedaffineimage9.cc,
+	  tests/Polyhedron/generalizedaffinepreimage1.cc,
+	  tests/Polyhedron/generalizedaffinepreimage2.cc,
+	  tests/Polyhedron/generalizedaffinepreimage3.cc,
+	  tests/Polyhedron/generalizedaffinepreimage4.cc,
+	  tests/Polyhedron/generators1.cc, tests/Polyhedron/generators2.cc,
+	  tests/Polyhedron/generators3.cc, tests/Polyhedron/generators4.cc,
+	  tests/Polyhedron/generators5.cc, tests/Polyhedron/generators6.cc,
+	  tests/Polyhedron/generators7.cc, tests/Polyhedron/geomcovers1.cc,
+	  tests/Polyhedron/gramschmidt1.cc,
+	  tests/Polyhedron/h79widening1.cc,
+	  tests/Polyhedron/h79widening2.cc,
+	  tests/Polyhedron/h79widening3.cc,
+	  tests/Polyhedron/h79widening4.cc,
+	  tests/Polyhedron/h79widening5.cc,
+	  tests/Polyhedron/h79widening6.cc,
+	  tests/Polyhedron/h79widening7.cc,
+	  tests/Polyhedron/h79widening8.cc,
+	  tests/Polyhedron/intersection1.cc,
+	  tests/Polyhedron/intersection10.cc,
+	  tests/Polyhedron/intersection11.cc,
+	  tests/Polyhedron/intersection2.cc,
+	  tests/Polyhedron/intersection3.cc,
+	  tests/Polyhedron/intersection4.cc,
+	  tests/Polyhedron/intersection5.cc,
+	  tests/Polyhedron/intersection6.cc,
+	  tests/Polyhedron/intersection7.cc,
+	  tests/Polyhedron/intersection8.cc,
+	  tests/Polyhedron/intersection9.cc,
+	  tests/Polyhedron/limitedh79extrapolation1.cc,
+	  tests/Polyhedron/limitedh79extrapolation2.cc,
+	  tests/Polyhedron/limitedh79extrapolation3.cc,
+	  tests/Polyhedron/limitedh79extrapolation4.cc,
+	  tests/Polyhedron/linearpartition1.cc,
+	  tests/Polyhedron/linearpartition2.cc,
+	  tests/Polyhedron/linearpartition3.cc,
+	  tests/Polyhedron/linearpartition4.cc,
+	  tests/Polyhedron/linearsystem1.cc,
+	  tests/Polyhedron/linexpression1.cc,
+	  tests/Polyhedron/lpproblem1.cc, tests/Polyhedron/lpproblem2.cc,
+	  tests/Polyhedron/mapspacedims1.cc,
+	  tests/Polyhedron/mapspacedims2.cc,
+	  tests/Polyhedron/mapspacedims3.cc,
+	  tests/Polyhedron/mapspacedims4.cc, tests/Polyhedron/max_min1.cc,
+	  tests/Polyhedron/max_min2.cc, tests/Polyhedron/maxspacedim1.cc,
+	  tests/Polyhedron/mc91.cc, tests/Polyhedron/memory1.cc,
+	  tests/Polyhedron/minconstraints1.cc,
+	  tests/Polyhedron/minconstraints2.cc,
+	  tests/Polyhedron/minconstraints3.cc,
+	  tests/Polyhedron/minconstraints4.cc,
+	  tests/Polyhedron/mingenerators1.cc,
+	  tests/Polyhedron/mingenerators2.cc,
+	  tests/Polyhedron/mingenerators3.cc,
+	  tests/Polyhedron/nncminimize1.cc,
+	  tests/Polyhedron/nncminimize2.cc,
+	  tests/Polyhedron/numberinput1.cc, tests/Polyhedron/onepoint.cc,
+	  tests/Polyhedron/polydifference1.cc,
+	  tests/Polyhedron/polydifference2.cc,
+	  tests/Polyhedron/polydifference3.cc,
+	  tests/Polyhedron/polydifference4.cc,
+	  tests/Polyhedron/polydifference5.cc,
+	  tests/Polyhedron/polydifference6.cc,
+	  tests/Polyhedron/polydifference7.cc,
+	  tests/Polyhedron/polydifference8.cc,
+	  tests/Polyhedron/polydifference9.cc,
+	  tests/Polyhedron/polyhull1.cc, tests/Polyhedron/polyhull10.cc,
+	  tests/Polyhedron/polyhull11.cc, tests/Polyhedron/polyhull2.cc,
+	  tests/Polyhedron/polyhull3.cc, tests/Polyhedron/polyhull4.cc,
+	  tests/Polyhedron/polyhull5.cc, tests/Polyhedron/polyhull6.cc,
+	  tests/Polyhedron/polyhull7.cc, tests/Polyhedron/polyhull8.cc,
+	  tests/Polyhedron/polyhull9.cc, tests/Polyhedron/polypowerset1.cc,
+	  tests/Polyhedron/powerset1.cc, tests/Polyhedron/randphull1.cc,
+	  tests/Polyhedron/relations1.cc, tests/Polyhedron/relations10.cc,
+	  tests/Polyhedron/relations11.cc, tests/Polyhedron/relations12.cc,
+	  tests/Polyhedron/relations13.cc, tests/Polyhedron/relations14.cc,
+	  tests/Polyhedron/relations15.cc, tests/Polyhedron/relations16.cc,
+	  tests/Polyhedron/relations17.cc, tests/Polyhedron/relations18.cc,
+	  tests/Polyhedron/relations19.cc, tests/Polyhedron/relations2.cc,
+	  tests/Polyhedron/relations3.cc, tests/Polyhedron/relations4.cc,
+	  tests/Polyhedron/relations5.cc, tests/Polyhedron/relations6.cc,
+	  tests/Polyhedron/relations7.cc, tests/Polyhedron/relations8.cc,
+	  tests/Polyhedron/relations9.cc,
+	  tests/Polyhedron/removespacedims1.cc,
+	  tests/Polyhedron/removespacedims10.cc,
+	  tests/Polyhedron/removespacedims2.cc,
+	  tests/Polyhedron/removespacedims3.cc,
+	  tests/Polyhedron/removespacedims4.cc,
+	  tests/Polyhedron/removespacedims5.cc,
+	  tests/Polyhedron/removespacedims6.cc,
+	  tests/Polyhedron/removespacedims7.cc,
+	  tests/Polyhedron/removespacedims8.cc,
+	  tests/Polyhedron/removespacedims9.cc,
+	  tests/Polyhedron/timeelapse1.cc, tests/Polyhedron/timeelapse2.cc,
+	  tests/Polyhedron/timeelapse3.cc, tests/Polyhedron/timeelapse4.cc,
+	  tests/Polyhedron/timeelapse5.cc, tests/Polyhedron/timeelapse6.cc,
+	  tests/Polyhedron/timeelapse7.cc, tests/Polyhedron/timeelapse8.cc,
+	  tests/Polyhedron/timeelapse9.cc, tests/Polyhedron/topclosed1.cc,
+	  tests/Polyhedron/topclosed2.cc, tests/Polyhedron/topclosed3.cc,
+	  tests/Polyhedron/topclosure1.cc, tests/Polyhedron/topclosure2.cc,
+	  tests/Polyhedron/topclosure3.cc, tests/Polyhedron/topclosure4.cc,
+	  tests/Polyhedron/universe1.cc, tests/Polyhedron/universe2.cc,
+	  tests/Polyhedron/universe3.cc, tests/Polyhedron/universe4.cc,
+	  tests/Polyhedron/universe5.cc, tests/Polyhedron/universe6.cc,
+	  tests/Polyhedron/universe7.cc,
+	  tests/Polyhedron/valgrind_suppressions,
+	  tests/Polyhedron/watchdog1.cc, tests/Polyhedron/writeconsys1.cc,
+	  tests/Polyhedron/writegensys1.cc,
+	  tests/Polyhedron/writegensys2.cc,
+	  tests/Polyhedron/writegensys3.cc,
+	  tests/Polyhedron/writepolyhedron1.cc,
+	  tests/Polyhedron/writepolyhedron2.cc,
+	  tests/Polyhedron/writepolyhedron3.cc,
+	  tests/Polyhedron/writerelation1.cc, utils/.cvsignore,
+	  utils/Makefile.am
+	  (simplex.[1,2,2,2,2,2,2,5,2,2,2,2,1,1,1,2,2,1,2,2,2,1,2,2,1,2,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,5,5,2,2,4,4,2,2,2,2,2,2,2,1,2,2,2,1,2,2,2,2,3,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,5,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,43,4,2,3,2,2,2,2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2, [...]
+	  Second merge from main trunk.
+
+2006-05-08 Monday 18:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Watchdog.cc, doc/devref.doxyconf-html.in,
+	  doc/devref.doxyconf-latex.in, interfaces/Prolog/ppl_prolog.icc,
+	  src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
+	  src/BD_Shape.templates.hh, src/Congruence.cc,
+	  src/Congruence.defs.hh, src/Congruence.inlines.hh,
+	  src/Congruence_System.cc, src/DB_Matrix.defs.hh,
+	  src/DB_Matrix.inlines.hh, src/DB_Matrix.templates.hh,
+	  src/DB_Row.defs.hh, src/DB_Row.inlines.hh,
+	  src/DB_Row.templates.hh, src/Grid.templates.hh,
+	  src/Grid_Generator.cc, src/Grid_Generator.defs.hh,
+	  src/Grid_Generator_System.cc,
+	  src/Grid_Generator_System.inlines.hh, src/Grid_Status.cc,
+	  src/Grid_conversion.cc, src/Grid_nonpublic.cc,
+	  src/Grid_public.cc, src/Grid_simplify.cc,
+	  src/Linear_Expression.defs.hh, src/Makefile.am,
+	  tests/ppl_test.cc, tests/ppl_test.hh, tests/BD_Shape/Makefile.am,
+	  tests/BD_Shape/addconstraints1.cc,
+	  tests/BD_Shape/affinedimension1.cc,
+	  tests/BD_Shape/affineimage1.cc,
+	  tests/BD_Shape/affinepreimage1.cc,
+	  tests/BD_Shape/affinepreimage2.cc,
+	  tests/BD_Shape/bdsdifference1.cc, tests/BD_Shape/bdshull1.cc,
+	  tests/BD_Shape/bhmz05widening1.cc, tests/BD_Shape/bounded1.cc,
+	  tests/BD_Shape/cc76extrapolation1.cc,
+	  tests/BD_Shape/cc76narrowing1.cc, tests/BD_Shape/contains1.cc,
+	  tests/BD_Shape/fromgensys1.cc, tests/BD_Shape/frompolyhedron1.cc,
+	  tests/BD_Shape/generalizedaffineimage2.cc,
+	  tests/BD_Shape/generalizedaffinepreimage2.cc,
+	  tests/BD_Shape/intersection1.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation1.cc,
+	  tests/BD_Shape/limitedcc76extrapolation1.cc,
+	  tests/BD_Shape/relations2.cc, tests/BD_Shape/relations3.cc,
+	  tests/BD_Shape/removespacedims1.cc,
+	  tests/BD_Shape/timeelapse1.cc, tests/Grid/affineimage2.cc,
+	  tests/Grid/asciidumpload1.cc, tests/Grid/join1.cc,
+	  tests/Grid/maxmin1.cc, tests/Grid/outputoperator1.cc,
+	  tests/Grid/writecongruencesystem.cc, tests/Polyhedron/Makefile.am
+	  (octagons.[1,3,3,1,1,1,1,1,1,1,1,1,2,2,2,1,2,1,1,1,1,1,1,1,1,1,1,1,6,1,4,1,2,1,2,2,1,2,2,2,2,2,2,1,1,2,2,1,2,2,2,1,1,2,2,1,1,1,1,1,1,1]):
+	  First merge from main trunk.
+
+2006-05-08 Monday 16:09  quartieri
+
+	* src/Octagonal_Shape.templates.hh (octagons.33): Corrected a
+	  comment in	    Octagonal_Shape<T>::affine_preimage() and
+	  changed	`Coefficient b = expr.inhomogeneous_term();' in
+	  `const Coefficient& b = expr.inhomogeneous_term();'.
+
+2006-05-08 Monday 15:56  Matthew Mundell
+
+	* src/Grid_simplify.cc (1.14): Reduce the number of implicit
+	  temporaries in the loop in reduce_pc_with_pc.  Move the explicit
+	  creation of temporary integers outside the same loop.
+
+2006-05-08 Monday 15:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_simplify.cc (simplex.1): file Grid_simplify.cc was added
+	  on branch simplex on 2006-05-08 17:15:49 +0000
+
+2006-05-08 Monday 15:32  Matthew Mundell
+
+	* src/Grid_Status.cc (1.4): Drop the printing of the final trailing
+	  space from method ascii_dump.
+
+2006-05-08 Monday 15:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Status.cc (simplex.1): file Grid_Status.cc was added on
+	  branch simplex on 2006-05-08 17:15:49 +0000
+
+2006-05-08 Monday 15:30  Matthew Mundell
+
+	* src/Grid_public.cc (1.18): Update time_elapse_assign to use
+	  Grid_Generator::set_is_parameter() instead of multiple calls to
+	  Grid_Generator::set_divisor.
+
+2006-05-08 Monday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_public.cc (simplex.1): file Grid_public.cc was added on
+	  branch simplex on 2006-05-08 17:15:49 +0000
+
+2006-05-08 Monday 15:28  Matthew Mundell
+
+	* src/: Grid_Generator.cc (1.9), Grid_Generator.defs.hh (1.16): Add
+	  set_is_parameter().
+
+2006-05-08 Monday 15:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Generator.cc (simplex.1): file Grid_Generator.cc was
+	  added on branch simplex on 2006-05-08 17:15:49 +0000
+
+2006-05-08 Monday 15:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Generator.defs.hh (simplex.1): file
+	  Grid_Generator.defs.hh was added on branch simplex on 2006-05-08
+	  17:15:49 +0000
+
+2006-05-08 Monday 15:27  Matthew Mundell
+
+	* src/: Grid_Generator_System.cc (1.7),
+	  Grid_Generator_System.inlines.hh (1.8): Tailor the ascii_dump and
+	  ascii_load methods for grids.
+
+2006-05-08 Monday 15:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Generator_System.cc (simplex.1): file
+	  Grid_Generator_System.cc was added on branch simplex on
+	  2006-05-08 17:15:49 +0000
+
+2006-05-08 Monday 15:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Generator_System.inlines.hh (simplex.1): file
+	  Grid_Generator_System.inlines.hh was added on branch simplex on
+	  2006-05-08 17:15:49 +0000
+
+2006-05-08 Monday 14:05  quartieri
+
+	* src/Octagonal_Shape.templates.hh (octagons.32): Avoid repeated
+	  computations in
+	  Octagonal_Shape<T>::generalized_affine_image().
+
+2006-05-08 Monday 13:28  Matthew Mundell
+
+	* src/: Congruence.cc (1.6), Congruence.defs.hh (1.8),
+	  Congruence.inlines.hh (1.8), Linear_Expression.defs.hh (1.25):
+	  Add create(le,le), create(le,n) and create(n,le) to Congruence.
+	  Update the Congruence-returning %= operators to use the new
+	  create methods instead of requiring the friend relations between
+	  these operators and the Congruence and Linear_Expression classes.
+
+2006-05-08 Monday 13:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Congruence.cc (simplex.1): file Congruence.cc was added on
+	  branch simplex on 2006-05-08 17:15:49 +0000
+
+2006-05-08 Monday 13:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Congruence.defs.hh (simplex.1): file Congruence.defs.hh was
+	  added on branch simplex on 2006-05-08 17:15:49 +0000
+
+2006-05-08 Monday 13:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Congruence.inlines.hh (simplex.1): file Congruence.inlines.hh
+	  was added on branch simplex on 2006-05-08 17:15:49 +0000
+
+2006-05-05 Friday 19:46  Matthew Mundell
+
+	* src/: Congruence.cc (1.5), Congruence_System.cc (1.11),
+	  Grid.templates.hh (1.6), Grid_conversion.cc (1.7),
+	  Grid_nonpublic.cc (1.9), Grid_public.cc (1.17), Grid_simplify.cc
+	  (1.13): Update many loops to loop down towards a constant instead
+	  of up towards a value in a variable.
+
+2006-05-05 Friday 19:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Congruence_System.cc (simplex.1): file Congruence_System.cc
+	  was added on branch simplex on 2006-05-08 17:15:49 +0000
+
+2006-05-05 Friday 19:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid.templates.hh (simplex.1): file Grid.templates.hh was
+	  added on branch simplex on 2006-05-08 17:15:49 +0000
+
+2006-05-05 Friday 19:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_conversion.cc (simplex.1): file Grid_conversion.cc was
+	  added on branch simplex on 2006-05-08 17:15:49 +0000
+
+2006-05-05 Friday 19:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_nonpublic.cc (simplex.1): file Grid_nonpublic.cc was
+	  added on branch simplex on 2006-05-08 17:15:49 +0000
+
+2006-05-05 Friday 16:51  quartieri
+
+	* src/: Octagonal_Shape.defs.hh, Octagonal_Shape.inlines.hh,
+	  Octagonal_Shape.templates.hh (octagons.[12,7,31]): Renamed the
+	  parameter `v' to `v_id' in
+	  Octagonal_Shape<T>::forget_binary_octagonal_constraints().
+	  `v_id' is the index of variable whose constraints are forgotten,
+	  `v' was the index of rows/columns on `v_id' in the octagon,
+	  instead.
+
+2006-05-05 Friday 16:26  quartieri
+
+	* src/: Octagonal_Shape.defs.hh, Octagonal_Shape.inlines.hh,
+	  Octagonal_Shape.templates.hh (octagons.[11,6,30]): Renamed the
+	  parameter `v' to `v_id' in
+	  Octagonal_Shape<T>::forget_all_octagonal_constraints().  `v_id'
+	  is the index of variable whose constraints are forgotten, `v' was
+	  the index of rows/columns on `v_id' in the octagon, instead.
+
+2006-05-05 Friday 16:21  Elena Mazzi
+
+	* src/: BD_Shape.defs.hh (1.70), BD_Shape.templates.hh (1.11):
+	  Renamed some parameters in helper functions for the computation
+	  of affine relations: `pos_sum' and `neg_sum' renamed as `ub_v'
+	  and minus_lb_v'.
+
+	  Added some assertions in these helper funcions: - `sc_den' should
+	  be positive; - `ub_v' and `minus_lb_v' shouldn't be equal to
+	  plus infinity.
+
+2006-05-05 Friday 16:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh (simplex.1): file BD_Shape.templates.hh
+	  was added on branch simplex on 2006-05-08 17:15:49 +0000
+
+2006-05-05 Friday 15:42  quartieri
+
+	* src/Octagonal_Shape.templates.hh (octagons.29): Added some
+	  comments in Octagonal_Shape<T>::deduce_minus_v_pm_u_bounds().
+
+2006-05-05 Friday 15:39  quartieri
+
+	* src/Octagonal_Shape.templates.hh (octagons.28): Added some
+	  comments in Octagonal_Shape<T>::deduce_v_pm_u_bounds().
+
+2006-05-05 Friday 15:28  quartieri
+
+	* src/Octagonal_Shape.templates.hh (octagons.27): Added the
+	  assertion   assert(!is_plus_infinity(minus_lb_v)); in
+	  Octagonal_Shape<T>::deduce_minus_v_pm_u_bounds() to ensure that
+	  `minus_lb_v' is a meaningful parameter.
+
+2006-05-05 Friday 15:23  quartieri
+
+	* src/Octagonal_Shape.templates.hh (octagons.26): Added the
+	  assertion   assert(!is_plus_infinity(ub_v)); in
+	  Octagonal_Shape<T>::deduce_v_pm_u_bounds() to ensure that `ub_v'
+	  is a meaningful parameter.
+
+2006-05-05 Friday 15:09  quartieri
+
+	* src/Octagonal_Shape.templates.hh (octagons.25): Added the
+	  assertion   assert(sc_den > 0); in
+	  Octagonal_Shape<T>::deduce_v_pm_u_bounds() and in
+	  Octagonal_Shape<T>::deduce_minus_v_pm_u_bounds().  `sc_den' is
+	  always positive.
+
+2006-05-05 Friday 14:27  quartieri
+
+	* src/Octagonal_Shape.defs.hh (octagons.10): Corrected the
+	  documentation for    void deduce_v_pm_u_bounds() and	       void
+	  deduce_minus_v_pm_u_bounds().
+
+2006-05-05 Friday 14:01  quartieri
+
+	* src/Octagonal_Shape.templates.hh (octagons.24): Corrected some
+	  comments in	  Octagonal_Shape<T>::deduce_v_pm_u_bounds().
+	  Corrected some comments and renamed `minus_q' in `q' in
+	  Octagonal_Shape<T>::deduce_minus_v_pm_u_bounds() to improve
+	  readability.
+
+2006-05-05 Friday 13:48  quartieri
+
+	* src/Octagonal_Shape.templates.hh (octagons.23): Corrected some
+	  comments and renamed `q' in `minus_q' in
+	  Octagonal_Shape<T>::deduce_v_pm_u_bounds() to improve
+	  readability.
+
+2006-05-05 Friday 13:14  quartieri
+
+	* src/Octagonal_Shape.templates.hh (octagons.22): Corrected two
+	  bugs in	  Octagonal_Shape<T>::deduce_minus_v_pm_u_bounds().
+
+2006-05-04 Thursday 21:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.inlines.hh (1.124), BD_Shape.defs.hh (1.69): Added
+	  a couple of missing \relates Doxygen commands.
+
+2006-05-04 Thursday 21:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref.doxyconf-html.in, devref.doxyconf-latex.in
+	  (octagons.[2,2]): Also consider files distances.* when producing
+	  the devref manual.
+
+2006-05-04 Thursday 21:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: OR_Matrix.defs.hh, OR_Matrix.inlines.hh (octagons.[12,17]):
+	  Added a few missing \relates Doxygen commands.  Corrected the
+	  name of a macro (error probably caused by uncareful query
+	  replace).  Reordered definitions of inline functions so as to
+	  alow inlining.
+
+2006-05-04 Thursday 21:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Octagonal_Shape.defs.hh, Octagonal_Shape.inlines.hh
+	  (octagons.[9,5]): Added a few missing \relates Doxygen commands.
+
+2006-05-04 Thursday 16:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Octagonal_Shape.defs.hh, Octagonal_Shape.templates.hh
+	  (octagons.[8,21]): Helper functions for the computation of affine
+	  relations rewritten and reorganized:	- deduce_v_pm_u_bounds()
+	  now replaces the two functions    deduce_v_minus_u_bounds() and
+	  deduce_v_plus_u_bounds(), since these were	always called one
+	  after the other and they were going through the    same loop;  -
+	  similarly done for deduce_minus_v_pm_u_bounds();  - pos_sum and
+	  neg_sum parameters renamed as ub_v and minus_lb_v;  - code
+	  improved a lot for readability (and maybe also efficiency);  -
+	  avoided use of ROND_UP when dealing with mpq_class objects
+	  (prefer    using ROUND_NOT_NEEDED);  - removed inline directive
+	  from is_bounded().
+
+2006-05-04 Thursday 16:31  Matthew Mundell
+
+	* tests/Grid/maxmin1.cc (1.9): In check_both, check_minimize and
+	  check_maximize add parameter const qualifiers and convert all
+	  parameters to references.
+
+2006-05-04 Thursday 16:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/maxmin1.cc (simplex.1): file maxmin1.cc was added on
+	  branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-05-04 Thursday 16:20  Elena Mazzi
+
+	* src/Octagonal_Shape.templates.hh (octagons.20): Reversed some
+	  loops.
+
+2006-05-04 Thursday 16:12  Matthew Mundell
+
+	* src/Grid_Generator.cc (1.8): Update the output operator to denote
+	  parameters with a `q'.
+
+2006-05-04 Thursday 15:56  Matthew Mundell
+
+	* src/Grid_simplify.cc (1.12): Improve variable names in
+	  reduce_parameter_with_line and reduce_congruence_with_equality.
+
+2006-05-04 Thursday 15:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/asciidumpload1.cc (simplex.1): file asciidumpload1.cc
+	  was added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-05-04 Thursday 15:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/outputoperator1.cc (simplex.1): file
+	  outputoperator1.cc was added on branch simplex on 2006-05-08
+	  17:15:56 +0000
+
+2006-05-04 Thursday 15:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/writecongruencesystem.cc (altnum.1): file
+	  writecongruencesystem.cc was added on branch altnum on 2006-10-29
+	  19:27:28 +0000
+
+2006-05-04 Thursday 15:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/writecongruencesystem.cc (simplex.1): file
+	  writecongruencesystem.cc was added on branch simplex on
+	  2006-05-08 17:15:56 +0000
+
+2006-05-04 Thursday 15:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: ppl_test.cc (1.5), ppl_test.hh (1.47),
+	  BD_Shape/addconstraints1.cc (1.12), BD_Shape/affineimage1.cc
+	  (1.13), BD_Shape/affinepreimage1.cc (1.13),
+	  BD_Shape/bdsdifference1.cc (1.9), BD_Shape/bdshull1.cc (1.9),
+	  BD_Shape/bhmz05widening1.cc (1.9), BD_Shape/cc76extrapolation1.cc
+	  (1.13), BD_Shape/cc76narrowing1.cc (1.13), BD_Shape/contains1.cc
+	  (1.11), BD_Shape/fromgensys1.cc (1.12),
+	  BD_Shape/generalizedaffineimage2.cc (1.14),
+	  BD_Shape/intersection1.cc (1.12),
+	  BD_Shape/limitedbhmz05extrapolation1.cc (1.8),
+	  BD_Shape/limitedcc76extrapolation1.cc (1.9),
+	  BD_Shape/relations2.cc (1.17), BD_Shape/relations3.cc (1.14),
+	  BD_Shape/removespacedims1.cc (1.13), BD_Shape/timeelapse1.cc
+	  (1.12), Grid/asciidumpload1.cc (1.8), Grid/maxmin1.cc (1.8),
+	  Grid/outputoperator1.cc (1.6), Grid/writecongruencesystem.cc
+	  (1.6): Repeated using directives removed; others avoided.  Added
+	  missing inclusions and missing std:: qualifications.
+
+2006-05-04 Thursday 15:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ppl_test.cc (simplex.1): file ppl_test.cc was added on
+	  branch simplex on 2006-05-08 17:15:53 +0000
+
+2006-05-04 Thursday 14:49  quartieri
+
+	* src/Octagonal_Shape.templates.hh (octagons.19): Improved
+	  generalized_affine_preimage().
+
+2006-05-04 Thursday 14:17  Elena Mazzi
+
+	* src/Octagonal_Shape.templates.hh (octagons.18): Several (mainly
+	  readability) improvements to the implementation of method
+	  generalized_affine_image().
+
+2006-05-04 Thursday 13:47  quartieri
+
+	* src/Octagonal_Shape.templates.hh (octagons.17): Another pass
+	  through the code of generalized_affine_preimage(), to improve
+	  readability and thus maintainability.      - in the general case,
+	  the references inside the matrix are named	     m_*, e.g.,
+	  m_i, m_ci, m_v, etc.	Avoid almost useless uses of row_iterator
+	  (prefer the direct matrix accessors' operators if a single access
+	  to the row has to be done).
+
+2006-05-04 Thursday 13:09  quartieri
+
+	* src/Octagonal_Shape.templates.hh (octagons.16): Another pass
+	  through the code of generalized_affine_preimage(), to improve
+	  readability and thus maintainability.      - moved the definition
+	  of minus_den to avoid repeated computations;	   - in the case
+	  t==0, removed an unneccesary row_iterator and       defined
+	  two_b;	- in the case t==1, coeff renamed as w_coeff and
+	  lv_index renamed  as	   n_w.
+
+2006-05-04 Thursday 13:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: BD_Shape/Makefile.am (1.44), Polyhedron/Makefile.am
+	  (1.89): Unwanted indentation removed.
+
+2006-05-04 Thursday 12:16  Elena Mazzi
+
+	* src/Octagonal_Shape.templates.hh (octagons.15): Improved
+	  readability and thus maintainability in the methods of affine
+	  trasformations: - in the case t==1, the coefficient a renamed as
+	  w_coeff.
+
+	  Corrected a bug in the method affine_image().
+
+2006-05-04 Thursday 10:46  Elena Mazzi
+
+	* src/Octagonal_Shape.templates.hh (octagons.14): Improved
+	  readability and thus maintainability in the methods of affine
+	  trasformations: - last_var_id renamed as w_id; - num_var renamed
+	  as var_id.
+
+2006-05-04 Thursday 10:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh (octagons.13): Another pass
+	  through the code of affine_image(), to improve readability and
+	  thus maintainability.   - last_var_id renamed as w_id;   - in the
+	  case t==1, coeff renamed as w_coeff;	 - variable indices should
+	  be called *_id; the indices used to access the     matrix should
+	  be named n_*, e.g., var and n_w;   - the references inside the
+	  matrix are named m_*, e.g., m_i, m_ci, m_v, etc.  Avoid repeated
+	  testing of known conditionals; avoid almost useless uses of
+	  row_iterator (prefer the direct matrix accessors' operators if a
+	  single access to the row has to be done).
+
+2006-05-04 Thursday 10:05  Elena Mazzi
+
+	* src/Octagonal_Shape.templates.hh (octagons.12): Some (mainly
+	  readability) improvements to the implementation of method
+	  affine_preimage().  Indented region in some methods.
+
+2006-05-03 Wednesday 15:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh (octagons.11): Several (mainly
+	  readability) improvements to the implementation of method
+	  affine_image() for the case when t == 1.
+
+2006-05-03 Wednesday 14:43  Elena Mazzi
+
+	* src/: Octagonal_Shape.defs.hh, Octagonal_Shape.templates.hh
+	  (octagons.[7,10]): Added a new method
+	  Octagonal_Shape::is_bounded().
+
+2006-05-03 Wednesday 14:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh (octagons.9): A few improvements
+	  in method constraints() and operator <<.
+
+2006-05-03 Wednesday 09:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh (octagons.8): Added (macro for)
+	  definitions of output functions.
+
+2006-05-02 Tuesday 17:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/bounded1.cc (altnum.1): file bounded1.cc was added
+	  on branch altnum on 2006-10-29 19:27:22 +0000
+
+2006-05-02 Tuesday 17:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/bounded1.cc (octagons.1): file bounded1.cc was
+	  added on branch octagons on 2006-05-08 16:16:44 +0000
+
+2006-05-02 Tuesday 17:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/bounded1.cc (simplex.1): file bounded1.cc was
+	  added on branch simplex on 2006-05-08 17:15:53 +0000
+
+2006-05-02 Tuesday 17:48  Elena Mazzi
+
+	* src/BD_Shape.defs.hh (1.68), src/BD_Shape.templates.hh (1.10),
+	  tests/BD_Shape/Makefile.am (1.43), tests/BD_Shape/bounded1.cc
+	  (1.1): Defined a new method BD_Shape::is_bounded().  Added some
+	  tests for this method.
+
+2006-05-02 Tuesday 16:39  Elena Mazzi
+
+	* tests/BD_Shape/affinedimension1.cc (1.8): Rewrited and added some
+	  tests for affine_dimension().
+
+2006-05-02 Tuesday 16:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/frompolyhedron1.cc (1.2): test01() in
+	  frompolyhedron1.cc overflows when using 8-bit and 16-bit
+	  integers.
+
+2006-05-02 Tuesday 16:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/frompolyhedron1.cc (octagons.1): file
+	  frompolyhedron1.cc was added on branch octagons on 2006-05-08
+	  16:16:44 +0000
+
+2006-05-02 Tuesday 16:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/frompolyhedron1.cc (simplex.1): file
+	  frompolyhedron1.cc was added on branch simplex on 2006-05-08
+	  17:15:53 +0000
+
+2006-05-02 Tuesday 15:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/ppl_test.hh (octagons.3): Added support for checking the
+	  results of approximated Octagonal_Shape computations.
+
+2006-05-02 Tuesday 15:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: OR_Matrix.defs.hh, OR_Matrix.inlines.hh (octagons.[11,16]):
+	  All instances of OR_Matrix are now friends of each other.  Added
+	  constructor building an overapproximation of an OR_Matrix of a
+	  different coefficient type.
+
+2006-05-02 Tuesday 15:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Octagonal_Shape.defs.hh, Octagonal_Shape.inlines.hh
+	  (octagons.[6,4]): Added declarations and definitions of fucntions
+	  computing distances.	Added constructor converting from another
+	  Octagonal_Shape.  All instances of Octagonal_Shape are now
+	  friends of each other.
+
+2006-05-02 Tuesday 15:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: OR_Matrix.defs.hh, OR_Matrix.inlines.hh (octagons.[10,15]):
+	  Added declarations and definitions of helper functions for
+	  computing distances.
+
+2006-05-02 Tuesday 14:58  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: DB_Matrix.inlines.hh, Makefile.am, distances.defs.hh,
+	  distances.inlines.hh, distances.types.hh (octagons.[1,5,1,1,1]):
+	  Common code for computing distances put in files distances.*
+
+2006-05-02 Tuesday 12:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh (octagons.7): Restored previous
+	  version of is_strongly_reduced(): the modified version was not
+	  working as it was assumming that a strongly reduced matrix is
+	  just strongly closed plus Booleans indicating redundancies (as
+	  for BD shapes).  Removed a few redundant template qualifications.
+
+2006-05-02 Tuesday 12:31  Andrea Cimino
+
+	* demos/ppl_lpsol/ppl_lpsol.c (simplex.9): Don't confuse the class
+	  used to solve the lp problems and the name of the program.
+
+2006-05-02 Tuesday 10:29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: OR_Matrix.defs.hh, OR_Matrix.inlines.hh,
+	  Octagonal_Shape.defs.hh, Octagonal_Shape.inlines.hh
+	  (octagons.[9,14,5,3]): OR_Matrix should know nothing about
+	  coherence. Methods at() moved in Octagonal_Shape and named
+	  matrix_at().
+
+2006-05-02 Tuesday 10:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh (octagons.6): Corrected a bug in
+	  is_strongly_reduced().
+
+2006-05-02 Tuesday 09:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh (octagons.5): A few improvements
+	  to comments.	Added some missing const qualifiers; removed
+	  redundant parentheses.  Some improvements to the incremental
+	  strong closure procedure (mainly in readability). Corrected
+	  strong_coherence_assign().
+
+2006-04-30 Sunday 19:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.defs.hh (octagons.4): Removed declarations
+	  for no longer used alternative implementations of (incremental)
+	  strong closure.
+
+2006-04-30 Sunday 18:46  quartieri
+
+	* src/Octagonal_Shape.templates.hh (octagons.4): Corrected a bug in
+	  Octagonal_Shape<T>::affine_preimage().  Erased some
+	  duplicated code lines and corrected the insertion of constraints
+	  in	     Octagonal_Shape<T>::generalized_affine_preimage().
+
+2006-04-30 Sunday 15:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.inlines.hh (octagons.2): Avoid useless
+	  inclusions of iostream, sstream and stdexcept.  Avoid a few
+	  useless braces.  Deleted useless function
+	  strong_coherence_local_step().  Deleted functions
+	  get_matrix_element() (use OR_Matrix<T>::at() instead).  Some
+	  improvements (in particular, in assertion checking) in methods
+	  add_octagonal_constraint() and forget_octagonal_constraints().  A
+	  few documentation improvements.
+
+2006-04-30 Sunday 15:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: OR_Matrix.defs.hh, OR_Matrix.inlines.hh (octagons.[8,13]):
+	  Added methods at(dimension_type, dimension_type) that provide
+	  controlled access to the matrix as if it was a square matrix.
+	  Corrected method clear().
+
+2006-04-30 Sunday 15:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh (octagons.3): Corrected a bug in
+	  affine_dimension() regarding the identification of the singular
+	  zero-equivalence class.
+
+2006-04-30 Sunday 10:56  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (octagons.1): Drafted a common section for
+	  describing both BDSs and OSs.
+
+2006-04-30 Sunday 10:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.defs.hh (octagons.3): Corrected a LaTeX error
+	  in the documentation.
+
+2006-04-30 Sunday 09:03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (octagons.2): Added missing include
+	  directive for friend declaration.
+
+2006-04-30 Sunday 09:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/: Makefile.am (1.42), frompolyhedron1.cc (1.1):
+	  Added a test on the conversion from C_Polyhedron to BD_Shape
+	  exploiting the simplex algorithm.
+
+2006-04-29 Saturday 22:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh (1.9): Corrected the constructor taking
+	  a polyhedron an SIMPLEX_COMPLEXITY.
+
+2006-04-29 Saturday 22:18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh (octagons.2): Implemented the
+	  constructor building an OS from a Polyhedron.  Removed redundant
+	  template parameter in the argument of concatenate_assign().
+	  Small correction in the output of method OK().
+
+2006-04-29 Saturday 22:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.defs.hh (octagons.2): Corrected some comments
+	  (in particular, references to Doxygen documentation).
+
+2006-04-29 Saturday 22:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (octagons.1): Octagonal_Shape is a friend
+	  of Polyhedron (needed for conversion).
+
+2006-04-29 Saturday 22:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/OR_Matrix.inlines.hh (octagons.12): Removed redundant
+	  template parameter in the argument of operator-: it was confusing
+	  Doxygen.
+
+2006-04-29 Saturday 22:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/OR_Matrix.defs.hh (octagons.7): Removed trailing whitespace.
+
+2006-04-29 Saturday 12:15  Andrea Cimino
+
+	* tests/Polyhedron/lpproblem1.cc (simplex.3): Fixed the test to
+	  match the new expected result.
+
+2006-04-29 Saturday 11:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh (1.8): Corrected the two bugs in
+	  generalized_affine_preimage() shown by test04() and test05() in
+	  generalizedaffinepreimage2.cc.
+
+2006-04-29 Saturday 11:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/generalizedaffinepreimage2.cc (1.12): test05()
+	  shows a bug in BD_Shape::generalized_affine_preimage() that shows
+	  up when using GREATER_THAN_OR_EQUAL.
+
+2006-04-29 Saturday 11:04  Andrea Cimino
+
+	* src/LP_Problem.cc (simplex.42): Turned on the steepest edge
+	  floating point version.
+
+2006-04-29 Saturday 10:54  Andrea Cimino
+
+	* src/LP_Problem.cc (simplex.41): Removed redundant line.
+
+2006-04-29 Saturday 10:48  Andrea Cimino
+
+	* src/LP_Problem.cc (simplex.40): Turn off the steepest-edge
+	  floating point version by default.
+
+2006-04-29 Saturday 10:40  Andrea Cimino
+
+	* src/LP_Problem.cc (simplex.39): Fixed a bug in the floating point
+	  version: remember to initialize the values in the first loop
+	  before comparing `current' and `challenger' values.
+
+2006-04-29 Saturday 09:41  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh (1.7): In
+	  BD_Shape<T>::affine_preimage(), corrected the bug shown by
+	  test09() of affinepreimage2.cc.
+
+2006-04-29 Saturday 09:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/affinepreimage2.cc (1.12): test09() shows a bug in
+	  the computation of BD_Shape<T>::affine_preimage() under somehow
+	  specific conditions (expression is invertible and on a single
+	  variable, denominator is equal to opposite of the coefficient of
+	  the variable and the inhomogeneous term is non-zero).
+
+2006-04-28 Friday 23:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Makefile.am, src/Octagon.cc, src/Octagon.defs.hh,
+	  src/Octagon.inlines.hh, src/Octagon.templates.hh,
+	  src/Octagon.types.hh, src/Octagonal_Shape.cc,
+	  src/Octagonal_Shape.defs.hh, src/Octagonal_Shape.inlines.hh,
+	  src/Octagonal_Shape.templates.hh, src/Octagonal_Shape.types.hh,
+	  src/Og_Status.idefs.hh, src/Og_Status.inlines.hh,
+	  doc/devref.doxyconf-html.in, doc/devref.doxyconf-latex.in,
+	  tests/ppl_test.hh, tests/print.hh
+	  (octagons.[4,2,17,17,28,2,1,1,1,1,1,2,3,1,1,2,2]): Class template
+	  Octagon renamed to Octagonal_Shape.
+
+2006-04-28 Friday 17:27  quartieri
+
+	* src/: Octagon.defs.hh, Octagon.inlines.hh, Octagon.templates.hh
+	  (octagons.[16,16,27]): Improved the private methods
+	  Octagon<T>::forget_all_octagonal_constraints() and
+	  Octagon<T>::forget_binary_octagonal_constraints().
+
+2006-04-28 Friday 16:46  quartieri
+
+	* src/: Octagon.defs.hh, Octagon.inlines.hh, Octagon.templates.hh
+	  (octagons.[15,15,26]): Improved the private methods
+	  Octagon<T>::add_octagonal_constraint().
+
+2006-04-28 Friday 16:18  quartieri
+
+	* src/Octagon.templates.hh (octagons.25): Corrected a bug in
+	  Octagon<T>::generalized_affine_preimage() and added some tests
+	  for it.
+
+2006-04-28 Friday 14:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh (1.6): Corrected a couple of typos in
+	  the (optional) output produced by OK() when invarinats are
+	  violated.  Renamed iterators in BD_Shape(const Generator_System&)
+	  so as to avoid misleading name clash with space dimension
+	  indices.
+
+2006-04-27 Thursday 17:08  quartieri
+
+	* src/Octagon.templates.hh (octagons.24): Corrected a bug in
+	  Octagon::generalized_affine_preimage() and added a test for it.
+
+2006-04-27 Thursday 17:05  Elena Mazzi
+
+	* tests/BD_Shape/generalizedaffinepreimage2.cc (1.11): Corrected an
+	  error in `test04', but the bug remains.
+
+2006-04-27 Thursday 16:31  Elena Mazzi
+
+	* src/: OR_Matrix.defs.hh, OR_Matrix.inlines.hh (octagons.[6,11]):
+	  Improved the comments about the class OR_Matrix.
+
+2006-04-27 Thursday 13:56  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagon.templates.hh (octagons.23): Corrected a few spelling
+	  errors inside assertions.
+
+2006-04-27 Thursday 13:28  Elena Mazzi
+
+	* tests/BD_Shape/generalizedaffinepreimage2.cc (1.10): Added a new
+	  test that shows a bug in the method:
+	  BD_Shape::generalized_affine_preimage().
+
+2006-04-27 Thursday 12:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagon.templates.hh (octagons.22): Committed an improved
+	  version of the inner loop of strong_closure_assign(), avoiding
+	  repeated conditional tests and coherent indexes computations.
+
+2006-04-27 Thursday 12:23  quartieri
+
+	* src/Octagon.templates.hh (octagons.21): Corrected the functions
+	  Octagon<T>::affine_image(),
+	  Octagon<T>::affine_preimage(),
+	  Octagon<T>::generalized_affine_image(const Variable var,
+					     const Relation_Symbol relsym,
+						   const Linear_Expression&
+	  expr ,
+	  Coefficient_traits::const_reference
+			denominator),
+	  Octagon<T>::generalized_affine_image(const Linear_Expression&
+	  lhs,						 const
+	  Relation_Symbol relsym,
+	  const Linear_Expression& rhs).  Added the function
+	  Octagon<T>::generalized_affine_preimage().
+
+2006-04-27 Thursday 12:04  quartieri
+
+	* src/Octagon.inlines.hh (octagons.14): Defined the function
+	  Octagon<T>::forget_binary_octagonal_constraints().
+
+2006-04-27 Thursday 12:00  quartieri
+
+	* src/Octagon.defs.hh (octagons.14): Added the new functions
+	  void forget_binary_octagonal_constraints() and  void
+	  generalized_affine_preimage().
+
+2006-04-27 Thursday 10:38  Elena Mazzi
+
+	* src/: Octagon.defs.hh, Octagon.templates.hh (octagons.[13,20]):
+	  Renamed `compute_nexts()' with `compute_successors()'.  Replaced
+	  the word `next' with `successor'.  Removed an obsolete line in
+	  Octagon::strong_reduction_assign().
+
+2006-04-26 Wednesday 14:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: OR_Matrix.defs.hh, OR_Matrix.inlines.hh (octagons.[5,10]):
+	  Removed unused method OR_Matrix::erase_to_end().
+
+2006-04-26 Wednesday 14:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagon.templates.hh (octagons.19): Prefer
+	  OR_Matrix::shrink() to OR_Matrix::resize_no_copy() when we
+	  statically know that we are removing space dimensions.
+
+2006-04-26 Wednesday 14:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Octagon.defs.hh, Octagon.inlines.hh, Octagon.templates.hh
+	  (octagons.[12,13,18]): In Octagon.defs.hh:   Small formatting and
+	  documentation improvements (Use the multiline   Doxygen comment
+	  style for comments spanning more lines).    Methods grouped into
+	  classes (as done for other domains).	  Added declarations for
+	  debugging-related output methods.
+
+	  In Octagon.inlines.hh:   Do not include useless file headers
+	  (vector, deque, string).    Avoid lines that are twoo long and
+	  trailing whitespace.	  Use OR_Matrix::shrink() instead of
+	  OR_Matrix::remove_rows().
+
+	  In OR_Matrix.templates.hh:   Do include header file for strings.
+	    Several optimizations to strong_closure_assign().	 Added
+	  several missing const modifiers.    Prefer using "\n" to
+	  std::endl when printing on streams.
+
+2006-04-26 Wednesday 14:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Makefile.am, OR_Matrix.defs.hh, OR_Matrix.inlines.hh,
+	  OR_Matrix.templates.hh (octagons.[3,4,9,1]): In
+	  OR_Matrix.defs.hh:   Include globals.defs.hh; do not include
+	  vector and deque.    Small formatting and documentation
+	  improvements (Use the multiline    Doxygen comment style for
+	  comments spanning more lines).    Default constructor OR_Matrix()
+	  is now private and not implemented.	 Added method
+	  OR_Matrix::shrink() to remove some of the last dimensions    from
+	  the matrix; removed methods add_rows() and remove_rows().
+	  Corrected documentation of method ascii_dump & load.
+
+	  In OR_Matrix.inlines.hh:   Do not include useless file headers
+	  (vector, deque, string, iostream,   sstream, stdexcept).    Added
+	  missing inline declarations to methods row_size() and
+	  row_first_element_index(), as well as several const modifiers.
+	  Avoid lines that are twoo long and trailing whitespace.
+	  Removed (buggy) implementation of default constructor.
+	  Implemented new method OR_Matrix::shrink() and used in the
+	  implementation of resize_no_copy() (which still contains an
+	  efficiency bug).    Method that do not stand a chance of being
+	  inlined moved into	OR_Matrix.templates.hh (ascii_dump,
+	  ascii_load, operator<<, OK).
+
+	  In OR_Matrix.templates.hh:   Improved implementation of method
+	  OK() by printing the reasons	 of failures. Added
+	  debugging-related output methods.
+
+2006-04-26 Wednesday 12:09  Elena Mazzi
+
+	* src/Octagon.inlines.hh (octagons.12): Removed a silly and
+	  not-necessary function change(); renamed `position_cell()' with
+	  `get_matrix_element()'.
+
+2006-04-26 Wednesday 09:52  Elena Mazzi
+
+	* src/: Octagon.defs.hh, Octagon.templates.hh (octagons.[11,17]):
+	  Added a new constructor: Octagon(const Generator_System& gs).
+	  Improved and adjust some comments in Octagon::constraints().
+	  Improved the method Octagon::OK(): MINUS_INFINITY cannot occur at
+	  all.	Improved the method Octagon::is_strong_coherent(): removing
+	  some not necessary lines.
+
+	  Adjusted some comments in Octagon::map_space_dimensions(),
+	  Octagon::remove_space_dimensions().  Renamed also some silly
+	  variables.
+
+2006-04-20 Thursday 16:32  quartieri
+
+	* src/Octagon.templates.hh (octagons.16): Completed and corrected
+	  affine_image().  Corrected operator<<().  Cleaned some lines in
+	  affine_preimage().
+
+2006-04-20 Thursday 16:27  quartieri
+
+	* src/Octagon.inlines.hh (octagons.11): Corrected a wrong index in
+	  forget_all_octagonal_constraints().
+
+2006-04-20 Thursday 16:23  quartieri
+
+	* src/Octagon.defs.hh (octagons.10): Eliminated the wrong method
+	  `deduce_u_plus_v_bounds() and added the method
+	  deduce_minus_v_minus_u_bounds().
+
+2006-04-20 Thursday 08:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Ciao/ppl_ciao.pl (1.89), GNU/ppl_gprolog.pl
+	  (1.60), SICStus/ppl_sicstus_sd.cc (1.93), SWI/ppl_swiprolog.cc
+	  (1.123), XSB/ppl_xsb.H (1.48), XSB/ppl_xsb.cc (1.88),
+	  YAP/ppl_yap.cc (1.116): Restore previous versions of system
+	  dependent files.
+
+2006-04-20 Thursday 07:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_prolog.icc (1.177), Ciao/ppl_ciao.pl
+	  (1.88), GNU/ppl_gprolog.pl (1.59), SICStus/ppl_sicstus_sd.cc
+	  (1.92), SWI/ppl_swiprolog.cc (1.122), XSB/ppl_xsb.H (1.47),
+	  XSB/ppl_xsb.cc (1.87), YAP/ppl_yap.cc (1.115): Redundant widening
+	  code removed.
+
+2006-04-19 Wednesday 16:38  Elena Mazzi
+
+	* src/: Octagon.defs.hh, Octagon.inlines.hh, Octagon.templates.hh
+	  (octagons.[9,10,15]): Cleaned strong_reduction_assign().  Added a
+	  new method: Octagon::minimized_constraints().  Added tests for
+	  minimized_constraints().
+
+2006-04-19 Wednesday 15:02  Elena Mazzi
+
+	* src/Octagon.templates.hh (octagons.14): Fixed and added some
+	  comments in Octagon::concatenate_assign() and
+	  Octagon::is_strongly_reduced().
+
+2006-04-19 Wednesday 14:25  Elena Mazzi
+
+	* src/: Octagon.defs.hh, Octagon.templates.hh (octagons.[8,13]): No
+	  longer disregard the optional tokens parameter in the
+	  extrapolation and widening methods.  Renamed CH78_widening and
+	  limited_CH78_extrapolation respectly BHMZ05_widening and
+	  limited_BHMZ05_extrapolation.
+
+	  Tests for extrapolation and widening rewritten according to the
+	  new guidelines.
+
+2006-04-19 Wednesday 13:21  Elena Mazzi
+
+	* src/: Octagon.defs.hh, Octagon.inlines.hh, Octagon.templates.hh
+	  (octagons.[7,9,12]): No longer disregard the optional tokens
+	  parameter in the CC76_extrapolation_assign() methods.  Tests for
+	  Octagon::CC76_extrapolation_assign() rewritten according to the
+	  new guidelines.
+
+2006-04-19 Wednesday 12:55  quartieri
+
+	* src/: Octagon.defs.hh, Octagon.inlines.hh, Octagon.templates.hh
+	  (octagons.[6,8,11]): Fixed the constructors and some methods.
+	  Defined the methods	 deduce_v_plus_u_bounds() and
+	  deduce_u_plus_v_bounds() used by affine_image().
+
+2006-04-19 Wednesday 12:49  quartieri
+
+	* src/: OR_Matrix.defs.hh, OR_Matrix.inlines.hh (octagons.[3,8]):
+	  Replaced the private field 'num_rows_' with the field
+	  'space_dim', that is
+	  the dimension of the octagon represented by the OR_Matrix.
+
+2006-04-19 Wednesday 12:11  Elena Mazzi
+
+	* src/Octagon.templates.hh (octagons.10): Improved
+	  Octagon::CC76_narrowing_assign().  Tests for
+	  Octagon::CC76_narrowing_assign() rewritten according to the new
+	  guidelines.
+
+2006-04-19 Wednesday 12:05  Elena Mazzi
+
+	* src/BD_Shape.templates.hh (1.5): Corrected
+	  BD_Shape::get_limiting_shape().  Now there's no precision bug in
+	  BD_Shape::limited_CC76_extrapolation_assign().
+
+2006-04-19 Wednesday 11:54  Elena Mazzi
+
+	* tests/BD_Shape/limitedcc76extrapolation1.cc (1.8): Corrected test
+	  number `6', now it shows a precision bug.
+
+2006-04-19 Wednesday 11:31  Elena Mazzi
+
+	* src/Octagon.templates.hh (octagons.9): Cleaned
+	  Octagon::add_constraint.  Methods poly_hull_assign() and
+	  poly_hull_assign_and_minimize() renamed as oct_hull_assign() and
+	  oct_hull_assign_and_minimize().  Tests for
+	  Octagon::oct_hull_assign() rewritten according to the new
+	  guidelines.
+
+2006-04-18 Tuesday 23:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Octagon.defs.hh, Octagon.inlines.hh, Octagon.templates.hh
+	  (octagons.[5,7,8]): Corrected copyright year and address of the
+	  FSF.	Added method strictly_contains().  Methods
+	  poly_hull_assign() and poly_hull_assign_and_minimize() renamed as
+	  oct_hull_assign() and oct_hull_assign_and_minimize().  Added
+	  method upper_bound_assign().	Added methods
+	  oct_hull_assign_if_exact() and upper_bound_assign_if_exact(),
+	  both with dummy implementations always returning false.  Added
+	  method difference_assign().  Added token parameter tp to
+	  CH78_widening_assign(), temporarily ignored, so as to allow for
+	  using this widening in widen_fun_ref().  Duplicated code for
+	  numer_denom() and assign_min() removed: now using numer_denom()
+	  and min_assign() as defined in Implementation::BD_Shapes.
+
+2006-04-18 Tuesday 22:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/LP_Problem.cc (simplex.38): Improved
+	  LP_Problem::steepest_edge_entering_index() by avoiding duplicate
+	  computation and mitigating a problem (still present) whereby no
+	  caution is taken with respect to the possibility that
+	  mpq_class::get_d() (and, previously, also mpz_class::get_d())
+	  give rise to undefined behavior.  Added a FIXME not to forget
+	  about this problem.
+
+2006-04-18 Tuesday 21:01  Andrea Cimino
+
+	* demos/ppl_lpsol/ppl_lpsol.c (simplex.8): Be verbose only if
+	  requested.
+
+2006-04-18 Tuesday 19:44  Andrea Cimino
+
+	* demos/ppl_lpsol/ppl_lpsol.c (simplex.7): Modified `ppl_lpsol' for
+	  testing purposes: added the options --no-optimization (-n) and
+	  --incremental (-i).
+
+2006-04-16 Sunday 09:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/OR_Matrix.inlines.hh (octagons.7): Improved
+	  OR_Matrix<T>::ascii_load(): useless reference avoided, variable
+	  renamed, added a const qualifier.
+
+2006-04-16 Sunday 08:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref.doxyconf-html.in (1.72), devref.doxyconf-latex.in
+	  (1.12): Also generate devref docs from DB_Row.templates.hh and
+	  DB_Matrix.templates.hh.
+
+2006-04-16 Sunday 08:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Makefile.am (1.152): Take into account DB_Row.templates.hh
+	  and DB_Matrix.templates.hh.
+
+2006-04-16 Sunday 08:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: DB_Matrix.defs.hh (1.21), DB_Matrix.inlines.hh (1.26),
+	  DB_Matrix.templates.hh (1.1): DB_Matrix non-inline methods moved
+	  to DB_Matrix.templates.hh.
+
+2006-04-16 Sunday 08:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/DB_Matrix.templates.hh (octagons.1): file
+	  DB_Matrix.templates.hh was added on branch octagons on 2006-05-08
+	  16:16:43 +0000
+
+2006-04-16 Sunday 08:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/DB_Matrix.templates.hh (simplex.1): file
+	  DB_Matrix.templates.hh was added on branch simplex on 2006-05-08
+	  17:15:49 +0000
+
+2006-04-16 Sunday 08:44  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: DB_Row.defs.hh (1.18), DB_Row.inlines.hh (1.18),
+	  DB_Row.templates.hh (1.1): DB_Row non-inline methods moved in
+	  file DB_Row.templates.hh.  Methods begin() and end() are now
+	  declared inline.
+
+2006-04-16 Sunday 08:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/DB_Row.templates.hh (octagons.1): file DB_Row.templates.hh
+	  was added on branch octagons on 2006-05-08 16:16:43 +0000
+
+2006-04-16 Sunday 08:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/DB_Row.templates.hh (simplex.1): file DB_Row.templates.hh was
+	  added on branch simplex on 2006-05-08 17:15:49 +0000
+
+2006-04-14 Friday 18:25  quartieri
+
+	* src/OR_Matrix.inlines.hh (octagons.6): Improved
+	  IO_Operators::operator<<().
+
+2006-04-14 Friday 17:29  quartieri
+
+	* src/OR_Matrix.inlines.hh (octagons.5): Improved the method
+	  OR_Matrix<T>::ascii_load().
+
+2006-04-14 Friday 16:55  quartieri
+
+	* src/OR_Matrix.inlines.hh (octagons.4): Improved the method
+	  OR_Matrix<T>::grow().
+
+2006-04-14 Friday 16:27  quartieri
+
+	* src/OR_Matrix.inlines.hh (octagons.3): Removed a wrong comment.
+
+2006-04-14 Friday 15:50  quartieri
+
+	* src/OR_Matrix.defs.hh (octagons.2): Corrected some wrong
+	  comments.
+
+2006-04-13 Thursday 15:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/: affineimage2.cc (1.6), join1.cc (1.11): Added extra
+	  tests to match the running example in the Muller-Olm and Seidl
+	  2005 ESOP paper.  Small improvements to the tests using the
+	  example in the Muller-Olm and Seidl 2005 SAS paper
+
+2006-04-13 Thursday 15:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/affineimage2.cc (simplex.1): file affineimage2.cc was
+	  added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-04-13 Thursday 15:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/join1.cc (simplex.1): file join1.cc was added on
+	  branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-04-12 Wednesday 13:05  quartieri
+
+	* src/Octagon.inlines.hh (octagons.6): Restored a missing '#ifdef'
+	  line.
+
+2006-04-12 Wednesday 11:13  quartieri
+
+	* src/Octagon.inlines.hh (octagons.5): Removed the redundant
+	  definition of div_round_up: it is already in BD_Shape.inlines.hh.
+
+2006-04-11 Tuesday 17:06  quartieri
+
+	* src/: Octagon.defs.hh, Octagon.inlines.hh, Octagon.templates.hh
+	  (octagons.[4,4,7]): Removed the unnecessary algorithms of strong
+	  closure and incremental strong closure.
+
+2006-04-10 Monday 16:11  Elena Mazzi
+
+	* src/: Octagon.defs.hh, Octagon.templates.hh (octagons.[3,6]):
+	  Added a new method `Octagon::affine_dimension()'.  Defined a new
+	  function `Octagon::compute_leaders(leader)' that the above method
+	  uses.
+
+2006-04-10 Monday 13:57  Elena Mazzi
+
+	* src/: Octagon.defs.hh, Octagon.templates.hh (octagons.[2,5]):
+	  Method Octagon::poly_difference_assign() renamed
+	  Octagon::oct_difference_assign().  Corrected a bug in
+	  Octagon::oct_difference_assign().
+
+	  Improved Octagon::transitive_reduction_assign() using two new
+	  functions: Octagon::compute_nexts() and
+	  Octagon::compute_leaders().
+
+2006-04-08 Saturday 16:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Watchdog.cc (1.3): Typo fixed in comment.
+
+2006-04-07 Friday 09:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/print.hh (octagons.1): Added template <typename T> void
+	  print_constraints(const Parma_Polyhedra_Library::Octagon<T>& oc,
+	  const std::string& intro = "", std::ostream& s = nout).
+
+2006-04-07 Friday 07:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/: addconstraints1.cc, addspacedims1.cc,
+	  affineimage1.cc, affinepreimage1.cc, ascii_dump_load1.cc,
+	  bdsdifference1.cc, bdshull1.cc, bhmz05widening1.cc,
+	  cc76extrapolation1.cc, cc76narrowing1.cc, concatenate1.cc,
+	  constraints1.cc, generalizedaffineimage1.cc,
+	  generalizedaffineimage2.cc, h79widening1.cc, intersection1.cc,
+	  limitedbhmz05extrapolation1.cc, limitedcc76extrapolation1.cc,
+	  limitedh79extrapolation1.cc, mapspacedims1.cc,
+	  minconstraints1.cc, removespacedims1.cc, timeelapse1.cc
+	  (octagons.[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]):
+	  Spurious blank spaces removed.
+
+2006-04-07 Friday 07:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/universe1.cc (octagons.1): This test was wrong:
+	  fixed.
+
+2006-04-06 Thursday 21:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Makefile.am, Octagon.templates.hh, Og_Status.inlines.hh
+	  (octagons.[2,4,2]): Several corrections.
+
+2006-04-06 Thursday 08:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: DB_Row.defs.hh, OR_Matrix.inlines.hh, Octagon.inlines.hh,
+	  Octagon.templates.hh (octagons.[1,2,3,3]): More corrections.	One
+	  FIXME added to DB_Row.defs.hh concerning a "private" that was
+	  temporarily turned into "public".
+
+2006-04-05 Wednesday 17:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Octagon.inlines.hh, src/Octagon.templates.hh,
+	  src/globals.defs.hh, src/globals.inlines.hh, tests/ppl_test.hh
+	  (octagons.[2,2,1,1,1]): Lots of corrections.
+
+2006-04-05 Wednesday 14:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac, src/Makefile.am, src/OR_Matrix.defs.hh,
+	  src/OR_Matrix.inlines.hh, src/OR_Matrix.types.hh, src/Octagon.cc,
+	  src/Octagon.defs.hh, src/Octagon.inlines.hh,
+	  src/Octagon.templates.hh, src/Octagon.types.hh,
+	  src/Og_Status.idefs.hh, src/Og_Status.inlines.hh,
+	  tests/Makefile.am (octagons.[1,1,1,1,1,1,1,1,1,1,1,1,1]):
+	  Imported (with changes) from the private repository.
+
+2006-04-04 Tuesday 08:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.56): The `-V' option is only
+	  available with the PPL version.
+
+2006-04-03 Monday 09:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/grid3.cc (1.12): Revised failing tests for different
+	  checked integer configurations.
+
+2006-04-03 Monday 09:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/grid3.cc (simplex.1): file grid3.cc was added on
+	  branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-04-03 Monday 09:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Constraint.defs.hh (1.119), Constraint.inlines.hh (1.63):
+	  Added Constraint operator==(Variable v1, Variable v2), Constraint
+	  operator<=(Variable v1, Variable v2), Constraint
+	  operator>=(Variable v1, Variable v2), Constraint
+	  operator<(Variable v1, Variable v2) and Constraint
+	  operator>(Variable v1, Variable v2).
+
+2006-04-03 Monday 08:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BDS_Status.inlines.hh (1.13), BD_Shape.templates.hh (1.4),
+	  DB_Matrix.inlines.hh (1.25): Drop spurious semicolons.
+
+2006-04-03 Monday 08:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Constraint.defs.hh (1.118): Use vertical spacing to separate
+	  declarations from one another.
+
+2006-03-31 Friday 16:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: Grid.templates.hh (1.5), Grid_Generator.cc (1.7),
+	  Grid_Generator.defs.hh (1.15), Grid_Generator.inlines.hh (1.9),
+	  Grid_nonpublic.cc (1.8), Grid_public.cc (1.16): A grid generator
+	  is a "grid_line", "parameter" or "grid_point".
+
+2006-03-31 Friday 16:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Generator.inlines.hh (simplex.1): file
+	  Grid_Generator.inlines.hh was added on branch simplex on
+	  2006-05-08 17:15:49 +0000
+
+2006-03-31 Friday 14:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid_public.cc (1.15): Allow for the empty constraint system
+	  when constructing a grid.  This fixes a bug illustrated by test03
+	  in grid3.cc
+
+2006-03-31 Friday 14:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/grid3.cc (1.11): test03 inserted to show a bug in the
+	  grids system when constructing a grid from an empty constraint
+	  system.
+
+2006-03-28 Tuesday 17:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.192), README (1.49), configure.ac (1.231),
+	  src/Makefile.am (1.151): We are now in the 0.10 era.
+
+2006-03-28 Tuesday 11:19  Andrea Cimino
+
+	* src/: LP_Problem.cc, LP_Problem.defs.hh (simplex.[37,26]):
+	  Underline the difference betweeen the `steepest-edge' and
+	  `textbook' techniques.
+
+2006-03-24 Friday 22:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Grid_simplify.cc (1.11), Polyhedra_Powerset.templates.hh
+	  (1.3): Spurious semicolons removed.
+
+2006-03-24 Friday 22:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedra_Powerset.templates.hh (simplex.1): file
+	  Polyhedra_Powerset.templates.hh was added on branch simplex on
+	  2006-05-08 17:15:49 +0000
+
+2006-03-24 Friday 22:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_nonpublic.cc (1.7): Avoid variable re-declaration.
+
+2006-03-24 Friday 22:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Congruence.inlines.hh (1.7), Congruence_System.inlines.hh
+	  (1.4): Inline definitions moved before their first use.
+
+2006-03-24 Friday 22:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Congruence_System.inlines.hh (simplex.1): file
+	  Congruence_System.inlines.hh was added on branch simplex on
+	  2006-05-08 17:15:49 +0000
+
+2006-03-24 Friday 22:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/generator1.cc (simplex.1): file generator1.cc was
+	  added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-24 Friday 22:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid.templates.hh (1.4), src/Grid_Generator.cc (1.6),
+	  src/Grid_Generator.defs.hh (1.14), src/Grid_Generator.inlines.hh
+	  (1.8), src/Grid_conversion.cc (1.6), src/Grid_public.cc (1.14),
+	  src/Grid_simplify.cc (1.10), tests/Grid/generator1.cc (1.10):
+	  Method Coefficient& Grid_Generator::divisor() removed.  Method
+	  void
+	  Grid_Generator::set_divisor(Coefficient_traits::const_reference)
+	  added.
+
+2006-03-24 Friday 18:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Congruence_System.inlines.hh (1.3),
+	  Grid_Generator_System.inlines.hh (1.7): Inline definitions moved
+	  before their first use.
+
+2006-03-24 Friday 17:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/generator1.cc (1.9): FIXME added.
+
+2006-03-24 Friday 17:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Congruence_System.cc (1.10): Spurious variable re-declaration
+	  removed.
+
+2006-03-24 Friday 17:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BDS_Status.idefs.hh (1.17), BD_Shape.defs.hh (1.67),
+	  Congruence.cc (1.4), Congruence.defs.hh (1.7),
+	  Congruence.inlines.hh (1.6), Congruence_System.cc (1.9),
+	  Congruence_System.defs.hh (1.8), Constraint.cc (1.58),
+	  Constraint.defs.hh (1.117), Constraint_System.cc (1.17),
+	  Constraint_System.defs.hh (1.28), DB_Matrix.defs.hh (1.20),
+	  Generator.cc (1.69), Generator.defs.hh (1.117),
+	  Generator_System.cc (1.18), Generator_System.defs.hh (1.17),
+	  Grid.defs.hh (1.14), Grid_Generator.cc (1.5),
+	  Grid_Generator.defs.hh (1.13), Grid_Generator_System.cc (1.6),
+	  Grid_Generator_System.defs.hh (1.11), Grid_Status.cc (1.3),
+	  Grid_Status.idefs.hh (1.3), Grid_public.cc (1.13), LP_Problem.cc
+	  (1.13), LP_Problem.defs.hh (1.8), Linear_Row.cc (1.18),
+	  Linear_Row.defs.hh (1.19), Linear_System.cc (1.38),
+	  Linear_System.defs.hh (1.25), Matrix.cc (1.93), Matrix.defs.hh
+	  (1.76), Ph_Status.cc (1.10), Ph_Status.idefs.hh (1.17),
+	  Poly_Con_Relation.cc (1.13), Poly_Con_Relation.defs.hh (1.32),
+	  Poly_Gen_Relation.cc (1.13), Poly_Gen_Relation.defs.hh (1.30),
+	  Polyhedra_Powerset.defs.hh (1.34), Polyhedron.defs.hh (1.296),
+	  Polyhedron_public.cc (1.74), Row.cc (1.98), Row.defs.hh (1.105),
+	  Saturation_Matrix.cc (1.9), Saturation_Matrix.defs.hh (1.8):
+	  Unwanted semicolons removed.
+
+2006-03-24 Friday 17:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Congruence_System.defs.hh (simplex.1): file
+	  Congruence_System.defs.hh was added on branch simplex on
+	  2006-05-08 17:15:49 +0000
+
+2006-03-24 Friday 17:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid.defs.hh (simplex.1): file Grid.defs.hh was added on
+	  branch simplex on 2006-05-08 17:15:49 +0000
+
+2006-03-24 Friday 17:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Generator_System.defs.hh (simplex.1): file
+	  Grid_Generator_System.defs.hh was added on branch simplex on
+	  2006-05-08 17:15:49 +0000
+
+2006-03-24 Friday 17:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Status.idefs.hh (simplex.1): file Grid_Status.idefs.hh
+	  was added on branch simplex on 2006-05-08 17:15:49 +0000
+
+2006-03-24 Friday 16:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Generator.inlines.hh (1.7): Inline definitions moved
+	  before their first use.
+
+2006-03-24 Friday 15:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/: affinedim1.cc (1.9), bounded1.cc (1.10), bounds1.cc
+	  (1.11), discrete1.cc (1.4), maxmin1.cc (1.7), topclosed1.cc
+	  (1.8): Replaced assert(copy_compare(...)) with a comment.
+
+2006-03-24 Friday 15:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/affinedim1.cc (simplex.1): file affinedim1.cc was
+	  added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-24 Friday 15:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/bounded1.cc (simplex.1): file bounded1.cc was added on
+	  branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-24 Friday 15:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/bounds1.cc (simplex.1): file bounds1.cc was added on
+	  branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-24 Friday 15:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/discrete1.cc (simplex.1): file discrete1.cc was added
+	  on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-24 Friday 15:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/topclosed1.cc (simplex.1): file topclosed1.cc was
+	  added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-24 Friday 15:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid_Generator.defs.hh (1.12), src/Grid_Generator.inlines.hh
+	  (1.6), tests/Grid/generator1.cc (1.8): Added coefficient() to
+	  Grid_Generator class.
+
+2006-03-24 Friday 11:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/widening2.cc (1.3): There is positive overflow for
+	  tests 12 and 13 for checked 8.
+
+2006-03-24 Friday 11:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/widening2.cc (simplex.1): file widening2.cc was added
+	  on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-24 Friday 11:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Congruence.defs.hh (1.6): Indentation fixed.
+
+2006-03-24 Friday 11:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Congruence.defs.hh (1.5), Congruence.inlines.hh (1.5),
+	  Linear_Expression.defs.hh (1.24): Lots of bogus declarations
+	  fixed.
+
+2006-03-23 Thursday 23:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid_simplify.cc (1.9): All comments on right of code moved
+	  (and, as needed, reworded) to separate line(s) before code being
+	  commented.
+
+2006-03-23 Thursday 21:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Grid.defs.hh (1.13), Grid_simplify.cc (1.8): Enforce a bit
+	  of const-correctness.
+
+2006-03-23 Thursday 21:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_simplify.cc (1.7): Avoid the creation of several
+	  temporaries.
+
+2006-03-23 Thursday 14:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh (1.295), Polyhedron_chdims.cc (1.36),
+	  Polyhedron_public.cc (1.73): Do not use `f(...)' to mean function
+	  `f': use `f()' instead (the ellipsis indicates variable number of
+	  arguments in C++).  Puncutation fixes in comments.
+
+2006-03-22 Wednesday 13:27  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.196), src/Congruence.defs.hh (1.4),
+	  src/Congruence.inlines.hh (1.4), src/Linear_Expression.defs.hh
+	  (1.23), tests/Grid/congruence1.cc (1.11): Added n %= e to the
+	  allowed set of congruence constructors.  The current
+	  implementation is temporary; an executable specification needing
+	  friendship of Linear_Expression.
+
+2006-03-22 Wednesday 13:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/congruence1.cc (simplex.1): file congruence1.cc was
+	  added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-22 Wednesday 11:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ppl_test.hh (1.46): Removed find_variation(): it was plain
+	  nonsense.
+
+2006-03-16 Thursday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/limitedextrapolation3.cc (simplex.1): file
+	  limitedextrapolation3.cc was added on branch simplex on
+	  2006-05-08 17:15:56 +0000
+
+2006-03-16 Thursday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/widening1.cc (simplex.1): file widening1.cc was added
+	  on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-16 Thursday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/widening3.cc (simplex.1): file widening3.cc was added
+	  on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-16 Thursday 17:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.195), src/Grid.defs.hh (1.12),
+	  src/Grid_widenings.cc (1.6), tests/Grid/Makefile.am (1.29),
+	  tests/Grid/limitedextrapolation1.cc (1.8),
+	  tests/Grid/limitedextrapolation2.cc (1.2),
+	  tests/Grid/limitedextrapolation3.cc (1.1),
+	  tests/Grid/widening1.cc (1.10), tests/Grid/widening2.cc (1.2),
+	  tests/Grid/widening3.cc (1.1): There are now three flavours of
+	  grid widening.
+
+	  The `generator_widening_assign()' is as commited previously
+	  (using generators) and file `widening2.cc' tests this.
+
+	  The `congruence_widening_assign()' is a renaming of the old
+	  `widening_assign()' (using congruences) and `widening1.cc' tests
+	  this.
+
+	  The new `widening_assign()' uses either of the above two
+	  widenings depending on which of the systems describing the grid
+	  are up-to-date. The new test file `widening3.cc' tests this
+	  widening.
+
+	  There are, similarly, three flavours of a
+	  `limited_*extrapolation_assign()' operator.
+
+	  The documentation in `definitions.dox' on the grid widening has
+	  been brought up to date and improved.
+
+2006-03-16 Thursday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_widenings.cc (simplex.1): file Grid_widenings.cc was
+	  added on branch simplex on 2006-05-08 17:15:49 +0000
+
+2006-03-16 Thursday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/Makefile.am (simplex.1): file Makefile.am was added on
+	  branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-16 Thursday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/limitedextrapolation1.cc (simplex.1): file
+	  limitedextrapolation1.cc was added on branch simplex on
+	  2006-05-08 17:15:56 +0000
+
+2006-03-16 Thursday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/limitedextrapolation2.cc (simplex.1): file
+	  limitedextrapolation2.cc was added on branch simplex on
+	  2006-05-08 17:15:56 +0000
+
+2006-03-14 Tuesday 11:16  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid.defs.hh (1.11), src/Grid_Generator.defs.hh (1.11),
+	  src/Grid_Generator.inlines.hh (1.5), src/Grid_widenings.cc (1.5),
+	  tests/Grid/Makefile.am (1.28),
+	  tests/Grid/limitedextrapolation2.cc (1.1),
+	  tests/Grid/widening2.cc (1.1): Added new methods
+	  generator_widening_assign() and
+	  limited_generator_widening_assign() as defined in draft paper.
+
+	  Added method is_equal_at_dimension() for grid generators which is
+	  a clone of the existing method for congruences.
+
+	  widening2.cc and limitedextrapolation2.cc check the new widening.
+
+2006-03-13 Monday 15:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/Makefile.am (1.27): Added ascii_dump_load1.dat to
+	  MOSTLYCLEANFILES.
+
+2006-03-12 Sunday 20:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/congruencesystem1.cc (1.10): Tests in
+	  congruencesystem1.cc now included in congruences2.cc.
+
+2006-03-12 Sunday 10:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid_widenings.cc (1.4): Typo in comment corrected.
+
+2006-03-12 Sunday 10:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/: Makefile.am (1.26), congruences1.cc (1.8),
+	  congruences2.cc (1.1), congruencesystem1.cc (1.9), generator1.cc
+	  (1.7), generators1.cc (1.10), grid3.cc (1.10),
+	  removespacedims1.cc (1.9), removespacedims2.cc (1.7): To improve
+	  coverage of testing added further tests.
+
+	  Test program congruences1 split into congruences1 and
+	  congruences2 to make room for extra tsets in congruences1.
+
+	  Tests in removespacedims1 check remove_space_dimensions while
+	  tests in  removespacedims2 check remove_higher_space_dimensions.
+
+2006-03-12 Sunday 10:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/congruences1.cc (simplex.1): file congruences1.cc was
+	  added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-12 Sunday 10:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/congruences2.cc (simplex.1): file congruences2.cc was
+	  added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-12 Sunday 10:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/generators1.cc (simplex.1): file generators1.cc was
+	  added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-12 Sunday 10:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/removespacedims1.cc (simplex.1): file
+	  removespacedims1.cc was added on branch simplex on 2006-05-08
+	  17:15:56 +0000
+
+2006-03-12 Sunday 10:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/removespacedims2.cc (simplex.1): file
+	  removespacedims2.cc was added on branch simplex on 2006-05-08
+	  17:15:56 +0000
+
+2006-03-12 Sunday 08:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (ppl-0_9-branch.1): Update version.
+
+2006-03-12 Sunday 08:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/ChangeLog, ChangeLog (ppl-0_9-branch.[1,1]): Mark
+	  ChangeLog.
+
+2006-03-11 Saturday 12:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/asciidumpload2.cc (1.1): Further tests for
+	  ascii_load() to improve coverage.
+
+2006-03-11 Saturday 12:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/asciidumpload2.cc (simplex.1): file asciidumpload2.cc
+	  was added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-11 Saturday 12:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/: Makefile.am (1.25), addconstraints1.cc (1.9),
+	  addspacedims1.cc (1.10), asciidumpload1.cc (1.7), concatenate1.cc
+	  (1.10), congruence1.cc (1.10), congruencesystem1.cc (1.8),
+	  equals1.cc (1.9), generators1.cc (1.9), grid2.cc (1.10), grid3.cc
+	  (1.9), mincongruences1.cc (1.8), relations1.cc (1.10),
+	  relations2.cc (1.9), removespacedims1.cc (1.8): Small changes o
+	  existing tests.  Several new tests (in the existing files added
+	  to improve test coverage.  A few of these extra tests showed up
+	  bugs that are now fixed.
+
+2006-03-11 Saturday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/addconstraints1.cc (simplex.1): file
+	  addconstraints1.cc was added on branch simplex on 2006-05-08
+	  17:15:56 +0000
+
+2006-03-11 Saturday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/addspacedims1.cc (simplex.1): file addspacedims1.cc
+	  was added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-11 Saturday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/concatenate1.cc (simplex.1): file concatenate1.cc was
+	  added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-11 Saturday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/equals1.cc (simplex.1): file equals1.cc was added on
+	  branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-11 Saturday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/grid2.cc (simplex.1): file grid2.cc was added on
+	  branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-11 Saturday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/mincongruences1.cc (altnum.1): file mincongruences1.cc
+	  was added on branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-03-11 Saturday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/mincongruences1.cc (simplex.1): file
+	  mincongruences1.cc was added on branch simplex on 2006-05-08
+	  17:15:56 +0000
+
+2006-03-11 Saturday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/relations1.cc (simplex.1): file relations1.cc was
+	  added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-11 Saturday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/relations2.cc (simplex.1): file relations2.cc was
+	  added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-11 Saturday 09:53  Andrea Cimino
+
+	* TODO (simplex.4): Removed the previously added item.	In the
+	  incremental implementation, the check that a slack variable can
+	  avoid an artifical one is already implemented.
+
+2006-03-11 Saturday 08:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.26): Updated.
+
+2006-03-11 Saturday 08:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.lsm.in (1.8): Updated.
+
+2006-03-10 Friday 19:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/README (1.2): Incomplete sentence removed.
+
+2006-03-10 Friday 19:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/README (altnum.1): file README was added on branch altnum
+	  on 2006-10-29 19:26:52 +0000
+
+2006-03-10 Friday 19:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/README (simplex.1): file README was added on branch
+	  simplex on 2006-05-08 17:15:45 +0000
+
+2006-03-10 Friday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/changelog (1.4): Updated for PPL 0.9.
+
+2006-03-10 Friday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/changelog (altnum.1): file changelog was added on branch
+	  altnum on 2006-10-29 19:26:52 +0000
+
+2006-03-10 Friday 17:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.25), Watchdog/ChangeLog (1.15): Updated.
+
+2006-03-10 Friday 17:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: README.doc (1.10), devref.tex (1.20), user.tex (1.21):
+	  Followed the advice of the people at FSF: it should now be
+	  overwhelmingly clear that the documentation is distributed under
+	  the terms of the GNU Free Documentation License, Version 1.2 or
+	  any later version published by the Free Software Foundation.
+
+2006-03-10 Friday 16:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.48), Watchdog/README (1.14): Updated.
+
+2006-03-10 Friday 16:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.47): Formatting improved.
+
+2006-03-10 Friday 10:47  Andrea Cimino
+
+	* TODO (simplex.3): Added one item.
+
+2006-03-10 Friday 10:40  Andrea Cimino
+
+	* src/LP_Problem.cc (simplex.36): Fixed a comment, due to the
+	  change in the last commit.
+
+2006-03-10 Friday 10:36  Andrea Cimino
+
+	* src/LP_Problem.cc (simplex.35): Don't add artificial variables
+	  also if the inhomogeneous term of an inequality is a zero. In
+	  many problems this decreases the number of iterations involved,
+	  specially in the satisfiability check.
+
+2006-03-10 Friday 10:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid_simplify.cc (1.6): Added a FIXME comment.
+
+2006-03-10 Friday 09:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid_simplify.cc (1.5): Fixed a bug in Grid simplify when
+	  there are two all zero (trivially true) equalities.
+
+2006-03-09 Thursday 11:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/linearsystem1.cc (1.6): Added a workaround to
+	  avoid trivial (but intermittent) positive overflows when
+	  populating a Linear_Row with randomly generated values and using
+	  a bounded integer datatype.
+
+2006-03-09 Thursday 10:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Random_Number_Generator.defs.hh (1.3),
+	  Random_Number_Generator.inlines.hh (1.8): Allow for the
+	  specification of a fixed seed.
+
+2006-03-09 Thursday 10:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Random_Number_Generator.defs.hh (altnum.1): file
+	  Random_Number_Generator.defs.hh was added on branch altnum on
+	  2006-10-29 19:27:21 +0000
+
+2006-03-09 Thursday 10:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Random_Number_Generator.inlines.hh (altnum.1): file
+	  Random_Number_Generator.inlines.hh was added on branch altnum on
+	  2006-10-29 19:27:21 +0000
+
+2006-03-09 Thursday 08:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: Grid_Generator.cc (1.4), Grid_Generator_System.inlines.hh
+	  (1.6): Comments concerning the extra parameter divisor column
+	  improved.
+
+2006-03-08 Wednesday 23:27  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid_Generator_System.inlines.hh (1.5): Bug fixed for
+	  clear().
+
+2006-03-08 Wednesday 21:43  Andrea Cimino
+
+	* src/: LP_Problem.cc, LP_Problem.defs.hh (simplex.[34,25]): Major
+	  improvement: check if a slack variable can avoid to insert an
+	  (useless) artificial variable.  Now (in the standard way, not
+	  incremental) the simplex solves `boeing1.mps --max' in half the
+	  time than before!
+
+2006-03-08 Wednesday 11:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/: ppl_lcdd/Makefile.am (1.26), ppl_lpsol/Makefile.am
+	  (1.30): Fixed the use of ECHO_N and ECHO_C.
+
+2006-03-08 Wednesday 08:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid_Generator_System.cc (1.5): Fixed a bug in
+	  remove_higher_space_dimensions().
+
+2006-03-08 Wednesday 07:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/: ppl_lcdd/Makefile.am (1.25), ppl_lpsol/Makefile.am
+	  (1.29): No longer use `echo -n': it is non portable.
+
+2006-03-08 Wednesday 07:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/Makefile.am (1.55): Enforce dependencies
+	  in order to cater for parallel builds.
+
+2006-03-07 Tuesday 22:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/Makefile.am (1.28): No longer use the
+	  non-portable `-e' option of `grep'.  On Solaris, optima are
+	  compared only up to 8 digits of precision.
+
+2006-03-07 Tuesday 21:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.230): New Automake conditional HOST_OS_SOLARIS.
+
+2006-03-07 Tuesday 21:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/Makefile.am (1.27): No longer use the
+	  `--ignore-all-space' option of `diff'.  Check the obtained optima
+	  also under Darwin.
+
+2006-03-07 Tuesday 16:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Congruence_System.cc (1.8): Code change in previous commit
+	  revised and improved.
+
+2006-03-07 Tuesday 16:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Congruence_System.cc (1.7): Bug fixed in
+	  PPL::Congruence_System::insert(const Congruence_System& y)
+
+2006-03-07 Tuesday 13:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Congruence_System.cc (1.6): Fixed a bug in is_equal-to():
+	  Return false if the congruence systems do not have the same
+	  number of rows.
+
+2006-03-07 Tuesday 08:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* STANDARDS (1.33): Typo corrected.  Revised for new standards for
+	  test programs.
+
+2006-03-07 Tuesday 08:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/Makefile.am (1.26): The `--ignore-all-space' of
+	  `diff' is not portable.
+
+2006-03-07 Tuesday 07:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* README (1.46): Added an item about grids.
+
+2006-03-06 Monday 15:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/Makefile.am (1.25): Check obtained optima on
+	  Cygwin.
+
+2006-03-06 Monday 14:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/: expected_int16 (1.5), expected_int16_a (1.5),
+	  expected_int32 (1.6), expected_int32_a (1.6), expected_int64
+	  (1.6), expected_int64_a (1.6), expected_int8 (1.5),
+	  expected_int8_a (1.4), expected_mpz (1.7), expected_mpz_a (1.7),
+	  ppl_lpsol.c (1.30): Use a different format to print the optimum
+	  value.
+
+2006-03-06 Monday 13:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.88): The failing configurations
+	  of dualhypercubes.cc are now recorded inside the test.
+
+2006-03-06 Monday 13:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/Makefile.am (1.24): Invoke `ppl_lpsol' with the
+	  `-c' option, when assertions are disabled.
+
+2006-03-06 Monday 13:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.29): Drafted a partial
+	  implementation for option -c (check result). Currently, it only
+	  tests for the feasibility of the computed optimal point.
+
+2006-03-06 Monday 12:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/Makefile.am (1.54): Dependencies fixed.
+
+2006-03-06 Monday 11:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/dualhypercubes.cc (1.8): Started adapting it to
+	  the new standards (but still checking nothing).
+
+2006-03-06 Monday 11:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/maxspacedim1.cc (1.7): Added a fixme: the test
+	  is only doing some compile-time type checking.
+
+2006-03-06 Monday 11:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: minconstraints2.cc (1.10), nncminimize1.cc
+	  (1.4): Using std::distance() to compute the number of
+	  constraints/generators and check their count is the expected one.
+
+2006-03-06 Monday 11:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/nncminimize1.cc (altnum.1): file nncminimize1.cc
+	  was added on branch altnum on 2006-10-29 19:27:32 +0000
+
+2006-03-06 Monday 11:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/nncminimize1.cc (simplex.1): file
+	  nncminimize1.cc was added on branch simplex on 2006-05-08
+	  17:15:57 +0000
+
+2006-03-06 Monday 11:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Congruence_System.defs.hh (1.7), Constraint_System.defs.hh
+	  (1.27), Generator_System.defs.hh (1.16),
+	  Grid_Generator_System.defs.hh (1.10): Let the const_iterator's of
+	  systems of constraints, generators, congruences and
+	  grid-genreators define the type alias difference_type, so as to
+	  allow for their use in algorithm such as std::distance.
+	  Corrected a bug in Grid_Generator_System, which was defining none
+	  of the required type aliases.
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/addcongruence1.cc (altnum.1): file
+	  addcongruence1.cc was added on branch altnum on 2006-10-29
+	  19:27:32 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Grid/addcongruence1.cc, Polyhedron/addcongruence1.cc
+	  (simplex.[1,1]): file addcongruence1.cc was added on branch
+	  simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/addcongruences1.cc (altnum.1): file
+	  addcongruences1.cc was added on branch altnum on 2006-10-29
+	  19:27:32 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Grid/addcongruences1.cc, Polyhedron/addcongruences1.cc
+	  (simplex.[1,1]): file addcongruences1.cc was added on branch
+	  simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/addconstraint1.cc (simplex.1): file addconstraint1.cc
+	  was added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/addgenerator1.cc (simplex.1): file addgenerator1.cc
+	  was added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/addgenerators1.cc (simplex.1): file addgenerators1.cc
+	  was added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/affineimage1.cc (simplex.1): file affineimage1.cc was
+	  added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/affinepreimage1.cc (simplex.1): file
+	  affinepreimage1.cc was added on branch simplex on 2006-05-08
+	  17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/affinepreimage2.cc (simplex.1): file
+	  affinepreimage2.cc was added on branch simplex on 2006-05-08
+	  17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/bhz03widening1.cc (simplex.1): file bhz03widening1.cc
+	  was added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/boundedaffineimage1.cc (altnum.1): file
+	  boundedaffineimage1.cc was added on branch altnum on 2006-10-29
+	  19:27:32 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/boundedaffinepreimage1.cc (altnum.1): file
+	  boundedaffinepreimage1.cc was added on branch altnum on
+	  2006-10-29 19:27:32 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/boundedbhrz03extrapolation1.cc (altnum.1): file
+	  boundedbhrz03extrapolation1.cc was added on branch altnum on
+	  2006-10-29 19:27:32 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/boundingbox1.cc (simplex.1): file boundingbox1.cc was
+	  added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/boundingbox2.cc (simplex.1): file boundingbox2.cc was
+	  added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/certificate1.cc (simplex.1): file certificate1.cc was
+	  added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/cnncconversion1.cc (altnum.1): file
+	  cnncconversion1.cc was added on branch altnum on 2006-10-29
+	  19:27:32 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/cnncconversion1.cc (simplex.1): file
+	  cnncconversion1.cc was added on branch simplex on 2006-05-08
+	  17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/congruences1.cc (altnum.1): file congruences1.cc
+	  was added on branch altnum on 2006-10-29 19:27:32 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/congruences1.cc (simplex.1): file
+	  congruences1.cc was added on branch simplex on 2006-05-08
+	  17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/contains1.cc (simplex.1): file contains1.cc was added
+	  on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/copyconstruct1.cc (altnum.1): file copyconstruct1.cc
+	  was added on branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/copyconstruct1.cc (simplex.1): file copyconstruct1.cc
+	  was added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/coveringbox1.cc (simplex.1): file coveringbox1.cc was
+	  added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/coveringbox2.cc (simplex.1): file coveringbox2.cc was
+	  added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/disjoint1.cc (simplex.1): file disjoint1.cc was added
+	  on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/expandspacedim1.cc (simplex.1): file
+	  expandspacedim1.cc was added on branch simplex on 2006-05-08
+	  17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/foldspacedims1.cc (simplex.1): file foldspacedims1.cc
+	  was added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/generalizedaffineimage1.cc (simplex.1): file
+	  generalizedaffineimage1.cc was added on branch simplex on
+	  2006-05-08 17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/generalizedaffineimage2.cc (simplex.1): file
+	  generalizedaffineimage2.cc was added on branch simplex on
+	  2006-05-08 17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/generalizedaffinepreimage1.cc (altnum.1): file
+	  generalizedaffinepreimage1.cc was added on branch altnum on
+	  2006-10-29 19:27:32 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/generalizedaffinepreimage1.cc (simplex.1): file
+	  generalizedaffinepreimage1.cc was added on branch simplex on
+	  2006-05-08 17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/generalizedaffinepreimage2.cc (altnum.1): file
+	  generalizedaffinepreimage2.cc was added on branch altnum on
+	  2006-10-29 19:27:32 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/generalizedaffinepreimage2.cc (simplex.1): file
+	  generalizedaffinepreimage2.cc was added on branch simplex on
+	  2006-05-08 17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/grid1.cc (simplex.1): file grid1.cc was added on
+	  branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/griddifference1.cc (simplex.1): file
+	  griddifference1.cc was added on branch simplex on 2006-05-08
+	  17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/intersection1.cc (simplex.1): file intersection1.cc
+	  was added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/isempty1.cc (simplex.1): file isempty1.cc was added on
+	  branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/isuniverse1.cc (altnum.1): file isuniverse1.cc was
+	  added on branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/isuniverse1.cc (simplex.1): file isuniverse1.cc was
+	  added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/join2.cc (simplex.1): file join2.cc was added on
+	  branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/mapspacedims1.cc (simplex.1): file mapspacedims1.cc
+	  was added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/membytes1.cc (simplex.1): file membytes1.cc was added
+	  on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/mingenerators1.cc (simplex.1): file mingenerators1.cc
+	  was added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/nncminimize2.cc (altnum.1): file nncminimize2.cc
+	  was added on branch altnum on 2006-10-29 19:27:32 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/nncminimize2.cc (simplex.1): file
+	  nncminimize2.cc was added on branch simplex on 2006-05-08
+	  17:15:57 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/numberinput1.cc (altnum.1): file numberinput1.cc
+	  was added on branch altnum on 2006-10-29 19:27:32 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/timeelapse1.cc (simplex.1): file timeelapse1.cc was
+	  added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/topclosure1.cc (altnum.1): file topclosure1.cc was
+	  added on branch altnum on 2006-10-29 19:27:28 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/topclosure1.cc (simplex.1): file topclosure1.cc was
+	  added on branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: ppl_test.hh (1.45), BD_Shape/addconstraints1.cc (1.11),
+	  BD_Shape/addspacedims1.cc (1.11), BD_Shape/affinedimension1.cc
+	  (1.7), BD_Shape/affineimage1.cc (1.12), BD_Shape/affineimage2.cc
+	  (1.11), BD_Shape/affinepreimage1.cc (1.12),
+	  BD_Shape/affinepreimage2.cc (1.11), BD_Shape/ascii_dump_load1.cc
+	  (1.12), BD_Shape/bdsdifference1.cc (1.8), BD_Shape/bdshull1.cc
+	  (1.8), BD_Shape/bgp99extrapolation1.cc (1.7),
+	  BD_Shape/bhmz05widening1.cc (1.8), BD_Shape/bhz03widening1.cc
+	  (1.7), BD_Shape/cc76extrapolation1.cc (1.12),
+	  BD_Shape/cc76narrowing1.cc (1.12), BD_Shape/closure1.cc (1.14),
+	  BD_Shape/concatenate1.cc (1.11), BD_Shape/constraints1.cc (1.14),
+	  BD_Shape/contains1.cc (1.10), BD_Shape/empty1.cc (1.9),
+	  BD_Shape/equality1.cc (1.14), BD_Shape/fromgensys1.cc (1.11),
+	  BD_Shape/generalizedaffineimage1.cc (1.13),
+	  BD_Shape/generalizedaffineimage2.cc (1.13),
+	  BD_Shape/generalizedaffinepreimage1.cc (1.12),
+	  BD_Shape/generalizedaffinepreimage2.cc (1.9),
+	  BD_Shape/geomcovers1.cc (1.7), BD_Shape/h79widening1.cc (1.10),
+	  BD_Shape/intersection1.cc (1.11),
+	  BD_Shape/limitedbhmz05extrapolation1.cc (1.7),
+	  BD_Shape/limitedcc76extrapolation1.cc (1.7),
+	  BD_Shape/limitedh79extrapolation1.cc (1.10),
+	  BD_Shape/mapspacedims1.cc (1.11), BD_Shape/maxspacedim.cc (1.13),
+	  BD_Shape/minconstraints1.cc (1.7), BD_Shape/relations1.cc (1.15),
+	  BD_Shape/relations2.cc (1.16), BD_Shape/relations3.cc (1.13),
+	  BD_Shape/removespacedims1.cc (1.12), BD_Shape/timeelapse1.cc
+	  (1.11), BD_Shape/universe1.cc (1.11), BD_Shape/writebdshape1.cc
+	  (1.7), Grid/addcongruence1.cc (1.8), Grid/addcongruences1.cc
+	  (1.10), Grid/addconstraint1.cc (1.8), Grid/addconstraints1.cc
+	  (1.8), Grid/addgenerator1.cc (1.10), Grid/addgenerators1.cc
+	  (1.6), Grid/addspacedims1.cc (1.9), Grid/affinedim1.cc (1.8),
+	  Grid/affineimage1.cc (1.10), Grid/affineimage2.cc (1.5),
+	  Grid/affinepreimage1.cc (1.8), Grid/affinepreimage2.cc (1.3),
+	  Grid/asciidumpload1.cc (1.6), Grid/bhz03widening1.cc (1.8),
+	  Grid/bounded1.cc (1.9), Grid/boundingbox1.cc (1.8),
+	  Grid/boundingbox2.cc (1.7), Grid/bounds1.cc (1.10),
+	  Grid/certificate1.cc (1.10), Grid/concatenate1.cc (1.9),
+	  Grid/congruence1.cc (1.9), Grid/congruences1.cc (1.7),
+	  Grid/congruencesystem1.cc (1.7), Grid/contains1.cc (1.8),
+	  Grid/copyconstruct1.cc (1.6), Grid/coveringbox1.cc (1.7),
+	  Grid/coveringbox2.cc (1.8), Grid/discrete1.cc (1.3),
+	  Grid/disjoint1.cc (1.7), Grid/equals1.cc (1.8),
+	  Grid/expandspacedim1.cc (1.7), Grid/foldspacedims1.cc (1.7),
+	  Grid/generalizedaffineimage1.cc (1.8),
+	  Grid/generalizedaffineimage2.cc (1.8),
+	  Grid/generalizedaffinepreimage1.cc (1.9),
+	  Grid/generalizedaffinepreimage2.cc (1.9), Grid/generator1.cc
+	  (1.6), Grid/generators1.cc (1.8), Grid/grid1.cc (1.12),
+	  Grid/grid2.cc (1.9), Grid/grid3.cc (1.8), Grid/griddifference1.cc
+	  (1.8), Grid/intersection1.cc (1.7), Grid/isempty1.cc (1.5),
+	  Grid/isuniverse1.cc (1.8), Grid/join1.cc (1.10), Grid/join2.cc
+	  (1.6), Grid/limitedextrapolation1.cc (1.7), Grid/mapspacedims1.cc
+	  (1.8), Grid/maxmin1.cc (1.6), Grid/membytes1.cc (1.5),
+	  Grid/mincongruences1.cc (1.7), Grid/mingenerators1.cc (1.7),
+	  Grid/outputoperator1.cc (1.5), Grid/relations1.cc (1.9),
+	  Grid/relations2.cc (1.8), Grid/removespacedims1.cc (1.7),
+	  Grid/timeelapse1.cc (1.7), Grid/topclosed1.cc (1.7),
+	  Grid/topclosure1.cc (1.6), Grid/widening1.cc (1.9),
+	  Grid/writecongruencesystem.cc (1.5), Polyhedron/addcongruence1.cc
+	  (1.6), Polyhedron/addcongruences1.cc (1.8),
+	  Polyhedron/addconstraint1.cc (1.8), Polyhedron/addconstraints1.cc
+	  (1.9), Polyhedron/addconstraints2.cc (1.8),
+	  Polyhedron/addgenerator1.cc (1.9), Polyhedron/addgenerator2.cc
+	  (1.9), Polyhedron/addgenerators1.cc (1.9),
+	  Polyhedron/addgenerators2.cc (1.9), Polyhedron/addspacedims1.cc
+	  (1.9), Polyhedron/addspacedims2.cc (1.9),
+	  Polyhedron/affineimage1.cc (1.9), Polyhedron/affineimage2.cc
+	  (1.9), Polyhedron/affinepreimage1.cc (1.8),
+	  Polyhedron/affinetrans.cc (1.9), Polyhedron/ascii_dump_load1.cc
+	  (1.8), Polyhedron/ascii_dump_load2.cc (1.8),
+	  Polyhedron/ascii_dump_load3.cc (1.9),
+	  Polyhedron/bgp99extrapolation1.cc (1.10),
+	  Polyhedron/bhrz03widening1.cc (1.8),
+	  Polyhedron/bhrz03widening2.cc (1.8),
+	  Polyhedron/bhrz03widening3.cc (1.9), Polyhedron/bhz03widening1.cc
+	  (1.10), Polyhedron/bounded1.cc (1.9),
+	  Polyhedron/boundedaffineimage1.cc (1.7),
+	  Polyhedron/boundedaffinepreimage1.cc (1.6),
+	  Polyhedron/boundedbhrz03extrapolation1.cc (1.7),
+	  Polyhedron/boundedh79extrapolation1.cc (1.9),
+	  Polyhedron/boundingbox1.cc (1.12), Polyhedron/boundingbox2.cc
+	  (1.11), Polyhedron/boundingbox3.cc (1.12), Polyhedron/bounds1.cc
+	  (1.9), Polyhedron/cnncconversion1.cc (1.2),
+	  Polyhedron/concatenate1.cc (1.8), Polyhedron/congruences1.cc
+	  (1.6), Polyhedron/constraints1.cc (1.8), Polyhedron/contains1.cc
+	  (1.8), Polyhedron/contains2.cc (1.8), Polyhedron/disjoint1.cc
+	  (1.8), Polyhedron/disjoint2.cc (1.10), Polyhedron/empty1.cc
+	  (1.9), Polyhedron/equals1.cc (1.8), Polyhedron/expandspacedim1.cc
+	  (1.10), Polyhedron/expandspacedim2.cc (1.10),
+	  Polyhedron/foldspacedims1.cc (1.12), Polyhedron/foldspacedims2.cc
+	  (1.12), Polyhedron/generalizedaffineimage1.cc (1.9),
+	  Polyhedron/generalizedaffineimage2.cc (1.9),
+	  Polyhedron/generalizedaffinepreimage1.cc (1.6),
+	  Polyhedron/generalizedaffinepreimage2.cc (1.6),
+	  Polyhedron/generators1.cc (1.9), Polyhedron/geomcovers1.cc
+	  (1.11), Polyhedron/h79widening1.cc (1.8),
+	  Polyhedron/h79widening2.cc (1.8), Polyhedron/intersection1.cc
+	  (1.10), Polyhedron/limitedh79extrapolation1.cc (1.8),
+	  Polyhedron/linearpartition1.cc (1.8), Polyhedron/linearsystem1.cc
+	  (1.5), Polyhedron/linexpression1.cc (1.8),
+	  Polyhedron/lpproblem1.cc (1.7), Polyhedron/mapspacedims1.cc
+	  (1.11), Polyhedron/max_min1.cc (1.9), Polyhedron/mc91.cc (1.12),
+	  Polyhedron/minconstraints1.cc (1.8),
+	  Polyhedron/minconstraints2.cc (1.9), Polyhedron/mingenerators1.cc
+	  (1.8), Polyhedron/mingenerators2.cc (1.9),
+	  Polyhedron/nncminimize1.cc (1.3), Polyhedron/nncminimize2.cc
+	  (1.5), Polyhedron/numberinput1.cc (1.28), Polyhedron/onepoint.cc
+	  (1.9), Polyhedron/polydifference1.cc (1.8),
+	  Polyhedron/polydifference2.cc (1.8), Polyhedron/polyhull1.cc
+	  (1.8), Polyhedron/polyhull2.cc (1.9), Polyhedron/polypowerset1.cc
+	  (1.20), Polyhedron/relations1.cc (1.8), Polyhedron/relations2.cc
+	  (1.9), Polyhedron/relations3.cc (1.8),
+	  Polyhedron/removespacedims1.cc (1.8),
+	  Polyhedron/removespacedims2.cc (1.8), Polyhedron/timeelapse1.cc
+	  (1.8), Polyhedron/timeelapse2.cc (1.9), Polyhedron/topclosed1.cc
+	  (1.9), Polyhedron/topclosure1.cc (1.8), Polyhedron/universe1.cc
+	  (1.8), Polyhedron/universe2.cc (1.8), Polyhedron/writeconsys1.cc
+	  (1.8), Polyhedron/writegensys1.cc (1.8),
+	  Polyhedron/writepolyhedron1.cc (1.8),
+	  Polyhedron/writepolyhedron2.cc (1.8),
+	  Polyhedron/writerelation1.cc (1.10): Obsolete macro DO_TEST
+	  removed.  Macros NEW_TEST* renamed DO_TEST*.
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/closure1.cc (altnum.1): file closure1.cc was added
+	  on branch altnum on 2006-10-29 19:27:22 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/generalizedaffinepreimage1.cc (altnum.1): file
+	  generalizedaffinepreimage1.cc was added on branch altnum on
+	  2006-10-29 19:27:22 +0000
+
+2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/writebdshape1.cc (altnum.1): file writebdshape1.cc
+	  was added on branch altnum on 2006-10-29 19:27:22 +0000
+
+2006-03-06 Monday 08:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/topclosed1.cc (1.6): Renovation of topclosed1.cc done.
+
+2006-03-05 Sunday 23:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.87): Adapted removespacedims*.cc,
+	  timeelapse*.cc, topclosed*.cc, topclosure*.cc, universe*.cc,
+	  writegensys*.cc and writepolyhedron*.cc to new standards.
+
+2006-03-05 Sunday 23:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: writeconsys1.cc (1.7), writerelation1.cc
+	  (1.9): Adapted to new standards for tests.
+
+2006-03-05 Sunday 23:29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: topclosure1.cc (1.7), topclosure2.cc (1.8),
+	  topclosure3.cc (1.7), topclosure4.cc (1.9), universe1.cc (1.7),
+	  universe2.cc (1.7), universe3.cc (1.7), universe4.cc (1.7),
+	  universe5.cc (1.7), universe6.cc (1.7), universe7.cc (1.7),
+	  writepolyhedron1.cc (1.7), writepolyhedron2.cc (1.7),
+	  writepolyhedron3.cc (1.8), writegensys1.cc (1.7), writegensys2.cc
+	  (1.8), writegensys3.cc (1.7): Adapted to new standards for tests.
+
+2006-03-05 Sunday 23:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: removespacedims1.cc (1.7),
+	  removespacedims10.cc (1.8), removespacedims2.cc (1.7),
+	  removespacedims3.cc (1.8), removespacedims4.cc (1.7),
+	  removespacedims5.cc (1.8), removespacedims6.cc (1.7),
+	  removespacedims7.cc (1.7), removespacedims8.cc (1.7),
+	  removespacedims9.cc (1.7), timeelapse1.cc (1.7), timeelapse2.cc
+	  (1.8), timeelapse3.cc (1.7), timeelapse4.cc (1.7), timeelapse5.cc
+	  (1.8), timeelapse6.cc (1.7), timeelapse7.cc (1.8), timeelapse8.cc
+	  (1.8), timeelapse9.cc (1.8), topclosed1.cc (1.8), topclosed2.cc
+	  (1.8), topclosed3.cc (1.7): Adapted to new standards for tests.
+
+2006-03-05 Sunday 22:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (1.186): Added item to "Enhancements for PPL 0.10" - Add a
+	  widening for grids using only generator representations.
+
+2006-03-05 Sunday 22:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid_simplify.cc (1.4): Changed name of variable "num_rows"
+	  to more descriptive name.  Added and improved comments wrt this
+	  variable.
+
+2006-03-05 Sunday 22:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/: print.hh (1.34), Grid/bhz03widening1.cc (1.7),
+	  Grid/certificate1.cc (1.9): Removed redundant code from
+	  Grid/certificate1.cc Added print_congruences for powersets in
+	  print.hh and use it in Grid/bhz03widening1.cc
+
+2006-03-05 Sunday 21:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/: Makefile.am (1.24), boundingbox1.cc (1.7),
+	  coveringbox2.cc (1.7), grid1.cc (1.11), limitedextrapolation1.cc
+	  (1.6), mapspacedims1.cc (1.7), maxmin1.cc (1.5), membytes1.cc
+	  (1.4), membytes2.cc (1.4), mincongruences1.cc (1.6),
+	  mingenerators1.cc (1.6), outputoperator1.cc (1.4), relations1.cc
+	  (1.8), relations2.cc (1.7), removespacedims1.cc (1.6),
+	  removespacedims2.cc (1.6), timeelapse1.cc (1.6), timeelapse2.cc
+	  (1.5), topclosure1.cc (1.5), widening1.cc (1.8),
+	  writecongruencesystem.cc (1.4): Basic renovation of grids tests
+	  completed.
+
+2006-03-05 Sunday 21:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/intersection1.cc (1.9): Invoke `test01' and
+	  `test02' with NEW_TEST_F8A.
+
+2006-03-05 Sunday 18:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.191): Added a brief description of the new Grid class.
+	  Added a mention of the new possibility of building only static or
+	  only shared libraries.  Completed the section on bugfixes.
+	  Tentative release date for PPL 0.9 is March 12, 2006.
+
+2006-03-05 Sunday 17:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.185): Removed items that have already done.  Pushed all
+	  the others down to PPL 0.10.
+
+2006-03-05 Sunday 17:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.36), config.sub (1.34), Watchdog/config.guess
+	  (1.20), Watchdog/config.sub (1.19): Updated.
+
+2006-03-05 Sunday 17:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.229), demos/ppl_lpsol/Makefile.am (1.23):
+	  Automake conditional CYGWIN renamed HOST_OS_CYGWIN.  New Automake
+	  conditional HOST_OS_DARWIN.  Refrain from literal comparison of
+	  ppl_lpsol output also on Darwin.
+
+2006-03-05 Sunday 17:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/affineimage2.cc (1.4): Use NEW_TEST_F16A to invoke
+	  `test10'.
+
+2006-03-05 Sunday 17:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ppl_test.hh (1.44): New macro NEW_TEST_F16A.
+
+2006-03-05 Sunday 14:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/intersection1.cc (1.8): Tests `test01' and
+	  `test02' succeed also with 8-bit coefficients.
+
+2006-03-05 Sunday 14:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/mc91.cc (1.11): Actually, 16-bit coefficients
+	  are enough for `test01'.
+
+2006-03-05 Sunday 14:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: devref.doxyconf-html.in (1.71), devref.doxyconf-latex.in
+	  (1.11): Source file float.types.hh does not exist anymore.
+
+2006-03-05 Sunday 13:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/Makefile.am (1.22): Do not use `diff' to check
+	  the results under Cygwin.
+
+2006-03-05 Sunday 12:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.228): New AM_CONDITIONAL CYGWIN.  Version number
+	  bumped.
+
+2006-03-05 Sunday 09:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/Makefile.am (1.19): Copy and paste mistake fixed.
+
+2006-03-05 Sunday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/mc91.cc (1.10): Test `test01' requires at least
+	  32-bit coefficients to succeed.
+
+2006-03-05 Sunday 09:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_long_double_binary_format.m4 (1.3): Support 64-bit long
+	  doubles.  Fixed several copy and paste mistakes.
+
+2006-03-05 Sunday 09:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_long_double_binary_format.m4 (altnum.1): file
+	  ac_cxx_long_double_binary_format.m4 was added on branch altnum on
+	  2006-10-29 19:27:11 +0000
+
+2006-03-05 Sunday 09:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_long_double_binary_format.m4 (simplex.1): file
+	  ac_cxx_long_double_binary_format.m4 was added on branch simplex
+	  on 2006-05-08 17:15:48 +0000
+
+2006-03-05 Sunday 09:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_double_binary_format.m4 (1.3): Fixed a couple of
+	  comments.
+
+2006-03-05 Sunday 09:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_double_binary_format.m4 (altnum.1): file
+	  ac_cxx_double_binary_format.m4 was added on branch altnum on
+	  2006-10-29 19:27:11 +0000
+
+2006-03-05 Sunday 09:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_double_binary_format.m4 (simplex.1): file
+	  ac_cxx_double_binary_format.m4 was added on branch simplex on
+	  2006-05-08 17:15:48 +0000
+
+2006-03-05 Sunday 08:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/: Makefile.am (1.41), run_tests (1.17): Do not
+	  test with unsupported floating point types.
+
+2006-03-05 Sunday 08:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/run_tests (altnum.1): file run_tests was added on
+	  branch altnum on 2006-10-29 19:27:22 +0000
+
+2006-03-04 Saturday 23:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/polypowerset1.cc (1.19): Adapted to the new
+	  standards.
+
+2006-03-04 Saturday 23:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.86), relations1.cc (1.7),
+	  relations10.cc (1.7), relations11.cc (1.7), relations12.cc (1.7),
+	  relations13.cc (1.7), relations14.cc (1.7), relations15.cc (1.7),
+	  relations16.cc (1.7), relations17.cc (1.9), relations18.cc (1.7),
+	  relations19.cc (1.9), relations2.cc (1.8), relations3.cc (1.7),
+	  relations4.cc (1.7), relations5.cc (1.7), relations6.cc (1.8),
+	  relations7.cc (1.7), relations8.cc (1.7), relations9.cc (1.8):
+	  Adapted relations*.cc to the new standards for tests.
+
+2006-03-04 Saturday 22:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/Makefile.am (1.18), m4/ac_cxx_double_binary_format.m4 (1.2),
+	  m4/ac_cxx_float_binary_format.m4 (1.2),
+	  m4/ac_cxx_long_double_binary_format.m4 (1.2),
+	  src/Checked_Number.defs.hh (1.75), src/Checked_Number.inlines.hh
+	  (1.64), src/Float.defs.hh (1.21), src/checked_float.inlines.hh
+	  (1.65), src/checked_numeric_limits.hh (1.15): More improvements
+	  concerning the detection of supported floating point numbers.
+
+2006-03-04 Saturday 22:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_float_binary_format.m4 (altnum.1): file
+	  ac_cxx_float_binary_format.m4 was added on branch altnum on
+	  2006-10-29 19:27:11 +0000
+
+2006-03-04 Saturday 22:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_float_binary_format.m4 (simplex.1): file
+	  ac_cxx_float_binary_format.m4 was added on branch simplex on
+	  2006-05-08 17:15:48 +0000
+
+2006-03-04 Saturday 21:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.227), m4/ac_cxx_double_binary_format.m4 (1.1),
+	  m4/ac_cxx_double_is_iec_559.m4 (1.6),
+	  m4/ac_cxx_float128_binary_format.m4 (1.6),
+	  m4/ac_cxx_float32_binary_format.m4 (1.4),
+	  m4/ac_cxx_float64_binary_format.m4 (1.5),
+	  m4/ac_cxx_float96_binary_format.m4 (1.5),
+	  m4/ac_cxx_float_binary_format.m4 (1.1),
+	  m4/ac_cxx_float_is_iec_559.m4 (1.6), m4/ac_cxx_long_double.m4
+	  (1.7), m4/ac_cxx_long_double_binary_format.m4 (1.1),
+	  m4/ac_cxx_long_double_is_iec_559.m4 (1.6), m4/ac_cxx_long_long.m4
+	  (1.6), src/Float.defs.hh (1.20), src/Makefile.am (1.150),
+	  src/checked_int.inlines.hh (1.51), src/float.types.hh (1.17):
+	  Simplified the logic behind the detection of the relevant
+	  properties of the available floating point numbers.  Several
+	  unused Autoconf functions have been removed.
+
+2006-03-04 Saturday 20:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: ppl_test.hh (1.43), print.hh (1.33): Added template
+	  <typename PH> void print_constraints(const
+	  Polyhedra_Powerset<PH>&, const std::string, std::ostream& s).
+
+2006-03-04 Saturday 20:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: polyhull10.cc (1.7), polyhull11.cc (1.7),
+	  polyhull3.cc (1.8), polyhull4.cc (1.7), polyhull5.cc (1.8),
+	  polyhull6.cc (1.7), polyhull7.cc (1.7), polyhull8.cc (1.9),
+	  polyhull9.cc (1.9): No longer needed.
+
+2006-03-04 Saturday 20:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.85), polyhull1.cc (1.7),
+	  polyhull2.cc (1.8): Adapted polyhull*.cc to the new standards for
+	  tests.
+
+2006-03-04 Saturday 19:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.84): Corrected (was still
+	  including referecnes to deleted polydifference*.cc tests).
+
+2006-03-04 Saturday 17:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/append1.cc (1.8): Indentation fixed.
+
+2006-03-04 Saturday 17:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/mc91.cc (1.9): Rewritten.
+
+2006-03-04 Saturday 14:03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.83): Adapted mingenerators*.cc,
+	  polydifference*.cc and onepoint.cc to new standards for tests.
+
+2006-03-04 Saturday 14:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/numberinput1.cc (1.27): Started adapting this
+	  test to the new standards for tests.
+
+2006-03-04 Saturday 14:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/mc91.cc (1.8): Adapted to new standards for
+	  tests. Also added a FIXME as it currently tests nothing.
+
+2006-03-04 Saturday 13:58  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: mingenerators1.cc (1.7), mingenerators2.cc
+	  (1.8), mingenerators3.cc (1.7), polydifference1.cc (1.7),
+	  polydifference2.cc (1.7), polydifference3.cc (1.7),
+	  polydifference4.cc (1.8), polydifference5.cc (1.7),
+	  polydifference6.cc (1.7), polydifference7.cc (1.9),
+	  polydifference8.cc (1.7), polydifference9.cc (1.8), onepoint.cc
+	  (1.8): Adapted to new standards for tests.
+
+2006-03-03 Friday 22:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/Makefile.am (1.68): Dependencies fixed.
+
+2006-03-03 Friday 17:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.82): Adapted lpproblem*.cc,
+	  mapspacedims*.cc, max_min*.cc and minconstraints*.cc to new
+	  standards.
+
+2006-03-03 Friday 17:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: minconstraints1.cc (1.7), minconstraints2.cc
+	  (1.8), minconstraints3.cc (1.7), minconstraints4.cc (1.7),
+	  lpproblem1.cc (1.6), lpproblem2.cc (1.5), lpproblem3.cc (1.3),
+	  max_min1.cc (1.8), max_min2.cc (1.8), mapspacedims1.cc (1.10),
+	  mapspacedims2.cc (1.8), mapspacedims3.cc (1.8), mapspacedims4.cc
+	  (1.8): Adapted to new standards for tests.
+
+2006-03-03 Friday 09:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.81): Adapted ascii_dump_laod* to
+	  new standards for tests.
+
+2006-03-03 Friday 09:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/foldspacedims1.cc (1.11): Test test06() will
+	  only fail when using C_Polyhedron and 8 bit coefficients.
+
+2006-03-03 Friday 09:44  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: linearsystem1.cc (1.4), linexpression1.cc
+	  (1.7): Adapted to new standards for tests.
+
+2006-03-03 Friday 09:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: ascii_dump_load1.cc (1.7), ascii_dump_load2.cc
+	  (1.7), ascii_dump_load3.cc (1.8), ascii_dump_load4.cc (1.8),
+	  ascii_dump_load5.cc (1.8), ascii_dump_load6.cc (1.9),
+	  ascii_dump_load7.cc (1.7): Adapted ascii_dump_load*.cc to new
+	  standards for tests.
+
+2006-03-03 Friday 08:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.80), linearpartition1.cc (1.7),
+	  linearpartition2.cc (1.7), linearpartition3.cc (1.7),
+	  linearpartition4.cc (1.8): Adapted linearpartition*.cc and
+	  limitedh79extrapolation*.cc to new standards for tests.
+
+2006-03-03 Friday 08:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: limitedh79extrapolation1.cc (1.7),
+	  limitedh79extrapolation2.cc (1.7), limitedh79extrapolation3.cc
+	  (1.7), limitedh79extrapolation4.cc (1.9): Adapted to new
+	  standards for tests.
+
+2006-03-02 Thursday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.226): The only purpose of the `debug_flag'
+	  variable is to hold "-DNDEBUG=1" when assertions are enabled.
+
+2006-03-02 Thursday 21:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/foldspacedims2.cc (1.11): With 8-bit
+	  coefficients and assertions enabled test04 must fail.
+
+2006-03-02 Thursday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Polyhedron/Makefile.am (1.79), BD_Shape/Makefile.am
+	  (1.40), Grid/Makefile.am (1.23): Added @debug_flag@ to
+	  AM_CPPFLAGS.
+
+2006-03-02 Thursday 11:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.78): Removing tests from XFAILS
+	  if they have already been adapted to the new standards for
+	  handling failures.
+
+2006-03-02 Thursday 11:20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: foldspacedims1.cc (1.10), foldspacedims2.cc
+	  (1.10): Mark tests that should fail with 8 bit coefficients.
+
+2006-03-02 Thursday 08:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/join3.cc (1.7): Tests in join3.cc now included in
+	  join2.cc
+
+2006-03-02 Thursday 08:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/: Makefile.am (1.22), join1.cc (1.9), join1_16.cc
+	  (1.4), join2.cc (1.5): Revised tests using new guidelines
+
+2006-03-02 Thursday 07:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/intersection2.cc (1.6): Tests now in intersection1.cc
+
+2006-03-02 Thursday 07:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/: Makefile.am (1.21), generalizedaffineimage1.cc
+	  (1.7), generalizedaffineimage2.cc (1.7),
+	  generalizedaffinepreimage1.cc (1.8),
+	  generalizedaffinepreimage2.cc (1.8), generator1.cc (1.5),
+	  generators1.cc (1.7), grid1.cc (1.10), grid1_16.cc (1.7),
+	  grid1_64.cc (1.5), grid1_gmp.cc (1.5), grid2.cc (1.8),
+	  grid2_16.cc (1.5), grid3.cc (1.7), griddifference1.cc (1.7),
+	  intersection1.cc (1.6), intersection2.cc (1.5), isempty1.cc
+	  (1.4), isuniverse1.cc (1.7): Revised tests for new guidelines.
+
+2006-03-01 Wednesday 22:05  Andrea Cimino
+
+	* src/LP_Problem.cc (simplex.33): Added a float-based version of
+	  the steepest-edge technique (disabled by default).
+
+2006-03-01 Wednesday 20:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/: bgp99extrapolation1.cc (1.6), bhmz05widening1.cc
+	  (1.7), bhz03widening1.cc (1.6), cc76extrapolation1.cc (1.11),
+	  geomcovers1.cc (1.6), minconstraints1.cc (1.6), relations1.cc
+	  (1.14), relations2.cc (1.15): Standardize the use of using
+	  declarations: only local ones, without unnecessary
+	  Parma_Polyhedra_Library:: qualifications, and with a scope
+	  reduced as much as possible.
+
+2006-03-01 Wednesday 19:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/geomcovers1.cc (1.10): Do not require recent
+	  versions of GCC just for printing something in test programs: use
+	  `using namespace IO_Operators;' instead of more refined things.
+
+2006-03-01 Wednesday 18:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.77): No longer needed XFAILs
+	  removed.
+
+2006-03-01 Wednesday 17:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/memory1.cc (1.10): Temporarily disable this test
+	  on Alpha machines.
+
+2006-03-01 Wednesday 16:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.76), intersection1.cc (1.7),
+	  intersection10.cc (1.9), intersection11.cc (1.9),
+	  intersection2.cc (1.7), intersection3.cc (1.7), intersection4.cc
+	  (1.8), intersection5.cc (1.8), intersection6.cc (1.8),
+	  intersection7.cc (1.7), intersection8.cc (1.8), intersection9.cc
+	  (1.8): Adapted intersection*.cc to new standards for tests.
+
+2006-03-01 Wednesday 15:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.75), h79widening1.cc (1.7),
+	  h79widening2.cc (1.7), h79widening3.cc (1.7), h79widening4.cc
+	  (1.7), h79widening5.cc (1.8), h79widening6.cc (1.7),
+	  h79widening7.cc (1.7), h79widening8.cc (1.7): Adapted
+	  h79widening*.cc to new standards for tests.
+
+2006-03-01 Wednesday 14:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/geomcovers1.cc (1.9): Adapted to the new
+	  standards for tests.
+
+2006-03-01 Wednesday 14:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.74), generators1.cc (1.8),
+	  generators2.cc (1.8), generators3.cc (1.8), generators4.cc (1.8),
+	  generators5.cc (1.7), generators6.cc (1.9), generators7.cc (1.7):
+	  Adapted generators*.cc to new standards for tests.
+
+2006-03-01 Wednesday 14:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.73),
+	  generalizedaffinepreimage1.cc (1.5),
+	  generalizedaffinepreimage2.cc (1.5),
+	  generalizedaffinepreimage3.cc (1.5),
+	  generalizedaffinepreimage4.cc (1.5): Adapted
+	  generalizedaffinepreimage*.cc to the new standards for tests.
+
+2006-03-01 Wednesday 13:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/nncminimize2.cc (1.4): Fails with all bounded
+	  integers.
+
+2006-03-01 Wednesday 12:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.72), generalizedaffineimage1.cc
+	  (1.8), generalizedaffineimage10.cc (1.8),
+	  generalizedaffineimage11.cc (1.9), generalizedaffineimage12.cc
+	  (1.7), generalizedaffineimage13.cc (1.6),
+	  generalizedaffineimage14.cc (1.6), generalizedaffineimage2.cc
+	  (1.8), generalizedaffineimage3.cc (1.8),
+	  generalizedaffineimage4.cc (1.8), generalizedaffineimage5.cc
+	  (1.7), generalizedaffineimage6.cc (1.8),
+	  generalizedaffineimage7.cc (1.8), generalizedaffineimage8.cc
+	  (1.7), generalizedaffineimage9.cc (1.8): Adapted
+	  generalizedaffineimage*.cc to new standards for tests.
+
+2006-03-01 Wednesday 12:18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: foldspacedims1.cc (1.9), foldspacedims2.cc
+	  (1.9): Adapted foldspacedims*.cc to new standards for tests.
+
+2006-03-01 Wednesday 12:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: expandspacedim1.cc (1.9), expandspacedim2.cc
+	  (1.9): Adapted expandspacedim*.cc to new standards for tests.
+
+2006-03-01 Wednesday 11:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/equals1.cc (1.7): Adapted to new standards for
+	  tests.
+
+2006-03-01 Wednesday 11:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/empty1.cc (1.8): Adapted empty*.cc to new
+	  standards for tests.
+
+2006-03-01 Wednesday 11:41  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: boundedbhrz03extrapolation1.cc (1.6),
+	  boundedh79extrapolation1.cc (1.8): Modified to work correclty
+	  with failing coefficient configurations.
+
+2006-03-01 Wednesday 11:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.71), disjoint1.cc (1.7),
+	  disjoint2.cc (1.9), disjoint3.cc (1.9): Adapted disjoint*.cc to
+	  new standards for tests.
+
+2006-03-01 Wednesday 11:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.70), contains1.cc (1.7),
+	  contains2.cc (1.7), contains3.cc (1.7), contains4.cc (1.7),
+	  contains5.cc (1.8): Adapted contsains*.cc to new standards for
+	  tests.
+
+2006-03-01 Wednesday 10:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.69), boundedaffineimage1.cc
+	  (1.6), boundedaffineimage2.cc (1.5), boundedaffineimage3.cc
+	  (1.5), boundedaffinepreimage1.cc (1.5), boundedaffinepreimage2.cc
+	  (1.5), boundedaffinepreimage3.cc (1.5): Adapted
+	  boundedaffine[pre]image*.cc to new standards for tests.
+
+2006-03-01 Wednesday 09:56  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.68), bhz03widening1.cc (1.9),
+	  bhz03widening2.cc (1.9), bhz03widening3.cc (1.9),
+	  bhz03widening4.cc (1.8), bhz03widening5.cc (1.8),
+	  bhz03widening6.cc (1.10): Adapted bhz03widening*.cc to new
+	  standards for tests files.
+
+2006-03-01 Wednesday 09:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/bgp99extrapolation1.cc (1.9): Correctly handling
+	  with failing coefficient configurations.
+
+2006-03-01 Wednesday 09:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.67), constraints1.cc (1.7),
+	  constraints2.cc (1.8), constraints3.cc (1.7), constraints4.cc
+	  (1.9), constraints5.cc (1.6): Translated constraints*.cc
+	  according to new standards for tests.
+
+2006-03-01 Wednesday 09:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.66): Adapted for changes to
+	  bounds*.cc.
+
+2006-03-01 Wednesday 09:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: bounds1.cc (1.8), bounds2.cc (1.7),
+	  congruences1.cc (1.5): Adapted to new standards for tests.
+
+2006-03-01 Wednesday 09:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/nncminimize1.cc (1.2): Using new macros for
+	  handling with failing coefficent configurations.
+
+2006-03-01 Wednesday 09:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: CbecomesNNC1.cc (1.7), Makefile.am (1.65),
+	  NNCbecomesC1.cc (1.8), cnncconversion1.cc (1.1): Tests
+	  CbecomesNNC1 and NNCbecomesC1 translated according to new
+	  standards.
+
+2006-03-01 Wednesday 09:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: boundingbox1.cc (1.11), boundingbox2.cc
+	  (1.10), boundingbox3.cc (1.11): Removed useless parentheses in
+	  return statement.  Moved test descriptions in front of the tests.
+
+2006-03-01 Wednesday 09:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/ppl_test.hh (1.42): Corrected macro NEW_TEST_F* to
+	  correctly deal with failing tests.
+
+2006-02-28 Tuesday 23:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/equals1.cc (1.7): Test added to improve coverage.
+
+2006-02-28 Tuesday 12:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/addcongruences1.cc (1.7): Use
+	  print_congruences() instead of print_constraints() when printing
+	  a ystem of congruences.
+
+2006-02-28 Tuesday 10:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/: Makefile.am (1.20), affineimage1_16.cc (1.6): Test
+	  in affineimage1_16.cc is now included in affineimage2.cc
+
+2006-02-28 Tuesday 09:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/affineimage2.cc (1.3): Activated test10.
+
+2006-02-28 Tuesday 09:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ppl_test.hh (1.41): NEW_TEST* macros fixed and completed.
+
+2006-02-28 Tuesday 09:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh (1.3): Use more efficient iteration in
+	  a couple of cases.
+
+2006-02-28 Tuesday 09:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/DB_Row.inlines.hh (1.17): Added more comments to explain the
+	  order of construction/destruction.
+
+2006-02-28 Tuesday 08:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: print.cc (1.25), print.hh (1.32): Two FIXMEs dealt with.
+
+2006-02-28 Tuesday 08:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/: contains2.cc (1.5), discrete1.cc (1.2), disjoint1.cc
+	  (1.6), equals1.cc (1.6), expandspacedim1.cc (1.6),
+	  foldspacedims1.cc (1.6): Tests in contains2.cc already in
+	  contains1.cc.  Modified tests following new guidelines.
+
+2006-02-28 Tuesday 08:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/: addcongruence1.cc (1.7), addcongruences1.cc (1.9),
+	  addconstraint1.cc (1.7), addconstraints1.cc (1.7),
+	  addgenerator1.cc (1.9), addgenerators1.cc (1.5), addspacedims1.cc
+	  (1.8), affinedim1.cc (1.7), affineimage1.cc (1.9),
+	  affineimage1_16.cc (1.5), affineimage2.cc (1.2),
+	  affinepreimage1.cc (1.7), affinepreimage2.cc (1.2),
+	  asciidumpload1.cc (1.5), bhz03widening1.cc (1.6), bounded1.cc
+	  (1.8), boundingbox1.cc (1.6), boundingbox2.cc (1.6), bounds1.cc
+	  (1.9), certificate1.cc (1.8), concatenate1.cc (1.8),
+	  congruence1.cc (1.8), congruences1.cc (1.6), congruencesystem1.cc
+	  (1.6), contains1.cc (1.7), coveringbox1.cc (1.6), coveringbox2.cc
+	  (1.6): Blank line before test comment removed.  A few missing
+	  comments for tests added.
+
+2006-02-28 Tuesday 07:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.184), src/Polyhedron_nonpublic.cc (1.65): TODO item
+	  partly done: added some missing assert(OK()).
+
+2006-02-27 Monday 19:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/Makefile.am (1.46): Upon `make clean', erase also the
+	  temporary directories (they will be there if the build did not
+	  complete successfully).
+
+2006-02-27 Monday 18:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/Makefile.am (1.45): Use two distinct rules for the user and
+	  developer HTML documentation.
+
+2006-02-27 Monday 18:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: devref.doxyconf-html.in (1.70), user.doxyconf-html.in
+	  (1.37): Set HTML_OUTPUT the right way.
+
+2006-02-27 Monday 18:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/Makefile.am (1.44): Allow parallel building of the user and
+	  developer HTML documentation.
+
+2006-02-27 Monday 17:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: ppl_test.hh (1.40), Polyhedron/bhrz03widening3.cc (1.8),
+	  Polyhedron/boundingbox3.cc (1.10): New macros NEW_TEST_F,
+	  NEW_TEST_F64, NEW_TEST_F32, NEW_TEST_F16, NEW_TEST_F8 and
+	  NEW_TEST_F8A to be used for tests that are known to fail always,
+	  with bounded coefficients with number of bits less than or equal
+	  to the indicated number, or with 8-bit coefficient and with
+	  assertions enabled, respectively.
+
+2006-02-27 Monday 17:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.225): Improved the selection of the type of
+	  coefficients.  New C++ macro COEFFICIENT_BITS holds the number of
+	  bits of coefficients, 0 if they are unbounded.
+
+2006-02-27 Monday 15:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/Makefile.am (1.54): The GNU-Prolog
+	  interface can now be built also with --disable-static and with
+	  --disable-shared.
+
+2006-02-27 Monday 15:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/Makefile.am (1.44): The YAP-Prolog
+	  interface cannot be built if shared libraries are not available.
+
+2006-02-27 Monday 14:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/Makefile.am (1.53): The Ciao-Prolog
+	  interface cannot be built if shared libraries are not available.
+
+2006-02-27 Monday 14:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/Makefile.am (1.67): Work also if the
+	  PPL was configure with --disable-shared.  Moreover, unless the
+	  PPL was configured with --disable-static, `ppl_sicstus' uses only
+	  static modules.
+
+2006-02-27 Monday 13:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/affineimage2.cc (1.8): Helper function renamed
+	  according to new standard.
+
+2006-02-27 Monday 13:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.64), concatenate1.cc (1.7),
+	  concatenate2.cc (1.8), concatenate3.cc (1.7), concatenate4.cc
+	  (1.7), concatenate5.cc (1.7), concatenate6.cc (1.9),
+	  concatenate7.cc (1.6): Transformed according to new standards for
+	  tests.
+
+2006-02-27 Monday 13:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/bounded1.cc (1.8): Tranformed according to new
+	  standards for tests.
+
+2006-02-27 Monday 13:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.63), bhrz03widening1.cc (1.7),
+	  bhrz03widening10.cc (1.8), bhrz03widening11.cc (1.7),
+	  bhrz03widening12.cc (1.8), bhrz03widening13.cc (1.7),
+	  bhrz03widening14.cc (1.7), bhrz03widening15.cc (1.8),
+	  bhrz03widening16.cc (1.7), bhrz03widening17.cc (1.7),
+	  bhrz03widening18.cc (1.7), bhrz03widening19.cc (1.7),
+	  bhrz03widening2.cc (1.7), bhrz03widening3.cc (1.7),
+	  bhrz03widening4.cc (1.7), bhrz03widening5.cc (1.7),
+	  bhrz03widening6.cc (1.7), bhrz03widening7.cc (1.7),
+	  bhrz03widening8.cc (1.7), bhrz03widening9.cc (1.7): Transformed
+	  according to new standards for tests.
+
+2006-02-27 Monday 13:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: affinetrans.cc (1.8), Makefile.am (1.62),
+	  bgp99extrapolation1.cc (1.8), bgp99extrapolation2.cc (1.8):
+	  Transformed according to new standards for tests.
+
+2006-02-27 Monday 13:03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.60), affineimage1.cc (1.8),
+	  affineimage2.cc (1.7), affineimage3.cc (1.7), affineimage4.cc
+	  (1.8), affineimage5.cc (1.9), affineimage6.cc (1.9),
+	  affineimage7.cc (1.7), affineimage8.cc (1.8), affineimage9.cc
+	  (1.7), Makefile.am (1.61), affinepreimage1.cc (1.7),
+	  affinepreimage10.cc (1.8), affinepreimage11.cc (1.5),
+	  affinepreimage12.cc (1.3), affinepreimage2.cc (1.7),
+	  affinepreimage3.cc (1.8), affinepreimage4.cc (1.7),
+	  affinepreimage5.cc (1.7), affinepreimage6.cc (1.7),
+	  affinepreimage7.cc (1.7), affinepreimage8.cc (1.8),
+	  affinepreimage9.cc (1.8): Transformed according to new standards
+	  for tests.
+
+2006-02-27 Monday 12:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.59), addspacedims1.cc (1.8),
+	  addspacedims10.cc (1.7), addspacedims11.cc (1.7),
+	  addspacedims12.cc (1.7), addspacedims13.cc (1.8),
+	  addspacedims2.cc (1.8), addspacedims3.cc (1.9), addspacedims4.cc
+	  (1.7), addspacedims5.cc (1.7), addspacedims6.cc (1.7),
+	  addspacedims7.cc (1.7), addspacedims8.cc (1.8), addspacedims9.cc
+	  (1.7): Transformed according to new standards for tests.
+
+2006-02-27 Monday 12:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.58), addgenerator1.cc (1.8),
+	  addgenerator2.cc (1.8), addgenerator3.cc (1.8), addgenerator4.cc
+	  (1.8), addgenerator5.cc (1.8), addgenerators1.cc (1.8),
+	  addgenerators10.cc (1.8), addgenerators11.cc (1.8),
+	  addgenerators12.cc (1.9), addgenerators13.cc (1.8),
+	  addgenerators2.cc (1.8), addgenerators3.cc (1.7),
+	  addgenerators4.cc (1.7), addgenerators5.cc (1.7),
+	  addgenerators6.cc (1.8), addgenerators7.cc (1.7),
+	  addgenerators8.cc (1.8), addgenerators9.cc (1.7): Transformed
+	  according to new standards for tests.
+
+2006-02-27 Monday 12:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.57), addconstraint1.cc (1.7),
+	  addconstraint2.cc (1.8), addconstraint3.cc (1.8),
+	  addconstraints1.cc (1.8), addconstraints10.cc (1.8),
+	  addconstraints11.cc (1.7), addconstraints12.cc (1.7),
+	  addconstraints13.cc (1.9), addconstraints2.cc (1.7),
+	  addconstraints3.cc (1.8), addconstraints4.cc (1.7),
+	  addconstraints5.cc (1.8), addconstraints6.cc (1.8),
+	  addconstraints7.cc (1.8), addconstraints8.cc (1.8),
+	  addconstraints9.cc (1.7): Transformed according to new standards
+	  for tests.
+
+2006-02-27 Monday 12:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.56), addcongruences1.cc (1.6),
+	  addcongruences2.cc (1.5), addcongruences3.cc (1.5),
+	  addcongruences4.cc (1.5), addcongruences5.cc (1.5): Transformed
+	  according to new standards for tests.
+
+2006-02-27 Monday 12:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.55): Dealing with addcongruence.
+
+2006-02-27 Monday 12:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: addcongruence1.cc (1.5), addcongruence2.cc
+	  (1.5), addcongruence3.cc (1.5), addcongruence4.cc (1.5),
+	  addcongruence5.cc (1.5): Transformed according to new standard
+	  for tests.
+
+2006-02-27 Monday 12:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.54): Added nncminimize1.cc and
+	  removed NNCminimize*.
+
+2006-02-27 Monday 12:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: NNCminimize1.cc (1.7), NNCminimize2.cc (1.7),
+	  NNCminimize3.cc (1.7), NNCminimize4.cc (1.7), NNCminimize5.cc
+	  (1.7), NNCminimize6.cc (1.7), nncminimize1.cc (1.1): Transformed
+	  according to new standard for tests.
+
+2006-02-27 Monday 07:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.190), src/Saturation_Row.cc (1.10): Fixed a long-standing
+	  bug in Saturation_Row::prev().
+
+2006-02-26 Sunday 21:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/bhz03widening1.cc (1.5): Revised test to guidelines.
+
+2006-02-26 Sunday 21:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid_Generator.defs.hh (1.10): Documentation for ascii_load()
+	  bug fixed.  Comment made conditional on
+	  PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS being defined.
+
+2006-02-26 Sunday 17:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/nncminimize2.cc (1.3): Make sure vnout is
+	  flushed just after the dumps.
+
+2006-02-26 Sunday 17:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/nncminimize2.cc (1.2): Dump the polyhedron
+	  multiple times when very noisy.
+
+2006-02-26 Sunday 12:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.53), nncminimize2.cc (1.1): New
+	  test for NNC_Polyhedron::ph.minimized_generators().
+
+2006-02-26 Sunday 12:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/Makefile.am (1.66): Dependencies fixed.
+
+2006-02-26 Sunday 11:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/Makefile.am (1.19): Fixed the ordering in the
+	  definition of LDADD.
+
+2006-02-26 Sunday 10:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/Makefile.am (1.43): Portability improvement: `tar zxf' is
+	  non-portable;  use `gunzip -c' and pipe the result to `tar xf'
+	  instead.
+
+2006-02-26 Sunday 09:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/: ppl_lcdd/Makefile.am (1.24), ppl_lpsol/Makefile.am
+	  (1.21): Portability improvement: instead of using `grep -q'
+	  (which is non-portable) we redirect the standard output and
+	  standard error to `/dev/null'.
+
+2006-02-26 Sunday 08:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Checked_Number.defs.hh (1.74), Checked_Number.inlines.hh
+	  (1.63), Float.inlines.hh (1.27), Grid_Certificate.cc (1.4),
+	  Grid_Generator.defs.hh (1.9), Grid_Generator_System.cc (1.4),
+	  Grid_Generator_System.inlines.hh (1.4), Grid_conversion.cc (1.5),
+	  Grid_public.cc (1.12), Scalar_Products.defs.hh (1.6),
+	  checked_ext.defs.hh (1.11), checked_ext.inlines.hh (1.30),
+	  checked_int.inlines.hh (1.50): Try to avoid long source lines.
+
+2006-02-26 Sunday 08:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Certificate.cc (simplex.1): file Grid_Certificate.cc was
+	  added on branch simplex on 2006-05-08 17:15:49 +0000
+
+2006-02-26 Sunday 07:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Float.inlines.hh (1.26): Do not leave operators ad end of
+	  line.
+
+2006-02-26 Sunday 07:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Constraint.cc (1.57), H79_Certificate.inlines.hh (1.8),
+	  Polyhedra_Powerset.templates.hh (1.2): Avoid useless parentheses.
+
+2006-02-26 Sunday 07:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Congruence.inlines.hh (1.3): Fix misplaced parenthesis.
+
+2006-02-26 Sunday 00:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid.templates.hh (1.3): Fixed a bug in get_covering_box().
+
+2006-02-26 Sunday 00:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/: print.cc (1.24), print.hh (1.31), Grid/Makefile.am
+	  (1.18), Grid/bounds1.cc (1.8), Grid/certificate1.cc (1.7),
+	  Grid/concatenate1.cc (1.7), Grid/congruence1.cc (1.7),
+	  Grid/congruences1.cc (1.5), Grid/congruencesystem1.cc (1.5),
+	  Grid/congruencesystem2.cc (1.5), Grid/contains1.cc (1.6),
+	  Grid/copyconstruct1.cc (1.5), Grid/coveringbox1.cc (1.5),
+	  Grid/coveringbox2.cc (1.5): Revised tests following guidelines.
+	  Added 2 tests to coveringbox2 for generator systems with
+	  parameters.
+
+2006-02-25 Saturday 18:57  Abramo Bagnara
+
+	* src/: Float.inlines.hh (1.25), checked_int.inlines.hh (1.49):
+	  Fixed mpz_export use.
+
+2006-02-25 Saturday 17:17  Abramo Bagnara
+
+	* src/: Float.inlines.hh (1.24), checked_float.inlines.hh (1.64),
+	  checked_int.inlines.hh (1.48): Fixed mpz_export order argument.
+
+2006-02-25 Saturday 15:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.153): Avoid an ambiguity problem
+	  occurring, e.g., on Solaris 2.9.
+
+2006-02-25 Saturday 14:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: boundingbox4.cc (1.9), boundingbox5.cc (1.8):
+	  Removed (incorporated in other tests).
+
+2006-02-25 Saturday 14:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.52), boundingbox1.cc (1.10),
+	  boundingbox2.cc (1.9), boundingbox3.cc (1.9): Translated the
+	  tests boundingbox* into the new style.
+
+2006-02-25 Saturday 14:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_public.cc (1.11): Wrong inline qualifier removed.
+
+2006-02-25 Saturday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/numberinput1.cc (1.26): Rename store_nan and
+	  store_infinity to handle_nan and handle_infinity.
+
+2006-02-25 Saturday 10:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Linear_Expression.defs.hh (1.22),
+	  Linear_Expression.inlines.hh (1.8): Added operators so as to
+	  obtain perfect matches and avoid ambiguities.
+
+2006-02-25 Saturday 09:58  Abramo Bagnara
+
+	* src/Checked_Number.inlines.hh (1.62): Fixed typo.
+
+2006-02-25 Saturday 09:36  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh (1.73), Checked_Number.inlines.hh
+	  (1.61): Added is_non_a_number, is_minus_infinity and
+	  is_plus_infinity.
+
+2006-02-25 Saturday 09:28  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh (1.72), checked.defs.hh (1.35),
+	  checked_int.inlines.hh (1.47), checked_mpq.inlines.hh (1.34),
+	  checked_mpz.inlines.hh (1.38), checked_numeric_limits.hh (1.14):
+	  Renamed store_{nan,infinity} to handle_{nan,infinity}
+
+2006-02-23 Thursday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_text_md5sum.m4 (altnum.1): file ac_text_md5sum.m4 was added
+	  on branch altnum on 2006-10-29 19:27:11 +0000
+
+2006-02-23 Thursday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_text_md5sum.m4 (simplex.1): file ac_text_md5sum.m4 was
+	  added on branch simplex on 2006-05-08 17:15:48 +0000
+
+2006-02-23 Thursday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.224), demos/ppl_lcdd/Makefile.am (1.23),
+	  m4/ac_text_md5sum.m4 (1.1): New function to set the command for
+	  computing the MD5 checksum of text files.  Old (not working)
+	  kludges to do the same thing have been removed.
+
+2006-02-23 Thursday 07:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/: affinedim1.cc (1.6), bounded1.cc (1.7), bounds1.cc
+	  (1.7): Never let an operator close a source line.  Avoid useless
+	  parentheses.
+
+2006-02-22 Wednesday 23:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/: asciidumpload1.cc (1.4), bounded1.cc (1.6),
+	  boundingbox1.cc (1.5), boundingbox2.cc (1.5), bounds1.cc (1.6):
+	  Revised tests following new guidelines.
+
+2006-02-22 Wednesday 20:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/: Makefile.am (1.17), affineimage2.cc (1.1),
+	  affinepreimage2.cc (1.1): Test files added due to reorganisation
+	  of tests.
+
+2006-02-22 Wednesday 19:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/Makefile.am (1.16): The test program
+	  affinepreimage2.cc does not exist anymore.
+
+2006-02-22 Wednesday 19:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/Makefile.am (1.15): The test program affineimage2.cc
+	  does not exist anymore.
+
+2006-02-22 Wednesday 12:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/: Makefile.am (1.14), addcongruences1.cc (1.8),
+	  addconstraint1.cc (1.6), addconstraints1.cc (1.6),
+	  addgenerator1.cc (1.8), addgenerators1.cc (1.4), addspacedims1.cc
+	  (1.7), addspacedims2.cc (1.7), affinedim1.cc (1.5),
+	  affineimage1.cc (1.8), affineimage1_16.cc (1.4),
+	  affinepreimage1.cc (1.6), generalizedaffineimage1.cc (1.6),
+	  generalizedaffineimage2.cc (1.6), generalizedaffinepreimage1.cc
+	  (1.7), generalizedaffinepreimage2.cc (1.7), widening1.cc (1.7):
+	  Revised tests following new guidelines.
+
+2006-02-22 Wednesday 11:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/: Makefile.am (1.39), run_tests (1.16): Test with
+	  valgrind also in the tests/BD_Shape directory.
+
+2006-02-22 Wednesday 11:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/valgrind_suppressions (1.4): Ignore warnings originating
+	  from /usr/bin/make.
+
+2006-02-22 Wednesday 11:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/valgrind_suppressions (simplex.1): file
+	  valgrind_suppressions was added on branch simplex on 2006-05-08
+	  17:15:53 +0000
+
+2006-02-22 Wednesday 11:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.51): Path fixed.
+
+2006-02-22 Wednesday 10:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/print.hh (1.30): Removed wrong std:: qualification.
+
+2006-02-22 Wednesday 10:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: valgrind_suppressions (1.3), Grid/Makefile.am (1.13),
+	  Polyhedron/Makefile.am (1.50), Polyhedron/valgrind_suppressions
+	  (1.3): Support valgrind testing also in the Grid directory.
+	  Share a single copy of valgrind_suppressions.
+
+2006-02-22 Wednesday 07:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/print.hh (1.29): Print to nout by default, not to cout.
+
+2006-02-21 Tuesday 21:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/Makefile.am (1.12): Avoid doing what Automake does by
+	  itself.
+
+2006-02-21 Tuesday 19:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.223): On the Alpha, use the appropriate compiler
+	  options in order to obtain support for ANSI/IEEE 754-1985
+	  floating point numbers.
+
+2006-02-21 Tuesday 18:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/memory1.cc (1.9): Exit immediately with error if
+	  the impossible happens.
+
+2006-02-21 Tuesday 16:48  Andrea Cimino
+
+	* src/: LP_Problem.cc, LP_Problem.defs.hh (simplex.[32,24]):
+	  Documentation improved.  Header's `parse_constraints' variables
+	  modified to match the ones in LP_Problem.cc.
+
+2006-02-20 Monday 23:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ppl_test.cc (1.4): Try harder to be informative in case
+	  SIGFPE is raised.
+
+2006-02-20 Monday 23:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu-ia32.inlines.hh (1.12): Struct fenv_t renamed
+	  ia32_fenv_t.
+
+2006-02-20 Monday 20:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Linear_Expression.defs.hh (1.21),
+	  Linear_Expression.inlines.hh (1.7): Use vertical spacing to avoid
+	  clutter.  Do not expose implementation details.  Improve
+	  const-correctness.
+
+2006-02-20 Monday 14:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Congruence_System.cc (1.5): Remove unwanted comment.
+
+2006-02-20 Monday 14:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ppl_test.cc (1.3): Be more informative when the signal code
+	  is unknown.
+
+2006-02-20 Monday 14:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/: print.cc (1.23), print.hh (1.28): Added
+	  print_generators() for grids.
+
+2006-02-20 Monday 14:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/addcongruence1.cc (1.6): Use spacing consistently.
+
+2006-02-20 Monday 14:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.253), ehandlers.cc (1.9), ehandlers.hh
+	  (1.14), ppl_test.cc (1.2), ppl_test.hh (1.39): Source files
+	  ehandlers.* phased out.  Drafted a new SIGFPE handler that every
+	  test installs to help debugging.
+
+2006-02-20 Monday 13:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/addcongruence1.cc (1.5): Added test that showed a bug
+	  in add_congruence_and_minimize(), which is now fixed.
+
+	  All tests here revised to be in the new format.
+
+2006-02-20 Monday 13:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: Congruence_System.cc (1.4), Grid_public.cc (1.10): Changed
+	  add_recycled_congruence_and_minimize() to use recycling_insert()
+	  when adding a congruence.
+
+	  Corrected insert() in Congruence_System.cc so as to correctly
+	  deal with the case that the dimensions of the congruence system
+	  to be added are less than that of *this.
+
+2006-02-19 Sunday 22:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.222): Added Automake conditionals to reflect the
+	  status of shared and static libraries.
+
+2006-02-19 Sunday 20:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Init.cc (1.27), checked.cc (1.17), checked_mpq.inlines.hh
+	  (1.33): Finished the implementation of rational square root
+	  calculations.  The precision parameter is now passed and returned
+	  as an unsigned.  The
+	  set_rational_sqrt_precision_parameter(unsigned p) function throws
+	  an exception if `p' is too big.
+
+2006-02-19 Sunday 17:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Init.cc (1.26), checked.cc (1.16), checked_mpq.inlines.hh
+	  (1.32): New functions void
+	  set_rational_sqrt_precision_parameter(const mpz_class& p) and
+	  mpz_class rational_sqrt_precision_parameter() to set and obtain
+	  the the precision parameter (to be) used for rational sqrt
+	  calculations.
+
+2006-02-19 Sunday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_mpz.inlines.hh (1.37): Avoid long source lines.
+	  Prefer preincrement and predecrement to postincrement and
+	  postdecrement.
+
+2006-02-19 Sunday 16:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_mpz.inlines.hh (1.36): No longer include <cmath>.
+
+2006-02-19 Sunday 13:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_float.inlines.hh (1.63): Do not use the fma(), fmaf()
+	  and fmal() library functions on Alphas, since we cannot guarantee
+	  the library has been compiled with the flags that ensure
+	  controlled rounding is working.
+
+2006-02-19 Sunday 13:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.221): On Alpha chips, support for controlled
+	  rounding is only available if code is compiled to use dynamic
+	  rounding (/d) instructions.  With GCC this can be achieved with
+	  the `-mfp-rounding-mode=d' compiler options;	other compilers are
+	  said to require the `-fprm d' option.
+
+2006-02-19 Sunday 12:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu.defs.hh (1.11): Use more standard macros to implement the
+	  switch on the architecture.
+
+2006-02-18 Saturday 07:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Makefile.am (1.7), src/Makefile.am (1.149): Do not
+	  distribute ppl_include_files.hh and pwl_include_files.hh.  Now
+	  ppl.hh and pwl.hh installation can be completely delegated to
+	  Automake.
+
+2006-02-17 Friday 21:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/float.types.hh (1.16): Fixed nested #if's.
+
+2006-02-15 Wednesday 17:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: print.cc (1.22), print.hh (1.27): Added
+	  print_congruences(const Congruence_System&, const string&,
+	  ostream&) and print_congruences(const Grid&, const string&,
+	  ostream&).
+
+2006-02-15 Wednesday 15:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/maxspacedim.cc (1.12): Trailing blanks removed.
+
+2006-02-15 Wednesday 15:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/: Makefile.am (1.38), addconstraints1.cc (1.10),
+	  affineimage1.cc (1.11), affinepreimage1.cc (1.11),
+	  bdsdifference1.cc (1.7), bdshull1.cc (1.7), bhmz05widening1.cc
+	  (1.6), cc76extrapolation1.cc (1.10), cc76narrowing1.cc (1.11),
+	  contains1.cc (1.9), exceptions1.cc (1.13), exceptions2.cc (1.12),
+	  exceptions3.cc (1.13), generalizedaffineimage2.cc (1.12),
+	  intersection1.cc (1.10), limitedbhmz05extrapolation1.cc (1.6),
+	  limitedcc76extrapolation1.cc (1.6), relations2.cc (1.14),
+	  relations3.cc (1.12), removespacedims1.cc (1.11), timeelapse1.cc
+	  (1.10): Tests for exceptional cases moved to the appropriate test
+	  programs.
+
+2006-02-15 Wednesday 15:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/: Makefile.am (1.37), generalizedaffineimage1.cc
+	  (1.12), generalizedaffineimage2.cc (1.11),
+	  generalizedaffineimage3.cc (1.12): All the tests for
+	  BD_Shape::generalized_affine_preimage() are now in
+	  generalizedaffineimage1.cc and generalizedaffineimage2.cc.
+
+2006-02-15 Wednesday 14:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/addspacedims2.cc (1.11): This is no longer
+	  necessary (all its tests are now in addspacedims1.cc).
+
+2006-02-15 Wednesday 14:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/run_tests (1.15): Test also with long doubles.
+
+2006-02-15 Wednesday 12:16  Andrea Cimino
+
+	* TODO (simplex.2): Added one item.  Provide a better
+	  implementation of computing squares.
+
+2006-02-15 Wednesday 12:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/: addconstraints1.cc (1.9), addspacedims1.cc
+	  (1.10), addspacedims2.cc (1.10), affinedimension1.cc (1.6),
+	  affineimage1.cc (1.10), affineimage2.cc (1.10),
+	  affinepreimage1.cc (1.10), affinepreimage2.cc (1.10),
+	  ascii_dump_load1.cc (1.11), bdsdifference1.cc (1.6), bdshull1.cc
+	  (1.6), bgp99extrapolation1.cc (1.5), bhmz05widening1.cc (1.5),
+	  bhz03widening1.cc (1.5), cc76extrapolation1.cc (1.9),
+	  cc76narrowing1.cc (1.10), closure1.cc (1.13), concatenate1.cc
+	  (1.10), constraints1.cc (1.13), contains1.cc (1.8), empty1.cc
+	  (1.8), equality1.cc (1.13), exceptions1.cc (1.12), exceptions2.cc
+	  (1.11), exceptions3.cc (1.12), fromgensys1.cc (1.10),
+	  generalizedaffineimage1.cc (1.11), generalizedaffineimage2.cc
+	  (1.10), generalizedaffineimage3.cc (1.11),
+	  generalizedaffinepreimage1.cc (1.11),
+	  generalizedaffinepreimage2.cc (1.8), geomcovers1.cc (1.5),
+	  h79widening1.cc (1.9), intersection1.cc (1.9),
+	  limitedbhmz05extrapolation1.cc (1.5),
+	  limitedcc76extrapolation1.cc (1.5), limitedh79extrapolation1.cc
+	  (1.9), mapspacedims1.cc (1.10), maxspacedim.cc (1.11),
+	  minconstraints1.cc (1.5), relations1.cc (1.13), relations2.cc
+	  (1.13), removespacedims1.cc (1.10), timeelapse1.cc (1.9),
+	  universe1.cc (1.10), writebdshape1.cc (1.6): All test functions
+	  have now a name matching `test[012][1234567890]'.
+
+2006-02-15 Wednesday 11:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.252), Partial_Function.cc (1.2),
+	  Partial_Function.defs.hh (1.2), ppl_test.cc (1.1), ppl_test.hh
+	  (1.38), print.cc (1.21), BD_Shape/Makefile.am (1.36),
+	  BD_Shape/addconstraints1.cc (1.8), BD_Shape/addspacedims1.cc
+	  (1.9), BD_Shape/addspacedims2.cc (1.9), BD_Shape/addspacedims3.cc
+	  (1.9), BD_Shape/addspacedims4.cc (1.9), BD_Shape/addspacedims5.cc
+	  (1.12), BD_Shape/addspacedims6.cc (1.12),
+	  BD_Shape/addspacedims7.cc (1.8), BD_Shape/affinedimension1.cc
+	  (1.5), BD_Shape/affineimage1.cc (1.9), BD_Shape/affineimage10.cc
+	  (1.8), BD_Shape/affineimage2.cc (1.9), BD_Shape/affineimage3.cc
+	  (1.9), BD_Shape/affineimage4.cc (1.9), BD_Shape/affineimage5.cc
+	  (1.9), BD_Shape/affineimage6.cc (1.9), BD_Shape/affineimage7.cc
+	  (1.9), BD_Shape/affineimage8.cc (1.15), BD_Shape/affineimage9.cc
+	  (1.13), BD_Shape/affinepreimage1.cc (1.9),
+	  BD_Shape/affinepreimage2.cc (1.9), BD_Shape/affinepreimage3.cc
+	  (1.9), BD_Shape/affinepreimage4.cc (1.9),
+	  BD_Shape/affinepreimage5.cc (1.10), BD_Shape/ascii_dump_load1.cc
+	  (1.10), BD_Shape/ascii_dump_load2.cc (1.10),
+	  BD_Shape/bdsdifference1.cc (1.5), BD_Shape/bdsdifference2.cc
+	  (1.5), BD_Shape/bdsdifference3.cc (1.5),
+	  BD_Shape/bdsdifference4.cc (1.5), BD_Shape/bdsdifference5.cc
+	  (1.5), BD_Shape/bdsdifference6.cc (1.5),
+	  BD_Shape/bdsdifference7.cc (1.5), BD_Shape/bdshull1.cc (1.5),
+	  BD_Shape/bdshull2.cc (1.5), BD_Shape/bdshull3.cc (1.5),
+	  BD_Shape/bdshull4.cc (1.5), BD_Shape/bgp99extrapolation1.cc
+	  (1.4), BD_Shape/bhmz05widening1.cc (1.4),
+	  BD_Shape/bhmz05widening2.cc (1.4), BD_Shape/bhmz05widening3.cc
+	  (1.4), BD_Shape/bhmz05widening4.cc (1.4),
+	  BD_Shape/bhmz05widening5.cc (1.4), BD_Shape/bhmz05widening6.cc
+	  (1.4), BD_Shape/bhmz05widening7.cc (1.4),
+	  BD_Shape/bhmz05widening8.cc (1.4), BD_Shape/bhz03widening1.cc
+	  (1.4), BD_Shape/cc76extrapolation1.cc (1.8),
+	  BD_Shape/cc76extrapolation2.cc (1.9),
+	  BD_Shape/cc76extrapolation3.cc (1.8),
+	  BD_Shape/cc76extrapolation4.cc (1.11),
+	  BD_Shape/cc76extrapolation5.cc (1.8),
+	  BD_Shape/cc76extrapolation6.cc (1.9), BD_Shape/cc76narrowing1.cc
+	  (1.9), BD_Shape/cc76narrowing2.cc (1.9),
+	  BD_Shape/cc76narrowing3.cc (1.9), BD_Shape/cc76narrowing4.cc
+	  (1.10), BD_Shape/cc76narrowing5.cc (1.10), BD_Shape/closure1.cc
+	  (1.12), BD_Shape/concatenate1.cc (1.9), BD_Shape/concatenate2.cc
+	  (1.9), BD_Shape/concatenate3.cc (1.8), BD_Shape/concatenate4.cc
+	  (1.8), BD_Shape/concatenate5.cc (1.9), BD_Shape/constraints1.cc
+	  (1.12), BD_Shape/constraints2.cc (1.9), BD_Shape/contains1.cc
+	  (1.7), BD_Shape/contains2.cc (1.9), BD_Shape/contains3.cc (1.9),
+	  BD_Shape/empty1.cc (1.7), BD_Shape/empty2.cc (1.7),
+	  BD_Shape/empty3.cc (1.8), BD_Shape/empty4.cc (1.7),
+	  BD_Shape/empty5.cc (1.7), BD_Shape/equality1.cc (1.12),
+	  BD_Shape/exceptions1.cc (1.11), BD_Shape/exceptions2.cc (1.10),
+	  BD_Shape/exceptions3.cc (1.11), BD_Shape/fromgensys1.cc (1.9),
+	  BD_Shape/generalizedaffineimage1.cc (1.10),
+	  BD_Shape/generalizedaffineimage10.cc (1.9),
+	  BD_Shape/generalizedaffineimage11.cc (1.8),
+	  BD_Shape/generalizedaffineimage12.cc (1.8),
+	  BD_Shape/generalizedaffineimage13.cc (1.9),
+	  BD_Shape/generalizedaffineimage14.cc (1.13),
+	  BD_Shape/generalizedaffineimage2.cc (1.9),
+	  BD_Shape/generalizedaffineimage3.cc (1.10),
+	  BD_Shape/generalizedaffineimage4.cc (1.9),
+	  BD_Shape/generalizedaffineimage5.cc (1.9),
+	  BD_Shape/generalizedaffineimage6.cc (1.9),
+	  BD_Shape/generalizedaffineimage7.cc (1.9),
+	  BD_Shape/generalizedaffineimage8.cc (1.9),
+	  BD_Shape/generalizedaffineimage9.cc (1.8),
+	  BD_Shape/generalizedaffinepreimage1.cc (1.10),
+	  BD_Shape/generalizedaffinepreimage2.cc (1.7),
+	  BD_Shape/geomcovers1.cc (1.4), BD_Shape/h79widening1.cc (1.8),
+	  BD_Shape/intersection1.cc (1.8), BD_Shape/intersection2.cc (1.8),
+	  BD_Shape/intersection3.cc (1.9), BD_Shape/intersection4.cc
+	  (1.10), BD_Shape/intersection5.cc (1.10),
+	  BD_Shape/intersection6.cc (1.9), BD_Shape/intersection7.cc (1.9),
+	  BD_Shape/intersection8.cc (1.9),
+	  BD_Shape/limitedbhmz05extrapolation1.cc (1.4),
+	  BD_Shape/limitedbhmz05extrapolation2.cc (1.4),
+	  BD_Shape/limitedbhmz05extrapolation3.cc (1.4),
+	  BD_Shape/limitedbhmz05extrapolation4.cc (1.4),
+	  BD_Shape/limitedbhmz05extrapolation5.cc (1.4),
+	  BD_Shape/limitedbhmz05extrapolation6.cc (1.4),
+	  BD_Shape/limitedbhmz05extrapolation7.cc (1.4),
+	  BD_Shape/limitedbhmz05extrapolation8.cc (1.4),
+	  BD_Shape/limitedbhmz05extrapolation9.cc (1.4),
+	  BD_Shape/limitedcc76extrapolation1.cc (1.4),
+	  BD_Shape/limitedcc76extrapolation2.cc (1.5),
+	  BD_Shape/limitedcc76extrapolation3.cc (1.5),
+	  BD_Shape/limitedh79extrapolation1.cc (1.8),
+	  BD_Shape/mapspacedims1.cc (1.9), BD_Shape/mapspacedims2.cc
+	  (1.12), BD_Shape/mapspacedims3.cc (1.10),
+	  BD_Shape/mapspacedims4.cc (1.10), BD_Shape/maxspacedim.cc (1.10),
+	  BD_Shape/minconstraints1.cc (1.4), BD_Shape/relations1.cc (1.12),
+	  BD_Shape/relations2.cc (1.12), BD_Shape/relations3.cc (1.11),
+	  BD_Shape/relations4.cc (1.10), BD_Shape/relations5.cc (1.12),
+	  BD_Shape/removespacedims1.cc (1.9), BD_Shape/removespacedims2.cc
+	  (1.11), BD_Shape/removespacedims3.cc (1.11),
+	  BD_Shape/timeelapse1.cc (1.8), BD_Shape/timeelapse2.cc (1.8),
+	  BD_Shape/timeelapse3.cc (1.8), BD_Shape/timeelapse4.cc (1.8),
+	  BD_Shape/timeelapse5.cc (1.9), BD_Shape/universe1.cc (1.9),
+	  BD_Shape/writebdshape1.cc (1.5), BD_Shape/writebdshape2.cc (1.6):
+	  Started renovation of the testsuite: number of test programs
+	  drastically reduced; all programs have now the very same
+	  structure; non-exceptions failure of one test does prevent the
+	  other tests to be run.  Several tests have also been fixed.
+
+2006-02-15 Wednesday 11:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Partial_Function.cc (simplex.1): file Partial_Function.cc
+	  was added on branch simplex on 2006-05-08 17:15:53 +0000
+
+2006-02-15 Wednesday 11:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Partial_Function.defs.hh (altnum.1): file
+	  Partial_Function.defs.hh was added on branch altnum on 2006-10-29
+	  19:27:21 +0000
+
+2006-02-15 Wednesday 11:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Partial_Function.defs.hh (simplex.1): file
+	  Partial_Function.defs.hh was added on branch simplex on
+	  2006-05-08 17:15:53 +0000
+
+2006-02-15 Wednesday 09:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.49): dualhypercubes also fails
+	  (due to overflow) for checked 64 bits integers, due to the
+	  steepest-edge implementation in the primal simplex.
+
+2006-02-15 Wednesday 09:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedra_Powerset.inlines.hh (1.41): Spcialization of
+	  poly_difference_assign() and check_containment() are now placed
+	  in the same namespace as their declarations.
+
+2006-02-14 Tuesday 21:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/generalizedaffinepreimage1.cc (1.9): Adapted the
+	  expected result of test12() to the precision obtained on the
+	  SPARC.
+
+2006-02-14 Tuesday 15:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/: ppl_test.hh (1.37), Grid/Makefile.am (1.11): Tests in
+	  Makefile.am are ordered alphabetically.  Added "const" to the
+	  parameters in copy_compare() in ppl_test.hh.
+
+2006-02-14 Tuesday 15:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: Congruence_System.cc (1.3), Grid_Generator_System.cc (1.3),
+	  Grid_Generator_System.defs.hh (1.9): Added assert(OK()) to four
+	  methods in Congruence_System.cc Corrected a cut-and-paste error
+	  in Grid_Generator_System.cc Improved a comment in
+	  Grid_Generator_System.defs.hh.
+
+2006-02-14 Tuesday 13:40  Abramo Bagnara
+
+	* src/Checked_Number.inlines.hh (1.60): More correct implementation
+	  for exact_div.
+
+2006-02-14 Tuesday 13:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Checked_Number.defs.hh (1.71), GMP_Integer.defs.hh (1.21),
+	  GMP_Integer.inlines.hh (1.15): Specify that the behavior of
+	  exact_div_assign(x, y, z) is undefined if `z' does not divide
+	  `y'.	This condition is asserted in the GMP_Integer
+	  implementation.
+
+2006-02-14 Tuesday 09:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/generalizedaffinepreimage2.cc (1.6): Corrected.
+
+2006-02-13 Monday 21:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/generalizedaffineimage6.cc (1.8): Corrected a
+	  known result.
+
+2006-02-13 Monday 19:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.251), PFunction.cc (1.9), PFunction.hh
+	  (1.9), Partial_Function.cc (1.1), Partial_Function.defs.hh (1.1),
+	  Partial_Function.inlines.hh (1.1), Partial_Function.types.hh
+	  (1.1), ppl_test.hh (1.36), print.cc (1.20), print.hh (1.26),
+	  BD_Shape/mapspacedims1.cc (1.8), BD_Shape/mapspacedims2.cc
+	  (1.11), BD_Shape/mapspacedims3.cc (1.9),
+	  BD_Shape/mapspacedims4.cc (1.9), Grid/mapspacedims1.cc (1.6),
+	  Polyhedron/mapspacedims1.cc (1.9), Polyhedron/mapspacedims2.cc
+	  (1.7), Polyhedron/mapspacedims3.cc (1.7),
+	  Polyhedron/mapspacedims4.cc (1.7): Class PFunction renamed
+	  Partial_Function and implemented consistently.  Avoided code
+	  duplication for print_function().
+
+2006-02-13 Monday 19:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Partial_Function.inlines.hh (altnum.1): file
+	  Partial_Function.inlines.hh was added on branch altnum on
+	  2006-10-29 19:27:21 +0000
+
+2006-02-13 Monday 19:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Partial_Function.inlines.hh (simplex.1): file
+	  Partial_Function.inlines.hh was added on branch simplex on
+	  2006-05-08 17:15:53 +0000
+
+2006-02-13 Monday 19:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Partial_Function.types.hh (altnum.1): file
+	  Partial_Function.types.hh was added on branch altnum on
+	  2006-10-29 19:27:21 +0000
+
+2006-02-13 Monday 19:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Partial_Function.types.hh (simplex.1): file
+	  Partial_Function.types.hh was added on branch simplex on
+	  2006-05-08 17:15:53 +0000
+
+2006-02-13 Monday 19:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu-sparc.inlines.hh (1.5): Definitions of FPU_UPWARD and
+	  FPU_DOWNWARD fixed.
+
+2006-02-13 Monday 19:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu-sparc.inlines.hh (altnum.1): file fpu-sparc.inlines.hh
+	  was added on branch altnum on 2006-10-29 19:27:15 +0000
+
+2006-02-13 Monday 19:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu-sparc.inlines.hh (simplex.1): file fpu-sparc.inlines.hh
+	  was added on branch simplex on 2006-05-08 17:15:49 +0000
+
+2006-02-13 Monday 19:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/: addconstraints1.cc (1.7), addspacedims1.cc
+	  (1.8), addspacedims2.cc (1.8), addspacedims5.cc (1.11),
+	  addspacedims6.cc (1.11), affineimage1.cc (1.8), affineimage10.cc
+	  (1.7), affineimage2.cc (1.8), affineimage3.cc (1.8),
+	  affineimage4.cc (1.8), affineimage5.cc (1.8), affineimage6.cc
+	  (1.8), affineimage7.cc (1.8), affinepreimage1.cc (1.8),
+	  affinepreimage2.cc (1.8), affinepreimage3.cc (1.8),
+	  affinepreimage4.cc (1.8), bdsdifference1.cc (1.4),
+	  bdsdifference2.cc (1.4), bdsdifference3.cc (1.4),
+	  bdsdifference4.cc (1.4), bdsdifference5.cc (1.4),
+	  bdsdifference6.cc (1.4), bdsdifference7.cc (1.4), bdshull1.cc
+	  (1.4), bdshull2.cc (1.4), bdshull3.cc (1.4), bdshull4.cc (1.4),
+	  bhmz05widening1.cc (1.3), bhmz05widening2.cc (1.3),
+	  bhmz05widening3.cc (1.3), bhmz05widening4.cc (1.3),
+	  bhmz05widening5.cc (1.3), bhmz05widening6.cc (1.3),
+	  bhmz05widening7.cc (1.3), bhmz05widening8.cc (1.3),
+	  cc76extrapolation1.cc (1.7), cc76extrapolation2.cc (1.8),
+	  cc76extrapolation3.cc (1.7), cc76extrapolation4.cc (1.10),
+	  cc76extrapolation5.cc (1.7), cc76narrowing1.cc (1.8),
+	  cc76narrowing2.cc (1.8), cc76narrowing3.cc (1.8),
+	  cc76narrowing4.cc (1.9), cc76narrowing5.cc (1.9), concatenate1.cc
+	  (1.8), concatenate2.cc (1.8), concatenate3.cc (1.7),
+	  concatenate4.cc (1.7), concatenate5.cc (1.8), constraints1.cc
+	  (1.11), constraints2.cc (1.8), equality1.cc (1.11),
+	  fromgensys1.cc (1.8), generalizedaffineimage1.cc (1.9),
+	  generalizedaffineimage10.cc (1.8), generalizedaffineimage11.cc
+	  (1.7), generalizedaffineimage12.cc (1.7),
+	  generalizedaffineimage14.cc (1.12), generalizedaffineimage2.cc
+	  (1.8), generalizedaffineimage3.cc (1.9),
+	  generalizedaffineimage4.cc (1.8), generalizedaffineimage5.cc
+	  (1.8), generalizedaffineimage6.cc (1.7),
+	  generalizedaffineimage7.cc (1.8), generalizedaffineimage8.cc
+	  (1.8), generalizedaffineimage9.cc (1.7),
+	  generalizedaffinepreimage2.cc (1.5), h79widening1.cc (1.7),
+	  intersection1.cc (1.7), intersection2.cc (1.7), intersection3.cc
+	  (1.8), intersection4.cc (1.9), intersection5.cc (1.9),
+	  intersection6.cc (1.8), intersection7.cc (1.8), intersection8.cc
+	  (1.8), limitedbhmz05extrapolation1.cc (1.3),
+	  limitedbhmz05extrapolation2.cc (1.3),
+	  limitedbhmz05extrapolation3.cc (1.3),
+	  limitedbhmz05extrapolation4.cc (1.3),
+	  limitedbhmz05extrapolation5.cc (1.3),
+	  limitedbhmz05extrapolation6.cc (1.3),
+	  limitedbhmz05extrapolation7.cc (1.3),
+	  limitedbhmz05extrapolation8.cc (1.3),
+	  limitedbhmz05extrapolation9.cc (1.3),
+	  limitedcc76extrapolation1.cc (1.3), limitedcc76extrapolation2.cc
+	  (1.4), limitedcc76extrapolation3.cc (1.4),
+	  limitedh79extrapolation1.cc (1.7), mapspacedims1.cc (1.7),
+	  mapspacedims2.cc (1.10), mapspacedims3.cc (1.8), mapspacedims4.cc
+	  (1.8), removespacedims1.cc (1.8), removespacedims2.cc (1.10),
+	  removespacedims3.cc (1.10), timeelapse2.cc (1.7), timeelapse3.cc
+	  (1.7), timeelapse4.cc (1.7), timeelapse5.cc (1.8): Use
+	  BD_Shape<mpq_class> to encode the known results.  Use
+	  check_result() to compare the known result with computed ones
+	  when there might be approximations due to rounding.
+
+2006-02-13 Monday 19:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.66), BD_Shape.templates.hh (1.2): When
+	  building a BD_Shape from a generator system, we should throw an
+	  exception if the system is non-empty but has no points.
+
+2006-02-13 Monday 14:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.220): Version number bumped.
+
+2006-02-13 Monday 14:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/Makefile.am (1.65): Instruct spld to
+	  pass the right options to the linker.
+
+2006-02-13 Monday 14:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/Makefile.am (1.53): Instruct gplc to pass
+	  the right options to the linker.
+
+2006-02-13 Monday 14:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/Makefile.am (1.60): Instruct plld to pass
+	  the right options to the linker (that is, to the C++ compiler).
+
+2006-02-13 Monday 14:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/: affineimage8.cc (1.14), affineimage9.cc (1.12),
+	  affinepreimage5.cc (1.9), generalizedaffineimage13.cc (1.8),
+	  generalizedaffinepreimage1.cc (1.8): Corrected and standardized
+	  as suggested by Roberto the way we compare the computed and known
+	  results.
+
+2006-02-13 Monday 13:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (1.183), src/Grid.defs.hh (1.10), src/Grid_public.cc (1.9),
+	  tests/Grid/Makefile.am (1.10), tests/Grid/discrete1.cc (1.1),
+	  tests/Grid/pointed1.cc (1.6): Removed a todo item regarding
+	  missing operators for grids.	Renamed method is_pointed() by
+	  is_discrete().  Changed name of test for this method to match
+	  change of name.
+
+2006-02-13 Monday 11:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/LP_Problem3.cc (1.7): Removed.
+
+2006-02-13 Monday 11:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* STANDARDS (1.32): Explain the new mechanism to obtain noisy
+	  and/or very noisy behavior from test programs.
+
+2006-02-13 Monday 10:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.templates.hh (simplex.1): file
+	  Polyhedron.templates.hh was added on branch simplex on 2006-05-08
+	  17:15:49 +0000
+
+2006-02-13 Monday 10:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref.doxyconf-html.in (1.69), doc/devref.doxyconf-latex.in
+	  (1.10), src/Makefile.am (1.148), src/Polyhedron.defs.hh (1.294),
+	  src/Polyhedron.inlines.hh (1.131), src/Polyhedron.templates.hh
+	  (1.1): New file Polyhedron.templates.hh contains non-inline
+	  template functions of the implementation of class Polyhedron.
+
+2006-02-13 Monday 10:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/: addconstraint3.cc (1.7), addgenerator3.cc
+	  (1.7), addspacedims13.cc (1.7), affineimage5.cc (1.8), append1.cc
+	  (1.7), generators1.cc (1.7), generators2.cc (1.7), powerset1.cc
+	  (1.11), writerelation1.cc (1.8): Removed useless invocations to
+	  the OK() methods.
+
+2006-02-13 Monday 10:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.182): Added one item for PPL 0.9.
+
+2006-02-13 Monday 10:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.181): Added an (urgent) item concerning the use of OK()
+	  methods.
+
+2006-02-13 Monday 10:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.180): Pushed several items to PPL 0.10.
+
+2006-02-13 Monday 09:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/libppl-pwl.copyright.in (1.3), debian/libppl.copyright.in
+	  (1.3), src/Grid_Generator.cc (1.3), tests/Grid/Makefile.am (1.9),
+	  tests/Grid/addcongruence1.cc (1.4), tests/Grid/addcongruences1.cc
+	  (1.7), tests/Grid/addconstraint1.cc (1.5),
+	  tests/Grid/addconstraints1.cc (1.5), tests/Grid/addgenerator1.cc
+	  (1.7), tests/Grid/addgenerators1.cc (1.3),
+	  tests/Grid/addspacedims1.cc (1.6), tests/Grid/addspacedims2.cc
+	  (1.6), tests/Grid/affinedim1.cc (1.4), tests/Grid/affineimage1.cc
+	  (1.7), tests/Grid/affineimage1_16.cc (1.3),
+	  tests/Grid/affinepreimage1.cc (1.5), tests/Grid/asciidumpload1.cc
+	  (1.3), tests/Grid/bhz03widening1.cc (1.4), tests/Grid/bounded1.cc
+	  (1.5), tests/Grid/boundingbox1.cc (1.4),
+	  tests/Grid/boundingbox2.cc (1.4), tests/Grid/bounds1.cc (1.5),
+	  tests/Grid/certificate1.cc (1.6), tests/Grid/concatenate1.cc
+	  (1.6), tests/Grid/congruence1.cc (1.6),
+	  tests/Grid/congruences1.cc (1.4), tests/Grid/congruencesystem1.cc
+	  (1.4), tests/Grid/congruencesystem2.cc (1.4),
+	  tests/Grid/contains1.cc (1.5), tests/Grid/contains2.cc (1.4),
+	  tests/Grid/copyconstruct1.cc (1.4), tests/Grid/coveringbox1.cc
+	  (1.4), tests/Grid/coveringbox2.cc (1.4), tests/Grid/disjoint1.cc
+	  (1.5), tests/Grid/equals1.cc (1.5), tests/Grid/expandspacedim1.cc
+	  (1.5), tests/Grid/foldspacedims1.cc (1.5),
+	  tests/Grid/generalizedaffineimage1.cc (1.5),
+	  tests/Grid/generalizedaffineimage2.cc (1.5),
+	  tests/Grid/generalizedaffinepreimage1.cc (1.6),
+	  tests/Grid/generalizedaffinepreimage2.cc (1.6),
+	  tests/Grid/generator1.cc (1.4), tests/Grid/generators1.cc (1.6),
+	  tests/Grid/grid1.cc (1.9), tests/Grid/grid1_16.cc (1.6),
+	  tests/Grid/grid1_64.cc (1.4), tests/Grid/grid1_gmp.cc (1.4),
+	  tests/Grid/grid2.cc (1.7), tests/Grid/grid2_16.cc (1.4),
+	  tests/Grid/grid3.cc (1.6), tests/Grid/griddifference1.cc (1.6),
+	  tests/Grid/intersection1.cc (1.5), tests/Grid/intersection2.cc
+	  (1.4), tests/Grid/isempty1.cc (1.3), tests/Grid/isuniverse1.cc
+	  (1.6), tests/Grid/join1.cc (1.8), tests/Grid/join1_16.cc (1.3),
+	  tests/Grid/join2.cc (1.4), tests/Grid/join3.cc (1.6),
+	  tests/Grid/limitedextrapolation1.cc (1.5),
+	  tests/Grid/mapspacedims1.cc (1.5), tests/Grid/maxmin1.cc (1.4),
+	  tests/Grid/membytes1.cc (1.3), tests/Grid/membytes2.cc (1.3),
+	  tests/Grid/mincongruences1.cc (1.5), tests/Grid/mingenerators1.cc
+	  (1.5), tests/Grid/outputoperator1.cc (1.3),
+	  tests/Grid/pointed1.cc (1.5), tests/Grid/relations1.cc (1.7),
+	  tests/Grid/relations2.cc (1.6), tests/Grid/removespacedims1.cc
+	  (1.5), tests/Grid/removespacedims2.cc (1.5),
+	  tests/Grid/timeelapse1.cc (1.5), tests/Grid/timeelapse2.cc (1.4),
+	  tests/Grid/topclosed1.cc (1.5), tests/Grid/topclosure1.cc (1.4),
+	  tests/Grid/widening1.cc (1.6),
+	  tests/Grid/writecongruencesystem.cc (1.3),
+	  tests/Polyhedron/addcongruence1.cc (1.4),
+	  tests/Polyhedron/addcongruence2.cc (1.4),
+	  tests/Polyhedron/addcongruence3.cc (1.4),
+	  tests/Polyhedron/addcongruence4.cc (1.4),
+	  tests/Polyhedron/addcongruence5.cc (1.4),
+	  tests/Polyhedron/addcongruences1.cc (1.5),
+	  tests/Polyhedron/addcongruences2.cc (1.4),
+	  tests/Polyhedron/addcongruences3.cc (1.4),
+	  tests/Polyhedron/addcongruences4.cc (1.4),
+	  tests/Polyhedron/addcongruences5.cc (1.4),
+	  tests/Polyhedron/congruences1.cc (1.4): Copyright years made
+	  consistent across the entire library.
+
+2006-02-13 Monday 09:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/libppl-pwl.copyright.in (altnum.1): file
+	  libppl-pwl.copyright.in was added on branch altnum on 2006-10-29
+	  19:26:52 +0000
+
+2006-02-13 Monday 09:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/libppl.copyright.in (altnum.1): file libppl.copyright.in
+	  was added on branch altnum on 2006-10-29 19:26:52 +0000
+
+2006-02-13 Monday 08:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/ppl_test.hh (1.35): "const" added in copy_compare().
+
+2006-02-13 Monday 08:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/randphull1.cc (1.9): Added missing semicolons.
+
+2006-02-13 Monday 07:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/ppl.sty (1.25): Added new command \Sset.
+
+2006-02-13 Monday 07:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/addcongruences1.cc (1.4): Old bug fixed.
+
+2006-02-12 Sunday 22:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/mapspacedims1.cc (1.4): No longer use the NOISY macro.
+
+2006-02-12 Sunday 22:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/: LP_Problem3.cc (1.6), lpproblem1.cc (1.5),
+	  lpproblem2.cc (1.4): Comments improved.  Copyright notice fixed.
+
+2006-02-12 Sunday 22:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/: LP_Problem3.cc (1.5), addcongruence1.cc (1.3),
+	  addcongruence2.cc (1.3), addcongruence3.cc (1.3),
+	  addcongruence4.cc (1.3), addcongruence5.cc (1.3),
+	  addcongruences1.cc (1.3), addcongruences2.cc (1.3),
+	  addcongruences3.cc (1.3), addcongruences4.cc (1.3),
+	  addcongruences5.cc (1.3), bug2.cc (1.6), congruences1.cc (1.3),
+	  dualhypercubes.cc (1.7), numberinput1.cc (1.25), randphull1.cc
+	  (1.8): No longer use the NOISY or VERY_NOISY macro in test
+	  programs.
+
+2006-02-12 Sunday 22:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/print.hh (1.25): check_noisy() is now (temporarily)
+	  declared static.
+
+2006-02-12 Sunday 21:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/print.hh (1.24): Noisy and very noisy test output properly
+	  implemented: now the `nout' and `vnout' ostream are controlled by
+	  the `PPL_NOISY_TESTS' and `PPL_VERY_NOISY_TESTS' environment
+	  variables.
+
+2006-02-12 Sunday 20:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: BD_Shape/addspacedims5.cc (1.10),
+	  BD_Shape/addspacedims6.cc (1.10), BD_Shape/affinedimension1.cc
+	  (1.4), BD_Shape/affineimage10.cc (1.6), BD_Shape/affineimage9.cc
+	  (1.11), BD_Shape/affinepreimage5.cc (1.8),
+	  BD_Shape/ascii_dump_load2.cc (1.9),
+	  BD_Shape/cc76extrapolation4.cc (1.9), BD_Shape/constraints1.cc
+	  (1.10), BD_Shape/equality1.cc (1.10), BD_Shape/fromgensys1.cc
+	  (1.7), BD_Shape/generalizedaffineimage13.cc (1.7),
+	  BD_Shape/generalizedaffineimage14.cc (1.11),
+	  BD_Shape/generalizedaffinepreimage1.cc (1.7),
+	  BD_Shape/generalizedaffinepreimage2.cc (1.4),
+	  BD_Shape/limitedcc76extrapolation2.cc (1.3),
+	  BD_Shape/limitedcc76extrapolation3.cc (1.3),
+	  BD_Shape/mapspacedims2.cc (1.9), BD_Shape/relations1.cc (1.11),
+	  BD_Shape/relations2.cc (1.11), BD_Shape/relations3.cc (1.10),
+	  BD_Shape/relations4.cc (1.9), BD_Shape/relations5.cc (1.11),
+	  BD_Shape/removespacedims2.cc (1.9), BD_Shape/removespacedims3.cc
+	  (1.9), Grid/addcongruence1.cc (1.3), Grid/addcongruences1.cc
+	  (1.6), Grid/addconstraint1.cc (1.4), Grid/addconstraints1.cc
+	  (1.4), Grid/addgenerator1.cc (1.6), Grid/addgenerators1.cc (1.2),
+	  Grid/addspacedims1.cc (1.5), Grid/addspacedims2.cc (1.5),
+	  Grid/affinedim1.cc (1.3), Grid/affineimage1.cc (1.6),
+	  Grid/affineimage1_16.cc (1.2), Grid/affinepreimage1.cc (1.4),
+	  Grid/asciidumpload1.cc (1.2), Grid/bhz03widening1.cc (1.3),
+	  Grid/bounded1.cc (1.4), Grid/boundingbox1.cc (1.3),
+	  Grid/boundingbox2.cc (1.3), Grid/bounds1.cc (1.4),
+	  Grid/certificate1.cc (1.5), Grid/concatenate1.cc (1.5),
+	  Grid/congruence1.cc (1.5), Grid/congruences1.cc (1.3),
+	  Grid/congruencesystem1.cc (1.3), Grid/congruencesystem2.cc (1.3),
+	  Grid/contains1.cc (1.4), Grid/contains2.cc (1.3),
+	  Grid/copyconstruct1.cc (1.3), Grid/coveringbox1.cc (1.3),
+	  Grid/coveringbox2.cc (1.3), Grid/disjoint1.cc (1.4),
+	  Grid/equals1.cc (1.4), Grid/expandspacedim1.cc (1.4),
+	  Grid/foldspacedims1.cc (1.4), Grid/generalizedaffineimage1.cc
+	  (1.4), Grid/generalizedaffineimage2.cc (1.4),
+	  Grid/generalizedaffinepreimage1.cc (1.5),
+	  Grid/generalizedaffinepreimage2.cc (1.5), Grid/generator1.cc
+	  (1.3), Grid/generators1.cc (1.5), Grid/grid1.cc (1.8),
+	  Grid/grid1_16.cc (1.5), Grid/grid1_64.cc (1.3), Grid/grid1_gmp.cc
+	  (1.3), Grid/grid2.cc (1.6), Grid/grid2_16.cc (1.3), Grid/grid3.cc
+	  (1.5), Grid/griddifference1.cc (1.5), Grid/intersection1.cc
+	  (1.4), Grid/intersection2.cc (1.3), Grid/isempty1.cc (1.2),
+	  Grid/isuniverse1.cc (1.5), Grid/join1.cc (1.7), Grid/join1_16.cc
+	  (1.2), Grid/join2.cc (1.3), Grid/join3.cc (1.5),
+	  Grid/limitedextrapolation1.cc (1.4), Grid/mapspacedims1.cc (1.3),
+	  Grid/maxmin1.cc (1.3), Grid/mincongruences1.cc (1.4),
+	  Grid/mingenerators1.cc (1.4), Grid/outputoperator1.cc (1.2),
+	  Grid/pointed1.cc (1.4), Grid/relations1.cc (1.6),
+	  Grid/relations2.cc (1.5), Grid/removespacedims1.cc (1.4),
+	  Grid/removespacedims2.cc (1.4), Grid/timeelapse1.cc (1.4),
+	  Grid/timeelapse2.cc (1.3), Grid/topclosed1.cc (1.4),
+	  Grid/topclosure1.cc (1.3), Grid/widening1.cc (1.5),
+	  Polyhedron/NNCbecomesC1.cc (1.7), Polyhedron/addconstraints13.cc
+	  (1.8), Polyhedron/addgenerators12.cc (1.8),
+	  Polyhedron/affineimage8.cc (1.7), Polyhedron/affinepreimage10.cc
+	  (1.7), Polyhedron/affinepreimage12.cc (1.2),
+	  Polyhedron/affinepreimage9.cc (1.7),
+	  Polyhedron/ascii_dump_load3.cc (1.7),
+	  Polyhedron/ascii_dump_load4.cc (1.7),
+	  Polyhedron/ascii_dump_load5.cc (1.7),
+	  Polyhedron/ascii_dump_load6.cc (1.8),
+	  Polyhedron/bhrz03widening12.cc (1.7),
+	  Polyhedron/bhz03widening6.cc (1.9), Polyhedron/boundingbox1.cc
+	  (1.9), Polyhedron/boundingbox2.cc (1.8),
+	  Polyhedron/boundingbox3.cc (1.8), Polyhedron/boundingbox4.cc
+	  (1.8), Polyhedron/concatenate6.cc (1.8),
+	  Polyhedron/constraints4.cc (1.8), Polyhedron/contains5.cc (1.7),
+	  Polyhedron/disjoint2.cc (1.8), Polyhedron/disjoint3.cc (1.8),
+	  Polyhedron/expandspacedim1.cc (1.8),
+	  Polyhedron/expandspacedim2.cc (1.8), Polyhedron/foldspacedims1.cc
+	  (1.8), Polyhedron/foldspacedims2.cc (1.8),
+	  Polyhedron/generalizedaffineimage10.cc (1.7),
+	  Polyhedron/generalizedaffineimage11.cc (1.8),
+	  Polyhedron/generalizedaffineimage9.cc (1.7),
+	  Polyhedron/generators6.cc (1.8), Polyhedron/intersection10.cc
+	  (1.8), Polyhedron/intersection11.cc (1.8),
+	  Polyhedron/limitedh79extrapolation4.cc (1.8),
+	  Polyhedron/mapspacedims1.cc (1.8), Polyhedron/polydifference7.cc
+	  (1.8), Polyhedron/polyhull8.cc (1.8), Polyhedron/polyhull9.cc
+	  (1.8), Polyhedron/polypowerset1.cc (1.18),
+	  Polyhedron/relations17.cc (1.8), Polyhedron/relations19.cc (1.8),
+	  Polyhedron/relations9.cc (1.7), Polyhedron/topclosure4.cc (1.8),
+	  Polyhedron/writerelation1.cc (1.7): Use the DO_TEST macro in
+	  multiple tests.
+
+2006-02-12 Sunday 18:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/generators1.cc (1.4): Added three tests; for a
+	  generator system with parameters, one where the parameter is
+	  integral, and two which have divisors.
+
+2006-02-12 Sunday 17:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.219): Check whether getenv() is declared.
+
+2006-02-12 Sunday 17:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/affineimage8.cc (1.13): Changed so as to do
+	  sensible tests.
+
+2006-02-12 Sunday 16:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ppl_test.hh (1.34): Added a macro DO_TEST to be used when
+	  implementing more than one test in a test program.  Added all the
+	  infrastructure required to write decent tests for BD_Shape.
+
+2006-02-12 Sunday 16:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_mpq.inlines.hh (1.31): It is now possible to (very
+	  inefficiently) build and assign an mpq_class checked number from
+	  a long double.
+
+2006-02-12 Sunday 16:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_float.inlines.hh (1.62): The output_float() function
+	  now takes its `from' parameter as `const Type', not `Type&'.
+
+2006-02-12 Sunday 14:22  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh (1.70), Checked_Number.inlines.hh
+	  (1.59): Added constructor with rounding direction.
+
+2006-02-12 Sunday 12:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/: generalizedaffinepreimage1.cc (1.4),
+	  generalizedaffinepreimage2.cc (1.4), grid1_16.cc (1.4): Removed
+	  'FIX check' comments (and similar) as tests now checked.
+	  Renumbered tests in generalizedaffinepreimage2.cc so that they
+	  start from 1.  Added test 6 in generalizedaffinepreimage2.cc.
+
+2006-02-12 Sunday 11:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Grid_nonpublic.cc (1.6): Correct bug in use of NDEBUG.
+
+2006-02-12 Sunday 10:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.194): Improved the section on grids.
+
+2006-02-12 Sunday 09:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/.cvsignore (1.6): File ppl_sicstus.pl
+	  was erroneously ignored.
+
+2006-02-11 Saturday 20:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/GMP_Integer.defs.hh (1.20): Added a missing \relates Doxygen
+	  command for gdcext_assign().
+
+2006-02-11 Saturday 20:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Congruence.defs.hh (1.3), Congruence_System.defs.hh (1.6),
+	  Grid.defs.hh (1.9), Grid_Certificate.defs.hh (1.3),
+	  Grid_Generator.defs.hh (1.8), Grid_Generator_System.defs.hh
+	  (1.8), globals.defs.hh (1.36): Inserting the Grid classes in the
+	  C++ interface documentation group.
+
+2006-02-11 Saturday 20:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Certificate.defs.hh (altnum.1): file
+	  Grid_Certificate.defs.hh was added on branch altnum on 2006-10-29
+	  19:27:13 +0000
+
+2006-02-11 Saturday 20:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Certificate.defs.hh (simplex.1): file
+	  Grid_Certificate.defs.hh was added on branch simplex on
+	  2006-05-08 17:15:49 +0000
+
+2006-02-11 Saturday 15:51  Andrea Cimino
+
+	* src/: LP_Problem.cc, LP_Problem.defs.hh (simplex.[31,23]):
+	  Removed redundant code where possible.  Properly renamed some
+	  variables and methods.  Try to avoid memory reallocations and to
+	  keep the internal data structures always consistent.
+
+2006-02-11 Saturday 13:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.147), tests/BD_Shape/Makefile.am (1.35),
+	  tests/Grid/Makefile.am (1.8), tests/Polyhedron/Makefile.am
+	  (1.48): Use precompiled headers, if requested to do so.
+
+2006-02-11 Saturday 13:27  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.193), src/Grid.defs.hh (1.8): Corrected
+	  doxygen references.
+
+2006-02-11 Saturday 12:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.218): Added an initial version of the new
+	  --enable-pch configure option: this will allow to enable
+	  precompiled headers when they are made available by the C/C++
+	  compilers.
+
+2006-02-11 Saturday 11:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/.cvsignore (1.2), Watchdog/src/Makefile.am (1.6),
+	  interfaces/Prolog/ppl_prolog.icc (1.176),
+	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.46),
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.39),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.91),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.121),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.86),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.114),
+	  tests/Polyhedron/watchdog1.cc (1.8): We now directly create
+	  `pwl.hh': `pwl_install.hh' does not exist any longer.
+
+2006-02-11 Saturday 11:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/.cvsignore (altnum.1): file .cvsignore was added on
+	  branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-02-11 Saturday 11:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedra_Powerset.inlines.hh (1.40): Added a couple of
+	  missing namespace qualifications in \relates Doxygen commands.
+
+2006-02-11 Saturday 11:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/utils/.cvsignore (1.2), debian/.cvsignore (1.2),
+	  doc/.cvsignore (1.3), src/.cvsignore (1.10), utils/.cvsignore
+	  (1.2): Ignore more built files and directories.
+
+2006-02-11 Saturday 11:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/utils/.cvsignore (altnum.1): file .cvsignore was added
+	  on branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-02-11 Saturday 11:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/.cvsignore (altnum.1): file .cvsignore was added on branch
+	  altnum on 2006-10-29 19:26:52 +0000
+
+2006-02-11 Saturday 10:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl-config.cc.in (altnum.1): file ppl-config.cc.in was added
+	  on branch altnum on 2006-10-29 19:27:15 +0000
+
+2006-02-11 Saturday 10:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.55), interfaces/C/ppl_c.cc (1.152),
+	  interfaces/Prolog/ppl_prolog.icc (1.175),
+	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.45),
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.38),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.90),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.120),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.85),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.113), src/.cvsignore (1.9),
+	  src/Makefile.am (1.146), src/ppl-config.cc.in (1.18),
+	  tests/ppl_test.hh (1.33): We now directly create `ppl.hh':
+	  `ppl_install.hh' does not exist any longer.
+
+2006-02-11 Saturday 10:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/run_tests (1.14): The `$(COMMANDS)' construct is
+	  not portable: use ``COMMANDS`' instead.
+
+2006-02-10 Friday 21:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu-sparc.inlines.hh (1.4): Added missing type casts.
+
+2006-02-10 Friday 20:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: fpu-sparc.inlines.hh (1.3), fpu.types.hh (1.2): Now both
+	  fpu_rounding_direction_type and fpu_rounding_control_word_type
+	  are unconditionally defined to be the int type.
+
+2006-02-10 Friday 20:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu.types.hh (altnum.1): file fpu.types.hh was added on
+	  branch altnum on 2006-10-29 19:27:15 +0000
+
+2006-02-10 Friday 20:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu.types.hh (simplex.1): file fpu.types.hh was added on
+	  branch simplex on 2006-05-08 17:15:49 +0000
+
+2006-02-10 Friday 20:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_float.inlines.hh (1.61): Avoid long lines.
+
+2006-02-10 Friday 19:58  Abramo Bagnara
+
+	* src/fpu-ia32.inlines.hh (1.11): God rid of HIJACK_FPU (now it's
+	  the normal behaviour).
+
+2006-02-10 Friday 15:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Init.cc (1.25): Initialize the library with
+	  fpu_set_rounding_direction(ROUND_DIRECT) instead of
+	  fpu_set_rounding_direction(FPU_UPWARD).
+
+2006-02-10 Friday 15:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu.defs.hh (1.10): Copy and paste mistake fixed.
+
+2006-02-10 Friday 13:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_fpu_control.m4 (1.2): Use AC_LANG_SOURCE to obtain
+	  the test program source.
+
+2006-02-10 Friday 13:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_fpu_control.m4 (altnum.1): file
+	  ac_check_fpu_control.m4 was added on branch altnum on 2006-10-29
+	  19:27:11 +0000
+
+2006-02-10 Friday 13:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_fpu_control.m4 (simplex.1): file
+	  ac_check_fpu_control.m4 was added on branch simplex on 2006-05-08
+	  17:15:48 +0000
+
+2006-02-10 Friday 13:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu-none.inlines.hh (altnum.1): file fpu-none.inlines.hh was
+	  added on branch altnum on 2006-10-29 19:27:15 +0000
+
+2006-02-10 Friday 13:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.217), src/Init.cc (1.24), src/fpu-none.inlines.hh
+	  (1.4), src/fpu.defs.hh (1.9): Check for the possibility to
+	  control the FPU.  If FPU control is not available, do not try to
+	  use it in Init::Init();  any attempt to use it from elsewhere
+	  will result in an std::logic_error exception being thrown.
+
+2006-02-10 Friday 11:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/Makefile.am (1.17): Updated.
+
+2006-02-10 Friday 11:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_fpu_control.m4 (1.1): New function to check for the
+	  possibility to control the FPU.
+
+2006-02-10 Friday 07:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_float.inlines.hh (1.60): Use the new interfaces
+	  offered by the FPU control/query functions.
+
+2006-02-09 Thursday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.189): Mention the portability improvements.
+
+2006-02-09 Thursday 21:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_int.inlines.hh (1.46): Be functional also if the
+	  "fast" integral types are missing.
+
+2006-02-09 Thursday 21:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.216): Check for the availability of "fast"
+	  integral types.
+
+2006-02-09 Thursday 20:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Init.cc (1.23), Init.defs.hh (1.16): Adapted to the recent
+	  changes concerning FPU control.  Init::Init() was probably broken
+	  on some architectures.
+
+2006-02-09 Thursday 20:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu-c99.inlines.hh (1.11): Mac OS X 10.4 has fixed <fenv.h>:
+	  now the FE_* constants are defined by means of macros.
+
+2006-02-09 Thursday 20:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Makefile.am (1.145), fpu-c99.inlines.hh (1.10),
+	  fpu-ia32.inlines.hh (1.10), fpu-sparc.inlines.hh (1.2),
+	  fpu.defs.hh (1.8), fpu.types.hh (1.1): FPU control functions
+	  documented.  They now use the new system-dependent types
+	  fpu_rounding_direction_type and fpu_rounding_control_word_type.
+
+2006-02-09 Thursday 16:00  Andrea Cimino
+
+	* src/LP_Problem.cc (simplex.30): Fixed another bug.  Keep
+	  `last_generator' always updated even if the second phase fails.
+
+2006-02-09 Thursday 13:18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c, src/LP_Problem.cc,
+	  src/LP_Problem.defs.hh, src/LP_Problem.inlines.hh
+	  (simplex.[6,29,22,18]): Temporarily replaced method	const
+	  Constraint_System& constraints() const; by   Constraint_System
+	  constraints() const; Removed a fixme.  Simplified the prototype
+	  and the implementation of is_satisfied().
+
+2006-02-09 Thursday 08:46  Abramo Bagnara
+
+	* src/checked_float.inlines.hh (1.59): Fixed cut and paste typo.
+
+2006-02-08 Wednesday 20:06  Andrea Cimino
+
+	* src/LP_Problem.cc (simplex.28): Fixed a bug in `is_satisfied()'.
+
+2006-02-08 Wednesday 12:28  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh (1.69), Checked_Number.inlines.hh
+	  (1.58), Float.cc (1.4), Float.defs.hh (1.19), Float.inlines.hh
+	  (1.23), checked_ext.inlines.hh (1.29), checked_float.inlines.hh
+	  (1.58), checked_numeric_limits.hh (1.13), float.types.hh (1.15):
+	  Better abstraction for float binary format.
+
+2006-02-08 Wednesday 12:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Float.cc (altnum.1): file Float.cc was added on branch altnum
+	  on 2006-10-29 19:27:12 +0000
+
+2006-02-06 Monday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.144): Distribute also fpu-none.inlines.hh and
+	  fpu-sparc.inlines.hh.
+
+2006-02-06 Monday 21:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.215): Check for the availability of fenv.h and
+	  ieeefp.h.
+
+2006-02-06 Monday 21:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu-ia32.inlines.hh (1.9): Typo fixed.
+
+2006-02-06 Monday 21:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu-c99.inlines.hh (1.9): Do no harm if fenv.h is not
+	  available.
+
+2006-02-06 Monday 21:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu.defs.hh (1.7): Only include fpu-c99.inlines.hh if fenv.h
+	  is available.  Otherwise, if `sparc' evaluates to true, include
+	  fpu-sparc.inlines.hh.  Otherwise include fpu-none.inlines.hh.
+
+2006-02-06 Monday 21:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu-sparc.inlines.hh (1.1): SPARC floating point unit related
+	  functions.
+
+2006-02-06 Monday 21:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.47): Added NNCminimize1 to
+	  XFAIL_WITH_INT8_A.
+
+2006-02-06 Monday 20:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.214), src/checked_float.inlines.hh (1.57): Do not
+	  use rintf() if it is not available.
+
+2006-02-06 Monday 07:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/Makefile.am (1.34): Undo change erroneously merged
+	  from the `grids' branch.
+
+2006-02-06 Monday 01:29  Andrea Cimino
+
+	* src/LP_Problem.cc (simplex.27): Removed redundant and useless
+	  code.
+
+2006-02-05 Sunday 20:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/float.types.hh (1.14): New macros give the binary format of
+	  each supported C++ floating point type: CXX_FLOAT_BINARY_FORMAT,
+	  CXX_DOUBLE_BINARY_FORMAT and CXX_LONG_DOUBLE_BINARY_FORMAT. These
+	  macros are undefined is the format has not been recognized.
+
+2006-02-05 Sunday 20:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_float128_binary_format.m4 (1.5): Make sure the macro
+	  CXX_FLOAT128_BINARY_FORMAT_IS_INTEL_DOUBLE_EXTENDED is always
+	  defined.
+
+2006-02-05 Sunday 18:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.213), instchk.hh (1.4),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.119), src/Float.defs.hh
+	  (1.18), src/Float.inlines.hh (1.22), src/checked_int.inlines.hh
+	  (1.45): Cater for those systems providing inttypes.h instead of
+	  stdint.h.
+
+2006-02-05 Sunday 18:38  Andrea Cimino
+
+	* src/: Generator.defs.hh, LP_Problem.cc, LP_Problem.defs.hh
+	  (simplex.[2,26,21]): LP_Problem, during the incrementality
+	  process, checks if an inequality is already satisfied by
+	  `last_generator': this can save a lot of time.  LP_Problem
+	  declared friend of Generator to allow a right use of
+	  Scalar_Products.
+
+2006-02-05 Sunday 18:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/: ac_cxx_float32_binary_format.m4 (1.3),
+	  ac_cxx_float64_binary_format.m4 (1.4),
+	  ac_cxx_float96_binary_format.m4 (1.4): Be more concise.
+
+2006-02-05 Sunday 17:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_float128_binary_format.m4 (1.4): Constants fixed.
+
+2006-02-05 Sunday 17:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/: Makefile.am (1.7), affineimage1.cc (1.5),
+	  affineimage1_16.cc (1.1), grid1.cc (1.7), grid1_16.cc (1.3),
+	  join1.cc (1.6), join1_16.cc (1.1): Three tests added before to
+	  grid1.cc join1.cc affineimage1.cc now removed and placed in
+	  grid1_16.cc join1_16.cc affineimage1_16.cc.  These last 3 tests
+	  are expected to fail with 8 bit integers.
+
+2006-02-05 Sunday 16:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_float128_binary_format.m4 (1.3): Constant fixed.
+
+2006-02-05 Sunday 15:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/: ac_cxx_float128_binary_format.m4 (1.2),
+	  ac_cxx_float32_binary_format.m4 (1.2),
+	  ac_cxx_float64_binary_format.m4 (1.3),
+	  ac_cxx_float96_binary_format.m4 (1.3): Cater for those systems
+	  providing inttypes.h instead of stdint.h.
+
+2006-02-05 Sunday 15:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl-config.cc.in (1.17): Spurious blank removed.
+
+2006-02-05 Sunday 15:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.212): Detect the binary format used by 128-bit
+	  floats.
+
+2006-02-05 Sunday 15:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_float128_binary_format.m4 (1.1): New function to detect
+	  the binary format used by 128-bit floats.
+
+2006-02-05 Sunday 14:17  Matthew Mundell
+
+	* tests/Grid/: certificate1.cc (1.4), isuniverse1.cc (1.4): Take
+	  out stray calls to ascii_dump.
+
+2006-02-05 Sunday 11:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_float64_binary_format.m4 (1.2): Cosmetic improvements.
+
+2006-02-05 Sunday 11:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.211): Detect the binary format used by 32-bit
+	  floats.
+
+2006-02-05 Sunday 11:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_float32_binary_format.m4 (1.1): New function to detect
+	  the binary format used by 32-bit floats.
+
+2006-02-05 Sunday 10:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_float96_binary_format.m4 (1.2): Correctly handle the
+	  case where a 96-bit floating point format is not detected.
+
+2006-02-05 Sunday 10:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.210): Detect the binary format used by 96-bit
+	  floats.
+
+2006-02-05 Sunday 10:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_float96_binary_format.m4 (1.1): New function to detect
+	  the binary format used by 96-bit floats.
+
+2006-02-04 Saturday 22:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.209): Detect the binary format used by 64-bit
+	  floats.
+
+2006-02-04 Saturday 22:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_float64_binary_format.m4 (1.1): New function to detect
+	  the binary format used by 64-bit floats.
+
+2006-02-03 Friday 03:25  Andrea Cimino
+
+	* src/LP_Problem.cc (simplex.25): A couple of fixes in OK(): Some
+	  assertions were failing without a good reason.
+
+2006-02-01 Wednesday 23:27  Andrea Cimino
+
+	* src/LP_Problem.cc (simplex.24): The FIXME about incrementality
+	  was already dealt with.
+
+2006-02-01 Wednesday 23:23  Andrea Cimino
+
+	* src/LP_Problem.cc (simplex.23): Other little improvements.
+
+2006-02-01 Wednesday 22:56  Andrea Cimino
+
+	* src/: LP_Problem.cc, LP_Problem.defs.hh (simplex.[22,20]): Major
+	  improvements to the class: now the incrementality process handles
+	  a Constraint_System in one shot instead of a single Constraint.
+	  Added other useful tests in OK().  Minor changes in the
+	  documentation.
+
+2006-02-01 Wednesday 20:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.208): Version number bumped.
+
+2006-02-01 Wednesday 20:06  Abramo Bagnara
+
+	* src/Float.inlines.hh (1.21): Constant is 64 bit long.
+
+2006-02-01 Wednesday 19:35  Abramo Bagnara
+
+	* src/Float.inlines.hh (1.20): Clear most significant bit of the
+	  mantissa.
+
+2006-02-01 Wednesday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Float.inlines.hh (1.19): Added missing semicolon.
+
+2006-02-01 Wednesday 18:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.188): Added some items (to be filled in).
+
+2006-02-01 Wednesday 12:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Grid/: affineimage1.cc (1.4), grid1.cc (1.6), grid2.cc
+	  (1.5), join1.cc (1.5), widening1.cc (1.4): Removed 3 "FIX "'s in
+	  grid2.cc and widening1.cc.  Added tests based on example in
+	  Muller-Olm and Seidl SAS paper to grid1.cc, join1.cc and
+	  affineimage1.cc.  Added tests based on Example 8 in the technical
+	  report on the grids domain in widening1.cc.  Reordered tests in
+	  widening1.cc so that those based on examples 8 and 9 are
+	  together.
+
+2006-02-01 Wednesday 01:34  Matthew Mundell
+
+	* tests/Grid/Makefile.am (1.6): Take NOISY directive out of
+	  AM_CPPFLAGS.
+
+2006-02-01 Wednesday 01:04  Matthew Mundell
+
+	* debian/README (1.1): Initial revision.
+
+2006-01-31 Tuesday 19:12  Matthew Mundell
+
+	* tests/Grid/grid2.cc (1.4): Move variables to a local namespace.
+
+2006-01-31 Tuesday 19:12  Matthew Mundell
+
+	* tests/Grid/grid1.cc (1.5): Ensure that all exception tests emit
+	  noisy messages.  Move variables to a local namespace.
+
+2006-01-31 Tuesday 19:11  Matthew Mundell
+
+	* tests/Grid/equals1.cc (1.3): Add tests to cover the rest of
+	  Grid::quick_equivalence_test().  Move variables to a local
+	  namespace.
+
+2006-01-31 Tuesday 19:09  Matthew Mundell
+
+	* tests/Grid/bounds1.cc (1.3): Add space dimension exception test.
+
+2006-01-31 Tuesday 19:08  Matthew Mundell
+
+	* tests/Grid/: addgenerator1.cc (1.5), addspacedims1.cc (1.4),
+	  addspacedims2.cc (1.4), concatenate1.cc (1.4), congruence1.cc
+	  (1.4), grid3.cc (1.4), griddifference1.cc (1.4), join1.cc (1.4),
+	  join3.cc (1.4), relations1.cc (1.5): Ensure that all exception
+	  tests emit noisy messages and exit correctly.
+
+2006-01-31 Tuesday 19:05  Matthew Mundell
+
+	* tests/Grid/addcongruences1.cc (1.5): Add tests that exercise the
+	  case in minimize() where both systems are up-to-date.
+
+2006-01-31 Tuesday 19:03  Matthew Mundell
+
+	* src/Grid_nonpublic.cc (1.5): Replace the empty check in the
+	  minimize() case where both systems are up-to-date with an
+	  assertion that the congruence system is empty.
+
+2006-01-31 Tuesday 13:20  Matthew Mundell
+
+	* tests/Grid/removespacedims2.cc (1.3): Add tests where: the
+	  resulting grid is the zero dimension universe, the resulting grid
+	  is the same, a space dimension exception is thrown.
+
+2006-01-31 Tuesday 13:18  Matthew Mundell
+
+	* tests/Grid/removespacedims1.cc (1.3): Add tests of: the exception
+	  case, passing the empty variable set and an outcome of a zero
+	  dimension universe.
+
+2006-01-31 Tuesday 13:16  Matthew Mundell
+
+	* tests/Grid/: expandspacedim1.cc (1.3), foldspacedims1.cc (1.3):
+	  Add tests of exception cases.
+
+2006-01-31 Tuesday 13:10  Matthew Mundell
+
+	* tests/Grid/concatenate1.cc (1.3): Add possible space dimension
+	  exception test.
+
+2006-01-31 Tuesday 13:09  Matthew Mundell
+
+	* src/Grid_chdims.cc (1.4): Correct exception message in
+	  expand_space_dimension.
+
+2006-01-31 Tuesday 13:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_chdims.cc (simplex.1): file Grid_chdims.cc was added on
+	  branch simplex on 2006-05-08 17:15:49 +0000
+
+2006-01-30 Monday 20:00  Matthew Mundell
+
+	* tests/Grid/: addspacedims1.cc (1.3), addspacedims2.cc (1.3):
+	  Update tests to always call find_variation only once, directly
+	  after the operation under test.  Add tests with space dimension
+	  exceptions, zero dimension universes, minimized congruences, and
+	  out-of-date congruences with minimized generators.
+
+2006-01-30 Monday 19:54  Matthew Mundell
+
+	* src/Grid_chdims.cc (1.3): Update add_space_dimensions_and_project
+	  to adjust dim_kinds when generators are out of date and
+	  congruences are minimized.
+
+2006-01-30 Monday 18:06  Matthew Mundell
+
+	* tests/Grid/certificate1.cc (1.3): Add test7 where the minimized
+	  generators are used for the Grid_Certificate construction.
+
+2006-01-30 Monday 18:04  Matthew Mundell
+
+	* src/Grid_Generator.defs.hh (1.7): Correct the Grid class friend
+	  declaration comment.
+
+2006-01-30 Monday 13:26  Matthew Mundell
+
+	* src/Grid_conversion.cc (1.4): Update lower_triangular and
+	  upper_triangular to check that the diagonal is positive and to
+	  correctly check for squareness when there are virtual rows.
+
+2006-01-30 Monday 11:30  Matthew Mundell
+
+	* tests/Grid/widening1.cc (1.3): Add exception testing test test16.
+	  Add test17 where minimizing the first congruence system finds
+	  the grid empty.
+
+2006-01-30 Monday 11:29  Matthew Mundell
+
+	* tests/Grid/limitedextrapolation1.cc (1.3): Add exception tests.
+	  Add test15, which limits with an empty congruence system.
+
+2006-01-30 Monday 11:27  Matthew Mundell
+
+	* src/Grid_widenings.cc (1.3): Correct the exception message in
+	  method widening_assign.
+
+2006-01-30 Monday 10:03  Matthew Mundell
+
+	* tests/Grid/join3.cc (1.3): Add test of space dimension exception.
+
+2006-01-30 Monday 10:02  Matthew Mundell
+
+	* tests/Grid/join1.cc (1.3): Add test of space dimension exception.
+	  Add test where updating the generators finds the grid empty.
+
+2006-01-30 Monday 10:01  Matthew Mundell
+
+	* tests/Grid/griddifference1.cc (1.3): Update some tests to call
+	  difference_assign instead of grid_difference_assign.	Add space
+	  dimension exception test.
+
+2006-01-30 Monday 10:00  Matthew Mundell
+
+	* tests/Grid/: generalizedaffinepreimage1.cc (1.3),
+	  generalizedaffinepreimage2.cc (1.3): Add tests with zero
+	  denominator parameters, negative moduli and space dimension
+	  exceptions.
+
+2006-01-30 Monday 09:59  Matthew Mundell
+
+	* tests/Grid/: affineimage1.cc (1.3), affinepreimage1.cc (1.3),
+	  generalizedaffineimage1.cc (1.3), generalizedaffineimage2.cc
+	  (1.3): Add tests with zero denominator parameters and space
+	  dimension exceptions.
+
+2006-01-30 Monday 09:56  Matthew Mundell
+
+	* tests/Grid/addgenerator1.cc (1.4): Add tests for adding to an
+	  empty grid.
+
+2006-01-30 Monday 09:55  Matthew Mundell
+
+	* tests/Grid/addcongruences1.cc (1.4): Add tests for adding an
+	  empty system and adding a trivial system to a zero dim grid.
+
+2006-01-30 Monday 09:54  Matthew Mundell
+
+	* tests/Grid/: Makefile.am (1.5), addgenerators1.cc (1.1): Add
+	  addgenerators1, which tests methods that can add multiple
+	  generators to a grid.
+
+2006-01-30 Monday 09:52  Matthew Mundell
+
+	* src/Grid_public.cc (1.8): Update add_generator(g) to throw an
+	  exception when a parameter is given and the grid is zero
+	  dimension empty.  Rework the generalized_affine_image(lhs,..) and
+	  generalized_affine_preimage(lhs,..) lhs space dimension
+	  calculation to aid coverage analysis.
+
+2006-01-30 Monday 09:40  Matthew Mundell
+
+	* src/Grid_nonpublic.cc (1.4): Rename parameters in
+	  throw_dimension_incompatible(char*, char*, Grid).
+
+2006-01-29 Sunday 17:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Float.inlines.hh (1.18): Fixed the build() method in
+	  specializations ot template <typename T> struct TFloat.
+
+2006-01-29 Sunday 08:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Float.inlines.hh (ppl-0_8-branch.1): Added missing
+	  semicolons.
+
+2006-01-29 Sunday 08:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Float.inlines.hh (1.17): Added missing semicolons.
+
+2006-01-28 Saturday 22:39  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: Congruence_System.defs.hh (1.5), Grid.defs.hh (1.7),
+	  Grid_Generator.defs.hh (1.6), Grid_Generator_System.defs.hh
+	  (1.7), Polyhedron.defs.hh (1.293): Revised documentation so that
+	  sample code has `grid_point' and `grid_line' instead of `point'
+	  and `line'.  Added an example to Grid_defs.hh showing use of a
+	  parameter.  Revised explanation of affine image and preimage.
+
+	  Corrected some bugs in the explanation of affine image and
+	  preimage in Polyhedron.defs.hh.
+
+2006-01-28 Saturday 18:23  Matthew Mundell
+
+	* tests/Grid/grid2.cc (1.3): Add more zero dimension tests.
+
+2006-01-28 Saturday 18:20  Matthew Mundell
+
+	* tests/Grid/: addconstraint1.cc (1.3), addconstraints1.cc (1.3),
+	  contains1.cc (1.3), disjoint1.cc (1.3), grid1.cc (1.4), grid3.cc
+	  (1.3), intersection1.cc (1.3), timeelapse1.cc (1.3): Add space
+	  dimension exception tests.
+
+2006-01-28 Saturday 18:19  Matthew Mundell
+
+	* tests/Grid/addcongruences1.cc (1.3): Add space dimension
+	  exception tests.  Add test8 which adds to an empty grid.
+
+2006-01-28 Saturday 18:17  Matthew Mundell
+
+	* src/Grid_public.cc (1.7): Update
+	  add_recycled_congruences_and_minimize and
+	  add_recycled_congruences zero dimension grid cases to always
+	  leave the empty grid empty.
+
+2006-01-27 Friday 19:26  Matthew Mundell
+
+	* tests/Grid/topclosed1.cc (1.3): Add test11 where minimizing the
+	  congruence system finds the grid empty.
+
+2006-01-27 Friday 19:25  Matthew Mundell
+
+	* tests/Grid/pointed1.cc (1.3): Add a minimal congruence system
+	  case to test5.  Add test11 where minimizing the congruence system
+	  finds the grid empty.
+
+2006-01-27 Friday 19:23  Matthew Mundell
+
+	* tests/Grid/congruence1.cc (1.3): Add space dimension exception
+	  test.
+
+2006-01-27 Friday 19:23  Matthew Mundell
+
+	* tests/Grid/bounded1.cc (1.3): Add test13, where a paramter comes
+	  first in the system.
+
+2006-01-27 Friday 19:22  Matthew Mundell
+
+	* tests/Grid/addgenerator1.cc (1.3): Add zero dimension and space
+	  dimension exception tests.
+
+2006-01-27 Friday 19:21  Matthew Mundell
+
+	* tests/Grid/: Makefile.am (1.4), asciidumpload1.cc (1.1),
+	  outputoperator1.cc (1.1): Add asciidumpload1 and outputoperator1.
+
+2006-01-27 Friday 14:50  Matthew Mundell
+
+	* src/: Grid_simplify.cc (1.3), Grid.templates.hh (1.2),
+	  Grid_Certificate.cc (1.3), Grid_Generator.defs.hh (1.5),
+	  Grid_Generator.inlines.hh (1.4), Grid_Generator_System.defs.hh
+	  (1.6), Grid_Generator_System.inlines.hh (1.3), Grid_conversion.cc
+	  (1.3), Grid_nonpublic.cc (1.3), Grid_public.cc (1.6): Rename
+	  Grid_Generator::set_is_parameter to
+	  Grid_Generator::set_is_parameter_or_point. Rename
+	  Grid_Generator_System methods: num_rows to num_generators,
+	  num_rays to num_parameters.  Correct a typo in the Grid_Generator
+	  class doc.
+
+2006-01-27 Friday 14:43  Matthew Mundell
+
+	* src/Grid.inlines.hh (1.4): Drop the extra
+	  topological_closure_assign and difference_assign PPL namespace
+	  qualifiers.
+
+2006-01-27 Friday 14:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid.inlines.hh (simplex.1): file Grid.inlines.hh was added
+	  on branch simplex on 2006-05-08 17:15:49 +0000
+
+2006-01-27 Friday 14:43  Matthew Mundell
+
+	* src/Grid.defs.hh (1.6): Drop the extra rows_are_zero Grid
+	  namespace qualifier.
+
+2006-01-27 Friday 14:42  Matthew Mundell
+
+	* doc/devref.doxyconf-latex.in (1.9): Clip trailing whitespace.
+	  Add grid-related files.
+
+2006-01-27 Friday 14:41  Matthew Mundell
+
+	* doc/devref.doxyconf-html.in (1.68): Add missing Grid files to
+	  INPUT.
+
+2006-01-27 Friday 12:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.192): Use \subsection and not \anchor in
+	  grids section of the documentation.  Avoid a multiply defined
+	  label warning due to label in the powerset section.
+
+2006-01-27 Friday 11:48  Matthew Mundell
+
+	* src/: Grid_Generator.defs.hh (1.4), Grid_Generator.inlines.hh
+	  (1.3): Take out method topology.
+
+2006-01-27 Friday 11:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Grid.defs.hh (1.5), Grid.inlines.hh (1.3),
+	  Grid.templates.hh (1.1), Makefile.am (1.143): Grid.templates.hh
+	  cut out from Grid.inlines.hh as per our standards.
+
+2006-01-27 Friday 10:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (1.179), src/Congruence_System.defs.hh (1.4),
+	  src/Grid.defs.hh (1.4), src/Grid_Generator.defs.hh (1.3),
+	  src/Grid_Generator_System.defs.hh (1.5):
+	  src/Grid_Generator.defs.hh, src/Grid_Generator_System.defs.hh:
+	  Documentation improved.  src/Congruence_System.defs.hh:    Fixed
+	  a cross reference to point to Grid documentation.
+	  src/Grid.defs.hh:    Improved documentation for affine image.
+
+	  TODO: Removed item concerning documentation for grids.
+
+2006-01-27 Friday 10:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/NNC_Polyhedron.inlines.hh (1.32): Added an `inline' function
+	  specifier.
+
+2006-01-27 Friday 10:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: C_Polyhedron.inlines.hh (1.30), Determinate.inlines.hh
+	  (1.53), Ptr_Iterator.inlines.hh (1.6): Added several `inline'
+	  function specifiers.
+
+2006-01-27 Friday 09:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Ciao/ciao_pl_check.pl (1.20),
+	  GNU/gnu_pl_check.pl (1.9), SICStus/sp_pl_check.pl (1.7),
+	  SWI/swi_pl_check.pl (1.8), XSB/xsb_pl_check.P (1.25),
+	  YAP/yap_pl_check.pl (1.11), tests/pl_check.pl (1.31): In the
+	  system files,   the definition of predicate prolog_system/1
+	  modified to return  name capitalised to match system file names.
+
+	  pl_check.pl:	  improved extra_noisy output for large numbers.
+		now we print the expression used to generate	the large
+	  number as well as the number itself.
+
+		  When calling prolog_system/1 use capitalised names.
+
+2006-01-26 Thursday 23:26  Matthew Mundell
+
+	* tests/Grid/relations2.cc (1.4): Add test15, of an empty grid,
+	  where updating finds the grid empty.	Add test16 to test18 which
+	  require the GCD calculation in relation_with.
+
+2006-01-26 Thursday 23:24  Matthew Mundell
+
+	* tests/Grid/relations1.cc (1.4): Add zero dim universe test test9.
+
+2006-01-26 Thursday 23:24  Matthew Mundell
+
+	* tests/Grid/isuniverse1.cc (1.3): Update test4 to actually test
+	  the empty case.  Scrap test10.  Add test15 where use of a point
+	  is required in is_universe.
+
+2006-01-26 Thursday 23:22  Matthew Mundell
+
+	* tests/Grid/: Makefile.am (1.3), isempty1.cc (1.1): Add isempty1,
+	  which tests is_empty().
+
+2006-01-26 Thursday 23:20  Matthew Mundell
+
+	* src/Grid_public.cc (1.5): Simplify the satisfy check case in
+	  is_universe.
+
+2006-01-26 Thursday 22:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Powerset.templates.hh (simplex.1): file Powerset.templates.hh
+	  was added on branch simplex on 2006-05-08 17:15:49 +0000
+
+2006-01-26 Thursday 22:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* STANDARDS (1.31), doc/devref.doxyconf-html.in (1.67),
+	  doc/devref.doxyconf-latex.in (1.8), src/BD_Shape.defs.hh (1.65),
+	  src/BD_Shape.inlines.hh (1.123), src/BD_Shape.templates.hh (1.1),
+	  src/Makefile.am (1.142), src/Polyhedra_Powerset.defs.hh (1.33),
+	  src/Polyhedra_Powerset.inlines.hh (1.39),
+	  src/Polyhedra_Powerset.templates.hh (1.1), src/Powerset.defs.hh
+	  (1.24), src/Powerset.inlines.hh (1.16), src/Powerset.templates.hh
+	  (1.1): From now on we will use source files named *.templates.hh
+	  for the non-inline definitions of all class template members and
+	  all (member or non-member) function templates that are not fully
+	  specialized.
+
+2006-01-26 Thursday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked.inlines.hh (1.31): Tests reordered so as to avoid a
+	  compiler warning.
+
+2006-01-26 Thursday 21:32  Matthew Mundell
+
+	* tests/Grid/relations2.cc (1.3): Add test14, of the space
+	  dimension exception.	Add more complex false congruence cases to
+	  test7.
+
+2006-01-26 Thursday 21:30  Matthew Mundell
+
+	* tests/Grid/relations1.cc (1.3): Add test8, of the space dimension
+	  exception.
+
+2006-01-26 Thursday 21:29  Matthew Mundell
+
+	* tests/Grid/mincongruences1.cc (1.3): Add test8, of an empty grid
+	  where updating the congruences finds the grid empty.
+
+2006-01-26 Thursday 21:29  Matthew Mundell
+
+	* tests/Grid/grid1.cc (1.3): Add test23, to test the assignment of
+	  a zero dim universe grid.
+
+2006-01-26 Thursday 21:28  Matthew Mundell
+
+	* tests/Grid/: generators1.cc (1.3), mingenerators1.cc (1.3): Add
+	  test9, of an empty grid where updating the generators finds the
+	  grid empty.
+
+2006-01-26 Thursday 21:27  Matthew Mundell
+
+	* src/Grid_public.cc (1.4): Improve the relation_with(cg) zero dim
+	  case a little.
+
+2006-01-26 Thursday 18:25  Matthew Mundell
+
+	* src/Grid_minimize.cc (1.3), src/Makefile.am (1.141),
+	  doc/devref.doxyconf-html.in (1.66): Complete the integration of
+	  the Grid minimize methods into their callers.
+
+2006-01-26 Thursday 16:00  Matthew Mundell
+
+	* src/Congruence.cc (1.3): Take old alternative code out of
+	  ascii_load.
+
+2006-01-26 Thursday 14:50  Matthew Mundell
+
+	* src/Grid_Generator_System.defs.hh (1.4): Correct typo in
+	  add_universe_rows_and_columns doc.
+
+2006-01-26 Thursday 13:58  Matthew Mundell
+
+	* doc/definitions.dox (1.191): Update anchor names in references in
+	  the grids sections.
+
+2006-01-26 Thursday 13:56  Matthew Mundell
+
+	* src/Grid_Generator_System.defs.hh (1.3): Correct
+	  add_universe_rows_and_columns doc.
+
+2006-01-26 Thursday 13:56  Matthew Mundell
+
+	* src/Grid.defs.hh (1.3): Neaten some doc formatting.  Align the
+	  class description as in Polyhedron.  Update reference names in
+	  docs.  Improve docs related to covering boxes.
+
+2006-01-26 Thursday 13:52  Matthew Mundell
+
+	* src/Congruence_System.defs.hh (1.3): Correct
+	  add_unit_rows_and_columns doc.  Correct ref in affine_preimage
+	  doc.
+
+2006-01-26 Thursday 12:26  Abramo Bagnara
+
+	* src/Checked_Number.inlines.hh (1.57): Added missing inline.
+
+2006-01-26 Thursday 10:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.178): Old stuff removed or shortened.
+
+2006-01-25 Wednesday 22:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.45), src/Makefile.am (1.140): Updated for PPL 0.9.
+
+2006-01-25 Wednesday 22:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.207): Version number bumped.
+
+2006-01-25 Wednesday 21:57  Matthew Mundell
+
+	* TODO (1.177): Complete some grid items, move rest into section 1.
+
+2006-01-25 Wednesday 21:56  Matthew Mundell
+
+	* src/Grid_public.cc (1.3): Convert final FIX to a FIXME.
+
+2006-01-25 Wednesday 21:46  Matthew Mundell
+
+	* tests/Makefile.am (1.250): Reorder the directories in SUBDIRS.
+
+2006-01-25 Wednesday 21:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.176): Done items removed.  The need for C and Prolog
+	  interfaces concerns all domains, not just grids.
+
+2006-01-25 Wednesday 21:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Makefile.in (grids.4): Makefile.in is automatically
+	  generated: it should not be under CVS.
+
+2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/.cvsignore (altnum.1): file .cvsignore was added on
+	  branch altnum on 2006-10-29 19:27:27 +0000
+
+2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/.cvsignore (simplex.1): file .cvsignore was added on
+	  branch simplex on 2006-05-08 17:15:56 +0000
+
+2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Congruence.types.hh (altnum.1): file Congruence.types.hh was
+	  added on branch altnum on 2006-10-29 19:27:12 +0000
+
+2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Congruence.types.hh (simplex.1): file Congruence.types.hh was
+	  added on branch simplex on 2006-05-08 17:15:49 +0000
+
+2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Congruence_System.types.hh (altnum.1): file
+	  Congruence_System.types.hh was added on branch altnum on
+	  2006-10-29 19:27:12 +0000
+
+2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Congruence_System.types.hh (simplex.1): file
+	  Congruence_System.types.hh was added on branch simplex on
+	  2006-05-08 17:15:49 +0000
+
+2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid.types.hh (altnum.1): file Grid.types.hh was added on
+	  branch altnum on 2006-10-29 19:27:13 +0000
+
+2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid.types.hh (simplex.1): file Grid.types.hh was added on
+	  branch simplex on 2006-05-08 17:15:49 +0000
+
+2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Certificate.inlines.hh (altnum.1): file
+	  Grid_Certificate.inlines.hh was added on branch altnum on
+	  2006-10-29 19:27:13 +0000
+
+2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Certificate.inlines.hh (simplex.1): file
+	  Grid_Certificate.inlines.hh was added on branch simplex on
+	  2006-05-08 17:15:49 +0000
+
+2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Certificate.types.hh (altnum.1): file
+	  Grid_Certificate.types.hh was added on branch altnum on
+	  2006-10-29 19:27:13 +0000
+
+2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Certificate.types.hh (simplex.1): file
+	  Grid_Certificate.types.hh was added on branch simplex on
+	  2006-05-08 17:15:49 +0000
+
+2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Generator.types.hh (altnum.1): file
+	  Grid_Generator.types.hh was added on branch altnum on 2006-10-29
+	  19:27:13 +0000
+
+2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Generator.types.hh (simplex.1): file
+	  Grid_Generator.types.hh was added on branch simplex on 2006-05-08
+	  17:15:49 +0000
+
+2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Generator_System.types.hh (altnum.1): file
+	  Grid_Generator_System.types.hh was added on branch altnum on
+	  2006-10-29 19:27:13 +0000
+
+2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Generator_System.types.hh (simplex.1): file
+	  Grid_Generator_System.types.hh was added on branch simplex on
+	  2006-05-08 17:15:49 +0000
+
+2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Status.inlines.hh (altnum.1): file
+	  Grid_Status.inlines.hh was added on branch altnum on 2006-10-29
+	  19:27:13 +0000
+
+2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Status.inlines.hh (simplex.1): file
+	  Grid_Status.inlines.hh was added on branch simplex on 2006-05-08
+	  17:15:49 +0000
+
+2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Scalar_Products.types.hh (altnum.1): file
+	  Scalar_Products.types.hh was added on branch altnum on 2006-10-29
+	  19:27:15 +0000
+
+2006-01-25 Wednesday 21:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.175), configure.ac (1.206), doc/definitions.dox (1.190),
+	  doc/devref.doxyconf-html.in (1.65), src/C_Polyhedron.cc (1.18),
+	  src/C_Polyhedron.defs.hh (1.41), src/Congruence.cc (1.2),
+	  src/Congruence.defs.hh (1.2), src/Congruence.inlines.hh (1.2),
+	  src/Congruence.types.hh (1.2), src/Congruence_System.cc (1.2),
+	  src/Congruence_System.defs.hh (1.2),
+	  src/Congruence_System.inlines.hh (1.2),
+	  src/Congruence_System.types.hh (1.2), src/Constraint.defs.hh
+	  (1.116), src/Determinate.defs.hh (1.62),
+	  src/Determinate.inlines.hh (1.52), src/Generator.defs.hh (1.116),
+	  src/Generator_System.cc (1.17), src/Generator_System.defs.hh
+	  (1.15), src/Grid.defs.hh (1.2), src/Grid.inlines.hh (1.2),
+	  src/Grid.types.hh (1.2), src/Grid_Certificate.cc (1.2),
+	  src/Grid_Certificate.defs.hh (1.2),
+	  src/Grid_Certificate.inlines.hh (1.2),
+	  src/Grid_Certificate.types.hh (1.2), src/Grid_Generator.cc (1.2),
+	  src/Grid_Generator.defs.hh (1.2), src/Grid_Generator.inlines.hh
+	  (1.2), src/Grid_Generator.types.hh (1.2),
+	  src/Grid_Generator_System.cc (1.2),
+	  src/Grid_Generator_System.defs.hh (1.2),
+	  src/Grid_Generator_System.inlines.hh (1.2),
+	  src/Grid_Generator_System.types.hh (1.2), src/Grid_Status.cc
+	  (1.2), src/Grid_Status.idefs.hh (1.2), src/Grid_Status.inlines.hh
+	  (1.2), src/Grid_chdims.cc (1.2), src/Grid_conversion.cc (1.2),
+	  src/Grid_minimize.cc (1.2), src/Grid_nonpublic.cc (1.2),
+	  src/Grid_public.cc (1.2), src/Grid_simplify.cc (1.2),
+	  src/Grid_widenings.cc (1.2), src/Linear_Expression.cc (1.10),
+	  src/Linear_Expression.defs.hh (1.20), src/Linear_Row.inlines.hh
+	  (1.11), src/Makefile.am (1.139), src/NNC_Polyhedron.cc (1.18),
+	  src/NNC_Polyhedron.defs.hh (1.44), src/Polyhedra_Powerset.defs.hh
+	  (1.32), src/Polyhedra_Powerset.inlines.hh (1.38),
+	  src/Polyhedron.defs.hh (1.292), src/Polyhedron_nonpublic.cc
+	  (1.64), src/Polyhedron_public.cc (1.72), src/Scalar_Products.cc
+	  (1.4), src/Scalar_Products.defs.hh (1.5),
+	  src/Scalar_Products.inlines.hh (1.3),
+	  src/Scalar_Products.types.hh (1.3), src/globals.defs.hh (1.35),
+	  tests/Makefile.am (1.249), tests/ppl_test.hh (1.32),
+	  tests/print.cc (1.19), tests/print.hh (1.23),
+	  tests/BD_Shape/Makefile.am (1.33), tests/Grid/.cvsignore (1.2),
+	  tests/Grid/Makefile.am (1.2), tests/Grid/addcongruence1.cc (1.2),
+	  tests/Grid/addcongruences1.cc (1.2), tests/Grid/addconstraint1.cc
+	  (1.2), tests/Grid/addconstraints1.cc (1.2),
+	  tests/Grid/addgenerator1.cc (1.2), tests/Grid/addspacedims1.cc
+	  (1.2), tests/Grid/addspacedims2.cc (1.2),
+	  tests/Grid/affinedim1.cc (1.2), tests/Grid/affineimage1.cc (1.2),
+	  tests/Grid/affinepreimage1.cc (1.2), tests/Grid/bhz03widening1.cc
+	  (1.2), tests/Grid/bounded1.cc (1.2), tests/Grid/boundingbox1.cc
+	  (1.2), tests/Grid/boundingbox2.cc (1.2), tests/Grid/bounds1.cc
+	  (1.2), tests/Grid/certificate1.cc (1.2),
+	  tests/Grid/concatenate1.cc (1.2), tests/Grid/congruence1.cc
+	  (1.2), tests/Grid/congruences1.cc (1.2),
+	  tests/Grid/congruencesystem1.cc (1.2),
+	  tests/Grid/congruencesystem2.cc (1.2), tests/Grid/contains1.cc
+	  (1.2), tests/Grid/contains2.cc (1.2),
+	  tests/Grid/copyconstruct1.cc (1.2), tests/Grid/coveringbox1.cc
+	  (1.2), tests/Grid/coveringbox2.cc (1.2), tests/Grid/disjoint1.cc
+	  (1.2), tests/Grid/equals1.cc (1.2), tests/Grid/expandspacedim1.cc
+	  (1.2), tests/Grid/foldspacedims1.cc (1.2),
+	  tests/Grid/generalizedaffineimage1.cc (1.2),
+	  tests/Grid/generalizedaffineimage2.cc (1.2),
+	  tests/Grid/generalizedaffinepreimage1.cc (1.2),
+	  tests/Grid/generalizedaffinepreimage2.cc (1.2),
+	  tests/Grid/generator1.cc (1.2), tests/Grid/generators1.cc (1.2),
+	  tests/Grid/grid1.cc (1.2), tests/Grid/grid1_16.cc (1.2),
+	  tests/Grid/grid1_64.cc (1.2), tests/Grid/grid1_gmp.cc (1.2),
+	  tests/Grid/grid2.cc (1.2), tests/Grid/grid2_16.cc (1.2),
+	  tests/Grid/grid3.cc (1.2), tests/Grid/griddifference1.cc (1.2),
+	  tests/Grid/intersection1.cc (1.2), tests/Grid/intersection2.cc
+	  (1.2), tests/Grid/isuniverse1.cc (1.2), tests/Grid/join1.cc
+	  (1.2), tests/Grid/join2.cc (1.2), tests/Grid/join3.cc (1.2),
+	  tests/Grid/limitedextrapolation1.cc (1.2),
+	  tests/Grid/mapspacedims1.cc (1.2), tests/Grid/maxmin1.cc (1.2),
+	  tests/Grid/membytes1.cc (1.2), tests/Grid/membytes2.cc (1.2),
+	  tests/Grid/mincongruences1.cc (1.2), tests/Grid/mingenerators1.cc
+	  (1.2), tests/Grid/pointed1.cc (1.2), tests/Grid/relations1.cc
+	  (1.2), tests/Grid/relations2.cc (1.2),
+	  tests/Grid/removespacedims1.cc (1.2),
+	  tests/Grid/removespacedims2.cc (1.2), tests/Grid/timeelapse1.cc
+	  (1.2), tests/Grid/timeelapse2.cc (1.2), tests/Grid/topclosed1.cc
+	  (1.2), tests/Grid/topclosure1.cc (1.2), tests/Grid/widening1.cc
+	  (1.2), tests/Grid/writecongruencesystem.cc (1.2),
+	  tests/Polyhedron/Makefile.am (1.46),
+	  tests/Polyhedron/addcongruence1.cc (1.2),
+	  tests/Polyhedron/addcongruence2.cc (1.2),
+	  tests/Polyhedron/addcongruence3.cc (1.2),
+	  tests/Polyhedron/addcongruence4.cc (1.2),
+	  tests/Polyhedron/addcongruence5.cc (1.2),
+	  tests/Polyhedron/addcongruences1.cc (1.2),
+	  tests/Polyhedron/addcongruences2.cc (1.2),
+	  tests/Polyhedron/addcongruences3.cc (1.2),
+	  tests/Polyhedron/addcongruences4.cc (1.2),
+	  tests/Polyhedron/addcongruences5.cc (1.2),
+	  tests/Polyhedron/congruences1.cc (1.2): First (and, quite likely,
+	  last) merge from the `grids' branch.
+
+2006-01-25 Wednesday 19:31  Matthew Mundell
+
+	* ChangeLog, Makefile.am, NEWS, README, README.configure, TODO,
+	  configure.ac, ppl.spec.in, Watchdog/CREDITS, Watchdog/ChangeLog,
+	  Watchdog/NEWS, Watchdog/README, debian/Makefile.am,
+	  debian/changelog, debian/control, debian/control.prologs,
+	  debian/libppl-gprolog.links, debian/libppl-sicstus.links,
+	  debian/libppl-swi.links, debian/libppl-yap.links, debian/rules,
+	  doc/definitions.dox, doc/devref.doxyconf-html.in,
+	  doc/devref.doxyconf-latex.in, doc/user.doxyconf-html.in,
+	  doc/user.doxyconf-latex.in, interfaces/C/ppl_c.h.in,
+	  interfaces/Prolog/Prolog_interface.dox,
+	  interfaces/Prolog/SICStus/Makefile.am,
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
+	  m4/ac_check_swi_prolog.m4, m4/ppl.m4, src/BDS_Status.idefs.hh,
+	  src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
+	  src/BHRZ03_Certificate.defs.hh, src/Bounding_Box.defs.hh,
+	  src/C_Polyhedron.defs.hh, src/Checked_Number.defs.hh,
+	  src/Checked_Number.inlines.hh, src/Coefficient.types.hh,
+	  src/Coefficient_traits_template.hh, src/Constraint.cc,
+	  src/Constraint.defs.hh, src/Constraint_System.defs.hh,
+	  src/DB_Matrix.defs.hh, src/DB_Row.defs.hh,
+	  src/Determinate.defs.hh, src/Float.defs.hh,
+	  src/GMP_Integer.types.hh, src/Generator.defs.hh,
+	  src/Generator_System.defs.hh, src/H79_Certificate.defs.hh,
+	  src/Init.defs.hh, src/Interval.defs.hh, src/LP_Problem.defs.hh,
+	  src/LP_Problem.types.hh, src/Linear_Expression.defs.hh,
+	  src/Linear_Row.defs.hh, src/Linear_System.defs.hh,
+	  src/Makefile.am, src/Matrix.defs.hh, src/NNC_Polyhedron.defs.hh,
+	  src/Ph_Status.idefs.hh, src/Poly_Con_Relation.defs.hh,
+	  src/Poly_Gen_Relation.defs.hh, src/Polyhedra_Powerset.defs.hh,
+	  src/Polyhedron.defs.hh, src/Powerset.defs.hh,
+	  src/Powerset.inlines.hh, src/Powerset.types.hh,
+	  src/Ptr_Iterator.defs.hh, src/Result.defs.hh,
+	  src/Rounding_Dir.defs.hh, src/Row.defs.hh,
+	  src/Saturation_Matrix.defs.hh, src/Saturation_Row.defs.hh,
+	  src/Scalar_Products.defs.hh, src/Topology.hh,
+	  src/Variable.defs.hh, src/Widening_Function.defs.hh,
+	  src/checked.defs.hh, src/checked.inlines.hh,
+	  src/checked_ext.defs.hh, src/checked_ext.inlines.hh,
+	  src/checked_numeric_limits.hh, src/compiler.hh,
+	  src/globals.defs.hh, src/globals.types.hh,
+	  src/mp_numeric_limits.hh, src/namespaces.hh, src/version.hh.in,
+	  tests/Makefile.am, tests/BD_Shape/Makefile.am,
+	  tests/BD_Shape/cc76narrowing1.cc,
+	  tests/BD_Shape/cc76narrowing2.cc,
+	  tests/BD_Shape/cc76narrowing3.cc,
+	  tests/BD_Shape/cc76narrowing4.cc,
+	  tests/BD_Shape/cc76narrowing5.cc, tests/BD_Shape/universe1.cc,
+	  tests/Polyhedron/addconstraints6.cc,
+	  tests/Polyhedron/polypowerset1.cc, tests/Polyhedron/powerset1.cc,
+	  tests/Polyhedron/writepolyhedron3.cc
+	  (grids.[3,6,6,4,4,19,10,3,1,3,2,3,2,3,3,3,2,2,2,2,3,11,8,4,6,4,7,5,6,5,5,3,5,8,8,4,5,5,12,10,3,2,6,11,6,4,6,6,5,4,18,13,5,4,4,3,3,12,7,5,14,9,5,4,3,3,8,10,3,4,2,3,5,4,9,3,4,6,2,4,4,7,11,5,7,6,3,7,4,4,3,3,6,10,3,3,3,3,3,4,3,4,3,3]):
+	  Eighth and last merge from the main trunk.
+
+2006-01-25 Wednesday 16:34  Matthew Mundell
+
+	* tests/Grid/generalizedaffinepreimage2.cc (grids.6): Correct the
+	  expected results in test17, test18, test21 and test22.
+
+2006-01-25 Wednesday 16:33  Matthew Mundell
+
+	* tests/Grid/generalizedaffinepreimage1.cc (grids.7): Enable test6
+	  and test7, and adjust their expected results.
+
+2006-01-25 Wednesday 16:32  Matthew Mundell
+
+	* tests/Grid/generalizedaffineimage2.cc (grids.7): Correct the
+	  expected result in test18.
+
+2006-01-25 Wednesday 16:31  Matthew Mundell
+
+	* src/Grid_public.cc (grids.138): Correct the
+	  generalized_affine_preimage(lhs,..) case where variables in lhs
+	  also occur in rhs.
+
+2006-01-25 Wednesday 13:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/Makefile.am (1.64): Always link with
+	  the PIC version of ppl_sicstus_sd.o.
+
+2006-01-25 Wednesday 12:57  Matthew Mundell
+
+	* src/Grid_public.cc (grids.137): Replace the first
+	  generalized_affine_preimage(lhs,..)  line-adding call to
+	  add_recycled_generators with equivalent code, as in
+	  generalized_affine_image(lhs,..).  Neaten TODO comments.
+
+2006-01-25 Wednesday 12:48  Matthew Mundell
+
+	* src/Grid_conversion.cc (grids.42): Add a simple comment for the
+	  invert-transpose loops in both conversions.
+
+2006-01-24 Tuesday 21:54  Matthew Mundell
+
+	* src/Grid_conversion.cc (grids.41): Improve the comments on the
+	  destination initialization in the conversion methods.
+
+2006-01-24 Tuesday 21:33  Matthew Mundell
+
+	* src/: Checked_Number.defs.hh (1.68), Checked_Number.inlines.hh
+	  (1.56), GMP_Integer.defs.hh (1.19), GMP_Integer.inlines.hh
+	  (1.14), checked.defs.hh (1.34), checked.inlines.hh (1.30),
+	  checked_ext.defs.hh (1.10), checked_ext.inlines.hh (1.28),
+	  checked_float.inlines.hh (1.56), checked_int.inlines.hh (1.44),
+	  checked_mpz.inlines.hh (1.35): Add function
+	  gcdext_assign(to,x,y,s,t) to the GMP and checked integer types.
+
+2006-01-24 Tuesday 16:54  Matthew Mundell
+
+	* src/Grid_conversion.cc (grids.40): Slightly improve comments,
+	  error messages and formatting.
+
+2006-01-24 Tuesday 13:33  Matthew Mundell
+
+	* src/Grid_conversion.cc (grids.39): Improve comments in both
+	  conversion methods.
+
+2006-01-24 Tuesday 11:52  Matthew Mundell
+
+	* src/Grid_conversion.cc (grids.38): Correct the comment in both
+	  conversions about the iteration of source_index and dest_index.
+
+2006-01-24 Tuesday 11:37  Matthew Mundell
+
+	* src/Grid_conversion.cc (grids.37): Leave variable name
+	  tem_source_index as such.
+
+2006-01-24 Tuesday 00:20  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid_simplify.cc (grids.[100,62]): Update
+	  simplify(gs..) to expect the reduction to result in a system
+	  containing a point.
+
+2006-01-23 Monday 23:38  Matthew Mundell
+
+	* src/Grid_simplify.cc (grids.61): Note a possible todo item in the
+	  congruence simplify method.
+
+2006-01-23 Monday 23:35  Matthew Mundell
+
+	* src/Grid_simplify.cc (grids.60): Update
+	  reduce_congruence_with_equality to set the `row' element at
+	  `column' directly and to account for `row' elements known to be
+	  zero.  Improve variable names in same method.
+
+2006-01-23 Monday 23:28  Matthew Mundell
+
+	* src/Grid_simplify.cc (grids.59): Update
+	  reduce_parameter_with_line to set the `row' element at `column'
+	  directly and to account for `row' elements known to be zero.
+
+2006-01-23 Monday 22:52  Matthew Mundell
+
+	* src/Grid_simplify.cc (grids.58): Clean comments and improve
+	  variable names in the reduce methods.  Update these methods to
+	  all subtract the pivot from the row (intead of the other way
+	  around).
+
+2006-01-23 Monday 22:47  Matthew Mundell
+
+	* src/Grid_public.cc (grids.136): Update minimized_congruences and
+	  Grid::Grid(n,k) to recover the congruence system minimal form
+	  when inserting the zero dimension integrality.
+
+2006-01-23 Monday 22:41  Matthew Mundell
+
+	* src/: Congruence_System.cc, Congruence.cc (grids.[44,23]):
+	  Correct a comment in sign_normalize.	Update normalize to always
+	  normalize the constant term, even when all homogeneous terms are
+	  zero.
+
+2006-01-23 Monday 17:44  Matthew Mundell
+
+	* src/Congruence_System.defs.hh (grids.28): Move swap into the
+	  public section.  Improve the has_a_free_dimension doc a little.
+
+2006-01-23 Monday 16:21  Matthew Mundell
+
+	* src/Grid.defs.hh (grids.99): Correct the description of
+	  reduce_parameter_with_line.
+
+2006-01-23 Monday 15:04  Matthew Mundell
+
+	* TODO (grids.18): Complete the ascii_dump item.
+
+2006-01-23 Monday 12:33  Matthew Mundell
+
+	* src/Grid_public.cc (grids.135): Move the gs space dimension
+	  adjustment in add_recycled_generators to the empty case.
+
+2006-01-23 Monday 12:31  Matthew Mundell
+
+	* src/: Grid_Generator.cc, Grid_Generator.defs.hh (grids.[16,25]):
+	  Update coefficient_swap to account for the divisor element and
+	  the sizes of the two generators.
+
+2006-01-22 Sunday 22:39  Matthew Mundell
+
+	* src/Generator_System.defs.hh (grids.12): Take out the Grid friend
+	  declaration.
+
+2006-01-22 Sunday 22:38  Matthew Mundell
+
+	* tests/Grid/addconstraint1.cc (grids.3): Correct test name in
+	  message.
+
+2006-01-22 Sunday 22:38  Matthew Mundell
+
+	* src/: Grid_simplify.cc, Grid.defs.hh, Grid_public.cc
+	  (grids.[57,98,134]): Reduce dependence on the Congruence_System
+	  (cgs) Grid friend declaration:
+
+	    Update relation_with to use cgs::inhomogeneous_term, is_pointed
+	  to
+	    use cgs::has_a_free_dimension, add_recycled_congruences to use
+	    cgs::recycling_insert, and
+	  add_recycled_congruences_and_minimize to
+	    use cgs::insert(cgs).
+
+	  Reduce dependence on the Generator_System Grid friend
+	  declaration: update OK to use is_equal_to and convert function
+	  rows_are_zero to a static template method.
+
+	  Correct the num_cols init in reduce_parameter_with_line.
+
+2006-01-22 Sunday 22:26  Matthew Mundell
+
+	* src/Grid_widenings.cc (grids.13): Update select_wider_congruences
+	  to use Congruence::is_equal_at_dimension.
+
+2006-01-22 Sunday 22:25  Matthew Mundell
+
+	* src/Grid_chdims.cc (grids.31): Reduce dependence on
+	  Congruence_System's Grid friend declaration: update both
+	  add_space_dimension_and_project methods to use
+	  Congruence_System::add_unit_rows_and_columns and update
+	  concatenate_assign to use Congruence_System::concatenate.
+
+2006-01-22 Sunday 22:18  Matthew Mundell
+
+	* src/Grid_Generator_System.cc (grids.28): Declare old_num_rows in
+	  recycling_insert const.
+
+2006-01-22 Sunday 22:18  Matthew Mundell
+
+	* src/: Grid_Generator_System.defs.hh,
+	  Grid_Generator_System.inlines.hh (grids.[22,13]): Add wrapper
+	  methods for Linear_System and Matrix methods used in Grid:
+	  permute_columns, erase_to_end, num_columns, resize_no_copy,
+	  set_index_first_pending_row, and unset_pending_rows.
+
+2006-01-22 Sunday 22:15  Matthew Mundell
+
+	* src/Congruence.inlines.hh (grids.23): Correct
+	  is_equal_at_dimension.
+
+2006-01-22 Sunday 22:15  Matthew Mundell
+
+	* src/: Congruence_System.cc, Congruence_System.defs.hh
+	  (grids.[43,27]): Add methods is_equal_to(cgs),
+	  recycling_insert(cgs), add_unit_rows_and_columns(k),
+	  concatenate(cgs) and has_a_free_dimension().	Rename method
+	  add_rows to insert, updating it to add columns as required and
+	  moving it to the public section.
+
+2006-01-22 Sunday 22:01  Matthew Mundell
+
+	* src/: Congruence.defs.hh, Congruence.inlines.hh (grids.[40,22]):
+	  Add is_equal_at_dimension.  Improve Grid friend declaration
+	  comment.
+
+2006-01-22 Sunday 21:34  Matthew Mundell
+
+	* src/Congruence.cc (grids.22): Update operator<< to use
+	  Coefficient_zero() for zero.
+
+2006-01-22 Sunday 17:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Constraint.cc (1.56): Print objects of class Coefficient as
+	  such.
+
+2006-01-22 Sunday 15:29  Matthew Mundell
+
+	* src/Grid_simplify.cc (grids.56): Simplify the
+	  reduce_line_with_line comment.  Clean up a few comments the other
+	  reduce_x_with_x methods.
+
+2006-01-22 Sunday 13:29  Matthew Mundell
+
+	* src/Grid_simplify.cc (grids.55): Update reduce_line_with_line and
+	  reduce_equality_with_equality to set the column'th element of row
+	  directly.
+
+2006-01-21 Saturday 20:49  Matthew Mundell
+
+	* src/Grid_simplify.cc (grids.54): Take out of
+	  reduce_parameter_with_line a query about an existing improvement.
+
+2006-01-21 Saturday 20:45  Matthew Mundell
+
+	* src/Grid_simplify.cc (grids.53): Update
+	  reduce_equality_with_equality and reduce_line_with_line to
+	  account for columns that are known to be zero.
+
+2006-01-21 Saturday 20:33  Matthew Mundell
+
+	* src/Grid.defs.hh (grids.97): Improve the description of the col
+	  parameter in some of the reduction methods.
+
+2006-01-21 Saturday 19:50  Matthew Mundell
+
+	* src/Grid.defs.hh (grids.96): Improve the description of
+	  reduce_line_with_line a little.
+
+2006-01-21 Saturday 19:39  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid_simplify.cc (grids.[95,52]): Update
+	  reduce_pc_with_pc to take arguments `start' and `end' instead of
+	  using a `parameters' argument to calculate the start and end of
+	  the relevant portions of the rows.
+
+2006-01-21 Saturday 19:29  Matthew Mundell
+
+	* src/Congruence_System.cc (grids.42): Improve a comment in
+	  normalize_moduli.
+
+2006-01-21 Saturday 18:19  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh (1.67), Checked_Number.inlines.hh
+	  (1.55): Simplified Checked and Native mixing.
+
+2006-01-20 Friday 23:53  Matthew Mundell
+
+	* src/Grid_simplify.cc (grids.51): Update reduce_pc_with_pc to set
+	  the column'th element of both row and pivot directly.
+
+2006-01-20 Friday 23:26  Matthew Mundell
+
+	* src/Grid_simplify.cc (grids.50): Correct a comment in the
+	  generator system simplify.
+
+2006-01-20 Friday 23:21  Matthew Mundell
+
+	* src/Grid_simplify.cc (grids.49): Update reduce_pc_with_pc to skip
+	  the trailing or leading columns that are known to be zero.
+
+2006-01-20 Friday 22:16  Matthew Mundell
+
+	* src/Grid_public.cc (grids.133): Inline the addition of the
+	  congruence in the case where lhs is a constant.
+
+2006-01-20 Friday 18:44  Matthew Mundell
+
+	* src/Grid_simplify.cc (grids.48): Add a rough query to
+	  reduce_pc_with_pc.
+
+2006-01-20 Friday 18:37  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, grid2_16.cc, grid4.cc (grids.[60,1,3]):
+	  Rename grid4 to grid2_16.
+
+2006-01-20 Friday 18:34  Matthew Mundell
+
+	* tests/Grid/grid2.cc (grids.22): Improve the comment about
+	  cong_test4.
+
+2006-01-20 Friday 18:08  Matthew Mundell
+
+	* tests/Grid/: grid1.cc, grid1_16.cc (grids.[28,2]): Move grid1
+	  test11 and test14 into grid1_16.  Describe grid1_16 test1.
+
+2006-01-20 Friday 17:43  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, grid1.cc, grid1_16.cc
+	  (grids.[59,27,1]): Add grid1_16, for tests that require integers
+	  of at least 16 bits.	Move grid1 test8 into grid1_16.
+
+2006-01-20 Friday 17:33  Matthew Mundell
+
+	* debian/: control (ppl-0_8-branch.1), control (1.13): Update
+	  libppl-dev to depend on the system compiler.
+
+2006-01-20 Friday 17:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/control (altnum.1): file control was added on branch
+	  altnum on 2006-10-29 19:26:52 +0000
+
+2006-01-20 Friday 14:23  Matthew Mundell
+
+	* debian/rules (ppl-0_8-branch.1): Correct version parsing sed
+	  expression.
+
+2006-01-20 Friday 14:17  Matthew Mundell
+
+	* debian/rules (1.10): Correct version parsing sed expression.
+
+2006-01-20 Friday 14:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/rules (altnum.1): file rules was added on branch altnum on
+	  2006-10-29 19:26:52 +0000
+
+2006-01-20 Friday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (ppl-0_8-branch.1): Update version.
+
+2006-01-20 Friday 09:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/ChangeLog, ChangeLog (ppl-0_8-branch.[2,2]): Mark
+	  ChangeLog.
+
+2006-01-20 Friday 09:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog, Watchdog/ChangeLog (ppl-0_8-branch.[1,1]): Updated.
+
+2006-01-20 Friday 08:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (ppl-0_8-branch.1): Reflected the fact that some files
+	  have been deleted overnight.
+
+2006-01-20 Friday 06:17  Matthew Mundell
+
+	* debian/Makefile.am (grids.1): file Makefile.am was added on
+	  branch grids on 2006-01-25 18:31:23 +0000
+
+2006-01-20 Friday 06:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/Makefile.am (1.2): Do not distribute no longer existent
+	  files.
+
+2006-01-20 Friday 06:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/Makefile.am (altnum.1): file Makefile.am was added on
+	  branch altnum on 2006-10-29 19:26:52 +0000
+
+2006-01-20 Friday 06:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/Makefile.am (simplex.1): file Makefile.am was added on
+	  branch simplex on 2006-05-08 17:15:45 +0000
+
+2006-01-20 Friday 01:06  Matthew Mundell
+
+	* debian/: control.prologs (1.2), libppl-gprolog.links (1.2),
+	  libppl-sicstus.links (1.2), libppl-swi.links (1.2),
+	  libppl-yap.links (1.2): Clear out Prolog configuration files.
+
+2006-01-20 Friday 01:00  Matthew Mundell
+
+	* debian/rules (1.9): Use the system C and C++ compilers.
+
+2006-01-20 Friday 01:00  Matthew Mundell
+
+	* debian/control (1.12): Revert to the stable distribution (sarge)
+	  dependencies.
+
+2006-01-20 Friday 00:59  Matthew Mundell
+
+	* debian/changelog (1.3): Add entry for 0.8 release.
+
+2006-01-20 Friday 00:25  Matthew Mundell
+
+	* src/Grid_Generator_System.defs.hh (grids.21): Improve the
+	  add_universe_rows_and_columns description.
+
+2006-01-20 Friday 00:24  Matthew Mundell
+
+	* doc/devref.doxyconf-html.in (grids.7): Add to INPUT classes
+	  Grid_Generator, Grid_Generator_System, Grid_Certificate and file
+	  Grid_widenings.cc.
+
+2006-01-19 Thursday 20:23  Matthew Mundell
+
+	* tests/Makefile.am (grids.5): Run the grid tests before the
+	  others.
+
+2006-01-19 Thursday 18:24  Matthew Mundell
+
+	* tests/BD_Shape/Makefile.am (grids.9): Correct temporary
+	  BD_SHAPE_INSTANCE values.
+
+2006-01-19 Thursday 16:59  Matthew Mundell
+
+	* tests/BD_Shape/Makefile.am (grids.8): Temporarily modify to run
+	  the tests once, with BD_SHAPE_INSTANCE set according to
+	  --enable-coefficients, to speed the build machine test cycle.
+
+2006-01-19 Thursday 13:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.64), src/BD_Shape.inlines.hh (1.122),
+	  tests/BD_Shape/cc76narrowing1.cc (1.7),
+	  tests/BD_Shape/cc76narrowing2.cc (1.7),
+	  tests/BD_Shape/cc76narrowing3.cc (1.7),
+	  tests/BD_Shape/cc76narrowing4.cc (1.8),
+	  tests/BD_Shape/cc76narrowing5.cc (1.8): Corrected implementation
+	  and documentation of CC76_narrowing_assign() so as to match the
+	  order of arguments already used in all the widening and
+	  extrapolation operators.
+
+2006-01-19 Thursday 12:45  Matthew Mundell
+
+	* tests/Grid/limitedextrapolation1.cc (grids.7): Insert a second
+	  token test as test9.
+
+2006-01-19 Thursday 11:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.174): Added an item.
+
+2006-01-19 Thursday 11:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.154): Added a missing
+	  full stop.
+
+2006-01-19 Thursday 11:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/NNC_Polyhedron.defs.hh (1.43): Corrected a couple of
+	  comments.
+
+2006-01-19 Thursday 11:11  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, grid1.cc, grid1_64.cc
+	  (grids.[58,26,1]): Add grid1_64 for tests that require 64 bit or
+	  GMP integers.  Move grid1 test18 into grid1_64.
+
+2006-01-19 Thursday 10:39  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/globals.defs.hh (1.34): Removed spurious quote from the
+	  documentation.
+
+2006-01-19 Thursday 10:37  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Checked_Number.defs.hh (1.66): Documentation typo fixed.
+
+2006-01-19 Thursday 10:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.63): Corrected several documentation
+	  glitches reported by Andrea and David.
+
+2006-01-19 Thursday 10:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Variable.defs.hh (1.51): "base blocks" --> "basic blocks".
+
+2006-01-18 Wednesday 19:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/ppl_swiprolog.cc (1.118): Avoid a compiler
+	  warning.
+
+2006-01-18 Wednesday 18:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.189): Fixed anchor for LeVerge92.
+
+2006-01-18 Wednesday 16:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_swi_prolog.m4 (1.9): Fixed the detection of
+	  SWI-Prolog version 5.6.0 or later.
+
+2006-01-18 Wednesday 16:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_swi_prolog.m4 (altnum.1): file ac_check_swi_prolog.m4
+	  was added on branch altnum on 2006-10-29 19:27:11 +0000
+
+2006-01-18 Wednesday 16:25  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, grid1.cc, grid1_gmp.cc
+	  (grids.[57,25,1]): Add grid1_gmp for tests expected to pass only
+	  with GMP integers.  Move grid1 test19 to grid1_gmp.
+
+2006-01-18 Wednesday 13:56  Matthew Mundell
+
+	* src/Grid_simplify.cc (grids.47): Add more tracing to
+	  reduce_pc_with_pc.
+
+2006-01-18 Wednesday 13:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.153): Another typo
+	  fixed.
+
+2006-01-18 Wednesday 13:04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h.in (1.64): Many small improvements to the
+	  documentation of the C interface.
+
+2006-01-18 Wednesday 13:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.152): Several small
+	  corrections pointed out by Andrea.
+
+2006-01-18 Wednesday 13:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: BD_Shape/universe1.cc (1.8),
+	  Polyhedron/addconstraints6.cc (1.7),
+	  Polyhedron/writepolyhedron3.cc (1.7): "an universe" ==> "a
+	  universe".
+
+2006-01-18 Wednesday 13:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/globals.types.hh (1.6): Corrected a typo in the
+	  documentation.
+
+2006-01-18 Wednesday 09:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/powerset1.cc (1.10): Some old compilers do not
+	  fully understand using directives/declarations.
+
+2006-01-17 Tuesday 21:30  Matthew Mundell
+
+	* tests/Grid/congruencesystem1.cc (grids.10): Revert change made
+	  during testing.
+
+2006-01-17 Tuesday 20:27  Matthew Mundell
+
+	* tests/Grid/grid4.cc (grids.2): Clear out tracing messages.
+
+2006-01-17 Tuesday 20:26  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, timeelapse1.cc, timeelapse2.cc
+	  (grids.[56,7,1]): Add timeelapse2, where the tests are expected
+	  to fail with checkedint8.  Move timeelapse1 test9 into
+	  timeelapse2.
+
+2006-01-17 Tuesday 20:07  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, grid2.cc, grid4.cc (grids.[55,21,1]):
+	  Add grid4 for tests of grids created from congruences where the
+	  tests are expected to fail with checkedint8.	Move grid2 test10
+	  into grid4.
+
+2006-01-17 Tuesday 18:24  Matthew Mundell
+
+	* src/Checked_Number.defs.hh (grids.11): Take out the four
+	  parameter gcdext_assign declaration.
+
+2006-01-17 Tuesday 17:50  Andrea Cimino
+
+	* src/: LP_Problem.cc, LP_Problem.defs.hh (simplex.[21,19]):
+	  `incremetality' improved and simplified using by using the new
+	  mapping system. Now the Constraint taken by `incrementality' is
+	  passed by const reference.
+
+2006-01-17 Tuesday 17:03  Matthew Mundell
+
+	* tests/: ppl_test.hh, Grid/congruencesystem1.cc (grids.[18,9]):
+	  Add macro PPL_TEST_STR.  Rename macro stringify to PPL_TEST_XSTR,
+	  correcting the expansion.
+
+2006-01-17 Tuesday 16:54  Matthew Mundell
+
+	* src/globals.defs.hh (1.33): Correct the macro names in the
+	  PPL_STR and PPL_XSTR docs.
+
+2006-01-17 Tuesday 15:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.37), README (1.44), configure.ac (1.205),
+	  debian/Makefile.am (1.1): Distribute also the contents of the
+	  `debian' subdirectory.
+
+2006-01-17 Tuesday 15:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* Watchdog/CREDITS (1.2): "inexistent" replaced by "non-existent".
+
+2006-01-17 Tuesday 15:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/powerset1.cc (1.9): Corrected a name lookup
+	  problem for the output operator.
+
+2006-01-17 Tuesday 14:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.43): Updated.
+
+2006-01-17 Tuesday 14:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/README (1.13): Updated.
+
+2006-01-17 Tuesday 13:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.138): Removed no longer necessary definition
+	  of DOC_FILES.
+
+2006-01-17 Tuesday 13:43  Matthew Mundell
+
+	* README (1.42): Change "source distributions" to "source
+	  distribution".
+
+2006-01-17 Tuesday 12:58  Matthew Mundell
+
+	* README.configure (1.17): Clip trailing whitespace.
+
+2006-01-17 Tuesday 12:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BDS_Status.idefs.hh (1.16), Bounding_Box.defs.hh (1.13),
+	  Checked_Number.defs.hh (1.65), Coefficient_traits_template.hh
+	  (1.6), DB_Matrix.defs.hh (1.19), DB_Row.defs.hh (1.17),
+	  Float.defs.hh (1.17), GMP_Integer.types.hh (1.13), Init.defs.hh
+	  (1.15), Interval.defs.hh (1.27), Linear_Row.defs.hh (1.18),
+	  Linear_System.defs.hh (1.24), Matrix.defs.hh (1.75),
+	  Ph_Status.idefs.hh (1.16), Row.defs.hh (1.104),
+	  Saturation_Matrix.defs.hh (1.7), Saturation_Row.defs.hh (1.10),
+	  Scalar_Products.defs.hh (1.4), Widening_Function.defs.hh (1.14),
+	  checked.defs.hh (1.33), globals.defs.hh (1.32): Added \ingroup
+	  Doxygen commands to the documentation of many
+	  implementation-related C++ type declarations.
+
+2006-01-17 Tuesday 12:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Powerset.defs.hh (1.23): Do not include (useless) header file
+	  <set>.  Do directly include header file <iterator>.
+
+2006-01-17 Tuesday 12:20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/: C/ppl_c.h.in (1.63), Prolog/Prolog_interface.dox
+	  (1.151): Mark the start/stop of \defgroup documentation blocks
+	  for readability.
+
+2006-01-17 Tuesday 12:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref.doxyconf-html.in (1.64), devref.doxyconf-latex.in
+	  (1.7): File globals.types.hh was not considered when building the
+	  devref manual.
+
+2006-01-17 Tuesday 12:03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.188): Added Doxygen group
+	  PPL_CXX_interface.
+
+2006-01-17 Tuesday 10:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/powerset1.cc (1.8): Fixed the test of constant
+	  reverse iterators.
+
+2006-01-17 Tuesday 10:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Powerset.defs.hh (1.22): Typo's fixed.
+
+2006-01-17 Tuesday 09:44  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.62), BHRZ03_Certificate.defs.hh (1.15),
+	  C_Polyhedron.defs.hh (1.40), Checked_Number.defs.hh (1.64),
+	  Coefficient.types.hh (1.12), Constraint.defs.hh (1.115),
+	  Constraint_System.defs.hh (1.26), Determinate.defs.hh (1.61),
+	  GMP_Integer.types.hh (1.12), Generator.defs.hh (1.115),
+	  Generator_System.defs.hh (1.14), H79_Certificate.defs.hh (1.14),
+	  LP_Problem.defs.hh (1.7), LP_Problem.types.hh (1.5),
+	  Linear_Expression.defs.hh (1.19), NNC_Polyhedron.defs.hh (1.42),
+	  Poly_Con_Relation.defs.hh (1.31), Poly_Gen_Relation.defs.hh
+	  (1.29), Polyhedra_Powerset.defs.hh (1.31), Polyhedron.defs.hh
+	  (1.291), Powerset.defs.hh (1.21), Rounding_Dir.defs.hh (1.10),
+	  Topology.hh (1.12), Variable.defs.hh (1.50), globals.defs.hh
+	  (1.31), globals.types.hh (1.5), namespaces.hh (1.8),
+	  version.hh.in (1.14): Added Doxygen group PPL_CXX_interface.
+	  Added all (user-level) C++ namespaces, classes, structs, defines,
+	  typedefs and enumerations to the new group.
+
+2006-01-17 Tuesday 09:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Rounding_Dir.defs.hh (altnum.1): file Rounding_Dir.defs.hh
+	  was added on branch altnum on 2006-10-29 19:27:14 +0000
+
+2006-01-17 Tuesday 09:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Result.defs.hh (1.14): Hiding initializers of enumeration
+	  Result.  try to uniformize the documentation of enumeration
+	  values.
+
+2006-01-17 Tuesday 07:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.204): Bump version number.
+
+2006-01-17 Tuesday 07:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Powerset.defs.hh (1.20): List the availability of bool
+	  operator!=(const D& x, const D& y) among the requirements on D
+	  set by the class Powerset<D>.
+
+2006-01-17 Tuesday 07:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/powerset1.cc (1.7): Corrected and almost
+	  completed.
+
+2006-01-17 Tuesday 06:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/powerset1.cc (1.6): Removed spurious
+	  redeclaration of ps3 (it broke the build).
+
+2006-01-17 Tuesday 01:35  Matthew Mundell
+
+	* src/Powerset.defs.hh (1.19): Document the requirements for
+	  template parameter D.
+
+2006-01-17 Tuesday 01:13  Matthew Mundell
+
+	* tests/Polyhedron/powerset1.cc (1.5): Involve every method of
+	  Fcaibvp in the test.	Make std::set a private parent of Fcaibvp.
+	  Add operator==(Fcaibvp&, Fcaibvp&).
+
+2006-01-16 Monday 22:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.24): Updated.
+
+2006-01-16 Monday 22:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/ChangeLog (1.14): Updated.
+
+2006-01-16 Monday 22:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.187): Revised a couple of items.
+
+2006-01-16 Monday 22:25  Matthew Mundell
+
+	* src/Congruence.defs.hh (grids.39): Comment the #endif of the
+	  ascii_load doc directive.
+
+2006-01-16 Monday 22:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.186): Improved the paragraph on class BD_Shape<T>.
+
+2006-01-16 Monday 21:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.185): Added some quotations marks.
+
+2006-01-16 Monday 20:55  Matthew Mundell
+
+	* NEWS (1.184): Change "all what is needed" to "all that is needed"
+	  and "what is the relation" to "what the relation is".
+
+2006-01-16 Monday 20:50  Matthew Mundell
+
+	* src/Congruence.defs.hh (grids.38): Mark the ascii_load doc an
+	  implementation detail.
+
+2006-01-16 Monday 20:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.183): Drafted a news item concerning checked numbers.
+
+2006-01-16 Monday 20:00  Matthew Mundell
+
+	* src/: Congruence.cc, Congruence.defs.hh, Congruence_System.cc,
+	  Congruence_System.defs.hh, Grid.defs.hh, Grid_Generator.cc,
+	  Grid_Generator.defs.hh, Grid_Generator_System.cc,
+	  Grid_Generator_System.defs.hh, Grid_Status.cc,
+	  Grid_Status.idefs.hh, Grid_public.cc
+	  (grids.[21,37,41,26,94,15,24,27,20,6,7,132]): Convert all grid
+	  classes to use the PPL_OUTPUT macros.  Update
+	  generalized_affine_preimage to prefer pre-decrement.	Add a \ref
+	  to the Grid_Generator::ascii_load doc.
+
+2006-01-16 Monday 18:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (1.30): Install gzipped man pages.
+
+2006-01-16 Monday 17:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (1.29): The `Copyright' tag is no longer supported:
+	  use `License' instead.
+
+2006-01-16 Monday 15:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Polyhedron/polypowerset1.cc (1.17): Fixed tests 15 and 16.
+
+2006-01-16 Monday 15:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/polypowerset1.cc (1.16): Fixed test14().
+
+2006-01-16 Monday 15:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/polypowerset1.cc (1.15): Fixed test13().
+
+2006-01-16 Monday 15:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/polypowerset1.cc (1.14): Fixed test12().
+
+2006-01-16 Monday 15:14  Matthew Mundell
+
+	* src/: Checked_Number.defs.hh, Congruence_System.cc,
+	  GMP_Integer.defs.hh, GMP_Integer.inlines.hh, Grid_conversion.cc,
+	  Grid_nonpublic.cc (grids.[10,40,9,6,36,69]): Clear out the
+	  left-overs of the two parameter version of lcm_assign.  Always
+	  call the three parameter version.
+
+2006-01-16 Monday 15:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/: polypowerset1.cc (1.12), polypowerset1.cc
+	  (1.13): Fixed test11().
+
+2006-01-16 Monday 15:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/polypowerset1.cc (1.11): Fixed test10().
+
+2006-01-16 Monday 15:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/polypowerset1.cc (1.10): Fixed test6().  Do not
+	  use ints when bools are wanted.
+
+2006-01-16 Monday 14:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.41): The PPL now also handles bounded-difference
+	  shapes.
+
+2006-01-16 Monday 14:39  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/Polyhedron/polypowerset1.cc (1.9): Tests added.
+
+2006-01-16 Monday 14:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/NEWS (1.8): Release date decided.
+
+2006-01-16 Monday 14:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.182): The section "Integers Represented by Floating Point
+	  Numbers" does not belong to the user's manual.
+
+2006-01-16 Monday 14:30  Matthew Mundell
+
+	* src/: Grid_Generator.defs.hh, Grid_Generator.inlines.hh,
+	  Grid_conversion.cc, Grid_simplify.cc (grids.[23,18,35,46]): Move
+	  negate(gg, start, end) to Grid_Generator::negate(start, end).
+
+2006-01-16 Monday 14:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.181): News items reordered.  Added a notice for the
+	  exchange of unbounded numbers with YAP.
+
+2006-01-16 Monday 14:28  Matthew Mundell
+
+	* src/: Checked_Number.inlines.hh, GMP_Integer.defs.hh,
+	  GMP_Integer.inlines.hh (grids.[9,8,5]): Rename the wrapped
+	  gcdext_assign function to gcdext_assign_r.  Take out the
+	  four-parameter gcdext_assign function.
+
+2006-01-16 Monday 14:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.180): Added an item for the new AM_PATH_PPL Autoconf
+	  function.
+
+2006-01-16 Monday 14:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ppl.m4 (1.4): Comparison fixed.
+
+2006-01-16 Monday 14:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ppl.m4 (altnum.1): file ppl.m4 was added on branch altnum on
+	  2006-10-29 19:27:11 +0000
+
+2006-01-16 Monday 12:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.150): Warn the user
+	  about the fact that YAP's support for big numbers is still very
+	  young.
+
+2006-01-16 Monday 12:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ppl.m4 (1.3): Error message corrected.
+
+2006-01-16 Monday 12:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Result.defs.hh (1.13): Added brief description for
+	  enumeration Result.
+
+2006-01-16 Monday 12:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/namespaces.hh (1.7): Document the Checked namespace (for the
+	  devref manula only).	Specify once and for all in the std
+	  namespace documentation that we are specializing numeric_limits
+	  and, in particular, we are temporarily doing it also for GMP
+	  types.
+
+2006-01-16 Monday 12:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/mp_numeric_limits.hh (1.7): Do not explicitly mention
+	  numeric_limits specializations in the user manual.
+
+2006-01-16 Monday 12:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Rounding_Dir.defs.hh (1.9): Added brief description for
+	  enumeration Rounding_Dir; hiding initializers.
+
+2006-01-16 Monday 12:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/checked_numeric_limits.hh (1.12): Specializations of
+	  numeric_limits should be explicitly mentioned in the devref
+	  manual only.
+
+2006-01-16 Monday 12:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/checked.defs.hh (1.32): Namespaces should be documented in
+	  namespaces.hh.  Cut away another redundant documentation block.
+
+2006-01-16 Monday 12:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Matrix.defs.hh (1.74), compiler.hh (1.7): Filter away
+	  implementation stuff from the user manual.
+
+2006-01-16 Monday 12:04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/globals.defs.hh (1.30): Fixed documentation for
+	  abandon_exponential_computations.
+
+2006-01-16 Monday 12:03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Coefficient_traits_template.hh (1.5): The empty traits class
+	  is documented in the devref manual only.
+
+2006-01-16 Monday 12:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: user.doxyconf-html.in (1.36), user.doxyconf-latex.in (1.8):
+	  No longer expanding macros related to specialization of
+	  numeric_limits.
+
+2006-01-16 Monday 12:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.defs.hh (1.63): Comments added/improved.
+
+2006-01-16 Monday 11:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.179): Release date decided.  Improved the entry
+	  concerning ppl-config.
+
+2006-01-16 Monday 11:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.173): To-do items for PPL 0.8 removed.  Remember to
+	  complete/write man pages for PPL 0.9.
+
+2006-01-16 Monday 11:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.121): Comment improved.
+
+2006-01-16 Monday 11:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.defs.hh (1.62): Obsolete comment removed.
+
+2006-01-16 Monday 09:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Rounding_Dir.defs.hh (1.8): Added brief documentation for
+	  class Rounding_Dir.
+
+2006-01-16 Monday 09:15  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: Powerset.defs.hh (1.18), Powerset.inlines.hh (1.15),
+	  Powerset.types.hh (1.5): Renamed "Constraint System" as "Domain"
+	  as in the definitions.dox.  Replaced CS by D everywhere and cs by
+	  d.  Changed the section heading Member Functions for the Direct
+	  Inspection of Disjuncts to Member Functions for the Direct
+	  Manipulation of Disjuncts Moved the methods:	 add_disjunct()
+	  drop_disjunct()   drop_disjuncts()   clear() into this section.
+
+2006-01-16 Monday 09:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Checked_Number.defs.hh (1.61): Improved the documentation for
+	  function input().
+
+2006-01-16 Monday 09:03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: user.doxyconf-html.in (1.35), user.doxyconf-latex.in (1.7):
+	  When producing the user manuals, do not warn for undocumented
+	  members.
+
+2006-01-16 Monday 09:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Linear_Row.defs.hh (1.17), Linear_System.defs.hh (1.23),
+	  Ptr_Iterator.defs.hh (1.7), Row.defs.hh (1.103): Do not document
+	  implementation-related classes in the user manual.
+
+2006-01-16 Monday 02:10  Matthew Mundell
+
+	* BUGS, ChangeLog, Makefile.am, NEWS, README, README.configure,
+	  STANDARDS, TODO, config.guess, config.sub, configure.ac,
+	  install-sh, instchk.hh, ltmain.sh, ppl.lsm.in, ppl.spec.in,
+	  Watchdog/ChangeLog, Watchdog/Makefile.am, Watchdog/NEWS,
+	  Watchdog/README, Watchdog/config.guess, Watchdog/config.sub,
+	  Watchdog/configure.ac, Watchdog/install-sh, Watchdog/ltmain.sh,
+	  Watchdog/src/Doubly_Linked_Object.defs.hh,
+	  Watchdog/src/Doubly_Linked_Object.inlines.hh,
+	  Watchdog/src/Doubly_Linked_Object.types.hh,
+	  Watchdog/src/EList.defs.hh, Watchdog/src/EList.inlines.hh,
+	  Watchdog/src/EList.types.hh, Watchdog/src/EList_Iterator.defs.hh,
+	  Watchdog/src/EList_Iterator.inlines.hh,
+	  Watchdog/src/EList_Iterator.types.hh,
+	  Watchdog/src/Handler.defs.hh, Watchdog/src/Handler.inlines.hh,
+	  Watchdog/src/Handler.types.hh, Watchdog/src/Makefile.am,
+	  Watchdog/src/Makefile.in, Watchdog/src/Pending_Element.cc,
+	  Watchdog/src/Pending_Element.defs.hh,
+	  Watchdog/src/Pending_Element.inlines.hh,
+	  Watchdog/src/Pending_Element.types.hh,
+	  Watchdog/src/Pending_List.cc, Watchdog/src/Pending_List.defs.hh,
+	  Watchdog/src/Pending_List.inlines.hh,
+	  Watchdog/src/Pending_List.types.hh, Watchdog/src/Time.cc,
+	  Watchdog/src/Time.defs.hh, Watchdog/src/Time.inlines.hh,
+	  Watchdog/src/Time.types.hh, Watchdog/src/Watchdog.cc,
+	  Watchdog/src/Watchdog.defs.hh, Watchdog/src/Watchdog.inlines.hh,
+	  Watchdog/src/Watchdog.types.hh, Watchdog/src/pwl_header.hh,
+	  Watchdog/utils/Makefile.am, Watchdog/utils/build_header.in,
+	  debian/changelog, debian/control, debian/control.prologs,
+	  debian/libppl-dev.install, debian/libppl-pwl.install,
+	  debian/libppl.dirs, debian/libppl.install, debian/rules,
+	  demos/Makefile.am, demos/ppl_lcdd/Makefile.am,
+	  demos/ppl_lcdd/ppl_lcdd.cc, demos/ppl_lcdd/examples/Makefile.am,
+	  demos/ppl_lpsol/Makefile.am, demos/ppl_lpsol/expected_int16,
+	  demos/ppl_lpsol/expected_int16_a, demos/ppl_lpsol/expected_int32,
+	  demos/ppl_lpsol/expected_int32_a, demos/ppl_lpsol/expected_int64,
+	  demos/ppl_lpsol/expected_int64_a, demos/ppl_lpsol/expected_int8,
+	  demos/ppl_lpsol/expected_int8_a, demos/ppl_lpsol/expected_mpz,
+	  demos/ppl_lpsol/expected_mpz_a, demos/ppl_lpsol/ppl_lpsol.c,
+	  demos/ppl_lpsol/examples/Makefile.am, doc/Makefile.am,
+	  doc/README.doc, doc/definitions.dox, doc/devref.doxyconf-html.in,
+	  doc/devref.doxyconf-latex.in, doc/devref.tex, doc/ppl-config.1,
+	  doc/ppl.sty, doc/ppl_lcdd.1, doc/ppl_lpsol.1,
+	  doc/user.doxyconf-html.in, doc/user.doxyconf-latex.in,
+	  doc/user.tex, interfaces/Makefile.am, interfaces/C/Makefile.am,
+	  interfaces/C/ppl_c.cc, interfaces/C/ppl_c.h.in,
+	  interfaces/OCaml/Makefile.am, interfaces/Prolog/Makefile.am,
+	  interfaces/Prolog/Prolog_interface.dox,
+	  interfaces/Prolog/exceptions.hh,
+	  interfaces/Prolog/ppl_prolog.icc,
+	  interfaces/Prolog/track_allocation.hh,
+	  interfaces/Prolog/Ciao/Makefile.am,
+	  interfaces/Prolog/Ciao/ciao_clpq.pl,
+	  interfaces/Prolog/Ciao/ciao_clpq2.pl,
+	  interfaces/Prolog/Ciao/ciao_pl_check.pl,
+	  interfaces/Prolog/Ciao/ppl_ciao.cc,
+	  interfaces/Prolog/Ciao/ppl_ciao.pl,
+	  interfaces/Prolog/GNU/Makefile.am, interfaces/Prolog/GNU/README,
+	  interfaces/Prolog/GNU/gnu_pl_check.pl,
+	  interfaces/Prolog/GNU/gp_clpq.pl,
+	  interfaces/Prolog/GNU/ppl_gprolog.pl,
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc,
+	  interfaces/Prolog/SICStus/Makefile.am,
+	  interfaces/Prolog/SICStus/ppl_sicstus.pl,
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
+	  interfaces/Prolog/SICStus/sicstus_cfli.cc,
+	  interfaces/Prolog/SICStus/sicstus_cfli.h,
+	  interfaces/Prolog/SICStus/sicstus_cfli.ic,
+	  interfaces/Prolog/SICStus/sp_clpq.pl,
+	  interfaces/Prolog/SICStus/sp_pl_check.pl,
+	  interfaces/Prolog/SWI/Makefile.am,
+	  interfaces/Prolog/SWI/pl_clpq.cc,
+	  interfaces/Prolog/SWI/pl_clpq.pl,
+	  interfaces/Prolog/SWI/ppl_pl.cc,
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
+	  interfaces/Prolog/SWI/ppl_swiprolog.pl,
+	  interfaces/Prolog/SWI/swi_pl_check.pl,
+	  interfaces/Prolog/XSB/Makefile.am,
+	  interfaces/Prolog/XSB/expected_clpq2_int16,
+	  interfaces/Prolog/XSB/expected_clpq2_int16_a,
+	  interfaces/Prolog/XSB/expected_clpq2_int32,
+	  interfaces/Prolog/XSB/expected_clpq2_int32_a,
+	  interfaces/Prolog/XSB/expected_clpq2_int64,
+	  interfaces/Prolog/XSB/expected_clpq2_int64_a,
+	  interfaces/Prolog/XSB/expected_clpq2_int8,
+	  interfaces/Prolog/XSB/expected_clpq2_int8_a,
+	  interfaces/Prolog/XSB/expected_clpq2_mpz,
+	  interfaces/Prolog/XSB/expected_clpq2_mpz_a,
+	  interfaces/Prolog/XSB/expected_clpq_int16,
+	  interfaces/Prolog/XSB/expected_clpq_int16_a,
+	  interfaces/Prolog/XSB/expected_clpq_int32,
+	  interfaces/Prolog/XSB/expected_clpq_int32_a,
+	  interfaces/Prolog/XSB/expected_clpq_int64,
+	  interfaces/Prolog/XSB/expected_clpq_int64_a,
+	  interfaces/Prolog/XSB/expected_clpq_int8,
+	  interfaces/Prolog/XSB/expected_clpq_int8_a,
+	  interfaces/Prolog/XSB/expected_clpq_mpz,
+	  interfaces/Prolog/XSB/expected_clpq_mpz_a,
+	  interfaces/Prolog/XSB/expected_pchk_int16,
+	  interfaces/Prolog/XSB/expected_pchk_int16_a,
+	  interfaces/Prolog/XSB/expected_pchk_int32,
+	  interfaces/Prolog/XSB/expected_pchk_int32_a,
+	  interfaces/Prolog/XSB/expected_pchk_int64_a,
+	  interfaces/Prolog/XSB/expected_pchk_int8,
+	  interfaces/Prolog/XSB/expected_pchk_int8_a,
+	  interfaces/Prolog/XSB/ppl_xsb.H,
+	  interfaces/Prolog/XSB/ppl_xsb.cc,
+	  interfaces/Prolog/XSB/xsb_clpq.P,
+	  interfaces/Prolog/XSB/xsb_clpq2.P,
+	  interfaces/Prolog/XSB/xsb_pl_check.P,
+	  interfaces/Prolog/YAP/Makefile.am,
+	  interfaces/Prolog/YAP/ppl_yap.cc,
+	  interfaces/Prolog/YAP/ppl_yap.pl,
+	  interfaces/Prolog/YAP/yap_clpq.pl,
+	  interfaces/Prolog/YAP/yap_clpq2.pl,
+	  interfaces/Prolog/YAP/yap_pl_check.pl,
+	  interfaces/Prolog/tests/Makefile.am,
+	  interfaces/Prolog/tests/clpq.pl,
+	  interfaces/Prolog/tests/clpq2.pl,
+	  interfaces/Prolog/tests/expected_clpq2_int16,
+	  interfaces/Prolog/tests/expected_clpq2_int16_a,
+	  interfaces/Prolog/tests/expected_clpq2_int32,
+	  interfaces/Prolog/tests/expected_clpq2_int32_a,
+	  interfaces/Prolog/tests/expected_clpq2_int64,
+	  interfaces/Prolog/tests/expected_clpq2_int64_a,
+	  interfaces/Prolog/tests/expected_clpq2_int8,
+	  interfaces/Prolog/tests/expected_clpq2_int8_a,
+	  interfaces/Prolog/tests/expected_clpq2_mpz,
+	  interfaces/Prolog/tests/expected_clpq2_mpz_a,
+	  interfaces/Prolog/tests/expected_clpq_int16,
+	  interfaces/Prolog/tests/expected_clpq_int16_a,
+	  interfaces/Prolog/tests/expected_clpq_int32,
+	  interfaces/Prolog/tests/expected_clpq_int32_a,
+	  interfaces/Prolog/tests/expected_clpq_int64,
+	  interfaces/Prolog/tests/expected_clpq_int64_a,
+	  interfaces/Prolog/tests/expected_clpq_int8,
+	  interfaces/Prolog/tests/expected_clpq_int8_a,
+	  interfaces/Prolog/tests/expected_clpq_mpz,
+	  interfaces/Prolog/tests/expected_clpq_mpz_a,
+	  interfaces/Prolog/tests/expected_pchk_int16,
+	  interfaces/Prolog/tests/expected_pchk_int16_a,
+	  interfaces/Prolog/tests/expected_pchk_int32,
+	  interfaces/Prolog/tests/expected_pchk_int32_a,
+	  interfaces/Prolog/tests/expected_pchk_int64_a,
+	  interfaces/Prolog/tests/expected_pchk_int8,
+	  interfaces/Prolog/tests/expected_pchk_int8_a,
+	  interfaces/Prolog/tests/pl_check.pl, m4/Makefile.am,
+	  m4/ac_check_gmp.m4, m4/ac_check_sicstus_prolog.m4,
+	  m4/ac_check_swi_prolog.m4, m4/ac_check_xsb_prolog.m4,
+	  m4/ac_cxx_attribute_weak.m4, m4/ac_cxx_double_is_iec_559.m4,
+	  m4/ac_cxx_flexible_arrays.m4, m4/ac_cxx_float_is_iec_559.m4,
+	  m4/ac_cxx_long_double.m4, m4/ac_cxx_long_double_is_iec_559.m4,
+	  m4/ac_cxx_long_long.m4, m4/ppl.m4, src/Ask_Tell.defs.hh,
+	  src/Ask_Tell.inlines.hh, src/Ask_Tell.types.hh,
+	  src/BDS_Status.idefs.hh, src/BDS_Status.inlines.hh,
+	  src/BD_Shape.cc, src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
+	  src/BD_Shape.types.hh, src/BHRZ03_Certificate.cc,
+	  src/BHRZ03_Certificate.defs.hh,
+	  src/BHRZ03_Certificate.inlines.hh,
+	  src/BHRZ03_Certificate.types.hh, src/Bounding_Box.cc,
+	  src/Bounding_Box.defs.hh, src/Bounding_Box.inlines.hh,
+	  src/Bounding_Box.types.hh, src/C_Polyhedron.cc,
+	  src/C_Polyhedron.defs.hh, src/C_Polyhedron.inlines.hh,
+	  src/C_Polyhedron.types.hh, src/Checked_Number.cc,
+	  src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
+	  src/Checked_Number.types.hh, src/Coefficient.cc,
+	  src/Coefficient.defs.hh, src/Coefficient.inlines.hh,
+	  src/Coefficient.types.hh, src/Coefficient_traits_template.hh,
+	  src/Congruence.cc, src/Congruence.defs.hh,
+	  src/Congruence.inlines.hh, src/Constraint.cc,
+	  src/Constraint.defs.hh, src/Constraint.inlines.hh,
+	  src/Constraint.types.hh, src/Constraint_System.cc,
+	  src/Constraint_System.defs.hh, src/Constraint_System.inlines.hh,
+	  src/Constraint_System.types.hh, src/DB_Matrix.defs.hh,
+	  src/DB_Matrix.inlines.hh, src/DB_Matrix.types.hh,
+	  src/DB_Row.defs.hh, src/DB_Row.inlines.hh, src/DB_Row.types.hh,
+	  src/Determinate.defs.hh, src/Determinate.inlines.hh,
+	  src/Determinate.types.hh, src/Float.cc, src/Float.defs.hh,
+	  src/Float.inlines.hh, src/GMP_Integer.defs.hh,
+	  src/GMP_Integer.inlines.hh, src/GMP_Integer.types.hh,
+	  src/Generator.cc, src/Generator.defs.hh,
+	  src/Generator.inlines.hh, src/Generator.types.hh,
+	  src/Generator_System.cc, src/Generator_System.defs.hh,
+	  src/Generator_System.inlines.hh, src/Generator_System.types.hh,
+	  src/Grid.inlines.hh, src/Grid_Generator.cc,
+	  src/Grid_Generator.defs.hh, src/Grid_Generator.inlines.hh,
+	  src/Grid_conversion.cc, src/Grid_nonpublic.cc,
+	  src/Grid_public.cc, src/Grid_simplify.cc, src/H79_Certificate.cc,
+	  src/H79_Certificate.defs.hh, src/H79_Certificate.inlines.hh,
+	  src/H79_Certificate.types.hh, src/Init.cc, src/Init.defs.hh,
+	  src/Init.types.hh, src/Interval.cc, src/Interval.defs.hh,
+	  src/Interval.inlines.hh, src/Interval.types.hh,
+	  src/LP_Problem.cc, src/LP_Problem.defs.hh,
+	  src/LP_Problem.inlines.hh, src/LP_Problem.types.hh,
+	  src/Limits.hh, src/Linear_Expression.cc,
+	  src/Linear_Expression.defs.hh, src/Linear_Expression.inlines.hh,
+	  src/Linear_Expression.types.hh, src/Linear_Row.cc,
+	  src/Linear_Row.defs.hh, src/Linear_Row.inlines.hh,
+	  src/Linear_Row.types.hh, src/Linear_System.cc,
+	  src/Linear_System.defs.hh, src/Linear_System.inlines.hh,
+	  src/Linear_System.types.hh, src/Makefile.am, src/Matrix.cc,
+	  src/Matrix.defs.hh, src/Matrix.inlines.hh, src/Matrix.types.hh,
+	  src/NNC_Polyhedron.cc, src/NNC_Polyhedron.defs.hh,
+	  src/NNC_Polyhedron.inlines.hh, src/NNC_Polyhedron.types.hh,
+	  src/Native_Integer.defs.hh, src/Native_Integer.inlines.hh,
+	  src/Native_Integer.types.hh, src/Numeric_Format.defs.hh,
+	  src/Ph_Status.cc, src/Ph_Status.idefs.hh,
+	  src/Ph_Status.inlines.hh, src/Poly_Con_Relation.cc,
+	  src/Poly_Con_Relation.defs.hh, src/Poly_Con_Relation.inlines.hh,
+	  src/Poly_Con_Relation.types.hh, src/Poly_Gen_Relation.cc,
+	  src/Poly_Gen_Relation.defs.hh, src/Poly_Gen_Relation.inlines.hh,
+	  src/Poly_Gen_Relation.types.hh, src/Polyhedra_Powerset.cc,
+	  src/Polyhedra_Powerset.defs.hh,
+	  src/Polyhedra_Powerset.inlines.hh,
+	  src/Polyhedra_Powerset.types.hh, src/Polyhedron.defs.hh,
+	  src/Polyhedron.inlines.hh, src/Polyhedron.types.hh,
+	  src/Polyhedron_chdims.cc, src/Polyhedron_nonpublic.cc,
+	  src/Polyhedron_public.cc, src/Polyhedron_widenings.cc,
+	  src/Powerset.defs.hh, src/Powerset.inlines.hh,
+	  src/Powerset.types.hh, src/Ptr_Iterator.defs.hh,
+	  src/Ptr_Iterator.inlines.hh, src/Ptr_Iterator.types.hh,
+	  src/Result.defs.hh, src/Result.inlines.hh,
+	  src/Rounding_Dir.defs.hh, src/Rounding_Dir.inlines.hh,
+	  src/Row.cc, src/Row.defs.hh, src/Row.inlines.hh,
+	  src/Row.types.hh, src/Saturation_Matrix.cc,
+	  src/Saturation_Matrix.defs.hh, src/Saturation_Matrix.inlines.hh,
+	  src/Saturation_Matrix.types.hh, src/Saturation_Row.cc,
+	  src/Saturation_Row.defs.hh, src/Saturation_Row.inlines.hh,
+	  src/Saturation_Row.types.hh, src/Scalar_Products.cc,
+	  src/Scalar_Products.defs.hh, src/Scalar_Products.inlines.hh,
+	  src/Scalar_Products.types.hh, src/Topology.hh, src/Variable.cc,
+	  src/Variable.defs.hh, src/Variable.inlines.hh,
+	  src/Variable.types.hh, src/Widening_Function.defs.hh,
+	  src/Widening_Function.inlines.hh, src/Widening_Function.types.hh,
+	  src/algorithms.hh, src/checked.cc, src/checked.defs.hh,
+	  src/checked.inlines.hh, src/checked_ext.defs.hh,
+	  src/checked_ext.inlines.hh, src/checked_float.inlines.hh,
+	  src/checked_int.inlines.hh, src/checked_mpq.inlines.hh,
+	  src/checked_mpz.inlines.hh, src/checked_numeric_limits.hh,
+	  src/compiler.hh, src/conversion.cc, src/float.types.hh,
+	  src/fpu-c99.inlines.hh, src/fpu-ia32.inlines.hh,
+	  src/fpu-none.inlines.hh, src/fpu.defs.hh, src/globals.cc,
+	  src/globals.defs.hh, src/globals.inlines.hh,
+	  src/globals.types.hh, src/initializer.hh,
+	  src/max_space_dimension.hh, src/minimize.cc,
+	  src/mp_numeric_limits.hh, src/namespaces.hh,
+	  src/ppl-config.cc.in, src/ppl_header.hh, src/simplex.cc,
+	  src/simplify.cc, src/swapping_sort.icc, src/version.cc,
+	  src/version.hh.in, tests/BBox.cc, tests/BBox.hh,
+	  tests/Makefile.am, tests/PFunction.cc, tests/PFunction.hh,
+	  tests/Random_Number_Generator.defs.hh,
+	  tests/Random_Number_Generator.inlines.hh,
+	  tests/Random_Number_Generator.types.hh, tests/ehandlers.cc,
+	  tests/ehandlers.hh, tests/files.cc, tests/files.hh,
+	  tests/ppl_test.hh, tests/print.cc, tests/print.hh,
+	  tests/BD_Shape/Makefile.am, tests/BD_Shape/addconstraints1.cc,
+	  tests/BD_Shape/addspacedims1.cc, tests/BD_Shape/addspacedims2.cc,
+	  tests/BD_Shape/addspacedims3.cc, tests/BD_Shape/addspacedims4.cc,
+	  tests/BD_Shape/addspacedims5.cc, tests/BD_Shape/addspacedims6.cc,
+	  tests/BD_Shape/addspacedims7.cc,
+	  tests/BD_Shape/affinedimension1.cc,
+	  tests/BD_Shape/affineimage1.cc, tests/BD_Shape/affineimage10.cc,
+	  tests/BD_Shape/affineimage2.cc, tests/BD_Shape/affineimage3.cc,
+	  tests/BD_Shape/affineimage4.cc, tests/BD_Shape/affineimage5.cc,
+	  tests/BD_Shape/affineimage6.cc, tests/BD_Shape/affineimage7.cc,
+	  tests/BD_Shape/affineimage8.cc, tests/BD_Shape/affineimage9.cc,
+	  tests/BD_Shape/affinepreimage1.cc,
+	  tests/BD_Shape/affinepreimage2.cc,
+	  tests/BD_Shape/affinepreimage3.cc,
+	  tests/BD_Shape/affinepreimage4.cc,
+	  tests/BD_Shape/affinepreimage5.cc,
+	  tests/BD_Shape/ascii_dump_load1.cc,
+	  tests/BD_Shape/ascii_dump_load2.cc,
+	  tests/BD_Shape/bdsdifference1.cc,
+	  tests/BD_Shape/bdsdifference2.cc,
+	  tests/BD_Shape/bdsdifference3.cc,
+	  tests/BD_Shape/bdsdifference4.cc,
+	  tests/BD_Shape/bdsdifference5.cc,
+	  tests/BD_Shape/bdsdifference6.cc,
+	  tests/BD_Shape/bdsdifference7.cc, tests/BD_Shape/bdshull1.cc,
+	  tests/BD_Shape/bdshull2.cc, tests/BD_Shape/bdshull3.cc,
+	  tests/BD_Shape/bdshull4.cc,
+	  tests/BD_Shape/bgp99extrapolation1.cc,
+	  tests/BD_Shape/bhmz05widening1.cc,
+	  tests/BD_Shape/bhmz05widening2.cc,
+	  tests/BD_Shape/bhmz05widening3.cc,
+	  tests/BD_Shape/bhmz05widening4.cc,
+	  tests/BD_Shape/bhmz05widening5.cc,
+	  tests/BD_Shape/bhmz05widening6.cc,
+	  tests/BD_Shape/bhmz05widening7.cc,
+	  tests/BD_Shape/bhmz05widening8.cc,
+	  tests/BD_Shape/bhz03widening1.cc,
+	  tests/BD_Shape/cc76extrapolation1.cc,
+	  tests/BD_Shape/cc76extrapolation2.cc,
+	  tests/BD_Shape/cc76extrapolation3.cc,
+	  tests/BD_Shape/cc76extrapolation4.cc,
+	  tests/BD_Shape/cc76extrapolation5.cc,
+	  tests/BD_Shape/cc76extrapolation6.cc,
+	  tests/BD_Shape/cc76narrowing1.cc,
+	  tests/BD_Shape/cc76narrowing2.cc,
+	  tests/BD_Shape/cc76narrowing3.cc,
+	  tests/BD_Shape/cc76narrowing4.cc,
+	  tests/BD_Shape/cc76narrowing5.cc,
+	  tests/BD_Shape/ch78widening1.cc, tests/BD_Shape/ch78widening2.cc,
+	  tests/BD_Shape/ch78widening3.cc, tests/BD_Shape/ch78widening4.cc,
+	  tests/BD_Shape/ch78widening5.cc, tests/BD_Shape/ch78widening6.cc,
+	  tests/BD_Shape/ch78widening7.cc, tests/BD_Shape/ch78widening8.cc,
+	  tests/BD_Shape/closure1.cc, tests/BD_Shape/concatenate1.cc,
+	  tests/BD_Shape/concatenate2.cc, tests/BD_Shape/concatenate3.cc,
+	  tests/BD_Shape/concatenate4.cc, tests/BD_Shape/concatenate5.cc,
+	  tests/BD_Shape/constraints1.cc, tests/BD_Shape/constraints2.cc,
+	  tests/BD_Shape/contains1.cc, tests/BD_Shape/contains2.cc,
+	  tests/BD_Shape/contains3.cc, tests/BD_Shape/empty1.cc,
+	  tests/BD_Shape/empty2.cc, tests/BD_Shape/empty3.cc,
+	  tests/BD_Shape/empty4.cc, tests/BD_Shape/empty5.cc,
+	  tests/BD_Shape/equality1.cc, tests/BD_Shape/exceptions1.cc,
+	  tests/BD_Shape/exceptions2.cc, tests/BD_Shape/exceptions3.cc,
+	  tests/BD_Shape/fromgensys1.cc,
+	  tests/BD_Shape/generalizedaffineimage1.cc,
+	  tests/BD_Shape/generalizedaffineimage10.cc,
+	  tests/BD_Shape/generalizedaffineimage11.cc,
+	  tests/BD_Shape/generalizedaffineimage12.cc,
+	  tests/BD_Shape/generalizedaffineimage13.cc,
+	  tests/BD_Shape/generalizedaffineimage14.cc,
+	  tests/BD_Shape/generalizedaffineimage2.cc,
+	  tests/BD_Shape/generalizedaffineimage3.cc,
+	  tests/BD_Shape/generalizedaffineimage4.cc,
+	  tests/BD_Shape/generalizedaffineimage5.cc,
+	  tests/BD_Shape/generalizedaffineimage6.cc,
+	  tests/BD_Shape/generalizedaffineimage7.cc,
+	  tests/BD_Shape/generalizedaffineimage8.cc,
+	  tests/BD_Shape/generalizedaffineimage9.cc,
+	  tests/BD_Shape/generalizedaffinepreimage1.cc,
+	  tests/BD_Shape/generalizedaffinepreimage2.cc,
+	  tests/BD_Shape/geomcovers1.cc, tests/BD_Shape/h79widening1.cc,
+	  tests/BD_Shape/intersection1.cc, tests/BD_Shape/intersection2.cc,
+	  tests/BD_Shape/intersection3.cc, tests/BD_Shape/intersection4.cc,
+	  tests/BD_Shape/intersection5.cc, tests/BD_Shape/intersection6.cc,
+	  tests/BD_Shape/intersection7.cc, tests/BD_Shape/intersection8.cc,
+	  tests/BD_Shape/limitedCC76extrapolation1.cc,
+	  tests/BD_Shape/limitedCC76extrapolation2.cc,
+	  tests/BD_Shape/limitedCC76extrapolation3.cc,
+	  tests/BD_Shape/limitedCH78extrapolation1.cc,
+	  tests/BD_Shape/limitedCH78extrapolation2.cc,
+	  tests/BD_Shape/limitedCH78extrapolation3.cc,
+	  tests/BD_Shape/limitedCH78extrapolation4.cc,
+	  tests/BD_Shape/limitedCH78extrapolation5.cc,
+	  tests/BD_Shape/limitedCH78extrapolation6.cc,
+	  tests/BD_Shape/limitedCH78extrapolation7.cc,
+	  tests/BD_Shape/limitedCH78extrapolation8.cc,
+	  tests/BD_Shape/limitedCH78extrapolation9.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation1.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation2.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation3.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation4.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation5.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation6.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation7.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation8.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation9.cc,
+	  tests/BD_Shape/limitedcc76extrapolation1.cc,
+	  tests/BD_Shape/limitedcc76extrapolation2.cc,
+	  tests/BD_Shape/limitedcc76extrapolation3.cc,
+	  tests/BD_Shape/limitedh79extrapolation1.cc,
+	  tests/BD_Shape/mapspacedims1.cc, tests/BD_Shape/mapspacedims2.cc,
+	  tests/BD_Shape/mapspacedims3.cc, tests/BD_Shape/mapspacedims4.cc,
+	  tests/BD_Shape/maxspacedim.cc, tests/BD_Shape/minconstraints1.cc,
+	  tests/BD_Shape/relations1.cc, tests/BD_Shape/relations2.cc,
+	  tests/BD_Shape/relations3.cc, tests/BD_Shape/relations4.cc,
+	  tests/BD_Shape/relations5.cc, tests/BD_Shape/removespacedims1.cc,
+	  tests/BD_Shape/removespacedims2.cc,
+	  tests/BD_Shape/removespacedims3.cc, tests/BD_Shape/run_tests,
+	  tests/BD_Shape/timeelapse1.cc, tests/BD_Shape/timeelapse2.cc,
+	  tests/BD_Shape/timeelapse3.cc, tests/BD_Shape/timeelapse4.cc,
+	  tests/BD_Shape/timeelapse5.cc, tests/BD_Shape/universe1.cc,
+	  tests/BD_Shape/writebdshape1.cc, tests/BD_Shape/writebdshape2.cc,
+	  tests/Polyhedron/CbecomesNNC1.cc,
+	  tests/Polyhedron/LP_Problem3.cc, tests/Polyhedron/Makefile.am,
+	  tests/Polyhedron/NNCbecomesC1.cc,
+	  tests/Polyhedron/NNCminimize1.cc,
+	  tests/Polyhedron/NNCminimize2.cc,
+	  tests/Polyhedron/NNCminimize3.cc,
+	  tests/Polyhedron/NNCminimize4.cc,
+	  tests/Polyhedron/NNCminimize5.cc,
+	  tests/Polyhedron/NNCminimize6.cc, tests/Polyhedron/README,
+	  tests/Polyhedron/addconstraint1.cc,
+	  tests/Polyhedron/addconstraint2.cc,
+	  tests/Polyhedron/addconstraint3.cc,
+	  tests/Polyhedron/addconstraints1.cc,
+	  tests/Polyhedron/addconstraints10.cc,
+	  tests/Polyhedron/addconstraints11.cc,
+	  tests/Polyhedron/addconstraints12.cc,
+	  tests/Polyhedron/addconstraints13.cc,
+	  tests/Polyhedron/addconstraints2.cc,
+	  tests/Polyhedron/addconstraints3.cc,
+	  tests/Polyhedron/addconstraints4.cc,
+	  tests/Polyhedron/addconstraints5.cc,
+	  tests/Polyhedron/addconstraints6.cc,
+	  tests/Polyhedron/addconstraints7.cc,
+	  tests/Polyhedron/addconstraints8.cc,
+	  tests/Polyhedron/addconstraints9.cc,
+	  tests/Polyhedron/addgenerator1.cc,
+	  tests/Polyhedron/addgenerator2.cc,
+	  tests/Polyhedron/addgenerator3.cc,
+	  tests/Polyhedron/addgenerator4.cc,
+	  tests/Polyhedron/addgenerator5.cc,
+	  tests/Polyhedron/addgenerators1.cc,
+	  tests/Polyhedron/addgenerators10.cc,
+	  tests/Polyhedron/addgenerators11.cc,
+	  tests/Polyhedron/addgenerators12.cc,
+	  tests/Polyhedron/addgenerators13.cc,
+	  tests/Polyhedron/addgenerators2.cc,
+	  tests/Polyhedron/addgenerators3.cc,
+	  tests/Polyhedron/addgenerators4.cc,
+	  tests/Polyhedron/addgenerators5.cc,
+	  tests/Polyhedron/addgenerators6.cc,
+	  tests/Polyhedron/addgenerators7.cc,
+	  tests/Polyhedron/addgenerators8.cc,
+	  tests/Polyhedron/addgenerators9.cc,
+	  tests/Polyhedron/addspacedims1.cc,
+	  tests/Polyhedron/addspacedims10.cc,
+	  tests/Polyhedron/addspacedims11.cc,
+	  tests/Polyhedron/addspacedims12.cc,
+	  tests/Polyhedron/addspacedims13.cc,
+	  tests/Polyhedron/addspacedims2.cc,
+	  tests/Polyhedron/addspacedims3.cc,
+	  tests/Polyhedron/addspacedims4.cc,
+	  tests/Polyhedron/addspacedims5.cc,
+	  tests/Polyhedron/addspacedims6.cc,
+	  tests/Polyhedron/addspacedims7.cc,
+	  tests/Polyhedron/addspacedims8.cc,
+	  tests/Polyhedron/addspacedims9.cc,
+	  tests/Polyhedron/affineimage1.cc,
+	  tests/Polyhedron/affineimage2.cc,
+	  tests/Polyhedron/affineimage3.cc,
+	  tests/Polyhedron/affineimage4.cc,
+	  tests/Polyhedron/affineimage5.cc,
+	  tests/Polyhedron/affineimage6.cc,
+	  tests/Polyhedron/affineimage7.cc,
+	  tests/Polyhedron/affineimage8.cc,
+	  tests/Polyhedron/affineimage9.cc,
+	  tests/Polyhedron/affinepreimage1.cc,
+	  tests/Polyhedron/affinepreimage10.cc,
+	  tests/Polyhedron/affinepreimage11.cc,
+	  tests/Polyhedron/affinepreimage12.cc,
+	  tests/Polyhedron/affinepreimage2.cc,
+	  tests/Polyhedron/affinepreimage3.cc,
+	  tests/Polyhedron/affinepreimage4.cc,
+	  tests/Polyhedron/affinepreimage5.cc,
+	  tests/Polyhedron/affinepreimage6.cc,
+	  tests/Polyhedron/affinepreimage7.cc,
+	  tests/Polyhedron/affinepreimage8.cc,
+	  tests/Polyhedron/affinepreimage9.cc,
+	  tests/Polyhedron/affinetrans.cc, tests/Polyhedron/append1.cc,
+	  tests/Polyhedron/append2.cc,
+	  tests/Polyhedron/ascii_dump_load1.cc,
+	  tests/Polyhedron/ascii_dump_load2.cc,
+	  tests/Polyhedron/ascii_dump_load3.cc,
+	  tests/Polyhedron/ascii_dump_load4.cc,
+	  tests/Polyhedron/ascii_dump_load5.cc,
+	  tests/Polyhedron/ascii_dump_load6.cc,
+	  tests/Polyhedron/ascii_dump_load7.cc,
+	  tests/Polyhedron/bgp99extrapolation1.cc,
+	  tests/Polyhedron/bgp99extrapolation2.cc,
+	  tests/Polyhedron/bhrz03widening1.cc,
+	  tests/Polyhedron/bhrz03widening10.cc,
+	  tests/Polyhedron/bhrz03widening11.cc,
+	  tests/Polyhedron/bhrz03widening12.cc,
+	  tests/Polyhedron/bhrz03widening13.cc,
+	  tests/Polyhedron/bhrz03widening14.cc,
+	  tests/Polyhedron/bhrz03widening15.cc,
+	  tests/Polyhedron/bhrz03widening16.cc,
+	  tests/Polyhedron/bhrz03widening17.cc,
+	  tests/Polyhedron/bhrz03widening18.cc,
+	  tests/Polyhedron/bhrz03widening19.cc,
+	  tests/Polyhedron/bhrz03widening2.cc,
+	  tests/Polyhedron/bhrz03widening3.cc,
+	  tests/Polyhedron/bhrz03widening4.cc,
+	  tests/Polyhedron/bhrz03widening5.cc,
+	  tests/Polyhedron/bhrz03widening6.cc,
+	  tests/Polyhedron/bhrz03widening7.cc,
+	  tests/Polyhedron/bhrz03widening8.cc,
+	  tests/Polyhedron/bhrz03widening9.cc,
+	  tests/Polyhedron/bhz03widening1.cc,
+	  tests/Polyhedron/bhz03widening2.cc,
+	  tests/Polyhedron/bhz03widening3.cc,
+	  tests/Polyhedron/bhz03widening4.cc,
+	  tests/Polyhedron/bhz03widening5.cc,
+	  tests/Polyhedron/bhz03widening6.cc, tests/Polyhedron/bounded1.cc,
+	  tests/Polyhedron/boundedaffineimage1.cc,
+	  tests/Polyhedron/boundedaffineimage2.cc,
+	  tests/Polyhedron/boundedaffineimage3.cc,
+	  tests/Polyhedron/boundedaffinepreimage1.cc,
+	  tests/Polyhedron/boundedaffinepreimage2.cc,
+	  tests/Polyhedron/boundedaffinepreimage3.cc,
+	  tests/Polyhedron/boundedbhrz03extrapolation1.cc,
+	  tests/Polyhedron/boundedh79extrapolation1.cc,
+	  tests/Polyhedron/boundingbox1.cc,
+	  tests/Polyhedron/boundingbox2.cc,
+	  tests/Polyhedron/boundingbox3.cc,
+	  tests/Polyhedron/boundingbox4.cc,
+	  tests/Polyhedron/boundingbox5.cc, tests/Polyhedron/bounds1.cc,
+	  tests/Polyhedron/bounds2.cc, tests/Polyhedron/bug2.cc,
+	  tests/Polyhedron/concatenate1.cc,
+	  tests/Polyhedron/concatenate2.cc,
+	  tests/Polyhedron/concatenate3.cc,
+	  tests/Polyhedron/concatenate4.cc,
+	  tests/Polyhedron/concatenate5.cc,
+	  tests/Polyhedron/concatenate6.cc,
+	  tests/Polyhedron/concatenate7.cc,
+	  tests/Polyhedron/constraints1.cc,
+	  tests/Polyhedron/constraints2.cc,
+	  tests/Polyhedron/constraints3.cc,
+	  tests/Polyhedron/constraints4.cc,
+	  tests/Polyhedron/constraints5.cc, tests/Polyhedron/contains1.cc,
+	  tests/Polyhedron/contains2.cc, tests/Polyhedron/contains3.cc,
+	  tests/Polyhedron/contains4.cc, tests/Polyhedron/contains5.cc,
+	  tests/Polyhedron/disjoint1.cc, tests/Polyhedron/disjoint2.cc,
+	  tests/Polyhedron/disjoint3.cc,
+	  tests/Polyhedron/dualhypercubes.cc, tests/Polyhedron/empty1.cc,
+	  tests/Polyhedron/equals1.cc, tests/Polyhedron/exceptions1.cc,
+	  tests/Polyhedron/exceptions2.cc, tests/Polyhedron/exceptions3.cc,
+	  tests/Polyhedron/expandspacedim1.cc,
+	  tests/Polyhedron/expandspacedim2.cc,
+	  tests/Polyhedron/foldspacedims1.cc,
+	  tests/Polyhedron/foldspacedims2.cc,
+	  tests/Polyhedron/generalizedaffineimage1.cc,
+	  tests/Polyhedron/generalizedaffineimage10.cc,
+	  tests/Polyhedron/generalizedaffineimage11.cc,
+	  tests/Polyhedron/generalizedaffineimage12.cc,
+	  tests/Polyhedron/generalizedaffineimage13.cc,
+	  tests/Polyhedron/generalizedaffineimage14.cc,
+	  tests/Polyhedron/generalizedaffineimage2.cc,
+	  tests/Polyhedron/generalizedaffineimage3.cc,
+	  tests/Polyhedron/generalizedaffineimage4.cc,
+	  tests/Polyhedron/generalizedaffineimage5.cc,
+	  tests/Polyhedron/generalizedaffineimage6.cc,
+	  tests/Polyhedron/generalizedaffineimage7.cc,
+	  tests/Polyhedron/generalizedaffineimage8.cc,
+	  tests/Polyhedron/generalizedaffineimage9.cc,
+	  tests/Polyhedron/generalizedaffinepreimage1.cc,
+	  tests/Polyhedron/generalizedaffinepreimage2.cc,
+	  tests/Polyhedron/generalizedaffinepreimage3.cc,
+	  tests/Polyhedron/generalizedaffinepreimage4.cc,
+	  tests/Polyhedron/generators1.cc, tests/Polyhedron/generators2.cc,
+	  tests/Polyhedron/generators3.cc, tests/Polyhedron/generators4.cc,
+	  tests/Polyhedron/generators5.cc, tests/Polyhedron/generators6.cc,
+	  tests/Polyhedron/generators7.cc, tests/Polyhedron/geomcovers1.cc,
+	  tests/Polyhedron/gramschmidt1.cc,
+	  tests/Polyhedron/h79widening1.cc,
+	  tests/Polyhedron/h79widening2.cc,
+	  tests/Polyhedron/h79widening3.cc,
+	  tests/Polyhedron/h79widening4.cc,
+	  tests/Polyhedron/h79widening5.cc,
+	  tests/Polyhedron/h79widening6.cc,
+	  tests/Polyhedron/h79widening7.cc,
+	  tests/Polyhedron/h79widening8.cc,
+	  tests/Polyhedron/intersection1.cc,
+	  tests/Polyhedron/intersection10.cc,
+	  tests/Polyhedron/intersection11.cc,
+	  tests/Polyhedron/intersection2.cc,
+	  tests/Polyhedron/intersection3.cc,
+	  tests/Polyhedron/intersection4.cc,
+	  tests/Polyhedron/intersection5.cc,
+	  tests/Polyhedron/intersection6.cc,
+	  tests/Polyhedron/intersection7.cc,
+	  tests/Polyhedron/intersection8.cc,
+	  tests/Polyhedron/intersection9.cc,
+	  tests/Polyhedron/limitedbhrz03extrapolation1.cc,
+	  tests/Polyhedron/limitedh79extrapolation1.cc,
+	  tests/Polyhedron/limitedh79extrapolation2.cc,
+	  tests/Polyhedron/limitedh79extrapolation3.cc,
+	  tests/Polyhedron/limitedh79extrapolation4.cc,
+	  tests/Polyhedron/linearpartition1.cc,
+	  tests/Polyhedron/linearpartition2.cc,
+	  tests/Polyhedron/linearpartition3.cc,
+	  tests/Polyhedron/linearpartition4.cc,
+	  tests/Polyhedron/linearsystem1.cc,
+	  tests/Polyhedron/linexpression1.cc,
+	  tests/Polyhedron/lpproblem1.cc, tests/Polyhedron/lpproblem2.cc,
+	  tests/Polyhedron/lpproblem3.cc,
+	  tests/Polyhedron/mapspacedims1.cc,
+	  tests/Polyhedron/mapspacedims2.cc,
+	  tests/Polyhedron/mapspacedims3.cc,
+	  tests/Polyhedron/mapspacedims4.cc, tests/Polyhedron/matrix1.cc,
+	  tests/Polyhedron/max_min1.cc, tests/Polyhedron/max_min2.cc,
+	  tests/Polyhedron/maxspacedim1.cc, tests/Polyhedron/mc91.cc,
+	  tests/Polyhedron/membytes1.cc, tests/Polyhedron/membytes2.cc,
+	  tests/Polyhedron/memory1.cc, tests/Polyhedron/memory2.cc,
+	  tests/Polyhedron/minconstraints1.cc,
+	  tests/Polyhedron/minconstraints2.cc,
+	  tests/Polyhedron/minconstraints3.cc,
+	  tests/Polyhedron/minconstraints4.cc,
+	  tests/Polyhedron/mingenerators1.cc,
+	  tests/Polyhedron/mingenerators2.cc,
+	  tests/Polyhedron/mingenerators3.cc,
+	  tests/Polyhedron/numberinput1.cc, tests/Polyhedron/onepoint.cc,
+	  tests/Polyhedron/permute.cc, tests/Polyhedron/polydifference1.cc,
+	  tests/Polyhedron/polydifference2.cc,
+	  tests/Polyhedron/polydifference3.cc,
+	  tests/Polyhedron/polydifference4.cc,
+	  tests/Polyhedron/polydifference5.cc,
+	  tests/Polyhedron/polydifference6.cc,
+	  tests/Polyhedron/polydifference7.cc,
+	  tests/Polyhedron/polydifference8.cc,
+	  tests/Polyhedron/polydifference9.cc,
+	  tests/Polyhedron/polyhull1.cc, tests/Polyhedron/polyhull10.cc,
+	  tests/Polyhedron/polyhull11.cc, tests/Polyhedron/polyhull2.cc,
+	  tests/Polyhedron/polyhull3.cc, tests/Polyhedron/polyhull4.cc,
+	  tests/Polyhedron/polyhull5.cc, tests/Polyhedron/polyhull6.cc,
+	  tests/Polyhedron/polyhull7.cc, tests/Polyhedron/polyhull8.cc,
+	  tests/Polyhedron/polyhull9.cc, tests/Polyhedron/polypowerset1.cc,
+	  tests/Polyhedron/powerset1.cc,
+	  tests/Polyhedron/primalsimplex1.cc,
+	  tests/Polyhedron/primalsimplex2.cc,
+	  tests/Polyhedron/randphull1.cc, tests/Polyhedron/randphull2.cc,
+	  tests/Polyhedron/relations1.cc, tests/Polyhedron/relations10.cc,
+	  tests/Polyhedron/relations11.cc, tests/Polyhedron/relations12.cc,
+	  tests/Polyhedron/relations13.cc, tests/Polyhedron/relations14.cc,
+	  tests/Polyhedron/relations15.cc, tests/Polyhedron/relations16.cc,
+	  tests/Polyhedron/relations17.cc, tests/Polyhedron/relations18.cc,
+	  tests/Polyhedron/relations19.cc, tests/Polyhedron/relations2.cc,
+	  tests/Polyhedron/relations3.cc, tests/Polyhedron/relations4.cc,
+	  tests/Polyhedron/relations5.cc, tests/Polyhedron/relations6.cc,
+	  tests/Polyhedron/relations7.cc, tests/Polyhedron/relations8.cc,
+	  tests/Polyhedron/relations9.cc,
+	  tests/Polyhedron/removespacedims1.cc,
+	  tests/Polyhedron/removespacedims10.cc,
+	  tests/Polyhedron/removespacedims2.cc,
+	  tests/Polyhedron/removespacedims3.cc,
+	  tests/Polyhedron/removespacedims4.cc,
+	  tests/Polyhedron/removespacedims5.cc,
+	  tests/Polyhedron/removespacedims6.cc,
+	  tests/Polyhedron/removespacedims7.cc,
+	  tests/Polyhedron/removespacedims8.cc,
+	  tests/Polyhedron/removespacedims9.cc, tests/Polyhedron/smm1.cc,
+	  tests/Polyhedron/timeelapse1.cc, tests/Polyhedron/timeelapse2.cc,
+	  tests/Polyhedron/timeelapse3.cc, tests/Polyhedron/timeelapse4.cc,
+	  tests/Polyhedron/timeelapse5.cc, tests/Polyhedron/timeelapse6.cc,
+	  tests/Polyhedron/timeelapse7.cc, tests/Polyhedron/timeelapse8.cc,
+	  tests/Polyhedron/timeelapse9.cc, tests/Polyhedron/topclosed1.cc,
+	  tests/Polyhedron/topclosed2.cc, tests/Polyhedron/topclosed3.cc,
+	  tests/Polyhedron/topclosure1.cc, tests/Polyhedron/topclosure2.cc,
+	  tests/Polyhedron/topclosure3.cc, tests/Polyhedron/topclosure4.cc,
+	  tests/Polyhedron/universe1.cc, tests/Polyhedron/universe2.cc,
+	  tests/Polyhedron/universe3.cc, tests/Polyhedron/universe4.cc,
+	  tests/Polyhedron/universe5.cc, tests/Polyhedron/universe6.cc,
+	  tests/Polyhedron/universe7.cc, tests/Polyhedron/watchdog1.cc,
+	  tests/Polyhedron/writeconsys1.cc,
+	  tests/Polyhedron/writegensys1.cc,
+	  tests/Polyhedron/writegensys2.cc,
+	  tests/Polyhedron/writegensys3.cc,
+	  tests/Polyhedron/writepolyhedron1.cc,
+	  tests/Polyhedron/writepolyhedron2.cc,
+	  tests/Polyhedron/writepolyhedron3.cc,
+	  tests/Polyhedron/writerelation1.cc,
+	  tests/Polyhedron/writevariable1.cc, utils/Makefile.am,
+	  utils/build_header.in, utils/text2cxxarray.in, utils/timings.cc,
+	  utils/timings.hh
+	  (grids.[1,2,5,5,3,3,9,17,4,3,9,3,2,3,1,2,2,3,1,2,4,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,4,2,2,2,2,2,2,2,2,2,2,2,5,2,3,2,2,2,2,2,2,2,2,2,2,5,2,6,3,10,6,3,2,2,5,2,2,5,3,2,2,2,6,6,2,2,4,3,5,2,5,2,2,3,3,3,4,2,3,2,3,3,5,2,4,2,2,2,2,3,7,2,2,2,4,2,3,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,3,3,4,4,5,2,2,2,2,3,2,2,2,2,2,3,2,2,3,3,2,2,3,3,2,2,2,2,2,2,2,2,4,4,4,4,3,4,4,4,2,2,3,4,3,2,2,2,2,2,2,2,2,3,2,1,4,4,2,7,7,1,3,3,2,1,4,4,4,1,4,4,3,1,3,9,8 [...]
+	  Seventh (last but one?) merge of the main trunk to the grids
+	  branch.
+
+2006-01-15 Sunday 22:22  Matthew Mundell
+
+	* src/Grid_Generator_System.inlines.hh (grids.12): Update method
+	  clear to add the parameter divisor column after clearing.  Add
+	  notes that the size adjustments in the space dimension returning
+	  methods are for the parameter divisor column.
+
+2006-01-15 Sunday 22:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.203): Commented out the code for the
+	  --enable-instantiations option (since it does not belong to this
+	  release).
+
+2006-01-15 Sunday 22:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.178): Also the C interface is controlled by
+	  --enable-interfaces.
+
+2006-01-15 Sunday 22:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.202), demos/ppl_lpsol/Makefile.am (1.20),
+	  interfaces/C/Makefile.am (1.23): Allow the C interface not to be
+	  built using the --enable-interfaces configure option.
+
+2006-01-15 Sunday 21:57  Matthew Mundell
+
+	* src/checked.inlines.hh (grids.9): Update gcdext_exact to always
+	  return errors from functions abs and neg.  Describe the COPY_GMP
+	  directive.
+
+2006-01-15 Sunday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.172): Powerset::meet_assign() will not be renamed.
+
+2006-01-15 Sunday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.defs.hh (1.60): Added several Doxygen comments
+	  and some vertical space.  Fixed a couple of comments.
+
+2006-01-15 Sunday 20:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/DB_Matrix.defs.hh (1.18): Let ascii_load documentation show
+	  in the developers' manual only.
+
+2006-01-15 Sunday 20:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BDS_Status.inlines.hh (1.12): Fixed a \relates Doxygen
+	  command.
+
+2006-01-15 Sunday 18:48  Matthew Mundell
+
+	* src/Grid_widenings.cc (grids.12): Only add the limiting
+	  congruences if widening will changes the grid.
+
+2006-01-15 Sunday 17:42  Matthew Mundell
+
+	* tests/Polyhedron/: Makefile.am (1.45), affinepreimage12.cc (1.1):
+	  Add affinepreimage12, which tests the examples from
+	  definitions.dox.
+
+2006-01-15 Sunday 17:42  Matthew Mundell
+
+	* tests/Polyhedron/affinepreimage12.cc (grids.1): file
+	  affinepreimage12.cc was added on branch grids on 2006-01-16
+	  01:10:40 +0000
+
+2006-01-15 Sunday 16:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/README.doc (1.9): Changed: "all you need is to find it" to
+	  "all you need to do is to find it".  "to build." to "to be
+	  built." determined before"" to "already determined".
+
+2006-01-15 Sunday 16:53  Matthew Mundell
+
+	* src/Checked_Number.defs.hh (1.59): Change "proviso" to
+	  "provisos".
+
+2006-01-15 Sunday 16:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/README.doc (1.8): Changed "willing" to "wishing".
+
+2006-01-15 Sunday 14:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.149): Tried to specify
+	  which versions of XSB can be expected to work and which not.	It
+	  is a disaster, but there is little we can do about that.
+
+2006-01-15 Sunday 14:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.44), lpproblem1.cc (1.4),
+	  lpproblem3.cc (1.2): Added another test for LP_Problem.  Avoid
+	  redundnat inclusion in lpproblem1.cc.
+
+2006-01-15 Sunday 14:27  Matthew Mundell
+
+	* tests/Polyhedron/lpproblem1.cc (grids.1): file lpproblem1.cc was
+	  added on branch grids on 2006-01-16 01:10:41 +0000
+
+2006-01-15 Sunday 14:27  Matthew Mundell
+
+	* tests/Polyhedron/lpproblem3.cc (grids.1): file lpproblem3.cc was
+	  added on branch grids on 2006-01-16 01:10:41 +0000
+
+2006-01-15 Sunday 13:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/ppl_xsb.cc (1.84): Backtracking: XSB does
+	  not support 32-bit integers.
+
+2006-01-15 Sunday 12:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.187): Corrected the result for the example
+	  on affine preimages as well as a typo, both signaled by Matthew.
+
+2006-01-15 Sunday 11:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.30): Revised tests for
+	  ppl_Coefficient_max/1 and ppl_Coefficient_min/1.  Reduced the
+	  maximum and minimum integer that can be handled by XSB to 2^28-1
+	  and -2^28 respectively.
+
+2006-01-15 Sunday 10:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.174): Predicates
+	  ppl_Coefficient_min/1 and ppl_Coefficient_max/1 now fail if the
+	  respective values are not representable as Prolog integers.
+	  Avoid compiler warnings.  Indentation fixed.
+
+2006-01-15 Sunday 10:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: SICStus/ppl_sicstus_sd.cc (1.89),
+	  YAP/ppl_yap.cc (1.112): Declare and initialize
+	  Prolog_min_integer.  Avoid a compiler warning.
+
+2006-01-15 Sunday 10:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/ppl_swiprolog.cc (1.117): Initialize
+	  Prolog_min_integer and Prolog_max_integer.
+
+2006-01-15 Sunday 10:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: GNU/ppl_gprolog_sd.cc (1.37), XSB/ppl_xsb.cc
+	  (1.83): Avoid a compiler warning.
+
+2006-01-15 Sunday 10:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/ppl_ciao.cc (1.44): Define
+	  Prolog_min_integer.  Avoid a compiler warning.
+
+2006-01-15 Sunday 09:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/ppl_ciao.pl (1.87): Implementation of
+	  ppl_Coefficient_is_bounded/0 improved.
+
+2006-01-15 Sunday 03:29  Andrea Cimino
+
+	* tests/Polyhedron/: Makefile.am, lpproblem3.cc (simplex.[4,1]):
+	  Added another test for LP_Problem.
+
+2006-01-14 Saturday 22:48  Matthew Mundell
+
+	* doc/definitions.dox (1.186): Revert last change.
+
+2006-01-14 Saturday 22:17  Matthew Mundell
+
+	* doc/definitions.dox (1.185): Replace "there exist a matrix" with
+	  "there exists a matrix" in subsection "Images and Preimages of
+	  Affine Transfer Relations".
+
+2006-01-14 Saturday 21:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/ppl_xsb.cc (1.82): In XSB 2.7.1,
+	  <cinterf.h> no longer pollutes the namespace with `min' and
+	  `max'.  However, in XSB 2.7.1, <error_xsb.h> still does not come
+	  with the extern "C" wrapper.
+
+2006-01-14 Saturday 20:30  Matthew Mundell
+
+	* doc/definitions.dox (1.184): Change the first \leq in the affine
+	  relation definition in subsection Generalized_Affine_Relations to
+	  \relsym.
+
+2006-01-14 Saturday 20:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.148): Removed an
+	  obsolete (and actually misleading) sentence about the XSB
+	  interface.
+
+2006-01-14 Saturday 19:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.defs.hh (1.58): Two corrections to the
+	  documentation of input(): acceptable bases are in the range 2-36;
+	  bases (as well as exponents) are always written as plain base-10
+	  integers.
+
+2006-01-14 Saturday 18:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/ppl_xsb.cc (1.81): Two FIXMEs turned into
+	  TODOs: we can do nothing about them until the XSB people fix
+	  their header file.
+
+2006-01-14 Saturday 18:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.36): Two FIXMEs turned
+	  into TODOs: we can do nothing about them until the GNU Prolog
+	  people fix their header file.
+
+2006-01-14 Saturday 18:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/ppl_ciao.cc (1.43): Two FIXMEs turned into
+	  TODOs: we can do nothing about them until the Ciao people fix
+	  their header file.
+
+2006-01-14 Saturday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/ppl_yap.cc (1.111): Two FIXME's resolved.
+
+2006-01-14 Saturday 18:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/ppl_ciao.cc (1.42): Two FIXMEs resolved.
+
+2006-01-14 Saturday 17:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.171): We are well under 40 FIXMEs.  For PPL 0.9 the
+	  objective is to go below 20.
+
+2006-01-14 Saturday 17:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: user.doxyconf-html.in (1.34), user.doxyconf-latex.in (1.6):
+	  Added PPL_SPECIALIZE_LIMITS_INT and PPL_SPECIALIZE_LIMITS_FLOAT
+	  to EXPAND_AS_DEFINED.
+
+2006-01-14 Saturday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* STANDARDS (1.30): Extended the section on limiting the visibility
+	  of everything.  Some material that was in the section about
+	  macros has been moved here.
+
+2006-01-14 Saturday 17:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/mp_numeric_limits.hh (1.6): Comments revised so as to avoid
+	  redundancy.
+
+2006-01-14 Saturday 17:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_numeric_limits.hh (1.11): Macros
+	  SPECIALIZE_LIMITS_INT and SPECIALIZE_LIMITS_FLOAT renamed
+	  PPL_SPECIALIZE_LIMITS_INT and PPL_SPECIALIZE_LIMITS_FLOAT,
+	  respectively.  They are also undefined as soon as no longer
+	  necessary.  Partial specializations of std::numeric_limits
+	  provided with a Doxygen comment.
+
+2006-01-14 Saturday 16:44  Matthew Mundell
+
+	* NEWS (1.177): Always indent code with two spaces.  Convert tabs
+	  to spaces.
+
+2006-01-14 Saturday 16:41  Matthew Mundell
+
+	* NEWS (1.176): Correct spelling of "publicly".
+
+2006-01-14 Saturday 16:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.137): Generate ppl.hh simply as a copy of
+	  ppl_install.hh.  The old kludge to generate ppl.hh has simply
+	  been comments out, in case the new method proves to yield worse
+	  user documentation (via Doxygen).
+
+2006-01-14 Saturday 16:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.151): FIXME resolved.
+
+2006-01-14 Saturday 16:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/namespaces.hh (1.6): In the documentation of namespace std,
+	  specify that we also specialize std::numeric_limits.
+
+2006-01-14 Saturday 16:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/mp_numeric_limits.hh (1.5): Specializations for
+	  std::numeric_limits commented.
+
+2006-01-14 Saturday 16:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.defs.hh (1.57): Improved the documentation for
+	  input(std::istream&, Checked_Number<T, Policy>&, Rounding_Dir).
+
+2006-01-14 Saturday 15:48  Matthew Mundell
+
+	* Watchdog/NEWS (1.7): Add detail to the 0.5 Time entry.
+
+2006-01-14 Saturday 15:37  Matthew Mundell
+
+	* Watchdog/NEWS (1.6): Update 0.8 entries from ChangeLog.
+
+2006-01-14 Saturday 14:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/numberinput1.cc (1.24): Added three new tests.
+
+2006-01-14 Saturday 14:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.150): Two FIXMEs resolved.  Be
+	  consistent in the use of assign_r().
+
+2006-01-14 Saturday 14:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h.in (1.62): Typo fixed.
+
+2006-01-14 Saturday 14:12  Matthew Mundell
+
+	* NEWS (1.175): Update 0.8 entries from ChangeLog.
+
+2006-01-14 Saturday 13:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Powerset.defs.hh (1.17), Powerset.inlines.hh (1.14):
+	  Iterators for Powerset renamed as omega_iterator and
+	  omega_const_iterator.  Added corresponding typedefs for the
+	  previous naming and documented the typedefs.
+
+2006-01-14 Saturday 13:48  Abramo Bagnara
+
+	* src/Checked_Number.defs.hh (1.56): Added empty fractional to
+	  formal syntax.
+
+2006-01-14 Saturday 13:38  Abramo Bagnara
+
+	* src/checked.cc (1.15), tests/Polyhedron/numberinput1.cc (1.23):
+	  Allow empty fractional part.
+
+2006-01-14 Saturday 12:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.defs.hh (1.55): Completed a draft
+	  documentation for Result input(std::istream& is,
+	  Checked_Number<T, Policy>& x, Rounding_Dir dir).
+
+2006-01-14 Saturday 09:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.174), README (1.40): Reworded a couple of sentences.
+
+2006-01-14 Saturday 08:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.29): Corrected a test for
+	  ppl_Coefficient_min/1.
+
+2006-01-13 Friday 22:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* README (1.39): Added bullet about linear programming problem
+	  solver.  Minor language improvements.
+
+2006-01-13 Friday 21:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_numeric_limits.hh (1.10): Cosmetic changes.
+
+2006-01-13 Friday 21:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/mp_numeric_limits.hh (1.4): Fixed: all specializations of
+	  std::numeric_limits must have the `is_specialized' field set to
+	  true.
+
+2006-01-13 Friday 19:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.defs.hh (1.54): Include
+	  "checked_numeric_limits.hh".	Long line broken.
+
+2006-01-13 Friday 19:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.173): Do not write
+	  std::numeric_limits<const Coefficient>: write
+	  std::numeric_limits<Coefficient> instead.
+
+2006-01-13 Friday 18:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/: C/Makefile.am (1.22), C/ppl_c.cc (1.149),
+	  Prolog/ppl_prolog.icc (1.172), Prolog/Ciao/Makefile.am (1.52),
+	  Prolog/Ciao/ppl_ciao.cc (1.41), Prolog/GNU/Makefile.am (1.52),
+	  Prolog/GNU/ppl_gprolog_sd.cc (1.35), Prolog/SICStus/Makefile.am
+	  (1.63), Prolog/SICStus/ppl_sicstus_sd.cc (1.88),
+	  Prolog/SWI/Makefile.am (1.59), Prolog/SWI/ppl_swiprolog.cc
+	  (1.116), Prolog/XSB/Makefile.am (1.41), Prolog/XSB/ppl_xsb.cc
+	  (1.80), Prolog/YAP/Makefile.am (1.43), Prolog/YAP/ppl_yap.cc
+	  (1.110): No longer include individual PPL header file: include
+	  ppl_install.hh and pwl_install.hh instead.
+
+2006-01-13 Friday 18:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Powerset.defs.hh (1.16): Some comments revised.
+
+2006-01-13 Friday 14:52  Matthew Mundell
+
+	* TODO (1.170): Add Debian package TODO list.
+
+2006-01-13 Friday 14:19  Matthew Mundell
+
+	* debian/control.prologs (1.1): Initial revision.
+
+2006-01-13 Friday 14:19  Matthew Mundell
+
+	* debian/control.prologs (grids.1): file control.prologs was added
+	  on branch grids on 2006-01-16 01:10:28 +0000
+
+2006-01-13 Friday 14:02  Andrea Cimino
+
+	* src/LP_Problem.cc (simplex.20): Some bugs in `incrementality'
+	  (appear to be) fixed.  `erase_artificials', modified for this
+	  reason, now  is used also by incrementality.	Added some useful
+	  checks in OK().
+
+2006-01-13 Friday 13:48  Matthew Mundell
+
+	* debian/control (1.11): Only build the packages for which Debian
+	  provides the build requirements.
+
+2006-01-13 Friday 13:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.28): Improvements to tests
+	  involving large numbers and coefficients.  Part of test on
+	  coefficients commented temporarily until problems with this are
+	  fixed.
+
+2006-01-13 Friday 10:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.120): ascii_dump&load methods no
+	  longer inlined (and moved away from other inlined methods).
+
+2006-01-13 Friday 10:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.61), BD_Shape.inlines.hh (1.119): No
+	  longer disregard the optional tokens parameter in the widening
+	  and extrapolation methods. A token parameter also added to CC76's
+	  extrapolation operator.  Removed a couple of misplaced OK()
+	  assertions.
+
+2006-01-12 Thursday 22:43  Matthew Mundell
+
+	* interfaces/Prolog/GNU/README (1.2): Clip trailing whitespace.
+
+2006-01-12 Thursday 22:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/README (altnum.1): file README was added on
+	  branch altnum on 2006-10-29 19:27:02 +0000
+
+2006-01-12 Thursday 22:42  Matthew Mundell
+
+	* debian/libppl-pwl.install (1.3): Add usr/lib/libpwl.so.
+
+2006-01-12 Thursday 22:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/libppl-pwl.install (altnum.1): file libppl-pwl.install was
+	  added on branch altnum on 2006-10-29 19:26:52 +0000
+
+2006-01-12 Thursday 22:42  Matthew Mundell
+
+	* debian/: libppl-dev.install (1.3), libppl.install (1.5): Move
+	  usr/lib/libppl.so from libppl-dev to libppl.	Add
+	  usr/bin/ppl-config to libppl.
+
+2006-01-12 Thursday 22:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/libppl-dev.install (altnum.1): file libppl-dev.install was
+	  added on branch altnum on 2006-10-29 19:26:52 +0000
+
+2006-01-12 Thursday 22:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/libppl.install (altnum.1): file libppl.install was added
+	  on branch altnum on 2006-10-29 19:26:52 +0000
+
+2006-01-12 Thursday 22:39  Matthew Mundell
+
+	* debian/control (1.10): Drop the libppl-swi and libppl-gprolog
+	  dependencies on swi-prolog and gprolog, resp.
+
+2006-01-12 Thursday 22:30  Matthew Mundell
+
+	* BUGS (1.5): Improve the known bugs statement.
+
+2006-01-12 Thursday 17:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl-config.cc.in (1.16): Fix misplaced semicolon.
+
+2006-01-12 Thursday 17:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.183): Small improvements to subsection 1.6
+	  on the powerset domain.
+
+2006-01-12 Thursday 16:31  Matthew Mundell
+
+	* debian/rules (1.8): Correct the ppl-config source directory.
+	  Improve two comments.
+
+2006-01-12 Thursday 16:31  Matthew Mundell
+
+	* debian/libppl.install (1.4): Add ppl_lpsol and the manual pages.
+
+2006-01-12 Thursday 16:30  Matthew Mundell
+
+	* debian/libppl.dirs (1.3): Add usr/share/man/man1.
+
+2006-01-12 Thursday 16:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/libppl.dirs (altnum.1): file libppl.dirs was added on
+	  branch altnum on 2006-10-29 19:26:52 +0000
+
+2006-01-12 Thursday 16:30  Matthew Mundell
+
+	* debian/libppl-pwl.install (1.2): Move pwl.hh to libppl-dev.
+
+2006-01-12 Thursday 16:29  Matthew Mundell
+
+	* debian/libppl-dev.install (1.2): Add the header files.
+
+2006-01-12 Thursday 16:28  Matthew Mundell
+
+	* debian/control (1.9): Add glpk to Build-Depends.
+
+2006-01-12 Thursday 13:29  Matthew Mundell
+
+	* debian/rules (1.7): Add ppl_lpsol and ppl-config to the programs
+	  installed in install-arch.
+
+2006-01-12 Thursday 13:28  Matthew Mundell
+
+	* debian/control (1.8): Update to the new GMP package names.  Add
+	  libgmp3-doc to the libdevel suggested packages.  Improve some
+	  wording in the libppl-dev description.
+
+2006-01-12 Thursday 08:17  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.147),
+	  Ciao/ciao_pl_check.pl (1.19), Ciao/ppl_ciao.cc (1.40),
+	  Ciao/ppl_ciao.pl (1.86), GNU/ppl_gprolog.pl (1.58),
+	  SICStus/ppl_sicstus_sd.cc (1.87), SWI/ppl_swiprolog.cc (1.115),
+	  XSB/ppl_xsb.H (1.46), XSB/ppl_xsb.cc (1.79), XSB/xsb_pl_check.P
+	  (1.24), YAP/ppl_yap.cc (1.109), tests/pl_check.pl (1.27): Added
+	  predicates ppl_Coeffient_is_bounded/0, ppl_Coefficient_max and
+	  ppl_Coefficient_min.	A few small bugs fixed.
+
+2006-01-11 Wednesday 23:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.26): Obsolete hack
+	  removed.
+
+2006-01-11 Wednesday 23:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.171): Fixed
+	  ppl_Coefficient_min() and ppl_Coefficient_max().
+
+2006-01-11 Wednesday 22:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (1.28): Include ppl-config in %{_bindir} and the man
+	  pages in %{_mandir}/man1.
+
+2006-01-11 Wednesday 22:16  Andrea Cimino
+
+	* src/: LP_Problem.cc, LP_Problem.defs.hh (simplex.[19,18]): *this
+	  was not fully cleared if the problem was solved from scratch.
+	  Typo fixed in the documentation.
+
+2006-01-11 Wednesday 20:34  Matthew Mundell
+
+	* debian/rules (1.6): Improve the comment about ppl_lcdd.  Improve
+	  the comments about the installation of the change logs.  Merge
+	  the copy commands of the merged browse and print documents.
+
+2006-01-11 Wednesday 19:21  Matthew Mundell
+
+	* debian/rules (1.5): Call autoreconf instead of each of the auto*
+	  scripts.  Leave the configuration of the Watchdog to the PPL
+	  configure command.
+
+2006-01-11 Wednesday 18:35  Andrea Cimino
+
+	* src/LP_Problem.defs.hh (simplex.17): Minor documentation
+	  improvements.
+
+2006-01-11 Wednesday 18:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.170): New functions
+	  ppl_Coefficient_is_bounded(), ppl_Coefficient_min(Prolog_term_ref
+	  t_min) and ppl_Coefficient_max(Prolog_term_ref t_max) allow the
+	  Prolog application to inspect the basic properties of the
+	  `Coefficient' integer type.
+
+2006-01-11 Wednesday 17:52  Andrea Cimino
+
+	* src/: LP_Problem.cc, LP_Problem.defs.hh, LP_Problem.inlines.hh
+	  (simplex.[18,16,17]): Totally rehandled the way of mapping the
+	  `input_cs' columns with the `tableau' ones: `dim_map' is no
+	  longer used.	Renamed `swap_base' to `pivot'.  `slack' and
+	  `artificial' variables are better handled and documented.
+
+2006-01-11 Wednesday 15:23  Matthew Mundell
+
+	* src/Matrix.cc (1.92): Convert the add_recycled_row row size
+	  assertion into an OK assertion on the given row.
+
+2006-01-11 Wednesday 13:46  Matthew Mundell
+
+	* debian/changelog (1.2): Clear dummy entry.
+
+2006-01-11 Wednesday 12:18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BDS_Status.idefs.hh (1.15), Ph_Status.idefs.hh (1.15):
+	  Avoid include directives in files *.idefs.hh.
+
+2006-01-11 Wednesday 11:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BDS_Status.idefs.hh (1.14), BD_Shape.defs.hh (1.60),
+	  DB_Matrix.defs.hh (1.17), Linear_Row.defs.hh (1.16),
+	  Ph_Status.idefs.hh (1.14), Polyhedra_Powerset.defs.hh (1.30),
+	  Row.defs.hh (1.102): Added a few missing \ref doxygen commands.
+	  Prefer direct vs indirect inclusion of globals.defs.hh.
+
+2006-01-11 Wednesday 11:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/DB_Row.defs.hh (1.16): Spurious dot in doxygen documentation
+	  removed.
+
+2006-01-11 Wednesday 11:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref.doxyconf-html.in (1.63), devref.doxyconf-latex.in
+	  (1.6), user.doxyconf-html.in (1.33), user.doxyconf-latex.in
+	  (1.5): Expanding as predefined the macro PPL_OUTPUT_DECLARATIONS,
+	  so as to avoid warnings in the user manual and to see the
+	  documentation in the devref manual.
+
+2006-01-11 Wednesday 11:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/globals.defs.hh (1.29): The comments for output methods
+	  marked as brief comments.
+
+2006-01-11 Wednesday 02:21  Matthew Mundell
+
+	* src/: Linear_System.cc (1.37), Matrix.cc (1.91), Matrix.defs.hh
+	  (1.73), Matrix.inlines.hh (1.49): Add Matrix methods
+	  add_row(const Row&) and add_recycled_row(Row&).  Update
+	  Linear_System::add_row to use Matrix::add_row.
+
+2006-01-10 Tuesday 21:08  Matthew Mundell
+
+	* doc/ppl-config.1 (grids.1): file ppl-config.1 was added on branch
+	  grids on 2006-01-16 01:10:29 +0000
+
+2006-01-10 Tuesday 21:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl-config.1 (1.3): Improved.
+
+2006-01-10 Tuesday 21:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl-config.1 (simplex.1): file ppl-config.1 was added on
+	  branch simplex on 2006-05-08 17:15:46 +0000
+
+2006-01-10 Tuesday 21:02  Matthew Mundell
+
+	* doc/ppl_lcdd.1 (grids.1): file ppl_lcdd.1 was added on branch
+	  grids on 2006-01-16 01:10:29 +0000
+
+2006-01-10 Tuesday 21:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: Makefile.am (1.42), ppl_lcdd.1 (1.1): Added a draft man
+	  page for `ppl_lcdd'.
+
+2006-01-10 Tuesday 21:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_lcdd.1 (simplex.1): file ppl_lcdd.1 was added on branch
+	  simplex on 2006-05-08 17:15:46 +0000
+
+2006-01-10 Tuesday 21:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.54): Changed again: option
+	  --max-memory has now -R (and not -M) as its short counterpart.
+
+2006-01-10 Tuesday 20:59  Matthew Mundell
+
+	* doc/ppl_lpsol.1 (grids.1): file ppl_lpsol.1 was added on branch
+	  grids on 2006-01-16 01:10:29 +0000
+
+2006-01-10 Tuesday 20:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: Makefile.am (1.41), ppl_lpsol.1 (1.1): Added a draft man
+	  page for `ppl_lpsol'.
+
+2006-01-10 Tuesday 20:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_lpsol.1 (simplex.1): file ppl_lpsol.1 was added on branch
+	  simplex on 2006-05-08 17:15:46 +0000
+
+2006-01-10 Tuesday 20:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.28): Option --max-memory has now
+	  -R (and not -V) as its short counterpart.  New option --version
+	  (-V) prints version information on stdout.  Fixed a couple of
+	  error messages.
+
+2006-01-10 Tuesday 20:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.53): Option --max-memory has now -M
+	  (and not -V) as its short counterpart.  New option --version (-V)
+	  prints version information on stdout.  Fixed a bug in the
+	  definition of OPTION_LETTERS (-c is not available unless USE_PPL
+	  is defined).
+
+2006-01-10 Tuesday 20:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl-config.1 (1.2), src/ppl-config.cc.in (1.15): In the
+	  documentation for option --help (-h), specify that the output is
+	  written on stdout.
+
+2006-01-10 Tuesday 20:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: Makefile.am (1.40), ppl-config.1 (1.1): Added a draft man
+	  page for `ppl-config'.
+
+2006-01-10 Tuesday 18:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/utils/Makefile.am (altnum.1): file Makefile.am was added
+	  on branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-01-10 Tuesday 18:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.36), Watchdog/Makefile.am (1.25),
+	  Watchdog/src/Makefile.am (1.5), Watchdog/utils/Makefile.am (1.6),
+	  demos/Makefile.am (1.9), demos/ppl_lcdd/Makefile.am (1.22),
+	  demos/ppl_lcdd/examples/Makefile.am (1.7),
+	  demos/ppl_lpsol/Makefile.am (1.19),
+	  demos/ppl_lpsol/examples/Makefile.am (1.6), doc/Makefile.am
+	  (1.39), interfaces/Makefile.am (1.13), interfaces/C/Makefile.am
+	  (1.21), interfaces/OCaml/Makefile.am (1.12),
+	  interfaces/Prolog/Makefile.am (1.30),
+	  interfaces/Prolog/Ciao/Makefile.am (1.51),
+	  interfaces/Prolog/GNU/Makefile.am (1.51),
+	  interfaces/Prolog/SICStus/Makefile.am (1.62),
+	  interfaces/Prolog/SWI/Makefile.am (1.58),
+	  interfaces/Prolog/XSB/Makefile.am (1.40),
+	  interfaces/Prolog/YAP/Makefile.am (1.42),
+	  interfaces/Prolog/tests/Makefile.am (1.7), m4/Makefile.am (1.16),
+	  src/Makefile.am (1.136), tests/Makefile.am (1.248),
+	  tests/BD_Shape/Makefile.am (1.32), tests/Polyhedron/Makefile.am
+	  (1.43), utils/Makefile.am (1.12): Avoid providing default
+	  information that Automake does figure out by itself.
+
+2006-01-10 Tuesday 18:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl-config.cc.in (1.14): Option --interface (-I) fixed.
+
+2006-01-10 Tuesday 18:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl-config.cc.in (1.13): The --all (-Z) option has been
+	  removed.
+
+2006-01-10 Tuesday 18:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl-config.cc.in (1.12): Print usage information to stdout,
+	  not stdin.  Include information on reporting bugs in the usage
+	  information.
+
+2006-01-10 Tuesday 16:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/run_tests (1.13): If "$MAKE" is empty, define it
+	  to be "make".
+
+2006-01-10 Tuesday 16:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/LP_Problem.cc (1.12): Exploit the now available ascii_dump()
+	  method for Generator.
+
+2006-01-10 Tuesday 16:17  Matthew Mundell
+
+	* src/LP_Problem.cc (grids.1): file LP_Problem.cc was added on
+	  branch grids on 2006-01-16 01:10:33 +0000
+
+2006-01-10 Tuesday 16:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/LP_Problem.inlines.hh (1.8): Dealt with another FIXME.
+
+2006-01-10 Tuesday 16:12  Matthew Mundell
+
+	* src/LP_Problem.inlines.hh (grids.1): file LP_Problem.inlines.hh
+	  was added on branch grids on 2006-01-16 01:10:33 +0000
+
+2006-01-10 Tuesday 16:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/LP_Problem.cc (1.11): When resizing the tableau, make sure we
+	  never try to go beyond Matrix::max_num_columns().
+
+2006-01-10 Tuesday 16:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/run_tests (1.12): Allow to override the `make'
+	  command used: invoke "$MAKE" instead of "make".
+
+2006-01-10 Tuesday 15:58  Matthew Mundell
+
+	* src/: BD_Shape.inlines.hh (1.118), Constraint.cc (1.55),
+	  Constraint.defs.hh (1.114), Constraint.inlines.hh (1.62),
+	  Constraint_System.cc (1.16), Constraint_System.defs.hh (1.25),
+	  DB_Matrix.defs.hh (1.16), DB_Matrix.inlines.hh (1.24),
+	  Generator.cc (1.68), Generator.defs.hh (1.114),
+	  Generator.inlines.hh (1.59), Generator_System.cc (1.16),
+	  Generator_System.defs.hh (1.13), LP_Problem.cc (1.10),
+	  LP_Problem.defs.hh (1.6), Linear_Row.cc (1.17),
+	  Linear_Row.defs.hh (1.15), Linear_System.cc (1.36),
+	  Linear_System.defs.hh (1.22), Matrix.cc (1.90), Matrix.defs.hh
+	  (1.72), Ph_Status.cc (1.9), Ph_Status.idefs.hh (1.13),
+	  Poly_Con_Relation.cc (1.12), Poly_Con_Relation.defs.hh (1.30),
+	  Poly_Gen_Relation.cc (1.12), Poly_Gen_Relation.defs.hh (1.28),
+	  Polyhedra_Powerset.defs.hh (1.29), Polyhedra_Powerset.inlines.hh
+	  (1.37), Polyhedron.defs.hh (1.290), Polyhedron_public.cc (1.71),
+	  Row.cc (1.97), Row.defs.hh (1.101), Saturation_Matrix.cc (1.8),
+	  Saturation_Matrix.defs.hh (1.6), BDS_Status.idefs.hh (1.13),
+	  BDS_Status.inlines.hh (1.11), BD_Shape.defs.hh (1.59): Add
+	  ascii_load(istream&) and ascii_dump(ostream&) to Constraint and
+	  to Generator.  Add ascii_dump() and print() to all classes having
+	  an ascii_dump(ostream&).  Move the detailed section of the
+	  Linear_System::ascii_dump doxygen doc into the method definition.
+	  Declare Poly_Con_Relation::acsii_dump(ostream&) and
+	  Poly_Gen_Relation::ascii_dump(ostream&) public.
+
+2006-01-10 Tuesday 15:58  Matthew Mundell
+
+	* src/LP_Problem.defs.hh (grids.1): file LP_Problem.defs.hh was
+	  added on branch grids on 2006-01-16 01:10:33 +0000
+
+2006-01-10 Tuesday 15:46  Matthew Mundell
+
+	* src/globals.defs.hh (1.28): Add macros PPL_STR(s), PPL_XSTR(s),
+	  PPL_OUTPUT_DECLARATIONS, PPL_OUTPUT_DEFINITIONS(class_name),
+	  PPL_OUTPUT_DEFINITIONS_ASCII_ONLY(class_name),
+	  PPL_OUTPUT_TEMPLATE_DEFINITIONS(type_symbol, class_prefix),
+	  PPL_OUTPUT_TEMPLATE_DEFINITIONS_ASCII_ONLY(type_symbol,
+	  class_prefix).
+
+2006-01-10 Tuesday 15:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/ppl_yap.cc (1.108): Prolog_get_long()
+	  fixed.
+
+2006-01-10 Tuesday 14:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.173), interfaces/C/ppl_c.cc (1.148),
+	  interfaces/C/ppl_c.h.in (1.61): New functions added to the C
+	  interface:
+
+	    int ppl_Coefficient_is_bounded(void),
+	    int ppl_Coefficient_min(mpz_t min),
+	    int ppl_Coefficient_max(mpz_t max)
+
+	  allow C applications to obtain information about the Coefficient
+	  integer numerical type.
+
+2006-01-10 Tuesday 13:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/LP_Problem.cc (1.9): An anonymous FIXME turned into a
+	  meaningful comment.
+
+2006-01-10 Tuesday 12:37  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.25): The large integer
+	  tests for Prolog systems with bounded integers improved so that
+	  they check the maximum and minimum integers at the interface.
+
+	  The exception testing for Prolog also improved and a bug fixed
+	  when testing the Prolog_unsigned_out_of_range exception.
+
+	  The exception testing for Prolog systems with bounded integers
+	  improved. We explicitly exclude XSB from these tests as it does
+	  not throw an exception when the numbers are out-of-range.
+
+2006-01-10 Tuesday 11:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.lsm.in (1.7), ppl.spec.in (1.27): Updated.
+
+2006-01-10 Tuesday 11:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.201): Version number bumped.
+
+2006-01-09 Monday 22:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.35), config.sub (1.33), Watchdog/config.guess
+	  (1.19), Watchdog/config.sub (1.18): Updated.
+
+2006-01-09 Monday 21:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.23), Watchdog/ChangeLog (1.13): Updated.
+
+2006-01-09 Monday 21:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/ppl_xsb.cc (1.78): XSB supports only 32-bit
+	  integers: two FIXMEs resolved.
+
+2006-01-09 Monday 18:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.58): Removed a FIXME that was already
+	  dealt with.
+
+2006-01-09 Monday 14:39  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.172), interfaces/Prolog/Prolog_interface.dox (1.146),
+	  interfaces/Prolog/ppl_prolog.icc (1.169),
+	  interfaces/Prolog/Ciao/ciao_clpq.pl (1.17),
+	  interfaces/Prolog/Ciao/ciao_clpq2.pl (1.13),
+	  interfaces/Prolog/Ciao/ciao_pl_check.pl (1.18),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.85),
+	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.57),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.86),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.114),
+	  interfaces/Prolog/XSB/ppl_xsb.H (1.45),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.77),
+	  interfaces/Prolog/XSB/xsb_clpq.P (1.16),
+	  interfaces/Prolog/XSB/xsb_clpq2.P (1.14),
+	  interfaces/Prolog/XSB/xsb_pl_check.P (1.23),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.107),
+	  interfaces/Prolog/tests/clpq.pl (1.8),
+	  interfaces/Prolog/tests/clpq2.pl (1.8),
+	  interfaces/Prolog/tests/pl_check.pl (1.24):	 In the Prolog
+	  interface, the names and arities of the predicates
+	     that create handles for new polyhedra have been revised
+	     to match more closely the corresponding C and C++ interface
+	     operators.
+
+	     That is, instead of having "c" and/or "nnc" as arguments to
+	  indicate
+	     the topology of the polyhedron, the topologies are now part of
+	  the
+	     names of the predicates.
+
+	     In Prolog_interface.dox, add a link to a bug report
+	     about handling large numbers in XSB.
+
+2006-01-09 Monday 14:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/LP_Problem.inlines.hh (1.7): Definitions reordered for
+	  clarity as well as to actually allow inlining.
+
+2006-01-09 Monday 14:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BDS_Status.inlines.hh (1.10): Methods OK(), ascii_dump() and
+	  ascii_load() are no longer inlined.
+
+2006-01-09 Monday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_pchk_int16 (altnum.1): file
+	  expected_pchk_int16 was added on branch altnum on 2006-10-29
+	  19:27:05 +0000
+
+2006-01-09 Monday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_pchk_int16 (altnum.1): file
+	  expected_pchk_int16 was added on branch altnum on 2006-10-29
+	  19:27:07 +0000
+
+2006-01-09 Monday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_pchk_int16_a (altnum.1): file
+	  expected_pchk_int16_a was added on branch altnum on 2006-10-29
+	  19:27:05 +0000
+
+2006-01-09 Monday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_pchk_int16_a (altnum.1): file
+	  expected_pchk_int16_a was added on branch altnum on 2006-10-29
+	  19:27:07 +0000
+
+2006-01-09 Monday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_pchk_int32 (altnum.1): file
+	  expected_pchk_int32 was added on branch altnum on 2006-10-29
+	  19:27:05 +0000
+
+2006-01-09 Monday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_pchk_int32 (altnum.1): file
+	  expected_pchk_int32 was added on branch altnum on 2006-10-29
+	  19:27:07 +0000
+
+2006-01-09 Monday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_pchk_int32_a (altnum.1): file
+	  expected_pchk_int32_a was added on branch altnum on 2006-10-29
+	  19:27:05 +0000
+
+2006-01-09 Monday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_pchk_int32_a (altnum.1): file
+	  expected_pchk_int32_a was added on branch altnum on 2006-10-29
+	  19:27:07 +0000
+
+2006-01-09 Monday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_pchk_int64_a (altnum.1): file
+	  expected_pchk_int64_a was added on branch altnum on 2006-10-29
+	  19:27:05 +0000
+
+2006-01-09 Monday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_pchk_int64_a (altnum.1): file
+	  expected_pchk_int64_a was added on branch altnum on 2006-10-29
+	  19:27:07 +0000
+
+2006-01-09 Monday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_pchk_int8_a (altnum.1): file
+	  expected_pchk_int8_a was added on branch altnum on 2006-10-29
+	  19:27:05 +0000
+
+2006-01-09 Monday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_pchk_int8_a (altnum.1): file
+	  expected_pchk_int8_a was added on branch altnum on 2006-10-29
+	  19:27:07 +0000
+
+2006-01-09 Monday 13:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.145),
+	  XSB/expected_pchk_int16 (1.4), XSB/expected_pchk_int16_a (1.4),
+	  XSB/expected_pchk_int32 (1.4), XSB/expected_pchk_int32_a (1.4),
+	  XSB/expected_pchk_int64_a (1.3), XSB/expected_pchk_int8 (1.3),
+	  XSB/expected_pchk_int8_a (1.4), tests/expected_pchk_int16 (1.7),
+	  tests/expected_pchk_int16_a (1.7), tests/expected_pchk_int32
+	  (1.7), tests/expected_pchk_int32_a (1.7),
+	  tests/expected_pchk_int64_a (1.6), tests/expected_pchk_int8
+	  (1.7), tests/expected_pchk_int8_a (1.7), tests/pl_check.pl
+	  (1.23): The tests in pl_check.pl now continue when there is an
+	  overflow exception.  Also the tests are more careful to output in
+	  'quiet' mode as the default.
+
+	  As a result of these changes, the expected_pchk files have to be
+	  revised.
+
+	  A type fixed in Prolog_definitions.dox.
+
+2006-01-08 Sunday 22:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Linear_System.cc (1.35), src/Linear_System.defs.hh (1.21),
+	  tests/Polyhedron/gramschmidt1.cc (1.4): Method
+	  Linear_System::gram_schmidt() removed: it was buggy and not used.
+
+2006-01-08 Sunday 22:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/LP_Problem.cc (1.8): Dealt with a few FIXME's.
+
+2006-01-08 Sunday 21:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/LP_Problem.inlines.hh (1.6): A couple of FIXME's properly
+	  renamed as TODO's.
+
+2006-01-08 Sunday 18:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.169), interfaces/Prolog/Prolog_interface.dox (1.144):
+	  Improved the documentation about shared libraries and the Prolog
+	  interfaces.
+
+2006-01-08 Sunday 18:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: DB_Matrix.inlines.hh (1.23), Matrix.inlines.hh (1.48),
+	  Saturation_Matrix.inlines.hh (1.6): Two FIXME's resolved and two
+	  useless static variables removed: while it is not clear why
+	  std::vector::max_size() is not static, GCC and the Intel C++
+	  compiler do compile out all overhead (GCC starting from -O1, the
+	  Intel compiler starting from -O2).
+
+2006-01-08 Sunday 17:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Checked_Number.defs.hh (1.53), Checked_Number.inlines.hh
+	  (1.54): Constructor to build a Checked_Number from a different
+	  kind of Checked_Number marked "explicit" and made available (it
+	  was commented out).
+
+2006-01-08 Sunday 17:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.168): Parallel builds now work everywhere.
+
+2006-01-08 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/numberinput1.cc (1.22): Added a test on
+	  hexadecimal number syntax.
+
+2006-01-08 Sunday 17:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/Makefile.am (1.61): Temporarily force
+	  serialization of the tests (see
+	  http://www.cs.unipr.it/pipermail/ppl-devel/2006-January/007610.html).
+
+2006-01-08 Sunday 16:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Ciao/Makefile.am (1.50), SICStus/Makefile.am
+	  (1.60), SWI/Makefile.am (1.57): Renamed some variables.
+
+2006-01-08 Sunday 15:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/Makefile.am (1.49): Dependencies fixed.
+	  Allow the test targets to be executed in parallel.
+
+2006-01-08 Sunday 14:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Ciao/Makefile.am (1.48), SICStus/Makefile.am
+	  (1.59), SWI/Makefile.am (1.56): Added missing prerequisites.
+
+2006-01-08 Sunday 11:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.defs.hh (1.52): Useless, commented-out
+	  declaration removed.
+
+2006-01-08 Sunday 10:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.22): Added a test for
+	  exception "notan_LP_Problem_handle".
+
+2006-01-08 Sunday 08:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Row.cc (1.96): Corrected use of exact_div_assign().
+
+2006-01-08 Sunday 08:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Linear_System.cc (1.34): Corrected uses of
+	  exact_div_assign().  Repeated computation factorized.
+
+2006-01-08 Sunday 08:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/LP_Problem.cc (1.7): Corrected the uses of lcm_assign().
+
+2006-01-08 Sunday 08:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: GMP_Integer.defs.hh (1.18), GMP_Integer.inlines.hh (1.13):
+	  Removed the following redundant functions void
+	  gcd_assign(GMP_Integer& x, const GMP_Integer& y); void
+	  lcm_assign(GMP_Integer& x, const GMP_Integer& y); void
+	  exact_div_assign(GMP_Integer& x, const GMP_Integer& y); void
+	  sqrt_assign(GMP_Integer& x).
+
+2006-01-08 Sunday 08:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Checked_Number.defs.hh (1.51), Checked_Number.inlines.hh
+	  (1.53): Restored function template <typename T, typename Policy>
+	  void neg_assign(Checked_Number<T, Policy>& x) and macro
+	  DEF_ASSIGN_FUN2_1.
+
+2006-01-07 Saturday 20:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Checked_Number.defs.hh (1.50), Checked_Number.inlines.hh
+	  (1.52): The following redundant functions have been removed:
+	  template <typename T, typename Policy> void
+	  neg_assign(Checked_Number<T, Policy>& x); template <typename T,
+	  typename Policy> void gcd_assign(Checked_Number<T, Policy>& x,
+	  const Checked_Number<T, Policy>& y); template <typename T,
+	  typename Policy> void lcm_assign(Checked_Number<T, Policy>& x,
+	  const Checked_Number<T, Policy>& y); template <typename T,
+	  typename Policy> void exact_div_assign(Checked_Number<T, Policy>&
+	  x, const Checked_Number<T, Policy>& y); template <typename T,
+	  typename Policy> void sqrt_assign(Checked_Number<T, Policy>& x).
+	  No longer used macros DEF_ASSIGN_FUN2_1 and DEF_ASSIGN_FUN3_2
+	  removed as well.
+
+2006-01-06 Friday 21:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/lpproblem1.cc (simplex.2): Put under CVS
+	  control.
+
+2006-01-06 Friday 21:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* ChangeLog, Makefile.am, NEWS, README, README.configure,
+	  STANDARDS, TODO, config.guess, config.sub, configure.ac,
+	  install-sh, instchk.hh, ltmain.sh, Watchdog/ChangeLog,
+	  Watchdog/Makefile.am, Watchdog/README, Watchdog/config.guess,
+	  Watchdog/config.sub, Watchdog/configure.ac, Watchdog/install-sh,
+	  Watchdog/ltmain.sh, Watchdog/src/Doubly_Linked_Object.defs.hh,
+	  Watchdog/src/Doubly_Linked_Object.inlines.hh,
+	  Watchdog/src/Doubly_Linked_Object.types.hh,
+	  Watchdog/src/EList.defs.hh, Watchdog/src/EList.inlines.hh,
+	  Watchdog/src/EList.types.hh, Watchdog/src/EList_Iterator.defs.hh,
+	  Watchdog/src/EList_Iterator.inlines.hh,
+	  Watchdog/src/EList_Iterator.types.hh,
+	  Watchdog/src/Handler.defs.hh, Watchdog/src/Handler.inlines.hh,
+	  Watchdog/src/Handler.types.hh, Watchdog/src/Makefile.am,
+	  Watchdog/src/Pending_Element.cc,
+	  Watchdog/src/Pending_Element.defs.hh,
+	  Watchdog/src/Pending_Element.inlines.hh,
+	  Watchdog/src/Pending_Element.types.hh,
+	  Watchdog/src/Pending_List.cc, Watchdog/src/Pending_List.defs.hh,
+	  Watchdog/src/Pending_List.inlines.hh,
+	  Watchdog/src/Pending_List.types.hh, Watchdog/src/Time.cc,
+	  Watchdog/src/Time.defs.hh, Watchdog/src/Time.inlines.hh,
+	  Watchdog/src/Time.types.hh, Watchdog/src/Watchdog.cc,
+	  Watchdog/src/Watchdog.defs.hh, Watchdog/src/Watchdog.inlines.hh,
+	  Watchdog/src/Watchdog.types.hh, Watchdog/src/pwl_header.hh,
+	  Watchdog/utils/Makefile.am, Watchdog/utils/build_header.in,
+	  demos/Makefile.am, demos/ppl_lcdd/Makefile.am,
+	  demos/ppl_lcdd/ppl_lcdd.cc, demos/ppl_lcdd/examples/Makefile.am,
+	  demos/ppl_lpsol/Makefile.am, demos/ppl_lpsol/expected_int16,
+	  demos/ppl_lpsol/expected_int16_a, demos/ppl_lpsol/expected_int32,
+	  demos/ppl_lpsol/expected_int32_a, demos/ppl_lpsol/expected_int64,
+	  demos/ppl_lpsol/expected_int64_a, demos/ppl_lpsol/expected_int8,
+	  demos/ppl_lpsol/expected_int8_a, demos/ppl_lpsol/expected_mpz,
+	  demos/ppl_lpsol/expected_mpz_a, demos/ppl_lpsol/ppl_lpsol.c,
+	  demos/ppl_lpsol/examples/Makefile.am, doc/Makefile.am,
+	  doc/README.doc, doc/definitions.dox, doc/devref.doxyconf-html.in,
+	  doc/devref.doxyconf-latex.in, doc/devref.tex, doc/ppl.sty,
+	  doc/user.doxyconf-html.in, doc/user.doxyconf-latex.in,
+	  doc/user.tex, interfaces/Makefile.am, interfaces/C/Makefile.am,
+	  interfaces/C/ppl_c.cc, interfaces/C/ppl_c.h.in,
+	  interfaces/OCaml/Makefile.am, interfaces/Prolog/Makefile.am,
+	  interfaces/Prolog/Prolog_interface.dox,
+	  interfaces/Prolog/exceptions.hh,
+	  interfaces/Prolog/ppl_prolog.icc,
+	  interfaces/Prolog/track_allocation.hh,
+	  interfaces/Prolog/Ciao/Makefile.am,
+	  interfaces/Prolog/Ciao/ciao_clpq.pl,
+	  interfaces/Prolog/Ciao/ciao_clpq2.pl,
+	  interfaces/Prolog/Ciao/ciao_pl_check.pl,
+	  interfaces/Prolog/Ciao/ppl_ciao.cc,
+	  interfaces/Prolog/Ciao/ppl_ciao.pl,
+	  interfaces/Prolog/GNU/Makefile.am,
+	  interfaces/Prolog/GNU/gnu_pl_check.pl,
+	  interfaces/Prolog/GNU/gp_clpq.pl,
+	  interfaces/Prolog/GNU/ppl_gprolog.pl,
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc,
+	  interfaces/Prolog/SICStus/Makefile.am,
+	  interfaces/Prolog/SICStus/ppl_sicstus.pl,
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
+	  interfaces/Prolog/SICStus/sicstus_cfli.cc,
+	  interfaces/Prolog/SICStus/sicstus_cfli.h,
+	  interfaces/Prolog/SICStus/sicstus_cfli.ic,
+	  interfaces/Prolog/SICStus/sp_clpq.pl,
+	  interfaces/Prolog/SICStus/sp_pl_check.pl,
+	  interfaces/Prolog/SWI/Makefile.am,
+	  interfaces/Prolog/SWI/pl_clpq.cc,
+	  interfaces/Prolog/SWI/pl_clpq.pl,
+	  interfaces/Prolog/SWI/ppl_pl.cc,
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
+	  interfaces/Prolog/SWI/ppl_swiprolog.pl,
+	  interfaces/Prolog/SWI/swi_pl_check.pl,
+	  interfaces/Prolog/XSB/Makefile.am,
+	  interfaces/Prolog/XSB/expected_clpq2_int16,
+	  interfaces/Prolog/XSB/expected_clpq2_int16_a,
+	  interfaces/Prolog/XSB/expected_clpq2_int32,
+	  interfaces/Prolog/XSB/expected_clpq2_int32_a,
+	  interfaces/Prolog/XSB/expected_clpq2_int64,
+	  interfaces/Prolog/XSB/expected_clpq2_int64_a,
+	  interfaces/Prolog/XSB/expected_clpq2_int8,
+	  interfaces/Prolog/XSB/expected_clpq2_int8_a,
+	  interfaces/Prolog/XSB/expected_clpq2_mpz,
+	  interfaces/Prolog/XSB/expected_clpq2_mpz_a,
+	  interfaces/Prolog/XSB/expected_clpq_int16,
+	  interfaces/Prolog/XSB/expected_clpq_int16_a,
+	  interfaces/Prolog/XSB/expected_clpq_int32,
+	  interfaces/Prolog/XSB/expected_clpq_int32_a,
+	  interfaces/Prolog/XSB/expected_clpq_int64,
+	  interfaces/Prolog/XSB/expected_clpq_int64_a,
+	  interfaces/Prolog/XSB/expected_clpq_int8,
+	  interfaces/Prolog/XSB/expected_clpq_int8_a,
+	  interfaces/Prolog/XSB/expected_clpq_mpz,
+	  interfaces/Prolog/XSB/expected_clpq_mpz_a,
+	  interfaces/Prolog/XSB/expected_pchk_int16,
+	  interfaces/Prolog/XSB/expected_pchk_int16_a,
+	  interfaces/Prolog/XSB/expected_pchk_int32,
+	  interfaces/Prolog/XSB/expected_pchk_int32_a,
+	  interfaces/Prolog/XSB/expected_pchk_int8,
+	  interfaces/Prolog/XSB/expected_pchk_int8_a,
+	  interfaces/Prolog/XSB/ppl_xsb.H,
+	  interfaces/Prolog/XSB/ppl_xsb.cc,
+	  interfaces/Prolog/XSB/xsb_clpq.P,
+	  interfaces/Prolog/XSB/xsb_clpq2.P,
+	  interfaces/Prolog/XSB/xsb_pl_check.P,
+	  interfaces/Prolog/YAP/Makefile.am,
+	  interfaces/Prolog/YAP/ppl_yap.cc,
+	  interfaces/Prolog/YAP/ppl_yap.pl,
+	  interfaces/Prolog/YAP/yap_clpq.pl,
+	  interfaces/Prolog/YAP/yap_clpq2.pl,
+	  interfaces/Prolog/YAP/yap_pl_check.pl,
+	  interfaces/Prolog/tests/Makefile.am,
+	  interfaces/Prolog/tests/clpq.pl,
+	  interfaces/Prolog/tests/clpq2.pl,
+	  interfaces/Prolog/tests/expected_clpq2_int16,
+	  interfaces/Prolog/tests/expected_clpq2_int16_a,
+	  interfaces/Prolog/tests/expected_clpq2_int32,
+	  interfaces/Prolog/tests/expected_clpq2_int32_a,
+	  interfaces/Prolog/tests/expected_clpq2_int64,
+	  interfaces/Prolog/tests/expected_clpq2_int64_a,
+	  interfaces/Prolog/tests/expected_clpq2_int8,
+	  interfaces/Prolog/tests/expected_clpq2_int8_a,
+	  interfaces/Prolog/tests/expected_clpq2_mpz,
+	  interfaces/Prolog/tests/expected_clpq2_mpz_a,
+	  interfaces/Prolog/tests/expected_clpq_int16,
+	  interfaces/Prolog/tests/expected_clpq_int16_a,
+	  interfaces/Prolog/tests/expected_clpq_int32,
+	  interfaces/Prolog/tests/expected_clpq_int32_a,
+	  interfaces/Prolog/tests/expected_clpq_int64,
+	  interfaces/Prolog/tests/expected_clpq_int64_a,
+	  interfaces/Prolog/tests/expected_clpq_int8,
+	  interfaces/Prolog/tests/expected_clpq_int8_a,
+	  interfaces/Prolog/tests/expected_clpq_mpz,
+	  interfaces/Prolog/tests/expected_clpq_mpz_a,
+	  interfaces/Prolog/tests/expected_pchk_int16,
+	  interfaces/Prolog/tests/expected_pchk_int16_a,
+	  interfaces/Prolog/tests/expected_pchk_int32,
+	  interfaces/Prolog/tests/expected_pchk_int32_a,
+	  interfaces/Prolog/tests/expected_pchk_int64_a,
+	  interfaces/Prolog/tests/expected_pchk_int8,
+	  interfaces/Prolog/tests/expected_pchk_int8_a,
+	  interfaces/Prolog/tests/pl_check.pl, m4/Makefile.am,
+	  m4/ac_check_gmp.m4, m4/ac_check_sicstus_prolog.m4,
+	  m4/ac_check_swi_prolog.m4, m4/ac_check_xsb_prolog.m4,
+	  m4/ac_cxx_attribute_weak.m4, m4/ac_cxx_double_is_iec_559.m4,
+	  m4/ac_cxx_flexible_arrays.m4, m4/ac_cxx_float_is_iec_559.m4,
+	  m4/ac_cxx_long_double.m4, m4/ac_cxx_long_double_is_iec_559.m4,
+	  m4/ac_cxx_long_long.m4, m4/ppl.m4, src/Ask_Tell.defs.hh,
+	  src/Ask_Tell.inlines.hh, src/Ask_Tell.types.hh,
+	  src/BDS_Status.idefs.hh, src/BDS_Status.inlines.hh,
+	  src/BD_Shape.cc, src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
+	  src/BD_Shape.types.hh, src/BHRZ03_Certificate.cc,
+	  src/BHRZ03_Certificate.defs.hh,
+	  src/BHRZ03_Certificate.inlines.hh,
+	  src/BHRZ03_Certificate.types.hh, src/Bounding_Box.cc,
+	  src/Bounding_Box.defs.hh, src/Bounding_Box.inlines.hh,
+	  src/Bounding_Box.types.hh, src/C_Polyhedron.cc,
+	  src/C_Polyhedron.defs.hh, src/C_Polyhedron.inlines.hh,
+	  src/C_Polyhedron.types.hh, src/Checked_Number.cc,
+	  src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
+	  src/Checked_Number.types.hh, src/Coefficient.cc,
+	  src/Coefficient.defs.hh, src/Coefficient.inlines.hh,
+	  src/Coefficient.types.hh, src/Coefficient_traits_template.hh,
+	  src/Constraint.cc, src/Constraint.defs.hh,
+	  src/Constraint.inlines.hh, src/Constraint.types.hh,
+	  src/Constraint_System.cc, src/Constraint_System.defs.hh,
+	  src/Constraint_System.inlines.hh, src/Constraint_System.types.hh,
+	  src/DB_Matrix.defs.hh, src/DB_Matrix.inlines.hh,
+	  src/DB_Matrix.types.hh, src/DB_Row.defs.hh,
+	  src/DB_Row.inlines.hh, src/DB_Row.types.hh,
+	  src/Determinate.defs.hh, src/Determinate.inlines.hh,
+	  src/Determinate.types.hh, src/Float.cc, src/Float.defs.hh,
+	  src/Float.inlines.hh, src/GMP_Integer.defs.hh,
+	  src/GMP_Integer.inlines.hh, src/GMP_Integer.types.hh,
+	  src/Generator.cc, src/Generator.defs.hh,
+	  src/Generator.inlines.hh, src/Generator.types.hh,
+	  src/Generator_System.cc, src/Generator_System.defs.hh,
+	  src/Generator_System.inlines.hh, src/Generator_System.types.hh,
+	  src/H79_Certificate.cc, src/H79_Certificate.defs.hh,
+	  src/H79_Certificate.inlines.hh, src/H79_Certificate.types.hh,
+	  src/Init.cc, src/Init.defs.hh, src/Init.types.hh,
+	  src/Interval.cc, src/Interval.defs.hh, src/Interval.inlines.hh,
+	  src/Interval.types.hh, src/LP_Problem.cc, src/LP_Problem.defs.hh,
+	  src/LP_Problem.inlines.hh, src/LP_Problem.types.hh,
+	  src/Limits.hh, src/Linear_Expression.cc,
+	  src/Linear_Expression.defs.hh, src/Linear_Expression.inlines.hh,
+	  src/Linear_Expression.types.hh, src/Linear_Row.cc,
+	  src/Linear_Row.defs.hh, src/Linear_Row.inlines.hh,
+	  src/Linear_Row.types.hh, src/Linear_System.cc,
+	  src/Linear_System.defs.hh, src/Linear_System.inlines.hh,
+	  src/Linear_System.types.hh, src/Makefile.am, src/Matrix.cc,
+	  src/Matrix.defs.hh, src/Matrix.inlines.hh, src/Matrix.types.hh,
+	  src/NNC_Polyhedron.cc, src/NNC_Polyhedron.defs.hh,
+	  src/NNC_Polyhedron.inlines.hh, src/NNC_Polyhedron.types.hh,
+	  src/Native_Integer.defs.hh, src/Native_Integer.inlines.hh,
+	  src/Native_Integer.types.hh, src/Numeric_Format.defs.hh,
+	  src/Ph_Status.cc, src/Ph_Status.idefs.hh,
+	  src/Ph_Status.inlines.hh, src/Poly_Con_Relation.cc,
+	  src/Poly_Con_Relation.defs.hh, src/Poly_Con_Relation.inlines.hh,
+	  src/Poly_Con_Relation.types.hh, src/Poly_Gen_Relation.cc,
+	  src/Poly_Gen_Relation.defs.hh, src/Poly_Gen_Relation.inlines.hh,
+	  src/Poly_Gen_Relation.types.hh, src/Polyhedra_Powerset.cc,
+	  src/Polyhedra_Powerset.defs.hh,
+	  src/Polyhedra_Powerset.inlines.hh,
+	  src/Polyhedra_Powerset.types.hh, src/Polyhedron.defs.hh,
+	  src/Polyhedron.inlines.hh, src/Polyhedron.types.hh,
+	  src/Polyhedron_chdims.cc, src/Polyhedron_nonpublic.cc,
+	  src/Polyhedron_public.cc, src/Polyhedron_widenings.cc,
+	  src/Powerset.defs.hh, src/Powerset.inlines.hh,
+	  src/Powerset.types.hh, src/Ptr_Iterator.defs.hh,
+	  src/Ptr_Iterator.inlines.hh, src/Ptr_Iterator.types.hh,
+	  src/Result.defs.hh, src/Result.inlines.hh,
+	  src/Rounding_Dir.defs.hh, src/Rounding_Dir.inlines.hh,
+	  src/Row.cc, src/Row.defs.hh, src/Row.inlines.hh,
+	  src/Row.types.hh, src/Saturation_Matrix.cc,
+	  src/Saturation_Matrix.defs.hh, src/Saturation_Matrix.inlines.hh,
+	  src/Saturation_Matrix.types.hh, src/Saturation_Row.cc,
+	  src/Saturation_Row.defs.hh, src/Saturation_Row.inlines.hh,
+	  src/Saturation_Row.types.hh, src/Scalar_Products.cc,
+	  src/Scalar_Products.defs.hh, src/Scalar_Products.inlines.hh,
+	  src/Scalar_Products.types.hh, src/Topology.hh, src/Variable.cc,
+	  src/Variable.defs.hh, src/Variable.inlines.hh,
+	  src/Variable.types.hh, src/Widening_Function.defs.hh,
+	  src/Widening_Function.inlines.hh, src/Widening_Function.types.hh,
+	  src/algorithms.hh, src/checked.cc, src/checked.defs.hh,
+	  src/checked.inlines.hh, src/checked_ext.defs.hh,
+	  src/checked_ext.inlines.hh, src/checked_float.inlines.hh,
+	  src/checked_int.inlines.hh, src/checked_mpq.inlines.hh,
+	  src/checked_mpz.inlines.hh, src/checked_numeric_limits.hh,
+	  src/compiler.hh, src/conversion.cc, src/float.types.hh,
+	  src/fpu-c99.inlines.hh, src/fpu-ia32.inlines.hh,
+	  src/fpu-none.inlines.hh, src/fpu.defs.hh, src/globals.cc,
+	  src/globals.defs.hh, src/globals.inlines.hh,
+	  src/globals.types.hh, src/initializer.hh,
+	  src/max_space_dimension.hh, src/minimize.cc,
+	  src/mp_numeric_limits.hh, src/namespaces.hh,
+	  src/ppl-config.cc.in, src/ppl_header.hh, src/simplex.cc,
+	  src/simplify.cc, src/swapping_sort.icc, src/version.cc,
+	  src/version.hh.in, tests/BBox.cc, tests/BBox.hh,
+	  tests/Makefile.am, tests/PFunction.cc, tests/PFunction.hh,
+	  tests/Random_Number_Generator.defs.hh,
+	  tests/Random_Number_Generator.inlines.hh,
+	  tests/Random_Number_Generator.types.hh, tests/ehandlers.cc,
+	  tests/ehandlers.hh, tests/files.cc, tests/files.hh,
+	  tests/ppl_test.hh, tests/print.cc, tests/print.hh,
+	  tests/BD_Shape/Makefile.am, tests/BD_Shape/addconstraints1.cc,
+	  tests/BD_Shape/addspacedims1.cc, tests/BD_Shape/addspacedims2.cc,
+	  tests/BD_Shape/addspacedims3.cc, tests/BD_Shape/addspacedims4.cc,
+	  tests/BD_Shape/addspacedims5.cc, tests/BD_Shape/addspacedims6.cc,
+	  tests/BD_Shape/addspacedims7.cc,
+	  tests/BD_Shape/affinedimension1.cc,
+	  tests/BD_Shape/affineimage1.cc, tests/BD_Shape/affineimage10.cc,
+	  tests/BD_Shape/affineimage2.cc, tests/BD_Shape/affineimage3.cc,
+	  tests/BD_Shape/affineimage4.cc, tests/BD_Shape/affineimage5.cc,
+	  tests/BD_Shape/affineimage6.cc, tests/BD_Shape/affineimage7.cc,
+	  tests/BD_Shape/affineimage8.cc, tests/BD_Shape/affineimage9.cc,
+	  tests/BD_Shape/affinepreimage1.cc,
+	  tests/BD_Shape/affinepreimage2.cc,
+	  tests/BD_Shape/affinepreimage3.cc,
+	  tests/BD_Shape/affinepreimage4.cc,
+	  tests/BD_Shape/affinepreimage5.cc,
+	  tests/BD_Shape/ascii_dump_load1.cc,
+	  tests/BD_Shape/ascii_dump_load2.cc,
+	  tests/BD_Shape/bdsdifference1.cc,
+	  tests/BD_Shape/bdsdifference2.cc,
+	  tests/BD_Shape/bdsdifference3.cc,
+	  tests/BD_Shape/bdsdifference4.cc,
+	  tests/BD_Shape/bdsdifference5.cc,
+	  tests/BD_Shape/bdsdifference6.cc,
+	  tests/BD_Shape/bdsdifference7.cc, tests/BD_Shape/bdshull1.cc,
+	  tests/BD_Shape/bdshull2.cc, tests/BD_Shape/bdshull3.cc,
+	  tests/BD_Shape/bdshull4.cc,
+	  tests/BD_Shape/bgp99extrapolation1.cc,
+	  tests/BD_Shape/bhmz05widening1.cc,
+	  tests/BD_Shape/bhmz05widening2.cc,
+	  tests/BD_Shape/bhmz05widening3.cc,
+	  tests/BD_Shape/bhmz05widening4.cc,
+	  tests/BD_Shape/bhmz05widening5.cc,
+	  tests/BD_Shape/bhmz05widening6.cc,
+	  tests/BD_Shape/bhmz05widening7.cc,
+	  tests/BD_Shape/bhmz05widening8.cc,
+	  tests/BD_Shape/bhz03widening1.cc,
+	  tests/BD_Shape/cc76extrapolation1.cc,
+	  tests/BD_Shape/cc76extrapolation2.cc,
+	  tests/BD_Shape/cc76extrapolation3.cc,
+	  tests/BD_Shape/cc76extrapolation4.cc,
+	  tests/BD_Shape/cc76extrapolation5.cc,
+	  tests/BD_Shape/cc76extrapolation6.cc,
+	  tests/BD_Shape/cc76narrowing1.cc,
+	  tests/BD_Shape/cc76narrowing2.cc,
+	  tests/BD_Shape/cc76narrowing3.cc,
+	  tests/BD_Shape/cc76narrowing4.cc,
+	  tests/BD_Shape/cc76narrowing5.cc,
+	  tests/BD_Shape/ch78widening1.cc, tests/BD_Shape/ch78widening2.cc,
+	  tests/BD_Shape/ch78widening3.cc, tests/BD_Shape/ch78widening4.cc,
+	  tests/BD_Shape/ch78widening5.cc, tests/BD_Shape/ch78widening6.cc,
+	  tests/BD_Shape/ch78widening7.cc, tests/BD_Shape/ch78widening8.cc,
+	  tests/BD_Shape/closure1.cc, tests/BD_Shape/concatenate1.cc,
+	  tests/BD_Shape/concatenate2.cc, tests/BD_Shape/concatenate3.cc,
+	  tests/BD_Shape/concatenate4.cc, tests/BD_Shape/concatenate5.cc,
+	  tests/BD_Shape/constraints1.cc, tests/BD_Shape/constraints2.cc,
+	  tests/BD_Shape/contains1.cc, tests/BD_Shape/contains2.cc,
+	  tests/BD_Shape/contains3.cc, tests/BD_Shape/empty1.cc,
+	  tests/BD_Shape/empty2.cc, tests/BD_Shape/empty3.cc,
+	  tests/BD_Shape/empty4.cc, tests/BD_Shape/empty5.cc,
+	  tests/BD_Shape/equality1.cc, tests/BD_Shape/exceptions1.cc,
+	  tests/BD_Shape/exceptions2.cc, tests/BD_Shape/exceptions3.cc,
+	  tests/BD_Shape/fromgensys1.cc,
+	  tests/BD_Shape/generalizedaffineimage1.cc,
+	  tests/BD_Shape/generalizedaffineimage10.cc,
+	  tests/BD_Shape/generalizedaffineimage11.cc,
+	  tests/BD_Shape/generalizedaffineimage12.cc,
+	  tests/BD_Shape/generalizedaffineimage13.cc,
+	  tests/BD_Shape/generalizedaffineimage14.cc,
+	  tests/BD_Shape/generalizedaffineimage2.cc,
+	  tests/BD_Shape/generalizedaffineimage3.cc,
+	  tests/BD_Shape/generalizedaffineimage4.cc,
+	  tests/BD_Shape/generalizedaffineimage5.cc,
+	  tests/BD_Shape/generalizedaffineimage6.cc,
+	  tests/BD_Shape/generalizedaffineimage7.cc,
+	  tests/BD_Shape/generalizedaffineimage8.cc,
+	  tests/BD_Shape/generalizedaffineimage9.cc,
+	  tests/BD_Shape/generalizedaffinepreimage1.cc,
+	  tests/BD_Shape/generalizedaffinepreimage2.cc,
+	  tests/BD_Shape/geomcovers1.cc, tests/BD_Shape/h79widening1.cc,
+	  tests/BD_Shape/intersection1.cc, tests/BD_Shape/intersection2.cc,
+	  tests/BD_Shape/intersection3.cc, tests/BD_Shape/intersection4.cc,
+	  tests/BD_Shape/intersection5.cc, tests/BD_Shape/intersection6.cc,
+	  tests/BD_Shape/intersection7.cc, tests/BD_Shape/intersection8.cc,
+	  tests/BD_Shape/limitedCC76extrapolation1.cc,
+	  tests/BD_Shape/limitedCC76extrapolation2.cc,
+	  tests/BD_Shape/limitedCC76extrapolation3.cc,
+	  tests/BD_Shape/limitedCH78extrapolation1.cc,
+	  tests/BD_Shape/limitedCH78extrapolation2.cc,
+	  tests/BD_Shape/limitedCH78extrapolation3.cc,
+	  tests/BD_Shape/limitedCH78extrapolation4.cc,
+	  tests/BD_Shape/limitedCH78extrapolation5.cc,
+	  tests/BD_Shape/limitedCH78extrapolation6.cc,
+	  tests/BD_Shape/limitedCH78extrapolation7.cc,
+	  tests/BD_Shape/limitedCH78extrapolation8.cc,
+	  tests/BD_Shape/limitedCH78extrapolation9.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation1.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation2.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation3.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation4.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation5.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation6.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation7.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation8.cc,
+	  tests/BD_Shape/limitedbhmz05extrapolation9.cc,
+	  tests/BD_Shape/limitedcc76extrapolation1.cc,
+	  tests/BD_Shape/limitedcc76extrapolation2.cc,
+	  tests/BD_Shape/limitedcc76extrapolation3.cc,
+	  tests/BD_Shape/limitedh79extrapolation1.cc,
+	  tests/BD_Shape/mapspacedims1.cc, tests/BD_Shape/mapspacedims2.cc,
+	  tests/BD_Shape/mapspacedims3.cc, tests/BD_Shape/mapspacedims4.cc,
+	  tests/BD_Shape/maxspacedim.cc, tests/BD_Shape/minconstraints1.cc,
+	  tests/BD_Shape/relations1.cc, tests/BD_Shape/relations2.cc,
+	  tests/BD_Shape/relations3.cc, tests/BD_Shape/relations4.cc,
+	  tests/BD_Shape/relations5.cc, tests/BD_Shape/removespacedims1.cc,
+	  tests/BD_Shape/removespacedims2.cc,
+	  tests/BD_Shape/removespacedims3.cc, tests/BD_Shape/run_tests,
+	  tests/BD_Shape/timeelapse1.cc, tests/BD_Shape/timeelapse2.cc,
+	  tests/BD_Shape/timeelapse3.cc, tests/BD_Shape/timeelapse4.cc,
+	  tests/BD_Shape/timeelapse5.cc, tests/BD_Shape/universe1.cc,
+	  tests/BD_Shape/writebdshape1.cc, tests/BD_Shape/writebdshape2.cc,
+	  tests/Polyhedron/CbecomesNNC1.cc, tests/Polyhedron/Makefile.am,
+	  tests/Polyhedron/NNCbecomesC1.cc,
+	  tests/Polyhedron/NNCminimize1.cc,
+	  tests/Polyhedron/NNCminimize2.cc,
+	  tests/Polyhedron/NNCminimize3.cc,
+	  tests/Polyhedron/NNCminimize4.cc,
+	  tests/Polyhedron/NNCminimize5.cc,
+	  tests/Polyhedron/NNCminimize6.cc, tests/Polyhedron/README,
+	  tests/Polyhedron/addconstraint1.cc,
+	  tests/Polyhedron/addconstraint2.cc,
+	  tests/Polyhedron/addconstraint3.cc,
+	  tests/Polyhedron/addconstraints1.cc,
+	  tests/Polyhedron/addconstraints10.cc,
+	  tests/Polyhedron/addconstraints11.cc,
+	  tests/Polyhedron/addconstraints12.cc,
+	  tests/Polyhedron/addconstraints13.cc,
+	  tests/Polyhedron/addconstraints2.cc,
+	  tests/Polyhedron/addconstraints3.cc,
+	  tests/Polyhedron/addconstraints4.cc,
+	  tests/Polyhedron/addconstraints5.cc,
+	  tests/Polyhedron/addconstraints6.cc,
+	  tests/Polyhedron/addconstraints7.cc,
+	  tests/Polyhedron/addconstraints8.cc,
+	  tests/Polyhedron/addconstraints9.cc,
+	  tests/Polyhedron/addgenerator1.cc,
+	  tests/Polyhedron/addgenerator2.cc,
+	  tests/Polyhedron/addgenerator3.cc,
+	  tests/Polyhedron/addgenerator4.cc,
+	  tests/Polyhedron/addgenerator5.cc,
+	  tests/Polyhedron/addgenerators1.cc,
+	  tests/Polyhedron/addgenerators10.cc,
+	  tests/Polyhedron/addgenerators11.cc,
+	  tests/Polyhedron/addgenerators12.cc,
+	  tests/Polyhedron/addgenerators13.cc,
+	  tests/Polyhedron/addgenerators2.cc,
+	  tests/Polyhedron/addgenerators3.cc,
+	  tests/Polyhedron/addgenerators4.cc,
+	  tests/Polyhedron/addgenerators5.cc,
+	  tests/Polyhedron/addgenerators6.cc,
+	  tests/Polyhedron/addgenerators7.cc,
+	  tests/Polyhedron/addgenerators8.cc,
+	  tests/Polyhedron/addgenerators9.cc,
+	  tests/Polyhedron/addspacedims1.cc,
+	  tests/Polyhedron/addspacedims10.cc,
+	  tests/Polyhedron/addspacedims11.cc,
+	  tests/Polyhedron/addspacedims12.cc,
+	  tests/Polyhedron/addspacedims13.cc,
+	  tests/Polyhedron/addspacedims2.cc,
+	  tests/Polyhedron/addspacedims3.cc,
+	  tests/Polyhedron/addspacedims4.cc,
+	  tests/Polyhedron/addspacedims5.cc,
+	  tests/Polyhedron/addspacedims6.cc,
+	  tests/Polyhedron/addspacedims7.cc,
+	  tests/Polyhedron/addspacedims8.cc,
+	  tests/Polyhedron/addspacedims9.cc,
+	  tests/Polyhedron/affineimage1.cc,
+	  tests/Polyhedron/affineimage2.cc,
+	  tests/Polyhedron/affineimage3.cc,
+	  tests/Polyhedron/affineimage4.cc,
+	  tests/Polyhedron/affineimage5.cc,
+	  tests/Polyhedron/affineimage6.cc,
+	  tests/Polyhedron/affineimage7.cc,
+	  tests/Polyhedron/affineimage8.cc,
+	  tests/Polyhedron/affineimage9.cc,
+	  tests/Polyhedron/affinepreimage1.cc,
+	  tests/Polyhedron/affinepreimage10.cc,
+	  tests/Polyhedron/affinepreimage11.cc,
+	  tests/Polyhedron/affinepreimage2.cc,
+	  tests/Polyhedron/affinepreimage3.cc,
+	  tests/Polyhedron/affinepreimage4.cc,
+	  tests/Polyhedron/affinepreimage5.cc,
+	  tests/Polyhedron/affinepreimage6.cc,
+	  tests/Polyhedron/affinepreimage7.cc,
+	  tests/Polyhedron/affinepreimage8.cc,
+	  tests/Polyhedron/affinepreimage9.cc,
+	  tests/Polyhedron/affinetrans.cc, tests/Polyhedron/append1.cc,
+	  tests/Polyhedron/append2.cc,
+	  tests/Polyhedron/ascii_dump_load1.cc,
+	  tests/Polyhedron/ascii_dump_load2.cc,
+	  tests/Polyhedron/ascii_dump_load3.cc,
+	  tests/Polyhedron/ascii_dump_load4.cc,
+	  tests/Polyhedron/ascii_dump_load5.cc,
+	  tests/Polyhedron/ascii_dump_load6.cc,
+	  tests/Polyhedron/ascii_dump_load7.cc,
+	  tests/Polyhedron/bgp99extrapolation1.cc,
+	  tests/Polyhedron/bgp99extrapolation2.cc,
+	  tests/Polyhedron/bhrz03widening1.cc,
+	  tests/Polyhedron/bhrz03widening10.cc,
+	  tests/Polyhedron/bhrz03widening11.cc,
+	  tests/Polyhedron/bhrz03widening12.cc,
+	  tests/Polyhedron/bhrz03widening13.cc,
+	  tests/Polyhedron/bhrz03widening14.cc,
+	  tests/Polyhedron/bhrz03widening15.cc,
+	  tests/Polyhedron/bhrz03widening16.cc,
+	  tests/Polyhedron/bhrz03widening17.cc,
+	  tests/Polyhedron/bhrz03widening18.cc,
+	  tests/Polyhedron/bhrz03widening19.cc,
+	  tests/Polyhedron/bhrz03widening2.cc,
+	  tests/Polyhedron/bhrz03widening3.cc,
+	  tests/Polyhedron/bhrz03widening4.cc,
+	  tests/Polyhedron/bhrz03widening5.cc,
+	  tests/Polyhedron/bhrz03widening6.cc,
+	  tests/Polyhedron/bhrz03widening7.cc,
+	  tests/Polyhedron/bhrz03widening8.cc,
+	  tests/Polyhedron/bhrz03widening9.cc,
+	  tests/Polyhedron/bhz03widening1.cc,
+	  tests/Polyhedron/bhz03widening2.cc,
+	  tests/Polyhedron/bhz03widening3.cc,
+	  tests/Polyhedron/bhz03widening4.cc,
+	  tests/Polyhedron/bhz03widening5.cc,
+	  tests/Polyhedron/bhz03widening6.cc, tests/Polyhedron/bounded1.cc,
+	  tests/Polyhedron/boundedaffineimage1.cc,
+	  tests/Polyhedron/boundedaffineimage2.cc,
+	  tests/Polyhedron/boundedaffineimage3.cc,
+	  tests/Polyhedron/boundedaffinepreimage1.cc,
+	  tests/Polyhedron/boundedaffinepreimage2.cc,
+	  tests/Polyhedron/boundedaffinepreimage3.cc,
+	  tests/Polyhedron/boundedbhrz03extrapolation1.cc,
+	  tests/Polyhedron/boundedh79extrapolation1.cc,
+	  tests/Polyhedron/boundingbox1.cc,
+	  tests/Polyhedron/boundingbox2.cc,
+	  tests/Polyhedron/boundingbox3.cc,
+	  tests/Polyhedron/boundingbox4.cc,
+	  tests/Polyhedron/boundingbox5.cc, tests/Polyhedron/bounds1.cc,
+	  tests/Polyhedron/bounds2.cc, tests/Polyhedron/bug2.cc,
+	  tests/Polyhedron/concatenate1.cc,
+	  tests/Polyhedron/concatenate2.cc,
+	  tests/Polyhedron/concatenate3.cc,
+	  tests/Polyhedron/concatenate4.cc,
+	  tests/Polyhedron/concatenate5.cc,
+	  tests/Polyhedron/concatenate6.cc,
+	  tests/Polyhedron/concatenate7.cc,
+	  tests/Polyhedron/constraints1.cc,
+	  tests/Polyhedron/constraints2.cc,
+	  tests/Polyhedron/constraints3.cc,
+	  tests/Polyhedron/constraints4.cc,
+	  tests/Polyhedron/constraints5.cc, tests/Polyhedron/contains1.cc,
+	  tests/Polyhedron/contains2.cc, tests/Polyhedron/contains3.cc,
+	  tests/Polyhedron/contains4.cc, tests/Polyhedron/contains5.cc,
+	  tests/Polyhedron/disjoint1.cc, tests/Polyhedron/disjoint2.cc,
+	  tests/Polyhedron/disjoint3.cc,
+	  tests/Polyhedron/dualhypercubes.cc, tests/Polyhedron/empty1.cc,
+	  tests/Polyhedron/equals1.cc, tests/Polyhedron/exceptions1.cc,
+	  tests/Polyhedron/exceptions2.cc, tests/Polyhedron/exceptions3.cc,
+	  tests/Polyhedron/expandspacedim1.cc,
+	  tests/Polyhedron/expandspacedim2.cc,
+	  tests/Polyhedron/foldspacedims1.cc,
+	  tests/Polyhedron/foldspacedims2.cc,
+	  tests/Polyhedron/generalizedaffineimage1.cc,
+	  tests/Polyhedron/generalizedaffineimage10.cc,
+	  tests/Polyhedron/generalizedaffineimage11.cc,
+	  tests/Polyhedron/generalizedaffineimage12.cc,
+	  tests/Polyhedron/generalizedaffineimage13.cc,
+	  tests/Polyhedron/generalizedaffineimage14.cc,
+	  tests/Polyhedron/generalizedaffineimage2.cc,
+	  tests/Polyhedron/generalizedaffineimage3.cc,
+	  tests/Polyhedron/generalizedaffineimage4.cc,
+	  tests/Polyhedron/generalizedaffineimage5.cc,
+	  tests/Polyhedron/generalizedaffineimage6.cc,
+	  tests/Polyhedron/generalizedaffineimage7.cc,
+	  tests/Polyhedron/generalizedaffineimage8.cc,
+	  tests/Polyhedron/generalizedaffineimage9.cc,
+	  tests/Polyhedron/generalizedaffinepreimage1.cc,
+	  tests/Polyhedron/generalizedaffinepreimage2.cc,
+	  tests/Polyhedron/generalizedaffinepreimage3.cc,
+	  tests/Polyhedron/generalizedaffinepreimage4.cc,
+	  tests/Polyhedron/generators1.cc, tests/Polyhedron/generators2.cc,
+	  tests/Polyhedron/generators3.cc, tests/Polyhedron/generators4.cc,
+	  tests/Polyhedron/generators5.cc, tests/Polyhedron/generators6.cc,
+	  tests/Polyhedron/generators7.cc, tests/Polyhedron/geomcovers1.cc,
+	  tests/Polyhedron/gramschmidt1.cc,
+	  tests/Polyhedron/h79widening1.cc,
+	  tests/Polyhedron/h79widening2.cc,
+	  tests/Polyhedron/h79widening3.cc,
+	  tests/Polyhedron/h79widening4.cc,
+	  tests/Polyhedron/h79widening5.cc,
+	  tests/Polyhedron/h79widening6.cc,
+	  tests/Polyhedron/h79widening7.cc,
+	  tests/Polyhedron/h79widening8.cc,
+	  tests/Polyhedron/intersection1.cc,
+	  tests/Polyhedron/intersection10.cc,
+	  tests/Polyhedron/intersection11.cc,
+	  tests/Polyhedron/intersection2.cc,
+	  tests/Polyhedron/intersection3.cc,
+	  tests/Polyhedron/intersection4.cc,
+	  tests/Polyhedron/intersection5.cc,
+	  tests/Polyhedron/intersection6.cc,
+	  tests/Polyhedron/intersection7.cc,
+	  tests/Polyhedron/intersection8.cc,
+	  tests/Polyhedron/intersection9.cc,
+	  tests/Polyhedron/limitedbhrz03extrapolation1.cc,
+	  tests/Polyhedron/limitedh79extrapolation1.cc,
+	  tests/Polyhedron/limitedh79extrapolation2.cc,
+	  tests/Polyhedron/limitedh79extrapolation3.cc,
+	  tests/Polyhedron/limitedh79extrapolation4.cc,
+	  tests/Polyhedron/linearpartition1.cc,
+	  tests/Polyhedron/linearpartition2.cc,
+	  tests/Polyhedron/linearpartition3.cc,
+	  tests/Polyhedron/linearpartition4.cc,
+	  tests/Polyhedron/linearsystem1.cc,
+	  tests/Polyhedron/linexpression1.cc,
+	  tests/Polyhedron/lpproblem2.cc,
+	  tests/Polyhedron/mapspacedims1.cc,
+	  tests/Polyhedron/mapspacedims2.cc,
+	  tests/Polyhedron/mapspacedims3.cc,
+	  tests/Polyhedron/mapspacedims4.cc, tests/Polyhedron/matrix1.cc,
+	  tests/Polyhedron/max_min1.cc, tests/Polyhedron/max_min2.cc,
+	  tests/Polyhedron/maxspacedim1.cc, tests/Polyhedron/mc91.cc,
+	  tests/Polyhedron/membytes1.cc, tests/Polyhedron/membytes2.cc,
+	  tests/Polyhedron/memory1.cc, tests/Polyhedron/memory2.cc,
+	  tests/Polyhedron/minconstraints1.cc,
+	  tests/Polyhedron/minconstraints2.cc,
+	  tests/Polyhedron/minconstraints3.cc,
+	  tests/Polyhedron/minconstraints4.cc,
+	  tests/Polyhedron/mingenerators1.cc,
+	  tests/Polyhedron/mingenerators2.cc,
+	  tests/Polyhedron/mingenerators3.cc,
+	  tests/Polyhedron/numberinput1.cc, tests/Polyhedron/onepoint.cc,
+	  tests/Polyhedron/permute.cc, tests/Polyhedron/polydifference1.cc,
+	  tests/Polyhedron/polydifference2.cc,
+	  tests/Polyhedron/polydifference3.cc,
+	  tests/Polyhedron/polydifference4.cc,
+	  tests/Polyhedron/polydifference5.cc,
+	  tests/Polyhedron/polydifference6.cc,
+	  tests/Polyhedron/polydifference7.cc,
+	  tests/Polyhedron/polydifference8.cc,
+	  tests/Polyhedron/polydifference9.cc,
+	  tests/Polyhedron/polyhull1.cc, tests/Polyhedron/polyhull10.cc,
+	  tests/Polyhedron/polyhull11.cc, tests/Polyhedron/polyhull2.cc,
+	  tests/Polyhedron/polyhull3.cc, tests/Polyhedron/polyhull4.cc,
+	  tests/Polyhedron/polyhull5.cc, tests/Polyhedron/polyhull6.cc,
+	  tests/Polyhedron/polyhull7.cc, tests/Polyhedron/polyhull8.cc,
+	  tests/Polyhedron/polyhull9.cc, tests/Polyhedron/polypowerset1.cc,
+	  tests/Polyhedron/powerset1.cc,
+	  tests/Polyhedron/primalsimplex1.cc,
+	  tests/Polyhedron/primalsimplex2.cc,
+	  tests/Polyhedron/randphull1.cc, tests/Polyhedron/randphull2.cc,
+	  tests/Polyhedron/relations1.cc, tests/Polyhedron/relations10.cc,
+	  tests/Polyhedron/relations11.cc, tests/Polyhedron/relations12.cc,
+	  tests/Polyhedron/relations13.cc, tests/Polyhedron/relations14.cc,
+	  tests/Polyhedron/relations15.cc, tests/Polyhedron/relations16.cc,
+	  tests/Polyhedron/relations17.cc, tests/Polyhedron/relations18.cc,
+	  tests/Polyhedron/relations19.cc, tests/Polyhedron/relations2.cc,
+	  tests/Polyhedron/relations3.cc, tests/Polyhedron/relations4.cc,
+	  tests/Polyhedron/relations5.cc, tests/Polyhedron/relations6.cc,
+	  tests/Polyhedron/relations7.cc, tests/Polyhedron/relations8.cc,
+	  tests/Polyhedron/relations9.cc,
+	  tests/Polyhedron/removespacedims1.cc,
+	  tests/Polyhedron/removespacedims10.cc,
+	  tests/Polyhedron/removespacedims2.cc,
+	  tests/Polyhedron/removespacedims3.cc,
+	  tests/Polyhedron/removespacedims4.cc,
+	  tests/Polyhedron/removespacedims5.cc,
+	  tests/Polyhedron/removespacedims6.cc,
+	  tests/Polyhedron/removespacedims7.cc,
+	  tests/Polyhedron/removespacedims8.cc,
+	  tests/Polyhedron/removespacedims9.cc, tests/Polyhedron/smm1.cc,
+	  tests/Polyhedron/timeelapse1.cc, tests/Polyhedron/timeelapse2.cc,
+	  tests/Polyhedron/timeelapse3.cc, tests/Polyhedron/timeelapse4.cc,
+	  tests/Polyhedron/timeelapse5.cc, tests/Polyhedron/timeelapse6.cc,
+	  tests/Polyhedron/timeelapse7.cc, tests/Polyhedron/timeelapse8.cc,
+	  tests/Polyhedron/timeelapse9.cc, tests/Polyhedron/topclosed1.cc,
+	  tests/Polyhedron/topclosed2.cc, tests/Polyhedron/topclosed3.cc,
+	  tests/Polyhedron/topclosure1.cc, tests/Polyhedron/topclosure2.cc,
+	  tests/Polyhedron/topclosure3.cc, tests/Polyhedron/topclosure4.cc,
+	  tests/Polyhedron/universe1.cc, tests/Polyhedron/universe2.cc,
+	  tests/Polyhedron/universe3.cc, tests/Polyhedron/universe4.cc,
+	  tests/Polyhedron/universe5.cc, tests/Polyhedron/universe6.cc,
+	  tests/Polyhedron/universe7.cc, tests/Polyhedron/watchdog1.cc,
+	  tests/Polyhedron/writeconsys1.cc,
+	  tests/Polyhedron/writegensys1.cc,
+	  tests/Polyhedron/writegensys2.cc,
+	  tests/Polyhedron/writegensys3.cc,
+	  tests/Polyhedron/writepolyhedron1.cc,
+	  tests/Polyhedron/writepolyhedron2.cc,
+	  tests/Polyhedron/writepolyhedron3.cc,
+	  tests/Polyhedron/writerelation1.cc,
+	  tests/Polyhedron/writevariable1.cc, utils/Makefile.am,
+	  utils/build_header.in, utils/text2cxxarray.in, utils/timings.cc,
+	  utils/timings.hh
+	  (simplex.[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,2,1,1,1,1,1,1,1,1,4,4,1,1,3,2,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,4,1,1,1,1,1,1 [...]
+	  First merge from the main trunk.
+
+2006-01-06 Friday 19:20  Matthew Mundell
+
+	* src/: Congruence.cc, Congruence.defs.hh, Congruence.inlines.hh,
+	  Congruence.types.hh, Congruence_System.cc,
+	  Congruence_System.defs.hh, Congruence_System.inlines.hh,
+	  Congruence_System.types.hh, Grid.defs.hh, Grid.inlines.hh,
+	  Grid.types.hh, Grid_Certificate.cc, Grid_Certificate.defs.hh,
+	  Grid_Certificate.inlines.hh, Grid_Certificate.types.hh,
+	  Grid_Generator.defs.hh, Grid_Generator.inlines.hh,
+	  Grid_Generator.types.hh, Grid_Generator_System.cc,
+	  Grid_Generator_System.defs.hh, Grid_Generator_System.inlines.hh,
+	  Grid_Generator_System.types.hh, Grid_Status.cc,
+	  Grid_Status.idefs.hh, Grid_Status.inlines.hh, Grid_chdims.cc,
+	  Grid_conversion.cc, Grid_minimize.cc, Grid_nonpublic.cc,
+	  Grid_public.cc, Grid_simplify.cc, Grid_widenings.cc
+	  (grids.[19,35,20,2,39,25,13,2,93,52,2,9,3,2,2,21,16,2,26,19,11,2,5,6,4,30,33,25,67,130,44,11]):
+	  Update copyright year.
+
+2006-01-06 Friday 18:44  Matthew Mundell
+
+	* src/Matrix.defs.hh (grids.7): Take out old grid includes and
+	  declaration.
+
+2006-01-06 Friday 18:13  Matthew Mundell
+
+	* src/: Congruence.defs.hh, Congruence_System.defs.hh,
+	  Grid.defs.hh, Grid_Certificate.defs.hh, Grid_Generator.defs.hh,
+	  Grid_Generator_System.defs.hh, Grid_Status.idefs.hh
+	  (grids.[34,24,92,2,20,18,5]): Update the format of brief comments
+	  to the new standard.
+
+2006-01-06 Friday 08:53  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.21): Added a comment
+	  explaining the large number tests.  Revised the catch code for
+	  the ppl_overflow_error exception.  Reordered tests so that when
+	  there is an expected overflow exception, more tests are done
+	  before that.
+
+	  Other minor changes.
+
+2006-01-05 Thursday 21:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/expected_pchk_int64_a (1.5): Restore
+	  expected output.
+
+2006-01-05 Thursday 19:45  Matthew Mundell
+
+	* src/Grid_public.cc (grids.129): Leave the modulus handling as it
+	  is in the inverse relation case of
+	  generalized_affine_preimage(var..).
+
+2006-01-05 Thursday 18:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/: expected_pchk_int16 (1.6),
+	  expected_pchk_int16_a (1.6), expected_pchk_int32 (1.6),
+	  expected_pchk_int32_a (1.6), expected_pchk_int64 (1.3),
+	  expected_pchk_int64_a (1.4), expected_pchk_int8 (1.6),
+	  expected_pchk_int8_a (1.6), pl_check.pl (1.20): Revised expected
+	  files and avoid error message when there is an overflow exception
+	  for the large numbers in the C++.
+
+2006-01-05 Thursday 18:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_pchk_int64 (altnum.1): file
+	  expected_pchk_int64 was added on branch altnum on 2006-10-29
+	  19:27:07 +0000
+
+2006-01-05 Thursday 17:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/ppl_yap.cc (1.106): Fixed
+	  integer_term_to_Coefficient().
+
+2006-01-05 Thursday 17:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/ppl_yap.cc (1.105): Prolog_is_integer()
+	  updated to support the newest versions of YAP.
+
+2006-01-05 Thursday 13:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/: expected_pchk_int16 (1.5),
+	  expected_pchk_int16_a (1.5), expected_pchk_int32 (1.5),
+	  expected_pchk_int32_a (1.5), expected_pchk_int64 (1.2),
+	  expected_pchk_int64_a (1.3): Revised expected results for
+	  pl_check to allow for tests for large numbers.
+
+2006-01-05 Thursday 11:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/: expected_pchk_int8 (1.5),
+	  expected_pchk_int8_a (1.5): Updated expected results for the
+	  large number tests.
+
+2006-01-05 Thursday 11:16  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Ciao/ciao_pl_check.pl (1.17),
+	  GNU/gnu_pl_check.pl (1.8), SICStus/sp_pl_check.pl (1.6),
+	  SWI/swi_pl_check.pl (1.7), XSB/xsb_pl_check.P (1.22),
+	  YAP/yap_pl_check.pl (1.10), tests/pl_check.pl (1.19): Added to
+	  the system dependent files prolog_system(...).
+
+	  Added tests to pl_check.pl for testing large numbers.  When
+	  prolog_system(xsb) holds, these tests are omitted.
+
+	  Bugs in maximize and minimize test code fixed.  typo in exception
+	  message fixed.
+
+2006-01-05 Thursday 10:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.143), YAP/ppl_yap.cc
+	  (1.104): Use (and require) the new YAP interface for arbitrary
+	  precision integers.
+
+2006-01-05 Thursday 00:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/LP_Problem.cc (simplex.16): Added a few calls to ascii_dump()
+	  in the OK method to help in debugging.  Corrected a bug in
+	  incremental() whereby an illegal dim_map was built.  Corrected
+	  another bug whereby last_generator was not updated.
+
+2006-01-04 Wednesday 22:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/ppl_yap.cc (1.103): Use a single temporary
+	  mpz_class object.  Added a missing test to
+	  Coefficient_to_integer_term().  Use direct assignment instead of
+	  assign_r() in integer_term_to_Coefficient().
+
+2006-01-04 Wednesday 22:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/ppl_swiprolog.cc (1.113): Removed an
+	  inclusion and a using declaration probably left there after a
+	  debugging session.  Use a single temporary mpz_class object.
+
+2006-01-04 Wednesday 17:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Limits.hh (1.9): Fixed indentation of a line.
+
+2006-01-04 Wednesday 14:43  Andrea Cimino
+
+	* src/: LP_Problem.cc, LP_Problem.defs.hh, LP_Problem.inlines.hh
+	  (simplex.[15,14,15]): Restored last changes made by Enea, were
+	  removed by mistake.  Added a FIXME about incrementality and the
+	  default constructor.
+
+2006-01-04 Wednesday 12:57  Andrea Cimino
+
+	* src/: Constraint.defs.hh, LP_Problem.cc, LP_Problem.defs.hh,
+	  LP_Problem.inlines.hh (simplex.[1,14,13,14]): Added experimental
+	  code for incrementality.  Backported some changes from the main
+	  trunk.  Added a modified version of `ascii_dump' for testing
+	  purposes.  LP_Problem made friend of Constraint to allow
+	  compiling.
+
+2006-01-03 Tuesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Linear_Expression.cc (1.9): Print objects of type Coefficient
+	  as such, not as objects of some other type.
+
+2006-01-03 Tuesday 20:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.defs.hh (1.49): Added a draft input syntax to
+	  the input function for checked numbers: template <typename T,
+	  typename Policy> Result input(std::istream& is, Checked_Number<T,
+	  Policy>& x, Rounding_Dir dir).
+
+2006-01-03 Tuesday 20:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Constraint_System.defs.hh (1.24), Linear_Expression.defs.hh
+	  (1.18): Comments improved.
+
+2006-01-03 Tuesday 18:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/ppl_swiprolog.cc (1.112): Return directly
+	  the temporary Coefficeint object.
+
+2006-01-03 Tuesday 18:37  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.142): Corrected a typo.
+
+2006-01-03 Tuesday 16:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/ppl_swiprolog.cc (1.111): Tentative
+	  correction of a bug in the conversion from SWI Prolog unbounded
+	  coefficients to PPL's (checked bounded integers) Coefficient.
+
+2006-01-03 Tuesday 16:43  Matthew Mundell
+
+	* tests/Grid/intersection1.cc (grids.8): Replace the Variables in
+	  the tests with common Variables in a local namespace.
+
+2006-01-03 Tuesday 16:40  Matthew Mundell
+
+	* tests/Grid/affinepreimage1.cc (grids.10): Add two simple tests.
+
+2006-01-03 Tuesday 16:36  Matthew Mundell
+
+	* src/Grid_public.cc (grids.128): Take the empty flag query out of
+	  add_recycled_generators.
+
+2006-01-03 Tuesday 16:35  Matthew Mundell
+
+	* src/Grid_nonpublic.cc (grids.66): Note possible improvements to
+	  the empty cases in the construct methods.
+
+2006-01-03 Tuesday 16:34  Matthew Mundell
+
+	* src/Grid_Generator_System.inlines.hh (grids.10): Add sortedness
+	  and pending row settings to method `clear'.
+
+2006-01-03 Tuesday 16:32  Matthew Mundell
+
+	* src/Grid_Generator.defs.hh (grids.19): Move the
+	  writable-reference-returning divisor method to the private
+	  section.  Improve the comment on the need for the Grid class
+	  friend declaration.
+
+2006-01-03 Tuesday 16:29  Matthew Mundell
+
+	* src/Grid.inlines.hh (grids.51): Update map_space_dimensions to
+	  create the point with the correct divisor when inserting a point,
+	  instead of inserting the point and then adjusting the divisor.
+
+2006-01-03 Tuesday 16:27  Matthew Mundell
+
+	* src/Congruence_System.defs.hh (grids.23): Add a note to consider
+	  adding a recycling_insert method.
+
+2006-01-03 Tuesday 16:26  Matthew Mundell
+
+	* src/Congruence.defs.hh (grids.33): Move the
+	  writable-reference-returning modulus method to the private
+	  section.  Improve two comments a little.
+
+2006-01-03 Tuesday 16:25  Matthew Mundell
+
+	* src/Congruence.cc (grids.18): Update strong_normalize to use
+	  Row::normalize.
+
+2006-01-03 Tuesday 15:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.141): Added
+	  documentation for the LP Problem predicates.
+
+2006-01-02 Monday 14:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.167): Removed a couple of items that have been dealt
+	  with.
+
+2006-01-02 Monday 14:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/: expected_int16 (1.4), expected_int16_a (1.4),
+	  expected_int32 (1.5), expected_int32_a (1.5), expected_int64
+	  (1.5), expected_int64_a (1.5), expected_int8 (1.4),
+	  expected_int8_a (1.3), expected_mpz (1.6), expected_mpz_a (1.6):
+	  Updated to take into account the addition of tests for the
+	  simplex method and the removal of option -v.
+
+2006-01-02 Monday 14:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/Makefile.am (1.18): Do explicitly use option -e
+	  when requiring the enumeration method.
+
+2006-01-02 Monday 14:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.27): Let the option -e be working
+	  as expected.
+
+2006-01-02 Monday 11:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked.cc (1.14): Function parse_number1() renamed
+	  parse_number_part().
+
+2006-01-02 Monday 11:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/exceptions2.cc (1.8): Added tests for
+	  excericising the exceptions generated by LP_Problem.
+
+2006-01-02 Monday 11:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked.cc (1.13): Comments for parse_number() and
+	  parse_number1() revised.
+
+2006-01-02 Monday 11:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Makefile.am (1.135): Added globals.types.hh to the
+	  documentation files.
+
+2006-01-02 Monday 11:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: LP_Problem.cc (1.6), LP_Problem.defs.hh (1.5): Added and
+	  implemented exception specification for
+	  evaluate_objective_function().
+
+2006-01-02 Monday 10:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked.cc (1.12): Functions get_digit() and sum_sign()
+	  properly commented.
+
+2006-01-02 Monday 10:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/numberinput1.cc (1.21): Got rid of (non-working
+	  and too expensive) tests for large exponents.
+
+2006-01-02 Monday 09:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/generalizedaffinepreimage1.cc (simplex.1): file
+	  generalizedaffinepreimage1.cc was added on branch simplex on
+	  2006-01-06 20:00:55 +0000
+
+2006-01-02 Monday 09:36  Matthew Mundell
+
+	* tests/BD_Shape/generalizedaffinepreimage1.cc (grids.1): file
+	  generalizedaffinepreimage1.cc was added on branch grids on
+	  2006-01-16 01:10:39 +0000
+
+2006-01-02 Monday 09:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/generalizedaffinepreimage1.cc (1.6): If (and only
+	  if) the Coefficient type is not wide enough, test10() does
+	  nothing.
+
+2006-01-02 Monday 00:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: LP_Problem.cc (1.5), LP_Problem.inlines.hh (1.5): Drafted
+	  implementations for total_ and external_memory_in_bytes() and for
+	  ascii_dump().
+
+2006-01-01 Sunday 23:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.18): Many improvements to
+	  LP_Problem tests.
+
+2006-01-01 Sunday 22:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* Watchdog/src/EList.defs.hh (1.3),
+	  Watchdog/src/Pending_List.defs.hh (1.3),
+	  Watchdog/src/Time.defs.hh (1.3), src/version.hh.in (1.13): Do
+	  adopt the new format for multiline brief doxygen documentation.
+
+2006-01-01 Sunday 22:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Pending_List.defs.hh (altnum.1): file
+	  Pending_List.defs.hh was added on branch altnum on 2006-10-29
+	  19:26:51 +0000
+
+2006-01-01 Sunday 22:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Time.defs.hh (altnum.1): file Time.defs.hh was added
+	  on branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 22:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/generalizedaffinepreimage1.cc (1.5): Temporarily
+	  disabled test10().
+
+2006-01-01 Sunday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_clpq2_int32_a (altnum.1): file
+	  expected_clpq2_int32_a was added on branch altnum on 2006-10-29
+	  19:27:07 +0000
+
+2006-01-01 Sunday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_clpq2_int8 (altnum.1): file
+	  expected_clpq2_int8 was added on branch altnum on 2006-10-29
+	  19:27:07 +0000
+
+2006-01-01 Sunday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_clpq2_int8_a (altnum.1): file
+	  expected_clpq2_int8_a was added on branch altnum on 2006-10-29
+	  19:27:07 +0000
+
+2006-01-01 Sunday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_clpq_int16 (altnum.1): file
+	  expected_clpq_int16 was added on branch altnum on 2006-10-29
+	  19:27:07 +0000
+
+2006-01-01 Sunday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_clpq_int16_a (altnum.1): file
+	  expected_clpq_int16_a was added on branch altnum on 2006-10-29
+	  19:27:07 +0000
+
+2006-01-01 Sunday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: XSB/expected_clpq2_int32_a (1.4),
+	  XSB/expected_clpq2_int8 (1.3), XSB/expected_clpq2_int8_a (1.4),
+	  XSB/expected_clpq_int16 (1.4), XSB/expected_clpq_int16_a (1.4),
+	  XSB/expected_pchk_int16 (1.3), XSB/expected_pchk_int16_a (1.3),
+	  XSB/expected_pchk_int32 (1.3), XSB/expected_pchk_int32_a (1.3),
+	  XSB/expected_pchk_int8 (1.2), XSB/expected_pchk_int8_a (1.3),
+	  tests/expected_clpq2_int32_a (1.4), tests/expected_clpq2_int8
+	  (1.4), tests/expected_clpq2_int8_a (1.4),
+	  tests/expected_clpq_int16 (1.4), tests/expected_clpq_int16_a
+	  (1.4), tests/expected_pchk_int16 (1.4),
+	  tests/expected_pchk_int16_a (1.4), tests/expected_pchk_int32
+	  (1.4), tests/expected_pchk_int32_a (1.4),
+	  tests/expected_pchk_int8 (1.4), tests/expected_pchk_int8_a (1.4):
+	  Adapted to recent changes in the implementation of checked
+	  numbers.
+
+2006-01-01 Sunday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq2_int32_a (altnum.1): file
+	  expected_clpq2_int32_a was added on branch altnum on 2006-10-29
+	  19:27:05 +0000
+
+2006-01-01 Sunday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq2_int8 (altnum.1): file
+	  expected_clpq2_int8 was added on branch altnum on 2006-10-29
+	  19:27:05 +0000
+
+2006-01-01 Sunday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq2_int8_a (altnum.1): file
+	  expected_clpq2_int8_a was added on branch altnum on 2006-10-29
+	  19:27:05 +0000
+
+2006-01-01 Sunday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq_int16 (altnum.1): file
+	  expected_clpq_int16 was added on branch altnum on 2006-10-29
+	  19:27:05 +0000
+
+2006-01-01 Sunday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq_int16_a (altnum.1): file
+	  expected_clpq_int16_a was added on branch altnum on 2006-10-29
+	  19:27:05 +0000
+
+2006-01-01 Sunday 19:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.166), src/Ask_Tell.defs.hh (1.8), src/BDS_Status.idefs.hh
+	  (1.12), src/BHRZ03_Certificate.defs.hh (1.14),
+	  src/Bounding_Box.defs.hh (1.12), src/C_Polyhedron.defs.hh (1.39),
+	  src/Checked_Number.defs.hh (1.48), src/Constraint.defs.hh
+	  (1.113), src/Constraint_System.defs.hh (1.23),
+	  src/DB_Matrix.defs.hh (1.15), src/DB_Matrix.inlines.hh (1.22),
+	  src/DB_Row.defs.hh (1.15), src/Determinate.defs.hh (1.60),
+	  src/GMP_Integer.defs.hh (1.17), src/GMP_Integer.inlines.hh
+	  (1.12), src/Generator.defs.hh (1.113),
+	  src/Generator_System.defs.hh (1.12), src/Interval.defs.hh (1.26),
+	  src/LP_Problem.defs.hh (1.4), src/Linear_Expression.defs.hh
+	  (1.17), src/Linear_Row.defs.hh (1.14), src/Linear_System.defs.hh
+	  (1.20), src/Matrix.defs.hh (1.71), src/NNC_Polyhedron.defs.hh
+	  (1.41), src/Ph_Status.idefs.hh (1.12),
+	  src/Poly_Con_Relation.defs.hh (1.29),
+	  src/Poly_Gen_Relation.defs.hh (1.27),
+	  src/Polyhedra_Powerset.defs.hh (1.28), src/Polyhedron.defs.hh
+	  (1.289), src/Powerset.defs.hh (1.15), src/Ptr_Iterator.defs.hh
+	  (1.6), src/Rounding_Dir.defs.hh (1.7), src/Row.defs.hh (1.100),
+	  src/Saturation_Matrix.defs.hh (1.5), src/Saturation_Row.defs.hh
+	  (1.9), src/Scalar_Products.defs.hh (1.3), src/Variable.defs.hh
+	  (1.49), src/algorithms.hh (1.45), src/checked.defs.hh (1.31),
+	  src/globals.defs.hh (1.27): Applying the new policy for multiline
+	  brief Doxygen comments.
+
+2006-01-01 Sunday 19:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.57), BD_Shape.inlines.hh (1.117): A few
+	  improvements in the code ofr affine images and preimages. Removed
+	  a (never used) default-valued parameter form an helper function.
+
+2006-01-01 Sunday 19:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* STANDARDS (1.29): Established a new policy for the writing of
+	  multiline *brief* comment in doxygen: besides easing a bit their
+	  writing, this is also useful as a workaround for a long-standing
+	  doxygen bug.
+
+2006-01-01 Sunday 18:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: GNU/ppl_gprolog.pl (1.56), tests/pl_check.pl
+	  (1.17): Code wrongly removed in pl_check.pl replaced.
+
+	  GNU Prolog system code for LP_Problem added.
+
+2006-01-01 Sunday 18:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.42): The tests lpproblem1 and
+	  lpproblem2 also fail with 64-bits coefficients.
+
+2006-01-01 Sunday 17:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.41): With 32-bits coefficients,
+	  the tests lpproblem1 and lpproblem2 are known to fail because of
+	  overflows.
+
+2006-01-01 Sunday 17:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/lpproblem1.cc (simplex.1): file lpproblem1.cc
+	  was added on branch simplex on 2006-01-06 20:01:53 +0000
+
+2006-01-01 Sunday 17:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/lpproblem2.cc (simplex.1): file lpproblem2.cc
+	  was added on branch simplex on 2006-01-06 20:00:58 +0000
+
+2006-01-01 Sunday 17:25  Matthew Mundell
+
+	* tests/Polyhedron/lpproblem2.cc (grids.1): file lpproblem2.cc was
+	  added on branch grids on 2006-01-16 01:10:41 +0000
+
+2006-01-01 Sunday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/: lpproblem1.cc (1.3), lpproblem2.cc (1.3):
+	  Added missing try/catch blocks.
+
+2006-01-01 Sunday 14:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Ciao/ciao_pl_check.pl (1.16),
+	  Ciao/ppl_ciao.pl (1.84), SICStus/ppl_sicstus_sd.cc (1.85),
+	  XSB/ppl_xsb.H (1.44), XSB/ppl_xsb.cc (1.76), XSB/xsb_pl_check.P
+	  (1.21), YAP/ppl_yap.cc (1.102), tests/pl_check.pl (1.16): Added
+	  needed code for the LP_Problem predicates to the Prolog systems'
+	  code.
+
+	  Added tests to exercise all the LP_Problem predicates.
+
+2006-01-01 Sunday 10:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.15): Corrected and
+	  improved maximize, maximize_with_point, minimize and
+	  minimize_with_point tests.
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* utils/build_header.in (altnum.1): file build_header.in was added
+	  on branch altnum on 2006-10-29 19:27:45 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* utils/text2cxxarray.in (altnum.1): file text2cxxarray.in was
+	  added on branch altnum on 2006-10-29 19:27:45 +0000
+
+2006-01-01 Sunday 09:27  Matthew Mundell
+
+	* tests/Polyhedron/LP_Problem3.cc (grids.1): file LP_Problem3.cc
+	  was added on branch grids on 2006-01-16 01:10:40 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/memory2.cc (altnum.1): file memory2.cc was added
+	  on branch altnum on 2006-10-29 19:27:32 +0000
+
+2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/limitedbhmz05extrapolation1.cc (simplex.1): file
+	  limitedbhmz05extrapolation1.cc was added on branch simplex on
+	  2006-01-06 20:00:55 +0000
+
+2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/limitedbhmz05extrapolation2.cc (simplex.1): file
+	  limitedbhmz05extrapolation2.cc was added on branch simplex on
+	  2006-01-06 20:00:55 +0000
+
+2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/limitedbhmz05extrapolation3.cc (simplex.1): file
+	  limitedbhmz05extrapolation3.cc was added on branch simplex on
+	  2006-01-06 20:00:55 +0000
+
+2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/limitedbhmz05extrapolation4.cc (simplex.1): file
+	  limitedbhmz05extrapolation4.cc was added on branch simplex on
+	  2006-01-06 20:00:55 +0000
+
+2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/limitedbhmz05extrapolation5.cc (simplex.1): file
+	  limitedbhmz05extrapolation5.cc was added on branch simplex on
+	  2006-01-06 20:00:55 +0000
+
+2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/limitedbhmz05extrapolation6.cc (simplex.1): file
+	  limitedbhmz05extrapolation6.cc was added on branch simplex on
+	  2006-01-06 20:00:55 +0000
+
+2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/limitedbhmz05extrapolation7.cc (simplex.1): file
+	  limitedbhmz05extrapolation7.cc was added on branch simplex on
+	  2006-01-06 20:00:55 +0000
+
+2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/limitedbhmz05extrapolation8.cc (simplex.1): file
+	  limitedbhmz05extrapolation8.cc was added on branch simplex on
+	  2006-01-06 20:00:55 +0000
+
+2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/limitedbhmz05extrapolation9.cc (simplex.1): file
+	  limitedbhmz05extrapolation9.cc was added on branch simplex on
+	  2006-01-06 20:00:55 +0000
+
+2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/limitedcc76extrapolation1.cc (simplex.1): file
+	  limitedcc76extrapolation1.cc was added on branch simplex on
+	  2006-01-06 20:00:55 +0000
+
+2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/limitedcc76extrapolation2.cc (simplex.1): file
+	  limitedcc76extrapolation2.cc was added on branch simplex on
+	  2006-01-06 20:00:55 +0000
+
+2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/limitedcc76extrapolation3.cc (simplex.1): file
+	  limitedcc76extrapolation3.cc was added on branch simplex on
+	  2006-01-06 20:00:55 +0000
+
+2006-01-01 Sunday 09:27  Matthew Mundell
+
+	* tests/BD_Shape/limitedbhmz05extrapolation1.cc (grids.1): file
+	  limitedbhmz05extrapolation1.cc was added on branch grids on
+	  2006-01-16 01:10:39 +0000
+
+2006-01-01 Sunday 09:27  Matthew Mundell
+
+	* tests/BD_Shape/limitedbhmz05extrapolation2.cc (grids.1): file
+	  limitedbhmz05extrapolation2.cc was added on branch grids on
+	  2006-01-16 01:10:39 +0000
+
+2006-01-01 Sunday 09:27  Matthew Mundell
+
+	* tests/BD_Shape/limitedbhmz05extrapolation3.cc (grids.1): file
+	  limitedbhmz05extrapolation3.cc was added on branch grids on
+	  2006-01-16 01:10:39 +0000
+
+2006-01-01 Sunday 09:27  Matthew Mundell
+
+	* tests/BD_Shape/limitedbhmz05extrapolation4.cc (grids.1): file
+	  limitedbhmz05extrapolation4.cc was added on branch grids on
+	  2006-01-16 01:10:39 +0000
+
+2006-01-01 Sunday 09:27  Matthew Mundell
+
+	* tests/BD_Shape/limitedbhmz05extrapolation5.cc (grids.1): file
+	  limitedbhmz05extrapolation5.cc was added on branch grids on
+	  2006-01-16 01:10:39 +0000
+
+2006-01-01 Sunday 09:27  Matthew Mundell
+
+	* tests/BD_Shape/limitedbhmz05extrapolation6.cc (grids.1): file
+	  limitedbhmz05extrapolation6.cc was added on branch grids on
+	  2006-01-16 01:10:39 +0000
+
+2006-01-01 Sunday 09:27  Matthew Mundell
+
+	* tests/BD_Shape/limitedbhmz05extrapolation7.cc (grids.1): file
+	  limitedbhmz05extrapolation7.cc was added on branch grids on
+	  2006-01-16 01:10:39 +0000
+
+2006-01-01 Sunday 09:27  Matthew Mundell
+
+	* tests/BD_Shape/limitedbhmz05extrapolation8.cc (grids.1): file
+	  limitedbhmz05extrapolation8.cc was added on branch grids on
+	  2006-01-16 01:10:39 +0000
+
+2006-01-01 Sunday 09:27  Matthew Mundell
+
+	* tests/BD_Shape/limitedbhmz05extrapolation9.cc (grids.1): file
+	  limitedbhmz05extrapolation9.cc was added on branch grids on
+	  2006-01-16 01:10:39 +0000
+
+2006-01-01 Sunday 09:27  Matthew Mundell
+
+	* tests/BD_Shape/limitedcc76extrapolation1.cc (grids.1): file
+	  limitedcc76extrapolation1.cc was added on branch grids on
+	  2006-01-16 01:10:39 +0000
+
+2006-01-01 Sunday 09:27  Matthew Mundell
+
+	* tests/BD_Shape/limitedcc76extrapolation2.cc (grids.1): file
+	  limitedcc76extrapolation2.cc was added on branch grids on
+	  2006-01-16 01:10:39 +0000
+
+2006-01-01 Sunday 09:27  Matthew Mundell
+
+	* tests/BD_Shape/limitedcc76extrapolation3.cc (grids.1): file
+	  limitedcc76extrapolation3.cc was added on branch grids on
+	  2006-01-16 01:10:39 +0000
+
+2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/bhmz05widening1.cc (simplex.1): file
+	  bhmz05widening1.cc was added on branch simplex on 2006-01-06
+	  20:00:55 +0000
+
+2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/bhmz05widening2.cc (simplex.1): file
+	  bhmz05widening2.cc was added on branch simplex on 2006-01-06
+	  20:00:55 +0000
+
+2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/bhmz05widening3.cc (simplex.1): file
+	  bhmz05widening3.cc was added on branch simplex on 2006-01-06
+	  20:00:55 +0000
+
+2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/bhmz05widening4.cc (simplex.1): file
+	  bhmz05widening4.cc was added on branch simplex on 2006-01-06
+	  20:00:55 +0000
+
+2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/bhmz05widening5.cc (simplex.1): file
+	  bhmz05widening5.cc was added on branch simplex on 2006-01-06
+	  20:00:55 +0000
+
+2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/bhmz05widening6.cc (simplex.1): file
+	  bhmz05widening6.cc was added on branch simplex on 2006-01-06
+	  20:00:55 +0000
+
+2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/bhmz05widening7.cc (simplex.1): file
+	  bhmz05widening7.cc was added on branch simplex on 2006-01-06
+	  20:00:55 +0000
+
+2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/bhmz05widening8.cc (simplex.1): file
+	  bhmz05widening8.cc was added on branch simplex on 2006-01-06
+	  20:00:55 +0000
+
+2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/generalizedaffinepreimage2.cc (simplex.1): file
+	  generalizedaffinepreimage2.cc was added on branch simplex on
+	  2006-01-06 20:00:55 +0000
+
+2006-01-01 Sunday 09:27  Matthew Mundell
+
+	* tests/BD_Shape/bhmz05widening1.cc (grids.1): file
+	  bhmz05widening1.cc was added on branch grids on 2006-01-16
+	  01:10:39 +0000
+
+2006-01-01 Sunday 09:27  Matthew Mundell
+
+	* tests/BD_Shape/bhmz05widening2.cc (grids.1): file
+	  bhmz05widening2.cc was added on branch grids on 2006-01-16
+	  01:10:39 +0000
+
+2006-01-01 Sunday 09:27  Matthew Mundell
+
+	* tests/BD_Shape/bhmz05widening3.cc (grids.1): file
+	  bhmz05widening3.cc was added on branch grids on 2006-01-16
+	  01:10:39 +0000
+
+2006-01-01 Sunday 09:27  Matthew Mundell
+
+	* tests/BD_Shape/bhmz05widening4.cc (grids.1): file
+	  bhmz05widening4.cc was added on branch grids on 2006-01-16
+	  01:10:39 +0000
+
+2006-01-01 Sunday 09:27  Matthew Mundell
+
+	* tests/BD_Shape/bhmz05widening5.cc (grids.1): file
+	  bhmz05widening5.cc was added on branch grids on 2006-01-16
+	  01:10:39 +0000
+
+2006-01-01 Sunday 09:27  Matthew Mundell
+
+	* tests/BD_Shape/bhmz05widening6.cc (grids.1): file
+	  bhmz05widening6.cc was added on branch grids on 2006-01-16
+	  01:10:39 +0000
+
+2006-01-01 Sunday 09:27  Matthew Mundell
+
+	* tests/BD_Shape/bhmz05widening7.cc (grids.1): file
+	  bhmz05widening7.cc was added on branch grids on 2006-01-16
+	  01:10:39 +0000
+
+2006-01-01 Sunday 09:27  Matthew Mundell
+
+	* tests/BD_Shape/bhmz05widening8.cc (grids.1): file
+	  bhmz05widening8.cc was added on branch grids on 2006-01-16
+	  01:10:39 +0000
+
+2006-01-01 Sunday 09:27  Matthew Mundell
+
+	* tests/BD_Shape/generalizedaffinepreimage2.cc (grids.1): file
+	  generalizedaffinepreimage2.cc was added on branch grids on
+	  2006-01-16 01:10:39 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Random_Number_Generator.types.hh (altnum.1): file
+	  Random_Number_Generator.types.hh was added on branch altnum on
+	  2006-10-29 19:27:21 +0000
+
+2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.cc (simplex.1): file BD_Shape.cc was added on branch
+	  simplex on 2006-01-06 20:00:51 +0000
+
+2006-01-01 Sunday 09:27  Matthew Mundell
+
+	* src/BD_Shape.cc (grids.1): file BD_Shape.cc was added on branch
+	  grids on 2006-01-16 01:10:33 +0000
+
+2006-01-01 Sunday 09:27  Matthew Mundell
+
+	* src/LP_Problem.types.hh (grids.1): file LP_Problem.types.hh was
+	  added on branch grids on 2006-01-16 01:10:33 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl_header.hh (altnum.1): file ppl_header.hh was added on
+	  branch altnum on 2006-10-29 19:27:15 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_sicstus_prolog.m4 (altnum.1): file
+	  ac_check_sicstus_prolog.m4 was added on branch altnum on
+	  2006-10-29 19:27:11 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_xsb_prolog.m4 (altnum.1): file ac_check_xsb_prolog.m4
+	  was added on branch altnum on 2006-10-29 19:27:11 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq2_int16 (altnum.1): file
+	  expected_clpq2_int16 was added on branch altnum on 2006-10-29
+	  19:27:05 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_clpq2_int16 (altnum.1): file
+	  expected_clpq2_int16 was added on branch altnum on 2006-10-29
+	  19:27:07 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq2_int16_a (altnum.1): file
+	  expected_clpq2_int16_a was added on branch altnum on 2006-10-29
+	  19:27:05 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_clpq2_int16_a (altnum.1): file
+	  expected_clpq2_int16_a was added on branch altnum on 2006-10-29
+	  19:27:07 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq2_int32 (altnum.1): file
+	  expected_clpq2_int32 was added on branch altnum on 2006-10-29
+	  19:27:05 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_clpq2_int32 (altnum.1): file
+	  expected_clpq2_int32 was added on branch altnum on 2006-10-29
+	  19:27:07 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq2_int64 (altnum.1): file
+	  expected_clpq2_int64 was added on branch altnum on 2006-10-29
+	  19:27:05 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_clpq2_int64 (altnum.1): file
+	  expected_clpq2_int64 was added on branch altnum on 2006-10-29
+	  19:27:07 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq2_int64_a (altnum.1): file
+	  expected_clpq2_int64_a was added on branch altnum on 2006-10-29
+	  19:27:05 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_clpq2_int64_a (altnum.1): file
+	  expected_clpq2_int64_a was added on branch altnum on 2006-10-29
+	  19:27:07 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq2_mpz (altnum.1): file
+	  expected_clpq2_mpz was added on branch altnum on 2006-10-29
+	  19:27:05 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_clpq2_mpz (altnum.1): file
+	  expected_clpq2_mpz was added on branch altnum on 2006-10-29
+	  19:27:07 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq2_mpz_a (altnum.1): file
+	  expected_clpq2_mpz_a was added on branch altnum on 2006-10-29
+	  19:27:05 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_clpq2_mpz_a (altnum.1): file
+	  expected_clpq2_mpz_a was added on branch altnum on 2006-10-29
+	  19:27:07 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq_int32 (altnum.1): file
+	  expected_clpq_int32 was added on branch altnum on 2006-10-29
+	  19:27:05 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_clpq_int32 (altnum.1): file
+	  expected_clpq_int32 was added on branch altnum on 2006-10-29
+	  19:27:07 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq_int32_a (altnum.1): file
+	  expected_clpq_int32_a was added on branch altnum on 2006-10-29
+	  19:27:05 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_clpq_int32_a (altnum.1): file
+	  expected_clpq_int32_a was added on branch altnum on 2006-10-29
+	  19:27:07 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq_int64 (altnum.1): file
+	  expected_clpq_int64 was added on branch altnum on 2006-10-29
+	  19:27:05 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_clpq_int64 (altnum.1): file
+	  expected_clpq_int64 was added on branch altnum on 2006-10-29
+	  19:27:07 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq_int64_a (altnum.1): file
+	  expected_clpq_int64_a was added on branch altnum on 2006-10-29
+	  19:27:05 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_clpq_int64_a (altnum.1): file
+	  expected_clpq_int64_a was added on branch altnum on 2006-10-29
+	  19:27:07 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq_int8 (altnum.1): file
+	  expected_clpq_int8 was added on branch altnum on 2006-10-29
+	  19:27:05 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_clpq_int8 (altnum.1): file
+	  expected_clpq_int8 was added on branch altnum on 2006-10-29
+	  19:27:07 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq_int8_a (altnum.1): file
+	  expected_clpq_int8_a was added on branch altnum on 2006-10-29
+	  19:27:05 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_clpq_int8_a (altnum.1): file
+	  expected_clpq_int8_a was added on branch altnum on 2006-10-29
+	  19:27:07 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq_mpz (altnum.1): file
+	  expected_clpq_mpz was added on branch altnum on 2006-10-29
+	  19:27:05 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_clpq_mpz (altnum.1): file
+	  expected_clpq_mpz was added on branch altnum on 2006-10-29
+	  19:27:07 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq_mpz_a (altnum.1): file
+	  expected_clpq_mpz_a was added on branch altnum on 2006-10-29
+	  19:27:05 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_clpq_mpz_a (altnum.1): file
+	  expected_clpq_mpz_a was added on branch altnum on 2006-10-29
+	  19:27:07 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/utils/build_header.in (altnum.1): file build_header.in
+	  was added on branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Doubly_Linked_Object.defs.hh (altnum.1): file
+	  Doubly_Linked_Object.defs.hh was added on branch altnum on
+	  2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Doubly_Linked_Object.inlines.hh (altnum.1): file
+	  Doubly_Linked_Object.inlines.hh was added on branch altnum on
+	  2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Doubly_Linked_Object.types.hh (altnum.1): file
+	  Doubly_Linked_Object.types.hh was added on branch altnum on
+	  2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/EList.inlines.hh (altnum.1): file EList.inlines.hh
+	  was added on branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/EList.types.hh (altnum.1): file EList.types.hh was
+	  added on branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/EList_Iterator.defs.hh (altnum.1): file
+	  EList_Iterator.defs.hh was added on branch altnum on 2006-10-29
+	  19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/EList_Iterator.inlines.hh (altnum.1): file
+	  EList_Iterator.inlines.hh was added on branch altnum on
+	  2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/EList_Iterator.types.hh (altnum.1): file
+	  EList_Iterator.types.hh was added on branch altnum on 2006-10-29
+	  19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Handler.inlines.hh (altnum.1): file
+	  Handler.inlines.hh was added on branch altnum on 2006-10-29
+	  19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Handler.types.hh (altnum.1): file Handler.types.hh
+	  was added on branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Pending_Element.cc (altnum.1): file
+	  Pending_Element.cc was added on branch altnum on 2006-10-29
+	  19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Pending_Element.inlines.hh (altnum.1): file
+	  Pending_Element.inlines.hh was added on branch altnum on
+	  2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Pending_Element.types.hh (altnum.1): file
+	  Pending_Element.types.hh was added on branch altnum on 2006-10-29
+	  19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Pending_List.cc (altnum.1): file Pending_List.cc was
+	  added on branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Pending_List.inlines.hh (altnum.1): file
+	  Pending_List.inlines.hh was added on branch altnum on 2006-10-29
+	  19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Pending_List.types.hh (altnum.1): file
+	  Pending_List.types.hh was added on branch altnum on 2006-10-29
+	  19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Time.cc (altnum.1): file Time.cc was added on branch
+	  altnum on 2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Time.inlines.hh (altnum.1): file Time.inlines.hh was
+	  added on branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Time.types.hh (altnum.1): file Time.types.hh was
+	  added on branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Watchdog.inlines.hh (altnum.1): file
+	  Watchdog.inlines.hh was added on branch altnum on 2006-10-29
+	  19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Watchdog.types.hh (altnum.1): file Watchdog.types.hh
+	  was added on branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/pwl_header.hh (altnum.1): file pwl_header.hh was
+	  added on branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.35), README (1.38), README.configure (1.16),
+	  configure.ac (1.200), instchk.hh (1.3), Watchdog/Makefile.am
+	  (1.24), Watchdog/README (1.12), Watchdog/configure.ac (1.33),
+	  Watchdog/src/Doubly_Linked_Object.defs.hh (1.2),
+	  Watchdog/src/Doubly_Linked_Object.inlines.hh (1.2),
+	  Watchdog/src/Doubly_Linked_Object.types.hh (1.2),
+	  Watchdog/src/EList.defs.hh (1.2), Watchdog/src/EList.inlines.hh
+	  (1.2), Watchdog/src/EList.types.hh (1.2),
+	  Watchdog/src/EList_Iterator.defs.hh (1.2),
+	  Watchdog/src/EList_Iterator.inlines.hh (1.2),
+	  Watchdog/src/EList_Iterator.types.hh (1.2),
+	  Watchdog/src/Handler.defs.hh (1.2),
+	  Watchdog/src/Handler.inlines.hh (1.2),
+	  Watchdog/src/Handler.types.hh (1.2), Watchdog/src/Makefile.am
+	  (1.4), Watchdog/src/Pending_Element.cc (1.2),
+	  Watchdog/src/Pending_Element.defs.hh (1.2),
+	  Watchdog/src/Pending_Element.inlines.hh (1.2),
+	  Watchdog/src/Pending_Element.types.hh (1.2),
+	  Watchdog/src/Pending_List.cc (1.2),
+	  Watchdog/src/Pending_List.defs.hh (1.2),
+	  Watchdog/src/Pending_List.inlines.hh (1.2),
+	  Watchdog/src/Pending_List.types.hh (1.2), Watchdog/src/Time.cc
+	  (1.2), Watchdog/src/Time.defs.hh (1.2),
+	  Watchdog/src/Time.inlines.hh (1.2), Watchdog/src/Time.types.hh
+	  (1.2), Watchdog/src/Watchdog.cc (1.2),
+	  Watchdog/src/Watchdog.defs.hh (1.2),
+	  Watchdog/src/Watchdog.inlines.hh (1.2),
+	  Watchdog/src/Watchdog.types.hh (1.2), Watchdog/src/pwl_header.hh
+	  (1.2), Watchdog/utils/Makefile.am (1.5),
+	  Watchdog/utils/build_header.in (1.3), demos/Makefile.am (1.8),
+	  demos/ppl_lcdd/Makefile.am (1.21), demos/ppl_lcdd/ppl_lcdd.cc
+	  (1.52), demos/ppl_lcdd/examples/Makefile.am (1.6),
+	  demos/ppl_lpsol/Makefile.am (1.17), demos/ppl_lpsol/ppl_lpsol.c
+	  (1.26), demos/ppl_lpsol/examples/Makefile.am (1.5),
+	  doc/Makefile.am (1.38), doc/README.doc (1.7), doc/definitions.dox
+	  (1.182), doc/devref.tex (1.19), doc/ppl.sty (1.24), doc/user.tex
+	  (1.20), interfaces/Makefile.am (1.12), interfaces/C/Makefile.am
+	  (1.20), interfaces/C/ppl_c.cc (1.147), interfaces/C/ppl_c.h.in
+	  (1.60), interfaces/OCaml/Makefile.am (1.11),
+	  interfaces/Prolog/Makefile.am (1.29),
+	  interfaces/Prolog/Prolog_interface.dox (1.140),
+	  interfaces/Prolog/exceptions.hh (1.19),
+	  interfaces/Prolog/ppl_prolog.icc (1.168),
+	  interfaces/Prolog/track_allocation.hh (1.18),
+	  interfaces/Prolog/Ciao/Makefile.am (1.47),
+	  interfaces/Prolog/Ciao/ciao_clpq.pl (1.16),
+	  interfaces/Prolog/Ciao/ciao_clpq2.pl (1.12),
+	  interfaces/Prolog/Ciao/ciao_pl_check.pl (1.15),
+	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.39),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.83),
+	  interfaces/Prolog/GNU/Makefile.am (1.50),
+	  interfaces/Prolog/GNU/gnu_pl_check.pl (1.7),
+	  interfaces/Prolog/GNU/gp_clpq.pl (1.10),
+	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.55),
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.34),
+	  interfaces/Prolog/SICStus/Makefile.am (1.58),
+	  interfaces/Prolog/SICStus/ppl_sicstus.pl (1.26),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.84),
+	  interfaces/Prolog/SICStus/sicstus_cfli.cc (1.6),
+	  interfaces/Prolog/SICStus/sicstus_cfli.h (1.7),
+	  interfaces/Prolog/SICStus/sicstus_cfli.ic (1.13),
+	  interfaces/Prolog/SICStus/sp_clpq.pl (1.13),
+	  interfaces/Prolog/SICStus/sp_pl_check.pl (1.5),
+	  interfaces/Prolog/SWI/Makefile.am (1.55),
+	  interfaces/Prolog/SWI/pl_clpq.cc (1.10),
+	  interfaces/Prolog/SWI/pl_clpq.pl (1.9),
+	  interfaces/Prolog/SWI/ppl_pl.cc (1.10),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.110),
+	  interfaces/Prolog/SWI/ppl_swiprolog.pl (1.6),
+	  interfaces/Prolog/SWI/swi_pl_check.pl (1.6),
+	  interfaces/Prolog/XSB/Makefile.am (1.39),
+	  interfaces/Prolog/XSB/expected_clpq2_int16 (1.2),
+	  interfaces/Prolog/XSB/expected_clpq2_int16_a (1.2),
+	  interfaces/Prolog/XSB/expected_clpq2_int32 (1.2),
+	  interfaces/Prolog/XSB/expected_clpq2_int32_a (1.3),
+	  interfaces/Prolog/XSB/expected_clpq2_int64 (1.2),
+	  interfaces/Prolog/XSB/expected_clpq2_int64_a (1.2),
+	  interfaces/Prolog/XSB/expected_clpq2_int8 (1.2),
+	  interfaces/Prolog/XSB/expected_clpq2_int8_a (1.3),
+	  interfaces/Prolog/XSB/expected_clpq2_mpz (1.2),
+	  interfaces/Prolog/XSB/expected_clpq2_mpz_a (1.2),
+	  interfaces/Prolog/XSB/expected_clpq_int16 (1.3),
+	  interfaces/Prolog/XSB/expected_clpq_int16_a (1.3),
+	  interfaces/Prolog/XSB/expected_clpq_int32 (1.2),
+	  interfaces/Prolog/XSB/expected_clpq_int32_a (1.2),
+	  interfaces/Prolog/XSB/expected_clpq_int64 (1.2),
+	  interfaces/Prolog/XSB/expected_clpq_int64_a (1.2),
+	  interfaces/Prolog/XSB/expected_clpq_int8 (1.2),
+	  interfaces/Prolog/XSB/expected_clpq_int8_a (1.2),
+	  interfaces/Prolog/XSB/expected_clpq_mpz (1.2),
+	  interfaces/Prolog/XSB/expected_clpq_mpz_a (1.2),
+	  interfaces/Prolog/XSB/ppl_xsb.H (1.43),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.75),
+	  interfaces/Prolog/XSB/xsb_clpq.P (1.15),
+	  interfaces/Prolog/XSB/xsb_clpq2.P (1.13),
+	  interfaces/Prolog/XSB/xsb_pl_check.P (1.20),
+	  interfaces/Prolog/YAP/Makefile.am (1.41),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.101),
+	  interfaces/Prolog/YAP/ppl_yap.pl (1.10),
+	  interfaces/Prolog/YAP/yap_clpq.pl (1.11),
+	  interfaces/Prolog/YAP/yap_clpq2.pl (1.7),
+	  interfaces/Prolog/YAP/yap_pl_check.pl (1.9),
+	  interfaces/Prolog/tests/Makefile.am (1.6),
+	  interfaces/Prolog/tests/clpq.pl (1.7),
+	  interfaces/Prolog/tests/clpq2.pl (1.7),
+	  interfaces/Prolog/tests/expected_clpq2_int16 (1.2),
+	  interfaces/Prolog/tests/expected_clpq2_int16_a (1.2),
+	  interfaces/Prolog/tests/expected_clpq2_int32 (1.2),
+	  interfaces/Prolog/tests/expected_clpq2_int32_a (1.3),
+	  interfaces/Prolog/tests/expected_clpq2_int64 (1.2),
+	  interfaces/Prolog/tests/expected_clpq2_int64_a (1.2),
+	  interfaces/Prolog/tests/expected_clpq2_int8 (1.3),
+	  interfaces/Prolog/tests/expected_clpq2_int8_a (1.3),
+	  interfaces/Prolog/tests/expected_clpq2_mpz (1.2),
+	  interfaces/Prolog/tests/expected_clpq2_mpz_a (1.2),
+	  interfaces/Prolog/tests/expected_clpq_int16 (1.3),
+	  interfaces/Prolog/tests/expected_clpq_int16_a (1.3),
+	  interfaces/Prolog/tests/expected_clpq_int32 (1.2),
+	  interfaces/Prolog/tests/expected_clpq_int32_a (1.2),
+	  interfaces/Prolog/tests/expected_clpq_int64 (1.2),
+	  interfaces/Prolog/tests/expected_clpq_int64_a (1.2),
+	  interfaces/Prolog/tests/expected_clpq_int8 (1.2),
+	  interfaces/Prolog/tests/expected_clpq_int8_a (1.2),
+	  interfaces/Prolog/tests/expected_clpq_mpz (1.2),
+	  interfaces/Prolog/tests/expected_clpq_mpz_a (1.2),
+	  interfaces/Prolog/tests/pl_check.pl (1.14), m4/Makefile.am
+	  (1.15), m4/ac_check_gmp.m4 (1.23), m4/ac_check_sicstus_prolog.m4
+	  (1.4), m4/ac_check_swi_prolog.m4 (1.8), m4/ac_check_xsb_prolog.m4
+	  (1.2), m4/ac_cxx_attribute_weak.m4 (1.7),
+	  m4/ac_cxx_double_is_iec_559.m4 (1.5),
+	  m4/ac_cxx_flexible_arrays.m4 (1.12),
+	  m4/ac_cxx_float_is_iec_559.m4 (1.5), m4/ac_cxx_long_double.m4
+	  (1.6), m4/ac_cxx_long_double_is_iec_559.m4 (1.5),
+	  m4/ac_cxx_long_long.m4 (1.5), m4/ppl.m4 (1.2),
+	  src/Ask_Tell.defs.hh (1.7), src/Ask_Tell.inlines.hh (1.7),
+	  src/Ask_Tell.types.hh (1.4), src/BDS_Status.idefs.hh (1.11),
+	  src/BDS_Status.inlines.hh (1.9), src/BD_Shape.cc (1.2),
+	  src/BD_Shape.defs.hh (1.56), src/BD_Shape.inlines.hh (1.116),
+	  src/BD_Shape.types.hh (1.5), src/BHRZ03_Certificate.cc (1.10),
+	  src/BHRZ03_Certificate.defs.hh (1.13),
+	  src/BHRZ03_Certificate.inlines.hh (1.7),
+	  src/BHRZ03_Certificate.types.hh (1.4), src/Bounding_Box.cc
+	  (1.13), src/Bounding_Box.defs.hh (1.11),
+	  src/Bounding_Box.inlines.hh (1.14), src/Bounding_Box.types.hh
+	  (1.4), src/C_Polyhedron.cc (1.17), src/C_Polyhedron.defs.hh
+	  (1.38), src/C_Polyhedron.inlines.hh (1.29),
+	  src/C_Polyhedron.types.hh (1.10), src/Checked_Number.cc (1.9),
+	  src/Checked_Number.defs.hh (1.47), src/Checked_Number.inlines.hh
+	  (1.51), src/Checked_Number.types.hh (1.9), src/Coefficient.cc
+	  (1.4), src/Coefficient.defs.hh (1.6), src/Coefficient.inlines.hh
+	  (1.5), src/Coefficient.types.hh (1.11),
+	  src/Coefficient_traits_template.hh (1.4), src/Constraint.cc
+	  (1.54), src/Constraint.defs.hh (1.112), src/Constraint.inlines.hh
+	  (1.61), src/Constraint.types.hh (1.10), src/Constraint_System.cc
+	  (1.15), src/Constraint_System.defs.hh (1.22),
+	  src/Constraint_System.inlines.hh (1.7),
+	  src/Constraint_System.types.hh (1.4), src/DB_Matrix.defs.hh
+	  (1.14), src/DB_Matrix.inlines.hh (1.21), src/DB_Matrix.types.hh
+	  (1.5), src/DB_Row.defs.hh (1.14), src/DB_Row.inlines.hh (1.16),
+	  src/DB_Row.types.hh (1.6), src/Determinate.defs.hh (1.59),
+	  src/Determinate.inlines.hh (1.51), src/Determinate.types.hh
+	  (1.8), src/Float.cc (1.3), src/Float.defs.hh (1.16),
+	  src/Float.inlines.hh (1.16), src/GMP_Integer.defs.hh (1.16),
+	  src/GMP_Integer.inlines.hh (1.11), src/GMP_Integer.types.hh
+	  (1.11), src/Generator.cc (1.67), src/Generator.defs.hh (1.112),
+	  src/Generator.inlines.hh (1.58), src/Generator.types.hh (1.10),
+	  src/Generator_System.cc (1.15), src/Generator_System.defs.hh
+	  (1.11), src/Generator_System.inlines.hh (1.6),
+	  src/Generator_System.types.hh (1.4), src/H79_Certificate.cc
+	  (1.9), src/H79_Certificate.defs.hh (1.13),
+	  src/H79_Certificate.inlines.hh (1.7),
+	  src/H79_Certificate.types.hh (1.4), src/Init.cc (1.22),
+	  src/Init.defs.hh (1.14), src/Init.types.hh (1.9), src/Interval.cc
+	  (1.13), src/Interval.defs.hh (1.25), src/Interval.inlines.hh
+	  (1.24), src/Interval.types.hh (1.11), src/LP_Problem.cc (1.4),
+	  src/LP_Problem.defs.hh (1.3), src/LP_Problem.inlines.hh (1.4),
+	  src/LP_Problem.types.hh (1.4), src/Limits.hh (1.8),
+	  src/Linear_Expression.cc (1.8), src/Linear_Expression.defs.hh
+	  (1.16), src/Linear_Expression.inlines.hh (1.6),
+	  src/Linear_Expression.types.hh (1.4), src/Linear_Row.cc (1.16),
+	  src/Linear_Row.defs.hh (1.13), src/Linear_Row.inlines.hh (1.10),
+	  src/Linear_Row.types.hh (1.4), src/Linear_System.cc (1.33),
+	  src/Linear_System.defs.hh (1.19), src/Linear_System.inlines.hh
+	  (1.18), src/Linear_System.types.hh (1.4), src/Makefile.am
+	  (1.134), src/Matrix.cc (1.89), src/Matrix.defs.hh (1.70),
+	  src/Matrix.inlines.hh (1.47), src/Matrix.types.hh (1.10),
+	  src/NNC_Polyhedron.cc (1.17), src/NNC_Polyhedron.defs.hh (1.40),
+	  src/NNC_Polyhedron.inlines.hh (1.31), src/NNC_Polyhedron.types.hh
+	  (1.10), src/Numeric_Format.defs.hh (1.5), src/Ph_Status.cc (1.8),
+	  src/Ph_Status.idefs.hh (1.11), src/Ph_Status.inlines.hh (1.7),
+	  src/Poly_Con_Relation.cc (1.11), src/Poly_Con_Relation.defs.hh
+	  (1.28), src/Poly_Con_Relation.inlines.hh (1.14),
+	  src/Poly_Con_Relation.types.hh (1.9), src/Poly_Gen_Relation.cc
+	  (1.11), src/Poly_Gen_Relation.defs.hh (1.26),
+	  src/Poly_Gen_Relation.inlines.hh (1.14),
+	  src/Poly_Gen_Relation.types.hh (1.9), src/Polyhedra_Powerset.cc
+	  (1.6), src/Polyhedra_Powerset.defs.hh (1.27),
+	  src/Polyhedra_Powerset.inlines.hh (1.36),
+	  src/Polyhedra_Powerset.types.hh (1.4), src/Polyhedron.defs.hh
+	  (1.288), src/Polyhedron.inlines.hh (1.130),
+	  src/Polyhedron.types.hh (1.16), src/Polyhedron_chdims.cc (1.35),
+	  src/Polyhedron_nonpublic.cc (1.63), src/Polyhedron_public.cc
+	  (1.70), src/Polyhedron_widenings.cc (1.52), src/Powerset.defs.hh
+	  (1.14), src/Powerset.inlines.hh (1.13), src/Powerset.types.hh
+	  (1.4), src/Ptr_Iterator.defs.hh (1.5),
+	  src/Ptr_Iterator.inlines.hh (1.5), src/Ptr_Iterator.types.hh
+	  (1.5), src/Result.defs.hh (1.12), src/Result.inlines.hh (1.7),
+	  src/Rounding_Dir.defs.hh (1.6), src/Rounding_Dir.inlines.hh
+	  (1.3), src/Row.cc (1.95), src/Row.defs.hh (1.99),
+	  src/Row.inlines.hh (1.62), src/Row.types.hh (1.11),
+	  src/Saturation_Matrix.cc (1.7), src/Saturation_Matrix.defs.hh
+	  (1.4), src/Saturation_Matrix.inlines.hh (1.5),
+	  src/Saturation_Matrix.types.hh (1.4), src/Saturation_Row.cc
+	  (1.9), src/Saturation_Row.defs.hh (1.8),
+	  src/Saturation_Row.inlines.hh (1.8), src/Saturation_Row.types.hh
+	  (1.4), src/Scalar_Products.cc (1.3), src/Scalar_Products.defs.hh
+	  (1.2), src/Scalar_Products.inlines.hh (1.2),
+	  src/Scalar_Products.types.hh (1.2), src/Topology.hh (1.11),
+	  src/Variable.cc (1.20), src/Variable.defs.hh (1.48),
+	  src/Variable.inlines.hh (1.23), src/Variable.types.hh (1.10),
+	  src/Widening_Function.defs.hh (1.13),
+	  src/Widening_Function.inlines.hh (1.12),
+	  src/Widening_Function.types.hh (1.5), src/algorithms.hh (1.44),
+	  src/checked.cc (1.11), src/checked.defs.hh (1.30),
+	  src/checked.inlines.hh (1.29), src/checked_ext.defs.hh (1.9),
+	  src/checked_ext.inlines.hh (1.27), src/checked_float.inlines.hh
+	  (1.55), src/checked_int.inlines.hh (1.43),
+	  src/checked_mpq.inlines.hh (1.30), src/checked_mpz.inlines.hh
+	  (1.34), src/checked_numeric_limits.hh (1.9), src/compiler.hh
+	  (1.6), src/conversion.cc (1.77), src/float.types.hh (1.13),
+	  src/fpu-c99.inlines.hh (1.8), src/fpu-ia32.inlines.hh (1.8),
+	  src/fpu-none.inlines.hh (1.3), src/fpu.defs.hh (1.6),
+	  src/globals.cc (1.24), src/globals.defs.hh (1.26),
+	  src/globals.inlines.hh (1.14), src/globals.types.hh (1.4),
+	  src/initializer.hh (1.12), src/max_space_dimension.hh (1.7),
+	  src/minimize.cc (1.43), src/mp_numeric_limits.hh (1.3),
+	  src/namespaces.hh (1.5), src/ppl-config.cc.in (1.11),
+	  src/ppl_header.hh (1.4), src/simplify.cc (1.45),
+	  src/swapping_sort.icc (1.10), src/version.cc (1.7),
+	  src/version.hh.in (1.12), tests/BBox.cc (1.11), tests/BBox.hh
+	  (1.10), tests/Makefile.am (1.247), tests/PFunction.cc (1.8),
+	  tests/PFunction.hh (1.8), tests/Random_Number_Generator.defs.hh
+	  (1.2), tests/Random_Number_Generator.inlines.hh (1.7),
+	  tests/Random_Number_Generator.types.hh (1.2), tests/ehandlers.cc
+	  (1.8), tests/ehandlers.hh (1.13), tests/files.cc (1.8),
+	  tests/files.hh (1.9), tests/ppl_test.hh (1.31), tests/print.cc
+	  (1.18), tests/print.hh (1.22), tests/BD_Shape/Makefile.am (1.31),
+	  tests/BD_Shape/addconstraints1.cc (1.6),
+	  tests/BD_Shape/addspacedims1.cc (1.7),
+	  tests/BD_Shape/addspacedims2.cc (1.7),
+	  tests/BD_Shape/addspacedims3.cc (1.8),
+	  tests/BD_Shape/addspacedims4.cc (1.8),
+	  tests/BD_Shape/addspacedims5.cc (1.9),
+	  tests/BD_Shape/addspacedims6.cc (1.9),
+	  tests/BD_Shape/addspacedims7.cc (1.7),
+	  tests/BD_Shape/affinedimension1.cc (1.3),
+	  tests/BD_Shape/affineimage1.cc (1.7),
+	  tests/BD_Shape/affineimage10.cc (1.5),
+	  tests/BD_Shape/affineimage2.cc (1.7),
+	  tests/BD_Shape/affineimage3.cc (1.7),
+	  tests/BD_Shape/affineimage4.cc (1.7),
+	  tests/BD_Shape/affineimage5.cc (1.7),
+	  tests/BD_Shape/affineimage6.cc (1.7),
+	  tests/BD_Shape/affineimage7.cc (1.7),
+	  tests/BD_Shape/affineimage8.cc (1.12),
+	  tests/BD_Shape/affineimage9.cc (1.10),
+	  tests/BD_Shape/affinepreimage1.cc (1.7),
+	  tests/BD_Shape/affinepreimage2.cc (1.7),
+	  tests/BD_Shape/affinepreimage3.cc (1.7),
+	  tests/BD_Shape/affinepreimage4.cc (1.7),
+	  tests/BD_Shape/affinepreimage5.cc (1.7),
+	  tests/BD_Shape/ascii_dump_load1.cc (1.9),
+	  tests/BD_Shape/ascii_dump_load2.cc (1.8),
+	  tests/BD_Shape/bdsdifference1.cc (1.3),
+	  tests/BD_Shape/bdsdifference2.cc (1.3),
+	  tests/BD_Shape/bdsdifference3.cc (1.3),
+	  tests/BD_Shape/bdsdifference4.cc (1.3),
+	  tests/BD_Shape/bdsdifference5.cc (1.3),
+	  tests/BD_Shape/bdsdifference6.cc (1.3),
+	  tests/BD_Shape/bdsdifference7.cc (1.3),
+	  tests/BD_Shape/bdshull1.cc (1.3), tests/BD_Shape/bdshull2.cc
+	  (1.3), tests/BD_Shape/bdshull3.cc (1.3),
+	  tests/BD_Shape/bdshull4.cc (1.3),
+	  tests/BD_Shape/bgp99extrapolation1.cc (1.3),
+	  tests/BD_Shape/bhmz05widening1.cc (1.2),
+	  tests/BD_Shape/bhmz05widening2.cc (1.2),
+	  tests/BD_Shape/bhmz05widening3.cc (1.2),
+	  tests/BD_Shape/bhmz05widening4.cc (1.2),
+	  tests/BD_Shape/bhmz05widening5.cc (1.2),
+	  tests/BD_Shape/bhmz05widening6.cc (1.2),
+	  tests/BD_Shape/bhmz05widening7.cc (1.2),
+	  tests/BD_Shape/bhmz05widening8.cc (1.2),
+	  tests/BD_Shape/bhz03widening1.cc (1.3),
+	  tests/BD_Shape/cc76extrapolation1.cc (1.6),
+	  tests/BD_Shape/cc76extrapolation2.cc (1.7),
+	  tests/BD_Shape/cc76extrapolation3.cc (1.6),
+	  tests/BD_Shape/cc76extrapolation4.cc (1.8),
+	  tests/BD_Shape/cc76extrapolation5.cc (1.6),
+	  tests/BD_Shape/cc76extrapolation6.cc (1.8),
+	  tests/BD_Shape/cc76narrowing1.cc (1.6),
+	  tests/BD_Shape/cc76narrowing2.cc (1.6),
+	  tests/BD_Shape/cc76narrowing3.cc (1.6),
+	  tests/BD_Shape/cc76narrowing4.cc (1.7),
+	  tests/BD_Shape/cc76narrowing5.cc (1.7),
+	  tests/BD_Shape/closure1.cc (1.11), tests/BD_Shape/concatenate1.cc
+	  (1.7), tests/BD_Shape/concatenate2.cc (1.7),
+	  tests/BD_Shape/concatenate3.cc (1.6),
+	  tests/BD_Shape/concatenate4.cc (1.6),
+	  tests/BD_Shape/concatenate5.cc (1.7),
+	  tests/BD_Shape/constraints1.cc (1.9),
+	  tests/BD_Shape/constraints2.cc (1.7), tests/BD_Shape/contains1.cc
+	  (1.6), tests/BD_Shape/contains2.cc (1.8),
+	  tests/BD_Shape/contains3.cc (1.8), tests/BD_Shape/empty1.cc
+	  (1.6), tests/BD_Shape/empty2.cc (1.6), tests/BD_Shape/empty3.cc
+	  (1.7), tests/BD_Shape/empty4.cc (1.6), tests/BD_Shape/empty5.cc
+	  (1.6), tests/BD_Shape/equality1.cc (1.9),
+	  tests/BD_Shape/exceptions1.cc (1.10),
+	  tests/BD_Shape/exceptions2.cc (1.9),
+	  tests/BD_Shape/exceptions3.cc (1.10),
+	  tests/BD_Shape/fromgensys1.cc (1.6),
+	  tests/BD_Shape/generalizedaffineimage1.cc (1.8),
+	  tests/BD_Shape/generalizedaffineimage10.cc (1.7),
+	  tests/BD_Shape/generalizedaffineimage11.cc (1.6),
+	  tests/BD_Shape/generalizedaffineimage12.cc (1.6),
+	  tests/BD_Shape/generalizedaffineimage13.cc (1.6),
+	  tests/BD_Shape/generalizedaffineimage14.cc (1.10),
+	  tests/BD_Shape/generalizedaffineimage2.cc (1.7),
+	  tests/BD_Shape/generalizedaffineimage3.cc (1.8),
+	  tests/BD_Shape/generalizedaffineimage4.cc (1.7),
+	  tests/BD_Shape/generalizedaffineimage5.cc (1.7),
+	  tests/BD_Shape/generalizedaffineimage6.cc (1.6),
+	  tests/BD_Shape/generalizedaffineimage7.cc (1.7),
+	  tests/BD_Shape/generalizedaffineimage8.cc (1.7),
+	  tests/BD_Shape/generalizedaffineimage9.cc (1.6),
+	  tests/BD_Shape/generalizedaffinepreimage1.cc (1.4),
+	  tests/BD_Shape/generalizedaffinepreimage2.cc (1.3),
+	  tests/BD_Shape/geomcovers1.cc (1.3),
+	  tests/BD_Shape/h79widening1.cc (1.6),
+	  tests/BD_Shape/intersection1.cc (1.6),
+	  tests/BD_Shape/intersection2.cc (1.6),
+	  tests/BD_Shape/intersection3.cc (1.7),
+	  tests/BD_Shape/intersection4.cc (1.8),
+	  tests/BD_Shape/intersection5.cc (1.8),
+	  tests/BD_Shape/intersection6.cc (1.7),
+	  tests/BD_Shape/intersection7.cc (1.7),
+	  tests/BD_Shape/intersection8.cc (1.7),
+	  tests/BD_Shape/limitedbhmz05extrapolation1.cc (1.2),
+	  tests/BD_Shape/limitedbhmz05extrapolation2.cc (1.2),
+	  tests/BD_Shape/limitedbhmz05extrapolation3.cc (1.2),
+	  tests/BD_Shape/limitedbhmz05extrapolation4.cc (1.2),
+	  tests/BD_Shape/limitedbhmz05extrapolation5.cc (1.2),
+	  tests/BD_Shape/limitedbhmz05extrapolation6.cc (1.2),
+	  tests/BD_Shape/limitedbhmz05extrapolation7.cc (1.2),
+	  tests/BD_Shape/limitedbhmz05extrapolation8.cc (1.2),
+	  tests/BD_Shape/limitedbhmz05extrapolation9.cc (1.2),
+	  tests/BD_Shape/limitedcc76extrapolation1.cc (1.2),
+	  tests/BD_Shape/limitedcc76extrapolation2.cc (1.2),
+	  tests/BD_Shape/limitedcc76extrapolation3.cc (1.2),
+	  tests/BD_Shape/limitedh79extrapolation1.cc (1.6),
+	  tests/BD_Shape/mapspacedims1.cc (1.6),
+	  tests/BD_Shape/mapspacedims2.cc (1.8),
+	  tests/BD_Shape/mapspacedims3.cc (1.7),
+	  tests/BD_Shape/mapspacedims4.cc (1.7),
+	  tests/BD_Shape/maxspacedim.cc (1.9),
+	  tests/BD_Shape/minconstraints1.cc (1.3),
+	  tests/BD_Shape/relations1.cc (1.10), tests/BD_Shape/relations2.cc
+	  (1.10), tests/BD_Shape/relations3.cc (1.9),
+	  tests/BD_Shape/relations4.cc (1.8), tests/BD_Shape/relations5.cc
+	  (1.10), tests/BD_Shape/removespacedims1.cc (1.7),
+	  tests/BD_Shape/removespacedims2.cc (1.8),
+	  tests/BD_Shape/removespacedims3.cc (1.8),
+	  tests/BD_Shape/timeelapse1.cc (1.7),
+	  tests/BD_Shape/timeelapse2.cc (1.6),
+	  tests/BD_Shape/timeelapse3.cc (1.6),
+	  tests/BD_Shape/timeelapse4.cc (1.6),
+	  tests/BD_Shape/timeelapse5.cc (1.7), tests/BD_Shape/universe1.cc
+	  (1.7), tests/BD_Shape/writebdshape1.cc (1.4),
+	  tests/BD_Shape/writebdshape2.cc (1.5),
+	  tests/Polyhedron/CbecomesNNC1.cc (1.6),
+	  tests/Polyhedron/LP_Problem3.cc (1.4),
+	  tests/Polyhedron/Makefile.am (1.40),
+	  tests/Polyhedron/NNCbecomesC1.cc (1.6),
+	  tests/Polyhedron/NNCminimize1.cc (1.6),
+	  tests/Polyhedron/NNCminimize2.cc (1.6),
+	  tests/Polyhedron/NNCminimize3.cc (1.6),
+	  tests/Polyhedron/NNCminimize4.cc (1.6),
+	  tests/Polyhedron/NNCminimize5.cc (1.6),
+	  tests/Polyhedron/NNCminimize6.cc (1.6), tests/Polyhedron/README
+	  (1.5), tests/Polyhedron/addconstraint1.cc (1.6),
+	  tests/Polyhedron/addconstraint2.cc (1.7),
+	  tests/Polyhedron/addconstraint3.cc (1.6),
+	  tests/Polyhedron/addconstraints1.cc (1.7),
+	  tests/Polyhedron/addconstraints10.cc (1.7),
+	  tests/Polyhedron/addconstraints11.cc (1.6),
+	  tests/Polyhedron/addconstraints12.cc (1.6),
+	  tests/Polyhedron/addconstraints13.cc (1.7),
+	  tests/Polyhedron/addconstraints2.cc (1.6),
+	  tests/Polyhedron/addconstraints3.cc (1.7),
+	  tests/Polyhedron/addconstraints4.cc (1.6),
+	  tests/Polyhedron/addconstraints5.cc (1.7),
+	  tests/Polyhedron/addconstraints6.cc (1.6),
+	  tests/Polyhedron/addconstraints7.cc (1.7),
+	  tests/Polyhedron/addconstraints8.cc (1.7),
+	  tests/Polyhedron/addconstraints9.cc (1.6),
+	  tests/Polyhedron/addgenerator1.cc (1.7),
+	  tests/Polyhedron/addgenerator2.cc (1.7),
+	  tests/Polyhedron/addgenerator3.cc (1.6),
+	  tests/Polyhedron/addgenerator4.cc (1.7),
+	  tests/Polyhedron/addgenerator5.cc (1.7),
+	  tests/Polyhedron/addgenerators1.cc (1.7),
+	  tests/Polyhedron/addgenerators10.cc (1.7),
+	  tests/Polyhedron/addgenerators11.cc (1.7),
+	  tests/Polyhedron/addgenerators12.cc (1.7),
+	  tests/Polyhedron/addgenerators13.cc (1.7),
+	  tests/Polyhedron/addgenerators2.cc (1.7),
+	  tests/Polyhedron/addgenerators3.cc (1.6),
+	  tests/Polyhedron/addgenerators4.cc (1.6),
+	  tests/Polyhedron/addgenerators5.cc (1.6),
+	  tests/Polyhedron/addgenerators6.cc (1.7),
+	  tests/Polyhedron/addgenerators7.cc (1.6),
+	  tests/Polyhedron/addgenerators8.cc (1.7),
+	  tests/Polyhedron/addgenerators9.cc (1.6),
+	  tests/Polyhedron/addspacedims1.cc (1.7),
+	  tests/Polyhedron/addspacedims10.cc (1.6),
+	  tests/Polyhedron/addspacedims11.cc (1.6),
+	  tests/Polyhedron/addspacedims12.cc (1.6),
+	  tests/Polyhedron/addspacedims13.cc (1.6),
+	  tests/Polyhedron/addspacedims2.cc (1.7),
+	  tests/Polyhedron/addspacedims3.cc (1.8),
+	  tests/Polyhedron/addspacedims4.cc (1.6),
+	  tests/Polyhedron/addspacedims5.cc (1.6),
+	  tests/Polyhedron/addspacedims6.cc (1.6),
+	  tests/Polyhedron/addspacedims7.cc (1.6),
+	  tests/Polyhedron/addspacedims8.cc (1.7),
+	  tests/Polyhedron/addspacedims9.cc (1.6),
+	  tests/Polyhedron/affineimage1.cc (1.7),
+	  tests/Polyhedron/affineimage2.cc (1.6),
+	  tests/Polyhedron/affineimage3.cc (1.6),
+	  tests/Polyhedron/affineimage4.cc (1.7),
+	  tests/Polyhedron/affineimage5.cc (1.7),
+	  tests/Polyhedron/affineimage6.cc (1.8),
+	  tests/Polyhedron/affineimage7.cc (1.6),
+	  tests/Polyhedron/affineimage8.cc (1.6),
+	  tests/Polyhedron/affineimage9.cc (1.6),
+	  tests/Polyhedron/affinepreimage1.cc (1.6),
+	  tests/Polyhedron/affinepreimage10.cc (1.6),
+	  tests/Polyhedron/affinepreimage11.cc (1.4),
+	  tests/Polyhedron/affinepreimage2.cc (1.6),
+	  tests/Polyhedron/affinepreimage3.cc (1.7),
+	  tests/Polyhedron/affinepreimage4.cc (1.6),
+	  tests/Polyhedron/affinepreimage5.cc (1.6),
+	  tests/Polyhedron/affinepreimage6.cc (1.6),
+	  tests/Polyhedron/affinepreimage7.cc (1.6),
+	  tests/Polyhedron/affinepreimage8.cc (1.7),
+	  tests/Polyhedron/affinepreimage9.cc (1.6),
+	  tests/Polyhedron/affinetrans.cc (1.7),
+	  tests/Polyhedron/append1.cc (1.6), tests/Polyhedron/append2.cc
+	  (1.6), tests/Polyhedron/ascii_dump_load1.cc (1.6),
+	  tests/Polyhedron/ascii_dump_load2.cc (1.6),
+	  tests/Polyhedron/ascii_dump_load3.cc (1.6),
+	  tests/Polyhedron/ascii_dump_load4.cc (1.6),
+	  tests/Polyhedron/ascii_dump_load5.cc (1.6),
+	  tests/Polyhedron/ascii_dump_load6.cc (1.7),
+	  tests/Polyhedron/ascii_dump_load7.cc (1.6),
+	  tests/Polyhedron/bgp99extrapolation1.cc (1.7),
+	  tests/Polyhedron/bgp99extrapolation2.cc (1.7),
+	  tests/Polyhedron/bhrz03widening1.cc (1.6),
+	  tests/Polyhedron/bhrz03widening10.cc (1.7),
+	  tests/Polyhedron/bhrz03widening11.cc (1.6),
+	  tests/Polyhedron/bhrz03widening12.cc (1.6),
+	  tests/Polyhedron/bhrz03widening13.cc (1.6),
+	  tests/Polyhedron/bhrz03widening14.cc (1.6),
+	  tests/Polyhedron/bhrz03widening15.cc (1.7),
+	  tests/Polyhedron/bhrz03widening16.cc (1.6),
+	  tests/Polyhedron/bhrz03widening17.cc (1.6),
+	  tests/Polyhedron/bhrz03widening18.cc (1.6),
+	  tests/Polyhedron/bhrz03widening19.cc (1.6),
+	  tests/Polyhedron/bhrz03widening2.cc (1.6),
+	  tests/Polyhedron/bhrz03widening3.cc (1.6),
+	  tests/Polyhedron/bhrz03widening4.cc (1.6),
+	  tests/Polyhedron/bhrz03widening5.cc (1.6),
+	  tests/Polyhedron/bhrz03widening6.cc (1.6),
+	  tests/Polyhedron/bhrz03widening7.cc (1.6),
+	  tests/Polyhedron/bhrz03widening8.cc (1.6),
+	  tests/Polyhedron/bhrz03widening9.cc (1.6),
+	  tests/Polyhedron/bhz03widening1.cc (1.8),
+	  tests/Polyhedron/bhz03widening2.cc (1.8),
+	  tests/Polyhedron/bhz03widening3.cc (1.8),
+	  tests/Polyhedron/bhz03widening4.cc (1.7),
+	  tests/Polyhedron/bhz03widening5.cc (1.7),
+	  tests/Polyhedron/bhz03widening6.cc (1.8),
+	  tests/Polyhedron/bounded1.cc (1.7),
+	  tests/Polyhedron/boundedaffineimage1.cc (1.5),
+	  tests/Polyhedron/boundedaffineimage2.cc (1.4),
+	  tests/Polyhedron/boundedaffineimage3.cc (1.4),
+	  tests/Polyhedron/boundedaffinepreimage1.cc (1.4),
+	  tests/Polyhedron/boundedaffinepreimage2.cc (1.4),
+	  tests/Polyhedron/boundedaffinepreimage3.cc (1.4),
+	  tests/Polyhedron/boundedbhrz03extrapolation1.cc (1.5),
+	  tests/Polyhedron/boundedh79extrapolation1.cc (1.7),
+	  tests/Polyhedron/boundingbox1.cc (1.8),
+	  tests/Polyhedron/boundingbox2.cc (1.7),
+	  tests/Polyhedron/boundingbox3.cc (1.7),
+	  tests/Polyhedron/boundingbox4.cc (1.7),
+	  tests/Polyhedron/boundingbox5.cc (1.7),
+	  tests/Polyhedron/bounds1.cc (1.7), tests/Polyhedron/bounds2.cc
+	  (1.6), tests/Polyhedron/bug2.cc (1.5),
+	  tests/Polyhedron/concatenate1.cc (1.6),
+	  tests/Polyhedron/concatenate2.cc (1.7),
+	  tests/Polyhedron/concatenate3.cc (1.6),
+	  tests/Polyhedron/concatenate4.cc (1.6),
+	  tests/Polyhedron/concatenate5.cc (1.6),
+	  tests/Polyhedron/concatenate6.cc (1.7),
+	  tests/Polyhedron/concatenate7.cc (1.5),
+	  tests/Polyhedron/constraints1.cc (1.6),
+	  tests/Polyhedron/constraints2.cc (1.7),
+	  tests/Polyhedron/constraints3.cc (1.6),
+	  tests/Polyhedron/constraints4.cc (1.7),
+	  tests/Polyhedron/constraints5.cc (1.5),
+	  tests/Polyhedron/contains1.cc (1.6),
+	  tests/Polyhedron/contains2.cc (1.6),
+	  tests/Polyhedron/contains3.cc (1.6),
+	  tests/Polyhedron/contains4.cc (1.6),
+	  tests/Polyhedron/contains5.cc (1.6),
+	  tests/Polyhedron/disjoint1.cc (1.6),
+	  tests/Polyhedron/disjoint2.cc (1.7),
+	  tests/Polyhedron/disjoint3.cc (1.7),
+	  tests/Polyhedron/dualhypercubes.cc (1.6),
+	  tests/Polyhedron/empty1.cc (1.7), tests/Polyhedron/equals1.cc
+	  (1.6), tests/Polyhedron/exceptions1.cc (1.9),
+	  tests/Polyhedron/exceptions2.cc (1.7),
+	  tests/Polyhedron/exceptions3.cc (1.8),
+	  tests/Polyhedron/expandspacedim1.cc (1.7),
+	  tests/Polyhedron/expandspacedim2.cc (1.7),
+	  tests/Polyhedron/foldspacedims1.cc (1.7),
+	  tests/Polyhedron/foldspacedims2.cc (1.7),
+	  tests/Polyhedron/generalizedaffineimage1.cc (1.7),
+	  tests/Polyhedron/generalizedaffineimage10.cc (1.6),
+	  tests/Polyhedron/generalizedaffineimage11.cc (1.7),
+	  tests/Polyhedron/generalizedaffineimage12.cc (1.6),
+	  tests/Polyhedron/generalizedaffineimage13.cc (1.5),
+	  tests/Polyhedron/generalizedaffineimage14.cc (1.5),
+	  tests/Polyhedron/generalizedaffineimage2.cc (1.7),
+	  tests/Polyhedron/generalizedaffineimage3.cc (1.7),
+	  tests/Polyhedron/generalizedaffineimage4.cc (1.7),
+	  tests/Polyhedron/generalizedaffineimage5.cc (1.6),
+	  tests/Polyhedron/generalizedaffineimage6.cc (1.7),
+	  tests/Polyhedron/generalizedaffineimage7.cc (1.7),
+	  tests/Polyhedron/generalizedaffineimage8.cc (1.6),
+	  tests/Polyhedron/generalizedaffineimage9.cc (1.6),
+	  tests/Polyhedron/generalizedaffinepreimage1.cc (1.4),
+	  tests/Polyhedron/generalizedaffinepreimage2.cc (1.4),
+	  tests/Polyhedron/generalizedaffinepreimage3.cc (1.4),
+	  tests/Polyhedron/generalizedaffinepreimage4.cc (1.4),
+	  tests/Polyhedron/generators1.cc (1.6),
+	  tests/Polyhedron/generators2.cc (1.6),
+	  tests/Polyhedron/generators3.cc (1.7),
+	  tests/Polyhedron/generators4.cc (1.7),
+	  tests/Polyhedron/generators5.cc (1.6),
+	  tests/Polyhedron/generators6.cc (1.7),
+	  tests/Polyhedron/generators7.cc (1.6),
+	  tests/Polyhedron/geomcovers1.cc (1.8),
+	  tests/Polyhedron/gramschmidt1.cc (1.3),
+	  tests/Polyhedron/h79widening1.cc (1.6),
+	  tests/Polyhedron/h79widening2.cc (1.6),
+	  tests/Polyhedron/h79widening3.cc (1.6),
+	  tests/Polyhedron/h79widening4.cc (1.6),
+	  tests/Polyhedron/h79widening5.cc (1.7),
+	  tests/Polyhedron/h79widening6.cc (1.6),
+	  tests/Polyhedron/h79widening7.cc (1.6),
+	  tests/Polyhedron/h79widening8.cc (1.6),
+	  tests/Polyhedron/intersection1.cc (1.6),
+	  tests/Polyhedron/intersection10.cc (1.7),
+	  tests/Polyhedron/intersection11.cc (1.7),
+	  tests/Polyhedron/intersection2.cc (1.6),
+	  tests/Polyhedron/intersection3.cc (1.6),
+	  tests/Polyhedron/intersection4.cc (1.7),
+	  tests/Polyhedron/intersection5.cc (1.7),
+	  tests/Polyhedron/intersection6.cc (1.7),
+	  tests/Polyhedron/intersection7.cc (1.6),
+	  tests/Polyhedron/intersection8.cc (1.7),
+	  tests/Polyhedron/intersection9.cc (1.7),
+	  tests/Polyhedron/limitedbhrz03extrapolation1.cc (1.6),
+	  tests/Polyhedron/limitedh79extrapolation1.cc (1.6),
+	  tests/Polyhedron/limitedh79extrapolation2.cc (1.6),
+	  tests/Polyhedron/limitedh79extrapolation3.cc (1.6),
+	  tests/Polyhedron/limitedh79extrapolation4.cc (1.7),
+	  tests/Polyhedron/linearpartition1.cc (1.6),
+	  tests/Polyhedron/linearpartition2.cc (1.6),
+	  tests/Polyhedron/linearpartition3.cc (1.6),
+	  tests/Polyhedron/linearpartition4.cc (1.7),
+	  tests/Polyhedron/linearsystem1.cc (1.3),
+	  tests/Polyhedron/linexpression1.cc (1.6),
+	  tests/Polyhedron/lpproblem1.cc (1.2),
+	  tests/Polyhedron/lpproblem2.cc (1.2),
+	  tests/Polyhedron/mapspacedims1.cc (1.7),
+	  tests/Polyhedron/mapspacedims2.cc (1.6),
+	  tests/Polyhedron/mapspacedims3.cc (1.6),
+	  tests/Polyhedron/mapspacedims4.cc (1.6),
+	  tests/Polyhedron/matrix1.cc (1.6), tests/Polyhedron/max_min1.cc
+	  (1.7), tests/Polyhedron/max_min2.cc (1.7),
+	  tests/Polyhedron/maxspacedim1.cc (1.6), tests/Polyhedron/mc91.cc
+	  (1.7), tests/Polyhedron/membytes1.cc (1.7),
+	  tests/Polyhedron/membytes2.cc (1.6), tests/Polyhedron/memory1.cc
+	  (1.8), tests/Polyhedron/memory2.cc (1.11),
+	  tests/Polyhedron/minconstraints1.cc (1.6),
+	  tests/Polyhedron/minconstraints2.cc (1.7),
+	  tests/Polyhedron/minconstraints3.cc (1.6),
+	  tests/Polyhedron/minconstraints4.cc (1.6),
+	  tests/Polyhedron/mingenerators1.cc (1.6),
+	  tests/Polyhedron/mingenerators2.cc (1.7),
+	  tests/Polyhedron/mingenerators3.cc (1.6),
+	  tests/Polyhedron/numberinput1.cc (1.20),
+	  tests/Polyhedron/onepoint.cc (1.7), tests/Polyhedron/permute.cc
+	  (1.6), tests/Polyhedron/polydifference1.cc (1.6),
+	  tests/Polyhedron/polydifference2.cc (1.6),
+	  tests/Polyhedron/polydifference3.cc (1.6),
+	  tests/Polyhedron/polydifference4.cc (1.7),
+	  tests/Polyhedron/polydifference5.cc (1.6),
+	  tests/Polyhedron/polydifference6.cc (1.6),
+	  tests/Polyhedron/polydifference7.cc (1.7),
+	  tests/Polyhedron/polydifference8.cc (1.6),
+	  tests/Polyhedron/polydifference9.cc (1.7),
+	  tests/Polyhedron/polyhull1.cc (1.6),
+	  tests/Polyhedron/polyhull10.cc (1.6),
+	  tests/Polyhedron/polyhull11.cc (1.6),
+	  tests/Polyhedron/polyhull2.cc (1.7),
+	  tests/Polyhedron/polyhull3.cc (1.7),
+	  tests/Polyhedron/polyhull4.cc (1.6),
+	  tests/Polyhedron/polyhull5.cc (1.7),
+	  tests/Polyhedron/polyhull6.cc (1.6),
+	  tests/Polyhedron/polyhull7.cc (1.6),
+	  tests/Polyhedron/polyhull8.cc (1.7),
+	  tests/Polyhedron/polyhull9.cc (1.7),
+	  tests/Polyhedron/polypowerset1.cc (1.8),
+	  tests/Polyhedron/powerset1.cc (1.4),
+	  tests/Polyhedron/randphull1.cc (1.7),
+	  tests/Polyhedron/randphull2.cc (1.8),
+	  tests/Polyhedron/relations1.cc (1.6),
+	  tests/Polyhedron/relations10.cc (1.6),
+	  tests/Polyhedron/relations11.cc (1.6),
+	  tests/Polyhedron/relations12.cc (1.6),
+	  tests/Polyhedron/relations13.cc (1.6),
+	  tests/Polyhedron/relations14.cc (1.6),
+	  tests/Polyhedron/relations15.cc (1.6),
+	  tests/Polyhedron/relations16.cc (1.6),
+	  tests/Polyhedron/relations17.cc (1.7),
+	  tests/Polyhedron/relations18.cc (1.6),
+	  tests/Polyhedron/relations19.cc (1.7),
+	  tests/Polyhedron/relations2.cc (1.7),
+	  tests/Polyhedron/relations3.cc (1.6),
+	  tests/Polyhedron/relations4.cc (1.6),
+	  tests/Polyhedron/relations5.cc (1.6),
+	  tests/Polyhedron/relations6.cc (1.7),
+	  tests/Polyhedron/relations7.cc (1.6),
+	  tests/Polyhedron/relations8.cc (1.6),
+	  tests/Polyhedron/relations9.cc (1.6),
+	  tests/Polyhedron/removespacedims1.cc (1.6),
+	  tests/Polyhedron/removespacedims10.cc (1.7),
+	  tests/Polyhedron/removespacedims2.cc (1.6),
+	  tests/Polyhedron/removespacedims3.cc (1.7),
+	  tests/Polyhedron/removespacedims4.cc (1.6),
+	  tests/Polyhedron/removespacedims5.cc (1.7),
+	  tests/Polyhedron/removespacedims6.cc (1.6),
+	  tests/Polyhedron/removespacedims7.cc (1.6),
+	  tests/Polyhedron/removespacedims8.cc (1.6),
+	  tests/Polyhedron/removespacedims9.cc (1.6),
+	  tests/Polyhedron/smm1.cc (1.6), tests/Polyhedron/timeelapse1.cc
+	  (1.6), tests/Polyhedron/timeelapse2.cc (1.7),
+	  tests/Polyhedron/timeelapse3.cc (1.6),
+	  tests/Polyhedron/timeelapse4.cc (1.6),
+	  tests/Polyhedron/timeelapse5.cc (1.7),
+	  tests/Polyhedron/timeelapse6.cc (1.6),
+	  tests/Polyhedron/timeelapse7.cc (1.7),
+	  tests/Polyhedron/timeelapse8.cc (1.7),
+	  tests/Polyhedron/timeelapse9.cc (1.7),
+	  tests/Polyhedron/topclosed1.cc (1.7),
+	  tests/Polyhedron/topclosed2.cc (1.7),
+	  tests/Polyhedron/topclosed3.cc (1.6),
+	  tests/Polyhedron/topclosure1.cc (1.6),
+	  tests/Polyhedron/topclosure2.cc (1.7),
+	  tests/Polyhedron/topclosure3.cc (1.6),
+	  tests/Polyhedron/topclosure4.cc (1.7),
+	  tests/Polyhedron/universe1.cc (1.6),
+	  tests/Polyhedron/universe2.cc (1.6),
+	  tests/Polyhedron/universe3.cc (1.6),
+	  tests/Polyhedron/universe4.cc (1.6),
+	  tests/Polyhedron/universe5.cc (1.6),
+	  tests/Polyhedron/universe6.cc (1.6),
+	  tests/Polyhedron/universe7.cc (1.6),
+	  tests/Polyhedron/watchdog1.cc (1.7),
+	  tests/Polyhedron/writeconsys1.cc (1.6),
+	  tests/Polyhedron/writegensys1.cc (1.6),
+	  tests/Polyhedron/writegensys2.cc (1.7),
+	  tests/Polyhedron/writegensys3.cc (1.6),
+	  tests/Polyhedron/writepolyhedron1.cc (1.6),
+	  tests/Polyhedron/writepolyhedron2.cc (1.6),
+	  tests/Polyhedron/writepolyhedron3.cc (1.6),
+	  tests/Polyhedron/writerelation1.cc (1.6),
+	  tests/Polyhedron/writevariable1.cc (1.6), utils/Makefile.am
+	  (1.11), utils/build_header.in (1.3), utils/text2cxxarray.in
+	  (1.2), utils/timings.cc (1.6), utils/timings.hh (1.4): Copyright
+	  years extended.
+
+2005-12-31 Saturday 18:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: primalsimplex1.cc (1.5), primalsimplex2.cc
+	  (1.5): No longer testing the primal_simplex method.
+
+2005-12-31 Saturday 18:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.171): Do not announce the primal_simplex() methods; do
+	  announce the LP_Problem class instead.
+
+2005-12-31 Saturday 18:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.181): The widening on BD_Shape is now the
+	  BHMZ05 widening.
+
+2005-12-31 Saturday 18:29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.146), ppl_c.h.in (1.59): Got rid of
+	  the old interfaces for the primal simplex algorithm.
+
+2005-12-31 Saturday 18:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: LP_Problem1.cc (1.3), LP_Problem2.cc (1.3),
+	  Makefile.am (1.39), lpproblem1.cc (1.1), lpproblem2.cc (1.1):
+	  Renamed (and basically rewritten) tests for class LP_Problem.
+
+2005-12-31 Saturday 18:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/: Makefile.am (1.30), bhmz05widening1.cc (1.1),
+	  bhmz05widening2.cc (1.1), bhmz05widening3.cc (1.1),
+	  bhmz05widening4.cc (1.1), bhmz05widening5.cc (1.1),
+	  bhmz05widening6.cc (1.1), bhmz05widening7.cc (1.1),
+	  bhmz05widening8.cc (1.1), ch78widening1.cc (1.6),
+	  ch78widening2.cc (1.7), ch78widening3.cc (1.6), ch78widening4.cc
+	  (1.7), ch78widening5.cc (1.7), ch78widening6.cc (1.9),
+	  ch78widening7.cc (1.6), ch78widening8.cc (1.7), exceptions2.cc
+	  (1.8), limitedCC76extrapolation1.cc (1.6),
+	  limitedCC76extrapolation2.cc (1.8), limitedCC76extrapolation3.cc
+	  (1.8), limitedCH78extrapolation1.cc (1.7),
+	  limitedCH78extrapolation2.cc (1.6), limitedCH78extrapolation3.cc
+	  (1.6), limitedCH78extrapolation4.cc (1.6),
+	  limitedCH78extrapolation5.cc (1.6), limitedCH78extrapolation6.cc
+	  (1.6), limitedCH78extrapolation7.cc (1.6),
+	  limitedCH78extrapolation8.cc (1.6), limitedCH78extrapolation9.cc
+	  (1.6), limitedbhmz05extrapolation1.cc (1.1),
+	  limitedbhmz05extrapolation2.cc (1.1),
+	  limitedbhmz05extrapolation3.cc (1.1),
+	  limitedbhmz05extrapolation4.cc (1.1),
+	  limitedbhmz05extrapolation5.cc (1.1),
+	  limitedbhmz05extrapolation6.cc (1.1),
+	  limitedbhmz05extrapolation7.cc (1.1),
+	  limitedbhmz05extrapolation8.cc (1.1),
+	  limitedbhmz05extrapolation9.cc (1.1),
+	  limitedcc76extrapolation1.cc (1.1), limitedcc76extrapolation2.cc
+	  (1.1), limitedcc76extrapolation3.cc (1.1): Renaming the CH78
+	  widening into BHMZ05 widening.  Avoid uppercases in the tests'
+	  filenames.
+
+2005-12-31 Saturday 18:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.55), BD_Shape.inlines.hh (1.115):
+	  Method CH78_widening_assign() renamed as
+	  BHMZ05_widening_assign().  Fixed a few problems in the
+	  documentation.  Fixed several occurrences of a problem regarding
+	  the checked approximation of the negation of a Coefficient.
+
+2005-12-31 Saturday 18:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (1.129): Exploit LP_Problem when
+	  (efficiently) testing for emptyness of the Polyhedron in method
+	  shrink_bounding_box().
+
+2005-12-31 Saturday 18:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_nonpublic.cc (1.62): Exploit the new LP_Problem
+	  class in the implementation of minimization for NNC polyhedra.
+
+2005-12-31 Saturday 18:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/LP_Problem.inlines.hh (1.3): Properly initialize and copy the
+	  private member working_cost.
+
+2005-12-31 Saturday 18:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Makefile.am (1.133), simplex.cc (1.35): Got rid of the old
+	  simplex implementation.
+
+2005-12-31 Saturday 18:18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Constraint_System.defs.hh (1.21): Got rid of the primal
+	  simplex methods.
+
+2005-12-31 Saturday 18:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Constraint.defs.hh (1.111): Corrected documentation for
+	  private method set_is_inequality().
+
+2005-12-31 Saturday 18:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref.doxyconf-html.in (1.62), devref.doxyconf-latex.in
+	  (1.5), user.doxyconf-html.in (1.32), user.doxyconf-latex.in
+	  (1.4): Updated to the new version of doxygen (1.4.6).  Completed
+	  the list of input files for the devref manual.
+
+2005-12-31 Saturday 18:03  Abramo Bagnara
+
+	* src/checked.cc (1.10): Reverted to old version and fixed it.
+
+2005-12-31 Saturday 17:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/numberinput1.cc (1.19): Fixed another expected
+	  result.
+
+2005-12-31 Saturday 17:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/numberinput1.cc (1.18): Fixed some expected
+	  results.
+
+2005-12-31 Saturday 17:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/numberinput1.cc (1.17): FIX comments removed:
+	  some were OK, some were not.
+
+2005-12-31 Saturday 15:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedra_Powerset.cc (1.5): Added a missing \relates Doxygen
+	  command.
+
+2005-12-31 Saturday 15:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: GMP_Integer.defs.hh (1.15), GMP_Integer.inlines.hh (1.10):
+	  Added binary version of neg_assign().
+
+2005-12-31 Saturday 12:23  Abramo Bagnara
+
+	* tests/Polyhedron/numberinput1.cc (1.16): Rewritten test function.
+
+2005-12-31 Saturday 12:17  Abramo Bagnara
+
+	* src/Checked_Number.inlines.hh (1.50): Missing rename.
+
+2005-12-31 Saturday 11:40  Abramo Bagnara
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.51), interfaces/C/ppl_c.cc (1.145),
+	  interfaces/Prolog/ppl_prolog.icc (1.167),
+	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.38),
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.33),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.83),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.109),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.74),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.100), src/BD_Shape.inlines.hh
+	  (1.114), src/Bounding_Box.inlines.hh (1.13),
+	  src/Checked_Number.defs.hh (1.46), src/Checked_Number.inlines.hh
+	  (1.49), src/DB_Matrix.inlines.hh (1.20),
+	  src/Polyhedron.inlines.hh (1.128), src/Polyhedron_nonpublic.cc
+	  (1.61), tests/Random_Number_Generator.inlines.hh (1.6),
+	  tests/BD_Shape/closure1.cc (1.10): Renamed assign in assign_r for
+	  congruency.
+
+2005-12-30 Friday 23:37  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.180): Removed a repeated "the".
+
+2005-12-30 Friday 23:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (1.165): Removed two items:
+
+	  - Improve the documentation of Polyhedron::shrink_bounding_box().
+	     See
+	  http://www.cs.unipr.it/pipermail/ppl-devel/2005-July/006191.html.
+	   (documentation of Polyhedron::shrink_bounding_box() has been
+	  improved.)
+
+	  - The documentation has been read through but a more careful
+	  check,   particularly on the detailed descriptions, should be
+	  done.
+
+2005-12-30 Friday 23:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Polyhedron.defs.hh (1.287): Added more explanation regarding
+	  shrink_bounding_box.
+
+2005-12-30 Friday 21:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Linear_Expression.cc (1.7): Removed excessive uses of
+	  vertical space.
+
+2005-12-30 Friday 21:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Linear_Expression.defs.hh (1.15), Polyhedron.defs.hh
+	  (1.286): Removed excessive indentation in Doxygen comments.
+
+2005-12-30 Friday 21:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/LP_Problem3.cc (1.3): Avoid a space dimension
+	  compatibility problem.
+
+2005-12-30 Friday 21:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.50), interfaces/C/ppl_c.cc (1.144),
+	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.37),
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.32),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.82),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.108),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.73), src/BD_Shape.inlines.hh
+	  (1.113), src/Bounding_Box.inlines.hh (1.12),
+	  src/Polyhedron.inlines.hh (1.127), src/Polyhedron_nonpublic.cc
+	  (1.60): Got rid of most uses of raw_value().
+
+2005-12-30 Friday 21:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/run_tests (1.11): Delete trailing whitespace.
+
+2005-12-30 Friday 21:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.143): Added a couple of missing spaces.
+
+2005-12-30 Friday 21:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h.in (1.58): Corrected the documentation for
+	  the return value of ppl_LP_Problem_solve().
+
+2005-12-30 Friday 21:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.166): Fixed indentation in a
+	  switch statement.  Added the missing default case in another
+	  switch statement.
+
+2005-12-30 Friday 21:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/: Makefile.am (1.16), expected_mpz (1.5),
+	  expected_mpz_a (1.5): Make check now also perform many tests
+	  using the simplex algorithm.	Expected results for mpz
+	  coefficients changed accordingly.
+
+2005-12-30 Friday 21:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.25): Check for all possible values
+	  that can be returned by ppl_LP_Problem_solve().
+
+2005-12-30 Friday 21:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedra_Powerset.inlines.hh (1.35): Added namespace
+	  qualification to a doxygen \relates command for a function that
+	  is no longer in the anonymous namespace.
+
+2005-12-30 Friday 21:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/GMP_Integer.types.hh (1.10): Let the brief doxygen
+	  documentation be actually printed.
+
+2005-12-30 Friday 19:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Ptr_Iterator.types.hh (1.4): Replaced a use of `class' with
+	  `typename'.
+
+2005-12-30 Friday 19:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Ask_Tell.types.hh (1.3), BD_Shape.types.hh (1.4),
+	  BHRZ03_Certificate.types.hh (1.3), Bounding_Box.types.hh (1.3),
+	  C_Polyhedron.types.hh (1.9), Constraint.types.hh (1.9),
+	  Constraint_System.types.hh (1.3), DB_Matrix.types.hh (1.4),
+	  DB_Row.types.hh (1.5), Determinate.types.hh (1.7),
+	  Generator.types.hh (1.9), Generator_System.types.hh (1.3),
+	  H79_Certificate.types.hh (1.3), Init.types.hh (1.8),
+	  Interval.types.hh (1.10), LP_Problem.types.hh (1.3),
+	  Linear_Expression.types.hh (1.3), Linear_Row.types.hh (1.3),
+	  Linear_System.types.hh (1.3), Matrix.types.hh (1.9),
+	  NNC_Polyhedron.types.hh (1.9), Poly_Con_Relation.types.hh (1.8),
+	  Poly_Gen_Relation.types.hh (1.8), Polyhedra_Powerset.types.hh
+	  (1.3), Powerset.types.hh (1.3), Row.types.hh (1.10),
+	  Saturation_Matrix.types.hh (1.3), Saturation_Row.types.hh (1.3),
+	  Variable.types.hh (1.9), Widening_Function.types.hh (1.4):
+	  Namespaces' closing brackets should always be commented.
+
+2005-12-30 Friday 19:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Coefficient.types.hh (1.10): Include "Checked_Number.defs.hh"
+	  unconditionally.
+
+2005-12-30 Friday 19:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/namespaces.hh (1.4): Namespaces' closing brackets should
+	  always be commented.
+
+2005-12-30 Friday 18:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.170), demos/ppl_lpsol/Makefile.am (1.15): With the new
+	  simplex implementation, ppl_lpsol is indeed a quite useful tool:
+	  it is now installed in $(bindir) upon `make install'.
+
+2005-12-30 Friday 18:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.24): New option --enumerate, dual
+	  to --simplex.
+
+2005-12-30 Friday 18:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Coefficient.defs.hh (1.5), Coefficient.types.hh (1.9),
+	  Makefile.am (1.132), Native_Integer.defs.hh (1.17),
+	  Native_Integer.inlines.hh (1.20), Native_Integer.types.hh (1.11):
+	  Old implementation of native integer coefficients phased out:
+	  checked numbers with the transparent policy are used instead.
+
+2005-12-30 Friday 18:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.199): When native integers are requested, use
+	  checked numbers with the transparent policy for the coefficients.
+	  Version number bumped.
+
+2005-12-30 Friday 17:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.23): Require at least version 8 of
+	  the PPL.
+
+2005-12-30 Friday 17:10  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh (1.45), Checked_Number.inlines.hh
+	  (1.48), checked.defs.hh (1.29): More visibility to
+	  Checked_Number_Transparent_Policy.
+
+2005-12-30 Friday 16:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.22): Now also accepting the long
+	  option --simplex.  Avoid a duplicated timing output and do not
+	  claim optimization (in the output) when the LP problem has been
+	  found unfeasible or unbounded.
+
+2005-12-30 Friday 16:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Native_Integer.inlines.hh (1.19): Implemented template
+	  <typename T> Native_Integer<T>::operator T() const.
+
+2005-12-30 Friday 10:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Matrix.cc (1.88): Added an assertion on the parameter of
+	  permute_columns().
+
+2005-12-30 Friday 10:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.112): Added a missing namespace
+	  qualification in code expoiting the new simplex implementation.
+
+2005-12-30 Friday 09:36  Abramo Bagnara
+
+	* src/: BD_Shape.inlines.hh (1.111), Checked_Number.defs.hh (1.44),
+	  Checked_Number.inlines.hh (1.47), Constraint.cc (1.53),
+	  DB_Matrix.inlines.hh (1.19), GMP_Integer.defs.hh (1.14),
+	  GMP_Integer.inlines.hh (1.9), Generator.cc (1.66), LP_Problem.cc
+	  (1.3), Linear_Expression.cc (1.6), Linear_Row.cc (1.15),
+	  Linear_System.cc (1.32), Native_Integer.defs.hh (1.16),
+	  Native_Integer.inlines.hh (1.18), Polyhedron_public.cc (1.69),
+	  Row.cc (1.94), conversion.cc (1.76), simplex.cc (1.34): Renamed
+	  assign functors for congruency.
+
+2005-12-30 Friday 09:34  Abramo Bagnara
+
+	* src/: checked_int.inlines.hh (1.42), checked_numeric_limits.hh
+	  (1.8): Cleaner implementation of limits.
+
+2005-12-29 Thursday 22:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.21), doc/devref.doxyconf-html.in
+	  (1.61), interfaces/C/ppl_c.cc (1.142), interfaces/C/ppl_c.h.in
+	  (1.57), interfaces/Prolog/Prolog_interface.dox (1.139),
+	  interfaces/Prolog/exceptions.hh (1.18),
+	  interfaces/Prolog/ppl_prolog.icc (1.165),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.107),
+	  src/BD_Shape.inlines.hh (1.110), src/Constraint_System.defs.hh
+	  (1.20), src/LP_Problem.cc (1.2), src/LP_Problem.defs.hh (1.2),
+	  src/LP_Problem.inlines.hh (1.2), src/LP_Problem.types.hh (1.2),
+	  src/Linear_Expression.defs.hh (1.14), src/Makefile.am (1.131),
+	  src/Polyhedron_nonpublic.cc (1.59), src/globals.types.hh (1.3),
+	  src/simplex.cc (1.33), tests/Polyhedron/LP_Problem1.cc (1.2),
+	  tests/Polyhedron/LP_Problem2.cc (1.2),
+	  tests/Polyhedron/LP_Problem3.cc (1.2),
+	  tests/Polyhedron/Makefile.am (1.38),
+	  tests/Polyhedron/primalsimplex1.cc (1.4),
+	  tests/Polyhedron/primalsimplex2.cc (1.4): First merge of the
+	  simplex branch to the main trunk.
+
+2005-12-29 Thursday 20:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (simplex.4): Stick to use the new
+	  interface for the simplex algorithm.
+
+2005-12-29 Thursday 08:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.198): Check for egrep: we use it to perform some
+	  version checks.
+
+2005-12-29 Thursday 07:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.169), interfaces/Prolog/Prolog_interface.dox (1.138),
+	  m4/ac_check_swi_prolog.m4 (1.7): We now require SWI-Prolog 5.6.0
+	  or later version: the AC_CHECK_SWI_PROLOG macro checks that this
+	  requirement is fulfilled.
+
+2005-12-29 Thursday 07:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Row.cc (1.93): Avoid shadowing variables (and the consequent
+	  compiler warnings).
+
+2005-12-28 Wednesday 17:39  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.168): Added an item regarding the implementation of the
+	  domain of BD shapes.
+
+2005-12-28 Wednesday 17:37  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: LP_Problem.cc, LP_Problem.inlines.hh (simplex.[13,13]):
+	  Throwing the documented exceptions when appropriate.	Method OK()
+	  is no longer inlined and now performs some more accurate
+	  consistency check.
+
+2005-12-28 Wednesday 17:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/LP_Problem.defs.hh (simplex.12): Added documentation about
+	  exceptions that should be thrown.
+
+2005-12-27 Tuesday 13:45  Andrea Cimino
+
+	* tests/Polyhedron/LP_Problem3.cc (simplex.3): Enabled by mistake
+	  NOISY macro: now disabled.
+
+2005-12-27 Tuesday 13:44  Andrea Cimino
+
+	* tests/Polyhedron/LP_Problem3.cc (simplex.2): Inserted another
+	  challenger: the problem is solved also adding `incrementally'
+	  constraints to a Constraint_System and applying the simplex
+	  algorithm.
+
+2005-12-25 Sunday 13:07  Andrea Cimino
+
+	* tests/Polyhedron/: LP_Problem1.cc, LP_Problem3.cc
+	  (simplex.[5,1]): Added another test to check LP_Problem's
+	  incrementality.  Avoid useless inclusions.
+
+2005-12-24 Saturday 12:29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.inlines.hh (1.109), Checked_Number.defs.hh (1.43):
+	  Two FIXME replaced by corresponding TODO.  Minor variable name
+	  improvements in generalized_affine_preimage.	Splitted too long
+	  lines in Checked_Number.defs.hh.
+
+2005-12-24 Saturday 12:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.54): Indentation fixed.
+
+2005-12-24 Saturday 12:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.164): A couple of items dealt with.
+
+2005-12-24 Saturday 12:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.167), STANDARDS (1.28): A couple of minor improvements.
+
+2005-12-24 Saturday 12:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c, interfaces/C/ppl_c.cc,
+	  interfaces/C/ppl_c.h.in, interfaces/Prolog/Prolog_interface.dox,
+	  interfaces/Prolog/ppl_prolog.icc, src/BD_Shape.inlines.hh,
+	  src/Constraint_System.defs.hh, src/LP_Problem.cc,
+	  src/LP_Problem.defs.hh, src/LP_Problem.inlines.hh,
+	  src/LP_Problem.types.hh, src/Polyhedron_nonpublic.cc,
+	  src/globals.types.hh, src/simplex.cc,
+	  tests/Polyhedron/LP_Problem1.cc, tests/Polyhedron/Makefile.am,
+	  tests/Polyhedron/primalsimplex1.cc,
+	  tests/Polyhedron/primalsimplex2.cc
+	  (simplex.[3,3,3,2,2,2,3,12,11,12,2,1,2,2,4,2,1,1]): The
+	  enumeration Simplex_Status renamed as LP_Problem_Status.  Its
+	  definition moved into LP_Problem.types.hh.
+
+2005-12-23 Friday 17:03  Matthew Mundell
+
+	* src/Grid_public.cc (grids.127): Update the constraint system
+	  adding methods to leave the check on the existence of rows in the
+	  temporary congruence system to the method that will add that
+	  congruence system.
+
+2005-12-23 Friday 16:51  Matthew Mundell
+
+	* src/: Congruence_System.cc, Congruence_System.inlines.hh
+	  (grids.[38,12]): Ensure that all constructors create at least two
+	  columns.
+
+2005-12-23 Friday 15:48  Matthew Mundell
+
+	* src/Grid_public.cc (grids.126): Enable the all-zero parameter OK
+	  check.
+
+2005-12-23 Friday 15:48  Matthew Mundell
+
+	* src/Grid_Generator_System.defs.hh (grids.17): Add the all-zero
+	  parameter behaviour to the insert(g) description.
+
+2005-12-23 Friday 15:41  Matthew Mundell
+
+	* src/Grid_Generator_System.cc (grids.25): Adding setting of the
+	  first pending row index to the recycling_insert methods.
+
+2005-12-23 Friday 14:40  Matthew Mundell
+
+	* tests/Grid/isuniverse1.cc (grids.9): Add three tests where the
+	  grid is defined by a minimized congruence system.
+
+2005-12-23 Friday 14:39  Matthew Mundell
+
+	* src/Grid_public.cc (grids.125): Leave the is_universe assumption
+	  that the minimized universe congruence system always contains
+	  exactly the integrality congruence.
+
+2005-12-23 Friday 14:38  Matthew Mundell
+
+	* src/Grid_chdims.cc (grids.29): Add a query about using the
+	  congruence system in remove_space_dimensions.
+
+2005-12-23 Friday 11:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.166): Our tentative release date for PPL 0.8 is January
+	  20, 2006.
+
+2005-12-23 Friday 11:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.163): Two items moved from PPL 0.8 to PPL 0.9.  Added one
+	  more item to PPL 0.9.
+
+2005-12-23 Friday 10:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/: generalizedaffinepreimage1.cc (1.3),
+	  generalizedaffinepreimage2.cc (1.2): Avoid using useless explicit
+	  constructors for Linear_Expression.  Maximum allowed distances
+	  updated to reflect the approximations incurred by integer
+	  coefficient types.
+
+2005-12-23 Friday 10:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.108): Minor improvements in the
+	  comments of generalized_affine_preimage.
+
+2005-12-23 Friday 09:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (simplex.1): Added the
+	  list of predicates related to the new PPL object LP_Problem.
+
+2005-12-22 Thursday 20:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/: exceptions.hh, ppl_prolog.icc,
+	  SWI/ppl_swiprolog.cc, tests/pl_check.pl (simplex.[1,1,1,1]):
+	  Drafted the (SWI) Prolog interface for class LP_Problem.
+
+2005-12-22 Thursday 20:01  Matthew Mundell
+
+	* tests/Grid/relations2.cc (grids.7): Add test10 to test13, which
+	  test grids with divisors that are greater than one.
+
+2005-12-22 Thursday 20:00  Matthew Mundell
+
+	* src/Grid_public.cc (grids.124): Account for the divisor in the
+	  parameter case of relation_with(g) by modulating the scalar
+	  product by the product of the parameter divisor and the modulus,
+	  instead of by just the modulus.
+
+2005-12-22 Thursday 17:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc, ppl_c.h.in (simplex.[2,2]): Added the
+	  encoding of domain_error.  The changes in the LP_Problem
+	  interface reflected here.
+
+2005-12-22 Thursday 17:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: LP_Problem.cc, LP_Problem.defs.hh, LP_Problem.inlines.hh
+	  (simplex.[11,10,11]): Methods is_satisfiable(), solve(),
+	  feasible_point() and optimizing_point() are now declared const.
+	  A few stylistic and doxygen comments improvements.
+
+2005-12-22 Thursday 17:41  Matthew Mundell
+
+	* src/Grid_public.cc (grids.123): Update OK to check that the
+	  con_sys and grid space dimensions match when con_sys is empty.
+
+	  Update add_recycled_generators_and_minimize to insert the
+	  generators with Grid_Generator_System::recycling_insert.
+
+	  Replace the add_recycled_generators call in
+	  generalized_affine_image(l,r,m) with equivalent, quicker code.
+
+2005-12-22 Thursday 17:37  Matthew Mundell
+
+	* src/: Grid_Generator_System.cc, Grid_Generator_System.defs.hh
+	  (grids.[24,16]): Add recycling_insert(g).
+
+2005-12-22 Thursday 17:35  Matthew Mundell
+
+	* src/: Grid_Generator.cc, Grid_Generator.inlines.hh
+	  (grids.[13,15]): Implement operator<< directly, adding divisor
+	  output for parameters.
+
+2005-12-22 Thursday 17:33  Matthew Mundell
+
+	* src/Matrix.defs.hh (grids.6): Correct typo in add_recycled_row
+	  description.
+
+2005-12-22 Thursday 13:21  Matthew Mundell
+
+	* src/Grid_Generator_System.cc (grids.23): Improve the insert query
+	  about wrapping an NNC generator.
+
+2005-12-22 Thursday 13:08  Matthew Mundell
+
+	* src/Grid_Generator_System.cc (grids.22): Leave the tmp_row
+	  allocation in insert alone (tmp_row is a stack variable so the
+	  Linear_Row destructor will be called and it will free the memory
+	  in tmp_row).
+
+2005-12-21 Wednesday 19:14  Matthew Mundell
+
+	* src/Grid_public.cc (grids.122): Add divisor normalization after
+	  the parameter insertion in generalized_affine_image.
+
+	  Update add_generator(g) to make one normalize_divisor call when
+	  the grid originally contained points.
+
+2005-12-21 Wednesday 19:09  Matthew Mundell
+
+	* src/Grid_nonpublic.cc (grids.65): Include parameters in the
+	  normalize_divisors(sys,d,f) LCM calculation.
+
+2005-12-21 Wednesday 19:07  Matthew Mundell
+
+	* src/Grid_chdims.cc (grids.28): Add divisor normalization after
+	  inserting parameters in add_space_dimensions and
+	  add_space_dimensions_and_project.
+
+2005-12-21 Wednesday 19:06  Matthew Mundell
+
+	* src/Grid_Generator.cc (grids.12): Update scale_to_divisor to
+	  leave the divisor column out of the scaling.
+
+2005-12-21 Wednesday 19:03  Matthew Mundell
+
+	* src/Grid_Generator_System.cc (grids.21): Update affine_image to
+	  use Grid_Generator and Grid_Generator_System instead of Generator
+	  and Generator_System.
+
+2005-12-21 Wednesday 19:01  Matthew Mundell
+
+	* tests/ppl_test.hh (grids.16): Make parens in find_variation
+	  messages consistent.
+
+2005-12-21 Wednesday 17:10  Matthew Mundell
+
+	* src/Grid_Generator_System.cc (grids.20): Update method insert to
+	  leave alone the divisors of inserted parameters (Grid will
+	  normalize the divisors).
+
+2005-12-21 Wednesday 17:03  Matthew Mundell
+
+	* tests/Grid/mapspacedims1.cc (grids.13): Revert to the actual
+	  known grid in test3.
+
+2005-12-21 Wednesday 17:02  Elena Mazzi
+
+	* tests/BD_Shape/generalizedaffinepreimage1.cc (1.2): Try to use
+	  the distance computation so as to detect when a computed result
+	  is ok even if different from the known result.
+
+2005-12-21 Wednesday 16:17  Matthew Mundell
+
+	* src/Grid.inlines.hh (grids.50): Update map_space_dimensions to
+	  call grid_line in place of line.
+
+2005-12-21 Wednesday 16:14  Matthew Mundell
+
+	* src/: Grid_Generator_System.defs.hh,
+	  Grid_Generator_System.inlines.hh (grids.[15,9]): Take out
+	  insert(g).
+
+2005-12-21 Wednesday 16:14  Matthew Mundell
+
+	* src/: Grid_Generator.cc, Grid_Generator.defs.hh,
+	  Grid_Generator.inlines.hh (grids.[11,18,14]): Add
+	  throw_invalid_argument.  Update the divisor methods to throw
+	  std::invalid_argument if the generator is a line.
+
+2005-12-21 Wednesday 16:14  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid_nonpublic.cc (grids.[91,64]): Take out
+	  the throw_topology_incompatible methods.
+
+2005-12-21 Wednesday 15:41  Matthew Mundell
+
+	* src/: Grid_Generator.cc, Grid_Generator.defs.hh (grids.[10,17]):
+	  Update scale_to_divisor to throw std::invalid_argument if the
+	  given divisor is zero.
+
+2005-12-21 Wednesday 14:31  Matthew Mundell
+
+	* src/Grid_public.cc (grids.121): Update Grid(n,k) to trust the
+	  divisor value of the trivially true point created by grid_point.
+
+2005-12-21 Wednesday 14:30  Elena Mazzi
+
+	* src/BD_Shape.defs.hh (1.53), src/BD_Shape.inlines.hh (1.107),
+	  tests/BD_Shape/Makefile.am (1.29),
+	  tests/BD_Shape/generalizedaffinepreimage1.cc (1.1),
+	  tests/BD_Shape/generalizedaffinepreimage2.cc (1.1): Defined a new
+	  method: BD_Shape::generalized_affine_preimage(var, relsym, expr,
+	  den).  Added some tests about this method.
+
+2005-12-21 Wednesday 14:28  Matthew Mundell
+
+	* src/Grid_conversion.cc (grids.32): Correct a comment in the
+	  congruence to generator conversion.
+
+2005-12-21 Wednesday 14:27  Matthew Mundell
+
+	* src/Grid_Generator_System.cc (grids.19): Keep the
+	  add_universe_rows_and_columns num_columns assertion.
+
+2005-12-21 Wednesday 14:24  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid_Generator.cc, Grid_Generator.defs.hh,
+	  Grid_nonpublic.cc (grids.[90,9,16,63]): Update
+	  Grid::normalize_divisors(sys,d,f) to simply return zero when the
+	  given divisor is zero.  The previous special behaviour in the
+	  zero case be accomplished by passing a divisor of one.
+
+	  Rename Grid_Generator::multiply to
+	  Grid_Generator::scale_to_divisor.  Correct the description of
+	  this method.
+
+	  Leave the factor normalization in
+	  Grid_Generator::is_equivalent_to as the only normalization, as
+	  sign normalization would only be required if divisors could be
+	  negative.
+
+2005-12-21 Wednesday 14:04  Matthew Mundell
+
+	* tests/Grid/generator1.cc (grids.4): Enable test5 (comparison of
+	  parameters that have divisors > 1).
+
+2005-12-20 Tuesday 21:49  Matthew Mundell
+
+	* tests/Grid/relations1.cc (grids.6): Use parameter divisors in
+	  test6 and test7.
+
+2005-12-20 Tuesday 21:48  Matthew Mundell
+
+	* tests/Grid/mapspacedims1.cc (grids.12): Temporarily match the
+	  expected result in test3 to the actual result.
+
+2005-12-20 Tuesday 21:48  Matthew Mundell
+
+	* tests/Grid/join1.cc (grids.12): Correct the expected result in
+	  test4.
+
+2005-12-20 Tuesday 21:47  Matthew Mundell
+
+	* tests/Grid/isuniverse1.cc (grids.8): Correct the fail case in
+	  test10.
+
+2005-12-20 Tuesday 21:46  Matthew Mundell
+
+	* tests/Grid/congruencesystem2.cc (grids.11): Use parameter
+	  divisors.
+
+2005-12-20 Tuesday 21:45  Matthew Mundell
+
+	* src/Grid_chdims.cc (grids.27): Take some old code out of
+	  add_space_dimensions_and_embed.
+
+2005-12-20 Tuesday 21:44  Matthew Mundell
+
+	* src/: Congruence_System.cc, Grid.inlines.hh,
+	  Grid_Generator_System.defs.hh, Grid_Generator_System.inlines.hh,
+	  Grid_nonpublic.cc, Grid_public.cc, Grid_simplify.cc
+	  (grids.[37,49,14,8,62,120,43]): [rest of previous commit]
+
+	  Add parameter divisors, encoding the divisors in an extra
+	  trailing Grid_Generator column:
+
+	   - implement the Grid_Generator methods point, line,
+	  is_equivalent_to
+	     and all_homogeneous_terms_are_zero directly, instead of
+	  wrapping
+	     the Generator equivalents
+
+	   - move Grid_Generator::strong_normalize to the private section
+
+	   - update Grid_Generator_System to swap the divisor column any
+	  time
+	     the system size changes
+
+	   - update methods Congruence_System::satisfies_all_congruences
+	  and
+	     Grid::relation_with(g) to use the given generator's divisor
+	  instead
+	     of a divisor passed in an extra argument
+
+	   - update the generator reduction and congruence to generator
+	     conversion to ensure that the parameter divisors match the
+	  divisor
+	     of the first point after the reduction or conversion
+
+	   - adapt Grid and Scalar_Product to the extra generator column
+	  (mostly
+	     changes to loop indexing)
+
+	   - add a Grid_Generator friend declaration to Linear_Expression.
+
+	  Take out Grid_Generator_System(const Generator&).
+
+2005-12-20 Tuesday 21:41  Matthew Mundell
+
+	* src/: Congruence_System.defs.hh, Grid.defs.hh, Grid_Generator.cc,
+	  Grid_Generator.defs.hh, Grid_Generator.inlines.hh,
+	  Grid_Generator_System.cc, Grid_conversion.cc,
+	  Linear_Expression.defs.hh, Scalar_Products.cc
+	  (grids.[22,89,8,15,13,18,31,10,5]): Add parameter divisors,
+	  encoding the divisors in an extra trailing Grid_Generator column:
+
+	   - implement the Grid_Generator methods point, line,
+	  is_equivalent_to
+	     and all_homogeneous_terms_are_zero directly, instead of
+	  wrapping
+	     the Generator equivalents
+
+	   - move Grid_Generator::strong_normalize to the private section
+
+	   - update Grid_Generator_System to swap the divisor column any
+	  time
+	     the system size changes
+
+	   - update methods Congruence_System::satisfies_all_congruences
+	  and
+	     Grid::relation_with(g) to use the given generator's divisor
+	  instead
+	     of a divisor passed in an extra argument
+
+	   - update the generator reduction and congruence to generator
+	     conversion to ensure that the parameter divisors match the
+	  divisor
+	     of the first point after the reduction or conversion
+
+	   - adapt Grid and Scalar_Product to the extra generator column
+	  (mostly
+	     changes to loop indexing)
+
+	   - add a Grid_Generator friend declaration to Linear_Expression.
+
+	  Take out Grid_Generator_System(const Generator&).
+
+2005-12-20 Tuesday 11:42  Andrea Cimino
+
+	* src/LP_Problem.defs.hh (simplex.9): Synchronized Doxygen stuff to
+	  reflect last changes to LP_Problem interface.
+
+2005-12-20 Tuesday 08:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Random_Number_Generator.inlines.hh (1.5): Avoid anonymous
+	  namespaces in files that are going to be included.
+
+2005-12-20 Tuesday 08:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BDS_Status.inlines.hh (1.8), BD_Shape.inlines.hh (1.106),
+	  Native_Integer.inlines.hh (1.17), Polyhedra_Powerset.inlines.hh
+	  (1.34), namespaces.hh (1.3): Avoid the use of anonymous
+	  namespaces in files that are going to be included.
+
+2005-12-19 Monday 20:22  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, copyconstruct1.cc (grids.[54,1]): Add
+	  copyconstruct1, to test Grid copy construction.
+
+2005-12-19 Monday 20:21  Matthew Mundell
+
+	* src/Grid_public.cc (grids.119): Update the copy constructor to
+	  always copy the systems when the space dimension is zero.
+
+2005-12-19 Monday 07:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.34), config.sub (1.32), install-sh (1.16),
+	  ltmain.sh (1.27), Watchdog/config.guess (1.18),
+	  Watchdog/config.sub (1.17), Watchdog/install-sh (1.13),
+	  Watchdog/ltmain.sh (1.16): Updated from Libtool 1.5.22.
+
+2005-12-18 Sunday 18:21  Andrea Cimino
+
+	* src/LP_Problem.cc (simplex.10): Improved swap_base(): now
+	  directly handles `base'.
+
+2005-12-18 Sunday 16:56  Andrea Cimino
+
+	* src/: LP_Problem.cc, LP_Problem.defs.hh, LP_Problem.inlines.hh
+	  (simplex.[9,8,10]): second_phase() declared void.  Many inline
+	  methods simplified: `status' cases during the real simplex
+	  computations are now handled only by is_satisfiable() and
+	  second_phase().
+
+2005-12-17 Saturday 01:31  Matthew Mundell
+
+	* src/Grid_nonpublic.cc (grids.61): Enable the system equality
+	  checks in quick_equivalence_test.
+
+2005-12-17 Saturday 01:30  Matthew Mundell
+
+	* src/Congruence.inlines.hh (grids.19): Negate the coefficient used
+	  to create the zero_dim_integrality congruence (so that the
+	  resulting constant term is positive).
+
+2005-12-17 Saturday 01:25  Matthew Mundell
+
+	* src/: Grid_Generator_System.defs.hh,
+	  Grid_Generator_System.inlines.hh (grids.[13,7]): Add
+	  Grid_Generator_System::is_equal_to(ggs) and operator==(ggs,ggs).
+
+2005-12-16 Friday 23:38  Matthew Mundell
+
+	* src/Grid.inlines.hh (grids.48): Add note for map_space_dimensions
+	  code awaiting parameter divisors.
+
+2005-12-16 Friday 23:26  Matthew Mundell
+
+	* src/Grid_public.cc (grids.118): Improve relation descriptions in
+	  relation_with(cg).
+
+2005-12-16 Friday 23:01  Matthew Mundell
+
+	* src/: Grid_nonpublic.cc, Grid_simplify.cc (grids.[60,42]): Move
+	  update_generators system column assertion into congruence
+	  simplify.
+
+2005-12-16 Friday 21:13  Matthew Mundell
+
+	* src/Congruence_System.cc (grids.36): Add Constraint_System
+	  includes.
+
+2005-12-16 Friday 11:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* STANDARDS (1.27): Avoid anonymous namespaces in header files.
+
+2005-12-15 Thursday 14:50  Matthew Mundell
+
+	* src/Grid_public.cc (grids.117): Update add_generator(g) to insert
+	  the given generator, instead of inserting a copy, when the grid
+	  contains points.
+
+2005-12-15 Thursday 14:25  Matthew Mundell
+
+	* src/Grid_public.cc (grids.116): Confirm that creation of the
+	  universe systems in Grid(n,k) works.	Slightly improve spacing
+	  and a few comments in Grid(n,k).
+
+2005-12-15 Thursday 14:15  Matthew Mundell
+
+	* src/Grid_Generator.defs.hh (grids.14): Move Grid_Generator(g) to
+	  the private section.
+
+2005-12-15 Thursday 14:14  Matthew Mundell
+
+	* src/Grid_Generator.cc (grids.7): Improve the note about
+	  converting the Generator in function `parameter' to a
+	  Grid_Generator.
+
+2005-12-15 Thursday 01:20  Andrea Cimino
+
+	* src/: LP_Problem.cc, LP_Problem.inlines.hh (simplex.[8,9]): Minor
+	  stylistic and performance improvements.
+
+2005-12-14 Wednesday 22:13  Matthew Mundell
+
+	* src/checked_mpz.inlines.hh (grids.6): Update the mpz_gcd call in
+	  gcdext_mpz to mpz_gcdext.
+
+2005-12-14 Wednesday 21:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.162): New to-do item.
+
+2005-12-14 Wednesday 21:02  Matthew Mundell
+
+	* src/Grid_nonpublic.cc (grids.59): Update set_zero_dim_univ to
+	  leave the con_sys size adjustment to Congruence_System::clear.
+
+2005-12-14 Wednesday 20:24  Matthew Mundell
+
+	* src/: Grid_Generator_System.cc, Grid_Generator_System.defs.hh
+	  (grids.[17,12]): Update remove_higher_space_dimensions with a
+	  dimension compatibility check, to return immediately if the
+	  dimension will remain the same, and to clear the system if the
+	  new dimension is 0.
+
+2005-12-14 Wednesday 19:37  Matthew Mundell
+
+	* src/: Grid_Generator_System.cc, Grid_Generator_System.defs.hh
+	  (grids.[16,11]): Update remove_space_dimensions to check the
+	  space dim of the given set and to exit immediately if the set is
+	  empty.
+
+2005-12-14 Wednesday 18:21  Matthew Mundell
+
+	* src/: Grid_Generator_System.cc, Grid_Generator_System.defs.hh
+	  (grids.[15,10]): Update recycling_insert to increase the system
+	  space dimension if that of the system being inserted is bigger.
+
+2005-12-14 Wednesday 17:40  Matthew Mundell
+
+	* src/Grid_Generator_System.cc (grids.14): Leave it up to the
+	  add_universe_rows_and_columns to ensure that the system will
+	  contain a point.
+
+2005-12-14 Wednesday 17:10  Matthew Mundell
+
+	* src/Grid.inlines.hh (grids.47): Revert map_space_dimensions to
+	  insert parameters via function point for now (as the given
+	  expression already uses the system divisor).
+
+2005-12-14 Wednesday 16:56  Matthew Mundell
+
+	* tests/Grid/generalizedaffineimage1.cc (grids.6): Correct expected
+	  values in test2, test4, test5 and test6 (now that parameter
+	  divisors are adjusted at insertion).
+
+2005-12-14 Wednesday 16:38  Matthew Mundell
+
+	* src/Grid_Generator_System.cc (grids.13): Update method insert to
+	  represent inserted parameters with the divisor of the first
+	  point.
+
+2005-12-14 Wednesday 15:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* STANDARDS (1.26): Added a section about test programs.
+
+2005-12-14 Wednesday 12:44  Andrea Cimino
+
+	* src/: LP_Problem.cc, LP_Problem.defs.hh (simplex.[7,7]): Better
+	  handled namespaces.  `PPL::LP_Problem::primal_simplex()' removed,
+	  was unused.  Fixed return types in
+	  `PPL::LP_Problem::is_feasible()'.
+
+2005-12-14 Wednesday 12:10  Andrea Cimino
+
+	* src/: LP_Problem.cc, LP_Problem.defs.hh, LP_Problem.inlines.hh
+	  (simplex.[6,6,8]): Internal enum `Status' fields renamed from
+	  PROBLEM_* to *.  Added a FIXME.
+
+2005-12-14 Wednesday 11:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: BD_Shape/addconstraints1.cc (1.5),
+	  BD_Shape/addspacedims1.cc (1.6), BD_Shape/addspacedims2.cc (1.6),
+	  BD_Shape/addspacedims3.cc (1.7), BD_Shape/addspacedims4.cc (1.7),
+	  BD_Shape/addspacedims5.cc (1.8), BD_Shape/addspacedims6.cc (1.8),
+	  BD_Shape/addspacedims7.cc (1.6), BD_Shape/affinedimension1.cc
+	  (1.2), BD_Shape/affineimage1.cc (1.6), BD_Shape/affineimage10.cc
+	  (1.4), BD_Shape/affineimage2.cc (1.6), BD_Shape/affineimage3.cc
+	  (1.6), BD_Shape/affineimage4.cc (1.6), BD_Shape/affineimage5.cc
+	  (1.6), BD_Shape/affineimage6.cc (1.6), BD_Shape/affineimage7.cc
+	  (1.6), BD_Shape/affineimage8.cc (1.11), BD_Shape/affineimage9.cc
+	  (1.9), BD_Shape/affinepreimage1.cc (1.6),
+	  BD_Shape/affinepreimage2.cc (1.6), BD_Shape/affinepreimage3.cc
+	  (1.6), BD_Shape/affinepreimage4.cc (1.6),
+	  BD_Shape/affinepreimage5.cc (1.6), BD_Shape/ascii_dump_load1.cc
+	  (1.8), BD_Shape/ascii_dump_load2.cc (1.7),
+	  BD_Shape/bdsdifference1.cc (1.2), BD_Shape/bdsdifference2.cc
+	  (1.2), BD_Shape/bdsdifference3.cc (1.2),
+	  BD_Shape/bdsdifference4.cc (1.2), BD_Shape/bdsdifference5.cc
+	  (1.2), BD_Shape/bdsdifference6.cc (1.2),
+	  BD_Shape/bdsdifference7.cc (1.2), BD_Shape/bdshull1.cc (1.2),
+	  BD_Shape/bdshull2.cc (1.2), BD_Shape/bdshull3.cc (1.2),
+	  BD_Shape/bdshull4.cc (1.2), BD_Shape/bgp99extrapolation1.cc
+	  (1.2), BD_Shape/bhz03widening1.cc (1.2),
+	  BD_Shape/cc76extrapolation1.cc (1.5),
+	  BD_Shape/cc76extrapolation2.cc (1.6),
+	  BD_Shape/cc76extrapolation3.cc (1.5),
+	  BD_Shape/cc76extrapolation4.cc (1.7),
+	  BD_Shape/cc76extrapolation5.cc (1.5),
+	  BD_Shape/cc76extrapolation6.cc (1.7), BD_Shape/cc76narrowing1.cc
+	  (1.5), BD_Shape/cc76narrowing2.cc (1.5),
+	  BD_Shape/cc76narrowing3.cc (1.5), BD_Shape/cc76narrowing4.cc
+	  (1.6), BD_Shape/cc76narrowing5.cc (1.6),
+	  BD_Shape/ch78widening1.cc (1.5), BD_Shape/ch78widening2.cc (1.6),
+	  BD_Shape/ch78widening3.cc (1.5), BD_Shape/ch78widening4.cc (1.6),
+	  BD_Shape/ch78widening5.cc (1.6), BD_Shape/ch78widening6.cc (1.8),
+	  BD_Shape/ch78widening7.cc (1.5), BD_Shape/ch78widening8.cc (1.6),
+	  BD_Shape/closure1.cc (1.9), BD_Shape/concatenate1.cc (1.6),
+	  BD_Shape/concatenate2.cc (1.6), BD_Shape/concatenate3.cc (1.5),
+	  BD_Shape/concatenate4.cc (1.5), BD_Shape/concatenate5.cc (1.6),
+	  BD_Shape/constraints1.cc (1.8), BD_Shape/constraints2.cc (1.6),
+	  BD_Shape/contains1.cc (1.5), BD_Shape/contains2.cc (1.7),
+	  BD_Shape/contains3.cc (1.7), BD_Shape/empty1.cc (1.5),
+	  BD_Shape/empty2.cc (1.5), BD_Shape/empty3.cc (1.6),
+	  BD_Shape/empty4.cc (1.5), BD_Shape/empty5.cc (1.5),
+	  BD_Shape/equality1.cc (1.8), BD_Shape/exceptions1.cc (1.9),
+	  BD_Shape/exceptions2.cc (1.7), BD_Shape/exceptions3.cc (1.9),
+	  BD_Shape/fromgensys1.cc (1.5),
+	  BD_Shape/generalizedaffineimage1.cc (1.7),
+	  BD_Shape/generalizedaffineimage10.cc (1.6),
+	  BD_Shape/generalizedaffineimage11.cc (1.5),
+	  BD_Shape/generalizedaffineimage12.cc (1.5),
+	  BD_Shape/generalizedaffineimage13.cc (1.5),
+	  BD_Shape/generalizedaffineimage14.cc (1.9),
+	  BD_Shape/generalizedaffineimage2.cc (1.6),
+	  BD_Shape/generalizedaffineimage3.cc (1.7),
+	  BD_Shape/generalizedaffineimage4.cc (1.6),
+	  BD_Shape/generalizedaffineimage5.cc (1.6),
+	  BD_Shape/generalizedaffineimage6.cc (1.5),
+	  BD_Shape/generalizedaffineimage7.cc (1.6),
+	  BD_Shape/generalizedaffineimage8.cc (1.6),
+	  BD_Shape/generalizedaffineimage9.cc (1.5),
+	  BD_Shape/geomcovers1.cc (1.2), BD_Shape/h79widening1.cc (1.5),
+	  BD_Shape/intersection1.cc (1.5), BD_Shape/intersection2.cc (1.5),
+	  BD_Shape/intersection3.cc (1.6), BD_Shape/intersection4.cc (1.7),
+	  BD_Shape/intersection5.cc (1.7), BD_Shape/intersection6.cc (1.6),
+	  BD_Shape/intersection7.cc (1.6), BD_Shape/intersection8.cc (1.6),
+	  BD_Shape/limitedCC76extrapolation1.cc (1.5),
+	  BD_Shape/limitedCC76extrapolation2.cc (1.7),
+	  BD_Shape/limitedCC76extrapolation3.cc (1.7),
+	  BD_Shape/limitedCH78extrapolation1.cc (1.6),
+	  BD_Shape/limitedCH78extrapolation2.cc (1.5),
+	  BD_Shape/limitedCH78extrapolation3.cc (1.5),
+	  BD_Shape/limitedCH78extrapolation4.cc (1.5),
+	  BD_Shape/limitedCH78extrapolation5.cc (1.5),
+	  BD_Shape/limitedCH78extrapolation6.cc (1.5),
+	  BD_Shape/limitedCH78extrapolation7.cc (1.5),
+	  BD_Shape/limitedCH78extrapolation8.cc (1.5),
+	  BD_Shape/limitedCH78extrapolation9.cc (1.5),
+	  BD_Shape/limitedh79extrapolation1.cc (1.5),
+	  BD_Shape/mapspacedims1.cc (1.5), BD_Shape/mapspacedims2.cc (1.7),
+	  BD_Shape/mapspacedims3.cc (1.6), BD_Shape/mapspacedims4.cc (1.6),
+	  BD_Shape/maxspacedim.cc (1.8), BD_Shape/minconstraints1.cc (1.2),
+	  BD_Shape/relations1.cc (1.9), BD_Shape/relations2.cc (1.9),
+	  BD_Shape/relations3.cc (1.8), BD_Shape/relations4.cc (1.7),
+	  BD_Shape/relations5.cc (1.9), BD_Shape/removespacedims1.cc (1.6),
+	  BD_Shape/removespacedims2.cc (1.7), BD_Shape/removespacedims3.cc
+	  (1.7), BD_Shape/timeelapse1.cc (1.6), BD_Shape/timeelapse2.cc
+	  (1.5), BD_Shape/timeelapse3.cc (1.5), BD_Shape/timeelapse4.cc
+	  (1.5), BD_Shape/timeelapse5.cc (1.6), BD_Shape/universe1.cc
+	  (1.6), BD_Shape/writebdshape1.cc (1.3), BD_Shape/writebdshape2.cc
+	  (1.4), Polyhedron/CbecomesNNC1.cc (1.5),
+	  Polyhedron/NNCbecomesC1.cc (1.5), Polyhedron/NNCminimize1.cc
+	  (1.5), Polyhedron/NNCminimize2.cc (1.5),
+	  Polyhedron/NNCminimize3.cc (1.5), Polyhedron/NNCminimize4.cc
+	  (1.5), Polyhedron/NNCminimize5.cc (1.5),
+	  Polyhedron/NNCminimize6.cc (1.5), Polyhedron/addconstraint1.cc
+	  (1.5), Polyhedron/addconstraint2.cc (1.6),
+	  Polyhedron/addconstraint3.cc (1.5), Polyhedron/addconstraints1.cc
+	  (1.6), Polyhedron/addconstraints10.cc (1.6),
+	  Polyhedron/addconstraints11.cc (1.5),
+	  Polyhedron/addconstraints12.cc (1.5),
+	  Polyhedron/addconstraints13.cc (1.6),
+	  Polyhedron/addconstraints2.cc (1.5),
+	  Polyhedron/addconstraints3.cc (1.6),
+	  Polyhedron/addconstraints4.cc (1.5),
+	  Polyhedron/addconstraints5.cc (1.6),
+	  Polyhedron/addconstraints6.cc (1.5),
+	  Polyhedron/addconstraints7.cc (1.6),
+	  Polyhedron/addconstraints8.cc (1.6),
+	  Polyhedron/addconstraints9.cc (1.5), Polyhedron/addgenerator1.cc
+	  (1.6), Polyhedron/addgenerator2.cc (1.6),
+	  Polyhedron/addgenerator3.cc (1.5), Polyhedron/addgenerator4.cc
+	  (1.6), Polyhedron/addgenerator5.cc (1.6),
+	  Polyhedron/addgenerators1.cc (1.6), Polyhedron/addgenerators10.cc
+	  (1.6), Polyhedron/addgenerators11.cc (1.6),
+	  Polyhedron/addgenerators12.cc (1.6),
+	  Polyhedron/addgenerators13.cc (1.6), Polyhedron/addgenerators2.cc
+	  (1.6), Polyhedron/addgenerators3.cc (1.5),
+	  Polyhedron/addgenerators4.cc (1.5), Polyhedron/addgenerators5.cc
+	  (1.5), Polyhedron/addgenerators6.cc (1.6),
+	  Polyhedron/addgenerators7.cc (1.5), Polyhedron/addgenerators8.cc
+	  (1.6), Polyhedron/addgenerators9.cc (1.5),
+	  Polyhedron/addspacedims1.cc (1.6), Polyhedron/addspacedims10.cc
+	  (1.5), Polyhedron/addspacedims11.cc (1.5),
+	  Polyhedron/addspacedims12.cc (1.5), Polyhedron/addspacedims13.cc
+	  (1.5), Polyhedron/addspacedims2.cc (1.6),
+	  Polyhedron/addspacedims3.cc (1.7), Polyhedron/addspacedims4.cc
+	  (1.5), Polyhedron/addspacedims5.cc (1.5),
+	  Polyhedron/addspacedims6.cc (1.5), Polyhedron/addspacedims7.cc
+	  (1.5), Polyhedron/addspacedims8.cc (1.6),
+	  Polyhedron/addspacedims9.cc (1.5), Polyhedron/affineimage1.cc
+	  (1.6), Polyhedron/affineimage2.cc (1.5),
+	  Polyhedron/affineimage3.cc (1.5), Polyhedron/affineimage4.cc
+	  (1.6), Polyhedron/affineimage5.cc (1.6),
+	  Polyhedron/affineimage6.cc (1.7), Polyhedron/affineimage7.cc
+	  (1.5), Polyhedron/affineimage8.cc (1.5),
+	  Polyhedron/affineimage9.cc (1.5), Polyhedron/affinepreimage1.cc
+	  (1.5), Polyhedron/affinepreimage10.cc (1.5),
+	  Polyhedron/affinepreimage11.cc (1.3),
+	  Polyhedron/affinepreimage2.cc (1.5),
+	  Polyhedron/affinepreimage3.cc (1.6),
+	  Polyhedron/affinepreimage4.cc (1.5),
+	  Polyhedron/affinepreimage5.cc (1.5),
+	  Polyhedron/affinepreimage6.cc (1.5),
+	  Polyhedron/affinepreimage7.cc (1.5),
+	  Polyhedron/affinepreimage8.cc (1.6),
+	  Polyhedron/affinepreimage9.cc (1.5), Polyhedron/affinetrans.cc
+	  (1.6), Polyhedron/append1.cc (1.5), Polyhedron/append2.cc (1.5),
+	  Polyhedron/ascii_dump_load1.cc (1.5),
+	  Polyhedron/ascii_dump_load2.cc (1.5),
+	  Polyhedron/ascii_dump_load3.cc (1.5),
+	  Polyhedron/ascii_dump_load4.cc (1.5),
+	  Polyhedron/ascii_dump_load5.cc (1.5),
+	  Polyhedron/ascii_dump_load6.cc (1.6),
+	  Polyhedron/ascii_dump_load7.cc (1.5),
+	  Polyhedron/bgp99extrapolation1.cc (1.6),
+	  Polyhedron/bgp99extrapolation2.cc (1.6),
+	  Polyhedron/bhrz03widening1.cc (1.5),
+	  Polyhedron/bhrz03widening10.cc (1.6),
+	  Polyhedron/bhrz03widening11.cc (1.5),
+	  Polyhedron/bhrz03widening12.cc (1.5),
+	  Polyhedron/bhrz03widening13.cc (1.5),
+	  Polyhedron/bhrz03widening14.cc (1.5),
+	  Polyhedron/bhrz03widening15.cc (1.6),
+	  Polyhedron/bhrz03widening16.cc (1.5),
+	  Polyhedron/bhrz03widening17.cc (1.5),
+	  Polyhedron/bhrz03widening18.cc (1.5),
+	  Polyhedron/bhrz03widening19.cc (1.5),
+	  Polyhedron/bhrz03widening2.cc (1.5),
+	  Polyhedron/bhrz03widening3.cc (1.5),
+	  Polyhedron/bhrz03widening4.cc (1.5),
+	  Polyhedron/bhrz03widening5.cc (1.5),
+	  Polyhedron/bhrz03widening6.cc (1.5),
+	  Polyhedron/bhrz03widening7.cc (1.5),
+	  Polyhedron/bhrz03widening8.cc (1.5),
+	  Polyhedron/bhrz03widening9.cc (1.5), Polyhedron/bhz03widening1.cc
+	  (1.7), Polyhedron/bhz03widening2.cc (1.7),
+	  Polyhedron/bhz03widening3.cc (1.7), Polyhedron/bhz03widening4.cc
+	  (1.6), Polyhedron/bhz03widening5.cc (1.6),
+	  Polyhedron/bhz03widening6.cc (1.7), Polyhedron/bounded1.cc (1.6),
+	  Polyhedron/boundedaffineimage1.cc (1.4),
+	  Polyhedron/boundedaffineimage2.cc (1.3),
+	  Polyhedron/boundedaffineimage3.cc (1.3),
+	  Polyhedron/boundedaffinepreimage1.cc (1.3),
+	  Polyhedron/boundedaffinepreimage2.cc (1.3),
+	  Polyhedron/boundedaffinepreimage3.cc (1.3),
+	  Polyhedron/boundedbhrz03extrapolation1.cc (1.4),
+	  Polyhedron/boundedh79extrapolation1.cc (1.6),
+	  Polyhedron/boundingbox1.cc (1.7), Polyhedron/boundingbox2.cc
+	  (1.6), Polyhedron/boundingbox3.cc (1.6),
+	  Polyhedron/boundingbox4.cc (1.6), Polyhedron/boundingbox5.cc
+	  (1.6), Polyhedron/bounds1.cc (1.6), Polyhedron/bounds2.cc (1.5),
+	  Polyhedron/bug2.cc (1.4), Polyhedron/concatenate1.cc (1.5),
+	  Polyhedron/concatenate2.cc (1.6), Polyhedron/concatenate3.cc
+	  (1.5), Polyhedron/concatenate4.cc (1.5),
+	  Polyhedron/concatenate5.cc (1.5), Polyhedron/concatenate6.cc
+	  (1.6), Polyhedron/concatenate7.cc (1.4),
+	  Polyhedron/constraints1.cc (1.5), Polyhedron/constraints2.cc
+	  (1.6), Polyhedron/constraints3.cc (1.5),
+	  Polyhedron/constraints4.cc (1.6), Polyhedron/constraints5.cc
+	  (1.4), Polyhedron/contains1.cc (1.5), Polyhedron/contains2.cc
+	  (1.5), Polyhedron/contains3.cc (1.5), Polyhedron/contains4.cc
+	  (1.5), Polyhedron/contains5.cc (1.5), Polyhedron/disjoint1.cc
+	  (1.5), Polyhedron/disjoint2.cc (1.6), Polyhedron/disjoint3.cc
+	  (1.6), Polyhedron/dualhypercubes.cc (1.5), Polyhedron/empty1.cc
+	  (1.6), Polyhedron/equals1.cc (1.5), Polyhedron/exceptions1.cc
+	  (1.8), Polyhedron/exceptions2.cc (1.6), Polyhedron/exceptions3.cc
+	  (1.7), Polyhedron/expandspacedim1.cc (1.6),
+	  Polyhedron/expandspacedim2.cc (1.6), Polyhedron/foldspacedims1.cc
+	  (1.6), Polyhedron/foldspacedims2.cc (1.6),
+	  Polyhedron/generalizedaffineimage1.cc (1.6),
+	  Polyhedron/generalizedaffineimage10.cc (1.5),
+	  Polyhedron/generalizedaffineimage11.cc (1.6),
+	  Polyhedron/generalizedaffineimage12.cc (1.5),
+	  Polyhedron/generalizedaffineimage13.cc (1.4),
+	  Polyhedron/generalizedaffineimage14.cc (1.4),
+	  Polyhedron/generalizedaffineimage2.cc (1.6),
+	  Polyhedron/generalizedaffineimage3.cc (1.6),
+	  Polyhedron/generalizedaffineimage4.cc (1.6),
+	  Polyhedron/generalizedaffineimage5.cc (1.5),
+	  Polyhedron/generalizedaffineimage6.cc (1.6),
+	  Polyhedron/generalizedaffineimage7.cc (1.6),
+	  Polyhedron/generalizedaffineimage8.cc (1.5),
+	  Polyhedron/generalizedaffineimage9.cc (1.5),
+	  Polyhedron/generalizedaffinepreimage1.cc (1.3),
+	  Polyhedron/generalizedaffinepreimage2.cc (1.3),
+	  Polyhedron/generalizedaffinepreimage3.cc (1.3),
+	  Polyhedron/generalizedaffinepreimage4.cc (1.3),
+	  Polyhedron/generators1.cc (1.5), Polyhedron/generators2.cc (1.5),
+	  Polyhedron/generators3.cc (1.6), Polyhedron/generators4.cc (1.6),
+	  Polyhedron/generators5.cc (1.5), Polyhedron/generators6.cc (1.6),
+	  Polyhedron/generators7.cc (1.5), Polyhedron/geomcovers1.cc (1.7),
+	  Polyhedron/gramschmidt1.cc (1.2), Polyhedron/h79widening1.cc
+	  (1.5), Polyhedron/h79widening2.cc (1.5),
+	  Polyhedron/h79widening3.cc (1.5), Polyhedron/h79widening4.cc
+	  (1.5), Polyhedron/h79widening5.cc (1.6),
+	  Polyhedron/h79widening6.cc (1.5), Polyhedron/h79widening7.cc
+	  (1.5), Polyhedron/h79widening8.cc (1.5),
+	  Polyhedron/intersection1.cc (1.5), Polyhedron/intersection10.cc
+	  (1.6), Polyhedron/intersection11.cc (1.6),
+	  Polyhedron/intersection2.cc (1.5), Polyhedron/intersection3.cc
+	  (1.5), Polyhedron/intersection4.cc (1.6),
+	  Polyhedron/intersection5.cc (1.6), Polyhedron/intersection6.cc
+	  (1.6), Polyhedron/intersection7.cc (1.5),
+	  Polyhedron/intersection8.cc (1.6), Polyhedron/intersection9.cc
+	  (1.6), Polyhedron/limitedbhrz03extrapolation1.cc (1.5),
+	  Polyhedron/limitedh79extrapolation1.cc (1.5),
+	  Polyhedron/limitedh79extrapolation2.cc (1.5),
+	  Polyhedron/limitedh79extrapolation3.cc (1.5),
+	  Polyhedron/limitedh79extrapolation4.cc (1.6),
+	  Polyhedron/linearpartition1.cc (1.5),
+	  Polyhedron/linearpartition2.cc (1.5),
+	  Polyhedron/linearpartition3.cc (1.5),
+	  Polyhedron/linearpartition4.cc (1.6), Polyhedron/linearsystem1.cc
+	  (1.2), Polyhedron/linexpression1.cc (1.5),
+	  Polyhedron/mapspacedims1.cc (1.6), Polyhedron/mapspacedims2.cc
+	  (1.5), Polyhedron/mapspacedims3.cc (1.5),
+	  Polyhedron/mapspacedims4.cc (1.5), Polyhedron/matrix1.cc (1.5),
+	  Polyhedron/max_min1.cc (1.6), Polyhedron/max_min2.cc (1.6),
+	  Polyhedron/maxspacedim1.cc (1.5), Polyhedron/mc91.cc (1.6),
+	  Polyhedron/membytes1.cc (1.6), Polyhedron/membytes2.cc (1.5),
+	  Polyhedron/memory1.cc (1.7), Polyhedron/memory2.cc (1.10),
+	  Polyhedron/minconstraints1.cc (1.5),
+	  Polyhedron/minconstraints2.cc (1.6),
+	  Polyhedron/minconstraints3.cc (1.5),
+	  Polyhedron/minconstraints4.cc (1.5), Polyhedron/mingenerators1.cc
+	  (1.5), Polyhedron/mingenerators2.cc (1.6),
+	  Polyhedron/mingenerators3.cc (1.5), Polyhedron/numberinput1.cc
+	  (1.15), Polyhedron/onepoint.cc (1.6), Polyhedron/permute.cc
+	  (1.5), Polyhedron/polydifference1.cc (1.5),
+	  Polyhedron/polydifference2.cc (1.5),
+	  Polyhedron/polydifference3.cc (1.5),
+	  Polyhedron/polydifference4.cc (1.6),
+	  Polyhedron/polydifference5.cc (1.5),
+	  Polyhedron/polydifference6.cc (1.5),
+	  Polyhedron/polydifference7.cc (1.6),
+	  Polyhedron/polydifference8.cc (1.5),
+	  Polyhedron/polydifference9.cc (1.6), Polyhedron/polyhull1.cc
+	  (1.5), Polyhedron/polyhull10.cc (1.5), Polyhedron/polyhull11.cc
+	  (1.5), Polyhedron/polyhull2.cc (1.6), Polyhedron/polyhull3.cc
+	  (1.6), Polyhedron/polyhull4.cc (1.5), Polyhedron/polyhull5.cc
+	  (1.6), Polyhedron/polyhull6.cc (1.5), Polyhedron/polyhull7.cc
+	  (1.5), Polyhedron/polyhull8.cc (1.6), Polyhedron/polyhull9.cc
+	  (1.6), Polyhedron/polypowerset1.cc (1.7), Polyhedron/powerset1.cc
+	  (1.3), Polyhedron/primalsimplex1.cc (1.3),
+	  Polyhedron/primalsimplex2.cc (1.3), Polyhedron/randphull1.cc
+	  (1.6), Polyhedron/randphull2.cc (1.7), Polyhedron/relations1.cc
+	  (1.5), Polyhedron/relations10.cc (1.5), Polyhedron/relations11.cc
+	  (1.5), Polyhedron/relations12.cc (1.5), Polyhedron/relations13.cc
+	  (1.5), Polyhedron/relations14.cc (1.5), Polyhedron/relations15.cc
+	  (1.5), Polyhedron/relations16.cc (1.5), Polyhedron/relations17.cc
+	  (1.6), Polyhedron/relations18.cc (1.5), Polyhedron/relations19.cc
+	  (1.6), Polyhedron/relations2.cc (1.6), Polyhedron/relations3.cc
+	  (1.5), Polyhedron/relations4.cc (1.5), Polyhedron/relations5.cc
+	  (1.5), Polyhedron/relations6.cc (1.6), Polyhedron/relations7.cc
+	  (1.5), Polyhedron/relations8.cc (1.5), Polyhedron/relations9.cc
+	  (1.5), Polyhedron/removespacedims1.cc (1.5),
+	  Polyhedron/removespacedims10.cc (1.6),
+	  Polyhedron/removespacedims2.cc (1.5),
+	  Polyhedron/removespacedims3.cc (1.6),
+	  Polyhedron/removespacedims4.cc (1.5),
+	  Polyhedron/removespacedims5.cc (1.6),
+	  Polyhedron/removespacedims6.cc (1.5),
+	  Polyhedron/removespacedims7.cc (1.5),
+	  Polyhedron/removespacedims8.cc (1.5),
+	  Polyhedron/removespacedims9.cc (1.5), Polyhedron/smm1.cc (1.5),
+	  Polyhedron/timeelapse1.cc (1.5), Polyhedron/timeelapse2.cc (1.6),
+	  Polyhedron/timeelapse3.cc (1.5), Polyhedron/timeelapse4.cc (1.5),
+	  Polyhedron/timeelapse5.cc (1.6), Polyhedron/timeelapse6.cc (1.5),
+	  Polyhedron/timeelapse7.cc (1.6), Polyhedron/timeelapse8.cc (1.6),
+	  Polyhedron/timeelapse9.cc (1.6), Polyhedron/topclosed1.cc (1.6),
+	  Polyhedron/topclosed2.cc (1.6), Polyhedron/topclosed3.cc (1.5),
+	  Polyhedron/topclosure1.cc (1.5), Polyhedron/topclosure2.cc (1.6),
+	  Polyhedron/topclosure3.cc (1.5), Polyhedron/topclosure4.cc (1.6),
+	  Polyhedron/universe1.cc (1.5), Polyhedron/universe2.cc (1.5),
+	  Polyhedron/universe3.cc (1.5), Polyhedron/universe4.cc (1.5),
+	  Polyhedron/universe5.cc (1.5), Polyhedron/universe6.cc (1.5),
+	  Polyhedron/universe7.cc (1.5), Polyhedron/watchdog1.cc (1.6),
+	  Polyhedron/writeconsys1.cc (1.5), Polyhedron/writegensys1.cc
+	  (1.5), Polyhedron/writegensys2.cc (1.6),
+	  Polyhedron/writegensys3.cc (1.5), Polyhedron/writepolyhedron1.cc
+	  (1.5), Polyhedron/writepolyhedron2.cc (1.5),
+	  Polyhedron/writepolyhedron3.cc (1.5),
+	  Polyhedron/writerelation1.cc (1.5), Polyhedron/writevariable1.cc
+	  (1.5): All the test programs in Polyhedron and BD_Shape rewritten
+	  so as to direct their output to nout and vnout without explicitly
+	  checking preprocessor variables.
+
+2005-12-14 Wednesday 11:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: ppl_test.hh (1.30), print.cc (1.17), print.hh (1.21):
+	  Defined the output streams nout and vnout to help in the control
+	  of the noisy level of test programs. By default, the helper print
+	  functions now print on ostream nout. Also added in ppl_tests.hh
+	  an using directive for the whole PPL namespace and a using
+	  declaration for std::endl.
+
+2005-12-14 Wednesday 11:33  Andrea Cimino
+
+	* src/: LP_Problem.cc, LP_Problem.defs.hh, LP_Problem.inlines.hh
+	  (simplex.[5,5,7]): Documentation stuff removed from
+	  implementation file.	Removed redundant parentheses.
+
+2005-12-13 Tuesday 14:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.49): Always add a space between
+	  "catch" and "(".
+
+2005-12-13 Tuesday 14:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/ppl-config.cc.in (1.10): Remove trailing whitespace; always
+	  add a space between "catch" and "(".
+
+2005-12-13 Tuesday 14:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.141): Always add a space between "catch"
+	  and the following "(".
+
+2005-12-13 Tuesday 14:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.13): Remove trailing
+	  whitespace.
+
+2005-12-12 Monday 21:36  Matthew Mundell
+
+	* src/Grid.defs.hh, src/Grid.inlines.hh, src/Grid_Generator.cc,
+	  src/Grid_Generator.defs.hh, src/Grid_Generator.inlines.hh,
+	  src/Grid_Generator_System.defs.hh, src/Grid_nonpublic.cc,
+	  src/Grid_public.cc, tests/Grid/addcongruences1.cc,
+	  tests/Grid/addgenerator1.cc, tests/Grid/addspacedims1.cc,
+	  tests/Grid/addspacedims2.cc, tests/Grid/affinedim1.cc,
+	  tests/Grid/affineimage1.cc, tests/Grid/affinepreimage1.cc,
+	  tests/Grid/bounded1.cc, tests/Grid/boundingbox1.cc,
+	  tests/Grid/boundingbox2.cc, tests/Grid/bounds1.cc,
+	  tests/Grid/certificate1.cc, tests/Grid/concatenate1.cc,
+	  tests/Grid/congruences1.cc, tests/Grid/congruencesystem2.cc,
+	  tests/Grid/contains1.cc, tests/Grid/contains2.cc,
+	  tests/Grid/coveringbox1.cc, tests/Grid/coveringbox2.cc,
+	  tests/Grid/disjoint1.cc, tests/Grid/equals1.cc,
+	  tests/Grid/expandspacedim1.cc, tests/Grid/foldspacedims1.cc,
+	  tests/Grid/generalizedaffineimage1.cc,
+	  tests/Grid/generalizedaffineimage2.cc,
+	  tests/Grid/generalizedaffinepreimage1.cc,
+	  tests/Grid/generalizedaffinepreimage2.cc,
+	  tests/Grid/generator1.cc, tests/Grid/generators1.cc,
+	  tests/Grid/grid1.cc, tests/Grid/grid2.cc,
+	  tests/Grid/griddifference1.cc, tests/Grid/intersection1.cc,
+	  tests/Grid/intersection2.cc, tests/Grid/isuniverse1.cc,
+	  tests/Grid/join1.cc, tests/Grid/join2.cc, tests/Grid/join3.cc,
+	  tests/Grid/limitedextrapolation1.cc, tests/Grid/mapspacedims1.cc,
+	  tests/Grid/maxmin1.cc, tests/Grid/mingenerators1.cc,
+	  tests/Grid/pointed1.cc, tests/Grid/relations1.cc,
+	  tests/Grid/relations2.cc, tests/Grid/removespacedims1.cc,
+	  tests/Grid/removespacedims2.cc, tests/Grid/timeelapse1.cc,
+	  tests/Grid/topclosed1.cc, tests/Grid/topclosure1.cc,
+	  tests/Grid/widening1.cc
+	  (grids.[88,46,6,13,12,9,58,115,3,15,11,9,3,9,9,4,9,5,3,4,6,5,10,6,4,9,7,3,4,6,6,5,6,6,5,3,3,24,20,8,7,9,7,11,7,4,6,11,4,3,3,5,6,10,7,6,4,3,8]):
+	  Update Grid::map_space_dimensions() to use set_empty.  Make
+	  Grid_Generator(Generator&) explicit.	Enable insertion of
+	  parameters directly into a Grid.  Update Grid::is_universe,
+	  Grid::map_space_dimensions() and all the tests to use the grid
+	  generator creation functions.  Correct the expected values of a
+	  few tests that use parameters.
+
+2005-12-12 Monday 17:49  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid_nonpublic.cc, Grid_public.cc
+	  (grids.[87,57,114]): Take out old parameter hiding.
+
+2005-12-12 Monday 16:21  Andrea Cimino
+
+	* src/: LP_Problem.cc, LP_Problem.defs.hh, LP_Problem.inlines.hh
+	  (simplex.[4,4,6]): Written some code in `PPL::LP_Problem::OK()'.
+	  Properly renamed `opt_kind' to `opt_mode'.
+
+2005-12-12 Monday 13:49  Matthew Mundell
+
+	* src/: Grid_Generator_System.cc, Grid_Generator_System.defs.hh
+	  (grids.[12,8]): Implement operator<<(s,ggs).
+
+2005-12-12 Monday 13:27  Andrea Cimino
+
+	* src/LP_Problem.defs.hh, src/LP_Problem.inlines.hh,
+	  tests/Polyhedron/LP_Problem1.cc (simplex.[3,5,3]): Added the
+	  method `PPL::LP_Problem::optimal_value()'.  Modified also
+	  LP_Problem1.cc: all seems to work as expected.
+
+2005-12-10 Saturday 15:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (simplex.1): Exploiting the new
+	  LP_Problem class to build a precise BD_Shape starting from the
+	  constraints of a polyhedron when SIMPLEX_COMPLEXITY is allowed.
+
+2005-12-09 Friday 20:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.52): Some reorganization of the methods
+	  in documentation sections.
+
+2005-12-08 Thursday 20:26  Andrea Cimino
+
+	* src/LP_Problem.inlines.hh (simplex.4): Fixed a bug showed by
+	  `ppl_lpsol'.
+
+2005-12-08 Thursday 20:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (simplex.2): Corrected a bug in the
+	  call of ppl_LP_Problem_optimizing_point().
+
+2005-12-08 Thursday 15:22  Andrea Cimino
+
+	* src/: LP_Problem.cc, LP_Problem.inlines.hh (simplex.[3,3]):
+	  Some switches fixed.
+
+2005-12-08 Thursday 07:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.165), interfaces/Prolog/Prolog_interface.dox (1.137),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.106): Added support for
+	  SWI-Prolog's unbounded numbers.  This requires Prolog version
+	  5.5.40 or later version.
+
+2005-12-07 Wednesday 17:31  Andrea Cimino
+
+	* src/LP_Problem.cc, src/LP_Problem.defs.hh,
+	  src/LP_Problem.inlines.hh, tests/Polyhedron/LP_Problem1.cc,
+	  tests/Polyhedron/LP_Problem2.cc (simplex.[2,2,2,2,2]):
+	  LP_Problem prototypes modified to match the C interface.
+	  Modified also the tests.  The code needs to be hardly tested.
+
+2005-12-06 Tuesday 16:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (simplex.1): Using the new interface
+	  to the LP_Problem class.
+
+2005-12-06 Tuesday 16:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc, ppl_c.h.in (simplex.[1,1]): Added
+	  tentative interface for the LP_Problem class.
+
+2005-12-06 Tuesday 16:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint_System.defs.hh, globals.types.hh, simplex.cc
+	  (simplex.[2,1,1]): Enumeration Optimization_Kind renamed as
+	  Optimization_Mode.
+
+2005-12-06 Tuesday 13:24  Andrea Cimino
+
+	* doc/devref.doxyconf-html.in (simplex.1):
+	  Modified to produce PPL::LP_Problem documentation.
+
+2005-12-05 Monday 22:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.22), Watchdog/ChangeLog (1.12): Updated.
+
+2005-12-05 Monday 20:44  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/limitedCH78extrapolation1.cc (1.5): Changed so as
+	  to rflect the improved precision of the widening.
+
+2005-12-05 Monday 19:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.105): Corrected trivial errors in
+	  calls to function that became a method.
+
+2005-12-05 Monday 19:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h.in (1.56): Corrected references to the
+	  manual.
+
+2005-12-05 Monday 19:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/: ch78widening6.cc (1.7), ch78widening8.cc (1.5):
+	  The known results updated to reflect the increased precision of
+	  the widening operator.
+
+2005-12-05 Monday 19:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.104): The operator
+	  CH78_widening_assign() is now implemented as specified in the SAS
+	  paper BHMZ05, returning immediately if there has been a change in
+	  the affine dimension of the arguments, so that it is well-defined
+	  on the domain of BDSs.
+
+2005-12-05 Monday 19:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.51): Corrected references to the
+	  documentation. Do escape < and > when writing doxygen
+	  documentation.
+
+2005-12-05 Monday 19:04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedra_Powerset.defs.hh (1.26), Polyhedron.defs.hh
+	  (1.285): Corrected references to the documentation.
+
+2005-12-05 Monday 19:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Bounding_Box.defs.hh (1.10): Formatted doxygen commands
+	  according to STANDARDS. Corrected a couple of references to the
+	  manual.
+
+2005-12-05 Monday 19:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Bounding_Box.cc (1.12): Removed duplicated doxygen comment.
+
+2005-12-05 Monday 19:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.179): Removed some redundant anchors
+	  (prefer using the anchors automatically defined by sectioning
+	  commands).  Added subsection on the widening and extrapolation
+	  operators for BDSs.
+
+2005-12-05 Monday 14:54  Andrea Cimino
+
+	* src/Constraint_System.defs.hh, src/LP_Problem.cc,
+	  src/LP_Problem.defs.hh, src/LP_Problem.inlines.hh,
+	  src/LP_Problem.types.hh, src/Linear_Expression.defs.hh,
+	  src/Makefile.am, tests/Polyhedron/LP_Problem1.cc,
+	  tests/Polyhedron/LP_Problem2.cc, tests/Polyhedron/Makefile.am
+	  (simplex.[1,1,1,1,1,1,1,1,1,1]):
+	  Added the LP_Problem class to the branch, derived from the
+	  simplex.cc code.  The class is fully functional, but lacks of
+	  some features like `incrementality': in this case the problem is
+	  solved from scratch.	Added also a couple of tests playing with
+	  the class, but other tests are needed.  For significant tests a
+	  change to the C interface and to the	`ppl_lpsol' tool is
+	  required.  LP_Problem declared `friend class' of
+	  `Constraint_System' and `Linear_Expression' to allow compiling.
+
+2005-12-05 Monday 14:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.cc (1.1), BD_Shape.defs.hh (1.50),
+	  BD_Shape.inlines.hh (1.103), Makefile.am (1.130): A couple of
+	  non-inline and non-template functions placed in BD_Shape.cc.	A
+	  few functions have become private members of the BD_Shape class.
+	  Some exception throwers are now declared static.  A few methods
+	  have been renamed for consistency.
+
+2005-12-05 Monday 14:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: DB_Matrix.defs.hh (1.13), DB_Matrix.inlines.hh (1.18):
+	  Avoid indirect inclusion dependencies.  Corrected a typo in a
+	  preprocessor variable name.
+
+2005-12-05 Monday 14:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Checked_Number.types.hh (1.8): Also declare the
+	  Extended_Number_Policy type.
+
+2005-12-05 Monday 14:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.136): Corrected a few
+	  typos and removed a repeated paragraph.
+
+2005-12-05 Monday 10:29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Ask_Tell.inlines.hh (1.6), Bounding_Box.cc (1.11),
+	  Constraint_System.cc (1.14), DB_Matrix.defs.hh (1.12),
+	  DB_Matrix.inlines.hh (1.17), DB_Row.inlines.hh (1.15),
+	  Generator_System.cc (1.14), Linear_Row.cc (1.14),
+	  Linear_System.cc (1.31), Matrix.cc (1.87),
+	  Polyhedra_Powerset.inlines.hh (1.33), Polyhedron_public.cc
+	  (1.68), Row.cc (1.92), Saturation_Matrix.cc (1.6): Do not flush
+	  too often the ostream buffer when performing normal output.
+
+2005-12-05 Monday 10:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Checked_Number.defs.hh (1.42), Checked_Number.inlines.hh
+	  (1.46): Added a missing \relates doxygen command.
+
+2005-12-05 Monday 10:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.49), BD_Shape.inlines.hh (1.102):
+	  Helper functions forget_*_constraints_on_var() are now provate
+	  methods of class BD_Shape.  Corrected the implementation of
+	  method swap.
+
+2005-12-04 Sunday 10:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.178): Draftet a section on BD shapes.
+
+2005-12-03 Saturday 15:33  Matthew Mundell
+
+	* src/Grid_Generator_System.inlines.hh (grids.6): Update insert to
+	  construct the generator directly into the constructor call.
+
+2005-12-03 Saturday 15:33  Matthew Mundell
+
+	* src/Grid_Generator_System.defs.hh (grids.7): Update the matrix
+	  diagram in the add_universe_rows_and_columns description.
+
+2005-12-03 Saturday 15:31  Matthew Mundell
+
+	* src/Grid_Generator.inlines.hh (grids.11): Update
+	  Grid_Generator(g) to swap with g instead of copying g.  Clean
+	  some comments.  Move the equality operators to better positions.
+	  Update line and point to use Grid_Generator(g).
+
+2005-12-03 Saturday 15:19  Matthew Mundell
+
+	* tests/Grid/generator1.cc (grids.2): Insert test8, to check
+	  construction from a Generator reference.
+
+2005-12-03 Saturday 15:09  Matthew Mundell
+
+	* src/Grid_Generator.defs.hh (grids.12): Move Grid_Generator(g) to
+	  the beginning of the public section.	Improve the
+	  Grid_Generator(g) description.
+
+2005-12-03 Saturday 12:55  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, generator1.cc (grids.[53,1]): Add
+	  generator1, to test Grid_Generator.
+
+2005-12-03 Saturday 12:21  Matthew Mundell
+
+	* src/Generator_System.defs.hh (grids.10): Keep the Grid friend
+	  declaration.
+
+2005-12-03 Saturday 12:13  Matthew Mundell
+
+	* src/Grid_Generator_System.cc (grids.11): Add a note that
+	  ascii_load is a copy of Generator_System::ascii_load.
+
+2005-12-03 Saturday 12:12  Matthew Mundell
+
+	* src/: Grid_Generator.defs.hh, Grid_Generator.inlines.hh
+	  (grids.[11,10]): Add ascii_dump and ascii_load wrappers.
+
+2005-12-03 Saturday 12:04  Matthew Mundell
+
+	* tests/Grid/congruence1.cc (grids.11): Update main to output the
+	  test name.  Convert variable names to A, B and C.
+
+2005-12-03 Saturday 00:38  Matthew Mundell
+
+	* src/: Generator.defs.hh, Grid.defs.hh, Grid_Generator.defs.hh,
+	  Grid_Generator.inlines.hh, Grid_Generator_System.cc,
+	  Grid_Generator_System.defs.hh, Grid_Generator_System.inlines.hh,
+	  Grid_chdims.cc, Grid_conversion.cc, Grid_nonpublic.cc,
+	  Grid_public.cc, Grid_simplify.cc
+	  (grids.[16,86,10,9,10,6,5,26,30,56,113,41]): Stabilize the grid
+	  friend declarations in Generator.
+
+	  Hence, in Grid
+
+	    - update the rest of the simplify methods to use Grid_Generator
+
+	    - convert reduce_pc_with_pc to a template
+
+	    - update to the Grid_Generator_System method names,
+
+	  and in Grid_Generator
+
+	    - add negate(gg,start,end)
+
+	    - add private wrapper methods topology, size, set_is_line and
+	      set_is_parameter,
+
+	  and in Grid_Generator_System
+
+	    - reduce insert, keeping only the relevant parts, and move
+	      linear_system_insert into insert
+
+	    - revert the affine image parameter list to the
+	  Generator_System
+	      form
+
+	    - take out Grid_Generator_System(topology) and add_row(g)
+
+	  Clean some comments.	Add some comments.  Take out the
+	  directed-out Grid code left in in the last few commits.
+
+2005-12-02 Friday 22:16  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid_chdims.cc, Grid_conversion.cc,
+	  Grid_nonpublic.cc, Grid_public.cc, Grid_simplify.cc
+	  (grids.[85,25,29,55,112,40]): Reduce the dependency on the
+	  Grid_Generator_System Grid friend declaration:
+
+	    - declare function multiply_grid a static method
+
+	    - replace ggs::num_columns calls with equivalents which use
+		  ggs::space_dimension
+
+	    - leave handling of topology, pending rows and the sorted flag
+	  to
+		  Grid_Generator_System
+
+	    - replace add_zero_columns calls with insertions of all-zero
+	      parameters
+
+	    - replace private use of Grid_Generator_System and parents with
+	  use
+	      of remove_space_dimensions and recycling_insert
+
+	    - update to the Grid_Generator_System method names
+
+	    - replace direct resizing of gen_sys with sized system
+	  construction,
+	      or insertion of an all-zero parameter
+
+	    - update time_elapse_assign to leave any origin point in the
+	      resulting gen_sys
+
+	    - update conversion and minimization methods to use
+		  Grid_Generator_System instead of Linear_System.
+
+	  Take the resizing of gen_sys out of the add_generator(g) empty
+	  case, as the generator system is always the right size.
+
+	  Add const to the add_space_dimensions `dims' argument
+	  declarations.
+
+	  Take the topology and sorted checks out of OK.
+
+2005-12-02 Friday 22:13  Matthew Mundell
+
+	* src/Grid_Generator_System.cc (grids.9): Update
+	  add_universe_rows_and_columns to unset pending rows.	Update
+	  insert(gg) so that at most it adjusts the space dimension if an
+	  all-zero parameter is given.
+
+2005-12-02 Friday 20:45  Matthew Mundell
+
+	* src/: Grid_Generator_System.cc, Grid_Generator_System.defs.hh
+	  (grids.[8,5]): Add recycling_insert, remove_space_dimensions,
+	  remove_higher_space_dimensions and an OK sorted check.  Move
+	  add_row to the private section.  Keep the Grid friend
+	  declaration, for now.
+
+2005-12-02 Friday 20:41  Matthew Mundell
+
+	* src/: Grid_Generator.defs.hh, Grid_Generator.inlines.hh
+	  (grids.[9,8]): Add access operators.
+
+2005-12-02 Friday 17:38  Matthew Mundell
+
+	* src/Grid_public.cc (grids.111): Take the topology specification
+	  out of the generator system construction in Grid(n,k).
+
+2005-12-02 Friday 17:36  Matthew Mundell
+
+	* src/Grid_nonpublic.cc (grids.54): Reduce dependency on the
+	  Grid_Generator_System Grid friend declaration: let
+	  Grid_Generator_System handle pending rows and the sorted flag,
+	  define out the NNC handling in construct(gs,), replace manual
+	  topology and dimension adjustment with calls to
+	  Grid_Generator_System(dim) and replace a Grid_Generator_System
+	  num_columns call with an equivalent which uses
+	  Grid_Generator_System::space_dimension().
+
+2005-12-02 Friday 17:28  Matthew Mundell
+
+	* src/: Grid_Generator_System.cc, Grid_Generator_System.defs.hh,
+	  Grid_Generator_System.inlines.hh (grids.[7,4,4]): Add a topology
+	  check to OK.	Update `insert' to clear the sorted flag after
+	  inserting.  Update constructors to set the sorted flag.  Add
+	  wrapper methods max_space_dimension, space_dimension and
+	  num_lines.  Add Grid_Generator_System(dim).
+
+2005-12-02 Friday 16:13  Matthew Mundell
+
+	* src/Grid_public.cc (grids.110): Update
+	  generalized_affine_image(v,e,d,m) to insert the parameter via
+	  function `parameter'.
+
+2005-12-02 Friday 16:12  Matthew Mundell
+
+	* src/: Grid_Generator_System.cc, Grid_Generator_System.defs.hh,
+	  Grid_Generator_System.inlines.hh (grids.[6,3,3]): Add method
+	  linear_system_insert, a slightly modified copy of
+	  Linear_System::insert.  Update insert to use linear_system_insert
+	  instead of trying to handle parameters specially.  Make
+	  ascii_dump() a real (vs inline) method.  Set the affine_image
+	  grid parameter automatic value to true.
+
+2005-12-02 Friday 16:05  Matthew Mundell
+
+	* src/: Grid_Generator.cc, Grid_Generator.inlines.hh (grids.[5,7]):
+	  Implement method parameter locally to work around the
+	  normalization in Generator::ray.
+
+2005-12-02 Friday 16:04  Matthew Mundell
+
+	* src/Grid_Generator.defs.hh (grids.8): Keep the Grid friend
+	  declaration.
+
+2005-12-01 Thursday 22:43  Matthew Mundell
+
+	* tests/Grid/join1.cc (grids.10): Turn off test4 (includes ray
+	  insertion), for now.
+
+2005-12-01 Thursday 22:34  Matthew Mundell
+
+	* src/Grid_public.cc (grids.109): Update add_generator(g) to only
+	  adjust the divisor for points, for now.
+
+2005-12-01 Thursday 22:23  Matthew Mundell
+
+	* src/Grid_public.cc (grids.108): Revert is_universe to create a
+	  generator for each dimension.
+
+2005-12-01 Thursday 22:01  Matthew Mundell
+
+	* src/Grid_conversion.cc (grids.28): Improve a comment slightly.
+
+2005-12-01 Thursday 22:01  Matthew Mundell
+
+	* src/Grid_Generator.inlines.hh (grids.6): Add a temporary note.
+
+2005-12-01 Thursday 22:01  Matthew Mundell
+
+	* src/Grid_Generator_System.cc (grids.5): Update insert to work
+	  around the Linear_System::insert normalization check when
+	  inserting a parameter.
+
+2005-12-01 Thursday 21:46  Matthew Mundell
+
+	* src/Grid_public.cc (grids.107): Revert add_generator to multiply
+	  the given point after it has been inserted.
+
+2005-12-01 Thursday 20:44  Matthew Mundell
+
+	* src/: Grid_Generator.cc, Grid_Generator.defs.hh,
+	  Grid_Generator.inlines.hh, Grid_nonpublic.cc, Grid_public.cc
+	  (grids.[4,7,5,53,106]): Add a Grid_Generator::divisor method
+	  which returns a writable reference.  Update Grid to use this
+	  method instead of casting.  Revert
+	  Grid::generalized_affine_image(v,e,d,m) to insert the parameter
+	  in stages.
+
+2005-12-01 Thursday 20:00  Matthew Mundell
+
+	* tests/Grid/membytes1.cc (grids.3): Update function add_generator
+	  to use Generator instead of Grid_Generator.
+
+2005-12-01 Thursday 19:59  Matthew Mundell
+
+	* src/: Grid_Generator.defs.hh, Grid_Generator.inlines.hh
+	  (grids.[6,4]): Add methods total_memory_in_bytes and
+	  external_memory_in_bytes.
+
+2005-12-01 Thursday 19:35  Matthew Mundell
+
+	* tests/Grid/congruencesystem2.cc (grids.9): Update
+	  satisfies_all_congruences to use Generator instead of
+	  Grid_Generator.
+
+2005-12-01 Thursday 19:21  Matthew Mundell
+
+	* tests/Grid/addgenerator1.cc (grids.14): Update test4 to add all
+	  generators.
+
+2005-12-01 Thursday 19:10  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid_nonpublic.cc, Grid_public.cc
+	  (grids.[84,52,105]): Reduce the dependency on the Grid_Generator
+	  Grid friend declaration: turn off hiding of parameters,
+	  temporarily let rays be inserted as parameters, always get the
+	  divisor via the divisor method, switch to use the
+	  Generator_System wrapper methods, multiply generators via
+	  Grid_Generator::multiply, construct grids by inserting rows
+	  instead of modifying inserted rows, compare generator systems in
+	  OK via is_equal_to, and swap entire rows via coefficient_swap.
+
+	  Take out the OK NC check and the add_generator NC handling.
+
+2005-12-01 Thursday 18:56  Matthew Mundell
+
+	* src/Grid_conversion.cc (grids.27): Update upper_triangular to use
+	  Generator instead of Grid_Generator.
+
+2005-12-01 Thursday 18:56  Matthew Mundell
+
+	* src/Grid_chdims.cc (grids.24): In both add_space_dimensions
+	  methods use add_universe_rows_and_columns instead of manually
+	  adding the rows.
+
+2005-12-01 Thursday 18:55  Matthew Mundell
+
+	* src/: Grid_Generator_System.cc, Grid_Generator_System.defs.hh,
+	  Grid_Generator_System.inlines.hh (grids.[4,2,2]): Add
+	  Generator_System wrappers Grid_Generator_System(gg) and
+	  add_row(gg), and new method add_universe_rows_and_columns.  Use
+	  Generator instead of Grid_Generator in const_iterator.
+
+2005-12-01 Thursday 18:52  Matthew Mundell
+
+	* src/: Grid_Generator.cc, Grid_Generator.defs.hh,
+	  Grid_Generator.inlines.hh (grids.[3,5,3]): Add many Generator
+	  wrapper methods, and new methods multiply and coefficient_swap.
+	  Update OK to call methods directly, instead of via a reference.
+
+2005-12-01 Thursday 18:49  Matthew Mundell
+
+	* src/: Scalar_Products.cc, Scalar_Products.defs.hh,
+	  Scalar_Products.inlines.hh (grids.[4,4,4]): Use Grid_Generator
+	  instead of Generator in the Grid related methods.  Add
+	  Grid_Generator versions of homogeneous_sign(e,g) and
+	  homogeneous_assign(z,e,g).  Take out
+	  Topology_Adjusted_Scalar_Product_Assign.
+
+2005-12-01 Thursday 18:45  Matthew Mundell
+
+	* src/: Congruence_System.cc, Congruence_System.defs.hh
+	  (grids.[35,21]): Use Grid_Generator instead of Generator.
+
+2005-12-01 Thursday 18:44  Matthew Mundell
+
+	* tests/Grid/grid1.cc (grids.23): Turn of ray test for now.
+
+2005-11-30 Wednesday 20:09  Matthew Mundell
+
+	* src/: Generator.defs.hh, Generator_System.defs.hh,
+	  Grid_Generator.defs.hh (grids.[15,9,4]): Comment inclusions above
+	  the line instead of at the line end, to please
+	  utils/build_header.
+
+2005-11-30 Wednesday 19:56  Matthew Mundell
+
+	* src/Grid_Generator_System.cc (grids.3): Update OK to call the
+	  updated Grid_Generator::OK, and to use Grid_Generator_System for
+	  the generator system type.
+
+2005-11-30 Wednesday 19:53  Matthew Mundell
+
+	* src/: Grid_Generator.cc, Grid_Generator.defs.hh (grids.[2,3]):
+	  Add OK method.
+
+2005-11-30 Wednesday 19:53  Matthew Mundell
+
+	* src/: Generator.cc, Generator.defs.hh (grids.[6,14]): Take out
+	  the OK method flag parameter hack.
+
+2005-11-30 Wednesday 19:52  Matthew Mundell
+
+	* tests/Grid/addgenerator1.cc (grids.13): Add only NC generators
+	  for now.
+
+2005-11-30 Wednesday 17:49  Matthew Mundell
+
+	* src/: Grid_Generator.cc, Grid_Generator.defs.hh,
+	  Grid_Generator.inlines.hh, Grid_Generator_System.cc, Makefile.am
+	  (grids.[1,2,2,2,12]): Inherit privately from Generator.  Add enum
+	  Type.  Add methods is_equivalent_to and swap.  Add
+	  operator<<(s,g) friend declaration.
+
+2005-11-30 Wednesday 17:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.161): Testing the notification of commit messages.
+
+2005-11-30 Wednesday 17:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.160): Added an item.
+
+2005-11-30 Wednesday 16:55  Matthew Mundell
+
+	* src/Grid_public.cc, src/Grid_simplify.cc,
+	  src/Linear_Expression.defs.hh, src/Makefile.am,
+	  tests/ppl_test.hh, tests/Grid/addcongruence1.cc,
+	  tests/Grid/addcongruences1.cc, tests/Grid/addconstraint1.cc,
+	  tests/Grid/addconstraints1.cc, tests/Grid/addgenerator1.cc,
+	  tests/Grid/addspacedims1.cc, tests/Grid/addspacedims2.cc,
+	  tests/Grid/affinedim1.cc, tests/Grid/affineimage1.cc,
+	  tests/Grid/affinepreimage1.cc, tests/Grid/bhz03widening1.cc,
+	  tests/Grid/bounded1.cc, tests/Grid/boundingbox1.cc,
+	  tests/Grid/boundingbox2.cc, tests/Grid/concatenate1.cc,
+	  tests/Grid/congruence1.cc, tests/Grid/congruencesystem1.cc,
+	  tests/Grid/congruencesystem2.cc, tests/Grid/contains1.cc,
+	  tests/Grid/contains2.cc, tests/Grid/coveringbox1.cc,
+	  tests/Grid/coveringbox2.cc, tests/Grid/disjoint1.cc,
+	  tests/Grid/equals1.cc, tests/Grid/expandspacedim1.cc,
+	  tests/Grid/foldspacedims1.cc,
+	  tests/Grid/generalizedaffineimage1.cc,
+	  tests/Grid/generalizedaffineimage2.cc,
+	  tests/Grid/generalizedaffinepreimage1.cc,
+	  tests/Grid/generalizedaffinepreimage2.cc,
+	  tests/Grid/generators1.cc, tests/Grid/grid1.cc,
+	  tests/Grid/grid2.cc, tests/Grid/grid3.cc,
+	  tests/Grid/griddifference1.cc, tests/Grid/intersection1.cc,
+	  tests/Grid/intersection2.cc, tests/Grid/isuniverse1.cc,
+	  tests/Grid/join1.cc, tests/Grid/join2.cc, tests/Grid/join3.cc,
+	  tests/Grid/limitedextrapolation1.cc, tests/Grid/mapspacedims1.cc,
+	  tests/Grid/maxmin1.cc, tests/Grid/membytes1.cc,
+	  tests/Grid/mingenerators1.cc, tests/Grid/pointed1.cc,
+	  tests/Grid/relations1.cc, tests/Grid/removespacedims1.cc,
+	  tests/Grid/removespacedims2.cc, tests/Grid/timeelapse1.cc,
+	  tests/Grid/topclosure1.cc, tests/Grid/widening1.cc,
+	  tests/Grid/writecongruencesystem.cc, src/Generator.defs.hh,
+	  src/Generator_System.cc, src/Generator_System.defs.hh,
+	  src/Grid.defs.hh, src/Grid.inlines.hh,
+	  src/Grid_Generator.defs.hh, src/Grid_Generator.inlines.hh,
+	  src/Grid_Generator.types.hh, src/Grid_Generator_System.cc,
+	  src/Grid_Generator_System.defs.hh,
+	  src/Grid_Generator_System.inlines.hh,
+	  src/Grid_Generator_System.types.hh, src/Grid_chdims.cc,
+	  src/Grid_conversion.cc, src/Grid_nonpublic.cc
+	  (grids.[104,39,9,11,15,7,2,2,11,12,10,8,2,8,8,3,3,8,4,5,10,8,8,5,3,8,6,2,3,5,5,4,5,5,4,2,22,19,6,7,6,8,6,9,6,3,5,10,3,2,2,2,4,9,6,5,2,7,6,13,18,8,83,45,1,1,1,1,1,1,1,23,26,51]):
+	  Rename find_variation_template in ppl_test.hh to find_variation.
+	  Update all tests to call find_variation directly instead of
+	  calling a wrapped instantiation of find_varition.  Update
+	  find_variation to always use nout.  Take the abort call out of
+	  find_variation.
+
+	  Add classes Grid_Generator and Grid_Generator_System.  Update the
+	  grid classes and all tests to use these instead of Generator and
+	  Generator_System.  Take the grid hacks out of Generator_System.
+
+	  Update a comment in Grid_conversion.cc.
+
+2005-11-30 Wednesday 15:36  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh (1.41), Checked_Number.inlines.hh
+	  (1.45): Disabled ROUND_NOT_NEEDED debug check.
+
+2005-11-30 Wednesday 13:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.48): Removed trailing whitespace.
+
+2005-11-30 Wednesday 12:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.48): Removed trailing whitespace.
+
+2005-11-29 Tuesday 21:56  Abramo Bagnara
+
+	* src/Checked_Number.defs.hh (1.40): fpu_check_inexact is always
+	  set to true with assertions enabled for debugging purpose.
+
+2005-11-29 Tuesday 18:55  Abramo Bagnara
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.47),
+	  interfaces/Prolog/ppl_prolog.icc (1.164),
+	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.36),
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.31),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.81),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.105),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.72),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.99), src/BD_Shape.inlines.hh
+	  (1.101), src/Bounding_Box.cc (1.10), src/Bounding_Box.inlines.hh
+	  (1.11), src/Checked_Number.defs.hh (1.39),
+	  src/Checked_Number.inlines.hh (1.44), src/DB_Matrix.inlines.hh
+	  (1.16), src/Polyhedron.inlines.hh (1.126),
+	  src/Polyhedron_nonpublic.cc (1.58), src/Rounding_Dir.defs.hh
+	  (1.5), src/checked.inlines.hh (1.28),
+	  tests/Random_Number_Generator.inlines.hh (1.4),
+	  tests/BD_Shape/closure1.cc (1.8): Reorganized rounding modes.
+
+2005-11-29 Tuesday 11:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.20): Removed trailing whitespace.
+
+2005-11-28 Monday 21:08  Matthew Mundell
+
+	* src/Congruence_System.cc (grids.34): Compare to zero explicitly
+	  in normalize_moduli.
+
+2005-11-28 Monday 21:04  Matthew Mundell
+
+	* src/Grid_chdims.cc (grids.22): Update
+	  add_space_dimensions_and_embed and
+	  add_space_dimensions_and_project to use set_empty to empty the
+	  grid.  Update concatenate_assign to handle empty congruence
+	  systems.
+
+2005-11-28 Monday 21:01  Matthew Mundell
+
+	* src/: Grid.inlines.hh, Grid_nonpublic.cc, Grid_simplify.cc
+	  (grids.[44,50,38]): Improve a trace message slightly.  Improve a
+	  few comments.  Update the congruence system simplify method to
+	  accept empty congruence systems.
+
+2005-11-28 Monday 20:54  Matthew Mundell
+
+	* src/Grid_public.cc (grids.103): Improve a few comments.  Update
+	  intersection_assign to add the `y' congruence system only if it
+	  contains rows.  Take the setting of the up-to-date flag out of
+	  Grid(n,k).
+
+2005-11-28 Monday 20:50  Matthew Mundell
+
+	* src/Grid_widenings.cc (grids.10): Improve a comment slightly.
+
+2005-11-28 Monday 16:03  Matthew Mundell
+
+	* src/Grid_public.cc (grids.102): Update Grid(const Grid&) to
+	  ensure that the out of date systems are the correct size.
+
+2005-11-28 Monday 15:59  Matthew Mundell
+
+	* src/Grid_chdims.cc (grids.21): Update remove_space_dimensions and
+	  remove_higher_space_dimensions to call set_empty when the grid is
+	  empty.
+
+2005-11-28 Monday 15:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.100): The more precise convex
+	  combination is now also used in method
+	  generalized_affine_image(). Common code factored out in a couple
+	  of helper functions.
+
+2005-11-28 Monday 13:27  Matthew Mundell
+
+	* src/Congruence_System.inlines.hh (grids.11): Align comment.
+
+2005-11-28 Monday 13:27  Matthew Mundell
+
+	* src/Grid_public.cc (grids.101): Take out query (set_zero_dim_univ
+	  will insert a point, which adjusts the space dimension).
+
+2005-11-28 Monday 11:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/ppl.sty (1.23): "newcommand"s needed for the documentation
+	  for the grid domain added.
+
+2005-11-28 Monday 10:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.99): The computation of convex
+	  combinations in the general case of affine images has been
+	  simplified and properly commented.
+
+2005-11-27 Sunday 23:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/ppl.sty (grids.4): Improved comments.
+
+2005-11-27 Sunday 19:03  Matthew Mundell
+
+	* src/Grid_simplify.cc (grids.37): In the generator simplify method
+	  also assert sys is OK in the empty case.  In both cases pass
+	  false to OK.
+
+2005-11-27 Sunday 18:54  Matthew Mundell
+
+	* src/Grid_public.cc (grids.100): Leave congruences as they are
+	  (update_generators will simplify them).
+
+2005-11-27 Sunday 18:27  Matthew Mundell
+
+	* src/Grid_public.cc (grids.99): Assert false if relation_with(cg)
+	  finds a closure point.
+
+2005-11-27 Sunday 18:05  Matthew Mundell
+
+	* src/Row.defs.hh (grids.7): Take out the Grid friend declaration.
+
+2005-11-27 Sunday 18:04  Matthew Mundell
+
+	* src/Polyhedron_public.cc (grids.9): Note a possible improvement
+	  in add_congruences(cgs).
+
+2005-11-27 Sunday 18:02  Matthew Mundell
+
+	* src/Matrix.defs.hh (grids.5): Mention size and capacity in the
+	  add_recycled_row parameter description.
+
+2005-11-27 Sunday 17:59  Matthew Mundell
+
+	* src/Grid_simplify.cc (grids.36): In the congruence simplify
+	  method always erase rows with erase_to_end.  Take out the
+	  capacity setting after erases.  Add three temporary comments.
+	  Improve two comments.  Compare to zero explicitly in two
+	  assertions.
+
+2005-11-27 Sunday 17:53  Matthew Mundell
+
+	* src/Constraint.defs.hh (grids.9): Take out the Congruence_System
+	  friend declaration.
+
+2005-11-27 Sunday 17:52  Matthew Mundell
+
+	* src/Congruence_System.cc (grids.33): Update insert to use
+	  Constraint::space_dimension instead of the Constraint::size and
+	  Constraint::is_necessarily_closed.
+
+2005-11-27 Sunday 17:48  Matthew Mundell
+
+	* src/: Congruence.cc, Congruence.defs.hh, Congruence.inlines.hh,
+	  Linear_Expression.defs.hh, Linear_Expression.inlines.hh
+	  (grids.[17,32,18,8,3]): Get the size in Congruence(c) via the
+	  space_dimension().  Add flag `capacity' to Congruence(le,m).	Use
+	  Linear_Expression(le,sz) in the Congruence %= operators.  Take
+	  out Linear_Expression(le,sz,capacity).
+
+2005-11-27 Sunday 17:37  Matthew Mundell
+
+	* STANDARDS (grids.8): Take out section "Standards for the Test
+	  Programs".
+
+2005-11-25 Friday 15:53  Matthew Mundell
+
+	* src/Row.defs.hh (grids.6): Take out the Congruence_System friend
+	  declaration.
+
+2005-11-25 Friday 14:08  Matthew Mundell
+
+	* src/Polyhedron_public.cc (grids.8): Take out a query that relates
+	  to the trunk.
+
+2005-11-25 Friday 14:04  Matthew Mundell
+
+	* tests/Grid/affinepreimage1.cc (grids.7): Simplify a congruence in
+	  test8.
+
+2005-11-25 Friday 14:00  Matthew Mundell
+
+	* STANDARDS (grids.7): Mention that OK is called in
+	  find_variation_template.  Give an example of calling
+	  find_variation_template.
+
+2005-11-25 Friday 13:57  Matthew Mundell
+
+	* src/Matrix.cc (grids.6): Improve a comment in add_recycled_row.
+
+2005-11-25 Friday 11:42  Matthew Mundell
+
+	* src/: Grid_chdims.cc, Grid_nonpublic.cc, Grid_public.cc,
+	  Grid_widenings.cc (grids.[20,49,98,9]): In is_included_in merge
+	  some BE_LAZY=0 code into the BE_LAZY=1 case, and check if `x' is
+	  empty after minimization when BE_LAZY is 0.  In minimize() call
+	  simplify instead of update_generators and update_congruences,
+	  where possible.  Reduce all update_congruence calls to account
+	  for the fact the resulting grid always contains at least one
+	  point.
+
+2005-11-25 Friday 11:29  Matthew Mundell
+
+	* src/Grid.inlines.hh (grids.43): Keep the shrink_covering_box and
+	  get_covering_box dimension compatibility checks.
+
+2005-11-25 Friday 11:28  Matthew Mundell
+
+	* src/Grid.defs.hh (grids.82): Improve the update_congruences() and
+	  minimize() descriptions.
+
+2005-11-24 Thursday 13:49  Matthew Mundell
+
+	* src/Congruence.defs.hh (grids.31): Take out Polyhedron friend
+	  declaration.
+
+2005-11-24 Thursday 13:14  Matthew Mundell
+
+	* src/Grid.inlines.hh (grids.42): In the covering box grid
+	  constructor return immediately after setting empty when a
+	  universe interval is encountered.
+
+2005-11-24 Thursday 12:37  Matthew Mundell
+
+	* src/Grid_conversion.cc (grids.25): Move TRACE definition into the
+	  PPL namespace.  #undef TRACE afterwards.
+
+2005-11-24 Thursday 12:37  Matthew Mundell
+
+	* src/Grid_simplify.cc (grids.35): Replace the tracing stream with
+	  cerr and a macro called TRACE.
+
+2005-11-24 Thursday 12:12  Matthew Mundell
+
+	* src/Grid_nonpublic.cc (grids.48): In bounds(expr,char*) use
+	  Generator::is_line_or_ray.
+
+2005-11-24 Thursday 12:05  Matthew Mundell
+
+	* src/Grid_conversion.cc (grids.24): Replace the tracing stream
+	  with cerr and macro TRACE.
+
+2005-11-23 Wednesday 20:53  Matthew Mundell
+
+	* src/Generator_System.cc (grids.17): Re-enable the OK assertion.
+
+2005-11-23 Wednesday 20:51  Matthew Mundell
+
+	* src/: Generator.cc, Generator.defs.hh (grids.[5,12]): Extend the
+	  OK method check_normalization argument to other
+	  polyhedron-specific checks.
+
+2005-11-23 Wednesday 19:12  Matthew Mundell
+
+	* src/Grid_public.cc (grids.97): In add_recycled_generators
+	  minimize via update_generators instead of via minimize.
+
+2005-11-23 Wednesday 18:37  Matthew Mundell
+
+	* src/: Grid_public.cc, Grid_nonpublic.cc (grids.[96,47]): In
+	  add_recycled_generators_and_minimize minimize via
+	  update_generators and update_congruences instead of via minimize.
+
+2005-11-23 Wednesday 17:43  Matthew Mundell
+
+	* src/Congruence_System.defs.hh (grids.20): Make
+	  has_linear_equalities public.
+
+2005-11-23 Wednesday 17:41  Matthew Mundell
+
+	* src/Checked_Number.inlines.hh (grids.7): Update policy
+	  ROUND_DEFAULT to ROUND_DEFAULT_FUNCTION.
+
+2005-11-23 Wednesday 17:33  Matthew Mundell
+
+	* src/: Grid_nonpublic.cc, Grid_public.cc (grids.[46,95]): Use
+	  Generator::is_line_or_ray instead of Generator::is_point.
+
+2005-11-23 Wednesday 17:02  Matthew Mundell
+
+	* src/Linear_Expression.defs.hh (grids.7): Declare
+	  Congruence_System a friend.
+
+2005-11-23 Wednesday 17:01  Matthew Mundell
+
+	* src/Generator_System.cc (grids.16): Include compiler.hh.  Resolve
+	  two merge conflicts.
+
+2005-11-23 Wednesday 17:00  Matthew Mundell
+
+	* src/: Congruence.defs.hh, Congruence_System.cc,
+	  Generator.defs.hh, Grid_nonpublic.cc, Grid_public.cc,
+	  Scalar_Products.cc, Scalar_Products.defs.hh,
+	  Scalar_Products.inlines.hh, Scalar_Products.types.hh
+	  (grids.[30,32,11,45,94,3,3,3,3]): Move the grid scalar product
+	  functions into class Scalar_Products.  Add class
+	  Topology_Adjusted_Scalar_Product_Assign for
+	  Congruence_System::satisfies_all_congruences(g).
+
+2005-11-23 Wednesday 14:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS, NEWS, README.configure, STANDARDS, TODO, configure.ac,
+	  doc/definitions.dox, doc/devref.doxyconf-html.in,
+	  doc/devref.doxyconf-latex.in, doc/ppl.sty,
+	  doc/user.doxyconf-html.in, doc/user.doxyconf-latex.in,
+	  interfaces/C/ppl_c.cc, interfaces/C/ppl_c.h.in,
+	  interfaces/Prolog/Prolog_interface.dox,
+	  interfaces/Prolog/ppl_prolog.icc,
+	  interfaces/Prolog/Ciao/ciao_pl_check.pl,
+	  interfaces/Prolog/Ciao/ppl_ciao.pl,
+	  interfaces/Prolog/GNU/ppl_gprolog.pl,
+	  interfaces/Prolog/SICStus/Makefile.am,
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
+	  interfaces/Prolog/SWI/Makefile.am,
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
+	  interfaces/Prolog/XSB/Makefile.am,
+	  interfaces/Prolog/XSB/expected2_int16,
+	  interfaces/Prolog/XSB/expected2_int16_a,
+	  interfaces/Prolog/XSB/expected2_int32,
+	  interfaces/Prolog/XSB/expected2_int32_a,
+	  interfaces/Prolog/XSB/expected2_int64,
+	  interfaces/Prolog/XSB/expected2_int64_a,
+	  interfaces/Prolog/XSB/expected2_int8,
+	  interfaces/Prolog/XSB/expected2_int8_a,
+	  interfaces/Prolog/XSB/expected2_mpz,
+	  interfaces/Prolog/XSB/expected2_mpz_a,
+	  interfaces/Prolog/XSB/expected3_int16,
+	  interfaces/Prolog/XSB/expected3_int16_a,
+	  interfaces/Prolog/XSB/expected3_int32,
+	  interfaces/Prolog/XSB/expected3_int32_a,
+	  interfaces/Prolog/XSB/expected3_int64,
+	  interfaces/Prolog/XSB/expected3_int64_a,
+	  interfaces/Prolog/XSB/expected3_int8,
+	  interfaces/Prolog/XSB/expected3_int8_a,
+	  interfaces/Prolog/XSB/expected3_mpz,
+	  interfaces/Prolog/XSB/expected3_mpz_a,
+	  interfaces/Prolog/XSB/expected_clpq2_int16,
+	  interfaces/Prolog/XSB/expected_clpq2_int16_a,
+	  interfaces/Prolog/XSB/expected_clpq2_int32,
+	  interfaces/Prolog/XSB/expected_clpq2_int32_a,
+	  interfaces/Prolog/XSB/expected_clpq2_int64,
+	  interfaces/Prolog/XSB/expected_clpq2_int64_a,
+	  interfaces/Prolog/XSB/expected_clpq2_int8,
+	  interfaces/Prolog/XSB/expected_clpq2_int8_a,
+	  interfaces/Prolog/XSB/expected_clpq2_mpz,
+	  interfaces/Prolog/XSB/expected_clpq2_mpz_a,
+	  interfaces/Prolog/XSB/expected_clpq_int16,
+	  interfaces/Prolog/XSB/expected_clpq_int16_a,
+	  interfaces/Prolog/XSB/expected_clpq_int32,
+	  interfaces/Prolog/XSB/expected_clpq_int32_a,
+	  interfaces/Prolog/XSB/expected_clpq_int64,
+	  interfaces/Prolog/XSB/expected_clpq_int64_a,
+	  interfaces/Prolog/XSB/expected_clpq_int8,
+	  interfaces/Prolog/XSB/expected_clpq_int8_a,
+	  interfaces/Prolog/XSB/expected_clpq_mpz,
+	  interfaces/Prolog/XSB/expected_clpq_mpz_a,
+	  interfaces/Prolog/XSB/expected_int16,
+	  interfaces/Prolog/XSB/expected_int16_a,
+	  interfaces/Prolog/XSB/expected_int32,
+	  interfaces/Prolog/XSB/expected_int32_a,
+	  interfaces/Prolog/XSB/expected_int64,
+	  interfaces/Prolog/XSB/expected_int64_a,
+	  interfaces/Prolog/XSB/expected_int8,
+	  interfaces/Prolog/XSB/expected_int8_a,
+	  interfaces/Prolog/XSB/expected_mpz,
+	  interfaces/Prolog/XSB/expected_mpz_a,
+	  interfaces/Prolog/XSB/expected_pchk_int16,
+	  interfaces/Prolog/XSB/expected_pchk_int16_a,
+	  interfaces/Prolog/XSB/expected_pchk_int32,
+	  interfaces/Prolog/XSB/expected_pchk_int32_a,
+	  interfaces/Prolog/XSB/expected_pchk_int64,
+	  interfaces/Prolog/XSB/expected_pchk_int64_a,
+	  interfaces/Prolog/XSB/expected_pchk_int8,
+	  interfaces/Prolog/XSB/expected_pchk_int8_a,
+	  interfaces/Prolog/XSB/expected_pchk_mpz,
+	  interfaces/Prolog/XSB/expected_pchk_mpz_a,
+	  interfaces/Prolog/XSB/ppl_xsb.H,
+	  interfaces/Prolog/XSB/ppl_xsb.cc,
+	  interfaces/Prolog/XSB/xsb_pl_check.P,
+	  interfaces/Prolog/YAP/ppl_yap.cc,
+	  interfaces/Prolog/tests/expected_clpq2_int32_a,
+	  interfaces/Prolog/tests/expected_clpq2_int8,
+	  interfaces/Prolog/tests/expected_clpq2_int8_a,
+	  interfaces/Prolog/tests/expected_clpq_int16,
+	  interfaces/Prolog/tests/expected_clpq_int16_a,
+	  interfaces/Prolog/tests/expected_pchk_int16,
+	  interfaces/Prolog/tests/expected_pchk_int16_a,
+	  interfaces/Prolog/tests/expected_pchk_int32,
+	  interfaces/Prolog/tests/expected_pchk_int32_a,
+	  interfaces/Prolog/tests/expected_pchk_int8,
+	  interfaces/Prolog/tests/expected_pchk_int8_a,
+	  interfaces/Prolog/tests/pl_check.pl,
+	  m4/ac_check_sicstus_prolog.m4, m4/ac_check_swi_prolog.m4,
+	  m4/ac_check_xsb_prolog.m4, m4/lib-ld.m4, m4/lib-link.m4,
+	  m4/lib-prefix.m4, src/BDS_Status.idefs.hh,
+	  src/BDS_Status.inlines.hh, src/BD_Shape.defs.hh,
+	  src/BD_Shape.inlines.hh, src/Bounding_Box.cc,
+	  src/Bounding_Box.inlines.hh, src/Checked_Number.cc,
+	  src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
+	  src/Congruence.defs.hh, src/Constraint.defs.hh,
+	  src/Constraint_System.cc, src/Constraint_System.defs.hh,
+	  src/Constraint_System.inlines.hh, src/DB_Matrix.defs.hh,
+	  src/DB_Matrix.inlines.hh, src/DB_Row.defs.hh,
+	  src/DB_Row.inlines.hh, src/Determinate.defs.hh, src/Float.cc,
+	  src/Float.defs.hh, src/Float.inlines.hh, src/Generator.defs.hh,
+	  src/Generator.inlines.hh, src/Generator_System.cc,
+	  src/Generator_System.defs.hh, src/Generator_System.inlines.hh,
+	  src/Init.cc, src/Linear_Expression.defs.hh, src/Linear_System.cc,
+	  src/Linear_System.defs.hh, src/Makefile.am, src/Matrix.cc,
+	  src/Matrix.inlines.hh, src/Native_Integer.defs.hh,
+	  src/Native_Integer.inlines.hh, src/Polyhedra_Powerset.defs.hh,
+	  src/Polyhedra_Powerset.inlines.hh, src/Polyhedron.defs.hh,
+	  src/Polyhedron.inlines.hh, src/Polyhedron_chdims.cc,
+	  src/Polyhedron_nonpublic.cc, src/Polyhedron_public.cc,
+	  src/Polyhedron_widenings.cc, src/Result.defs.hh,
+	  src/Rounding.defs.hh, src/Rounding.types.hh,
+	  src/Rounding_Dir.defs.hh, src/Rounding_Dir.inlines.hh,
+	  src/Scalar_Products.cc, src/Scalar_Products.defs.hh,
+	  src/Scalar_Products.inlines.hh, src/Scalar_Products.types.hh,
+	  src/checked.cc, src/checked.defs.hh, src/checked.inlines.hh,
+	  src/checked_ext.inlines.hh, src/checked_float.inlines.hh,
+	  src/checked_int.inlines.hh, src/checked_mpq.inlines.hh,
+	  src/checked_mpz.inlines.hh, src/checked_numeric_limits.hh,
+	  src/conversion.cc, src/float.types.hh, src/globals.defs.hh,
+	  src/globals.inlines.hh, src/globals.types.hh,
+	  src/mp_numeric_limits.hh, src/ppl-config.cc.in,
+	  src/scalar_products.cc, src/scalar_products.defs.hh,
+	  src/scalar_products.inlines.hh, src/simplex.cc, src/simplify.cc,
+	  tests/ppl_test.hh, tests/BD_Shape/Makefile.am,
+	  tests/BD_Shape/addspacedims5.cc, tests/BD_Shape/addspacedims6.cc,
+	  tests/BD_Shape/affinedimension1.cc,
+	  tests/BD_Shape/affineimage10.cc, tests/BD_Shape/affineimage8.cc,
+	  tests/BD_Shape/affineimage9.cc,
+	  tests/BD_Shape/affinepreimage5.cc,
+	  tests/BD_Shape/ascii_dump_load1.cc,
+	  tests/BD_Shape/ascii_dump_load2.cc,
+	  tests/BD_Shape/bdsdifference1.cc,
+	  tests/BD_Shape/bdsdifference2.cc,
+	  tests/BD_Shape/bdsdifference3.cc,
+	  tests/BD_Shape/bdsdifference4.cc,
+	  tests/BD_Shape/bdsdifference5.cc,
+	  tests/BD_Shape/bdsdifference6.cc,
+	  tests/BD_Shape/bdsdifference7.cc,
+	  tests/BD_Shape/cc76extrapolation4.cc,
+	  tests/BD_Shape/ch78widening4.cc, tests/BD_Shape/closure1.cc,
+	  tests/BD_Shape/constraints1.cc, tests/BD_Shape/equality1.cc,
+	  tests/BD_Shape/exceptions1.cc, tests/BD_Shape/exceptions2.cc,
+	  tests/BD_Shape/exceptions3.cc,
+	  tests/BD_Shape/generalizedaffineimage1.cc,
+	  tests/BD_Shape/generalizedaffineimage13.cc,
+	  tests/BD_Shape/generalizedaffineimage14.cc,
+	  tests/BD_Shape/limitedCC76extrapolation2.cc,
+	  tests/BD_Shape/limitedCC76extrapolation3.cc,
+	  tests/BD_Shape/mapspacedims2.cc, tests/BD_Shape/mapspacedims3.cc,
+	  tests/BD_Shape/minconstraints1.cc,
+	  tests/BD_Shape/polydifference1.cc,
+	  tests/BD_Shape/polydifference2.cc,
+	  tests/BD_Shape/polydifference3.cc,
+	  tests/BD_Shape/polydifference4.cc,
+	  tests/BD_Shape/polydifference5.cc,
+	  tests/BD_Shape/polydifference6.cc, tests/BD_Shape/relations1.cc,
+	  tests/BD_Shape/relations2.cc, tests/BD_Shape/relations3.cc,
+	  tests/BD_Shape/relations4.cc, tests/BD_Shape/relations5.cc,
+	  tests/BD_Shape/removespacedims2.cc,
+	  tests/BD_Shape/removespacedims3.cc, tests/BD_Shape/run_tests,
+	  tests/Polyhedron/Makefile.am, tests/Polyhedron/boundingbox1.cc,
+	  tests/Polyhedron/numberinput1.cc,
+	  tests/Polyhedron/primalsimplex1.cc,
+	  tests/Polyhedron/primalsimplex2.cc
+	  (grids.[2,4,2,6,16,8,9,5,2,3,4,2,5,5,3,4,2,2,2,4,3,6,3,4,1,1,1,1,1,1,1,1,1,1,2,2,2,1,1,1,2,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,3,3,3,4,2,2,2,2,2,3,3,3,3,3,3,3,2,3,2,1,1,1,3,3,6,6,3,3,2,8,6,29,8,3,4,3,2,2,4,2,4,2,3,3,10,4,15,7,2,4,6,5,3,10,5,4,5,6,6,7,8,6,5,6,7,4,3,3,2,2,2,2,2,2,2,4,5,8,5,7,6,4,5,4,3,2,5,4,2,2,2,5,6,3,5,2,14,6,3,3,2,2,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,3,3,4,3,3,3,3,3,2,2,2,2,2,3,2,2,2,2,2,3,3,3,2,3,2,2,2,10,2,3,2,2]):
+	  Sixth merge from main trunk.	(Note: build is currently broken.)
+
+2005-11-23 Wednesday 12:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.98): Corrected an ambiguous call
+	  problem when coefficients are checked_int64.
+
+2005-11-23 Wednesday 00:06  Matthew Mundell
+
+	* src/: Congruence_System.cc, Grid.defs.hh, Grid_minimize.cc,
+	  Grid_nonpublic.cc, Grid_public.cc (grids.[31,81,24,44,93]): Move
+	  the code in the static minimize methods into update_congruences
+	  and update_generators.  Call update_congruences and
+	  update_generators instead of the static minimize methods in
+	  methods add_recycled_congruences_and_minimize and
+	  add_recycled_generators_and_minimize.  In OK test congruence to
+	  generator conversion via a temporary grid instead of a temporary
+	  congruence system.
+
+2005-11-22 Tuesday 12:08  Matthew Mundell
+
+	* src/Grid_conversion.cc (grids.23): Improve two comments.
+
+2005-11-22 Tuesday 11:34  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid_conversion.cc (grids.[80,22]): Make
+	  conversion void of return.
+
+2005-11-22 Tuesday 11:21  Matthew Mundell
+
+	* src/Grid_public.cc (grids.92): Leave dim_kinds at the end of the
+	  ASCII dump.  Resign to reading dim_kind into a short temporary
+	  int in ascii_load.
+
+2005-11-22 Tuesday 11:01  Matthew Mundell
+
+	* tests/Grid/congruence1.cc (grids.9): Use a local namespace.
+	  Merge test10 and test11.  Add is_trivial_* tests of the form b %=
+	  0 mod m where b <> 0 mod m.
+
+2005-11-22 Tuesday 10:38  Matthew Mundell
+
+	* src/: Congruence.cc, Congruence.defs.hh (grids.[16,28]): Consider
+	  b %= 0 mod m where b <> 0 mod m as false in is_trivial_false.
+	  Leave the constant term be after factoring out the modulus in
+	  normalize.
+
+2005-11-22 Tuesday 07:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Rounding_Dir.defs.hh (1.4): Added new rounding modes
+	  ROUND_NOT_NEEDED and ROUND_DONT_CARE.
+
+2005-11-22 Tuesday 07:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Rounding_Dir.defs.hh (grids.1): file Rounding_Dir.defs.hh was
+	  added on branch grids on 2005-11-23 13:24:06 +0000
+
+2005-11-22 Tuesday 07:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Rounding_Dir.defs.hh (1.3): Added a couple of comments.
+
+2005-11-21 Monday 16:29  Matthew Mundell
+
+	* tests/Grid/isuniverse1.cc (grids.5): Use a local namespace.
+	  Insert test4, where the gird is zero dimension empty.  Add tests
+	  with the systems in various states of minimization and
+	  up-to-date'ness.
+
+2005-11-21 Monday 16:02  Matthew Mundell
+
+	* src/Grid_public.cc (grids.91): In is_universe check for a single
+	  integrality congruence if the congruences are minimized, use a
+	  single temporary generator instead of creating a temporary grid,
+	  and take out the gen_sys check.
+
+2005-11-21 Monday 15:58  Matthew Mundell
+
+	* src/Congruence.defs.hh (grids.27): Correct is_trivial_true doc.
+
+2005-11-21 Monday 15:48  Elena Mazzi
+
+	* src/BD_Shape.defs.hh (1.47), src/BD_Shape.inlines.hh (1.97),
+	  tests/BD_Shape/Makefile.am (1.28),
+	  tests/BD_Shape/bdsdifference1.cc (1.1),
+	  tests/BD_Shape/bdsdifference2.cc (1.1),
+	  tests/BD_Shape/bdsdifference3.cc (1.1),
+	  tests/BD_Shape/bdsdifference4.cc (1.1),
+	  tests/BD_Shape/bdsdifference5.cc (1.1),
+	  tests/BD_Shape/bdsdifference6.cc (1.1),
+	  tests/BD_Shape/bdsdifference7.cc (1.1),
+	  tests/BD_Shape/exceptions1.cc (1.8),
+	  tests/BD_Shape/polydifference1.cc (1.7),
+	  tests/BD_Shape/polydifference2.cc (1.5),
+	  tests/BD_Shape/polydifference3.cc (1.5),
+	  tests/BD_Shape/polydifference4.cc (1.5),
+	  tests/BD_Shape/polydifference5.cc (1.6),
+	  tests/BD_Shape/polydifference6.cc (1.5),
+	  tests/BD_Shape/polydifference7.cc (1.2), tests/BD_Shape/run_tests
+	  (1.10): Method BD_Shape::poly_difference_assign() renamed
+	  BD_Shape::bds_difference_assign().  Corrected a bug in
+	  BD_Shape::bds_difference_assign().
+
+2005-11-21 Monday 15:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/bdsdifference1.cc (grids.1): file
+	  bdsdifference1.cc was added on branch grids on 2005-11-23
+	  13:24:07 +0000
+
+2005-11-21 Monday 15:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/bdsdifference2.cc (grids.1): file
+	  bdsdifference2.cc was added on branch grids on 2005-11-23
+	  13:24:07 +0000
+
+2005-11-21 Monday 15:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/bdsdifference3.cc (grids.1): file
+	  bdsdifference3.cc was added on branch grids on 2005-11-23
+	  13:24:07 +0000
+
+2005-11-21 Monday 15:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/bdsdifference4.cc (grids.1): file
+	  bdsdifference4.cc was added on branch grids on 2005-11-23
+	  13:24:07 +0000
+
+2005-11-21 Monday 15:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/bdsdifference5.cc (grids.1): file
+	  bdsdifference5.cc was added on branch grids on 2005-11-23
+	  13:24:07 +0000
+
+2005-11-21 Monday 15:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/bdsdifference6.cc (grids.1): file
+	  bdsdifference6.cc was added on branch grids on 2005-11-23
+	  13:24:07 +0000
+
+2005-11-21 Monday 15:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/bdsdifference7.cc (grids.1): file
+	  bdsdifference7.cc was added on branch grids on 2005-11-23
+	  13:24:07 +0000
+
+2005-11-21 Monday 15:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/run_tests (grids.1): file run_tests was added on
+	  branch grids on 2005-11-23 13:24:08 +0000
+
+2005-11-21 Monday 15:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.96): Added a couple of missing inline
+	  declarations.  Let definitions of a few inline functions occur
+	  before their first use.
+
+2005-11-21 Monday 11:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/: affineimage8.cc (1.10),
+	  generalizedaffineimage14.cc (1.8): Removed the last CHECKME's
+	  from the known results.
+
+2005-11-20 Sunday 19:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: XSB/expected_pchk_int32 (1.2),
+	  tests/expected_pchk_int32 (1.3): Updated.
+
+2005-11-20 Sunday 19:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_pchk_int32 (grids.1): file
+	  expected_pchk_int32 was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-11-20 Sunday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: XSB/expected_clpq_int16 (1.2),
+	  XSB/expected_pchk_int16 (1.2), tests/expected_clpq_int16 (1.2),
+	  tests/expected_pchk_int16 (1.3): Updated.
+
+2005-11-20 Sunday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq_int16 (grids.1): file
+	  expected_clpq_int16 was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-11-20 Sunday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_pchk_int16 (grids.1): file
+	  expected_pchk_int16 was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-11-20 Sunday 18:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.159): New to-do item.
+
+2005-11-20 Sunday 18:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: XSB/expected_clpq2_int8_a (1.2),
+	  XSB/expected_pchk_int8_a (1.2), tests/expected_clpq2_int8_a
+	  (1.2), tests/expected_pchk_int8_a (1.3): Updated.
+
+2005-11-20 Sunday 18:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq2_int8_a (grids.1): file
+	  expected_clpq2_int8_a was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-11-20 Sunday 18:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_pchk_int8_a (grids.1): file
+	  expected_pchk_int8_a was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-11-20 Sunday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: XSB/expected_clpq2_int32_a (1.2),
+	  XSB/expected_clpq_int16_a (1.2), XSB/expected_pchk_int16_a (1.2),
+	  XSB/expected_pchk_int32_a (1.2), XSB/expected_pchk_int64_a (1.2),
+	  tests/expected_clpq2_int32_a (1.2), tests/expected_clpq_int16_a
+	  (1.2), tests/expected_pchk_int16_a (1.3),
+	  tests/expected_pchk_int32_a (1.3): Updated.
+
+2005-11-20 Sunday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq2_int32_a (grids.1): file
+	  expected_clpq2_int32_a was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-11-20 Sunday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq_int16_a (grids.1): file
+	  expected_clpq_int16_a was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-11-20 Sunday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_pchk_int16_a (grids.1): file
+	  expected_pchk_int16_a was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-11-20 Sunday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_pchk_int32_a (grids.1): file
+	  expected_pchk_int32_a was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-11-20 Sunday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_pchk_int64_a (grids.1): file
+	  expected_pchk_int64_a was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/: Makefile.am (1.38), expected2_int16
+	  (1.5), expected2_int16_a (1.4), expected2_int32 (1.4),
+	  expected2_int32_a (1.3), expected2_int64 (1.3), expected2_int64_a
+	  (1.3), expected2_int8 (1.4), expected2_int8_a (1.3),
+	  expected2_mpz (1.3), expected2_mpz_a (1.3), expected3_int16
+	  (1.3), expected3_int16_a (1.3), expected3_int32 (1.3),
+	  expected3_int32_a (1.2), expected3_int64 (1.2), expected3_int64_a
+	  (1.2), expected3_int8 (1.4), expected3_int8_a (1.2),
+	  expected3_mpz (1.2), expected3_mpz_a (1.2), expected_clpq2_int16
+	  (1.1), expected_clpq2_int16_a (1.1), expected_clpq2_int32 (1.1),
+	  expected_clpq2_int32_a (1.1), expected_clpq2_int64 (1.1),
+	  expected_clpq2_int64_a (1.1), expected_clpq2_int8 (1.1),
+	  expected_clpq2_int8_a (1.1), expected_clpq2_mpz (1.1),
+	  expected_clpq2_mpz_a (1.1), expected_clpq_int16 (1.1),
+	  expected_clpq_int16_a (1.1), expected_clpq_int32 (1.1),
+	  expected_clpq_int32_a (1.1), expected_clpq_int64 (1.1),
+	  expected_clpq_int64_a (1.1), expected_clpq_int8 (1.1),
+	  expected_clpq_int8_a (1.1), expected_clpq_mpz (1.1),
+	  expected_clpq_mpz_a (1.1), expected_int16 (1.3), expected_int16_a
+	  (1.3), expected_int32 (1.3), expected_int32_a (1.3),
+	  expected_int64 (1.3), expected_int64_a (1.3), expected_int8
+	  (1.4), expected_int8_a (1.4), expected_mpz (1.3), expected_mpz_a
+	  (1.3), expected_pchk_int16 (1.1), expected_pchk_int16_a (1.1),
+	  expected_pchk_int32 (1.1), expected_pchk_int32_a (1.1),
+	  expected_pchk_int64 (1.1), expected_pchk_int64_a (1.1),
+	  expected_pchk_int8 (1.1), expected_pchk_int8_a (1.1),
+	  expected_pchk_mpz (1.1), expected_pchk_mpz_a (1.1): Test files
+	  are now named as for the other Prolog systems.
+
+2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq2_int16 (grids.1): file
+	  expected_clpq2_int16 was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq2_int16_a (grids.1): file
+	  expected_clpq2_int16_a was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq2_int32 (grids.1): file
+	  expected_clpq2_int32 was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq2_int64 (grids.1): file
+	  expected_clpq2_int64 was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq2_int64_a (grids.1): file
+	  expected_clpq2_int64_a was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq2_int8 (grids.1): file
+	  expected_clpq2_int8 was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq2_mpz (grids.1): file
+	  expected_clpq2_mpz was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq2_mpz_a (grids.1): file
+	  expected_clpq2_mpz_a was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq_int32 (grids.1): file
+	  expected_clpq_int32 was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq_int32_a (grids.1): file
+	  expected_clpq_int32_a was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq_int64 (grids.1): file
+	  expected_clpq_int64 was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq_int64_a (grids.1): file
+	  expected_clpq_int64_a was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq_int8 (grids.1): file
+	  expected_clpq_int8 was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq_int8_a (grids.1): file
+	  expected_clpq_int8_a was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq_mpz (grids.1): file
+	  expected_clpq_mpz was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_clpq_mpz_a (grids.1): file
+	  expected_clpq_mpz_a was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_pchk_int64 (altnum.1): file
+	  expected_pchk_int64 was added on branch altnum on 2006-10-29
+	  19:27:05 +0000
+
+2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_pchk_int64 (grids.1): file
+	  expected_pchk_int64 was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_pchk_int8 (grids.1): file
+	  expected_pchk_int8 was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_pchk_mpz (altnum.1): file
+	  expected_pchk_mpz was added on branch altnum on 2006-10-29
+	  19:27:05 +0000
+
+2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_pchk_mpz (grids.1): file
+	  expected_pchk_mpz was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_pchk_mpz_a (altnum.1): file
+	  expected_pchk_mpz_a was added on branch altnum on 2006-10-29
+	  19:27:05 +0000
+
+2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected_pchk_mpz_a (grids.1): file
+	  expected_pchk_mpz_a was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-11-20 Sunday 16:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: XSB/expected2_int8 (1.3), XSB/expected3_int8
+	  (1.3), tests/expected_clpq2_int8 (1.2), tests/expected_pchk_int8
+	  (1.3): Updated.
+
+2005-11-20 Sunday 10:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/numberinput1.cc (1.14): Temporary hack to avoid
+	  failure of `make check'.
+
+2005-11-20 Sunday 07:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/numberinput1.cc (1.13): Removed another instance
+	  of undue reliance on default rounding mode.
+
+2005-11-20 Sunday 00:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.95): Use rounding up in the definition
+	  of stop_points[] in BD_Shape<T>::CC76_extrapolation_assign().
+
+2005-11-19 Saturday 22:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/DB_Matrix.inlines.hh (1.15): DB_Matrix<T>::ascii_load() was
+	  not failing in case of a conversion error.
+
+2005-11-19 Saturday 22:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Result.defs.hh (1.11): Added some full stops.
+
+2005-11-19 Saturday 22:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/DB_Row.inlines.hh (1.14): DB_Row::OK() is now more
+	  informative upon failure, unless NDEBUG is defined.
+
+2005-11-19 Saturday 20:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.94): Another correction in
+	  BD_Shape<T>::CC76_extrapolation_assign().
+
+2005-11-19 Saturday 20:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.93): Fixed the definition of
+	  stop_points[] in BD_Shape<T>::CC76_extrapolation_assign().
+
+2005-11-19 Saturday 20:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.inlines.hh (1.92), DB_Matrix.inlines.hh (1.14):
+	  Fixed a copy and paste bug in the distance functions.  No longer
+	  rely on default rounding mode for extended numbers.
+
+2005-11-19 Saturday 20:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: GMP_Integer.defs.hh (1.13), GMP_Integer.inlines.hh (1.8):
+	  Remove overloadings of raw_value() with an mpq_class argument.
+
+2005-11-19 Saturday 20:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/: affineimage8.cc (1.9), affineimage9.cc (1.8):
+	  Fixed ambiguous calls to rectilinear_distance_assign().
+
+2005-11-19 Saturday 20:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/Makefile.am (1.27): XFAIL_TESTS should be empty
+	  here.
+
+2005-11-19 Saturday 16:47  Abramo Bagnara
+
+	* src/: Bounding_Box.cc (1.9), Bounding_Box.inlines.hh (1.10),
+	  Checked_Number.defs.hh (1.38), Checked_Number.inlines.hh (1.43),
+	  Polyhedron.inlines.hh (1.125): Don't permit rounding direction
+	  omission when it's relevant.
+
+2005-11-19 Saturday 11:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/run_tests (1.9): Temporarily let polydifference7
+	  be an XFAIL test, so as to allow systematic testing of all
+	  incarnations of BD_Shape using tinderbox.
+
+2005-11-19 Saturday 11:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/: affineimage8.cc (1.8), affineimage9.cc (1.7):
+	  Try to use the distance computation so as to detect when a
+	  computed result is ok even if different from the known result
+	  (not really sure this one was the intended use of these distance
+	  functions).
+
+2005-11-19 Saturday 10:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.91): Previous change reverted.
+
+2005-11-18 Friday 22:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.90): Removed several useless
+	  invocations of raw_value().
+
+2005-11-18 Friday 22:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: GMP_Integer.defs.hh (1.12), GMP_Integer.inlines.hh (1.7):
+	  Defined overloaded raw_value() functions that are the identity
+	  functions on mpq_class& and const mpq_class&, respectively.  This
+	  avoids surprises when raw_value() is applied to an mpq_class
+	  object.  The problem is caused by the C++ interface of GMP, which
+	  defines an implicit constructor for mpz_class from an object of
+	  type mpq_class.
+
+2005-11-18 Friday 20:56  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/: affineimage8.cc (1.7), affineimage9.cc (1.6),
+	  affinepreimage5.cc (1.5), generalizedaffineimage13.cc (1.4): The
+	  expected results modified accoring to the new precision expected
+	  from method affine_image().
+
+2005-11-18 Friday 20:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.89): The precision of affine_image()
+	  improved further.
+
+2005-11-18 Friday 17:31  Matthew Mundell
+
+	* src/Grid_chdims.cc (grids.19): In concatenate_assign improve some
+	  comments and split an assert into two.
+
+2005-11-18 Friday 17:30  Matthew Mundell
+
+	* tests/Grid/concatenate1.cc (grids.4): Define tests in a local
+	  namespace.  Add a test where the second grid is empty.  Add tests
+	  for zero dimension grids and grids that are empty due to the
+	  congruence system.  In all tests call find_variation only on the
+	  grid under test and only after concatenating.
+
+2005-11-18 Friday 14:53  Matthew Mundell
+
+	* src/Congruence_System.cc (grids.30): Add an extra loop to
+	  satisfies_all_congruences so that the scalar product is
+	  multiplied by the divisor only as required.
+
+2005-11-18 Friday 14:28  Matthew Mundell
+
+	* src/Grid_chdims.cc, tests/Grid/removespacedims1.cc
+	  (grids.[18,8]): Add test6 (where the variable set includes the
+	  first dim) and test7 (where the result contains an all-zero
+	  parameter).  Define the tests within a local namespace.
+
+2005-11-18 Friday 13:30  Matthew Mundell
+
+	* tests/Grid/grid1.cc (grids.21): Reduce the number of known_gr
+	  congruences in test15.
+
+2005-11-18 Friday 13:03  Matthew Mundell
+
+	* tests/Grid/removespacedims1.cc (grids.7): Enable test4.  Rename
+	  test1 test5.	Add a simple test as test1.
+
+2005-11-18 Friday 12:46  Matthew Mundell
+
+	* tests/Grid/intersection2.cc (grids.7): Modify test7 slightly.
+
+2005-11-18 Friday 12:40  Matthew Mundell
+
+	* tests/Grid/congruencesystem1.cc (grids.7): Neaten formatting.
+	  Take out list of methods that could be tested.
+
+2005-11-18 Friday 09:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/: Makefile.am (1.26), run_tests (1.8): Let
+	  BD_Shape<mpq> be the first one to be tested.
+
+2005-11-17 Thursday 15:35  Matthew Mundell
+
+	* tests/Grid/foldspacedims1.cc (grids.4): Correct two comments.
+	  Add test11, in which a relational grid becomes a grid that is
+	  smaller than universe.
+
+2005-11-17 Thursday 15:20  Abramo Bagnara
+
+	* src/: Float.inlines.hh (1.15), checked_ext.inlines.hh (1.26),
+	  checked_float.inlines.hh (1.54), checked_mpz.inlines.hh (1.33):
+	  Removed traling whitespace.
+
+2005-11-17 Thursday 14:14  Matthew Mundell
+
+	* tests/Grid/congruencesystem2.cc (grids.7): Add a local namespace.
+	  Fit fulfils to satisfies_all_congruence.  Take out the closure
+	  point tests.	Add tests where the divisor is greater than one.
+
+2005-11-17 Thursday 13:33  Matthew Mundell
+
+	* tests/Grid/congruence1.cc (grids.8): Resolve a query (the two
+	  grids should be equal).
+
+2005-11-17 Thursday 13:19  Matthew Mundell
+
+	* tests/Grid/addspacedims2.cc (grids.7): Take out two simple
+	  queries.  Use equalities where possible to create the test5 known
+	  congruence system.
+
+2005-11-17 Thursday 12:58  Matthew Mundell
+
+	* src/scalar_products.cc (grids.4): Clean a
+	  reduced_scalar_product_assign comment.
+
+2005-11-17 Thursday 12:51  Matthew Mundell
+
+	* src/Grid_Certificate.cc (grids.8): Format returns consistently.
+	  Quote variables consistently in comments.  Resign to creating a
+	  temporary certificate in compare(gr).
+
+2005-11-17 Thursday 12:15  Matthew Mundell
+
+	* src/scalar_products.defs.hh (grids.5): Keep
+	  homogeneous_scalar_product_sign, which is used in method
+	  `bounds'.
+
+2005-11-17 Thursday 10:14  Abramo Bagnara
+
+	* src/checked_mpq.inlines.hh (1.29): Fixed proper use of rounding
+	  direction.
+
+2005-11-17 Thursday 09:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* STANDARDS (1.25): Added a guideline regarding trailing
+	  whitespace, as well as an hint for exploiting the power of emacs
+	  in this respect (thanks to Matthew Mundell for pointing this
+	  out).
+
+2005-11-17 Thursday 09:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.inlines.hh (1.88), simplex.cc (1.32): Removed
+	  trailing whitespace.
+
+2005-11-17 Thursday 07:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/closure1.cc (1.7): Spurious line removed.
+
+2005-11-17 Thursday 07:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/closure1.cc (grids.1): file closure1.cc was added
+	  on branch grids on 2005-11-23 13:24:07 +0000
+
+2005-11-16 Wednesday 20:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/closure1.cc (1.6): Distance computations enabled.
+
+2005-11-16 Wednesday 20:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_mpq.inlines.hh (1.28): Quick and dirty (very dirty)
+	  hack to provide mpq-based checked numbers with some sqrt
+	  capability.
+
+2005-11-16 Wednesday 20:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/DB_Matrix.inlines.hh (1.13): Fixed
+	  Euclidean_Distance_Specialization.  Avoided a compiler warning.
+	  Factorized some common code.
+
+2005-11-16 Wednesday 18:12  Matthew Mundell
+
+	* src/scalar_products.defs.hh (grids.4): Keep
+	  homogeneous_scalar_product_assign, which is used in max_min.
+
+2005-11-16 Wednesday 18:03  Matthew Mundell
+
+	* src/Matrix.defs.hh (grids.4): Take out old friends.
+
+2005-11-16 Wednesday 18:02  Matthew Mundell
+
+	* src/Grid_simplify.cc (grids.34): Correct typo in temporary
+	  comment.
+
+2005-11-16 Wednesday 18:00  Matthew Mundell
+
+	* src/Grid.defs.hh (grids.79): Mention only that expr in the
+	  bounded methods are bounded (instead of mentioning bounding from
+	  above or below.  Note that the two "bound_from" methods are the
+	  same.
+
+2005-11-16 Wednesday 16:59  Matthew Mundell
+
+	* src/Grid_widenings.cc (grids.8): Take out the inclusion of the
+	  bounding box header.
+
+2005-11-16 Wednesday 13:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/closure1.cc (1.5): Get ready to test with
+	  Euclidean and L-infinity distances.
+
+2005-11-16 Wednesday 13:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.46): Added missing friend declarations.
+	  Removed superfluous friend declarations.
+
+2005-11-16 Wednesday 13:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.45), BD_Shape.inlines.hh (1.87): Added
+	  methods BD_Shape::euclidean_distance_assign() and
+	  BD_Shape::l_infinity_distance_assign() along the lines of the
+	  existing methods BD_Shape::rectilinear_distance_assign().
+
+2005-11-16 Wednesday 13:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/DB_Matrix.defs.hh (1.11): Added the declaration of
+	  DB_Matrix::euclidean_distance_assign().
+
+2005-11-16 Wednesday 13:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/: Makefile.am (1.25), polydifference7.cc (1.1):
+	  News test shows a bug in BD_Shape::poly_difference_assign().
+
+2005-11-16 Wednesday 07:17  Abramo Bagnara
+
+	* src/DB_Matrix.inlines.hh (1.12): Fixed obnoxious typo. Added
+	  missing qualifiers.
+
+2005-11-15 Tuesday 21:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: Congruence.defs.hh, Grid.defs.hh (grids.[26,78]): Reverted
+	  a previous change to the documentation in Congruence.defs.hh
+	  Corrected line expression in example 2 in Grid.defs.hh.
+
+2005-11-15 Tuesday 20:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/closure1.cc (1.4): Added (experimental, commented
+	  out) invocations of the rectilinear_distance_assign() function.
+
+2005-11-15 Tuesday 19:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: DB_Matrix.defs.hh (1.10), DB_Matrix.inlines.hh (1.11): New
+	  functions euclidean_distance_assign() and
+	  l_infinity_distance_assign().  Along with
+	  rectilinear_distance_assign() they are all implemented in terms
+	  of the new, generalized function l_m_distance_assign().
+
+2005-11-15 Tuesday 18:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/DB_Matrix.inlines.hh (1.10): Several improvements to template
+	  <typename Temp, typename To, typename T> inline bool
+	  rectilinear_distance_assign(Checked_Number<To,
+	  Extended_Number_Policy>& r, const DB_Matrix<T>& x, const
+	  DB_Matrix<T>& y, const Rounding_Dir dir, Temp& tmp0, Temp& tmp1,
+	  Temp& tmp2).	(Joint work with Abramo Bagnara.)
+
+2005-11-15 Tuesday 18:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/simplex.cc (1.31): The steepest-edge technique should be
+	  enabled by default (it was disabled by error in the last commit).
+
+2005-11-15 Tuesday 17:35  Matthew Mundell
+
+	* src/: Congruence.cc, Congruence.inlines.hh (grids.[15,17]): Make
+	  is_trivial_true and is_trivial_false real (vs inline) methods.
+
+2005-11-15 Tuesday 17:19  Matthew Mundell
+
+	* src/Generator_System.cc (grids.14): "Use" parameter
+	  check_normalization in method `insert'.
+
+2005-11-15 Tuesday 17:17  Matthew Mundell
+
+	* src/: Grid_Certificate.cc, Grid_minimize.cc, Grid_public.cc,
+	  Grid_simplify.cc, Grid_widenings.cc (grids.[7,23,90,33,7]):
+	  Normalize moduli in the congruence system simplify method.  Clean
+	  a few comments.  In the zero dimension cases in
+	  add_recycled_generators and add_recycled_generators_and_minimize
+	  only set zero dimension universe when the grid is empty.
+
+2005-11-15 Tuesday 17:10  Matthew Mundell
+
+	* src/Grid.defs.hh (grids.77): Doc the minimized_generators()
+	  parameter conversion.
+
+2005-11-15 Tuesday 16:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.86): Statically allocate temporaries
+	  in template <typename Temp, typename To, typename T> bool
+	  rectilinear_distance_assign(Checked_Number<To,
+	  Extended_Number_Policy>& r, const BD_Shape<T>& x, const
+	  BD_Shape<T>& y, const Rounding_Dir dir).
+
+2005-11-15 Tuesday 15:58  Abramo Bagnara
+
+	* src/checked_ext.inlines.hh (1.25): Added missing argument.
+
+2005-11-15 Tuesday 15:38  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, mingenerators1.cc (grids.[52,1]): Add
+	  mingenerators1, which tests Grid::minimized_generators().
+
+2005-11-15 Tuesday 15:37  Matthew Mundell
+
+	* src/Grid_public.cc (grids.89): In generators() use
+	  hide_parameters() and move the zero dim check to precede the
+	  empty check.	Implement minimized_generators() directly, instead
+	  of calling generators().
+
+2005-11-15 Tuesday 15:31  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid_nonpublic.cc (grids.[76,43]): Add
+	  hide_parameters().
+
+2005-11-15 Tuesday 15:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/DB_Row.inlines.hh (1.13): Two FIXMEs removed.
+
+2005-11-15 Tuesday 14:54  Matthew Mundell
+
+	* src/Grid_nonpublic.cc (grids.42): In construct(gs,) move the
+	  gen_sys sorted flag setting into the space_dim > 0 case.
+
+2005-11-15 Tuesday 14:46  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh (1.37), Checked_Number.inlines.hh
+	  (1.42), DB_Row.inlines.hh (1.12), checked.defs.hh (1.28),
+	  checked.inlines.hh (1.27), checked_ext.inlines.hh (1.24),
+	  checked_mpq.inlines.hh (1.27), checked_mpz.inlines.hh (1.32):
+	  Added construct function to Checked_Number. Added specialization
+	  for mpq and mpz.
+
+2005-11-15 Tuesday 14:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.44), BD_Shape.inlines.hh (1.85),
+	  DB_Matrix.defs.hh (1.9), DB_Matrix.inlines.hh (1.9): Added a
+	  first version of some functions computing the rectilinear (or
+	  Manhattan) distance between BD_Shape objects.
+
+2005-11-15 Tuesday 14:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Rounding_Dir.defs.hh (1.2), Rounding_Dir.inlines.hh (1.2):
+	  Added Rounding_Dir inverse(Rounding_Dir dir): returns the inverse
+	  rounding mode of `dir', ROUND_IGNORE being the inverse of itself.
+
+2005-11-15 Tuesday 14:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Rounding_Dir.inlines.hh (grids.1): file
+	  Rounding_Dir.inlines.hh was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-11-15 Tuesday 13:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Init.cc (1.21), Makefile.am (1.129), Native_Integer.defs.hh
+	  (1.15), Rounding.defs.hh (1.14), Rounding.types.hh (1.5),
+	  Rounding_Dir.defs.hh (1.1), Rounding_Dir.inlines.hh (1.1),
+	  checked.defs.hh (1.27): Rounding.types.hh removed.  Other
+	  Rounding.defs.hh renamed Rounding_Dir.defs.hh.  Comments revised.
+	  New file Rounding_Dir.inlines.hh will contain inline functions
+	  operating on enum Rounding_Dir values.
+
+2005-11-15 Tuesday 12:38  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, generators1.cc, mincongruences1.cc
+	  (grids.[51,1,1]): Add generators1 and mincongruences1, which test
+	  Grid::generators() and Grid::minimized_congruences().
+
+2005-11-15 Tuesday 12:36  Matthew Mundell
+
+	* tests/Grid/congruences1.cc (grids.4): Insert test6, where the
+	  grid is defined by generators.  In test8 (was test7) minimize
+	  when adding congruence.
+
+2005-11-15 Tuesday 12:33  Matthew Mundell
+
+	* src/: Grid.inlines.hh, Grid_nonpublic.cc, Grid_public.cc
+	  (grids.[41,41,88]): Always set zero dim universe via
+	  set_zero_dim_univ().	Insert a point in set_zero_dim_univ().
+	  Create a correctly sized gen_sys in set_empty().
+
+	  In the bounding box grid constructor move the generator system
+	  flag setting into the space_dim > 0 case.  In the covering box
+	  grid constructor jump over the sorted flag clearing when an empty
+	  grid is produced.
+
+	  In construct(gs,) set space_dim before the empty test and set
+	  zero dim universe when required.  In Grid(n,kind) set zero dim
+	  universe when required.  Handle the zero dimension case in
+	  minimized_congruences().
+
+	  In generators() just return gen_sys when the grid is marked
+	  empty, return the actual gen_sys for zero dim universe, ensure
+	  that gen_sys is up to date, and convert any parameters to points.
+
+	  In the zero dim cases of add_recycled_congruences_and_minimize
+	  and add_recycled_congruences set empty or zero dim universe only
+	  if required.
+
+2005-11-15 Tuesday 11:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.84): Method is_empty() now computes
+	  shortest-path closure instead of applying the Bellman-Ford
+	  algorithm.
+
+2005-11-15 Tuesday 11:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/simplex.cc (1.30): Some further improvements to the function
+	  steepest().  Function get_exiting_base_index() now takes a
+	  *const* reference to base.
+
+2005-11-15 Tuesday 11:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Scalar_Products.cc (1.2): Don't break comment lines without
+	  reason.
+
+2005-11-15 Tuesday 11:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Scalar_Products.cc (grids.1): file Scalar_Products.cc was
+	  added on branch grids on 2005-11-23 13:24:06 +0000
+
+2005-11-15 Tuesday 10:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Congruence.defs.hh (grids.25): Improvements to the
+	  documentation about congruences and how to build them.
+
+2005-11-15 Tuesday 01:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint_System.defs.hh (1.19), simplex.cc (1.29): In the
+	  primal simplex algorithm, better separated the first and second
+	  phase of the algorithm. Added a preprocessing flag enabling the
+	  steepest-edge technique: teh flag is enabled by default. Added a
+	  new method   bool Constraint_System::is_satisfiable(Generator&
+	  feasible_point) const; that check the satisfiability of a
+	  constraint system by the primal simplex algorithm, returning a
+	  feasible point if satisfiable.  All of the above based on
+	  implementation work by Andrea Cimino.
+
+2005-11-14 Monday 18:19  Matthew Mundell
+
+	* tests/Grid/congruences1.cc (grids.3): Add test7, where a
+	  congruence system reference is used after the zero dimension grid
+	  from which it comes has been made empty.
+
+2005-11-14 Monday 17:55  Matthew Mundell
+
+	* tests/Grid/grid2.cc (grids.18): Add zero dimension construction
+	  tests.
+
+2005-11-14 Monday 17:55  Matthew Mundell
+
+	* tests/Grid/congruences1.cc (grids.2): Add test6, where a
+	  congruence system reference is used after the grid from which it
+	  comes has been made empty.
+
+2005-11-14 Monday 16:57  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, congruences1.cc (grids.[50,1]): Add
+	  congrueces1, which tests Grid::congruences().
+
+2005-11-14 Monday 16:56  Matthew Mundell
+
+	* src/Grid.defs.hh (grids.75): Note the covering box constructor
+	  behaviour when the box is empty.  Improve the get_covering_box
+	  description.	Add the set_empty method to the methods required of
+	  the box class in the get_covering_box doc.
+
+2005-11-14 Monday 16:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/mp_numeric_limits.hh (1.2): Fixed
+	  numeric_limits<mpz_class>::epsilon() and
+	  numeric_limits<mpz_class>::round_error(): they now return 0.
+
+2005-11-14 Monday 16:47  Matthew Mundell
+
+	* tests/Grid/maxmin1.cc (grids.2): Use check_both in test2.
+	  Implement the zero dimension universe test.
+
+2005-11-14 Monday 16:46  Matthew Mundell
+
+	* tests/Grid/coveringbox2.cc (grids.5): Add an empty fail check to
+	  operator==.  Update the boxes expected from empty grids.  Add
+	  zero dimension tests.
+
+2005-11-14 Monday 16:44  Matthew Mundell
+
+	* tests/Grid/boundingbox2.cc (grids.3): Add an empty fail check to
+	  operator==.  Add zero dimension tests.
+
+2005-11-14 Monday 16:42  Matthew Mundell
+
+	* src/Grid_public.cc (grids.87): In Grid(dims,kind),
+	  add_recycled_congruences(cgs) and
+	  add_recycled_congruences_and_minimize(cgs) call set_empty instead
+	  of setting the empty flag directly.
+
+	  In congruences() adjust the assertion on the number of cols for
+	  the modulus and constant term columns.
+
+	  Improve and correct some comments.  Neaten the OK zero dimension
+	  universe check.
+
+2005-11-14 Monday 16:32  Matthew Mundell
+
+	* src/Grid_minimize.cc (grids.22): In both minimize methods assert
+	  that there are the minimum required number of columns.
+
+2005-11-14 Monday 16:30  Matthew Mundell
+
+	* src/Grid_Certificate.cc (grids.6): Use gr instead of cgr, for
+	  consistency.
+
+2005-11-14 Monday 16:29  Matthew Mundell
+
+	* src/: Grid.inlines.hh, Grid_nonpublic.cc (grids.[40,40]): In
+	  set_empty make con_sys false.
+
+	  Add a zero dimension universe case to max_min.
+
+	  Take out an old topology comment.
+
+	  In construct(ccgs) insert the integrality congruence when the
+	  dimension is greater than zero, and only check for false
+	  congruences in dimension zero when there are two or more columns
+	  in the given congruence system.
+
+	  In the box constructors and construct(const_gs,bool) call
+	  set_empty instead of setting the empty flag directly.
+
+	  In get_covering_box add a zero dimension check and set the box
+	  empty when the grid is empty.  In shrink_bounding_box add a zero
+	  dimension check and take out a redundant check for rows in the
+	  generator system.
+
+2005-11-14 Monday 16:08  Matthew Mundell
+
+	* src/Congruence_System.inlines.hh (grids.10): Ensure that the
+	  modulus and constant term columns always exist.
+
+2005-11-14 Monday 16:05  Matthew Mundell
+
+	* src/Congruence_System.cc (grids.29): Neaten formatting.
+
+2005-11-14 Monday 16:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.177): Special Doxygen commands such as
+	  \subsection gets confused by line breaks.
+
+2005-11-14 Monday 15:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Constraint.defs.hh (1.110): Corrected a typo in the
+	  documentation.
+
+2005-11-14 Monday 15:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.43): Class documentation improved a
+	  little.
+
+2005-11-14 Monday 15:58  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.83): Helper functions min_assign() and
+	  max_assign() renamed as assign_min() and assign_max() for
+	  consistency with those defined in checked.defs.hh.
+
+2005-11-14 Monday 10:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref.doxyconf-html.in (1.60), devref.doxyconf-latex.in
+	  (1.4): Also consider BD shapes when building the developers'
+	  manual.
+
+2005-11-14 Monday 10:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.42): A few documentation improvements.
+
+2005-11-14 Monday 10:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BDS_Status.idefs.hh (1.10): Typo corrected in the
+	  documentation.
+
+2005-11-14 Monday 10:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Checked_Number.inlines.hh (1.41), Native_Integer.inlines.hh
+	  (1.16): Avoid a few redundant template qualifications.
+
+2005-11-14 Monday 09:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/DB_Row.defs.hh (1.13): Unneeded friend declaration removed.
+
+2005-11-14 Monday 08:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/DB_Row.inlines.hh (1.11): In new method
+	  DB_Row_Impl_Handler<T>::Impl::construct_upward_approximation(const
+	  U& y) using y's public indexing operator [] instead of accessing
+	  the private member y.vec_.
+
+2005-11-13 Sunday 23:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.82), tests/BD_Shape/affineimage8.cc
+	  (1.6): Further improvement in the coding as well as precision of
+	  the general case of affineimage. The known result of
+	  affineimage8.cc changed accordingly.
+
+2005-11-13 Sunday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Float.defs.hh (1.15): Compiler warnings avoided.
+
+2005-11-13 Sunday 22:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/closure1.cc (1.3): Completed.
+
+2005-11-13 Sunday 21:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: DB_Row.defs.hh (1.12), DB_Row.inlines.hh (1.10): New
+	  signature and definition of method void
+	  DB_Row_Impl_Handler<T>::Impl::construct_upward_approximation(const
+	  U& y).
+
+2005-11-13 Sunday 18:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: globals.defs.hh (1.25), globals.inlines.hh (1.13): Removed
+	  no longer used function compute_capacity() using a single
+	  argument; always use the function also taking the maximum
+	  capacity as second argument.
+
+2005-11-13 Sunday 18:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: DB_Matrix.defs.hh (1.8), DB_Matrix.inlines.hh (1.8): Using
+	  max_num_rows() and max_num_columns() where appropriate.  Methods
+	  ascii_dump and ascii_load and the destructor should not be
+	  virtual.
+
+2005-11-13 Sunday 18:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Matrix.cc (1.86), Matrix.inlines.hh (1.46): Using
+	  max_num_columns() where appropriate.
+
+2005-11-13 Sunday 15:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.81): Added a first, tentative
+	  implementation of template <typename T> template <typename U>
+	  BD_Shape<T>::BD_Shape(const BD_Shape<U>& y).
+
+2005-11-13 Sunday 15:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.41): Deckared a new template constructor
+	  template <typename U> explicit BD_Shape(const BD_Shape<U>& y): it
+	  builds a conservative, upward approximation of `y'.
+
+2005-11-13 Sunday 15:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/DB_Matrix.inlines.hh (1.7): Added a first implementation of
+	  template <typename T> template <typename U>
+	  DB_Matrix<T>::DB_Matrix(const DB_Matrix<U>& y).  Added the
+	  inclusion of checked.defs.hh, which is needed to get access to
+	  the compute_capacity() functions.
+
+2005-11-13 Sunday 15:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/DB_Matrix.defs.hh (1.7): Declared new template constructor
+	  template <typename T> template <typename U> explicit
+	  DB_Matrix<T>::DB_Matrix(const DB_Matrix<U>& y): it constructs a
+	  conservative approximation of `y'.  All DB_Matrix classes are now
+	  friends of each other.
+
+2005-11-13 Sunday 15:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/DB_Row.inlines.hh (1.9): Added (not yet operational)
+	  skeletons for the implementation of template <typename T>
+	  template <typename U> void
+	  DB_Row<T>::construct_upward_approximation(const DB_Row<U>& y,
+	  dimension_type capacity) and template <typename T> template
+	  <typename U> void
+	  DB_Row_Impl_Handler<U>::Impl::construct_upward_approximation(const
+	  typename DB_Row_Impl_Handler<U>::Impl& y).
+
+2005-11-13 Sunday 15:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/DB_Row.defs.hh (1.11): Declared new method template <typename
+	  T> template <typename U> void
+	  DB_Row<T>::construct_upward_approximation(const DB_Row<U>& y,
+	  dimension_type capacity).  Declared new method template <typename
+	  T> template <typename U> void
+	  DB_Row_Impl_Handler<U>::Impl::construct_upward_approximation(const
+	  typename DB_Row_Impl_Handler<U>::Impl& y).  Comments improved.
+
+2005-11-12 Saturday 17:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/: addspacedims5.cc (1.7), addspacedims6.cc (1.7),
+	  affineimage10.cc (1.3), affineimage8.cc (1.5), affineimage9.cc
+	  (1.5), affinepreimage5.cc (1.4), ascii_dump_load1.cc (1.7),
+	  ascii_dump_load2.cc (1.6), cc76extrapolation4.cc (1.6),
+	  constraints1.cc (1.7), equality1.cc (1.7), exceptions1.cc (1.7),
+	  exceptions2.cc (1.6), exceptions3.cc (1.8),
+	  generalizedaffineimage13.cc (1.3), generalizedaffineimage14.cc
+	  (1.7), limitedCC76extrapolation2.cc (1.6),
+	  limitedCC76extrapolation3.cc (1.6), mapspacedims2.cc (1.6),
+	  mapspacedims3.cc (1.5), relations1.cc (1.8), relations2.cc (1.8),
+	  relations3.cc (1.7), relations4.cc (1.6), relations5.cc (1.8),
+	  removespacedims2.cc (1.6), removespacedims3.cc (1.6): Using the
+	  anonymous namespace instead of declaring static functions.
+
+2005-11-12 Saturday 17:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/affineimage10.cc (grids.1): file affineimage10.cc
+	  was added on branch grids on 2005-11-23 13:24:07 +0000
+
+2005-11-12 Saturday 13:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/: lib-ld.m4 (1.3), lib-link.m4 (1.2), lib-prefix.m4 (1.3):
+	  Updated from Gettext 0.14.5.
+
+2005-11-12 Saturday 13:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* configure.ac (1.197): Consistently use uppercase letters to
+	  specify (placeholders for) configuration options' arguments.
+	  Systematically use AC_HELP_STRING to format help messages.
+
+2005-11-12 Saturday 13:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* CREDITS (1.21), NEWS (1.164): Corrected a typo.
+
+2005-11-12 Saturday 13:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* README.configure (1.15): Corrected a couple of typos.
+
+2005-11-11 Friday 17:29  Matthew Mundell
+
+	* src/: Grid_public.cc, Grid.inlines.hh (grids.[86,39]): Inline
+	  method is_empty.  In is_empty add more fast-fail tests and
+	  minimize only the congruence system in the last-resort test.
+
+2005-11-11 Friday 17:25  Matthew Mundell
+
+	* src/: Grid_Status.cc, Grid_Status.idefs.hh,
+	  Grid_Status.inlines.hh (grids.[4,4,3]): Gridify the Grid_Status
+	  comments.
+
+2005-11-11 Friday 17:23  Matthew Mundell
+
+	* doc/definitions.dox (grids.8): Add anchor grid_space_dimensions.
+	  Refer to affine_function instead of affine_transformation.
+
+2005-11-11 Friday 17:03  Matthew Mundell
+
+	* tests/Grid/affinepreimage1.cc (grids.6): Correct expected result
+	  in test16.
+
+2005-11-11 Friday 15:35  Matthew Mundell
+
+	* src/Congruence_System.inlines.hh (grids.9): Only qualify the
+	  namespace of insert(cg) once.
+
+2005-11-11 Friday 15:32  Matthew Mundell
+
+	* src/Generator_System.defs.hh (grids.6): Document all parameters
+	  in a method when some are documented.
+
+2005-11-11 Friday 15:29  Matthew Mundell
+
+	* src/Grid.defs.hh (grids.74): Improve the class description.
+	  Update to the newly named affine_function and
+	  generalized_affine_relation anchors.	Use \cL for grids instead
+	  of \cP.  Document the space dimension changing behaviour of
+	  map_space_dimension.	Document all parameters when some are
+	  documented.  Correct the return value documentation for the
+	  simplify methods.
+
+2005-11-10 Thursday 21:28  Matthew Mundell
+
+	* src/Grid_public.cc (grids.85): Add colon between namespace and
+	  class in comment.
+
+2005-11-10 Thursday 21:28  Matthew Mundell
+
+	* src/Grid.defs.hh (grids.73): Convert the class doc examples into
+	  grid examples.  Correct a parameter name.
+
+2005-11-10 Thursday 21:26  Matthew Mundell
+
+	* src/Generator.defs.hh (grids.9): Keep Congruence_System as a
+	  friend.
+
+2005-11-10 Thursday 21:21  Matthew Mundell
+
+	* tests/Grid/: affineimage1.cc, affinepreimage1.cc (grids.[7,5]):
+	  Add three simple tests.
+
+2005-11-10 Thursday 19:14  Matthew Mundell
+
+	* src/: Congruence.cc, Congruence.defs.hh (grids.[14,24]): Add
+	  method throw_invalid_argument.  Use it in
+	  throw_dimension_incompatible.  In the constructors that take
+	  constraints move the check that the constraint is an equality to
+	  come before the construction of the underlying row.
+
+2005-11-10 Thursday 18:31  Matthew Mundell
+
+	* src/: Congruence_System.cc, Congruence_System.defs.hh,
+	  Congruence_System.inlines.hh, Constraint.defs.hh
+	  (grids.[28,19,8,7]): In insert(cg) use add_recycled_row instead
+	  of add_row when a resized copy of cg is created, and call
+	  num_rows() in place instead of using a variable.
+
+	  Inline insert(cg).
+
+	  Doc the strong normalization of the insert methods.
+
+2005-11-10 Thursday 18:23  Matthew Mundell
+
+	* src/: Matrix.cc, Matrix.defs.hh, Matrix.inlines.hh
+	  (grids.[4,3,3]): Add add_recycled_row(Row&).	Move the bulk of
+	  add_row to add_recycled_row.	Call add_recycled_row from add_row.
+	  Inline add_row.
+
+2005-11-10 Thursday 18:16  Matthew Mundell
+
+	* src/: Congruence.cc, Congruence.defs.hh (grids.[13,23]): Add
+	  Congruence(c, sz, capacity).
+
+2005-11-10 Thursday 15:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.80): Corrected a bug in method
+	  ascii_load().
+
+2005-11-10 Thursday 14:07  Matthew Mundell
+
+	* src/: Congruence.defs.hh, scalar_products.cc,
+	  scalar_products.defs.hh (grids.[22,3,3]): Take out
+	  scalar_product_assign(.., ref) and
+	  reduced_scalar_product_assign(.., ref), which were required by an
+	  older form of Congruence_System::satisfies_all_congruences.
+
+2005-11-10 Thursday 13:41  Matthew Mundell
+
+	* src/: Congruence_System.defs.hh, Congruence_System.inlines.hh
+	  (grids.[18,7]): Make the ascii_dump and ascii_load documentation
+	  implementation details.  Take out
+	  Congruence_System(n_rows,n_cols).  Keep has_linear_equalities().
+
+2005-11-10 Thursday 12:31  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, topclosure1.cc (grids.[49,1]): Add
+	  topclosure1, which tests Grid::topological_closure_assign().
+
+2005-11-10 Thursday 12:29  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid.inlines.hh, Grid_public.cc
+	  (grids.[72,38,84]): Declare and implement
+	  topological_closure_assign().
+
+2005-11-10 Thursday 11:57  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, membytes1.cc, membytes2.cc
+	  (grids.[48,1,1]): Add membytes1 and membytes2, to exercise
+	  Grid::total_memory_in_bytes() and
+	  Grid::external_memory_in_bytes().
+
+2005-11-10 Thursday 11:56  Matthew Mundell
+
+	* src/Grid_widenings.cc (grids.6): Rename parameter selected_cgs as
+	  cgs_selected.
+
+2005-11-10 Thursday 11:55  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid.inlines.hh, Grid_minimize.cc,
+	  Grid_nonpublic.cc, Grid_public.cc (grids.[71,37,21,39,83]): Doc
+	  param convert_rays_to_lines in Grid(gs, convert_rays_to_lines).
+	  Neaten some comment widths.  Make the add_space_dimensions
+	  methods private.  Note in docs where Grid maths symbols must be
+	  used.  Doc the return of ascii_load formally.  Shorten the
+	  convert_rays_to_lines param doc for construct(gs,
+	  convert_rays_to_lines).  Use "minimize" instead of "reduce" and
+	  "generator system" instead of "parameter system".  Improve a few
+	  method descriptions.
+
+	  Enable method total_memory_in_bytes.	Take out the remaining
+	  pending row methods, strongly_minimize_congruences and
+	  strongly_minimize_generators.
+
+	  Void the return from minimize(cgs,ls).  Swap the return cases in
+	  minimize(gs,cgs) to match the other methods that return an
+	  indication of the grid's emptiness.
+
+2005-11-08 Tuesday 21:46  Matthew Mundell
+
+	* src/Grid.defs.hh (grids.70): Correct and neaten comments.
+	  Document the parameters in the shrink and get bounding box
+	  methods.  Document the return in
+	  add_recycled_constraints_and_minimize.  Move the
+	  join_assign_and_minimize declaration to match the Polyhedron
+	  ordering.
+
+2005-11-08 Tuesday 20:25  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, disjoint1.cc (grids.[47,1]): Add
+	  disjoint1, which tests Grid::is_disjoint_from().
+
+2005-11-08 Tuesday 20:24  Matthew Mundell
+
+	* tests/Grid/contains1.cc (grids.4): Improve comments, messages and
+	  a variable name.
+
+2005-11-08 Tuesday 20:22  Matthew Mundell
+
+	* src/Grid_widenings.cc (grids.5): In limited_extrapolation_assign
+	  check dimension compatibility before falling back to the ordinary
+	  widening.
+
+2005-11-08 Tuesday 20:16  Matthew Mundell
+
+	* src/Grid_public.cc (grids.82): Enable the is_disjoint_from
+	  definition.  In intersection_assign pass true only to y.OK, as x
+	  can be empty.  Update a temporary comment.  In OK use
+	  "unsatisfiable" instead fo "insoluble".  Neaten a comment.
+
+2005-11-08 Tuesday 20:11  Matthew Mundell
+
+	* src/Grid.inlines.hh (grids.36): Take out is_necessarily_closed()
+	  and topology().
+
+2005-11-08 Tuesday 20:10  Matthew Mundell
+
+	* src/Grid.defs.hh (grids.69): Neaten and correct comments.
+
+2005-11-08 Tuesday 19:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.79), tests/BD_Shape/Makefile.am
+	  (1.24), tests/BD_Shape/minconstraints1.cc (1.1): Corrected a few
+	  bugs in minimized_constraints(); added a new test for it.  The
+	  ascii_dump() and ascii_load() methods now also write/read the
+	  matrix encoding redundancy information.
+
+2005-11-08 Tuesday 19:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/minconstraints1.cc (grids.1): file
+	  minconstraints1.cc was added on branch grids on 2005-11-23
+	  13:24:07 +0000
+
+2005-11-08 Tuesday 17:54  Matthew Mundell
+
+	* tests/Grid/grid2.cc (grids.17): Align copyright line.
+
+2005-11-08 Tuesday 17:54  Matthew Mundell
+
+	* src/Grid.defs.hh (grids.68): Document the length_error exceptions
+	  that occur in many constructors.  Mention copying the given
+	  system in the brief descriptions for many constructors.  Improve
+	  formatting and correct typos in a few comments.
+
+2005-11-08 Tuesday 17:52  Matthew Mundell
+
+	* src/Grid_public.cc (grids.81): In the copy constructor create
+	  gen_sys NECESSARILY_CLOSED and assert that the given gen_sys was
+	  NECESSARILY_CLOSED.  Move operator= to match the order of method
+	  declarations.
+
+2005-11-08 Tuesday 17:50  Matthew Mundell
+
+	* src/Grid.inlines.hh (grids.35): Move box constructors to follow
+	  other constructors.
+
+2005-11-08 Tuesday 17:41  Matthew Mundell
+
+	* TODO (grids.15): Complete upper_bound_assign_and_minimize item.
+
+2005-11-08 Tuesday 16:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.78): Corrected a couple of stupid bugs
+	  in the copy constructor and assignment operator of BD_Shape.	A
+	  few useful functions related to the computation of leaders have
+	  been extracted from shortest_path_reduction_assign(), so as to
+	  factor common code in minimized_constraints() and
+	  affine_dimension().  The method minimized_constraints() should
+	  now return a constraint system in minimal form, exploiting
+	  redundancy information. The method constraints() now invokes
+	  minimized_constraints() if the BD_Shape is known to be reduced.
+
+2005-11-08 Tuesday 14:09  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, addcongruences1.cc (grids.[46,1]): Add
+	  addcongruences1, to test methods which add multiple congruences
+	  to a grid.
+
+2005-11-08 Tuesday 14:08  Matthew Mundell
+
+	* tests/Grid/grid3.cc (grids.5): Align copyright line.
+
+2005-11-08 Tuesday 14:07  Matthew Mundell
+
+	* tests/Grid/addcongruence1.cc (grids.6): Improve title comment.
+	  Add namespace with shared Variables.
+
+2005-11-08 Tuesday 13:41  Matthew Mundell
+
+	* tests/Grid/: grid3.cc, Makefile.am, addconstraint1.cc,
+	  addconstraints1.cc (grids.[4,45,1,10]): Add grid3, which tests
+	  construction of grids from constraints.
+
+	  Add addconstraint1, which tests adding single constraints to
+	  grids.  Move the single-constraint adding tests from
+	  addconstraints1 to addconstraint1.
+
+	  Add tests for add_constraints_and_minimize(cs),
+	  add_recycled_constraints(cs) and
+	  add_recycled_constraints_and_minimize(cs) to addconstraints1.
+
+2005-11-08 Tuesday 13:32  Matthew Mundell
+
+	* TODO, src/Grid.defs.hh, src/Grid_public.cc (grids.[14,67,80]):
+	  Add Grid(cs), add_constraint_and_minimize(c),
+	  add_constraints_and_minimize(cs), add_recycled_constraints(cs)
+	  and add_recycled_constraints_and_minimize(cs).
+
+	  In all of the constraint adding methods allow the addition of any
+	  kind of constraint (instead of only equalities).  In
+	  add_constraints(cs) use Congruence_System(cs) to add the
+	  constraints.
+
+	  Improve some method descriptions.
+
+2005-11-08 Tuesday 12:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/: affineimage8.cc (1.4), affineimage9.cc (1.4),
+	  generalizedaffineimage14.cc (1.6): Some suspect constraints in
+	  the known_results have been commented out.  They have to be
+	  carefully checked to see of they are really wanted.
+
+2005-11-08 Tuesday 12:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/affineimage10.cc (1.2): Do not be noisy.
+
+2005-11-08 Tuesday 12:20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/: ch78widening4.cc (1.5),
+	  generalizedaffineimage1.cc (1.6): Avoid lines that are too long.
+	  Removed a few (unnecessary) blank lines.
+
+2005-11-08 Tuesday 12:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.77): Corrected a bug in affine_image()
+	  whereby incorrect bounds for binary constraints could have been
+	  deduced.  In the invariant-checking method OK(), we now also
+	  check that no entry of the dbm has value MINUS_INFINITY; if the
+	  dbm is marked as shortest-path reduced, then we check that the
+	  dbm entry for a non-redundant constraint has a finite value.
+
+2005-11-08 Tuesday 11:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.76): Got rid of the wrong version of
+	  div_round_up().
+
+2005-11-07 Monday 18:29  Matthew Mundell
+
+	* tests/Grid/griddifference1 (grids.2): Remove file added in error
+	  earlier.
+
+2005-11-07 Monday 18:24  Matthew Mundell
+
+	* tests/Grid/maxmin1.cc (grids.1): Add maxmin1, which tests
+	  Grid::maximize(le&, ...) and Grid::minimize(le&, ...).
+
+2005-11-07 Monday 18:20  Matthew Mundell
+
+	* tests/Grid/addconstraints1.cc (grids.9): Add test10, for
+	  add_recycled_congruences_and_minimize(cs).
+
+2005-11-07 Monday 18:20  Matthew Mundell
+
+	* src/Grid.defs.hh, src/Grid_public.cc, TODO (grids.[66,79,13]):
+	  Add add_recycled_congruences_and_minimize(cs).
+
+2005-11-07 Monday 18:07  Matthew Mundell
+
+	* tests/Grid/addconstraints1.cc (grids.8): Add test9, for
+	  add_recycled_congruences(cs).
+
+2005-11-07 Monday 18:07  Matthew Mundell
+
+	* TODO, src/Grid.defs.hh, src/Grid_public.cc (grids.[12,65,78]):
+	  Add add_recycled_congruences(cs).  Add a dimension compatibility
+	  check to add_congruences(cgs).
+
+2005-11-07 Monday 17:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/: Makefile.am (1.23), affineimage10.cc (1.1): A
+	  test that was showing a bug in the old implementation of affine
+	  images.
+
+2005-11-07 Monday 17:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BDS_Status.idefs.hh (1.9), BDS_Status.inlines.hh (1.7),
+	  BD_Shape.defs.hh (1.40), BD_Shape.inlines.hh (1.75): A BD_Shape
+	  representation now also carries a dbm matrix of Boolean values,
+	  indicating whether or not the corresponding dbm entry is
+	  redundant.  The new matrix is meaningful only if the BDS_Status
+	  test	   marked_shortest_path_reduced() returns true, otherwise
+	  it is meaningless. Note that a dbm can be shortest-path reduced
+	  only if it is also shortest-path closed.  The redundancy
+	  information is established by shortest_path_reduction_assign()
+	  and is lost as soon as we modify the representation of the
+	  BD_Shape.  That is, currently no effort is done to keep it
+	  up-to-date. Moreover, when we reset the shortest-path closure
+	  flag, then the reduction flag is reset too.
+
+	  Added private helper methods	   add_dbm_constraint() that allow
+	  for the addition of a difference bound constraint without
+	  encoding it into a Constraint object. The method is particularly
+	  used in the computation of affine images.
+
+	  The methods computing affine images and preimages rewritten
+	  (almost) from scratch. (The old implementations, were not
+	  behaving correctly when the denominator was negative or when
+	  considering generalized images).
+
+	  Added a lot of const qualifications; avoided some dbm's
+	  coefficient copies, preferring the use of references instead.
+
+2005-11-07 Monday 16:52  Matthew Mundell
+
+	* src/Grid_public.cc (grids.77): Implement add_congruences and
+	  add_congruences_and_minimize via Congruence_System(cs).
+
+2005-11-07 Monday 16:52  Matthew Mundell
+
+	* src/: Congruence_System.cc, Congruence_System.defs.hh
+	  (grids.[27,17]): Add Congruence_System(Constraint_System&).  Move
+	  the normalize_moduli definition into order.
+
+2005-11-07 Monday 16:40  Abramo Bagnara
+
+	* src/checked_float.inlines.hh (1.53): Don't add nothing to std
+	  namespace.
+
+2005-11-07 Monday 16:30  Abramo Bagnara
+
+	* src/checked_float.inlines.hh (1.52): Fixed argument order.
+
+2005-11-07 Monday 16:27  Abramo Bagnara
+
+	* src/checked_mpq.inlines.hh (1.26): Added add_mul and sub_mul.
+
+2005-11-07 Monday 14:35  Matthew Mundell
+
+	* tests/Grid/addconstraints1.cc (grids.7): Add test8, for
+	  add_congruences(cs).
+
+2005-11-07 Monday 14:35  Matthew Mundell
+
+	* src/Grid.defs.hh, src/Grid_public.cc, TODO (grids.[64,76,11]):
+	  Add add_congruences(cs).  In add_congruences_and_minimize(cs) add
+	  the congruences with add_recycled_congruences_and_minimize.
+
+2005-11-07 Monday 12:04  Matthew Mundell
+
+	* src/Congruence_System.defs.hh (grids.16): Narrow a comment.
+
+2005-11-07 Monday 12:01  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, griddifference1 (grids.[44,1]): Add
+	  maxmin1, which tests Grid::maximize(le&, ...) and
+	  Grid::minimize(le&, ...).
+
+2005-11-07 Monday 11:59  Matthew Mundell
+
+	* tests/Grid/bounds1.cc (grids.2): Match expected values to updated
+	  method behaviour.
+
+2005-11-07 Monday 11:58  Matthew Mundell
+
+	* src/Grid.defs.hh, src/Grid.inlines.hh, src/Grid_nonpublic.cc,
+	  TODO (grids.[63,34,38,10]): Separate parameters with semicolons
+	  in descriptions.  Add minimize and maximize methods.	Match the
+	  behaviours of bounds_from_above and bounds_from_below to the
+	  Polyhedron versions.
+
+2005-11-05 Saturday 17:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.176), interfaces/C/ppl_c.h.in (1.55),
+	  interfaces/Prolog/Prolog_interface.dox (1.135),
+	  src/BD_Shape.defs.hh (1.39), src/Constraint_System.defs.hh
+	  (1.18), src/Determinate.defs.hh (1.58),
+	  src/Polyhedra_Powerset.defs.hh (1.25), src/Polyhedron.defs.hh
+	  (1.284): In definitions.doc we were bricolating our own
+	  sectioning with <B> and </B> tags.  Started using Doxygen's
+	  \subsection command.	Started using label names that are easily
+	  obtained from the section or subsection title.  This is less
+	  likely to generate conflicts, but a better scheme must be devised
+	  that can work across the entire library's documentation.
+
+2005-11-05 Saturday 08:59  Abramo Bagnara
+
+	* tests/BD_Shape/run_tests (1.7): Remove dirty marker only after
+	  all is clean.
+
+2005-11-05 Saturday 08:30  Abramo Bagnara
+
+	* src/: Float.defs.hh (1.14), checked_float.inlines.hh (1.51):
+	  *_BITS constants are unsigned.
+
+2005-11-04 Friday 22:22  Abramo Bagnara
+
+	* tests/BD_Shape/run_tests (1.6): Avoid initial make clean.
+
+2005-11-04 Friday 21:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/closure1.cc (1.2): Fixed a copy and paste mistake.
+
+2005-11-04 Friday 21:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: ppl_test.hh (1.29), BD_Shape/run_tests (1.5): Do not
+	  define TBD_Shape: define BD_SHAPE_INSTANCE instead.
+
+2005-11-04 Friday 21:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/: Makefile.am (1.22), closure1.cc (1.1): Draft
+	  test to check closure more seriously (it does not work as
+	  expected at the moment).
+
+2005-11-04 Friday 14:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.74): Old code for div_round_up()
+	  temporarily restored, since some (wrong) tests depend on it.
+
+2005-11-04 Friday 13:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Float.cc (grids.1): file Float.cc was added on branch grids
+	  on 2005-11-23 13:24:06 +0000
+
+2005-11-04 Friday 13:58  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh (1.36), Float.cc (1.2),
+	  Float.defs.hh (1.13), Float.inlines.hh (1.14),
+	  Native_Integer.defs.hh (1.14), Native_Integer.inlines.hh (1.15),
+	  checked_ext.inlines.hh (1.23), checked_float.inlines.hh (1.50),
+	  checked_int.inlines.hh (1.41), float.types.hh (1.12): Fixed use
+	  of native types also when identical to others.
+
+2005-11-04 Friday 12:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.73): Reimplemented div_round_up().
+
+2005-11-04 Friday 11:16  Matthew Mundell
+
+	* tests/Grid/bounded1.cc (grids.2): Add test12, in which every
+	  generator is the same point.
+
+2005-11-04 Friday 11:15  Matthew Mundell
+
+	* src/Grid_public.cc (grids.75): In is_bounded use the generator
+	  system in any form.
+
+2005-11-04 Friday 11:13  Matthew Mundell
+
+	* tests/Grid/topclosed1.cc (grids.3): Take out the find_variation
+	  directive.
+
+2005-11-04 Friday 11:12  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, bounds1.cc (grids.[43,1]): Add bounds1,
+	  which tests Grid::bounds_from_above and Grid::bounds_from_below.
+
+2005-11-04 Friday 11:11  Matthew Mundell
+
+	* src/Grid.defs.hh, src/Grid.inlines.hh, src/Grid_nonpublic.cc,
+	  TODO (grids.[62,33,37,9]): Add methods bounds, bounds_from_above
+	  and bounds_from_below.  Reorder a few method definitions.
+
+2005-11-04 Friday 07:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.175): Removed some spurious percent signs.
+
+2005-11-03 Thursday 15:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.158): Begging for a coding guideline as far as the use of
+	  (checked) arithmetic functions is concerned.
+
+2005-11-03 Thursday 15:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: definitions.dox (1.174), ppl.sty (1.22): Added a draft new
+	  section on "Integers Represented by Floating Point Numbers".
+	  This contains results that are needed to prove the correctness of
+	  our implementation of the GCD and LCM operations.  (Joint work
+	  with Alessandro Zaccagnini and Abramo Bagnara.)
+
+2005-11-03 Thursday 14:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_mpz.inlines.hh (1.31): Be more robust in the
+	  definition of mp_size_field_t.
+
+2005-11-03 Thursday 14:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.196): Added a safeguard against possible changes
+	  in the implementation of GMP.
+
+2005-11-03 Thursday 10:58  Abramo Bagnara
+
+	* src/checked_mpz.inlines.hh (1.30): mp_size_t is not the size of
+	  size field.
+
+2005-11-03 Thursday 08:06  Abramo Bagnara
+
+	* src/checked_float.inlines.hh (1.49): Avoid useless #if
+
+2005-11-02 Wednesday 22:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_numeric_limits.hh (1.7): Added missing access control
+	  specification.
+
+2005-11-02 Wednesday 22:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Float.defs.hh (1.12), Polyhedron_nonpublic.cc (1.57):
+	  Spurious semicolons removed.
+
+2005-11-02 Wednesday 21:07  Matthew Mundell
+
+	* TODO (grids.8): Complete operation is_bounded.
+
+2005-11-02 Wednesday 21:06  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, bounded1.cc (grids.[42,1]): Add
+	  bounded1, which tests Grid::is_bounded.
+
+2005-11-02 Wednesday 21:05  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid_public.cc (grids.[61,74]): Add method
+	  is_bounded.
+
+2005-11-02 Wednesday 20:45  Matthew Mundell
+
+	* TODO (grids.7): Complete operation affine_dimension.
+
+2005-11-02 Wednesday 20:43  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid_nonpublic.cc (grids.[60,36]): To
+	  normalize_divisors(gs,div) add third argument first_point, which
+	  implies that all points in gs have the same divisor.	Use this
+	  argument in normalize_divisors(gs,gs).
+
+2005-11-02 Wednesday 19:49  Matthew Mundell
+
+	* src/Grid_public.cc (grids.73): In is_topologically_closed search
+	  for a single parameter or proper congruence, instead of checking
+	  the counts of these.
+
+2005-11-02 Wednesday 15:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/run_tests (1.4): The long double incarnation of
+	  checked numbers is still not ready: do not test with it for the
+	  time being.
+
+2005-11-02 Wednesday 15:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Float.cc (1.1), Makefile.am (1.128): Obey verse 9.4.2.4 of
+	  the C++ standard: "The [static const data] member shall still be
+	  defined in a namespace scope if it is used in the program and the
+	  namespace scope definition shall not contain an initializer."
+
+2005-11-02 Wednesday 15:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/float.types.hh (1.11): Do not define symbols in the global
+	  namespace.
+
+2005-11-02 Wednesday 11:32  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, affinedim1.cc (grids.[41,1]): Add
+	  affinedim1, which tests Grid::affine_dimension().
+
+2005-11-02 Wednesday 11:31  Matthew Mundell
+
+	* src/Congruence_System.cc (grids.26): In increase_space_dimension
+	  only add columns when more columns are requested (instead of
+	  always ensuring that the modulus and constant term column exist).
+
+2005-11-02 Wednesday 11:28  Matthew Mundell
+
+	* src/Grid_public.cc (grids.72): Enable and implement method
+	  affine_dimension.  In minimized_congruences and
+	  minimized_generators minimize only the required system.  In
+	  generators always set the topology to NECESSARILY_CLOSED.
+
+2005-11-02 Wednesday 11:22  Abramo Bagnara
+
+	* src/Float.defs.hh (1.11): Fixed typo.
+
+2005-11-01 Tuesday 18:45  Matthew Mundell
+
+	* TODO (grids.6): Complete operators is_topologally_closed and
+	  shrink_bounding_box.
+
+2005-11-01 Tuesday 18:44  Matthew Mundell
+
+	* tests/Grid/topclosed1.cc (grids.2): Replace function
+	  topclosed1_equal with copy_compare (in ppl_test.hh).	Correct
+	  error messages.
+
+2005-11-01 Tuesday 18:42  Matthew Mundell
+
+	* tests/ppl_test.hh (grids.13): Add function copy_compare(Grid&,
+	  Grid&).
+
+2005-11-01 Tuesday 18:41  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, pointed1.cc (grids.[40,1]): Add
+	  pointed1, which tests Grid::is_pointed().
+
+2005-11-01 Tuesday 18:40  Matthew Mundell
+
+	* src/: Grid_public.cc, Grid.defs.hh (grids.[71,59]): Add the
+	  definition and improve the doc description of is_pointed.
+
+2005-11-01 Tuesday 14:51  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, topclosed1.cc (grids.[39,1]): Add
+	  topclosed1, which tests Grid::is_topologically_closed().
+
+2005-11-01 Tuesday 14:49  Matthew Mundell
+
+	* src/Grid_public.cc (grids.70): Implement method
+	  is_topologically_closed.
+
+2005-11-01 Tuesday 14:26  Matthew Mundell
+
+	* tests/Grid/addgenerator1.cc (grids.11): Add test8, in which the
+	  added generator has a divisor.  Only call find_variation on the
+	  grid under test.
+
+2005-11-01 Tuesday 14:24  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid_nonpublic.cc (grids.[58,35]): In
+	  normalize_divisors(gs,coeff) read the initial divisor of gs into
+	  a temporary before the divisor modifying loop.  In the same loop
+	  only multiply the generator when the factor is greater than one.
+	  Improve the description of this method, and improve slightly the
+	  descriptions of a few others.
+
+	  In normalize_divisors(gs,gs) access the divisor via the array
+	  operator instead of the divisor method.
+
+2005-11-01 Tuesday 14:03  Abramo Bagnara
+
+	* src/: Float.defs.hh (1.10), checked_float.inlines.hh (1.48):
+	  Simpler overflow return.
+
+2005-11-01 Tuesday 14:02  Abramo Bagnara
+
+	* src/: checked_mpq.inlines.hh (1.25), checked_mpz.inlines.hh
+	  (1.29): Simplified assign when available in lower level class.
+
+2005-11-01 Tuesday 01:41  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/checked_ext.inlines.hh (1.22): Corrected a bug in sub_ext()
+	  whereby subtracting any finite value from PLUS_INFINITY resulted
+	  in MINUS_INFINITY (and vice versa).
+
+2005-11-01 Tuesday 01:39  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Checked_Number.cc (1.8): Minor improvements in the exception
+	  messages.
+
+2005-10-31 Monday 22:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/run_tests (1.3): Test also with long doubles.
+
+2005-10-31 Monday 22:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Float.inlines.hh (1.13): Spurious redeclaration removed.
+
+2005-10-31 Monday 22:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Float.inlines.hh (1.12): Spurious incomplete statement
+	  removed.
+
+2005-10-31 Monday 22:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Float.inlines.hh (1.11): Wrong syntax for static_cast fixed.
+
+2005-10-31 Monday 22:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_float.inlines.hh (1.47): An instance of float127_t
+	  changed to float128_t.
+
+2005-10-31 Monday 22:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Float.defs.hh (1.9), Float.inlines.hh (1.10),
+	  float.types.hh (1.10): The <stdint.h> header file was included
+	  unnecessarily in float.types.hh and not included in Float.defs.hh
+	  and Float.inlines.hh.
+
+2005-10-31 Monday 20:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ppl_test.hh (1.28): Define the utility type `long_double'.
+
+2005-10-31 Monday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.127): Added the dependency of ppl_install.hh
+	  on $(INCLUDE_FILES).	Reformatted some rules for consistency.
+
+2005-10-31 Monday 20:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/float.types.hh (1.9): Define FLOAT96_TYPE or FLOAT128_TYPE
+	  depending on SIZEOF_LONG_DOUBLE.  Definition of float128_t fixed.
+
+2005-10-31 Monday 17:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/Makefile.am (1.21): Last change was only
+	  half-made: completed.
+
+2005-10-31 Monday 13:59  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh (1.35), Checked_Number.inlines.hh
+	  (1.40): Added copy constructor and operator=.
+
+2005-10-31 Monday 13:58  Abramo Bagnara
+
+	* src/: checked.defs.hh (1.26), checked.inlines.hh (1.26),
+	  checked_float.inlines.hh (1.46), checked_int.inlines.hh (1.40),
+	  checked_mpq.inlines.hh (1.24), checked_mpz.inlines.hh (1.28):
+	  Added copy function. Fixed float output.
+
+2005-10-31 Monday 07:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/Makefile.am (1.20): The `run_tests' script is now
+	  distributed.
+
+2005-10-30 Sunday 18:53  Matthew Mundell
+
+	* tests/Grid/: addconstraints1.cc, addspacedims1.cc,
+	  addspacedims2.cc, concatenate1.cc, congruence1.cc, contains1.cc,
+	  contains2.cc, coveringbox2.cc, griddifference1.cc,
+	  intersection1.cc, intersection2.cc, isuniverse1.cc, join2.cc,
+	  join3.cc, limitedextrapolation1.cc, removespacedims1.cc,
+	  removespacedims2.cc, timeelapse1.cc, widening1.cc
+	  (grids.[6,9,6,3,7,3,2,4,6,5,6,4,5,2,4,6,5,4,6]): Make the title
+	  comments of the tests consistent.
+
+2005-10-30 Sunday 18:51  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid.inlines.hh (grids.[57,32]): Update
+	  get_covering_box to work directly with any form of generator
+	  system and to only ever attempt to set each bound once.
+
+2005-10-30 Sunday 00:44  Matthew Mundell
+
+	* tests/Grid/coveringbox2.cc (grids.3): Add test14 and test15, to
+	  test that fractions are reduced before being assigned to
+	  intervals.
+
+2005-10-30 Sunday 00:42  Matthew Mundell
+
+	* tests/Grid/boundingbox2.cc (grids.2): Improve comment slightly.
+
+2005-10-30 Sunday 00:42  Matthew Mundell
+
+	* src/: Grid.inlines.hh, Grid.defs.hh (grids.[31,56]): In
+	  get_covering_box reduce the fraction before assigning it to the
+	  interval.
+
+2005-10-29 Saturday 20:17  Matthew Mundell
+
+	* tests/Grid/coveringbox2.cc (grids.2): Name variables
+	  consistently, improve some comments and add test13 (in which an
+	  empty grid is defined by congruences).
+
+2005-10-29 Saturday 20:16  Matthew Mundell
+
+	* tests/Grid/boundingbox1.cc (grids.7): Note that boundingbox2 also
+	  tests the constructor under test.
+
+2005-10-29 Saturday 20:15  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, boundingbox2.cc (grids.[38,1]): Add
+	  boundingbox2, which tests shrink_bounding_box(Box&).
+
+2005-10-29 Saturday 20:11  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid.inlines.hh (grids.[55,30]): Add
+	  shrink_bounding_box(Box&).  Correct two comments in
+	  get_covering_box.  Declare method is_topologically_closed.
+
+2005-10-29 Saturday 14:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/run_tests (1.2): Several improvements.
+
+2005-10-29 Saturday 14:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ppl_test.hh (1.27): No longer define TBD_Shape.
+
+2005-10-29 Saturday 12:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/: Makefile.am (1.19), run_tests (1.1): A first
+	  attempt at testing all the instantiations.
+
+2005-10-29 Saturday 09:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.38), BD_Shape.inlines.hh (1.72): In the
+	  limited widening operators, we now avoid having to decode twice
+	  the limiting constraints (joint work with E. Mazzi).	In several
+	  places, upward loop iteration replaced by a downward one.
+
+2005-10-28 Friday 15:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (grids.5): Added a list of TODO items for the grids branch.
+
+2005-10-28 Friday 12:38  Matthew Mundell
+
+	* src/Grid.inlines.hh (grids.29): Calculate the proper congruence
+	  coefficients in the covering box constructor via the GCD of the
+	  divisors, instead of getting the LCM of the divisors (with
+	  lcm_assign) and then repeating parts of this LCM calculation.
+	  Given that the divisors are known to be positive, this also saves
+	  the absolute value calculations that would have been performed in
+	  lcm_assign.
+
+2005-10-27 Thursday 18:10  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, boundingbox1.cc, coveringbox1.cc,
+	  coveringbox2.cc (grids.[37,6,7,1]): Add coveringbox2.  Move the
+	  coveringbox1 tests into coveringbox2, and move the boundingbox1
+	  tests into coveringbox1.  Fill boundingbox1 with tests of the
+	  bounding box constructor.
+
+2005-10-27 Thursday 18:04  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid.inlines.hh (grids.[54,28]): Add a
+	  bounding box constructor.  In the covering box constructor move
+	  the closed bound checks to come before the empty test.
+
+2005-10-27 Thursday 12:31  Matthew Mundell
+
+	* src/Grid.defs.hh (grids.53): Add the open bound behaviour to the
+	  description of the covering box constructor.
+
+2005-10-27 Thursday 12:04  Matthew Mundell
+
+	* tests/Grid/boundingbox1.cc (grids.5): Add test11, in which a
+	  bound in the box is open.
+
+2005-10-27 Thursday 12:03  Matthew Mundell
+
+	* src/Grid.inlines.hh (grids.27): In the covering box constructor
+	  throw an exception if any bound is open.
+
+2005-10-26 Wednesday 17:47  Matthew Mundell
+
+	* src/Grid.defs.hh, src/Grid.inlines.hh,
+	  tests/Grid/boundingbox1.cc, tests/Grid/coveringbox1.cc
+	  (grids.[52,26,4,6]): Use From_Covering_Box instead of
+	  From_Bounding_Box in the Grid from box constructor.
+
+2005-10-26 Wednesday 17:44  Matthew Mundell
+
+	* src/globals.defs.hh (grids.4): Add tag class From_Covering_Box.
+
+2005-10-26 Wednesday 16:21  Matthew Mundell
+
+	* src/Grid.defs.hh (grids.51): Improve the covering box constructor
+	  description.	Add the methods required of the box class to the
+	  get_covering_box description.
+
+2005-10-26 Wednesday 15:23  Matthew Mundell
+
+	* src/Grid_public.cc (grids.69): In OK, assert that the reduced
+	  temporary generator system defines a grid that contains points.
+
+2005-10-26 Wednesday 15:22  Matthew Mundell
+
+	* src/Grid_minimize.cc (grids.20): In the generator system minimize
+	  method assert that, after being reduced, the generator system
+	  defines a grid that contains points, instead of catering for an
+	  empty resulting grid.  Take out the Linear_Row.defs.hh include.
+	  Correct the title comment.
+
+2005-10-26 Wednesday 15:19  Matthew Mundell
+
+	* src/Grid.inlines.hh (grids.25): In get_covering_box assert that,
+	  after being reduced, the generator system defines a grid that
+	  contains points, instead of catering for an empty resulting grid.
+
+2005-10-26 Wednesday 15:14  Matthew Mundell
+
+	* src/Grid_Certificate.cc (grids.5): Simplify the
+	  Grid_Certificate(cgr) assertion that after being reduced the
+	  generator system defines a grid that contains points.
+
+2005-10-26 Wednesday 12:48  Matthew Mundell
+
+	* tests/Grid/boundingbox1.cc (grids.3): Add test10, where the box
+	  has a dimension open only from below.
+
+2005-10-26 Wednesday 12:47  Matthew Mundell
+
+	* src/Grid.defs.hh (grids.50): Improve the descriptions of the box
+	  constructor and method get_covering_box.
+
+2005-10-26 Wednesday 12:46  Matthew Mundell
+
+	* src/Grid.inlines.hh (grids.24): In the Grid covering box
+	  constructor add an equality for each interval that is bounded
+	  only from below.
+
+2005-10-26 Wednesday 11:38  Matthew Mundell
+
+	* tests/Grid/coveringbox1.cc (grids.5): Use Bounding_Box instead of
+	  BBox.  Add a temporary Bounding_Box operator==.  Rename box to
+	  box1.  In every test add a further check which uses the Grid
+	  covering box constructor.  Always use closed bounds.
+
+2005-10-26 Wednesday 11:33  Matthew Mundell
+
+	* tests/Grid/boundingbox1.cc (grids.2): Match the expected values
+	  to the updated behaviour of the covering box constructor.
+
+2005-10-26 Wednesday 11:32  Matthew Mundell
+
+	* src/Grid.inlines.hh (grids.23): Update the covering box
+	  constructor to handle universe, empty and half open intervals in
+	  ways that match the behaviour of get_covering_box.  Always use
+	  closed bounds.
+
+2005-10-25 Tuesday 17:23  Matthew Mundell
+
+	* src/Grid.defs.hh (grids.49): In the get_covering_box description
+	  note that the lower bounds are as close as possible to the
+	  origin, and add information about the calling guarantees.
+
+2005-10-25 Tuesday 14:33  Matthew Mundell
+
+	* tests/Grid/coveringbox1.cc (grids.4): Add test12, in which all
+	  the points have the same value in one of the dimensions.  Update
+	  the expected values in test2 so that the lower bounds are as
+	  close as possible to the origin.  Add the dimension in the test11
+	  description.
+
+2005-10-25 Tuesday 14:21  Matthew Mundell
+
+	* configure.ac, doc/Makefile.am, src/Checked_Number.defs.hh,
+	  src/Coefficient.cc, src/Coefficient.defs.hh,
+	  src/Grid_conversion.cc, src/Grid_minimize.cc,
+	  src/Grid_nonpublic.cc, src/Grid_simplify.cc,
+	  tests/Grid/affineimage1.cc, tests/Grid/coveringbox1.cc
+	  (grids.[7,5,7,3,3,21,19,34,32,6,3]): Revert files accidentally
+	  included in last change.
+
+2005-10-25 Tuesday 13:53  Matthew Mundell
+
+	* configure.ac, doc/Makefile.am, src/Checked_Number.defs.hh,
+	  src/Coefficient.cc, src/Coefficient.defs.hh, src/Grid.inlines.hh,
+	  src/Grid_conversion.cc, src/Grid_minimize.cc,
+	  src/Grid_nonpublic.cc, src/Grid_simplify.cc,
+	  tests/Grid/affineimage1.cc, tests/Grid/coveringbox1.cc
+	  (grids.[6,4,6,2,2,22,20,18,33,31,5,2]): In get_covering_box
+	  rename gcds to interval_sizes and update the algorithm to always
+	  use the smallest possible absolute values for the lower bounds.
+
+2005-10-25 Tuesday 10:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.71): Forgot to close namespace.
+
+2005-10-25 Tuesday 10:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.37), BD_Shape.inlines.hh (1.70): Added
+	  a new function extract_bounded_difference() to factorize repeated
+	  code for decoding a constraint.  A lot of repeated code also
+	  factorized in method relation_with().  Added a private method
+	  BD_Shape<T>::get_limiting_constraints() to be used in the
+	  implementations of limited widening operators.  Prefer assign()
+	  to the direct assignment operator when assigning zero.  Removed a
+	  couple of improper usages of the Coefficient_traits template.
+
+2005-10-24 Monday 19:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/affinedimension1.cc (grids.1): file
+	  affinedimension1.cc was added on branch grids on 2005-11-23
+	  13:24:07 +0000
+
+2005-10-24 Monday 19:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.36), src/BD_Shape.inlines.hh (1.69),
+	  tests/BD_Shape/Makefile.am (1.18),
+	  tests/BD_Shape/affinedimension1.cc (1.1): Added a first
+	  implementation of new method dimension_type
+	  BD_Shape<T>::affine_dimension() const.  The new program
+	  affinedimension1.cc containts some tests for it.  (Joint work
+	  with Elena Mazzi.)
+
+2005-10-24 Monday 14:29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.35), BD_Shape.inlines.hh (1.68),
+	  DB_Matrix.defs.hh (1.6), DB_Matrix.inlines.hh (1.6),
+	  DB_Row.inlines.hh (1.8), checked.defs.hh (1.25): Removed a lot of
+	  commented out stuff from DB_Row.inlines.hh.  When creating DB_Row
+	  and DB_Matrix objects, the coefficients are now initialized to
+	  the value PLUS_INFINITY.  DB_Matrix no longer has unused (and
+	  unimplemented) methods space_dimensions() and
+	  add_rows_and_columns().  BD_Shape no longer needs the method
+	  init().  In the BD_Shape implementation, added a couple of
+	  utility function that help in factoring common code.	In methods
+	  adding space dimensions, take into accoount that the newly added
+	  coefficients are already initialized to PLUS_INFINITY.  Added a
+	  lot of missing const qualifications.	The
+	  shortest_path_reduction_assign() method has been almost
+	  reimplemented from scratch: it should now be easier to move
+	  towards an implementation where shortest-path closure is not
+	  compromised by reduction.  Several comments improved.
+
+2005-10-24 Monday 14:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/DB_Row.defs.hh (1.10): Some comments reworded. An unused
+	  preprocessor variable removed.
+
+2005-10-24 Monday 14:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.140), src/Constraint_System.defs.hh
+	  (1.17), src/globals.types.hh (1.2), src/simplex.cc (1.28),
+	  tests/Polyhedron/primalsimplex1.cc (1.2),
+	  tests/Polyhedron/primalsimplex2.cc (1.2): Using a new enumerated
+	  type Optimization_Kind to specify whether the primal simplex
+	  algorithm should maximize or minimize the object function.
+
+2005-10-24 Monday 12:39  Matthew Mundell
+
+	* configure.ac (1.195): Set text_md5sum, to complete last change.
+
+2005-10-24 Monday 11:30  Matthew Mundell
+
+	* configure.ac (1.194): Take out the attempt at checking for an
+	  md5sum -t option.
+
+2005-10-22 Saturday 15:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_sicstus_prolog.m4 (grids.1): file
+	  ac_check_sicstus_prolog.m4 was added on branch grids on
+	  2005-11-23 13:24:06 +0000
+
+2005-10-22 Saturday 15:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_xsb_prolog.m4 (grids.1): file ac_check_xsb_prolog.m4
+	  was added on branch grids on 2005-11-23 13:24:06 +0000
+
+2005-10-22 Saturday 15:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.193), interfaces/Prolog/SICStus/Makefile.am
+	  (1.57), interfaces/Prolog/SWI/Makefile.am (1.54),
+	  interfaces/Prolog/XSB/Makefile.am (1.37),
+	  m4/ac_check_sicstus_prolog.m4 (1.3), m4/ac_check_swi_prolog.m4
+	  (1.6), m4/ac_check_xsb_prolog.m4 (1.1): Treat SICStus, SWI and
+	  XSB Prolog in a uniform way.
+
+2005-10-22 Saturday 15:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.163): Added blank lines to help readability.
+
+2005-10-22 Saturday 08:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_sicstus_prolog.m4 (1.2): Make sure things work even
+	  if `sicstus' is a symbolic link.
+
+2005-10-21 Friday 21:27  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, coveringbox1.cc (grids.[36,1]): Add
+	  coveringbox1, which tests get_covering_box.
+
+2005-10-21 Friday 21:25  Matthew Mundell
+
+	* src/Grid_Certificate.cc (grids.4): Finalise calculation of number
+	  of congruences from number of generators.
+
+2005-10-21 Friday 21:25  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid.inlines.hh (grids.[48,21]): Add template
+	  get_covering_box.
+
+2005-10-21 Friday 17:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.192), interfaces/Prolog/SICStus/Makefile.am
+	  (1.56), m4/ac_check_sicstus_prolog.m4 (1.1): New machinery to
+	  automatically detect the location where SICStus Prolog was
+	  installed.  Now, the only requirement imposed on the user is to
+	  have `sicstus' reachable from the shell's PATH.
+
+2005-10-21 Friday 16:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.191): Version number bumped.
+
+2005-10-21 Friday 16:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_swi_prolog.m4 (1.5): Comment fixed.
+
+2005-10-21 Friday 14:03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedra_Powerset.defs.hh (1.24): Added a couple of missing
+	  declarations of template specializations, that were causing an
+	  error to be reported by the Intel compiler.
+
+2005-10-20 Thursday 11:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.34): The Doxygen documentation is now
+	  (almost) formatted according to STANDARDS.
+
+2005-10-20 Thursday 10:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BDS_Status.idefs.hh (1.8), src/BDS_Status.inlines.hh (1.6),
+	  src/BD_Shape.defs.hh (1.33), src/BD_Shape.inlines.hh (1.67),
+	  tests/BD_Shape/ascii_dump_load2.cc (1.5): Started cleaning up the
+	  code for BD_Shape<T>.  The entailment clsoure method ofr BDSs is
+	  shortest-path closure (transitive closure is another thing):
+	  method names and status flags changed accordingly.  Now avoiding
+	  the (almost) useless initialization of BDS in the constructor
+	  BD_Shape(const Generator_System& gs); Source code in file
+	  BD_Shape.inlines.hh reordered so that all inline
+	  methods/functions come before the non-inline method/function
+	  templates.
+
+2005-10-20 Thursday 10:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/boundingbox1.cc (1.6): Added another test for
+	  shrinking a bounding box in polynomial time when there are
+	  redundant constraints.
+
+2005-10-19 Wednesday 17:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.139), ppl_c.h.in (1.54): Public method
+	  Constraint_System::has_strict_inequalities() is now accessible
+	  even from the C interface.
+
+2005-10-19 Wednesday 16:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.162): Method Constraint_System::has_strict_inequalities()
+	  is now public.
+
+2005-10-19 Wednesday 16:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/simplex.cc (1.27): The primal_simplex() is now also
+	  applicable to an NNC constraint system containing no strict
+	  inequality constraints.
+
+2005-10-19 Wednesday 16:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Constraint_System.defs.hh (1.16): Method
+	  has_strict_inequalities() is no longer private.
+
+2005-10-19 Wednesday 16:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedra_Powerset.inlines.hh (1.32): Prefer qualified access
+	  to class template member data and functions.	Removed a wrong
+	  const qualification is concatenate_assign().
+
+2005-10-19 Wednesday 12:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Constraint_System.cc (1.13): Added a missing const qualifier.
+
+2005-10-18 Tuesday 23:32  Matthew Mundell
+
+	* tests/Polyhedron/numberinput1.cc (1.12): Include cstdlib.
+
+2005-10-18 Tuesday 23:28  Matthew Mundell
+
+	* tests/Polyhedron/numberinput1.cc (1.11): Add a test where the
+	  parsing fails and whitespace follows the parsed number.
+
+2005-10-18 Tuesday 23:12  Matthew Mundell
+
+	* tests/Polyhedron/numberinput1.cc (1.10): Check for expected
+	  spaces in residuals.	Always exit with 1 on error.
+
+2005-10-18 Tuesday 20:19  Matthew Mundell
+
+	* tests/Polyhedron/numberinput1.cc (1.9): Add three tests with
+	  trailing whitespace.
+
+2005-10-17 Monday 09:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref.doxyconf-html.in (1.59), devref.doxyconf-latex.in
+	  (1.3), user.doxyconf-html.in (1.31), user.doxyconf-latex.in
+	  (1.3): In the devref manuals, also produce documentation for
+	  Scalar_Products.
+
+2005-10-17 Monday 09:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Makefile.am (1.126): Do not forget Scalar_Products.types.hh.
+
+2005-10-16 Sunday 17:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.defs.hh (1.109), Constraint_System.cc (1.12),
+	  Generator.defs.hh (1.111), Generator_System.cc (1.13),
+	  Linear_Expression.defs.hh (1.13), Linear_System.cc (1.30),
+	  Makefile.am (1.125), Polyhedron_nonpublic.cc (1.56),
+	  Polyhedron_public.cc (1.67), Polyhedron_widenings.cc (1.51),
+	  Scalar_Products.cc (1.1), Scalar_Products.defs.hh (1.1),
+	  Scalar_Products.inlines.hh (1.1), Scalar_Products.types.hh (1.1),
+	  conversion.cc (1.75), scalar_products.cc (1.3),
+	  scalar_products.defs.hh (1.5), scalar_products.inlines.hh (1.6),
+	  scalar_products.types.hh (1.2): Files "scalar_products.*" renamed
+	  as "Scalar_Products.*".
+
+2005-10-16 Sunday 17:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Scalar_Products.defs.hh (grids.1): file
+	  Scalar_Products.defs.hh was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-10-16 Sunday 17:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Scalar_Products.inlines.hh (grids.1): file
+	  Scalar_Products.inlines.hh was added on branch grids on
+	  2005-11-23 13:24:06 +0000
+
+2005-10-16 Sunday 17:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Scalar_Products.types.hh (grids.1): file
+	  Scalar_Products.types.hh was added on branch grids on 2005-11-23
+	  13:24:06 +0000
+
+2005-10-15 Saturday 15:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.161): Provide better visual separation for "displayed"
+	  material.
+
+2005-10-15 Saturday 15:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.160): Ellipsis has a well-defined meaning in C++: avoid
+	  using it to signify "parameters omitted".
+
+2005-10-15 Saturday 11:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS (1.20): Updated.
+
+2005-10-15 Saturday 09:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint_System.defs.hh (1.15),
+	  Constraint_System.inlines.hh (1.6), Generator_System.defs.hh
+	  (1.10), Generator_System.inlines.hh (1.5): Classes
+	  Constraint_System and Generator_System now have a private method
+	  simplify() that calls the new method of class Linear_System. In
+	  the case of generators, the wrapper method also removes any
+	  invalid rays or lines that may have been generated.
+
+2005-10-15 Saturday 09:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Generator.inlines.hh (1.57), Generator_System.cc (1.12): Do
+	  exploit new method Generator::is_line_or_ray().
+
+2005-10-15 Saturday 09:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.37): Corrected a dependency bug:
+	  test nnc_boudningbox5 was compiling source file boundingbox3.cc.
+
+2005-10-14 Friday 19:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Linear_System.cc (1.29), Linear_System.defs.hh (1.18),
+	  Polyhedron.inlines.hh (1.124), Polyhedron_public.cc (1.66),
+	  simplify.cc (1.44): Linear_System methods gauss() and
+	  back_substitute() modified so as to assert all the known
+	  preconditions. Method gauss() also modified so as to receive as
+	  input the number of lines/equalities on which it should be
+	  applied. Added a new method Linear_System::simplify() that takes
+	  care of appropriately combine the two methods above when needed,
+	  so as to ensure that all preconditions are met. The new method is
+	  now used in the implementation of
+	  Polyhedron::shrink_bounding_box() and Polyhedron::OK().
+
+2005-10-14 Friday 13:09  Matthew Mundell
+
+	* src/checked.cc (1.9): Comment every function.  Slightly improve
+	  the formatting in parse_number and input_mpq.
+
+	  In parse_number1
+
+	   - move the error handling to the first error occurrence (this
+	  ensures
+	     that variables are always initialised at the destinations of
+	  the
+	     error jumps)
+
+	   - capatilise the second 'n' in the "inf" check
+
+	   - make the '+' case when parsing strings like "+inf" fall
+	  through to
+	     the "inf" parsing, instead of jumping to it
+
+	   - after the initial sign-and-symbol-parsing switch statement,
+	  split
+	     the validity check on the current character into two checks,
+	  one of
+	     which is already present
+
+	   - use only variable c when parsing a leading "0x", instead of
+	  using a
+	     second variable (d)
+
+	   - convert the parsing state machine into a series of loops, to
+	  save
+	     the state interpretation overhead and to lower the number of
+	  jumps
+	     and the size of the code
+
+	   - manually inline the small relevant portion of get_digit at the
+	     digit validity checks which call get_digit with a base of ten.
+
+2005-10-14 Friday 11:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.65): Prefer "unsatisfiable" to
+	  "insoluble".
+
+2005-10-14 Friday 09:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/scalar_products.types.hh (1.1): Put under CVS control.
+
+2005-10-13 Thursday 10:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.defs.hh (1.108), Constraint_System.cc (1.11),
+	  Generator.defs.hh (1.110), Generator.inlines.hh (1.56),
+	  Generator_System.cc (1.11), Generator_System.defs.hh (1.9),
+	  Linear_Expression.defs.hh (1.12), Linear_System.cc (1.28),
+	  Polyhedron_chdims.cc (1.34), Polyhedron_nonpublic.cc (1.55),
+	  Polyhedron_public.cc (1.64), Polyhedron_widenings.cc (1.50),
+	  conversion.cc (1.74), scalar_products.cc (1.2),
+	  scalar_products.defs.hh (1.4), scalar_products.inlines.hh (1.5):
+	  Added class Scalar_Products gathering all scalar product
+	  functions defined so far. Also added class
+	  Topology_Adjusted_Scalar_Product_Sign, implementing a function
+	  object choosing the correct scalar product function for the given
+	  context. Using these classes to simplify friend declarations and
+	  to allow for the removal of some friend declarations. In
+	  particular:  - Constraint_System is no longer a friend of
+	  Generator;  - Generator_System is no longer a friend of
+	  Constraint.  Also added a few missing const qualifications to
+	  local variables.
+
+2005-10-12 Wednesday 17:53  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.159), TODO (1.157): Updated for the with_token changes to
+	  the Prolog interface.
+
+2005-10-12 Wednesday 17:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.134): Documentation for
+	  the Prolog widening/extrapolation "with_tokens" predicates
+	  revised to match the changes to the actual implementation.
+	  General improvements to the descriptions of all the Prolog
+	  widening/extrapolation predicates.
+
+2005-10-11 Tuesday 12:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_prolog.icc (1.163), Ciao/ciao_pl_check.pl
+	  (1.14), Ciao/ppl_ciao.pl (1.82), GNU/ppl_gprolog.pl (1.54),
+	  SICStus/ppl_sicstus_sd.cc (1.80), SWI/ppl_swiprolog.cc (1.104),
+	  XSB/ppl_xsb.H (1.42), XSB/ppl_xsb.cc (1.71), XSB/xsb_pl_check.P
+	  (1.19), YAP/ppl_yap.cc (1.98), tests/pl_check.pl (1.12): Modified
+	  the "with_token" widening and extrapolation predicates to be
+	  "with_tokens" where each predicate has an extra argument (ie
+	  there are two arguments for the token numbers).
+
+	  All predicates require the number of available tokens as input in
+	  the first token argument and unify the second of the token
+	  arguments with the number of tokens available after the
+	  widening/extrapolation operation.
+
+	  pl_check.pl now tests the modified predicates and their possible
+	  exceptions.
+
+2005-10-11 Tuesday 12:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/ppl-config.cc.in (1.9): Help message now says something about
+	  the available options.
+
+2005-10-11 Tuesday 10:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am, STANDARDS, TODO, config.guess, configure.ac,
+	  Watchdog/config.guess, Watchdog/src/Makefile.am,
+	  Watchdog/src/Makefile.in, Watchdog/utils/Makefile.am,
+	  demos/ppl_lcdd/ppl_lcdd.cc, demos/ppl_lpsol/ppl_lpsol.c,
+	  doc/Makefile.am, doc/README.doc,
+	  doc/devref-browse.doxyconf-latex.in,
+	  doc/devref-print.doxyconf-latex.in, doc/devref.doxyconf-html.in,
+	  doc/devref.doxyconf-latex.in, doc/devref.tex,
+	  doc/user-browse.doxyconf-latex.in,
+	  doc/user-print.doxyconf-latex.in, doc/user.doxyconf-html.in,
+	  doc/user.doxyconf-latex.in, doc/user.tex,
+	  interfaces/C/ppl_c.h.in, interfaces/Prolog/XSB/ppl_xsb.H,
+	  interfaces/Prolog/YAP/ppl_yap.cc, src/BD_Shape.defs.hh,
+	  src/BD_Shape.inlines.hh, src/Checked_Number.defs.hh,
+	  src/Checked_Number.inlines.hh, src/Constraint.cc,
+	  src/Constraint.defs.hh, src/GMP_Integer.defs.hh,
+	  src/GMP_Integer.types.hh, src/Generator.cc,
+	  src/Generator.defs.hh, src/H79_Certificate.defs.hh,
+	  src/H79_Certificate.inlines.hh, src/Linear_System.cc,
+	  src/Makefile.am, src/Native_Integer.defs.hh,
+	  src/Native_Integer.inlines.hh, src/Polyhedra_Powerset.cc,
+	  src/Polyhedra_Powerset.defs.hh,
+	  src/Polyhedra_Powerset.inlines.hh, src/Polyhedron_chdims.cc,
+	  src/Polyhedron_public.cc, src/checked_float.inlines.hh,
+	  src/minimize.cc, src/simplex.cc,
+	  tests/Random_Number_Generator.inlines.hh,
+	  tests/BD_Shape/Makefile.am,
+	  tests/BD_Shape/bgp99extrapolation1.cc,
+	  tests/BD_Shape/bhz03widening1.cc, tests/Polyhedron/Makefile.am,
+	  tests/Polyhedron/numberinput1.cc,
+	  tests/Polyhedron/polypowerset1.cc, tests/Polyhedron/powerset1.cc,
+	  tests/Polyhedron/primalsimplex2.cc, utils/Makefile.am
+	  (grids.[4,5,4,3,5,3,2,2,3,4,4,3,2,4,4,4,1,1,3,3,3,1,1,4,2,3,5,5,5,5,4,6,6,2,4,8,3,2,4,9,4,5,2,5,6,4,6,6,2,4,2,5,1,1,9,2,2,1,1,3]):
+	  Fifth merge from main trunk.
+
+2005-10-11 Tuesday 09:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/ppl_xsb.H (1.41): Reflect the
+	  reorganization of the Watchdog directory.
+
+2005-10-10 Monday 17:11  Matthew Mundell
+
+	* tests/Polyhedron/numberinput1.cc (1.8): Add two hexadecimal tests
+	  where parsing will stop after the "0x".  Use valid digits in the
+	  exponent of "3^^e3" (i.e. use "3^^e2").
+
+2005-10-09 Sunday 08:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/ppl_yap.cc (1.97): Comparisons with
+	  LONG_MAX fixed.
+
+2005-10-08 Saturday 22:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/simplex.cc (1.26): Avoid requesting the inlining of complex
+	  functions.
+
+2005-10-08 Saturday 22:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/ppl_yap.cc (1.96): YAP should now support
+	  unlimited precision integers.  Some FIXMEs dealt with, but had to
+	  add one because of what looks like a bug in YAP.
+
+2005-10-08 Saturday 13:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.63): Use
+	  Constraint::inhomogeneous_term() instead of c[0] when
+	  appropriate.	Moved a useful comment outside assertion-like code,
+	  because the comment is relevant even when assertions are
+	  disabled.  When invoking scalar_product_sign(), the first
+	  argument should be the constraint and the second the generator
+	  (not the other way round).  Several occurrences of	 if
+	  (var_space_dim <= expr_space_dim && expr[var_space_dim] != 0) {
+	  replaced by the shorter (and as efficient as)     if
+	  (expr.coefficient(var) != 0) { One use of
+	  Coefficient_traits::const_reference inside a function body
+	  definition replaced by const Cefficient&.
+
+2005-10-08 Saturday 09:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedra_Powerset.cc (1.4), Polyhedra_Powerset.inlines.hh
+	  (1.31), checked_float.inlines.hh (1.45): Comments revised.  Refer
+	  to GCC's Bugzilla when talking about GCC bugs.  GCC (the GNU
+	  Compiler Collection) is written with all capitals.
+
+2005-10-08 Saturday 08:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedra_Powerset.defs.hh (1.23): To work around a bug in
+	  GCC 3.3.3, we temporarily make all Polyhedra_Powerset's friends
+	  of each other.
+
+2005-10-08 Saturday 07:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/simplex.cc (1.25): Stop being noisy.
+
+2005-10-07 Friday 22:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Linear_System.cc (1.27): FIXME resolved.
+
+2005-10-07 Friday 18:43  Matthew Mundell
+
+	* tests/Polyhedron/numberinput1.cc (1.7): Update temporary
+	  comments.  Increase stack space if large exponents are being
+	  used.  Add directive TEST_LARGE_EXPONENTS, which controls the
+	  inclusion of tests with large exponents.
+
+2005-10-07 Friday 14:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedra_Powerset.cc (1.3), Polyhedra_Powerset.inlines.hh
+	  (1.30): Applied workaround to a gcc bug affecting version 3.3.3.
+	  See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13635.
+
+2005-10-06 Thursday 18:29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.19): In the first line comment,
+	  mentioned that the simplex solver can be used too.
+
+2005-10-06 Thursday 18:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.46): Too long line has been split.
+
+2005-10-06 Thursday 18:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h.in (1.53): The Linear Programming demo is
+	  now in demos/ppl_lpsol/.
+
+2005-10-06 Thursday 17:59  Matthew Mundell
+
+	* tests/Polyhedron/numberinput1.cc (1.6): Improve formatting and
+	  messages slightly.  Take out the "fix" macro.  Group tests into
+	  functions.  Add tests which expect characters trailing the
+	  number.  Add a test of the exponent size limit.  Revise temporary
+	  comments.
+
+2005-10-06 Thursday 12:26  Matthew Mundell
+
+	* tests/Polyhedron/numberinput1.cc (1.5): Take out tracing function
+	  dump_mpz_ptr.  Only print output on error.
+
+2005-10-06 Thursday 12:21  Matthew Mundell
+
+	* src/checked_int.inlines.hh (1.39): Clip trailing spaces.
+
+2005-10-06 Thursday 11:56  Matthew Mundell
+
+	* src/Congruence_System.cc (grids.25): In satisfies_all_congruences
+	  multiply the modulus by the divisor when the divisor is greater
+	  than 1 (was 0).
+
+2005-10-06 Thursday 11:55  Matthew Mundell
+
+	* src/GMP_Integer.defs.hh (grids.5): Take `inline' out of gcdext
+	  declarations.
+
+2005-10-06 Thursday 11:54  Matthew Mundell
+
+	* src/checked.inlines.hh (grids.7): In gcdext_generic do the s and
+	  t negation only once when the given x and y are negative.
+
+2005-10-06 Thursday 11:50  Matthew Mundell
+
+	* tests/Grid/Makefile.am (grids.35): Add FAIL_TEST directives for
+	  the checked types.
+
+2005-10-04 Tuesday 23:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/simplex.cc (1.24): Do not use conditional expressions with
+	  expressions of different type.
+
+2005-10-04 Tuesday 22:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedra_Powerset.inlines.hh (1.29):
+	  Polyhedra_Powerset<PH>::concatenate_assign() was still buggy.
+
+2005-10-04 Tuesday 20:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedra_Powerset.inlines.hh (1.28): Fixed a bug
+	  Polyhedra_Powerset<PH>::concatenate_assign() whereby a temporary
+	  Polyhedra_Powerset object was created with the wrong dimension.
+
+2005-10-04 Tuesday 20:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/polypowerset1.cc (1.6): New test simplified (it
+	  could not reproduce the time-dependent bug it was supposed to
+	  reproduce).
+
+2005-10-04 Tuesday 20:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/polypowerset1.cc (1.5): Added a new test that
+	  exposes a bug in Polyhedra_Powerset<PH>::concatenate_assign().
+
+2005-10-04 Tuesday 15:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.156): A PPL distribution is compilable on environments
+	  lacking Perl.
+
+2005-10-04 Tuesday 15:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.155), src/GMP_Integer.defs.hh (1.11), src/simplex.cc
+	  (1.23): Added macro PPL_NOISY_SIMPLEX to enable a limited amount
+	  of debugging output when executing the primal simplex.  The
+	  documentation of function is_in_base() improved.  Function
+	  compute_generator() also simplified.
+
+2005-10-04 Tuesday 14:45  Matthew Mundell
+
+	* src/minimize.cc (1.42): Indent note consistently.
+
+2005-10-04 Tuesday 14:35  Matthew Mundell
+
+	* src/Polyhedron_public.cc (1.62): Take out two redundant `else'
+	  and a redundant `if'.  Correct some comments (mostly typos).
+	  Clip a trailing space.  Take out a \relates comment on a
+	  Polyhedron method.
+
+2005-10-04 Tuesday 13:20  Matthew Mundell
+
+	* src/Polyhedron_chdims.cc (1.33): Correct and update some comments
+	  (mostly grammar).  Add a space after two primitive calls in
+	  expand_space_dimension.
+
+2005-10-04 Tuesday 12:58  Matthew Mundell
+
+	* src/: Native_Integer.defs.hh (1.13), Native_Integer.inlines.hh
+	  (1.14): Add template assign(Native_Integer<To>&, const
+	  mpz_class&, Rounding_Dir).
+
+2005-10-04 Tuesday 12:57  Matthew Mundell
+
+	* tests/Random_Number_Generator.inlines.hh (1.3): Revert to using
+	  assign in method get.
+
+2005-10-04 Tuesday 12:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_float.inlines.hh (1.44): Point 3 of Section 6.7.3
+	  [Type qualifiers] of the C99 standard says that "The properties
+	  associated with qualified types [const, restrict, volatile] are
+	  meaningful only for expressions that are lvalues." Point 8 of
+	  Section 7.1.5.1 [The cv qualifiers] of the C++98 standard says
+	  that "In general, the semantics of volatile are intended to be
+	  the same in C++ as they are in C." Since functions can only
+	  return rvalues, and since C++98 and C99 are (believed to be)
+	  converging, the type qualifier "volatile" on return type has been
+	  removed.  FIXME resolved.
+
+2005-10-03 Monday 23:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/simplex.cc (1.22): Stupid bug recently introduced is now
+	  corrected.
+
+2005-10-03 Monday 18:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.190): Revised the URI for the Perl directory at
+	  perl.org.
+
+2005-10-03 Monday 18:11  Matthew Mundell
+
+	* tests/Random_Number_Generator.inlines.hh (1.2): In method get
+	  "use" parameter info, and assign the generated number with
+	  operator= (via a temporary) instead of with method assign (as
+	  operator= is present in Native_Integer).
+
+2005-10-03 Monday 14:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/bgp99extrapolation1.cc (1.1): Put under CVS
+	  control.
+
+2005-10-03 Monday 12:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/: Makefile.am (1.17), bhz03widening1.cc (1.1):
+	  Added a new test for the first implementation of a
+	  certificate-based widening on a powerset of BD_Shape's.
+
+2005-10-03 Monday 12:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.32), BD_Shape.inlines.hh (1.66): Added
+	  methods difference_assign() and strictly_contains(), that are
+	  required when instantiating Polyhedra_Powerset<BD_Shape> and
+	  using the BHZ03 widening.  Widening methods now have a dummy
+	  token argument (not used yet).  Removed unreasonable inline
+	  directives from too complex class template member
+	  implementations.
+
+2005-10-03 Monday 12:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: H79_Certificate.defs.hh (1.12), H79_Certificate.inlines.hh
+	  (1.6): Added constructor template and comparison member template,
+	  so as to provide a dummy (but working) certificate implementation
+	  for all classes PH providing method PH::constraints() (e.g.,
+	  BD_Shape).
+
+2005-10-02 Sunday 20:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.65): Added a missing const qualifier
+	  and revised a comment in BD_Shape<T>::init().
+
+2005-10-02 Sunday 14:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Makefile.am (1.3), src/Makefile.am (1.124):
+	  Definition of BUILT_SOURCES revised.
+
+2005-10-02 Sunday 12:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.189): Version number bumped.
+
+2005-10-02 Sunday 11:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.33), Watchdog/config.guess (1.17): Updated.
+
+2005-10-02 Sunday 11:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: Makefile.am (1.37), devref.doxyconf-html.in (1.58),
+	  devref.doxyconf-latex.in (1.2), devref.tex (1.18),
+	  user.doxyconf-html.in (1.30), user.doxyconf-latex.in (1.2),
+	  user.tex (1.19): We now generate PostScript from PDF.
+
+2005-10-02 Sunday 08:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/powerset1.cc (1.2): Added Fcaibvp::OK().
+
+2005-10-01 Saturday 15:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* STANDARDS (1.24): Added a section describing source file naming
+	  and structuring conventions.	Another section has to do with
+	  macros.
+
+2005-10-01 Saturday 09:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.36), powerset1.cc (1.1): New
+	  (incomplete) test program to test the Powerset class.
+
+2005-10-01 Saturday 09:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.188), doc/Makefile.am (1.36), doc/README.doc
+	  (1.6), doc/devref-browse.doxyconf-latex.in (1.57),
+	  doc/devref-print.doxyconf-latex.in (1.57),
+	  doc/devref.doxyconf-html.in (1.57), doc/devref.doxyconf-latex.in
+	  (1.1), doc/user-browse.doxyconf-latex.in (1.27),
+	  doc/user-print.doxyconf-latex.in (1.27),
+	  doc/user.doxyconf-html.in (1.29), doc/user.doxyconf-latex.in
+	  (1.1): No longer produce "browse" and "print" version, since the
+	  "browse" version is equally good for printing.  Construction of
+	  the documentation much simplified.  Doxygen configuration files
+	  updates.
+
+2005-09-30 Friday 23:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.34): Header file instchk.hh listed in
+	  dist_noinst_HEADERS.
+
+2005-09-30 Friday 21:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/simplex.cc (1.21): No longer using (and thus eliminated)
+	  functions insert_row_in_matrix(), add_element_to_row(),
+	  copy_column().  Function check_optimality() renamed as
+	  get_entering_index(), its signature restructured and its
+	  implementation made a little bit more efficient.  Function
+	  choose_out_var() renamed as get_exiting_index(), its signature
+	  restructured and its implementation heavily changed to
+	  (hopefully) made it more efficient.  Function compute_simplex()
+	  changed accordingly.	Function compute_tableau() further
+	  simplified by removing a lot of (not really necessary)
+	  bookkeeping. Local variables renamed for improved readability.
+
+2005-09-30 Friday 09:16  David Merchat
+
+	* src/GMP_Integer.types.hh (1.9): We use doxygen command
+	  ``\relates'' to put  all informations about GMP_Integer at the
+	  same place. Since \relates must refer to a class and GMP_Integer
+	  is not a class but a type we obtain a warning for all ``\relates
+	  GMP_Integer'' To eliminate those warnings we add a doxygen
+	  comment ``\class GMP_Integer'' just before declaration of type
+	  GMP_Integer
+
+2005-09-29 Thursday 18:03  Matthew Mundell
+
+	* src/: checked.inlines.hh, checked_float.inlines.hh,
+	  checked_int.inlines.hh (grids.[6,5,5]): Rename gcdext_generic to
+	  gcdext_exact.
+
+2005-09-29 Thursday 18:02  Matthew Mundell
+
+	* src/: Congruence.cc, Congruence.defs.hh, Congruence.inlines.hh,
+	  scalar_products.cc, scalar_products.defs.hh,
+	  scalar_products.inlines.hh (grids.[12,21,16,2,2,2]): Move scalar
+	  product functions into scalar_products.*.
+
+2005-09-29 Thursday 17:00  Matthew Mundell
+
+	* tests/Polyhedron/numberinput1.cc (1.4): Improve the call to
+	  function input in function test.  Update temporary comments.	Add
+	  a test with a much larger integer.
+
+2005-09-29 Thursday 11:24  Matthew Mundell
+
+	* tests/Polyhedron/numberinput1.cc (1.3): Convert test_template to
+	  function test, which uses an mpq_class checked number.  In
+	  function test read number with function input (instead of op>>),
+	  compare the result of the conversion with an expected result, and
+	  use is_not_a_number instead of classify.
+
+	  Narrow long test invocations.  Add an expected result value to
+	  each invocation.
+
+2005-09-28 Wednesday 22:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.154), configure.ac (1.187), Watchdog/src/Makefile.am
+	  (1.2), src/Makefile.am (1.123): A PPL distribution should now be
+	  compilable even on environments lacking Perl.
+
+2005-09-28 Wednesday 21:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/: .cvsignore, Doubly_Linked_Object.defs.hh,
+	  Doubly_Linked_Object.inlines.hh, Doubly_Linked_Object.types.hh,
+	  EList.defs.hh, EList.inlines.hh, EList.types.hh,
+	  EList_Iterator.defs.hh, EList_Iterator.inlines.hh,
+	  EList_Iterator.types.hh, Handler.defs.hh, Handler.inlines.hh,
+	  Handler.types.hh, Makefile.am, Makefile.in, Pending_Element.cc,
+	  Pending_Element.defs.hh, Pending_Element.inlines.hh,
+	  Pending_Element.types.hh, Pending_List.cc, Pending_List.defs.hh,
+	  Pending_List.inlines.hh, Pending_List.types.hh, Time.cc,
+	  Time.defs.hh, Time.inlines.hh, Time.types.hh, Watchdog.cc,
+	  Watchdog.defs.hh, Watchdog.inlines.hh, Watchdog.types.hh,
+	  pwl_header.hh
+	  (grids.[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]):
+	  Files moved as in the main trunk.
+
+2005-09-28 Wednesday 21:04  Matthew Mundell
+
+	* CREDITS, ChangeLog, Makefile.am, NEWS, STANDARDS, TODO,
+	  configure.ac, instchk.hh, Watchdog/.cvsignore,
+	  Watchdog/ChangeLog, Watchdog/Doubly_Linked_Object.defs.hh,
+	  Watchdog/Doubly_Linked_Object.inlines.hh,
+	  Watchdog/Doubly_Linked_Object.types.hh, Watchdog/EList.defs.hh,
+	  Watchdog/EList.inlines.hh, Watchdog/EList.types.hh,
+	  Watchdog/EList_Iterator.defs.hh,
+	  Watchdog/EList_Iterator.inlines.hh,
+	  Watchdog/EList_Iterator.types.hh, Watchdog/Handler.defs.hh,
+	  Watchdog/Handler.inlines.hh, Watchdog/Handler.types.hh,
+	  Watchdog/Makefile.am, Watchdog/Pending_Element.cc,
+	  Watchdog/Pending_Element.defs.hh,
+	  Watchdog/Pending_Element.inlines.hh,
+	  Watchdog/Pending_Element.types.hh, Watchdog/Pending_List.cc,
+	  Watchdog/Pending_List.defs.hh, Watchdog/Pending_List.inlines.hh,
+	  Watchdog/Pending_List.types.hh, Watchdog/Time.cc,
+	  Watchdog/Time.defs.hh, Watchdog/Time.inlines.hh,
+	  Watchdog/Time.types.hh, Watchdog/Watchdog.cc,
+	  Watchdog/Watchdog.defs.hh, Watchdog/Watchdog.inlines.hh,
+	  Watchdog/Watchdog.types.hh, Watchdog/configure.ac,
+	  Watchdog/pwl_header.hh, Watchdog/utils/Makefile.am,
+	  Watchdog/utils/build_header, Watchdog/utils/build_header.in,
+	  demos/ppl_lcdd/ppl_lcdd.cc, doc/devref-browse.doxyconf-latex.in,
+	  doc/devref-print.doxyconf-latex.in, doc/devref.doxyconf-html.in,
+	  doc/user-browse.doxyconf-latex.in,
+	  doc/user-print.doxyconf-latex.in, doc/user.doxyconf-html.in,
+	  interfaces/C/ppl_c.cc, interfaces/Prolog/exceptions.hh,
+	  interfaces/Prolog/ppl_prolog.icc,
+	  interfaces/Prolog/Ciao/Makefile.am,
+	  interfaces/Prolog/Ciao/ppl_ciao.cc,
+	  interfaces/Prolog/GNU/Makefile.am,
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc,
+	  interfaces/Prolog/SICStus/Makefile.am,
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
+	  interfaces/Prolog/SWI/Makefile.am,
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
+	  interfaces/Prolog/XSB/Makefile.am,
+	  interfaces/Prolog/XSB/expected3_int16,
+	  interfaces/Prolog/XSB/expected3_int16_a,
+	  interfaces/Prolog/XSB/expected3_int32,
+	  interfaces/Prolog/XSB/expected3_int8,
+	  interfaces/Prolog/XSB/ppl_xsb.cc,
+	  interfaces/Prolog/YAP/Makefile.am,
+	  interfaces/Prolog/YAP/ppl_yap.cc,
+	  interfaces/Prolog/tests/expected_pchk_int16,
+	  interfaces/Prolog/tests/expected_pchk_int16_a,
+	  interfaces/Prolog/tests/expected_pchk_int32,
+	  interfaces/Prolog/tests/expected_pchk_int32_a,
+	  interfaces/Prolog/tests/expected_pchk_int64_a,
+	  interfaces/Prolog/tests/expected_pchk_int8,
+	  interfaces/Prolog/tests/expected_pchk_int8_a,
+	  interfaces/Prolog/tests/pl_check.pl, m4/ac_check_swi_prolog.m4,
+	  src/Ask_Tell.defs.hh, src/BD_Shape.defs.hh,
+	  src/BD_Shape.inlines.hh, src/BHRZ03_Certificate.cc,
+	  src/BHRZ03_Certificate.defs.hh, src/Bounding_Box.defs.hh,
+	  src/Bounding_Box.inlines.hh, src/Checked_Number.defs.hh,
+	  src/Checked_Number.inlines.hh, src/Checked_Number.types.hh,
+	  src/Coefficient.types.hh, src/Constraint.defs.hh,
+	  src/Constraint_System.cc, src/Constraint_System.defs.hh,
+	  src/Constraint_System.inlines.hh, src/DB_Row.defs.hh,
+	  src/Determinate.defs.hh, src/GMP_Integer.defs.hh,
+	  src/GMP_Integer.inlines.hh, src/GMP_Integer.types.hh,
+	  src/Generator.defs.hh, src/Generator_System.cc,
+	  src/H79_Certificate.cc, src/H79_Certificate.defs.hh, src/Init.cc,
+	  src/Linear_Expression.defs.hh, src/Linear_Row.cc,
+	  src/Linear_Row.defs.hh, src/Linear_Row.inlines.hh,
+	  src/Linear_System.cc, src/Linear_System.defs.hh, src/Makefile.am,
+	  src/Matrix.cc, src/Matrix.inlines.hh, src/Native_Integer.defs.hh,
+	  src/Native_Integer.inlines.hh, src/Native_Integer.types.hh,
+	  src/Polyhedra_Powerset.cc, src/Polyhedra_Powerset.defs.hh,
+	  src/Polyhedra_Powerset.inlines.hh, src/Polyhedron.defs.hh,
+	  src/Polyhedron.inlines.hh, src/Polyhedron_chdims.cc,
+	  src/Polyhedron_nonpublic.cc, src/Polyhedron_public.cc,
+	  src/Polyhedron_widenings.cc, src/Row.cc, src/Row.defs.hh,
+	  src/Saturation_Matrix.cc, src/Saturation_Row.cc,
+	  src/Saturation_Row.defs.hh, src/Saturation_Row.inlines.hh,
+	  src/Variable.defs.hh, src/algorithms.hh, src/checked.cc,
+	  src/checked.defs.hh, src/checked.inlines.hh,
+	  src/checked_ext.inlines.hh, src/checked_float.inlines.hh,
+	  src/checked_int.inlines.hh, src/checked_mpq.inlines.hh,
+	  src/checked_mpz.inlines.hh, src/checked_numeric_limits.hh,
+	  src/conversion.cc, src/globals.defs.hh, src/globals.inlines.hh,
+	  src/globals.types.hh, src/mp_numeric_limits.hh,
+	  src/scalar_products.cc, src/scalar_products.defs.hh,
+	  src/scalar_products.inlines.hh, src/simplex.cc,
+	  tests/Makefile.am, tests/Random_Number_Generator.defs.hh,
+	  tests/Random_Number_Generator.inlines.hh,
+	  tests/Random_Number_Generator.types.hh, tests/ppl_test.hh,
+	  tests/BD_Shape/Makefile.am, tests/BD_Shape/geomcovers1.cc,
+	  tests/BD_Shape/maxspacedim.cc, tests/Polyhedron/Makefile.am,
+	  tests/Polyhedron/addspacedims3.cc,
+	  tests/Polyhedron/affineimage6.cc,
+	  tests/Polyhedron/bhz03widening1.cc,
+	  tests/Polyhedron/bhz03widening2.cc,
+	  tests/Polyhedron/bhz03widening3.cc,
+	  tests/Polyhedron/bhz03widening6.cc,
+	  tests/Polyhedron/exceptions1.cc, tests/Polyhedron/geomcovers1.cc,
+	  tests/Polyhedron/gramschmidt1.cc,
+	  tests/Polyhedron/gramshmidt1.cc,
+	  tests/Polyhedron/linearsystem1.cc, tests/Polyhedron/matrix1.cc,
+	  tests/Polyhedron/numberinput1.cc, utils/Makefile.am,
+	  utils/build_header, utils/build_header.in, utils/text2cxxarray,
+	  utils/text2cxxarray.in
+	  (grids.[1,1,3,3,4,3,4,1,1,1,2,2,1,2,2,1,2,2,1,3,3,1,2,2,2,2,1,2,2,2,1,2,2,3,1,2,2,2,1,2,2,2,2,1,3,3,3,3,2,2,2,4,2,3,4,2,3,2,3,2,5,2,3,1,1,1,1,2,3,2,2,2,2,2,2,2,2,2,2,2,4,4,2,2,3,2,4,4,1,1,5,2,3,2,3,3,4,3,1,7,13,2,2,3,5,5,5,4,3,2,8,3,2,3,4,1,1,4,5,7,5,3,5,5,3,2,5,2,2,2,2,2,3,3,4,5,4,4,4,3,4,3,2,3,3,1,1,1,1,1,3,3,1,1,1,12,4,1,2,8,2,2,2,2,2,2,2,2,1,2,1,1,1,2,2,1,2,1]):
+	  Fourth merge from the main trunk.
+
+2005-09-28 Wednesday 19:37  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh (1.34), Checked_Number.inlines.hh
+	  (1.39): Added input and output functions
+
+2005-09-28 Wednesday 18:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/utils/Makefile.am (1.4), utils/Makefile.am (1.10): Make
+	  sure the scripts in the `utils' subdirectory are made also at
+	  distribution time, even if they are not distributed themselves.
+
+2005-09-28 Wednesday 17:57  Matthew Mundell
+
+	* tests/Polyhedron/numberinput1.cc (1.2): In test_template add
+	  checks, including residual checks, and improve the comparison
+	  with the expected value.  Add expected residuals to all tests.
+
+2005-09-28 Wednesday 16:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.cc (1.52), Constraint.defs.hh (1.107),
+	  Generator.cc (1.65), Generator.defs.hh (1.109): According to
+	  Doxygen manual, the \relates command should name a class, whereas
+	  Constraint::Type and Generator::Type are just enums.
+
+2005-09-28 Wednesday 14:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/simplex.cc (1.20): Function compute_tableau() now directly
+	  detects trivially unbounded problems instead of leaving this
+	  simple check to the caller.  Function primal_simplex() corrected
+	  so as to return the origin point of the right space dimension
+	  when a trivial LP problem is given (fixing the bug uncovered by
+	  test primalsimplex2).
+
+2005-09-28 Wednesday 14:04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.35), primalsimplex2.cc (1.1):
+	  New test shows a (space dimension mismatch) bug in the current
+	  implementation of the simplex algorithm.
+
+2005-09-27 Tuesday 21:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/simplex.cc (1.19): Simplified function
+	  prepare_for_1st_ph_simplex(), avoiding useless copies and
+	  factoring 2nd and 3rd Row& arguments into a single Matrix&
+	  argument.  Adding slack variables all in one shot, instead of one
+	  at a time.  Simplified function first_phase() by avoiding useless
+	  matrix copies.
+
+2005-09-27 Tuesday 20:50  Matthew Mundell
+
+	* tests/Polyhedron/: Makefile.am (1.34), numberinput1.cc (1.1): Add
+	  numberinput1, a start at testing number input.
+
+2005-09-27 Tuesday 20:43  Matthew Mundell
+
+	* src/checked.cc (1.8): Really revert to revision 1.4.
+
+2005-09-27 Tuesday 12:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/simplex.cc (1.18): Removed a few useless inclusions
+	  directives.  Added many const modifiers to local variable
+	  definitions.	Function swap_base() now takes a Row& (rather than
+	  a Matrix&) as its second argument.  Avoid recomputing the same
+	  value several times (using a reference instead).  Added some
+	  missing spaces for better readability.  Function erase_slacks()
+	  heavily rewritten so as to avoid a bunch of useless matrix
+	  copies.  Restructured the doxygen comments according to
+	  STANDARDS.  In primal_simplex(), use normalize2() instead of
+	  reinventing the wheel.
+
+2005-09-27 Tuesday 12:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Constraint_System.defs.hh (1.14): Minor formatting
+	  improvement.
+
+2005-09-26 Monday 18:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/globals.defs.hh (1.24): Removed a few useless inline
+	  directives and const modifiers from function declarations.
+
+2005-09-26 Monday 18:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Linear_System.defs.hh (1.17): Removed a useless inline
+	  directive from a function declaration.
+
+2005-09-26 Monday 18:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/GMP_Integer.defs.hh (1.10): Removed many useless inline
+	  directives from function declarations.
+
+2005-09-26 Monday 18:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/globals.inlines.hh (1.12): Added a const modifier to the
+	  low_bits_mask() parameter.
+
+2005-09-26 Monday 16:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/simplex.cc (1.17): Useless using declaration removed.  A few
+	  FIXME in the comments dealt with. Comments and code still deserve
+	  a lot of work to match the PPL quality standards.
+
+2005-09-26 Monday 16:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedra_Powerset.cc (1.2), Polyhedra_Powerset.defs.hh
+	  (1.22), Polyhedra_Powerset.inlines.hh (1.27): Dealt with a couple
+	  of FIXME's in the implementation by introducing a single FIXME in
+	  the definition of the templatic class.
+
+2005-09-26 Monday 16:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BHRZ03_Certificate.cc (1.9), H79_Certificate.cc (1.8): A
+	  few FIXME's have been (properly) renamed into TODO's.
+
+2005-09-26 Monday 15:54  Matthew Mundell
+
+	* tests/Polyhedron/matrix1.cc (1.4): Correct spelling.
+
+2005-09-26 Monday 15:27  Matthew Mundell
+
+	* src/checked.defs.hh (1.24): Indent arguments to function
+	  declaration macros consistently.
+
+2005-09-26 Monday 15:24  Matthew Mundell
+
+	* tests/Polyhedron/linsysasciidumpload1.cc (1.2): Moved to
+	  linearsystem1.cc.
+
+2005-09-26 Monday 14:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/matrix1.cc (1.3): Avoid unnecessary inclusions.
+
+2005-09-26 Monday 13:44  Matthew Mundell
+
+	* tests/Polyhedron/: Makefile.am (1.33), linearsystem1.cc (1.1):
+	  Move linsysasciidumpload1 to linearsystem1.  Match linearsystem1
+	  to matrix1.
+
+2005-09-26 Monday 12:10  Matthew Mundell
+
+	* src/checked.cc (1.7): Revert to revision 1.4.
+
+2005-09-24 Saturday 22:28  Abramo Bagnara
+
+	* interfaces/Prolog/Ciao/ppl_ciao.cc (1.35), tests/Makefile.am
+	  (1.246), tests/ppl_test.hh (1.26), tests/Polyhedron/matrix1.cc
+	  (1.2): Use new random number generator class.
+
+2005-09-24 Saturday 22:22  Abramo Bagnara
+
+	* tests/: Random_Number_Generator.defs.hh (1.1),
+	  Random_Number_Generator.inlines.hh (1.1),
+	  Random_Number_Generator.types.hh (1.1): Added random number
+	  generator class.
+
+2005-09-24 Saturday 21:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_numeric_limits.hh (1.6): Class
+	  numeric_limits<Checked_Number<mp_class, Policy> now inherits from
+	  numeric_limits<mp_class> and ovverrides what must be overridden.
+
+2005-09-24 Saturday 21:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Makefile.am (1.122), mp_numeric_limits.hh (1.1): New file
+	  mp_numeric_limits.hh contains specializations of
+	  std::numeric_limits for multi-precision types.  This will become
+	  obsolete when GMP and MPFR will provide the specializations by
+	  themselves.
+
+2005-09-24 Saturday 21:25  Abramo Bagnara
+
+	* interfaces/Prolog/: Ciao/ppl_ciao.cc (1.34),
+	  GNU/ppl_gprolog_sd.cc (1.30), SICStus/ppl_sicstus_sd.cc (1.79),
+	  SWI/ppl_swiprolog.cc (1.103), XSB/ppl_xsb.cc (1.70),
+	  YAP/ppl_yap.cc (1.95): Include higher level file for Checked.
+
+2005-09-24 Saturday 18:10  Abramo Bagnara
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.45), interfaces/C/ppl_c.cc (1.138),
+	  interfaces/Prolog/ppl_prolog.icc (1.162),
+	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.33),
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.29),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.78),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.102),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.69),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.94), src/BD_Shape.inlines.hh
+	  (1.64), src/Bounding_Box.inlines.hh (1.9),
+	  src/Checked_Number.defs.hh (1.33), src/Checked_Number.inlines.hh
+	  (1.38), src/Polyhedron.inlines.hh (1.123),
+	  src/Polyhedron_nonpublic.cc (1.54), src/checked.defs.hh (1.23),
+	  src/checked.inlines.hh (1.25), src/checked_mpq.inlines.hh (1.23),
+	  src/checked_mpz.inlines.hh (1.27): Allow Checked assign functors
+	  to accept native types as To argument. Reordered memory_size
+	  functors for Checked types.
+
+2005-09-24 Saturday 09:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Checked_Number.types.hh (1.7), Coefficient.types.hh (1.8):
+	  Specializations of Coefficient_traits_template moved out from
+	  Checked_Number.types.hh, since they do not belong there.
+
+2005-09-24 Saturday 09:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron_chdims.cc (1.32), Polyhedron_public.cc (1.61),
+	  Polyhedron_widenings.cc (1.49): FIXMEs that do not involve
+	  anything that can be considered broken have been retagged TODOs.
+
+2005-09-24 Saturday 08:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.32): Take into account the
+	  restructuring of the PWL tree.
+
+2005-09-23 Friday 22:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Ciao/Makefile.am (1.46), GNU/Makefile.am
+	  (1.49), SICStus/Makefile.am (1.55), SWI/Makefile.am (1.53),
+	  XSB/Makefile.am (1.36), YAP/Makefile.am (1.40): Changed according
+	  to the restructuring of the PWL source tree.
+
+2005-09-23 Friday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/.cvsignore (1.5): Updated.
+
+2005-09-23 Friday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: Doubly_Linked_Object.defs.hh (1.4),
+	  Doubly_Linked_Object.inlines.hh (1.4),
+	  Doubly_Linked_Object.types.hh (1.3), EList.defs.hh (1.6),
+	  EList.inlines.hh (1.5), EList.types.hh (1.3),
+	  EList_Iterator.defs.hh (1.4), EList_Iterator.inlines.hh (1.5),
+	  EList_Iterator.types.hh (1.3), Handler.defs.hh (1.6),
+	  Handler.inlines.hh (1.5), Handler.types.hh (1.3), Makefile.am
+	  (1.23), Pending_Element.cc (1.4), Pending_Element.defs.hh (1.4),
+	  Pending_Element.inlines.hh (1.4), Pending_Element.types.hh (1.3),
+	  Pending_List.cc (1.4), Pending_List.defs.hh (1.4),
+	  Pending_List.inlines.hh (1.4), Pending_List.types.hh (1.3),
+	  Time.cc (1.4), Time.defs.hh (1.4), Time.inlines.hh (1.5),
+	  Time.types.hh (1.3), Watchdog.cc (1.21), Watchdog.defs.hh (1.17),
+	  Watchdog.inlines.hh (1.14), Watchdog.types.hh (1.7), configure.ac
+	  (1.32), pwl_header.hh (1.2), src/.cvsignore (1.1),
+	  src/Doubly_Linked_Object.defs.hh (1.1),
+	  src/Doubly_Linked_Object.inlines.hh (1.1),
+	  src/Doubly_Linked_Object.types.hh (1.1), src/EList.defs.hh (1.1),
+	  src/EList.inlines.hh (1.1), src/EList.types.hh (1.1),
+	  src/EList_Iterator.defs.hh (1.1), src/EList_Iterator.inlines.hh
+	  (1.1), src/EList_Iterator.types.hh (1.1), src/Handler.defs.hh
+	  (1.1), src/Handler.inlines.hh (1.1), src/Handler.types.hh (1.1),
+	  src/Makefile.am (1.1), src/Pending_Element.cc (1.1),
+	  src/Pending_Element.defs.hh (1.1), src/Pending_Element.inlines.hh
+	  (1.1), src/Pending_Element.types.hh (1.1), src/Pending_List.cc
+	  (1.1), src/Pending_List.defs.hh (1.1),
+	  src/Pending_List.inlines.hh (1.1), src/Pending_List.types.hh
+	  (1.1), src/Time.cc (1.1), src/Time.defs.hh (1.1),
+	  src/Time.inlines.hh (1.1), src/Time.types.hh (1.1),
+	  src/Watchdog.cc (1.1), src/Watchdog.defs.hh (1.1),
+	  src/Watchdog.inlines.hh (1.1), src/Watchdog.types.hh (1.1),
+	  src/pwl_header.hh (1.1): Restructured.
+
+2005-09-23 Friday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/configure.ac (1.31): Configure is no longer responsible
+	  for creating build_header.
+
+2005-09-23 Friday 19:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.186), Watchdog/utils/Makefile.am (1.3),
+	  Watchdog/utils/build_header.in (1.2), utils/Makefile.am (1.9),
+	  utils/build_header.in (1.2): Generation of utility scripts fixed.
+
+2005-09-23 Friday 16:51  Matthew Mundell
+
+	* utils/Makefile.am (1.8): Add bin_SCRIPT.  Set bin_SCRIPT to
+	  build_header, text2cxxarray and a phony target which sets the
+	  script permissions.
+
+2005-09-23 Friday 15:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.31), matasciidumpload1.cc
+	  (1.5), matrix1.cc (1.1): Test program renamed.  The matrix1.cc
+	  (and, possibly, matrix2.cc and so forth) will contain tests of
+	  some functionalities of the class Matrix (especially those that
+	  are not exercised much in an indirect way by the clients of
+	  Matrix).
+
+2005-09-23 Friday 14:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.185): Revised the warning message concerning the
+	  impossibility of propagating exceptions back from GMP.
+
+2005-09-23 Friday 14:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.33), configure.ac (1.184), Watchdog/Makefile.am
+	  (1.22), Watchdog/configure.ac (1.30), Watchdog/utils/Makefile.am
+	  (1.2), Watchdog/utils/build_header (1.2),
+	  Watchdog/utils/build_header.in (1.1),
+	  doc/devref-browse.doxyconf-latex.in (1.56),
+	  doc/devref-print.doxyconf-latex.in (1.56),
+	  doc/devref.doxyconf-html.in (1.56),
+	  doc/user-browse.doxyconf-latex.in (1.26),
+	  doc/user-print.doxyconf-latex.in (1.26),
+	  doc/user.doxyconf-html.in (1.28), src/Makefile.am (1.121),
+	  utils/Makefile.am (1.7), utils/build_header (1.2),
+	  utils/build_header.in (1.1), utils/text2cxxarray (1.3),
+	  utils/text2cxxarray.in (1.1): Allow Perl to be installed into
+	  non-standard places.
+
+2005-09-23 Friday 12:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/configure.ac (1.29): Check for Perl.
+
+2005-09-23 Friday 12:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.183): Check for Perl.
+
+2005-09-23 Friday 09:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Row.cc (1.91): Comment fixed.
+
+2005-09-23 Friday 09:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/matasciidumpload1.cc (1.4): Include <ctime>.  It
+	  does not make sense to use TEMP_INTEGER here: use Coefficient
+	  instead.  Avoid unnecessary use of macros: std::numeric_limits<T>
+	  is (must) be available for all numerical types.  Use GMP's
+	  pseudo-random numbers instead of rand().
+
+2005-09-23 Friday 08:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.182): The C header file <time.h> is subsumed by
+	  C++'s <ctime>: there is no need to check for its availability.
+
+2005-09-22 Thursday 23:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.181): `sys/time.h' was listed twice in the
+	  argument of AC_CHECK_HEADERS.  Check also for `time.h'.
+
+2005-09-22 Thursday 18:08  Matthew Mundell
+
+	* src/Polyhedron.defs.hh (1.283): Correct grammar.
+
+2005-09-22 Thursday 17:30  Matthew Mundell
+
+	* src/checked_numeric_limits.hh (1.5): Specialize numeric_limits
+	  for int and all unsigned integer native types.
+
+2005-09-22 Thursday 15:51  Matthew Mundell
+
+	* src/Grid_public.cc (grids.68): Automatically initialise con_sys
+	  and gen_sys in Grid(n,k).
+
+2005-09-22 Thursday 15:28  Matthew Mundell
+
+	* tests/Polyhedron/: Makefile.am (1.30), linsysasciidumpload1.cc
+	  (1.1): Add linsysasciidumpload1, which tests Linear_System ASCII
+	  loading.
+
+2005-09-22 Thursday 15:21  Matthew Mundell
+
+	* src/: Linear_Row.cc (1.13), Linear_Row.defs.hh (1.12),
+	  Linear_System.cc (1.26): Add methods Linear_Row::ascii_load and
+	  Linear_Row::Flags::ascii_load.  Complete
+	  Linear_System::ascii_load.
+
+2005-09-22 Thursday 14:07  Matthew Mundell
+
+	* tests/Polyhedron/matasciidumpload1.cc (1.3): Correct the
+	  numeric_limits instantiation.  Only allow valid modulation.
+
+2005-09-22 Thursday 13:09  Matthew Mundell
+
+	* tests/Polyhedron/: Makefile.am (1.29), matasciidumpload1.cc
+	  (1.2): In matasciidumpload1 limit the size of the random values
+	  according to the coefficient type and rename the data file
+	  uniquely.
+
+2005-09-21 Wednesday 19:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.153): One item completed and removed (check_containment).
+
+2005-09-21 Wednesday 19:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.158): Some of the recent changes and bugfixes announced.
+
+2005-09-21 Wednesday 19:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/BD_Shape/: Makefile.am (1.16), geomcovers1.cc (1.1): Added
+	  a new test showing that geometrically_covers() also works for
+	  powersets of BD_Shape's.
+
+2005-09-21 Wednesday 19:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Makefile.am (1.120), Polyhedra_Powerset.cc (1.1),
+	  Polyhedra_Powerset.defs.hh (1.21), Polyhedra_Powerset.inlines.hh
+	  (1.26), algorithms.hh (1.43): Added new specializations for
+	  Polyhedra_powerset mixed constructors.  Function
+	  check_containment() now works with different instantiations of
+	  Polyhedra_Powerset; the same happens for geometrically_covers()
+	  and geometrically_equals().  A few non-inline full specialization
+	  of member templates have been moved into file
+	  Polyhedra_Powerset.cc.
+
+2005-09-21 Wednesday 17:05  Matthew Mundell
+
+	* src/Linear_System.cc (1.25): Indent consistently in ascii_load.
+	  Correct typo, grammar and formatting in three comments.
+
+2005-09-21 Wednesday 16:56  Matthew Mundell
+
+	* src/: Congruence_System.defs.hh, Linear_System.cc,
+	  Congruence_System.cc (grids.[15,2,24]): Take out
+	  Congruence_System::add_row.  Replace the bulk of
+	  Linear_System::add_row with a call to Matrix::add_row.
+
+2005-09-21 Wednesday 16:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/geomcovers1.cc (1.6): Test corrected.
+
+2005-09-21 Wednesday 16:37  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/exceptions1.cc (1.7): Added a new exception
+	  check for Polyhedra_Powerset::add_disjunct().
+
+2005-09-21 Wednesday 16:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedra_Powerset.defs.hh (1.20),
+	  Polyhedra_Powerset.inlines.hh (1.25): The new method
+	  Polyhedra_Powerset::add_disjunct() now performs the required
+	  check for space dimension compatibility. The check uncovers a
+	  previously unnoticed (client) bug in Polyhedron/geomcovers1.cc.
+
+2005-09-21 Wednesday 16:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (1.152): Item:
+
+	   - In the Prolog interface there are predicates such as
+	    ppl_Polyhedron_remove_space_dimensions/2 that require an input
+	  list;
+	    if the argument is not a list, in the current version, the call
+	  to
+	    this predicate will fail. This needs to be changed so that an
+	    exception is thrown.
+
+	  removed.
+
+2005-09-21 Wednesday 16:27  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: exceptions.hh (1.17), ppl_prolog.icc (1.161),
+	  tests/pl_check.pl (1.11): All Prolog interface predicates
+	  expecting a list as input from the user now throw an exception if
+	  the list is not nil terminated.  (This could be a list of
+	  constraints, generators, intervals, dimensiona or dimension maps)
+
+	  That is interface predicates: ppl_new_Polyhedron_from_constraints
+	  ppl_new_Polyhedron_from_generators
+	  ppl_new_Polyhedron_from_bounding_box
+	  ppl_Polyhedron_add_constraints
+	  ppl_Polyhedron_add_constraints_and_minimize
+	  ppl_Polyhedron_add_generators
+	  ppl_Polyhedron_add_generators_and_minimize
+	  ppl_Polyhedron_limited_H79_extrapolation_assign
+	  ppl_Polyhedron_limited_H79_extrapolation_assign_with_token
+	  ppl_Polyhedron_bounded_H79_extrapolation_assign
+	  ppl_Polyhedron_bounded_H79_extrapolation_assign_with_token
+	  ppl_Polyhedron_limited_BHRZ03_extrapolation_assign
+	  ppl_Polyhedron_limited_BHRZ03_extrapolation_assign_with_token
+	  ppl_Polyhedron_bounded_BHRZ03_extrapolation_assign
+	  ppl_Polyhedron_bounded_BHRZ03_extrapolation_assign_with_token
+	  ppl_Polyhedron_remove_space_dimensions
+	  ppl_Polyhedron_fold_space_dimensions
+	  ppl_Polyhedron_map_space_dimensions
+
+	  class not_a_nil_terminated_list added to exception.hh.
+
+	  Code for throwing an exception added to ppl_prolog.icc Exception
+	  thrown for not nil terminating input lists for each of the above.
+	   Also indentation of code improved.
+
+	  Tests for not nil terminating list exceptions, for each of the
+	  above predicates, added to pl_check.pl.  Old tests for prolog
+	  failure when list is not nil terminated removed.  Some tests in
+	  pl_check.pl reordered.
+
+2005-09-21 Wednesday 16:18  Matthew Mundell
+
+	* src/Generator_System.cc (1.10): In
+	  adjust_topology_and_space_dimension pass to add_zero_columns the
+	  result of adding to or subtracting from cols_to_be_added, instead
+	  of an increased or decreased cols_to_be_added.
+
+2005-09-21 Wednesday 14:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.31): Out-of-date comments concerning the
+	  template parameter T removed from the documentation of class
+	  BD_Shape.
+
+2005-09-21 Wednesday 14:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.28), matasciidumpload1.cc
+	  (1.1): Test Matrix::ascii_dump() and Matrix::ascii_load().
+
+2005-09-21 Wednesday 14:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.180), tests/Makefile.am (1.245): Previous change
+	  reverted.
+
+2005-09-21 Wednesday 12:56  Matthew Mundell
+
+	* src/Generator_System.cc (1.9): Align argument indentation of
+	  affine_image.
+
+2005-09-21 Wednesday 12:49  Matthew Mundell
+
+	* configure.ac (1.179): Add tests/Matrix/Makefile to
+	  AC_CONFIG_FILES.
+
+2005-09-21 Wednesday 12:49  Matthew Mundell
+
+	* tests/Makefile.am (1.244): Add Matrix to SUBDIRS.
+
+2005-09-21 Wednesday 12:44  Matthew Mundell
+
+	* src/: Matrix.cc (1.85), Row.cc (1.90), Row.defs.hh (1.98):
+	  Complete Matrix::ascii_load.	Restore the stream attributes at
+	  the end of Row::ascii_dump.  Add ascii_load methods to Row::Flags
+	  and Row.
+
+2005-09-21 Wednesday 12:37  Matthew Mundell
+
+	* src/Constraint_System.cc (1.10): In method num_inequalities use
+	  dimension_type instead of int for temporary n.
+
+2005-09-20 Tuesday 21:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (1.151): Links in the CREDITS file checked and lists of
+	  collaborators and projects supporting the work updated. So todo
+	  item removed.
+
+2005-09-20 Tuesday 21:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (1.150): SWI 5.4.7 automatically initializes the library.
+	  So todo item for this removed.
+
+2005-09-20 Tuesday 19:39  Matthew Mundell
+
+	* configure.ac (1.178): Indent all lines with spaces in
+	  AC_CONFIG_FILES.
+
+2005-09-20 Tuesday 19:29  Matthew Mundell
+
+	* src/checked.inlines.hh (grids.4): Take a redundant assignment out
+	  of gcdext_generic.
+
+2005-09-20 Tuesday 19:29  Matthew Mundell
+
+	* src/Native_Integer.inlines.hh (grids.3): Take a redundant
+	  assignment out of gcdext.
+
+2005-09-20 Tuesday 19:28  Matthew Mundell
+
+	* src/Grid_public.cc (grids.67): Improve temporary comment.
+
+2005-09-20 Tuesday 19:27  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, boundingbox1.cc (grids.[34,1]): Add
+	  boundingbox1, which tests Grid(Box& box).
+
+2005-09-20 Tuesday 19:26  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid.inlines.hh (grids.[47,20]): Add template
+	  Grid(box, dummy).  Improve method descriptions.
+
+2005-09-20 Tuesday 15:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* CREDITS (1.19): Added Matthew Mundell as a contributor.
+
+	  Added the Royal Society project and the EPSRC project to the list
+	  of supporting projects.
+
+2005-09-20 Tuesday 13:46  Abramo Bagnara
+
+	* src/: checked_float.inlines.hh (1.43), checked_int.inlines.hh
+	  (1.38): Prepare inexact only when needed. Use new names for gcd
+	  and lcm.
+
+2005-09-20 Tuesday 13:44  Abramo Bagnara
+
+	* src/checked_ext.inlines.hh (1.21): Attempt to reduce code
+	  duplicate using explicit goto. Removed FIXME from add_mul_ext and
+	  sub_mul_ext.
+
+2005-09-20 Tuesday 13:42  Abramo Bagnara
+
+	* src/checked.inlines.hh (1.24): Removed fixme and choosen a better
+	  name for functions.
+
+2005-09-20 Tuesday 13:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Row.cc (1.89): Use the ternary version of gcd_assign() so as
+	  to gain on checked numbers.
+
+2005-09-20 Tuesday 11:00  Matthew Mundell
+
+	* src/checked.cc (1.6): In parse_number1 move the maximum remainder
+	  calculation into a variable.
+
+2005-09-20 Tuesday 09:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.60): Unwanted inclusion removed.
+
+2005-09-20 Tuesday 08:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Generator.defs.hh (1.108), Linear_Expression.defs.hh
+	  (1.11): Friend declarations fixed.
+
+2005-09-20 Tuesday 08:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/scalar_products.inlines.hh (1.4): Fixed
+	  homogeneous_scalar_product_assign(Coefficient&, const
+	  Linear_Expression&, const Generator&) and
+	  homogeneous_scalar_product_sign(const Linear_Expression&, const
+	  Generator&).
+
+2005-09-19 Monday 23:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Generator.defs.hh (1.107), Linear_Expression.defs.hh
+	  (1.10), Polyhedron_nonpublic.cc (1.53), scalar_products.defs.hh
+	  (1.3), scalar_products.inlines.hh (1.3): Another twist at
+	  reducing the dependency from friend class declarations.
+
+2005-09-19 Monday 23:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Constraint.defs.hh (1.106), Generator.defs.hh (1.106),
+	  scalar_products.defs.hh (1.2), scalar_products.inlines.hh (1.2):
+	  Computing the scalar product between a Constraint and a Generator
+	  objects no longer requires Polyhedron to be a friend of
+	  Constraint and Generator.
+
+2005-09-19 Monday 22:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Constraint.defs.hh (1.105), Constraint_System.defs.hh
+	  (1.13), Constraint_System.inlines.hh (1.5), Polyhedron.defs.hh
+	  (1.282), Polyhedron.inlines.hh (1.122), Polyhedron_nonpublic.cc
+	  (1.52): The functionality of
+	  Polyhedron::add_low_level_constraints(Constraint_System&) is now
+	  provided by Constraint_System::add_low_level_constraints().
+	  Among other things, this reduces the dependency on friend
+	  declarations.
+
+2005-09-19 Monday 21:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Row.cc (1.88): Chosen the more elegant implementation of
+	  Row::normalize() (profiling was inconclusive: they were probably
+	  equivalent).
+
+2005-09-19 Monday 21:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Constraint_System.cc (1.9), Generator_System.cc (1.8),
+	  Linear_Row.cc (1.12), Linear_Row.defs.hh (1.11),
+	  Linear_Row.inlines.hh (1.9), Linear_System.cc (1.24), Makefile.am
+	  (1.119), Polyhedron_nonpublic.cc (1.51), Polyhedron_public.cc
+	  (1.59), Polyhedron_widenings.cc (1.48), conversion.cc (1.73),
+	  scalar_products.cc (1.1), scalar_products.defs.hh (1.1),
+	  scalar_products.inlines.hh (1.1): Scalar product functions moved
+	  from Linear_Row.* to scalar_products.*.
+
+2005-09-19 Monday 20:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Linear_Row.cc (1.11): Long source line avoided.
+
+2005-09-19 Monday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Native_Integer.inlines.hh (1.13): Use memory_size_type, not
+	  size_t.
+
+2005-09-19 Monday 19:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.inlines.hh (1.37): FIXME dealt with:
+	  total_memory_in_bytes() and external_memory_in_bytes() properly
+	  implemented for checked numbers.
+
+2005-09-19 Monday 19:07  Matthew Mundell
+
+	* src/BD_Shape.defs.hh (1.30): Correct grammar in notes.
+
+2005-09-19 Monday 19:06  Matthew Mundell
+
+	* src/BD_Shape.defs.hh (1.29): Clip trailing whitespace.
+
+2005-09-19 Monday 18:55  Matthew Mundell
+
+	* src/checked.cc (1.5): In parse_number1 parse the exponent in the
+	  FRACTIONAL case.
+
+2005-09-19 Monday 17:11  Matthew Mundell
+
+	* tests/Polyhedron/affineimage6.cc (1.6): Neaten expression
+	  formatting.
+
+2005-09-19 Monday 17:11  Matthew Mundell
+
+	* tests/Polyhedron/addspacedims3.cc (1.6): Correct argument in
+	  print_generators message.
+
+2005-09-19 Monday 17:10  Matthew Mundell
+
+	* tests/Polyhedron/Makefile.am (1.27): Indent all lines in
+	  ORIGINAL_TESTS and DERIVED_TESTS with tabs.
+
+2005-09-19 Monday 17:06  Matthew Mundell
+
+	* tests/BD_Shape/Makefile.am (1.15): Clip trailing whitespace.
+
+2005-09-19 Monday 17:04  Matthew Mundell
+
+	* src/checked.cc (1.4): Use `true' to evaluate true.  Clip trailing
+	  whitespace.
+
+2005-09-19 Monday 17:03  Matthew Mundell
+
+	* src/Polyhedron_widenings.cc (1.47): Correct variable names in
+	  H79_widening_assign comments.
+
+2005-09-19 Monday 17:00  Matthew Mundell
+
+	* src/Polyhedron.defs.hh (1.281): Markup parameter in description.
+
+2005-09-19 Monday 16:56  Matthew Mundell
+
+	* src/Linear_System.defs.hh (1.16): Reformat comment.
+
+2005-09-19 Monday 16:43  Matthew Mundell
+
+	* configure.ac (1.177): Cater for the Debian dpkg version of
+	  md5sum.
+
+2005-09-19 Monday 14:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/simplex.cc (1.16): Let the parameter names in the definition
+	  of primal_simplex() match those used in its declaration.
+
+2005-09-19 Monday 14:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.21), Watchdog/ChangeLog (1.11): Updated.
+
+2005-09-19 Monday 14:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Constraint_System.defs.hh (1.12): Added documentation for
+	  Constraint_System::primal_simplex().
+
+2005-09-19 Monday 14:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.149): Updated.
+
+2005-09-19 Monday 10:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Saturation_Row.inlines.hh (1.7): Include <cassert>.
+
+2005-09-19 Monday 10:00  Matthew Mundell
+
+	* src/Native_Integer.inlines.hh (1.12): In template gcd take the
+	  absolute value of the resulting gcd instead of initially taking
+	  the absolute value of both arguments.
+
+2005-09-19 Monday 09:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Native_Integer.types.hh (1.10): Fixed struct
+	  Coefficient_traits_template<Native_Integer<int64_t>.
+
+2005-09-19 Monday 09:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.28), Bounding_Box.defs.hh (1.9),
+	  DB_Row.defs.hh (1.9), Determinate.defs.hh (1.57), Init.cc (1.20),
+	  Linear_Row.cc (1.10), Linear_System.cc (1.23), Matrix.cc (1.84),
+	  Polyhedron.defs.hh (1.280), Row.cc (1.87), Row.defs.hh (1.97),
+	  conversion.cc (1.72), globals.cc (1.23): Include globals.types.hh
+	  or globals.defs.hh or none of them as required.
+
+2005-09-19 Monday 09:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/GMP_Integer.defs.hh (1.9): Doxygen comments and sectioning
+	  revised.
+
+2005-09-19 Monday 08:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Ask_Tell.defs.hh (1.6), BD_Shape.defs.hh (1.27),
+	  BHRZ03_Certificate.defs.hh (1.12), Bounding_Box.defs.hh (1.8),
+	  DB_Row.defs.hh (1.8), Determinate.defs.hh (1.56),
+	  GMP_Integer.defs.hh (1.8), GMP_Integer.inlines.hh (1.6),
+	  H79_Certificate.defs.hh (1.11), Init.cc (1.19), Linear_Row.cc
+	  (1.9), Linear_System.cc (1.22), Makefile.am (1.118), Matrix.cc
+	  (1.83), Matrix.inlines.hh (1.45), Polyhedra_Powerset.defs.hh
+	  (1.19), Polyhedron.defs.hh (1.279), Row.cc (1.86), Row.defs.hh
+	  (1.96), Saturation_Matrix.cc (1.5), Saturation_Row.defs.hh (1.7),
+	  Variable.defs.hh (1.47), conversion.cc (1.71), globals.cc (1.22),
+	  globals.defs.hh (1.23), globals.types.hh (1.1), simplex.cc
+	  (1.15): Memory size inspection functions and methods should
+	  always return a memory_size_type.  Header file global.types.hh
+	  split from global.defs.hh.  Only include global.types.hh when
+	  possible.
+
+2005-09-19 Monday 07:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.inlines.hh (1.63), Checked_Number.defs.hh (1.32),
+	  GMP_Integer.defs.hh (1.7), Native_Integer.defs.hh (1.12): Added a
+	  couple of blank lines to improve readability.
+
+2005-09-18 Sunday 22:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.62): Use raw_value() to turn a
+	  Coefficient into its underlying type.
+
+2005-09-18 Sunday 22:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Native_Integer.inlines.hh (1.11): Avoid a "unused parameter"
+	  warning.
+
+2005-09-18 Sunday 22:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.61): Avoid excessive assumptions on
+	  the nature of the Coefficient type.
+
+2005-09-18 Sunday 21:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_chdims.cc (1.31): Three FIXMEs investigated and
+	  removed.
+
+2005-09-18 Sunday 20:00  Matthew Mundell
+
+	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh
+	  (grids.[3,3]): Add macros FUNC4, DEF_ASSIGN_FUN5_4 and
+	  DEF_ASSIGN_FUN5_5.  Add function assign_gcdext and the
+	  gcdext_assign user interface functions.
+
+2005-09-18 Sunday 19:55  Matthew Mundell
+
+	* src/: checked.defs.hh, checked.inlines.hh, checked_ext.defs.hh,
+	  checked_ext.inlines.hh, checked_float.inlines.hh,
+	  checked_int.inlines.hh, checked_mpz.inlines.hh
+	  (grids.[3,3,3,3,3,3,3]): Add macros DECLARE_FUN5_0_1,
+	  SPECIALIZE_FUN5_0_1 and SPECIALIZE_GCDEXT.  Add template
+	  gcdext_generic.  Specialize gcdext_generic for integers and
+	  floats.  Add wrapper gcdext_ext.  Add and specialize wrapper
+	  gcdext_mpz.
+
+2005-09-18 Sunday 19:40  Matthew Mundell
+
+	* tests/Grid/addcongruence1.cc (grids.5): Only call find_variation
+	  on the grid under test.
+
+2005-09-18 Sunday 19:39  Matthew Mundell
+
+	* tests/print.cc (grids.4): Include Congruence_System definitions.
+
+2005-09-18 Sunday 19:38  Matthew Mundell
+
+	* src/: Native_Integer.defs.hh, Native_Integer.inlines.hh
+	  (grids.[2,2]): Add gcdext_assign methods.  "Use" the parameter in
+	  external_memory_in_bytes.
+
+2005-09-18 Sunday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Native_Integer.types.hh (1.9): The specializations of
+	  Coefficient_traits_template for native integers are now
+	  differentiated the same way as for checked integers.
+
+2005-09-18 Sunday 18:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Checked_Number.types.hh (1.6), Coefficient.types.hh (1.7),
+	  GMP_Integer.types.hh (1.8), Native_Integer.types.hh (1.8): Treat
+	  the three basic coefficient types (GMP, checked and native) the
+	  same way, as far as the specialization of
+	  Coefficient_traits_template is concerned.
+
+2005-09-18 Sunday 10:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS (1.18), TODO (1.148): Two links fixed.  All the others
+	  need to be checked.
+
+2005-09-17 Saturday 18:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Row.cc (1.85): Added an alternative implementation for
+	  Row::normalize() that should be more efficient than the present
+	  one.
+
+2005-09-17 Saturday 08:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Row.cc (1.84): Row::normalize() speeded-up further.
+
+2005-09-16 Friday 21:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_pchk_int64_a (1.2): Adapted to
+	  the recent changes in pl_check.pl.
+
+2005-09-16 Friday 19:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Row.cc (1.83): Row::normalize() speeded up.
+
+2005-09-16 Friday 17:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/simplex.cc (1.14): Reduced the scope of a using declaration.
+
+2005-09-16 Friday 17:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/simplex.cc (1.13): Avoid duplicating code in order to
+	  normalize a Row object.
+
+2005-09-16 Friday 17:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Linear_Row.cc (1.8), Linear_Row.defs.hh (1.10), Row.cc
+	  (1.82), Row.defs.hh (1.95): The normalize() method has been moved
+	  from Linear_Row to its base class Row.
+
+2005-09-16 Friday 12:16  Abramo Bagnara
+
+	* src/checked.inlines.hh (1.23): Removed unneeded checks.
+
+2005-09-16 Friday 09:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Linear_System.cc (1.21), src/Linear_System.defs.hh (1.15),
+	  tests/Polyhedron/gramschmidt1.cc (1.1),
+	  tests/Polyhedron/gramshmidt1.cc (1.2): Spelling correction: it is
+	  "Gram-Schmidt" (the orthonormalization procedure), not
+	  "Gram-Shmidt".
+
+2005-09-16 Friday 06:43  Abramo Bagnara
+
+	* src/: Bounding_Box.inlines.hh (1.8), Polyhedron.inlines.hh
+	  (1.121): Fixed mpq building from arbitrary coefficient type.
+
+2005-09-15 Thursday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: XSB/expected3_int16 (1.2),
+	  XSB/expected3_int32 (1.2), XSB/expected3_int8 (1.2),
+	  tests/expected_pchk_int16 (1.2), tests/expected_pchk_int32 (1.2),
+	  tests/expected_pchk_int8 (1.2): Adapted to the recent changes in
+	  pl_check.pl.
+
+2005-09-15 Thursday 22:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_pchk_int8_a (1.2): Adapted to
+	  the recent changes in pl_check.pl.
+
+2005-09-15 Thursday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_pchk_int32_a (1.2): Adapted to
+	  the recent changes in pl_check.pl.
+
+2005-09-15 Thursday 18:21  Abramo Bagnara
+
+	* src/checked.inlines.hh (1.22): Faster and more precise
+	  implementation of gcd.
+
+2005-09-13 Tuesday 19:21  Matthew Mundell
+
+	* tests/Polyhedron/Makefile.am (grids.7): Add derived tests for the
+	  congruence adding tests.
+
+2005-09-13 Tuesday 19:21  Matthew Mundell
+
+	* tests/Polyhedron/addcongruence2.cc (grids.2): Use C_Polyhedron
+	  instead of NNC_Polyhedron.
+
+2005-09-13 Tuesday 18:57  Matthew Mundell
+
+	* tests/Polyhedron/: Makefile.am, congruences1.cc (grids.[6,1]):
+	  Add test congruences1 and derived test nnc_congruences1, which
+	  test the polyhedra congruence constructors.
+
+2005-09-13 Tuesday 18:55  Matthew Mundell
+
+	* src/: C_Polyhedron.cc, C_Polyhedron.defs.hh, NNC_Polyhedron.cc,
+	  NNC_Polyhedron.defs.hh (grids.[3,3,3,3]): Add C_Polyhedron(const
+	  cgs), C_Polyhedron(cgs), NNC_Polyhedron(const cgs) and
+	  NNC_Polyhedron(cgs).
+
+2005-09-13 Tuesday 17:43  Matthew Mundell
+
+	* tests/Polyhedron/: Makefile.am, addcongruences1.cc,
+	  addcongruences2.cc, addcongruences3.cc, addcongruences4.cc,
+	  addcongruences5.cc (grids.[5,1,1,1,1,1]): Add addcongruences1-5.
+
+2005-09-13 Tuesday 17:41  Matthew Mundell
+
+	* tests/: print.cc, print.hh (grids.[3,6]): Add
+	  print_constraints(cgs).
+
+2005-09-13 Tuesday 17:41  Matthew Mundell
+
+	* src/: Polyhedron.defs.hh, Polyhedron_nonpublic.cc,
+	  Polyhedron_public.cc (grids.[6,4,4]): Add
+	  throw_dimension_incompatible(m, cgs_name, cgs) and
+	  add_congruences(cgs).
+
+2005-09-13 Tuesday 17:39  Matthew Mundell
+
+	* src/Grid_public.cc (grids.66): In add_constraints(cs) only add
+	  cgs to the grid if congruences have been inserted into cgs.
+
+2005-09-13 Tuesday 17:37  Matthew Mundell
+
+	* src/Grid.defs.hh (grids.46): Correct two descriptions.
+
+2005-09-13 Tuesday 15:56  Matthew Mundell
+
+	* tests/Polyhedron/: Makefile.am, addcongruence1.cc,
+	  addcongruence2.cc, addcongruence3.cc, addcongruence4.cc,
+	  addcongruence5.cc (grids.[4,1,1,1,1,1]): Add addcongruence1-5.
+
+2005-09-13 Tuesday 15:54  Matthew Mundell
+
+	* tests/Grid/Makefile.am (grids.33): List related tests in TESTS on
+	  single lines.
+
+2005-09-13 Tuesday 15:52  Matthew Mundell
+
+	* src/: Polyhedron.defs.hh, Polyhedron_nonpublic.cc,
+	  Polyhedron_public.cc (grids.[5,3,3]): Add
+	  throw_dimension_incompatible(method, cg_name, cg) and
+	  add_congruence(cg).
+
+2005-09-13 Tuesday 15:51  Matthew Mundell
+
+	* src/Congruence.defs.hh (grids.20): Declare Polyhedron a friend.
+
+2005-09-13 Tuesday 15:46  Matthew Mundell
+
+	* src/: Constraint.cc, Constraint.defs.hh (grids.[3,4]): Add
+	  ascii_dump(s).
+
+2005-09-13 Tuesday 15:44  Matthew Mundell
+
+	* src/: Congruence.cc, Congruence.inlines.hh (grids.[11,15]): Make
+	  Congruence(c) a real function (was inline).
+
+2005-09-13 Tuesday 15:43  Matthew Mundell
+
+	* src/Grid.defs.hh (grids.45): Use \brief on a line of its own.
+	  Prefer //! to \brief for single line comments.
+
+2005-09-13 Tuesday 15:41  Matthew Mundell
+
+	* tests/Grid/addconstraints1.cc (grids.5): Add test7 (adds an NNC
+	  constraint).
+
+2005-09-12 Monday 16:17  Matthew Mundell
+
+	* STANDARDS (1.23): Add coding standard entries for negation and
+	  comparison to zero.
+
+2005-09-12 Monday 14:29  Matthew Mundell
+
+	* tests/Grid/certificate1.cc (grids.3): Correct an error message in
+	  test3.  Add test6, which uses zero dimension universes.
+
+2005-09-12 Monday 14:28  Matthew Mundell
+
+	* src/Grid_Certificate.cc (grids.3): In Grid_Certificate(cgr)
+	  handle the zero dimension universe specially, and improve three
+	  comments.
+
+2005-09-12 Monday 14:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: XSB/expected3_int16_a (1.2),
+	  tests/expected_pchk_int16_a (1.2): Adapted to the recent changes
+	  in pl_check.pl.
+
+2005-09-11 Sunday 22:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/maxspacedim.cc (1.7): Pass the right parameters to
+	  the BD_Shape template class.
+
+2005-09-11 Sunday 22:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ppl_test.hh (1.25): Pass the right parameters to the
+	  BD_Shape template class.
+
+2005-09-11 Sunday 21:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.26), BD_Shape.inlines.hh (1.60): Life
+	  of the user of BD_Shape is now simpler, as he can specify a
+	  BD_Shape by providing the base numerical type used to represent
+	  the inhomogeneous terms.
+
+2005-09-11 Sunday 11:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl (1.10): Improved error and
+	  exception messages.  Try and ensure that regardless of the error
+	  or exception, an informative message detailing the group test and
+	  the predicates it is testing is printed.
+
+	  An extra noisy level added (noisy(2) for debugging (set by the
+	  predicate make_extra_noisy).
+
+	  check_all now is quiet only as a default and does not change
+	  existing noisy level.
+
+	  Avoiding abbreviations in group names to improve readability.
+
+	  Made three groups for testing the constructor predicates instead
+	  of one.  Simplified test for new_Polyhedron_from_space_dimension.
+
+	  Added tests for
+	  ppl_Polyhedron_generalized_affine_preimage_lhs_rhs.
+
+	  Improved tests  for ppl_Polyhedron_maximize_with_point and
+	  ppl_Polyhedron_minimize_with_point to correct behaviour on
+	  failure.
+
+2005-09-11 Sunday 10:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedra_Powerset.defs.hh (1.18),
+	  src/Polyhedra_Powerset.inlines.hh (1.24),
+	  tests/Polyhedron/bhz03widening1.cc (1.6),
+	  tests/Polyhedron/bhz03widening2.cc (1.6),
+	  tests/Polyhedron/bhz03widening3.cc (1.6),
+	  tests/Polyhedron/bhz03widening6.cc (1.6): Removed the shorthand
+	  notation for
+	  Polyhedra_Powerset::BHZ03_widening_assing<BHRZ03_Certificate>(...).
+	  Now the user should always explicitly mention the (type of)
+	  certificate used for the base-level widening operator.
+
+2005-09-10 Saturday 23:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* instchk.hh (1.2): Description and copyright notice added.
+
+2005-09-10 Saturday 23:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_mpz.inlines.hh (1.26): Avoid assert(0) and make sure
+	  the compiler does not think we are returning without a value.
+
+2005-09-10 Saturday 23:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_int.inlines.hh (1.37): Avoid naming unused arguments.
+
+2005-09-10 Saturday 23:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_float.inlines.hh (1.42): FIXME added.
+
+2005-09-10 Saturday 12:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.176), instchk.hh (1.1): Started the
+	  implementation of the --enable-instances option.
+
+2005-09-08 Thursday 14:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.175): Better logic to handle interfaces that are
+	  enabled by default.
+
+2005-09-08 Thursday 01:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.174), Watchdog/configure.ac (1.28): Allow the
+	  specification of --enable-optimization=zero to temporarily get
+	  around bugs such as the one affecting Intel C/C++ 9.0.25 under
+	  Fedora Core 4.
+
+2005-09-08 Thursday 01:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.173), interfaces/Prolog/Ciao/Makefile.am (1.45),
+	  interfaces/Prolog/GNU/Makefile.am (1.48),
+	  interfaces/Prolog/SICStus/Makefile.am (1.54),
+	  interfaces/Prolog/SWI/Makefile.am (1.52),
+	  interfaces/Prolog/XSB/Makefile.am (1.35),
+	  interfaces/Prolog/YAP/Makefile.am (1.39): Allow to selectively
+	  enable the construction of the Prolog interfaces.
+
+2005-09-07 Wednesday 23:37  Matthew Mundell
+
+	* src/Grid_Certificate.cc (grids.2): In Grid_Certificate(cgr) call
+	  simplify outside the points assertion.
+
+2005-09-07 Wednesday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_swi_prolog.m4 (1.4): Only set `have_swi_prolog' and
+	  leave it to the caller to decide whether define an Automake
+	  conditional and which one.
+
+2005-09-07 Wednesday 08:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.172): Started implementing the new
+	  `--enable-interfaces' option.
+
+2005-09-06 Tuesday 16:24  Matthew Mundell
+
+	* tests/Grid/widening1.cc (grids.5): Add test15, to show problems
+	  with using the Halbwachs method.
+
+2005-09-06 Tuesday 16:23  Matthew Mundell
+
+	* src/Grid_widenings.cc (grids.4): Add space between sentences.
+
+2005-09-06 Tuesday 15:27  Matthew Mundell
+
+	* tests/Grid/certificate1.cc (grids.2): Use compare(gr) or struct
+	  Compare::operator() instead of compare(grc) in some of the
+	  comparison tests.  Also test is_stabilising in some of the tests.
+
+2005-09-06 Tuesday 15:00  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, certificate1.cc (grids.[32,1]): Add
+	  certificate1, which tests class Grid_Certificate.
+
+2005-09-06 Tuesday 13:19  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, contains2.cc (grids.[31,1]): Add
+	  contains2, which tests strictly_contains.
+
+2005-09-06 Tuesday 13:19  Matthew Mundell
+
+	* tests/Grid/contains1.cc (grids.2): Improve failure messages.
+
+2005-09-06 Tuesday 13:07  Matthew Mundell
+
+	* tests/Grid/bhz03widening1.cc (grids.2): Describe test1.  Add
+	  test2, where the widening falls back to joining the grids.
+
+2005-09-05 Monday 23:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Widening_Function.defs.hh, Widening_Function.inlines.hh,
+	  Widening_Function.types.hh (grids.[2,2,1]): Ported from the main
+	  trunk: the version of widen_fun_ref() building a limited widening
+	  function is now parametric on its second argument too (i.e., the
+	  limiting cs).
+
+2005-09-05 Monday 22:51  Matthew Mundell
+
+	* tests/Grid/congruence1.cc (grids.6): Add colons to messages.
+
+2005-09-05 Monday 22:50  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, bhz03widening1.cc (grids.[30,1]): Add
+	  an initial bhz03widening1.
+
+2005-09-05 Monday 22:49  Matthew Mundell
+
+	* src/: Polyhedra_Powerset.inlines.hh, Polyhedron.defs.hh,
+	  Polyhedron.inlines.hh (grids.[4,4,4]): Add method
+	  Polyhedron::difference_assign, and use it in
+	  BHZ03_widening_assign (shadowing the trunk).
+
+2005-09-05 Monday 22:37  Matthew Mundell
+
+	* src/Grid_nonpublic.cc (grids.32): Shorten two comments.
+
+2005-09-05 Monday 22:37  Matthew Mundell
+
+	* src/: Congruence_System.defs.hh, Generator_System.defs.hh,
+	  Grid.defs.hh, Grid.inlines.hh (grids.[14,5,44,19]): Befriend
+	  Grid_Certificate where necessary.  Enable
+	  Grid::strictly_contains.  Add difference_assign.
+
+2005-09-05 Monday 22:34  Matthew Mundell
+
+	* src/: Grid_Certificate.cc, Grid_Certificate.defs.hh,
+	  Grid_Certificate.inlines.hh, Grid_Certificate.types.hh,
+	  Makefile.am (grids.[1,1,1,1,7]): Add class Grid_Certificate.
+
+2005-09-05 Monday 17:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedra_Powerset.inlines.hh (1.23), Polyhedron.defs.hh
+	  (1.278), Polyhedron.inlines.hh (1.120): Added method
+	  difference_assign(), which is now used in the widening on
+	  powersets.
+
+2005-09-05 Monday 11:15  Matthew Mundell
+
+	* src/Grid_public.cc (grids.65): In relation_with(cg) use the
+	  scalar_product_assign that expects cg to be at most the size of
+	  the generator.
+
+2005-09-05 Monday 11:13  Matthew Mundell
+
+	* src/: Congruence.cc, Congruence.defs.hh (grids.[10,19]): Add
+	  scalar_product_assign(Coefficient&, const Congruence&, const
+	  Linear_Row&).
+
+2005-09-05 Monday 10:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Widening_Function.defs.hh (1.12),
+	  Widening_Function.inlines.hh (1.11), Widening_Function.types.hh
+	  (1.3): The version of widen_fun_ref() building a limited widening
+	  function is now parametric on its second argument too (i.e., the
+	  limiting cs).
+
+2005-09-04 Sunday 23:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked.inlines.hh (1.21): Workaround and FIXME added for the
+	  bug affecting lcm_generic().
+
+2005-09-04 Sunday 23:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/conversion.cc (1.70): FIXME dealt with.
+
+2005-09-04 Sunday 21:05  Matthew Mundell
+
+	* tests/Grid/: join1.cc, join2.cc (grids.[8,4]): Use common
+	  Variables for all the tests.	Only call find_variation for the
+	  grid under test.
+
+2005-09-04 Sunday 21:04  Matthew Mundell
+
+	* tests/Grid/generalizedaffinepreimage1.cc (grids.4): Correct the
+	  known grids in test3, test4 and test5.
+
+2005-09-04 Sunday 21:03  Matthew Mundell
+
+	* tests/Grid/affinepreimage1.cc (grids.4): Note which second grid
+	  is under test in failure messages.  Correct the known grid and
+	  given variable in test13.
+
+2005-09-04 Sunday 20:58  Matthew Mundell
+
+	* tests/Grid/addconstraints1.cc (grids.4): Comment the end of the
+	  namespace block.
+
+2005-09-04 Sunday 20:57  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, contains1.cc, join3.cc
+	  (grids.[29,1,1]): Add contains1, including a test for the
+	  is_included_in error found via CHINA.  Add join3, which tests
+	  join_assign_if_exact.
+
+2005-09-04 Sunday 20:52  Matthew Mundell
+
+	* src/Grid_public.cc (grids.64): Implement join_assign_if_exact.
+
+2005-09-04 Sunday 19:35  Matthew Mundell
+
+	* src/Grid_nonpublic.cc (grids.31): In is_included_in check that
+	  all generators (including the first one) satisfy the congruences.
+
+2005-09-04 Sunday 00:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Congruence.defs.hh, Congruence.inlines.hh (grids.[18,14]):
+	  Avoid returning references to temporaries.
+
+2005-09-04 Sunday 00:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Saturation_Row.cc (1.8): FIXME dealt with.
+
+2005-09-03 Saturday 23:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/: Makefile.am, bug1.cc, bug1.dat (grids.[28,4,4]):
+	  Obsolete test program removed.
+
+2005-09-03 Saturday 23:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: NNC_Polyhedron.inlines.hh (grids.2),
+	  NNC_Polyhedron.inlines.hh (1.30): Added the implementation of
+	  NNC_Polyhedron::upper_bound_assign_if_exact(const
+	  NNC_Polyhedron&).
+
+2005-09-03 Saturday 13:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Determinate.defs.hh, Determinate.inlines.hh,
+	  Polyhedra_Powerset.defs.hh, Polyhedra_Powerset.inlines.hh
+	  (grids.[2,3,3,3]): Added constructors taking congruence systems.
+
+2005-09-03 Saturday 13:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c, interfaces/C/ppl_c.cc,
+	  interfaces/C/ppl_c.h.in, interfaces/Prolog/ppl_prolog.icc,
+	  interfaces/Prolog/Ciao/Makefile.am, src/BD_Shape.defs.hh,
+	  src/BD_Shape.inlines.hh, src/C_Polyhedron.cc,
+	  src/C_Polyhedron.defs.hh, src/C_Polyhedron.inlines.hh,
+	  src/Constraint_System.defs.hh, src/Determinate.inlines.hh,
+	  src/NNC_Polyhedron.cc, src/NNC_Polyhedron.defs.hh,
+	  src/Polyhedra_Powerset.defs.hh,
+	  src/Polyhedra_Powerset.inlines.hh, src/Polyhedron.defs.hh,
+	  src/Polyhedron.inlines.hh, src/Polyhedron_nonpublic.cc,
+	  src/Powerset.inlines.hh, src/algorithms.hh, src/simplex.cc,
+	  tests/BD_Shape/Makefile.am, tests/BD_Shape/bdshull1.cc,
+	  tests/BD_Shape/bdshull2.cc, tests/BD_Shape/bdshull3.cc,
+	  tests/BD_Shape/bdshull4.cc, tests/BD_Shape/cc76extrapolation2.cc,
+	  tests/BD_Shape/cc76extrapolation6.cc,
+	  tests/BD_Shape/ch78widening6.cc, tests/BD_Shape/exceptions1.cc,
+	  tests/BD_Shape/polyhull1.cc, tests/BD_Shape/polyhull2.cc,
+	  tests/BD_Shape/polyhull3.cc, tests/BD_Shape/polyhull4.cc,
+	  tests/Polyhedron/Makefile.am, tests/Polyhedron/max_min1.cc,
+	  tests/Polyhedron/max_min2.cc, tests/Polyhedron/primalsimplex1.cc
+	  (grids.[3,3,3,2,3,3,3,2,2,2,2,2,2,2,2,2,3,3,2,2,2,2,3,1,1,1,1,2,2,2,3,2,2,2,2,3,2,2,1]):
+	  Third merge from main trunk.
+
+2005-09-03 Saturday 13:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Powerset.inlines.hh (1.12): Output function fixed.
+
+2005-09-03 Saturday 13:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Powerset.inlines.hh (1.11): Bracketing fixed in
+	  operator<<(std::ostream&, const Powerset<CS>&).
+
+2005-09-03 Saturday 13:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Determinate.inlines.hh (1.50): Do not refer to
+	  element().poly_hull_assign(): refer to
+	  element().upper_bound_assign() instead.
+
+2005-09-03 Saturday 12:47  Matthew Mundell
+
+	* src/: Congruence_System.inlines.hh, Grid_Status.cc,
+	  Grid_conversion.cc, Grid_nonpublic.cc (grids.[6,3,19,30]): Update
+	  FSF address.
+
+2005-09-03 Saturday 12:46  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid.inlines.hh, Grid_public.cc
+	  (grids.[43,18,63]): Add methods upper_bound_assign,
+	  join_assign_if_exact and upper_bound_assign_if_exact.
+
+2005-09-03 Saturday 12:44  Matthew Mundell
+
+	* tests/Grid/join1.cc (grids.7): Use upper_bound_assign in some of
+	  the tests.
+
+2005-09-03 Saturday 12:44  Matthew Mundell
+
+	* tests/Grid/addconstraints1.cc (grids.3): Update FSF address.
+
+2005-09-03 Saturday 12:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.25), BD_Shape.inlines.hh (1.59): Added
+	  declarations and dummy implementations for method bool
+	  BD_Shape<T>::bds_hull_assign_if_exact(const BD_Shape&) and its
+	  alias bool BD_Shape<T>::upper_bound_assign_if_exact(const
+	  BD_Shape&).
+
+2005-09-03 Saturday 12:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: C_Polyhedron.defs.hh (1.37), NNC_Polyhedron.defs.hh (1.39):
+	  Comments fixed and completed.
+
+2005-09-03 Saturday 12:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: C_Polyhedron.defs.hh (1.36), NNC_Polyhedron.defs.hh (1.38):
+	  Comments fixed.
+
+2005-09-03 Saturday 12:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: C_Polyhedron.defs.hh (1.35), C_Polyhedron.inlines.hh
+	  (1.28), NNC_Polyhedron.cc (1.16), NNC_Polyhedron.defs.hh (1.37):
+	  Be consistent in the choice of parameters' names.
+
+2005-09-03 Saturday 12:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedra_Powerset.inlines.hh (1.22): Use the
+	  PH::upper_bound_assign_if_exact() method and not the function
+	  with the same name.
+
+2005-09-03 Saturday 12:07  Matthew Mundell
+
+	* tests/Grid/: addcongruence1.cc, addgenerator1.cc,
+	  addspacedims1.cc, addspacedims2.cc, affineimage1.cc,
+	  affinepreimage1.cc, bug1.cc, concatenate1.cc, congruence1.cc,
+	  congruencesystem1.cc, congruencesystem2.cc, equals1.cc,
+	  expandspacedim1.cc, foldspacedims1.cc,
+	  generalizedaffineimage1.cc, generalizedaffineimage2.cc,
+	  generalizedaffinepreimage1.cc, generalizedaffinepreimage2.cc,
+	  grid1.cc, grid2.cc, griddifference1.cc, intersection1.cc,
+	  intersection2.cc, isuniverse1.cc, join1.cc, join2.cc,
+	  limitedextrapolation1.cc, mapspacedims1.cc, relations1.cc,
+	  relations2.cc, removespacedims1.cc, removespacedims2.cc,
+	  timeelapse1.cc, widening1.cc, writecongruencesystem.cc
+	  (grids.[4,10,8,5,4,3,3,2,5,6,6,2,4,3,3,4,3,3,20,16,5,4,5,3,6,3,3,9,3,5,5,4,3,4,5]):
+	  Update FSF address.
+
+2005-09-03 Saturday 12:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: C_Polyhedron.cc (1.16), C_Polyhedron.defs.hh (1.34),
+	  C_Polyhedron.inlines.hh (1.27), NNC_Polyhedron.cc (1.15),
+	  NNC_Polyhedron.defs.hh (1.36), algorithms.hh (1.42): New methods
+	  bool C_Polyhedron::poly_hull_assign_if_exact(const C_Polyhedron&)
+	  and bool NNC_Polyhedron::poly_hull_assign_if_exact(const
+	  NNC_Polyhedron&) and their synonyms bool
+	  C_Polyhedron::upper_bound_assign_if_exact(const C_Polyhedron&)
+	  and bool NNC_Polyhedron::upper_bound_assign_if_exact(const
+	  NNC_Polyhedron&).
+
+2005-09-03 Saturday 11:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.277): Long source line avoided.
+
+2005-09-03 Saturday 11:53  Matthew Mundell
+
+	* src/: Congruence.cc, Congruence.defs.hh, Congruence.inlines.hh,
+	  Congruence_System.cc, Congruence_System.defs.hh, Grid.defs.hh,
+	  Grid.inlines.hh, Grid_Status.idefs.hh, Grid_Status.inlines.hh,
+	  Grid_chdims.cc, Grid_minimize.cc, Grid_public.cc,
+	  Grid_simplify.cc, Grid_widenings.cc
+	  (grids.[9,17,13,23,13,42,17,3,2,17,17,62,30,3]): Update FSF
+	  address.
+
+2005-09-03 Saturday 11:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: max_min1.cc (1.5), max_min2.cc (1.5): Adapted
+	  so as to use the new interfaces for maximize() and minimize().
+
+2005-09-03 Saturday 11:18  Matthew Mundell
+
+	* tests/Grid/writecongruencesystem.cc (grids.4): Use a single equal
+	  sign in the expected output string.
+
+2005-09-03 Saturday 11:17  Matthew Mundell
+
+	* tests/Grid/: addcongruence1.cc, addgenerator1.cc,
+	  affineimage1.cc, affinepreimage1.cc, expandspacedim1.cc,
+	  foldspacedims1.cc, generalizedaffineimage1.cc,
+	  generalizedaffineimage2.cc, generalizedaffinepreimage1.cc,
+	  generalizedaffinepreimage2.cc, grid1.cc, grid2.cc,
+	  griddifference1.cc, intersection1.cc, intersection2.cc,
+	  limitedextrapolation1.cc, mapspacedims1.cc, relations1.cc,
+	  relations2.cc, timeelapse1.cc, widening1.cc
+	  (grids.[3,9,3,2,3,2,2,3,2,2,19,15,4,3,4,2,8,2,4,2,3]): Use the
+	  new Degenerate_Element kinds.
+
+2005-09-03 Saturday 11:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedra_Powerset.inlines.hh (1.21): Refer to
+	  "upper_bound_assign" methods rather than "poly_hull_assign" ones.
+	  Corrected several instances were the
+	  `Determinate<PH>::element()' accessor was not used.
+
+2005-09-03 Saturday 11:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedra_Powerset.defs.hh (1.17): New typedef `element_type'
+	  corresponding to the type of the underlying numeric domain.
+
+2005-09-03 Saturday 10:53  Matthew Mundell
+
+	* tests/Grid/addconstraints1.cc (grids.2): Dump grids on error.
+	  Test Grid(ccs).  Add tests where the resulting grid is empty.
+
+2005-09-03 Saturday 10:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.24), src/BD_Shape.inlines.hh (1.58),
+	  tests/BD_Shape/Makefile.am (1.14), tests/BD_Shape/bdshull1.cc
+	  (1.1), tests/BD_Shape/bdshull2.cc (1.1),
+	  tests/BD_Shape/bdshull3.cc (1.1), tests/BD_Shape/bdshull4.cc
+	  (1.1), tests/BD_Shape/cc76extrapolation2.cc (1.5),
+	  tests/BD_Shape/cc76extrapolation6.cc (1.6),
+	  tests/BD_Shape/ch78widening6.cc (1.6),
+	  tests/BD_Shape/exceptions1.cc (1.6), tests/BD_Shape/polyhull1.cc
+	  (1.5), tests/BD_Shape/polyhull2.cc (1.5),
+	  tests/BD_Shape/polyhull3.cc (1.5), tests/BD_Shape/polyhull4.cc
+	  (1.5): Methods BD_Shape::poly_hull_assign* renamed
+	  bds_hull_assign*.  New method void upper_bound_assign(const
+	  BD_Shape<T>& y) is the same as bds_hull_assign(y).
+
+2005-09-03 Saturday 10:51  Matthew Mundell
+
+	* src/Grid_public.cc (grids.61): In Grid(ccs) ensure that the grid
+	  is the same dimension as ccs.
+
+2005-09-03 Saturday 10:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh (1.276), Polyhedron.inlines.hh (1.119):
+	  New method void upper_bound_assign(const Polyhedron& y) is the
+	  same as poly_hull_assign(y).
+
+2005-09-03 Saturday 10:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.18): Corrected to match the new
+	  specifications for Polyhedron::maximize(), Polyhedron::minimize()
+	  and Constraint_System::primal_simplex().  Also corrected a memory
+	  leak bug.
+
+2005-09-03 Saturday 10:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/: C/ppl_c.cc (1.137), C/ppl_c.h.in (1.52),
+	  Prolog/ppl_prolog.icc (1.160): Interfaces updated to match the
+	  new specifications of Polyhedron::maximize(),
+	  Polyhedron::minimize() and Constraint_System::primal_simplex().
+
+2005-09-03 Saturday 10:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.inlines.hh (1.57), Constraint_System.defs.hh
+	  (1.11), Polyhedron.defs.hh (1.275), Polyhedron.inlines.hh
+	  (1.118), Polyhedron_nonpublic.cc (1.50), simplex.cc (1.12):
+	  Corrected a bug in the implementation of
+	  Constraint_System::primal_simplex() whereby a feasible solution
+	  was claimed even for inconsistent constraint systems. Added
+	  private method   Simplex_Status
+	  Constraint_System::primal_simplex(obj, gen) that maximizes obj on
+	  the low-level polyhedron (i.e., the eps-polyhedron if topology is
+	  NNC) encoded by the constraint system.  New method used to
+	  correct a bug in the implementation of
+	  Polyhedron::minimized_constraints() whereby the constraint system
+	  could have been marked minimized even if it was not.	Simplified
+	  the interfaces of methods   Polyhedron::minimize(),
+	  Polyhedron::maximize(),   Constraint_System::primal_simplex() by
+	  avoiding memory-leakage prone parameter passing.
+
+2005-09-02 Friday 23:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.26), primalsimplex1.cc (1.1):
+	  This test shows an error in Constraint_System::primal_simplex().
+
+2005-09-02 Friday 20:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Grid.defs.hh, Grid_public.cc (grids.[41,60]): Use the
+	  global DEGENERATE_ELEMENT enum instead of the local
+	  DEGENERATE_KIND.
+
+2005-09-02 Friday 19:15  Matthew Mundell
+
+	* src/Congruence.inlines.hh (grids.12): Compute the row capacity in
+	  Congruence(c).
+
+2005-09-02 Friday 18:54  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, addconstraints1.cc (grids.[27,1]): Add
+	  addconstraints1.
+
+2005-09-02 Friday 18:53  Matthew Mundell
+
+	* src/Congruence.inlines.hh (grids.11): Account for the extra
+	  element in NNC constraints in Congruence(c).
+
+2005-09-02 Friday 18:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/Makefile.am (1.44): Dividing by 10 the
+	  parameter GLOBALSTKSIZE seems to help testing with clpq2.
+
+2005-09-02 Friday 18:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* COPYING, Makefile.am, NEWS, README, README.configure, STANDARDS,
+	  TODO, build_header, compile, config.guess, config.rpath,
+	  config.sub, configure.ac, depcomp, install-sh, ltmain.sh,
+	  missing, mkinstalldirs, Watchdog/COPYING,
+	  Watchdog/Doubly_Linked_Object.defs.hh,
+	  Watchdog/Doubly_Linked_Object.inlines.hh, Watchdog/EList.defs.hh,
+	  Watchdog/EList.inlines.hh, Watchdog/EList_Iterator.defs.hh,
+	  Watchdog/EList_Iterator.inlines.hh, Watchdog/Handler.defs.hh,
+	  Watchdog/Handler.inlines.hh, Watchdog/Makefile.am,
+	  Watchdog/Pending_Element.cc, Watchdog/Pending_Element.defs.hh,
+	  Watchdog/Pending_Element.inlines.hh, Watchdog/Pending_List.cc,
+	  Watchdog/Pending_List.defs.hh, Watchdog/Pending_List.inlines.hh,
+	  Watchdog/README, Watchdog/Time.cc, Watchdog/Time.defs.hh,
+	  Watchdog/Time.inlines.hh, Watchdog/Watchdog.cc,
+	  Watchdog/Watchdog.defs.hh, Watchdog/Watchdog.inlines.hh,
+	  Watchdog/compile, Watchdog/config.guess, Watchdog/config.sub,
+	  Watchdog/configure.ac, Watchdog/depcomp, Watchdog/install-sh,
+	  Watchdog/ltmain.sh, Watchdog/missing, Watchdog/mkinstalldirs,
+	  Watchdog/pwl_header.bottom, Watchdog/pwl_header.hh,
+	  Watchdog/pwl_header.middle, Watchdog/pwl_header.top,
+	  Watchdog/utils/.cvsignore, Watchdog/utils/Makefile.am,
+	  Watchdog/utils/build_header, debian/libppl-pwl.copyright.in,
+	  debian/libppl.copyright.in, demos/Makefile.am,
+	  demos/ppl_lcdd/Makefile.am, demos/ppl_lcdd/ppl_lcdd.cc,
+	  demos/ppl_lcdd/examples/Makefile.am, demos/ppl_lpsol/Makefile.am,
+	  demos/ppl_lpsol/ppl_lpsol.c,
+	  demos/ppl_lpsol/examples/Makefile.am, doc/Makefile.am,
+	  doc/README.doc, doc/definitions.dox,
+	  doc/devref-browse.doxyconf-latex.in,
+	  doc/devref-print.doxyconf-latex.in, doc/devref.doxyconf-html.in,
+	  doc/fdl.dox, doc/fdl.tex, doc/fdl.txt, doc/gpl.dox, doc/gpl.tex,
+	  doc/gpl.txt, doc/ppl.sty, doc/user-browse.doxyconf-latex.in,
+	  doc/user-print.doxyconf-latex.in, doc/user.doxyconf-html.in,
+	  interfaces/Makefile.am, interfaces/C/Makefile.am,
+	  interfaces/C/ppl_c.cc, interfaces/C/ppl_c.h.in,
+	  interfaces/OCaml/Makefile.am, interfaces/Prolog/Makefile.am,
+	  interfaces/Prolog/Prolog_interface.dox,
+	  interfaces/Prolog/exceptions.hh,
+	  interfaces/Prolog/ppl_prolog.icc,
+	  interfaces/Prolog/track_allocation.hh,
+	  interfaces/Prolog/Ciao/Makefile.am,
+	  interfaces/Prolog/Ciao/ciao_clpq.pl,
+	  interfaces/Prolog/Ciao/ciao_clpq2.pl,
+	  interfaces/Prolog/Ciao/ciao_pl_check.pl,
+	  interfaces/Prolog/Ciao/ppl_ciao.cc,
+	  interfaces/Prolog/Ciao/ppl_ciao.pl,
+	  interfaces/Prolog/GNU/Makefile.am,
+	  interfaces/Prolog/GNU/gnu_pl_check.pl,
+	  interfaces/Prolog/GNU/gp_clpq.pl,
+	  interfaces/Prolog/GNU/ppl_gprolog.pl,
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc,
+	  interfaces/Prolog/SICStus/Makefile.am,
+	  interfaces/Prolog/SICStus/ppl_sicstus.pl,
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
+	  interfaces/Prolog/SICStus/sicstus_cfli.cc,
+	  interfaces/Prolog/SICStus/sicstus_cfli.h,
+	  interfaces/Prolog/SICStus/sicstus_cfli.ic,
+	  interfaces/Prolog/SICStus/sp_clpq.pl,
+	  interfaces/Prolog/SICStus/sp_pl_check.pl,
+	  interfaces/Prolog/SWI/Makefile.am,
+	  interfaces/Prolog/SWI/pl_clpq.cc,
+	  interfaces/Prolog/SWI/pl_clpq.pl,
+	  interfaces/Prolog/SWI/ppl_pl.cc,
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
+	  interfaces/Prolog/SWI/ppl_swiprolog.pl,
+	  interfaces/Prolog/SWI/swi_pl_check.pl,
+	  interfaces/Prolog/XSB/Makefile.am,
+	  interfaces/Prolog/XSB/ppl_xsb.H,
+	  interfaces/Prolog/XSB/ppl_xsb.cc,
+	  interfaces/Prolog/XSB/xsb_clpq.P,
+	  interfaces/Prolog/XSB/xsb_clpq2.P,
+	  interfaces/Prolog/XSB/xsb_pl_check.P,
+	  interfaces/Prolog/YAP/Makefile.am,
+	  interfaces/Prolog/YAP/ppl_yap.cc,
+	  interfaces/Prolog/YAP/ppl_yap.pl,
+	  interfaces/Prolog/YAP/yap_clpq.pl,
+	  interfaces/Prolog/YAP/yap_clpq2.pl,
+	  interfaces/Prolog/YAP/yap_pl_check.pl,
+	  interfaces/Prolog/tests/Makefile.am,
+	  interfaces/Prolog/tests/clpq.pl,
+	  interfaces/Prolog/tests/clpq2.pl,
+	  interfaces/Prolog/tests/pl_check.pl, m4/Makefile.am,
+	  m4/ac_check_gmp.m4, m4/ac_check_swi_prolog.m4,
+	  m4/ac_cxx_attribute_weak.m4, m4/ac_cxx_double_is_iec_559.m4,
+	  m4/ac_cxx_flexible_arrays.m4, m4/ac_cxx_float_is_iec_559.m4,
+	  m4/ac_cxx_long_double.m4, m4/ac_cxx_long_double_is_iec_559.m4,
+	  m4/ac_cxx_long_long.m4, m4/ppl.m4, src/Ask_Tell.defs.hh,
+	  src/Ask_Tell.inlines.hh, src/BDS_Status.idefs.hh,
+	  src/BDS_Status.inlines.hh, src/BD_Shape.defs.hh,
+	  src/BD_Shape.inlines.hh, src/BHRZ03_Certificate.cc,
+	  src/BHRZ03_Certificate.defs.hh,
+	  src/BHRZ03_Certificate.inlines.hh, src/Bounding_Box.cc,
+	  src/Bounding_Box.defs.hh, src/Bounding_Box.inlines.hh,
+	  src/C_Polyhedron.cc, src/C_Polyhedron.defs.hh,
+	  src/C_Polyhedron.inlines.hh, src/Checked_Number.cc,
+	  src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
+	  src/Coefficient.cc, src/Coefficient.defs.hh,
+	  src/Coefficient.inlines.hh, src/Constraint.cc,
+	  src/Constraint.defs.hh, src/Constraint.inlines.hh,
+	  src/Constraint_System.cc, src/Constraint_System.defs.hh,
+	  src/Constraint_System.inlines.hh, src/DB_Matrix.defs.hh,
+	  src/DB_Matrix.inlines.hh, src/DB_Row.defs.hh,
+	  src/DB_Row.inlines.hh, src/Determinate.defs.hh,
+	  src/Determinate.inlines.hh, src/E_NIT.defs.hh,
+	  src/E_NIT.inlines.hh, src/E_NIT.types.hh, src/E_Rational.defs.hh,
+	  src/E_Rational.inlines.hh, src/E_Rational.types.hh,
+	  src/Float.defs.hh, src/Float.inlines.hh, src/GMP_Integer.defs.hh,
+	  src/GMP_Integer.inlines.hh, src/Generator.cc,
+	  src/Generator.defs.hh, src/Generator.inlines.hh,
+	  src/Generator_System.cc, src/Generator_System.defs.hh,
+	  src/Generator_System.inlines.hh, src/H79_Certificate.cc,
+	  src/H79_Certificate.defs.hh, src/H79_Certificate.inlines.hh,
+	  src/Init.cc, src/Init.defs.hh, src/Interval.cc,
+	  src/Interval.defs.hh, src/Interval.inlines.hh,
+	  src/Interval.types.hh, src/Limits.hh, src/Linear_Expression.cc,
+	  src/Linear_Expression.defs.hh, src/Linear_Expression.inlines.hh,
+	  src/Linear_Row.cc, src/Linear_Row.defs.hh,
+	  src/Linear_Row.inlines.hh, src/Linear_System.cc,
+	  src/Linear_System.defs.hh, src/Linear_System.inlines.hh,
+	  src/Makefile.am, src/Matrix.cc, src/Matrix.defs.hh,
+	  src/Matrix.inlines.hh, src/NNC_Polyhedron.cc,
+	  src/NNC_Polyhedron.defs.hh, src/NNC_Polyhedron.inlines.hh,
+	  src/Native_Integer.defs.hh, src/Native_Integer.inlines.hh,
+	  src/Numeric_Format.defs.hh, src/Ph_Status.cc,
+	  src/Ph_Status.idefs.hh, src/Ph_Status.inlines.hh,
+	  src/Poly_Con_Relation.cc, src/Poly_Con_Relation.defs.hh,
+	  src/Poly_Con_Relation.inlines.hh, src/Poly_Gen_Relation.cc,
+	  src/Poly_Gen_Relation.defs.hh, src/Poly_Gen_Relation.inlines.hh,
+	  src/Polyhedra_Powerset.defs.hh,
+	  src/Polyhedra_Powerset.inlines.hh, src/Polyhedron.defs.hh,
+	  src/Polyhedron.inlines.hh, src/Polyhedron.types.hh,
+	  src/Polyhedron_chdims.cc, src/Polyhedron_nonpublic.cc,
+	  src/Polyhedron_public.cc, src/Polyhedron_widenings.cc,
+	  src/Powerset.defs.hh, src/Powerset.inlines.hh,
+	  src/Ptr_Iterator.defs.hh, src/Ptr_Iterator.inlines.hh,
+	  src/Result.defs.hh, src/Result.inlines.hh, src/Rounding.defs.hh,
+	  src/Rounding.types.hh, src/Row.cc, src/Row.defs.hh,
+	  src/Row.inlines.hh, src/Saturation_Matrix.cc,
+	  src/Saturation_Matrix.defs.hh, src/Saturation_Matrix.inlines.hh,
+	  src/Saturation_Row.cc, src/Saturation_Row.defs.hh,
+	  src/Saturation_Row.inlines.hh, src/Variable.cc,
+	  src/Variable.defs.hh, src/Variable.inlines.hh,
+	  src/Widening_Function.defs.hh, src/Widening_Function.inlines.hh,
+	  src/algorithms.hh, src/checked.cc, src/checked.defs.hh,
+	  src/checked.inlines.hh, src/checked_ext.defs.hh,
+	  src/checked_ext.inlines.hh, src/checked_float.inlines.hh,
+	  src/checked_int.inlines.hh, src/checked_mpq.inlines.hh,
+	  src/checked_mpz.inlines.hh, src/checked_numeric_limits.hh,
+	  src/compiler.hh, src/conversion.cc, src/float.types.hh,
+	  src/fpu-c99.inlines.hh, src/fpu-ia32.inlines.hh,
+	  src/fpu-none.inlines.hh, src/fpu.defs.hh, src/globals.cc,
+	  src/globals.defs.hh, src/globals.inlines.hh, src/initializer.hh,
+	  src/max_space_dimension.hh, src/minimize.cc, src/namespaces.hh,
+	  src/ppl-config.cc.in, src/ppl_header.hh, src/simplex.cc,
+	  src/simplify.cc, src/swapping_sort.icc, src/version.cc,
+	  src/version.hh.in, tests/BBox.cc, tests/BBox.hh,
+	  tests/Makefile.am, tests/PFunction.cc, tests/PFunction.hh,
+	  tests/ehandlers.cc, tests/ehandlers.hh, tests/files.cc,
+	  tests/files.hh, tests/ppl_test.hh, tests/print.cc,
+	  tests/print.hh, tests/BD_Shape/Makefile.am,
+	  tests/BD_Shape/addconstraints1.cc,
+	  tests/BD_Shape/addspacedims1.cc, tests/BD_Shape/addspacedims2.cc,
+	  tests/BD_Shape/addspacedims3.cc, tests/BD_Shape/addspacedims4.cc,
+	  tests/BD_Shape/addspacedims5.cc, tests/BD_Shape/addspacedims6.cc,
+	  tests/BD_Shape/addspacedims7.cc, tests/BD_Shape/affineimage1.cc,
+	  tests/BD_Shape/affineimage2.cc, tests/BD_Shape/affineimage3.cc,
+	  tests/BD_Shape/affineimage4.cc, tests/BD_Shape/affineimage5.cc,
+	  tests/BD_Shape/affineimage6.cc, tests/BD_Shape/affineimage7.cc,
+	  tests/BD_Shape/affineimage8.cc, tests/BD_Shape/affineimage9.cc,
+	  tests/BD_Shape/affinepreimage1.cc,
+	  tests/BD_Shape/affinepreimage2.cc,
+	  tests/BD_Shape/affinepreimage3.cc,
+	  tests/BD_Shape/affinepreimage4.cc,
+	  tests/BD_Shape/affinepreimage5.cc,
+	  tests/BD_Shape/ascii_dump_load1.cc,
+	  tests/BD_Shape/ascii_dump_load2.cc,
+	  tests/BD_Shape/cc76extrapolation1.cc,
+	  tests/BD_Shape/cc76extrapolation2.cc,
+	  tests/BD_Shape/cc76extrapolation3.cc,
+	  tests/BD_Shape/cc76extrapolation4.cc,
+	  tests/BD_Shape/cc76extrapolation5.cc,
+	  tests/BD_Shape/cc76extrapolation6.cc,
+	  tests/BD_Shape/cc76narrowing1.cc,
+	  tests/BD_Shape/cc76narrowing2.cc,
+	  tests/BD_Shape/cc76narrowing3.cc,
+	  tests/BD_Shape/cc76narrowing4.cc,
+	  tests/BD_Shape/cc76narrowing5.cc,
+	  tests/BD_Shape/ch78widening1.cc, tests/BD_Shape/ch78widening2.cc,
+	  tests/BD_Shape/ch78widening3.cc, tests/BD_Shape/ch78widening4.cc,
+	  tests/BD_Shape/ch78widening5.cc, tests/BD_Shape/ch78widening6.cc,
+	  tests/BD_Shape/ch78widening7.cc, tests/BD_Shape/ch78widening8.cc,
+	  tests/BD_Shape/concatenate1.cc, tests/BD_Shape/concatenate2.cc,
+	  tests/BD_Shape/concatenate3.cc, tests/BD_Shape/concatenate4.cc,
+	  tests/BD_Shape/concatenate5.cc, tests/BD_Shape/constraints1.cc,
+	  tests/BD_Shape/constraints2.cc, tests/BD_Shape/contains1.cc,
+	  tests/BD_Shape/contains2.cc, tests/BD_Shape/contains3.cc,
+	  tests/BD_Shape/empty1.cc, tests/BD_Shape/empty2.cc,
+	  tests/BD_Shape/empty3.cc, tests/BD_Shape/empty4.cc,
+	  tests/BD_Shape/empty5.cc, tests/BD_Shape/equality1.cc,
+	  tests/BD_Shape/exceptions1.cc, tests/BD_Shape/exceptions2.cc,
+	  tests/BD_Shape/exceptions3.cc, tests/BD_Shape/fromgensys1.cc,
+	  tests/BD_Shape/generalizedaffineimage1.cc,
+	  tests/BD_Shape/generalizedaffineimage10.cc,
+	  tests/BD_Shape/generalizedaffineimage11.cc,
+	  tests/BD_Shape/generalizedaffineimage12.cc,
+	  tests/BD_Shape/generalizedaffineimage13.cc,
+	  tests/BD_Shape/generalizedaffineimage14.cc,
+	  tests/BD_Shape/generalizedaffineimage2.cc,
+	  tests/BD_Shape/generalizedaffineimage3.cc,
+	  tests/BD_Shape/generalizedaffineimage4.cc,
+	  tests/BD_Shape/generalizedaffineimage5.cc,
+	  tests/BD_Shape/generalizedaffineimage6.cc,
+	  tests/BD_Shape/generalizedaffineimage7.cc,
+	  tests/BD_Shape/generalizedaffineimage8.cc,
+	  tests/BD_Shape/generalizedaffineimage9.cc,
+	  tests/BD_Shape/h79widening1.cc, tests/BD_Shape/intersection1.cc,
+	  tests/BD_Shape/intersection2.cc, tests/BD_Shape/intersection3.cc,
+	  tests/BD_Shape/intersection4.cc, tests/BD_Shape/intersection5.cc,
+	  tests/BD_Shape/intersection6.cc, tests/BD_Shape/intersection7.cc,
+	  tests/BD_Shape/intersection8.cc,
+	  tests/BD_Shape/limitedCC76extrapolation1.cc,
+	  tests/BD_Shape/limitedCC76extrapolation2.cc,
+	  tests/BD_Shape/limitedCC76extrapolation3.cc,
+	  tests/BD_Shape/limitedCH78extrapolation1.cc,
+	  tests/BD_Shape/limitedCH78extrapolation2.cc,
+	  tests/BD_Shape/limitedCH78extrapolation3.cc,
+	  tests/BD_Shape/limitedCH78extrapolation4.cc,
+	  tests/BD_Shape/limitedCH78extrapolation5.cc,
+	  tests/BD_Shape/limitedCH78extrapolation6.cc,
+	  tests/BD_Shape/limitedCH78extrapolation7.cc,
+	  tests/BD_Shape/limitedCH78extrapolation8.cc,
+	  tests/BD_Shape/limitedCH78extrapolation9.cc,
+	  tests/BD_Shape/limitedh79extrapolation1.cc,
+	  tests/BD_Shape/mapspacedims1.cc, tests/BD_Shape/mapspacedims2.cc,
+	  tests/BD_Shape/mapspacedims3.cc, tests/BD_Shape/mapspacedims4.cc,
+	  tests/BD_Shape/maxspacedim.cc, tests/BD_Shape/polydifference1.cc,
+	  tests/BD_Shape/polydifference2.cc,
+	  tests/BD_Shape/polydifference3.cc,
+	  tests/BD_Shape/polydifference4.cc,
+	  tests/BD_Shape/polydifference5.cc,
+	  tests/BD_Shape/polydifference6.cc, tests/BD_Shape/polyhull1.cc,
+	  tests/BD_Shape/polyhull2.cc, tests/BD_Shape/polyhull3.cc,
+	  tests/BD_Shape/polyhull4.cc, tests/BD_Shape/relations1.cc,
+	  tests/BD_Shape/relations2.cc, tests/BD_Shape/relations3.cc,
+	  tests/BD_Shape/relations4.cc, tests/BD_Shape/relations5.cc,
+	  tests/BD_Shape/removespacedims1.cc,
+	  tests/BD_Shape/removespacedims2.cc,
+	  tests/BD_Shape/removespacedims3.cc,
+	  tests/BD_Shape/timeelapse1.cc, tests/BD_Shape/timeelapse2.cc,
+	  tests/BD_Shape/timeelapse3.cc, tests/BD_Shape/timeelapse4.cc,
+	  tests/BD_Shape/timeelapse5.cc, tests/BD_Shape/universe1.cc,
+	  tests/BD_Shape/writebdshape1.cc, tests/BD_Shape/writebdshape2.cc,
+	  tests/Polyhedron/CbecomesNNC1.cc, tests/Polyhedron/Makefile.am,
+	  tests/Polyhedron/NNCbecomesC1.cc,
+	  tests/Polyhedron/NNCminimize1.cc,
+	  tests/Polyhedron/NNCminimize2.cc,
+	  tests/Polyhedron/NNCminimize3.cc,
+	  tests/Polyhedron/NNCminimize4.cc,
+	  tests/Polyhedron/NNCminimize5.cc,
+	  tests/Polyhedron/NNCminimize6.cc, tests/Polyhedron/README,
+	  tests/Polyhedron/addconstraint1.cc,
+	  tests/Polyhedron/addconstraint2.cc,
+	  tests/Polyhedron/addconstraint3.cc,
+	  tests/Polyhedron/addconstraints1.cc,
+	  tests/Polyhedron/addconstraints10.cc,
+	  tests/Polyhedron/addconstraints11.cc,
+	  tests/Polyhedron/addconstraints12.cc,
+	  tests/Polyhedron/addconstraints13.cc,
+	  tests/Polyhedron/addconstraints2.cc,
+	  tests/Polyhedron/addconstraints3.cc,
+	  tests/Polyhedron/addconstraints4.cc,
+	  tests/Polyhedron/addconstraints5.cc,
+	  tests/Polyhedron/addconstraints6.cc,
+	  tests/Polyhedron/addconstraints7.cc,
+	  tests/Polyhedron/addconstraints8.cc,
+	  tests/Polyhedron/addconstraints9.cc,
+	  tests/Polyhedron/addgenerator1.cc,
+	  tests/Polyhedron/addgenerator2.cc,
+	  tests/Polyhedron/addgenerator3.cc,
+	  tests/Polyhedron/addgenerator4.cc,
+	  tests/Polyhedron/addgenerator5.cc,
+	  tests/Polyhedron/addgenerators1.cc,
+	  tests/Polyhedron/addgenerators10.cc,
+	  tests/Polyhedron/addgenerators11.cc,
+	  tests/Polyhedron/addgenerators12.cc,
+	  tests/Polyhedron/addgenerators13.cc,
+	  tests/Polyhedron/addgenerators2.cc,
+	  tests/Polyhedron/addgenerators3.cc,
+	  tests/Polyhedron/addgenerators4.cc,
+	  tests/Polyhedron/addgenerators5.cc,
+	  tests/Polyhedron/addgenerators6.cc,
+	  tests/Polyhedron/addgenerators7.cc,
+	  tests/Polyhedron/addgenerators8.cc,
+	  tests/Polyhedron/addgenerators9.cc,
+	  tests/Polyhedron/addspacedims1.cc,
+	  tests/Polyhedron/addspacedims10.cc,
+	  tests/Polyhedron/addspacedims11.cc,
+	  tests/Polyhedron/addspacedims12.cc,
+	  tests/Polyhedron/addspacedims13.cc,
+	  tests/Polyhedron/addspacedims2.cc,
+	  tests/Polyhedron/addspacedims3.cc,
+	  tests/Polyhedron/addspacedims4.cc,
+	  tests/Polyhedron/addspacedims5.cc,
+	  tests/Polyhedron/addspacedims6.cc,
+	  tests/Polyhedron/addspacedims7.cc,
+	  tests/Polyhedron/addspacedims8.cc,
+	  tests/Polyhedron/addspacedims9.cc,
+	  tests/Polyhedron/affineimage1.cc,
+	  tests/Polyhedron/affineimage2.cc,
+	  tests/Polyhedron/affineimage3.cc,
+	  tests/Polyhedron/affineimage4.cc,
+	  tests/Polyhedron/affineimage5.cc,
+	  tests/Polyhedron/affineimage6.cc,
+	  tests/Polyhedron/affineimage7.cc,
+	  tests/Polyhedron/affineimage8.cc,
+	  tests/Polyhedron/affineimage9.cc,
+	  tests/Polyhedron/affinepreimage1.cc,
+	  tests/Polyhedron/affinepreimage10.cc,
+	  tests/Polyhedron/affinepreimage11.cc,
+	  tests/Polyhedron/affinepreimage2.cc,
+	  tests/Polyhedron/affinepreimage3.cc,
+	  tests/Polyhedron/affinepreimage4.cc,
+	  tests/Polyhedron/affinepreimage5.cc,
+	  tests/Polyhedron/affinepreimage6.cc,
+	  tests/Polyhedron/affinepreimage7.cc,
+	  tests/Polyhedron/affinepreimage8.cc,
+	  tests/Polyhedron/affinepreimage9.cc,
+	  tests/Polyhedron/affinetrans.cc, tests/Polyhedron/append1.cc,
+	  tests/Polyhedron/append2.cc,
+	  tests/Polyhedron/ascii_dump_load1.cc,
+	  tests/Polyhedron/ascii_dump_load2.cc,
+	  tests/Polyhedron/ascii_dump_load3.cc,
+	  tests/Polyhedron/ascii_dump_load4.cc,
+	  tests/Polyhedron/ascii_dump_load5.cc,
+	  tests/Polyhedron/ascii_dump_load6.cc,
+	  tests/Polyhedron/ascii_dump_load7.cc,
+	  tests/Polyhedron/bgp99extrapolation1.cc,
+	  tests/Polyhedron/bgp99extrapolation2.cc,
+	  tests/Polyhedron/bhrz03widening1.cc,
+	  tests/Polyhedron/bhrz03widening10.cc,
+	  tests/Polyhedron/bhrz03widening11.cc,
+	  tests/Polyhedron/bhrz03widening12.cc,
+	  tests/Polyhedron/bhrz03widening13.cc,
+	  tests/Polyhedron/bhrz03widening14.cc,
+	  tests/Polyhedron/bhrz03widening15.cc,
+	  tests/Polyhedron/bhrz03widening16.cc,
+	  tests/Polyhedron/bhrz03widening17.cc,
+	  tests/Polyhedron/bhrz03widening18.cc,
+	  tests/Polyhedron/bhrz03widening19.cc,
+	  tests/Polyhedron/bhrz03widening2.cc,
+	  tests/Polyhedron/bhrz03widening3.cc,
+	  tests/Polyhedron/bhrz03widening4.cc,
+	  tests/Polyhedron/bhrz03widening5.cc,
+	  tests/Polyhedron/bhrz03widening6.cc,
+	  tests/Polyhedron/bhrz03widening7.cc,
+	  tests/Polyhedron/bhrz03widening8.cc,
+	  tests/Polyhedron/bhrz03widening9.cc,
+	  tests/Polyhedron/bhz03widening1.cc,
+	  tests/Polyhedron/bhz03widening2.cc,
+	  tests/Polyhedron/bhz03widening3.cc,
+	  tests/Polyhedron/bhz03widening4.cc,
+	  tests/Polyhedron/bhz03widening5.cc,
+	  tests/Polyhedron/bhz03widening6.cc, tests/Polyhedron/bounded1.cc,
+	  tests/Polyhedron/boundedaffineimage1.cc,
+	  tests/Polyhedron/boundedaffineimage2.cc,
+	  tests/Polyhedron/boundedaffineimage3.cc,
+	  tests/Polyhedron/boundedaffinepreimage1.cc,
+	  tests/Polyhedron/boundedaffinepreimage2.cc,
+	  tests/Polyhedron/boundedaffinepreimage3.cc,
+	  tests/Polyhedron/boundedbhrz03extrapolation1.cc,
+	  tests/Polyhedron/boundedh79extrapolation1.cc,
+	  tests/Polyhedron/boundingbox1.cc,
+	  tests/Polyhedron/boundingbox2.cc,
+	  tests/Polyhedron/boundingbox3.cc,
+	  tests/Polyhedron/boundingbox4.cc,
+	  tests/Polyhedron/boundingbox5.cc, tests/Polyhedron/bounds1.cc,
+	  tests/Polyhedron/bounds2.cc, tests/Polyhedron/bug2.cc,
+	  tests/Polyhedron/concatenate1.cc,
+	  tests/Polyhedron/concatenate2.cc,
+	  tests/Polyhedron/concatenate3.cc,
+	  tests/Polyhedron/concatenate4.cc,
+	  tests/Polyhedron/concatenate5.cc,
+	  tests/Polyhedron/concatenate6.cc,
+	  tests/Polyhedron/concatenate7.cc,
+	  tests/Polyhedron/constraints1.cc,
+	  tests/Polyhedron/constraints2.cc,
+	  tests/Polyhedron/constraints3.cc,
+	  tests/Polyhedron/constraints4.cc,
+	  tests/Polyhedron/constraints5.cc, tests/Polyhedron/contains1.cc,
+	  tests/Polyhedron/contains2.cc, tests/Polyhedron/contains3.cc,
+	  tests/Polyhedron/contains4.cc, tests/Polyhedron/contains5.cc,
+	  tests/Polyhedron/disjoint1.cc, tests/Polyhedron/disjoint2.cc,
+	  tests/Polyhedron/disjoint3.cc,
+	  tests/Polyhedron/dualhypercubes.cc, tests/Polyhedron/empty1.cc,
+	  tests/Polyhedron/equals1.cc, tests/Polyhedron/exceptions1.cc,
+	  tests/Polyhedron/exceptions2.cc, tests/Polyhedron/exceptions3.cc,
+	  tests/Polyhedron/expandspacedim1.cc,
+	  tests/Polyhedron/expandspacedim2.cc,
+	  tests/Polyhedron/foldspacedims1.cc,
+	  tests/Polyhedron/foldspacedims2.cc,
+	  tests/Polyhedron/generalizedaffineimage1.cc,
+	  tests/Polyhedron/generalizedaffineimage10.cc,
+	  tests/Polyhedron/generalizedaffineimage11.cc,
+	  tests/Polyhedron/generalizedaffineimage12.cc,
+	  tests/Polyhedron/generalizedaffineimage13.cc,
+	  tests/Polyhedron/generalizedaffineimage14.cc,
+	  tests/Polyhedron/generalizedaffineimage2.cc,
+	  tests/Polyhedron/generalizedaffineimage3.cc,
+	  tests/Polyhedron/generalizedaffineimage4.cc,
+	  tests/Polyhedron/generalizedaffineimage5.cc,
+	  tests/Polyhedron/generalizedaffineimage6.cc,
+	  tests/Polyhedron/generalizedaffineimage7.cc,
+	  tests/Polyhedron/generalizedaffineimage8.cc,
+	  tests/Polyhedron/generalizedaffineimage9.cc,
+	  tests/Polyhedron/generalizedaffinepreimage1.cc,
+	  tests/Polyhedron/generalizedaffinepreimage2.cc,
+	  tests/Polyhedron/generalizedaffinepreimage3.cc,
+	  tests/Polyhedron/generalizedaffinepreimage4.cc,
+	  tests/Polyhedron/generators1.cc, tests/Polyhedron/generators2.cc,
+	  tests/Polyhedron/generators3.cc, tests/Polyhedron/generators4.cc,
+	  tests/Polyhedron/generators5.cc, tests/Polyhedron/generators6.cc,
+	  tests/Polyhedron/generators7.cc, tests/Polyhedron/geomcovers1.cc,
+	  tests/Polyhedron/gramshmidt1.cc,
+	  tests/Polyhedron/h79widening1.cc,
+	  tests/Polyhedron/h79widening2.cc,
+	  tests/Polyhedron/h79widening3.cc,
+	  tests/Polyhedron/h79widening4.cc,
+	  tests/Polyhedron/h79widening5.cc,
+	  tests/Polyhedron/h79widening6.cc,
+	  tests/Polyhedron/h79widening7.cc,
+	  tests/Polyhedron/h79widening8.cc,
+	  tests/Polyhedron/intersection1.cc,
+	  tests/Polyhedron/intersection10.cc,
+	  tests/Polyhedron/intersection11.cc,
+	  tests/Polyhedron/intersection2.cc,
+	  tests/Polyhedron/intersection3.cc,
+	  tests/Polyhedron/intersection4.cc,
+	  tests/Polyhedron/intersection5.cc,
+	  tests/Polyhedron/intersection6.cc,
+	  tests/Polyhedron/intersection7.cc,
+	  tests/Polyhedron/intersection8.cc,
+	  tests/Polyhedron/intersection9.cc,
+	  tests/Polyhedron/limitedbhrz03extrapolation1.cc,
+	  tests/Polyhedron/limitedh79extrapolation1.cc,
+	  tests/Polyhedron/limitedh79extrapolation2.cc,
+	  tests/Polyhedron/limitedh79extrapolation3.cc,
+	  tests/Polyhedron/limitedh79extrapolation4.cc,
+	  tests/Polyhedron/linearpartition1.cc,
+	  tests/Polyhedron/linearpartition2.cc,
+	  tests/Polyhedron/linearpartition3.cc,
+	  tests/Polyhedron/linearpartition4.cc,
+	  tests/Polyhedron/linexpression1.cc,
+	  tests/Polyhedron/mapspacedims1.cc,
+	  tests/Polyhedron/mapspacedims2.cc,
+	  tests/Polyhedron/mapspacedims3.cc,
+	  tests/Polyhedron/mapspacedims4.cc, tests/Polyhedron/max_min1.cc,
+	  tests/Polyhedron/max_min2.cc, tests/Polyhedron/maxspacedim1.cc,
+	  tests/Polyhedron/mc91.cc, tests/Polyhedron/membytes1.cc,
+	  tests/Polyhedron/membytes2.cc, tests/Polyhedron/memory1.cc,
+	  tests/Polyhedron/memory2.cc, tests/Polyhedron/minconstraints1.cc,
+	  tests/Polyhedron/minconstraints2.cc,
+	  tests/Polyhedron/minconstraints3.cc,
+	  tests/Polyhedron/minconstraints4.cc,
+	  tests/Polyhedron/mingenerators1.cc,
+	  tests/Polyhedron/mingenerators2.cc,
+	  tests/Polyhedron/mingenerators3.cc, tests/Polyhedron/onepoint.cc,
+	  tests/Polyhedron/permute.cc, tests/Polyhedron/polydifference1.cc,
+	  tests/Polyhedron/polydifference2.cc,
+	  tests/Polyhedron/polydifference3.cc,
+	  tests/Polyhedron/polydifference4.cc,
+	  tests/Polyhedron/polydifference5.cc,
+	  tests/Polyhedron/polydifference6.cc,
+	  tests/Polyhedron/polydifference7.cc,
+	  tests/Polyhedron/polydifference8.cc,
+	  tests/Polyhedron/polydifference9.cc,
+	  tests/Polyhedron/polyhull1.cc, tests/Polyhedron/polyhull10.cc,
+	  tests/Polyhedron/polyhull11.cc, tests/Polyhedron/polyhull2.cc,
+	  tests/Polyhedron/polyhull3.cc, tests/Polyhedron/polyhull4.cc,
+	  tests/Polyhedron/polyhull5.cc, tests/Polyhedron/polyhull6.cc,
+	  tests/Polyhedron/polyhull7.cc, tests/Polyhedron/polyhull8.cc,
+	  tests/Polyhedron/polyhull9.cc, tests/Polyhedron/polypowerset1.cc,
+	  tests/Polyhedron/randphull1.cc, tests/Polyhedron/randphull2.cc,
+	  tests/Polyhedron/relations1.cc, tests/Polyhedron/relations10.cc,
+	  tests/Polyhedron/relations11.cc, tests/Polyhedron/relations12.cc,
+	  tests/Polyhedron/relations13.cc, tests/Polyhedron/relations14.cc,
+	  tests/Polyhedron/relations15.cc, tests/Polyhedron/relations16.cc,
+	  tests/Polyhedron/relations17.cc, tests/Polyhedron/relations18.cc,
+	  tests/Polyhedron/relations19.cc, tests/Polyhedron/relations2.cc,
+	  tests/Polyhedron/relations3.cc, tests/Polyhedron/relations4.cc,
+	  tests/Polyhedron/relations5.cc, tests/Polyhedron/relations6.cc,
+	  tests/Polyhedron/relations7.cc, tests/Polyhedron/relations8.cc,
+	  tests/Polyhedron/relations9.cc,
+	  tests/Polyhedron/removespacedims1.cc,
+	  tests/Polyhedron/removespacedims10.cc,
+	  tests/Polyhedron/removespacedims2.cc,
+	  tests/Polyhedron/removespacedims3.cc,
+	  tests/Polyhedron/removespacedims4.cc,
+	  tests/Polyhedron/removespacedims5.cc,
+	  tests/Polyhedron/removespacedims6.cc,
+	  tests/Polyhedron/removespacedims7.cc,
+	  tests/Polyhedron/removespacedims8.cc,
+	  tests/Polyhedron/removespacedims9.cc, tests/Polyhedron/smm1.cc,
+	  tests/Polyhedron/timeelapse1.cc, tests/Polyhedron/timeelapse2.cc,
+	  tests/Polyhedron/timeelapse3.cc, tests/Polyhedron/timeelapse4.cc,
+	  tests/Polyhedron/timeelapse5.cc, tests/Polyhedron/timeelapse6.cc,
+	  tests/Polyhedron/timeelapse7.cc, tests/Polyhedron/timeelapse8.cc,
+	  tests/Polyhedron/timeelapse9.cc, tests/Polyhedron/topclosed1.cc,
+	  tests/Polyhedron/topclosed2.cc, tests/Polyhedron/topclosed3.cc,
+	  tests/Polyhedron/topclosure1.cc, tests/Polyhedron/topclosure2.cc,
+	  tests/Polyhedron/topclosure3.cc, tests/Polyhedron/topclosure4.cc,
+	  tests/Polyhedron/universe1.cc, tests/Polyhedron/universe2.cc,
+	  tests/Polyhedron/universe3.cc, tests/Polyhedron/universe4.cc,
+	  tests/Polyhedron/universe5.cc, tests/Polyhedron/universe6.cc,
+	  tests/Polyhedron/universe7.cc, tests/Polyhedron/watchdog1.cc,
+	  tests/Polyhedron/writeconsys1.cc,
+	  tests/Polyhedron/writegensys1.cc,
+	  tests/Polyhedron/writegensys2.cc,
+	  tests/Polyhedron/writegensys3.cc,
+	  tests/Polyhedron/writepolyhedron1.cc,
+	  tests/Polyhedron/writepolyhedron2.cc,
+	  tests/Polyhedron/writepolyhedron3.cc,
+	  tests/Polyhedron/writerelation1.cc,
+	  tests/Polyhedron/writevariable1.cc, utils/Makefile.am,
+	  utils/build_header, utils/text2cxxarray, utils/timings.cc,
+	  utils/timings.hh
+	  (grids.[1,2,2,2,1,3,2,2,1,2,1,2,3,1,2,2,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,2,2,1,1,2,2,1,1,1,1,1,1,1,1,1,2,2,1,1,2,1,2,2,1,2,1,7,2,2,2,1,1,1,1,1,1,2,1,1,1,1,1,2,2,1,1,2,1,1,1,2,1,1,1,1,1,2,2,1,1,1,2,1,1,1,1,1,1,2,4,1,1,1,1,1,2,2,1,1,2,2,2,2,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,1,1,1,2,2,1,1,1,1,1,2,2,1,1,1,2,3,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,2,2,3,2,3,6,3,12,4,1,1,1,1,2,2,1,2,2,1,1,2,4,2,4,4,3,1,1,1,6,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,2,2,1,2,1,2, [...]
+	  Second merge from main trunk.
+
+2005-09-02 Friday 17:00  Matthew Mundell
+
+	* src/Grid.inlines.hh (grids.16): Take reference to pending rows
+	  out of comment.
+
+2005-09-02 Friday 17:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* utils/timings.cc (1.5): Fixed print_clock().
+
+2005-09-02 Friday 17:00  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid_nonpublic.cc, Grid_public.cc
+	  (grids.[40,29,59]): Add add_constraint, add_constraints and
+	  Grid(cs). Add throw_dimension_incompatible methods for
+	  Constraints and Constraint_Systems.
+
+2005-09-02 Friday 11:42  Matthew Mundell
+
+	* src/Congruence.inlines.hh (grids.10): Check for all cases of
+	  trivially true congruences.
+
+2005-09-02 Friday 11:41  Matthew Mundell
+
+	* src/: Congruence.defs.hh, Congruence_System.cc (grids.[16,22]):
+	  Strong normalize congruences before outputting them from the
+	  congruence system.
+
+2005-09-02 Friday 11:39  Matthew Mundell
+
+	* src/Congruence.cc (grids.8): In the output operator only output
+	  the modulus for proper congruences, and use `=' instead of `=='.
+
+2005-09-02 Friday 10:53  Matthew Mundell
+
+	* src/Congruence_System.cc (grids.21): Use `while (true)' instead
+	  of `while (1)'.
+
+2005-09-02 Friday 10:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Generator_System.cc (grids.11): Use booleans when booleans
+	  are intended.
+
+2005-09-02 Friday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_public.cc (grids.58): Print only the minimized
+	  congruences.
+
+2005-09-01 Thursday 19:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_nonpublic.cc (1.49): When strongly minimizing a
+	  constraint system, if we add back an epsilon upper bound
+	  constraint we should reset the minimization flag.
+
+2005-09-01 Thursday 18:31  Matthew Mundell
+
+	* src/Grid_public.cc (grids.57): In generalized_affine_preimage
+	  improve a variable name and skip the normalization check when
+	  inserting the lines.
+
+2005-09-01 Thursday 18:18  Matthew Mundell
+
+	* src/Grid_nonpublic.cc (grids.28): Set gen_sys's sortedness false
+	  after clearing gen_sys.  Correct a comment.
+
+2005-09-01 Thursday 18:17  Matthew Mundell
+
+	* src/Grid.inlines.hh (grids.15): In map_space_dimensions clear
+	  minimized flags after permuting columns, and skip the
+	  normalization check when inserting generators.
+
+2005-09-01 Thursday 17:17  Matthew Mundell
+
+	* src/Grid_public.cc (grids.56): In the copy constructor set
+	  gen_sys's sortedness to false when given grid's generators are
+	  out of date.	In OK correct a comment and a message and test that
+	  gen_sys's sortedness is false.
+
+2005-09-01 Thursday 17:15  Matthew Mundell
+
+	* src/: Grid.inlines.hh, Grid_chdims.cc, Grid_simplify.cc
+	  (grids.[14,16,29]): Set gen_sys's sortedness to false after
+	  clearing gen_sys.  Take extra set_sorted calls out of the
+	  generator simplify method.
+
+2005-09-01 Thursday 15:54  Matthew Mundell
+
+	* src/Grid.inlines.hh (grids.13): Set sortedness of the temporary
+	  generators system in map_space_dimensions to false.
+
+2005-09-01 Thursday 15:34  Matthew Mundell
+
+	* src/Grid_nonpublic.cc (grids.27): Take tracing out of
+	  is_included_in.
+
+2005-09-01 Thursday 15:29  Matthew Mundell
+
+	* src/Congruence_System.cc (grids.20): Take tracing out of
+	  satisfies_all_congruences.
+
+2005-09-01 Thursday 15:23  Matthew Mundell
+
+	* src/: Grid_nonpublic.cc, Grid_public.cc (grids.[26,55]): Always
+	  and only set sorted to false when adding new generators.
+
+2005-09-01 Thursday 15:21  Matthew Mundell
+
+	* src/Grid_chdims.cc (grids.15): Use correct domain in comment.
+
+2005-09-01 Thursday 15:20  Matthew Mundell
+
+	* src/Grid.defs.hh (grids.39): Take out old Polyhedra comments.
+
+2005-09-01 Thursday 15:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Linear_System.cc (1.20): Prefer pre-increment to
+	  post-increment.
+
+2005-09-01 Thursday 15:18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.56): Using direct initialization
+	  instead of definition+assignment in a few places.
+
+2005-09-01 Thursday 14:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Generator.cc (1.64): Reverted previosu change, since it might
+	  result in poorer performance.
+
+2005-09-01 Thursday 14:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* install-sh (1.15), ltmain.sh (1.26), Watchdog/install-sh (1.12),
+	  Watchdog/ltmain.sh (1.15): Updated from Libtool 1.5.20.
+
+2005-08-31 Wednesday 18:09  Matthew Mundell
+
+	* src/Grid.defs.hh (grids.38): Mark up parameter description
+	  correctly.
+
+2005-08-31 Wednesday 18:08  Matthew Mundell
+
+	* doc/definitions.dox (grids.6): Correct spelling of anchor.
+
+2005-08-31 Wednesday 17:19  Matthew Mundell
+
+	* doc/definitions.dox (grids.5): Clip trailing whitespace.
+
+2005-08-31 Wednesday 17:04  Matthew Mundell
+
+	* src/Makefile.am (grids.5): Add grid_widenings.cc to
+	  libppl_la_SOURCES.
+
+2005-08-31 Wednesday 17:03  Matthew Mundell
+
+	* tests/Grid/bug1.dat, src/Grid_public.cc (grids.[3,54]): Enable
+	  dumping and loading of the entire status.
+
+2005-08-31 Wednesday 16:58  Matthew Mundell
+
+	* src/Grid_Status.cc (grids.2): Append a newline to the ASCII dump.
+	  ASCII dump on failure of the empty flag check in the OK method.
+	  Correct the class name in the file header.
+
+2005-08-30 Tuesday 15:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Determinate.inlines.hh (1.49): Do not override the output
+	  function of PH.
+
+2005-08-30 Tuesday 15:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.55): Do not refer to nonexistent
+	  constructors.
+
+2005-08-29 Monday 23:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/: Makefile.am (1.14), ppl.m4 (1.1): Initial revision of an
+	  Autoconf function to test for the existence and usability of
+	  particular versions of the PPL, defining macros containing the
+	  required paths.
+
+2005-08-29 Monday 18:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: tests/pl_check.pl (1.9),
+	  Ciao/ciao_pl_check.pl (1.13), XSB/xsb_pl_check.P (1.18): Added
+	  tests for Prolog interface predicates: bounded_affine_image,
+	  bounded_affine_preimage, generalized_affine_preimage.
+
+2005-08-29 Monday 17:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Coefficient.defs.hh (1.4), Coefficient.inlines.hh (1.4),
+	  Generator.cc (1.63), Linear_Row.cc (1.7), globals.defs.hh (1.22),
+	  globals.inlines.hh (1.11), simplex.cc (1.11): Do use
+	  Coefficient_traits where appropriate.
+
+2005-08-29 Monday 16:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.23), BD_Shape.inlines.hh (1.54): Using
+	  Coefficient_traits where appropriate.  Corrected a few comments.
+	  Trying to clean up affine_image().
+
+2005-08-29 Monday 12:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.22): No longer mention is_nonnegative().
+
+2005-08-29 Monday 12:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/: cc76extrapolation6.cc (1.5), ch78widening6.cc
+	  (1.5), relations1.cc (1.7), relations2.cc (1.7), relations3.cc
+	  (1.6), relations4.cc (1.5), relations5.cc (1.7): Added, when
+	  needed, using directives for IO_Operators.
+
+2005-08-29 Monday 11:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.53): No longer refer to the obsolete
+	  function is_nonnegative().
+
+2005-08-29 Monday 09:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/gramshmidt1.cc (1.1): Draft test program for
+	  Constraint_System::gram_shmidt().
+
+2005-08-28 Sunday 19:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Bounding_Box.inlines.hh (1.7), Polyhedron.inlines.hh
+	  (1.117): Objects of type mpq_class now created properly.
+
+2005-08-28 Sunday 12:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_prolog.icc (1.159), Ciao/ppl_ciao.pl
+	  (1.81), GNU/ppl_gprolog.pl (1.53), SICStus/ppl_sicstus_sd.cc
+	  (1.77), SWI/ppl_swiprolog.cc (1.101), XSB/ppl_xsb.H (1.40),
+	  XSB/ppl_xsb.cc (1.68), YAP/ppl_yap.cc (1.93): Interfaced new
+	  methods computing preimages of generalized affine relations.
+
+2005-08-28 Sunday 10:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bounding_Box.inlines.hh (1.6): Temporary kludges to avoid the
+	  selection of the wrong mpq_class constructor.
+
+2005-08-28 Sunday 10:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/: ac_check_gmp.m4 (1.22), ac_check_swi_prolog.m4 (1.3),
+	  ac_cxx_attribute_weak.m4 (1.6), ac_cxx_double_is_iec_559.m4
+	  (1.4), ac_cxx_flexible_arrays.m4 (1.11),
+	  ac_cxx_float_is_iec_559.m4 (1.4), ac_cxx_long_double.m4 (1.5),
+	  ac_cxx_long_double_is_iec_559.m4 (1.4), ac_cxx_long_long.m4
+	  (1.4): Broken comments restored.
+
+2005-08-28 Sunday 10:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* missing (1.12), Watchdog/missing (1.8): Broken comments restored.
+
+2005-08-27 Saturday 23:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl-config.cc.in (1.8): Progress on the --ldflags option.
+
+2005-08-27 Saturday 21:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.32), Watchdog/Makefile.am (1.21): The `configure'
+	  script is now listed in `dist_noinst_SCRIPTS' and no longer in
+	  `EXTRA_DIST'.
+
+2005-08-27 Saturday 17:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.31), build_header (1.3), Watchdog/Makefile.am
+	  (1.20), Watchdog/configure.ac (1.27), Watchdog/pwl_header.bottom
+	  (1.3), Watchdog/pwl_header.hh (1.1), Watchdog/pwl_header.middle
+	  (1.4), Watchdog/pwl_header.top (1.8), Watchdog/utils/.cvsignore
+	  (1.1), Watchdog/utils/Makefile.am (1.1),
+	  Watchdog/utils/build_header (1.1), src/Makefile.am (1.117),
+	  utils/Makefile.am (1.6), utils/build_header (1.1): Definitely
+	  switch to the new mechanism to build the library headers.  The
+	  `build_header' script belongs to the `utils' directories.
+
+2005-08-27 Saturday 15:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_widenings.cc (1.46): Fixed a couple of typos in
+	  comments.
+
+2005-08-27 Saturday 15:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.158), src/Bounding_Box.cc
+	  (1.8), src/Bounding_Box.inlines.hh (1.5), src/Interval.cc (1.12),
+	  src/Interval.defs.hh (1.24), src/Interval.inlines.hh (1.23),
+	  src/Interval.types.hh (1.9), src/Polyhedron.inlines.hh (1.116),
+	  src/checked_mpq.inlines.hh (1.22): Obsolete class ERational
+	  removed.  In the process, fixed a couple of bugs whereby GMP
+	  rationals were created out of pairs of integers that could have
+	  common factors, yet the canonicalize() method was not invoked.
+
+2005-08-27 Saturday 11:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* utils/Makefile.am (1.5): Ensure the `text2cxxarray' script is
+	  distributed.
+
+2005-08-27 Saturday 11:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* utils/Makefile.am (1.4): The `text2cxxarray' script is now listed
+	  in `noinst_SCRIPTS'.
+
+2005-08-27 Saturday 10:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.171), src/checked_float.inlines.hh (1.41): Check
+	  for the declaration of long double rintl(long double x): rintl()
+	  is not provided on systems that do not have proper long doubles.
+
+2005-08-26 Friday 11:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.170): Comment restored.
+
+2005-08-26 Friday 10:04  Abramo Bagnara
+
+	* src/: checked.defs.hh (1.22), checked_ext.inlines.hh (1.20),
+	  checked_float.inlines.hh (1.40), checked_int.inlines.hh (1.36),
+	  checked_mpq.inlines.hh (1.21), checked_mpz.inlines.hh (1.25):
+	  Finer grain for policy. New special values functions. Use
+	  assertions when policy does not request checks.
+
+2005-08-26 Friday 10:02  Abramo Bagnara
+
+	* src/Checked_Number.inlines.hh (1.36): Added special values
+	  funcions.
+
+2005-08-26 Friday 10:01  Abramo Bagnara
+
+	* src/Checked_Number.defs.hh (1.31): Finer grain for policy.
+
+2005-08-25 Thursday 21:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/E_NIT.defs.hh (1.6), src/E_NIT.inlines.hh (1.11),
+	  src/E_NIT.types.hh (1.4), src/E_Rational.defs.hh (1.6),
+	  src/E_Rational.inlines.hh (1.9), src/E_Rational.types.hh (1.4),
+	  src/Makefile.am (1.116), tests/BD_Shape/maxspacedim.cc (1.6):
+	  Obsolete classes E_NIT and E_Rational removed.
+
+2005-08-25 Thursday 18:37  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, limitedextrapolation1.cc
+	  (grids.[26,1]): Add limitedextrapolation1.
+
+2005-08-25 Thursday 18:36  Matthew Mundell
+
+	* tests/Grid/widening1.cc (grids.2): Add congruences to the correct
+	  grid in test5.  Improve a comment.  Use a definition for the
+	  token count in test10.  Take out the old test invocations.
+
+2005-08-25 Thursday 18:30  Matthew Mundell
+
+	* tests/Grid/relations2.cc (grids.3): Add test9, in which a grid
+	  with a line strictly intersects a relational congruence.
+
+2005-08-25 Thursday 18:19  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid_widenings.cc (grids.[37,2]): Add method
+	  limited_extrapolation_assign.  Improve the description of
+	  dim_kinds.  Rename the congruence parameter in the relation_with
+	  declaration to cg.
+
+2005-08-25 Thursday 18:09  Matthew Mundell
+
+	* src/Grid_public.cc (grids.53): In relation_with(cg) only modulate
+	  the scalar product for points and parameters.
+
+2005-08-25 Thursday 18:06  Matthew Mundell
+
+	* src/Grid.inlines.hh (grids.12): Swap dim_kinds in method swap.
+
+2005-08-23 Tuesday 22:07  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, widening1.cc (grids.[25,1]): Add
+	  widening1.
+
+2005-08-23 Tuesday 22:06  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid_widenings.cc (grids.[36,1]): Add methods
+	  widening_assign and select_wider_congruences.
+
+2005-08-23 Tuesday 11:22  Matthew Mundell
+
+	* src/: Congruence.defs.hh, Grid_conversion.cc, Grid_simplify.cc
+	  (grids.[15,18,28]): Prefer postfix operators.
+
+2005-08-22 Monday 12:18  Matthew Mundell
+
+	* src/Grid_public.cc (grids.52): In OK check dim_kinds size before
+	  checking upper triangularity.
+
+2005-08-22 Monday 07:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.sty (1.21): Restored comment broken with previous commit.
+
+2005-08-22 Monday 00:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.32), config.sub (1.31), Watchdog/config.guess
+	  (1.16), Watchdog/config.sub (1.16): Updated.
+
+2005-08-22 Monday 00:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* COPYING (1.3), Makefile.am (1.30), README (1.37),
+	  README.configure (1.14), build_header (1.2), compile (1.6),
+	  config.guess (1.31), config.rpath (1.4), config.sub (1.30),
+	  configure.ac (1.169), depcomp (1.11), ltmain.sh (1.25), missing
+	  (1.11), Watchdog/COPYING (1.3),
+	  Watchdog/Doubly_Linked_Object.defs.hh (1.3),
+	  Watchdog/Doubly_Linked_Object.inlines.hh (1.3),
+	  Watchdog/EList.defs.hh (1.5), Watchdog/EList.inlines.hh (1.4),
+	  Watchdog/EList_Iterator.defs.hh (1.3),
+	  Watchdog/EList_Iterator.inlines.hh (1.4),
+	  Watchdog/Handler.defs.hh (1.5), Watchdog/Handler.inlines.hh
+	  (1.4), Watchdog/Makefile.am (1.19), Watchdog/Pending_Element.cc
+	  (1.3), Watchdog/Pending_Element.defs.hh (1.3),
+	  Watchdog/Pending_Element.inlines.hh (1.3),
+	  Watchdog/Pending_List.cc (1.3), Watchdog/Pending_List.defs.hh
+	  (1.3), Watchdog/Pending_List.inlines.hh (1.3), Watchdog/README
+	  (1.11), Watchdog/Time.cc (1.3), Watchdog/Time.defs.hh (1.3),
+	  Watchdog/Time.inlines.hh (1.4), Watchdog/Watchdog.cc (1.20),
+	  Watchdog/Watchdog.defs.hh (1.16), Watchdog/Watchdog.inlines.hh
+	  (1.13), Watchdog/compile (1.6), Watchdog/config.guess (1.15),
+	  Watchdog/config.sub (1.15), Watchdog/configure.ac (1.26),
+	  Watchdog/depcomp (1.9), Watchdog/ltmain.sh (1.14),
+	  Watchdog/missing (1.7), Watchdog/pwl_header.top (1.7),
+	  debian/libppl-pwl.copyright.in (1.2), debian/libppl.copyright.in
+	  (1.2), demos/Makefile.am (1.7), demos/ppl_lcdd/Makefile.am
+	  (1.20), demos/ppl_lcdd/ppl_lcdd.cc (1.44),
+	  demos/ppl_lcdd/examples/Makefile.am (1.5),
+	  demos/ppl_lpsol/Makefile.am (1.14), demos/ppl_lpsol/ppl_lpsol.c
+	  (1.17), demos/ppl_lpsol/examples/Makefile.am (1.4),
+	  doc/Makefile.am (1.35), doc/README.doc (1.5), doc/fdl.dox (1.7),
+	  doc/fdl.tex (1.4), doc/fdl.txt (1.2), doc/gpl.dox (1.7),
+	  doc/gpl.tex (1.3), doc/gpl.txt (1.3), doc/ppl.sty (1.20),
+	  interfaces/Makefile.am (1.11), interfaces/C/Makefile.am (1.19),
+	  interfaces/C/ppl_c.cc (1.136), interfaces/C/ppl_c.h.in (1.51),
+	  interfaces/OCaml/Makefile.am (1.10),
+	  interfaces/Prolog/Makefile.am (1.28),
+	  interfaces/Prolog/Prolog_interface.dox (1.133),
+	  interfaces/Prolog/exceptions.hh (1.16),
+	  interfaces/Prolog/ppl_prolog.icc (1.157),
+	  interfaces/Prolog/track_allocation.hh (1.17),
+	  interfaces/Prolog/Ciao/Makefile.am (1.43),
+	  interfaces/Prolog/Ciao/ciao_clpq.pl (1.15),
+	  interfaces/Prolog/Ciao/ciao_clpq2.pl (1.11),
+	  interfaces/Prolog/Ciao/ciao_pl_check.pl (1.12),
+	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.32),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.80),
+	  interfaces/Prolog/GNU/Makefile.am (1.47),
+	  interfaces/Prolog/GNU/gnu_pl_check.pl (1.6),
+	  interfaces/Prolog/GNU/gp_clpq.pl (1.9),
+	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.52),
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.28),
+	  interfaces/Prolog/SICStus/Makefile.am (1.53),
+	  interfaces/Prolog/SICStus/ppl_sicstus.pl (1.25),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.76),
+	  interfaces/Prolog/SICStus/sicstus_cfli.cc (1.5),
+	  interfaces/Prolog/SICStus/sicstus_cfli.h (1.6),
+	  interfaces/Prolog/SICStus/sicstus_cfli.ic (1.12),
+	  interfaces/Prolog/SICStus/sp_clpq.pl (1.12),
+	  interfaces/Prolog/SICStus/sp_pl_check.pl (1.4),
+	  interfaces/Prolog/SWI/Makefile.am (1.51),
+	  interfaces/Prolog/SWI/pl_clpq.cc (1.9),
+	  interfaces/Prolog/SWI/pl_clpq.pl (1.8),
+	  interfaces/Prolog/SWI/ppl_pl.cc (1.9),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.100),
+	  interfaces/Prolog/SWI/ppl_swiprolog.pl (1.5),
+	  interfaces/Prolog/SWI/swi_pl_check.pl (1.5),
+	  interfaces/Prolog/XSB/Makefile.am (1.34),
+	  interfaces/Prolog/XSB/ppl_xsb.H (1.39),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.67),
+	  interfaces/Prolog/XSB/xsb_clpq.P (1.14),
+	  interfaces/Prolog/XSB/xsb_clpq2.P (1.12),
+	  interfaces/Prolog/XSB/xsb_pl_check.P (1.17),
+	  interfaces/Prolog/YAP/Makefile.am (1.38),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.92),
+	  interfaces/Prolog/YAP/ppl_yap.pl (1.9),
+	  interfaces/Prolog/YAP/yap_clpq.pl (1.10),
+	  interfaces/Prolog/YAP/yap_clpq2.pl (1.6),
+	  interfaces/Prolog/YAP/yap_pl_check.pl (1.8),
+	  interfaces/Prolog/tests/Makefile.am (1.5),
+	  interfaces/Prolog/tests/clpq.pl (1.6),
+	  interfaces/Prolog/tests/clpq2.pl (1.6),
+	  interfaces/Prolog/tests/pl_check.pl (1.8), m4/Makefile.am (1.13),
+	  m4/ac_check_gmp.m4 (1.21), m4/ac_check_swi_prolog.m4 (1.2),
+	  m4/ac_cxx_attribute_weak.m4 (1.5), m4/ac_cxx_double_is_iec_559.m4
+	  (1.3), m4/ac_cxx_flexible_arrays.m4 (1.10),
+	  m4/ac_cxx_float_is_iec_559.m4 (1.3), m4/ac_cxx_long_double.m4
+	  (1.4), m4/ac_cxx_long_double_is_iec_559.m4 (1.3),
+	  m4/ac_cxx_long_long.m4 (1.3), src/Ask_Tell.defs.hh (1.5),
+	  src/Ask_Tell.inlines.hh (1.5), src/BDS_Status.idefs.hh (1.7),
+	  src/BDS_Status.inlines.hh (1.5), src/BD_Shape.defs.hh (1.21),
+	  src/BD_Shape.inlines.hh (1.52), src/BHRZ03_Certificate.cc (1.8),
+	  src/BHRZ03_Certificate.defs.hh (1.11),
+	  src/BHRZ03_Certificate.inlines.hh (1.6), src/Bounding_Box.cc
+	  (1.7), src/Bounding_Box.defs.hh (1.7),
+	  src/Bounding_Box.inlines.hh (1.4), src/C_Polyhedron.cc (1.15),
+	  src/C_Polyhedron.defs.hh (1.33), src/C_Polyhedron.inlines.hh
+	  (1.26), src/Checked_Number.cc (1.7), src/Checked_Number.defs.hh
+	  (1.30), src/Checked_Number.inlines.hh (1.35), src/Coefficient.cc
+	  (1.3), src/Coefficient.defs.hh (1.3), src/Coefficient.inlines.hh
+	  (1.3), src/Constraint.cc (1.51), src/Constraint.defs.hh (1.104),
+	  src/Constraint.inlines.hh (1.60), src/Constraint_System.cc (1.8),
+	  src/Constraint_System.defs.hh (1.10),
+	  src/Constraint_System.inlines.hh (1.4), src/DB_Matrix.defs.hh
+	  (1.5), src/DB_Matrix.inlines.hh (1.5), src/DB_Row.defs.hh (1.7),
+	  src/DB_Row.inlines.hh (1.7), src/Determinate.defs.hh (1.55),
+	  src/Determinate.inlines.hh (1.48), src/E_NIT.defs.hh (1.5),
+	  src/E_NIT.inlines.hh (1.10), src/E_Rational.defs.hh (1.5),
+	  src/E_Rational.inlines.hh (1.8), src/Float.defs.hh (1.8),
+	  src/Float.inlines.hh (1.9), src/GMP_Integer.defs.hh (1.6),
+	  src/GMP_Integer.inlines.hh (1.5), src/Generator.cc (1.62),
+	  src/Generator.defs.hh (1.105), src/Generator.inlines.hh (1.55),
+	  src/Generator_System.cc (1.7), src/Generator_System.defs.hh
+	  (1.8), src/Generator_System.inlines.hh (1.4),
+	  src/H79_Certificate.cc (1.7), src/H79_Certificate.defs.hh (1.10),
+	  src/H79_Certificate.inlines.hh (1.5), src/Init.cc (1.18),
+	  src/Init.defs.hh (1.13), src/Interval.cc (1.11),
+	  src/Interval.defs.hh (1.23), src/Interval.inlines.hh (1.22),
+	  src/Limits.hh (1.7), src/Linear_Expression.cc (1.5),
+	  src/Linear_Expression.defs.hh (1.9),
+	  src/Linear_Expression.inlines.hh (1.5), src/Linear_Row.cc (1.6),
+	  src/Linear_Row.defs.hh (1.9), src/Linear_Row.inlines.hh (1.8),
+	  src/Linear_System.cc (1.19), src/Linear_System.defs.hh (1.14),
+	  src/Linear_System.inlines.hh (1.17), src/Makefile.am (1.115),
+	  src/Matrix.cc (1.82), src/Matrix.defs.hh (1.69),
+	  src/Matrix.inlines.hh (1.44), src/NNC_Polyhedron.cc (1.14),
+	  src/NNC_Polyhedron.defs.hh (1.35), src/NNC_Polyhedron.inlines.hh
+	  (1.29), src/Native_Integer.defs.hh (1.11),
+	  src/Native_Integer.inlines.hh (1.10), src/Numeric_Format.defs.hh
+	  (1.4), src/Ph_Status.cc (1.7), src/Ph_Status.idefs.hh (1.10),
+	  src/Ph_Status.inlines.hh (1.6), src/Poly_Con_Relation.cc (1.10),
+	  src/Poly_Con_Relation.defs.hh (1.27),
+	  src/Poly_Con_Relation.inlines.hh (1.13), src/Poly_Gen_Relation.cc
+	  (1.10), src/Poly_Gen_Relation.defs.hh (1.25),
+	  src/Poly_Gen_Relation.inlines.hh (1.13),
+	  src/Polyhedra_Powerset.defs.hh (1.16),
+	  src/Polyhedra_Powerset.inlines.hh (1.20), src/Polyhedron.defs.hh
+	  (1.274), src/Polyhedron.inlines.hh (1.115),
+	  src/Polyhedron_chdims.cc (1.30), src/Polyhedron_nonpublic.cc
+	  (1.48), src/Polyhedron_public.cc (1.58),
+	  src/Polyhedron_widenings.cc (1.45), src/Powerset.defs.hh (1.13),
+	  src/Powerset.inlines.hh (1.10), src/Ptr_Iterator.defs.hh (1.4),
+	  src/Ptr_Iterator.inlines.hh (1.4), src/Result.defs.hh (1.10),
+	  src/Result.inlines.hh (1.6), src/Rounding.defs.hh (1.13),
+	  src/Rounding.types.hh (1.4), src/Row.cc (1.81), src/Row.defs.hh
+	  (1.94), src/Row.inlines.hh (1.61), src/Saturation_Matrix.cc
+	  (1.4), src/Saturation_Matrix.defs.hh (1.3),
+	  src/Saturation_Matrix.inlines.hh (1.4), src/Saturation_Row.cc
+	  (1.7), src/Saturation_Row.defs.hh (1.6),
+	  src/Saturation_Row.inlines.hh (1.6), src/Variable.cc (1.19),
+	  src/Variable.defs.hh (1.46), src/Variable.inlines.hh (1.22),
+	  src/Widening_Function.defs.hh (1.11),
+	  src/Widening_Function.inlines.hh (1.10), src/algorithms.hh
+	  (1.41), src/checked.cc (1.3), src/checked.defs.hh (1.21),
+	  src/checked.inlines.hh (1.20), src/checked_ext.defs.hh (1.8),
+	  src/checked_ext.inlines.hh (1.19), src/checked_float.inlines.hh
+	  (1.39), src/checked_int.inlines.hh (1.35),
+	  src/checked_mpq.inlines.hh (1.20), src/checked_mpz.inlines.hh
+	  (1.24), src/checked_numeric_limits.hh (1.4), src/compiler.hh
+	  (1.5), src/conversion.cc (1.69), src/float.types.hh (1.8),
+	  src/fpu-c99.inlines.hh (1.7), src/fpu-ia32.inlines.hh (1.7),
+	  src/fpu-none.inlines.hh (1.2), src/fpu.defs.hh (1.5),
+	  src/globals.cc (1.21), src/globals.defs.hh (1.21),
+	  src/globals.inlines.hh (1.10), src/initializer.hh (1.11),
+	  src/max_space_dimension.hh (1.6), src/minimize.cc (1.41),
+	  src/namespaces.hh (1.2), src/ppl-config.cc.in (1.7),
+	  src/ppl_header.hh (1.3), src/simplex.cc (1.10), src/simplify.cc
+	  (1.43), src/swapping_sort.icc (1.9), src/version.cc (1.6),
+	  src/version.hh.in (1.11), tests/BBox.cc (1.10), tests/BBox.hh
+	  (1.9), tests/Makefile.am (1.243), tests/PFunction.cc (1.7),
+	  tests/PFunction.hh (1.7), tests/ehandlers.cc (1.7),
+	  tests/ehandlers.hh (1.12), tests/files.cc (1.7), tests/files.hh
+	  (1.8), tests/ppl_test.hh (1.24), tests/print.cc (1.16),
+	  tests/print.hh (1.20), tests/BD_Shape/Makefile.am (1.13),
+	  tests/BD_Shape/addconstraints1.cc (1.4),
+	  tests/BD_Shape/addspacedims1.cc (1.5),
+	  tests/BD_Shape/addspacedims2.cc (1.5),
+	  tests/BD_Shape/addspacedims3.cc (1.6),
+	  tests/BD_Shape/addspacedims4.cc (1.6),
+	  tests/BD_Shape/addspacedims5.cc (1.6),
+	  tests/BD_Shape/addspacedims6.cc (1.6),
+	  tests/BD_Shape/addspacedims7.cc (1.5),
+	  tests/BD_Shape/affineimage1.cc (1.5),
+	  tests/BD_Shape/affineimage2.cc (1.5),
+	  tests/BD_Shape/affineimage3.cc (1.5),
+	  tests/BD_Shape/affineimage4.cc (1.5),
+	  tests/BD_Shape/affineimage5.cc (1.5),
+	  tests/BD_Shape/affineimage6.cc (1.5),
+	  tests/BD_Shape/affineimage7.cc (1.5),
+	  tests/BD_Shape/affineimage8.cc (1.3),
+	  tests/BD_Shape/affineimage9.cc (1.3),
+	  tests/BD_Shape/affinepreimage1.cc (1.5),
+	  tests/BD_Shape/affinepreimage2.cc (1.5),
+	  tests/BD_Shape/affinepreimage3.cc (1.5),
+	  tests/BD_Shape/affinepreimage4.cc (1.5),
+	  tests/BD_Shape/affinepreimage5.cc (1.3),
+	  tests/BD_Shape/ascii_dump_load1.cc (1.6),
+	  tests/BD_Shape/ascii_dump_load2.cc (1.4),
+	  tests/BD_Shape/cc76extrapolation1.cc (1.4),
+	  tests/BD_Shape/cc76extrapolation2.cc (1.4),
+	  tests/BD_Shape/cc76extrapolation3.cc (1.4),
+	  tests/BD_Shape/cc76extrapolation4.cc (1.5),
+	  tests/BD_Shape/cc76extrapolation5.cc (1.4),
+	  tests/BD_Shape/cc76extrapolation6.cc (1.4),
+	  tests/BD_Shape/cc76narrowing1.cc (1.4),
+	  tests/BD_Shape/cc76narrowing2.cc (1.4),
+	  tests/BD_Shape/cc76narrowing3.cc (1.4),
+	  tests/BD_Shape/cc76narrowing4.cc (1.5),
+	  tests/BD_Shape/cc76narrowing5.cc (1.5),
+	  tests/BD_Shape/ch78widening1.cc (1.4),
+	  tests/BD_Shape/ch78widening2.cc (1.5),
+	  tests/BD_Shape/ch78widening3.cc (1.4),
+	  tests/BD_Shape/ch78widening4.cc (1.4),
+	  tests/BD_Shape/ch78widening5.cc (1.5),
+	  tests/BD_Shape/ch78widening6.cc (1.4),
+	  tests/BD_Shape/ch78widening7.cc (1.4),
+	  tests/BD_Shape/ch78widening8.cc (1.4),
+	  tests/BD_Shape/concatenate1.cc (1.5),
+	  tests/BD_Shape/concatenate2.cc (1.5),
+	  tests/BD_Shape/concatenate3.cc (1.4),
+	  tests/BD_Shape/concatenate4.cc (1.4),
+	  tests/BD_Shape/concatenate5.cc (1.5),
+	  tests/BD_Shape/constraints1.cc (1.6),
+	  tests/BD_Shape/constraints2.cc (1.5), tests/BD_Shape/contains1.cc
+	  (1.4), tests/BD_Shape/contains2.cc (1.6),
+	  tests/BD_Shape/contains3.cc (1.6), tests/BD_Shape/empty1.cc
+	  (1.4), tests/BD_Shape/empty2.cc (1.4), tests/BD_Shape/empty3.cc
+	  (1.5), tests/BD_Shape/empty4.cc (1.4), tests/BD_Shape/empty5.cc
+	  (1.4), tests/BD_Shape/equality1.cc (1.6),
+	  tests/BD_Shape/exceptions1.cc (1.5),
+	  tests/BD_Shape/exceptions2.cc (1.5),
+	  tests/BD_Shape/exceptions3.cc (1.7),
+	  tests/BD_Shape/fromgensys1.cc (1.4),
+	  tests/BD_Shape/generalizedaffineimage1.cc (1.5),
+	  tests/BD_Shape/generalizedaffineimage10.cc (1.5),
+	  tests/BD_Shape/generalizedaffineimage11.cc (1.4),
+	  tests/BD_Shape/generalizedaffineimage12.cc (1.4),
+	  tests/BD_Shape/generalizedaffineimage13.cc (1.2),
+	  tests/BD_Shape/generalizedaffineimage14.cc (1.5),
+	  tests/BD_Shape/generalizedaffineimage2.cc (1.5),
+	  tests/BD_Shape/generalizedaffineimage3.cc (1.6),
+	  tests/BD_Shape/generalizedaffineimage4.cc (1.5),
+	  tests/BD_Shape/generalizedaffineimage5.cc (1.5),
+	  tests/BD_Shape/generalizedaffineimage6.cc (1.4),
+	  tests/BD_Shape/generalizedaffineimage7.cc (1.5),
+	  tests/BD_Shape/generalizedaffineimage8.cc (1.5),
+	  tests/BD_Shape/generalizedaffineimage9.cc (1.4),
+	  tests/BD_Shape/h79widening1.cc (1.4),
+	  tests/BD_Shape/intersection1.cc (1.4),
+	  tests/BD_Shape/intersection2.cc (1.4),
+	  tests/BD_Shape/intersection3.cc (1.5),
+	  tests/BD_Shape/intersection4.cc (1.6),
+	  tests/BD_Shape/intersection5.cc (1.6),
+	  tests/BD_Shape/intersection6.cc (1.5),
+	  tests/BD_Shape/intersection7.cc (1.5),
+	  tests/BD_Shape/intersection8.cc (1.5),
+	  tests/BD_Shape/limitedCC76extrapolation1.cc (1.4),
+	  tests/BD_Shape/limitedCC76extrapolation2.cc (1.5),
+	  tests/BD_Shape/limitedCC76extrapolation3.cc (1.5),
+	  tests/BD_Shape/limitedCH78extrapolation1.cc (1.4),
+	  tests/BD_Shape/limitedCH78extrapolation2.cc (1.4),
+	  tests/BD_Shape/limitedCH78extrapolation3.cc (1.4),
+	  tests/BD_Shape/limitedCH78extrapolation4.cc (1.4),
+	  tests/BD_Shape/limitedCH78extrapolation5.cc (1.4),
+	  tests/BD_Shape/limitedCH78extrapolation6.cc (1.4),
+	  tests/BD_Shape/limitedCH78extrapolation7.cc (1.4),
+	  tests/BD_Shape/limitedCH78extrapolation8.cc (1.4),
+	  tests/BD_Shape/limitedCH78extrapolation9.cc (1.4),
+	  tests/BD_Shape/limitedh79extrapolation1.cc (1.4),
+	  tests/BD_Shape/mapspacedims1.cc (1.4),
+	  tests/BD_Shape/mapspacedims2.cc (1.5),
+	  tests/BD_Shape/mapspacedims3.cc (1.4),
+	  tests/BD_Shape/mapspacedims4.cc (1.5),
+	  tests/BD_Shape/maxspacedim.cc (1.5),
+	  tests/BD_Shape/polydifference1.cc (1.6),
+	  tests/BD_Shape/polydifference2.cc (1.4),
+	  tests/BD_Shape/polydifference3.cc (1.4),
+	  tests/BD_Shape/polydifference4.cc (1.4),
+	  tests/BD_Shape/polydifference5.cc (1.5),
+	  tests/BD_Shape/polydifference6.cc (1.4),
+	  tests/BD_Shape/polyhull1.cc (1.4), tests/BD_Shape/polyhull2.cc
+	  (1.4), tests/BD_Shape/polyhull3.cc (1.4),
+	  tests/BD_Shape/polyhull4.cc (1.4), tests/BD_Shape/relations1.cc
+	  (1.6), tests/BD_Shape/relations2.cc (1.6),
+	  tests/BD_Shape/relations3.cc (1.5), tests/BD_Shape/relations4.cc
+	  (1.4), tests/BD_Shape/relations5.cc (1.6),
+	  tests/BD_Shape/removespacedims1.cc (1.5),
+	  tests/BD_Shape/removespacedims2.cc (1.5),
+	  tests/BD_Shape/removespacedims3.cc (1.5),
+	  tests/BD_Shape/timeelapse1.cc (1.5),
+	  tests/BD_Shape/timeelapse2.cc (1.4),
+	  tests/BD_Shape/timeelapse3.cc (1.4),
+	  tests/BD_Shape/timeelapse4.cc (1.4),
+	  tests/BD_Shape/timeelapse5.cc (1.5), tests/BD_Shape/universe1.cc
+	  (1.5), tests/BD_Shape/writebdshape1.cc (1.2),
+	  tests/BD_Shape/writebdshape2.cc (1.3),
+	  tests/Polyhedron/CbecomesNNC1.cc (1.4),
+	  tests/Polyhedron/Makefile.am (1.25),
+	  tests/Polyhedron/NNCbecomesC1.cc (1.4),
+	  tests/Polyhedron/NNCminimize1.cc (1.4),
+	  tests/Polyhedron/NNCminimize2.cc (1.4),
+	  tests/Polyhedron/NNCminimize3.cc (1.4),
+	  tests/Polyhedron/NNCminimize4.cc (1.4),
+	  tests/Polyhedron/NNCminimize5.cc (1.4),
+	  tests/Polyhedron/NNCminimize6.cc (1.4), tests/Polyhedron/README
+	  (1.4), tests/Polyhedron/addconstraint1.cc (1.4),
+	  tests/Polyhedron/addconstraint2.cc (1.5),
+	  tests/Polyhedron/addconstraint3.cc (1.4),
+	  tests/Polyhedron/addconstraints1.cc (1.5),
+	  tests/Polyhedron/addconstraints10.cc (1.5),
+	  tests/Polyhedron/addconstraints11.cc (1.4),
+	  tests/Polyhedron/addconstraints12.cc (1.4),
+	  tests/Polyhedron/addconstraints13.cc (1.5),
+	  tests/Polyhedron/addconstraints2.cc (1.4),
+	  tests/Polyhedron/addconstraints3.cc (1.5),
+	  tests/Polyhedron/addconstraints4.cc (1.4),
+	  tests/Polyhedron/addconstraints5.cc (1.5),
+	  tests/Polyhedron/addconstraints6.cc (1.4),
+	  tests/Polyhedron/addconstraints7.cc (1.5),
+	  tests/Polyhedron/addconstraints8.cc (1.5),
+	  tests/Polyhedron/addconstraints9.cc (1.4),
+	  tests/Polyhedron/addgenerator1.cc (1.5),
+	  tests/Polyhedron/addgenerator2.cc (1.5),
+	  tests/Polyhedron/addgenerator3.cc (1.4),
+	  tests/Polyhedron/addgenerator4.cc (1.5),
+	  tests/Polyhedron/addgenerator5.cc (1.5),
+	  tests/Polyhedron/addgenerators1.cc (1.5),
+	  tests/Polyhedron/addgenerators10.cc (1.5),
+	  tests/Polyhedron/addgenerators11.cc (1.5),
+	  tests/Polyhedron/addgenerators12.cc (1.5),
+	  tests/Polyhedron/addgenerators13.cc (1.5),
+	  tests/Polyhedron/addgenerators2.cc (1.5),
+	  tests/Polyhedron/addgenerators3.cc (1.4),
+	  tests/Polyhedron/addgenerators4.cc (1.4),
+	  tests/Polyhedron/addgenerators5.cc (1.4),
+	  tests/Polyhedron/addgenerators6.cc (1.5),
+	  tests/Polyhedron/addgenerators7.cc (1.4),
+	  tests/Polyhedron/addgenerators8.cc (1.5),
+	  tests/Polyhedron/addgenerators9.cc (1.4),
+	  tests/Polyhedron/addspacedims1.cc (1.5),
+	  tests/Polyhedron/addspacedims10.cc (1.4),
+	  tests/Polyhedron/addspacedims11.cc (1.4),
+	  tests/Polyhedron/addspacedims12.cc (1.4),
+	  tests/Polyhedron/addspacedims13.cc (1.4),
+	  tests/Polyhedron/addspacedims2.cc (1.5),
+	  tests/Polyhedron/addspacedims3.cc (1.5),
+	  tests/Polyhedron/addspacedims4.cc (1.4),
+	  tests/Polyhedron/addspacedims5.cc (1.4),
+	  tests/Polyhedron/addspacedims6.cc (1.4),
+	  tests/Polyhedron/addspacedims7.cc (1.4),
+	  tests/Polyhedron/addspacedims8.cc (1.5),
+	  tests/Polyhedron/addspacedims9.cc (1.4),
+	  tests/Polyhedron/affineimage1.cc (1.5),
+	  tests/Polyhedron/affineimage2.cc (1.4),
+	  tests/Polyhedron/affineimage3.cc (1.4),
+	  tests/Polyhedron/affineimage4.cc (1.5),
+	  tests/Polyhedron/affineimage5.cc (1.5),
+	  tests/Polyhedron/affineimage6.cc (1.5),
+	  tests/Polyhedron/affineimage7.cc (1.4),
+	  tests/Polyhedron/affineimage8.cc (1.4),
+	  tests/Polyhedron/affineimage9.cc (1.4),
+	  tests/Polyhedron/affinepreimage1.cc (1.4),
+	  tests/Polyhedron/affinepreimage10.cc (1.4),
+	  tests/Polyhedron/affinepreimage11.cc (1.2),
+	  tests/Polyhedron/affinepreimage2.cc (1.4),
+	  tests/Polyhedron/affinepreimage3.cc (1.5),
+	  tests/Polyhedron/affinepreimage4.cc (1.4),
+	  tests/Polyhedron/affinepreimage5.cc (1.4),
+	  tests/Polyhedron/affinepreimage6.cc (1.4),
+	  tests/Polyhedron/affinepreimage7.cc (1.4),
+	  tests/Polyhedron/affinepreimage8.cc (1.5),
+	  tests/Polyhedron/affinepreimage9.cc (1.4),
+	  tests/Polyhedron/affinetrans.cc (1.5),
+	  tests/Polyhedron/append1.cc (1.4), tests/Polyhedron/append2.cc
+	  (1.4), tests/Polyhedron/ascii_dump_load1.cc (1.4),
+	  tests/Polyhedron/ascii_dump_load2.cc (1.4),
+	  tests/Polyhedron/ascii_dump_load3.cc (1.4),
+	  tests/Polyhedron/ascii_dump_load4.cc (1.4),
+	  tests/Polyhedron/ascii_dump_load5.cc (1.4),
+	  tests/Polyhedron/ascii_dump_load6.cc (1.5),
+	  tests/Polyhedron/ascii_dump_load7.cc (1.4),
+	  tests/Polyhedron/bgp99extrapolation1.cc (1.5),
+	  tests/Polyhedron/bgp99extrapolation2.cc (1.5),
+	  tests/Polyhedron/bhrz03widening1.cc (1.4),
+	  tests/Polyhedron/bhrz03widening10.cc (1.5),
+	  tests/Polyhedron/bhrz03widening11.cc (1.4),
+	  tests/Polyhedron/bhrz03widening12.cc (1.4),
+	  tests/Polyhedron/bhrz03widening13.cc (1.4),
+	  tests/Polyhedron/bhrz03widening14.cc (1.4),
+	  tests/Polyhedron/bhrz03widening15.cc (1.5),
+	  tests/Polyhedron/bhrz03widening16.cc (1.4),
+	  tests/Polyhedron/bhrz03widening17.cc (1.4),
+	  tests/Polyhedron/bhrz03widening18.cc (1.4),
+	  tests/Polyhedron/bhrz03widening19.cc (1.4),
+	  tests/Polyhedron/bhrz03widening2.cc (1.4),
+	  tests/Polyhedron/bhrz03widening3.cc (1.4),
+	  tests/Polyhedron/bhrz03widening4.cc (1.4),
+	  tests/Polyhedron/bhrz03widening5.cc (1.4),
+	  tests/Polyhedron/bhrz03widening6.cc (1.4),
+	  tests/Polyhedron/bhrz03widening7.cc (1.4),
+	  tests/Polyhedron/bhrz03widening8.cc (1.4),
+	  tests/Polyhedron/bhrz03widening9.cc (1.4),
+	  tests/Polyhedron/bhz03widening1.cc (1.5),
+	  tests/Polyhedron/bhz03widening2.cc (1.5),
+	  tests/Polyhedron/bhz03widening3.cc (1.5),
+	  tests/Polyhedron/bhz03widening4.cc (1.5),
+	  tests/Polyhedron/bhz03widening5.cc (1.5),
+	  tests/Polyhedron/bhz03widening6.cc (1.5),
+	  tests/Polyhedron/bounded1.cc (1.5),
+	  tests/Polyhedron/boundedaffineimage1.cc (1.3),
+	  tests/Polyhedron/boundedaffineimage2.cc (1.2),
+	  tests/Polyhedron/boundedaffineimage3.cc (1.2),
+	  tests/Polyhedron/boundedaffinepreimage1.cc (1.2),
+	  tests/Polyhedron/boundedaffinepreimage2.cc (1.2),
+	  tests/Polyhedron/boundedaffinepreimage3.cc (1.2),
+	  tests/Polyhedron/boundedbhrz03extrapolation1.cc (1.3),
+	  tests/Polyhedron/boundedh79extrapolation1.cc (1.5),
+	  tests/Polyhedron/boundingbox1.cc (1.5),
+	  tests/Polyhedron/boundingbox2.cc (1.5),
+	  tests/Polyhedron/boundingbox3.cc (1.5),
+	  tests/Polyhedron/boundingbox4.cc (1.5),
+	  tests/Polyhedron/boundingbox5.cc (1.5),
+	  tests/Polyhedron/bounds1.cc (1.5), tests/Polyhedron/bounds2.cc
+	  (1.4), tests/Polyhedron/bug2.cc (1.3),
+	  tests/Polyhedron/concatenate1.cc (1.4),
+	  tests/Polyhedron/concatenate2.cc (1.5),
+	  tests/Polyhedron/concatenate3.cc (1.4),
+	  tests/Polyhedron/concatenate4.cc (1.4),
+	  tests/Polyhedron/concatenate5.cc (1.4),
+	  tests/Polyhedron/concatenate6.cc (1.5),
+	  tests/Polyhedron/concatenate7.cc (1.3),
+	  tests/Polyhedron/constraints1.cc (1.4),
+	  tests/Polyhedron/constraints2.cc (1.5),
+	  tests/Polyhedron/constraints3.cc (1.4),
+	  tests/Polyhedron/constraints4.cc (1.5),
+	  tests/Polyhedron/constraints5.cc (1.3),
+	  tests/Polyhedron/contains1.cc (1.4),
+	  tests/Polyhedron/contains2.cc (1.4),
+	  tests/Polyhedron/contains3.cc (1.4),
+	  tests/Polyhedron/contains4.cc (1.4),
+	  tests/Polyhedron/contains5.cc (1.4),
+	  tests/Polyhedron/disjoint1.cc (1.4),
+	  tests/Polyhedron/disjoint2.cc (1.5),
+	  tests/Polyhedron/disjoint3.cc (1.5),
+	  tests/Polyhedron/dualhypercubes.cc (1.4),
+	  tests/Polyhedron/empty1.cc (1.5), tests/Polyhedron/equals1.cc
+	  (1.4), tests/Polyhedron/exceptions1.cc (1.6),
+	  tests/Polyhedron/exceptions2.cc (1.5),
+	  tests/Polyhedron/exceptions3.cc (1.6),
+	  tests/Polyhedron/expandspacedim1.cc (1.5),
+	  tests/Polyhedron/expandspacedim2.cc (1.5),
+	  tests/Polyhedron/foldspacedims1.cc (1.5),
+	  tests/Polyhedron/foldspacedims2.cc (1.5),
+	  tests/Polyhedron/generalizedaffineimage1.cc (1.5),
+	  tests/Polyhedron/generalizedaffineimage10.cc (1.4),
+	  tests/Polyhedron/generalizedaffineimage11.cc (1.5),
+	  tests/Polyhedron/generalizedaffineimage12.cc (1.4),
+	  tests/Polyhedron/generalizedaffineimage13.cc (1.3),
+	  tests/Polyhedron/generalizedaffineimage14.cc (1.3),
+	  tests/Polyhedron/generalizedaffineimage2.cc (1.5),
+	  tests/Polyhedron/generalizedaffineimage3.cc (1.5),
+	  tests/Polyhedron/generalizedaffineimage4.cc (1.5),
+	  tests/Polyhedron/generalizedaffineimage5.cc (1.4),
+	  tests/Polyhedron/generalizedaffineimage6.cc (1.5),
+	  tests/Polyhedron/generalizedaffineimage7.cc (1.5),
+	  tests/Polyhedron/generalizedaffineimage8.cc (1.4),
+	  tests/Polyhedron/generalizedaffineimage9.cc (1.4),
+	  tests/Polyhedron/generalizedaffinepreimage1.cc (1.2),
+	  tests/Polyhedron/generalizedaffinepreimage2.cc (1.2),
+	  tests/Polyhedron/generalizedaffinepreimage3.cc (1.2),
+	  tests/Polyhedron/generalizedaffinepreimage4.cc (1.2),
+	  tests/Polyhedron/generators1.cc (1.4),
+	  tests/Polyhedron/generators2.cc (1.4),
+	  tests/Polyhedron/generators3.cc (1.5),
+	  tests/Polyhedron/generators4.cc (1.5),
+	  tests/Polyhedron/generators5.cc (1.4),
+	  tests/Polyhedron/generators6.cc (1.5),
+	  tests/Polyhedron/generators7.cc (1.4),
+	  tests/Polyhedron/geomcovers1.cc (1.5),
+	  tests/Polyhedron/h79widening1.cc (1.4),
+	  tests/Polyhedron/h79widening2.cc (1.4),
+	  tests/Polyhedron/h79widening3.cc (1.4),
+	  tests/Polyhedron/h79widening4.cc (1.4),
+	  tests/Polyhedron/h79widening5.cc (1.5),
+	  tests/Polyhedron/h79widening6.cc (1.4),
+	  tests/Polyhedron/h79widening7.cc (1.4),
+	  tests/Polyhedron/h79widening8.cc (1.4),
+	  tests/Polyhedron/intersection1.cc (1.4),
+	  tests/Polyhedron/intersection10.cc (1.5),
+	  tests/Polyhedron/intersection11.cc (1.5),
+	  tests/Polyhedron/intersection2.cc (1.4),
+	  tests/Polyhedron/intersection3.cc (1.4),
+	  tests/Polyhedron/intersection4.cc (1.5),
+	  tests/Polyhedron/intersection5.cc (1.5),
+	  tests/Polyhedron/intersection6.cc (1.5),
+	  tests/Polyhedron/intersection7.cc (1.4),
+	  tests/Polyhedron/intersection8.cc (1.5),
+	  tests/Polyhedron/intersection9.cc (1.5),
+	  tests/Polyhedron/limitedbhrz03extrapolation1.cc (1.4),
+	  tests/Polyhedron/limitedh79extrapolation1.cc (1.4),
+	  tests/Polyhedron/limitedh79extrapolation2.cc (1.4),
+	  tests/Polyhedron/limitedh79extrapolation3.cc (1.4),
+	  tests/Polyhedron/limitedh79extrapolation4.cc (1.5),
+	  tests/Polyhedron/linearpartition1.cc (1.4),
+	  tests/Polyhedron/linearpartition2.cc (1.4),
+	  tests/Polyhedron/linearpartition3.cc (1.4),
+	  tests/Polyhedron/linearpartition4.cc (1.5),
+	  tests/Polyhedron/linexpression1.cc (1.4),
+	  tests/Polyhedron/mapspacedims1.cc (1.5),
+	  tests/Polyhedron/mapspacedims2.cc (1.4),
+	  tests/Polyhedron/mapspacedims3.cc (1.4),
+	  tests/Polyhedron/mapspacedims4.cc (1.4),
+	  tests/Polyhedron/max_min1.cc (1.4), tests/Polyhedron/max_min2.cc
+	  (1.4), tests/Polyhedron/maxspacedim1.cc (1.4),
+	  tests/Polyhedron/mc91.cc (1.5), tests/Polyhedron/membytes1.cc
+	  (1.5), tests/Polyhedron/membytes2.cc (1.4),
+	  tests/Polyhedron/memory1.cc (1.6), tests/Polyhedron/memory2.cc
+	  (1.9), tests/Polyhedron/minconstraints1.cc (1.4),
+	  tests/Polyhedron/minconstraints2.cc (1.5),
+	  tests/Polyhedron/minconstraints3.cc (1.4),
+	  tests/Polyhedron/minconstraints4.cc (1.4),
+	  tests/Polyhedron/mingenerators1.cc (1.4),
+	  tests/Polyhedron/mingenerators2.cc (1.5),
+	  tests/Polyhedron/mingenerators3.cc (1.4),
+	  tests/Polyhedron/onepoint.cc (1.5), tests/Polyhedron/permute.cc
+	  (1.4), tests/Polyhedron/polydifference1.cc (1.4),
+	  tests/Polyhedron/polydifference2.cc (1.4),
+	  tests/Polyhedron/polydifference3.cc (1.4),
+	  tests/Polyhedron/polydifference4.cc (1.5),
+	  tests/Polyhedron/polydifference5.cc (1.4),
+	  tests/Polyhedron/polydifference6.cc (1.4),
+	  tests/Polyhedron/polydifference7.cc (1.5),
+	  tests/Polyhedron/polydifference8.cc (1.4),
+	  tests/Polyhedron/polydifference9.cc (1.5),
+	  tests/Polyhedron/polyhull1.cc (1.4),
+	  tests/Polyhedron/polyhull10.cc (1.4),
+	  tests/Polyhedron/polyhull11.cc (1.4),
+	  tests/Polyhedron/polyhull2.cc (1.5),
+	  tests/Polyhedron/polyhull3.cc (1.5),
+	  tests/Polyhedron/polyhull4.cc (1.4),
+	  tests/Polyhedron/polyhull5.cc (1.5),
+	  tests/Polyhedron/polyhull6.cc (1.4),
+	  tests/Polyhedron/polyhull7.cc (1.4),
+	  tests/Polyhedron/polyhull8.cc (1.5),
+	  tests/Polyhedron/polyhull9.cc (1.5),
+	  tests/Polyhedron/polypowerset1.cc (1.4),
+	  tests/Polyhedron/randphull1.cc (1.5),
+	  tests/Polyhedron/randphull2.cc (1.6),
+	  tests/Polyhedron/relations1.cc (1.4),
+	  tests/Polyhedron/relations10.cc (1.4),
+	  tests/Polyhedron/relations11.cc (1.4),
+	  tests/Polyhedron/relations12.cc (1.4),
+	  tests/Polyhedron/relations13.cc (1.4),
+	  tests/Polyhedron/relations14.cc (1.4),
+	  tests/Polyhedron/relations15.cc (1.4),
+	  tests/Polyhedron/relations16.cc (1.4),
+	  tests/Polyhedron/relations17.cc (1.5),
+	  tests/Polyhedron/relations18.cc (1.4),
+	  tests/Polyhedron/relations19.cc (1.5),
+	  tests/Polyhedron/relations2.cc (1.5),
+	  tests/Polyhedron/relations3.cc (1.4),
+	  tests/Polyhedron/relations4.cc (1.4),
+	  tests/Polyhedron/relations5.cc (1.4),
+	  tests/Polyhedron/relations6.cc (1.5),
+	  tests/Polyhedron/relations7.cc (1.4),
+	  tests/Polyhedron/relations8.cc (1.4),
+	  tests/Polyhedron/relations9.cc (1.4),
+	  tests/Polyhedron/removespacedims1.cc (1.4),
+	  tests/Polyhedron/removespacedims10.cc (1.5),
+	  tests/Polyhedron/removespacedims2.cc (1.4),
+	  tests/Polyhedron/removespacedims3.cc (1.5),
+	  tests/Polyhedron/removespacedims4.cc (1.4),
+	  tests/Polyhedron/removespacedims5.cc (1.5),
+	  tests/Polyhedron/removespacedims6.cc (1.4),
+	  tests/Polyhedron/removespacedims7.cc (1.4),
+	  tests/Polyhedron/removespacedims8.cc (1.4),
+	  tests/Polyhedron/removespacedims9.cc (1.4),
+	  tests/Polyhedron/smm1.cc (1.4), tests/Polyhedron/timeelapse1.cc
+	  (1.4), tests/Polyhedron/timeelapse2.cc (1.5),
+	  tests/Polyhedron/timeelapse3.cc (1.4),
+	  tests/Polyhedron/timeelapse4.cc (1.4),
+	  tests/Polyhedron/timeelapse5.cc (1.5),
+	  tests/Polyhedron/timeelapse6.cc (1.4),
+	  tests/Polyhedron/timeelapse7.cc (1.5),
+	  tests/Polyhedron/timeelapse8.cc (1.5),
+	  tests/Polyhedron/timeelapse9.cc (1.5),
+	  tests/Polyhedron/topclosed1.cc (1.5),
+	  tests/Polyhedron/topclosed2.cc (1.5),
+	  tests/Polyhedron/topclosed3.cc (1.4),
+	  tests/Polyhedron/topclosure1.cc (1.4),
+	  tests/Polyhedron/topclosure2.cc (1.5),
+	  tests/Polyhedron/topclosure3.cc (1.4),
+	  tests/Polyhedron/topclosure4.cc (1.5),
+	  tests/Polyhedron/universe1.cc (1.4),
+	  tests/Polyhedron/universe2.cc (1.4),
+	  tests/Polyhedron/universe3.cc (1.4),
+	  tests/Polyhedron/universe4.cc (1.4),
+	  tests/Polyhedron/universe5.cc (1.4),
+	  tests/Polyhedron/universe6.cc (1.4),
+	  tests/Polyhedron/universe7.cc (1.4),
+	  tests/Polyhedron/watchdog1.cc (1.5),
+	  tests/Polyhedron/writeconsys1.cc (1.4),
+	  tests/Polyhedron/writegensys1.cc (1.4),
+	  tests/Polyhedron/writegensys2.cc (1.5),
+	  tests/Polyhedron/writegensys3.cc (1.4),
+	  tests/Polyhedron/writepolyhedron1.cc (1.4),
+	  tests/Polyhedron/writepolyhedron2.cc (1.4),
+	  tests/Polyhedron/writepolyhedron3.cc (1.4),
+	  tests/Polyhedron/writerelation1.cc (1.4),
+	  tests/Polyhedron/writevariable1.cc (1.4), utils/Makefile.am
+	  (1.3), utils/text2cxxarray (1.2), utils/timings.cc (1.4),
+	  utils/timings.hh (1.3): Address of the Free Software Foundation
+	  updated.
+
+2005-08-21 Sunday 22:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl-config.cc.in (1.6): The --libs option has been removed
+	  (could not assign a decent semantics to it).
+
+2005-08-21 Sunday 22:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl-config.cc.in (1.5): Completed the work announced in the
+	  previous commit.
+
+2005-08-21 Sunday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl-config.cc.in (1.4): Implemented the --interface option.
+	  Keywords are now case-insensitive.
+
+2005-08-21 Sunday 20:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl-config.cc.in (1.3): Added the --coefficients option.
+
+2005-08-21 Sunday 01:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl-config.cc.in (1.2): Several improvements and new options.
+
+2005-08-20 Saturday 16:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.168), src/Makefile.am (1.114), src/ppl-config.cc
+	  (1.6), src/ppl-config.cc.in (1.1): A new implementation technique
+	  for `ppl-config' allows to deal with package relocations.
+
+2005-08-20 Saturday 00:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl-config.cc (1.5): New option --banner.
+
+2005-08-20 Saturday 00:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl-config.cc (1.4): Output format `raw' renamed `plain'.
+	  New output format `makefile'.
+
+2005-08-19 Friday 23:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Makefile.am (1.113), ppl-config.cc (1.3): Added support for
+	  the --prefix and the --exec-prefix options.
+
+2005-08-19 Friday 13:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.167): Version number bumped.
+
+2005-08-19 Friday 13:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl-config.cc (1.2): Added an option to print the `configure'
+	  options.
+
+2005-08-19 Friday 13:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.166): Keep track of the options with which
+	  `configure' was invoked.
+
+2005-08-19 Friday 11:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Makefile.am (1.112), ppl-config.cc (1.1): The ppl-config
+	  program allows to enquire about the configuration of the PPL and
+	  of the applications using it.
+
+2005-08-19 Friday 11:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* utils/text2cxxarray (1.1): Convert an ASCII text into the
+	  declaration of a C++ array.
+
+2005-08-18 Thursday 20:49  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, timeelapse1.cc (grids.[24,1]): Add
+	  timeelapse1.
+
+2005-08-18 Thursday 20:45  Matthew Mundell
+
+	* src/Grid_public.cc (grids.51): Enable method time_elapse_assign.
+
+2005-08-18 Thursday 20:44  Matthew Mundell
+
+	* src/Grid_nonpublic.cc (grids.25): Improve temporary comment.
+
+2005-08-18 Thursday 15:34  Matthew Mundell
+
+	* src/Grid_public.cc (grids.50): Check for points before adding
+	  lines in generalized_affine_image(lhs,rhs,m).
+
+2005-08-18 Thursday 15:24  Matthew Mundell
+
+	* tests/Grid/griddifference1.cc (grids.3): Add test11, in which
+	  many 2-complements are added to the result.
+
+2005-08-18 Thursday 12:59  Matthew Mundell
+
+	* tests/Grid/griddifference1.cc (grids.2): Add test10.
+
+2005-08-18 Thursday 12:21  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, generalizedaffinepreimage1.cc,
+	  generalizedaffinepreimage2.cc (grids.[23,1,1]): Add partial tests
+	  generalizedaffinepreimage1 and generalizedaffinepreimage2.
+
+2005-08-18 Thursday 12:18  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid_public.cc (grids.[35,49]): Add the
+	  generalized_affine_preimage methods.
+
+2005-08-18 Thursday 12:16  Matthew Mundell
+
+	* src/Congruence_System.cc (grids.19): Add a comment.
+
+2005-08-18 Thursday 12:15  Matthew Mundell
+
+	* src/Congruence.defs.hh (grids.14): Declare Linear_Expression a
+	  friend.
+
+2005-08-17 Wednesday 10:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/Makefile.am (1.50): Added
+	  -I$(SWI_PROLOG_INCLUDE_DIRECTORY) to AM_CPPFLAGS.
+
+2005-08-17 Wednesday 10:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.165): Use AC_CHECK_SWI_PROLOG to perform the
+	  checks for SWI Prolog.
+
+2005-08-17 Wednesday 10:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_swi_prolog.m4 (1.1): The new AC_CHECK_SWI_PROLOG
+	  function performs check for SWI Prolog by invoking the SWI-Prolog
+	  executable with `-dump-runtime-variables' option and interpreting
+	  the results.
+
+2005-08-17 Wednesday 10:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.24): Added
+	  boundedaffinepreimage2, generalizedaffinepreimage3,
+	  nnc_boundedaffinepreimage2 and nnc_generalizedaffinepreimage3 to
+	  XFAIL_WITH_INT8.
+
+2005-08-16 Tuesday 20:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/Makefile.am (1.49): Removed the "-goal
+	  main" options from the invocations of `plld'.
+
+2005-08-16 Tuesday 17:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.132): Stray \endcode
+	  fixed.  Formatting improvements.
+
+2005-08-16 Tuesday 17:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/PFunction.cc (1.6): Code formatting improved.
+
+2005-08-16 Tuesday 14:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.157): Announced new methods for computing preimages.
+
+2005-08-16 Tuesday 14:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.57): Corrected error in the
+	  implementation of generalized_affine_(pre)image.
+
+2005-08-16 Tuesday 14:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.135), ppl_c.h.in (1.50): Interfaced
+	  new methods for computing affine preimages.
+
+2005-08-16 Tuesday 12:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.173): Had another try at explaining the
+	  shorthand notation for affine relations.
+
+2005-08-16 Tuesday 11:44  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, griddifference1.cc (grids.[22,1]): Add
+	  griddifference1.
+
+2005-08-16 Tuesday 11:43  Matthew Mundell
+
+	* tests/: ppl_test.hh, print.hh (grids.[10,4]): Move dump_grids to
+	  print.hh.  Abort if the comparison in find_variation_template
+	  fails.
+
+2005-08-16 Tuesday 11:41  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid_nonpublic.cc, Grid_public.cc
+	  (grids.[34,24,48]): Enable grid_difference_assign.  Add and
+	  improve a few comments.  Take out some old Polyhedron code.
+
+2005-08-16 Tuesday 11:39  Matthew Mundell
+
+	* src/: Linear_Expression.cc, Linear_Expression.defs.hh
+	  (grids.[1,3]): Add constructor Linear_Expression(cg).
+
+2005-08-16 Tuesday 10:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.23), affinepreimage11.cc (1.1),
+	  boundedaffineimage3.cc (1.1), boundedaffinepreimage1.cc (1.1),
+	  boundedaffinepreimage2.cc (1.1), boundedaffinepreimage3.cc (1.1),
+	  generalizedaffinepreimage1.cc (1.1),
+	  generalizedaffinepreimage2.cc (1.1),
+	  generalizedaffinepreimage3.cc (1.1),
+	  generalizedaffinepreimage4.cc (1.1): Added tests for new methods
+	  computing preimages of polyhedra.
+
+2005-08-16 Tuesday 10:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh (1.273), Polyhedron_public.cc (1.56):
+	  Added methods generalized_affine_preimage() and
+	  bounded_affine_preimage().  A few improvements also in other
+	  affine images and preimages methods.
+
+2005-08-16 Tuesday 10:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (1.114): In map_space_dimensions,
+	  temporary constant declared const.
+
+2005-08-16 Tuesday 10:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Matrix.cc (1.81): Remove spurious space.
+
+2005-08-16 Tuesday 10:20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Constraint_System.cc (1.7): Avoid a too long line.
+
+2005-08-15 Monday 21:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.20), src/BD_Shape.inlines.hh (1.51),
+	  src/Checked_Number.defs.hh (1.29), src/DB_Row.inlines.hh (1.6),
+	  tests/ppl_test.hh (1.23): Old kludges removed.
+
+2005-08-15 Monday 21:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/Makefile.am (1.48): Use the "-goal main"
+	  option of `plld' instead of the more verbose (and obscure)
+	  "-pl-options,-g,main".
+
+2005-08-15 Monday 20:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/bug2.cc (1.2): Be more verbose.
+
+2005-08-12 Friday 19:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: definitions.dox (1.172), ppl.sty (1.19): Provided new
+	  description of affine transfer relations so as to also allow for
+	  preimages of (bounded or generalized) affine relations.
+
+2005-08-12 Friday 16:55  Matthew Mundell
+
+	* tests/Grid/generalizedaffineimage2.cc (grids.2): Add test22.
+
+2005-08-11 Thursday 17:29  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, generalizedaffineimage2.cc
+	  (grids.[21,1]): Add generalizedaffineimage2.
+
+2005-08-11 Thursday 17:27  Matthew Mundell
+
+	* tests/Grid/intersection2.cc (grids.3): Always call
+	  intersection_assign_and_minimize.  Only call find_variation after
+	  the operation.
+
+2005-08-11 Thursday 17:21  Matthew Mundell
+
+	* tests/Grid/intersection1.cc (grids.2): In test8 leave
+	  minimization to intersection_assign.
+
+2005-08-11 Thursday 17:20  Matthew Mundell
+
+	* src/Grid_public.cc (grids.47): In intersection_assign,
+	  add_recycled_congruences_and_minimize and
+	  add_recycled_congruences correct the sense of the test for
+	  emptiness.
+
+	  Enable generalized_affine_image(lhs,rhs,modulus).
+
+2005-08-11 Thursday 17:18  Matthew Mundell
+
+	* src/Grid.defs.hh (grids.33): Improve some descriptions.
+
+2005-08-09 Tuesday 16:37  Matthew Mundell
+
+	* tests/Grid/mapspacedims1.cc (grids.7): Correct comment.
+
+2005-08-09 Tuesday 16:36  Matthew Mundell
+
+	* src/Grid.defs.hh (grids.32): Markup parameters in the
+	  construct(gs,convert_rays_to_lines) description.
+
+2005-08-09 Tuesday 16:29  Matthew Mundell
+
+	* tests/Grid/mapspacedims1.cc (grids.6): Add test9, which tests a
+	  minimized grid in which the point contains factors and the
+	  divisor is greater than one.	Dump the grids on failure.
+
+2005-08-09 Tuesday 16:27  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid.inlines.hh, Grid_nonpublic.cc
+	  (grids.[31,11,23]): Add a convert_rays_to_line parameter to
+	  Grid(gs) and construct(gs).
+
+	  In map_space_dimensions, when the number of dimensions changes:
+
+	    - ensure that points and rays remain constant under the
+	  generator
+	      normalization that occurs when the points and rays are
+	  created
+
+	    - skip converting rays to lines when creating the temporary new
+	      grid.
+
+2005-08-08 Monday 20:01  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, generalizedaffineimage1.cc
+	  (grids.[20,1]): Add generalizedaffineimage1.
+
+2005-08-08 Monday 19:59  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid_public.cc (grids.[30,46]): Declare the
+	  generalized_affine_image methods.  Enable method
+	  generalized_affine_image(var,expr,denom,mod).  Clean some
+	  formatting.  Note where comments mention rays.
+
+2005-08-08 Monday 19:54  Matthew Mundell
+
+	* src/Generator_System.cc (grids.10): Call
+	  remove_invalid_lines_and_rays when grid is true.
+
+2005-08-03 Wednesday 20:36  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, foldspacedims1.cc (grids.[19,1]): Add
+	  foldspacedims1.
+
+2005-08-03 Wednesday 20:35  Matthew Mundell
+
+	* tests/Grid/join1.cc (grids.5): Add test6 and test7, in which the
+	  generators are initially out of date.
+
+2005-08-03 Wednesday 20:33  Matthew Mundell
+
+	* src/: Grid_chdims.cc, Grid_public.cc (grids.[14,45]): Enable
+	  fold_space_dimensions.  Invert the empty tests after updating in
+	  join_assign.
+
+2005-08-02 Tuesday 19:43  Matthew Mundell
+
+	* tests/Grid/affineimage1.cc (grids.2): Format linear expressions
+	  consistently.
+
+2005-08-02 Tuesday 19:42  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, affinepreimage1.cc (grids.[18,1]): Add
+	  affinepreimage1.
+
+2005-08-02 Tuesday 19:41  Matthew Mundell
+
+	* src/Grid_public.cc (grids.44): Enable affine_preimage.
+
+2005-08-01 Monday 18:32  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, affineimage1.cc (grids.[17,1]): Add
+	  affineimage1.
+
+2005-08-01 Monday 18:31  Matthew Mundell
+
+	* src/: Linear_Row.cc, Linear_Row.defs.hh (grids.[3,3]): Add method
+	  ascii_dump().
+
+2005-08-01 Monday 18:30  Matthew Mundell
+
+	* src/Grid_nonpublic.cc (grids.22): In normalize_divisors(sys,
+	  divisor) only set the divisor for points.
+
+2005-08-01 Monday 18:28  Matthew Mundell
+
+	* src/: Congruence_System.cc, Generator.cc, Generator.defs.hh,
+	  Generator_System.cc, Generator_System.defs.hh, Grid_public.cc,
+	  Linear_Expression.defs.hh (grids.[18,2,5,9,3,43,2]): Enable
+	  Congruence_System::affine_preimage and Grid::affine_image.
+
+	  Add parameter check_normalization to Generator::OK, which
+	  determines if normalization is checked.  Add parameter
+	  check_normalization to Generator_System methods OK and insert,
+	  which is passed through to Generator::OK.  Skip the normalization
+	  checks for the Grid generator system.
+
+	  Add parameter grid to Generator_System::affine_image, which
+	  determines if strong_normalize and remove_invalid_lines_and_rays
+	  are called.
+
+	  In add_generator normalize the generator's divisor after the
+	  generator is inserted.
+
+	  Declare Grid and Congruence_System friends of Linear_Expression.
+
+2005-07-27 Wednesday 13:18  Matthew Mundell
+
+	* tests/Grid/relations2.cc (grids.2): Add test4 to test8.
+
+2005-07-27 Wednesday 13:17  Matthew Mundell
+
+	* src/Grid_public.cc (grids.42): Update relation_with(cg) to handle
+	  any grid representation, instead of requiring a minimized
+	  representation.
+
+2005-07-24 Sunday 20:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.22): Added boundedaffineimage2
+	  and nnc_boundedaffineimage2 to XFAIL_WITH_INT8.
+
+2005-07-20 Wednesday 09:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.131):    Corrected
+	  documentation for the Prolog interface where the specifications
+	     for the predicates ppl_Polyhedron_contains_Polyhedron/2 and
+	     ppl_Polyhedron_strictly_contains_Polyhedron/2 referred to
+	  their arguments
+	     the wrong way round.
+
+2005-07-14 Thursday 20:53  Matthew Mundell
+
+	* tests/Grid/expandspacedim1.cc (grids.2): Indent the copyright
+	  line.
+
+2005-07-14 Thursday 20:52  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, relations1.cc, relations2.cc
+	  (grids.[16,1,1]): Add relations1 and relations2.
+
+2005-07-14 Thursday 20:51  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid_chdims.cc, Grid_public.cc
+	  (grids.[29,13,41]): Enable and convert relation_with(cg) and
+	  relation_with(g), adding an optional divisor argument to
+	  relations_with(g).
+
+2005-07-14 Thursday 20:47  Matthew Mundell
+
+	* src/: Congruence_System.cc, Congruence_System.defs.hh
+	  (grids.[17,12]): Add method insert_verbatim.
+
+2005-07-13 Wednesday 14:58  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, expandspacedim1.cc (grids.[15,1]): Add
+	  expandspacedim1.
+
+2005-07-13 Wednesday 14:56  Matthew Mundell
+
+	* src/Grid_chdims.cc (grids.12): Enable and convert
+	  expand_space_dimension.
+
+2005-07-12 Tuesday 16:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/boundedaffineimage1.cc (1.2): Corrected a typo
+	  in the expected result.
+
+2005-07-12 Tuesday 15:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.156): Announced new method
+	  Polyhedron::bounded_affine_image().
+
+2005-07-12 Tuesday 15:47  Matthew Mundell
+
+	* tests/Grid/: grid1.cc, grid2.cc (grids.[18,14]): Dump grids on
+	  failure.  Only use find_variation for the grid under test.
+	  Insert test9 to test12, test14 and test22, from the revised
+	  Chiara tests.
+
+2005-07-12 Tuesday 15:44  Matthew Mundell
+
+	* tests/ppl_test.hh (grids.9): Add macro dump_grids.
+
+2005-07-12 Tuesday 13:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.171), interfaces/C/ppl_c.cc (1.134),
+	  interfaces/C/ppl_c.h.in (1.49),
+	  interfaces/Prolog/Prolog_interface.dox (1.130),
+	  interfaces/Prolog/ppl_prolog.icc (1.156),
+	  interfaces/Prolog/Ciao/ciao_pl_check.pl (1.11),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.79),
+	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.51),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.75),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.99),
+	  interfaces/Prolog/XSB/ppl_xsb.H (1.38),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.66),
+	  interfaces/Prolog/XSB/xsb_pl_check.P (1.16),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.91), src/Polyhedron.defs.hh
+	  (1.272), src/Polyhedron_public.cc (1.55),
+	  tests/Polyhedron/Makefile.am (1.21),
+	  tests/Polyhedron/boundedaffineimage1.cc (1.1),
+	  tests/Polyhedron/boundedaffineimage2.cc (1.1),
+	  tests/Polyhedron/exceptions1.cc (1.5): The new method
+	  Polyhedron::affine_bounds() renamed as
+	  Polyhedron::bounded_affine_image(), added to all available
+	  interfaces and documented. Added a few tests on its C++ version
+	  (no test added yet for Prolog).
+
+2005-07-12 Tuesday 12:49  Matthew Mundell
+
+	* tests/Grid/: grid1.cc, grid2.cc (grids.[17,13]): Match tests to
+	  revised Chiara algorithm tests.
+
+2005-07-11 Monday 17:47  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid_minimize.cc, Grid_public.cc
+	  (grids.[28,16,40]): Replace both add_and_minimize methods with
+	  code in each caller.
+
+2005-07-11 Monday 08:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* compile (1.5), config.guess (1.30), config.sub (1.29), depcomp
+	  (1.10), mkinstalldirs (1.9), missing (1.10), Watchdog/compile
+	  (1.5), Watchdog/config.guess (1.14), Watchdog/config.sub (1.14),
+	  Watchdog/depcomp (1.8), Watchdog/missing (1.6),
+	  Watchdog/mkinstalldirs (1.5): Updated from Automake 1.9.6.
+
+2005-07-08 Friday 20:02  Matthew Mundell
+
+	* tests/Grid/: Makefile.am, equals1.cc (grids.[14,1]): Add equals,
+	  which tests operator== and operator!=.
+
+2005-07-08 Friday 19:58  Matthew Mundell
+
+	* tests/Grid/mapspacedims1.cc (grids.5): Correct test7 expected
+	  result.  Print test name from all tests.
+
+2005-07-08 Friday 19:57  Matthew Mundell
+
+	* tests/Grid/congruencesystem2.cc (grids.5): Add another line test,
+	  and some temporary comments.
+
+2005-07-08 Friday 19:56  Matthew Mundell
+
+	* tests/Grid/addgenerator1.cc (grids.8): Correct test3 expected
+	  result.
+
+2005-07-08 Friday 19:55  Matthew Mundell
+
+	* src/Congruence_System.cc (grids.16): In satisfies_all_congruences
+	  compare the entire scalar product to zero when the generator is a
+	  line.
+
+2005-07-07 Thursday 16:41  Matthew Mundell
+
+	* tests/Grid/join1.cc (grids.4): Add test5, which requires divisor
+	  normalisation.  Call join_assign instead of
+	  join_assign_and_minimize in test4.
+
+2005-07-07 Thursday 16:39  Matthew Mundell
+
+	* src/Grid_public.cc (grids.39): Match the divisors of the two
+	  generator systems in join_assign.
+
+2005-07-06 Wednesday 20:21  Matthew Mundell
+
+	* tests/Grid/congruencesystem2.cc, tests/Grid/grid1.cc,
+	  tests/Grid/grid2.cc, tests/Grid/removespacedims1.cc,
+	  src/Congruence_System.cc, src/Congruence_System.defs.hh,
+	  src/Grid_nonpublic.cc, src/Grid_public.cc
+	  (grids.[4,16,12,4,15,11,21,38]): Normalize divisors after
+	  converting from rays to lines.  Use the system-wide divisor to
+	  calculate the factor used when normalizing parameters.  In
+	  satisfies_all_congruences multiply the modulus by the divisor to
+	  account for the divisor when comparing parameters.
+
+	  Correct Chiara function names in grid1.cc comments.  Correct the
+	  expected results in grid1.cc test13 and test14, grid2.cc test2
+	  and test10 and removespacedims1.cc test1.  Insert test16 (from
+	  the chiara water monitor example) into grid1.cc.
+
+2005-07-06 Wednesday 19:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.155): Mentioned the bug corrected in
+	  generalized_affine_image() and the renaming of enumeration
+	  Degenerate_Element.
+
+2005-07-06 Wednesday 17:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.147): Degenerate_Kind is now named Degenerate_Element and
+	  placed outside of class Polyhedron. Namespaces are documented in
+	  namespaces.hh.
+
+2005-07-06 Wednesday 17:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.155): No longer using
+	  Degenerate_Kind.
+
+2005-07-06 Wednesday 17:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.133): Do use Degenerate_Element instead
+	  of Degenerate_Kind.
+
+2005-07-06 Wednesday 17:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref-browse.doxyconf-latex.in (1.55),
+	  devref-print.doxyconf-latex.in (1.55), devref.doxyconf-html.in
+	  (1.55): Also include namespaces.hh.
+
+2005-07-06 Wednesday 17:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: BD_Shape/addspacedims3.cc (1.5),
+	  BD_Shape/addspacedims4.cc (1.5), BD_Shape/addspacedims5.cc (1.5),
+	  BD_Shape/addspacedims6.cc (1.5), BD_Shape/addspacedims7.cc (1.4),
+	  BD_Shape/cc76extrapolation4.cc (1.4), BD_Shape/cc76narrowing4.cc
+	  (1.4), BD_Shape/cc76narrowing5.cc (1.4),
+	  BD_Shape/ch78widening2.cc (1.4), BD_Shape/ch78widening5.cc (1.4),
+	  BD_Shape/concatenate2.cc (1.4), BD_Shape/concatenate5.cc (1.4),
+	  BD_Shape/constraints1.cc (1.5), BD_Shape/contains2.cc (1.5),
+	  BD_Shape/contains3.cc (1.5), BD_Shape/equality1.cc (1.5),
+	  BD_Shape/fromgensys1.cc (1.3),
+	  BD_Shape/generalizedaffineimage14.cc (1.4),
+	  BD_Shape/generalizedaffineimage3.cc (1.5),
+	  BD_Shape/intersection4.cc (1.5), BD_Shape/intersection5.cc (1.5),
+	  BD_Shape/limitedCC76extrapolation2.cc (1.4),
+	  BD_Shape/limitedCC76extrapolation3.cc (1.4),
+	  BD_Shape/mapspacedims2.cc (1.4), BD_Shape/polydifference1.cc
+	  (1.5), BD_Shape/polydifference5.cc (1.4), BD_Shape/relations1.cc
+	  (1.5), BD_Shape/relations5.cc (1.5), BD_Shape/removespacedims2.cc
+	  (1.4), BD_Shape/removespacedims3.cc (1.4),
+	  BD_Shape/timeelapse1.cc (1.4), BD_Shape/timeelapse5.cc (1.4),
+	  BD_Shape/writebdshape2.cc (1.2), Polyhedron/addconstraint2.cc
+	  (1.4), Polyhedron/addconstraints1.cc (1.4),
+	  Polyhedron/addconstraints10.cc (1.4),
+	  Polyhedron/addconstraints13.cc (1.4),
+	  Polyhedron/addconstraints3.cc (1.4),
+	  Polyhedron/addconstraints5.cc (1.4),
+	  Polyhedron/addconstraints7.cc (1.4),
+	  Polyhedron/addconstraints8.cc (1.4), Polyhedron/addgenerator1.cc
+	  (1.4), Polyhedron/addgenerator2.cc (1.4),
+	  Polyhedron/addgenerator4.cc (1.4), Polyhedron/addgenerator5.cc
+	  (1.4), Polyhedron/addgenerators1.cc (1.4),
+	  Polyhedron/addgenerators10.cc (1.4),
+	  Polyhedron/addgenerators11.cc (1.4),
+	  Polyhedron/addgenerators12.cc (1.4),
+	  Polyhedron/addgenerators13.cc (1.4), Polyhedron/addgenerators2.cc
+	  (1.4), Polyhedron/addgenerators6.cc (1.4),
+	  Polyhedron/addgenerators8.cc (1.4), Polyhedron/addspacedims1.cc
+	  (1.4), Polyhedron/addspacedims2.cc (1.4),
+	  Polyhedron/addspacedims3.cc (1.4), Polyhedron/addspacedims8.cc
+	  (1.4), Polyhedron/affineimage1.cc (1.4),
+	  Polyhedron/affineimage4.cc (1.4), Polyhedron/affineimage5.cc
+	  (1.4), Polyhedron/affineimage6.cc (1.4),
+	  Polyhedron/affinepreimage3.cc (1.4),
+	  Polyhedron/affinepreimage8.cc (1.4),
+	  Polyhedron/ascii_dump_load6.cc (1.4),
+	  Polyhedron/bgp99extrapolation1.cc (1.4),
+	  Polyhedron/bgp99extrapolation2.cc (1.4),
+	  Polyhedron/bhrz03widening10.cc (1.4),
+	  Polyhedron/bhrz03widening15.cc (1.4),
+	  Polyhedron/bhz03widening1.cc (1.4), Polyhedron/bhz03widening2.cc
+	  (1.4), Polyhedron/bhz03widening3.cc (1.4),
+	  Polyhedron/bhz03widening4.cc (1.4), Polyhedron/bhz03widening5.cc
+	  (1.4), Polyhedron/bhz03widening6.cc (1.4), Polyhedron/bounded1.cc
+	  (1.4), Polyhedron/boundedbhrz03extrapolation1.cc (1.2),
+	  Polyhedron/boundingbox1.cc (1.4), Polyhedron/boundingbox2.cc
+	  (1.4), Polyhedron/boundingbox3.cc (1.4),
+	  Polyhedron/boundingbox4.cc (1.4), Polyhedron/boundingbox5.cc
+	  (1.4), Polyhedron/bounds1.cc (1.4), Polyhedron/concatenate2.cc
+	  (1.4), Polyhedron/concatenate6.cc (1.4),
+	  Polyhedron/concatenate7.cc (1.2), Polyhedron/constraints2.cc
+	  (1.4), Polyhedron/constraints4.cc (1.4), Polyhedron/disjoint2.cc
+	  (1.4), Polyhedron/disjoint3.cc (1.4), Polyhedron/empty1.cc (1.4),
+	  Polyhedron/exceptions1.cc (1.4), Polyhedron/exceptions2.cc (1.4),
+	  Polyhedron/exceptions3.cc (1.5), Polyhedron/expandspacedim1.cc
+	  (1.4), Polyhedron/expandspacedim2.cc (1.4),
+	  Polyhedron/foldspacedims1.cc (1.4), Polyhedron/foldspacedims2.cc
+	  (1.4), Polyhedron/generalizedaffineimage1.cc (1.4),
+	  Polyhedron/generalizedaffineimage11.cc (1.4),
+	  Polyhedron/generalizedaffineimage13.cc (1.2),
+	  Polyhedron/generalizedaffineimage14.cc (1.2),
+	  Polyhedron/generalizedaffineimage2.cc (1.4),
+	  Polyhedron/generalizedaffineimage3.cc (1.4),
+	  Polyhedron/generalizedaffineimage4.cc (1.4),
+	  Polyhedron/generalizedaffineimage6.cc (1.4),
+	  Polyhedron/generalizedaffineimage7.cc (1.4),
+	  Polyhedron/generators3.cc (1.4), Polyhedron/generators4.cc (1.4),
+	  Polyhedron/generators6.cc (1.4), Polyhedron/generators7.cc (1.3),
+	  Polyhedron/geomcovers1.cc (1.4), Polyhedron/h79widening5.cc
+	  (1.4), Polyhedron/intersection10.cc (1.4),
+	  Polyhedron/intersection11.cc (1.4), Polyhedron/intersection4.cc
+	  (1.4), Polyhedron/intersection5.cc (1.4),
+	  Polyhedron/intersection6.cc (1.4), Polyhedron/intersection8.cc
+	  (1.4), Polyhedron/intersection9.cc (1.4),
+	  Polyhedron/limitedh79extrapolation4.cc (1.4),
+	  Polyhedron/linearpartition4.cc (1.4), Polyhedron/mapspacedims1.cc
+	  (1.4), Polyhedron/mc91.cc (1.4), Polyhedron/membytes1.cc (1.4),
+	  Polyhedron/minconstraints2.cc (1.4), Polyhedron/mingenerators2.cc
+	  (1.4), Polyhedron/onepoint.cc (1.4),
+	  Polyhedron/polydifference4.cc (1.4),
+	  Polyhedron/polydifference7.cc (1.4),
+	  Polyhedron/polydifference9.cc (1.4), Polyhedron/polyhull2.cc
+	  (1.4), Polyhedron/polyhull3.cc (1.4), Polyhedron/polyhull5.cc
+	  (1.4), Polyhedron/polyhull8.cc (1.4), Polyhedron/polyhull9.cc
+	  (1.4), Polyhedron/polypowerset1.cc (1.3),
+	  Polyhedron/randphull1.cc (1.4), Polyhedron/randphull2.cc (1.5),
+	  Polyhedron/relations17.cc (1.4), Polyhedron/relations19.cc (1.4),
+	  Polyhedron/relations2.cc (1.4), Polyhedron/relations6.cc (1.4),
+	  Polyhedron/removespacedims10.cc (1.4),
+	  Polyhedron/removespacedims3.cc (1.4),
+	  Polyhedron/removespacedims5.cc (1.4), Polyhedron/timeelapse2.cc
+	  (1.4), Polyhedron/timeelapse5.cc (1.4), Polyhedron/timeelapse7.cc
+	  (1.4), Polyhedron/timeelapse8.cc (1.4), Polyhedron/timeelapse9.cc
+	  (1.4), Polyhedron/topclosed1.cc (1.4), Polyhedron/topclosed2.cc
+	  (1.4), Polyhedron/topclosure2.cc (1.4), Polyhedron/topclosure4.cc
+	  (1.4), Polyhedron/writegensys2.cc (1.4): Using Degenerate_Element
+	  instead of Polyhedron::Degenerate_Kind.
+
+2005-07-06 Wednesday 17:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.19), BD_Shape.inlines.hh (1.50),
+	  C_Polyhedron.defs.hh (1.32), C_Polyhedron.inlines.hh (1.25),
+	  Determinate.defs.hh (1.54), Determinate.inlines.hh (1.47),
+	  Makefile.am (1.111), NNC_Polyhedron.defs.hh (1.34),
+	  NNC_Polyhedron.inlines.hh (1.28), Polyhedra_Powerset.defs.hh
+	  (1.15), Polyhedra_Powerset.inlines.hh (1.19), Polyhedron.defs.hh
+	  (1.271), Polyhedron.types.hh (1.15), Polyhedron_nonpublic.cc
+	  (1.47), algorithms.hh (1.40), globals.defs.hh (1.20),
+	  namespaces.hh (1.1): Doxygen documentation for namespaces moved
+	  into namespaces.hh.  Polyhedron::Degenerate_Kind renamed as
+	  Degenerate_Element and moved outside of class Polyhedron in
+	  globals.hh.
+
+2005-07-06 Wednesday 17:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/memory1.cc (1.5), utils/timings.cc (1.3):
+	  <sys/resource.h> should always be included after <time.h> and
+	  <sys/time.h> so as to make sure we have the definitions for,
+	  e.g., `ru_utime'.
+
+2005-07-06 Wednesday 14:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref-browse.doxyconf-latex.in (1.54),
+	  devref-print.doxyconf-latex.in (1.54), devref.doxyconf-html.in
+	  (1.54), user-browse.doxyconf-latex.in (1.25),
+	  user-print.doxyconf-latex.in (1.25), user.doxyconf-html.in
+	  (1.27): Changed so as to reflect the fact that macro __P has been
+	  renamed PPL_PROTO.
+
+2005-07-06 Wednesday 10:58  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* STANDARDS (1.22): Minor typo correction.
+
+2005-07-06 Wednesday 10:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.146), src/Powerset.defs.hh (1.12): One item in the huge
+	  list has gone.
+
+2005-07-06 Wednesday 09:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am, NEWS, README, TODO, build_header, config.guess,
+	  config.sub, configure.ac, install-sh, ltmain.sh, ppl.spec.in,
+	  Watchdog/Handler.defs.hh, Watchdog/Handler.inlines.hh,
+	  Watchdog/Time.inlines.hh, Watchdog/config.guess,
+	  Watchdog/config.sub, Watchdog/install-sh, Watchdog/ltmain.sh,
+	  debian/.cvsignore, debian/changelog, debian/compat,
+	  debian/control, debian/libppl-c.dirs, debian/libppl-c.install,
+	  debian/libppl-c.links, debian/libppl-dev.dirs,
+	  debian/libppl-dev.doc-base, debian/libppl-dev.doc-base.user,
+	  debian/libppl-dev.docs, debian/libppl-dev.install,
+	  debian/libppl-dev.links, debian/libppl-gprolog.links,
+	  debian/libppl-pwl.copyright.in, debian/libppl-pwl.dirs,
+	  debian/libppl-pwl.docs, debian/libppl-pwl.install,
+	  debian/libppl-sicstus.links, debian/libppl-swi.links,
+	  debian/libppl-yap.links, debian/libppl.copyright.in,
+	  debian/libppl.dirs, debian/libppl.docs, debian/libppl.install,
+	  debian/rules, demos/ppl_lcdd/.cvsignore,
+	  demos/ppl_lcdd/ppl_lcdd.cc, demos/ppl_lcdd/examples/README,
+	  demos/ppl_lpsol/Makefile.am, demos/ppl_lpsol/expected_int16,
+	  demos/ppl_lpsol/expected_int16_a, demos/ppl_lpsol/expected_int32,
+	  demos/ppl_lpsol/expected_int32_a, demos/ppl_lpsol/expected_int64,
+	  demos/ppl_lpsol/expected_int64_a, demos/ppl_lpsol/expected_int8,
+	  demos/ppl_lpsol/expected_int8_a, demos/ppl_lpsol/expected_mpz,
+	  demos/ppl_lpsol/expected_mpz_a, demos/ppl_lpsol/ppl_lpsol.c,
+	  doc/Makefile.am, doc/definitions.dox, interfaces/C/ppl_c.cc,
+	  interfaces/C/ppl_c.h.in, interfaces/Prolog/Prolog_interface.dox,
+	  interfaces/Prolog/Ciao/Makefile.am,
+	  interfaces/Prolog/GNU/Makefile.am, interfaces/Prolog/GNU/README,
+	  interfaces/Prolog/GNU/gnu_pl_check.pl,
+	  interfaces/Prolog/SICStus/Makefile.am,
+	  interfaces/Prolog/SICStus/sp_pl_check.pl,
+	  interfaces/Prolog/SWI/Makefile.am,
+	  interfaces/Prolog/SWI/swi_pl_check.pl,
+	  interfaces/Prolog/XSB/Makefile.am,
+	  interfaces/Prolog/XSB/xsb_clpq.P,
+	  interfaces/Prolog/XSB/xsb_clpq2.P,
+	  interfaces/Prolog/XSB/xsb_pl_check.P,
+	  interfaces/Prolog/YAP/Makefile.am,
+	  interfaces/Prolog/tests/Makefile.am,
+	  interfaces/Prolog/tests/check_script,
+	  interfaces/Prolog/tests/check_script2,
+	  interfaces/Prolog/tests/check_script2_int8,
+	  interfaces/Prolog/tests/expected2_int16,
+	  interfaces/Prolog/tests/expected2_int16_a,
+	  interfaces/Prolog/tests/expected2_int32,
+	  interfaces/Prolog/tests/expected2_int32_a,
+	  interfaces/Prolog/tests/expected2_int64,
+	  interfaces/Prolog/tests/expected2_int64_a,
+	  interfaces/Prolog/tests/expected2_int8,
+	  interfaces/Prolog/tests/expected2_int8_a,
+	  interfaces/Prolog/tests/expected2_mpz,
+	  interfaces/Prolog/tests/expected2_mpz_a,
+	  interfaces/Prolog/tests/expected3_int16,
+	  interfaces/Prolog/tests/expected3_int16_a,
+	  interfaces/Prolog/tests/expected3_int32,
+	  interfaces/Prolog/tests/expected3_int32_a,
+	  interfaces/Prolog/tests/expected3_int64,
+	  interfaces/Prolog/tests/expected3_int64_a,
+	  interfaces/Prolog/tests/expected3_int8,
+	  interfaces/Prolog/tests/expected3_int8_a,
+	  interfaces/Prolog/tests/expected3_mpz,
+	  interfaces/Prolog/tests/expected3_mpz_a,
+	  interfaces/Prolog/tests/expected_clpq2_int16,
+	  interfaces/Prolog/tests/expected_clpq2_int16_a,
+	  interfaces/Prolog/tests/expected_clpq2_int32,
+	  interfaces/Prolog/tests/expected_clpq2_int32_a,
+	  interfaces/Prolog/tests/expected_clpq2_int64,
+	  interfaces/Prolog/tests/expected_clpq2_int64_a,
+	  interfaces/Prolog/tests/expected_clpq2_int8,
+	  interfaces/Prolog/tests/expected_clpq2_int8_a,
+	  interfaces/Prolog/tests/expected_clpq2_mpz,
+	  interfaces/Prolog/tests/expected_clpq2_mpz_a,
+	  interfaces/Prolog/tests/expected_clpq_int16,
+	  interfaces/Prolog/tests/expected_clpq_int16_a,
+	  interfaces/Prolog/tests/expected_clpq_int32,
+	  interfaces/Prolog/tests/expected_clpq_int32_a,
+	  interfaces/Prolog/tests/expected_clpq_int64,
+	  interfaces/Prolog/tests/expected_clpq_int64_a,
+	  interfaces/Prolog/tests/expected_clpq_int8,
+	  interfaces/Prolog/tests/expected_clpq_int8_a,
+	  interfaces/Prolog/tests/expected_clpq_mpz,
+	  interfaces/Prolog/tests/expected_clpq_mpz_a,
+	  interfaces/Prolog/tests/expected_int16,
+	  interfaces/Prolog/tests/expected_int16_a,
+	  interfaces/Prolog/tests/expected_int32,
+	  interfaces/Prolog/tests/expected_int32_a,
+	  interfaces/Prolog/tests/expected_int64,
+	  interfaces/Prolog/tests/expected_int64_a,
+	  interfaces/Prolog/tests/expected_int8,
+	  interfaces/Prolog/tests/expected_int8_a,
+	  interfaces/Prolog/tests/expected_mpz,
+	  interfaces/Prolog/tests/expected_mpz_a,
+	  interfaces/Prolog/tests/expected_pchk_int16,
+	  interfaces/Prolog/tests/expected_pchk_int16_a,
+	  interfaces/Prolog/tests/expected_pchk_int32,
+	  interfaces/Prolog/tests/expected_pchk_int32_a,
+	  interfaces/Prolog/tests/expected_pchk_int64,
+	  interfaces/Prolog/tests/expected_pchk_int64_a,
+	  interfaces/Prolog/tests/expected_pchk_int8,
+	  interfaces/Prolog/tests/expected_pchk_int8_a,
+	  interfaces/Prolog/tests/expected_pchk_mpz,
+	  interfaces/Prolog/tests/expected_pchk_mpz_a,
+	  interfaces/Prolog/tests/script_clpq,
+	  interfaces/Prolog/tests/script_clpq2,
+	  interfaces/Prolog/tests/script_clpq2_int8, src/.cvsignore,
+	  src/BDS_Status.idefs.hh, src/BDS_Status.inlines.hh,
+	  src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
+	  src/Bounding_Box.cc, src/Bounding_Box.defs.hh,
+	  src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
+	  src/Constraint.cc, src/Constraint.defs.hh, src/DB_Row.defs.hh,
+	  src/E_Rational.inlines.hh, src/Float.defs.hh,
+	  src/Float.inlines.hh, src/Generator.cc, src/Generator.defs.hh,
+	  src/Grid.defs.hh, src/Grid_Status.idefs.hh, src/Init.cc,
+	  src/Init.defs.hh, src/Interval.defs.hh, src/Interval.inlines.hh,
+	  src/Makefile.am, src/Ph_Status.idefs.hh, src/Polyhedron.defs.hh,
+	  src/Polyhedron.inlines.hh, src/Polyhedron_chdims.cc,
+	  src/Polyhedron_public.cc, src/Polyhedron_widenings.cc,
+	  src/Result.defs.hh, src/Rounding.defs.hh,
+	  src/Rounding.inlines.hh, src/checked.cc, src/checked.defs.hh,
+	  src/checked.inlines.hh, src/checked_ext.defs.hh,
+	  src/checked_ext.inlines.hh, src/checked_float.inlines.hh,
+	  src/checked_int.inlines.hh, src/checked_mpq.inlines.hh,
+	  src/checked_mpz.inlines.hh, src/checked_numeric_limits.hh,
+	  src/fpu-c99.inlines.hh, src/fpu-ia32.inlines.hh,
+	  src/fpu-none.inlines.hh, src/fpu.defs.hh, src/globals.defs.hh,
+	  src/globals.inlines.hh, src/ppl_header.bottom, src/ppl_header.hh,
+	  src/ppl_header.middle, src/ppl_header.top, tests/BBox.cc,
+	  tests/BBox.hh, tests/PFunction.cc, tests/PFunction.hh,
+	  tests/ehandlers.hh, tests/files.hh, tests/ppl_test.hh,
+	  tests/print.cc, tests/print.hh, tests/BD_Shape/.cvsignore,
+	  tests/BD_Shape/Makefile.am, tests/BD_Shape/addspacedims1.cc,
+	  tests/BD_Shape/addspacedims2.cc, tests/BD_Shape/addspacedims3.cc,
+	  tests/BD_Shape/addspacedims4.cc, tests/BD_Shape/addspacedims5.cc,
+	  tests/BD_Shape/addspacedims6.cc, tests/BD_Shape/affineimage1.cc,
+	  tests/BD_Shape/affineimage2.cc, tests/BD_Shape/affineimage3.cc,
+	  tests/BD_Shape/affineimage4.cc, tests/BD_Shape/affineimage5.cc,
+	  tests/BD_Shape/affineimage6.cc, tests/BD_Shape/affineimage7.cc,
+	  tests/BD_Shape/affineimage8.cc, tests/BD_Shape/affineimage9.cc,
+	  tests/BD_Shape/affinepreimage1.cc,
+	  tests/BD_Shape/affinepreimage2.cc,
+	  tests/BD_Shape/affinepreimage3.cc,
+	  tests/BD_Shape/affinepreimage4.cc,
+	  tests/BD_Shape/affinepreimage5.cc,
+	  tests/BD_Shape/concatenate1.cc, tests/BD_Shape/constraints1.cc,
+	  tests/BD_Shape/constraints2.cc, tests/BD_Shape/contains2.cc,
+	  tests/BD_Shape/contains3.cc, tests/BD_Shape/empty3.cc,
+	  tests/BD_Shape/equality1.cc, tests/BD_Shape/exceptions1.cc,
+	  tests/BD_Shape/exceptions2.cc, tests/BD_Shape/exceptions3.cc,
+	  tests/BD_Shape/fromgensys1.cc,
+	  tests/BD_Shape/generalizedaffineimage1.cc,
+	  tests/BD_Shape/generalizedaffineimage10.cc,
+	  tests/BD_Shape/generalizedaffineimage13.cc,
+	  tests/BD_Shape/generalizedaffineimage14.cc,
+	  tests/BD_Shape/generalizedaffineimage2.cc,
+	  tests/BD_Shape/generalizedaffineimage3.cc,
+	  tests/BD_Shape/generalizedaffineimage4.cc,
+	  tests/BD_Shape/generalizedaffineimage5.cc,
+	  tests/BD_Shape/generalizedaffineimage7.cc,
+	  tests/BD_Shape/generalizedaffineimage8.cc,
+	  tests/BD_Shape/intersection3.cc, tests/BD_Shape/intersection4.cc,
+	  tests/BD_Shape/intersection5.cc, tests/BD_Shape/intersection6.cc,
+	  tests/BD_Shape/intersection7.cc, tests/BD_Shape/intersection8.cc,
+	  tests/BD_Shape/mapspacedims4.cc,
+	  tests/BD_Shape/polydifference1.cc, tests/BD_Shape/relations1.cc,
+	  tests/BD_Shape/relations2.cc, tests/BD_Shape/relations3.cc,
+	  tests/BD_Shape/relations5.cc, tests/BD_Shape/removespacedims1.cc,
+	  tests/BD_Shape/universe1.cc, tests/BD_Shape/writebdiffs1.cc,
+	  tests/BD_Shape/writebdiffs2.cc, tests/BD_Shape/writebdshape1.cc,
+	  tests/BD_Shape/writebdshape2.cc, tests/Polyhedron/.cvsignore,
+	  tests/Polyhedron/Makefile.am, tests/Polyhedron/affinetrans.cc,
+	  tests/Polyhedron/boundedbhrz03extrapolation1.cc,
+	  tests/Polyhedron/boundedh79extrapolation1.cc,
+	  tests/Polyhedron/bug2.cc, tests/Polyhedron/bug2.dat,
+	  tests/Polyhedron/concatenate7.cc,
+	  tests/Polyhedron/exceptions3.cc,
+	  tests/Polyhedron/generalizedaffineimage13.cc,
+	  tests/Polyhedron/generalizedaffineimage14.cc,
+	  tests/Polyhedron/randphull2.cc, tests/Polyhedron/watchdog1.cc
+	  (grids.[1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,4,27,2,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, [...]
+	  First merge from main trunk.
+
+2005-07-04 Monday 15:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.54): Corrected symmetric bug on the
+	  other flavor of method Polyhedron::generalized_affine_inage().
+
+2005-07-04 Monday 15:56  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.20),
+	  generalizedaffineimage14.cc (1.1): New test show symmetric bug on
+	  the other flavor of generalized_affine_image().
+
+2005-07-03 Sunday 23:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/: Makefile.am (1.4), check_script2_int8
+	  (1.2), script_clpq2_int8 (1.1): Distribution fixed.
+
+2005-07-03 Sunday 23:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/script_clpq2_int8 (altnum.1): file
+	  script_clpq2_int8 was added on branch altnum on 2006-10-29
+	  19:27:09 +0000
+
+2005-07-03 Sunday 23:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/Makefile.am (1.37): Link against libYap.
+
+2005-07-03 Sunday 23:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.129), XSB/Makefile.am
+	  (1.33), XSB/xsb_clpq.P (1.13), XSB/xsb_clpq2.P (1.11),
+	  XSB/xsb_pl_check.P (1.15): Updated to use new versions of XSB
+	  (older ones are too problematic).  Only XSB versions following
+	  2.7.1 and CVS HEAD versions starting from 2 July 2005 are now
+	  supported.
+
+2005-07-03 Sunday 23:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/Makefile.am (1.36): Make the tests
+	  independent from one another.  Updated to use the new names of
+	  the test files.
+
+2005-07-03 Sunday 16:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.145): We should not forget to update those bits of
+	  documentation that have proved to be not adequate.
+
+2005-07-03 Sunday 16:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/: Makefile.am (1.46), gnu_pl_check.pl
+	  (1.5): Make the tests independent from one another.  Updated to
+	  use the new names of the test files.
+
+2005-07-03 Sunday 16:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/: Makefile.am (1.52), sp_pl_check.pl
+	  (1.3): Make the tests independent from one another.  Updated to
+	  use the new names of the test files.
+
+2005-07-03 Sunday 14:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/Makefile.am (1.42): Make the tests
+	  independent from one another.  Updated to use the new names of
+	  the test files.
+
+2005-07-03 Sunday 14:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/: Makefile.am (1.47), swi_pl_check.pl
+	  (1.4): Make the tests independent from one another.  Updated to
+	  use the new names of the test files.
+
+2005-07-03 Sunday 14:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/: check_script (1.2), check_script2
+	  (1.2), expected2_int16 (1.5), expected2_int16_a (1.4),
+	  expected2_int32 (1.4), expected2_int32_a (1.3), expected2_int64
+	  (1.3), expected2_int64_a (1.3), expected2_int8 (1.3),
+	  expected2_int8_a (1.3), expected2_mpz (1.3), expected2_mpz_a
+	  (1.3), expected3_int16 (1.2), expected3_int16_a (1.2),
+	  expected3_int32 (1.2), expected3_int32_a (1.2), expected3_int64
+	  (1.3), expected3_int64_a (1.2), expected3_int8 (1.3),
+	  expected3_int8_a (1.2), expected3_mpz (1.2), expected3_mpz_a
+	  (1.2), expected_clpq2_int16 (1.1), expected_clpq2_int16_a (1.1),
+	  expected_clpq2_int32 (1.1), expected_clpq2_int32_a (1.1),
+	  expected_clpq2_int64 (1.1), expected_clpq2_int64_a (1.1),
+	  expected_clpq2_int8 (1.1), expected_clpq2_int8_a (1.1),
+	  expected_clpq2_mpz (1.1), expected_clpq2_mpz_a (1.1),
+	  expected_clpq_int16 (1.1), expected_clpq_int16_a (1.1),
+	  expected_clpq_int32 (1.1), expected_clpq_int32_a (1.1),
+	  expected_clpq_int64 (1.1), expected_clpq_int64_a (1.1),
+	  expected_clpq_int8 (1.1), expected_clpq_int8_a (1.1),
+	  expected_clpq_mpz (1.1), expected_clpq_mpz_a (1.1),
+	  expected_int16 (1.3), expected_int16_a (1.3), expected_int32
+	  (1.3), expected_int32_a (1.3), expected_int64 (1.3),
+	  expected_int64_a (1.3), expected_int8 (1.4), expected_int8_a
+	  (1.4), expected_mpz (1.3), expected_mpz_a (1.3),
+	  expected_pchk_int16 (1.1), expected_pchk_int16_a (1.1),
+	  expected_pchk_int32 (1.1), expected_pchk_int32_a (1.1),
+	  expected_pchk_int64 (1.1), expected_pchk_int64_a (1.1),
+	  expected_pchk_int8 (1.1), expected_pchk_int8_a (1.1),
+	  expected_pchk_mpz (1.1), expected_pchk_mpz_a (1.1), script_clpq
+	  (1.1), script_clpq2 (1.1): Use more sensible file names.
+
+2005-07-03 Sunday 14:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_pchk_mpz (altnum.1): file
+	  expected_pchk_mpz was added on branch altnum on 2006-10-29
+	  19:27:08 +0000
+
+2005-07-03 Sunday 14:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_pchk_mpz_a (altnum.1): file
+	  expected_pchk_mpz_a was added on branch altnum on 2006-10-29
+	  19:27:08 +0000
+
+2005-07-03 Sunday 14:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/script_clpq (altnum.1): file script_clpq
+	  was added on branch altnum on 2006-10-29 19:27:09 +0000
+
+2005-07-03 Sunday 14:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/script_clpq2 (altnum.1): file
+	  script_clpq2 was added on branch altnum on 2006-10-29 19:27:09
+	  +0000
+
+2005-07-03 Sunday 12:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.164): Version number bumped.
+
+2005-07-03 Sunday 12:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.128), GNU/README
+	  (1.1): Specify how to obtain the only version of GNU Prolog that
+	  is known to work with the PPL's Prolog interface.
+
+2005-07-03 Sunday 12:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/Makefile.am (1.45): Always use $(CXX) to
+	  compile and link.
+
+2005-07-03 Sunday 10:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Polyhedron/Makefile.am (1.19), BD_Shape/Makefile.am
+	  (1.12): LDADD reordered so that libraries occur in dependence
+	  order (Cygwin seems to depend on this).
+
+2005-07-01 Friday 17:13  Matthew Mundell
+
+	* src/: Grid_public.cc, Grid.defs.hh, Grid_nonpublic.cc
+	  (grids.[37,26,20]): Add back normalizing of divisors.  Take out
+	  two temporary comments, and add one.	Take some old Polyhedron
+	  code out of add_recycled_generators_and_minimize.
+
+2005-06-30 Thursday 19:56  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid_conversion.cc, Grid_simplify.cc,
+	  Row.inlines.hh (grids.[25,17,27,1]): Add strong reduction.  Use
+	  negate(x) instead of -x.  Slightly improve some comments.
+
+2005-06-27 Monday 13:15  Matthew Mundell
+
+	* tests/Grid/: addspacedims2.cc, removespacedims1.cc,
+	  removespacedims2.cc (grids.[4,3,3]): Correct known_gr.
+
+2005-06-27 Monday 13:12  Matthew Mundell
+
+	* src/: Generator_System.cc, Generator_System.defs.hh,
+	  Grid.defs.hh, Grid_chdims.cc, Grid_conversion.cc,
+	  Grid_minimize.cc, Grid_nonpublic.cc, Grid_public.cc,
+	  Grid_simplify.cc, Linear_Row.cc, Linear_Row.defs.hh,
+	  Linear_Row.inlines.hh, Congruence.cc, Congruence.defs.hh,
+	  Congruence.inlines.hh, Congruence_System.cc,
+	  Congruence_System.defs.hh, Generator.defs.hh,
+	  Generator.inlines.hh
+	  (grids.[8,2,24,11,16,15,19,36,26,2,2,2,7,13,9,14,10,3,2]): Update
+	  to new treatment of virtual rows.  Add ascii_dump() methods to
+	  Congruence, Congruence_System and Generator_System.  Add macro
+	  print_dim_kinds to Grid.defs.hh.
+
+2005-06-22 Wednesday 12:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.53): Corrected the bug in
+	  Polyhedron::generalized_affine_image() that was shown by test
+	  generalizedaffineimage13.cc. We should actually check for
+	  emptyness before adding lines to the polyhedron.
+
+2005-06-22 Wednesday 12:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.18),
+	  generalizedaffineimage13.cc (1.1): Added a test program showing a
+	  bug in Polyhedron::generalized_affine_image().  The bug shows up
+	  (by throwing an exception) when the polyhedron is empty, but hte
+	  library hasn't yet detected emptyness.
+
+2005-06-21 Tuesday 18:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh (1.270), Polyhedron_public.cc (1.52):
+	  Added new method Polyhedron::affine_bounds() to compute the
+	  effect of transfer functions providing upper and lower bound
+	  affine expressions for a dimension of the polyhedron.
+
+2005-06-18 Saturday 22:58  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh (1.28), Checked_Number.inlines.hh
+	  (1.34), checked.defs.hh (1.20), checked_ext.inlines.hh (1.18),
+	  checked_float.inlines.hh (1.38), checked_int.inlines.hh (1.34),
+	  checked_mpq.inlines.hh (1.19), checked_mpz.inlines.hh (1.23):
+	  Added mul2exp and div2exp.
+
+2005-06-16 Thursday 15:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_chdims.cc (1.29): Typo fixed.
+
+2005-06-16 Thursday 15:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.17), bug1.cc (1.2), bug1.dat
+	  (1.2), concatenate7.cc (1.1): Program `concatenate7' exhibits the
+	  same bug exhinited by `bug1'.
+
+2005-06-16 Thursday 15:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_chdims.cc (1.28): Corrected a bug in
+	  Polyhedron::concatenate_assign() whereby the produced result
+	  could have failed to satisfy the library invariants.
+
+2005-06-16 Thursday 14:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.16), bug2.cc (1.1), bug2.dat
+	  (1.1): Program bug2.cc exhibits a misbehavior that, up to now,
+	  has only been observed on MacOs X.
+
+2005-06-16 Thursday 12:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.15), bug1.cc (1.1), bug1.dat
+	  (1.1): Program bug1.cc exhibits a bug in
+	  Polyhedron::concatenate_assign().
+
+2005-06-16 Thursday 11:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.154): Colon added.
+
+2005-06-16 Thursday 11:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.153), src/Constraint.cc (1.50), src/Constraint.defs.hh
+	  (1.103), src/Generator.cc (1.61), src/Generator.defs.hh (1.104):
+	  New output operators in namespace IO_Operators: std::ostream&
+	  operator<<(std::ostream&, const Constraint::Type&) and
+	  std::ostream& operator<<(std::ostream&, const Generator::Type&).
+
+2005-06-16 Thursday 11:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.132): FIXME dealt with.
+
+2005-06-16 Thursday 11:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Constraint.cc (1.49), Generator.cc (1.60): Avoid
+	  unnecessary qualification.
+
+2005-06-16 Thursday 11:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/randphull2.cc (1.4): When NOISY, make noise in
+	  case of failure.
+
+2005-06-15 Wednesday 11:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/Makefile.am (1.41): Do not assume `.' is
+	  in the `PATH' environment variable.
+
+2005-06-14 Tuesday 15:22  Matthew Mundell
+
+	* tests/Grid/addgenerator1.cc (grids.7): Improve comment.
+
+2005-06-14 Tuesday 15:22  Matthew Mundell
+
+	* tests/ppl_test.hh (grids.7): Print ASCII dump of a when loading
+	  it fails.
+
+2005-06-14 Tuesday 15:21  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid_chdims.cc, Grid_conversion.cc,
+	  Grid_minimize.cc, Grid_nonpublic.cc, Grid_public.cc,
+	  Grid_simplify.cc (grids.[23,10,15,14,18,35,25]): Add enum
+	  Dimension_Kind and type Dimension_Kinds.  Add attribute
+	  dim_kinds, pass it to the minimize, simplify and conversion
+	  methods, and fill it in the simplify methods.  Add macro
+	  trace_dim_kinds.  Dump and load dim_kinds in ascii_load and
+	  ascii_dump.  Check dim_kinds in OK.  Adjust dim_kinds in
+	  add_space_dimensions*.
+
+	  Add ascii_dump(), which writes to cerr.
+
+2005-06-14 Tuesday 15:12  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh (1.27), Checked_Number.inlines.hh
+	  (1.33), Rounding.defs.hh (1.12): Moved default rounding mode in
+	  policy. Removed bogus Checked_Pair trick.
+
+2005-06-14 Tuesday 14:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.16): Do not refer to
+	  `option_index' if HAVE_GETOPT_H is undefined.
+
+2005-06-14 Tuesday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BBox.hh (1.8): Avoid using directives in header files.
+
+2005-06-14 Tuesday 11:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.49): Include "C_Polyhedron.defs.hh".
+
+2005-06-14 Tuesday 11:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: BBox.cc (1.9), BBox.hh (1.7), PFunction.cc (1.5),
+	  PFunction.hh (1.6), ehandlers.hh (1.11), files.hh (1.7),
+	  ppl_test.hh (1.22), print.cc (1.15), print.hh (1.19): Adjust
+	  inclusions so as to avoid multiple inclusion of ppl_install.hh.
+	  Besides speeding up the build, this works around a problem on
+	  Darwin.
+
+2005-06-14 Tuesday 10:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/PFunction.hh (1.5): Multiple inclusion guard fixed.
+
+2005-06-14 Tuesday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.43): Fixes for systems that do not
+	  provide <getopt.h>.
+
+2005-06-14 Tuesday 09:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.15): Do not declare `option_index'
+	  when it is not needed.
+
+2005-06-14 Tuesday 08:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BDS_Status.inlines.hh (1.4): Helper function get_field() is
+	  now declared inline.
+
+2005-06-14 Tuesday 07:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.14): Work also on systems that do
+	  not provide <getopt.h> and/or that do not provide a declaration
+	  for RLIMIT_AS.
+
+2005-06-14 Tuesday 07:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.163): Check also for the presence of
+	  <sys/time.h>.
+
+2005-06-14 Tuesday 07:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/: Makefile.am (1.13), expected_int16 (1.3),
+	  expected_int16_a (1.3), expected_int32 (1.4), expected_int32_a
+	  (1.4), expected_int64 (1.4), expected_int64_a (1.4),
+	  expected_int8 (1.3), expected_int8_a (1.2), expected_mpz (1.4),
+	  expected_mpz_a (1.4): Do not use long options for testing, since
+	  they may be unavailable on some platforms.
+
+2005-06-13 Monday 19:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.162): Version number bumped.
+
+2005-06-13 Monday 19:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.152), interfaces/C/ppl_c.h.in (1.48): Do not infringe on
+	  system name space as well as on user name space.
+
+2005-06-10 Friday 18:33  Matthew Mundell
+
+	* src/Grid_public.cc (grids.34): Improve comment.
+
+2005-06-10 Friday 18:31  Matthew Mundell
+
+	* tests/Grid/grid2.cc (grids.11): Add test14, which adds a
+	  congruence system having a row capacity larger than the row
+	  capacity of the grid's existing congruence system.
+
+2005-06-10 Friday 18:30  Matthew Mundell
+
+	* tests/Grid/grid1.cc (grids.15): Take tracing out of test20.
+
+2005-06-10 Friday 18:26  Matthew Mundell
+
+	* tests/Grid/Makefile.am (grids.13): Move bug1 to TESTS.
+
+2005-06-10 Friday 18:21  Matthew Mundell
+
+	* tests/Grid/bug1.cc (grids.2): Add header comment, use nout
+	  instead of cerr.
+
+2005-06-10 Friday 18:14  Matthew Mundell
+
+	* tests/Grid/grid1.cc (grids.14): Improve comment.
+
+2005-06-10 Friday 18:05  Matthew Mundell
+
+	* src/Row.defs.hh (grids.3): Declare Congruence_System a friend
+	  when EXTRA_ROW_DEBUG.
+
+2005-06-10 Friday 18:01  Matthew Mundell
+
+	* src/Grid_simplify.cc (grids.24): In reduce_pc_with_pc add GCD
+	  tracing and use the ternary operator instead of !.
+
+2005-06-10 Friday 17:59  Matthew Mundell
+
+	* src/Grid_conversion.cc (grids.14): In generator to congruence
+	  conversion ensure that the resulting moduli and first element of
+	  the matrix are positive.
+
+2005-06-10 Friday 14:02  Abramo Bagnara
+
+	* src/checked_int.inlines.hh (1.33): Avoided a warning.
+
+2005-06-10 Friday 11:16  Matthew Mundell
+
+	* src/Grid_simplify.cc (grids.23): In free_row in the congruence
+	  simplify, ensure that all the rows to have the same capacity.
+
+2005-06-10 Friday 11:13  Matthew Mundell
+
+	* src/: Congruence_System.cc, Congruence_System.defs.hh
+	  (grids.[13,9]): Add method add_row.
+
+2005-06-09 Thursday 20:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/exceptions3.cc (1.4): Avoid a compiler warning.
+
+2005-06-09 Thursday 17:29  Matthew Mundell
+
+	* interfaces/Prolog/SWI/Makefile.am (grids.2): Revert last change.
+
+2005-06-09 Thursday 12:12  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid_conversion.cc (grids.[22,13]): Move the
+	  grid multiplying code into two inline functions called
+	  multiply_grid.
+
+2005-06-08 Wednesday 17:00  Matthew Mundell
+
+	* tests/Grid/grid1.cc (grids.13): Add test20, which constructs from
+	  a generator system containing a ray.
+
+2005-06-08 Wednesday 16:59  Matthew Mundell
+
+	* src/Grid_nonpublic.cc (grids.17): In method construct convert
+	  rays to lines.
+
+2005-06-08 Wednesday 16:58  Matthew Mundell
+
+	* src/Grid_chdims.cc (grids.9): Use a temporary variable in
+	  add_space_dimensions.
+
+2005-06-08 Wednesday 07:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/: concatenate1.cc (1.4), contains2.cc (1.4),
+	  contains3.cc (1.4), empty3.cc (1.4), equality1.cc (1.4),
+	  exceptions1.cc (1.4), exceptions2.cc (1.4), intersection3.cc
+	  (1.4), intersection4.cc (1.4), intersection5.cc (1.4),
+	  intersection6.cc (1.4), intersection7.cc (1.4), intersection8.cc
+	  (1.4), mapspacedims4.cc (1.4), relations1.cc (1.4), relations2.cc
+	  (1.5), removespacedims1.cc (1.4), universe1.cc (1.4): Avoid
+	  unused variable warnings.
+
+2005-06-07 Tuesday 19:36  Matthew Mundell
+
+	* src/Row.defs.hh (grids.2): Only befriend Grid when
+	  EXTRA_ROW_DEBUG.  Take out declaration of operator==(gr,gr) as a
+	  friend.
+
+2005-06-07 Tuesday 18:17  Matthew Mundell
+
+	* src/Grid.defs.hh (grids.21): Include
+	  Constraint_Systems.inlines.hh.
+
+2005-06-07 Tuesday 17:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/.cvsignore (1.2), tests/Polyhedron/.cvsignore
+	  (1.5): Updated.
+
+2005-06-07 Tuesday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/.cvsignore (1.1), src/.cvsignore (1.8),
+	  tests/BD_Shape/.cvsignore (1.3), tests/Polyhedron/.cvsignore
+	  (1.3), tests/Polyhedron/.cvsignore (1.4): Updated.
+
+2005-06-07 Tuesday 16:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked.cc (1.2): Indentation fixed.
+
+2005-06-07 Tuesday 16:28  Matthew Mundell
+
+	* interfaces/Prolog/SWI/Makefile.am (grids.1): Link against pl in
+	  rule ppl_pl$(EXEEXT).
+
+2005-06-07 Tuesday 12:43  Matthew Mundell
+
+	* src/Row.defs.hh (grids.1): Temporarily befriend operator==(gr,gr)
+	  and Grid, and make method capacity public, for tracing.
+
+2005-06-07 Tuesday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu-c99.inlines.hh (1.6): Temporary kludge for Darwin that
+	  may turn out to be the right thing to do on any system.
+
+2005-06-07 Tuesday 11:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.161): Version number bumped.
+
+2005-06-07 Tuesday 11:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked.inlines.hh (1.19): Include "compiler.hh".
+
+2005-06-01 Wednesday 20:26  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid.inlines.hh, Grid_nonpublic.cc,
+	  Grid_public.cc (grids.[20,10,16,33]): Take out method
+	  add_low_level_congruences.
+
+2005-06-01 Wednesday 20:25  Matthew Mundell
+
+	* src/Generator_System.cc (grids.7): Update comments.  Re-enable
+	  the ascii_load comparison between actual and declared types.
+
+2005-06-01 Wednesday 20:23  Matthew Mundell
+
+	* src/: Congruence_System.cc, Congruence_System.defs.hh
+	  (grids.[12,8]): Update comments.  In OK add a message for the
+	  number of columns check and take out an old test.
+
+2005-06-01 Wednesday 20:20  Matthew Mundell
+
+	* src/: Congruence.cc, Congruence.defs.hh, Congruence.inlines.hh
+	  (grids.[6,12,8]): Update comments.  Add a modulus method that
+	  returns a writable reference.
+
+2005-06-01 Wednesday 18:12  Matthew Mundell
+
+	* src/Grid.defs.hh (grids.19): Make most of the constructors
+	  explicit.
+
+2005-06-01 Wednesday 17:07  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid_minimize.cc, Grid_public.cc
+	  (grids.[18,13,32]): Take out the add_and_minimize\3 methods.
+	  Update some comments.  In the add_and_minimize\2 methods add all
+	  the given rows to the system, instead of looking for duplicates.
+	  Convert rays to lines in all generator-adding methods, for now.
+
+2005-06-01 Wednesday 13:15  Matthew Mundell
+
+	* src/Grid_public.cc (grids.31): In add_generators add rays as
+	  lines, for now.
+
+2005-06-01 Wednesday 13:11  Matthew Mundell
+
+	* tests/Grid/join1.cc (grids.3): Add more interesting generators in
+	  test3.  Add test4, in which a ray is inserted.
+
+2005-05-28 Saturday 13:17  Matthew Mundell
+
+	* tests/Grid/bug1.dat, src/Generator_System.cc (grids.[2,6]): In
+	  Generator_System::asci_load leave the stream read position at the
+	  end of the dump.
+
+2005-05-27 Friday 21:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/: Makefile.am, bug1.cc, bug1.dat (grids.[12,1,1]): The
+	  program `bug1' exhibits a bug triggered by an invocation of (to
+	  be renamed) Grid::add_congruences_and_minimize(const
+	  Constraint_System&).
+
+2005-05-27 Friday 21:02  Matthew Mundell
+
+	* tests/Grid/grid1.cc (grids.12): Improve a comment.
+
+2005-05-27 Friday 21:02  Matthew Mundell
+
+	* tests/Grid/grid2.cc (grids.10): Revert last change.
+
+2005-05-27 Friday 20:54  Matthew Mundell
+
+	* tests/Grid/grid2.cc (grids.9): Improve a comment.
+
+2005-05-27 Friday 20:53  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid_minimize.cc, Grid_nonpublic.cc,
+	  Grid_public.cc (grids.[17,12,15,30]): Take out methods
+	  normalize_divisors and parameterize.	In the construct methods
+	  leave the system as given (instead of simplifying it).  Always
+	  clear the pending rows flag of an added generator system.  Set
+	  the sorted flag in the generator construct method.  Neaten some
+	  formatting.
+
+2005-05-27 Friday 14:57  Matthew Mundell
+
+	* tests/ppl_test.hh, tests/Grid/addgenerator1.cc,
+	  tests/Grid/addspacedims1.cc, tests/Grid/congruencesystem2.cc,
+	  tests/Grid/writecongruencesystem.cc, src/Congruence.cc,
+	  src/Congruence_System.cc, src/Generator_System.cc,
+	  src/Grid.inlines.hh, src/Grid_chdims.cc, src/Grid_conversion.cc,
+	  src/Grid_minimize.cc, src/Grid_nonpublic.cc, src/Grid_public.cc,
+	  src/Grid_simplify.cc
+	  (grids.[6,6,7,3,3,5,11,5,9,8,12,11,14,29,22]): Use `!' instead of
+	  comparing to `false'.
+
+2005-05-27 Friday 14:53  Matthew Mundell
+
+	* src/Congruence.defs.hh (grids.11): Make zero_dim_false and
+	  zero_dim_integrality public.
+
+2005-05-26 Thursday 20:50  Matthew Mundell
+
+	* tests/Grid/join2.cc (grids.2): Add test2 which joins with both
+	  grids universe.
+
+2005-05-26 Thursday 20:50  Matthew Mundell
+
+	* tests/Grid/join1.cc (grids.2): Add test2 and test3 which join
+	  with both and one grids universe.
+
+2005-05-26 Thursday 20:30  Matthew Mundell
+
+	* src/Grid_public.cc (grids.28): Rename adjust_space_dimension to
+	  increase_space_dimension.
+
+2005-05-26 Thursday 20:30  Matthew Mundell
+
+	* src/: Congruence_System.cc, Congruence_System.defs.hh,
+	  Congruence_System.inlines.hh (grids.[10,7,5]): Rename
+	  adjust_space_dimension to increase_space_dimension, and
+	  num_non_equalities to num_proper_congruences.  Only count proper
+	  congruences in num_proper_congruences.  Take out method
+	  saturates_all_congruences.  Make the member access permissions
+	  more sensible.  Enable the definition of zero_dim_empty.
+
+2005-05-26 Thursday 20:24  Matthew Mundell
+
+	* src/: Congruence.defs.hh, Congruence.inlines.hh,
+	  Grid_conversion.cc, Grid_simplify.cc (grids.[10,7,11,21]): Make
+	  the Congruence normalize methods protected and flag setting
+	  methods private.  In Congruence rename is_congruence to
+	  is_proper_congruence, and add method zero_dim_false.
+
+2005-05-26 Thursday 20:20  Matthew Mundell
+
+	* tests/Grid/: congruence1.cc, congruencesystem1.cc,
+	  congruencesystem2.cc (grids.[4,5,2]): Wrap the class under test,
+	  instead of requiring all methods to be public.
+
+2005-05-26 Thursday 17:01  Matthew Mundell
+
+	* tests/Grid/addcongruence1.cc (grids.2): Add test2, which adds to
+	  an empty grid.
+
+2005-05-26 Thursday 17:01  Matthew Mundell
+
+	* tests/Grid/addgenerator1.cc (grids.5): Add test7, which adds a
+	  generator to a universe grid.
+
+2005-05-26 Thursday 17:00  Matthew Mundell
+
+	* src/Grid_simplify.cc (grids.20): Improve a variable name, and a
+	  comment.
+
+2005-05-26 Thursday 16:58  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid_public.cc (grids.[16,27]): Restore the
+	  declaration of add_congruence(c), and add a new declaration for
+	  add_congruences_and_minimize(cs).  Take out the
+	  add_congruence_and_minimize(cs) declaration.	Improve the
+	  ordering of the public definitions.  Define add_congruence(c) and
+	  add_congruence_and_minimize(c).
+
+2005-05-26 Thursday 16:52  Matthew Mundell
+
+	* src/: Congruence_System.cc, Congruence_System.defs.hh,
+	  Congruence_System.inlines.hh (grids.[9,6,4]): Call num_columns
+	  later in adjust_space_dimension.  Add insert(c).  Take out an old
+	  constraint comment.  Take out pending row code, old
+	  constraint_system code, and method
+	  satisfies_all_congruences(g,ref).  Clean up ascii_dump and some
+	  of ascii_load.  Correct the names in the Congruence_System(c)
+	  declaration.
+
+2005-05-26 Thursday 16:38  Matthew Mundell
+
+	* src/: Congruence.cc, Congruence.defs.hh, Congruence.inlines.hh
+	  (grids.[4,9,6]): Take out throw_invalid_modulus.  Update some
+	  temporary comments.  In Congruence(c) throw an exception if the
+	  constraint is a relation, and set the modulus to 0 instead of 1.
+
+2005-05-26 Thursday 13:21  Matthew Mundell
+
+	* src/Grid_public.cc (grids.26): In add_generator also clear the
+	  congruences up-to-date flag when adding to an empty grid.
+
+2005-05-26 Thursday 12:52  Matthew Mundell
+
+	* tests/Grid/addspacedims2.cc (grids.3): Add test6, which add
+	  dimensions only to the grid's generator system.
+
+2005-05-26 Thursday 12:51  Matthew Mundell
+
+	* tests/Grid/addspacedims1.cc (grids.6): Improve comment.
+
+2005-05-25 Wednesday 21:18  Matthew Mundell
+
+	* src/Grid_public.cc (grids.25): In OK, take the extra copy of the
+	  generator system out of the minimized test, Use "generators"
+	  instead of "parameters", and print the minimized congruence
+	  system (instead of the original) in the congruence minimized
+	  test.
+
+2005-05-25 Wednesday 20:47  Matthew Mundell
+
+	* tests/Grid/Makefile.am (grids.11): Add test addcongruence1.
+
+2005-05-25 Wednesday 20:47  Matthew Mundell
+
+	* tests/Grid/addcongruence1.cc (grids.1): Initial revision.
+
+2005-05-25 Wednesday 20:46  Matthew Mundell
+
+	* tests/Grid/addgenerator1.cc (grids.4): Add test6, which tests
+	  add_generator_and_minimize.
+
+2005-05-25 Wednesday 19:27  Matthew Mundell
+
+	* tests/Grid/addgenerator1.cc (grids.3): Add tests 2 to 5.
+
+2005-05-25 Wednesday 14:48  Matthew Mundell
+
+	* tests/Grid/grid2.cc (grids.8): Start from the universe when
+	  constructing grids from congruences.
+
+2005-05-25 Wednesday 14:46  Matthew Mundell
+
+	* src/Grid_public.cc (grids.24): Take the extra temporary
+	  congruence system out of the OK minimize test.  Modify
+	  add_recycled_congruences and
+	  add_recycled_congruences_and_minimize to update the congruences
+	  before adding new ones.  Also improve the empty handling in both
+	  these methods.
+
+2005-05-25 Wednesday 12:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.29), config.sub (1.28), install-sh (1.14),
+	  ltmain.sh (1.24), Watchdog/config.guess (1.13),
+	  Watchdog/config.sub (1.13), Watchdog/install-sh (1.11),
+	  Watchdog/ltmain.sh (1.13): Updated from Libtool 1.5.18.
+
+2005-05-25 Wednesday 07:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.28), config.sub (1.27), ltmain.sh (1.23),
+	  Watchdog/config.guess (1.12), Watchdog/config.sub (1.12),
+	  Watchdog/ltmain.sh (1.12): Updated from Libtool 1.5.16.
+
+2005-05-25 Wednesday 07:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.144): Added one issue to be checked before releasing PPL
+	  0.8.
+
+2005-05-25 Wednesday 07:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/Makefile.am (1.46): The `libppl_swiprolog'
+	  library must be linked also with `libpwl'.
+
+2005-05-24 Tuesday 21:27  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid.inlines.hh, Grid_chdims.cc,
+	  Grid_nonpublic.cc, Grid_public.cc (grids.[15,8,7,13,23]): Take
+	  out all code for handling pending rows.  Add a check for pending
+	  rows to method OK.
+
+2005-05-24 Tuesday 21:23  Matthew Mundell
+
+	* src/Grid_simplify.cc (grids.19): Use unset_pending_rows instead
+	  of clearing the pending rows manually.
+
+2005-05-24 Tuesday 19:17  Matthew Mundell
+
+	* src/Grid_public.cc (grids.22): Always adjust the space dimension
+	  of con_sys in constructor Grid(num_dimensions, kind).  Clean a
+	  comment.
+
+2005-05-24 Tuesday 18:23  Matthew Mundell
+
+	* src/Grid_minimize.cc (grids.10): Take out tracing.
+
+2005-05-24 Tuesday 18:13  Matthew Mundell
+
+	* src/Grid.defs.hh, tests/Grid/addgenerator1.cc,
+	  tests/Grid/addspacedims1.cc, tests/Grid/addspacedims2.cc,
+	  tests/Grid/grid1.cc, tests/Grid/grid2.cc,
+	  tests/Grid/intersection2.cc, tests/Grid/isuniverse1.cc,
+	  tests/Grid/mapspacedims1.cc, tests/Grid/removespacedims2.cc
+	  (grids.[14,2,5,2,11,7,2,2,4,2]): In constructor
+	  Grid(num_dimensions, kind) kind is UNIVERSE if only
+	  num_dimensions if given.
+
+2005-05-24 Tuesday 17:14  Matthew Mundell
+
+	* src/Grid_public.cc (grids.21): Output "true" from operator<< if
+	  the grid is universe.
+
+2005-05-24 Tuesday 17:01  Matthew Mundell
+
+	* tests/Grid/addspacedims1.cc (grids.4): Add test5, where
+	  dimensions are only added to the congruence system.
+
+2005-05-24 Tuesday 16:55  Matthew Mundell
+
+	* tests/Grid/Makefile.am (grids.10): Add test addgenerator1.
+
+2005-05-24 Tuesday 16:55  Matthew Mundell
+
+	* tests/Grid/addgenerator1.cc (grids.1): Initial revision.
+
+2005-05-24 Tuesday 16:54  Matthew Mundell
+
+	* tests/Grid/mapspacedims1.cc (grids.3): Add test6 (maps additional
+	  dimensions to themselves), test7 (maps over existing dimensions)
+	  and test8 (maps away a dimension in an empty grid).
+
+2005-05-24 Tuesday 16:51  Matthew Mundell
+
+	* src/Grid_public.cc (grids.20): Set congruences up to date in
+	  add_congruence.  Implement the rest of add_generator.
+
+2005-05-23 Monday 19:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_public.cc (grids.19):
+	  Grid::add_congruences_and_minimize(const Constraint_System& cs)
+	  fixed.
+
+2005-05-23 Monday 19:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_public.cc (grids.18): In
+	  Grid::add_congruences_and_minimize(const Constraint_System& cs),
+	  non equality constraints that may be present in `cs' are simply
+	  ignored.
+
+2005-05-23 Monday 18:09  Matthew Mundell
+
+	* src/Grid_public.cc (grids.17): Implement some of add_generator.
+	  Modify add_congruences_and_minimize to match the dimension of the
+	  congruence system being constructed to the given constraint
+	  system.  Correct a doxygen comment.
+
+2005-05-23 Monday 15:57  Matthew Mundell
+
+	* tests/Grid/mapspacedims1.cc (grids.2): Add test5.
+
+2005-05-23 Monday 15:51  Matthew Mundell
+
+	* src/Grid_simplify.cc (grids.18): Adjust the system's row capacity
+	  after inserting or erasing rows.
+
+2005-05-23 Monday 15:48  Matthew Mundell
+
+	* src/Grid_chdims.cc (grids.6): In add_space_dimensions_and_embed
+	  correct the clearing of the minimize flags and the loop that adds
+	  virtual rows.  Take some pending code out of concatenate_assign.
+
+2005-05-20 Friday 09:12  Matthew Mundell
+
+	* tests/Grid/Makefile.am (grids.9): Add test mapspacedims1.
+
+2005-05-20 Friday 09:12  Matthew Mundell
+
+	* tests/Grid/mapspacedims1.cc (grids.1): Initial revision.
+
+2005-05-20 Friday 09:11  Matthew Mundell
+
+	* src/Grid.inlines.hh (grids.7): Enable and implement method
+	  map_space_dimensions.
+
+2005-05-19 Thursday 09:35  Matthew Mundell
+
+	* src/Grid_public.cc (grids.16): Take out some of the pending code.
+	  Add the definition of add_congruences_and_minimize.
+
+2005-05-19 Thursday 09:34  Matthew Mundell
+
+	* src/Grid.defs.hh (grids.13): Temporarily add
+	  add_congruences_and_minimize and erroneously rename
+	  add_congruences to add_congruences_and_minimize.
+
+2005-05-19 Thursday 09:07  Matthew Mundell
+
+	* src/Grid_simplify.cc (grids.17): Rename pivot_num to pivot_index.
+	  In the congruence reduction swap the current row with a newly
+	  accessed pivot instead of with the original reference to the
+	  pivot.  Also decrement the pivot_index in macro free_row.
+
+2005-05-18 Wednesday 18:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/.cvsignore (grids.1): Put under CVS control.
+
+2005-05-18 Wednesday 17:45  Matthew Mundell
+
+	* src/Grid_conversion.cc (grids.10): Always define
+	  is_upper_triangular and is_lower_triangular.	Add some tracing.
+
+2005-05-18 Wednesday 17:43  Matthew Mundell
+
+	* src/Grid.defs.hh (grids.12): Always declare is_upper_triangular
+	  and is_lower_triangular
+
+2005-05-18 Wednesday 15:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Grid/Makefile.in (grids.2): Makefile.in is a generated file
+	  and should not be put under CVS.
+
+2005-05-18 Wednesday 15:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (grids.3): Improvements to the section on
+	  rational grids.
+
+2005-05-17 Tuesday 22:06  Abramo Bagnara
+
+	* src/checked.inlines.hh (1.18): abs may legitimately fail with
+	  overflow.
+
+2005-05-17 Tuesday 19:31  Abramo Bagnara
+
+	* src/Init.cc (1.17): Fixed include file.
+
+2005-05-15 Sunday 20:03  Abramo Bagnara
+
+	* tests/ppl_test.hh (1.21): Moved rounding mode handling to a lower
+	  level. Converted some method to functions.
+
+2005-05-15 Sunday 18:13  Abramo Bagnara
+
+	* src/: Init.cc (1.16), Init.defs.hh (1.12), Makefile.am (1.110),
+	  Rounding.defs.hh (1.11), Rounding.inlines.hh (1.8),
+	  checked.defs.hh (1.19), checked.inlines.hh (1.17),
+	  checked_float.inlines.hh (1.37), checked_int.inlines.hh (1.32),
+	  checked_mpz.inlines.hh (1.22), fpu-none.inlines.hh (1.1): Moved
+	  rounding mode handling to a lower level.
+
+2005-05-15 Sunday 18:11  Abramo Bagnara
+
+	* src/: BD_Shape.inlines.hh (1.48), Checked_Number.defs.hh (1.26),
+	  Checked_Number.inlines.hh (1.32): Converted many Checked_Number
+	  method in functions.
+
+2005-05-15 Sunday 10:34  Matthew Mundell
+
+	* tests/Grid/Makefile.am (grids.8): Add test concatenate1.
+
+2005-05-15 Sunday 10:34  Matthew Mundell
+
+	* tests/Grid/concatenate1.cc (grids.1): Initial revision.
+
+2005-05-15 Sunday 10:33  Matthew Mundell
+
+	* tests/Grid/removespacedims1.cc (grids.2): Take out trace dumping.
+
+2005-05-15 Sunday 10:32  Matthew Mundell
+
+	* tests/Grid/addspacedims1.cc (grids.3): Shorten comments.
+
+2005-05-15 Sunday 10:31  Matthew Mundell
+
+	* src/Grid_simplify.cc (grids.16): In the congruence reduction,
+	  after erasing rows set the row capacity of the system from the
+	  first row.
+
+2005-05-15 Sunday 10:18  Matthew Mundell
+
+	* src/Grid_public.cc (grids.15): Add loading of the minimize flag
+	  to ascii_load.
+
+2005-05-15 Sunday 10:16  Matthew Mundell
+
+	* src/Grid_chdims.cc (grids.5): Enable and implement
+	  concatenate_assign.
+
+2005-05-15 Sunday 10:13  Matthew Mundell
+
+	* src/Generator_System.cc (grids.4): In method ascii_load, turn off
+	  the type check (for now), and correctly handle reading in the
+	  virtual flag.
+
+2005-05-15 Sunday 10:09  Matthew Mundell
+
+	* src/Congruence_System.cc (grids.8): In operator== decrement the
+	  row count before the comparing the elements.
+
+2005-05-15 Sunday 10:08  Matthew Mundell
+
+	* tests/ppl_test.hh (grids.5): In find_variation, dump the ASCII of
+	  `a' before loading it into `b', and print an error and exit if
+	  the load fails.
+
+2005-05-12 Thursday 18:11  Matthew Mundell
+
+	* tests/Grid/Makefile.am (grids.7): Add test removespacedims1.
+
+2005-05-12 Thursday 18:10  Matthew Mundell
+
+	* tests/Grid/removespacedims1.cc (grids.1): Initial revision.
+
+2005-05-12 Thursday 18:10  Matthew Mundell
+
+	* src/Grid_nonpublic.cc (grids.12): Clean comments and take out
+	  tracing in normalize_divisors.
+
+2005-05-12 Thursday 18:09  Matthew Mundell
+
+	* src/Grid_chdims.cc (grids.4): Enable and implement
+	  add_space_dimensions.
+
+2005-05-12 Thursday 18:07  Matthew Mundell
+
+	* src/Grid.defs.hh (grids.11): Integrate a too-deeply nested
+	  doxygen sublist into the parent item.  Correct parameter names in
+	  some method descriptions.
+
+2005-05-12 Thursday 16:04  Matthew Mundell
+
+	* src/Congruence.defs.hh (grids.8): Take doxygen \p's out of maths
+	  environments.
+
+2005-05-12 Thursday 14:49  Matthew Mundell
+
+	* src/Congruence.defs.hh (grids.7): Escape %'s in maths
+	  environments.
+
+2005-05-12 Thursday 14:13  Matthew Mundell
+
+	* src/Grid_public.cc (grids.14): In OK declare limit the scope of
+	  variable num_columns, instead of jumping into that scope.  Add
+	  the state of minimization to the ascii_dump output.
+
+2005-05-12 Thursday 13:20  Matthew Mundell
+
+	* src/Makefile.am (grids.3): Add Congruence, Congruence_System and
+	  Grid files to DOC_FILES.
+
+2005-05-12 Thursday 13:15  Matthew Mundell
+
+	* doc/: devref-browse.doxyconf-latex.in,
+	  devref-print.doxyconf-latex.in (grids.[1,1]): Add files for
+	  Congruence, Congruence_System and Grid to INPUT.
+
+2005-05-12 Thursday 09:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (grids.2): Several small improvements to the
+	  new documentation on grids.
+
+2005-05-11 Wednesday 20:18  Matthew Mundell
+
+	* tests/Grid/Makefile.am (grids.6): Add test removespacedims2.
+
+2005-05-11 Wednesday 20:17  Matthew Mundell
+
+	* tests/Grid/removespacedims2.cc (grids.1): Initial revision.
+
+2005-05-11 Wednesday 20:16  Matthew Mundell
+
+	* src/Grid_nonpublic.cc (grids.11): Enable
+	  remove_pending_to_obtain_generators.
+
+2005-05-11 Wednesday 20:15  Matthew Mundell
+
+	* src/Grid_chdims.cc (grids.3): Update
+	  add_space_dimensions_and_project to clear the generator system if
+	  the grid is empty.  Enable and implement method
+	  remove_higher_space_dimensions.
+
+2005-05-11 Wednesday 17:17  Matthew Mundell
+
+	* tests/Grid/Makefile.am (grids.5): Add tests isuniverse1 and
+	  addspacedims2.
+
+2005-05-11 Wednesday 17:16  Matthew Mundell
+
+	* tests/Grid/addspacedims1.cc (grids.2): Improve the file
+	  description.	Take out excess variable declarations.	Add a check
+	  that the grid is the universe to test3.
+
+2005-05-11 Wednesday 17:12  Matthew Mundell
+
+	* tests/Grid/: addspacedims2.cc, isuniverse1.cc (grids.[1,1]):
+	  Initial revision.
+
+2005-05-11 Wednesday 17:07  Matthew Mundell
+
+	* src/Grid_public.cc (grids.13): Enable and finish off is_universe.
+
+2005-05-11 Wednesday 17:03  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid_chdims.cc (grids.[10,2]): Add method
+	  add_space_dimensions(cgs, gs dims).  Declare the original
+	  add_space_dimensions inline.	Update the space dimension
+	  adjusting functions to set the created generators to lines via
+	  flags (instead of explicit calls to the respective methods).
+	  Implement add_space_dimensions_and_project.  Improve some
+	  comments.
+
+2005-05-11 Wednesday 12:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/: definitions.dox, ppl.sty (grids.[1,1]): Introductory
+	  documentation for grids and draft specifications of most of the
+	  main operations to be implemented.
+
+2005-05-09 Monday 12:40  Matthew Mundell
+
+	* tests/Grid/Makefile.am (grids.4): Add tests addspacedims1,
+	  intersection1, intersection2, join1 and join2.
+
+2005-05-09 Monday 12:39  Matthew Mundell
+
+	* tests/Grid/addspacedims1.cc (grids.1): Initial revision.
+
+2005-05-09 Monday 12:36  Matthew Mundell
+
+	* tests/Grid/: grid3.cc, intersection1.cc, intersection2.cc,
+	  join1.cc, join2.cc (grids.[3,1,1,1,1]): Move operation tests to
+	  per-operation files.	Add various tests of the
+	  intersection_assign methods.
+
+2005-05-09 Monday 12:32  Matthew Mundell
+
+	* tests/Grid/grid2.cc (grids.6): Add test13 (an empty grid
+	  constructed with congruences).
+
+2005-05-09 Monday 12:32  Matthew Mundell
+
+	* tests/Grid/grid1.cc (grids.10): Add test19 (a generator system
+	  with only a line).
+
+2005-05-09 Monday 12:31  Matthew Mundell
+
+	* tests/Grid/: congruence1.cc, congruencesystem1.cc (grids.[3,4]):
+	  Use C++ style single line comments.  Take out some duplicate
+	  Variables.
+
+2005-05-09 Monday 12:28  Matthew Mundell
+
+	* tests/print.hh (grids.2): Declare nout and vnout static.
+
+2005-05-09 Monday 12:27  Matthew Mundell
+
+	* src/Makefile.am (grids.2): Add Grid_chdims.cc to
+	  libppl_la_SOURCES.
+
+2005-05-09 Monday 12:26  Matthew Mundell
+
+	* src/Grid_chdims.cc (grids.1): Initial revision, with methods
+	  add_space_dimensions and add_space_dimensions_and_embed enabled.
+
+2005-05-09 Monday 12:24  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid_public.cc, Grid_simplify.cc
+	  (grids.[9,12,15]): Add method add_space_dimensions.  Change the
+	  type of the reduce_equality_with_equality arguments to
+	  Congruence.  Rename reduce_line_with_parameter to
+	  reduce_parameter_with_line.  Rename
+	  reduce_equality_with_congruence to
+	  reduce_congruence_with_equality.  Enable the definition of method
+	  contains.  Update comments.  Take out some tracing.  Correct the
+	  asserts in two of the reduce functions.
+
+2005-05-09 Monday 12:05  Matthew Mundell
+
+	* src/Grid_nonpublic.cc (grids.10): Take out some tracing.  Update
+	  comments left from Polyhedron.
+
+2005-05-09 Monday 12:00  Matthew Mundell
+
+	* src/: Congruence_System.cc, Congruence_System.defs.hh
+	  (grids.[7,5]): Take out a line of tracing and the declaration of
+	  method insert(const Constraint&).  Update a comment.
+
+2005-05-06 Friday 11:47  Matthew Mundell
+
+	* src/Grid_conversion.cc (grids.9): Correct method name typo.
+
+2005-05-06 Friday 11:39  Matthew Mundell
+
+	* tests/Grid/grid3.cc (grids.2): Use A instead of C in test1.  Add
+	  test2, test3 and test4, which test
+	  intersection_assign_and_minimize, join_assign and
+	  join_assign_and_minimize.
+
+2005-05-06 Friday 11:37  Matthew Mundell
+
+	* src/: Grid_conversion.cc, Grid_simplify.cc (grids.[8,14]): Use
+	  new method Congruence_System::is_congruence.	Update parameter
+	  reduction to make all following rows virtual if the first row
+	  turns out to be virtual or a line.  Update congruence reduction
+	  to make the first row the integrality congruence if the resulting
+	  grid is empty.
+
+2005-05-06 Friday 11:29  Matthew Mundell
+
+	* src/Grid_public.cc (grids.11): Enable and implement
+	  intersection_assign_and_minimize, join_assign and
+	  join_assign_and_minimize.
+
+2005-05-06 Friday 11:27  Matthew Mundell
+
+	* src/Grid_nonpublic.cc (grids.9): Normalise moduli before
+	  simplifying in construct.  Correct some comments.
+
+2005-05-06 Friday 11:26  Matthew Mundell
+
+	* src/Grid_minimize.cc (grids.9): Reorder method definitions.  Add
+	  some temporary comments.
+
+2005-05-06 Friday 11:22  Matthew Mundell
+
+	* src/: Congruence.defs.hh, Congruence.inlines.hh,
+	  Congruence_System.cc (grids.[6,5,6]): Add method is_congruence.
+	  Adjust normalize_moduli to loop through all the rows when
+	  calculating the LCM.
+
+2005-05-05 Thursday 10:55  Matthew Mundell
+
+	* tests/Grid/Makefile.am (grids.3): Add grid3_SOURCES and add grid3
+	  to TESTS.
+
+2005-05-05 Thursday 10:54  Matthew Mundell
+
+	* tests/Grid/grid3.cc (grids.1): Initial revision.
+
+2005-05-05 Thursday 10:49  Matthew Mundell
+
+	* src/Grid_simplify.cc (grids.13): Rename function
+	  trailing_rows_are_zero to rows_are_zero, and modify it to also
+	  take the last row (instead of just checking to the end).  Update
+	  the call of this function in the congruence simplify to correctly
+	  check the rows at the beginning of the matrix.
+
+	  In the congruence simplify decrement orig_row_num in macro
+	  free_row, to match it to the new number of rows.
+
+2005-05-05 Thursday 10:42  Matthew Mundell
+
+	* src/Grid_public.cc (grids.10): Simplify instead of processing
+	  pending, in is_universe.  Enable processing of pending generators
+	  in add_congruence.  Enable and implement intersection_assign.
+
+2005-05-05 Thursday 10:36  Matthew Mundell
+
+	* src/Grid_nonpublic.cc (grids.8): Minimize instead of simplifying
+	  in the process_pending methods.  Update a comment.
+
+2005-05-05 Thursday 10:34  Matthew Mundell
+
+	* src/Grid_minimize.cc (grids.8): Take out tracing, add a comment.
+
+2005-05-05 Thursday 10:34  Matthew Mundell
+
+	* src/: Congruence_System.cc, Congruence_System.defs.hh
+	  (grids.[5,4]): Add void method add_rows(const
+	  Congruence_System&).
+
+2005-05-05 Thursday 10:32  Matthew Mundell
+
+	* tests/Grid/: grid1.cc, grid2.cc (grids.[9,5]): Convert comments
+	  to C++ style.
+
+2005-05-04 Wednesday 15:04  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid.inlines.hh, Grid_conversion.cc,
+	  Grid_nonpublic.cc, Grid_public.cc, Grid_simplify.cc
+	  (grids.[8,6,7,7,9,12]): Rename constructor parameters from cgs to
+	  const_gs, and from cs to cgs.  Add static methods
+	  lower_triangular and upper_triangular, and use them in OK.  Use
+	  these and new function identity as pre-conversion assertions.
+	  Take out the congruence-related and Grid versions of
+	  throw_topology_incompatible, and the old Polyhedron constructor
+	  definitions.	Clean up the topology checking in general.  Comment
+	  out the parameter name in add_low_level_congruences to work
+	  around a compiler warning.  Clean some argument spacing and
+	  update some comments.  Update construct to convert a given NNC
+	  generator system to NC.
+
+2005-05-03 Tuesday 15:20  Matthew Mundell
+
+	* src/Grid_simplify.cc (grids.11): Only throw the "type match" run
+	  time errors when assertions are enabled.
+
+2005-05-03 Tuesday 15:03  Matthew Mundell
+
+	* tests/Grid/: grid1.cc, grid2.cc (grids.[8,4]): Neaten tracing
+	  headers.  Use the single argument Grid constructor, instead of
+	  explicitly passing kind as EMPTY.  Create known grids using the
+	  copy constructor.  Add the known grid check to test15.  Add
+	  test16, test17 and test18, which test universe grids of one, many
+	  and zero dimensions.
+
+2005-05-03 Tuesday 15:02  Matthew Mundell
+
+	* src/Grid_simplify.cc (grids.10): Turn off tracing.
+
+2005-05-03 Tuesday 15:01  Matthew Mundell
+
+	* src/Grid_public.cc (grids.8): Ensure that dimensions given to the
+	  constructor are small enough.  Implement method is_universe.
+	  Enable, clean up and improve the OK method.  Add operator= (moved
+	  from Grid_nonpublic.cc).
+
+2005-05-03 Tuesday 14:48  Matthew Mundell
+
+	* src/Grid_nonpublic.cc (grids.6): Take out operator= (moved to
+	  Grid_public.cc).  Enable and update process_pending_congruences
+	  and process_pending_generators.  Enable the pending processing in
+	  minimize().  Drop the topol argument from calls to
+	  throw_space_dimension_overflow.
+
+2005-05-03 Tuesday 14:40  Matthew Mundell
+
+	* src/Grid_minimize.cc (grids.7): Simplify before initialising the
+	  destination in the minimize functions.  Improve the loops that
+	  create identity matrices.
+
+2005-05-03 Tuesday 14:35  Matthew Mundell
+
+	* src/Grid_conversion.cc (grids.6): Update some comments.  Add and
+	  use macro ctrace_dump.  Only throw the "type match" run time
+	  errors when assertions are enabled.  Move source_diag init out of
+	  the row-processing loop in the parameter to congruence
+	  conversion.
+
+2005-05-03 Tuesday 14:22  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid.inlines.hh (grids.[7,5]): Improve some
+	  comments.  Revert the miscellaneous methods to private.  Drop
+	  throw_space_dimension_overflow's topol argument.  Take out the
+	  bounding box method definitions.  Enable method process_pending.
+
+2005-05-03 Tuesday 14:11  Matthew Mundell
+
+	* tests/Grid/congruencesystem1.cc (grids.3): Neaten test7.
+
+2005-04-28 Thursday 18:50  Abramo Bagnara
+
+	* src/: Float.defs.hh (1.7), checked_float.inlines.hh (1.36): Avoid
+	  some compiler warnings.
+
+2005-04-27 Wednesday 21:45  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid.inlines.hh, Grid_conversion.cc,
+	  Grid_minimize.cc, Grid_nonpublic.cc, Grid_public.cc,
+	  Grid_simplify.cc (grids.[6,4,5,6,5,7,9]): Take out all saturation
+	  matrix code, polyhedron method descriptions, some tracing, the
+	  polyhedron related parts of exception messages, and the methods
+	  obtain_sorted_congruences, obtain_sorted_generators,
+	  obtain_sorted_congruences_with_sat_c and
+	  obtain_sorted_generators_with_sat_g.
+
+	  Only pass the source and destination systems to the conversion
+	  and simplify methods.  Revert some of the temporarily public
+	  methods to private.  Clean up the minimize methods and enclose
+	  them in a namespace block.
+
+	  Conversion
+
+	    Enclose the method definitions in a namespace block.  Improve
+	    comments and initial asserts.  Skip multiplying the destination
+	  grid
+	    by the multiplier when the multiplier is one.  Use temporary
+	    variables better in the parameter to congruence version.
+
+	  Reduction
+
+	    Neaten the reduce_line_with_line description, and some variable
+	    names in the reduce methods.  Only define
+	  trailing_rows_are_zero
+	    when assertions are enabled.
+
+2005-04-27 Wednesday 21:10  Matthew Mundell
+
+	* src/Congruence_System.inlines.hh (grids.3): Take old comment out
+	  of resize_no_copy.
+
+2005-04-26 Tuesday 20:54  Matthew Mundell
+
+	* src/Grid_simplify.cc (grids.8): Use the new is_virtual and
+	  set_is_virtual methods instead of the old virtual row functions.
+	  Clean up many of the temporary comments and some of the others.
+	  Improve variable names.  Take out some of the trace printing.
+	  Improve the loop used to iterate through the preceding rows in
+	  the congruence reduction.  Move the congruence reduction OK
+	  assertion so that is is called in every return case.	Save doing
+	  one of the comparisons in the empty grid check at the end of the
+	  congruence reduction.
+
+2005-04-26 Tuesday 20:38  Matthew Mundell
+
+	* src/Grid_minimize.cc (grids.5): Add an assertion that there are
+	  rows to the 4 parameter congruence to generator minimize method.
+	  Take the Polhedron assertion comment out of both of the 4
+	  parameter minimize methods.
+
+2005-04-26 Tuesday 20:33  Matthew Mundell
+
+	* src/: Generator_System.cc, Grid_conversion.cc, Grid_nonpublic.cc
+	  (grids.[3,4,4]): Use new is_virtual and set_is_virtual methods
+	  instead of the old virtual row functions.
+
+2005-04-26 Tuesday 20:30  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid.inlines.hh (grids.[5,3]): Take out the
+	  virtual row functions (replace with methods in the Generator and
+	  Congruence classes).
+
+2005-04-26 Tuesday 20:28  Matthew Mundell
+
+	* src/: Generator.defs.hh, Generator.inlines.hh (grids.[2,1]): Add
+	  is_virtual.
+
+2005-04-26 Tuesday 20:27  Matthew Mundell
+
+	* src/Congruence_System.defs.hh (grids.3): Correct comment.
+
+2005-04-26 Tuesday 20:26  Matthew Mundell
+
+	* src/: Congruence.defs.hh, Congruence.inlines.hh (grids.[5,4]):
+	  Add methods is_virtual and set_is_virtual.  Assert that there are
+	  elements in methods modulus and set_is_equality.
+
+2005-04-26 Tuesday 11:04  Matthew Mundell
+
+	* tests/Grid/grid1.cc (grids.7): Add test15, which tests
+	  reduce_line_with_line.  Neaten the generator system definition in
+	  test9.
+
+2005-04-25 Monday 19:35  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid_simplify.cc (grids.[4,7]): Use
+	  strace_dump in the congruence system reduction.
+
+	  The previous log message should have been:
+
+	  Improve comments.  Split le_le_reduce into
+	  reduce_equality_with_equality and reduce_line_with_line.  Improve
+	  the names, arguments and variables of all the reduce functions.
+	  Also consider the divisor in reduce_line_with_line.  Use
+	  Coefficient_traits::const_reference in the reduce functions.
+	  Correct the assertions.  Add and use macro strace_dump and
+	  temporary tracing stream strace.
+
+2005-04-25 Monday 18:58  Matthew Mundell
+
+	* src/Grid_public.cc (grids.6): In
+	  add_recycled_congruences_and_minimize use the add_and_minimize
+	  return directly, instead of using a variable.
+
+2005-04-25 Monday 18:48  Matthew Mundell
+
+	* src/Grid_simplify.cc (grids.6): In
+	  add_recycled_congruences_and_minimize use the add_and_minimize
+	  return directly, instead of using a variable.
+
+2005-04-25 Monday 18:46  Matthew Mundell
+
+	* src/Grid_conversion.cc (grids.3): Rename the trace stream ctrace.
+
+2005-04-25 Monday 18:42  Matthew Mundell
+
+	* src/GMP_Integer.defs.hh (grids.2): Improve comment.
+
+2005-04-25 Monday 13:03  Matthew Mundell
+
+	* tests/Grid/grid2.cc (grids.3): Add general tests test11 and
+	  test12, which have more and fewer rows than columns,
+	  respectively.
+
+2005-04-22 Friday 11:41  Matthew Mundell
+
+	* tests/Grid/grid2.cc (grids.2): Add general test cong_test4.
+
+2005-04-21 Thursday 12:30  Matthew Mundell
+
+	* tests/Grid/Makefile.am (grids.2): Add grid2_SOURCES, and add
+	  grid2 to TESTS.
+
+2005-04-21 Thursday 12:29  Matthew Mundell
+
+	* tests/Grid/grid2.cc (grids.1): Initial revision.
+
+2005-04-21 Thursday 12:28  Matthew Mundell
+
+	* tests/Grid/grid1.cc (grids.6): Always compare the grid and known
+	  grid in the same order.  Match the test names in the comments to
+	  the new Chiara names.
+
+2005-04-21 Thursday 12:16  Matthew Mundell
+
+	* src/Grid_public.cc (grids.5): Update
+	  add_recycled_congruences_and_minimize to clear the empty flag and
+	  set the congruences up-to-date.  Take out the polyhedra comments
+	  in operator==, and neaten operator<<.
+
+2005-04-21 Thursday 12:10  Matthew Mundell
+
+	* src/: Grid_minimize.cc, Grid_nonpublic.cc, Grid_simplify.cc
+	  (grids.[4,3,5]): Return a bool from the update_congruences and
+	  simplify methods to indicate whether the grid is empty.  Pass
+	  this return on in the minimize and add_and_minimize methods which
+	  call simplify.  Assert an equal number of columns in source1 and
+	  source2 in add_and_minimize\5 (congruence to generator).
+
+	  In update_congruences and update_generators set the grid empty
+	  according to the minimize return.
+
+	  In both simplifys use the row number instead of the row to test
+	  if the original row and pivot must be swapped.  In the congruence
+	  simplify when adding the top row, search for a valid modulus and
+	  set the diagonal (and modulus) to the result of the search.
+
+2005-04-21 Thursday 11:51  Matthew Mundell
+
+	* src/Grid.defs.hh (grids.3): Return a bool from update_congruences
+	  and simplify to indicate whether the grid is empty.  Pass this
+	  return on in the minimize and add_and_minimize methods which call
+	  simplify.  Assert an equal number of columns in the sources in
+	  the congruence to generator add_and_minimize\5.
+
+2005-04-21 Thursday 11:40  Matthew Mundell
+
+	* src/Generator_System.cc (grids.2): In operator<< increment the
+	  iterator after the virtual row check, and loop with a single
+	  comparison.
+
+2005-04-21 Thursday 11:37  Matthew Mundell
+
+	* src/Congruence_System.cc (grids.4): Take out normalize_moduli
+	  tracing.  Add satisfies_all_cgs tracing.  Update normalize_moduli
+	  to consider only positive moduli.  Make adjust_space_dimension
+	  move the moduli to the new last column.  Neaten the operator<<
+	  loop.
+
+2005-04-19 Tuesday 19:08  Matthew Mundell
+
+	* tests/Grid/grid1.cc (grids.5): Add test14 which uses larger
+	  numbers than the existing tests.
+
+2005-04-19 Tuesday 14:22  Matthew Mundell
+
+	* tests/Grid/grid1.cc (grids.4): Add test11-13 which test with an
+	  empty grid in one, an empty grid in many dimensions and a grid in
+	  which the values are larger than in the existing tests.
+
+2005-04-19 Tuesday 14:17  Matthew Mundell
+
+	* src/Linear_Row.cc (grids.1): Note the virtual row in
+	  Flags::ascii_dump.
+
+2005-04-19 Tuesday 14:15  Matthew Mundell
+
+	* src/Grid_simplify.cc (grids.4): Include the divisor in the
+	  parameter version of le_pc_reduce.  In the congruence version
+	  consider every row (instead of leaving out the last row) and skip
+	  modifying virtual rows.
+
+2005-04-19 Tuesday 14:07  Matthew Mundell
+
+	* src/: Grid_minimize.cc, Grid_public.cc (grids.[3,4]): Take out
+	  the pending row tracing.
+
+2005-04-17 Sunday 19:38  Abramo Bagnara
+
+	* src/: fpu-c99.inlines.hh (1.5), fpu-ia32.inlines.hh (1.6),
+	  fpu.defs.hh (1.4): Code cleaning. Added
+	  fpu_set_rounding_direction.
+
+2005-04-15 Friday 18:55  Matthew Mundell
+
+	* tests/Grid/grid1.cc (grids.3): Take out tracing.  Enable
+	  comparison to known grid in test1.
+
+2005-04-15 Friday 18:51  Matthew Mundell
+
+	* tests/ppl_test.hh (grids.4): ASCII dump `a'.
+
+2005-04-15 Friday 18:49  Matthew Mundell
+
+	* src/Grid_simplify.cc (grids.3): When the first row must be added,
+	  add an empty congruence or point instead of a virtual row.
+
+2005-04-15 Friday 17:29  Matthew Mundell
+
+	* tests/Grid/Makefile.am (grids.1): Initial revision.
+
+2005-04-15 Friday 15:23  Matthew Mundell
+
+	* src/Congruence.inlines.hh (grids.3): Take out tracing.
+
+2005-04-15 Friday 15:23  Matthew Mundell
+
+	* src/Congruence.defs.hh (grids.4): Take out inclusion of test
+	  file.
+
+2005-04-15 Friday 12:12  Matthew Mundell
+
+	* tests/Grid/grid1.cc (grids.2): Add test7 to test10, and update
+	  all tests to test reduction and conversion.
+
+2005-04-15 Friday 12:11  Matthew Mundell
+
+	* tests/Grid/congruencesystem1.cc (grids.2): Add test7, which
+	  includes an all-zero congruence and an equality.
+
+2005-04-15 Friday 12:07  Matthew Mundell
+
+	* src/: Linear_Row.defs.hh, Linear_Row.inlines.hh (grids.[1,1]):
+	  Add a virtual flag and methods is_virtual and set_is_virtual.
+
+2005-04-15 Friday 12:06  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid.inlines.hh, Grid_conversion.cc,
+	  Grid_minimize.cc, Grid_nonpublic.cc, Grid_public.cc,
+	  Grid_simplify.cc (grids.[2,2,2,2,2,3,2]): Add much tracing.
+	  Neaten whitespace.  Improve comments.  Change the parameter
+	  system type to Generator_System in methods minimize and simplify.
+	   Rename convert to conversion (to match Polyhedron).	Temporarily
+	  make some private methods public (for testing).  Change
+	  parameterize to return the generator system and add the ability
+	  to pass a reference point to parameterize.  Add static methods
+	  virtual_row and mark_virtual.
+
+	  Adjust is_included_in to the parameter system.
+
+	  Move the definition of construct to Grid_nonpublic.cc.  Enable
+	  operator!=.
+
+	  Add conversion from parameter system to congruence system, and
+	  get both conversion methods working.	Add a trace stream.
+
+	  Update the minimize and add_and_minimize methods.  In all of
+	  these include negative values in the check for an empty grid
+	  after conversion, and always set the destination generators and
+	  generator system necessarily closed.
+
+	  Direct out some of the saturation matrix code.  Correct the empty
+	  flag handling after adding congruences to the grid.  In
+	  Grid(num_dimensions,kind) change the initial generator system
+	  topology to necessarily closed and set the congruences to
+	  minimized directly via status when the grid is empty.
+
+	  Update reduction (the simplify methods).
+
+2005-04-15 Friday 11:01  Matthew Mundell
+
+	* src/Generator_System.cc (grids.1): Add virtual_rows to loading
+	  and dumping.
+
+2005-04-15 Friday 10:55  Matthew Mundell
+
+	* src/: Congruence_System.cc, Congruence_System.defs.hh,
+	  Congruence_System.inlines.hh (grids.[3,2,2]): Add method
+	  resize_no_copy and a version of satisfies_all_congruences that
+	  accepts a parameter.	In operator== substitute a local
+	  implementation for the Matrix::operator== call.  Leave out
+	  equalities in normalize_moduli.  In both
+	  satisfies_all_congruences compare the scalar product with zero
+	  for equalities.
+
+2005-04-15 Friday 10:41  Matthew Mundell
+
+	* src/: Congruence.cc, Congruence.defs.hh, Congruence.inlines.hh
+	  (grids.[3,3,2]): Add versions of reduced_scalar_product_assign
+	  and scalar_product_assign which accept parameters.  Add method
+	  set_is_equality.  In normalize set the inhomogeneous term to the
+	  modulus when the coefficients are all zero.  Correct the loading
+	  of the "m" in ascii_load.
+
+2005-04-15 Friday 10:30  Matthew Mundell
+
+	* tests/ppl_test.hh (grids.3): In find_variation_template neaten
+	  the failure output, take out the tracing output, and note that
+	  `a' must be up to date.
+
+2005-04-11 Monday 00:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/Time.inlines.hh (1.3): Fixed a bug in
+	  Time::operator+=(const Time&).
+
+2005-04-10 Sunday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.47), tests/BD_Shape/affineimage8.cc
+	  (1.2), tests/BD_Shape/affineimage9.cc (1.2),
+	  tests/BD_Shape/affinepreimage5.cc (1.2),
+	  tests/BD_Shape/generalizedaffineimage14.cc (1.3): Improved
+	  methods BD_Shape::affine_image(Variable, const
+	  Linear_Expression&, Coefficient_traits::const_reference),
+	  BD_Shape::affine_preimage(Variable, const Linear_Expression&,
+	  Coefficient_traits::const_reference), and
+	  BD_Shape::generalized_affine_image(Variable, Relation_Symbol,
+	  const Linear_Expression&, Coefficient_traits::const_reference).
+
+2005-04-06 Wednesday 18:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ppl_test.hh (1.20): Added negate_round_up().
+
+2005-04-03 Sunday 17:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.51): Wrong indentation corrected.
+
+2005-04-03 Sunday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.36): Sentence fixed.
+
+2005-04-02 Saturday 09:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.18), BD_Shape.inlines.hh (1.46): Added
+	  method Constraint_System BD_Shape<T>::minimized_constraints()
+	  const.
+
+2005-03-31 Thursday 12:14  Matthew Mundell
+
+	* doc/Makefile.am (1.34): Keep TXT_LICENSES in LICENSES.  Use
+	  specific licence variables in ALL_TARGETS, instead of LICENSES.
+
+2005-03-31 Thursday 12:11  Matthew Mundell
+
+	* demos/ppl_lcdd/examples/README (1.3): Make "example" plural.
+
+2005-03-31 Thursday 12:10  Matthew Mundell
+
+	* debian/: libppl.dirs (1.2), libppl.install (1.3), rules (1.4):
+	  Add ppl_lcdd to the libppl package.  Extract the PPL version
+	  string from configure.ac instead of from one of the documentation
+	  files.  Make the PWL.  Install the PWL and Debian changelog to
+	  libppl-pwl.  Copy the Debian changelog to libppl correctly.
+
+2005-03-31 Thursday 12:03  Matthew Mundell
+
+	* debian/: libppl-pwl.dirs (1.1), libppl-pwl.docs (1.1),
+	  libppl-pwl.install (1.1): Initial revision.
+
+2005-03-31 Thursday 12:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/libppl-pwl.dirs (altnum.1): file libppl-pwl.dirs was added
+	  on branch altnum on 2006-10-29 19:26:52 +0000
+
+2005-03-31 Thursday 12:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/libppl-pwl.docs (altnum.1): file libppl-pwl.docs was added
+	  on branch altnum on 2006-10-29 19:26:52 +0000
+
+2005-03-31 Thursday 12:02  Matthew Mundell
+
+	* debian/control (1.7): For the PWL package, correct long and short
+	  descriptions and take out the libppl dependency.
+
+2005-03-31 Thursday 11:59  Matthew Mundell
+
+	* configure.ac (1.160): Add Debian copyright files to
+	  AC_CONFIG_FILES.  Clean some whitespace.
+
+2005-03-31 Thursday 11:58  Matthew Mundell
+
+	* debian/libppl-pwl.links (1.2): Use libppl-pwl.docs instead of a
+	  symlink.
+
+2005-03-31 Thursday 11:56  Matthew Mundell
+
+	* debian/libppl.copyright (1.2): Move to libppl.copyright.in.
+
+2005-03-31 Thursday 11:55  Matthew Mundell
+
+	* debian/libppl.copyright.in (1.1): Initial revision (moved here
+	  from libppl.copyright).
+
+2005-03-31 Thursday 11:54  Matthew Mundell
+
+	* debian/libppl-pwl.copyright.in (1.1): Initial revision.
+
+2005-03-29 Tuesday 23:22  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh (1.25), Checked_Number.inlines.hh
+	  (1.31), Float.defs.hh (1.6), Float.inlines.hh (1.8), Makefile.am
+	  (1.109), checked.cc (1.1), checked.defs.hh (1.18),
+	  checked.inlines.hh (1.16), checked_ext.defs.hh (1.7),
+	  checked_ext.inlines.hh (1.17), checked_float.inlines.hh (1.35),
+	  checked_int.inlines.hh (1.31), checked_mpq.inlines.hh (1.18),
+	  checked_mpz.inlines.hh (1.21): New implementation of standardized
+	  input of checked numbers. Added mpq to float conversion.
+
+2005-03-29 Tuesday 16:40  Matthew Mundell
+
+	* doc/README.doc (1.4): Revert accidental previous commit.
+
+2005-03-29 Tuesday 16:37  Matthew Mundell
+
+	* doc/: README.doc (1.3), Makefile.am (1.33): Preserve text
+	  licences across the clean rules by making CLEANFILES and
+	  ALL_TARGETS only refer to files that can be built.  Take
+	  duplicate text files out of EXTRA_DIST.  Take out the dist-hook
+	  rule.
+
+2005-03-29 Tuesday 16:29  Matthew Mundell
+
+	* debian/rules (1.3): For the config.status rule add a Watchdog
+	  configure command and take out the dependency on configure.
+
+2005-03-29 Tuesday 12:01  Matthew Mundell
+
+	* debian/rules (1.2): Add configure flags assignment suggested in
+	  Debian autotools-dev README.	Change DOC_DIR to libppl-dev (user
+	  manual moved to package libppl-dev).	Update comment.
+
+2005-03-29 Tuesday 11:50  Matthew Mundell
+
+	* debian/libppl.doc-base (1.2): Moved to libppl-dev.doc-base.user
+	  (user manual moved to package libppl-dev).
+
+2005-03-29 Tuesday 11:47  Matthew Mundell
+
+	* debian/libppl-dev.doc-base.user (1.1): Initial revision.
+
+2005-03-29 Tuesday 11:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/libppl-dev.doc-base.user (altnum.1): file
+	  libppl-dev.doc-base.user was added on branch altnum on 2006-10-29
+	  19:26:52 +0000
+
+2005-03-29 Tuesday 11:45  Matthew Mundell
+
+	* debian/libppl-dev.doc-base (1.2): Make the fields in the first
+	  section contiguous.  Update HTML directory name.
+
+2005-03-29 Tuesday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/libppl-dev.doc-base (altnum.1): file libppl-dev.doc-base
+	  was added on branch altnum on 2006-10-29 19:26:52 +0000
+
+2005-03-29 Tuesday 11:43  Matthew Mundell
+
+	* debian/control (1.6): Add automake1.4 build conflict.  Update
+	  interface short descriptions.  As per Developers Reference: take
+	  leading "The"'s out of short descriptions, add homepage field to
+	  long descriptions, take mention of Free Software out of the long
+	  descriptions.
+
+2005-03-26 Saturday 10:45  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh (1.24), checked.defs.hh (1.17),
+	  checked_ext.inlines.hh (1.16), checked_float.inlines.hh (1.34),
+	  checked_int.inlines.hh (1.30): Cosmetic fix to conform to usual
+	  C++ guidelines.
+
+2005-03-26 Saturday 10:24  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh (1.23), Checked_Number.inlines.hh
+	  (1.30), checked.defs.hh (1.16), checked_ext.inlines.hh (1.15),
+	  checked_float.inlines.hh (1.33), checked_int.inlines.hh (1.29),
+	  checked_mpq.inlines.hh (1.17), checked_mpz.inlines.hh (1.20):
+	  Fixed assignments from infinities.
+
+2005-03-25 Friday 20:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.17), BD_Shape.inlines.hh (1.45): Pass
+	  arguments of type Coefficient using
+	  Coefficient_traits::const_reference instead of plain const
+	  reference.
+
+2005-03-25 Friday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.16), BD_Shape.inlines.hh (1.44): Some
+	  unwanted const qualifiers have been removed.	Some desirable
+	  const qualifiers have been added.
+
+2005-03-25 Friday 12:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.43): Use the proper constructor when
+	  building a BDS from a polyhedron.
+
+2005-03-25 Friday 10:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/exceptions3.cc (1.6): Reflect the recent changes
+	  in the behavior of BDS methods for affine images and preimages.
+
+2005-03-25 Friday 10:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.15): The documentation of
+	  generalized_affine_image(const Linear_Expression&, const
+	  Relation_Symbol, const Linear_Expression&) is now consistent with
+	  the implementation.
+
+2005-03-25 Friday 10:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.42): Comments of
+	  generalized_affine_image(Variable, Relation_Symbol,
+	  Linear_Expression&, const Coefficient&) somewhat cleaned up.
+
+2005-03-25 Friday 10:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.14): The documentation of
+	  generalized_affine_image(Variable, Relation_Symbol,
+	  Linear_Expression&, const Coefficient&); is now consistent with
+	  the documentation.
+
+2005-03-25 Friday 09:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.41): Comments of
+	  affine_preimage(Variable, Linear_Expression&, const Coefficient&)
+	  somewhat cleaned up.
+
+2005-03-25 Friday 09:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.13): The documentation of
+	  affine_preimage(Variable, Linear_Expression&, const Coefficient&)
+	  is now consistent with the documentation.
+
+2005-03-25 Friday 09:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.40): Comments of
+	  affine_image(Variable, Linear_Expression&, const Coefficient&)
+	  somewhat cleaned up.
+
+2005-03-25 Friday 09:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.12): File comment fixed.  The
+	  documentation of affine_image(Variable, Linear_Expression&, const
+	  Coefficient&) is now consistent with the documentation.
+
+2005-03-24 Thursday 11:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.127): Comments
+	  concerning the widening and extrapolation predicates changed so
+	  as to state explicitly that the polyhedron referenced by the 1st
+	  handle must contain the polyhedron referenced by the second
+	  handle.
+
+2005-03-24 Thursday 09:48  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh (1.22), Checked_Number.inlines.hh
+	  (1.29), Rounding.defs.hh (1.10): Permit rounding default
+	  direction different from CURRENT. Added Checked_Number methods to
+	  save/restore rounding mode.
+
+2005-03-23 Wednesday 19:21  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh (1.21), Checked_Number.inlines.hh
+	  (1.28), checked_float.inlines.hh (1.32), checked_int.inlines.hh
+	  (1.28), checked_mpq.inlines.hh (1.16), checked_mpz.inlines.hh
+	  (1.19), checked_numeric_limits.hh (1.3): Added explicit 'signed'
+	  to integral types. Fixed set_special for mpz and mpq. Use always
+	  extended assignment for Checked_Number.
+
+2005-03-22 Tuesday 20:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.14): Programs
+	  boundedh79extrapolation1 and nnc_boundedh79extrapolation1 removed
+	  from XFAIL_WITH_INT8 and added to XFAIL_WITH_INT8_A.
+
+2005-03-22 Tuesday 14:36  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh (1.20), Checked_Number.inlines.hh
+	  (1.27), Result.defs.hh (1.9), checked.defs.hh (1.15),
+	  checked_ext.inlines.hh (1.14), checked_float.inlines.hh (1.31),
+	  checked_int.inlines.hh (1.27), checked_mpq.inlines.hh (1.15),
+	  checked_mpz.inlines.hh (1.18): Removed unused pred/succ. Don't
+	  return special result for representable values.
+
+2005-03-22 Tuesday 13:01  Matthew Mundell
+
+	* STANDARDS (grids.2): Take out the paragraph about the check_dump
+	  function.
+
+2005-03-22 Tuesday 13:00  Matthew Mundell
+
+	* tests/Grid/writecongruencesystem.cc (grids.2): Take out the dump
+	  comparisons.	Add find_variation checks.  Use endl instead of
+	  '\n'.
+
+2005-03-22 Tuesday 12:58  Matthew Mundell
+
+	* tests/Grid/congruence1.cc (grids.2): Take out all dump
+	  comparisons.	Use find_variation instead of check_ok.  Print
+	  fewer NOISY tracing messages.  Add dumps to the NOISY test
+	  failure messages.
+
+2005-03-22 Tuesday 12:55  Matthew Mundell
+
+	* tests/ppl_test.hh (grids.2): Take out check_dump.  Create the
+	  comparison object in find_variation_template with a copy
+	  constructor.
+
+2005-03-22 Tuesday 12:54  Matthew Mundell
+
+	* src/Grid_public.cc (grids.2): Define the copy constructor.
+
+2005-03-22 Tuesday 12:53  Matthew Mundell
+
+	* src/Congruence_System.cc (grids.2): Use Congruence::ascii_load.
+
+2005-03-22 Tuesday 12:52  Matthew Mundell
+
+	* src/: Congruence.cc, Congruence.defs.hh (grids.[2,2]): Add method
+	  ascii_load.
+
+2005-03-21 Monday 20:12  Matthew Mundell
+
+	* src/: Matrix.cc, Matrix.defs.hh (grids.[1,1]): Declare Grid and
+	  an operator== as friends.  Add method add_row.
+
+2005-03-21 Monday 20:03  Matthew Mundell
+
+	* doc/devref.doxyconf-html.in (grids.1): Add Grid, Congruence and
+	  Congruence_System files to INPUT.
+
+2005-03-21 Monday 19:59  Matthew Mundell
+
+	* src/Row.defs.hh (1.93): Take out dot following \brief.
+
+2005-03-21 Monday 19:52  Matthew Mundell
+
+	* src/Makefile.am (grids.1): Add Grid, Congruence and
+	  Congruence_System files to INCLUDE_FILES and libppl_la_SOURCES.
+
+2005-03-21 Monday 19:49  Matthew Mundell
+
+	* src/: Linear_Expression.defs.hh, Linear_Expression.inlines.hh
+	  (grids.[1,1]): Declare Congruence, two operator%='s and
+	  swap(Linear_Expression&, Linear_Expression&) as friends.  Add
+	  copy constructor which takes size and capacity.
+
+2005-03-21 Monday 19:35  Matthew Mundell
+
+	* src/Generator_System.defs.hh (grids.1): Declare Grid friendship.
+
+2005-03-21 Monday 19:34  Matthew Mundell
+
+	* src/Generator.defs.hh (grids.1): Declare Grid and
+	  Congruence_System as friends.
+
+2005-03-21 Monday 19:33  Matthew Mundell
+
+	* src/Constraint.defs.hh (grids.1): Declare Congruence a friend.
+
+2005-03-21 Monday 19:32  Matthew Mundell
+
+	* src/: Congruence.cc, Congruence.defs.hh, Congruence.inlines.hh,
+	  Congruence.types.hh, Congruence_System.cc,
+	  Congruence_System.defs.hh, Congruence_System.inlines.hh,
+	  Congruence_System.types.hh (grids.[1,1,1,1,1,1,1,1]): Initial
+	  revision.
+
+2005-03-21 Monday 19:30  Matthew Mundell
+
+	* src/: GMP_Integer.defs.hh, GMP_Integer.inlines.hh (grids.[1,1]):
+	  Add gcdext_assign.
+
+2005-03-21 Monday 19:27  Matthew Mundell
+
+	* tests/ppl_test.hh (grids.1): Include the std and PPL namespaces.
+	  Define macro stringify, function checkdump and template
+	  find_variation_template.
+
+2005-03-21 Monday 19:24  Matthew Mundell
+
+	* tests/print.hh (grids.1): Set NOISY and VERY_NOISY from the
+	  associated directives.  Create the nout and vnout streams.
+
+2005-03-21 Monday 19:22  Matthew Mundell
+
+	* tests/Makefile.am (grids.1): Add Grid to SUBDIRS.
+
+2005-03-21 Monday 19:21  Matthew Mundell
+
+	* tests/Grid/: Makefile.in, congruence1.cc, congruencesystem1.cc,
+	  congruencesystem2.cc, grid1.cc, writecongruencesystem.cc
+	  (grids.[1,1,1,1,1,1]): Initial revision.
+
+2005-03-21 Monday 19:15  Matthew Mundell
+
+	* src/: Grid.defs.hh, Grid.inlines.hh, Grid.types.hh,
+	  Grid_Status.cc, Grid_Status.idefs.hh, Grid_Status.inlines.hh,
+	  Grid_conversion.cc, Grid_minimize.cc, Grid_nonpublic.cc,
+	  Grid_public.cc, Grid_simplify.cc (grids.[1,1,1,1,1,1,1,1,1,1,1]):
+	  Initial, partial, rough revision.
+
+2005-03-21 Monday 19:11  Matthew Mundell
+
+	* configure.ac (grids.1): Add tests/Grid/Makefile to
+	  AC_CONFIG_FILES.
+
+2005-03-21 Monday 19:09  Matthew Mundell
+
+	* STANDARDS (grids.1): Add "Standards for the Test Programs"
+	  section.
+
+2005-03-16 Wednesday 21:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.13): Added
+	  `boundedbhrz03extrapolation1' and
+	  `nnc_boundedbhrz03extrapolation1' to `XFAIL_WITH_INT8'.
+
+2005-03-16 Wednesday 07:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_widenings.cc (1.44): The limited widening methods
+	  now immediately fall back to their non-limited counterparts when
+	  given an empty constraint system.
+
+2005-03-14 Monday 10:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.108): Added `ppl_include_files.hh' to
+	  `noinst_HEADERS' and `BUILT_SOURCES'.
+
+2005-03-13 Sunday 20:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BD_Shape.defs.hh (1.11), BD_Shape.inlines.hh (1.39):
+	  BD_Shape<T>::CC76_extrapolation_assign(const BD_Shape&) now has
+	  its stop-points stored in a local, static array..
+
+2005-03-13 Sunday 20:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.107): Added `fpu-c99.inlines.hh' to
+	  `INCLUDE_FILES'.
+
+2005-03-13 Sunday 20:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.29): Added `build_header' to `EXTRA_DIST'.
+
+2005-03-13 Sunday 16:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/: addspacedims1.cc (1.4), addspacedims2.cc (1.4),
+	  addspacedims4.cc (1.4), addspacedims5.cc (1.4), addspacedims6.cc
+	  (1.4): Unused variables removed or commented out.
+
+2005-03-13 Sunday 16:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl_header.hh (1.2): Include "version.hh".
+
+2005-03-13 Sunday 16:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/addspacedims3.cc (1.4): Useless variable removed.
+
+2005-03-13 Sunday 16:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.143), build_header (1.1), src/BDS_Status.idefs.hh (1.6),
+	  src/BD_Shape.defs.hh (1.10), src/DB_Row.defs.hh (1.6),
+	  src/E_Rational.inlines.hh (1.7), src/Float.inlines.hh (1.7),
+	  src/Makefile.am (1.106), src/Ph_Status.idefs.hh (1.9),
+	  src/Polyhedron.defs.hh (1.269), src/checked_int.inlines.hh
+	  (1.26), src/ppl_header.bottom (1.7), src/ppl_header.hh (1.1),
+	  src/ppl_header.middle (1.6), src/ppl_header.top (1.9),
+	  tests/ppl_test.hh (1.19): New, simpler and less problematic
+	  machinery to build ppl_install.hh.  (The `build_header' script
+	  has been written by Abramo Bagnara.)
+
+2005-03-11 Friday 21:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/generalizedaffineimage14.cc (1.2): Copyright years
+	  fixed.
+
+2005-03-11 Friday 20:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/: Makefile.am (1.11), constraints2.cc (1.4),
+	  exceptions3.cc (1.5), generalizedaffineimage2.cc (1.4),
+	  generalizedaffineimage3.cc (1.4), polydifference1.cc (1.4),
+	  relations2.cc (1.4), relations3.cc (1.4), relations5.cc (1.4),
+	  writebdiffs1.cc (1.4), writebdiffs2.cc (1.4), writebdshape1.cc
+	  (1.1), writebdshape2.cc (1.1): We no longer call them "bounded
+	  differences": we call them "bounded difference shapes" or "BDS"
+	  instead.
+
+2005-03-11 Friday 18:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.38),
+	  tests/BD_Shape/generalizedaffineimage10.cc (1.4),
+	  tests/BD_Shape/generalizedaffineimage7.cc (1.4),
+	  tests/BD_Shape/generalizedaffineimage8.cc (1.4): Fixed a bug in
+	  BD_Shape<T>::generalized_affine_image(Variable, const
+	  Relation_Symbol, const Linear_Expression&, const Coefficient&).
+
+2005-03-09 Wednesday 17:19  Matthew Mundell
+
+	* debian/libppl.docs (1.2): TODO is currently for internal use.
+
+2005-03-09 Wednesday 17:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/libppl.docs (altnum.1): file libppl.docs was added on
+	  branch altnum on 2006-10-29 19:26:52 +0000
+
+2005-03-09 Wednesday 12:37  Matthew Mundell
+
+	* debian/copyright (1.2): Move to libppl.copyright.
+
+2005-03-09 Wednesday 12:24  Matthew Mundell
+
+	* debian/: libppl-c.dirs (1.1), libppl-c.install (1.1),
+	  libppl-c.links (1.1), libppl-dev.doc-base (1.1), libppl-dev.docs
+	  (1.1), libppl-dev.links (1.1), libppl-gprolog.links (1.1),
+	  libppl-pwl.links (1.1), libppl-sicstus.links (1.1),
+	  libppl-swi.links (1.1), libppl-yap.links (1.1), libppl.copyright
+	  (1.1), libppl.doc-base (1.1), libppl.docs (1.1): Initial
+	  revisions.
+
+2005-03-09 Wednesday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/libppl-c.dirs (altnum.1): file libppl-c.dirs was added on
+	  branch altnum on 2006-10-29 19:26:52 +0000
+
+2005-03-09 Wednesday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/libppl-c.install (altnum.1): file libppl-c.install was
+	  added on branch altnum on 2006-10-29 19:26:52 +0000
+
+2005-03-09 Wednesday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/libppl-c.links (altnum.1): file libppl-c.links was added
+	  on branch altnum on 2006-10-29 19:26:52 +0000
+
+2005-03-09 Wednesday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/libppl-dev.docs (altnum.1): file libppl-dev.docs was added
+	  on branch altnum on 2006-10-29 19:26:52 +0000
+
+2005-03-09 Wednesday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/libppl-dev.links (altnum.1): file libppl-dev.links was
+	  added on branch altnum on 2006-10-29 19:26:52 +0000
+
+2005-03-09 Wednesday 11:46  Matthew Mundell
+
+	* debian/libppl.install (1.2): Only install the main library
+	  (others now installed in interface packages).
+
+2005-03-09 Wednesday 11:45  Matthew Mundell
+
+	* debian/libppl-dev.dirs (1.2): Replace package specific doc dir
+	  with the general libppl doc dir.  Take out usr/lib/pkgconfig.
+
+2005-03-09 Wednesday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/libppl-dev.dirs (altnum.1): file libppl-dev.dirs was added
+	  on branch altnum on 2006-10-29 19:26:52 +0000
+
+2005-03-09 Wednesday 11:43  Matthew Mundell
+
+	* debian/control (1.5): Rename to libppl.  Add a source section
+	  name.  Depend on graphviz and debhelper version of 4 or higher.
+	  Drop libppl-c-dev.  Complete the entries for the interface
+	  packages.
+
+2005-03-09 Wednesday 11:38  Matthew Mundell
+
+	* debian/: changelog (1.1), rules (1.1): Initial revision.
+
+2005-03-05 Saturday 14:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.12),
+	  boundedbhrz03extrapolation1.cc (1.1): A new, very interesting,
+	  test program showing an analysis of linear invariants divided
+	  into phases: a first propagation phase (without widening),
+	  followed by a widening phase employing the "widening up to"
+	  technique and further preserving interval constraints.  Notice
+	  that neither the H79 nor the BHRZ03 limited extrapolations (used
+	  as widenings here) allow to obtain the desired postfixpoint for
+	  this example (since they lose the crucial constraint `k <= 1').
+	  Both the H79 and the BHRZ03 bounded extrapolation operators do
+	  achieve this result.
+
+2005-03-05 Saturday 13:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_widenings.cc (1.43): Internal implementation class
+	  BW_Box was no longer used: removed.
+
+2005-03-05 Saturday 13:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_widenings.cc (1.42),
+	  tests/Polyhedron/boundedh79extrapolation1.cc (1.4):
+	  Polyhedron::bounded_BHRZ03_extrapolation_assign() and
+	  Polyhedron::bounded_H79_extrapolation_assign() now use
+	  Bounding_Box::CC76_widening_assign() to make sure the interval
+	  constraints that are preserved do not cause termination problems.
+	  Test program boundedh79extrapolation1.cc (it was testing nothing
+	  anyway).
+
+2005-03-05 Saturday 13:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/: Makefile.am (1.10), generalizedaffineimage14.cc
+	  (1.1): New test for BD_Shape::generalized_affine_image().
+
+2005-03-05 Saturday 10:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Bounding_Box.cc (1.6), Bounding_Box.defs.hh (1.6): New
+	  method Constraint_System Bounding_Box::constraints() const.
+
+2005-03-05 Saturday 10:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bounding_Box.cc (1.5): Fixed
+	  Bounding_Box::CC76_widening_assign(const Bounding_Box& y,
+	  Iterator first, Iterator last).
+
+2005-03-05 Saturday 00:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Bounding_Box.cc (1.4), Bounding_Box.defs.hh (1.5): Added
+	  Bounding_Box::CC76_widening_assign(const Bounding_Box& y) and
+	  template <typename Iterator>
+	  Bounding_Box::CC76_widening_assign(const Bounding_Box& y,
+	  Iterator first, Iterator last).
+
+2005-03-05 Saturday 00:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Interval.defs.hh (1.22), Interval.inlines.hh (1.21): Added
+	  non-const versions of accessors.
+
+2005-03-04 Friday 21:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.9): Comments for
+	  CC76_extrapolation_assign(const BD_Shape& y) and
+	  CC76_extrapolation_assign(const BD_Shape& y, Iterator first,
+	  Iterator last) revised.
+
+2005-03-04 Friday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.268): Misleading variable name changed
+	  in the Polyhedron class documentation.
+
+2005-03-03 Thursday 18:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/control (1.4): Now libppl-dev depends on libppl.
+
+2005-03-03 Thursday 15:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.37):
+	  BD_Shape::generalized_affine_image(const Linear_Expression&,
+	  const Relation_Symbol, const Linear_Expression&) improved.
+
+2005-03-03 Thursday 12:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/: libppl-dev.dirs (1.1), libppl-dev.install (1.1),
+	  libppl.dirs (1.1), libppl.install (1.1): Directories and
+	  installed files for packages libppl and libppl-dev.
+
+2005-03-03 Thursday 12:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/control (1.3): Packages named `libppl*' instead of `ppl*'.
+	  Dependency from g++ fixed.
+
+2005-03-03 Thursday 12:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.170): Some headings properly capitalized.
+
+2005-03-02 Wednesday 15:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.36): Simplified the logic of
+	  BD_Shape<T>::BD_Shape(const Polyhedron&, Complexity_Class).
+
+2005-03-02 Wednesday 15:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.267): Befriend template <typename T>
+	  class BD_Shape.
+
+2005-03-02 Wednesday 13:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (1.113): Use of simplex temporarily
+	  disabled in Polyhedron::shrink_bounding_box() until we have an
+	  efficient way to compute the topological closure of a constraint
+	  system.
+
+2005-03-02 Wednesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.35): Added an initial, very rough
+	  implementation of BD_Shape<T>::BD_Shape(const Polyhedron&,
+	  Complexity_Class).
+
+2005-03-01 Tuesday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/affinetrans.cc (1.4): Misleading variable name
+	  changed.
+
+2005-03-01 Tuesday 22:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/: affineimage1.cc (1.4), affineimage2.cc (1.4),
+	  affineimage3.cc (1.4), affineimage4.cc (1.4), affineimage5.cc
+	  (1.4), affineimage6.cc (1.4), affineimage7.cc (1.4),
+	  affinepreimage1.cc (1.4), affinepreimage2.cc (1.4),
+	  affinepreimage3.cc (1.4), affinepreimage4.cc (1.4),
+	  exceptions3.cc (1.4): Avoid declaring variables when a temporary
+	  would do the same thing more clearly.
+
+2005-03-01 Tuesday 20:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.34), tests/BD_Shape/Makefile.am (1.9),
+	  tests/BD_Shape/generalizedaffineimage1.cc (1.4),
+	  tests/BD_Shape/generalizedaffineimage13.cc (1.1),
+	  tests/BD_Shape/generalizedaffineimage4.cc (1.4),
+	  tests/BD_Shape/generalizedaffineimage5.cc (1.4):
+	  BD_Shape<T>::generalized_affine_image() can now handle any
+	  expression.
+
+2005-03-01 Tuesday 11:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.33), tests/BD_Shape/Makefile.am (1.8),
+	  tests/BD_Shape/affinepreimage5.cc (1.1):
+	  BD_Shape<T>::affine_preimage() can now handle any expression.
+
+2005-03-01 Tuesday 10:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.32), tests/BD_Shape/Makefile.am (1.7),
+	  tests/BD_Shape/affineimage8.cc (1.1),
+	  tests/BD_Shape/affineimage9.cc (1.1): BD_Shape<T>::affine_image()
+	  can now handle any expression.
+
+2005-03-01 Tuesday 10:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (1.26): Wrong dependency fixed.
+
+2005-03-01 Tuesday 07:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/control (1.2): Dependencies changed so as to depend on g++
+	  == 3.4.  Added autoconf, automake1.9, libtool and doxygen to
+	  Build-Depends.  (Thanks to Michael Tautschnig.)
+
+2005-02-28 Monday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/: compat (1.1), control (1.1), copyright (1.1): Initial
+	  drafts put under CVS control.
+
+2005-02-28 Monday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* debian/compat (altnum.1): file compat was added on branch altnum
+	  on 2006-10-29 19:26:52 +0000
+
+2005-02-28 Monday 10:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (1.25): URL for the source fixed.
+
+2005-02-27 Sunday 22:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/watchdog1.cc (1.4): Empty throw specification
+	  added to ~Timeout().
+
+2005-02-27 Sunday 22:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (1.112): Slight simplification in
+	  Polyhedron::shrink_bounding_box(Box&, Complexity_Class).
+
+2005-02-27 Sunday 17:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.8): Added declaration for BD_Shape(const
+	  Polyhedron&, Complexity_Class).
+
+2005-02-27 Sunday 16:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: globals.defs.hh (1.19), globals.inlines.hh (1.9): Class
+	  Throwable was missing a virtual destructor: added.
+
+2005-02-27 Sunday 16:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (1.111):
+	  Polyhedron::shrink_bounding_box(Box&, Complexity_Class) improved.
+
+2005-02-27 Sunday 16:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: Handler.defs.hh (1.4), Handler.inlines.hh (1.3): Class
+	  Handler was missing a virtual destructor: added.
+
+2005-02-27 Sunday 11:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.7): Imprecisions in the comments for
+	  BD_Shape(const Generator_System&) corrected.
+
+2005-02-27 Sunday 11:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.31): On exit from
+	  BD_Shape<T>::BD_Shape(const Generator_System&), the DBM is always
+	  transitively closed.
+
+2005-02-27 Sunday 11:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.30): No longer print spurious newlines
+	  in operator<<(std::ostream&, const BD_Shape<T>&).
+
+2005-02-27 Sunday 10:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (1.110): Useless temporary removed and
+	  scope of one variable reduced in
+	  Polyhedron::shrink_bounding_box().
+
+2005-02-27 Sunday 10:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.142): Added one more thing to do.
+
+2005-02-27 Sunday 10:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/constraints1.cc (1.4): Needlessly long comment
+	  shortened.
+
+2005-02-27 Sunday 10:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/fromgensys1.cc (1.2): Be quiet.
+
+2005-02-27 Sunday 10:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/: Makefile.am (1.6), fromgensys1.cc (1.1): New
+	  test program for BD_Shape::BD_Shape(const Generator_System&).
+
+2005-02-27 Sunday 09:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.29): BD_Shape::BD_Shape(const
+	  Generator_System&) implemented.
+
+2005-02-26 Saturday 18:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.6): Added declaration for
+	  BD_Shape::BD_Shape(const Generator_System& gs).  Comments for
+	  BD_Shape::BD_Shape(const Constraint_System& cs) further improved.
+
+2005-02-26 Saturday 17:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.5): Comments for BD_Shape::BD_Shape(const
+	  Constraint_System& cs) improved.
+
+2005-02-24 Thursday 19:05  Matthew Mundell
+
+	* src/: Generator.defs.hh (1.103), Linear_System.cc (1.18): Correct
+	  comment typo.
+
+2005-02-24 Thursday 19:05  Matthew Mundell
+
+	* src/Constraint_System.defs.hh (1.9): Correct comment typos and
+	  clip off trailing whitespace.
+
+2005-02-22 Tuesday 20:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BHRZ03_Certificate.inlines.hh (1.5): Removed a pair of
+	  redundant parentheses.
+
+2005-02-18 Friday 23:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Float.inlines.hh (1.6): Include <climits>.
+
+2005-02-18 Friday 21:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_numeric_limits.hh (1.2): Added more attributes to the
+	  specializations of std::numeric_limits for "checked" integer
+	  types.
+
+2005-02-18 Friday 18:55  Abramo Bagnara
+
+	* src/: Float.inlines.hh (1.5), checked_int.inlines.hh (1.25):
+	  Added U to make explicit unsignedness for constants.
+
+2005-02-18 Friday 18:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.131): Useless type qualifiers removed.
+
+2005-02-18 Friday 15:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Saturation_Matrix.cc (1.3), Saturation_Row.cc (1.6),
+	  Saturation_Row.defs.hh (1.5), Saturation_Row.inlines.hh (1.5),
+	  conversion.cc (1.68): Several methods speeded up.  Now bit
+	  positions are represented by means of unsigned longs and the
+	  invalid position is represented by ULONG_MAX.
+
+2005-02-18 Friday 15:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.105): Added checked_numeric_limits.hh to
+	  INCLUDE_FILES.
+
+2005-02-18 Friday 13:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/empty5.cc (1.3): Allow for every definition of
+	  Coefficient.
+
+2005-02-18 Friday 13:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_numeric_limits.hh (1.1): Specializations of
+	  std::numeric_limits for "checked" types (still incomplete as far
+	  as `round_style' is concerned).
+
+2005-02-17 Thursday 19:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.28): BD_Shape<T>::contains() improved.
+
+2005-02-17 Thursday 19:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.27): BD_Shape<T>::poly_hull_assign()
+	  improved.
+
+2005-02-17 Thursday 19:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.26):
+	  BD_Shape<T>::poly_difference_assign() improved.
+
+2005-02-17 Thursday 19:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.25):
+	  BD_Shape<T>::CC76_extrapolation_assign() improved.
+
+2005-02-17 Thursday 19:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.24):
+	  BD_Shape<T>::CH78_widening_assign() improved.
+
+2005-02-17 Thursday 18:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.23):
+	  BD_Shape<T>::limited_CH78_extrapolation_assign() improved.
+
+2005-02-17 Thursday 18:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.22):
+	  BD_Shape<T>::intersection_assign() improved.
+
+2005-02-17 Thursday 18:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.21):
+	  BD_Shape<T>::CC76_narrowing_assign() improved.
+
+2005-02-17 Thursday 15:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.20):
+	  BD_Shape<T>::add_space_dimensions_and_embed() improved.
+
+2005-02-17 Thursday 15:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.19):
+	  BD_Shape<T>::add_space_dimensions_and_project() improved.
+
+2005-02-17 Thursday 15:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.18): BD_Shape<T>::relation_with(const
+	  Constraint&) improved.
+
+2005-02-17 Thursday 15:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.17): BD_Shape<T>::relation_with()
+	  improved.
+
+2005-02-16 Wednesday 17:34  Abramo Bagnara
+
+	* src/: Float.defs.hh (1.5), Float.inlines.hh (1.4),
+	  checked_float.inlines.hh (1.30), checked_mpz.inlines.hh (1.17):
+	  Added support for assignment from mpz to floating type.
+
+2005-02-16 Wednesday 17:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.16): Improved
+	  BD_Shape<T>::add_constraint().
+
+2005-02-16 Wednesday 16:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.15): Variables renamed in
+	  BD_Shape<T>::contains().
+
+2005-02-16 Wednesday 16:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.14): Variables renamed in
+	  BD_Shape<T>::concatenate_assign().
+
+2005-02-16 Wednesday 16:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.13): Variable renamed in
+	  BD_Shape<T>::is_empty().
+
+2005-02-16 Wednesday 16:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.12): Variable renamed in
+	  BD_Shape<T>::is_universe().
+
+2005-02-16 Wednesday 15:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.11): Fixed
+	  BD_Shape<T>::limited_CC76_extrapolation_assign().
+
+2005-02-16 Wednesday 12:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.10): Removed redundant declaration
+	  from BD_Shape<T>::add_constraint().
+
+2005-02-16 Wednesday 12:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.9):
+	  BD_Shape<T>::limited_CC76_extrapolation_assign() cleaned up.
+
+2005-02-15 Tuesday 20:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Row.cc (1.80), src/Row.defs.hh (1.92), src/Row.inlines.hh
+	  (1.60), tests/ppl_test.hh (1.18), tests/BD_Shape/Makefile.am
+	  (1.5), tests/BD_Shape/addconstraints1.cc (1.3),
+	  tests/BD_Shape/addspacedims1.cc (1.3),
+	  tests/BD_Shape/addspacedims2.cc (1.3),
+	  tests/BD_Shape/addspacedims3.cc (1.3),
+	  tests/BD_Shape/addspacedims4.cc (1.3),
+	  tests/BD_Shape/addspacedims5.cc (1.3),
+	  tests/BD_Shape/addspacedims6.cc (1.3),
+	  tests/BD_Shape/addspacedims7.cc (1.3),
+	  tests/BD_Shape/affineimage1.cc (1.3),
+	  tests/BD_Shape/affineimage2.cc (1.3),
+	  tests/BD_Shape/affineimage3.cc (1.3),
+	  tests/BD_Shape/affineimage4.cc (1.3),
+	  tests/BD_Shape/affineimage5.cc (1.3),
+	  tests/BD_Shape/affineimage6.cc (1.3),
+	  tests/BD_Shape/affineimage7.cc (1.3),
+	  tests/BD_Shape/affinepreimage1.cc (1.3),
+	  tests/BD_Shape/affinepreimage2.cc (1.3),
+	  tests/BD_Shape/affinepreimage3.cc (1.3),
+	  tests/BD_Shape/affinepreimage4.cc (1.3),
+	  tests/BD_Shape/ascii_dump_load1.cc (1.5),
+	  tests/BD_Shape/ascii_dump_load2.cc (1.3),
+	  tests/BD_Shape/cc76extrapolation1.cc (1.3),
+	  tests/BD_Shape/cc76extrapolation2.cc (1.3),
+	  tests/BD_Shape/cc76extrapolation3.cc (1.3),
+	  tests/BD_Shape/cc76extrapolation4.cc (1.3),
+	  tests/BD_Shape/cc76extrapolation5.cc (1.3),
+	  tests/BD_Shape/cc76extrapolation6.cc (1.3),
+	  tests/BD_Shape/cc76narrowing1.cc (1.3),
+	  tests/BD_Shape/cc76narrowing2.cc (1.3),
+	  tests/BD_Shape/cc76narrowing3.cc (1.3),
+	  tests/BD_Shape/cc76narrowing4.cc (1.3),
+	  tests/BD_Shape/cc76narrowing5.cc (1.3),
+	  tests/BD_Shape/ch78widening1.cc (1.3),
+	  tests/BD_Shape/ch78widening2.cc (1.3),
+	  tests/BD_Shape/ch78widening3.cc (1.3),
+	  tests/BD_Shape/ch78widening4.cc (1.3),
+	  tests/BD_Shape/ch78widening5.cc (1.3),
+	  tests/BD_Shape/ch78widening6.cc (1.3),
+	  tests/BD_Shape/ch78widening7.cc (1.3),
+	  tests/BD_Shape/ch78widening8.cc (1.3),
+	  tests/BD_Shape/concatenate1.cc (1.3),
+	  tests/BD_Shape/concatenate2.cc (1.3),
+	  tests/BD_Shape/concatenate3.cc (1.3),
+	  tests/BD_Shape/concatenate4.cc (1.3),
+	  tests/BD_Shape/concatenate5.cc (1.3),
+	  tests/BD_Shape/constraints1.cc (1.3),
+	  tests/BD_Shape/constraints2.cc (1.3), tests/BD_Shape/contains1.cc
+	  (1.3), tests/BD_Shape/contains2.cc (1.3),
+	  tests/BD_Shape/contains3.cc (1.3), tests/BD_Shape/empty1.cc
+	  (1.3), tests/BD_Shape/empty2.cc (1.3), tests/BD_Shape/empty3.cc
+	  (1.3), tests/BD_Shape/empty4.cc (1.3), tests/BD_Shape/empty5.cc
+	  (1.2), tests/BD_Shape/equality1.cc (1.3),
+	  tests/BD_Shape/exceptions1.cc (1.3),
+	  tests/BD_Shape/exceptions2.cc (1.3),
+	  tests/BD_Shape/exceptions3.cc (1.3),
+	  tests/BD_Shape/generalizedaffineimage1.cc (1.3),
+	  tests/BD_Shape/generalizedaffineimage10.cc (1.3),
+	  tests/BD_Shape/generalizedaffineimage11.cc (1.3),
+	  tests/BD_Shape/generalizedaffineimage12.cc (1.3),
+	  tests/BD_Shape/generalizedaffineimage2.cc (1.3),
+	  tests/BD_Shape/generalizedaffineimage3.cc (1.3),
+	  tests/BD_Shape/generalizedaffineimage4.cc (1.3),
+	  tests/BD_Shape/generalizedaffineimage5.cc (1.3),
+	  tests/BD_Shape/generalizedaffineimage6.cc (1.3),
+	  tests/BD_Shape/generalizedaffineimage7.cc (1.3),
+	  tests/BD_Shape/generalizedaffineimage8.cc (1.3),
+	  tests/BD_Shape/generalizedaffineimage9.cc (1.3),
+	  tests/BD_Shape/h79widening1.cc (1.3),
+	  tests/BD_Shape/intersection1.cc (1.3),
+	  tests/BD_Shape/intersection2.cc (1.3),
+	  tests/BD_Shape/intersection3.cc (1.3),
+	  tests/BD_Shape/intersection4.cc (1.3),
+	  tests/BD_Shape/intersection5.cc (1.3),
+	  tests/BD_Shape/intersection6.cc (1.3),
+	  tests/BD_Shape/intersection7.cc (1.3),
+	  tests/BD_Shape/intersection8.cc (1.3),
+	  tests/BD_Shape/limitedCC76extrapolation1.cc (1.3),
+	  tests/BD_Shape/limitedCC76extrapolation2.cc (1.3),
+	  tests/BD_Shape/limitedCC76extrapolation3.cc (1.3),
+	  tests/BD_Shape/limitedCH78extrapolation1.cc (1.3),
+	  tests/BD_Shape/limitedCH78extrapolation2.cc (1.3),
+	  tests/BD_Shape/limitedCH78extrapolation3.cc (1.3),
+	  tests/BD_Shape/limitedCH78extrapolation4.cc (1.3),
+	  tests/BD_Shape/limitedCH78extrapolation5.cc (1.3),
+	  tests/BD_Shape/limitedCH78extrapolation6.cc (1.3),
+	  tests/BD_Shape/limitedCH78extrapolation7.cc (1.3),
+	  tests/BD_Shape/limitedCH78extrapolation8.cc (1.3),
+	  tests/BD_Shape/limitedCH78extrapolation9.cc (1.3),
+	  tests/BD_Shape/limitedh79extrapolation1.cc (1.3),
+	  tests/BD_Shape/mapspacedims1.cc (1.3),
+	  tests/BD_Shape/mapspacedims2.cc (1.3),
+	  tests/BD_Shape/mapspacedims3.cc (1.3),
+	  tests/BD_Shape/mapspacedims4.cc (1.3),
+	  tests/BD_Shape/maxspacedim.cc (1.4),
+	  tests/BD_Shape/polydifference1.cc (1.3),
+	  tests/BD_Shape/polydifference2.cc (1.3),
+	  tests/BD_Shape/polydifference3.cc (1.3),
+	  tests/BD_Shape/polydifference4.cc (1.3),
+	  tests/BD_Shape/polydifference5.cc (1.3),
+	  tests/BD_Shape/polydifference6.cc (1.3),
+	  tests/BD_Shape/polyhull1.cc (1.3), tests/BD_Shape/polyhull2.cc
+	  (1.3), tests/BD_Shape/polyhull3.cc (1.3),
+	  tests/BD_Shape/polyhull4.cc (1.3),
+	  tests/BD_Shape/removespacedims1.cc (1.3),
+	  tests/BD_Shape/removespacedims2.cc (1.3),
+	  tests/BD_Shape/removespacedims3.cc (1.3),
+	  tests/BD_Shape/timeelapse1.cc (1.3),
+	  tests/BD_Shape/timeelapse2.cc (1.3),
+	  tests/BD_Shape/timeelapse3.cc (1.3),
+	  tests/BD_Shape/timeelapse4.cc (1.3),
+	  tests/BD_Shape/timeelapse5.cc (1.3), tests/BD_Shape/universe1.cc
+	  (1.3), tests/BD_Shape/writebdiffs1.cc (1.3),
+	  tests/BD_Shape/writebdiffs2.cc (1.3), tests/Polyhedron/memory2.cc
+	  (1.8), tests/Polyhedron/polypowerset1.cc (1.2): Copyright years
+	  updated.
+
+2005-02-15 Tuesday 19:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.8): BD_Shape<T>::is_empty() fixed:
+	  add_round_down() was used instead of add_round_up().
+
+2005-02-15 Tuesday 19:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/: Makefile.am (1.4), empty5.cc (1.1): New test
+	  triggering a bug in BD_Shape<T>::is_empty().
+
+2005-02-15 Tuesday 19:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Generator_System.cc (1.6): Spurious redeclaration removed
+	  from Generator_System::ascii_load().
+
+2005-02-15 Tuesday 19:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Linear_System.inlines.hh (1.16): Make sure inline methods
+	  Linear_System::num_pending_rows() and
+	  Linear_System::unset_pending_rows() are defined before being
+	  invoked.
+
+2005-02-15 Tuesday 18:16  Matthew Mundell
+
+	* src/BDS_Status.idefs.hh (1.5): Correct a typo.
+
+2005-02-14 Monday 21:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.169), interfaces/C/ppl_c.h.in (1.47),
+	  src/BDS_Status.idefs.hh (1.4), src/BD_Shape.inlines.hh (1.7),
+	  src/BHRZ03_Certificate.defs.hh (1.10), src/Bounding_Box.defs.hh
+	  (1.4), src/Checked_Number.cc (1.6), src/Checked_Number.defs.hh
+	  (1.19), src/Constraint.cc (1.48), src/DB_Matrix.defs.hh (1.4),
+	  src/DB_Row.defs.hh (1.5), src/Generator.cc (1.59),
+	  src/Generator.defs.hh (1.102), src/Limits.hh (1.6),
+	  src/Linear_Row.defs.hh (1.8), src/Linear_System.cc (1.17),
+	  src/Linear_System.inlines.hh (1.15), src/Makefile.am (1.104),
+	  src/Native_Integer.defs.hh (1.10), src/Ph_Status.idefs.hh (1.8),
+	  src/Poly_Con_Relation.defs.hh (1.26),
+	  src/Poly_Gen_Relation.defs.hh (1.24),
+	  src/Polyhedra_Powerset.inlines.hh (1.18), src/Polyhedron.defs.hh
+	  (1.266), src/Polyhedron_widenings.cc (1.41), src/Powerset.defs.hh
+	  (1.11), src/Result.defs.hh (1.8), src/Saturation_Row.defs.hh
+	  (1.4), src/checked.inlines.hh (1.15), src/checked_int.inlines.hh
+	  (1.24), src/conversion.cc (1.67), src/globals.defs.hh (1.18):
+	  Fixed several spelling mistakes.
+
+2005-02-14 Monday 20:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Saturation_Row.cc (1.5), Saturation_Row.inlines.hh (1.4):
+	  Saturation_Row::operator[](), operator==(const Saturation_Row&,
+	  const Saturation_Row&) and operator!=(const Saturation_Row&,
+	  const Saturation_Row&) speeded up.
+
+2005-02-14 Monday 17:19  Matthew Mundell
+
+	* src/Linear_System.inlines.hh (1.14): Improve comment.
+
+2005-02-14 Monday 17:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu-ia32.inlines.hh (1.5): Define HIJACK_FPU only if it is
+	  not already defined.
+
+2005-02-14 Monday 15:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.6): Do not use assignment with
+	  unspecified rounding mode.
+
+2005-02-14 Monday 14:49  Abramo Bagnara
+
+	* src/checked_float.inlines.hh (1.29): Added rounding functions.
+	  Treat specially negative zero representation.
+
+2005-02-13 Sunday 08:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* INSTALL (1.7), compile (1.4), config.guess (1.27), config.sub
+	  (1.26), depcomp (1.9), missing (1.9), mkinstalldirs (1.8),
+	  Watchdog/INSTALL (1.4), Watchdog/compile (1.4),
+	  Watchdog/config.guess (1.11), Watchdog/config.sub (1.11),
+	  Watchdog/depcomp (1.7), Watchdog/missing (1.5),
+	  Watchdog/mkinstalldirs (1.4): Updated from Automake 1.9.5.
+
+2005-02-12 Saturday 18:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.50): Little comment improvements.
+
+2005-02-12 Saturday 17:53  Abramo Bagnara
+
+	* src/checked_float.inlines.hh (1.28): Fixed cut and paste typo.
+
+2005-02-12 Saturday 15:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: E_Rational.defs.hh (1.4), E_Rational.inlines.hh (1.6):
+	  Alternative interface functions added to make a comparison with
+	  new code possible.
+
+2005-02-12 Saturday 15:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/E_NIT.inlines.hh (1.9): Formatting change.
+
+2005-02-12 Saturday 15:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.22), Watchdog/ltmain.sh (1.11): Updated from Libtool
+	  1.5.14.
+
+2005-02-11 Friday 18:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Linear_System.cc (1.16), Linear_System.defs.hh (1.13),
+	  Linear_System.inlines.hh (1.13), Polyhedron_nonpublic.cc (1.46),
+	  Polyhedron_public.cc (1.49): Pending rows in a linear (constraint
+	  or generator) system make sense only when the system is part of a
+	  polyhedron.  The ordinary copy constructor and assignment
+	  operator now turn pending rows into non-pending ones.  A full
+	  copy constructor and pseudo-assignment are now provided for those
+	  cases where the copy and assignment must preserve the pending
+	  status of pending rows.  These changes fix the bug exhibited by
+	  tests/Polyhedron/constraints5.cc and
+	  tests/Polyhedron/generators7.cc.
+
+2005-02-11 Friday 17:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/globals.defs.hh (1.17): Comment reformatted.
+
+2005-02-11 Friday 16:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/generators7.cc (1.2): Fixed and made silent.
+
+2005-02-11 Friday 16:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: BD_Shape/ascii_dump_load1.cc (1.4),
+	  Polyhedron/constraints5.cc (1.2): Be quiet.
+
+2005-02-11 Friday 10:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Constraint_System.cc (1.6), Constraint_System.inlines.hh
+	  (1.3), Generator_System.cc (1.5), Generator_System.inlines.hh
+	  (1.3), Linear_System.cc (1.15): Missing assertions added.  Code
+	  formatting improved.
+
+2005-02-10 Thursday 22:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.11), generators7.cc (1.1): New
+	  test triggering a bug in Generator_System::insert(const
+	  Generator&).
+
+2005-02-10 Thursday 22:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.10), constraints5.cc (1.1): New
+	  test triggering a bug in Constraint_System::insert(const
+	  Constraint&).
+
+2005-02-10 Thursday 21:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu-c99.inlines.hh (1.4): Code reformatted as per our coding
+	  standards.
+
+2005-02-10 Thursday 21:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/sicstus_cfli.ic (1.11):
+	  Prolog_put_ulong() fixed.
+
+2005-02-10 Thursday 16:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: compiler.hh (1.4), fpu-ia32.inlines.hh (1.4): Code
+	  reformatted as per our coding standards.
+
+2005-02-10 Thursday 16:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked.inlines.hh (1.14): Missing "used declaration" added.
+
+2005-02-10 Thursday 16:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.cc (1.5): Useless break removed.
+
+2005-02-10 Thursday 16:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/simplex.cc (1.9): Missing std:: qualifier added.
+
+2005-02-10 Thursday 16:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_float.inlines.hh (1.27): Declare strtof() and
+	  strtod() if they are not declared by <cstdlib>.
+
+2005-02-10 Thursday 16:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.159): Check for the declaration of strtof() and
+	  strtod().
+
+2005-02-10 Thursday 16:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.cc (1.4): All *.cc files must include
+	  <config.h> first.
+
+2005-02-10 Thursday 16:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_float.inlines.hh (1.26): Declare strtold() if this is
+	  not declared by <cstdlib>.
+
+2005-02-10 Thursday 16:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.158): Check for the declaration of strtold().
+
+2005-02-08 Tuesday 20:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.sub (1.25), install-sh (1.13), Watchdog/config.sub (1.10),
+	  Watchdog/install-sh (1.10): Updated.
+
+2005-02-08 Tuesday 20:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.21), Watchdog/ltmain.sh (1.10): Updated from Libtool
+	  1.5.12.
+
+2005-02-08 Tuesday 12:01  Abramo Bagnara
+
+	* tests/ppl_test.hh (1.17): Fixed use of native types.
+
+2005-02-08 Tuesday 11:49  Abramo Bagnara
+
+	* src/Checked_Number.defs.hh (1.18), src/Checked_Number.inlines.hh
+	  (1.26), tests/ppl_test.hh (1.16): Allow rounding direction
+	  save/restore for both Checked_Number and native types.
+
+2005-02-08 Tuesday 11:10  Abramo Bagnara
+
+	* src/: checked.inlines.hh (1.13), checked_int.inlines.hh (1.23),
+	  checked_mpz.inlines.hh (1.16): Pushed rounding to a lowest level.
+
+2005-02-03 Thursday 10:02  Abramo Bagnara
+
+	* tests/ppl_test.hh (1.15): Added inline keyword.
+
+2005-01-31 Monday 22:33  Abramo Bagnara
+
+	* tests/ppl_test.hh (1.14): Fixed two typos.
+
+2005-01-31 Monday 22:30  Abramo Bagnara
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.42), interfaces/C/ppl_c.cc (1.130),
+	  interfaces/Prolog/ppl_prolog.icc (1.154),
+	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.31),
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.27),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.74),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.98),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.65),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.90),
+	  src/Checked_Number.defs.hh (1.17), src/Checked_Number.inlines.hh
+	  (1.25), src/E_NIT.inlines.hh (1.8), src/E_Rational.inlines.hh
+	  (1.5), src/Interval.inlines.hh (1.20),
+	  src/Polyhedron_nonpublic.cc (1.45), src/Rounding.defs.hh (1.9),
+	  src/Rounding.inlines.hh (1.7), src/checked.defs.hh (1.14),
+	  src/checked.inlines.hh (1.12), src/checked_ext.defs.hh (1.6),
+	  src/checked_ext.inlines.hh (1.13), src/checked_float.inlines.hh
+	  (1.25), src/checked_int.inlines.hh (1.22),
+	  src/checked_mpq.inlines.hh (1.14), src/checked_mpz.inlines.hh
+	  (1.15), tests/ppl_test.hh (1.13): Better efficiency for
+	  Checked_Number.
+
+2005-01-29 Saturday 09:38  Abramo Bagnara
+
+	* src/Checked_Number.defs.hh (1.16), src/Checked_Number.inlines.hh
+	  (1.24), src/checked_ext.inlines.hh (1.12),
+	  src/checked_float.inlines.hh (1.24), tests/ppl_test.hh (1.12):
+	  More work to improve performance on extended numbers.
+
+2005-01-28 Friday 12:24  Abramo Bagnara
+
+	* src/: checked.defs.hh (1.13), checked.inlines.hh (1.11),
+	  checked_ext.inlines.hh (1.11), checked_int.inlines.hh (1.21),
+	  checked_mpq.inlines.hh (1.13), checked_mpz.inlines.hh (1.14):
+	  Attempt to improve performance of extended numbers.
+
+2005-01-28 Friday 11:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.9): Removed ascii_dump_load4 from
+	  XFAIL_WITH_INT8_A.
+
+2005-01-27 Thursday 21:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/E_NIT.inlines.hh (1.7): Fixed exact_neg(E_NIT<T>& to, const
+	  E_NIT<T>& x).
+
+2005-01-27 Thursday 21:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: E_NIT.defs.hh (1.4), E_NIT.inlines.hh (1.6): Added
+	  constructor and assignment operator from Plus_Infinity.
+
+2005-01-27 Thursday 20:25  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh (1.15), Checked_Number.inlines.hh
+	  (1.23): Added constructors for special values. Added functors to
+	  return special values.
+
+2005-01-27 Thursday 17:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/E_NIT.inlines.hh (1.5), tests/ppl_test.hh (1.11): Temporarily
+	  added a modified interface for E_NIT.
+
+2005-01-27 Thursday 15:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.103): Include the declaration and definition
+	  of E_NIT and E_Rational into ppl.hh.
+
+2005-01-27 Thursday 09:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.8), memory2.cc (1.7): Now
+	  memory2 fails only if a memory leak is detected.  Check for
+	  possible memory leaks caused by any type of exception.
+
+2005-01-27 Thursday 00:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.7), memory2.cc (1.6): Added
+	  much more serious tests to guard against the introduction of
+	  memory leaks.
+
+2005-01-26 Wednesday 19:13  Abramo Bagnara
+
+	* src/: Checked_Number.inlines.hh (1.22), checked_ext.inlines.hh
+	  (1.10), checked_mpq.inlines.hh (1.12), checked_mpz.inlines.hh
+	  (1.13): Bug fixes for checked numbers I/O.
+
+2005-01-26 Wednesday 16:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/memory2.cc (1.5): Corrected and generalized.
+
+2005-01-26 Wednesday 16:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/ascii_dump_load1.cc (1.3): Be noisy so as to show
+	  that things are not working as expected.
+
+2005-01-26 Wednesday 16:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (1.5): Use the function is_nonnegative()
+	  instead of the method is_nonnegative().
+
+2005-01-26 Wednesday 15:45  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh (1.14), Checked_Number.inlines.hh
+	  (1.21), checked.defs.hh (1.12), checked.inlines.hh (1.10),
+	  checked_ext.defs.hh (1.5), checked_ext.inlines.hh (1.9),
+	  checked_float.inlines.hh (1.23), checked_int.inlines.hh (1.20),
+	  checked_mpq.inlines.hh (1.11), checked_mpz.inlines.hh (1.12): New
+	  string based I/O implementation for checked numbers.
+
+2005-01-26 Wednesday 09:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ppl_test.hh (1.10): Added void
+	  negate_round_down(Checked_Number<T, Policy>& to, const
+	  Checked_Number<T, Policy>& x).
+
+2005-01-26 Wednesday 09:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ppl_test.hh (1.9): Added bool is_nonnegative(const
+	  Checked_Number<T, Policy>&).
+
+2005-01-26 Wednesday 08:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/print.hh (1.18): Added void print_constraints(const
+	  BD_Shape<T>&, const string&, ostream&).
+
+2005-01-25 Tuesday 23:23  Abramo Bagnara
+
+	* tests/ppl_test.hh (1.8): Fixed compilation for mpz coefficients.
+
+2005-01-25 Tuesday 23:22  Abramo Bagnara
+
+	* src/Makefile.am (1.102): Checked_* include files are now needed.
+
+2005-01-25 Tuesday 18:25  Abramo Bagnara
+
+	* src/BD_Shape.inlines.hh (1.4), src/DB_Row.inlines.hh (1.5),
+	  tests/ppl_test.hh (1.7), tests/BD_Shape/maxspacedim.cc (1.3): Use
+	  new templatic implementation for extended numbers.
+
+2005-01-25 Tuesday 18:22  Abramo Bagnara
+
+	* src/checked_ext.inlines.hh (1.8): Fixed +inf text representation.
+
+2005-01-25 Tuesday 18:22  Abramo Bagnara
+
+	* src/: Rounding.defs.hh (1.8), Rounding.inlines.hh (1.6): Faster
+	  versions for use inside library.
+
+2005-01-25 Tuesday 18:21  Abramo Bagnara
+
+	* src/: Checked_Number.cc (1.3), Checked_Number.defs.hh (1.13),
+	  Checked_Number.inlines.hh (1.20): Better support for extended
+	  numbers.
+
+2005-01-25 Tuesday 11:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/memory2.cc (1.4): Be quiet.
+
+2005-01-24 Monday 22:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_float.inlines.hh (1.22): Temporary workaround to
+	  allow compilation on systems not providing fma(), fmaf() or
+	  fmal().
+
+2005-01-24 Monday 22:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.13): No longer use GLPK's obsolete
+	  functions lpx_get_obj_c0() and lpx_get_col_coef().
+
+2005-01-23 Sunday 22:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.141), demos/ppl_lpsol/examples/README (1.1): Added a
+	  README file in demos/ppl_lpsol/examples explaining the origin of
+	  the examples there contained.
+
+2005-01-23 Sunday 17:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.157): Check for the availability of fma(), fmaf()
+	  and fmal() in C++.
+
+2005-01-13 Thursday 15:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.151): Mentioned the correction of the exception-safety
+	  bug.
+
+2005-01-13 Thursday 14:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.265): Typo fixed.
+
+2005-01-13 Thursday 14:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: DB_Matrix.inlines.hh (1.4), DB_Row.defs.hh (1.4),
+	  DB_Row.inlines.hh (1.4), DB_Row.types.hh (1.4): Corrected an
+	  exception-safety bug in class DB_Row. Methods resize_no_copy()
+	  and grow_no_copy() have been replaced by method
+	  expand_within_capacity().
+
+2005-01-13 Thursday 14:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Row.inlines.hh (1.59): For clarity, explicitly invoke
+	  Row_Impl_Handler constructor in the Row constructors.
+
+2005-01-13 Thursday 14:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Row.defs.hh (1.91): Documentation fixed: `impl' is a member,
+	  not a method.
+
+2005-01-13 Thursday 14:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.264): Fixed a couple of sentences.
+
+2005-01-13 Thursday 14:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.140): One more item added.
+
+2005-01-13 Thursday 14:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.139): Two items added.
+
+2005-01-13 Thursday 09:26  Abramo Bagnara
+
+	* src/Rounding.defs.hh (1.7): Removed old declarations.
+
+2005-01-12 Wednesday 22:05  Abramo Bagnara
+
+	* src/Rounding.defs.hh (1.6): save & restore are public methods.
+
+2005-01-12 Wednesday 18:37  Abramo Bagnara
+
+	* src/: E_NIT.inlines.hh (1.4), E_Rational.inlines.hh (1.4),
+	  Interval.inlines.hh (1.19), Polyhedron_nonpublic.cc (1.44): Use
+	  constructor implicitly.
+
+2005-01-12 Wednesday 18:36  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh (1.12), Checked_Number.inlines.hh
+	  (1.19), Rounding.defs.hh (1.5), Rounding.inlines.hh (1.5): Given
+	  access to rounding via Checked_Number class.
+
+2005-01-12 Wednesday 14:39  Abramo Bagnara
+
+	* src/: Checked_Number.cc (1.2), Checked_Number.defs.hh (1.11),
+	  Checked_Number.inlines.hh (1.18), Checked_Number.types.hh (1.5),
+	  Makefile.am (1.101): Moved result handler in policy.
+
+2005-01-12 Wednesday 10:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/memory2.cc (1.3): The memory leak should be
+	  fixed.
+
+2005-01-12 Wednesday 10:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Row.cc (1.79), Row.inlines.hh (1.58): Fixed a couple of
+	  stupid typos.
+
+2005-01-11 Tuesday 17:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.150), src/Row.cc (1.78), src/Row.defs.hh (1.90),
+	  src/Row.inlines.hh (1.57), src/Row.types.hh (1.9): Class Row now
+	  provately inherits from Row_Impl_Handler instead of having a
+	  member of class Row::Impl_Handler. Corrected the handling of the
+	  capacity_ member of Row_Impl_Handler, so as to have a clean make
+	  check when enabling more assertions. The handling of Row
+	  implementation made a bit more elegant by introducing the
+	  function allocate().
+
+2005-01-11 Tuesday 08:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/polypowerset1.cc (1.1): Added tests to guard
+	  against reintroduction of recently corrected errors in
+	  Polyhedra_Powerset constructors.
+
+2005-01-10 Monday 10:03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Row.cc (1.77), src/Row.defs.hh (1.89), src/Row.inlines.hh
+	  (1.56), tests/Polyhedron/Makefile.am (1.6): Provided a quick fix
+	  for the potential memory leak error.
+
+2005-01-07 Friday 23:39  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh (1.10), Checked_Number.inlines.hh
+	  (1.17), Makefile.am (1.100), Rounding.inlines.hh (1.4),
+	  checked.defs.hh (1.11), checked.inlines.hh (1.9),
+	  checked_ext.inlines.hh (1.7): Allows Checked_Number to handle
+	  extended values via appropriate policy.
+
+2005-01-06 Thursday 21:28  Abramo Bagnara
+
+	* src/: Float.defs.hh (1.4), checked_int.inlines.hh (1.19),
+	  checked_float.inlines.hh (1.21): White spaces fix.
+
+2005-01-06 Thursday 21:27  Abramo Bagnara
+
+	* src/: Extended_Number.defs.hh (1.5), Extended_Number.inlines.hh
+	  (1.7), Extended_Number.types.hh (1.4): Removed files.
+
+2005-01-02 Sunday 08:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/memory2.cc (1.2): Force failure everywhere until
+	  the bug is fixed.
+
+2005-01-01 Saturday 23:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/: Makefile.am (1.5), memory2.cc (1.1): Another
+	  program to test the allocation error recovery facility of the
+	  library.
+
+2005-01-01 Saturday 23:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/memory1.cc (1.4): Comment added to help decipher
+	  a #else.
+
+2005-01-01 Saturday 18:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/simplex.cc (1.8): The first_phase() function now returns a
+	  Simplex_Status().
+
+2005-01-01 Saturday 14:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.129): Fixed
+	  ppl_Constraint_System_minimize() (thanks to Andrea Cimino).
+
+2005-01-01 Saturday 12:24  Abramo Bagnara
+
+	* src/: checked.inlines.hh (1.8), checked_float.inlines.hh (1.20),
+	  checked_int.inlines.hh (1.18), checked_mpq.inlines.hh (1.10),
+	  checked_mpz.inlines.hh (1.11): Renamed mod to more appropriate
+	  rem.
+
+2005-01-01 Saturday 12:10  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh (1.9), Checked_Number.inlines.hh
+	  (1.16), Extended_Number.defs.hh (1.4), Extended_Number.inlines.hh
+	  (1.6), checked.defs.hh (1.10), checked.inlines.hh (1.7),
+	  checked_ext.defs.hh (1.4), checked_ext.inlines.hh (1.6),
+	  checked_float.inlines.hh (1.19), checked_int.inlines.hh (1.17),
+	  checked_mpq.inlines.hh (1.9), checked_mpz.inlines.hh (1.10):
+	  Renamed mod to more appropriate rem.
+
+2005-01-01 Saturday 00:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.28), README (1.35), README.configure (1.13),
+	  configure.ac (1.156), Watchdog/Doubly_Linked_Object.defs.hh
+	  (1.2), Watchdog/Doubly_Linked_Object.inlines.hh (1.2),
+	  Watchdog/Doubly_Linked_Object.types.hh (1.2),
+	  Watchdog/EList.defs.hh (1.4), Watchdog/EList.inlines.hh (1.3),
+	  Watchdog/EList.types.hh (1.2), Watchdog/EList_Iterator.defs.hh
+	  (1.2), Watchdog/EList_Iterator.inlines.hh (1.3),
+	  Watchdog/EList_Iterator.types.hh (1.2), Watchdog/Handler.defs.hh
+	  (1.3), Watchdog/Handler.inlines.hh (1.2),
+	  Watchdog/Handler.types.hh (1.2), Watchdog/Makefile.am (1.18),
+	  Watchdog/Pending_Element.cc (1.2),
+	  Watchdog/Pending_Element.defs.hh (1.2),
+	  Watchdog/Pending_Element.inlines.hh (1.2),
+	  Watchdog/Pending_Element.types.hh (1.2), Watchdog/Pending_List.cc
+	  (1.2), Watchdog/Pending_List.defs.hh (1.2),
+	  Watchdog/Pending_List.inlines.hh (1.2),
+	  Watchdog/Pending_List.types.hh (1.2), Watchdog/README (1.10),
+	  Watchdog/Time.cc (1.2), Watchdog/Time.defs.hh (1.2),
+	  Watchdog/Time.inlines.hh (1.2), Watchdog/Time.types.hh (1.2),
+	  Watchdog/Watchdog.cc (1.19), Watchdog/Watchdog.defs.hh (1.15),
+	  Watchdog/Watchdog.inlines.hh (1.12), Watchdog/Watchdog.types.hh
+	  (1.6), Watchdog/configure.ac (1.25), Watchdog/pwl_header.top
+	  (1.6), demos/Makefile.am (1.6), demos/ppl_lcdd/Makefile.am
+	  (1.19), demos/ppl_lcdd/ppl_lcdd.cc (1.41),
+	  demos/ppl_lcdd/examples/Makefile.am (1.4),
+	  demos/ppl_lpsol/Makefile.am (1.12), demos/ppl_lpsol/ppl_lpsol.c
+	  (1.12), demos/ppl_lpsol/examples/Makefile.am (1.3),
+	  doc/Makefile.am (1.32), doc/README.doc (1.2), doc/definitions.dox
+	  (1.168), doc/devref.tex (1.17), doc/ppl.sty (1.18), doc/user.tex
+	  (1.18), interfaces/Makefile.am (1.10), interfaces/C/Makefile.am
+	  (1.18), interfaces/C/ppl_c.cc (1.128), interfaces/C/ppl_c.h.in
+	  (1.46), interfaces/OCaml/Makefile.am (1.9),
+	  interfaces/Prolog/Makefile.am (1.27),
+	  interfaces/Prolog/Prolog_interface.dox (1.126),
+	  interfaces/Prolog/exceptions.hh (1.15),
+	  interfaces/Prolog/ppl_prolog.icc (1.153),
+	  interfaces/Prolog/track_allocation.hh (1.16),
+	  interfaces/Prolog/Ciao/Makefile.am (1.40),
+	  interfaces/Prolog/Ciao/ciao_clpq.pl (1.14),
+	  interfaces/Prolog/Ciao/ciao_clpq2.pl (1.10),
+	  interfaces/Prolog/Ciao/ciao_pl_check.pl (1.10),
+	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.30),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.78),
+	  interfaces/Prolog/GNU/Makefile.am (1.44),
+	  interfaces/Prolog/GNU/gnu_pl_check.pl (1.4),
+	  interfaces/Prolog/GNU/gp_clpq.pl (1.8),
+	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.50),
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.26),
+	  interfaces/Prolog/SICStus/Makefile.am (1.51),
+	  interfaces/Prolog/SICStus/ppl_sicstus.pl (1.24),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.73),
+	  interfaces/Prolog/SICStus/sicstus_cfli.cc (1.4),
+	  interfaces/Prolog/SICStus/sicstus_cfli.h (1.5),
+	  interfaces/Prolog/SICStus/sicstus_cfli.ic (1.10),
+	  interfaces/Prolog/SICStus/sp_clpq.pl (1.11),
+	  interfaces/Prolog/SICStus/sp_pl_check.pl (1.2),
+	  interfaces/Prolog/SWI/Makefile.am (1.45),
+	  interfaces/Prolog/SWI/pl_clpq.cc (1.8),
+	  interfaces/Prolog/SWI/pl_clpq.pl (1.7),
+	  interfaces/Prolog/SWI/ppl_pl.cc (1.8),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.97),
+	  interfaces/Prolog/SWI/ppl_swiprolog.pl (1.4),
+	  interfaces/Prolog/SWI/swi_pl_check.pl (1.3),
+	  interfaces/Prolog/XSB/Makefile.am (1.32),
+	  interfaces/Prolog/XSB/expected2_int16 (1.4),
+	  interfaces/Prolog/XSB/expected2_int16_a (1.3),
+	  interfaces/Prolog/XSB/expected2_int32 (1.3),
+	  interfaces/Prolog/XSB/expected2_int32_a (1.2),
+	  interfaces/Prolog/XSB/expected2_int64 (1.2),
+	  interfaces/Prolog/XSB/expected2_int64_a (1.2),
+	  interfaces/Prolog/XSB/expected2_int8 (1.2),
+	  interfaces/Prolog/XSB/expected2_int8_a (1.2),
+	  interfaces/Prolog/XSB/expected2_mpz (1.2),
+	  interfaces/Prolog/XSB/expected2_mpz_a (1.2),
+	  interfaces/Prolog/XSB/expected_int16 (1.2),
+	  interfaces/Prolog/XSB/expected_int16_a (1.2),
+	  interfaces/Prolog/XSB/expected_int32 (1.2),
+	  interfaces/Prolog/XSB/expected_int32_a (1.2),
+	  interfaces/Prolog/XSB/expected_int64 (1.2),
+	  interfaces/Prolog/XSB/expected_int64_a (1.2),
+	  interfaces/Prolog/XSB/expected_int8 (1.3),
+	  interfaces/Prolog/XSB/expected_int8_a (1.3),
+	  interfaces/Prolog/XSB/expected_mpz (1.2),
+	  interfaces/Prolog/XSB/expected_mpz_a (1.2),
+	  interfaces/Prolog/XSB/ppl_xsb.H (1.37),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.64),
+	  interfaces/Prolog/XSB/xsb_clpq.P (1.12),
+	  interfaces/Prolog/XSB/xsb_clpq2.P (1.10),
+	  interfaces/Prolog/XSB/xsb_pl_check.P (1.14),
+	  interfaces/Prolog/YAP/Makefile.am (1.35),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.89),
+	  interfaces/Prolog/YAP/ppl_yap.pl (1.8),
+	  interfaces/Prolog/YAP/yap_clpq.pl (1.9),
+	  interfaces/Prolog/YAP/yap_clpq2.pl (1.5),
+	  interfaces/Prolog/YAP/yap_pl_check.pl (1.7),
+	  interfaces/Prolog/tests/Makefile.am (1.3),
+	  interfaces/Prolog/tests/clpq.pl (1.5),
+	  interfaces/Prolog/tests/clpq2.pl (1.5),
+	  interfaces/Prolog/tests/expected2_int16 (1.4),
+	  interfaces/Prolog/tests/expected2_int16_a (1.3),
+	  interfaces/Prolog/tests/expected2_int32 (1.3),
+	  interfaces/Prolog/tests/expected2_int32_a (1.2),
+	  interfaces/Prolog/tests/expected2_int64 (1.2),
+	  interfaces/Prolog/tests/expected2_int64_a (1.2),
+	  interfaces/Prolog/tests/expected2_int8 (1.2),
+	  interfaces/Prolog/tests/expected2_int8_a (1.2),
+	  interfaces/Prolog/tests/expected2_mpz (1.2),
+	  interfaces/Prolog/tests/expected2_mpz_a (1.2),
+	  interfaces/Prolog/tests/expected_int16 (1.2),
+	  interfaces/Prolog/tests/expected_int16_a (1.2),
+	  interfaces/Prolog/tests/expected_int32 (1.2),
+	  interfaces/Prolog/tests/expected_int32_a (1.2),
+	  interfaces/Prolog/tests/expected_int64 (1.2),
+	  interfaces/Prolog/tests/expected_int64_a (1.2),
+	  interfaces/Prolog/tests/expected_int8 (1.3),
+	  interfaces/Prolog/tests/expected_int8_a (1.3),
+	  interfaces/Prolog/tests/expected_mpz (1.2),
+	  interfaces/Prolog/tests/expected_mpz_a (1.2),
+	  interfaces/Prolog/tests/pl_check.pl (1.7), m4/Makefile.am (1.12),
+	  m4/ac_check_gmp.m4 (1.20), m4/ac_cxx_attribute_weak.m4 (1.4),
+	  m4/ac_cxx_double_is_iec_559.m4 (1.2),
+	  m4/ac_cxx_flexible_arrays.m4 (1.9), m4/ac_cxx_float_is_iec_559.m4
+	  (1.2), m4/ac_cxx_long_double.m4 (1.3),
+	  m4/ac_cxx_long_double_is_iec_559.m4 (1.2), m4/ac_cxx_long_long.m4
+	  (1.2), src/Ask_Tell.defs.hh (1.4), src/Ask_Tell.inlines.hh (1.4),
+	  src/Ask_Tell.types.hh (1.2), src/BDS_Status.idefs.hh (1.3),
+	  src/BDS_Status.inlines.hh (1.3), src/BD_Shape.defs.hh (1.4),
+	  src/BD_Shape.inlines.hh (1.3), src/BD_Shape.types.hh (1.3),
+	  src/BHRZ03_Certificate.cc (1.7), src/BHRZ03_Certificate.defs.hh
+	  (1.9), src/BHRZ03_Certificate.inlines.hh (1.4),
+	  src/BHRZ03_Certificate.types.hh (1.2), src/Bounding_Box.cc (1.3),
+	  src/Bounding_Box.defs.hh (1.3), src/Bounding_Box.inlines.hh
+	  (1.3), src/Bounding_Box.types.hh (1.2), src/C_Polyhedron.cc
+	  (1.14), src/C_Polyhedron.defs.hh (1.31),
+	  src/C_Polyhedron.inlines.hh (1.24), src/C_Polyhedron.types.hh
+	  (1.8), src/Checked_Number.defs.hh (1.8),
+	  src/Checked_Number.inlines.hh (1.15), src/Checked_Number.types.hh
+	  (1.4), src/Coefficient.cc (1.2), src/Coefficient.defs.hh (1.2),
+	  src/Coefficient.inlines.hh (1.2), src/Coefficient.types.hh (1.6),
+	  src/Coefficient_traits_template.hh (1.3), src/Constraint.cc
+	  (1.47), src/Constraint.defs.hh (1.102), src/Constraint.inlines.hh
+	  (1.59), src/Constraint.types.hh (1.8), src/Constraint_System.cc
+	  (1.5), src/Constraint_System.defs.hh (1.8),
+	  src/Constraint_System.inlines.hh (1.2),
+	  src/Constraint_System.types.hh (1.2), src/DB_Matrix.defs.hh
+	  (1.3), src/DB_Matrix.inlines.hh (1.3), src/DB_Matrix.types.hh
+	  (1.3), src/DB_Row.defs.hh (1.3), src/DB_Row.inlines.hh (1.3),
+	  src/DB_Row.types.hh (1.3), src/Determinate.defs.hh (1.53),
+	  src/Determinate.inlines.hh (1.46), src/Determinate.types.hh
+	  (1.6), src/E_NIT.defs.hh (1.3), src/E_NIT.inlines.hh (1.3),
+	  src/E_NIT.types.hh (1.3), src/E_Rational.defs.hh (1.3),
+	  src/E_Rational.inlines.hh (1.3), src/E_Rational.types.hh (1.3),
+	  src/Extended_Number.defs.hh (1.3), src/Extended_Number.inlines.hh
+	  (1.5), src/Extended_Number.types.hh (1.3), src/Float.defs.hh
+	  (1.3), src/Float.inlines.hh (1.3), src/GMP_Integer.defs.hh (1.5),
+	  src/GMP_Integer.inlines.hh (1.4), src/GMP_Integer.types.hh (1.7),
+	  src/Generator.cc (1.58), src/Generator.defs.hh (1.101),
+	  src/Generator.inlines.hh (1.54), src/Generator.types.hh (1.8),
+	  src/Generator_System.cc (1.4), src/Generator_System.defs.hh
+	  (1.7), src/Generator_System.inlines.hh (1.2),
+	  src/Generator_System.types.hh (1.2), src/H79_Certificate.cc
+	  (1.6), src/H79_Certificate.defs.hh (1.9),
+	  src/H79_Certificate.inlines.hh (1.4),
+	  src/H79_Certificate.types.hh (1.2), src/Init.cc (1.15),
+	  src/Init.defs.hh (1.11), src/Init.types.hh (1.7), src/Interval.cc
+	  (1.10), src/Interval.defs.hh (1.21), src/Interval.inlines.hh
+	  (1.18), src/Interval.types.hh (1.8), src/Limits.hh (1.5),
+	  src/Linear_Expression.cc (1.4), src/Linear_Expression.defs.hh
+	  (1.8), src/Linear_Expression.inlines.hh (1.4),
+	  src/Linear_Expression.types.hh (1.2), src/Linear_Row.cc (1.5),
+	  src/Linear_Row.defs.hh (1.7), src/Linear_Row.inlines.hh (1.7),
+	  src/Linear_Row.types.hh (1.2), src/Linear_System.cc (1.14),
+	  src/Linear_System.defs.hh (1.12), src/Linear_System.inlines.hh
+	  (1.12), src/Linear_System.types.hh (1.2), src/Makefile.am (1.99),
+	  src/Matrix.cc (1.80), src/Matrix.defs.hh (1.68),
+	  src/Matrix.inlines.hh (1.43), src/Matrix.types.hh (1.8),
+	  src/NNC_Polyhedron.cc (1.13), src/NNC_Polyhedron.defs.hh (1.33),
+	  src/NNC_Polyhedron.inlines.hh (1.27), src/NNC_Polyhedron.types.hh
+	  (1.8), src/Native_Integer.defs.hh (1.9),
+	  src/Native_Integer.inlines.hh (1.9), src/Native_Integer.types.hh
+	  (1.7), src/Numeric_Format.defs.hh (1.3), src/Ph_Status.cc (1.6),
+	  src/Ph_Status.idefs.hh (1.7), src/Ph_Status.inlines.hh (1.5),
+	  src/Poly_Con_Relation.cc (1.9), src/Poly_Con_Relation.defs.hh
+	  (1.25), src/Poly_Con_Relation.inlines.hh (1.12),
+	  src/Poly_Con_Relation.types.hh (1.7), src/Poly_Gen_Relation.cc
+	  (1.9), src/Poly_Gen_Relation.defs.hh (1.23),
+	  src/Poly_Gen_Relation.inlines.hh (1.12),
+	  src/Poly_Gen_Relation.types.hh (1.7),
+	  src/Polyhedra_Powerset.defs.hh (1.14),
+	  src/Polyhedra_Powerset.inlines.hh (1.17),
+	  src/Polyhedra_Powerset.types.hh (1.2), src/Polyhedron.defs.hh
+	  (1.263), src/Polyhedron.inlines.hh (1.109),
+	  src/Polyhedron.types.hh (1.14), src/Polyhedron_chdims.cc (1.27),
+	  src/Polyhedron_nonpublic.cc (1.43), src/Polyhedron_public.cc
+	  (1.48), src/Polyhedron_widenings.cc (1.40), src/Powerset.defs.hh
+	  (1.10), src/Powerset.inlines.hh (1.9), src/Powerset.types.hh
+	  (1.2), src/Ptr_Iterator.defs.hh (1.3),
+	  src/Ptr_Iterator.inlines.hh (1.3), src/Ptr_Iterator.types.hh
+	  (1.3), src/Result.defs.hh (1.7), src/Result.inlines.hh (1.5),
+	  src/Rounding.defs.hh (1.4), src/Rounding.inlines.hh (1.3),
+	  src/Rounding.types.hh (1.3), src/Row.cc (1.76), src/Row.defs.hh
+	  (1.88), src/Row.inlines.hh (1.55), src/Row.types.hh (1.8),
+	  src/Saturation_Matrix.cc (1.2), src/Saturation_Matrix.defs.hh
+	  (1.2), src/Saturation_Matrix.inlines.hh (1.3),
+	  src/Saturation_Matrix.types.hh (1.2), src/Saturation_Row.cc
+	  (1.4), src/Saturation_Row.defs.hh (1.3),
+	  src/Saturation_Row.inlines.hh (1.3), src/Saturation_Row.types.hh
+	  (1.2), src/Topology.hh (1.10), src/Variable.cc (1.18),
+	  src/Variable.defs.hh (1.45), src/Variable.inlines.hh (1.21),
+	  src/Variable.types.hh (1.8), src/Widening_Function.defs.hh
+	  (1.10), src/Widening_Function.inlines.hh (1.9),
+	  src/Widening_Function.types.hh (1.2), src/algorithms.hh (1.39),
+	  src/checked.defs.hh (1.9), src/checked.inlines.hh (1.6),
+	  src/checked_ext.defs.hh (1.3), src/checked_ext.inlines.hh (1.5),
+	  src/checked_float.inlines.hh (1.18), src/checked_int.inlines.hh
+	  (1.16), src/checked_mpq.inlines.hh (1.8),
+	  src/checked_mpz.inlines.hh (1.9), src/compiler.hh (1.3),
+	  src/conversion.cc (1.66), src/float.types.hh (1.7),
+	  src/fpu-c99.inlines.hh (1.3), src/fpu-ia32.inlines.hh (1.3),
+	  src/fpu.defs.hh (1.3), src/globals.cc (1.20), src/globals.defs.hh
+	  (1.16), src/globals.inlines.hh (1.8), src/initializer.hh (1.10),
+	  src/max_space_dimension.hh (1.5), src/minimize.cc (1.40),
+	  src/ppl_header.top (1.8), src/simplex.cc (1.7), src/simplify.cc
+	  (1.42), src/swapping_sort.icc (1.8), src/version.cc (1.5),
+	  src/version.hh.in (1.10), tests/BBox.cc (1.8), tests/BBox.hh
+	  (1.6), tests/Makefile.am (1.242), tests/PFunction.cc (1.4),
+	  tests/PFunction.hh (1.4), tests/ehandlers.cc (1.6),
+	  tests/ehandlers.hh (1.10), tests/files.cc (1.6), tests/files.hh
+	  (1.6), tests/ppl_test.hh (1.6), tests/print.cc (1.14),
+	  tests/print.hh (1.17), tests/BD_Shape/relations1.cc (1.3),
+	  tests/BD_Shape/relations2.cc (1.3), tests/BD_Shape/relations3.cc
+	  (1.3), tests/BD_Shape/relations4.cc (1.3),
+	  tests/BD_Shape/relations5.cc (1.3),
+	  tests/Polyhedron/CbecomesNNC1.cc (1.3),
+	  tests/Polyhedron/Makefile.am (1.4),
+	  tests/Polyhedron/NNCbecomesC1.cc (1.3),
+	  tests/Polyhedron/NNCminimize1.cc (1.3),
+	  tests/Polyhedron/NNCminimize2.cc (1.3),
+	  tests/Polyhedron/NNCminimize3.cc (1.3),
+	  tests/Polyhedron/NNCminimize4.cc (1.3),
+	  tests/Polyhedron/NNCminimize5.cc (1.3),
+	  tests/Polyhedron/NNCminimize6.cc (1.3), tests/Polyhedron/README
+	  (1.3), tests/Polyhedron/addconstraint1.cc (1.3),
+	  tests/Polyhedron/addconstraint2.cc (1.3),
+	  tests/Polyhedron/addconstraint3.cc (1.3),
+	  tests/Polyhedron/addconstraints1.cc (1.3),
+	  tests/Polyhedron/addconstraints10.cc (1.3),
+	  tests/Polyhedron/addconstraints11.cc (1.3),
+	  tests/Polyhedron/addconstraints12.cc (1.3),
+	  tests/Polyhedron/addconstraints13.cc (1.3),
+	  tests/Polyhedron/addconstraints2.cc (1.3),
+	  tests/Polyhedron/addconstraints3.cc (1.3),
+	  tests/Polyhedron/addconstraints4.cc (1.3),
+	  tests/Polyhedron/addconstraints5.cc (1.3),
+	  tests/Polyhedron/addconstraints6.cc (1.3),
+	  tests/Polyhedron/addconstraints7.cc (1.3),
+	  tests/Polyhedron/addconstraints8.cc (1.3),
+	  tests/Polyhedron/addconstraints9.cc (1.3),
+	  tests/Polyhedron/addgenerator1.cc (1.3),
+	  tests/Polyhedron/addgenerator2.cc (1.3),
+	  tests/Polyhedron/addgenerator3.cc (1.3),
+	  tests/Polyhedron/addgenerator4.cc (1.3),
+	  tests/Polyhedron/addgenerator5.cc (1.3),
+	  tests/Polyhedron/addgenerators1.cc (1.3),
+	  tests/Polyhedron/addgenerators10.cc (1.3),
+	  tests/Polyhedron/addgenerators11.cc (1.3),
+	  tests/Polyhedron/addgenerators12.cc (1.3),
+	  tests/Polyhedron/addgenerators13.cc (1.3),
+	  tests/Polyhedron/addgenerators2.cc (1.3),
+	  tests/Polyhedron/addgenerators3.cc (1.3),
+	  tests/Polyhedron/addgenerators4.cc (1.3),
+	  tests/Polyhedron/addgenerators5.cc (1.3),
+	  tests/Polyhedron/addgenerators6.cc (1.3),
+	  tests/Polyhedron/addgenerators7.cc (1.3),
+	  tests/Polyhedron/addgenerators8.cc (1.3),
+	  tests/Polyhedron/addgenerators9.cc (1.3),
+	  tests/Polyhedron/addspacedims1.cc (1.3),
+	  tests/Polyhedron/addspacedims10.cc (1.3),
+	  tests/Polyhedron/addspacedims11.cc (1.3),
+	  tests/Polyhedron/addspacedims12.cc (1.3),
+	  tests/Polyhedron/addspacedims13.cc (1.3),
+	  tests/Polyhedron/addspacedims2.cc (1.3),
+	  tests/Polyhedron/addspacedims3.cc (1.3),
+	  tests/Polyhedron/addspacedims4.cc (1.3),
+	  tests/Polyhedron/addspacedims5.cc (1.3),
+	  tests/Polyhedron/addspacedims6.cc (1.3),
+	  tests/Polyhedron/addspacedims7.cc (1.3),
+	  tests/Polyhedron/addspacedims8.cc (1.3),
+	  tests/Polyhedron/addspacedims9.cc (1.3),
+	  tests/Polyhedron/affineimage1.cc (1.3),
+	  tests/Polyhedron/affineimage2.cc (1.3),
+	  tests/Polyhedron/affineimage3.cc (1.3),
+	  tests/Polyhedron/affineimage4.cc (1.3),
+	  tests/Polyhedron/affineimage5.cc (1.3),
+	  tests/Polyhedron/affineimage6.cc (1.3),
+	  tests/Polyhedron/affineimage7.cc (1.3),
+	  tests/Polyhedron/affineimage8.cc (1.3),
+	  tests/Polyhedron/affineimage9.cc (1.3),
+	  tests/Polyhedron/affinepreimage1.cc (1.3),
+	  tests/Polyhedron/affinepreimage10.cc (1.3),
+	  tests/Polyhedron/affinepreimage2.cc (1.3),
+	  tests/Polyhedron/affinepreimage3.cc (1.3),
+	  tests/Polyhedron/affinepreimage4.cc (1.3),
+	  tests/Polyhedron/affinepreimage5.cc (1.3),
+	  tests/Polyhedron/affinepreimage6.cc (1.3),
+	  tests/Polyhedron/affinepreimage7.cc (1.3),
+	  tests/Polyhedron/affinepreimage8.cc (1.3),
+	  tests/Polyhedron/affinepreimage9.cc (1.3),
+	  tests/Polyhedron/affinetrans.cc (1.3),
+	  tests/Polyhedron/append1.cc (1.3), tests/Polyhedron/append2.cc
+	  (1.3), tests/Polyhedron/ascii_dump_load1.cc (1.3),
+	  tests/Polyhedron/ascii_dump_load2.cc (1.3),
+	  tests/Polyhedron/ascii_dump_load3.cc (1.3),
+	  tests/Polyhedron/ascii_dump_load4.cc (1.3),
+	  tests/Polyhedron/ascii_dump_load5.cc (1.3),
+	  tests/Polyhedron/ascii_dump_load6.cc (1.3),
+	  tests/Polyhedron/ascii_dump_load7.cc (1.3),
+	  tests/Polyhedron/bgp99extrapolation1.cc (1.3),
+	  tests/Polyhedron/bgp99extrapolation2.cc (1.3),
+	  tests/Polyhedron/bhrz03widening1.cc (1.3),
+	  tests/Polyhedron/bhrz03widening10.cc (1.3),
+	  tests/Polyhedron/bhrz03widening11.cc (1.3),
+	  tests/Polyhedron/bhrz03widening12.cc (1.3),
+	  tests/Polyhedron/bhrz03widening13.cc (1.3),
+	  tests/Polyhedron/bhrz03widening14.cc (1.3),
+	  tests/Polyhedron/bhrz03widening15.cc (1.3),
+	  tests/Polyhedron/bhrz03widening16.cc (1.3),
+	  tests/Polyhedron/bhrz03widening17.cc (1.3),
+	  tests/Polyhedron/bhrz03widening18.cc (1.3),
+	  tests/Polyhedron/bhrz03widening19.cc (1.3),
+	  tests/Polyhedron/bhrz03widening2.cc (1.3),
+	  tests/Polyhedron/bhrz03widening3.cc (1.3),
+	  tests/Polyhedron/bhrz03widening4.cc (1.3),
+	  tests/Polyhedron/bhrz03widening5.cc (1.3),
+	  tests/Polyhedron/bhrz03widening6.cc (1.3),
+	  tests/Polyhedron/bhrz03widening7.cc (1.3),
+	  tests/Polyhedron/bhrz03widening8.cc (1.3),
+	  tests/Polyhedron/bhrz03widening9.cc (1.3),
+	  tests/Polyhedron/bhz03widening1.cc (1.3),
+	  tests/Polyhedron/bhz03widening2.cc (1.3),
+	  tests/Polyhedron/bhz03widening3.cc (1.3),
+	  tests/Polyhedron/bhz03widening4.cc (1.3),
+	  tests/Polyhedron/bhz03widening5.cc (1.3),
+	  tests/Polyhedron/bhz03widening6.cc (1.3),
+	  tests/Polyhedron/bounded1.cc (1.3),
+	  tests/Polyhedron/boundedh79extrapolation1.cc (1.3),
+	  tests/Polyhedron/boundingbox1.cc (1.3),
+	  tests/Polyhedron/boundingbox2.cc (1.3),
+	  tests/Polyhedron/boundingbox3.cc (1.3),
+	  tests/Polyhedron/boundingbox4.cc (1.3),
+	  tests/Polyhedron/boundingbox5.cc (1.3),
+	  tests/Polyhedron/bounds1.cc (1.3), tests/Polyhedron/bounds2.cc
+	  (1.3), tests/Polyhedron/concatenate1.cc (1.3),
+	  tests/Polyhedron/concatenate2.cc (1.3),
+	  tests/Polyhedron/concatenate3.cc (1.3),
+	  tests/Polyhedron/concatenate4.cc (1.3),
+	  tests/Polyhedron/concatenate5.cc (1.3),
+	  tests/Polyhedron/concatenate6.cc (1.3),
+	  tests/Polyhedron/constraints1.cc (1.3),
+	  tests/Polyhedron/constraints2.cc (1.3),
+	  tests/Polyhedron/constraints3.cc (1.3),
+	  tests/Polyhedron/constraints4.cc (1.3),
+	  tests/Polyhedron/contains1.cc (1.3),
+	  tests/Polyhedron/contains2.cc (1.3),
+	  tests/Polyhedron/contains3.cc (1.3),
+	  tests/Polyhedron/contains4.cc (1.3),
+	  tests/Polyhedron/contains5.cc (1.3),
+	  tests/Polyhedron/disjoint1.cc (1.3),
+	  tests/Polyhedron/disjoint2.cc (1.3),
+	  tests/Polyhedron/disjoint3.cc (1.3),
+	  tests/Polyhedron/dualhypercubes.cc (1.3),
+	  tests/Polyhedron/empty1.cc (1.3), tests/Polyhedron/equals1.cc
+	  (1.3), tests/Polyhedron/exceptions1.cc (1.3),
+	  tests/Polyhedron/exceptions2.cc (1.3),
+	  tests/Polyhedron/exceptions3.cc (1.3),
+	  tests/Polyhedron/expandspacedim1.cc (1.3),
+	  tests/Polyhedron/expandspacedim2.cc (1.3),
+	  tests/Polyhedron/foldspacedims1.cc (1.3),
+	  tests/Polyhedron/foldspacedims2.cc (1.3),
+	  tests/Polyhedron/generalizedaffineimage1.cc (1.3),
+	  tests/Polyhedron/generalizedaffineimage10.cc (1.3),
+	  tests/Polyhedron/generalizedaffineimage11.cc (1.3),
+	  tests/Polyhedron/generalizedaffineimage12.cc (1.3),
+	  tests/Polyhedron/generalizedaffineimage2.cc (1.3),
+	  tests/Polyhedron/generalizedaffineimage3.cc (1.3),
+	  tests/Polyhedron/generalizedaffineimage4.cc (1.3),
+	  tests/Polyhedron/generalizedaffineimage5.cc (1.3),
+	  tests/Polyhedron/generalizedaffineimage6.cc (1.3),
+	  tests/Polyhedron/generalizedaffineimage7.cc (1.3),
+	  tests/Polyhedron/generalizedaffineimage8.cc (1.3),
+	  tests/Polyhedron/generalizedaffineimage9.cc (1.3),
+	  tests/Polyhedron/generators1.cc (1.3),
+	  tests/Polyhedron/generators2.cc (1.3),
+	  tests/Polyhedron/generators3.cc (1.3),
+	  tests/Polyhedron/generators4.cc (1.3),
+	  tests/Polyhedron/generators5.cc (1.3),
+	  tests/Polyhedron/generators6.cc (1.3),
+	  tests/Polyhedron/geomcovers1.cc (1.3),
+	  tests/Polyhedron/h79widening1.cc (1.3),
+	  tests/Polyhedron/h79widening2.cc (1.3),
+	  tests/Polyhedron/h79widening3.cc (1.3),
+	  tests/Polyhedron/h79widening4.cc (1.3),
+	  tests/Polyhedron/h79widening5.cc (1.3),
+	  tests/Polyhedron/h79widening6.cc (1.3),
+	  tests/Polyhedron/h79widening7.cc (1.3),
+	  tests/Polyhedron/h79widening8.cc (1.3),
+	  tests/Polyhedron/intersection1.cc (1.3),
+	  tests/Polyhedron/intersection10.cc (1.3),
+	  tests/Polyhedron/intersection11.cc (1.3),
+	  tests/Polyhedron/intersection2.cc (1.3),
+	  tests/Polyhedron/intersection3.cc (1.3),
+	  tests/Polyhedron/intersection4.cc (1.3),
+	  tests/Polyhedron/intersection5.cc (1.3),
+	  tests/Polyhedron/intersection6.cc (1.3),
+	  tests/Polyhedron/intersection7.cc (1.3),
+	  tests/Polyhedron/intersection8.cc (1.3),
+	  tests/Polyhedron/intersection9.cc (1.3),
+	  tests/Polyhedron/limitedbhrz03extrapolation1.cc (1.3),
+	  tests/Polyhedron/limitedh79extrapolation1.cc (1.3),
+	  tests/Polyhedron/limitedh79extrapolation2.cc (1.3),
+	  tests/Polyhedron/limitedh79extrapolation3.cc (1.3),
+	  tests/Polyhedron/limitedh79extrapolation4.cc (1.3),
+	  tests/Polyhedron/linearpartition1.cc (1.3),
+	  tests/Polyhedron/linearpartition2.cc (1.3),
+	  tests/Polyhedron/linearpartition3.cc (1.3),
+	  tests/Polyhedron/linearpartition4.cc (1.3),
+	  tests/Polyhedron/linexpression1.cc (1.3),
+	  tests/Polyhedron/mapspacedims1.cc (1.3),
+	  tests/Polyhedron/mapspacedims2.cc (1.3),
+	  tests/Polyhedron/mapspacedims3.cc (1.3),
+	  tests/Polyhedron/mapspacedims4.cc (1.3),
+	  tests/Polyhedron/max_min1.cc (1.3), tests/Polyhedron/max_min2.cc
+	  (1.3), tests/Polyhedron/maxspacedim1.cc (1.3),
+	  tests/Polyhedron/mc91.cc (1.3), tests/Polyhedron/membytes1.cc
+	  (1.3), tests/Polyhedron/membytes2.cc (1.3),
+	  tests/Polyhedron/memory1.cc (1.3),
+	  tests/Polyhedron/minconstraints1.cc (1.3),
+	  tests/Polyhedron/minconstraints2.cc (1.3),
+	  tests/Polyhedron/minconstraints3.cc (1.3),
+	  tests/Polyhedron/minconstraints4.cc (1.3),
+	  tests/Polyhedron/mingenerators1.cc (1.3),
+	  tests/Polyhedron/mingenerators2.cc (1.3),
+	  tests/Polyhedron/mingenerators3.cc (1.3),
+	  tests/Polyhedron/onepoint.cc (1.3), tests/Polyhedron/permute.cc
+	  (1.3), tests/Polyhedron/polydifference1.cc (1.3),
+	  tests/Polyhedron/polydifference2.cc (1.3),
+	  tests/Polyhedron/polydifference3.cc (1.3),
+	  tests/Polyhedron/polydifference4.cc (1.3),
+	  tests/Polyhedron/polydifference5.cc (1.3),
+	  tests/Polyhedron/polydifference6.cc (1.3),
+	  tests/Polyhedron/polydifference7.cc (1.3),
+	  tests/Polyhedron/polydifference8.cc (1.3),
+	  tests/Polyhedron/polydifference9.cc (1.3),
+	  tests/Polyhedron/polyhull1.cc (1.3),
+	  tests/Polyhedron/polyhull10.cc (1.3),
+	  tests/Polyhedron/polyhull11.cc (1.3),
+	  tests/Polyhedron/polyhull2.cc (1.3),
+	  tests/Polyhedron/polyhull3.cc (1.3),
+	  tests/Polyhedron/polyhull4.cc (1.3),
+	  tests/Polyhedron/polyhull5.cc (1.3),
+	  tests/Polyhedron/polyhull6.cc (1.3),
+	  tests/Polyhedron/polyhull7.cc (1.3),
+	  tests/Polyhedron/polyhull8.cc (1.3),
+	  tests/Polyhedron/polyhull9.cc (1.3),
+	  tests/Polyhedron/randphull1.cc (1.3),
+	  tests/Polyhedron/randphull2.cc (1.3),
+	  tests/Polyhedron/relations1.cc (1.3),
+	  tests/Polyhedron/relations10.cc (1.3),
+	  tests/Polyhedron/relations11.cc (1.3),
+	  tests/Polyhedron/relations12.cc (1.3),
+	  tests/Polyhedron/relations13.cc (1.3),
+	  tests/Polyhedron/relations14.cc (1.3),
+	  tests/Polyhedron/relations15.cc (1.3),
+	  tests/Polyhedron/relations16.cc (1.3),
+	  tests/Polyhedron/relations17.cc (1.3),
+	  tests/Polyhedron/relations18.cc (1.3),
+	  tests/Polyhedron/relations19.cc (1.3),
+	  tests/Polyhedron/relations2.cc (1.3),
+	  tests/Polyhedron/relations3.cc (1.3),
+	  tests/Polyhedron/relations4.cc (1.3),
+	  tests/Polyhedron/relations5.cc (1.3),
+	  tests/Polyhedron/relations6.cc (1.3),
+	  tests/Polyhedron/relations7.cc (1.3),
+	  tests/Polyhedron/relations8.cc (1.3),
+	  tests/Polyhedron/relations9.cc (1.3),
+	  tests/Polyhedron/removespacedims1.cc (1.3),
+	  tests/Polyhedron/removespacedims10.cc (1.3),
+	  tests/Polyhedron/removespacedims2.cc (1.3),
+	  tests/Polyhedron/removespacedims3.cc (1.3),
+	  tests/Polyhedron/removespacedims4.cc (1.3),
+	  tests/Polyhedron/removespacedims5.cc (1.3),
+	  tests/Polyhedron/removespacedims6.cc (1.3),
+	  tests/Polyhedron/removespacedims7.cc (1.3),
+	  tests/Polyhedron/removespacedims8.cc (1.3),
+	  tests/Polyhedron/removespacedims9.cc (1.3),
+	  tests/Polyhedron/smm1.cc (1.3), tests/Polyhedron/timeelapse1.cc
+	  (1.3), tests/Polyhedron/timeelapse2.cc (1.3),
+	  tests/Polyhedron/timeelapse3.cc (1.3),
+	  tests/Polyhedron/timeelapse4.cc (1.3),
+	  tests/Polyhedron/timeelapse5.cc (1.3),
+	  tests/Polyhedron/timeelapse6.cc (1.3),
+	  tests/Polyhedron/timeelapse7.cc (1.3),
+	  tests/Polyhedron/timeelapse8.cc (1.3),
+	  tests/Polyhedron/timeelapse9.cc (1.3),
+	  tests/Polyhedron/topclosed1.cc (1.3),
+	  tests/Polyhedron/topclosed2.cc (1.3),
+	  tests/Polyhedron/topclosed3.cc (1.3),
+	  tests/Polyhedron/topclosure1.cc (1.3),
+	  tests/Polyhedron/topclosure2.cc (1.3),
+	  tests/Polyhedron/topclosure3.cc (1.3),
+	  tests/Polyhedron/topclosure4.cc (1.3),
+	  tests/Polyhedron/universe1.cc (1.3),
+	  tests/Polyhedron/universe2.cc (1.3),
+	  tests/Polyhedron/universe3.cc (1.3),
+	  tests/Polyhedron/universe4.cc (1.3),
+	  tests/Polyhedron/universe5.cc (1.3),
+	  tests/Polyhedron/universe6.cc (1.3),
+	  tests/Polyhedron/universe7.cc (1.3),
+	  tests/Polyhedron/watchdog1.cc (1.3),
+	  tests/Polyhedron/writeconsys1.cc (1.3),
+	  tests/Polyhedron/writegensys1.cc (1.3),
+	  tests/Polyhedron/writegensys2.cc (1.3),
+	  tests/Polyhedron/writegensys3.cc (1.3),
+	  tests/Polyhedron/writepolyhedron1.cc (1.3),
+	  tests/Polyhedron/writepolyhedron2.cc (1.3),
+	  tests/Polyhedron/writepolyhedron3.cc (1.3),
+	  tests/Polyhedron/writerelation1.cc (1.3),
+	  tests/Polyhedron/writevariable1.cc (1.3), utils/Makefile.am
+	  (1.2), utils/timings.cc (1.2), utils/timings.hh (1.2): Copyright
+	  years extended.
+
+2004-12-31 Friday 23:36  Abramo Bagnara
+
+	* src/: Extended_Number.inlines.hh (1.4), checked_ext.inlines.hh
+	  (1.4), checked_float.inlines.hh (1.17): Added comparison and
+	  arithmetic binary operators.
+
+2004-12-31 Friday 23:36  Abramo Bagnara
+
+	* src/Result.defs.hh (1.6): Added V_INF_DIV_INF.
+
+2004-12-31 Friday 19:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (1.3): Added membytes2 to
+	  XFAIL_WITH_INT8_A.
+
+2004-12-31 Friday 18:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/simplex.cc (1.6): ConSys renamed to Constraint_System in
+	  comments and error messages.
+
+2004-12-31 Friday 14:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/: expected_int16_a (1.2), expected_int32 (1.3),
+	  expected_int32_a (1.3), expected_int64 (1.3), expected_int64_a
+	  (1.3): Adapted to recent changes in ppl_lpsol.
+
+2004-12-31 Friday 14:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: XSB/expected_int8 (1.2), tests/expected_int8
+	  (1.2): Adapted to the recent changes in the implementation of
+	  checked numbers.
+
+2004-12-31 Friday 14:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: XSB/expected2_int16_a (1.2),
+	  XSB/expected_int8_a (1.2), tests/expected2_int16_a (1.2),
+	  tests/expected_int8_a (1.2): Adapted to the recent changes in the
+	  implementation of checked numbers.
+
+2004-12-31 Friday 13:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected2_int16 (1.3): Adapted to the
+	  recent changes in the implementation of checked numbers.
+
+2004-12-31 Friday 13:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected2_int16 (1.3): Adapted to the
+	  recent changes in the implementation of checked numbers.
+
+2004-12-31 Friday 13:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/Makefile.am (1.39),
+	  interfaces/Prolog/GNU/Makefile.am (1.43),
+	  interfaces/Prolog/SICStus/Makefile.am (1.50),
+	  interfaces/Prolog/SWI/Makefile.am (1.44),
+	  interfaces/Prolog/XSB/Makefile.am (1.31),
+	  demos/ppl_lcdd/Makefile.am (1.18), demos/ppl_lpsol/Makefile.am
+	  (1.11), interfaces/Prolog/YAP/Makefile.am (1.34): When checking
+	  for differences between the obtained and the expected output, use
+	  `diff -u' instead of `diff -q'.
+
+2004-12-31 Friday 13:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/simplex.cc (1.5): Comment fixed.
+
+2004-12-31 Friday 09:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/simplex.cc (1.4): Variable-length automatic arrays are not
+	  (yet) standard in C++: use vectors instead.
+
+2004-12-31 Friday 08:57  Abramo Bagnara
+
+	* src/: Checked_Number.inlines.hh (1.14),
+	  Extended_Number.inlines.hh (1.3), Result.defs.hh (1.5),
+	  Result.inlines.hh (1.4), checked_ext.inlines.hh (1.3),
+	  checked_float.inlines.hh (1.16), checked_int.inlines.hh (1.15),
+	  checked_mpq.inlines.hh (1.7), checked_mpz.inlines.hh (1.8):
+	  Discriminate between special values sources.
+
+2004-12-30 Thursday 18:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/expected_mpz_a (1.3): Adapted to the recent
+	  changes to ppl_lpsol.
+
+2004-12-30 Thursday 16:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Generator.defs.hh (1.100): Avoid a couple of long lines.
+
+2004-12-30 Thursday 15:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/adlittle.mps (altnum.1): file
+	  adlittle.mps was added on branch altnum on 2006-10-29 19:26:55
+	  +0000
+
+2004-12-30 Thursday 15:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/blend.mps (altnum.1): file blend.mps was
+	  added on branch altnum on 2006-10-29 19:26:55 +0000
+
+2004-12-30 Thursday 15:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/boeing1.mps (altnum.1): file boeing1.mps
+	  was added on branch altnum on 2006-10-29 19:26:55 +0000
+
+2004-12-30 Thursday 15:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/boeing2.mps (altnum.1): file boeing2.mps
+	  was added on branch altnum on 2006-10-29 19:26:55 +0000
+
+2004-12-30 Thursday 15:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/kb2.mps (altnum.1): file kb2.mps was
+	  added on branch altnum on 2006-10-29 19:26:55 +0000
+
+2004-12-30 Thursday 15:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/mip.mps (altnum.1): file mip.mps was
+	  added on branch altnum on 2006-10-29 19:26:55 +0000
+
+2004-12-30 Thursday 15:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/sc105.mps (altnum.1): file sc105.mps was
+	  added on branch altnum on 2006-10-29 19:26:55 +0000
+
+2004-12-30 Thursday 15:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/sc50a.mps (altnum.1): file sc50a.mps was
+	  added on branch altnum on 2006-10-29 19:26:55 +0000
+
+2004-12-30 Thursday 15:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/sc50b.mps (altnum.1): file sc50b.mps was
+	  added on branch altnum on 2006-10-29 19:26:55 +0000
+
+2004-12-30 Thursday 15:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/examples/ship08l.mps (altnum.1): file ship08l.mps
+	  was added on branch altnum on 2006-10-29 19:26:55 +0000
+
+2004-12-30 Thursday 15:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.138), demos/ppl_lpsol/Makefile.am (1.10),
+	  demos/ppl_lpsol/examples/Makefile.am (1.2),
+	  demos/ppl_lpsol/examples/adlittle.mps (1.1),
+	  demos/ppl_lpsol/examples/blend.mps (1.1),
+	  demos/ppl_lpsol/examples/boeing1.mps (1.1),
+	  demos/ppl_lpsol/examples/boeing2.mps (1.1),
+	  demos/ppl_lpsol/examples/kb2.mps (1.1),
+	  demos/ppl_lpsol/examples/mip.mps (1.1),
+	  demos/ppl_lpsol/examples/sc105.mps (1.1),
+	  demos/ppl_lpsol/examples/sc50a.mps (1.1),
+	  demos/ppl_lpsol/examples/sc50b.mps (1.1),
+	  demos/ppl_lpsol/examples/ship08l.mps (1.1): New examples to test
+	  the simplex solver.
+
+2004-12-30 Thursday 15:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.11), interfaces/C/ppl_c.cc
+	  (1.127), src/Constraint_System.defs.hh (1.7), src/simplex.cc
+	  (1.3): The simplex solver now returns a Simplex_Status instead of
+	  a bool.
+
+2004-12-30 Thursday 15:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (1.108): In
+	  Polyhedron::map_space_dimensions(const Partial_Function& pfunc)
+	  we no longer completely trust the (user-provided) partial
+	  function `pfunc'.  Compiler warning silenced.
+
+2004-12-30 Thursday 15:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.152): Fixed
+	  term_to_Coefficient(Prolog_term_ref t).
+
+2004-12-30 Thursday 15:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Determinate.defs.hh (1.52), Determinate.inlines.hh (1.45):
+	  All methods that are specific to the Polyhedra tempplate
+	  parameter have been dropped. If needed, they can still be invoked
+	  through element().
+
+2004-12-30 Thursday 15:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Generator.inlines.hh (1.53): Minor documentation improvement.
+
+2004-12-30 Thursday 15:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedra_Powerset.inlines.hh (1.16): Use element() to access
+	  those methods that are specific to the Polyhedron class.
+
+2004-12-30 Thursday 15:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Powerset.defs.hh (1.9): Minor documentation improvements.
+
+2004-12-30 Thursday 14:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (1.107): Error messages fixed.
+
+2004-12-30 Thursday 12:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Powerset.defs.hh (1.8), Powerset.inlines.hh (1.8): Added
+	  mixed comparison operators for iterator and const_iterator.
+	  Drafted some documentation with an iterator's usage example.
+
+2004-12-30 Thursday 11:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.126), ppl_c.h.in (1.45): Added support
+	  for simplex solver status to the C interface.
+
+2004-12-30 Thursday 09:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/globals.defs.hh (1.15): New enum Simplex_Status to represent
+	  the possible outcomes of a simplex solver.
+
+2004-12-30 Thursday 08:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.10): Redundant print statement
+	  removed.
+
+2004-12-30 Thursday 08:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/expected_mpz (1.3): The objective function is now
+	  printed even if the problem is unfeasible.
+
+2004-12-29 Wednesday 21:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedra_Powerset.defs.hh (1.13),
+	  Polyhedra_Powerset.inlines.hh (1.15), Powerset.defs.hh (1.7),
+	  Powerset.inlines.hh (1.7), algorithms.hh (1.38): Added support
+	  for the consident use of bidirectional iterators (iterator,
+	  const_iterator, reverse_iterator, const_reverse_iterator) for the
+	  class Powerset. The new iterators replace the low-level ones on
+	  the sequence of disjuncts, which are now protected and were not
+	  enforcing the consistency of the reduced flag. All the new
+	  iterators only provide read-only access to the disjuncts in a
+	  Powerset element.  It is possible to drop elements form the
+	  sequence (but not to directly modify them) by using `iterator' in
+	  conjunction with Powerset<CS> methods drop_disjunct(),
+	  drop_disjuncts() and clear().
+
+2004-12-29 Wednesday 21:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.9): Optionally use the simplex
+	  method.
+
+2004-12-29 Wednesday 21:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.137), interfaces/C/ppl_c.cc (1.125),
+	  interfaces/C/ppl_c.h.in (1.44): Temporary interfaces to our new
+	  simplex method added.
+
+2004-12-29 Wednesday 21:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.149): Announced the recent changes to Constraint and
+	  Generator.
+
+2004-12-29 Wednesday 21:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Result.defs.hh (1.4), Rounding.defs.hh (1.3): Avoid
+	  trailing commas: they are non standard.
+
+2004-12-29 Wednesday 18:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/simplex.cc (1.2): Include "Constraint_System.inlines.hh".
+
+2004-12-29 Wednesday 17:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Constraint_System.defs.hh (1.6), Makefile.am (1.98),
+	  Matrix.defs.hh (1.67), simplex.cc (1.1): Several methods of
+	  Matrix are now public instead of protected.  Added a first, very
+	  rough implementation of Constraint_System::primal_simplex().
+
+2004-12-29 Wednesday 16:45  Abramo Bagnara
+
+	* src/checked_int.inlines.hh (1.14): Prefer esplicit overflow
+	  result.
+
+2004-12-29 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS (1.17): Added Maximiliano Marchesi and Andrea Cimino.
+	  Updated the contribution of Abramo.  Other minor improvements.
+
+2004-12-29 Wednesday 14:47  Abramo Bagnara
+
+	* src/Checked_Number.inlines.hh (1.13): Don't throw exception when
+	  exactness of result is not checked.
+
+2004-12-29 Wednesday 14:45  Abramo Bagnara
+
+	* src/checked_int.inlines.hh (1.13): Return overflow Result when
+	  Rounding direction is IGNORE.
+
+2004-12-29 Wednesday 11:06  Abramo Bagnara
+
+	* src/: checked.defs.hh (1.8), checked_int.inlines.hh (1.12),
+	  checked_mpz.inlines.hh (1.7): Don't compute relation with exact
+	  result if choosen rounding direction is IGNORE
+
+2004-12-29 Wednesday 08:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Result.inlines.hh (1.3): Comment fixed.  Indentation fixed.
+	  Use assert(false) instead of assert(0).  Include <cassert>.
+
+2004-12-29 Wednesday 08:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Result.defs.hh (1.3): Comment fixed.
+
+2004-12-29 Wednesday 08:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/Makefile.am (1.3): Added ascii_dump_load1.dat and
+	  ascii_dump_load2.dat to MOSTLYCLEANFILES.
+
+2004-12-29 Wednesday 08:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (1.3): Typo fixed.
+
+2004-12-29 Wednesday 00:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh (altnum.3): Typos fixed.
+
+2004-12-28 Tuesday 23:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure (1.12): Reflect the fact that the `gmp' option
+	  for `--enable-coefficients' has been renamed `mpz'.
+
+2004-12-28 Tuesday 23:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.148): Mention the fact that one of the possible values
+	  for the configuration option `--enable-coefficients' has been
+	  renamed from `gmp' to `mpz'.
+
+2004-12-28 Tuesday 22:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS (1.16), configure.ac (1.155), demos/ppl_lcdd/ppl_lcdd.cc
+	  (1.40), interfaces/C/ppl_c.cc (1.124),
+	  interfaces/Prolog/ppl_prolog.icc (1.151),
+	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.29),
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.25),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.72),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.96),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.63),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.88), src/BDS_Status.idefs.hh
+	  (1.2), src/BDS_Status.inlines.hh (1.2), src/BD_Shape.defs.hh
+	  (1.2), src/BD_Shape.inlines.hh (1.2), src/BD_Shape.types.hh
+	  (1.2), src/Checked_Number.defs.hh (1.7),
+	  src/Checked_Number.inlines.hh (1.12), src/DB_Matrix.defs.hh
+	  (1.2), src/DB_Matrix.inlines.hh (1.2), src/DB_Matrix.types.hh
+	  (1.2), src/DB_Row.defs.hh (1.2), src/DB_Row.inlines.hh (1.2),
+	  src/DB_Row.types.hh (1.2), src/E_NIT.defs.hh (1.2),
+	  src/E_NIT.inlines.hh (1.2), src/E_NIT.types.hh (1.2),
+	  src/E_Rational.defs.hh (1.2), src/E_Rational.inlines.hh (1.2),
+	  src/E_Rational.types.hh (1.2), src/Extended_Number.defs.hh (1.2),
+	  src/Extended_Number.inlines.hh (1.2),
+	  src/Extended_Number.types.hh (1.2), src/Float.defs.hh (1.2),
+	  src/Float.inlines.hh (1.2), src/Interval.inlines.hh (1.17),
+	  src/Limits.hh (1.4), src/Makefile.am (1.97),
+	  src/Numeric_Format.defs.hh (1.2), src/Polyhedron_nonpublic.cc
+	  (1.42), src/Ptr_Iterator.defs.hh (1.2),
+	  src/Ptr_Iterator.inlines.hh (1.2), src/Ptr_Iterator.types.hh
+	  (1.2), src/Result.defs.hh (1.2), src/Result.inlines.hh (1.2),
+	  src/Rounding.defs.hh (1.2), src/Rounding.inlines.hh (1.2),
+	  src/Rounding.types.hh (1.2), src/checked.defs.hh (1.7),
+	  src/checked.inlines.hh (1.5), src/checked_ext.defs.hh (1.2),
+	  src/checked_ext.inlines.hh (1.2), src/checked_float.inlines.hh
+	  (1.15), src/checked_int.inlines.hh (1.11),
+	  src/checked_mpq.inlines.hh (1.6), src/checked_mpz.inlines.hh
+	  (1.6), src/compiler.hh (1.2), src/float.types.hh (1.6),
+	  src/fpu-c99.inlines.hh (1.2), src/fpu-ia32.inlines.hh (1.2),
+	  src/fpu.defs.hh (1.2), src/globals.defs.hh (1.14),
+	  src/globals.inlines.hh (1.7), tests/.cvsignore (1.11),
+	  tests/CbecomesNNC1.cc (1.7), tests/Makefile.am (1.241),
+	  tests/NNCbecomesC1.cc (1.2), tests/NNCminimize1.cc (1.13),
+	  tests/NNCminimize2.cc (1.13), tests/NNCminimize3.cc (1.13),
+	  tests/NNCminimize4.cc (1.14), tests/NNCminimize5.cc (1.13),
+	  tests/NNCminimize6.cc (1.13), tests/README (1.3),
+	  tests/addconstraint1.cc (1.8), tests/addconstraint2.cc (1.5),
+	  tests/addconstraint3.cc (1.5), tests/addconstraints1.cc (1.14),
+	  tests/addconstraints10.cc (1.12), tests/addconstraints11.cc
+	  (1.13), tests/addconstraints12.cc (1.6),
+	  tests/addconstraints13.cc (1.8), tests/addconstraints2.cc (1.21),
+	  tests/addconstraints3.cc (1.12), tests/addconstraints4.cc (1.13),
+	  tests/addconstraints5.cc (1.14), tests/addconstraints6.cc (1.15),
+	  tests/addconstraints7.cc (1.14), tests/addconstraints8.cc (1.15),
+	  tests/addconstraints9.cc (1.16), tests/addgenerator1.cc (1.10),
+	  tests/addgenerator2.cc (1.10), tests/addgenerator3.cc (1.6),
+	  tests/addgenerator4.cc (1.8), tests/addgenerator5.cc (1.3),
+	  tests/addgenerators1.cc (1.14), tests/addgenerators10.cc (1.6),
+	  tests/addgenerators11.cc (1.11), tests/addgenerators12.cc (1.8),
+	  tests/addgenerators13.cc (1.4), tests/addgenerators2.cc (1.14),
+	  tests/addgenerators3.cc (1.14), tests/addgenerators4.cc (1.14),
+	  tests/addgenerators5.cc (1.14), tests/addgenerators6.cc (1.14),
+	  tests/addgenerators7.cc (1.11), tests/addgenerators8.cc (1.9),
+	  tests/addgenerators9.cc (1.8), tests/addspacedims1.cc (1.3),
+	  tests/addspacedims10.cc (1.4), tests/addspacedims11.cc (1.3),
+	  tests/addspacedims12.cc (1.2), tests/addspacedims13.cc (1.2),
+	  tests/addspacedims2.cc (1.2), tests/addspacedims3.cc (1.4),
+	  tests/addspacedims4.cc (1.3), tests/addspacedims5.cc (1.3),
+	  tests/addspacedims6.cc (1.3), tests/addspacedims7.cc (1.3),
+	  tests/addspacedims8.cc (1.2), tests/addspacedims9.cc (1.3),
+	  tests/affineimage1.cc (1.13), tests/affineimage2.cc (1.12),
+	  tests/affineimage3.cc (1.6), tests/affineimage4.cc (1.5),
+	  tests/affineimage5.cc (1.6), tests/affineimage6.cc (1.5),
+	  tests/affineimage7.cc (1.6), tests/affineimage8.cc (1.9),
+	  tests/affineimage9.cc (1.3), tests/affinepreimage1.cc (1.13),
+	  tests/affinepreimage10.cc (1.9), tests/affinepreimage2.cc (1.12),
+	  tests/affinepreimage3.cc (1.12), tests/affinepreimage4.cc (1.14),
+	  tests/affinepreimage5.cc (1.5), tests/affinepreimage6.cc (1.6),
+	  tests/affinepreimage7.cc (1.6), tests/affinepreimage8.cc (1.5),
+	  tests/affinepreimage9.cc (1.6), tests/affinetrans.cc (1.17),
+	  tests/append1.cc (1.24), tests/append2.cc (1.24),
+	  tests/ascii_dump_load1.cc (1.14), tests/ascii_dump_load2.cc
+	  (1.12), tests/ascii_dump_load3.cc (1.15),
+	  tests/ascii_dump_load4.cc (1.16), tests/ascii_dump_load5.cc
+	  (1.11), tests/ascii_dump_load6.cc (1.8),
+	  tests/ascii_dump_load7.cc (1.9), tests/bgp99extrapolation1.cc
+	  (1.8), tests/bgp99extrapolation2.cc (1.9),
+	  tests/bhrz03widening1.cc (1.6), tests/bhrz03widening10.cc (1.5),
+	  tests/bhrz03widening11.cc (1.5), tests/bhrz03widening12.cc (1.6),
+	  tests/bhrz03widening13.cc (1.7), tests/bhrz03widening14.cc (1.9),
+	  tests/bhrz03widening15.cc (1.10), tests/bhrz03widening16.cc
+	  (1.6), tests/bhrz03widening17.cc (1.6), tests/bhrz03widening18.cc
+	  (1.6), tests/bhrz03widening19.cc (1.6), tests/bhrz03widening2.cc
+	  (1.8), tests/bhrz03widening3.cc (1.7), tests/bhrz03widening4.cc
+	  (1.5), tests/bhrz03widening5.cc (1.5), tests/bhrz03widening6.cc
+	  (1.7), tests/bhrz03widening7.cc (1.7), tests/bhrz03widening8.cc
+	  (1.6), tests/bhrz03widening9.cc (1.9), tests/bhz03widening1.cc
+	  (1.9), tests/bhz03widening2.cc (1.11), tests/bhz03widening3.cc
+	  (1.10), tests/bhz03widening4.cc (1.7), tests/bhz03widening5.cc
+	  (1.8), tests/bhz03widening6.cc (1.9), tests/bounded1.cc (1.15),
+	  tests/boundedh79extrapolation1.cc (1.3), tests/boundingbox1.cc
+	  (1.40), tests/boundingbox2.cc (1.24), tests/boundingbox3.cc
+	  (1.16), tests/boundingbox4.cc (1.13), tests/boundingbox5.cc
+	  (1.3), tests/bounds1.cc (1.8), tests/bounds2.cc (1.7),
+	  tests/concatenate1.cc (1.11), tests/concatenate2.cc (1.10),
+	  tests/concatenate3.cc (1.9), tests/concatenate4.cc (1.8),
+	  tests/concatenate5.cc (1.5), tests/concatenate6.cc (1.7),
+	  tests/constraints1.cc (1.8), tests/constraints2.cc (1.8),
+	  tests/constraints3.cc (1.9), tests/constraints4.cc (1.8),
+	  tests/contains1.cc (1.6), tests/contains2.cc (1.5),
+	  tests/contains3.cc (1.5), tests/contains4.cc (1.4),
+	  tests/contains5.cc (1.4), tests/disjoint1.cc (1.8),
+	  tests/disjoint2.cc (1.11), tests/disjoint3.cc (1.11),
+	  tests/dualhypercubes.cc (1.10), tests/empty1.cc (1.16),
+	  tests/equals1.cc (1.2), tests/exceptions1.cc (1.44),
+	  tests/exceptions2.cc (1.38), tests/exceptions3.cc (1.6),
+	  tests/expandspacedim1.cc (1.4), tests/expandspacedim2.cc (1.2),
+	  tests/foldspacedims1.cc (1.3), tests/foldspacedims2.cc (1.3),
+	  tests/generalizedaffineimage1.cc (1.9),
+	  tests/generalizedaffineimage10.cc (1.8),
+	  tests/generalizedaffineimage11.cc (1.7),
+	  tests/generalizedaffineimage12.cc (1.6),
+	  tests/generalizedaffineimage2.cc (1.8),
+	  tests/generalizedaffineimage3.cc (1.9),
+	  tests/generalizedaffineimage4.cc (1.7),
+	  tests/generalizedaffineimage5.cc (1.7),
+	  tests/generalizedaffineimage6.cc (1.7),
+	  tests/generalizedaffineimage7.cc (1.9),
+	  tests/generalizedaffineimage8.cc (1.7),
+	  tests/generalizedaffineimage9.cc (1.9), tests/generators1.cc
+	  (1.17), tests/generators2.cc (1.13), tests/generators3.cc (1.7),
+	  tests/generators4.cc (1.8), tests/generators5.cc (1.7),
+	  tests/generators6.cc (1.8), tests/geomcovers1.cc (1.3),
+	  tests/h79widening1.cc (1.7), tests/h79widening2.cc (1.8),
+	  tests/h79widening3.cc (1.8), tests/h79widening4.cc (1.6),
+	  tests/h79widening5.cc (1.6), tests/h79widening6.cc (1.8),
+	  tests/h79widening7.cc (1.4), tests/h79widening8.cc (1.3),
+	  tests/intersection1.cc (1.7), tests/intersection10.cc (1.7),
+	  tests/intersection11.cc (1.7), tests/intersection2.cc (1.13),
+	  tests/intersection3.cc (1.8), tests/intersection4.cc (1.9),
+	  tests/intersection5.cc (1.8), tests/intersection6.cc (1.9),
+	  tests/intersection7.cc (1.7), tests/intersection8.cc (1.6),
+	  tests/intersection9.cc (1.6),
+	  tests/limitedbhrz03extrapolation1.cc (1.6),
+	  tests/limitedh79extrapolation1.cc (1.5),
+	  tests/limitedh79extrapolation2.cc (1.5),
+	  tests/limitedh79extrapolation3.cc (1.6),
+	  tests/limitedh79extrapolation4.cc (1.6),
+	  tests/linearpartition1.cc (1.16), tests/linearpartition2.cc
+	  (1.16), tests/linearpartition3.cc (1.16),
+	  tests/linearpartition4.cc (1.4), tests/linexpression1.cc (1.6),
+	  tests/mapspacedims1.cc (1.3), tests/mapspacedims2.cc (1.2),
+	  tests/mapspacedims3.cc (1.2), tests/mapspacedims4.cc (1.2),
+	  tests/max_min1.cc (1.7), tests/max_min2.cc (1.7),
+	  tests/maxspacedim1.cc (1.6), tests/mc91.cc (1.16),
+	  tests/membytes1.cc (1.8), tests/membytes2.cc (1.4),
+	  tests/memory1.cc (1.24), tests/minconstraints1.cc (1.7),
+	  tests/minconstraints2.cc (1.7), tests/minconstraints3.cc (1.6),
+	  tests/minconstraints4.cc (1.10), tests/mingenerators1.cc (1.7),
+	  tests/mingenerators2.cc (1.6), tests/mingenerators3.cc (1.6),
+	  tests/onepoint.cc (1.11), tests/permute.cc (1.33),
+	  tests/polydifference1.cc (1.11), tests/polydifference2.cc (1.12),
+	  tests/polydifference3.cc (1.7), tests/polydifference4.cc (1.6),
+	  tests/polydifference5.cc (1.7), tests/polydifference6.cc (1.7),
+	  tests/polydifference7.cc (1.6), tests/polydifference8.cc (1.5),
+	  tests/polydifference9.cc (1.7), tests/polyhull1.cc (1.10),
+	  tests/polyhull10.cc (1.6), tests/polyhull11.cc (1.3),
+	  tests/polyhull2.cc (1.9), tests/polyhull3.cc (1.8),
+	  tests/polyhull4.cc (1.7), tests/polyhull5.cc (1.6),
+	  tests/polyhull6.cc (1.6), tests/polyhull7.cc (1.6),
+	  tests/polyhull8.cc (1.6), tests/polyhull9.cc (1.7),
+	  tests/ppl_test.hh (1.5), tests/randphull1.cc (1.14),
+	  tests/randphull2.cc (1.11), tests/relations1.cc (1.12),
+	  tests/relations10.cc (1.7), tests/relations11.cc (1.7),
+	  tests/relations12.cc (1.7), tests/relations13.cc (1.6),
+	  tests/relations14.cc (1.6), tests/relations15.cc (1.7),
+	  tests/relations16.cc (1.7), tests/relations17.cc (1.10),
+	  tests/relations18.cc (1.6), tests/relations19.cc (1.7),
+	  tests/relations2.cc (1.12), tests/relations3.cc (1.12),
+	  tests/relations4.cc (1.13), tests/relations5.cc (1.13),
+	  tests/relations6.cc (1.11), tests/relations7.cc (1.12),
+	  tests/relations8.cc (1.12), tests/relations9.cc (1.15),
+	  tests/removespacedims1.cc (1.3), tests/removespacedims10.cc
+	  (1.2), tests/removespacedims2.cc (1.4), tests/removespacedims3.cc
+	  (1.2), tests/removespacedims4.cc (1.3), tests/removespacedims5.cc
+	  (1.2), tests/removespacedims6.cc (1.2), tests/removespacedims7.cc
+	  (1.2), tests/removespacedims8.cc (1.3), tests/removespacedims9.cc
+	  (1.2), tests/smm1.cc (1.18), tests/timeelapse1.cc (1.10),
+	  tests/timeelapse2.cc (1.9), tests/timeelapse3.cc (1.11),
+	  tests/timeelapse4.cc (1.10), tests/timeelapse5.cc (1.10),
+	  tests/timeelapse6.cc (1.6), tests/timeelapse7.cc (1.5),
+	  tests/timeelapse8.cc (1.6), tests/timeelapse9.cc (1.2),
+	  tests/topclosed1.cc (1.8), tests/topclosed2.cc (1.8),
+	  tests/topclosed3.cc (1.10), tests/topclosure1.cc (1.9),
+	  tests/topclosure2.cc (1.5), tests/topclosure3.cc (1.5),
+	  tests/topclosure4.cc (1.7), tests/universe1.cc (1.11),
+	  tests/universe2.cc (1.12), tests/universe3.cc (1.13),
+	  tests/universe4.cc (1.13), tests/universe5.cc (1.13),
+	  tests/universe6.cc (1.12), tests/universe7.cc (1.3),
+	  tests/valgrind_suppressions (1.2), tests/watchdog1.cc (1.22),
+	  tests/writeconsys1.cc (1.10), tests/writegensys1.cc (1.10),
+	  tests/writegensys2.cc (1.10), tests/writegensys3.cc (1.10),
+	  tests/writepolyhedron1.cc (1.8), tests/writepolyhedron2.cc (1.9),
+	  tests/writepolyhedron3.cc (1.8), tests/writerelation1.cc (1.8),
+	  tests/writevariable1.cc (1.11), tests/BD_Shape/.cvsignore (1.2),
+	  tests/BD_Shape/Makefile.am (1.2),
+	  tests/BD_Shape/addconstraints1.cc (1.2),
+	  tests/BD_Shape/addspacedims1.cc (1.2),
+	  tests/BD_Shape/addspacedims2.cc (1.2),
+	  tests/BD_Shape/addspacedims3.cc (1.2),
+	  tests/BD_Shape/addspacedims4.cc (1.2),
+	  tests/BD_Shape/addspacedims5.cc (1.2),
+	  tests/BD_Shape/addspacedims6.cc (1.2),
+	  tests/BD_Shape/addspacedims7.cc (1.2),
+	  tests/BD_Shape/affineimage1.cc (1.2),
+	  tests/BD_Shape/affineimage2.cc (1.2),
+	  tests/BD_Shape/affineimage3.cc (1.2),
+	  tests/BD_Shape/affineimage4.cc (1.2),
+	  tests/BD_Shape/affineimage5.cc (1.2),
+	  tests/BD_Shape/affineimage6.cc (1.2),
+	  tests/BD_Shape/affineimage7.cc (1.2),
+	  tests/BD_Shape/affinepreimage1.cc (1.2),
+	  tests/BD_Shape/affinepreimage2.cc (1.2),
+	  tests/BD_Shape/affinepreimage3.cc (1.2),
+	  tests/BD_Shape/affinepreimage4.cc (1.2),
+	  tests/BD_Shape/ascii_dump_load1.cc (1.2),
+	  tests/BD_Shape/ascii_dump_load2.cc (1.2),
+	  tests/BD_Shape/cc76extrapolation1.cc (1.2),
+	  tests/BD_Shape/cc76extrapolation2.cc (1.2),
+	  tests/BD_Shape/cc76extrapolation3.cc (1.2),
+	  tests/BD_Shape/cc76extrapolation4.cc (1.2),
+	  tests/BD_Shape/cc76extrapolation5.cc (1.2),
+	  tests/BD_Shape/cc76extrapolation6.cc (1.2),
+	  tests/BD_Shape/cc76narrowing1.cc (1.2),
+	  tests/BD_Shape/cc76narrowing2.cc (1.2),
+	  tests/BD_Shape/cc76narrowing3.cc (1.2),
+	  tests/BD_Shape/cc76narrowing4.cc (1.2),
+	  tests/BD_Shape/cc76narrowing5.cc (1.2),
+	  tests/BD_Shape/ch78widening1.cc (1.2),
+	  tests/BD_Shape/ch78widening2.cc (1.2),
+	  tests/BD_Shape/ch78widening3.cc (1.2),
+	  tests/BD_Shape/ch78widening4.cc (1.2),
+	  tests/BD_Shape/ch78widening5.cc (1.2),
+	  tests/BD_Shape/ch78widening6.cc (1.2),
+	  tests/BD_Shape/ch78widening7.cc (1.2),
+	  tests/BD_Shape/ch78widening8.cc (1.2),
+	  tests/BD_Shape/concatenate1.cc (1.2),
+	  tests/BD_Shape/concatenate2.cc (1.2),
+	  tests/BD_Shape/concatenate3.cc (1.2),
+	  tests/BD_Shape/concatenate4.cc (1.2),
+	  tests/BD_Shape/concatenate5.cc (1.2),
+	  tests/BD_Shape/constraints1.cc (1.2),
+	  tests/BD_Shape/constraints2.cc (1.2), tests/BD_Shape/contains1.cc
+	  (1.2), tests/BD_Shape/contains2.cc (1.2),
+	  tests/BD_Shape/contains3.cc (1.2), tests/BD_Shape/empty1.cc
+	  (1.2), tests/BD_Shape/empty2.cc (1.2), tests/BD_Shape/empty3.cc
+	  (1.2), tests/BD_Shape/empty4.cc (1.2),
+	  tests/BD_Shape/equality1.cc (1.2), tests/BD_Shape/exceptions1.cc
+	  (1.2), tests/BD_Shape/exceptions2.cc (1.2),
+	  tests/BD_Shape/exceptions3.cc (1.2),
+	  tests/BD_Shape/generalizedaffineimage1.cc (1.2),
+	  tests/BD_Shape/generalizedaffineimage10.cc (1.2),
+	  tests/BD_Shape/generalizedaffineimage11.cc (1.2),
+	  tests/BD_Shape/generalizedaffineimage12.cc (1.2),
+	  tests/BD_Shape/generalizedaffineimage2.cc (1.2),
+	  tests/BD_Shape/generalizedaffineimage3.cc (1.2),
+	  tests/BD_Shape/generalizedaffineimage4.cc (1.2),
+	  tests/BD_Shape/generalizedaffineimage5.cc (1.2),
+	  tests/BD_Shape/generalizedaffineimage6.cc (1.2),
+	  tests/BD_Shape/generalizedaffineimage7.cc (1.2),
+	  tests/BD_Shape/generalizedaffineimage8.cc (1.2),
+	  tests/BD_Shape/generalizedaffineimage9.cc (1.2),
+	  tests/BD_Shape/h79widening1.cc (1.2),
+	  tests/BD_Shape/intersection1.cc (1.2),
+	  tests/BD_Shape/intersection2.cc (1.2),
+	  tests/BD_Shape/intersection3.cc (1.2),
+	  tests/BD_Shape/intersection4.cc (1.2),
+	  tests/BD_Shape/intersection5.cc (1.2),
+	  tests/BD_Shape/intersection6.cc (1.2),
+	  tests/BD_Shape/intersection7.cc (1.2),
+	  tests/BD_Shape/intersection8.cc (1.2),
+	  tests/BD_Shape/limitedCC76extrapolation1.cc (1.2),
+	  tests/BD_Shape/limitedCC76extrapolation2.cc (1.2),
+	  tests/BD_Shape/limitedCC76extrapolation3.cc (1.2),
+	  tests/BD_Shape/limitedCH78extrapolation1.cc (1.2),
+	  tests/BD_Shape/limitedCH78extrapolation2.cc (1.2),
+	  tests/BD_Shape/limitedCH78extrapolation3.cc (1.2),
+	  tests/BD_Shape/limitedCH78extrapolation4.cc (1.2),
+	  tests/BD_Shape/limitedCH78extrapolation5.cc (1.2),
+	  tests/BD_Shape/limitedCH78extrapolation6.cc (1.2),
+	  tests/BD_Shape/limitedCH78extrapolation7.cc (1.2),
+	  tests/BD_Shape/limitedCH78extrapolation8.cc (1.2),
+	  tests/BD_Shape/limitedCH78extrapolation9.cc (1.2),
+	  tests/BD_Shape/limitedh79extrapolation1.cc (1.2),
+	  tests/BD_Shape/mapspacedims1.cc (1.2),
+	  tests/BD_Shape/mapspacedims2.cc (1.2),
+	  tests/BD_Shape/mapspacedims3.cc (1.2),
+	  tests/BD_Shape/mapspacedims4.cc (1.2),
+	  tests/BD_Shape/maxspacedim.cc (1.2),
+	  tests/BD_Shape/polydifference1.cc (1.2),
+	  tests/BD_Shape/polydifference2.cc (1.2),
+	  tests/BD_Shape/polydifference3.cc (1.2),
+	  tests/BD_Shape/polydifference4.cc (1.2),
+	  tests/BD_Shape/polydifference5.cc (1.2),
+	  tests/BD_Shape/polydifference6.cc (1.2),
+	  tests/BD_Shape/polyhull1.cc (1.2), tests/BD_Shape/polyhull2.cc
+	  (1.2), tests/BD_Shape/polyhull3.cc (1.2),
+	  tests/BD_Shape/polyhull4.cc (1.2), tests/BD_Shape/relations1.cc
+	  (1.2), tests/BD_Shape/relations2.cc (1.2),
+	  tests/BD_Shape/relations3.cc (1.2), tests/BD_Shape/relations4.cc
+	  (1.2), tests/BD_Shape/relations5.cc (1.2),
+	  tests/BD_Shape/removespacedims1.cc (1.2),
+	  tests/BD_Shape/removespacedims2.cc (1.2),
+	  tests/BD_Shape/removespacedims3.cc (1.2),
+	  tests/BD_Shape/timeelapse1.cc (1.2),
+	  tests/BD_Shape/timeelapse2.cc (1.2),
+	  tests/BD_Shape/timeelapse3.cc (1.2),
+	  tests/BD_Shape/timeelapse4.cc (1.2),
+	  tests/BD_Shape/timeelapse5.cc (1.2), tests/BD_Shape/universe1.cc
+	  (1.2), tests/BD_Shape/writebdiffs1.cc (1.2),
+	  tests/BD_Shape/writebdiffs2.cc (1.2), tests/Polyhedron/.cvsignore
+	  (1.2), tests/Polyhedron/CbecomesNNC1.cc (1.2),
+	  tests/Polyhedron/Makefile.am (1.2),
+	  tests/Polyhedron/NNCbecomesC1.cc (1.2),
+	  tests/Polyhedron/NNCminimize1.cc (1.2),
+	  tests/Polyhedron/NNCminimize2.cc (1.2),
+	  tests/Polyhedron/NNCminimize3.cc (1.2),
+	  tests/Polyhedron/NNCminimize4.cc (1.2),
+	  tests/Polyhedron/NNCminimize5.cc (1.2),
+	  tests/Polyhedron/NNCminimize6.cc (1.2), tests/Polyhedron/README
+	  (1.2), tests/Polyhedron/addconstraint1.cc (1.2),
+	  tests/Polyhedron/addconstraint2.cc (1.2),
+	  tests/Polyhedron/addconstraint3.cc (1.2),
+	  tests/Polyhedron/addconstraints1.cc (1.2),
+	  tests/Polyhedron/addconstraints10.cc (1.2),
+	  tests/Polyhedron/addconstraints11.cc (1.2),
+	  tests/Polyhedron/addconstraints12.cc (1.2),
+	  tests/Polyhedron/addconstraints13.cc (1.2),
+	  tests/Polyhedron/addconstraints2.cc (1.2),
+	  tests/Polyhedron/addconstraints3.cc (1.2),
+	  tests/Polyhedron/addconstraints4.cc (1.2),
+	  tests/Polyhedron/addconstraints5.cc (1.2),
+	  tests/Polyhedron/addconstraints6.cc (1.2),
+	  tests/Polyhedron/addconstraints7.cc (1.2),
+	  tests/Polyhedron/addconstraints8.cc (1.2),
+	  tests/Polyhedron/addconstraints9.cc (1.2),
+	  tests/Polyhedron/addgenerator1.cc (1.2),
+	  tests/Polyhedron/addgenerator2.cc (1.2),
+	  tests/Polyhedron/addgenerator3.cc (1.2),
+	  tests/Polyhedron/addgenerator4.cc (1.2),
+	  tests/Polyhedron/addgenerator5.cc (1.2),
+	  tests/Polyhedron/addgenerators1.cc (1.2),
+	  tests/Polyhedron/addgenerators10.cc (1.2),
+	  tests/Polyhedron/addgenerators11.cc (1.2),
+	  tests/Polyhedron/addgenerators12.cc (1.2),
+	  tests/Polyhedron/addgenerators13.cc (1.2),
+	  tests/Polyhedron/addgenerators2.cc (1.2),
+	  tests/Polyhedron/addgenerators3.cc (1.2),
+	  tests/Polyhedron/addgenerators4.cc (1.2),
+	  tests/Polyhedron/addgenerators5.cc (1.2),
+	  tests/Polyhedron/addgenerators6.cc (1.2),
+	  tests/Polyhedron/addgenerators7.cc (1.2),
+	  tests/Polyhedron/addgenerators8.cc (1.2),
+	  tests/Polyhedron/addgenerators9.cc (1.2),
+	  tests/Polyhedron/addspacedims1.cc (1.2),
+	  tests/Polyhedron/addspacedims10.cc (1.2),
+	  tests/Polyhedron/addspacedims11.cc (1.2),
+	  tests/Polyhedron/addspacedims12.cc (1.2),
+	  tests/Polyhedron/addspacedims13.cc (1.2),
+	  tests/Polyhedron/addspacedims2.cc (1.2),
+	  tests/Polyhedron/addspacedims3.cc (1.2),
+	  tests/Polyhedron/addspacedims4.cc (1.2),
+	  tests/Polyhedron/addspacedims5.cc (1.2),
+	  tests/Polyhedron/addspacedims6.cc (1.2),
+	  tests/Polyhedron/addspacedims7.cc (1.2),
+	  tests/Polyhedron/addspacedims8.cc (1.2),
+	  tests/Polyhedron/addspacedims9.cc (1.2),
+	  tests/Polyhedron/affineimage1.cc (1.2),
+	  tests/Polyhedron/affineimage2.cc (1.2),
+	  tests/Polyhedron/affineimage3.cc (1.2),
+	  tests/Polyhedron/affineimage4.cc (1.2),
+	  tests/Polyhedron/affineimage5.cc (1.2),
+	  tests/Polyhedron/affineimage6.cc (1.2),
+	  tests/Polyhedron/affineimage7.cc (1.2),
+	  tests/Polyhedron/affineimage8.cc (1.2),
+	  tests/Polyhedron/affineimage9.cc (1.2),
+	  tests/Polyhedron/affinepreimage1.cc (1.2),
+	  tests/Polyhedron/affinepreimage10.cc (1.2),
+	  tests/Polyhedron/affinepreimage2.cc (1.2),
+	  tests/Polyhedron/affinepreimage3.cc (1.2),
+	  tests/Polyhedron/affinepreimage4.cc (1.2),
+	  tests/Polyhedron/affinepreimage5.cc (1.2),
+	  tests/Polyhedron/affinepreimage6.cc (1.2),
+	  tests/Polyhedron/affinepreimage7.cc (1.2),
+	  tests/Polyhedron/affinepreimage8.cc (1.2),
+	  tests/Polyhedron/affinepreimage9.cc (1.2),
+	  tests/Polyhedron/affinetrans.cc (1.2),
+	  tests/Polyhedron/append1.cc (1.2), tests/Polyhedron/append2.cc
+	  (1.2), tests/Polyhedron/ascii_dump_load1.cc (1.2),
+	  tests/Polyhedron/ascii_dump_load2.cc (1.2),
+	  tests/Polyhedron/ascii_dump_load3.cc (1.2),
+	  tests/Polyhedron/ascii_dump_load4.cc (1.2),
+	  tests/Polyhedron/ascii_dump_load5.cc (1.2),
+	  tests/Polyhedron/ascii_dump_load6.cc (1.2),
+	  tests/Polyhedron/ascii_dump_load7.cc (1.2),
+	  tests/Polyhedron/bgp99extrapolation1.cc (1.2),
+	  tests/Polyhedron/bgp99extrapolation2.cc (1.2),
+	  tests/Polyhedron/bhrz03widening1.cc (1.2),
+	  tests/Polyhedron/bhrz03widening10.cc (1.2),
+	  tests/Polyhedron/bhrz03widening11.cc (1.2),
+	  tests/Polyhedron/bhrz03widening12.cc (1.2),
+	  tests/Polyhedron/bhrz03widening13.cc (1.2),
+	  tests/Polyhedron/bhrz03widening14.cc (1.2),
+	  tests/Polyhedron/bhrz03widening15.cc (1.2),
+	  tests/Polyhedron/bhrz03widening16.cc (1.2),
+	  tests/Polyhedron/bhrz03widening17.cc (1.2),
+	  tests/Polyhedron/bhrz03widening18.cc (1.2),
+	  tests/Polyhedron/bhrz03widening19.cc (1.2),
+	  tests/Polyhedron/bhrz03widening2.cc (1.2),
+	  tests/Polyhedron/bhrz03widening3.cc (1.2),
+	  tests/Polyhedron/bhrz03widening4.cc (1.2),
+	  tests/Polyhedron/bhrz03widening5.cc (1.2),
+	  tests/Polyhedron/bhrz03widening6.cc (1.2),
+	  tests/Polyhedron/bhrz03widening7.cc (1.2),
+	  tests/Polyhedron/bhrz03widening8.cc (1.2),
+	  tests/Polyhedron/bhrz03widening9.cc (1.2),
+	  tests/Polyhedron/bhz03widening1.cc (1.2),
+	  tests/Polyhedron/bhz03widening2.cc (1.2),
+	  tests/Polyhedron/bhz03widening3.cc (1.2),
+	  tests/Polyhedron/bhz03widening4.cc (1.2),
+	  tests/Polyhedron/bhz03widening5.cc (1.2),
+	  tests/Polyhedron/bhz03widening6.cc (1.2),
+	  tests/Polyhedron/bounded1.cc (1.2),
+	  tests/Polyhedron/boundedh79extrapolation1.cc (1.2),
+	  tests/Polyhedron/boundingbox1.cc (1.2),
+	  tests/Polyhedron/boundingbox2.cc (1.2),
+	  tests/Polyhedron/boundingbox3.cc (1.2),
+	  tests/Polyhedron/boundingbox4.cc (1.2),
+	  tests/Polyhedron/boundingbox5.cc (1.2),
+	  tests/Polyhedron/bounds1.cc (1.2), tests/Polyhedron/bounds2.cc
+	  (1.2), tests/Polyhedron/concatenate1.cc (1.2),
+	  tests/Polyhedron/concatenate2.cc (1.2),
+	  tests/Polyhedron/concatenate3.cc (1.2),
+	  tests/Polyhedron/concatenate4.cc (1.2),
+	  tests/Polyhedron/concatenate5.cc (1.2),
+	  tests/Polyhedron/concatenate6.cc (1.2),
+	  tests/Polyhedron/constraints1.cc (1.2),
+	  tests/Polyhedron/constraints2.cc (1.2),
+	  tests/Polyhedron/constraints3.cc (1.2),
+	  tests/Polyhedron/constraints4.cc (1.2),
+	  tests/Polyhedron/contains1.cc (1.2),
+	  tests/Polyhedron/contains2.cc (1.2),
+	  tests/Polyhedron/contains3.cc (1.2),
+	  tests/Polyhedron/contains4.cc (1.2),
+	  tests/Polyhedron/contains5.cc (1.2),
+	  tests/Polyhedron/disjoint1.cc (1.2),
+	  tests/Polyhedron/disjoint2.cc (1.2),
+	  tests/Polyhedron/disjoint3.cc (1.2),
+	  tests/Polyhedron/dualhypercubes.cc (1.2),
+	  tests/Polyhedron/empty1.cc (1.2), tests/Polyhedron/equals1.cc
+	  (1.2), tests/Polyhedron/exceptions1.cc (1.2),
+	  tests/Polyhedron/exceptions2.cc (1.2),
+	  tests/Polyhedron/exceptions3.cc (1.2),
+	  tests/Polyhedron/expandspacedim1.cc (1.2),
+	  tests/Polyhedron/expandspacedim2.cc (1.2),
+	  tests/Polyhedron/foldspacedims1.cc (1.2),
+	  tests/Polyhedron/foldspacedims2.cc (1.2),
+	  tests/Polyhedron/generalizedaffineimage1.cc (1.2),
+	  tests/Polyhedron/generalizedaffineimage10.cc (1.2),
+	  tests/Polyhedron/generalizedaffineimage11.cc (1.2),
+	  tests/Polyhedron/generalizedaffineimage12.cc (1.2),
+	  tests/Polyhedron/generalizedaffineimage2.cc (1.2),
+	  tests/Polyhedron/generalizedaffineimage3.cc (1.2),
+	  tests/Polyhedron/generalizedaffineimage4.cc (1.2),
+	  tests/Polyhedron/generalizedaffineimage5.cc (1.2),
+	  tests/Polyhedron/generalizedaffineimage6.cc (1.2),
+	  tests/Polyhedron/generalizedaffineimage7.cc (1.2),
+	  tests/Polyhedron/generalizedaffineimage8.cc (1.2),
+	  tests/Polyhedron/generalizedaffineimage9.cc (1.2),
+	  tests/Polyhedron/generators1.cc (1.2),
+	  tests/Polyhedron/generators2.cc (1.2),
+	  tests/Polyhedron/generators3.cc (1.2),
+	  tests/Polyhedron/generators4.cc (1.2),
+	  tests/Polyhedron/generators5.cc (1.2),
+	  tests/Polyhedron/generators6.cc (1.2),
+	  tests/Polyhedron/geomcovers1.cc (1.2),
+	  tests/Polyhedron/h79widening1.cc (1.2),
+	  tests/Polyhedron/h79widening2.cc (1.2),
+	  tests/Polyhedron/h79widening3.cc (1.2),
+	  tests/Polyhedron/h79widening4.cc (1.2),
+	  tests/Polyhedron/h79widening5.cc (1.2),
+	  tests/Polyhedron/h79widening6.cc (1.2),
+	  tests/Polyhedron/h79widening7.cc (1.2),
+	  tests/Polyhedron/h79widening8.cc (1.2),
+	  tests/Polyhedron/intersection1.cc (1.2),
+	  tests/Polyhedron/intersection10.cc (1.2),
+	  tests/Polyhedron/intersection11.cc (1.2),
+	  tests/Polyhedron/intersection2.cc (1.2),
+	  tests/Polyhedron/intersection3.cc (1.2),
+	  tests/Polyhedron/intersection4.cc (1.2),
+	  tests/Polyhedron/intersection5.cc (1.2),
+	  tests/Polyhedron/intersection6.cc (1.2),
+	  tests/Polyhedron/intersection7.cc (1.2),
+	  tests/Polyhedron/intersection8.cc (1.2),
+	  tests/Polyhedron/intersection9.cc (1.2),
+	  tests/Polyhedron/limitedbhrz03extrapolation1.cc (1.2),
+	  tests/Polyhedron/limitedh79extrapolation1.cc (1.2),
+	  tests/Polyhedron/limitedh79extrapolation2.cc (1.2),
+	  tests/Polyhedron/limitedh79extrapolation3.cc (1.2),
+	  tests/Polyhedron/limitedh79extrapolation4.cc (1.2),
+	  tests/Polyhedron/linearpartition1.cc (1.2),
+	  tests/Polyhedron/linearpartition2.cc (1.2),
+	  tests/Polyhedron/linearpartition3.cc (1.2),
+	  tests/Polyhedron/linearpartition4.cc (1.2),
+	  tests/Polyhedron/linexpression1.cc (1.2),
+	  tests/Polyhedron/mapspacedims1.cc (1.2),
+	  tests/Polyhedron/mapspacedims2.cc (1.2),
+	  tests/Polyhedron/mapspacedims3.cc (1.2),
+	  tests/Polyhedron/mapspacedims4.cc (1.2),
+	  tests/Polyhedron/max_min1.cc (1.2), tests/Polyhedron/max_min2.cc
+	  (1.2), tests/Polyhedron/maxspacedim1.cc (1.2),
+	  tests/Polyhedron/mc91.cc (1.2), tests/Polyhedron/membytes1.cc
+	  (1.2), tests/Polyhedron/membytes2.cc (1.2),
+	  tests/Polyhedron/memory1.cc (1.2),
+	  tests/Polyhedron/minconstraints1.cc (1.2),
+	  tests/Polyhedron/minconstraints2.cc (1.2),
+	  tests/Polyhedron/minconstraints3.cc (1.2),
+	  tests/Polyhedron/minconstraints4.cc (1.2),
+	  tests/Polyhedron/mingenerators1.cc (1.2),
+	  tests/Polyhedron/mingenerators2.cc (1.2),
+	  tests/Polyhedron/mingenerators3.cc (1.2),
+	  tests/Polyhedron/onepoint.cc (1.2), tests/Polyhedron/permute.cc
+	  (1.2), tests/Polyhedron/polydifference1.cc (1.2),
+	  tests/Polyhedron/polydifference2.cc (1.2),
+	  tests/Polyhedron/polydifference3.cc (1.2),
+	  tests/Polyhedron/polydifference4.cc (1.2),
+	  tests/Polyhedron/polydifference5.cc (1.2),
+	  tests/Polyhedron/polydifference6.cc (1.2),
+	  tests/Polyhedron/polydifference7.cc (1.2),
+	  tests/Polyhedron/polydifference8.cc (1.2),
+	  tests/Polyhedron/polydifference9.cc (1.2),
+	  tests/Polyhedron/polyhull1.cc (1.2),
+	  tests/Polyhedron/polyhull10.cc (1.2),
+	  tests/Polyhedron/polyhull11.cc (1.2),
+	  tests/Polyhedron/polyhull2.cc (1.2),
+	  tests/Polyhedron/polyhull3.cc (1.2),
+	  tests/Polyhedron/polyhull4.cc (1.2),
+	  tests/Polyhedron/polyhull5.cc (1.2),
+	  tests/Polyhedron/polyhull6.cc (1.2),
+	  tests/Polyhedron/polyhull7.cc (1.2),
+	  tests/Polyhedron/polyhull8.cc (1.2),
+	  tests/Polyhedron/polyhull9.cc (1.2),
+	  tests/Polyhedron/randphull1.cc (1.2),
+	  tests/Polyhedron/randphull2.cc (1.2),
+	  tests/Polyhedron/relations1.cc (1.2),
+	  tests/Polyhedron/relations10.cc (1.2),
+	  tests/Polyhedron/relations11.cc (1.2),
+	  tests/Polyhedron/relations12.cc (1.2),
+	  tests/Polyhedron/relations13.cc (1.2),
+	  tests/Polyhedron/relations14.cc (1.2),
+	  tests/Polyhedron/relations15.cc (1.2),
+	  tests/Polyhedron/relations16.cc (1.2),
+	  tests/Polyhedron/relations17.cc (1.2),
+	  tests/Polyhedron/relations18.cc (1.2),
+	  tests/Polyhedron/relations19.cc (1.2),
+	  tests/Polyhedron/relations2.cc (1.2),
+	  tests/Polyhedron/relations3.cc (1.2),
+	  tests/Polyhedron/relations4.cc (1.2),
+	  tests/Polyhedron/relations5.cc (1.2),
+	  tests/Polyhedron/relations6.cc (1.2),
+	  tests/Polyhedron/relations7.cc (1.2),
+	  tests/Polyhedron/relations8.cc (1.2),
+	  tests/Polyhedron/relations9.cc (1.2),
+	  tests/Polyhedron/removespacedims1.cc (1.2),
+	  tests/Polyhedron/removespacedims10.cc (1.2),
+	  tests/Polyhedron/removespacedims2.cc (1.2),
+	  tests/Polyhedron/removespacedims3.cc (1.2),
+	  tests/Polyhedron/removespacedims4.cc (1.2),
+	  tests/Polyhedron/removespacedims5.cc (1.2),
+	  tests/Polyhedron/removespacedims6.cc (1.2),
+	  tests/Polyhedron/removespacedims7.cc (1.2),
+	  tests/Polyhedron/removespacedims8.cc (1.2),
+	  tests/Polyhedron/removespacedims9.cc (1.2),
+	  tests/Polyhedron/smm1.cc (1.2), tests/Polyhedron/timeelapse1.cc
+	  (1.2), tests/Polyhedron/timeelapse2.cc (1.2),
+	  tests/Polyhedron/timeelapse3.cc (1.2),
+	  tests/Polyhedron/timeelapse4.cc (1.2),
+	  tests/Polyhedron/timeelapse5.cc (1.2),
+	  tests/Polyhedron/timeelapse6.cc (1.2),
+	  tests/Polyhedron/timeelapse7.cc (1.2),
+	  tests/Polyhedron/timeelapse8.cc (1.2),
+	  tests/Polyhedron/timeelapse9.cc (1.2),
+	  tests/Polyhedron/topclosed1.cc (1.2),
+	  tests/Polyhedron/topclosed2.cc (1.2),
+	  tests/Polyhedron/topclosed3.cc (1.2),
+	  tests/Polyhedron/topclosure1.cc (1.2),
+	  tests/Polyhedron/topclosure2.cc (1.2),
+	  tests/Polyhedron/topclosure3.cc (1.2),
+	  tests/Polyhedron/topclosure4.cc (1.2),
+	  tests/Polyhedron/universe1.cc (1.2),
+	  tests/Polyhedron/universe2.cc (1.2),
+	  tests/Polyhedron/universe3.cc (1.2),
+	  tests/Polyhedron/universe4.cc (1.2),
+	  tests/Polyhedron/universe5.cc (1.2),
+	  tests/Polyhedron/universe6.cc (1.2),
+	  tests/Polyhedron/universe7.cc (1.2),
+	  tests/Polyhedron/valgrind_suppressions (1.2),
+	  tests/Polyhedron/watchdog1.cc (1.2),
+	  tests/Polyhedron/writeconsys1.cc (1.2),
+	  tests/Polyhedron/writegensys1.cc (1.2),
+	  tests/Polyhedron/writegensys2.cc (1.2),
+	  tests/Polyhedron/writegensys3.cc (1.2),
+	  tests/Polyhedron/writepolyhedron1.cc (1.2),
+	  tests/Polyhedron/writepolyhedron2.cc (1.2),
+	  tests/Polyhedron/writepolyhedron3.cc (1.2),
+	  tests/Polyhedron/writerelation1.cc (1.2),
+	  tests/Polyhedron/writevariable1.cc (1.2): Second merge from the
+	  `altnum' branch.
+
+2004-12-28 Tuesday 20:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* STANDARDS (1.21): Anonymous namespaces hve to do with visibility
+	  of names, not linkage.
+
+2004-12-28 Tuesday 20:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/: track_allocation.hh (1.15), Ciao/ppl_ciao.cc
+	  (1.28), GNU/ppl_gprolog_sd.cc (1.24), SICStus/ppl_sicstus_sd.cc
+	  (1.71), SWI/ppl_swiprolog.cc (1.95), XSB/ppl_xsb.cc (1.62),
+	  YAP/ppl_yap.cc (1.87): Use anonymous namespaces instead of
+	  keyword "static" to hide functions and variables from the eyes of
+	  other translation units.
+
+2004-12-28 Tuesday 19:39  Abramo Bagnara
+
+	* src/: Extended_Number.defs.hh, Extended_Number.inlines.hh,
+	  Extended_Number.types.hh (altnum.[1,1,1]): Added preliminary
+	  Extended_Number implementation.
+
+2004-12-28 Tuesday 19:36  Abramo Bagnara
+
+	* src/: E_Rational.inlines.hh, Interval.inlines.hh,
+	  Polyhedron_nonpublic.cc (altnum.[2,9,12]): Fixed some
+	  Checked::assign use.
+
+2004-12-28 Tuesday 18:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/: exceptions2.cc, exceptions3.cc (altnum.[3,3]):
+	  Refer to `Coefficient' instead of `Integer'.
+
+2004-12-28 Tuesday 18:35  Abramo Bagnara
+
+	* src/checked.defs.hh (altnum.25): Fixed incomplete change of
+	  return type for set_special.
+
+2004-12-28 Tuesday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/.cvsignore (altnum.1): Put under CVS control.
+
+2004-12-28 Tuesday 18:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* STANDARDS (1.20): Added guideline for the specification of
+	  internal linkage functions and variables.
+
+2004-12-28 Tuesday 18:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/: NNCbecomesC1.cc, addconstraints13.cc,
+	  addgenerators12.cc, affineimage8.cc, affinepreimage10.cc,
+	  affinepreimage9.cc, append1.cc, append2.cc, ascii_dump_load1.cc,
+	  ascii_dump_load2.cc, ascii_dump_load3.cc, ascii_dump_load4.cc,
+	  ascii_dump_load5.cc, ascii_dump_load6.cc, ascii_dump_load7.cc,
+	  bhrz03widening1.cc, bhrz03widening12.cc, bhrz03widening13.cc,
+	  bhrz03widening14.cc, bhrz03widening15.cc, bhrz03widening9.cc,
+	  bhz03widening6.cc, boundingbox1.cc, boundingbox2.cc,
+	  boundingbox3.cc, boundingbox4.cc, concatenate6.cc,
+	  constraints4.cc, contains5.cc, disjoint2.cc, disjoint3.cc,
+	  exceptions1.cc, exceptions2.cc, exceptions3.cc,
+	  expandspacedim1.cc, expandspacedim2.cc, foldspacedims1.cc,
+	  foldspacedims2.cc, generalizedaffineimage10.cc,
+	  generalizedaffineimage11.cc, generalizedaffineimage7.cc,
+	  generalizedaffineimage9.cc, generators6.cc, h79widening1.cc,
+	  intersection10.cc, intersection11.cc, intersection2.cc,
+	  intersection7.cc, limitedh79extrapolation4.cc,
+	  linearpartition1.cc, linearpartition2.cc, linearpartition3.cc,
+	  mapspacedims1.cc, mapspacedims2.cc, mapspacedims3.cc,
+	  mapspacedims4.cc, membytes1.cc, membytes2.cc, memory1.cc,
+	  permute.cc, polydifference7.cc, polydifference9.cc, polyhull4.cc,
+	  polyhull8.cc, polyhull9.cc, randphull1.cc, randphull2.cc,
+	  relations17.cc, relations19.cc, relations9.cc, smm1.cc,
+	  topclosure4.cc, watchdog1.cc, writeconsys1.cc, writegensys1.cc,
+	  writegensys2.cc, writegensys3.cc, writepolyhedron1.cc,
+	  writepolyhedron2.cc, writepolyhedron3.cc, writerelation1.cc,
+	  writevariable1.cc
+	  (altnum.[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,3,2,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,2,2,2,2,2,2,2,2,3,2,2,2,2,2,2,2,2,2]):
+	  Prefer using anonymous namespace to specify internal linkage.
+
+2004-12-28 Tuesday 17:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (altnum.3): New implementation for
+	  BD_Shape<T>::relation_with(const Generator& g).
+
+2004-12-28 Tuesday 17:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/affinepreimage1.cc (altnum.3): Typo fixed.
+
+2004-12-28 Tuesday 17:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BDS_Status.idefs.hh, src/BDS_Status.inlines.hh,
+	  src/BD_Shape.defs.hh, tests/BD_Shape/addconstraints1.cc,
+	  tests/BD_Shape/addspacedims1.cc, tests/BD_Shape/addspacedims2.cc,
+	  tests/BD_Shape/addspacedims3.cc, tests/BD_Shape/addspacedims4.cc,
+	  tests/BD_Shape/addspacedims5.cc, tests/BD_Shape/addspacedims6.cc,
+	  tests/BD_Shape/addspacedims7.cc, tests/BD_Shape/affineimage1.cc,
+	  tests/BD_Shape/affineimage2.cc, tests/BD_Shape/affineimage3.cc,
+	  tests/BD_Shape/affineimage4.cc, tests/BD_Shape/affineimage5.cc,
+	  tests/BD_Shape/affineimage6.cc, tests/BD_Shape/affineimage7.cc,
+	  tests/BD_Shape/affinepreimage1.cc,
+	  tests/BD_Shape/affinepreimage2.cc,
+	  tests/BD_Shape/affinepreimage3.cc,
+	  tests/BD_Shape/affinepreimage4.cc,
+	  tests/BD_Shape/ascii_dump_load1.cc,
+	  tests/BD_Shape/ascii_dump_load2.cc,
+	  tests/BD_Shape/cc76extrapolation1.cc,
+	  tests/BD_Shape/cc76extrapolation2.cc,
+	  tests/BD_Shape/cc76extrapolation3.cc,
+	  tests/BD_Shape/cc76extrapolation4.cc,
+	  tests/BD_Shape/cc76extrapolation5.cc,
+	  tests/BD_Shape/cc76extrapolation6.cc,
+	  tests/BD_Shape/cc76narrowing1.cc,
+	  tests/BD_Shape/cc76narrowing2.cc,
+	  tests/BD_Shape/cc76narrowing3.cc,
+	  tests/BD_Shape/cc76narrowing4.cc,
+	  tests/BD_Shape/cc76narrowing5.cc,
+	  tests/BD_Shape/ch78widening1.cc, tests/BD_Shape/ch78widening2.cc,
+	  tests/BD_Shape/ch78widening3.cc, tests/BD_Shape/ch78widening4.cc,
+	  tests/BD_Shape/ch78widening5.cc, tests/BD_Shape/ch78widening6.cc,
+	  tests/BD_Shape/ch78widening7.cc, tests/BD_Shape/ch78widening8.cc,
+	  tests/BD_Shape/concatenate1.cc, tests/BD_Shape/concatenate2.cc,
+	  tests/BD_Shape/concatenate3.cc, tests/BD_Shape/concatenate4.cc,
+	  tests/BD_Shape/concatenate5.cc, tests/BD_Shape/constraints1.cc,
+	  tests/BD_Shape/constraints2.cc, tests/BD_Shape/contains1.cc,
+	  tests/BD_Shape/contains2.cc, tests/BD_Shape/contains3.cc,
+	  tests/BD_Shape/empty1.cc, tests/BD_Shape/empty2.cc,
+	  tests/BD_Shape/empty3.cc, tests/BD_Shape/empty4.cc,
+	  tests/BD_Shape/equality1.cc, tests/BD_Shape/exceptions1.cc,
+	  tests/BD_Shape/exceptions2.cc, tests/BD_Shape/exceptions3.cc,
+	  tests/BD_Shape/generalizedaffineimage1.cc,
+	  tests/BD_Shape/generalizedaffineimage10.cc,
+	  tests/BD_Shape/generalizedaffineimage11.cc,
+	  tests/BD_Shape/generalizedaffineimage12.cc,
+	  tests/BD_Shape/generalizedaffineimage2.cc,
+	  tests/BD_Shape/generalizedaffineimage3.cc,
+	  tests/BD_Shape/generalizedaffineimage4.cc,
+	  tests/BD_Shape/generalizedaffineimage5.cc,
+	  tests/BD_Shape/generalizedaffineimage6.cc,
+	  tests/BD_Shape/generalizedaffineimage7.cc,
+	  tests/BD_Shape/generalizedaffineimage8.cc,
+	  tests/BD_Shape/generalizedaffineimage9.cc,
+	  tests/BD_Shape/h79widening1.cc, tests/BD_Shape/intersection1.cc,
+	  tests/BD_Shape/intersection2.cc, tests/BD_Shape/intersection3.cc,
+	  tests/BD_Shape/intersection4.cc, tests/BD_Shape/intersection5.cc,
+	  tests/BD_Shape/intersection6.cc, tests/BD_Shape/intersection7.cc,
+	  tests/BD_Shape/intersection8.cc,
+	  tests/BD_Shape/limitedCC76extrapolation1.cc,
+	  tests/BD_Shape/limitedCC76extrapolation2.cc,
+	  tests/BD_Shape/limitedCC76extrapolation3.cc,
+	  tests/BD_Shape/limitedCH78extrapolation1.cc,
+	  tests/BD_Shape/limitedCH78extrapolation2.cc,
+	  tests/BD_Shape/limitedCH78extrapolation3.cc,
+	  tests/BD_Shape/limitedCH78extrapolation4.cc,
+	  tests/BD_Shape/limitedCH78extrapolation5.cc,
+	  tests/BD_Shape/limitedCH78extrapolation6.cc,
+	  tests/BD_Shape/limitedCH78extrapolation7.cc,
+	  tests/BD_Shape/limitedCH78extrapolation8.cc,
+	  tests/BD_Shape/limitedCH78extrapolation9.cc,
+	  tests/BD_Shape/limitedh79extrapolation1.cc,
+	  tests/BD_Shape/mapspacedims1.cc, tests/BD_Shape/mapspacedims2.cc,
+	  tests/BD_Shape/mapspacedims3.cc, tests/BD_Shape/mapspacedims4.cc,
+	  tests/BD_Shape/maxspacedim.cc, tests/BD_Shape/polydifference1.cc,
+	  tests/BD_Shape/polydifference2.cc,
+	  tests/BD_Shape/polydifference3.cc,
+	  tests/BD_Shape/polydifference4.cc,
+	  tests/BD_Shape/polydifference5.cc,
+	  tests/BD_Shape/polydifference6.cc, tests/BD_Shape/polyhull1.cc,
+	  tests/BD_Shape/polyhull2.cc, tests/BD_Shape/polyhull3.cc,
+	  tests/BD_Shape/polyhull4.cc, tests/BD_Shape/relations1.cc,
+	  tests/BD_Shape/relations2.cc, tests/BD_Shape/relations3.cc,
+	  tests/BD_Shape/relations4.cc, tests/BD_Shape/relations5.cc,
+	  tests/BD_Shape/universe1.cc, tests/BD_Shape/writebdiffs1.cc,
+	  tests/BD_Shape/writebdiffs2.cc
+	  (altnum.[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2]):
+	  No longer mention `BDiffs'.
+
+2004-12-28 Tuesday 17:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (altnum.21): Deal correctly with nested include
+	  files.
+
+2004-12-28 Tuesday 17:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh (altnum.2): Added the required template
+	  function min_assign(T& x, const T& y).
+
+2004-12-28 Tuesday 16:51  Abramo Bagnara
+
+	* src/: checked.defs.hh, checked_ext.inlines.hh,
+	  checked_float.inlines.hh, checked_int.inlines.hh,
+	  checked_mpq.inlines.hh, checked_mpz.inlines.hh
+	  (altnum.[24,3,16,25,18,21]): Changed lowlevel set_special to
+	  return Result info.
+
+2004-12-28 Tuesday 16:28  Abramo Bagnara
+
+	* src/E_NIT.inlines.hh (altnum.3): Added missing rounding argument.
+
+2004-12-28 Tuesday 16:21  Abramo Bagnara
+
+	* src/checked.defs.hh (altnum.23): Documentation fix.
+
+2004-12-28 Tuesday 16:19  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh
+	  (altnum.[16,17]): Transformed helper function in static method.
+
+2004-12-28 Tuesday 16:18  Abramo Bagnara
+
+	* src/checked_ext.inlines.hh (altnum.2): Removed useless function.
+
+2004-12-28 Tuesday 16:17  Abramo Bagnara
+
+	* src/checked_int.inlines.hh (altnum.24): Added policy dependance
+	  to special values.
+
+2004-12-28 Tuesday 16:16  Abramo Bagnara
+
+	* configure.ac (altnum.18): Renamed gmp option value to mpz
+
+2004-12-28 Tuesday 16:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/E_NIT.inlines.hh (altnum.2): Failed attempt to fix a problem
+	  with E_NIT (the build is still broken).
+
+2004-12-28 Tuesday 16:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (altnum.17): Configure the `tests/BD_Shape'
+	  directory.
+
+2004-12-28 Tuesday 16:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am, ppl_test.hh, BD_Shape/Makefile.am,
+	  BD_Shape/addconstraints1.cc, BD_Shape/addspacedims1.cc,
+	  BD_Shape/addspacedims2.cc, BD_Shape/addspacedims3.cc,
+	  BD_Shape/addspacedims4.cc, BD_Shape/addspacedims5.cc,
+	  BD_Shape/addspacedims6.cc, BD_Shape/addspacedims7.cc,
+	  BD_Shape/affineimage1.cc, BD_Shape/affineimage2.cc,
+	  BD_Shape/affineimage3.cc, BD_Shape/affineimage4.cc,
+	  BD_Shape/affineimage5.cc, BD_Shape/affineimage6.cc,
+	  BD_Shape/affineimage7.cc, BD_Shape/affinepreimage1.cc,
+	  BD_Shape/affinepreimage2.cc, BD_Shape/affinepreimage3.cc,
+	  BD_Shape/affinepreimage4.cc, BD_Shape/ascii_dump_load1.cc,
+	  BD_Shape/ascii_dump_load2.cc, BD_Shape/cc76extrapolation1.cc,
+	  BD_Shape/cc76extrapolation2.cc, BD_Shape/cc76extrapolation3.cc,
+	  BD_Shape/cc76extrapolation4.cc, BD_Shape/cc76extrapolation5.cc,
+	  BD_Shape/cc76extrapolation6.cc, BD_Shape/cc76narrowing1.cc,
+	  BD_Shape/cc76narrowing2.cc, BD_Shape/cc76narrowing3.cc,
+	  BD_Shape/cc76narrowing4.cc, BD_Shape/cc76narrowing5.cc,
+	  BD_Shape/ch78widening1.cc, BD_Shape/ch78widening2.cc,
+	  BD_Shape/ch78widening3.cc, BD_Shape/ch78widening4.cc,
+	  BD_Shape/ch78widening5.cc, BD_Shape/ch78widening6.cc,
+	  BD_Shape/ch78widening7.cc, BD_Shape/ch78widening8.cc,
+	  BD_Shape/concatenate1.cc, BD_Shape/concatenate2.cc,
+	  BD_Shape/concatenate3.cc, BD_Shape/concatenate4.cc,
+	  BD_Shape/concatenate5.cc, BD_Shape/constraints1.cc,
+	  BD_Shape/constraints2.cc, BD_Shape/contains1.cc,
+	  BD_Shape/contains2.cc, BD_Shape/contains3.cc, BD_Shape/empty1.cc,
+	  BD_Shape/empty2.cc, BD_Shape/empty3.cc, BD_Shape/empty4.cc,
+	  BD_Shape/equality1.cc, BD_Shape/exceptions1.cc,
+	  BD_Shape/exceptions2.cc, BD_Shape/exceptions3.cc,
+	  BD_Shape/generalizedaffineimage1.cc,
+	  BD_Shape/generalizedaffineimage10.cc,
+	  BD_Shape/generalizedaffineimage11.cc,
+	  BD_Shape/generalizedaffineimage12.cc,
+	  BD_Shape/generalizedaffineimage2.cc,
+	  BD_Shape/generalizedaffineimage3.cc,
+	  BD_Shape/generalizedaffineimage4.cc,
+	  BD_Shape/generalizedaffineimage5.cc,
+	  BD_Shape/generalizedaffineimage6.cc,
+	  BD_Shape/generalizedaffineimage7.cc,
+	  BD_Shape/generalizedaffineimage8.cc,
+	  BD_Shape/generalizedaffineimage9.cc, BD_Shape/h79widening1.cc,
+	  BD_Shape/intersection1.cc, BD_Shape/intersection2.cc,
+	  BD_Shape/intersection3.cc, BD_Shape/intersection4.cc,
+	  BD_Shape/intersection5.cc, BD_Shape/intersection6.cc,
+	  BD_Shape/intersection7.cc, BD_Shape/intersection8.cc,
+	  BD_Shape/limitedCC76extrapolation1.cc,
+	  BD_Shape/limitedCC76extrapolation2.cc,
+	  BD_Shape/limitedCC76extrapolation3.cc,
+	  BD_Shape/limitedCH78extrapolation1.cc,
+	  BD_Shape/limitedCH78extrapolation2.cc,
+	  BD_Shape/limitedCH78extrapolation3.cc,
+	  BD_Shape/limitedCH78extrapolation4.cc,
+	  BD_Shape/limitedCH78extrapolation5.cc,
+	  BD_Shape/limitedCH78extrapolation6.cc,
+	  BD_Shape/limitedCH78extrapolation7.cc,
+	  BD_Shape/limitedCH78extrapolation8.cc,
+	  BD_Shape/limitedCH78extrapolation9.cc,
+	  BD_Shape/limitedh79extrapolation1.cc, BD_Shape/mapspacedims1.cc,
+	  BD_Shape/mapspacedims2.cc, BD_Shape/mapspacedims3.cc,
+	  BD_Shape/mapspacedims4.cc, BD_Shape/maxspacedim.cc,
+	  BD_Shape/polydifference1.cc, BD_Shape/polydifference2.cc,
+	  BD_Shape/polydifference3.cc, BD_Shape/polydifference4.cc,
+	  BD_Shape/polydifference5.cc, BD_Shape/polydifference6.cc,
+	  BD_Shape/polyhull1.cc, BD_Shape/polyhull2.cc,
+	  BD_Shape/polyhull3.cc, BD_Shape/polyhull4.cc,
+	  BD_Shape/relations1.cc, BD_Shape/relations2.cc,
+	  BD_Shape/relations3.cc, BD_Shape/relations4.cc,
+	  BD_Shape/relations5.cc, BD_Shape/removespacedims1.cc,
+	  BD_Shape/removespacedims2.cc, BD_Shape/removespacedims3.cc,
+	  BD_Shape/timeelapse1.cc, BD_Shape/timeelapse2.cc,
+	  BD_Shape/timeelapse3.cc, BD_Shape/timeelapse4.cc,
+	  BD_Shape/timeelapse5.cc, BD_Shape/universe1.cc,
+	  BD_Shape/writebdiffs1.cc, BD_Shape/writebdiffs2.cc
+	  (altnum.[9,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]):
+	  Tests for the BD_Shape class.
+
+2004-12-28 Tuesday 14:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/checked_float.inlines.hh (1.14): Fixed the indentation of a
+	  few comments.
+
+2004-12-28 Tuesday 14:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Constraint_System.defs.hh (1.5), Generator_System.defs.hh
+	  (1.6): Header file inclusions fixed.
+
+2004-12-28 Tuesday 13:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Constraint_System.cc (1.4): Avoid recomputing the same
+	  expression more than once.
+
+2004-12-28 Tuesday 11:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* STANDARDS (1.19): Documented the new policy about swap method and
+	  std::swap specialization.
+
+2004-12-28 Tuesday 11:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.cc (1.46), Constraint.defs.hh (1.101),
+	  Constraint.inlines.hh (1.58), Constraint_System.cc (1.3),
+	  Constraint_System.defs.hh (1.4), Generator.cc (1.57),
+	  Generator.defs.hh (1.99), Generator.inlines.hh (1.52),
+	  Generator_System.defs.hh (1.5), Linear_Expression.defs.hh (1.7),
+	  Polyhedron.inlines.hh (1.106), Polyhedron_nonpublic.cc (1.41),
+	  Polyhedron_public.cc (1.47), Polyhedron_widenings.cc (1.39):
+	  Classes Constraint and Generator now have comparison operators ==
+	  and !=, checking for semantic equivalence.  Class constraint has
+	  publicly available methods is_tautological() and
+	  is_inconsistent(), replacing the preovate methods
+	  is_trivial_true() and is_trivial_false().  The swap methods of
+	  classes Constraint, Generator, Linear_Expression,
+	  Constraint_System and Generator_System are now publicly
+	  available.  Corrected a minor efficiency bug in
+	  Polyhedron::shrink_bounding_box().
+
+2004-12-28 Tuesday 10:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.136): Two important items added.
+
+2004-12-26 Sunday 19:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Constraint.defs.hh (1.100): Useless explicit qualification
+	  removed.
+
+2004-12-26 Sunday 18:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Constraint.defs.hh (1.99): FIXME added: we do not seem to
+	  have strong reason to let Polyhedron be a friend of Constraint.
+
+2004-12-25 Saturday 23:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS, ChangeLog, NEWS, README, README.configure, STANDARDS,
+	  TODO, config.guess, config.rpath, config.sub, configure.ac,
+	  install-sh, ppl.lsm.in, ppl.spec.in, Watchdog/ChangeLog,
+	  Watchdog/Makefile.am, Watchdog/NEWS, Watchdog/README,
+	  Watchdog/config.guess, Watchdog/config.sub,
+	  Watchdog/configure.ac, Watchdog/install-sh,
+	  Watchdog/pwl_filter_doxygen.sed, Watchdog/pwl_filter_install.sed,
+	  Watchdog/pwl_header.bottom, Watchdog/pwl_header.middle,
+	  Watchdog/pwl_header.top, demos/ppl_lcdd/Makefile.am,
+	  demos/ppl_lcdd/ppl_lcdd.cc, demos/ppl_lpsol/Makefile.am,
+	  demos/ppl_lpsol/dummy.cc, demos/ppl_lpsol/ppl_lpsol.c,
+	  doc/Makefile.am, doc/README, doc/README.doc, doc/definitions.dox,
+	  doc/devref.tex, doc/user.tex, interfaces/C/ppl_c.cc,
+	  interfaces/C/ppl_c.h.in, interfaces/Prolog/Prolog_interface.dox,
+	  interfaces/Prolog/exceptions.hh,
+	  interfaces/Prolog/ppl_prolog.icc,
+	  interfaces/Prolog/track_allocation.hh,
+	  interfaces/Prolog/Ciao/Makefile.am,
+	  interfaces/Prolog/Ciao/ciao_clpq.pl,
+	  interfaces/Prolog/Ciao/ciao_clpq2.pl,
+	  interfaces/Prolog/Ciao/ciao_pl_check.pl,
+	  interfaces/Prolog/Ciao/ppl_ciao.pl,
+	  interfaces/Prolog/GNU/Makefile.am,
+	  interfaces/Prolog/GNU/gnu_pl_check.pl,
+	  interfaces/Prolog/GNU/ppl_gprolog.pl,
+	  interfaces/Prolog/SICStus/Makefile.am,
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
+	  interfaces/Prolog/SWI/Makefile.am,
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
+	  interfaces/Prolog/SWI/swi_pl_check.pl,
+	  interfaces/Prolog/XSB/Makefile.am,
+	  interfaces/Prolog/XSB/ppl_xsb.H,
+	  interfaces/Prolog/XSB/ppl_xsb.cc,
+	  interfaces/Prolog/XSB/xsb_clpq.P,
+	  interfaces/Prolog/XSB/xsb_clpq2.P,
+	  interfaces/Prolog/XSB/xsb_pl_check.P,
+	  interfaces/Prolog/YAP/Makefile.am,
+	  interfaces/Prolog/YAP/ppl_yap.cc,
+	  interfaces/Prolog/tests/clpq.pl,
+	  interfaces/Prolog/tests/clpq2.pl,
+	  interfaces/Prolog/tests/pl_check.pl,
+	  m4/ac_cxx_double_is_iec_559.m4, m4/ac_cxx_float_is_iec_559.m4,
+	  m4/ac_cxx_long_double_is_iec_559.m4, src/Checked_Number.defs.hh,
+	  src/Checked_Number.inlines.hh, src/Coefficient.types.hh,
+	  src/Coefficient_traits_template.hh, src/Determinate.defs.hh,
+	  src/Determinate.inlines.hh, src/GMP_Integer.defs.hh,
+	  src/GMP_Integer.types.hh, src/Generator_System.defs.hh,
+	  src/Interval.defs.hh, src/Interval.inlines.hh, src/Limits.hh,
+	  src/Linear_Expression.defs.hh, src/Linear_Row.cc,
+	  src/Linear_System.cc, src/Linear_System.defs.hh,
+	  src/Linear_System.inlines.hh, src/Makefile.am,
+	  src/Native_Integer.defs.hh, src/Native_Integer.inlines.hh,
+	  src/Native_Integer.types.hh, src/Polyhedra_Powerset.defs.hh,
+	  src/Polyhedra_Powerset.inlines.hh, src/Polyhedron.defs.hh,
+	  src/Polyhedron_nonpublic.cc, src/Polyhedron_public.cc,
+	  src/Powerset.defs.hh, src/Powerset.inlines.hh,
+	  src/Saturation_Row.cc, src/Saturation_Row.inlines.hh,
+	  src/Widening_Function.defs.hh, src/checked.defs.hh,
+	  src/checked.inlines.hh, src/checked_int.inlines.hh,
+	  src/globals.defs.hh, src/initializer.hh, src/ppl_header.bottom,
+	  src/ppl_header.middle, src/swapping_sort.icc, tests/BBox.cc,
+	  tests/Polyhedron/Makefile.am, tests/Polyhedron/addgenerator1.cc,
+	  tests/Polyhedron/addgenerator2.cc,
+	  tests/Polyhedron/bhz03widening2.cc,
+	  tests/Polyhedron/bhz03widening3.cc,
+	  tests/Polyhedron/bhz03widening5.cc,
+	  tests/Polyhedron/bhz03widening6.cc,
+	  tests/Polyhedron/expandspacedim1.cc,
+	  tests/Polyhedron/foldspacedims1.cc,
+	  tests/Polyhedron/foldspacedims2.cc,
+	  tests/Polyhedron/polydifference9.cc,
+	  tests/Polyhedron/timeelapse9.cc, tests/Polyhedron/watchdog1.cc
+	  (altnum.[5,2,7,3,3,3,7,4,1,3,16,4,2,2,2,5,2,2,4,3,3,4,1,1,1,1,1,6,10,4,1,5,3,2,1,7,3,3,8,5,7,2,9,1,5,2,3,3,5,4,1,3,5,7,5,8,1,4,3,8,2,2,3,4,8,2,2,3,1,1,1,15,16,2,2,6,5,7,4,2,5,8,4,2,3,4,4,4,20,8,8,4,5,5,8,11,8,3,3,2,2,5,22,15,23,9,1,1,1,3,3,3,2,2,2,2,2,2,2,2,2,2,1,2]):
+	  Seventh merge from main trunk.
+
+2004-12-25 Saturday 10:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.147), README (1.34), configure.ac (1.154),
+	  src/Makefile.am (1.96): Updated for PPL 0.8.
+
+2004-12-24 Friday 16:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (ppl-0_7-branch.1): Update version.
+
+2004-12-24 Friday 16:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/ChangeLog, ChangeLog (ppl-0_7-branch.[1,1]): Mark
+	  ChangeLog.
+
+2004-12-24 Friday 15:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.20), Watchdog/ChangeLog (1.10): Updated.
+
+2004-12-24 Friday 15:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.33), Watchdog/README (1.9): Updated.
+
+2004-12-24 Friday 14:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/user-browse.doxyconf-latex.in (1.24),
+	  doc/user-print.doxyconf-latex.in (1.24),
+	  doc/user.doxyconf-html.in (1.26), src/Coefficient.types.hh (1.5),
+	  src/GMP_Integer.types.hh (1.6), src/Makefile.am (1.95),
+	  src/Native_Integer.defs.hh (1.8), src/Native_Integer.types.hh
+	  (1.6): On a second thought, the user shouldn't care much about
+	  coefficient traits: the corresponding documentation now occurs in
+	  the devref manual only.
+
+2004-12-24 Friday 12:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_float.inlines.hh (1.13): Typo fixed.
+
+2004-12-24 Friday 12:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/user-browse.doxyconf-latex.in (1.23),
+	  doc/user-print.doxyconf-latex.in (1.23),
+	  doc/user.doxyconf-html.in (1.25), src/Checked_Number.defs.hh
+	  (1.6), src/Coefficient.types.hh (1.4),
+	  src/Coefficient_traits_template.hh (1.2),
+	  src/GMP_Integer.types.hh (1.5), src/Linear_System.inlines.hh
+	  (1.11), src/Makefile.am (1.94), src/Native_Integer.defs.hh (1.7),
+	  src/Native_Integer.types.hh (1.5), src/checked.defs.hh (1.6),
+	  src/globals.defs.hh (1.13): Minor improvements to the
+	  documentation.
+
+2004-12-24 Friday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/: Makefile.am (1.38), ciao_clpq.pl (1.13),
+	  ciao_clpq2.pl (1.9), ciao_pl_check.pl (1.9): Fixed for the case
+	  where the source and the build directories coincide.
+
+2004-12-24 Friday 12:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/.cvsignore (1.10): Updated.
+
+2004-12-24 Friday 12:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/Makefile.am (1.17): No longer mention erased files.
+
+2004-12-24 Friday 11:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl_header.bottom (1.6): The preprocessor symbol
+	  PPL_FLEXIBLE_ARRAY is no longer used.
+
+2004-12-24 Friday 11:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: pwl_header.bottom (1.2), pwl_header.top (1.5):
+	  Handling of NDEBUG improved.
+
+2004-12-24 Friday 11:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/pwl_header.middle (1.3): We no longer support GCC
+	  versions prior to 3.
+
+2004-12-24 Friday 11:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/configure.ac (1.24): Require Autoconf 2.59.
+
+2004-12-24 Friday 11:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/README (1.8): Version number bumped.
+
+2004-12-24 Friday 11:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: Makefile.am (1.16), pwl_filter_doxygen.sed (1.2),
+	  pwl_filter_install.sed (1.2): Obsolete filters removed.  Shared
+	  library version info updated.
+
+2004-12-24 Friday 10:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (1.24): Sentence fixed.
+
+2004-12-24 Friday 10:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.rpath (1.3): Updated.
+
+2004-12-24 Friday 10:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.146), README.configure (1.11), TODO (1.135): Minor
+	  improvements.
+
+2004-12-24 Friday 10:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS (1.15): AIDA project credited.
+
+2004-12-24 Friday 10:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Checked_Number.inlines.hh (1.11), Native_Integer.inlines.hh
+	  (1.8), checked.defs.hh (1.5): Added some \relates doxygen
+	  commands.
+
+2004-12-24 Friday 09:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/Makefile.am (1.15), Watchdog/configure.ac (1.23),
+	  interfaces/Prolog/YAP/Makefile.am (1.33): Enable the creation of
+	  DLLs under Cygwin.
+
+2004-12-24 Friday 08:40  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (1.134): More checking of the documentation should be done.
+
+2004-12-24 Friday 08:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: Generator_System.defs.hh (1.4), Linear_Expression.defs.hh
+	  (1.6), Polyhedra_Powerset.defs.hh (1.12), Polyhedron.defs.hh
+	  (1.262), Powerset.defs.hh (1.6): Several small improvements to
+	  the documantation.
+
+2004-12-23 Thursday 22:37  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.145): Added quotes.
+
+2004-12-23 Thursday 22:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.144): Mentioned the new configuration option
+	  --enable-coefficients.
+
+2004-12-23 Thursday 21:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* README (1.32), src/Checked_Number.defs.hh (1.5),
+	  src/Coefficient.types.hh (1.3), src/GMP_Integer.defs.hh (1.4),
+	  src/GMP_Integer.types.hh (1.4), src/Makefile.am (1.93),
+	  src/Native_Integer.defs.hh (1.6), src/Native_Integer.types.hh
+	  (1.4): Drafted the doxygen documentation for Coefficient,
+	  GMP_Integer, Checked_Number and Native_Integer, as well as
+	  corresponding traits.  Corrected a minor error in the README
+	  file.
+
+2004-12-23 Thursday 16:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/Makefile.am (1.31), interfaces/Prolog/SWI/Makefile.am (1.43),
+	  src/globals.defs.hh (1.12): Redundant inline declarations
+	  removed.
+
+2004-12-23 Thursday 14:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/Makefile.am (1.42): Let `plld' use the C++
+	  compiler to perform linking.
+
+2004-12-23 Thursday 12:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (1.23), doc/README (1.5), doc/README.doc (1.1): The
+	  file doc/README has been renamed README.doc so as not to conflict
+	  with the library's main README file.
+
+2004-12-23 Thursday 11:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (1.22): Updated.
+
+2004-12-23 Thursday 11:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.153), src/Makefile.am (1.92): Allow the creation
+	  of a PPL DLL under Cygwin.
+
+2004-12-23 Thursday 11:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* README.configure (1.10): Small improvement.
+
+2004-12-23 Thursday 10:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure (1.9): Updated.
+
+2004-12-23 Thursday 10:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedra_Powerset.inlines.hh (1.14): Make sure
+	  Polyhedra_Powerset<PH>::space_dimension() is defined before being
+	  used.
+
+2004-12-23 Thursday 08:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/float.types.hh (1.5): Never include <config.h> from a header
+	  file.
+
+2004-12-22 Wednesday 21:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BBox.cc (1.7): Avoid repeating the inclusion of
+	  "ppl_install.hh".
+
+2004-12-22 Wednesday 21:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/initializer.hh (1.9): Multiple inclusion guard fixed.
+
+2004-12-22 Wednesday 19:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure (1.8): Added a section on enabling the use of
+	  alternative coefficient types.
+
+2004-12-22 Wednesday 19:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/: Makefile.am (1.9), dummy.cc (1.1): Force using
+	  the C++ compiler for linking.
+
+2004-12-22 Wednesday 19:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Ciao/Makefile.am (1.37), GNU/Makefile.am
+	  (1.42), SICStus/Makefile.am (1.49), SWI/Makefile.am (1.41),
+	  XSB/Makefile.am (1.30), YAP/Makefile.am (1.32): Do not use the
+	  `-no-undefined' Libtool option to build the dynamically loadable
+	  modules.
+
+2004-12-22 Wednesday 16:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.167):	Changed  "of" to "on"  in:
+
+	   Note that all the documented operators automatically
+	  perform reductions on their arguments, when needed or
+	  appropriate.
+
+2004-12-22 Wednesday 16:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.133): The remaining item postponed to version 0.8 or
+	  later.
+
+2004-12-22 Wednesday 16:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.132), doc/definitions.dox (1.166),
+	  src/Determinate.defs.hh (1.51): Added a note about lazy
+	  Omega-reduction in the documentation of the powerset domain.
+	  Avoid underscore when providing the name of operators, unless
+	  inside a <CODE> tag.
+
+2004-12-22 Wednesday 16:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Powerset.defs.hh (1.5): Added a reference to the description
+	  of the powerset domain in definitions.dox.  Documented the
+	  methods begin() and end() returning a const_iterator.
+
+2004-12-22 Wednesday 14:39  Abramo Bagnara
+
+	* src/float.types.hh (1.4): Added IEC559 conformance conditional
+	  for larger types.
+
+2004-12-22 Wednesday 14:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.123): Better support for different
+	  definitions of `size_t'.
+
+2004-12-22 Wednesday 14:19  Abramo Bagnara
+
+	* src/float.types.hh (1.3): Added support for iec559 types
+	  detection.
+
+2004-12-22 Wednesday 14:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Powerset.inlines.hh (1.6): Added a couple of inline
+	  declarations.
+
+2004-12-22 Wednesday 13:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.152), demos/ppl_lcdd/Makefile.am (1.17): On
+	  Darwin, the `md5sum' program does not support the `-t' option and
+	  compilation is best done with the `-Wno-long-double' option.
+
+2004-12-22 Wednesday 13:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (1.131): Added an item saying that we should reconsider the
+	  "with_token" predicates in the Prolog interface.
+
+2004-12-22 Wednesday 11:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/Makefile.am (1.16): Fixed the way `md5sum' is
+	  invoked.
+
+2004-12-22 Wednesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.lsm.in (1.6): Updated with new authors and new size of the
+	  archive.
+
+2004-12-22 Wednesday 11:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.151): Version number bumped.
+
+2004-12-22 Wednesday 11:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.130): Updated.
+
+2004-12-22 Wednesday 11:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* STANDARDS (1.18): The requirement of keeping source lines short
+	  has been softened.
+
+2004-12-22 Wednesday 10:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (1.129), interfaces/Prolog/Prolog_interface.dox (1.125),
+	  interfaces/Prolog/exceptions.hh (1.14),
+	  interfaces/Prolog/ppl_prolog.icc (1.150),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.77),
+	  interfaces/Prolog/tests/pl_check.pl (1.6): In the Prolog
+	  interface, exceptions now always thrown if input values (other
+	  than lists) are invalid.
+
+	  Tests for these new exceptions added to the pl_check.pl test
+	  file.
+
+	  Corrected bug in Prolog interface in the case when a list was
+	  expected but a non-list was input.
+
+	  The interface needs to be changed so that it throws an exception
+	  for non-lists (instead of just Prolog failure) when a list is
+	  expected; this job has been added to the TODO file.
+
+2004-12-22 Wednesday 00:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am (1.240), timeelapse9.cc (1.1): Added a new
+	  test, experimenting method
+	  Polyhedra_Powerset::time_elapse_assign() as well as the new
+	  (corrected) implementation of the equality test for class
+	  Powerset.
+
+2004-12-22 Wednesday 00:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedra_Powerset.defs.hh (1.11),
+	  Polyhedra_Powerset.inlines.hh (1.13): Added methods
+	  intersection_assign() and time_elapse_assign(), exploiting the
+	  generic function Powerset::pairwise_apply_assign().  A lot of
+	  simple operators declared inline.
+
+2004-12-22 Wednesday 00:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Powerset.defs.hh (1.4), Powerset.inlines.hh (1.5): Member
+	  omega_reduce() made (temporarily) publicly available.  Added a
+	  generic method pairwise_apply_assign() to apply a binary operator
+	  to all pairs drawn from two powersets.  A lot of simple operators
+	  declared inline.
+
+2004-12-21 Tuesday 23:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.150), m4/ac_cxx_double_is_iec_559.m4 (1.1),
+	  m4/ac_cxx_float_is_iec_559.m4 (1.1),
+	  m4/ac_cxx_long_double_is_iec_559.m4 (1.1): New tests to check
+	  whether C++ floats, doubles and long doubles comply to IEC 559.
+
+2004-12-21 Tuesday 23:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.149): Detect the sizes of float, double and long
+	  double.
+
+2004-12-21 Tuesday 22:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Determinate.defs.hh (1.50), Determinate.inlines.hh (1.44):
+	  Added a function object adapter to lift any "apply_and_assign"
+	  function object defined on PH so as to obtain the corresponding
+	  function object working on Determinate<PH>.
+
+2004-12-21 Tuesday 22:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Widening_Function.defs.hh (1.9): Unary constructor made
+	  explicit.
+
+2004-12-21 Tuesday 22:39  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* STANDARDS (1.17): std::swap_iter() ===> std::iter_swap().
+
+2004-12-21 Tuesday 08:39  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.165), src/Polyhedron.defs.hh (1.261):
+	  Spelling and similar corrections to the documentation.
+
+2004-12-21 Tuesday 08:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/ppl_c.h.in (1.43): Spelling and similar corrections
+	  to documentation.
+
+2004-12-20 Monday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Linear_Row.cc (1.4): Unused, duplicated code removed.
+
+2004-12-20 Monday 21:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.inlines.hh (1.10): The Comeau and Intel C++
+	  compilers are actually right: if check_result() has internal
+	  linkage (is declared static) then, according to section 14.6.4.2
+	  of the C++ standard (Candidate Functions), it is not a candidate
+	  function and thus it is not found by the name lookup mechanism.
+
+2004-12-20 Monday 14:15  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/polydifference9.cc (1.6): Comment corrected.
+
+2004-12-20 Monday 11:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.122): Previous change corrected again.
+
+2004-12-20 Monday 10:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.121): Previous change completed.
+
+2004-12-20 Monday 10:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.120): Support definitions for `size_t'
+	  different from `unsigned'.
+
+2004-12-20 Monday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.148): Detect the size of more C types.
+
+2004-12-20 Monday 07:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_int.inlines.hh (1.10): Fixed an instance of LONG_MAX
+	  that should instead be ULONG_MAX.
+
+2004-12-19 Sunday 12:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/configure.ac (1.22), configure.ac (1.147): Version
+	  number bumped.
+
+2004-12-19 Sunday 11:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.31): Updated.
+
+2004-12-19 Sunday 11:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.143), Watchdog/NEWS (1.5): The tentative release date for
+	  PPL 0.7 is December 24, 2004.
+
+2004-12-19 Sunday 09:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/swapping_sort.icc (1.7): Make sure emacs recognizes this file
+	  as C++.
+
+2004-12-19 Sunday 09:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* STANDARDS (1.16), interfaces/C/ppl_c.cc (1.119),
+	  interfaces/Prolog/track_allocation.hh (1.14),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.76),
+	  interfaces/Prolog/GNU/gnu_pl_check.pl (1.3),
+	  interfaces/Prolog/SWI/swi_pl_check.pl (1.2),
+	  interfaces/Prolog/tests/clpq.pl (1.4),
+	  interfaces/Prolog/tests/clpq2.pl (1.4),
+	  interfaces/Prolog/tests/pl_check.pl (1.5), src/Interval.defs.hh
+	  (1.20), src/Interval.inlines.hh (1.16), src/swapping_sort.icc
+	  (1.6), tests/bhz03widening2.cc (1.10), tests/bhz03widening3.cc
+	  (1.9), tests/bhz03widening5.cc (1.7), tests/bhz03widening6.cc
+	  (1.8), tests/expandspacedim1.cc (1.3), tests/foldspacedims1.cc
+	  (1.2), tests/foldspacedims2.cc (1.2), tests/watchdog1.cc (1.21):
+	  Avoid "baStudlyCaps" identifiers everywhere.
+
+2004-12-19 Sunday 09:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.inlines.hh (1.9): Workaround for the Comeau
+	  and Intel C++ compilers: they do not like the use of `static' in
+	  a particular context.
+
+2004-12-19 Sunday 07:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.19), Watchdog/ChangeLog (1.9): Updated.
+
+2004-12-19 Sunday 07:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.26), config.sub (1.24), Watchdog/config.guess
+	  (1.10), Watchdog/config.sub (1.9): Updated.
+
+2004-12-19 Sunday 07:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* install-sh (1.12), Watchdog/install-sh (1.9): Updated from
+	  Automake 1.9.4.
+
+2004-12-18 Saturday 17:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/Makefile.am (1.29): Erase the *.xwam files
+	  so as to force XSB to recompile.
+
+2004-12-18 Saturday 16:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.142): One entry slightly improved.
+
+2004-12-18 Saturday 16:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.149): No longer support unary
+	  plus in linear expressions.  Avoid long source lines.
+
+2004-12-17 Friday 18:59  Abramo Bagnara
+
+	* interfaces/Prolog/: Ciao/ppl_ciao.cc, XSB/ppl_xsb.cc,
+	  YAP/ppl_yap.cc (altnum.[6,7,7]): Added missing colons.
+
+2004-12-17 Friday 18:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (altnum.15): Created tests/Polyhedron/Makefile.
+
+2004-12-17 Friday 18:20  Abramo Bagnara
+
+	* configure.ac, demos/ppl_lcdd/ppl_lcdd.cc, interfaces/C/ppl_c.cc,
+	  interfaces/Prolog/ppl_prolog.icc,
+	  interfaces/Prolog/Ciao/ppl_ciao.cc,
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc,
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
+	  interfaces/Prolog/XSB/ppl_xsb.cc,
+	  interfaces/Prolog/YAP/ppl_yap.cc, src/Checked_Number.defs.hh,
+	  src/Checked_Number.inlines.hh, src/Interval.inlines.hh,
+	  src/Polyhedron_nonpublic.cc, src/checked.defs.hh,
+	  src/checked.inlines.hh, src/checked_float.inlines.hh,
+	  src/checked_int.inlines.hh, src/checked_mpq.inlines.hh,
+	  src/checked_mpz.inlines.hh
+	  (altnum.[14,9,7,8,5,4,6,7,6,6,14,15,7,10,21,14,15,22,17,20]):
+	  Added rounding support to checked functions.
+
+2004-12-17 Friday 18:18  Abramo Bagnara
+
+	* src/Makefile.am (altnum.19): Added new files.
+
+2004-12-17 Friday 18:17  Abramo Bagnara
+
+	* src/: Limits.hh, float.types.hh (altnum.[3,4]): More portable
+	  code.
+
+2004-12-17 Friday 18:17  Abramo Bagnara
+
+	* src/: Float.defs.hh, Float.inlines.hh (altnum.[1,1]): Better
+	  place for IEC559 format related functions.
+
+2004-12-17 Friday 18:16  Abramo Bagnara
+
+	* src/Numeric_Format.defs.hh (altnum.1): Initial empty
+	  Numeric_Format definition.
+
+2004-12-17 Friday 18:15  Abramo Bagnara
+
+	* src/: Result.defs.hh, Result.inlines.hh (altnum.[1,1]): Better
+	  place for Result.
+
+2004-12-17 Friday 18:15  Abramo Bagnara
+
+	* src/: fpu-c99.inlines.hh, fpu-ia32.inlines.hh, fpu.defs.hh
+	  (altnum.[1,1,1]): FPU manipulation functions.
+
+2004-12-17 Friday 18:14  Abramo Bagnara
+
+	* src/: checked_ext.defs.hh, checked_ext.inlines.hh (altnum.[1,1]):
+	  Better place for new extended numbers functions.
+
+2004-12-17 Friday 18:13  Abramo Bagnara
+
+	* src/: Rounding.defs.hh, Rounding.inlines.hh, Rounding.types.hh
+	  (altnum.[1,1,1]): Rounding mode support.
+
+2004-12-17 Friday 18:11  Abramo Bagnara
+
+	* src/: compiler.hh, globals.defs.hh (altnum.[1,8]): Moved used
+	  helper to better place.
+
+2004-12-17 Friday 17:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (altnum.18): Do not mention DB_Shape.cc.
+
+2004-12-17 Friday 16:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (altnum.17): Do not mention DB_Matrix.cc.
+
+2004-12-17 Friday 16:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (altnum.16): Do not mention DB_Row.cc.
+
+2004-12-17 Friday 12:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.141), interfaces/Prolog/Prolog_interface.dox (1.124): As
+	  it is not in standard Prolog, the unary "+" is not supported in
+	  the Prolog interface.
+
+2004-12-16 Thursday 19:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.128): Dealt with one item of the list.
+
+2004-12-16 Thursday 19:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.118): Fixed a problem whereby
+	  ppl_set_error_handler() could have (depending on the compiler
+	  employed) C++ linkage instead of C linkage.
+
+2004-12-16 Thursday 19:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.8): Define a dummy
+	  set_GMP_memory_allocation_functions(), if the C++ compiler does
+	  not support __attribute__((weak)).
+
+2004-12-16 Thursday 18:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.146), demos/ppl_lcdd/ppl_lcdd.cc (1.39): Do not
+	  use C++-style comments in config.h.
+
+2004-12-16 Thursday 18:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/ppl_xsb.cc (1.61): Unused variable
+	  `a_throw' removed.
+
+2004-12-16 Thursday 18:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.145), src/Coefficient.types.hh (1.2),
+	  src/ppl_header.middle (1.5): Problem with Comeau C/C++ and the
+	  definition of `int64_t' solved in a better way.  Always link with
+	  the `libm' library.
+
+2004-12-16 Thursday 14:58  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: addgenerator1.cc (1.9), addgenerator2.cc (1.9): Tests
+	  corrected: they were just calling generators(), yet relying on
+	  the fact that a non-redundant description would have been
+	  obtained.
+
+2004-12-16 Thursday 14:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.46): Added a preprocessing flag to
+	  control whether we insist on returning sorted descriptions.
+	  Currently the flag is unset and we only order the generator
+	  systems of NNC polyhedra, if these are known to be in minimal
+	  form.
+
+2004-12-16 Thursday 14:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Linear_System.cc (1.13): Corrected a bug in method
+	  add_rows(); the sortedness flag was not handled correctly when
+	  the arguemnt was not sorted or had pending rows. This bug was
+	  hidden by some unnecessary sorting done before calling the
+	  method.
+
+2004-12-16 Thursday 12:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedra_Powerset.inlines.hh (1.12): We were relying on a
+	  GCC bug concerning name-lookup.
+
+2004-12-16 Thursday 10:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl_header.middle (1.4): // In order for the definition of
+	  `int64_t' to be seen by Comeau C/C++, // we must make sure
+	  <stdint.h> is included before <sys/types.hh> is // (even
+	  indirectly) included.  #include <stdint.h>
+
+2004-12-16 Thursday 09:15  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.123): Some errors
+	  corrected. The token C_unsigned now used to name a C unsigned
+	  integer.
+
+2004-12-16 Thursday 08:37  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.140), interfaces/Prolog/Prolog_interface.dox (1.122),
+	  interfaces/Prolog/ppl_prolog.icc (1.148),
+	  interfaces/Prolog/Ciao/ciao_clpq.pl (1.12),
+	  interfaces/Prolog/Ciao/ciao_clpq2.pl (1.8),
+	  interfaces/Prolog/Ciao/ciao_pl_check.pl (1.8),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.75),
+	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.49),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.70),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.94),
+	  interfaces/Prolog/XSB/ppl_xsb.H (1.36),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.60),
+	  interfaces/Prolog/XSB/xsb_clpq.P (1.11),
+	  interfaces/Prolog/XSB/xsb_clpq2.P (1.9),
+	  interfaces/Prolog/XSB/xsb_pl_check.P (1.13),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.86),
+	  interfaces/Prolog/tests/clpq.pl (1.3),
+	  interfaces/Prolog/tests/clpq2.pl (1.3),
+	  interfaces/Prolog/tests/pl_check.pl (1.4): In the Prolog
+	  interface, the predicates
+	  ppl_new_polyhedron_universe_from_space_dimension/3 and
+	  ppl_new_polyhedron_empty_from_space_dimension/3 have been
+	  replaced by	 a single predicate
+	  ppl_new_polyhedron_from_space_dimension/4 where the (extra) third
+	  argument    indicates whether the polyhedron to be created should
+	  be the    universe or the empty polyhedron.  NEWS has been
+	  revised accordingly.
+
+2004-12-15 Wednesday 23:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_int.inlines.hh (1.9): Declare strtoll() and
+	  strtoull() if they are not already declared.
+
+2004-12-15 Wednesday 23:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_float.inlines.hh (1.12): Fixed the return value of
+	  template <typename Policy, typename T> Result succ_float(T&).
+
+2004-12-15 Wednesday 23:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Linear_System.inlines.hh (1.10): Fixed
+	  Linear_System::With_Saturation_Matrix_iterator::operator->().
+
+2004-12-15 Wednesday 23:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Saturation_Row.cc (1.3), Saturation_Row.inlines.hh (1.2):
+	  Depend on HAVE_DECL_FFS instead of HAS_FFS.
+
+2004-12-15 Wednesday 23:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.144): Checks for the availability of ffs, strtoll
+	  and strtoull in C++.
+
+2004-12-15 Wednesday 23:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Linear_System.defs.hh (1.11): Use
+	  std::iterator_traits<Iter1>::attribute instead of
+	  Iter1::attribute.
+
+2004-12-15 Wednesday 22:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Limits.hh (1.3), checked_float.inlines.hh (1.11),
+	  checked_int.inlines.hh (1.8): Moved the declaration of LLONG_MIN,
+	  LLONG_MAX and ULLONG_MAX to Limits.hh.  Refer to C99 standard
+	  types uint*_t instead of u_int*_t.  Include <climits> and
+	  <cstdlib> instead of <limits.h> and <stdlib.h>.
+
+2004-12-15 Wednesday 18:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_int.inlines.hh (1.7): Define ULLONG_MAX, if it is not
+	  already defined.  Use ULLONG_MAX instead of ULONG_LONG_MAX, since
+	  the latter is GCC-specific.
+
+2004-12-15 Wednesday 18:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.91): Explicitly pass CPPFLAGS when invoking
+	  CXXCPP explicitly.
+
+2004-12-15 Wednesday 17:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.143): Added a check for the size of long long.
+	  Fixed a couple of comments.
+
+2004-12-14 Tuesday 13:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.139), interfaces/Prolog/Prolog_interface.dox (1.121),
+	  interfaces/Prolog/ppl_prolog.icc (1.147),
+	  interfaces/Prolog/Ciao/ciao_clpq.pl (1.11),
+	  interfaces/Prolog/Ciao/ciao_clpq2.pl (1.7),
+	  interfaces/Prolog/Ciao/ciao_pl_check.pl (1.7),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.74),
+	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.48),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.69),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.93),
+	  interfaces/Prolog/XSB/ppl_xsb.H (1.35),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.59),
+	  interfaces/Prolog/XSB/xsb_clpq.P (1.10),
+	  interfaces/Prolog/XSB/xsb_clpq2.P (1.8),
+	  interfaces/Prolog/XSB/xsb_pl_check.P (1.12),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.85),
+	  interfaces/Prolog/tests/clpq.pl (1.2),
+	  interfaces/Prolog/tests/clpq2.pl (1.2),
+	  interfaces/Prolog/tests/pl_check.pl (1.3): In the Prolog
+	  interface, the predicate    ppl_new_polyhedron_from_dimension/3
+	  has been renamed
+	  ppl_new_polyhedron_universe_from_space_dimension/3	and the
+	  predicate    ppl_new_polyhedron_empty_from_dimension/3 has been
+	  renamed    ppl_new_polyhedron_empty_from_space_dimension/3.  NEWS
+	  updated to include this information.
+
+2004-12-14 Tuesday 11:53  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.120): Replace the date
+	  type "Integer" used in the syntax specification by
+	  "Dimension_Type", "Coefficient", "C_int", or "Token_Flag" as
+	  appropriate.	Some other small improvements and corrections also
+	  done.
+
+2004-12-14 Tuesday 10:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h.in (1.42): Reverted previous change, since
+	  it was hiding a doxygen bug, which is the actual source of the
+	  undefined reference.
+
+2004-12-13 Monday 15:41  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h.in (1.41): Avoid autolink generation for
+	  ppl_c.h.
+
+2004-12-13 Monday 15:39  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref.tex (1.16), user.tex (1.17): Also thank the new
+	  COFIN project.
+
+2004-12-13 Monday 15:39  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron_nonpublic.cc (1.40), Polyhedron_public.cc
+	  (1.45): Minor documentation changes; use const where appropriate.
+
+2004-12-13 Monday 08:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.127): The sorting routines have been completely
+	  rewritten.CVS:
+	  ----------------------------------------------------------------------
+
+2004-12-12 Sunday 18:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS, src/BDS_Status.idefs.hh, src/BDS_Status.inlines.hh,
+	  src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
+	  src/BD_Shape.types.hh, src/DB_Matrix.defs.hh,
+	  src/DB_Matrix.inlines.hh, src/DB_Matrix.types.hh,
+	  src/DB_Row.defs.hh, src/DB_Row.inlines.hh, src/DB_Row.types.hh,
+	  src/E_NIT.defs.hh, src/E_NIT.inlines.hh, src/E_NIT.types.hh,
+	  src/E_Rational.defs.hh, src/E_Rational.inlines.hh,
+	  src/E_Rational.types.hh, src/Makefile.am,
+	  src/Ptr_Iterator.defs.hh, src/Ptr_Iterator.inlines.hh,
+	  src/Ptr_Iterator.types.hh, src/globals.defs.hh,
+	  src/globals.inlines.hh
+	  (altnum.[4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,15,1,1,1,7,4]):
+	  Added a draft implementation of bounded differences.
+
+2004-12-12 Sunday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am (altnum.2): The `BBox' class
+	  implementation is now contained in the convenience library
+	  `libppl_tests'.
+
+2004-12-12 Sunday 12:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac, tests/.cvsignore, tests/CbecomesNNC1.cc,
+	  tests/Makefile.am, tests/NNCbecomesC1.cc, tests/NNCminimize1.cc,
+	  tests/NNCminimize2.cc, tests/NNCminimize3.cc,
+	  tests/NNCminimize4.cc, tests/NNCminimize5.cc,
+	  tests/NNCminimize6.cc, tests/README, tests/addconstraint1.cc,
+	  tests/addconstraint2.cc, tests/addconstraint3.cc,
+	  tests/addconstraints1.cc, tests/addconstraints10.cc,
+	  tests/addconstraints11.cc, tests/addconstraints12.cc,
+	  tests/addconstraints13.cc, tests/addconstraints2.cc,
+	  tests/addconstraints3.cc, tests/addconstraints4.cc,
+	  tests/addconstraints5.cc, tests/addconstraints6.cc,
+	  tests/addconstraints7.cc, tests/addconstraints8.cc,
+	  tests/addconstraints9.cc, tests/addgenerator1.cc,
+	  tests/addgenerator2.cc, tests/addgenerator3.cc,
+	  tests/addgenerator4.cc, tests/addgenerator5.cc,
+	  tests/addgenerators1.cc, tests/addgenerators10.cc,
+	  tests/addgenerators11.cc, tests/addgenerators12.cc,
+	  tests/addgenerators13.cc, tests/addgenerators2.cc,
+	  tests/addgenerators3.cc, tests/addgenerators4.cc,
+	  tests/addgenerators5.cc, tests/addgenerators6.cc,
+	  tests/addgenerators7.cc, tests/addgenerators8.cc,
+	  tests/addgenerators9.cc, tests/addspacedims1.cc,
+	  tests/addspacedims10.cc, tests/addspacedims11.cc,
+	  tests/addspacedims12.cc, tests/addspacedims13.cc,
+	  tests/addspacedims2.cc, tests/addspacedims3.cc,
+	  tests/addspacedims4.cc, tests/addspacedims5.cc,
+	  tests/addspacedims6.cc, tests/addspacedims7.cc,
+	  tests/addspacedims8.cc, tests/addspacedims9.cc,
+	  tests/affineimage1.cc, tests/affineimage2.cc,
+	  tests/affineimage3.cc, tests/affineimage4.cc,
+	  tests/affineimage5.cc, tests/affineimage6.cc,
+	  tests/affineimage7.cc, tests/affineimage8.cc,
+	  tests/affineimage9.cc, tests/affinepreimage1.cc,
+	  tests/affinepreimage10.cc, tests/affinepreimage2.cc,
+	  tests/affinepreimage3.cc, tests/affinepreimage4.cc,
+	  tests/affinepreimage5.cc, tests/affinepreimage6.cc,
+	  tests/affinepreimage7.cc, tests/affinepreimage8.cc,
+	  tests/affinepreimage9.cc, tests/affinetrans.cc, tests/append1.cc,
+	  tests/append2.cc, tests/ascii_dump_load1.cc,
+	  tests/ascii_dump_load2.cc, tests/ascii_dump_load3.cc,
+	  tests/ascii_dump_load4.cc, tests/ascii_dump_load5.cc,
+	  tests/ascii_dump_load6.cc, tests/ascii_dump_load7.cc,
+	  tests/bgp99extrapolation1.cc, tests/bgp99extrapolation2.cc,
+	  tests/bhrz03widening1.cc, tests/bhrz03widening10.cc,
+	  tests/bhrz03widening11.cc, tests/bhrz03widening12.cc,
+	  tests/bhrz03widening13.cc, tests/bhrz03widening14.cc,
+	  tests/bhrz03widening15.cc, tests/bhrz03widening16.cc,
+	  tests/bhrz03widening17.cc, tests/bhrz03widening18.cc,
+	  tests/bhrz03widening19.cc, tests/bhrz03widening2.cc,
+	  tests/bhrz03widening3.cc, tests/bhrz03widening4.cc,
+	  tests/bhrz03widening5.cc, tests/bhrz03widening6.cc,
+	  tests/bhrz03widening7.cc, tests/bhrz03widening8.cc,
+	  tests/bhrz03widening9.cc, tests/bhz03widening1.cc,
+	  tests/bhz03widening2.cc, tests/bhz03widening3.cc,
+	  tests/bhz03widening4.cc, tests/bhz03widening5.cc,
+	  tests/bhz03widening6.cc, tests/bounded1.cc,
+	  tests/boundedh79extrapolation1.cc, tests/boundingbox1.cc,
+	  tests/boundingbox2.cc, tests/boundingbox3.cc,
+	  tests/boundingbox4.cc, tests/boundingbox5.cc, tests/bounds1.cc,
+	  tests/bounds2.cc, tests/concatenate1.cc, tests/concatenate2.cc,
+	  tests/concatenate3.cc, tests/concatenate4.cc,
+	  tests/concatenate5.cc, tests/concatenate6.cc,
+	  tests/constraints1.cc, tests/constraints2.cc,
+	  tests/constraints3.cc, tests/constraints4.cc, tests/contains1.cc,
+	  tests/contains2.cc, tests/contains3.cc, tests/contains4.cc,
+	  tests/contains5.cc, tests/disjoint1.cc, tests/disjoint2.cc,
+	  tests/disjoint3.cc, tests/dualhypercubes.cc, tests/empty1.cc,
+	  tests/equals1.cc, tests/exceptions1.cc, tests/exceptions2.cc,
+	  tests/exceptions3.cc, tests/expandspacedim1.cc,
+	  tests/expandspacedim2.cc, tests/foldspacedims1.cc,
+	  tests/foldspacedims2.cc, tests/generalizedaffineimage1.cc,
+	  tests/generalizedaffineimage10.cc,
+	  tests/generalizedaffineimage11.cc,
+	  tests/generalizedaffineimage12.cc,
+	  tests/generalizedaffineimage2.cc,
+	  tests/generalizedaffineimage3.cc,
+	  tests/generalizedaffineimage4.cc,
+	  tests/generalizedaffineimage5.cc,
+	  tests/generalizedaffineimage6.cc,
+	  tests/generalizedaffineimage7.cc,
+	  tests/generalizedaffineimage8.cc,
+	  tests/generalizedaffineimage9.cc, tests/generators1.cc,
+	  tests/generators2.cc, tests/generators3.cc, tests/generators4.cc,
+	  tests/generators5.cc, tests/generators6.cc, tests/geomcovers1.cc,
+	  tests/h79widening1.cc, tests/h79widening2.cc,
+	  tests/h79widening3.cc, tests/h79widening4.cc,
+	  tests/h79widening5.cc, tests/h79widening6.cc,
+	  tests/h79widening7.cc, tests/h79widening8.cc,
+	  tests/intersection1.cc, tests/intersection10.cc,
+	  tests/intersection11.cc, tests/intersection2.cc,
+	  tests/intersection3.cc, tests/intersection4.cc,
+	  tests/intersection5.cc, tests/intersection6.cc,
+	  tests/intersection7.cc, tests/intersection8.cc,
+	  tests/intersection9.cc, tests/limitedbhrz03extrapolation1.cc,
+	  tests/limitedh79extrapolation1.cc,
+	  tests/limitedh79extrapolation2.cc,
+	  tests/limitedh79extrapolation3.cc,
+	  tests/limitedh79extrapolation4.cc, tests/linearpartition1.cc,
+	  tests/linearpartition2.cc, tests/linearpartition3.cc,
+	  tests/linearpartition4.cc, tests/linexpression1.cc,
+	  tests/mapspacedims1.cc, tests/mapspacedims2.cc,
+	  tests/mapspacedims3.cc, tests/mapspacedims4.cc,
+	  tests/max_min1.cc, tests/max_min2.cc, tests/maxspacedim1.cc,
+	  tests/mc91.cc, tests/membytes1.cc, tests/membytes2.cc,
+	  tests/memory1.cc, tests/minconstraints1.cc,
+	  tests/minconstraints2.cc, tests/minconstraints3.cc,
+	  tests/minconstraints4.cc, tests/mingenerators1.cc,
+	  tests/mingenerators2.cc, tests/mingenerators3.cc,
+	  tests/onepoint.cc, tests/permute.cc, tests/polydifference1.cc,
+	  tests/polydifference2.cc, tests/polydifference3.cc,
+	  tests/polydifference4.cc, tests/polydifference5.cc,
+	  tests/polydifference6.cc, tests/polydifference7.cc,
+	  tests/polydifference8.cc, tests/polydifference9.cc,
+	  tests/polyhull1.cc, tests/polyhull10.cc, tests/polyhull11.cc,
+	  tests/polyhull2.cc, tests/polyhull3.cc, tests/polyhull4.cc,
+	  tests/polyhull5.cc, tests/polyhull6.cc, tests/polyhull7.cc,
+	  tests/polyhull8.cc, tests/polyhull9.cc, tests/randphull1.cc,
+	  tests/randphull2.cc, tests/relations1.cc, tests/relations10.cc,
+	  tests/relations11.cc, tests/relations12.cc, tests/relations13.cc,
+	  tests/relations14.cc, tests/relations15.cc, tests/relations16.cc,
+	  tests/relations17.cc, tests/relations18.cc, tests/relations19.cc,
+	  tests/relations2.cc, tests/relations3.cc, tests/relations4.cc,
+	  tests/relations5.cc, tests/relations6.cc, tests/relations7.cc,
+	  tests/relations8.cc, tests/relations9.cc,
+	  tests/removespacedims1.cc, tests/removespacedims10.cc,
+	  tests/removespacedims2.cc, tests/removespacedims3.cc,
+	  tests/removespacedims4.cc, tests/removespacedims5.cc,
+	  tests/removespacedims6.cc, tests/removespacedims7.cc,
+	  tests/removespacedims8.cc, tests/removespacedims9.cc,
+	  tests/smm1.cc, tests/timeelapse1.cc, tests/timeelapse2.cc,
+	  tests/timeelapse3.cc, tests/timeelapse4.cc, tests/timeelapse5.cc,
+	  tests/timeelapse6.cc, tests/timeelapse7.cc, tests/timeelapse8.cc,
+	  tests/topclosed1.cc, tests/topclosed2.cc, tests/topclosed3.cc,
+	  tests/topclosure1.cc, tests/topclosure2.cc, tests/topclosure3.cc,
+	  tests/topclosure4.cc, tests/universe1.cc, tests/universe2.cc,
+	  tests/universe3.cc, tests/universe4.cc, tests/universe5.cc,
+	  tests/universe6.cc, tests/universe7.cc,
+	  tests/valgrind_suppressions, tests/watchdog1.cc,
+	  tests/writeconsys1.cc, tests/writegensys1.cc,
+	  tests/writegensys2.cc, tests/writegensys3.cc,
+	  tests/writepolyhedron1.cc, tests/writepolyhedron2.cc,
+	  tests/writepolyhedron3.cc, tests/writerelation1.cc,
+	  tests/writevariable1.cc, tests/Polyhedron/.cvsignore,
+	  tests/Polyhedron/CbecomesNNC1.cc, tests/Polyhedron/Makefile.am,
+	  tests/Polyhedron/NNCbecomesC1.cc,
+	  tests/Polyhedron/NNCminimize1.cc,
+	  tests/Polyhedron/NNCminimize2.cc,
+	  tests/Polyhedron/NNCminimize3.cc,
+	  tests/Polyhedron/NNCminimize4.cc,
+	  tests/Polyhedron/NNCminimize5.cc,
+	  tests/Polyhedron/NNCminimize6.cc, tests/Polyhedron/README,
+	  tests/Polyhedron/addconstraint1.cc,
+	  tests/Polyhedron/addconstraint2.cc,
+	  tests/Polyhedron/addconstraint3.cc,
+	  tests/Polyhedron/addconstraints1.cc,
+	  tests/Polyhedron/addconstraints10.cc,
+	  tests/Polyhedron/addconstraints11.cc,
+	  tests/Polyhedron/addconstraints12.cc,
+	  tests/Polyhedron/addconstraints13.cc,
+	  tests/Polyhedron/addconstraints2.cc,
+	  tests/Polyhedron/addconstraints3.cc,
+	  tests/Polyhedron/addconstraints4.cc,
+	  tests/Polyhedron/addconstraints5.cc,
+	  tests/Polyhedron/addconstraints6.cc,
+	  tests/Polyhedron/addconstraints7.cc,
+	  tests/Polyhedron/addconstraints8.cc,
+	  tests/Polyhedron/addconstraints9.cc,
+	  tests/Polyhedron/addgenerator1.cc,
+	  tests/Polyhedron/addgenerator2.cc,
+	  tests/Polyhedron/addgenerator3.cc,
+	  tests/Polyhedron/addgenerator4.cc,
+	  tests/Polyhedron/addgenerator5.cc,
+	  tests/Polyhedron/addgenerators1.cc,
+	  tests/Polyhedron/addgenerators10.cc,
+	  tests/Polyhedron/addgenerators11.cc,
+	  tests/Polyhedron/addgenerators12.cc,
+	  tests/Polyhedron/addgenerators13.cc,
+	  tests/Polyhedron/addgenerators2.cc,
+	  tests/Polyhedron/addgenerators3.cc,
+	  tests/Polyhedron/addgenerators4.cc,
+	  tests/Polyhedron/addgenerators5.cc,
+	  tests/Polyhedron/addgenerators6.cc,
+	  tests/Polyhedron/addgenerators7.cc,
+	  tests/Polyhedron/addgenerators8.cc,
+	  tests/Polyhedron/addgenerators9.cc,
+	  tests/Polyhedron/addspacedims1.cc,
+	  tests/Polyhedron/addspacedims10.cc,
+	  tests/Polyhedron/addspacedims11.cc,
+	  tests/Polyhedron/addspacedims12.cc,
+	  tests/Polyhedron/addspacedims13.cc,
+	  tests/Polyhedron/addspacedims2.cc,
+	  tests/Polyhedron/addspacedims3.cc,
+	  tests/Polyhedron/addspacedims4.cc,
+	  tests/Polyhedron/addspacedims5.cc,
+	  tests/Polyhedron/addspacedims6.cc,
+	  tests/Polyhedron/addspacedims7.cc,
+	  tests/Polyhedron/addspacedims8.cc,
+	  tests/Polyhedron/addspacedims9.cc,
+	  tests/Polyhedron/affineimage1.cc,
+	  tests/Polyhedron/affineimage2.cc,
+	  tests/Polyhedron/affineimage3.cc,
+	  tests/Polyhedron/affineimage4.cc,
+	  tests/Polyhedron/affineimage5.cc,
+	  tests/Polyhedron/affineimage6.cc,
+	  tests/Polyhedron/affineimage7.cc,
+	  tests/Polyhedron/affineimage8.cc,
+	  tests/Polyhedron/affineimage9.cc,
+	  tests/Polyhedron/affinepreimage1.cc,
+	  tests/Polyhedron/affinepreimage10.cc,
+	  tests/Polyhedron/affinepreimage2.cc,
+	  tests/Polyhedron/affinepreimage3.cc,
+	  tests/Polyhedron/affinepreimage4.cc,
+	  tests/Polyhedron/affinepreimage5.cc,
+	  tests/Polyhedron/affinepreimage6.cc,
+	  tests/Polyhedron/affinepreimage7.cc,
+	  tests/Polyhedron/affinepreimage8.cc,
+	  tests/Polyhedron/affinepreimage9.cc,
+	  tests/Polyhedron/affinetrans.cc, tests/Polyhedron/append1.cc,
+	  tests/Polyhedron/append2.cc,
+	  tests/Polyhedron/ascii_dump_load1.cc,
+	  tests/Polyhedron/ascii_dump_load2.cc,
+	  tests/Polyhedron/ascii_dump_load3.cc,
+	  tests/Polyhedron/ascii_dump_load4.cc,
+	  tests/Polyhedron/ascii_dump_load5.cc,
+	  tests/Polyhedron/ascii_dump_load6.cc,
+	  tests/Polyhedron/ascii_dump_load7.cc,
+	  tests/Polyhedron/bgp99extrapolation1.cc,
+	  tests/Polyhedron/bgp99extrapolation2.cc,
+	  tests/Polyhedron/bhrz03widening1.cc,
+	  tests/Polyhedron/bhrz03widening10.cc,
+	  tests/Polyhedron/bhrz03widening11.cc,
+	  tests/Polyhedron/bhrz03widening12.cc,
+	  tests/Polyhedron/bhrz03widening13.cc,
+	  tests/Polyhedron/bhrz03widening14.cc,
+	  tests/Polyhedron/bhrz03widening15.cc,
+	  tests/Polyhedron/bhrz03widening16.cc,
+	  tests/Polyhedron/bhrz03widening17.cc,
+	  tests/Polyhedron/bhrz03widening18.cc,
+	  tests/Polyhedron/bhrz03widening19.cc,
+	  tests/Polyhedron/bhrz03widening2.cc,
+	  tests/Polyhedron/bhrz03widening3.cc,
+	  tests/Polyhedron/bhrz03widening4.cc,
+	  tests/Polyhedron/bhrz03widening5.cc,
+	  tests/Polyhedron/bhrz03widening6.cc,
+	  tests/Polyhedron/bhrz03widening7.cc,
+	  tests/Polyhedron/bhrz03widening8.cc,
+	  tests/Polyhedron/bhrz03widening9.cc,
+	  tests/Polyhedron/bhz03widening1.cc,
+	  tests/Polyhedron/bhz03widening2.cc,
+	  tests/Polyhedron/bhz03widening3.cc,
+	  tests/Polyhedron/bhz03widening4.cc,
+	  tests/Polyhedron/bhz03widening5.cc,
+	  tests/Polyhedron/bhz03widening6.cc, tests/Polyhedron/bounded1.cc,
+	  tests/Polyhedron/boundedh79extrapolation1.cc,
+	  tests/Polyhedron/boundingbox1.cc,
+	  tests/Polyhedron/boundingbox2.cc,
+	  tests/Polyhedron/boundingbox3.cc,
+	  tests/Polyhedron/boundingbox4.cc,
+	  tests/Polyhedron/boundingbox5.cc, tests/Polyhedron/bounds1.cc,
+	  tests/Polyhedron/bounds2.cc, tests/Polyhedron/concatenate1.cc,
+	  tests/Polyhedron/concatenate2.cc,
+	  tests/Polyhedron/concatenate3.cc,
+	  tests/Polyhedron/concatenate4.cc,
+	  tests/Polyhedron/concatenate5.cc,
+	  tests/Polyhedron/concatenate6.cc,
+	  tests/Polyhedron/constraints1.cc,
+	  tests/Polyhedron/constraints2.cc,
+	  tests/Polyhedron/constraints3.cc,
+	  tests/Polyhedron/constraints4.cc, tests/Polyhedron/contains1.cc,
+	  tests/Polyhedron/contains2.cc, tests/Polyhedron/contains3.cc,
+	  tests/Polyhedron/contains4.cc, tests/Polyhedron/contains5.cc,
+	  tests/Polyhedron/disjoint1.cc, tests/Polyhedron/disjoint2.cc,
+	  tests/Polyhedron/disjoint3.cc,
+	  tests/Polyhedron/dualhypercubes.cc, tests/Polyhedron/empty1.cc,
+	  tests/Polyhedron/equals1.cc, tests/Polyhedron/exceptions1.cc,
+	  tests/Polyhedron/exceptions2.cc, tests/Polyhedron/exceptions3.cc,
+	  tests/Polyhedron/expandspacedim1.cc,
+	  tests/Polyhedron/expandspacedim2.cc,
+	  tests/Polyhedron/foldspacedims1.cc,
+	  tests/Polyhedron/foldspacedims2.cc,
+	  tests/Polyhedron/generalizedaffineimage1.cc,
+	  tests/Polyhedron/generalizedaffineimage10.cc,
+	  tests/Polyhedron/generalizedaffineimage11.cc,
+	  tests/Polyhedron/generalizedaffineimage12.cc,
+	  tests/Polyhedron/generalizedaffineimage2.cc,
+	  tests/Polyhedron/generalizedaffineimage3.cc,
+	  tests/Polyhedron/generalizedaffineimage4.cc,
+	  tests/Polyhedron/generalizedaffineimage5.cc,
+	  tests/Polyhedron/generalizedaffineimage6.cc,
+	  tests/Polyhedron/generalizedaffineimage7.cc,
+	  tests/Polyhedron/generalizedaffineimage8.cc,
+	  tests/Polyhedron/generalizedaffineimage9.cc,
+	  tests/Polyhedron/generators1.cc, tests/Polyhedron/generators2.cc,
+	  tests/Polyhedron/generators3.cc, tests/Polyhedron/generators4.cc,
+	  tests/Polyhedron/generators5.cc, tests/Polyhedron/generators6.cc,
+	  tests/Polyhedron/geomcovers1.cc,
+	  tests/Polyhedron/h79widening1.cc,
+	  tests/Polyhedron/h79widening2.cc,
+	  tests/Polyhedron/h79widening3.cc,
+	  tests/Polyhedron/h79widening4.cc,
+	  tests/Polyhedron/h79widening5.cc,
+	  tests/Polyhedron/h79widening6.cc,
+	  tests/Polyhedron/h79widening7.cc,
+	  tests/Polyhedron/h79widening8.cc,
+	  tests/Polyhedron/intersection1.cc,
+	  tests/Polyhedron/intersection10.cc,
+	  tests/Polyhedron/intersection11.cc,
+	  tests/Polyhedron/intersection2.cc,
+	  tests/Polyhedron/intersection3.cc,
+	  tests/Polyhedron/intersection4.cc,
+	  tests/Polyhedron/intersection5.cc,
+	  tests/Polyhedron/intersection6.cc,
+	  tests/Polyhedron/intersection7.cc,
+	  tests/Polyhedron/intersection8.cc,
+	  tests/Polyhedron/intersection9.cc,
+	  tests/Polyhedron/limitedbhrz03extrapolation1.cc,
+	  tests/Polyhedron/limitedh79extrapolation1.cc,
+	  tests/Polyhedron/limitedh79extrapolation2.cc,
+	  tests/Polyhedron/limitedh79extrapolation3.cc,
+	  tests/Polyhedron/limitedh79extrapolation4.cc,
+	  tests/Polyhedron/linearpartition1.cc,
+	  tests/Polyhedron/linearpartition2.cc,
+	  tests/Polyhedron/linearpartition3.cc,
+	  tests/Polyhedron/linearpartition4.cc,
+	  tests/Polyhedron/linexpression1.cc,
+	  tests/Polyhedron/mapspacedims1.cc,
+	  tests/Polyhedron/mapspacedims2.cc,
+	  tests/Polyhedron/mapspacedims3.cc,
+	  tests/Polyhedron/mapspacedims4.cc, tests/Polyhedron/max_min1.cc,
+	  tests/Polyhedron/max_min2.cc, tests/Polyhedron/maxspacedim1.cc,
+	  tests/Polyhedron/mc91.cc, tests/Polyhedron/membytes1.cc,
+	  tests/Polyhedron/membytes2.cc, tests/Polyhedron/memory1.cc,
+	  tests/Polyhedron/minconstraints1.cc,
+	  tests/Polyhedron/minconstraints2.cc,
+	  tests/Polyhedron/minconstraints3.cc,
+	  tests/Polyhedron/minconstraints4.cc,
+	  tests/Polyhedron/mingenerators1.cc,
+	  tests/Polyhedron/mingenerators2.cc,
+	  tests/Polyhedron/mingenerators3.cc, tests/Polyhedron/onepoint.cc,
+	  tests/Polyhedron/permute.cc, tests/Polyhedron/polydifference1.cc,
+	  tests/Polyhedron/polydifference2.cc,
+	  tests/Polyhedron/polydifference3.cc,
+	  tests/Polyhedron/polydifference4.cc,
+	  tests/Polyhedron/polydifference5.cc,
+	  tests/Polyhedron/polydifference6.cc,
+	  tests/Polyhedron/polydifference7.cc,
+	  tests/Polyhedron/polydifference8.cc,
+	  tests/Polyhedron/polydifference9.cc,
+	  tests/Polyhedron/polyhull1.cc, tests/Polyhedron/polyhull10.cc,
+	  tests/Polyhedron/polyhull11.cc, tests/Polyhedron/polyhull2.cc,
+	  tests/Polyhedron/polyhull3.cc, tests/Polyhedron/polyhull4.cc,
+	  tests/Polyhedron/polyhull5.cc, tests/Polyhedron/polyhull6.cc,
+	  tests/Polyhedron/polyhull7.cc, tests/Polyhedron/polyhull8.cc,
+	  tests/Polyhedron/polyhull9.cc, tests/Polyhedron/randphull1.cc,
+	  tests/Polyhedron/randphull2.cc, tests/Polyhedron/relations1.cc,
+	  tests/Polyhedron/relations10.cc, tests/Polyhedron/relations11.cc,
+	  tests/Polyhedron/relations12.cc, tests/Polyhedron/relations13.cc,
+	  tests/Polyhedron/relations14.cc, tests/Polyhedron/relations15.cc,
+	  tests/Polyhedron/relations16.cc, tests/Polyhedron/relations17.cc,
+	  tests/Polyhedron/relations18.cc, tests/Polyhedron/relations19.cc,
+	  tests/Polyhedron/relations2.cc, tests/Polyhedron/relations3.cc,
+	  tests/Polyhedron/relations4.cc, tests/Polyhedron/relations5.cc,
+	  tests/Polyhedron/relations6.cc, tests/Polyhedron/relations7.cc,
+	  tests/Polyhedron/relations8.cc, tests/Polyhedron/relations9.cc,
+	  tests/Polyhedron/removespacedims1.cc,
+	  tests/Polyhedron/removespacedims10.cc,
+	  tests/Polyhedron/removespacedims2.cc,
+	  tests/Polyhedron/removespacedims3.cc,
+	  tests/Polyhedron/removespacedims4.cc,
+	  tests/Polyhedron/removespacedims5.cc,
+	  tests/Polyhedron/removespacedims6.cc,
+	  tests/Polyhedron/removespacedims7.cc,
+	  tests/Polyhedron/removespacedims8.cc,
+	  tests/Polyhedron/removespacedims9.cc, tests/Polyhedron/smm1.cc,
+	  tests/Polyhedron/timeelapse1.cc, tests/Polyhedron/timeelapse2.cc,
+	  tests/Polyhedron/timeelapse3.cc, tests/Polyhedron/timeelapse4.cc,
+	  tests/Polyhedron/timeelapse5.cc, tests/Polyhedron/timeelapse6.cc,
+	  tests/Polyhedron/timeelapse7.cc, tests/Polyhedron/timeelapse8.cc,
+	  tests/Polyhedron/topclosed1.cc, tests/Polyhedron/topclosed2.cc,
+	  tests/Polyhedron/topclosed3.cc, tests/Polyhedron/topclosure1.cc,
+	  tests/Polyhedron/topclosure2.cc, tests/Polyhedron/topclosure3.cc,
+	  tests/Polyhedron/topclosure4.cc, tests/Polyhedron/universe1.cc,
+	  tests/Polyhedron/universe2.cc, tests/Polyhedron/universe3.cc,
+	  tests/Polyhedron/universe4.cc, tests/Polyhedron/universe5.cc,
+	  tests/Polyhedron/universe6.cc, tests/Polyhedron/universe7.cc,
+	  tests/Polyhedron/valgrind_suppressions,
+	  tests/Polyhedron/watchdog1.cc, tests/Polyhedron/writeconsys1.cc,
+	  tests/Polyhedron/writegensys1.cc,
+	  tests/Polyhedron/writegensys2.cc,
+	  tests/Polyhedron/writegensys3.cc,
+	  tests/Polyhedron/writepolyhedron1.cc,
+	  tests/Polyhedron/writepolyhedron2.cc,
+	  tests/Polyhedron/writepolyhedron3.cc,
+	  tests/Polyhedron/writerelation1.cc,
+	  tests/Polyhedron/writevariable1.cc
+	  (altnum.[13,2,2,8,2,2,2,2,2,3,2,2,3,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,4,4,2,3,3,2,2,4,2,2,2,2,2,2,2,2,2,2,3,4,3,2,2,2,3,3,3,3,3,2,3,1,1,2,1,1,1,2,1,3,2,1,1,1,2,1,1,2,1,1,2,2,2,1,1,1,2,1,1,2,5,4,2,1,1,2,2,2,2,2,2,2,2,2,1,1,1,2,2,2,3,5,4,5,5,4,4,2,2,6,4,3,3,2,2,1,3,2,2,2,1,1,2,2,2,2,1,2,2,2,2,1,2,2,3,2,2,3,4,5,3,2,2,2,1,1,1,1,1,1,1,1,1,1,1,2,3,3,2,3,2,2,3,1,1,1,2,1,2,1,2,1,1,1,2,1,2,1,2,1,1,1,2,2,2,3,2,3,3,3,3,2,3,2,2,2,2,2,3,2,3,2,1,2,2,2,2,2,2,2,1,2,3,2,2,1,1,1,1,3,4,2,2,2,2,1,1,1,1,2,1,1 [...]
+	  Tests for the polyhedra classes are now in `tests/Polyhedron'.
+
+2004-12-12 Sunday 10:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Native_Integer.inlines.hh (1.7): Added the implementation of
+	  constructors from native floating-point types.
+
+2004-12-11 Saturday 22:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS, README, STANDARDS, TODO, configure.ac,
+	  Watchdog/EList_Iterator.inlines.hh, Watchdog/Handler.defs.hh,
+	  Watchdog/Makefile.am, Watchdog/Watchdog.defs.hh,
+	  demos/ppl_lcdd/ppl_lcdd.cc, demos/ppl_lcdd/examples/allzero.ine,
+	  demos/ppl_lcdd/examples/ccc4.ext,
+	  demos/ppl_lcdd/examples/ccp4.ext,
+	  demos/ppl_lcdd/examples/cp4.ext, demos/ppl_lcdd/examples/cp4.ine,
+	  demos/ppl_lcdd/examples/cp5.ine, demos/ppl_lcdd/examples/cp6.ine,
+	  demos/ppl_lcdd/examples/cp7.ext,
+	  demos/ppl_lcdd/examples/cross10.ine,
+	  demos/ppl_lcdd/examples/cross12.ine,
+	  demos/ppl_lcdd/examples/cross4.ine,
+	  demos/ppl_lcdd/examples/cross6.ine,
+	  demos/ppl_lcdd/examples/cross8.ine,
+	  demos/ppl_lcdd/examples/cube.ext,
+	  demos/ppl_lcdd/examples/cubetop.ine,
+	  demos/ppl_lcdd/examples/cubocta.ine,
+	  demos/ppl_lcdd/examples/cut16_11.ext,
+	  demos/ppl_lcdd/examples/cut32_16.ext,
+	  demos/ppl_lcdd/examples/cyc.ine,
+	  demos/ppl_lcdd/examples/cyclic16-10.ext,
+	  demos/ppl_lcdd/examples/cyclic25_13.ext,
+	  demos/ppl_lcdd/examples/ex1.ine,
+	  demos/ppl_lcdd/examples/grcubocta.ine,
+	  demos/ppl_lcdd/examples/in0.ine, demos/ppl_lcdd/examples/in1.ine,
+	  demos/ppl_lcdd/examples/in2.ine, demos/ppl_lcdd/examples/in3.ine,
+	  demos/ppl_lcdd/examples/in4.ine, demos/ppl_lcdd/examples/in5.ine,
+	  demos/ppl_lcdd/examples/in6.ine, demos/ppl_lcdd/examples/in7.ine,
+	  demos/ppl_lcdd/examples/integralpoints.ine,
+	  demos/ppl_lcdd/examples/irbox20-4.ext,
+	  demos/ppl_lcdd/examples/irbox200-4.ext,
+	  demos/ppl_lcdd/examples/kkd18_4.ine,
+	  demos/ppl_lcdd/examples/kkd27_5.ine,
+	  demos/ppl_lcdd/examples/kkd38_6.ine,
+	  demos/ppl_lcdd/examples/kq20_11_m.ine,
+	  demos/ppl_lcdd/examples/metric40_11.ine,
+	  demos/ppl_lcdd/examples/metric80_16.ine,
+	  demos/ppl_lcdd/examples/mit.ine,
+	  demos/ppl_lcdd/examples/mit288-281.ine,
+	  demos/ppl_lcdd/examples/mit31-20.ine,
+	  demos/ppl_lcdd/examples/mit41-16.ine,
+	  demos/ppl_lcdd/examples/mit708-9.ine,
+	  demos/ppl_lcdd/examples/mit71-61.ine,
+	  demos/ppl_lcdd/examples/mit90-86.ine,
+	  demos/ppl_lcdd/examples/mp5.ext, demos/ppl_lcdd/examples/mp5.ine,
+	  demos/ppl_lcdd/examples/mp5a.ine,
+	  demos/ppl_lcdd/examples/mp6.ine,
+	  demos/ppl_lcdd/examples/origin.ine,
+	  demos/ppl_lcdd/examples/project2res.ine,
+	  demos/ppl_lcdd/examples/rcubocta.ine,
+	  demos/ppl_lcdd/examples/reg24-5.ext,
+	  demos/ppl_lcdd/examples/reg24-5.ine,
+	  demos/ppl_lcdd/examples/sampleh1.ine,
+	  demos/ppl_lcdd/examples/sampleh3.ine,
+	  demos/ppl_lcdd/examples/sampleh4.ine,
+	  demos/ppl_lcdd/examples/sampleh6.ine,
+	  demos/ppl_lcdd/examples/sampleh7.ine,
+	  demos/ppl_lcdd/examples/sampleh8.ine,
+	  demos/ppl_lcdd/examples/samplev1.ext,
+	  demos/ppl_lcdd/examples/samplev3.ext,
+	  demos/ppl_lcdd/examples/trunc10.ine,
+	  demos/ppl_lcdd/examples/trunc7.ine,
+	  demos/ppl_lcdd/examples/tsp5.ext,
+	  demos/ppl_lcdd/examples/tsp5.ine, demos/ppl_lpsol/expected_int16,
+	  demos/ppl_lpsol/expected_int32, demos/ppl_lpsol/expected_int32_a,
+	  demos/ppl_lpsol/expected_int64, demos/ppl_lpsol/expected_int64_a,
+	  demos/ppl_lpsol/expected_mpz, demos/ppl_lpsol/expected_mpz_a,
+	  demos/ppl_lpsol/ppl_lpsol.c, doc/Makefile.am,
+	  doc/definitions.dox, doc/devref-browse.doxyconf-latex.in,
+	  doc/devref-print.doxyconf-latex.in, doc/devref.doxyconf-html.in,
+	  doc/fdl.tex, doc/user-browse.doxyconf-latex.in,
+	  doc/user-print.doxyconf-latex.in, doc/user.doxyconf-html.in,
+	  interfaces/C/ppl_c.cc, interfaces/C/ppl_c.h.in,
+	  interfaces/Prolog/Prolog_interface.dox,
+	  interfaces/Prolog/exceptions.hh,
+	  interfaces/Prolog/ppl_prolog.icc,
+	  interfaces/Prolog/Ciao/ciao_clpq2.pl,
+	  interfaces/Prolog/Ciao/ppl_ciao.cc,
+	  interfaces/Prolog/Ciao/ppl_ciao.pl,
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc,
+	  interfaces/Prolog/SICStus/Makefile.am,
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
+	  interfaces/Prolog/SICStus/sicstus_cfli.ic,
+	  interfaces/Prolog/SWI/Makefile.am,
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
+	  interfaces/Prolog/XSB/ppl_xsb.cc,
+	  interfaces/Prolog/YAP/ppl_yap.cc,
+	  interfaces/Prolog/tests/pl_check.pl, src/AskTell.defs.hh,
+	  src/AskTell.inlines.hh, src/AskTell.types.hh,
+	  src/Ask_Tell.defs.hh, src/Ask_Tell.inlines.hh,
+	  src/Ask_Tell.types.hh, src/BHRZ03_Certificate.cc,
+	  src/BHRZ03_Certificate.defs.hh, src/BoundingBox.cc,
+	  src/BoundingBox.defs.hh, src/BoundingBox.inlines.hh,
+	  src/BoundingBox.types.hh, src/Bounding_Box.cc,
+	  src/Bounding_Box.defs.hh, src/Bounding_Box.inlines.hh,
+	  src/Bounding_Box.types.hh, src/C_Polyhedron.cc,
+	  src/C_Polyhedron.defs.hh, src/C_Polyhedron.inlines.hh,
+	  src/Checked_Number.inlines.hh, src/Coefficient.cc,
+	  src/Coefficient.defs.hh, src/Coefficient.inlines.hh,
+	  src/Coefficient.types.hh, src/Coefficient_traits_template.hh,
+	  src/ConSys.cc, src/ConSys.defs.hh, src/ConSys.inlines.hh,
+	  src/ConSys.types.hh, src/Constraint.cc, src/Constraint.defs.hh,
+	  src/Constraint.inlines.hh, src/Constraint_System.cc,
+	  src/Constraint_System.defs.hh, src/Constraint_System.inlines.hh,
+	  src/Constraint_System.types.hh, src/Determinate.defs.hh,
+	  src/Determinate.inlines.hh, src/GMP_Integer.types.hh,
+	  src/GenSys.cc, src/GenSys.defs.hh, src/GenSys.inlines.hh,
+	  src/GenSys.types.hh, src/Generator.cc, src/Generator.defs.hh,
+	  src/Generator.inlines.hh, src/Generator_System.cc,
+	  src/Generator_System.defs.hh, src/Generator_System.inlines.hh,
+	  src/Generator_System.types.hh, src/H79_Certificate.cc,
+	  src/H79_Certificate.defs.hh, src/Integer.cc, src/Integer.defs.hh,
+	  src/Integer.inlines.hh, src/Integer.types.hh,
+	  src/Integer_macros.hh, src/Integer_traits_template.hh,
+	  src/Interval.defs.hh, src/Interval.inlines.hh,
+	  src/LinExpression.cc, src/LinExpression.defs.hh,
+	  src/LinExpression.inlines.hh, src/LinExpression.types.hh,
+	  src/Linear_Expression.cc, src/Linear_Expression.defs.hh,
+	  src/Linear_Expression.inlines.hh, src/Linear_Expression.types.hh,
+	  src/Linear_Row.cc, src/Linear_Row.defs.hh,
+	  src/Linear_Row.inlines.hh, src/Linear_System.cc,
+	  src/Linear_System.defs.hh, src/Linear_System.inlines.hh,
+	  src/Makefile.am, src/Matrix.defs.hh, src/Matrix.inlines.hh,
+	  src/NNC_Polyhedron.defs.hh, src/NNC_Polyhedron.inlines.hh,
+	  src/Native_Integer.defs.hh, src/Native_Integer.inlines.hh,
+	  src/Native_Integer.types.hh, src/Polyhedra_Powerset.defs.hh,
+	  src/Polyhedra_Powerset.inlines.hh, src/Polyhedron.defs.hh,
+	  src/Polyhedron.inlines.hh, src/Polyhedron.types.hh,
+	  src/Polyhedron_chdims.cc, src/Polyhedron_nonpublic.cc,
+	  src/Polyhedron_public.cc, src/Polyhedron_widenings.cc,
+	  src/Powerset.defs.hh, src/Powerset.inlines.hh, src/Row.cc,
+	  src/Row.defs.hh, src/Row.inlines.hh, src/SatMatrix.cc,
+	  src/SatMatrix.defs.hh, src/SatMatrix.inlines.hh,
+	  src/SatMatrix.types.hh, src/SatRow.cc, src/SatRow.defs.hh,
+	  src/SatRow.inlines.hh, src/SatRow.types.hh,
+	  src/Saturation_Matrix.cc, src/Saturation_Matrix.defs.hh,
+	  src/Saturation_Matrix.inlines.hh, src/Saturation_Matrix.types.hh,
+	  src/Saturation_Row.cc, src/Saturation_Row.defs.hh,
+	  src/Saturation_Row.inlines.hh, src/Saturation_Row.types.hh,
+	  src/Variable.cc, src/Variable.defs.hh, src/Variable.inlines.hh,
+	  src/Widening_Function.defs.hh, src/Widening_Function.inlines.hh,
+	  src/algorithms.hh, src/checked.defs.hh, src/checked.inlines.hh,
+	  src/checked_int.inlines.hh, src/checked_mpq.inlines.hh,
+	  src/checked_mpz.inlines.hh, src/conversion.cc, src/globals.cc,
+	  src/globals.defs.hh, src/globals.inlines.hh, src/minimize.cc,
+	  src/simplify.cc, src/swapping_sort.icc, tests/BBox.cc,
+	  tests/BBox.hh, tests/Makefile.am, tests/NNCminimize1.cc,
+	  tests/NNCminimize2.cc, tests/NNCminimize3.cc,
+	  tests/NNCminimize4.cc, tests/NNCminimize5.cc,
+	  tests/NNCminimize6.cc, tests/addconstraint1.cc,
+	  tests/addconstraints1.cc, tests/addconstraints10.cc,
+	  tests/addconstraints11.cc, tests/addconstraints12.cc,
+	  tests/addconstraints13.cc, tests/addconstraints2.cc,
+	  tests/addconstraints3.cc, tests/addconstraints4.cc,
+	  tests/addconstraints5.cc, tests/addconstraints6.cc,
+	  tests/addconstraints7.cc, tests/addconstraints8.cc,
+	  tests/addconstraints9.cc, tests/addgenerator1.cc,
+	  tests/addgenerator2.cc, tests/addgenerator3.cc,
+	  tests/addgenerator4.cc, tests/addgenerator5.cc,
+	  tests/addgenerators1.cc, tests/addgenerators10.cc,
+	  tests/addgenerators11.cc, tests/addgenerators12.cc,
+	  tests/addgenerators13.cc, tests/addgenerators2.cc,
+	  tests/addgenerators3.cc, tests/addgenerators4.cc,
+	  tests/addgenerators5.cc, tests/addgenerators6.cc,
+	  tests/addgenerators7.cc, tests/addgenerators8.cc,
+	  tests/addgenerators9.cc, tests/addspacedims1.cc,
+	  tests/addspacedims10.cc, tests/addspacedims11.cc,
+	  tests/addspacedims3.cc, tests/addspacedims4.cc,
+	  tests/addspacedims5.cc, tests/addspacedims6.cc,
+	  tests/addspacedims7.cc, tests/addspacedims9.cc,
+	  tests/affineimage3.cc, tests/affineimage7.cc,
+	  tests/affinepreimage1.cc, tests/affinepreimage4.cc,
+	  tests/affinepreimage7.cc, tests/affinetrans.cc,
+	  tests/ascii_dump_load4.cc, tests/ascii_dump_load7.cc,
+	  tests/bgp99extrapolation1.cc, tests/bhrz03widening1.cc,
+	  tests/bhrz03widening12.cc, tests/bhrz03widening13.cc,
+	  tests/bhrz03widening14.cc, tests/bhrz03widening15.cc,
+	  tests/bhrz03widening16.cc, tests/bhrz03widening17.cc,
+	  tests/bhrz03widening18.cc, tests/bhrz03widening19.cc,
+	  tests/bhrz03widening2.cc, tests/bhrz03widening6.cc,
+	  tests/bhrz03widening7.cc, tests/bhrz03widening8.cc,
+	  tests/bhrz03widening9.cc, tests/bhz03widening1.cc,
+	  tests/bhz03widening3.cc, tests/bhz03widening4.cc,
+	  tests/bounded1.cc, tests/boundedh79extrapolation1.cc,
+	  tests/boundingbox1.cc, tests/boundingbox2.cc,
+	  tests/boundingbox3.cc, tests/boundingbox4.cc, tests/bounds1.cc,
+	  tests/concatenate1.cc, tests/concatenate2.cc,
+	  tests/concatenate3.cc, tests/concatenate4.cc,
+	  tests/constraints1.cc, tests/constraints2.cc,
+	  tests/constraints3.cc, tests/constraints4.cc, tests/contains2.cc,
+	  tests/contains3.cc, tests/contains4.cc, tests/contains5.cc,
+	  tests/disjoint2.cc, tests/disjoint3.cc, tests/dualhypercubes.cc,
+	  tests/empty1.cc, tests/exceptions1.cc, tests/exceptions2.cc,
+	  tests/exceptions3.cc, tests/expandspacedim1.cc,
+	  tests/generalizedaffineimage9.cc, tests/generators1.cc,
+	  tests/generators2.cc, tests/generators3.cc, tests/generators4.cc,
+	  tests/generators5.cc, tests/generators6.cc, tests/geomcovers1.cc,
+	  tests/h79widening4.cc, tests/intersection2.cc,
+	  tests/intersection4.cc, tests/intersection6.cc,
+	  tests/limitedbhrz03extrapolation1.cc,
+	  tests/limitedh79extrapolation1.cc,
+	  tests/limitedh79extrapolation2.cc,
+	  tests/limitedh79extrapolation3.cc,
+	  tests/limitedh79extrapolation4.cc, tests/linexpression1.cc,
+	  tests/mapspacedims1.cc, tests/max_min1.cc, tests/max_min2.cc,
+	  tests/maxspacedim1.cc, tests/membytes1.cc, tests/membytes2.cc,
+	  tests/minconstraints1.cc, tests/minconstraints2.cc,
+	  tests/minconstraints3.cc, tests/minconstraints4.cc,
+	  tests/mingenerators1.cc, tests/mingenerators2.cc,
+	  tests/mingenerators3.cc, tests/polydifference1.cc,
+	  tests/polydifference2.cc, tests/polydifference3.cc,
+	  tests/polydifference8.cc, tests/polydifference9.cc,
+	  tests/polyhull1.cc, tests/polyhull2.cc, tests/polyhull7.cc,
+	  tests/print.cc, tests/print.hh, tests/randphull1.cc,
+	  tests/randphull2.cc, tests/relations1.cc, tests/relations12.cc,
+	  tests/relations15.cc, tests/relations16.cc, tests/relations17.cc,
+	  tests/relations4.cc, tests/relations5.cc, tests/relations7.cc,
+	  tests/relations8.cc, tests/relations9.cc,
+	  tests/removespacedims1.cc, tests/removespacedims2.cc,
+	  tests/removespacedims4.cc, tests/removespacedims8.cc,
+	  tests/smm1.cc, tests/timeelapse1.cc, tests/timeelapse3.cc,
+	  tests/timeelapse4.cc, tests/timeelapse6.cc, tests/topclosed2.cc,
+	  tests/topclosed3.cc, tests/topclosure1.cc, tests/universe3.cc,
+	  tests/universe4.cc, tests/universe6.cc, tests/universe7.cc,
+	  tests/writeconsys1.cc, tests/writegensys1.cc,
+	  tests/writegensys2.cc, tests/writegensys3.cc
+	  (altnum.[6,2,2,6,12,2,2,4,2,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,4,2,6,5,5,5,1,3,3,3,6,4,6,1,7,2,4,4,3,4,5,1,4,6,5,5,2,5,3,1,1,1,1,3,4,2,4,4,1,1,1,1,1,3,5,4,14,1,1,1,1,1,5,7,4,1,3,7,5,1,1,1,1,5,4,3,6,7,3,1,5,7,5,1,1,1,1,4,4,1,6,2,6,2,3,4,6,3,5,3,1,1,1,1,1,2,3,3,3,3,3,14,5,3,4,4,7,7,3,4,4,7,7,2,5,9,7,5,2,2,5,6,5,4,4,3,1,10,4,3,1,1,1,1,1,1,1,1,1,1,4,2,4,4,3,20,13,21,16,19,6 [...]
+	  Sixth merge from main trunk.
+
+2004-12-11 Saturday 22:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.138), STANDARDS (1.15), TODO (1.126),
+	  Watchdog/EList_Iterator.inlines.hh (1.2),
+	  Watchdog/Handler.defs.hh (1.2), Watchdog/Makefile.am (1.14),
+	  Watchdog/Watchdog.defs.hh (1.14), demos/ppl_lcdd/ppl_lcdd.cc
+	  (1.38), demos/ppl_lcdd/examples/allzero.ine (1.2),
+	  demos/ppl_lcdd/examples/ccc4.ext (1.2),
+	  demos/ppl_lcdd/examples/ccp4.ext (1.2),
+	  demos/ppl_lcdd/examples/cp4.ext (1.2),
+	  demos/ppl_lcdd/examples/cp4.ine (1.2),
+	  demos/ppl_lcdd/examples/cp5.ine (1.2),
+	  demos/ppl_lcdd/examples/cp6.ine (1.2),
+	  demos/ppl_lcdd/examples/cp7.ext (1.2),
+	  demos/ppl_lcdd/examples/cross10.ine (1.2),
+	  demos/ppl_lcdd/examples/cross12.ine (1.2),
+	  demos/ppl_lcdd/examples/cross4.ine (1.2),
+	  demos/ppl_lcdd/examples/cross6.ine (1.2),
+	  demos/ppl_lcdd/examples/cross8.ine (1.2),
+	  demos/ppl_lcdd/examples/cube.ext (1.2),
+	  demos/ppl_lcdd/examples/cubetop.ine (1.2),
+	  demos/ppl_lcdd/examples/cubocta.ine (1.2),
+	  demos/ppl_lcdd/examples/cut16_11.ext (1.2),
+	  demos/ppl_lcdd/examples/cut32_16.ext (1.2),
+	  demos/ppl_lcdd/examples/cyc.ine (1.2),
+	  demos/ppl_lcdd/examples/cyclic16-10.ext (1.2),
+	  demos/ppl_lcdd/examples/cyclic25_13.ext (1.2),
+	  demos/ppl_lcdd/examples/ex1.ine (1.2),
+	  demos/ppl_lcdd/examples/grcubocta.ine (1.2),
+	  demos/ppl_lcdd/examples/in0.ine (1.2),
+	  demos/ppl_lcdd/examples/in1.ine (1.2),
+	  demos/ppl_lcdd/examples/in2.ine (1.2),
+	  demos/ppl_lcdd/examples/in3.ine (1.2),
+	  demos/ppl_lcdd/examples/in4.ine (1.2),
+	  demos/ppl_lcdd/examples/in5.ine (1.2),
+	  demos/ppl_lcdd/examples/in6.ine (1.2),
+	  demos/ppl_lcdd/examples/in7.ine (1.2),
+	  demos/ppl_lcdd/examples/integralpoints.ine (1.2),
+	  demos/ppl_lcdd/examples/irbox20-4.ext (1.2),
+	  demos/ppl_lcdd/examples/irbox200-4.ext (1.2),
+	  demos/ppl_lcdd/examples/kkd18_4.ine (1.2),
+	  demos/ppl_lcdd/examples/kkd27_5.ine (1.2),
+	  demos/ppl_lcdd/examples/kkd38_6.ine (1.2),
+	  demos/ppl_lcdd/examples/kq20_11_m.ine (1.2),
+	  demos/ppl_lcdd/examples/metric40_11.ine (1.2),
+	  demos/ppl_lcdd/examples/metric80_16.ine (1.2),
+	  demos/ppl_lcdd/examples/mit.ine (1.2),
+	  demos/ppl_lcdd/examples/mit288-281.ine (1.2),
+	  demos/ppl_lcdd/examples/mit31-20.ine (1.2),
+	  demos/ppl_lcdd/examples/mit41-16.ine (1.2),
+	  demos/ppl_lcdd/examples/mit708-9.ine (1.2),
+	  demos/ppl_lcdd/examples/mit71-61.ine (1.2),
+	  demos/ppl_lcdd/examples/mit90-86.ine (1.2),
+	  demos/ppl_lcdd/examples/mp5.ext (1.2),
+	  demos/ppl_lcdd/examples/mp5.ine (1.2),
+	  demos/ppl_lcdd/examples/mp5a.ine (1.2),
+	  demos/ppl_lcdd/examples/mp6.ine (1.2),
+	  demos/ppl_lcdd/examples/origin.ine (1.2),
+	  demos/ppl_lcdd/examples/project2res.ine (1.2),
+	  demos/ppl_lcdd/examples/rcubocta.ine (1.2),
+	  demos/ppl_lcdd/examples/reg24-5.ext (1.2),
+	  demos/ppl_lcdd/examples/reg24-5.ine (1.2),
+	  demos/ppl_lcdd/examples/sampleh1.ine (1.2),
+	  demos/ppl_lcdd/examples/sampleh3.ine (1.2),
+	  demos/ppl_lcdd/examples/sampleh4.ine (1.2),
+	  demos/ppl_lcdd/examples/sampleh6.ine (1.2),
+	  demos/ppl_lcdd/examples/sampleh7.ine (1.2),
+	  demos/ppl_lcdd/examples/sampleh8.ine (1.2),
+	  demos/ppl_lcdd/examples/samplev1.ext (1.2),
+	  demos/ppl_lcdd/examples/samplev3.ext (1.2),
+	  demos/ppl_lcdd/examples/trunc10.ine (1.2),
+	  demos/ppl_lcdd/examples/trunc7.ine (1.2),
+	  demos/ppl_lcdd/examples/tsp5.ext (1.2),
+	  demos/ppl_lcdd/examples/tsp5.ine (1.2), doc/Makefile.am (1.30),
+	  doc/definitions.dox (1.164), doc/devref-browse.doxyconf-latex.in
+	  (1.53), doc/devref-print.doxyconf-latex.in (1.53),
+	  doc/devref.doxyconf-html.in (1.53), doc/fdl.tex (1.3),
+	  doc/user-browse.doxyconf-latex.in (1.22),
+	  doc/user-print.doxyconf-latex.in (1.22),
+	  doc/user.doxyconf-html.in (1.24), interfaces/C/ppl_c.h.in (1.40),
+	  interfaces/Prolog/Prolog_interface.dox (1.119),
+	  interfaces/Prolog/exceptions.hh (1.13),
+	  interfaces/Prolog/ppl_prolog.icc (1.146),
+	  interfaces/Prolog/Ciao/ciao_clpq2.pl (1.6),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.73),
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.23),
+	  interfaces/Prolog/SICStus/Makefile.am (1.48),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.68),
+	  interfaces/Prolog/SICStus/sicstus_cfli.ic (1.9),
+	  interfaces/Prolog/SWI/Makefile.am (1.40),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.92),
+	  interfaces/Prolog/tests/pl_check.pl (1.2), src/Ask_Tell.defs.hh
+	  (1.3), src/Ask_Tell.inlines.hh (1.3), src/BHRZ03_Certificate.cc
+	  (1.6), src/BHRZ03_Certificate.defs.hh (1.8),
+	  src/Checked_Number.inlines.hh (1.8), src/Constraint.defs.hh
+	  (1.98), src/Constraint.inlines.hh (1.57),
+	  src/Constraint_System.defs.hh (1.3), src/Generator.defs.hh
+	  (1.98), src/Generator.inlines.hh (1.51), src/Generator_System.cc
+	  (1.3), src/Generator_System.defs.hh (1.3),
+	  src/H79_Certificate.defs.hh (1.8), src/Interval.defs.hh (1.19),
+	  src/Interval.inlines.hh (1.15), src/Linear_Expression.cc (1.3),
+	  src/Linear_Expression.defs.hh (1.5),
+	  src/Linear_Expression.inlines.hh (1.3), src/Linear_Row.cc (1.3),
+	  src/Linear_Row.inlines.hh (1.6), src/Linear_System.cc (1.12),
+	  src/Linear_System.defs.hh (1.10), src/Linear_System.inlines.hh
+	  (1.9), src/Matrix.inlines.hh (1.42),
+	  src/Native_Integer.inlines.hh (1.6),
+	  src/Polyhedra_Powerset.defs.hh (1.10),
+	  src/Polyhedra_Powerset.inlines.hh (1.11), src/Polyhedron.defs.hh
+	  (1.260), src/Polyhedron.inlines.hh (1.105),
+	  src/Polyhedron_chdims.cc (1.26), src/Polyhedron_nonpublic.cc
+	  (1.39), src/Polyhedron_public.cc (1.44),
+	  src/Polyhedron_widenings.cc (1.38), src/Row.cc (1.75),
+	  src/Row.defs.hh (1.87), src/Row.inlines.hh (1.54),
+	  src/Saturation_Matrix.inlines.hh (1.2), src/Saturation_Row.cc
+	  (1.2), src/Saturation_Row.defs.hh (1.2),
+	  src/Widening_Function.defs.hh (1.8),
+	  src/Widening_Function.inlines.hh (1.8), src/checked.defs.hh
+	  (1.4), src/checked.inlines.hh (1.4), src/checked_float.inlines.hh
+	  (1.10), src/checked_int.inlines.hh (1.6),
+	  src/checked_mpq.inlines.hh (1.5), src/checked_mpz.inlines.hh
+	  (1.5), src/globals.defs.hh (1.11), src/globals.inlines.hh (1.6),
+	  src/swapping_sort.icc (1.5), tests/Makefile.am (1.239),
+	  tests/addspacedims9.cc (1.2), tests/bgp99extrapolation1.cc (1.7),
+	  tests/bhz03widening1.cc (1.8), tests/bhz03widening3.cc (1.8),
+	  tests/bhz03widening4.cc (1.6), tests/boundingbox1.cc (1.39),
+	  tests/boundingbox3.cc (1.15), tests/boundingbox4.cc (1.12),
+	  tests/disjoint3.cc (1.10), tests/dualhypercubes.cc (1.9),
+	  tests/expandspacedim1.cc (1.2), tests/generalizedaffineimage9.cc
+	  (1.8), tests/polydifference1.cc (1.10), tests/polydifference8.cc
+	  (1.4), tests/polydifference9.cc (1.5), tests/print.cc (1.13): Try
+	  to avoid very long lines.
+
+2004-12-11 Saturday 21:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.125): Postponed a couple of items.
+
+2004-12-11 Saturday 20:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.137), README (1.30), TODO (1.124),
+	  demos/ppl_lcdd/ppl_lcdd.cc (1.37),
+	  doc/devref-browse.doxyconf-latex.in (1.52),
+	  doc/devref-print.doxyconf-latex.in (1.52),
+	  doc/devref.doxyconf-html.in (1.52), interfaces/C/ppl_c.cc
+	  (1.117), interfaces/Prolog/Prolog_interface.dox (1.118),
+	  interfaces/Prolog/exceptions.hh (1.12),
+	  interfaces/Prolog/ppl_prolog.icc (1.145),
+	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.27),
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.22),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.67),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.91),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.58),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.84), src/Bounding_Box.cc
+	  (1.2), src/Bounding_Box.defs.hh (1.2),
+	  src/Bounding_Box.inlines.hh (1.2), src/Coefficient.cc (1.1),
+	  src/Coefficient.defs.hh (1.1), src/Coefficient.inlines.hh (1.1),
+	  src/Coefficient.types.hh (1.1),
+	  src/Coefficient_traits_template.hh (1.1), src/Constraint.cc
+	  (1.45), src/Constraint.defs.hh (1.97), src/Constraint.inlines.hh
+	  (1.56), src/Constraint_System.cc (1.2),
+	  src/Constraint_System.defs.hh (1.2), src/GMP_Integer.types.hh
+	  (1.3), src/Generator.cc (1.56), src/Generator.defs.hh (1.97),
+	  src/Generator.inlines.hh (1.50), src/Generator_System.cc (1.2),
+	  src/Generator_System.defs.hh (1.2), src/Integer.cc (1.5),
+	  src/Integer.defs.hh (1.15), src/Integer.inlines.hh (1.14),
+	  src/Integer.types.hh (1.10), src/Integer_macros.hh (1.3),
+	  src/Integer_traits_template.hh (1.3), src/Interval.defs.hh
+	  (1.18), src/Interval.inlines.hh (1.14), src/Linear_Expression.cc
+	  (1.2), src/Linear_Expression.defs.hh (1.4),
+	  src/Linear_Expression.inlines.hh (1.2), src/Linear_Row.cc (1.2),
+	  src/Linear_Row.defs.hh (1.6), src/Linear_Row.inlines.hh (1.5),
+	  src/Linear_System.cc (1.11), src/Makefile.am (1.90),
+	  src/Matrix.defs.hh (1.66), src/Native_Integer.defs.hh (1.5),
+	  src/Native_Integer.types.hh (1.3), src/Polyhedron.defs.hh
+	  (1.259), src/Polyhedron.inlines.hh (1.104),
+	  src/Polyhedron_nonpublic.cc (1.38), src/Polyhedron_public.cc
+	  (1.43), src/Polyhedron_widenings.cc (1.37), src/Row.cc (1.74),
+	  src/Row.defs.hh (1.86), src/Row.inlines.hh (1.53),
+	  src/conversion.cc (1.65), src/globals.cc (1.19),
+	  src/globals.defs.hh (1.10), src/globals.inlines.hh (1.5),
+	  tests/BBox.cc (1.6), tests/BBox.hh (1.5),
+	  tests/bhrz03widening13.cc (1.6), tests/bhrz03widening14.cc (1.8),
+	  tests/dualhypercubes.cc (1.8), tests/exceptions1.cc (1.43),
+	  tests/intersection2.cc (1.12), tests/max_min1.cc (1.6),
+	  tests/max_min2.cc (1.6), tests/randphull1.cc (1.13),
+	  tests/randphull2.cc (1.10): The type Integer has been renamed
+	  Coefficient.
+
+2004-12-11 Saturday 14:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/algorithms.hh (1.37): Useless inclusions removed.
+
+2004-12-11 Saturday 14:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.136), README (1.29), TODO (1.123),
+	  demos/ppl_lcdd/ppl_lcdd.cc (1.36), doc/definitions.dox (1.163),
+	  doc/devref-browse.doxyconf-latex.in (1.51),
+	  doc/devref-print.doxyconf-latex.in (1.51),
+	  doc/devref.doxyconf-html.in (1.51), interfaces/C/ppl_c.cc
+	  (1.116), interfaces/C/ppl_c.h.in (1.39),
+	  interfaces/Prolog/ppl_prolog.icc (1.144),
+	  src/BHRZ03_Certificate.cc (1.5), src/C_Polyhedron.defs.hh (1.30),
+	  src/C_Polyhedron.inlines.hh (1.23), src/Constraint.defs.hh
+	  (1.96), src/GenSys.cc (1.102), src/GenSys.defs.hh (1.107),
+	  src/GenSys.inlines.hh (1.38), src/GenSys.types.hh (1.8),
+	  src/Generator.defs.hh (1.96), src/Generator_System.cc (1.1),
+	  src/Generator_System.defs.hh (1.1),
+	  src/Generator_System.inlines.hh (1.1),
+	  src/Generator_System.types.hh (1.1),
+	  src/Linear_Expression.defs.hh (1.3), src/Linear_System.defs.hh
+	  (1.9), src/Makefile.am (1.89), src/Matrix.defs.hh (1.65),
+	  src/NNC_Polyhedron.defs.hh (1.32), src/NNC_Polyhedron.inlines.hh
+	  (1.26), src/Polyhedron.defs.hh (1.258), src/Polyhedron.inlines.hh
+	  (1.103), src/Polyhedron_nonpublic.cc (1.37),
+	  src/Polyhedron_public.cc (1.42), src/Polyhedron_widenings.cc
+	  (1.36), tests/NNCminimize1.cc (1.12), tests/NNCminimize2.cc
+	  (1.12), tests/NNCminimize3.cc (1.12), tests/NNCminimize4.cc
+	  (1.13), tests/NNCminimize5.cc (1.12), tests/addconstraints9.cc
+	  (1.15), tests/addgenerator1.cc (1.8), tests/addgenerator2.cc
+	  (1.8), tests/addgenerator3.cc (1.5), tests/addgenerator4.cc
+	  (1.7), tests/addgenerator5.cc (1.2), tests/addgenerators1.cc
+	  (1.13), tests/addgenerators10.cc (1.5), tests/addgenerators11.cc
+	  (1.10), tests/addgenerators12.cc (1.7), tests/addgenerators13.cc
+	  (1.3), tests/addgenerators2.cc (1.13), tests/addgenerators3.cc
+	  (1.13), tests/addgenerators4.cc (1.13), tests/addgenerators5.cc
+	  (1.13), tests/addgenerators6.cc (1.13), tests/addgenerators7.cc
+	  (1.10), tests/addgenerators8.cc (1.8), tests/addgenerators9.cc
+	  (1.7), tests/addspacedims1.cc (1.2), tests/addspacedims10.cc
+	  (1.3), tests/addspacedims11.cc (1.2), tests/addspacedims3.cc
+	  (1.3), tests/addspacedims6.cc (1.2), tests/addspacedims7.cc
+	  (1.2), tests/affineimage3.cc (1.5), tests/affineimage7.cc (1.5),
+	  tests/affinepreimage1.cc (1.12), tests/affinepreimage4.cc (1.13),
+	  tests/affinepreimage7.cc (1.5), tests/affinetrans.cc (1.16),
+	  tests/ascii_dump_load7.cc (1.8), tests/bhrz03widening1.cc (1.5),
+	  tests/bhrz03widening12.cc (1.5), tests/bhrz03widening13.cc (1.5),
+	  tests/bhrz03widening14.cc (1.7), tests/bhrz03widening15.cc (1.9),
+	  tests/bhrz03widening16.cc (1.5), tests/bhrz03widening17.cc (1.5),
+	  tests/bhrz03widening18.cc (1.5), tests/bhrz03widening19.cc (1.5),
+	  tests/bhrz03widening2.cc (1.7), tests/bhrz03widening6.cc (1.6),
+	  tests/bhrz03widening7.cc (1.6), tests/bhrz03widening8.cc (1.5),
+	  tests/bhrz03widening9.cc (1.8), tests/concatenate4.cc (1.7),
+	  tests/contains2.cc (1.4), tests/contains3.cc (1.4),
+	  tests/contains4.cc (1.3), tests/disjoint2.cc (1.10),
+	  tests/disjoint3.cc (1.9), tests/dualhypercubes.cc (1.7),
+	  tests/empty1.cc (1.15), tests/exceptions1.cc (1.42),
+	  tests/exceptions2.cc (1.37), tests/generators1.cc (1.16),
+	  tests/generators2.cc (1.12), tests/generators3.cc (1.6),
+	  tests/generators4.cc (1.7), tests/generators5.cc (1.6),
+	  tests/generators6.cc (1.7), tests/h79widening4.cc (1.5),
+	  tests/intersection2.cc (1.11), tests/intersection6.cc (1.8),
+	  tests/limitedbhrz03extrapolation1.cc (1.5),
+	  tests/mapspacedims1.cc (1.2), tests/maxspacedim1.cc (1.5),
+	  tests/membytes1.cc (1.7), tests/mingenerators1.cc (1.6),
+	  tests/mingenerators2.cc (1.5), tests/mingenerators3.cc (1.5),
+	  tests/polydifference1.cc (1.9), tests/polydifference2.cc (1.11),
+	  tests/polydifference8.cc (1.3), tests/polyhull1.cc (1.9),
+	  tests/polyhull2.cc (1.8), tests/polyhull7.cc (1.5),
+	  tests/print.cc (1.12), tests/print.hh (1.16), tests/randphull1.cc
+	  (1.12), tests/randphull2.cc (1.9), tests/relations12.cc (1.6),
+	  tests/relations15.cc (1.6), tests/relations16.cc (1.6),
+	  tests/relations17.cc (1.9), tests/relations4.cc (1.12),
+	  tests/relations5.cc (1.12), tests/removespacedims1.cc (1.2),
+	  tests/removespacedims2.cc (1.3), tests/removespacedims4.cc (1.2),
+	  tests/removespacedims8.cc (1.2), tests/smm1.cc (1.17),
+	  tests/timeelapse1.cc (1.9), tests/timeelapse3.cc (1.10),
+	  tests/timeelapse4.cc (1.9), tests/timeelapse6.cc (1.5),
+	  tests/topclosed2.cc (1.7), tests/topclosed3.cc (1.9),
+	  tests/topclosure1.cc (1.8), tests/universe7.cc (1.2),
+	  tests/writegensys1.cc (1.9), tests/writegensys2.cc (1.9),
+	  tests/writegensys3.cc (1.9): The class GenSys has been renamed
+	  Generator_System.
+
+2004-12-11 Saturday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.135), README (1.28), TODO (1.122),
+	  demos/ppl_lcdd/ppl_lcdd.cc (1.35), demos/ppl_lpsol/ppl_lpsol.c
+	  (1.7), doc/definitions.dox (1.162),
+	  doc/devref-browse.doxyconf-latex.in (1.50),
+	  doc/devref-print.doxyconf-latex.in (1.50),
+	  doc/devref.doxyconf-html.in (1.50), interfaces/C/ppl_c.cc
+	  (1.115), interfaces/C/ppl_c.h.in (1.38),
+	  interfaces/Prolog/ppl_prolog.icc (1.143), src/Ask_Tell.defs.hh
+	  (1.2), src/Ask_Tell.inlines.hh (1.2), src/BHRZ03_Certificate.cc
+	  (1.4), src/C_Polyhedron.cc (1.13), src/C_Polyhedron.defs.hh
+	  (1.29), src/C_Polyhedron.inlines.hh (1.22), src/ConSys.cc (1.76),
+	  src/ConSys.defs.hh (1.93), src/ConSys.inlines.hh (1.37),
+	  src/ConSys.types.hh (1.8), src/Constraint.defs.hh (1.95),
+	  src/Constraint_System.cc (1.1), src/Constraint_System.defs.hh
+	  (1.1), src/Constraint_System.inlines.hh (1.1),
+	  src/Constraint_System.types.hh (1.1), src/Determinate.defs.hh
+	  (1.49), src/Determinate.inlines.hh (1.43), src/GenSys.inlines.hh
+	  (1.37), src/Generator.defs.hh (1.95), src/H79_Certificate.cc
+	  (1.5), src/Linear_Expression.defs.hh (1.2),
+	  src/Linear_System.defs.hh (1.8), src/Makefile.am (1.88),
+	  src/Matrix.defs.hh (1.64), src/NNC_Polyhedron.defs.hh (1.31),
+	  src/NNC_Polyhedron.inlines.hh (1.25),
+	  src/Polyhedra_Powerset.defs.hh (1.9),
+	  src/Polyhedra_Powerset.inlines.hh (1.10), src/Polyhedron.defs.hh
+	  (1.257), src/Polyhedron.inlines.hh (1.102),
+	  src/Polyhedron.types.hh (1.13), src/Polyhedron_chdims.cc (1.25),
+	  src/Polyhedron_nonpublic.cc (1.36), src/Polyhedron_public.cc
+	  (1.41), src/Polyhedron_widenings.cc (1.35),
+	  src/Widening_Function.defs.hh (1.7),
+	  src/Widening_Function.inlines.hh (1.7), src/algorithms.hh (1.36),
+	  tests/NNCminimize1.cc (1.11), tests/NNCminimize2.cc (1.11),
+	  tests/NNCminimize3.cc (1.11), tests/NNCminimize5.cc (1.11),
+	  tests/NNCminimize6.cc (1.12), tests/addconstraint1.cc (1.7),
+	  tests/addconstraints1.cc (1.13), tests/addconstraints10.cc
+	  (1.11), tests/addconstraints11.cc (1.12),
+	  tests/addconstraints12.cc (1.5), tests/addconstraints13.cc (1.7),
+	  tests/addconstraints2.cc (1.20), tests/addconstraints3.cc (1.11),
+	  tests/addconstraints4.cc (1.12), tests/addconstraints5.cc (1.13),
+	  tests/addconstraints6.cc (1.14), tests/addconstraints7.cc (1.13),
+	  tests/addconstraints8.cc (1.14), tests/addconstraints9.cc (1.14),
+	  tests/addspacedims3.cc (1.2), tests/addspacedims4.cc (1.2),
+	  tests/addspacedims5.cc (1.2), tests/ascii_dump_load4.cc (1.15),
+	  tests/boundedh79extrapolation1.cc (1.2), tests/boundingbox1.cc
+	  (1.38), tests/boundingbox3.cc (1.14), tests/concatenate1.cc
+	  (1.10), tests/concatenate2.cc (1.9), tests/concatenate3.cc (1.8),
+	  tests/constraints1.cc (1.7), tests/constraints2.cc (1.7),
+	  tests/constraints3.cc (1.8), tests/constraints4.cc (1.7),
+	  tests/contains2.cc (1.3), tests/contains3.cc (1.3),
+	  tests/contains5.cc (1.3), tests/exceptions1.cc (1.41),
+	  tests/exceptions2.cc (1.36), tests/generators1.cc (1.15),
+	  tests/generators2.cc (1.11), tests/geomcovers1.cc (1.2),
+	  tests/intersection4.cc (1.8),
+	  tests/limitedbhrz03extrapolation1.cc (1.4),
+	  tests/limitedh79extrapolation1.cc (1.4),
+	  tests/limitedh79extrapolation2.cc (1.4),
+	  tests/limitedh79extrapolation3.cc (1.5),
+	  tests/limitedh79extrapolation4.cc (1.5), tests/maxspacedim1.cc
+	  (1.4), tests/membytes1.cc (1.6), tests/minconstraints1.cc (1.6),
+	  tests/minconstraints2.cc (1.6), tests/minconstraints3.cc (1.5),
+	  tests/minconstraints4.cc (1.9), tests/polydifference2.cc (1.10),
+	  tests/polydifference3.cc (1.6), tests/polydifference8.cc (1.2),
+	  tests/print.cc (1.11), tests/print.hh (1.15), tests/randphull2.cc
+	  (1.8), tests/relations1.cc (1.11), tests/relations8.cc (1.11),
+	  tests/relations9.cc (1.14), tests/smm1.cc (1.16),
+	  tests/timeelapse3.cc (1.9), tests/universe3.cc (1.12),
+	  tests/universe4.cc (1.12), tests/universe6.cc (1.11),
+	  tests/writeconsys1.cc (1.9): The class ConSys has been renamed
+	  Constraint_System.
+
+2004-12-11 Saturday 09:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.134), README (1.27), TODO (1.121), configure.ac (1.142),
+	  demos/ppl_lcdd/ppl_lcdd.cc (1.34), demos/ppl_lpsol/ppl_lpsol.c
+	  (1.6), doc/devref-browse.doxyconf-latex.in (1.49),
+	  doc/devref-print.doxyconf-latex.in (1.49),
+	  doc/devref.doxyconf-html.in (1.49), interfaces/C/ppl_c.cc
+	  (1.114), interfaces/C/ppl_c.h.in (1.37),
+	  interfaces/Prolog/ppl_prolog.icc (1.142),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.72), src/C_Polyhedron.cc
+	  (1.12), src/ConSys.cc (1.75), src/ConSys.defs.hh (1.92),
+	  src/Constraint.cc (1.44), src/Constraint.defs.hh (1.94),
+	  src/Constraint.inlines.hh (1.55), src/GenSys.cc (1.101),
+	  src/GenSys.defs.hh (1.106), src/Generator.cc (1.55),
+	  src/Generator.defs.hh (1.94), src/Generator.inlines.hh (1.49),
+	  src/LinExpression.cc (1.25), src/LinExpression.defs.hh (1.73),
+	  src/LinExpression.inlines.hh (1.34), src/LinExpression.types.hh
+	  (1.8), src/Linear_Expression.cc (1.1),
+	  src/Linear_Expression.defs.hh (1.1),
+	  src/Linear_Expression.inlines.hh (1.1),
+	  src/Linear_Expression.types.hh (1.1), src/Linear_Row.defs.hh
+	  (1.5), src/Linear_System.cc (1.10), src/Makefile.am (1.87),
+	  src/Polyhedra_Powerset.inlines.hh (1.9), src/Polyhedron.defs.hh
+	  (1.256), src/Polyhedron.inlines.hh (1.101),
+	  src/Polyhedron_chdims.cc (1.24), src/Polyhedron_nonpublic.cc
+	  (1.35), src/Polyhedron_public.cc (1.40),
+	  src/Polyhedron_widenings.cc (1.34), src/Variable.defs.hh (1.44),
+	  src/algorithms.hh (1.35), tests/addconstraints1.cc (1.12),
+	  tests/addconstraints3.cc (1.10), tests/addconstraints8.cc (1.13),
+	  tests/affinetrans.cc (1.15), tests/bhrz03widening14.cc (1.6),
+	  tests/bhrz03widening15.cc (1.8), tests/bounded1.cc (1.14),
+	  tests/bounds1.cc (1.7), tests/constraints3.cc (1.7),
+	  tests/disjoint2.cc (1.9), tests/disjoint3.cc (1.8),
+	  tests/dualhypercubes.cc (1.6), tests/exceptions1.cc (1.40),
+	  tests/exceptions2.cc (1.35), tests/exceptions3.cc (1.5),
+	  tests/generalizedaffineimage9.cc (1.7),
+	  tests/limitedh79extrapolation4.cc (1.4), tests/linexpression1.cc
+	  (1.5), tests/max_min1.cc (1.5), tests/max_min2.cc (1.5),
+	  tests/maxspacedim1.cc (1.3), tests/membytes1.cc (1.5),
+	  tests/polydifference3.cc (1.5), tests/randphull2.cc (1.7),
+	  tests/relations7.cc (1.11), tests/relations9.cc (1.13),
+	  tests/removespacedims2.cc (1.2), tests/universe6.cc (1.10),
+	  tests/writeconsys1.cc (1.8), tests/writegensys3.cc (1.8): The
+	  class LinExpression has been renamed Linear_Expression.
+
+2004-12-11 Saturday 09:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/expected_mpz_a (1.2): Adapted to the recent
+	  changes in the precision of ppl_lpsol's output.
+
+2004-12-09 Thursday 17:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/swapping_sort.icc (1.4): The swapping sort procedure
+	  rewritten from scratch (it was buggy).
+
+2004-12-08 Wednesday 11:12  Abramo Bagnara
+
+	* src/globals.defs.hh (altnum.5): Added used() function useful to
+	  suppress compiler warning.
+
+2004-12-08 Wednesday 09:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.inlines.hh (1.7): Do not name an unused
+	  parameter.
+
+2004-12-07 Tuesday 19:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/: expected_int16 (1.2), expected_int32 (1.2),
+	  expected_int32_a (1.2), expected_int64 (1.2), expected_int64_a
+	  (1.2), expected_mpz (1.2), ppl_lpsol.c (1.5): Print optimum value
+	  and location with the format "%.10g" instead of "%g".
+
+2004-12-07 Tuesday 13:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.133), README (1.26), TODO (1.120),
+	  doc/devref-browse.doxyconf-latex.in (1.48),
+	  doc/devref-print.doxyconf-latex.in (1.48),
+	  doc/devref.doxyconf-html.in (1.48), src/AskTell.defs.hh (1.28),
+	  src/AskTell.inlines.hh (1.24), src/AskTell.types.hh (1.7),
+	  src/Linear_System.cc (1.9), src/Linear_System.defs.hh (1.7),
+	  src/Linear_System.inlines.hh (1.8), src/Makefile.am (1.86),
+	  src/Matrix.defs.hh (1.63), src/Polyhedron.defs.hh (1.255),
+	  src/Polyhedron_chdims.cc (1.23), src/Polyhedron_nonpublic.cc
+	  (1.34), src/Polyhedron_public.cc (1.39),
+	  src/Polyhedron_widenings.cc (1.33), src/SatMatrix.cc (1.35),
+	  src/SatMatrix.defs.hh (1.39), src/SatMatrix.inlines.hh (1.27),
+	  src/SatMatrix.types.hh (1.8), src/SatRow.cc (1.31),
+	  src/SatRow.defs.hh (1.37), src/SatRow.inlines.hh (1.31),
+	  src/SatRow.types.hh (1.8), src/Saturation_Matrix.cc (1.1),
+	  src/Saturation_Matrix.defs.hh (1.1),
+	  src/Saturation_Matrix.inlines.hh (1.1),
+	  src/Saturation_Matrix.types.hh (1.1), src/Saturation_Row.cc
+	  (1.1), src/Saturation_Row.defs.hh (1.1),
+	  src/Saturation_Row.inlines.hh (1.1), src/Saturation_Row.types.hh
+	  (1.1), src/conversion.cc (1.64), src/minimize.cc (1.39),
+	  src/simplify.cc (1.41), src/swapping_sort.icc (1.3): The class
+	  SatRow has been renamed Saturation_Row.  The class SatMatrix has
+	  been renamed Saturation_Matrix.
+
+2004-12-07 Tuesday 09:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.132), README (1.25), TODO (1.119),
+	  doc/devref-browse.doxyconf-latex.in (1.47),
+	  doc/devref-print.doxyconf-latex.in (1.47),
+	  doc/devref.doxyconf-html.in (1.47),
+	  interfaces/Prolog/ppl_prolog.icc (1.141), src/BoundingBox.cc
+	  (1.10), src/BoundingBox.defs.hh (1.15),
+	  src/BoundingBox.inlines.hh (1.14), src/BoundingBox.types.hh
+	  (1.7), src/Bounding_Box.cc (1.1), src/Bounding_Box.defs.hh (1.1),
+	  src/Bounding_Box.inlines.hh (1.1), src/Bounding_Box.types.hh
+	  (1.1), src/Makefile.am (1.85), tests/boundingbox2.cc (1.23),
+	  tests/boundingbox3.cc (1.13), tests/boundingbox4.cc (1.11): The
+	  class BoundingBox has been renamed Bounding_Box.
+
+2004-12-06 Monday 22:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Makefile.am (1.238): Added nnc_membytes2 to
+	  XFAIL_WITH_INT8_A.
+
+2004-12-06 Monday 18:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.131), README (1.24), TODO (1.118), src/Ask_Tell.defs.hh
+	  (1.1), src/Ask_Tell.inlines.hh (1.1), src/Ask_Tell.types.hh
+	  (1.1): The class AskTell has been renamed Ask_Tell.
+
+2004-12-06 Monday 18:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.130), src/Polyhedra_Powerset.defs.hh (1.8),
+	  src/Polyhedra_Powerset.inlines.hh (1.8), tests/membytes2.cc
+	  (1.3): New explicit constructor
+	  Polyhedra_Powerset<CS>::Polyhedra_Powerset(const PH& ph):  if
+	  `ph' is not empty, builds a powerset containing only `ph';
+	  builds the empty powerset otherwise.	Constructor
+	  Polyhedra_Powerset<PH>::Polyhedra_Powerset(const ConSys& cs) made
+	  explicit as well.
+
+2004-12-06 Monday 17:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.129), src/Powerset.defs.hh (1.3), src/Powerset.inlines.hh
+	  (1.4): New explicit constructor Powerset<CS>::Powerset(const CS&
+	  d):  if `d' is not bottom, builds a powerset containing only `d';
+	  builds the empty powerset otherwise.
+
+2004-12-06 Monday 17:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.128): Restored an item erased by mistake.
+
+2004-12-06 Monday 17:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.127): Improved.
+
+2004-12-06 Monday 17:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.126), TODO (1.117), src/C_Polyhedron.defs.hh (1.28),
+	  src/C_Polyhedron.inlines.hh (1.21), src/NNC_Polyhedron.defs.hh
+	  (1.30), src/NNC_Polyhedron.inlines.hh (1.24): New methods
+	  C_Polyhedron& C_Polyhedron::operator=(const NNC_Polyhedron& y)
+	  and NNC_Polyhedron& NNC_Polyhedron::operator=(const C_Polyhedron&
+	  y).
+
+2004-12-06 Monday 16:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/C_Polyhedron.cc (1.11): Efficiency bug fixed in
+	  C_Polyhedron::C_Polyhedron(const NNC_Polyhedron&).
+
+2004-12-06 Monday 16:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.116): All the public classes of the library have been
+	  endowed with methods total_memory_in_bytes() and
+	  external_memory_in_bytes().
+
+2004-12-06 Monday 16:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: LinExpression.defs.hh (1.72), Variable.defs.hh (1.43):
+	  Comments fixed/improved.
+
+2004-12-06 Monday 16:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedra_Powerset.defs.hh (1.7),
+	  src/Polyhedra_Powerset.inlines.hh (1.7), src/Powerset.defs.hh
+	  (1.2), src/Powerset.inlines.hh (1.3), tests/membytes2.cc (1.2):
+	  Added methods Powerset<CS>::external_memory_in_bytes() and
+	  Powerset<CS>::total_memory_in_bytes().  Added methods
+	  Polyhedra_Powerset<PH>::external_memory_in_bytes() and
+	  Polyhedra_Powerset<PH>::total_memory_in_bytes().
+
+2004-12-06 Monday 10:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Determinate.defs.hh (1.48), src/Determinate.inlines.hh
+	  (1.42), tests/Makefile.am (1.237), tests/membytes2.cc (1.1):
+	  Added methods Determinate<PH>::external_memory_in_bytes() and
+	  Determinate<PH>::total_memory_in_bytes().
+
+2004-12-06 Monday 09:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Determinate.defs.hh (1.47): Useless declarations removed.
+
+2004-12-05 Sunday 22:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Variable.cc (1.17), Variable.defs.hh (1.42): New method
+	  Variable::OK().
+
+2004-12-05 Sunday 21:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: LinExpression.cc (1.24), LinExpression.defs.hh (1.71): New
+	  method LinExpression::OK().
+
+2004-12-05 Sunday 21:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Generator.defs.hh (1.93), src/Generator.inlines.hh (1.48),
+	  src/LinExpression.defs.hh (1.70), src/LinExpression.inlines.hh
+	  (1.33), src/Variable.defs.hh (1.41), src/Variable.inlines.hh
+	  (1.20), tests/membytes1.cc (1.4): Added
+	  Variable::total_memory_in_bytes() and
+	  Variable::external_memory_in_bytes().  Added
+	  Generator::total_memory_in_bytes() and
+	  Generator::external_memory_in_bytes().  Added
+	  LinExpression::total_memory_in_bytes() and
+	  LinExpression::external_memory_in_bytes().
+
+2004-12-05 Sunday 07:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/membytes1.cc (1.3): Avoid compiler warnings.
+
+2004-12-05 Sunday 07:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.115), interfaces/Prolog/Prolog_interface.dox (1.117): We
+	  now explain to the GNU Prolog user that GNU Prolog must be
+	  configured using the `--disable-regs' option, if it has to work
+	  with _any_ foreign code (not just the PPL).
+
+2004-11-28 Sunday 14:35  Abramo Bagnara
+
+	* configure.ac, src/checked_float.inlines.hh (altnum.[11,14]):
+	  Fixed cygwin support.
+
+2004-11-28 Sunday 14:34  Abramo Bagnara
+
+	* configure.ac (1.141), src/checked_float.inlines.hh (1.9): Fixed
+	  cygwin support
+
+2004-11-27 Saturday 19:32  Abramo Bagnara
+
+	* src/checked_int.inlines.hh (altnum.20): Use signed explicitly.
+
+2004-11-27 Saturday 17:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* INSTALL, NEWS, TODO, compile, config.guess, configure.ac,
+	  install-sh, Watchdog/INSTALL, Watchdog/Makefile.am,
+	  Watchdog/compile, Watchdog/config.guess, Watchdog/configure.ac,
+	  Watchdog/install-sh, demos/Makefile.am,
+	  demos/ppl_lcdd/Makefile.am, demos/ppl_lcdd/expected_int8,
+	  demos/ppl_lcdd/expected_int8_a, demos/ppl_lpsol/Makefile.am,
+	  demos/ppl_lpsol/expected, demos/ppl_lpsol/expected_int16,
+	  demos/ppl_lpsol/expected_int16_a, demos/ppl_lpsol/expected_int32,
+	  demos/ppl_lpsol/expected_int32_a, demos/ppl_lpsol/expected_int64,
+	  demos/ppl_lpsol/expected_int64_a, demos/ppl_lpsol/expected_int8,
+	  demos/ppl_lpsol/expected_int8_a, demos/ppl_lpsol/expected_mpz,
+	  demos/ppl_lpsol/expected_mpz_a, demos/ppl_lpsol/ppl_lpsol.c,
+	  doc/definitions.dox, doc/ppl.sty,
+	  interfaces/Prolog/Prolog_interface.dox,
+	  interfaces/Prolog/ppl_prolog.icc,
+	  interfaces/Prolog/Ciao/Makefile.am,
+	  interfaces/Prolog/GNU/Makefile.am,
+	  interfaces/Prolog/SICStus/Makefile.am,
+	  interfaces/Prolog/SWI/Makefile.am,
+	  interfaces/Prolog/XSB/Makefile.am,
+	  interfaces/Prolog/YAP/Makefile.am, m4/Makefile.am,
+	  m4/ac_cxx_long_double.m4, m4/ac_cxx_long_long.m4,
+	  src/AskTell.defs.hh, src/AskTell.inlines.hh,
+	  src/C_Polyhedron.defs.hh, src/C_Polyhedron.inlines.hh,
+	  src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
+	  src/Checked_Number.types.hh, src/ConSys.defs.hh,
+	  src/ConSys.inlines.hh, src/Constraint.defs.hh,
+	  src/Constraint.inlines.hh, src/Determinate.defs.hh,
+	  src/Determinate.inlines.hh, src/GMP_Integer.defs.hh,
+	  src/GMP_Integer.inlines.hh, src/GenSys.defs.hh,
+	  src/GenSys.inlines.hh, src/Generator.defs.hh,
+	  src/Generator.inlines.hh, src/LinExpression.defs.hh,
+	  src/Linear_Row.defs.hh, src/Linear_Row.inlines.hh,
+	  src/Linear_System.cc, src/Linear_System.defs.hh,
+	  src/Linear_System.inlines.hh, src/Makefile.am, src/Matrix.cc,
+	  src/Matrix.defs.hh, src/Matrix.inlines.hh,
+	  src/NNC_Polyhedron.defs.hh, src/NNC_Polyhedron.inlines.hh,
+	  src/Native_Integer.defs.hh, src/Native_Integer.inlines.hh,
+	  src/Polyhedra_Powerset.defs.hh,
+	  src/Polyhedra_Powerset.inlines.hh, src/Polyhedron.defs.hh,
+	  src/Polyhedron.inlines.hh, src/Polyhedron_chdims.cc,
+	  src/Polyhedron_nonpublic.cc, src/Polyhedron_public.cc,
+	  src/Row.cc, src/Row.defs.hh, src/Row.inlines.hh,
+	  src/SatMatrix.cc, src/SatMatrix.defs.hh,
+	  src/SatMatrix.inlines.hh, src/SatRow.cc, src/SatRow.defs.hh,
+	  src/SatRow.inlines.hh, src/Widening_Function.defs.hh,
+	  src/Widening_Function.inlines.hh, src/checked.defs.hh,
+	  src/checked.inlines.hh, src/checked_float.inlines.hh,
+	  src/checked_int.inlines.hh, src/checked_mpq.inlines.hh,
+	  src/checked_mpz.inlines.hh, src/globals.defs.hh, src/simplify.cc,
+	  src/swapping_sort.icc, tests/Makefile.am, tests/affineimage9.cc,
+	  tests/bgp99extrapolation1.cc, tests/bgp99extrapolation2.cc,
+	  tests/bhz03widening1.cc, tests/bhz03widening2.cc,
+	  tests/bhz03widening3.cc, tests/bhz03widening4.cc,
+	  tests/bhz03widening5.cc, tests/bhz03widening6.cc,
+	  tests/equals1.cc, tests/exceptions3.cc, tests/mapspacedims4.cc,
+	  tests/maxspacedim1.cc, tests/membytes1.cc, tests/universe7.cc,
+	  tests/valgrind_suppressions
+	  (altnum.[1,5,5,2,3,10,3,1,3,2,3,2,3,2,5,2,2,3,3,1,1,1,1,1,1,1,1,1,1,3,5,3,5,6,4,3,3,3,3,3,1,1,1,4,2,4,3,13,13,4,6,3,6,4,4,3,6,6,6,2,6,4,4,2,2,2,2,2,13,5,4,2,3,3,6,6,3,3,6,6,4,8,6,4,5,4,3,3,2,9,3,2,3,3,19,12,13,19,15,18,4,4,1,6,2,3,3,3,3,3,3,3,3,1,3,1,1,1,1,1]):
+	  Fifth number from main repository.
+
+2004-11-27 Saturday 15:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c (1.4): Little memory leaks fixed.
+
+2004-11-27 Saturday 15:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: C_Polyhedron.inlines.hh (1.20), NNC_Polyhedron.inlines.hh
+	  (1.23), Polyhedron.defs.hh (1.254), Polyhedron_chdims.cc (1.22),
+	  Polyhedron_nonpublic.cc (1.33): Private exception thrower method
+	  Polyhedron::throw_space_dimension_overflow() made static, as it
+	  is often called inside constructors (before actually constructing
+	  the polyhedron object).
+
+2004-11-27 Saturday 14:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.236), valgrind_suppressions (1.1): Added a
+	  minimal infrastructure to perform regression testing using
+	  `valgrind'.
+
+2004-11-26 Friday 07:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/expected_int8_a (1.2): Fixed.
+
+2004-11-25 Thursday 08:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Makefile.am (1.235): Added `ascii_dump_load4' to
+	  `XFAIL_WITH_INT8_A'.	iCVS:
+	  ----------------------------------------------------------------------
+
+2004-11-23 Tuesday 22:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.140): Version number bumped.
+
+2004-11-23 Tuesday 22:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/SatRow.cc (1.30): The methods SatRow::last() and the
+	  functions compare(const SatRow&, const SatRow&),
+	  subset_or_equal(const SatRow&, const SatRow&),
+	  subset_or_equal(const SatRow&, const SatRow&, bool&) and
+	  strict_subset(const SatRow&, const SatRow&) have been simplified
+	  and optimized.
+
+2004-11-23 Tuesday 13:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/membytes1.cc (1.2): Be quiet.
+
+2004-11-23 Tuesday 08:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: SatRow.cc (1.29), SatRow.defs.hh (1.36), simplify.cc
+	  (1.40): New function bool subset_or_equal(const SatRow& x, const
+	  SatRow& y, bool& strict_subset) allows a simple optimization of
+	  Polyhedron::simplify().  The function bool strict_subset(const
+	  SatRow& x, const SatRow& y) is currently unused but left in
+	  place: it may be needed and, moreover, when all what matters is
+	  strict inclusion, `strict_subset(x, y)' is faster than
+	  `subset_or_equal(x, y, s) && s'.
+
+2004-11-22 Monday 19:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Linear_System.cc (1.8): The assertion at the beginning of
+	  add_pending_rows() made stronger: we assume that rows to be added
+	  have the same size.
+
+2004-11-22 Monday 06:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/Makefile.am (1.15), demos/ppl_lpsol/Makefile.am
+	  (1.8), interfaces/Prolog/Ciao/Makefile.am (1.36),
+	  interfaces/Prolog/GNU/Makefile.am (1.41),
+	  interfaces/Prolog/SICStus/Makefile.am (1.47),
+	  interfaces/Prolog/SWI/Makefile.am (1.39),
+	  interfaces/Prolog/XSB/Makefile.am (1.28),
+	  interfaces/Prolog/YAP/Makefile.am (1.31): Do not depend on the
+	  current locale.
+
+2004-11-22 Monday 06:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.114): Postpone one item to PPL 0.8.
+
+2004-11-21 Sunday 15:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Linear_Row.defs.hh (1.4), Linear_Row.inlines.hh (1.4):
+	  Removed useless constructor for Linear_Row::Flags objects.
+
+2004-11-20 Saturday 08:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/configure.ac (1.21): Define the PROFILING symbol when
+	  compiling for profiling.
+
+2004-11-15 Monday 16:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.139): Version number bumped.
+
+2004-11-15 Monday 16:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Row.cc (1.73): Method Row::Impl::shrink() fixed: it was
+	  horribly broken on October 30, 2004 with the result that no
+	  memory could ever be deallocated.
+
+2004-11-15 Monday 15:37  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Linear_System.cc (1.7), Linear_System.defs.hh (1.6),
+	  Linear_System.inlines.hh (1.7), SatMatrix.cc (1.34),
+	  SatMatrix.defs.hh (1.38), SatMatrix.inlines.hh (1.26),
+	  swapping_sort.icc (1.2): Function objects *LessThan() renamed as
+	  *_Less_Than.	Rewritten the sorting routine based on iter_swap's.
+
+2004-11-15 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.138): Version number bumped.
+
+2004-11-15 Monday 09:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.125), TODO (1.113), src/Checked_Number.defs.hh (1.4),
+	  src/Checked_Number.inlines.hh (1.6), src/ConSys.defs.hh (1.91),
+	  src/ConSys.inlines.hh (1.36), src/Constraint.defs.hh (1.93),
+	  src/Constraint.inlines.hh (1.54), src/GMP_Integer.defs.hh (1.3),
+	  src/GMP_Integer.inlines.hh (1.3), src/GenSys.defs.hh (1.105),
+	  src/GenSys.inlines.hh (1.36), src/Linear_System.defs.hh (1.5),
+	  src/Linear_System.inlines.hh (1.6), src/Matrix.cc (1.79),
+	  src/Matrix.defs.hh (1.62), src/Matrix.inlines.hh (1.41),
+	  src/Native_Integer.defs.hh (1.4), src/Native_Integer.inlines.hh
+	  (1.5), src/Polyhedron.defs.hh (1.253), src/Polyhedron.inlines.hh
+	  (1.100), src/Polyhedron_public.cc (1.38), src/Row.cc (1.72),
+	  src/Row.defs.hh (1.85), src/Row.inlines.hh (1.52),
+	  src/SatMatrix.cc (1.33), src/SatMatrix.defs.hh (1.37),
+	  src/SatMatrix.inlines.hh (1.25), src/SatRow.defs.hh (1.35),
+	  src/SatRow.inlines.hh (1.30), src/globals.defs.hh (1.9),
+	  tests/Makefile.am (1.234), tests/membytes1.cc (1.1): Most of the
+	  public classes of the library have been endowed with methods
+	  `memory_size_type total_memory_in_bytes() const' and
+	  `memory_size_type external_memory_in_bytes() const' returning
+	  (lower bounds for) the total size in bytes of the memory occupied
+	  by *this and of the memory managed by *this, respectively.  The
+	  type `memory_size_type' is a newly added unsigned integral type
+	  suitable to the representation of such information.
+
+2004-11-11 Thursday 08:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedra_Powerset.defs.hh (1.6): Powerset::omega_reduce()
+	  made available to users of class Polyhedra_Powerset.
+
+2004-11-11 Thursday 08:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.137): Version number bumped.
+
+2004-11-10 Wednesday 11:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.124), src/Polyhedra_Powerset.defs.hh (1.5),
+	  src/Widening_Function.defs.hh (1.6),
+	  src/Widening_Function.inlines.hh (1.6),
+	  tests/bgp99extrapolation1.cc (1.6), tests/bgp99extrapolation2.cc
+	  (1.8), tests/bhz03widening1.cc (1.7), tests/bhz03widening2.cc
+	  (1.9), tests/bhz03widening3.cc (1.7), tests/bhz03widening4.cc
+	  (1.5), tests/bhz03widening5.cc (1.6), tests/bhz03widening6.cc
+	  (1.7): The helper function widen_fun has been renamed
+	  widen_fun_ref.
+
+2004-11-08 Monday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/Makefile.am (1.7): Distribute all the expected*
+	  files.
+
+2004-11-08 Monday 21:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.140): Handle
+	  std::length_error exceptions.
+
+2004-11-08 Monday 21:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.84): Concatenation order for ppl_install.hh
+	  fixed.
+
+2004-11-08 Monday 18:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.112), src/AskTell.defs.hh (1.27), src/AskTell.inlines.hh
+	  (1.23), src/Determinate.defs.hh (1.46),
+	  src/Determinate.inlines.hh (1.41), src/Polyhedra_Powerset.defs.hh
+	  (1.4), src/Polyhedra_Powerset.inlines.hh (1.6),
+	  src/Polyhedron.defs.hh (1.252), src/Polyhedron.inlines.hh (1.99):
+	  `PartialFunction' renamed `Partial_Function'.
+
+2004-11-08 Monday 17:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.123), src/Polyhedron_public.cc (1.37): The bug shown by
+	  universe7.cc, affecting method Polyhedron::is_universe(), is now
+	  corrected.
+
+2004-11-08 Monday 17:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am (1.233), universe7.cc (1.1): New test shows a
+	  bug in method Polyhedron::is_universe().
+
+2004-11-08 Monday 17:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: SatMatrix.cc (1.32), SatMatrix.inlines.hh (1.24):
+	  Reimplemented SatMatrix::sorted_contains() usiong binary search
+	  (instead of linear-search).
+
+2004-11-08 Monday 14:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Linear_System.cc (1.6), Linear_System.defs.hh (1.4),
+	  Linear_System.inlines.hh (1.5), Makefile.am (1.83), SatMatrix.cc
+	  (1.31), SatMatrix.defs.hh (1.36), SatMatrix.inlines.hh (1.23),
+	  swapping_sort.icc (1.1): Added a simplified version of the STL
+	  sorting algorithm that avoids (almost all) copies of objects by
+	  performing more swaps.  The new algorithm is used when sorting
+	  Linear_System and SatMatrix objects.	The same algorithm is also
+	  used to provide a new implementation of method
+	  Linear_System::sort_and_remove_with_sat(SatMatrix& sat); by
+	  defining an iterator on Linear_System that mimics on the
+	  SatMatrix all the swaps made on the Linear_System.
+
+2004-11-08 Monday 11:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/: Makefile.am (1.6), expected_int16_a (1.1),
+	  expected_int32_a (1.1), expected_int64_a (1.1), expected_int8_a
+	  (1.1), expected_mpz_a (1.1): Not all the examples can be tested
+	  with assertions enabled.
+
+2004-11-08 Monday 11:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/Makefile.am (1.14): Logic simplified.
+
+2004-11-08 Monday 07:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.136): In Cygwin, /usr/include/mingw contains
+	  header files that conflict with those in /usr/include: cannot add
+	  the former to the include path list.
+
+2004-11-08 Monday 07:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_float.inlines.hh (1.8): Previous change reverted.
+
+2004-11-08 Monday 00:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.135), src/checked_float.inlines.hh (1.7): Support
+	  for Cygwin improved.
+
+2004-11-07 Sunday 17:59  Abramo Bagnara
+
+	* src/checked_float.inlines.hh (1.6): Dirty tricks due to
+	  ppl_install.hh generation weirdness.
+
+2004-11-07 Sunday 17:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/Makefile.am (1.35): Erase the right
+	  temporary file.
+
+2004-11-07 Sunday 16:10  Abramo Bagnara
+
+	* src/checked_float.inlines.hh (1.5): Added support for non C99
+	  conformant Cygwin.
+
+2004-11-07 Sunday 15:55  Abramo Bagnara
+
+	* src/checked_float.inlines.hh (1.4): Avoided endian.h inclusion.
+
+2004-11-07 Sunday 15:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/: ppl_lcdd/expected_int8 (1.2), ppl_lpsol/expected_int8
+	  (1.2): Adapted to the fixed output of 8-bits integers.
+
+2004-11-07 Sunday 11:09  Abramo Bagnara
+
+	* src/: Checked_Number.inlines.hh (1.5), checked.defs.hh (1.3),
+	  checked.inlines.hh (1.3), checked_float.inlines.hh (1.3),
+	  checked_int.inlines.hh (1.5), checked_mpq.inlines.hh (1.4),
+	  checked_mpz.inlines.hh (1.4): Added support for I/O
+	  specialization.
+
+2004-11-06 Saturday 21:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/: Makefile.am (1.5), expected (1.3): The
+	  `expected' file is now obsolete.
+
+2004-11-06 Saturday 18:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/Makefile.am (1.27): Distribute all the
+	  expected* files.
+
+2004-11-06 Saturday 17:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.134): Bumped version number.
+
+2004-11-06 Saturday 15:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.122): Mention the bug fixed in
+	  Polyhedron::map_space_dimensions().
+
+2004-11-06 Saturday 15:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Linear_System.inlines.hh (1.4), tests/Makefile.am (1.232),
+	  tests/mapspacedims4.cc (1.1): After the permutation of columns, a
+	  linear system must be sign-normalized.  The new test program
+	  mapspacedims4 shows this phenomenon.
+
+2004-11-06 Saturday 14:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Linear_System.cc (1.5), Linear_System.defs.hh (1.3): New
+	  method Linear_System::sign_normalize().
+
+2004-11-06 Saturday 12:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/: Makefile.am (1.4), expected_int16 (1.1),
+	  expected_int32 (1.1), expected_int64 (1.1), expected_int8 (1.1),
+	  expected_mpz (1.1): Added expected results for the various
+	  coeffcient types.
+
+2004-11-06 Saturday 10:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/C_Polyhedron.defs.hh (1.27), src/NNC_Polyhedron.defs.hh
+	  (1.29), TODO (1.111): Documented the std::length exceptions that
+	  can be thrown by constructors.
+
+2004-11-04 Thursday 13:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/Makefile.am (1.5): Re-add `ppl_lpsol' to `SUBDIRS'.
+
+2004-11-04 Thursday 13:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/Makefile.am (1.13): Distribute the expected_*
+	  files.
+
+2004-11-04 Thursday 10:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.110), doc/definitions.dox (1.161), doc/ppl.sty (1.17),
+	  interfaces/Prolog/Prolog_interface.dox (1.116): Explained the
+	  order of arguments in widening applications.	Better explained
+	  the reason for having C_Polyhedron and NNC_Polyhedron.
+
+2004-11-02 Tuesday 17:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/exceptions3.cc (1.4): Checking the detection of space
+	  dimension overflows in methods changing teh dimension of a
+	  polyhedron.
+
+2004-11-02 Tuesday 17:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/maxspacedim1.cc (1.2): Testing the max_space_dimension()
+	  methods on Constraint and Generator.
+
+2004-11-02 Tuesday 17:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_chdims.cc (1.21): Corrected exception message.
+
+2004-11-02 Tuesday 17:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.defs.hh (1.92), Constraint.inlines.hh (1.53),
+	  Generator.defs.hh (1.92), Generator.inlines.hh (1.47): Added
+	  static method max_space_dimension() to classes Constraint and
+	  Generator.
+
+2004-11-02 Tuesday 15:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Native_Integer.inlines.hh (1.4): Added several constructors.
+
+2004-11-02 Tuesday 15:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/affineimage9.cc (1.2): A spurious dot resulted into an
+	  unknown floating point constant: fixed.
+
+2004-11-02 Tuesday 15:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_int.inlines.hh (1.4): Include <cstdlib> for strtol(),
+	  strtoul(), strtoll() and strtoull().
+
+2004-11-02 Tuesday 12:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.133), m4/ac_cxx_long_double.m4 (1.2): Amended to
+	  check whether the C++ compiler provides long double numbers that
+	  have bigger range or precision than double.
+
+2004-11-02 Tuesday 12:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Native_Integer.defs.hh (1.3), Native_Integer.inlines.hh
+	  (1.3): Reorganized.  All friend declarations removed.
+
+2004-11-02 Tuesday 12:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Checked_Number.defs.hh (1.3), Checked_Number.inlines.hh
+	  (1.4), Checked_Number.types.hh (1.3): Minor changes to adhere to
+	  our coding conventions.  Added declarations for template
+	  <typename T, typename Policy> const T& raw_value(const
+	  Checked_Number<T, Policy>& x) and template <typename T, typename
+	  Policy> T& raw_value(Checked_Number<T, Policy>& x).
+
+2004-11-02 Tuesday 11:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Makefile.am (1.231): The programs equals1 and nnc_equals1
+	  fail also with 32-bits integers.
+
+2004-11-01 Monday 20:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.132), m4/Makefile.am (1.11),
+	  m4/ac_cxx_long_double.m4 (1.1), m4/ac_cxx_long_long.m4 (1.1): New
+	  Autoconf tests to check whether the C++ compiler supports long
+	  long integers and long double numbers.
+
+2004-11-01 Monday 19:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.230), equals1.cc (1.1): Test
+	  operator==(const Polyhedron&, const Polyhedron&).
+
+2004-11-01 Monday 15:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* INSTALL (1.6), compile (1.3), config.guess (1.25), install-sh
+	  (1.11), Watchdog/INSTALL (1.3), Watchdog/compile (1.3),
+	  Watchdog/config.guess (1.9), Watchdog/install-sh (1.8): Updated
+	  from Automake 1.9.3.
+
+2004-11-01 Monday 11:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Linear_System.cc (1.4): Fixed a problem introduced with the
+	  previous commit.
+
+2004-11-01 Monday 10:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Linear_System.cc (1.3): Two FIXMEs dealt with.
+
+2004-11-01 Monday 10:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Matrix.defs.hh (1.61): FIXME added.
+
+2004-10-30 Saturday 12:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Row.cc (1.71), Row.inlines.hh (1.51): Fixed a bug in
+	  Row::shrink() that could bite (but not with the current code)
+	  when using compilers not supporting flexible arrays.
+
+2004-10-30 Saturday 12:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.131): Check for endianness.
+
+2004-10-29 Friday 19:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.229), maxspacedim1.cc (1.1): Test the
+	  *::max_space_dimension() methods.
+
+2004-10-29 Friday 18:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: checked_mpq.inlines.hh (1.3), checked_mpz.inlines.hh (1.3):
+	  Spurious semicolons removed.
+
+2004-10-29 Friday 18:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Linear_System.inlines.hh (1.3): Make sure
+	  Linear_System::is_sorted() and Linear_System::set_sorted() are
+	  defined before being used.
+
+2004-10-29 Friday 18:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/LinExpression.defs.hh (1.69): Meaningless type qualifier
+	  removed.
+
+2004-10-29 Friday 17:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/Makefile.am (1.13), demos/ppl_lcdd/Makefile.am (1.12),
+	  demos/ppl_lpsol/Makefile.am (1.3),
+	  interfaces/Prolog/Ciao/Makefile.am (1.34),
+	  interfaces/Prolog/GNU/Makefile.am (1.40),
+	  interfaces/Prolog/SICStus/Makefile.am (1.46),
+	  interfaces/Prolog/XSB/Makefile.am (1.26),
+	  interfaces/Prolog/YAP/Makefile.am (1.30), tests/Makefile.am
+	  (1.228): Always specify the condition which is closed by an
+	  Automake's `end',
+
+2004-10-29 Friday 17:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/Makefile.am (1.11): Run `ppl_lcdd' in the local
+	  directory, not some other executable with the same name.
+
+2004-10-28 Thursday 22:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS, TODO, configure.ac, demos/ppl_lcdd/Makefile.am,
+	  demos/ppl_lcdd/expected, demos/ppl_lcdd/expected_int16,
+	  demos/ppl_lcdd/expected_int16_a, demos/ppl_lcdd/expected_int32,
+	  demos/ppl_lcdd/expected_int32_a, demos/ppl_lcdd/expected_int64,
+	  demos/ppl_lcdd/expected_int64_a, demos/ppl_lcdd/expected_int8,
+	  demos/ppl_lcdd/expected_int8_a, demos/ppl_lcdd/expected_mpz,
+	  demos/ppl_lcdd/expected_mpz_a, demos/ppl_lcdd/ppl_lcdd.cc,
+	  doc/definitions.dox, doc/devref-browse.doxyconf-latex.in,
+	  doc/devref-print.doxyconf-latex.in, doc/devref.doxyconf-html.in,
+	  doc/devref.tex, doc/user.tex, interfaces/C/ppl_c.cc,
+	  interfaces/C/ppl_c.h.in, interfaces/Prolog/Makefile.am,
+	  interfaces/Prolog/Prolog_interface.dox,
+	  interfaces/Prolog/ack.clpq, interfaces/Prolog/ackn.clpq,
+	  interfaces/Prolog/check_script, interfaces/Prolog/check_script2,
+	  interfaces/Prolog/clpq.pl, interfaces/Prolog/clpq2.pl,
+	  interfaces/Prolog/expected, interfaces/Prolog/expected2,
+	  interfaces/Prolog/expected3, interfaces/Prolog/fib.clpq,
+	  interfaces/Prolog/mc91.clpq, interfaces/Prolog/pl_check.pl,
+	  interfaces/Prolog/ppl_prolog.icc,
+	  interfaces/Prolog/schedule.clpq, interfaces/Prolog/smm.clpq,
+	  interfaces/Prolog/smmdiff.clpq, interfaces/Prolog/sumto.clpq,
+	  interfaces/Prolog/tak.clpq, interfaces/Prolog/Ciao/Makefile.am,
+	  interfaces/Prolog/Ciao/ppl_ciao.cc,
+	  interfaces/Prolog/Ciao/ppl_ciao.pl,
+	  interfaces/Prolog/GNU/Makefile.am,
+	  interfaces/Prolog/SICStus/Makefile.am,
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
+	  interfaces/Prolog/SICStus/sp_clpq.pl,
+	  interfaces/Prolog/SWI/Makefile.am,
+	  interfaces/Prolog/SWI/pl_clpq.pl,
+	  interfaces/Prolog/XSB/Makefile.am,
+	  interfaces/Prolog/XSB/expected, interfaces/Prolog/XSB/expected2,
+	  interfaces/Prolog/XSB/expected2_int16,
+	  interfaces/Prolog/XSB/expected2_int16_a,
+	  interfaces/Prolog/XSB/expected2_int32,
+	  interfaces/Prolog/XSB/expected2_int32_a,
+	  interfaces/Prolog/XSB/expected2_int64,
+	  interfaces/Prolog/XSB/expected2_int64_a,
+	  interfaces/Prolog/XSB/expected2_int8,
+	  interfaces/Prolog/XSB/expected2_int8_a,
+	  interfaces/Prolog/XSB/expected2_mpz,
+	  interfaces/Prolog/XSB/expected2_mpz_a,
+	  interfaces/Prolog/XSB/expected3_int16,
+	  interfaces/Prolog/XSB/expected3_int16_a,
+	  interfaces/Prolog/XSB/expected3_int32,
+	  interfaces/Prolog/XSB/expected3_int32_a,
+	  interfaces/Prolog/XSB/expected3_int64,
+	  interfaces/Prolog/XSB/expected3_int64_a,
+	  interfaces/Prolog/XSB/expected3_int8,
+	  interfaces/Prolog/XSB/expected3_int8_a,
+	  interfaces/Prolog/XSB/expected3_mpz,
+	  interfaces/Prolog/XSB/expected3_mpz_a,
+	  interfaces/Prolog/XSB/expected_int16,
+	  interfaces/Prolog/XSB/expected_int16_a,
+	  interfaces/Prolog/XSB/expected_int32,
+	  interfaces/Prolog/XSB/expected_int32_a,
+	  interfaces/Prolog/XSB/expected_int64,
+	  interfaces/Prolog/XSB/expected_int64_a,
+	  interfaces/Prolog/XSB/expected_int8,
+	  interfaces/Prolog/XSB/expected_int8_a,
+	  interfaces/Prolog/XSB/expected_mpz,
+	  interfaces/Prolog/XSB/expected_mpz_a,
+	  interfaces/Prolog/XSB/ppl_xsb.cc,
+	  interfaces/Prolog/YAP/Makefile.am,
+	  interfaces/Prolog/YAP/ppl_yap.cc,
+	  interfaces/Prolog/YAP/yap_clpq.pl,
+	  interfaces/Prolog/YAP/yap_clpq2.pl,
+	  interfaces/Prolog/YAP/yap_pl_check.pl,
+	  interfaces/Prolog/tests/.cvsignore,
+	  interfaces/Prolog/tests/Makefile.am,
+	  interfaces/Prolog/tests/ack.clpq,
+	  interfaces/Prolog/tests/ackn.clpq,
+	  interfaces/Prolog/tests/check_script,
+	  interfaces/Prolog/tests/check_script2,
+	  interfaces/Prolog/tests/check_script2_int8,
+	  interfaces/Prolog/tests/clpq.pl,
+	  interfaces/Prolog/tests/clpq2.pl,
+	  interfaces/Prolog/tests/expected2_int16,
+	  interfaces/Prolog/tests/expected2_int16_a,
+	  interfaces/Prolog/tests/expected2_int32,
+	  interfaces/Prolog/tests/expected2_int32_a,
+	  interfaces/Prolog/tests/expected2_int64,
+	  interfaces/Prolog/tests/expected2_int64_a,
+	  interfaces/Prolog/tests/expected2_int8,
+	  interfaces/Prolog/tests/expected2_int8_a,
+	  interfaces/Prolog/tests/expected2_mpz,
+	  interfaces/Prolog/tests/expected2_mpz_a,
+	  interfaces/Prolog/tests/expected3_int16,
+	  interfaces/Prolog/tests/expected3_int16_a,
+	  interfaces/Prolog/tests/expected3_int32,
+	  interfaces/Prolog/tests/expected3_int32_a,
+	  interfaces/Prolog/tests/expected3_int64,
+	  interfaces/Prolog/tests/expected3_int64_a,
+	  interfaces/Prolog/tests/expected3_int8,
+	  interfaces/Prolog/tests/expected3_int8_a,
+	  interfaces/Prolog/tests/expected3_mpz,
+	  interfaces/Prolog/tests/expected3_mpz_a,
+	  interfaces/Prolog/tests/expected_int16,
+	  interfaces/Prolog/tests/expected_int16_a,
+	  interfaces/Prolog/tests/expected_int32,
+	  interfaces/Prolog/tests/expected_int32_a,
+	  interfaces/Prolog/tests/expected_int64,
+	  interfaces/Prolog/tests/expected_int64_a,
+	  interfaces/Prolog/tests/expected_int8,
+	  interfaces/Prolog/tests/expected_int8_a,
+	  interfaces/Prolog/tests/expected_mpz,
+	  interfaces/Prolog/tests/expected_mpz_a,
+	  interfaces/Prolog/tests/fib.clpq,
+	  interfaces/Prolog/tests/mc91.clpq,
+	  interfaces/Prolog/tests/pl_check.pl,
+	  interfaces/Prolog/tests/schedule.clpq,
+	  interfaces/Prolog/tests/smm.clpq,
+	  interfaces/Prolog/tests/smmdiff.clpq,
+	  interfaces/Prolog/tests/sumto.clpq,
+	  interfaces/Prolog/tests/tak.clpq, m4/ac_check_gmp.m4,
+	  src/C_Polyhedron.defs.hh, src/C_Polyhedron.inlines.hh,
+	  src/ConSys.cc, src/ConSys.defs.hh, src/ConSys.inlines.hh,
+	  src/Constraint.cc, src/Constraint.defs.hh,
+	  src/Constraint.inlines.hh, src/GenSys.cc, src/GenSys.defs.hh,
+	  src/GenSys.inlines.hh, src/Generator.cc, src/Generator.defs.hh,
+	  src/Generator.inlines.hh, src/LinExpression.cc,
+	  src/LinExpression.defs.hh, src/LinExpression.inlines.hh,
+	  src/Linear_Row.cc, src/Linear_Row.defs.hh,
+	  src/Linear_Row.inlines.hh, src/Linear_Row.types.hh,
+	  src/Linear_System.cc, src/Linear_System.defs.hh,
+	  src/Linear_System.inlines.hh, src/Linear_System.types.hh,
+	  src/Makefile.am, src/Matrix.cc, src/Matrix.defs.hh,
+	  src/Matrix.inlines.hh, src/NNC_Polyhedron.defs.hh,
+	  src/NNC_Polyhedron.inlines.hh, src/Ph_Status.cc,
+	  src/Polyhedron.defs.hh, src/Polyhedron.inlines.hh,
+	  src/Polyhedron_chdims.cc, src/Polyhedron_nonpublic.cc,
+	  src/Polyhedron_public.cc, src/Row.cc, src/Row.defs.hh,
+	  src/Row.inlines.hh, src/SatMatrix.cc, src/SatMatrix.defs.hh,
+	  src/SatMatrix.inlines.hh, src/Variable.defs.hh,
+	  src/Variable.inlines.hh, src/conversion.cc, src/globals.defs.hh,
+	  src/globals.inlines.hh, src/max_space_dimension.hh,
+	  src/minimize.cc, src/simplify.cc, tests/Makefile.am,
+	  tests/addgenerator1.cc, tests/addgenerator2.cc,
+	  tests/addgenerator5.cc, tests/addgenerators11.cc,
+	  tests/addspacedims10.cc, tests/affineimage9.cc,
+	  tests/bhrz03widening9.cc, tests/ehandlers.hh,
+	  tests/exceptions2.cc, tests/exceptions3.cc, tests/generators2.cc,
+	  tests/geomcovers1.cc, tests/polyhull10.cc, tests/polyhull11.cc,
+	  tests/randphull1.cc
+	  (altnum.[4,4,9,4,3,1,1,1,1,1,1,1,1,1,1,7,4,4,4,4,2,2,5,3,1,4,1,1,1,1,2,2,2,2,1,1,1,3,5,1,1,1,1,1,3,3,3,2,2,4,1,2,1,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,2,4,5,2,2,5,3,5,5,1,4,5,3,2,3,2,1,1,1,1,1,1,1,1,12,4,3,1,2,2,1,5,5,3,7,5,3,4,3,2,2,1,3,1,5,3,2,2,3,3,5,2,2,1,2,2,1,1,1,2,2,1,1,1,1,1]):
+	  Fourth merge from main trunk.
+
+2004-10-28 Thursday 18:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: globals.defs.hh (1.8), globals.inlines.hh (1.4):
+	  Implementation of not_a_dimension() and maybe_abandon() moved to
+	  global.inlines.hh.
+
+2004-10-28 Thursday 18:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: globals.defs.hh (1.7), globals.inlines.hh (1.3):
+	  Implementation of compute_capacity() moved to global.inlines.hh.
+
+2004-10-28 Thursday 17:58  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Linear_System.cc (1.2), Matrix.cc (1.78), Matrix.inlines.hh
+	  (1.40), Row.cc (1.70), Row.inlines.hh (1.50), SatMatrix.cc
+	  (1.30), SatMatrix.defs.hh (1.35), SatMatrix.inlines.hh (1.22),
+	  globals.defs.hh (1.6): Avoid overflows when computing capacities
+	  for speculative memory allocations.  Added missing assertions on
+	  (user-unavailable) methods creating or extending data structures.
+
+2004-10-28 Thursday 08:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_gmp.m4 (1.19): Simplified the detection of
+	  sizeof(mp_limb_t): this works with Autoconf version 2.50 or
+	  higher (we already require 2.59 or higher).
+
+2004-10-28 Thursday 08:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_gmp.m4 (1.18): Second test program improved.
+
+2004-10-28 Thursday 07:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.121), configure.ac (1.130), interfaces/C/ppl_c.h.in
+	  (1.36), m4/ac_check_gmp.m4 (1.17): We now require GMP 4.1.3 or
+	  higher.
+
+2004-10-27 Wednesday 16:56  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: LinExpression.defs.hh (1.68), Variable.defs.hh (1.40): The
+	  new exceptions thrown by Variable and LinExpression are now
+	  mentioned in the documentation.
+
+2004-10-27 Wednesday 12:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.inlines.hh (1.35), GenSys.inlines.hh (1.35),
+	  Linear_System.defs.hh (1.2), Linear_System.inlines.hh (1.2):
+	  Added static method Linear_System::max_space_dimension().
+	  Corresponding methods of ConSys and GenSys are now implemented
+	  using this one.
+
+2004-10-27 Wednesday 12:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.cc (1.43), Constraint.inlines.hh (1.52),
+	  Generator.cc (1.54), Generator.inlines.hh (1.46),
+	  Polyhedron.defs.hh (1.251), Polyhedron_chdims.cc (1.20),
+	  Polyhedron_nonpublic.cc (1.32), Polyhedron_public.cc (1.36):
+	  Exploit the availability of Variable::space_dimension().
+
+2004-10-27 Wednesday 12:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Linear_Row.defs.hh (1.3), Linear_Row.inlines.hh (1.3):
+	  Implemented method max_space_dimension().
+
+2004-10-27 Wednesday 12:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/exceptions3.cc (1.3): Now also checking for exceptions
+	  thrown by Variable and LinExpression when exceeding the maximum
+	  space dimension.
+
+2004-10-27 Wednesday 12:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: LinExpression.cc (1.23), LinExpression.defs.hh (1.67),
+	  LinExpression.inlines.hh (1.32): Added method
+	  max_space_dimension(). Checking for space dimension overflows
+	  when building a LinExpression.
+
+2004-10-27 Wednesday 12:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Variable.defs.hh (1.39), Variable.inlines.hh (1.19): Added
+	  methods space_dimension() and max_space_dimension() to class
+	  Variable.  The constructor now checks for space dimension
+	  overflows.
+
+2004-10-26 Tuesday 22:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Makefile.am (1.227): Take into account that some tests with
+	  checked-int8 fail only when assertions are enabled.
+
+2004-10-26 Tuesday 22:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ehandlers.hh (1.9): Treat std::overflow_error specially.
+
+2004-10-26 Tuesday 18:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.115): Information about
+	  system-dependent features for the Prolog interface updated.
+
+2004-10-26 Tuesday 18:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.cc (1.74), GenSys.cc (1.100): Try to correctly deal
+	  with systems having no rows and possibly 0 columns.
+
+2004-10-26 Tuesday 17:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: GNU/Makefile.am (1.39), tests/Makefile.am
+	  (1.2), tests/check_script2_int8 (1.1): Temporary kludge to avoid
+	  GNU Prolog's syntax errors when using clpq2 with checked-int8
+	  coefficients.
+
+2004-10-26 Tuesday 14:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SWI/pl_clpq.pl (1.6): Temporary work-around to
+	  avoid a problem with the Prolog prompt whenusing SWI-Prolog.
+
+2004-10-26 Tuesday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: devref.tex (1.15), user.tex (1.16): Use
+	  \renewcommand{\footrulewidth}{0.4pt} instead of
+	  \setlength{\footrulewidth}{0.4pt}.
+
+2004-10-26 Tuesday 10:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.109): The last XFAILS has been dealt with (the only
+	  XFAILS remaining are those related to checked integers).
+
+2004-10-26 Tuesday 10:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.160): Typo corrected. Also stressed that
+	  NNC polyhedra have to be used only when actually needed.
+
+2004-10-26 Tuesday 10:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.120), tests/Makefile.am (1.226), tests/addgenerators11.cc
+	  (1.9), tests/exceptions2.cc (1.34): Test addgenerators11 is no
+	  longer in the XFAIL list.  Modified test2() in exceptions2.cc so
+	  as to no longer guard against an unwanted exception.	While at
+	  it, reordered the tests in Makefile.am so as to follow the
+	  alphabetical order.  The corrected bug announced in the NEWS
+	  file.
+
+2004-10-26 Tuesday 10:04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: GenSys.cc (1.99), GenSys.defs.hh (1.104): Private mathod
+	  bool GenSys::has_closure_points() const; now behaves assuming the
+	  point of view of the user, i.e., disregarding those closure
+	  points that are matched by corresponding points.  Fixed a bug in
+	  private method   void
+	  GenSys::adjust_topology_and_space_dimension(...); whereby an
+	  unwanted exception was thrown when converting an NNC generator
+	  system into a C generator system. This correction also makes test
+	  addgenerators11 behave correctly (i.e., no longer XFAILS).
+
+2004-10-25 Monday 17:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected3_mpz (1.1): New and revised
+	  expectations.
+
+2004-10-25 Monday 17:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/Makefile.am (1.33): Pathname fixed.
+
+2004-10-25 Monday 14:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.119), TODO (1.108), src/C_Polyhedron.defs.hh (1.26),
+	  src/ConSys.defs.hh (1.90), src/GenSys.defs.hh (1.103),
+	  src/NNC_Polyhedron.defs.hh (1.28), tests/bhrz03widening9.cc
+	  (1.7): Avoid implicit constructors (except in very special
+	  cases).
+
+2004-10-25 Monday 13:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.107): Added another item related to non-explicit
+	  constructors.
+
+2004-10-25 Monday 10:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/expected_int16 (1.1),
+	  interfaces/Prolog/XSB/expected2_int16 (1.2),
+	  interfaces/Prolog/XSB/expected3_int16 (1.1),
+	  interfaces/Prolog/tests/expected2_int16 (1.2): New and revised
+	  expectations.
+
+2004-10-25 Monday 10:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/expected_int8 (1.1),
+	  interfaces/Prolog/XSB/expected3_int8 (1.1),
+	  interfaces/Prolog/tests/expected3_int8 (1.2): New and revised
+	  expectations.
+
+2004-10-25 Monday 10:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/expected_int64 (1.1),
+	  interfaces/Prolog/XSB/expected2_int32 (1.2),
+	  interfaces/Prolog/XSB/expected3_int32 (1.1),
+	  interfaces/Prolog/XSB/expected3_int64 (1.1),
+	  interfaces/Prolog/tests/expected2_int32 (1.2),
+	  interfaces/Prolog/tests/expected3_int64 (1.2): New and revised
+	  expectations.
+
+2004-10-25 Monday 10:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.129), interfaces/Prolog/Makefile.am (1.26),
+	  interfaces/Prolog/ack.clpq (1.2), interfaces/Prolog/ackn.clpq
+	  (1.2), interfaces/Prolog/check_script (1.4),
+	  interfaces/Prolog/check_script2 (1.3), interfaces/Prolog/clpq.pl
+	  (1.18), interfaces/Prolog/clpq2.pl (1.29),
+	  interfaces/Prolog/expected2_int16 (1.2),
+	  interfaces/Prolog/expected2_int32 (1.2),
+	  interfaces/Prolog/expected2_int64 (1.2),
+	  interfaces/Prolog/expected2_int8 (1.2),
+	  interfaces/Prolog/expected2_mpz (1.2),
+	  interfaces/Prolog/expected3_int16 (1.2),
+	  interfaces/Prolog/expected3_int32 (1.2),
+	  interfaces/Prolog/expected3_int64 (1.2),
+	  interfaces/Prolog/expected3_int8 (1.3),
+	  interfaces/Prolog/expected3_mpz (1.2),
+	  interfaces/Prolog/expected_int16 (1.2),
+	  interfaces/Prolog/expected_int32 (1.2),
+	  interfaces/Prolog/expected_int64 (1.2),
+	  interfaces/Prolog/expected_int8 (1.2),
+	  interfaces/Prolog/expected_mpz (1.2), interfaces/Prolog/fib.clpq
+	  (1.2), interfaces/Prolog/mc91.clpq (1.2),
+	  interfaces/Prolog/pl_check.pl (1.103),
+	  interfaces/Prolog/schedule.clpq (1.4), interfaces/Prolog/smm.clpq
+	  (1.2), interfaces/Prolog/smmdiff.clpq (1.2),
+	  interfaces/Prolog/sumto.clpq (1.2), interfaces/Prolog/tak.clpq
+	  (1.2), interfaces/Prolog/Ciao/Makefile.am (1.32),
+	  interfaces/Prolog/GNU/Makefile.am (1.38),
+	  interfaces/Prolog/SICStus/Makefile.am (1.45),
+	  interfaces/Prolog/SICStus/sp_clpq.pl (1.10),
+	  interfaces/Prolog/SWI/Makefile.am (1.38),
+	  interfaces/Prolog/XSB/Makefile.am (1.25),
+	  interfaces/Prolog/XSB/expected2_int16_a (1.1),
+	  interfaces/Prolog/XSB/expected2_int32_a (1.1),
+	  interfaces/Prolog/XSB/expected2_int64_a (1.1),
+	  interfaces/Prolog/XSB/expected2_int8_a (1.1),
+	  interfaces/Prolog/XSB/expected2_mpz_a (1.1),
+	  interfaces/Prolog/XSB/expected3_int16_a (1.1),
+	  interfaces/Prolog/XSB/expected3_int32_a (1.1),
+	  interfaces/Prolog/XSB/expected3_int64_a (1.1),
+	  interfaces/Prolog/XSB/expected3_int8_a (1.1),
+	  interfaces/Prolog/XSB/expected3_mpz_a (1.1),
+	  interfaces/Prolog/XSB/expected_int16_a (1.1),
+	  interfaces/Prolog/XSB/expected_int32_a (1.1),
+	  interfaces/Prolog/XSB/expected_int64_a (1.1),
+	  interfaces/Prolog/XSB/expected_int8_a (1.1),
+	  interfaces/Prolog/XSB/expected_mpz_a (1.1),
+	  interfaces/Prolog/YAP/Makefile.am (1.29),
+	  interfaces/Prolog/YAP/yap_clpq.pl (1.8),
+	  interfaces/Prolog/YAP/yap_clpq2.pl (1.4),
+	  interfaces/Prolog/YAP/yap_pl_check.pl (1.6),
+	  interfaces/Prolog/tests/.cvsignore (1.1),
+	  interfaces/Prolog/tests/Makefile.am (1.1),
+	  interfaces/Prolog/tests/ack.clpq (1.1),
+	  interfaces/Prolog/tests/ackn.clpq (1.1),
+	  interfaces/Prolog/tests/check_script (1.1),
+	  interfaces/Prolog/tests/check_script2 (1.1),
+	  interfaces/Prolog/tests/clpq.pl (1.1),
+	  interfaces/Prolog/tests/clpq2.pl (1.1),
+	  interfaces/Prolog/tests/expected2_int16 (1.1),
+	  interfaces/Prolog/tests/expected2_int16_a (1.1),
+	  interfaces/Prolog/tests/expected2_int32 (1.1),
+	  interfaces/Prolog/tests/expected2_int32_a (1.1),
+	  interfaces/Prolog/tests/expected2_int64 (1.1),
+	  interfaces/Prolog/tests/expected2_int64_a (1.1),
+	  interfaces/Prolog/tests/expected2_int8 (1.1),
+	  interfaces/Prolog/tests/expected2_int8_a (1.1),
+	  interfaces/Prolog/tests/expected2_mpz (1.1),
+	  interfaces/Prolog/tests/expected2_mpz_a (1.1),
+	  interfaces/Prolog/tests/expected3_int16 (1.1),
+	  interfaces/Prolog/tests/expected3_int16_a (1.1),
+	  interfaces/Prolog/tests/expected3_int32 (1.1),
+	  interfaces/Prolog/tests/expected3_int32_a (1.1),
+	  interfaces/Prolog/tests/expected3_int64 (1.1),
+	  interfaces/Prolog/tests/expected3_int64_a (1.1),
+	  interfaces/Prolog/tests/expected3_int8 (1.1),
+	  interfaces/Prolog/tests/expected3_int8_a (1.1),
+	  interfaces/Prolog/tests/expected3_mpz (1.1),
+	  interfaces/Prolog/tests/expected3_mpz_a (1.1),
+	  interfaces/Prolog/tests/expected_int16 (1.1),
+	  interfaces/Prolog/tests/expected_int16_a (1.1),
+	  interfaces/Prolog/tests/expected_int32 (1.1),
+	  interfaces/Prolog/tests/expected_int32_a (1.1),
+	  interfaces/Prolog/tests/expected_int64 (1.1),
+	  interfaces/Prolog/tests/expected_int64_a (1.1),
+	  interfaces/Prolog/tests/expected_int8 (1.1),
+	  interfaces/Prolog/tests/expected_int8_a (1.1),
+	  interfaces/Prolog/tests/expected_mpz (1.1),
+	  interfaces/Prolog/tests/expected_mpz_a (1.1),
+	  interfaces/Prolog/tests/fib.clpq (1.1),
+	  interfaces/Prolog/tests/mc91.clpq (1.1),
+	  interfaces/Prolog/tests/pl_check.pl (1.1),
+	  interfaces/Prolog/tests/schedule.clpq (1.1),
+	  interfaces/Prolog/tests/smm.clpq (1.1),
+	  interfaces/Prolog/tests/smmdiff.clpq (1.1),
+	  interfaces/Prolog/tests/sumto.clpq (1.1),
+	  interfaces/Prolog/tests/tak.clpq (1.1): Prolog tests reorganized.
+
+2004-10-24 Sunday 22:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.128), demos/ppl_lcdd/Makefile.am (1.10),
+	  demos/ppl_lcdd/expected (1.4), demos/ppl_lcdd/expected_a (1.2),
+	  demos/ppl_lcdd/expected_int16_a (1.1),
+	  demos/ppl_lcdd/expected_int32 (1.1),
+	  demos/ppl_lcdd/expected_int32_a (1.1),
+	  demos/ppl_lcdd/expected_int64_a (1.1),
+	  demos/ppl_lcdd/expected_int8_a (1.1), demos/ppl_lcdd/expected_mpz
+	  (1.1), demos/ppl_lcdd/expected_mpz_a (1.1),
+	  interfaces/Prolog/Makefile.am (1.25), interfaces/Prolog/expected
+	  (1.8), interfaces/Prolog/expected2 (1.13),
+	  interfaces/Prolog/expected2_int16 (1.1),
+	  interfaces/Prolog/expected2_int32 (1.1),
+	  interfaces/Prolog/expected2_int64 (1.1),
+	  interfaces/Prolog/expected2_mpz (1.1),
+	  interfaces/Prolog/expected3 (1.2),
+	  interfaces/Prolog/expected3_int16 (1.1),
+	  interfaces/Prolog/expected3_int32 (1.1),
+	  interfaces/Prolog/expected3_int64 (1.1),
+	  interfaces/Prolog/expected3_mpz (1.1),
+	  interfaces/Prolog/expected_int16 (1.1),
+	  interfaces/Prolog/expected_int32 (1.1),
+	  interfaces/Prolog/expected_int64 (1.1),
+	  interfaces/Prolog/expected_mpz (1.1),
+	  interfaces/Prolog/Ciao/Makefile.am (1.31),
+	  interfaces/Prolog/GNU/Makefile.am (1.37),
+	  interfaces/Prolog/SICStus/Makefile.am (1.44),
+	  interfaces/Prolog/SWI/Makefile.am (1.37),
+	  interfaces/Prolog/XSB/Makefile.am (1.24),
+	  interfaces/Prolog/XSB/expected (1.9),
+	  interfaces/Prolog/XSB/expected2 (1.11),
+	  interfaces/Prolog/XSB/expected2_int16 (1.1),
+	  interfaces/Prolog/XSB/expected2_int32 (1.1),
+	  interfaces/Prolog/XSB/expected2_int64 (1.1),
+	  interfaces/Prolog/XSB/expected2_mpz (1.1),
+	  interfaces/Prolog/XSB/expected_int16 (1.1),
+	  interfaces/Prolog/XSB/expected_int32 (1.1),
+	  interfaces/Prolog/XSB/expected_int64 (1.1),
+	  interfaces/Prolog/XSB/expected_mpz (1.1),
+	  interfaces/Prolog/YAP/Makefile.am (1.28): Another step toward the
+	  generalization of the regression testing mechanisms.
+
+2004-10-24 Sunday 18:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.33): Print more about which kind of
+	  arithmetic overflow occurred.
+
+2004-10-24 Sunday 16:38  Abramo Bagnara
+
+	* src/Checked_Number.inlines.hh (1.3): Generate overflow exception
+	  instead of inappropriate domain one.
+
+2004-10-24 Sunday 12:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: expected3_int8 (1.2), SWI/Makefile.am (1.36),
+	  XSB/Makefile.am (1.23), XSB/expected2_int8 (1.1),
+	  XSB/expected_int8 (1.1): More infrastructure to conditionalize
+	  our expectations about the tests outcome on the kind of
+	  coefficients we use.
+
+2004-10-24 Sunday 12:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/pl_check.pl (1.102): Catch all exceptions.
+
+2004-10-24 Sunday 12:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.66):
+	  Integer_to_integer_term() fixed.
+
+2004-10-24 Sunday 11:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/pl_check.pl (1.101): Variable name clash
+	  removed: this was causing XSB to crash (due to one of its many
+	  bugs).
+
+2004-10-24 Sunday 10:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.127), interfaces/Prolog/expected2_int8 (1.1),
+	  interfaces/Prolog/expected3_int8 (1.1),
+	  interfaces/Prolog/expected_int8 (1.1),
+	  interfaces/Prolog/Ciao/Makefile.am (1.30),
+	  interfaces/Prolog/GNU/Makefile.am (1.36),
+	  interfaces/Prolog/SICStus/Makefile.am (1.43),
+	  interfaces/Prolog/YAP/Makefile.am (1.27): Started adding some
+	  infrastructure so as to conditionalize our expectations about the
+	  tests outcome on the kind of coefficients used.
+
+2004-10-24 Sunday 10:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.225), geomcovers1.cc (1.1): New test for
+	  Polyhedra_Powerset<PH>::geometrically_covers().
+
+2004-10-24 Sunday 09:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.106): Added a new item.
+
+2004-10-23 Saturday 23:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/clpq2.pl (1.28): Fail gracefully in those cases
+	  where an overflow exception or other PPL exception is thrown.
+
+2004-10-23 Saturday 23:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/clpq.pl (1.17): Fail gracefully in those cases
+	  where an overflow exception or other PPL exception is thrown.
+
+2004-10-23 Saturday 23:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.139): Handle
+	  std::overflow_error.
+
+2004-10-21 Thursday 20:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/memory1.cc (1.23): Be quiet.
+
+2004-10-21 Thursday 19:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Makefile.am (1.224): The definition of XFAIL_TESTS now
+	  takes into account the type of coefficients being used.
+
+2004-10-21 Thursday 19:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.126): Introduced new Automake variables that
+	  allow to keep track of the type of coefficients being used.
+
+2004-10-21 Thursday 13:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/randphull1.cc (1.11): Fixed to allow for generic
+	  coefficients.
+
+2004-10-21 Thursday 11:59  Abramo Bagnara
+
+	* interfaces/Prolog/Ciao/ppl_ciao.cc (1.26): Generalized string
+	  conversion.
+
+2004-10-20 Wednesday 20:00  Abramo Bagnara
+
+	* src/checked_int.inlines.hh (1.3): Use signed explicitly.
+
+2004-10-20 Wednesday 19:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/: Makefile.am (1.9), expected_a (1.1): Exclude
+	  examples that are too heavy when assertions are enabled.
+
+2004-10-20 Wednesday 18:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.125): Introduced new Automake conditional
+	  ASSERTIONS_ENABLED.
+
+2004-10-20 Wednesday 16:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.105): We now allow the specification of alternative
+	  coefficient implementations.
+
+2004-10-20 Wednesday 15:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.104): The bug concerning empty generator systems has been
+	  fixed.
+
+2004-10-20 Wednesday 13:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Makefile.am (1.223): Added nnc_randphull1 and
+	  nnc_randphull2 to DERIVED_TESTS.
+
+2004-10-19 Tuesday 22:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS (1.14), configure.ac (1.124), demos/Makefile.am (1.4),
+	  demos/ppl_lcdd/ppl_lcdd.cc (1.32),
+	  doc/devref-browse.doxyconf-latex.in (1.46),
+	  doc/devref-print.doxyconf-latex.in (1.46),
+	  doc/devref.doxyconf-html.in (1.46), interfaces/C/ppl_c.cc
+	  (1.113), interfaces/Prolog/ppl_prolog.icc (1.138),
+	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.25),
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.21),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.65),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.90),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.57),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.83), src/BoundingBox.defs.hh
+	  (1.14), src/BoundingBox.inlines.hh (1.13),
+	  src/Checked_Number.defs.hh (1.2), src/Checked_Number.inlines.hh
+	  (1.2), src/Checked_Number.types.hh (1.2), src/ConSys.cc (1.73),
+	  src/ConSys.defs.hh (1.89), src/Constraint.defs.hh (1.91),
+	  src/Constraint.inlines.hh (1.51), src/GMP_Integer.defs.hh (1.2),
+	  src/GMP_Integer.inlines.hh (1.2), src/GMP_Integer.types.hh (1.2),
+	  src/GenSys.cc (1.98), src/GenSys.defs.hh (1.102),
+	  src/Generator.cc (1.53), src/Generator.defs.hh (1.91),
+	  src/Generator.inlines.hh (1.45), src/Integer.defs.hh (1.14),
+	  src/Integer.inlines.hh (1.13), src/Integer.types.hh (1.9),
+	  src/Integer_macros.hh (1.2), src/Integer_traits_template.hh
+	  (1.2), src/Interval.defs.hh (1.17), src/Interval.inlines.hh
+	  (1.13), src/Limits.hh (1.2), src/LinExpression.cc (1.22),
+	  src/LinExpression.defs.hh (1.66), src/LinExpression.inlines.hh
+	  (1.31), src/Linear_Row.defs.hh (1.2), src/Linear_Row.inlines.hh
+	  (1.2), src/Makefile.am (1.82), src/Native_Integer.defs.hh (1.2),
+	  src/Native_Integer.inlines.hh (1.2), src/Native_Integer.types.hh
+	  (1.2), src/Polyhedron.defs.hh (1.250), src/Polyhedron.inlines.hh
+	  (1.98), src/Polyhedron_nonpublic.cc (1.31),
+	  src/Polyhedron_public.cc (1.35), src/Polyhedron_widenings.cc
+	  (1.32), src/Row.defs.hh (1.84), src/Row.inlines.hh (1.49),
+	  src/checked.defs.hh (1.2), src/checked.inlines.hh (1.2),
+	  src/checked_float.inlines.hh (1.2), src/checked_int.inlines.hh
+	  (1.2), src/checked_mpq.inlines.hh (1.2),
+	  src/checked_mpz.inlines.hh (1.2), src/conversion.cc (1.63),
+	  src/float.types.hh (1.2), src/globals.defs.hh (1.5),
+	  tests/BBox.cc (1.5), tests/BBox.hh (1.4), tests/Makefile.am
+	  (1.222), tests/dualhypercubes.cc (1.5): First merge from the
+	  `altnum' branch.
+
+2004-10-19 Tuesday 22:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: pl_check.pl (1.100), Ciao/ppl_ciao.pl (1.71):
+	  Correction to ciao interface so it now allows for prolog failure
+	  for ppl_Polyhedron_map_space_dimensions/2 and
+	  ppl_Polyhedron_fold_dimensions/3.
+
+	  Negative tests for ppl_Polyhedron_map_space_dimensions/2 that
+	  caused make check when using pl_check.pl to fail have now been
+	  restored.  Now these tests pass with all the Prolog systems.
+
+2004-10-19 Tuesday 21:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.31),
+	  doc/devref-browse.doxyconf-latex.in (1.45),
+	  doc/devref-print.doxyconf-latex.in (1.45),
+	  doc/devref.doxyconf-html.in (1.45), src/ConSys.cc (1.72),
+	  src/ConSys.defs.hh (1.88), src/ConSys.inlines.hh (1.34),
+	  src/Constraint.cc (1.42), src/Constraint.defs.hh (1.90),
+	  src/Constraint.inlines.hh (1.50), src/GenSys.cc (1.97),
+	  src/GenSys.defs.hh (1.101), src/GenSys.inlines.hh (1.34),
+	  src/Generator.cc (1.52), src/Generator.defs.hh (1.90),
+	  src/Generator.inlines.hh (1.44), src/LinExpression.cc (1.21),
+	  src/LinExpression.defs.hh (1.65), src/LinExpression.inlines.hh
+	  (1.30), src/Linear_Row.cc (1.1), src/Linear_Row.defs.hh (1.1),
+	  src/Linear_Row.inlines.hh (1.1), src/Linear_Row.types.hh (1.1),
+	  src/Linear_System.cc (1.1), src/Linear_System.defs.hh (1.1),
+	  src/Linear_System.inlines.hh (1.1), src/Linear_System.types.hh
+	  (1.1), src/Makefile.am (1.81), src/Matrix.cc (1.77),
+	  src/Matrix.defs.hh (1.60), src/Matrix.inlines.hh (1.39),
+	  src/Ph_Status.cc (1.5), src/Polyhedron.defs.hh (1.249),
+	  src/Polyhedron_chdims.cc (1.19), src/Polyhedron_nonpublic.cc
+	  (1.30), src/Polyhedron_public.cc (1.34), src/Row.cc (1.69),
+	  src/Row.defs.hh (1.83), src/Row.inlines.hh (1.48),
+	  src/conversion.cc (1.62), src/globals.defs.hh (1.4),
+	  src/globals.inlines.hh (1.2), src/minimize.cc (1.38),
+	  src/simplify.cc (1.39): The class Matrix now represents a simple
+	  matrix of coefficients that is organized in rows, represented by
+	  the class Row.  Matrix and Row take care of all the memory
+	  allocation details and little more.  They are specialized by
+	  classes Linear_Row and Linear_System that, in turn constitute the
+	  basis upon which constraints, generators and systems thereof are
+	  built upon.  Several methods that were no longer needed have been
+	  removed.  Several methods have been given more sensible names and
+	  interfaces.
+
+2004-10-19 Tuesday 16:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.99): Tests causing "make check"
+	  to fail in Ciao and GNU Prolog temporarily disabled.	Now "make
+	  check" in all the prolog interfaces succeeds.
+
+2004-10-19 Tuesday 11:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.98): More tests added so as to
+	  test the Prolog interface more exhaustively.
+
+	  However, because of the more thorough testing, bugs in the Ciao
+	  Prolog and GNU Prolog interfaces have been exposed; as a result
+	  the  "make check" for Ciao Prolog and GNU Prolog now fails.
+
+2004-10-17 Sunday 21:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.112): Fixed a couple of indentation
+	  glitches.
+
+2004-10-17 Sunday 18:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: C_Polyhedron.inlines.hh (1.19), NNC_Polyhedron.inlines.hh
+	  (1.22): Simplified all constructors that need to check for
+	  dimension overflows removing, at the same time, the previous
+	  requirement imposed on the BoundingBox template concerning the
+	  availability of a default constructor.
+
+2004-10-16 Saturday 23:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.118): Explain why functions in the C interface that
+	  compute (space) dimensions no longer return their result.
+
+2004-10-16 Saturday 23:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.117): Mention the bug fixed in
+	  ppl_new_LinExpression_with_dimension().
+
+2004-10-16 Saturday 22:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.111): Fixed a bug in
+	  ppl_new_LinExpression_with_dimension() reported by Pedro
+	  Vasconcelos.
+
+2004-10-15 Friday 08:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: C_Polyhedron.defs.hh (1.25), C_Polyhedron.inlines.hh
+	  (1.18), NNC_Polyhedron.defs.hh (1.27), NNC_Polyhedron.inlines.hh
+	  (1.21), Polyhedron.defs.hh (1.248), Polyhedron.inlines.hh (1.97),
+	  Polyhedron_chdims.cc (1.18), Polyhedron_nonpublic.cc (1.29),
+	  max_space_dimension.hh (1.4): Removed
+	  C_Polyhedron::max_space_dimension() and
+	  NNC_Polyehdron::max_space_dimension(): the method
+	  Polyhedron::max_space_dimension() no longer uses them and it is
+	  not hided by them. Changed all places where we check for
+	  dimensions overflows accordingly.  Exception throwers made
+	  protected to allow calling them from subclasses.  The BoundingBox
+	  template is now required to have a default constructor.
+
+2004-10-13 Wednesday 14:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/addspacedims10.cc (1.2): Comment corrected.
+
+2004-10-13 Wednesday 12:20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.116), TODO (1.103): Corrected the bug shown by
+	  generators2.cc.
+
+2004-10-13 Wednesday 11:56  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_chdims.cc (1.17), tests/addgenerator1.cc (1.7),
+	  tests/addgenerator2.cc (1.7), tests/memory1.cc (1.22): Small
+	  adjustments in comments.
+
+2004-10-13 Wednesday 11:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.33): Method generators() now
+	  correctly sets the space dimension of the generator system
+	  representing an empty polyhedron (thereby correcting the bug
+	  shown by test generators2.cc).
+
+2004-10-13 Wednesday 11:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_nonpublic.cc (1.28): Constructors now correctly
+	  deal with empty systems of constraints/generators having a
+	  positive space dimension.
+
+2004-10-13 Wednesday 11:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.cc (1.71), GenSys.cc (1.96): Now methods
+	  adjust_topology_and_space_dimension() allow for empty systems
+	  having a positive space dimension.
+
+2004-10-13 Wednesday 11:44  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Matrix.cc (1.76), Matrix.inlines.hh (1.38): No longer
+	  enforcing the Matrix invariant   num_rows() == 0   ==>
+	  num_columns() == 0.
+
+2004-10-13 Wednesday 09:39  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.102): Documentation of affine dimension is now in the
+	  user manual.
+
+2004-10-11 Monday 11:58  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am (1.221), addgenerator5.cc (1.1),
+	  generators2.cc (1.10): Tests generators2 and addgenerator5 show a
+	  bug in the handling of space dimensions for a generator system
+	  corresponding to an empty polyhedron.
+
+2004-10-07 Thursday 15:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.220), affineimage9.cc (1.1): New test for
+	  Polyhedron::affine_image().
+
+2004-10-07 Thursday 14:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/polyhull11.cc (1.2): Small correction.
+
+2004-10-07 Thursday 12:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.219), polyhull11.cc (1.1): New test for
+	  Polyhedron::poly_hull_assign_and_minimize().
+
+2004-10-07 Thursday 12:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/polyhull10.cc (1.5): Completed.
+
+2004-10-03 Sunday 15:33  Abramo Bagnara
+
+	* src/: Makefile.am, checked.defs.hh, checked.inlines.hh,
+	  checked_float.inlines.hh, checked_int.inlines.hh,
+	  checked_mpz.inlines.hh (altnum.[11,18,11,12,18,17]): Transformed
+	  implicit default implementation in esplicit specializations using
+	  generic implementation.
+
+2004-10-03 Sunday 09:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked.defs.hh (altnum.17): Comment improved.
+
+2004-10-03 Sunday 00:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/ppl_ciao.cc (1.24): Started implementing
+	  bidirectional communication of bignums.
+
+2004-10-02 Saturday 19:23  Abramo Bagnara
+
+	* src/checked_int.inlines.hh (altnum.17): Fixed 64 bit
+	  architecture.
+
+2004-10-02 Saturday 19:18  Abramo Bagnara
+
+	* src/checked_int.inlines.hh (altnum.16): Better architecture
+	  support for Larger.
+
+2004-10-02 Saturday 19:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked.defs.hh (altnum.16): Comments improved.
+
+2004-10-02 Saturday 18:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: devref-browse.doxyconf-latex.in,
+	  devref-print.doxyconf-latex.in, devref.doxyconf-html.in
+	  (altnum.[3,3,3]): Add the new implementation files to the lists
+	  Doxygen uses to produce the developer's reference manual.
+
+2004-10-02 Saturday 18:03  Abramo Bagnara
+
+	* src/checked_int.inlines.hh (altnum.15): Better name for Larger
+	  struct.
+
+2004-10-02 Saturday 17:59  Abramo Bagnara
+
+	* src/checked_mpz.inlines.hh (altnum.16): Use GMP specific type for
+	  MP size.
+
+2004-10-02 Saturday 17:56  Abramo Bagnara
+
+	* src/checked.defs.hh (altnum.15): Use distinct policies for ext
+	  functions.
+
+2004-10-02 Saturday 17:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_nonpublic.cc (1.27): Implemented another exception
+	  thrower.
+
+2004-10-02 Saturday 17:03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/NNC_Polyhedron.inlines.hh (1.20): Previous commit undone, as
+	  it was breaking the build.
+
+2004-10-02 Saturday 16:22  Abramo Bagnara
+
+	* src/checked.inlines.hh (altnum.10): Use distinct policies for ext
+	  functions.
+
+2004-10-02 Saturday 15:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Limits.hh, checked.defs.hh, checked.inlines.hh,
+	  checked_float.inlines.hh, checked_int.inlines.hh,
+	  checked_mpq.inlines.hh, checked_mpz.inlines.hh
+	  (altnum.[2,14,9,11,14,14,15]): Started enforcing some of our
+	  coding conventions.
+
+2004-10-02 Saturday 14:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/float.types.hh (altnum.3): Initial comment fixed.
+
+2004-10-02 Saturday 13:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Ciao/ppl_ciao.cc, XSB/ppl_xsb.cc,
+	  YAP/ppl_yap.cc (altnum.[2,3,3]): Use checked numbers to detect
+	  overflows.
+
+2004-10-02 Saturday 13:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/NNC_Polyhedron.inlines.hh (1.19): Using the exception thrower
+	  instead of directly throwing the exception.
+
+2004-10-02 Saturday 13:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh (1.247), Polyhedron_chdims.cc (1.16):
+	  Modified all the methods augmenting the space dimension of a
+	  polyhedron so as to throw std::length_error if the new vector
+	  space exceeds the maximum allowed space dimension.
+
+2004-10-02 Saturday 13:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.115): Announced the new behavior of the
+	  H79_widening_assign() operator.  Formally, it is a bugfix since
+	  we were already promising the new behavior in the user manual.
+
+2004-10-02 Saturday 12:11  Abramo Bagnara
+
+	* src/checked_int.inlines.hh (altnum.13): Removed unused code.
+
+2004-10-02 Saturday 10:42  Abramo Bagnara
+
+	* src/: checked.defs.hh, checked_int.inlines.hh,
+	  checked_mpq.inlines.hh, checked_mpz.inlines.hh
+	  (altnum.[13,12,13,14]): Use a typedef for pointer to C strings.
+
+2004-10-02 Saturday 08:42  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh,
+	  checked_int.inlines.hh, checked_mpq.inlines.hh,
+	  checked_mpz.inlines.hh (altnum.[12,12,11,12,13]): Added
+	  constructors from char *.
+
+2004-10-02 Saturday 08:41  Abramo Bagnara
+
+	* interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (altnum.3): Attempt
+	  to fix compilation.
+
+2004-10-01 Friday 19:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS, TODO, compile, config.guess, config.sub, configure.ac,
+	  install-sh, ltmain.sh, missing, Watchdog/compile,
+	  Watchdog/config.guess, Watchdog/config.sub, Watchdog/install-sh,
+	  Watchdog/ltmain.sh, Watchdog/missing, demos/ppl_lcdd/Makefile.am,
+	  demos/ppl_lcdd/expected, demos/ppl_lcdd/ppl_lcdd.cc,
+	  demos/ppl_lcdd/examples/Makefile.am,
+	  demos/ppl_lcdd/examples/README,
+	  demos/ppl_lcdd/examples/dcube10.ext,
+	  demos/ppl_lcdd/examples/dcube12.ext,
+	  demos/ppl_lcdd/examples/dcube3.ext,
+	  demos/ppl_lcdd/examples/dcube6.ext,
+	  demos/ppl_lcdd/examples/dcube8.ext, doc/README,
+	  doc/definitions.dox, interfaces/C/ppl_c.cc,
+	  interfaces/C/ppl_c.h.in, interfaces/Prolog/Prolog_interface.dox,
+	  interfaces/Prolog/clpq.pl, interfaces/Prolog/clpq2.pl,
+	  interfaces/Prolog/expected, interfaces/Prolog/expected2,
+	  interfaces/Prolog/pl_check.pl, interfaces/Prolog/ppl_prolog.icc,
+	  interfaces/Prolog/Ciao/ciao_clpq.pl,
+	  interfaces/Prolog/Ciao/ciao_clpq2.pl,
+	  interfaces/Prolog/Ciao/ciao_pl_check.pl,
+	  interfaces/Prolog/Ciao/ppl_ciao.pl,
+	  interfaces/Prolog/GNU/ppl_gprolog.pl,
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
+	  interfaces/Prolog/XSB/expected, interfaces/Prolog/XSB/expected2,
+	  interfaces/Prolog/XSB/ppl_xsb.H,
+	  interfaces/Prolog/XSB/ppl_xsb.cc,
+	  interfaces/Prolog/XSB/xsb_clpq.P,
+	  interfaces/Prolog/XSB/xsb_clpq2.P,
+	  interfaces/Prolog/XSB/xsb_pl_check.P,
+	  interfaces/Prolog/YAP/ppl_yap.cc, src/AskTell.defs.hh,
+	  src/AskTell.inlines.hh, src/BHRZ03_Certificate.cc,
+	  src/BHRZ03_Certificate.defs.hh,
+	  src/BHRZ03_Certificate.inlines.hh, src/BoundingBox.defs.hh,
+	  src/C_Polyhedron.cc, src/C_Polyhedron.defs.hh, src/ConSys.cc,
+	  src/ConSys.defs.hh, src/Constraint.defs.hh,
+	  src/Determinate.defs.hh, src/Determinate.inlines.hh,
+	  src/GenSys.cc, src/GenSys.defs.hh, src/Generator.defs.hh,
+	  src/H79_Certificate.cc, src/H79_Certificate.defs.hh,
+	  src/H79_Certificate.inlines.hh, src/LinExpression.defs.hh,
+	  src/Matrix.defs.hh, src/Polyhedra_Powerset.defs.hh,
+	  src/Polyhedra_Powerset.inlines.hh, src/Polyhedron.defs.hh,
+	  src/Polyhedron.inlines.hh, src/Polyhedron_chdims.cc,
+	  src/Polyhedron_nonpublic.cc, src/Polyhedron_public.cc,
+	  src/Polyhedron_widenings.cc, src/Variable.defs.hh,
+	  src/conversion.cc, src/globals.defs.hh, src/minimize.cc,
+	  src/simplify.cc, tests/CbecomesNNC1.cc, tests/Makefile.am,
+	  tests/NNCbecomesC1.cc, tests/README, tests/adddimensions1.cc,
+	  tests/adddimensions10.cc, tests/adddimensions11.cc,
+	  tests/adddimensions12.cc, tests/adddimensions13.cc,
+	  tests/adddimensions2.cc, tests/adddimensions3.cc,
+	  tests/adddimensions4.cc, tests/adddimensions5.cc,
+	  tests/adddimensions6.cc, tests/adddimensions7.cc,
+	  tests/adddimensions8.cc, tests/adddimensions9.cc,
+	  tests/addgenerators11.cc, tests/addspacedims1.cc,
+	  tests/addspacedims10.cc, tests/addspacedims11.cc,
+	  tests/addspacedims12.cc, tests/addspacedims13.cc,
+	  tests/addspacedims2.cc, tests/addspacedims3.cc,
+	  tests/addspacedims4.cc, tests/addspacedims5.cc,
+	  tests/addspacedims6.cc, tests/addspacedims7.cc,
+	  tests/addspacedims8.cc, tests/addspacedims9.cc, tests/append1.cc,
+	  tests/append2.cc, tests/boundingbox1.cc, tests/boundingbox2.cc,
+	  tests/concatenate1.cc, tests/exceptions1.cc,
+	  tests/exceptions2.cc, tests/expanddim1.cc, tests/expanddim2.cc,
+	  tests/expandspacedim1.cc, tests/expandspacedim2.cc,
+	  tests/folddims1.cc, tests/folddims2.cc, tests/foldspacedims1.cc,
+	  tests/foldspacedims2.cc, tests/generators1.cc,
+	  tests/generators4.cc, tests/limitedh79extrapolation3.cc,
+	  tests/mapdim1.cc, tests/mapdim2.cc, tests/mapdim3.cc,
+	  tests/mapspacedims1.cc, tests/mapspacedims2.cc,
+	  tests/mapspacedims3.cc, tests/permute.cc,
+	  tests/polydifference1.cc, tests/polydifference9.cc,
+	  tests/removedim1.cc, tests/removedim10.cc, tests/removedim2.cc,
+	  tests/removedim3.cc, tests/removedim4.cc, tests/removedim5.cc,
+	  tests/removedim6.cc, tests/removedim7.cc, tests/removedim8.cc,
+	  tests/removedim9.cc, tests/removespacedims1.cc,
+	  tests/removespacedims10.cc, tests/removespacedims2.cc,
+	  tests/removespacedims3.cc, tests/removespacedims4.cc,
+	  tests/removespacedims5.cc, tests/removespacedims6.cc,
+	  tests/removespacedims7.cc, tests/removespacedims8.cc,
+	  tests/removespacedims9.cc
+	  (altnum.[3,3,1,2,2,8,2,2,1,1,2,2,2,2,1,3,2,6,2,2,1,1,1,1,1,1,3,4,2,3,1,1,1,1,2,4,1,1,2,2,2,2,5,1,1,2,2,1,1,2,2,3,1,2,3,2,3,2,2,3,4,4,3,2,4,4,4,3,3,2,2,2,2,2,4,4,2,6,4,4,2,4,2,2,2,1,4,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,2,1,1,1,2,2,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]):
+	  Third merge from main trunk.
+
+2004-09-30 Thursday 18:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.101): Added another thing not to be forgotten.
+
+2004-09-30 Thursday 17:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.100): Added another item not to be forgotten.
+
+2004-09-30 Thursday 17:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/: Makefile.am (1.218), addgenerators11.cc (1.8): Restored
+	  previous version of test as that change wrongly destroyed the
+	  intention of the test.  Added this test to the XFAIL_TESTS list
+	  in Makefile.am.
+
+2004-09-30 Thursday 13:30  Abramo Bagnara
+
+	* interfaces/Prolog/GNU/ppl_gprolog_sd.cc (altnum.2): Added needed
+	  #include's.
+
+2004-09-30 Thursday 13:23  Abramo Bagnara
+
+	* interfaces/Prolog/SWI/ppl_swiprolog.cc (altnum.4): Include only
+	  the needed file.
+
+2004-09-30 Thursday 09:09  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh
+	  (altnum.[11,11]): Removed test #define.
+
+2004-09-30 Thursday 09:07  Abramo Bagnara
+
+	* interfaces/Prolog/GNU/ppl_gprolog_sd.cc (altnum.1): Fixes for
+	  generalized Integers.
+
+2004-09-29 Wednesday 21:46  Abramo Bagnara
+
+	* interfaces/Prolog/Ciao/ppl_ciao.cc (altnum.1): Fixed compilation.
+
+2004-09-29 Wednesday 14:00  Abramo Bagnara
+
+	* demos/ppl_lcdd/ppl_lcdd.cc, src/Checked_Number.defs.hh,
+	  src/checked.defs.hh (altnum.[5,10,12]): Fixed compilation for GMP
+	  Integers.
+
+2004-09-29 Wednesday 09:52  Abramo Bagnara
+
+	* demos/ppl_lcdd/ppl_lcdd.cc, interfaces/C/ppl_c.cc,
+	  interfaces/Prolog/ppl_prolog.icc,
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
+	  src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
+	  src/GMP_Integer.defs.hh, src/GMP_Integer.inlines.hh,
+	  src/Interval.inlines.hh, src/Native_Integer.defs.hh,
+	  src/Native_Integer.inlines.hh, src/Polyhedron_nonpublic.cc,
+	  src/checked.defs.hh, src/checked.inlines.hh,
+	  src/checked_int.inlines.hh
+	  (altnum.[4,3,3,3,9,10,5,5,5,5,5,5,11,8,10]): Fixed compilation
+	  for different types of Integers.
+
+2004-09-29 Wednesday 08:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.97): More tests added and
+	  improved structure for the tests for
+	  ppl_Polyhedron_topological_closure_assign/1.
+
+2004-09-28 Tuesday 17:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.114), TODO (1.99), doc/definitions.dox (1.159): Announced
+	  the renaming of methods changing space dimensions.  Added to the
+	  user manual the notion of affine independence, which is used to
+	  define the affine dimension of a polyhedron.	Small reordering to
+	  the devref part of definitions.dox.
+
+2004-09-28 Tuesday 17:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_widenings.cc (1.31), tests/Makefile.am (1.217),
+	  tests/limitedh79extrapolation3.cc (1.4): The implementation of
+	  select_H79_constraints() changed so as to ignore trivially true
+	  constraints coming from homogenization or epsilon-polyhedra
+	  encoding. Thus, the H79 widening is now applied to the polyhedra
+	  and not their homogenized polyehdral cones. The known result of
+	  the test limitedh79extrapolation3 has been changed accordingly.
+
+2004-09-28 Tuesday 15:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/: Makefile.am (1.216), addgenerators11.cc (1.7),
+	  polydifference1.cc (1.8): Changes to tests so that
+	  addgenerators11, polydifference1 and nnc_polydifference1 tests
+	  succeed.  The tests addgenerators11 and nnc_polydifference1 are
+	  no longer named as failing tests by Makefile.
+
+2004-09-27 Monday 22:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Ciao/ppl_ciao.pl (1.70): Added missing
+	  definition for ppl_Polyhedron_affine_dimension/2.
+
+2004-09-27 Monday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/: xsb_clpq.P (1.9), xsb_clpq2.P (1.7),
+	  xsb_pl_check.P (1.11): The names of all the methods changing the
+	  space dimension of a polyhedron now contain "space_dimension" as
+	  a substring, therefore avoiding ambiguity with the concept of
+	  affine dimension.
+
+2004-09-27 Monday 17:39  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.158), interfaces/C/ppl_c.cc (1.110),
+	  interfaces/C/ppl_c.h.in (1.35),
+	  interfaces/Prolog/Prolog_interface.dox (1.114),
+	  interfaces/Prolog/clpq.pl (1.16), interfaces/Prolog/clpq2.pl
+	  (1.27), interfaces/Prolog/pl_check.pl (1.96),
+	  interfaces/Prolog/ppl_prolog.icc (1.137),
+	  interfaces/Prolog/Ciao/ciao_clpq.pl (1.10),
+	  interfaces/Prolog/Ciao/ciao_clpq2.pl (1.5),
+	  interfaces/Prolog/Ciao/ciao_pl_check.pl (1.6),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.69),
+	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.47),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.64),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.89),
+	  interfaces/Prolog/XSB/ppl_xsb.H (1.34),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.56),
+	  interfaces/Prolog/XSB/xsb_pl_check.P (1.10),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.82), src/AskTell.defs.hh
+	  (1.26), src/AskTell.inlines.hh (1.22), src/BHRZ03_Certificate.cc
+	  (1.3), src/BHRZ03_Certificate.defs.hh (1.7),
+	  src/BHRZ03_Certificate.inlines.hh (1.3), src/BoundingBox.defs.hh
+	  (1.13), src/ConSys.cc (1.70), src/ConSys.defs.hh (1.87),
+	  src/Constraint.defs.hh (1.89), src/Determinate.defs.hh (1.45),
+	  src/Determinate.inlines.hh (1.40), src/GenSys.cc (1.95),
+	  src/GenSys.defs.hh (1.100), src/Generator.defs.hh (1.89),
+	  src/H79_Certificate.cc (1.4), src/H79_Certificate.defs.hh (1.7),
+	  src/H79_Certificate.inlines.hh (1.3), src/LinExpression.defs.hh
+	  (1.64), src/Matrix.defs.hh (1.59), src/Polyhedra_Powerset.defs.hh
+	  (1.3), src/Polyhedra_Powerset.inlines.hh (1.5),
+	  src/Polyhedron.defs.hh (1.246), src/Polyhedron.inlines.hh (1.96),
+	  src/Polyhedron_chdims.cc (1.15), src/Polyhedron_nonpublic.cc
+	  (1.26), src/Polyhedron_public.cc (1.32), src/Variable.defs.hh
+	  (1.38), tests/Makefile.am (1.215), tests/adddimensions1.cc
+	  (1.15), tests/adddimensions10.cc (1.8), tests/adddimensions11.cc
+	  (1.7), tests/adddimensions12.cc (1.5), tests/adddimensions13.cc
+	  (1.4), tests/adddimensions2.cc (1.11), tests/adddimensions3.cc
+	  (1.13), tests/adddimensions4.cc (1.11), tests/adddimensions5.cc
+	  (1.9), tests/adddimensions6.cc (1.9), tests/adddimensions7.cc
+	  (1.9), tests/adddimensions8.cc (1.7), tests/adddimensions9.cc
+	  (1.8), tests/addspacedims1.cc (1.1), tests/addspacedims10.cc
+	  (1.1), tests/addspacedims11.cc (1.1), tests/addspacedims12.cc
+	  (1.1), tests/addspacedims13.cc (1.1), tests/addspacedims2.cc
+	  (1.1), tests/addspacedims3.cc (1.1), tests/addspacedims4.cc
+	  (1.1), tests/addspacedims5.cc (1.1), tests/addspacedims6.cc
+	  (1.1), tests/addspacedims7.cc (1.1), tests/addspacedims8.cc
+	  (1.1), tests/addspacedims9.cc (1.1), tests/append1.cc (1.23),
+	  tests/append2.cc (1.23), tests/concatenate1.cc (1.9),
+	  tests/exceptions1.cc (1.39), tests/expanddim1.cc (1.8),
+	  tests/expanddim2.cc (1.2), tests/expandspacedim1.cc (1.1),
+	  tests/expandspacedim2.cc (1.1), tests/folddims1.cc (1.3),
+	  tests/folddims2.cc (1.3), tests/foldspacedims1.cc (1.1),
+	  tests/foldspacedims2.cc (1.1), tests/mapdim1.cc (1.3),
+	  tests/mapdim2.cc (1.3), tests/mapdim3.cc (1.2),
+	  tests/mapspacedims1.cc (1.1), tests/mapspacedims2.cc (1.1),
+	  tests/mapspacedims3.cc (1.1), tests/permute.cc (1.32),
+	  tests/polydifference9.cc (1.4), tests/removedim1.cc (1.12),
+	  tests/removedim10.cc (1.4), tests/removedim2.cc (1.16),
+	  tests/removedim3.cc (1.12), tests/removedim4.cc (1.13),
+	  tests/removedim5.cc (1.11), tests/removedim6.cc (1.14),
+	  tests/removedim7.cc (1.10), tests/removedim8.cc (1.7),
+	  tests/removedim9.cc (1.7), tests/removespacedims1.cc (1.1),
+	  tests/removespacedims10.cc (1.1), tests/removespacedims2.cc
+	  (1.1), tests/removespacedims3.cc (1.1), tests/removespacedims4.cc
+	  (1.1), tests/removespacedims5.cc (1.1), tests/removespacedims6.cc
+	  (1.1), tests/removespacedims7.cc (1.1), tests/removespacedims8.cc
+	  (1.1), tests/removespacedims9.cc (1.1): The method
+	  Polyhedron::dimension() is now named
+	  Polyhedron::affine_dimension().  The names of all the methods
+	  changing the space dimension of a polyhedron now contain
+	  "space_dimension" as a substring, therefore avoiding ambiguity
+	  with the concept of affine dimension.  All the foreign interfaces
+	  changed accordingly.	Also tried to be consistent in the
+	  documentation.  All the tests related to methods changing space
+	  dimensions now follow a common naming scheme (***spacedim(s)*).
+
+2004-09-27 Monday 17:20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/conversion.cc (1.61): Improved the detailed documentation in
+	  a couple of places.  Using a reference to avoid multiple access
+	  to dest[num_lines_or_equalities].
+
+2004-09-27 Monday 09:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: SatRow.cc, SatRow.defs.hh, SatRow.inlines.hh
+	  (altnum.[8,2,1]): Updated from the main trunk.
+
+2004-09-26 Sunday 22:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/SatRow.cc (1.28): SatRow::first() and SatRow::next() speeded
+	  up.
+
+2004-09-26 Sunday 22:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/SatRow.cc (1.27): SatRow::last() and SatRow::prev() speeded
+	  up.
+
+2004-09-26 Sunday 19:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.98): Added a set of possible renamings we may decide to
+	  perform before releasing PPL 0.7.
+
+2004-09-26 Sunday 15:44  Abramo Bagnara
+
+	* src/: checked_int.inlines.hh, checked_mpz.inlines.hh,
+	  checked_mpq.inlines.hh (altnum.[9,12,11]): Reorganizing
+	  specializations.
+
+2004-09-26 Sunday 15:44  Abramo Bagnara
+
+	* src/checked_float.inlines.hh (altnum.10): Removed trailing
+	  semicolons.
+
+2004-09-26 Sunday 15:44  Abramo Bagnara
+
+	* src/checked.defs.hh (altnum.10): Removed trailing semicolon.
+
+2004-09-26 Sunday 15:43  Abramo Bagnara
+
+	* src/: Interval.inlines.hh, Polyhedron_nonpublic.cc
+	  (altnum.[4,4]): Call proper constructors.
+
+2004-09-26 Sunday 15:43  Abramo Bagnara
+
+	* src/Checked_Number.types.hh (altnum.3): Renamed default policy.
+
+2004-09-26 Sunday 15:42  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh
+	  (altnum.[8,9]): Make Checked_Number optionally implicitly
+	  convertible to base type.
+
+2004-09-26 Sunday 15:41  Abramo Bagnara
+
+	* interfaces/Prolog/: ppl_prolog.icc, SWI/ppl_swiprolog.cc
+	  (altnum.[2,2]): Preliminary step on generalization path.
+
+2004-09-26 Sunday 15:40  Abramo Bagnara
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (altnum.3): Call proper constructor.
+
+2004-09-26 Sunday 14:44  Abramo Bagnara
+
+	* src/SatRow.cc (altnum.7): Fixed thinko. Added assertion for bogus
+	  call to last.
+
+2004-09-26 Sunday 13:47  Abramo Bagnara
+
+	* src/SatRow.cc (altnum.6): Trivial bug fixes.
+
+2004-09-26 Sunday 11:24  Abramo Bagnara
+
+	* src/SatRow.cc (altnum.5): Further optimizations.
+
+2004-09-26 Sunday 09:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.113), interfaces/C/ppl_c.cc (1.109),
+	  interfaces/Prolog/ppl_prolog.icc (1.136), src/Polyhedron.defs.hh
+	  (1.245), src/Polyhedron.inlines.hh (1.95),
+	  src/Polyhedron_widenings.cc (1.30), src/globals.defs.hh (1.3),
+	  tests/boundingbox1.cc (1.37), tests/boundingbox2.cc (1.22): The
+	  enumeration values of enum Complexity_Class have been renamed
+	  POLYNOMIAL_COMPLEXITY, SIMPLEX_COMPLEXITY and ANY_COMPLEXITY.
+
+2004-09-26 Sunday 09:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: SatRow.cc (1.26), SatRow.inlines.hh (1.29): Use ffs(3) when
+	  possible.
+
+2004-09-26 Sunday 09:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.123): Added a check to determine sizeof(int).
+
+2004-09-26 Sunday 09:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/SatRow.cc (1.25): Function strict_subset() speeded up
+	  further.
+
+2004-09-26 Sunday 00:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.122): Check whether the ffs(3) function is
+	  available.
+
+2004-09-25 Saturday 23:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/SatRow.defs.hh (1.34): Fix two completely bogus comments.
+
+2004-09-25 Saturday 15:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/SatRow.cc (1.24): Function strict_subset() speeded up.
+
+2004-09-25 Saturday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/SatRow.cc (1.23): Function subset_or_equal() speeded up.
+
+2004-09-25 Saturday 11:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/SatRow.cc (altnum.4): Avoid a useless asymmetry.	All the
+	  other things being equal, prefer pre-increment and pre-decrement
+	  to post-increment and post-decrement.
+
+2004-09-25 Saturday 10:25  Abramo Bagnara
+
+	* src/SatRow.cc (altnum.3): Minor residual optimization.
+
+2004-09-25 Saturday 10:23  Abramo Bagnara
+
+	* src/SatRow.cc (altnum.2): Optimization second attempt.
+
+2004-09-25 Saturday 10:15  Abramo Bagnara
+
+	* src/SatRow.cc (altnum.1): Optimization first attempt.
+
+2004-09-22 Wednesday 18:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Makefile.am (altnum.2): Activate the Prolog
+	  interfaces.
+
+2004-09-22 Wednesday 17:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/expected (1.3): Updated to reflect the fact that
+	  we are not sorting constraints before returning them.
+
+2004-09-22 Wednesday 16:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: expected (1.7), expected2 (1.12),
+	  XSB/expected (1.8), XSB/expected2 (1.10): Updated to reflect the
+	  fact that we are not sorting constraints before returning them.
+
+2004-09-22 Wednesday 16:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS, configure.ac, src/Checked_Integer.defs.hh,
+	  src/Checked_Integer.inlines.hh, src/Checked_Integer.types.hh,
+	  src/Integer.defs.hh, src/Integer.types.hh, src/Makefile.am
+	  (altnum.[3,7,6,7,3,5,5,10]): Commit to the new implementation of
+	  checked numbers.
+
+2004-09-22 Wednesday 16:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (altnum.2): Temporary kludge to make things
+	  work until we generalize the interface.
+
+2004-09-22 Wednesday 16:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: GMP_Integer.defs.hh, GMP_Integer.inlines.hh (altnum.[4,4]):
+	  Added add_mul_assign() and sub_mul_assign().
+
+2004-09-22 Wednesday 16:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.31): No longer sorting constraints in
+	  Polyhedron::constraints().  Two FIXMEs added so as not to forget
+	  to reconsider the situation when we will have better sorting
+	  methods.
+
+2004-09-22 Wednesday 12:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.defs.hh (1.86), GenSys.defs.hh (1.99): Added a
+	  couple of missing \relates.
+
+2004-09-22 Wednesday 10:18  Abramo Bagnara
+
+	* src/: checked.inlines.hh, checked_float.inlines.hh
+	  (altnum.[7,9]): Separated approximated arithmentic add/sub.
+
+2004-09-20 Monday 17:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.113): Added
+	  documentation for ppl_Polyhedron_dimension/2.
+
+2004-09-20 Monday 15:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am, interfaces/Makefile.am (altnum.[4,1]): Activate the
+	  C interface (this breaks the build).
+
+2004-09-20 Monday 13:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/boundingbox1.cc (altnum.3): Quiet again.
+
+2004-09-20 Monday 11:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BoundingBox.inlines.hh, Interval.defs.hh,
+	  Interval.inlines.hh, Polyhedron.inlines.hh (altnum.[3,3,3,3]):
+	  Temporary hacks to avoid failures with checked 64-bits integers.
+
+2004-09-20 Monday 09:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* compile (1.2), install-sh (1.10), missing (1.8), Watchdog/compile
+	  (1.2), Watchdog/install-sh (1.7), Watchdog/missing (1.4): Updated
+	  from Automake 1.9.2.
+
+2004-09-20 Monday 09:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/boundingbox1.cc (altnum.2): Made noisy so as to make
+	  visible how test2() is failing.
+
+2004-09-19 Sunday 22:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am, NEWS, README.configure, TODO, configure.ac,
+	  Watchdog/Makefile.am, Watchdog/Watchdog.cc,
+	  demos/ppl_lcdd/Makefile.am, demos/ppl_lcdd/expected,
+	  demos/ppl_lcdd/ppl_lcdd.cc, demos/ppl_lcdd/examples/README,
+	  demos/ppl_lpsol/Makefile.am, demos/ppl_lpsol/expected,
+	  demos/ppl_lpsol/ppl_lpsol.c, doc/definitions.dox,
+	  doc/devref-browse.doxyconf-latex.in,
+	  doc/devref-print.doxyconf-latex.in, doc/devref.doxyconf-html.in,
+	  doc/ppl.sty, doc/user-browse.doxyconf-latex.in,
+	  doc/user-print.doxyconf-latex.in, doc/user.doxyconf-html.in,
+	  interfaces/Prolog/Prolog_interface.dox,
+	  interfaces/Prolog/Ciao/Makefile.am,
+	  interfaces/Prolog/GNU/Makefile.am,
+	  interfaces/Prolog/SICStus/Makefile.am,
+	  interfaces/Prolog/SWI/Makefile.am,
+	  interfaces/Prolog/XSB/Makefile.am,
+	  interfaces/Prolog/YAP/Makefile.am, src/AskTell.defs.hh,
+	  src/BHRZ03_Certificate.cc, src/BHRZ03_Certificate.defs.hh,
+	  src/BoundingBox.defs.hh, src/Checked_Number.defs.hh,
+	  src/Checked_Number.inlines.hh, src/ConSys.cc, src/ConSys.defs.hh,
+	  src/Constraint.defs.hh, src/Determinate.defs.hh, src/GenSys.cc,
+	  src/GenSys.defs.hh, src/Generator.cc, src/Generator.defs.hh,
+	  src/H79_Certificate.cc, src/H79_Certificate.defs.hh, src/Init.cc,
+	  src/Makefile.am, src/Matrix.cc, src/Polyhedra_PowerSet.defs.hh,
+	  src/Polyhedra_PowerSet.inlines.hh,
+	  src/Polyhedra_PowerSet.types.hh, src/Polyhedra_Powerset.defs.hh,
+	  src/Polyhedra_Powerset.inlines.hh,
+	  src/Polyhedra_Powerset.types.hh, src/Polyhedron.defs.hh,
+	  src/Polyhedron_nonpublic.cc, src/Polyhedron_public.cc,
+	  src/Polyhedron_widenings.cc, src/PowerSet.defs.hh,
+	  src/PowerSet.inlines.hh, src/PowerSet.types.hh,
+	  src/Powerset.defs.hh, src/Powerset.inlines.hh,
+	  src/Powerset.types.hh, src/Row.cc, src/Row.defs.hh,
+	  src/Row.inlines.hh, src/SatMatrix.cc, src/SatRow.defs.hh,
+	  src/Variable.defs.hh, src/Widening_Function.defs.hh,
+	  src/Widening_Function.inlines.hh, src/algorithms.hh,
+	  src/checked.inlines.hh, src/conversion.cc, src/globals.cc,
+	  src/globals.defs.hh, src/globals.hh, src/globals.inlines.hh,
+	  src/max_space_dimension.hh, tests/Makefile.am,
+	  tests/NNCminimize5.cc, tests/addconstraint1.cc,
+	  tests/addgenerator1.cc, tests/addgenerator2.cc,
+	  tests/addgenerator4.cc, tests/bgp99extrapolation1.cc,
+	  tests/bgp99extrapolation2.cc, tests/bhz03widening1.cc,
+	  tests/bhz03widening2.cc, tests/bhz03widening3.cc,
+	  tests/bhz03widening4.cc, tests/bhz03widening5.cc,
+	  tests/bhz03widening6.cc, tests/h79widening8.cc,
+	  tests/linearpartition1.cc, tests/linearpartition2.cc,
+	  tests/linearpartition3.cc, tests/linearpartition4.cc,
+	  tests/mc91.cc, tests/polydifference9.cc, tests/relations17.cc,
+	  tests/timings.cc, tests/timings.hh, utils/.cvsignore,
+	  utils/Makefile.am, utils/timings.cc, utils/timings.hh
+	  (altnum.[3,2,2,2,6,2,2,2,1,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,2,1,2,2,7,8,2,3,3,2,3,3,3,3,2,2,2,9,3,2,2,1,1,1,1,3,3,3,3,2,2,1,1,1,1,2,3,2,1,1,1,2,2,2,6,3,3,1,3,1,1,3,1,1,1,1,1,2,2,2,2,2,2,2,2,1,2,2,2,2,1,1,1,1,1,1,1,1,1]):
+	  Second merge from main trunk.
+
+2004-09-19 Sunday 21:39  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: pl_check.pl (1.95), Ciao/ciao_pl_check.pl
+	  (1.5), GNU/ppl_gprolog.pl (1.46): Added tests for the Prolog
+	  interface predicate ppl_Polyhedron_dimension/2.  Updated
+	  interface files to correct obvious bugs for this predicate.
+
+2004-09-19 Sunday 21:28  Abramo Bagnara
+
+	* src/: checked.defs.hh, checked.inlines.hh,
+	  checked_float.inlines.hh, checked_int.inlines.hh,
+	  checked_mpq.inlines.hh, checked_mpz.inlines.hh
+	  (altnum.[9,5,8,8,10,11]): Better names for policy fields. Added
+	  add_assign_mul and sub_assign_mul. Enriched Result return codes.
+
+2004-09-19 Sunday 21:25  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh
+	  (altnum.[6,7]): Better names for policy fields. Added
+	  add_assign_mul and sub_assign_nul.
+
+2004-09-19 Sunday 21:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/simplify.cc (1.38): Comments revised so as not to refer to
+	  (no longer existing) comparison operators between rows of the
+	  saturation matrices.
+
+2004-09-19 Sunday 19:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/examples/: Makefile.am (1.3), README (1.2),
+	  dcube10.ext (1.1), dcube12.ext (1.1), dcube3.ext (1.1),
+	  dcube6.ext (1.1), dcube8.ext (1.1): New examples with V
+	  representations of dual hypercubes.
+
+2004-09-19 Sunday 18:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.24), config.sub (1.23), Watchdog/config.guess
+	  (1.8), Watchdog/config.sub (1.8): Updated.
+
+2004-09-19 Sunday 18:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.20), Watchdog/ltmain.sh (1.9): Updated from Libtool
+	  1.5.10.
+
+2004-09-19 Sunday 09:53  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/README (1.2): Improved the text.
+
+2004-09-19 Sunday 09:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/expected (1.2): Updated to reflect the fact that
+	  we no longer sort generators for closed polyhedra.
+
+2004-09-19 Sunday 08:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.97): Two new important things to do.
+
+2004-09-19 Sunday 08:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.112): Significant efficiency improvements have been
+	  achieved in the case of closed polyhedra.
+
+2004-09-19 Sunday 08:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/ppl_ciao.pl (1.68): Similar lines are now
+	  commented out in the same way.
+
+2004-09-19 Sunday 08:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/README (1.4): Copyright notice added.
+
+2004-09-19 Sunday 08:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/globals.defs.hh (1.2): Added code to experiment with an
+	  alternative way of dealing with temporaries.
+
+2004-09-19 Sunday 08:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: minimize.cc (1.37), simplify.cc (1.37): Small improvements.
+
+2004-09-19 Sunday 08:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.30): In Polyhedron::generators(), we
+	  no longer insist in returning a sorted system of generators in
+	  the case of a closed polyhedron.
+
+2004-09-19 Sunday 08:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedra_Powerset.inlines.hh (1.4): Use the new constructor
+	  C_Polyhedron::C_Polyhedron(const NNC_Polyhedron&).
+
+2004-09-19 Sunday 00:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.30): Added some comments to explain
+	  what we are doing.  Enahnced the function write_polyehdron() to
+	  also apply to Polka and PolyLib polyhedra objects.
+
+2004-09-18 Saturday 16:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.29): With Polka, do not try to
+	  print the "frames" of an empty polyhedron.
+
+2004-09-18 Saturday 16:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.28): Increase the magic parameter
+	  of polka_initialize() to 25000: with 22500 Polka 2.0.2 dies on
+	  mit31-20.ine with the error "Chernikova: out of table space".
+
+2004-09-18 Saturday 16:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/: Makefile.am (1.8), ppl_lcdd.cc (1.27): A first,
+	  rough attempt at obtaining an `lcdd' clone that works also with
+	  (New) Polka and PolyLib.
+
+2004-09-17 Friday 15:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.96), interfaces/Prolog/ppl_prolog.icc (1.135),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.67),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.63),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.88),
+	  interfaces/Prolog/XSB/ppl_xsb.H (1.33),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.55),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.81): Polyhedron::dimension()
+	  is now available in all the interfaces.
+
+2004-09-17 Friday 15:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.111), interfaces/C/ppl_c.cc (1.108),
+	  interfaces/C/ppl_c.h.in (1.34): Functions in the C interface that
+	  compute (space) dimensions no longer return their result.  The
+	  caller is now required to pass, as an extra argument, a pointer
+	  to a memory area where the result will be written.
+
+2004-09-17 Friday 15:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.107), ppl_c.h.in (1.33): New function
+	  int ppl_Polyhedron_dimension(ppl_const_Polyhedron_t ph).
+
+2004-09-17 Friday 10:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.26): Remove support for the
+	  "project" command: it was undocumented and its usefulness is
+	  highly questionable.
+
+2004-09-17 Friday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.110), TODO (1.95), demos/ppl_lcdd/ppl_lcdd.cc (1.25): The
+	  `ppl_lcdd' demo is now able to parse problems produced by lrs,
+	  i.e., where the number of rows of the matrix is omitted and
+	  replaced by "*****" (five asterisks).
+
+2004-09-17 Friday 08:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.94): Typo fixed.
+
+2004-09-16 Thursday 22:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.93), tests/README (1.1): New README file explains how a
+	  program in our test suite can be used for a quick hands-on PPL.
+
+2004-09-16 Thursday 18:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: CbecomesNNC1.cc (1.6), exceptions1.cc (1.38),
+	  exceptions2.cc (1.33), generators1.cc (1.14), generators4.cc
+	  (1.6): Replace "built" by "build" wherever appropriate.
+
+2004-09-16 Thursday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.109), TODO (1.92), src/C_Polyhedron.cc (1.10),
+	  src/C_Polyhedron.defs.hh (1.24), tests/Makefile.am (1.214),
+	  tests/NNCbecomesC1.cc (1.1), tests/exceptions2.cc (1.32): The
+	  constructor C_Polyhedron(const NNC_Polyhedron& y) no longer
+	  throws an exception if `y' is not topologically closed.  Rather,
+	  it constructs a C_Polyhedron representing the topological closure
+	  of `y'.
+
+2004-09-16 Thursday 17:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.108), src/Polyhedra_Powerset.defs.hh (1.2),
+	  src/Polyhedra_Powerset.inlines.hh (1.3): The constructors
+	  allowing to obtain a Polyhedra_Powerset<NNC_Polyhedron> from a
+	  Polyhedra_Powerset<C_Polyhedron> and the other way around are now
+	  explicit.
+
+2004-09-16 Thursday 17:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BoundingBox.cc (1.9): Include <config.h>.
+
+2004-09-16 Thursday 17:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/adddimensions11.cc (1.6): Inconsistency fixed.
+
+2004-09-16 Thursday 09:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* Watchdog/Watchdog.cc (1.18), src/Powerset.inlines.hh (1.2),
+	  src/algorithms.hh (1.34): Simplified the progrma logic in a few
+	  places where we remove elements from a container by using the
+	  return value of method erase().
+
+2004-09-15 Wednesday 20:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/linearpartition4.cc (1.3): Be quiet.
+
+2004-09-15 Wednesday 20:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/polydifference9.cc (1.3): Completed and made quiet.
+
+2004-09-15 Wednesday 19:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BHRZ03_Certificate.cc (1.2), src/ConSys.defs.hh (1.85),
+	  src/GenSys.defs.hh (1.98), src/H79_Certificate.cc (1.3),
+	  src/Matrix.cc (1.75), src/Polyhedra_Powerset.inlines.hh (1.2),
+	  src/Polyhedron_widenings.cc (1.29), tests/NNCminimize5.cc (1.10),
+	  tests/addconstraint1.cc (1.6), tests/addgenerator1.cc (1.6),
+	  tests/addgenerator2.cc (1.6), tests/addgenerator4.cc (1.6),
+	  tests/relations17.cc (1.8): Try to be consistent in the choice of
+	  variable names.
+
+2004-09-15 Wednesday 19:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.107): Announce the bug just fixed.
+
+2004-09-15 Wednesday 18:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.106), TODO (1.91), doc/devref-browse.doxyconf-latex.in
+	  (1.44), doc/devref-print.doxyconf-latex.in (1.44),
+	  doc/devref.doxyconf-html.in (1.44), src/Makefile.am (1.80),
+	  src/Polyhedra_PowerSet.defs.hh (1.36),
+	  src/Polyhedra_PowerSet.inlines.hh (1.42),
+	  src/Polyhedra_PowerSet.types.hh (1.3),
+	  src/Polyhedra_Powerset.defs.hh (1.1),
+	  src/Polyhedra_Powerset.inlines.hh (1.1),
+	  src/Polyhedra_Powerset.types.hh (1.1), src/PowerSet.defs.hh
+	  (1.49), src/PowerSet.inlines.hh (1.59), src/PowerSet.types.hh
+	  (1.7), src/Powerset.defs.hh (1.1), src/Powerset.inlines.hh (1.1),
+	  src/Powerset.types.hh (1.1), src/Widening_Function.defs.hh (1.5),
+	  src/Widening_Function.inlines.hh (1.5), src/algorithms.hh (1.33),
+	  src/max_space_dimension.hh (1.3), tests/bgp99extrapolation1.cc
+	  (1.5), tests/bgp99extrapolation2.cc (1.7),
+	  tests/bhz03widening1.cc (1.6), tests/bhz03widening2.cc (1.8),
+	  tests/bhz03widening3.cc (1.6), tests/bhz03widening4.cc (1.4),
+	  tests/bhz03widening5.cc (1.5), tests/bhz03widening6.cc (1.6),
+	  tests/linearpartition1.cc (1.15), tests/linearpartition2.cc
+	  (1.15), tests/linearpartition3.cc (1.15),
+	  tests/linearpartition4.cc (1.2), tests/mc91.cc (1.15),
+	  tests/polydifference9.cc (1.2): The classes PowerSet and
+	  Polyhedra_PowerSet have been renamed Powerset and
+	  Polyhedra_Powerset, respectively.
+
+2004-09-15 Wednesday 18:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/algorithms.hh (1.32): Corrected a bug in check_containment().
+	  The bug was affecting method geometrically_contains().
+
+2004-09-15 Wednesday 18:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.90): Polyhedra_PowerSet::poly_difference_assign() has
+	  been implemented.
+
+2004-09-15 Wednesday 16:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.29): (Not well thought) FIXME
+	  removed.
+
+2004-09-15 Wednesday 14:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.89): Several new things to do.
+
+2004-09-15 Wednesday 14:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.213), polydifference9.cc (1.1): Test
+	  Polyhedra_PowerSet<PH>::poly_difference_assign().  (It presently
+	  fails, apparently due to a bug in
+	  Polyhedra_PowerSet<PH>::geometrically_equals().)
+
+2004-09-15 Wednesday 14:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/algorithms.hh (1.31): The linear_partition() template
+	  function is now in Polyhedra_PowerSet.*.hh.
+
+2004-09-15 Wednesday 14:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.105), src/Polyhedra_PowerSet.defs.hh (1.35),
+	  src/Polyhedra_PowerSet.inlines.hh (1.41): New constructors and
+	  assignment operators allowing to obtain a
+	  Polyhedra_PowerSet<NNC_Polyhedron> from a
+	  Polyhedra_PowerSet<C_Polyhedron> and the other way around.  In
+	  the latter case, the topological clusure of the element polyhedra
+	  is computed.	New method
+	  Polyhedra_PowerSet::poly_difference_assign(const
+	  Polyhedra_PowerSet& y) assigns to `*this' the poly-difference of
+	  `*this' and `y'.
+
+2004-09-15 Wednesday 14:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: PowerSet.defs.hh (1.48), PowerSet.inlines.hh (1.58): New
+	  method PowerSet<CS>::clear().
+
+2004-09-15 Wednesday 09:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.104), TODO (1.88), src/Polyhedron.defs.hh (1.244),
+	  src/Polyhedron_public.cc (1.28): Added a first, draft
+	  implementation of method dimension_type Polyhedron::dimension():
+	  it returns the dimension of *this (not to be confused with the
+	  dimension of its enclosing vector space) or 0, if *this is empty.
+
+2004-09-13 Monday 07:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.103): Mentioned the bug just corrected.
+
+2004-09-12 Sunday 18:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Makefile.am (1.212): Use h79widening8.cc also with NNC
+	  polyhedra.
+
+2004-09-08 Wednesday 17:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/GenSys.cc (ppl-0_6-branch.1): Corrected a bug reported by
+	  Sriram.
+
+2004-09-08 Wednesday 16:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/h79widening8.cc (1.2): Made silent.
+
+2004-09-08 Wednesday 16:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/GenSys.cc (1.94): Corrected a bug in
+	  GenSys::satisfied_by_all_generators(), which was revealed by the
+	  test h79widening8.cc.
+
+2004-09-08 Wednesday 16:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am (1.211), h79widening8.cc (1.1): Added a test
+	  showing a bug in H79_widening_assign().
+
+2004-09-03 Friday 14:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/Makefile.am (1.7): Inclusion directive fixed.
+
+2004-09-03 Friday 10:37  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.87), demos/ppl_lcdd/ppl_lcdd.cc (1.24): Added support for
+	  printing timing information (on std::cerr).
+
+2004-09-02 Thursday 22:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.102), demos/ppl_lpsol/expected (1.2),
+	  demos/ppl_lpsol/ppl_lpsol.c (1.3): Fixed a bug in the `ppl_lpsol'
+	  demo (thanks to Andrea Cimino).
+
+2004-09-02 Thursday 22:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/Makefile.am (1.12), src/Makefile.am (1.79): Prepared for
+	  PPL 0.7.
+
+2004-08-31 Tuesday 16:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Makefile.am (1.210): Search for header files also in the
+	  `utils' directory.
+
+2004-08-31 Tuesday 16:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.27), configure.ac (1.121),
+	  demos/ppl_lcdd/Makefile.am (1.6), tests/Makefile.am (1.209),
+	  tests/timings.cc (1.5), tests/timings.hh (1.5), utils/.cvsignore
+	  (1.1), utils/Makefile.am (1.1), utils/timings.cc (1.1),
+	  utils/timings.hh (1.1): The timings functions are now included in
+	  a `ppl_utils' convenience library, which is contained in the
+	  newly created `utils' directory.
+
+2004-08-30 Monday 23:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.86): Three more things to do.
+
+2004-08-30 Monday 23:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.85): Added several new things to be done.
+
+2004-08-30 Monday 21:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/examples/README (1.1): Explain and give pointers
+	  to the origins of these examples.
+
+2004-08-30 Monday 16:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref-browse.doxyconf-latex.in (1.43),
+	  devref-print.doxyconf-latex.in (1.43), devref.doxyconf-html.in
+	  (1.43), user-browse.doxyconf-latex.in (1.21),
+	  user-print.doxyconf-latex.in (1.21), user.doxyconf-html.in
+	  (1.23): Updated to the latest doxygen version (1.3.8).
+
+2004-08-28 Saturday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: devref-browse.doxyconf-latex.in (1.42),
+	  devref-print.doxyconf-latex.in (1.42), devref.doxyconf-html.in
+	  (1.42): Replaced globals.hh with globals.defs.hh and
+	  globals.inlines.hh.
+
+2004-08-27 Friday 09:23  Abramo Bagnara
+
+	* src/: checked_mpq.inlines.hh, checked_mpz.inlines.hh
+	  (altnum.[9,10]): Added support for special values.
+
+2004-08-27 Friday 09:23  Abramo Bagnara
+
+	* src/checked_int.inlines.hh (altnum.7): Added implementation of
+	  extended integers
+
+2004-08-27 Friday 09:22  Abramo Bagnara
+
+	* src/checked_float.inlines.hh (altnum.7): Better implementation of
+	  pred/succ.
+
+2004-08-27 Friday 09:21  Abramo Bagnara
+
+	* src/checked.inlines.hh (altnum.4): Added extended functions.
+
+2004-08-26 Thursday 23:54  Abramo Bagnara
+
+	* src/Makefile.am (altnum.8): Fixed concatenation order.
+
+2004-08-26 Thursday 23:53  Abramo Bagnara
+
+	* src/Checked_Number.inlines.hh (altnum.6): Use Checked::functions
+
+2004-08-26 Thursday 23:52  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh, checked.defs.hh (altnum.[5,8]):
+	  Added some policy fields. Better specialization infrastructure.
+
+2004-08-23 Monday 20:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh (1.243), Polyhedron_widenings.cc (1.28):
+	  Removed the no-longer used function is_BHRZ03_stabilizing(),
+	  which has been superseded by the use of BHRZ03_Certificate.
+
+2004-08-23 Monday 16:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/algorithms.hh (1.30): Documented (for the developers) the
+	  function check_containment() and linear_partition_aux().
+
+2004-08-23 Monday 12:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: ConSys.cc (1.69), Matrix.cc (1.74): Use add_mul_assign()
+	  and sub_mul_assign() when possible.
+
+2004-08-23 Monday 11:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron_nonpublic.cc (1.25), Row.cc (1.68), Row.defs.hh
+	  (1.82), Row.inlines.hh (1.47): New funcions void
+	  homogeneous_scalar_product_assign(Integer& z, const Row& x, const
+	  Row& y) and int homogeneous_scalar_product_sign(const Row& x,
+	  const Row& y).
+
+2004-08-23 Monday 10:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/GenSys.cc (1.93): Last change completed.
+
+2004-08-23 Monday 10:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/GenSys.cc (1.92): Use scalar_product_assign() instead of
+	  replicating code..
+
+2004-08-23 Monday 10:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: AskTell.defs.hh (1.25), BHRZ03_Certificate.defs.hh (1.6),
+	  BoundingBox.defs.hh (1.12), Determinate.defs.hh (1.44),
+	  H79_Certificate.defs.hh (1.6), Init.cc (1.14), Makefile.am
+	  (1.78), Matrix.cc (1.73), Polyhedra_PowerSet.defs.hh (1.34),
+	  Polyhedron.defs.hh (1.242), Row.cc (1.67), Row.defs.hh (1.81),
+	  Row.inlines.hh (1.46), SatMatrix.cc (1.29), SatRow.defs.hh
+	  (1.33), Variable.defs.hh (1.37), conversion.cc (1.60), globals.cc
+	  (1.18), globals.defs.hh (1.1), globals.hh (1.42): Header file
+	  globals.hh renamed globals.defs.hh.
+
+2004-08-23 Monday 09:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Makefile.am (1.77), Row.cc (1.66), conversion.cc (1.59),
+	  globals.hh (1.41), globals.inlines.hh (1.1): New function void
+	  normalize2(const Integer& x, const Integer& y, Integer& nx,
+	  Integer& ny).  Start moving inline implementations of globals in
+	  globals.inlines.hh.
+
+2004-08-23 Monday 08:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Row.cc (1.65), conversion.cc (1.58): Avoid using some
+	  temporaries.	Avoid calling the same function twice.
+
+2004-08-22 Sunday 23:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: GenSys.cc (1.91), Integer.defs.hh (1.13),
+	  Integer.inlines.hh (1.12), Matrix.cc (1.72),
+	  Polyhedron_nonpublic.cc (1.24), Polyhedron_widenings.cc (1.27),
+	  Row.cc (1.64): New function void sub_mul_assign(Integer& x, const
+	  Integer& y, const Integer& z) to efficiently compute x -= y*z.
+
+	  Use add_mul_assign() and sub_mul_assign() when possible.
+
+2004-08-22 Sunday 23:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Determinate.defs.hh (1.43): Spurious friend declarations
+	  removed.
+
+2004-08-22 Sunday 23:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Constraint.defs.hh (1.88), GenSys.cc (1.90),
+	  Generator.defs.hh (1.88), Polyhedron_nonpublic.cc (1.23),
+	  Polyhedron_public.cc (1.27), Polyhedron_widenings.cc (1.26),
+	  globals.cc (1.17), globals.hh (1.40): Functions const Integer&
+	  operator*(const Constraint& c, const Generator& g) and const
+	  Integer& reduced_scalar_product(const Constraint& c, const
+	  Generator& g) removed.  Used void scalar_product_assign(Integer&
+	  z, const Row& x, const Row& y) and void
+	  reduced_scalar_product_assign(Integer& z, const Row& x, const
+	  Row& y) instead.
+
+	  Use void scalar_product_sign(const Row& x, const Row& y) and void
+	  reduced_scalar_product_sign(const Row& x, const Row& y) wherever
+	  possible.
+
+2004-08-22 Sunday 19:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: ConSys.cc (1.68), GenSys.cc (1.89), Integer.defs.hh (1.12),
+	  Integer.inlines.hh (1.11), Matrix.cc (1.71), Polyhedron_public.cc
+	  (1.26), Polyhedron_widenings.cc (1.25), Row.cc (1.63),
+	  Row.defs.hh (1.80), Row.inlines.hh (1.45), conversion.cc (1.57):
+	  Functions const Integer& operator*(const Row& x, const Row& y)
+	  and const Integer& reduced_scalar_product(const Row& x, const
+	  Row& y) removed.  New functions void
+	  scalar_product_assign(Integer& z, const Row& x, const Row& y) and
+	  void reduced_scalar_product_assign(Integer& z, const Row& x,
+	  const Row& y) provide the same functionality, but without
+	  (explicitely) using temporaries.
+
+	  New functions int scalar_product_sign(const Row& x, const Row& y)
+	  and int reduced_scalar_product_sign(const Row& x, const Row& y)
+	  return the sign of the (reduced) scalar product of the given
+	  arguments.
+
+	  New function void add_mul_assign(Integer& x, const Integer& y,
+	  const Integer& z) to efficiently compute x += y*z.
+
+2004-08-22 Sunday 17:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: GenSys.cc (1.88), Generator.cc (1.51), Init.cc (1.13),
+	  Matrix.cc (1.70), Polyhedron_nonpublic.cc (1.22),
+	  Polyhedron_widenings.cc (1.24), Row.cc (1.62), conversion.cc
+	  (1.56), globals.cc (1.16), globals.hh (1.39): Old code for the
+	  handling of temporary coefficients removed.
+
+2004-08-22 Sunday 17:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: GenSys.cc (1.87), Generator.cc (1.50), Init.cc (1.12),
+	  Matrix.cc (1.69), Polyhedron_nonpublic.cc (1.21),
+	  Polyhedron_widenings.cc (1.23), Row.cc (1.61), conversion.cc
+	  (1.55), globals.cc (1.15), globals.hh (1.38): Draft new code for
+	  the handling of temporary coefficients.
+
+2004-08-22 Sunday 08:03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Widening_Function.inlines.hh (1.4): Added \relates doxygen
+	  command to function definition.
+
+2004-08-21 Saturday 17:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/Makefile.am (1.11), demos/ppl_lpsol/Makefile.am (1.2),
+	  interfaces/Prolog/Ciao/Makefile.am (1.29),
+	  interfaces/Prolog/GNU/Makefile.am (1.35),
+	  interfaces/Prolog/SICStus/Makefile.am (1.42),
+	  interfaces/Prolog/SWI/Makefile.am (1.35),
+	  interfaces/Prolog/XSB/Makefile.am (1.22),
+	  interfaces/Prolog/YAP/Makefile.am (1.26), tests/Makefile.am
+	  (1.208): Match every `endif' with the corresponding `if'
+	  condition.
+
+2004-08-21 Saturday 11:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/Makefile.am (1.5): Add `expected' to the list of
+	  files to be distributed.
+
+2004-08-21 Saturday 10:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.101): Now `make check' runs a number of tests with
+	  `ppl_lcdd', comparing the results to expected ones.
+
+2004-08-21 Saturday 10:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/: Makefile.am (1.4), expected (1.1): Use
+	  `ppl_lcdd' to perform regression testing.
+
+2004-08-20 Friday 22:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.120): Check for md5sum.
+
+2004-08-20 Friday 22:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.26): Option `--with-cxxflags=-Wno-deprecated'
+	  removed from `DISTCHECK_CONFIGURE_FLAGS'.
+
+2004-08-20 Friday 19:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (ppl-0_6-branch.3): Update version.
+
+2004-08-20 Friday 19:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/ChangeLog, ChangeLog (ppl-0_6-branch.[3,5]): Mark
+	  ChangeLog.
+
+2004-08-20 Friday 19:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (ppl-0_6-branch.4): Updated.
+
+2004-08-20 Friday 19:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (ppl-0_6-branch.2): Glitch fixed.
+
+2004-08-20 Friday 19:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (ppl-0_6-branch.3): Updated.
+
+2004-08-20 Friday 18:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: devref-browse.doxyconf-latex.in (1.41),
+	  devref-print.doxyconf-latex.in (1.41), devref.doxyconf-html.in
+	  (1.41): Include certificates in the developer's reference.
+
+2004-08-20 Friday 18:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/H79_Certificate.defs.hh (1.5): Spurious comments removed.
+
+2004-08-20 Friday 18:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: devref-browse.doxyconf-latex.in,
+	  devref-print.doxyconf-latex.in, devref.doxyconf-html.in
+	  (ppl-0_6-branch.[3,3,4]): Include certificates in the developer's
+	  reference.
+
+2004-08-20 Friday 18:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/H79_Certificate.defs.hh (ppl-0_6-branch.2): Spurious comments
+	  removed.
+
+2004-08-20 Friday 17:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog, Watchdog/ChangeLog (ppl-0_6-branch.[2,2]): Updated.
+
+2004-08-20 Friday 17:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox, doc/ppl.sty,
+	  interfaces/Prolog/Prolog_interface.dox (ppl-0_6-branch.[1,1,1]):
+	  Merge from the main trunk.
+
+2004-08-20 Friday 17:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.157): Minor English improvement.
+
+2004-08-20 Friday 17:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedra_PowerSet.defs.hh (ppl-0_6-branch.3): The
+	  documentation of BHZ03_widening_assign made shorter by referring
+	  to the new section in the introduction.  The comment on
+	  concatenate_assign() made shorter (as suggested by Pat).
+
+2004-08-20 Friday 17:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.156): Link error corrected.
+
+2004-08-20 Friday 17:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.155): Added a paragraph on the BGP99
+	  extrapolation operator.
+
+2004-08-20 Friday 17:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.154): After doing the meet on elements of
+	  the powerset domain elementwise, omega reduction is needed.
+
+2004-08-20 Friday 16:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.153): Small improvements.
+
+2004-08-20 Friday 16:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedra_PowerSet.defs.hh (1.33): The comment on
+	  concatenate_assign() made shorter (as suggested by Pat).
+
+2004-08-20 Friday 16:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedra_PowerSet.defs.hh (1.32): The documentation of
+	  BHZ03_widening_assign made shorter by referring to the new
+	  section in the introduction.
+
+2004-08-20 Friday 16:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (ppl-0_6-branch.1): Ready for the release of PPL 0.6.1.
+
+2004-08-20 Friday 16:41  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.152): A couple of corrections.
+
+2004-08-20 Friday 16:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.151): Added a section on certificate-based
+	  widenings.
+
+2004-08-20 Friday 16:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Polyhedra_PowerSet.defs.hh (1.31): Corrected two comments.
+
+2004-08-20 Friday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/: ppl_lcdd/ppl_lcdd.cc, ppl_lpsol/ppl_lpsol.c
+	  (ppl-0_6-branch.[1,1]): Do not try to use RLIMIT_AS unless the
+	  configure script has determined its availability.
+
+2004-08-20 Friday 15:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/: ppl_lcdd/ppl_lcdd.cc (1.23), ppl_lpsol/ppl_lpsol.c (1.2):
+	  Do not try to use RLIMIT_AS unless the configure script has
+	  determined its availability.
+
+2004-08-20 Friday 15:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.150): Some improvements for the section on
+	  polyhedra powersets.
+
+2004-08-20 Friday 15:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.149): In the section about add_disjuct,
+	  \cS_1 ==> \cS.
+
+2004-08-20 Friday 15:17  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.112): Update cross
+	  reference.
+
+2004-08-20 Friday 15:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/: definitions.dox (1.148), ppl.sty (1.16): Added a short
+	  (incomplete) section on the polyhedral powerset domain and
+	  revised the description of the generic powerset meet operation.
+
+2004-08-20 Friday 15:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/NEWS (ppl-0_6-branch.1): Updated for the release of PPL
+	  0.6.1.
+
+2004-08-20 Friday 15:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedra_PowerSet.defs.hh,
+	  src/Polyhedra_PowerSet.inlines.hh, tests/bgp99extrapolation2.cc,
+	  tests/bhz03widening2.cc, tests/bhz03widening3.cc,
+	  tests/bhz03widening5.cc, tests/bhz03widening6.cc
+	  (ppl-0_6-branch.[2,1,1,1,1,1,1]): The methods
+	  Polyhedra_PowerSet::semantically_contains(const
+	  Polyhedra_PowerSet&) and
+	  Polyhedra_PowerSet::semantically_equals(const
+	  Polyhedra_PowerSet&) have been renamed
+	  Polyhedra_PowerSet::geometrically_covers(const
+	  Polyhedra_PowerSet&) and
+	  Polyhedra_PowerSet::geometrically_equals(const
+	  Polyhedra_PowerSet& y), respectively.
+
+2004-08-20 Friday 15:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (ppl-0_6-branch.1): Completed for 0.6.1.
+
+2004-08-20 Friday 15:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure (ppl-0_6-branch.2): Formatting glitch fixed.
+
+2004-08-20 Friday 14:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (ppl-0_6-branch.2): Version number bumped.
+
+2004-08-20 Friday 14:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.100): Completed for 0.6.1.
+
+2004-08-20 Friday 14:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure (1.7): Formatting glitch fixed.
+
+2004-08-20 Friday 14:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.147): Small improvements to section 1.6.
+
+2004-08-20 Friday 14:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.146): Some polyhedra where wrongly named P
+	  instead of \cP.  Replaced a couple of = signs by \defeq.  A first
+	  pass on Section 1.5 (PowerSet) to correct minor typos.
+
+2004-08-20 Friday 14:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.99), src/Polyhedra_PowerSet.defs.hh (1.30),
+	  src/Polyhedra_PowerSet.inlines.hh (1.40),
+	  tests/bgp99extrapolation2.cc (1.6), tests/bhz03widening2.cc
+	  (1.7), tests/bhz03widening3.cc (1.5), tests/bhz03widening5.cc
+	  (1.4), tests/bhz03widening6.cc (1.5): The methods
+	  Polyhedra_PowerSet::semantically_contains(const
+	  Polyhedra_PowerSet&) and
+	  Polyhedra_PowerSet::semantically_equals(const
+	  Polyhedra_PowerSet&) have been renamed
+	  Polyhedra_PowerSet::geometrically_covers(const
+	  Polyhedra_PowerSet&) and
+	  Polyhedra_PowerSet::geometrically_equals(const
+	  Polyhedra_PowerSet& y), respectively.
+
+2004-08-20 Friday 14:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedra_PowerSet.defs.hh (ppl-0_6-branch.1): Documented
+	  function pairwise_reduce().
+
+2004-08-20 Friday 13:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.145): Some stuff (lazy/eager operators and
+	  polymorphism disclaimer) moved into section 1.6 (Using the
+	  Library).
+
+2004-08-20 Friday 13:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.144): Bug fixed.
+
+2004-08-20 Friday 13:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedra_PowerSet.defs.hh (1.29): Documented method
+	  pairwise_reduce().
+
+2004-08-20 Friday 13:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/: definitions.dox (1.143), ppl.sty (1.15): First draft of
+	  description of the powerset construction added.
+
+2004-08-20 Friday 11:29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* README.configure (ppl-0_6-branch.1): Spurious indentation fixed.
+
+2004-08-20 Friday 11:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BHRZ03_Certificate.defs.hh, H79_Certificate.defs.hh
+	  (ppl-0_6-branch.[1,1]): In the Doxygen comments: lgo --> limited
+	  growth ordering.
+
+2004-08-20 Friday 11:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* README.configure (1.6): A spurious indentation fixed.
+
+2004-08-20 Friday 11:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BHRZ03_Certificate.defs.hh (1.5), H79_Certificate.defs.hh
+	  (1.4): In the Doxygen comment: lgo --> limited growth ordering
+
+2004-08-19 Thursday 17:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* BUGS, CREDITS, ChangeLog, Makefile.am, NEWS, README,
+	  README.configure, STANDARDS, TODO, config.guess, config.sub,
+	  configure.ac, depcomp, install-sh, ltmain.sh, ppl.lsm.in,
+	  ppl.spec.in, Watchdog/ChangeLog,
+	  Watchdog/Doubly_Linked_Object.defs.hh,
+	  Watchdog/Doubly_Linked_Object.inlines.hh,
+	  Watchdog/Doubly_Linked_Object.types.hh, Watchdog/EList.defs.hh,
+	  Watchdog/EList.inlines.hh, Watchdog/EList.types.hh,
+	  Watchdog/EList_Iterator.defs.hh,
+	  Watchdog/EList_Iterator.inlines.hh,
+	  Watchdog/EList_Iterator.types.hh, Watchdog/Handler.defs.hh,
+	  Watchdog/Handler.inlines.hh, Watchdog/Handler.types.hh,
+	  Watchdog/Makefile.am, Watchdog/NEWS, Watchdog/Pending_Element.cc,
+	  Watchdog/Pending_Element.defs.hh,
+	  Watchdog/Pending_Element.inlines.hh,
+	  Watchdog/Pending_Element.types.hh, Watchdog/Pending_List.cc,
+	  Watchdog/Pending_List.defs.hh, Watchdog/Pending_List.inlines.hh,
+	  Watchdog/Pending_List.types.hh, Watchdog/README,
+	  Watchdog/Time.cc, Watchdog/Time.defs.hh,
+	  Watchdog/Time.inlines.hh, Watchdog/Time.types.hh,
+	  Watchdog/Watchdog.cc, Watchdog/Watchdog.defs.hh,
+	  Watchdog/Watchdog.inlines.hh, Watchdog/config.guess,
+	  Watchdog/config.sub, Watchdog/configure.ac, Watchdog/depcomp,
+	  Watchdog/install-sh, Watchdog/ltmain.sh, demos/Makefile.am,
+	  demos/ppl_lcdd/Makefile.am, demos/ppl_lcdd/ppl_lcdd.cc,
+	  demos/ppl_lcdd/examples/.cvsignore,
+	  demos/ppl_lcdd/examples/Makefile.am, demos/ppl_lpsol/.cvsignore,
+	  demos/ppl_lpsol/Makefile.am, demos/ppl_lpsol/expected,
+	  demos/ppl_lpsol/ppl_lpsol.c, demos/ppl_lpsol/examples/.cvsignore,
+	  demos/ppl_lpsol/examples/Makefile.am,
+	  demos/ppl_lpsol/examples/afiro.mps,
+	  demos/ppl_lpsol/examples/bgprtr.mps,
+	  demos/ppl_lpsol/examples/ex1.mps,
+	  demos/ppl_lpsol/examples/sample.mps,
+	  demos/ppl_lpsol/examples/unboundedmin.mps, doc/Makefile.am,
+	  doc/definitions.dox, doc/devref-browse.doxyconf-latex.in,
+	  doc/devref-print.doxyconf-latex.in, doc/devref.doxyconf-html.in,
+	  doc/devref.tex, doc/fdl.txt, doc/gpl.txt, doc/ppl.sty,
+	  doc/user-browse.doxyconf-latex.in,
+	  doc/user-print.doxyconf-latex.in, doc/user.doxyconf-html.in,
+	  doc/user.tex, interfaces/C/Makefile.am, interfaces/C/ppl_c.cc,
+	  interfaces/C/ppl_c.h.in, interfaces/Prolog/Prolog_interface.dox,
+	  interfaces/Prolog/pl_check.pl, interfaces/Prolog/ppl_prolog.icc,
+	  interfaces/Prolog/Ciao/Makefile.am,
+	  interfaces/Prolog/Ciao/ciao_pl_check.pl,
+	  interfaces/Prolog/Ciao/ppl_ciao.pl,
+	  interfaces/Prolog/GNU/ppl_gprolog.pl,
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
+	  interfaces/Prolog/SWI/.cvsignore,
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
+	  interfaces/Prolog/XSB/ppl_xsb.H,
+	  interfaces/Prolog/XSB/ppl_xsb.cc,
+	  interfaces/Prolog/XSB/xsb_pl_check.P,
+	  interfaces/Prolog/YAP/ppl_yap.cc, src/AskTell.defs.hh,
+	  src/BHRZ03_Certificate.defs.hh,
+	  src/BHRZ03_Certificate.inlines.hh, src/BoundingBox.inlines.hh,
+	  src/C_Polyhedron.cc, src/C_Polyhedron.defs.hh,
+	  src/C_Polyhedron.inlines.hh, src/ConSys.defs.hh,
+	  src/ConSys.inlines.hh, src/Constraint.cc, src/Constraint.defs.hh,
+	  src/Constraint.inlines.hh, src/Determinate.defs.hh,
+	  src/Determinate.inlines.hh, src/GenSys.cc, src/GenSys.defs.hh,
+	  src/Generator.cc, src/Generator.defs.hh,
+	  src/Generator.inlines.hh, src/H79_Certificate.cc,
+	  src/H79_Certificate.defs.hh, src/H79_Certificate.inlines.hh,
+	  src/H79_Certificate.types.hh, src/Init.cc, src/Makefile.am,
+	  src/Matrix.defs.hh, src/NNC_Polyhedron.defs.hh,
+	  src/NNC_Polyhedron.inlines.hh, src/Ph_Status.idefs.hh,
+	  src/Poly_Con_Relation.defs.hh, src/Poly_Gen_Relation.defs.hh,
+	  src/Polyhedra_PowerSet.defs.hh,
+	  src/Polyhedra_PowerSet.inlines.hh, src/Polyhedron.defs.hh,
+	  src/Polyhedron.inlines.hh, src/Polyhedron.types.hh,
+	  src/Polyhedron_chdims.cc, src/Polyhedron_nonpublic.cc,
+	  src/Polyhedron_public.cc, src/Polyhedron_widenings.cc,
+	  src/PowerSet.defs.hh, src/PowerSet.inlines.hh, src/Row.defs.hh,
+	  src/SatMatrix.defs.hh, src/Widening_Function.defs.hh,
+	  src/Widening_Function.inlines.hh, src/Widening_Function.types.hh,
+	  src/algorithms.hh, src/conversion.cc, src/globals.cc,
+	  src/globals.hh, src/minimize.cc, src/simplify.cc,
+	  src/statistics.hh, src/version.hh.in, tests/.cvsignore,
+	  tests/Makefile.am, tests/bgp99extrapolation1.cc,
+	  tests/bgp99extrapolation2.cc, tests/bhz03widening1.cc,
+	  tests/bhz03widening2.cc, tests/bhz03widening3.cc,
+	  tests/bhz03widening4.cc, tests/bhz03widening5.cc,
+	  tests/bhz03widening6.cc, tests/boundingbox1.cc,
+	  tests/boundingbox2.cc, tests/boundingbox3.cc,
+	  tests/boundingbox4.cc, tests/boundingbox5.cc,
+	  tests/exceptions3.cc, tests/expanddim1.cc, tests/expanddim2.cc,
+	  tests/folddims1.cc, tests/folddims2.cc, tests/h79widening6.cc,
+	  tests/linearpartition1.cc, tests/linearpartition2.cc,
+	  tests/linearpartition3.cc, tests/linearpartition4.cc,
+	  tests/polydifference8.cc, tests/watchdog1.cc
+	  (altnum.[1,2,1,2,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,2,1,1,2,2,1,1,2,2,2,2,2,1,1,1,1,1,7,1,1,1,1,1,1,1,1,2,2,1,1,2,2,2,1,1,2,1,1,1,1,1,2,2,2,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]):
+	  First merge from main trunk.
+
+2004-08-19 Thursday 17:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.207), linearpartition4.cc (1.1): New test
+	  for linear_partition() (still to be completed).
+
+2004-08-19 Thursday 17:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.119): Version number bumped.
+
+2004-08-19 Thursday 17:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.18): Updated.
+
+2004-08-19 Thursday 15:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.142): This is a start in revising the
+	  introductory sections to the manual so as to allow for the
+	  inclusion of domains other than that of convex polyhedra.
+
+2004-08-19 Thursday 14:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: devref-browse.doxyconf-latex.in,
+	  devref-print.doxyconf-latex.in, devref.doxyconf-html.in
+	  (ppl-0_6-branch.[2,2,3]), devref-browse.doxyconf-latex.in (1.40),
+	  devref-print.doxyconf-latex.in (1.40), devref.doxyconf-html.in
+	  (1.40): AskTell should not appear in the develper's reference.
+
+2004-08-19 Thursday 14:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Widening_Function.defs.hh (ppl-0_6-branch.1): Avoided a
+	  warning in the devref documentation.
+
+2004-08-19 Thursday 14:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Widening_Function.defs.hh (1.4): Avoided a warning in the
+	  devref documentation.
+
+2004-08-19 Thursday 13:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: AskTell.defs.hh (ppl-0_6-branch.2), AskTell.defs.hh (1.24):
+	  Previous change reverted.
+
+2004-08-19 Thursday 12:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref-browse.doxyconf-latex.in (1.39),
+	  devref-print.doxyconf-latex.in (1.39), devref.doxyconf-html.in
+	  (1.39): Widening_Function and Polyhedra_PowerSet should appear in
+	  all the devref manuals.
+
+2004-08-19 Thursday 12:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/AskTell.defs.hh (1.23): AskTell should not appear in the user
+	  documentation until working.
+
+2004-08-19 Thursday 12:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref-browse.doxyconf-latex.in,
+	  devref-print.doxyconf-latex.in, devref.doxyconf-html.in
+	  (ppl-0_6-branch.[1,1,2]): Widening_Function should appear in the
+	  devref manuals.
+
+2004-08-19 Thursday 12:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/devref.doxyconf-html.in (ppl-0_6-branch.1):
+	  Polyhedra_PowerSet has to also appear in the developers manual.
+
+2004-08-19 Thursday 12:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/AskTell.defs.hh (ppl-0_6-branch.1): AskTell construction
+	  should not appear in the user manuals.
+
+2004-08-18 Wednesday 23:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Makefile.am (ppl-0_6-branch.1), Makefile.am (1.76): AskTell
+	  is unfinished and not working: it should not be distributed.
+
+2004-08-18 Wednesday 22:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: configure.ac (ppl-0_6-branch.1), ChangeLog (1.8),
+	  configure.ac (1.20): Version number bumped.
+
+2004-08-18 Wednesday 18:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (ppl-0_6-branch.1): Update version.
+
+2004-08-18 Wednesday 18:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/ChangeLog, ChangeLog (ppl-0_6-branch.[1,1]): Mark
+	  ChangeLog.
+
+2004-08-18 Wednesday 15:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (1.21): Distribute more documentation.
+
+2004-08-18 Wednesday 14:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref-browse.doxyconf-latex.in (1.38),
+	  devref-print.doxyconf-latex.in (1.38): The Polyhedra_PowerSet
+	  documentation has to appear in the devref manual too.
+
+2004-08-18 Wednesday 14:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Widening_Function.defs.hh (1.3), algorithms.hh (1.29):
+	  Applied the Doxygen \relates command in a couple of places.
+
+2004-08-18 Wednesday 14:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: bgp99extrapolation1.cc (1.4), bgp99extrapolation2.cc
+	  (1.5), bhz03widening1.cc (1.5), bhz03widening2.cc (1.6),
+	  bhz03widening3.cc (1.4), bhz03widening6.cc (1.4): Modified to
+	  comply with the new interface.
+
+2004-08-18 Wednesday 14:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedra_PowerSet.defs.hh (1.28),
+	  Polyhedra_PowerSet.inlines.hh (1.39): Added doxygen
+	  documentation.  Removed some methods that are now subsumed by the
+	  generic ones.
+
+2004-08-18 Wednesday 13:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/README (1.3): Last change reverted.
+
+2004-08-18 Wednesday 13:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.23): Ready for the release.
+
+2004-08-18 Wednesday 13:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/README (1.2): Revised.
+
+2004-08-18 Wednesday 11:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/Makefile.am (1.29): Installation of the documentation now
+	  works both for distribution archives and for CVS versions.
+
+2004-08-18 Wednesday 11:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedra_PowerSet.inlines.hh (1.38): Include
+	  "Widening_Function.defs.hh" instead of
+	  "Widening_Function.types.hh".
+
+2004-08-18 Wednesday 10:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.84): Ready for the release.
+
+2004-08-18 Wednesday 09:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: bhz03widening4.cc (1.3), bhz03widening5.cc (1.3):
+	  Exploiting helper functions widen_fun().
+
+2004-08-18 Wednesday 09:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedra_PowerSet.inlines.hh (1.37): Exploiting helper
+	  function widen_fun().
+
+2004-08-18 Wednesday 09:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: GenSys.cc (1.86), Polyhedron.types.hh (1.12),
+	  Polyhedron_widenings.cc (1.22), conversion.cc (1.54), simplify.cc
+	  (1.36): Comments improved.
+
+2004-08-18 Wednesday 09:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.106), interfaces/C/ppl_c.h.in (1.32),
+	  src/C_Polyhedron.defs.hh (1.23), src/C_Polyhedron.inlines.hh
+	  (1.17), src/NNC_Polyhedron.defs.hh (1.26),
+	  src/NNC_Polyhedron.inlines.hh (1.18), tests/Makefile.am (1.206),
+	  tests/exceptions3.cc (1.2): Start dealing with requests to build
+	  "over-sized" objects.
+
+2004-08-18 Wednesday 09:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Widening_Function.defs.hh (1.2),
+	  Widening_Function.inlines.hh (1.3): Added helper function
+	  widen_fun() to simplify the creation of widening function
+	  objects. Added brief documentation.
+
+2004-08-18 Wednesday 09:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: linearpartition2.cc (1.14), linearpartition3.cc (1.14):
+	  Fixed.
+
+2004-08-18 Wednesday 09:16  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: AskTell.defs.hh (1.22), ConSys.defs.hh (1.84),
+	  Determinate.defs.hh (1.42), GenSys.defs.hh (1.97),
+	  Polyhedra_PowerSet.defs.hh (1.27), Polyhedron.defs.hh (1.241),
+	  Polyhedron.inlines.hh (1.94): Comments improved.
+
+2004-08-18 Wednesday 08:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/linearpartition1.cc (1.14): Fixed.
+
+2004-08-17 Tuesday 23:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Widening_Function.inlines.hh (1.2):
+	  Limited_Widening_Function::operator() fixed.
+
+2004-08-17 Tuesday 23:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/Makefile.am (1.28): Install documentation in text format.
+
+2004-08-17 Tuesday 21:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: bhz03widening4.cc (1.2), bhz03widening5.cc (1.2):
+	  Corrected to work with the new implementation.
+
+2004-08-17 Tuesday 21:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Makefile.am (1.75), Polyhedra_PowerSet.defs.hh (1.26),
+	  Polyhedra_PowerSet.inlines.hh (1.36), Widening_Function.defs.hh
+	  (1.1), Widening_Function.inlines.hh (1.1),
+	  Widening_Function.types.hh (1.1): Factorized a lot of code
+	  related to widenings of powersets by using function objects
+	  instead of method pointers.
+
+2004-08-17 Tuesday 21:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Determinate.defs.hh (1.41), Determinate.inlines.hh (1.39),
+	  algorithms.hh (1.28): Improved a little bit the docuemntation for
+	  the Determinate construction.  Removed a few seemingly useless
+	  methods. The polyhedron() methods renamed as element().
+
+2004-08-17 Tuesday 19:43  Abramo Bagnara
+
+	* src/checked_mpq.inlines.hh (altnum.8): Fixed unhandled native
+	  integer type behaviour.
+
+2004-08-17 Tuesday 19:39  Abramo Bagnara
+
+	* src/checked_mpz.inlines.hh (altnum.9): Fixed unhandled native
+	  integer type behaviour.
+
+2004-08-17 Tuesday 19:33  Abramo Bagnara
+
+	* src/Makefile.am (altnum.6): Added Limits.hh
+
+2004-08-17 Tuesday 19:33  Abramo Bagnara
+
+	* src/checked_float.inlines.hh (altnum.6): Fixed float96_t format
+	  oddities. Cleaned code.
+
+2004-08-17 Tuesday 19:31  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh,
+	  Limits.hh, checked.defs.hh, checked_int.inlines.hh
+	  (altnum.[4,5,1,7,6]): Fixed unhandled native integer type
+	  behaviour.
+
+2004-08-17 Tuesday 17:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/gpl.txt (1.2): Spacing fixed.
+
+2004-08-17 Tuesday 17:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.25): Distribute also README.configure.
+
+2004-08-17 Tuesday 16:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.83): One less thing to do.
+
+2004-08-17 Tuesday 14:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* BUGS (1.4), CREDITS (1.13): Formatted.
+
+2004-08-17 Tuesday 14:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* README.configure (1.5): Corrected a typo and improved the
+	  English.
+
+2004-08-17 Tuesday 13:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* BUGS (1.3), CREDITS (1.12), STANDARDS (1.14): English
+	  improvements made.
+
+2004-08-17 Tuesday 12:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Determinate.defs.hh (1.40), Determinate.inlines.hh (1.38),
+	  PowerSet.defs.hh (1.47), PowerSet.inlines.hh (1.57):
+	  Determinate::operator+(), Determinate::operator*(),
+	  PowerSet::operator+() and PowerSet::operator*() removed.
+
+2004-08-17 Tuesday 12:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS (1.11): Small English improvement.
+
+2004-08-17 Tuesday 11:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/bhz03widening2.cc (1.5): Redundant code removed.
+
+2004-08-17 Tuesday 11:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Determinate.defs.hh (1.39), Determinate.inlines.hh (1.37):
+	  The methods grouped according to constness and space-dim
+	  preservation, as done for the class Polyhedron.  Two inline
+	  directives moved from *.defs.hh into *.inlines.hh.
+
+2004-08-17 Tuesday 10:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.94): Tests for adding and
+	  removing dimensions now include cases where no dimensions are
+	  added or removed and also when all the dimensions are removed.
+
+2004-08-17 Tuesday 10:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.141): The descriptions of the add and
+	  remove dimensions operators improved.  The description of the
+	  concatenate operation moved to just before the description of the
+	  add dimensions operators.
+
+2004-08-17 Tuesday 10:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.98), configure.ac (1.118), doc/Makefile.am (1.27): The
+	  documentation for users, in PostScript, PDF and HTML formats, is
+	  now installed in a standard place by `make install'.
+
+2004-08-17 Tuesday 09:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Determinate.defs.hh (1.38): Small improvements.
+
+2004-08-17 Tuesday 09:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.140): Added a section on constructions on
+	  polyhedra.
+
+2004-08-17 Tuesday 09:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedra_PowerSet.defs.hh (1.25): Started documenting the
+	  widening operators.
+
+2004-08-17 Tuesday 09:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BHRZ03_Certificate.defs.hh (1.4),
+	  BHRZ03_Certificate.inlines.hh (1.2), H79_Certificate.cc (1.2),
+	  H79_Certificate.defs.hh (1.3), H79_Certificate.inlines.hh (1.2):
+	  H79_Certificate simplified by removing useless methods. The
+	  documentation of BHRZ03_Certificate method is_stabilizing() now
+	  only appears in the developers manual. Both classes now appear in
+	  the user manual, as they provide documentation of the method
+	  needed by any new certificate.
+
+2004-08-17 Tuesday 09:39  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.111): Several minor
+	  "English" corrections and some cross references improved or
+	  added.
+
+2004-08-17 Tuesday 09:37  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.139): An anchor has been added and minor
+	  English improvement.
+
+2004-08-17 Tuesday 08:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/: bhz03widening3.cc (1.3), bhz03widening6.cc (1.3),
+	  boundingbox2.cc (1.21), boundingbox4.cc (1.10): Comments revised
+	  in boundinbox2.cc and boundingbox4.cc.  Known result in
+	  bhz03widening3.cc added and checked.	New test added to
+	  bhz03widening6.cc for the case when the multiset ordering wrt the
+	  lgo is converging.
+
+2004-08-17 Tuesday 00:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/bgp99extrapolation2.cc (1.4): Be quiet.
+
+2004-08-17 Tuesday 00:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/folddims2.cc (1.2): Removed test that was already made in
+	  folddims1.cc.  Comment revised.
+
+2004-08-17 Tuesday 00:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Makefile.am (1.205): Spurious backslash removed.
+
+2004-08-17 Tuesday 00:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/bgp99extrapolation2.cc (1.3): Completed (and made more
+	  interesting).
+
+2004-08-16 Monday 21:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/: Makefile.am (1.204), folddims2.cc (1.1): Tests for NNC
+	  polyhedra added.
+
+2004-08-16 Monday 21:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/bgp99extrapolation2.cc (1.2): Comment corrected.
+
+2004-08-16 Monday 20:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/h79widening6.cc (1.7): An example taken from CH78.
+
+2004-08-16 Monday 19:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.203), bgp99extrapolation2.cc (1.1),
+	  h79widening6.cc (1.6): Test program h79widening6.cc renamed
+	  bgp99extrapolation2.cc.
+
+2004-08-16 Monday 19:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (1.20): Added the `ppl_lcdd' program to the main
+	  package.  Require gcc-c++ to be exactly version 3.4.1.
+
+2004-08-16 Monday 19:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/Makefile.am (1.3): The `ppl_lcdd' program will be
+	  installed in `bindir'.
+
+2004-08-16 Monday 18:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.lsm.in (1.5), ppl.spec.in (1.19): Updated.
+
+2004-08-16 Monday 18:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.138): Definition of the folding operation
+	  improved.
+
+2004-08-16 Monday 18:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.82): Some items postponed.  Main points of PPL 0.7
+	  drafted.
+
+2004-08-16 Monday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.22): Typo fixed.
+
+2004-08-16 Monday 18:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/README (1.7): Updated.
+
+2004-08-16 Monday 18:20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BHRZ03_Certificate.defs.hh (1.3), H79_Certificate.defs.hh
+	  (1.2): Fixed the documentation of the certificates (for now, this
+	  will only appear in the developer manual).
+
+2004-08-16 Monday 18:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedra_PowerSet.defs.hh (1.24),
+	  Polyhedra_PowerSet.inlines.hh (1.35): Fixed header inclusions.
+
+2004-08-16 Monday 18:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Determinate.defs.hh (1.37), src/Polyhedron.defs.hh (1.240),
+	  doc/definitions.dox (1.137): Added a section about concatenation
+	  of polyhedra to the introduction of the user manual. Now the
+	  documentation of concatenate_assign() refers to it.
+
+2004-08-16 Monday 18:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/ppl_xsb.cc (1.54): Prolog_raise_exception()
+	  implemented.
+
+2004-08-16 Monday 17:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS (1.10): Specify that Andrea is with the University of
+	  Parma.  Email address omitted.
+
+2004-08-16 Monday 17:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.21): Formatting changes.
+
+2004-08-16 Monday 17:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.93): This test file now checks
+	  correctly that the exceptions do work ok.
+
+2004-08-16 Monday 17:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.20): Updated.
+
+2004-08-16 Monday 16:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure (1.4): Added instructions about the use of
+	  Comeau C/C++ 4.3.3.
+
+2004-08-16 Monday 16:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.97): Announce the new README.configure file.
+
+2004-08-16 Monday 16:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.96): Drafted an announcement for the new Determinate,
+	  PowerSet and Polyhedra_PowerSet classes.
+
+2004-08-16 Monday 16:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ConSys.inlines.hh (1.33): Fixed
+	  ConSys::max_space_dimension().
+
+2004-08-16 Monday 14:15  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/bhz03widening6.cc (1.2): Comments added.
+
+2004-08-16 Monday 14:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/: Makefile.am (1.202), bhz03widening6.cc (1.1): dded more
+	  tests.
+
+2004-08-16 Monday 12:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.81): Some items postponed.  Main points of PPL 0.7
+	  drafted.
+
+2004-08-16 Monday 12:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.95): Announce the new "expand" and "fold" operations.
+
+2004-08-16 Monday 12:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am (1.201), bhz03widening4.cc (1.1),
+	  bhz03widening5.cc (1.1): New tests are the same as
+	  bhz03widening1.cc and bhz03widening2.cc, but use the
+	  H79_Certificate instead of BHRZ03_Certificate.
+
+2004-08-16 Monday 12:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: H79_Certificate.cc (1.1), H79_Certificate.defs.hh (1.1),
+	  H79_Certificate.inlines.hh (1.1), H79_Certificate.types.hh (1.1),
+	  Makefile.am (1.74), Polyhedra_PowerSet.defs.hh (1.23),
+	  Polyhedra_PowerSet.inlines.hh (1.34), Polyhedron.defs.hh (1.239):
+	  Added the H79 widening certificate.  The certificate-based
+	  widening methods for the Polyhedra_Powerset domain made generic
+	  by parameterizing the certificate used. The instance using the
+	  BHRZ03_Certificate still have the old name (so as old code still
+	  works).
+
+2004-08-16 Monday 09:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.94), Watchdog/NEWS (1.4): Our tentative release date is
+	  August 18, 2004.
+
+2004-08-16 Monday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.17), Watchdog/ChangeLog (1.7): Updated.
+
+2004-08-16 Monday 08:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_chdims.cc (1.14): In
+	  Polyhedron::fold_dimensions(const Variables_Set&, Variable)
+	  correctly handle the case where the set is empty.
+
+2004-08-15 Sunday 22:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.105), ppl_c.h.in (1.31): New C
+	  interface functions ppl_Polyhedron_expand_dimension() and
+	  ppl_Polyhedron_fold_dimensions().
+
+2004-08-15 Sunday 20:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_chdims.cc (1.13): Polyhedron::fold_dimensions()
+	  now checks its interface invariants.
+
+2004-08-15 Sunday 19:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.238): Completed the documentation of
+	  Polyhedron::fold_dimensions().
+
+2004-08-15 Sunday 19:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.136): Set-cardinality notation explained.
+
+2004-08-15 Sunday 17:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.22): Do not mix extern "C" pointers
+	  and extern "C++" pointers: they are different types.
+
+2004-08-15 Sunday 17:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.135): Drafted a formal definition of the
+	  "fold_dimensions" operation.
+
+2004-08-15 Sunday 17:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.sty (1.14): Added the definition of the set-cardinality
+	  operator `\card'.
+
+2004-08-15 Sunday 11:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.134), src/Polyhedron.defs.hh (1.237):
+	  Added placeholder and reference to the (yet to be written)
+	  section on folding dimensions.
+
+2004-08-15 Sunday 11:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: boundingbox1.cc (1.36), boundingbox3.cc (1.12),
+	  boundingbox4.cc (1.9): Comments corrected/revised.
+
+2004-08-15 Sunday 10:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.110): Documentation for
+	  the ppl_Polyhedron_expand_dimension/3 and
+	  ppl_Polyhedron_fold_dimensions/3 predicates, added.
+
+2004-08-15 Sunday 10:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.92): A bug has been fixed.  The
+	  tests for the bounding box predicates improved.
+
+2004-08-15 Sunday 10:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/: boundingbox1.cc (1.35), boundingbox2.cc (1.20),
+	  boundingbox3.cc (1.11), boundingbox4.cc (1.8): The tests for
+	  shrink_bounding_box() and building polyhedra from boxes have been
+	  revised.
+
+2004-08-15 Sunday 09:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.21): Catch and handle the
+	  exceptions that may be raised.
+
+2004-08-15 Sunday 08:44  Abramo Bagnara
+
+	* src/checked_mpz.inlines.hh (altnum.8): Added conversion from mpz
+	  to int.
+
+2004-08-15 Sunday 00:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.20): Missing include files added.
+	  Reduced the scope of some variables in set_alarm_on_cpu_time().
+
+2004-08-14 Saturday 23:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure (1.3): Added instructions on how to use the
+	  Intel C/C++ compiler.
+
+2004-08-14 Saturday 23:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.117): Version number bumped.	Require Autoconf
+	  2.59 or later.
+
+2004-08-14 Saturday 23:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/boundingbox5.cc (1.2): Be quiet.
+
+2004-08-14 Saturday 23:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Ph_Status.idefs.hh (1.6): Inclusion guard added.
+
+2004-08-14 Saturday 21:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Integer.defs.hh (altnum.5): Friend declarations
+	  fixed.
+
+2004-08-14 Saturday 10:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Integer.inlines.hh (altnum.6): Horrible kludge to fix
+	  a bug in Checked_Integer<T>::Checked_Integer(U), where U is some
+	  native integral type.
+
+2004-08-14 Saturday 10:11  Abramo Bagnara
+
+	* src/checked_mpz.inlines.hh (altnum.7): Fixed unsigned/signed
+	  typo.
+
+2004-08-14 Saturday 10:10  Abramo Bagnara
+
+	* src/: Checked_Integer.inlines.hh, Checked_Number.inlines.hh,
+	  checked.defs.hh, checked_float.inlines.hh, checked_mpq.inlines.hh
+	  (altnum.[5,4,6,5,7]): Fixed code formatting.
+
+2004-08-14 Saturday 08:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (altnum.5): Include the contents of
+	  Integer.inlines.hh in ppl_install.hh.
+
+2004-08-14 Saturday 00:04  Abramo Bagnara
+
+	* src/: checked_mpq.inlines.hh, checked_mpz.inlines.hh
+	  (altnum.[6,6]): Fixed signed/unsigned conversion.
+
+2004-08-13 Friday 19:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/bhz03widening3.cc (1.2): Be quiet.
+
+2004-08-13 Friday 19:21  Abramo Bagnara
+
+	* src/: checked.defs.hh, checked_mpq.inlines.hh,
+	  checked_mpz.inlines.hh (altnum.[5,5,5]): Always pass 'from'
+	  arguments by reference in inline helper functions
+
+2004-08-13 Friday 18:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: checked_mpq.inlines.hh, checked_mpz.inlines.hh
+	  (altnum.[4,4]): Qualified name is not allowed in namespace member
+	  declaration.
+
+2004-08-13 Friday 18:05  Abramo Bagnara
+
+	* configure.ac (altnum.4): Added AM_CONDITIONAL for new checked
+	  code.
+
+2004-08-13 Friday 18:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/Makefile.am (1.10), src/Makefile.am (1.73): Version info
+	  updated for the libtool libraries.
+
+2004-08-13 Friday 17:29  Abramo Bagnara
+
+	* src/checked.defs.hh (altnum.4): More explicit name for function
+	  container
+
+2004-08-13 Friday 17:20  Abramo Bagnara
+
+	* src/float.types.hh (altnum.2): Renamed float basic type.
+
+2004-08-13 Friday 17:19  Abramo Bagnara
+
+	* src/: checked.defs.hh, checked.inlines.hh,
+	  checked_int.inlines.hh, checked_mpq.inlines.hh,
+	  checked_mpz.inlines.hh (altnum.[3,3,5,3,3]): Added many const.
+	  Renamed float basic type.
+
+2004-08-13 Friday 17:19  Abramo Bagnara
+
+	* src/checked_float.inlines.hh (altnum.4): Added pred/succ.
+
+2004-08-13 Friday 17:17  Abramo Bagnara
+
+	* src/Makefile.am (altnum.4): Adjusted for use of new checked code.
+
+2004-08-13 Friday 17:17  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh,
+	  Checked_Number.types.hh (altnum.[3,3,2]): Added policy to
+	  Checked_Numbers. Added operator from basic types.
+
+2004-08-13 Friday 17:07  Abramo Bagnara
+
+	* src/Checked_Number.cc (altnum.2): Removed empty file.
+
+2004-08-13 Friday 17:06  Abramo Bagnara
+
+	* src/: Checked_Integer.defs.hh, Checked_Integer.inlines.hh,
+	  GMP_Integer.defs.hh, GMP_Integer.inlines.hh, Integer.defs.hh,
+	  Integer.inlines.hh, Integer.types.hh, Native_Integer.defs.hh,
+	  Native_Integer.inlines.hh (altnum.[4,4,3,3,4,1,4,4,4]): Shared
+	  definitions and declarations Integer_{zero,one}.
+
+2004-08-13 Friday 16:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS (1.9), doc/devref.tex (1.14), doc/user.tex (1.15):
+	  Authors lists adapted to reality.
+
+2004-08-13 Friday 16:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.116): Version number bumped.
+
+2004-08-13 Friday 16:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* STANDARDS (1.13): Slightly modified the policy for the list of
+	  parameters: for increased flexibility, detailed comments may
+	  occur both before and after the list.
+
+2004-08-13 Friday 16:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: AskTell.defs.hh (1.21), C_Polyhedron.defs.hh (1.22),
+	  ConSys.defs.hh (1.83), Determinate.defs.hh (1.36), GenSys.defs.hh
+	  (1.96), Generator.defs.hh (1.87), Matrix.defs.hh (1.58),
+	  NNC_Polyhedron.defs.hh (1.25), Polyhedra_PowerSet.defs.hh (1.22),
+	  Polyhedron.defs.hh (1.236), Row.defs.hh (1.79), SatMatrix.defs.hh
+	  (1.34), conversion.cc (1.53), globals.hh (1.37), minimize.cc
+	  (1.36), simplify.cc (1.35): All parameter lists formatted
+	  according to the new policy in STANDARDS.
+
+2004-08-13 Friday 16:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/.cvsignore (1.6), tests/.cvsignore (1.9):
+	  Updated.
+
+2004-08-13 Friday 15:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.91): Tests for
+	  ppl_new_Polyhedron_from_bounding_box/3 that use the empty box as
+	  input have been added.  Unwanted code removed.
+
+2004-08-13 Friday 14:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.93), interfaces/Prolog/ppl_prolog.icc (1.134): Fixed a
+	  bug in the Prolog interface predicate
+	  ppl_new_Polyhedron_from_bounding_box/3 whereby the predicate was
+	  failing when given an empty bounding box.
+
+2004-08-13 Friday 14:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.90): Improved documentation and
+	  tests.
+
+2004-08-13 Friday 12:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh (1.235), Polyhedron_nonpublic.cc (1.20):
+	  Some parameters renamed so as to be more consistent with the rest
+	  of the code.
+
+2004-08-13 Friday 12:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.80): Updated.
+
+2004-08-13 Friday 12:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/version.hh.in (1.9): Split the brief and detailed parts of a
+	  couple of doxygen comments.
+
+2004-08-13 Friday 12:03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h.in (1.30): Split a few brief comments where
+	  seemingly appropriate.  Started applying the new formatting
+	  policy for doxygen lists of parameters.
+
+2004-08-13 Friday 12:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* STANDARDS (1.12): Drafted a policy for the formatting of
+	  parameter lists in doxygen comments.
+
+2004-08-13 Friday 12:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Makefile.am (1.72): ppl.hh and ppl_install.hh also depend on
+	  version.hh.
+
+2004-08-13 Friday 11:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.92): Fixed a bug in the Prolog interface predicate
+	  ppl_Polyhedron_get_bounding_box/3 whereby a wrong result was
+	  sometimes computed in the case of an empty polyhedron.
+
+2004-08-13 Friday 11:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BoundingBox.inlines.hh (1.12): BoundingBox::set_empty() now
+	  empties all the intervals.
+
+2004-08-13 Friday 11:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: boundingbox1.cc (1.34), boundingbox2.cc (1.19),
+	  boundingbox3.cc (1.10), boundingbox4.cc (1.7): Comments fixed.
+
+2004-08-13 Friday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.200), boundingbox5.cc (1.1): New test for
+	  Polyhedron::shrink_bounding_box().
+
+2004-08-13 Friday 10:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.89): Improved comments and
+	  better sequence of tests for the widening and extrapolation
+	  operators.
+
+2004-08-13 Friday 08:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: devref-browse.doxyconf-latex.in (1.37),
+	  devref-print.doxyconf-latex.in (1.37), devref.doxyconf-html.in
+	  (1.38), user-browse.doxyconf-latex.in (1.20),
+	  user-print.doxyconf-latex.in (1.20), user.doxyconf-html.in
+	  (1.22): Use the `:=' operator to PREDEFINE __P: this prevents the
+	  definition to be undefined by `#undef'.
+
+2004-08-13 Friday 08:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.88): Added simpler test defined
+	  by predicate boundingbox_test/0 to show bug in
+	  ppl_Polyhedron_get_bounding_box/3 predicate when the polyhedron
+	  is empty. Test can be run using check_noisy/0.
+
+2004-08-13 Friday 00:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.19), doc/devref-browse.doxyconf-latex.in (1.36),
+	  doc/devref-print.doxyconf-latex.in (1.36),
+	  doc/devref.doxyconf-html.in (1.37): The file statistics.hh has
+	  been removed.
+
+2004-08-13 Friday 00:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.79): Harmonization of methods Polyhedron::throw_*() dealt
+	  with.
+
+2004-08-13 Friday 00:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: C_Polyhedron.cc (1.9), Constraint.cc (1.41),
+	  Constraint.defs.hh (1.87), Constraint.inlines.hh (1.49),
+	  Generator.cc (1.49), Generator.defs.hh (1.86),
+	  Generator.inlines.hh (1.43), Matrix.defs.hh (1.57),
+	  Ph_Status.idefs.hh (1.5), Poly_Con_Relation.defs.hh (1.24),
+	  Poly_Gen_Relation.defs.hh (1.22), Polyhedron.defs.hh (1.234),
+	  Polyhedron.inlines.hh (1.93), Polyhedron_chdims.cc (1.12),
+	  Polyhedron_nonpublic.cc (1.19), Polyhedron_public.cc (1.25),
+	  Polyhedron_widenings.cc (1.21), Row.defs.hh (1.78): The various
+	  methods throw_incompatible_*() made more consistent with each
+	  other, as well as the way they are called.  When closing a
+	  doxygen comment group with @}, made clear the group closed.
+
+2004-08-12 Thursday 18:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.91): Mention that a bug has been fixed in
+	  Polyhedron::poly_difference_assign(const Polyhedron&).
+
+2004-08-12 Thursday 18:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: pl_check.pl (1.87), ppl_prolog.icc (1.133),
+	  Ciao/ciao_pl_check.pl (1.4), Ciao/ppl_ciao.pl (1.66),
+	  GNU/ppl_gprolog.pl (1.45), SICStus/ppl_sicstus_sd.cc (1.62),
+	  SWI/ppl_swiprolog.cc (1.87), XSB/ppl_xsb.H (1.32), XSB/ppl_xsb.cc
+	  (1.53), XSB/xsb_pl_check.P (1.9), YAP/ppl_yap.cc (1.80): Added
+	  interface predicate for fold_dimensions().  Added test for this
+	  predicate.
+
+2004-08-12 Thursday 17:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.86): Bugs introduced by adding
+	  full stops corrected.
+
+2004-08-12 Thursday 17:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.24): The patch for poly-difference
+	  operator seems to be the right solution: CHECKME removed.
+
+2004-08-12 Thursday 17:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.133), src/Polyhedron.defs.hh (1.233):
+	  Pedantic correction to the explanation of poly-difference.
+
+2004-08-12 Thursday 17:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h.in (1.29): Simplified comments about
+	  poly-hull operators.	For the poly-difference, added reference to
+	  appropriate section of the manual.
+
+2004-08-12 Thursday 16:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure (1.2), TODO (1.78): Explained the basics about
+	  configuring GMP and the PPL, as far as selecting the right
+	  version of GPM is concerned.
+
+2004-08-12 Thursday 15:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.77), doc/definitions.dox (1.132): Added a paragraph
+	  explaining that PPL types should not be used polymorphically.
+	  This is at the beginning of section 7 (The library), since it is
+	  specific of the C++ language.
+
+2004-08-12 Thursday 15:14  Abramo Bagnara
+
+	* src/Integer.defs.hh (altnum.3): Fixed typos including new files.
+
+2004-08-12 Thursday 14:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac, src/Integer.defs.hh, src/Integer.types.hh
+	  (altnum.[3,2,3]): First go at a setup that allows to test the new
+	  checked code against the old one.  The configure option
+	  `--enable-new-checked-code' does what is expected.
+
+2004-08-12 Thursday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.76), doc/definitions.dox (1.131): Small improvement to
+	  the discussion about the use of iterators and references.
+
+2004-08-12 Thursday 11:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h.in (1.28): Corrected two doxygen comments:
+	  "const iterator system" --> "const iterator".
+
+2004-08-12 Thursday 11:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.130): Drafted a section providing a
+	  warning about the possible invalidation of references and
+	  iterators.
+
+2004-08-12 Thursday 11:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac, src/Integer.types.hh, src/Makefile.am
+	  (altnum.[2,2,3]): Do not use C types like char, short, long and
+	  long long.  Use the fixed width types int8_t, int16_t, int32_t
+	  and int64_t instead.
+
+2004-08-12 Thursday 10:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/folddims1.cc (1.2): A number of different tests for
+	  fold_dimensions() added.
+
+2004-08-12 Thursday 10:20  Abramo Bagnara
+
+	* src/checked_int.inlines.hh (altnum.4): Added preliminary
+	  optimizations.
+
+2004-08-12 Thursday 10:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_float.inlines.hh (altnum.3): Parenthesis moved
+	  outside #if/#endif block.
+
+2004-08-12 Thursday 09:49  Abramo Bagnara
+
+	* src/checked.inlines.hh (altnum.2): Missing file from previous
+	  commit (policy addition).
+
+2004-08-12 Thursday 09:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.23): Added a comment to the
+	  implementation of Polyhedron::poly_difference_assign().
+
+2004-08-12 Thursday 09:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/pl_check.pl (1.85): Given a proper reference to
+	  the work of Gopan et al.  Comments terminated by a full-stop.
+
+2004-08-12 Thursday 09:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.132): Indentation fixed.
+
+2004-08-12 Thursday 09:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.199), expanddim1.cc (1.7), expanddim2.cc
+	  (1.1): Tests that are specific to NNC polyhedra must go in
+	  separate files: expanddim2.cc cut out from expanddim1.cc.
+
+2004-08-12 Thursday 08:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/expanddim1.cc (1.6): Biobliographic reference fixed.
+
+2004-08-12 Thursday 08:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.84): Added another (simple) test
+	  for the poly difference predicate; Added a test for the
+	  expand_dimension predicate based on that in the TACAS04 paper on
+	  page 519.
+
+2004-08-12 Thursday 08:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/expanddim1.cc (1.5): Added test corresponding to example in
+	  the TACAS04 paper on page 519.
+
+2004-08-12 Thursday 08:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/expanddim1.cc (1.4): We always terminate sentences with a
+	  full stop.
+
+2004-08-11 Wednesday 23:49  Abramo Bagnara
+
+	* src/checked_int.inlines.hh (altnum.3): Changed approach to
+	  checked add/sub to avoid undefined behaviour caused by out of
+	  range expressions.
+
+2004-08-11 Wednesday 22:10  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.83): Test for
+	  ppl_Polyhedron_poly_difference_assign corrected.
+
+2004-08-11 Wednesday 21:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: pl_check.pl (1.82), ppl_prolog.icc (1.131),
+	  Ciao/ciao_pl_check.pl (1.3), Ciao/ppl_ciao.pl (1.65),
+	  GNU/ppl_gprolog.pl (1.44), SICStus/ppl_sicstus_sd.cc (1.61),
+	  SWI/ppl_swiprolog.cc (1.86), XSB/ppl_xsb.H (1.31), XSB/ppl_xsb.cc
+	  (1.52), XSB/xsb_pl_check.P (1.8), YAP/ppl_yap.cc (1.79): Prolog
+	  interface predicate added for expand_dimension().  Test for new
+	  predicate added to pl_check.pl.
+
+2004-08-11 Wednesday 21:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/expanddim1.cc (1.3): More tests added for testing
+	  expand_dimensions().
+
+2004-08-11 Wednesday 19:25  Abramo Bagnara
+
+	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh,
+	  Result_Info.defs.hh, checked.defs.hh, checked_float.cc,
+	  checked_float.defs.hh, checked_float.inlines.hh, checked_int.cc,
+	  checked_int.defs.hh, checked_int.inlines.hh, checked_mpq.cc,
+	  checked_mpq.defs.hh, checked_mpq.inlines.hh, checked_mpz.cc,
+	  checked_mpz.defs.hh, checked_mpz.inlines.hh
+	  (altnum.[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2]): Added policy to
+	  checked functions. Deleted useless files. Confined checked
+	  functions and helper class to Checked namespace.
+
+2004-08-11 Wednesday 18:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.22): Drafted a patch to correct bug
+	  shown by polydifference8.cc.
+
+2004-08-11 Wednesday 18:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am (1.198), bhz03widening3.cc (1.1),
+	  polydifference8.cc (1.1): New test polydifference8.cc (extracted
+	  from bhz03wodening3.cc) shows a bug in method
+	  Polyhedron::poly_difference_assign().
+
+2004-08-11 Wednesday 16:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.197), folddims1.cc (1.1): Use folddims1.cc
+	  for testing Polyhedron::fold_dimensions().
+
+2004-08-11 Wednesday 16:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedra_PowerSet.defs.hh (1.21),
+	  Polyhedra_PowerSet.inlines.hh (1.33): Use BHRZ03_Certificate
+	  instead of BHRZ03_info. First step towards generalizing the BHZ03
+	  widening to arbitrary certificates.
+
+2004-08-11 Wednesday 16:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh (1.232), Polyhedron.inlines.hh (1.92),
+	  Polyhedron_widenings.cc (1.20): Got rid of all the stuff related
+	  to Polyhedron::BHRZ03_info, superseded by the class
+	  BHRZ03_Certificate.
+
+2004-08-11 Wednesday 16:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BHRZ03_Certificate.defs.hh (1.2): The comparison function is
+	  now provided with a brief and a detailed doxygen descriptions.
+
+2004-08-11 Wednesday 15:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/expanddim1.cc (1.2): Two new tests sketched.
+
+2004-08-11 Wednesday 15:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_chdims.cc (1.11): Fixed a bug in
+	  Polyhedron::expand_dimension().  Polyhedron::fold_dimensions()
+	  drafted.
+
+2004-08-11 Wednesday 12:03  Abramo Bagnara
+
+	* src/: Checked_Number.cc, Checked_Number.defs.hh,
+	  Checked_Number.inlines.hh, Checked_Number.types.hh
+	  (altnum.[1,1,1,1]): Replacement for Checked_Integer and more
+
+2004-08-11 Wednesday 12:03  Abramo Bagnara
+
+	* src/float.types.hh (altnum.1): Native float type declaration
+
+2004-08-11 Wednesday 12:02  Abramo Bagnara
+
+	* src/Result_Info.defs.hh (altnum.1): Result info for checked
+	  functions
+
+2004-08-11 Wednesday 12:02  Abramo Bagnara
+
+	* src/: checked.defs.hh, checked.inlines.hh, checked_float.cc,
+	  checked_float.defs.hh, checked_float.inlines.hh, checked_int.cc,
+	  checked_int.defs.hh, checked_int.inlines.hh, checked_mpq.cc,
+	  checked_mpq.defs.hh, checked_mpq.inlines.hh, checked_mpz.cc,
+	  checked_mpz.defs.hh, checked_mpz.inlines.hh
+	  (altnum.[1,1,1,1,1,1,1,1,1,1,1,1,1,1]): Checked functions for
+	  int, float, mpz and mpq
+
+2004-08-11 Wednesday 10:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_chdims.cc (1.10), tests/Makefile.am (1.196),
+	  tests/expanddim1.cc (1.1): Added a prototype implementation of
+	  Polyhedron::expand_dimension(Variable var, dimension_type m).
+
+2004-08-09 Monday 23:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.18): Started revision for the PPL 0.6 release.
+
+2004-08-09 Monday 22:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.75): Section on portability migrated to README.configure.
+	  Section on constructions on polyhedra revised.
+
+2004-08-09 Monday 22:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure (1.1): New file describing the PPL-specific
+	  aspects of configuration, compilation and installation of the
+	  library.
+
+2004-08-09 Monday 20:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: Makefile.am (1.26), fdl.txt (1.1), gpl.txt (1.1): We now
+	  distribute the GPL and the FDL also in text format (so as not to
+	  assume that users have Doxygen and/or LaTeX and/or a
+	  PostScript/PDF viewer).
+
+2004-08-09 Monday 11:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Init.cc (1.11), Makefile.am (1.71), Polyhedron_widenings.cc
+	  (1.19), statistics.hh (1.4): Dealt with all the stuff needed to
+	  collect statistics about the BHRZ03 widening operator.
+
+2004-08-09 Monday 10:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.74), src/Polyhedron.defs.hh (1.231),
+	  src/Polyhedron.inlines.hh (1.91): In
+	  Polyhedron::map_dimensions(const PartialFunction&), the method
+	  PartialFunction::maps() is now called at most `n' times, where
+	  `n' is the dimension of the vector space enclosing the
+	  polyhedron.
+
+2004-08-09 Monday 08:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.90), TODO (1.73), interfaces/Prolog/ppl_prolog.icc
+	  (1.130), src/Polyhedra_PowerSet.inlines.hh (1.32),
+	  src/PowerSet.inlines.hh (1.56), src/conversion.cc (1.52),
+	  src/globals.cc (1.14), src/globals.hh (1.36), tests/watchdog1.cc
+	  (1.20): The variable `abandon_exponential_computations' has been
+	  renamed `abandon_expensive_computations'.  Its documentation has
+	  also been revised.
+
+2004-08-08 Sunday 21:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_widenings.cc (1.18): Two FIXMEs dealt with.
+
+2004-08-08 Sunday 19:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.89), demos/ppl_lcdd/ppl_lcdd.cc (1.19), src/version.hh.in
+	  (1.8): New macro PPL_VERSION expands to the version string of the
+	  library.
+
+2004-08-08 Sunday 19:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.88), Watchdog/Makefile.am (1.9), Watchdog/Watchdog.cc
+	  (1.17), Watchdog/Watchdog.defs.hh (1.13),
+	  Watchdog/Watchdog.inlines.hh (1.11),
+	  interfaces/Prolog/ppl_prolog.icc (1.129), tests/watchdog1.cc
+	  (1.19): Watchdog library completely reorganized.  Deadlock bug
+	  fixed in the process.
+
+2004-08-08 Sunday 19:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/examples/Makefile.am (1.2): Distribute the
+	  examples.
+
+2004-08-08 Sunday 19:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.types.hh (1.11): Namespace closing brace
+	  commented.
+
+2004-08-08 Sunday 19:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: Handler.defs.hh (1.1), Handler.inlines.hh (1.1),
+	  Handler.types.hh (1.1): Classes for handlers of the watchdog
+	  events.
+
+2004-08-08 Sunday 18:39  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.129): Corrected a typo.
+
+2004-08-08 Sunday 12:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Polyhedron.defs.hh (1.230): Documentation on map_dimensions
+	  wrt the specification of pfunc revised.
+
+2004-08-08 Sunday 10:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Polyhedron.defs.hh (1.229): Added to documentation of
+	  map_dimensions, in the specification of the partial function
+	  pfunc/2, an indication of the number of times the different
+	  methods will be called.
+
+2004-08-07 Saturday 19:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.19), Watchdog/ltmain.sh (1.8): Updated from Libtool
+	  1.5.8.
+
+2004-08-07 Saturday 08:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: Pending_List.cc (1.1), Pending_List.defs.hh (1.1),
+	  Pending_List.inlines.hh (1.1), Pending_List.types.hh (1.1): An
+	  ordered list for recording pending watchdog events.
+
+2004-08-07 Saturday 08:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: EList.defs.hh (1.3), EList.inlines.hh (1.2): The
+	  clear() method has been removed.  The destructor now destructs
+	  also the elements in the list.
+
+2004-08-06 Friday 19:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: Pending_Element.cc (1.1), Pending_Element.defs.hh
+	  (1.1), Pending_Element.inlines.hh (1.1), Pending_Element.types.hh
+	  (1.1): A class for pending watchdog events with embedded links.
+
+2004-08-06 Friday 18:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: Doubly_Linked_Object.defs.hh (1.1),
+	  Doubly_Linked_Object.inlines.hh (1.1),
+	  Doubly_Linked_Object.types.hh (1.1): A (base) class for doubly
+	  linked objects.
+
+2004-08-06 Friday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: EList_Iterator.defs.hh (1.1),
+	  EList_Iterator.inlines.hh (1.1), EList_Iterator.types.hh (1.1): A
+	  class providing iterators for embedded lists.
+
+2004-08-06 Friday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/EList.defs.hh (1.2): Class comment revised.
+
+2004-08-06 Friday 18:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: EList.defs.hh (1.1), EList.inlines.hh (1.1),
+	  EList.types.hh (1.1): A list of doubly linked objects (where the
+	  links are embedded in the objects themselves).
+
+2004-08-06 Friday 18:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: Time.cc (1.1), Time.defs.hh (1.1), Time.inlines.hh
+	  (1.1), Time.types.hh (1.1): A class for representing and
+	  manipulating positive time intervals.
+
+2004-08-05 Thursday 08:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (1.72): ppl_Polyhedron_maximize,
+	  ppl_Polyhedron_maximize_with_point, and ppl_Polyhedron_minimize,
+	  ppl_Polyhedron_minimize_with_point have been added to the Prolog
+	  interface with corresponding additions to the documentation and
+	  pl_check.pl.	Todo item on this removed.
+
+2004-08-05 Thursday 07:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Checked_Integer.defs.hh, Checked_Integer.inlines.hh,
+	  Checked_Integer.types.hh, GMP_Integer.defs.hh,
+	  GMP_Integer.inlines.hh, GMP_Integer.types.hh,
+	  Integer_traits_template.hh, Native_Integer.defs.hh,
+	  Native_Integer.inlines.hh, Native_Integer.types.hh
+	  (altnum.[3,3,2,2,2,2,2,3,3,2]): Copyright years updated.
+
+2004-08-04 Wednesday 22:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* depcomp (1.8), install-sh (1.9), Watchdog/depcomp (1.6),
+	  Watchdog/install-sh (1.6): Updated from Automake 1.9.
+
+2004-08-04 Wednesday 22:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.87), configure.ac (1.115), demos/Makefile.am (1.3),
+	  demos/ppl_lcdd/Makefile.am (1.2),
+	  demos/ppl_lcdd/examples/.cvsignore (1.1),
+	  demos/ppl_lcdd/examples/Makefile.am (1.1),
+	  demos/ppl_lpsol/.cvsignore (1.1), demos/ppl_lpsol/Makefile.am
+	  (1.1), demos/ppl_lpsol/expected (1.1),
+	  demos/ppl_lpsol/ppl_lpsol.c (1.1),
+	  demos/ppl_lpsol/examples/.cvsignore (1.1),
+	  demos/ppl_lpsol/examples/Makefile.am (1.1),
+	  demos/ppl_lpsol/examples/afiro.mps (1.1),
+	  demos/ppl_lpsol/examples/bgprtr.mps (1.1),
+	  demos/ppl_lpsol/examples/ex1.mps (1.1),
+	  demos/ppl_lpsol/examples/sample.mps (1.1),
+	  demos/ppl_lpsol/examples/unboundedmin.mps (1.1),
+	  interfaces/C/Makefile.am (1.17): All demos are now under the
+	  `demos' directory.
+
+2004-08-04 Wednesday 21:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/Makefile.am (1.28): The source
+	  `fake_mail.pl' has gone long time ago.
+
+2004-08-04 Wednesday 20:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.23), config.sub (1.22), Watchdog/config.guess
+	  (1.7), Watchdog/config.sub (1.7): Updated.
+
+2004-08-04 Wednesday 20:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.71): The Polyhedron::*recycled*() methods do not make
+	  sense for the Prolog interface.
+
+2004-08-04 Wednesday 16:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: adddimensions11.cc, dualhypercubes.cc (altnum.[1,1]): The
+	  main program must catch exceptions.
+
+2004-08-04 Wednesday 16:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.70): Some things to do will only be done in PPL 0.7 or
+	  later version.
+
+2004-08-04 Wednesday 15:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Interval.defs.hh, Interval.inlines.hh (altnum.[2,2]):
+	  Returning by const reference when appropriate. (numerator and
+	  denominator).
+
+2004-08-04 Wednesday 15:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Checked_Integer.defs.hh, Checked_Integer.inlines.hh,
+	  Native_Integer.defs.hh, Native_Integer.inlines.hh
+	  (altnum.[2,2,2,2]): Use Integer_macros.hh to declare and define
+	  all the required functions.
+
+2004-08-04 Wednesday 15:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Matrix.cc (altnum.2): Wrongly-named variable references
+	  fixed.
+
+2004-08-04 Wednesday 15:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Integer_macros.hh, Makefile.am (altnum.[1,2]): Helper
+	  macros for the implementation of Native_Integer and
+	  Checked_Integer.
+
+2004-08-04 Wednesday 15:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (altnum.1): Temporarily disable the `interfaces'
+	  directory.
+
+2004-08-04 Wednesday 13:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS, configure.ac, src/BoundingBox.cc,
+	  src/BoundingBox.defs.hh, src/BoundingBox.inlines.hh,
+	  src/Checked_Integer.defs.hh, src/Checked_Integer.inlines.hh,
+	  src/Checked_Integer.types.hh, src/ConSys.cc, src/ConSys.defs.hh,
+	  src/Constraint.defs.hh, src/Constraint.inlines.hh,
+	  src/GMP_Integer.defs.hh, src/GMP_Integer.inlines.hh,
+	  src/GMP_Integer.types.hh, src/GenSys.cc, src/GenSys.defs.hh,
+	  src/Generator.cc, src/Generator.defs.hh,
+	  src/Generator.inlines.hh, src/Integer.defs.hh,
+	  src/Integer.types.hh, src/Integer_traits_template.hh,
+	  src/Interval.defs.hh, src/Interval.inlines.hh,
+	  src/LinExpression.cc, src/LinExpression.defs.hh,
+	  src/LinExpression.inlines.hh, src/Makefile.am, src/Matrix.cc,
+	  src/Native_Integer.defs.hh, src/Native_Integer.inlines.hh,
+	  src/Native_Integer.types.hh, src/Polyhedron.defs.hh,
+	  src/Polyhedron.inlines.hh, src/Polyhedron_nonpublic.cc,
+	  src/Polyhedron_public.cc, src/Polyhedron_widenings.cc,
+	  src/Row.cc, src/Row.defs.hh, src/Row.inlines.hh,
+	  src/conversion.cc, src/globals.cc, src/globals.hh, tests/BBox.cc,
+	  tests/BBox.hh, tests/Makefile.am
+	  (altnum.[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]):
+	  Imported, with changes, from the `altnum' branch of the students'
+	  repository.  As the Purenum project seems dead, support for
+	  Purenum has been evicted.  Notice that both native and checked
+	  integers do not currently work due to the absence of some
+	  relational operators.
+
+2004-07-15 Thursday 18:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.18): Option `-c' (`--check')
+	  implemented.
+
+2004-07-15 Thursday 17:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/examples/: 1d.ine (1.1), 1da.ine (1.1), cp4.ext
+	  (1.1), cp4.ine (1.1), cp5.ext (1.1), cp5.ine (1.1), cp6.ext
+	  (1.1), cp6.ine (1.1), cp7.ext (1.1), cross4.ine (1.1), cube.ext
+	  (1.1), cube.ine (1.1), cubetop.ine (1.1), cut16_11.ext (1.1),
+	  cut32_16.ext (1.1), cyc.ine (1.1), cyclic17_8.ine (1.1),
+	  cyclic25_13.ext (1.1), diamond.ine (1.1), in0.ine (1.1), in1.ine
+	  (1.1), in2.ine (1.1), in3.ine (1.1), in4.ine (1.1), in5.ine
+	  (1.1), in6.ine (1.1), in7.ine (1.1), kq20_11_m.ine (1.1),
+	  metric40_11.ine (1.1), metric80_16.ine (1.1), mit.ine (1.1),
+	  mit288-281.ine (1.1), mit31-20.ine (1.1), mit41-16.ine (1.1),
+	  mit708-9.ine (1.1), mit71-61.ine (1.1), mit90-86.ine (1.1),
+	  mp5.ext (1.1), mp5.ine (1.1), mp5a.ine (1.1), mp6.ine (1.1),
+	  trunc10.ine (1.1), trunc7.ine (1.1), tsp5.ext (1.1), tsp5.ine
+	  (1.1): Borrowed, with some minor changes, from lrslib 042.
+
+2004-07-15 Thursday 16:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/examples/: allzero.ine (1.1), ccc4.ext (1.1),
+	  ccc5.ext (1.1), ccc6.ext (1.1), ccp4.ext (1.1), ccp5.ext (1.1),
+	  ccp6.ext (1.1), cross10.ine (1.1), cross12.ine (1.1), cross6.ine
+	  (1.1), cross8.ine (1.1), cube10.ine (1.1), cube12.ine (1.1),
+	  cube3.ine (1.1), cube6.ine (1.1), cube8.ine (1.1), cubocta.ine
+	  (1.1), cyclic10-4.ext (1.1), cyclic12-6.ext (1.1), cyclic14-8.ext
+	  (1.1), cyclic16-10.ext (1.1), dodeca_m.ine (1.1), ex1.ine (1.1),
+	  grcubocta.ine (1.1), hexocta.ine (1.1), icododeca_m.ine (1.1),
+	  infeas.ine (1.1), integralpoints.ine (1.1), irbox20-4.ext (1.1),
+	  irbox200-4.ext (1.1), kkd18_4.ine (1.1), kkd27_5.ine (1.1),
+	  kkd38_6.ine (1.1), nonfull.ine (1.1), origin.ine (1.1),
+	  prodst62.ext (1.1), project1_m.ine (1.1), project1res.ine (1.1),
+	  project2_m.ine (1.1), project2res.ine (1.1), rcubocta.ine (1.1),
+	  redcheck.ext (1.1), reg24-5.ext (1.1), reg24-5.ine (1.1),
+	  reg600-5_m.ext (1.1), rhomtria_m.ine (1.1), sample.ine (1.1),
+	  sampleh1.ine (1.1), sampleh2.ine (1.1), sampleh3.ine (1.1),
+	  sampleh4.ine (1.1), sampleh5.ine (1.1), sampleh6.ine (1.1),
+	  sampleh7.ine (1.1), sampleh8.ine (1.1), samplev1.ext (1.1),
+	  samplev2.ext (1.1), samplev3.ext (1.1): Borrowed, with some minor
+	  changes, from cddlib 093c.
+
+2004-07-11 Sunday 15:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.17): Append to the output file,
+	  instead of truncating it.
+
+2004-07-11 Sunday 15:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.16): Error messages fixed.
+
+2004-07-10 Saturday 19:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.15): Fixed the handling of equality
+	  constraints in read_polyhedron().
+
+2004-07-10 Saturday 17:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.14): Corrected input and output of
+	  H-representations (a couple of sign errors).	When outputting
+	  rational coefficients, print 0 instead of 0/<denominator>.
+
+2004-07-10 Saturday 16:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.13): Bug fixed in function
+	  normalize().
+
+2004-07-10 Saturday 14:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.12): Initial implementation of the
+	  `project' command (which seems to be unimplemented in the real
+	  lcdd).
+
+2004-07-10 Saturday 10:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.11): Started adding a new option to
+	  check the result.  Bugs fixed in set_input() and set_output().
+	  Reject the `linearity' command when it does not appear before
+	  `begin'.
+
+2004-07-10 Saturday 01:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.10): Output made watertight.
+
+2004-07-09 Friday 22:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.9): Several bugs fixed.  Formal
+	  parameters tightened.
+
+2004-07-09 Friday 21:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.8): Obey the `-o' option.
+
+2004-07-09 Friday 21:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.7): Make sure every non-empty
+	  generator system we create has at least one point.
+
+2004-07-09 Friday 18:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.6): Input made more robust.
+
+2004-07-09 Friday 17:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.5): Make sure points are created
+	  with the right denominator.
+
+2004-07-09 Friday 16:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.4): Bug fixed in
+	  write_polyhedron().
+
+2004-07-09 Friday 15:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.3): Input/output rewritten.
+
+2004-07-09 Friday 09:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.81): Some reorganisation of test
+	  predicates to match order of tests.  Improved handling of
+	  deletion of polyhedra in the exception tests.
+
+2004-07-09 Friday 08:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc (1.2): Started drafting the output
+	  function.  Several other improvements.
+
+2004-07-09 Friday 08:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/.cvsignore (1.3): Put under CVS control.
+
+2004-07-09 Friday 08:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.114), demos/.cvsignore (1.2), demos/Makefile.am
+	  (1.2), demos/ppl_lcdd.cc (1.2), demos/ppl_lcdd/.cvsignore (1.1),
+	  demos/ppl_lcdd/Makefile.am (1.1), demos/ppl_lcdd/ppl_lcdd.cc
+	  (1.1): The `ppl_lcdd' demo has now its own subdirectory.
+
+2004-07-08 Thursday 16:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/Watchdog.cc (1.16): Spacing fixed.
+
+2004-07-08 Thursday 16:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.113): Added checks for getopt.h and signal.h.
+	  Added demos/Makefile to the output list.
+
+2004-07-08 Thursday 16:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.24): Added `demos' to `SUBDIR'.
+
+2004-07-08 Thursday 16:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/: .cvsignore (1.1), Makefile.am (1.1), ppl_lcdd.cc (1.1):
+	  `ppl_lcdd' is a sort of clone of the cddlib test program `lcdd'.
+
+2004-07-08 Thursday 16:40  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.109): Brief
+	  descriptions of the new interface predicates are added.
+
+2004-07-08 Thursday 12:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.108): New Prolog
+	  interface predicates recently added have been added to the PPL
+	  Predicate List in the documentation for this interface.
+
+2004-05-26 Wednesday 16:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.228): Fixed examples involving
+	  ConSys::insert() and GenSys::insert().
+
+2004-05-26 Wednesday 16:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.86): Mention the documentation improvements.
+
+2004-05-21 Friday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.112): Tests reordered so that an invalid
+	  combination of compiler options is detected earlier and diagnosed
+	  in an intelligible way.
+
+2004-05-09 Sunday 17:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/Watchdog.cc (1.15): Anachronisms removed.
+
+2004-05-09 Sunday 14:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* STANDARDS (1.11), src/Polyhedra_PowerSet.inlines.hh (1.31),
+	  src/Polyhedron_public.cc (1.21), src/Polyhedron_widenings.cc
+	  (1.17), src/simplify.cc (1.34), tests/bhrz03widening14.cc (1.5),
+	  tests/bhrz03widening15.cc (1.7): All other things being equal,
+	  always prefer preincrement and predecrement to postincrement and
+	  postdecrement.
+
+2004-05-09 Sunday 12:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_chdims.cc (1.9): Redundant test avoided.
+
+2004-05-08 Saturday 15:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Matrix.cc (1.68), Matrix.defs.hh (1.56),
+	  Polyhedron.inlines.hh (1.90): New declaration and implementation
+	  of Matrix::permute_columns().  Implementation of
+	  Polyhedron::map_dimensions() improved.
+
+2004-05-08 Saturday 14:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/Makefile.am (1.21): Missing dependency
+	  added.
+
+2004-05-07 Friday 21:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/xsb_pl_check.P (1.7): Code reordered.
+
+2004-05-07 Friday 21:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/ppl_xsb.cc (1.51):
+	  Integer_to_integer_term() fixed.
+
+2004-05-07 Friday 21:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/.cvsignore (1.5): Updated.
+
+2004-05-07 Friday 19:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/xsb_pl_check.P (1.6): Small improvement to
+	  a comment.
+
+2004-05-07 Friday 19:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/xsb_pl_check.P (1.5): Kludge to to test the
+	  Prolog interface exceptions when converting PPL integers to XSB
+	  Prolog integer terms.
+
+2004-05-07 Friday 19:44  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BHRZ03_Certificate.cc (1.1), BHRZ03_Certificate.defs.hh
+	  (1.1), BHRZ03_Certificate.inlines.hh (1.1),
+	  BHRZ03_Certificate.types.hh (1.1): Put under CVS control.
+
+2004-05-07 Friday 19:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Makefile.am (1.70), Polyhedron.defs.hh (1.227),
+	  Polyhedron_widenings.cc (1.16): Changed to use the new
+	  BHRZ03_Certificate class.  Current implementation for NNC
+	  polyhedra is an inefficient kludge, but should be correct. It
+	  will become efficient as soon as we implement lazy procedures for
+	  eps-minimization of NNC polyhedra.
+
+2004-05-07 Friday 19:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.20): Avoid code
+	  duplication: Integer_to_integer_term() now uses
+	  Prolog_put_long().
+
+2004-05-07 Friday 18:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: GNU/.cvsignore (1.5), SICStus/.cvsignore
+	  (1.5), SWI/.cvsignore (1.5), XSB/.cvsignore (1.4), YAP/.cvsignore
+	  (1.5): Updated.
+
+2004-05-07 Friday 18:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/fake_main.pl (1.2): This is not necessary
+	  with new versions of Ciao Prolog.
+
+2004-05-07 Friday 18:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/Makefile.am (1.27): The previous change
+	  did not take into account that `ciaoc' always writes the object
+	  file in the same directory where the sources reside.	Copies
+	  restored, but now the copies are written in the right place.
+
+2004-05-07 Friday 18:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/.cvsignore (1.3), src/.cvsignore (1.7),
+	  tests/.cvsignore (1.8): Updated.
+
+2004-05-07 Friday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/: Makefile.am (1.26), ciao_clpq.pl (1.9),
+	  ciao_clpq2.pl (1.4), ciao_pl_check.pl (1.2): New versions of Ciao
+	  Prolog no longer require the sources to be copied.
+
+2004-05-07 Friday 11:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Ciao/Makefile.am (1.25), SICStus/Makefile.am
+	  (1.41), SWI/Makefile.am (1.34): Clean things up after `make
+	  check'.
+
+2004-05-07 Friday 10:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.80): Additional tests for system
+	  dependent exceptions when the integer values are max, max+1, min,
+	  or min-1.
+
+2004-05-07 Friday 10:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.79): More and improved tests for
+	  exceptions.  Code better commented and additional predicates for
+	  i/o etc reorganised.
+
+2004-05-07 Friday 10:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/XSB/xsb_pl_check.P (1.4): Corrected typo.
+
+2004-05-07 Friday 10:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/XSB/xsb_pl_check.P (1.3): Added a definition
+	  for current_prolog_flag/3.
+
+2004-05-07 Friday 09:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.19):
+	  Integer_to_integer_term() fixed.
+
+2004-05-06 Thursday 10:37  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.78): More tests for ppl Prolog
+	  interface exceptions added.
+
+2004-05-05 Wednesday 15:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/: Makefile.am (1.33), swi_pl_check.pl
+	  (1.1): Use also pl_check.pl to test the SWI-Prolog interface.
+
+2004-05-05 Wednesday 15:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/: Makefile.am (1.40), sp_pl_check.pl
+	  (1.1): Use also pl_check.pl to test the SICStus-Prolog interface.
+
+2004-05-05 Wednesday 15:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/: Makefile.am (1.24), ciao_pl_check.pl
+	  (1.1): Use also pl_check.pl to test the Ciao-Prolog interface.
+
+2004-05-05 Wednesday 10:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.77): Comment added explaining
+	  new code for exceptions tests
+
+2004-05-05 Wednesday 10:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.76): New tests for checking some
+	  possible exceptions in the C++ and Prolog interface added.
+
+2004-05-04 Tuesday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.226): Documentation for
+	  Polyhedron::expand_dimension() improved.  New method void
+	  Polyhedron::void fold_dimensions(const Variables_Set&
+	  to_be_folded, Variable var) declared: documentation still to be
+	  written.
+
+2004-05-04 Tuesday 21:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.128), src/Polyhedron.defs.hh (1.225): New
+	  declaration and documentation for void
+	  Polyhedron::expand_dimension(Variable var, dimension_type m).
+
+2004-05-04 Tuesday 15:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.127): Added a section on the new
+	  `expand_dimension' operation.
+
+2004-05-04 Tuesday 15:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.126): Additions to the bibliography.
+
+2004-05-04 Tuesday 14:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.125): Definition of `map_dimensions'
+	  improved.
+
+2004-04-30 Friday 21:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: exceptions.hh (1.11), ppl_prolog.icc (1.128),
+	  Ciao/ppl_ciao.cc (1.23), GNU/ppl_gprolog_sd.cc (1.18),
+	  SICStus/ppl_sicstus_sd.cc (1.60), SWI/ppl_swiprolog.cc (1.85),
+	  XSB/ppl_xsb.cc (1.50), YAP/ppl_yap.cc (1.78): Deal with different
+	  representations for integers in Prolog and C++ code.
+
+2004-04-30 Friday 19:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.104): Handle std::overflow_error.
+
+2004-04-30 Friday 17:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.103), ppl_c.h.in (1.27): Missing
+	  try/catch blocks added.  Interface changed for
+	  ppl_version_major(), ppl_version_minor(), ppl_version_revision(),
+	  ppl_version_beta(), ppl_version() and ppl_banner().
+
+2004-04-30 Friday 16:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.102): CATCH_ALL fixed: was translating
+	  std::exception to PPL_ERROR_INTERNAL_ERROR instead of
+	  PPL_ERROR_UNKNOWN_STANDARD_EXCEPTION.
+
+2004-04-27 Tuesday 14:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.111), interfaces/OCaml/.cvsignore (1.3),
+	  interfaces/OCaml/Makefile.am (1.8), interfaces/OCaml/gmp.h (1.2),
+	  interfaces/OCaml/ppl_ocaml_c.swg (1.3): Our OCaml interface will
+	  not be based on SWIG.
+
+2004-04-26 Monday 23:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/yap_pl_check.pl (1.5): Previous change
+	  reverted.
+
+2004-04-26 Monday 22:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/YAP/yap_pl_check.pl (1.4): Paths to pl_check.pl
+	  and yap_pl_check.pl need to allow for working in a separate build
+	  directory.
+
+2004-04-26 Monday 22:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.75): Bug fixed in
+	  "format_banner" code.  Definitions of "make_noisy" and
+	  "make_quiet" corrected.  Added a new top-level predicate
+	  "check_noisy/0" since "check_all" is now forced to be quiet.	A
+	  redundant temporary test removed.
+
+2004-04-26 Monday 22:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.127): Removed unwanted line
+	  in ..._relations_with_constraints procedure.	Modified
+	  .._relations_with_generator procedure to be in line with changes
+	  to ..._relations_with_constraints procedure.
+
+2004-04-26 Monday 17:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.126): Do not call any
+	  Prolog_put_*() function on a destination term that does not
+	  represent a free variable.
+
+2004-04-26 Monday 17:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/Makefile.am (1.20): Infrastructure for
+	  automatic testing with pl_check.pl completed.
+
+2004-04-26 Monday 17:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/xsb_pl_check.P (1.2): Initial goal fixed.
+
+2004-04-26 Monday 15:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/: Makefile.am (1.19), xsb_pl_check.P (1.1):
+	  Use also pl_check.pl when testing the XSB interface.
+
+2004-04-26 Monday 15:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/ppl_xsb.cc (1.49): Some assertion fixed: we
+	  cannot assume XSB's TRUE evaluates to C++'s true.
+
+2004-04-26 Monday 14:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/pl_check.pl (1.74): A predicate is either
+	  static or dynamic (noisy/1).	The predicate retractall/1 is
+	  non-standard: do not use it.
+
+2004-04-25 Sunday 22:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: exceptions.hh (1.10), ppl_prolog.icc (1.125):
+	  New error handling code completed.
+
+2004-04-25 Sunday 22:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* depcomp (1.7), install-sh (1.8), mkinstalldirs (1.7),
+	  Watchdog/depcomp (1.5), Watchdog/install-sh (1.5),
+	  Watchdog/mkinstalldirs (1.3): Updated from Automake 1.8.4.
+
+2004-04-25 Sunday 22:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.124): Previous changes
+	  reverted.  Rewritten a good part of the error handling code.
+	  Several bugs fixed.
+
+2004-04-25 Sunday 22:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/exceptions.hh (1.9): Exception classes revised.
+
+2004-04-25 Sunday 22:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/ppl_swiprolog.cc (1.84): Prolog_put_long()
+	  and Integer_to_integer_term() implemented properly.  Added
+	  Prolog_put_ulong().
+
+2004-04-25 Sunday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.59): The wrong
+	  exception was thrown by integer_term_to_Integer(): fixed.
+
+2004-04-25 Sunday 22:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/sicstus_cfli.ic (1.8): Added
+	  Prolog_put_ulong().
+
+2004-04-25 Sunday 22:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/ppl_xsb.cc (1.48): Added a temporary, buggy
+	  version of Prolog_put_ulong().  All the XSB c2p_*() functions
+	  require that the second argument is an unbound variable:
+	  assertions added to check that we abide by this rule.
+
+2004-04-25 Sunday 21:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Ciao/ppl_ciao.cc (1.22),
+	  GNU/ppl_gprolog_sd.cc (1.17), YAP/ppl_yap.cc (1.77): Added a
+	  temporary, buggy version of Prolog_put_ulong().
+
+2004-04-25 Sunday 21:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/pl_check.pl (1.73): Previous changes reverted.
+
+2004-04-25 Sunday 11:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: pl_check.pl (1.72), ppl_prolog.icc (1.123):
+	  Bug in an interface predicate
+	  (ppl_Polyhedron_relation_with_constraints) that only caused an
+	  error with the XSB interface now fixed.  pl_check revised to
+	  avoid warning messages with XSB compiler.
+
+2004-04-24 Saturday 23:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/ppl_swiprolog.cc (1.83): SWI Prolog does
+	  not support unlimited precision integers.
+
+2004-04-24 Saturday 15:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/memory1.cc (1.21): If GMP does not support exceptions this
+	  test is pointless.
+
+2004-04-24 Saturday 15:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.69): Flags for ICC changed.
+
+2004-04-24 Saturday 14:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/Makefile.am (1.34): Use the C++ compiler to
+	  compile and link.  Do not mention -lstcd++.
+
+2004-04-24 Saturday 10:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.16): Work around
+	  gprolog.h namespace pollution.
+
+2004-04-24 Saturday 10:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.122): Include
+	  "max_space_dimension.hh".
+
+2004-04-24 Saturday 10:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.101): Include "max_space_dimension.hh".
+
+2004-04-24 Saturday 10:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.85): Explain the changes concerning the
+	  max_space_dimension() functions.
+
+2004-04-24 Saturday 10:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: C_Polyhedron.inlines.hh (1.16), max_space_dimension.hh
+	  (1.2): C_Polyhedron::max_space_dimension() fixed.
+
+2004-04-24 Saturday 10:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: GenSys.defs.hh (1.95), GenSys.inlines.hh (1.33): New
+	  function GenSys::max_space_dimension().
+
+2004-04-24 Saturday 10:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: ConSys.defs.hh (1.82), ConSys.inlines.hh (1.32): New
+	  function ConSys::max_space_dimension().
+
+2004-04-24 Saturday 09:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Row.inlines.hh (1.44): Spurious newline removed.
+
+2004-04-24 Saturday 09:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Matrix.defs.hh (1.55), Matrix.inlines.hh (1.37): New
+	  functions Matrix::max_num_rows() and Matrix::max_num_columns().
+
+2004-04-24 Saturday 09:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Row.defs.hh (1.77), Row.inlines.hh (1.43): New functions
+	  Row::Impl::max_size() and Row::max_size().
+
+2004-04-24 Saturday 08:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: C_Polyhedron.defs.hh (1.21), C_Polyhedron.inlines.hh
+	  (1.15), Makefile.am (1.69), NNC_Polyhedron.defs.hh (1.24),
+	  NNC_Polyhedron.inlines.hh (1.17), Polyhedra_PowerSet.defs.hh
+	  (1.20), Polyhedra_PowerSet.inlines.hh (1.30), Polyhedron.defs.hh
+	  (1.224), algorithms.hh (1.27), globals.hh (1.35),
+	  max_space_dimension.hh (1.1): The function
+	  Parma_Polyhedra_Library::max_space_dimension() has been given a
+	  new semantics and destiny: it returns the maximum space dimension
+	  that _all_ the abstractions provided by the library can handle.
+	  Each individual abstraction provides its versions of this
+	  function.  Thus, e.g., NNC_Polyhedron::max_space_dimension()
+	  gives the maximum space dimensions an NNC_Polyhedron can handle.
+
+2004-04-24 Saturday 08:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Interval.inlines.hh (1.12), Topology.hh (1.9),
+	  initializer.hh (1.8): Comment added.
+
+2004-04-24 Saturday 00:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/Makefile.am (1.32): Pass the C and C++
+	  compilers to plld.
+
+2004-04-23 Friday 18:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: pl_check.pl (1.71), ppl_prolog.icc (1.121),
+	  Ciao/ppl_ciao.pl (1.64), GNU/ppl_gprolog.pl (1.43),
+	  SICStus/ppl_sicstus_sd.cc (1.58), SWI/ppl_swiprolog.cc (1.82),
+	  XSB/ppl_xsb.H (1.30), XSB/ppl_xsb.cc (1.47), YAP/ppl_yap.cc
+	  (1.76): Minimize and maximize with generator point predicates
+	  added.
+
+2004-04-23 Friday 16:10  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Ciao/ppl_ciao.pl (1.63): Interface definitions
+	  for the banner predicate corrected.
+
+2004-04-23 Friday 15:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/ppl_xsb.cc (1.46): Temporary, kludgy
+	  definitions for `bool Prolog_has_unbounded_integers' and `long
+	  Prolog_max_integer'.	Comments added.
+
+2004-04-23 Friday 14:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Ciao/ppl_ciao.cc (1.21),
+	  GNU/ppl_gprolog_sd.cc (1.15), SICStus/ppl_sicstus_sd.cc (1.57),
+	  SWI/ppl_swiprolog.cc (1.81), YAP/ppl_yap.cc (1.75): Define `bool
+	  Prolog_has_unbounded_integers' and `long Prolog_max_integer'.
+	  Comments added.
+
+2004-04-23 Friday 11:16  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: pl_check.pl (1.70), ppl_prolog.icc (1.120),
+	  Ciao/ppl_ciao.pl (1.62), GNU/ppl_gprolog.pl (1.42),
+	  SICStus/ppl_sicstus_sd.cc (1.56), SWI/ppl_swiprolog.cc (1.80),
+	  XSB/ppl_xsb.H (1.29), XSB/ppl_xsb.cc (1.45), YAP/ppl_yap.cc
+	  (1.74): ppl_banner added. pl_check revised so that check_all
+	  calls for checks on all recently added predicates.
+
+2004-04-23 Friday 09:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_prolog.icc (1.119), Ciao/Makefile.am
+	  (1.23), GNU/Makefile.am (1.33), SICStus/Makefile.am (1.39),
+	  SWI/Makefile.am (1.31), XSB/Makefile.am (1.18), YAP/Makefile.am
+	  (1.25): Follow our programming conventions concerning code
+	  formatting.  Do not include "version.hh.in": include "version.hh"
+	  instead.
+
+2004-04-23 Friday 07:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Ciao/ppl_ciao.pl (1.61): Ciao interface for the
+	  additional ppl predicates corrected.
+
+2004-04-22 Thursday 12:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: pl_check.pl (1.69), ppl_prolog.icc (1.118),
+	  Ciao/ppl_ciao.pl (1.60), GNU/ppl_gprolog.pl (1.41),
+	  SICStus/ppl_sicstus_sd.cc (1.55), SWI/ppl_swiprolog.cc (1.79),
+	  XSB/ppl_xsb.H (1.28), XSB/ppl_xsb.cc (1.44), YAP/ppl_yap.cc
+	  (1.73): Added version predicates and maximum dimension predicate.
+
+2004-04-22 Thursday 07:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: pl_check.pl (1.68), ppl_prolog.icc (1.117),
+	  Ciao/ppl_ciao.pl (1.59), GNU/ppl_gprolog.pl (1.40),
+	  SICStus/ppl_sicstus_sd.cc (1.54), SWI/ppl_swiprolog.cc (1.78),
+	  XSB/ppl_xsb.H (1.27), XSB/ppl_xsb.cc (1.43), YAP/ppl_yap.cc
+	  (1.72): Added predicates ppl_Polyhedron_maximize/5 and
+	  ppl_Polyhedron_minimize/5.  A second version of the same
+	  predicates with 6 arguments is still needed.
+
+2004-04-21 Wednesday 15:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: exceptions1.cc (1.37), exceptions2.cc (1.31): We were not
+	  flagging as errors the cases where an exception that must be
+	  thrown is not thrown.
+
+2004-04-21 Wednesday 14:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.68): Remember to explain how to use the Intel C/C++
+	  compiler.
+
+2004-04-21 Wednesday 14:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.195), exceptions3.cc (1.1): New test
+	  program: this shows that we are not checking against attempts of
+	  building polyhedra with a dimension greater than
+	  max_space_dimension() (which results in violated assertions and
+	  who knows what other nasty things).
+
+2004-04-21 Wednesday 14:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: exceptions1.cc (1.36), exceptions2.cc (1.30): Comment
+	  improved.
+
+2004-04-21 Wednesday 10:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: bgp99extrapolation1.cc (1.3), bhz03widening1.cc (1.4),
+	  bhz03widening2.cc (1.4), dualhypercubes.cc (1.4): Avoid defining
+	  things in the global namespace.
+
+2004-04-21 Wednesday 08:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/algorithms.hh (1.26): The function check_containment(const
+	  PH&, const Polyhedra_PowerSet<PH>&s) is now declared before being
+	  defined.
+
+2004-04-21 Wednesday 08:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.100): Use the `%u' conversion specifier
+	  (not `%d') for the conversion of an object of type
+	  ppl_dimension_type.
+
+2004-04-21 Wednesday 08:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h.in (1.26): Unused SWIG stuff removed.
+
+2004-04-19 Monday 14:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Matrix.cc (1.67): Fixed Matrix::permute_columns().
+
+2004-04-19 Monday 14:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (1.89): Avoid useless parentheses.
+
+2004-04-19 Monday 14:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.194), mapdim3.cc (1.1): New test for
+	  Polyhedron::map_dimensions().
+
+2004-04-19 Monday 08:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (1.88): Comment improved.
+
+2004-04-19 Monday 08:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/mapdim2.cc (1.2): Add some variety in the tested
+	  conditions.
+
+2004-04-19 Monday 08:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.84), src/Polyhedron.inlines.hh (1.87): The method
+	  Polyhedron::map_dimensions(const PartialFunction& pfunc) has been
+	  significantly optimized for the case when `pfunc' is a
+	  permutation.	A simple "renaming" of the dimensions is now
+	  extremely cheap.
+
+2004-04-18 Sunday 21:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Matrix.cc (1.66), Matrix.defs.hh (1.54): Added
+	  Matrix::permute_columns().
+
+2004-04-18 Sunday 13:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_nonpublic.cc (1.18): Spacing fixes in comments.
+
+2004-04-18 Sunday 13:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.20): Two messages fixed in
+	  Polyhedron::OK().
+
+2004-04-17 Saturday 23:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Matrix.cc (1.65): Matrix::swap_columns() improved.  Be
+	  consistent in variable names.
+
+2004-04-17 Saturday 20:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Row.defs.hh (1.76): Mathematical objects whose name is more
+	  than one character long are typeset in Roman.
+
+2004-04-17 Saturday 19:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.124): Mathematical objects whose name is
+	  more than one character long are typeset in Roman.  Fixed two
+	  other font mistakes.
+
+2004-04-17 Saturday 16:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Makefile.am (1.193): Put more things in the convenience
+	  library `libppl_tests'.
+
+2004-04-17 Saturday 15:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.192), mapdim2.cc (1.1): New test for
+	  Polyhedron::map_dimensions().
+
+2004-04-16 Friday 16:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.191), boundedh79extrapolation1.cc (1.1):
+	  Test Polyhedron::bounded_H79_extrapolation_assign().
+
+2004-04-06 Tuesday 21:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.22), config.sub (1.21), ltmain.sh (1.18),
+	  Watchdog/config.guess (1.6), Watchdog/config.sub (1.6),
+	  Watchdog/ltmain.sh (1.7): Updated from libtool-1.5.4.
+
+2004-03-06 Saturday 09:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.67), src/ConSys.defs.hh (1.81), src/GenSys.defs.hh
+	  (1.94), src/LinExpression.defs.hh (1.63), src/Matrix.defs.hh
+	  (1.53): Matrix::ascii_dump(), Matrix::ascii_load(),
+	  LinExpression::~LinExpression(), Matrix::~Matrix(),
+	  ConSys::~ConSys(), GenSys::~GenSys() and
+	  ConSys::const_iterator::~const_iterator() are no longer virtual.
+
+2004-03-04 Thursday 07:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Constraint.defs.hh (1.86):
+	  Constraint::Constraint(LinExpression& e) made explicit.
+
+2004-02-25 Wednesday 17:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.66): Added a (monster) configure command line to compile
+	  with Comeau C/C++ compiler.
+
+2004-02-25 Wednesday 14:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.65): Started adding instructions on how to compile with
+	  other C++ compilers.
+
+2004-02-24 Tuesday 19:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h.in (1.25): Fixed the comments for
+	  ppl_Polyhedron_minimize() and ppl_Polyhedron_maximize().
+
+2004-02-22 Sunday 18:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: AskTell.defs.hh (1.20), AskTell.inlines.hh (1.21):
+	  AskTell<CS>::add_constraints() now takes a ConSys by const
+	  reference.
+
+2004-02-22 Sunday 18:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedra_PowerSet.inlines.hh (1.29): Avoid making
+	  unnecessary copies.
+
+2004-02-22 Sunday 17:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron_public.cc (1.19), Polyhedron_widenings.cc
+	  (1.15): Use the add_recycled_*() methods whenever necessary or
+	  desirable.
+
+2004-02-22 Sunday 17:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: C_Polyhedron.cc (1.8), NNC_Polyhedron.cc (1.12),
+	  Polyhedra_PowerSet.inlines.hh (1.28), Polyhedron_public.cc
+	  (1.18), Polyhedron_widenings.cc (1.14): Use the add_recycled_*()
+	  methods whenever necessary or desirable.
+
+2004-02-22 Sunday 17:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.99): The function snprintf() is not in
+	  standard C++: use sprintf() instead, but play safely anyway.
+
+2004-02-22 Sunday 16:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h.in (1.24): Non-standard trailing comma
+	  removed from enumeration.
+
+2004-02-22 Sunday 16:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.98): Meaningless type qualifiers
+	  removed.
+
+2004-02-22 Sunday 16:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.83), TODO (1.64), interfaces/C/ppl_c.cc (1.97),
+	  interfaces/C/ppl_c.h.in (1.23), src/Polyhedron.defs.hh (1.223),
+	  src/Polyhedron_public.cc (1.17): The methods void
+	  Polyhedron::add_constraints(ConSys& cs), void
+	  Polyhedron::add_generators(GenSys& gs), bool
+	  Polyhedron::add_constraints_and_minimize(ConSys& cs), and bool
+	  Polyhedron::add_generators_and_minimize(GenSys& gs) have been
+	  renamed void Polyhedron::add_recycled_constraints(ConSys& cs),
+	  void Polyhedron::add_recycled_generators(GenSys& gs), bool
+	  Polyhedron::add_recycled_constraints_and_minimize(ConSys& cs),
+	  and bool Polyhedron::add_recycled_generators_and_minimize(GenSys&
+	  gs), respectively. At the same time, the methods void
+	  Polyhedron::add_constraints(const ConSys& cs), void
+	  Polyhedron::add_generators(const GenSys& gs), bool
+	  Polyhedron::add_constraints_and_minimize(const ConSys& cs), and
+	  bool Polyhedron::add_generators_and_minimize(const GenSys& gs)
+	  have been added. Corresponding changes have been made to the C
+	  interface.
+
+2004-02-22 Sunday 15:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.rpath (1.2): Support Comeau's C/C++ compiler.
+
+2004-02-16 Monday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Row.defs.hh (1.75): Comments fixed.
+
+2004-02-12 Thursday 15:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Matrix.defs.hh (1.52), Matrix.inlines.hh (1.36): Do not put
+	  code into files named *.defs.hh.
+
+2004-02-09 Monday 08:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedra_PowerSet.inlines.hh (1.27): All names that are not
+	  dependent on template parameters are bound to their present
+	  definitions when parsing a template function or class: make sure
+	  elements of the base class are correctly referred to.
+
+2004-02-08 Sunday 21:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.110): Fixed some error messages.
+
+2004-02-08 Sunday 21:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/AskTell.inlines.hh (1.20): Missing `typename' added.
+
+2004-02-06 Friday 11:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.109): Disable the interface/OCaml directory, for
+	  the time being.
+
+2004-02-05 Thursday 22:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Makefile.am (1.9): Ignore the OCaml subdirectory, for
+	  the time being.
+
+2004-02-05 Thursday 22:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.108): Version number bumped.
+
+2004-02-05 Thursday 21:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.96): Output functions fixed.
+
+2004-02-05 Thursday 21:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.95), ppl_c.h.in (1.22): New functions
+	  ppl_io_print_variable() and ppl_io_fprint_variable().
+
+2004-02-05 Thursday 21:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.82), interfaces/C/ppl_c.cc (1.94), src/Variable.cc
+	  (1.16), src/Variable.defs.hh (1.36), src/Variable.inlines.hh
+	  (1.18), tests/writevariable1.cc (1.10):
+	  Variable::Output_Function_Type renamed
+	  Variable::output_function_type.
+
+2004-02-05 Thursday 20:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.93): cxx_Variable_output_function()
+	  partly fixed.
+
+2004-02-05 Thursday 20:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Variable.defs.hh (1.35): Comment corrected.
+
+2004-02-05 Thursday 20:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.92), ppl_c.h.in (1.21): New functions
+	  ppl_io_set_variable_output_function() and
+	  ppl_io_get_variable_output_function().
+
+2004-02-05 Thursday 19:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.91): Implemented most of the machinery
+	  allowing the user to select its preferred output function for
+	  Variable objects,
+
+2004-02-05 Thursday 16:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h.in (1.20): Make Doxygen comments uniformly
+	  brief.
+
+2004-02-05 Thursday 15:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/Makefile.am (1.7): Add `-I../C' to
+	  libppl_ocaml_c_la_CPPFLAGS.
+
+2004-02-05 Thursday 14:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.90), ppl_c.h.in (1.19): Documentation
+	  improvements.
+
+2004-02-05 Thursday 14:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: user-browse.doxyconf-latex.in (1.19),
+	  user-print.doxyconf-latex.in (1.19), user.doxyconf-html.in
+	  (1.21): Add PPL_DECLARE_PRINT_FUNCTIONS to EXPAND_AS_DEFINED.
+
+2004-02-05 Thursday 14:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h.in (1.18): Make sure not to leave
+	  unnecessary preprocessor symbols behind.
+
+2004-02-05 Thursday 14:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.89), ppl_c.h.in (1.17): A first,
+	  tentative implementation of the new print functions.	New error
+	  codes PPL_STDIO_ERROR and PPL_ARITHMETIC_OVERFLOW.
+
+2004-02-05 Thursday 09:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h.in (1.16): Added a kludge to make the
+	  documentation on how to use the C interface easier to find.
+
+2004-02-04 Wednesday 18:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h.in (1.15): A couple of corrections to the
+	  usage instructions.
+
+2004-02-04 Wednesday 18:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/ppl_c.h.in (1.14): Corrections to the explanation on
+	  using the C interface done.
+
+2004-02-04 Wednesday 18:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h.in (1.13): Two minor fixes.
+
+2004-02-04 Wednesday 16:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/C/ppl_c.h.in (1.12): The comment on how to use the C
+	  interface revised.
+
+2004-02-04 Wednesday 14:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h.in (1.11): Documentation on how to use the C
+	  interface finished (for the time being, at least).
+
+2004-02-04 Wednesday 14:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h.in (1.10): Finished the section on linking.
+
+2004-02-04 Wednesday 12:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h.in (1.9): Started explaining how to link.
+
+2004-02-04 Wednesday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h.in (1.8): Better explained how to use the -I
+	  (or similar) compiler option.
+
+2004-02-04 Wednesday 11:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h.in (1.7): Finished dealing with version
+	  checking.
+
+2004-02-03 Tuesday 22:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h.in (1.6): Fix thinko in Doxygen's comments.
+
+2004-02-03 Tuesday 22:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/version.cc (1.4): Put new functions into the PPL namespace.
+
+2004-02-03 Tuesday 22:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.88), ppl_c.h.in (1.5): New functions:
+	  ppl_version_major(), ppl_version_minor(), ppl_version_revision(),
+	  and ppl_version_beta().
+
+2004-02-03 Tuesday 22:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: version.cc (1.3), version.hh.in (1.7): New functions:
+	  version_major(), version_minor(), version_revision(), and
+	  version_beta().
+
+2004-02-03 Tuesday 14:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.107): Some vertical space added.
+
+2004-02-03 Tuesday 14:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h.in (1.4): New macro PPL_VERSION added.
+
+2004-02-03 Tuesday 10:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h.in (1.3): Started dealing with version
+	  checking.
+
+2004-02-03 Tuesday 09:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: Makefile.am (1.16), ppl_c.cc (1.87), ppl_c.h.in
+	  (1.2): New C interface functions ppl_version() and ppl_banner().
+
+2004-02-03 Tuesday 09:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/version.hh.in (1.6): Tell emacs that this is C++.
+
+2004-02-03 Tuesday 09:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.106), doc/Makefile.am (1.25),
+	  doc/devref-browse.doxyconf-latex.in (1.35),
+	  doc/devref-print.doxyconf-latex.in (1.35),
+	  doc/devref.doxyconf-html.in (1.36),
+	  doc/user-browse.doxyconf-latex.in (1.18),
+	  doc/user-print.doxyconf-latex.in (1.18),
+	  doc/user.doxyconf-html.in (1.20), interfaces/C/ppl_c.h (1.100),
+	  interfaces/C/ppl_c.h.in (1.1), interfaces/OCaml/Makefile.am
+	  (1.6): The C interface's header file `ppl_c.h' is now generated
+	  at configuration time from `ppl_c.h.in' so as to carry the proper
+	  version information.
+
+2004-02-02 Monday 18:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.86), ppl_c.h (1.99): Now
+	  ppl_initialize() and ppl_finalize() return
+	  PPL_ERROR_INVALID_ARGUMENT if called when they should not.
+
+2004-02-02 Monday 14:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h (1.98): Explain initialization and
+	  finalization in the C interface.
+
+2004-02-02 Monday 08:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h (1.97): Explained what to do in case
+	  `#include <ppl_c.h>' seems not to work.  Explained what opaque
+	  data types are and why we use them.
+
+2004-02-01 Sunday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h (1.96): Explain the usage of the header file
+	  for the C interface and its name space.
+
+2004-02-01 Sunday 10:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: gpl.dox (1.6), gpl.tex (1.2): Avoid excessive
+	  capitalization.
+
+2004-02-01 Sunday 09:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: devref.tex (1.13), fdl.dox (1.6), fdl.tex (1.2), user.tex
+	  (1.14): The documentation is now distributed under the terms of
+	  version 1.2 of the GNU Free Documentation License.
+
+2004-01-28 Wednesday 18:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/.cvsignore (1.2): Updated.
+
+2004-01-28 Wednesday 18:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/Makefile.am (1.5): Seriously hacked so that
+	  files are created in the right places.
+
+2004-01-28 Wednesday 17:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/gmp.h (1.1): Hacked version of the main C header
+	  file of GMP 4.1.2.  This is to get around some bugs and
+	  limitations of SWIG 1.3.21.
+
+2004-01-28 Wednesday 09:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/Makefile.am (1.8), Watchdog/README (1.6),
+	  Watchdog/Watchdog.cc (1.14), Watchdog/Watchdog.defs.hh (1.12),
+	  Watchdog/Watchdog.inlines.hh (1.10), Watchdog/Watchdog.types.hh
+	  (1.5), Watchdog/configure.ac (1.19), Watchdog/pwl_header.top
+	  (1.4), doc/devref.tex (1.12), doc/ppl.sty (1.13), doc/user.tex
+	  (1.13), interfaces/Prolog/XSB/ppl_xsb.H (1.26),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.42): Update copyright years.
+
+2004-01-27 Tuesday 23:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.23), README (1.17), configure.ac (1.105),
+	  doc/Makefile.am (1.24), doc/definitions.dox (1.123),
+	  interfaces/Makefile.am (1.8), interfaces/C/Makefile.am (1.15),
+	  interfaces/C/ppl_c.cc (1.85), interfaces/C/ppl_c.h (1.95),
+	  interfaces/OCaml/Makefile.am (1.4),
+	  interfaces/OCaml/ppl_ocaml_c.swg (1.2),
+	  interfaces/Prolog/Makefile.am (1.24),
+	  interfaces/Prolog/Prolog_interface.dox (1.107),
+	  interfaces/Prolog/clpq.pl (1.15), interfaces/Prolog/clpq2.pl
+	  (1.26), interfaces/Prolog/exceptions.hh (1.8),
+	  interfaces/Prolog/expected (1.6), interfaces/Prolog/expected2
+	  (1.11), interfaces/Prolog/pl_check.pl (1.67),
+	  interfaces/Prolog/ppl_prolog.icc (1.116),
+	  interfaces/Prolog/track_allocation.hh (1.13),
+	  interfaces/Prolog/Ciao/Makefile.am (1.22),
+	  interfaces/Prolog/Ciao/ciao_clpq.pl (1.8),
+	  interfaces/Prolog/Ciao/ciao_clpq2.pl (1.3),
+	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.20),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.58),
+	  interfaces/Prolog/GNU/Makefile.am (1.32),
+	  interfaces/Prolog/GNU/gnu_pl_check.pl (1.2),
+	  interfaces/Prolog/GNU/gp_clpq.pl (1.7),
+	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.39),
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.14),
+	  interfaces/Prolog/SICStus/Makefile.am (1.38),
+	  interfaces/Prolog/SICStus/ppl_sicstus.pl (1.23),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.53),
+	  interfaces/Prolog/SICStus/sicstus_cfli.cc (1.3),
+	  interfaces/Prolog/SICStus/sicstus_cfli.h (1.4),
+	  interfaces/Prolog/SICStus/sicstus_cfli.ic (1.7),
+	  interfaces/Prolog/SICStus/sp_clpq.pl (1.9),
+	  interfaces/Prolog/SWI/Makefile.am (1.30),
+	  interfaces/Prolog/SWI/pl_clpq.cc (1.7),
+	  interfaces/Prolog/SWI/pl_clpq.pl (1.5),
+	  interfaces/Prolog/SWI/ppl_pl.cc (1.7),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.77),
+	  interfaces/Prolog/SWI/ppl_swiprolog.pl (1.3),
+	  interfaces/Prolog/XSB/Makefile.am (1.17),
+	  interfaces/Prolog/XSB/expected (1.7),
+	  interfaces/Prolog/XSB/expected2 (1.9),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.41),
+	  interfaces/Prolog/XSB/xsb_clpq.P (1.8),
+	  interfaces/Prolog/XSB/xsb_clpq2.P (1.6),
+	  interfaces/Prolog/YAP/Makefile.am (1.24),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.71),
+	  interfaces/Prolog/YAP/ppl_yap.pl (1.7),
+	  interfaces/Prolog/YAP/yap_clpq.pl (1.7),
+	  interfaces/Prolog/YAP/yap_clpq2.pl (1.3),
+	  interfaces/Prolog/YAP/yap_pl_check.pl (1.3), m4/Makefile.am
+	  (1.10), m4/ac_check_gmp.m4 (1.16), m4/ac_cxx_attribute_weak.m4
+	  (1.3), m4/ac_cxx_flexible_arrays.m4 (1.8), src/AskTell.defs.hh
+	  (1.19), src/AskTell.inlines.hh (1.19), src/AskTell.types.hh
+	  (1.6), src/BoundingBox.cc (1.8), src/BoundingBox.defs.hh (1.11),
+	  src/BoundingBox.inlines.hh (1.11), src/BoundingBox.types.hh
+	  (1.6), src/C_Polyhedron.cc (1.7), src/C_Polyhedron.defs.hh
+	  (1.20), src/C_Polyhedron.inlines.hh (1.14),
+	  src/C_Polyhedron.types.hh (1.7), src/ConSys.cc (1.67),
+	  src/ConSys.defs.hh (1.80), src/ConSys.inlines.hh (1.31),
+	  src/ConSys.types.hh (1.7), src/Constraint.cc (1.40),
+	  src/Constraint.defs.hh (1.85), src/Constraint.inlines.hh (1.48),
+	  src/Constraint.types.hh (1.7), src/Determinate.defs.hh (1.35),
+	  src/Determinate.inlines.hh (1.36), src/Determinate.types.hh
+	  (1.5), src/GenSys.cc (1.85), src/GenSys.defs.hh (1.93),
+	  src/GenSys.inlines.hh (1.32), src/GenSys.types.hh (1.7),
+	  src/Generator.cc (1.48), src/Generator.defs.hh (1.85),
+	  src/Generator.inlines.hh (1.42), src/Generator.types.hh (1.7),
+	  src/Init.cc (1.10), src/Init.defs.hh (1.10), src/Init.types.hh
+	  (1.6), src/Integer.cc (1.4), src/Integer.defs.hh (1.11),
+	  src/Integer.inlines.hh (1.10), src/Integer.types.hh (1.8),
+	  src/Interval.cc (1.9), src/Interval.defs.hh (1.16),
+	  src/Interval.inlines.hh (1.11), src/Interval.types.hh (1.7),
+	  src/LinExpression.cc (1.20), src/LinExpression.defs.hh (1.62),
+	  src/LinExpression.inlines.hh (1.29), src/LinExpression.types.hh
+	  (1.7), src/Makefile.am (1.68), src/Matrix.cc (1.64),
+	  src/Matrix.defs.hh (1.51), src/Matrix.inlines.hh (1.35),
+	  src/Matrix.types.hh (1.7), src/NNC_Polyhedron.cc (1.11),
+	  src/NNC_Polyhedron.defs.hh (1.23), src/NNC_Polyhedron.inlines.hh
+	  (1.16), src/NNC_Polyhedron.types.hh (1.7), src/Ph_Status.cc
+	  (1.4), src/Ph_Status.idefs.hh (1.4), src/Ph_Status.inlines.hh
+	  (1.4), src/Poly_Con_Relation.cc (1.8),
+	  src/Poly_Con_Relation.defs.hh (1.23),
+	  src/Poly_Con_Relation.inlines.hh (1.11),
+	  src/Poly_Con_Relation.types.hh (1.6), src/Poly_Gen_Relation.cc
+	  (1.8), src/Poly_Gen_Relation.defs.hh (1.21),
+	  src/Poly_Gen_Relation.inlines.hh (1.11),
+	  src/Poly_Gen_Relation.types.hh (1.6),
+	  src/Polyhedra_PowerSet.defs.hh (1.19),
+	  src/Polyhedra_PowerSet.inlines.hh (1.26),
+	  src/Polyhedra_PowerSet.types.hh (1.2), src/Polyhedron.defs.hh
+	  (1.222), src/Polyhedron.inlines.hh (1.86),
+	  src/Polyhedron.types.hh (1.10), src/Polyhedron_chdims.cc (1.8),
+	  src/Polyhedron_nonpublic.cc (1.17), src/Polyhedron_public.cc
+	  (1.16), src/Polyhedron_widenings.cc (1.13), src/PowerSet.defs.hh
+	  (1.46), src/PowerSet.inlines.hh (1.55), src/PowerSet.types.hh
+	  (1.6), src/Row.cc (1.60), src/Row.defs.hh (1.74),
+	  src/Row.inlines.hh (1.42), src/Row.types.hh (1.7),
+	  src/SatMatrix.cc (1.28), src/SatMatrix.defs.hh (1.33),
+	  src/SatMatrix.inlines.hh (1.21), src/SatMatrix.types.hh (1.7),
+	  src/SatRow.cc (1.22), src/SatRow.defs.hh (1.32),
+	  src/SatRow.inlines.hh (1.28), src/SatRow.types.hh (1.7),
+	  src/Topology.hh (1.8), src/Variable.cc (1.15),
+	  src/Variable.defs.hh (1.34), src/Variable.inlines.hh (1.17),
+	  src/Variable.types.hh (1.7), src/algorithms.hh (1.25),
+	  src/conversion.cc (1.51), src/globals.cc (1.13), src/globals.hh
+	  (1.34), src/initializer.hh (1.7), src/minimize.cc (1.35),
+	  src/ppl_header.top (1.7), src/simplify.cc (1.33),
+	  src/statistics.hh (1.3), src/version.cc (1.2), src/version.hh.in
+	  (1.5), tests/BBox.cc (1.4), tests/BBox.hh (1.3),
+	  tests/CbecomesNNC1.cc (1.5), tests/Makefile.am (1.190),
+	  tests/NNCminimize1.cc (1.10), tests/NNCminimize2.cc (1.10),
+	  tests/NNCminimize3.cc (1.10), tests/NNCminimize4.cc (1.12),
+	  tests/NNCminimize5.cc (1.9), tests/NNCminimize6.cc (1.11),
+	  tests/PFunction.cc (1.3), tests/PFunction.hh (1.3),
+	  tests/addconstraint1.cc (1.5), tests/addconstraint2.cc (1.4),
+	  tests/addconstraint3.cc (1.4), tests/addconstraints1.cc (1.11),
+	  tests/addconstraints10.cc (1.10), tests/addconstraints11.cc
+	  (1.11), tests/addconstraints12.cc (1.4),
+	  tests/addconstraints13.cc (1.6), tests/addconstraints2.cc (1.19),
+	  tests/addconstraints3.cc (1.9), tests/addconstraints4.cc (1.11),
+	  tests/addconstraints5.cc (1.12), tests/addconstraints6.cc (1.13),
+	  tests/addconstraints7.cc (1.12), tests/addconstraints8.cc (1.12),
+	  tests/addconstraints9.cc (1.13), tests/adddimensions1.cc (1.14),
+	  tests/adddimensions10.cc (1.7), tests/adddimensions11.cc (1.5),
+	  tests/adddimensions12.cc (1.4), tests/adddimensions13.cc (1.3),
+	  tests/adddimensions2.cc (1.10), tests/adddimensions3.cc (1.12),
+	  tests/adddimensions4.cc (1.10), tests/adddimensions5.cc (1.8),
+	  tests/adddimensions6.cc (1.8), tests/adddimensions7.cc (1.8),
+	  tests/adddimensions8.cc (1.6), tests/adddimensions9.cc (1.7),
+	  tests/addgenerator1.cc (1.5), tests/addgenerator2.cc (1.5),
+	  tests/addgenerator3.cc (1.4), tests/addgenerator4.cc (1.5),
+	  tests/addgenerators1.cc (1.12), tests/addgenerators10.cc (1.4),
+	  tests/addgenerators11.cc (1.6), tests/addgenerators12.cc (1.6),
+	  tests/addgenerators13.cc (1.2), tests/addgenerators2.cc (1.12),
+	  tests/addgenerators3.cc (1.12), tests/addgenerators4.cc (1.12),
+	  tests/addgenerators5.cc (1.12), tests/addgenerators6.cc (1.12),
+	  tests/addgenerators7.cc (1.9), tests/addgenerators8.cc (1.7),
+	  tests/addgenerators9.cc (1.6), tests/affineimage1.cc (1.12),
+	  tests/affineimage2.cc (1.11), tests/affineimage3.cc (1.4),
+	  tests/affineimage4.cc (1.4), tests/affineimage5.cc (1.5),
+	  tests/affineimage6.cc (1.4), tests/affineimage7.cc (1.4),
+	  tests/affineimage8.cc (1.8), tests/affinepreimage1.cc (1.11),
+	  tests/affinepreimage10.cc (1.8), tests/affinepreimage2.cc (1.11),
+	  tests/affinepreimage3.cc (1.11), tests/affinepreimage4.cc (1.12),
+	  tests/affinepreimage5.cc (1.4), tests/affinepreimage6.cc (1.5),
+	  tests/affinepreimage7.cc (1.4), tests/affinepreimage8.cc (1.4),
+	  tests/affinepreimage9.cc (1.5), tests/affinetrans.cc (1.14),
+	  tests/append1.cc (1.22), tests/append2.cc (1.22),
+	  tests/ascii_dump_load1.cc (1.13), tests/ascii_dump_load2.cc
+	  (1.11), tests/ascii_dump_load3.cc (1.14),
+	  tests/ascii_dump_load4.cc (1.14), tests/ascii_dump_load5.cc
+	  (1.10), tests/ascii_dump_load6.cc (1.7),
+	  tests/ascii_dump_load7.cc (1.7), tests/bgp99extrapolation1.cc
+	  (1.2), tests/bhrz03widening1.cc (1.4), tests/bhrz03widening10.cc
+	  (1.4), tests/bhrz03widening11.cc (1.4), tests/bhrz03widening12.cc
+	  (1.4), tests/bhrz03widening13.cc (1.4), tests/bhrz03widening14.cc
+	  (1.4), tests/bhrz03widening15.cc (1.6), tests/bhrz03widening16.cc
+	  (1.4), tests/bhrz03widening17.cc (1.4), tests/bhrz03widening18.cc
+	  (1.4), tests/bhrz03widening19.cc (1.4), tests/bhrz03widening2.cc
+	  (1.6), tests/bhrz03widening3.cc (1.6), tests/bhrz03widening4.cc
+	  (1.4), tests/bhrz03widening5.cc (1.4), tests/bhrz03widening6.cc
+	  (1.5), tests/bhrz03widening7.cc (1.5), tests/bhrz03widening8.cc
+	  (1.4), tests/bhrz03widening9.cc (1.6), tests/bhz03widening1.cc
+	  (1.3), tests/bhz03widening2.cc (1.3), tests/bounded1.cc (1.13),
+	  tests/boundingbox1.cc (1.33), tests/boundingbox2.cc (1.18),
+	  tests/boundingbox3.cc (1.9), tests/boundingbox4.cc (1.6),
+	  tests/bounds1.cc (1.6), tests/bounds2.cc (1.6),
+	  tests/concatenate1.cc (1.8), tests/concatenate2.cc (1.8),
+	  tests/concatenate3.cc (1.7), tests/concatenate4.cc (1.6),
+	  tests/concatenate5.cc (1.4), tests/concatenate6.cc (1.6),
+	  tests/constraints1.cc (1.6), tests/constraints2.cc (1.6),
+	  tests/constraints3.cc (1.6), tests/constraints4.cc (1.6),
+	  tests/contains1.cc (1.5), tests/contains2.cc (1.2),
+	  tests/contains3.cc (1.2), tests/contains4.cc (1.2),
+	  tests/contains5.cc (1.2), tests/disjoint1.cc (1.7),
+	  tests/disjoint2.cc (1.8), tests/disjoint3.cc (1.7),
+	  tests/dualhypercubes.cc (1.3), tests/ehandlers.cc (1.5),
+	  tests/ehandlers.hh (1.8), tests/empty1.cc (1.14),
+	  tests/exceptions1.cc (1.35), tests/exceptions2.cc (1.29),
+	  tests/files.cc (1.5), tests/files.hh (1.5),
+	  tests/generalizedaffineimage1.cc (1.8),
+	  tests/generalizedaffineimage10.cc (1.7),
+	  tests/generalizedaffineimage11.cc (1.6),
+	  tests/generalizedaffineimage12.cc (1.5),
+	  tests/generalizedaffineimage2.cc (1.7),
+	  tests/generalizedaffineimage3.cc (1.8),
+	  tests/generalizedaffineimage4.cc (1.6),
+	  tests/generalizedaffineimage5.cc (1.6),
+	  tests/generalizedaffineimage6.cc (1.6),
+	  tests/generalizedaffineimage7.cc (1.8),
+	  tests/generalizedaffineimage8.cc (1.6),
+	  tests/generalizedaffineimage9.cc (1.6), tests/generators1.cc
+	  (1.13), tests/generators2.cc (1.9), tests/generators3.cc (1.5),
+	  tests/generators4.cc (1.5), tests/generators5.cc (1.5),
+	  tests/generators6.cc (1.6), tests/h79widening1.cc (1.6),
+	  tests/h79widening2.cc (1.7), tests/h79widening3.cc (1.7),
+	  tests/h79widening4.cc (1.4), tests/h79widening5.cc (1.5),
+	  tests/h79widening6.cc (1.5), tests/h79widening7.cc (1.3),
+	  tests/intersection1.cc (1.6), tests/intersection10.cc (1.6),
+	  tests/intersection11.cc (1.6), tests/intersection2.cc (1.10),
+	  tests/intersection3.cc (1.7), tests/intersection4.cc (1.7),
+	  tests/intersection5.cc (1.7), tests/intersection6.cc (1.7),
+	  tests/intersection7.cc (1.6), tests/intersection8.cc (1.5),
+	  tests/intersection9.cc (1.5),
+	  tests/limitedbhrz03extrapolation1.cc (1.3),
+	  tests/limitedh79extrapolation1.cc (1.3),
+	  tests/limitedh79extrapolation2.cc (1.3),
+	  tests/limitedh79extrapolation3.cc (1.3),
+	  tests/limitedh79extrapolation4.cc (1.3),
+	  tests/linearpartition1.cc (1.13), tests/linearpartition2.cc
+	  (1.13), tests/linearpartition3.cc (1.13), tests/linexpression1.cc
+	  (1.4), tests/mapdim1.cc (1.2), tests/max_min1.cc (1.4),
+	  tests/max_min2.cc (1.4), tests/mc91.cc (1.14), tests/memory1.cc
+	  (1.20), tests/minconstraints1.cc (1.5), tests/minconstraints2.cc
+	  (1.5), tests/minconstraints3.cc (1.4), tests/minconstraints4.cc
+	  (1.8), tests/mingenerators1.cc (1.5), tests/mingenerators2.cc
+	  (1.4), tests/mingenerators3.cc (1.4), tests/onepoint.cc (1.10),
+	  tests/permute.cc (1.31), tests/polydifference1.cc (1.7),
+	  tests/polydifference2.cc (1.9), tests/polydifference3.cc (1.4),
+	  tests/polydifference4.cc (1.5), tests/polydifference5.cc (1.6),
+	  tests/polydifference6.cc (1.6), tests/polydifference7.cc (1.5),
+	  tests/polyhull1.cc (1.8), tests/polyhull10.cc (1.4),
+	  tests/polyhull2.cc (1.7), tests/polyhull3.cc (1.7),
+	  tests/polyhull4.cc (1.6), tests/polyhull5.cc (1.5),
+	  tests/polyhull6.cc (1.5), tests/polyhull7.cc (1.4),
+	  tests/polyhull8.cc (1.5), tests/polyhull9.cc (1.6),
+	  tests/ppl_test.hh (1.4), tests/print.cc (1.10), tests/print.hh
+	  (1.14), tests/randphull1.cc (1.10), tests/randphull2.cc (1.6),
+	  tests/relations1.cc (1.10), tests/relations10.cc (1.6),
+	  tests/relations11.cc (1.6), tests/relations12.cc (1.5),
+	  tests/relations13.cc (1.5), tests/relations14.cc (1.5),
+	  tests/relations15.cc (1.5), tests/relations16.cc (1.5),
+	  tests/relations17.cc (1.7), tests/relations18.cc (1.5),
+	  tests/relations19.cc (1.6), tests/relations2.cc (1.11),
+	  tests/relations3.cc (1.11), tests/relations4.cc (1.11),
+	  tests/relations5.cc (1.11), tests/relations6.cc (1.10),
+	  tests/relations7.cc (1.10), tests/relations8.cc (1.10),
+	  tests/relations9.cc (1.12), tests/removedim1.cc (1.11),
+	  tests/removedim10.cc (1.3), tests/removedim2.cc (1.15),
+	  tests/removedim3.cc (1.11), tests/removedim4.cc (1.12),
+	  tests/removedim5.cc (1.10), tests/removedim6.cc (1.13),
+	  tests/removedim7.cc (1.9), tests/removedim8.cc (1.6),
+	  tests/removedim9.cc (1.6), tests/smm1.cc (1.15),
+	  tests/timeelapse1.cc (1.8), tests/timeelapse2.cc (1.8),
+	  tests/timeelapse3.cc (1.8), tests/timeelapse4.cc (1.8),
+	  tests/timeelapse5.cc (1.9), tests/timeelapse6.cc (1.4),
+	  tests/timeelapse7.cc (1.4), tests/timeelapse8.cc (1.5),
+	  tests/timings.cc (1.4), tests/timings.hh (1.4),
+	  tests/topclosed1.cc (1.7), tests/topclosed2.cc (1.6),
+	  tests/topclosed3.cc (1.8), tests/topclosure1.cc (1.7),
+	  tests/topclosure2.cc (1.4), tests/topclosure3.cc (1.4),
+	  tests/topclosure4.cc (1.6), tests/universe1.cc (1.10),
+	  tests/universe2.cc (1.11), tests/universe3.cc (1.11),
+	  tests/universe4.cc (1.11), tests/universe5.cc (1.12),
+	  tests/universe6.cc (1.9), tests/watchdog1.cc (1.18),
+	  tests/writeconsys1.cc (1.7), tests/writegensys1.cc (1.8),
+	  tests/writegensys2.cc (1.8), tests/writegensys3.cc (1.7),
+	  tests/writepolyhedron1.cc (1.7), tests/writepolyhedron2.cc (1.8),
+	  tests/writepolyhedron3.cc (1.7), tests/writerelation1.cc (1.7),
+	  tests/writevariable1.cc (1.9): Update copyright years.
+
+2004-01-27 Tuesday 23:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/Makefile.am (1.3): Some little progress.
+
+2004-01-27 Tuesday 23:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/: ppl_c.swg (1.2), ppl_ocaml_c.swg (1.1):
+	  Renamed.
+
+2004-01-27 Tuesday 17:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* compile (1.1), Watchdog/compile (1.1): Added from Automake 1.8.2.
+
+2004-01-26 Monday 19:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/Makefile.am (1.2): Avoid running swig multiple
+	  times.
+
+2004-01-26 Monday 16:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.104), interfaces/Makefile.am (1.7),
+	  interfaces/OCaml/.cvsignore (1.1), interfaces/OCaml/Makefile.am
+	  (1.1): Directory `interfaces/OCaml' activated.
+
+2004-01-26 Monday 16:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/Makefile.am (1.23): It is no longer necessary to specify `-d
+	  Validate' on the Doxygen's command line.
+
+2004-01-26 Monday 09:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h (1.94): Temporarily avoid splitting
+	  preprocessor directives across multiple lines.  This is to get
+	  around a bug in SWIG 1.3.21.
+
+2004-01-26 Monday 08:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h (1.93): Spacing fixed.
+
+2004-01-25 Sunday 23:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_c.swg (1.1): SWIG module declaration for the
+	  OCaml interface to the C interface.
+
+2004-01-25 Sunday 23:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h (1.92): Explain to SWIG how to convert an
+	  OCaml array to a C array plus length.
+
+2004-01-25 Sunday 23:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.67): Avoid repeating the name of the target
+	  file.
+
+2004-01-25 Sunday 22:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* depcomp (1.6), install-sh (1.7), missing (1.7), mkinstalldirs
+	  (1.6), Watchdog/depcomp (1.4), Watchdog/install-sh (1.4),
+	  Watchdog/missing (1.3), Watchdog/mkinstalldirs (1.2): Update from
+	  Automake.
+
+2004-01-25 Sunday 22:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.103): Check for SWIG added.
+
+2004-01-25 Sunday 22:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.21), config.sub (1.20), Watchdog/config.guess
+	  (1.5), Watchdog/config.sub (1.5): Updated from config.
+
+2004-01-25 Sunday 22:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.17), Watchdog/ltmain.sh (1.6): Updated from Libtool
+	  1.5.2.
+
+2004-01-23 Friday 21:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.221): Implement a new method to
+	  differentiate between the inclusion of Ph_Status.idefs.hh and the
+	  inclusion of all other header files.	This gets around a bug in
+	  doxygen.
+
+2004-01-23 Friday 14:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.220): Documentation for
+	  Polyhedron::max_min() fixed.
+
+2004-01-21 Wednesday 13:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/dualhypercubes.cc (1.2): Corrected an error and made
+	  silent.
+
+2004-01-20 Tuesday 08:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am (1.189), dualhypercubes.cc (1.1): Put under
+	  CVS control.
+
+2003-12-19 Friday 14:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: ppl_header.bottom (1.5), ppl_header.top (1.6): Include
+	  <cassert> after restoring the status of NDEBUG: this should
+	  finally solve the NDEBUG problem.
+
+2003-12-17 Wednesday 15:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl_header.middle (1.3): GCC versions prior to 3.0 are no
+	  longer supported.
+
+2003-12-15 Monday 23:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.63): See if we can provide some guarantee on the maximum
+	  number of times we are calling the methods of the argument of
+	  Polyhedron::map_dimensions(const PartialFunction&).
+
+2003-12-05 Friday 11:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/Watchdog.cc (1.13): Do not use the ITIMER_PROF timer
+	  when profiling.
+
+2003-12-05 Friday 11:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.102): Define the symbol `PROFILING' when
+	  profiling is enabled.
+
+2003-12-04 Thursday 10:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref-browse.doxyconf-latex.in (1.34),
+	  devref-print.doxyconf-latex.in (1.34), devref.doxyconf-html.in
+	  (1.35): The source files for the Status class are now called
+	  Ph_Status.*.
+
+2003-12-02 Tuesday 21:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/: lib-ld.m4 (1.2), lib-prefix.m4 (1.2): Updated from gettext
+	  0.13.
+
+2003-11-19 Wednesday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.62): Remember to implement void
+	  Polyhedron::envelope_assign(const Polyhedron& y).
+
+2003-11-12 Wednesday 16:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.22), acinclude.m4 (1.6): Implement a much simpler
+	  way of telling aclocal where to look for `.m4' files (in
+	  addition, `sinclude', which we used in `acinclude.m4', is an
+	  obsolete name for `m4_include').
+
+2003-11-09 Sunday 00:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/globals.hh (1.33): Comment for compute_capacity() improved.
+	  Added an alternative implementation (commented out) characterized
+	  a speculation factor of 1.5.
+
+2003-11-07 Friday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Row.defs.hh (1.73): Including Integer.types.hh is not enough:
+	  include Integer.defs.hh.
+
+2003-11-04 Tuesday 17:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.20), config.sub (1.19), Watchdog/config.guess
+	  (1.4), Watchdog/config.sub (1.4): Updated.
+
+2003-10-30 Thursday 21:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Ph_Status.cc (1.3), Polyhedron_public.cc (1.15): OK()
+	  methods must print their own error messages (unless NDEBUG is
+	  defined).
+
+2003-10-29 Wednesday 06:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_gmp.m4 (1.15): In case libgmp and libgmpxx are
+	  installed in the same location, allow to specify the prefix for
+	  either one, the other being set automatically.
+
+2003-10-29 Wednesday 06:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/: ac_cxx_attribute_weak.m4 (1.2), ac_cxx_flexible_arrays.m4
+	  (1.7): Preserve CPPFLAGS.
+
+2003-10-28 Tuesday 09:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.101), interfaces/C/Makefile.am (1.14),
+	  interfaces/Prolog/Ciao/Makefile.am (1.21),
+	  interfaces/Prolog/GNU/Makefile.am (1.31),
+	  interfaces/Prolog/SICStus/Makefile.am (1.37),
+	  interfaces/Prolog/SWI/Makefile.am (1.29),
+	  interfaces/Prolog/XSB/Makefile.am (1.16),
+	  interfaces/Prolog/YAP/Makefile.am (1.23), src/Makefile.am (1.66),
+	  tests/Makefile.am (1.188): Got rid of extra_cpp_flags (was used
+	  nowhere).
+
+2003-10-27 Monday 22:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS (1.8), NEWS (1.81), TODO (1.61), acinclude.m4 (1.5),
+	  config.rpath (1.1), m4/ac_check_gmp.m4 (1.14), m4/lib-ld.m4
+	  (1.1), m4/lib-link.m4 (1.1), m4/lib-prefix.m4 (1.1): Thanks to
+	  Bruno Haible, it is now possible to use versions of the GMP
+	  library installed into nonstandard places.
+
+2003-10-27 Monday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Ph_Status.idefs.hh (1.3), Ph_Status.inlines.hh (1.3): Some
+	  useless code removed.
+
+2003-10-27 Monday 09:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Ph_Status.cc (1.2), Ph_Status.idefs.hh (1.2),
+	  Ph_Status.inlines.hh (1.2): Comments fixed.
+
+2003-10-27 Monday 08:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Makefile.am (1.65), Ph_Status.cc (1.1), Ph_Status.idefs.hh
+	  (1.1), Ph_Status.inlines.hh (1.1), Polyhedron.defs.hh (1.219),
+	  Status.cc (1.22), Status.defs.hh (1.30), Status.inlines.hh
+	  (1.15), Status.types.hh (1.7): The Status class is now a private
+	  member of class Polyhedron.
+
+2003-10-26 Sunday 18:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Status.defs.hh (1.29), Status.inlines.hh (1.14): Pass
+	  objects of type Status by value.
+
+2003-10-16 Thursday 17:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/polyhull1.cc (1.7): Debug message improved.
+
+2003-10-13 Monday 17:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Row.cc (1.59): Comment fixed.
+
+2003-10-06 Monday 19:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.60), tests/h79widening6.cc (1.4): h79widening6.cc
+	  temporarily fixed, but must be turned into a proper test.
+
+2003-10-04 Saturday 22:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Row.cc (1.58): Revert previous change.
+
+2003-10-04 Saturday 22:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Row.cc (1.57): Avoid including <iostream>.
+
+2003-10-03 Friday 12:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* .cvsignore (1.7), Watchdog/.cvsignore (1.4): Ignore config.h.in.
+
+2003-10-03 Friday 09:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.h.in (1.26), Watchdog/config.h.in (1.4): These should not
+	  be in the repository, since they are automatically generated.
+
+2003-09-23 Tuesday 10:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: devref-browse.doxyconf-latex.in (1.33),
+	  devref-print.doxyconf-latex.in (1.33), devref.doxyconf-html.in
+	  (1.34), user-browse.doxyconf-latex.in (1.17),
+	  user-print.doxyconf-latex.in (1.17), user.doxyconf-html.in
+	  (1.19): Updated for Doxygen 1.3.4.
+
+2003-09-10 Wednesday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.19), config.h.in (1.25), config.sub (1.18),
+	  depcomp (1.5), install-sh (1.6), missing (1.6),
+	  Watchdog/config.guess (1.3), Watchdog/config.sub (1.3),
+	  Watchdog/depcomp (1.3), Watchdog/install-sh (1.3),
+	  Watchdog/missing (1.2): Updated.
+
+2003-09-10 Wednesday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Variable.cc (1.14), Variable.defs.hh (1.33): Pass variables
+	  by const reference for uniformity.
+
+2003-09-01 Monday 23:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PowerSet.inlines.hh (1.54):
+	  PowerSet<CS>::check_omega_reduced() fixed: now it return false if
+	  a bottom element is encountered (even in a singleton).
+
+2003-09-01 Monday 23:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PowerSet.inlines.hh (1.53): Modified
+	  PowerSet<CS>::omega_reduce() so that all bottom elements are
+	  removed first.
+
+2003-09-01 Monday 20:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/algorithms.hh (1.24): Use Polyhedra_PowerSet<PH>::empty()
+	  instead of Polyhedra_PowerSet<PH>::is_bottom().
+
+2003-09-01 Monday 20:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedra_PowerSet.defs.hh (1.18): Useless using declarations
+	  removed.
+
+2003-09-01 Monday 20:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: PowerSet.defs.hh (1.45), PowerSet.inlines.hh (1.52): Method
+	  bool PowerSet<CS>::empty() const added.  Useless using
+	  declarations removed.  Added a bool argument to
+	  PowerSet<CS>::OK() to decide whether bottom is or not allowed
+	  into the powerset.
+
+2003-09-01 Monday 10:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedra_PowerSet.defs.hh (1.17),
+	  Polyhedra_PowerSet.inlines.hh (1.25): Methods
+	  Polyhedra_PowerSet<PH>::add_constraint() and
+	  Polyhedra_PowerSet<PH>::add_constraints() made lazy.	Methods
+	  Polyhedra_PowerSet<PH>::add_constraint_and_minimize() and
+	  Polyhedra_PowerSet<PH>::add_constraints_and_minimize() added.
+
+2003-08-31 Sunday 23:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PowerSet.inlines.hh (1.51): Correct a mistake in previous
+	  change.
+
+2003-08-31 Sunday 23:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PowerSet.inlines.hh (1.50): PowerSet<CS>::collapse(iterator
+	  sink) improved.
+
+2003-08-30 Saturday 13:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/bhz03widening2.cc (1.2): Be quiet.
+
+2003-08-30 Saturday 12:18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedra_PowerSet.inlines.hh (1.24): Corrected a bug in
+	  pairwise_reduce(), whereby we were marking the wrong polyhedra in
+	  the sequence.  Corrected a bug in BHZ03_widening_assign(),
+	  whereby we were calling BGP99_extrapolation_assign() instead of
+	  BGP99_heuristics_assign (the latter does not pairwise-reduce nor
+	  collapse the sequence of polyhedra).	In the implementation of
+	  BGP99_heuristics_assign(), we now take a copy of polyhedron `pi'
+	  before computing the base-level widening.
+
+2003-08-30 Saturday 12:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PowerSet.inlines.hh (1.49): In function collapse(const
+	  unsigned max_disjuncts), removed the never used iterators sbegin
+	  and send.
+
+2003-08-30 Saturday 00:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.187), bhz03widening2.cc (1.1): New test
+	  for Polyhedra_Powerset<PH>::BHZ03_widening_assign().
+
+2003-08-29 Friday 17:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.59): The name of the `abandon_exponential_computations'
+	  variable is now misleading, as we use it also to abandon
+	  polynomial computations in the PowerSet domains.
+
+2003-08-29 Friday 17:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: PowerSet.defs.hh (1.44), PowerSet.inlines.hh (1.48): Method
+	  PowerSet::collapse() added.  It provides the same functionality
+	  as the project() function, which has been removed.
+
+2003-08-29 Friday 17:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedra_PowerSet.defs.hh (1.16),
+	  Polyhedra_PowerSet.inlines.hh (1.23), PowerSet.defs.hh (1.43),
+	  PowerSet.inlines.hh (1.47): Method collapse() reimplemented
+	  generically in the PowerSet class.  Methods
+	  PowerSet<CS>::omega_reduce() and
+	  Polyhedra_PowerSet<PH>::concatenate_assign() (which have
+	  quadratic complexity) now test the
+	  `abandon_exponential_computations' variable and hurry up (giving
+	  up precision) if necessary.
+
+2003-08-28 Thursday 10:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/algorithms.hh (1.23): Function check_containment() fixed and
+	  silenced.
+
+2003-08-27 Wednesday 23:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/algorithms.hh (1.22): Fixed a couple of bugs in
+	  check_containment().	Print statements added to the same function
+	  in order to help debugging it (it still does not work).
+
+2003-08-27 Wednesday 23:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedra_PowerSet.defs.hh (1.15),
+	  Polyhedra_PowerSet.inlines.hh (1.22): New methods `bool
+	  semantically_contains(const Polyhedra_PowerSet&) const' and `bool
+	  semantically_equals(const Polyhedra_PowerSet&) const'.  Fixed
+	  methods ascii_dump() and ascii_load().
+
+2003-08-27 Wednesday 18:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedra_PowerSet.defs.hh (1.14),
+	  Polyhedra_PowerSet.inlines.hh (1.21): Methods `void
+	  Polyhedra_PowerSet<PH>::ascii_dump(std::ostream&) const' and
+	  `bool Polyhedra_PowerSet<PH>::ascii_load(std::istream&)' added.
+
+2003-08-27 Wednesday 18:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.58), src/Init.cc (1.9): New mechanism to allow the user
+	  to redefine the GMP memory allocation functions being 100% sure
+	  that all GMP objects are allocated and deallocated by the same
+	  functions (nasty things happen if this is not the case).
+
+2003-08-27 Wednesday 18:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* acinclude.m4 (1.4), config.h.in (1.24), configure.ac (1.100),
+	  m4/ac_cxx_attribute_weak.m4 (1.1): Check whether the C++ compiler
+	  supports __attribute__ ((weak)).
+
+2003-08-26 Tuesday 22:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: AskTell.defs.hh (1.18), AskTell.inlines.hh (1.18),
+	  Determinate.defs.hh (1.34), Determinate.inlines.hh (1.35),
+	  Polyhedra_PowerSet.defs.hh (1.13), Polyhedra_PowerSet.inlines.hh
+	  (1.20), PowerSet.defs.hh (1.42), PowerSet.inlines.hh (1.46):
+	  Added the swap() method and the specialization of std::swap().
+
+2003-08-26 Tuesday 14:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/algorithms.hh (1.21): Added a first version of the
+	  "check_containment" algorithm described in Srivastava93.
+	  Multiple inclusion guard added.
+
+2003-08-26 Tuesday 08:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedra_PowerSet.defs.hh (1.12),
+	  Polyhedra_PowerSet.inlines.hh (1.19): Added
+	  Polyhedra_PowerSet<PH>::limited_BHZ03_widening_assign().
+
+2003-08-26 Tuesday 08:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedra_PowerSet.inlines.hh (1.18): TODO comment revised.
+	  Variable declaration turned into a constant declaration.
+
+2003-08-25 Monday 19:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/bhz03widening1.cc (1.2): Ensure the widening is always
+	  called properly.
+
+2003-08-25 Monday 19:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.186), bhz03widening1.cc (1.1): Test
+	  Polyhedra_Powerset<PH>::BHZ03_widening_assign().
+
+2003-08-25 Monday 19:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedra_PowerSet.defs.hh (1.11),
+	  Polyhedra_PowerSet.inlines.hh (1.17): Method
+	  new_widening_assign() renamed BHZ03_widening_assign() and
+	  modified to accept a widening method on the underlying polyhedra
+	  domain.
+
+2003-08-25 Monday 18:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedra_PowerSet.inlines.hh (1.16): In BGP99 extrapolation,
+	  do pairwise reduction before collapsing.
+
+2003-08-25 Monday 18:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedra_PowerSet.defs.hh (1.10),
+	  src/Polyhedra_PowerSet.inlines.hh (1.15), tests/Makefile.am
+	  (1.185), tests/bgp99extrapolation1.cc (1.1),
+	  tests/powersetwidening1.cc (1.8): Cleaned and simplified the code
+	  for the "simple powerset widening", now more appropriately called
+	  "BGP99 extrapolation".
+
+2003-08-25 Monday 00:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.99): Version number bumped.
+
+2003-08-25 Monday 00:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_nonpublic.cc (1.16): Avoid two compiler warnings.
+
+2003-08-24 Sunday 17:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/powersetwidening1.cc (1.7): 20 iterations are enough.
+
+2003-08-24 Sunday 17:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/powersetwidening1.cc (1.6): Corrected the affine image
+	  transformation.  Made the test silent.
+
+2003-08-24 Sunday 14:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.84), ppl_c.h (1.91): Revised interface
+	  for ppl_Polyhedron_maximize() and ppl_Polyhedron_minimize().
+
+2003-08-24 Sunday 14:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.218), src/Polyhedron.inlines.hh (1.85),
+	  src/Polyhedron_nonpublic.cc (1.15), tests/max_min1.cc (1.3),
+	  tests/max_min2.cc (1.3): Revised interface for
+	  Polyhedron::maximize() and Polyhedron::minimize().
+
+2003-08-24 Sunday 13:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.80): Section on bugfixes added for PPL 0.6.
+
+2003-08-24 Sunday 13:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.79), src/LinExpression.cc (1.19),
+	  src/LinExpression.defs.hh (1.61): New output operator in
+	  namespace IO_Operators: std::ostream& operator<<(std::ostream&,
+	  const LinExpression&).
+
+2003-08-23 Saturday 22:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedra_PowerSet.inlines.hh (1.14): The applicability test
+	  asserted in Polyhedra_PowerSet<PH>::widening_assign() was
+	  reversed: fixed.
+
+2003-08-23 Saturday 18:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.83): Fixed indentation.
+
+2003-08-23 Saturday 18:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/powersetwidening1.cc (1.5): Counter-example for the simple
+	  powerset widening is now working as expected.
+
+2003-08-23 Saturday 16:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/powersetwidening1.cc (1.4): Fixed an output statement.
+	  Avoid computing S(n) multiple times.
+
+2003-08-23 Saturday 16:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/powersetwidening1.cc (1.3): For readability, use an
+	  alternate output function for variables.
+
+2003-08-23 Saturday 16:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedra_PowerSet.inlines.hh (1.13): In
+	  Polyhedra_PowerSet<PH>::widening_assign(const Polyhedra_PowerSet&
+	  y, ...) assert that `*this' definitely entails `y'.
+
+2003-08-23 Saturday 16:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/powersetwidening1.cc (1.2): Started turning this program
+	  into an implementation of Enea's counterexample for the simple
+	  powerset widening.
+
+2003-08-22 Friday 21:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: max_min1.cc (1.2), max_min2.cc (1.2): Be quiet.
+
+2003-08-22 Friday 19:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.98): Version number bumped.
+
+2003-08-22 Friday 19:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.78): Announce Polyhedron::maximize() and
+	  Polyhedron::minimize().
+
+2003-08-22 Friday 19:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.57): New things to do before releasing PPL 0.6.
+
+2003-08-22 Friday 19:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.82), ppl_c.h (1.90): Added
+	  ppl_Polyhedron_maximize() and ppl_Polyhedron_minimize().
+
+2003-08-22 Friday 19:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.217): Documentation for
+	  Polyhedron::maximize(const LinExpression&, ...) and
+	  Polyhedron::minimize(const LinExpression&, ...) revised.
+
+2003-08-22 Friday 18:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.184), max_min1.cc (1.1), max_min2.cc
+	  (1.1): Test Polyhedron::maximize(const LinExpression&, ...) and
+	  Polyhedron::minimize(const LinExpression&, ...).
+
+2003-08-22 Friday 18:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_nonpublic.cc (1.14): Method Polyhedron::max_min()
+	  implemented.
+
+2003-08-22 Friday 13:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_nonpublic.cc (1.13): Avoid useless iterations in
+	  Polyhedron::bounds().
+
+2003-08-22 Friday 13:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh (1.216), Polyhedron.inlines.hh (1.84),
+	  Polyhedron_nonpublic.cc (1.12): Revised specification for the new
+	  methods Polyhedron::maximize(const LinExpression&, ...) and
+	  Polyhedron::minimize(const LinExpression&, ...).  Implementation
+	  work started.
+
+2003-08-22 Friday 12:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Generator.cc (1.47): Avoid useless calls to std::ostream&
+	  std::operator<<(std::ostream& s, ...).
+
+2003-08-20 Wednesday 21:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.215): First tentative declaration for
+	  the new maximization and minimization methods.
+
+2003-08-20 Wednesday 16:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.56): We must explain very well that iterators can be
+	  invalidated by several (actually, almost all) operations, and
+	  that use of an invalidated iterator causes undefined behavior.
+
+2003-08-20 Wednesday 16:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (ppl-0_5-branch.1): Fixed constructor
+	  `PIFunc::PIFunc(dimension_type* v, size_t n)': it was not
+	  initializing the `empty' member.  (Thanks to Axel Simon.)
+
+2003-08-20 Wednesday 11:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.81): Fixed constructor
+	  `PIFunc::PIFunc(dimension_type* v, size_t n)': it was not
+	  initializing the `empty' member.  (Thanks to Axel Simon.)
+
+2003-08-19 Tuesday 09:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedra_PowerSet.inlines.hh (1.12), PowerSet.defs.hh
+	  (1.41), PowerSet.inlines.hh (1.45): Lazy, much more efficient
+	  implementation of powersets.
+
+2003-08-18 Monday 22:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.77), src/Variable.cc (1.13), src/Variable.defs.hh (1.32),
+	  tests/writevariable1.cc (1.8): The type of output functions for
+	  the class Variable, Variable::Output_Function_Type, is now
+	  defined as void Output_Function_Type(std::ostream& s, const
+	  Variable& v).  In other words, `v' is now passed by const
+	  reference and not by value.
+
+2003-08-10 Sunday 14:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedra_PowerSet.inlines.hh (1.11): Removed the final
+	  pairwise-reduction step from the 4th case of the new widening.
+
+2003-08-10 Sunday 12:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedra_PowerSet.inlines.hh (1.10): Added a new case to the
+	  definition of the new widening for powerset polyhedra.
+
+2003-08-08 Friday 16:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedra_PowerSet.inlines.hh (1.9): Corrected the
+	  implementation of the new widening so that we now check for `y'
+	  not being a singleton before computing its multiset lgo
+	  information.
+
+2003-08-07 Thursday 12:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/powersetwidening1.cc (1.1): Put under CVS control.
+
+2003-08-06 Wednesday 14:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedra_PowerSet.defs.hh (1.9),
+	  src/Polyhedra_PowerSet.inlines.hh (1.8), src/Polyhedron.defs.hh
+	  (1.214), src/Polyhedron.inlines.hh (1.83),
+	  src/Polyhedron_widenings.cc (1.12), tests/Makefile.am (1.183):
+	  Added a (rough) draft for the new widening on Polyhedra_PowerSet,
+	  using the BHRZ03 widening and based on the lgo relation induced
+	  by the BHRZ03 lgo.
+
+2003-08-06 Wednesday 08:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.97), Watchdog/configure.ac (1.18): Allow for
+	  `mild', -O1 optimization.
+
+2003-08-04 Monday 16:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedra_PowerSet.defs.hh (1.8): Let the PPL compile.
+
+2003-08-04 Monday 15:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedra_PowerSet.defs.hh (1.7),
+	  Polyhedra_PowerSet.inlines.hh (1.7), PowerSet.defs.hh (1.40),
+	  PowerSet.inlines.hh (1.44): Currect, greedy implementation of the
+	  powerset construction and of its specialization on polyhedra.
+	  (Will be replaced by a lazy implementation ASAP.)
+
+2003-08-04 Monday 14:58  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedra_PowerSet.defs.hh (1.6),
+	  Polyhedra_PowerSet.inlines.hh (1.6), Polyhedron.defs.hh (1.213),
+	  Polyhedron.inlines.hh (1.82), Polyhedron_widenings.cc (1.11):
+	  Drafted functions to compute multiset lgo for the powerset
+	  domain.
+
+2003-08-02 Saturday 17:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/SatRow.cc (1.21): Alternative implementation for
+	  SatRow::next() added in a comment.
+
+2003-07-30 Wednesday 22:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (1.18): Build an RPM package also for the PWL.  The
+	  Prolog interfaces depend on the PWL.
+
+2003-07-30 Wednesday 17:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/: xsb_clpq.P (1.7), xsb_clpq2.P (1.5): XSB
+	  version 2.6 still does not offer read_term/2.
+
+2003-07-30 Wednesday 17:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.106), XSB/.cvsignore
+	  (1.3), XSB/Makefile.am (1.15), XSB/ppl_xsb.cc (1.40): Removed
+	  most of the kludges we had for supporting old versions of XSB.
+	  We now only support XSB version 2.6 and following.
+
+2003-07-28 Monday 08:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/fdl.dox (1.5), doc/gpl.dox (1.5),
+	  interfaces/Prolog/Prolog_interface.dox (1.105): No longer using
+	  Doxygen sectioning commands inside normal documentation blocks
+	  (they only work inside \page and \mainpage blocks). Instead, now
+	  using \anchor and unnumbered section headings.
+
+2003-07-22 Tuesday 13:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedra_PowerSet.inlines.hh (1.5): Ensure omega reductions
+	  in the widening and extrapolation methods.
+
+2003-07-22 Tuesday 13:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PowerSet.inlines.hh (1.43): PowerSet::is_top() now asserts
+	  this->is_omega_reduced().
+
+2003-07-21 Monday 22:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedra_PowerSet.defs.hh (1.5),
+	  Polyhedra_PowerSet.inlines.hh (1.4): Limited extrapolation
+	  operators added.
+
+2003-07-20 Sunday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.18), config.sub (1.17): Updated.
+
+2003-07-18 Friday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.122): Citations fixed.
+
+2003-07-18 Friday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: AskTell.defs.hh (1.17), AskTell.inlines.hh (1.17): Entry
+	  point for AskTell<CS>::H79_extrapolation_assign() added.
+
+2003-07-18 Friday 22:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/algorithms.hh (1.20): poly_hull_assign_if_exact() improved.
+
+2003-07-18 Friday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedra_PowerSet.inlines.hh (1.3):
+	  Polyhedra_PowerSet<PH>::collapse() improved.
+
+2003-07-16 Wednesday 15:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/h79widening7.cc (1.2): Make sure the outcome is as
+	  expected.
+
+2003-07-16 Wednesday 15:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/h79widening6.cc (1.3): Made silent.
+
+2003-07-16 Wednesday 15:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Matrix.cc (1.63), Polyhedron_widenings.cc (1.10): Corrected
+	  a bug in H79_widening_assign() and BHRZ03_combining_constraints()
+	  whereby we could have created an illegal constraint system (the
+	  bug was showing up when running the test h79widening6 with
+	  assertions enabled).	Also added an assertion to the
+	  corresponding constructor of Matrix.
+
+2003-07-16 Wednesday 15:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.121): Updated.
+
+2003-07-16 Wednesday 15:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedra_PowerSet.defs.hh (1.4): Comment fixed.
+
+2003-07-16 Wednesday 09:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.182), h79widening7.cc (1.1):
+	  h79widening7.cc shows there is a bug somewhere.
+
+2003-07-15 Tuesday 22:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: h79widening6.cc (1.2), mc91.cc (1.13): Brought up-to-date
+	  with respect to the rest of the library.
+
+2003-07-15 Tuesday 22:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedra_PowerSet.defs.hh (1.3): Initial fix for the problem
+	  concerning dependent names.
+
+2003-07-15 Tuesday 11:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* configure.ac (1.96), m4/ac_check_gmp.m4 (1.13): Separated the
+	  check for the existence of the GMP library from the check that it
+	  has been compiled with the C++ interface enabled. Changed error
+	  messages accordingly, to avoid the user getting confused.
+
+2003-07-14 Monday 17:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Determinate.inlines.hh (1.34): Fixed two copy-and-paste
+	  errors.
+
+2003-07-14 Monday 17:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedra_PowerSet.inlines.hh (1.2), PowerSet.defs.hh
+	  (1.39), PowerSet.inlines.hh (1.42): Lots of improvements and bug
+	  fixes.
+
+2003-07-14 Monday 17:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Determinate.inlines.hh (1.33): Exploit pointer equality to
+	  optimize equality and containment tests.
+
+2003-07-14 Monday 17:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: AskTell.defs.hh (1.16), AskTell.inlines.hh (1.16): Several
+	  improvements.
+
+2003-07-13 Sunday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: AskTell.defs.hh (1.15), AskTell.inlines.hh (1.15),
+	  Polyhedra_PowerSet.defs.hh (1.2): Fixed a few glitches.
+
+2003-07-13 Sunday 11:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/algorithms.hh (1.19): Several functions moved (as methods) to
+	  the Polyhedra_PowerSet class.
+
+2003-07-13 Sunday 11:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Makefile.am (1.64), Polyhedra_PowerSet.defs.hh (1.1),
+	  Polyhedra_PowerSet.inlines.hh (1.1), Polyhedra_PowerSet.types.hh
+	  (1.1): The powerset construction instantiated on PPL polyhedra.
+
+2003-07-13 Sunday 11:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: PowerSet.defs.hh (1.38), PowerSet.inlines.hh (1.41):
+	  Rewritten so as to be truly generic.
+
+2003-07-13 Sunday 11:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: AskTell.defs.hh (1.14), AskTell.inlines.hh (1.14): Includes
+	  fixed.  Comment added.
+
+2003-07-10 Thursday 17:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.181), h79widening6.cc (1.1): Test the
+	  simple powerset widening.
+
+2003-07-10 Thursday 17:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/algorithms.hh (1.18): Includes fixed.  Simple powerset
+	  widening reimplemented.
+
+2003-07-10 Thursday 17:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.14): Wrong call to
+	  Polyhedron::throw_topology_incompatible() replaced with call to
+	  Polyhedron::throw_dimension_incompatible().
+
+2003-07-10 Thursday 17:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.63): Obsolete stuff out, AskTell class in.
+
+2003-07-10 Thursday 17:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Determinate.defs.hh (1.33), Determinate.inlines.hh (1.32):
+	  Big exception-safety bug fixed.  Some obsolete stuff removed.
+
+2003-07-10 Thursday 17:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: PowerSet.defs.hh (1.37), PowerSet.inlines.hh (1.40),
+	  PowerSet.types.hh (1.5): Several improvements.
+
+2003-07-10 Thursday 17:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: AskTell.defs.hh (1.13), AskTell.inlines.hh (1.13),
+	  AskTell.types.hh (1.5), LCompare.defs.hh (1.6),
+	  LCompare.inlines.hh (1.5), LCompare.types.hh (1.5): Started
+	  reimplementing the AskTell class from scratch.
+
+2003-07-10 Thursday 17:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.55): We must not forget to harmonize all the methods void
+	  PPL::Polyhedron::throw_...(): now they build error messages
+	  according to (confusingly) different styles.
+
+2003-07-05 Saturday 17:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/mc91.cc (1.12): Call PowerSet:add_disjunct() instead of the
+	  no longer existing PowerSet::inject().
+
+2003-07-05 Saturday 17:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/Watchdog.cc (1.12): Delete statement uncommented.
+
+2003-07-05 Saturday 17:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/algorithms.hh (1.17): Added simple widening on powersets of
+	  polyhedra.  They are based on the extrapolation operators but
+	  enforce a maximum number of polyhedra in the destination
+	  powerset.
+
+2003-07-05 Saturday 17:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: PowerSet.defs.hh (1.36), PowerSet.inlines.hh (1.39): Added
+	  template <typename CS> void PowerSet<CS>::pop_back().
+
+2003-07-01 Tuesday 15:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: PowerSet.defs.hh (1.35), PowerSet.inlines.hh (1.38),
+	  algorithms.hh (1.16): PowerSet::inject() renamed
+	  PowerSet::add_disjunct().
+
+2003-07-01 Tuesday 15:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: AskTell.defs.hh (1.12), AskTell.inlines.hh (1.12):
+	  AskTell::inject() renamed AskTell::add_pair().
+
+2003-07-01 Tuesday 09:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.inlines.hh (1.81), PowerSet.defs.hh (1.34):
+	  Corrected minor typo.  Renamed PowerSet::add_disjunct as
+	  PowerSet::inject.
+
+2003-06-17 Tuesday 23:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh, Polyhedron_widenings.cc
+	  (alt_lgo.[1,1]): Initial support for the "facing constraints"
+	  technique, as provided by Pat.
+
+2003-06-17 Tuesday 23:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PowerSet.defs.hh (1.33): Comments revised.  Some cleaning.
+
+2003-05-24 Saturday 21:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* install-sh (1.5): Updated.
+
+2003-05-15 Thursday 07:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.54): Started drafting a list of enhancements for PPL 0.6.
+
+2003-05-07 Wednesday 21:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/algorithms.hh (ppl-0_5-branch.1): Functon linear_partition()
+	  excluded from the user manual version 0.5.
+
+2003-05-07 Wednesday 21:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Determinate.defs.hh, PowerSet.defs.hh
+	  (ppl-0_5-branch.[1,1]): Determinate and PowerSet template classes
+	  excluded from the user manual of version 0.5.
+
+2003-05-04 Sunday 19:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* STANDARDS (1.10), doc/devref-browse.doxyconf-latex.in (1.32),
+	  doc/devref-print.doxyconf-latex.in (1.32),
+	  doc/devref.doxyconf-html.in (1.33), src/Determinate.defs.hh
+	  (1.32), src/Determinate.inlines.hh (1.31), src/PowerSet.defs.hh
+	  (1.32), src/PowerSet.inlines.hh (1.37): In the STANDARDS,
+	  explained how the Doxygen documentation of a non-member method
+	  has to be related to a templatic class.  Added or improved the
+	  documentation of Determinate and PowerSet. Let these files be
+	  included in the devref manual (they were already in the user
+	  manual).
+
+2003-05-01 Thursday 17:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/fdl.dox (ppl-0_5-branch.1): \ingroup replaced by \addtogroup,
+	  since otherwise the documentation page is not included in the
+	  produced manuals.
+
+2003-05-01 Thursday 11:56  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/fdl.dox (1.4): \ingroup replaced by \addtogroup, since
+	  otherwise the documentation page is not included in the produced
+	  manuals.
+
+2003-05-01 Thursday 11:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: devref-browse.doxyconf-latex.in,
+	  devref-print.doxyconf-latex.in, devref.doxyconf-html.in
+	  (ppl-0_5-branch.[1,1,1]): List CATCH_ALL in EXPAND_AS_DEFINED.
+	  This is a temporary kludge to get around a bug in Doxygen whereby
+	  occurrences of CATCH_ALL are otherwise interpreted as namespace
+	  declarations.
+
+2003-05-01 Thursday 10:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: devref-browse.doxyconf-latex.in (1.31),
+	  devref-print.doxyconf-latex.in (1.31), devref.doxyconf-html.in
+	  (1.32): List CATCH_ALL in EXPAND_AS_DEFINED.	This is a temporary
+	  kludge to get around a bug in Doxygen whereby occurrences of
+	  CATCH_ALL are otherwise interpreted as namespace declarations.
+
+2003-04-30 Wednesday 21:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Matrix.defs.hh (ppl-0_5-branch.1), Matrix.defs.hh (1.50):
+	  Use \genfrac instead of \atop, since the latter causes problems
+	  with the amsmath package.
+
+2003-04-30 Wednesday 20:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh (ppl-0_5-branch.1), Polyhedron.defs.hh
+	  (1.212): Name the parameters of conversion() in a consistent way.
+
+2003-04-30 Wednesday 19:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.95): Version number bumped.
+
+2003-04-27 Sunday 21:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog, Watchdog/ChangeLog, Watchdog/NEWS, Watchdog/README,
+	  Watchdog/configure.ac (ppl-0_5-branch.[2,2,1,1,1]): Synchronize
+	  with the main trunk.
+
+2003-04-27 Sunday 21:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (ppl-0_5-branch.1): Update version.
+
+2003-04-27 Sunday 21:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/ChangeLog, ChangeLog (ppl-0_5-branch.[1,1]): Mark
+	  ChangeLog.
+
+2003-04-27 Sunday 21:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.16), Watchdog/ChangeLog (1.6): Updated.
+
+2003-04-27 Sunday 21:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/configure.ac (1.17): Version number bumped.
+
+2003-04-27 Sunday 21:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.15), Watchdog/ChangeLog (1.5): Updated.
+
+2003-04-27 Sunday 21:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: ChangeLog (1.4), NEWS (1.3), README (1.5): Updated for
+	  release 0.2.
+
+2003-04-27 Sunday 21:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.53), ChangeLog (1.14): Updated.
+
+2003-04-27 Sunday 20:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.13): Updated.
+
+2003-04-27 Sunday 20:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.76): Reorganized.
+
+2003-04-27 Sunday 16:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BoundingBox.cc (1.7), BoundingBox.defs.hh (1.10),
+	  BoundingBox.inlines.hh (1.10), Polyhedron.inlines.hh (1.80):
+	  Added Doxygen comments for class BoundingBox.  Method
+	  Polyehdron::shrink_bounding_box() adapted to the lack of default
+	  constructors for LBoundary and UBoundary.
+
+2003-04-27 Sunday 16:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Interval.cc (1.8), Interval.defs.hh (1.15),
+	  Interval.inlines.hh (1.10): Added Doxygen comments to classes
+	  ERational, Boundary, LBoundary, UBoundary, Interval. Removed all
+	  the comparison operators that are not currently used in the
+	  sources. Removed the default constructors for LBoundary and
+	  UBoundary.  Made explicit that the Interval class, as it is
+	  defined, can only manipulate standard (i.e., non-extended)
+	  rational intervals.
+
+2003-04-27 Sunday 16:44  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Row.defs.hh (1.72): Added a scary comment to Row::assign(),
+	  since its improper use may cause memory leaks.
+
+2003-04-27 Sunday 16:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.211): In the documentation of
+	  shrink_bounding_box, we now state that we will always call
+	  raise_lower_bound and lower_upper_bound with fractions in
+	  canonical form.
+
+2003-04-27 Sunday 16:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref-browse.doxyconf-latex.in (1.30),
+	  devref-print.doxyconf-latex.in (1.30), devref.doxyconf-html.in
+	  (1.31): Added files Interval.* and BoundingBox.* to the
+	  documentation of the developers.
+
+2003-04-27 Sunday 12:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/writevariable1.cc (1.7): Pass objects of type `Variable' by
+	  value.
+
+2003-04-27 Sunday 11:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: LinExpression.cc (1.18), LinExpression.defs.hh (1.60),
+	  LinExpression.inlines.hh (1.28), Polyhedron.defs.hh (1.210),
+	  Polyhedron_public.cc (1.13), Variable.cc (1.12), Variable.defs.hh
+	  (1.31), Variable.inlines.hh (1.16): Be consistent: always pass
+	  objects of type `Variable' by value.
+
+2003-04-27 Sunday 11:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BoundingBox.cc (1.6), BoundingBox.inlines.hh (1.9),
+	  ConSys.cc (1.66), ConSys.inlines.hh (1.30), Constraint.cc (1.39),
+	  Constraint.inlines.hh (1.47), GenSys.cc (1.84), GenSys.inlines.hh
+	  (1.31), Generator.cc (1.46), Generator.inlines.hh (1.41): Declare
+	  variables `const' whenever possible or desirable.  Other little
+	  improvements.
+
+2003-04-27 Sunday 10:41  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Matrix.cc (1.62): Fixed a typo in a comment.
+
+2003-04-27 Sunday 09:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_widenings.cc (1.9): Avoid unnecessary explicit
+	  initialization of vectors.
+
+2003-04-27 Sunday 09:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_widenings.cc (1.8): Some debugging output removed.
+
+2003-04-27 Sunday 08:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_widenings.cc (1.7): Declare variables `const'
+	  whenever possible or desirable.
+
+2003-04-26 Saturday 20:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.12): Declare variables `const'
+	  whenever possible or desirable.
+
+2003-04-26 Saturday 19:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_nonpublic.cc (1.11): Declare variables `const'
+	  whenever possible or desirable.
+
+2003-04-26 Saturday 19:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.16): Updated.
+
+2003-04-26 Saturday 19:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.75): Tentative release date for PPL 0.5 is April 28,
+	  2003.
+
+2003-04-26 Saturday 15:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: SatMatrix.cc (1.27), SatMatrix.inlines.hh (1.20): Declare
+	  variables `const' whenever possible or desirable.
+
+2003-04-26 Saturday 15:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: SatRow.cc (1.20), SatRow.inlines.hh (1.27): Declare
+	  variables `const' whenever possible or desirable.
+
+2003-04-26 Saturday 14:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Matrix.cc (1.61): Added comments to Matrix::sort_rows(first,
+	  last).
+
+2003-04-26 Saturday 14:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.74), TODO (1.52): Widening with tokens announced in the
+	  NEWS file.
+
+2003-04-26 Saturday 07:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.80), ppl_c.h (1.89): Stick to the C89
+	  standard.
+
+2003-04-26 Saturday 07:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.51): We must announce widening with tokens in the NEWS
+	  file.
+
+2003-04-25 Friday 21:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/algorithms.hh (1.15): Changes made elsewhere (removal of the
+	  comparison operators over polyhedra and introduction of widenings
+	  with tokens) now reflected here.
+
+2003-04-25 Friday 21:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.50): All the functionalities are available in all
+	  interfaces.  The documentation for Polyhedron::map_dimensions()
+	  and its wrappers for all the interfaces is OK.
+
+2003-04-24 Thursday 22:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.73), TODO (1.49), doc/definitions.dox (1.120),
+	  interfaces/C/ppl_c.cc (1.79), interfaces/C/ppl_c.h (1.88),
+	  interfaces/Prolog/Prolog_interface.dox (1.104),
+	  interfaces/Prolog/pl_check.pl (1.66),
+	  interfaces/Prolog/ppl_prolog.icc (1.115),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.57),
+	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.38),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.52),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.76),
+	  interfaces/Prolog/XSB/ppl_xsb.H (1.25),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.39),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.70), src/Determinate.defs.hh
+	  (1.31), src/Determinate.inlines.hh (1.30), src/Polyhedron.defs.hh
+	  (1.209), src/Polyhedron.inlines.hh (1.79), src/PowerSet.defs.hh
+	  (1.31), src/PowerSet.inlines.hh (1.36), tests/Makefile.am
+	  (1.180), tests/mapdim1.cc (1.1), tests/remapdim1.cc (1.3): The
+	  "remap_dimensions" operation is now called "map_dimensions".
+
+2003-04-23 Wednesday 14:39  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.103), pl_check.pl
+	  (1.65): Improved grammar specification for Prolog interface.
+	  Amended remap test so that it does not refer to unused
+	  (singleton) variable D.
+
+2003-04-22 Tuesday 18:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: conversion.cc (1.50), minimize.cc (1.34), simplify.cc
+	  (1.32): Declare variables `const' whenever possible or desirable.
+
+2003-04-22 Tuesday 08:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron_chdims.cc (1.7), Polyhedron_nonpublic.cc (1.10),
+	  Polyhedron_public.cc (1.11), Polyhedron_widenings.cc (1.6):
+	  Consistently use `space_dim' instead of `space_dimension()' from
+	  within the Polyhedron class.
+
+2003-04-22 Tuesday 08:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Matrix.cc (1.60), Matrix.inlines.hh (1.34), Row.cc (1.56),
+	  Row.inlines.hh (1.41): Declare variables `const' whenever
+	  possible or desirable.
+
+2003-04-20 Sunday 11:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h (1.87),
+	  interfaces/Prolog/Prolog_interface.dox (1.102),
+	  interfaces/Prolog/pl_check.pl (1.64),
+	  interfaces/Prolog/ppl_prolog.icc (1.114), src/Polyhedron.defs.hh
+	  (1.208), src/Polyhedron.inlines.hh (1.78), tests/remapdim1.cc
+	  (1.2): Changed the documentation of the remapping operator to
+	  refer to the specification provided in doc/definitions.dox;
+	  changed the tests to avoid experimenting with cases when the
+	  behavior is undefined; no longer insisting that the partial
+	  function is injective (since this is required but it is not
+	  enough to obtain a well-defined behavior).
+
+2003-04-19 Saturday 10:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.179), remapdim1.cc (1.1), renamedim1.cc
+	  (1.3): Test program renamedim1.cc renamed remapdim1.cc.
+
+2003-04-18 Friday 21:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.119), doc/devref-browse.doxyconf-latex.in
+	  (1.29), doc/devref-print.doxyconf-latex.in (1.29),
+	  doc/devref.doxyconf-html.in (1.30),
+	  doc/user-browse.doxyconf-latex.in (1.16),
+	  doc/user-print.doxyconf-latex.in (1.16),
+	  doc/user.doxyconf-html.in (1.18), interfaces/C/ppl_c.cc (1.78),
+	  interfaces/C/ppl_c.h (1.86),
+	  interfaces/Prolog/Prolog_interface.dox (1.101),
+	  interfaces/Prolog/pl_check.pl (1.63),
+	  interfaces/Prolog/Ciao/ciao_clpq.pl (1.7),
+	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.19),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.56),
+	  interfaces/Prolog/GNU/Makefile.am (1.30),
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.13),
+	  interfaces/Prolog/SICStus/Makefile.am (1.36),
+	  interfaces/Prolog/SICStus/sicstus_cfli.ic (1.6),
+	  interfaces/Prolog/SWI/Makefile.am (1.28),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.75),
+	  interfaces/Prolog/XSB/Makefile.am (1.14),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.38),
+	  interfaces/Prolog/YAP/Makefile.am (1.22),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.69), m4/Makefile.am (1.9),
+	  m4/ac_check_gmp.m4 (1.12), m4/ac_cxx_flexible_arrays.m4 (1.6),
+	  src/ConSys.cc (1.65), src/GenSys.cc (1.83), src/GenSys.defs.hh
+	  (1.92), src/Generator.defs.hh (1.84), src/Matrix.cc (1.59),
+	  src/Matrix.defs.hh (1.49), src/NNC_Polyhedron.defs.hh (1.22),
+	  src/Poly_Con_Relation.defs.hh (1.22), src/Polyhedron.defs.hh
+	  (1.207), src/Polyhedron.inlines.hh (1.77),
+	  src/Polyhedron_chdims.cc (1.6), src/Polyhedron_nonpublic.cc
+	  (1.9), src/Polyhedron_public.cc (1.10),
+	  src/Polyhedron_widenings.cc (1.5), src/PowerSet.inlines.hh
+	  (1.35), src/Row.cc (1.55), src/Row.defs.hh (1.71),
+	  src/SatMatrix.cc (1.26), src/SatMatrix.defs.hh (1.32),
+	  src/SatRow.cc (1.19), src/SatRow.defs.hh (1.31), src/Status.cc
+	  (1.21), src/conversion.cc (1.49), src/minimize.cc (1.33),
+	  src/simplify.cc (1.31): Trailing blanks removed.
+
+2003-04-18 Friday 19:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.72), TODO (1.48), interfaces/C/ppl_c.cc (1.77),
+	  interfaces/C/ppl_c.h (1.85),
+	  interfaces/Prolog/Prolog_interface.dox (1.100),
+	  interfaces/Prolog/pl_check.pl (1.62),
+	  interfaces/Prolog/ppl_prolog.icc (1.113),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.55),
+	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.37),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.51),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.74),
+	  interfaces/Prolog/XSB/ppl_xsb.H (1.24),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.37),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.68), src/Determinate.defs.hh
+	  (1.30), src/Determinate.inlines.hh (1.29), src/Polyhedron.defs.hh
+	  (1.206), src/Polyhedron.inlines.hh (1.76), src/PowerSet.defs.hh
+	  (1.30), src/PowerSet.inlines.hh (1.34), tests/renamedim1.cc
+	  (1.2): The "rename_dimensions" operation is now called
+	  "remap_dimensions".
+
+2003-04-18 Friday 19:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.118): Section about "Remapping the
+	  Dimension of the Vector Space" rewritten.
+
+2003-04-18 Friday 19:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.sty (1.12): New macro \pard[3] to typeset the signature
+	  of a partial function.
+
+2003-04-17 Thursday 22:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.117), src/ConSys.cc (1.64),
+	  src/Matrix.defs.hh (1.48), src/Polyhedron_nonpublic.cc (1.8):
+	  Prefer "zeroes" to "zeros".
+
+2003-04-17 Thursday 22:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.112): The Boundary_Kind enum
+	  is now confined into the anonymous namespace.
+
+2003-04-17 Thursday 22:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/Watchdog.cc (1.11), interfaces/Prolog/ppl_prolog.icc
+	  (1.111): Prefer anonymous namespaces to static declarations.
+
+2003-04-17 Thursday 22:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.110),
+	  src/BoundingBox.inlines.hh (1.8), src/Interval.cc (1.7),
+	  src/Interval.defs.hh (1.14), src/Interval.inlines.hh (1.9),
+	  src/Interval.types.hh (1.6), src/Polyhedron.inlines.hh (1.75):
+	  Class `ExtendedRational' renamed `ERational'.
+
+2003-04-17 Thursday 19:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.47), src/Matrix.defs.hh (1.47), src/Matrix.inlines.hh
+	  (1.33): Fixed the comments of the following methods of Matrix:
+	  void grow(dimension_type new_n_rows, dimension_type
+	  new_n_columns); void resize_no_copy(dimension_type new_n_rows,
+	  void add_rows_and_columns(dimension_type n).
+
+2003-04-17 Thursday 19:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.94): Version number bumped.
+
+2003-04-17 Thursday 19:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/Makefile.am (1.21): Target `check-local'
+	  fixed.
+
+2003-04-17 Thursday 19:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/Makefile.am (1.20): Remove ciao_clpq and
+	  ciao_clpq2 when cleaning.
+
+2003-04-17 Thursday 19:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/Makefile.am (1.29): Remove check_script3
+	  when cleaning.
+
+2003-04-17 Thursday 07:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/Makefile.am (1.20): Distribute also
+	  yap_pl_check.pl.
+
+2003-04-17 Thursday 07:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/Makefile.am (1.28): Distribute also
+	  gnu_pl_check.pl.
+
+2003-04-16 Wednesday 07:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.99): Small corrections
+	  made.
+
+2003-04-16 Wednesday 05:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Makefile.am (1.23): Distribute expected3.
+
+2003-04-15 Tuesday 21:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Makefile.am (1.22): Distribute also
+	  pl_check.pl.
+
+2003-04-15 Tuesday 19:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.71), TODO (1.46), interfaces/C/ppl_c.cc (1.76),
+	  interfaces/C/ppl_c.h (1.84),
+	  interfaces/Prolog/Prolog_interface.dox (1.98),
+	  interfaces/Prolog/pl_check.pl (1.61),
+	  interfaces/Prolog/ppl_prolog.icc (1.109),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.54),
+	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.36),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.50),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.73),
+	  interfaces/Prolog/XSB/ppl_xsb.H (1.23),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.36),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.67), src/C_Polyhedron.cc
+	  (1.6), src/Determinate.inlines.hh (1.28), src/Polyhedron.defs.hh
+	  (1.205), src/Polyhedron.inlines.hh (1.74),
+	  src/Polyhedron_public.cc (1.9), tests/bounded1.cc (1.12),
+	  tests/disjoint1.cc (1.6), tests/disjoint2.cc (1.7),
+	  tests/disjoint3.cc (1.6), tests/empty1.cc (1.13),
+	  tests/intersection2.cc (1.9), tests/linearpartition1.cc (1.12),
+	  tests/linearpartition2.cc (1.12), tests/linearpartition3.cc
+	  (1.12), tests/randphull1.cc (1.9), tests/smm1.cc (1.14),
+	  tests/timeelapse5.cc (1.8), tests/topclosed1.cc (1.6),
+	  tests/topclosed2.cc (1.5), tests/topclosed3.cc (1.7),
+	  tests/universe1.cc (1.9), tests/universe2.cc (1.10),
+	  tests/universe3.cc (1.10), tests/universe4.cc (1.10),
+	  tests/universe5.cc (1.11), tests/universe6.cc (1.8): The methods
+	  Polyhedron::check_empty() and Polyhedron::check_universe() have
+	  been renamed is_empty() and is_universe(), respectively.  The
+	  function check_disjoint(const Polyhedron&, const Polyhedron&) had
+	  been replaced by method Polyhedron::is_disjoint_from(const
+	  Polyhedron&).  The methods Polyhedron::check_bounded() and
+	  Polyhedron::check_topologically_closed() have been renamed
+	  is_bounded() and is_topologically_closed(), respectively.
+
+2003-04-15 Tuesday 19:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/Makefile.am (1.19): Distribute also
+	  ciao_clpq2.pl.
+
+2003-04-15 Tuesday 13:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh (1.204), Polyhedron.inlines.hh (1.73),
+	  Polyhedron_chdims.cc (1.5), Polyhedron_nonpublic.cc (1.7),
+	  Polyhedron_public.cc (1.8), Polyhedron_widenings.cc (1.4):
+	  Polyhedron::is_empty() renamed Polyhedron::marked_empty().
+
+2003-04-15 Tuesday 13:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.16), Watchdog/ltmain.sh (1.5): Updated.
+
+2003-04-15 Tuesday 09:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.70), interfaces/C/ppl_c.cc (1.75),
+	  interfaces/Prolog/ppl_prolog.icc (1.108), src/ConSys.defs.hh
+	  (1.79), src/GenSys.defs.hh (1.91), src/Generator.defs.hh (1.83),
+	  src/Polyhedron.defs.hh (1.203), src/Polyhedron.inlines.hh (1.72),
+	  src/Polyhedron_public.cc (1.7), src/Polyhedron_widenings.cc
+	  (1.3), tests/Makefile.am (1.178), tests/NNCinclusion1.cc (1.7),
+	  tests/contains1.cc (1.4), tests/contains2.cc (1.1),
+	  tests/contains3.cc (1.1), tests/contains4.cc (1.1),
+	  tests/contains5.cc (1.1), tests/exceptions1.cc (1.34),
+	  tests/exceptions2.cc (1.28), tests/inclusion1.cc (1.7),
+	  tests/inclusion2.cc (1.4), tests/linearpartition1.cc (1.11),
+	  tests/linearpartition2.cc (1.11), tests/linearpartition3.cc
+	  (1.11), tests/operator1.cc (1.5): The functions
+	  Polyhedron::operator<=(const Polyhedron&, const Polyhedron&),
+	  Polyhedron::operator>=(const Polyhedron&, const Polyhedron&),
+	  Polyhedron::operator<(const Polyhedron&, const Polyhedron&), and
+	  Polyhedron::operator>(const Polyhedron&, const Polyhedron&) have
+	  been removed.  The methods Polyhedron::contains(const
+	  Polyhedron&) and Polyhedron::strictly_contains(const Polyhedron&)
+	  provide the same functionality.
+
+2003-04-14 Monday 16:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh (1.202), Polyhedron_nonpublic.cc (1.6),
+	  Polyhedron_public.cc (1.6): Polyhedron::is_included(const
+	  Polyhedron&) renamed Polyhedron::is_included_in(const
+	  Polyhedron&).
+
+2003-04-14 Monday 12:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: pl_check.pl (1.60), Ciao/ppl_ciao.pl (1.53):
+	  The ciao system now allows for
+	  ppl_Polyhedron_generalized_affine_image to fail.  This is now
+	  tested in pl_check.
+
+2003-04-14 Monday 11:39  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: pl_check.pl (1.59), Ciao/ppl_ciao.pl (1.52):
+	  This allows for failure in ciao for timeout_exception_atom when
+	  the atom given does not unify with the current value and also for
+	  the new_Polyhedron predicates when unifying the new handle with
+	  the input value.  In order to test this, the tests in pl_check
+	  assume that unifying a new handle with value 0 will fail.
+
+2003-04-13 Sunday 21:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/expected2 (1.8): Adapted to strong
+	  normalization.
+
+2003-04-13 Sunday 13:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.cc (1.63), GenSys.cc (1.82), Matrix.cc (1.58),
+	  Matrix.defs.hh (1.46), Row.cc (1.54), Row.defs.hh (1.70),
+	  simplify.cc (1.30): Added a boolean parameter to Matrix::OK() to
+	  control whether or not we also want to check for strong
+	  normalization of the rows in the matrix.  Strong normalization is
+	  now checked when this might be useful, i.e., avoiding bare
+	  repetitions of the same check.  Also added a method
+	  Row::check_strongly_normalized() with the obvious semantics.
+
+2003-04-13 Sunday 09:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/Makefile.am (1.18): Do not use the
+	  GLOBALSTKSIZE kludge for testing with clpq2.pl.
+
+2003-04-13 Sunday 09:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/ppl_ciao.pl (1.51): Indentation fixed.
+
+2003-04-12 Saturday 20:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/expected2 (1.10): Updated according to the
+	  enforcing of strong-normalization.
+
+2003-04-12 Saturday 20:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/simplify.cc (1.29): Method Polyhedron::simplify(mat, sat)
+	  takes as 1st input argument a well-formed Matrix mat.  When a
+	  ray-point-inequality is transformed into a line-equality,
+	  sign_normalization is applied to enforce strong-normalization.
+	  Well-formedness of mat also asserted on exit.
+
+2003-04-12 Saturday 20:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Matrix.cc (1.57): Methods Matrix::gauss() and
+	  Matrix::back_substitute() are applied to well-formed matrices and
+	  will return well-formed matrices.  Corrected a bug in the
+	  handling of the sortedness flag in back_substitute().  Method
+	  Matrix::OK() now also checks strong normalization of rows.
+
+2003-04-12 Saturday 20:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Row.cc (1.53), Row.defs.hh (1.69), Row.inlines.hh (1.40):
+	  Strong normalization of rows made inline and implemented by
+	  calling Row::normalize() and Row::sign_normalize().
+
+2003-04-11 Friday 08:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.cc (1.62), GenSys.cc (1.81): Fixed a couple of
+	  comments.
+
+2003-04-11 Friday 08:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.15), Watchdog/ltmain.sh (1.4): Updated.
+
+2003-04-11 Friday 08:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: ConSys.cc (1.61), Constraint.cc (1.38),
+	  Constraint.inlines.hh (1.46), GenSys.cc (1.80), Generator.cc
+	  (1.45), Matrix.cc (1.56), Matrix.inlines.hh (1.32), Row.cc
+	  (1.52), Row.defs.hh (1.68), conversion.cc (1.48), simplify.cc
+	  (1.28): Commit to EXTRA_NORMALIZATION=1.
+
+2003-04-10 Thursday 14:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.cc (1.60), GenSys.cc (1.79), Polyhedron_widenings.cc
+	  (1.2), conversion.cc (1.47): Strong normalization of rows called
+	  when EXTRA_NORMALIZATION is set; otherwise use (simple)
+	  normalization.
+
+2003-04-10 Thursday 12:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.cc (1.59), GenSys.cc (1.78), Matrix.defs.hh (1.45),
+	  Matrix.inlines.hh (1.31), Polyhedron_chdims.cc (1.4): Added
+	  method Matrix::remove_columns(dimension_type new_n_columns) with
+	  the expected semantics. The method ensures that the resulting
+	  matrix is in normal form, thus correcting the bug shown by
+	  removedim10.cc.  The new method is now used everywhere we remove
+	  columns from a matrix.
+
+2003-04-10 Thursday 11:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/removedim10.cc (1.2): Corrected the known result.
+
+2003-04-10 Thursday 10:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.177), removedim10.cc (1.1): New test
+	  showing a bug whereby rows of matrices are not re-normalized
+	  after the removal of some columns.
+
+2003-04-10 Thursday 10:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/removedim9.cc (1.5): Indentation fixed.
+
+2003-04-09 Wednesday 09:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* STANDARDS (1.9): Improved the section about the production of
+	  Doxygen documentation.
+
+2003-04-09 Wednesday 09:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.58): Changed the way variables
+	  are bound to dimension names.  This avoids a problem due to a bug
+	  in XSB.
+
+2003-04-08 Tuesday 19:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.45): For the moment, it is convenient to have
+	  Matrix::set_sorted(bool value) instead of, say,
+	  Matrix::set_sorted() and Matrix::set_unsorted().  Sortedness will
+	  have to be dealt with at a more fundamental level anyway.
+
+2003-04-08 Tuesday 19:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.lsm.in (1.4): Updated.
+
+2003-04-08 Tuesday 19:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.44): Section on "Constructions on Polyhedra" revised.
+	  Minor fix in the section about "Cutting-Plane Methods".
+
+2003-04-08 Tuesday 19:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.43): Remove the section about designing and
+	  implementating strict weak orderings on polyhedra.
+
+2003-04-08 Tuesday 19:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.15): Updated.
+
+2003-04-08 Tuesday 18:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* INSTALL (1.5): Copyright symbol added.
+
+2003-04-08 Tuesday 18:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.12): Updated.
+
+2003-04-08 Tuesday 18:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS (1.7): Minor correction.
+
+2003-04-08 Tuesday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.97): Information on how
+	  to use the XSB interface added.
+
+2003-04-08 Tuesday 16:58  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/SatMatrix.defs.hh (1.31): Added short Doxygen description and
+	  improved the long one for SatMatrix.
+
+2003-04-08 Tuesday 13:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.49): Added missing
+	  definitions for
+	  ppl_Polyhedron_limited_H79_extrapolation_assign_with_token and
+	  ppl_Polyhedron_bounded_H79_extrapolation_assign_with_token.
+
+2003-04-08 Tuesday 13:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.322): Implementation file Polyhedron.cc has
+	  been split in 4 chunks: - Polyhedron_widenings.cc contains the
+	  definitions of (non-inline) functions   related to widening and
+	  extrapolation operators; - Polyhedron_chdims.cc contains the
+	  definitions of (non-inline) functions   that change the space
+	  dimensions; - Polyhedron_public.cc contains the definitions of
+	  all the other public	 (non-inline) functions -
+	  Polyhedron_nonpublic.cc contains the definitions of all the other
+	  non-public (i.e., private or protected) (non-inline) functions.
+
+2003-04-08 Tuesday 13:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron_chdims.cc (1.3), Polyhedron_nonpublic.cc (1.5),
+	  Row.defs.hh (1.67), statistics.hh (1.2): Added Doxygen
+	  documentation for a few #define's.
+
+2003-04-08 Tuesday 10:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: pl_check.pl (1.57), Ciao/ppl_ciao.pl (1.50):
+	  Added code and test to allow for Prolog failure in the
+	  ppl_Polyhedron_generalized_affine_image_lhs_rhs/4 predicate.
+
+2003-04-08 Tuesday 09:39  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.56): Added tests for Prolog
+	  failure for the "with_token" predicates.  Some reorganisation of
+	  the widening/extrapolation tests.
+
+2003-04-08 Tuesday 09:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Ciao/ppl_ciao.pl (1.49): Modified the
+	  "with_token" predicates to allow for Prolog failure.
+
+2003-04-08 Tuesday 08:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: PowerSet.defs.hh (1.29), PowerSet.inlines.hh (1.33): Added
+	  \relates command for functions working on class template
+	  PowerSet.
+
+2003-04-08 Tuesday 08:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Row.defs.hh (1.66): Improved the detailed Doxygen description
+	  of class Row.
+
+2003-04-08 Tuesday 08:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Determinate.defs.hh (1.29), Determinate.inlines.hh (1.27):
+	  Added a few \relates commands, which however show a bug in the
+	  handling of template specializations by Doxygen.
+
+2003-04-08 Tuesday 08:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/LinExpression.cc (1.17): Added missing \relates Doxygen
+	  commands.
+
+2003-04-07 Monday 16:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.14), Watchdog/ltmain.sh (1.3): Updated.
+
+2003-04-07 Monday 08:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Ciao/ppl_ciao.pl (1.48): The local definition
+	  of many of the ppl predicates changed to allow for Prolog
+	  failure.  Some missing predicates added.
+
+2003-04-07 Monday 08:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.55): Tests have been improved
+	  and extended to check negation and Prolog failure.  Some
+	  reorganisation done.
+
+2003-04-07 Monday 07:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/XSB/ppl_xsb.cc (1.35):
+	  ppl_Polyhedron_limited_H79_extrapolation_assign_with_token was
+	  missing - is now added.
+
+2003-04-06 Sunday 18:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.defs.hh (1.84), Constraint.inlines.hh (1.45),
+	  Generator.defs.hh (1.82), Generator.inlines.hh (1.40),
+	  LinExpression.defs.hh (1.59), LinExpression.inlines.hh (1.27),
+	  Polyhedron_public.cc (1.5): Adding a few missing \relates Doxygen
+	  commands.  Avoid adding Doxygen blocks near to *friend*
+	  declarations: comment the very function declarations instead.
+
+2003-04-06 Sunday 18:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Poly_Con_Relation.defs.hh (1.21),
+	  Poly_Con_Relation.inlines.hh (1.10), Poly_Gen_Relation.defs.hh
+	  (1.20), Poly_Gen_Relation.inlines.hh (1.10), SatRow.inlines.hh
+	  (1.26), Status.defs.hh (1.28), Status.inlines.hh (1.13): Adding a
+	  few missing \relates Doxygen commands.  Avoid adding Doxygen
+	  blocks near to *friend* declarations: comment the very function
+	  declarations instead.
+
+2003-04-06 Sunday 18:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/SatRow.defs.hh (1.30): Removed declared but unimplemented
+	  member function unsigned int size().
+
+2003-04-06 Sunday 12:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Row.defs.hh (1.65): Upgraded the detailed documentation of
+	  class Row to also describe the representation of NNC row objects.
+
+2003-04-05 Saturday 09:37  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Status.defs.hh (1.27): Modified class documentation to also
+	  consider the flags about pending constraints and generators.
+	  Moved Doxygen comments from friend declaration to the real
+	  function declaration. Avoid using preproc flag PPL_DOXYGEN_HYDE_
+	  IMPLEMENTATION_DETAILS when useless, i.e., when we are inside a
+	  class whose documentation is already hidden.
+
+2003-04-05 Saturday 09:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Matrix.cc (1.55), Matrix.defs.hh (1.44): Adjusted a couple
+	  of Doxygen and code comments.
+
+2003-04-01 Tuesday 12:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.93): Fixed a bug whereby building of the SICStus
+	  Prolog interface was attempted even if deemed to fail because the
+	  sicstus.h include could not be found.
+
+2003-04-01 Tuesday 12:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron_public.cc (1.4), SatRow.cc (1.18): Added four
+	  \relates Doxygen commands to correctly match declaration and
+	  definition of functions in the devref manual.
+
+2003-03-31 Monday 10:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h (1.83): Missing inline qualification added.
+
+2003-03-31 Monday 10:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.13): Updated.
+
+2003-03-28 Friday 10:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* configure.ac (1.92): When checking for the presence of source
+	  files, avoid testing for `Polyhedron.cc', who is going to be
+	  removed from the repository.
+
+2003-03-27 Thursday 14:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.42): New items to be checked.
+
+2003-03-27 Thursday 14:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Matrix.cc (1.54): Comments of Matrix::operator=(const Matrix&
+	  y) made more precise.
+
+2003-03-27 Thursday 14:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Row.inlines.hh (1.39): Indentation of preprocessing
+	  directives fixed.
+
+2003-03-27 Thursday 14:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Row.cc (1.51): Row::Impl::copy_construct() slightly improved.
+
+2003-03-27 Thursday 14:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Matrix.inlines.hh (1.30): Spacing adjusted.
+
+2003-03-25 Tuesday 18:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.96), pl_check.pl
+	  (1.54): The documentation for the relations_with predicates
+	  corrected.  The tests for the relations_with predicates improved.
+
+2003-03-25 Tuesday 11:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (1.71): Inline functions should be
+	  *defined* before they are used.
+
+2003-03-19 Wednesday 09:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.53): All tests now test both c
+	  and nnc polyhedra.  Some more checks on the interface
+	  incorporated into these tests.
+
+2003-03-19 Wednesday 08:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/permute.cc (1.30): Avoid unnecessary calls to
+	  append_size_rel.
+
+2003-03-19 Wednesday 07:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/permute.cc (1.29): Bug fixed
+
+2003-03-18 Tuesday 15:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/SatRow.defs.hh (1.29): Added Doxygen comment to class SatRow.
+	  Avoiding commenting friend declarations.
+
+2003-03-18 Tuesday 15:56  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Row.defs.hh (1.64): Added doxygen comment to class Row::Impl.
+
+2003-03-18 Tuesday 12:41  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref-browse.doxyconf-latex.in (1.28),
+	  devref-print.doxyconf-latex.in (1.28), devref.doxyconf-html.in
+	  (1.29): Added input file version.hh.
+
+2003-03-18 Tuesday 11:37  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.inlines.hh (1.44), Row.cc (1.50), Row.defs.hh
+	  (1.63), Row.inlines.hh (1.38), SatMatrix.defs.hh (1.30),
+	  SatMatrix.inlines.hh (1.19), SatRow.defs.hh (1.28),
+	  SatRow.inlines.hh (1.25): As suggested in our STANDARDS file, let
+	  all Doxygen comments be centralized before methods declarations
+	  in file *.defs.hh.  In class Row, be careful to use the same
+	  parameter naming in declarations and definitions.  For Row and
+	  SatRow, let std::iter_swap be declared in *.defs.hh.
+
+2003-03-18 Tuesday 11:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_prolog.icc (1.107), Ciao/ppl_ciao.pl
+	  (1.47): Be more general with respect to different ways of raising
+	  Prolog exceptions in C code.
+
+2003-03-18 Tuesday 10:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.95): Bug in comment for
+	  ppl_Polyhedron_OK fixed.
+
+2003-03-18 Tuesday 10:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/ppl_xsb.cc (1.34): Repeated declaration
+	  removed.
+
+2003-03-18 Tuesday 08:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.94): Bug fixed in
+	  documentation of ppl_Polyhedron_OK.
+
+2003-03-18 Tuesday 08:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/XSB/ppl_xsb.cc (1.33): Bug fixed.
+
+2003-03-18 Tuesday 08:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.93), pl_check.pl
+	  (1.52), ppl_prolog.icc (1.106), Ciao/ppl_ciao.pl (1.46),
+	  GNU/ppl_gprolog.pl (1.35), SICStus/ppl_sicstus_sd.cc (1.48),
+	  SWI/ppl_swiprolog.cc (1.72), XSB/ppl_xsb.H (1.22), XSB/ppl_xsb.cc
+	  (1.32), YAP/ppl_yap.cc (1.66): The "with_token" predicates added
+	  for the extrapolation operators.  The ppl_Polyhedron_OK predicate
+	  added.  The documentation predicates reorganised to match the
+	  standard ordering.  Tests added for the new predicates.
+
+2003-03-17 Monday 09:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h (1.82): Comments fixed.
+
+2003-03-17 Monday 09:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.51): Many improvements and extra
+	  tests added.
+
+2003-03-16 Sunday 22:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.105): Default arguments are
+	  only permitted on functions.
+
+2003-03-16 Sunday 22:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.104): Prefer anonymous
+	  namespaces to static linkage.
+
+2003-03-16 Sunday 14:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.inlines.hh (1.70), Polyhedron_chdims.cc (1.2),
+	  Polyhedron_nonpublic.cc (1.4), Polyhedron_public.cc (1.3): A few
+	  harmless FIXME's replaced by TODO.
+
+2003-03-16 Sunday 10:18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc (1.2): In affine_image(), added a
+	  comment explaining why in one case we can leave work correctly
+	  with a DD pair having pending rows.
+
+2003-03-16 Sunday 10:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_nonpublic.cc (1.3): Preferred unset_pending_rows()
+	  wrt set_index_first_pending_row().
+
+2003-03-16 Sunday 10:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/simplify.cc (1.27): Preferring unset_pending_rows() wrt
+	  set_index_first_pending_row().
+
+2003-03-16 Sunday 10:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/conversion.cc (1.46): Dealt with a FIXME. Preferring the use
+	  of unset_pending_rows() wrt the use of set_index_first_pending(),
+	  since the first is more intuitive.
+
+2003-03-16 Sunday 10:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/GenSys.cc (1.77): Dealt with the CHECK ME in
+	  remove_invalid_rays_and_lines().
+
+2003-03-16 Sunday 10:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/ConSys.cc (1.58): Added a needed comment.
+
+2003-03-15 Saturday 17:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.103): Some code duplication
+	  avoided.
+
+2003-03-15 Saturday 13:41  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.defs.hh (1.78), GenSys.defs.hh (1.90): Corrected
+	  typos in comments.
+
+2003-03-15 Saturday 13:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (1.69): Small corrections in
+	  rename_dimensions().
+
+2003-03-15 Saturday 13:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.h (1.81), ppl_c.cc (1.74): Added the
+	  equality test for polyhedra to the C interface.
+
+2003-03-14 Friday 21:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/devref-browse.doxyconf-latex.in (1.27),
+	  doc/devref-print.doxyconf-latex.in (1.27),
+	  doc/devref.doxyconf-html.in (1.28), interfaces/C/ppl_c.h (1.80),
+	  interfaces/Prolog/Prolog_interface.dox (1.92),
+	  interfaces/Prolog/ppl_prolog.icc (1.102),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.45),
+	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.34),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.47),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.71),
+	  interfaces/Prolog/XSB/ppl_xsb.H (1.21),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.31),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.65), src/Polyhedron.defs.hh
+	  (1.201), src/Polyhedron.inlines.hh (1.68),
+	  src/Polyhedron_nonpublic.cc (1.2): Reordered the functions and
+	  their documentation in all the interfaces to follow the
+	  reorganization done in Polyhedron.defs.hh.  Adjusted Doxygen
+	  configuration files for the devref manuals to get their input
+	  from the new .cc files of class Polyhedron.
+
+2003-03-14 Friday 13:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.69), TODO (1.41), interfaces/C/ppl_c.cc (1.73),
+	  interfaces/C/ppl_c.h (1.79),
+	  interfaces/Prolog/Prolog_interface.dox (1.91),
+	  interfaces/Prolog/pl_check.pl (1.50),
+	  interfaces/Prolog/ppl_prolog.icc (1.101),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.44),
+	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.33),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.46),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.70),
+	  interfaces/Prolog/XSB/ppl_xsb.H (1.20),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.30),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.64): Interfaces changed to
+	  match method name changes (check_bound, check_topolo- giaclly
+	  close and check_disjoint). Change reported in the NEWS.
+
+2003-03-14 Friday 13:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: bounded1.cc (1.11), disjoint1.cc (1.5), disjoint2.cc
+	  (1.6), disjoint3.cc (1.5), linearpartition1.cc (1.10),
+	  linearpartition2.cc (1.10), linearpartition3.cc (1.10),
+	  topclosed1.cc (1.5), topclosed2.cc (1.4), topclosed3.cc (1.6):
+	  Tests changed according to method renaming.
+
+2003-03-14 Friday 13:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: C_Polyhedron.cc (1.5), Makefile.am (1.62), Polyhedron.cc
+	  (1.321), Polyhedron.defs.hh (1.200), Polyhedron.inlines.hh
+	  (1.67), Polyhedron_chdims.cc (1.1), Polyhedron_nonpublic.cc
+	  (1.1), Polyhedron_public.cc (1.1), Polyhedron_widenings.cc (1.1):
+	  Split file Polyhedron.cc into several files.	Methods
+	  is_bounded(), is_topologically_closed() and are_disjoint()
+	  renamed to check_bounded(), check_topologically_closed() and
+	  check_disjoint().  Documentation reorganized to match more
+	  closely the order in the introduction of the user manual, also
+	  grouping related methods.  Added exception thrower
+	  throw_runtime_error().  In the documentation, all examples using
+	  class `Polyhedron' changed to use the user-accessible class
+	  `C_Polyhedron'.
+
+2003-03-14 Friday 12:56  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Matrix.defs.hh (1.43), Poly_Con_Relation.defs.hh (1.20),
+	  Poly_Gen_Relation.defs.hh (1.19), Row.defs.hh (1.62),
+	  SatRow.defs.hh (1.27), Status.defs.hh (1.26): In Doxygen
+	  documentation, replaced `@name' by `\name'.
+
+2003-03-14 Friday 09:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Ciao/Makefile.am (1.17): Corrected for clpq2.pl
+	  checks
+
+2003-03-13 Thursday 17:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/: Makefile.am (1.27), gnu_pl_check.pl
+	  (1.1): Test all predicates with GNU Prolog.
+
+2003-03-13 Thursday 08:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/yap_pl_check.pl (1.2): Comment corrected.
+
+2003-03-13 Thursday 08:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/Makefile.am (1.19): Dependencies fixed.
+
+2003-03-12 Wednesday 19:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.116): Another attempt at specifying the
+	  space-dimensions remapping operator.
+
+2003-03-12 Wednesday 19:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: expected3 (1.1), YAP/Makefile.am (1.18),
+	  YAP/yap_pl_check.pl (1.1): A first attempt at integrating
+	  `pl_check.pl' into the regression testing mechanism.
+
+2003-03-12 Wednesday 19:44  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: user-browse.doxyconf-latex.in (1.15),
+	  user-print.doxyconf-latex.in (1.15), user.doxyconf-html.in
+	  (1.17): Hide the listing of friend compounds in the user
+	  documentation.
+
+2003-03-12 Wednesday 16:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.49): Removed the "and_minimize"
+	  from the code for the "checks" predicate.
+
+2003-03-12 Wednesday 13:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.320): Corrected a bug in
+	  Polyhedron::add_genrators() whereby a generator system was
+	  wrongly declared sorted after the inclusion of pending rows.
+
+2003-03-12 Wednesday 10:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/GNU/ppl_gprolog.pl (1.32): Added missing
+	  definitions and corrected a bug.
+
+2003-03-12 Wednesday 08:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.176), addgenerators13.cc (1.1): New test
+	  exhibiting a bug triggered by an invocation to
+	  Polyhedron::add_generators()..
+
+2003-03-12 Wednesday 08:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.48): In many cases, predicates
+	  that are intended to cause Prolog failure in certain specified
+	  situations now tested more thoroughly.  Unnecessary uses of
+	  "and_minimize" removed.  Other general improvements.
+
+2003-03-11 Tuesday 20:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.90): Mention that we
+	  support only YAP version 4.4 or later and Ciao Prolog 1.9 #44 or
+	  later.
+
+2003-03-11 Tuesday 19:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.100): Now all the
+	  *_and_minimize/2 predicates fail if the resulting polyhedron is
+	  empty.
+
+2003-03-11 Tuesday 17:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.99): Indentation fixed.
+
+2003-03-11 Tuesday 15:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: pl_check.pl (1.47), ppl_prolog.icc (1.98),
+	  Ciao/ppl_ciao.pl (1.43), GNU/ppl_gprolog.pl (1.31),
+	  SICStus/ppl_sicstus_sd.cc (1.45), SWI/ppl_swiprolog.cc (1.69),
+	  XSB/ppl_xsb.H (1.19), XSB/ppl_xsb.cc (1.29), YAP/ppl_yap.cc
+	  (1.63): The "..with_tokens" predicates are now "..with_token".
+	  The predicate ppl_Polyhedron_bounded_H79_extrapolation_assign/3
+	  added to Ciao, GNU, SICStus, XSB, and Yap.
+
+2003-03-11 Tuesday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/: ciao_clpq.pl (1.6), ciao_clpq2.pl (1.2):
+	  Import as few predicates as possible.
+
+2003-03-11 Tuesday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/ppl_ciao.pl (1.42): Complete declarations
+	  for ppl_Polyhedron_H79_widening_assign_with_tokens/3.
+
+2003-03-11 Tuesday 11:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: pl_check.pl (1.46), Ciao/ppl_ciao.pl (1.41),
+	  GNU/ppl_gprolog.pl (1.30), SICStus/ppl_sicstus_sd.cc (1.44),
+	  SWI/ppl_swiprolog.cc (1.68), XSB/ppl_xsb.H (1.18), XSB/ppl_xsb.cc
+	  (1.28), YAP/ppl_yap.cc (1.62): Tests for new interface predicates
+	  added.
+
+2003-03-11 Tuesday 10:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.97): Translate std::bad_alloc
+	  into a usable Prolog exception.
+
+2003-03-11 Tuesday 10:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.96):
+	  PIFunc::max_in_codomain() fixed.
+
+2003-03-11 Tuesday 09:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.89): Descriptions of
+	  "with_token" predicates improved.
+
+2003-03-10 Monday 19:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/: Makefile.am (1.16), ciao_clpq.pl (1.5),
+	  ciao_clpq2.pl (1.1), ppl_ciao.cc (1.18), ppl_ciao.pl (1.40): Ciao
+	  Prolog interface fixed and now part of the regression testing
+	  mechanism.
+
+2003-03-10 Monday 19:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.68): The Prolog interface now supports also Ciao Prolog
+	  and XSB.
+
+2003-03-10 Monday 18:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.115): First attempt at describing the
+	  operator remapping dimensions.
+
+2003-03-10 Monday 12:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.114): Changed a bit the description about
+	  widenings to better clarify what has been done and we are still
+	  doing for NNC polyhedra.
+
+2003-03-10 Monday 11:44  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.72), ppl_c.h (1.78): Modified the C
+	  interface to support the widening-with-tokens technique for all
+	  widening and extrapolation operators.
+
+2003-03-10 Monday 10:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.88): Descriptions for
+	  the bounded_..._extrapolation_assign predicates corrected.
+
+2003-03-10 Monday 10:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.87): Added
+	  documentation for the with_token versions of the widening
+	  predicates and for the bounded versions of the extrapolation
+	  predicates.
+
+2003-03-10 Monday 09:27  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.86): Prolog interface
+	  documentation reorganised with a summary list of all predicates.
+
+2003-03-09 Sunday 22:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.95): Started factorizing the
+	  implementation of the Prolog interface using pointers to members.
+
+2003-03-09 Sunday 21:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_prolog.icc (1.94), Ciao/ppl_ciao.pl
+	  (1.39), GNU/ppl_gprolog.pl (1.29), SICStus/ppl_sicstus_sd.cc
+	  (1.43), SWI/ppl_swiprolog.cc (1.67), XSB/ppl_xsb.H (1.17),
+	  XSB/ppl_xsb.cc (1.27), YAP/ppl_yap.cc (1.61): New predicate
+	  ppl_Polyhedron_bounded_BHRZ03_extrapolation_assign/3.
+
+2003-03-09 Sunday 21:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_prolog.icc (1.93), Ciao/ppl_ciao.pl
+	  (1.38), GNU/ppl_gprolog.pl (1.28), SICStus/ppl_sicstus_sd.cc
+	  (1.42), SWI/ppl_swiprolog.cc (1.66), XSB/ppl_xsb.H (1.16),
+	  XSB/ppl_xsb.cc (1.26), YAP/ppl_yap.cc (1.60): New predicate
+	  ppl_Polyhedron_BHRZ03_widening_assign_with_tokens/3.
+
+2003-03-09 Sunday 21:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.71), ppl_c.h (1.77): New function
+	  ppl_Polyhedron_BHRZ03_widening_assign_with_tokens().	Some
+	  hyperlinks added.
+
+2003-03-09 Sunday 20:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.h.in (1.23): Updated.
+
+2003-03-09 Sunday 20:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.91): Check whether the C compiler supports the
+	  `inline' keyword.
+
+2003-03-09 Sunday 19:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.40), src/Interval.defs.hh (1.13): The Interval class has
+	  been documented.
+
+2003-03-09 Sunday 19:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.199): Polyhedron::OK() only prints
+	  something if run-time assertions are enabled.
+
+2003-03-09 Sunday 11:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.39), src/Polyhedron.types.hh (1.9): Explained PPL's I/O
+	  operators and how to deal with the IO_Operators namespace.
+
+2003-03-09 Sunday 08:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.38): It should now be clear how to build the
+	  documentation.
+
+2003-03-09 Sunday 08:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.90): Version number bumped.
+
+2003-03-09 Sunday 08:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/adddimensions13.cc (1.2): Comments improved.
+
+2003-03-09 Sunday 08:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Matrix.cc (1.53): Explain the necessity of the guard against
+	  auto-assignments in Matrix::operator=(const Matrix&).
+
+2003-03-08 Saturday 22:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Matrix.cc (1.52): Corrected Matrix::operator= to avoid the
+	  bug shown by tests adddimensions13.
+
+2003-03-08 Saturday 22:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am (1.175), adddimensions13.cc (1.1): Added test
+	  showing a bug in teh assignment operator of Matrix. Bug is only
+	  visible when configuring with --enable-more-assertions.
+
+2003-03-08 Saturday 22:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.113): Removed wrong capitalization.
+
+2003-03-08 Saturday 21:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: devref.tex (1.11), user.tex (1.12): Apparently, CoVer is a
+	  MURST project.
+
+2003-03-08 Saturday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.70), ppl_c.h (1.76): New functions
+	  ppl_add_LinExpression_to_LinExpression(),
+	  ppl_subtract_LinExpression_from_LinExpression() and
+	  ppl_multiply_LinExpression_by_Coefficient().
+
+2003-03-08 Saturday 21:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Variable.defs.hh (1.30): Variable::Compare commented.
+
+2003-03-08 Saturday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS (1.6), TODO (1.37): CREDITS updated.
+
+2003-03-08 Saturday 11:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/README (1.1): Explain how to get (more) PPL documentation.
+
+2003-03-08 Saturday 09:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.69), ppl_c.h (1.75): Typos fixed.
+
+2003-03-08 Saturday 09:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: adddimensions9.cc (1.6), affineimage8.cc (1.7),
+	  affinepreimage10.cc (1.7), bounded1.cc (1.10), concatenate2.cc
+	  (1.7), disjoint1.cc (1.4), exceptions1.cc (1.33), exceptions2.cc
+	  (1.27), intersection10.cc (1.5), removedim7.cc (1.8): Typos
+	  fixed.
+
+2003-03-08 Saturday 09:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Constraint.defs.hh (1.83), GenSys.cc (1.76), Polyhedron.cc
+	  (1.319), Polyhedron.defs.hh (1.198), Polyhedron.inlines.hh
+	  (1.66), SatRow.defs.hh (1.26), Status.cc (1.20), conversion.cc
+	  (1.45), minimize.cc (1.32), simplify.cc (1.26): Typos fixed.
+
+2003-03-07 Friday 19:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: exceptions1.cc (1.32), exceptions2.cc (1.26),
+	  generalizedaffineimage1.cc (1.7), generalizedaffineimage10.cc
+	  (1.6), generalizedaffineimage11.cc (1.5),
+	  generalizedaffineimage12.cc (1.4), generalizedaffineimage2.cc
+	  (1.6), generalizedaffineimage3.cc (1.7),
+	  generalizedaffineimage4.cc (1.5), generalizedaffineimage5.cc
+	  (1.5), generalizedaffineimage6.cc (1.5),
+	  generalizedaffineimage7.cc (1.7), generalizedaffineimage8.cc
+	  (1.5), generalizedaffineimage9.cc (1.5): Reflect the changes to
+	  the enumerate Relation_Symbol.
+
+2003-03-07 Friday 19:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.68), ppl_c.h (1.74): New functions
+	  ppl_LinExpression_coefficient() and
+	  ppl_LinExpression_inhomogeneous_term().
+
+2003-03-07 Friday 17:41  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h (1.73): Reorganized the C interface
+	  documentation using Doxygen member grouping and trying to use
+	  brief comments when possible.
+
+2003-03-07 Friday 15:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.61): Old stuff removed.
+
+2003-03-07 Friday 15:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.67), doc/definitions.dox (1.112), doc/ppl.sty (1.11),
+	  interfaces/C/ppl_c.cc (1.67), interfaces/C/ppl_c.h (1.72),
+	  interfaces/Prolog/Prolog_interface.dox (1.85),
+	  interfaces/Prolog/ppl_prolog.icc (1.92), src/Constraint.defs.hh
+	  (1.82), src/LinExpression.defs.hh (1.58), src/Polyhedron.cc
+	  (1.318), src/Polyhedron.defs.hh (1.197), src/globals.hh (1.32):
+	  We now speak of "relation symbols", not of "relation operators"
+	  or "relational operators".
+
+2003-03-07 Friday 14:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.111),
+	  interfaces/Prolog/Prolog_interface.dox (1.84): The discussion
+	  about eager methods moved from the prolog interface to the
+	  introduction (just before the bibliography).
+
+2003-03-07 Friday 11:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.66), TODO (1.36), interfaces/C/ppl_c.cc (1.66),
+	  interfaces/C/ppl_c.h (1.71),
+	  interfaces/Prolog/Prolog_interface.dox (1.83),
+	  interfaces/Prolog/pl_check.pl (1.45),
+	  interfaces/Prolog/ppl_prolog.icc (1.91),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.37),
+	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.27),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.41),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.65),
+	  interfaces/Prolog/XSB/ppl_xsb.H (1.15),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.25),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.59), src/Determinate.defs.hh
+	  (1.28), src/Determinate.inlines.hh (1.26), src/Polyhedron.defs.hh
+	  (1.196), src/Polyhedron.inlines.hh (1.65), src/PowerSet.defs.hh
+	  (1.28), src/PowerSet.inlines.hh (1.32), tests/Makefile.am
+	  (1.174), tests/renamedim1.cc (1.1), tests/shuffledim1.cc (1.11):
+	  We rename dimensions, we do not shuffle them.
+
+2003-03-07 Friday 11:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: definitions.dox (1.110), devref-browse.doxyconf-latex.in
+	  (1.26), devref-print.doxyconf-latex.in (1.26),
+	  devref.doxyconf-html.in (1.27), user-browse.doxyconf-latex.in
+	  (1.14), user-print.doxyconf-latex.in (1.14),
+	  user.doxyconf-html.in (1.16): Updated Doxygen configuration files
+	  to version 1.3-rc3-20030223.	Small typo fixed in
+	  definitions.dox.
+
+2003-03-07 Friday 11:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.90): Predicate
+	  ppl_Polyhedron_shuffle_dimensions/2 now fails when given a
+	  non-injective function.
+
+2003-03-07 Friday 09:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: CbecomesNNC1.cc (1.4), NNCinclusion1.cc (1.6),
+	  NNCminimize1.cc (1.9), NNCminimize2.cc (1.9), NNCminimize3.cc
+	  (1.9), NNCminimize4.cc (1.11), NNCminimize5.cc (1.8),
+	  NNCminimize6.cc (1.10), addconstraint1.cc (1.4),
+	  addconstraint2.cc (1.3), addconstraint3.cc (1.3),
+	  addconstraints1.cc (1.10), addconstraints10.cc (1.9),
+	  addconstraints11.cc (1.10), addconstraints12.cc (1.3),
+	  addconstraints13.cc (1.5), addconstraints2.cc (1.18),
+	  addconstraints3.cc (1.8), addconstraints4.cc (1.10),
+	  addconstraints5.cc (1.11), addconstraints6.cc (1.12),
+	  addconstraints7.cc (1.11), addconstraints8.cc (1.11),
+	  addconstraints9.cc (1.12), adddimensions1.cc (1.13),
+	  adddimensions10.cc (1.6), adddimensions11.cc (1.4),
+	  adddimensions12.cc (1.3), adddimensions2.cc (1.9),
+	  adddimensions3.cc (1.11), adddimensions4.cc (1.9),
+	  adddimensions5.cc (1.7), adddimensions6.cc (1.7),
+	  adddimensions7.cc (1.7), adddimensions8.cc (1.5),
+	  adddimensions9.cc (1.5), addgenerator1.cc (1.4), addgenerator2.cc
+	  (1.4), addgenerator3.cc (1.3), addgenerator4.cc (1.4),
+	  addgenerators1.cc (1.11), addgenerators10.cc (1.3),
+	  addgenerators11.cc (1.5), addgenerators12.cc (1.5),
+	  addgenerators2.cc (1.11), addgenerators3.cc (1.11),
+	  addgenerators4.cc (1.11), addgenerators5.cc (1.11),
+	  addgenerators6.cc (1.11), addgenerators7.cc (1.8),
+	  addgenerators8.cc (1.6), addgenerators9.cc (1.5), affineimage1.cc
+	  (1.11), affineimage2.cc (1.10), affineimage3.cc (1.3),
+	  affineimage4.cc (1.3), affineimage5.cc (1.4), affineimage6.cc
+	  (1.3), affineimage7.cc (1.3), affineimage8.cc (1.6),
+	  affinepreimage1.cc (1.10), affinepreimage10.cc (1.6),
+	  affinepreimage2.cc (1.10), affinepreimage3.cc (1.10),
+	  affinepreimage4.cc (1.11), affinepreimage5.cc (1.3),
+	  affinepreimage6.cc (1.4), affinepreimage7.cc (1.3),
+	  affinepreimage8.cc (1.3), affinepreimage9.cc (1.4),
+	  affinetrans.cc (1.13), append1.cc (1.21), append2.cc (1.21),
+	  ascii_dump_load1.cc (1.12), ascii_dump_load2.cc (1.10),
+	  ascii_dump_load3.cc (1.13), ascii_dump_load4.cc (1.13),
+	  ascii_dump_load5.cc (1.9), ascii_dump_load6.cc (1.6),
+	  ascii_dump_load7.cc (1.6), bhrz03widening1.cc (1.3),
+	  bhrz03widening10.cc (1.3), bhrz03widening11.cc (1.3),
+	  bhrz03widening12.cc (1.3), bhrz03widening13.cc (1.3),
+	  bhrz03widening14.cc (1.3), bhrz03widening15.cc (1.5),
+	  bhrz03widening16.cc (1.3), bhrz03widening17.cc (1.3),
+	  bhrz03widening18.cc (1.3), bhrz03widening19.cc (1.3),
+	  bhrz03widening2.cc (1.5), bhrz03widening3.cc (1.5),
+	  bhrz03widening4.cc (1.3), bhrz03widening5.cc (1.3),
+	  bhrz03widening6.cc (1.4), bhrz03widening7.cc (1.4),
+	  bhrz03widening8.cc (1.3), bhrz03widening9.cc (1.5), bounded1.cc
+	  (1.9), boundingbox1.cc (1.32), boundingbox2.cc (1.17),
+	  boundingbox3.cc (1.8), boundingbox4.cc (1.5), bounds1.cc (1.5),
+	  bounds2.cc (1.5), concatenate1.cc (1.7), concatenate2.cc (1.6),
+	  concatenate3.cc (1.6), concatenate4.cc (1.5), concatenate5.cc
+	  (1.3), concatenate6.cc (1.5), constraints1.cc (1.5),
+	  constraints2.cc (1.5), constraints3.cc (1.5), constraints4.cc
+	  (1.5), contains1.cc (1.3), disjoint1.cc (1.3), disjoint2.cc
+	  (1.5), disjoint3.cc (1.4), ehandlers.hh (1.7), empty1.cc (1.12),
+	  exceptions1.cc (1.31), exceptions2.cc (1.25),
+	  generalizedaffineimage1.cc (1.6), generalizedaffineimage10.cc
+	  (1.5), generalizedaffineimage11.cc (1.4),
+	  generalizedaffineimage12.cc (1.3), generalizedaffineimage2.cc
+	  (1.5), generalizedaffineimage3.cc (1.6),
+	  generalizedaffineimage4.cc (1.4), generalizedaffineimage5.cc
+	  (1.4), generalizedaffineimage6.cc (1.4),
+	  generalizedaffineimage7.cc (1.6), generalizedaffineimage8.cc
+	  (1.4), generalizedaffineimage9.cc (1.4), generators1.cc (1.12),
+	  generators2.cc (1.8), generators3.cc (1.4), generators4.cc (1.4),
+	  generators5.cc (1.4), generators6.cc (1.5), h79widening1.cc
+	  (1.5), h79widening2.cc (1.6), h79widening3.cc (1.6),
+	  h79widening4.cc (1.3), h79widening5.cc (1.4), inclusion1.cc
+	  (1.6), inclusion2.cc (1.3), intersection1.cc (1.5),
+	  intersection10.cc (1.4), intersection11.cc (1.5),
+	  intersection2.cc (1.8), intersection3.cc (1.6), intersection4.cc
+	  (1.6), intersection5.cc (1.6), intersection6.cc (1.6),
+	  intersection7.cc (1.5), intersection8.cc (1.4), intersection9.cc
+	  (1.4), limitedbhrz03extrapolation1.cc (1.2),
+	  limitedh79extrapolation1.cc (1.2), limitedh79extrapolation2.cc
+	  (1.2), limitedh79extrapolation3.cc (1.2),
+	  limitedh79extrapolation4.cc (1.2), linearpartition1.cc (1.9),
+	  linearpartition2.cc (1.9), linearpartition3.cc (1.9),
+	  linexpression1.cc (1.3), mc91.cc (1.11), memory1.cc (1.19),
+	  minconstraints1.cc (1.4), minconstraints2.cc (1.4),
+	  minconstraints3.cc (1.3), minconstraints4.cc (1.7),
+	  mingenerators1.cc (1.4), mingenerators2.cc (1.3),
+	  mingenerators3.cc (1.3), onepoint.cc (1.9), operator1.cc (1.4),
+	  permute.cc (1.28), polydifference1.cc (1.6), polydifference2.cc
+	  (1.8), polydifference3.cc (1.3), polydifference4.cc (1.4),
+	  polydifference5.cc (1.5), polydifference6.cc (1.5),
+	  polydifference7.cc (1.4), polyhull1.cc (1.6), polyhull10.cc
+	  (1.3), polyhull2.cc (1.6), polyhull3.cc (1.6), polyhull4.cc
+	  (1.5), polyhull5.cc (1.4), polyhull6.cc (1.4), polyhull7.cc
+	  (1.3), polyhull8.cc (1.4), polyhull9.cc (1.5), randphull1.cc
+	  (1.8), randphull2.cc (1.5), relations1.cc (1.9), relations10.cc
+	  (1.5), relations11.cc (1.5), relations12.cc (1.4), relations13.cc
+	  (1.4), relations14.cc (1.4), relations15.cc (1.4), relations16.cc
+	  (1.4), relations17.cc (1.6), relations18.cc (1.4), relations19.cc
+	  (1.5), relations2.cc (1.10), relations3.cc (1.10), relations4.cc
+	  (1.10), relations5.cc (1.10), relations6.cc (1.9), relations7.cc
+	  (1.9), relations8.cc (1.9), relations9.cc (1.11), removedim1.cc
+	  (1.10), removedim2.cc (1.14), removedim3.cc (1.10), removedim4.cc
+	  (1.11), removedim5.cc (1.9), removedim6.cc (1.12), removedim7.cc
+	  (1.7), removedim8.cc (1.5), removedim9.cc (1.4), shuffledim1.cc
+	  (1.10), smm1.cc (1.13), timeelapse1.cc (1.7), timeelapse2.cc
+	  (1.7), timeelapse3.cc (1.7), timeelapse4.cc (1.7), timeelapse5.cc
+	  (1.7), timeelapse6.cc (1.3), timeelapse7.cc (1.3), timeelapse8.cc
+	  (1.4), topclosed1.cc (1.4), topclosed2.cc (1.3), topclosed3.cc
+	  (1.5), topclosure1.cc (1.6), topclosure2.cc (1.3), topclosure3.cc
+	  (1.3), topclosure4.cc (1.5), universe1.cc (1.8), universe2.cc
+	  (1.9), universe3.cc (1.9), universe4.cc (1.9), universe5.cc
+	  (1.10), universe6.cc (1.7), watchdog1.cc (1.17), writeconsys1.cc
+	  (1.6), writegensys1.cc (1.7), writegensys2.cc (1.7),
+	  writegensys3.cc (1.6), writepolyhedron1.cc (1.6),
+	  writepolyhedron2.cc (1.7), writepolyhedron3.cc (1.6),
+	  writerelation1.cc (1.6), writevariable1.cc (1.6): Treatment of
+	  exceptions harmonized.  Some stylistic improvements.
+
+2003-03-07 Friday 09:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.82), pl_check.pl
+	  (1.44): Added documentation and tests for the new Prolog
+	  interface predicates ppl_Polyhedron_generalized_affine_image/5
+	  and ppl_Polyhedron_generalized_affine_image_lhs_rhs/4.
+
+2003-03-06 Thursday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: append1.cc (1.20), permute.cc (1.27), shuffledim1.cc
+	  (1.9): Return 1 on failure.
+
+2003-03-06 Thursday 21:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h (1.70): Avoid using `//' comments, since
+	  they are not in C89.	Let the multiple inclusion guard be
+	  external to everything.
+
+2003-03-06 Thursday 21:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_prolog.icc (1.89), Ciao/ppl_ciao.pl
+	  (1.36), GNU/ppl_gprolog.pl (1.26), SICStus/ppl_sicstus_sd.cc
+	  (1.40), SWI/ppl_swiprolog.cc (1.64), XSB/ppl_xsb.H (1.14),
+	  XSB/ppl_xsb.cc (1.24), YAP/ppl_yap.cc (1.58): New predicates
+	  ppl_Polyhedron_generalized_affine_image/5 and
+	  ppl_Polyhedron_generalized_affine_image_lhs_rhs/4.
+
+2003-03-06 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/version.hh.in (1.4): Specify that the beta number is zero for
+	  official releases and nonzero for development snapshots.
+
+2003-03-06 Thursday 12:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.81): Improved
+	  discussion about *_and_minimize predicates.
+
+2003-03-06 Thursday 11:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/version.hh.in (1.3): Small correction of module heading.
+
+2003-03-06 Thursday 11:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.109), doc/fdl.dox (1.3), doc/gpl.dox
+	  (1.4), interfaces/C/ppl_c.h (1.69),
+	  interfaces/Prolog/Prolog_interface.dox (1.80): Let the licence
+	  pages and the documentation of foreign language interfaces be
+	  grouped into ``modules'', so as to avoid spreading information in
+	  too many places of the user manual. We no longer have a ``PPL
+	  pages'' index.
+
+2003-03-06 Thursday 09:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.43): Updated the predicate
+	  testing the PPL watchdog predicates to use ppl_Polyhedron_swap/2.
+
+2003-03-06 Thursday 09:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.79), pl_check.pl
+	  (1.42): Added the ppl_Polyhedron_time_elapse_assign/2 to the
+	  Prolog documentation and to the tests in pl_check.pl.
+
+2003-03-05 Wednesday 23:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/version.hh.in (1.2): Library defines with version info put
+	  inside a \defgroup block to have them appear in the user
+	  documentation.
+
+2003-03-05 Wednesday 18:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: append1.cc (1.19), append2.cc (1.20), concatenate1.cc
+	  (1.6), permute.cc (1.26): Do not use the obsolete
+	  operator>>(const Constraint&, unsigned int).
+
+2003-03-05 Wednesday 18:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_prolog.icc (1.88), Ciao/ppl_ciao.pl
+	  (1.35), GNU/ppl_gprolog.pl (1.25), SICStus/ppl_sicstus_sd.cc
+	  (1.39), SWI/ppl_swiprolog.cc (1.63), XSB/ppl_xsb.H (1.13),
+	  XSB/ppl_xsb.cc (1.23), YAP/ppl_yap.cc (1.57): New predicate
+	  ppl_Polyhedron_time_elapse_assign/2.
+
+2003-03-05 Wednesday 17:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (1.64), tests/shuffledim1.cc (1.8):
+	  Corrected implementation of shuffle_dimensions() and the known
+	  result in the last test of shuffledim1.
+
+2003-03-05 Wednesday 16:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.317): Avoid useless abbreviations.
+
+2003-03-05 Wednesday 15:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.41): Call to polydiff_assign_min
+	  removed from check_all.
+
+2003-03-05 Wednesday 15:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.78), pl_check.pl
+	  (1.40): Added ppl_Polyhedron_swap/2.	Shuffle_Map syntax added
+	  and ppl_Polyhedron_shuffle_dimensions/2 documentation header
+	  added.
+
+2003-03-05 Wednesday 14:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.65), interfaces/C/ppl_c.cc (1.65), interfaces/C/ppl_c.h
+	  (1.68), interfaces/Prolog/Prolog_interface.dox (1.77),
+	  interfaces/Prolog/pl_check.pl (1.39),
+	  interfaces/Prolog/ppl_prolog.icc (1.87),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.34),
+	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.24),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.38),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.62),
+	  interfaces/Prolog/XSB/ppl_xsb.H (1.12),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.22),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.56), src/Polyhedron.cc
+	  (1.316), src/Polyhedron.defs.hh (1.195), tests/polydifference6.cc
+	  (1.4): The method
+	  Polyhedron::poly_difference_assign_and_minimize(const
+	  Polyhedron&) has been removed.
+
+2003-03-05 Wednesday 14:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_prolog.icc (1.86), Ciao/ppl_ciao.pl
+	  (1.33), GNU/ppl_gprolog.pl (1.23), SICStus/ppl_sicstus_sd.cc
+	  (1.37), SWI/ppl_swiprolog.cc (1.61), XSB/ppl_xsb.H (1.11),
+	  XSB/ppl_xsb.cc (1.21), YAP/ppl_yap.cc (1.55): New predicate
+	  ppl_Polyhedron_swap/2.
+
+2003-03-05 Wednesday 14:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.315), Polyhedron.defs.hh (1.194): The
+	  (dis-)equality boolean functions operator== and operator!= on
+	  objects of the class Polyhedron no longer require topological-
+	  and dimension-consistency. Inconsistent objects are not
+	  equivalent.
+
+2003-03-05 Wednesday 14:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.64), configure.ac (1.89), src/Makefile.am (1.60),
+	  src/version.cc (1.1), src/version.hh.in (1.1): New macros
+	  PPL_VERSION_MAJOR, PPL_VERSION_MINOR, PPL_VERSION_REVISION, and
+	  PPL_VERSION_BETA allow the client application to adapt to
+	  different versions of the library.
+
+	  New function const char* version() returns a character string
+	  containing the PPL version.
+
+	  New function const char* banner() returns a character string
+	  containing information about the PPL version, the licensing, the
+	  lack of any warranty whatsoever, the C++ compiler used to build
+	  the library, where to report bugs and where to look for further
+	  information.
+
+2003-03-05 Wednesday 14:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.63): News item concerning the new
+	  Polyhedron::generalized_affine_image() operators revised.
+
+2003-03-05 Wednesday 10:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/shuffledim1.cc (1.7): Added a test showing a bug in
+	  Polyhedron::shuffle_dimensions().
+
+2003-03-05 Wednesday 10:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.62): Improved the synthetic description of methods
+	  generalized_affine_image().
+
+2003-03-04 Tuesday 22:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.88): Require GMP version 4.1.2 or following.
+
+2003-03-04 Tuesday 18:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.61): The C and Prolog interfaces have been extended so as
+	  to make more of the library's functionality available to Prolog
+	  and C users.
+
+2003-03-04 Tuesday 18:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h (1.67): Comments fixed.
+
+2003-03-04 Tuesday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.64), ppl_c.h (1.66): New functions
+	  ppl_ConSys_clear() and ppl_GenSys_clear().
+
+2003-03-04 Tuesday 17:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.85): Predicate
+	  ppl_Polyhedron_shuffle_dimensions(Ph, PFun) now fails if the
+	  domain of PFun is not contained in the space dimension of Ph.
+
+2003-03-04 Tuesday 17:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.60): Added the new Polyhedron::generalized_affine_image()
+	  method.
+
+2003-03-04 Tuesday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.59), src/Constraint.cc (1.37), src/Constraint.defs.hh
+	  (1.81): The operator Constraint operator>>(const Constraint&,
+	  dimension_type) has been removed.
+
+2003-03-04 Tuesday 15:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.108), src/Polyhedron.defs.hh (1.193):
+	  Reordered the sections in the final part of definitions.dox;
+	  added a section on extrapolation operators, describing the
+	  limited and bounded extrapolation operators.	Corrected
+	  capitalization of a doxygen reference.
+
+2003-03-04 Tuesday 14:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.63), ppl_c.h (1.65): New functions
+	  ppl_Polyhedron_generalized_affine_image() and
+	  ppl_Polyhedron_generalized_affine_image_lhs_rhs().
+
+2003-03-04 Tuesday 08:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.38): Bug corrected.
+
+2003-03-04 Tuesday 08:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.37): Improved tests for widenig
+	  operators.  Added tests for ...shuffle_dimensions.
+
+2003-03-04 Tuesday 06:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (1.17): We require GMP at least 4.1.2.
+
+2003-03-03 Monday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h (1.64): For some reason, GMP up to and
+	  including version 4.1.2 requires <stdio.h> to be included before
+	  <gmp.h>.
+
+2003-03-03 Monday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.62), ppl_c.h (1.63): The `var'
+	  argument of ppl_Constraint_coefficient() and
+	  ppl_Generator_coefficient() is of type ppl_dimension_type.
+
+2003-03-03 Monday 21:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h (1.62): FIXME added.
+
+2003-03-03 Monday 21:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h (1.61): Do not worry about versions of GMP
+	  prior to 4.1.2 since they are not supported anyway.
+
+2003-03-03 Monday 21:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.61), ppl_c.h (1.60): New function
+	  ppl_Polyhedron_time_elapse_assign().
+
+2003-03-03 Monday 21:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.60), ppl_c.h (1.59): Added
+	  ppl_Polyhedron_bounded_BHRZ03_extrapolation_assign() and
+	  ppl_Polyhedron_bounded_H79_extrapolation_assign().  Comments of
+	  ppl_Polyhedron_limited_BHRZ03_extrapolation_assign() and
+	  ppl_Polyhedron_limited_H79_extrapolation_assign() fixed.
+
+2003-03-03 Monday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* depcomp (1.4), install-sh (1.4), Watchdog/depcomp (1.2),
+	  Watchdog/install-sh (1.2): Updated.
+
+2003-03-03 Monday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.87), Watchdog/configure.ac (1.16): Require
+	  Autoconf 2.57 or following and Automake 1.7.3 or following.
+
+2003-03-03 Monday 20:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: PowerSet.defs.hh (1.27), PowerSet.inlines.hh (1.31): The
+	  method PowerSet<CS>::limited_H79_extrapolation_assign() takes a
+	  constant constraint system.
+
+2003-03-03 Monday 19:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.59), ppl_c.h (1.58):
+	  ppl_Polyhedron_limited_BHRZ03_extrapolation_assign() and
+	  ppl_Polyhedron_limited_H79_extrapolation_assign() take a constant
+	  constraint system.
+
+2003-03-03 Monday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.12), Watchdog/COPYING (1.2), Watchdog/ChangeLog
+	  (1.3), Watchdog/INSTALL (1.2), Watchdog/NEWS (1.2),
+	  Watchdog/config.guess (1.2), Watchdog/config.sub (1.2),
+	  Watchdog/ltmain.sh (1.2): Updated.
+
+2003-03-03 Monday 18:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/Makefile.am (1.7): Update version info.
+
+2003-03-03 Monday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/Makefile.am (1.13), src/Makefile.am (1.59): AGE must
+	  be reset to 0 since we removed some interfaces.
+
+2003-03-03 Monday 17:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: exceptions1.cc (1.30), exceptions2.cc (1.24): Refer the
+	  new extrapolation operators.
+
+2003-03-03 Monday 17:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.58), interfaces/C/ppl_c.cc (1.58), interfaces/C/ppl_c.h
+	  (1.57), interfaces/Prolog/Prolog_interface.dox (1.76),
+	  interfaces/Prolog/pl_check.pl (1.36),
+	  interfaces/Prolog/ppl_prolog.icc (1.84),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.32),
+	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.22),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.36),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.60),
+	  interfaces/Prolog/XSB/ppl_xsb.H (1.10),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.20),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.54), src/Determinate.defs.hh
+	  (1.27), src/Determinate.inlines.hh (1.25), src/Polyhedron.cc
+	  (1.314), src/Polyhedron.defs.hh (1.192), src/PowerSet.defs.hh
+	  (1.26), src/PowerSet.inlines.hh (1.30), src/algorithms.hh (1.14),
+	  tests/Makefile.am (1.173), tests/limitedbhrz03extrapolation1.cc
+	  (1.1), tests/limitedbhrz03widening1.cc (1.5),
+	  tests/limitedh79extrapolation1.cc (1.1),
+	  tests/limitedh79extrapolation2.cc (1.1),
+	  tests/limitedh79extrapolation3.cc (1.1),
+	  tests/limitedh79extrapolation4.cc (1.1),
+	  tests/limitedh79widening1.cc (1.6), tests/limitedh79widening2.cc
+	  (1.7), tests/limitedh79widening3.cc (1.4),
+	  tests/limitedh79widening4.cc (1.4): From now on, the name
+	  `widening' is reserved for operators that come with a convergence
+	  guarantee (i.e., with the ability of turning infinite chains to
+	  finite ones).  Upper bound operators without such a guarantee
+	  contain the word `extrapolation' in their name.
+
+2003-03-03 Monday 16:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.57): Confine implementation classes into
+	  anonymous namespaces.
+
+2003-03-03 Monday 16:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.57): News item for Polyhedron::shrink_bounding_box()
+	  completed.
+
+2003-03-03 Monday 16:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.56): News item concerning
+	  Polyhedron::shuffle_dimensions() completed.
+
+2003-03-03 Monday 16:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.56), ppl_c.h (1.56): New function int
+	  ppl_Polyhedron_shuffle_dimensions().
+
+2003-03-03 Monday 15:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.191): Another reorganization for better
+	  documentation.
+
+2003-03-03 Monday 14:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.190): Let all the methods
+	  <method>_and_minimize be declared after the corresponding methods
+	  <method>, so that a less disordered documentation is produced.
+
+2003-03-03 Monday 12:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.313), Polyhedron.defs.hh (1.189): Now the
+	  constraint system parameter of methods bounded_*_widening_assign
+	  and limited_*_widening_assign is a const parameter.
+
+2003-03-03 Monday 11:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.55), ppl_c.h (1.55): New function int
+	  ppl_not_a_dimension(ppl_dimension_type*).
+
+2003-03-03 Monday 11:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_prolog.icc (1.83), Ciao/ppl_ciao.pl
+	  (1.31), GNU/ppl_gprolog.pl (1.21), SICStus/ppl_sicstus_sd.cc
+	  (1.35), SWI/ppl_swiprolog.cc (1.59), XSB/ppl_xsb.H (1.9),
+	  XSB/ppl_xsb.cc (1.19), YAP/ppl_yap.cc (1.53): New predicate
+	  ppl_Polyhedron_shuffle_dimensions/2.
+
+2003-03-03 Monday 11:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.55), src/globals.hh (1.31): New function dimension_type
+	  not_a_dimension(): returns a value that does not designate a
+	  valid dimension.
+
+2003-03-03 Monday 08:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.35): We must explain to the users of CVS versions how to
+	  build the documentation.
+
+2003-03-02 Sunday 20:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.34): Make sure all the functionalities are available in
+	  all interfaces.
+
+2003-03-02 Sunday 20:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.33), src/Polyhedron.defs.hh (1.188),
+	  src/Polyhedron.inlines.hh (1.63): Documentation of
+	  Polyhedron::shuffle_dimensions() improved.
+
+2003-03-02 Sunday 19:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.32): More things that should not be forgotten.
+
+2003-03-02 Sunday 19:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.54): News items added, others improved, reorganized.
+
+2003-03-02 Sunday 19:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.11): Updated.
+
+2003-03-01 Saturday 15:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.312): Full stop added.
+
+2003-03-01 Saturday 07:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/sicstus_cfli.ic (1.5): Include
+	  assert.h.
+
+2003-03-01 Saturday 07:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.34): Includes
+	  reordered.
+
+2003-03-01 Saturday 07:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.86): Enable shared the libraries by default.
+
+2003-03-01 Saturday 07:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.17), config.sub (1.16), ltmain.sh (1.11):
+	  Updated.
+
+2003-02-24 Monday 18:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref-browse.doxyconf-latex.in (1.25),
+	  doc/devref-print.doxyconf-latex.in (1.25),
+	  doc/devref.doxyconf-html.in (1.26), src/Init.cc (1.8),
+	  src/Makefile.am (1.58), src/Polyhedron.cc (1.311),
+	  src/Statistics.hh (1.2), src/statistics.hh (1.1): Statistics.hh
+	  improved, added to the documentation for developers, and renamed
+	  statistics.hh.
+
+2003-02-24 Monday 16:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Init.cc (1.7), Makefile.am (1.57), Polyhedron.cc (1.310),
+	  Statistics.hh (1.1), globals.cc (1.12), globals.hh (1.30):
+	  Removed from globals.hh and globals.cc all the stuff related to
+	  statistics and placed into Statistics.hh; modified Polyhedron.cc
+	  and Init.cc accordingly.
+
+2003-02-23 Sunday 21:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: bhrz03widening2.cc (1.4), limitedbhrz03widening1.cc
+	  (1.4): Restored expected result after correction on evolving
+	  points technique.
+
+2003-02-23 Sunday 20:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.309), tests/Makefile.am (1.172),
+	  tests/bhrz03widening3.cc (1.4): Improved is_BHRZ03_stabilizing to
+	  always avoid considering the low-level constraints when comparing
+	  the number of constraints. As a consequence, changed back the
+	  known result of test bhrz03widening3.
+
+2003-02-23 Sunday 16:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.31): Remember to comment uncommented classes.
+
+2003-02-23 Sunday 09:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: devref.tex (1.10), user.tex (1.11): Thank the CoVer
+	  project.
+
+2003-02-22 Saturday 22:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/conversion.cc (1.44): Two FIXMEs dealt with and removed.
+
+2003-02-22 Saturday 21:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Row.inlines.hh (1.37), SatRow.inlines.hh (1.24): Redundant
+	  comment removed.
+
+2003-02-22 Saturday 21:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Row.inlines.hh (1.36), SatRow.inlines.hh (1.23): FIXMEs
+	  related to Doxygen's bugs removed.
+
+2003-02-22 Saturday 21:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Row.defs.hh (1.61): FIXME dealt with and removed.
+
+2003-02-22 Saturday 21:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.171), bhrz03widening2.cc (1.3),
+	  bhrz03widening3.cc (1.3), limitedbhrz03widening1.cc (1.3):
+	  Expected results adjusted.
+
+2003-02-22 Saturday 17:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.308): Commit to
+	  BHRZ03_EP_DELAY_INTERSECTION.
+
+2003-02-22 Saturday 09:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PowerSet.defs.hh (1.25): Fixed a parameter name mismatch in
+	  the documentation.
+
+2003-02-21 Friday 19:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Constraint.defs.hh (1.80): Doxygen documentation fix: "<" and
+	  ">" should not be escaped by "\" when occurring inside a \code
+	  ... \endcode section.
+
+2003-02-21 Friday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.107): Bibliography and bibliographic
+	  references improved.
+
+2003-02-21 Friday 18:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/bib2html2.sed (1.3): Provide text for the \ref link commands.
+
+2003-02-21 Friday 18:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: bib2dox (1.3), bib2html2.sed (1.2): Produce
+	  cross-references that work well with any Doxygen output.
+
+2003-02-21 Friday 16:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.106), src/Polyhedron.defs.hh (1.187): In
+	  the documentation, added explanation for the BHRZ03 widening and
+	  the widening with tokens technique.  Broken <a name=...> links
+	  replaced by \ref and \anchor.
+
+2003-02-21 Friday 11:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.10): Updated.
+
+2003-02-21 Friday 11:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.85): Version number bumped.
+
+2003-02-21 Friday 10:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.307), Polyhedron.defs.hh (1.186): The
+	  widening-with-tokens delay technique is now also available for
+	  the standard widening as well as the ``limited'' and ``bounded''
+	  variants.
+
+2003-02-21 Friday 09:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* TODO (1.30): Items dealt with removed.
+
+2003-02-21 Friday 09:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.75), pl_check.pl
+	  (1.35): Prolog_interface.dox:   Added simple descriptions for the
+	  timeout predicates.	 Atom added to the syntax of the language
+	  specification.  pl_check.pl	Several small improvements.
+
+2003-02-21 Friday 08:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.306), Polyhedron.defs.hh (1.185): In
+	  Polyhedron::BHRZ03_widening_assign(), pass the number of tokens
+	  as `unsigned', not `long'.
+
+2003-02-20 Thursday 16:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Init.cc (1.6), Polyhedron.cc (1.305), Polyhedron.defs.hh
+	  (1.184), globals.hh (1.29): The averaging_constraints technique
+	  is now called combining_constraints.	Added optional pointer
+	  argument to BHRZ03_widening_assign to implement the
+	  ``widening-with-tokens'' technique.
+
+2003-02-19 Wednesday 09:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/track_allocation.hh (1.12): Declaration fixed.
+
+2003-02-16 Sunday 14:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.9): Updated.
+
+2003-02-16 Sunday 14:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: bhrz03widening15.cc (1.4), bhrz03widening6.cc (1.3),
+	  bhrz03widening7.cc (1.3): Expected results fixed.
+
+2003-02-11 Tuesday 11:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.304): Commit to
+	  BHRZ03_AC_CHECKS_H79_BOUNDARY=1.
+
+2003-02-11 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.303): Commit to BHRZ03_AC_IS_SUM=1.
+
+2003-02-11 Tuesday 11:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.302): Commit to BHRZ03_ER_CWQ=1.
+
+2003-02-09 Sunday 18:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.301): New candidate techniques for the
+	  implementation of BRHZ03.
+
+2003-02-07 Friday 20:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.300): Let an assertion in
+	  select_H79_constraints be satisfied.
+
+2003-02-07 Friday 17:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.299): Unreachable statements removed.
+
+2003-02-07 Friday 17:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (1.62): Make sure inline functions are
+	  defined before being used.
+
+2003-02-07 Friday 11:44  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.298): Added new preproc flag BHRZ03_EP_P1_P2
+	  to be experimented with.
+
+2003-02-07 Friday 10:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/Watchdog.cc (1.10): Throw std::runtime_error instead of
+	  calling abort().
+
+2003-02-07 Friday 10:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/Watchdog.inlines.hh (1.9): Throw std::invalid_argument
+	  if a Watchdog constructor is called with a non-positive number of
+	  time units.
+
+2003-02-06 Thursday 18:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.297): Added preprocessing flag
+	  BHRZ03_EP_DELAY_INTERSECTION, enabling a different implementation
+	  of the evolving points technique to be experimented with.
+
+2003-02-06 Thursday 10:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.296): Make BHRZ03_AC_IS_SUM and
+	  BHRZ03_AC_CHECKS_H79_BOUNDARY default to 1.
+
+2003-02-05 Wednesday 16:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.295), tests/limitedh79widening2.cc (1.6):
+	  Corrected the implementation of limited_H79_widening_assign to
+	  match its specification; the same for
+	  limited_BHRZ03_widening_assign.  Corrected the known result of
+	  test limitedh79widening2, which was computed according to a
+	  flawed specification.
+
+2003-02-05 Wednesday 15:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.294): Both BHRZ03_AC_IS_SUM and
+	  BHRZ03_AC_CHECKS_H79_BOUNDARY default to 0.
+
+2003-02-05 Wednesday 14:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.293), Polyhedron.defs.hh (1.183): A first,
+	  totally untested implementation of
+	  Polyhedron::bounded_H79_widening_assign() and
+	  Polyhedron::bounded_BHRZ03_widening_assign().
+
+2003-02-05 Wednesday 11:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.182): Improved the Doxygen comments for
+	  the two limited widening operators.
+
+2003-02-05 Wednesday 10:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.181): Give more guarantees to the user
+	  of Polyhedron::shrink_bounding_box().
+
+2003-02-05 Wednesday 10:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.292): Added preprocessing flags to control
+	  whether or not, in the technique BHRZ03_averaging_constraints, we
+	  actually compute averages or just sum the constraints and whether
+	  the selected point can lie on the boundary of H79.
+
+2003-02-04 Tuesday 21:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.16), config.sub (1.15): Updated.
+
+2003-02-04 Tuesday 20:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.291): Spurious newline removed.
+
+2003-02-04 Tuesday 19:37  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.290): Avoiding equality check in
+	  is_BHRZ03_stabilizing, which is called more than once, and
+	  computing it just once inside BHRZ03_widening_assign.
+
+2003-02-04 Tuesday 11:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.289): Corrected a bug in
+	  H79_widening_assign, whereby we were relying on the number of
+	  columns of a constraint system that was not up-to-date.
+
+2003-02-04 Tuesday 09:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.288), Polyhedron.inlines.hh (1.61): When
+	  declaring constraints (generators) no longer up-to-date, also
+	  clearing the pending constraints (generators) flag.  In
+	  H79_widening_assign, avoiding the creation of polyhedra having
+	  the wrong dimension.
+
+2003-02-03 Monday 15:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.287), Polyhedron.defs.hh (1.180): The
+	  quick equivalence check is now a provate method of Polyhedron and
+	  it is called also by the inclusion test operator<=.  Improved the
+	  computation of the H79widening operator by resorting to CH78 when
+	  polyhedra x and y have the same dimension.
+
+2003-02-01 Saturday 15:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.286): Commented out conditionals removed.
+
+2003-02-01 Saturday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Matrix.cc (1.51): Old garbage removed.
+
+2003-01-31 Friday 21:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Matrix.cc (1.50): Fixed a very serious performance bug in
+	  Matrix::add_pending_rows() whereby adding one row to a matrix
+	  with `n' rows had complexity O(n) instead of amortized constant.
+
+2003-01-27 Monday 13:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/: expected (1.6), expected2 (1.7): Adapted
+	  to the new normal form.
+
+2003-01-27 Monday 11:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* configure.ac (1.84), interfaces/Prolog/expected (1.5),
+	  interfaces/Prolog/expected2 (1.9), src/Row.cc (1.49),
+	  src/Row.defs.hh (1.60): Modified strong normalization of rows, so
+	  that the first *homogeneous* coefficient is required to be
+	  positive.
+
+2003-01-27 Monday 10:56  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.285): Removed no longer used preprocessing
+	  flag.
+
+2003-01-27 Monday 10:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Matrix.cc (1.49), Matrix.defs.hh (1.42): Added private
+	  method Matrix::gram_shmidt() to orthogonalize a matrix so that
+	  its rays/points/inequalities have a unique representation.
+
+2003-01-27 Monday 10:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: conversion.cc (1.43), minimize.cc (1.31), simplify.cc
+	  (1.25): Adjusted a few comments that became outdated after the
+	  merge with the lazy branch. Removed a couple of FIXME's.
+
+2003-01-26 Sunday 22:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/Watchdog.cc (1.9): Ported to Cygwin (it only supports
+	  ITIMER_REAL).  Robustness increased.	Throw std:runtime_error
+	  exceptions instead of calling exit().
+
+2003-01-24 Friday 18:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.defs.hh (1.77), GenSys.defs.hh (1.89), Polyhedron.cc
+	  (1.284), Polyhedron.defs.hh (1.179), Polyhedron.inlines.hh
+	  (1.60): Equality test between polyhedra improved to first perform
+	  a few fast-fail checks, including a complete test for
+	  representations in normal form.
+
+2003-01-24 Friday 10:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.283), Polyhedron.defs.hh (1.178): Added
+	  private method  void select_CH78_constraints(const Polyhedron& y,
+	  ConSys& cs) const; performing a constraint selection from
+	  y.con_sys according to the definition of the widening as reported
+	  in Cousot&Halbwachs78.
+
+2003-01-24 Friday 10:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.defs.hh (1.79), GenSys.cc (1.75), GenSys.defs.hh
+	  (1.88): Added private method bool
+	  GenSys::satisfied_by_all_generators(const Constraint& c) const.
+
+2003-01-21 Tuesday 11:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.34): Test for time out
+	  predicates improved.
+
+2003-01-21 Tuesday 10:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.82): Make sure that the
+	  timeout is reset when caught.
+
+2003-01-21 Tuesday 09:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.74), pl_check.pl
+	  (1.33), ppl_prolog.icc (1.81): Restored deleted text.
+
+2003-01-20 Monday 15:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/expected (1.4), interfaces/Prolog/expected2
+	  (1.8), interfaces/Prolog/XSB/expected (1.5),
+	  interfaces/Prolog/XSB/expected2 (1.6), tests/bhrz03widening15.cc
+	  (1.3), tests/bhrz03widening9.cc (1.4): Applying some semantically
+	  preserving syntactic changes to the expected results in order to
+	  match what is obtained after modification to methods
+	  Matrix::gauss() and Matrix::back_substitute().  The changes are
+	  also semantic for the known results of bhrz03widening9/15.
+
+2003-01-20 Monday 09:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.282), Polyhedron.defs.hh (1.177):
+	  Rewritten methods related to the computation of the BHRZ03
+	  widening, which are no longer static and now take the polyhedron
+	  corresponding to the H79 widening as a parameter.
+
+2003-01-20 Monday 09:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Matrix.cc (1.48), Row.cc (1.48), Row.defs.hh (1.59),
+	  minimize.cc (1.30), simplify.cc (1.24): Strong normalization of
+	  Row objects now enforce the first non-zero coefficient to be
+	  positive.  When creating a matrix having n copies of the same
+	  row, the matrix is now declared to be sorted (since sortedness by
+	  itself does not implies that it has no duplicates); this also
+	  includes the case of empty matrices.	Some improvements in
+	  methods Matrix::gauss() and Matrix::back_substitute().
+
+2003-01-18 Saturday 16:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.cc (1.36), Constraint.inlines.hh (1.43),
+	  Generator.cc (1.44), Matrix.cc (1.47), Polyhedron.cc (1.281),
+	  minimize.cc (1.29), simplify.cc (1.23): Implemented changes
+	  required to make the library compile cleanly and pass `make
+	  check' when the flag EXTRA_NORMALIZATION is set to 1 (the default
+	  being still 0).
+
+2003-01-18 Saturday 12:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Makefile.am (1.170): The `libppl_tests.a' library should
+	  not be built until the `make check' command is run.
+
+2003-01-18 Saturday 11:58  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.280): Corrected a bug in
+	  poly_hull_assign_and_minimize().
+
+2003-01-15 Wednesday 14:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* README (1.14), doc/devref-browse.doxyconf-latex.in (1.24),
+	  doc/devref-print.doxyconf-latex.in (1.24),
+	  doc/devref.doxyconf-html.in (1.25), src/Init.inlines.hh (1.8): No
+	  longer using file Init.inlines.hh.
+
+2003-01-15 Wednesday 14:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.279): After applying each of the techniques
+	  of the BHRZ03 widening, check whether we have obtained a
+	  polyhedron strictly smaller than that one obtainable using the
+	  H79 widening.
+
+2003-01-15 Wednesday 14:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Init.cc (1.5), Init.defs.hh (1.9), Makefile.am (1.56):
+	  Initialization and finalization of the library are no longer
+	  inlined.
+
+2003-01-13 Monday 23:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.278): Many improvements in the code and
+	  comments of method averaging_constraints().
+
+2003-01-12 Sunday 23:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (1.59): Try to avoid minimization in
+	  method check_empty().
+
+2003-01-12 Sunday 23:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.277): In add_generators_and_minimize(), an
+	  odd use of method check_empty() replaced by correct use of method
+	  minimize().
+
+2003-01-12 Sunday 23:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Matrix.defs.hh (1.41): Fixed documentation of method
+	  index_first_pending().
+
+2003-01-12 Sunday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.169), bug1.cc (1.4), bug1.dat (1.3):
+	  Obsolete bug witness removed.
+
+2003-01-12 Sunday 11:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Makefile.am (1.168): No longer lie to automake.
+
+2003-01-12 Sunday 08:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/Watchdog.defs.hh (1.11): Spurious, illegal qualification
+	  removed.
+
+2003-01-12 Sunday 00:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.276): In check_universe(), try to avoid
+	  minimization as much as possible.
+
+2003-01-11 Saturday 22:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.275): Got rid of preprocessing flag
+	  NEW_LIMITED_GROWTH_ORDERING: now always using the new lgo in
+	  is_BHRZ03_stabilizing().  Added preprocessing flag
+	  EVOLVING_RAYS_SATURATORS for testing purposes on the evolving
+	  rays technique of BHRZ03_widening_assign().  Some improvements in
+	  the variable names and comments of the evolving rays technique.
+	  No longer testing for stabilization after applying H79 (unless
+	  assertions are turned on).
+
+2003-01-10 Friday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.15), config.sub (1.14): Updated.
+
+2003-01-10 Friday 10:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.80): Paranoid robustness
+	  improvements.
+
+2003-01-10 Friday 09:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.79): Avoid leaking memory on
+	  exit and in the case of multiple calls to ppl_set_timeout/1 not
+	  intermixed to calls to ppl_reset_timeout/0.
+
+2003-01-10 Friday 09:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.53), interfaces/Prolog/ppl_prolog.icc (1.78),
+	  interfaces/Prolog/Ciao/Makefile.am (1.15),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.30),
+	  interfaces/Prolog/GNU/Makefile.am (1.26),
+	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.20),
+	  interfaces/Prolog/SICStus/Makefile.am (1.35),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.33),
+	  interfaces/Prolog/SWI/Makefile.am (1.27),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.58),
+	  interfaces/Prolog/XSB/Makefile.am (1.13),
+	  interfaces/Prolog/XSB/ppl_xsb.H (1.8),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.18),
+	  interfaces/Prolog/YAP/Makefile.am (1.17),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.52), src/Init.cc (1.4):
+	  Timeout computation facilities have been added to the Prolog
+	  interfaces: new predicates ppl_set_timeout_exception_atom/1,
+	  ppl_timeout_exception_atom/1, ppl_set_timeout/1,
+	  ppl_reset_timeout/0.
+
+2003-01-10 Friday 09:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.29): More urgent things to do.
+
+2003-01-10 Friday 09:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/watchdog1.cc (1.16): Do not explicitly initialize the Parma
+	  Watchdog Library.
+
+2003-01-10 Friday 09:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: Watchdog.cc (1.8), Watchdog.defs.hh (1.10),
+	  Watchdog.inlines.hh (1.8), Watchdog.types.hh (1.4): New "nifty
+	  counter" implementation of library's initialization and
+	  finalization.  Explicit initialization and finalization is no
+	  longer necessary nor possible.
+
+2003-01-10 Friday 08:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/: expected (1.4), expected2 (1.5): Update
+	  copyright years.
+
+2003-01-09 Thursday 10:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.83), Watchdog/configure.ac (1.15): Building the
+	  Parma Watchdog Library is now enabled by default.
+
+2003-01-09 Thursday 10:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.77): Added a new class
+	  `timeout_exception'.
+
+2003-01-07 Tuesday 16:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.73), pl_check.pl
+	  (1.32): A typo in the Prolog_interface,dox corrected and
+	  ppl_Polyhedron_is_disjoint_from_Polyhedron/2 documentation added.
+	  Many improvements to pl_check.pl and some bugs fixed.
+
+2003-01-07 Tuesday 16:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.82): Bump version number.
+
+2003-01-07 Tuesday 15:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/: expected (1.3), expected2 (1.4): Update
+	  copyright years.
+
+2003-01-07 Tuesday 15:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.52), configure.ac (1.81): We now require GMP 4.1.2 or
+	  higher.
+
+2003-01-07 Tuesday 15:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* CREDITS (1.5): Typo corrected.
+
+2003-01-07 Tuesday 15:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* CREDITS (1.4), doc/devref.tex (1.9), doc/user.tex (1.10): The
+	  MURST project COFIN01 credited.
+
+2003-01-07 Tuesday 14:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Interval.defs.hh (1.12), Interval.inlines.hh (1.8): Old
+	  kludges removed.
+
+2003-01-07 Tuesday 12:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/bhrz03widening9.cc (1.3): Updated the known result to match
+	  the output according to the new limited growth ordering
+	  convergence criterion.
+
+2003-01-07 Tuesday 12:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/globals.hh (1.28): Do not output statistics by default.
+
+2003-01-01 Wednesday 02:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.21), README (1.13), configure.ac (1.80),
+	  Watchdog/Makefile.am (1.6), Watchdog/README (1.4),
+	  Watchdog/Watchdog.cc (1.7), Watchdog/Watchdog.defs.hh (1.9),
+	  Watchdog/Watchdog.inlines.hh (1.7), Watchdog/Watchdog.types.hh
+	  (1.3), Watchdog/configure.ac (1.14), Watchdog/pwl_header.top
+	  (1.3), doc/Makefile.am (1.22), doc/definitions.dox (1.105),
+	  doc/devref.tex (1.8), doc/user.tex (1.9), interfaces/Makefile.am
+	  (1.6), interfaces/C/Makefile.am (1.12), interfaces/C/ppl_c.cc
+	  (1.54), interfaces/C/ppl_c.h (1.54),
+	  interfaces/Prolog/Makefile.am (1.21),
+	  interfaces/Prolog/Prolog_interface.dox (1.72),
+	  interfaces/Prolog/clpq.pl (1.14), interfaces/Prolog/clpq2.pl
+	  (1.25), interfaces/Prolog/exceptions.hh (1.7),
+	  interfaces/Prolog/expected (1.3), interfaces/Prolog/expected2
+	  (1.7), interfaces/Prolog/pl_check.pl (1.31),
+	  interfaces/Prolog/ppl_prolog.icc (1.76),
+	  interfaces/Prolog/track_allocation.hh (1.11),
+	  interfaces/Prolog/Ciao/Makefile.am (1.14),
+	  interfaces/Prolog/Ciao/ciao_clpq.pl (1.4),
+	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.17),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.29),
+	  interfaces/Prolog/GNU/Makefile.am (1.25),
+	  interfaces/Prolog/GNU/gp_clpq.pl (1.6),
+	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.19),
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.12),
+	  interfaces/Prolog/SICStus/Makefile.am (1.34),
+	  interfaces/Prolog/SICStus/ppl_sicstus.pl (1.22),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.32),
+	  interfaces/Prolog/SICStus/sicstus_cfli.cc (1.2),
+	  interfaces/Prolog/SICStus/sicstus_cfli.h (1.3),
+	  interfaces/Prolog/SICStus/sicstus_cfli.ic (1.4),
+	  interfaces/Prolog/SICStus/sp_clpq.pl (1.8),
+	  interfaces/Prolog/SWI/Makefile.am (1.26),
+	  interfaces/Prolog/SWI/pl_clpq.cc (1.6),
+	  interfaces/Prolog/SWI/pl_clpq.pl (1.4),
+	  interfaces/Prolog/SWI/ppl_pl.cc (1.6),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.57),
+	  interfaces/Prolog/SWI/ppl_swiprolog.pl (1.2),
+	  interfaces/Prolog/XSB/Makefile.am (1.12),
+	  interfaces/Prolog/XSB/expected (1.2),
+	  interfaces/Prolog/XSB/expected2 (1.3),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.17),
+	  interfaces/Prolog/XSB/xsb_clpq.P (1.6),
+	  interfaces/Prolog/XSB/xsb_clpq2.P (1.4),
+	  interfaces/Prolog/YAP/Makefile.am (1.16),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.51),
+	  interfaces/Prolog/YAP/ppl_yap.pl (1.6),
+	  interfaces/Prolog/YAP/yap_clpq.pl (1.6),
+	  interfaces/Prolog/YAP/yap_clpq2.pl (1.2), m4/Makefile.am (1.8),
+	  m4/ac_check_gmp.m4 (1.11), m4/ac_cxx_flexible_arrays.m4 (1.5),
+	  src/AskTell.defs.hh (1.11), src/AskTell.inlines.hh (1.11),
+	  src/AskTell.types.hh (1.4), src/BoundingBox.cc (1.5),
+	  src/BoundingBox.defs.hh (1.9), src/BoundingBox.inlines.hh (1.7),
+	  src/BoundingBox.types.hh (1.5), src/C_Polyhedron.cc (1.4),
+	  src/C_Polyhedron.defs.hh (1.19), src/C_Polyhedron.inlines.hh
+	  (1.13), src/C_Polyhedron.types.hh (1.6), src/ConSys.cc (1.57),
+	  src/ConSys.defs.hh (1.76), src/ConSys.inlines.hh (1.29),
+	  src/ConSys.types.hh (1.6), src/Constraint.cc (1.35),
+	  src/Constraint.defs.hh (1.78), src/Constraint.inlines.hh (1.42),
+	  src/Constraint.types.hh (1.6), src/Determinate.defs.hh (1.26),
+	  src/Determinate.inlines.hh (1.24), src/Determinate.types.hh
+	  (1.4), src/GenSys.cc (1.74), src/GenSys.defs.hh (1.87),
+	  src/GenSys.inlines.hh (1.30), src/GenSys.types.hh (1.6),
+	  src/Generator.cc (1.43), src/Generator.defs.hh (1.81),
+	  src/Generator.inlines.hh (1.39), src/Generator.types.hh (1.6),
+	  src/Init.cc (1.3), src/Init.defs.hh (1.8), src/Init.inlines.hh
+	  (1.7), src/Init.types.hh (1.5), src/Integer.cc (1.3),
+	  src/Integer.defs.hh (1.10), src/Integer.inlines.hh (1.9),
+	  src/Integer.types.hh (1.7), src/Interval.cc (1.6),
+	  src/Interval.defs.hh (1.11), src/Interval.inlines.hh (1.7),
+	  src/Interval.types.hh (1.5), src/LCompare.defs.hh (1.5),
+	  src/LCompare.inlines.hh (1.4), src/LCompare.types.hh (1.4),
+	  src/LinExpression.cc (1.16), src/LinExpression.defs.hh (1.57),
+	  src/LinExpression.inlines.hh (1.26), src/LinExpression.types.hh
+	  (1.6), src/Makefile.am (1.55), src/Matrix.cc (1.46),
+	  src/Matrix.defs.hh (1.40), src/Matrix.inlines.hh (1.29),
+	  src/Matrix.types.hh (1.6), src/NNC_Polyhedron.cc (1.10),
+	  src/NNC_Polyhedron.defs.hh (1.21), src/NNC_Polyhedron.inlines.hh
+	  (1.15), src/NNC_Polyhedron.types.hh (1.6),
+	  src/Poly_Con_Relation.cc (1.7), src/Poly_Con_Relation.defs.hh
+	  (1.19), src/Poly_Con_Relation.inlines.hh (1.9),
+	  src/Poly_Con_Relation.types.hh (1.5), src/Poly_Gen_Relation.cc
+	  (1.7), src/Poly_Gen_Relation.defs.hh (1.18),
+	  src/Poly_Gen_Relation.inlines.hh (1.9),
+	  src/Poly_Gen_Relation.types.hh (1.5), src/Polyhedron.cc (1.274),
+	  src/Polyhedron.defs.hh (1.176), src/Polyhedron.inlines.hh (1.58),
+	  src/Polyhedron.types.hh (1.8), src/PowerSet.defs.hh (1.24),
+	  src/PowerSet.inlines.hh (1.29), src/PowerSet.types.hh (1.4),
+	  src/Row.cc (1.47), src/Row.defs.hh (1.58), src/Row.inlines.hh
+	  (1.35), src/Row.types.hh (1.6), src/SatMatrix.cc (1.25),
+	  src/SatMatrix.defs.hh (1.29), src/SatMatrix.inlines.hh (1.18),
+	  src/SatMatrix.types.hh (1.6), src/SatRow.cc (1.17),
+	  src/SatRow.defs.hh (1.25), src/SatRow.inlines.hh (1.22),
+	  src/SatRow.types.hh (1.6), src/Status.cc (1.19),
+	  src/Status.defs.hh (1.25), src/Status.inlines.hh (1.12),
+	  src/Status.types.hh (1.6), src/Topology.hh (1.7), src/Variable.cc
+	  (1.11), src/Variable.defs.hh (1.29), src/Variable.inlines.hh
+	  (1.15), src/Variable.types.hh (1.6), src/algorithms.hh (1.13),
+	  src/conversion.cc (1.42), src/globals.cc (1.11), src/globals.hh
+	  (1.27), src/initializer.hh (1.6), src/minimize.cc (1.28),
+	  src/ppl_header.top (1.5), src/simplify.cc (1.22), tests/BBox.cc
+	  (1.3), tests/BBox.hh (1.2), tests/CbecomesNNC1.cc (1.3),
+	  tests/Makefile.am (1.167), tests/NNCinclusion1.cc (1.5),
+	  tests/NNCminimize1.cc (1.8), tests/NNCminimize2.cc (1.8),
+	  tests/NNCminimize3.cc (1.8), tests/NNCminimize4.cc (1.10),
+	  tests/NNCminimize5.cc (1.7), tests/NNCminimize6.cc (1.9),
+	  tests/PFunction.cc (1.2), tests/PFunction.hh (1.2),
+	  tests/addconstraint1.cc (1.3), tests/addconstraint2.cc (1.2),
+	  tests/addconstraint3.cc (1.2), tests/addconstraints1.cc (1.9),
+	  tests/addconstraints10.cc (1.8), tests/addconstraints11.cc (1.9),
+	  tests/addconstraints12.cc (1.2), tests/addconstraints13.cc (1.4),
+	  tests/addconstraints2.cc (1.17), tests/addconstraints3.cc (1.7),
+	  tests/addconstraints4.cc (1.9), tests/addconstraints5.cc (1.10),
+	  tests/addconstraints6.cc (1.11), tests/addconstraints7.cc (1.10),
+	  tests/addconstraints8.cc (1.10), tests/addconstraints9.cc (1.11),
+	  tests/adddimensions1.cc (1.12), tests/adddimensions10.cc (1.5),
+	  tests/adddimensions11.cc (1.3), tests/adddimensions12.cc (1.2),
+	  tests/adddimensions2.cc (1.8), tests/adddimensions3.cc (1.10),
+	  tests/adddimensions4.cc (1.8), tests/adddimensions5.cc (1.6),
+	  tests/adddimensions6.cc (1.6), tests/adddimensions7.cc (1.6),
+	  tests/adddimensions8.cc (1.4), tests/adddimensions9.cc (1.4),
+	  tests/addgenerator1.cc (1.3), tests/addgenerator2.cc (1.3),
+	  tests/addgenerator3.cc (1.2), tests/addgenerator4.cc (1.3),
+	  tests/addgenerators1.cc (1.10), tests/addgenerators10.cc (1.2),
+	  tests/addgenerators11.cc (1.4), tests/addgenerators12.cc (1.4),
+	  tests/addgenerators2.cc (1.10), tests/addgenerators3.cc (1.10),
+	  tests/addgenerators4.cc (1.10), tests/addgenerators5.cc (1.10),
+	  tests/addgenerators6.cc (1.10), tests/addgenerators7.cc (1.7),
+	  tests/addgenerators8.cc (1.5), tests/addgenerators9.cc (1.4),
+	  tests/affineimage1.cc (1.10), tests/affineimage2.cc (1.9),
+	  tests/affineimage3.cc (1.2), tests/affineimage4.cc (1.2),
+	  tests/affineimage5.cc (1.3), tests/affineimage6.cc (1.2),
+	  tests/affineimage7.cc (1.2), tests/affineimage8.cc (1.5),
+	  tests/affinepreimage1.cc (1.9), tests/affinepreimage10.cc (1.5),
+	  tests/affinepreimage2.cc (1.9), tests/affinepreimage3.cc (1.9),
+	  tests/affinepreimage4.cc (1.10), tests/affinepreimage5.cc (1.2),
+	  tests/affinepreimage6.cc (1.3), tests/affinepreimage7.cc (1.2),
+	  tests/affinepreimage8.cc (1.2), tests/affinepreimage9.cc (1.3),
+	  tests/affinetrans.cc (1.12), tests/append1.cc (1.18),
+	  tests/append2.cc (1.19), tests/ascii_dump_load1.cc (1.11),
+	  tests/ascii_dump_load2.cc (1.9), tests/ascii_dump_load3.cc
+	  (1.12), tests/ascii_dump_load4.cc (1.12),
+	  tests/ascii_dump_load5.cc (1.8), tests/ascii_dump_load6.cc (1.5),
+	  tests/ascii_dump_load7.cc (1.5), tests/bhrz03widening1.cc (1.2),
+	  tests/bhrz03widening10.cc (1.2), tests/bhrz03widening11.cc (1.2),
+	  tests/bhrz03widening12.cc (1.2), tests/bhrz03widening13.cc (1.2),
+	  tests/bhrz03widening14.cc (1.2), tests/bhrz03widening15.cc (1.2),
+	  tests/bhrz03widening16.cc (1.2), tests/bhrz03widening17.cc (1.2),
+	  tests/bhrz03widening18.cc (1.2), tests/bhrz03widening19.cc (1.2),
+	  tests/bhrz03widening2.cc (1.2), tests/bhrz03widening3.cc (1.2),
+	  tests/bhrz03widening4.cc (1.2), tests/bhrz03widening5.cc (1.2),
+	  tests/bhrz03widening6.cc (1.2), tests/bhrz03widening7.cc (1.2),
+	  tests/bhrz03widening8.cc (1.2), tests/bhrz03widening9.cc (1.2),
+	  tests/bounded1.cc (1.8), tests/boundingbox1.cc (1.31),
+	  tests/boundingbox2.cc (1.16), tests/boundingbox3.cc (1.7),
+	  tests/boundingbox4.cc (1.4), tests/bounds1.cc (1.4),
+	  tests/bounds2.cc (1.4), tests/concatenate1.cc (1.5),
+	  tests/concatenate2.cc (1.5), tests/concatenate3.cc (1.5),
+	  tests/concatenate4.cc (1.4), tests/concatenate5.cc (1.2),
+	  tests/concatenate6.cc (1.4), tests/constraints1.cc (1.4),
+	  tests/constraints2.cc (1.4), tests/constraints3.cc (1.4),
+	  tests/constraints4.cc (1.4), tests/contains1.cc (1.2),
+	  tests/disjoint1.cc (1.2), tests/disjoint2.cc (1.4),
+	  tests/disjoint3.cc (1.3), tests/ehandlers.cc (1.4),
+	  tests/ehandlers.hh (1.6), tests/empty1.cc (1.11),
+	  tests/exceptions1.cc (1.29), tests/exceptions2.cc (1.23),
+	  tests/files.cc (1.4), tests/files.hh (1.4),
+	  tests/generalizedaffineimage1.cc (1.5),
+	  tests/generalizedaffineimage10.cc (1.4),
+	  tests/generalizedaffineimage11.cc (1.3),
+	  tests/generalizedaffineimage12.cc (1.2),
+	  tests/generalizedaffineimage2.cc (1.4),
+	  tests/generalizedaffineimage3.cc (1.5),
+	  tests/generalizedaffineimage4.cc (1.3),
+	  tests/generalizedaffineimage5.cc (1.3),
+	  tests/generalizedaffineimage6.cc (1.3),
+	  tests/generalizedaffineimage7.cc (1.5),
+	  tests/generalizedaffineimage8.cc (1.3),
+	  tests/generalizedaffineimage9.cc (1.3), tests/generators1.cc
+	  (1.11), tests/generators2.cc (1.7), tests/generators3.cc (1.3),
+	  tests/generators4.cc (1.3), tests/generators5.cc (1.3),
+	  tests/generators6.cc (1.4), tests/h79widening1.cc (1.4),
+	  tests/h79widening2.cc (1.5), tests/h79widening3.cc (1.5),
+	  tests/h79widening4.cc (1.2), tests/h79widening5.cc (1.3),
+	  tests/inclusion1.cc (1.5), tests/inclusion2.cc (1.2),
+	  tests/intersection1.cc (1.4), tests/intersection10.cc (1.3),
+	  tests/intersection11.cc (1.4), tests/intersection2.cc (1.7),
+	  tests/intersection3.cc (1.5), tests/intersection4.cc (1.5),
+	  tests/intersection5.cc (1.5), tests/intersection6.cc (1.5),
+	  tests/intersection7.cc (1.4), tests/intersection8.cc (1.3),
+	  tests/intersection9.cc (1.3), tests/limitedbhrz03widening1.cc
+	  (1.2), tests/limitedh79widening1.cc (1.5),
+	  tests/limitedh79widening2.cc (1.5), tests/limitedh79widening3.cc
+	  (1.3), tests/limitedh79widening4.cc (1.3),
+	  tests/linearpartition1.cc (1.8), tests/linearpartition2.cc (1.8),
+	  tests/linearpartition3.cc (1.8), tests/linexpression1.cc (1.2),
+	  tests/mc91.cc (1.10), tests/memory1.cc (1.18),
+	  tests/minconstraints1.cc (1.3), tests/minconstraints2.cc (1.3),
+	  tests/minconstraints3.cc (1.2), tests/minconstraints4.cc (1.6),
+	  tests/mingenerators1.cc (1.3), tests/mingenerators2.cc (1.2),
+	  tests/mingenerators3.cc (1.2), tests/onepoint.cc (1.8),
+	  tests/operator1.cc (1.3), tests/permute.cc (1.25),
+	  tests/polydifference1.cc (1.5), tests/polydifference2.cc (1.7),
+	  tests/polydifference3.cc (1.2), tests/polydifference4.cc (1.3),
+	  tests/polydifference5.cc (1.4), tests/polydifference6.cc (1.3),
+	  tests/polydifference7.cc (1.3), tests/polyhull1.cc (1.5),
+	  tests/polyhull10.cc (1.2), tests/polyhull2.cc (1.5),
+	  tests/polyhull3.cc (1.5), tests/polyhull4.cc (1.4),
+	  tests/polyhull5.cc (1.3), tests/polyhull6.cc (1.3),
+	  tests/polyhull7.cc (1.2), tests/polyhull8.cc (1.3),
+	  tests/polyhull9.cc (1.4), tests/ppl_test.hh (1.3), tests/print.cc
+	  (1.9), tests/print.hh (1.13), tests/randphull1.cc (1.7),
+	  tests/randphull2.cc (1.4), tests/relations1.cc (1.8),
+	  tests/relations10.cc (1.4), tests/relations11.cc (1.4),
+	  tests/relations12.cc (1.3), tests/relations13.cc (1.3),
+	  tests/relations14.cc (1.3), tests/relations15.cc (1.3),
+	  tests/relations16.cc (1.3), tests/relations17.cc (1.5),
+	  tests/relations18.cc (1.3), tests/relations19.cc (1.4),
+	  tests/relations2.cc (1.9), tests/relations3.cc (1.9),
+	  tests/relations4.cc (1.9), tests/relations5.cc (1.9),
+	  tests/relations6.cc (1.8), tests/relations7.cc (1.8),
+	  tests/relations8.cc (1.8), tests/relations9.cc (1.10),
+	  tests/removedim1.cc (1.9), tests/removedim2.cc (1.13),
+	  tests/removedim3.cc (1.9), tests/removedim4.cc (1.10),
+	  tests/removedim5.cc (1.8), tests/removedim6.cc (1.11),
+	  tests/removedim7.cc (1.6), tests/removedim8.cc (1.4),
+	  tests/removedim9.cc (1.3), tests/shuffledim1.cc (1.6),
+	  tests/smm1.cc (1.12), tests/timeelapse1.cc (1.6),
+	  tests/timeelapse2.cc (1.6), tests/timeelapse3.cc (1.6),
+	  tests/timeelapse4.cc (1.6), tests/timeelapse5.cc (1.6),
+	  tests/timeelapse6.cc (1.2), tests/timeelapse7.cc (1.2),
+	  tests/timeelapse8.cc (1.3), tests/timings.cc (1.3),
+	  tests/timings.hh (1.3), tests/topclosed1.cc (1.3),
+	  tests/topclosed2.cc (1.2), tests/topclosed3.cc (1.4),
+	  tests/topclosure1.cc (1.5), tests/topclosure2.cc (1.2),
+	  tests/topclosure3.cc (1.2), tests/topclosure4.cc (1.4),
+	  tests/universe1.cc (1.7), tests/universe2.cc (1.8),
+	  tests/universe3.cc (1.8), tests/universe4.cc (1.8),
+	  tests/universe5.cc (1.9), tests/universe6.cc (1.6),
+	  tests/watchdog1.cc (1.15), tests/writeconsys1.cc (1.5),
+	  tests/writegensys1.cc (1.6), tests/writegensys2.cc (1.6),
+	  tests/writegensys3.cc (1.5), tests/writepolyhedron1.cc (1.5),
+	  tests/writepolyhedron2.cc (1.6), tests/writepolyhedron3.cc (1.5),
+	  tests/writerelation1.cc (1.5), tests/writevariable1.cc (1.5):
+	  Update copyright years.
+
+2002-12-31 Tuesday 17:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.273), Polyhedron.defs.hh (1.175): The
+	  three different techniques making up BHRZ03_widening_assign() are
+	  now isolated into corresponding members, to ease further
+	  experimentation.  Keeping track of the convergence reason and of
+	  the successful technique in order to later output statistics
+	  about it.
+
+2002-12-31 Tuesday 17:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Init.inlines.hh (1.6), globals.cc (1.10), globals.hh
+	  (1.26): Added a global struct to keep statistics about BHRZ03
+	  when the pre-proc flag PPL_STATISTICS is set (now set by
+	  default). Statistics are outputted during the library
+	  finalization.
+
+2002-12-30 Monday 19:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.272): In the NEW_LIMITED_GROWTH_ORDERING
+	  case of method is_BHRZ03_stabilizing(), when we have the same
+	  number of constraints for x and y, we now also check if the same
+	  number is obtained when disregarding the positivity constraint.
+
+2002-12-30 Monday 09:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.271): Wrong reference to `abort()' corrected
+	  into a call.
+
+2002-12-30 Monday 09:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.270): Added preproc flag
+	  NEW_LIMITED_GROWTH_ORDERING to test the new convergence criterion
+	  for bhrz03. The new stabilization test now prints a '*' on
+	  std::cerr each time we miss an opportunity of applying the new
+	  widening techniques due to the new convergence criterion.
+
+2002-12-26 Thursday 14:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_prolog.icc (1.75), Ciao/ppl_ciao.cc
+	  (1.16), GNU/ppl_gprolog_sd.cc (1.11), SICStus/sicstus_cfli.ic
+	  (1.3), SWI/ppl_swiprolog.cc (1.56), XSB/ppl_xsb.cc (1.16),
+	  YAP/ppl_yap.cc (1.50): Transition to C: avoid references.
+
+2002-12-26 Thursday 11:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Ciao/ppl_ciao.cc (1.15),
+	  GNU/ppl_gprolog_sd.cc (1.10), SICStus/sicstus_cfli.h (1.2),
+	  SICStus/sicstus_cfli.ic (1.2), SWI/ppl_swiprolog.cc (1.55),
+	  XSB/ppl_xsb.cc (1.15), YAP/ppl_yap.cc (1.49): Transition to C:
+	  avoid `bool'.
+
+2002-12-26 Thursday 11:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/: Makefile.am (1.33), ppl_sicstus_sd.cc
+	  (1.31), sicstus_cfli.cc (1.1), sicstus_cfli.h (1.1),
+	  sicstus_cfli.ic (1.1): Started carving the new Common Foreign
+	  Language Interface.
+
+2002-12-25 Wednesday 19:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.74): Spurious element removed
+	  from the `prolog_atoms' array.
+
+2002-12-22 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.51): Mention the bug fixed in
+	  Polyhedron::minimized_constraints().
+
+2002-12-22 Sunday 08:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.79): Version number bumped.
+
+2002-12-21 Saturday 20:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.269), tests/topclosure1.cc (1.4): Corrected
+	  the bug pointed out by topclosure1.cc.
+
+2002-12-21 Saturday 20:41  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/GenSys.cc (1.73): In add_corresponding_points(), iteration
+	  now goes upward to insert the new points in a partially ordered
+	  sequence.
+
+2002-12-21 Saturday 19:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/print.cc (1.8): Consistently follow "true" and "false" by a
+	  full stop.
+
+2002-12-21 Saturday 16:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: print.cc (1.7), print.hh (1.12): Removal of easy_print()
+	  completed.
+
+2002-12-21 Saturday 14:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.53), src/Status.cc (1.18),
+	  src/initializer.hh (1.5), tests/ehandlers.cc (1.3): Prefer
+	  anonymous namespaces to static declarations.
+
+2002-12-21 Saturday 13:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/print.cc (1.6): The functions print_constraints() and
+	  print_generators() were ignoring the `intro' argument.
+
+2002-12-20 Friday 15:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/topclosure1.cc (1.3): Temporarily force NOISY to 1.
+
+2002-12-20 Friday 15:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/print.cc (1.5): Avoid excess minimizations when printing
+	  constraints or generators.
+
+2002-12-20 Friday 15:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/boundingbox1.cc (1.30): Minor adjustments to expression
+	  spacing; cutted away a few commented stmts.
+
+2002-12-20 Friday 14:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BBox.cc (1.2): Output functions greatly improved.
+
+2002-12-19 Thursday 07:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.78): Version number bumped.
+
+2002-12-18 Wednesday 20:10  Elisa Ricci
+
+	* src/conversion.cc (1.41): The bug witnessed by the `polyhull10'
+	  test program has been fixed: under some circumstances we were not
+	  indicating that the matrix no longer had pending rows.
+
+2002-12-17 Tuesday 19:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.166), polyhull10.cc (1.1): New test
+	  showing a bug in the current version of the library.
+
+2002-12-16 Monday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/Makefile.am (1.21): Production of the documentation depends
+	  also on ppl.sty.
+
+2002-12-15 Sunday 20:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Makefile.am (1.165): The -lm flag for *randphull2 is in
+	  addition to the other LDFLAGS.
+
+2002-12-15 Sunday 19:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Makefile.am (1.164): The randphull2 and nnc_randphull2 test
+	  programs need to be linked against the math library.
+
+2002-12-15 Sunday 12:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/shuffledim1.cc (1.5): Define print_function() only when
+	  noisy.
+
+2002-12-15 Sunday 12:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/randphull2.cc (1.3): Define M_PI unless it is already
+	  defined.
+
+2002-12-14 Saturday 21:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: limitedbbrz02widening1.cc (1.4),
+	  limitedbhrz03widening1.cc (1.1): The new widening is now
+	  nicknamed BHRZ03.
+
+2002-12-14 Saturday 20:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: affineimage8.cc (1.4), affinepreimage10.cc (1.4): Use the
+	  NOISY flag to control noisiness.
+
+2002-12-14 Saturday 20:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: addconstraints13.cc (1.3), addgenerators12.cc (1.3),
+	  affineimage8.cc (1.3), affinepreimage10.cc (1.3), boundingbox1.cc
+	  (1.29), concatenate6.cc (1.3), constraints4.cc (1.3),
+	  generators6.cc (1.3), intersection11.cc (1.3), polyhull9.cc
+	  (1.3), relations19.cc (1.3), shuffledim1.cc (1.4), topclosure4.cc
+	  (1.3): Use internal linkage when possible.
+
+2002-12-14 Saturday 20:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Variable.cc (1.10): Variable::default_output_function()
+	  improved.
+
+2002-12-14 Saturday 18:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.50), doc/definitions.dox (1.104), interfaces/C/ppl_c.cc
+	  (1.52), interfaces/C/ppl_c.h (1.53),
+	  interfaces/Prolog/Prolog_interface.dox (1.71),
+	  interfaces/Prolog/pl_check.pl (1.30),
+	  interfaces/Prolog/ppl_prolog.icc (1.73),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.28),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.30),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.54),
+	  interfaces/Prolog/XSB/ppl_xsb.H (1.7),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.14),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.48), src/Polyhedron.cc
+	  (1.268), src/Polyhedron.defs.hh (1.174), src/algorithms.hh
+	  (1.12), tests/Makefile.am (1.163), tests/bbrz02widening1.cc
+	  (1.5), tests/bbrz02widening10.cc (1.2), tests/bbrz02widening11.cc
+	  (1.2), tests/bbrz02widening12.cc (1.4), tests/bbrz02widening13.cc
+	  (1.7), tests/bbrz02widening14.cc (1.8), tests/bbrz02widening15.cc
+	  (1.7), tests/bbrz02widening16.cc (1.2), tests/bbrz02widening17.cc
+	  (1.2), tests/bbrz02widening18.cc (1.2), tests/bbrz02widening19.cc
+	  (1.2), tests/bbrz02widening2.cc (1.3), tests/bbrz02widening3.cc
+	  (1.3), tests/bbrz02widening4.cc (1.2), tests/bbrz02widening5.cc
+	  (1.2), tests/bbrz02widening6.cc (1.4), tests/bbrz02widening7.cc
+	  (1.4), tests/bbrz02widening8.cc (1.3), tests/bbrz02widening9.cc
+	  (1.7), tests/bhrz03widening1.cc (1.1), tests/bhrz03widening10.cc
+	  (1.1), tests/bhrz03widening11.cc (1.1), tests/bhrz03widening12.cc
+	  (1.1), tests/bhrz03widening13.cc (1.1), tests/bhrz03widening14.cc
+	  (1.1), tests/bhrz03widening15.cc (1.1), tests/bhrz03widening16.cc
+	  (1.1), tests/bhrz03widening17.cc (1.1), tests/bhrz03widening18.cc
+	  (1.1), tests/bhrz03widening19.cc (1.1), tests/bhrz03widening2.cc
+	  (1.1), tests/bhrz03widening3.cc (1.1), tests/bhrz03widening4.cc
+	  (1.1), tests/bhrz03widening5.cc (1.1), tests/bhrz03widening6.cc
+	  (1.1), tests/bhrz03widening7.cc (1.1), tests/bhrz03widening8.cc
+	  (1.1), tests/bhrz03widening9.cc (1.1), tests/exceptions1.cc
+	  (1.28), tests/exceptions2.cc (1.22),
+	  tests/limitedbbrz02widening1.cc (1.3): The new widening is now
+	  nicknamed BHRZ03.
+
+2002-12-06 Friday 07:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (1.57): Avoid totally useless
+	  parentheses.	Make sure inline methods and functions are defined
+	  before being used.
+
+2002-12-05 Thursday 21:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.14), config.sub (1.13): Updated.
+
+2002-12-05 Thursday 16:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.77): Bump version number.
+
+2002-12-05 Thursday 16:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/minconstraints4.cc (1.5): Original testcase restored.
+
+2002-12-05 Thursday 16:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: append1.cc (1.17), append2.cc (1.18), exceptions1.cc
+	  (1.27), minconstraints4.cc (1.4), permute.cc (1.24),
+	  removedim1.cc (1.8), removedim2.cc (1.12), removedim3.cc (1.8),
+	  removedim6.cc (1.10), removedim7.cc (1.5), removedim8.cc (1.3):
+	  Use PPL::Variables_Set instead of std::set<Variable>.
+
+2002-12-05 Thursday 16:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Determinate.defs.hh (1.25), Determinate.inlines.hh (1.23),
+	  Polyhedron.cc (1.267), Polyhedron.defs.hh (1.173),
+	  PowerSet.defs.hh (1.23), PowerSet.inlines.hh (1.28),
+	  Variable.defs.hh (1.28), Variable.inlines.hh (1.14): The function
+	  bool operator<(const Variable&, const Variable&) has been
+	  substituted by bool less(const Variable&, const Variable&).  New
+	  predicate Variable::Compare useful for defining associative
+	  containers of variables.  New typedef Variables_Set standing for
+	  std::set<Variable, Variable::Compare>.  Use PPL::Variables_Set
+	  instead of std::set<Variable>.
+
+2002-12-05 Thursday 16:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/: C/ppl_c.cc (1.51), Prolog/ppl_prolog.icc (1.72): Use
+	  PPL::Variables_Set instead of std::set<Variable>.
+
+2002-12-05 Thursday 12:58  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.28): Added an item about strong minimization.
+
+2002-12-05 Thursday 12:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.266): In
+	  Polyhedron::strongly_minimize_constraints(), corrected the bug
+	  spotted by test minconstraints4.cc.
+
+2002-12-05 Thursday 12:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/minconstraints4.cc (1.3): Further simplified the test
+	  showing the bug.
+
+2002-12-05 Thursday 10:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/minconstraints4.cc (1.2): Simplified the test showing the
+	  bug in the strong minimization of constraints.
+
+2002-12-05 Thursday 08:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.162), minconstraints4.cc (1.1): New test
+	  showing a bug triggered by an invocation of
+	  Polyhedron::minimized_constraints().
+
+2002-12-03 Tuesday 20:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ConSys.cc (1.56), src/ConSys.defs.hh (1.75),
+	  src/ConSys.inlines.hh (1.28), src/GenSys.cc (1.72),
+	  src/GenSys.defs.hh (1.86), src/GenSys.inlines.hh (1.29),
+	  src/Matrix.cc (1.45), src/Matrix.defs.hh (1.39),
+	  src/Matrix.inlines.hh (1.28), src/Polyhedron.cc (1.265),
+	  src/Polyhedron.defs.hh (1.172), src/Polyhedron.inlines.hh (1.56),
+	  src/Status.cc (1.17), src/Status.defs.hh (1.24),
+	  src/Status.inlines.hh (1.11), src/conversion.cc (1.40),
+	  src/minimize.cc (1.27), src/simplify.cc (1.21), tests/Makefile.am
+	  (1.161), tests/addconstraints13.cc (1.2),
+	  tests/addgenerators12.cc (1.2), tests/affineimage8.cc (1.2),
+	  tests/affinepreimage10.cc (1.2), tests/boundingbox1.cc (1.28),
+	  tests/bug1.cc (1.3), tests/bug1.dat (1.2), tests/concatenate6.cc
+	  (1.2), tests/constraints4.cc (1.2), tests/generators6.cc (1.2),
+	  tests/intersection11.cc (1.2), tests/polyhull9.cc (1.2),
+	  tests/relations19.cc (1.2), tests/timeelapse8.cc (1.2),
+	  tests/topclosure4.cc (1.2): The `lazy' branch has been merged.
+
+2002-12-03 Tuesday 11:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.264): Fixed a couple of comments.
+
+2002-12-02 Monday 18:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.cc, Polyhedron.inlines.hh (lazy.[12,12]): A
+	  whole pass on the code of the class, trying to use the new
+	  methods defined for the handling of pending rows; also tried to
+	  provide more uniform comments and to avoid useless reordering of
+	  rows when invoking add_and_minimize().
+
+2002-12-02 Monday 18:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/GenSys.cc (lazy.4): Modified methods
+	  add_corresponding_points() and add_corr_closure_points() to rely
+	  on the caller for the management of pending rows.
+
+2002-12-02 Monday 18:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/ConSys.cc (lazy.3): Modified method
+	  adjust_topology_and_dimensions() to rely on the caller for the
+	  management of pending rows.
+
+2002-12-02 Monday 18:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh, minimize.cc (lazy.[7,4]): Provided
+	  slightly better names for methods dealing with pending rows.
+	  Modified the assertions for the two methods named
+	  add_and_minimize(...) and added new documentation.
+
+2002-12-02 Monday 18:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/conversion.cc (lazy.8): No longer using flag
+	  KEEP_SOURCE_SORTEDNESS.
+
+2002-12-02 Monday 18:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Matrix.cc (lazy.10): Corrected a typo in
+	  add_pending_rows(const Matrix&).  Removed an ill-placed
+	  well-formedness check.  Adjusted a few assertions.
+
+2002-12-02 Monday 09:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Matrix.cc, Matrix.defs.hh, Matrix.inlines.hh
+	  (lazy.[9,7,3]): Added new method unset_pending_rows() that sets
+	  the index_first_pending_row equal to the number of rows of the
+	  matrix.  Added new methods add_rows(const Matrix&) and
+	  add_pending_rows(const Matrix&) to add a set of rows with one
+	  matrix reallocation at most.	Adjusted a few comments.  Factored
+	  some common code in the sorting methods.
+
+2002-11-30 Saturday 11:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/ciao_clpq.pl (1.3): No longer use the
+	  debug package: use the debugger library instead.  Added
+	  use_module(library(prolog_sys)) in order to use statistics/0.
+
+2002-11-29 Friday 20:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/conversion.cc (1.39): Committed to preserving the sortedness
+	  of `source', but changed the name of the new index, now using
+	  `source_num_redundant'.  Using a reference instead of evaluating
+	  source[k] many times.
+
+2002-11-29 Friday 11:51  Elisa Ricci
+
+	* src/: Matrix.cc, Matrix.defs.hh, Polyhedron.cc,
+	  Polyhedron.defs.hh, Polyhedron.inlines.hh, conversion.cc,
+	  minimize.cc (lazy.[8,6,11,6,11,7,3]): Added
+	  Matrix::sort_rows(dimension_type first_row, dimension_type
+	  last_row) that sorts the the part of the matrix that is between
+	  `first_row' and `last_row'. Added also
+	  Matrix::sort_pending_and_remove_duplicates() that sorts the
+	  pending part of the matrix and remove the pending rows that are
+	  also in the upper part of the matrix.  Added
+	  Polyhedron::remove_pending_constraints_and_minimize() and
+	  Polyhedron::remove_pending_generators_and_minimize() that remove
+	  pending constraints/generators and minimize the polyhedron: now
+	  Polyhedron::remove_pending_and_minimze() only calls the two added
+	  methods.  Added also Polyhedron::add_and_minimize(bool, Matrix&,
+	  Matrix&, SatMatrix&) to obtain a polyhedron in minimal form
+	  defined by the system composed by the non-pending rows and by the
+	  pending rows of the first matrix.  This new method is called by
+	  Polyhedron::add_and_minimize(bool, Matrix&, Matrix&, SatMatrix&,
+	  const Matrix&) after We have added the row of the constant matrix
+	  to the first matrix.	Changed conversion so that when we swap the
+	  rows of source we set a flag and at the end we verify if the
+	  matrix is really sorted or not.
+
+2002-11-29 Friday 11:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.27): We should not forget to document
+	  Polyhedron::shuffle_dimensions().
+
+2002-11-29 Friday 10:44  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/conversion.cc (lazy.6): The management of flag
+	  KEEP_SOURCE_SORTEDNESS reported into the branch lazy.
+
+2002-11-29 Friday 10:29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/conversion.cc (1.38): Implemented a more efficient way to
+	  keep the sortedness of Matric `source', requiring max
+	  source_num_rows - 1 swaps of the rows in source.  The new code is
+	  controlled by pre-proc flag KEEP_SOURCE_SORTEDNESS, which is now
+	  set to 0 (i.e., still using old code).
+
+2002-11-28 Thursday 18:22  Elisa Ricci
+
+	* src/: SatMatrix.cc (1.24), SatMatrix.defs.hh (1.28), minimize.cc
+	  (1.26): Restored SatMatrix::transpose() and used it in
+	  add_and_minimize(), where it is possible, instead of
+	  SatMatrix::transpose_assign().  When we use add_row(), it sets
+	  correctly if the changed matrix is sorted or not: so we have not
+	  to say in add_and_minimize() that the changed matrix is not
+	  sorted.  In add_and_minimize(), after adding the new rows to the
+	  matrix `source1', we resize the saturation matrix `sat' instead
+	  of built a temporary saturation matrix.
+
+2002-11-28 Thursday 14:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/conversion.cc (1.37): Added (a preprocessing controlled and
+	  now disabled) alternative code for the removal of rows in Matrix
+	  `source' that are found to be redundant.  The alternative code
+	  does keep the sortedness of `source'.
+
+2002-11-28 Thursday 14:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/conversion.cc (lazy.5): Added (a preprocessing controlled and
+	  now disabled) alternative code for the removal of rows in Matrix
+	  source that are found to be redundant.  The alternative code does
+	  keep the sortedness of source.
+
+2002-11-27 Wednesday 19:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Generator.cc (1.42), Poly_Con_Relation.cc (1.6),
+	  Poly_Gen_Relation.cc (1.6): Added missing \relates needed by
+	  Doxygen.
+
+2002-11-27 Wednesday 18:10  Elisa Ricci
+
+	* src/conversion.cc (lazy.4): Improve the last part of conversion:
+	  now we check if the sorted matrix `dest' is really sorted and
+	  then we update `index_first_pending' of `dest'.
+
+2002-11-27 Wednesday 16:19  Elisa Ricci
+
+	* src/conversion.cc (lazy.3): Improved the part in which we update
+	  `index_first_pending' of `dest'.
+
+2002-11-27 Wednesday 13:15  Elisa Ricci
+
+	* src/: Matrix.defs.hh, Matrix.cc, conversion.cc (lazy.[5,7,2]):
+	  Now we have Matrix::add_pending_row(Row::Type type) instead of
+	  Matrix::add_row(Row::Type type). This new method does not change
+	  `index_first_pending' and does not verify the sortedness of the
+	  matrix.  Used this new method in conversion.	At the end of
+	  conversion, we update the sortedness of `dest' and its
+	  `index_first_pending'.
+
+2002-11-27 Wednesday 11:45  Elisa Ricci
+
+	* src/minimize.cc (lazy.2): When we use add_row(), it sets
+	  correctly if the changed matrix is sorted or not: so we do not
+	  say in add_and_minimize() that then the vhanged matrix is not
+	  sorted.  In add_and_minimize(), after adding the new rows to the
+	  matrix `source1', we resize the saturation matrix `sat' instead
+	  of built a temporary saturation matrix.  In add_and_minimize(),
+	  also used SatMatrix::transpose() where it is possible instead of
+	  SatMatrix::transpose_assign().
+
+2002-11-27 Wednesday 11:21  Elisa Ricci
+
+	* tests/shuffledim1.cc (1.3): Added a test to verify
+	  Polyhedron::shuffle_dimensions() in the case that the polyhedron
+	  is zero-dimensional.
+
+2002-11-26 Tuesday 17:51  Elisa Ricci
+
+	* tests/shuffledim1.cc (1.2): Added void print_function() that is
+	  used to print a function in this test.  Added also other tests to
+	  verify Polyhedron::shuffle_dimensions().
+
+2002-11-26 Tuesday 17:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/print.cc (1.4): Fixed a bug whereby universe polyhedra were
+	  sometimes wrongly printed.
+
+2002-11-26 Tuesday 17:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.160), PFunction.cc (1.1), PFunction.hh
+	  (1.1), shuffledim1.cc (1.1): To test
+	  Polyhedron::shuffle_dimensions().
+
+2002-11-26 Tuesday 16:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.263), SatRow.cc (1.16), SatRow.defs.hh
+	  (1.24), SatRow.inlines.hh (1.21), conversion.cc (1.36),
+	  simplify.cc (1.20): New functions bool subset_or_equal(const
+	  SatRow&, const SatRow&) and bool strict_subset(const SatRow&,
+	  const SatRow&) replace the misleading overloadings of the
+	  comparison operators `<', `<=', `>' and `>=' on SatRow's.
+
+2002-11-26 Tuesday 10:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/SatRow.cc (lazy.1): From the main trunk: fixed int
+	  compare(const SatRow&, const SatRow&), bool operator<=(const
+	  SatRow&, const SatRow&), and bool operator<(const SatRow&, const
+	  SatRow&).
+
+2002-11-26 Tuesday 10:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/SatRow.cc (1.15): Fixed int compare(const SatRow& x, const
+	  SatRow& y), bool operator<=(const SatRow& x, const SatRow& y),
+	  and bool operator<(const SatRow& x, const SatRow& y): they were
+	  completely broken.
+
+2002-11-25 Monday 15:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Matrix.cc (lazy.6): Fixed a bug in Matrix::grow() whereby,
+	  depending on the relations between the new rows' size and the old
+	  row's capacity, index_first_pending could erroneously be set to
+	  zero.
+
+2002-11-25 Monday 11:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/Makefile.am (1.32): Properly install
+	  ppl_sicstus.so.
+
+2002-11-25 Monday 09:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.defs.hh, GenSys.defs.hh, Matrix.defs.hh
+	  (lazy.[3,4,4]): Added more details in the documentation for the
+	  split constructors.
+
+2002-11-25 Monday 09:25  Elisa Ricci
+
+	* src/: Matrix.cc, Polyhedron.cc (lazy.[5,10]): Corrected the bug
+	  in Matrix::ascii_load: we used "nrows" instead of "index", when
+	  we set the "index_first_pending".  In Matrix::add_row, erased in
+	  a condition of an "if" erased the check about the number of
+	  pending rows, because we use this method only when the matrix has
+	  no pending rows.  In Polyhedron::Polyhedron(Topology topol,
+	  ConSys& cs) and Polyhedron::Polyhedron(Topology topol, const
+	  ConSys& cs) erased an "if" that is repeated twice.
+
+2002-11-24 Sunday 19:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am, bug1.cc, bug1.dat (lazy.[4,1,1]): New test
+	  program (with input data) meant to witness the existence of a bug
+	  in Polyhedron::concatenate_assign().	Unfortunately, it shows
+	  that there are also problems in Polyhedron::ascii_dump() and/or
+	  Polyhedron::ascii_load().
+
+2002-11-24 Sunday 14:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.cc, Polyhedron.defs.hh (lazy.[9,5]): Using the
+	  new split constructor to implement remove_pending_and_minimize().
+
+2002-11-24 Sunday 14:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.defs.hh, ConSys.inlines.hh, GenSys.defs.hh,
+	  GenSys.inlines.hh, Matrix.cc, Matrix.defs.hh
+	  (lazy.[2,1,3,1,4,3]): Added split constructors for Matrix, ConSys
+	  and GenSys.
+
+2002-11-23 Saturday 12:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/Makefile.am (1.31): Use libtool
+	  whenever possible.
+
+2002-11-23 Saturday 09:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h (1.52): Include <stdio.h> before <gmp.h> so
+	  as to avoid warnings about the implicit declaration of all the
+	  I/O functions.
+
+2002-11-22 Friday 17:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/disjoint2.cc (1.3): Be quiet.
+
+2002-11-22 Friday 15:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/algorithms.hh (1.11): Practice information hiding.
+
+2002-11-22 Friday 12:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: affinepreimage9.cc (1.2), append1.cc (1.16), append2.cc
+	  (1.17), ascii_dump_load1.cc (1.10), ascii_dump_load2.cc (1.8),
+	  ascii_dump_load3.cc (1.11), ascii_dump_load4.cc (1.11),
+	  ascii_dump_load5.cc (1.7), ascii_dump_load6.cc (1.4),
+	  ascii_dump_load7.cc (1.4), bbrz02widening1.cc (1.4),
+	  bbrz02widening12.cc (1.3), bbrz02widening13.cc (1.6),
+	  bbrz02widening14.cc (1.7), bbrz02widening15.cc (1.6),
+	  bbrz02widening9.cc (1.6), boundingbox1.cc (1.27), boundingbox2.cc
+	  (1.15), boundingbox3.cc (1.6), boundingbox4.cc (1.3),
+	  disjoint2.cc (1.2), disjoint3.cc (1.2), exceptions1.cc (1.26),
+	  exceptions2.cc (1.21), files.cc (1.3),
+	  generalizedaffineimage10.cc (1.3), generalizedaffineimage11.cc
+	  (1.2), generalizedaffineimage7.cc (1.4),
+	  generalizedaffineimage9.cc (1.2), intersection10.cc (1.2),
+	  intersection2.cc (1.6), limitedh79widening4.cc (1.2),
+	  linearpartition1.cc (1.7), linearpartition2.cc (1.7),
+	  linearpartition3.cc (1.7), memory1.cc (1.17), operator1.cc (1.2),
+	  permute.cc (1.23), polydifference7.cc (1.2), polyhull8.cc (1.2),
+	  randphull1.cc (1.6), randphull2.cc (1.2), relations17.cc (1.4),
+	  relations9.cc (1.9), smm1.cc (1.11), watchdog1.cc (1.14),
+	  writeconsys1.cc (1.4), writegensys1.cc (1.5), writegensys2.cc
+	  (1.5), writegensys3.cc (1.4), writepolyhedron1.cc (1.4),
+	  writepolyhedron2.cc (1.5), writepolyhedron3.cc (1.4),
+	  writerelation1.cc (1.4), writevariable1.cc (1.4): Consistency
+	  improvements.
+
+2002-11-22 Friday 12:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/files.hh (1.3): Include <iostream> instead of <iosfwd>.
+
+2002-11-22 Friday 11:54  Elisa Ricci
+
+	* src/Matrix.inlines.hh (lazy.2): Added the assertion
+	  "assert(num_rows() >= first_pending_row())" in
+	  Matrix::num_pending_rows().
+
+2002-11-22 Friday 10:23  Elisa Ricci
+
+	* src/: ConSys.cc, GenSys.cc, Matrix.cc, Polyhedron.cc,
+	  Polyhedron.inlines.hh (lazy.[2,3,3,8,10]): Added some comments to
+	  explain the case in which the polyhedron has something pending.
+	  Added some assertions to verify that a method is not used in
+	  wrong cases.
+
+2002-11-22 Friday 10:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Determinate.defs.hh (1.24): Teo declarations uncommented.
+
+2002-11-22 Friday 09:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h (1.51): Declarations of ppl_ConSys_begin()
+	  and ppl_ConSys_end() fixed.
+
+2002-11-22 Friday 09:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ppl_test.hh (1.2): Copyright notice added.
+
+2002-11-22 Friday 09:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ehandlers.cc (1.2): Include ehandlers.hh.
+
+2002-11-22 Friday 09:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.76): Bump version number.
+
+2002-11-21 Thursday 18:18  Elisa Ricci
+
+	* src/: ConSys.cc, ConSys.defs.hh, GenSys.cc, GenSys.defs.hh,
+	  Matrix.cc, Matrix.defs.hh, Polyhedron.cc, Polyhedron.defs.hh,
+	  Polyhedron.inlines.hh, conversion.cc, minimize.cc, simplify.cc
+	  (lazy.[1,1,2,2,2,2,7,4,9,1,1,1]): Added the methods
+	  Matrix::add_pending_row(), Matrix::insert_pending(),
+	  GenSys::insert_pending() and ConSys::insert_pending().  Erased
+	  the matrices `pending_cs' and `pending_gs' from polyhedron: now
+	  if the polyhedron has pending constraints/generators, they are in
+	  con_sys/gen_sys.  Modified the methods of Polyhedron, ConSys,
+	  GenSys and Matrix so that they always consider if the polyhedron
+	  contains something pending or if the matrix has some pending
+	  rows.
+
+2002-11-20 Wednesday 12:38  Elisa Ricci
+
+	* tests/: Makefile.am (1.159), disjoint2.cc (1.1), disjoint3.cc
+	  (1.1): Added new tests to verify are_disjoint(const Polyhedron&
+	  x, const Polyhedron& y).
+
+2002-11-15 Friday 16:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.158), intersection2.cc (1.5),
+	  randphull1.cc (1.5), randphull2.cc (1.1): New test computing
+	  random polytopes by generating points on the surface of an
+	  n-dimensional sphere.
+
+2002-11-15 Friday 12:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: pl_check.pl (1.29), ppl_prolog.icc (1.71):
+	  Bug in term_to_complexity_class/2 corrected (a_empty changed to
+	  a_any).  Tests for ppl_Polyhedron_get_bounding_box/3 added to
+	  pl_check.pl.
+
+2002-11-15 Friday 12:31  Elisa Ricci
+
+	* src/: Matrix.cc, Matrix.defs.hh, Matrix.inlines.hh
+	  (lazy.[1,1,1]): Started to insert the pending system into the
+	  matrix.
+
+2002-11-15 Friday 09:17  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.70): Added
+	  documentation for the complexity classes allowed in
+	  ppl_Polyhedron_get_bounding_box/3
+
+2002-11-14 Thursday 10:30  Elisa Ricci
+
+	* src/Polyhedron.inlines.hh (lazy.8): Erased a repeated comment.
+
+2002-11-14 Thursday 10:14  Elisa Ricci
+
+	* src/Polyhedron.cc, tests/topclosure4.cc (lazy.[6,2]): Improved
+	  Polyhedron::topological_closure_assign() in the case that the
+	  polyhedron has pending constraints.  Typo fixed in the test.
+
+2002-11-14 Thursday 09:43  Elisa Ricci
+
+	* src/Polyhedron.inlines.hh, tests/boundingbox1.cc (lazy.[7,1]):
+	  Corrected an error in Polyhedron::shrink_bounding_box(Box& box,
+	  Complexity_Class complexity).  Added two tests to verify this
+	  method. In boundingbox1.cc, corrected also test10 that did not
+	  verify if the resulting box computed using POLYNOMIAL were equal
+	  to the "known_pbox".
+
+2002-11-13 Wednesday 18:51  Elisa Ricci
+
+	* tests/: Makefile.am, topclosure4.cc (lazy.[3,1]): Added a new
+	  test to verify Polyhedron::topological_closure_assign().
+
+2002-11-13 Wednesday 18:50  Elisa Ricci
+
+	* src/: Polyhedron.cc, Polyhedron.inlines.hh (lazy.[5,6]): Improved
+	  Polyhedron::intersection_assign(),
+	  Polyhedron::poly_hull_assign(), Polyhedron::add_generator(),
+	  Polyhedron::add_constraint(), Polyhedron::concatenate_assign(),
+	  Polyhedron::add_constraints(), Polyhedron::add_generators() and
+	  modified Polyhedron::topological_closure_assign() and
+	  Polyhedron::shrink_bounding_box(Box& box, Complexity_Class
+	  complexity) in the case in which the polyhedra can have something
+	  pending.
+
+2002-11-13 Wednesday 18:43  Elisa Ricci
+
+	* src/: GenSys.cc, GenSys.defs.hh (lazy.[1,1]): Added the method
+	  add_corresponding_points(const GenSys& gs) that add to *this the
+	  "corresponding point of the closure points of "gs" and of *this".
+
+2002-11-13 Wednesday 10:58  Elisa Ricci
+
+	* tests/: Makefile.am, addconstraints13.cc, addgenerators12.cc,
+	  affineimage8.cc, affinepreimage10.cc, relations19.cc,
+	  timeelapse8.cc (lazy.[2,2,1,1,1,1,1]): Added some other tests
+	  that verify the methods Polyhedron::add_generators(),
+	  Polyhedron::add_generators_and_minimize(),
+	  Polyhedron::affine_image(), Polyhedron::affine_preimage(),
+	  Polyhedron::relation_with() and Polyhedron::time_elapse_assign()
+	  in the case in which the polyhedra can have something pending.
+
+2002-11-13 Wednesday 10:49  Elisa Ricci
+
+	* src/Polyhedron.cc (lazy.4): Improved Polyhedron::is_bounded() and
+	  Polyhedron::bounds().  Corrected
+	  Polyhedron::is_topologically_closed().
+
+2002-11-13 Wednesday 09:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.28): pl_check.pl now avoids
+	  unifying terms with constraint and generator systems.
+
+2002-11-12 Tuesday 17:32  Elisa Ricci
+
+	* tests/: Makefile.am, addconstraints13.cc, concatenate6.cc,
+	  constraints4.cc, generators6.cc, intersection11.cc, polyhull9.cc
+	  (lazy.[1,1,1,1,1,1,1]): Added some new tests that verify the case
+	  in which the polyhedron can have something pending.
+
+2002-11-12 Tuesday 17:30  Elisa Ricci
+
+	* src/: Polyhedron.cc, Polyhedron.inlines.hh (lazy.[3,5]): Improved
+	  operator<=(x, y) and Polyhedron::concatenate_assign(y) in the
+	  case that the polyhedra have something pending.
+
+2002-11-12 Tuesday 16:21  Elisa Ricci
+
+	* src/Polyhedron.inlines.hh (lazy.4): Considered the case of a
+	  polyhedron that has something pending in
+	  Polyhedron::shrink_bounding_box(Box& box, Complexity_Class
+	  complexity) and in Polyhedron::shuffle_dimensions(const
+	  PartialFunction& pfunc).
+
+2002-11-12 Tuesday 11:52  Elisa Ricci
+
+	* src/: Polyhedron.cc, Polyhedron.defs.hh, Polyhedron.inlines.hh
+	  (lazy.[2,3,3]): Improved the case of pending system in
+	  Polyhedron::generators() and Polyhedron::minimize() and
+	  Polyhedron::intersection_assign().  Corrected operator<= in the
+	  case that one of the two polyhedra have something pending.  Added
+	  the method Polyhedron::can_have_something_pending().	Considered
+	  the case of pending constraints or pending generators in
+	  concatenate_assign(), poly_hull_assign(),
+	  poly_hull_assign()_and_minimize, add_dimension_and_embed(),
+	  add_dimensions_and_project, remove_dimensions()
+	  remove_higher_dimensions, in all the methods that are used to add
+	  constraints and generators, in affine_image() and
+	  affine_preimage, in time_elapse_assign(), in check_universe(), in
+	  is_bounded() and bounds(), in is_topologically_closed() and in
+	  topological_closure_assign(), in Polyhedron::swap() and in
+	  Polyhedron(Topology topol, const Box& box).
+
+2002-11-12 Tuesday 10:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.26): Revised the section on urgent things to do.
+
+2002-11-12 Tuesday 10:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.69), pl_check.pl
+	  (1.27), ppl_prolog.icc (1.70), Ciao/ppl_ciao.pl (1.27),
+	  SICStus/ppl_sicstus_sd.cc (1.29), SWI/ppl_swiprolog.cc (1.53),
+	  XSB/ppl_xsb.H (1.6), XSB/ppl_xsb.cc (1.13), YAP/ppl_yap.cc
+	  (1.47): Implemented ppl_Polyhedron_get_bounding_box/3.
+
+2002-11-10 Sunday 17:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/memory1.cc (1.16): Do not try to run the real test on
+	  Cygwin since the implementation of setrlimit() there is a dummy
+	  one.
+
+2002-11-10 Sunday 11:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/Makefile.am (1.11): Allow to build in the
+	  sources' directory.
+
+2002-11-10 Sunday 09:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/.cvsignore (1.4), tests/.cvsignore (1.7):
+	  Ignore more generated files.
+
+2002-11-09 Saturday 22:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/memory1.cc (1.15): The LIMIT macro has been fixed.
+
+2002-11-08 Friday 18:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/: Makefile.am (1.13), ciao_clpq.pl (1.2):
+	  Completed.
+
+2002-11-08 Friday 17:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/ppl_ciao.cc (1.14): Fixed two critical
+	  bugs.
+
+2002-11-08 Friday 12:20  Elisa Ricci
+
+	* src/: Polyhedron.cc, Polyhedron.defs.hh, Polyhedron.inlines.hh
+	  (lazy.[1,2,2]): Added to a polyhedron the system of pending
+	  constraints and the system of pending generators.  Added the
+	  methods that set the flags used for the pending systems and
+	  Polyhedron::remove_pending_and_minimize(),
+	  Polyhedron::remove_pending_to_obtain_constraints() and
+	  Polyhedron::remove_pending_to_obtain_generators().  Started to
+	  consider the pending systems and in particular used them
+	  operator<=(x, y), Polyhedron::intersection_assign_and_minimize(y)
+	  and Polyhedron::intersection_assign(y).
+
+2002-11-08 Friday 12:13  Elisa Ricci
+
+	* src/Status.cc (lazy.2): Modified Status::OK() so that it also
+	  verify if the polyhedron has both pending constraints and pending
+	  generators.
+
+2002-11-08 Friday 12:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/Makefile.am (1.12): Added missing patterns
+	  to MOSTLYCLEANFILES.
+
+2002-11-08 Friday 10:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: ascii_dump_load3.cc (1.10), ascii_dump_load4.cc (1.10),
+	  ascii_dump_load5.cc (1.6), ascii_dump_load6.cc (1.3): Be noisy
+	  when NOISY.
+
+2002-11-08 Friday 10:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ascii_dump_load7.cc (1.3): Comment fixed.
+
+2002-11-08 Friday 10:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/Makefile.am (1.11): Add fake_main.pl and
+	  ciao_clpq.pl to EXTRA_DIST.
+
+2002-11-07 Thursday 18:32  Elisa Ricci
+
+	* src/: Polyhedron.defs.hh, Polyhedron.inlines.hh, Status.cc,
+	  Status.defs.hh, Status.inlines.hh (lazy.[1,1,1,1,1]): Added in
+	  the Status the flags that say if the polyhedron has something
+	  pending. Added the methods that check these flags.
+
+2002-11-07 Thursday 16:45  Elisa Ricci
+
+	* src/: SatMatrix.cc (1.23), SatMatrix.defs.hh (1.27),
+	  SatMatrix.inlines.hh (1.17): Erased SatMatrix::transpose(),
+	  operator==(const SatMatrix& x, const SatMatrix& y) and
+	  operator!=(const SatMatrix& x, const SatMatrix& y), because they
+	  were never used.
+
+2002-11-07 Thursday 16:04  Elisa Ricci
+
+	* src/Polyhedron.cc (1.262): Corrected the bug: we printed "sat_c"
+	  twice instead of "sat_c" and "sat_g".
+
+2002-11-07 Thursday 15:41  Elisa Ricci
+
+	* tests/ascii_dump_load7.cc (1.2): Simplify the test that shows the
+	  bug.
+
+2002-11-07 Thursday 15:35  Elisa Ricci
+
+	* tests/: Makefile.am (1.157), ascii_dump_load7.cc (1.1): This test
+	  shows a bug: we have a polyhedron with sat_g up-to-date but sat_g
+	  is dimensional incompatible with con_sys.
+
+2002-11-07 Thursday 15:20  Elisa Ricci
+
+	* tests/ascii_dump_load6.cc (1.2): Added two other tests to verify
+	  Status::ascii_dump() and Status::ascii_load().
+
+2002-11-06 Wednesday 19:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: ascii_dump_load3.cc (1.9), ascii_dump_load4.cc (1.9):
+	  Added missing calls to seekp() where input was immediately
+	  followed by output on a stream open in read/write mode.
+
+2002-11-06 Wednesday 07:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.25): Added a few things to do rather urgently.
+
+2002-11-05 Tuesday 17:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/watchdog1.cc (1.13): Missing return statement added.
+
+2002-11-05 Tuesday 16:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/memory1.cc (1.14): Missing return statement added.
+
+2002-11-05 Tuesday 16:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_gmp.m4 (1.10): Detection of sizeof(mp_limb_t) fixed.
+
+2002-11-05 Tuesday 14:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/memory1.cc (1.13): The custom allocation functions must
+	  have C linkage.
+
+2002-11-05 Tuesday 14:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/mc91.cc (1.9): Do not refer to the AskTell class.
+
+2002-11-05 Tuesday 14:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Determinate.defs.hh (1.23), PowerSet.defs.hh (1.22),
+	  PowerSet.inlines.hh (1.27): Include the required files.
+
+2002-11-05 Tuesday 14:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.54): The AskTell constraint system class is
+	  nowhere near maturity: will not be distributed for the time
+	  being.
+
+2002-11-05 Tuesday 12:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.75): Check whether the C++ compiler supports
+	  flexible array only after having set CXXFLAGS.
+
+2002-11-05 Tuesday 12:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/: ac_check_gmp.m4 (1.9), ac_cxx_flexible_arrays.m4 (1.4): More
+	  quoting where needed.
+
+2002-11-05 Tuesday 11:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: Watchdog.cc (1.6), Watchdog.defs.hh (1.8): Standard
+	  conformance fixes.
+
+2002-11-05 Tuesday 10:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.8): Updated.
+
+2002-11-05 Tuesday 10:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/configure.ac (1.13): Work around a bug in AC_CHECK_FUNCS
+	  as implemented in autoconf 2.54c and previous versions.  For more
+	  information, see
+	  http://www.cs.unipr.it/pipermail/ppl-devel/2002-November/002929.html.
+
+2002-11-05 Tuesday 10:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.74), Watchdog/configure.ac (1.12),
+	  m4/ac_check_gmp.m4 (1.8), m4/ac_cxx_flexible_arrays.m4 (1.3):
+	  Avoid using obsolete macros.
+
+2002-11-05 Tuesday 09:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.73), m4/ac_check_gmp.m4 (1.7),
+	  m4/ac_cxx_flexible_arrays.m4 (1.2): Avoid using obsolete macros.
+
+2002-11-05 Tuesday 09:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/ppl_xsb.cc (1.12): Warning avoided, FIXME
+	  added.
+
+2002-11-05 Tuesday 09:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/smm1.cc (1.10): Extend the Parma_Polyhedra_Library
+	  namespace with the output operators before using STL stream
+	  iterators.
+
+2002-11-05 Tuesday 00:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: ConSys.cc (1.55), ConSys.defs.hh (1.74), ConSys.inlines.hh
+	  (1.27), GenSys.cc (1.71), GenSys.defs.hh (1.85), Matrix.defs.hh
+	  (1.38): We were violating the C++ standard by referring to
+	  unaccessible base classes.
+
+2002-11-04 Monday 17:28  Elisa Ricci
+
+	* tests/: Makefile.am (1.156), affineimage7.cc (1.1),
+	  affinepreimage9.cc (1.1), ascii_dump_load4.cc (1.8),
+	  ascii_dump_load5.cc (1.5), ascii_dump_load6.cc (1.1): Added tests
+	  to verify ascii_dump() and ascii_load() of SatMatrix and of
+	  Status and to verify Polyhedron::affine_image() and
+	  Polyhedron::affine_preimage() with a negative denominator.
+
+2002-11-04 Monday 12:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (1.55): Reposition a declaration that
+	  was moved by mistake.
+
+2002-11-04 Monday 12:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/: Makefile.am (1.10), ciao_clpq.pl (1.1):
+	  Little progress in the Ciao-Prolog interface.
+
+2002-11-04 Monday 12:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (1.54): Improved comments for
+	  Polyhedron::shrink_bounding_box().
+
+2002-11-04 Monday 11:36  Elisa Ricci
+
+	* src/Polyhedron.inlines.hh (1.53): In
+	  Polyhedron::shrink_bounding_box() added the comment that explains
+	  why we change the sign of `n' when we built the ExtendedRational
+	  `r`.
+
+2002-11-04 Monday 10:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (1.52): Avoid taking references to
+	  temporary GMP expressions.  FIXME about a missing comment added.
+
+2002-11-04 Monday 09:34  Elisa Ricci
+
+	* tests/: boundingbox3.cc (1.5), boundingbox4.cc (1.2): Modified
+	  these tests so that they also verify
+	  Polyhedron::shrink_bounding_box(box, POLYNOMIAL).
+
+2002-11-04 Monday 08:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.261): Avoid some useless copies.
+
+2002-11-03 Sunday 23:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.260): Avoid taking references to temporary
+	  GMP expressions.
+
+2002-11-03 Sunday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.155), ascii_dump_load1.cc (1.9),
+	  ascii_dump_load2.cc (1.7), ascii_dump_load3.cc (1.8),
+	  ascii_dump_load4.cc (1.7), ascii_dump_load5.cc (1.4): Be
+	  consistent in naming files.
+
+2002-11-03 Sunday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Row.cc (1.46), Row.inlines.hh (1.34): Progress in
+	  supporting compilers that do not provide flexible arrays.
+
+2002-11-03 Sunday 12:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.68),
+	  interfaces/Prolog/GNU/Makefile.am (1.24), m4/ac_check_gmp.m4
+	  (1.6): For the sake of not very smart linkers, link with `-lgmpxx
+	  -lgmp' instead of the other way around.
+
+2002-11-03 Sunday 11:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: ascii_dump_load1.cc (1.8), ascii_dump_load2.cc (1.6),
+	  ascii_dump_load3.cc (1.7), ascii_dump_load4.cc (1.6),
+	  ascii_dump_load5.cc (1.3), linearpartition1.cc (1.6),
+	  linearpartition2.cc (1.6), linearpartition3.cc (1.6), memory1.cc
+	  (1.12), writeconsys1.cc (1.3), writegensys1.cc (1.4),
+	  writegensys2.cc (1.4), writegensys3.cc (1.3), writepolyhedron1.cc
+	  (1.3), writepolyhedron2.cc (1.4), writepolyhedron3.cc (1.3),
+	  writerelation1.cc (1.3), writevariable1.cc (1.3): Be consistent
+	  as far as inclusions are concerned.
+
+2002-11-03 Sunday 11:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/pwl_header.middle (1.2): Include sys/time.h, if
+	  available.
+
+2002-11-03 Sunday 10:56  Elisa Ricci
+
+	* tests/: Makefile.am (1.154), boundingbox3.cc (1.4),
+	  boundingbox4.cc (1.1): Erased form boundingbox3.cc the flags
+	  "C_TESTS" and "NNC_TESTS".  boundingbox3.cc now contains only
+	  tests with C_Polyhedron; the tests that were in boundingbox3.cc
+	  and that contain polyhedron described by strict inequalities now
+	  are in boundingbox4.cc.
+
+2002-11-03 Sunday 09:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/Makefile.am (1.10): Always use the current
+	  C++ compiler, not simply `g++'.
+
+2002-11-03 Sunday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: Watchdog.defs.hh (1.7), Watchdog.inlines.hh (1.6):
+	  Little cleaning.
+
+2002-11-03 Sunday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: config.h.in (1.3), configure.ac (1.11): Get rid of
+	  AC_C_INLINE: we do not use inlines in C code and it was doing
+	  harm with some compilers.
+
+2002-11-02 Saturday 23:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.50), ppl_c.h (1.50): The function
+	  ppl_Polyhedron_shrink_bounding_box() has now a parameter allowing
+	  the selection of the desired complexity class.
+
+2002-11-02 Saturday 23:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/globals.hh (1.25): Spurious line removed.
+
+2002-11-02 Saturday 22:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/Makefile.am (1.9): Can now compile the
+	  Ciao-Prolog interface.
+
+2002-11-02 Saturday 20:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/ppl_ciao.pl (1.26): Properly declare all
+	  the predicates.
+
+2002-11-02 Saturday 20:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/ppl_xsb.cc (1.11): Uninitialized variable
+	  bug fixed.
+
+2002-11-02 Saturday 16:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/configure.ac (1.10): Buggy conditional fixed.
+
+2002-11-02 Saturday 16:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: adddimensions11.cc (1.2), addgenerators11.cc (1.3),
+	  exceptions1.cc (1.25), exceptions2.cc (1.20): Avoid inventing
+	  non-existing standard exceptions.
+
+2002-11-02 Saturday 11:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.171), src/Polyhedron.inlines.hh (1.51),
+	  src/globals.hh (1.24), tests/boundingbox1.cc (1.26),
+	  tests/boundingbox2.cc (1.14): New enum Complexity_Class to
+	  represent complexity classes.  Polyhedron::shrink_bounding_box()
+	  now takes a complexity class, defaulting to ANY, instead of a
+	  bool.
+
+2002-11-02 Saturday 10:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.49): Mention the bug fixed in operator-=(LinExpression&,
+	  const LinExpression&).
+
+2002-11-02 Saturday 09:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.h.in (1.22), configure.ac (1.72): Get rid of AC_C_INLINE:
+	  we do not use inlines in C code and it was doing harm with some
+	  compilers.
+
+2002-11-01 Friday 20:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.h.in (1.21), configure.ac (1.71), m4/ac_check_gmp.m4
+	  (1.5): Much improved detection of the size of GMP's mp_limb_t.
+
+2002-11-01 Friday 18:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: SatRow.cc (1.14), SatRow.defs.hh (1.23): Got rid of
+	  operator<<(std::ostream&, const SatRow&).
+
+2002-11-01 Friday 18:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: ConSys.defs.hh (1.73), Constraint.defs.hh (1.77),
+	  GenSys.defs.hh (1.84), Generator.defs.hh (1.80),
+	  Poly_Con_Relation.defs.hh (1.18), Poly_Gen_Relation.defs.hh
+	  (1.17), Polyhedron.defs.hh (1.170), Variable.defs.hh (1.27):
+	  Correctly relate the output operators to the corresponding
+	  classes.
+
+2002-11-01 Friday 18:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.24): There must be a more efficient way to implement bool
+	  are_disjoint(const Polyhedron&, const Polyhedron&).
+
+2002-11-01 Friday 18:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: NNCminimize1.cc (1.7), NNCminimize2.cc (1.7),
+	  NNCminimize3.cc (1.7), NNCminimize5.cc (1.6), ascii_dump_load3.cc
+	  (1.6), ascii_dump_load4.cc (1.5), bbrz02widening13.cc (1.5),
+	  bbrz02widening14.cc (1.6), bbrz02widening15.cc (1.5),
+	  bbrz02widening9.cc (1.5), concatenate1.cc (1.4), exceptions1.cc
+	  (1.24), generators1.cc (1.10), generators2.cc (1.6),
+	  linearpartition1.cc (1.5), linearpartition2.cc (1.5),
+	  linearpartition3.cc (1.5), memory1.cc (1.11), smm1.cc (1.9),
+	  watchdog1.cc (1.12): It is pointless to say `using namespace std'
+	  and `std::' at the same time.
+
+2002-11-01 Friday 18:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.48), src/AskTell.defs.hh (1.10), src/AskTell.inlines.hh
+	  (1.10), src/BoundingBox.cc (1.4), src/BoundingBox.defs.hh (1.8),
+	  src/ConSys.cc (1.54), src/ConSys.defs.hh (1.72),
+	  src/Constraint.cc (1.34), src/Constraint.defs.hh (1.76),
+	  src/Determinate.defs.hh (1.22), src/Determinate.inlines.hh
+	  (1.22), src/GenSys.cc (1.70), src/GenSys.defs.hh (1.83),
+	  src/Generator.cc (1.41), src/Generator.defs.hh (1.79),
+	  src/Interval.cc (1.5), src/Interval.defs.hh (1.10),
+	  src/Poly_Con_Relation.cc (1.5), src/Poly_Con_Relation.defs.hh
+	  (1.17), src/Poly_Gen_Relation.cc (1.5),
+	  src/Poly_Gen_Relation.defs.hh (1.16), src/Polyhedron.cc (1.259),
+	  src/Polyhedron.defs.hh (1.169), src/Polyhedron.types.hh (1.7),
+	  src/PowerSet.defs.hh (1.21), src/PowerSet.inlines.hh (1.26),
+	  src/SatRow.cc (1.13), src/SatRow.defs.hh (1.22), src/Variable.cc
+	  (1.9), src/Variable.defs.hh (1.26), tests/NNCminimize4.cc (1.9),
+	  tests/NNCminimize6.cc (1.8), tests/bbrz02widening13.cc (1.4),
+	  tests/bbrz02widening14.cc (1.5), tests/bbrz02widening15.cc (1.4),
+	  tests/bbrz02widening9.cc (1.4), tests/boundingbox1.cc (1.25),
+	  tests/boundingbox2.cc (1.13), tests/linearpartition1.cc (1.4),
+	  tests/linearpartition2.cc (1.4), tests/linearpartition3.cc (1.4),
+	  tests/mc91.cc (1.8), tests/print.cc (1.3), tests/relations1.cc
+	  (1.7), tests/relations10.cc (1.3), tests/relations11.cc (1.3),
+	  tests/relations12.cc (1.2), tests/relations13.cc (1.2),
+	  tests/relations14.cc (1.2), tests/relations15.cc (1.2),
+	  tests/relations16.cc (1.2), tests/relations17.cc (1.3),
+	  tests/relations18.cc (1.2), tests/relations2.cc (1.8),
+	  tests/relations3.cc (1.8), tests/relations4.cc (1.8),
+	  tests/relations5.cc (1.8), tests/relations6.cc (1.7),
+	  tests/relations7.cc (1.7), tests/relations8.cc (1.7),
+	  tests/relations9.cc (1.8), tests/smm1.cc (1.8),
+	  tests/writeconsys1.cc (1.2), tests/writegensys1.cc (1.3),
+	  tests/writegensys2.cc (1.3), tests/writegensys3.cc (1.2),
+	  tests/writepolyhedron1.cc (1.2), tests/writepolyhedron2.cc (1.3),
+	  tests/writepolyhedron3.cc (1.2), tests/writerelation1.cc (1.2),
+	  tests/writevariable1.cc (1.2): All the input/output operators
+	  have been confined into namespace
+	  Parma_Polyhedra_Library::IO_Operators.  This way they do not
+	  conflict with the operators the user might want to define.
+
+2002-11-01 Friday 14:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.53): Exclude Topology.hh from the generation
+	  of user's documentation.
+
+2002-11-01 Friday 14:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: BBox.cc (1.1), BBox.hh (1.1), Makefile.am (1.153),
+	  boundingbox1.cc (1.24), boundingbox2.cc (1.12), boundingbox3.cc
+	  (1.3): Avoid code duplication and some spaghetti-code.
+
+2002-11-01 Friday 12:03  Elisa Ricci
+
+	* tests/: boundingbox1.cc (1.23), boundingbox3.cc (1.2): Added
+	  operator<=(const BInterval& x, const BInterval& y) and
+	  operator<=(const BBox& x, const BBox& y).  In the tests, now we
+	  verify also if nbox <= pbox.
+
+2002-11-01 Friday 10:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Interval.cc (1.4): Always include <iostream>.
+
+2002-10-31 Thursday 18:08  Elisa Ricci
+
+	* tests/: Makefile.am (1.152), boundingbox1.cc (1.22),
+	  boundingbox3.cc (1.1): Modified the test boundingbox1.cc to use
+	  only necessarily closed polyhedron and to test also
+	  Polyhedron::shrink_bounding_box(Box& box, bool polynomial) when
+	  polynomial is "true".  Put the tests with not necessarily closed
+	  polyhedra into boundingbox3.cc.
+
+2002-10-31 Thursday 18:02  Elisa Ricci
+
+	* src/: Interval.cc (1.3), Interval.defs.hh (1.9),
+	  Interval.inlines.hh (1.6), Polyhedron.inlines.hh (1.50): Added
+	  :operator<<(std::ostream& s, const ExtendedRational& x).  In
+	  ExtendedRational(const Integer& num, const Integer& den) we
+	  temporary use `canonicalize()'.  Added the part that we use if
+	  the bounding box must be shrunk in polynomial time (if the
+	  generator system of the polyhedron is not up-to-date).
+
+2002-10-30 Wednesday 21:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (1.49): Two problems with the current
+	  implementation of Polyhedron::shrink_bounding_box() flagged.
+
+2002-10-30 Wednesday 21:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.47), src/Polyhedron.defs.hh (1.168),
+	  src/Polyhedron.inlines.hh (1.48): New boolean parameter for
+	  template <typename Box> void Polyhedron::shrink_bounding_box(Box&
+	  box, bool polynomial) const: when true it specifies the bounding
+	  box must be shrunk in polynomial time.
+
+2002-10-30 Wednesday 17:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc, src/Polyhedron.defs.hh, tests/Makefile.am,
+	  tests/stronglyminimize1.cc, tests/stronglyminimize2.cc,
+	  tests/stronglyminimize3.cc (alt_nnc.[26,10,8,4,4,4]): Got rid of
+	  Polyhedron::strongly_minimize().
+
+2002-10-30 Wednesday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.258), src/Polyhedron.defs.hh (1.167),
+	  tests/Makefile.am (1.151), tests/stronglyminimize1.cc (1.2),
+	  tests/stronglyminimize2.cc (1.2), tests/stronglyminimize3.cc
+	  (1.2): Got rid of Polyhedron::strongly_minimize().
+
+2002-10-30 Wednesday 17:24  Elisa Ricci
+
+	* tests/: NNCminimize5.cc (1.5), NNCminimize6.cc (1.7),
+	  addconstraints3.cc (1.6), generators1.cc (1.9), h79widening2.cc
+	  (1.4), h79widening3.cc (1.4): Now these tests verify if the used
+	  methods do the right thing.
+
+2002-10-30 Wednesday 17:18  Elisa Ricci
+
+	* tests/: Makefile.am (1.150), ascii_dump1.cc (1.2), operator1.cc
+	  (1.1), writerelation1.cc (1.1): The test ascii_dump1.cc now is
+	  called writerealtion1.cc, because it verifies operator<< of
+	  Poly_Gen_Relation and Poly_Con_Relation.  In operator1.cc put the
+	  tests to verify operator>=(const Polyhedron& x, const Polyhedron&
+	  y), operator>(const Polyhedron& x, const Polyhedron& y),
+	  operator!=(const Polyhedron& x, const Polyhedron& y) and
+	  operator<(const Polyhedron& x, const Polyhedron& y).
+
+2002-10-30 Wednesday 16:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Variable.defs.hh (1.25): Duplicate `public' specification
+	  removed.
+
+2002-10-30 Wednesday 10:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/ppl_ciao.pl (1.25): extra_linker_opts/1
+	  directive added.
+
+2002-10-30 Wednesday 09:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.149), writegensys4.cc (1.2),
+	  writevariable1.cc (1.1): Properly test operator<<(std::ostream&
+	  s, const Variable& v) and the related machinery.
+
+2002-10-29 Tuesday 18:35  Elisa Ricci
+
+	* tests/: Makefile.am (1.148), writegensys4.cc (1.1): Added a test
+	  to print a variable with id > 26.
+
+2002-10-29 Tuesday 18:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Row.cc (1.45), Row.defs.hh (1.57): Removed
+	  operator<<(std::ostream&, const Row&).
+
+2002-10-29 Tuesday 18:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.7): Updated.
+
+2002-10-29 Tuesday 14:49  Elisa Ricci
+
+	* tests/: Makefile.am (1.147), ascii_dump1.cc (1.1),
+	  ascii_dump_load1.cc (1.7), ascii_dump_load2.cc (1.5),
+	  ascii_dump_load3.cc (1.5), ascii_dump_load4.cc (1.4),
+	  ascii_dump_load5.cc (1.2): Added some tests to verify
+	  Poly_Gen_Relation::ascii_dump(), Poly_Gen_Relation::OK(),
+	  Poly_Con_Relation::ascii_dump() and Poly_Con_Relation::OK().
+	  Corrected the comment of the tests ascii_dump_load1.cc,
+	  ascii_dump_load2.cc, ascii_dump_load3.cc, ascii_dump_load4.cc,
+	  ascii_dump_load5.cc.
+
+2002-10-28 Monday 08:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/LinExpression.cc (ppl-0_4-branch.1): Fixed a bug in
+	  LinExpression::operator-=().
+
+2002-10-28 Monday 08:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am, linexpression1.cc (ppl-0_4-branch.[5,1]):
+	  This test shows a bug in LinExpression::operator-=().
+
+2002-10-26 Saturday 14:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.70): Bump version number.
+
+2002-10-25 Friday 20:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (alt_nnc.8): Definitions of num_cons()
+	  and num_gens().
+
+2002-10-25 Friday 19:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh, tests/hypercubes.cc (alt_nnc.[9,10]):
+	  Added methods for printing sizes of (low-level) con_sys and
+	  gen_sys.
+
+2002-10-25 Friday 18:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (alt_nnc.25): n strong minimization of
+	  constraints, force all strict inequalities to have the same
+	  epsilon coefficient.
+
+2002-10-25 Friday 18:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/hypercubes.cc (alt_nnc.9): Test exploiting smf's.
+
+2002-10-25 Friday 12:42  Elisa Ricci
+
+	* tests/: Makefile.am (1.146), ascii_dump_load4.cc (1.3),
+	  ascii_dump_load5.cc (1.1): Added some new test to verify
+	  ascii_dump() and ascii_load().
+
+2002-10-24 Thursday 18:07  Elisa Ricci
+
+	* tests/: Makefile.am (1.145), ascii_dump_load4.cc (1.2),
+	  writegensys3.cc (1.1): Added a new test to verify
+	  operator<<(std::ostream&, const GenSys&).  Erased form
+	  ascii_dump_load4.cc an unused const char*.
+
+2002-10-24 Thursday 16:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Init.defs.hh (1.7): Useless file inclusion removed.
+
+2002-10-24 Thursday 15:45  Elisa Ricci
+
+	* src/LinExpression.cc (1.15): Corrected the bug in
+	  operator-=(LinExpression& e1, const LinExpression& e2): if
+	  e1.size() < e2.size(), we compute a copy e of e1 with the
+	  dimension of e2 and then we compute e - e2.
+
+2002-10-24 Thursday 15:09  Elisa Ricci
+
+	* tests/: Makefile.am (1.144), addgenerator4.cc (1.2),
+	  linexpression1.cc (1.1): Now, the test addgenerator4.cc verifies
+	  only Polyhedron::add_generator(g).  The bug of
+	  operator-=(LinExpression& e1, const LinExpression& e2) is now
+	  reported in the test linexpression1.cc.
+
+2002-10-24 Thursday 14:37  Elisa Ricci
+
+	* tests/: Makefile.am (1.143), addgenerator4.cc (1.1): Added a test
+	  for Polyhedron::add_generator(g). This test shows a bug in
+	  operator-=(LinExpression& e1, const LinExpression& e2) if
+	  e1.size() < e2.size().
+
+2002-10-23 Wednesday 12:19  Elisa Ricci
+
+	* src/Polyhedron.cc (alt_nnc.24): Corrected a problem in
+	  Polyhedron::is_BBRZ02_stabilizing(x, y): the vector `x_num_rays'
+	  must have `x.gen_sys.num_columns() - 1' elements and not
+	  `x.space_dimension()'. We have done the same change for the
+	  vector `y_num_rays'.
+
+2002-10-23 Wednesday 10:09  Elisa Ricci
+
+	* src/Polyhedron.cc (alt_nnc.23): Modified
+	  Polyhedron::is_BBRZ02_stabilizing(x, y) so that if `x' and `y'
+	  are not necessarily closed we compute the number of their points
+	  and closure points and not only the number of their closure
+	  points.
+
+2002-10-21 Monday 07:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am, smfintersection.cc, smfpolyhull.cc
+	  (alt_nnc.[7,1,2]): Trying to better exploit smf's.
+
+2002-10-21 Monday 07:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (alt_nnc.22): Disregarding the minusepsray when
+	  performing strong minimization of consys.
+
+2002-10-19 Saturday 00:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* mkinstalldirs (1.5): Updated.
+
+2002-10-19 Saturday 00:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: config.guess (1.1), config.sub (1.1), depcomp (1.1),
+	  install-sh (1.1), ltmain.sh (1.1), missing (1.1), mkinstalldirs
+	  (1.1): Missing files added.
+
+2002-10-18 Friday 17:02  Elisa Ricci
+
+	* src/: ConSys.cc (1.53), ConSys.defs.hh (1.71): Modified
+	  ConSys:OK(): now we verify also if every row in the matrix is a
+	  valid constraint.
+
+2002-10-18 Friday 16:46  Elisa Ricci
+
+	* tests/: Makefile.am (1.142), ascii_dump_load1.cc (1.6),
+	  exceptions1.cc (1.23), writeconsys1.cc (1.1): The writeconsys1.cc
+	  test verifies operator<<(s, cs).  Added tests in exceptions1.cc
+	  to verify Generator::coefficient() and Constraint::coefficient().
+	  In ascii_dump_load1.cc erased an unused variable.
+
+2002-10-18 Friday 16:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/smfpolyhull.cc (alt_nnc.1): Put under CVS control.
+
+2002-10-18 Friday 10:41  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (alt_nnc.21): Modified the widening operators
+	  to also add the non-strict inequality corresponding to each
+	  strict inequality added.
+
+2002-10-17 Thursday 18:33  Elisa Ricci
+
+	* tests/: exceptions1.cc (1.22), exceptions2.cc (1.19),
+	  writegensys1.cc (1.2): Added some tests to verify
+	  Generator::ray(), Generator::line(), Generator::closure_point(),
+	  Generator::coefficient(), Generator::divisor() and operator<<(s,
+	  g).
+
+2002-10-17 Thursday 18:30  Elisa Ricci
+
+	* src/Polyhedron.cc (1.257): In
+	  Polyhedron::BBRZ02_widening_assign() and
+	  Polyhedron::is_BBRZ02_stabilizing() debugging-purpose output made
+	  silent.  Modified Polyhedron::select_H79_constraints(y, cs) so
+	  that when we use it the system of constraints has the right
+	  topology.
+
+2002-10-17 Thursday 17:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/hypercubes.cc (alt_nnc.8): Now committed the right file I
+	  was playing with.
+
+2002-10-17 Thursday 17:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am, hypercubes.cc (alt_nnc.[6,7]): Playing with
+	  hypercubes and strong minimization.
+
+2002-10-17 Thursday 17:29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (alt_nnc.20): Debugging-purpose output made
+	  silent.
+
+2002-10-17 Thursday 15:39  Elisa Ricci
+
+	* tests/: Makefile.am (1.141), ascii_dump_load4.cc (1.1),
+	  relations18.cc (1.1), writepolyhedron3.cc (1.1): The
+	  ascii_dump_load4.cc test verifies some particular cases of
+	  ConSys::ascii_dump(s) and ConSys::ascii_load(s).  The
+	  relations18.cc test verifies Polyhedron::relation_with(g), where
+	  "g" is a closure point and the system of constraints of the
+	  polyhedron contains equalities.  The writepolyhedron3.cc test
+	  verifies operator<<(std::ostream&, const Polyhedron&) with an
+	  universe polyhedron.
+
+2002-10-17 Thursday 11:20  Elisa Ricci
+
+	* tests/: ascii_dump_load1.cc (1.5), relations17.cc (1.2): Added
+	  new tests and modified other tests to verify some other methods
+	  of the class GenSys.
+
+2002-10-16 Wednesday 19:02  Elisa Ricci
+
+	* tests/writegensys2.cc (1.2): Now we print the system of
+	  generators of an empty polyhedron.
+
+2002-10-16 Wednesday 19:00  Elisa Ricci
+
+	* tests/: Makefile.am (1.140), limitedbbrz02widening1.cc (1.2),
+	  relations17.cc (1.1), writegensys1.cc (1.1), writegensys2.cc
+	  (1.1): Added new tests for the methods of the class GenSys.
+	  limitedbbrz02widening1.cc is now silent.  Now we do not test
+	  nnc_bbrz02widening4.cc and nnc_bbrz02widening7.cc because they
+	  contains NNC polyhedra.
+
+2002-10-16 Wednesday 17:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.256): Fixed a topology problem in
+	  select_H79_constraints().
+
+2002-10-16 Wednesday 15:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/writepolyhedron2.cc (1.2): Inconsistent spacing fixed.
+
+2002-10-16 Wednesday 14:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.255), Polyhedron.defs.hh (1.166),
+	  Polyhedron.inlines.hh (1.47): Added static member
+	  add_low_level_constraints(ConSys&) to factorize common code
+	  adding either the positivity or the epsilon-bound constraints.
+
+2002-10-16 Wednesday 14:36  Elisa Ricci
+
+	* tests/: Makefile.am (1.139), bbrz02widening19.cc (1.1),
+	  limitedbbrz02widening1.cc (1.1), writepolyhedron2.cc (1.1): Added
+	  new tests to verify some methods of the class Polyhedron.
+
+2002-10-16 Wednesday 09:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/hypercubes.cc (alt_nnc.6): Experimenting with closed
+	  hypercubes from which we cut vertices using strict inequalities
+	  and open duals of hypercubes to which we add (relatively open)
+	  facets by adding points.
+
+2002-10-16 Wednesday 07:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.69): Handle unary plus:
+	  previously, `+A = 1' could not be valid syntax for a constraint.
+
+2002-10-16 Wednesday 07:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.69): Version number bumped.
+
+2002-10-15 Tuesday 18:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.254): Debugging code in
+	  Polyhedron::check_universe() fixed.
+
+2002-10-15 Tuesday 18:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.138), writepolyhedron1.cc (1.1): Test
+	  operator<<(std::ostream&, const Polyhedron&).
+
+2002-10-15 Tuesday 18:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.46), src/LinExpression.defs.hh (1.56),
+	  src/LinExpression.inlines.hh (1.25): New function LinExpression
+	  operator+(const LinExpression&): previously an expressions like
+	  `+x2-x3-x4 <= 0' could not constitute valid syntax for a
+	  constraint.
+
+2002-10-15 Tuesday 17:55  Elisa Ricci
+
+	* src/Polyhedron.cc (1.253): Modified Polyhedron::check_univers():
+	  if we are considering a not necessarily closed polyhedron and if
+	  its system of constraints contains only two rows that are not
+	  equalities, we are sure that they are epsilon constraints.
+
+2002-10-15 Tuesday 17:48  Elisa Ricci
+
+	* tests/: Makefile.am (1.137), topclosure3.cc (1.1): Added a test
+	  to verify Polyhedron::topological_closure_assign().
+
+2002-10-15 Tuesday 15:27  Elisa Ricci
+
+	* tests/: Makefile.am (1.136), adddimensions12.cc (1.1),
+	  affineimage6.cc (1.1), affinepreimage8.cc (1.1), disjoint1.cc
+	  (1.1), generalizedaffineimage11.cc (1.1),
+	  generalizedaffineimage12.cc (1.1), limitedh79widening4.cc (1.1):
+	  Added new tests for some methods of the class Polyhedron.
+
+2002-10-15 Tuesday 15:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog, NEWS, STANDARDS, config.guess, config.h.in,
+	  config.sub, configure.ac, ltmain.sh, ppl.spec.in,
+	  doc/Makefile.am, doc/bib2dox, doc/bib2html1.sed,
+	  doc/bib2html2.sed, doc/definitions.dox,
+	  doc/devref-browse.doxyconf-latex.in,
+	  doc/devref-print.doxyconf-latex.in, doc/devref.doxyconf-html.in,
+	  doc/fdl.dox, doc/gpl.dox, interfaces/C/ppl_c.cc,
+	  interfaces/C/ppl_c.h, interfaces/Prolog/Prolog_interface.dox,
+	  interfaces/Prolog/clpq2.pl, interfaces/Prolog/pl_check.pl,
+	  interfaces/Prolog/ppl_prolog.icc,
+	  interfaces/Prolog/Ciao/ppl_ciao.pl,
+	  interfaces/Prolog/GNU/ppl_gprolog.pl,
+	  interfaces/Prolog/SICStus/Makefile.am,
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
+	  interfaces/Prolog/XSB/ppl_xsb.H,
+	  interfaces/Prolog/XSB/ppl_xsb.cc,
+	  interfaces/Prolog/YAP/ppl_yap.cc, src/AskTell.defs.hh,
+	  src/BoundingBox.defs.hh, src/C_Polyhedron.defs.hh, src/ConSys.cc,
+	  src/ConSys.defs.hh, src/Constraint.cc, src/Constraint.defs.hh,
+	  src/Determinate.defs.hh, src/Determinate.inlines.hh,
+	  src/GenSys.cc, src/GenSys.defs.hh, src/Integer.defs.hh,
+	  src/Integer.inlines.hh, src/LinExpression.cc,
+	  src/LinExpression.defs.hh, src/LinExpression.inlines.hh,
+	  src/Makefile.am, src/Matrix.cc, src/Matrix.defs.hh,
+	  src/NNC_Polyhedron.defs.hh, src/Poly_Con_Relation.cc,
+	  src/Poly_Con_Relation.defs.hh, src/Poly_Gen_Relation.cc,
+	  src/Poly_Gen_Relation.defs.hh, src/Polyhedron.cc,
+	  src/Polyhedron.defs.hh, src/PowerSet.defs.hh,
+	  src/PowerSet.inlines.hh, src/Row.cc, src/Row.defs.hh,
+	  src/SatMatrix.cc, src/SatMatrix.defs.hh, src/SatRow.cc,
+	  src/SatRow.defs.hh, src/Status.cc, src/Status.defs.hh,
+	  src/algorithms.hh, src/conversion.cc, src/globals.hh,
+	  src/minimize.cc, src/simplify.cc, tests/Makefile.am,
+	  tests/addconstraint2.cc, tests/addconstraint3.cc,
+	  tests/addconstraints10.cc, tests/addconstraints11.cc,
+	  tests/addconstraints12.cc, tests/adddimensions11.cc,
+	  tests/addgenerator3.cc, tests/addgenerators11.cc,
+	  tests/affineimage3.cc, tests/affineimage4.cc,
+	  tests/affineimage5.cc, tests/affinepreimage5.cc,
+	  tests/affinepreimage6.cc, tests/affinepreimage7.cc,
+	  tests/ascii_dump_load1.cc, tests/ascii_dump_load2.cc,
+	  tests/ascii_dump_load3.cc, tests/bbrz02widening1.cc,
+	  tests/bbrz02widening10.cc, tests/bbrz02widening11.cc,
+	  tests/bbrz02widening12.cc, tests/bbrz02widening13.cc,
+	  tests/bbrz02widening14.cc, tests/bbrz02widening15.cc,
+	  tests/bbrz02widening16.cc, tests/bbrz02widening17.cc,
+	  tests/bbrz02widening18.cc, tests/bbrz02widening6.cc,
+	  tests/bbrz02widening7.cc, tests/bbrz02widening9.cc,
+	  tests/concatenate5.cc, tests/contains1.cc, tests/exceptions1.cc,
+	  tests/exceptions2.cc, tests/files.cc, tests/files.hh,
+	  tests/generalizedaffineimage1.cc,
+	  tests/generalizedaffineimage10.cc,
+	  tests/generalizedaffineimage2.cc,
+	  tests/generalizedaffineimage3.cc,
+	  tests/generalizedaffineimage4.cc,
+	  tests/generalizedaffineimage5.cc,
+	  tests/generalizedaffineimage6.cc,
+	  tests/generalizedaffineimage7.cc,
+	  tests/generalizedaffineimage8.cc,
+	  tests/generalizedaffineimage9.cc, tests/h79widening5.cc,
+	  tests/intersection10.cc, tests/linearpartition1.cc,
+	  tests/linearpartition2.cc, tests/linearpartition3.cc,
+	  tests/mc91.cc, tests/memory1.cc, tests/minconstraints2.cc,
+	  tests/minconstraints3.cc, tests/mingenerators2.cc,
+	  tests/mingenerators3.cc, tests/polydifference7.cc,
+	  tests/polyhull7.cc, tests/polyhull8.cc, tests/relations10.cc,
+	  tests/relations11.cc, tests/relations12.cc, tests/relations13.cc,
+	  tests/relations14.cc, tests/relations15.cc, tests/relations16.cc,
+	  tests/stronglyminimize1.cc, tests/stronglyminimize2.cc,
+	  tests/stronglyminimize3.cc, tests/timeelapse6.cc,
+	  tests/timeelapse7.cc, tests/topclosed3.cc, tests/topclosure2.cc
+	  (alt_nnc.[3,6,4,3,5,3,5,3,3,3,3,3,3,4,3,3,3,3,3,6,6,4,4,4,5,4,4,3,4,4,4,4,4,5,5,5,8,7,7,7,7,7,10,7,4,4,4,5,5,4,4,5,5,4,5,4,5,19,8,6,6,4,5,4,5,3,5,4,5,3,4,5,5,4,5,3,3,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,4,3,3,3,3,3,3,3,3,3,4,4,4,3,3,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]):
+	  Merged the changes on the main trunk within the tags
+	  third_merge_to_alt_nnc and fourth_merge_to_alt_nnc.
+
+2002-10-15 Tuesday 14:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog, NEWS, STANDARDS, config.guess, config.h.in,
+	  config.sub, configure.ac, ltmain.sh, ppl.spec.in,
+	  doc/Makefile.am, doc/bib2dox, doc/bib2html1.sed,
+	  doc/bib2html2.sed, doc/definitions.dox,
+	  doc/devref-browse.doxyconf-latex.in,
+	  doc/devref-print.doxyconf-latex.in, doc/devref.doxyconf-html.in,
+	  doc/fdl.dox, doc/gpl.dox, interfaces/C/ppl_c.cc,
+	  interfaces/C/ppl_c.h, interfaces/Prolog/Prolog_interface.dox,
+	  interfaces/Prolog/clpq2.pl, interfaces/Prolog/pl_check.pl,
+	  interfaces/Prolog/ppl_prolog.icc,
+	  interfaces/Prolog/Ciao/ppl_ciao.pl,
+	  interfaces/Prolog/GNU/ppl_gprolog.pl,
+	  interfaces/Prolog/SICStus/Makefile.am,
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
+	  interfaces/Prolog/XSB/ppl_xsb.H,
+	  interfaces/Prolog/XSB/ppl_xsb.cc,
+	  interfaces/Prolog/YAP/ppl_yap.cc, src/AskTell.defs.hh,
+	  src/BoundingBox.defs.hh, src/C_Polyhedron.cc,
+	  src/C_Polyhedron.defs.hh, src/ConSys.cc, src/ConSys.defs.hh,
+	  src/ConSys.inlines.hh, src/Constraint.cc, src/Constraint.defs.hh,
+	  src/Constraint.inlines.hh, src/Determinate.defs.hh,
+	  src/Determinate.inlines.hh, src/GenSys.cc, src/GenSys.defs.hh,
+	  src/Generator.cc, src/Generator.defs.hh,
+	  src/Generator.inlines.hh, src/Integer.defs.hh,
+	  src/Integer.inlines.hh, src/LinExpression.cc,
+	  src/LinExpression.defs.hh, src/LinExpression.inlines.hh,
+	  src/Makefile.am, src/Matrix.cc, src/Matrix.defs.hh,
+	  src/NNC_Polyhedron.defs.hh, src/Poly_Con_Relation.cc,
+	  src/Poly_Con_Relation.defs.hh, src/Poly_Gen_Relation.cc,
+	  src/Poly_Gen_Relation.defs.hh, src/Polyhedron.cc,
+	  src/Polyhedron.defs.hh, src/Polyhedron.inlines.hh,
+	  src/PowerSet.defs.hh, src/PowerSet.inlines.hh, src/Row.cc,
+	  src/Row.defs.hh, src/SatMatrix.cc, src/SatMatrix.defs.hh,
+	  src/SatRow.cc, src/SatRow.defs.hh, src/Status.cc,
+	  src/Status.defs.hh, src/algorithms.hh, src/conversion.cc,
+	  src/globals.hh, src/minimize.cc, src/simplify.cc,
+	  tests/Makefile.am, tests/addconstraint2.cc,
+	  tests/addconstraint3.cc, tests/addconstraints10.cc,
+	  tests/addconstraints11.cc, tests/addconstraints12.cc,
+	  tests/adddimensions11.cc, tests/addgenerator3.cc,
+	  tests/addgenerators11.cc, tests/affineimage3.cc,
+	  tests/affineimage4.cc, tests/affineimage5.cc,
+	  tests/affinepreimage5.cc, tests/affinepreimage6.cc,
+	  tests/affinepreimage7.cc, tests/ascii_dump_load1.cc,
+	  tests/ascii_dump_load2.cc, tests/ascii_dump_load3.cc,
+	  tests/bbrz02widening1.cc, tests/bbrz02widening10.cc,
+	  tests/bbrz02widening11.cc, tests/bbrz02widening12.cc,
+	  tests/bbrz02widening13.cc, tests/bbrz02widening14.cc,
+	  tests/bbrz02widening15.cc, tests/bbrz02widening16.cc,
+	  tests/bbrz02widening17.cc, tests/bbrz02widening18.cc,
+	  tests/bbrz02widening6.cc, tests/bbrz02widening7.cc,
+	  tests/bbrz02widening9.cc, tests/boundingbox2.cc,
+	  tests/concatenate5.cc, tests/contains1.cc, tests/exceptions1.cc,
+	  tests/exceptions2.cc, tests/files.cc, tests/files.hh,
+	  tests/generalizedaffineimage1.cc,
+	  tests/generalizedaffineimage10.cc,
+	  tests/generalizedaffineimage2.cc,
+	  tests/generalizedaffineimage3.cc,
+	  tests/generalizedaffineimage4.cc,
+	  tests/generalizedaffineimage5.cc,
+	  tests/generalizedaffineimage6.cc,
+	  tests/generalizedaffineimage7.cc,
+	  tests/generalizedaffineimage8.cc,
+	  tests/generalizedaffineimage9.cc, tests/h79widening5.cc,
+	  tests/hypercubes.cc, tests/intersection10.cc,
+	  tests/linearpartition1.cc, tests/linearpartition2.cc,
+	  tests/linearpartition3.cc, tests/mc91.cc, tests/memory1.cc,
+	  tests/minconstraints2.cc, tests/minconstraints3.cc,
+	  tests/mingenerators2.cc, tests/mingenerators3.cc,
+	  tests/polydifference7.cc, tests/polyhull7.cc, tests/polyhull8.cc,
+	  tests/relations10.cc, tests/relations11.cc, tests/relations12.cc,
+	  tests/relations13.cc, tests/relations14.cc, tests/relations15.cc,
+	  tests/relations16.cc, tests/stronglyminimize1.cc,
+	  tests/stronglyminimize2.cc, tests/stronglyminimize3.cc,
+	  tests/timeelapse6.cc, tests/timeelapse7.cc, tests/topclosed3.cc,
+	  tests/topclosure2.cc
+	  (alt_nnc.[2,5,3,2,4,2,4,2,2,2,2,2,2,3,2,2,2,2,2,5,5,3,3,3,4,3,3,2,3,3,3,3,3,4,4,3,4,7,6,5,6,6,5,6,6,9,6,7,7,5,3,3,3,4,4,3,3,4,4,3,4,3,4,18,7,7,5,5,3,4,3,4,2,4,3,4,2,3,4,4,3,4,2,2,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,2,2,2,2,2,2,2,3,3,3,5,2,2,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,5,2,2,2,2,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2]):
+	  Erroneous merge undone.
+
+2002-10-15 Tuesday 12:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.67): Documentation for
+	  ppl_Polyhedron_add_constraint_and_minimize ppl_Polyhedron_and
+	  add_generator_and_minimize added.
+
+2002-10-15 Tuesday 12:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/algorithms.hh (1.10): Bug introduced in previous change
+	  fixed.
+
+2002-10-15 Tuesday 10:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.h.in (1.20), configure.ac (1.68), tests/memory1.cc (1.10):
+	  Portability improvements for memory-guarded programs.  Mac OS X
+	  is now supported.  Operating systems not providing any mechanism
+	  to limit memory usage are also supported.
+
+2002-10-15 Tuesday 09:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.252): Greatly simplified the
+	  strongly_minimize() procedure.
+
+2002-10-15 Tuesday 08:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/Makefile.am (1.30): Specify -lstdc++ in
+	  splfr command invocation (this seems to help on Mac OS X).
+
+2002-10-15 Tuesday 08:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/algorithms.hh (1.9): Use
+	  Polyhedron::add_constraint_and_minimize().
+
+2002-10-14 Monday 21:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog, NEWS, STANDARDS, config.guess, config.h.in,
+	  config.sub, configure.ac, ltmain.sh, ppl.spec.in,
+	  doc/Makefile.am, doc/bib2dox, doc/bib2html1.sed,
+	  doc/bib2html2.sed, doc/definitions.dox,
+	  doc/devref-browse.doxyconf-latex.in,
+	  doc/devref-print.doxyconf-latex.in, doc/devref.doxyconf-html.in,
+	  doc/fdl.dox, doc/gpl.dox, interfaces/C/ppl_c.cc,
+	  interfaces/C/ppl_c.h, interfaces/Prolog/Prolog_interface.dox,
+	  interfaces/Prolog/clpq2.pl, interfaces/Prolog/pl_check.pl,
+	  interfaces/Prolog/ppl_prolog.icc,
+	  interfaces/Prolog/Ciao/ppl_ciao.pl,
+	  interfaces/Prolog/GNU/ppl_gprolog.pl,
+	  interfaces/Prolog/SICStus/Makefile.am,
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
+	  interfaces/Prolog/XSB/ppl_xsb.H,
+	  interfaces/Prolog/XSB/ppl_xsb.cc,
+	  interfaces/Prolog/YAP/ppl_yap.cc, src/AskTell.defs.hh,
+	  src/BoundingBox.defs.hh, src/C_Polyhedron.cc,
+	  src/C_Polyhedron.defs.hh, src/ConSys.cc, src/ConSys.defs.hh,
+	  src/ConSys.inlines.hh, src/Constraint.cc, src/Constraint.defs.hh,
+	  src/Constraint.inlines.hh, src/Determinate.defs.hh,
+	  src/Determinate.inlines.hh, src/GenSys.cc, src/GenSys.defs.hh,
+	  src/Generator.cc, src/Generator.defs.hh,
+	  src/Generator.inlines.hh, src/Integer.defs.hh,
+	  src/Integer.inlines.hh, src/LinExpression.cc,
+	  src/LinExpression.defs.hh, src/LinExpression.inlines.hh,
+	  src/Makefile.am, src/Matrix.cc, src/Matrix.defs.hh,
+	  src/NNC_Polyhedron.defs.hh, src/Poly_Con_Relation.cc,
+	  src/Poly_Con_Relation.defs.hh, src/Poly_Gen_Relation.cc,
+	  src/Poly_Gen_Relation.defs.hh, src/Polyhedron.cc,
+	  src/Polyhedron.defs.hh, src/Polyhedron.inlines.hh,
+	  src/PowerSet.defs.hh, src/PowerSet.inlines.hh, src/Row.cc,
+	  src/Row.defs.hh, src/SatMatrix.cc, src/SatMatrix.defs.hh,
+	  src/SatRow.cc, src/SatRow.defs.hh, src/Status.cc,
+	  src/Status.defs.hh, src/algorithms.hh, src/conversion.cc,
+	  src/globals.hh, src/minimize.cc, src/simplify.cc,
+	  tests/Makefile.am, tests/addconstraint2.cc,
+	  tests/addconstraint3.cc, tests/addconstraints10.cc,
+	  tests/addconstraints11.cc, tests/addconstraints12.cc,
+	  tests/adddimensions11.cc, tests/addgenerator3.cc,
+	  tests/addgenerators11.cc, tests/affineimage3.cc,
+	  tests/affineimage4.cc, tests/affineimage5.cc,
+	  tests/affinepreimage5.cc, tests/affinepreimage6.cc,
+	  tests/affinepreimage7.cc, tests/ascii_dump_load1.cc,
+	  tests/ascii_dump_load2.cc, tests/ascii_dump_load3.cc,
+	  tests/bbrz02widening1.cc, tests/bbrz02widening10.cc,
+	  tests/bbrz02widening11.cc, tests/bbrz02widening12.cc,
+	  tests/bbrz02widening13.cc, tests/bbrz02widening14.cc,
+	  tests/bbrz02widening15.cc, tests/bbrz02widening16.cc,
+	  tests/bbrz02widening17.cc, tests/bbrz02widening18.cc,
+	  tests/bbrz02widening6.cc, tests/bbrz02widening7.cc,
+	  tests/bbrz02widening9.cc, tests/boundingbox2.cc,
+	  tests/concatenate5.cc, tests/contains1.cc, tests/exceptions1.cc,
+	  tests/exceptions2.cc, tests/files.cc, tests/files.hh,
+	  tests/generalizedaffineimage1.cc,
+	  tests/generalizedaffineimage10.cc,
+	  tests/generalizedaffineimage2.cc,
+	  tests/generalizedaffineimage3.cc,
+	  tests/generalizedaffineimage4.cc,
+	  tests/generalizedaffineimage5.cc,
+	  tests/generalizedaffineimage6.cc,
+	  tests/generalizedaffineimage7.cc,
+	  tests/generalizedaffineimage8.cc,
+	  tests/generalizedaffineimage9.cc, tests/h79widening5.cc,
+	  tests/hypercubes.cc, tests/intersection10.cc,
+	  tests/linearpartition1.cc, tests/linearpartition2.cc,
+	  tests/linearpartition3.cc, tests/mc91.cc, tests/memory1.cc,
+	  tests/minconstraints2.cc, tests/minconstraints3.cc,
+	  tests/mingenerators2.cc, tests/mingenerators3.cc,
+	  tests/polydifference7.cc, tests/polyhull7.cc, tests/polyhull8.cc,
+	  tests/relations10.cc, tests/relations11.cc, tests/relations12.cc,
+	  tests/relations13.cc, tests/relations14.cc, tests/relations15.cc,
+	  tests/relations16.cc, tests/stronglyminimize1.cc,
+	  tests/stronglyminimize2.cc, tests/stronglyminimize3.cc,
+	  tests/timeelapse6.cc, tests/timeelapse7.cc, tests/topclosed3.cc,
+	  tests/topclosure2.cc
+	  (alt_nnc.[1,4,2,1,3,1,3,1,1,1,1,1,1,2,1,1,1,1,1,4,4,2,2,2,3,2,2,1,2,2,2,2,2,3,3,2,3,6,5,4,5,5,4,5,5,8,5,6,6,4,2,2,2,3,3,2,2,3,3,2,3,2,3,17,6,6,4,4,2,3,2,3,1,3,2,3,1,2,3,3,2,3,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,2,2,2,4,1,1,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]):
+	  Fourth merge from main trunk.
+
+2002-10-14 Monday 17:09  Elisa Ricci
+
+	* tests/: Makefile.am (1.135), addconstraint3.cc (1.1),
+	  addgenerator3.cc (1.1): Added a test for
+	  Polyhedron::add_constraint_and_minimize(c) and a test for
+	  Polyhedron::add_generator_and_minimize(g).
+
+2002-10-14 Monday 16:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.45), interfaces/C/ppl_c.cc (1.49), interfaces/C/ppl_c.h
+	  (1.49), interfaces/Prolog/pl_check.pl (1.26),
+	  interfaces/Prolog/ppl_prolog.icc (1.68),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.24),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.28),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.52),
+	  interfaces/Prolog/XSB/ppl_xsb.H (1.5),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.10),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.46), src/Polyhedron.cc
+	  (1.251), src/Polyhedron.defs.hh (1.165): New methods bool
+	  Polyhedron::add_constraint_and_minimize(const Constraint&) and
+	  bool Polyhedron::add_generator_and_minimize(const Generator&) to
+	  add a constraint or a generator and minimizing the result at the
+	  same time.
+
+2002-10-14 Monday 14:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.44), interfaces/C/ppl_c.cc (1.48), interfaces/C/ppl_c.h
+	  (1.48), interfaces/Prolog/Prolog_interface.dox (1.66),
+	  interfaces/Prolog/pl_check.pl (1.25),
+	  interfaces/Prolog/ppl_prolog.icc (1.67),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.23),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.27),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.51),
+	  interfaces/Prolog/XSB/ppl_xsb.H (1.4),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.9),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.45), src/Polyhedron.cc
+	  (1.250), src/Polyhedron.defs.hh (1.164): New method void
+	  Polyhedron::BBRZ02_limited_widening_assign(const Polyhedron&,
+	  ConSys&).  Both this and void
+	  Polyhedron::BBRZ02_widening_assign(const Polyhedron&) are now
+	  available through all the interfaces.
+
+2002-10-14 Monday 12:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.67): We now require autoconf (at least) 2.54 and
+	  automake (at least) 1.7.
+
+2002-10-14 Monday 12:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.66), interfaces/Prolog/SICStus/Makefile.am
+	  (1.29): An hack that was necessary to build the SICStus Prolog
+	  interface with SICStus 3.9.0 has been removed, since it prevented
+	  us to build on Darwin.  Consequently, we now require SICStus
+	  3.9.1 or later version.
+
+2002-10-14 Monday 08:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.65): Bump version number.
+
+2002-10-13 Sunday 22:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.6): Update to the latest version of libtool.
+
+2002-10-13 Sunday 16:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/algorithms.hh (1.8): Bug fixed in widening_assign().
+
+2002-10-13 Sunday 16:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Constraint.defs.hh (1.75): We were too eager in converting
+	  "<" and ">" to "\<" and "\>" in Doxygen comments: this should not
+	  be done within LaTeX formulas.
+
+2002-10-12 Saturday 22:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/conversion.cc (1.35): Comment fixed for Doxygen.
+
+2002-10-12 Saturday 21:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/memory1.cc (1.9): Much improved portability.
+
+2002-10-12 Saturday 21:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.h.in (1.19), configure.ac (1.64): Check for declarations
+	  of RLIMIT_DATA, RLIMIT_RSS, RLIMIT_VMEM, RLIMIT_AS in
+	  <sys/resource.h>.
+
+2002-10-12 Saturday 20:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/algorithms.hh (1.7): Two serious bugs have been fixed.  Other
+	  improvements.
+
+2002-10-12 Saturday 20:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Determinate.defs.hh (1.21), Determinate.inlines.hh (1.21),
+	  PowerSet.defs.hh (1.20), PowerSet.inlines.hh (1.25): New default
+	  constructor.
+
+2002-10-12 Saturday 14:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.103), src/AskTell.defs.hh (1.9),
+	  src/C_Polyhedron.defs.hh (1.18), src/Constraint.defs.hh (1.74),
+	  src/Determinate.defs.hh (1.20), src/NNC_Polyhedron.defs.hh
+	  (1.20): Fix all but one of the problems reported by the new
+	  version of Doxygen.
+
+2002-10-12 Saturday 14:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/fdl.dox (1.2), doc/gpl.dox (1.3),
+	  interfaces/Prolog/Prolog_interface.dox (1.65): Sectioning fixed.
+
+2002-10-12 Saturday 09:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: bib2dox (1.2), bib2html1.sed (1.1), bib2html2.sed (1.1),
+	  bib2html2dox.sed (1.2), definitions.dox (1.102): Improvements to
+	  the machinery we use to build the bibliography section of the
+	  documentation.
+
+2002-10-11 Friday 18:41  Elisa Ricci
+
+	* tests/: Makefile.am (1.134), stronglyminimize1.cc (1.1),
+	  stronglyminimize2.cc (1.1), stronglyminimize3.cc (1.1): Added
+	  three tests for Polyhedron::strongly_minimize().
+
+2002-10-11 Friday 18:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/ppl_yap.cc (1.44): Use the new C interface
+	  provided by YAP.
+
+2002-10-11 Friday 16:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.64): Mention other
+	  problems we had with the GNU Prolog interface.
+
+2002-10-11 Friday 12:53  Elisa Ricci
+
+	* src/Polyhedron.defs.hh (1.163): Polyhedron::strongly_minimize()
+	  is now public, but the user can not see its documentation.
+
+2002-10-11 Friday 11:49  Elisa Ricci
+
+	* tests/: Makefile.am (1.133), addconstraint2.cc (1.1),
+	  concatenate5.cc (1.1), intersection10.cc (1.1),
+	  polydifference7.cc (1.1), polyhull8.cc (1.1): Added these tests
+	  to verify some methods of the class Polyhedron in the case of
+	  empty or zero dimensional polyhedron.
+
+2002-10-11 Friday 11:46  Elisa Ricci
+
+	* tests/generalizedaffineimage10.cc (1.2): Added two tests to
+	  verify Polyhedron::generalized_affine_image(lhs, r, rhs) when the
+	  set of variables of left hand side and the set of the variable of
+	  the right hand side are disjoint.
+
+2002-10-10 Thursday 17:47  Elisa Ricci
+
+	* tests/: Makefile.am (1.132), generalizedaffineimage10.cc (1.1):
+	  Added a new test for Polyhedron::generalized_affine_image(lhs, r,
+	  rhs).
+
+2002-10-10 Thursday 16:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.249): Do not use vector<bool>.
+
+2002-10-10 Thursday 11:20  Elisa Ricci
+
+	* src/Polyhedron.cc (1.248): Some improvements to the third
+	  technique of Polyhedron::BBRZ02_widening_assign(): - the test
+	  y.relation_with(x_g) == Poly_Gen_Relation::nothing() is done
+	  after testing if x_g is a ray; - corrected the test of the
+	  elements of the vector "considered"; - now we use a const
+	  reference x_g (for x.gen_sys[i]) to find how it evolved since a
+	  ray of "y" and a copy of "x_g" to built the new ray.	Use
+	  "H79_con_sys" instead of "common_con_sys" in
+	  Polyhedron::BBRZ02_widening_assign() and in
+	  Polyhedron::H79_widening_assign().
+
+2002-10-10 Thursday 10:35  Elisa Ricci
+
+	* src/: Polyhedron.cc (1.247), Polyhedron.defs.hh (1.162): Improved
+	  the messages of the exceptions.
+
+2002-10-09 Wednesday 20:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/addgenerators11.cc (1.2): Be quiet.
+
+2002-10-09 Wednesday 17:59  Elisa Ricci
+
+	* tests/: bbrz02widening13.cc (1.3), bbrz02widening14.cc (1.4),
+	  bbrz02widening15.cc (1.3), bbrz02widening9.cc (1.3): Added the
+	  "known_result" to verify if the resulting polyhedron is equal to
+	  the polyhedron that we want to have.
+
+2002-10-09 Wednesday 14:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/clpq2.pl (1.24): Problem due to bug in GNU
+	  Prolog now avoided by delaying as much as possible any reference
+	  to variables that are intended to be bound to polyhedral handles.
+
+2002-10-09 Wednesday 11:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/algorithms.hh (1.6): poly_hull_assign_if_exact(p,q) now
+	  return true if the poly-hull is exact.
+
+2002-10-09 Wednesday 10:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.defs.hh (1.73), Polyhedron.defs.hh (1.161):
+	  Escaped a few ">" and "<" occurring inside HTML tags.
+
+2002-10-09 Wednesday 10:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.101): "<" and ">" inside HTMK tags have to
+	  be escaped by "\".
+
+2002-10-09 Wednesday 09:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am (1.131), bbrz02widening18.cc (1.1): New test
+	  for bbrz02widening18, showing that we fall back to H79 when we
+	  may have obtained more precise results by combining H79 and the
+	  bbrz02 heuristics.
+
+2002-10-09 Wednesday 09:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/Makefile.am (1.20): Use the `-d Validate' option of doxygen
+	  (and see the resulting disaster).
+
+2002-10-08 Tuesday 12:29  Elisa Ricci
+
+	* src/Polyhedron.cc (1.246), tests/Makefile.am (1.130),
+	  tests/bbrz02widening16.cc (1.1), tests/bbrz02widening17.cc (1.1):
+	  Improved the third technique: the rays that we want to add are
+	  modified so that they satisfy the constraints of
+	  "common_con_sys".  Added to test to verify these changes.
+
+2002-10-08 Tuesday 09:24  Elisa Ricci
+
+	* src/Polyhedron.cc (1.245): Modified
+	  Polyhedron::is_BBRZ02_stabilizing(): if the number of points (or
+	  closure points) of `y' is smaller than the number of points of
+	  `x', the chain is not stabilizing.
+
+2002-10-07 Monday 21:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.129), ascii_dump_load1.cc (1.4),
+	  ascii_dump_load2.cc (1.4), ascii_dump_load3.cc (1.4): Write files
+	  in the current directory.  Make sure the current directory is
+	  also properly cleaned afterwards.
+
+2002-10-07 Monday 17:16  Elisa Ricci
+
+	* src/Polyhedron.cc (1.244): Made a little improvement to the third
+	  technique of Polyhedron::BBRZ02_widening_assign(): we built a
+	  temporary system of generators and then we use
+	  Polyhedron::add_generators_and_minimize() to add this system to
+	  the polyhedron `x'.
+
+2002-10-07 Monday 16:07  Elisa Ricci
+
+	* src/Polyhedron.cc (1.243): Corrected an error in the second
+	  technique of Polyhedron::BBRZ02_widening_assign(): we add the
+	  system of generators `valid_rays' if the new ray has all
+	  homogeneous coefficients equal to zero or if adding only a ray
+	  there is not stabilization.
+
+2002-10-07 Monday 14:38  Elisa Ricci
+
+	* src/Polyhedron.cc (1.242): Modified the second technique of
+	  Polyhedron::BBRZ02_widening_assign() so that before we add only
+	  the averaged ray and if the result is not stabilizing we add all
+	  the rays of `valid_rays'.
+
+2002-10-07 Monday 12:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.241): In is_BBRZ02_stabilizing(), corrected
+	  a bug in the test on stabilization based on number of rays.
+
+2002-10-07 Monday 11:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: pl_check.pl (1.24), ppl_prolog.icc (1.66),
+	  Ciao/ppl_ciao.pl (1.22), GNU/ppl_gprolog.pl (1.18),
+	  SICStus/ppl_sicstus_sd.cc (1.26), SWI/ppl_swiprolog.cc (1.50),
+	  XSB/ppl_xsb.H (1.3), XSB/ppl_xsb.cc (1.8), YAP/ppl_yap.cc (1.43):
+	  Added ppl_Polyhedron_is_disjoint_from_Polyhedron/2 to Prolog
+	  interface.  Tests for this added to pl_check.pl
+
+2002-10-07 Monday 11:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.240): Modified method
+	  Polyhedron::is_BBRZ02_stabilizing(x, y) so that:  - we check for
+	  a decreasing number of rays lying inside the faces	of an
+	  orthant.   - we check whether x and y do happens to be the same
+	  polyhedron.  Modified method
+	  Polyhedron::BBRZ02_widening_assign(y) to apply, as a last resort,
+	  the widening H79.
+
+2002-10-07 Monday 11:19  Elisa Ricci
+
+	* tests/: ascii_dump_load3.cc (1.3), bbrz02widening1.cc (1.3),
+	  bbrz02widening12.cc (1.2), exceptions1.cc (1.21), exceptions2.cc
+	  (1.18): Modified these tests so that there is only a
+	  `set_handlers()' for each test.
+
+2002-10-07 Monday 10:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.160): In the Doxygen documentation of
+	  affine (pre)-image operators, fixed a couple of mismatches in the
+	  naming of parameters.
+
+2002-10-07 Monday 07:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Determinate.inlines.hh (1.20): PH&
+	  Determinate<PH>::polyhedron() fixed: it was not calling mutate().
+
+2002-10-06 Sunday 22:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/algorithms.hh (1.5): Added a tentative, inefficient
+	  implementation for template <typename PH> bool
+	  poly_hull_assign_if_exact(PH& p, const PH& q): if the poly-hull
+	  of `p' and `q' is exact, assigns it to `p' and returns `true'; it
+	  returns false otherwise.
+
+	  Added a tentative implementation for template <typename PH> void
+	  complete_reduction(PowerSet<Determinate<PH> >& p): it collapses
+	  all the elements of `p' that can be poly-hulled without loss of
+	  precision.
+
+	  Added tentative implementations of template <typename PH> void
+	  H79_widening_assign(PowerSet<Determinate<PH> >& r, const
+	  PowerSet<Determinate<PH> >& q) and template <typename PH> void
+	  BBRZ02_widening_assign(PowerSet<Determinate<PH> >& r, const
+	  PowerSet<Determinate<PH> >& q): they are meant to generalize the
+	  widenings on polyhedra to sets of polyhedra.
+
+2002-10-06 Sunday 22:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Determinate.defs.hh (1.19), Determinate.inlines.hh (1.19):
+	  Added PH& polyhedron().
+
+2002-10-06 Sunday 22:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: linearpartition1.cc (1.3), linearpartition2.cc (1.3),
+	  linearpartition3.cc (1.3): Reduce the scope of declarations.
+
+2002-10-06 Sunday 20:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: linearpartition2.cc (1.2), linearpartition3.cc (1.2):
+	  Made quiet.
+
+2002-10-06 Sunday 19:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.128), linearpartition2.cc (1.1),
+	  linearpartition3.cc (1.1): Test linear_partition() with two
+	  disjoint polyhedra and with two telescopic polyhedra.
+
+2002-10-06 Sunday 19:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/algorithms.hh (1.4): Relax the limitations of
+	  linear_partition().
+
+2002-10-06 Sunday 18:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.239): Many (small) improvements in the
+	  implementation of the 2nd technique of BBRZ02_widening_assign().
+
+2002-10-06 Sunday 10:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.100): Bibliography added (perhaps not at
+	  the right place).
+
+2002-10-06 Sunday 10:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: bib2dox (1.1), bib2html2dox.sed (1.1): A tool to convert a
+	  BibTeX file into something suitable for inclusion into the
+	  Doxygen documentation.
+
+2002-10-06 Sunday 09:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/algorithms.hh (1.3): Comment slightly improved.
+
+2002-10-06 Sunday 09:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: devref-browse.doxyconf-latex.in (1.23),
+	  devref-print.doxyconf-latex.in (1.23), devref.doxyconf-html.in
+	  (1.24): Include `algorithms.hh' in the sources used to create the
+	  developer's reference manual.
+
+2002-10-06 Sunday 09:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.99): Use the condition
+	  `Include_Implementation_Details' instead of
+	  `Implementation_Info'.
+
+2002-10-06 Sunday 09:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* STANDARDS (1.8): A few minor improvements.
+
+2002-10-05 Saturday 22:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/algorithms.hh (1.2): Include implementation details for
+	  linear_partition().
+
+2002-10-05 Saturday 22:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/linearpartition1.cc (1.2): Be quiet.
+
+2002-10-05 Saturday 22:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: bbrz02widening13.cc (1.2), bbrz02widening14.cc (1.3):
+	  Made silent.
+
+2002-10-05 Saturday 22:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.238), Polyhedron.defs.hh (1.159): Added
+	  new private method void Polyhedron::select_H79_constraints(const
+	  Polyhedron& y,					ConSys&
+	  cs_selection) const; that selects the common constraints of *this
+	  and y (into cs_selection) according to H79.  Used the method both
+	  in H79_widening and in BBRZ02_widening.  Modified the second
+	  technique of BBRZ02 to have more chances that it will produce a
+	  stabilizing sequence of polyhedra.  Added a few outputs for the
+	  debugging of BBRZ02_widening.
+
+2002-10-05 Saturday 20:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.52), src/algorithms.hh (1.1),
+	  tests/Makefile.am (1.127), tests/linearpartition1.cc (1.1): New
+	  function template <typename PH> std::pair<PH,
+	  PowerSet<Determinate<NNC_Polyhedron> > > linear_partition(const
+	  PH& p, const PH& q) computing a partition of `q' with respect to
+	  `p'.
+
+2002-10-05 Saturday 20:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Determinate.defs.hh (1.18), Determinate.inlines.hh (1.18):
+	  Added const PH& polyhedron() const.
+
+2002-10-05 Saturday 19:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.47), ppl_c.h (1.47): The function int
+	  ppl_Polyhedron_is_disjoint_from_Polyhedron() makes the
+	  disjointness test for polyhedra available to the C interface.
+
+2002-10-05 Saturday 19:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.43), src/Polyhedron.cc (1.237), src/Polyhedron.defs.hh
+	  (1.158): New function bool are_disjoint(const Polyhedron&, const
+	  Polyhedron&) returning true if and only if the two polyhedra are
+	  disjoint.
+
+2002-10-05 Saturday 18:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.157): All the relational operators on
+	  polyhedra are now commented the same way.
+
+2002-10-05 Saturday 17:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: PowerSet.defs.hh (1.19), PowerSet.inlines.hh (1.24): The
+	  default constructor now builds an empty (bottom) PowerSet.
+
+2002-10-05 Saturday 16:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: BoundingBox.defs.hh (1.7), ConSys.cc (1.52), ConSys.defs.hh
+	  (1.70), Constraint.cc (1.33), Constraint.defs.hh (1.72),
+	  Determinate.defs.hh (1.17), GenSys.cc (1.69), GenSys.defs.hh
+	  (1.82), Generator.cc (1.40), Generator.defs.hh (1.78),
+	  Matrix.defs.hh (1.37), Poly_Con_Relation.defs.hh (1.16),
+	  Poly_Gen_Relation.defs.hh (1.15), Polyhedron.cc (1.236),
+	  Polyhedron.defs.hh (1.156), PowerSet.defs.hh (1.18), Row.cc
+	  (1.44), Row.defs.hh (1.56), SatMatrix.cc (1.22),
+	  SatMatrix.defs.hh (1.26), SatRow.cc (1.12), SatRow.defs.hh
+	  (1.21), Status.cc (1.16), Status.defs.hh (1.23), conversion.cc
+	  (1.34), minimize.cc (1.25), simplify.cc (1.19): Started enforcing
+	  STANDARDS rules as far as the doxygen documentation is concerned:
+	  - added a \brief declaration where needed;  - cut detailed
+	  doxygen comments from *.cc files and pasted in *.defs.hh    files
+	  (with the exceptions of conversion, minimize and simplify);  -
+	  started using the conditional section
+	  Include_Implementation_Details;  - avoided using \fn declaration
+	  where it is not needed (it was also	 causing problems since it
+	  does not support line breaks);  - fixed some problems with the
+	  naming of doxygen documentation groups.
+
+2002-10-05 Saturday 12:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/mc91.cc (1.7): Fixed and made quiet.
+
+2002-10-05 Saturday 12:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PowerSet.inlines.hh (1.23): Fixed a couple of bugs concerning
+	  space dimensions.
+
+2002-10-05 Saturday 10:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: PowerSet.defs.hh (1.17), PowerSet.inlines.hh (1.22): The
+	  default constructor for PowerSet now takes the dimension of the
+	  enclosing space as an optional parameter, defaulting to zero.
+
+2002-10-05 Saturday 10:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: GenSys.cc (1.68), Polyhedron.cc (1.235): Added missing
+	  \relates doxygen declarations.
+
+2002-10-05 Saturday 10:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/conversion.cc (1.33): Added a missing namespace qualification
+	  in the doxygen comment.
+
+2002-10-05 Saturday 10:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.cc (1.51), ConSys.defs.hh (1.69): According to
+	  STANDARDS, moved doxygen documentation in the header file.  Added
+	  a missing \relates declaration to avoid a doxygen warning.
+
+2002-10-05 Saturday 10:20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref-browse.doxyconf-latex.in (1.22),
+	  devref-print.doxyconf-latex.in (1.22), devref.doxyconf-html.in
+	  (1.23): Added Include_Implementation_Details in the
+	  ENABLED_SECTIONS of the developer reference.
+
+2002-10-05 Saturday 10:18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* STANDARDS (1.7): Added specification on how to integrate an
+	  end-user comment block with further comments for the developer
+	  only.
+
+2002-10-04 Friday 23:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.42): Notified new function for manipulation
+	  LinExpression's.
+
+2002-10-04 Friday 23:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: bbrz02widening14.cc (1.2), bbrz02widening15.cc (1.2):
+	  Tests made silent.
+
+2002-10-04 Friday 22:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.98): Cut away previous spurious commit on
+	  the specification of generalized affine image. Added a missing
+	  transposition sign.
+
+2002-10-04 Friday 22:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.63): Typo corrected:
+	  closure-point ==> closure_point.
+
+2002-10-04 Friday 19:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.10): Updated.
+
+2002-10-04 Friday 19:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.41): Report the news for PPL 0.4.2.
+
+2002-10-04 Friday 18:53  Elisa Ricci
+
+	* src/Polyhedron.cc (1.234): Modified the second technique of
+	  Polyhedron::BBRZ02_widening_assign(): we add all the chosen rays
+	  that satisfy the system of constraints `common_con_sys' to the
+	  system of generators of `x'.
+
+2002-10-04 Friday 18:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am (1.126), bbrz02widening14.cc (1.1),
+	  bbrz02widening15.cc (1.1): Added two new tests. The first one is
+	  similar to bbrz02widening13, but this time the limit of the chain
+	  of polyhedra is a bounded polyhedron.  The second one is similar
+	  to the first one, but it is based on a chain of polyhedral cones.
+
+2002-10-04 Friday 18:39  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: LinExpression.cc (1.14), LinExpression.defs.hh (1.55):
+	  Added new function   LinExpression& operator*=(LinExpression& e,
+	  const Integer& n); to multiply (in place) a given expression by
+	  an Integer constant.
+
+2002-10-04 Friday 15:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.97), tests/Makefile.am (1.125),
+	  tests/bbrz02widening13.cc (1.1): Added a new test for the bbrz02
+	  widening.
+
+2002-10-04 Friday 12:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/ChangeLog, ChangeLog (ppl-0_4-branch.[3,7]): Mark
+	  ChangeLog.
+
+2002-10-04 Friday 11:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (ppl-0_4-branch.6): Updated.
+
+2002-10-04 Friday 10:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (1.16): Require GCC 3.2 or later, require GMP 4.1 or
+	  later version.
+
+2002-10-04 Friday 10:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (ppl-0_4-branch.1): Require GCC 3.2 or later version.
+
+2002-10-04 Friday 09:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (ppl-0_4-branch.5): Updated.
+
+2002-10-04 Friday 09:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (ppl-0_4-branch.4): Version number bumped.
+
+2002-10-04 Friday 09:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (ppl-0_4-branch.7): Try to release today.
+
+2002-10-03 Thursday 17:58  Elisa Ricci
+
+	* tests/: Makefile.am (1.124), exceptions1.cc (1.20),
+	  exceptions2.cc (1.17), generalizedaffineimage9.cc (1.1): Added
+	  some new tests for Polyhedron::generalized_affine_image(lhs, r,
+	  rhs).
+
+2002-10-03 Thursday 15:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.123), ascii_dump_load1.cc (1.3),
+	  ascii_dump_load2.cc (1.3), files.cc (1.2), files.hh (1.2):
+	  Several improvements.
+
+2002-10-03 Thursday 15:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.122), ascii_dump_load3.cc (1.2), files.cc
+	  (1.1), files.hh (1.1): Avoid spaghetti-coding.
+
+2002-10-03 Thursday 15:01  Elisa Ricci
+
+	* tests/generalizedaffineimage7.cc (1.3): Corrected the test: we
+	  want "return 1" if there is at least a test that exits with
+	  "return 1".
+
+2002-10-03 Thursday 12:23  Elisa Ricci
+
+	* tests/: Makefile.am (1.121), ascii_dump_load2.cc (1.2),
+	  ascii_dump_load3.cc (1.1): Added a new test for
+	  Polyhedron::ascii_dump() and Polyhedron::ascii_load().  Corrected
+	  an error in the comment of ascii_dump_load2.cc.
+
+2002-10-03 Thursday 12:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.233), src/Polyhedron.defs.hh (1.155),
+	  tests/generalizedaffineimage1.cc (1.4),
+	  tests/generalizedaffineimage7.cc (1.2): When the lhs of the
+	  generalized affine image is an arbitrary LinExpression, there is
+	  no need of having a denominator for the rhs.
+
+2002-10-03 Thursday 12:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.96): Added missing transposition signs in
+	  documentation of affine images.  Improved comment of generalized
+	  affine images.
+
+2002-10-03 Thursday 11:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.40): Reported the bug on minimization of
+	  zero-dim-universe NNC polyhedra.
+
+2002-10-03 Thursday 11:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/ConSys.cc (1.50): Fixed a couple of comments.
+
+2002-10-03 Thursday 10:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS, doc/definitions.dox, src/ConSys.cc, src/Polyhedron.cc,
+	  tests/Makefile.am, tests/minconstraints1.cc,
+	  tests/minconstraints2.cc, tests/minconstraints3.cc,
+	  tests/mingenerators1.cc, tests/mingenerators2.cc,
+	  tests/mingenerators3.cc (ppl-0_4-branch.[6,1,4,7,4,1,1,1,1,1,1]):
+	  Reported on the branch a couple of bugfixes and corresponding
+	  tests.
+
+2002-10-03 Thursday 09:18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.95): Corrected the definition of affine
+	  preimage.
+
+2002-10-03 Thursday 04:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.13), config.sub (1.12): Updated.
+
+2002-10-02 Wednesday 17:32  Elisa Ricci
+
+	* tests/: Makefile.am (1.120), ascii_dump_load2.cc (1.1): Added a
+	  new test to verify Polyhedron::ascii_load() and
+	  Polyhedron::ascii_dump().
+
+2002-10-02 Wednesday 16:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.232): Fixed a typo in a comment.
+
+2002-10-02 Wednesday 16:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.231): The implementation of
+	  generalized_affine_image(lhs, rel, rhs, denom) now handles some
+	  special cases in a more efficient way.
+
+2002-10-02 Wednesday 16:14  Elisa Ricci
+
+	* src/Polyhedron.cc (1.230): In
+	  Polyhedron::strongly_minimize_constraints() and
+	  Polyhedron::strongly_minimize_generators() corrected the bug
+	  shown by minconstraints3.cc and mingenerators3.cc: now we verify
+	  if the polyhedron is not empty and zero-dimensional.
+
+2002-10-02 Wednesday 16:10  Elisa Ricci
+
+	* tests/: Makefile.am (1.119), minconstraints3.cc (1.1),
+	  mingenerators3.cc (1.1): The test minconstraints3.cc shows a bug
+	  in Polyhedron::strongly_minimize_constraints().  The test
+	  mingenerators3.cc shows a bug in
+	  Polyhedron::strongly_minimize_generators().
+
+2002-10-02 Wednesday 15:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Makefile.am (1.118): Expect addgenerators11 to fail.
+
+2002-10-02 Wednesday 14:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/exceptions1.cc (1.19): Fixed a few comments on tests about
+	  generalized_affine_image.
+
+2002-10-02 Wednesday 14:40  Elisa Ricci
+
+	* tests/generalizedaffineimage8.cc (1.2): Corrected an error in the
+	  comment of the test: the relation is `>' and not `<'.
+
+2002-10-02 Wednesday 14:39  Elisa Ricci
+
+	* tests/: Makefile.am (1.117), generalizedaffineimage8.cc (1.1):
+	  Added a new test for Polyhedron::generalized_affine_image(v, r,
+	  e, d) in the case of non necessarily closed polyhedron and the
+	  relation `>'.
+
+2002-10-02 Wednesday 14:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: exceptions1.cc (1.18), exceptions2.cc (1.16): Adapted to
+	  the new interface of Polyhedron::generalized_affine_image().
+
+2002-10-02 Wednesday 14:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am (1.116), generalizedaffineimage3.cc (1.4),
+	  generalizedaffineimage7.cc (1.1): Added a new test for method
+	  Polyhedron::generalized_affine_image(lhs, relop, rhs, denum)
+	  checking that, when lhs has a single variable, the current
+	  implementation does have the same behavior of
+	  Polyhedron::generalized_affine_image(var, relop, rhs, denum).
+
+2002-10-02 Wednesday 14:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Makefile.am (1.115): Specify the source for
+	  addgenerators11.
+
+2002-10-02 Wednesday 14:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.114), addgenerators11.cc (1.1): New test
+	  for Polyhedron::add_generators_and_minimize().
+
+2002-10-02 Wednesday 12:39  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.229), src/Polyhedron.defs.hh (1.154),
+	  src/globals.hh (1.23), tests/generalizedaffineimage1.cc (1.3),
+	  tests/generalizedaffineimage2.cc (1.3),
+	  tests/generalizedaffineimage3.cc (1.3),
+	  tests/generalizedaffineimage4.cc (1.2),
+	  tests/generalizedaffineimage5.cc (1.2),
+	  tests/generalizedaffineimage6.cc (1.2): Added enumeration
+	  Relation_Operator to encode the operator <, <=, ==, >=, >.  Used
+	  the enumeration to specify the relation operator of methods
+	  Polyhedron::generalized_affine_image().  Patched the tests to use
+	  the enumeration instead of string encodings.
+
+2002-10-02 Wednesday 12:05  Elisa Ricci
+
+	* src/ConSys.cc (1.49): Modified
+	  ConSys::adjust_topology_and_dimension() so that if the system of
+	  constraints was sorted, does not contains strict inequalities and
+	  is not necessarily closed and if the new topology is
+	  NECESSARILY_CLOSED, we sort the system again.
+
+2002-10-02 Wednesday 11:20  Elisa Ricci
+
+	* src/ConSys.cc (1.48), tests/Makefile.am (1.113),
+	  tests/addconstraints12.cc (1.1): Corrected an error in
+	  ConSys::adjust_topology_and_dimension: now we erase the
+	  constraints 0 <= \epsilon <= 1 if the system of constraints does
+	  not contains strict inequalities and is not necessarily closed
+	  and the new topology is NECESSARILY_CLOSED.  Added a test to
+	  verify this function.
+
+2002-10-02 Wednesday 10:19  Elisa Ricci
+
+	* tests/topclosed3.cc (1.3): Added the comment to explain what this
+	  test does.
+
+2002-10-02 Wednesday 09:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/topclosed3.cc (1.2): New test made silent.
+
+2002-10-02 Wednesday 09:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am (1.112), topclosed3.cc (1.1): Added a new
+	  test on the topological closure check.  It shows that an
+	  unmatched closure point lying on the same line of a point, after
+	  performing minimization, is converted by back_substitute() into
+	  the corresponding matched closure point: this property is needed
+	  to ensure the correctness of the current implementation.
+
+2002-10-01 Tuesday 21:04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.228), tests/Makefile.am (1.111),
+	  tests/generalizedaffineimage6.cc (1.1): Added a first draft
+	  implementation for method
+	  Polyhedron::generalized_affine_image(const LinExpression& lhs,
+					       const char* relation,
+					     const LinExpression& rhs,
+					   const Integer& denominator);
+	  Added a first test to check if it works.
+
+2002-10-01 Tuesday 14:56  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.94), src/Polyhedron.cc (1.227),
+	  src/Polyhedron.defs.hh (1.153): The specification of the
+	  generalized affine image operator further generalized to allow
+	  for an arbitrary affine expression in the lhs.  Added the
+	  declaration of this generalization (with a void implementation).
+
+2002-10-01 Tuesday 11:56  Elisa Ricci
+
+	* tests/: bbrz02widening6.cc (1.3), bbrz02widening7.cc (1.3):
+	  Modified the polyhedron `known_result' according to the changes
+	  of Polyhedron::BBRZ02_widening_assign().
+
+2002-10-01 Tuesday 11:22  Elisa Ricci
+
+	* src/Polyhedron.cc (1.226), tests/Makefile.am (1.110),
+	  tests/generalizedaffineimage5.cc (1.1): Corrected an error in
+	  Polyhedron::generalized_affine_image().  Added a test to verify
+	  this function.
+
+2002-09-30 Monday 11:32  Elisa Ricci
+
+	* tests/: Makefile.am (1.109), affinepreimage6.cc (1.2),
+	  affinepreimage7.cc (1.1), exceptions1.cc (1.17), exceptions2.cc
+	  (1.15), polyhull7.cc (1.1): Added new tests for some methods of
+	  the class Polyhedron.  Corrected a comment in the test
+	  affinepreimage6.cc.
+
+2002-09-29 Sunday 15:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ConSys.cc (1.47), src/ConSys.defs.hh (1.68), src/GenSys.cc
+	  (1.67), src/GenSys.defs.hh (1.81), src/Matrix.cc (1.44),
+	  src/Matrix.defs.hh (1.36), src/Poly_Con_Relation.cc (1.4),
+	  src/Poly_Con_Relation.defs.hh (1.15), src/Poly_Gen_Relation.cc
+	  (1.4), src/Poly_Gen_Relation.defs.hh (1.14), src/Polyhedron.cc
+	  (1.225), src/Polyhedron.defs.hh (1.152), src/SatMatrix.cc (1.21),
+	  src/SatMatrix.defs.hh (1.25), src/Status.cc (1.15),
+	  src/Status.defs.hh (1.22), tests/ascii_dump_load1.cc (1.2): The
+	  ASCII_dump() and ASCII_load() methods have been renamed
+	  ascii_dump() and ascii_load().
+
+2002-09-29 Sunday 11:16  Elisa Ricci
+
+	* src/Status.cc (1.14), tests/Makefile.am (1.108),
+	  tests/ascii_dump_load1.cc (1.1): Corrected an error in
+	  Status::ASCII_load(std::istream& s).	Added a test to verify
+	  Polyhedron::ASCII_dump(std::ostream& s) and
+	  Polyhedron::ASCII_load(std::istream& s).
+
+2002-09-27 Friday 20:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.39), tests/affineimage5.cc (1.2): Test affineimage5 made
+	  silent.  The bug affecting affine_image() could have produced
+	  wrong results (not just violate a library invariant).
+
+2002-09-27 Friday 20:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS, src/ConSys.cc, src/GenSys.cc, src/Polyhedron.cc,
+	  tests/Makefile.am, tests/affineimage4.cc, tests/affineimage5.cc
+	  (ppl-0_4-branch.[5,3,3,6,3,1,1]): The correction of the bug
+	  affecting Polyhedron::affine_image() and
+	  Polyhedron::affine_preimage() reported on ppl-0_4-branch.
+
+2002-09-27 Friday 15:41  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.93), src/Polyhedron.defs.hh (1.151): Fixed
+	  documentation reference for the generalized_affine_image
+	  operator.
+
+2002-09-27 Friday 15:39  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.224): Methods Polyhedron::affine_image() and
+	  Polyhedron::affine_preimage() now only call
+	  ConSys::affine_preimage() and GenSys::affine_image() with a
+	  strictly positive denominator.  Added draft implementation of
+	  generalized_affine_image() for the case of a strict relation
+	  operator (only for NNC polyhedra).
+
+2002-09-27 Friday 15:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.cc (1.46), GenSys.cc (1.66): Private methods
+	  ConSys::affine_preimage() and GenSys::affine_image() now assume
+	  that the third argument is a _positive_ Integer.
+
+2002-09-27 Friday 15:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am (1.107), affineimage5.cc (1.1),
+	  generalizedaffineimage1.cc (1.2), generalizedaffineimage2.cc
+	  (1.2), generalizedaffineimage3.cc (1.2),
+	  generalizedaffineimage4.cc (1.1): Added new tests and adjusted
+	  the known_results of generalizedaffineimage* to match the
+	  specification.
+
+2002-09-27 Friday 09:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.92), src/Polyhedron.cc (1.223),
+	  src/Polyhedron.defs.hh (1.150): Method generalized_affine_image()
+	  reimplemented to match its specification.  The doxygen
+	  specification improved.
+
+2002-09-27 Friday 09:20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.38): Reported the bugfix for Polyhedron::affine_image().
+
+2002-09-27 Friday 09:18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/GenSys.cc (1.65): Corrected a bug in GenSys::affine_image()
+	  whereby we were creating points having a negative divisor when
+	  the denominator of the affine transformation was negative.
+
+2002-09-27 Friday 09:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am (1.106), affineimage4.cc (1.1): New test
+	  showing a bug in Polyhedron::affine_image() when the divisor is
+	  negative.
+
+2002-09-26 Thursday 15:20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.222): The draft implementation of
+	  Polyhedron::generalized_affine_image() extended to work with NNC
+	  polyhedra.
+
+2002-09-26 Thursday 13:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am (1.105), generalizedaffineimage3.cc (1.1):
+	  Added a test for generalized_affine_image where the points of the
+	  polyhedron have non-integral coordinates.
+
+2002-09-26 Thursday 12:56  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am (1.104), generalizedaffineimage1.cc (1.1),
+	  generalizedaffineimage2.cc (1.1): Added a couple of tests for the
+	  new generalized_affine_image operator.
+
+2002-09-26 Thursday 12:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.91): Added draft specification of the
+	  generalized affine image operator.
+
+2002-09-26 Thursday 12:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.221), Polyhedron.defs.hh (1.149): Added a
+	  first draft implementation of the generalized_affine_image
+	  operator.  Current implementation should work correctly for
+	  C_Polyhedron.
+
+2002-09-26 Thursday 12:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: LinExpression.defs.hh (1.54), LinExpression.inlines.hh
+	  (1.24): Added methods to provide read-only access to the
+	  coefficients and the inhomogeneous term of a LinExpression.
+
+2002-09-25 Wednesday 18:25  Elisa Ricci
+
+	* src/Polyhedron.cc (1.220), tests/Makefile.am (1.103),
+	  tests/bbrz02widening12.cc (1.1): Corrected an improved the third
+	  technique of Polyhedron::BBRZ02_widening_assign().  Added a test
+	  to verify this technique.
+
+2002-09-25 Wednesday 16:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.90): Greatly improved the matrix in the
+	  explanation of affine images and preimages.
+
+2002-09-25 Wednesday 14:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.37): Removed a few repetitions in the list of bugfixes.
+
+2002-09-25 Wednesday 10:12  Elisa Ricci
+
+	* src/: Integer.defs.hh (1.9), Integer.inlines.hh (1.8),
+	  Polyhedron.cc (1.219): Added the functions void
+	  sqrt_assign(Integer& x) and void sqrt_assign(Integer& x, const
+	  Integer& y) in Integer to compute he truncated integer part of
+	  the root of an Integer.  Used the function sqrt_assign(Integer&)
+	  in the first technique of BBRZ02_widening_assign().
+
+2002-09-24 Tuesday 19:05  Elisa Ricci
+
+	* src/: Integer.defs.hh (1.8), Integer.inlines.hh (1.7),
+	  Polyhedron.cc (1.218): Added the functions lcm_assign(Integer& x,
+	  const Integer& y) and lcm_assign(Integer& x, const Integer& y,
+	  const Integer& z) in Integer.  Modified the function
+	  Polyhedron::BBRZ02_widening_assing() so that in the first
+	  technique we choose the constraints to add in the right system
+	  and we normalize the vectors using a bad approximation of the
+	  norm; corrected also an error in the third technique in the case
+	  of rays with negative coefficients.
+
+2002-09-24 Tuesday 15:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS, src/GenSys.cc, src/Polyhedron.cc (ppl-0_4-branch.[4,2,5]):
+	  Reported to the ppl-0_4-branch the corrections to a couple of
+	  bugs affecting methods GenSys::insert(const Generator& ) and
+	  Polyhedron::add_generator(const Generator& ).
+
+2002-09-24 Tuesday 10:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/ConSys.cc, tests/Makefile.am, tests/relations14.cc
+	  (ppl-0_4-branch.[2,2,1]): Added the test showing a bug when
+	  invoking method   Polyhedron::relation_with(const Generator& ).
+	  Implemented the correction in method
+	  ConSys::satisfies_all_constraints(const Generator& ).
+
+2002-09-23 Monday 17:15  Elisa Ricci
+
+	* tests/: Makefile.am (1.102), relations11.cc (1.2), relations15.cc
+	  (1.1), relations16.cc (1.1): Added two tests for the methods of
+	  the class GenSys and corrected an error in the comment of the
+	  test relations11.cc.
+
+2002-09-23 Monday 12:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.36), src/ConSys.cc (1.45): Corrected a bug in
+	  ConSys::satisfies_all_constraints(const Generator& ) which was
+	  affecting the public method	Polyhedron::relation_with(const
+	  Generator& ).  The bug reported on the NEWS file.
+
+2002-09-23 Monday 11:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am (1.101), relations13.cc (1.1), relations14.cc
+	  (1.1): A couple of new tests. relations14 shows a bug in the
+	  implementation of ConSys::satisfies_all_constraints(const
+	  Generator& g) const.
+
+2002-09-20 Friday 11:54  Elisa Ricci
+
+	* tests/: Makefile.am (1.100), addconstraints11.cc (1.8),
+	  affinepreimage6.cc (1.1), relations10.cc (1.2), relations12.cc
+	  (1.1): Added other tests for some methods of the classes ConSys
+	  and GenSys.  Corrected the comment of the test in relations10.cc.
+
+2002-09-19 Thursday 17:16  Elisa Ricci
+
+	* tests/: Makefile.am (1.99), affineimage3.cc (1.1),
+	  affinepreimage5.cc (1.1), relations10.cc (1.1), relations11.cc
+	  (1.1): Added some tests for the methods of the classes
+	  Polyhedron, ConSys and GenSys.
+
+2002-09-18 Wednesday 11:54  Elisa Ricci
+
+	* tests/: Makefile.am (1.98), adddimensions11.cc (1.1),
+	  exceptions2.cc (1.14): Added two other tests to verify the
+	  methods of the class Polyhedron.
+
+2002-09-18 Wednesday 10:27  Elisa Ricci
+
+	* src/Polyhedron.cc (1.217): Made some little improvements to the
+	  function Polyhedron::BBRZ02_widenin_assign().  Improved also some
+	  comments of this function.
+
+2002-09-17 Tuesday 18:44  Elisa Ricci
+
+	* tests/: Makefile.am (1.97), contains1.cc (1.1), exceptions2.cc
+	  (1.13), h79widening5.cc (1.2), minconstraints2.cc (1.2): Improved
+	  some tests and added other tests to verify some methods of
+	  Polyhedron.cc and C_Polyhedron.cc.
+
+2002-09-17 Tuesday 11:29  Elisa Ricci
+
+	* tests/: Makefile.am (1.96), addconstraints10.cc (1.7),
+	  bbrz02widening10.cc (1.1), bbrz02widening11.cc (1.1),
+	  h79widening5.cc (1.1), minconstraints2.cc (1.1),
+	  mingenerators2.cc (1.1), timeelapse7.cc (1.1), topclosure2.cc
+	  (1.1): Added other tests to verify some methods of Polyhedron.cc.
+
+2002-09-12 Thursday 18:17  Elisa Ricci
+
+	* tests/: Makefile.am (1.95), timeelapse6.cc (1.1): Added a new
+	  test for the function Polyhedron::time_elapse_assign().
+
+2002-09-12 Thursday 16:30  Elisa Ricci
+
+	* src/Polyhedron.cc (1.216): Corrected an error in
+	  Polyhedron::BBRZ02_widening_assign(): the new generator was added
+	  to the polyhedron x instead of the polyhedron x2.
+
+2002-09-12 Thursday 11:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.51): Try to fix a long-standing problem in the
+	  generation of ppl_install.hh.
+
+2002-09-11 Wednesday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS, STANDARDS, acinclude.m4, config.h.in, configure.ac,
+	  doc/definitions.dox, interfaces/C/ppl_c.cc, interfaces/C/ppl_c.h,
+	  interfaces/Prolog/Makefile.am,
+	  interfaces/Prolog/Prolog_interface.dox,
+	  interfaces/Prolog/clpq.pl, interfaces/Prolog/clpq2.pl,
+	  interfaces/Prolog/pl_check.pl, interfaces/Prolog/ppl_prolog.icc,
+	  interfaces/Prolog/track_allocation.hh,
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc, m4/Makefile.am,
+	  m4/ac_cxx_flexible_arrays.m4, src/AskTell.defs.hh,
+	  src/AskTell.inlines.hh, src/BoundingBox.cc,
+	  src/BoundingBox.defs.hh, src/BoundingBox.inlines.hh,
+	  src/C_Polyhedron.defs.hh, src/C_Polyhedron.inlines.hh,
+	  src/ConSys.cc, src/ConSys.defs.hh, src/ConSys.inlines.hh,
+	  src/Constraint.cc, src/Constraint.defs.hh,
+	  src/Constraint.inlines.hh, src/Determinate.defs.hh,
+	  src/Determinate.inlines.hh, src/GenSys.cc, src/GenSys.defs.hh,
+	  src/GenSys.inlines.hh, src/Generator.cc, src/Generator.defs.hh,
+	  src/Generator.inlines.hh, src/Init.cc, src/Init.defs.hh,
+	  src/Init.inlines.hh, src/Interval.defs.hh, src/LCompare.defs.hh,
+	  src/LinExpression.cc, src/LinExpression.defs.hh,
+	  src/LinExpression.inlines.hh, src/Makefile.am, src/Matrix.cc,
+	  src/Matrix.defs.hh, src/Matrix.inlines.hh,
+	  src/NNC_Polyhedron.defs.hh, src/NNC_Polyhedron.inlines.hh,
+	  src/Poly_Con_Relation.cc, src/Poly_Con_Relation.defs.hh,
+	  src/Poly_Gen_Relation.cc, src/Poly_Gen_Relation.defs.hh,
+	  src/Polyhedron.cc, src/Polyhedron.defs.hh,
+	  src/Polyhedron.inlines.hh, src/PowerSet.defs.hh,
+	  src/PowerSet.inlines.hh, src/Row.cc, src/Row.defs.hh,
+	  src/Row.inlines.hh, src/SatMatrix.cc, src/SatMatrix.defs.hh,
+	  src/SatMatrix.inlines.hh, src/SatRow.defs.hh,
+	  src/SatRow.inlines.hh, src/Status.cc, src/Status.defs.hh,
+	  src/Variable.cc, src/Variable.defs.hh, src/Variable.inlines.hh,
+	  src/conversion.cc, src/globals.cc, src/globals.hh,
+	  src/initializer.hh, src/minimize.cc, src/ppl_header.middle,
+	  src/simplify.cc, tests/CbecomesNNC1.cc, tests/Makefile.am,
+	  tests/addconstraint1.cc, tests/addconstraints2.cc,
+	  tests/addconstraints4.cc, tests/addconstraints5.cc,
+	  tests/addconstraints6.cc, tests/addconstraints7.cc,
+	  tests/addconstraints8.cc, tests/addconstraints9.cc,
+	  tests/adddimensions1.cc, tests/adddimensions10.cc,
+	  tests/adddimensions2.cc, tests/adddimensions3.cc,
+	  tests/adddimensions4.cc, tests/adddimensions5.cc,
+	  tests/adddimensions6.cc, tests/adddimensions7.cc,
+	  tests/adddimensions8.cc, tests/adddimensions9.cc,
+	  tests/addgenerator1.cc, tests/addgenerator2.cc,
+	  tests/addgenerators10.cc, tests/addgenerators3.cc,
+	  tests/addgenerators4.cc, tests/addgenerators5.cc,
+	  tests/addgenerators6.cc, tests/addgenerators7.cc,
+	  tests/addgenerators9.cc, tests/affineimage1.cc,
+	  tests/affineimage2.cc, tests/affinepreimage1.cc,
+	  tests/affinepreimage2.cc, tests/affinepreimage3.cc,
+	  tests/affinepreimage4.cc, tests/append1.cc, tests/append2.cc,
+	  tests/bbrz02widening1.cc, tests/bbrz02widening2.cc,
+	  tests/bbrz02widening3.cc, tests/bbrz02widening4.cc,
+	  tests/bbrz02widening5.cc, tests/bbrz02widening6.cc,
+	  tests/bbrz02widening7.cc, tests/bbrz02widening8.cc,
+	  tests/bbrz02widening9.cc, tests/bounded1.cc,
+	  tests/boundingbox1.cc, tests/boundingbox2.cc, tests/bounds1.cc,
+	  tests/bounds2.cc, tests/concatenate2.cc, tests/concatenate3.cc,
+	  tests/concatenate4.cc, tests/constraints1.cc,
+	  tests/constraints2.cc, tests/constraints3.cc, tests/empty1.cc,
+	  tests/exceptions1.cc, tests/exceptions2.cc, tests/generators3.cc,
+	  tests/generators4.cc, tests/generators5.cc,
+	  tests/h79widening4.cc, tests/inclusion2.cc,
+	  tests/intersection2.cc, tests/intersection3.cc,
+	  tests/intersection4.cc, tests/intersection5.cc,
+	  tests/intersection6.cc, tests/intersection8.cc,
+	  tests/intersection9.cc, tests/limitedh79widening1.cc,
+	  tests/limitedh79widening2.cc, tests/limitedh79widening3.cc,
+	  tests/memory1.cc, tests/minconstraints1.cc,
+	  tests/mingenerators1.cc, tests/permute.cc,
+	  tests/polydifference1.cc, tests/polydifference2.cc,
+	  tests/polydifference3.cc, tests/polydifference4.cc,
+	  tests/polydifference5.cc, tests/polydifference6.cc,
+	  tests/polyhull1.cc, tests/polyhull2.cc, tests/polyhull3.cc,
+	  tests/polyhull5.cc, tests/polyhull6.cc, tests/relations1.cc,
+	  tests/relations2.cc, tests/relations3.cc, tests/relations4.cc,
+	  tests/relations5.cc, tests/relations6.cc, tests/relations7.cc,
+	  tests/relations8.cc, tests/relations9.cc, tests/removedim4.cc,
+	  tests/removedim5.cc, tests/removedim6.cc, tests/removedim7.cc,
+	  tests/removedim8.cc, tests/removedim9.cc, tests/timeelapse1.cc,
+	  tests/timeelapse2.cc, tests/timeelapse3.cc, tests/timeelapse4.cc,
+	  tests/timeelapse5.cc, tests/topclosed1.cc, tests/topclosed2.cc,
+	  tests/topclosure1.cc, tests/universe1.cc, tests/universe2.cc,
+	  tests/universe3.cc, tests/universe4.cc, tests/universe5.cc,
+	  tests/universe6.cc, tests/watchdog1.cc
+	  (alt_nnc.[3,1,1,2,2,1,3,3,1,1,1,1,1,2,2,1,1,1,2,2,1,2,2,2,2,5,4,3,4,4,3,4,4,7,4,2,5,5,3,1,2,2,2,2,1,2,2,1,1,2,2,2,2,1,2,1,2,16,5,5,3,3,1,2,2,1,2,2,2,2,1,2,1,2,2,1,1,2,2,2,1,1,1,2,1,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,1,1,1,1,1,2,2,2,2,2,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,2,2,3,1,1,2,2,1,1,1,1,2,2,2,1,1,1,1,1,2,2,2,2,2,1,1,2,2,1,2,1,1,2,2,2,1,1,1,1,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2]):
+	  Merged changes in main trunk between tags
+	  "second_merge_to_alt_nnc" and "third_merge_to_alt_nnc".
+
+2002-09-11 Wednesday 19:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.63): Fixed a bug whereby the configuration
+	  options --enable-assertions and --enable-more-assertions were not
+	  working properly.
+
+2002-09-11 Wednesday 14:51  Elisa Ricci
+
+	* tests/bbrz02widening9.cc (1.2): Corrected this test: to built the
+	  increasing chain q_i we must do the widening between q_i_minus_1
+	  and the poly_hull of q_i_minus_1 and p_i (and not the widening
+	  between p_i and the poly_hull of q_i_minus_1 and p_i).
+
+2002-09-11 Wednesday 12:55  Elisa Ricci
+
+	* src/: Polyhedron.cc (1.215), Polyhedron.defs.hh (1.148): Added
+	  the function static bool is_BBRZ02_stabilizing(const Polyhedron&
+	  x, const Polyhedron& y).  Used this new function in
+	  Polyhedron::BBRZ02_widening_assign().
+
+2002-09-10 Tuesday 23:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.214): A couple of comments adjusted in
+	  add_generator() and bbrz_widening_assign().
+
+2002-09-10 Tuesday 18:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.35), doc/definitions.dox (1.89),
+	  interfaces/Prolog/Makefile.am (1.20),
+	  interfaces/Prolog/Prolog_interface.dox (1.62),
+	  interfaces/Prolog/clpq.pl (1.13), interfaces/Prolog/clpq2.pl
+	  (1.23), interfaces/Prolog/pl_check.pl (1.23),
+	  interfaces/Prolog/ppl_prolog.icc (1.65),
+	  interfaces/Prolog/track_allocation.hh (1.10),
+	  src/AskTell.inlines.hh (1.9), src/C_Polyhedron.defs.hh (1.17),
+	  src/ConSys.defs.hh (1.67), src/Constraint.cc (1.32),
+	  src/Constraint.defs.hh (1.71), src/conversion.cc (1.32),
+	  tests/addconstraints2.cc (1.16), tests/adddimensions10.cc (1.4),
+	  tests/adddimensions5.cc (1.5), tests/adddimensions6.cc (1.5),
+	  tests/adddimensions7.cc (1.5), tests/adddimensions8.cc (1.3),
+	  tests/adddimensions9.cc (1.3), tests/addgenerator1.cc (1.2),
+	  tests/addgenerator2.cc (1.2), tests/addgenerators7.cc (1.6),
+	  tests/addgenerators9.cc (1.3), tests/bbrz02widening1.cc (1.2),
+	  tests/bbrz02widening2.cc (1.2), tests/bbrz02widening3.cc (1.2),
+	  tests/bbrz02widening6.cc (1.2), tests/bbrz02widening7.cc (1.2),
+	  tests/bbrz02widening8.cc (1.2), tests/bounded1.cc (1.7),
+	  tests/boundingbox1.cc (1.21), tests/boundingbox2.cc (1.11),
+	  tests/bounds1.cc (1.3), tests/concatenate4.cc (1.3),
+	  tests/constraints1.cc (1.3), tests/constraints2.cc (1.3),
+	  tests/constraints3.cc (1.3): Lots of trailing blanks removed.
+
+2002-09-10 Tuesday 18:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/topclosed1.cc (1.2): Indentation improvements.
+
+2002-09-10 Tuesday 18:05  Elisa Ricci
+
+	* src/Polyhedron.cc (1.213): Simplify the function
+	  `Polyhedron::add_generator(g)' in the case of a necessarily
+	  closed empty polyhedron and of a non-necessarily closed
+	  generator.
+
+2002-09-10 Tuesday 18:00  Elisa Ricci
+
+	* tests/: Makefile.am (1.94), topclosed1.cc (1.1), topclosed2.cc
+	  (1.1): Added two tests for the method
+	  `Polyhedron::is_topologically_closed()'.
+
+2002-09-10 Tuesday 17:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (alt_nnc.15): The correction of the bug on
+	  Polyhedron::operator<=() reported on the alt_nnc branch.
+
+2002-09-10 Tuesday 16:46  Elisa Ricci
+
+	* tests/: Makefile.am (1.93), addgenerator1.cc (1.1),
+	  addgenerator2.cc (1.1), addgenerators10.cc (1.1), exceptions1.cc
+	  (1.16), exceptions2.cc (1.12), h79widening4.cc (1.1): Added some
+	  other tests to verify the functions of Polyhedron.cc.
+
+2002-09-10 Tuesday 14:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (ppl-0_4-branch.4):
+	  Parma_Polyhedra_Library::dimension_type is undefined in PPL
+	  0.4.x.
+
+2002-09-10 Tuesday 14:48  Elisa Ricci
+
+	* tests/: bounds2.cc (1.3), polydifference5.cc (1.3),
+	  polydifference6.cc (1.2), polyhull5.cc (1.2), polyhull6.cc (1.2),
+	  removedim8.cc (1.2), removedim9.cc (1.2), topclosure1.cc (1.2):
+	  Added some explanations of what these tests do and improved the
+	  `return' of the test bounds2.
+
+2002-09-10 Tuesday 13:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (ppl-0_4-branch.3), NEWS (1.34): The correction
+	  of the bug affecting Polyhedron::operator<=() reported on the
+	  ppl_0_4-branch. Bug correction notified in the NEWS.
+
+2002-09-10 Tuesday 12:33  Elisa Ricci
+
+	* tests/: CbecomesNNC1.cc (1.2), Makefile.am (1.92),
+	  addconstraint1.cc (1.2), addconstraints2.cc (1.15),
+	  adddimensions10.cc (1.3), adddimensions8.cc (1.2),
+	  adddimensions9.cc (1.2), addgenerators9.cc (1.2), bounds1.cc
+	  (1.2), bounds2.cc (1.2), concatenate4.cc (1.2), constraints1.cc
+	  (1.2), constraints2.cc (1.2), constraints3.cc (1.2),
+	  generators3.cc (1.2), generators4.cc (1.2), generators5.cc (1.2),
+	  intersection8.cc (1.2), intersection9.cc (1.2),
+	  minconstraints1.cc (1.2), mingenerators1.cc (1.2),
+	  polydifference4.cc (1.2), polydifference5.cc (1.2): Improved some
+	  tests.
+
+2002-09-10 Tuesday 12:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/adddimensions10.cc (1.2): The old `known_result' was wrong.
+	  This was masking the bug in Polyhedron::operator<=().
+
+2002-09-10 Tuesday 12:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.212): Correcting the bug in operator<=()
+	  pointed out by test inclusion2.cc.
+
+2002-09-10 Tuesday 11:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.91), inclusion2.cc (1.1): New test showing
+	  a bug in Polyhedron::operator<=().
+
+2002-09-09 Monday 18:00  Elisa Ricci
+
+	* tests/: CbecomesNNC1.cc (1.1), Makefile.am (1.90),
+	  addconstraint1.cc (1.1), addconstraints2.cc (1.14),
+	  adddimensions10.cc (1.1), adddimensions8.cc (1.1),
+	  adddimensions9.cc (1.1), addgenerators9.cc (1.1), bounds1.cc
+	  (1.1), bounds2.cc (1.1), concatenate4.cc (1.1), constraints1.cc
+	  (1.1), constraints2.cc (1.1), constraints3.cc (1.1),
+	  exceptions1.cc (1.15), exceptions2.cc (1.11), generators3.cc
+	  (1.1), generators4.cc (1.1), generators5.cc (1.1),
+	  intersection8.cc (1.1), intersection9.cc (1.1),
+	  minconstraints1.cc (1.1), mingenerators1.cc (1.1),
+	  polydifference3.cc (1.1), polydifference4.cc (1.1),
+	  polydifference5.cc (1.1), polydifference6.cc (1.1), polyhull5.cc
+	  (1.1), polyhull6.cc (1.1), removedim8.cc (1.1), removedim9.cc
+	  (1.1), topclosure1.cc (1.1): Added tests to verify some methods
+	  of Polyhedron.cc and NNC_Polyhedron.cc.
+
+2002-09-09 Monday 17:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.211), src/Polyhedron.defs.hh (1.147),
+	  tests/Makefile.am (1.89), tests/bbrz02widening1.cc (1.1),
+	  tests/bbrz02widening2.cc (1.1), tests/bbrz02widening3.cc (1.1),
+	  tests/bbrz02widening4.cc (1.1), tests/bbrz02widening5.cc (1.1),
+	  tests/bbrz02widening6.cc (1.1), tests/bbrz02widening7.cc (1.1),
+	  tests/bbrz02widening8.cc (1.1), tests/bbrz02widening9.cc (1.1):
+	  Initial implementation of the new widening.
+
+2002-09-04 Wednesday 20:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Row.cc (1.43), Row.inlines.hh (1.33): Changes to support
+	  C++ compilers not providing flexible arrays.
+
+2002-09-04 Wednesday 12:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.210): Method OK() adjusted to behave
+	  correctly on an empty polyhedron having a single trivially false
+	  constraint.
+
+2002-09-03 Tuesday 20:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* acinclude.m4 (1.3), config.h.in (1.18), configure.ac (1.62),
+	  m4/Makefile.am (1.7), m4/ac_cxx_flexible_arrays.m4 (1.1),
+	  src/Row.defs.hh (1.55), src/Row.inlines.hh (1.32): Initial
+	  support for compilers not providing flexible arrays.	(Flexible
+	  arrays are standard in C99 but not in the current C++ standard.)
+
+2002-09-03 Tuesday 19:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.h.in (1.17), configure.ac (1.61): New configuration option
+	  --enable-more-assertions: for the time being it enables more
+	  complete debugging of the class Row by defining EXTRA_ROW_DEBUG.
+
+2002-09-03 Tuesday 18:20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/hypercubes.cc (alt_nnc.3): Computing also the constraints
+	  for the dual of hypercubes.
+
+2002-09-02 Monday 22:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.h.in (1.16), configure.ac (1.60), src/ppl_header.middle
+	  (1.2): Some portability enhancements.
+
+2002-09-02 Monday 22:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Determinate.defs.hh (1.16): Friend declaration fixed.
+
+2002-09-02 Monday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/LCompare.defs.hh (1.4): Use public inheritance.
+
+2002-09-02 Monday 17:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.33), interfaces/C/ppl_c.cc (1.46), interfaces/C/ppl_c.h
+	  (1.46), src/initializer.hh (1.4): Identifiers containing a double
+	  underscore ("__") are reserved: we no longer use them.
+
+2002-09-02 Monday 16:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Generator.defs.hh (1.77), LinExpression.defs.hh (1.53):
+	  Illegal friend function declarations removed and substituted with
+	  (still unsatisfactory) friend class declarations.
+
+2002-09-02 Monday 16:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Row.inlines.hh (1.31): Fixed typo in comment.
+
+2002-09-01 Sunday 19:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.9): Encode addresses
+	  with terms of the form `$address'(High, Low) instead of
+	  [High|Low].
+
+2002-09-01 Sunday 15:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* STANDARDS (1.6), interfaces/C/ppl_c.cc (1.45),
+	  interfaces/C/ppl_c.h (1.45), interfaces/Prolog/ppl_prolog.icc
+	  (1.64), interfaces/Prolog/track_allocation.hh (1.9),
+	  src/AskTell.defs.hh (1.8), src/BoundingBox.defs.hh (1.6),
+	  src/C_Polyhedron.inlines.hh (1.12), src/ConSys.defs.hh (1.66),
+	  src/ConSys.inlines.hh (1.26), src/Constraint.defs.hh (1.70),
+	  src/Determinate.defs.hh (1.15), src/Determinate.inlines.hh
+	  (1.17), src/GenSys.defs.hh (1.80), src/GenSys.inlines.hh (1.28),
+	  src/Generator.cc (1.39), src/Generator.defs.hh (1.76),
+	  src/Interval.defs.hh (1.8), src/Matrix.cc (1.43),
+	  src/Matrix.defs.hh (1.35), src/NNC_Polyhedron.inlines.hh (1.14),
+	  src/Poly_Con_Relation.defs.hh (1.14),
+	  src/Poly_Gen_Relation.defs.hh (1.13), src/Polyhedron.cc (1.209),
+	  src/Polyhedron.defs.hh (1.146), src/SatMatrix.cc (1.20),
+	  src/conversion.cc (1.31), src/minimize.cc (1.24), src/simplify.cc
+	  (1.18), tests/append1.cc (1.15), tests/append2.cc (1.16),
+	  tests/empty1.cc (1.10), tests/exceptions1.cc (1.14),
+	  tests/permute.cc (1.22): Avoid source lines longer than 78
+	  characters.
+
+2002-09-01 Sunday 15:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: SatRow.cc (1.11), SatRow.defs.hh (1.20), SatRow.inlines.hh
+	  (1.20): Use the right integral types.  Avoid source lines longer
+	  than 78 characters.
+
+2002-09-01 Sunday 15:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: ConSys.cc (1.44), GenSys.cc (1.64), Generator.defs.hh
+	  (1.75), LinExpression.defs.hh (1.52): Minor formatting changes.
+
+2002-09-01 Sunday 15:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (1.46): Make sure inlines are defined
+	  before they are used.
+
+2002-09-01 Sunday 13:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.32), configure.ac (1.59), interfaces/C/ppl_c.cc (1.44),
+	  interfaces/C/ppl_c.h (1.44), interfaces/Prolog/ppl_prolog.icc
+	  (1.63), interfaces/Prolog/track_allocation.hh (1.8),
+	  src/BoundingBox.cc (1.3), src/BoundingBox.defs.hh (1.5),
+	  src/BoundingBox.inlines.hh (1.6), src/C_Polyhedron.defs.hh
+	  (1.16), src/C_Polyhedron.inlines.hh (1.11), src/ConSys.cc (1.43),
+	  src/ConSys.defs.hh (1.65), src/ConSys.inlines.hh (1.25),
+	  src/Constraint.cc (1.31), src/Constraint.defs.hh (1.69),
+	  src/Constraint.inlines.hh (1.41), src/Determinate.defs.hh (1.14),
+	  src/Determinate.inlines.hh (1.16), src/GenSys.cc (1.63),
+	  src/GenSys.defs.hh (1.79), src/GenSys.inlines.hh (1.27),
+	  src/Generator.cc (1.38), src/Generator.defs.hh (1.74),
+	  src/Generator.inlines.hh (1.38), src/Init.cc (1.2),
+	  src/Init.defs.hh (1.6), src/LinExpression.cc (1.13),
+	  src/LinExpression.defs.hh (1.51), src/LinExpression.inlines.hh
+	  (1.23), src/Makefile.am (1.50), src/Matrix.cc (1.42),
+	  src/Matrix.defs.hh (1.34), src/Matrix.inlines.hh (1.27),
+	  src/NNC_Polyhedron.defs.hh (1.19), src/NNC_Polyhedron.inlines.hh
+	  (1.13), src/Polyhedron.cc (1.208), src/Polyhedron.defs.hh
+	  (1.145), src/Polyhedron.inlines.hh (1.45), src/PowerSet.defs.hh
+	  (1.16), src/PowerSet.inlines.hh (1.21), src/Row.cc (1.42),
+	  src/Row.defs.hh (1.54), src/Row.inlines.hh (1.30),
+	  src/SatMatrix.cc (1.19), src/SatMatrix.defs.hh (1.24),
+	  src/SatMatrix.inlines.hh (1.16), src/SatRow.cc (1.10),
+	  src/SatRow.defs.hh (1.19), src/SatRow.inlines.hh (1.19),
+	  src/Variable.cc (1.8), src/Variable.defs.hh (1.24),
+	  src/Variable.inlines.hh (1.13), src/conversion.cc (1.30),
+	  src/globals.cc (1.9), src/globals.hh (1.22), src/minimize.cc
+	  (1.23), src/simplify.cc (1.17), tests/append1.cc (1.14),
+	  tests/append2.cc (1.15), tests/boundingbox1.cc (1.20),
+	  tests/intersection2.cc (1.4), tests/memory1.cc (1.8),
+	  tests/permute.cc (1.21), tests/watchdog1.cc (1.11): No longer
+	  abuse `size_t'.  The new type `dimension_type' is an unsigned
+	  integral type for representing space dimensions.  The new
+	  function dimension_type max_space_dimension() returns the maximum
+	  space dimension this library can handle.
+
+2002-08-22 Thursday 15:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.61), pl_check.pl
+	  (1.22): Updated for concatenate_assign.
+
+2002-08-22 Thursday 10:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PowerSet.inlines.hh (1.20): PowerSet<CS>::add_constraint()
+	  and PowerSet<CS>::add_constraints() fixed.
+
+2002-08-22 Thursday 01:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/hypercubes.cc (alt_nnc.2): Some more tests.
+
+2002-08-20 Tuesday 17:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PowerSet.inlines.hh (1.19): Several corrections.
+
+2002-08-19 Monday 22:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.144): Avoid unnecessary qualification.
+
+2002-08-19 Monday 19:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: ConSys.cc (1.42), ConSys.defs.hh (1.64), GenSys.cc (1.62),
+	  GenSys.defs.hh (1.78), Matrix.cc (1.41), Matrix.defs.hh (1.33),
+	  Poly_Con_Relation.cc (1.3), Poly_Con_Relation.defs.hh (1.13),
+	  Poly_Gen_Relation.cc (1.3), Poly_Gen_Relation.defs.hh (1.12),
+	  Polyhedron.cc (1.207), SatMatrix.cc (1.18), SatMatrix.defs.hh
+	  (1.23), Status.cc (1.13): Rewriting of all input/output functions
+	  and operators completed.
+
+2002-08-19 Monday 16:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.206), Status.cc (1.12), Status.defs.hh
+	  (1.21): The input and output operators on Status have been
+	  replaced by methods void ASCII_dump(std::ostream&) const and bool
+	  ASCII_load(std::istream&).
+
+2002-08-19 Monday 16:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.143): Comment corrected.
+
+2002-08-19 Monday 15:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.205), Polyhedron.defs.hh (1.142): The
+	  historical operators operator<<(std::ostream&, const Polyhedron&)
+	  and oprator>>(std::istream&, Polyhedron&) have been replaced by
+	  (internal) methods Polyhedron::ASCII_dump(std::ostream& s) and
+	  ASCII_load(std::istream& s).	New version of
+	  operator<<(std::ostream& s, const Polyhedron& ph): writes a
+	  textual representation of \p ph on \p s: "false" is written if
+	  `ph' is an empty polyhedron; "true" is written if `ph' is a
+	  universe polyhedron; a minimized system of constraints defining
+	  `ph' is written otherwise, all constraints in one row separated
+	  by ", ".
+
+2002-08-19 Monday 12:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Init.inlines.hh (1.5), Makefile.am (1.49), Variable.cc
+	  (1.7), Variable.defs.hh (1.23), Variable.inlines.hh (1.12): Allow
+	  the user to change the output function for Variable objects by
+	  calling Variable::set_output_function().  Allow the user to
+	  obtain a pointer to the current output function by calling
+	  Variable::get_output_function().
+
+2002-08-19 Monday 12:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/globals.hh (1.21): Obey the indentation rules.
+
+2002-08-18 Sunday 22:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Makefile.am (1.88): We know nnc_limitedh79widening3 should
+	  fail (for the time being).
+
+2002-08-18 Sunday 22:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: addconstraints4.cc (1.8), addconstraints5.cc (1.9),
+	  addconstraints6.cc (1.10), addconstraints7.cc (1.9),
+	  addconstraints8.cc (1.9), addconstraints9.cc (1.10),
+	  adddimensions1.cc (1.11), adddimensions2.cc (1.7),
+	  adddimensions3.cc (1.9), adddimensions4.cc (1.7),
+	  adddimensions5.cc (1.4), adddimensions6.cc (1.4),
+	  adddimensions7.cc (1.4), addgenerators3.cc (1.9),
+	  addgenerators4.cc (1.9), addgenerators5.cc (1.9),
+	  addgenerators6.cc (1.9), addgenerators7.cc (1.5), affineimage1.cc
+	  (1.9), affineimage2.cc (1.8), affinepreimage1.cc (1.8),
+	  affinepreimage2.cc (1.8), affinepreimage3.cc (1.8),
+	  affinepreimage4.cc (1.9), bounded1.cc (1.6), boundingbox1.cc
+	  (1.19), boundingbox2.cc (1.10), concatenate2.cc (1.4),
+	  concatenate3.cc (1.4), intersection3.cc (1.4), intersection4.cc
+	  (1.4), intersection5.cc (1.4), intersection6.cc (1.4),
+	  limitedh79widening1.cc (1.4), limitedh79widening2.cc (1.4),
+	  limitedh79widening3.cc (1.2), polydifference1.cc (1.4),
+	  polydifference2.cc (1.6), polyhull1.cc (1.4), polyhull2.cc (1.4),
+	  polyhull3.cc (1.4), relations1.cc (1.6), relations2.cc (1.7),
+	  relations3.cc (1.7), relations4.cc (1.7), relations5.cc (1.7),
+	  relations6.cc (1.6), relations7.cc (1.6), relations8.cc (1.6),
+	  relations9.cc (1.7), removedim4.cc (1.9), removedim5.cc (1.7),
+	  removedim6.cc (1.9), removedim7.cc (1.4), timeelapse1.cc (1.5),
+	  timeelapse2.cc (1.5), timeelapse3.cc (1.5), timeelapse4.cc (1.5),
+	  timeelapse5.cc (1.5), universe1.cc (1.6), universe2.cc (1.7),
+	  universe3.cc (1.7), universe4.cc (1.7), universe5.cc (1.8),
+	  universe6.cc (1.5): Comments corrected.
+
+2002-08-18 Sunday 18:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (alt_nnc.14): Adjusted new constructors to
+	  produce the new epsilon representations.
+
+2002-08-18 Sunday 16:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.87), limitedh79widening3.cc (1.1): New
+	  test showing an incongruence in the behavior of the limited
+	  widening operations in C and NNC polyhedra, respectively.
+
+2002-08-17 Saturday 18:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Row.cc (1.41): Properly terminate messages.
+
+2002-08-17 Saturday 18:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: PowerSet.defs.hh (1.15), PowerSet.inlines.hh (1.18): Define
+	  `reverse_iterator' and `const_reverse_iterator'.  New methods
+	  rbegin() and rend().	New method definitely_contains(const CS&).
+	  First prototype of method limited_H79_widening_assign(const
+	  PowerSet&, ConSys&).
+
+2002-08-17 Saturday 18:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Determinate.defs.hh (1.13), Determinate.inlines.hh (1.15):
+	  New method is_definitely_equivalent_to(const Determinate&).
+
+2002-08-17 Saturday 17:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Determinate.inlines.hh (1.14), PowerSet.inlines.hh (1.17):
+	  PowerSet<CS>::omega_reduction() properly implemented.
+	  operator<<(std::ostream&, const Determinate<PH>&) implemented so
+	  as to obtain something readable.
+
+2002-08-17 Saturday 13:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS, config.h.in, configure.ac, Watchdog/Watchdog.defs.hh,
+	  Watchdog/Watchdog.inlines.hh, Watchdog/Watchdog.types.hh,
+	  Watchdog/pwl_header.top, interfaces/C/ppl_c.cc,
+	  interfaces/C/ppl_c.h, interfaces/Prolog/track_allocation.hh,
+	  src/AskTell.defs.hh, src/AskTell.inlines.hh,
+	  src/AskTell.types.hh, src/BoundingBox.defs.hh,
+	  src/BoundingBox.inlines.hh, src/BoundingBox.types.hh,
+	  src/C_Polyhedron.defs.hh, src/C_Polyhedron.inlines.hh,
+	  src/C_Polyhedron.types.hh, src/ConSys.defs.hh,
+	  src/ConSys.inlines.hh, src/ConSys.types.hh, src/Constraint.cc,
+	  src/Constraint.defs.hh, src/Constraint.inlines.hh,
+	  src/Constraint.types.hh, src/Determinate.defs.hh,
+	  src/Determinate.inlines.hh, src/Determinate.types.hh,
+	  src/GenSys.defs.hh, src/GenSys.inlines.hh, src/GenSys.types.hh,
+	  src/Generator.cc, src/Generator.defs.hh,
+	  src/Generator.inlines.hh, src/Generator.types.hh,
+	  src/Init.defs.hh, src/Init.inlines.hh, src/Init.types.hh,
+	  src/Integer.defs.hh, src/Integer.inlines.hh,
+	  src/Integer.types.hh, src/Interval.defs.hh,
+	  src/Interval.inlines.hh, src/Interval.types.hh,
+	  src/LCompare.defs.hh, src/LCompare.inlines.hh,
+	  src/LCompare.types.hh, src/LinExpression.defs.hh,
+	  src/LinExpression.inlines.hh, src/LinExpression.types.hh,
+	  src/Matrix.defs.hh, src/Matrix.inlines.hh, src/Matrix.types.hh,
+	  src/NNC_Polyhedron.defs.hh, src/NNC_Polyhedron.inlines.hh,
+	  src/NNC_Polyhedron.types.hh, src/Poly_Con_Relation.defs.hh,
+	  src/Poly_Con_Relation.inlines.hh, src/Poly_Con_Relation.types.hh,
+	  src/Poly_Gen_Relation.defs.hh, src/Poly_Gen_Relation.inlines.hh,
+	  src/Poly_Gen_Relation.types.hh, src/Polyhedron.cc,
+	  src/Polyhedron.defs.hh, src/Polyhedron.inlines.hh,
+	  src/Polyhedron.types.hh, src/PowerSet.defs.hh,
+	  src/PowerSet.inlines.hh, src/PowerSet.types.hh, src/Row.defs.hh,
+	  src/Row.inlines.hh, src/Row.types.hh, src/SatMatrix.defs.hh,
+	  src/SatMatrix.inlines.hh, src/SatMatrix.types.hh,
+	  src/SatRow.defs.hh, src/SatRow.inlines.hh, src/SatRow.types.hh,
+	  src/Status.defs.hh, src/Status.inlines.hh, src/Status.types.hh,
+	  src/Topology.hh, src/Variable.defs.hh, src/Variable.inlines.hh,
+	  src/Variable.types.hh, src/globals.hh, src/initializer.hh,
+	  src/ppl_header.top, tests/ehandlers.hh, tests/mc91.cc,
+	  tests/print.hh, tests/timings.hh
+	  (alt_nnc.[2,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,3,2,1,3,3,2,1,3,3,1,3,1,1,4,4,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,13,4,4,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1]):
+	  Merge changes from the trunk between tags `merge_to_alt_nnc' and
+	  `second_merge_to_alt_nnc'.
+
+2002-08-17 Saturday 13:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PowerSet.inlines.hh (1.16):
+	  PowerSet<CS>::concatenate_assign() fixed.
+
+2002-08-17 Saturday 11:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (alt_nnc.12): In method
+	  add_dimensions_and_project(), now adding the minus_epsilon_ray
+	  instead of the zero_dim_closure_point.
+
+2002-08-17 Saturday 10:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh, Polyhedron.inlines.hh (alt_nnc.[3,3]):
+	  Method shuffle_dimensions(...) implemented in tha alt_nnc branch
+	  too.
+
+2002-08-16 Friday 22:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.31), interfaces/C/ppl_c.cc (1.43), interfaces/C/ppl_c.h
+	  (1.43): The functions taking non-const arguments named
+	  ppl_new_<T>_from_<S> have been renamed ppl_new_<T>_recycle_<S>,
+	  where <T> is either "C" or "NNC", and <S> is either "ConSys" or
+	  "GenSys".  The old names have been given to the new const
+	  functions.
+
+2002-08-16 Friday 22:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Determinate.defs.hh (1.12), src/Determinate.inlines.hh
+	  (1.13), src/PowerSet.defs.hh (1.14), src/PowerSet.inlines.hh
+	  (1.15), tests/mc91.cc (1.6): Another bit of Determinate and
+	  PowerSet implementation written.
+
+2002-08-16 Friday 22:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.30): Updated.
+
+2002-08-16 Friday 22:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Constraint.cc (1.30), Generator.cc (1.37): Exception
+	  messages improved.
+
+2002-08-16 Friday 22:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: C_Polyhedron.defs.hh (1.15), C_Polyhedron.inlines.hh
+	  (1.10), NNC_Polyhedron.defs.hh (1.18), NNC_Polyhedron.inlines.hh
+	  (1.12), Polyhedron.cc (1.204), Polyhedron.defs.hh (1.141): New
+	  constructors to build polyhedra from read-only constraint and
+	  generator systems: C_Polyhedron(const ConSys&),
+	  C_Polyhedron(const GenSys&), NNC_Polyhedron(const ConSys&), and
+	  NNC_Polyhedron(const GenSys&).  Some comments improved.  Poorly
+	  chosen variable name changed.  Exception messages improved.
+
+2002-08-16 Friday 16:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Determinate.defs.hh, Determinate.inlines.hh
+	  (alt_nnc.[2,2]): Chnages needed to let China compile (taken from
+	  the main trunk).
+
+2002-08-16 Friday 16:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (alt_nnc.11): Widening operators now should
+	  work with the NER.
+
+2002-08-16 Friday 10:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (alt_nnc.10): Corrected a comment.
+
+2002-08-16 Friday 10:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/GenSys.cc (alt_nnc.6): Corrected method
+	  adjust_topology_and_dimension(), which could have introduced an
+	  illegal (all zero's) ray when mapping a NNC to a C gensys.
+
+2002-08-16 Friday 10:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/C_Polyhedron.cc (alt_nnc.1): Constructor
+	  C_Polyhedron::C_Polyhedron(const NNC_Polyhedron& y) now is
+	  implemented using generators (using constraints is not safe wrt
+	  NER).
+
+2002-08-16 Friday 10:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.h.in (1.15), configure.ac (1.58),
+	  Watchdog/Watchdog.defs.hh (1.6), Watchdog/Watchdog.inlines.hh
+	  (1.5), Watchdog/Watchdog.types.hh (1.2), Watchdog/pwl_header.top
+	  (1.2), interfaces/C/ppl_c.h (1.42),
+	  interfaces/Prolog/track_allocation.hh (1.7), src/AskTell.defs.hh
+	  (1.7), src/AskTell.inlines.hh (1.8), src/AskTell.types.hh (1.3),
+	  src/BoundingBox.defs.hh (1.4), src/BoundingBox.inlines.hh (1.5),
+	  src/BoundingBox.types.hh (1.4), src/C_Polyhedron.defs.hh (1.14),
+	  src/C_Polyhedron.inlines.hh (1.9), src/C_Polyhedron.types.hh
+	  (1.5), src/ConSys.defs.hh (1.63), src/ConSys.inlines.hh (1.24),
+	  src/ConSys.types.hh (1.5), src/Constraint.defs.hh (1.68),
+	  src/Constraint.inlines.hh (1.40), src/Constraint.types.hh (1.5),
+	  src/Determinate.defs.hh (1.11), src/Determinate.inlines.hh
+	  (1.12), src/Determinate.types.hh (1.3), src/GenSys.defs.hh
+	  (1.77), src/GenSys.inlines.hh (1.26), src/GenSys.types.hh (1.5),
+	  src/Generator.defs.hh (1.73), src/Generator.inlines.hh (1.37),
+	  src/Generator.types.hh (1.5), src/Init.defs.hh (1.5),
+	  src/Init.inlines.hh (1.4), src/Init.types.hh (1.4),
+	  src/Integer.defs.hh (1.7), src/Integer.inlines.hh (1.6),
+	  src/Integer.types.hh (1.6), src/Interval.defs.hh (1.7),
+	  src/Interval.inlines.hh (1.5), src/Interval.types.hh (1.4),
+	  src/LCompare.defs.hh (1.3), src/LCompare.inlines.hh (1.3),
+	  src/LCompare.types.hh (1.3), src/LinExpression.defs.hh (1.50),
+	  src/LinExpression.inlines.hh (1.22), src/LinExpression.types.hh
+	  (1.5), src/Matrix.defs.hh (1.32), src/Matrix.inlines.hh (1.26),
+	  src/Matrix.types.hh (1.5), src/NNC_Polyhedron.defs.hh (1.17),
+	  src/NNC_Polyhedron.inlines.hh (1.11), src/NNC_Polyhedron.types.hh
+	  (1.5), src/Poly_Con_Relation.defs.hh (1.12),
+	  src/Poly_Con_Relation.inlines.hh (1.8),
+	  src/Poly_Con_Relation.types.hh (1.4),
+	  src/Poly_Gen_Relation.defs.hh (1.11),
+	  src/Poly_Gen_Relation.inlines.hh (1.8),
+	  src/Poly_Gen_Relation.types.hh (1.4), src/Polyhedron.defs.hh
+	  (1.140), src/Polyhedron.inlines.hh (1.44),
+	  src/Polyhedron.types.hh (1.6), src/PowerSet.defs.hh (1.13),
+	  src/PowerSet.inlines.hh (1.14), src/PowerSet.types.hh (1.3),
+	  src/Row.defs.hh (1.53), src/Row.inlines.hh (1.29),
+	  src/Row.types.hh (1.5), src/SatMatrix.defs.hh (1.22),
+	  src/SatMatrix.inlines.hh (1.15), src/SatMatrix.types.hh (1.5),
+	  src/SatRow.defs.hh (1.18), src/SatRow.inlines.hh (1.18),
+	  src/SatRow.types.hh (1.5), src/Status.defs.hh (1.20),
+	  src/Status.inlines.hh (1.10), src/Status.types.hh (1.5),
+	  src/Topology.hh (1.6), src/Variable.defs.hh (1.22),
+	  src/Variable.inlines.hh (1.11), src/Variable.types.hh (1.5),
+	  src/globals.hh (1.20), src/initializer.hh (1.3),
+	  src/ppl_header.top (1.4), tests/ehandlers.hh (1.5),
+	  tests/print.hh (1.11), tests/timings.hh (1.2): According to the
+	  C++ standard (Section 17.4), every name that starts with an
+	  underscore is reserved to the implementation.  All the multiple
+	  inclusion guards have been renamed (some missing ones have been
+	  added).
+
+2002-08-15 Thursday 11:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: GenSys.cc, GenSys.defs.hh, Generator.cc, Generator.defs.hh
+	  (alt_nnc.[5,2,3,3]): Removed useless methods
+	  Generator::is_matching_closure_point() and
+	  GenSys::add_corresponding_points().
+
+2002-08-15 Thursday 11:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (alt_nnc.9): Corrected trivial errors in
+	  is_topologically_closed() and topological_closure_assign().
+
+2002-08-15 Thursday 11:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Determinate.defs.hh (1.10), Determinate.inlines.hh (1.11):
+	  Implemented the functionality required for testing with China.
+
+2002-08-15 Thursday 11:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.203), Polyhedron.defs.hh (1.139),
+	  Polyhedron.inlines.hh (1.43): Added template <typename
+	  PartialFunction> void Polyhedron::shuffle_dimensions(const
+	  PartialFunction& pfunc).
+
+2002-08-14 Wednesday 18:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (alt_nnc.8): Comments of
+	  Polyhedron::concatenate_assign() improved.
+
+2002-08-14 Wednesday 18:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.202): Polyhedron::concatenate_assign()
+	  improved.
+
+2002-08-14 Wednesday 18:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (alt_nnc.7): Rewritten methods
+	  is_topologically_closed() and topological_closure_assign().
+
+2002-08-14 Wednesday 16:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (alt_nnc.6): Some improvements to
+	  concatenate_assign().
+
+2002-08-14 Wednesday 16:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/GenSys.cc (alt_nnc.4): Corrected method has_points(), which
+	  was returning true even when finding the minus_epsilon ray.
+
+2002-08-14 Wednesday 15:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h (1.41): Documentation of
+	  ppl_Polyhedron_concatenate_assign() corrected.
+
+2002-08-14 Wednesday 14:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/hypercubes.cc (alt_nnc.1): Put under CVS control. It is not
+	  (yet) built and executed by `make check', because we should find
+	  the right performance tradeoff.
+
+2002-08-14 Wednesday 14:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS, interfaces/C/ppl_c.cc, interfaces/C/ppl_c.h,
+	  interfaces/Prolog/ppl_prolog.icc,
+	  interfaces/Prolog/Ciao/ppl_ciao.pl,
+	  interfaces/Prolog/GNU/ppl_gprolog.pl,
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
+	  interfaces/Prolog/XSB/ppl_xsb.H,
+	  interfaces/Prolog/XSB/ppl_xsb.cc,
+	  interfaces/Prolog/XSB/xsb_clpq.P,
+	  interfaces/Prolog/XSB/xsb_clpq2.P,
+	  interfaces/Prolog/YAP/ppl_yap.cc, src/ConSys.cc,
+	  src/Determinate.defs.hh, src/Determinate.inlines.hh,
+	  src/GenSys.cc, src/Polyhedron.cc, src/Polyhedron.defs.hh,
+	  src/PowerSet.defs.hh, src/PowerSet.inlines.hh, tests/Makefile.am,
+	  tests/NNCinclusion1.cc, tests/NNCminimize1.cc,
+	  tests/NNCminimize2.cc, tests/NNCminimize3.cc,
+	  tests/NNCminimize4.cc, tests/NNCminimize5.cc,
+	  tests/NNCminimize6.cc, tests/addconstraints1.cc,
+	  tests/addconstraints10.cc, tests/addconstraints11.cc,
+	  tests/addconstraints2.cc, tests/addconstraints3.cc,
+	  tests/addconstraints4.cc, tests/addconstraints5.cc,
+	  tests/addconstraints6.cc, tests/addconstraints7.cc,
+	  tests/addconstraints8.cc, tests/addconstraints9.cc,
+	  tests/adddimensions1.cc, tests/adddimensions2.cc,
+	  tests/adddimensions3.cc, tests/adddimensions4.cc,
+	  tests/adddimensions5.cc, tests/adddimensions6.cc,
+	  tests/adddimensions7.cc, tests/addgenerators1.cc,
+	  tests/addgenerators2.cc, tests/addgenerators3.cc,
+	  tests/addgenerators4.cc, tests/addgenerators5.cc,
+	  tests/addgenerators6.cc, tests/addgenerators7.cc,
+	  tests/addgenerators8.cc, tests/affineimage1.cc,
+	  tests/affineimage2.cc, tests/affinepreimage1.cc,
+	  tests/affinepreimage2.cc, tests/affinepreimage3.cc,
+	  tests/affinepreimage4.cc, tests/affinetrans.cc, tests/append1.cc,
+	  tests/append2.cc, tests/bounded1.cc, tests/boundingbox1.cc,
+	  tests/boundingbox2.cc, tests/concatenate1.cc,
+	  tests/concatenate2.cc, tests/concatenate3.cc, tests/empty1.cc,
+	  tests/exceptions1.cc, tests/exceptions2.cc, tests/generators1.cc,
+	  tests/generators2.cc, tests/h79widening1.cc,
+	  tests/h79widening2.cc, tests/h79widening3.cc,
+	  tests/inclusion1.cc, tests/inters1.cc, tests/inters2.cc,
+	  tests/inters3.cc, tests/inters4.cc, tests/inters5.cc,
+	  tests/inters6.cc, tests/inters7.cc, tests/intersection1.cc,
+	  tests/intersection2.cc, tests/intersection3.cc,
+	  tests/intersection4.cc, tests/intersection5.cc,
+	  tests/intersection6.cc, tests/intersection7.cc,
+	  tests/limitedh79widening1.cc, tests/limitedh79widening2.cc,
+	  tests/mc91.cc, tests/memory1.cc, tests/onepoint.cc,
+	  tests/permute.cc, tests/polydifference1.cc,
+	  tests/polydifference2.cc, tests/polyhull1.cc, tests/polyhull2.cc,
+	  tests/polyhull3.cc, tests/polyhull4.cc, tests/ppl_test.hh,
+	  tests/randphull1.cc, tests/relations1.cc, tests/relations2.cc,
+	  tests/relations3.cc, tests/relations4.cc, tests/relations5.cc,
+	  tests/relations6.cc, tests/relations7.cc, tests/relations8.cc,
+	  tests/relations9.cc, tests/removedim1.cc, tests/removedim2.cc,
+	  tests/removedim3.cc, tests/removedim4.cc, tests/removedim5.cc,
+	  tests/removedim6.cc, tests/removedim7.cc, tests/smm1.cc,
+	  tests/timeelapse1.cc, tests/timeelapse2.cc, tests/timeelapse3.cc,
+	  tests/timeelapse4.cc, tests/timeelapse5.cc, tests/universe1.cc,
+	  tests/universe2.cc, tests/universe3.cc, tests/universe4.cc,
+	  tests/universe5.cc, tests/universe6.cc, tests/watchdog1.cc
+	  (alt_nnc.[1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,3,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]):
+	  Merge changes from the trunk between tags `alt_nnc_root' and
+	  `merge_to_alt_nnc'.
+
+2002-08-14 Wednesday 14:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: NNCinclusion1.cc (1.4), NNCminimize1.cc (1.6),
+	  NNCminimize2.cc (1.6), NNCminimize3.cc (1.6), NNCminimize4.cc
+	  (1.8), NNCminimize5.cc (1.4), NNCminimize6.cc (1.6),
+	  addconstraints1.cc (1.8), addconstraints3.cc (1.5),
+	  addconstraints4.cc (1.7), addconstraints5.cc (1.8),
+	  addconstraints6.cc (1.9), addconstraints7.cc (1.8),
+	  addconstraints8.cc (1.8), addconstraints9.cc (1.9),
+	  adddimensions1.cc (1.10), adddimensions2.cc (1.6),
+	  adddimensions3.cc (1.8), adddimensions4.cc (1.6),
+	  adddimensions5.cc (1.3), adddimensions6.cc (1.3),
+	  adddimensions7.cc (1.3), addgenerators1.cc (1.9),
+	  addgenerators2.cc (1.9), addgenerators3.cc (1.8),
+	  addgenerators4.cc (1.8), addgenerators5.cc (1.8),
+	  addgenerators6.cc (1.8), addgenerators7.cc (1.4),
+	  addgenerators8.cc (1.4), affineimage1.cc (1.8), affineimage2.cc
+	  (1.7), affinepreimage1.cc (1.7), affinepreimage2.cc (1.7),
+	  affinepreimage3.cc (1.7), affinepreimage4.cc (1.8),
+	  affinetrans.cc (1.11), append1.cc (1.13), append2.cc (1.14),
+	  bounded1.cc (1.5), boundingbox1.cc (1.18), boundingbox2.cc (1.9),
+	  concatenate1.cc (1.3), concatenate2.cc (1.3), concatenate3.cc
+	  (1.3), empty1.cc (1.9), exceptions1.cc (1.13), exceptions2.cc
+	  (1.10), generators1.cc (1.8), generators2.cc (1.5),
+	  h79widening1.cc (1.3), h79widening2.cc (1.3), h79widening3.cc
+	  (1.3), inclusion1.cc (1.4), intersection1.cc (1.3),
+	  intersection2.cc (1.3), intersection3.cc (1.3), intersection4.cc
+	  (1.3), intersection5.cc (1.3), intersection6.cc (1.3),
+	  intersection7.cc (1.3), limitedh79widening1.cc (1.3),
+	  limitedh79widening2.cc (1.3), mc91.cc (1.5), memory1.cc (1.7),
+	  onepoint.cc (1.7), permute.cc (1.20), polydifference1.cc (1.3),
+	  polydifference2.cc (1.5), polyhull1.cc (1.3), polyhull2.cc (1.3),
+	  polyhull3.cc (1.3), polyhull4.cc (1.3), randphull1.cc (1.4),
+	  relations1.cc (1.5), relations2.cc (1.6), relations3.cc (1.6),
+	  relations4.cc (1.6), relations5.cc (1.6), relations6.cc (1.5),
+	  relations7.cc (1.5), relations8.cc (1.5), relations9.cc (1.6),
+	  removedim1.cc (1.7), removedim2.cc (1.11), removedim3.cc (1.7),
+	  removedim4.cc (1.8), removedim5.cc (1.6), removedim6.cc (1.8),
+	  removedim7.cc (1.3), smm1.cc (1.7), timeelapse1.cc (1.4),
+	  timeelapse2.cc (1.4), timeelapse3.cc (1.4), timeelapse4.cc (1.4),
+	  timeelapse5.cc (1.4), universe1.cc (1.5), universe2.cc (1.6),
+	  universe3.cc (1.6), universe4.cc (1.6), universe5.cc (1.7),
+	  universe6.cc (1.4), watchdog1.cc (1.10): Minor improvements.
+
+2002-08-14 Wednesday 12:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Makefile.am (1.86): The test nnc_polydifference1 must fail.
+
+2002-08-14 Wednesday 12:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: GenSys.cc, Generator.cc, Generator.defs.hh
+	  (alt_nnc.[2,2,2]): The skip_forward() method now only skips the
+	  minus_epsilon_ray.
+
+2002-08-14 Wednesday 12:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/ConSys.cc (alt_nnc.3): In the skip_forward() method, avoid
+	  useless computations for necessarily closed constraint systems.
+
+2002-08-14 Wednesday 12:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.85), NNCinclusion1.cc (1.3),
+	  NNCminimize1.cc (1.5), NNCminimize2.cc (1.5), NNCminimize3.cc
+	  (1.5), NNCminimize4.cc (1.7), NNCminimize5.cc (1.3),
+	  NNCminimize6.cc (1.5), addconstraints1.cc (1.7),
+	  addconstraints3.cc (1.4), addconstraints4.cc (1.6),
+	  addconstraints5.cc (1.7), addconstraints6.cc (1.8),
+	  addconstraints7.cc (1.7), addconstraints8.cc (1.7),
+	  addconstraints9.cc (1.8), adddimensions1.cc (1.9),
+	  adddimensions2.cc (1.5), adddimensions3.cc (1.7),
+	  adddimensions4.cc (1.5), adddimensions5.cc (1.2),
+	  adddimensions6.cc (1.2), adddimensions7.cc (1.2),
+	  addgenerators1.cc (1.8), addgenerators2.cc (1.8),
+	  addgenerators3.cc (1.7), addgenerators4.cc (1.7),
+	  addgenerators5.cc (1.7), addgenerators6.cc (1.7),
+	  addgenerators7.cc (1.3), addgenerators8.cc (1.3), affineimage1.cc
+	  (1.7), affineimage2.cc (1.6), affinepreimage1.cc (1.6),
+	  affinepreimage2.cc (1.6), affinepreimage3.cc (1.6),
+	  affinepreimage4.cc (1.7), affinetrans.cc (1.10), append1.cc
+	  (1.12), append2.cc (1.13), bounded1.cc (1.4), boundingbox1.cc
+	  (1.17), boundingbox2.cc (1.8), concatenate1.cc (1.2),
+	  concatenate2.cc (1.2), concatenate3.cc (1.2), empty1.cc (1.8),
+	  exceptions1.cc (1.12), exceptions2.cc (1.9), generators1.cc
+	  (1.7), generators2.cc (1.4), h79widening1.cc (1.2),
+	  h79widening2.cc (1.2), h79widening3.cc (1.2), inclusion1.cc
+	  (1.3), intersection1.cc (1.2), intersection2.cc (1.2),
+	  intersection3.cc (1.2), intersection4.cc (1.2), intersection5.cc
+	  (1.2), intersection6.cc (1.2), intersection7.cc (1.2),
+	  limitedh79widening1.cc (1.2), limitedh79widening2.cc (1.2),
+	  mc91.cc (1.4), memory1.cc (1.6), onepoint.cc (1.6), permute.cc
+	  (1.19), polydifference1.cc (1.2), polydifference2.cc (1.4),
+	  polyhull1.cc (1.2), polyhull2.cc (1.2), polyhull3.cc (1.2),
+	  polyhull4.cc (1.2), ppl_test.hh (1.1), randphull1.cc (1.3),
+	  relations1.cc (1.4), relations2.cc (1.5), relations3.cc (1.5),
+	  relations4.cc (1.5), relations5.cc (1.5), relations6.cc (1.4),
+	  relations7.cc (1.4), relations8.cc (1.4), relations9.cc (1.5),
+	  removedim1.cc (1.6), removedim2.cc (1.10), removedim3.cc (1.6),
+	  removedim4.cc (1.7), removedim5.cc (1.5), removedim6.cc (1.7),
+	  removedim7.cc (1.2), smm1.cc (1.6), timeelapse1.cc (1.3),
+	  timeelapse2.cc (1.3), timeelapse3.cc (1.3), timeelapse4.cc (1.3),
+	  timeelapse5.cc (1.3), universe1.cc (1.4), universe2.cc (1.5),
+	  universe3.cc (1.5), universe4.cc (1.5), universe5.cc (1.6),
+	  universe6.cc (1.3), watchdog1.cc (1.9): Most of the test programs
+	  are now used to test both closed and not necessarily closed
+	  polyhedra.
+
+2002-08-14 Wednesday 11:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.cc, ConSys.defs.hh, ConSys.inlines.hh,
+	  Constraint.cc, Constraint.defs.hh (alt_nnc.[2,2,1,2,2]): Now the
+	  iterators on constraint systems do skip the next constraint when
+	  the current one is a strict inequality and the next one is a
+	  non-strict inequality matching the current one (we still skip
+	  trivial-true constraints).
+
+2002-08-14 Wednesday 08:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.29): Updated.
+
+2002-08-14 Wednesday 08:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.201): Polyhedron::concatenate_assign()
+	  improved.
+
+2002-08-13 Tuesday 22:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.84), inters1.cc (1.11), inters2.cc (1.14),
+	  inters3.cc (1.7), inters4.cc (1.6), inters5.cc (1.8), inters6.cc
+	  (1.7), inters7.cc (1.4), intersection1.cc (1.1), intersection2.cc
+	  (1.1), intersection3.cc (1.1), intersection4.cc (1.1),
+	  intersection5.cc (1.1), intersection6.cc (1.1), intersection7.cc
+	  (1.1): Renamed intersN.cc to intersectionN.cc, for N = 1, ..., 7.
+
+2002-08-13 Tuesday 21:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/: xsb_clpq.P (1.5), xsb_clpq2.P (1.3):
+	  Import as little as possible.
+
+2002-08-13 Tuesday 21:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (alt_nnc.4): add_constraints_and_minimize()
+	  should now be ok for the new NNC repr.  Added a couple of FIXME's
+	  to mark methods that still need to be adjusted.
+
+2002-08-13 Tuesday 21:03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: GenSys.cc, GenSys.defs.hh (alt_nnc.[1,1]): Removed method
+	  add_corresponding_closure_points().
+
+2002-08-13 Tuesday 18:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.42), interfaces/C/ppl_c.h (1.40),
+	  interfaces/Prolog/ppl_prolog.icc (1.62),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.21),
+	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.17),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.25),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.49),
+	  interfaces/Prolog/XSB/ppl_xsb.H (1.2),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.7),
+	  interfaces/Prolog/XSB/xsb_clpq.P (1.4),
+	  interfaces/Prolog/XSB/xsb_clpq2.P (1.2),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.42), src/Determinate.defs.hh
+	  (1.9), src/Determinate.inlines.hh (1.10), src/Polyhedron.cc
+	  (1.200), src/Polyhedron.defs.hh (1.138), src/PowerSet.defs.hh
+	  (1.12), src/PowerSet.inlines.hh (1.13), tests/Makefile.am (1.83),
+	  tests/addconstraints10.cc (1.6), tests/addconstraints11.cc (1.7),
+	  tests/addconstraints2.cc (1.13), tests/concatenate1.cc (1.1),
+	  tests/concatenate2.cc (1.1), tests/concatenate3.cc (1.1),
+	  tests/exceptions2.cc (1.8): The method
+	  Polyhedron::add_dimensions_and_constraints(ConSys&) has gone.  A
+	  similar functionality is provided by the new method
+	  Polyhedron::concatenate_assign(const Polyhedron&).
+
+2002-08-13 Tuesday 18:04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (alt_nnc.2): Fixed method	template
+	  <typename Box>   Polyhedron::Polyhedron(Topology topol, const
+	  Box& box) to work correctly with the new NNC representation.
+
+2002-08-13 Tuesday 18:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/boundingbox2.cc (alt_nnc.1): Some strange formatting fixed.
+
+2002-08-13 Tuesday 16:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Determinate.defs.hh (1.8), Determinate.inlines.hh (1.9):
+	  Default constructor replaced with a generalized constructor.	New
+	  method Determinate::concatenate_assign(const Determinate& y).
+
+2002-08-13 Tuesday 16:44  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (alt_nnc.3): Most methods now correctly use the
+	  new NNC representation (notable exceptions: the wideinings and
+	  the boundingbox operators).
+
+2002-08-13 Tuesday 16:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/minimize.cc (alt_nnc.1): When con_to_gen is false, no longer
+	  checking for the presence of the positivity constraint (C) or the
+	  presence of eps_geq_zero (NNC).
+
+2002-08-13 Tuesday 16:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Generator.cc, Generator.defs.hh, Generator.inlines.hh
+	  (alt_nnc.[1,1,1]): Added method for getting the
+	  minus_epsilon_ray, needed for the new NNC representation;
+	  adjusted the OK() method so that it will no longer complain when
+	  finding a ray with a non-zero epsilon coefficient.
+
+2002-08-13 Tuesday 16:37  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.cc, ConSys.defs.hh (alt_nnc.[1,1]): Added method
+	  add_corresponding_nonstrict_inequalities().
+
+2002-08-13 Tuesday 14:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: PowerSet.defs.hh (1.11), PowerSet.inlines.hh (1.12): Added
+	  a `space_dim' private member and its usual public accessor:
+	  space_dimension().
+
+2002-08-13 Tuesday 14:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Determinate.defs.hh (1.7), Determinate.inlines.hh (1.8):
+	  Method space_dimension() added.  Added template <typename PH>
+	  bool operator==(const Determinate<PH>& x, const Determinate<PH>&
+	  y) and template <typename PH> bool operator!=(const
+	  Determinate<PH>& x, const Determinate<PH>& y).  Added several
+	  assertions.  Default constructor made public (it was left private
+	  by mistake).	Prepare for some cleanup.
+
+2002-08-13 Tuesday 11:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (alt_nnc.2): Started converting
+	  H-representations into P-representations.  The build is
+	  (obviously) broken.
+
+2002-08-13 Tuesday 10:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.cc, Constraint.defs.hh, Constraint.inlines.hh,
+	  Polyhedron.cc, Polyhedron.defs.hh, Polyhedron.inlines.hh
+	  (alt_nnc.[1,1,1,1,1,1]): Getting rid of the epsilon_geq_zero()
+	  constraint.  Added the static function
+	  Polyhedron::add_low_level_constraints(ConSys&) to centralize the
+	  issues related to the positivity and the epsilon_leq_one()
+	  low-level constraints.
+
+2002-08-13 Tuesday 10:04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.cc (1.41), GenSys.cc (1.61): In methods
+	  ConSys::insert() and GenSys::insert(), when the systems are empty
+	  and NNC, computing the new size of the constraint/generators in a
+	  cleaner way.
+
+2002-08-12 Monday 20:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/GenSys.cc (1.60): Patched the method insert(const
+	  Generator&), which was doing nasty things when trying to insert a
+	  generator into an empty generator system that was declared to be
+	  NNC.
+
+2002-08-12 Monday 20:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/addgenerators8.cc (1.2): No longer NOISY.
+
+2002-08-12 Monday 20:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.199): Corrected a bug in add_generator(const
+	  Generator&) whereby we were not adding the corresponding closure
+	  point when adding a point to an empty NNC polyhedron.
+
+2002-08-12 Monday 20:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.137): Removed a /*! that was inside the
+	  scope of another /*!.
+
+2002-08-12 Monday 20:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am (1.82), addgenerators8.cc (1.1): The new test
+	  addgenerators8 shows a bug when trying to insert a point into an
+	  empty NNC polyhedron using add_generator(const Generator&).
+
+2002-08-12 Monday 15:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Determinate.defs.hh (1.6), Determinate.inlines.hh (1.7),
+	  PowerSet.defs.hh (1.10), PowerSet.inlines.hh (1.11): Classes
+	  Determinate and PowerSet equipped with initial implementations of
+	  methods add_constraint(), add_constraints(), and
+	  add_dimensions_and_constraints().
+
+2002-08-12 Monday 09:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.136): The documentation of
+	  Polyhedron::add_dimensions_and_constraints() has been made
+	  consistent with that of the other methods.
+
+2002-08-12 Monday 08:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/clpq2.pl (1.22), interfaces/Prolog/expected2
+	  (1.6), interfaces/Prolog/XSB/expected2 (1.2), src/ConSys.cc
+	  (1.40), src/Constraint.cc (1.29), src/Constraint.inlines.hh
+	  (1.39), src/GenSys.cc (1.59), src/Generator.cc (1.36),
+	  src/Generator.inlines.hh (1.36), src/Matrix.cc (1.40),
+	  src/Matrix.defs.hh (1.31), src/Polyhedron.cc (1.198),
+	  src/Polyhedron.inlines.hh (1.42), src/minimize.cc (1.22): Avoid
+	  using LaTeX commands in ordinary C++ comments.
+
+2002-08-12 Monday 08:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.197): Properly comment a couple of
+	  preprocessor directives.
+
+2002-08-11 Sunday 17:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.61), src/C_Polyhedron.defs.hh
+	  (1.13), src/C_Polyhedron.inlines.hh (1.8),
+	  src/NNC_Polyhedron.defs.hh (1.16), src/NNC_Polyhedron.inlines.hh
+	  (1.10), src/Polyhedron.defs.hh (1.135), src/Polyhedron.inlines.hh
+	  (1.41), src/PowerSet.defs.hh (1.9), src/PowerSet.inlines.hh
+	  (1.10): The syntax `template <class T>' is an anachronism: use
+	  `template <typename T>' instead.
+
+2002-08-11 Sunday 16:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BoundingBox.types.hh (1.3), C_Polyhedron.types.hh (1.4),
+	  ConSys.types.hh (1.4), Constraint.types.hh (1.4), GenSys.types.hh
+	  (1.4), Generator.types.hh (1.4), Init.types.hh (1.3),
+	  Integer.types.hh (1.5), Interval.types.hh (1.3),
+	  LinExpression.types.hh (1.4), Matrix.types.hh (1.4),
+	  NNC_Polyhedron.types.hh (1.4), Poly_Con_Relation.types.hh (1.3),
+	  Poly_Gen_Relation.types.hh (1.3), Polyhedron.types.hh (1.5),
+	  Row.types.hh (1.4), SatMatrix.types.hh (1.4), SatRow.types.hh
+	  (1.4), Status.types.hh (1.4), Variable.types.hh (1.4): Obey our
+	  standard about namespace-level indentation.
+
+2002-08-11 Sunday 16:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: AskTell.defs.hh (1.6), AskTell.inlines.hh (1.7),
+	  AskTell.types.hh (1.2), BoundingBox.defs.hh (1.3),
+	  BoundingBox.inlines.hh (1.4), BoundingBox.types.hh (1.2),
+	  C_Polyhedron.defs.hh (1.12), C_Polyhedron.inlines.hh (1.7),
+	  C_Polyhedron.types.hh (1.3), ConSys.defs.hh (1.62),
+	  ConSys.inlines.hh (1.23), ConSys.types.hh (1.3),
+	  Constraint.defs.hh (1.67), Constraint.inlines.hh (1.38),
+	  Constraint.types.hh (1.3), Determinate.defs.hh (1.5),
+	  Determinate.inlines.hh (1.6), Determinate.types.hh (1.2),
+	  GenSys.defs.hh (1.76), GenSys.inlines.hh (1.25), GenSys.types.hh
+	  (1.3), Generator.defs.hh (1.72), Generator.inlines.hh (1.35),
+	  Generator.types.hh (1.3), Init.defs.hh (1.4), Init.inlines.hh
+	  (1.3), Init.types.hh (1.2), Integer.defs.hh (1.6),
+	  Integer.inlines.hh (1.5), Integer.types.hh (1.4),
+	  Interval.defs.hh (1.6), Interval.types.hh (1.2), LCompare.defs.hh
+	  (1.2), LCompare.inlines.hh (1.2), LCompare.types.hh (1.2),
+	  LinExpression.defs.hh (1.49), LinExpression.inlines.hh (1.21),
+	  LinExpression.types.hh (1.3), Matrix.defs.hh (1.30),
+	  Matrix.inlines.hh (1.25), Matrix.types.hh (1.3),
+	  NNC_Polyhedron.defs.hh (1.15), NNC_Polyhedron.inlines.hh (1.9),
+	  NNC_Polyhedron.types.hh (1.3), Poly_Con_Relation.defs.hh (1.11),
+	  Poly_Con_Relation.inlines.hh (1.7), Poly_Con_Relation.types.hh
+	  (1.2), Poly_Gen_Relation.defs.hh (1.10),
+	  Poly_Gen_Relation.inlines.hh (1.7), Poly_Gen_Relation.types.hh
+	  (1.2), Polyhedron.defs.hh (1.134), Polyhedron.inlines.hh (1.40),
+	  Polyhedron.types.hh (1.4), PowerSet.defs.hh (1.8),
+	  PowerSet.inlines.hh (1.9), PowerSet.types.hh (1.2), Row.defs.hh
+	  (1.52), Row.inlines.hh (1.28), Row.types.hh (1.3),
+	  SatMatrix.defs.hh (1.21), SatMatrix.inlines.hh (1.14),
+	  SatMatrix.types.hh (1.3), SatRow.defs.hh (1.17),
+	  SatRow.inlines.hh (1.17), SatRow.types.hh (1.3), Status.defs.hh
+	  (1.19), Status.inlines.hh (1.9), Status.types.hh (1.3),
+	  Variable.defs.hh (1.21), Variable.inlines.hh (1.10),
+	  Variable.types.hh (1.3): Multiple inclusion guards properly
+	  commented.
+
+2002-08-11 Sunday 15:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/: C/ppl_c.h (1.39), Prolog/XSB/ppl_xsb.cc (1.6),
+	  Prolog/YAP/ppl_yap.cc (1.41): Comment the closing brace of
+	  `extern "C"' blocks.
+
+2002-08-11 Sunday 15:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: ConSys.defs.hh (1.61), Constraint.defs.hh (1.66),
+	  GenSys.defs.hh (1.75), Generator.defs.hh (1.71), Integer.defs.hh
+	  (1.5), Interval.defs.hh (1.5), LinExpression.defs.hh (1.48),
+	  Matrix.defs.hh (1.29), Poly_Con_Relation.defs.hh (1.10),
+	  Poly_Gen_Relation.defs.hh (1.9), Polyhedron.defs.hh (1.133),
+	  Row.defs.hh (1.51), SatMatrix.defs.hh (1.20), SatRow.defs.hh
+	  (1.16), Status.defs.hh (1.18), Variable.defs.hh (1.20):
+	  Namespace-level indentation fixed.
+
+2002-08-11 Sunday 15:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* STANDARDS (1.5): Add rules concerning block closures and
+	  namespace indentation.
+
+2002-08-11 Sunday 11:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Determinate.defs.hh (1.4), Determinate.inlines.hh (1.5),
+	  PowerSet.defs.hh (1.7), PowerSet.inlines.hh (1.8): Added methods
+	  add_dimensions_and_project(), add_dimensions_and_embed(),
+	  remove_dimensions(), and remove_higher_dimensions().
+
+2002-08-10 Saturday 19:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.57), interfaces/C/Makefile.am (1.11),
+	  src/Makefile.am (1.48): Bump version numbers.
+
+2002-08-10 Saturday 19:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/.cvsignore (1.2): For those building in the sources
+	  directory.
+
+2002-08-10 Saturday 14:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/Makefile.am (1.9): Allow building in any
+	  directory (included the one containing the sources).
+
+2002-08-09 Friday 21:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/Makefile.am (1.8): Distribute also expected
+	  and expected2.
+
+2002-08-09 Friday 21:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: Makefile.am (1.19), devref-browse.doxyconf-latex.in (1.21),
+	  devref-print.doxyconf-latex.in (1.21), devref.doxyconf-html.in
+	  (1.22), user-browse.doxyconf-latex.in (1.13),
+	  user-print.doxyconf-latex.in (1.13), user.doxyconf-html.in
+	  (1.15): Transition to Doxygen 1.2.17 completed.
+
+2002-08-08 Thursday 08:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/.cvsignore (1.6): Ignore also the newly added tests.
+
+2002-08-07 Wednesday 23:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/: .cvsignore (1.2), Makefile.am (1.7):
+	  Support building in the sources' directory.
+
+2002-08-07 Wednesday 22:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/: Makefile.am (1.6), expected2 (1.1): XSB
+	  interface now fully operational.
+
+2002-08-07 Wednesday 19:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/: Makefile.am (1.5), expected (1.1),
+	  ppl_xsb.cc (1.5), xsb_clpq.P (1.3), xsb_clpq2.P (1.1): Bug fixed.
+	  Tests with clpq.pl now working.
+
+2002-08-07 Wednesday 18:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/Makefile.am (1.4): Improve the `make check'
+	  mechanism.
+
+2002-08-07 Wednesday 17:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/Makefile.am (1.3): MOSTLYCLEANFILES
+	  integrated.
+
+2002-08-07 Wednesday 11:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/xsb_clpq.P (1.2): Unneeded parentheses
+	  removed.
+
+2002-08-07 Wednesday 11:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/: Makefile.am (1.2), xsb_clpq.P (1.1):
+	  Towards a working XSB interface.
+
+2002-08-06 Tuesday 19:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h (1.38): Better comment for the closing
+	  #endif of the multiple inclusion guard.
+
+2002-08-06 Tuesday 19:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/ppl_xsb.cc (1.4): Wrong initializations
+	  fixed.
+
+2002-08-06 Tuesday 18:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/ppl_xsb.cc (1.3): Try to get around bugs in
+	  XSB 2.5 foreign language interface (several foreign language
+	  interface functions do not properly dereference their arguments).
+
+2002-08-05 Monday 17:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: AskTell.defs.hh (1.5), AskTell.inlines.hh (1.6),
+	  PowerSet.inlines.hh (1.7): Some cleaning.
+
+2002-08-04 Sunday 18:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: AskTell.defs.hh (1.4), AskTell.inlines.hh (1.5),
+	  Determinate.defs.hh (1.3), Determinate.inlines.hh (1.4),
+	  PowerSet.defs.hh (1.6), PowerSet.inlines.hh (1.6): All the
+	  entails() functions became definitely_entails() methods.  More
+	  cleaning.
+
+2002-08-04 Sunday 14:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: AskTell.defs.hh (1.3), AskTell.inlines.hh (1.4),
+	  PowerSet.defs.hh (1.5), PowerSet.inlines.hh (1.5): More cleaning.
+
+2002-08-04 Sunday 13:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/AskTell.inlines.hh (1.3), src/Determinate.defs.hh (1.2),
+	  src/Determinate.inlines.hh (1.3), src/PowerSet.defs.hh (1.4),
+	  src/PowerSet.inlines.hh (1.4), tests/mc91.cc (1.3):
+	  CS::operator*=() renamed CS::meet_assign().  CS::operator+=()
+	  renamed CS::upper_bound_assign().
+
+2002-08-04 Sunday 13:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Makefile.am (1.47), PowerSet.defs.hh (1.3),
+	  PowerSet.inlines.hh (1.3): Use the new classes also for the
+	  documentation.  The PowerSet construction is now implemented
+	  using a sequence.  PowerSet::omega_reduction() reimplemented.
+
+2002-08-03 Saturday 21:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: PowerSet.defs.hh (1.2), PowerSet.inlines.hh (1.2): Complete
+	  redesign started.
+
+2002-08-02 Friday 11:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/AskTell.defs.hh (1.2), src/AskTell.inlines.hh (1.2),
+	  tests/mc91.cc (1.2): Move all code to AskTell.inlines.hh.  Minor
+	  improvements.
+
+2002-08-02 Friday 10:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: exceptions1.cc (1.11), exceptions2.cc (1.7), print.hh
+	  (1.10), randphull1.cc (1.2): Include <iostream>.
+
+2002-08-02 Friday 09:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.56): Check whether the Mercury compiler is
+	  installed.
+
+2002-08-01 Thursday 18:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.81), mc91.cc (1.1): Test the constraint
+	  systems' constructions with McCarthy's 91 function.
+
+2002-08-01 Thursday 17:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.46): Activate the new constraint systems'
+	  files.
+
+2002-08-01 Thursday 17:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Determinate.inlines.hh (1.2): Inclusion guard comment fixed.
+
+2002-08-01 Thursday 17:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: PowerSet.defs.hh (1.1), PowerSet.inlines.hh (1.1),
+	  PowerSet.types.hh (1.1): Initial implementation for the class
+	  `PowerSet': the powerset construction on constraint systems.
+
+2002-08-01 Thursday 17:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: AskTell.defs.hh (1.1), AskTell.inlines.hh (1.1),
+	  AskTell.types.hh (1.1): Initial implementation for the class
+	  `AskTell': the ask and tell construction on constraint systems.
+
+2002-08-01 Thursday 16:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: LCompare.defs.hh (1.1), LCompare.inlines.hh (1.1),
+	  LCompare.types.hh (1.1): Initial implementation for the class
+	  `LCompare': a function object for lexical comparison.
+
+2002-08-01 Thursday 16:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Determinate.defs.hh (1.1), Determinate.inlines.hh (1.1),
+	  Determinate.types.hh (1.1): Initial implementation for the class
+	  `Determinate': it wraps a polyhedron class into a determinate
+	  constraint system interface.
+
+2002-07-30 Tuesday 11:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (ppl-0_4-branch.3): Update version.
+
+2002-07-30 Tuesday 11:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/ChangeLog, ChangeLog (ppl-0_4-branch.[2,4]): Mark
+	  ChangeLog.
+
+2002-07-30 Tuesday 09:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (ppl-0_4-branch.3): Updated.
+
+2002-07-29 Monday 20:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* COPYING (1.2), INSTALL (1.4), config.guess (1.12), config.sub
+	  (1.11), depcomp (1.3), install-sh (1.3), missing (1.5),
+	  mkinstalldirs (1.4): Updated to the respective latest versions.
+
+2002-07-29 Monday 10:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.196): Added an assertions to
+	  add_constraints(ConSys& cs).	Also added a test for emptyness, to
+	  avoid adding constraints to a polyhedron already known to be
+	  empty.
+
+2002-07-29 Monday 07:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/pl_check.pl (1.21): Comment removed.
+
+2002-07-29 Monday 07:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/pl_check.pl (ppl-0_4-branch.1): Comment
+	  removed.
+
+2002-07-29 Monday 07:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (ppl-0_4-branch.3): Mention the fixes to
+	  Polyhedron::check_universe() and
+	  NNC_Polyhedron::NNC_Polyhedron(ConSys& cs).
+
+2002-07-29 Monday 01:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/ConSys.cc, src/GenSys.cc, tests/universe6.cc,
+	  src/Polyhedron.cc (ppl-0_4-branch.[1,1,1,2]): The following
+	  corrections made on HEAD are now reported in the ppl-0_4-branch:
+	  - fixed a bug in ConSys/GenSys.adjust_topology_and_dimension()  -
+	  fixed a bug in Polyhedron::check_universe().
+
+2002-07-29 Monday 00:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.195): Fixed a bug in check_universe(), which
+	  was returning the wrong result when called by a zero-dim universe
+	  polyhedron.
+
+2002-07-29 Monday 00:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.cc (1.39), GenSys.cc (1.58): Methods
+	  adjust_topology_and_dimension() now behave properly even on
+	  constraint/generator systems having no rows.
+
+2002-07-29 Monday 00:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/universe6.cc (1.2): Added a new test, showing two bugs:  -
+	  the first bug has to do with an invariant that was not fullfilled
+	  when creating an NNC polyehdron starting from an empty
+	  constraint system;	this bug was only visible when compiling
+	  with assertions turned on.   - the second bug was due to the fact
+	  that check_universe() returns     the wrong result when applied
+	  to a zero-dim-universe polyhedron.
+
+2002-07-28 Sunday 20:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/.cvsignore (1.1): Put under CVS control.
+
+2002-07-28 Sunday 20:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/pl_check.pl (1.20): Properly initialize and
+	  finalize the library.
+
+2002-07-28 Sunday 19:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Ciao/ppl_ciao.cc (1.13),
+	  GNU/ppl_gprolog_sd.cc (1.8), SICStus/ppl_sicstus_sd.cc (1.24),
+	  SWI/ppl_swiprolog.cc (1.48), YAP/ppl_yap.cc (1.40): Fixed some
+	  comments and assertions.
+
+2002-07-28 Sunday 19:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/XSB/ppl_xsb.cc (1.2): Several bugs fixed.
+
+2002-07-28 Sunday 12:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (ppl-0_4-branch.2): Updated.
+
+2002-07-28 Sunday 11:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (ppl-0_4-branch.1): Updated for version 0.4.1.
+
+2002-07-28 Sunday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (ppl-0_4-branch.2): Add news for version 0.4.1.
+
+2002-07-28 Sunday 11:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (ppl-0_4-branch.2): Bump version number.
+
+2002-07-28 Sunday 11:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Integer.types.hh, Makefile.am (ppl-0_4-branch.[1,1]):
+	  Document the fact that Parma_Polyhedra_Library::Integer is a
+	  synonym for GMP's mpz_class.
+
+2002-07-24 Wednesday 14:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/Makefile.am (1.8): Ciao Prolog library
+	  renamed.
+
+2002-07-24 Wednesday 14:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Integer.types.hh (1.3), Makefile.am (1.45): Document the
+	  fact that Parma_Polyhedra_Library::Integer is a synonym for GMP's
+	  mpz_class.
+
+2002-07-23 Tuesday 18:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Generator.defs.hh (1.70): Corrected doxygen comments to
+	  shorthands functions line, ray, point.
+
+2002-07-23 Tuesday 18:44  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.88): Small correction in the example of
+	  the use of an extended generator system.
+
+2002-07-22 Monday 15:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Ciao/ppl_ciao.cc (1.12),
+	  GNU/ppl_gprolog_sd.cc (1.7), SICStus/ppl_sicstus_sd.cc (1.23),
+	  SWI/ppl_swiprolog.cc (1.47), YAP/ppl_yap.cc (1.39): Comments
+	  fixed.  Avoid macros with unused parameters.
+
+2002-07-22 Monday 15:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.55), interfaces/Prolog/Makefile.am (1.19),
+	  interfaces/Prolog/XSB/Makefile.am (1.1),
+	  interfaces/Prolog/XSB/ppl_xsb.H (1.1),
+	  interfaces/Prolog/XSB/ppl_xsb.cc (1.1): New Prolog interface.
+
+2002-07-22 Monday 14:29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc, tests/Makefile.am, tests/polydifference2.cc
+	  (ppl-0_4-branch.[1,1,1]): The corrections of the bug identified
+	  in revisions 1.193 and 1.194 of the HEAD branch are now reported
+	  in the ppl-0_4-branch.  The same for the test that outlighted the
+	  bug.
+
+2002-07-10 Wednesday 12:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/polydifference2.cc (1.3): Don't be noisy.
+
+2002-07-10 Wednesday 12:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.194): Corrected a bug in
+	  poly_difference_assign(const Polyhedron& y).	No longer ignoring
+	  the equality constraints of `y' (the bug was affecting both C and
+	  NNC computations).
+
+2002-07-10 Wednesday 12:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/polydifference2.cc (1.2): Output improved.
+
+2002-07-10 Wednesday 11:58  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.193): Corrected a bug in
+	  Polyhedron::operator=(...).  When assigning to *this a polyhedron
+	  declared to be empty, we now call set_empty() to also clear the
+	  constraint and generator systems, therefore enforcing the
+	  corresponding invariant.
+
+2002-07-10 Wednesday 11:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am (1.80), polydifference2.cc (1.1): Added a new
+	  test showing two bugs:  - the assignment operator on Polyhedron
+	  breaks the invariant saying that    an empty polyhedron has a
+	  constraint system with either no rows or    a single
+	  unsatisfiable constraint;  - the current implementation of
+	  poly_difference_assign() is wrong in	  that it disregards
+	  equality constraints.
+
+2002-07-03 Wednesday 15:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/: fake_main.pl (1.1), ppl_ciao.pl (1.20):
+	  Wrong declarations fixed (thanks to Jose Morales).  The file
+	  fake_main.pl is a kludge to convince ciaoc to produce object code
+	  (the `-c' option is broken in Ciao Prolog 1.8 #2).  Missing
+	  predicate declarations have been added.
+
+2002-07-02 Tuesday 22:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/ppl_ciao.pl (1.19): Some bugs have been
+	  fixed.
+
+2002-07-02 Tuesday 22:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.54): Version bumped: we are now in the 0.5 era.
+
+2002-07-02 Tuesday 22:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.53), interfaces/Prolog/Makefile.am (1.18): The
+	  Ciao Prolog interface has been re-enabled.
+
+2002-07-02 Tuesday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.52), Watchdog/configure.ac (1.9): Shared
+	  libraries are again turned off by default.
+
+2002-07-02 Tuesday 21:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (ppl-0_4-branch.1), NEWS (1.28): Cut and paste error fixed.
+
+2002-07-01 Monday 18:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (ppl-0_4-branch.1): Update version.
+
+2002-07-01 Monday 18:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/ChangeLog, ChangeLog (ppl-0_4-branch.[1,1]): Mark
+	  ChangeLog.
+
+2002-07-01 Monday 18:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.9): Updated.
+
+2002-07-01 Monday 16:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.11), config.sub (1.10), ltmain.sh (1.5): Updated.
+
+2002-07-01 Monday 08:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.27): Updated.
+
+2002-06-30 Sunday 22:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* STANDARDS (1.4): Use the same form of headings.
+
+2002-06-30 Sunday 22:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.12): Mention the support for NNC polyhedra.  Updated
+	  for PPL 0.4.	Organization of source distributions updated.
+
+2002-06-30 Sunday 22:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/GNU/ppl_gprolog.pl (1.16): Bug fixed in
+	  limited_H79_widening_assign.
+
+2002-06-30 Sunday 21:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (1.15): Mention not necessarily closed convex
+	  polyhedra in the main %description.
+
+2002-06-30 Sunday 20:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: check_script (1.3), expected (1.2): Test
+	  ack.clpq with the easier query `?- ack(2, 1, Z).'.
+
+2002-06-30 Sunday 20:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: Watchdog.defs.hh (1.5), Watchdog.inlines.hh (1.4):
+	  Implementation of inline functions moved to Watchdog.inlines.hh.
+
+2002-06-30 Sunday 17:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/ChangeLog (1.2): This file will no longer be empty.
+
+2002-06-30 Sunday 15:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.51), Watchdog/configure.ac (1.8): Invocations to
+	  AC_PROG_* macros repositioned.
+
+2002-06-30 Sunday 15:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Generator.defs.hh (1.69): Friend declaration split
+	  differently.
+
+2002-06-30 Sunday 15:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: Watchdog.defs.hh (1.4), Watchdog.inlines.hh (1.3): Use
+	  methods instead of friends for binary operators over Time.
+
+2002-06-30 Sunday 12:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: GNU/.cvsignore (1.4), SICStus/.cvsignore
+	  (1.4), SWI/.cvsignore (1.4), YAP/.cvsignore (1.4): Added files to
+	  be ignored.
+
+2002-06-30 Sunday 12:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Ciao/.cvsignore (1.3), GNU/.cvsignore (1.3),
+	  SICStus/.cvsignore (1.3), YAP/.cvsignore (1.3): For those
+	  building in the sources' directory.
+
+2002-06-30 Sunday 10:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.50): Make building shared libraries the default.
+
+2002-06-29 Saturday 21:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.60), ppl_prolog.icc
+	  (1.60), Ciao/ppl_ciao.pl (1.18), GNU/ppl_gprolog.pl (1.15),
+	  SICStus/ppl_sicstus_sd.cc (1.22), SWI/ppl_swiprolog.cc (1.46),
+	  YAP/ppl_yap.cc (1.38): Added documentation for Prolog interface
+	  predicates bounds from above/below and moved definitions to
+	  follow that of is_bounded.
+
+2002-06-29 Saturday 14:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: pl_check.pl (1.19), ppl_prolog.icc (1.59),
+	  Ciao/ppl_ciao.pl (1.17), GNU/ppl_gprolog.pl (1.14),
+	  SICStus/ppl_sicstus_sd.cc (1.21), SWI/ppl_swiprolog.cc (1.45),
+	  YAP/ppl_yap.cc (1.37): Predicates for bounds_from_above/below
+	  added to Prolog interface.
+
+2002-06-29 Saturday 08:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.41), ppl_c.h (1.37): Added
+	  ppl_Polyhedron_bounds_from_above() and
+	  ppl_Polyhedron_bounds_from_below().
+
+2002-06-29 Saturday 08:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.192), Polyhedron.defs.hh (1.132),
+	  Polyhedron.inlines.hh (1.39): Added bool bounds_from_above(const
+	  LinExpression&) const and bool bounds_from_below(const
+	  LinExpression&) const: both are implemented in terms of the new
+	  bool bounds(const LinExpression& expr, bool from_above) const.
+
+2002-06-28 Friday 22:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.191): Polyhedron::is_bounded() improved.
+
+2002-06-28 Friday 22:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: clpq2.pl (1.21), expected2 (1.5): Undo the
+	  changes corresponding to the last two commits of clpq2.pl and to
+	  the last commit of expected2.
+
+2002-06-28 Friday 17:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: clpq2.pl (1.20), expected2 (1.4): Updated the
+	  expected2 file to match current clpq2.pl clpq2.pl has a minor bug
+	  fixed when writing equality bindings that were not included as
+	  constraints (this does not affect the results of the
+	  check_script2).
+
+2002-06-28 Friday 09:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: memory1.cc (1.5), timings.cc (1.2): Improved error
+	  handling.
+
+2002-06-28 Friday 09:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/memory1.cc (1.4): Cleaned and improved error handling.
+
+2002-06-27 Thursday 09:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/ConSys.defs.hh (1.60), src/ConSys.inlines.hh (1.22),
+	  src/GenSys.defs.hh (1.74), src/GenSys.inlines.hh (1.24),
+	  tests/NNCminimize1.cc (1.4), tests/NNCminimize2.cc (1.4),
+	  tests/NNCminimize3.cc (1.4), tests/NNCminimize4.cc (1.6): Added
+	  public method clear() to ConSys and GenSys.  Added a FIXME
+	  comment to NNCminimize* tests.
+
+2002-06-27 Thursday 09:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: ConSys.defs.hh (1.59), ConSys.inlines.hh (1.21),
+	  Constraint.defs.hh (1.65), Constraint.inlines.hh (1.37),
+	  GenSys.defs.hh (1.73), GenSys.inlines.hh (1.23),
+	  Generator.defs.hh (1.68), Generator.inlines.hh (1.34),
+	  LinExpression.defs.hh (1.47), LinExpression.inlines.hh (1.20):
+	  Added several versions of swap() to cope with the private
+	  inheritance problems caused by the departure of PPL_HIDDEN.
+
+2002-06-27 Thursday 08:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Generator.inlines.hh (1.33): Avoid redefinition of default
+	  arguments.
+
+2002-06-26 Wednesday 19:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: GenSys.cc (1.57), GenSys.defs.hh (1.72): Added
+	  std::ostream& operator<<(std::ostream&, const GenSys&) and
+	  std::istream& operator>>(std::istream&, GenSys&).
+
+2002-06-26 Wednesday 19:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: ConSys.cc (1.38), ConSys.defs.hh (1.58), Matrix.cc (1.39):
+	  Added std::ostream& operator<<(std::ostream&, const ConSys&) and
+	  std::istream& operator>>(std::istream&, ConSys&).
+
+2002-06-26 Wednesday 18:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref-browse.doxyconf-latex.in (1.20),
+	  doc/devref-print.doxyconf-latex.in (1.20),
+	  doc/devref.doxyconf-html.in (1.21), interfaces/C/Makefile.am
+	  (1.10), interfaces/C/ppl_c.cc (1.40),
+	  interfaces/Prolog/Ciao/Makefile.am (1.7),
+	  interfaces/Prolog/GNU/Makefile.am (1.23),
+	  interfaces/Prolog/SICStus/Makefile.am (1.28),
+	  interfaces/Prolog/SWI/Makefile.am (1.25),
+	  interfaces/Prolog/YAP/Makefile.am (1.15), src/ConSys.defs.hh
+	  (1.57), src/Constraint.defs.hh (1.64), src/GenSys.defs.hh (1.71),
+	  src/Generator.defs.hh (1.67), src/LinExpression.defs.hh (1.46),
+	  src/Makefile.am (1.44), src/Poly_Con_Relation.defs.hh (1.9),
+	  src/Poly_Gen_Relation.defs.hh (1.8), src/ppl_filter_doxygen.sed
+	  (1.3), src/ppl_filter_install.sed (1.3): PPL_HIDDEN has gone.
+
+2002-06-26 Wednesday 18:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: ConSys.defs.hh (1.56), Constraint.defs.hh (1.63),
+	  GenSys.defs.hh (1.70): Minor improvements to comments (just
+	  English).
+
+2002-06-26 Wednesday 18:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Generator.defs.hh (1.66), Generator.inlines.hh (1.32),
+	  Makefile.am (1.43): Added new shorthand non-member functions for
+	  creting generators: Generator line(const LinExpression&),
+	  Generator ray(const LinExpression&), Generator point(const
+	  LinExpression&, const Integer&), Generator closure_point(const
+	  LinExpression&, const Integer&).
+
+2002-06-26 Wednesday 18:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/: C/ppl_c.cc (1.39), Prolog/ppl_prolog.icc (1.58): Use
+	  the new static members of Generator to construct generatos.
+
+2002-06-26 Wednesday 15:44  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/LinExpression.defs.hh (1.45): Removed spurious duplicated
+	  declaration (was already commented out).
+
+2002-06-26 Wednesday 15:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Row.cc (1.40), Row.defs.hh (1.50), globals.cc (1.8),
+	  globals.hh (1.19): const Integer& operator*(const Constraint&,
+	  const Generator&) and const Integer& reduced_scalar_product(const
+	  Constraint&, const Generator&) moved from Row.* to globals.*.
+
+2002-06-26 Wednesday 14:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.defs.hh (1.62), Generator.cc (1.35),
+	  Generator.defs.hh (1.65), LinExpression.defs.hh (1.44),
+	  Makefile.am (1.42), Polyhedron.cc (1.190), Row.cc (1.39),
+	  Row.defs.hh (1.49): Started getting rid of preprocessing flag
+	  PPL_HIDDEN (work still in progress - build broken).
+
+2002-06-26 Wednesday 14:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.defs.hh (1.55), GenSys.defs.hh (1.69): Input and
+	  output operator for Polyhedron made friends of ConSys and GenSys.
+
+2002-06-26 Wednesday 14:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/ConSys.cc (1.37): Comment alignment fixed.
+
+2002-06-26 Wednesday 08:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.87): Improved and corrected affine image
+	  paragraph.
+
+2002-06-25 Tuesday 16:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.86): More improvements to paragraph on
+	  affine image operations.
+
+2002-06-25 Tuesday 16:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.85): For uniformity, using \cQ instead of
+	  \cP' in the section about widening.
+
+2002-06-25 Tuesday 16:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.84): Improved the section about
+	  addition/removal of space dimensions.
+
+2002-06-25 Tuesday 16:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.131): The documentation for the swap
+	  function on Polyhedron objects now appears in the user manuals
+	  too.
+
+2002-06-25 Tuesday 15:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.types.hh (1.3): Added comments to `namespace std'.
+
+2002-06-25 Tuesday 15:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.83): Added more on an affine preimage.
+
+2002-06-25 Tuesday 15:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/.cvsignore (1.3), src/.cvsignore (1.6), tests/.cvsignore
+	  (1.5): For those building in the sources' directory.
+
+2002-06-25 Tuesday 15:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.82): Added formal definition of the
+	  time-elapse operator.
+
+2002-06-25 Tuesday 14:16  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.81): Changed rows and columns round in the
+	  affine paragraph.
+
+2002-06-25 Tuesday 14:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.80), src/Polyhedron.defs.hh (1.130):
+	  Adding some references to the introduction to the documentation
+	  of operators.
+
+2002-06-25 Tuesday 14:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref-browse.doxyconf-latex.in (1.19),
+	  devref-print.doxyconf-latex.in (1.19), devref.doxyconf-html.in
+	  (1.20): No longer including the second part of the introduction
+	  in the devref's manuals, since it is not up-to-date.
+
+2002-06-25 Tuesday 13:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.79): Examples added to explanation of
+	  affine image operator.
+
+2002-06-25 Tuesday 13:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.78): Started explaining the affine
+	  operators.
+
+2002-06-25 Tuesday 12:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.77), src/Polyhedron.defs.hh (1.129): In
+	  the widening and poly-difference comments, using the \anchor
+	  doxygen command to link to a specific paragraph of the
+	  introduction.
+
+2002-06-25 Tuesday 11:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.128): A few docuemntation errors
+	  corrected.  Added a note about methods ending in _and_minimize(),
+	  to explain the menaing of their return value. From all of their
+	  brief doxygen comments, moved the corresponding sentence on their
+	  return value, which is now placed in the detailed doxygen
+	  comment, using the \return command.
+
+2002-06-25 Tuesday 11:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.76): Renamed variables in example in
+	  paragraph wrt adding dimensions.
+
+2002-06-25 Tuesday 11:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/clpq2.pl (1.19): Improved version of clpq2.pl:
+	  - Code formatting corrected;    - Unused predicate
+	  definitions removed;	       - Predicates renamed to match
+	  functionality;    - Much more efficient as it projects unwanted
+	  dimensions away;  - Allows input variables to bind to Herbrand
+	  terms;     - Allows integer expressions as input (eg fib(2,
+	  X+1)).
+
+2002-06-25 Tuesday 10:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.75): Added paragraphs on adding and
+	  removing dimensions.
+
+2002-06-25 Tuesday 08:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.18): More tidying of the tests.
+
+2002-06-25 Tuesday 08:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.49): Version number bumped.
+
+2002-06-25 Tuesday 08:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: ConSys.cc (1.36), Generator.defs.hh (1.64), Polyhedron.cc
+	  (1.189), Polyhedron.defs.hh (1.127), conversion.cc (1.29): In all
+	  files, changed reference to Introduction to the relevant section.
+	  In Polyhedron.defs.hh:   - A few minor changes to English
+	  expressions.	 - An x_1 changed to y.
+
+2002-06-25 Tuesday 08:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.26), doc/definitions.dox (1.74), interfaces/C/ppl_c.cc
+	  (1.38), interfaces/C/ppl_c.h (1.36),
+	  interfaces/Prolog/Prolog_interface.dox (1.59),
+	  interfaces/Prolog/pl_check.pl (1.17),
+	  interfaces/Prolog/ppl_prolog.icc (1.57),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.16),
+	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.13),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.20),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.44),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.36), src/Polyhedron.cc
+	  (1.188), src/Polyhedron.defs.hh (1.126), tests/.cvsignore (1.4),
+	  tests/Makefile.am (1.79), tests/exceptions1.cc (1.10),
+	  tests/h79widening1.cc (1.1), tests/h79widening2.cc (1.1),
+	  tests/h79widening3.cc (1.1), tests/limitedh79widening1.cc (1.1),
+	  tests/limitedh79widening2.cc (1.1), tests/limitedwideningcc921.cc
+	  (1.2), tests/limitedwideningcc922.cc (1.2), tests/permute.cc
+	  (1.18), tests/wideningcc921.cc (1.3), tests/wideningcc922.cc
+	  (1.3), tests/wideningcc923.cc (1.2): The widening is now called
+	  H79 not to confuse the user.
+
+2002-06-25 Tuesday 06:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (1.14): %files section for gprolog package fixed.
+
+2002-06-24 Monday 23:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (1.13): %files section fixed for the yap package.
+
+2002-06-24 Monday 22:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/Makefile.am (1.14): Do not forget
+	  yap_clpq2.pl.
+
+2002-06-24 Monday 21:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.58): Should now contain
+	  all the information need to use the Prolog interface.
+
+2002-06-24 Monday 18:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.187), Polyhedron.defs.hh (1.125): The
+	  detailed comments about class Polyhedron improved.  Better
+	  marking the start of detailed doxygen sections in the
+	  documentation of Polyhedron methods (using /*! ... */ instead of
+	  multi-line //!).  Adjusted a couple of old comments saying that
+	  the return value of minimize() was `true' when the polyhedron is
+	  found to be empty.
+
+2002-06-24 Monday 17:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/Makefile.am (1.22): Added definitions for
+	  libppl_gprolog_la_LIBADD and libppl_gprolog_la_LDFLAGS.
+
+2002-06-24 Monday 17:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (1.12): The %files sections of each package are now
+	  complete.
+
+2002-06-24 Monday 17:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.57): Dealt with the
+	  issue of initialization and finalization.
+
+2002-06-24 Monday 17:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/Makefile.am (1.21): Install also
+	  ppl_gprolog.pl.
+
+2002-06-24 Monday 17:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.56): Reorganization
+	  started.
+
+2002-06-24 Monday 15:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* NEWS (1.25), STANDARDS (1.3): Minor spelling/grammar corrections.
+
+2002-06-24 Monday 15:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh (1.124), Polyhedron.inlines.hh (1.38):
+	  Adding short doxygen comment to Polyhedron related functions.
+
+2002-06-24 Monday 14:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* STANDARDS (1.2): Sketching the first rules to obtain a somewhat
+	  standard Doxygen documentation style.
+
+2002-06-24 Monday 14:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.186): Polyhedron::remove_dimensions() fixed.
+
+2002-06-24 Monday 14:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/removedim6.cc (1.6): This test was carefully written so as
+	  to cover a bug in the library: fixed.
+
+2002-06-24 Monday 13:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/clpq2.pl (1.18): Final delete_Polyhedron for Q
+	  now replaced by cleanup call and by adding polyhedron Q to list
+	  of used polyhedra in head of solve_query.
+
+2002-06-24 Monday 13:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.185), Polyhedron.defs.hh (1.123): Going on
+	  enforcing new rules on doxygen comments of class Polyhedron.
+
+2002-06-24 Monday 12:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.16): Improved layout and
+	  comments.  Simplified and renamed some tests while adding others.
+
+2002-06-24 Monday 12:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/configure.ac (1.7): Fixed typo in a comment.
+
+2002-06-24 Monday 12:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.48): Effectively disable the
+	  interface/Prolog/Ciao directory.
+
+2002-06-24 Monday 11:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.defs.hh (1.54), GenSys.defs.hh (1.68),
+	  Generator.defs.hh (1.63): Added examples to ConSys and GenSys
+	  documentation using strict inequalities and closure points.
+	  Improved terminology note point/vertex in Generator.
+
+2002-06-24 Monday 11:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Poly_Con_Relation.defs.hh (1.8): Missing full stop added.
+
+2002-06-24 Monday 08:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/Makefile.am (1.24): Distribute also
+	  ppl_swiprolog.pl.
+
+2002-06-24 Monday 00:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.184), Polyhedron.defs.hh (1.122),
+	  Polyhedron.inlines.hh (1.37): Started uniformizing doxygen
+	  comments of class Polyehdron according to new rules.
+
+2002-06-24 Monday 00:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.inlines.hh (1.20), GenSys.inlines.hh (1.22),
+	  LinExpression.inlines.hh (1.19), Row.inlines.hh (1.27),
+	  SatMatrix.inlines.hh (1.13), SatRow.inlines.hh (1.16): Relating
+	  std::swap functions to the corresponding classes.
+
+2002-06-23 Sunday 22:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Row.defs.hh (1.48): Surrounding the   #define
+	  EXTRA_NORMALIZATION 0 with   #ifndef EXTRA_NORMALIZATION.
+
+2002-06-23 Sunday 22:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.55), ppl_prolog.icc
+	  (1.56), Ciao/ppl_ciao.cc (1.11), GNU/ppl_gprolog_sd.cc (1.6),
+	  SICStus/ppl_sicstus_sd.cc (1.19), SWI/Makefile.am (1.23),
+	  SWI/ppl_swiprolog.cc (1.43), SWI/ppl_swiprolog.pl (1.1),
+	  YAP/Makefile.am (1.13), YAP/ppl_yap.cc (1.35): Avoid unnecessary
+	  differences in the implementation of the various Prolog
+	  interfaces.  Hook ppl_Prolog_sysdep_deinit() added.
+
+2002-06-23 Sunday 22:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.cc (1.35), ConSys.defs.hh (1.53), GenSys.cc (1.56),
+	  Matrix.cc (1.38), Matrix.defs.hh (1.28), Matrix.inlines.hh
+	  (1.24): Fixed doxygen comments in class Matrix.  Changed raw
+	  output methods get() and print() to also read/write information
+	  about topology. Changed the corresponding methods of ConSys and
+	  GenSys so that they no longer output this information.
+
+2002-06-23 Sunday 18:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.cc (1.28), Generator.cc (1.34): Using flag
+	  EXTRA_NORMALIZATION instead of STRONG_NORMALIZATION.
+
+2002-06-23 Sunday 18:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Init.defs.hh (1.3): Added short doxygen comment to class
+	  Init.
+
+2002-06-23 Sunday 18:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.183), tests/timeelapse5.cc (1.2):
+	  Implementation of time_elapse corrected and cleaned.	The test
+	  timeelapse5 corrected according to the new specification.
+
+2002-06-23 Sunday 15:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Makefile.am (1.17): The Ciao-Prolog interface
+	  will not be included in PPL 0.4.
+
+2002-06-23 Sunday 15:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/: Makefile.am (1.12), ppl_yap.cc (1.34),
+	  yap_clpq.pl (1.5), yap_clpq2.pl (1.1): The YAP interface is now
+	  complete and running.
+
+2002-06-22 Saturday 11:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Topology.hh (1.5): Nothing (apart comments) should follow
+	  #endif.
+
+2002-06-22 Saturday 08:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/globals.hh (1.18): Long comment for class Throwable improved.
+	  Function maybe_abandon() related to class Throwable.
+
+2002-06-22 Saturday 08:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Poly_Con_Relation.defs.hh (1.7), Poly_Gen_Relation.defs.hh
+	  (1.7): Comments of *_Relation classes adapted to new doxygen
+	  rules.
+
+2002-06-21 Friday 23:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.defs.hh (1.52), GenSys.defs.hh (1.67),
+	  Generator.defs.hh (1.62), Topology.hh (1.4): Adapted doxygen
+	  comments of classes ConSys and GenSys to the new style.  Added
+	  short description for the enumeration Topology (in the devref
+	  manual).
+
+2002-06-21 Friday 22:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h (1.35): No longer use __BEGIN_DECLS and
+	  __END_DECLS (so as not to provoke pollution).  Use a brief only
+	  description for the opaque pointers.	Undefine
+	  PPL_TYPE_DECLARATION as soon as we are done with it.
+	  Documentation for all the *_OK() functions improved: they do not
+	  always make noise (if the compilation was done with NDEBUG
+	  defined, they do not make any noise).
+
+2002-06-21 Friday 21:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/C_Polyhedron.defs.hh (1.11): Alignment fixed in a comment.
+
+2002-06-21 Friday 19:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.cc (1.27), Constraint.defs.hh (1.61),
+	  Constraint.inlines.hh (1.36), Generator.defs.hh (1.61),
+	  LinExpression.defs.hh (1.43): Documentation of classes
+	  LinExpression, Constraint and Generator adapted to the new
+	  doxygen rules.
+
+2002-06-21 Friday 19:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: C_Polyhedron.defs.hh (1.10), NNC_Polyhedron.defs.hh (1.14):
+	  Avoiding repetitions due to REPEAT_BRIEF = YES.
+
+2002-06-21 Friday 19:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref-browse.doxyconf-latex.in (1.18),
+	  devref-print.doxyconf-latex.in (1.18), devref.doxyconf-html.in
+	  (1.19), user-browse.doxyconf-latex.in (1.12),
+	  user-print.doxyconf-latex.in (1.12), user.doxyconf-html.in
+	  (1.14): Changed doxygen configuration files so that brief
+	  comments are always repeated at the beginning of long comments
+	  (REPEAT_BRIEF = YES).
+
+2002-06-21 Friday 15:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: C_Polyhedron.defs.hh (1.9), NNC_Polyhedron.defs.hh (1.13):
+	  For classes C_Polyhedron and NNC_Polyhedron, adopting the new
+	  doxygen standards about brief/long comments.
+
+2002-06-21 Friday 15:56  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Matrix.defs.hh (1.27), Row.inlines.hh (1.26): Non-friend
+	  but related functions should have the \relates special doxygen
+	  command.
+
+2002-06-21 Friday 15:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/SatRow.cc (1.9): As things are now, doxygen comments to
+	  friend functions should not have the \relates special command.
+
+2002-06-21 Friday 09:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.47): Use C to test the presence and usability of
+	  <glpk.h>.  Use the new style AC_LANG(LANGUAGE) macro.
+
+2002-06-21 Friday 08:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/Makefile.am (1.20): Additions
+	  MOSTLYCLEANFILES.
+
+2002-06-20 Thursday 22:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.54),
+	  track_allocation.hh (1.6): Prolog allocation tracking properly
+	  reimplemented.
+
+2002-06-20 Thursday 22:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/clpq2.pl (1.17): Singleton variable renamed so
+	  as to disable the corresponding warning.
+
+2002-06-20 Thursday 22:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/print.cc (1.2): Do not redefine the default arguments.
+
+2002-06-20 Thursday 21:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.73): A few improvements in the first
+	  paragraph of the introduction.  Better explained what a preimage
+	  is and some chnages to the paragraph on the DD method.
+
+2002-06-20 Thursday 21:20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Row.cc (1.38), Row.defs.hh (1.47), Row.inlines.hh (1.25),
+	  SatMatrix.cc (1.17), SatMatrix.defs.hh (1.19),
+	  SatMatrix.inlines.hh (1.12), SatRow.cc (1.8), SatRow.defs.hh
+	  (1.15), SatRow.inlines.hh (1.15), Status.defs.hh (1.17): Added
+	  \relates doxygen commands to match related function declarations
+	  and definitions.
+
+2002-06-20 Thursday 13:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.72): Reordered the bibliography to be
+	  alphabetical.  Changed the syntax in Bounded Polyhedra.  Moved
+	  Rational Polyhedra to end of section on representations (it needs
+	  the definition of constraint representation).  Comment in
+	  Generators Representation wrt this moved to the Rational one.
+	  Small change of wording to Points... paragraph.
+
+2002-06-20 Thursday 13:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.53): Corrected the
+	  grammar rules for Rational and made other changes related to
+	  this.
+
+2002-06-20 Thursday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.37): Functions dealing with closure
+	  points and strict inequalities were still commented out: fixed.
+
+2002-06-20 Thursday 12:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.52): Improvements to
+	  grammar rules.  List_of_Constraints and List_of_Generators now
+	  specified formally as Constraint_System and Generator_System.
+
+2002-06-20 Thursday 12:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.51): Improved
+	  description of "relation with" predicates.
+
+2002-06-20 Thursday 11:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.50): In the grammar
+	  rules Numerator and Denominator are non-terminals and should
+	  start with capitals.
+
+2002-06-20 Thursday 11:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.49): Many improvements,
+	  including: Where comments were repeated elswhere (ie
+	  compatibility rules) they have been removed.	Where possible,
+	  references to relevant sections in the introduction have been
+	  made.  Grammar rule for Relation added.
+
+2002-06-20 Thursday 11:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.71): Improved the paragraph on topological
+	  compatibility.
+
+2002-06-20 Thursday 09:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/clpq2.pl (1.16): Cleaned up previous changes.
+
+2002-06-20 Thursday 08:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/clpq2.pl (1.15): Revised the way unwanted
+	  polyhedron are removed.  It has not been checked yet for leaks.
+
+2002-06-20 Thursday 08:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/clpq2.pl (1.14): PPL is the right acronym in
+	  normal text.
+
+2002-06-20 Thursday 08:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/expected2 (1.3): Corrected with the right
+	  results.
+
+2002-06-20 Thursday 07:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/clpq2.pl (1.13): Bug fixed and I hope the
+	  variable ordering is now stable so that the constraints are
+	  presented uniformly in all Prologs.
+
+2002-06-19 Wednesday 23:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.defs.hh (1.60), Generator.defs.hh (1.60),
+	  Generator.inlines.hh (1.31), Variable.defs.hh (1.19): Using the
+	  \relates doxygen special command to have non-member and
+	  non-friend functions listed in the related classes.
+
+2002-06-19 Wednesday 22:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_prolog.icc (1.55), track_allocation.hh
+	  (1.5): Leave the responsibility of TRACK_ALLOCATION to
+	  track_allocation.hh.
+
+2002-06-19 Wednesday 22:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/clpq2.pl (1.12): A couple of trivial formatting
+	  changes.
+
+2002-06-19 Wednesday 20:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.20), STANDARDS (1.1): The `STANDARDS' file will
+	  contain a description of our coding standards.
+
+2002-06-19 Wednesday 20:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: clpq.pl (1.12), clpq2.pl (1.11): Use a
+	  uniform coding style.
+
+2002-06-19 Wednesday 18:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/Makefile.am (1.19): Use the 2nd CLP(Q)
+	  interpreter for regression testing.
+
+2002-06-19 Wednesday 18:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/Makefile.am (1.22): Fixed the dependencies
+	  of the `check-local' target.
+
+2002-06-19 Wednesday 18:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/clpq2.pl (1.10): Fixed calls meant to be to
+	  ppl_delete_Polyhedron/1.
+
+2002-06-19 Wednesday 18:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: expected2 (1.2), check_script2 (1.2):
+	  Trailing blank line removed.
+
+2002-06-19 Wednesday 17:27  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.48): Many ongoing
+	  changes.
+
+2002-06-19 Wednesday 16:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Makefile.am (1.16): Distributes also
+	  check_script2 and expected2.
+
+2002-06-19 Wednesday 16:18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.47): Corrected a typo
+	  in the first paragraph about the SICStus Prolog interface.
+
+2002-06-19 Wednesday 16:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h (1.34): Corrected a typo in the
+	  documentation of PPL_CONSTRAINT_TYPE_GREATER_THAN.
+
+2002-06-19 Wednesday 16:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Variable.defs.hh (1.18): Adjusted comment about the
+	  constructor.
+
+2002-06-19 Wednesday 16:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.70): Improvements to the space dimension
+	  and the relation with paragraphs.
+
+2002-06-19 Wednesday 15:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh (1.121), globals.hh (1.17): Added a
+	  short description for class Throwable.  Corrected a typo in
+	  comment for remove_dimensions.
+
+2002-06-19 Wednesday 15:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.69): Bounding box paragraph improved a
+	  little.
+
+2002-06-19 Wednesday 14:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.68): Corrected spurious uses of the macro
+	  \mathord.  Some improvements in the paragraph on bounding boxes:
+	  the standard notation for the i-th vector of the canonical base
+	  is \vect{e}_i.
+
+2002-06-19 Wednesday 14:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.67): Changes to relation-wirh and widening
+	  paragraphs.
+
+2002-06-19 Wednesday 14:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/sp_clpq.pl (1.7): Import append/3 and
+	  member/2 from library(lists).
+
+2002-06-19 Wednesday 14:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/clpq2.pl (1.9): Avoid defining append/3 and
+	  member/2, since they are defined as built-ins or provided as
+	  library predicates by any supported Prolog implementation
+	  (SWI-Prolog seems to be annoyed if a user program tries to
+	  redefine them).
+
+2002-06-19 Wednesday 14:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.4): Upgraded from the CVS version of libtool.
+
+2002-06-19 Wednesday 14:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/: Makefile.am (1.27), sp_clpq.pl (1.6):
+	  Use the 2nd CLP(Q) interpreter for regression testing.
+
+2002-06-19 Wednesday 14:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Makefile.am (1.15): Distribute also the tests
+	  for strict inequalities.
+
+2002-06-19 Wednesday 14:18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.66): Changes in the paragraph on the
+	  relation-with operators.
+
+2002-06-19 Wednesday 13:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: GNU/Makefile.am (1.18), SWI/Makefile.am
+	  (1.21): Use the configured version of libtool.
+
+2002-06-19 Wednesday 11:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.46): Changed the
+	  description for the assignment predicates.
+
+2002-06-19 Wednesday 11:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.65): A first draft for a paragraph on the
+	  relation-with operators.
+
+2002-06-19 Wednesday 10:29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.64): Using the macro \nonnegRset in the
+	  paragraph defiing extreme rays.
+
+2002-06-19 Wednesday 10:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: definitions.dox (1.63), ppl.sty (1.10): Some improvements
+	  in the introduction. Redefined the command \vec following
+	  llncs.cls.
+
+2002-06-19 Wednesday 08:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.45), pl_check.pl
+	  (1.15), ppl_prolog.icc (1.54), Ciao/ppl_ciao.pl (1.15),
+	  GNU/ppl_gprolog.pl (1.12), SICStus/ppl_sicstus_sd.cc (1.18),
+	  SWI/ppl_swiprolog.cc (1.42), YAP/ppl_yap.cc (1.33): Predicates
+	  ppl_Polyhedron_topological_closure_assign and
+	  ppl_Polyhedron_is_topologically_closed added.
+
+2002-06-19 Wednesday 08:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.36), interfaces/C/ppl_c.h (1.33),
+	  src/Polyhedron.defs.hh (1.120): Added topological closure test
+	  and assignment to the C interface.
+
+2002-06-19 Wednesday 07:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/schedule.clpq (1.3): Use a uniform syntax.
+
+2002-06-19 Wednesday 07:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/Makefile.am (1.11): Checking mechanism
+	  fixed (but still commented out).
+
+2002-06-19 Wednesday 07:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: check_script2 (1.1), expected2 (1.1),
+	  SWI/Makefile.am (1.20): Test also with clpq2.pl.
+
+2002-06-19 Wednesday 07:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: clpq.pl (1.11), clpq2.pl (1.8): Improved the
+	  query for more solutions.
+
+2002-06-18 Tuesday 18:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/ppl_ciao.pl (1.14): Use
+	  use_foreign_library/1 instead of use_foreign_source/1.
+
+2002-06-18 Tuesday 17:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.53): Indentation fixed.
+
+2002-06-18 Tuesday 17:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/ppl_ciao.pl (1.13): Declarations
+	  completed.
+
+2002-06-18 Tuesday 17:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.62): Corrected a typo in the definition of
+	  closed polyhedra.  Improved the paragraph on dimension
+	  compatibility to make it independent from th epolyhedra topology.
+
+2002-06-18 Tuesday 15:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/clpq2.pl (1.7): Just a little more robust in
+	  that it fails if there are variables in non-integer positions in
+	  a query rather than crashing.
+
+2002-06-18 Tuesday 15:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.14): Tidied the tests on
+	  bounding boxes.
+
+2002-06-18 Tuesday 14:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.44), pl_check.pl
+	  (1.13), ppl_prolog.icc (1.52), Ciao/ppl_ciao.pl (1.12),
+	  GNU/ppl_gprolog.pl (1.11), SICStus/ppl_sicstus_sd.cc (1.17),
+	  SWI/ppl_swiprolog.cc (1.41), YAP/ppl_yap.cc (1.32):
+	  ppl_new_Polyhedron_from_ConSys and ppl_new_Polyhedron_from_GenSys
+	  renamed ppl_new_Polyhedron_from_constraints and
+	  ppl_new_Polyhedron_from_generators, respectively.
+
+2002-06-18 Tuesday 12:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.61): Added a preamble based on the ppl
+	  home web page.
+
+2002-06-18 Tuesday 12:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.60): Reorganised the introductory
+	  sections.
+
+2002-06-18 Tuesday 11:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Constraint.inlines.hh (1.35): Corrected a trivial bug just
+	  introduced in   Constraint operator>(const LinExpression& e1,
+	  const LinExpression& e2).
+
+2002-06-18 Tuesday 10:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/schedule.clpq (1.2): Improved layout.
+
+2002-06-18 Tuesday 10:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: clpq2.pl (1.6), schedule.clpq (1.1): clpq2.pl
+	  now allows Herbrand terms as arguments including lists.
+	  schedule.clpq tests the strict inequalities in clpq2.pl
+
+2002-06-18 Tuesday 10:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Constraint.inlines.hh (1.34): Avoiding the creation of
+	  temporaries in   Constraint operator>(const LinExpression& e1,
+	  const LinExpression& e2)   Constraint operator>(const Integer& n,
+	  const LinExpression& e)   Constraint operator>(const
+	  LinExpression& e, const Integer& n).
+
+2002-06-18 Tuesday 08:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.59): Paragraph for widening improved.
+	  Paragraph for time-elapse added (just a reference to the 1997
+	  Halbwachs paper).
+
+2002-06-18 Tuesday 07:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/ppl_yap.cc (1.31): Code for testing YAP
+	  exceptions temporarily included.
+
+2002-06-18 Tuesday 00:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.182), Polyhedron.defs.hh (1.119): Private
+	  methods strongly_minimize* now return a boolean which is false if
+	  the result is an empty polyhedron (this is consistent with the
+	  behavior of private method minimize()).  Patched method
+	  widening_CC92_assign() to also work for NNC polyhedra.
+
+2002-06-17 Monday 23:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/: Makefile.am (1.10), ppl_yap.pl (1.5),
+	  yap_clpq.pl (1.4): Some progress in the support for YAP.
+
+2002-06-17 Monday 22:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Row.cc (1.37), Row.defs.hh (1.46), Row.inlines.hh (1.24):
+	  The NDEBUG symbol no longer changes data layout.  Now, to obtain
+	  a version of Row where each object remembers its own capacity,
+	  the macro EXTRA_ROW_DEBUG must evaluate to true (whether this
+	  capacity is tested in run-time assertions or not depends, as
+	  usual, on the NDEBUG macro not being or being defined).
+
+2002-06-17 Monday 18:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am (1.78), wideningcc921.cc (1.2),
+	  wideningcc922.cc (1.2), wideningcc923.cc (1.1): Added a new tests
+	  showing a bug in the current implementation of
+	  widening_CC92_assign, when the arguments are NNC polyhedra.
+	  Corrected the output of the other widening tests.
+
+2002-06-17 Monday 18:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Constraint.inlines.hh (1.33), LinExpression.cc (1.12),
+	  LinExpression.defs.hh (1.42), LinExpression.inlines.hh (1.18):
+	  Added LinExpression& operator-=(LinExpression& e1, const
+	  LinExpression& e2), LinExpression& operator-=(LinExpression& e,
+	  const Variable& v), and LinExpression& operator-=(LinExpression&
+	  e, const Integer& n).  Useless creation of a temporary avoided
+	  thanks to the second of those.
+
+2002-06-17 Monday 17:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.58),
+	  interfaces/Prolog/Prolog_interface.dox (1.43): Added the
+	  condition that the CC92-widening requires the polyhedra to have
+	  the same topology.
+
+2002-06-17 Monday 17:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.23): We now have complete support for bounding boxes.
+	  List a couple of pending efficiency issues.
+
+2002-06-17 Monday 17:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.57), interfaces/C/ppl_c.h (1.32),
+	  interfaces/Prolog/Prolog_interface.dox (1.42), src/Polyhedron.cc
+	  (1.181), src/Polyhedron.defs.hh (1.118): Added a draft paragraph
+	  about widening (and CC92-widening) to definitions.dox.  Replaced
+	  "widening" by CC92-widening" in the comments about the widening
+	  operators.
+
+2002-06-17 Monday 16:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: GenSys.cc (1.55), Polyhedron.cc (1.180): All the FIXME's in
+	  Polyhedron.cc and GenSys.cc transformed into TODO's, since they
+	  were just place-holders for possible performance improvements.
+
+2002-06-17 Monday 16:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.35), ppl_c.h (1.31): Added interfaces
+	  function for the copy constructors of classes Constraint and
+	  Generators and for the constructors of a LinExpression from a
+	  Constraint/Generator.
+
+2002-06-17 Monday 15:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/ppl_gprolog.pl (1.10): The two widening
+	  predicates have been renamed.
+
+2002-06-17 Monday 15:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.24), interfaces/C/ppl_c.cc (1.34), interfaces/C/ppl_c.h
+	  (1.30), interfaces/Prolog/Prolog_interface.dox (1.41),
+	  interfaces/Prolog/pl_check.pl (1.12),
+	  interfaces/Prolog/ppl_prolog.icc (1.51),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.11),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.16),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.40),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.30), src/Polyhedron.cc
+	  (1.179), src/Polyhedron.defs.hh (1.117), tests/.cvsignore (1.3),
+	  tests/Makefile.am (1.77), tests/exceptions1.cc (1.9),
+	  tests/limitedwidening1.cc (1.8), tests/limitedwidening2.cc (1.5),
+	  tests/limitedwideningcc921.cc (1.1),
+	  tests/limitedwideningcc922.cc (1.1), tests/permute.cc (1.17),
+	  tests/widening1.cc (1.5), tests/widening2.cc (1.3),
+	  tests/wideningcc921.cc (1.1), tests/wideningcc922.cc (1.1):
+	  Widening methods, functions and test programs renamed so as to
+	  make clear that (currently) our widenings are extensions of the
+	  one proposed in the PLILP'92 paper by Cousot & Cousot.
+
+2002-06-17 Monday 13:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h (1.29): Added comment to functions building
+	  polyhedra from bounding boxes.
+
+2002-06-17 Monday 12:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/clpq.pl (1.10): clpq.pl only uses C polyhedron
+	  again.
+
+2002-06-17 Monday 12:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: C_Polyhedron.defs.hh (1.8), NNC_Polyhedron.defs.hh (1.12),
+	  Polyhedron.defs.hh (1.116), globals.hh (1.16): Added
+	  documentation for constructor of C_ and NNC_ polyhedra out of a
+	  bounding box.  The comment on the C_Polyhedron destructor is now
+	  a proper doxygen comment.  Added a short description doc for
+	  struct FromBoundingBox to avoid cluttering the ``PPL Compound
+	  List'' page.
+
+2002-06-17 Monday 11:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/LinExpression.defs.hh (1.41): Corrected typo in documentation
+	  of   explicit LinExpression(const Generator& g);
+
+2002-06-17 Monday 10:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.115): Improved documentation of
+	  poly_difference_assign* methods, stating that topological closure
+	  is enforced when *this is a C_Polyhedron.
+
+2002-06-17 Monday 10:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/LinExpression.defs.hh (1.40): Constructors of a LinExpression
+	  out of a Constraint/Generator made public.  Added a more detailed
+	  comment about the unicity of the built expression.
+
+2002-06-17 Monday 10:04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Constraint.inlines.hh (1.32): Removed FIXME's about the
+	  efficiency of row-type setting methods.
+
+2002-06-17 Monday 08:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.40), clpq.pl (1.9):
+	  clpq.pl is updated to allow for strict constraints.  Improved
+	  comments for new polyhedron predicates from consys, gensys and
+	  boxes.
+
+2002-06-17 Monday 08:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.56): Paragraphs on intervals and bounding
+	  boxes improved.
+
+2002-06-17 Monday 08:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: Watchdog.cc (1.5), Watchdog.defs.hh (1.3): Use #ifdef
+	  to test configuration symbols that may be undefined or defined to
+	  1.
+
+2002-06-17 Monday 08:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Matrix.cc (1.37): It is non-standard to omit the second
+	  argument of std::vector::iterator std::vector::insert(iterator
+	  position, const T& x).
+
+2002-06-17 Monday 07:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: ConSys.inlines.hh (1.19), Constraint.cc (1.26),
+	  Constraint.inlines.hh (1.31), GenSys.inlines.hh (1.21),
+	  Generator.inlines.hh (1.30), LinExpression.inlines.hh (1.17),
+	  Row.defs.hh (1.45): Reduce our dependence on the PPL_HIDDEN
+	  trick.
+
+2002-06-16 Sunday 22:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.h (1.28): Remove non-standard trailing comma.
+
+2002-06-16 Sunday 22:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Constraint.inlines.hh (1.30), Generator.inlines.hh (1.29),
+	  Matrix.inlines.hh (1.23), Polyhedron.inlines.hh (1.36),
+	  Row.inlines.hh (1.23): Make sure the first use of each inline
+	  function follows its definition.
+
+2002-06-16 Sunday 20:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/Makefile.am (1.26): Modified SICStus
+	  interface makefile to find the ppl library even when this has not
+	  been installed yet.
+
+2002-06-16 Sunday 19:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: ConSys.defs.hh (1.51), GenSys.defs.hh (1.66),
+	  LinExpression.defs.hh (1.39): Reposition friend declarations.
+	  Always put the public section before the protected one before the
+	  private one.
+
+2002-06-16 Sunday 19:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/LinExpression.defs.hh (1.38): LinExpression(const
+	  Constraint&) and LinExpression(const Generator&) made private
+	  again, since they expose the library's internals.
+
+2002-06-16 Sunday 19:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: GenSys.cc (1.54), Polyhedron.cc (1.178), minimize.cc
+	  (1.21), simplify.cc (1.16): No space before question mark in
+	  comments.
+
+2002-06-16 Sunday 18:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: generators1.cc (1.6), generators2.cc (1.3): Include
+	  <stdexcept>.
+
+2002-06-16 Sunday 17:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.cc (1.25), Constraint.inlines.hh (1.29),
+	  Polyhedron.cc (1.177): Removed CHECKME comments from a few
+	  methods of classes Constraint and Polyhedron. A few FIXME changed
+	  to CHECKME.
+
+2002-06-16 Sunday 17:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Interval.cc (1.2): Replace `and' by `&&'.
+
+2002-06-16 Sunday 17:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BoundingBox.defs.hh (1.2), BoundingBox.inlines.hh (1.3),
+	  C_Polyhedron.defs.hh (1.7), ConSys.defs.hh (1.50),
+	  Constraint.defs.hh (1.59), GenSys.defs.hh (1.65),
+	  Generator.defs.hh (1.59), Init.defs.hh (1.2), Integer.defs.hh
+	  (1.4), Interval.defs.hh (1.4), LinExpression.defs.hh (1.37),
+	  Matrix.defs.hh (1.26), NNC_Polyhedron.defs.hh (1.11),
+	  Poly_Con_Relation.defs.hh (1.6), Poly_Gen_Relation.defs.hh (1.6),
+	  Polyhedron.defs.hh (1.114), Row.defs.hh (1.44), SatMatrix.defs.hh
+	  (1.18), SatRow.defs.hh (1.14), Status.defs.hh (1.16),
+	  Variable.defs.hh (1.17): Use uniform guards against multiple
+	  inclusion.  Include Interval.defs.hh in BoundingBox.defs.hh.
+
+2002-06-16 Sunday 16:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Row.inlines.hh (1.22), SatRow.inlines.hh (1.14): Fully
+	  qualify `vector' as `std::vector'.
+
+2002-06-16 Sunday 16:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/C_Polyhedron.cc (1.3), interfaces/C/ppl_c.cc (1.33): Include
+	  <stdexcept>.
+
+2002-06-16 Sunday 16:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Generator.inlines.hh (1.28), Integer.inlines.hh (1.4),
+	  LinExpression.defs.hh (1.36), LinExpression.inlines.hh (1.16):
+	  Remove unnecessary include files and add some necessary one.
+
+2002-06-16 Sunday 16:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BoundingBox.inlines.hh (1.2), C_Polyhedron.inlines.hh
+	  (1.6), ConSys.inlines.hh (1.18), Constraint.inlines.hh (1.28),
+	  GenSys.inlines.hh (1.20), Generator.inlines.hh (1.27),
+	  Init.inlines.hh (1.2), Integer.inlines.hh (1.3),
+	  LinExpression.inlines.hh (1.15), Matrix.inlines.hh (1.22),
+	  NNC_Polyhedron.inlines.hh (1.8), Poly_Con_Relation.inlines.hh
+	  (1.6), Poly_Gen_Relation.inlines.hh (1.6), Polyhedron.inlines.hh
+	  (1.35), Row.inlines.hh (1.21), SatMatrix.inlines.hh (1.11),
+	  SatRow.inlines.hh (1.13), Status.inlines.hh (1.8),
+	  Variable.inlines.hh (1.9): Guard against multiple inclusion.
+
+2002-06-16 Sunday 16:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: ConSys.defs.hh (1.49), GenSys.defs.hh (1.64),
+	  LinExpression.defs.hh (1.35), Matrix.defs.hh (1.25),
+	  Variable.defs.hh (1.16): Avoid being pedantic when commenting
+	  constructors.
+
+2002-06-16 Sunday 15:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: ConSys.defs.hh (1.48), GenSys.defs.hh (1.63): All the OK()
+	  methods must be public.
+
+2002-06-16 Sunday 15:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref-browse.doxyconf-latex.in (1.17),
+	  doc/devref-print.doxyconf-latex.in (1.17),
+	  doc/devref.doxyconf-html.in (1.18), interfaces/C/Makefile.am
+	  (1.9), interfaces/Prolog/Ciao/Makefile.am (1.6),
+	  interfaces/Prolog/GNU/Makefile.am (1.17),
+	  interfaces/Prolog/SICStus/Makefile.am (1.25),
+	  interfaces/Prolog/SWI/Makefile.am (1.19),
+	  interfaces/Prolog/YAP/Makefile.am (1.9), src/ConSys.defs.hh
+	  (1.47), src/Constraint.defs.hh (1.58), src/GenSys.defs.hh (1.62),
+	  src/Generator.defs.hh (1.58), src/LinExpression.defs.hh (1.34),
+	  src/Makefile.am (1.41), src/Polyhedron.defs.hh (1.113),
+	  src/Row.defs.hh (1.43), src/ppl_filter_doxygen.sed (1.2),
+	  src/ppl_filter_install.sed (1.2): PPL_INTERNAL has gone: replaced
+	  with `private' everywhere.
+
+2002-06-16 Sunday 15:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/: Makefile.am (1.24), sp_clpq.pl (1.5):
+	  Simplify `make check' in the SICStus directory and solve a `make
+	  distcheck' problem.
+
+2002-06-16 Sunday 08:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/Makefile.am (1.16): Generation of gp_clpq
+	  fixed.
+
+2002-06-16 Sunday 00:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.50), src/ConSys.cc (1.34),
+	  src/ConSys.defs.hh (1.46), src/ConSys.inlines.hh (1.17),
+	  src/Constraint.defs.hh (1.57), src/GenSys.cc (1.53),
+	  src/GenSys.defs.hh (1.61), src/GenSys.inlines.hh (1.19),
+	  src/Generator.defs.hh (1.57), src/LinExpression.defs.hh (1.33),
+	  src/Makefile.am (1.40), src/Polyhedron.defs.hh (1.112),
+	  src/Polyhedron.inlines.hh (1.34): Phasing out PPL_INTERNAL.
+
+2002-06-15 Saturday 18:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: memory1.cc (1.3), watchdog1.cc (1.8): Be quiet.
+
+2002-06-15 Saturday 18:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.32), interfaces/Prolog/ppl_prolog.icc
+	  (1.49), src/C_Polyhedron.defs.hh (1.6),
+	  src/C_Polyhedron.inlines.hh (1.5), src/ConSys.defs.hh (1.45),
+	  src/Constraint.defs.hh (1.56), src/GenSys.defs.hh (1.60),
+	  src/NNC_Polyhedron.defs.hh (1.10), src/NNC_Polyhedron.inlines.hh
+	  (1.7), tests/boundingbox2.cc (1.7): Start replacing our ad hoc
+	  protection mechanisms with friendship.  Got around the GCC bug
+	  described in http://gcc.gnu.org/bugs.html#known by exchanging the
+	  order of arguments in the constructors from bounding boxes of
+	  C_Polyhedron and NNC_Polyhedron.  The test program
+	  boundingbox2.cc has been cleaned up consequently.
+
+2002-06-15 Saturday 17:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.3): Revert previous change: the CVS version of
+	  libtool causes more problems than it solves.
+
+2002-06-15 Saturday 17:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Makefile.am (1.76): Always distribute the sources for
+	  watchdog1.
+
+2002-06-15 Saturday 16:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.2), missing (1.4): Updated to the CVS version of
+	  libtool.
+
+2002-06-15 Saturday 14:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* .cvsignore (1.6): For those building in the sources' directory.
+
+2002-06-15 Saturday 14:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/Makefile.am (1.5): dist-hook goes into the unconditional
+	  section.
+
+2002-06-15 Saturday 14:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Makefile.am (1.75): Always distribute $(watchdog1_SOURCES).
+
+2002-06-15 Saturday 14:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/.cvsignore (1.3), tests/.cvsignore (1.2):
+	  For those building in the sources' directory.
+
+2002-06-15 Saturday 13:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: NNC_Polyhedron.cc (1.9), NNC_Polyhedron.defs.hh (1.9),
+	  Polyhedron.cc (1.176): Corrected method
+	  Polyhedron::limited_widening_assign to work with NNC polyehdra.
+	  Removed the overriding method from NNC_Polyhedron.
+
+2002-06-15 Saturday 13:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Constraint.defs.hh (1.55): Added comment for
+	  construct_eps_geq_zero().
+
+2002-06-15 Saturday 12:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Ciao/.cvsignore (1.2), GNU/.cvsignore (1.2),
+	  SWI/.cvsignore (1.2), YAP/.cvsignore (1.2), YAP/ppl_yap.cc
+	  (1.29), YAP/yap_clpq.pl (1.3): Minor changes to YAP support.
+	  Changes for those building in the sources' directory.
+
+2002-06-15 Saturday 12:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/Makefile.am (1.23): Removed
+	  ppl_sicstus.pl and sp_clpq.pl from MOSTLYCLEANFILES.
+
+2002-06-14 Friday 23:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/ppl_yap.cc (1.28): Support for YAP almost
+	  completed.
+
+2002-06-14 Friday 23:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.48): Include initializer.hh.
+
+2002-06-14 Friday 23:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/initializer.hh (1.2): Added the guard against multiple
+	  inclusion.  Include Init.defs.hh.
+
+2002-06-14 Friday 20:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: ConSys.defs.hh (1.44), Constraint.defs.hh (1.54),
+	  GenSys.defs.hh (1.59): Temporary kludges removed.
+
+2002-06-14 Friday 19:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_prolog.icc (1.47), Ciao/Makefile.am
+	  (1.5), Ciao/ppl_ciao.cc (1.10), GNU/Makefile.am (1.15),
+	  GNU/ppl_gprolog_sd.cc (1.5), SICStus/Makefile.am (1.22),
+	  SICStus/ppl_sicstus_sd.cc (1.15), SWI/Makefile.am (1.18),
+	  SWI/ppl_swiprolog.cc (1.39), YAP/Makefile.am (1.8),
+	  YAP/ppl_yap.cc (1.27): Include the true sources.
+
+2002-06-14 Friday 19:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/ppl_yap.cc (1.26): Prolog_raise_exception()
+	  written.
+
+2002-06-14 Friday 18:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Interval.defs.hh (1.3), Interval.inlines.hh (1.4): Provide
+	  a copy constructor and assignment operator for ExtendedRational.
+
+2002-06-14 Friday 18:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/boundingbox1.cc (1.16): Made it quiet and corrected a
+	  comment.
+
+2002-06-14 Friday 18:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/: boundingbox1.cc (1.15), boundingbox2.cc (1.6): Test file
+	  boundingbox1.cc tidied.  Small changes to comments in
+	  boundingbox2.cc.
+
+2002-06-14 Friday 17:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BoundingBox.cc (1.2), BoundingBox.defs.hh (1.1),
+	  BoundingBox.hh (1.7), BoundingBox.inlines.hh (1.1),
+	  BoundingBox.types.hh (1.1), Interval.defs.hh (1.2),
+	  Interval.inlines.hh (1.3), Makefile.am (1.39),
+	  Polyhedron.inlines.hh (1.33): template <class Box> void
+	  Polyhedron::shrink_bounding_box(Box&) redesigned and simplified.
+	  Many other improvements in the code for dealing with bounding
+	  boxes.
+
+2002-06-14 Friday 17:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/boundingbox2.cc (1.5): Made boundingbox2.cc quiet.
+
+2002-06-14 Friday 16:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/boundingbox2.cc (1.4): Some tidying of the tests.
+
+2002-06-14 Friday 14:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.55), src/Polyhedron.cc (1.175),
+	  src/Polyhedron.defs.hh (1.111): Removed strange mixing of short
+	  and detailed style doxygen comments, that was causing a warning
+	  when building the documentation.  Improved the user introduction,
+	  adding definition of poly-differences.
+
+2002-06-14 Friday 12:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.46): Added to
+	  term_to_boundary checks that the input numerator and denominator
+	  are integers and that the denominator is positive.
+
+2002-06-14 Friday 10:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.45):
+	  ppl_new_Polyhedron_from_bounding_box() fixed and simplified.
+
+2002-06-14 Friday 10:15  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.39): Added a short
+	  description for new_Polyhedron_from_bounding_box.
+
+2002-06-14 Friday 09:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: pl_check.pl (1.11), ppl_prolog.icc (1.44):
+	  Some tidying of the code for
+	  ppl_new_Polyhedron_from_bounding_box.
+
+2002-06-14 Friday 08:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/boundingbox2.cc (1.3): Some bugs fixed.
+
+2002-06-13 Thursday 22:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.43): Fixed two occurrences of
+	  assignment where a test for equality was intended.
+
+2002-06-13 Thursday 16:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.42): In
+	  ppl_new_Polyhedron_from_bounding_box it now fails (ie
+	  PROLOG_FAILURE is returned) if the list is not properly
+	  terminated or it is not a list.  A few comments added to the
+	  code.
+
+2002-06-13 Thursday 16:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: pl_check.pl (1.10), ppl_prolog.icc (1.41),
+	  Ciao/ppl_ciao.pl (1.10), GNU/ppl_gprolog.pl (1.9),
+	  SICStus/ppl_sicstus_sd.cc (1.14), YAP/ppl_yap.cc (1.25):
+	  Completed the code for ppl_new_Polyhedron_from_bounding_box/3.
+
+2002-06-13 Thursday 14:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.38): Prepare to explain
+	  the not-so-easy situation with GNU Prolog.
+
+2002-06-13 Thursday 13:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BoundingBox.cc (1.1), BoundingBox.hh (1.6): Start
+	  completing the BoundingBox class.
+
+2002-06-13 Thursday 12:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/: boundingbox1.cc (1.14), boundingbox2.cc (1.2): More tests
+	  added.
+
+2002-06-13 Thursday 11:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (1.32), tests/Makefile.am (1.74),
+	  tests/boundingbox2.cc (1.1): A bug corrected in the constructor
+	  of a Polyhedron from a Box.  Added a new test boundingbox2.
+
+2002-06-13 Thursday 08:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BoundingBox.hh (1.5): Fixed two bugs whereby call-by-value
+	  was used instead of call-by-reference.
+
+2002-06-12 Wednesday 19:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/ppl_swiprolog.cc (1.38):
+	  ppl_new_Polyhedron_from_bounding_box/3 added.
+
+2002-06-12 Wednesday 17:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.40): A start in completing
+	  ppl_new_Polyhedron_from_bounding_box.
+
+2002-06-12 Wednesday 15:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/: pl_clpq.cc (1.5), ppl_pl.cc (1.5),
+	  ppl_swiprolog.cc (1.37): Also uninstall() "returns" install_t.
+
+2002-06-12 Wednesday 14:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/: pl_clpq.cc (1.4), ppl_pl.cc (1.4),
+	  ppl_swiprolog.cc (1.36): Make sure the library is always
+	  uninstalled.
+
+2002-06-12 Wednesday 10:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (1.11): Added file list for package gprolog.  Updated
+	  file list for package swi.
+
+2002-06-12 Wednesday 10:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/Makefile.am (1.17): Create dynamic
+	  libraries but link statically until we understand whether and if
+	  libtool can be made to interoperate with plld.
+
+2002-06-12 Wednesday 10:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/Makefile.am (1.14): Create dynamic
+	  libraries but link statically until we understand whether and if
+	  libtool can be made to interoperate with gplc.
+
+2002-06-12 Wednesday 08:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.37): Started writing
+	  the documentation for the GNU Prolog interface.
+
+2002-06-12 Wednesday 08:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/globals.hh (1.15): Document struct From_Bounding_Box.
+
+2002-06-11 Tuesday 17:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.54): Added a few words on the double
+	  description method.  Adjusted capitalizations.
+
+2002-06-11 Tuesday 15:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: GenSys.cc (1.52), Polyhedron.cc (1.174): Enforcing
+	  normalization of constraints and generators in Polyhedron methods
+	  strongly_minimize_generators(), add_generator(),
+	  time_elapse_assign()	 and topological_closure_assign(); the same
+	  for method GenSys::add_corresponding_closure_points().
+
+2002-06-11 Tuesday 12:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.cc (1.24), Constraint.defs.hh (1.53),
+	  Generator.cc (1.33): Added method Constraint::OK() to check for
+	  normalization of constraints.  Added the same check to method
+	  Generator::OK().
+
+2002-06-11 Tuesday 11:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: GenSys.cc (1.51), GenSys.defs.hh (1.58), GenSys.inlines.hh
+	  (1.18), Polyhedron.cc (1.173): Added method
+	  GenSys::const_iterator::skip_forward(): if the generator
+	  currently pointed is a closure point and the next generator is
+	  the point matching this closure point, then it skips to the next
+	  generator. This method is used to skip redundant closure points
+	  when iterating through strongly-minimized generator systems.
+	  Added note to Polyhedron::strongly_minimize_generators() stating
+	  that the approach is correct if the generator system is sorted.
+
+2002-06-11 Tuesday 11:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/ConSys.defs.hh (1.43): Corrected comment to the method
+	  skip_forward().
+
+2002-06-11 Tuesday 11:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.inlines.hh (1.27), Generator.cc (1.32):
+	  Enforcing the normalization of constraints and generators.
+
+2002-06-11 Tuesday 09:56  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: definitions.dox (1.53), ppl.sty (1.9): Better explaning
+	  affine transformations.
+
+2002-06-11 Tuesday 09:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.36), pl_check.pl
+	  (1.9): Grammar for boxes and description of
+	  ppl_Polyhedron_get_bounding_box improved.
+
+2002-06-11 Tuesday 08:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.52): Added a paragraph on topologies and
+	  topological compatibility.
+
+2002-06-10 Monday 19:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/Makefile.am (1.21): Fix packaging
+	  problem.
+
+2002-06-10 Monday 19:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/boundingbox1.cc (1.13): Updated so as to abide by the new
+	  interfaces.
+
+2002-06-10 Monday 18:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.31), interfaces/C/ppl_c.h (1.27),
+	  src/BoundingBox.hh (1.4), src/ConSys.defs.hh (1.42),
+	  src/Polyhedron.defs.hh (1.110), src/Polyhedron.inlines.hh (1.31):
+	  This should be the final version of the interfaces for dealing
+	  with bounding boxes.
+
+2002-06-10 Monday 18:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.51): Several improvements and a few
+	  corrections.
+
+2002-06-10 Monday 17:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh (1.109), Polyhedron.inlines.hh (1.30):
+	  Improvements to the documentation of template <class Box>
+	  Polyhedron::Polyhedron(Topology topol, const Box& box).
+
+2002-06-10 Monday 17:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.50): A first attempt to define intervals,
+	  boxes and bounding boxes.
+
+2002-06-10 Monday 16:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh (1.108), Polyhedron.inlines.hh (1.29):
+	  Finished the implementation of constructor   template <class Box>
+	  Polyhedron(Topology topol, const Box& box); Changed comments to
+	  require that class Box provides a method   bool is_empty();
+
+2002-06-10 Monday 15:37  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.49): Minor improvements and bug fixed in
+	  paragraph on the generators representation.
+
+2002-06-10 Monday 14:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (1.28): Avoid a couple of compiler's
+	  warnings.
+
+2002-06-10 Monday 13:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.35): Added grammar for
+	  intervals and description for ppl_Polyhedron_get_bounding_box/2
+
+2002-06-10 Monday 11:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/boundingbox1.cc (1.12): Now it exits with return value 1 if
+	  the boxes are not as expected.
+
+2002-06-10 Monday 11:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.39), src/BoundingBox.hh
+	  (1.3), src/ConSys.defs.hh (1.41), src/Constraint.defs.hh (1.52),
+	  src/GenSys.defs.hh (1.57): ppl_new_Polyhedron_from_bounding_box/3
+	  sketched.  Class Parma_Polyhedra_Library::BoundingBox fixed.
+	  Inserted several temporary kludges related to the interaction of
+	  templates, access control, and the way we produce ppl_install.hh.
+
+2002-06-10 Monday 10:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/clpq2.pl (1.5): clpq2.pl now can handle strict
+	  constraints.
+
+2002-06-10 Monday 10:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BoundingBox.hh (1.2): Complete this implementation of
+	  bounding boxes.
+
+2002-06-10 Monday 10:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.107): Fix the comment fix.
+
+2002-06-10 Monday 10:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.106): Comment fixed.
+
+2002-06-10 Monday 09:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/boundingbox1.cc (1.11): Added operator==() and operator!=()
+	  for BInterval and BBox.
+
+2002-06-10 Monday 09:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.38): Formatting changes.
+
+2002-06-10 Monday 09:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/boundingbox1.cc (1.10): Further small improvements to test
+	  file boundingbox1.cc
+
+2002-06-10 Monday 08:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/clpq2.pl (1.4), tests/boundingbox1.cc (1.9):
+	  boundingbox1.cc is improved but needs further testing.  clpq2.pl
+	  now works with changed interface predicates.
+
+2002-06-10 Monday 08:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/print.hh (1.9): Only declarations here.
+
+2002-06-09 Sunday 19:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.105): Useless `explicit' qualification
+	  removed.
+
+2002-06-09 Sunday 19:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Makefile.am (1.14), ppl_prolog.pl (1.4),
+	  GNU/Makefile.am (1.13), GNU/ppl_gprolog.pl (1.8),
+	  GNU/ppl_gprolog_sd.pl (1.11), SICStus/Makefile.am (1.20),
+	  SICStus/ppl_sicstus.pl (1.21), SICStus/ppl_sicstus_sd.pl (1.3):
+	  Reorganization due to the fact that ppl_prolog.pl was obsolete.
+
+2002-06-09 Sunday 19:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c.cc (1.30): Use the new bounding box
+	  constructors.
+
+2002-06-09 Sunday 19:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: C_Polyhedron.defs.hh (1.5), C_Polyhedron.inlines.hh (1.4),
+	  NNC_Polyhedron.defs.hh (1.8), NNC_Polyhedron.inlines.hh (1.6),
+	  globals.hh (1.14): Differentiate the bounding box constructors
+	  for C_Polyhedron and NNC_Polyhedron from all the other
+	  constructors.
+
+2002-06-09 Sunday 18:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.34), exceptions.hh
+	  (1.6), pl_check.pl (1.8), track_allocation.hh (1.4),
+	  Ciao/ppl_ciao.pl (1.9), GNU/gp_clpq.pl (1.5),
+	  GNU/ppl_gprolog_sd.pl (1.10), SICStus/ppl_sicstus_sd.pl (1.2),
+	  SICStus/sp_clpq.pl (1.4), SWI/pl_clpq.cc (1.3), SWI/pl_clpq.pl
+	  (1.3), SWI/ppl_pl.cc (1.3), YAP/ppl_yap.pl (1.4), YAP/yap_clpq.pl
+	  (1.2): Copyright and "no warranty" notices added.
+
+2002-06-09 Sunday 16:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.lsm.in (1.3): Updated.
+
+2002-06-09 Sunday 16:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: Makefile.am (1.4), configure.ac (1.6): Consistent
+	  spelling for Autoconf and Automake.
+
+2002-06-09 Sunday 16:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.46): Set CFLAGS properly.  Quote systematically.
+
+2002-06-09 Sunday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/configure.ac (1.5): Set CFLAGS properly.  Check for
+	  header files and library functions only if we are building the
+	  library.
+
+2002-06-09 Sunday 16:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.45), Watchdog/configure.ac (1.4): Be more
+	  friendly to compilers different from GCC.
+
+2002-06-09 Sunday 14:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.29), ppl_c.h (1.26): Added
+	  ppl_new_C_Polyhedron_from_bounding_box() and
+	  ppl_new_NNC_Polyhedron_from_bounding_box().
+
+2002-06-09 Sunday 14:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: C_Polyhedron.defs.hh (1.4), C_Polyhedron.inlines.hh (1.3),
+	  NNC_Polyhedron.defs.hh (1.7), NNC_Polyhedron.inlines.hh (1.5),
+	  Polyhedron.defs.hh (1.104), Polyhedron.inlines.hh (1.27): Added
+	  template <class Box> C_Polyhedron::C_Polyhedron(const Box& box)
+	  and template <class Box> NNC_Polyhedron::NNC_Polyhedron(const
+	  Box& box).  Added the declaration and documentation and sketched
+	  the implementation of template <class Box>
+	  Polyhedron::Polyhedron(Topology topol, const Box& box): these
+	  constructor allow to builds a polyhedron out of a generic,
+	  interval-based bounding box.
+
+	  Documentation of Polyhedron::shrink_bounding_box(Box& box)
+	  revised: we now promise to communicate rational numbers using
+	  fractions in canonical form.	The fraction n/d is in canonical
+	  form if and only if n and d have no common factors and d is
+	  positive, 0/1 being the unique representation for zero.
+
+2002-06-09 Sunday 12:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.48): Added definitions of "minimized"
+	  constraints and generators.
+
+2002-06-09 Sunday 11:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.47): Further updating of the user manual
+	  to allow for NNC polyhedra.  Minkowski's and Weil's theorems and
+	  some definitions moved to the developers part.
+
+2002-06-09 Sunday 08:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Interval.inlines.hh (1.2): Removed redundant and erroneous
+	  default argument specification.
+
+2002-06-08 Saturday 17:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Interval.hh (1.3), Makefile.am (1.13),
+	  ppl_prolog.icc (1.37): Use the new implementation of bounding
+	  boxes.
+
+2002-06-08 Saturday 17:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/addconstraints2.cc (1.12): Shut up if not noisy.
+
+2002-06-08 Saturday 17:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: BoundingBox.hh (1.1), Interval.cc (1.1), Interval.defs.hh
+	  (1.1), Interval.inlines.hh (1.1), Interval.types.hh (1.1),
+	  Makefile.am (1.38): New implementation of bounding boxes.
+
+2002-06-08 Saturday 17:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.73), addconstraints2.cc (1.11),
+	  boundingbox1.cc (1.8), ehandlers.cc (1.1), ehandlers.hh (1.4),
+	  memory1.cc (1.2), print.cc (1.1), print.hh (1.8), smm1.cc (1.5),
+	  watchdog1.cc (1.7): Better implementation for auxiliary
+	  functions.  Some more cleaning.
+
+2002-06-08 Saturday 12:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Interval.hh (1.2), ppl_prolog.icc (1.36),
+	  Ciao/ppl_ciao.cc (1.9), Ciao/ppl_ciao.pl (1.8), GNU/gp_clpq.pl
+	  (1.4), GNU/ppl_gprolog_sd.pl (1.9), SICStus/ppl_sicstus_sd.cc
+	  (1.13), SWI/ppl_swiprolog.cc (1.35), YAP/ppl_yap.cc (1.24):
+	  Initial implementation for ppl_Polyhedron_get_bounding_box/2.
+	  ppl_init/0 removed (was an inferior duplicate of
+	  ppl_initialize/0).
+
+2002-06-07 Friday 17:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.46): On-going reorganisation of
+	  introduction based on some of the items suggested by Enea.
+
+2002-06-07 Friday 16:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: exceptions.hh (1.5), ppl_prolog.icc (1.35):
+	  The function term_to_polyhedron_handle() replaces
+	  get_ph_pointer().  The new function either return a plausible
+	  polyhedron handle or throws the `not_a_polyhedron_handle'
+	  exception.  All sites that used to call get_ph_pointer() have
+	  been consequently simplified.
+
+2002-06-07 Friday 16:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.12): Stub
+	  declarations fixed.
+
+2002-06-07 Friday 14:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.172): Corrected a bug in
+	  strongly_minimize_constraints() whereby sat_c was declared
+	  up-to-date even if it was not the case.
+
+2002-06-07 Friday 13:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: definitions.dox (1.45), ppl.sty (1.8): Some further step
+	  toward the reorganization of user-manual intro.
+
+2002-06-07 Friday 13:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.33): Documentation for
+	  the Prolog interface updated to allow for the change to more
+	  generic predicates.
+
+2002-06-07 Friday 13:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/exceptions2.cc (1.6): Typos fixed.
+
+2002-06-07 Friday 12:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: clpq.pl (1.8), pl_check.pl (1.7),
+	  ppl_prolog.icc (1.34), Ciao/ppl_ciao.pl (1.7),
+	  GNU/ppl_gprolog_sd.pl (1.8), SICStus/ppl_sicstus_sd.cc (1.11),
+	  SWI/ppl_swiprolog.cc (1.34), YAP/ppl_yap.cc (1.23): All
+	  predicates specific to C or NNC now removed and replaced by
+	  generic predicates. Documentation needs to be updated.
+
+2002-06-07 Friday 11:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: pl_check.pl (1.6), ppl_prolog.icc (1.33),
+	  SWI/ppl_swiprolog.cc (1.33): Predicates
+	  ppl_new_Polyhedron_from_Polyhedron/4,
+	  ppl_new_Polyhedron_from_ConSys/3, and
+	  ppl_new_Polyhedron_from_GenSys/3 added - just defined in SWI
+	  Prolog in this commit.
+
+2002-06-07 Friday 11:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.32): Explain how to
+	  enable polyhedra allocation tracking.
+
+2002-06-07 Friday 10:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.32): Creation and disposal of
+	  polyhedra is enabled only if explicitely requested.
+
+2002-06-07 Friday 10:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.31): Remove useless inclusion
+	  and using namespace directives.
+
+2002-06-07 Friday 10:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.30): Avoid quoting for better
+	  output.
+
+2002-06-07 Friday 10:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: exceptions.hh (1.4), ppl_prolog.icc (1.29):
+	  New internal_exception: not_a_polyhedron_kind.  New function
+	  term_to_polyhedron_kind() replaces term_to_atom().
+
+2002-06-07 Friday 08:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.28): `a_closed' renamed
+	  `a_c'.
+
+2002-06-07 Friday 08:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_prolog.icc (1.27), Ciao/ppl_ciao.cc
+	  (1.8), GNU/ppl_gprolog_sd.cc (1.4), SICStus/ppl_sicstus_sd.cc
+	  (1.10), SWI/ppl_swiprolog.cc (1.32), YAP/ppl_yap.cc (1.22):
+	  Prolog_get_name_arity() renamed Prolog_get_compound_name_arity().
+
+2002-06-07 Friday 08:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_prolog.icc (1.26), Ciao/ppl_ciao.cc
+	  (1.7), GNU/ppl_gprolog_sd.cc (1.3), SICStus/ppl_sicstus_sd.cc
+	  (1.9), SWI/ppl_swiprolog.cc (1.31), YAP/ppl_yap.cc (1.21):
+	  Prolog_get_atom_name() added.
+
+2002-06-07 Friday 07:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Ciao/ppl_ciao.cc (1.6), Ciao/ppl_ciao.pl
+	  (1.6), GNU/ppl_gprolog_sd.cc (1.2), SICStus/ppl_sicstus_sd.cc
+	  (1.8), SWI/ppl_swiprolog.cc (1.30), YAP/ppl_yap.cc (1.20):
+	  Prolog_is_atom() added.
+
+2002-06-06 Thursday 18:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: pl_check.pl (1.5), ppl_prolog.icc (1.25),
+	  SWI/ppl_swiprolog.cc (1.29): Added 2 generic predicates
+	  ppl_new_Polyhedron_from_dimension/3 and
+	  ppl_new_Polyhedron_empty_from_dimension/3 where the 1st argument
+	  must be c or nnc.  The only Prolog system with interface changed
+	  is SWI.
+
+2002-06-06 Thursday 17:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (1.10): The `swi' package has now its `%files'
+	  section.
+
+2002-06-06 Thursday 17:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.44): Version number bumped.
+
+2002-06-06 Thursday 17:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.31), SWI/Makefile.am
+	  (1.16), SWI/pl_clpq.cc (1.2), SWI/ppl_pl.cc (1.2),
+	  SWI/ppl_swiprolog.cc (1.28): Support for SWI-Prolog completed and
+	  documented.
+
+2002-06-06 Thursday 15:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.44): Slowly progressing.
+
+2002-06-06 Thursday 12:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: definitions.dox (1.43), ppl.sty (1.7): Started rewriting
+	  the introduction to the user manual.
+
+2002-06-06 Thursday 10:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.30): Explained how to
+	  use the library from SICStus Prolog.
+
+2002-06-06 Thursday 09:40  Elisa Ricci
+
+	* src/: ConSys.defs.hh (1.40), Constraint.defs.hh (1.51),
+	  Generator.defs.hh (1.56), LinExpression.defs.hh (1.32),
+	  Matrix.defs.hh (1.24), Polyhedron.defs.hh (1.103), Row.defs.hh
+	  (1.42), SatMatrix.defs.hh (1.17), SatRow.defs.hh (1.13),
+	  Status.defs.hh (1.15): Now, a Doxygen comment is separated by an
+	  empty line from the C++ item that precedes it.
+
+2002-06-05 Wednesday 22:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/: Makefile.am (1.15), ppl_pl.cc (1.1),
+	  pplpl.cc (1.2): Renamed pplpl.cc to ppl_pl.cc.
+
+2002-06-05 Wednesday 22:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (1.9): We will build several RPM packages out of our
+	  source tree.
+
+2002-06-05 Wednesday 17:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.23): Added support for timeout-guarded operations.
+
+2002-06-05 Wednesday 17:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.72), timings.cc (1.1), timings.hh (1.1),
+	  watchdog1.cc (1.6): When NOISY, watchdog1 prints the time after
+	  which the timeout exception has been received.
+
+2002-06-05 Wednesday 17:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.29): Added
+	  documentation for the minimized_constraints and
+	  minimized_generators predicates.  Removed comments that SWI, GNU,
+	  YAP are not yet supported.
+
+2002-06-05 Wednesday 17:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.28), ppl_c.h (1.25): Added support for
+	  minimized_constraints() and minimized_generators() to the C
+	  interface.
+
+2002-06-05 Wednesday 16:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_prolog.icc (1.24), Ciao/ppl_ciao.pl
+	  (1.5), GNU/ppl_gprolog_sd.pl (1.7), SICStus/ppl_sicstus_sd.cc
+	  (1.7), SWI/ppl_swiprolog.cc (1.27), YAP/ppl_yap.cc (1.19): All
+	  Prolog interfaces now have methods for accessing the minimized
+	  constraint and generator systems.
+
+2002-06-05 Wednesday 16:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/globals.hh (1.13): Simpler and more efficient implementation
+	  of Parma_Polyhedra_Library::maybe_abandon().
+
+2002-06-05 Wednesday 16:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: conversion.cc (1.28), globals.hh (1.12): Documentation of
+	  `abandon_exponential_computations' changed: we now provide a
+	  quite strong guarantee, which is implemented in
+	  Polyhedron::conversion().
+
+2002-06-05 Wednesday 15:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.102), tests/NNCminimize1.cc (1.3),
+	  tests/NNCminimize2.cc (1.3), tests/NNCminimize3.cc (1.3),
+	  tests/NNCminimize4.cc (1.5), tests/NNCminimize6.cc (1.4): Methods
+	  strongly_minimize(), strongly_minimize_constraints() and
+	  strongly_minimize_generators() are now private; tests changed to
+	  call the public methods minimized_constraints() and
+	  minimized_generators(), instead.
+
+2002-06-05 Wednesday 15:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.22): More news.
+
+2002-06-05 Wednesday 14:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.21): News items added.  List sorted to match the
+	  (subjective) relative importance of the innovations.
+
+2002-06-05 Wednesday 12:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.22): Removed some obsolete entries.
+
+2002-06-05 Wednesday 12:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.20): Mention the addition of the time-elapse operation.
+
+2002-06-05 Wednesday 08:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.19), configure.ac (1.43), doc/Makefile.am (1.18),
+	  interfaces/Makefile.am (1.5), interfaces/C/Makefile.am (1.8),
+	  interfaces/Prolog/Makefile.am (1.12),
+	  interfaces/Prolog/Ciao/Makefile.am (1.4),
+	  interfaces/Prolog/GNU/Makefile.am (1.12),
+	  interfaces/Prolog/SICStus/Makefile.am (1.19),
+	  interfaces/Prolog/SWI/Makefile.am (1.14),
+	  interfaces/Prolog/YAP/Makefile.am (1.7), m4/Makefile.am (1.6),
+	  src/Makefile.am (1.37), tests/Makefile.am (1.71): File
+	  description improved.
+
+2002-06-05 Wednesday 08:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.18): Improved formatting.
+
+2002-06-04 Tuesday 20:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.10), config.sub (1.9): Updated.
+
+2002-06-04 Tuesday 18:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* INSTALL (1.3), ChangeLog (1.8): Updated.
+
+2002-06-04 Tuesday 17:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS (1.3): Updated.
+
+2002-06-04 Tuesday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* BUGS (1.2): Written.
+
+2002-06-04 Tuesday 15:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/Makefile.am (1.13): Do not assume the
+	  library has already been installed.
+
+2002-06-04 Tuesday 15:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/Makefile.am (1.11): Do not assume `.' is
+	  the first item of the current PATH.
+
+2002-06-04 Tuesday 12:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/Makefile.am (1.10): No longer require that
+	  the library is already installed for a successful `make check'.
+
+2002-05-31 Friday 11:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.h.in (1.14), configure.ac (1.42), interfaces/C/Makefile.am
+	  (1.7): Improvements in automatic configuration and make file
+	  generation.
+
+2002-05-31 Friday 11:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.70), memory1.cc (1.1): To test the
+	  allocation error recovery facility of the library.  Not yet
+	  operational.
+
+2002-05-31 Friday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/watchdog1.cc (1.5): Minor improvements.
+
+2002-05-30 Thursday 16:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.171): Modified methos strongly_minimize()
+	  according to the recent findings by Pat.
+
+2002-05-30 Thursday 15:39  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.170): In method
+	  strongly_minimize_constraints(), corrected handling of the sorted
+	  flag for the constraint system and of the changed boolean flag.
+
+2002-05-30 Thursday 15:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.169): In methods strongly_minimize_*(),
+	  keeping track of whether or not we modify the considered system.
+	  If there has been no changes, the dual system is not flagged as
+	  out-of-date at the end of the method.
+
+2002-05-30 Thursday 11:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.168): The method
+	  strongly_minimize_generators() now forces all point encodings to
+	  have the same epsilon-coordinate (which is 1).
+
+2002-05-29 Wednesday 18:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.28), pl_check.pl
+	  (1.4): Documentation now introduces the C and NNC polyhedra.	The
+	  grammar rules allow for strict inequalities and closure points.
+	  The test file has minor improvements; checking that redundant
+	  strict inequalities are ignored when creating a C polyhedron as a
+	  copy of an NNC polyhedra.
+
+2002-05-29 Wednesday 15:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: NNCminimize1.cc (1.2), NNCminimize2.cc (1.2),
+	  NNCminimize3.cc (1.2), NNCminimize4.cc (1.4), NNCminimize6.cc
+	  (1.3): Methods NNC_minimize* renamed as strongly_minimize*
+
+2002-05-29 Wednesday 15:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.167), Polyhedron.defs.hh (1.101): Methods
+	  NNC_minimize* renamed as strongly_minimize* and implemented
+	  (almost) according to the technical report Q286.  When strongly
+	  minimizing a constraint system, we now always remove any
+	  eps-upper-bound constraint and we later insert back the
+	  constraint eps-leq-one only if that is needed to obtain an
+	  epsilon-representation.
+
+2002-05-29 Wednesday 07:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: NNCinclusion1.cc (1.2), NNCminimize6.cc (1.2),
+	  boundingbox1.cc (1.7), watchdog1.cc (1.4), widening2.cc (1.2): Be
+	  quiet.
+
+2002-05-28 Tuesday 16:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.166): Several simplifications in strong
+	  minmization of constraints and generators and in check for
+	  topological closure of a NNC polyhedron.
+
+2002-05-28 Tuesday 16:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Generator.cc (1.31), Generator.defs.hh (1.55): Method
+	  is_corresponding_closure_point() renamed as
+	  is_matching_closure_point().
+
+2002-05-28 Tuesday 13:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* .cvsignore (1.5), Watchdog/.cvsignore (1.2),
+	  interfaces/C/.cvsignore (1.2), interfaces/Prolog/ppl_prolog.icc
+	  (1.23), interfaces/Prolog/SICStus/.cvsignore (1.2): For those
+	  building in the sources' tree.
+
+2002-05-28 Tuesday 13:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/watchdog1.cc (1.3): Adapted to the new version of the
+	  Watchdog library and "abandon" mechanism.
+
+2002-05-28 Tuesday 12:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: globals.cc (1.7), globals.hh (1.11): Improved
+	  implementation of the "abandon" mechanism.
+
+2002-05-28 Tuesday 12:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: Watchdog.cc (1.4), Watchdog.defs.hh (1.2),
+	  Watchdog.inlines.hh (1.2): Better implementation using templates.
+
+2002-05-28 Tuesday 12:12  Elisa Ricci
+
+	* src/Polyhedron.cc (1.165): Corrected an error in
+	  Polyhedron::topological_closure_assign(): if we modify the system
+	  of constraints or of generators, it is no longer minimized.
+
+2002-05-27 Monday 17:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: pl_check.pl (1.3), ppl_prolog.icc (1.22): Bug
+	  in ppl_prolog.icc corrected.	Tests in pl_check.pl amended to use
+	  poly_hull and poly_difference instead of convex_hull and
+	  convex_difference.
+
+2002-05-27 Monday 16:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/.cvsignore (1.5): For those that build in the source
+	  directory.
+
+2002-05-27 Monday 16:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl_header.bottom (1.4): Undefine all autoconf macros.
+
+2002-05-27 Monday 16:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/Makefile.am (1.6),
+	  interfaces/Prolog/Ciao/Makefile.am (1.3),
+	  interfaces/Prolog/GNU/Makefile.am (1.9),
+	  interfaces/Prolog/SICStus/Makefile.am (1.18),
+	  interfaces/Prolog/SWI/Makefile.am (1.12),
+	  interfaces/Prolog/YAP/Makefile.am (1.6), src/Makefile.am (1.36):
+	  INCLUDES is deprecated: use AM_CPPFLAGS instead.
+
+2002-05-27 Monday 16:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.69), watchdog1.cc (1.2): Stress test for
+	  the timeout facility.
+
+2002-05-27 Monday 15:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: Makefile.am (1.3), README (1.3), Timeout.hh (1.3),
+	  Watchdog.cc (1.3), Watchdog.defs.hh (1.1), Watchdog.hh (1.3),
+	  Watchdog.inlines.hh (1.1), Watchdog.types.hh (1.1), configure.ac
+	  (1.3), pwl_filter_doxygen.sed (1.1), pwl_filter_install.sed
+	  (1.1), pwl_header.bottom (1.1), pwl_header.middle (1.1),
+	  pwl_header.top (1.1): The Watchdog library is now complete.
+
+2002-05-27 Monday 13:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.27): Prolog interface
+	  predicates and their names in the documentation now agree with
+	  each other.
+
+2002-05-26 Sunday 14:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.164): Assertion fixed in
+	  time_elapse_assign().
+
+2002-05-26 Sunday 14:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.163): Properly identify time_elapse_assign()
+	  when throwing an exception from there.
+
+2002-05-25 Saturday 18:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Makefile.am (1.35), Row.cc (1.36), SatMatrix.cc (1.16),
+	  maxmin.hh (1.3): Baking our own versions of max() and min() was a
+	  bad idea.
+
+2002-05-25 Saturday 16:26  Elisa Ricci
+
+	* src/Polyhedron.cc (1.162), src/Polyhedron.defs.hh (1.100),
+	  tests/timeelapse1.cc (1.2), tests/timeelapse2.cc (1.2),
+	  tests/timeelapse3.cc (1.2), tests/timeelapse4.cc (1.2): Changed
+	  the function Polyhedron::time_elapse_assign() so that only
+	  polyhedra that are topology-compatible can be used and modified
+	  the tests so that the polyhedra satisfy this condition.
+
+2002-05-24 Friday 11:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.161): Corrected method
+	  topological_closure_assign(): inserting the constraint
+	  eps_leq_one after modifying the polyhedron to enforce the epsilon
+	  upper bound.
+
+2002-05-24 Friday 10:34  Elisa Ricci
+
+	* src/Constraint.cc (1.23): Corrected an error in the function
+	  Constraint::is_trivial_true(): a strict inequality such as `lhs -
+	  k > 0' can not be trivial true if `k' is a non negative integer.
+
+2002-05-24 Friday 07:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.41), tests/Makefile.am (1.68), tests/watchdog1.cc
+	  (1.1): Prepare for testing the timeout facility.
+
+2002-05-24 Friday 07:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.17): If we are building the Watchdog library, make
+	  sure it is built before entering the `tests' directory.
+
+2002-05-24 Friday 07:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/: Makefile.am (1.2), README (1.2), Timeout.hh (1.2),
+	  Watchdog.cc (1.2), Watchdog.hh (1.2), config.h.in (1.2),
+	  configure.ac (1.2): Several improvement (but still not
+	  operational).
+
+2002-05-24 Friday 07:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.26): Be more specific
+	  about how to use the library in SICStus Prolog.
+
+2002-05-23 Thursday 10:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/widening2.cc (1.1): widening2.cc shows a precision problem
+	  in Polyhedron::widening_assign().
+
+2002-05-23 Thursday 09:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Makefile.am (1.67): widening2.cc shows a precision problem
+	  in Polyhedron::widening_assign().
+
+2002-05-22 Wednesday 13:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/globals.cc (1.6): Definition of
+	  abandon_exponential_computations fixed again.
+
+2002-05-22 Wednesday 13:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/conversion.cc (1.27): Added a call to maybe_abandon(): this
+	  is supposed to be called on all the exponential paths within the
+	  library and, in such paths, invocations to it should be separated
+	  from one another by a distance that is bounded from above by a
+	  polynomial of the size of the input to conversion().
+
+2002-05-22 Wednesday 13:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/globals.cc (1.5): Definition of
+	  abandon_exponential_computations fixed.
+
+2002-05-22 Wednesday 11:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: convexdifference1.cc (1.10), convexhull1.cc (1.7),
+	  convexhull2.cc (1.6), convexhull3.cc (1.6), convexhull4.cc (1.5),
+	  randchull1.cc (1.15): Removed and replaced by tests named
+	  "poly*".
+
+2002-05-22 Wednesday 11:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am (1.66), NNCminimize5.cc (1.2), append1.cc
+	  (1.11), append2.cc (1.12), exceptions1.cc (1.8), permute.cc
+	  (1.16), polydifference1.cc (1.1), polyhull1.cc (1.1),
+	  polyhull2.cc (1.1), polyhull3.cc (1.1), polyhull4.cc (1.1),
+	  randchull1.cc (1.14), randphull1.cc (1.1), widening1.cc (1.4):
+	  Renaming convex-hull into poly-hull.
+
+2002-05-22 Wednesday 11:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.160), src/Polyhedron.defs.hh (1.99),
+	  interfaces/C/ppl_c.cc (1.27), interfaces/C/ppl_c.h (1.24),
+	  interfaces/Prolog/Prolog_interface.dox (1.25),
+	  interfaces/Prolog/pl_check.pl (1.2),
+	  interfaces/Prolog/ppl_prolog.icc (1.21),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.4),
+	  interfaces/Prolog/GNU/ppl_gprolog_sd.pl (1.6),
+	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.6),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.26),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.18): Renamed convex-hull into
+	  poly-hull.
+
+2002-05-22 Wednesday 11:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/Makefile.am (1.11): Build the SWI Prolog
+	  interface only if SWI Prolog is installed.
+
+2002-05-22 Wednesday 11:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.16), configure.ac (1.40), Watchdog/.cvsignore
+	  (1.1), Watchdog/BUGS (1.1), Watchdog/COPYING (1.1),
+	  Watchdog/CREDITS (1.1), Watchdog/ChangeLog (1.1),
+	  Watchdog/INSTALL (1.1), Watchdog/Makefile.am (1.1), Watchdog/NEWS
+	  (1.1), Watchdog/README (1.1), Watchdog/Timeout.hh (1.1),
+	  Watchdog/Watchdog.cc (1.1), Watchdog/Watchdog.hh (1.1),
+	  Watchdog/config.h.in (1.1), Watchdog/configure.ac (1.1): Even
+	  though the Watchdog library is completely independent from the
+	  PPL, it will live with it, at least for a while.
+
+2002-05-22 Wednesday 08:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Makefile.am (1.34), globals.cc (1.4), globals.hh (1.10):
+	  New timeout mechanisms.
+
+2002-05-22 Wednesday 08:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.159): Typo fixed.
+
+2002-05-22 Wednesday 08:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/GenSys.cc (1.50): Useless emphasis removed.
+
+2002-05-22 Wednesday 08:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Makefile.am (1.11), Ciao/Makefile.am (1.2):
+	  Compile also the Ciao Prolog interface, if Ciao Prolog is
+	  available.
+
+2002-05-22 Wednesday 08:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: devref-browse.doxyconf-latex.in (1.16),
+	  devref-print.doxyconf-latex.in (1.16), devref.doxyconf-html.in
+	  (1.17): Fixes and additions for the developer's documentation of
+	  Prolog interfaces.
+
+2002-05-18 Saturday 16:56  Elisa Ricci
+
+	* src/Polyhedron.cc (1.158), src/Polyhedron.defs.hh (1.98),
+	  tests/Makefile.am (1.65), tests/exceptions1.cc (1.7),
+	  tests/timeelapse1.cc (1.1), tests/timeelapse2.cc (1.1),
+	  tests/timeelapse3.cc (1.1), tests/timeelapse4.cc (1.1),
+	  tests/timeelapse5.cc (1.1): Added the function void
+	  time_elapse_assign(const Polyhedron&) and some tests for it.
+
+2002-05-17 Friday 07:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/ppl_yap.cc (1.17): Commented out statement
+	  removed.
+
+2002-05-17 Friday 07:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/: .cvsignore (1.1), Makefile.am (1.1),
+	  ppl_ciao.cc (1.5): Rewritten using the interface provided by Ciao
+	  Prolog 1.8 (still not operational).
+
+2002-05-14 Tuesday 09:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/pl_check.pl (1.1): pl_check.pl can be used to
+	  run all the interface predicates with simple tests.
+
+2002-05-14 Tuesday 09:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: clpq.pl (1.7), ppl_prolog.icc (1.20),
+	  GNU/ppl_gprolog_sd.pl (1.5), SICStus/ppl_sicstus_sd.cc (1.5),
+	  SWI/ppl_swiprolog.cc (1.25), YAP/ppl_yap.cc (1.16): All interface
+	  predicates now renamed and completed apart from
+	  shrink_bounding_box predicate.
+
+2002-05-13 Monday 18:17  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_prolog.icc (1.19), GNU/ppl_gprolog_sd.pl
+	  (1.4), SICStus/ppl_sicstus_sd.cc (1.4), SWI/ppl_swiprolog.cc
+	  (1.24), YAP/ppl_yap.cc (1.15): Prolog interface predicates for
+	  removing dimensions renamed.
+
+2002-05-13 Monday 17:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_prolog.icc (1.18), ppl_prolog.pl (1.3),
+	  GNU/ppl_gprolog_sd.pl (1.3), SICStus/ppl_sicstus_sd.cc (1.3),
+	  SWI/ppl_swiprolog.cc (1.23), YAP/ppl_yap.cc (1.14): The "add"
+	  predicates renamed or added to the Prolog interface.
+
+2002-05-13 Monday 15:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: clpq.pl (1.6), ppl_prolog.icc (1.17),
+	  GNU/ppl_gprolog_sd.pl (1.2), SICStus/ppl_sicstus_sd.cc (1.2),
+	  SWI/ppl_swiprolog.cc (1.22), YAP/ppl_yap.cc (1.13): More
+	  interface predicates updated for NNC polyhedra
+
+2002-05-13 Monday 10:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.15), configure.ac (1.39): Use --enable-shared when
+	  making distcheck.  Make sure we really have the Prolog systems.
+
+2002-05-13 Monday 10:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Makefile.am (1.10), ppl_prolog.icc (1.16):
+	  Always enter subdirectories.	Source file ppl_prolog.icc is a C++
+	  file.
+
+2002-05-13 Monday 10:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/: Makefile.am (1.8), ppl_gprolog.cc (1.13),
+	  ppl_gprolog.pl (1.7), ppl_gprolog_sd.cc (1.1), ppl_gprolog_sd.pl
+	  (1.1): Cleaned up.
+
+2002-05-13 Monday 10:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/: Makefile.am (1.17), ppl_sicstus.cc
+	  (1.54), ppl_sicstus.pl (1.20), ppl_sicstus_sd.cc (1.1),
+	  ppl_sicstus_sd.pl (1.1), sp_clpq.pl (1.3): Cleaned up: works both
+	  with static and dynamic linking.
+
+2002-05-13 Monday 10:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/: Makefile.am (1.5), ppl_yap.cc (1.12),
+	  ppl_yap.pl (1.3): Cleaned up, but still not operational.
+
+2002-05-10 Friday 13:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.38), interfaces/Prolog/SICStus/Makefile.am
+	  (1.16): Some Progress with the SICStus interface.
+
+2002-04-28 Sunday 22:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (1.26): Formatting change.
+
+2002-04-24 Wednesday 21:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.15): Fixed two declarations
+	  of std::ostringstream's.
+
+2002-04-20 Saturday 22:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Polyhedron.inlines.hh (1.25), tests/boundingbox1.cc (1.6):
+	  shrink_bounding_box now works for NNC polyhedra defined both with
+	  and without strict inequalites.  The test file boundingbox1.cc
+	  has been also updated to deal with NNC polyhedra.  Extra tests
+	  have been added to check the changes.
+
+2002-04-19 Friday 17:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.14): Now including the
+	  closure points in the list of generators is ok when creating new
+	  polyhedra from lists of generators in the Prolog interface.
+
+2002-04-19 Friday 16:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_prolog.icc (1.13), GNU/ppl_gprolog.pl
+	  (1.6): Predicates for GNU Prolog brought in line with the Prolog
+	  interface.
+
+2002-04-19 Friday 15:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.12): Now constraint_term()
+	  supports strict inequalities.
+
+2002-04-19 Friday 15:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/inclusion1.cc (1.2): Be quiet.
+
+2002-04-19 Friday 14:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.11): a_strictly_greater_than
+	  and a_strictly_less_than renamed a_greater_than and a_less_than.
+
+2002-04-19 Friday 14:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.10): Throw an exception
+	  instead of aborting in generator_term().
+
+2002-04-19 Friday 14:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_prolog.icc (1.9), GNU/ppl_gprolog.cc
+	  (1.12), SICStus/ppl_sicstus.cc (1.53), SWI/ppl_swiprolog.cc
+	  (1.21), YAP/ppl_yap.cc (1.11): General cleanup.
+
+2002-04-19 Friday 13:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: clpq.pl (1.5), ppl_prolog.icc (1.8): The
+	  order of arguments in the revised predicates is input followed by
+	  output.  The ppl_prolog.icc now has code to handle strict
+	  inequalities and closure points.  clpq.pl has been updated to use
+	  the revised predicates.
+
+2002-04-19 Friday 11:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/ppl_swiprolog.cc (1.20):
+	  ppl_delete_polyhedron/2 renamed ppl_delete_Polyhedron/2.
+
+2002-04-19 Friday 11:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_prolog.icc (1.7), SICStus/ppl_sicstus.cc
+	  (1.52), SWI/ppl_swiprolog.cc (1.19), YAP/ppl_yap.cc (1.10): The
+	  code for ppl_new_NNC_Polyhedron_from_GenSys uncommented.
+
+2002-04-19 Friday 10:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_prolog.icc (1.6), SICStus/ppl_sicstus.cc
+	  (1.51), SWI/ppl_swiprolog.cc (1.18): ppl_delete_polyhedron
+	  renamed ppl_delete_Polyhedron.  SP_STUB_0 macro fixed.
+
+2002-04-19 Friday 10:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/ppl_yap.cc (1.9): Added missing semicolons.
+
+2002-04-19 Friday 10:17  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_prolog.icc (1.5): In the copy
+	  methods/predicates the arguments have been reversed to match the
+	  corresponding ones in the C interface.  Now the 1st argument
+	  unifies with a handle for the new polyhedron and the 2nd argument
+	  is the handle for the source/original polyhedron.  Predicates
+	  affected are: ppl_new_C_Polyhedron_from_C_Polyhedron,
+	  ppl_new_NNC_Polyhedron_from_NNC_Polyhedron,
+	  ppl_new_C_Polyhedron_from_NNC_Polyhedron,
+	  ppl_new_NNC_Polyhedron_from_C_Polyhedron.
+
+2002-04-19 Friday 10:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_prolog.icc (1.4), SICStus/ppl_sicstus.cc
+	  (1.50), SWI/ppl_swiprolog.cc (1.17), YAP/ppl_yap.cc (1.8):
+	  Predicates: ppl_new_C_Polyhedron_from_ConSys,
+	  ppl_new_NNC_Polyhedron_from_ConSys,
+	  ppl_new_C_Polyhedron_from_GenSys added.
+
+2002-04-19 Friday 08:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_prolog.icc (1.3), SICStus/ppl_sicstus.cc
+	  (1.49), SWI/ppl_swiprolog.cc (1.16), YAP/ppl_yap.cc (1.7): The
+	  new, new_empty and copy predicates have been replaced by ones
+	  that allow for C and NNC polyhedra to match the same methods in
+	  the C interface.  Propositions ppl_initialize and ppl_finalize
+	  added.
+
+2002-04-16 Tuesday 09:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.157): Test NNCminimize6 has shown that our
+	  check for topological closure was relying on a false invariant
+	  (namely, that in a weakly minimized constraint system any strict
+	  inequality can be made redundant by another strict inequality
+	  only).  Corrected the implementation of
+	  is_topologically_closed().
+
+2002-04-15 Monday 10:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/ConSys.cc (1.33): Corrected a memory allocation bug in
+	  ConSys::insert(const Constraint& c).	Now test NNCminimize6 shows
+	  that the strong minimization of constraints for NNC polyhedra
+	  does not fully minimize constraint systems, yet.
+
+2002-04-15 Monday 09:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am (1.64), NNCminimize6.cc (1.1): Example
+	  NNCminimize6 shows a memory allocation bug in method
+	  ConSys::insert(const Constraint&).
+
+2002-04-14 Sunday 17:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Generator.cc (1.30): Avoid redundant test.
+
+2002-04-14 Sunday 17:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Constraint.cc (1.22): Factorize some calls to
+	  operator<<(std::ostream&, ...).
+
+2002-04-13 Saturday 19:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (1.24): Avoid shadowing in
+	  Polyhedron::shrink_bounding_box().
+
+2002-04-12 Friday 20:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am (1.63), NNCminimize4.cc (1.3),
+	  NNCminimize5.cc (1.1): Test NNCminimize5 is a fake test showing
+	  that strong minimization problems can arise even when the user is
+	  only allowed to interact using constraint systems.
+
+2002-04-12 Friday 20:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.156): When performing strong minimization of
+	  constraints, no longer preventing the removal of the \esilon \leq
+	  1 constraint.  This modification is justified by the relaxation
+	  of the invariant on the class Generator, where we no longer
+	  require the coordinate of \epsilon to be \leq 1.
+
+2002-04-12 Friday 09:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.9), config.sub (1.8): Updated.
+
+2002-04-11 Thursday 18:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Interval.hh (1.1), Makefile.am (1.9),
+	  ppl_prolog.icc (1.2): Progress in the implementation of
+	  ppl_get_bounding_box().
+
+2002-04-11 Thursday 18:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Makefile.am (1.8), ppl_prolog.icc (1.1),
+	  ppl_prolog.outlines.hh (1.26), GNU/ppl_gprolog.cc (1.11),
+	  SICStus/ppl_sicstus.cc (1.48), SWI/ppl_swiprolog.cc (1.15),
+	  YAP/ppl_yap.cc (1.6): The file `ppl_prolog.outlines.hh' has been
+	  renamed `ppl_prolog.icc'.
+
+2002-04-10 Wednesday 12:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Generator.cc (1.29): The OK() function for Generator no
+	  longer checks that, for points, the epsilon coordinate is less
+	  than or equal to 1 (because strong minimization does not maintain
+	  this invariant).
+
+2002-04-10 Wednesday 10:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: SICStus/ppl_sicstus.cc (1.47),
+	  SWI/ppl_swiprolog.cc (1.14), YAP/ppl_yap.cc (1.5): Provided the
+	  ppl_Prolog_sysdep_init() hook for system-dependent
+	  initialization.
+
+2002-04-10 Wednesday 10:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/ppl_gprolog.cc (1.10):
+	  Prolog_raise_exception() implemented.  Provided the
+	  ppl_Prolog_sysdep_init() hook for system-dependent
+	  initialization.
+
+2002-04-10 Wednesday 10:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.outlines.hh (1.25): Started playing
+	  with the ppl_get_bounding_box() interface function.
+
+2002-04-09 Tuesday 18:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.155), Polyhedron.defs.hh (1.97): Added
+	  methods   const ConSys& Polyhedron::minimized_constraints()
+	  const;   const GenSys& Polyhedron::minimized_generators() const;
+	  together with the corresponding (unoptimized) implementations.
+
+2002-04-08 Monday 22:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.154): Typo fixed.
+
+2002-04-08 Monday 22:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: GenSys.cc (1.49), GenSys.defs.hh (1.56), Polyhedron.cc
+	  (1.153), Polyhedron.defs.hh (1.96): Added first draft for the
+	  method Polyhedron::topological_closure_assign().  Also added
+	  method GenSys::add_corresponding_points().
+
+2002-04-07 Sunday 15:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.26), ppl_c.h (1.23): Two bugs fixed.
+	  The swap functions have been removed.
+
+2002-04-07 Sunday 13:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.152): Avoid an inconsistent mixture of
+	  useless emphasizers.
+
+2002-04-07 Sunday 13:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.62), inclusion1.cc (1.1): Test
+	  C_Polyhedron::operator<=().
+
+2002-04-07 Sunday 12:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: exceptions1.cc (1.6), exceptions2.cc (1.5): Replace
+	  "impossible" with "illegal" when the latter was meant.
+
+2002-04-07 Sunday 12:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.151): There is no such a thing as the
+	  reduced scalar product operator^.
+
+2002-04-06 Saturday 08:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_gmp.m4 (1.4): Fixed two instances of the use of an
+	  inexistent GMP assignment operator from `char*'.  These gave no
+	  error because of the C++ pointer to `bool' conversion feature and
+	  because GMP had an assignment operator from `bool'.
+
+2002-04-05 Friday 12:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/boundingbox1.cc (1.5): Improved printed results: now says
+	  "none" when the denominator of the bound is 0.
+
+2002-04-05 Friday 12:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Polyhedron.inlines.hh (1.23), tests/boundingbox1.cc (1.4):
+	  The dimension() method removed from BBox.
+
+2002-04-05 Friday 10:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Polyhedron.inlines.hh (1.22), tests/boundingbox1.cc (1.3): In
+	  Polyhedron.inlines.hh:    shrink_bounding_box now handles the
+	  empty polyhedron correctly.
+
+	  In boundingbox1.cc:	 BBox and Interval improved and many tests
+	  added.
+
+2002-04-04 Thursday 14:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Polyhedron.inlines.hh (1.21): Initial implementation of
+	  Polyhedron::shrink_bounding_box().
+
+2002-04-04 Thursday 13:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.cc (1.32), GenSys.cc (1.48), Polyhedron.cc (1.150),
+	  Row.cc (1.35), Row.defs.hh (1.41): PPL::operator^(const Row&,
+	  const Row&) renamed as "reduced_scalar_product".
+
+2002-04-04 Thursday 12:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/boundingbox1.cc (1.2): Use a more concrete bounding-box
+	  class.
+
+2002-04-04 Thursday 11:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref-browse.doxyconf-latex.in (1.15),
+	  devref-print.doxyconf-latex.in (1.15), devref.doxyconf-html.in
+	  (1.16): Configuration files updated after class names changes.
+
+2002-04-04 Thursday 11:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PolyBase.types.hh (1.3): Forgot to remove this one.
+
+2002-04-04 Thursday 10:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: PolyBase.cc (1.25), PolyBase.defs.hh (1.17),
+	  PolyBase.inlines.hh (1.5): Getting rid of these old files.
+
+2002-04-04 Thursday 10:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.149), Polyhedron.defs.hh (1.95),
+	  Polyhedron.inlines.hh (1.20): All functions created to throw
+	  exceptions are now private methods of the class Polyhedron.
+	  Exception messages modified to reflect the changes in the names
+	  of the classes and in the names of methods (e.g., add_constraint
+	  instead of insert).  Added topology-compatibility test to method
+	  swap(Polyhedron& y).	In all public methods, we now first check
+	  for topology inconsistencies, then we check for dimension
+	  inconsistencies.
+
+2002-04-04 Thursday 10:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.25), ppl_c.h (1.22): Add
+	  copy-conversion functions.
+
+2002-04-04 Thursday 08:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.24), ppl_c.h (1.21): Basic interface
+	  for the NNC polyhedra.
+
+2002-04-03 Wednesday 19:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/: C/ppl_c.cc (1.23), Prolog/ppl_prolog.outlines.hh
+	  (1.24): Allow the manipulation of closed polyhedra only (for the
+	  moment).
+
+2002-04-03 Wednesday 19:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.94): Make the destructor public (for
+	  the moment).
+
+2002-04-03 Wednesday 18:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.93): Modified doxygen comments to
+	  account for the possibility of exceptions caused by incompatible
+	  topologies.
+
+2002-04-03 Wednesday 17:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/C_Polyhedron.types.hh (1.2): Cutted (redundant) brief
+	  namespace description to avoid a Doxygen warning.
+
+2002-04-03 Wednesday 17:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Row.defs.hh (1.40), Row.inlines.hh (1.20): Some cleaning in
+	  the Row::Type class:	- removed the useless static methods;  -
+	  the constants NNC and RPI are now tied to the Topology and
+	  Row::Kind    enumerations.
+
+2002-04-03 Wednesday 15:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.148), Polyhedron.defs.hh (1.92): All the
+	  assertions regarding topology compatibility (but those inside the
+	  non-public methods) replaced by run-time checks so that, When
+	  identifying a topology mismatch, we now throw an exception.
+
+	  Since wrapper classes C_Polyhedron and NNC_Polyhedron will not
+	  override the methods of base class Polyhedron (they will just
+	  inherit them), all implementation specific members of Polyhedron,
+	  apart from the constructors and assignment, are now declared
+	  "private" instead of "protected".
+
+2002-04-03 Wednesday 15:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.61), boundingbox1.cc (1.1): To test
+	  Polyhedron::shrink_bounding_box().
+
+2002-04-03 Wednesday 12:29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: C_Polyhedron.defs.hh (1.3), NNC_Polyhedron.cc (1.8),
+	  NNC_Polyhedron.defs.hh (1.6), Polyhedron.cc (1.147),
+	  Polyhedron.defs.hh (1.91): The method   bool
+	  is_topologycally_closed() const; is now a method of the _base_
+	  class Polyhedron, trivially returning true if the polyhedron is
+	  necessarily closed.
+
+2002-04-03 Wednesday 11:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/C_Polyhedron.cc (1.2), src/C_Polyhedron.defs.hh (1.2),
+	  src/C_Polyhedron.inlines.hh (1.2), src/Makefile.am (1.33),
+	  src/NNC_Polyhedron.cc (1.7), src/NNC_Polyhedron.defs.hh (1.5),
+	  src/NNC_Polyhedron.inlines.hh (1.4), src/Polyhedron.cc (1.146),
+	  src/Polyhedron.defs.hh (1.90), src/Polyhedron.inlines.hh (1.19),
+	  src/conversion.cc (1.26), src/minimize.cc (1.20), src/simplify.cc
+	  (1.15), tests/print.hh (1.7): Base class PolyBase renamed (back)
+	  as Polyhedron.
+
+2002-04-03 Wednesday 10:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Makefile.am (1.32), src/NNC_Polyhedron.cc (1.6),
+	  src/NNC_Polyhedron.defs.hh (1.4), tests/addconstraints1.cc (1.6),
+	  tests/addconstraints10.cc (1.5), tests/addconstraints11.cc (1.6),
+	  tests/addconstraints2.cc (1.10), tests/addconstraints3.cc (1.3),
+	  tests/addconstraints4.cc (1.5), tests/addconstraints5.cc (1.6),
+	  tests/addconstraints6.cc (1.7), tests/addconstraints7.cc (1.6),
+	  tests/addconstraints8.cc (1.6), tests/addconstraints9.cc (1.7),
+	  tests/adddimensions1.cc (1.8), tests/adddimensions2.cc (1.4),
+	  tests/adddimensions3.cc (1.6), tests/adddimensions4.cc (1.4),
+	  tests/addgenerators1.cc (1.7), tests/addgenerators2.cc (1.7),
+	  tests/addgenerators3.cc (1.6), tests/addgenerators4.cc (1.6),
+	  tests/addgenerators5.cc (1.6), tests/addgenerators6.cc (1.6),
+	  tests/addgenerators7.cc (1.2), tests/affineimage1.cc (1.6),
+	  tests/affineimage2.cc (1.5), tests/affinepreimage1.cc (1.5),
+	  tests/affinepreimage2.cc (1.5), tests/affinepreimage3.cc (1.5),
+	  tests/affinepreimage4.cc (1.6), tests/affinetrans.cc (1.9),
+	  tests/append1.cc (1.10), tests/append2.cc (1.11),
+	  tests/bounded1.cc (1.3), tests/convexdifference1.cc (1.9),
+	  tests/convexhull1.cc (1.6), tests/convexhull2.cc (1.5),
+	  tests/convexhull3.cc (1.5), tests/convexhull4.cc (1.4),
+	  tests/empty1.cc (1.7), tests/exceptions1.cc (1.5),
+	  tests/exceptions2.cc (1.4), tests/generators1.cc (1.5),
+	  tests/generators2.cc (1.2), tests/inters1.cc (1.10),
+	  tests/inters2.cc (1.13), tests/inters3.cc (1.6), tests/inters4.cc
+	  (1.5), tests/inters5.cc (1.7), tests/inters6.cc (1.6),
+	  tests/inters7.cc (1.3), tests/limitedwidening1.cc (1.7),
+	  tests/limitedwidening2.cc (1.4), tests/onepoint.cc (1.5),
+	  tests/permute.cc (1.15), tests/randchull1.cc (1.13),
+	  tests/relations1.cc (1.3), tests/relations2.cc (1.4),
+	  tests/relations3.cc (1.4), tests/relations4.cc (1.4),
+	  tests/relations5.cc (1.4), tests/relations6.cc (1.3),
+	  tests/relations7.cc (1.3), tests/relations8.cc (1.3),
+	  tests/relations9.cc (1.4), tests/removedim1.cc (1.5),
+	  tests/removedim2.cc (1.9), tests/removedim3.cc (1.5),
+	  tests/removedim4.cc (1.6), tests/removedim5.cc (1.4),
+	  tests/removedim6.cc (1.5), tests/smm1.cc (1.4),
+	  tests/universe1.cc (1.3), tests/universe2.cc (1.4),
+	  tests/universe3.cc (1.4), tests/universe4.cc (1.4),
+	  tests/universe5.cc (1.5), tests/widening1.cc (1.3): Wrapper class
+	  Polyhedron renamed as C_Polyhedron.  All test programs modified
+	  accordingly.
+
+2002-04-03 Wednesday 10:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: C_Polyhedron.cc (1.1), C_Polyhedron.defs.hh (1.1),
+	  C_Polyhedron.inlines.hh (1.1), C_Polyhedron.types.hh (1.1): Added
+	  wrapper class C_Polyhedron to implement necessarily closed
+	  polyhedra.
+
+2002-04-02 Tuesday 19:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PolyBase.cc (1.24), tests/addconstraints6.cc (1.6): Corrected
+	  stupid bugs related to a misinterpretation of the value returned
+	  by minimize().
+
+2002-04-02 Tuesday 18:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.22), ppl_c.h (1.20): All the
+	  *_and_minimize functions return a positive integer if the
+	  reulting polyhedron is non-empty; they return 0 if it is empty
+	  (and, as usual, return a negative number if an error occurred).
+
+2002-04-02 Tuesday 17:41  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* TODO (1.21): Dealt with the first item (the *_and_minimize one).
+
+2002-04-02 Tuesday 17:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: PolyBase.cc (1.23), PolyBase.defs.hh (1.16): All the public
+	  methods of PolyBase whose name ends in "_and_minimize" now return
+	  a boolean value (which is `false' iff the resulting polyhedron is
+	  empty).
+
+2002-04-02 Tuesday 16:48  Elisa Ricci
+
+	* tests/: Makefile.am (1.60), removedim7.cc (1.1), universe6.cc
+	  (1.1): Added a test for the functions remove_higher_dimensions()
+	  and remove_dimensions() and one for the function check_universe
+	  for NNC_Polyhedron.
+
+2002-04-02 Tuesday 16:43  Elisa Ricci
+
+	* tests/exceptions1.cc (1.4): Added a test to show when an
+	  exception is thrown in the function convex_difference_assign(ph).
+
+2002-04-02 Tuesday 12:08  Elisa Ricci
+
+	* tests/: Makefile.am (1.59), adddimensions5.cc (1.1),
+	  adddimensions6.cc (1.1), adddimensions7.cc (1.1): Added tests for
+	  the functions add_dimensions_and_embed and
+	  add_dimensions_and_project for NNC_Polyhedron.
+
+2002-04-02 Tuesday 09:43  Elisa Ricci
+
+	* tests/: Makefile.am (1.58), addgenerators7.cc (1.1), print.hh
+	  (1.6): Add a test for the function
+	  add_generators_and_minimize(gs) for a NNC_Polyhedron.  Changed
+	  the functions to print the polyhedra so that they can be used to
+	  print also for the NNC polyhedra.
+
+2002-04-02 Tuesday 08:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PolyBase.cc (1.22): Some nonsense removed from
+	  PolyBase::affine_image() and PolyBase::affine_preimage().
+
+2002-04-02 Tuesday 08:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PolyBase.cc (1.21): PolyBase::limited_widening_assign()
+	  fixed: it was not checking the return value of
+	  PolyBase::update_generators().
+
+2002-03-31 Sunday 23:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.20), interfaces/C/Makefile.am (1.5),
+	  interfaces/C/ppl_c.cc (1.21),
+	  interfaces/Prolog/Prolog_interface.dox (1.24),
+	  interfaces/Prolog/ppl_prolog.outlines.hh (1.23),
+	  interfaces/Prolog/ppl_prolog.pl (1.2),
+	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.4),
+	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.3),
+	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.5),
+	  interfaces/Prolog/SICStus/ppl_sicstus.cc (1.46),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.13),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.4), src/PolyBase.cc (1.20),
+	  src/PolyBase.defs.hh (1.15), tests/addconstraints11.cc (1.5),
+	  tests/addconstraints2.cc (1.9), tests/addconstraints4.cc (1.4),
+	  tests/addconstraints6.cc (1.5), tests/addconstraints7.cc (1.5),
+	  tests/addconstraints8.cc (1.5), tests/addconstraints9.cc (1.6),
+	  tests/adddimensions1.cc (1.7), tests/adddimensions3.cc (1.5),
+	  tests/addgenerators1.cc (1.6), tests/addgenerators2.cc (1.6),
+	  tests/addgenerators3.cc (1.5), tests/addgenerators4.cc (1.5),
+	  tests/addgenerators5.cc (1.5), tests/addgenerators6.cc (1.5),
+	  tests/affineimage1.cc (1.5), tests/affineimage2.cc (1.4),
+	  tests/affinepreimage2.cc (1.4), tests/affinepreimage3.cc (1.4),
+	  tests/affinepreimage4.cc (1.5), tests/append1.cc (1.9),
+	  tests/append2.cc (1.10), tests/bounded1.cc (1.2),
+	  tests/convexhull3.cc (1.4), tests/convexhull4.cc (1.3),
+	  tests/exceptions1.cc (1.3), tests/exceptions2.cc (1.3),
+	  tests/inters1.cc (1.9), tests/inters2.cc (1.12), tests/inters3.cc
+	  (1.5), tests/inters4.cc (1.4), tests/inters5.cc (1.6),
+	  tests/inters6.cc (1.5), tests/inters7.cc (1.2),
+	  tests/limitedwidening1.cc (1.6), tests/onepoint.cc (1.4),
+	  tests/permute.cc (1.14), tests/randchull1.cc (1.12),
+	  tests/relations9.cc (1.3), tests/removedim6.cc (1.4),
+	  tests/smm1.cc (1.3), tests/universe2.cc (1.3), tests/universe3.cc
+	  (1.3), tests/universe4.cc (1.3), tests/universe5.cc (1.4),
+	  tests/widening1.cc (1.2): Renamed Polyhedron::insert(const
+	  Constraint&) to Polyhedron::add_constraint(const Constraint&).
+	  Likewise, renamed Polyhedron::insert(const Generator&) to
+	  Polyhedron::add_generator(const Generator&).
+
+2002-03-31 Sunday 21:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.37), interfaces/C/Makefile.am (1.4): Added a
+	  first starting draft of `lpenum', a program to solve linear
+	  programming problems by vertex/point enumeration.  Just a toy to
+	  test the C interface of the library.
+
+2002-03-31 Sunday 20:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Generator.cc (1.28), Matrix.cc (1.36), PolyBase.cc (1.19),
+	  Row.cc (1.34), SatMatrix.cc (1.15): All the OK() methods are now
+	  silent if the NDEBUG symbol is defined.
+
+2002-03-31 Sunday 19:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PolyBase.cc (1.18): Always provide default cases in switches.
+
+2002-03-31 Sunday 19:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: ConSys.defs.hh (1.39), ConSys.inlines.hh (1.16),
+	  Constraint.inlines.hh (1.26), GenSys.defs.hh (1.55),
+	  GenSys.inlines.hh (1.17), Generator.inlines.hh (1.26), Matrix.cc
+	  (1.35), Matrix.defs.hh (1.23), Matrix.inlines.hh (1.21),
+	  PolyBase.cc (1.17), PolyBase.defs.hh (1.14), Row.defs.hh (1.39),
+	  Row.inlines.hh (1.19): Do not shadow the members of *this.
+
+2002-03-31 Sunday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PolyBase.cc (1.16): Started exploiting the return value of
+	  PolyBase::minimize().
+
+2002-03-31 Sunday 11:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.57), widening1.cc (1.1): Test
+	  Polyhedron::widening_assign() with empty polyhedra.
+
+2002-03-31 Sunday 10:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PolyBase.cc (1.15):
+	  PolyBase::intersection_assign_and_minimize() fixed.
+
+2002-03-31 Sunday 10:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.56), inters7.cc (1.1): Test
+	  Polyhedron::intersection_assign_and_minimize() with empty
+	  polyhedra (exposes bugs in the current implementation of that
+	  method).
+
+2002-03-31 Sunday 10:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: PolyBase.cc (1.14), PolyBase.defs.hh (1.13):
+	  PolyBase::minimize() now returns a Boolean: false if and only if
+	  *this turns out to be empty.	Handling of empty polyhedra fixed
+	  in PolyBase::convex_hull_assign_and_minimize().
+
+2002-03-31 Sunday 09:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/convexhull4.cc (1.2): Exercise
+	  PolyBase::convex_hull_assign_and_minimize() with empty polyhedra
+	  in all possible ways (exposes more bugs in the current PolyBase
+	  implementation).
+
+2002-03-31 Sunday 08:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PolyBase.cc (1.13):
+	  PolyBase::convex_hull_assign_and_minimize() fixed.
+
+2002-03-31 Sunday 00:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.55), convexhull4.cc (1.1): Test
+	  Polyhedron::convex_hull_assign_and_minimize() with an empty
+	  parameter polyhedron.
+
+2002-03-30 Saturday 22:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.20), ppl_c.h (1.19): New interface
+	  functions.
+
+2002-03-30 Saturday 15:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: PolyBase.cc (1.12), PolyBase.defs.hh (1.12):
+	  PolyBase::generators() fixed: no longer ignoring the return value
+	  of PolyBase::update_generators().
+
+2002-03-30 Saturday 11:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PolyBase.cc (1.11): Corrected bugs in methods insert(g),
+	  add_generators(gs) and add_generators_and_minimize(gs): in the
+	  case of NNC topology, we were not adding the closure points
+	  corresponding to each added point.
+
+2002-03-30 Saturday 11:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: GenSys.cc (1.47), GenSys.defs.hh (1.54): Added method
+	  GenSys::add_corresponding_closure_points().
+
+2002-03-30 Saturday 11:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.19), ppl_c.h (1.18): Fixed
+	  ppl_assign_Coefficient_from_mpz_t() and ppl_Generator_type().
+
+2002-03-30 Saturday 10:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.18), ppl_c.h (1.17): More functions to
+	  deal with coefficients.  New function to get the type of a
+	  generator.
+
+2002-03-30 Saturday 10:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PolyBase.inlines.hh (1.4): Added an empty implementation for
+	  PolyBase::shrink_bounding_box().
+
+2002-03-30 Saturday 10:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.54), generators2.cc (1.1): New test
+	  computing the generators of an empty polyhedron.
+
+2002-03-30 Saturday 09:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.17), ppl_c.h (1.16): New functions and
+	  bug fixes.
+
+2002-03-29 Friday 14:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PolyBase.cc (1.10), src/PolyBase.defs.hh (1.11),
+	  tests/NNCminimize4.cc (1.2): Added methods
+	  NNC_minimize_generators() and NNC_minimize_constraints(), which
+	  enforce NNC-minimization on only one system.	They have a common
+	  kernel, which might be factored out in a "generic"
+	  NNC-minimization function (something like the simplify() method).
+	  Now test NNCminimize4.cc uses the (more lazy)
+	  NNC_minimize_constraints() function.
+
+2002-03-29 Friday 10:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am (1.53), NNCminimize4.cc (1.1): New test put
+	  under CVS control.
+
+2002-03-28 Thursday 22:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.16), ppl_c.h (1.15):
+	  ppl_Polyhedron_shrink_bounding_box() added to the C interface.
+
+2002-03-28 Thursday 20:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Generator.cc (1.27), Generator.defs.hh (1.54), Matrix.cc
+	  (1.34), NNC_Polyhedron.cc (1.5), PolyBase.cc (1.9): Added method
+	   bool Generator::is_corresponding_closure_point(const Generator&)
+	  const; Methods NNC_Polyhedron::is_necessarily_closed() and
+	  PolyBase::NNC_minimize() updated to use the above method; this
+	  also corrects a bug in the previous implementations.
+
+	  Added a \param Doxygen command in Matrix.cc to avoid a warning.
+
+2002-03-28 Thursday 16:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PolyBase.defs.hh (1.10): Redeclared `shrink_bounding_box' as
+	  template <class Box> void shrink_bounding_box(Box& box) const;
+	  the previous declaration was too concrete.
+
+2002-03-28 Thursday 16:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PolyBase.defs.hh (1.9): Added the declaration and
+	  documentation of template <class Interval> void
+	  shrink_bounding_box(std::vector<Interval>& box) const.
+
+2002-03-28 Thursday 15:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am (1.52), NNCinclusion1.cc (1.1),
+	  NNCminimize1.cc (1.1), NNCminimize2.cc (1.1), NNCminimize3.cc
+	  (1.1): Added a test on the inclusion method for NNC_Polyhedron
+	  and three tests for the full minimization of NNC_Polyhedron.
+
+2002-03-28 Thursday 15:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: PolyBase.cc (1.8), PolyBase.defs.hh (1.8): Added method
+	  PolyBase::NNC_minimize() performing "full" minimization of
+	  constraint and generator systems of a NNC_Polyhedron.
+	  Temporarily public for testing and debugging purposes.
+
+2002-03-28 Thursday 15:37  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Generator.cc (1.26): Printing closure points as c(lin-expr).
+
+2002-03-28 Thursday 09:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.cc (1.31), GenSys.cc (1.46): Methods get() and
+	  print() of classes ConSys and GenSys modified in order to:  -
+	  read (and print) the new kinds of constraint/generators types;  -
+	  check for the correspondence between declared and actual row
+	  types    when reading them in;  - check for the well-formedness
+	  of the read ConSys/GenSys, using OK().
+
+2002-03-27 Wednesday 19:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.19), TODO (1.19): Updated.
+
+2002-03-27 Wednesday 19:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.18), interfaces/C/ppl_c.cc (1.15),
+	  interfaces/Prolog/ppl_prolog.outlines.hh (1.22),
+	  src/Constraint.defs.hh (1.50), src/Constraint.inlines.hh (1.25),
+	  src/Generator.inlines.hh (1.25), src/Row.defs.hh (1.38),
+	  src/Row.inlines.hh (1.18): Constraint::coefficient(void) and
+	  Row::coefficient(void) renamed to
+	  Constraint::inhomogeneous_term(void) and
+	  Row::inhomogeneous_term(void).
+
+2002-03-27 Wednesday 18:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PolyBase.defs.hh (1.7): Documentation for PolyBase::OK()
+	  improved.
+
+2002-03-27 Wednesday 18:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.17), interfaces/C/ppl_c.cc (1.14), src/NNC_Polyhedron.cc
+	  (1.4), src/PolyBase.cc (1.7), src/PolyBase.defs.hh (1.6),
+	  src/Polyhedron.cc (1.145): Now the default for PolyBase::OK() is
+	  not to check for non-emptiness.  This is more consistent since
+	  OK() without arguments now checks for well-formedness only as all
+	  the other methods with the same name.  Use OK(true) if you want
+	  the extra service of non-emptiness checking.
+
+2002-03-27 Wednesday 18:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.cc (1.30), ConSys.defs.hh (1.38), Constraint.cc
+	  (1.21), Constraint.defs.hh (1.49), Constraint.inlines.hh (1.24),
+	  GenSys.cc (1.45), GenSys.defs.hh (1.53), Generator.cc (1.25),
+	  LinExpression.defs.hh (1.31), Matrix.cc (1.33), Matrix.defs.hh
+	  (1.22), Matrix.inlines.hh (1.20), NNC_Polyhedron.cc (1.3),
+	  NNC_Polyhedron.inlines.hh (1.3), PolyBase.cc (1.6),
+	  PolyBase.defs.hh (1.5), Poly_Con_Relation.defs.hh (1.5),
+	  Poly_Gen_Relation.defs.hh (1.5), Row.defs.hh (1.37),
+	  Row.inlines.hh (1.17), Topology.hh (1.3): Replaced everywhere
+	  "non_necessarily_closed" by "not_necessarily_closed".  Improved
+	  the documentation of class Constraint to consider examples using
+	  strict inequalities. Added brief description for classes
+	  Poly_xxx_Relation and for the const_iterators of ConSys and
+	  GenSys.
+
+2002-03-27 Wednesday 16:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PolyBase.cc (1.5): PolyBase::OK(bool check_not_empty) was
+	  disregarding its argument in some cases.  This bug was hiding two
+	  bogus assertions in PolyBase::add_constraints() and
+	  PolyBase::add_constraints_and_minimize().
+
+2002-03-27 Wednesday 16:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/addconstraints1.cc (1.5): Unused variable removed.
+
+2002-03-27 Wednesday 16:03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: NNC_Polyhedron.defs.hh (1.3), Polyhedron.defs.hh (1.89):
+	  Removed duplicate documentation stuff from Polyhedron.defs.hh.
+	  Documented constructors of classes Polyhedron and NNC_Polyhedron.
+	  Provided a brief explanation of the reason why we do have 2
+	  classes.
+
+2002-03-27 Wednesday 15:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.16): At a closer scrutiny, the <CODE> and </CODE> tags
+	  are actually superior to any other alternative.  Remove the TODO
+	  item that suggested not to use them.
+
+2002-03-27 Wednesday 12:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.defs.hh (1.37), GenSys.defs.hh (1.52),
+	  Generator.defs.hh (1.53), PolyBase.defs.hh (1.4), Row.cc (1.33):
+	  Started adjusting the documentation to made it aware of the new
+	  kind of constraints and generators.  Corrected a couple of
+	  docuementation problems causing Doxygen warnings.
+
+2002-03-27 Wednesday 10:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PolyBase.cc (1.4): One FIXME removed: was related to an
+	  efficiency concern where we really do not have any efficiency
+	  problem.
+
+2002-03-27 Wednesday 08:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: GenSys.cc (1.44), PolyBase.cc (1.3): Merged the changes
+	  made to the `strict' branch after yesterday's merge.
+
+2002-03-27 Wednesday 08:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.15), src/ConSys.defs.hh (1.36), src/ConSys.inlines.hh
+	  (1.15), src/Constraint.defs.hh (1.48), src/Constraint.inlines.hh
+	  (1.23), src/GenSys.defs.hh (1.51), src/GenSys.inlines.hh (1.16),
+	  src/Generator.defs.hh (1.52), src/Generator.inlines.hh (1.24),
+	  src/Integer.defs.hh (1.3), src/LinExpression.defs.hh (1.30),
+	  src/LinExpression.inlines.hh (1.14), src/Matrix.defs.hh (1.21),
+	  src/Matrix.inlines.hh (1.19), src/PolyBase.defs.hh (1.3),
+	  src/PolyBase.inlines.hh (1.3), src/Row.defs.hh (1.36),
+	  src/Row.inlines.hh (1.16), src/SatMatrix.defs.hh (1.16),
+	  src/SatMatrix.inlines.hh (1.10), src/SatRow.defs.hh (1.12),
+	  src/SatRow.inlines.hh (1.12): Added a specialization of the the
+	  std:swap() function for LinExpression.  Solved several
+	  documentation and stylistic issues concerning our specializations
+	  of std::swap().
+
+2002-03-27 Wednesday 08:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: GenSys.cc, PolyBase.cc (strict.[13,31]): Method
+	  GenSys::relation_with(c) now supports all the possible
+	  combinations of topology and type for both *this and the
+	  constraint parameter c.
+
+2002-03-27 Wednesday 08:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.14), src/Constraint.defs.hh (1.47), src/Generator.defs.hh
+	  (1.51): Avoid using \enum when it is not strictly necessary.
+
+2002-03-26 Tuesday 23:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref-browse.doxyconf-latex.in (1.14),
+	  doc/devref-print.doxyconf-latex.in (1.14),
+	  doc/devref.doxyconf-html.in (1.15),
+	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.4), src/ConSys.cc (1.29),
+	  src/ConSys.defs.hh (1.35), src/ConSys.inlines.hh (1.14),
+	  src/Constraint.cc (1.20), src/Constraint.defs.hh (1.46),
+	  src/Constraint.inlines.hh (1.22), src/GenSys.cc (1.43),
+	  src/GenSys.defs.hh (1.50), src/GenSys.inlines.hh (1.15),
+	  src/Generator.cc (1.24), src/Generator.defs.hh (1.50),
+	  src/Generator.inlines.hh (1.23), src/LinExpression.cc (1.11),
+	  src/LinExpression.defs.hh (1.29), src/LinExpression.inlines.hh
+	  (1.13), src/Makefile.am (1.31), src/Matrix.cc (1.32),
+	  src/Matrix.defs.hh (1.20), src/Matrix.inlines.hh (1.18),
+	  src/NNC_Polyhedron.cc (1.2), src/NNC_Polyhedron.defs.hh (1.2),
+	  src/NNC_Polyhedron.inlines.hh (1.2), src/NNC_Polyhedron.types.hh
+	  (1.2), src/PolyBase.cc (1.2), src/PolyBase.defs.hh (1.2),
+	  src/PolyBase.inlines.hh (1.2), src/PolyBase.types.hh (1.2),
+	  src/Polyhedron.cc (1.144), src/Polyhedron.defs.hh (1.88),
+	  src/Polyhedron.inlines.hh (1.18), src/Row.cc (1.32),
+	  src/Row.defs.hh (1.35), src/Row.inlines.hh (1.15),
+	  src/Topology.hh (1.2), src/conversion.cc (1.25), src/minimize.cc
+	  (1.19), src/simplify.cc (1.14), tests/Makefile.am (1.51),
+	  tests/exceptions2.cc (1.2), tests/relations9.cc (1.2): The
+	  `strict' branch has been merged.
+
+2002-03-26 Tuesday 21:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.13), ppl_c.h (1.14): Implemented the
+	  error handling and reporting mechanisms.  Many other
+	  improvements.
+
+2002-03-26 Tuesday 19:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/minimize.cc (1.18): Throw `std::runtime_error' instead of
+	  `std::invalid_argument'.  Removed the inclusion of two unneeded
+	  header.
+
+2002-03-26 Tuesday 18:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: Makefile.am (1.3), ppl_c.cc (1.12), ppl_c.h
+	  (1.13): All the interface functions should be there now.
+
+2002-03-26 Tuesday 17:54  Elisa Ricci
+
+	* src/: GenSys.cc, Polyhedron.cc, Polyhedron.defs.hh, minimize.cc
+	  (positive.[2,6,4,12]): Some changes in the part controlled by
+	  "POSITIVE_TRANSFORMATION".
+
+2002-03-26 Tuesday 17:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/GenSys.cc (strict.12): Some progresses in the generalization
+	  of method GenSys::relation_with(c) to work with a NNC system of
+	  generators.
+
+2002-03-26 Tuesday 17:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.23): Refer to handles
+	  rather than addresses.
+
+2002-03-26 Tuesday 16:41  Elisa Ricci
+
+	* tests/exceptions2.cc (strict.3): Added other two tests to show
+	  when an exception is thrown.
+
+2002-03-26 Tuesday 16:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/LinExpression.defs.hh (1.28): Friend declarations fixed.
+
+2002-03-26 Tuesday 16:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Poly_Con_Relation.inlines.hh (strict.1): Bug (related to
+	  operator precedence) corrected in method implies().
+
+2002-03-26 Tuesday 14:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am, relations9.cc (strict.[2,1]): Test
+	  relations9 calls method PolyBase::relation_with(c) when *this is
+	  a necessarily closed polyhedron and c is a strict inequality.
+
+2002-03-26 Tuesday 13:58  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: GenSys.cc, PolyBase.cc (strict.[11,30]): Methods
+	  PolyBase::relation_with(c) and GenSys::relation_with(c) modified
+	  to work as expected when *this.topology() == NECESSARILY_CLOSED
+	  and the c.type() == STRICT_INEQUALITY.
+
+2002-03-26 Tuesday 11:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.cc, GenSys.cc, PolyBase.cc, PolyBase.defs.hh
+	  (strict.[13,10,29,9]): Some cleaning in ConSys/GenSys methods
+	  adjust_topology_and_dimension().  Adjusted a few comments and
+	  removed a few FIXME and CHECKME notes.
+
+2002-03-26 Tuesday 11:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.13): More things to do after the `strict' merge.
+
+2002-03-26 Tuesday 11:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: GNU/ppl_gprolog.pl (1.3),
+	  SICStus/ppl_sicstus.cc (1.45), YAP/ppl_yap.cc (1.3): Update so
+	  that they are all consistent with each other and SWI
+
+2002-03-25 Monday 21:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: NNC_Polyhedron.cc, NNC_Polyhedron.defs.hh,
+	  PolyBase.defs.hh, Polyhedron.cc, Polyhedron.defs.hh
+	  (strict.[3,3,8,4,4]): Added explicit constructors (to be used as
+	  conversion functions) for building a Polyhedron starting from a
+	  NNC_Polyhedron, and viceversa.  Added method	 bool
+	  NNC_Polyhedron::is_topologucally_closed() used in the above
+	  constructor to check if the argument is legal.
+	  NNC_Polyhedron::limited_widening_assign() reimplemented using the
+	  new constructor functions.
+
+2002-03-25 Monday 21:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PolyBase.cc (strict.28): Corrected a bug in the assignment
+	  operator, which was not clearing matrices when a zero-dim
+	  polyhedron was assigned.
+
+2002-03-25 Monday 19:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.12): More things to do after the merge with the `strict'
+	  branch.
+
+2002-03-25 Monday 19:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.11), ppl_c.h (1.12): More interface
+	  functions added.
+
+2002-03-25 Monday 17:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.10), ppl_c.h (1.11): Widenings added.
+
+2002-03-25 Monday 17:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: NNC_Polyhedron.cc, NNC_Polyhedron.defs.hh (strict.[2,2]):
+	  Method limited_widening_assign() overridden in NNC_Polyhedron to
+	  avoid an annoying problem when testing with china.
+
+2002-03-25 Monday 17:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PolyBase.cc (strict.27): When looping on constraints in
+	  widening_assign(), now going upward so as to avoid reversing the
+	  ordering of constraints.
+
+2002-03-25 Monday 16:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.9), ppl_c.h (1.10): Added an interface
+	  for the Polyhedron::relation_with() methods.
+
+2002-03-25 Monday 16:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SWI/ppl_swiprolog.cc (1.12): Predicate
+	  add_dimensions_and_constraints/2 added.
+
+2002-03-25 Monday 16:56  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/ConSys.cc (strict.12): Trivially true constraints (such as 1
+	  > 0, the eps_leq_one constraint) should not be considered by
+	  method "has_strict_inequalities()".
+
+2002-03-25 Monday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Poly_Gen_Relation.defs.hh (1.4),
+	  Poly_Gen_Relation.inlines.hh (1.5): Provide a hidden
+	  Poly_Gen_Relation::get_flags() method for use by the foreign
+	  language interfaces.
+
+2002-03-25 Monday 15:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Poly_Con_Relation.defs.hh (1.4),
+	  Poly_Con_Relation.inlines.hh (1.5): Provide a hidden
+	  Poly_Con_Relation::get_flags() method for use by the foreign
+	  language interfaces.
+
+2002-03-25 Monday 15:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.143), Polyhedron.defs.hh (1.87): Both
+	  Polyhedron::relation_with() methods were erroneously not declared
+	  const.
+
+2002-03-25 Monday 14:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.8), ppl_c.h (1.9): Added more
+	  interface functions for ordinary polyhedra.
+
+2002-03-24 Sunday 21:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PolyBase.cc (strict.26): Coorected trivial bug in
+	  check_universe().
+
+2002-03-24 Sunday 20:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.7), ppl_c.h (1.8): All the
+	  functionality provided by the C++ classes Constraint, ConSys,
+	  Generator and GenSys is now available to the C user.
+
+2002-03-24 Sunday 20:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PolyBase.cc (strict.25): Method check_universe() is now
+	  correct for NNC polyhedra.  Try to exploit the boolean value
+	  returned by update_generators() to shorthen computations when
+	  possible.
+
+2002-03-24 Sunday 16:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: PolyBase.cc, PolyBase.defs.hh (strict.[24,7]): Methods
+	  obtain_sorted_constraints(), obtain_sorted_generators(),
+	  obtain_sorted_constraints_with_sat_c(),
+	  obtain_sorted_generators_with_sat_g() now declared const, since
+	  they do not logically modify the polyhedron.	As a consequence,
+	  simplified (by removing the const_cast's) the methods
+	  constraints(), generators(), intersection_assign(),
+	  convex_hull_assign(), convex_hull_assign_and_minimize().
+
+2002-03-24 Sunday 15:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.6), ppl_c.h (1.7): Added all the
+	  functions for the handling of generators and generators' systems.
+
+2002-03-24 Sunday 10:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PolyBase.cc (strict.23): Patched method convex_hull_assign().
+	  The error (not correctly handling the sorting of gen_sys rows for
+	  the parameter y) was NOT related to the changes done in the
+	  strict branch.  Changed (detailed) doxygen comments for the
+	  methods obtain_sorted_constraints() and
+	  obtain_sorted_generators().
+
+2002-03-23 Saturday 19:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.5), ppl_c.h (1.6): Finished the
+	  implementation of const iterators for constraints.
+
+2002-03-23 Saturday 14:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.h.in (1.13), configure.ac (1.36): Support C compilers that
+	  do not support `const' and/or `inline'.
+
+2002-03-23 Saturday 14:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: ppl_c.cc (1.4), ppl_c.h (1.5): Started interfacing
+	  ConSys::const_iterator.
+
+2002-03-23 Saturday 14:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/: Makefile.am (1.7), gp_clpq.pl (1.3),
+	  ppl_gprolog.cc (1.9): The GNU Prolog interface is finally
+	  operational.	The problem was that a GNU Prolog integer is not
+	  wide enough to hold a memory address:  now memory addresses are
+	  represented by terms of the form `[u1|u2]' where `u1' and `u2'
+	  are GNU Prolog integers.
+
+2002-03-23 Saturday 13:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/track_allocation.hh (1.3): This was always
+	  commented out due to a typo.	Missing qualification added.
+
+2002-03-22 Friday 20:18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/ConSys.cc (strict.11): Method satisfies_all_constraints(g)
+	  reimplemented to work with NNC polyhedra and to correctly deal
+	  with potential (legal) topology mismatches.  As a consequence,
+	  now PolyBase::relation_with(g) also works for NNC polyhedra
+	  and/or an NNC generator parameter g.
+
+2002-03-22 Friday 20:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PolyBase.cc (strict.22): The inclusion operator<=
+	  re-implemented:  - using the new scalaro product operator ^ when
+	  appropriate;	- changed the order of the two nested loops to
+	  factor out some    tests that were repeated unnecessarily.
+
+2002-03-22 Friday 20:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Row.cc, Row.defs.hh (strict.[2,3]): Added the "strict"
+	  scalar product operator (PPL::operator^) computing the scalar
+	  product of two Row objects but ignoring the last coefficient of
+	  the first row.
+
+2002-03-22 Friday 15:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.cc, GenSys.cc, PolyBase.cc (strict.[10,9,21]):
+	  Metods GenSys::affine_image(v, e, d) and
+	  ConSys::affine_preimage(v, e, d) no longer require the expression
+	  `e' to have the _same_ number of columns of the matrix; now they
+	  only require dimension compatibility.  This change, while
+	  allowing a correct implementation for NNC topology matrices, also
+	  turns out to be a potentially remarkable performance improvement.
+
+	  The corresponding methods of PolyBase changed accordingly:  - no
+	  longer performing the dangerous const_cast on the expression;  -
+	  missing assertion OK(false) placed on exit.
+
+2002-03-22 Friday 12:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PolyBase.cc (strict.20): Cleaned the code trying to preserve
+	  the sortedness of matrices when swapping epsilon columns in
+	  methods add_dimensions*.  In operator<=, avoiding repeated tests
+	  on the generator kind when computing the scalar products for NNC
+	  polyhedra.
+
+2002-03-22 Friday 10:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PolyBase.cc (strict.19): Corrected a bug in
+	  add_dimensions_and_constraint().  The OK() assertion at the end
+	  of limited_widening_assign() changed into OK(false), because the
+	  parameter cs may cause the polyhedron to become inconsistent. In
+	  widening_assign(), now adding the epsilon constraints (instead of
+	  the positivity one) when the topology requires them.
+
+2002-03-21 Thursday 18:08  Elisa Ricci
+
+	* src/: GenSys.cc, GenSys.defs.hh, Matrix.defs.hh, Polyhedron.cc,
+	  Polyhedron.defs.hh, conversion.cc, minimize.cc
+	  (positive.[1,1,2,5,3,6,11]): Started to implement the new method
+	  that use a transformation to compute the system of constraints of
+	  a positive polyhedron described by its system of generators: this
+	  method is controlled by the flag "POSITIVE_TRANSFORMATION".
+
+2002-03-21 Thursday 16:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PolyBase.cc (strict.18): Corrected a bug in the constructor
+	  PolyBase(t, gs): we were breaking the correctenss of the
+	  sortedness flag.
+
+2002-03-21 Thursday 16:03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PolyBase.cc (strict.17): Added missing OK(bool) assertions on
+	  exit of constructors and methos operator<=,
+	  intersection_assign(ph), convex_difference_assign(ph), insert(g),
+	  insert(c), add_dimensions_and_constraints(),
+	  add_generators_and_minimize().
+
+	  Corrected \epsilon-swapping bugs in methods add_dimensions(...),
+	  add_dimensions_and_project(), add_dimensions_and_embed() and
+	  add_dimensions_and_constraints().
+
+	  Patched topology-related bug in limited_widening_assign().
+
+2002-03-21 Thursday 15:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.cc, GenSys.cc (strict.[9,8]): Methods get() and
+	  print(), i.e., input/output operators >> and <<, now also handle
+	  topology information.
+
+2002-03-21 Thursday 10:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.22): Added a note to
+	  try and explain when the _and_minimize predicates should be used.
+
+2002-03-21 Thursday 09:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.21): Two bugs corrected
+	  in the description of the "relation_with" predicates.
+
+2002-03-20 Wednesday 19:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PolyBase.cc (strict.16): Patched methods
+	  add_dimensions_and_embed(), add_dimensions_and_project() and
+	  add_dimensions() to properly handle the "sorted" flag of
+	  matrices.  Corrected a small bug in
+	  add_dimensions_and_constraints(), where we were trying to swap a
+	  column with itself.
+
+2002-03-20 Wednesday 17:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PolyBase.cc (strict.15): In constructors for NNC polyhedra,
+	  add the \epsilon constraint in the order that is likely to
+	  preserve the sorted flag.
+
+2002-03-20 Wednesday 17:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.inlines.hh, Generator.cc (strict.[5,3]): Just a
+	  few spaces added for style.
+
+2002-03-20 Wednesday 17:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/ConSys.cc (strict.8): Corrected a bug in
+	  has_strict_inequalities() whereby we were returning "true" when
+	  finding the epsilon_geq_zero() constraint.
+
+2002-03-20 Wednesday 16:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.inlines.hh, PolyBase.cc (strict.[4,14]): A
+	  strict inequality has a _negative_ \epsilon coefficient
+	  (previously, we were testing for a _non-zero_ coefficient,
+	  causing a bug in method operator<=(PolyBase&, PolyBase&).
+
+2002-03-20 Wednesday 16:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PolyBase.defs.hh (strict.6): Constructors of the base class
+	  PolyBase are now protected, so that the user _has_ to create
+	  objects of the derived classes Polyhedron and NNC_Polyhedron.
+
+2002-03-20 Wednesday 15:37  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PolyBase.cc (strict.13): Corrected a bug in operator<= for
+	  the NNC case.
+
+2002-03-20 Wednesday 14:44  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PolyBase.cc (strict.12): Implemented operator<= for NNC
+	  polyhedra.  Added a couple of missing assertions to
+	  add_generators().
+
+2002-03-20 Wednesday 13:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.cc, GenSys.cc, Matrix.cc (strict.[7,7,8]): In
+	  Matrix::OK(), restored the test checking that num_columns() == 0
+	  whenever num_rows() == 0.  Added assertions to
+	  ConSys::adjust_topology_and_dimension() and
+	  GenSys::adjust_topology_and_dimension().
+
+2002-03-20 Wednesday 12:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Matrix.cc, Matrix.defs.hh, Matrix.inlines.hh
+	  (strict.[7,4,3]): Corrected bugs:  - set_necessarily_closed() and
+	  set_non_necessarily_closed() now also    set the right topology
+	  for all the rows in the matrix;  - grow(...) no longer asserts
+	  OK() on exit, because it may leave	the matrix in a state where
+	  num_rows() == 0 and num_columns() > 0;  - grow(...) was comparing
+	  the first row to be added with the last row	 in the matrix even
+	  when there were no rows in the matrix;  - insert(...) no longer
+	  swaps a coefficient with itself when	  num_columns() and
+	  row.size() do match.
+
+2002-03-20 Wednesday 11:20  Elisa Ricci
+
+	* tests/exceptions2.cc (strict.2): Added some other tests that show
+	  when an exception is thrown: one of them shows that there is
+	  still a problem with the function Matrix::grow().
+
+2002-03-19 Tuesday 19:02  Elisa Ricci
+
+	* tests/: Makefile.am, exceptions2.cc (strict.[1,1]): In
+	  "exceptions2.cc" put two tests that show that an exception is
+	  thrown if we want to built a Polyhedron starting from a system of
+	  constraints that contains strict-inequalities or a a system of
+	  generators that contains closure_points.
+
+2002-03-19 Tuesday 18:20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PolyBase.cc (strict.11): The method OK() improved to check
+	  invariants for both NC and NNC polyhedra.
+
+2002-03-19 Tuesday 18:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Matrix.cc (strict.6): One of the new tests added to OK() was
+	  causing Matrix::grow() to fail.  Temporarily commented out.
+
+2002-03-19 Tuesday 16:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/ConSys.cc (strict.6): Method OK() now merely calls
+	  Matrix::OK(), since there are no other meaningful tests to
+	  perform. Overriding used just for better documenting this fact.
+
+2002-03-19 Tuesday 16:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Matrix.cc (strict.5): In method OK(), added a check on
+	  matrices with no rows.
+
+2002-03-19 Tuesday 16:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/GenSys.cc (strict.6): In method OK(), no longer checking for
+	  topology mismatches between the systems and its generators (this
+	  is already done when calling Matrix::OK()).  No longer checking
+	  for the existence of a point, because points are only required if
+	  the GenSys is representing a polyhedron (check has to be
+	  performed by PolyBase::OK()).
+
+2002-03-19 Tuesday 15:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Matrix.cc (strict.4): Method OK() now checks for topology
+	  mismatches between the matrix and its rows.  The check on the
+	  minimum number of columns updated to work correctly with NNC
+	  topology matrices.
+
+2002-03-19 Tuesday 15:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Generator.cc, Generator.inlines.hh (strict.[2,4]): Method
+	  OK() updated to perform checks of invariants for generators
+	  defined on the NNC topology.
+
+2002-03-19 Tuesday 15:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Row.cc (strict.1): In method OK(), added a check on the
+	  minimum number of coefficients of a row (the minimum depends on
+	  the row topology).
+
+2002-03-19 Tuesday 13:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/GenSys.cc (strict.5): In function OK(), when checking for the
+	  existence of a point, we now use is_point() to (correctly)
+	  disregard closure points.  Also checking for topology mismatches
+	  between gen_sys and its elements.
+
+2002-03-19 Tuesday 11:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PolyBase.cc (strict.10): Exploiting the new explicit
+	  conversions from Constraint/Generator to LinExpression in
+	  PolyBase methods   - insert(const Constraint&)   - insert(const
+	  Generator&)	- convex_difference_assign(const PolyBase&).
+
+2002-03-19 Tuesday 11:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/LinExpression.cc (strict.2): Corrected a bug in the newly
+	  introduced constructors.
+
+2002-03-19 Tuesday 11:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: LinExpression.cc, LinExpression.defs.hh (strict.[1,1]):
+	  Added explicit constructors taking a constraint/generator as
+	  parameter: they are PPL_INTERNAL and extract from the parameter a
+	  "necessarily closed" copy of the corresponding linear expression.
+
+2002-03-19 Tuesday 01:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/devref-browse.doxyconf-latex.in,
+	  doc/devref-print.doxyconf-latex.in, doc/devref.doxyconf-html.in,
+	  src/Makefile.am (strict.[1,1,1,3]): Added files NNC_Polyhedron.*
+	  and PolyBase_* to Makefile.am and to the INPUT_FILE flags for
+	  doxygen devref configuration files.
+
+2002-03-19 Tuesday 01:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PolyBase.cc (strict.9): Consistency modification: all static
+	  functions defined to just throw an exception now print the class
+	  name of the invoking object (dirty kludge using the topology()
+	  accessor; may be improved).  Added a whole set of such functions
+	  for reporting topology clashes and illegal generator systems.
+	  Adjusted several comments.  In method remove_dimensions, the case
+	  when we remove _all_ dimensions captured earlier.  Provided a
+	  temporary patches for the methods PolyBase::insert(const
+	  Constraint&) and PolyBase::insert(const Generator&).	Added
+	  topology-inconsistency checks to add_generators(gs).
+
+2002-03-19 Tuesday 00:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (strict.4): Methods reordered according
+	  to Polyhedron.defs.hh.
+
+2002-03-19 Tuesday 00:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PolyBase.defs.hh (strict.5): Method topology() made public.
+
+2002-03-19 Tuesday 00:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: NNC_Polyhedron.cc, NNC_Polyhedron.defs.hh,
+	  NNC_Polyhedron.inlines.hh, NNC_Polyhedron.types.hh
+	  (strict.[1,1,1,1]): Put under CVS control.
+
+2002-03-19 Tuesday 00:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (strict.3): Removed useless include
+	  directives (already included by PolyBase.defs.hh).
+
+2002-03-19 Tuesday 00:41  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/minimize.cc (strict.2): In both minimize(...) methods,
+	  modified the emptyness check after conversion in order to work
+	  for NNC Polyhedra too.
+
+2002-03-18 Monday 22:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user-browse.doxyconf-latex.in (1.11),
+	  doc/user-print.doxyconf-latex.in (1.11),
+	  doc/user.doxyconf-html.in (1.13), interfaces/C/ppl_c.cc (1.3),
+	  interfaces/C/ppl_c.h (1.4): Several improvements to the C
+	  interface.
+
+2002-03-18 Monday 17:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/Makefile.am (1.17), doc/devref-browse.doxyconf-latex.in
+	  (1.13), doc/devref-print.doxyconf-latex.in (1.13),
+	  doc/devref.doxyconf-html.in (1.14),
+	  doc/user-browse.doxyconf-latex.in (1.10),
+	  doc/user-print.doxyconf-latex.in (1.10),
+	  doc/user.doxyconf-html.in (1.12), interfaces/C/ppl_c.cc (1.2),
+	  interfaces/C/ppl_c.h (1.3), src/LinExpression.defs.hh (1.27):
+	  Started merging the new C interface.
+
+2002-03-18 Monday 17:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.11): Another thing to remember.
+
+2002-03-18 Monday 15:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PolyBase.cc (strict.8): Corrected a (just introduced) bug in
+	  add_dimensions_and_constraints(ConSys& cs).
+
+2002-03-18 Monday 14:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.10): More things we should not forget to do.
+
+2002-03-18 Monday 14:58  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: GenSys.defs.hh, PolyBase.cc (strict.[4,7]): Patched method
+	  PolyBase::add_generators_and_minimize(gs).
+
+2002-03-18 Monday 14:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PolyBase.cc (strict.6): Patched method
+	  PolyBase::add_dimensions_and_constraints(cs).
+
+2002-03-18 Monday 13:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.9): Things todo just after merging the `strict' branch.
+
+2002-03-18 Monday 11:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PolyBase.cc (strict.5): Adding topology-compatibility checks
+	  where needed, throwing exceptions if necessary.  Consistently
+	  using the methods [ConSys/GenSys]::adjust_topology_and_dimension
+	  when building a new polyhedron (or augmenting an existing one)
+	  starting from a ConSys or a GenSys.  When building an NNC
+	  polyhedron using the constructor PolyBase(GenSys&), we now add a
+	  closure point for each point in the GenSys.  Patched the
+	  specification of convex_difference_assign() to work correctly for
+	  NNC polyhedra.  Patched the methods add_dimensions_and_* and
+	  remove*_dimensions() to work correctly for NNC polyhedra.  Added
+	  a few "placeholder" exceptions to point out places where the
+	  current implementation is still not correct.
+
+2002-03-18 Monday 11:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PolyBase.defs.hh (strict.4): In doxygen comments, added
+	  specification for exceptions that should be thrown when
+	  identifying a topology-incompatibility.
+
+2002-03-18 Monday 11:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/GenSys.cc (strict.4): Using Matrix::swap_columns.  Corrected
+	  a bug in GenSys::insert(g).
+
+2002-03-18 Monday 11:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.cc, ConSys.defs.hh (strict.[5,3]): Method
+	  contains_strict_inequalities() renamed as
+	  has_strict_inequalities().  Using Matrix::swap_columns(i, j)
+	  whene swapping the \epsilon coefficients after dimension changes.
+
+2002-03-18 Monday 11:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Matrix.cc, Matrix.defs.hh (strict.[3,3]): Added method
+	  Matrix::swap_columns(size_t i, size_t j) to factorize the several
+	  places where we swap the column of \epsilon coefficients.
+
+2002-03-18 Monday 11:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Generator.defs.hh, Generator.cc, Generator.inlines.hh
+	  (strict.[2,1,3]): Implemented friend function closure_point(...)
+	  returning a closure point.  Added static method
+	  zero_dim_closure_point().
+
+2002-03-17 Sunday 14:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: GenSys.cc, GenSys.defs.hh (strict.[3,3]): Added methods
+	  adjust_topology_and_dimensions(), has_closure_points() and
+	  has_points() to help checking for legality and automatically
+	  adjusting generator systems when building polyhedra.
+
+2002-03-17 Sunday 14:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/ConSys.cc (strict.4): Optimized the method
+	  contains_strict_inequalities() by factoring out the topology
+	  tests.
+
+2002-03-17 Sunday 11:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/: Makefile.am (1.4), ppl_yap.cc (1.2),
+	  ppl_yap.pl (1.2): Slow and difficult progress on the YAP
+	  interface.
+
+2002-03-17 Sunday 11:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: definitions.dox (1.42), ppl.sty (1.6): Introcude the macro
+	  \cone.  Fix the macro \linspace.  Define commands using the
+	  \{new,renew,provide}command* form.
+
+2002-03-17 Sunday 11:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.35): Configuration for producing dlopen modules
+	  and WIN32 dlls.
+
+2002-03-17 Sunday 08:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (strict.3): Add missing `inline'
+	  qualifiers.
+
+2002-03-17 Sunday 00:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: PolyBase.cc, PolyBase.defs.hh, PolyBase.inlines.hh
+	  (strict.[4,3,3]): The Topology parameter is now the first one in
+	  constructors.  Added the missing topology consistency assertion
+	  to limited_widening_assign.  Using the static Constraint members
+	  for adding the positivity and epsilon related constraints in the
+	  constructors.  Constructor PolyBase(Topology, ConSys) now
+	  automatically adjust the constraint system according to the first
+	  parameter, throwing an exception if we try to insert a strict
+	  inequality into a Polyhedron.
+
+2002-03-17 Sunday 00:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.cc, Polyhedron.defs.hh, Polyhedron.inlines.hh
+	  (strict.[3,2,2]): Added the assignment operator. All methods are
+	  now inlined.
+
+2002-03-17 Sunday 00:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: GenSys.defs.hh, GenSys.inlines.hh (strict.[2,3]): The
+	  Topology parameter is now the first one in constructors.
+
+2002-03-17 Sunday 00:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.cc, ConSys.defs.hh, ConSys.inlines.hh
+	  (strict.[3,2,3]): Added methods adjust_topology_and_dimensions()
+	  and contains_strict_inequality() to help checking for legality
+	  and automatically adjusting constraint systems when building
+	  polyhedra.  Now the Topology parameter is the first one in
+	  constructors.
+
+2002-03-17 Sunday 00:19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.cc, Constraint.defs.hh, Constraint.inlines.hh
+	  (strict.[3,2,3]): Added static methods to produce the two
+	  (zero-dim) epsilon constraints replacing the positivity
+	  constraint in NNC polyhedra (0 \leq \epsilon \leq 1).  Methods
+	  is_trivial_true() and is_trivial_false() modified to also work
+	  for strict inequalities.
+
+2002-03-16 Saturday 13:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.cc, ConSys.defs.hh, ConSys.inlines.hh,
+	  Constraint.cc, Constraint.inlines.hh, GenSys.cc, GenSys.defs.hh,
+	  GenSys.inlines.hh, Generator.inlines.hh, Makefile.am, Matrix.cc,
+	  Matrix.defs.hh, Matrix.inlines.hh, PolyBase.cc, PolyBase.defs.hh,
+	  PolyBase.inlines.hh, Polyhedron.cc, Row.defs.hh, Row.inlines.hh,
+	  conversion.cc (strict.[2,1,2,2,2,2,1,2,2,2,2,2,2,3,2,2,2,2,3,3]):
+	  In constructors, now using an element of the enum Topology in
+	  order to control the kind of object created (instead of the
+	  previous boolean).  Started adding controls on Topology
+	  mismatches and automatic conversions of objects when needed.
+
+2002-03-16 Saturday 13:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Topology.hh (strict.1): Put under CVS control: new header
+	  file for the enumeration controlling the topological kind of Row,
+	  Matrix, Constraint, Generator, ConSys, GenSys and PolyBase
+	  objects.
+
+2002-03-15 Friday 11:29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Row.inlines.hh (strict.2): Re-ordering the initializer in Row
+	  constrauctors to avoid the warnings.
+
+2002-03-15 Friday 10:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.cc, ConSys.inlines.hh, Constraint.cc,
+	  Constraint.defs.hh, Constraint.inlines.hh, GenSys.cc,
+	  GenSys.inlines.hh, Generator.defs.hh, Generator.inlines.hh,
+	  LinExpression.inlines.hh, Matrix.cc, Matrix.defs.hh,
+	  Matrix.inlines.hh, Row.defs.hh, Row.inlines.hh, conversion.cc
+	  (strict.[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2]): Removed enumeration
+	  Type from class Row: added enumerations PolyhedronKind and
+	  RowKind; they are merged into a single object using new class
+	  Row::Type.  Rows now rememberif they have or not the \epsilon
+	  coefficient.
+
+	  Constructors for Matrix now have a boolean flag indicating
+	  whether or not the matrix has the \epsilon coefficient. The flag
+	  is remembered in order to correctly set the type of new rows.
+
+	  Added support for creating constraints that are strict
+	  inequalities and generators that are closure points. Added
+	  support for adding these two new kind of objects to constraint
+	  systems and generator systems (with automatic detection and
+	  resizing if needed).
+
+	  Constraints, generators and the respective systems
+	  space-dimensions now depend on the Polyhedron kind of the
+	  corresponding rows.
+
+2002-03-15 Friday 08:55  Elisa Ricci
+
+	* doc/definitions.dox (1.41): Improved the proposition that is
+	  before the definition of the ray space: we were using an object
+	  that was not defined before.
+
+2002-03-14 Thursday 15:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.20): Draft descriptions
+	  for all the new predicates added.  A few other small improvements
+	  made.
+
+2002-03-14 Thursday 13:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_prolog.outlines.hh (1.21): Improved
+	  ppl_affine_image and ppl_affine_preimage.
+
+2002-03-14 Thursday 12:22  Elisa Ricci
+
+	* doc/definitions.dox (1.40): Improved the definition of minimal
+	  proper face.
+
+2002-03-14 Thursday 10:56  Elisa Ricci
+
+	* doc/definitions.dox (1.39): Corrected two errors in the
+	  definition of minimal proper face: I have written "C" instead of
+	  "P".
+
+2002-03-14 Thursday 09:21  Elisa Ricci
+
+	* doc/definitions.dox (1.38): Improved the documentation about the
+	  faces of a polyhedron.
+
+2002-03-13 Wednesday 21:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.50), relations9.cc (1.1): New test.
+
+2002-03-13 Wednesday 20:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.outlines.hh (1.20),
+	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.2),
+	  interfaces/Prolog/SICStus/ppl_sicstus.cc (1.44),
+	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.11),
+	  src/Poly_Con_Relation.defs.hh (1.3),
+	  src/Poly_Con_Relation.inlines.hh (1.4),
+	  src/Poly_Gen_Relation.defs.hh (1.3),
+	  src/Poly_Gen_Relation.inlines.hh (1.4):
+	  Poly_Con_Relation::implies() and Poly_Gen_Relation::implies()
+	  were wrong because of missing parentheses.
+	  Poly_Con_Relation::operator!() and Poly_Gen_Relation::operator!()
+	  were ill-designed: removed.  Added Poly_Con_Relation
+	  operator-(const Poly_Con_Relation& x, const Poly_Con_Relation& y)
+	  and the similar operator dealing with Poly_Gen_Relation.  Prolog
+	  interface functions ppl_relation_with_constraint/2 and
+	  ppl_relation_with_generator/2 changed accordingly.  New Prolog
+	  interface functions made available to GNU, SICStus, and SWI
+	  Prolog.
+
+2002-03-13 Wednesday 18:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_prolog.outlines.hh (1.19): ppl_affine_image
+	  and ppl_affine_preimage corrected and
+	  ppl_add_domensions_and_constraints added.
+
+2002-03-13 Wednesday 17:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PolyBase.cc (strict.2): When constructing a PolyBase, now we
+	  store the value of the newly introduced boolean flag in the
+	  corresponding private member.
+
+2002-03-13 Wednesday 17:04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Makefile.am, PolyBase.cc, PolyBase.defs.hh,
+	  PolyBase.inlines.hh, PolyBase.types.hh, Polyhedron.cc,
+	  Polyhedron.defs.hh, Polyhedron.inlines.hh, conversion.cc,
+	  minimize.cc, simplify.cc (strict.[1,1,1,1,1,1,1,1,1,1,1]): Class
+	  Polyhedron renamed into PolyBase.  Added a private boolean flag
+	  "necessarily_closed_" and modified all constructors (but not the
+	  copy constructor) to also accept a boolean argument (which is
+	  ignored, for the moment).  Created a new class Polyhedron
+	  inheriting public-ly from PolyBase.  This will be the class
+	  defining "necessarily closed" polyhedra.
+
+2002-03-13 Wednesday 16:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.outlines.hh (1.18):
+	  ppl_relation_with_constraint/3 and ppl_relation_with_generator/3
+	  added.
+
+2002-03-13 Wednesday 16:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Poly_Con_Relation.defs.hh (1.2),
+	  Poly_Con_Relation.inlines.hh (1.3), Poly_Gen_Relation.defs.hh
+	  (1.2), Poly_Gen_Relation.inlines.hh (1.3): The implies() methods
+	  were not qualified as const.	Poly_Con_Relation::operator!() and
+	  Poly_Gen_Relation::operator!() added.
+
+2002-03-13 Wednesday 16:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_prolog.outlines.hh (1.17),
+	  SWI/ppl_swiprolog.cc (1.10): ppl_affine_image and
+	  ppl_affine_preimage added.
+
+2002-03-13 Wednesday 14:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.43): Misspelled
+	  functions fixed.  ppl_polyhedron_strictly_included/2 added.
+
+2002-03-13 Wednesday 14:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_prolog.outlines.hh (1.16): Definitions of
+	  equal, included_or_equal and strictly_included predicates
+	  corrected.
+
+2002-03-13 Wednesday 11:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_prolog.outlines.hh (1.15),
+	  SWI/ppl_swiprolog.cc (1.9): Some corrections to some of the new
+	  predicates definitions.
+
+2002-03-13 Wednesday 07:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/Makefile.am (1.10): Always build `pplpl'
+	  and `pl_clpq'.
+
+2002-03-13 Wednesday 07:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_prolog.outlines.hh (1.14): Added new atoms
+	  for the relations of polyhedra with constraints and generators.
+
+2002-03-13 Wednesday 07:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.42): Missing
+	  semicolons added.
+
+2002-03-12 Tuesday 20:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.41): Macro SP_STUB_3
+	  added and used for ppl_limited_widening_assign/3.
+
+2002-03-12 Tuesday 19:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_prolog.outlines.hh (1.13),
+	  SICStus/ppl_sicstus.cc (1.40), SWI/ppl_swiprolog.cc (1.8): <=,
+	  ==, and < added as ppl predicates.  SWI and SICStus interfaces
+	  updated with <= and == predicates.
+
+2002-03-12 Tuesday 19:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/: ppl_prolog.outlines.hh (1.12),
+	  SICStus/ppl_sicstus.cc (1.39), SWI/ppl_swiprolog.cc (1.7): Added
+	  ppl_add_generators_and_minimize, ppl_check_universe, and
+	  ppl_is_bounded.  SICStus and SWI updated to use the new
+	  predicates.
+
+2002-03-12 Tuesday 18:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_prolog.outlines.hh (1.11):
+	  ppl_add_generators_and_minimize added.
+
+2002-03-12 Tuesday 17:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.19): Restored comment
+	  for ppl_copy_polyhedron, small change to notation and added draft
+	  documentation for three predicates that were missing.
+
+2002-03-12 Tuesday 17:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/ppl_prolog.outlines.hh (1.10): Code for
+	  ppl_limited_widening_assign, ppl_relation_with_constraint and
+	  ppl_relation_with_generator added.
+
+2002-03-12 Tuesday 15:18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.18): Added a note on the change of terminology
+	  vertex/point.
+
+2002-03-12 Tuesday 15:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_prolog.outlines.hh (1.9),
+	  Ciao/ppl_ciao.cc (1.3): Using "point" instead of "vertex".
+
+2002-03-12 Tuesday 15:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: addconstraints9.cc (1.5), adddimensions1.cc (1.6),
+	  adddimensions3.cc (1.4), addgenerators1.cc (1.5),
+	  addgenerators2.cc (1.5), addgenerators3.cc (1.4),
+	  addgenerators4.cc (1.4), addgenerators5.cc (1.4),
+	  addgenerators6.cc (1.4), affineimage1.cc (1.4),
+	  affinepreimage1.cc (1.4), affinepreimage3.cc (1.3),
+	  affinepreimage4.cc (1.4), affinetrans.cc (1.8),
+	  convexdifference1.cc (1.8), convexhull1.cc (1.5), convexhull2.cc
+	  (1.4), convexhull3.cc (1.3), error1.cc (1.8), error10.cc (1.2),
+	  error11.cc (1.2), error12.cc (1.2), error13.cc (1.2), error14.cc
+	  (1.2), error15.cc (1.2), error16.cc (1.2), error17.cc (1.2),
+	  error18.cc (1.3), error19.cc (1.2), error2.cc (1.10), error20.cc
+	  (1.3), error21.cc (1.4), error22.cc (1.3), error23.cc (1.2),
+	  error24.cc (1.2), error25.cc (1.4), error26.cc (1.3), error27.cc
+	  (1.3), error28.cc (1.3), error29.cc (1.3), error3.cc (1.10),
+	  error4.cc (1.5), error5.cc (1.6), error6.cc (1.4), error7.cc
+	  (1.3), error8.cc (1.2), error9.cc (1.3), exceptions1.cc (1.2),
+	  generators1.cc (1.4), inters2.cc (1.11), inters5.cc (1.5),
+	  inters6.cc (1.4), onepoint.cc (1.3), randchull1.cc (1.11),
+	  relations2.cc (1.3), relations3.cc (1.3), relations4.cc (1.3),
+	  relations5.cc (1.3), removedim1.cc (1.4), removedim2.cc (1.8),
+	  removedim4.cc (1.5): In all the tests, now using "point" instead
+	  of "vertex".	Removed the old tests "errorN.cc", which are now
+	  all subsumed by the single test "exceptions1.cc".
+
+2002-03-12 Tuesday 15:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.cc (1.28), Constraint.defs.hh (1.45),
+	  Constraint.inlines.hh (1.21), GenSys.cc (1.42), GenSys.defs.hh
+	  (1.49), GenSys.inlines.hh (1.14), Generator.cc (1.23),
+	  Generator.defs.hh (1.49), Generator.inlines.hh (1.22),
+	  LinExpression.defs.hh (1.26), Matrix.cc (1.31), Polyhedron.cc
+	  (1.142), Polyhedron.defs.hh (1.86), Row.cc (1.31), Row.defs.hh
+	  (1.34), Row.inlines.hh (1.14), conversion.cc (1.24), minimize.cc
+	  (1.17), simplify.cc (1.13): The term "vertex" replaced almost
+	  everywhere by "point": this is because these kind of generators
+	  are not necessarily vertices of the polyhedron.  All comments
+	  adjusted accordingly.
+
+2002-03-12 Tuesday 15:02  Elisa Ricci
+
+	* src/minimize.cc (positive.10): Some changes in the part
+	  controlled by the flag " POS_SIMPLEX_TRICK".
+
+2002-03-12 Tuesday 14:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.18): Description of
+	  some of the Prolog predicates improved.
+
+2002-03-12 Tuesday 13:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.141): Do not use the amsmath's \text{} macro
+	  in contexts like $a_\text{var}$.  Use $a_\mathrm{var}$ instead.
+
+2002-03-12 Tuesday 12:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.30): Do not use the `-e' option of GNU grep
+	  (this solves a portability problem on Solaris).
+
+2002-03-12 Tuesday 11:44  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.defs.hh (1.44), Generator.defs.hh (1.48),
+	  Generator.inlines.hh (1.21): The method Constraint::type() and
+	  the corresponding enum Constraint::Type are now public.  Added
+	  new public type tests to Generator, is_ray() and is_vertex();
+	  also, the existing method is_line() is now public.
+
+2002-03-12 Tuesday 11:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Generator.cc (1.22), Generator.defs.hh (1.47),
+	  Generator.inlines.hh (1.20): We were still throwing an exception
+	  from the inlined method divisor(); added a non-inline function
+	  for that purpose.
+
+2002-03-12 Tuesday 11:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: GNU/Makefile.am (1.6), SWI/Makefile.am (1.9),
+	  YAP/Makefile.am (1.3): More packaging glitches have been fixed.
+
+2002-03-12 Tuesday 09:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Makefile.am (1.7), GNU/Makefile.am (1.5),
+	  SICStus/Makefile.am (1.15), SWI/Makefile.am (1.8),
+	  YAP/Makefile.am (1.2): A first go at fixing the packaging
+	  problems.
+
+2002-03-11 Monday 19:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.17), src/Polyhedron.defs.hh (1.85): Visibility bug fixed:
+	  Polyhedron::is_empty() must be private.
+
+2002-03-11 Monday 18:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (1.17): Fixed a severe performance bug
+	  in operator<(const Polyhedron& x, const Polyhedron& y).
+
+2002-03-11 Monday 14:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.defs.hh (1.34), Constraint.defs.hh (1.43),
+	  GenSys.defs.hh (1.48), Generator.defs.hh (1.46), Matrix.defs.hh
+	  (1.19), Row.defs.hh (1.33): Added a few missing doxygen comments
+	  to avoid warnings.
+
+2002-03-11 Monday 14:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Matrix.inlines.hh (1.17): Fixed a \relates doxygen comment
+	  pointing to the wrong class.
+
+2002-03-11 Monday 14:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Variable.defs.hh (1.15): Removed a redundant namespace
+	  qualification.
+
+2002-03-11 Monday 14:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref-browse.doxyconf-latex.in (1.12),
+	  devref-print.doxyconf-latex.in (1.12), devref.doxyconf-html.in
+	  (1.13): Set the WARN_IF_UNDOCUMENTED flag to YES. This will have
+	  no effect until we will set EXTRACT_ALL to NO.  Added the
+	  *.types.hh files to the INPUT variable.
+
+2002-03-11 Monday 14:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.17): Documentation
+	  describing the PPL Prolog predicates revised.
+
+2002-03-11 Monday 12:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.16): Documentation for
+	  ppl_copy_polyhedron corrected.
+
+2002-03-11 Monday 12:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: clpq.pl (1.4), clpq2.pl (1.3): Now consulting
+	  'file' will try also 'file.pl' in case 'file' does not exist or
+	  is not readable.
+
+2002-03-11 Monday 01:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.cc (1.19), Constraint.defs.hh (1.42),
+	  Generator.cc (1.21), Generator.defs.hh (1.45), Matrix.cc (1.30),
+	  Matrix.defs.hh (1.18), Matrix.inlines.hh (1.16), Polyhedron.cc
+	  (1.140), Polyhedron.defs.hh (1.84), Row.cc (1.30), Row.defs.hh
+	  (1.32), Row.inlines.hh (1.13), SatMatrix.cc (1.14),
+	  SatMatrix.defs.hh (1.15), SatRow.cc (1.7), SatRow.defs.hh (1.11),
+	  SatRow.inlines.hh (1.11), Status.cc (1.11), Status.defs.hh
+	  (1.14), Variable.cc (1.6), Variable.defs.hh (1.14),
+	  Variable.inlines.hh (1.8): Placing the doxygen \relates command
+	  before function definitions (instead of declarations) to avoid
+	  warnings for unmatched functions.
+
+2002-03-11 Monday 00:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref-browse.doxyconf-latex.in (1.11),
+	  devref-print.doxyconf-latex.in (1.11), devref.doxyconf-html.in
+	  (1.12): Added the newer (and old ones too) source files to the
+	  INPUT tag.  Turned on the STRIP_CODE_COMMENTS flag, to avoid
+	  outputting dosygen comments in the devref detailed comments for
+	  enumerations (e.g., Generator::Type).
+
+2002-03-10 Sunday 21:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: ConSys.cc (1.27), LinExpression.defs.hh (1.25),
+	  Polyhedron.cc (1.139): Just formatting.
+
+2002-03-10 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Row.cc (1.29), Row.defs.hh (1.31): Avoid the creation of
+	  temporaries in operator*(const Row& x, const Row& y).  This
+	  results in a speedup of at least 3%.
+
+2002-03-10 Sunday 16:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: ConSys.cc (1.26), GenSys.cc (1.41): Missing full-stops
+	  added.
+
+2002-03-10 Sunday 16:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: ConSys.cc (1.25), GenSys.cc (1.40):
+	  ConSys::affine_preimage() and GenSys::affine_image() shortened
+	  and slightly optimized.  Moreover, each contained a wrong
+	  assertion.
+
+2002-03-10 Sunday 15:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ConSys.cc (1.24): Avoid a useless temporary in
+	  ConSys::affine_preimage().
+
+2002-03-10 Sunday 14:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: ConSys.cc (1.23), ConSys.defs.hh (1.33), ConSys.inlines.hh
+	  (1.13), Constraint.defs.hh (1.41), Constraint.inlines.hh (1.20),
+	  GenSys.cc (1.39), GenSys.defs.hh (1.47), GenSys.inlines.hh
+	  (1.13), LinExpression.defs.hh (1.24), LinExpression.inlines.hh
+	  (1.12), Matrix.cc (1.29), Matrix.defs.hh (1.17), Polyhedron.cc
+	  (1.138), Row.defs.hh (1.30), Row.inlines.hh (1.12), SatMatrix.cc
+	  (1.13), SatMatrix.defs.hh (1.14), SatMatrix.inlines.hh (1.9),
+	  Variable.defs.hh (1.13), Variable.inlines.hh (1.7): Compile
+	  cleanly with gcc's -Wshadow.
+
+2002-03-10 Sunday 13:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.34): The configure options --with-cflags and
+	  --with-cxxflags now add more compiler options (as opposed to
+	  replace them).  In addition the --with-cflags options was simply
+	  broken.
+
+2002-03-10 Sunday 13:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/ppl_swiprolog.cc (1.6): Assertion fixed.
+
+2002-03-10 Sunday 00:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.cc (1.18), Generator.cc (1.20): Useless
+	  namespace qualification in argument was causing a doxygen
+	  warning.
+
+2002-03-10 Sunday 00:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref-browse.doxyconf-latex.in (1.10),
+	  devref-print.doxyconf-latex.in (1.10), devref.doxyconf-html.in
+	  (1.11), user-browse.doxyconf-latex.in (1.9),
+	  user-print.doxyconf-latex.in (1.9), user.doxyconf-html.in (1.11):
+	  New configuration files obtained by using the -u options of
+	  doxygen 1.2.14 and a bit of manual editing.
+
+2002-03-09 Saturday 19:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/: Makefile.am (1.2), ppl_c.c (1.2), ppl_c.cc (1.1),
+	  ppl_c.h (1.2): Slow progress.  The C interface is implemented in
+	  C++ (of course).
+
+2002-03-09 Saturday 13:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.33), interfaces/Makefile.am (1.4),
+	  interfaces/C/.cvsignore (1.1), interfaces/C/Makefile.am (1.1),
+	  interfaces/C/ppl_c.c (1.1), interfaces/C/ppl_c.h (1.1): C
+	  interface started.
+
+2002-03-08 Friday 22:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.8): More things to do.
+
+2002-03-08 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.32): The SICStus Prolog interface is only built
+	  if the user has SICStus Prolog 3.9.0 or a later version.
+
+2002-03-08 Friday 11:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: GNU/ppl_gprolog.cc (1.8),
+	  SICStus/ppl_sicstus.cc (1.38), SWI/ppl_swiprolog.cc (1.5): Minor
+	  improvements.
+
+2002-03-08 Friday 11:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.31), interfaces/Prolog/YAP/.cvsignore (1.1),
+	  interfaces/Prolog/YAP/Makefile.am (1.1),
+	  interfaces/Prolog/YAP/ppl_yap.cc (1.1),
+	  interfaces/Prolog/YAP/ppl_yap.pl (1.1),
+	  interfaces/Prolog/YAP/yap_clpq.pl (1.1): YAP Prolog interface
+	  started.
+
+2002-03-08 Friday 10:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: relations1.cc (1.2), relations2.cc (1.2), relations3.cc
+	  (1.2), relations4.cc (1.2), relations5.cc (1.2), relations6.cc
+	  (1.2), relations7.cc (1.2), relations8.cc (1.2): Tests updated to
+	  correctly use the new classes Poly_Con_Relation and
+	  Poly_Gen_Relation.
+
+2002-03-08 Friday 10:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: GenSys.cc (1.38), GenSys.defs.hh (1.46), Polyhedron.cc
+	  (1.137), Polyhedron.defs.hh (1.83): Methods relation_with(...)
+	  updated to correctly use the new classes Poly_Con_Relation and
+	  Poly_Gen_Relation.
+
+2002-03-08 Friday 10:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: ConSys.defs.hh (1.32), ConSys.inlines.hh (1.12),
+	  Constraint.cc (1.17), Constraint.defs.hh (1.40),
+	  Constraint.inlines.hh (1.19), GenSys.defs.hh (1.45),
+	  GenSys.inlines.hh (1.12), Generator.cc (1.19), Generator.defs.hh
+	  (1.44), LinExpression.cc (1.10), LinExpression.defs.hh (1.23),
+	  LinExpression.inlines.hh (1.11), Matrix.cc (1.28), Matrix.defs.hh
+	  (1.16), Matrix.inlines.hh (1.15), Poly_Con_Relation.cc (1.2),
+	  Poly_Gen_Relation.cc (1.2), Polyhedron.cc (1.136),
+	  Polyhedron.defs.hh (1.82), Polyhedron.inlines.hh (1.16), Row.cc
+	  (1.28), Row.defs.hh (1.29), Row.inlines.hh (1.11), SatMatrix.cc
+	  (1.12), SatMatrix.defs.hh (1.13), SatMatrix.inlines.hh (1.8),
+	  SatRow.cc (1.6), SatRow.defs.hh (1.10), SatRow.inlines.hh (1.10),
+	  Status.cc (1.10), Status.defs.hh (1.13), Status.inlines.hh (1.7),
+	  Variable.cc (1.5), Variable.defs.hh (1.12), Variable.inlines.hh
+	  (1.6): For each operator name @ different from `new' and
+	  `delete', the syntax `operator@()' has to be preferred to
+	  `operator @'.
+
+2002-03-08 Friday 10:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Poly_Con_Relation.inlines.hh (1.2),
+	  Poly_Gen_Relation.inlines.hh (1.2): Add missing `inline'
+	  qualifiers.
+
+2002-03-08 Friday 10:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: GenSys.cc (1.37), GenSys.defs.hh (1.44), Makefile.am
+	  (1.29), Poly_Con_Relation.cc (1.1), Poly_Con_Relation.defs.hh
+	  (1.1), Poly_Con_Relation.inlines.hh (1.1),
+	  Poly_Con_Relation.types.hh (1.1), Poly_Gen_Relation.cc (1.1),
+	  Poly_Gen_Relation.defs.hh (1.1), Poly_Gen_Relation.inlines.hh
+	  (1.1), Poly_Gen_Relation.types.hh (1.1), Polyhedron.cc (1.135),
+	  Polyhedron.defs.hh (1.81), relations.cc (1.2), relations.hh
+	  (1.3): New classes for polyhedron/constraint and
+	  polyhedron/generator relations.
+
+2002-03-08 Friday 09:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Status.defs.hh (1.12), Status.inlines.hh (1.6): Only
+	  esthetics.
+
+2002-03-07 Thursday 19:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: GNU/Makefile.am (1.4), GNU/gp_clpq.pl (1.2),
+	  GNU/ppl_gprolog.cc (1.7), SWI/Makefile.am (1.7): GNU Prolog
+	  CLP(Q) interpreter almost working (the ack.clpq test provokes a
+	  segmentation fault though).
+
+2002-03-07 Thursday 16:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.37): First part of Section 1.2 -
+	  Homogeneous Systems of the developer's manual, revised.
+
+2002-03-07 Thursday 14:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.7): Started adding the list of minor things to do.
+
+2002-03-07 Thursday 12:48  Elisa Ricci
+
+	* tests/: Makefile.am (1.49), includes1.cc (1.7), includes2.cc
+	  (1.6), includes3.cc (1.6), includes4.cc (1.6), relations1.cc
+	  (1.1), relations2.cc (1.1), relations3.cc (1.1), relations4.cc
+	  (1.1), relations5.cc (1.1), relations6.cc (1.1), relations7.cc
+	  (1.1), relations8.cc (1.1), satisfies1.cc (1.8), satisfies2.cc
+	  (1.6), satisfies3.cc (1.7), satisfies4.cc (1.5): The tests
+	  includes1, includes2, includes3, includes4 are now renamed
+	  relations1, relations2, relations3, relations4 and the tests
+	  satisfies1, satisfies2,satisfies3, satisfies4 are renamed
+	  relations5, relations6, relations7, relations8.
+
+2002-03-07 Thursday 12:24  Elisa Ricci
+
+	* tests/: Makefile.am (1.48), exceptions1.cc (1.1): All the tests
+	  for the exceptions are now put in this file.
+
+2002-03-07 Thursday 12:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: check_script (1.2), clpq.pl (1.3),
+	  SICStus/sp_clpq.pl (1.2), SWI/Makefile.am (1.6), SWI/pl_clpq.cc
+	  (1.1), SWI/pl_clpq.pl (1.2): The CLP(Q) interpreter now behaves
+	  the same under SICStus and SWI-Prolog.  The two version now
+	  implement the same `make check' procedure.
+
+2002-03-07 Thursday 11:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.16): Corrected a cut&paste error and added a note on the
+	  bug fixed in Polyhedron::add_constraints().
+
+2002-03-07 Thursday 11:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_prolog.outlines.hh (1.8),
+	  GNU/ppl_gprolog.cc (1.6), SICStus/ppl_sicstus.cc (1.37),
+	  SWI/Makefile.am (1.5), SWI/ppl_swiprolog.cc (1.4): Use the names
+	  Prolog_is_cons and Prolog_get_cons instead of the ambiguous
+	  Prolog_is_list and Prolog_get_list.  Bugs fixed.  The CLP(Q)
+	  interpreter now works also under SWI-Prolog.
+
+2002-03-07 Thursday 11:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/GenSys.cc (1.36): Adjusted a few comments in
+	  GenSys::relation_with(c). Also avoided using the boolean variable
+	  first_vertex_or_nonsaturating_ray when c is an equality
+	  constraint.
+
+2002-03-07 Thursday 10:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/GenSys.cc (1.35), tests/satisfies4.cc (1.4): Method
+	  Polyhedron::relation_with(c) corrected to work as expected when c
+	  is an equality. Test satisfies4, modified to test for the right
+	  thing, now is correctly handled.
+
+2002-03-07 Thursday 08:39  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.134): "steel" corrected to "steal".
+
+2002-03-06 Wednesday 19:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Makefile.am (1.6), check_script (1.1),
+	  clpq.pl (1.2), clpq2.pl (1.2), expected (1.1), GNU/Makefile.am
+	  (1.3), GNU/gp_clpq.pl (1.1), GNU/ppl_gprolog.cc (1.5),
+	  SICStus/Makefile.am (1.14), SICStus/check_script (1.2),
+	  SICStus/expected (1.5), SWI/Makefile.am (1.4), SWI/pl_clpq.pl
+	  (1.1): Slow progress on the unified Prolog interfaces.
+
+2002-03-06 Wednesday 19:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.80), tests/error21.cc (1.3),
+	  tests/error22.cc (1.2), tests/includes1.cc (1.6),
+	  tests/includes2.cc (1.5), tests/includes3.cc (1.5),
+	  tests/includes4.cc (1.5): Small fix in a comment of
+	  Polyhedron.defs.hh.  Modified a few tests to let them compile
+	  after the API changes.
+
+2002-03-06 Wednesday 15:20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS (1.15), src/relations.hh (1.2): Small change in a comment to
+	  enum Relation_Poly_Con.  Added to NEWS information about the
+	  replacement of includes() and satisfies() by methods
+	  relation_with().
+
+2002-03-06 Wednesday 15:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/GenSys.cc (1.34), src/GenSys.defs.hh (1.43), src/Makefile.am
+	  (1.28), src/Polyhedron.cc (1.133), src/Polyhedron.defs.hh (1.79),
+	  src/relations.cc (1.1), src/relations.hh (1.1),
+	  tests/satisfies1.cc (1.7), tests/satisfies2.cc (1.5),
+	  tests/satisfies3.cc (1.6), tests/satisfies4.cc (1.3): Put under
+	  CVS control.
+
+2002-03-06 Wednesday 15:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: ack.clpq (1.1), ackn.clpq (1.1), clpq.pl
+	  (1.1), clpq2.pl (1.1), fib.clpq (1.1), mc91.clpq (1.1),
+	  ppl_prolog.pl (1.1), smm.clpq (1.1), smmdiff.clpq (1.1),
+	  sumto.clpq (1.1), tak.clpq (1.1), SICStus/Makefile.am (1.13),
+	  SICStus/ack.clpq (1.4), SICStus/ackn.clpq (1.2), SICStus/clpq.pl
+	  (1.28), SICStus/clpq2.pl (1.4), SICStus/fib.clpq (1.3),
+	  SICStus/mc91.clpq (1.2), SICStus/ppl_sicstus.pl (1.19),
+	  SICStus/smm.clpq (1.2), SICStus/smmdiff.clpq (1.3),
+	  SICStus/sp_clpq.pl (1.1), SICStus/sumto.clpq (1.2),
+	  SICStus/tak.clpq (1.2): Share as much sources as possible among
+	  all supported Prolog implementations.
+
+2002-03-06 Wednesday 13:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_prolog.outlines.hh (1.7),
+	  track_allocation.hh (1.2), SICStus/ppl_sicstus.cc (1.36),
+	  SICStus/ppl_sicstus.pl (1.18): GNU Prolog, SICStus Prolog and
+	  SWI-Prolog interfaces now share most of the code.
+
+2002-03-06 Wednesday 11:39  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/GenSys.cc (1.33): In GenSys::affine_image(), rays and lines
+	  can be mapped into the origin only if the transformation is NOT
+	  invertible.
+
+2002-03-06 Wednesday 11:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.132): Invertible affine transformations
+	  preserve both the minimality and the saturation relations of
+	  constraints and generators.
+
+2002-03-06 Wednesday 08:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: exceptions.hh (1.3), ppl_prolog.outlines.hh
+	  (1.6), track_allocation.hh (1.1), GNU/ppl_gprolog.cc (1.4),
+	  SWI/ppl_swiprolog.cc (1.3): GNU Prolog interface fixed.  More
+	  common code between the GNU Prolog and the SWI Prolog interfaces.
+	  Allocation tracking implemented in a separate file.
+
+2002-03-05 Tuesday 20:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/ppl_gprolog.cc (1.3): Work around a couple
+	  of bugs in GNU Prolog 1.2.8.
+
+2002-03-05 Tuesday 19:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/GenSys.cc (1.32): Now GenSys::satisfy() correctly handles the
+	  case when c is an equality.  Still have to check the case of c
+	  being an inequality.
+
+2002-03-05 Tuesday 16:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/satisfies4.cc (1.2): Corrected the test just inserted (and
+	  set NOISY = 0).
+
+2002-03-05 Tuesday 15:46  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am (1.47), satisfies4.cc (1.1): The test
+	  satisfies4 shows a bug whereby we return SOME_SATISFY even when
+	  the considered equality constraint has an empty intersection with
+	  the polyhedron.
+
+2002-03-05 Tuesday 14:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.131): Corrected a bug in satisfies() for the
+	  case when *this is a zero-dim univ.  polyhedron. Now the test
+	  satisfies3 should pass.
+
+2002-03-05 Tuesday 14:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/satisfies3.cc (1.5): Test satisfies3 modified to check all
+	  the possibilities when calling Polyhedron::satisfies() on a
+	  zero-dim-universe polyhedron.  The old test was meaningless,
+	  since it was saying that the wrong result was ok. This new test
+	  shows a bug that I am going to correct.
+
+2002-03-05 Tuesday 12:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Constraint.defs.hh (1.39): A couple of spelling errors in
+	  comments fixed.
+
+2002-03-04 Monday 22:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: devref-browse.doxyconf-latex.in (1.9),
+	  devref-print.doxyconf-latex.in (1.9), devref.doxyconf-html.in
+	  (1.10): Include the Prolog interfaces into the documentation for
+	  developers.
+
+2002-03-04 Monday 22:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: SICStus/ppl_sicstus.cc (1.35),
+	  SWI/ppl_swiprolog.cc (1.2): Small improvements.
+
+2002-03-04 Monday 22:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/GNU/: Makefile.am (1.2), ppl_gprolog.cc (1.2),
+	  ppl_gprolog.pl (1.1): GNU Prolog interface almost complete.
+
+2002-03-04 Monday 17:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/simplify.cc (1.12): Adjusted the comments in the part where
+	  we check the independence rule for inequalities.
+
+2002-03-04 Monday 17:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: GNU/.cvsignore (1.1), SWI/.cvsignore (1.1):
+	  Put under CVS control.
+
+2002-03-04 Monday 17:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.30), interfaces/Prolog/GNU/Makefile.am (1.1),
+	  interfaces/Prolog/GNU/ppl_gprolog.cc (1.1): GNU Prolog interface
+	  started.
+
+2002-03-04 Monday 17:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/: Makefile.am (1.12), ppl_sicstus.cc
+	  (1.34): Comment added.  Do not use the preprocessor to declare
+	  constants.
+
+2002-03-04 Monday 17:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/: Makefile.am (1.3), ppl_swi.cc (1.7),
+	  ppl_swiprolog.cc (1.1): Renamed.
+
+2002-03-04 Monday 17:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/ppl_swi.cc (1.6): More interface functions
+	  added.
+
+2002-03-04 Monday 16:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/Makefile.am (1.2), src/Makefile.am (1.27):
+	  Comments fixed.
+
+2002-03-04 Monday 16:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (1.8): Updated.
+
+2002-03-04 Monday 15:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.29), interfaces/Prolog/exceptions.hh (1.2),
+	  interfaces/Prolog/ppl_prolog.outlines.hh (1.5),
+	  interfaces/Prolog/SICStus/ppl_sicstus.cc (1.33),
+	  interfaces/Prolog/SICStus/ppl_sicstus.pl (1.17),
+	  interfaces/Prolog/SWI/Makefile.am (1.1),
+	  interfaces/Prolog/SWI/ppl_swi.cc (1.5),
+	  interfaces/Prolog/SWI/pplpl.cc (1.1): SWI Prolog interface almost
+	  complete.
+
+2002-03-04 Monday 14:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.130): Since the Row::capacity() method is
+	  accessible only during debugging, we no longer swap rows in
+	  Polyhedron::add_constraints() (we always swap the coefficeints).
+
+2002-03-03 Sunday 11:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: minimize.cc (1.16), simplify.cc (1.11): Started polishing
+	  the comments, and also the code in a few places, for the function
+	  simplify(). Adjusted a few comments in minimize(), regarding the
+	  saturation matrix.
+
+2002-03-02 Saturday 17:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/exceptions.hh (1.1): Exceptions to be used by
+	  the Prolog interfaces.
+
+2002-03-02 Saturday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_prolog.outlines.hh (1.4),
+	  SICStus/ppl_sicstus.cc (1.32), SICStus/ppl_sicstus.pl (1.16),
+	  SWI/ppl_swi.cc (1.4): Progress on the SWI and SICStus interfaces.
+	  More error checking added.
+
+2002-03-02 Saturday 14:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_prolog.outlines.hh (1.3),
+	  SICStus/ppl_sicstus.cc (1.31), SWI/ppl_swi.cc (1.3): SICStus and
+	  SWI interfaces reconciled.
+
+2002-03-02 Saturday 09:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.129): In add_constraints(), corrected a bug
+	  whereby we were mixing constraints having different row's
+	  capoacities into a single constraint system.
+
+2002-03-02 Saturday 09:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/minimize.cc (1.15): Small change in a comment.
+
+2002-03-02 Saturday 09:20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Generator.defs.hh (1.43): Added the right doxygen comments to
+	  enumeration Generator::Type.	The special command
+	  \hideinitializer allows to mask implementation details.
+
+2002-03-02 Saturday 07:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: ppl_prolog.outlines.hh (1.2),
+	  SICStus/ppl_sicstus.cc (1.30), SWI/ppl_swi.cc (1.2): Some
+	  progress on the combined SICStus/SWI interface.
+
+2002-03-01 Friday 16:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.defs.hh (1.78), minimize.cc (1.14): Polished the
+	  function add_and_minimize(...).  No longer using variable
+	  `index', which was useless.  Some style changes to made the code
+	  more uniform wrt what is done in function minimize(...). Also,
+	  con_to_ray renamed into con_to_gen.
+
+2002-03-01 Friday 16:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/ppl_swi.cc (1.1): This will become the
+	  SWI-Prolog stub.
+
+2002-03-01 Friday 15:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.29): Use
+	  ppl_prolog.outlines.hh.
+
+2002-03-01 Friday 15:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Makefile.am (1.5), ppl_prolog.outlines.hh
+	  (1.1): Will try to derive as much Prolog interfaces as possible
+	  from this one.
+
+2002-03-01 Friday 14:56  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/: ppl_ciao.cc (1.2), ppl_ciao.pl (1.2):
+	  Ciao only handles integer type `int'.  Added placeholders for
+	  linker and compiler options.
+
+2002-03-01 Friday 14:20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/: ppl_ciao.cc (1.1), ppl_ciao.pl (1.1):
+	  Put under CVS control.  The structure of ppl_ciao.pl is basically
+	  there, even if there still are gaps to be filled. ppl_ciao.cc,
+	  for the moment, is just a bare copy of the code written for
+	  SICStus.
+
+2002-03-01 Friday 12:42  Elisa Ricci
+
+	* src/: conversion.cc, minimize.cc (positive.[5,9]): Tried to
+	  implement a new method to compute the system of constraints of a
+	  positive polyhedron defined by its system of generators: it is
+	  controlled by the flag "POS_SIMPLEX_TRICK".
+
+2002-02-28 Thursday 17:08  Elisa Ricci
+
+	* src/conversion.cc, src/minimize.cc, src/simplify.cc,
+	  tests/Makefile.am, tests/bug7.cc, tests/bug7.dat
+	  (positive.[4,8,4,8,1,1]): We need the equalities that derived
+	  from the constraints of positivity of the variables: this
+	  resolves "bug6".  Added a test that still fails.
+
+2002-02-28 Thursday 12:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.6): Reference added.
+
+2002-02-28 Thursday 08:44  Elisa Ricci
+
+	* src/: Generator.defs.hh (1.42), Row.defs.hh (1.28): Changed the
+	  place of the comment about the inhomogeneous term of a vertex.
+
+2002-02-27 Wednesday 19:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.14): Better explanations.
+
+2002-02-27 Wednesday 19:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: devref-browse.doxyconf-latex.in (1.8),
+	  devref-print.doxyconf-latex.in (1.8), devref.doxyconf-html.in
+	  (1.9): Predefine PPL_INTERNAL and PPL_HIDDEN.
+
+2002-02-27 Wednesday 18:26  Elisa Ricci
+
+	* NEWS (1.13), src/Polyhedron.cc (1.128), src/Polyhedron.defs.hh
+	  (1.77), tests/Makefile.am (1.46), tests/bounded1.cc (1.1): Added
+	  the function Polyhedron::is_bounded() that returns true if and
+	  only if the polyhedron is bounded.  Added a test for this
+	  function.
+
+2002-02-27 Wednesday 17:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/minimize.cc (1.13): In minimize(), added an assertion saying
+	  that matrix source is not empty.  Removed a FIXME and added a
+	  comment explaining why dest is initialized as what would be a
+	  non-legal generator matrix.
+
+2002-02-27 Wednesday 16:52  Elisa Ricci
+
+	* NEWS (1.12): Added the new feature that says that PPL does not
+	  call abort(), but we have an error message and the correction of
+	  the bug of the negative denominator of the vertex.
+
+2002-02-27 Wednesday 16:36  Elisa Ricci
+
+	* src/: Generator.cc (1.18), Generator.defs.hh (1.41),
+	  Polyhedron.cc (1.127): Considered the fact that a vertex must
+	  always have a positive denominator.
+
+2002-02-27 Wednesday 14:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.5): Non-Necessarily-Closed Polyhedra.
+
+2002-02-27 Wednesday 14:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.4): Constructions on polyhedra.
+
+2002-02-27 Wednesday 13:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/generators1.cc (1.3): Print something only when NOISY.
+
+2002-02-27 Wednesday 13:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO (1.3): Started with the definition of strict weak ordering
+	  and with a statement about why we need one or more of them.
+
+2002-02-27 Wednesday 11:16  Elisa Ricci
+
+	* src/minimize.cc (1.12), tests/generators1.cc (1.2): Used the
+	  exception instead of the abort() and modified the test.
+
+2002-02-27 Wednesday 10:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.11), configure.ac (1.28), src/Makefile.am (1.26): We are
+	  now in the 0.4 era.
+
+2002-02-27 Wednesday 10:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/minimize.cc (1.11): Polishing the comments in function
+	  minimize().  Small changes to the code (no longer using the flag
+	  empty_or_illegal).
+
+2002-02-27 Wednesday 09:18  Elisa Ricci
+
+	* tests/: Makefile.am (1.45), generators1.cc (1.1): Added a test
+	  for a polyhedron built form a system of generators with a vertex
+	  with negative denominator.
+
+2002-02-26 Tuesday 14:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.27): Release number back to 0.3 i order to
+	  generate the Web pages' documentation.
+
+2002-02-26 Tuesday 12:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (ppl-0_3-branch.2), README (1.11): Fixed.
+
+2002-02-26 Tuesday 12:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (ppl-0_3-branch.1), NEWS (1.10): Updated.
+
+2002-02-26 Tuesday 12:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.10): Updated.
+
+2002-02-26 Tuesday 12:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (ppl-0_3-branch.1): Updated.
+
+2002-02-26 Tuesday 12:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.26): Bump version number: the main trunk is now
+	  in the 0.4 era.
+
+2002-02-26 Tuesday 12:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (ppl-0_3-branch.1): Update version.
+
+2002-02-26 Tuesday 12:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (ppl-0_3-branch.1): Mark ChangeLog.
+
+2002-02-26 Tuesday 11:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/: Makefile.am (ppl-0_3-branch.1),
+	  Makefile.am (1.11): Ignore all space when comparing results.
+
+2002-02-26 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.7): Updated.
+
+2002-02-26 Tuesday 11:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.9): Updated.
+
+2002-02-26 Tuesday 11:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.6), config.guess (1.8), doc/definitions.dox (1.36),
+	  interfaces/Prolog/SICStus/clpq.pl (1.27),
+	  interfaces/Prolog/SICStus/clpq2.pl (1.3),
+	  interfaces/Prolog/SICStus/expected (1.4),
+	  interfaces/Prolog/SICStus/fib.clpq (1.2),
+	  interfaces/Prolog/SICStus/smmdiff.clpq (1.2),
+	  src/Constraint.defs.hh (1.38), src/GenSys.cc (1.31),
+	  src/Polyhedron.cc (1.126), tests/addconstraints11.cc (1.4),
+	  tests/addconstraints5.cc (1.5), tests/adddimensions1.cc (1.5),
+	  tests/convexdifference1.cc (1.7), tests/error28.cc (1.2),
+	  tests/error29.cc (1.2), tests/universe5.cc (1.3): Trailing blanks
+	  removed.
+
+2002-02-26 Tuesday 10:34  Elisa Ricci
+
+	* src/Polyhedron.defs.hh (1.76): Added the documentation for the
+	  exception thrown in the function Polyhedron::add_generators and
+	  Polyhedron::add_generators_and_minimize if the polyhedron is
+	  empty and the system of generators has no vertices.
+
+2002-02-26 Tuesday 09:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Constraint.defs.hh (1.37): Simplified the example showing how
+	  to use the Constraint::coefficient() methods.
+
+2002-02-26 Tuesday 08:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.15):
+	  ppl_convex_difference_assign/2 mentioned.
+
+2002-02-26 Tuesday 02:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/conversion.cc (1.23): Another big pass on all the comments,
+	  trying to uniformize the terminology.  Small changes in the code
+	  to avoid repeating tests that are useless under certain
+	  conditions.
+
+2002-02-25 Monday 22:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Constraint.defs.hh (1.36): Small changes in the
+	  documentation.
+
+2002-02-25 Monday 22:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.14), configure.ac (1.25), doc/Makefile.am (1.16),
+	  interfaces/Makefile.am (1.3), interfaces/Prolog/Makefile.am
+	  (1.4), interfaces/Prolog/SICStus/Makefile.am (1.10),
+	  m4/Makefile.am (1.5), m4/ac_check_gmp.m4 (1.3), src/Makefile.am
+	  (1.25), tests/Makefile.am (1.44): Limit the exceptions to the
+	  GPL.
+
+2002-02-25 Monday 21:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Generator.defs.hh (1.40): The example on the use of
+	  coefficient(v) modified to keep into account the divisor of the
+	  vertex and to actually check that g1 is a vertex.
+
+2002-02-25 Monday 18:02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.defs.hh (1.35), Generator.defs.hh (1.39):
+	  Modified the example of the use of coefficient(v) for a
+	  generator.  Modified also the similar example for a constraint,
+	  now using the assignment operator.
+
+2002-02-25 Monday 17:28  Elisa Ricci
+
+	* tests/: Makefile.am (1.43), addconstraints10.cc (1.4),
+	  addconstraints11.cc (1.3), addconstraints2.cc (1.8),
+	  addconstraints4.cc (1.3), addconstraints5.cc (1.4),
+	  addconstraints6.cc (1.4), addconstraints7.cc (1.4),
+	  addconstraints8.cc (1.4), addconstraints9.cc (1.4),
+	  adddimensions1.cc (1.4), adddimensions2.cc (1.3),
+	  adddimensions3.cc (1.3), adddimensions4.cc (1.3),
+	  addgenerators1.cc (1.4), addgenerators2.cc (1.4),
+	  addgenerators3.cc (1.3), addgenerators4.cc (1.3),
+	  addgenerators5.cc (1.3), addgenerators6.cc (1.3), affineimage1.cc
+	  (1.3), affineimage2.cc (1.3), affinepreimage1.cc (1.3),
+	  affinepreimage2.cc (1.3), affinepreimage3.cc (1.2),
+	  affinepreimage4.cc (1.3), convexdifference1.cc (1.6),
+	  convexhull1.cc (1.4), convexhull2.cc (1.3), error28.cc (1.1),
+	  error29.cc (1.1), includes2.cc (1.4), includes3.cc (1.4),
+	  includes4.cc (1.4), inters3.cc (1.4), inters4.cc (1.3),
+	  inters5.cc (1.4), inters6.cc (1.3), limitedwidening1.cc (1.5),
+	  removedim2.cc (1.7), removedim3.cc (1.4), removedim4.cc (1.4),
+	  removedim5.cc (1.3), removedim6.cc (1.3), satisfies1.cc (1.6),
+	  satisfies2.cc (1.4), satisfies3.cc (1.4), universe1.cc (1.2),
+	  universe2.cc (1.2), universe3.cc (1.2), universe4.cc (1.2),
+	  universe5.cc (1.2): We use the functions of the file print.hh to
+	  print when it is possible.  Added two tests for the functions
+	  Polyhedron::add_generators() and
+	  Polyhedron::add_generators_and_minimize().
+
+2002-02-25 Monday 17:23  Elisa Ricci
+
+	* src/Polyhedron.cc (1.125): In functions
+	  Polyhedron::add_generators() and
+	  Polyhedron::add_generators_and_minimize, we throw an exception if
+	  we add a system of generators with no vertex to an empty
+	  polyhedron.
+
+2002-02-25 Monday 17:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/globals.hh (1.9): Qualified name is not allowed in namespace
+	  member declaration.
+
+2002-02-25 Monday 17:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Constraint.defs.hh (1.34), Constraint.inlines.hh (1.18),
+	  Generator.defs.hh (1.38), Generator.inlines.hh (1.19),
+	  Row.defs.hh (1.27), Row.inlines.hh (1.10): Assignments operators
+	  added for Constraint and Generator.  Some cleaning meanwhile.
+
+2002-02-25 Monday 15:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Constraint.defs.hh (1.33): Changed the example showing how to
+	  use method coefficient(v) and is_equality(). This shows that we
+	  probably miss a public method that is capable to set the
+	  relational operator of a constraint.
+
+2002-02-25 Monday 15:02  Elisa Ricci
+
+	* tests/: addconstraints1.cc (1.4), addconstraints10.cc (1.3),
+	  addconstraints5.cc (1.3), addconstraints6.cc (1.3),
+	  addconstraints7.cc (1.3), addconstraints8.cc (1.3),
+	  addconstraints9.cc (1.3), error25.cc (1.3), includes1.cc (1.5),
+	  includes2.cc (1.3), includes3.cc (1.3), includes4.cc (1.3),
+	  inters5.cc (1.3), satisfies2.cc (1.3), satisfies3.cc (1.3):
+	  Corrected some errors in the tests.
+
+2002-02-25 Monday 14:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.cc (1.16), Constraint.defs.hh (1.32),
+	  Constraint.inlines.hh (1.17), Generator.cc (1.17),
+	  Generator.defs.hh (1.37), Generator.inlines.hh (1.18): Added
+	  non-inlined methods that throw exceptions. These are now called
+	  by the inline methods coefficient(v).
+
+2002-02-25 Monday 14:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.7), config.sub (1.7): Updated.
+
+2002-02-25 Monday 14:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.124), Row.cc (1.27), Row.defs.hh (1.26):
+	  Row::first(), Row::last(), Row::next() and Row::prev() are gone.
+
+2002-02-25 Monday 13:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/conversion.cc (1.22): Started polishing comments. Avoided
+	  swapping rows with themselves.  A few other tiny improvements.
+
+2002-02-25 Monday 12:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: addconstraints10.cc (1.2), addconstraints11.cc (1.2),
+	  addconstraints2.cc (1.7), addconstraints4.cc (1.2),
+	  addconstraints5.cc (1.2), addconstraints6.cc (1.2),
+	  addconstraints7.cc (1.2), addconstraints8.cc (1.2),
+	  addconstraints9.cc (1.2), adddimensions1.cc (1.3),
+	  adddimensions2.cc (1.2), adddimensions3.cc (1.2),
+	  adddimensions4.cc (1.2), addgenerators1.cc (1.3),
+	  addgenerators2.cc (1.3), addgenerators3.cc (1.2),
+	  addgenerators4.cc (1.2), addgenerators5.cc (1.2),
+	  addgenerators6.cc (1.2), affineimage2.cc (1.2),
+	  affinepreimage1.cc (1.2), affinepreimage2.cc (1.2),
+	  affinepreimage4.cc (1.2), affinetrans.cc (1.7),
+	  convexdifference1.cc (1.5), convexhull1.cc (1.3), convexhull2.cc
+	  (1.2), convexhull3.cc (1.2), error18.cc (1.2), error20.cc (1.2),
+	  error21.cc (1.2), error25.cc (1.2), error26.cc (1.2), error27.cc
+	  (1.2), error6.cc (1.3), error7.cc (1.2), error9.cc (1.2),
+	  includes1.cc (1.4), includes2.cc (1.2), includes3.cc (1.2),
+	  includes4.cc (1.2), inters3.cc (1.3), inters4.cc (1.2),
+	  inters5.cc (1.2), inters6.cc (1.2), permute.cc (1.13), print.hh
+	  (1.5), removedim3.cc (1.3), removedim4.cc (1.3), removedim5.cc
+	  (1.2), removedim6.cc (1.2), satisfies1.cc (1.5), satisfies2.cc
+	  (1.2), satisfies3.cc (1.2): Started putting some order in the way
+	  results are returned how objects are built, and how we print
+	  things in NOISY mode.  While at it, a zillion of trailing blanks
+	  have been removed.
+
+2002-02-25 Monday 12:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Constraint.cc (1.15): Unwanted change retracted.
+
+2002-02-25 Monday 11:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: ConSys.defs.hh (1.31), Constraint.cc (1.14),
+	  Constraint.defs.hh (1.31), GenSys.defs.hh (1.42),
+	  Generator.defs.hh (1.36), Makefile.am (1.24),
+	  ppl_filter_doxygen.sed (1.1), ppl_filter_install.sed (1.1): Now
+	  PPL_INTERNAL means `private' everywhere we are not compiling the
+	  library itself.  PPL_HIDDEN, instead, is `private' only to keep
+	  doxygen from including documentation that is not for the user.
+
+2002-02-25 Monday 10:02  Elisa Ricci
+
+	* tests/: Makefile.am (1.42), addconstraints10.cc (1.1),
+	  addconstraints11.cc (1.1), addconstraints4.cc (1.1),
+	  addconstraints5.cc (1.1), addconstraints6.cc (1.1),
+	  addconstraints7.cc (1.1), addconstraints8.cc (1.1),
+	  addconstraints9.cc (1.1), adddimensions2.cc (1.1),
+	  adddimensions3.cc (1.1), adddimensions4.cc (1.1),
+	  addgenerators3.cc (1.1), addgenerators4.cc (1.1),
+	  addgenerators5.cc (1.1), addgenerators6.cc (1.1), affineimage2.cc
+	  (1.1), affinepreimage1.cc (1.1), affinepreimage2.cc (1.1),
+	  affinepreimage3.cc (1.1), affinepreimage4.cc (1.1),
+	  convexhull2.cc (1.1), convexhull3.cc (1.1), error10.cc (1.1),
+	  error11.cc (1.1), error12.cc (1.1), error13.cc (1.1), error14.cc
+	  (1.1), error15.cc (1.1), error16.cc (1.1), error17.cc (1.1),
+	  error18.cc (1.1), error19.cc (1.1), error20.cc (1.1), error21.cc
+	  (1.1), error22.cc (1.1), error23.cc (1.1), error24.cc (1.1),
+	  error25.cc (1.1), error26.cc (1.1), error27.cc (1.1), error6.cc
+	  (1.2), error7.cc (1.1), error8.cc (1.1), error9.cc (1.1),
+	  includes2.cc (1.1), includes3.cc (1.1), includes4.cc (1.1),
+	  inters4.cc (1.1), inters5.cc (1.1), inters6.cc (1.1),
+	  removedim5.cc (1.1), removedim6.cc (1.1), satisfies2.cc (1.1),
+	  satisfies3.cc (1.1), universe1.cc (1.1), universe2.cc (1.1),
+	  universe3.cc (1.1), universe4.cc (1.1), universe5.cc (1.1): Added
+	  new tests for the functions of the Polyhedron class.
+
+2002-02-25 Monday 09:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/conversion.cc (1.21): Two kludges (with FIXME) to continue
+	  supporting GCC 2.96.
+
+2002-02-25 Monday 08:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.14): Minor typos fixed.
+
+2002-02-25 Monday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.13): Add CIAO Prolog to
+	  the list of (to be) supported systems and sort the list of
+	  prologs alphabetically.
+
+2002-02-25 Monday 01:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.defs.hh (1.30), Generator.defs.hh (1.35): Added
+	  examples on the use of methods coefficient(v), coefficient() and
+	  divisor(), as well as (en passant) the method Generator::type().
+
+2002-02-25 Monday 00:56  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Row.defs.hh (1.25): Added comments to methods first(),
+	  last(), next(...) and prev(...).
+
+2002-02-24 Sunday 22:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: addconstraints2.cc (1.6), includes1.cc (1.3),
+	  satisfies1.cc (1.4): Do not use private methods.
+
+2002-02-24 Sunday 21:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Init.cc (1.1), Init.defs.hh (1.1), Init.inlines.hh (1.1),
+	  Init.types.hh (1.1), Makefile.am (1.23), Row.cc (1.26),
+	  conversion.cc (1.20), globals.cc (1.3), globals.hh (1.8),
+	  initializer.hh (1.1): New standard compliant mechanism for the
+	  library initialization and finalization.  New implementation for
+	  tmp_Integer (worth a speedup greater than 3%).
+
+2002-02-24 Sunday 19:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/SatRow.inlines.hh (1.9): Spurious space in comment removed.
+
+2002-02-24 Sunday 19:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Generator.cc (1.16): Using function
+	  all_homogeneous_terms_are_zero() when building a ray or line to
+	  check their validity.
+
+2002-02-24 Sunday 19:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Generator.inlines.hh (1.17): Throwing an exception if
+	  Generator::coefficient(v) is called with a variable beyond the
+	  space-dimension.
+
+2002-02-24 Sunday 19:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Constraint.inlines.hh (1.16): We now throw an exception if
+	  Constraint::coefficient(v) is called with a variable which is
+	  beyond the current space-dimension.
+
+2002-02-24 Sunday 19:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.123): Many comments adjusted. We now use the
+	  BE_LAZY flag in Polyhedron::operator<=, where we do not
+	  necessarily minimize given arguments.
+
+2002-02-24 Sunday 19:18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/GenSys.cc (1.30): Using "satisfy" instead of "verify" when
+	  talking about the relation between a generator and a constraint.
+
+2002-02-24 Sunday 12:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.13), README (1.9), configure.ac (1.24),
+	  doc/Makefile.am (1.15), doc/definitions.dox (1.35),
+	  interfaces/Makefile.am (1.2), interfaces/Prolog/Makefile.am
+	  (1.3), interfaces/Prolog/SICStus/Makefile.am (1.9),
+	  interfaces/Prolog/SICStus/clpq.pl (1.26),
+	  interfaces/Prolog/SICStus/clpq2.pl (1.2),
+	  interfaces/Prolog/SICStus/expected (1.3), m4/Makefile.am (1.4),
+	  m4/ac_check_gmp.m4 (1.2), src/ConSys.cc (1.22),
+	  src/ConSys.defs.hh (1.30), src/ConSys.inlines.hh (1.11),
+	  src/ConSys.types.hh (1.2), src/Constraint.cc (1.13),
+	  src/Constraint.defs.hh (1.29), src/Constraint.inlines.hh (1.15),
+	  src/Constraint.types.hh (1.2), src/GenSys.cc (1.29),
+	  src/GenSys.defs.hh (1.41), src/GenSys.inlines.hh (1.11),
+	  src/GenSys.types.hh (1.2), src/Generator.cc (1.15),
+	  src/Generator.defs.hh (1.34), src/Generator.inlines.hh (1.16),
+	  src/Generator.types.hh (1.2), src/Integer.cc (1.2),
+	  src/Integer.defs.hh (1.2), src/Integer.inlines.hh (1.2),
+	  src/Integer.types.hh (1.2), src/LinExpression.cc (1.9),
+	  src/LinExpression.defs.hh (1.22), src/LinExpression.inlines.hh
+	  (1.10), src/LinExpression.types.hh (1.2), src/Makefile.am (1.22),
+	  src/Matrix.cc (1.27), src/Matrix.defs.hh (1.15),
+	  src/Matrix.inlines.hh (1.14), src/Matrix.types.hh (1.2),
+	  src/Polyhedron.cc (1.122), src/Polyhedron.defs.hh (1.75),
+	  src/Polyhedron.inlines.hh (1.15), src/Polyhedron.types.hh (1.2),
+	  src/Row.cc (1.25), src/Row.defs.hh (1.24), src/Row.inlines.hh
+	  (1.9), src/Row.types.hh (1.2), src/SatMatrix.cc (1.11),
+	  src/SatMatrix.defs.hh (1.12), src/SatMatrix.inlines.hh (1.7),
+	  src/SatMatrix.types.hh (1.2), src/SatRow.cc (1.5),
+	  src/SatRow.defs.hh (1.9), src/SatRow.inlines.hh (1.8),
+	  src/SatRow.types.hh (1.2), src/Status.cc (1.9),
+	  src/Status.defs.hh (1.11), src/Status.inlines.hh (1.5),
+	  src/Status.types.hh (1.2), src/Variable.cc (1.4),
+	  src/Variable.defs.hh (1.11), src/Variable.inlines.hh (1.5),
+	  src/Variable.types.hh (1.2), src/conversion.cc (1.19),
+	  src/globals.hh (1.7), src/minimize.cc (1.10), src/ppl_header.top
+	  (1.3), src/simplify.cc (1.10), tests/Makefile.am (1.41),
+	  tests/addconstraints1.cc (1.3), tests/addconstraints2.cc (1.5),
+	  tests/addconstraints3.cc (1.2), tests/adddimensions1.cc (1.2),
+	  tests/addgenerators1.cc (1.2), tests/addgenerators2.cc (1.2),
+	  tests/affineimage1.cc (1.2), tests/affinetrans.cc (1.6),
+	  tests/append1.cc (1.8), tests/append2.cc (1.9),
+	  tests/convexdifference1.cc (1.4), tests/convexhull1.cc (1.2),
+	  tests/ehandlers.hh (1.3), tests/empty1.cc (1.6), tests/error1.cc
+	  (1.7), tests/error2.cc (1.9), tests/error3.cc (1.9),
+	  tests/error4.cc (1.4), tests/error5.cc (1.5), tests/includes1.cc
+	  (1.2), tests/inters1.cc (1.8), tests/inters2.cc (1.10),
+	  tests/inters3.cc (1.2), tests/limitedwidening1.cc (1.4),
+	  tests/limitedwidening2.cc (1.3), tests/onepoint.cc (1.2),
+	  tests/permute.cc (1.12), tests/randchull1.cc (1.10),
+	  tests/removedim1.cc (1.3), tests/removedim2.cc (1.6),
+	  tests/removedim3.cc (1.2), tests/removedim4.cc (1.2),
+	  tests/satisfies1.cc (1.3), tests/smm1.cc (1.2), doc/devref.tex
+	  (1.7), doc/user.tex (1.8): Copyright year bumped.
+
+2002-02-23 Saturday 17:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/convexdifference1.cc (1.3): Do not be noisy.
+
+2002-02-23 Saturday 17:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.121), tests/convexdifference1.cc (1.2):
+	  Polyhedron::convex_difference_assign() fixed.
+
+2002-02-23 Saturday 16:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.120): Method
+	  Polyhedron::convex_diffrence_assign corrected.  The new version
+	  forces the result to be a _closed_ polyhedron.
+
+2002-02-23 Saturday 14:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.8), src/Polyhedron.cc (1.119), src/Polyhedron.defs.hh
+	  (1.74), tests/Makefile.am (1.40), tests/convexdifference1.cc
+	  (1.1): New methods Polyhedron::convex_difference_assign(const
+	  Polyhedron&) and
+	  Polyhedron::convex_difference_assign_and_minimize(const
+	  Polyhedron&).  They assigns to *this the convex hull of the
+	  set-theoretic difference of *this and the argument (possibly non
+	  minimized or minimized, respectively).
+	  Polyhedron::convex_hull_assign() was missing the final
+	  assert(OK()).
+
+2002-02-22 Friday 22:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.7), src/Polyhedron.cc (1.118), src/Polyhedron.defs.hh
+	  (1.73), tests/limitedwidening1.cc (1.3),
+	  tests/limitedwidening2.cc (1.2):
+	  Polyhedron::limited_widening_assign(const Polyhedron&, ConSys&)
+	  was erroneously returning a (random) boolean: it is now a void
+	  method.
+
+2002-02-22 Friday 19:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.39), limitedwidening2.cc (1.1): New test
+	  to check that the case where the passed constraint system is
+	  inconsistent with respect to the widened polyhedron.	Note: it
+	  currently fails, since Polyhedron::limited_widening_assign() is
+	  buggy, as it is now.
+
+2002-02-22 Friday 19:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/limitedwidening1.cc (1.2): Improved: now we check also the
+	  returned boolean.
+
+2002-02-22 Friday 19:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/print.hh (1.4): New functions to print the constraints and
+	  the generators.
+
+2002-02-22 Friday 19:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.117): Readability improvements to
+	  Polyhedron::limited_widening_assign().
+
+2002-02-22 Friday 18:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.116): Slightly optimized operator <=(const
+	  Polyhedron& x, const Polyhedron& y).
+
+2002-02-22 Friday 08:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.6): Updated for release 0.3.
+
+2002-02-20 Wednesday 19:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.5): Updated.
+
+2002-02-20 Wednesday 13:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.115): In Polyhedron::add_constraints(ConSys&
+	  cs), turned on the BE_LAZY version which does not sort matrices
+	  and does not perform unnecessary copies.
+
+2002-02-17 Sunday 23:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/satisfies1.cc (1.2): Avoid a compiler warning when NOISY is
+	  0.
+
+2002-02-17 Sunday 21:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* acinclude.m4 (1.2), configure.ac (1.23),
+	  interfaces/Prolog/SICStus/Makefile.am (1.8), m4/Makefile.am
+	  (1.3), m4/ac_check_gmp.m4 (1.1), m4/ac_check_gmp_exceptions.m4
+	  (1.3), m4/ac_check_have_gmp.m4 (1.3), tests/Makefile.am (1.38):
+	  GMP configuration machinery rewritten (this should help people
+	  trying to build the PPL under CygWin).
+
+2002-02-15 Friday 16:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/bug6.dat (positive.2): This is the correct test data.
+
+2002-02-15 Friday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: bug1.cc, bug2.cc, bug3.cc, bug4.cc, bug5.cc, bug6.cc
+	  (positive.[3,2,2,2,2,2]): All the invocations of Polyhedron::OK()
+	  were misplaced.
+
+2002-02-15 Friday 15:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am, bug6.cc, bug6.dat (positive.[7,1,1]): bug6
+	  shows that problems minimizations problems persist.
+
+2002-02-14 Thursday 14:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.22), src/Integer.cc (1.1), src/Integer.defs.hh
+	  (1.1), src/Integer.inlines.hh (1.1), src/Integer.types.hh (1.1),
+	  src/Makefile.am (1.21): Integer stuff moved up one level.
+
+2002-02-14 Thursday 13:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.37), affine_image1.cc (1.2),
+	  affineimage1.cc (1.1): For consistency, affine_image1.cc has been
+	  renamed affineimage1.cc.
+
+2002-02-14 Thursday 13:17  Elisa Ricci
+
+	* tests/: Makefile.am (1.36), adddimensions1.cc (1.1),
+	  convexhull1.cc (1.1), inters3.cc (1.1), limitedwidening1.cc
+	  (1.1), removedim4.cc (1.1): Added tests for the functions
+	  Polyhedron::add_dimensions_and_project(),
+	  Polyhedron::convex_hull_assign(),
+	  Polyhedron::intersection_assign(),
+	  Polyhedron::limited_widening_assign() and
+	  Polyhedron::remove_higher_dimensions().
+
+2002-02-14 Thursday 11:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.114): Added comments regarding the handling
+	  of the `sorted' flag in methods remove_dimensions and
+	  remove_higher_dimensions.
+
+2002-02-14 Thursday 11:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/GenSys.cc (1.28): In method remove_invalid_lines_and_rays(),
+	  we do not need to keep the generators sorted (this saves
+	  efficiency, since we were always calling it with a possibly
+	  non-sorted system).  Using remove_invalid_lines_and_rays() in
+	  affine_image.
+
+2002-02-14 Thursday 10:04  Elisa Ricci
+
+	* src/Generator.cc (1.14): Changed the error message and the
+	  comment in function Generator::OK().
+
+2002-02-14 Thursday 09:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: GenSys.cc (1.27), Polyhedron.cc (1.113): Avoiding all
+	  shadowing of the space_dim member of a Polyhedron.  Now using the
+	  accessor Polyhedron::space_dimension() only when needed.  Fixed a
+	  few comments.
+
+2002-02-14 Thursday 09:37  Elisa Ricci
+
+	* src/Polyhedron.cc (1.112), tests/Makefile.am (1.35),
+	  tests/includes1.cc (1.1): Erased the abort() at the end of
+	  function Polyhedron::includes(g) and added a test for this
+	  function.
+
+2002-02-13 Wednesday 23:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.21): Bump version number.
+
+2002-02-13 Wednesday 23:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: GenSys.cc (1.26), GenSys.defs.hh (1.40): Overload the
+	  output operator for GenSys_Con_Rel.
+
+2002-02-13 Wednesday 23:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.34), affine_image1.cc (1.1), satisfies1.cc
+	  (1.1): New test programs.
+
+2002-02-13 Wednesday 19:08  Elisa Ricci
+
+	* src/: GenSys.cc (1.25), Polyhedron.cc (1.111): Modified the
+	  function Polyhedron::satisfies(...).	In function
+	  GenSys::affine_image(...) we erase the rows that have all the
+	  terms equal to zero.
+
+2002-02-13 Wednesday 12:07  Elisa Ricci
+
+	* src/minimize.cc (positive.7): In functions minimize() and
+	  add_and_minimize(), to obtain the system of constraints in the
+	  case !con_to_gen now we use conversion().
+
+2002-02-12 Tuesday 15:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am, bug5.cc, bug5.dat (positive.[6,1,1]): bug5
+	  shows that we still have problems with minimization.
+
+2002-02-12 Tuesday 10:10  Elisa Ricci
+
+	* src/minimize.cc (positive.6): We must simplify also `dest' in
+	  function minimize to erase all redundant constraints in the case
+	  !con_to_gen.	In functions minimize() and add_and_minimize(), in
+	  the case !con_to_gen, there was an error when we choose the
+	  constraints to erase.
+
+2002-02-11 Monday 12:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am, bug4.cc, bug4.dat (positive.[5,1,1]): bug4
+	  shows that we still have minimization problems.
+
+2002-02-11 Monday 11:49  Elisa Ricci
+
+	* src/minimize.cc (positive.5): In function add_and_minimize, we
+	  must simplify `dest' in the case !con_to_gen because it can
+	  contain redundant constraints.
+
+2002-02-11 Monday 10:57  Elisa Ricci
+
+	* src/: conversion.cc, minimize.cc, simplify.cc (positive.[3,4,3]):
+	  In function add_and_minimize and in the case of !con_to_gen, the
+	  system of constraints (that in this case is `dest') must contain
+	  the constraints of positivity of variables.  In minimize and
+	  add_and_minimize, we must erase the constraints that are a linear
+	  combination of an equality and a constraint of positivity of
+	  variables.
+
+2002-02-09 Saturday 07:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (positive.4): Error message made more specific.
+
+2002-02-07 Thursday 16:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am, bug3.cc, bug3.dat (positive.[4,1,1]): bug3
+	  shows that Polyhedron::minimize() does not minimize.
+
+2002-02-07 Thursday 14:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: SatMatrix.cc, SatMatrix.inlines.hh (positive.[1,1]):
+	  SatMatrix::columns_erase_to_end() fixed (and no longer inline).
+
+2002-02-07 Thursday 12:25  Elisa Ricci
+
+	* src/: Row.cc, minimize.cc (positive.[3,3]): Corrected an error in
+	  the function Row::only_a_term_is_positive().	In minimize and in
+	  the case !con_to_gen we must call simplify() also for the `dest'
+	  because there is the possibility that constraints that are
+	  redundant with the constraints of positivity of variables are
+	  present in dest.
+
+2002-02-06 Wednesday 08:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am, bug2.cc, bug2.dat (positive.[3,1,1]): bug2
+	  shows another problem this time cropping up in
+	  SatMatrix::columns_erase_to_end().
+
+2002-02-06 Wednesday 08:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/bug1.cc (positive.2): Assert that the input polyhedra are
+	  OK.
+
+2002-02-06 Wednesday 07:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.110): Error messages improved.
+
+2002-02-05 Tuesday 22:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am, bug1.cc, bug1.dat (positive.[2,1,1]): bug1
+	  shows a problem with
+	  Polyhedron::convex_hull_assign_and_minimize().
+
+2002-02-05 Tuesday 22:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (positive.3): The input operator now handles
+	  the `positive' flag.
+
+2002-02-05 Tuesday 16:02  Elisa Ricci
+
+	* src/Matrix.cc, src/Matrix.defs.hh, src/Polyhedron.cc,
+	  src/Polyhedron.defs.hh, src/Polyhedron.inlines.hh, src/Row.cc,
+	  src/Row.defs.hh, src/conversion.cc, src/minimize.cc,
+	  src/simplify.cc, tests/Makefile.am, tests/addconstraints1.cc,
+	  tests/addconstraints2.cc, tests/addconstraints3.cc,
+	  tests/addgenerators1.cc, tests/addgenerators2.cc,
+	  tests/affinetrans.cc, tests/append1.cc, tests/append2.cc,
+	  tests/empty1.cc, tests/error2.cc, tests/error3.cc,
+	  tests/error4.cc, tests/error5.cc, tests/error6.cc,
+	  tests/inters1.cc, tests/inters2.cc, tests/onepoint.cc,
+	  tests/permute.cc, tests/randchull1.cc, tests/removedim1.cc,
+	  tests/removedim2.cc, tests/removedim3.cc, tests/smm1.cc
+	  (positive.[1,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]):
+	  Considered the case of a positive poited cone (i.e. a polyhedron
+	  composed by points that satisfies the constraints of positivity
+	  of all variables).  Added a test that shows that we can not add
+	  or insert a line in a positive pointed cone.	All the tests use
+	  positive pointed cones.
+
+2002-02-04 Monday 22:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.109): More concise usage of stringstreams.
+
+2002-02-03 Sunday 07:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.6), config.sub (1.6): Updated.
+
+2002-02-01 Friday 15:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron.cc, Polyhedron.defs.hh, Polyhedron.inlines.hh,
+	  Row.cc, Row.defs.hh, conversion.cc, minimize.cc, simplify.cc
+	  (positive.[1,1,1,1,1,1,1,1]): The work on positive polyhedra is
+	  being moved onto the `positive' branch.  Phase 2: latest changes
+	  reapplied on the branch.
+
+2002-02-01 Friday 15:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.108), Polyhedron.defs.hh (1.72),
+	  Polyhedron.inlines.hh (1.14), Row.cc (1.24), Row.defs.hh (1.23),
+	  conversion.cc (1.18), minimize.cc (1.9), simplify.cc (1.9): The
+	  work on positive polyhedra is being moved onto the `positive'
+	  branch.  Phase 1: latest changes undone.
+
+2002-01-31 Thursday 08:35  Elisa Ricci
+
+	* src/: Polyhedron.cc (1.107), Polyhedron.defs.hh (1.71),
+	  Polyhedron.inlines.hh (1.13), Row.cc (1.23), Row.defs.hh (1.22),
+	  conversion.cc (1.17), minimize.cc (1.8), simplify.cc (1.8):
+	  Started to consider the case of positive polyhedra: this part is
+	  controlled by POSITIVE.
+
+2002-01-29 Tuesday 17:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.20): Tell the user how to configure GMP.
+
+2002-01-29 Tuesday 15:41  Elisa Ricci
+
+	* src/Polyhedron.cc (1.106): In function
+	  Polyhedron::remove_higher_dimensions, erased the command `size_t
+	  space_dim = space_dimension()' because it caused a problem.
+
+2002-01-29 Tuesday 11:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.19), interfaces/Prolog/SICStus/ppl_sicstus.cc
+	  (1.28), m4/ac_check_gmp_exceptions.m4 (1.2),
+	  m4/ac_check_have_gmp.m4 (1.2), src/Constraint.cc (1.12),
+	  src/Constraint.inlines.hh (1.14), src/Generator.cc (1.13),
+	  src/Generator.defs.hh (1.33), src/LinExpression.cc (1.8),
+	  src/LinExpression.inlines.hh (1.9), src/Matrix.cc (1.26),
+	  src/Matrix.inlines.hh (1.13), src/Polyhedron.defs.hh (1.70),
+	  src/Row.cc (1.22), src/Row.defs.hh (1.21), src/conversion.cc
+	  (1.16), src/globals.hh (1.6), tests/randchull1.cc (1.9): We now
+	  use the integer C++ class of GMP, instead of baking our own.
+	  Note: we now require GMP 4.0.1 or higher.
+
+2002-01-29 Tuesday 08:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.20): Finish backing out the unwanted commit.
+
+2002-01-29 Tuesday 08:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.105): Better formatting for error messages.
+
+2002-01-29 Tuesday 08:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Constraint.cc (1.11), Constraint.inlines.hh (1.13),
+	  Generator.cc (1.12), Generator.defs.hh (1.32), LinExpression.cc
+	  (1.7), LinExpression.inlines.hh (1.8), Matrix.cc (1.25),
+	  Matrix.defs.hh (1.14), Matrix.inlines.hh (1.12), Polyhedron.cc
+	  (1.104), Polyhedron.defs.hh (1.69), Row.cc (1.21), Row.defs.hh
+	  (1.20), conversion.cc (1.15), globals.hh (1.5): Back out previous
+	  commit.
+
+2002-01-29 Tuesday 08:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Constraint.cc (1.10), Constraint.inlines.hh (1.12),
+	  Generator.cc (1.11), Generator.defs.hh (1.31), LinExpression.cc
+	  (1.6), LinExpression.inlines.hh (1.7), Makefile.am (1.19),
+	  Matrix.cc (1.24), Matrix.defs.hh (1.13), Matrix.inlines.hh
+	  (1.11), Polyhedron.cc (1.103), Polyhedron.defs.hh (1.68), Row.cc
+	  (1.20), Row.defs.hh (1.19), conversion.cc (1.14), globals.hh
+	  (1.4): Better formatting for error messages.
+
+2002-01-29 Tuesday 07:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.27): Fix a couple of
+	  namespace and include file glitches.
+
+2002-01-27 Sunday 22:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.18), ppl.spec.in (1.7), doc/Makefile.am (1.14),
+	  interfaces/Prolog/SICStus/Makefile.am (1.7), src/Makefile.am
+	  (1.18), tests/Makefile.am (1.33): The move to libtool is
+	  complete: we can now build and distribute (with, e.g., RPM)
+	  static and dynamic versions of the library.
+
+2002-01-27 Sunday 17:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.h.in (1.12), configure.ac (1.17), ltmain.sh (1.1): Start
+	  to migrate to libtool.
+
+2002-01-27 Sunday 15:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Constraint.defs.hh (1.28): Fixed a typo in a (documentation)
+	  comment.
+
+2002-01-19 Saturday 15:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: ConSys.defs.hh (1.29), ConSys.inlines.hh (1.10),
+	  GenSys.defs.hh (1.39), GenSys.inlines.hh (1.10): ConSys and
+	  GenSys were both missing the assignment operator.
+
+2002-01-14 Monday 08:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.5), config.sub (1.5): Updated.
+
+2001-12-23 Sunday 22:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Row.cc (1.19): Include maxmin.hh.
+
+2001-12-20 Thursday 09:21  Elisa Ricci
+
+	* src/Polyhedron.cc (1.102): Modified the part of function
+	  Polyhedron::add_constraints(cs) that is controlled by "#if 0":
+	  used Matrix::grow(size_t, size_t) instead of resize(size_t,
+	  size_t) and swap instead of "=", where it is possible.
+
+2001-12-15 Saturday 11:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/Makefile.am (1.6): Distribute also
+	  clpq2.pl.
+
+2001-12-15 Saturday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Matrix.cc (1.23), Polyhedron.cc (1.101), conversion.cc
+	  (1.13): Some comments fixed.
+
+2001-12-14 Friday 16:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/smmdiff.clpq (1.1): smmdiff.clpq is
+	  based on smm.clpq and solves the classic send-more-money problem
+	  so that each variable is bound to a unique number.
+
+2001-12-14 Friday 16:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/clpq2.pl (1.1): clpq2.pl is an
+	  alternative meta-interpreter with some extra features, including
+	  disjunction.
+
+2001-12-13 Thursday 16:52  Elisa Ricci
+
+	* tests/: Makefile.am (1.32), addgenerators1.cc (1.1),
+	  addgenerators2.cc (1.1): Added a test for the function
+	  Polyhedron::add_generators_and_minimize(gs) and one for the
+	  function Polyhedron::add_generators(gs).
+
+2001-12-13 Thursday 16:50  Elisa Ricci
+
+	* src/: Polyhedron.cc (1.100), Polyhedron.defs.hh (1.67): The
+	  function Polyhedron::add_generators(gs) now is called
+	  Polyhedron::add_generators_and_minimize(gs).	Added the function
+	  Polyhedron::add_generators(gs) that adds the system of generators
+	  "gs" to the polyhedron without minimizing the resulting
+	  polyhedron.
+
+2001-12-13 Thursday 11:35  Elisa Ricci
+
+	* src/Polyhedron.cc (1.99): In functions
+	  Polyhedron::add_constraints() and add_constraints_and_minimize()
+	  improved the comments for the case of a zero-dimensional
+	  polyhedron.
+
+2001-12-13 Thursday 08:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.98): Some comments have been improved.
+
+2001-12-12 Wednesday 18:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.31), bug1.cc (1.2), bug2.cc (1.2):
+	  Obsolete bug witnesses removed.
+
+2001-12-12 Wednesday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.30), addconstraints3.cc (1.1): New test.
+
+2001-12-12 Wednesday 18:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Generator.cc (1.10), Generator.defs.hh (1.30),
+	  LinExpression.defs.hh (1.21), Matrix.cc (1.22), Polyhedron.cc
+	  (1.97), Polyhedron.defs.hh (1.66), Polyhedron.inlines.hh (1.12),
+	  Row.cc (1.18), Row.defs.hh (1.18), conversion.cc (1.12),
+	  minimize.cc (1.7), simplify.cc (1.7): Kill trailing blanks.
+
+2001-12-12 Wednesday 18:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Row.cc (1.17): The function compare(const Row& x, const Row&
+	  y) can now compare rows of different size.
+
+2001-12-12 Wednesday 17:16  Elisa Ricci
+
+	* src/: Polyhedron.cc (1.96), Polyhedron.inlines.hh (1.11): The
+	  function Polyhedron::set_zero_dim_univ() is now in Polyhedron.cc
+	  (instead of Polyhedron.inlines.hh), says that a zero-dimensional
+	  polyhedron is in a 0-dimensional space and clears the system of
+	  the polyhedron.  Used "space_dim" instead of "space_dimension()"
+	  (where we call this function many times).
+
+2001-12-12 Wednesday 14:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.95): Some minor improvements.
+
+2001-12-11 Tuesday 22:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.94): Bad uses of the negation operator `!'
+	  have been fixed.  Some comments improved.
+
+2001-12-11 Tuesday 19:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: SatMatrix.cc (1.10), SatMatrix.defs.hh (1.11): Wrong
+	  comments fixed.
+
+2001-12-11 Tuesday 19:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/SatMatrix.defs.hh (1.10): Spurious declarations removed: two
+	  methods were declared and never used nor implemented.
+
+2001-12-11 Tuesday 18:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Matrix.defs.hh (1.12), Matrix.inlines.hh (1.10): Comments
+	  for Matrix::clear() adjusted.
+
+2001-12-11 Tuesday 18:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: SatMatrix.cc (1.9), SatMatrix.defs.hh (1.9),
+	  SatMatrix.inlines.hh (1.6): SatMatrix::clear() was complete
+	  nonsense: rewritten.
+
+2001-12-11 Tuesday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Matrix.inlines.hh (1.9): Matrix::clear() now releases as much
+	  memory as possible.
+
+2001-12-11 Tuesday 16:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: devref.tex (1.6), user.tex (1.7): People that are no longer
+	  contributing or willing to contribute take a back seat (will
+	  simplify the publication of the documentation as a technical
+	  report).
+
+2001-12-11 Tuesday 11:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/SatRow.inlines.hh (1.7): Much more efficient (and concise)
+	  implementation for SatRow::clear_from().
+
+2001-12-11 Tuesday 10:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.93), Polyhedron.defs.hh (1.65): Comments
+	  added for Polyhedron::remove_higher_dimensions().
+
+2001-12-11 Tuesday 09:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.92): Polyhedron::Polyhedron(ConSys& cs)
+	  improved.
+
+2001-12-11 Tuesday 00:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Matrix.cc (1.21), Matrix.defs.hh (1.11): Always compile
+	  Matrix::check_sorted().  Matrix::OK() fixed: the symbols `cerr'
+	  and `endl' live in the `std' namespace.
+
+2001-12-11 Tuesday 00:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Matrix.cc (1.20), Matrix.inlines.hh (1.8), Polyhedron.cc
+	  (1.91): A default-constructed (empty) Matrix is now declared as
+	  sorted.  Matrix::grow() was not handling the `sorted' flag
+	  correctly: fixed.  Matrix::add_zero_columns() is now an inline
+	  method.  Matrix::OK() now checks that the `sorted' flag is set
+	  only if the matrix is actually sorted.
+	  Matrix::add_rows_and_columns() now asserts OK() before returning.
+	  Some comments fixed.
+
+2001-12-10 Monday 16:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/SatMatrix.cc (1.8): SatMatrix::resize() was not shrinking the
+	  matrix when requested to do so: fixed.
+
+2001-12-10 Monday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/SatMatrix.cc (1.7): Added speculative memory allocation for
+	  SatMatrix.
+
+2001-12-10 Monday 08:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.90), Row.defs.hh (1.17): Some comments
+	  have been fixed.
+
+2001-12-09 Sunday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.16): Bump version number so as to avoid
+	  confusion.
+
+2001-12-08 Saturday 10:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/expected (1.2), src/Row.defs.hh (1.16):
+	  EXTRA_NORMALIZATION defaults to 0.  Expected outcome from the
+	  clpq test updated.
+
+2001-12-05 Wednesday 18:58  Elisa Ricci
+
+	* src/: ConSys.cc (1.21), GenSys.cc (1.24), Matrix.cc (1.19),
+	  Matrix.defs.hh (1.10), Polyhedron.cc (1.89), Row.cc (1.16),
+	  Row.defs.hh (1.15), conversion.cc (1.11): The method
+	  Row::normalize() has been restored so that it only ensures
+	  coefficients are mutually prime.  The new method
+	  Row::strong_normalize() also ensures that the first non-zero
+	  coefficient of lines and equalities is negative.  The new method
+	  Matrix::strong_normalize() that calls strongly normalizes each
+	  row.	Strong normalization is now used wherever it is guaranteed
+	  to be both safe and efficient.  The "EXTRA_NORMALIZATION" flag is
+	  used to decide whether strong_normalization is also used in
+	  Row::libear_combine() (since in this case strong normalization
+	  can incur performance penalties).
+
+2001-12-03 Monday 09:16  Elisa Ricci
+
+	* src/Row.cc (1.15): Changed the function Row::normalize() so that
+	  the first coefficient different from zero is negative (and not
+	  positive).
+
+2001-12-02 Sunday 16:09  Elisa Ricci
+
+	* src/: Matrix.cc (1.18), Polyhedron.cc (1.88), Row.cc (1.14): In
+	  Polyhedron::intersection_assign_and_minimize added the assertion
+	  to verify if the resulting polyhedron is OK.	In function
+	  Row::normalize() if we normalize an equality or a line, we decide
+	  that the first element of the corresponding row is positive.	In
+	  function Matrix::back_substitute(), if we call linear_combine
+	  with an equality and an inequality, we must change the
+	  coefficients of the equality so that the coefficient of the
+	  inequality in the linear combination is non-negative.
+
+2001-11-26 Monday 17:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.4), config.sub (1.4): Updated.
+
+2001-11-26 Monday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.26): Typo fixed.
+
+2001-11-21 Wednesday 19:26  Elisa Ricci
+
+	* src/Polyhedron.cc (1.87): Changed the message of some exceptions:
+	  where it is possible we use the functions
+	  `throw_different_dimensions' and `throw_dimension_incompatible'.
+
+2001-11-20 Tuesday 20:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/clpq.pl (1.25): End-of-line characters
+	  left behind be read_term/2 are now eaten.
+
+2001-11-13 Tuesday 21:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.4): Updated.
+
+2001-11-13 Tuesday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.5): Mention that we have greatly improved the
+	  documentation.
+
+2001-11-13 Tuesday 21:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.3): Updated.
+
+2001-11-13 Tuesday 21:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.12): Use `| ?-'
+	  everywhere a goal is introduced.
+
+2001-11-13 Tuesday 21:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.11): `E.g.' and `i.e.'
+	  must always be followed by comma.  There are no exceptions to
+	  this rule.
+
+2001-11-13 Tuesday 18:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.10): Documentation for
+	  ppl_add_consraints_and _minimize and for ppl_copy_polyhedron
+	  added.  Two examples for ppl_insert_constraints added that
+	  compare with examples for those for
+	  ppl_add_consraints_and_minimize.  Introductory sentence added.
+	  "To be written"  replaced by "Support for XXX ...future release."
+
+2001-11-13 Tuesday 17:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.8): Updated for release 0.2.
+
+2001-11-13 Tuesday 17:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.15): Version number bumped to 0.2.
+
+2001-11-13 Tuesday 17:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.4): PPL 0.2 will be released on November 14, 2001.
+
+2001-11-13 Tuesday 16:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/Makefile.am (1.5): Packaging issues
+	  solved.
+
+2001-11-13 Tuesday 15:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/: Makefile.am (1.4), check_script
+	  (1.1), expected (1.1): Use the meta-interpreter for `make check'.
+
+2001-11-13 Tuesday 15:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/clpq.pl (1.24): reconsult(File) command
+	  fixed.
+
+2001-11-13 Tuesday 15:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/ppl_check.pl (1.7): Gone, at last.
+
+2001-11-13 Tuesday 15:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/clpq.pl (1.23): Legalese added.
+
+2001-11-13 Tuesday 10:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/clpq.pl (1.22): Better support for
+	  debugging.  Now the `spy' command works as expected by most
+	  Prolog users.
+
+2001-11-13 Tuesday 09:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/tak.clpq (1.1): New test program.
+
+2001-11-13 Tuesday 09:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/: ack.clpq (1.3), ackn.clpq (1.1):
+	  ack.clpq is the original version whereas ackn.clpq is the
+	  normalized version.
+
+2001-11-12 Monday 22:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/clpq.pl (1.21): Fixed a bug whereby
+	  original_goal_variables/1 was not retracted in some cases.
+	  Multiple clauses for original_goal_variables/1 were causing the
+	  use of already discarded polyhedra.
+
+2001-11-12 Monday 22:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.25): When compiled
+	  with run-time assertions switched on, the interface now checks
+	  that the Prolog caller is not messing around with Polyhedron's
+	  addresses.
+
+2001-11-12 Monday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/clpq.pl (1.20): Use
+	  ppl_add_constraints_and_minimize/2 instead of adding one
+	  constraint at a time and then checking for emptiness.
+
+2001-11-12 Monday 17:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/: ppl_sicstus.cc (1.24), ppl_sicstus.pl
+	  (1.15): New interface predicate
+	  ppl_add_constraints_and_minimize/2.
+
+2001-11-12 Monday 16:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/clpq.pl (1.19): Fixed bug in
+	  read_clauses/1: now unit clauses are read correctly.
+
+2001-11-12 Monday 16:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/clpq.pl (1.18): The meta-interpreter
+	  core has been rewritten.  Computed answer constraints are also
+	  output in a readable way with variables named as in the original
+	  goal.
+
+2001-11-12 Monday 16:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.9): General
+	  improvements throughout the file.
+
+2001-11-12 Monday 09:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.8): A linear expression
+	  for defining constraints or generators can only have integer
+	  coefficients.  Therefore division by a number is not allowed and
+	  option removed from the grammar rules.  Also a number can
+	  multiply a PPL variable but not an arbitrary linear expression.
+
+2001-11-11 Sunday 18:19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.3), config.sub (1.3): Updated.
+
+2001-11-11 Sunday 18:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/Makefile.am (1.3): Missing dependency
+	  added: pplsp depends on the library.	Do not assume `.' is in
+	  PATH.
+
+2001-11-11 Sunday 17:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Constraint.defs.hh (1.27), Constraint.inlines.hh (1.11),
+	  Generator.defs.hh (1.29), Generator.inlines.hh (1.15),
+	  Row.defs.hh (1.14): std::swap() specialized both for Constraint
+	  and Generator.  Less verbose comments for such a simple
+	  operation.
+
+2001-11-11 Sunday 17:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/GenSys.cc (1.23): Spurious assertions removed.
+
+2001-11-11 Sunday 17:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: ConSys.defs.hh (1.28), ConSys.inlines.hh (1.9), GenSys.cc
+	  (1.22), GenSys.defs.hh (1.38), GenSys.inlines.hh (1.9):
+	  ConSys::swap() and GenSys::swap() removed: they are inherited
+	  from Matrix.	GenSys::remove_invalid_lines_and_rays()
+	  implemented.
+
+2001-11-11 Sunday 16:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: GenSys.cc (1.21), GenSys.defs.hh (1.37), Polyhedron.cc
+	  (1.86): Use Constraint::trivial_true() and
+	  Constraint::trivial_false().	Prepare to remove invalid line and
+	  rays from a GenSys.  This is necessary in the
+	  Polyhedron::remove_...() methods.
+
+2001-11-11 Sunday 16:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ConSys.cc (1.20): Use Constraint::is_trivial_true().
+
+2001-11-11 Sunday 15:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Generator.cc (1.9), Generator.defs.hh (1.28): Added `bool
+	  Generator::OK() const'.
+
+2001-11-11 Sunday 15:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Constraint.cc (1.9), Constraint.defs.hh (1.26):
+	  Constraint::is_trivial() renamed is_trivial_true().
+	  Constraint::is_unsatisfiable() renamed is_trivial_false().  Both
+	  now use Row::all_homogeneous_terms_are_zero().
+
+2001-11-11 Sunday 15:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Row.cc (1.13), Row.defs.hh (1.13): Added `bool
+	  Row::all_homogeneous_terms_are_zero() const'.
+
+2001-11-11 Sunday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.85): All other things being equal, prefer
+	  pre-increment/decrement to post-increment/decrement.
+
+2001-11-10 Saturday 20:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: append1.cc (1.7), append2.cc (1.8), permute.cc (1.11):
+	  Infamous relops are already neutralized in ppl_install.hh.
+
+2001-11-09 Friday 19:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.29), smm1.cc (1.1): New test program.
+
+2001-11-09 Friday 18:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/clpq.pl (1.17): Now clpq.pl does not
+	  require the lists module.
+
+2001-11-09 Friday 17:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/clpq.pl (1.16): Now a vertex is
+	  inserted before any lines or rays.  This avoids a bug when
+	  inserting generators into the empty polyhedron.
+
+2001-11-09 Friday 16:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/clpq.pl (1.15): Now the interpreter
+	  answers "yes" or "no".  The listing/0 command has been improved.
+
+2001-11-09 Friday 15:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Matrix.cc (1.17), Matrix.defs.hh (1.9), Polyhedron.cc
+	  (1.84), Row.cc (1.12), Row.defs.hh (1.12), conversion.cc (1.10):
+	  Another go at smart memory allocation.
+
+2001-11-09 Friday 15:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/addconstraints2.cc (1.4): Catch standard exceptions.
+
+2001-11-09 Friday 14:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.7): Corrections and
+	  improvements as suggested by Enea implemented.  Other corrections
+	  done and examples added.
+
+2001-11-09 Friday 13:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/clpq.pl (1.14): Now there are no calls
+	  to the ppl_convex_hull_assign operation.  This version keeps the
+	  list of generators and uses that to recover from failure paths.
+
+2001-11-09 Friday 08:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/clpq.pl (1.13): Now many of the
+	  unwanted temporary copies of polyhedra are deleted earlier.
+
+2001-11-08 Thursday 22:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.6): More detailed
+	  specification of the interface predicates with many examples
+	  added.  Introduction includes grammar rules and list of some
+	  important issues wrt using the PPL in Prolog.
+
+2001-11-08 Thursday 17:37  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/clpq.pl (1.12): Each constraint output
+	  on a new line.
+
+2001-11-08 Thursday 15:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/ppl_sicstus.pl (1.14): Comment
+	  containing documentation removed.
+
+2001-11-08 Thursday 15:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/clpq.pl (1.11): The main polyhedron is
+	  now deleted when solve(goal) fails.
+
+2001-11-08 Thursday 12:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/clpq.pl (1.10): Unwanted polyhedra are
+	  deleted now when calls to solve/7 fail.
+
+2001-11-08 Thursday 11:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Matrix.cc (1.16): Matrix::resize_no_copy() now deals with the
+	  case where the vector of rows must be reallocated.
+
+2001-11-08 Thursday 10:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox (1.5): Detailed predicate
+	  descriptions drafted for SICStus Prolog.
+
+2001-11-08 Thursday 08:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/clpq.pl (1.9): Some improvements to the
+	  efficiency by replacing calls to member/2 by member_check/2 and
+	  by reducing the number of calls to ppl_check_empty.  Also,
+	  numbervars/3 replaced by numvars/3 defined within clpq.pl.
+
+2001-11-07 Wednesday 13:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/ppl_sicstus.pl (1.13): First draft of
+	  documentation for ppl_sicstus.pl the interface for Prolog.
+
+2001-11-07 Wednesday 11:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/clpq.pl (1.8): This version tries to
+	  reduce the amount of memory leakage between requests for more
+	  solutions and between tests.
+
+2001-11-06 Tuesday 16:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/clpq.pl (1.7): More small improvements
+	  made.
+
+2001-11-06 Tuesday 16:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/: ack.clpq (1.2), clpq.pl (1.6):
+	  clpq.pl: The comments have been corrected and 	 some
+	  simplifications to the code.	ack.clpq: A bug in the second
+	  clause corrected.
+
+2001-11-06 Tuesday 15:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/clpq.pl (1.5): Temporary version. This
+	  is working but needs commenting and further checking.
+
+2001-11-05 Monday 11:36  Elisa Ricci
+
+	* src/ConSys.cc (1.19), src/ConSys.defs.hh (1.27), src/GenSys.cc
+	  (1.20), src/GenSys.defs.hh (1.36), src/Polyhedron.cc (1.83),
+	  src/Polyhedron.defs.hh (1.64), tests/affinetrans.cc (1.5),
+	  tests/error2.cc (1.8): Changed the name of some functions:
+	  Polyhedron::assign_variable --> Polyhedron::affine_image
+	  Polyhedron::substitute_variable --> Polyhedron::affine_preimage
+	  GenSys::assign_variable --> GenSys::affine_image
+	  ConSys::substitute_variable --> ConSys::affine_preimage The new
+	  names are used in the examples and in the tests.
+
+2001-11-05 Monday 10:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/smm.clpq (1.1): A new example program.
+
+2001-11-05 Monday 09:57  Elisa Ricci
+
+	* src/Polyhedron.cc (1.82): At the end of the functions
+	  Polyhedron::add_dimensions_and_project and
+	  Polyhedron::add_dimensions_and_constraints, we can have an empty
+	  polyhedron without the flag EMPTY sets: so, the assertion OK() is
+	  modified not to verify if the system of constraints is
+	  satisfiable.
+
+2001-11-05 Monday 09:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/: ack.clpq (1.1), fib.clpq (1.1),
+	  mc91.clpq (1.1), sumto.clpq (1.1): Small programs to test
+	  clpq.pl.
+
+2001-11-05 Monday 08:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.81): The final OK() assertion of
+	  Polyhedron::add_dimensions_and_embed() has been modified so as to
+	  allow for empty polyhedra.  Needs checking.  A similar analysis
+	  must be conducted on Polyhedron::add_dimensions_and_project().
+
+2001-11-05 Monday 08:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/clpq.pl (1.4): Let `.clpq' be the
+	  default extension.
+
+2001-11-05 Monday 07:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Makefile.am (1.17), Matrix.cc (1.15), Matrix.inlines.hh
+	  (1.7), Row.defs.hh (1.11), Row.inlines.hh (1.8), globals.hh
+	  (1.3): Speculative memory allocation is now completely
+	  implemented.	The function `size_t compute_capacity(size_t
+	  requested_size)' is now in namespace scope, since it is used both
+	  for Row's and for Matrix columns.  Its current implementation
+	  (2*(requested_size+1)) is to be considered experimental.
+
+2001-11-04 Sunday 22:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.34): Doxygen no longer causes a spurious
+	  string of characters in the user manual.
+
+2001-11-04 Sunday 22:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Matrix.cc (1.14): In Matrix(const Matrix& y) the right
+	  row-capacity is computed for the copy.
+
+2001-11-04 Sunday 19:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Matrix.cc (1.13): The methods Matrix::add_row(...) are now
+	  careful with respect to reallocation of the `rows' vector.  The
+	  stage is now ready for speculative memory allocation.
+
+2001-11-04 Sunday 19:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Constraint.defs.hh (1.25), Constraint.inlines.hh (1.10),
+	  Polyhedron.cc (1.80): Added and used `const Constraint&
+	  Constraint::zero_dim_positivity()'.
+
+2001-11-04 Sunday 15:59  Elisa Ricci
+
+	* src/Polyhedron.cc (1.79): In functions
+	  Polyhedron::update_constraints and Polyhedron::update_generators
+	  we only have a saturation matrix up-to-date: so, we must say that
+	  the other is not up-to-date.	In function
+	  Polyhedron::assign_variable, if the transformation is not
+	  invertible, we must have the system of generators up-to-date, and
+	  then if the polyhedron is non-empty, we use the function
+	  GenSys::assign_variable to find the resulting polyhedron. so, we
+	  always modify the polyhedron (we do not modify the polyhedron if
+	  it is empty or if there are dimensional problems).
+
+2001-11-04 Sunday 15:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.78): Polyhedron::remove_...() methods
+	  improved.
+
+2001-11-04 Sunday 12:56  Elisa Ricci
+
+	* src/Matrix.cc (1.12): A wrong comment erased: it is not true that
+	  the Row::linear_combine changes the flag `sorted' of the matrix.
+
+2001-11-04 Sunday 12:22  Elisa Ricci
+
+	* src/Polyhedron.cc (1.77): In functions
+	  Polyhedron::assign_variable and Polyhedron::substitute_variable
+	  we must clear the flags SAT_C_UP_TO_DATE and SAT_G_UP_TO_DATE,
+	  because after the operations the polyhedron is changed.
+
+2001-11-04 Sunday 12:01  Elisa Ricci
+
+	* src/Matrix.cc (1.11): In function Matrix::gauss(), we change a
+	  row without changing "changed" that indicates that the matrix is
+	  changed: so the flag "sorted" of the matrix was true even if the
+	  matrix was not sorted.
+
+2001-11-04 Sunday 10:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.23):
+	  ppl_intersection_assign/2 calls
+	  Polyhedron::intersection_assign().
+
+2001-11-04 Sunday 09:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: ConSys.cc (1.18), GenSys.cc (1.19), Makefile.am (1.16),
+	  Matrix.cc (1.10), Matrix.defs.hh (1.8), Matrix.inlines.hh (1.6),
+	  Polyhedron.cc (1.76), Row.cc (1.11), Row.defs.hh (1.10),
+	  Row.inlines.hh (1.7), SatRow.inlines.hh (1.6), conversion.cc
+	  (1.9), globals.cc (1.2), globals.hh (1.2), minimize.cc (1.6):
+	  OK() methods changed to allow for ConSys and GenSys with a single
+	  column.
+
+	  Temporary Integer's now incapsulated into a function: the source
+	  globals.cc is no longer necessary.
+
+	  The funcionality of Matrix::compute_row_capacity() is now
+	  provided by Row::compute_capacity().
+
+	  Tracking of capacity improved (there are still several problems
+	  though).  Matrix::sort_rows() rewritten: the STL algorithms keep
+	  the freedom of making copies of rows and we cannot accept that.
+
+	  Temporaty kludges added to the Matrix::add_row() methods: if the
+	  rows vector must grow, the implementation will copy the rows
+	  changing their capacity.  A proper solution to this problem must
+	  be found.
+
+	  OK() safety checks added tp Polyhedron::remove_dimensions() and
+	  Polyhedron::remove_higher_dimensions().
+
+	  Polyhedron::remove_dimensions() and
+	  Polyhedron::remove_higher_dimensions() where not clearing the
+	  "generators are minimized" flag.  With this change the flag is
+	  cleared a bit too often.  A proper solution must be found.
+
+	  Polyhedron::remove_dimensions() and
+	  Polyhedron::remove_higher_dimensions() now use
+	  Matrix::resize_no_copy() instead of Matrix::resize() in order to
+	  shrink matrices.
+
+	  Row::OK() added and used.  When compiling with assertions each
+	  rows brings its own capacity in the capacity_ flag.  The
+	  consistency of this information is checked by Row::OK() which, in
+	  turn, is called by Matrix::OK() for each row of the matrix.  For
+	  internal use, the capacity_ field can be accessed by `size_t
+	  Row::capacity() const'.
+
+	  `void Row::assign(Row& y)' added to assign the implementation of
+	  y to *this.
+
+	  `std::iter_swap()' specialized both for vector<Row> and
+	  vector<SatRow>.
+
+2001-11-04 Sunday 08:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.28), bug2.cc (1.1): bug2.cc shows a
+	  problem whereby we do not correctly keep track of the status of
+	  saturation matrices.
+
+2001-11-04 Sunday 08:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.27), bug1.cc (1.1): bug1.cc shows a
+	  problem with the tracking of matrix sortedness.
+
+2001-11-03 Saturday 17:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/append1.cc (1.6): Two assertions added: they prove that
+	  Polyhedron::remove_dimensions() is broken.
+
+2001-11-03 Saturday 13:49  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.defs.hh (1.26), GenSys.defs.hh (1.35): "no guarantee
+	  at all" changed into "no guarantees" as suggested by Pat.
+
+2001-11-03 Saturday 10:45  Elisa Ricci
+
+	* src/Polyhedron.cc (1.75): In a comment correct an error: there
+	  was "systemo" instead of "system".
+
+2001-11-03 Saturday 10:40  Elisa Ricci
+
+	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.22),
+	  src/Polyhedron.cc (1.74), src/Polyhedron.defs.hh (1.63),
+	  tests/inters1.cc (1.7), tests/inters2.cc (1.9): The function
+	  Polyhedron::intersection_assign now is
+	  Polyhedron::intersection_assign_and_minimize.  Added a new
+	  function Polyhedron::intersection_assign that computes the
+	  intersection between x and y without minimizing the result.
+
+2001-11-02 Friday 17:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/clpq.pl (1.3): Use
+	  ppl_remove_higher_dimensions/2.
+
+2001-11-02 Friday 17:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/: ppl_sicstus.cc (1.21), ppl_sicstus.pl
+	  (1.12): Added ppl_remove_higher_dimensions/2.
+
+2001-11-02 Friday 17:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.73), Polyhedron.defs.hh (1.62): New method
+	  drafted: void Polyhedron::remove_higher_dimensions(size_t
+	  new_dimension).
+
+2001-11-02 Friday 17:22  Elisa Ricci
+
+	* src/Polyhedron.cc (1.72), src/Polyhedron.defs.hh (1.61),
+	  tests/addconstraints1.cc (1.2), tests/append1.cc (1.5),
+	  tests/append2.cc (1.7), tests/error3.cc (1.8), tests/permute.cc
+	  (1.10): The Polyhedron::add_constraints now is
+	  Polyhedron::add_constraints_and_minimize, while
+	  Polyhedron::add_constraints_lazy now is only
+	  Polyhedron::add_constraints.	The Polyhedron::convex_hull_assign
+	  now is Polyhedron::convex_hull_assign_and_minimize, while
+	  Polyhedron::convex_hull_assign_lazy now is
+	  Polyhedron::convex_hull_assign.
+
+2001-11-02 Friday 16:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/clpq.pl (1.2): Some infrastructure
+	  added to simplify loading programs and trying them.
+
+2001-11-02 Friday 15:18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.33), src/ConSys.defs.hh (1.25),
+	  src/Constraint.defs.hh (1.24), src/GenSys.defs.hh (1.34),
+	  src/Generator.defs.hh (1.27), src/LinExpression.defs.hh (1.20),
+	  src/Polyhedron.defs.hh (1.60): A further scan on almost all user
+	  documentation in order to better comment on space-dimensionality
+	  checks.
+
+2001-11-02 Friday 14:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/: clpq.pl (1.1), solve.pl (1.19):
+	  Renamed.
+
+2001-11-02 Friday 14:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Matrix.cc (1.9): Matrix::resize_no_copy() improved.  It now
+	  preserves the sortedness flag in the easy cases.
+
+2001-11-02 Friday 13:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/solve.pl (1.18): Comments added
+	  throughout.
+
+2001-11-02 Friday 09:01  Elisa Ricci
+
+	* src/Row.cc (1.10): In a comment of operator *(Row, Row) used
+	  "dimension-compatible", instead of "dimension-compatibility".
+
+2001-11-02 Friday 08:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/solve.pl (1.17): An improved version of
+	  the interpreter. This is a bit faster.
+
+2001-11-01 Thursday 19:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Makefile.am (1.26): Link the GMP library after the PPL.
+
+2001-11-01 Thursday 19:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.14): The --with-cc configure option has been
+	  fixed (it affected CXX instead of CC).
+
+2001-11-01 Thursday 18:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/solve.pl (1.16): Now only use the
+	  copied polyhedron when trying a clause.
+
+2001-11-01 Thursday 17:27  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/solve.pl (1.15): Bug is fixed and test
+	  added to check bug is dead.  Also, more care is taken to remove
+	  polyhedron that are no longer needed.
+
+2001-11-01 Thursday 15:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/solve.pl (1.14): Now, delete_polyhedron
+	  is used when the call to solve((A,B)...) fails as well as when it
+	  succeeds.
+
+2001-11-01 Thursday 15:36  Elisa Ricci
+
+	* src/: ConSys.cc (1.17), GenSys.cc (1.18), Row.cc (1.9),
+	  Row.defs.hh (1.9): Erased the function projected_scalar_prod(x,
+	  y) and used instead of it the operator * that it is changed to
+	  support also the case of x.size() < y.size (operator * so can be
+	  used in the case x.size <= y.size).  The functions
+	  GenSys::satisfy(Constraint) and
+	  ConSys::satisfies_all_constraints(Generator) are modified to use
+	  only the operator *.
+
+2001-11-01 Thursday 14:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/solve.pl (1.13): Names of terms made
+	  more descriptive.
+
+2001-11-01 Thursday 14:04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Matrix.cc (1.8), Matrix.inlines.hh (1.5),
+	  Polyhedron.inlines.hh (1.10), Row.cc (1.8), Row.defs.hh (1.8),
+	  SatMatrix.defs.hh (1.8), SatMatrix.inlines.hh (1.5),
+	  SatRow.defs.hh (1.8), SatRow.inlines.hh (1.5), Status.cc (1.8),
+	  Status.defs.hh (1.10), Status.inlines.hh (1.4),
+	  Variable.inlines.hh (1.4): Using the \related doxygen command
+	  everywhere appropriate (but not using it for specialization of
+	  std::swap functions).  All inline functions enclosed in namespace
+	  delimiters: removed redundant namespace qualifiers accordingly.
+
+2001-11-01 Thursday 13:53  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/solve.pl (1.12): Now temporary
+	  polyhedra are deleted when they are no longer needed.
+
+2001-11-01 Thursday 13:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/solve.pl (1.11): Old code for
+	  ppl_renew_polyhedron that does not use ppl_delete_polyhedron has
+	  been restored.
+
+2001-11-01 Thursday 11:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/solve.pl (1.10): Now all but the head
+	  variables are projected away.  Other general improvements and
+	  corrections done.
+
+2001-11-01 Thursday 10:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Matrix.defs.hh (1.7), Polyhedron.cc (1.71), Row.defs.hh
+	  (1.7), Row.inlines.hh (1.6): Using the \relates doxygen command
+	  for Row and Matrix.  Enclosing inline functions in the namespace
+	  delimiters.  Avoiding useless namespace qualifiers.
+
+2001-11-01 Thursday 07:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.3): Drafted.
+
+2001-10-31 Wednesday 22:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.20): Removed
+	  false_constraint_term(): it is no longer needed.
+
+2001-10-31 Wednesday 22:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/: ppl_sicstus.cc (1.19), ppl_sicstus.pl
+	  (1.11), solve.pl (1.9): ppl_copy_polyhedron/2 is now provided by
+	  the interface.
+
+2001-10-31 Wednesday 22:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.18): In
+	  ppl_get_constraints/2, no longer treat empty polyhedra specially.
+	  get_generator() renamed generator_term().
+
+2001-10-31 Wednesday 21:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.17): In
+	  ppl_get_generators/2, no longer abort if the polyhedron is
+	  zero-dimensional.
+
+2001-10-31 Wednesday 21:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.defs.hh (1.23), Generator.defs.hh (1.26),
+	  Polyhedron.defs.hh (1.59), Variable.defs.hh (1.10): Exploiting
+	  the doxygen special command \relates to put the documentation of
+	  non-friend functions inside the documentation of the related
+	  class.
+
+2001-10-31 Wednesday 21:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.16): All C++
+	  exceptions are now handled and translated into Prolog exceptions.
+
+2001-10-31 Wednesday 18:25  Elisa Ricci
+
+	* src/: Matrix.cc (1.7), Polyhedron.cc (1.70): Now, the function
+	  merge_row_assign resizes the second matrix if it is necessary: it
+	  means that in functions add_constraints_lazy and
+	  limited_widening_assign we do not resize the matrix cs.  In
+	  Polyhedron::OK the check of the number of columns is not
+	  necessary.
+
+2001-10-31 Wednesday 15:37  Elisa Ricci
+
+	* src/Polyhedron.cc (1.69): In function Polyhedron::OK() the case
+	  of is_empty == true is considered.
+
+2001-10-31 Wednesday 14:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/solve.pl (1.8): Now, backtracking works
+	  for some queries including fibonacci.  Also it works with a test
+	  that checks deeper backtracking.
+
+2001-10-31 Wednesday 14:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.68): In the checking function OK, we were
+	  forgetting return or jump to the appropriate code after having
+	  checked the correctness of a 0-space dim polyhedron.
+
+2001-10-31 Wednesday 12:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.67): A missing "return" added inside
+	  "add_dimensions_and_constraints".
+
+2001-10-31 Wednesday 12:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.58): Added specification for
+	  add_dimensions_and_constraints(ConSys& cs).
+
+2001-10-31 Wednesday 11:52  Elisa Ricci
+
+	* src/Polyhedron.cc (1.66): In functions
+	  Polyhedron::widening_assign and
+	  Polyhedron::limited_widening_assign considered the case of the
+	  polyhedra in a zero-dimensional space.  In function
+	  Polyhedron::limited_widening_assign considered the case of
+	  cs.space_dimension() < space_dimension().
+
+2001-10-31 Wednesday 11:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/GenSys.defs.hh (1.33): Added an example where a system of
+	  generators is printed by using more features of the STL.
+
+2001-10-31 Wednesday 11:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.65): When the user invokes
+	  Polyhedron::constraints() on an empty polyhedron, we now return
+	  the inconsistent constraint of the right dimension.  This also
+	  implies that a polyhedron with the EMPTY flag set can still have
+	  a non-empty con_sys; therefore, we clear the con_sys whenever we
+	  change the dimension of an empty polyhedron.
+
+2001-10-31 Wednesday 10:28  Elisa Ricci
+
+	* src/: ConSys.cc (1.16), Polyhedron.cc (1.64): In functions
+	  Polyhedron::includes and ConSys::satisfies_all_constraints the
+	  cases of a polyhedron in a zero-dimensional space and of
+	  g.space_dimension < space_dimension are considered.
+
+2001-10-31 Wednesday 09:56  Elisa Ricci
+
+	* src/: GenSys.cc (1.17), Polyhedron.cc (1.63), Row.cc (1.7),
+	  Row.defs.hh (1.6): The function projected_scalar_prod() moved in
+	  `namespace Parma_Polyhedra_Library'.	The case of
+	  c.space_dimension < polyhedron.space_dimension is considered in
+	  functions Polyhedron::satisfies and GenSys::satisy.  In function
+	  Polyhedron::satisfies the cases of empty polyhedron and of the
+	  polyhedron is a zero-dimensional space are considered.
+
+2001-10-31 Wednesday 08:47  Elisa Ricci
+
+	* src/LinExpression.defs.hh (1.19): The copy-constructor of a
+	  linear expression with a specified dimension is PPL_INTERNAL and
+	  not public.
+
+2001-10-30 Tuesday 22:01  Elisa Ricci
+
+	* tests/affinetrans.cc (1.4): We can use the linear expression `x +
+	  4' instead of `x + 0*y + 4'.
+
+2001-10-30 Tuesday 21:57  Elisa Ricci
+
+	* src/: LinExpression.defs.hh (1.18), Polyhedron.cc (1.62): In
+	  functions Polyhedron::assign_variable and
+	  Polyhedron::substitutte_variable considered the cases of an empty
+	  polyhedron and of space_dimension of linear expression <
+	  space_dimension of polyhedron.  In LinExpression the
+	  copy-constructor with the size of the new linear expression is
+	  now public.
+
+2001-10-30 Tuesday 18:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.cc (1.8), Constraint.defs.hh (1.22): Added
+	  PPL_INTERNAL method Constraint::is_unsatisfiable().
+
+2001-10-30 Tuesday 18:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/solve.pl (1.7): Now it allows for
+	  constants in the head.
+
+2001-10-30 Tuesday 17:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/solve.pl (1.6): The interpreter now
+	  accepts repeated variables in the head.
+
+2001-10-30 Tuesday 17:39  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.61), src/Polyhedron.defs.hh (1.57),
+	  tests/addconstraints2.cc (1.3): Method
+	  add_dimensions_and_constraints_lazy renamed as
+	  add_dimensions_and_constraints; signature changed (the argument
+	  is no longer const); in the implementation, we swap coefficients
+	  instead of copying them.
+
+2001-10-30 Tuesday 15:54  Elisa Ricci
+
+	* src/: Row.cc (1.6), Row.defs.hh (1.5): Added the function Integer
+	  projected_scalar_prod(const Row&, const Row&).
+
+2001-10-30 Tuesday 15:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Polyhedron.defs.hh (1.56): Spelling of "poject" to "project"
+	  changed.
+
+2001-10-30 Tuesday 15:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.60): Spelling error corrected in an output
+	  message; for consistency, try always to use the
+	  dimension-compatibility concept in error messages.
+
+2001-10-30 Tuesday 15:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/solve.pl (1.5): Adjusted to allow for =
+	  instead of == for equality.
+
+2001-10-30 Tuesday 14:56  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: LinExpression.defs.hh (1.17), LinExpression.inlines.hh
+	  (1.6): Added method space_dimension.
+
+2001-10-30 Tuesday 14:54  Elisa Ricci
+
+	* src/Polyhedron.defs.hh (1.55): We do not have any exception if we
+	  use the function Polyhedron::constraints() with an empty
+	  polyhedron of the function Polyhedron::generators() with a
+	  zero-dimensional polyhedron.
+
+2001-10-30 Tuesday 14:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.15): Use '='/2
+	  instead of '=='/2 to denote equality.  Fixed a bug whereby the
+	  sign of the inhomogeneous term of constraints was inverted.
+
+2001-10-30 Tuesday 14:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.59): Started using the methods
+	  space_dimension() of classes Constraint, Generator, ConSys and
+	  GenSys.
+
+2001-10-30 Tuesday 14:30  Elisa Ricci
+
+	* src/Polyhedron.cc (1.58): In functions Polyhedron::insert used
+	  the function space_dimension() (of a constraint or of a
+	  generator) instead of size() - 1.
+
+2001-10-30 Tuesday 13:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/solve.pl (1.4): More improvements.
+
+2001-10-30 Tuesday 12:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.defs.hh (1.24), ConSys.inlines.hh (1.8),
+	  GenSys.defs.hh (1.32), GenSys.inlines.hh (1.8): Added method
+	  space_dimension() to both ConSys and GenSys.
+
+2001-10-30 Tuesday 12:25  Elisa Ricci
+
+	* src/Polyhedron.cc (1.57): In function
+	  add_dimensions_and_constraints_lazy, if we are lazy we only say
+	  that the system of constraints is not sorted, otherwise we sort
+	  the system of constraints.
+
+2001-10-30 Tuesday 12:17  Elisa Ricci
+
+	* tests/addconstraints2.cc (1.2): Changed the second system of
+	  constraints (ConSys c2) to have a non-empty polyhedron.
+
+2001-10-30 Tuesday 12:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.56): insert(const Generator&) improved.
+
+2001-10-30 Tuesday 11:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/solve.pl (1.3): Now upgraded to accept
+	  user predicates as well as constraints.
+
+2001-10-30 Tuesday 11:47  Elisa Ricci
+
+	* tests/: Makefile.am (1.25), addconstraints2.cc (1.1): Added the
+	  test for the function add_dimensions_and_constraints_lazy.
+
+2001-10-30 Tuesday 11:39  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.55): In add_constraints, after adding NO
+	  constraints at all we still need to check for the emptyness of
+	  the polyhedron.  In insert(const Constraint&), adjusted
+	  assertions and added triviality check when inserting into a
+	  zero-dim space polyhedron.
+
+2001-10-30 Tuesday 11:29  Elisa Ricci
+
+	* src/: Polyhedron.cc (1.54), Polyhedron.defs.hh (1.54): Added the
+	  function add_dimensions_and_constraints_lazy(const ConSys& cs).
+
+2001-10-30 Tuesday 11:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.53): In add_constraints(_lazy), if a
+	  zero-dim space polyhedron is considered, using ConSys iterators
+	  to see if an inconsistent polyhedron is created.
+
+2001-10-30 Tuesday 10:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am (1.24), addconstraints1.cc (1.1): Added test
+	  for the addition of consistent and inconsistent zero-dim
+	  constraints to a zero-dim space polyhedron.  Tests re-ordered
+	  alphabetically.
+
+2001-10-30 Tuesday 10:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/solve.pl (1.2): Some small bugs fixed.
+
+2001-10-30 Tuesday 10:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am (1.23), removedim3.cc (1.1): Added simple
+	  test on the removal of dimensions from an empty polyhedron.
+
+2001-10-30 Tuesday 09:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.52), Polyhedron.defs.hh (1.53): BE_LAZY
+	  used also in Polyhedron::add_dimensions_and_project.	A couple of
+	  assertions added and old code (already commented out) removed.
+
+2001-10-30 Tuesday 09:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* interfaces/Prolog/SICStus/solve.pl (1.1): A first start/attempt
+	  at a simple meta-interpreter for CLP(Q).  There is a bug to be
+	  fixed.
+
+2001-10-29 Monday 21:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.51): Be lazy.
+
+2001-10-29 Monday 21:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: conversion.cc (1.8), minimize.cc (1.5), simplify.cc (1.6):
+	  Comments fixed: the class is called Polyhedron, not Poly.
+
+2001-10-29 Monday 18:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.14): Use
+	  Constraint/Generator::space_dimension() instead of the no longer
+	  existing last_variable().
+
+2001-10-29 Monday 16:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.defs.hh (1.21), Constraint.inlines.hh (1.9),
+	  Generator.defs.hh (1.25), Generator.inlines.hh (1.14): Removed
+	  methods last_variable() and added method space_dimension() to
+	  Constraint and Generator.
+
+2001-10-29 Monday 16:46  Elisa Ricci
+
+	* src/Polyhedron.cc (1.50): In Polyhedron(size_t num_dimensions,
+	  Degenerate_Kind kind) if we build an universe polyhedron the
+	  system of constraints is in the minimal form.  In the function
+	  insert(Constraint) added the comment that specify why when we
+	  insert the constraint the polyhedron is non-empty.
+
+2001-10-29 Monday 16:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.cc (1.15), Constraint.cc (1.7), Constraint.defs.hh
+	  (1.20): Constraint::is_non_trivial() transformed into
+	  Constraint::is_trivial().  Btw, the old evrsion was still wrong.
+
+2001-10-29 Monday 16:26  Elisa Ricci
+
+	* src/Polyhedron.cc (1.49): In function add_constraints,
+	  add_constraints_lazy and add_generators the case of
+	  cs(gs)_num_columns == 1 && space_dimension() == 0 is considered.
+
+2001-10-29 Monday 16:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* missing (1.3): Updated.
+
+2001-10-29 Monday 14:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Constraint.cc (1.6): Constraint::is_nontrivial() fixed.
+
+2001-10-29 Monday 14:29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.48): In add_dimensions_and_embed, when
+	  embedding a zero-dim universe polyhedron the creation of the
+	  system of generators is now guarded by pre-proc flag BE_LAZY.
+
+2001-10-29 Monday 13:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: GenSys.cc (1.16), GenSys.defs.hh (1.31), GenSys.inlines.hh
+	  (1.7), Polyhedron.cc (1.47): Added static member function
+	  GenSys::zero_dim_univ() to replace static member
+	  GenSys::zero_dim_univ. All inline functions enclosed in the
+	  namespace.
+
+2001-10-29 Monday 13:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Generator.cc (1.8), Generator.defs.hh (1.24),
+	  Generator.inlines.hh (1.13): Added static member function
+	  Generator::zero_dim_vertex().  Functions vertex, ray and line are
+	  no longer inlined; for ray and line we now check that the
+	  argument does not represent the origin of the space.
+
+2001-10-29 Monday 13:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ConSys.defs.hh (1.23): Must include <iterator>.
+
+2001-10-29 Monday 12:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.cc (1.14), ConSys.defs.hh (1.22), ConSys.inlines.hh
+	  (1.7), Polyhedron.cc (1.46): Added static member function
+	  ConSys::zero_dim_empty().
+
+2001-10-29 Monday 12:37  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.cc (1.5), Constraint.defs.hh (1.19),
+	  Constraint.inlines.hh (1.8): Added static memebr function
+	  Constraint::zero_dim_false().  All inline functions enclosed in
+	  the namespace.
+
+2001-10-29 Monday 12:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: LinExpression.cc (1.5), LinExpression.defs.hh (1.16),
+	  LinExpression.inlines.hh (1.5): Added static member function
+	  LinExpression::zero() in place of static member LinExpression
+	  zero.  All inline functions enclosed in the scope of namespace.
+
+2001-10-29 Monday 11:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.45): Polyhedron::Polyhedron(GenSys& gs)
+	  improved.
+
+2001-10-29 Monday 10:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.13): Require autoconf 2.52e.
+
+2001-10-29 Monday 10:18  Elisa Ricci
+
+	* tests/: affinetrans.cc (1.3), append2.cc (1.6), empty1.cc (1.5),
+	  error1.cc (1.6), error2.cc (1.7), error3.cc (1.7), error4.cc
+	  (1.3), error5.cc (1.4), inters1.cc (1.6), inters2.cc (1.8),
+	  permute.cc (1.9), randchull1.cc (1.8), removedim1.cc (1.2),
+	  removedim2.cc (1.5): Added the comment to the tests, the
+	  inclusion of the file "ehandlers.hh", use the function
+	  set_handlers() and added some NOISY-print of the polyhedra (where
+	  they are necessary).
+
+2001-10-29 Monday 09:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Makefile.am (1.22): Committing Makefile.am was unwanted
+	  (error6 is a non-meaningful dummy test).
+
+2001-10-29 Monday 06:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Generator.cc (1.7), Polyhedron.defs.hh (1.52),
+	  conversion.cc (1.7): The Integer constants 0 and 1 are now
+	  provided by the static methods Integer::zero() and
+	  Integer::one().
+
+2001-10-28 Sunday 21:41  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/ConSys.cc (1.13), src/ConSys.defs.hh (1.21),
+	  src/ConSys.inlines.hh (1.6), src/GenSys.cc (1.15),
+	  src/GenSys.defs.hh (1.30), src/GenSys.inlines.hh (1.6),
+	  src/Generator.defs.hh (1.23), src/Polyhedron.cc (1.44),
+	  tests/Makefile.am (1.21): Added static members denoting the
+	  zero-dim usatisfiable constraint, teh corresponding constraint
+	  system and the system of generators corresponding to the zero-dim
+	  universe.
+
+2001-10-28 Sunday 20:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.cc (1.4), Constraint.defs.hh (1.18):
+	  is_non_trivial() now correctly handles inconsistent constraints,
+	  which should NOT be considered trivial.  Output operator now
+	  correctly prints inconsistent constraints.
+
+2001-10-28 Sunday 18:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.4),
+	  SICStus/ppl_sicstus.pl (1.10): Added ppl_insert_constraints/2 and
+	  ppl_insert_generators/2.
+
+2001-10-28 Sunday 18:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.3),
+	  SICStus/ppl_sicstus.cc (1.13), SICStus/ppl_sicstus.pl (1.9):
+	  Added ppl_add_dimensions_and_embed/2 and
+	  ppl_add_dimensions_and_project/2.
+
+2001-10-28 Sunday 18:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/: Prolog_interface.dox (1.2),
+	  SICStus/ppl_check.pl (1.6), SICStus/ppl_sicstus.cc (1.12),
+	  SICStus/ppl_sicstus.pl (1.8): ppl_remove_dimensions/2 added.
+
+2001-10-28 Sunday 14:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.h.in (1.11), configure.ac (1.12),
+	  interfaces/Prolog/Makefile.am (1.2): Try not to bother people
+	  without the SICStus include file.
+
+2001-10-28 Sunday 14:20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Generator.cc (1.6), Generator.defs.hh (1.22),
+	  Generator.inlines.hh (1.12), LinExpression.cc (1.4),
+	  LinExpression.defs.hh (1.15): Now the friend function vertex(e,
+	  d) has also its first argument optional; calling vertex() creates
+	  the origin of the zero-dim vector space.  Added zero-dim checks
+	  to ray(e) and line(e).
+
+2001-10-28 Sunday 13:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/Makefile.am (1.13), doc/devref-browse.doxyconf-latex.in
+	  (1.7), doc/devref-print.doxyconf-latex.in (1.7),
+	  doc/devref.doxyconf-html.in (1.8),
+	  doc/user-browse.doxyconf-latex.in (1.8),
+	  doc/user-print.doxyconf-latex.in (1.8), doc/user.doxyconf-html.in
+	  (1.10), interfaces/Prolog/Prolog_interface.dox (1.1): Provide a
+	  framework for the Prolog interface documentation.
+
+2001-10-28 Sunday 11:12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/removedim2.cc (1.4): Moved creation of lin-expr
+	  infrastructure outside the loop.
+
+2001-10-28 Sunday 10:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/: ppl_check.pl (1.5), ppl_sicstus.cc
+	  (1.11), ppl_sicstus.pl (1.7): Added ppl_get_constraints/2 and
+	  ppl_get_generators/2.
+
+2001-10-28 Sunday 10:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.51): Do not create yet another Integer
+	  set to one to use as default parameter: use Integer::one instead.
+
+2001-10-28 Sunday 10:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Constraint.defs.hh (1.17), Generator.defs.hh (1.21),
+	  Generator.inlines.hh (1.11): New methods of Generator:
+	  last_variable(), coefficient(), and divisor().  Harmonized with
+	  the ones of Constraint.  Do not create yet another Integer set to
+	  one to use as default parameter: use Integer::one instead.
+
+2001-10-28 Sunday 08:37  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.43): Corrected the error making test
+	  `randchull1' fail (I was forgetting to clear flags after
+	  insertion of the generator).
+
+2001-10-27 Saturday 22:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/onepoint.cc (1.1): New test on the creation of a one-point
+	  polyhedron.
+
+2001-10-27 Saturday 22:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.20), error1.cc (1.5), error2.cc (1.6),
+	  error3.cc (1.6), error4.cc (1.2), error5.cc (1.3), removedim.cc
+	  (1.3), removedim1.cc (1.1), removedim2.cc (1.3): Try to be
+	  consistent.
+
+2001-10-27 Saturday 18:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Constraint.defs.hh (1.16), Constraint.inlines.hh (1.7): New
+	  Constraint methods: last_variable(), coefficient(Variable v) and
+	  coefficient() to return the last variable, the homogeneous and
+	  inhomogeneous coefficients.
+
+2001-10-27 Saturday 17:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/: ppl_check.pl (1.4), ppl_sicstus.cc
+	  (1.10), ppl_sicstus.pl (1.6): ppl_new_polyhedron/1 replaced with
+	  ppl_new_polyhedron/2 and ppl_new_empty_polyhedron/2.
+
+2001-10-27 Saturday 16:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox (1.32), src/Constraint.defs.hh (1.15),
+	  src/Constraint.inlines.hh (1.6), src/Generator.cc (1.5),
+	  src/Generator.defs.hh (1.20), src/Generator.inlines.hh (1.10),
+	  src/Polyhedron.cc (1.42), src/Polyhedron.defs.hh (1.50),
+	  src/Polyhedron.inlines.hh (1.9), src/Status.cc (1.7),
+	  src/Status.defs.hh (1.9), src/Status.inlines.hh (1.3),
+	  tests/Makefile.am (1.19), tests/affinetrans.cc (1.2),
+	  tests/append1.cc (1.4), tests/append2.cc (1.5), tests/empty1.cc
+	  (1.4), tests/error3.cc (1.5), tests/error5.cc (1.2),
+	  tests/inters2.cc (1.7), tests/permute.cc (1.8), tests/print.hh
+	  (1.3), tests/randchull1.cc (1.7), tests/removedim.cc (1.2),
+	  tests/removedim2.cc (1.2): All changes on the `space_dim' branch
+	  have been merged to the main trunk.
+
+2001-10-27 Saturday 15:30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (space_dim.12): In Polyhedron::insert(const
+	  Generator&) added generator type check.
+
+2001-10-27 Saturday 15:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.defs.hh, Constraint.inlines.hh, Polyhedron.cc,
+	  Polyhedron.defs.hh (space_dim.[1,1,11,6]): Default constructor
+	  for Constraint is now private and not implemented.  In
+	  Polyhedron::insert(const Generator&) we should check that the
+	  generator is a vertex if the polyhedron is empty (we cannot add
+	  just a ray or a line).
+
+2001-10-27 Saturday 15:12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/: ppl_sicstus.cc (1.9), ppl_sicstus.pl
+	  (1.5): ppl_widening_assign/2 added.
+
+2001-10-27 Saturday 15:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/: ppl_sicstus.cc (1.8), ppl_sicstus.pl
+	  (1.4): ppl_intersection_assign/2 and ppl_convex_hull_assign/2
+	  added.  Try to be as const-correct as possible.
+
+2001-10-27 Saturday 14:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/: ppl_check.pl (1.3), ppl_sicstus.cc
+	  (1.7), ppl_sicstus.pl (1.3): ppl_check_empty/1 added.
+
+2001-10-27 Saturday 14:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.6):
+	  SP_register_atom() and SP_unregister_atom() can fail.
+
+2001-10-27 Saturday 14:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/: ppl_check.pl (1.2), ppl_sicstus.cc
+	  (1.5), ppl_sicstus.pl (1.2): ppl_insert_generator/2 added.
+
+2001-10-27 Saturday 12:35  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc, src/Polyhedron.defs.hh,
+	  src/Polyhedron.inlines.hh, src/Status.cc, src/Status.defs.hh,
+	  src/Status.inlines.hh, tests/empty1.cc, tests/inters2.cc,
+	  tests/print.hh, tests/randchull1.cc
+	  (space_dim.[10,5,2,1,1,1,1,1,1,1]): The zero_dim flag (and
+	  methods) in Status changed into more meaningful "zero_dim_univ".
+	  A lot of small changes to have a consistent dimension-checking.
+	  Now there is one "default" constructor for Polyhedron having two
+	  optional arguments: the space dimension (default 0) and the
+	  degenerate kind (default UNIVERSE).  Tests adapted to use the new
+	  constructor and to avoid using the removed
+	  Polyhedron::is_zero_dim().
+
+2001-10-27 Saturday 12:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.31): Proposition after Minkowsky's theorem
+	  corrected (we can CHOOSE extreme rays so that they have rational
+	  coefficients).
+
+2001-10-27 Saturday 11:54  Elisa Ricci
+
+	* tests/: affinetrans.cc, error3.cc (space_dim.[2,2]): To build the
+	  polyhedron that we want using the system of generators, we must
+	  create the system of generators and then use Polyhedron ph(gs).
+	  (If we use Polyhedron ph(num_dim), we have the universe
+	  polyhedron and then when we add the generators we do not have our
+	  polyhedron but the universe one).
+
+2001-10-27 Saturday 11:49  Elisa Ricci
+
+	* src/Polyhedron.defs.hh (space_dim.4): Added an example for the
+	  function remove_dimensions (the example 8).  In the examples when
+	  we build a polyhedron we must specify the dimension of the space
+	  if then we use the function Polyhedron::insert(Constraint).  We
+	  can not do the same thing if then we want to use the function
+	  Polyhedron::insert(Generator) In fact, in this case we build the
+	  universe polyhedron and then we add the generators. To build a
+	  polyhedron starting from the system of generators we must create
+	  the system of generators and then use Polyhedron ph(gs).
+
+2001-10-27 Saturday 11:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.11): Version number bumped so as to avoid
+	  confusion: 0.2-pre1.
+
+2001-10-27 Saturday 10:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.10), interfaces/Prolog/SICStus/Makefile.am (1.2),
+	  interfaces/Prolog/SICStus/ppl_check.pl (1.1),
+	  interfaces/Prolog/SICStus/ppl_sicstus.cc (1.4),
+	  interfaces/Prolog/SICStus/ppl_sicstus.pl (1.1): Check to see
+	  whether `sicstus' is installed: if it is, tests can be performed.
+	  Some progress in the interface itself.
+
+2001-10-27 Saturday 10:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.41): ConSys and GenSys do not yet provide a
+	  `bool empty() const' method.
+
+2001-10-27 Saturday 10:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.15): Distribute ppl_header.middle.
+
+2001-10-26 Friday 21:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.3): Exception
+	  handling improved.
+
+2001-10-26 Friday 19:04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc, tests/Makefile.am, tests/removedim2.cc
+	  (space_dim.[9,4,1]): Polyhedron::remove_dimensions(...) rewritten
+	  from scratch.  Added a new test to check its correctness.
+
+2001-10-26 Friday 18:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.2): Can now insert
+	  constraints into a polyhedron.
+
+2001-10-26 Friday 16:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Makefile.am, ppl_header.middle (space_dim.[1,1]): Get
+	  around a bug in GCC versions prior to 3 whereby the <cassert>
+	  header is wrongly guarded against multiple inclusion.
+
+2001-10-26 Friday 16:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.12), config.h.in (1.10), configure.ac (1.9),
+	  interfaces/.cvsignore (1.1), interfaces/Makefile.am (1.1),
+	  interfaces/Prolog/.cvsignore (1.1), interfaces/Prolog/Makefile.am
+	  (1.1), interfaces/Prolog/SICStus/.cvsignore (1.1),
+	  interfaces/Prolog/SICStus/Makefile.am (1.1),
+	  interfaces/Prolog/SICStus/ppl_sicstus.cc (1.1): Start working on
+	  the Prolog interfaces.
+
+2001-10-26 Friday 16:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.14): ppl_install.hh depends also on
+	  ppl_header.middle.
+
+2001-10-26 Friday 16:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Makefile.am (1.13), ppl_header.middle (1.1): Get around a
+	  bug in GCC versions prior to 3 whereby the <cassert> header is
+	  wrongly guarded against multiple inclusion.
+
+2001-10-26 Friday 16:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.40), Variable.defs.hh (1.9): Just
+	  formatting.
+
+2001-10-26 Friday 13:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (space_dim.8): A few trivial errors inside
+	  assertions fixed.
+
+2001-10-26 Friday 12:29  Elisa Ricci
+
+	* src/Polyhedron.cc (space_dim.7): In function add_generators we
+	  resize the matrix gs that we want to add if space_dimension() >
+	  num_columns() - 1.
+
+2001-10-26 Friday 12:14  Elisa Ricci
+
+	* src/Polyhedron.cc (space_dim.6): Added the dimension-consistency
+	  check in the function add_constraints_lazy and add_generators.
+	  In functions add_constraints and add_generators we use
+	  if(check_empty()) instead of	minimize() if(is_empty()) In
+	  functions add_constraints and add_constraints_lazy we resize the
+	  matrix of constraints that we add if	num_columns - 1 <
+	  space_dimension().
+
+2001-10-26 Friday 12:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Generator.defs.hh, Generator.inlines.hh (space_dim.[1,1]):
+	  The default constructor for Generator is now private and
+	  unimplemented.
+
+2001-10-26 Friday 11:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am, error5.cc, removedim.cc (space_dim.[3,1,2]):
+	  New test for dimension-compatibility in
+	  Polyhedron::remove_dimensions.  The test still fails because
+	  objects of set<Variable> do not provide ordered access to their
+	  elements (yet).
+
+2001-10-26 Friday 10:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am, removedim.cc, remuvedim.cc
+	  (space_dim.[2,1,2]): Test file "remuvedim.cc" renamed.
+
+2001-10-26 Friday 10:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (space_dim.5): Using begin() instead of max()
+	  to select the highest dimension variable from a set of variables.
+
+2001-10-26 Friday 10:34  Elisa Ricci
+
+	* tests/: Makefile.am, remuvedim.cc (space_dim.[1,1]): Added a test
+	  for the function remuve_dimensions(...).
+
+2001-10-26 Friday 10:34  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (space_dim.4): Some comments improved. Added
+	  dimension-compatibility checks to
+	  Polyhedron::remove_dimensions(...).
+
+2001-10-25 Thursday 23:21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc, tests/affinetrans.cc, tests/append1.cc,
+	  tests/append2.cc, tests/error3.cc, tests/permute.cc
+	  (space_dim.[3,1,1,1,1,2]): Going on ading the right
+	  dimension-compatibility checks.  Now the tests are all passed
+	  (some of them changed to declare polyhedra dimensions in the
+	  constructors, other changed by calling operator
+	  add_dimensions_and_embed).
+
+2001-10-25 Thursday 20:59  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Generator.cc (space_dim.1): Strange code indentation fixed.
+
+2001-10-25 Thursday 20:36  Elisa Ricci
+
+	* src/Polyhedron.cc (space_dim.2): In operator <=(x,y) we only need
+	  the generators of x and the constraints of y.  In functions
+	  intersection_assign and convex_hull, we did two checks of the
+	  dimension of the space (one with space_dimension() and the other
+	  with num_columns()).	In functions add_dimensions_and_embed and
+	  add_dimensions_and_project we have both the system of constraints
+	  and the system of generators minimized when we add some
+	  dimensions to a polyhedron in a 0-dimensional space.
+
+2001-10-25 Thursday 16:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc, src/Polyhedron.defs.hh,
+	  src/Polyhedron.inlines.hh, tests/permute.cc
+	  (space_dim.[1,3,1,1]): Added private member
+	  Polyhedron::space_dim, which stores the number of dimensions of
+	  the enclosing space.	Public member Polyhedron::num_dimensions()
+	  renamed into Polyhedron::space_dimension() and now reads the
+	  member space_dim.  Started modifying methods of the class
+	  Polyhedron so that they consistently use space_dimension() and
+	  space_dim.  Started guarding methods by suitable
+	  dimension-compatibility checks.
+
+2001-10-25 Thursday 11:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (space_dim.2): All comparison operators on
+	  Polyhedron throw an exception when the two polyhedra are
+	  dimension-incompatible.
+
+2001-10-25 Thursday 11:18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox, src/Polyhedron.defs.hh (space_dim.[1,1]):
+	  Added an informal specification for dimension-compatibility.	The
+	  specification of Polyhedron::insert now says that an exception is
+	  thrown if the argument is dimension-incompatible with the
+	  polyhedron.
+
+2001-10-24 Wednesday 20:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Generator.defs.hh (1.19), Polyhedron.cc (1.39),
+	  Polyhedron.defs.hh (1.49): Exceptions are thrown when polyhedra
+	  are dimension-incompatible.
+
+2001-10-24 Wednesday 20:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.30): Better explained the difference
+	  between the dimension of the polyhedron and the dimension of the
+	  enclosing space.  The terminology "dimension-consistent" added.
+	  Pointed out what seems to be a problem with empty polyhedrons
+	  (what is the dimensions of their enclosing space?)
+
+2001-10-24 Wednesday 14:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.29): A full scan on the user-manual
+	  portion of the introduction.	In particular: - added a
+	  proposition after Minkowsky's theorem for rational polyhedra; -
+	  preferring the use of \lambda wrt \mu for scalars; - yet another
+	  variation on the definition of extreme rays; - "non-negative"
+	  combinations are now "positive" combinations; - better explaining
+	  the border-line cases of the generators representation.
+
+2001-10-24 Wednesday 10:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.28): Doxygen does not accept "\f(" [and
+	  neither the potentially correct "\f\("] as a way to enter LaTeX
+	  mathematical environment.  Indexes of vectors goes from 0 to the
+	  dim-1.
+
+2001-10-23 Tuesday 20:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.7): Ready for distribution.
+
+2001-10-23 Tuesday 19:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.11): Distribute also the BUGS file.
+
+2001-10-23 Tuesday 19:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/Makefile.am (1.12): Produce and make available HTML
+	  documentation to be used off-line.
+
+2001-10-23 Tuesday 19:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* BUGS (1.1), NEWS (1.2), TODO (1.2): Initial versions of these
+	  files.
+
+2001-10-23 Tuesday 19:23  Elisa Ricci
+
+	* tests/: Makefile.am (1.18), affinetrans.cc (1.1): Added a test
+	  for the functions assign_variable and substitute_variable.
+
+2001-10-23 Tuesday 19:21  Elisa Ricci
+
+	* src/Polyhedron.cc (1.38): In function assign_variable and
+	  substitute_variable we must have size_t num_columns =
+	  x.num_dimensions() + 1 instead of size_t num_columns =
+	  x.con_sys(gen_sys).num_columns() because at this point we do not
+	  know which system we have.
+
+2001-10-23 Tuesday 18:52  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.27): A small improvement on the
+	  explanation of the representation by generators.
+
+2001-10-23 Tuesday 18:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.37), Polyhedron.defs.hh (1.48):
+	  Polyhedron::constraints() no longer throws an exception when
+	  *this is a zero-dimensional polyhedron (now it returns the empty
+	  system of constraints).  Polyhedron::generators() no longer
+	  throws an exception when *this is an empty polyhedron (now it
+	  returns the empty system of generators).
+
+2001-10-23 Tuesday 18:12  Elisa Ricci
+
+	* src/minimize.cc (1.4): We see the definitions in the Introduction
+	  and not in the file definition.dox.
+
+2001-10-23 Tuesday 18:09  Elisa Ricci
+
+	* src/Polyhedron.defs.hh (1.47): Typo fixed.
+
+2001-10-23 Tuesday 18:05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: Makefile.am (1.17), error4.cc (1.1): Added a test on the
+	  exception thrown when building a polyhedron by using a non-empty
+	  system of generators with no vertices.
+
+2001-10-23 Tuesday 17:57  Elisa Ricci
+
+	* src/Polyhedron.defs.hh (1.46): Added the explanation of why a
+	  parameter of a function is non-constant.
+
+2001-10-23 Tuesday 17:54  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.36): Exception messages now use the
+	  "function: message" convention.  The comment in
+	  PPL::Polyhedron::Polyhedron(GenSys& gs) related to the existence
+	  of a vertex improved.
+
+2001-10-23 Tuesday 17:27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.26): In the proposition after the
+	  definition of rays, we need to consider a non-empty polyhedron
+	  and a non-zero vector \vect{r}.  It is NOT true that extreme rays
+	  define _all_ the directions in which an arbitrary polyhedron is
+	  infinite.  Definition of line simplified. A typo fixed in
+	  definition of Minkowsky's sum.
+
+2001-10-23 Tuesday 16:50  Elisa Ricci
+
+	* src/Polyhedron.cc (1.35): In function
+	  Polyhedron::insert(Constraint), if we add a constraint to an
+	  empty polyhedron it remains empty.
+
+2001-10-23 Tuesday 16:35  Elisa Ricci
+
+	* src/: Polyhedron.cc (1.34), Polyhedron.defs.hh (1.45): When a
+	  polyhedron is built starting from a system of generators, this
+	  must have at least a vertex; otherwise an exception is thrown.
+
+2001-10-23 Tuesday 16:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Generator.cc (1.4), Generator.inlines.hh (1.9),
+	  Polyhedron.cc (1.33), Polyhedron.inlines.hh (1.8): Inlining is no
+	  longer requested for functions that may throw.
+
+2001-10-23 Tuesday 16:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.h.in (1.9), configure.ac (1.8), src/Makefile.am (1.12),
+	  src/Row.defs.hh (1.4), src/ppl_header.bottom (1.3),
+	  src/ppl_header.top (1.2): Better configuration and macro
+	  handling.
+
+2001-10-23 Tuesday 14:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.32): DLEVEL noise removed.
+
+2001-10-23 Tuesday 14:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.h.in (1.8), configure.ac (1.7), src/ConSys.cc (1.12),
+	  src/ConSys.defs.hh (1.20), src/ConSys.inlines.hh (1.5),
+	  src/Constraint.cc (1.3), src/Constraint.defs.hh (1.14),
+	  src/Constraint.inlines.hh (1.5), src/GenSys.cc (1.14),
+	  src/GenSys.defs.hh (1.29), src/GenSys.inlines.hh (1.5),
+	  src/Generator.cc (1.3), src/Generator.defs.hh (1.18),
+	  src/Generator.inlines.hh (1.8), src/LinExpression.cc (1.3),
+	  src/LinExpression.defs.hh (1.14), src/LinExpression.inlines.hh
+	  (1.4), src/Makefile.am (1.11), src/Matrix.cc (1.6),
+	  src/Matrix.defs.hh (1.6), src/Matrix.inlines.hh (1.4),
+	  src/Polyhedron.cc (1.31), src/Polyhedron.defs.hh (1.44),
+	  src/Polyhedron.inlines.hh (1.7), src/Row.cc (1.5),
+	  src/Row.defs.hh (1.3), src/Row.inlines.hh (1.5), src/SatMatrix.cc
+	  (1.6), src/SatMatrix.defs.hh (1.7), src/SatMatrix.inlines.hh
+	  (1.4), src/SatRow.cc (1.4), src/SatRow.defs.hh (1.7),
+	  src/SatRow.inlines.hh (1.4), src/Status.cc (1.6),
+	  src/Status.defs.hh (1.8), src/Status.inlines.hh (1.2),
+	  src/Variable.cc (1.3), src/Variable.defs.hh (1.8),
+	  src/Variable.inlines.hh (1.3), src/ppl_header.bottom (1.2): The
+	  INLINE/OUTLINE mechanism has gone: it caused too many problems.
+
+2001-10-23 Tuesday 14:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: GenSys.defs.hh (1.28), GenSys.inlines.hh (1.4): Inserting a
+	  generator in a GenSys automatically adjust the dimensions.
+	  Specialization of std:swap for GenSys's added.
+
+2001-10-23 Tuesday 14:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.defs.hh (1.19), ConSys.inlines.hh (1.4): Better
+	  documented the fact that, when inserting constraints in a ConSys,
+	  dimensions are automatically adjusted.  Added the specialization
+	  of function std:swap for ConSys's.
+
+2001-10-23 Tuesday 13:40  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/: definitions.dox (1.25), ppl.sty (1.5): Changes to allow for
+	  a decomposition when there are no vertices.
+
+2001-10-23 Tuesday 11:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.43): Brackets closing a namespace
+	  should be marked as in
+
+	  namespace Parma_Polyhedra_Library {	...  } // namespace
+	  Parma_Polyhedra_Library
+
+2001-10-23 Tuesday 11:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/SatMatrix.inlines.hh (1.3): Must include <cassert>.
+
+2001-10-23 Tuesday 11:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/maxmin.hh (1.2): Put everything in our namespace.
+
+2001-10-23 Tuesday 10:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.24): Changes to user introduction to
+	  clarify why a polyhedron represented by a system of generators
+	  needs a vertex.  On-going improvements to the developer's guide
+	  including the removal of some repeated definitions.  Minor bugs
+	  fixed.
+
+2001-10-23 Tuesday 10:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Makefile.am (1.16): INCLUDES now includes @extra_includes at .
+
+2001-10-23 Tuesday 09:53  Elisa Ricci
+
+	* src/: ConSys.cc (1.11), GenSys.cc (1.13), simplify.cc (1.5): For
+	  the definitions and the rules, we must see the Introduction
+	  instead of the file definitions.dox.	In the functions
+	  assign_variable and substitute_variable, the parameter "expr" is
+	  the "numerator" of affine expression.
+
+2001-10-23 Tuesday 09:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: ConSys.cc (1.10), Constraint.cc (1.2),
+	  Constraint.inlines.hh (1.4), GenSys.cc (1.12), LinExpression.cc
+	  (1.2), Matrix.cc (1.5), Matrix.inlines.hh (1.3), Row.cc (1.4),
+	  Row.inlines.hh (1.4), SatMatrix.cc (1.5): Do not request the
+	  inlining of functions containing loops.  Be consistent in the use
+	  of namespace names and aliases.
+
+2001-10-23 Tuesday 08:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.h.in (1.7), configure.ac (1.6),
+	  doc/user-browse.doxyconf-latex.in (1.7),
+	  doc/user-print.doxyconf-latex.in (1.7), doc/user.doxyconf-html.in
+	  (1.9), src/Makefile.am (1.10), src/Polyhedron.inlines.hh (1.6),
+	  src/ppl.cc (1.3), src/ppl_header.bottom (1.1), src/ppl_header.top
+	  (1.1), src/protect.sed (1.3), src/restore.sed (1.3),
+	  tests/append1.cc (1.3), tests/append2.cc (1.4), tests/empty1.cc
+	  (1.3), tests/error1.cc (1.4), tests/error2.cc (1.5),
+	  tests/error3.cc (1.4), tests/inters1.cc (1.5), tests/inters2.cc
+	  (1.6), tests/permute.cc (1.7), tests/print.hh (1.2),
+	  tests/randchull1.cc (1.6): The mechanism for automatically
+	  generating the header files has been rewritten from scratch.	We
+	  no longer depend on kcc: we use CXXCPP instead.  Avoid checking
+	  for header files we do not use.  Try to convince Doxygen not to
+	  sort things the way he wants, at least in user's documentation
+	  (SORT_MEMBER_DOCS = no).  Using std::invalid argument requires
+	  including <stdexcept>.  All tests should include the header file
+	  that will be installed (ppl_install.hh) so that we avoid checking
+	  against an already installed header (ppl.hh).
+
+2001-10-23 Tuesday 08:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Status.cc (1.5): Do not fight against emacs indentation
+	  rules.
+
+2001-10-22 Monday 19:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.defs.hh (1.18), GenSys.defs.hh (1.27): When using
+	  the doxygen command \code, indentation really matters and, for
+	  consistency, we should start with a 2-spaces indentation.
+
+2001-10-22 Monday 19:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Generator.defs.hh (1.17): Example on how to build vertices
+	  split into two parts: the first one shows how to build a generic
+	  vertex and, in particular, the origin of the space; the second
+	  one shows how to use the optional denominator argument.
+
+2001-10-22 Monday 19:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Status.cc (1.4), Status.defs.hh (1.7): An annoying warning
+	  about an unused argument dealt with by exploiting pre-processing
+	  macro NDEBUG.
+
+2001-10-22 Monday 16:18  Elisa Ricci
+
+	* src/: Polyhedron.cc (1.30), conversion.cc (1.6), simplify.cc
+	  (1.4): Used the notation of "vect{..}" for all the vectors that
+	  are in the comments.	The definitions and the rules must be seen
+	  in the "Introduction" instead of "definitions.dox" or
+	  "user_definitions.dox".
+
+2001-10-22 Monday 16:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Polyhedron.cc (1.29), Polyhedron.defs.hh (1.42): Now the
+	  argument `denominator' for methods Polyhedron::assign_variable
+	  and Polyhedron::substitute_variable is a _const_ Integer&,
+	  optional and with a default value of 1.
+
+2001-10-22 Monday 15:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.2): Updated.
+
+2001-10-22 Monday 15:18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/: error1.cc (1.3), error2.cc (1.4), error3.cc (1.3),
+	  inters2.cc (1.5), randchull1.cc (1.5): All tests updated to use
+	  the new functions line, ray and vertex.
+
+2001-10-22 Monday 15:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.cc (1.9), ConSys.defs.hh (1.17), GenSys.cc (1.11),
+	  GenSys.defs.hh (1.26), Generator.defs.hh (1.16),
+	  Generator.inlines.hh (1.7), Polyhedron.defs.hh (1.41): Operators
+	  |, ^, /= have now been replaced by functions `line', 'ray' and
+	  'vertex'. Note that the function vertex has an _optional_ second
+	  argument (the denominator), with default value 1.  Hopefully, all
+	  the documentation has been changed accordingly (please check).
+	  In GenSys and ConSys, now the functions assign_variable and
+	  substitute_variable take a _const_ Integer& as their third
+	  argument.  The same change cannot be applied to the corresponding
+	  functions defined on Polyhedron, since we perform a swap on this
+	  argument, so that it cannot be const.  However, I am now seeing
+	  if it is possible to have also these as "optional" arguments,
+	  with a default value of 1. Alas, I need to read the C++ manual in
+	  order to see how I can define a default value for a non-const
+	  argument passed by reference.
+
+2001-10-22 Monday 15:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.h.in (1.6), configure.ac (1.5),
+	  doc/devref-browse.doxyconf-latex.in (1.6),
+	  doc/devref-print.doxyconf-latex.in (1.6),
+	  doc/devref.doxyconf-html.in (1.7), src/.cvsignore (1.4),
+	  src/Makefile.am (1.9), src/SatRow.cc (1.3), src/SatRow.defs.hh
+	  (1.6), src/SatRow.inlines.hh (1.3): SatRow reimplemented from
+	  scratch: we no longer depend on the BitSet class.
+
+2001-10-22 Monday 14:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.23): Changed \alpha in the definition of
+	  affine transformations to \lambda.  Added a comment after the
+	  definition of "Combinations" that the empty sum is the origin.
+
+2001-10-22 Monday 10:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.22): Changes to wording and restructuring
+	  of the definition of Polyhedra.  New headings added : Constraints
+	  representation and Rational polyheron.  Heading "Generators"
+	  replaced by "Generators representation".  Wording in this
+	  definition changed
+
+2001-10-22 Monday 10:02  Elisa Ricci
+
+	* src/Polyhedron.defs.hh (1.40): In the comments, there was a
+	  system of constraints called "constraints" instead of "cs" and a
+	  variable called "var" instead of "v".
+
+2001-10-22 Monday 09:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Generator.defs.hh (1.15): Wording of comment on how to build
+	  a generator changed. Also minor changes to wording in the
+	  following examples.
+
+2001-10-22 Monday 09:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.21): I was wrong to remove the
+	  "^\transpose" in Weil's theorem - restored.
+
+2001-10-22 Monday 09:25  Elisa Ricci
+
+	* src/Polyhedron.defs.hh (1.39): In two examples, erased the spaces
+	  between the factor and the variable.
+
+2001-10-22 Monday 09:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.20): Comment at the end of Weil's theorem
+	  had "convex" and "positive" and "rays" and "vertices" wrong way
+	  round.  Minor change to wording introducing the two theorems.  In
+	  final comment of user part, "blurb" removed.
+
+2001-10-22 Monday 08:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.19): Removed spurious ^\transpose (^T) in
+	  Weil's theorem.  Added "dual representation" as heading and
+	  emphasised in text at end of user definitions.
+
+2001-10-21 Sunday 15:50  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.defs.hh (1.16), GenSys.defs.hh (1.25),
+	  Generator.defs.hh (1.14), Generator.inlines.hh (1.6),
+	  LinExpression.defs.hh (1.13), LinExpression.inlines.hh (1.3),
+	  Polyhedron.defs.hh (1.38): Systems of constraints and generators
+	  do not define polyhedra; rather, they may "correspond to" a given
+	  polyhedron (the one that would be built by applying the adequate
+	  constructor).  A system of generator does not need to include a
+	  vertex, in general.  The vertex is needed if the system of
+	  generators is meant to correspond to a non-empty polyhedron.	The
+	  detailed description of class Generator changed to highlight that
+	  vertices, lines and rays are represented as a type plus a
+	  direction in the space.
+
+2001-10-21 Sunday 14:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.10): CREDITS added to the distribution.
+
+2001-10-21 Sunday 13:04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.defs.hh (1.13), Constraint.inlines.hh (1.3): In
+	  the documentation, used n to denote the dimension of the space.
+	  In the renaming operator >>, the parameter p renamed into offset,
+	  consistently with the comment.  In the examples, removed spaces
+	  between factor and variable when specifying a linear expression
+	  (e.g., "3 * x + 4 * y" now is written "3*x + 4*y").
+
+2001-10-21 Sunday 13:01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox (1.18): When specifying the coordinates of a
+	  point, indexes should range from 0 to n-1, if n is the dimension
+	  of the space.  This is to be consistent with definition of class
+	  Variable.  Change applied to the definitions of scalar-product,
+	  of polytope and to Weil's theorem.  Note: I do not like to say a
+	  polyhedron is "open" in one direction; I prefer the terminology
+	  "unbounded", so I changed it.
+
+2001-10-21 Sunday 12:09  Elisa Ricci
+
+	* doc/definitions.dox (1.17): Restored some mathematical changes
+	  and used the notation "\vect{..}" for all the vectors (also in
+	  the part that is not in the user manual).
+
+2001-10-21 Sunday 11:56  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.defs.hh (1.12), Generator.defs.hh (1.13),
+	  Polyhedron.defs.hh (1.37), Variable.cc (1.2), Variable.defs.hh
+	  (1.7): In the documentation of the namespace PPL, all non-friend
+	  operators are now grouped consistently. I do not like very much
+	  the current header of each group ("Non-friend operators on
+	  objects ..." is maybe too much implementation-aware), but in any
+	  case it is definitely better than the default grouping header
+	  ("Functions").
+
+2001-10-21 Sunday 11:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* README (1.6): Now it is in sync with the home page of the www
+	  documentation.
+
+2001-10-21 Sunday 11:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: definitions.dox (1.16), ppl.sty (1.4): The new macro \vect
+	  inserted in ppl.sty; now the macro simply uses the latex command
+	  \mathbf, but we can modify its meaning as we like.  Had a run on
+	  definitions.dox to consistently use the new macro: be careful, in
+	  the future, to use 0 when a scalar is meant, and \vect{0} when
+	  the origin of the space is meant.  Also made small, readability
+	  related changes to Minkowsky's and Weil's theorems.
+
+2001-10-20 Saturday 21:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.5): Equation -> equality.
+
+2001-10-20 Saturday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.4): Almost complete: only the directory structure is
+	  missing.
+
+2001-10-20 Saturday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS (1.2): Just a formatting change.
+
+2001-10-20 Saturday 16:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: definitions.dox (1.15), devref.tex (1.5), user.tex (1.6):
+	  Footers fixed.  Put the blame on Doxygen.
+
+2001-10-20 Saturday 16:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* AUTHORS (1.2), CREDITS (1.1): Renamed and completed.
+
+2001-10-20 Saturday 12:22  Elisa Ricci
+
+	* doc/definitions.dox (1.14), src/Polyhedron.defs.hh (1.36): Moved
+	  the definition of the universe polyhedron after the definition of
+	  the polyhedron.
+
+2001-10-20 Saturday 11:47  Elisa Ricci
+
+	* src/: GenSys.cc (1.10), GenSys.defs.hh (1.24), Polyhedron.cc
+	  (1.28), Polyhedron.defs.hh (1.35), Status.defs.hh (1.6),
+	  conversion.cc (1.5): Now, we always use `system of' instead of
+	  `set of' for GenSys and ConSys.  In the comment of polyhedron
+	  added the explanation of what an universal polyhedron is.  Some
+	  changes to the comment of the exception: we say that they "have
+	  different dimension" instead of that they "do not have the same
+	  dimension".
+
+2001-10-20 Saturday 10:26  Elisa Ricci
+
+	* src/LinExpression.defs.hh (1.12): In the second part of the
+	  example, we can use  LinExpression e = LinExpression(14) instead
+	  of   LinExpression e = LinExpression(Integer(14)).
+
+2001-10-19 Friday 20:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: user-browse.doxyconf-latex.in (1.6),
+	  user-print.doxyconf-latex.in (1.6), user.doxyconf-html.in (1.8):
+	  No INTERNAL_DOCS, no INHERIT_DOCS, no FILE_PATTERNS, and no
+	  EXCLUDE_PATTERNS.
+
+2001-10-19 Friday 19:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: ConSys.defs.hh (1.15), GenSys.defs.hh (1.23): Use
+	  PPL_INTERNAL inheritance.
+
+2001-10-19 Friday 18:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.13): Generators and associated terminology
+	  now defined in the user section.  There is now some repetition of
+	  definitions in the developer's section.
+
+2001-10-19 Friday 17:27  Elisa Ricci
+
+	* src/: Polyhedron.cc (1.27), Polyhedron.defs.hh (1.34),
+	  Polyhedron.inlines.hh (1.5): Simplified the comment to the
+	  function swap.  Used `v' instead of `var', `dim' instead of
+	  `add_dim'.  All the ConSys are called `cs' and all the GenSys are
+	  called `gs'.	Used the expression "thrown if" to introduce the
+	  comment to the exceptions.  The variable is "substituted" in the
+	  function substitute_variable.
+
+2001-10-19 Friday 17:19  Elisa Ricci
+
+	* src/: ConSys.cc (1.8), ConSys.defs.hh (1.14), GenSys.cc (1.9),
+	  GenSys.defs.hh (1.22): The Generator is called `g' instead of `r'
+	  and the number that indicates the variable is called `v' instead
+	  of 'var'.
+
+2001-10-19 Friday 17:12  Elisa Ricci
+
+	* src/: Constraint.defs.hh (1.11), Generator.defs.hh (1.12):
+	  Constraint and Generator are :: PPL_INTERNAL Row instead of ::
+	  public Row (like LinExpression).
+
+2001-10-19 Friday 14:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.9), depcomp (1.2), install-sh (1.2), ppl.spec.in
+	  (1.6), doc/Makefile.am (1.11), doc/definitions.dox (1.12),
+	  doc/devref-browse.doxyconf-latex.in (1.5),
+	  doc/devref-print.doxyconf-latex.in (1.5),
+	  doc/devref.doxyconf-html.in (1.6), doc/gpl.dox (1.2),
+	  doc/user-browse.doxyconf-latex.in (1.5),
+	  doc/user-print.doxyconf-latex.in (1.5), doc/user.doxyconf-html.in
+	  (1.7), src/ConSys.cc (1.7), src/ConSys.defs.hh (1.13),
+	  src/ConSys.inlines.hh (1.3), src/Constraint.defs.hh (1.10),
+	  src/GenSys.cc (1.8), src/GenSys.defs.hh (1.21),
+	  src/GenSys.inlines.hh (1.3), src/Generator.defs.hh (1.11),
+	  src/LinExpression.defs.hh (1.11), src/Makefile.am (1.8),
+	  src/Matrix.cc (1.4), src/Matrix.defs.hh (1.5),
+	  src/Matrix.inlines.hh (1.2), src/Polyhedron.cc (1.26),
+	  src/Polyhedron.defs.hh (1.33), src/Polyhedron.inlines.hh (1.4),
+	  src/Row.cc (1.3), src/Row.inlines.hh (1.3), src/SatMatrix.cc
+	  (1.4), src/SatMatrix.defs.hh (1.6), src/SatMatrix.inlines.hh
+	  (1.2), src/SatRow.defs.hh (1.5), src/SatRow.inlines.hh (1.2),
+	  src/Status.cc (1.3), src/Status.defs.hh (1.5), src/conversion.cc
+	  (1.4), src/minimize.cc (1.3), src/simplify.cc (1.3),
+	  tests/Makefile.am (1.15), tests/append2.cc (1.3), tests/error2.cc
+	  (1.3), tests/inters1.cc (1.4), tests/inters2.cc (1.4),
+	  tests/permute.cc (1.6): Annoying trailing blanks removed.
+
+2001-10-19 Friday 14:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: LinExpression.defs.hh (1.10), LinExpression.inlines.hh
+	  (1.2): We now have only one sizing constructor, and it is
+	  private.
+
+2001-10-19 Friday 12:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: conversion.cc (1.3), minimize.cc (1.2), simplify.cc (1.2),
+	  Matrix.cc (1.3): Old junk removed.
+
+2001-10-19 Friday 12:15  Elisa Ricci
+
+	* src/: Polyhedron.cc (1.25), Polyhedron.defs.hh (1.32): In
+	  functions widening_assign and limited_widening_assign considered
+	  the case of empty-polyhedron and the exception for the different
+	  dimension of the polyhedra and the matrix (this for the
+	  limited_widening); added some explanations for the parameters.
+	  In function assign_variable and substitute_variable considered
+	  the exceptions for the variable that is not inside the polyhedron
+	  and the expression that does not have the right dimension.
+
+2001-10-19 Friday 09:57  Elisa Ricci
+
+	* doc/definitions.dox (1.11): Some mathematical changes.
+
+2001-10-19 Friday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.h.in (1.5), configure.ac (1.4): Add checks to determine
+	  the size of ints and longs.
+
+2001-10-19 Friday 09:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Polyhedron.defs.hh (1.31): Examples 4 to 7 simplified.
+
+2001-10-19 Friday 08:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: Polyhedron.defs.hh (1.30), Variable.defs.hh (1.6): Changes
+	  to English.
+
+2001-10-18 Thursday 18:51  Elisa Ricci
+
+	* src/: Polyhedron.cc (1.24), Polyhedron.defs.hh (1.29),
+	  Polyhedron.inlines.hh (1.3): In function add_dimensions_and_embed
+	  and add_dimensions_and_project the case of "add_dim" = 0 and the
+	  case of the empty polyhedron are considered.	In functions
+	  add_constraints, add_constraints_lazy, add_generators, generators
+	  and constraints instead of some assertion some exceptions are
+	  added.
+
+2001-10-18 Thursday 15:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: GenSys.defs.hh (1.20), LinExpression.defs.hh (1.9),
+	  Polyhedron.defs.hh (1.28): More improvements to the English.
+
+2001-10-18 Thursday 15:29  Elisa Ricci
+
+	* src/GenSys.defs.hh (1.19): The real name of the function is
+	  GenSys_Con_Rel satisfy(const Constraint& c) const and not
+	  GenSys_Con_Rel satisfy_constraint(const Constraint& c) const.
+
+2001-10-18 Thursday 14:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/GenSys.defs.hh (1.18): Just "specify" changed to "specifies".
+
+2001-10-18 Thursday 13:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/: ConSys.defs.hh (1.12), Constraint.defs.hh (1.9),
+	  GenSys.defs.hh (1.17), Generator.defs.hh (1.10): Changes to
+	  English.  In GenSys.defs.hh the explanation about a system of
+	  generators changed to:     An object of the class GenSys is a
+	  system of generators,     i.e. a container of objects of the
+	  class Generator     (lines, rays and vertices).      The set of
+	  generators must include at least one vertex.	    This is needed
+	  since a line or ray only specify a direction	    and a point is
+	  needed to indicate its position.
+
+2001-10-18 Thursday 12:40  Elisa Ricci
+
+	* src/: Polyhedron.cc (1.23), Polyhedron.defs.hh (1.27): Now the
+	  function  GenSys_Con_Rel poly_satisfies_constraint(const
+	  Constraint& con) is called  GenSys_Con_Rel satisfies(const
+	  Constraint& c).  Added the exception for the functions
+	  convex_hull_lazy(), satisfies() and includes().
+
+2001-10-18 Thursday 12:37  Elisa Ricci
+
+	* src/: GenSys.cc (1.7), GenSys.defs.hh (1.16): Now the function
+	  PPL::GenSys::satisfy_constraint(const Constraint& c) const is
+	  called PPL::GenSys::satisfy(const Constraint& c) const.
+
+2001-10-18 Thursday 11:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/ehandlers.hh (1.2): Call exit(1) instead of abort().
+
+2001-10-18 Thursday 11:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.14), append1.cc (1.2), ehandlers.hh (1.1):
+	  Set the handlers for unexpected and uncaught exceptions.
+
+2001-10-18 Thursday 09:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/GenSys.defs.hh (1.15): Small change to wording in
+	  GenSys_Con_Rel comment.
+
+2001-10-18 Thursday 09:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/permute.cc (1.5): Now the termination conditions are
+	  checked.
+
+2001-10-18 Thursday 08:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/permute.cc (1.4): Instead of giving the number of variables
+	  explicitly, it is obtained as needed using
+	  Polyhedron.num_dimensions.
+
+2001-10-18 Thursday 08:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/Makefile.am (1.10): Now `make world' also produces the
+	  licenses in various formats.
+
+2001-10-17 Wednesday 20:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.22): throw_different_dimensions() fixed.
+
+2001-10-17 Wednesday 20:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.13), permute.cc (1.3): Made quiet.
+
+2001-10-17 Wednesday 20:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/error3.cc (1.2): Fixed and made quiet.
+
+2001-10-17 Wednesday 20:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/append.cc (1.4): Renamed append1.cc.
+
+2001-10-17 Wednesday 20:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: append1.cc (1.1), append2.cc (1.2): Renamed.
+
+2001-10-17 Wednesday 19:37  Elisa Ricci
+
+	* tests/error3.cc (1.1): Tests whether convex_hull assign throws
+	  when it should.
+
+2001-10-17 Wednesday 19:33  Elisa Ricci
+
+	* src/: Polyhedron.cc (1.21), Polyhedron.defs.hh (1.26):
+	  Polyhedron::intersection_assign() and
+	  Polyhedron::convex_hull_assign() now throw an exception if asked
+	  to operate on polyhedra of different dimensions.
+
+2001-10-17 Wednesday 16:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/permute.cc (1.2): We now use the intended constraints.
+	  Termination is guaranteed by using Polyhedron::widening_assign().
+
+2001-10-17 Wednesday 16:31  Elisa Ricci
+
+	* src/: ConSys.defs.hh (1.11), ConSys.inlines.hh (1.2),
+	  GenSys.defs.hh (1.14), GenSys.inlines.hh (1.2): Added the
+	  function swap for GenSys and ConSys.
+
+2001-10-17 Wednesday 16:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/: Makefile.am (1.12), append2.cc (1.1), my_append.cc (1.2),
+	  permute.cc (1.1): The file my_append.cc renamed to append2.cc A
+	  new test program permute.cc added.  Makefile.am updated to
+	  include these tests.
+
+2001-10-17 Wednesday 16:08  Elisa Ricci
+
+	* src/: Polyhedron.cc (1.20), Polyhedron.defs.hh (1.25): Added
+	  comments of the parameters to some public functions of
+	  Polyhedron.
+
+2001-10-17 Wednesday 15:27  Elisa Ricci
+
+	* src/: ConSys.defs.hh (1.10), Constraint.defs.hh (1.8),
+	  GenSys.defs.hh (1.13), Polyhedron.defs.hh (1.24): Now, the
+	  definitions of the variables used in the examples are before the
+	  examples (they are not inside the examples).
+
+2001-10-17 Wednesday 15:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* tests/my_append.cc (1.1): A modified version of append.cc where
+	  code is structured into two procedures, one for the initial
+	  polyhedra and one for the fix-point.
+
+2001-10-17 Wednesday 12:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.10): Definitions of linearly independent
+	  and affinely independent improved.
+
+2001-10-17 Wednesday 12:38  Elisa Ricci
+
+	* src/: Constraint.defs.hh (1.7), Generator.defs.hh (1.9),
+	  LinExpression.defs.hh (1.8): Now, "friend" mathods are inside the
+	  class documentation of these class.  In the "Detail Description"
+	  of the class LinExpression there is the paragraph "How to build a
+	  linear expression".
+
+2001-10-17 Wednesday 12:03  Elisa Ricci
+
+	* src/Polyhedron.defs.hh (1.23): Used "check_not_empty" instead of
+	  "check_satisfiable" also in the comment of function
+	  Polyhedron::OK().
+
+2001-10-17 Wednesday 12:01  Elisa Ricci
+
+	* src/: ConSys.defs.hh (1.9), GenSys.defs.hh (1.12), Matrix.defs.hh
+	  (1.4), Polyhedron.cc (1.19), Polyhedron.defs.hh (1.22),
+	  SatMatrix.cc (1.3), SatMatrix.defs.hh (1.5), SatRow.defs.hh
+	  (1.4), Status.defs.hh (1.4): Changed the comments in the function
+	  OK().  In function Polyhedron::OK() used "check_not_empty"
+	  instead of "check_satisfiable".
+
+2001-10-17 Wednesday 11:05  Elisa Ricci
+
+	* src/: ConSys.cc (1.6), ConSys.defs.hh (1.8), GenSys.cc (1.6),
+	  GenSys.defs.hh (1.11), Polyhedron.cc (1.18), Polyhedron.defs.hh
+	  (1.21): In function assign_variable and substitute_variable and
+	  in their comments used "expr" instead of "coefficient".  Used the
+	  concatenation of two strings in the argument of
+	  std::invalid_argument(...).
+
+2001-10-17 Wednesday 11:03  Elisa Ricci
+
+	* src/Generator.inlines.hh (1.5): Used the concatenation of two
+	  strings in the argument of std::invalid_argument(...).
+
+2001-10-17 Wednesday 10:14  Elisa Ricci
+
+	* src/Polyhedron.defs.hh (1.20): Erased the temporary debug
+	  constructor of a polyhedron.
+
+2001-10-17 Wednesday 09:19  Elisa Ricci
+
+	* src/: ConSys.cc (1.5), ConSys.defs.hh (1.7), GenSys.cc (1.5),
+	  GenSys.defs.hh (1.10), Matrix.cc (1.2), Matrix.defs.hh (1.3),
+	  Polyhedron.cc (1.17), Polyhedron.defs.hh (1.19), SatMatrix.cc
+	  (1.2), SatMatrix.defs.hh (1.4), SatRow.cc (1.2), SatRow.defs.hh
+	  (1.3), Status.cc (1.2), Status.defs.hh (1.3): Now, there is not
+	  NDEBUG before the function OK.
+
+2001-10-17 Wednesday 07:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: ConSys.cc (1.4), GenSys.cc (1.4), Generator.inlines.hh
+	  (1.4), Makefile.am (1.7), Polyhedron.cc (1.16), Row.cc (1.2),
+	  Row.inlines.hh (1.2): Now Integer and BitSet are in the PPL
+	  namespace.  Other namespace-related fixes.  Exception strings
+	  improved.
+
+2001-10-16 Tuesday 19:05  Elisa Ricci
+
+	* src/: Constraint.defs.hh (1.6), Generator.defs.hh (1.8): Changed
+	  the place of the paragraph "How to build ...".  In the comment of
+	  'Generator operator /=' used std::invalid_argument instead of
+	  invalid_argument.
+
+2001-10-16 Tuesday 18:59  Elisa Ricci
+
+	* src/Polyhedron.defs.hh (1.18): Used std::invalid_argument instead
+	  of invalid_argument in the documentation of exception.
+
+2001-10-16 Tuesday 18:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/: definitions.dox (1.9), ppl.sty (1.3): More definitions
+	  added to ppl.sty.
+
+	  New definitions used in definitions.dox.  Layout of formula in
+	  Minkowski's theorem improved.
+
+2001-10-16 Tuesday 18:23  Elisa Ricci
+
+	* src/: ConSys.defs.hh (1.6), GenSys.defs.hh (1.9), Polyhedron.cc
+	  (1.15), Polyhedron.defs.hh (1.17), Status.defs.hh (1.2),
+	  conversion.cc (1.2): Used "\Rset" instead of "\mathbb{R}".
+
+2001-10-16 Tuesday 18:18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Constraint.defs.hh (1.5), LinExpression.defs.hh (1.7),
+	  Variable.defs.hh (1.5): Examples on the creation of linear
+	  expressions and constraints moved to the right place. Comment
+	  about variable names moved into the definition of the class
+	  Variable.
+
+2001-10-16 Tuesday 18:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Generator.defs.hh (1.7): The examples on how to build
+	  generators moved to the right place.
+
+2001-10-16 Tuesday 17:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: error1.cc (1.2), error2.cc (1.2): There is no point in
+	  including print.hh.
+
+2001-10-16 Tuesday 17:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/: definitions.dox (1.8), ppl.sty (1.2): Some logic notation
+	  and "things that hold by definition" added to ppl.sty \mathbb{R}
+	  replaced by \Rset in definitions.dox
+
+2001-10-16 Tuesday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.14), src/Polyhedron.defs.hh (1.16),
+	  src/Variable.defs.hh (1.4), src/Variable.inlines.hh (1.2),
+	  tests/append.cc (1.3): The argument of
+	  Polyhedron::remove_dimensions() has changed again.  Now it is
+	  remove_dimensions(const std::set<Variable>& to_be_removed).
+
+2001-10-16 Tuesday 17:24  Elisa Ricci
+
+	* tests/: Makefile.am (1.11), error2.cc (1.1): Added a test for the
+	  expception of Polyhedron::assign_variable.
+
+2001-10-16 Tuesday 17:12  Elisa Ricci
+
+	* src/Polyhedron.defs.hh (1.15): Commented the exception for the
+	  function assign_variable and substitute_variable.  Now, some
+	  important puclic function are in the user manual.
+
+2001-10-16 Tuesday 17:10  Elisa Ricci
+
+	* src/Generator.defs.hh (1.6): Commented the exception of the
+	  constructor of a vertex.
+
+2001-10-16 Tuesday 17:09  Elisa Ricci
+
+	* src/Generator.inlines.hh (1.3): A line has the inhomogeneus term
+	  equal to zero (like a ray).
+
+2001-10-16 Tuesday 16:40  Elisa Ricci
+
+	* src/GenSys.defs.hh (1.8): Added two examples that show that at
+	  least a vertex is necessary in a set of generators.
+
+2001-10-16 Tuesday 15:20  Elisa Ricci
+
+	* src/Polyhedron.cc (1.13): In functions assign_variable and
+	  substitute_variable tha case of denominator == 0 is considered.
+
+2001-10-16 Tuesday 15:11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: LinExpression.defs.hh (1.6), Variable.defs.hh (1.3): No
+	  longer using modules (\ingroup, \addgroup, etc.).
+
+2001-10-16 Tuesday 12:26  Elisa Ricci
+
+	* src/Polyhedron.cc (1.12): Erased a print.
+
+2001-10-16 Tuesday 12:23  Elisa Ricci
+
+	* src/: ConSys.cc (1.3), ConSys.defs.hh (1.5), GenSys.cc (1.3),
+	  GenSys.defs.hh (1.7): Corrected my previous error.
+
+2001-10-16 Tuesday 12:09  Elisa Ricci
+
+	* src/: Polyhedron.cc (1.11), Polyhedron.defs.hh (1.14): The
+	  functions assingn_variable and substitute_variable use a Variable
+	  instead od a size_t and a const LinExpression instead of a
+	  vector<Integer>.  In this functions, we use a copy of the `coeff'
+	  to find the inverse transformations.	Changed the example in
+	  according to these changes.
+
+2001-10-16 Tuesday 12:04  Elisa Ricci
+
+	* src/: ConSys.cc (1.2), ConSys.defs.hh (1.4): Now
+	  substitute_variable uses LinExpression instead of a
+	  vector<Integer>.
+
+2001-10-16 Tuesday 12:03  Elisa Ricci
+
+	* src/: GenSys.cc (1.2), GenSys.defs.hh (1.6): Now
+	  assign_variable(..) uses an LinExpression instead of a
+	  vector<Integer>.
+
+2001-10-16 Tuesday 11:59  Elisa Ricci
+
+	* src/LinExpression.defs.hh (1.5): Now LinExpression is
+	  PPL_INTERNAL Row, instead of private Row.
+
+2001-10-16 Tuesday 10:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Generator.inlines.hh (1.2), tests/Makefile.am (1.10),
+	  tests/error1.cc (1.1): Throw an invalid_argument exception if
+	  Generator operator /=(const LinExpression& e, const Integer& n)
+	  is called with n == 0.  New test program error1.cc to test
+	  whether this situation is correctly handled.
+
+2001-10-16 Tuesday 10:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.3): New incipit.
+
+2001-10-16 Tuesday 10:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: Matrix.defs.hh (1.2), Row.defs.hh (1.2), SatMatrix.defs.hh
+	  (1.3), SatRow.defs.hh (1.2): All the specializations of the
+	  std::swap function related to implementation classes are now
+	  hidden from the user guide.
+
+2001-10-16 Tuesday 10:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (1.5): Summary changed.  Packager also changed in
+	  view of PGP signatures.
+
+2001-10-16 Tuesday 10:20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.13): The parameter name of the
+	  "default" constructor for Polyhedron is `kind'.  Hal the comment
+	  was using a different parameter name (`full').
+
+2001-10-16 Tuesday 10:15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/GenSys.defs.hh (1.5): In the examples, replaced "\=" by "/=".
+
+2001-10-16 Tuesday 10:13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Generator.defs.hh (1.5): In the examples for defining
+	  vectors, all "\=" replaced by "/=".
+
+2001-10-16 Tuesday 08:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.lsm.in (1.2), src/Polyhedron.cc (1.10),
+	  src/Polyhedron.defs.hh (1.12), tests/append.cc (1.2): New
+	  interface for remove_dimensions(const std::vector<unsigned int>&
+	  to_be_removed).  Note: BitSet is an implementation detail that
+	  should not surface in the API.
+
+2001-10-16 Tuesday 07:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (1.4): First attempt at the LSM (Linux Software Map)
+	  entry form.
+
+2001-10-15 Monday 20:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.9), append.cc (1.1): A first at the
+	  append's analysis test.
+
+2001-10-15 Monday 20:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/randchull1.cc (1.4): Do less work.
+
+2001-10-15 Monday 20:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/empty1.cc (1.2): Must return an int, not a bool.
+
+2001-10-15 Monday 18:35  Elisa Ricci
+
+	* src/Polyhedron.cc (1.9): Erased the "assert(OK())" from the
+	  function Polyhedron::insert(const Generator&): after an insertion
+	  of a generator the polyhedron can be not OK.
+
+2001-10-15 Monday 18:24  Elisa Ricci
+
+	* src/Polyhedron.defs.hh (1.11): Added a new example to show the
+	  use of the function Polyhedron::insert(...).
+
+2001-10-15 Monday 18:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.8), src/Polyhedron.defs.hh (1.10),
+	  tests/Makefile.am (1.8), tests/empty1.cc (1.1): It is not
+	  possible to overload bool and unsigned int.  New enumeration
+	  Degenerate_Kind added with vales ZERO_DIMENSIONAL and EMPTY.	The
+	  constructor Polyhedron(Degenerate_Kind kind = ZERO_DIMENSIONAL)
+	  does the expected thing.  The program empty1.cc exemplifies two
+	  methods of obtaining an empty polyhedron.
+
+2001-10-15 Monday 18:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/Makefile.am (1.9): ppl.sty must also be distributed.
+
+2001-10-15 Monday 17:14  Elisa Ricci
+
+	* src/: Polyhedron.cc (1.7), Polyhedron.defs.hh (1.9): Now the
+	  default constructor of a polyhedron has a default argument.  If
+	  `full' is false, it builds an empty polyhedron (it has the flag
+	  set to empty); otherwise, if it has the default value (i.e.
+	  true), it bulids a zero-dimensional polyhedron.
+
+2001-10-15 Monday 16:44  Elisa Ricci
+
+	* src/Polyhedron.cc (1.6): If we build a polyhedron starting from a
+	  matrix of generators with no rows the polyhedron is empty.
+
+2001-10-15 Monday 16:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/Makefile.am (1.8): Use an absolute path for adding to
+	  TEXINPUTS.
+
+2001-10-15 Monday 15:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/.cvsignore (1.3): Here is the Integer class again.
+
+2001-10-15 Monday 15:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.inlines.hh (1.2): Multiple inclusion guard added.
+
+2001-10-15 Monday 15:20  Elisa Ricci
+
+	* src/Polyhedron.cc (1.5): In the constructors of a polyhedron that
+	  use a system of constraints or a set of generators these matrices
+	  must be at least two columns.  In the function
+	  remove_dimensions(..) if the matrix of generators does not have
+	  at least two columns (i.e num_columns() <= 1) the polyhedron
+	  becomes zero-dimensional and so we clear the `con_sys' and
+	  `gen_sys'.  In function insert(const Constraint& c) if the
+	  polyhedron is zero-dimensional we add also the positivity
+	  constraint.  In functions insert(...) it is no longer necessary
+	  clear `con_sys' and `gen_sys' before adding a row if the
+	  polyhedron is zero-dimensional.  In function OK(), we verify if
+	  in a zero-dimensional polyhedron `con_sys' and `gen_sys' have no
+	  rows.
+
+2001-10-15 Monday 15:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: Makefile.am (1.7), devref-browse.doxyconf-latex.in (1.4),
+	  devref-print.doxyconf-latex.in (1.4), devref.doxyconf-html.in
+	  (1.5), devref.tex (1.4), ppl.sty (1.1),
+	  user-browse.doxyconf-latex.in (1.4), user-print.doxyconf-latex.in
+	  (1.4), user.doxyconf-html.in (1.6), user.tex (1.5): New LaTeX
+	  commands can now be defined in ppl.sty and then freely used in
+	  the doxygen and LaTeX sources.  This works also when producing
+	  HTML pages.
+
+2001-10-15 Monday 13:59  Elisa Ricci
+
+	* src/Polyhedron.defs.hh (1.8): Rewrite a part of the brief
+	  description of the class Polyhedron.	Added some more expanation
+	  for the examples 5 and 6.
+
+2001-10-15 Monday 12:19  Elisa Ricci
+
+	* src/SatMatrix.defs.hh (1.2): Added a briefly description for the
+	  saturation matrix.
+
+2001-10-15 Monday 11:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (1.3): Now we build a relocatable package.
+
+2001-10-15 Monday 11:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl.spec.in (1.2): A first cut at a working RPM spec file.
+
+2001-10-15 Monday 09:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.6): It is now possible for the build directory
+	  to be the same as the source directory.
+
+2001-10-14 Sunday 22:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* INSTALL (1.2), missing (1.2), mkinstalldirs (1.3): Updated.
+
+2001-10-14 Sunday 21:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.8), configure.ac (1.3), doc/Makefile.am (1.6),
+	  m4/Makefile.am (1.2), src/Makefile.am (1.5), tests/Makefile.am
+	  (1.7): Several packaging bugs have been fixed: now `make
+	  distcheck' is OK.
+
+2001-10-14 Sunday 21:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: devref-browse.doxyconf-latex.in (1.3),
+	  devref-print.doxyconf-latex.in (1.3), devref.doxyconf-html.in
+	  (1.4), user-browse.doxyconf-latex.in (1.3),
+	  user-print.doxyconf-latex.in (1.3), user.doxyconf-html.in (1.5):
+	  The sysdep directory does not exist anymore.
+
+2001-10-14 Sunday 14:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.7), doc/Makefile.am (1.5), doc/definitions.dox
+	  (1.7), doc/devref-browse.doxyconf-latex.in (1.2),
+	  doc/devref-print.doxyconf-latex.in (1.2),
+	  doc/devref.doxyconf-html.in (1.3), doc/fdl.dox (1.1), doc/fdl.tex
+	  (1.1), doc/gfdl.dox (1.2), doc/gpl.tex (1.1), doc/gpl.texi (1.2),
+	  doc/gpl.texinfo (1.2), doc/texinfo.tex (1.2),
+	  doc/user-browse.doxyconf-latex.in (1.2),
+	  doc/user-print.doxyconf-latex.in (1.2), doc/user.doxyconf-html.in
+	  (1.4): Documentation reorganized.
+
+2001-10-14 Sunday 11:46  Elisa Ricci
+
+	* src/Polyhedron.cc (1.4): In functions Polyhedron::insert(const
+	  Constraint& c) e Polyhedron::insert(const Constraint& c) the case
+	  of a zero-dimensional polyhedron is considered.
+
+2001-10-13 Saturday 21:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/Polyhedra.texinfo (1.3): Was never meant to be here.
+
+2001-10-13 Saturday 19:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.h.in (1.4), configure.ac (1.2): Configuration fixed in
+	  various respects.
+
+	  Please note that:
+
+	  - debugging (-g) is ON by default; - standard optimization (-O2)
+	  is THE default; - run-time assertions are OFF by default.
+
+2001-10-13 Saturday 19:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Makefile.am (1.4), ppl.cc (1.2), protect.sed (1.2),
+	  restore.sed (1.2): Generation of libppl.a and ppl.hh fixed.
+
+2001-10-13 Saturday 19:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.6), inters1.cc (1.3), inters2.cc (1.3),
+	  randchull1.cc (1.3): Programs using the PPL need only include
+	  ppl.hh.
+
+2001-10-13 Saturday 19:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.cc (1.3), tests/randchull1.cc (1.2): It is now
+	  possible to insert a generator into an empty polyhedron.
+
+2001-10-13 Saturday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.6), acconfig.h (1.2), acinclude.m4 (1.1),
+	  config.guess (1.2), config.h.in (1.3), config.sub (1.2),
+	  configure.ac (1.1), configure.in (1.5), doc/Makefile.am (1.4),
+	  m4/.cvsignore (1.1), src/Makefile.am (1.3), tests/Makefile.am
+	  (1.5): Upgraded to newer versions of autoconf.  Use the new
+	  checks for detecting GMP.
+
+2001-10-13 Saturday 12:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.5), m4/Makefile.am (1.1),
+	  m4/ac_check_gmp_exceptions.m4 (1.1), m4/ac_check_have_gmp.m4
+	  (1.1): New tests to check whether GMP is installed and, if so,
+	  whether it was compiled with -fexceptions.
+
+2001-10-13 Saturday 10:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* .cvsignore (1.4), Makefile.am (1.4), Makefile.in (1.4),
+	  aclocal.m4 (1.2), configure (1.5), stamp-h.in (1.2),
+	  doc/.cvsignore (1.1), doc/Makefile.am (1.3), doc/Makefile.in
+	  (1.3), src/.cvsignore (1.2), src/Makefile.in (1.3),
+	  tests/.cvsignore (1.1), tests/Makefile.in (1.5): Automatically
+	  generated  files should not be in the repository and their
+	  presence in the directory structure should be ignored.
+
+2001-10-12 Friday 22:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure (1.4), configure.in (1.4), doc/Makefile.am (1.2),
+	  doc/Makefile.in (1.2), doc/devref-browse.doxyconf-latex.in (1.1),
+	  doc/devref-print.doxyconf-latex.in (1.1),
+	  doc/devref.doxyconf-pdf.in (1.3), doc/devref.tex (1.3),
+	  doc/user-browse.doxyconf-latex.in (1.1),
+	  doc/user-print.doxyconf-latex.in (1.1), doc/user.doxyconf-pdf.in
+	  (1.4), doc/user.tex (1.4): Several improvements to the
+	  documentation.  We now produce docs for printing and docs for
+	  browsing
+
+2001-10-12 Friday 18:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: devref.doxyconf-html.in (1.2), devref.doxyconf-pdf.in
+	  (1.2), user.doxyconf-html.in (1.3), user.doxyconf-pdf.in (1.3),
+	  user.tex (1.3): The project name is "Parma Polyhedra Library",
+	  "PPL" for short.
+
+2001-10-12 Friday 18:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.4), Makefile.in (1.4), randchull1.cc
+	  (1.1): New test computing convex-hulls of random polytopes.
+
+2001-10-12 Friday 17:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.6): Title of document changed.  Sections
+	  changed so that there are two sections, an introduction to
+	  polyhedra and a more advanced section which talks about the PPL
+	  implementation.  Comment about vertices differing from rays only
+	  in the n+1'th  term moved to before "Valid linear inequalities"
+	  paragraph.
+
+2001-10-12 Friday 17:09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: Makefile.am (1.2), Makefile.in (1.2): Header file ppl.hh is
+	  now guarded against multiple inclusion.
+
+2001-10-12 Friday 17:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Generator.cc (1.2): Bug fixed: a vertex in the origin was
+	  printed as "v()" instead of "v(0)".
+
+2001-10-12 Friday 16:51  Elisa Ricci
+
+	* src/: Polyhedron.cc (1.2), Polyhedron.defs.hh (1.7): Added the
+	  function Polyhedron::insert(const Generator& g).
+
+2001-10-12 Friday 16:36  Elisa Ricci
+
+	* src/Polyhedron.defs.hh (1.6): Added other two examples: one is
+	  for the use of assign_variable(...) and the other is for the use
+	  of substitute_variable(...).
+
+2001-10-12 Friday 15:44  Elisa Ricci
+
+	* src/Polyhedron.defs.hh (1.5): Corrected a my error: to build a
+	  vertex "/=" is needed instead of "\=".
+
+2001-10-12 Friday 15:12  Elisa Ricci
+
+	* src/Polyhedron.defs.hh (1.4): Added two examples to the comment:
+	  one to specify the use of add_dimensions_and_embed(..) and the
+	  other to specify the use of add_dimensions_and_project(...).
+	  Corrected an error in a formula: now in the comment of
+	  convex_hull(...) and convex_hull_lazy(..) there is \f$\cup\f$
+	  instead of \f$\union\f$ (that caused an error in Latex).
+
+2001-10-12 Friday 15:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/inters2.cc (1.2): Fixed and extended.
+
+2001-10-12 Friday 14:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.3), Makefile.in (1.3), inters1.cc (1.2),
+	  inters2.cc (1.1), print.hh (1.1): print.hh contains functions
+	  that are useful for printing polyhedra.  inters1.cc improved.
+	  New test inters2.cc computing the intersection of a pyramid with
+	  an half-space of variable height, then counting the number of
+	  vertices of the resulting polytope (the empty polyhedron, a
+	  proper frustum, or a singleton).
+
+2001-10-12 Friday 13:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.5): Section on the "equivalence of
+	  homogeneous and inhomogeneous systems" (up to the paragraph
+	  called "Valid linear inequalities") changed and reworded.  Title
+	  of section changed to "Homogeneous systems".
+
+2001-10-12 Friday 10:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.2), doc/Polyhedra.texinfo (1.2), tests/Makefile.am
+	  (1.2), tests/Makefile.in (1.2): Bump copyright year.
+
+2001-10-12 Friday 09:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.3), Makefile.in (1.3), config.h.in (1.2),
+	  configure (1.3), configure.in (1.3), tests/Makefile.am (1.1),
+	  tests/Makefile.in (1.1), tests/inters1.cc (1.1): Infrastructure
+	  for the tests directory and `make check'.  inters1.cc is a first
+	  example of how test programs could be written.
+
+2001-10-11 Thursday 17:37  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh (1.3): Added a backslash to mathbb in the
+	  second example.  Removing empty lines that were causing Examples
+	  1 and 2 to end prematurely.
+
+2001-10-11 Thursday 17:00  Elisa Ricci
+
+	* src/Polyhedron.defs.hh (1.2): Added two examples to the comment:
+	  one is for the construction of a square using the constraints and
+	  the generators. The other is for the construction of an
+	  half-strip using the constraints and the generators.
+
+2001-10-11 Thursday 16:57  Elisa Ricci
+
+	* src/GenSys.defs.hh (1.4): Added another example for the
+	  construction of a set of generators (it builds an half-strip).
+
+2001-10-11 Thursday 16:56  Elisa Ricci
+
+	* src/ConSys.defs.hh (1.3): Added another example for the
+	  constraction of a system of constraints (it builds an
+	  half-strip).
+
+2001-10-11 Thursday 16:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.4): The paragraph "The Minkowski's
+	  theorem" renamed to	"Minkowski's theorem.  The condition
+	  "rank(A) = n" changed to   "where A is a matrix of rank n".  The
+	  note following the definition is reworded so that the
+	  conditions are not bracketed.  "Linear equalities and
+	  inequalities" has been   changed to "constraints".  "positive
+	  multiples of each inequality and ray" has been    changed to
+	  "positive multiples of each constraint and ray".  The word "the"
+	  inserted where necessary.
+
+	  The paragraph "The Weil's theorem" renamed to "Weil's theorem.
+
+2001-10-11 Thursday 16:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Constraint.defs.hh (1.4): In the examples, variable "cs"
+	  renamed into "inequal" and "equal".
+
+2001-10-11 Thursday 15:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.3): In the definition of rays:  P is
+	  defined before P_0;  A and b are defined;  inserted "any point"
+	  before r; The comment that a ray is the direction in which P is
+	  infinite, moved from within the statement of the proposition to
+	  before the proposition and reworded.
+
+	  In the definition of lines, wording improved.  Comment relating
+	  opposite rays with lines made into a separate paragraph. It is
+	  not part of the definition.
+
+2001-10-11 Thursday 14:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/LinExpression.defs.hh (1.4): In the first two examples,
+	  variable z now has index 2 (using index 5 was correct, but a bit
+	  misleading).
+
+2001-10-11 Thursday 14:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Generator.defs.hh (1.4): IN the first example, variable "g"
+	  renamed as "line".
+
+2001-10-11 Thursday 14:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Generator.defs.hh (1.3): Examples modified:  - using more
+	  meaningful names (line, ray and vertex) for Generator variables;
+	  - explained that the first argument of operators | and ^ is
+	  meaningless;	- explained how to use the second argument of /= to
+	  obtain vertices    with non-integral coefficients.
+
+2001-10-11 Thursday 14:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/GenSys.defs.hh (1.3): In the first example, Variable y(0)
+	  changed in Variable y(1) to avoid dimension clash with Variable
+	  x(0).  In the second example, the computation of the past-the-end
+	  iterator moved outside the for-loop.
+
+2001-10-11 Thursday 13:53  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: ConSys.defs.hh (1.2), Constraint.defs.hh (1.3),
+	  Constraint.inlines.hh (1.2): Friend members building a constraint
+	  using operators < and > removed.  Example changed accordingly.
+	  In the example on the use of iterators for ConSys, the
+	  past-the-end iterator is now computed only once before the
+	  for-loop.
+
+2001-10-11 Thursday 13:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: user.doxyconf-html.in (1.2), user.doxyconf-pdf.in (1.2): Do
+	  not show inheritance graphs or diagrams.  Do not show a thousands
+	  times that the only PPL header file is ppl.hh.
+
+2001-10-11 Thursday 13:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: devref.tex (1.2), user.tex (1.2): Tatiana's email address
+	  fixed.  Better titles.
+
+2001-10-11 Thursday 13:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/definitions.dox (1.2): In the definition of the combinations,
+	  the p_1,...,p_k are changed to x_1,...,x_k.  In the definition of
+	  scalar product: "vector" is changed to "vectors".  In the
+	  definition of polyhedra there are a number of changes to
+	  notation, the definitions of the notation and to the wording.
+
+2001-10-11 Thursday 12:38  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: LinExpression.defs.hh (1.3), Variable.defs.hh (1.2): Some
+	  errors (just introduced by me) removed.  Methods of class
+	  Variable added to group LinExpression.
+
+2001-10-11 Thursday 12:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/LinExpression.defs.hh (1.2): A few changes in the example.
+
+2001-10-11 Thursday 11:22  Elisa Ricci
+
+	* src/Generator.defs.hh (1.2): Added three examples: one for the
+	  construction of a line, one for the construction of a ray and the
+	  other for the construction of a vertex.
+
+2001-10-11 Thursday 11:19  Elisa Ricci
+
+	* src/GenSys.defs.hh (1.2): Added an example in the comment: it is
+	  useful to specify the construction of a set of generators.
+
+2001-10-11 Thursday 11:16  Elisa Ricci
+
+	* src/Constraint.defs.hh (1.2): Added two examples in the comment:
+	  one for the building of an inequality and the other for the
+	  building of an equality.
+
+2001-10-11 Thursday 08:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.2), Makefile.in (1.2), configure (1.2),
+	  configure.in (1.2): Disable the test directory.
+
+2001-10-11 Thursday 08:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* .cvsignore (1.3), src/.cvsignore (1.1): My mistake: BitSet and
+	  Integer are subdirectories of src.
+
+2001-10-11 Thursday 08:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* .cvsignore (1.2): Ignore the BitSet and Integer subdirectories:
+	  they must be here and must be ignored by CVS.
+
+2001-10-10 Wednesday 21:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* mkinstalldirs (1.2): $Id tag removed.
+
+2001-10-10 Wednesday 21:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* .cvsignore (1.1.1.1), AUTHORS (1.1.1.1), COPYING (1.1.1.1),
+	  ChangeLog (1.1.1.1), INSTALL (1.1.1.1), Makefile.am (1.1.1.1),
+	  Makefile.in (1.1.1.1), NEWS (1.1.1.1), README (1.1.1.1), TODO
+	  (1.1.1.1), acconfig.h (1.1.1.1), aclocal.m4 (1.1.1.1),
+	  config.guess (1.1.1.1), config.h.in (1.1.1.1), config.sub
+	  (1.1.1.1), configure (1.1.1.1), configure.in (1.1.1.1), depcomp
+	  (1.1.1.1), install-sh (1.1.1.1), missing (1.1.1.1), mkinstalldirs
+	  (1.1.1.1), ppl.lsm.in (1.1.1.1), ppl.spec.in (1.1.1.1),
+	  stamp-h.in (1.1.1.1), doc/Makefile.am (1.1.1.1), doc/Makefile.in
+	  (1.1.1.1), doc/Polyhedra.texinfo (1.1.1.1), doc/definitions.dox
+	  (1.1.1.1), doc/devref.doxyconf-html.in (1.1.1.1),
+	  doc/devref.doxyconf-pdf.in (1.1.1.1), doc/devref.tex (1.1.1.1),
+	  doc/gfdl.dox (1.1.1.1), doc/gpl.dox (1.1.1.1), doc/gpl.texi
+	  (1.1.1.1), doc/gpl.texinfo (1.1.1.1), doc/texinfo.tex (1.1.1.1),
+	  doc/user.doxyconf-html.in (1.1.1.1), doc/user.doxyconf-pdf.in
+	  (1.1.1.1), doc/user.tex (1.1.1.1), src/ConSys.cc (1.1.1.1),
+	  src/ConSys.defs.hh (1.1.1.1), src/ConSys.inlines.hh (1.1.1.1),
+	  src/ConSys.types.hh (1.1.1.1), src/Constraint.cc (1.1.1.1),
+	  src/Constraint.defs.hh (1.1.1.1), src/Constraint.inlines.hh
+	  (1.1.1.1), src/Constraint.types.hh (1.1.1.1), src/GenSys.cc
+	  (1.1.1.1), src/GenSys.defs.hh (1.1.1.1), src/GenSys.inlines.hh
+	  (1.1.1.1), src/GenSys.types.hh (1.1.1.1), src/Generator.cc
+	  (1.1.1.1), src/Generator.defs.hh (1.1.1.1),
+	  src/Generator.inlines.hh (1.1.1.1), src/Generator.types.hh
+	  (1.1.1.1), src/LinExpression.cc (1.1.1.1),
+	  src/LinExpression.defs.hh (1.1.1.1), src/LinExpression.inlines.hh
+	  (1.1.1.1), src/LinExpression.types.hh (1.1.1.1), src/Makefile.am
+	  (1.1.1.1), src/Makefile.in (1.1.1.1), src/Matrix.cc (1.1.1.1),
+	  src/Matrix.defs.hh (1.1.1.1), src/Matrix.inlines.hh (1.1.1.1),
+	  src/Matrix.types.hh (1.1.1.1), src/Polyhedron.cc (1.1.1.1),
+	  src/Polyhedron.defs.hh (1.1.1.1), src/Polyhedron.inlines.hh
+	  (1.1.1.1), src/Polyhedron.types.hh (1.1.1.1), src/Row.cc
+	  (1.1.1.1), src/Row.defs.hh (1.1.1.1), src/Row.inlines.hh
+	  (1.1.1.1), src/Row.types.hh (1.1.1.1), src/SatMatrix.cc
+	  (1.1.1.1), src/SatMatrix.defs.hh (1.1.1.1),
+	  src/SatMatrix.inlines.hh (1.1.1.1), src/SatMatrix.types.hh
+	  (1.1.1.1), src/SatRow.cc (1.1.1.1), src/SatRow.defs.hh (1.1.1.1),
+	  src/SatRow.inlines.hh (1.1.1.1), src/SatRow.types.hh (1.1.1.1),
+	  src/Status.cc (1.1.1.1), src/Status.defs.hh (1.1.1.1),
+	  src/Status.inlines.hh (1.1.1.1), src/Status.types.hh (1.1.1.1),
+	  src/Variable.cc (1.1.1.1), src/Variable.defs.hh (1.1.1.1),
+	  src/Variable.inlines.hh (1.1.1.1), src/Variable.types.hh
+	  (1.1.1.1), src/conversion.cc (1.1.1.1), src/globals.cc (1.1.1.1),
+	  src/globals.hh (1.1.1.1), src/maxmin.hh (1.1.1.1),
+	  src/minimize.cc (1.1.1.1), src/ppl.cc (1.1.1.1), src/protect.sed
+	  (1.1.1.1), src/restore.sed (1.1.1.1), src/simplify.cc (1.1.1.1):
+	  Imported into the new repository.
+
+2001-10-10 Wednesday 21:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* .cvsignore (1.1), AUTHORS (1.1), COPYING (1.1), ChangeLog (1.1),
+	  INSTALL (1.1), Makefile.am (1.1), Makefile.in (1.1), NEWS (1.1),
+	  README (1.1), TODO (1.1), acconfig.h (1.1), aclocal.m4 (1.1),
+	  config.guess (1.1), config.h.in (1.1), config.sub (1.1),
+	  configure (1.1), configure.in (1.1), depcomp (1.1), install-sh
+	  (1.1), missing (1.1), mkinstalldirs (1.1), ppl.lsm.in (1.1),
+	  ppl.spec.in (1.1), stamp-h.in (1.1), doc/Makefile.am (1.1),
+	  doc/Makefile.in (1.1), doc/Polyhedra.texinfo (1.1),
+	  doc/definitions.dox (1.1), doc/devref.doxyconf-html.in (1.1),
+	  doc/devref.doxyconf-pdf.in (1.1), doc/devref.tex (1.1),
+	  doc/gfdl.dox (1.1), doc/gpl.dox (1.1), doc/gpl.texi (1.1),
+	  doc/gpl.texinfo (1.1), doc/texinfo.tex (1.1),
+	  doc/user.doxyconf-html.in (1.1), doc/user.doxyconf-pdf.in (1.1),
+	  doc/user.tex (1.1), src/ConSys.cc (1.1), src/ConSys.defs.hh
+	  (1.1), src/ConSys.inlines.hh (1.1), src/ConSys.types.hh (1.1),
+	  src/Constraint.cc (1.1), src/Constraint.defs.hh (1.1),
+	  src/Constraint.inlines.hh (1.1), src/Constraint.types.hh (1.1),
+	  src/GenSys.cc (1.1), src/GenSys.defs.hh (1.1),
+	  src/GenSys.inlines.hh (1.1), src/GenSys.types.hh (1.1),
+	  src/Generator.cc (1.1), src/Generator.defs.hh (1.1),
+	  src/Generator.inlines.hh (1.1), src/Generator.types.hh (1.1),
+	  src/LinExpression.cc (1.1), src/LinExpression.defs.hh (1.1),
+	  src/LinExpression.inlines.hh (1.1), src/LinExpression.types.hh
+	  (1.1), src/Makefile.am (1.1), src/Makefile.in (1.1),
+	  src/Matrix.cc (1.1), src/Matrix.defs.hh (1.1),
+	  src/Matrix.inlines.hh (1.1), src/Matrix.types.hh (1.1),
+	  src/Polyhedron.cc (1.1), src/Polyhedron.defs.hh (1.1),
+	  src/Polyhedron.inlines.hh (1.1), src/Polyhedron.types.hh (1.1),
+	  src/Row.cc (1.1), src/Row.defs.hh (1.1), src/Row.inlines.hh
+	  (1.1), src/Row.types.hh (1.1), src/SatMatrix.cc (1.1),
+	  src/SatMatrix.defs.hh (1.1), src/SatMatrix.inlines.hh (1.1),
+	  src/SatMatrix.types.hh (1.1), src/SatRow.cc (1.1),
+	  src/SatRow.defs.hh (1.1), src/SatRow.inlines.hh (1.1),
+	  src/SatRow.types.hh (1.1), src/Status.cc (1.1),
+	  src/Status.defs.hh (1.1), src/Status.inlines.hh (1.1),
+	  src/Status.types.hh (1.1), src/Variable.cc (1.1),
+	  src/Variable.defs.hh (1.1), src/Variable.inlines.hh (1.1),
+	  src/Variable.types.hh (1.1), src/conversion.cc (1.1),
+	  src/globals.cc (1.1), src/globals.hh (1.1), src/maxmin.hh (1.1),
+	  src/minimize.cc (1.1), src/ppl.cc (1.1), src/protect.sed (1.1),
+	  src/restore.sed (1.1), src/simplify.cc (1.1): Initial revision
+
diff --git a/INSTALL b/INSTALL
index 8b82ade..7d1c323 100644
--- a/INSTALL
+++ b/INSTALL
@@ -2,10 +2,12 @@ Installation Instructions
 *************************
 
 Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
-2006, 2007, 2008 Free Software Foundation, Inc.
+2006, 2007, 2008, 2009 Free Software Foundation, Inc.
 
-   This file is free documentation; the Free Software Foundation gives
-unlimited permission to copy, distribute and modify it.
+   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
 ==================
@@ -13,7 +15,11 @@ 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.
+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
@@ -42,7 +48,7 @@ may remove or edit it.
 you want to change it or regenerate `configure' using a newer version
 of `autoconf'.
 
-The simplest way to compile this package is:
+   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.
@@ -53,12 +59,22 @@ The simplest way to compile this package is:
   2. Type `make' to compile the package.
 
   3. Optionally, type `make check' to run any self-tests that come with
-     the package.
+     the package, generally using the just-built uninstalled binaries.
 
   4. Type `make install' to install the programs and any data files and
-     documentation.
-
-  5. You can remove the program binaries and object files from the
+     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
@@ -67,8 +83,15 @@ The simplest way to compile this package is:
      all sorts of other programs in order to regenerate files that came
      with the distribution.
 
-  6. Often, you can also type `make uninstall' to remove the installed
-     files again.
+  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
 =====================
@@ -93,7 +116,8 @@ 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 `..'.
+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
@@ -120,7 +144,8 @@ 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'.
+`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
@@ -131,15 +156,46 @@ 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.
+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'.
 
-Optional Features
-=================
-
    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
@@ -152,6 +208,13 @@ 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
 ==================
 
@@ -159,7 +222,7 @@ Particular systems
 CC is not installed, it is recommended to use the following options in
 order to use an ANSI C compiler:
 
-     ./configure CC="cc -Ae"
+     ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
 
 and if that doesn't work, install pre-built binaries of GCC for HP-UX.
 
@@ -174,6 +237,16 @@ 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
 ==========================
 
@@ -189,7 +262,8 @@ type, such as `sun4', or a canonical name which has the form:
 
 where SYSTEM can have one of these forms:
 
-     OS KERNEL-OS
+     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
@@ -277,7 +351,7 @@ operates.
      `configure' can determine that directory automatically.
 
 `--prefix=DIR'
-     Use DIR as the installation prefix.  *Note Installation Names::
+     Use DIR as the installation prefix.  *note Installation Names::
      for more details, including other options available for fine-tuning
      the installation locations.
 
diff --git a/Makefile.am b/Makefile.am
index d2f40fc..35df7fb 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -70,7 +70,11 @@ ppl-config.sed \
 ppl.lsm.in \
 BUGS \
 CREDITS \
+ChangeLog_2001-2008 \
+README.alpha \
+README.arm \
 README.configure \
+README.solaris \
 STANDARDS
 
 DISTCLEANFILES = \
diff --git a/Makefile.in b/Makefile.in
index 316efa6..207ee09 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -39,8 +40,9 @@
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -69,6 +71,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -90,7 +93,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
@@ -98,7 +101,14 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = config.h
 CONFIG_CLEAN_FILES = ppl.lsm
+CONFIG_CLEAN_VPATH_FILES =
 SCRIPTS = $(dist_noinst_SCRIPTS)
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
@@ -111,6 +121,9 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
 HEADERS = $(dist_noinst_HEADERS) $(nodist_noinst_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
   distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+	distdir dist dist-all distcheck
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
@@ -118,14 +131,41 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
 am__remove_distdir = \
-  { test ! -d $(distdir) \
-    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
-         && rm -fr $(distdir); }; }
-DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 $(distdir).zip
+  { test ! -d "$(distdir)" \
+    || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr "$(distdir)"; }; }
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
+DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 \
+	$(distdir).tar.lzma $(distdir).zip
 GZIP_ENV = --best
 distuninstallcheck_listfiles = find . -type f -print
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -172,6 +212,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -189,8 +231,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -198,6 +250,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -214,12 +267,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -262,11 +318,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -296,6 +350,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -303,6 +358,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 
 # Tell aclocal where to find `.m4' files.
 ACLOCAL_AMFLAGS = -I m4
@@ -330,7 +386,11 @@ ppl-config.sed \
 ppl.lsm.in \
 BUGS \
 CREDITS \
+ChangeLog_2001-2008 \
+README.alpha \
+README.arm \
 README.configure \
+README.solaris \
 STANDARDS
 
 DISTCLEANFILES = \
@@ -349,15 +409,15 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
-	      cd $(srcdir) && $(AUTOMAKE) --foreign  \
+	      echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
+	      $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
 		&& exit 0; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -373,9 +433,10 @@ $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENC
 	$(SHELL) ./config.status --recheck
 
 $(top_srcdir)/configure:  $(am__configure_deps)
-	cd $(srcdir) && $(AUTOCONF)
+	$(am__cd) $(srcdir) && $(AUTOCONF)
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+	$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
 
 config.h: stamp-h1
 	@if test ! -f $@; then \
@@ -387,7 +448,7 @@ stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
 	@rm -f stamp-h1
 	cd $(top_builddir) && $(SHELL) ./config.status config.h
 $(srcdir)/config.h.in:  $(am__configure_deps) 
-	cd $(top_srcdir) && $(AUTOHEADER)
+	($(am__cd) $(top_srcdir) && $(AUTOHEADER))
 	rm -f stamp-h1
 	touch $@
 
@@ -403,7 +464,7 @@ clean-libtool:
 	-rm -rf .libs _libs
 
 distclean-libtool:
-	-rm -f libtool
+	-rm -f libtool config.lt
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -412,7 +473,7 @@ distclean-libtool:
 #     (which will cause the Makefiles to be regenerated when you run `make');
 # (2) otherwise, pass the desired values on the `make' command line.
 $(RECURSIVE_TARGETS):
-	@failcom='exit 1'; \
+	@fail= failcom='exit 1'; \
 	for f in x $$MAKEFLAGS; do \
 	  case $$f in \
 	    *=* | --[!k]*);; \
@@ -429,7 +490,7 @@ $(RECURSIVE_TARGETS):
 	  else \
 	    local_target="$$target"; \
 	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
 	  || eval $$failcom; \
 	done; \
 	if test "$$dot_seen" = "no"; then \
@@ -437,7 +498,7 @@ $(RECURSIVE_TARGETS):
 	fi; test -z "$$fail"
 
 $(RECURSIVE_CLEAN_TARGETS):
-	@failcom='exit 1'; \
+	@fail= failcom='exit 1'; \
 	for f in x $$MAKEFLAGS; do \
 	  case $$f in \
 	    *=* | --[!k]*);; \
@@ -463,16 +524,16 @@ $(RECURSIVE_CLEAN_TARGETS):
 	  else \
 	    local_target="$$target"; \
 	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
 	  || eval $$failcom; \
 	done && test -z "$$fail"
 tags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
 	done
 ctags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
 	done
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -480,14 +541,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
 	  include_option=--etags-include; \
@@ -499,7 +560,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
 	list='$(SUBDIRS)'; for subdir in $$list; do \
 	  if test "$$subdir" = .; then :; else \
 	    test ! -f $$subdir/TAGS || \
-	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
 	  fi; \
 	done; \
 	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
@@ -508,36 +569,41 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
 distdir: $(DISTFILES)
 	$(am__remove_distdir)
-	test -d $(distdir) || mkdir $(distdir)
+	test -d "$(distdir)" || mkdir "$(distdir)"
 	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
 	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
 	list='$(DISTFILES)'; \
@@ -553,29 +619,44 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
-	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
 	  if test "$$subdir" = .; then :; else \
 	    test -d "$(distdir)/$$subdir" \
 	    || $(MKDIR_P) "$(distdir)/$$subdir" \
 	    || exit 1; \
-	    distdir=`$(am__cd) $(distdir) && pwd`; \
-	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
-	    (cd $$subdir && \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
 	      $(MAKE) $(AM_MAKEFLAGS) \
-	        top_distdir="$$top_distdir" \
-	        distdir="$$distdir/$$subdir" \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
 		am__remove_distdir=: \
 		am__skip_length_check=: \
+		am__skip_mode_fix=: \
 	        distdir) \
 	      || exit 1; \
 	  fi; \
@@ -583,22 +664,27 @@ distdir: $(DISTFILES)
 	$(MAKE) $(AM_MAKEFLAGS) \
 	  top_distdir="$(top_distdir)" distdir="$(distdir)" \
 	  dist-hook
-	-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+	-test -n "$(am__skip_mode_fix)" \
+	|| find "$(distdir)" -type d ! -perm -755 \
+		-exec chmod u+rwx,go+rx {} \; -o \
 	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
 	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
 	  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
-	|| chmod -R a+r $(distdir)
+	|| chmod -R a+r "$(distdir)"
 dist-gzip: distdir
 	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
 	$(am__remove_distdir)
 dist-bzip2: distdir
 	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
 	$(am__remove_distdir)
-
 dist-lzma: distdir
 	tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
 	$(am__remove_distdir)
 
+dist-xz: distdir
+	tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
+	$(am__remove_distdir)
+
 dist-tarZ: distdir
 	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
 	$(am__remove_distdir)
@@ -614,6 +700,7 @@ dist-zip: distdir
 dist dist-all: distdir
 	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
 	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+	tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
 	-rm -f $(distdir).zip
 	zip -rq $(distdir).zip $(distdir)
 	$(am__remove_distdir)
@@ -624,15 +711,17 @@ dist dist-all: distdir
 distcheck: dist
 	case '$(DIST_ARCHIVES)' in \
 	*.tar.gz*) \
-	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
 	*.tar.bz2*) \
-	  bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+	  bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
 	*.tar.lzma*) \
-	  unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
+	  lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
+	*.tar.xz*) \
+	  xz -dc $(distdir).tar.xz | $(am__untar) ;;\
 	*.tar.Z*) \
 	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
 	*.shar.gz*) \
-	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
 	*.zip*) \
 	  unzip $(distdir).zip ;;\
 	esac
@@ -640,9 +729,11 @@ distcheck: dist
 	mkdir $(distdir)/_build
 	mkdir $(distdir)/_inst
 	chmod a-w $(distdir)
+	test -d $(distdir)/_build || exit 0; \
 	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
 	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
-	  && cd $(distdir)/_build \
+	  && am__cwd=`pwd` \
+	  && $(am__cd) $(distdir)/_build \
 	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
 	    $(DISTCHECK_CONFIGURE_FLAGS) \
 	  && $(MAKE) $(AM_MAKEFLAGS) \
@@ -664,13 +755,15 @@ distcheck: dist
 	  && rm -rf "$$dc_destdir" \
 	  && $(MAKE) $(AM_MAKEFLAGS) dist \
 	  && rm -rf $(DIST_ARCHIVES) \
-	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
+	  && cd "$$am__cwd" \
+	  || exit 1
 	$(am__remove_distdir)
 	@(echo "$(distdir) archives ready for distribution: "; \
 	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
 	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
 distuninstallcheck:
-	@cd $(distuninstallcheck_dir) \
+	@$(am__cd) '$(distuninstallcheck_dir)' \
 	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
 	   || { echo "ERROR: files left after uninstall:" ; \
 	        if test -n "$(DESTDIR)"; then \
@@ -712,6 +805,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 	-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
 
 maintainer-clean-generic:
@@ -733,6 +827,8 @@ dvi-am:
 
 html: html-recursive
 
+html-am:
+
 info: info-recursive
 
 info-am:
@@ -741,18 +837,28 @@ install-data-am:
 
 install-dvi: install-dvi-recursive
 
+install-dvi-am:
+
 install-exec-am:
 
 install-html: install-html-recursive
 
+install-html-am:
+
 install-info: install-info-recursive
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-recursive
 
+install-pdf-am:
+
 install-ps: install-ps-recursive
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-recursive
@@ -775,14 +881,14 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
-	install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
+	ctags-recursive install-am install-strip tags-recursive
 
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
 	all all-am am--refresh check check-am clean clean-generic \
 	clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
-	dist-gzip dist-hook dist-lzma dist-shar dist-tarZ dist-zip \
-	distcheck distclean distclean-generic distclean-hdr \
+	dist-gzip dist-hook dist-lzma dist-shar dist-tarZ dist-xz \
+	dist-zip distcheck distclean distclean-generic distclean-hdr \
 	distclean-libtool distclean-tags distcleancheck distdir \
 	distuninstallcheck dvi dvi-am html html-am info info-am \
 	install install-am install-data install-data-am install-dvi \
@@ -817,6 +923,7 @@ dist-hook:
 	&& touch $(distdir)/configure.new -r $(distdir)/configure \
 	&& mv -f $(distdir)/configure.new $(distdir)/configure \
 	&& chmod +x $(distdir)/configure
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/NEWS b/NEWS
index 1a4e482..d9508f0 100644
--- a/NEWS
+++ b/NEWS
@@ -4,6 +4,129 @@ Parma Polyhedra Library NEWS -- history of user-visible changes
 
 
 --------------------------------------------------------------------------
+NEWS for version 0.11  (released on August 2, 2010)
+--------------------------------------------------------------------------
+
+New and Changed Features
+========================
+
+o  New class PIP_Problem provides a Parametric Integer Programming
+   (PIP) problem solver (mainly based on P. Feautrier's
+   specification).  The implementation combines a parametric dual
+   simplex algorithm using exact arithmetic with Gomory's cut
+   generation.
+
+o  New "deterministic" timeout computation facilities: it is now
+   possible to set computational bounds (on the library calls taking
+   exponential time) that do not depend on the actual elapsed time and
+   hence are independent from the actual computation environment (CPU,
+   operating system, etc.).
+
+o  New support for termination analysis via the automatic synthesis of
+   linear ranking functions.  Given a sound approximation of a loop,
+   the PPL provides methods to decide whether that approximation
+   admits a linear ranking function (possibly obtaining one as a
+   witness for termination) and to compute the space of all such
+   functions.  In addition, methods are provided to obtain the space
+   of all linear quasi-ranking functions, for use in conditional
+   termination analysis.
+
+o  New support for approximating computations involving (bounded)
+   machine integers.  A general wrapping operator is provided that is
+   parametric with respect to the set of space dimensions (variables)
+   to be wrapped, the width, representation and overflow behavior of
+   all these variables.  An optional constraint system can, when
+   given, improve the precision.
+
+o  All the PPL semantic objects provide new methods
+
+     void drop_some_non_integer_points(Complexity_Class)
+     void drop_some_non_integer_points(const Variables_Set&,
+                                       Complexity_Class)
+
+   which possibly tighten the object by dropping some points with
+   non-integer coordinates (for the space dimensions corresponding to
+   `vars'), within a certain computational complexity bound.
+
+o  New Linear_Expression methods
+
+     bool is_zero() const
+     bool all_homogeneous_terms_are_zero() const
+
+   return true if and only if `*this' is 0, and if and only if all the
+   homogeneous terms of `*this' are 0, respectively.
+
+o  New Linear_Expression methods
+
+     void add_mul_assign(Coefficient_traits::const_reference c, Variable v)
+     void sub_mul_assign(Coefficient_traits::const_reference c, Variable v)
+
+   assign linear expression *this + c * v (resp., *this - c * v) to *this,
+   while avoiding the allocation of a temporary Linear_Expression.
+
+o  For the PPL semantic objects, other than the Pointset_Powerset and
+   Partially_Reduced Product, there is a new method:
+
+     bool frequency(const Linear_Expression& expr,
+                    Coefficient& freq_n, Coefficient& freq_d,
+                    Coefficient& val_n, Coefficient& val_d)
+
+   This operator computes both the "frequency" (f = freq_n/freq_d)
+   and a value (v = val_n/val_d)  closest to zero so that every point
+   in the object satisfies the congruence (expr %= v) / f.
+
+o  New reduction operator "Shape_Preserving_Reduction" has been added
+   to the Partially_Reduced_Product abstraction.  This operator is
+   aimed at the product of a grid and a shape domain, allowing the
+   bounds of the shape to shrink to touch the points of the grid,
+   such that the new bounds are parallel to the old bounds.
+
+o  The Java interface has to be explicitly initialized before use by
+   calling static method Parma_Polyhedra_Library.initialize_library().
+   Initialization makes more explicit the exact point where PPL
+   floating point rounding mode is set; it also allows for the caching
+   of Java classes and field/method IDs, thereby reducing the overhead
+   of native method callbacks.
+
+o  The C and Java interfaces now support timeout computation facilities.
+
+o  Implementation of general (C and NNC) polyhedra speeded up.
+
+o  Implementation of the MIP solver speeded up.
+
+o  When the PPL has been configured with
+   CPPFLAGS="-DPPL_ARM_CAN_CONTROL_FPU=1", the library initialization
+   procedure checks that the FPU can indeed be controlled and fails if
+   that is not the case.
+
+o  New configure option --with-gmp-prefix supersedes the (now removed)
+   options --with-libgmp-prefix and --with-libgmpxx-prefix.
+
+o  New configuration option `--with-gmp-build=DIR' allows to use a
+   non-installed build of GMP in DIR.
+
+
+Deprecated and Removed Methods
+==============================
+
+o  All methods having a name ending in `_and_minimize' (e.g.,
+   add_constraints_and_minimize, poly_hull_assign_and_minimize, ...)
+   have been removed (they were deprecated in version 0.10).
+
+
+Bugfixes
+========
+
+o  Corrected a bug in maximize and mininimize optimization methods of
+   class template Pointset_Powerset, whereby the Boolean value true
+   (indicating successful optimization) was returned for empty powersets.
+
+o  Corrected a bug in method
+     bool NNC_Polyhedron::poly_hull_assign_if_exact(const NNC_Polyhedron&);
+   whereby some inexact NNC hulls were incorrectly flagged as exact.
+
+
+--------------------------------------------------------------------------
 NEWS for version 0.10.2  (released on April 18, 2009)
 --------------------------------------------------------------------------
 
@@ -347,8 +470,8 @@ o  The methods
    (i.e., it has no constraints, generators, congruences or grid-generators,
    respectively).
 
-Deprecated and removed methods
-------------------------------
+Deprecated and Removed Methods
+==============================
 
 o  As all PPL semantic objects can now be constructed from boxes,
    the constructors
diff --git a/README b/README
index daefe30..ad5e0f5 100644
--- a/README
+++ b/README
@@ -1,11 +1,11 @@
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 See below for the copying conditions.
 
 
-Parma Polyhedra Library (Release 0.10.2)
-========================================
+Parma Polyhedra Library (Release 0.11)
+======================================
 
-This is the release 0.10.2 of the Parma Polyhedra Library:
+This is the release 0.11 of the Parma Polyhedra Library:
 a C++ library for (not necessarily closed) convex polyhedra
 and other numerical abstractions.
 
@@ -63,20 +63,24 @@ See http://www.cs.unipr.it/ppl/ for more information on the PPL.
 For any additional questions you might have, please do not hesitate to
 write to ppl-devel at cs.unipr.it.
 
-Here is the contents of the PPL 0.10 source distribution
-(41 directories, 1446 files):
+Here is the contents of the PPL 0.11 source distribution
+(44 directories, 1588 files):
 
-ppl-0.10.2
+ppl-0.11
 |-- BUGS
 |-- COPYING
 |-- CREDITS
 |-- ChangeLog
+|-- ChangeLog_2001-2008
 |-- INSTALL
 |-- Makefile.am
 |-- Makefile.in
 |-- NEWS
 |-- README
+|-- README.alpha
+|-- README.arm
 |-- README.configure
+|-- README.solaris
 |-- STANDARDS
 |-- TODO
 |-- Watchdog
@@ -84,6 +88,7 @@ ppl-0.10.2
 |   |-- COPYING
 |   |-- CREDITS
 |   |-- ChangeLog
+|   |-- ChangeLog_2001-2008
 |   |-- INSTALL
 |   |-- Makefile.am
 |   |-- Makefile.in
@@ -115,9 +120,9 @@ ppl-0.10.2
 |   |   |-- gpl.ps.gz
 |   |   |-- gpl.tex
 |   |   |-- gpl.txt
-|   |   |-- pwl-user-0.5-html.tar.gz
-|   |   |-- pwl-user-0.5.pdf
-|   |   |-- pwl-user-0.5.ps.gz
+|   |   |-- pwl-user-0.8-html.tar.gz
+|   |   |-- pwl-user-0.8.pdf
+|   |   |-- pwl-user-0.8.ps.gz
 |   |   |-- pwl.sty
 |   |   |-- user.doxyconf-html.in
 |   |   |-- user.doxyconf-latex.in
@@ -153,14 +158,18 @@ ppl-0.10.2
 |   |   |-- Handler.types.hh
 |   |   |-- Makefile.am
 |   |   |-- Makefile.in
-|   |   |-- Pending_Element.cc
 |   |   |-- Pending_Element.defs.hh
 |   |   |-- Pending_Element.inlines.hh
 |   |   |-- Pending_Element.types.hh
-|   |   |-- Pending_List.cc
 |   |   |-- Pending_List.defs.hh
 |   |   |-- Pending_List.inlines.hh
+|   |   |-- Pending_List.templates.hh
 |   |   |-- Pending_List.types.hh
+|   |   |-- Threshold_Watcher.cc
+|   |   |-- Threshold_Watcher.defs.hh
+|   |   |-- Threshold_Watcher.inlines.hh
+|   |   |-- Threshold_Watcher.templates.hh
+|   |   |-- Threshold_Watcher.types.hh
 |   |   |-- Time.cc
 |   |   |-- Time.defs.hh
 |   |   |-- Time.inlines.hh
@@ -176,8 +185,8 @@ ppl-0.10.2
 |   |   |-- Makefile.in
 |   |   |-- pwl_test.cc
 |   |   |-- pwl_test.hh
-|   |   |-- simple1.cc
-|   |   `-- valgrind_suppressions
+|   |   |-- valgrind_suppressions
+|   |   `-- watchdog1.cc
 |   `-- utils
 |       |-- Makefile.am
 |       |-- Makefile.in
@@ -320,42 +329,81 @@ ppl-0.10.2
 |   |   |-- expected_mpz_a
 |   |   |-- ppl_lcdd.1
 |   |   `-- ppl_lcdd.cc
-|   `-- ppl_lpsol
+|   |-- ppl_lpsol
+|   |   |-- Makefile.am
+|   |   |-- Makefile.in
+|   |   |-- dummy.cc
+|   |   |-- examples
+|   |   |   |-- Makefile.am
+|   |   |   |-- Makefile.in
+|   |   |   |-- README
+|   |   |   |-- adlittle.mps
+|   |   |   |-- afiro.mps
+|   |   |   |-- bgprtr.mps
+|   |   |   |-- blend.mps
+|   |   |   |-- boeing1.mps
+|   |   |   |-- boeing2.mps
+|   |   |   |-- egout.mps
+|   |   |   |-- ex1.mps
+|   |   |   |-- ex12.mps
+|   |   |   |-- kb2.mps
+|   |   |   |-- lseu.mps
+|   |   |   |-- markshare1.mps
+|   |   |   |-- markshare2.mps
+|   |   |   |-- mas74.mps
+|   |   |   |-- mas76.mps
+|   |   |   |-- mip.mps
+|   |   |   |-- modglob.mps
+|   |   |   |-- noswot.mps
+|   |   |   |-- opt1217.mps
+|   |   |   |-- p0033.mps
+|   |   |   |-- pk1.mps
+|   |   |   |-- rout.mps
+|   |   |   |-- sample.mps
+|   |   |   |-- sc105.mps
+|   |   |   |-- sc50a.mps
+|   |   |   |-- sc50b.mps
+|   |   |   |-- ship08l.mps
+|   |   |   `-- unboundedmin.mps
+|   |   |-- expected_int16
+|   |   |-- expected_int16_a
+|   |   |-- expected_int32
+|   |   |-- expected_int32_a
+|   |   |-- expected_int64
+|   |   |-- expected_int64_a
+|   |   |-- expected_int8
+|   |   |-- expected_int8_a
+|   |   |-- expected_mpz
+|   |   |-- expected_mpz_a
+|   |   |-- ppl_lpsol.1
+|   |   `-- ppl_lpsol.c
+|   `-- ppl_pips
 |       |-- Makefile.am
 |       |-- Makefile.in
-|       |-- dummy.cc
 |       |-- examples
 |       |   |-- Makefile.am
 |       |   |-- Makefile.in
 |       |   |-- README
-|       |   |-- adlittle.mps
-|       |   |-- afiro.mps
-|       |   |-- bgprtr.mps
-|       |   |-- blend.mps
-|       |   |-- boeing1.mps
-|       |   |-- boeing2.mps
-|       |   |-- egout.mps
-|       |   |-- ex1.mps
-|       |   |-- ex12.mps
-|       |   |-- kb2.mps
-|       |   |-- lseu.mps
-|       |   |-- markshare1.mps
-|       |   |-- markshare2.mps
-|       |   |-- mas74.mps
-|       |   |-- mas76.mps
-|       |   |-- mip.mps
-|       |   |-- modglob.mps
-|       |   |-- noswot.mps
-|       |   |-- opt1217.mps
-|       |   |-- p0033.mps
-|       |   |-- pk1.mps
-|       |   |-- rout.mps
-|       |   |-- sample.mps
-|       |   |-- sc105.mps
-|       |   |-- sc50a.mps
-|       |   |-- sc50b.mps
-|       |   |-- ship08l.mps
-|       |   `-- unboundedmin.mps
+|       |   |-- big.pip
+|       |   |-- brisebarre.pip
+|       |   |-- cg1.pip
+|       |   |-- esced.pip
+|       |   |-- ex2.pip
+|       |   |-- fimmel.pip
+|       |   |-- invert.dat
+|       |   |-- linear.dat
+|       |   |-- lineri.dat
+|       |   |-- loz.dat
+|       |   |-- max.dat
+|       |   |-- max.pip
+|       |   |-- maxb.dat
+|       |   |-- pairi.dat
+|       |   |-- petit.dat
+|       |   |-- rairoi.dat
+|       |   |-- sor1d.pip
+|       |   |-- square.pip
+|       |   |-- test02.dat
+|       |   `-- test12i.dat
 |       |-- expected_int16
 |       |-- expected_int16_a
 |       |-- expected_int32
@@ -366,8 +414,8 @@ ppl-0.10.2
 |       |-- expected_int8_a
 |       |-- expected_mpz
 |       |-- expected_mpz_a
-|       |-- ppl_lpsol.1
-|       `-- ppl_lpsol.c
+|       |-- ppl_pips.1
+|       `-- ppl_pips.cc
 |-- depcomp
 |-- doc
 |   |-- Makefile.am
@@ -394,21 +442,21 @@ ppl-0.10.2
 |   |-- libppl.3
 |   |-- libppl_c.3
 |   |-- ppl-config.1
-|   |-- ppl-user-0.10.2-html.tar.gz
-|   |-- ppl-user-0.10.2.pdf
-|   |-- ppl-user-0.10.2.ps.gz
-|   |-- ppl-user-c-interface-0.10.2-html.tar.gz
-|   |-- ppl-user-c-interface-0.10.2.pdf
-|   |-- ppl-user-c-interface-0.10.2.ps.gz
-|   |-- ppl-user-java-interface-0.10.2-html.tar.gz
-|   |-- ppl-user-java-interface-0.10.2.pdf
-|   |-- ppl-user-java-interface-0.10.2.ps.gz
-|   |-- ppl-user-ocaml-interface-0.10.2-html.tar.gz
-|   |-- ppl-user-ocaml-interface-0.10.2.pdf
-|   |-- ppl-user-ocaml-interface-0.10.2.ps.gz
-|   |-- ppl-user-prolog-interface-0.10.2-html.tar.gz
-|   |-- ppl-user-prolog-interface-0.10.2.pdf
-|   |-- ppl-user-prolog-interface-0.10.2.ps.gz
+|   |-- ppl-user-0.11pre25-html.tar.gz
+|   |-- ppl-user-0.11pre25.pdf
+|   |-- ppl-user-0.11pre25.ps.gz
+|   |-- ppl-user-c-interface-0.11pre25-html.tar.gz
+|   |-- ppl-user-c-interface-0.11pre25.pdf
+|   |-- ppl-user-c-interface-0.11pre25.ps.gz
+|   |-- ppl-user-java-interface-0.11pre25-html.tar.gz
+|   |-- ppl-user-java-interface-0.11pre25.pdf
+|   |-- ppl-user-java-interface-0.11pre25.ps.gz
+|   |-- ppl-user-ocaml-interface-0.11pre25-html.tar.gz
+|   |-- ppl-user-ocaml-interface-0.11pre25.pdf
+|   |-- ppl-user-ocaml-interface-0.11pre25.ps.gz
+|   |-- ppl-user-prolog-interface-0.11pre25-html.tar.gz
+|   |-- ppl-user-prolog-interface-0.11pre25.pdf
+|   |-- ppl-user-prolog-interface-0.11pre25.ps.gz
 |   |-- ppl.sty
 |   |-- user-language-interface.doxyconf.in
 |   |-- user-language-interface.tex
@@ -422,6 +470,7 @@ ppl-0.10.2
 |   |   |-- C_interface.dox
 |   |   |-- Makefile.am
 |   |   |-- Makefile.in
+|   |   |-- ppl_c.h.dist
 |   |   |-- ppl_c_header.h
 |   |   |-- ppl_c_implementation_common.cc
 |   |   |-- ppl_c_implementation_common.defs.hh
@@ -437,10 +486,13 @@ ppl-0.10.2
 |   |       |-- Makefile.am
 |   |       |-- Makefile.in
 |   |       |-- formatted_output.c
+|   |       |-- pip_test.c
 |   |       |-- ppl_c_test.cc
 |   |       |-- ppl_c_test.h
 |   |       |-- print_to_buffer.c
-|   |       `-- print_to_buffer.h
+|   |       |-- print_to_buffer.h
+|   |       |-- watchdog1.c
+|   |       `-- weightwatch1.c
 |   |-- Java
 |   |   |-- Makefile.am
 |   |   |-- Makefile.in
@@ -455,6 +507,11 @@ ppl-0.10.2
 |   |   |   |-- ppl_java_common.inlines.hh
 |   |   |   `-- ppl_java_globals.cc
 |   |   |-- parma_polyhedra_library
+|   |   |   |-- Artificial_Parameter.java
+|   |   |   |-- Artificial_Parameter_Sequence.java
+|   |   |   |-- Bounded_Integer_Type_Overflow.java
+|   |   |   |-- Bounded_Integer_Type_Representation.java
+|   |   |   |-- Bounded_Integer_Type_Width.java
 |   |   |   |-- By_Reference.java
 |   |   |   |-- Coefficient.java
 |   |   |   |-- Complexity_Class.java
@@ -490,6 +547,13 @@ ppl-0.10.2
 |   |   |   |-- Makefile.in
 |   |   |   |-- Optimization_Mode.java
 |   |   |   |-- Overflow_Error_Exception.java
+|   |   |   |-- PIP_Decision_Node.java
+|   |   |   |-- PIP_Problem.java
+|   |   |   |-- PIP_Problem_Control_Parameter_Name.java
+|   |   |   |-- PIP_Problem_Control_Parameter_Value.java
+|   |   |   |-- PIP_Problem_Status.java
+|   |   |   |-- PIP_Solution_Node.java
+|   |   |   |-- PIP_Tree_Node.java
 |   |   |   |-- PPL_Object.java
 |   |   |   |-- Pair.java
 |   |   |   |-- Parma_Polyhedra_Library.java
@@ -497,6 +561,7 @@ ppl-0.10.2
 |   |   |   |-- Poly_Con_Relation.java
 |   |   |   |-- Poly_Gen_Relation.java
 |   |   |   |-- Relation_Symbol.java
+|   |   |   |-- Timeout_Exception.java
 |   |   |   |-- Variable.java
 |   |   |   |-- Variables_Set.java
 |   |   |   |-- ppl_interface_generator_java_classes_java.m4
@@ -508,10 +573,11 @@ ppl-0.10.2
 |   |       |-- Makefile.am
 |   |       |-- Makefile.in
 |   |       |-- NNC_Polyhedron_test1.java
+|   |       |-- PIP_Problem_test1.java
 |   |       |-- PPL_Test.java
 |   |       |-- Parma_Polyhedra_Library_test1.java
+|   |       |-- Parma_Polyhedra_Library_test2.java
 |   |       |-- Test_Executor.java
-|   |       |-- Test_Partial_Function.java
 |   |       |-- ppl_interface_generator_java_test_java.m4
 |   |       |-- ppl_interface_generator_java_test_java_code.m4
 |   |       `-- ppl_java_tests_common
@@ -710,6 +776,7 @@ ppl-0.10.2
 |   |-- ac_check_sicstus_prolog.m4
 |   |-- ac_check_swi_prolog.m4
 |   |-- ac_check_xsb_prolog.m4
+|   |-- ac_check_yap.m4
 |   |-- ac_cxx_attribute_weak.m4
 |   |-- ac_cxx_double_binary_format.m4
 |   |-- ac_cxx_double_exact_output.m4
@@ -736,6 +803,7 @@ ppl-0.10.2
 |   |-- ltversion.m4
 |   |-- lt~obsolete.m4
 |   |-- m4.m4
+|   |-- ocaml.m4
 |   |-- ppl.m4
 |   `-- ppl_c.m4
 |-- missing
@@ -911,6 +979,19 @@ ppl-0.10.2
 |   |-- Octagonal_Shape.types.hh
 |   |-- Og_Status.idefs.hh
 |   |-- Og_Status.inlines.hh
+|   |-- PIP_Problem.cc
+|   |-- PIP_Problem.defs.hh
+|   |-- PIP_Problem.inlines.hh
+|   |-- PIP_Problem.templates.hh
+|   |-- PIP_Problem.types.hh
+|   |-- PIP_Tree.cc
+|   |-- PIP_Tree.defs.hh
+|   |-- PIP_Tree.inlines.hh
+|   |-- PIP_Tree.types.hh
+|   |-- Partial_Function.cc
+|   |-- Partial_Function.defs.hh
+|   |-- Partial_Function.inlines.hh
+|   |-- Partial_Function.types.hh
 |   |-- Partially_Reduced_Product.defs.hh
 |   |-- Partially_Reduced_Product.inlines.hh
 |   |-- Partially_Reduced_Product.templates.hh
@@ -973,10 +1054,15 @@ ppl-0.10.2
 |   |-- Variables_Set.defs.hh
 |   |-- Variables_Set.inlines.hh
 |   |-- Variables_Set.types.hh
+|   |-- WRD_coefficient_types.defs.hh
+|   |-- WRD_coefficient_types.inlines.hh
+|   |-- Weight_Profiler.cc
+|   |-- Weight_Profiler.defs.hh
 |   |-- Widening_Function.defs.hh
 |   |-- Widening_Function.inlines.hh
 |   |-- Widening_Function.types.hh
 |   |-- algorithms.hh
+|   |-- assert.hh
 |   |-- assign_or_swap.hh
 |   |-- c_streambuf.cc
 |   |-- c_streambuf.defs.hh
@@ -1008,6 +1094,7 @@ ppl-0.10.2
 |   |-- globals.inlines.hh
 |   |-- globals.types.hh
 |   |-- initializer.hh
+|   |-- intervals.defs.hh
 |   |-- iterator_to_const.defs.hh
 |   |-- iterator_to_const.inlines.hh
 |   |-- iterator_to_const.types.hh
@@ -1029,10 +1116,14 @@ ppl-0.10.2
 |   |-- stdiobuf.inlines.hh
 |   |-- stdiobuf.types.hh
 |   |-- swapping_sort.icc
+|   |-- termination.cc
+|   |-- termination.defs.hh
+|   |-- termination.templates.hh
 |   |-- version.cc
 |   |-- version.hh.in
-|   |-- wrap.cc
-|   `-- wrap.hh
+|   |-- wrap_assign.hh
+|   |-- wrap_string.cc
+|   `-- wrap_string.hh
 |-- tests
 |   |-- BD_Shape
 |   |   |-- Makefile.am
@@ -1063,10 +1154,12 @@ ppl-0.10.2
 |   |   |-- difference1.cc
 |   |   |-- discrete1.cc
 |   |   |-- disjoint1.cc
+|   |   |-- dropsomenonintegerpoints1.cc
 |   |   |-- empty1.cc
 |   |   |-- equality1.cc
 |   |   |-- expandspacedim1.cc
 |   |   |-- foldspacedims1.cc
+|   |   |-- frequency1.cc
 |   |   |-- frombdshape1.cc
 |   |   |-- frombox1.cc
 |   |   |-- fromgensys1.cc
@@ -1081,6 +1174,7 @@ ppl-0.10.2
 |   |   |-- generalizedaffinepreimage3.cc
 |   |   |-- geomcovers1.cc
 |   |   |-- h79widening1.cc
+|   |   |-- integerupperboundifexact1.cc
 |   |   |-- intersection1.cc
 |   |   |-- limitedbhmz05extrapolation1.cc
 |   |   |-- limitedcc76extrapolation1.cc
@@ -1103,6 +1197,7 @@ ppl-0.10.2
 |   |   |-- universe1.cc
 |   |   |-- upperbound1.cc
 |   |   |-- upperboundifexact1.cc
+|   |   |-- wrap1.cc
 |   |   `-- writebdshape1.cc
 |   |-- Box
 |   |   |-- Makefile.am
@@ -1133,6 +1228,7 @@ ppl-0.10.2
 |   |   |-- equality1.cc
 |   |   |-- expandspacedim1.cc
 |   |   |-- foldspacedims1.cc
+|   |   |-- frequency1.cc
 |   |   |-- frombdshape1.cc
 |   |   |-- frombox1.cc
 |   |   |-- fromgensys1.cc
@@ -1155,6 +1251,7 @@ ppl-0.10.2
 |   |   |-- minconstraints1.cc
 |   |   |-- propagateconstraints1.cc
 |   |   |-- propagateconstraints2.cc
+|   |   |-- refinewithcongruence1.cc
 |   |   |-- refinewithcongruences1.cc
 |   |   |-- refinewithconstraint1.cc
 |   |   |-- refinewithconstraint2.cc
@@ -1173,6 +1270,7 @@ ppl-0.10.2
 |   |   |-- universe1.cc
 |   |   |-- upperbound1.cc
 |   |   |-- upperboundifexact1.cc
+|   |   |-- wrap1.cc
 |   |   `-- writebox1.cc
 |   |-- Grid
 |   |   |-- Makefile.am
@@ -1209,13 +1307,13 @@ ppl-0.10.2
 |   |   |-- constraints1.cc
 |   |   |-- contains1.cc
 |   |   |-- containsintegerpoint1.cc
-|   |   |-- coveringbox1.cc
-|   |   |-- coveringbox2.cc
 |   |   |-- discrete1.cc
 |   |   |-- disjoint1.cc
+|   |   |-- dropnonintegerpoints1.cc
 |   |   |-- equals1.cc
 |   |   |-- expandspacedim1.cc
 |   |   |-- foldspacedims1.cc
+|   |   |-- frequency1.cc
 |   |   |-- frombdshape1.cc
 |   |   |-- frombox1.cc
 |   |   |-- fromgrid1.cc
@@ -1269,6 +1367,7 @@ ppl-0.10.2
 |   |   |-- widening1.cc
 |   |   |-- widening2.cc
 |   |   |-- widening3.cc
+|   |   |-- wrap1.cc
 |   |   `-- writecongruencesystem.cc
 |   |-- MIP_Problem
 |   |   |-- Makefile.am
@@ -1308,9 +1407,11 @@ ppl-0.10.2
 |   |   |-- difference1.cc
 |   |   |-- discrete1.cc
 |   |   |-- disjoint1.cc
+|   |   |-- dropsomenonintegerpoints1.cc
 |   |   |-- empty1.cc
 |   |   |-- expandspacedim1.cc
 |   |   |-- foldspacedims1.cc
+|   |   |-- frequency1.cc
 |   |   |-- frombdshape1.cc
 |   |   |-- frombox1.cc
 |   |   |-- fromgensys1.cc
@@ -1327,6 +1428,7 @@ ppl-0.10.2
 |   |   |-- generalizedaffinepreimage2.cc
 |   |   |-- generalizedaffinepreimage3.cc
 |   |   |-- generalizedaffinepreimage4.cc
+|   |   |-- integerupperboundifexact1.cc
 |   |   |-- intersection1.cc
 |   |   |-- limitedbhmz05extrapolation1.cc
 |   |   |-- limitedcc76extrapolation1.cc
@@ -1348,25 +1450,60 @@ ppl-0.10.2
 |   |   |-- universe1.cc
 |   |   |-- upperbound1.cc
 |   |   |-- upperboundifexact1.cc
+|   |   |-- wrap1.cc
 |   |   `-- writeoctagon1.cc
-|   |-- Partial_Function.cc
-|   |-- Partial_Function.defs.hh
-|   |-- Partial_Function.inlines.hh
-|   |-- Partial_Function.types.hh
+|   |-- PIP_Problem
+|   |   |-- Makefile.am
+|   |   |-- Makefile.in
+|   |   |-- ascii_dump_load1.cc
+|   |   |-- exceptions1.cc
+|   |   |-- pipproblem1.cc
+|   |   |-- pipproblem2.cc
+|   |   `-- pipproblem3.cc
 |   |-- Partially_Reduced_Product
 |   |   |-- Makefile.am
 |   |   |-- Makefile.in
+|   |   |-- addcongruences1.cc
+|   |   |-- affineimage1.cc
 |   |   |-- asciidumpload1.cc
+|   |   |-- bounded1.cc
+|   |   |-- boundedaffineimage1.cc
+|   |   |-- bounds1.cc
+|   |   |-- concatenate1.cc
+|   |   |-- congruences1.cc
+|   |   |-- congruencesproduct1.cc
+|   |   |-- constraints1.cc
+|   |   |-- constraintsproduct1.cc
+|   |   |-- contains1.cc
+|   |   |-- difference1.cc
+|   |   |-- dimension1.cc
 |   |   |-- directproduct1.cc
-|   |   |-- directproduct2.cc
-|   |   |-- directproduct3.cc
-|   |   |-- directproduct4.cc
-|   |   |-- directproduct5.cc
-|   |   |-- directproduct6.cc
-|   |   |-- partiallyreducedproduct1.cc
-|   |   |-- partiallyreducedproduct2.cc
-|   |   |-- partiallyreducedproduct3.cc
-|   |   `-- partiallyreducedproduct4.cc
+|   |   |-- discrete1.cc
+|   |   |-- disjoint1.cc
+|   |   |-- dropsomenonintegerpoints1.cc
+|   |   |-- equals1.cc
+|   |   |-- frombdshape1.cc
+|   |   |-- frombox1.cc
+|   |   |-- fromgrid1.cc
+|   |   |-- fromoctagonalshape1.cc
+|   |   |-- frompolyhedron1.cc
+|   |   |-- fromproduct1.cc
+|   |   |-- generalizedaffineimage1.cc
+|   |   |-- intersection1.cc
+|   |   |-- isempty1.cc
+|   |   |-- isuniverse1.cc
+|   |   |-- maxmin1.cc
+|   |   |-- partially_reduced_product_test.hh
+|   |   |-- refinewithcongruences1.cc
+|   |   |-- refinewithconstraints1.cc
+|   |   |-- relations1.cc
+|   |   |-- shapepreservingproduct1.cc
+|   |   |-- smashproduct1.cc
+|   |   |-- spacedims1.cc
+|   |   |-- timeelapse1.cc
+|   |   |-- topclosed1.cc
+|   |   |-- topclosure1.cc
+|   |   `-- upperbound1.cc
 |   |-- Polyhedron
 |   |   |-- Makefile.am
 |   |   |-- Makefile.in
@@ -1412,6 +1549,8 @@ ppl-0.10.2
 |   |   |-- containsintegerpoint1.cc
 |   |   |-- disjoint1.cc
 |   |   |-- disjoint2.cc
+|   |   |-- dropsomenonintegerpoints1.cc
+|   |   |-- dropsomenonintegerpoints2.cc
 |   |   |-- dualhypercubes.cc
 |   |   |-- empty1.cc
 |   |   |-- equals1.cc
@@ -1422,6 +1561,7 @@ ppl-0.10.2
 |   |   |-- expandspacedim2.cc
 |   |   |-- foldspacedims1.cc
 |   |   |-- foldspacedims2.cc
+|   |   |-- frequency1.cc
 |   |   |-- frombdshape1.cc
 |   |   |-- frombox1.cc
 |   |   |-- frombox2.cc
@@ -1477,6 +1617,8 @@ ppl-0.10.2
 |   |   |-- removespacedims2.cc
 |   |   |-- simplifyusingcontext1.cc
 |   |   |-- smm1.cc
+|   |   |-- termination1.cc
+|   |   |-- termination2.cc
 |   |   |-- timeelapse1.cc
 |   |   |-- timeelapse2.cc
 |   |   |-- topclosed1.cc
@@ -1486,6 +1628,9 @@ ppl-0.10.2
 |   |   |-- universe2.cc
 |   |   |-- variablesset1.cc
 |   |   |-- watchdog1.cc
+|   |   |-- weightwatch1.cc
+|   |   |-- wrap1.cc
+|   |   |-- wrap2.cc
 |   |   |-- writeconsys1.cc
 |   |   |-- writegensys1.cc
 |   |   |-- writepolyhedron1.cc
@@ -1558,7 +1703,7 @@ ppl-0.10.2
 
 --------
 
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/README.alpha b/README.alpha
new file mode 100644
index 0000000..15ce29a
--- /dev/null
+++ b/README.alpha
@@ -0,0 +1,16 @@
+There appears to be a bug in GCC (all versions) concerning exception
+handling on the Alpha.  This may be related to
+
+  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=8966
+
+Strictily speaking, the PPL uses exception handling, so if that does
+not work on the Alpha, then the PPL does not work on the Alpha.  And
+there is nothing to do but fix the GCC bug.
+
+However, if that GCC bug really only affects exception handling and nothing
+else, given that the PPL only uses exceptions for error reporting, we can
+probably say that the PPL works on the Alpha *apart* from error reporting.
+In other words, under this hypothesis (which we have no way to check),
+users that are not interested in catching exceptions thrown by the PPL
+(in response to invalid arguments, heap exhaustion, overflows, ...)
+should probably not worry.  Your mileage may vary...
diff --git a/README.arm b/README.arm
new file mode 100644
index 0000000..552a0b6
--- /dev/null
+++ b/README.arm
@@ -0,0 +1,12 @@
+On the ARM, whether or not the rounding mode can be set in a way that allows
+the PPL to work with floating point numbers, will depend on the actual
+hardware.  However, disabling the affected PPL code at run-time is
+impractical.  Thus, to ensure that the binary distributions of the PPL for the
+ARM work as expected on any hardware, on the ARM, the affected code
+is disabled at compile-time.  It is still possible to build a binary
+for the ARM that assumes the hardware can control the rounding mode;
+for this, configure the PPL with `-DPPL_ARM_CAN_CONTROL_FPU=1' included in
+CPPFLAGS.
+For example:
+
+  CPPFLAGS="-DPPL_ARM_CAN_CONTROL_FPU=1" .../configure ...
diff --git a/README.configure b/README.configure
index 9b97730..5a09c82 100644
--- a/README.configure
+++ b/README.configure
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 See below for the copying conditions.
 
 
@@ -99,7 +99,7 @@ is not standard for your compiler and/or for your linker, you will
 have to make sure the configure script of the PPL is invoked with,
 among others, the option
 
-  --with-libgmpxx-prefix=<GMP prefix>
+  --with-gmp-prefix=<GMP prefix>
 
 If you use shared libraries, consult the documentation of your dynamic
 linker/loader (`man ld.so' will do on most Un*x-like systems) to see
@@ -109,6 +109,11 @@ how to make sure that GMP's shared library will be found at run-time
 "<GMP prefix>/lib64:$LD_LIBRARY_PATH" is the most commonly used
 solution).
 
+It is also possible to use a non-installed build of GMP.  In order to
+do that you should configure the PPL with, among others, the option
+
+  --with-gmp-build=<GMP build directory>
+
 
 3. Using the Right C and C++ Compilers
 --------------------------------------
@@ -136,28 +141,26 @@ It should be noted that no version of GCC prior to 4.0.3 is known to
 reliably compile PPL 0.10.
 
 Here is an example of a configuration that uses the Intel C/C++ compiler
-version 10.1.x.  Assuming you have configured GMP with a command like
+version 11.1.x.  Assuming you have configured GMP with a command like
 
-  CC=icc CXX=icpc /path/to/gmp-4.2.4/configure --enable-cxx \
-    --prefix=/opt/intel/cce/10.1.018
+  CC=icc CXX=icpc /path/to/gmp-5.0.1/configure --enable-cxx \
+    --prefix=/opt/intel/Compiler/11.1/072 \
+    --libdir=/opt/intel/Compiler/11.1/072/lib/intel64
 
 you can configure the PPL with a command like
 
-  CPPFLAGS=-D_GCC_LIMITS_H_ /path/to/ppl-x.y/configure \
-    --with-cxx=icpc --with-cc=icc \
+  /path/to/ppl-x.y/configure --with-cxx=icpc --with-cc=icc \
     --with-cxxflags=-pch \
-    --with-libgmpxx-prefix=/opt/intel/cce/10.1.018
+    --with-gmp-prefix=/opt/intel/Compiler/11.1/072
 
-Notice that the `CPPFLAGS=-D_GCC_LIMITS_H_' environment variable
-assignment is required in order to overcome a bug in the Intel C/C++
-compiler version 10.1.x.  Notice also that the `--with-cxxflags' option
-is not essential here and is only included to show how extra
-compiler options can be passed to the configure script.
+Notice that the `--with-cxxflags' option is not essential here and is
+only included to show how extra compiler options can be passed to the
+configure script.
 
 As another example, here is how you can compile the PPL with
 Comeau C/C++ 4.3.10.1.  First configure GMP with a command like
 
-  CXX=como /path/to/gmp-4.2.4/configure --enable-cxx \
+  CXX=como /path/to/gmp-5.0.1/configure --enable-cxx \
     --disable-shared --prefix=/opt/comeau/local
 
 Then you can configure the PPL with a command like
@@ -165,7 +168,7 @@ Then you can configure the PPL with a command like
   /path/to/ppl/configure --with-cc="como --c" --with-cxx="como -tused" \
     --with-cxxflags="-g++ --remarks --long_long \
     --display_error_number --diag_suppress 340,401,679" \
-    --disable-shared --with-libgmpxx-prefix=/opt/comeau/local
+    --disable-shared --with-gmp-prefix=/opt/comeau/local
 
 Notice the use of the option `--disable-shared' both in the configuration
 of GMP and the configuration of the PPL.  This is due to the fact that
@@ -442,7 +445,7 @@ you cannot explain otherwise, use `autoreconf -f'.
 
 --------
 
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/README.solaris b/README.solaris
new file mode 100644
index 0000000..e454198
--- /dev/null
+++ b/README.solaris
@@ -0,0 +1,8 @@
+Build problems have been reported for Solaris 10, affecting the build
+of the Java language interface, which are due to the use of an
+incompatible version of sed:
+
+  https://www.cs.unipr.it/mantis/view.php?id=103
+
+The solution is to install and use GNU sed.
+This is recommended, even when only using the C++ language interface.
diff --git a/STANDARDS b/STANDARDS
index cebaa8a..a8a1552 100644
--- a/STANDARDS
+++ b/STANDARDS
@@ -95,28 +95,6 @@ Macros should be used only if really needed (in many cases, macros can
 be replaced by inline functions).
 
 
-Length of source lines
-----------------------
-
-Avoid, when possible, source lines longer than 78 characters.
-
-
-Trailing whitespace
--------------------
-
-Always avoid trailing whitespace.
-If you use Emacs, then all the trailing whitespace in the current
-buffer can be removed by using the command
-
-  M-x delete-trailing-whitespace
-
-If you keep inserting trailing whitespace when coding, then you may
-want to put the following two lines in your .emacs:
-
-;; Show trailing whitespace.
-(setq-default show-trailing-whitespace t)
-
-
 Block closures
 --------------
 
@@ -147,28 +125,6 @@ extern "C" {
 #endif // !defined(PPL_Class_defs_hh)
 
 
-Namespace indentation
----------------------
-
-The entire library is in its own namespace.  We sometimes specialize
-std::swap() and std::iter_swap().  Other namespaces may be involved
-but only in restricted contexts.  Therefore, we have unindented
-namespace-level declarations, thus saving some precious horizontal
-space.  For example:
-
-namespace Parma_Polyhedra_Library {
-
-non-empty lines here start at column 0;
-
-} // namespace Parma_Polyhedra_Library
-
-If you use Emacs, you may want to put the following two lines in your
-.emacs:
-
-;; Disable indentation when in namespace blocks.
-(c-set-offset 'innamespace 0)
-
-
 Negation
 --------
 
@@ -199,6 +155,83 @@ instead of
 	assert(sys.num_rows());
 
 
+Formatting Conventions
+======================
+
+Indent each level using two spaces.
+Insert a space: after each comma, before and after each operator, after
+if/do/while keywords. As an exception to this rule, spaces can be omitted near
+arithmetic multiplication and division operator, if they would harm
+readability.
+Don't insert spaces between the name of a function and the following
+parenthesis.
+Braces should be cuddled on the preceding/following line.
+Avoid, when possible, source lines longer than 78 characters.
+In a function declaration, the return type of a function and the modifiers
+must be placed alone in one line.
+In pointer and reference types, the * and & characters should be followed, but
+not preceded, by a space.
+
+This is bad:
+
+inline void C::f(int *x,int y)
+{
+if( x!=0 )
+{
+    int &z=y;
+    foo (x / 2+y * 3,z/bar(5));
+}
+}
+
+This is good:
+
+inline void
+C::f(int* x, int y) {
+  if (x != 0) {
+    int& z = y;
+    foo(x/2 + y*3, z / bar(5));
+  }
+}
+
+
+Namespace indentation
+---------------------
+
+The entire library is in its own namespace.  We sometimes specialize
+std::swap() and std::iter_swap().  Other namespaces may be involved
+but only in restricted contexts.  Therefore, we have unindented
+namespace-level declarations, thus saving some precious horizontal
+space.  For example:
+
+namespace Parma_Polyhedra_Library {
+
+non-empty lines here start at column 0;
+
+} // namespace Parma_Polyhedra_Library
+
+If you use Emacs, you may want to put the following two lines in your
+.emacs:
+
+;; Disable indentation when in namespace blocks.
+(c-set-offset 'innamespace 0)
+
+
+Trailing whitespace
+-------------------
+
+Always avoid trailing whitespace.
+If you use Emacs, then all the trailing whitespace in the current
+buffer can be removed by using the command
+
+  M-x delete-trailing-whitespace
+
+If you keep inserting trailing whitespace when coding, then you may
+want to put the following two lines in your .emacs:
+
+;; Show trailing whitespace.
+(setq-default show-trailing-whitespace t)
+
+
 Standards for Structuring the Source Code in Files
 ==================================================
 
@@ -559,19 +592,72 @@ o  Refer to the existing tests for examples. Many tests are written along
 o  Ideally the tests should exercise every line of code in the library.
    To help ensure that, the test-coverage facilities provided by GCC
    are very useful.  They are described in Chapter 9 of the GCC manual
-   ("`gcov'---a Test Coverage Program").  For a shorter introduction,
-   the build tree under test must be configured with the
-   `--enable-coverage' and `--disable-optimization options' (and possibly
-   also with --enable-profiling).  For example:
-
-     $ configure --enable-coverage --disable-optimization \
-                 --enable-profiling \
-                 --enable-assertions --enable-more-assertions
+   ("`gcov'---a Test Coverage Program").  For a simpler user interaction
+   with gcov, also including the generation of nicer HTML output, the
+   adoption of `lcov' is recommended (LCOV, the Linux Test Project GCOV
+   extension, http://ltp.sourceforge.net/coverage/lcov.php).
+   Here we summarize the steps needed to produce coverage information
+   using `lcov' (see below for a few hints on the direct use of `gcov').
+   The build tree under test must be configured with the
+   `--enable-coverage' and `--disable-optimization' options (and possibly
+   also with --enable-profiling). Furthermore, according to this thread
+       http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12076
+   GCC performs NRV (Named Return Value) transformations even when
+   optimizations are turned off; hence, to avoid spurious zero counts
+   in return statements, the compilation flag `-fno-elide-constructors'
+   is recommended. For example:
+
+     $ configure --enable-coverage --enable-profiling \
+         --disable-optimization --with-cxxflags='-fno-elide-constructors' \
+         --enable-assertions --enable-more-assertions
 
    Running the tests (with `make check') produces many .gcno and .gcda
    files in src/.libs and in the test directories.  These are data
-   files for the `gcov' program.  The `gcov' program produces coverage
-   information.  For example:
+   files for the `gcov' program. All the coverage data produced can be
+   automatically collected by `lcov' using the following command:
+
+     $ lcov --directory . --capture --output-file ppl-lcov.info
+
+   To generate HTML pages with the graphical view of the captured data,
+   use the `genhtml' command:
+
+     $ genhtml ppl-lcov.info --output-directory ppl-lcov-html
+
+   Coverage info can now be seen by pointing your favorite browser to
+   file ppl-lcov-html/index.html. The annotated sources will look like
+   the following (plus color information), where the value on the left
+   hand side of the colon is the number of executions of the corresponding
+   line of code (see also below on the use of coverage counters):
+
+    1636 :   PPL_DIRTY_TEMP(N, sum);
+    9828 :   for (dimension_type k = num_dimensions + 1; k-- > 0; ) {
+    6556 :     const DB_Row<N>& x_dbm_k = x.dbm[k];
+   39648 :     for (dimension_type i = num_dimensions + 1; i-- > 0; ) {
+   26536 :       DB_Row<N>& x_dbm_i = x.dbm[i];
+   26536 :       const N& x_dbm_i_k = x_dbm_i[k];
+   26536 :       if (!is_plus_infinity(x_dbm_i_k))
+   55128 :         for (dimension_type j = num_dimensions + 1; j-- > 0; ) {
+   36904 :           const N& x_dbm_k_j = x_dbm_k[j];
+   36904 :           if (!is_plus_infinity(x_dbm_k_j)) {
+         :             // Rounding upward for correctness.
+   12136 :             add_assign_r(sum, x_dbm_i_k, x_dbm_k_j, ROUND_UP);
+   12136 :             min_assign(x_dbm_i[j], sum);
+         :           }
+         :         }
+         :     }
+         :   }
+
+   Note that the collection of coverage information is incremental:
+   running again any tests will add to coverage counters (in order
+   to see the changes, coverage data has to be re-captured using the
+   `lcov' command and HTML pages re-generated using the `genhtml' command).
+   Coverage counters can be reset to zero by issuing the command:
+
+     $ lcov --directory . --zerocounters
+
+   As said above, `lcov' is just a wrapper on top of `gcov'. The direct
+   use of `gcov' produces plain-text based coverage information.
+   For example:
 
      $ cd src
      $ gcov -o .libs Grid_public.cc
@@ -613,3 +699,4 @@ o  Ideally the tests should exercise every line of code in the library.
         -: 1015:  // All checks passed.
     48245: 1016:  return true;
         -: 1017:}
+
diff --git a/TODO b/TODO
index cfbd3be..0023df5 100644
--- a/TODO
+++ b/TODO
@@ -1,43 +1,17 @@
 
-Enhancements for PPL 0.11
-=========================
+Enhancements for PPL 0.12 or later versions
+===========================================
 
-- Add the domain of circular linear progressions.
+- Make all the *affine*image() methods uniform as far as the
+  specification is concerned.
+- Add the domains of bounded integers and affine spaces.
 - Finish the domain of intervals.
-- Supplement the "preemption" methods of the library allowing for
-  deterministic mechanisms (e.g., decrementing a counter and throwing
-  when it reaches zero).  This will probably require changing the
-  current interface based on `abandon_expensive_computations'.
-- Get rid of ugly assign functions defined in anonymous namespace of
-  MIP_Problem.cc replacing it with a more general-purpose approach.
-- When the PPL has been configured with
-  CPPFLAGS="-DPPL_ARM_CAN_CONTROL_FPU=1" make sure the library initialization
-  procedure checks that the FPU can indeed be controlled, failing if
-  that is not the case.
-- Reconsider the datatype for the units parameter in the Watchdog
-  constructors: should we prefer an unsigned?
-- Rename set_rational_sqrt_precision_parameter to
-  set_irrational_precision and make it available on all interfaces.
 - Intervals are best instantiated with checked numbers with
   particular policies: review all the interfaced boxes,
   augment the testsuite, and update the documentation.
-- DO_TEST_F should not cause the output "failed tests" to appear,
-  but "tests unexpectedly succeeded".
+- Make the library thread-safe.
+- Modify the Makefile.am's to extend silent mode to our own rules.
 - Reduce the number of FIXMEs to no more than 20.
-- Switch to the latest versions of Autoconf and Automake (in beta test
-  at the time of writing): they provide features we have been looking
-  for for years.
-- Use the OCaml-Autoconf macros: https://forge.ocamlcore.org/frs/?group_id=69
-  (see also
-  http://rwmj.wordpress.com/2009/03/31/using-autoconf-for-ocaml-projects/).
-- Fix the methods Box<ITV>::refine_with_constraint/s so that they perform
-  a safe (i.e., always terminating) propagation instead of ignoring the
-  non-interval constraints.
-
-
-Enhancements for PPL 0.11 or later versions
-===========================================
-
 - Consider switching to MLGMPIDL for the OCaml interface
   (see https://bugzilla.redhat.com/show_bug.cgi?id=491712).
 - Improve the OCaml interface by supporting dynamic loading.
@@ -47,21 +21,6 @@ Enhancements for PPL 0.11 or later versions
   of the simplex solver.
 - Complete the implementation of the --enable-check configure option.
   Explain it in README.configure.
-- Make the library thread-safe.
-- Find a way to let the GMP and checked-int versions of the PPL coexist
-  so as to allow using them in the same application.
-- Provide methods computing approximations of the integer convex hull
-  of semantic domains for the case where we are only interested in integral
-  solutions (as is the case, e.g., in many program analyses).  Then
-  cutting-plane methods (Gomory, Chvatal, ...) allow to shrink polyhedra
-  still not losing any integral solution.
-  See http://www.cs.unipr.it/ppl/Documentation/bibliography#NemhauserW88
-  Check the work by Kent Andersen and Gerard Cornuejols on
-  reduce-and-split cuts.
-- Consider the addition of "constraint-only" methods (e.g., computing
-  projections and upper bounds using the MIP solver).
-- Consider extending the MIP solver to handle Parametric Integer
-  Programming.
 - Ensure the tests in tests/MIP_Problem/* cover every line of
   code in MIP_Problem.*.
 - Define functions rem() and remp() to compute the remainder of division
@@ -101,6 +60,36 @@ Enhancements for PPL 0.11 or later versions
   is the one needed by users: in particular, see if it should take as
   an argument a generator system, instead of an abstract element.
 - Provide a generic implementation for the `widening with tokens'.
+- Implement the extrapolation operators defined in HenzingerH95
+  and HenzingerPW01.
+- Implement void Polyhedron::envelope_assign(const Polyhedron& y).
+- Provide support for strict inequalities in MIP problems.
+- Pointset_Powerset and Partially_Reduced_Product domains:
+  Improve and add to the existing methods for the powerset and product domains
+  so that they can be subdomains of themselves and of each other;
+  tidy the tests directories for these domains and ensure the code
+  with all likely instantiations is fully tested;
+  add the same functionaity to the C, Java, OCaml and Prolog interfaces.
+- Any_Pointset domain: check the interface for lacking or useless methods.
+
+
+Enhancements for PPL 0.13 or later versions
+===========================================
+
+- Find a way to let the GMP and checked-int versions of the PPL coexist
+  so as to allow using them in the same application.
+- Provide methods computing approximations of the integer convex hull
+  of semantic domains for the case where we are only interested in integral
+  solutions (as is the case, e.g., in many program analyses).  Then
+  cutting-plane methods (Gomory, Chvatal, ...) allow to shrink polyhedra
+  still not losing any integral solution.
+  See http://www.cs.unipr.it/ppl/Documentation/bibliography#NemhauserW88
+  Check the work by Kent Andersen and Gerard Cornuejols on
+  reduce-and-split cuts.
+- Consider the addition of "constraint-only" methods (e.g., computing
+  projections and upper bounds using the MIP solver).
+- Consider extending the MIP solver to handle Parametric Integer
+  Programming.
 - In the OK() methods, instead of having all those #ifndef NDEBUG,
   it is probably worthwhile to use a suitable defined `barf' stream
   that does the right thing.
@@ -108,14 +97,6 @@ Enhancements for PPL 0.11 or later versions
   "automatically".  Consider whether it is worth doing it.
 - Provide a single, generic implementation to replace all our status
   classes.
-- Implement the extrapolation operators defined in HenzingerH95
-  and HenzingerPW01.
-- Implement void Polyhedron::envelope_assign(const Polyhedron& y).
-- Provide support for strict inequalities in MIP problems.
-- See whether, using the techniques described in
-  ftp://ftp.ifor.math.ethz.ch/pub/fukuda/reports/polyunion001120.ps.gz
-  we can implement bool poly_hull_assign_if_exact(PH& p, const PH& q),
-  temporarily in algorithms.hh, more efficiently.
 - Provide optimized implementations of Polyhedron::expand_dimension()
   Polyhedron::fold_dimensions().
 - Add an implementation of Minkowski addition.  Check the algorithm
@@ -126,13 +107,7 @@ Enhancements for PPL 0.11 or later versions
     of convex polytopes.
     J. Symbolic Comput., 38(4):1261-1272, 2004.
 
-- Pointset_Powerset and Partially_Reduced_Product domains:
-  Improve and add to the existing methods for the powerset and product domains
-  so that they can be subdomains of themselves and of each other;
-  tidy the tests directories for these domains and ensure the code
-  with all likely instantiations is fully tested;
-  add the same functionaity to the C, Java, OCaml and Prolog interfaces.
-- Any_Pointset domain: check the interface for lacking or useless methods.
+
 
 Efficiency Issues
 =================
@@ -145,16 +120,3 @@ Efficiency Issues
   are concerned.
 - Provide a better implementation of computing squares in MIP_Problem's
   steepest-edge to avoid big numbers.
-
-Debian packaging
-================
-
-- Add an interface package for each Prolog as a suitable version of
-  that Prolog appears in Debian.  Control entries for these are in
-  control.prologs.
-- Find out if /usr/lib/pkgconfig entries are required in any packages.
-- libppl-dev is very large.  Consider moving the docs to libppl-doc
-  and the other files into libppl.
-- Verify the Build-Depends and Build-Depends-Indep settings, as per
-  the Debian Developers Reference section 5.10.1 point 1.
-- Consider renaming libppl-pwl to libpwl.
diff --git a/Watchdog/ChangeLog b/Watchdog/ChangeLog
index c5a1efe..d17018b 100644
--- a/Watchdog/ChangeLog
+++ b/Watchdog/ChangeLog
@@ -1,7 +1,306 @@
+2010-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* PPL 0.11 released.
+
+2010-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+        * Makefile.am, README, Watchdog/Makefile.am, Watchdog/README: 
+        Distribute all READMEs and ChangeLogs.
+
+2010-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS, NEWS, TODO, Watchdog/NEWS: Updated.
+
+2010-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README, Watchdog/README: Updated.
+
+2010-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/config.guess, config.guess: Updated.
+
+2010-06-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/config.guess, Watchdog/config.sub, Watchdog/install-sh,
+	Watchdog/ltmain.sh, Watchdog/m4/libtool.m4,
+	Watchdog/m4/ltoptions.m4, Watchdog/m4/ltversion.m4,
+	Watchdog/m4/lt~obsolete.m4, config.guess, config.sub, install-sh,
+	ltmain.sh, m4/libtool.m4, m4/ltoptions.m4, m4/ltversion.m4,
+	m4/lt~obsolete.m4: Updated from Libtool 2.2.10.
+
+2010-03-18  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* Watchdog/src/Threshold_Watcher.defs.hh: Avoid a broken reference
+	to another manual that is built later.
+
+2010-03-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Watchdog.cc: Apparently GNU Hurd only supports
+	ITIMER_REAL.  (Thanks to Michael Tautschnig:
+	http://www.cs.unipr.it/pipermail/ppl-devel/2010-March/016072.html).
+
+2010-03-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Watchdog.cc: Proper spacing added to
+	throw_syscall_error().  (Thanks to Michael Tautschnig.)
+
+2010-02-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO, Watchdog/src/Watchdog.inlines.hh,
+	Watchdog/tests/watchdog1.cc, interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.defs.hh,
+	interfaces/C/tests/watchdog1.c, tests/Polyhedron/watchdog1.cc: Throw
+	std::logic_error in case the client asks for watchdogs on a system
+	not supporting them.
+
+2010-02-26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* Watchdog/src/Threshold_Watcher.defs.hh,
+	interfaces/C/ppl_c_implementation_common.cc,
+	interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/OCaml/ppl_ocaml_common.cc,
+	interfaces/Prolog/ppl_prolog_common.cc,
+	tests/Polyhedron/weightwatch1.cc: Simplified initialization of
+	Threshold_Watcher<> static data member.
+
+2010-02-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/configure.ac: Use the C++ compiler to perform the tests
+	meant for C++.
+
+2010-02-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Watchdog.cc, Watchdog/src/Watchdog.defs.hh,
+	Watchdog/src/Watchdog.inlines.hh, Watchdog/src/pwl_header.hh: 
+	sigaction() is also needed, in addition to setitimer() in order to
+	support Watchdog objects.  We could check if signal() is available
+	if there is request for such a feature.
+
+2010-02-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Watchdog.cc, Watchdog/src/Watchdog.defs.hh,
+	Watchdog/src/Watchdog.inlines.hh, interfaces/C/tests/watchdog1.c,
+	interfaces/C/tests/weightwatch1.c: If setitimer() is not available,
+	no initialization is necessary.  This also works around a linking
+	bug in Mingw.  C tests improved with error-handling code.
+
+2010-02-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/tests/Makefile.am, Watchdog/tests/{simple1.cc =>
+	watchdog1.cc}: Test program renamed.
+
+2010-02-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/pwl_header.hh, Watchdog/tests/simple1.cc: Cater for
+	systems where setitimer() is not provided (part 4).
+
+2010-02-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Watchdog.cc, Watchdog/src/Watchdog.inlines.hh: Cater
+	for systems where setitimer() is not provided (part 3).
+
+2010-02-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO, Watchdog/pwl-config.sed, Watchdog/src/Watchdog.cc,
+	Watchdog/src/Watchdog.defs.hh, Watchdog/src/Watchdog.inlines.hh: 
+	Cater for systems where setitimer() is not provided (part 2).
+
+2010-02-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Watchdog.defs.hh, Watchdog/src/Watchdog.inlines.hh: 
+	Cater for systems where setitimer() is not provided (part 1).
+
+2010-02-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/configure.ac, configure.ac: Build the PWL unless not
+	explicitly disabled at configuration time.
+
+2010-02-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/tests/pwl_test.cc, tests/ppl_test.cc: Use the right
+	preprocessor conditionals for PPL_HAVE_DECL_SIGACTION.
+
+2010-02-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/tests/pwl_test.cc, tests/ppl_test.cc: Corrected several
+	problems.
+
+2010-02-15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/configure.ac, Watchdog/src/pwl_header.hh: Improved the
+	NDEBUG machinery.
+
+2010-02-15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/configure.ac, Watchdog/pwl-config.sed,
+	Watchdog/tests/pwl_test.cc, configure.ac, ppl-config.sed,
+	tests/ppl_test.cc: Improve portability to systems that do not
+	(fully) support Posix signal handling.
+
+2009-12-22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* INSTALL, Watchdog/INSTALL, Watchdog/compile,
+	Watchdog/config.guess, Watchdog/config.sub, compile, config.guess,
+	config.sub: Updated.
+
+2009-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/tests/Makefile.am: Do not link with -lm here.
+
+2009-07-30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* INSTALL, Watchdog/INSTALL: Updated from Autoconf 2.64.
+
+2009-07-13  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* Watchdog/src/Threshold_Watcher.defs.hh: Added additional info
+	about Traits template parameter.
+
+2009-07-13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* Watchdog/src/Watchdog.defs.hh: Drafted a few missing comments. To
+	be completed (by the author).
+
+2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Threshold_Watcher.defs.hh,
+	Watchdog/src/Threshold_Watcher.templates.hh: Private typedef
+	renamed.
+
+2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Watchdog.defs.hh: Removed spurious blank line.
+
+2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/NEWS: Drafted the news for PWL 0.8.
+
+2009-07-12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* Watchdog/doc/devref.doxyconf-html.in,
+	Watchdog/doc/devref.doxyconf-latex.in: Fixed INPUT variable in
+	Doxygen configuration for devref.
+
+2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/README, Watchdog/configure.ac, Watchdog/src/Makefile.am: 
+	Updated for PWL 0.8.
+
+2009-07-12  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* TODO, Watchdog/src/Watchdog.cc, Watchdog/src/Watchdog.defs.hh,
+	Watchdog/src/Watchdog.inlines.hh: Converted watchdog time argument
+	to unsigned.
+
+2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/m4/lib-link.m4, m4/lib-link.m4: Updated.
+
+2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/configure.ac: Require Automake 1.11, enable lzma tar
+	archives and silent rules.
+
+2009-07-12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* Watchdog/src/Threshold_Watcher.defs.hh,
+	Watchdog/src/Threshold_Watcher.templates.hh,
+	tests/Polyhedron/weightwatch1.cc: Avoid dummy parameter in
+	constructor for Threshold_Watcher::Initialize.  Renamed `initialize'
+	to `init' to avoid visual clash with `Initialize'.
+
+2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* INSTALL, Watchdog/INSTALL, Watchdog/compile,
+	Watchdog/config.guess, Watchdog/config.sub, Watchdog/depcomp,
+	Watchdog/install-sh, Watchdog/missing, Watchdog/mkinstalldirs,
+	compile, config.guess, config.sub, depcomp, install-sh, missing,
+	mkinstalldirs: Updated.
+
+2009-07-12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* Watchdog/src/EList.defs.hh, Watchdog/src/Threshold_Watcher.cc,
+	Watchdog/src/Threshold_Watcher.defs.hh,
+	Watchdog/src/Threshold_Watcher.templates.hh,
+	Watchdog/src/Threshold_Watcher.types.hh: Minor improvements: prefer
+	direct header file inclusions to indirect ones.  Avoid unnecessarily
+	long lines.
+
+2009-07-11  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* Watchdog/src/Makefile.am, Watchdog/src/Pending_List.defs.hh,
+	Watchdog/src/Pending_List.inlines.hh,
+	Watchdog/src/Pending_List.templates.hh,
+	Watchdog/src/Pending_List.types.hh, Watchdog/src/{Weightwatch.cc =>
+	Threshold_Watcher.cc}, Watchdog/src/{Weightwatch.defs.hh =>
+	Threshold_Watcher.defs.hh}, Watchdog/src/{Weightwatch.inlines.hh =>
+	Threshold_Watcher.inlines.hh},
+	Watchdog/src/{Weightwatch.templates.hh =>
+	Threshold_Watcher.templates.hh}, Watchdog/src/{Weightwatch.types.hh
+	=> Threshold_Watcher.types.hh}, Watchdog/src/Watchdog.defs.hh: 
+	Converted Weightwatch in more generic Threshold_Watcher.
+
+2009-07-11  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* Watchdog/src/Weightwatch.inlines.hh: Fixed typo.
+
+2009-07-11  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* Watchdog/src/Weightwatch.cc: Forgotten file.
+
+2009-07-11  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* Watchdog/src/Makefile.am, Watchdog/src/Pending_List.defs.hh,
+	Watchdog/src/Pending_List.inlines.hh,
+	Watchdog/src/Pending_List.templates.hh,
+	Watchdog/src/Pending_List.types.hh, Watchdog/src/Watchdog.defs.hh,
+	Watchdog/src/Weightwatch.cc, Watchdog/src/Weightwatch.defs.hh,
+	Watchdog/src/Weightwatch.inlines.hh,
+	Watchdog/src/Weightwatch.templates.hh,
+	Watchdog/src/Weightwatch.types.hh: Weightwatch are now generic
+	threshold watchdog.
+
+2009-07-11  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* Watchdog/src/Weightwatch.cc, Watchdog/src/Weightwatch.defs.hh,
+	Watchdog/src/Weightwatch.inlines.hh: Weightwatch are now independent
+	from client code.
+
+2009-07-10  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* Watchdog/src/EList.inlines.hh, Watchdog/src/Makefile.am,
+	Watchdog/src/Pending_Element.cc,
+	Watchdog/src/Pending_Element.defs.hh,
+	Watchdog/src/Pending_Element.inlines.hh,
+	Watchdog/src/Pending_Element.types.hh,
+	Watchdog/src/Pending_List.defs.hh,
+	Watchdog/src/Pending_List.inlines.hh, Watchdog/src/{Pending_List.cc
+	=> Pending_List.templates.hh}, Watchdog/src/Pending_List.types.hh,
+	Watchdog/src/Watchdog.cc, Watchdog/src/Watchdog.defs.hh,
+	Watchdog/src/Weightwatch.cc, Watchdog/src/Weightwatch.defs.hh,
+	Watchdog/src/Weightwatch.inlines.hh,
+	Watchdog/src/Weightwatch.types.hh: Added Weightwatch.
+
+2009-04-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README, Watchdog/src/Makefile.am, configure.ac,
+	demos/ppl_lcdd/ppl_lcdd.1, demos/ppl_lpsol/ppl_lpsol.1,
+	doc/libppl.3, doc/libppl_c.3, doc/ppl-config.1,
+	doc/ppl-config_extra_man_text, interfaces/C/Makefile.am,
+	src/Makefile.am: Version number bumped.
+
 2009-04-18  Roberto Bagnara <bagnara at cs.unipr.it>
 
 	* PPL 0.10.2 released.
 
+2009-04-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/ChangeLog: Mark ChangeLog.
+
+2009-04-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog, Watchdog/ChangeLog: Updated.
+
 2009-04-16  Roberto Bagnara <bagnara at cs.unipr.it>
 
 	* Watchdog/doc/Makefile.am, doc/Makefile.am: Added targets to have
diff --git a/Watchdog/ChangeLog_2001-2008 b/Watchdog/ChangeLog_2001-2008
new file mode 100644
index 0000000..9eb2690
--- /dev/null
+++ b/Watchdog/ChangeLog_2001-2008
@@ -0,0 +1,2162 @@
+2008-12-31 Wednesday 23:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.37), README (1.21), configure.ac (1.58),
+	  doc/Makefile.am (1.9), doc/README.doc (1.4), doc/devref.tex
+	  (1.6), doc/pwl.sty (1.4), doc/user.tex (1.6), m4/Makefile.am
+	  (1.6), src/Doubly_Linked_Object.defs.hh (1.7),
+	  src/Doubly_Linked_Object.inlines.hh (1.7),
+	  src/Doubly_Linked_Object.types.hh (1.5), src/EList.defs.hh (1.9),
+	  src/EList.inlines.hh (1.7), src/EList.types.hh (1.5),
+	  src/EList_Iterator.defs.hh (1.7), src/EList_Iterator.inlines.hh
+	  (1.7), src/EList_Iterator.types.hh (1.5), src/Handler.defs.hh
+	  (1.8), src/Handler.inlines.hh (1.7), src/Handler.types.hh (1.5),
+	  src/Makefile.am (1.19), src/Pending_Element.cc (1.8),
+	  src/Pending_Element.defs.hh (1.8), src/Pending_Element.inlines.hh
+	  (1.7), src/Pending_Element.types.hh (1.5), src/Pending_List.cc
+	  (1.8), src/Pending_List.defs.hh (1.8),
+	  src/Pending_List.inlines.hh (1.7), src/Pending_List.types.hh
+	  (1.5), src/Time.cc (1.8), src/Time.defs.hh (1.8),
+	  src/Time.inlines.hh (1.7), src/Time.types.hh (1.5),
+	  src/Watchdog.cc (1.10), src/Watchdog.defs.hh (1.10),
+	  src/Watchdog.inlines.hh (1.7), src/Watchdog.types.hh (1.5),
+	  src/pwl_header.hh (1.8), tests/Makefile.am (1.7),
+	  tests/pwl_test.cc (1.4), tests/pwl_test.hh (1.4),
+	  tests/simple1.cc (1.4), utils/Makefile.am (1.13),
+	  utils/build_header.in (1.7): Copyright years extended.
+
+2008-12-16 Tuesday 07:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog, README, config.rpath, configure.ac, doc/Makefile.am,
+	  doc/user.doxyconf-html.in, doc/user.doxyconf-latex.in,
+	  m4/Makefile.am, m4/lib-ld.m4, m4/lib-link.m4
+	  (bounded_arithmetic.[3,2,2,3,3,3,3,2,2,2]): Third merge of the
+	  trunk to the bounded_arithmetic branch.
+
+2008-11-30 Sunday 21:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.57): Postpone the AC_LIB_RPATH test.
+
+2008-11-05 Wednesday 19:17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am (1.8): Doxygen configuration files are generated
+	  by the configure script, so that they don't have to be listed in
+	  EXTRA_DIST.  (Thanks to Michael Tautschnig for pointing this
+	  out.)
+
+2008-11-04 Tuesday 10:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (ppl-0_10-branch.1): Mark ChangeLog.
+
+2008-11-04 Tuesday 09:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.24): Updated.
+
+2008-11-03 Monday 09:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* INSTALL (1.10): Previous commit reverted.
+
+2008-11-03 Monday 08:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* INSTALL (1.9): Same changes as in previous commit for the
+	  top-level ppl INSTALL file.
+
+2008-11-01 Saturday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.20): Updated.
+
+2008-11-01 Saturday 12:54  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: user.doxyconf-html.in (1.6), user.doxyconf-latex.in (1.6):
+	  Do not produce the collaboration graph in the user docs, as this
+	  graph contains implementation info.
+
+2008-10-31 Friday 19:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.23): Updated.
+
+2008-10-31 Friday 15:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.rpath (1.1), configure.ac (1.56), m4/Makefile.am (1.5),
+	  m4/lib-ld.m4 (1.1), m4/lib-link.m4 (1.1): Added the
+	  `--disable-rpath' option to the configuration script.  The
+	  definition of `m4macros' in `Makefile.am' had several omissions:
+	  fixed.
+
+2008-10-29 Wednesday 21:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog, Makefile.am, NEWS, README, config.guess, config.sub,
+	  configure.ac, doc/Makefile.am, doc/devref.doxyconf-html.in,
+	  doc/devref.doxyconf-latex.in, doc/user.doxyconf-html.in,
+	  doc/user.doxyconf-latex.in, m4/Makefile.am,
+	  m4/ax_prefix_config_h.m4, src/Doubly_Linked_Object.defs.hh,
+	  src/Doubly_Linked_Object.inlines.hh, src/EList.defs.hh,
+	  src/EList.inlines.hh, src/EList_Iterator.defs.hh,
+	  src/EList_Iterator.inlines.hh, src/Handler.defs.hh,
+	  src/Handler.inlines.hh, src/Makefile.am, src/Pending_Element.cc,
+	  src/Pending_Element.defs.hh, src/Pending_Element.inlines.hh,
+	  src/Pending_List.cc, src/Pending_List.defs.hh,
+	  src/Pending_List.inlines.hh, src/Time.cc, src/Time.defs.hh,
+	  src/Time.inlines.hh, src/Watchdog.cc, src/Watchdog.defs.hh,
+	  src/Watchdog.inlines.hh, src/pwl_header.hh, tests/.cvsignore,
+	  tests/Makefile.am, tests/pwl_test.cc, tests/pwl_test.hh,
+	  tests/simple1.cc, tests/valgrind_suppressions, utils/Makefile.am
+	  (bounded_arithmetic.[2,1,1,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2]):
+	  Second merge of the trunk to the bounded_arithmetic branch.
+
+2008-10-27 Monday 18:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.22): Updated.
+
+2008-10-26 Sunday 20:51  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.12): The target release date is November 4, 2008.
+
+2008-10-26 Sunday 20:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.19), ChangeLog (1.21): Updated.
+
+2008-10-26 Sunday 19:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.55), src/Makefile.am (1.18): Version number
+	  corrected.
+
+2008-10-26 Sunday 09:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* src/Makefile.am (1.17): Ensure the clean and mostlyclean comply
+	  with the 'STANDARDS' file and are used sensibly.
+
+	  Removed - Check all the Makefile.am's to make sure CLEANFILES,
+	  MOSTLYCLEANFILES   and DISTCLEANFILES are used in a sensible way.
+	   from the TODO list for 0.10
+
+2008-10-25 Saturday 22:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am (1.7): Do clean .tag files generated by Doxygen.
+
+2008-10-24 Friday 22:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am (1.6): Avoid cleaning distributed built files.
+	  Try to follow the rule stated in Section 27.5 of the Automake
+	  manual: distributed files should never depend upon
+	  non-distributed built files.
+
+2008-10-19 Sunday 14:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/pwl_test.cc (1.3): Do not rely on the definition of
+	  optional macros of <fenv.h>.
+
+2008-10-19 Sunday 14:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/pwl_test.cc (bounded_arithmetic.1): file pwl_test.cc was
+	  added on branch bounded_arithmetic on 2008-10-29 20:45:22 +0000
+
+2008-10-18 Saturday 21:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/pwl_test.hh (1.3): Define the NOISY and VERY_NOISY macros
+	  before they are used.  Unused parameter warning avoided.
+
+2008-10-18 Saturday 21:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/pwl_test.hh (bounded_arithmetic.1): file pwl_test.hh was
+	  added on branch bounded_arithmetic on 2008-10-29 20:45:22 +0000
+
+2008-10-18 Saturday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Makefile.am (1.6): Must link with -lm for fetestexcept().
+
+2008-10-18 Saturday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Makefile.am (bounded_arithmetic.1): file Makefile.am was
+	  added on branch bounded_arithmetic on 2008-10-29 20:45:22 +0000
+
+2008-10-18 Saturday 20:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.54): Improved and reorganized.
+
+2008-10-11 Saturday 22:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.53): The PWL is now enabled by default also on
+	  Cygwin.
+
+2008-10-11 Saturday 10:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.repo (1.5): The configure.repo files do not solve the
+	  problem they were meant to solve.
+
+2008-10-11 Saturday 10:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Makefile.am (1.5): Avoid using $(builddir).
+
+2008-10-10 Friday 21:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.20): Updated.
+
+2008-10-06 Monday 21:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.36), configure.ac (1.52), configure.repo (1.4),
+	  src/Makefile.am (1.16): Fixed the machinery used to
+	  conditionalize the build of the PWL.	The PWL is currently
+	  disabled under Cygwin because of the bug reported in
+	  http://www.cs.unipr.it/pipermail/ppl-devel/2008-October/013156.html.
+
+2008-10-06 Monday 15:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/simple1.cc (bounded_arithmetic.1): file simple1.cc was
+	  added on branch bounded_arithmetic on 2008-10-29 20:45:22 +0000
+
+2008-10-06 Monday 15:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.51), configure.repo (1.3), Makefile.am (1.35),
+	  README (1.18), m4/Makefile.am (1.4),
+	  src/Doubly_Linked_Object.defs.hh (1.6),
+	  src/Doubly_Linked_Object.inlines.hh (1.6), src/EList.defs.hh
+	  (1.8), src/EList.inlines.hh (1.6), src/EList_Iterator.defs.hh
+	  (1.6), src/EList_Iterator.inlines.hh (1.6), src/Handler.defs.hh
+	  (1.7), src/Handler.inlines.hh (1.6), src/Makefile.am (1.15),
+	  src/Pending_Element.cc (1.7), src/Pending_Element.defs.hh (1.7),
+	  src/Pending_Element.inlines.hh (1.6), src/Pending_List.cc (1.7),
+	  src/Pending_List.defs.hh (1.7), src/Pending_List.inlines.hh
+	  (1.6), src/Time.cc (1.7), src/Time.defs.hh (1.7),
+	  src/Time.inlines.hh (1.6), src/Watchdog.cc (1.9),
+	  src/Watchdog.defs.hh (1.9), src/Watchdog.inlines.hh (1.6),
+	  src/pwl_header.hh (1.7), tests/Makefile.am (1.4),
+	  tests/pwl_test.cc (1.2), tests/pwl_test.hh (1.2),
+	  tests/simple1.cc (1.3), utils/Makefile.am (1.12): Copyright
+	  notices made consistent.
+
+2008-10-05 Sunday 22:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: devref.doxyconf-latex.in (1.4), user.doxyconf-html.in
+	  (1.5), user.doxyconf-latex.in (1.5): Updated for Doxygen 1.5.7.1.
+
+2008-10-05 Sunday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Makefile.am (1.3): Spurious backslash removed.
+
+2008-10-05 Sunday 22:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/: Makefile.am (1.2), valgrind_suppressions (1.1):
+	  Distribute also pwl_test.hh and valgrind_suppressions.
+
+2008-10-05 Sunday 22:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/valgrind_suppressions (bounded_arithmetic.1): file
+	  valgrind_suppressions was added on branch bounded_arithmetic on
+	  2008-10-29 20:45:22 +0000
+
+2008-10-05 Sunday 22:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref.doxyconf-html.in (1.4): Updated for Doxygen 1.5.7.1.
+
+2008-10-05 Sunday 10:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/simple1.cc (1.2): Added some debug output.
+
+2008-10-05 Sunday 09:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/.cvsignore (bounded_arithmetic.1): file .cvsignore was
+	  added on branch bounded_arithmetic on 2008-10-29 20:45:22 +0000
+
+2008-10-05 Sunday 09:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.34), configure.ac (1.50), configure.repo (1.2),
+	  tests/.cvsignore (1.1), tests/Makefile.am (1.1),
+	  tests/pwl_test.cc (1.1), tests/pwl_test.hh (1.1),
+	  tests/simple1.cc (1.1): Make some simple tests also with the
+	  Parma Watchdog Library.
+
+2008-10-04 Saturday 18:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ax_prefix_config_h.m4 (1.2): Updated.
+
+2008-10-04 Saturday 17:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.27), config.sub (1.25): Updated.
+
+2008-09-20 Saturday 20:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.49), configure.repo (1.1): Capitalization fixed.
+
+2008-09-20 Saturday 20:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.11): Set a tentative release date.
+
+2008-09-20 Saturday 20:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.48): We do not need the `win32-dll' Libtool
+	  option.
+
+2008-09-20 Saturday 20:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.47): Punctuation improved.  Require Autoconf 2.60
+	  or later.
+
+2008-09-20 Saturday 19:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.19): Updated.
+
+2008-09-11 Thursday 22:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog, INSTALL, config.guess, config.sub, configure.ac,
+	  ltmain.sh, doc/Makefile.am, doc/devref.doxyconf-html.in,
+	  doc/devref.doxyconf-latex.in, doc/user.doxyconf-html.in,
+	  doc/user.doxyconf-latex.in, m4/libtool.m4, m4/ltoptions.m4,
+	  m4/ltsugar.m4, m4/ltversion.m4, src/Makefile.am,
+	  utils/Makefile.am
+	  (bounded_arithmetic.[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]): First
+	  merge of the trunk to the bounded_arithmetic branch.
+
+2008-09-11 Thursday 20:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* INSTALL (1.8): Updated from Autoconf 2.63.
+
+2008-09-08 Monday 17:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.46), utils/Makefile.am (1.11): Use AC_PROG_SED in
+	  configure.ac's and $(SED), instead of plain `sed', in
+	  Makefile.am's.
+
+2008-09-07 Sunday 12:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/Makefile.am (1.5): `abs_srcdir' is automatically set by
+	  Automake: removed redundant definitions.
+
+2008-09-07 Sunday 12:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.26), config.sub (1.24): Updated.
+
+2008-09-07 Sunday 11:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.14), utils/Makefile.am (1.10): Removed useless
+	  dependencies from Makefile.
+
+2008-09-07 Sunday 11:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.24), m4/libtool.m4 (1.6), m4/ltoptions.m4 (1.4),
+	  m4/ltsugar.m4 (1.2), m4/ltversion.m4 (1.5): Updated from Libtool
+	  2.2.6.
+
+2008-09-06 Saturday 17:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: devref.doxyconf-html.in (1.3), devref.doxyconf-latex.in
+	  (1.3), user.doxyconf-html.in (1.4), user.doxyconf-latex.in (1.4):
+	  Updated.
+
+2008-08-15 Friday 15:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.18): Updated.
+
+2008-06-06 Friday 16:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* .cvsignore, ChangeLog, INSTALL, config.guess, config.sub,
+	  configure.ac, depcomp, install-sh, ltmain.sh,
+	  doc/devref.doxyconf-html.in, doc/devref.doxyconf-latex.in,
+	  doc/devref.tex, doc/fdl.dox, doc/gpl.dox,
+	  doc/user.doxyconf-html.in, doc/user.doxyconf-latex.in,
+	  doc/user.tex, m4/libtool.m4, m4/ltoptions.m4, m4/ltsugar.m4,
+	  m4/ltversion.m4, m4/lt~obsolete.m4, src/.cvsignore
+	  (simplex.[1,4,3,5,5,3,1,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2]): Fifth
+	  merge of the trunk to the `simplex' branch.
+
+2008-05-05 Monday 13:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.45), ltmain.sh (1.23), m4/libtool.m4 (1.5),
+	  m4/ltoptions.m4 (1.3), m4/ltversion.m4 (1.4), m4/lt~obsolete.m4
+	  (1.2): Updated to Libtool 2.2.4.
+
+2008-05-05 Monday 13:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/libtool.m4 (simplex.1): file libtool.m4 was added on branch
+	  simplex on 2008-06-06 14:21:55 +0000
+
+2008-05-05 Monday 13:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ltoptions.m4 (simplex.1): file ltoptions.m4 was added on
+	  branch simplex on 2008-06-06 14:21:55 +0000
+
+2008-05-05 Monday 13:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ltversion.m4 (simplex.1): file ltversion.m4 was added on
+	  branch simplex on 2008-06-06 14:21:55 +0000
+
+2008-05-05 Monday 13:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/lt~obsolete.m4 (simplex.1): file lt~obsolete.m4 was added on
+	  branch simplex on 2008-06-06 14:21:55 +0000
+
+2008-04-02 Wednesday 08:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.22), m4/libtool.m4 (1.4), m4/ltoptions.m4 (1.2),
+	  m4/ltversion.m4 (1.3): Updated from Libtool 2.2.2.
+
+2008-03-22 Saturday 10:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref.tex (1.5), fdl.dox (1.2), gpl.dox (1.3), user.tex
+	  (1.5): Properly named page anchors so as to avoid undefined
+	  references in the LaTeX documentation.
+
+2008-03-22 Saturday 10:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/: devref.doxyconf-html.in (1.2), devref.doxyconf-latex.in
+	  (1.2), user.doxyconf-html.in (1.3), user.doxyconf-latex.in (1.3):
+	  Doxygen configuration files upgraded.
+
+2008-03-18 Tuesday 20:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.17): Updated.
+
+2008-03-08 Saturday 11:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.21), m4/libtool.m4 (1.3), m4/ltversion.m4 (1.2):
+	  Updated from Libtool 2.3a.
+
+2008-03-05 Wednesday 22:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.44): Use the new style macro to initialize
+	  Libtool.
+
+2008-03-05 Wednesday 21:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.20), m4/libtool.m4 (1.2): Updated to the CVS HEAD
+	  version of Libtool: this seems to solve the problems we
+	  experienced since the switch to Libtool 2.2.
+
+2008-03-02 Sunday 23:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ltsugar.m4 (simplex.1): file ltsugar.m4 was added on branch
+	  simplex on 2008-06-06 14:21:55 +0000
+
+2008-03-02 Sunday 23:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.25), ltmain.sh (1.19), m4/libtool.m4 (1.1),
+	  m4/ltoptions.m4 (1.1), m4/ltsugar.m4 (1.1), m4/ltversion.m4
+	  (1.1), m4/lt~obsolete.m4 (1.1): Switched to Libtool 2.2.
+
+2008-01-22 Tuesday 08:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* INSTALL (1.7), config.guess (1.24), config.sub (1.23), depcomp
+	  (1.10), install-sh (1.15): Updated from Automake 1.10.1.
+
+2008-01-09 Wednesday 22:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* .cvsignore (1.7), src/.cvsignore (1.3): Ignore *.loT files.
+
+2008-01-09 Wednesday 22:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* .cvsignore (1.6): Updated.
+
+2008-01-07 Monday 12:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* COPYING, ChangeLog, INSTALL, Makefile.am, NEWS, README, compile,
+	  config.guess, config.sub, configure.ac, ltmain.sh,
+	  doc/.cvsignore, doc/Makefile.am, doc/README.doc,
+	  doc/devref.doxyconf-html.in, doc/devref.doxyconf-latex.in,
+	  doc/devref.tex, doc/fdl.dox, doc/fdl.tex, doc/fdl.txt,
+	  doc/gpl.dox, doc/gpl.tex, doc/gpl.txt, doc/pwl.sty,
+	  doc/user.doxyconf-html.in, doc/user.doxyconf-latex.in,
+	  doc/user.tex, m4/.cvsignore, m4/Makefile.am,
+	  m4/ax_prefix_config_h.m4, src/Doubly_Linked_Object.defs.hh,
+	  src/Doubly_Linked_Object.inlines.hh,
+	  src/Doubly_Linked_Object.types.hh, src/EList.defs.hh,
+	  src/EList.inlines.hh, src/EList.types.hh,
+	  src/EList_Iterator.defs.hh, src/EList_Iterator.inlines.hh,
+	  src/EList_Iterator.types.hh, src/Handler.defs.hh,
+	  src/Handler.inlines.hh, src/Handler.types.hh, src/Makefile.am,
+	  src/Pending_Element.cc, src/Pending_Element.defs.hh,
+	  src/Pending_Element.inlines.hh, src/Pending_Element.types.hh,
+	  src/Pending_List.cc, src/Pending_List.defs.hh,
+	  src/Pending_List.inlines.hh, src/Pending_List.types.hh,
+	  src/Time.cc, src/Time.defs.hh, src/Time.inlines.hh,
+	  src/Time.types.hh, src/Watchdog.cc, src/Watchdog.defs.hh,
+	  src/Watchdog.inlines.hh, src/Watchdog.types.hh,
+	  src/pwl_header.hh, utils/Makefile.am, utils/build_header.in
+	  (simplex.[1,3,2,3,2,3,1,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,2,2,3,2]):
+	  Fourth merge of the trunk to the `simplex' branch.  The `simplex'
+	  branch is open again.
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.33), README (1.17), configure.ac (1.43),
+	  doc/Makefile.am (1.4), doc/README.doc (1.3), doc/devref.tex
+	  (1.4), doc/pwl.sty (1.3), doc/user.tex (1.4), m4/Makefile.am
+	  (1.3), src/Doubly_Linked_Object.defs.hh (1.5),
+	  src/Doubly_Linked_Object.inlines.hh (1.5),
+	  src/Doubly_Linked_Object.types.hh (1.4), src/EList.defs.hh (1.7),
+	  src/EList.inlines.hh (1.5), src/EList.types.hh (1.4),
+	  src/EList_Iterator.defs.hh (1.5), src/EList_Iterator.inlines.hh
+	  (1.5), src/EList_Iterator.types.hh (1.4), src/Handler.defs.hh
+	  (1.6), src/Handler.inlines.hh (1.5), src/Handler.types.hh (1.4),
+	  src/Makefile.am (1.13), src/Pending_Element.cc (1.6),
+	  src/Pending_Element.defs.hh (1.6), src/Pending_Element.inlines.hh
+	  (1.5), src/Pending_Element.types.hh (1.4), src/Pending_List.cc
+	  (1.6), src/Pending_List.defs.hh (1.6),
+	  src/Pending_List.inlines.hh (1.5), src/Pending_List.types.hh
+	  (1.4), src/Time.cc (1.6), src/Time.defs.hh (1.6),
+	  src/Time.inlines.hh (1.5), src/Time.types.hh (1.4),
+	  src/Watchdog.cc (1.8), src/Watchdog.defs.hh (1.8),
+	  src/Watchdog.inlines.hh (1.5), src/Watchdog.types.hh (1.4),
+	  src/pwl_header.hh (1.6), utils/Makefile.am (1.9),
+	  utils/build_header.in (1.6): Copyright years extended.
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/Makefile.am, m4/Makefile.am (simplex.[1,1]): file Makefile.am
+	  was added on branch simplex on 2008-01-07 11:15:25 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/README.doc (simplex.1): file README.doc was added on branch
+	  simplex on 2008-01-07 11:15:25 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref.tex (simplex.1): file devref.tex was added on branch
+	  simplex on 2008-01-07 11:15:25 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/pwl.sty (simplex.1): file pwl.sty was added on branch simplex
+	  on 2008-01-07 11:15:25 +0000
+
+2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user.tex (simplex.1): file user.tex was added on branch
+	  simplex on 2008-01-07 11:15:25 +0000
+
+2007-10-14 Sunday 14:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Watchdog.defs.hh (1.7): Non-standard qualification removed.
+
+2007-10-09 Tuesday 21:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* INSTALL (1.6): The `make uninstall' command is now mentioned in
+	  the INSTALL file.
+
+2007-09-15 Saturday 18:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Makefile.am (1.12): Made clean up independent from
+	  configuration.
+
+2007-09-13 Thursday 19:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.10), doc/devref.tex (1.3), doc/gpl.dox (1.2), doc/gpl.tex
+	  (1.2), doc/gpl.txt (1.2), doc/user.tex (1.3): The Parma Watchdog
+	  Library is now released under the terms of the version 3 (or
+	  later) of the GNU General Public License.
+
+2007-09-13 Thursday 19:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/gpl.dox (simplex.1): file gpl.dox was added on branch simplex
+	  on 2008-01-07 11:15:25 +0000
+
+2007-09-13 Thursday 19:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/gpl.tex (simplex.1): file gpl.tex was added on branch simplex
+	  on 2008-01-07 11:15:25 +0000
+
+2007-09-13 Thursday 19:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/gpl.txt (simplex.1): file gpl.txt was added on branch simplex
+	  on 2008-01-07 11:15:25 +0000
+
+2007-09-12 Wednesday 09:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.42): Do not allow AC_PROG_CC and AC_PROG_CXX to
+	  affect CFLAGS and CXXFLAGS.
+
+2007-09-10 Monday 15:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.41): Added a comment about the positioning of
+	  AC_PROG_CC and AC_PROG_CXX.
+
+2007-09-10 Monday 11:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.40): Pass the no-define option to
+	  AM_INIT_AUTOMAKE.
+
+2007-09-10 Monday 10:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* compile (1.7), config.guess (1.23), config.sub (1.22): Updated.
+
+2007-09-10 Monday 09:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.39): Corrections to the handling of compilation
+	  flags.
+
+2007-08-27 Monday 15:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/: user.doxyconf-html.in (1.2), user.doxyconf-latex.in (1.2):
+	  Updated to Doxygen 1.5.3-20070815.
+
+2007-08-27 Monday 15:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user.doxyconf-html.in (simplex.1): file user.doxyconf-html.in
+	  was added on branch simplex on 2008-01-07 11:15:25 +0000
+
+2007-08-27 Monday 15:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user.doxyconf-latex.in (simplex.1): file
+	  user.doxyconf-latex.in was added on branch simplex on 2008-01-07
+	  11:15:25 +0000
+
+2007-07-30 Monday 13:04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* Makefile.am (1.32): Added a comment on the need to explicitly
+	  clean files generated by macro AX_PREFIX_CONFIG_H.
+
+2007-07-29 Sunday 16:58  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* Makefile.am (1.31): The prefixed configuration header and
+	  _config.sed added to DESTCLEANFILES.
+
+2007-07-12 Thursday 09:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* COPYING (1.4), Makefile.am (1.30), README (1.16), configure.ac
+	  (1.38), doc/Makefile.am (1.3), doc/README.doc (1.2),
+	  doc/devref.tex (1.2), doc/pwl.sty (1.2), doc/user.tex (1.2),
+	  m4/Makefile.am (1.2), src/Doubly_Linked_Object.defs.hh (1.4),
+	  src/Doubly_Linked_Object.inlines.hh (1.4), src/EList.defs.hh
+	  (1.6), src/EList.inlines.hh (1.4), src/EList_Iterator.defs.hh
+	  (1.4), src/EList_Iterator.inlines.hh (1.4), src/Handler.defs.hh
+	  (1.5), src/Handler.inlines.hh (1.4), src/Makefile.am (1.11),
+	  src/Pending_Element.cc (1.5), src/Pending_Element.defs.hh (1.5),
+	  src/Pending_Element.inlines.hh (1.4), src/Pending_List.cc (1.5),
+	  src/Pending_List.defs.hh (1.5), src/Pending_List.inlines.hh
+	  (1.4), src/Time.cc (1.5), src/Time.defs.hh (1.5),
+	  src/Time.inlines.hh (1.4), src/Watchdog.cc (1.7),
+	  src/Watchdog.defs.hh (1.6), src/Watchdog.inlines.hh (1.4),
+	  src/pwl_header.hh (1.5), utils/Makefile.am (1.8),
+	  utils/build_header.in (1.5): Started the upgrade to GPL version 3
+	  or later.
+
+2007-07-04 Wednesday 13:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.29): Added `m4' to `SUBDIRS'.
+
+2007-06-28 Thursday 11:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.18): Updated from Libtool 1.5.24.
+
+2007-06-08 Friday 18:20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.37): Do not override the externally-provided
+	  CFLAGS and CXXFLAGS.
+
+2007-06-08 Friday 17:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/.cvsignore (simplex.1): file .cvsignore was added on branch
+	  simplex on 2008-01-07 11:15:25 +0000
+
+2007-06-08 Friday 17:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ax_prefix_config_h.m4 (simplex.1): file ax_prefix_config_h.m4
+	  was added on branch simplex on 2008-01-07 11:15:25 +0000
+
+2007-06-08 Friday 17:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.28), NEWS (1.9), configure.ac (1.36),
+	  m4/.cvsignore (1.1), m4/Makefile.am (1.1),
+	  m4/ax_prefix_config_h.m4 (1.1), src/Makefile.am (1.10),
+	  src/Pending_Element.cc (1.4), src/Pending_List.cc (1.4),
+	  src/Time.cc (1.4), src/Watchdog.cc (1.6), src/Watchdog.defs.hh
+	  (1.5), src/pwl_header.hh (1.4): The `pwl.hh' header file no
+	  longer defines macros not prefixed by "PWL_".
+
+2007-05-21 Monday 15:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.17): Updated from Libtool 1.5.23b.
+
+2007-03-11 Sunday 10:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/Makefile.am (1.2): No longer mention README.configure.
+
+2007-02-25 Sunday 19:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am, README, configure.ac, doc/.cvsignore,
+	  doc/Makefile.am, doc/README.doc, doc/devref.doxyconf-html.in,
+	  doc/devref.doxyconf-latex.in, doc/devref.tex, doc/fdl.dox,
+	  doc/fdl.tex, doc/fdl.txt, doc/gpl.dox, doc/gpl.tex, doc/gpl.txt,
+	  doc/pwl.sty, doc/user.doxyconf-html.in,
+	  doc/user.doxyconf-latex.in, doc/user.tex,
+	  src/Doubly_Linked_Object.defs.hh,
+	  src/Doubly_Linked_Object.inlines.hh,
+	  src/Doubly_Linked_Object.types.hh, src/EList.defs.hh,
+	  src/EList.inlines.hh, src/EList.types.hh,
+	  src/EList_Iterator.defs.hh, src/EList_Iterator.inlines.hh,
+	  src/EList_Iterator.types.hh, src/Handler.defs.hh,
+	  src/Handler.inlines.hh, src/Handler.types.hh, src/Makefile.am,
+	  src/Pending_Element.cc, src/Pending_Element.defs.hh,
+	  src/Pending_Element.inlines.hh, src/Pending_Element.types.hh,
+	  src/Pending_List.cc, src/Pending_List.defs.hh,
+	  src/Pending_List.inlines.hh, src/Pending_List.types.hh,
+	  src/Time.cc, src/Time.defs.hh, src/Time.inlines.hh,
+	  src/Time.types.hh, src/Watchdog.cc, src/Watchdog.defs.hh,
+	  src/Watchdog.inlines.hh, src/Watchdog.types.hh,
+	  src/pwl_header.hh, utils/Makefile.am, utils/build_header.in
+	  (altnum.[7,4,5,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]):
+	  Tenth merge of the main trunk to the `altnum' branch.
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/.cvsignore (altnum.1): file .cvsignore was added on branch
+	  altnum on 2007-02-25 18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/.cvsignore (simplex.1): file .cvsignore was added on branch
+	  simplex on 2008-01-07 11:15:25 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/Makefile.am (altnum.1): file Makefile.am was added on branch
+	  altnum on 2007-02-25 18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/README.doc (altnum.1): file README.doc was added on branch
+	  altnum on 2007-02-25 18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref.doxyconf-html.in (altnum.1): file
+	  devref.doxyconf-html.in was added on branch altnum on 2007-02-25
+	  18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref.doxyconf-html.in (simplex.1): file
+	  devref.doxyconf-html.in was added on branch simplex on 2008-01-07
+	  11:15:25 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref.doxyconf-latex.in (altnum.1): file
+	  devref.doxyconf-latex.in was added on branch altnum on 2007-02-25
+	  18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref.doxyconf-latex.in (simplex.1): file
+	  devref.doxyconf-latex.in was added on branch simplex on
+	  2008-01-07 11:15:25 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref.tex (altnum.1): file devref.tex was added on branch
+	  altnum on 2007-02-25 18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/fdl.dox (altnum.1): file fdl.dox was added on branch altnum
+	  on 2007-02-25 18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/fdl.dox (simplex.1): file fdl.dox was added on branch simplex
+	  on 2008-01-07 11:15:25 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/fdl.tex (altnum.1): file fdl.tex was added on branch altnum
+	  on 2007-02-25 18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/fdl.tex (simplex.1): file fdl.tex was added on branch simplex
+	  on 2008-01-07 11:15:25 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/fdl.txt (altnum.1): file fdl.txt was added on branch altnum
+	  on 2007-02-25 18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/fdl.txt (simplex.1): file fdl.txt was added on branch simplex
+	  on 2008-01-07 11:15:25 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/gpl.dox (altnum.1): file gpl.dox was added on branch altnum
+	  on 2007-02-25 18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/gpl.tex (altnum.1): file gpl.tex was added on branch altnum
+	  on 2007-02-25 18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/gpl.txt (altnum.1): file gpl.txt was added on branch altnum
+	  on 2007-02-25 18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/pwl.sty (altnum.1): file pwl.sty was added on branch altnum
+	  on 2007-02-25 18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user.doxyconf-html.in (altnum.1): file user.doxyconf-html.in
+	  was added on branch altnum on 2007-02-25 18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user.doxyconf-latex.in (altnum.1): file
+	  user.doxyconf-latex.in was added on branch altnum on 2007-02-25
+	  18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user.tex (altnum.1): file user.tex was added on branch altnum
+	  on 2007-02-25 18:26:53 +0000
+
+2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.27), configure.ac (1.35), doc/.cvsignore (1.1),
+	  doc/Makefile.am (1.1), doc/README.doc (1.1),
+	  doc/devref.doxyconf-html.in (1.1), doc/devref.doxyconf-latex.in
+	  (1.1), doc/devref.tex (1.1), doc/fdl.dox (1.1), doc/fdl.tex
+	  (1.1), doc/fdl.txt (1.1), doc/gpl.dox (1.1), doc/gpl.tex (1.1),
+	  doc/gpl.txt (1.1), doc/pwl.sty (1.1), doc/user.doxyconf-html.in
+	  (1.1), doc/user.doxyconf-latex.in (1.1), doc/user.tex (1.1):
+	  Documentation for the Parma Watchdog Library.
+
+2007-02-18 Sunday 11:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.doc (ppl-0_9-branch.1): Explains where to find the
+	  documentation.
+
+2007-01-01 Monday 01:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.26), README (1.15), configure.ac (1.34),
+	  src/Doubly_Linked_Object.defs.hh (1.3),
+	  src/Doubly_Linked_Object.inlines.hh (1.3),
+	  src/Doubly_Linked_Object.types.hh (1.3), src/EList.defs.hh (1.5),
+	  src/EList.inlines.hh (1.3), src/EList.types.hh (1.3),
+	  src/EList_Iterator.defs.hh (1.3), src/EList_Iterator.inlines.hh
+	  (1.3), src/EList_Iterator.types.hh (1.3), src/Handler.defs.hh
+	  (1.4), src/Handler.inlines.hh (1.3), src/Handler.types.hh (1.3),
+	  src/Makefile.am (1.9), src/Pending_Element.cc (1.3),
+	  src/Pending_Element.defs.hh (1.4), src/Pending_Element.inlines.hh
+	  (1.3), src/Pending_Element.types.hh (1.3), src/Pending_List.cc
+	  (1.3), src/Pending_List.defs.hh (1.4),
+	  src/Pending_List.inlines.hh (1.3), src/Pending_List.types.hh
+	  (1.3), src/Time.cc (1.3), src/Time.defs.hh (1.4),
+	  src/Time.inlines.hh (1.3), src/Time.types.hh (1.3),
+	  src/Watchdog.cc (1.5), src/Watchdog.defs.hh (1.4),
+	  src/Watchdog.inlines.hh (1.3), src/Watchdog.types.hh (1.3),
+	  src/pwl_header.hh (1.3), utils/Makefile.am (1.7),
+	  utils/build_header.in (1.4): Copyright years extended.
+
+2006-12-02 Saturday 23:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess, config.sub (altnum.[6,5]): Ninth merge of the trunk
+	  to the `altnum' branch.
+
+2006-11-18 Saturday 21:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog, INSTALL, config.guess, config.sub, install-sh,
+	  missing, mkinstalldirs, src/EList.defs.hh, src/Handler.defs.hh,
+	  src/Makefile.am, src/Pending_Element.defs.hh, src/Watchdog.cc,
+	  src/Watchdog.defs.hh (octagons.[1,1,1,1,1,1,1,1,1,1,1,2,1]):
+	  Second merge to octagons.
+
+2006-11-12 Sunday 15:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.22), config.sub (1.21): Updated.
+
+2006-10-29 Sunday 20:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* .cvsignore, COPYING, CREDITS, ChangeLog,
+	  Doubly_Linked_Object.defs.hh, Doubly_Linked_Object.inlines.hh,
+	  Doubly_Linked_Object.types.hh, EList.defs.hh, EList.inlines.hh,
+	  EList.types.hh, EList_Iterator.defs.hh,
+	  EList_Iterator.inlines.hh, EList_Iterator.types.hh,
+	  Handler.defs.hh, Handler.inlines.hh, Handler.types.hh, INSTALL,
+	  Makefile.am, NEWS, Pending_Element.cc, Pending_Element.defs.hh,
+	  Pending_Element.inlines.hh, Pending_Element.types.hh,
+	  Pending_List.cc, Pending_List.defs.hh, Pending_List.inlines.hh,
+	  Pending_List.types.hh, README, Time.cc, Time.defs.hh,
+	  Time.inlines.hh, Time.types.hh, Watchdog.cc, Watchdog.defs.hh,
+	  Watchdog.inlines.hh, Watchdog.types.hh, compile, config.guess,
+	  config.sub, configure.ac, depcomp, install-sh, ltmain.sh,
+	  missing, mkinstalldirs, pwl_header.bottom, pwl_header.middle,
+	  pwl_header.top, src/.cvsignore, src/Doubly_Linked_Object.defs.hh,
+	  src/Doubly_Linked_Object.inlines.hh,
+	  src/Doubly_Linked_Object.types.hh, src/EList.defs.hh,
+	  src/EList.inlines.hh, src/EList.types.hh,
+	  src/EList_Iterator.defs.hh, src/EList_Iterator.inlines.hh,
+	  src/EList_Iterator.types.hh, src/Handler.defs.hh,
+	  src/Handler.inlines.hh, src/Handler.types.hh, src/Makefile.am,
+	  src/Pending_Element.cc, src/Pending_Element.defs.hh,
+	  src/Pending_Element.inlines.hh, src/Pending_Element.types.hh,
+	  src/Pending_List.cc, src/Pending_List.defs.hh,
+	  src/Pending_List.inlines.hh, src/Pending_List.types.hh,
+	  src/Time.cc, src/Time.defs.hh, src/Time.inlines.hh,
+	  src/Time.types.hh, src/Watchdog.cc, src/Watchdog.defs.hh,
+	  src/Watchdog.inlines.hh, src/Watchdog.types.hh,
+	  src/pwl_header.hh, utils/.cvsignore, utils/Makefile.am,
+	  utils/build_header.in
+	  (altnum.[1,1,1,3,2,2,2,2,2,2,2,3,2,3,2,2,2,6,3,2,2,2,2,2,2,2,2,3,2,2,2,2,3,3,2,1,3,5,4,4,2,5,3,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2]):
+	  Eighth merge from the main trunk.
+
+2006-09-28 Thursday 22:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog, INSTALL, config.guess, config.sub, install-sh,
+	  missing, mkinstalldirs, src/EList.defs.hh, src/Handler.defs.hh,
+	  src/Makefile.am, src/Pending_Element.defs.hh, src/Watchdog.cc,
+	  src/Watchdog.defs.hh (interfaces.[1,1,1,1,1,1,1,1,1,1,1,1,1]):
+	  Second merge from main trunk (several compilation errors still to
+	  be fixed).
+
+2006-09-26 Tuesday 22:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.8): Typos fixed.
+
+2006-09-26 Tuesday 22:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (altnum.1): file Makefile.am was added on branch
+	  altnum on 2006-10-29 19:26:51 +0000
+
+2006-09-26 Tuesday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: EList.defs.hh (1.4), Handler.defs.hh (1.3),
+	  Pending_Element.defs.hh (1.3), Watchdog.cc (1.4),
+	  Watchdog.defs.hh (1.3): Comments improved.
+
+2006-09-26 Tuesday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/EList.defs.hh (altnum.1): file EList.defs.hh was added on
+	  branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-09-26 Tuesday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Handler.defs.hh (altnum.1): file Handler.defs.hh was added on
+	  branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-09-26 Tuesday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pending_Element.defs.hh (altnum.1): file
+	  Pending_Element.defs.hh was added on branch altnum on 2006-10-29
+	  19:26:51 +0000
+
+2006-09-26 Tuesday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Watchdog.cc (altnum.1): file Watchdog.cc was added on branch
+	  altnum on 2006-10-29 19:26:51 +0000
+
+2006-09-26 Tuesday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Watchdog.defs.hh (altnum.1): file Watchdog.defs.hh was added
+	  on branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-09-23 Saturday 14:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.16): Updated.
+
+2006-09-06 Wednesday 20:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* INSTALL, config.guess, config.sub, install-sh, missing,
+	  mkinstalldirs (simplex.[1,3,3,2,1,1]): Third merge from the main
+	  trunk.
+
+2006-06-29 Thursday 17:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* INSTALL (1.5), config.guess (1.21), config.sub (1.20), install-sh
+	  (1.14), missing (1.9), mkinstalldirs (1.6): Updated from Autoconf
+	  2.60.
+
+2006-05-08 Monday 19:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS, ChangeLog, Makefile.am, NEWS, README, config.guess,
+	  config.sub, src/.cvsignore, src/Makefile.am, src/Watchdog.cc,
+	  utils/.cvsignore, utils/Makefile.am
+	  (simplex.[1,2,2,1,2,2,2,1,2,2,1,2]): Second merge from main
+	  trunk.
+
+2006-05-08 Monday 18:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Watchdog.cc (octagons.1): First merge from main trunk.
+
+2006-04-08 Saturday 16:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Watchdog.cc (1.3): Typo fixed in comment.
+
+2006-03-12 Sunday 08:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (ppl-0_9-branch.1): Mark ChangeLog.
+
+2006-03-10 Friday 17:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.15): Updated.
+
+2006-03-10 Friday 16:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.14): Updated.
+
+2006-03-05 Sunday 17:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.20), config.sub (1.19): Updated.
+
+2006-02-18 Saturday 07:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.7): Do not distribute ppl_include_files.hh and
+	  pwl_include_files.hh.  Now ppl.hh and pwl.hh installation can be
+	  completely delegated to Automake.
+
+2006-02-11 Saturday 11:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: .cvsignore (1.2), Makefile.am (1.6): We now directly create
+	  `pwl.hh': `pwl_install.hh' does not exist any longer.
+
+2006-02-11 Saturday 11:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/.cvsignore (altnum.1): file .cvsignore was added on branch
+	  altnum on 2006-10-29 19:26:51 +0000
+
+2006-02-11 Saturday 11:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* utils/.cvsignore (1.2): Ignore more built files and directories.
+
+2006-02-11 Saturday 11:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* utils/.cvsignore (altnum.1): file .cvsignore was added on branch
+	  altnum on 2006-10-29 19:26:51 +0000
+
+2006-01-25 Wednesday 21:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.in (grids.4): Makefile.in is automatically
+	  generated: it should not be under CVS.
+
+2006-01-25 Wednesday 19:31  Matthew Mundell
+
+	* CREDITS, ChangeLog, NEWS, README (grids.[1,3,2,3]): Eighth and
+	  last merge from the main trunk.
+
+2006-01-20 Friday 09:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (ppl-0_8-branch.2): Mark ChangeLog.
+
+2006-01-20 Friday 09:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (ppl-0_8-branch.1): Updated.
+
+2006-01-17 Tuesday 15:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* CREDITS (1.2): "inexistent" replaced by "non-existent".
+
+2006-01-17 Tuesday 14:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.13): Updated.
+
+2006-01-16 Monday 22:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.14): Updated.
+
+2006-01-16 Monday 14:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.8): Release date decided.
+
+2006-01-16 Monday 02:10  Matthew Mundell
+
+	* ChangeLog, Makefile.am, NEWS, README, config.guess, config.sub,
+	  configure.ac, install-sh, ltmain.sh,
+	  src/Doubly_Linked_Object.defs.hh,
+	  src/Doubly_Linked_Object.inlines.hh,
+	  src/Doubly_Linked_Object.types.hh, src/EList.defs.hh,
+	  src/EList.inlines.hh, src/EList.types.hh,
+	  src/EList_Iterator.defs.hh, src/EList_Iterator.inlines.hh,
+	  src/EList_Iterator.types.hh, src/Handler.defs.hh,
+	  src/Handler.inlines.hh, src/Handler.types.hh, src/Makefile.am,
+	  src/Makefile.in, src/Pending_Element.cc,
+	  src/Pending_Element.defs.hh, src/Pending_Element.inlines.hh,
+	  src/Pending_Element.types.hh, src/Pending_List.cc,
+	  src/Pending_List.defs.hh, src/Pending_List.inlines.hh,
+	  src/Pending_List.types.hh, src/Time.cc, src/Time.defs.hh,
+	  src/Time.inlines.hh, src/Time.types.hh, src/Watchdog.cc,
+	  src/Watchdog.defs.hh, src/Watchdog.inlines.hh,
+	  src/Watchdog.types.hh, src/pwl_header.hh, utils/Makefile.am,
+	  utils/build_header.in
+	  (grids.[2,3,1,2,4,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,4,2]):
+	  Seventh (last but one?) merge of the main trunk to the grids
+	  branch.
+
+2006-01-14 Saturday 15:48  Matthew Mundell
+
+	* NEWS (1.7): Add detail to the 0.5 Time entry.
+
+2006-01-14 Saturday 15:37  Matthew Mundell
+
+	* NEWS (1.6): Update 0.8 entries from ChangeLog.
+
+2006-01-10 Tuesday 18:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* utils/Makefile.am (altnum.1): file Makefile.am was added on
+	  branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-01-10 Tuesday 18:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.25), src/Makefile.am (1.5), utils/Makefile.am
+	  (1.6): Avoid providing default information that Automake does
+	  figure out by itself.
+
+2006-01-09 Monday 22:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.19), config.sub (1.18): Updated.
+
+2006-01-09 Monday 21:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.13): Updated.
+
+2006-01-06 Friday 21:00  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* ChangeLog, Makefile.am, README, config.guess, config.sub,
+	  configure.ac, install-sh, ltmain.sh,
+	  src/Doubly_Linked_Object.defs.hh,
+	  src/Doubly_Linked_Object.inlines.hh,
+	  src/Doubly_Linked_Object.types.hh, src/EList.defs.hh,
+	  src/EList.inlines.hh, src/EList.types.hh,
+	  src/EList_Iterator.defs.hh, src/EList_Iterator.inlines.hh,
+	  src/EList_Iterator.types.hh, src/Handler.defs.hh,
+	  src/Handler.inlines.hh, src/Handler.types.hh, src/Makefile.am,
+	  src/Pending_Element.cc, src/Pending_Element.defs.hh,
+	  src/Pending_Element.inlines.hh, src/Pending_Element.types.hh,
+	  src/Pending_List.cc, src/Pending_List.defs.hh,
+	  src/Pending_List.inlines.hh, src/Pending_List.types.hh,
+	  src/Time.cc, src/Time.defs.hh, src/Time.inlines.hh,
+	  src/Time.types.hh, src/Watchdog.cc, src/Watchdog.defs.hh,
+	  src/Watchdog.inlines.hh, src/Watchdog.types.hh,
+	  src/pwl_header.hh, utils/Makefile.am, utils/build_header.in
+	  (simplex.[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]):
+	  First merge from the main trunk.
+
+2006-01-01 Sunday 22:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/: EList.defs.hh (1.3), Pending_List.defs.hh (1.3),
+	  Time.defs.hh (1.3): Do adopt the new format for multiline brief
+	  doxygen documentation.
+
+2006-01-01 Sunday 22:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pending_List.defs.hh (altnum.1): file Pending_List.defs.hh
+	  was added on branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 22:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Time.defs.hh (altnum.1): file Time.defs.hh was added on
+	  branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* utils/build_header.in (altnum.1): file build_header.in was added
+	  on branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.24), README (1.12), configure.ac (1.33),
+	  src/Doubly_Linked_Object.defs.hh (1.2),
+	  src/Doubly_Linked_Object.inlines.hh (1.2),
+	  src/Doubly_Linked_Object.types.hh (1.2), src/EList.defs.hh (1.2),
+	  src/EList.inlines.hh (1.2), src/EList.types.hh (1.2),
+	  src/EList_Iterator.defs.hh (1.2), src/EList_Iterator.inlines.hh
+	  (1.2), src/EList_Iterator.types.hh (1.2), src/Handler.defs.hh
+	  (1.2), src/Handler.inlines.hh (1.2), src/Handler.types.hh (1.2),
+	  src/Makefile.am (1.4), src/Pending_Element.cc (1.2),
+	  src/Pending_Element.defs.hh (1.2), src/Pending_Element.inlines.hh
+	  (1.2), src/Pending_Element.types.hh (1.2), src/Pending_List.cc
+	  (1.2), src/Pending_List.defs.hh (1.2),
+	  src/Pending_List.inlines.hh (1.2), src/Pending_List.types.hh
+	  (1.2), src/Time.cc (1.2), src/Time.defs.hh (1.2),
+	  src/Time.inlines.hh (1.2), src/Time.types.hh (1.2),
+	  src/Watchdog.cc (1.2), src/Watchdog.defs.hh (1.2),
+	  src/Watchdog.inlines.hh (1.2), src/Watchdog.types.hh (1.2),
+	  src/pwl_header.hh (1.2), utils/Makefile.am (1.5),
+	  utils/build_header.in (1.3): Copyright years extended.
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Doubly_Linked_Object.defs.hh (altnum.1): file
+	  Doubly_Linked_Object.defs.hh was added on branch altnum on
+	  2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Doubly_Linked_Object.inlines.hh (altnum.1): file
+	  Doubly_Linked_Object.inlines.hh was added on branch altnum on
+	  2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Doubly_Linked_Object.types.hh (altnum.1): file
+	  Doubly_Linked_Object.types.hh was added on branch altnum on
+	  2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/EList.inlines.hh (altnum.1): file EList.inlines.hh was added
+	  on branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/EList.types.hh (altnum.1): file EList.types.hh was added on
+	  branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/EList_Iterator.defs.hh (altnum.1): file
+	  EList_Iterator.defs.hh was added on branch altnum on 2006-10-29
+	  19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/EList_Iterator.inlines.hh (altnum.1): file
+	  EList_Iterator.inlines.hh was added on branch altnum on
+	  2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/EList_Iterator.types.hh (altnum.1): file
+	  EList_Iterator.types.hh was added on branch altnum on 2006-10-29
+	  19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Handler.inlines.hh (altnum.1): file Handler.inlines.hh was
+	  added on branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Handler.types.hh (altnum.1): file Handler.types.hh was added
+	  on branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pending_Element.cc (altnum.1): file Pending_Element.cc was
+	  added on branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pending_Element.inlines.hh (altnum.1): file
+	  Pending_Element.inlines.hh was added on branch altnum on
+	  2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pending_Element.types.hh (altnum.1): file
+	  Pending_Element.types.hh was added on branch altnum on 2006-10-29
+	  19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pending_List.cc (altnum.1): file Pending_List.cc was added on
+	  branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pending_List.inlines.hh (altnum.1): file
+	  Pending_List.inlines.hh was added on branch altnum on 2006-10-29
+	  19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pending_List.types.hh (altnum.1): file Pending_List.types.hh
+	  was added on branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Time.cc (altnum.1): file Time.cc was added on branch altnum
+	  on 2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Time.inlines.hh (altnum.1): file Time.inlines.hh was added on
+	  branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Time.types.hh (altnum.1): file Time.types.hh was added on
+	  branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Watchdog.inlines.hh (altnum.1): file Watchdog.inlines.hh was
+	  added on branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Watchdog.types.hh (altnum.1): file Watchdog.types.hh was
+	  added on branch altnum on 2006-10-29 19:26:51 +0000
+
+2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/pwl_header.hh (altnum.1): file pwl_header.hh was added on
+	  branch altnum on 2006-10-29 19:26:51 +0000
+
+2005-12-19 Monday 07:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.18), config.sub (1.17), install-sh (1.13),
+	  ltmain.sh (1.16): Updated from Libtool 1.5.22.
+
+2005-12-05 Monday 22:01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.12): Updated.
+
+2005-10-11 Tuesday 10:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess, src/Makefile.am, src/Makefile.in, utils/Makefile.am
+	  (grids.[3,2,2,3]): Fifth merge from main trunk.
+
+2005-10-02 Sunday 14:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.3): Definition of BUILT_SOURCES revised.
+
+2005-10-02 Sunday 11:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.17): Updated.
+
+2005-09-28 Wednesday 22:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am (1.2): A PPL distribution should now be
+	  compilable even on environments lacking Perl.
+
+2005-09-28 Wednesday 21:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/: .cvsignore, Doubly_Linked_Object.defs.hh,
+	  Doubly_Linked_Object.inlines.hh, Doubly_Linked_Object.types.hh,
+	  EList.defs.hh, EList.inlines.hh, EList.types.hh,
+	  EList_Iterator.defs.hh, EList_Iterator.inlines.hh,
+	  EList_Iterator.types.hh, Handler.defs.hh, Handler.inlines.hh,
+	  Handler.types.hh, Makefile.am, Makefile.in, Pending_Element.cc,
+	  Pending_Element.defs.hh, Pending_Element.inlines.hh,
+	  Pending_Element.types.hh, Pending_List.cc, Pending_List.defs.hh,
+	  Pending_List.inlines.hh, Pending_List.types.hh, Time.cc,
+	  Time.defs.hh, Time.inlines.hh, Time.types.hh, Watchdog.cc,
+	  Watchdog.defs.hh, Watchdog.inlines.hh, Watchdog.types.hh,
+	  pwl_header.hh
+	  (grids.[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]):
+	  Files moved as in the main trunk.
+
+2005-09-28 Wednesday 21:04  Matthew Mundell
+
+	* .cvsignore, ChangeLog, Doubly_Linked_Object.defs.hh,
+	  Doubly_Linked_Object.inlines.hh, Doubly_Linked_Object.types.hh,
+	  EList.defs.hh, EList.inlines.hh, EList.types.hh,
+	  EList_Iterator.defs.hh, EList_Iterator.inlines.hh,
+	  EList_Iterator.types.hh, Handler.defs.hh, Handler.inlines.hh,
+	  Handler.types.hh, Makefile.am, Pending_Element.cc,
+	  Pending_Element.defs.hh, Pending_Element.inlines.hh,
+	  Pending_Element.types.hh, Pending_List.cc, Pending_List.defs.hh,
+	  Pending_List.inlines.hh, Pending_List.types.hh, Time.cc,
+	  Time.defs.hh, Time.inlines.hh, Time.types.hh, Watchdog.cc,
+	  Watchdog.defs.hh, Watchdog.inlines.hh, Watchdog.types.hh,
+	  configure.ac, pwl_header.hh, utils/Makefile.am,
+	  utils/build_header, utils/build_header.in
+	  (grids.[1,1,2,2,1,2,2,1,2,2,1,3,3,1,2,2,2,2,1,2,2,2,1,2,2,3,1,2,2,2,1,2,2,2,2,1]):
+	  Fourth merge from the main trunk.
+
+2005-09-28 Wednesday 18:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* utils/Makefile.am (1.4): Make sure the scripts in the `utils'
+	  subdirectory are made also at distribution time, even if they are
+	  not distributed themselves.
+
+2005-09-23 Friday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* .cvsignore (1.5): Updated.
+
+2005-09-23 Friday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Doubly_Linked_Object.defs.hh (1.4),
+	  Doubly_Linked_Object.inlines.hh (1.4),
+	  Doubly_Linked_Object.types.hh (1.3), EList.defs.hh (1.6),
+	  EList.inlines.hh (1.5), EList.types.hh (1.3),
+	  EList_Iterator.defs.hh (1.4), EList_Iterator.inlines.hh (1.5),
+	  EList_Iterator.types.hh (1.3), Handler.defs.hh (1.6),
+	  Handler.inlines.hh (1.5), Handler.types.hh (1.3), Makefile.am
+	  (1.23), Pending_Element.cc (1.4), Pending_Element.defs.hh (1.4),
+	  Pending_Element.inlines.hh (1.4), Pending_Element.types.hh (1.3),
+	  Pending_List.cc (1.4), Pending_List.defs.hh (1.4),
+	  Pending_List.inlines.hh (1.4), Pending_List.types.hh (1.3),
+	  Time.cc (1.4), Time.defs.hh (1.4), Time.inlines.hh (1.5),
+	  Time.types.hh (1.3), Watchdog.cc (1.21), Watchdog.defs.hh (1.17),
+	  Watchdog.inlines.hh (1.14), Watchdog.types.hh (1.7), configure.ac
+	  (1.32), pwl_header.hh (1.2), src/.cvsignore (1.1),
+	  src/Doubly_Linked_Object.defs.hh (1.1),
+	  src/Doubly_Linked_Object.inlines.hh (1.1),
+	  src/Doubly_Linked_Object.types.hh (1.1), src/EList.defs.hh (1.1),
+	  src/EList.inlines.hh (1.1), src/EList.types.hh (1.1),
+	  src/EList_Iterator.defs.hh (1.1), src/EList_Iterator.inlines.hh
+	  (1.1), src/EList_Iterator.types.hh (1.1), src/Handler.defs.hh
+	  (1.1), src/Handler.inlines.hh (1.1), src/Handler.types.hh (1.1),
+	  src/Makefile.am (1.1), src/Pending_Element.cc (1.1),
+	  src/Pending_Element.defs.hh (1.1), src/Pending_Element.inlines.hh
+	  (1.1), src/Pending_Element.types.hh (1.1), src/Pending_List.cc
+	  (1.1), src/Pending_List.defs.hh (1.1),
+	  src/Pending_List.inlines.hh (1.1), src/Pending_List.types.hh
+	  (1.1), src/Time.cc (1.1), src/Time.defs.hh (1.1),
+	  src/Time.inlines.hh (1.1), src/Time.types.hh (1.1),
+	  src/Watchdog.cc (1.1), src/Watchdog.defs.hh (1.1),
+	  src/Watchdog.inlines.hh (1.1), src/Watchdog.types.hh (1.1),
+	  src/pwl_header.hh (1.1): Restructured.
+
+2005-09-23 Friday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.31): Configure is no longer responsible for
+	  creating build_header.
+
+2005-09-23 Friday 19:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* utils/: Makefile.am (1.3), build_header.in (1.2): Generation of
+	  utility scripts fixed.
+
+2005-09-23 Friday 14:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.22), configure.ac (1.30), utils/Makefile.am (1.2),
+	  utils/build_header (1.2), utils/build_header.in (1.1): Allow Perl
+	  to be installed into non-standard places.
+
+2005-09-23 Friday 12:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.29): Check for Perl.
+
+2005-09-19 Monday 14:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.11): Updated.
+
+2005-09-08 Thursday 01:26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.28): Allow the specification of
+	  --enable-optimization=zero to temporarily get around bugs such as
+	  the one affecting Intel C/C++ 9.0.25 under Fedora Core 4.
+
+2005-09-02 Friday 18:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* COPYING, Doubly_Linked_Object.defs.hh,
+	  Doubly_Linked_Object.inlines.hh, EList.defs.hh, EList.inlines.hh,
+	  EList_Iterator.defs.hh, EList_Iterator.inlines.hh,
+	  Handler.defs.hh, Handler.inlines.hh, Makefile.am,
+	  Pending_Element.cc, Pending_Element.defs.hh,
+	  Pending_Element.inlines.hh, Pending_List.cc,
+	  Pending_List.defs.hh, Pending_List.inlines.hh, README, Time.cc,
+	  Time.defs.hh, Time.inlines.hh, Watchdog.cc, Watchdog.defs.hh,
+	  Watchdog.inlines.hh, compile, config.guess, config.sub,
+	  configure.ac, depcomp, install-sh, ltmain.sh, missing,
+	  mkinstalldirs, pwl_header.bottom, pwl_header.hh,
+	  pwl_header.middle, pwl_header.top, utils/.cvsignore,
+	  utils/Makefile.am, utils/build_header
+	  (grids.[1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,2,2,1,1,2,2,1,1,1,1,1,1,1,1,1]):
+	  Second merge from main trunk.
+
+2005-09-01 Thursday 14:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* install-sh (1.12), ltmain.sh (1.15): Updated from Libtool 1.5.20.
+
+2005-08-28 Sunday 10:05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* missing (1.8): Broken comments restored.
+
+2005-08-27 Saturday 21:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.21): The `configure' script is now listed in
+	  `dist_noinst_SCRIPTS' and no longer in `EXTRA_DIST'.
+
+2005-08-27 Saturday 17:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.20), configure.ac (1.27), pwl_header.bottom (1.3),
+	  pwl_header.hh (1.1), pwl_header.middle (1.4), pwl_header.top
+	  (1.8), utils/.cvsignore (1.1), utils/Makefile.am (1.1),
+	  utils/build_header (1.1): Definitely switch to the new mechanism
+	  to build the library headers.  The `build_header' script belongs
+	  to the `utils' directories.
+
+2005-08-22 Monday 00:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.16), config.sub (1.16): Updated.
+
+2005-08-22 Monday 00:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* COPYING (1.3), Doubly_Linked_Object.defs.hh (1.3),
+	  Doubly_Linked_Object.inlines.hh (1.3), EList.defs.hh (1.5),
+	  EList.inlines.hh (1.4), EList_Iterator.defs.hh (1.3),
+	  EList_Iterator.inlines.hh (1.4), Handler.defs.hh (1.5),
+	  Handler.inlines.hh (1.4), Makefile.am (1.19), Pending_Element.cc
+	  (1.3), Pending_Element.defs.hh (1.3), Pending_Element.inlines.hh
+	  (1.3), Pending_List.cc (1.3), Pending_List.defs.hh (1.3),
+	  Pending_List.inlines.hh (1.3), README (1.11), Time.cc (1.3),
+	  Time.defs.hh (1.3), Time.inlines.hh (1.4), Watchdog.cc (1.20),
+	  Watchdog.defs.hh (1.16), Watchdog.inlines.hh (1.13), compile
+	  (1.6), config.guess (1.15), config.sub (1.15), configure.ac
+	  (1.26), depcomp (1.9), ltmain.sh (1.14), missing (1.7),
+	  pwl_header.top (1.7): Address of the Free Software Foundation
+	  updated.
+
+2005-07-11 Monday 08:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* compile (1.5), config.guess (1.14), config.sub (1.14), depcomp
+	  (1.8), missing (1.6), mkinstalldirs (1.5): Updated from Automake
+	  1.9.6.
+
+2005-07-06 Wednesday 09:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Handler.defs.hh, Handler.inlines.hh, Time.inlines.hh,
+	  config.guess, config.sub, install-sh, ltmain.sh
+	  (grids.[1,1,1,1,1,1,1]): First merge from main trunk.
+
+2005-05-25 Wednesday 12:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.13), config.sub (1.13), install-sh (1.11),
+	  ltmain.sh (1.13): Updated from Libtool 1.5.18.
+
+2005-05-25 Wednesday 07:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.12), config.sub (1.12), ltmain.sh (1.12): Updated
+	  from Libtool 1.5.16.
+
+2005-04-11 Monday 00:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Time.inlines.hh (1.3): Fixed a bug in Time::operator+=(const
+	  Time&).
+
+2005-02-27 Sunday 16:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Handler.defs.hh (1.4), Handler.inlines.hh (1.3): Class Handler
+	  was missing a virtual destructor: added.
+
+2005-02-13 Sunday 08:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* INSTALL (1.4), compile (1.4), config.guess (1.11), config.sub
+	  (1.11), depcomp (1.7), missing (1.5), mkinstalldirs (1.4):
+	  Updated from Automake 1.9.5.
+
+2005-02-12 Saturday 15:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.11): Updated from Libtool 1.5.14.
+
+2005-02-08 Tuesday 20:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.sub (1.10), install-sh (1.10): Updated.
+
+2005-02-08 Tuesday 20:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.10): Updated from Libtool 1.5.12.
+
+2005-01-01 Saturday 00:45  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Doubly_Linked_Object.defs.hh (1.2),
+	  Doubly_Linked_Object.inlines.hh (1.2),
+	  Doubly_Linked_Object.types.hh (1.2), EList.defs.hh (1.4),
+	  EList.inlines.hh (1.3), EList.types.hh (1.2),
+	  EList_Iterator.defs.hh (1.2), EList_Iterator.inlines.hh (1.3),
+	  EList_Iterator.types.hh (1.2), Handler.defs.hh (1.3),
+	  Handler.inlines.hh (1.2), Handler.types.hh (1.2), Makefile.am
+	  (1.18), Pending_Element.cc (1.2), Pending_Element.defs.hh (1.2),
+	  Pending_Element.inlines.hh (1.2), Pending_Element.types.hh (1.2),
+	  Pending_List.cc (1.2), Pending_List.defs.hh (1.2),
+	  Pending_List.inlines.hh (1.2), Pending_List.types.hh (1.2),
+	  README (1.10), Time.cc (1.2), Time.defs.hh (1.2), Time.inlines.hh
+	  (1.2), Time.types.hh (1.2), Watchdog.cc (1.19), Watchdog.defs.hh
+	  (1.15), Watchdog.inlines.hh (1.12), Watchdog.types.hh (1.6),
+	  configure.ac (1.25), pwl_header.top (1.6): Copyright years
+	  extended.
+
+2004-12-25 Saturday 23:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog, Makefile.am, NEWS, README, config.guess, config.sub,
+	  configure.ac, install-sh, pwl_filter_doxygen.sed,
+	  pwl_filter_install.sed, pwl_header.bottom, pwl_header.middle,
+	  pwl_header.top (altnum.[2,5,2,2,4,3,3,4,1,1,1,1,1]): Seventh
+	  merge from main trunk.
+
+2004-12-24 Friday 16:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (ppl-0_7-branch.1): Mark ChangeLog.
+
+2004-12-24 Friday 15:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.10): Updated.
+
+2004-12-24 Friday 15:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.9): Updated.
+
+2004-12-24 Friday 12:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.17): No longer mention erased files.
+
+2004-12-24 Friday 11:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* pwl_header.bottom (1.2), pwl_header.top (1.5): Handling of NDEBUG
+	  improved.
+
+2004-12-24 Friday 11:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* pwl_header.middle (1.3): We no longer support GCC versions prior
+	  to 3.
+
+2004-12-24 Friday 11:32  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.24): Require Autoconf 2.59.
+
+2004-12-24 Friday 11:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.8): Version number bumped.
+
+2004-12-24 Friday 11:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.16), pwl_filter_doxygen.sed (1.2),
+	  pwl_filter_install.sed (1.2): Obsolete filters removed.  Shared
+	  library version info updated.
+
+2004-12-24 Friday 09:00  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.15), configure.ac (1.23): Enable the creation of
+	  DLLs under Cygwin.
+
+2004-12-19 Sunday 12:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.22): Version number bumped.
+
+2004-12-19 Sunday 11:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.5): The tentative release date for PPL 0.7 is December
+	  24, 2004.
+
+2004-12-19 Sunday 07:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.9): Updated.
+
+2004-12-19 Sunday 07:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.10), config.sub (1.9): Updated.
+
+2004-12-19 Sunday 07:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* install-sh (1.9): Updated from Automake 1.9.4.
+
+2004-12-11 Saturday 22:34  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* EList_Iterator.inlines.hh, Handler.defs.hh, Makefile.am,
+	  Watchdog.defs.hh (altnum.[2,2,4,2]): Sixth merge from main trunk.
+
+2004-12-11 Saturday 22:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* EList_Iterator.inlines.hh (1.2), Handler.defs.hh (1.2),
+	  Makefile.am (1.14), Watchdog.defs.hh (1.14): Try to avoid very
+	  long lines.
+
+2004-11-27 Saturday 17:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* INSTALL, Makefile.am, compile, config.guess, configure.ac,
+	  install-sh (altnum.[1,3,2,3,2,3]): Fifth number from main
+	  repository.
+
+2004-11-20 Saturday 08:10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.21): Define the PROFILING symbol when compiling
+	  for profiling.
+
+2004-11-01 Monday 15:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* INSTALL (1.3), compile (1.3), config.guess (1.9), install-sh
+	  (1.8): Updated from Automake 1.9.3.
+
+2004-10-29 Friday 17:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.13): Always specify the condition which is closed
+	  by an Automake's `end',
+
+2004-10-01 Friday 19:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* compile, config.guess, config.sub, install-sh, ltmain.sh, missing
+	  (altnum.[1,2,2,2,2,1]): Third merge from main trunk.
+
+2004-09-20 Monday 09:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* compile (1.2), install-sh (1.7), missing (1.4): Updated from
+	  Automake 1.9.2.
+
+2004-09-19 Sunday 22:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am, Watchdog.cc (altnum.[2,2]): Second merge from main
+	  trunk.
+
+2004-09-19 Sunday 18:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.8), config.sub (1.8): Updated.
+
+2004-09-19 Sunday 18:29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.9): Updated from Libtool 1.5.10.
+
+2004-09-16 Thursday 09:47  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* Watchdog.cc (1.18): Simplified the progrma logic in a few places
+	  where we remove elements from a container by using the return
+	  value of method erase().
+
+2004-09-02 Thursday 22:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.12): Prepared for PPL 0.7.
+
+2004-08-21 Saturday 17:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.11): Match every `endif' with the corresponding
+	  `if' condition.
+
+2004-08-20 Friday 19:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (ppl-0_6-branch.3): Mark ChangeLog.
+
+2004-08-20 Friday 17:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (ppl-0_6-branch.2): Updated.
+
+2004-08-20 Friday 15:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (ppl-0_6-branch.1): Updated for the release of PPL 0.6.1.
+
+2004-08-19 Thursday 17:43  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog, Doubly_Linked_Object.defs.hh,
+	  Doubly_Linked_Object.inlines.hh, Doubly_Linked_Object.types.hh,
+	  EList.defs.hh, EList.inlines.hh, EList.types.hh,
+	  EList_Iterator.defs.hh, EList_Iterator.inlines.hh,
+	  EList_Iterator.types.hh, Handler.defs.hh, Handler.inlines.hh,
+	  Handler.types.hh, Makefile.am, NEWS, Pending_Element.cc,
+	  Pending_Element.defs.hh, Pending_Element.inlines.hh,
+	  Pending_Element.types.hh, Pending_List.cc, Pending_List.defs.hh,
+	  Pending_List.inlines.hh, Pending_List.types.hh, README, Time.cc,
+	  Time.defs.hh, Time.inlines.hh, Time.types.hh, Watchdog.cc,
+	  Watchdog.defs.hh, Watchdog.inlines.hh, config.guess, config.sub,
+	  configure.ac, depcomp, install-sh, ltmain.sh
+	  (altnum.[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]):
+	  First merge from main trunk.
+
+2004-08-18 Wednesday 22:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (ppl-0_6-branch.1), ChangeLog (1.8), configure.ac
+	  (1.20): Version number bumped.
+
+2004-08-18 Wednesday 18:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (ppl-0_6-branch.1): Mark ChangeLog.
+
+2004-08-16 Monday 18:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README (1.7): Updated.
+
+2004-08-16 Monday 09:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS (1.4): Our tentative release date is August 18, 2004.
+
+2004-08-16 Monday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.7): Updated.
+
+2004-08-13 Friday 18:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.10): Version info updated for the libtool
+	  libraries.
+
+2004-08-08 Sunday 19:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.9), Watchdog.cc (1.17), Watchdog.defs.hh (1.13),
+	  Watchdog.inlines.hh (1.11): Watchdog library completely
+	  reorganized.	Deadlock bug fixed in the process.
+
+2004-08-08 Sunday 19:30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Handler.defs.hh (1.1), Handler.inlines.hh (1.1), Handler.types.hh
+	  (1.1): Classes for handlers of the watchdog events.
+
+2004-08-07 Saturday 19:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.8): Updated from Libtool 1.5.8.
+
+2004-08-07 Saturday 08:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Pending_List.cc (1.1), Pending_List.defs.hh (1.1),
+	  Pending_List.inlines.hh (1.1), Pending_List.types.hh (1.1): An
+	  ordered list for recording pending watchdog events.
+
+2004-08-07 Saturday 08:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* EList.defs.hh (1.3), EList.inlines.hh (1.2): The clear() method
+	  has been removed.  The destructor now destructs also the elements
+	  in the list.
+
+2004-08-06 Friday 19:37  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Pending_Element.cc (1.1), Pending_Element.defs.hh (1.1),
+	  Pending_Element.inlines.hh (1.1), Pending_Element.types.hh (1.1):
+	  A class for pending watchdog events with embedded links.
+
+2004-08-06 Friday 18:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Doubly_Linked_Object.defs.hh (1.1),
+	  Doubly_Linked_Object.inlines.hh (1.1),
+	  Doubly_Linked_Object.types.hh (1.1): A (base) class for doubly
+	  linked objects.
+
+2004-08-06 Friday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* EList_Iterator.defs.hh (1.1), EList_Iterator.inlines.hh (1.1),
+	  EList_Iterator.types.hh (1.1): A class providing iterators for
+	  embedded lists.
+
+2004-08-06 Friday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* EList.defs.hh (1.2): Class comment revised.
+
+2004-08-06 Friday 18:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* EList.defs.hh (1.1), EList.inlines.hh (1.1), EList.types.hh
+	  (1.1): A list of doubly linked objects (where the links are
+	  embedded in the objects themselves).
+
+2004-08-06 Friday 18:04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Time.cc (1.1), Time.defs.hh (1.1), Time.inlines.hh (1.1),
+	  Time.types.hh (1.1): A class for representing and manipulating
+	  positive time intervals.
+
+2004-08-04 Wednesday 22:28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* depcomp (1.6), install-sh (1.6): Updated from Automake 1.9.
+
+2004-08-04 Wednesday 20:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.7), config.sub (1.7): Updated.
+
+2004-07-08 Thursday 16:50  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog.cc (1.16): Spacing fixed.
+
+2004-05-09 Sunday 17:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog.cc (1.15): Anachronisms removed.
+
+2004-04-25 Sunday 22:13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* depcomp (1.5), install-sh (1.5), mkinstalldirs (1.3): Updated
+	  from Automake 1.8.4.
+
+2004-04-06 Tuesday 21:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.6), config.sub (1.6), ltmain.sh (1.7): Updated
+	  from libtool-1.5.4.
+
+2004-01-28 Wednesday 09:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.8), README (1.6), Watchdog.cc (1.14),
+	  Watchdog.defs.hh (1.12), Watchdog.inlines.hh (1.10),
+	  Watchdog.types.hh (1.5), configure.ac (1.19), pwl_header.top
+	  (1.4): Update copyright years.
+
+2004-01-27 Tuesday 17:39  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* compile (1.1): Added from Automake 1.8.2.
+
+2004-01-25 Sunday 22:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* depcomp (1.4), install-sh (1.4), missing (1.3), mkinstalldirs
+	  (1.2): Update from Automake.
+
+2004-01-25 Sunday 22:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.5), config.sub (1.5): Updated from config.
+
+2004-01-25 Sunday 22:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.6): Updated from Libtool 1.5.2.
+
+2003-12-05 Friday 11:24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog.cc (1.13): Do not use the ITIMER_PROF timer when
+	  profiling.
+
+2003-11-04 Tuesday 17:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.4), config.sub (1.4): Updated.
+
+2003-10-03 Friday 12:22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* .cvsignore (1.4): Ignore config.h.in.
+
+2003-10-03 Friday 09:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.h.in (1.4): These should not be in the repository, since
+	  they are automatically generated.
+
+2003-09-10 Wednesday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.3), config.sub (1.3), depcomp (1.3), install-sh
+	  (1.3), missing (1.2): Updated.
+
+2003-08-06 Wednesday 08:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.18): Allow for `mild', -O1 optimization.
+
+2003-07-05 Saturday 17:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog.cc (1.12): Delete statement uncommented.
+
+2003-04-27 Sunday 21:53  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog, NEWS, README, configure.ac (ppl-0_5-branch.[2,1,1,1]):
+	  Synchronize with the main trunk.
+
+2003-04-27 Sunday 21:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (ppl-0_5-branch.1): Mark ChangeLog.
+
+2003-04-27 Sunday 21:31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.6): Updated.
+
+2003-04-27 Sunday 21:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.17): Version number bumped.
+
+2003-04-27 Sunday 21:18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.5): Updated.
+
+2003-04-27 Sunday 21:16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.4), NEWS (1.3), README (1.5): Updated for release
+	  0.2.
+
+2003-04-17 Thursday 22:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog.cc (1.11): Prefer anonymous namespaces to static
+	  declarations.
+
+2003-04-15 Tuesday 13:38  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.5): Updated.
+
+2003-04-11 Friday 08:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.4): Updated.
+
+2003-04-07 Monday 16:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ltmain.sh (1.3): Updated.
+
+2003-03-03 Monday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* depcomp (1.2), install-sh (1.2): Updated.
+
+2003-03-03 Monday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.16): Require Autoconf 2.57 or following and
+	  Automake 1.7.3 or following.
+
+2003-03-03 Monday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* COPYING (1.2), ChangeLog (1.3), INSTALL (1.2), NEWS (1.2),
+	  config.guess (1.2), config.sub (1.2), ltmain.sh (1.2): Updated.
+
+2003-03-03 Monday 18:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.7): Update version info.
+
+2003-02-07 Friday 10:56  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog.cc (1.10): Throw std::runtime_error instead of calling
+	  abort().
+
+2003-02-07 Friday 10:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog.inlines.hh (1.9): Throw std::invalid_argument if a
+	  Watchdog constructor is called with a non-positive number of time
+	  units.
+
+2003-01-26 Sunday 22:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog.cc (1.9): Ported to Cygwin (it only supports
+	  ITIMER_REAL).  Robustness increased.	Throw std:runtime_error
+	  exceptions instead of calling exit().
+
+2003-01-12 Sunday 08:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog.defs.hh (1.11): Spurious, illegal qualification removed.
+
+2003-01-10 Friday 09:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog.cc (1.8), Watchdog.defs.hh (1.10), Watchdog.inlines.hh
+	  (1.8), Watchdog.types.hh (1.4): New "nifty counter"
+	  implementation of library's initialization and finalization.
+	  Explicit initialization and finalization is no longer necessary
+	  nor possible.
+
+2003-01-09 Thursday 10:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.15): Building the Parma Watchdog Library is now
+	  enabled by default.
+
+2003-01-01 Wednesday 02:48  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.6), README (1.4), Watchdog.cc (1.7),
+	  Watchdog.defs.hh (1.9), Watchdog.inlines.hh (1.7),
+	  Watchdog.types.hh (1.3), configure.ac (1.14), pwl_header.top
+	  (1.3): Update copyright years.
+
+2002-11-05 Tuesday 11:49  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog.cc (1.6), Watchdog.defs.hh (1.8): Standard conformance
+	  fixes.
+
+2002-11-05 Tuesday 10:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.13): Work around a bug in AC_CHECK_FUNCS as
+	  implemented in autoconf 2.54c and previous versions.	For more
+	  information, see
+	  http://www.cs.unipr.it/pipermail/ppl-devel/2002-November/002929.html.
+
+2002-11-05 Tuesday 10:11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.12): Avoid using obsolete macros.
+
+2002-11-03 Sunday 11:06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* pwl_header.middle (1.2): Include sys/time.h, if available.
+
+2002-11-03 Sunday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog.defs.hh (1.7), Watchdog.inlines.hh (1.6): Little
+	  cleaning.
+
+2002-11-03 Sunday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.h.in (1.3), configure.ac (1.11): Get rid of AC_C_INLINE:
+	  we do not use inlines in C code and it was doing harm with some
+	  compilers.
+
+2002-11-02 Saturday 16:46  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.10): Buggy conditional fixed.
+
+2002-10-19 Saturday 00:40  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* config.guess (1.1), config.sub (1.1), depcomp (1.1), install-sh
+	  (1.1), ltmain.sh (1.1), missing (1.1), mkinstalldirs (1.1):
+	  Missing files added.
+
+2002-10-04 Friday 12:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (ppl-0_4-branch.3): Mark ChangeLog.
+
+2002-08-17 Saturday 13:44  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog.defs.hh, Watchdog.inlines.hh, Watchdog.types.hh,
+	  pwl_header.top (alt_nnc.[1,1,1,1]): Merge changes from the trunk
+	  between tags `merge_to_alt_nnc' and `second_merge_to_alt_nnc'.
+
+2002-08-16 Friday 10:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog.defs.hh (1.6), Watchdog.inlines.hh (1.5),
+	  Watchdog.types.hh (1.2), pwl_header.top (1.2): According to the
+	  C++ standard (Section 17.4), every name that starts with an
+	  underscore is reserved to the implementation.  All the multiple
+	  inclusion guards have been renamed (some missing ones have been
+	  added).
+
+2002-07-30 Tuesday 11:14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (ppl-0_4-branch.2): Mark ChangeLog.
+
+2002-07-02 Tuesday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.9): Shared libraries are again turned off by
+	  default.
+
+2002-07-01 Monday 18:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (ppl-0_4-branch.1): Mark ChangeLog.
+
+2002-06-30 Sunday 20:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog.defs.hh (1.5), Watchdog.inlines.hh (1.4): Implementation
+	  of inline functions moved to Watchdog.inlines.hh.
+
+2002-06-30 Sunday 17:08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog (1.2): This file will no longer be empty.
+
+2002-06-30 Sunday 15:21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.8): Invocations to AC_PROG_* macros repositioned.
+
+2002-06-30 Sunday 15:17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog.defs.hh (1.4), Watchdog.inlines.hh (1.3): Use methods
+	  instead of friends for binary operators over Time.
+
+2002-06-25 Tuesday 15:03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* .cvsignore (1.3): For those building in the sources' directory.
+
+2002-06-24 Monday 12:23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.7): Fixed typo in a comment.
+
+2002-06-17 Monday 08:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog.cc (1.5), Watchdog.defs.hh (1.3): Use #ifdef to test
+	  configuration symbols that may be undefined or defined to 1.
+
+2002-06-15 Saturday 14:47  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.5): dist-hook goes into the unconditional section.
+
+2002-06-09 Sunday 16:36  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.4), configure.ac (1.6): Consistent spelling for
+	  Autoconf and Automake.
+
+2002-06-09 Sunday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.5): Set CFLAGS properly.  Check for header files
+	  and library functions only if we are building the library.
+
+2002-06-09 Sunday 16:15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac (1.4): Be more friendly to compilers different from
+	  GCC.
+
+2002-05-28 Tuesday 13:07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* .cvsignore (1.2): For those building in the sources' tree.
+
+2002-05-28 Tuesday 12:58  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog.cc (1.4), Watchdog.defs.hh (1.2), Watchdog.inlines.hh
+	  (1.2): Better implementation using templates.
+
+2002-05-27 Monday 15:57  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.3), README (1.3), Timeout.hh (1.3), Watchdog.cc
+	  (1.3), Watchdog.defs.hh (1.1), Watchdog.hh (1.3),
+	  Watchdog.inlines.hh (1.1), Watchdog.types.hh (1.1), configure.ac
+	  (1.3), pwl_filter_doxygen.sed (1.1), pwl_filter_install.sed
+	  (1.1), pwl_header.bottom (1.1), pwl_header.middle (1.1),
+	  pwl_header.top (1.1): The Watchdog library is now complete.
+
+2002-05-24 Friday 07:25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am (1.2), README (1.2), Timeout.hh (1.2), Watchdog.cc
+	  (1.2), Watchdog.hh (1.2), config.h.in (1.2), configure.ac (1.2):
+	  Several improvement (but still not operational).
+
+2002-05-22 Wednesday 11:02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* .cvsignore (1.1), BUGS (1.1), COPYING (1.1), CREDITS (1.1),
+	  ChangeLog (1.1), INSTALL (1.1), Makefile.am (1.1), NEWS (1.1),
+	  README (1.1), Timeout.hh (1.1), Watchdog.cc (1.1), Watchdog.hh
+	  (1.1), config.h.in (1.1), configure.ac (1.1): Even though the
+	  Watchdog library is completely independent from the PPL, it will
+	  live with it, at least for a while.
+
diff --git a/Watchdog/INSTALL b/Watchdog/INSTALL
index 8b82ade..7d1c323 100644
--- a/Watchdog/INSTALL
+++ b/Watchdog/INSTALL
@@ -2,10 +2,12 @@ Installation Instructions
 *************************
 
 Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
-2006, 2007, 2008 Free Software Foundation, Inc.
+2006, 2007, 2008, 2009 Free Software Foundation, Inc.
 
-   This file is free documentation; the Free Software Foundation gives
-unlimited permission to copy, distribute and modify it.
+   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
 ==================
@@ -13,7 +15,11 @@ 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.
+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
@@ -42,7 +48,7 @@ may remove or edit it.
 you want to change it or regenerate `configure' using a newer version
 of `autoconf'.
 
-The simplest way to compile this package is:
+   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.
@@ -53,12 +59,22 @@ The simplest way to compile this package is:
   2. Type `make' to compile the package.
 
   3. Optionally, type `make check' to run any self-tests that come with
-     the package.
+     the package, generally using the just-built uninstalled binaries.
 
   4. Type `make install' to install the programs and any data files and
-     documentation.
-
-  5. You can remove the program binaries and object files from the
+     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
@@ -67,8 +83,15 @@ The simplest way to compile this package is:
      all sorts of other programs in order to regenerate files that came
      with the distribution.
 
-  6. Often, you can also type `make uninstall' to remove the installed
-     files again.
+  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
 =====================
@@ -93,7 +116,8 @@ 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 `..'.
+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
@@ -120,7 +144,8 @@ 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'.
+`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
@@ -131,15 +156,46 @@ 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.
+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'.
 
-Optional Features
-=================
-
    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
@@ -152,6 +208,13 @@ 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
 ==================
 
@@ -159,7 +222,7 @@ Particular systems
 CC is not installed, it is recommended to use the following options in
 order to use an ANSI C compiler:
 
-     ./configure CC="cc -Ae"
+     ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
 
 and if that doesn't work, install pre-built binaries of GCC for HP-UX.
 
@@ -174,6 +237,16 @@ 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
 ==========================
 
@@ -189,7 +262,8 @@ type, such as `sun4', or a canonical name which has the form:
 
 where SYSTEM can have one of these forms:
 
-     OS KERNEL-OS
+     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
@@ -277,7 +351,7 @@ operates.
      `configure' can determine that directory automatically.
 
 `--prefix=DIR'
-     Use DIR as the installation prefix.  *Note Installation Names::
+     Use DIR as the installation prefix.  *note Installation Names::
      for more details, including other options available for fine-tuning
      the installation locations.
 
diff --git a/Watchdog/Makefile.am b/Watchdog/Makefile.am
index b9b7bb2..0ed791a 100644
--- a/Watchdog/Makefile.am
+++ b/Watchdog/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Watchdog Library (PWL).
 #
@@ -55,6 +55,7 @@ pwl-config.h \
 pwl-config.h.in \
 pwl-config.sed \
 BUGS \
+ChangeLog_2001-2008 \
 CREDITS
 
 DISTCLEANFILES = \
diff --git a/Watchdog/Makefile.in b/Watchdog/Makefile.in
index 500ef77..c747005 100644
--- a/Watchdog/Makefile.in
+++ b/Watchdog/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Watchdog Library (PWL).
 #
@@ -39,8 +40,9 @@
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -74,7 +76,14 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 SCRIPTS = $(dist_noinst_SCRIPTS)
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
@@ -87,6 +96,9 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
 HEADERS = $(nodist_noinst_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
   distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+	distdir dist dist-all distcheck
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = . m4 utils src tests doc
@@ -94,15 +106,42 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
 am__remove_distdir = \
-  { test ! -d $(distdir) \
-    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
-         && rm -fr $(distdir); }; }
-DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 $(distdir).zip
+  { test ! -d "$(distdir)" \
+    || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr "$(distdir)"; }; }
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
+DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 \
+	$(distdir).tar.lzma $(distdir).zip
 GZIP_ENV = --best
 distuninstallcheck_listfiles = find . -type f -print
 distcleancheck_listfiles = find . -type f -print
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -111,7 +150,6 @@ AWK = @AWK@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
-CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
@@ -156,6 +194,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -204,7 +243,6 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 oldincludedir = @oldincludedir@
@@ -239,6 +277,7 @@ pwl-config.h \
 pwl-config.h.in \
 pwl-config.sed \
 BUGS \
+ChangeLog_2001-2008 \
 CREDITS
 
 DISTCLEANFILES = \
@@ -254,15 +293,15 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
-	      cd $(srcdir) && $(AUTOMAKE) --foreign  \
+	      echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
+	      $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
 		&& exit 0; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -278,9 +317,10 @@ $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENC
 	$(SHELL) ./config.status --recheck
 
 $(top_srcdir)/configure:  $(am__configure_deps)
-	cd $(srcdir) && $(AUTOCONF)
+	$(am__cd) $(srcdir) && $(AUTOCONF)
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+	$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
 
 config.h: stamp-h1
 	@if test ! -f $@; then \
@@ -292,7 +332,7 @@ stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
 	@rm -f stamp-h1
 	cd $(top_builddir) && $(SHELL) ./config.status config.h
 $(srcdir)/config.h.in:  $(am__configure_deps) 
-	cd $(top_srcdir) && $(AUTOHEADER)
+	($(am__cd) $(top_srcdir) && $(AUTOHEADER))
 	rm -f stamp-h1
 	touch $@
 
@@ -306,7 +346,7 @@ clean-libtool:
 	-rm -rf .libs _libs
 
 distclean-libtool:
-	-rm -f libtool
+	-rm -f libtool config.lt
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -315,7 +355,7 @@ distclean-libtool:
 #     (which will cause the Makefiles to be regenerated when you run `make');
 # (2) otherwise, pass the desired values on the `make' command line.
 $(RECURSIVE_TARGETS):
-	@failcom='exit 1'; \
+	@fail= failcom='exit 1'; \
 	for f in x $$MAKEFLAGS; do \
 	  case $$f in \
 	    *=* | --[!k]*);; \
@@ -332,7 +372,7 @@ $(RECURSIVE_TARGETS):
 	  else \
 	    local_target="$$target"; \
 	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
 	  || eval $$failcom; \
 	done; \
 	if test "$$dot_seen" = "no"; then \
@@ -340,7 +380,7 @@ $(RECURSIVE_TARGETS):
 	fi; test -z "$$fail"
 
 $(RECURSIVE_CLEAN_TARGETS):
-	@failcom='exit 1'; \
+	@fail= failcom='exit 1'; \
 	for f in x $$MAKEFLAGS; do \
 	  case $$f in \
 	    *=* | --[!k]*);; \
@@ -366,16 +406,16 @@ $(RECURSIVE_CLEAN_TARGETS):
 	  else \
 	    local_target="$$target"; \
 	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
 	  || eval $$failcom; \
 	done && test -z "$$fail"
 tags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
 	done
 ctags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
 	done
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -383,14 +423,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
 	  include_option=--etags-include; \
@@ -402,7 +442,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
 	list='$(SUBDIRS)'; for subdir in $$list; do \
 	  if test "$$subdir" = .; then :; else \
 	    test ! -f $$subdir/TAGS || \
-	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
 	  fi; \
 	done; \
 	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
@@ -411,36 +451,41 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
 distdir: $(DISTFILES)
 	$(am__remove_distdir)
-	test -d $(distdir) || mkdir $(distdir)
+	test -d "$(distdir)" || mkdir "$(distdir)"
 	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
 	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
 	list='$(DISTFILES)'; \
@@ -456,29 +501,44 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
-	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
 	  if test "$$subdir" = .; then :; else \
 	    test -d "$(distdir)/$$subdir" \
 	    || $(MKDIR_P) "$(distdir)/$$subdir" \
 	    || exit 1; \
-	    distdir=`$(am__cd) $(distdir) && pwd`; \
-	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
-	    (cd $$subdir && \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
 	      $(MAKE) $(AM_MAKEFLAGS) \
-	        top_distdir="$$top_distdir" \
-	        distdir="$$distdir/$$subdir" \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
 		am__remove_distdir=: \
 		am__skip_length_check=: \
+		am__skip_mode_fix=: \
 	        distdir) \
 	      || exit 1; \
 	  fi; \
@@ -486,22 +546,27 @@ distdir: $(DISTFILES)
 	$(MAKE) $(AM_MAKEFLAGS) \
 	  top_distdir="$(top_distdir)" distdir="$(distdir)" \
 	  dist-hook
-	-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+	-test -n "$(am__skip_mode_fix)" \
+	|| find "$(distdir)" -type d ! -perm -755 \
+		-exec chmod u+rwx,go+rx {} \; -o \
 	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
 	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
 	  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
-	|| chmod -R a+r $(distdir)
+	|| chmod -R a+r "$(distdir)"
 dist-gzip: distdir
 	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
 	$(am__remove_distdir)
 dist-bzip2: distdir
 	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
 	$(am__remove_distdir)
-
 dist-lzma: distdir
 	tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
 	$(am__remove_distdir)
 
+dist-xz: distdir
+	tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
+	$(am__remove_distdir)
+
 dist-tarZ: distdir
 	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
 	$(am__remove_distdir)
@@ -517,6 +582,7 @@ dist-zip: distdir
 dist dist-all: distdir
 	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
 	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+	tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
 	-rm -f $(distdir).zip
 	zip -rq $(distdir).zip $(distdir)
 	$(am__remove_distdir)
@@ -527,15 +593,17 @@ dist dist-all: distdir
 distcheck: dist
 	case '$(DIST_ARCHIVES)' in \
 	*.tar.gz*) \
-	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
 	*.tar.bz2*) \
-	  bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+	  bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
 	*.tar.lzma*) \
-	  unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
+	  lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
+	*.tar.xz*) \
+	  xz -dc $(distdir).tar.xz | $(am__untar) ;;\
 	*.tar.Z*) \
 	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
 	*.shar.gz*) \
-	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
 	*.zip*) \
 	  unzip $(distdir).zip ;;\
 	esac
@@ -543,9 +611,11 @@ distcheck: dist
 	mkdir $(distdir)/_build
 	mkdir $(distdir)/_inst
 	chmod a-w $(distdir)
+	test -d $(distdir)/_build || exit 0; \
 	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
 	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
-	  && cd $(distdir)/_build \
+	  && am__cwd=`pwd` \
+	  && $(am__cd) $(distdir)/_build \
 	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
 	    $(DISTCHECK_CONFIGURE_FLAGS) \
 	  && $(MAKE) $(AM_MAKEFLAGS) \
@@ -567,13 +637,15 @@ distcheck: dist
 	  && rm -rf "$$dc_destdir" \
 	  && $(MAKE) $(AM_MAKEFLAGS) dist \
 	  && rm -rf $(DIST_ARCHIVES) \
-	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
+	  && cd "$$am__cwd" \
+	  || exit 1
 	$(am__remove_distdir)
 	@(echo "$(distdir) archives ready for distribution: "; \
 	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
 	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
 distuninstallcheck:
-	@cd $(distuninstallcheck_dir) \
+	@$(am__cd) '$(distuninstallcheck_dir)' \
 	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
 	   || { echo "ERROR: files left after uninstall:" ; \
 	        if test -n "$(DESTDIR)"; then \
@@ -615,6 +687,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 	-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
 
 maintainer-clean-generic:
@@ -636,6 +709,8 @@ dvi-am:
 
 html: html-recursive
 
+html-am:
+
 info: info-recursive
 
 info-am:
@@ -644,18 +719,28 @@ install-data-am:
 
 install-dvi: install-dvi-recursive
 
+install-dvi-am:
+
 install-exec-am:
 
 install-html: install-html-recursive
 
+install-html-am:
+
 install-info: install-info-recursive
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-recursive
 
+install-pdf-am:
+
 install-ps: install-ps-recursive
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-recursive
@@ -678,14 +763,14 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
-	install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
+	ctags-recursive install-am install-strip tags-recursive
 
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
 	all all-am am--refresh check check-am clean clean-generic \
 	clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
-	dist-gzip dist-hook dist-lzma dist-shar dist-tarZ dist-zip \
-	distcheck distclean distclean-generic distclean-hdr \
+	dist-gzip dist-hook dist-lzma dist-shar dist-tarZ dist-xz \
+	dist-zip distcheck distclean distclean-generic distclean-hdr \
 	distclean-libtool distclean-tags distcleancheck distdir \
 	distuninstallcheck dvi dvi-am html html-am info info-am \
 	install install-am install-data install-data-am install-dvi \
@@ -709,6 +794,7 @@ uninstall-am:
 # it, hence we erase it in `dist-hook'.
 dist-hook:
 	rm -f $(distdir)/pwl-config.h
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/Watchdog/NEWS b/Watchdog/NEWS
index 0d73c44..986b025 100644
--- a/Watchdog/NEWS
+++ b/Watchdog/NEWS
@@ -4,6 +4,14 @@ Parma Watchdog Library NEWS -- history of user-visible changes
 
 
 --------------------------------------------------------------------------
+NEWS for version 0.8  (released on August 2, 2010)
+--------------------------------------------------------------------------
+
+o  The new class Threshold_Watcher allows to define, generically,
+   any kind of watchdog controlling the exceeding of a threshold.
+
+
+--------------------------------------------------------------------------
 NEWS for version 0.7  (released on April 14, 2009)
 --------------------------------------------------------------------------
 
diff --git a/Watchdog/README b/Watchdog/README
index 4aaf43a..53ebc54 100644
--- a/Watchdog/README
+++ b/Watchdog/README
@@ -1,6 +1,7 @@
 
-This is the release 0.6 of the Parma Watchdog Library:
-a C++ library for software timeouts.
+This is the release 0.8 of the Parma Watchdog Library, a C++ library for
+software timeouts and other devices able to throttle the complexity of
+expensive algorithms.
 
 To be continued...
 
@@ -12,14 +13,15 @@ See the file BUGS for known bugs and how to report new ones.
 See the file CREDITS for a list of people and organizations that
 contributed to the PWL.
 
-Here is the contents of the PWL 0.7 source distribution
-(5 directories, 97 files):
+Here is the contents of the PWL 0.8 source distribution
+(5 directories, 102 files):
 
-pwl-0.7
+pwl-0.8
 |-- BUGS
 |-- COPYING
 |-- CREDITS
 |-- ChangeLog
+|-- ChangeLog_2001-2008
 |-- INSTALL
 |-- Makefile.am
 |-- Makefile.in
@@ -51,9 +53,9 @@ pwl-0.7
 |   |-- gpl.ps.gz
 |   |-- gpl.tex
 |   |-- gpl.txt
-|   |-- pwl-user-0.7-html.tar.gz
-|   |-- pwl-user-0.7.pdf
-|   |-- pwl-user-0.7.ps.gz
+|   |-- pwl-user-0.8-html.tar.gz
+|   |-- pwl-user-0.8.pdf
+|   |-- pwl-user-0.8.ps.gz
 |   |-- pwl.sty
 |   |-- user.doxyconf-html.in
 |   |-- user.doxyconf-latex.in
@@ -89,14 +91,18 @@ pwl-0.7
 |   |-- Handler.types.hh
 |   |-- Makefile.am
 |   |-- Makefile.in
-|   |-- Pending_Element.cc
 |   |-- Pending_Element.defs.hh
 |   |-- Pending_Element.inlines.hh
 |   |-- Pending_Element.types.hh
-|   |-- Pending_List.cc
 |   |-- Pending_List.defs.hh
 |   |-- Pending_List.inlines.hh
+|   |-- Pending_List.templates.hh
 |   |-- Pending_List.types.hh
+|   |-- Threshold_Watcher.cc
+|   |-- Threshold_Watcher.defs.hh
+|   |-- Threshold_Watcher.inlines.hh
+|   |-- Threshold_Watcher.templates.hh
+|   |-- Threshold_Watcher.types.hh
 |   |-- Time.cc
 |   |-- Time.defs.hh
 |   |-- Time.inlines.hh
@@ -112,8 +118,8 @@ pwl-0.7
 |   |-- Makefile.in
 |   |-- pwl_test.cc
 |   |-- pwl_test.hh
-|   |-- simple1.cc
-|   `-- valgrind_suppressions
+|   |-- valgrind_suppressions
+|   `-- watchdog1.cc
 `-- utils
     |-- Makefile.am
     |-- Makefile.in
@@ -122,7 +128,7 @@ pwl-0.7
 
 --------
 
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 The Parma Watchdog Library is free software; you can redistribute it
 and/or modify it under the terms of the GNU General Public License as
diff --git a/Watchdog/aclocal.m4 b/Watchdog/aclocal.m4
index ecfd403..eab6ea8 100644
--- a/Watchdog/aclocal.m4
+++ b/Watchdog/aclocal.m4
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.10.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
 
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -13,6652 +13,13 @@
 
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(AC_AUTOCONF_VERSION, [2.63],,
-[m4_warning([this file was generated for autoconf 2.63.
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.67],,
+[m4_warning([this file was generated for autoconf 2.67.
 You have another version of autoconf.  It may work, but is not guaranteed to.
 If you have problems, you may need to regenerate the build system entirely.
 To do so, use the procedure documented by the package, typically `autoreconf'.])])
 
-# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-
-# serial 52 AC_PROG_LIBTOOL
-
-
-# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
-# -----------------------------------------------------------
-# If this macro is not defined by Autoconf, define it here.
-m4_ifdef([AC_PROVIDE_IFELSE],
-         [],
-         [m4_define([AC_PROVIDE_IFELSE],
-	         [m4_ifdef([AC_PROVIDE_$1],
-		           [$2], [$3])])])
-
-
-# AC_PROG_LIBTOOL
-# ---------------
-AC_DEFUN([AC_PROG_LIBTOOL],
-[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
-dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
-dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
-  AC_PROVIDE_IFELSE([AC_PROG_CXX],
-    [AC_LIBTOOL_CXX],
-    [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
-  ])])
-dnl And a similar setup for Fortran 77 support
-  AC_PROVIDE_IFELSE([AC_PROG_F77],
-    [AC_LIBTOOL_F77],
-    [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77
-])])
-
-dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
-dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
-dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
-  AC_PROVIDE_IFELSE([AC_PROG_GCJ],
-    [AC_LIBTOOL_GCJ],
-    [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
-      [AC_LIBTOOL_GCJ],
-      [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
-	[AC_LIBTOOL_GCJ],
-      [ifdef([AC_PROG_GCJ],
-	     [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])
-       ifdef([A][M_PROG_GCJ],
-	     [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])])
-       ifdef([LT_AC_PROG_GCJ],
-	     [define([LT_AC_PROG_GCJ],
-		defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])])
-])])# AC_PROG_LIBTOOL
-
-
-# _AC_PROG_LIBTOOL
-# ----------------
-AC_DEFUN([_AC_PROG_LIBTOOL],
-[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-AC_SUBST(LIBTOOL)dnl
-
-# Prevent multiple expansion
-define([AC_PROG_LIBTOOL], [])
-])# _AC_PROG_LIBTOOL
-
-
-# AC_LIBTOOL_SETUP
-# ----------------
-AC_DEFUN([AC_LIBTOOL_SETUP],
-[AC_PREREQ(2.50)dnl
-AC_REQUIRE([AC_ENABLE_SHARED])dnl
-AC_REQUIRE([AC_ENABLE_STATIC])dnl
-AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_PROG_LD])dnl
-AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
-AC_REQUIRE([AC_PROG_NM])dnl
-
-AC_REQUIRE([AC_PROG_LN_S])dnl
-AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
-# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
-AC_REQUIRE([AC_OBJEXT])dnl
-AC_REQUIRE([AC_EXEEXT])dnl
-dnl
-AC_LIBTOOL_SYS_MAX_CMD_LEN
-AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-AC_LIBTOOL_OBJDIR
-
-AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-_LT_AC_PROG_ECHO_BACKSLASH
-
-case $host_os in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='sed -e 1s/^X//'
-[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
-
-# Same as above, but do not quote variable references.
-[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g']
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-# Constants:
-rm="rm -f"
-
-# Global variables:
-default_ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-ltmain="$ac_aux_dir/ltmain.sh"
-ofile="$default_ofile"
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-AC_CHECK_TOOL(AR, ar, false)
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-AC_CHECK_TOOL(STRIP, strip, :)
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-test -z "$AS" && AS=as
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-test -z "$LD" && LD=ld
-test -z "$LN_S" && LN_S="ln -s"
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-test -z "$NM" && NM=nm
-test -z "$SED" && SED=sed
-test -z "$OBJDUMP" && OBJDUMP=objdump
-test -z "$RANLIB" && RANLIB=:
-test -z "$STRIP" && STRIP=:
-test -z "$ac_objext" && ac_objext=o
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
-  case $host_os in
-  openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-_LT_CC_BASENAME([$compiler])
-
-# Only perform the check for file, if the check method requires it
-case $deplibs_check_method in
-file_magic*)
-  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    AC_PATH_MAGIC
-  fi
-  ;;
-esac
-
-_LT_REQUIRED_DARWIN_CHECKS
-
-AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
-AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
-enable_win32_dll=yes, enable_win32_dll=no)
-
-AC_ARG_ENABLE([libtool-lock],
-    [AC_HELP_STRING([--disable-libtool-lock],
-	[avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-AC_ARG_WITH([pic],
-    [AC_HELP_STRING([--with-pic],
-	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
-    [pic_mode="$withval"],
-    [pic_mode=default])
-test -z "$pic_mode" && pic_mode=default
-
-# Use C for the default configuration in the libtool script
-tagname=
-AC_LIBTOOL_LANG_C_CONFIG
-_LT_AC_TAGCONFIG
-])# AC_LIBTOOL_SETUP
-
-
-# _LT_AC_SYS_COMPILER
-# -------------------
-AC_DEFUN([_LT_AC_SYS_COMPILER],
-[AC_REQUIRE([AC_PROG_CC])dnl
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-])# _LT_AC_SYS_COMPILER
-
-
-# _LT_CC_BASENAME(CC)
-# -------------------
-# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
-AC_DEFUN([_LT_CC_BASENAME],
-[for cc_temp in $1""; do
-  case $cc_temp in
-    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
-    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-])
-
-
-# _LT_COMPILER_BOILERPLATE
-# ------------------------
-# Check for compiler boilerplate output or warnings with
-# the simple compiler test code.
-AC_DEFUN([_LT_COMPILER_BOILERPLATE],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-])# _LT_COMPILER_BOILERPLATE
-
-
-# _LT_LINKER_BOILERPLATE
-# ----------------------
-# Check for linker boilerplate output or warnings with
-# the simple link test code.
-AC_DEFUN([_LT_LINKER_BOILERPLATE],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm -r conftest*
-])# _LT_LINKER_BOILERPLATE
-
-# _LT_REQUIRED_DARWIN_CHECKS
-# --------------------------
-# Check for some things on darwin
-AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS],[
-  case $host_os in
-    rhapsody* | darwin*)
-    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
-    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
-
-    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
-      [lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
-   # By default we will add the -single_module flag. You can override
-   # by either setting the environment variable LT_MULTI_MODULE
-   # non-empty at configure time, or by adding -multi_module to the
-   # link flags.
-   echo "int foo(void){return 1;}" > conftest.c
-   $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-     -dynamiclib ${wl}-single_module conftest.c
-   if test -f libconftest.dylib; then
-     lt_cv_apple_cc_single_mod=yes
-     rm -rf libconftest.dylib*
-   fi
-   rm conftest.c
-      fi])
-    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
-      [lt_cv_ld_exported_symbols_list],
-      [lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
-   [lt_cv_ld_exported_symbols_list=yes],
-   [lt_cv_ld_exported_symbols_list=no])
-   LDFLAGS="$save_LDFLAGS"
-    ])
-    case $host_os in
-    rhapsody* | darwin1.[[0123]])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-    darwin1.*)
-     _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-    darwin*)
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-   10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
-     _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-   10.[[012]]*)
-     _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-   10.*)
-     _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
-    else
-      _lt_dar_export_syms="~$NMEDIT -s \$output_objdir/\${libname}-symbols.expsym \${lib}"
-    fi
-    if test "$DSYMUTIL" != ":"; then
-      _lt_dsymutil="~$DSYMUTIL \$lib || :"
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
-])
-
-# _LT_AC_SYS_LIBPATH_AIX
-# ----------------------
-# Links a minimal program and checks the executable
-# for the system default hardcoded library path. In most cases,
-# this is /usr/lib:/lib, but when the MPI compilers are used
-# the location of the communication and MPI libs are included too.
-# If we don't find anything, use the default library path according
-# to the aix ld manual.
-AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_LINK_IFELSE(AC_LANG_PROGRAM,[
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-	/^0/ {
-	    s/^0  *\(.*\)$/\1/
-	    p
-	}
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi],[])
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-])# _LT_AC_SYS_LIBPATH_AIX
-
-
-# _LT_AC_SHELL_INIT(ARG)
-# ----------------------
-AC_DEFUN([_LT_AC_SHELL_INIT],
-[ifdef([AC_DIVERSION_NOTICE],
-	     [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
-	 [AC_DIVERT_PUSH(NOTICE)])
-$1
-AC_DIVERT_POP
-])# _LT_AC_SHELL_INIT
-
-
-# _LT_AC_PROG_ECHO_BACKSLASH
-# --------------------------
-# Add some code to the start of the generated configure script which
-# will find an echo command which doesn't interpret backslashes.
-AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
-[_LT_AC_SHELL_INIT([
-# Check that we are running under the correct shell.
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-case X$ECHO in
-X*--fallback-echo)
-  # Remove one level of quotation (which was required for Make).
-  ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
-  ;;
-esac
-
-echo=${ECHO-echo}
-if test "X[$]1" = X--no-reexec; then
-  # Discard the --no-reexec flag, and continue.
-  shift
-elif test "X[$]1" = X--fallback-echo; then
-  # Avoid inline document here, it may be left over
-  :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
-  # Yippee, $echo works!
-  :
-else
-  # Restart under the correct shell.
-  exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
-fi
-
-if test "X[$]1" = X--fallback-echo; then
-  # used as fallback echo
-  shift
-  cat <<EOF
-[$]*
-EOF
-  exit 0
-fi
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test -z "$ECHO"; then
-if test "X${echo_test_string+set}" != Xset; then
-# find a string as large as possible, as long as the shell can cope with it
-  for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
-    # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
-    if (echo_test_string=`eval $cmd`) 2>/dev/null &&
-       echo_test_string=`eval $cmd` &&
-       (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
-    then
-      break
-    fi
-  done
-fi
-
-if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
-   echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
-   test "X$echo_testing_string" = "X$echo_test_string"; then
-  :
-else
-  # The Solaris, AIX, and Digital Unix default echo programs unquote
-  # backslashes.  This makes it impossible to quote backslashes using
-  #   echo "$something" | sed 's/\\/\\\\/g'
-  #
-  # So, first we look for a working echo in the user's PATH.
-
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for dir in $PATH /usr/ucb; do
-    IFS="$lt_save_ifs"
-    if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
-       test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
-       echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
-       test "X$echo_testing_string" = "X$echo_test_string"; then
-      echo="$dir/echo"
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-
-  if test "X$echo" = Xecho; then
-    # We didn't find a better echo, so look for alternatives.
-    if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
-       echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
-       test "X$echo_testing_string" = "X$echo_test_string"; then
-      # This shell has a builtin print -r that does the trick.
-      echo='print -r'
-    elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
-	 test "X$CONFIG_SHELL" != X/bin/ksh; then
-      # If we have ksh, try running configure again with it.
-      ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-      export ORIGINAL_CONFIG_SHELL
-      CONFIG_SHELL=/bin/ksh
-      export CONFIG_SHELL
-      exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
-    else
-      # Try using printf.
-      echo='printf %s\n'
-      if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
-	 echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
-	 test "X$echo_testing_string" = "X$echo_test_string"; then
-	# Cool, printf works
-	:
-      elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
-	   test "X$echo_testing_string" = 'X\t' &&
-	   echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-	   test "X$echo_testing_string" = "X$echo_test_string"; then
-	CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
-	export CONFIG_SHELL
-	SHELL="$CONFIG_SHELL"
-	export SHELL
-	echo="$CONFIG_SHELL [$]0 --fallback-echo"
-      elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
-	   test "X$echo_testing_string" = 'X\t' &&
-	   echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-	   test "X$echo_testing_string" = "X$echo_test_string"; then
-	echo="$CONFIG_SHELL [$]0 --fallback-echo"
-      else
-	# maybe with a smaller string...
-	prev=:
-
-	for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
-	  if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
-	  then
-	    break
-	  fi
-	  prev="$cmd"
-	done
-
-	if test "$prev" != 'sed 50q "[$]0"'; then
-	  echo_test_string=`eval $prev`
-	  export echo_test_string
-	  exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
-	else
-	  # Oops.  We lost completely, so just stick with echo.
-	  echo=echo
-	fi
-      fi
-    fi
-  fi
-fi
-fi
-
-# Copy echo and quote the copy suitably for passing to libtool from
-# the Makefile, instead of quoting the original, which is used later.
-ECHO=$echo
-if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
-   ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
-fi
-
-AC_SUBST(ECHO)
-])])# _LT_AC_PROG_ECHO_BACKSLASH
-
-
-# _LT_AC_LOCK
-# -----------
-AC_DEFUN([_LT_AC_LOCK],
-[AC_ARG_ENABLE([libtool-lock],
-    [AC_HELP_STRING([--disable-libtool-lock],
-	[avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    case `/usr/bin/file conftest.$ac_objext` in
-    *ELF-32*)
-      HPUX_IA64_MODE="32"
-      ;;
-    *ELF-64*)
-      HPUX_IA64_MODE="64"
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-*-*-irix6*)
-  # Find out which ABI we are using.
-  echo '[#]line __oline__ "configure"' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-   if test "$lt_cv_prog_gnu_ld" = yes; then
-    case `/usr/bin/file conftest.$ac_objext` in
-    *32-bit*)
-      LD="${LD-ld} -melf32bsmip"
-      ;;
-    *N32*)
-      LD="${LD-ld} -melf32bmipn32"
-      ;;
-    *64-bit*)
-      LD="${LD-ld} -melf64bmip"
-      ;;
-    esac
-   else
-    case `/usr/bin/file conftest.$ac_objext` in
-    *32-bit*)
-      LD="${LD-ld} -32"
-      ;;
-    *N32*)
-      LD="${LD-ld} -n32"
-      ;;
-    *64-bit*)
-      LD="${LD-ld} -64"
-      ;;
-    esac
-   fi
-  fi
-  rm -rf conftest*
-  ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|sparc*-*linux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    case `/usr/bin/file conftest.o` in
-    *32-bit*)
-      case $host in
-        x86_64-*kfreebsd*-gnu)
-          LD="${LD-ld} -m elf_i386_fbsd"
-          ;;
-        x86_64-*linux*)
-          LD="${LD-ld} -m elf_i386"
-          ;;
-        ppc64-*linux*|powerpc64-*linux*)
-          LD="${LD-ld} -m elf32ppclinux"
-          ;;
-        s390x-*linux*)
-          LD="${LD-ld} -m elf_s390"
-          ;;
-        sparc64-*linux*)
-          LD="${LD-ld} -m elf32_sparc"
-          ;;
-      esac
-      ;;
-    *64-bit*)
-      libsuff=64
-      case $host in
-        x86_64-*kfreebsd*-gnu)
-          LD="${LD-ld} -m elf_x86_64_fbsd"
-          ;;
-        x86_64-*linux*)
-          LD="${LD-ld} -m elf_x86_64"
-          ;;
-        ppc*-*linux*|powerpc*-*linux*)
-          LD="${LD-ld} -m elf64ppc"
-          ;;
-        s390*-*linux*)
-          LD="${LD-ld} -m elf64_s390"
-          ;;
-        sparc*-*linux*)
-          LD="${LD-ld} -m elf64_sparc"
-          ;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -belf"
-  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
-    [AC_LANG_PUSH(C)
-     AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
-     AC_LANG_POP])
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
-  fi
-  ;;
-sparc*-*solaris*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
-      *)
-        if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-	  LD="${LD-ld} -64"
-	fi
-	;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
-[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
-  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
-  AC_CHECK_TOOL(AS, as, false)
-  AC_CHECK_TOOL(OBJDUMP, objdump, false)
-  ;;
-  ])
-esac
-
-need_locks="$enable_libtool_lock"
-
-])# _LT_AC_LOCK
-
-
-# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
-[AC_REQUIRE([LT_AC_PROG_SED])
-AC_CACHE_CHECK([$1], [$2],
-  [$2=no
-  ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$3"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&AS_MESSAGE_LOG_FD
-   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       $2=yes
-     fi
-   fi
-   $rm conftest*
-])
-
-if test x"[$]$2" = xyes; then
-    ifelse([$5], , :, [$5])
-else
-    ifelse([$6], , :, [$6])
-fi
-])# AC_LIBTOOL_COMPILER_OPTION
-
-
-# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-#                          [ACTION-SUCCESS], [ACTION-FAILURE])
-# ------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_CACHE_CHECK([$1], [$2],
-  [$2=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $3"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&AS_MESSAGE_LOG_FD
-       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         $2=yes
-       fi
-     else
-       $2=yes
-     fi
-   fi
-   $rm -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-])
-
-if test x"[$]$2" = xyes; then
-    ifelse([$4], , :, [$4])
-else
-    ifelse([$5], , :, [$5])
-fi
-])# AC_LIBTOOL_LINKER_OPTION
-
-
-# AC_LIBTOOL_SYS_MAX_CMD_LEN
-# --------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
-[# find the maximum length of command line arguments
-AC_MSG_CHECKING([the maximum length of command line arguments])
-AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
-  i=0
-  teststring="ABCD"
-
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
-
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
-
-  cygwin* | mingw*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
-
-  interix*)
-    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-    lt_cv_sys_max_cmd_len=196608
-    ;;
-
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ 	]]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
-    ;;
-  *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
-	       = "XX$teststring") >/dev/null 2>&1 &&
-	      new_result=`expr "X$teststring" : ".*" 2>&1` &&
-	      lt_cv_sys_max_cmd_len=$new_result &&
-	      test $i != 17 # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on massive
-      # amounts of additional arguments before passing them to the linker.
-      # It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
-    ;;
-  esac
-])
-if test -n $lt_cv_sys_max_cmd_len ; then
-  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
-else
-  AC_MSG_RESULT(none)
-fi
-])# AC_LIBTOOL_SYS_MAX_CMD_LEN
-
-
-# _LT_AC_CHECK_DLFCN
-# ------------------
-AC_DEFUN([_LT_AC_CHECK_DLFCN],
-[AC_CHECK_HEADERS(dlfcn.h)dnl
-])# _LT_AC_CHECK_DLFCN
-
-
-# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
-#                           ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
-# ---------------------------------------------------------------------
-AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
-[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
-if test "$cross_compiling" = yes; then :
-  [$4]
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<EOF
-[#line __oline__ "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL		RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL		DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL		0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW		DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW	RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW	DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW	0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-
-void fnord() { int i=42;}
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-    exit (status);
-}]
-EOF
-  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) $1 ;;
-      x$lt_dlneed_uscore) $2 ;;
-      x$lt_dlunknown|x*) $3 ;;
-    esac
-  else :
-    # compilation failed
-    $3
-  fi
-fi
-rm -fr conftest*
-])# _LT_AC_TRY_DLOPEN_SELF
-
-
-# AC_LIBTOOL_DLOPEN_SELF
-# ----------------------
-AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
-[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
-if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
-
-  case $host_os in
-  beos*)
-    lt_cv_dlopen="load_add_on"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
-
-  mingw* | pw32*)
-    lt_cv_dlopen="LoadLibrary"
-    lt_cv_dlopen_libs=
-   ;;
-
-  cygwin*)
-    lt_cv_dlopen="dlopen"
-    lt_cv_dlopen_libs=
-   ;;
-
-  darwin*)
-  # if libdl is installed we need to link against it
-    AC_CHECK_LIB([dl], [dlopen],
-		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
-    lt_cv_dlopen="dyld"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ])
-   ;;
-
-  *)
-    AC_CHECK_FUNC([shl_load],
-	  [lt_cv_dlopen="shl_load"],
-      [AC_CHECK_LIB([dld], [shl_load],
-	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
-	[AC_CHECK_FUNC([dlopen],
-	      [lt_cv_dlopen="dlopen"],
-	  [AC_CHECK_LIB([dl], [dlopen],
-		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
-	    [AC_CHECK_LIB([svld], [dlopen],
-		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
-	      [AC_CHECK_LIB([dld], [dld_link],
-		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
-	      ])
-	    ])
-	  ])
-	])
-      ])
-    ;;
-  esac
-
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
-    enable_dlopen=no
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
-    save_LDFLAGS="$LDFLAGS"
-    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
-    save_LIBS="$LIBS"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-    AC_CACHE_CHECK([whether a program can dlopen itself],
-	  lt_cv_dlopen_self, [dnl
-	  _LT_AC_TRY_DLOPEN_SELF(
-	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
-	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
-    ])
-
-    if test "x$lt_cv_dlopen_self" = xyes; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
-    	  lt_cv_dlopen_self_static, [dnl
-	  _LT_AC_TRY_DLOPEN_SELF(
-	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
-	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
-      ])
-    fi
-
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
-    ;;
-  esac
-
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-])# AC_LIBTOOL_DLOPEN_SELF
-
-
-# AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
-# ---------------------------------
-# Check to see if options -c and -o are simultaneously supported by compiler
-AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
-  [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
-  [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
-   $rm -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&AS_MESSAGE_LOG_FD
-   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-     fi
-   fi
-   chmod u+w . 2>&AS_MESSAGE_LOG_FD
-   $rm conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
-   $rm out/* && rmdir out
-   cd ..
-   rmdir conftest
-   $rm conftest*
-])
-])# AC_LIBTOOL_PROG_CC_C_O
-
-
-# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME])
-# -----------------------------------------
-# Check to see if we can do hard links to lock some files if needed
-AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS],
-[AC_REQUIRE([_LT_AC_LOCK])dnl
-
-hard_links="nottested"
-if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  AC_MSG_CHECKING([if we can lock with hard links])
-  hard_links=yes
-  $rm conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  AC_MSG_RESULT([$hard_links])
-  if test "$hard_links" = no; then
-    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
-
-
-# AC_LIBTOOL_OBJDIR
-# -----------------
-AC_DEFUN([AC_LIBTOOL_OBJDIR],
-[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
-[rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  lt_cv_objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null])
-objdir=$lt_cv_objdir
-])# AC_LIBTOOL_OBJDIR
-
-
-# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
-# ----------------------------------------------
-# Check hardcoding attributes.
-AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
-[AC_MSG_CHECKING([how to hardcode library paths into programs])
-_LT_AC_TAGVAR(hardcode_action, $1)=
-if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
-   test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \
-   test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
-
-  # We can hardcode non-existant directories.
-  if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
-     test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
-    # Linking always hardcodes the temporary library directory.
-    _LT_AC_TAGVAR(hardcode_action, $1)=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    _LT_AC_TAGVAR(hardcode_action, $1)=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  _LT_AC_TAGVAR(hardcode_action, $1)=unsupported
-fi
-AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
-
-if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
-
-
-# AC_LIBTOOL_SYS_LIB_STRIP
-# ------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
-[striplib=
-old_striplib=
-AC_MSG_CHECKING([whether stripping libraries is possible])
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  AC_MSG_RESULT([yes])
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-   darwin*)
-       if test -n "$STRIP" ; then
-         striplib="$STRIP -x"
-         old_striplib="$STRIP -S"
-         AC_MSG_RESULT([yes])
-       else
-  AC_MSG_RESULT([no])
-fi
-       ;;
-   *)
-  AC_MSG_RESULT([no])
-    ;;
-  esac
-fi
-])# AC_LIBTOOL_SYS_LIB_STRIP
-
-
-# AC_LIBTOOL_SYS_DYNAMIC_LINKER
-# -----------------------------
-# PORTME Fill in your ld.so characteristics
-AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_MSG_CHECKING([dynamic linker characteristics])
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-m4_if($1,[],[
-if test "$GCC" = yes; then
-  case $host_os in
-    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-    *) lt_awk_arg="/^libraries:/" ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-  if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
-  else
-    lt_search_path_spec=`echo "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-  fi
-  # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary.
-  lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
-  for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-    else
-      test -d "$lt_sys_path" && \
-	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
-    fi
-  done
-  lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
-BEGIN {RS=" "; FS="/|\n";} {
-  lt_foo="";
-  lt_count=0;
-  for (lt_i = NF; lt_i > 0; lt_i--) {
-    if ($lt_i != "" && $lt_i != ".") {
-      if ($lt_i == "..") {
-        lt_count++;
-      } else {
-        if (lt_count == 0) {
-          lt_foo="/" $lt_i lt_foo;
-        } else {
-          lt_count--;
-        }
-      }
-    }
-  }
-  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
-  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
-}'`
-  sys_lib_search_path_spec=`echo $lt_search_path_spec`
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi])
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
-
-aix[[4-9]]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[[01]] | aix4.[[01]].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-	   echo ' yes '
-	   echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
-	:
-      else
-	can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  library_names_spec='$libname.ixlibrary $libname.a'
-  # Create ${libname}_ixlibrary.a entries in /sys/libs.
-  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-  ;;
-
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[[45]]*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$host_os in
-  yes,cygwin* | yes,mingw* | yes,pw32*)
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $rm \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
-      ;;
-    mingw*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-      if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then
-        # It is most probably a Windows format PATH printed by
-        # mingw gcc, but we are running on Cygwin. Gcc prints its search
-        # path with ; separators, and with drive letters. We can handle the
-        # drive letters (cygwin fileutils understands them), so leave them,
-        # especially as we might pass files found there to a mingw objdump,
-        # which wouldn't understand a cygwinified path. Ahh.
-        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    ;;
-
-  *)
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    ;;
-  esac
-  dynamic_linker='Win32 ld.exe'
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-  m4_if([$1], [],[
-  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) 
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[[123]]*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
-  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-   hppa*64*)
-     shrext_cmds='.sl'
-     hardcode_into_libs=yes
-     dynamic_linker="$host_os dld.sl"
-     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-     soname_spec='${libname}${release}${shared_ext}$major'
-     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-     ;;
-   *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555.
-  postinstall_cmds='chmod 555 $lib'
-  ;;
-
-interix[[3-9]]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-	if test "$lt_cv_prog_gnu_ld" = yes; then
-		version_type=linux
-	else
-		version_type=irix
-	fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ 	]*hwcap[ 	]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-nto-qnx*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
-  need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-    *)                         need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[[89]] | openbsd2.[[89]].*)
-	shlibpath_overrides_runpath=no
-	;;
-      *)
-	shlibpath_overrides_runpath=yes
-	;;
-      esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
-
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      export_dynamic_flag_spec='${wl}-Blargedynsym'
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-    shlibpath_overrides_runpath=no
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    shlibpath_overrides_runpath=yes
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-	;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-AC_MSG_RESULT([$dynamic_linker])
-test "$dynamic_linker" = no && can_build_shared=no
-
-AC_CACHE_VAL([lt_cv_sys_lib_search_path_spec],
-[lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"])
-sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-AC_CACHE_VAL([lt_cv_sys_lib_dlsearch_path_spec],
-[lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"])
-sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
-
-
-# _LT_AC_TAGCONFIG
-# ----------------
-AC_DEFUN([_LT_AC_TAGCONFIG],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_ARG_WITH([tags],
-    [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
-        [include additional configurations @<:@automatic@:>@])],
-    [tagnames="$withval"])
-
-if test -f "$ltmain" && test -n "$tagnames"; then
-  if test ! -f "${ofile}"; then
-    AC_MSG_WARN([output file `$ofile' does not exist])
-  fi
-
-  if test -z "$LTCC"; then
-    eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
-    if test -z "$LTCC"; then
-      AC_MSG_WARN([output file `$ofile' does not look like a libtool script])
-    else
-      AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
-    fi
-  fi
-  if test -z "$LTCFLAGS"; then
-    eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
-  fi
-
-  # Extract list of available tagged configurations in $ofile.
-  # Note that this assumes the entire list is on one line.
-  available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
-
-  lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-  for tagname in $tagnames; do
-    IFS="$lt_save_ifs"
-    # Check whether tagname contains only valid characters
-    case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in
-    "") ;;
-    *)  AC_MSG_ERROR([invalid tag name: $tagname])
-	;;
-    esac
-
-    if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
-    then
-      AC_MSG_ERROR([tag name \"$tagname\" already exists])
-    fi
-
-    # Update the list of available tags.
-    if test -n "$tagname"; then
-      echo appending configuration tag \"$tagname\" to $ofile
-
-      case $tagname in
-      CXX)
-	if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-	    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-	    (test "X$CXX" != "Xg++"))) ; then
-	  AC_LIBTOOL_LANG_CXX_CONFIG
-	else
-	  tagname=""
-	fi
-	;;
-
-      F77)
-	if test -n "$F77" && test "X$F77" != "Xno"; then
-	  AC_LIBTOOL_LANG_F77_CONFIG
-	else
-	  tagname=""
-	fi
-	;;
-
-      GCJ)
-	if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
-	  AC_LIBTOOL_LANG_GCJ_CONFIG
-	else
-	  tagname=""
-	fi
-	;;
-
-      RC)
-	AC_LIBTOOL_LANG_RC_CONFIG
-	;;
-
-      *)
-	AC_MSG_ERROR([Unsupported tag name: $tagname])
-	;;
-      esac
-
-      # Append the new tag name to the list of available tags.
-      if test -n "$tagname" ; then
-      available_tags="$available_tags $tagname"
-    fi
-    fi
-  done
-  IFS="$lt_save_ifs"
-
-  # Now substitute the updated list of available tags.
-  if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
-    mv "${ofile}T" "$ofile"
-    chmod +x "$ofile"
-  else
-    rm -f "${ofile}T"
-    AC_MSG_ERROR([unable to update list of available tagged configurations.])
-  fi
-fi
-])# _LT_AC_TAGCONFIG
-
-
-# AC_LIBTOOL_DLOPEN
-# -----------------
-# enable checks for dlopen support
-AC_DEFUN([AC_LIBTOOL_DLOPEN],
- [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])
-])# AC_LIBTOOL_DLOPEN
-
-
-# AC_LIBTOOL_WIN32_DLL
-# --------------------
-# declare package support for building win32 DLLs
-AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
-[AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
-])# AC_LIBTOOL_WIN32_DLL
-
-
-# AC_ENABLE_SHARED([DEFAULT])
-# ---------------------------
-# implement the --enable-shared flag
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_SHARED],
-[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([shared],
-    [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
-	[build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])],
-    [p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-	IFS="$lt_save_ifs"
-	if test "X$pkg" = "X$p"; then
-	  enable_shared=yes
-	fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac],
-    [enable_shared=]AC_ENABLE_SHARED_DEFAULT)
-])# AC_ENABLE_SHARED
-
-
-# AC_DISABLE_SHARED
-# -----------------
-# set the default shared flag to --disable-shared
-AC_DEFUN([AC_DISABLE_SHARED],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_SHARED(no)
-])# AC_DISABLE_SHARED
-
-
-# AC_ENABLE_STATIC([DEFAULT])
-# ---------------------------
-# implement the --enable-static flag
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_STATIC],
-[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([static],
-    [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@],
-	[build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])],
-    [p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-	IFS="$lt_save_ifs"
-	if test "X$pkg" = "X$p"; then
-	  enable_static=yes
-	fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac],
-    [enable_static=]AC_ENABLE_STATIC_DEFAULT)
-])# AC_ENABLE_STATIC
-
-
-# AC_DISABLE_STATIC
-# -----------------
-# set the default static flag to --disable-static
-AC_DEFUN([AC_DISABLE_STATIC],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_STATIC(no)
-])# AC_DISABLE_STATIC
-
-
-# AC_ENABLE_FAST_INSTALL([DEFAULT])
-# ---------------------------------
-# implement the --enable-fast-install flag
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_FAST_INSTALL],
-[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([fast-install],
-    [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
-    [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
-    [p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-	IFS="$lt_save_ifs"
-	if test "X$pkg" = "X$p"; then
-	  enable_fast_install=yes
-	fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac],
-    [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT)
-])# AC_ENABLE_FAST_INSTALL
-
-
-# AC_DISABLE_FAST_INSTALL
-# -----------------------
-# set the default to --disable-fast-install
-AC_DEFUN([AC_DISABLE_FAST_INSTALL],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_FAST_INSTALL(no)
-])# AC_DISABLE_FAST_INSTALL
-
-
-# AC_LIBTOOL_PICMODE([MODE])
-# --------------------------
-# implement the --with-pic flag
-# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
-AC_DEFUN([AC_LIBTOOL_PICMODE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-pic_mode=ifelse($#,1,$1,default)
-])# AC_LIBTOOL_PICMODE
-
-
-# AC_PROG_EGREP
-# -------------
-# This is predefined starting with Autoconf 2.54, so this conditional
-# definition can be removed once we require Autoconf 2.54 or later.
-m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP],
-[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
-   [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
-    then ac_cv_prog_egrep='grep -E'
-    else ac_cv_prog_egrep='egrep'
-    fi])
- EGREP=$ac_cv_prog_egrep
- AC_SUBST([EGREP])
-])])
-
-
-# AC_PATH_TOOL_PREFIX
-# -------------------
-# find a file program which can recognize shared library
-AC_DEFUN([AC_PATH_TOOL_PREFIX],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_MSG_CHECKING([for $1])
-AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
-[case $MAGIC_CMD in
-[[\\/*] |  ?:[\\/]*])
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-dnl $ac_dummy forces splitting on constant user-supplied paths.
-dnl POSIX.2 word splitting is done only on the output of word expansions,
-dnl not every word.  This closes a longstanding sh security hole.
-  ac_dummy="ifelse([$2], , $PATH, [$2])"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$1; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
-      if test -n "$file_magic_test_file"; then
-	case $deplibs_check_method in
-	"file_magic "*)
-	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-	    $EGREP "$file_magic_regex" > /dev/null; then
-	    :
-	  else
-	    cat <<EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool at gnu.org
-
-EOF
-	  fi ;;
-	esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac])
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  AC_MSG_RESULT($MAGIC_CMD)
-else
-  AC_MSG_RESULT(no)
-fi
-])# AC_PATH_TOOL_PREFIX
-
-
-# AC_PATH_MAGIC
-# -------------
-# find a file program which can recognize a shared library
-AC_DEFUN([AC_PATH_MAGIC],
-[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
-  else
-    MAGIC_CMD=:
-  fi
-fi
-])# AC_PATH_MAGIC
-
-
-# AC_PROG_LD
-# ----------
-# find the pathname to the GNU or non-GNU linker
-AC_DEFUN([AC_PROG_LD],
-[AC_ARG_WITH([gnu-ld],
-    [AC_HELP_STRING([--with-gnu-ld],
-	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
-    [test "$withval" = no || with_gnu_ld=yes],
-    [with_gnu_ld=no])
-AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  AC_MSG_CHECKING([for ld used by $CC])
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [[\\/]]* | ?:[[\\/]]*)
-      re_direlt='/[[^/]][[^/]]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-	ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  AC_MSG_CHECKING([for GNU ld])
-else
-  AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(lt_cv_path_LD,
-[if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-	test "$with_gnu_ld" != no && break
-	;;
-      *)
-	test "$with_gnu_ld" != yes && break
-	;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  AC_MSG_RESULT($LD)
-else
-  AC_MSG_RESULT(no)
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_PROG_LD_GNU
-])# AC_PROG_LD
-
-
-# AC_PROG_LD_GNU
-# --------------
-AC_DEFUN([AC_PROG_LD_GNU],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac])
-with_gnu_ld=$lt_cv_prog_gnu_ld
-])# AC_PROG_LD_GNU
-
-
-# AC_PROG_LD_RELOAD_FLAG
-# ----------------------
-# find reload flag for linker
-#   -- PORTME Some linkers may need a different reload flag.
-AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
-[AC_CACHE_CHECK([for $LD option to reload object files],
-  lt_cv_ld_reload_flag,
-  [lt_cv_ld_reload_flag='-r'])
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
-])# AC_PROG_LD_RELOAD_FLAG
-
-
-# AC_DEPLIBS_CHECK_METHOD
-# -----------------------
-# how to check for library dependencies
-#  -- PORTME fill in with the dynamic library characteristics
-AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
-[AC_CACHE_CHECK([how to recognize dependent libraries],
-lt_cv_deplibs_check_method,
-[lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[[4-9]]*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-bsdi[[45]]*)
-  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
-
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
-
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  if ( file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
-  ;;
-
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
-
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
-
-interix[[3-9]]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-netbsd*)
-  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
-    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
-  fi
-  ;;
-
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
-
-nto-qnx*)
-  lt_cv_deplibs_check_method=unknown
-  ;;
-
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
-  fi
-  ;;
-
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv4 | sysv4.3*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  pc)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
-])
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-])# AC_DEPLIBS_CHECK_METHOD
-
-
-# AC_PROG_NM
-# ----------
-# find the pathname to a BSD-compatible name lister
-AC_DEFUN([AC_PROG_NM],
-[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM,
-[if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM="$NM"
-else
-  lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS="$lt_save_ifs"
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-	# Check to see if the nm accepts a BSD-compat flag.
-	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
-	#   nm: unknown option "B" ignored
-	# Tru64's nm complains that /dev/null is an invalid object file
-	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-	*/dev/null* | *'Invalid file or object type'*)
-	  lt_cv_path_NM="$tmp_nm -B"
-	  break
-	  ;;
-	*)
-	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-	  */dev/null*)
-	    lt_cv_path_NM="$tmp_nm -p"
-	    break
-	    ;;
-	  *)
-	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-	    continue # so that we can try to find one that supports BSD flags
-	    ;;
-	  esac
-	  ;;
-	esac
-      fi
-    done
-    IFS="$lt_save_ifs"
-  done
-  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
-fi])
-NM="$lt_cv_path_NM"
-])# AC_PROG_NM
-
-
-# AC_CHECK_LIBM
-# -------------
-# check for math library
-AC_DEFUN([AC_CHECK_LIBM],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-LIBM=
-case $host in
-*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
-  # These system don't have libm, or don't need it
-  ;;
-*-ncr-sysv4.3*)
-  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
-  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
-  ;;
-*)
-  AC_CHECK_LIB(m, cos, LIBM="-lm")
-  ;;
-esac
-])# AC_CHECK_LIBM
-
-
-# AC_LIBLTDL_CONVENIENCE([DIRECTORY])
-# -----------------------------------
-# sets LIBLTDL to the link flags for the libltdl convenience library and
-# LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-convenience to the configure arguments.  Note that
-# AC_CONFIG_SUBDIRS is not called here.  If DIRECTORY is not provided,
-# it is assumed to be `libltdl'.  LIBLTDL will be prefixed with
-# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
-# (note the single quotes!).  If your package is not flat and you're not
-# using automake, define top_builddir and top_srcdir appropriately in
-# the Makefiles.
-AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-  case $enable_ltdl_convenience in
-  no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
-  "") enable_ltdl_convenience=yes
-      ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
-  esac
-  LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
-  LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
-  # For backwards non-gettext consistent compatibility...
-  INCLTDL="$LTDLINCL"
-])# AC_LIBLTDL_CONVENIENCE
-
-
-# AC_LIBLTDL_INSTALLABLE([DIRECTORY])
-# -----------------------------------
-# sets LIBLTDL to the link flags for the libltdl installable library and
-# LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-install to the configure arguments.  Note that
-# AC_CONFIG_SUBDIRS is not called here.  If DIRECTORY is not provided,
-# and an installed libltdl is not found, it is assumed to be `libltdl'.
-# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
-# '${top_srcdir}/' (note the single quotes!).  If your package is not
-# flat and you're not using automake, define top_builddir and top_srcdir
-# appropriately in the Makefiles.
-# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
-AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-  AC_CHECK_LIB(ltdl, lt_dlinit,
-  [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
-  [if test x"$enable_ltdl_install" = xno; then
-     AC_MSG_WARN([libltdl not installed, but installation disabled])
-   else
-     enable_ltdl_install=yes
-   fi
-  ])
-  if test x"$enable_ltdl_install" = x"yes"; then
-    ac_configure_args="$ac_configure_args --enable-ltdl-install"
-    LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
-    LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
-  else
-    ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
-    LIBLTDL="-lltdl"
-    LTDLINCL=
-  fi
-  # For backwards non-gettext consistent compatibility...
-  INCLTDL="$LTDLINCL"
-])# AC_LIBLTDL_INSTALLABLE
-
-
-# AC_LIBTOOL_CXX
-# --------------
-# enable support for C++ libraries
-AC_DEFUN([AC_LIBTOOL_CXX],
-[AC_REQUIRE([_LT_AC_LANG_CXX])
-])# AC_LIBTOOL_CXX
-
-
-# _LT_AC_LANG_CXX
-# ---------------
-AC_DEFUN([_LT_AC_LANG_CXX],
-[AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([_LT_AC_PROG_CXXCPP])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
-])# _LT_AC_LANG_CXX
-
-# _LT_AC_PROG_CXXCPP
-# ------------------
-AC_DEFUN([_LT_AC_PROG_CXXCPP],
-[
-AC_REQUIRE([AC_PROG_CXX])
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-    (test "X$CXX" != "Xg++"))) ; then
-  AC_PROG_CXXCPP
-fi
-])# _LT_AC_PROG_CXXCPP
-
-# AC_LIBTOOL_F77
-# --------------
-# enable support for Fortran 77 libraries
-AC_DEFUN([AC_LIBTOOL_F77],
-[AC_REQUIRE([_LT_AC_LANG_F77])
-])# AC_LIBTOOL_F77
-
-
-# _LT_AC_LANG_F77
-# ---------------
-AC_DEFUN([_LT_AC_LANG_F77],
-[AC_REQUIRE([AC_PROG_F77])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77])
-])# _LT_AC_LANG_F77
-
-
-# AC_LIBTOOL_GCJ
-# --------------
-# enable support for GCJ libraries
-AC_DEFUN([AC_LIBTOOL_GCJ],
-[AC_REQUIRE([_LT_AC_LANG_GCJ])
-])# AC_LIBTOOL_GCJ
-
-
-# _LT_AC_LANG_GCJ
-# ---------------
-AC_DEFUN([_LT_AC_LANG_GCJ],
-[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
-  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
-    [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
-      [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
-	 [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
-	   [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ])
-])# _LT_AC_LANG_GCJ
-
-
-# AC_LIBTOOL_RC
-# -------------
-# enable support for Windows resource files
-AC_DEFUN([AC_LIBTOOL_RC],
-[AC_REQUIRE([LT_AC_PROG_RC])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC])
-])# AC_LIBTOOL_RC
-
-
-# AC_LIBTOOL_LANG_C_CONFIG
-# ------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined.  Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG])
-AC_DEFUN([_LT_AC_LANG_C_CONFIG],
-[lt_save_CC="$CC"
-AC_LANG_PUSH(C)
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-AC_LIBTOOL_SYS_LIB_STRIP
-AC_LIBTOOL_DLOPEN_SELF
-
-# Report which library types will actually be built
-AC_MSG_CHECKING([if libtool supports shared libraries])
-AC_MSG_RESULT([$can_build_shared])
-
-AC_MSG_CHECKING([whether to build shared libraries])
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
-  test "$enable_shared" = yes && enable_static=no
-  if test -n "$RANLIB"; then
-    archive_cmds="$archive_cmds~\$RANLIB \$lib"
-    postinstall_cmds='$RANLIB $lib'
-  fi
-  ;;
-
-aix[[4-9]]*)
-  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-    test "$enable_shared" = yes && enable_static=no
-  fi
-    ;;
-esac
-AC_MSG_RESULT([$enable_shared])
-
-AC_MSG_CHECKING([whether to build static libraries])
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-AC_MSG_RESULT([$enable_static])
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_C_CONFIG
-
-
-# AC_LIBTOOL_LANG_CXX_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined.  Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
-AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
-[AC_LANG_PUSH(C++)
-AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([_LT_AC_PROG_CXXCPP])
-
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_AC_TAGVAR(allow_undefined_flag, $1)=
-_LT_AC_TAGVAR(always_export_symbols, $1)=no
-_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
-_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_direct, $1)=no
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
-_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-_LT_AC_TAGVAR(hardcode_automatic, $1)=no
-_LT_AC_TAGVAR(module_cmds, $1)=
-_LT_AC_TAGVAR(module_expsym_cmds, $1)=
-_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_AC_TAGVAR(no_undefined_flag, $1)=
-_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Dependencies to place before and after the object being linked:
-_LT_AC_TAGVAR(predep_objects, $1)=
-_LT_AC_TAGVAR(postdep_objects, $1)=
-_LT_AC_TAGVAR(predeps, $1)=
-_LT_AC_TAGVAR(postdeps, $1)=
-_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
-_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
-
-# Source file extension for C++ test sources.
-ac_ext=cpp
-
-# Object file extension for compiled C++ test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_LD=$LD
-lt_save_GCC=$GCC
-GCC=$GXX
-lt_save_with_gnu_ld=$with_gnu_ld
-lt_save_path_LD=$lt_cv_path_LD
-if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
-  lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-else
-  $as_unset lt_cv_prog_gnu_ld
-fi
-if test -n "${lt_cv_path_LDCXX+set}"; then
-  lt_cv_path_LD=$lt_cv_path_LDCXX
-else
-  $as_unset lt_cv_path_LD
-fi
-test -z "${LDCXX+set}" || LD=$LDCXX
-CC=${CXX-"c++"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-# We don't want -fno-exception wen compiling C++ code, so set the
-# no_builtin_flag separately
-if test "$GXX" = yes; then
-  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
-else
-  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-fi
-
-if test "$GXX" = yes; then
-  # Set up default GNU C++ configuration
-
-  AC_PROG_LD
-
-  # Check if GNU C++ uses GNU ld as the underlying linker, since the
-  # archiving commands below assume that GNU ld is being used.
-  if test "$with_gnu_ld" = yes; then
-    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
-    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
-    #     investigate it a little bit more. (MM)
-    wlarc='${wl}'
-
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
-	grep 'no-whole-archive' > /dev/null; then
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-    else
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-    fi
-  else
-    with_gnu_ld=no
-    wlarc=
-
-    # A generic and very simple default shared library creation
-    # command for GNU C++ for the case where it uses the native
-    # linker, instead of GNU ld.  If possible, this setting should
-    # overridden to take advantage of the native linker features on
-    # the platform it is being used on.
-    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-  fi
-
-  # Commands to make compiler produce verbose output that lists
-  # what "hidden" libraries, object files and flags are used when
-  # linking a shared library.
-  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
-else
-  GXX=no
-  with_gnu_ld=no
-  wlarc=
-fi
-
-# PORTME: fill in a description of your system's C++ link characteristics
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-_LT_AC_TAGVAR(ld_shlibs, $1)=yes
-case $host_os in
-  aix3*)
-    # FIXME: insert proper C++ library support
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  aix[[4-9]]*)
-    if test "$host_cpu" = ia64; then
-      # On IA64, the linker does run time linking by default, so we don't
-      # have to do anything special.
-      aix_use_runtimelinking=no
-      exp_sym_flag='-Bexport'
-      no_entry_flag=""
-    else
-      aix_use_runtimelinking=no
-
-      # Test if we are trying to use run time linking or normal
-      # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-      # need to do runtime linking.
-      case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
-	for ld_flag in $LDFLAGS; do
-	  case $ld_flag in
-	  *-brtl*)
-	    aix_use_runtimelinking=yes
-	    break
-	    ;;
-	  esac
-	done
-	;;
-      esac
-
-      exp_sym_flag='-bexport'
-      no_entry_flag='-bnoentry'
-    fi
-
-    # When large executables or shared objects are built, AIX ld can
-    # have problems creating the table of contents.  If linking a library
-    # or program results in "error TOC overflow" add -mminimal-toc to
-    # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-    # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-    _LT_AC_TAGVAR(archive_cmds, $1)=''
-    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
-    _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
-    if test "$GXX" = yes; then
-      case $host_os in aix4.[[012]]|aix4.[[012]].*)
-      # We only want to do this on AIX 4.2 and lower, the check
-      # below for broken collect2 doesn't work under 4.3+
-	collect2name=`${CC} -print-prog-name=collect2`
-	if test -f "$collect2name" && \
-	   strings "$collect2name" | grep resolve_lib_name >/dev/null
-	then
-	  # We have reworked collect2
-	  :
-	else
-	  # We have old collect2
-	  _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
-	  # It fails to find uninstalled libraries when the uninstalled
-	  # path is not listed in the libpath.  Setting hardcode_minus_L
-	  # to unsupported forces relinking
-	  _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-	fi
-	;;
-      esac
-      shared_flag='-shared'
-      if test "$aix_use_runtimelinking" = yes; then
-	shared_flag="$shared_flag "'${wl}-G'
-      fi
-    else
-      # not using gcc
-      if test "$host_cpu" = ia64; then
-	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-	# chokes on -Wl,-G. The following line is correct:
-	shared_flag='-G'
-      else
-	if test "$aix_use_runtimelinking" = yes; then
-	  shared_flag='${wl}-G'
-	else
-	  shared_flag='${wl}-bM:SRE'
-	fi
-      fi
-    fi
-
-    # It seems that -bexpall does not export symbols beginning with
-    # underscore (_), so it is better to generate a list of symbols to export.
-    _LT_AC_TAGVAR(always_export_symbols, $1)=yes
-    if test "$aix_use_runtimelinking" = yes; then
-      # Warning - without using the other runtime loading flags (-brtl),
-      # -berok will link without error, but may produce a broken library.
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
-      # Determine the default libpath from the value encoded in an empty executable.
-      _LT_AC_SYS_LIBPATH_AIX
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-     else
-      if test "$host_cpu" = ia64; then
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-      else
-	# Determine the default libpath from the value encoded in an empty executable.
-	_LT_AC_SYS_LIBPATH_AIX
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-	# Warning - without using the other run time loading flags,
-	# -berok will link without error, but may produce a broken library.
-	_LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-	# Exported symbols can be pulled into shared objects from archives
-	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
-	_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
-	# This is similar to how AIX traditionally builds its shared libraries.
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-      fi
-    fi
-    ;;
-
-  beos*)
-    if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-      # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
-      # support --undefined.  This deserves some investigation.  FIXME
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-    else
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    fi
-    ;;
-
-  chorus*)
-    case $cc_basename in
-      *)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-    esac
-    ;;
-
-  cygwin* | mingw* | pw32*)
-    # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
-    # as there is no search path for DLLs.
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-    _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-    _LT_AC_TAGVAR(always_export_symbols, $1)=no
-    _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-
-    if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      # If the export-symbols file already is a .def file (1st line
-      # is EXPORTS), use it as is; otherwise, prepend...
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-	cp $export_symbols $output_objdir/$soname.def;
-      else
-	echo EXPORTS > $output_objdir/$soname.def;
-	cat $export_symbols >> $output_objdir/$soname.def;
-      fi~
-      $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-    else
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    fi
-  ;;
-      darwin* | rhapsody*)
-      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_AC_TAGVAR(hardcode_direct, $1)=no
-      _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
-      if test "$GXX" = yes ; then
-      output_verbose_link_cmd='echo'
-      _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-      _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-      _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-      if test "$lt_cv_apple_cc_single_mod" != "yes"; then
-        _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
-        _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
-      fi
-      else
-      case $cc_basename in
-        xlc*)
-         output_verbose_link_cmd='echo'
-          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
-          _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          ;;
-       *)
-         _LT_AC_TAGVAR(ld_shlibs, $1)=no
-          ;;
-      esac
-      fi
-        ;;
-
-  dgux*)
-    case $cc_basename in
-      ec++*)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      ghcx*)
-	# Green Hills C++ Compiler
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      *)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-    esac
-    ;;
-  freebsd[[12]]*)
-    # C++ shared libraries reported to be fairly broken before switch to ELF
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  freebsd-elf*)
-    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-    ;;
-  freebsd* | dragonfly*)
-    # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
-    # conventions
-    _LT_AC_TAGVAR(ld_shlibs, $1)=yes
-    ;;
-  gnu*)
-    ;;
-  hpux9*)
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-    _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
-				# but as the default
-				# location of the library.
-
-    case $cc_basename in
-    CC*)
-      # FIXME: insert proper C++ library support
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      ;;
-    aCC*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      # Commands to make compiler produce verbose output that lists
-      # what "hidden" libraries, object files and flags are used when
-      # linking a shared library.
-      #
-      # There doesn't appear to be a way to prevent this compiler from
-      # explicitly linking system object files so we need to strip them
-      # from the output so that they don't get included in the library
-      # dependencies.
-      output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-      ;;
-    *)
-      if test "$GXX" = yes; then
-        _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-        # FIXME: insert proper C++ library support
-        _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-    esac
-    ;;
-  hpux10*|hpux11*)
-    if test $with_gnu_ld = no; then
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-      case $host_cpu in
-      hppa*64*|ia64*) ;;
-      *)
-	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-        ;;
-      esac
-    fi
-    case $host_cpu in
-    hppa*64*|ia64*)
-      _LT_AC_TAGVAR(hardcode_direct, $1)=no
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-    *)
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
-					      # but as the default
-					      # location of the library.
-      ;;
-    esac
-
-    case $cc_basename in
-      CC*)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      aCC*)
-	case $host_cpu in
-	hppa*64*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	  ;;
-	ia64*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	  ;;
-	*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	  ;;
-	esac
-	# Commands to make compiler produce verbose output that lists
-	# what "hidden" libraries, object files and flags are used when
-	# linking a shared library.
-	#
-	# There doesn't appear to be a way to prevent this compiler from
-	# explicitly linking system object files so we need to strip them
-	# from the output so that they don't get included in the library
-	# dependencies.
-	output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-	;;
-      *)
-	if test "$GXX" = yes; then
-	  if test $with_gnu_ld = no; then
-	    case $host_cpu in
-	    hppa*64*)
-	      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	      ;;
-	    ia64*)
-	      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	      ;;
-	    *)
-	      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	      ;;
-	    esac
-	  fi
-	else
-	  # FIXME: insert proper C++ library support
-	  _LT_AC_TAGVAR(ld_shlibs, $1)=no
-	fi
-	;;
-    esac
-    ;;
-  interix[[3-9]]*)
-    _LT_AC_TAGVAR(hardcode_direct, $1)=no
-    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-    # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-    # Instead, shared libraries are loaded at an image base (0x10000000 by
-    # default) and relocated if they conflict, which is a slow very memory
-    # consuming and fragmenting process.  To avoid this, we pick a random,
-    # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-    # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-    ;;
-  irix5* | irix6*)
-    case $cc_basename in
-      CC*)
-	# SGI C++
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
-	# Archives containing C++ object files must be created using
-	# "CC -ar", where "CC" is the IRIX C++ compiler.  This is
-	# necessary to make sure instantiated templates are included
-	# in the archive.
-	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
-	;;
-      *)
-	if test "$GXX" = yes; then
-	  if test "$with_gnu_ld" = no; then
-	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-	  else
-	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
-	  fi
-	fi
-	_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-	;;
-    esac
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-    ;;
-  linux* | k*bsd*-gnu)
-    case $cc_basename in
-      KCC*)
-	# Kuck and Associates, Inc. (KAI) C++ Compiler
-
-	# KCC will only create a shared library if the output file
-	# ends with ".so" (or ".sl" for HP-UX), so rename the library
-	# to its proper name (with version) after linking.
-	_LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
-	# Commands to make compiler produce verbose output that lists
-	# what "hidden" libraries, object files and flags are used when
-	# linking a shared library.
-	#
-	# There doesn't appear to be a way to prevent this compiler from
-	# explicitly linking system object files so we need to strip them
-	# from the output so that they don't get included in the library
-	# dependencies.
-	output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
-	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
-	# Archives containing C++ object files must be created using
-	# "CC -Bstatic", where "CC" is the KAI C++ compiler.
-	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
-	;;
-      icpc*)
-	# Intel C++
-	with_gnu_ld=yes
-	# version 8.0 and above of icpc choke on multiply defined symbols
-	# if we add $predep_objects and $postdep_objects, however 7.1 and
-	# earlier do not add the objects themselves.
-	case `$CC -V 2>&1` in
-	*"Version 7."*)
-  	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-  	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-	  ;;
-	*)  # Version 8.0 or newer
-	  tmp_idyn=
-	  case $host_cpu in
-	    ia64*) tmp_idyn=' -i_dynamic';;
-	  esac
-  	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-	  ;;
-	esac
-	_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-	;;
-      pgCC* | pgcpp*)
-        # Portland Group C++ compiler
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-  	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
-	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-        ;;
-      cxx*)
-	# Compaq C++
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
-
-	runpath_var=LD_RUN_PATH
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	# Commands to make compiler produce verbose output that lists
-	# what "hidden" libraries, object files and flags are used when
-	# linking a shared library.
-	#
-	# There doesn't appear to be a way to prevent this compiler from
-	# explicitly linking system object files so we need to strip them
-	# from the output so that they don't get included in the library
-	# dependencies.
-	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-	;;
-      *)
-	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ C*)
-	  # Sun C++ 5.9
-	  _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-
-	  # Not sure whether something based on
-	  # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
-	  # would be better.
-	  output_verbose_link_cmd='echo'
-
-	  # Archives containing C++ object files must be created using
-	  # "CC -xar", where "CC" is the Sun C++ compiler.  This is
-	  # necessary to make sure instantiated templates are included
-	  # in the archive.
-	  _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
-	  ;;
-	esac
-	;;
-    esac
-    ;;
-  lynxos*)
-    # FIXME: insert proper C++ library support
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  m88k*)
-    # FIXME: insert proper C++ library support
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  mvs*)
-    case $cc_basename in
-      cxx*)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      *)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-    esac
-    ;;
-  netbsd*)
-    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
-      wlarc=
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-    fi
-    # Workaround some broken pre-1.5 toolchains
-    output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
-    ;;
-  openbsd2*)
-    # C++ shared libraries are fairly broken
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  openbsd*)
-    if test -f /usr/libexec/ld.so; then
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
-	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      fi
-      output_verbose_link_cmd='echo'
-    else
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    fi
-    ;;
-  osf3*)
-    case $cc_basename in
-      KCC*)
-	# Kuck and Associates, Inc. (KAI) C++ Compiler
-
-	# KCC will only create a shared library if the output file
-	# ends with ".so" (or ".sl" for HP-UX), so rename the library
-	# to its proper name (with version) after linking.
-	_LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	# Archives containing C++ object files must be created using
-	# "CC -Bstatic", where "CC" is the KAI C++ compiler.
-	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
-
-	;;
-      RCC*)
-	# Rational C++ 2.4.1
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      cxx*)
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	# Commands to make compiler produce verbose output that lists
-	# what "hidden" libraries, object files and flags are used when
-	# linking a shared library.
-	#
-	# There doesn't appear to be a way to prevent this compiler from
-	# explicitly linking system object files so we need to strip them
-	# from the output so that they don't get included in the library
-	# dependencies.
-	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-	;;
-      *)
-	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	  # Commands to make compiler produce verbose output that lists
-	  # what "hidden" libraries, object files and flags are used when
-	  # linking a shared library.
-	  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
-	else
-	  # FIXME: insert proper C++ library support
-	  _LT_AC_TAGVAR(ld_shlibs, $1)=no
-	fi
-	;;
-    esac
-    ;;
-  osf4* | osf5*)
-    case $cc_basename in
-      KCC*)
-	# Kuck and Associates, Inc. (KAI) C++ Compiler
-
-	# KCC will only create a shared library if the output file
-	# ends with ".so" (or ".sl" for HP-UX), so rename the library
-	# to its proper name (with version) after linking.
-	_LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	# Archives containing C++ object files must be created using
-	# the KAI C++ compiler.
-	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
-	;;
-      RCC*)
-	# Rational C++ 2.4.1
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      cxx*)
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
-	  echo "-hidden">> $lib.exp~
-	  $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" && echo -set_version	$verstring` -update_registry ${output_objdir}/so_locations -o $lib~
-	  $rm $lib.exp'
-
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	# Commands to make compiler produce verbose output that lists
-	# what "hidden" libraries, object files and flags are used when
-	# linking a shared library.
-	#
-	# There doesn't appear to be a way to prevent this compiler from
-	# explicitly linking system object files so we need to strip them
-	# from the output so that they don't get included in the library
-	# dependencies.
-	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-	;;
-      *)
-	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	  # Commands to make compiler produce verbose output that lists
-	  # what "hidden" libraries, object files and flags are used when
-	  # linking a shared library.
-	  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
-	else
-	  # FIXME: insert proper C++ library support
-	  _LT_AC_TAGVAR(ld_shlibs, $1)=no
-	fi
-	;;
-    esac
-    ;;
-  psos*)
-    # FIXME: insert proper C++ library support
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  sunos4*)
-    case $cc_basename in
-      CC*)
-	# Sun C++ 4.x
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      lcc*)
-	# Lucid
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      *)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-    esac
-    ;;
-  solaris*)
-    case $cc_basename in
-      CC*)
-	# Sun C++ 4.2, 5.x and Centerline C++
-        _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
-	_LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-	$CC -G${allow_undefined_flag}  ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-	case $host_os in
-	  solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-	  *)
-	    # The compiler driver will combine and reorder linker options,
-	    # but understands `-z linker_flag'.
-	    # Supported since Solaris 2.6 (maybe 2.5.1?)
-	    _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
-	    ;;
-	esac
-	_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
-	output_verbose_link_cmd='echo'
-
-	# Archives containing C++ object files must be created using
-	# "CC -xar", where "CC" is the Sun C++ compiler.  This is
-	# necessary to make sure instantiated templates are included
-	# in the archive.
-	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
-	;;
-      gcx*)
-	# Green Hills C++ Compiler
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-
-	# The C++ compiler must be used to create the archive.
-	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
-	;;
-      *)
-	# GNU C++ compiler with Solaris linker
-	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-	  _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
-	  if $CC --version | grep -v '^2\.7' > /dev/null; then
-	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-	    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-		$CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
-	  else
-	    # g++ 2.7 appears to require `-G' NOT `-shared' on this
-	    # platform.
-	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-	    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-		$CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
-	  fi
-
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
-	  case $host_os in
-	  solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-	  *)
-	    _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-	    ;;
-	  esac
-	fi
-	;;
-    esac
-    ;;
-  sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
-    _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-    runpath_var='LD_RUN_PATH'
-
-    case $cc_basename in
-      CC*)
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	;;
-      *)
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	;;
-    esac
-    ;;
-  sysv5* | sco3.2v5* | sco5v6*)
-    # Note: We can NOT use -z defs as we might desire, because we do not
-    # link with -lc, and that would cause any symbols used from libc to
-    # always be unresolved, which means just about no library would
-    # ever link correctly.  If we're not using GNU ld we use -z text
-    # though, which does catch some bad symbols but isn't as heavy-handed
-    # as -z defs.
-    # For security reasons, it is highly recommended that you always
-    # use absolute paths for naming shared libraries, and exclude the
-    # DT_RUNPATH tag from executables and libraries.  But doing so
-    # requires that you compile everything twice, which is a pain.
-    # So that behaviour is only enabled if SCOABSPATH is set to a
-    # non-empty value in the environment.  Most likely only useful for
-    # creating official distributions of packages.
-    # This is a hack until libtool officially supports absolute path
-    # names for shared libraries.
-    _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-    _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
-    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
-    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
-    _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
-    runpath_var='LD_RUN_PATH'
-
-    case $cc_basename in
-      CC*)
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	;;
-      *)
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	;;
-    esac
-    ;;
-  tandem*)
-    case $cc_basename in
-      NCC*)
-	# NonStop-UX NCC 3.20
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      *)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-    esac
-    ;;
-  vxworks*)
-    # FIXME: insert proper C++ library support
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  *)
-    # FIXME: insert proper C++ library support
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-esac
-AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
-test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
-_LT_AC_TAGVAR(GCC, $1)="$GXX"
-_LT_AC_TAGVAR(LD, $1)="$LD"
-
-AC_LIBTOOL_POSTDEP_PREDEP($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC=$lt_save_CC
-LDCXX=$LD
-LD=$lt_save_LD
-GCC=$lt_save_GCC
-with_gnu_ldcxx=$with_gnu_ld
-with_gnu_ld=$lt_save_with_gnu_ld
-lt_cv_path_LDCXX=$lt_cv_path_LD
-lt_cv_path_LD=$lt_save_path_LD
-lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-])# AC_LIBTOOL_LANG_CXX_CONFIG
-
-# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME])
-# ------------------------------------
-# Figure out "hidden" library dependencies from verbose
-# compiler output when linking a shared library.
-# Parse the compiler output and extract the necessary
-# objects, libraries and library flags.
-AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-dnl we can't use the lt_simple_compile_test_code here,
-dnl because it contains code intended for an executable,
-dnl not a library.  It's possible we should let each
-dnl tag define a new lt_????_link_test_code variable,
-dnl but it's only used here...
-ifelse([$1],[],[cat > conftest.$ac_ext <<EOF
-int a;
-void foo (void) { a = 0; }
-EOF
-],[$1],[CXX],[cat > conftest.$ac_ext <<EOF
-class Foo
-{
-public:
-  Foo (void) { a = 0; }
-private:
-  int a;
-};
-EOF
-],[$1],[F77],[cat > conftest.$ac_ext <<EOF
-      subroutine foo
-      implicit none
-      integer*4 a
-      a=0
-      return
-      end
-EOF
-],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF
-public class foo {
-  private int a;
-  public void bar (void) {
-    a = 0;
-  }
-};
-EOF
-])
-dnl Parse the compiler output and extract the necessary
-dnl objects, libraries and library flags.
-if AC_TRY_EVAL(ac_compile); then
-  # Parse the compiler output and extract the necessary
-  # objects, libraries and library flags.
-
-  # Sentinel used to keep track of whether or not we are before
-  # the conftest object file.
-  pre_test_object_deps_done=no
-
-  # The `*' in the case matches for architectures that use `case' in
-  # $output_verbose_cmd can trigger glob expansion during the loop
-  # eval without this substitution.
-  output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
-
-  for p in `eval $output_verbose_link_cmd`; do
-    case $p in
-
-    -L* | -R* | -l*)
-       # Some compilers place space between "-{L,R}" and the path.
-       # Remove the space.
-       if test $p = "-L" \
-	  || test $p = "-R"; then
-	 prev=$p
-	 continue
-       else
-	 prev=
-       fi
-
-       if test "$pre_test_object_deps_done" = no; then
-	 case $p in
-	 -L* | -R*)
-	   # Internal compiler library paths should come after those
-	   # provided the user.  The postdeps already come after the
-	   # user supplied libs so there is no need to process them.
-	   if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
-	     _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
-	   else
-	     _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
-	   fi
-	   ;;
-	 # The "-l" case would never come before the object being
-	 # linked, so don't bother handling this case.
-	 esac
-       else
-	 if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then
-	   _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}"
-	 else
-	   _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}"
-	 fi
-       fi
-       ;;
-
-    *.$objext)
-       # This assumes that the test object file only shows up
-       # once in the compiler output.
-       if test "$p" = "conftest.$objext"; then
-	 pre_test_object_deps_done=yes
-	 continue
-       fi
-
-       if test "$pre_test_object_deps_done" = no; then
-	 if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then
-	   _LT_AC_TAGVAR(predep_objects, $1)="$p"
-	 else
-	   _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p"
-	 fi
-       else
-	 if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then
-	   _LT_AC_TAGVAR(postdep_objects, $1)="$p"
-	 else
-	   _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p"
-	 fi
-       fi
-       ;;
-
-    *) ;; # Ignore the rest.
-
-    esac
-  done
-
-  # Clean up.
-  rm -f a.out a.exe
-else
-  echo "libtool.m4: error: problem compiling $1 test program"
-fi
-
-$rm -f confest.$objext
-
-_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
-if test -n "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
-  _LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_AC_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
-fi
-
-# PORTME: override above test on systems where it is broken
-ifelse([$1],[CXX],
-[case $host_os in
-interix[[3-9]]*)
-  # Interix 3.5 installs completely hosed .la files for C++, so rather than
-  # hack all around it, let's just trust "g++" to DTRT.
-  _LT_AC_TAGVAR(predep_objects,$1)=
-  _LT_AC_TAGVAR(postdep_objects,$1)=
-  _LT_AC_TAGVAR(postdeps,$1)=
-  ;;
-
-linux*)
-  case `$CC -V 2>&1 | sed 5q` in
-  *Sun\ C*)
-    # Sun C++ 5.9
-    #
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-    if test "$solaris_use_stlport4" != yes; then
-      _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
-
-solaris*)
-  case $cc_basename in
-  CC*)
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-
-    # Adding this requires a known-good setup of shared libraries for
-    # Sun compiler versions before 5.6, else PIC objects from an old
-    # archive will be linked into the output, leading to subtle bugs.
-    if test "$solaris_use_stlport4" != yes; then
-      _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
-esac
-])
-case " $_LT_AC_TAGVAR(postdeps, $1) " in
-*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
-esac
-])# AC_LIBTOOL_POSTDEP_PREDEP
-
-# AC_LIBTOOL_LANG_F77_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined.  Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)])
-AC_DEFUN([_LT_AC_LANG_F77_CONFIG],
-[AC_REQUIRE([AC_PROG_F77])
-AC_LANG_PUSH(Fortran 77)
-
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_AC_TAGVAR(allow_undefined_flag, $1)=
-_LT_AC_TAGVAR(always_export_symbols, $1)=no
-_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
-_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_direct, $1)=no
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
-_LT_AC_TAGVAR(hardcode_automatic, $1)=no
-_LT_AC_TAGVAR(module_cmds, $1)=
-_LT_AC_TAGVAR(module_expsym_cmds, $1)=
-_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_AC_TAGVAR(no_undefined_flag, $1)=
-_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for f77 test sources.
-ac_ext=f
-
-# Object file extension for compiled f77 test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="\
-      subroutine t
-      return
-      end
-"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="\
-      program t
-      end
-"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${F77-"f77"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-AC_MSG_CHECKING([if libtool supports shared libraries])
-AC_MSG_RESULT([$can_build_shared])
-
-AC_MSG_CHECKING([whether to build shared libraries])
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
-  test "$enable_shared" = yes && enable_static=no
-  if test -n "$RANLIB"; then
-    archive_cmds="$archive_cmds~\$RANLIB \$lib"
-    postinstall_cmds='$RANLIB $lib'
-  fi
-  ;;
-aix[[4-9]]*)
-  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-    test "$enable_shared" = yes && enable_static=no
-  fi
-  ;;
-esac
-AC_MSG_RESULT([$enable_shared])
-
-AC_MSG_CHECKING([whether to build static libraries])
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-AC_MSG_RESULT([$enable_static])
-
-_LT_AC_TAGVAR(GCC, $1)="$G77"
-_LT_AC_TAGVAR(LD, $1)="$LD"
-
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_F77_CONFIG
-
-
-# AC_LIBTOOL_LANG_GCJ_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined.  Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)])
-AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG],
-[AC_LANG_SAVE
-
-# Source file extension for Java test sources.
-ac_ext=java
-
-# Object file extension for compiled Java test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${GCJ-"gcj"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-
-AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_RESTORE
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_GCJ_CONFIG
-
-
-# AC_LIBTOOL_LANG_RC_CONFIG
-# -------------------------
-# Ensure that the configuration vars for the Windows resource compiler are
-# suitably defined.  Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)])
-AC_DEFUN([_LT_AC_LANG_RC_CONFIG],
-[AC_LANG_SAVE
-
-# Source file extension for RC test sources.
-ac_ext=rc
-
-# Object file extension for compiled RC test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${RC-"windres"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_RESTORE
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_RC_CONFIG
-
-
-# AC_LIBTOOL_CONFIG([TAGNAME])
-# ----------------------------
-# If TAGNAME is not passed, then create an initial libtool script
-# with a default configuration from the untagged config vars.  Otherwise
-# add code to config.status for appending the configuration named by
-# TAGNAME from the matching tagged config vars.
-AC_DEFUN([AC_LIBTOOL_CONFIG],
-[# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
-  # See if we are running on zsh, and set the options which allow our commands through
-  # without removal of \ escapes.
-  if test -n "${ZSH_VERSION+set}" ; then
-    setopt NO_GLOB_SUBST
-  fi
-  # Now quote all the things that may contain metacharacters while being
-  # careful not to overquote the AC_SUBSTed values.  We take copies of the
-  # variables and quote the copies for generation of the libtool script.
-  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
-    SED SHELL STRIP \
-    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
-    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
-    deplibs_check_method reload_flag reload_cmds need_locks \
-    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
-    lt_cv_sys_global_symbol_to_c_name_address \
-    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
-    old_postinstall_cmds old_postuninstall_cmds \
-    _LT_AC_TAGVAR(compiler, $1) \
-    _LT_AC_TAGVAR(CC, $1) \
-    _LT_AC_TAGVAR(LD, $1) \
-    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \
-    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \
-    _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \
-    _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \
-    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \
-    _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \
-    _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \
-    _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \
-    _LT_AC_TAGVAR(old_archive_cmds, $1) \
-    _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \
-    _LT_AC_TAGVAR(predep_objects, $1) \
-    _LT_AC_TAGVAR(postdep_objects, $1) \
-    _LT_AC_TAGVAR(predeps, $1) \
-    _LT_AC_TAGVAR(postdeps, $1) \
-    _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
-    _LT_AC_TAGVAR(compiler_lib_search_dirs, $1) \
-    _LT_AC_TAGVAR(archive_cmds, $1) \
-    _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
-    _LT_AC_TAGVAR(postinstall_cmds, $1) \
-    _LT_AC_TAGVAR(postuninstall_cmds, $1) \
-    _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \
-    _LT_AC_TAGVAR(allow_undefined_flag, $1) \
-    _LT_AC_TAGVAR(no_undefined_flag, $1) \
-    _LT_AC_TAGVAR(export_symbols_cmds, $1) \
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \
-    _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
-    _LT_AC_TAGVAR(hardcode_automatic, $1) \
-    _LT_AC_TAGVAR(module_cmds, $1) \
-    _LT_AC_TAGVAR(module_expsym_cmds, $1) \
-    _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
-    _LT_AC_TAGVAR(fix_srcfile_path, $1) \
-    _LT_AC_TAGVAR(exclude_expsyms, $1) \
-    _LT_AC_TAGVAR(include_expsyms, $1); do
-
-    case $var in
-    _LT_AC_TAGVAR(old_archive_cmds, $1) | \
-    _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
-    _LT_AC_TAGVAR(archive_cmds, $1) | \
-    _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
-    _LT_AC_TAGVAR(module_cmds, $1) | \
-    _LT_AC_TAGVAR(module_expsym_cmds, $1) | \
-    _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \
-    _LT_AC_TAGVAR(export_symbols_cmds, $1) | \
-    extract_expsyms_cmds | reload_cmds | finish_cmds | \
-    postinstall_cmds | postuninstall_cmds | \
-    old_postinstall_cmds | old_postuninstall_cmds | \
-    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
-      # Double-quote double-evaled strings.
-      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
-      ;;
-    *)
-      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
-      ;;
-    esac
-  done
-
-  case $lt_echo in
-  *'\[$]0 --fallback-echo"')
-    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'`
-    ;;
-  esac
-
-ifelse([$1], [],
-  [cfgfile="${ofile}T"
-  trap "$rm \"$cfgfile\"; exit 1" 1 2 15
-  $rm -f "$cfgfile"
-  AC_MSG_NOTICE([creating $ofile])],
-  [cfgfile="$ofile"])
-
-  cat <<__EOF__ >> "$cfgfile"
-ifelse([$1], [],
-[#! $SHELL
-
-# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-# Free Software Foundation, Inc.
-#
-# This file is part of GNU Libtool:
-# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="$SED -e 1s/^X//"
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# The names of the tagged configurations supported by this script.
-available_tags=
-
-# ### BEGIN LIBTOOL CONFIG],
-[# ### BEGIN LIBTOOL TAG CONFIG: $tagname])
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
-
-# Is the compiler the GNU C compiler?
-with_gcc=$_LT_AC_TAGVAR(GCC, $1)
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_[]_LT_AC_TAGVAR(LD, $1)
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1)
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1)
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1)
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1)
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1)
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1)
-archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1)
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1)
-module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1)
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1)
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1)
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
-
-# The directories searched by this compiler when creating a shared
-# library
-compiler_lib_search_dirs=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1)
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1)
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1)
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1)
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1)
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1)
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1)
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1)
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1)
-
-# Symbols that must always be exported.
-include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1)
-
-ifelse([$1],[],
-[# ### END LIBTOOL CONFIG],
-[# ### END LIBTOOL TAG CONFIG: $tagname])
-
-__EOF__
-
-ifelse([$1],[], [
-  case $host_os in
-  aix3*)
-    cat <<\EOF >> "$cfgfile"
-
-# AIX sometimes has problems with the GCC collect2 program.  For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
-fi
-EOF
-    ;;
-  esac
-
-  # We use sed instead of cat because bash on DJGPP gets confused if
-  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
-  # text mode, it properly converts lines to CR/LF.  This bash problem
-  # is reportedly fixed, but why not run on old versions too?
-  sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
-
-  mv -f "$cfgfile" "$ofile" || \
-    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
-  chmod +x "$ofile"
-])
-else
-  # If there is no Makefile yet, we rely on a make rule to execute
-  # `config.status --recheck' to rerun these tests and create the
-  # libtool script then.
-  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
-  if test -f "$ltmain_in"; then
-    test -f Makefile && make "$ltmain"
-  fi
-fi
-])# AC_LIBTOOL_CONFIG
-
-
-# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME])
-# -------------------------------------------
-AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI],
-[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-
-_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-
-if test "$GCC" = yes; then
-  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
-
-  AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
-    lt_cv_prog_compiler_rtti_exceptions,
-    [-fno-rtti -fno-exceptions], [],
-    [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
-fi
-])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
-
-
-# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-# ---------------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
-[AC_REQUIRE([AC_CANONICAL_HOST])
-AC_REQUIRE([LT_AC_PROG_SED])
-AC_REQUIRE([AC_PROG_NM])
-AC_REQUIRE([AC_OBJEXT])
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-AC_MSG_CHECKING([command to parse $NM output from $compiler object])
-AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
-[
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[[BCDEGRST]]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
-
-# Transform an extracted symbol line into a proper C declaration
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
-
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[[BCDT]]'
-  ;;
-cygwin* | mingw* | pw32*)
-  symcode='[[ABCDGISTW]]'
-  ;;
-hpux*) # Its linker distinguishes data from code symbols
-  if test "$host_cpu" = ia64; then
-    symcode='[[ABCDEGRST]]'
-  fi
-  lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-  lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
-  ;;
-linux* | k*bsd*-gnu)
-  if test "$host_cpu" = ia64; then
-    symcode='[[ABCDGIRSTW]]'
-    lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-    lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
-  fi
-  ;;
-irix* | nonstopux*)
-  symcode='[[BCDEGRST]]'
-  ;;
-osf*)
-  symcode='[[BCDEGQRST]]'
-  ;;
-solaris*)
-  symcode='[[BDRT]]'
-  ;;
-sco3.2v5*)
-  symcode='[[DT]]'
-  ;;
-sysv4.2uw2*)
-  symcode='[[DT]]'
-  ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
-  symcode='[[ABDT]]'
-  ;;
-sysv4)
-  symcode='[[DFNSTU]]'
-  ;;
-esac
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
-  symcode='[[ABCDGIRSTW]]' ;;
-esac
-
-# Try without a prefix undercore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
-
-  # Write the raw and C identifiers.
-  lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ 	]]\($symcode$symcode*\)[[ 	]][[ 	]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-
-  rm -f conftest*
-  cat > conftest.$ac_ext <<EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-EOF
-
-  if AC_TRY_EVAL(ac_compile); then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-	mv -f "$nlist"T "$nlist"
-      else
-	rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if grep ' nm_test_var$' "$nlist" >/dev/null; then
-	if grep ' nm_test_func$' "$nlist" >/dev/null; then
-	  cat <<EOF > conftest.$ac_ext
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-EOF
-	  # Now generate the symbol file.
-	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
-
-	  cat <<EOF >> conftest.$ac_ext
-#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
-#else
-# define lt_ptr_t char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-const struct {
-  const char *name;
-  lt_ptr_t address;
-}
-lt_preloaded_symbols[[]] =
-{
-EOF
-	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
-	  cat <<\EOF >> conftest.$ac_ext
-  {0, (lt_ptr_t) 0}
-};
-
-#ifdef __cplusplus
-}
-#endif
-EOF
-	  # Now try linking the two files.
-	  mv conftest.$ac_objext conftstm.$ac_objext
-	  lt_save_LIBS="$LIBS"
-	  lt_save_CFLAGS="$CFLAGS"
-	  LIBS="conftstm.$ac_objext"
-	  CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
-	  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
-	    pipe_works=yes
-	  fi
-	  LIBS="$lt_save_LIBS"
-	  CFLAGS="$lt_save_CFLAGS"
-	else
-	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
-	fi
-      else
-	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
-    fi
-  else
-    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
-    cat conftest.$ac_ext >&5
-  fi
-  rm -rf conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
-  fi
-done
-])
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  AC_MSG_RESULT(failed)
-else
-  AC_MSG_RESULT(ok)
-fi
-]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-
-
-# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME])
-# ---------------------------------------
-AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC],
-[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=
-_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=
-
-AC_MSG_CHECKING([for $compiler option to produce PIC])
- ifelse([$1],[CXX],[
-  # C++ specific cases for pic, static, wl, etc.
-  if test "$GXX" = yes; then
-    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
-    case $host_os in
-    aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      fi
-      ;;
-    amigaos*)
-      # FIXME: we need at least 68020 code to build shared libraries, but
-      # adding the `-m68020' flag to GCC prevents building anything better,
-      # like `-m68040'.
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
-      ;;
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-    mingw* | cygwin* | os2* | pw32*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      m4_if([$1], [GCJ], [],
-	[_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-      ;;
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
-      ;;
-    *djgpp*)
-      # DJGPP does not support shared libraries at all
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-      ;;
-    interix[[3-9]]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
-      fi
-      ;;
-    hpux*)
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-	;;
-      *)
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	;;
-      esac
-      ;;
-    *)
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-      ;;
-    esac
-  else
-    case $host_os in
-      aix[[4-9]]*)
-	# All AIX code is PIC.
-	if test "$host_cpu" = ia64; then
-	  # AIX 5 now supports IA64 processor
-	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	else
-	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
-	fi
-	;;
-      chorus*)
-	case $cc_basename in
-	cxch68*)
-	  # Green Hills C++ Compiler
-	  # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
-	  ;;
-	esac
-	;;
-       darwin*)
-         # PIC is the default on this platform
-         # Common symbols not allowed in MH_DYLIB files
-         case $cc_basename in
-           xlc*)
-           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
-           _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-           ;;
-         esac
-       ;;
-      dgux*)
-	case $cc_basename in
-	  ec++*)
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    ;;
-	  ghcx*)
-	    # Green Hills C++ Compiler
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      freebsd* | dragonfly*)
-	# FreeBSD uses GNU C++
-	;;
-      hpux9* | hpux10* | hpux11*)
-	case $cc_basename in
-	  CC*)
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
-	    if test "$host_cpu" != ia64; then
-	      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-	    fi
-	    ;;
-	  aCC*)
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
-	    case $host_cpu in
-	    hppa*64*|ia64*)
-	      # +Z the default
-	      ;;
-	    *)
-	      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-	      ;;
-	    esac
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      interix*)
-	# This is c89, which is MS Visual C++ (no shared libs)
-	# Anyone wants to do a port?
-	;;
-      irix5* | irix6* | nonstopux*)
-	case $cc_basename in
-	  CC*)
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-	    # CC pic flag -KPIC is the default.
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      linux* | k*bsd*-gnu)
-	case $cc_basename in
-	  KCC*)
-	    # KAI C++ Compiler
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	    ;;
-	  icpc* | ecpc*)
-	    # Intel C++
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
-	    ;;
-	  pgCC* | pgcpp*)
-	    # Portland Group C++ compiler.
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    ;;
-	  cxx*)
-	    # Compaq C++
-	    # Make sure the PIC flag is empty.  It appears that all Alpha
-	    # Linux and Compaq Tru64 Unix objects are PIC.
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-	    ;;
-	  *)
-	    case `$CC -V 2>&1 | sed 5q` in
-	    *Sun\ C*)
-	      # Sun C++ 5.9
-	      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-	      ;;
-	    esac
-	    ;;
-	esac
-	;;
-      lynxos*)
-	;;
-      m88k*)
-	;;
-      mvs*)
-	case $cc_basename in
-	  cxx*)
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      netbsd*)
-	;;
-      osf3* | osf4* | osf5*)
-	case $cc_basename in
-	  KCC*)
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
-	    ;;
-	  RCC*)
-	    # Rational C++ 2.4.1
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    ;;
-	  cxx*)
-	    # Digital/Compaq C++
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    # Make sure the PIC flag is empty.  It appears that all Alpha
-	    # Linux and Compaq Tru64 Unix objects are PIC.
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      psos*)
-	;;
-      solaris*)
-	case $cc_basename in
-	  CC*)
-	    # Sun C++ 4.2, 5.x and Centerline C++
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-	    ;;
-	  gcx*)
-	    # Green Hills C++ Compiler
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      sunos4*)
-	case $cc_basename in
-	  CC*)
-	    # Sun C++ 4.x
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    ;;
-	  lcc*)
-	    # Lucid
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      tandem*)
-	case $cc_basename in
-	  NCC*)
-	    # NonStop-UX NCC 3.20
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-	case $cc_basename in
-	  CC*)
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    ;;
-	esac
-	;;
-      vxworks*)
-	;;
-      *)
-	_LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-	;;
-    esac
-  fi
-],
-[
-  if test "$GCC" = yes; then
-    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      # FIXME: we need at least 68020 code to build shared libraries, but
-      # adding the `-m68020' flag to GCC prevents building anything better,
-      # like `-m68040'.
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | cygwin* | pw32* | os2*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      m4_if([$1], [GCJ], [],
-	[_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
-      ;;
-
-    interix[[3-9]]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      enable_shared=no
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
-      fi
-      ;;
-
-    hpux*)
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-	# +Z the default
-	;;
-      *)
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	;;
-      esac
-      ;;
-
-    *)
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      else
-	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-      darwin*)
-        # PIC is the default on this platform
-        # Common symbols not allowed in MH_DYLIB files
-       case $cc_basename in
-         xlc*)
-         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
-         _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-         ;;
-       esac
-       ;;
-
-    mingw* | cygwin* | pw32* | os2*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      m4_if([$1], [GCJ], [],
-	[_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-	# +Z the default
-	;;
-      *)
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-	;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      # PIC (with -KPIC) is the default.
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    newsos6)
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    linux* | k*bsd*-gnu)
-      case $cc_basename in
-      icc* | ecc*)
-	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
-        ;;
-      pgcc* | pgf77* | pgf90* | pgf95*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-	# which looks to be a dead project)
-	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
-	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-        ;;
-      ccc*)
-        _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-        # All Alpha code is PIC.
-        _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-        ;;
-      *)
-        case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ C*)
-	  # Sun C 5.9
-	  _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	  _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	  ;;
-	*Sun\ F*)
-	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
-	  _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	  _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=''
-	  ;;
-	esac
-	;;
-      esac
-      ;;
-
-    osf3* | osf4* | osf5*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      # All OSF/1 code is PIC.
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    rdos*)
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    solaris*)
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95*)
-	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
-      *)
-	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
-	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    unicos*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      ;;
-
-    uts4*)
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    *)
-      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      ;;
-    esac
-  fi
-])
-AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
-  AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
-    _LT_AC_TAGVAR(lt_cv_prog_compiler_pic_works, $1),
-    [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
-    [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
-     "" | " "*) ;;
-     *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
-     esac],
-    [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-     _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
-fi
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-    ;;
-  *)
-    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])"
-    ;;
-esac
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
-AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
-  _LT_AC_TAGVAR(lt_cv_prog_compiler_static_works, $1),
-  $lt_tmp_static_flag,
-  [],
-  [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
-])
-
-
-# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
-# ------------------------------------
-# See if the linker supports building shared libraries.
-AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-ifelse([$1],[CXX],[
-  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  case $host_os in
-  aix[[4-9]]*)
-    # If we're using GNU nm, then we don't want the "-C" option.
-    # -C means demangle to AIX nm, but means don't demangle with GNU nm
-    if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
-      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
-    else
-      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
-    fi
-    ;;
-  pw32*)
-    _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
-  ;;
-  cygwin* | mingw*)
-    _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
-  ;;
-  *)
-    _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  ;;
-  esac
-  _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
-],[
-  runpath_var=
-  _LT_AC_TAGVAR(allow_undefined_flag, $1)=
-  _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-  _LT_AC_TAGVAR(archive_cmds, $1)=
-  _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
-  _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
-  _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
-  _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-  _LT_AC_TAGVAR(thread_safe_flag_spec, $1)=
-  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-  _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-  _LT_AC_TAGVAR(hardcode_direct, $1)=no
-  _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
-  _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-  _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
-  _LT_AC_TAGVAR(hardcode_automatic, $1)=no
-  _LT_AC_TAGVAR(module_cmds, $1)=
-  _LT_AC_TAGVAR(module_expsym_cmds, $1)=
-  _LT_AC_TAGVAR(always_export_symbols, $1)=no
-  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  _LT_AC_TAGVAR(include_expsyms, $1)=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-dnl Note also adjust exclude_expsyms for C++ above.
-  extract_expsyms_cmds=
-  # Just being paranoid about ensuring that cc_basename is set.
-  _LT_CC_BASENAME([$compiler])
-  case $host_os in
-  cygwin* | mingw* | pw32*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  esac
-
-  _LT_AC_TAGVAR(ld_shlibs, $1)=yes
-  if test "$with_gnu_ld" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
-
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
-    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
-	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      else
-  	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>/dev/null` in
-      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
-
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[[3-9]]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	cat <<EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-EOF
-      fi
-      ;;
-
-    amigaos*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-
-      # Samuel A. Falvo II <kc5tja at dolphin.openprojects.net> reports
-      # that the semantics of dynamic libraries on AmigaOS, at least up
-      # to version 4, is to share data among multiple programs linked
-      # with the same dynamic library.  Since this doesn't match the
-      # behavior of shared libraries on other platforms, we can't use
-      # them.
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-	# Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
-	# support --undefined.  This deserves some investigation.  FIXME
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32*)
-      # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
-      # as there is no search path for DLLs.
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_AC_TAGVAR(always_export_symbols, $1)=no
-      _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
-
-      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
-        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-	# If the export-symbols file already is a .def file (1st line
-	# is EXPORTS), use it as is; otherwise, prepend...
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-	  cp $export_symbols $output_objdir/$soname.def;
-	else
-	  echo EXPORTS > $output_objdir/$soname.def;
-	  cat $export_symbols >> $output_objdir/$soname.def;
-	fi~
-	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    interix[[3-9]]*)
-      _LT_AC_TAGVAR(hardcode_direct, $1)=no
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
-
-    gnu* | linux* | k*bsd*-gnu)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	tmp_addflag=
-	case $cc_basename,$host_cpu in
-	pgcc*)				# Portland Group C compiler
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-	  tmp_addflag=' $pic_flag'
-	  ;;
-	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-	  tmp_addflag=' $pic_flag -Mnomain' ;;
-	ecc*,ia64* | icc*,ia64*)		# Intel C compiler on ia64
-	  tmp_addflag=' -i_dynamic' ;;
-	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
-	  tmp_addflag=' -i_dynamic -nofor_main' ;;
-	ifc* | ifort*)			# Intel Fortran compiler
-	  tmp_addflag=' -nofor_main' ;;
-	esac
-	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ C*)			# Sun C 5.9
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-	  tmp_sharedflag='-G' ;;
-	*Sun\ F*)			# Sun Fortran 8.3
-	  tmp_sharedflag='-G' ;;
-	*)
-	  tmp_sharedflag='-shared' ;;
-	esac
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
-	if test $supports_anon_versioning = yes; then
-	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
-  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-  $echo "local: *; };" >> $output_objdir/$libname.ver~
-	  $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-	fi
-      else
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-	wlarc=
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	cat <<EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-EOF
-      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-	;;
-	*)
-	  if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
-	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
-	    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
-	  else
-	    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-	  fi
-	;;
-      esac
-      ;;
-
-    sunos4*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-    esac
-
-    if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then
-      runpath_var=
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_AC_TAGVAR(always_export_symbols, $1)=yes
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-	# Neither direct hardcoding nor static linking is supported with a
-	# broken collect2.
-	_LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
-      fi
-      ;;
-
-    aix[[4-9]]*)
-      if test "$host_cpu" = ia64; then
-	# On IA64, the linker does run time linking by default, so we don't
-	# have to do anything special.
-	aix_use_runtimelinking=no
-	exp_sym_flag='-Bexport'
-	no_entry_flag=""
-      else
-	# If we're using GNU nm, then we don't want the "-C" option.
-	# -C means demangle to AIX nm, but means don't demangle with GNU nm
-	if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
-	  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
-	else
-	  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
-	fi
-	aix_use_runtimelinking=no
-
-	# Test if we are trying to use run time linking or normal
-	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
-	# need to do runtime linking.
-	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
-	  for ld_flag in $LDFLAGS; do
-  	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-  	    aix_use_runtimelinking=yes
-  	    break
-  	  fi
-	  done
-	  ;;
-	esac
-
-	exp_sym_flag='-bexport'
-	no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      _LT_AC_TAGVAR(archive_cmds, $1)=''
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
-      if test "$GCC" = yes; then
-	case $host_os in aix4.[[012]]|aix4.[[012]].*)
-	# We only want to do this on AIX 4.2 and lower, the check
-	# below for broken collect2 doesn't work under 4.3+
-	  collect2name=`${CC} -print-prog-name=collect2`
-	  if test -f "$collect2name" && \
-  	   strings "$collect2name" | grep resolve_lib_name >/dev/null
-	  then
-  	  # We have reworked collect2
-  	  :
-	  else
-  	  # We have old collect2
-  	  _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
-  	  # It fails to find uninstalled libraries when the uninstalled
-  	  # path is not listed in the libpath.  Setting hardcode_minus_L
-  	  # to unsupported forces relinking
-  	  _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-  	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-  	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-	  fi
-	  ;;
-	esac
-	shared_flag='-shared'
-	if test "$aix_use_runtimelinking" = yes; then
-	  shared_flag="$shared_flag "'${wl}-G'
-	fi
-      else
-	# not using gcc
-	if test "$host_cpu" = ia64; then
-  	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-  	# chokes on -Wl,-G. The following line is correct:
-	  shared_flag='-G'
-	else
-	  if test "$aix_use_runtimelinking" = yes; then
-	    shared_flag='${wl}-G'
-	  else
-	    shared_flag='${wl}-bM:SRE'
-	  fi
-	fi
-      fi
-
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      _LT_AC_TAGVAR(always_export_symbols, $1)=yes
-      if test "$aix_use_runtimelinking" = yes; then
-	# Warning - without using the other runtime loading flags (-brtl),
-	# -berok will link without error, but may produce a broken library.
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
-       # Determine the default libpath from the value encoded in an empty executable.
-       _LT_AC_SYS_LIBPATH_AIX
-       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-       else
-	if test "$host_cpu" = ia64; then
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
-	  _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-	else
-	 # Determine the default libpath from the value encoded in an empty executable.
-	 _LT_AC_SYS_LIBPATH_AIX
-	 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-	  # Warning - without using the other run time loading flags,
-	  # -berok will link without error, but may produce a broken library.
-	  _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
-	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-	  # Exported symbols can be pulled into shared objects from archives
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
-	  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
-	  # This is similar to how AIX traditionally builds its shared libraries.
-	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-	fi
-      fi
-      ;;
-
-    amigaos*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      # see comment about different semantics on the GNU ld section
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      ;;
-
-    bsdi[[45]]*)
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
-      ;;
-
-    cygwin* | mingw* | pw32*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-      # Tell ltmain to make .lib files, not .a files.
-      libext=lib
-      # Tell ltmain to make .dll files, not .so files.
-      shrext_cmds=".dll"
-      # FIXME: Setting linknames here is a bad hack.
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
-      # The linker will automatically build a .lib file if we build a DLL.
-      _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
-      # FIXME: Should let the user specify the lib program.
-      _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
-      _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
-      _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-      ;;
-
-    darwin* | rhapsody*)
-      case $host_os in
-        rhapsody* | darwin1.[[012]])
-         _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
-         ;;
-       *) # Darwin 1.3 on
-         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-           _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-         else
-           case ${MACOSX_DEPLOYMENT_TARGET} in
-             10.[[012]])
-               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-               ;;
-             10.*)
-               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
-               ;;
-           esac
-         fi
-         ;;
-      esac
-      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_AC_TAGVAR(hardcode_direct, $1)=no
-      _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-    if test "$GCC" = yes ; then
-    	output_verbose_link_cmd='echo'
-        _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-        _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-        _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-        _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-    else
-      case $cc_basename in
-        xlc*)
-         output_verbose_link_cmd='echo'
-         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
-         _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          ;;
-       *)
-         _LT_AC_TAGVAR(ld_shlibs, $1)=no
-          ;;
-      esac
-    fi
-      ;;
-
-    dgux*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    freebsd1*)
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    hpux9*)
-      if test "$GCC" = yes; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-      ;;
-
-    hpux10*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	_LT_AC_TAGVAR(hardcode_direct, $1)=yes
-	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-
-	# hardcode_minus_L: Not really in the search PATH,
-	# but as the default location of the library.
-	_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-	case $host_cpu in
-	hppa*64*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	ia64*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	esac
-      else
-	case $host_cpu in
-	hppa*64*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	ia64*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	esac
-      fi
-      if test "$with_gnu_ld" = no; then
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	case $host_cpu in
-	hppa*64*|ia64*)
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
-	  _LT_AC_TAGVAR(hardcode_direct, $1)=no
-	  _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-	  ;;
-	*)
-	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-	  _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-
-	  # hardcode_minus_L: Not really in the search PATH,
-	  # but as the default location of the library.
-	  _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-	  ;;
-	esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    newsos6)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-	_LT_AC_TAGVAR(hardcode_direct, $1)=yes
-	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-	if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	  _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-	else
-	  case $host_os in
-	   openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
-	     _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-	     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	     ;;
-	   *)
-	     _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	     ;;
-	  esac
-        fi
-      else
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    os2*)
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
-
-    osf3*)
-      if test "$GCC" = yes; then
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-      ;;
-
-    osf4* | osf5*)	# as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      else
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
-	$LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
-
-	# Both c and cxx compiler support -rpath directly
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-      ;;
-
-    solaris*)
-      _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
-      if test "$GCC" = yes; then
-	wlarc='${wl}'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-	  $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
-      else
-	wlarc=''
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-  	$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      case $host_os in
-      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-      *)
-	# The compiler driver will combine and reorder linker options,
-	# but understands `-z linker_flag'.  GCC discards it without `$wl',
-	# but is careful enough not to reorder.
- 	# Supported since Solaris 2.6 (maybe 2.5.1?)
-	if test "$GCC" = yes; then
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-	else
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
-	fi
-	;;
-      esac
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-      ;;
-
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-	# Use $CC to link under sequent, because it throws in some extra .o
-	# files that make .init and .fini sections work.
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-	sni)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true???
-	;;
-	siemens)
-	  ## LD is ld it makes a PLAMLIB
-	  ## CC just makes a GrossModule.
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-	  _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
-	  _LT_AC_TAGVAR(hardcode_direct, $1)=no
-        ;;
-	motorola)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
-	;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    sysv4.3*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-	runpath_var=LD_RUN_PATH
-	hardcode_runpath_var=yes
-	_LT_AC_TAGVAR(ld_shlibs, $1)=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
-      _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
-      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    *)
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      ;;
-    esac
-  fi
-])
-AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
-test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in
-x|xyes)
-  # Assume -lc should be added
-  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $_LT_AC_TAGVAR(archive_cmds, $1) in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      AC_MSG_CHECKING([whether -lc should be explicitly linked in])
-      $rm conftest*
-      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-      if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
-        soname=conftest
-        lib=conftest
-        libobjs=conftest.$ac_objext
-        deplibs=
-        wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
-	pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
-        compiler_flags=-v
-        linker_flags=-v
-        verstring=
-        output_objdir=.
-        libname=conftest
-        lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
-        _LT_AC_TAGVAR(allow_undefined_flag, $1)=
-        if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
-        then
-	  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-        else
-	  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
-        fi
-        _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
-      else
-        cat conftest.err 1>&5
-      fi
-      $rm conftest*
-      AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
-      ;;
-    esac
-  fi
-  ;;
-esac
-])# AC_LIBTOOL_PROG_LD_SHLIBS
-
-
-# _LT_AC_FILE_LTDLL_C
-# -------------------
-# Be careful that the start marker always follows a newline.
-AC_DEFUN([_LT_AC_FILE_LTDLL_C], [
-# /* ltdll.c starts here */
-# #define WIN32_LEAN_AND_MEAN
-# #include <windows.h>
-# #undef WIN32_LEAN_AND_MEAN
-# #include <stdio.h>
-#
-# #ifndef __CYGWIN__
-# #  ifdef __CYGWIN32__
-# #    define __CYGWIN__ __CYGWIN32__
-# #  endif
-# #endif
-#
-# #ifdef __cplusplus
-# extern "C" {
-# #endif
-# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
-# #ifdef __cplusplus
-# }
-# #endif
-#
-# #ifdef __CYGWIN__
-# #include <cygwin/cygwin_dll.h>
-# DECLARE_CYGWIN_DLL( DllMain );
-# #endif
-# HINSTANCE __hDllInstance_base;
-#
-# BOOL APIENTRY
-# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
-# {
-#   __hDllInstance_base = hInst;
-#   return TRUE;
-# }
-# /* ltdll.c ends here */
-])# _LT_AC_FILE_LTDLL_C
-
-
-# _LT_AC_TAGVAR(VARNAME, [TAGNAME])
-# ---------------------------------
-AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])])
-
-
-# old names
-AC_DEFUN([AM_PROG_LIBTOOL],   [AC_PROG_LIBTOOL])
-AC_DEFUN([AM_ENABLE_SHARED],  [AC_ENABLE_SHARED($@)])
-AC_DEFUN([AM_ENABLE_STATIC],  [AC_ENABLE_STATIC($@)])
-AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
-AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
-AC_DEFUN([AM_PROG_LD],        [AC_PROG_LD])
-AC_DEFUN([AM_PROG_NM],        [AC_PROG_NM])
-
-# This is just to silence aclocal about the macro not being used
-ifelse([AC_DISABLE_FAST_INSTALL])
-
-AC_DEFUN([LT_AC_PROG_GCJ],
-[AC_CHECK_TOOL(GCJ, gcj, no)
-  test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
-  AC_SUBST(GCJFLAGS)
-])
-
-AC_DEFUN([LT_AC_PROG_RC],
-[AC_CHECK_TOOL(RC, windres, no)
-])
-
-
-# Cheap backport of AS_EXECUTABLE_P and required macros
-# from Autoconf 2.59; we should not use $as_executable_p directly.
-
-# _AS_TEST_PREPARE
-# ----------------
-m4_ifndef([_AS_TEST_PREPARE],
-[m4_defun([_AS_TEST_PREPARE],
-[if test -x / >/dev/null 2>&1; then
-  as_executable_p='test -x'
-else
-  as_executable_p='test -f'
-fi
-])])# _AS_TEST_PREPARE
-
-# AS_EXECUTABLE_P
-# ---------------
-# Check whether a file is executable.
-m4_ifndef([AS_EXECUTABLE_P],
-[m4_defun([AS_EXECUTABLE_P],
-[AS_REQUIRE([_AS_TEST_PREPARE])dnl
-$as_executable_p $1[]dnl
-])])# AS_EXECUTABLE_P
-
-# NOTE: This macro has been submitted for inclusion into   #
-#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
-#  a released version of Autoconf we should remove this    #
-#  macro and use it instead.                               #
-# LT_AC_PROG_SED
-# --------------
-# Check for a fully-functional sed program, that truncates
-# as few characters as possible.  Prefer GNU sed if found.
-AC_DEFUN([LT_AC_PROG_SED],
-[AC_MSG_CHECKING([for a sed that does not truncate output])
-AC_CACHE_VAL(lt_cv_path_SED,
-[# Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for lt_ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      if AS_EXECUTABLE_P(["$as_dir/$lt_ac_prog$ac_exec_ext"]); then
-        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
-      fi
-    done
-  done
-done
-IFS=$as_save_IFS
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
-  test ! -f $lt_ac_sed && continue
-  cat /dev/null > conftest.in
-  lt_ac_count=0
-  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
-  # Check for GNU sed and select it if it is found.
-  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
-    lt_cv_path_SED=$lt_ac_sed
-    break
-  fi
-  while true; do
-    cat conftest.in conftest.in >conftest.tmp
-    mv conftest.tmp conftest.in
-    cp conftest.in conftest.nl
-    echo >>conftest.nl
-    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
-    cmp -s conftest.out conftest.nl || break
-    # 10000 chars as input seems more than enough
-    test $lt_ac_count -gt 10 && break
-    lt_ac_count=`expr $lt_ac_count + 1`
-    if test $lt_ac_count -gt $lt_ac_max; then
-      lt_ac_max=$lt_ac_count
-      lt_cv_path_SED=$lt_ac_sed
-    fi
-  done
-done
-])
-SED=$lt_cv_path_SED
-AC_SUBST([SED])
-AC_MSG_RESULT([$SED])
-])
-
-# Copyright (C) 2002, 2003, 2005, 2006, 2007  Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -6670,10 +31,10 @@ AC_MSG_RESULT([$SED])
 # generated from the m4 files accompanying Automake X.Y.
 # (This private macro should not be called outside this file.)
 AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.10'
+[am__api_version='1.11'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.10.1], [],
+m4_if([$1], [1.11.1], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -6687,12 +48,12 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # AM_SET_CURRENT_AUTOMAKE_VERSION
 # -------------------------------
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
-# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.10.1])dnl
+[AM_AUTOMAKE_VERSION([1.11.1])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-_AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)])
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
@@ -6749,14 +110,14 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
 # Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 8
+# serial 9
 
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
@@ -6769,6 +130,7 @@ AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
 _AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
 if $2; then
   $1_TRUE=
   $1_FALSE='#'
@@ -6782,14 +144,14 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
 # Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
+# serial 10
 
 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
 # written in clear, in which case automake, when reading aclocal.m4,
@@ -6846,6 +208,16 @@ AC_CACHE_CHECK([dependency style of $depcc],
   if test "$am_compiler_list" = ""; then
      am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
   fi
+  am__universal=false
+  m4_case([$1], [CC],
+    [case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac],
+    [CXX],
+    [case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac])
+
   for depmode in $am_compiler_list; do
     # Setup a source with many dependencies, because some compilers
     # like to wrap large dependency lists on column 80 (with \), and
@@ -6863,7 +235,17 @@ AC_CACHE_CHECK([dependency style of $depcc],
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
     case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
     nosideeffect)
       # after this tag, mechanisms are not by side-effect, so they'll
       # only be used when explicitly requested
@@ -6873,19 +255,23 @@ AC_CACHE_CHECK([dependency style of $depcc],
 	break
       fi
       ;;
+    msvisualcpp | msvcmsys)
+      # This compiler won't grok `-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
     none) break ;;
     esac
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.
     if depmode=$depmode \
-       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       source=sub/conftest.c object=$am__obj \
        depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
          >/dev/null 2>conftest.err &&
        grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
        grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
        ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
       # icc doesn't choke on unknown options, it will just issue warnings
       # or remarks (even with -Werror).  So we grep stderr for any message
@@ -6942,57 +328,68 @@ _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
 # Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-#serial 3
+#serial 5
 
 # _AM_OUTPUT_DEPENDENCY_COMMANDS
 # ------------------------------
 AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[for mf in $CONFIG_FILES; do
-  # Strip MF so we end up with the name of the file.
-  mf=`echo "$mf" | sed -e 's/:.*$//'`
-  # Check whether this is an Automake generated Makefile or not.
-  # We used to match only the files named `Makefile.in', but
-  # some people rename them; so instead we look at the file content.
-  # Grep'ing the first line is not enough: some people post-process
-  # each Makefile.in and add a new line on top of each file to say so.
-  # Grep'ing the whole file is not good either: AIX grep has a line
-  # limit of 2048, but all sed's we know have understand at least 4000.
-  if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-    dirpart=`AS_DIRNAME("$mf")`
-  else
-    continue
-  fi
-  # Extract the definition of DEPDIR, am__include, and am__quote
-  # from the Makefile without running `make'.
-  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-  test -z "$DEPDIR" && continue
-  am__include=`sed -n 's/^am__include = //p' < "$mf"`
-  test -z "am__include" && continue
-  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-  # When using ansi2knr, U may be empty or an underscore; expand it
-  U=`sed -n 's/^U = //p' < "$mf"`
-  # Find all dependency output files, they are included files with
-  # $(DEPDIR) in their names.  We invoke sed twice because it is the
-  # simplest approach to changing $(DEPDIR) to its actual value in the
-  # expansion.
-  for file in `sed -n "
-    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-    # Make sure the directory exists.
-    test -f "$dirpart/$file" && continue
-    fdir=`AS_DIRNAME(["$file"])`
-    AS_MKDIR_P([$dirpart/$fdir])
-    # echo "creating $dirpart/$file"
-    echo '# dummy' > "$dirpart/$file"
+[{
+  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # are listed without --file.  Let's play safe and only enable the eval
+  # if we detect the quoting.
+  case $CONFIG_FILES in
+  *\'*) eval set x "$CONFIG_FILES" ;;
+  *)   set x $CONFIG_FILES ;;
+  esac
+  shift
+  for mf
+  do
+    # Strip MF so we end up with the name of the file.
+    mf=`echo "$mf" | sed -e 's/:.*$//'`
+    # Check whether this is an Automake generated Makefile or not.
+    # We used to match only the files named `Makefile.in', but
+    # some people rename them; so instead we look at the file content.
+    # Grep'ing the first line is not enough: some people post-process
+    # each Makefile.in and add a new line on top of each file to say so.
+    # Grep'ing the whole file is not good either: AIX grep has a line
+    # limit of 2048, but all sed's we know have understand at least 4000.
+    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+      dirpart=`AS_DIRNAME("$mf")`
+    else
+      continue
+    fi
+    # Extract the definition of DEPDIR, am__include, and am__quote
+    # from the Makefile without running `make'.
+    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+    test -z "$DEPDIR" && continue
+    am__include=`sed -n 's/^am__include = //p' < "$mf"`
+    test -z "am__include" && continue
+    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+    # When using ansi2knr, U may be empty or an underscore; expand it
+    U=`sed -n 's/^U = //p' < "$mf"`
+    # Find all dependency output files, they are included files with
+    # $(DEPDIR) in their names.  We invoke sed twice because it is the
+    # simplest approach to changing $(DEPDIR) to its actual value in the
+    # expansion.
+    for file in `sed -n "
+      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+      # Make sure the directory exists.
+      test -f "$dirpart/$file" && continue
+      fdir=`AS_DIRNAME(["$file"])`
+      AS_MKDIR_P([$dirpart/$fdir])
+      # echo "creating $dirpart/$file"
+      echo '# dummy' > "$dirpart/$file"
+    done
   done
-done
+}
 ])# _AM_OUTPUT_DEPENDENCY_COMMANDS
 
 
@@ -7012,13 +409,13 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 # Do all the work for Automake.                             -*- Autoconf -*-
 
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008 Free Software Foundation, Inc.
+# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 13
+# serial 16
 
 # This macro actually does too much.  Some checks are only needed if
 # your package does certain things.  But this isn't really a big deal.
@@ -7035,7 +432,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 # arguments mandatory, and then we can depend on a new Autoconf
 # release and drop the old call support.
 AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.60])dnl
+[AC_PREREQ([2.62])dnl
 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
 dnl the ones we care about.
 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@@ -7086,8 +483,8 @@ AM_MISSING_PROG(AUTOCONF, autoconf)
 AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
 AM_MISSING_PROG(AUTOHEADER, autoheader)
 AM_MISSING_PROG(MAKEINFO, makeinfo)
-AM_PROG_INSTALL_SH
-AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
 AC_REQUIRE([AM_PROG_MKDIR_P])dnl
 # We need awk for the "check" target.  The system "awk" is bad on
 # some platforms.
@@ -7095,24 +492,37 @@ AC_REQUIRE([AC_PROG_AWK])dnl
 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
 AC_REQUIRE([AM_SET_LEADING_DOT])dnl
 _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
-              [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
-	      		     [_AM_PROG_TAR([v7])])])
+	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+			     [_AM_PROG_TAR([v7])])])
 _AM_IF_OPTION([no-dependencies],,
 [AC_PROVIDE_IFELSE([AC_PROG_CC],
-                  [_AM_DEPENDENCIES(CC)],
-                  [define([AC_PROG_CC],
-                          defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+		  [_AM_DEPENDENCIES(CC)],
+		  [define([AC_PROG_CC],
+			  defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_CXX],
-                  [_AM_DEPENDENCIES(CXX)],
-                  [define([AC_PROG_CXX],
-                          defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+		  [_AM_DEPENDENCIES(CXX)],
+		  [define([AC_PROG_CXX],
+			  defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_OBJC],
-                  [_AM_DEPENDENCIES(OBJC)],
-                  [define([AC_PROG_OBJC],
-                          defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+		  [_AM_DEPENDENCIES(OBJC)],
+		  [define([AC_PROG_OBJC],
+			  defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
 ])
+_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
+dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
+dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
+dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
 ])
 
+dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
+
 
 # When config.status generates a header, we must update the stamp-h file.
 # This file resides in the same directory as the config header
@@ -7135,7 +545,7 @@ for _am_header in $config_headers :; do
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2008  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -7146,7 +556,14 @@ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_co
 # Define $install_sh.
 AC_DEFUN([AM_PROG_INSTALL_SH],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+if test x"${install_sh}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+  *)
+    install_sh="\${SHELL} $am_aux_dir/install-sh"
+  esac
+fi
 AC_SUBST(install_sh)])
 
 # Copyright (C) 2003, 2005  Free Software Foundation, Inc.
@@ -7172,13 +589,13 @@ AC_SUBST([am__leading_dot])])
 
 # Check to see how 'make' treats includes.	            -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 3
+# serial 4
 
 # AM_MAKE_INCLUDE()
 # -----------------
@@ -7187,7 +604,7 @@ AC_DEFUN([AM_MAKE_INCLUDE],
 [am_make=${MAKE-make}
 cat > confinc << 'END'
 am__doit:
-	@echo done
+	@echo this is the am__doit target
 .PHONY: am__doit
 END
 # If we don't find an include directive, just comment out the code.
@@ -7197,24 +614,24 @@ am__quote=
 _am_result=none
 # First try GNU make style include.
 echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
-   am__include=include
-   am__quote=
-   _am_result=GNU
-fi
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+  am__include=include
+  am__quote=
+  _am_result=GNU
+  ;;
+esac
 # Now try BSD make style include.
 if test "$am__include" = "#"; then
    echo '.include "confinc"' > confmf
-   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
-      am__include=.include
-      am__quote="\""
-      _am_result=BSD
-   fi
+   case `$am_make -s -f confmf 2> /dev/null` in #(
+   *the\ am__doit\ target*)
+     am__include=.include
+     am__quote="\""
+     _am_result=BSD
+     ;;
+   esac
 fi
 AC_SUBST([am__include])
 AC_SUBST([am__quote])
@@ -7224,14 +641,14 @@ rm -f confinc confmf
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
 # Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
+# serial 6
 
 # AM_MISSING_PROG(NAME, PROGRAM)
 # ------------------------------
@@ -7248,7 +665,14 @@ AC_SUBST($1)])
 AC_DEFUN([AM_MISSING_HAS_RUN],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
 AC_REQUIRE_AUX_FILE([missing])dnl
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+if test x"${MISSING+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+  *)
+    MISSING="\${SHELL} $am_aux_dir/missing" ;;
+  esac
+fi
 # Use eval to expand $SHELL
 if eval "$MISSING --run true"; then
   am_missing_run="$MISSING --run "
@@ -7286,13 +710,13 @@ esac
 
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2005, 2008  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 3
+# serial 4
 
 # _AM_MANGLE_OPTION(NAME)
 # -----------------------
@@ -7309,7 +733,7 @@ AC_DEFUN([_AM_SET_OPTION],
 # ----------------------------------
 # OPTIONS is a space-separated list of Automake options.
 AC_DEFUN([_AM_SET_OPTIONS],
-[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
 
 # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
 # -------------------------------------------
@@ -7319,14 +743,14 @@ AC_DEFUN([_AM_IF_OPTION],
 
 # Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
 # Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 4
+# serial 5
 
 # AM_SANITY_CHECK
 # ---------------
@@ -7335,16 +759,29 @@ AC_DEFUN([AM_SANITY_CHECK],
 # Just in case
 sleep 1
 echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name.  Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+  *[[\\\"\#\$\&\'\`$am_lf]]*)
+    AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
+    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+esac
+
 # Do `set' in a subshell so we don't clobber the current shell's
 # arguments.  Must try -L first in case configure is actually a
 # symlink; some systems play weird games with the mod time of symlinks
 # (eg FreeBSD returns the mod time of the symlink's containing
 # directory).
 if (
-   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
    if test "$[*]" = "X"; then
       # -L didn't work.
-      set X `ls -t $srcdir/configure conftest.file`
+      set X `ls -t "$srcdir/configure" conftest.file`
    fi
    rm -f conftest.file
    if test "$[*]" != "X $srcdir/configure conftest.file" \
@@ -7369,6 +806,33 @@ Check your system clock])
 fi
 AC_MSG_RESULT(yes)])
 
+# Copyright (C) 2009  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 1
+
+# AM_SILENT_RULES([DEFAULT])
+# --------------------------
+# Enable less verbose build rules; with the default set to DEFAULT
+# (`yes' being less verbose, `no' or empty being verbose).
+AC_DEFUN([AM_SILENT_RULES],
+[AC_ARG_ENABLE([silent-rules],
+[  --enable-silent-rules          less verbose build output (undo: `make V=1')
+  --disable-silent-rules         verbose build output (undo: `make V=0')])
+case $enable_silent_rules in
+yes) AM_DEFAULT_VERBOSITY=0;;
+no)  AM_DEFAULT_VERBOSITY=1;;
+*)   AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+esac
+AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
+AM_BACKSLASH='\'
+AC_SUBST([AM_BACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+])
+
 # Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
@@ -7397,18 +861,25 @@ fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006  Free Software Foundation, Inc.
+# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 2
+
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
 # This macro is traced by Automake.
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 
+# AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
 # Check how to create a tarball.                            -*- Autoconf -*-
 
 # Copyright (C) 2004, 2005  Free Software Foundation, Inc.
diff --git a/Watchdog/compile b/Watchdog/compile
index 1b1d232..c0096a7 100755
--- a/Watchdog/compile
+++ b/Watchdog/compile
@@ -1,9 +1,10 @@
 #! /bin/sh
 # Wrapper for compilers which do not understand `-c -o'.
 
-scriptversion=2005-05-14.22
+scriptversion=2009-10-06.20; # UTC
 
-# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009  Free Software
+# Foundation, Inc.
 # Written by Tom Tromey <tromey at cygnus.com>.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -17,8 +18,7 @@ scriptversion=2005-05-14.22
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -103,13 +103,13 @@ if test -z "$ofile" || test -z "$cfile"; then
 fi
 
 # Name of file we expect compiler to create.
-cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
+cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
 
 # Create the lock directory.
-# Note: use `[/.-]' here to ensure that we don't use the same name
+# Note: use `[/\\:.-]' here to ensure that we don't use the same name
 # that we are using for the .o file.  Also, base the name on the expected
 # object file name, since that is what matters with a parallel build.
-lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d
+lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
 while true; do
   if mkdir "$lockdir" >/dev/null 2>&1; then
     break
@@ -124,9 +124,9 @@ trap "rmdir '$lockdir'; exit 1" 1 2 15
 ret=$?
 
 if test -f "$cofile"; then
-  mv "$cofile" "$ofile"
+  test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
 elif test -f "${cofile}bj"; then
-  mv "${cofile}bj" "$ofile"
+  test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
 fi
 
 rmdir "$lockdir"
@@ -138,5 +138,6 @@ exit $ret
 # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
 # End:
diff --git a/Watchdog/config.guess b/Watchdog/config.guess
index f0f0d36..4e621ac 100755
--- a/Watchdog/config.guess
+++ b/Watchdog/config.guess
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
 #   Free Software Foundation, Inc.
 
-timestamp='2008-09-28'
+timestamp='2010-07-29'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -27,16 +27,16 @@ timestamp='2008-09-28'
 # the same distribution terms that you use for the rest of that program.
 
 
-# Originally written by Per Bothner <per at bothner.com>.
-# Please send patches to <config-patches at gnu.org>.  Submit a context
-# diff and a properly formatted ChangeLog entry.
+# Originally written by Per Bothner.  Please send patches (context
+# diff format) to <config-patches at gnu.org> and include a ChangeLog
+# entry.
 #
 # This script attempts to guess a canonical system name similar to
 # config.sub.  If it succeeds, it prints the system name on stdout, and
 # exits with 0.  Otherwise, it exits with 1.
 #
-# The plan is that this can be called by configure scripts if you
-# don't specify an explicit build system type.
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
 
 me=`echo "$0" | sed -e 's,.*/,,'`
 
@@ -56,8 +56,9 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
+Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -91,7 +92,7 @@ if test $# != 0; then
   exit 1
 fi
 
-trap 'exit 1' 1 2 15
+trap 'exit 1' HUP INT TERM
 
 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
 # compiler to aid in system detection is discouraged as it requires
@@ -105,7 +106,7 @@ trap 'exit 1' 1 2 15
 
 set_cc_for_build='
 trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" HUP INT PIPE TERM ;
 : ${TMPDIR=/tmp} ;
  { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
  { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
@@ -170,7 +171,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
 		eval $set_cc_for_build
 		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
-			| grep __ELF__ >/dev/null
+			| grep -q __ELF__
 		then
 		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
 		    # Return netbsd for either.  FIX?
@@ -324,14 +325,33 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	case `/usr/bin/uname -p` in
 	    sparc) echo sparc-icl-nx7; exit ;;
 	esac ;;
+    s390x:SunOS:*:*)
+	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
     sun4H:SunOS:5.*:*)
 	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
 	exit ;;
     sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
 	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
 	exit ;;
+    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
+	echo i386-pc-auroraux${UNAME_RELEASE}
+	exit ;;
     i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
-	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	eval $set_cc_for_build
+	SUN_ARCH="i386"
+	# If there is a compiler, see if it is configured for 64-bit objects.
+	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+	# This test works for both compilers.
+	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		grep IS_64BIT_ARCH >/dev/null
+	    then
+		SUN_ARCH="x86_64"
+	    fi
+	fi
+	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
 	exit ;;
     sun4*:SunOS:6*:*)
 	# According to config.sub, this is the proper way to canonicalize
@@ -532,7 +552,7 @@ EOF
 		echo rs6000-ibm-aix3.2
 	fi
 	exit ;;
-    *:AIX:*:[456])
+    *:AIX:*:[4567])
 	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
 	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
 		IBM_ARCH=rs6000
@@ -640,7 +660,7 @@ EOF
 	    # => hppa64-hp-hpux11.23
 
 	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
-		grep __LP64__ >/dev/null
+		grep -q __LP64__
 	    then
 		HP_ARCH="hppa2.0w"
 	    else
@@ -791,12 +811,12 @@ EOF
     i*:PW*:*)
 	echo ${UNAME_MACHINE}-pc-pw32
 	exit ;;
-    *:Interix*:[3456]*)
+    *:Interix*:*)
     	case ${UNAME_MACHINE} in
 	    x86)
 		echo i586-pc-interix${UNAME_RELEASE}
 		exit ;;
-	    EM64T | authenticamd | genuineintel)
+	    authenticamd | genuineintel | EM64T)
 		echo x86_64-unknown-interix${UNAME_RELEASE}
 		exit ;;
 	    IA64)
@@ -806,6 +826,9 @@ EOF
     [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
 	echo i${UNAME_MACHINE}-pc-mks
 	exit ;;
+    8664:Windows_NT:*)
+	echo x86_64-pc-mks
+	exit ;;
     i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
 	# How do we know it's Interix rather than the generic POSIX subsystem?
 	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
@@ -835,6 +858,20 @@ EOF
     i*86:Minix:*:*)
 	echo ${UNAME_MACHINE}-pc-minix
 	exit ;;
+    alpha:Linux:*:*)
+	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+	  EV5)   UNAME_MACHINE=alphaev5 ;;
+	  EV56)  UNAME_MACHINE=alphaev56 ;;
+	  PCA56) UNAME_MACHINE=alphapca56 ;;
+	  PCA57) UNAME_MACHINE=alphapca56 ;;
+	  EV6)   UNAME_MACHINE=alphaev6 ;;
+	  EV67)  UNAME_MACHINE=alphaev67 ;;
+	  EV68*) UNAME_MACHINE=alphaev68 ;;
+        esac
+	objdump --private-headers /bin/sh | grep -q ld.so.1
+	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+	exit ;;
     arm*:Linux:*:*)
 	eval $set_cc_for_build
 	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
@@ -857,6 +894,17 @@ EOF
     frv:Linux:*:*)
     	echo frv-unknown-linux-gnu
 	exit ;;
+    i*86:Linux:*:*)
+	LIBC=gnu
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#ifdef __dietlibc__
+	LIBC=dietlibc
+	#endif
+EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+	echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+	exit ;;
     ia64:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
@@ -866,78 +914,34 @@ EOF
     m68*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
-    mips:Linux:*:*)
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#undef CPU
-	#undef mips
-	#undef mipsel
-	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
-	CPU=mipsel
-	#else
-	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
-	CPU=mips
-	#else
-	CPU=
-	#endif
-	#endif
-EOF
-	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
-	    /^CPU/{
-		s: ::g
-		p
-	    }'`"
-	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
-	;;
-    mips64:Linux:*:*)
+    mips:Linux:*:* | mips64:Linux:*:*)
 	eval $set_cc_for_build
 	sed 's/^	//' << EOF >$dummy.c
 	#undef CPU
-	#undef mips64
-	#undef mips64el
+	#undef ${UNAME_MACHINE}
+	#undef ${UNAME_MACHINE}el
 	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
-	CPU=mips64el
+	CPU=${UNAME_MACHINE}el
 	#else
 	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
-	CPU=mips64
+	CPU=${UNAME_MACHINE}
 	#else
 	CPU=
 	#endif
 	#endif
 EOF
-	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
-	    /^CPU/{
-		s: ::g
-		p
-	    }'`"
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
 	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
 	;;
     or32:Linux:*:*)
 	echo or32-unknown-linux-gnu
 	exit ;;
-    ppc:Linux:*:*)
-	echo powerpc-unknown-linux-gnu
-	exit ;;
-    ppc64:Linux:*:*)
-	echo powerpc64-unknown-linux-gnu
-	exit ;;
-    alpha:Linux:*:*)
-	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
-	  EV5)   UNAME_MACHINE=alphaev5 ;;
-	  EV56)  UNAME_MACHINE=alphaev56 ;;
-	  PCA56) UNAME_MACHINE=alphapca56 ;;
-	  PCA57) UNAME_MACHINE=alphapca56 ;;
-	  EV6)   UNAME_MACHINE=alphaev6 ;;
-	  EV67)  UNAME_MACHINE=alphaev67 ;;
-	  EV68*) UNAME_MACHINE=alphaev68 ;;
-        esac
-	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
-	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
-	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
-	exit ;;
     padre:Linux:*:*)
 	echo sparc-unknown-linux-gnu
 	exit ;;
+    parisc64:Linux:*:* | hppa64:Linux:*:*)
+	echo hppa64-unknown-linux-gnu
+	exit ;;
     parisc:Linux:*:* | hppa:Linux:*:*)
 	# Look for CPU level
 	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
@@ -946,8 +950,11 @@ EOF
 	  *)    echo hppa-unknown-linux-gnu ;;
 	esac
 	exit ;;
-    parisc64:Linux:*:* | hppa64:Linux:*:*)
-	echo hppa64-unknown-linux-gnu
+    ppc64:Linux:*:*)
+	echo powerpc64-unknown-linux-gnu
+	exit ;;
+    ppc:Linux:*:*)
+	echo powerpc-unknown-linux-gnu
 	exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
 	echo ${UNAME_MACHINE}-ibm-linux
@@ -970,66 +977,6 @@ EOF
     xtensa*:Linux:*:*)
     	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
-    i*86:Linux:*:*)
-	# The BFD linker knows what the default object file format is, so
-	# first see if it will tell us. cd to the root directory to prevent
-	# problems with other programs or directories called `ld' in the path.
-	# Set LC_ALL=C to ensure ld outputs messages in English.
-	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
-			 | sed -ne '/supported targets:/!d
-				    s/[ 	][ 	]*/ /g
-				    s/.*supported targets: *//
-				    s/ .*//
-				    p'`
-        case "$ld_supported_targets" in
-	  elf32-i386)
-		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
-		;;
-	  a.out-i386-linux)
-		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
-		exit ;;
-	  "")
-		# Either a pre-BFD a.out linker (linux-gnuoldld) or
-		# one that does not give us useful --help.
-		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
-		exit ;;
-	esac
-	# Determine whether the default compiler is a.out or elf
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#include <features.h>
-	#ifdef __ELF__
-	# ifdef __GLIBC__
-	#  if __GLIBC__ >= 2
-	LIBC=gnu
-	#  else
-	LIBC=gnulibc1
-	#  endif
-	# else
-	LIBC=gnulibc1
-	# endif
-	#else
-	#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
-	LIBC=gnu
-	#else
-	LIBC=gnuaout
-	#endif
-	#endif
-	#ifdef __dietlibc__
-	LIBC=dietlibc
-	#endif
-EOF
-	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
-	    /^LIBC/{
-		s: ::g
-		p
-	    }'`"
-	test x"${LIBC}" != x && {
-		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
-		exit
-	}
-	test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
-	;;
     i*86:DYNIX/ptx:4*:*)
 	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
 	# earlier versions are messed up and put the nodename in both
@@ -1058,7 +1005,7 @@ EOF
     i*86:syllable:*:*)
 	echo ${UNAME_MACHINE}-pc-syllable
 	exit ;;
-    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
 	echo i386-unknown-lynxos${UNAME_RELEASE}
 	exit ;;
     i*86:*DOS:*:*)
@@ -1102,8 +1049,11 @@ EOF
     pc:*:*:*)
 	# Left here for compatibility:
         # uname -m prints for DJGPP always 'pc', but it prints nothing about
-        # the processor, so we play safe by assuming i386.
-	echo i386-pc-msdosdjgpp
+        # the processor, so we play safe by assuming i586.
+	# Note: whatever this is, it MUST be the same as what config.sub
+	# prints for the "djgpp" host, or else GDB configury will decide that
+	# this is a cross-build.
+	echo i586-pc-msdosdjgpp
         exit ;;
     Intel:Mach:3*:*)
 	echo i386-pc-mach3
@@ -1141,6 +1091,16 @@ EOF
     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
           && { echo i486-ncr-sysv4; exit; } ;;
+    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+	OS_REL='.3'
+	test -r /etc/.relid \
+	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
 	echo m68k-unknown-lynxos${UNAME_RELEASE}
 	exit ;;
@@ -1153,7 +1113,7 @@ EOF
     rs6000:LynxOS:2.*:*)
 	echo rs6000-unknown-lynxos${UNAME_RELEASE}
 	exit ;;
-    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
+    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
 	echo powerpc-unknown-lynxos${UNAME_RELEASE}
 	exit ;;
     SM[BE]S:UNIX_SV:*:*)
@@ -1246,6 +1206,16 @@ EOF
     *:Darwin:*:*)
 	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
 	case $UNAME_PROCESSOR in
+	    i386)
+		eval $set_cc_for_build
+		if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+		  if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+		      (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		      grep IS_64BIT_ARCH >/dev/null
+		  then
+		      UNAME_PROCESSOR="x86_64"
+		  fi
+		fi ;;
 	    unknown) UNAME_PROCESSOR=powerpc ;;
 	esac
 	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
@@ -1327,6 +1297,9 @@ EOF
     i*86:rdos:*:*)
 	echo ${UNAME_MACHINE}-pc-rdos
 	exit ;;
+    i*86:AROS:*:*)
+	echo ${UNAME_MACHINE}-pc-aros
+	exit ;;
 esac
 
 #echo '(No uname command or uname output not recognized.)' 1>&2
diff --git a/Watchdog/config.h.in b/Watchdog/config.h.in
index ffccb43..ddbd1ca 100644
--- a/Watchdog/config.h.in
+++ b/Watchdog/config.h.in
@@ -4,6 +4,14 @@
    */
 #undef HAVE_DECL_GETENV
 
+/* Define to 1 if you have the declaration of `setitimer', and to 0 if you
+   don't. */
+#undef HAVE_DECL_SETITIMER
+
+/* Define to 1 if you have the declaration of `sigaction', and to 0 if you
+   don't. */
+#undef HAVE_DECL_SIGACTION
+
 /* Define to 1 if you have the <dlfcn.h> header file. */
 #undef HAVE_DLFCN_H
 
@@ -16,9 +24,6 @@
 /* Define to 1 if you have the <memory.h> header file. */
 #undef HAVE_MEMORY_H
 
-/* Define to 1 if you have the `setitimer' function. */
-#undef HAVE_SETITIMER
-
 /* Define to 1 if the system has the type `siginfo_t'. */
 #undef HAVE_SIGINFO_T
 
@@ -50,9 +55,6 @@
    */
 #undef LT_OBJDIR
 
-/* Assertions are disabled when this is defined */
-#undef NDEBUG
-
 /* Define to the address where bug reports for this package should be sent. */
 #undef PACKAGE_BUGREPORT
 
@@ -65,9 +67,15 @@
 /* Define to the one symbol short name of this package. */
 #undef PACKAGE_TARNAME
 
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
 /* Define to the version of this package. */
 #undef PACKAGE_VERSION
 
+/* Assertions are disabled when this is defined */
+#undef PWL_NDEBUG
+
 /* Define to 1 if you have the ANSI C header files. */
 #undef STDC_HEADERS
 
@@ -78,7 +86,7 @@
 #undef const
 
 
-#ifdef PWL_NDEBUG
+#if defined(PWL_NDEBUG) && !defined(NDEBUG)
 # define NDEBUG PWL_NDEBUG
 #endif
 
diff --git a/Watchdog/config.sub b/Watchdog/config.sub
index 053e738..204218c 100755
--- a/Watchdog/config.sub
+++ b/Watchdog/config.sub
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Configuration validation subroutine script.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
 #   Free Software Foundation, Inc.
 
-timestamp='2008-09-08'
+timestamp='2010-05-21'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -32,13 +32,16 @@ timestamp='2008-09-08'
 
 
 # Please send patches to <config-patches at gnu.org>.  Submit a context
-# diff and a properly formatted ChangeLog entry.
+# diff and a properly formatted GNU ChangeLog entry.
 #
 # Configuration subroutine to validate and canonicalize a configuration type.
 # Supply the specified configuration type as an argument.
 # If it is invalid, we print an error message on stderr and exit with code 1.
 # Otherwise, we print the canonical config type on stdout and succeed.
 
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
 # This file is supposed to be the same for all GNU packages
 # and recognize all the CPU types, system types and aliases
 # that are meaningful with *any* GNU software.
@@ -72,8 +75,9 @@ Report bugs and patches to <config-patches at gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
+Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -120,8 +124,10 @@ esac
 # Here we must recognize all the valid KERNEL-OS combinations.
 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
-  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
-  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
+  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+  knetbsd*-gnu* | netbsd*-gnu* | \
+  kopensolaris*-gnu* | \
   storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
@@ -148,10 +154,13 @@ case $os in
 	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
 	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
 	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-	-apple | -axis | -knuth | -cray)
+	-apple | -axis | -knuth | -cray | -microblaze)
 		os=
 		basic_machine=$1
 		;;
+        -bluegene*)
+	        os=-cnk
+		;;
 	-sim | -cisco | -oki | -wec | -winbond)
 		os=
 		basic_machine=$1
@@ -249,6 +258,7 @@ case $basic_machine in
 	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
 	| i370 | i860 | i960 | ia64 \
 	| ip2k | iq2000 \
+	| lm32 \
 	| m32c | m32r | m32rle | m68000 | m68k | m88k \
 	| maxq | mb | microblaze | mcore | mep | metag \
 	| mips | mipsbe | mipseb | mipsel | mipsle \
@@ -270,6 +280,7 @@ case $basic_machine in
 	| mipsisa64sr71k | mipsisa64sr71kel \
 	| mipstx39 | mipstx39el \
 	| mn10200 | mn10300 \
+	| moxie \
 	| mt \
 	| msp430 \
 	| nios | nios2 \
@@ -278,20 +289,31 @@ case $basic_machine in
 	| pdp10 | pdp11 | pj | pjl \
 	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
 	| pyramid \
+	| rx \
 	| score \
-	| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
 	| sh64 | sh64le \
 	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
 	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
 	| spu | strongarm \
-	| tahoe | thumb | tic4x | tic80 | tron \
+	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
+	| ubicom32 \
 	| v850 | v850e \
 	| we32k \
 	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
 	| z8k | z80)
 		basic_machine=$basic_machine-unknown
 		;;
-	m6811 | m68hc11 | m6812 | m68hc12)
+	c54x)
+		basic_machine=tic54x-unknown
+		;;
+	c55x)
+		basic_machine=tic55x-unknown
+		;;
+	c6x)
+		basic_machine=tic6x-unknown
+		;;
+	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
 		# Motorola 68HC11/12.
 		basic_machine=$basic_machine-unknown
 		os=-none
@@ -322,7 +344,7 @@ case $basic_machine in
 	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
 	| avr-* | avr32-* \
 	| bfin-* | bs2000-* \
-	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+	| c[123]* | c30-* | [cjt]90-* | c4x-* \
 	| clipper-* | craynv-* | cydra-* \
 	| d10v-* | d30v-* | dlx-* \
 	| elxsi-* \
@@ -331,9 +353,10 @@ case $basic_machine in
 	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
 	| i*86-* | i860-* | i960-* | ia64-* \
 	| ip2k-* | iq2000-* \
+	| lm32-* \
 	| m32c-* | m32r-* | m32rle-* \
 	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
 	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
 	| mips16-* \
 	| mips64-* | mips64el-* \
@@ -361,15 +384,17 @@ case $basic_machine in
 	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
 	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
 	| pyramid-* \
-	| romp-* | rs6000-* \
-	| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+	| romp-* | rs6000-* | rx-* \
+	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
 	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
 	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
 	| sparclite-* \
 	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
 	| tahoe-* | thumb-* \
-	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
+	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+	| tile-* | tilegx-* \
 	| tron-* \
+	| ubicom32-* \
 	| v850-* | v850e-* | vax-* \
 	| we32k-* \
 	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
@@ -443,6 +468,10 @@ case $basic_machine in
 		basic_machine=m68k-apollo
 		os=-bsd
 		;;
+	aros)
+		basic_machine=i386-pc
+		os=-aros
+		;;
 	aux)
 		basic_machine=m68k-apple
 		os=-aux
@@ -459,6 +488,19 @@ case $basic_machine in
 		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
 		os=-linux
 		;;
+	bluegene*)
+		basic_machine=powerpc-ibm
+		os=-cnk
+		;;
+	c54x-*)
+		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	c55x-*)
+		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	c6x-*)
+		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
 	c90)
 		basic_machine=c90-cray
 		os=-unicos
@@ -711,6 +753,9 @@ case $basic_machine in
 		basic_machine=ns32k-utek
 		os=-sysv
 		;;
+        microblaze)
+		basic_machine=microblaze-xilinx
+		;;
 	mingw32)
 		basic_machine=i386-pc
 		os=-mingw32
@@ -1049,17 +1094,10 @@ case $basic_machine in
 		basic_machine=t90-cray
 		os=-unicos
 		;;
-	tic54x | c54x*)
-		basic_machine=tic54x-unknown
-		os=-coff
-		;;
-	tic55x | c55x*)
-		basic_machine=tic55x-unknown
-		os=-coff
-		;;
-	tic6x | c6x*)
-		basic_machine=tic6x-unknown
-		os=-coff
+        # This must be matched before tile*.
+        tilegx*)
+		basic_machine=tilegx-unknown
+		os=-linux-gnu
 		;;
 	tile*)
 		basic_machine=tile-unknown
@@ -1182,7 +1220,7 @@ case $basic_machine in
 	we32k)
 		basic_machine=we32k-att
 		;;
-	sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
+	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
 		basic_machine=sh-unknown
 		;;
 	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
@@ -1232,6 +1270,9 @@ case $os in
         # First match some system type aliases
         # that might get confused with valid system types.
 	# -solaris* is a basic system type, with this one exception.
+        -auroraux)
+	        os=-auroraux
+		;;
 	-solaris1 | -solaris1.*)
 		os=`echo $os | sed -e 's|solaris1|sunos4|'`
 		;;
@@ -1252,10 +1293,11 @@ case $os in
 	# Each alternative MUST END IN A *, to match a version number.
 	# -sysv* is not here because it comes later, after sysvr4.
 	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
-	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
-	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
+	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
+	      | -sym* | -kopensolaris* \
 	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-	      | -aos* \
+	      | -aos* | -aros* \
 	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
 	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
 	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
@@ -1266,7 +1308,8 @@ case $os in
 	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
 	      | -chorusos* | -chorusrdb* | -cegcc* \
 	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-	      | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+	      | -mingw32* | -linux-gnu* | -linux-android* \
+	      | -linux-newlib* | -linux-uclibc* \
 	      | -uxpv* | -beos* | -mpeix* | -udk* \
 	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
 	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
@@ -1274,7 +1317,7 @@ case $os in
 	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
 	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
 	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
+	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
 	# Remember, each alternative MUST END IN *, to match a version number.
 		;;
 	-qnx*)
@@ -1407,6 +1450,8 @@ case $os in
 	-dicos*)
 		os=-dicos
 		;;
+        -nacl*)
+	        ;;
 	-none)
 		;;
 	*)
@@ -1447,6 +1492,15 @@ case $basic_machine in
         c4x-* | tic4x-*)
         	os=-coff
 		;;
+	tic54x-*)
+		os=-coff
+		;;
+	tic55x-*)
+		os=-coff
+		;;
+	tic6x-*)
+		os=-coff
+		;;
 	# This must come before the *-dec entry.
 	pdp10-*)
 		os=-tops20
@@ -1604,7 +1658,7 @@ case $basic_machine in
 			-sunos*)
 				vendor=sun
 				;;
-			-aix*)
+			-cnk*|-aix*)
 				vendor=ibm
 				;;
 			-beos*)
diff --git a/Watchdog/configure b/Watchdog/configure
index fe04510..4f296bd 100755
--- a/Watchdog/configure
+++ b/Watchdog/configure
@@ -1,20 +1,24 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63 for the Parma Watchdog Library 0.7.
+# Generated by GNU Autoconf 2.67 for the Parma Watchdog Library 0.8.
 #
 # Report bugs to <bagnara at cs.unipr.it>.
 #
+#
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
+# Foundation, Inc.
+#
+#
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
-## --------------------- ##
-## M4sh Initialization.  ##
-## --------------------- ##
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
 
 # Be more Bourne compatible
 DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
   NULLCMD=:
   # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
@@ -22,23 +26,15 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
 else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
 esac
-
 fi
 
 
-
-
-# PATH needs CR
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
 as_nl='
 '
 export as_nl
@@ -46,7 +42,13 @@ export as_nl
 as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
 as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
 as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
   as_echo='printf %s\n'
   as_echo_n='printf %s'
 else
@@ -57,7 +59,7 @@ else
     as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
     as_echo_n_body='eval
       arg=$1;
-      case $arg in
+      case $arg in #(
       *"$as_nl"*)
 	expr "X$arg" : "X\\(.*\\)$as_nl";
 	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
@@ -80,13 +82,6 @@ if test "${PATH_SEPARATOR+set}" != set; then
   }
 fi
 
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  as_unset=unset
-else
-  as_unset=false
-fi
-
 
 # IFS
 # We need space, tab and new line, in precisely that order.  Quoting is
@@ -96,15 +91,15 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
-case $0 in
+case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
+    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  done
 IFS=$as_save_IFS
 
      ;;
@@ -116,12 +111,16 @@ if test "x$as_myself" = x; then
 fi
 if test ! -f "$as_myself"; then
   $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  { (exit 1); exit 1; }
+  exit 1
 fi
 
-# Work around bugs in pre-3.0 UWIN ksh.
-for as_var in ENV MAIL MAILPATH
-do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
 done
 PS1='$ '
 PS2='> '
@@ -133,7 +132,257 @@ export LC_ALL
 LANGUAGE=C
 export LANGUAGE
 
-# Required to use basename.
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test "x$CONFIG_SHELL" = x; then
+  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '\${1+\"\$@\"}'='\"\$@\"'
+  setopt NO_GLOB_SUBST
+else
+  case \`(set -o) 2>/dev/null\` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+"
+  as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
+else
+  exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1"
+  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1
+
+  test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
+    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
+    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
+    PATH=/empty FPATH=/empty; export PATH FPATH
+    test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
+      || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1"
+  if (eval "$as_required") 2>/dev/null; then :
+  as_have_required=yes
+else
+  as_have_required=no
+fi
+  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  as_found=:
+  case $as_dir in #(
+	 /*)
+	   for as_base in sh bash ksh sh5; do
+	     # Try only shells that exist, to save several forks.
+	     as_shell=$as_dir/$as_base
+	     if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+		    { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  CONFIG_SHELL=$as_shell as_have_required=yes
+		   if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  break 2
+fi
+fi
+	   done;;
+       esac
+  as_found=false
+done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+	      { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+  CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
+IFS=$as_save_IFS
+
+
+      if test "x$CONFIG_SHELL" != x; then :
+  # We cannot yet assume a decent shell, so we have to provide a
+	# neutralization value for shells without unset; and this also
+	# works around shells that cannot unset nonexistent variables.
+	BASH_ENV=/dev/null
+	ENV=/dev/null
+	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+	export CONFIG_SHELL
+	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+    if test x$as_have_required = xno; then :
+  $as_echo "$0: This script requires a shell more modern than all"
+  $as_echo "$0: the shells that I found on your system."
+  if test x${ZSH_VERSION+set} = xset ; then
+    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+  else
+    $as_echo "$0: Please tell bug-autoconf at gnu.org and
+$0: bagnara at cs.unipr.it about your system, including any
+$0: error possibly output before this message. Then install
+$0: a modern shell, or manually run the script under such a
+$0: shell if you do have one."
+  fi
+  exit 1
+fi
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
+else
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+  fi
+  $as_echo "$as_me: error: $2" >&2
+  as_fn_exit $as_status
+} # as_fn_error
+
 if expr a : '\(a\)' >/dev/null 2>&1 &&
    test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
@@ -147,8 +396,12 @@ else
   as_basename=false
 fi
 
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
 
-# Name of the executable.
 as_me=`$as_basename -- "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
 	 X"$0" : 'X\(//\)$' \| \
@@ -168,4553 +421,2512 @@ $as_echo X/"$0" |
 	  }
 	  s/.*/./; q'`
 
-# CDPATH.
-$as_unset CDPATH
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
 
 
-if test "x$CONFIG_SHELL" = x; then
-  if (eval ":") 2>/dev/null; then
-  as_have_required=yes
-else
-  as_have_required=no
-fi
+  as_lineno_1=$LINENO as_lineno_1a=$LINENO
+  as_lineno_2=$LINENO as_lineno_2a=$LINENO
+  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
+    sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
+      N
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+      t loop
+      s/-\n.*//
+    ' >$as_me.lineno &&
+  chmod +x "$as_me.lineno" ||
+    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
-  if test $as_have_required = yes &&	 (eval ":
-(as_func_return () {
-  (exit \$1)
-}
-as_func_success () {
-  as_func_return 0
-}
-as_func_failure () {
-  as_func_return 1
-}
-as_func_ret_success () {
-  return 0
-}
-as_func_ret_failure () {
-  return 1
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
+  # Exit status is that of the last command.
+  exit
 }
 
-exitcode=0
-if as_func_success; then
-  :
-else
-  exitcode=1
-  echo as_func_success failed.
-fi
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+  case `echo 'xy\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='	';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
 
-if as_func_failure; then
-  exitcode=1
-  echo as_func_failure succeeded.
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir 2>/dev/null
 fi
-
-if as_func_ret_success; then
-  :
+if (echo >conf$$.file) 2>/dev/null; then
+  if ln -s conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s='ln -s'
+    # ... but there are two gotchas:
+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+    # In both cases, we have to default to `cp -p'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -p'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
+    as_ln_s='cp -p'
+  fi
 else
-  exitcode=1
-  echo as_func_ret_success failed.
+  as_ln_s='cp -p'
 fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
 
-if as_func_ret_failure; then
-  exitcode=1
-  echo as_func_ret_failure succeeded.
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p='mkdir -p "$as_dir"'
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
 fi
 
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
-  :
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
 else
-  exitcode=1
-  echo positional parameters were not saved.
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+	test -d "$1/.";
+      else
+	case $1 in #(
+	-*)set "./$1";;
+	esac;
+	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+	???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
 fi
+as_executable_p=$as_test_x
 
-test \$exitcode = 0) || { (exit 1); exit 1; }
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
 
-(
-  as_lineno_1=\$LINENO
-  as_lineno_2=\$LINENO
-  test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
-  test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
-") 2> /dev/null; then
-  :
-else
-  as_candidate_shells=
-    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  case $as_dir in
-	 /*)
-	   for as_base in sh bash ksh sh5; do
-	     as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
-	   done;;
-       esac
-done
-IFS=$as_save_IFS
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
+SHELL=${CONFIG_SHELL-/bin/sh}
 
-      for as_shell in $as_candidate_shells $SHELL; do
-	 # Try only shells that exist, to save several forks.
-	 if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-		{ ("$as_shell") 2> /dev/null <<\_ASEOF
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
-esac
-
-fi
-
-
-:
-_ASEOF
-}; then
-  CONFIG_SHELL=$as_shell
-	       as_have_required=yes
-	       if { "$as_shell" 2> /dev/null <<\_ASEOF
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
-esac
-
-fi
-
-
-:
-(as_func_return () {
-  (exit $1)
-}
-as_func_success () {
-  as_func_return 0
-}
-as_func_failure () {
-  as_func_return 1
-}
-as_func_ret_success () {
-  return 0
-}
-as_func_ret_failure () {
-  return 1
-}
-
-exitcode=0
-if as_func_success; then
-  :
-else
-  exitcode=1
-  echo as_func_success failed.
-fi
-
-if as_func_failure; then
-  exitcode=1
-  echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
-  :
-else
-  exitcode=1
-  echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
-  exitcode=1
-  echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = "$1" ); then
-  :
-else
-  exitcode=1
-  echo positional parameters were not saved.
-fi
-
-test $exitcode = 0) || { (exit 1); exit 1; }
-
-(
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
-
-_ASEOF
-}; then
-  break
-fi
-
-fi
-
-      done
-
-      if test "x$CONFIG_SHELL" != x; then
-  for as_var in BASH_ENV ENV
-	do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-	done
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
-fi
-
-
-    if test $as_have_required = no; then
-  echo This script requires a shell more modern than all the
-      echo shells that I found on your system.  Please install a
-      echo modern shell, or manually run the script under such a
-      echo shell if you do have one.
-      { (exit 1); exit 1; }
-fi
-
-
-fi
-
-fi
-
-
-
-(eval "as_func_return () {
-  (exit \$1)
-}
-as_func_success () {
-  as_func_return 0
-}
-as_func_failure () {
-  as_func_return 1
-}
-as_func_ret_success () {
-  return 0
-}
-as_func_ret_failure () {
-  return 1
-}
-
-exitcode=0
-if as_func_success; then
-  :
-else
-  exitcode=1
-  echo as_func_success failed.
-fi
-
-if as_func_failure; then
-  exitcode=1
-  echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
-  :
-else
-  exitcode=1
-  echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
-  exitcode=1
-  echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
-  :
-else
-  exitcode=1
-  echo positional parameters were not saved.
-fi
-
-test \$exitcode = 0") || {
-  echo No shell found that supports shell functions.
-  echo Please tell bug-autoconf at gnu.org about your system,
-  echo including any error possibly output before this message.
-  echo This can help us improve future autoconf versions.
-  echo Configuration will now proceed without shell functions.
-}
-
-
-
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-
-  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
-  # uniformly replaced by the line number.  The first 'sed' inserts a
-  # line-number line after each line using $LINENO; the second 'sed'
-  # does the real work.  The second script uses 'N' to pair each
-  # line-number line with the line containing $LINENO, and appends
-  # trailing '-' during substitution so that $LINENO is not a special
-  # case at line end.
-  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-  # scripts with optimization help from Paolo Bonzini.  Blame Lee
-  # E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
-   { (exit 1); exit 1; }; }
-
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in
--n*)
-  case `echo 'x\c'` in
-  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
-  *)   ECHO_C='\c';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p=:
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-
-
-# Check that we are running under the correct shell.
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-case X$lt_ECHO in
-X*--fallback-echo)
-  # Remove one level of quotation (which was required for Make).
-  ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','`
-  ;;
-esac
-
-ECHO=${lt_ECHO-echo}
-if test "X$1" = X--no-reexec; then
-  # Discard the --no-reexec flag, and continue.
-  shift
-elif test "X$1" = X--fallback-echo; then
-  # Avoid inline document here, it may be left over
-  :
-elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
-  # Yippee, $ECHO works!
-  :
-else
-  # Restart under the correct shell.
-  exec $SHELL "$0" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
-  # used as fallback echo
-  shift
-  cat <<_LT_EOF
-$*
-_LT_EOF
-  exit 0
-fi
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test -z "$lt_ECHO"; then
-  if test "X${echo_test_string+set}" != Xset; then
-    # find a string as large as possible, as long as the shell can cope with it
-    for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
-      # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
-      if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
-	 { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
-      then
-        break
-      fi
-    done
-  fi
-
-  if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
-     echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
-     test "X$echo_testing_string" = "X$echo_test_string"; then
-    :
-  else
-    # The Solaris, AIX, and Digital Unix default echo programs unquote
-    # backslashes.  This makes it impossible to quote backslashes using
-    #   echo "$something" | sed 's/\\/\\\\/g'
-    #
-    # So, first we look for a working echo in the user's PATH.
-
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for dir in $PATH /usr/ucb; do
-      IFS="$lt_save_ifs"
-      if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
-         test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
-         echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
-         test "X$echo_testing_string" = "X$echo_test_string"; then
-        ECHO="$dir/echo"
-        break
-      fi
-    done
-    IFS="$lt_save_ifs"
-
-    if test "X$ECHO" = Xecho; then
-      # We didn't find a better echo, so look for alternatives.
-      if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
-         echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
-         test "X$echo_testing_string" = "X$echo_test_string"; then
-        # This shell has a builtin print -r that does the trick.
-        ECHO='print -r'
-      elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
-	   test "X$CONFIG_SHELL" != X/bin/ksh; then
-        # If we have ksh, try running configure again with it.
-        ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-        export ORIGINAL_CONFIG_SHELL
-        CONFIG_SHELL=/bin/ksh
-        export CONFIG_SHELL
-        exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
-      else
-        # Try using printf.
-        ECHO='printf %s\n'
-        if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
-	   echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
-	   test "X$echo_testing_string" = "X$echo_test_string"; then
-	  # Cool, printf works
-	  :
-        elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
-	     test "X$echo_testing_string" = 'X\t' &&
-	     echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-	     test "X$echo_testing_string" = "X$echo_test_string"; then
-	  CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
-	  export CONFIG_SHELL
-	  SHELL="$CONFIG_SHELL"
-	  export SHELL
-	  ECHO="$CONFIG_SHELL $0 --fallback-echo"
-        elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
-	     test "X$echo_testing_string" = 'X\t' &&
-	     echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-	     test "X$echo_testing_string" = "X$echo_test_string"; then
-	  ECHO="$CONFIG_SHELL $0 --fallback-echo"
-        else
-	  # maybe with a smaller string...
-	  prev=:
-
-	  for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
-	    if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
-	    then
-	      break
-	    fi
-	    prev="$cmd"
-	  done
-
-	  if test "$prev" != 'sed 50q "$0"'; then
-	    echo_test_string=`eval $prev`
-	    export echo_test_string
-	    exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
-	  else
-	    # Oops.  We lost completely, so just stick with echo.
-	    ECHO=echo
-	  fi
-        fi
-      fi
-    fi
-  fi
-fi
-
-# Copy echo and quote the copy suitably for passing to libtool from
-# the Makefile, instead of quoting the original, which is used later.
-lt_ECHO=$ECHO
-if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
-   lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
-fi
-
-
-
-
-exec 7<&0 </dev/null 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-# Identity of this package.
-PACKAGE_NAME='the Parma Watchdog Library'
-PACKAGE_TARNAME='pwl'
-PACKAGE_VERSION='0.7'
-PACKAGE_STRING='the Parma Watchdog Library 0.7'
-PACKAGE_BUGREPORT='bagnara at cs.unipr.it'
-
-ac_unique_file="src/Watchdog.cc"
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='LTLIBOBJS
-LIBOBJS
-debug_flag
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-lt_ECHO
-RANLIB
-AR
-OBJDUMP
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-LIBTOOL
-EGREP
-GREP
-CPP
-BUILD_WATCHDOG_LIBRARY_FALSE
-BUILD_WATCHDOG_LIBRARY_TRUE
-VALGRIND_TESTS_ENABLED_FALSE
-VALGRIND_TESTS_ENABLED_TRUE
-VALGRIND
-HAVE_PERL_FALSE
-HAVE_PERL_TRUE
-PERL
-NO_UNDEFINED_FALSE
-NO_UNDEFINED_TRUE
-CXXCPP
-SED
-am__fastdepCXX_FALSE
-am__fastdepCXX_TRUE
-CXXDEPMODE
-ac_ct_CXX
-CXXFLAGS
-CXX
-GCC_FALSE
-GCC_TRUE
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-ISODATE
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-with_cc
-with_cxx
-enable_dependency_tracking
-with_gnu_ld
-enable_rpath
-enable_debugging
-enable_profiling
-enable_coverage
-enable_assertions
-enable_optimization
-enable_arch
-with_cflags
-with_cxxflags
-enable_valgrind_tests
-enable_watchdog
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-enable_libtool_lock
-'
-      ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CXX
-CXXFLAGS
-CCC
-CXXCPP
-CPP'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval $ac_prev=\$ac_option
-    ac_prev=
-    continue
-  fi
-
-  case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case $ac_dashdash$ac_option in
-  --)
-    ac_dashdash=yes ;;
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir=$ac_optarg ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build_alias ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build_alias=$ac_optarg ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file=$ac_optarg ;;
-
-  --config-cache | -C)
-    cache_file=config.cache ;;
-
-  -datadir | --datadir | --datadi | --datad)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=*)
-    datadir=$ac_optarg ;;
-
-  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-  | --dataroo | --dataro | --datar)
-    ac_prev=datarootdir ;;
-  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-    datarootdir=$ac_optarg ;;
-
-  -disable-* | --disable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
-   { (exit 1); exit 1; }; }
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
-	 ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=no ;;
-
-  -docdir | --docdir | --docdi | --doc | --do)
-    ac_prev=docdir ;;
-  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-    docdir=$ac_optarg ;;
-
-  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-    ac_prev=dvidir ;;
-  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-    dvidir=$ac_optarg ;;
-
-  -enable-* | --enable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
-   { (exit 1); exit 1; }; }
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
-	 ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=\$ac_optarg ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix=$ac_optarg ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he | -h)
-    ac_init_help=long ;;
-  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-    ac_init_help=recursive ;;
-  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-    ac_init_help=short ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host_alias ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host_alias=$ac_optarg ;;
-
-  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-    ac_prev=htmldir ;;
-  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-  | --ht=*)
-    htmldir=$ac_optarg ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir=$ac_optarg ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir=$ac_optarg ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir=$ac_optarg ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir=$ac_optarg ;;
-
-  -localedir | --localedir | --localedi | --localed | --locale)
-    ac_prev=localedir ;;
-  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-    localedir=$ac_optarg ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst | --locals)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
-    localstatedir=$ac_optarg ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir=$ac_optarg ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c | -n)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir=$ac_optarg ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix=$ac_optarg ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix=$ac_optarg ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix=$ac_optarg ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name=$ac_optarg ;;
-
-  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-    ac_prev=pdfdir ;;
-  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-    pdfdir=$ac_optarg ;;
-
-  -psdir | --psdir | --psdi | --psd | --ps)
-    ac_prev=psdir ;;
-  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-    psdir=$ac_optarg ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir=$ac_optarg ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir=$ac_optarg ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site=$ac_optarg ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir=$ac_optarg ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir=$ac_optarg ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target_alias ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target_alias=$ac_optarg ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers | -V)
-    ac_init_version=: ;;
-
-  -with-* | --with-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
-   { (exit 1); exit 1; }; }
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
-	 ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=\$ac_optarg ;;
-
-  -without-* | --without-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
-   { (exit 1); exit 1; }; }
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
-	 ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=no ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes=$ac_optarg ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries=$ac_optarg ;;
-
-  -*) { $as_echo "$as_me: error: unrecognized option: $ac_option
-Try \`$0 --help' for more information." >&2
-   { (exit 1); exit 1; }; }
-    ;;
-
-  *=*)
-    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
-      { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2
-   { (exit 1); exit 1; }; }
-    eval $ac_envvar=\$ac_optarg
-    export $ac_envvar ;;
-
-  *)
-    # FIXME: should be removed in autoconf 3.0.
-    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  { $as_echo "$as_me: error: missing argument to $ac_option" >&2
-   { (exit 1); exit 1; }; }
-fi
-
-if test -n "$ac_unrecognized_opts"; then
-  case $enable_option_checking in
-    no) ;;
-    fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2
-   { (exit 1); exit 1; }; } ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
-  esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
-		datadir sysconfdir sharedstatedir localstatedir includedir \
-		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-		libdir localedir mandir
-do
-  eval ac_val=\$$ac_var
-  # Remove trailing slashes.
-  case $ac_val in
-    */ )
-      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
-      eval $ac_var=\$ac_val;;
-  esac
-  # Be sure to have absolute directory names.
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* )  continue;;
-    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-  esac
-  { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-   { (exit 1); exit 1; }; }
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
-  if test "x$build_alias" = x; then
-    cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
-  elif test "x$build_alias" != "x$host_alias"; then
-    cross_compiling=yes
-  fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  { $as_echo "$as_me: error: working directory cannot be determined" >&2
-   { (exit 1); exit 1; }; }
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  { $as_echo "$as_me: error: pwd does not report name of working directory" >&2
-   { (exit 1); exit 1; }; }
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then the parent directory.
-  ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$as_myself" : 'X\(//\)[^/]' \| \
-	 X"$as_myself" : 'X\(//\)$' \| \
-	 X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-  srcdir=$ac_confdir
-  if test ! -r "$srcdir/$ac_unique_file"; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
-  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
-   { (exit 1); exit 1; }; }
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2
-   { (exit 1); exit 1; }; }
-	pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
-  srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
-  eval ac_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_env_${ac_var}_value=\$${ac_var}
-  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
-  # Omit some internal or obsolete options to make the list less imposing.
-  # This message is too long to be a string in the A/UX 3.1 sh.
-  cat <<_ACEOF
-\`configure' configures the Parma Watchdog Library 0.7 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE.  See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
-  -h, --help              display this help and exit
-      --help=short        display options specific to this package
-      --help=recursive    display the short help of all the included packages
-  -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
-      --cache-file=FILE   cache test results in FILE [disabled]
-  -C, --config-cache      alias for \`--cache-file=config.cache'
-  -n, --no-create         do not create output files
-      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
-
-Installation directories:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          [$ac_default_prefix]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
-  --bindir=DIR            user executables [EPREFIX/bin]
-  --sbindir=DIR           system admin executables [EPREFIX/sbin]
-  --libexecdir=DIR        program executables [EPREFIX/libexec]
-  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --libdir=DIR            object code libraries [EPREFIX/lib]
-  --includedir=DIR        C header files [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
-  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
-  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
-  --infodir=DIR           info documentation [DATAROOTDIR/info]
-  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
-  --mandir=DIR            man documentation [DATAROOTDIR/man]
-  --docdir=DIR            documentation root [DATAROOTDIR/doc/pwl]
-  --htmldir=DIR           html documentation [DOCDIR]
-  --dvidir=DIR            dvi documentation [DOCDIR]
-  --pdfdir=DIR            pdf documentation [DOCDIR]
-  --psdir=DIR             ps documentation [DOCDIR]
-_ACEOF
-
-  cat <<\_ACEOF
-
-Program names:
-  --program-prefix=PREFIX            prepend PREFIX to installed program names
-  --program-suffix=SUFFIX            append SUFFIX to installed program names
-  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
-
-System types:
-  --build=BUILD     configure for building on BUILD [guessed]
-  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-  case $ac_init_help in
-     short | recursive ) echo "Configuration of the Parma Watchdog Library 0.7:";;
-   esac
-  cat <<\_ACEOF
-
-Optional Features:
-  --disable-option-checking  ignore unrecognized --enable/--with options
-  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors
-  --disable-rpath         do not hardcode runtime library paths
-  --enable-debugging      compile with debugging information
-  --enable-profiling      compile for profiling
-  --enable-coverage       compile for test coverage
-  --enable-assertions     check run-time assertions
-  --enable-optimization   enable compiler optimizations
-  --enable-arch=arch      optimize for architecture arch
-  --enable-valgrind-tests run library tests under Valgrind
-  --enable-watchdog       build also the Parma Watchdog Library
-  --enable-shared[=PKGS]  build shared libraries [default=yes]
-  --enable-static[=PKGS]  build static libraries [default=yes]
-  --enable-fast-install[=PKGS]
-                          optimize for fast installation [default=yes]
-  --disable-libtool-lock  avoid locking (might break parallel builds)
-
-Optional Packages:
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-cc=XXX           use XXX as the C compiler
-  --with-cxx=XXX          use XXX as the C++ compiler
-  --with-gnu-ld           assume the C compiler uses GNU ld default=no
-  --with-cflags=xxx       add XXX to the options for the C compiler
-  --with-cxxflags=xxx     add XXX to the options for the C++ compiler
-  --with-pic              try to use only PIC/non-PIC objects [default=use
-                          both]
-  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
-
-Some influential environment variables:
-  CC          C compiler command
-  CFLAGS      C compiler flags
-  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
-              nonstandard directory <lib dir>
-  LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
-              you have headers in a nonstandard directory <include dir>
-  CXX         C++ compiler command
-  CXXFLAGS    C++ compiler flags
-  CXXCPP      C++ preprocessor
-  CPP         C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <bagnara at cs.unipr.it>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
-  # If there are subdirs, report their specific --help.
-  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d "$ac_dir" ||
-      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
-      continue
-    ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-    cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
-    if test -f "$ac_srcdir/configure.gnu"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-    elif test -f "$ac_srcdir/configure"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure" --help=recursive
-    else
-      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi || ac_status=$?
-    cd "$ac_pwd" || { ac_status=$?; break; }
-  done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
-  cat <<\_ACEOF
-the Parma Watchdog Library configure 0.7
-generated by GNU Autoconf 2.63
-
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
-  exit
-fi
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by the Parma Watchdog Library $as_me 0.7, which was
-generated by GNU Autoconf 2.63.  Invocation command line was
-
-  $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
-
-/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
-/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
-/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  $as_echo "PATH: $as_dir"
-done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
-  for ac_arg
-  do
-    case $ac_arg in
-    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-    | -silent | --silent | --silen | --sile | --sil)
-      continue ;;
-    *\'*)
-      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    case $ac_pass in
-    1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
-    2)
-      ac_configure_args1="$ac_configure_args1 '$ac_arg'"
-      if test $ac_must_keep_next = true; then
-	ac_must_keep_next=false # Got value, back to normal.
-      else
-	case $ac_arg in
-	  *=* | --config-cache | -C | -disable-* | --disable-* \
-	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-	  | -with-* | --with-* | -without-* | --without-* | --x)
-	    case "$ac_configure_args0 " in
-	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-	    esac
-	    ;;
-	  -* ) ac_must_keep_next=true ;;
-	esac
-      fi
-      ac_configure_args="$ac_configure_args '$ac_arg'"
-      ;;
-    esac
-  done
-done
-$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
-$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log.  We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
-  # Save into config.log some information that might help in debugging.
-  {
-    echo
-
-    cat <<\_ASBOX
-## ---------------- ##
-## Cache variables. ##
-## ---------------- ##
-_ASBOX
-    echo
-    # The following way of writing the cache mishandles newlines in values,
-(
-  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) $as_unset $ac_var ;;
-      esac ;;
-    esac
-  done
-  (set) 2>&1 |
-    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      sed -n \
-	"s/'\''/'\''\\\\'\'''\''/g;
-	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-      ;; #(
-    *)
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-)
-    echo
-
-    cat <<\_ASBOX
-## ----------------- ##
-## Output variables. ##
-## ----------------- ##
-_ASBOX
-    echo
-    for ac_var in $ac_subst_vars
-    do
-      eval ac_val=\$$ac_var
-      case $ac_val in
-      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-      esac
-      $as_echo "$ac_var='\''$ac_val'\''"
-    done | sort
-    echo
-
-    if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
-## File substitutions. ##
-## ------------------- ##
-_ASBOX
-      echo
-      for ac_var in $ac_subst_files
-      do
-	eval ac_val=\$$ac_var
-	case $ac_val in
-	*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-	esac
-	$as_echo "$ac_var='\''$ac_val'\''"
-      done | sort
-      echo
-    fi
-
-    if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
-## confdefs.h. ##
-## ----------- ##
-_ASBOX
-      echo
-      cat confdefs.h
-      echo
-    fi
-    test "$ac_signal" != 0 &&
-      $as_echo "$as_me: caught signal $ac_signal"
-    $as_echo "$as_me: exit $exit_status"
-  } >&5
-  rm -f core *.core core.conftest.* &&
-    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-    exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
-  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
-elif test "x$prefix" != xNONE; then
-  ac_site_file1=$prefix/share/config.site
-  ac_site_file2=$prefix/etc/config.site
-else
-  ac_site_file1=$ac_default_prefix/share/config.site
-  ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
-  test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
-    { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
-    sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
-  fi
-done
-
-if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
-    { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
-    case $cache_file in
-      [\\/]* | ?:[\\/]* ) . "$cache_file";;
-      *)                      . "./$cache_file";;
-    esac
-  fi
-else
-  { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
-  >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
-  eval ac_old_set=\$ac_cv_env_${ac_var}_set
-  eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-  eval ac_new_val=\$ac_env_${ac_var}_value
-  case $ac_old_set,$ac_new_set in
-    set,)
-      { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,set)
-      { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,);;
-    *)
-      if test "x$ac_old_val" != "x$ac_new_val"; then
-	# differences in whitespace do not lead to failure.
-	ac_old_val_w=`echo x $ac_old_val`
-	ac_new_val_w=`echo x $ac_new_val`
-	if test "$ac_old_val_w" != "$ac_new_val_w"; then
-	  { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-	  ac_cache_corrupted=:
-	else
-	  { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
-	  eval $ac_var=\$ac_old_val
-	fi
-	{ $as_echo "$as_me:$LINENO:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-	{ $as_echo "$as_me:$LINENO:   current value: \`$ac_new_val'" >&5
-$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
-      fi;;
-  esac
-  # Pass precious variables to config.status.
-  if test "$ac_new_set" = set; then
-    case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-    *) ac_arg=$ac_var=$ac_new_val ;;
-    esac
-    case " $ac_configure_args " in
-      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
-    esac
-  fi
-done
-if $ac_cache_corrupted; then
-  { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-# Minimum Autoconf version required.
-
-
-# Make sure the sources are there.
-
-
-# Specify the location of additional local Autoconf macros.
-
-
-# Determine the system type and set output variables to the names of
-# the canonical system types.
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  if test -f "$ac_dir/install-sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install-sh -c"
-    break
-  elif test -f "$ac_dir/install.sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install.sh -c"
-    break
-  elif test -f "$ac_dir/shtool"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/shtool install -c"
-    break
-  fi
-done
-if test -z "$ac_aux_dir"; then
-  { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
-$as_echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
-$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
-   { (exit 1); exit 1; }; }
-
-{ $as_echo "$as_me:$LINENO: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
-  { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
-$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
-   { (exit 1); exit 1; }; }
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
-$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
-   { (exit 1); exit 1; }; }
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
-$as_echo "$as_me: error: invalid value of canonical build" >&2;}
-   { (exit 1); exit 1; }; };;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:$LINENO: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$host_alias" = x; then
-  ac_cv_host=$ac_cv_build
-else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
-$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
-$as_echo "$as_me: error: invalid value of canonical host" >&2;}
-   { (exit 1); exit 1; }; };;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-
-# Use Automake.
-am__api_version='1.10'
-
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in
-  ./ | .// | /cC/* | \
-  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
-  /usr/ucb/* ) ;;
-  *)
-    # OSF1 and SCO ODT 3.0 have their own names for install.
-    # Don't use installbsd from OSF since it installs stuff as root
-    # by default.
-    for ac_prog in ginstall scoinst install; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
-	  if test $ac_prog = install &&
-	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-	    # AIX install.  It has an incompatible calling convention.
-	    :
-	  elif test $ac_prog = install &&
-	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-	    # program-specific install script used by HP pwplus--don't use.
-	    :
-	  else
-	    rm -rf conftest.one conftest.two conftest.dir
-	    echo one > conftest.one
-	    echo two > conftest.two
-	    mkdir conftest.dir
-	    if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
-	      test -s conftest.one && test -s conftest.two &&
-	      test -s conftest.dir/conftest.one &&
-	      test -s conftest.dir/conftest.two
-	    then
-	      ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-	      break 3
-	    fi
-	  fi
-	fi
-      done
-    done
-    ;;
-esac
-
-done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL=$ac_cv_path_install
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    INSTALL=$ac_install_sh
-  fi
-fi
-{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
-   if test "$*" = "X"; then
-      # -L didn't work.
-      set X `ls -t $srcdir/configure conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$*" != "X $srcdir/configure conftest.file" \
-      && test "$*" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      { { $as_echo "$as_me:$LINENO: error: ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" >&5
-$as_echo "$as_me: error: ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" >&2;}
-   { (exit 1); exit 1; }; }
-   fi
-
-   test "$2" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files!
-Check your system clock" >&5
-$as_echo "$as_me: error: newly created file is older than distributed files!
-Check your system clock" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-{ $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
-  program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
-  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
-else
-  am_missing_run=
-  { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-{ $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
-  if test "${ac_cv_path_mkdir+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_prog in mkdir gmkdir; do
-	 for ac_exec_ext in '' $ac_executable_extensions; do
-	   { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
-	   case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
-	     'mkdir (GNU coreutils) '* | \
-	     'mkdir (coreutils) '* | \
-	     'mkdir (fileutils) '4.1*)
-	       ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
-	       break 3;;
-	   esac
-	 done
-       done
-done
-IFS=$as_save_IFS
 
-fi
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
-  if test "${ac_cv_path_mkdir+set}" = set; then
-    MKDIR_P="$ac_cv_path_mkdir -p"
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for MKDIR_P within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    test -d ./--version && rmdir ./--version
-    MKDIR_P="$ac_install_sh -d"
-  fi
-fi
-{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
+# Name of the host.
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
-  [\\/$]* | ?:[\\/]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
 
-for ac_prog in gawk mawk nawk awk
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AWK"; then
-  ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AWK="$ac_prog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
+# Identity of this package.
+PACKAGE_NAME='the Parma Watchdog Library'
+PACKAGE_TARNAME='pwl'
+PACKAGE_VERSION='0.8'
+PACKAGE_STRING='the Parma Watchdog Library 0.8'
+PACKAGE_BUGREPORT='bagnara at cs.unipr.it'
+PACKAGE_URL=''
 
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
-  { $as_echo "$as_me:$LINENO: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
+ac_unique_file="src/Watchdog.cc"
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+#  include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+#  include <memory.h>
+# endif
+# include <string.h>
+#endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
 
+ac_subst_vars='am__EXEEXT_FALSE
+am__EXEEXT_TRUE
+LTLIBOBJS
+LIBOBJS
+debug_flag
+OTOOL64
+OTOOL
+LIPO
+NMEDIT
+DSYMUTIL
+RANLIB
+AR
+OBJDUMP
+LN_S
+NM
+ac_ct_DUMPBIN
+DUMPBIN
+LD
+FGREP
+LIBTOOL
+EGREP
+GREP
+BUILD_WATCHDOG_LIBRARY_FALSE
+BUILD_WATCHDOG_LIBRARY_TRUE
+VALGRIND_TESTS_ENABLED_FALSE
+VALGRIND_TESTS_ENABLED_TRUE
+VALGRIND
+HAVE_PERL_FALSE
+HAVE_PERL_TRUE
+PERL
+NO_UNDEFINED_FALSE
+NO_UNDEFINED_TRUE
+CXXCPP
+SED
+am__fastdepCXX_FALSE
+am__fastdepCXX_TRUE
+CXXDEPMODE
+ac_ct_CXX
+CXXFLAGS
+CXX
+GCC_FALSE
+GCC_TRUE
+am__fastdepCC_FALSE
+am__fastdepCC_TRUE
+CCDEPMODE
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+am__quote
+am__include
+DEPDIR
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+ISODATE
+AM_BACKSLASH
+AM_DEFAULT_VERBOSITY
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+MKDIR_P
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+am__isrc
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_URL
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_silent_rules
+with_cc
+with_cxx
+enable_dependency_tracking
+with_gnu_ld
+enable_rpath
+enable_debugging
+enable_profiling
+enable_coverage
+enable_assertions
+enable_optimization
+enable_arch
+with_cflags
+with_cxxflags
+enable_valgrind_tests
+enable_watchdog
+enable_shared
+enable_static
+with_pic
+enable_fast_install
+enable_libtool_lock
+'
+      ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CXX
+CXXFLAGS
+CCC
+CXXCPP'
 
-  test -n "$AWK" && break
-done
 
-{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-	@echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-  SET_MAKE=
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
 
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
 
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  am__isrc=' -I$(srcdir)'
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
-$as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
-   { (exit 1); exit 1; }; }
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval $ac_prev=\$ac_option
+    ac_prev=
+    continue
   fi
-fi
 
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
+  case $ac_option in
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
+  esac
 
+  # Accept the important Cygnus configure options, so we can diagnose typos.
 
-# Define the identity of the package.
- PACKAGE='pwl'
- VERSION='0.7'
+  case $ac_dashdash$ac_option in
+  --)
+    ac_dashdash=yes ;;
 
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir=$ac_optarg ;;
 
-# Some tools Automake needs.
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build_alias ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build_alias=$ac_optarg ;;
 
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file=$ac_optarg ;;
 
+  --config-cache | -C)
+    cache_file=config.cache ;;
 
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+  -datadir | --datadir | --datadi | --datad)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=*)
+    datadir=$ac_optarg ;;
 
+  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+  | --dataroo | --dataro | --datar)
+    ac_prev=datarootdir ;;
+  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+    datarootdir=$ac_optarg ;;
 
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+  -disable-* | --disable-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid feature name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"enable_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval enable_$ac_useropt=no ;;
+
+  -docdir | --docdir | --docdi | --doc | --do)
+    ac_prev=docdir ;;
+  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+    docdir=$ac_optarg ;;
 
+  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+    ac_prev=dvidir ;;
+  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+    dvidir=$ac_optarg ;;
 
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+  -enable-* | --enable-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid feature name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"enable_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval enable_$ac_useropt=\$ac_optarg ;;
 
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix=$ac_optarg ;;
 
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
 
-install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+  -help | --help | --hel | --he | -h)
+    ac_init_help=long ;;
+  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+    ac_init_help=recursive ;;
+  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+    ac_init_help=short ;;
 
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
+  -host | --host | --hos | --ho)
+    ac_prev=host_alias ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host_alias=$ac_optarg ;;
 
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
+  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+    ac_prev=htmldir ;;
+  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+  | --ht=*)
+    htmldir=$ac_optarg ;;
 
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir=$ac_optarg ;;
 
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir=$ac_optarg ;;
 
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir=$ac_optarg ;;
 
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir=$ac_optarg ;;
 
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+  -localedir | --localedir | --localedi | --localed | --locale)
+    ac_prev=localedir ;;
+  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+    localedir=$ac_optarg ;;
 
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst | --locals)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+    localstatedir=$ac_optarg ;;
 
-AMTAR=${AMTAR-"${am_missing_run}tar"}
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir=$ac_optarg ;;
 
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c | -n)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir=$ac_optarg ;;
 
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix=$ac_optarg ;;
 
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix=$ac_optarg ;;
 
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix=$ac_optarg ;;
 
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name=$ac_optarg ;;
 
+  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+    ac_prev=pdfdir ;;
+  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+    pdfdir=$ac_optarg ;;
 
+  -psdir | --psdir | --psdi | --psd | --ps)
+    ac_prev=psdir ;;
+  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+    psdir=$ac_optarg ;;
 
-# Generate a configuration header file.
-ac_config_headers="$ac_config_headers config.h"
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
 
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir=$ac_optarg ;;
 
-ISODATE=`date +%Y-%m-%d`
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir=$ac_optarg ;;
 
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site=$ac_optarg ;;
 
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir=$ac_optarg ;;
 
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir=$ac_optarg ;;
 
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target_alias ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target_alias=$ac_optarg ;;
 
-# C compiler.
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
 
+  -version | --version | --versio | --versi | --vers | -V)
+    ac_init_version=: ;;
 
-# Check whether --with-cc was given.
-if test "${with_cc+set}" = set; then
-  withval=$with_cc; CC=$with_cc
-fi
+  -with-* | --with-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid package name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"with_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval with_$ac_useropt=\$ac_optarg ;;
 
+  -without-* | --without-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid package name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"with_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval with_$ac_useropt=no ;;
 
-# C++ compiler.
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
 
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes=$ac_optarg ;;
 
-# Check whether --with-cxx was given.
-if test "${with_cxx+set}" = set; then
-  withval=$with_cxx; CXX=$with_cxx
-fi
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries=$ac_optarg ;;
 
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
+    ;;
 
-# Checks for programs.
+  *=*)
+    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+    # Reject names that are not valid shell variable names.
+    case $ac_envvar in #(
+      '' | [0-9]* | *[!_$as_cr_alnum]* )
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
+    esac
+    eval $ac_envvar=\$ac_optarg
+    export $ac_envvar ;;
 
-# Note that AC_PROG_CC must precede the first use of $GCC abd AC_PROG_CXX
-# must precede the first use of $GXX.  Note also that we do not allow
-# AC_PROG_CC and AC_PROG_CXX to affect CFLAGS and CXXFLAGS.
-save_CFLAGS="$CFLAGS"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
+  *)
+    # FIXME: should be removed in autoconf 3.0.
+    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    ;;
+
+  esac
 done
-IFS=$as_save_IFS
 
+if test -n "$ac_prev"; then
+  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+  as_fn_error $? "missing argument to $ac_option"
 fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:$LINENO: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
 
+if test -n "$ac_unrecognized_opts"; then
+  case $enable_option_checking in
+    no) ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
+    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+  esac
 fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
+
+# Check all directory arguments for consistency.
+for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
+		datadir sysconfdir sharedstatedir localstatedir includedir \
+		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+		libdir localedir mandir
 do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
+  eval ac_val=\$$ac_var
+  # Remove trailing slashes.
+  case $ac_val in
+    */ )
+      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+      eval $ac_var=\$ac_val;;
+  esac
+  # Be sure to have absolute directory names.
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* )  continue;;
+    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+  esac
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
-IFS=$as_save_IFS
 
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
 
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+  if test "x$build_alias" = x; then
+    cross_compiling=maybe
+    $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
+    If a cross compiler is detected then cross compile mode will be used" >&2
+  elif test "x$build_alias" != "x$host_alias"; then
+    cross_compiling=yes
   fi
-else
-  CC="$ac_cv_prog_CC"
 fi
 
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:$LINENO: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
 
+test "$silent" = yes && exec 6>/dev/null
 
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
 
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:$LINENO: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+  as_fn_error $? "working directory cannot be determined"
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+  as_fn_error $? "pwd does not report name of working directory"
 
 
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then the parent directory.
+  ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_myself" : 'X\(//\)[^/]' \| \
+	 X"$as_myself" : 'X\(//\)$' \| \
+	 X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+  srcdir=$ac_confdir
+  if test ! -r "$srcdir/$ac_unique_file"; then
+    srcdir=..
   fi
-done
-done
-IFS=$as_save_IFS
-
+else
+  ac_srcdir_defaulted=no
 fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:$LINENO: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
+	pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+  srcdir=.
 fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+  eval ac_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_env_${ac_var}_value=\$${ac_var}
+  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
 
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+  # Omit some internal or obsolete options to make the list less imposing.
+  # This message is too long to be a string in the A/UX 3.1 sh.
+  cat <<_ACEOF
+\`configure' configures the Parma Watchdog Library 0.8 to adapt to many kinds of systems.
 
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
+Usage: $0 [OPTION]... [VAR=VALUE]...
 
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE.  See below for descriptions of some of the useful variables.
 
+Defaults for the options are specified in brackets.
 
-  test -n "$ac_ct_CC" && break
-done
+Configuration:
+  -h, --help              display this help and exit
+      --help=short        display options specific to this package
+      --help=recursive    display the short help of all the included packages
+  -V, --version           display version information and exit
+  -q, --quiet, --silent   do not print \`checking ...' messages
+      --cache-file=FILE   cache test results in FILE [disabled]
+  -C, --config-cache      alias for \`--cache-file=config.cache'
+  -n, --no-create         do not create output files
+      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
 
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
+Installation directories:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+                          [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+                          [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+  --bindir=DIR            user executables [EPREFIX/bin]
+  --sbindir=DIR           system admin executables [EPREFIX/sbin]
+  --libexecdir=DIR        program executables [EPREFIX/libexec]
+  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
+  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
+  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
+  --libdir=DIR            object code libraries [EPREFIX/lib]
+  --includedir=DIR        C header files [PREFIX/include]
+  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
+  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
+  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
+  --infodir=DIR           info documentation [DATAROOTDIR/info]
+  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
+  --mandir=DIR            man documentation [DATAROOTDIR/man]
+  --docdir=DIR            documentation root [DATAROOTDIR/doc/pwl]
+  --htmldir=DIR           html documentation [DOCDIR]
+  --dvidir=DIR            dvi documentation [DOCDIR]
+  --pdfdir=DIR            pdf documentation [DOCDIR]
+  --psdir=DIR             ps documentation [DOCDIR]
+_ACEOF
 
+  cat <<\_ACEOF
+
+Program names:
+  --program-prefix=PREFIX            prepend PREFIX to installed program names
+  --program-suffix=SUFFIX            append SUFFIX to installed program names
+  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
+
+System types:
+  --build=BUILD     configure for building on BUILD [guessed]
+  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
+_ACEOF
 fi
 
+if test -n "$ac_init_help"; then
+  case $ac_init_help in
+     short | recursive ) echo "Configuration of the Parma Watchdog Library 0.8:";;
+   esac
+  cat <<\_ACEOF
 
-test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+Optional Features:
+  --disable-option-checking  ignore unrecognized --enable/--with options
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --enable-silent-rules          less verbose build output (undo: `make V=1')
+  --disable-silent-rules         verbose build output (undo: `make V=0')
+  --disable-dependency-tracking  speeds up one-time build
+  --enable-dependency-tracking   do not reject slow dependency extractors
+  --disable-rpath         do not hardcode runtime library paths
+  --enable-debugging      compile with debugging information
+  --enable-profiling      compile for profiling
+  --enable-coverage       compile for test coverage
+  --enable-assertions     check run-time assertions
+  --enable-optimization   enable compiler optimizations
+  --enable-arch=arch      optimize for architecture arch
+  --enable-valgrind-tests run library tests under Valgrind
+  --enable-watchdog       build also the Parma Watchdog Library
+  --enable-shared[=PKGS]  build shared libraries [default=yes]
+  --enable-static[=PKGS]  build static libraries [default=yes]
+  --enable-fast-install[=PKGS]
+                          optimize for fast installation [default=yes]
+  --disable-libtool-lock  avoid locking (might break parallel builds)
 
-# Provide some information about the compiler.
-$as_echo "$as_me:$LINENO: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compiler --version >&5") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -v >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+Optional Packages:
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --with-cc=XXX           use XXX as the C compiler
+  --with-cxx=XXX          use XXX as the C++ compiler
+  --with-gnu-ld           assume the C compiler uses GNU ld default=no
+  --with-cflags=xxx       add XXX to the options for the C compiler
+  --with-cxxflags=xxx     add XXX to the options for the C++ compiler
+  --with-pic              try to use only PIC/non-PIC objects [default=use
+                          both]
+  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
+
+Some influential environment variables:
+  CC          C compiler command
+  CFLAGS      C compiler flags
+  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
+              nonstandard directory <lib dir>
+  LIBS        libraries to pass to the linker, e.g. -l<library>
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
+              you have headers in a nonstandard directory <include dir>
+  CXX         C++ compiler command
+  CXXFLAGS    C++ compiler flags
+  CXXCPP      C++ preprocessor
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+Report bugs to <bagnara at cs.unipr.it>.
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+  # If there are subdirs, report their specific --help.
+  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+    test -d "$ac_dir" ||
+      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+      continue
+    ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compiler -v >&5") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -V >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compiler -V >&5") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
 
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+    cd "$ac_dir" || { ac_status=$?; continue; }
+    # Check for guested configure.
+    if test -f "$ac_srcdir/configure.gnu"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+    elif test -f "$ac_srcdir/configure"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure" --help=recursive
+    else
+      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+    fi || ac_status=$?
+    cd "$ac_pwd" || { ac_status=$?; break; }
+  done
+fi
 
-int
-main ()
-{
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+  cat <<\_ACEOF
+the Parma Watchdog Library configure 0.8
+generated by GNU Autoconf 2.67
 
-  ;
-  return 0;
-}
+Copyright (C) 2010 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
 _ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+  exit
+fi
 
-ac_rmfiles=
-for ac_file in $ac_files
-do
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-  esac
-done
-rm -f $ac_rmfiles
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
 
-if { (ac_try="$ac_link_default"
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext
+  if { { ac_try="$ac_compile"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link_default") 2>&5
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>conftest.err
   ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile.  We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
-	;;
-    [ab].out )
-	# We found the default executable, but exeext='' is most
-	# certainly right.
-	break;;
-    *.* )
-        if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-	then :; else
-	   ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-	fi
-	# We set ac_cv_exeext here because the later test for it is not
-	# safe: cross compilers may not add the suffix if given an `-o'
-	# argument, so we may need to know it at that point already.
-	# Even if this section looks crufty: it has the advantage of
-	# actually working.
-	break;;
-    * )
-	break;;
-  esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then :
+  ac_retval=0
 else
-  ac_file=''
-fi
-
-{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-if test -z "$ac_file"; then
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: C compiler cannot create executables
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+	ac_retval=1
 fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
 
-ac_exeext=$ac_cv_exeext
+} # ac_fn_c_try_compile
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { (case "(($ac_try" in
+# ac_fn_cxx_try_compile LINENO
+# ----------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext
+  if { { ac_try="$ac_compile"
+case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>conftest.err
   ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
-    fi
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
   fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_retval=1
 fi
-{ $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
 
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
+} # ac_fn_cxx_try_compile
 
-{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { (ac_try="$ac_link"
+# ac_fn_cxx_try_cpp LINENO
+# ------------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_cpp ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_cpp conftest.$ac_ext"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
   ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-	  break;;
-    * ) break;;
-  esac
-done
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } > conftest.i && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then :
+  ac_retval=0
 else
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+    ac_retval=1
 fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
 
-rm -f conftest$ac_cv_exeext
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
+} # ac_fn_cxx_try_cpp
 
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then
+# ac_fn_cxx_check_header_mongrel LINENO HEADER VAR INCLUDES
+# ---------------------------------------------------------
+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
+# the include files in INCLUDES and setting the cache variable VAR
+# accordingly.
+ac_fn_cxx_check_header_mongrel ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if eval "test \"\${$3+set}\"" = set; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval "test \"\${$3+set}\"" = set; then :
   $as_echo_n "(cached) " >&6
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  # Is the header compilable?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+$as_echo_n "checking $2 usability... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
+$4
+#include <$2>
 _ACEOF
-rm -f conftest.o conftest.obj
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  for ac_file in conftest.o conftest.obj conftest.*; do
-  test -f "$ac_file" || continue;
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
-    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-       break;;
-  esac
-done
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_header_compiler=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+  ac_header_compiler=no
 fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
 
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
+# Is the header present?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+$as_echo_n "checking $2 presence... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <$2>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+  ac_header_preproc=yes
+else
+  ac_header_preproc=no
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then
+rm -f conftest.err conftest.i conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in #((
+  yes:no: )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+    ;;
+  no:yes:* )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+( $as_echo "## ---------------------------------- ##
+## Report this to bagnara at cs.unipr.it ##
+## ---------------------------------- ##"
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval "test \"\${$3+set}\"" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+  eval "$3=\$ac_header_compiler"
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
 
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
+} # ac_fn_cxx_check_header_mongrel
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
+# ac_fn_cxx_try_run LINENO
+# ------------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_cxx_try_run ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_link"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_compiler_gnu=yes
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then :
+  ac_retval=0
 else
-  $as_echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+       $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_compiler_gnu=no
+       ac_retval=$ac_status
 fi
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
+} # ac_fn_cxx_try_run
 
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
+# ac_fn_cxx_check_header_compile LINENO HEADER VAR INCLUDES
+# ---------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_cxx_check_header_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval "test \"\${$3+set}\"" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  GCC=
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
 fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+} # ac_fn_cxx_check_header_compile
+
+# ac_fn_cxx_check_decl LINENO SYMBOL VAR INCLUDES
+# -----------------------------------------------
+# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
+# accordingly.
+ac_fn_cxx_check_decl ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  as_decl_name=`echo $2|sed 's/ *(.*//'`
+  as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
+$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
+if eval "test \"\${$3+set}\"" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-
+$4
 int
 main ()
 {
+#ifndef $as_decl_name
+#ifdef __cplusplus
+  (void) $as_decl_use;
+#else
+  (void) $as_decl_name;
+#endif
+#endif
 
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cc_g=yes
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  eval "$3=yes"
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
 
-	CFLAGS=""
-      cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+} # ac_fn_cxx_check_decl
 
+# ac_fn_cxx_check_type LINENO TYPE VAR INCLUDES
+# ---------------------------------------------
+# Tests whether TYPE exists after having included INCLUDES, setting cache
+# variable VAR accordingly.
+ac_fn_cxx_check_type ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval "test \"\${$3+set}\"" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  eval "$3=no"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
 int
 main ()
 {
-
+if (sizeof ($2))
+	 return 0;
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_c_werror_flag=$ac_save_c_werror_flag
-	 CFLAGS="-g"
-	 cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-
+$4
 int
 main ()
 {
-
+if (sizeof (($2)))
+	    return 0;
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+else
+  eval "$3=yes"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+} # ac_fn_cxx_check_type
+
+# ac_fn_c_try_link LINENO
+# -----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_link ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext conftest$ac_exeext
+  if { { ac_try="$ac_link"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>conftest.err
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
 	 test -z "$ac_c_werror_flag" ||
 	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cc_g=yes
+       } && test -s conftest$ac_exeext && {
+	 test "$cross_compiling" = yes ||
+	 $as_test_x conftest$ac_exeext
+       }; then :
+  ac_retval=0
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-
+	ac_retval=1
 fi
+  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+  # interfere with the next link command; also delete a directory that is
+  # left behind by Apple's compiler.  We do this before executing the actions.
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
+} # ac_fn_c_try_link
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval "test \"\${$3+set}\"" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
 fi
-{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+} # ac_fn_c_check_header_compile
+
+# ac_fn_c_check_func LINENO FUNC VAR
+# ----------------------------------
+# Tests whether FUNC exists, setting the cache variable VAR accordingly
+ac_fn_c_check_func ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval "test \"\${$3+set}\"" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
+/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $2 innocuous_$2
 
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $2 (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
 
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $2
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $2 ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined __stub_$2 || defined __stub___$2
+choke me
+#endif
 
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
 int
 main ()
 {
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+return $2 ();
   ;
   return 0;
 }
 _ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
+if ac_fn_c_try_link "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+} # ac_fn_c_check_func
+
+# ac_fn_cxx_try_link LINENO
+# -------------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_link ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext conftest$ac_exeext
+  if { { ac_try="$ac_link"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>conftest.err
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_cxx_werror_flag" ||
 	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cc_c89=$ac_arg
+       } && test -s conftest$ac_exeext && {
+	 test "$cross_compiling" = yes ||
+	 $as_test_x conftest$ac_exeext
+       }; then :
+  ac_retval=0
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-
+	ac_retval=1
 fi
+  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+  # interfere with the next link command; also delete a directory that is
+  # left behind by Apple's compiler.  We do this before executing the actions.
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
 
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:$LINENO: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:$LINENO: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
+} # ac_fn_cxx_try_link
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
 
+It was created by the Parma Watchdog Library $as_me 0.8, which was
+generated by GNU Autoconf 2.67.  Invocation command line was
 
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
+  $ $0 $@
 
-ac_config_commands="$ac_config_commands depfiles"
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
 
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
 
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-	@echo done
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
-   am__include=include
-   am__quote=
-   _am_result=GNU
-fi
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
-      am__include=.include
-      am__quote="\""
-      _am_result=BSD
-   fi
-fi
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
 
+/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
+/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
+/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
 
-{ $as_echo "$as_me:$LINENO: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
+_ASUNAME
 
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then
-  enableval=$enable_dependency_tracking;
-fi
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    $as_echo "PATH: $as_dir"
+  done
+IFS=$as_save_IFS
 
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-fi
- if test "x$enable_dependency_tracking" != xno; then
-  AMDEP_TRUE=
-  AMDEP_FALSE='#'
-else
-  AMDEP_TRUE='#'
-  AMDEP_FALSE=
-fi
+} >&5
 
+cat >&5 <<_ACEOF
 
 
-depcc="$CC"   am_compiler_list=
+## ----------- ##
+## Core tests. ##
+## ----------- ##
 
-{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
+_ACEOF
 
-  am_cv_CC_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    case $depmode in
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-	continue
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+  for ac_arg
+  do
+    case $ac_arg in
+    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+    | -silent | --silent | --silen | --sile | --sil)
+      continue ;;
+    *\'*)
+      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    case $ac_pass in
+    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
+    2)
+      as_fn_append ac_configure_args1 " '$ac_arg'"
+      if test $ac_must_keep_next = true; then
+	ac_must_keep_next=false # Got value, back to normal.
       else
-	break
+	case $ac_arg in
+	  *=* | --config-cache | -C | -disable-* | --disable-* \
+	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+	  | -with-* | --with-* | -without-* | --without-* | --x)
+	    case "$ac_configure_args0 " in
+	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+	    esac
+	    ;;
+	  -* ) ac_must_keep_next=true ;;
+	esac
       fi
+      as_fn_append ac_configure_args " '$ac_arg'"
       ;;
-    none) break ;;
     esac
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.
-    if depmode=$depmode \
-       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CC_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
   done
+done
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset ac_configure_args1;}
 
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
-  am__fastdepCC_TRUE=
-  am__fastdepCC_FALSE='#'
-else
-  am__fastdepCC_TRUE='#'
-  am__fastdepCC_FALSE=
-fi
-
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log.  We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+  # Save into config.log some information that might help in debugging.
+  {
+    echo
 
-CFLAGS="$save_CFLAGS"
+    $as_echo "## ---------------- ##
+## Cache variables. ##
+## ---------------- ##"
+    echo
+    # The following way of writing the cache mishandles newlines in values,
+(
+  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+      *) { eval $ac_var=; unset $ac_var;} ;;
+      esac ;;
+    esac
+  done
+  (set) 2>&1 |
+    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      sed -n \
+	"s/'\''/'\''\\\\'\'''\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+      ;; #(
+    *)
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+)
+    echo
 
- if test x"$GCC" = xyes; then
-  GCC_TRUE=
-  GCC_FALSE='#'
-else
-  GCC_TRUE='#'
-  GCC_FALSE=
-fi
+    $as_echo "## ----------------- ##
+## Output variables. ##
+## ----------------- ##"
+    echo
+    for ac_var in $ac_subst_vars
+    do
+      eval ac_val=\$$ac_var
+      case $ac_val in
+      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+      esac
+      $as_echo "$ac_var='\''$ac_val'\''"
+    done | sort
+    echo
 
+    if test -n "$ac_subst_files"; then
+      $as_echo "## ------------------- ##
+## File substitutions. ##
+## ------------------- ##"
+      echo
+      for ac_var in $ac_subst_files
+      do
+	eval ac_val=\$$ac_var
+	case $ac_val in
+	*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+	esac
+	$as_echo "$ac_var='\''$ac_val'\''"
+      done | sort
+      echo
+    fi
 
-# The Intel C compiler masquerades as gcc, but we want to know.
-if test x"$GCC" = xyes
-then
-  { $as_echo "$as_me:$LINENO: checking whether we are actually using the Intel C compiler" >&5
-$as_echo_n "checking whether we are actually using the Intel C compiler... " >&6; }
-  ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+    if test -s confdefs.h; then
+      $as_echo "## ----------- ##
+## confdefs.h. ##
+## ----------- ##"
+      echo
+      cat confdefs.h
+      echo
+    fi
+    test "$ac_signal" != 0 &&
+      $as_echo "$as_me: caught signal $ac_signal"
+    $as_echo "$as_me: exit $exit_status"
+  } >&5
+  rm -f core *.core core.conftest.* &&
+    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+    exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
+done
+ac_signal=0
 
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
 
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+$as_echo "/* confdefs.h */" > confdefs.h
 
-#ifndef __INTEL_COMPILER
-choke me
-#endif
+# Predefined preprocessor variables.
 
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-  ICC=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	{ $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-  ICC=no
-fi
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
 
-fi
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
 
-save_CXXFLAGS="$CXXFLAGS"
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -z "$CXX"; then
-  if test -n "$CCC"; then
-    CXX=$CCC
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CXX+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CXX"; then
-  ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
 
-fi
-fi
-CXX=$ac_cv_prog_CXX
-if test -n "$CXX"; then
-  { $as_echo "$as_me:$LINENO: result: $CXX" >&5
-$as_echo "$CXX" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_URL "$PACKAGE_URL"
+_ACEOF
 
 
-    test -n "$CXX" && break
-  done
-fi
-if test -z "$CXX"; then
-  ac_ct_CXX=$CXX
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CXX"; then
-  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
+elif test "x$prefix" != xNONE; then
+  ac_site_file1=$prefix/share/config.site
+  ac_site_file2=$prefix/etc/config.site
 else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
+  ac_site_file1=$ac_default_prefix/share/config.site
+  ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CXX="$ac_prog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
+  test "x$ac_site_file" = xNONE && continue
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+    sed 's/^/| /' "$ac_site_file" >&5
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
-if test -n "$ac_ct_CXX"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
-$as_echo "$ac_ct_CXX" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CXX" && break
-done
 
-  if test "x$ac_ct_CXX" = x; then
-    CXX="g++"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CXX=$ac_ct_CXX
+if test -r "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
+    case $cache_file in
+      [\\/]* | ?:[\\/]* ) . "$cache_file";;
+      *)                      . "./$cache_file";;
+    esac
   fi
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
+  >$cache_file
 fi
 
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+  eval ac_old_set=\$ac_cv_env_${ac_var}_set
+  eval ac_new_set=\$ac_env_${ac_var}_set
+  eval ac_old_val=\$ac_cv_env_${ac_var}_value
+  eval ac_new_val=\$ac_env_${ac_var}_value
+  case $ac_old_set,$ac_new_set in
+    set,)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,set)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,);;
+    *)
+      if test "x$ac_old_val" != "x$ac_new_val"; then
+	# differences in whitespace do not lead to failure.
+	ac_old_val_w=`echo x $ac_old_val`
+	ac_new_val_w=`echo x $ac_new_val`
+	if test "$ac_old_val_w" != "$ac_new_val_w"; then
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+	  ac_cache_corrupted=:
+	else
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+	  eval $ac_var=\$ac_old_val
+	fi
+	{ $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
+$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
+	{ $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
+$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
+      fi;;
+  esac
+  # Pass precious variables to config.status.
+  if test "$ac_new_set" = set; then
+    case $ac_new_val in
+    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *) ac_arg=$ac_var=$ac_new_val ;;
+    esac
+    case " $ac_configure_args " in
+      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
+      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+    esac
   fi
+done
+if $ac_cache_corrupted; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
-# Provide some information about the compiler.
-$as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compiler --version >&5") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -v >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compiler -v >&5") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -V >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compiler -V >&5") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-
-{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
-$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
-if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_compiler_gnu=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-	ac_compiler_gnu=no
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
 
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
-$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GXX=yes
-else
-  GXX=
-fi
-ac_test_CXXFLAGS=${CXXFLAGS+set}
-ac_save_CXXFLAGS=$CXXFLAGS
-{ $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
-$as_echo_n "checking whether $CXX accepts -g... " >&6; }
-if test "${ac_cv_prog_cxx_g+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
-   ac_cxx_werror_flag=yes
-   ac_cv_prog_cxx_g=no
-   CXXFLAGS="-g"
-   cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+# Minimum Autoconf version required.
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cxx_g=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+# Make sure the sources are there.
 
-	CXXFLAGS=""
-      cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
-int
-main ()
-{
+# Specify the location of additional local Autoconf macros.
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cxx_werror_flag=$ac_save_cxx_werror_flag
-	 CXXFLAGS="-g"
-	 cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+# Determine the system type and set output variables to the names of
+# the canonical system types.
+ac_aux_dir=
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+fi
 
-int
-main ()
-{
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cxx_g=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
-fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if test "${ac_cv_build+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_cxx_werror_flag=$ac_save_cxx_werror_flag
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
-$as_echo "$ac_cv_prog_cxx_g" >&6; }
-if test "$ac_test_CXXFLAGS" = set; then
-  CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
-  if test "$GXX" = yes; then
-    CXXFLAGS="-g -O2"
-  else
-    CXXFLAGS="-g"
-  fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if test "${ac_cv_host+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  if test "$GXX" = yes; then
-    CXXFLAGS="-O2"
-  else
-    CXXFLAGS=
-  fi
+  if test "x$host_alias" = x; then
+  ac_cv_host=$ac_cv_build
+else
+  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-depcc="$CXX"  am_compiler_list=
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
 
-{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
+
+
+# Use Automake.
+am__api_version='1.11'
+
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CXX_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in #((
+  ./ | .// | /[cC]/* | \
+  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
+  /usr/ucb/* ) ;;
+  *)
+    # OSF1 and SCO ODT 3.0 have their own names for install.
+    # Don't use installbsd from OSF since it installs stuff as root
+    # by default.
+    for ac_prog in ginstall scoinst install; do
+      for ac_exec_ext in '' $ac_executable_extensions; do
+	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	  if test $ac_prog = install &&
+	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # AIX install.  It has an incompatible calling convention.
+	    :
+	  elif test $ac_prog = install &&
+	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # program-specific install script used by HP pwplus--don't use.
+	    :
+	  else
+	    rm -rf conftest.one conftest.two conftest.dir
+	    echo one > conftest.one
+	    echo two > conftest.two
+	    mkdir conftest.dir
+	    if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+	      test -s conftest.one && test -s conftest.two &&
+	      test -s conftest.dir/conftest.one &&
+	      test -s conftest.dir/conftest.two
+	    then
+	      ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+	      break 3
+	    fi
+	  fi
+	fi
+      done
     done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+    ;;
+esac
 
-    case $depmode in
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-	continue
-      else
-	break
-      fi
-      ;;
-    none) break ;;
-    esac
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.
-    if depmode=$depmode \
-       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CXX_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
   done
+IFS=$as_save_IFS
 
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CXX_dependencies_compiler_type=none
-fi
+rm -rf conftest.one conftest.two conftest.dir
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
-CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
-  am__fastdepCXX_TRUE=
-  am__fastdepCXX_FALSE='#'
-else
-  am__fastdepCXX_TRUE='#'
-  am__fastdepCXX_FALSE=
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL=$ac_cv_path_install
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the value is a relative name.
+    INSTALL=$ac_install_sh
+  fi
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
 
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
 
-CXXFLAGS="$save_CXXFLAGS"
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
 
-# The Intel C++ compiler masquerades as g++, but we want to know.
-if test x"$GXX" = xyes
-then
-  { $as_echo "$as_me:$LINENO: checking whether we are actually using the Intel C++ compiler" >&5
-$as_echo_n "checking whether we are actually using the Intel C++ compiler... " >&6; }
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name.  Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+  *[\\\"\#\$\&\'\`$am_lf]*)
+    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
+esac
+case $srcdir in
+  *[\\\"\#\$\&\'\`$am_lf\ \	]*)
+    as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+esac
 
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+   if test "$*" = "X"; then
+      # -L didn't work.
+      set X `ls -t "$srcdir/configure" conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$*" != "X $srcdir/configure conftest.file" \
+      && test "$*" != "X conftest.file $srcdir/configure"; then
 
-#ifndef __INTEL_COMPILER
-choke me
-#endif
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" "$LINENO" 5
+   fi
 
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-  ICPC=yes
+   test "$2" = conftest.file
+   )
+then
+   # Ok.
+   :
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	{ $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-  ICPC=no
+   as_fn_error $? "newly created file is older than distributed files!
+Check your system clock" "$LINENO" 5
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+test "$program_prefix" != NONE &&
+  program_transform_name="s&^&$program_prefix&;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+# Double any \ or $.
+# By default was `s,x,x', remove it if useless.
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
 
+if test x"${MISSING+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+  *)
+    MISSING="\${SHELL} $am_aux_dir/missing" ;;
+  esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
 fi
 
-{ $as_echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then
+if test x"${install_sh}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+  *)
+    install_sh="\${SHELL} $am_aux_dir/install-sh"
+  esac
+fi
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-     for ac_i in 1 2 3 4 5 6 7; do
-       ac_script="$ac_script$as_nl$ac_script"
-     done
-     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
-     $as_unset ac_script || ac_script=
-     if test -z "$SED"; then
-  ac_path_SED_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
-  # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
-  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo '' >> "conftest.nl"
-    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    ac_count=`expr $ac_count + 1`
-    if test $ac_count -gt ${ac_path_SED_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_SED="$ac_path_SED"
-      ac_path_SED_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_SED_found && break 3
-    done
-  done
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
 done
+  done
 IFS=$as_save_IFS
-  if test -z "$ac_cv_path_SED"; then
-    { { $as_echo "$as_me:$LINENO: error: no acceptable sed could be found in \$PATH" >&5
-$as_echo "$as_me: error: no acceptable sed could be found in \$PATH" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
 else
-  ac_cv_path_SED=$SED
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
-  rm -f conftest.sed
 
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-{ $as_echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
-$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
-if test -z "$CXXCPP"; then
-  if test "${ac_cv_prog_CXXCPP+set}" = set; then
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-      # Double quotes because CXXCPP needs to be expanded
-    for CXXCPP in "$CXX -E" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  :
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-  # Broken: fails on valid input.
-continue
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
-rm -f conftest.err conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+  if test "x$ac_ct_STRIP" = x; then
+    STRIP=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  # Broken: success on invalid input.
-continue
+    STRIP=$ac_ct_STRIP
+  fi
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  # Passes both tests.
-ac_preproc_ok=:
-break
+  STRIP="$ac_cv_prog_STRIP"
 fi
 
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
-  break
 fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 
-    done
-    ac_cv_prog_CXXCPP=$CXXCPP
-
-fi
-  CXXCPP=$ac_cv_prog_CXXCPP
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+if test -z "$MKDIR_P"; then
+  if test "${ac_cv_path_mkdir+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  ac_cv_prog_CXXCPP=$CXXCPP
-fi
-{ $as_echo "$as_me:$LINENO: result: $CXXCPP" >&5
-$as_echo "$CXXCPP" >&6; }
-ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
 do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in mkdir gmkdir; do
+	 for ac_exec_ext in '' $ac_executable_extensions; do
+	   { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+	   case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+	     'mkdir (GNU coreutils) '* | \
+	     'mkdir (coreutils) '* | \
+	     'mkdir (fileutils) '4.1*)
+	       ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+	       break 3;;
+	   esac
+	 done
+       done
+  done
+IFS=$as_save_IFS
 
-  # Broken: fails on valid input.
-continue
 fi
 
-rm -f conftest.err conftest.$ac_ext
+  test -d ./--version && rmdir ./--version
+  if test "${ac_cv_path_mkdir+set}" = set; then
+    MKDIR_P="$ac_cv_path_mkdir -p"
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for MKDIR_P within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the value is a relative name.
+    MKDIR_P="$ac_install_sh -d"
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
 
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+  [\\/$]* | ?:[\\/]*) ;;
+  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  # Broken: success on invalid input.
-continue
+
+for ac_prog in gawk mawk nawk awk
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_AWK+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  if test -n "$AWK"; then
+  ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_AWK="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-  # Passes both tests.
-ac_preproc_ok=:
-break
 fi
-
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
-  :
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
 else
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+  test -n "$AWK" && break
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
 set x ${MAKE-make}
 ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then :
   $as_echo_n "(cached) " >&6
 else
   cat >conftest.make <<\_ACEOF
@@ -4722,7 +2934,7 @@ SHELL = /bin/sh
 all:
 	@echo '@@@%%%=$(MAKE)=@@@%%%'
 _ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
 case `${MAKE-make} -f conftest.make 2>/dev/null` in
   *@@@%%%=?*=@@@%%%*)
     eval ac_cv_prog_make_${ac_make}_set=yes;;
@@ -4732,1945 +2944,1580 @@ esac
 rm -f conftest.make
 fi
 if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
   SET_MAKE=
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
   SET_MAKE="MAKE=${MAKE-make}"
 fi
 
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then
-  $as_echo_n "(cached) " >&6
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
 else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in
-  ./ | .// | /cC/* | \
-  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
-  /usr/ucb/* ) ;;
-  *)
-    # OSF1 and SCO ODT 3.0 have their own names for install.
-    # Don't use installbsd from OSF since it installs stuff as root
-    # by default.
-    for ac_prog in ginstall scoinst install; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
-	  if test $ac_prog = install &&
-	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-	    # AIX install.  It has an incompatible calling convention.
-	    :
-	  elif test $ac_prog = install &&
-	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-	    # program-specific install script used by HP pwplus--don't use.
-	    :
-	  else
-	    rm -rf conftest.one conftest.two conftest.dir
-	    echo one > conftest.one
-	    echo two > conftest.two
-	    mkdir conftest.dir
-	    if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
-	      test -s conftest.one && test -s conftest.two &&
-	      test -s conftest.dir/conftest.one &&
-	      test -s conftest.dir/conftest.two
-	    then
-	      ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-	      break 3
-	    fi
-	  fi
-	fi
-      done
-    done
-    ;;
-esac
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
 
-done
-IFS=$as_save_IFS
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+  enableval=$enable_silent_rules;
+fi
 
-rm -rf conftest.one conftest.two conftest.dir
+case $enable_silent_rules in
+yes) AM_DEFAULT_VERBOSITY=0;;
+no)  AM_DEFAULT_VERBOSITY=1;;
+*)   AM_DEFAULT_VERBOSITY=1;;
+esac
+AM_BACKSLASH='\'
 
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+  # is not polluted with repeated "-I."
+  am__isrc=' -I$(srcdir)'
+  # test to see if srcdir already configured
+  if test -f $srcdir/config.status; then
+    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+  fi
 fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL=$ac_cv_path_install
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
   else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    INSTALL=$ac_install_sh
+    CYGPATH_W=echo
   fi
 fi
-{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-
-# Compilation flags.
 
-COMP_FLAGS=""
-OPT_FLAGS=""
 
-# Determine the system-dependent aspects of rpath usage and add
-# the --disable-rpath configure option.
+# Define the identity of the package.
+ PACKAGE='pwl'
+ VERSION='0.8'
 
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
-  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
 
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
-fi
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:$LINENO: checking for ld used by GCC" >&5
-$as_echo_n "checking for ld used by GCC... " >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | [A-Za-z]:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the path of ld
-      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-	ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
-  { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if test "${acl_cv_path_LD+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$LD"; then
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      acl_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some GNU ld's only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
-      *GNU* | *'with BFD'*)
-	test "$with_gnu_ld" != no && break ;;
-      *)
-	test "$with_gnu_ld" != yes && break ;;
-      esac
-    fi
-  done
-  IFS="$ac_save_ifs"
-else
-  acl_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
+# Some tools Automake needs.
 
-LD="$acl_cv_path_LD"
-if test -n "$LD"; then
-  { $as_echo "$as_me:$LINENO: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
-   { (exit 1); exit 1; }; }
-{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${acl_cv_prog_gnu_ld+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  # I'd rather use --version here, but apparently some GNU ld's only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  acl_cv_prog_gnu_ld=yes ;;
-*)
-  acl_cv_prog_gnu_ld=no ;;
-esac
-fi
-{ $as_echo "$as_me:$LINENO: result: $acl_cv_prog_gnu_ld" >&5
-$as_echo "$acl_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$acl_cv_prog_gnu_ld
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
 
 
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
 
 
-                                                { $as_echo "$as_me:$LINENO: checking for shared library run path origin" >&5
-$as_echo_n "checking for shared library run path origin... " >&6; }
-if test "${acl_cv_rpath+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
 
-    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
-    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
-    . ./conftest.sh
-    rm -f ./conftest.sh
-    acl_cv_rpath=done
 
-fi
-{ $as_echo "$as_me:$LINENO: result: $acl_cv_rpath" >&5
-$as_echo "$acl_cv_rpath" >&6; }
-  wl="$acl_cv_wl"
-  libext="$acl_cv_libext"
-  shlibext="$acl_cv_shlibext"
-  hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
-  hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
-  hardcode_direct="$acl_cv_hardcode_direct"
-  hardcode_minus_L="$acl_cv_hardcode_minus_L"
-    # Check whether --enable-rpath was given.
-if test "${enable_rpath+set}" = set; then
-  enableval=$enable_rpath; :
-else
-  enable_rpath=yes
-fi
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
 
 
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 
-enableval=yes
-{ $as_echo "$as_me:$LINENO: checking whether to compile with debug info" >&5
-$as_echo_n "checking whether to compile with debug info... " >&6; }
-# Check whether --enable-debugging was given.
-if test "${enable_debugging+set}" = set; then
-  enableval=$enable_debugging;
-fi
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.
 
-case "${enableval}" in
-yes)
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-  OPT_FLAGS="-g"
-  ;;
-no)
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-  ;;
-*)
-  { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-debugging, needs yes or no" >&5
-$as_echo "$as_me: error: bad value ${enableval} for --enable-debugging, needs yes or no" >&2;}
-   { (exit 1); exit 1; }; }
-  ;;
-esac
+AMTAR=${AMTAR-"${am_missing_run}tar"}
 
-enableval=no
-{ $as_echo "$as_me:$LINENO: checking whether to compile for profiling" >&5
-$as_echo_n "checking whether to compile for profiling... " >&6; }
-# Check whether --enable-profiling was given.
-if test "${enable_profiling+set}" = set; then
-  enableval=$enable_profiling;
-fi
+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
 
-case "${enableval}" in
-yes)
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-  OPT_FLAGS="-g"
-  COMP_FLAGS="$COMP_FLAGS -pg -DPWL_PROFILING=1"
-  ;;
-no)
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-  ;;
-*)
-  { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-profiling, needs yes or no" >&5
-$as_echo "$as_me: error: bad value ${enableval} for --enable-profiling, needs yes or no" >&2;}
-   { (exit 1); exit 1; }; }
-  ;;
-esac
 
-enableval=no
-{ $as_echo "$as_me:$LINENO: checking whether to compile for test coverage" >&5
-$as_echo_n "checking whether to compile for test coverage... " >&6; }
-# Check whether --enable-coverage was given.
-if test "${enable_coverage+set}" = set; then
-  enableval=$enable_coverage;
-fi
 
-case "${enableval}" in
-yes)
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-  OPT_FLAGS="-g"
-  COMP_FLAGS="$COMP_FLAGS -fprofile-arcs -ftest-coverage"
-  ;;
-no)
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-  ;;
-*)
-  { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-coverage, needs yes or no" >&5
-$as_echo "$as_me: error: bad value ${enableval} for --enable-coverage, needs yes or no" >&2;}
-   { (exit 1); exit 1; }; }
-  ;;
-esac
 
-enableval=no
-{ $as_echo "$as_me:$LINENO: checking whether to enable checking of run-time assertions" >&5
-$as_echo_n "checking whether to enable checking of run-time assertions... " >&6; }
-# Check whether --enable-assertions was given.
-if test "${enable_assertions+set}" = set; then
-  enableval=$enable_assertions;
-fi
 
-case "${enableval}" in
-yes)
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-  ;;
-no)
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
 
-cat >>confdefs.h <<\_ACEOF
-#define NDEBUG 1
-_ACEOF
 
-  debug_flag="-DNDEBUG=1"
-  ;;
-*)
-  { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} --enable-assertions, needs yes or no" >&5
-$as_echo "$as_me: error: bad value ${enableval} --enable-assertions, needs yes or no" >&2;}
-   { (exit 1); exit 1; }; }
-  ;;
-esac
+# Generate a configuration header file.
+ac_config_headers="$ac_config_headers config.h"
 
-arch=no
-enableval=standard
-{ $as_echo "$as_me:$LINENO: checking whether to enable optimizations" >&5
-$as_echo_n "checking whether to enable optimizations... " >&6; }
-# Check whether --enable-optimization was given.
-if test "${enable_optimization+set}" = set; then
-  enableval=$enable_optimization;
-fi
 
-case "${enableval}" in
-sspeed)
-  { $as_echo "$as_me:$LINENO: result: sspeed" >&5
-$as_echo "sspeed" >&6; }
-  OPT_FLAGS="$OPT_FLAGS -O3 -fomit-frame-pointer"
-  arch=yes
-  ;;
-speed)
-  { $as_echo "$as_me:$LINENO: result: speed" >&5
-$as_echo "speed" >&6; }
-  OPT_FLAGS="$OPT_FLAGS -O3"
-  arch=yes
-  ;;
-size)
-  { $as_echo "$as_me:$LINENO: result: size" >&5
-$as_echo "size" >&6; }
-  OPT_FLAGS="$OPT_FLAGS -Os"
-  arch=yes
-  ;;
-standard | yes)
-  { $as_echo "$as_me:$LINENO: result: standard" >&5
-$as_echo "standard" >&6; }
-  OPT_FLAGS="$OPT_FLAGS -O2"
-  ;;
-mild)
-  { $as_echo "$as_me:$LINENO: result: mild" >&5
-$as_echo "mild" >&6; }
-  OPT_FLAGS="$OPT_FLAGS -O1"
-  ;;
-zero)
-  { $as_echo "$as_me:$LINENO: result: zero" >&5
-$as_echo "zero" >&6; }
-  OPT_FLAGS="$OPT_FLAGS -O0"
-  ;;
-no)
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-  ;;
-*)
-  { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-optimization, needs sspeed, speed, size, standard, mild, zero, yes or no" >&5
-$as_echo "$as_me: error: bad value ${enableval} for --enable-optimization, needs sspeed, speed, size, standard, mild, zero, yes or no" >&2;}
-   { (exit 1); exit 1; }; }
-  ;;
-esac
+ISODATE=`date +%Y-%m-%d`
 
-enableval=$arch
-{ $as_echo "$as_me:$LINENO: checking for which architecture to optimize" >&5
-$as_echo_n "checking for which architecture to optimize... " >&6; }
-# Check whether --enable-arch was given.
-if test "${enable_arch+set}" = set; then
-  enableval=$enable_arch;
-fi
 
-case "${enableval}" in
-yes)
-  m=`uname -m`
-  case $m in
-  i?86 | k6 | athlon)
-    { $as_echo "$as_me:$LINENO: result: $m" >&5
-$as_echo "$m" >&6; }
-    OPT_FLAGS="$OPT_FLAGS -march=$m"
-    ;;
-  *)
-    { $as_echo "$as_me:$LINENO: result: default" >&5
-$as_echo "default" >&6; }
-    ;;
-  esac
-  ;;
-no)
-  { $as_echo "$as_me:$LINENO: result: default" >&5
-$as_echo "default" >&6; }
-  ;;
-*)
-  { $as_echo "$as_me:$LINENO: result: $enableval" >&5
-$as_echo "$enableval" >&6; }
-  OPT_FLAGS="$OPT_FLAGS -march=$enableval"
-  ;;
-esac
 
-CFLAGS="$COMP_FLAGS $OPT_FLAGS $CFLAGS"
-CXXFLAGS="$COMP_FLAGS $OPT_FLAGS $CXXFLAGS"
 
-# System-dependent adjustments.
-no_undefined=no
+# C compiler.
 
-case "${host_os}" in
-cygwin)
-  no_undefined=yes
-  ;;
-*)
-  ;;
-esac
- if test x$no_undefined = xyes; then
-  NO_UNDEFINED_TRUE=
-  NO_UNDEFINED_FALSE='#'
-else
-  NO_UNDEFINED_TRUE='#'
-  NO_UNDEFINED_FALSE=
+
+# Check whether --with-cc was given.
+if test "${with_cc+set}" = set; then :
+  withval=$with_cc; CC=$with_cc
 fi
 
 
+# C++ compiler.
+
 
-# Allow additions to C and C++ compilation flags.
+# Check whether --with-cxx was given.
+if test "${with_cxx+set}" = set; then :
+  withval=$with_cxx; CXX=$with_cxx
+fi
 
 
-# Check whether --with-cflags was given.
-if test "${with_cflags+set}" = set; then
-  withval=$with_cflags; CFLAGS="$CFLAGS $with_cflags"
+# Checks for programs.
+
+# Note that AC_PROG_CC must precede the first use of $GCC abd AC_PROG_CXX
+# must precede the first use of $GXX.  Note also that we do not allow
+# AC_PROG_CC and AC_PROG_CXX to affect CFLAGS and CXXFLAGS.
+save_CFLAGS="$CFLAGS"
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="${ac_tool_prefix}gcc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CC="gcc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-# Check whether --with-cxxflags was given.
-if test "${with_cxxflags+set}" = set; then
-  withval=$with_cxxflags; CXXFLAGS="$CXXFLAGS $with_cxxflags"
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+else
+  CC="$ac_cv_prog_CC"
+fi
 
-# Check for Perl.
-# Extract the first word of "perl", so it can be a program name with args.
-set dummy perl; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+if test -z "$CC"; then
+          if test -n "$ac_tool_prefix"; then
+    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_PERL+set}" = set; then
+if test "${ac_cv_prog_CC+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  case $PERL in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    ac_cv_prog_CC="${ac_tool_prefix}cc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
-  test -z "$ac_cv_path_PERL" && ac_cv_path_PERL="no"
-  ;;
-esac
 fi
-PERL=$ac_cv_path_PERL
-if test -n "$PERL"; then
-  { $as_echo "$as_me:$LINENO: result: $PERL" >&5
-$as_echo "$PERL" >&6; }
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 
-
- if test x"$PERL" != xno; then
-  HAVE_PERL_TRUE=
-  HAVE_PERL_FALSE='#'
-else
-  HAVE_PERL_TRUE='#'
-  HAVE_PERL_FALSE=
+  fi
 fi
-
-
-# Checks for C typedefs, structures, and compiler characteristics.
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-{ $as_echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
-$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
-if test "${ac_cv_c_const+set}" = set; then
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-/* FIXME: Include the comments suggested by Paul. */
-#ifndef __cplusplus
-  /* Ultrix mips cc rejects this.  */
-  typedef int charset[2];
-  const charset cs;
-  /* SunOS 4.1.1 cc rejects this.  */
-  char const *const *pcpcc;
-  char **ppc;
-  /* NEC SVR4.0.2 mips cc rejects this.  */
-  struct point {int x, y;};
-  static struct point const zero = {0,0};
-  /* AIX XL C 1.02.0.0 rejects this.
-     It does not let you subtract one const X* pointer from another in
-     an arm of an if-expression whose if-part is not a constant
-     expression */
-  const char *g = "string";
-  pcpcc = &g + (g ? g-g : 0);
-  /* HPUX 7.0 cc rejects these. */
-  ++pcpcc;
-  ppc = (char**) pcpcc;
-  pcpcc = (char const *const *) ppc;
-  { /* SCO 3.2v4 cc rejects this.  */
-    char *t;
-    char const *s = 0 ? (char *) 0 : (char const *) 0;
-
-    *t++ = 0;
-    if (s) return 0;
-  }
-  { /* Someone thinks the Sun supposedly-ANSI compiler will reject this.  */
-    int x[] = {25, 17};
-    const int *foo = &x[0];
-    ++foo;
-  }
-  { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
-    typedef const int *iptr;
-    iptr p = 0;
-    ++p;
-  }
-  { /* AIX XL C 1.02.0.0 rejects this saying
-       "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
-    struct s { int j; const int *ap[3]; };
-    struct s *b; b->j = 5;
-  }
-  { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
-    const int foo = 10;
-    if (!foo) return 0;
-  }
-  return !cs[0] && !zero.x;
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_c_const=yes
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+       ac_prog_rejected=yes
+       continue
+     fi
+    ac_cv_prog_CC="cc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-	ac_cv_c_const=no
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# != 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+  fi
 fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
-$as_echo "$ac_cv_c_const" >&6; }
-if test $ac_cv_c_const = no; then
-
-cat >>confdefs.h <<\_ACEOF
-#define const /**/
-_ACEOF
-
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
-enableval=no
-{ $as_echo "$as_me:$LINENO: checking whether tests should be run under Valgrind" >&5
-$as_echo_n "checking whether tests should be run under Valgrind... " >&6; }
-# Check whether --enable-valgrind-tests was given.
-if test "${enable_valgrind_tests+set}" = set; then
-  enableval=$enable_valgrind_tests;
 fi
-
-case "${enableval}" in
-yes)
-  # Extract the first word of "valgrind", so it can be a program name with args.
-set dummy valgrind; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in cl.exe
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_VALGRIND+set}" = set; then
+if test "${ac_cv_prog_CC+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$VALGRIND"; then
-  ac_cv_prog_VALGRIND="$VALGRIND" # Let the user override the test.
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_VALGRIND="valgrind"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
-VALGRIND=$ac_cv_prog_VALGRIND
-if test -n "$VALGRIND"; then
-  { $as_echo "$as_me:$LINENO: result: $VALGRIND" >&5
-$as_echo "$VALGRIND" >&6; }
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 
-  if test x"$VALGRIND" = xvalgrind
-  then
-    { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-    enable_valgrind_tests=yes
-  else
-    { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-valgrind-tests, cannot find Valgrind" >&5
-$as_echo "$as_me: error: bad value ${enableval} for --enable-valgrind-tests, cannot find Valgrind" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
-  ;;
-no)
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-  enable_valgrind_tests=no
-  ;;
-*)
-  { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-valgrind-tests, needs yes or no" >&5
-$as_echo "$as_me: error: bad value ${enableval} for --enable-valgrind-tests, needs yes or no" >&2;}
-   { (exit 1); exit 1; }; }
-  ;;
-esac
- if test x"$enable_valgrind_tests" = xyes; then
-  VALGRIND_TESTS_ENABLED_TRUE=
-  VALGRIND_TESTS_ENABLED_FALSE='#'
-else
-  VALGRIND_TESTS_ENABLED_TRUE='#'
-  VALGRIND_TESTS_ENABLED_FALSE=
+    test -n "$CC" && break
+  done
 fi
-
-
-# setitimer() is a strong requisite for the PWL.
-
-for ac_func in setitimer
+if test -z "$CC"; then
+  ac_ct_CC=$CC
+  for ac_prog in cl.exe
 do
-as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
-$as_echo_n "checking for $ac_func... " >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$ac_func || defined __stub___$ac_func
-choke me
-#endif
-
-int
-main ()
-{
-return $ac_func ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  eval "$as_ac_var=yes"
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CC="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-	eval "$as_ac_var=no"
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
 fi
-ac_res=`eval 'as_val=${'$as_ac_var'}
-		 $as_echo "$as_val"'`
-	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-		 $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
- have_setitimer=yes
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
 else
-  have_setitimer=no
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
-done
 
 
-enableval=default
-{ $as_echo "$as_me:$LINENO: checking whether to build the Parma Watchdog Library" >&5
-$as_echo_n "checking whether to build the Parma Watchdog Library... " >&6; }
-# Check whether --enable-watchdog was given.
-if test "${enable_watchdog+set}" = set; then
-  enableval=$enable_watchdog;
-fi
+  test -n "$ac_ct_CC" && break
+done
 
-case "${enableval}" in
-yes)
-  if test x"$have_setitimer" = xyes
-  then
-    build_watchdog_library=yes
+  if test "x$ac_ct_CC" = x; then
+    CC=""
   else
-    { { $as_echo "$as_me:$LINENO: error: CANNOT BUILD THE WATCHDOG LIBRARY
-*** THE SYSTEM DOES NOT PROVIDE THE SETITIMER FUNCTION." >&5
-$as_echo "$as_me: error: CANNOT BUILD THE WATCHDOG LIBRARY
-*** THE SYSTEM DOES NOT PROVIDE THE SETITIMER FUNCTION." >&2;}
-   { (exit 1); exit 1; }; }
-  fi
-  ;;
-default)
-  build_watchdog_library=$have_setitimer
-  ;;
-no)
-  build_watchdog_library=no
-  ;;
-*)
-  { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-watchdog, needs yes or no" >&5
-$as_echo "$as_me: error: bad value ${enableval} for --enable-watchdog, needs yes or no" >&2;}
-   { (exit 1); exit 1; }; }
-  ;;
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
 esac
-{ $as_echo "$as_me:$LINENO: result: $build_watchdog_library" >&5
-$as_echo "$build_watchdog_library" >&6; }
- if test x"$build_watchdog_library" = xyes; then
-  BUILD_WATCHDOG_LIBRARY_TRUE=
-  BUILD_WATCHDOG_LIBRARY_FALSE='#'
-else
-  BUILD_WATCHDOG_LIBRARY_TRUE='#'
-  BUILD_WATCHDOG_LIBRARY_FALSE=
+    CC=$ac_ct_CC
+  fi
+fi
+
 fi
 
 
-if test x"$build_watchdog_library" = xyes
-then
-  # Checks for header files.
-  { $as_echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5
-$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
-if test "${ac_cv_header_time+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/time.h>
-#include <time.h>
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
-int
-main ()
-{
-if ((struct tm *) 0)
-return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+  { { ac_try="$ac_compiler $ac_option >&5"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_header_time=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  if test -s conftest.err; then
+    sed '10a\
+... rest of stderr output deleted ...
+         10q' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+  fi
+  rm -f conftest.er1 conftest.err
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+done
 
-	ac_cv_header_time=no
-fi
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5
-$as_echo "$ac_cv_header_time" >&6; }
-if test $ac_cv_header_time = yes; then
+int
+main ()
+{
 
-cat >>confdefs.h <<\_ACEOF
-#define TIME_WITH_SYS_TIME 1
+  ;
+  return 0;
+}
 _ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
-fi
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
 
-  ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
+ac_rmfiles=
+for ac_file in $ac_files
 do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+  esac
+done
+rm -f $ac_rmfiles
+
+if { { ac_try="$ac_link_default"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link_default") 2>&5
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  :
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile.  We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
+	;;
+    [ab].out )
+	# We found the default executable, but exeext='' is most
+	# certainly right.
+	break;;
+    *.* )
+	if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+	then :; else
+	   ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	fi
+	# We set ac_cv_exeext here because the later test for it is not
+	# safe: cross compilers may not add the suffix if given an `-o'
+	# argument, so we may need to know it at that point already.
+	# Even if this section looks crufty: it has the advantage of
+	# actually working.
+	break;;
+    * )
+	break;;
+  esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
 else
-  $as_echo "$as_me: failed program was:" >&5
+  ac_file=''
+fi
+if test -z "$ac_file"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-  # Broken: fails on valid input.
-continue
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
+ac_exeext=$ac_cv_exeext
 
-rm -f conftest.err conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
+if { { ac_try="$ac_link"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  # Broken: success on invalid input.
-continue
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	  break;;
+    * ) break;;
+  esac
 done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
-  break
-fi
-
-    done
-    ac_cv_prog_CPP=$CPP
-
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:$LINENO: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+else
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+rm -f conftest conftest$ac_cv_exeext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
 _ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  # Broken: fails on valid input.
-continue
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
 
-rm -f conftest.err conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
+if test "${ac_cv_objext+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <ac_nonexistent.h>
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
 _ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
+rm -f conftest.o conftest.obj
+if { { ac_try="$ac_compile"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>&5
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  # Broken: success on invalid input.
-continue
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  for ac_file in conftest.o conftest.obj conftest.*; do
+  test -f "$ac_file" || continue;
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
+    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+       break;;
+  esac
+done
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-  # Passes both tests.
-ac_preproc_ok=:
-break
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-rm -f conftest.err conftest.$ac_ext
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
 
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
-  :
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_compiler_gnu=yes
 else
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+  ac_compiler_gnu=no
 fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
 
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+  GCC=yes
+else
+  GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if test "${ac_cv_prog_cc_g+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -z "$GREP"; then
-  ac_path_GREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_prog in grep ggrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    ac_count=`expr $ac_count + 1`
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
+  ac_save_c_werror_flag=$ac_c_werror_flag
+   ac_c_werror_flag=yes
+   ac_cv_prog_cc_g=no
+   CFLAGS="-g"
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-      $ac_path_GREP_found && break 3
-    done
-  done
-done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_GREP"; then
-    { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_g=yes
 else
-  ac_cv_path_GREP=$GREP
-fi
+  CFLAGS=""
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
+int
+main ()
+{
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
 
-{ $as_echo "$as_me:$LINENO: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then
-  $as_echo_n "(cached) " >&6
 else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     if test -z "$EGREP"; then
-  ac_path_EGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_prog in egrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    ac_count=`expr $ac_count + 1`
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
+  ac_c_werror_flag=$ac_save_c_werror_flag
+	 CFLAGS="-g"
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-      $ac_path_EGREP_found && break 3
-    done
-  done
-done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_EGREP"; then
-    { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
-   { (exit 1); exit 1; }; }
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+  CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+  if test "$GCC" = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-g"
   fi
 else
-  ac_cv_path_EGREP=$EGREP
-fi
-
-   fi
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <stdlib.h>
 #include <stdarg.h>
-#include <string.h>
-#include <float.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not '\xHH' hex character constants.
+   These don't provoke an error unfortunately, instead are silently treated
+   as 'x'.  The following induces an error, until -std is added to get
+   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
+   array size at least.  It's necessary to write '\x00'==0 to get something
+   that's true only with -std.  */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+   inside strings and character constants.  */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
 
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
 int
 main ()
 {
-
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+  test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+  x)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+  xno)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+  *)
+    CC="$CC $ac_cv_prog_cc_c89"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_header_stdc=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if test "x$ac_cv_prog_cc_c89" != xno; then :
 
-	ac_cv_header_stdc=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+DEPDIR="${am__leading_dot}deps"
 
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <string.h>
+ac_config_commands="$ac_config_commands depfiles"
 
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then
-  :
-else
-  ac_cv_header_stdc=no
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+	@echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+  am__include=include
+  am__quote=
+  _am_result=GNU
+  ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   case `$am_make -s -f confmf 2> /dev/null` in #(
+   *the\ am__doit\ target*)
+     am__include=.include
+     am__quote="\""
+     _am_result=BSD
+     ;;
+   esac
 fi
-rm -f conftest*
 
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then :
+  enableval=$enable_dependency_tracking;
 fi
 
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <stdlib.h>
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+fi
+ if test "x$enable_dependency_tracking" != xno; then
+  AMDEP_TRUE=
+  AMDEP_FALSE='#'
+else
+  AMDEP_TRUE='#'
+  AMDEP_FALSE=
+fi
+
+
+
+depcc="$CC"   am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_CC_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  am__universal=false
+  case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac
+
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
+    case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    msvisualcpp | msvcmsys)
+      # This compiler won't grok `-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
+    none) break ;;
+    esac
+    if depmode=$depmode \
+       source=sub/conftest.c object=$am__obj \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CC_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
 
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then
-  :
+  cd ..
+  rm -rf conftest.dir
 else
-  ac_cv_header_stdc=no
+  am_cv_CC_dependencies_compiler_type=none
 fi
-rm -f conftest*
 
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
 
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then
-  :
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-		   (('a' <= (c) && (c) <= 'i') \
-		     || ('j' <= (c) && (c) <= 'r') \
-		     || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-	|| toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  :
+ if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+  am__fastdepCC_TRUE=
+  am__fastdepCC_FALSE='#'
 else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_header_stdc=no
-fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+  am__fastdepCC_TRUE='#'
+  am__fastdepCC_FALSE=
 fi
 
 
-fi
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define STDC_HEADERS 1
-_ACEOF
+CFLAGS="$save_CFLAGS"
 
+ if test x"$GCC" = xyes; then
+  GCC_TRUE=
+  GCC_FALSE='#'
+else
+  GCC_TRUE='#'
+  GCC_FALSE=
 fi
 
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-
-
-
-
-
-
 
+# The Intel C compiler masquerades as gcc, but we want to know.
+if test x"$GCC" = xyes
+then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are actually using the Intel C compiler" >&5
+$as_echo_n "checking whether we are actually using the Intel C compiler... " >&6; }
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-		  inttypes.h stdint.h unistd.h
-do
-as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-$ac_includes_default
 
-#include <$ac_header>
+#ifndef __INTEL_COMPILER
+choke me
+#endif
+
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  eval "$as_ac_Header=yes"
+if ac_fn_c_try_compile "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  ICC=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	eval "$as_ac_Header=no"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  ICC=no
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
-		 $as_echo "$as_val"'`
-	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_Header'}
-		 $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 fi
 
+save_CXXFLAGS="$CXXFLAGS"
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+if test -z "$CXX"; then
+  if test -n "$CCC"; then
+    CXX=$CCC
+  else
+    if test -n "$ac_tool_prefix"; then
+  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CXX+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CXX"; then
+  ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
 done
+  done
+IFS=$as_save_IFS
 
+fi
+fi
+CXX=$ac_cv_prog_CXX
+if test -n "$CXX"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
+$as_echo "$CXX" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
 
-
-for ac_header in fenv.h sys/time.h
+    test -n "$CXX" && break
+  done
+fi
+if test -z "$CXX"; then
+  ac_ct_CXX=$CXX
+  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
 do
-as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then :
   $as_echo_n "(cached) " >&6
-fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
-		 $as_echo "$as_val"'`
-	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
 else
-  # Is the header compilable?
-{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
-$as_echo_n "checking $ac_header usability... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
+  if test -n "$ac_ct_CXX"; then
+  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CXX="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-	ac_header_compiler=no
 fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
-$as_echo_n "checking $ac_header presence... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
 fi
-
-rm -f conftest.err conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    ( cat <<\_ASBOX
-## ---------------------------------- ##
-## Report this to bagnara at cs.unipr.it ##
-## ---------------------------------- ##
-_ASBOX
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
+ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+if test -n "$ac_ct_CXX"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
+$as_echo "$ac_ct_CXX" >&6; }
 else
-  eval "$as_ac_Header=\$ac_header_preproc"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
-		 $as_echo "$as_val"'`
-	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
 
-fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-		 $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
 
+  test -n "$ac_ct_CXX" && break
+done
+
+  if test "x$ac_ct_CXX" = x; then
+    CXX="g++"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CXX=$ac_ct_CXX
+  fi
 fi
 
+  fi
+fi
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+  { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    sed '10a\
+... rest of stderr output deleted ...
+         10q' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+  fi
+  rm -f conftest.er1 conftest.err
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
 done
 
-
-  # Checks for the availability of C library functions in C++.
-  { $as_echo "$as_me:$LINENO: checking whether getenv is declared" >&5
-$as_echo_n "checking whether getenv is declared... " >&6; }
-if test "${ac_cv_have_decl_getenv+set}" = set; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
+$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
+if test "${ac_cv_cxx_compiler_gnu+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <cstdlib>
 
 int
 main ()
 {
-#ifndef getenv
-  (void) getenv;
+#ifndef __GNUC__
+       choke me
 #endif
 
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_getenv=yes
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_compiler_gnu=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_have_decl_getenv=no
+  ac_compiler_gnu=no
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_getenv" >&5
-$as_echo "$ac_cv_have_decl_getenv" >&6; }
-if test "x$ac_cv_have_decl_getenv" = x""yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_GETENV 1
-_ACEOF
-
+ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
+$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+  GXX=yes
 else
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_GETENV 0
-_ACEOF
-
-
+  GXX=
 fi
-
-
-
-  # Checks for typedefs, structures, and compiler characteristics.
-  { $as_echo "$as_me:$LINENO: checking for siginfo_t" >&5
-$as_echo_n "checking for siginfo_t... " >&6; }
-if test "${ac_cv_type_siginfo_t+set}" = set; then
+ac_test_CXXFLAGS=${CXXFLAGS+set}
+ac_save_CXXFLAGS=$CXXFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
+$as_echo_n "checking whether $CXX accepts -g... " >&6; }
+if test "${ac_cv_prog_cxx_g+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  ac_cv_type_siginfo_t=no
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+   ac_cxx_werror_flag=yes
+   ac_cv_prog_cxx_g=no
+   CXXFLAGS="-g"
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#include <signal.h>
-
-
 int
 main ()
 {
-if (sizeof (siginfo_t))
-       return 0;
+
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_cv_prog_cxx_g=yes
+else
+  CXXFLAGS=""
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#include <signal.h>
-
-
 int
 main ()
 {
-if (sizeof ((siginfo_t)))
-	  return 0;
+
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_type_siginfo_t=yes
-fi
+if ac_fn_cxx_try_compile "$LINENO"; then :
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+	 CXXFLAGS="-g"
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+int
+main ()
+{
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_cv_prog_cxx_g=yes
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_siginfo_t" >&5
-$as_echo "$ac_cv_type_siginfo_t" >&6; }
-if test "x$ac_cv_type_siginfo_t" = x""yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_SIGINFO_T 1
-_ACEOF
-
-
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_cxx_werror_flag=$ac_save_cxx_werror_flag
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
+$as_echo "$ac_cv_prog_cxx_g" >&6; }
+if test "$ac_test_CXXFLAGS" = set; then
+  CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+  if test "$GXX" = yes; then
+    CXXFLAGS="-g -O2"
+  else
+    CXXFLAGS="-g"
+  fi
+else
+  if test "$GXX" = yes; then
+    CXXFLAGS="-O2"
+  else
+    CXXFLAGS=
+  fi
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-# Libtool.
-case `pwd` in
-  *\ * | *\	*)
-    { $as_echo "$as_me:$LINENO: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
+depcc="$CXX"  am_compiler_list=
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
 
-macro_version='2.2.6'
-macro_revision='1.3012'
+  am_cv_CXX_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  am__universal=false
+  case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac
 
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
+    case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    msvisualcpp | msvcmsys)
+      # This compiler won't grok `-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
+    none) break ;;
+    esac
+    if depmode=$depmode \
+       source=sub/conftest.c object=$am__obj \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CXX_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
 
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CXX_dependencies_compiler_type=none
+fi
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
+CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
 
+ if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
+  am__fastdepCXX_TRUE=
+  am__fastdepCXX_FALSE='#'
+else
+  am__fastdepCXX_TRUE='#'
+  am__fastdepCXX_FALSE=
+fi
 
 
+CXXFLAGS="$save_CXXFLAGS"
 
+# The Intel C++ compiler masquerades as g++, but we want to know.
+if test x"$GXX" = xyes
+then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are actually using the Intel C++ compiler" >&5
+$as_echo_n "checking whether we are actually using the Intel C++ compiler... " >&6; }
+  ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+#ifndef __INTEL_COMPILER
+choke me
+#endif
 
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  ICPC=yes
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  ICPC=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-ltmain="$ac_aux_dir/ltmain.sh"
+fi
 
-{ $as_echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then
+if test "${ac_cv_path_SED+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
             ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
@@ -6678,7 +4525,7 @@ else
        ac_script="$ac_script$as_nl$ac_script"
      done
      echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
-     $as_unset ac_script || ac_script=
+     { ac_script=; unset ac_script;}
      if test -z "$SED"; then
   ac_path_SED_found=false
   # Loop through the user's path and test for each of PROGNAME-LIST
@@ -6687,7 +4534,7 @@ for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_prog in sed gsed; do
+    for ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
       { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
@@ -6707,7 +4554,7 @@ case `"$ac_path_SED" --version 2>&1` in
     $as_echo '' >> "conftest.nl"
     "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
     diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    ac_count=`expr $ac_count + 1`
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
     if test $ac_count -gt ${ac_path_SED_max-0}; then
       # Best one so far, save it but keep looking for a better one
       ac_cv_path_SED="$ac_path_SED"
@@ -6722,137 +4569,220 @@ esac
       $ac_path_SED_found && break 3
     done
   done
-done
+  done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_SED"; then
-    { { $as_echo "$as_me:$LINENO: error: no acceptable sed could be found in \$PATH" >&5
-$as_echo "$as_me: error: no acceptable sed could be found in \$PATH" >&2;}
-   { (exit 1); exit 1; }; }
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
   fi
 else
   ac_cv_path_SED=$SED
 fi
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
 $as_echo "$ac_cv_path_SED" >&6; }
  SED="$ac_cv_path_SED"
   rm -f conftest.sed
 
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:$LINENO: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if test "${ac_cv_path_FGREP+set}" = set; then
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
+$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
+if test -z "$CXXCPP"; then
+  if test "${ac_cv_prog_CXXCPP+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
-   then ac_cv_path_FGREP="$GREP -F"
-   else
-     if test -z "$FGREP"; then
-  ac_path_FGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+      # Double quotes because CXXCPP needs to be expanded
+    for CXXCPP in "$CXX -E" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
 do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_prog in fgrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
-  # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'FGREP' >> "conftest.nl"
-    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    ac_count=`expr $ac_count + 1`
-    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_FGREP="$ac_path_FGREP"
-      ac_path_FGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
 
-      $ac_path_FGREP_found && break 3
-    done
-  done
-done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_FGREP"; then
-    { { $as_echo "$as_me:$LINENO: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-$as_echo "$as_me: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
 else
-  ac_cv_path_FGREP=$FGREP
+  # Broken: fails on valid input.
+continue
 fi
+rm -f conftest.err conftest.i conftest.$ac_ext
 
-   fi
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
+rm -f conftest.err conftest.i conftest.$ac_ext
 
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+  break
+fi
 
+    done
+    ac_cv_prog_CXXCPP=$CXXCPP
 
+fi
+  CXXCPP=$ac_cv_prog_CXXCPP
+else
+  ac_cv_prog_CXXCPP=$CXXCPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
+$as_echo "$CXXCPP" >&6; }
+ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
 
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
 
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
 
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
 
+else
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
+fi
 
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+	@echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+  *@@@%%%=?*=@@@%%%*)
+    eval ac_cv_prog_make_${ac_make}_set=yes;;
+  *)
+    eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  SET_MAKE=
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
 
 
 
+# Compilation flags.
 
+COMP_FLAGS=""
+OPT_FLAGS=""
 
+# Determine the system-dependent aspects of rpath usage and add
+# the --disable-rpath configure option.
 
 # Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
+if test "${with_gnu_ld+set}" = set; then :
   withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
 else
   with_gnu_ld=no
 fi
 
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
 ac_prog=ld
 if test "$GCC" = yes; then
   # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5
+$as_echo_n "checking for ld used by GCC... " >&6; }
   case $host in
   *-*-mingw*)
     # gcc leaves a trailing carriage return which upsets mingw
@@ -6862,12 +4792,12 @@ $as_echo_n "checking for ld used by $CC... " >&6; }
   esac
   case $ac_prog in
     # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
+    [\\/]* | [A-Za-z]:[\\/]*)
       re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
-      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
-	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+      # Canonicalize the path of ld
+      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
+      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
       done
       test -z "$LD" && LD="$ac_prog"
       ;;
@@ -6881,600 +4811,1025 @@ $as_echo_n "checking for ld used by $CC... " >&6; }
     ;;
   esac
 elif test "$with_gnu_ld" = yes; then
-  { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
 $as_echo_n "checking for GNU ld... " >&6; }
 else
-  { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
 $as_echo_n "checking for non-GNU ld... " >&6; }
 fi
-if test "${lt_cv_path_LD+set}" = set; then
+if test "${acl_cv_path_LD+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
   for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
     test -z "$ac_dir" && ac_dir=.
     if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
+      acl_cv_path_LD="$ac_dir/$ac_prog"
       # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
+      # but apparently some GNU ld's only accept -v.
       # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
       *GNU* | *'with BFD'*)
-	test "$with_gnu_ld" != no && break
-	;;
+	test "$with_gnu_ld" != no && break ;;
       *)
-	test "$with_gnu_ld" != yes && break
-	;;
+	test "$with_gnu_ld" != yes && break ;;
       esac
     fi
   done
-  IFS="$lt_save_ifs"
+  IFS="$ac_save_ifs"
 else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
+  acl_cv_path_LD="$LD" # Let the user override the test with a path.
 fi
 fi
 
-LD="$lt_cv_path_LD"
+LD="$acl_cv_path_LD"
 if test -n "$LD"; then
-  { $as_echo "$as_me:$LINENO: result: $LD" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
 $as_echo "$LD" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
-test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
-   { (exit 1); exit 1; }; }
-{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then
+if test "${acl_cv_prog_gnu_ld+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  # I'd rather use --version here, but apparently some GNU lds only accept -v.
+  # I'd rather use --version here, but apparently some GNU ld's only accept -v.
 case `$LD -v 2>&1 </dev/null` in
 *GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
+  acl_cv_prog_gnu_ld=yes ;;
+*)
+  acl_cv_prog_gnu_ld=no ;;
+esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5
+$as_echo "$acl_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$acl_cv_prog_gnu_ld
+
+
+
+
+                                                { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5
+$as_echo_n "checking for shared library run path origin... " >&6; }
+if test "${acl_cv_rpath+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+
+    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
+    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
+    . ./conftest.sh
+    rm -f ./conftest.sh
+    acl_cv_rpath=done
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5
+$as_echo "$acl_cv_rpath" >&6; }
+  wl="$acl_cv_wl"
+  acl_libext="$acl_cv_libext"
+  acl_shlibext="$acl_cv_shlibext"
+  acl_libname_spec="$acl_cv_libname_spec"
+  acl_library_names_spec="$acl_cv_library_names_spec"
+  acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+  acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+  acl_hardcode_direct="$acl_cv_hardcode_direct"
+  acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
+    # Check whether --enable-rpath was given.
+if test "${enable_rpath+set}" = set; then :
+  enableval=$enable_rpath; :
+else
+  enable_rpath=yes
+fi
+
+
+
+enableval=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to compile with debug info" >&5
+$as_echo_n "checking whether to compile with debug info... " >&6; }
+# Check whether --enable-debugging was given.
+if test "${enable_debugging+set}" = set; then :
+  enableval=$enable_debugging;
+fi
+
+case "${enableval}" in
+yes)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  OPT_FLAGS="-g"
+  ;;
+no)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
   ;;
 *)
-  lt_cv_prog_gnu_ld=no
+  as_fn_error $? "bad value ${enableval} for --enable-debugging, needs yes or no" "$LINENO" 5
   ;;
 esac
+
+enableval=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to compile for profiling" >&5
+$as_echo_n "checking whether to compile for profiling... " >&6; }
+# Check whether --enable-profiling was given.
+if test "${enable_profiling+set}" = set; then :
+  enableval=$enable_profiling;
 fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
 
+case "${enableval}" in
+yes)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  OPT_FLAGS="-g"
+  COMP_FLAGS="$COMP_FLAGS -pg -DPWL_PROFILING=1"
+  ;;
+no)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  ;;
+*)
+  as_fn_error $? "bad value ${enableval} for --enable-profiling, needs yes or no" "$LINENO" 5
+  ;;
+esac
 
+enableval=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to compile for test coverage" >&5
+$as_echo_n "checking whether to compile for test coverage... " >&6; }
+# Check whether --enable-coverage was given.
+if test "${enable_coverage+set}" = set; then :
+  enableval=$enable_coverage;
+fi
 
+case "${enableval}" in
+yes)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  OPT_FLAGS="-g"
+  COMP_FLAGS="$COMP_FLAGS -fprofile-arcs -ftest-coverage"
+  ;;
+no)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  ;;
+*)
+  as_fn_error $? "bad value ${enableval} for --enable-coverage, needs yes or no" "$LINENO" 5
+  ;;
+esac
 
+enableval=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable checking of run-time assertions" >&5
+$as_echo_n "checking whether to enable checking of run-time assertions... " >&6; }
+# Check whether --enable-assertions was given.
+if test "${enable_assertions+set}" = set; then :
+  enableval=$enable_assertions;
+fi
 
+case "${enableval}" in
+yes)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  ;;
+no)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 
+$as_echo "#define PWL_NDEBUG 1" >>confdefs.h
 
+  debug_flag="-DNDEBUG=1"
+  ;;
+*)
+  as_fn_error $? "bad value ${enableval} --enable-assertions, needs yes or no" "$LINENO" 5
+  ;;
+esac
 
+arch=no
+enableval=standard
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable optimizations" >&5
+$as_echo_n "checking whether to enable optimizations... " >&6; }
+# Check whether --enable-optimization was given.
+if test "${enable_optimization+set}" = set; then :
+  enableval=$enable_optimization;
+fi
 
-{ $as_echo "$as_me:$LINENO: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if test "${lt_cv_path_NM+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM="$NM"
+case "${enableval}" in
+sspeed)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: sspeed" >&5
+$as_echo "sspeed" >&6; }
+  OPT_FLAGS="$OPT_FLAGS -O3 -fomit-frame-pointer"
+  arch=yes
+  ;;
+speed)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: speed" >&5
+$as_echo "speed" >&6; }
+  OPT_FLAGS="$OPT_FLAGS -O3"
+  arch=yes
+  ;;
+size)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: size" >&5
+$as_echo "size" >&6; }
+  OPT_FLAGS="$OPT_FLAGS -Os"
+  arch=yes
+  ;;
+standard | yes)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: standard" >&5
+$as_echo "standard" >&6; }
+  OPT_FLAGS="$OPT_FLAGS -O2"
+  ;;
+mild)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: mild" >&5
+$as_echo "mild" >&6; }
+  OPT_FLAGS="$OPT_FLAGS -O1"
+  ;;
+zero)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: zero" >&5
+$as_echo "zero" >&6; }
+  OPT_FLAGS="$OPT_FLAGS -O0"
+  ;;
+no)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  ;;
+*)
+  as_fn_error $? "bad value ${enableval} for --enable-optimization, needs sspeed, speed, size, standard, mild, zero, yes or no" "$LINENO" 5
+  ;;
+esac
+
+enableval=$arch
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for which architecture to optimize" >&5
+$as_echo_n "checking for which architecture to optimize... " >&6; }
+# Check whether --enable-arch was given.
+if test "${enable_arch+set}" = set; then :
+  enableval=$enable_arch;
+fi
+
+case "${enableval}" in
+yes)
+  m=`uname -m`
+  case $m in
+  i?86 | k6 | athlon)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $m" >&5
+$as_echo "$m" >&6; }
+    OPT_FLAGS="$OPT_FLAGS -march=$m"
+    ;;
+  *)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: default" >&5
+$as_echo "default" >&6; }
+    ;;
+  esac
+  ;;
+no)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: default" >&5
+$as_echo "default" >&6; }
+  ;;
+*)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enableval" >&5
+$as_echo "$enableval" >&6; }
+  OPT_FLAGS="$OPT_FLAGS -march=$enableval"
+  ;;
+esac
+
+CFLAGS="$COMP_FLAGS $OPT_FLAGS $CFLAGS"
+CXXFLAGS="$COMP_FLAGS $OPT_FLAGS $CXXFLAGS"
+
+# System-dependent adjustments.
+no_undefined=no
+
+case "${host_os}" in
+cygwin)
+  no_undefined=yes
+  ;;
+*)
+  ;;
+esac
+ if test x$no_undefined = xyes; then
+  NO_UNDEFINED_TRUE=
+  NO_UNDEFINED_FALSE='#'
 else
-  lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS="$lt_save_ifs"
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-	# Check to see if the nm accepts a BSD-compat flag.
-	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
-	#   nm: unknown option "B" ignored
-	# Tru64's nm complains that /dev/null is an invalid object file
-	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-	*/dev/null* | *'Invalid file or object type'*)
-	  lt_cv_path_NM="$tmp_nm -B"
-	  break
-	  ;;
-	*)
-	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-	  */dev/null*)
-	    lt_cv_path_NM="$tmp_nm -p"
-	    break
-	    ;;
-	  *)
-	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-	    continue # so that we can try to find one that supports BSD flags
-	    ;;
-	  esac
-	  ;;
-	esac
-      fi
-    done
-    IFS="$lt_save_ifs"
-  done
-  : ${lt_cv_path_NM=no}
+  NO_UNDEFINED_TRUE='#'
+  NO_UNDEFINED_FALSE=
+fi
+
+
+
+# Allow additions to C and C++ compilation flags.
+
+
+# Check whether --with-cflags was given.
+if test "${with_cflags+set}" = set; then :
+  withval=$with_cflags; CFLAGS="$CFLAGS $with_cflags"
 fi
+
+
+
+# Check whether --with-cxxflags was given.
+if test "${with_cxxflags+set}" = set; then :
+  withval=$with_cxxflags; CXXFLAGS="$CXXFLAGS $with_cxxflags"
 fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
-  NM="$lt_cv_path_NM"
-else
-  # Didn't find any BSD compatible name lister, look for dumpbin.
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in "dumpbin -symbols" "link -dump -symbols"
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+
+
+# Check for Perl.
+# Extract the first word of "perl", so it can be a program name with args.
+set dummy perl; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DUMPBIN+set}" = set; then
+if test "${ac_cv_path_PERL+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$DUMPBIN"; then
-  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+  case $PERL in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
+  test -z "$ac_cv_path_PERL" && ac_cv_path_PERL="no"
+  ;;
+esac
 fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
-  { $as_echo "$as_me:$LINENO: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
+PERL=$ac_cv_path_PERL
+if test -n "$PERL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5
+$as_echo "$PERL" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 
-    test -n "$DUMPBIN" && break
-  done
+
+ if test x"$PERL" != xno; then
+  HAVE_PERL_TRUE=
+  HAVE_PERL_FALSE='#'
+else
+  HAVE_PERL_TRUE='#'
+  HAVE_PERL_FALSE=
 fi
-if test -z "$DUMPBIN"; then
-  ac_ct_DUMPBIN=$DUMPBIN
-  for ac_prog in "dumpbin -symbols" "link -dump -symbols"
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+
+
+# Checks for C typedefs, structures, and compiler characteristics.
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
+$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
+if test "${ac_cv_c_const+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+/* FIXME: Include the comments suggested by Paul. */
+#ifndef __cplusplus
+  /* Ultrix mips cc rejects this.  */
+  typedef int charset[2];
+  const charset cs;
+  /* SunOS 4.1.1 cc rejects this.  */
+  char const *const *pcpcc;
+  char **ppc;
+  /* NEC SVR4.0.2 mips cc rejects this.  */
+  struct point {int x, y;};
+  static struct point const zero = {0,0};
+  /* AIX XL C 1.02.0.0 rejects this.
+     It does not let you subtract one const X* pointer from another in
+     an arm of an if-expression whose if-part is not a constant
+     expression */
+  const char *g = "string";
+  pcpcc = &g + (g ? g-g : 0);
+  /* HPUX 7.0 cc rejects these. */
+  ++pcpcc;
+  ppc = (char**) pcpcc;
+  pcpcc = (char const *const *) ppc;
+  { /* SCO 3.2v4 cc rejects this.  */
+    char *t;
+    char const *s = 0 ? (char *) 0 : (char const *) 0;
+
+    *t++ = 0;
+    if (s) return 0;
+  }
+  { /* Someone thinks the Sun supposedly-ANSI compiler will reject this.  */
+    int x[] = {25, 17};
+    const int *foo = &x[0];
+    ++foo;
+  }
+  { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
+    typedef const int *iptr;
+    iptr p = 0;
+    ++p;
+  }
+  { /* AIX XL C 1.02.0.0 rejects this saying
+       "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
+    struct s { int j; const int *ap[3]; };
+    struct s *b; b->j = 5;
+  }
+  { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
+    const int foo = 10;
+    if (!foo) return 0;
+  }
+  return !cs[0] && !zero.x;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_const=yes
+else
+  ac_cv_c_const=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5
+$as_echo "$ac_cv_c_const" >&6; }
+if test $ac_cv_c_const = no; then
+
+$as_echo "#define const /**/" >>confdefs.h
+
+fi
+
+
+# Use C++ for the remaining checks.
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+enableval=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether tests should be run under Valgrind" >&5
+$as_echo_n "checking whether tests should be run under Valgrind... " >&6; }
+# Check whether --enable-valgrind-tests was given.
+if test "${enable_valgrind_tests+set}" = set; then :
+  enableval=$enable_valgrind_tests;
+fi
+
+case "${enableval}" in
+yes)
+  # Extract the first word of "valgrind", so it can be a program name with args.
+set dummy valgrind; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then
+if test "${ac_cv_prog_VALGRIND+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$ac_ct_DUMPBIN"; then
-  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
+  if test -n "$VALGRIND"; then
+  ac_cv_prog_VALGRIND="$VALGRIND" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    ac_cv_prog_VALGRIND="valgrind"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
+VALGRIND=$ac_cv_prog_VALGRIND
+if test -n "$VALGRIND"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $VALGRIND" >&5
+$as_echo "$VALGRIND" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 
-  test -n "$ac_ct_DUMPBIN" && break
-done
-
-  if test "x$ac_ct_DUMPBIN" = x; then
-    DUMPBIN=":"
+  if test x"$VALGRIND" = xvalgrind
+  then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+    enable_valgrind_tests=yes
   else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DUMPBIN=$ac_ct_DUMPBIN
+    as_fn_error $? "bad value ${enableval} for --enable-valgrind-tests, cannot find Valgrind" "$LINENO" 5
   fi
+  ;;
+no)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  enable_valgrind_tests=no
+  ;;
+*)
+  as_fn_error $? "bad value ${enableval} for --enable-valgrind-tests, needs yes or no" "$LINENO" 5
+  ;;
+esac
+ if test x"$enable_valgrind_tests" = xyes; then
+  VALGRIND_TESTS_ENABLED_TRUE=
+  VALGRIND_TESTS_ENABLED_FALSE='#'
+else
+  VALGRIND_TESTS_ENABLED_TRUE='#'
+  VALGRIND_TESTS_ENABLED_FALSE=
 fi
 
 
-  if test "$DUMPBIN" != ":"; then
-    NM="$DUMPBIN"
-  fi
+enableval=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the Parma Watchdog Library" >&5
+$as_echo_n "checking whether to build the Parma Watchdog Library... " >&6; }
+# Check whether --enable-watchdog was given.
+if test "${enable_watchdog+set}" = set; then :
+  enableval=$enable_watchdog;
+fi
+
+case "${enableval}" in
+yes)
+  build_watchdog_library=yes
+  ;;
+no)
+  build_watchdog_library=no
+  ;;
+*)
+  as_fn_error $? "bad value ${enableval} for --enable-watchdog, needs yes or no" "$LINENO" 5
+  ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $build_watchdog_library" >&5
+$as_echo "$build_watchdog_library" >&6; }
+ if test x"$build_watchdog_library" = xyes; then
+  BUILD_WATCHDOG_LIBRARY_TRUE=
+  BUILD_WATCHDOG_LIBRARY_FALSE='#'
+else
+  BUILD_WATCHDOG_LIBRARY_TRUE='#'
+  BUILD_WATCHDOG_LIBRARY_FALSE=
+fi
+
+
+if test x"$build_watchdog_library" = xyes
+then
+  # Checks for header files.
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5
+$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
+if test "${ac_cv_header_time+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+#include <sys/time.h>
+#include <time.h>
+
+int
+main ()
+{
+if ((struct tm *) 0)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_cv_header_time=yes
+else
+  ac_cv_header_time=no
 fi
-test -z "$NM" && NM=nm
-
-
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_time" >&5
+$as_echo "$ac_cv_header_time" >&6; }
+if test $ac_cv_header_time = yes; then
 
+$as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h
 
+fi
 
 
-{ $as_echo "$as_me:$LINENO: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if test "${lt_cv_nm_interface+set}" = set; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  lt_cv_nm_interface="BSD nm"
-  echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:7131: $ac_compile\"" >&5)
-  (eval "$ac_compile" 2>conftest.err)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:7134: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
-  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:7137: output\"" >&5)
-  cat conftest.out >&5
-  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
-    lt_cv_nm_interface="MS dumpbin"
+  if test -z "$GREP"; then
+  ac_path_GREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in grep ggrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+  # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'GREP' >> "conftest.nl"
+    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_GREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_GREP="$ac_path_GREP"
+      ac_path_GREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_GREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_GREP"; then
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
-  rm -f conftest*
+else
+  ac_cv_path_GREP=$GREP
 fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
 
-{ $as_echo "$as_me:$LINENO: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
 
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-    i=0
-  teststring="ABCD"
+  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+   then ac_cv_path_EGREP="$GREP -E"
+   else
+     if test -z "$EGREP"; then
+  ac_path_EGREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in egrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+  # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'EGREP' >> "conftest.nl"
+    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_EGREP="$ac_path_EGREP"
+      ac_path_EGREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
 
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
+      $ac_path_EGREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_EGREP"; then
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
+else
+  ac_cv_path_EGREP=$EGREP
+fi
 
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
+   fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
 
-  cygwin* | mingw* | cegcc*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
 
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
 
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
+int
+main ()
+{
 
-  interix*)
-    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-    lt_cv_sys_max_cmd_len=196608
-    ;;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_cv_header_stdc=yes
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[	 ]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
-    ;;
-  *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      # Make teststring a little bigger before we do anything with it.
-      # a 1K string should be a reasonable start.
-      for i in 1 2 3 4 5 6 7 8 ; do
-        teststring=$teststring$teststring
-      done
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      # If test is not a shell built-in, we'll probably end up computing a
-      # maximum length that is only half of the actual maximum length, but
-      # we can't tell.
-      while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
-	         = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
-	      test $i != 17 # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      # Only check the string length outside the loop.
-      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on
-      # massive amounts of additional arguments before passing them to the
-      # linker.  It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
-    ;;
-  esac
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <string.h>
 
-fi
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then :
 
-if test -n $lt_cv_sys_max_cmd_len ; then
-  { $as_echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: none" >&5
-$as_echo "none" >&6; }
+  ac_cv_header_stdc=no
 fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
+rm -f conftest*
 
+fi
 
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
 
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then :
 
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
 
+fi
 
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then :
+  :
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+		   (('a' <= (c) && (c) <= 'i') \
+		     || ('j' <= (c) && (c) <= 'r') \
+		     || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
 
-{ $as_echo "$as_me:$LINENO: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
-  test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
-      = c,a/b,, \
-    && eval 'test $(( 1 + 1 )) -eq 2 \
-    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
-  && xsi_shell=yes
-{ $as_echo "$as_me:$LINENO: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+	|| toupper (i) != TOUPPER (i))
+      return 2;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_run "$LINENO"; then :
 
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
 
-{ $as_echo "$as_me:$LINENO: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
-    >/dev/null 2>&1 \
-  && lt_shell_append=yes
-{ $as_echo "$as_me:$LINENO: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
 
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
 
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  lt_unset=unset
-else
-  lt_unset=false
 fi
 
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+		  inttypes.h stdint.h unistd.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_cxx_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
 
+fi
 
+done
 
 
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
-    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
-  lt_SP2NL='tr \040 \012'
-  lt_NL2SP='tr \015\012 \040\040'
-  ;;
- *) # EBCDIC based system
-  lt_SP2NL='tr \100 \n'
-  lt_NL2SP='tr \r\n \100\100'
-  ;;
-esac
+for ac_header in fenv.h sys/time.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
 
+fi
 
+done
 
 
+  # Checks for the availability of C library functions in C++.
+  ac_fn_cxx_check_decl "$LINENO" "getenv" "ac_cv_have_decl_getenv" "#include <cstdlib>
+"
+if test "x$ac_cv_have_decl_getenv" = x""yes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
 
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_GETENV $ac_have_decl
+_ACEOF
 
+  ac_fn_cxx_check_decl "$LINENO" "setitimer" "ac_cv_have_decl_setitimer" "
+#ifdef HAVE_SYS_TIME_H
+# include <sys/time.h>
+#endif
 
+"
+if test "x$ac_cv_have_decl_setitimer" = x""yes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
 
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_SETITIMER $ac_have_decl
+_ACEOF
 
-{ $as_echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then
-  $as_echo_n "(cached) " >&6
+  ac_fn_cxx_check_decl "$LINENO" "sigaction" "ac_cv_have_decl_sigaction" "#include <csignal>
+"
+if test "x$ac_cv_have_decl_sigaction" = x""yes; then :
+  ac_have_decl=1
 else
-  lt_cv_ld_reload_flag='-r'
+  ac_have_decl=0
 fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_SIGACTION $ac_have_decl
+_ACEOF
+
+
+  # Checks for typedefs, structures, and compiler characteristics.
+  ac_fn_cxx_check_type "$LINENO" "siginfo_t" "ac_cv_type_siginfo_t" "
+#include <signal.h>
+
+"
+if test "x$ac_cv_type_siginfo_t" = x""yes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_SIGINFO_T 1
+_ACEOF
+
+
+fi
+
+fi
+
+# Libtool.
+case `pwd` in
+  *\ * | *\	*)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
+$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
 esac
 
 
 
+macro_version='2.2.10'
+macro_revision='1.3175'
 
 
 
 
 
 
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OBJDUMP"; then
-  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
 
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
-  { $as_echo "$as_me:$LINENO: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
 
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
-  ac_ct_OBJDUMP=$OBJDUMP
-  # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OBJDUMP"; then
-  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OBJDUMP="objdump"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
 
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
-  if test "x$ac_ct_OBJDUMP" = x; then
-    OBJDUMP="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OBJDUMP=$ac_ct_OBJDUMP
-  fi
-else
-  OBJDUMP="$ac_cv_prog_OBJDUMP"
+
+
+ltmain="$ac_aux_dir/ltmain.sh"
+
+# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
+$as_echo_n "checking how to print strings... " >&6; }
+# Test print first, because it will be a builtin if present.
+if test "X`print -r -- -n 2>/dev/null`" = X-n && \
+   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='printf %s\n'
+else
+  # Use this function as a fallback that always works.
+  func_fallback_echo ()
+  {
+    eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+  }
+  ECHO='func_fallback_echo'
 fi
 
-test -z "$OBJDUMP" && OBJDUMP=objdump
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+    $ECHO ""
+}
 
+case "$ECHO" in
+  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
+$as_echo "printf" >&6; } ;;
+  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
+$as_echo "print -r" >&6; } ;;
+  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
+$as_echo "cat" >&6; } ;;
+esac
 
 
 
@@ -7483,207 +5838,167 @@ test -z "$OBJDUMP" && OBJDUMP=objdump
 
 
 
-{ $as_echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
 
-case $host_os in
-aix[4-9]*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-bsdi[45]*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
 
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
 
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  if ( file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
+if test "${ac_cv_path_SED+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+     for ac_i in 1 2 3 4 5 6 7; do
+       ac_script="$ac_script$as_nl$ac_script"
+     done
+     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+     { ac_script=; unset ac_script;}
+     if test -z "$SED"; then
+  ac_path_SED_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in sed gsed; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+# Check for GNU ac_path_SED and select it if it is found.
+  # Check for GNU $ac_path_SED
+case `"$ac_path_SED" --version 2>&1` in
+*GNU*)
+  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo '' >> "conftest.nl"
+    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_SED_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_SED="$ac_path_SED"
+      ac_path_SED_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_SED_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_SED"; then
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
   fi
-  ;;
+else
+  ac_cv_path_SED=$SED
+fi
 
-cegcc)
-  # use the weaker test based on 'objdump'. See mingw*.
-  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
-  ;;
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
+$as_echo "$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+  rm -f conftest.sed
 
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
 
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
 
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
 
-interix[3-9]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
-  ;;
 
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-netbsd*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
-  fi
-  ;;
 
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
 
-*nto* | *qnx*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
+$as_echo_n "checking for fgrep... " >&6; }
+if test "${ac_cv_path_FGREP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
+   then ac_cv_path_FGREP="$GREP -F"
+   else
+     if test -z "$FGREP"; then
+  ac_path_FGREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in fgrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+# Check for GNU ac_path_FGREP and select it if it is found.
+  # Check for GNU $ac_path_FGREP
+case `"$ac_path_FGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'FGREP' >> "conftest.nl"
+    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_FGREP="$ac_path_FGREP"
+      ac_path_FGREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_FGREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_FGREP"; then
+    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
-  ;;
+else
+  ac_cv_path_FGREP=$FGREP
+fi
 
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
+   fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
+$as_echo "$ac_cv_path_FGREP" >&6; }
+ FGREP="$ac_cv_path_FGREP"
 
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
+test -z "$GREP" && GREP=grep
+
 
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-sysv4 | sysv4.3*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  pc)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
 
-tpf*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
 
-fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
 
 
 
@@ -7696,596 +6011,554 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
 
 
 
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AR"; then
-  ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AR="${ac_tool_prefix}ar"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
 
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
-  { $as_echo "$as_me:$LINENO: result: $AR" >&5
-$as_echo "$AR" >&6; }
+
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then :
+  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+  with_gnu_ld=no
 fi
 
-
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [\\/]* | ?:[\\/]*)
+      re_direlt='/[^/][^/]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
 fi
-if test -z "$ac_cv_prog_AR"; then
-  ac_ct_AR=$AR
-  # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
+if test "${lt_cv_path_LD+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$ac_ct_AR"; then
-  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+  if test -z "$LD"; then
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+	test "$with_gnu_ld" != no && break
+	;;
+      *)
+	test "$with_gnu_ld" != yes && break
+	;;
+      esac
+    fi
+  done
+  IFS="$lt_save_ifs"
 else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_AR="ar"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
+  lt_cv_path_LD="$LD" # Let the user override the test with a path.
 fi
 fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
+
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
-
-  if test "x$ac_ct_AR" = x; then
-    AR="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    AR=$ac_ct_AR
-  fi
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  AR="$ac_cv_prog_AR"
+  # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
+  ;;
+esac
 fi
-
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-
-
-
-
-
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$lt_cv_prog_gnu_ld
 
 
 
 
 
 
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
 
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
 
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
+$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
+if test "${lt_cv_path_NM+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+  if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM="$NM"
 else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
+  lt_nm_to_check="${ac_tool_prefix}nm"
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+    lt_nm_to_check="$lt_nm_to_check nm"
   fi
-done
-done
-IFS=$as_save_IFS
-
+  for lt_tmp_nm in $lt_nm_to_check; do
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+      IFS="$lt_save_ifs"
+      test -z "$ac_dir" && ac_dir=.
+      tmp_nm="$ac_dir/$lt_tmp_nm"
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+	# Check to see if the nm accepts a BSD-compat flag.
+	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
+	#   nm: unknown option "B" ignored
+	# Tru64's nm complains that /dev/null is an invalid object file
+	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+	*/dev/null* | *'Invalid file or object type'*)
+	  lt_cv_path_NM="$tmp_nm -B"
+	  break
+	  ;;
+	*)
+	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+	  */dev/null*)
+	    lt_cv_path_NM="$tmp_nm -p"
+	    break
+	    ;;
+	  *)
+	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+	    continue # so that we can try to find one that supports BSD flags
+	    ;;
+	  esac
+	  ;;
+	esac
+      fi
+    done
+    IFS="$lt_save_ifs"
+  done
+  : ${lt_cv_path_NM=no}
 fi
 fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
+$as_echo "$lt_cv_path_NM" >&6; }
+if test "$lt_cv_path_NM" != "no"; then
+  NM="$lt_cv_path_NM"
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
+  # Didn't find any BSD compatible name lister, look for dumpbin.
+  if test -n "$DUMPBIN"; then :
+    # Let the user override the test.
   else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+    if test -n "$ac_tool_prefix"; then
+  for ac_prog in dumpbin "link -dump"
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then
+if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+  if test -n "$DUMPBIN"; then
+  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
+DUMPBIN=$ac_cv_prog_DUMPBIN
+if test -n "$DUMPBIN"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
+$as_echo "$DUMPBIN" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 
+    test -n "$DUMPBIN" && break
+  done
 fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+if test -z "$DUMPBIN"; then
+  ac_ct_DUMPBIN=$DUMPBIN
+  for ac_prog in dumpbin "link -dump"
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
+if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+  if test -n "$ac_ct_DUMPBIN"; then
+  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
+ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
+if test -n "$ac_ct_DUMPBIN"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
+$as_echo "$ac_ct_DUMPBIN" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
+
+  test -n "$ac_ct_DUMPBIN" && break
+done
+
+  if test "x$ac_ct_DUMPBIN" = x; then
+    DUMPBIN=":"
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
-    RANLIB=$ac_ct_RANLIB
+    DUMPBIN=$ac_ct_DUMPBIN
   fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
 fi
 
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
+    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+    *COFF*)
+      DUMPBIN="$DUMPBIN -symbols"
+      ;;
+    *)
+      DUMPBIN=:
+      ;;
+    esac
+  fi
 
-if test -n "$RANLIB"; then
-  case $host_os in
-  openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+  if test "$DUMPBIN" != ":"; then
+    NM="$DUMPBIN"
+  fi
 fi
+test -z "$NM" && NM=nm
 
 
 
 
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
+$as_echo_n "checking the name lister ($NM) interface... " >&6; }
+if test "${lt_cv_nm_interface+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_nm_interface="BSD nm"
+  echo "int some_variable = 0;" > conftest.$ac_ext
+  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
+  (eval "$ac_compile" 2>conftest.err)
+  cat conftest.err >&5
+  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+  cat conftest.err >&5
+  (eval echo "\"\$as_me:$LINENO: output\"" >&5)
+  cat conftest.out >&5
+  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+    lt_cv_nm_interface="MS dumpbin"
+  fi
+  rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
+$as_echo "$lt_cv_nm_interface" >&6; }
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
+$as_echo_n "checking whether ln -s works... " >&6; }
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
+$as_echo "no, using $LN_S" >&6; }
+fi
 
+# find the maximum length of command line arguments
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
+$as_echo_n "checking the maximum length of command line arguments... " >&6; }
+if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+    i=0
+  teststring="ABCD"
 
+  case $build_os in
+  msdosdjgpp*)
+    # On DJGPP, this test can blow up pretty badly due to problems in libc
+    # (any single argument exceeding 2000 bytes causes a buffer overrun
+    # during glob expansion).  Even if it were fixed, the result of this
+    # check would be larger than it should be.
+    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
+    ;;
 
+  gnu*)
+    # Under GNU Hurd, this test is not required because there is
+    # no limit to the length of command line arguments.
+    # Libtool will interpret -1 as no limit whatsoever
+    lt_cv_sys_max_cmd_len=-1;
+    ;;
 
+  cygwin* | mingw* | cegcc*)
+    # On Win9x/ME, this test blows up -- it succeeds, but takes
+    # about 5 minutes as the teststring grows exponentially.
+    # Worse, since 9x/ME are not pre-emptively multitasking,
+    # you end up with a "frozen" computer, even though with patience
+    # the test eventually succeeds (with a max line length of 256k).
+    # Instead, let's just punt: use the minimum linelength reported by
+    # all of the supported platforms: 8192 (on NT/2K/XP).
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
 
+  mint*)
+    # On MiNT this can take a long time and run out of memory.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
 
+  amigaos*)
+    # On AmigaOS with pdksh, this test takes hours, literally.
+    # So we just punt and use a minimum line length of 8192.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
 
+  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+    # This has been around since 386BSD, at least.  Likely further.
+    if test -x /sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+    elif test -x /usr/sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+    else
+      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
+    fi
+    # And add a safety zone
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    ;;
 
+  interix*)
+    # We know the value 262144 and hardcode it with a safety zone (like BSD)
+    lt_cv_sys_max_cmd_len=196608
+    ;;
 
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    #
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  sco3.2v5*)
+    lt_cv_sys_max_cmd_len=102400
+    ;;
+  sysv5* | sco5v6* | sysv4.2uw2*)
+    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+    if test -n "$kargmax"; then
+      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[	 ]//'`
+    else
+      lt_cv_sys_max_cmd_len=32768
+    fi
+    ;;
+  *)
+    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+    if test -n "$lt_cv_sys_max_cmd_len"; then
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    else
+      # Make teststring a little bigger before we do anything with it.
+      # a 1K string should be a reasonable start.
+      for i in 1 2 3 4 5 6 7 8 ; do
+        teststring=$teststring$teststring
+      done
+      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+      # If test is not a shell built-in, we'll probably end up computing a
+      # maximum length that is only half of the actual maximum length, but
+      # we can't tell.
+      while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
+	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
+	      test $i != 17 # 1/2 MB should be enough
+      do
+        i=`expr $i + 1`
+        teststring=$teststring$teststring
+      done
+      # Only check the string length outside the loop.
+      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+      teststring=
+      # Add a significant safety factor because C++ compilers can tack on
+      # massive amounts of additional arguments before passing them to the
+      # linker.  It appears as though 1/2 is a usable value.
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    fi
+    ;;
+  esac
 
+fi
 
+if test -n $lt_cv_sys_max_cmd_len ; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
+$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
+$as_echo "none" >&6; }
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
 
 
 
 
 
 
+: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
+$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+  test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+      = c,a/b,, \
+    && eval 'test $(( 1 + 1 )) -eq 2 \
+    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+  && xsi_shell=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
+$as_echo "$xsi_shell" >&6; }
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
+$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
+    >/dev/null 2>&1 \
+  && lt_shell_append=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
+$as_echo "$lt_shell_append" >&6; }
 
 
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
-  $as_echo_n "(cached) " >&6
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  lt_unset=unset
 else
+  lt_unset=false
+fi
 
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[BCDT]'
-  ;;
-cygwin* | mingw* | pw32* | cegcc*)
-  symcode='[ABCDGISTW]'
-  ;;
-hpux*)
-  if test "$host_cpu" = ia64; then
-    symcode='[ABCDEGRST]'
-  fi
-  ;;
-irix* | nonstopux*)
-  symcode='[BCDEGRST]'
-  ;;
-osf*)
-  symcode='[BCDEGQRST]'
-  ;;
-solaris*)
-  symcode='[BDRT]'
-  ;;
-sco3.2v5*)
-  symcode='[DT]'
-  ;;
-sysv4.2uw2*)
-  symcode='[DT]'
-  ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
-  symcode='[ABDT]'
-  ;;
-sysv4)
-  symcode='[DFNSTU]'
-  ;;
-esac
 
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
-  symcode='[ABCDGIRSTW]' ;;
-esac
 
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
 
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
 
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+  lt_SP2NL='tr \040 \012'
+  lt_NL2SP='tr \015\012 \040\040'
+  ;;
+ *) # EBCDIC based system
+  lt_SP2NL='tr \100 \n'
+  lt_NL2SP='tr \r\n \100\100'
   ;;
 esac
 
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
-
-  # Write the raw and C identifiers.
-  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-    # Fake it for dumpbin and say T for any non-static function
-    # and D for any global variable.
-    # Also find C++ and __fastcall symbols from MSVC++,
-    # which start with @ or ?.
-    lt_cv_sys_global_symbol_pipe="$AWK '"\
-"     {last_section=section; section=\$ 3};"\
-"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-"     \$ 0!~/External *\|/{next};"\
-"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-"     {if(hide[section]) next};"\
-"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
-"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-"     ' prfx=^$ac_symprfx"
-  else
-    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[	 ]\($symcode$symcode*\)[	 ][	 ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-  fi
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-
-  rm -f conftest*
-  cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
-  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
-  (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-	mv -f "$nlist"T "$nlist"
-      else
-	rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
-	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
-	  cat <<_LT_EOF > conftest.$ac_ext
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
-	  # Now generate the symbol file.
-	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
-	  cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols.  */
-const struct {
-  const char *name;
-  void       *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
-  { "@PROGRAM@", (void *) 0 },
-_LT_EOF
-	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
-	  cat <<\_LT_EOF >> conftest.$ac_ext
-  {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
-	  # Now try linking the two files.
-	  mv conftest.$ac_objext conftstm.$ac_objext
-	  lt_save_LIBS="$LIBS"
-	  lt_save_CFLAGS="$CFLAGS"
-	  LIBS="conftstm.$ac_objext"
-	  CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
-	  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && test -s conftest${ac_exeext}; then
-	    pipe_works=yes
-	  fi
-	  LIBS="$lt_save_LIBS"
-	  CFLAGS="$lt_save_CFLAGS"
-	else
-	  echo "cannot find nm_test_func in $nlist" >&5
-	fi
-      else
-	echo "cannot find nm_test_var in $nlist" >&5
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "$progname: failed program was:" >&5
-    cat conftest.$ac_ext >&5
-  fi
-  rm -rf conftest* conftst*
 
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
-  fi
-done
 
-fi
 
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  { $as_echo "$as_me:$LINENO: result: failed" >&5
-$as_echo "failed" >&6; }
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+$as_echo_n "checking for $LD option to reload object files... " >&6; }
+if test "${lt_cv_ld_reload_flag+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  { $as_echo "$as_me:$LINENO: result: ok" >&5
-$as_echo "ok" >&6; }
+  lt_cv_ld_reload_flag='-r'
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
+$as_echo "$lt_cv_ld_reload_flag" >&6; }
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+  darwin*)
+    if test "$GCC" = yes; then
+      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+    else
+      reload_cmds='$LD$reload_flag -o $output$reload_objs'
+    fi
+    ;;
+esac
 
 
 
@@ -8295,12 +6568,99 @@ fi
 
 
 
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OBJDUMP"; then
+  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
+fi
+fi
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
+$as_echo "$OBJDUMP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
 
+fi
+if test -z "$ac_cv_prog_OBJDUMP"; then
+  ac_ct_OBJDUMP=$OBJDUMP
+  # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OBJDUMP"; then
+  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_OBJDUMP="objdump"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
+fi
+fi
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
+$as_echo "$ac_ct_OBJDUMP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
+  if test "x$ac_ct_OBJDUMP" = x; then
+    OBJDUMP="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OBJDUMP=$ac_ct_OBJDUMP
+  fi
+else
+  OBJDUMP="$ac_cv_prog_OBJDUMP"
+fi
 
+test -z "$OBJDUMP" && OBJDUMP=objdump
 
 
 
@@ -8308,689 +6668,828 @@ fi
 
 
 
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then
-  enableval=$enable_libtool_lock;
-fi
 
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
 
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-    case `/usr/bin/file conftest.$ac_objext` in
-      *ELF-32*)
-	HPUX_IA64_MODE="32"
-	;;
-      *ELF-64*)
-	HPUX_IA64_MODE="64"
-	;;
-    esac
-  fi
-  rm -rf conftest*
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
+$as_echo_n "checking how to recognize dependent libraries... " >&6; }
+if test "${lt_cv_deplibs_check_method+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[4-9]*)
+  lt_cv_deplibs_check_method=pass_all
   ;;
-*-*-irix6*)
-  # Find out which ABI we are using.
-  echo '#line 8342 "configure"' > conftest.$ac_ext
-  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-    if test "$lt_cv_prog_gnu_ld" = yes; then
-      case `/usr/bin/file conftest.$ac_objext` in
-	*32-bit*)
-	  LD="${LD-ld} -melf32bsmip"
-	  ;;
-	*N32*)
-	  LD="${LD-ld} -melf32bmipn32"
-	  ;;
-	*64-bit*)
-	  LD="${LD-ld} -melf64bmip"
-	;;
-      esac
-    else
-      case `/usr/bin/file conftest.$ac_objext` in
-	*32-bit*)
-	  LD="${LD-ld} -32"
-	  ;;
-	*N32*)
-	  LD="${LD-ld} -n32"
-	  ;;
-	*64-bit*)
-	  LD="${LD-ld} -64"
-	  ;;
-      esac
-    fi
+
+beos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+bsdi[45]*)
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  ;;
+
+cygwin*)
+  # func_win32_libid is a shell function defined in ltmain.sh
+  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+  lt_cv_file_magic_cmd='func_win32_libid'
+  ;;
+
+mingw* | pw32*)
+  # Base MSYS/MinGW do not provide the 'file' command needed by
+  # func_win32_libid shell function, so use a weaker test based on 'objdump',
+  # unless we find 'file', for example because we are cross-compiling.
+  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
+  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
+    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+    lt_cv_file_magic_cmd='func_win32_libid'
+  else
+    # Keep this pattern in sync with the one in func_win32_libid.
+    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+    lt_cv_file_magic_cmd='$OBJDUMP -f'
   fi
-  rm -rf conftest*
   ;;
 
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-    case `/usr/bin/file conftest.o` in
-      *32-bit*)
-	case $host in
-	  x86_64-*kfreebsd*-gnu)
-	    LD="${LD-ld} -m elf_i386_fbsd"
-	    ;;
-	  x86_64-*linux*)
-	    LD="${LD-ld} -m elf_i386"
-	    ;;
-	  ppc64-*linux*|powerpc64-*linux*)
-	    LD="${LD-ld} -m elf32ppclinux"
-	    ;;
-	  s390x-*linux*)
-	    LD="${LD-ld} -m elf_s390"
-	    ;;
-	  sparc64-*linux*)
-	    LD="${LD-ld} -m elf32_sparc"
-	    ;;
-	esac
-	;;
-      *64-bit*)
-	case $host in
-	  x86_64-*kfreebsd*-gnu)
-	    LD="${LD-ld} -m elf_x86_64_fbsd"
-	    ;;
-	  x86_64-*linux*)
-	    LD="${LD-ld} -m elf_x86_64"
-	    ;;
-	  ppc*-*linux*|powerpc*-*linux*)
-	    LD="${LD-ld} -m elf64ppc"
-	    ;;
-	  s390*-*linux*|s390*-*tpf*)
-	    LD="${LD-ld} -m elf64_s390"
-	    ;;
-	  sparc*-*linux*)
-	    LD="${LD-ld} -m elf64_sparc"
-	    ;;
-	esac
-	;;
+cegcc*)
+  # use the weaker test based on 'objdump'. See mingw*.
+  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  ;;
+
+darwin* | rhapsody*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+freebsd* | dragonfly*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    case $host_cpu in
+    i*86 )
+      # Not sure whether the presence of OpenBSD here was a mistake.
+      # Let's accept both of them until this is cleared up.
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
     esac
+  else
+    lt_cv_deplibs_check_method=pass_all
   fi
-  rm -rf conftest*
   ;;
 
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -belf"
-  { $as_echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+gnu*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 
-     cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+haiku*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 
-int
-main ()
-{
+hpux10.20* | hpux11*)
+  lt_cv_file_magic_cmd=/usr/bin/file
+  case $host_cpu in
+  ia64*)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
+    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+    ;;
+  hppa*64*)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
+    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+    ;;
+  *)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
+    lt_cv_file_magic_test_file=/usr/lib/libc.sl
+    ;;
+  esac
+  ;;
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  lt_cv_cc_needs_belf=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+interix[3-9]*)
+  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
+  ;;
 
-	lt_cv_cc_needs_belf=no
-fi
+irix5* | irix6* | nonstopux*)
+  case $LD in
+  *-32|*"-32 ") libmagic=32-bit;;
+  *-n32|*"-n32 ") libmagic=N32;;
+  *-64|*"-64 ") libmagic=64-bit;;
+  *) libmagic=never-match;;
+  esac
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-     ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+# This must be Linux ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 
-fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
+netbsd*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
   fi
   ;;
-sparc*-*solaris*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
-      *)
-	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-	  LD="${LD-ld} -64"
-	fi
-	;;
-      esac
-      ;;
-    esac
+
+newos6*)
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libnls.so
+  ;;
+
+*nto* | *qnx*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+openbsd*)
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
   fi
-  rm -rf conftest*
+  ;;
+
+osf3* | osf4* | osf5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+rdos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+solaris*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv4 | sysv4.3*)
+  case $host_vendor in
+  motorola)
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+    ;;
+  ncr)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  sequent)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
+    ;;
+  sni)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
+    lt_cv_file_magic_test_file=/lib/libc.so
+    ;;
+  siemens)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  pc)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  esac
+  ;;
+
+tpf*)
+  lt_cv_deplibs_check_method=pass_all
   ;;
 esac
 
-need_locks="$enable_libtool_lock"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
+$as_echo "$lt_cv_deplibs_check_method" >&6; }
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
 
 
-  case $host_os in
-    rhapsody* | darwin*)
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then
+if test "${ac_cv_prog_AR+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$DSYMUTIL"; then
-  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
+  if test -n "$AR"; then
+  ac_cv_prog_AR="$AR" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    ac_cv_prog_AR="${ac_tool_prefix}ar"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
-  { $as_echo "$as_me:$LINENO: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 
 fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
-  ac_ct_DSYMUTIL=$DSYMUTIL
-  # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+if test -z "$ac_cv_prog_AR"; then
+  ac_ct_AR=$AR
+  # Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then
+if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$ac_ct_DSYMUTIL"; then
-  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
+  if test -n "$ac_ct_AR"; then
+  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    ac_cv_prog_ac_ct_AR="ar"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
-  if test "x$ac_ct_DSYMUTIL" = x; then
-    DSYMUTIL=":"
+  if test "x$ac_ct_AR" = x; then
+    AR="false"
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
-    DSYMUTIL=$ac_ct_DSYMUTIL
+    AR=$ac_ct_AR
   fi
 else
-  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
+  AR="$ac_cv_prog_AR"
 fi
 
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+
+
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then
+if test "${ac_cv_prog_STRIP+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$NMEDIT"; then
-  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
-  { $as_echo "$as_me:$LINENO: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 
 fi
-if test -z "$ac_cv_prog_NMEDIT"; then
-  ac_ct_NMEDIT=$NMEDIT
-  # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$ac_ct_NMEDIT"; then
-  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_NMEDIT="nmedit"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    ac_cv_prog_ac_ct_STRIP="strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
-  if test "x$ac_ct_NMEDIT" = x; then
-    NMEDIT=":"
+  if test "x$ac_ct_STRIP" = x; then
+    STRIP=":"
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
-    NMEDIT=$ac_ct_NMEDIT
+    STRIP=$ac_ct_STRIP
   fi
 else
-  NMEDIT="$ac_cv_prog_NMEDIT"
+  STRIP="$ac_cv_prog_STRIP"
 fi
 
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+test -z "$STRIP" && STRIP=:
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO+set}" = set; then
+if test "${ac_cv_prog_RANLIB+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$LIPO"; then
-  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
-  { $as_echo "$as_me:$LINENO: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 
 fi
-if test -z "$ac_cv_prog_LIPO"; then
-  ac_ct_LIPO=$LIPO
-  # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+if test -z "$ac_cv_prog_RANLIB"; then
+  ac_ct_RANLIB=$RANLIB
+  # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$ac_ct_LIPO"; then
-  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
+  if test -n "$ac_ct_RANLIB"; then
+  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_LIPO="lipo"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    ac_cv_prog_ac_ct_RANLIB="ranlib"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
-  if test "x$ac_ct_LIPO" = x; then
-    LIPO=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
+  if test "x$ac_ct_RANLIB" = x; then
+    RANLIB=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    RANLIB=$ac_ct_RANLIB
+  fi
+else
+  RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+test -z "$RANLIB" && RANLIB=:
+
+
+
+
+
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+  case $host_os in
+  openbsd*)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+    ;;
+  *)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+    ;;
+  esac
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+
+case $host_os in
+  darwin*)
+    lock_old_archive_extraction=yes ;;
+  *)
+    lock_old_archive_extraction=no ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
+$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
+if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRST]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+  symcode='[BCDT]'
+  ;;
+cygwin* | mingw* | pw32* | cegcc*)
+  symcode='[ABCDGISTW]'
+  ;;
+hpux*)
+  if test "$host_cpu" = ia64; then
+    symcode='[ABCDEGRST]'
+  fi
+  ;;
+irix* | nonstopux*)
+  symcode='[BCDEGRST]'
+  ;;
+osf*)
+  symcode='[BCDEGQRST]'
+  ;;
+solaris*)
+  symcode='[BDRT]'
+  ;;
+sco3.2v5*)
+  symcode='[DT]'
+  ;;
+sysv4.2uw2*)
+  symcode='[DT]'
+  ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+  symcode='[ABDT]'
+  ;;
+sysv4)
+  symcode='[DFNSTU]'
+  ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+  symcode='[ABCDGIRSTW]' ;;
 esac
-    LIPO=$ac_ct_LIPO
-  fi
-else
-  LIPO="$ac_cv_prog_LIPO"
-fi
 
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL"; then
-  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
 
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
-  { $as_echo "$as_me:$LINENO: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
 
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+  ;;
+esac
 
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
-  ac_ct_OTOOL=$OTOOL
-  # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL"; then
-  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL="otool"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
 
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
+  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+  symxfrm="\\1 $ac_symprfx\\2 \\2"
 
-  if test "x$ac_ct_OTOOL" = x; then
-    OTOOL=":"
+  # Write the raw and C identifiers.
+  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+    # Fake it for dumpbin and say T for any non-static function
+    # and D for any global variable.
+    # Also find C++ and __fastcall symbols from MSVC++,
+    # which start with @ or ?.
+    lt_cv_sys_global_symbol_pipe="$AWK '"\
+"     {last_section=section; section=\$ 3};"\
+"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+"     \$ 0!~/External *\|/{next};"\
+"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+"     {if(hide[section]) next};"\
+"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
+"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+"     ' prfx=^$ac_symprfx"
   else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL=$ac_ct_OTOOL
+    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[	 ]\($symcode$symcode*\)[	 ][	 ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
   fi
-else
-  OTOOL="$ac_cv_prog_OTOOL"
-fi
 
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL64+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL64"; then
-  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
+  # Check to see that the pipe works correctly.
+  pipe_works=no
 
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
-  { $as_echo "$as_me:$LINENO: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
+  rm -f conftest*
+  cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
 
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    # Now try to grab the symbols.
+    nlist=conftest.nm
+    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
+  (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s "$nlist"; then
+      # Try sorting and uniquifying the output.
+      if sort "$nlist" | uniq > "$nlist"T; then
+	mv -f "$nlist"T "$nlist"
+      else
+	rm -f "$nlist"T
+      fi
 
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
-  ac_ct_OTOOL64=$OTOOL64
-  # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL64"; then
-  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL64="otool64"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
+      # Make sure that we snagged all the symbols we need.
+      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+	  cat <<_LT_EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+	  # Now generate the symbol file.
+	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+	  cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols.  */
+const struct {
+  const char *name;
+  void       *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[] =
+{
+  { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+	  cat <<\_LT_EOF >> conftest.$ac_ext
+  {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+	  # Now try linking the two files.
+	  mv conftest.$ac_objext conftstm.$ac_objext
+	  lt_save_LIBS="$LIBS"
+	  lt_save_CFLAGS="$CFLAGS"
+	  LIBS="conftstm.$ac_objext"
+	  CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s conftest${ac_exeext}; then
+	    pipe_works=yes
+	  fi
+	  LIBS="$lt_save_LIBS"
+	  CFLAGS="$lt_save_CFLAGS"
+	else
+	  echo "cannot find nm_test_func in $nlist" >&5
+	fi
+      else
+	echo "cannot find nm_test_var in $nlist" >&5
+      fi
+    else
+      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
+    fi
+  else
+    echo "$progname: failed program was:" >&5
+    cat conftest.$ac_ext >&5
+  fi
+  rm -rf conftest* conftst*
+
+  # Do not use the global_symbol_pipe unless it works.
+  if test "$pipe_works" = yes; then
+    break
+  else
+    lt_cv_sys_global_symbol_pipe=
   fi
 done
-done
-IFS=$as_save_IFS
 
 fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
-  if test "x$ac_ct_OTOOL64" = x; then
-    OTOOL64=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL64=$ac_ct_OTOOL64
-  fi
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+  lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+$as_echo "failed" >&6; }
 else
-  OTOOL64="$ac_cv_prog_OTOOL64"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+$as_echo "ok" >&6; }
 fi
 
 
@@ -9014,54 +7513,141 @@ fi
 
 
 
+# Check whether --enable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then :
+  enableval=$enable_libtool_lock;
+fi
 
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
 
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    case `/usr/bin/file conftest.$ac_objext` in
+      *ELF-32*)
+	HPUX_IA64_MODE="32"
+	;;
+      *ELF-64*)
+	HPUX_IA64_MODE="64"
+	;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+*-*-irix6*)
+  # Find out which ABI we are using.
+  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    if test "$lt_cv_prog_gnu_ld" = yes; then
+      case `/usr/bin/file conftest.$ac_objext` in
+	*32-bit*)
+	  LD="${LD-ld} -melf32bsmip"
+	  ;;
+	*N32*)
+	  LD="${LD-ld} -melf32bmipn32"
+	  ;;
+	*64-bit*)
+	  LD="${LD-ld} -melf64bmip"
+	;;
+      esac
+    else
+      case `/usr/bin/file conftest.$ac_objext` in
+	*32-bit*)
+	  LD="${LD-ld} -32"
+	  ;;
+	*N32*)
+	  LD="${LD-ld} -n32"
+	  ;;
+	*64-bit*)
+	  LD="${LD-ld} -64"
+	  ;;
+      esac
+    fi
+  fi
+  rm -rf conftest*
+  ;;
 
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    case `/usr/bin/file conftest.o` in
+      *32-bit*)
+	case $host in
+	  x86_64-*kfreebsd*-gnu)
+	    LD="${LD-ld} -m elf_i386_fbsd"
+	    ;;
+	  x86_64-*linux*)
+	    LD="${LD-ld} -m elf_i386"
+	    ;;
+	  ppc64-*linux*|powerpc64-*linux*)
+	    LD="${LD-ld} -m elf32ppclinux"
+	    ;;
+	  s390x-*linux*)
+	    LD="${LD-ld} -m elf_s390"
+	    ;;
+	  sparc64-*linux*)
+	    LD="${LD-ld} -m elf32_sparc"
+	    ;;
+	esac
+	;;
+      *64-bit*)
+	case $host in
+	  x86_64-*kfreebsd*-gnu)
+	    LD="${LD-ld} -m elf_x86_64_fbsd"
+	    ;;
+	  x86_64-*linux*)
+	    LD="${LD-ld} -m elf_x86_64"
+	    ;;
+	  ppc*-*linux*|powerpc*-*linux*)
+	    LD="${LD-ld} -m elf64ppc"
+	    ;;
+	  s390*-*linux*|s390*-*tpf*)
+	    LD="${LD-ld} -m elf64_s390"
+	    ;;
+	  sparc*-*linux*)
+	    LD="${LD-ld} -m elf64_sparc"
+	    ;;
+	esac
+	;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
 
-
-    { $as_echo "$as_me:$LINENO: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
-	# By default we will add the -single_module flag. You can override
-	# by either setting the environment variable LT_MULTI_MODULE
-	# non-empty at configure time, or by adding -multi_module to the
-	# link flags.
-	rm -rf libconftest.dylib*
-	echo "int foo(void){return 1;}" > conftest.c
-	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
-	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
-        _lt_result=$?
-	if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
-	  lt_cv_apple_cc_single_mod=yes
-	else
-	  cat conftest.err >&5
-	fi
-	rm -rf libconftest.dylib*
-	rm -f conftest.*
-      fi
-fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
-    { $as_echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then
+*-*-sco3.2v5*)
+  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+  SAVE_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -belf"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
+$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
+if test "${lt_cv_cc_needs_belf+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -9072,857 +7658,685 @@ main ()
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  lt_cv_ld_exported_symbols_list=yes
+if ac_fn_c_try_link "$LINENO"; then :
+  lt_cv_cc_needs_belf=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	lt_cv_ld_exported_symbols_list=no
+  lt_cv_cc_needs_belf=no
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-	LDFLAGS="$save_LDFLAGS"
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+     ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
-    case $host_os in
-    rhapsody* | darwin1.[012])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-    darwin1.*)
-      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-    darwin*) # darwin 5.x on
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-	10.0,*86*-darwin8*|10.0,*-darwin[91]*)
-	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-	10.[012]*)
-	  _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-	10.*)
-	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
-    else
-      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    fi
-    if test "$DSYMUTIL" != ":"; then
-      _lt_dsymutil='~$DSYMUTIL $lib || :'
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
+$as_echo "$lt_cv_cc_needs_belf" >&6; }
+  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+    CFLAGS="$SAVE_CFLAGS"
+  fi
+  ;;
+sparc*-*solaris*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    case `/usr/bin/file conftest.o` in
+    *64-bit*)
+      case $lt_cv_prog_gnu_ld in
+      yes*) LD="${LD-ld} -m elf64_sparc" ;;
+      *)
+	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+	  LD="${LD-ld} -64"
+	fi
+	;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+esac
 
+need_locks="$enable_libtool_lock"
 
-for ac_header in dlfcn.h
-do
-as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+
+  case $host_os in
+    rhapsody* | darwin*)
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  eval "$as_ac_Header=yes"
+  if test -n "$DSYMUTIL"; then
+  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-	eval "$as_ac_Header=no"
 fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
-		 $as_echo "$as_val"'`
-	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_Header'}
-		 $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
+DSYMUTIL=$ac_cv_prog_DSYMUTIL
+if test -n "$DSYMUTIL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
+$as_echo "$DSYMUTIL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
-done
 
+fi
+if test -z "$ac_cv_prog_DSYMUTIL"; then
+  ac_ct_DSYMUTIL=$DSYMUTIL
+  # Extract the first word of "dsymutil", so it can be a program name with args.
+set dummy dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_DSYMUTIL"; then
+  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
+fi
+fi
+ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+if test -n "$ac_ct_DSYMUTIL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
+$as_echo "$ac_ct_DSYMUTIL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -z "$CXX"; then
-  if test -n "$CCC"; then
-    CXX=$CCC
+  if test "x$ac_ct_DSYMUTIL" = x; then
+    DSYMUTIL=":"
   else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    DSYMUTIL=$ac_ct_DSYMUTIL
+  fi
+else
+  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
+fi
+
     if test -n "$ac_tool_prefix"; then
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
+set dummy ${ac_tool_prefix}nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CXX+set}" = set; then
+if test "${ac_cv_prog_NMEDIT+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$CXX"; then
-  ac_cv_prog_CXX="$CXX" # Let the user override the test.
+  if test -n "$NMEDIT"; then
+  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
-CXX=$ac_cv_prog_CXX
-if test -n "$CXX"; then
-  { $as_echo "$as_me:$LINENO: result: $CXX" >&5
-$as_echo "$CXX" >&6; }
+NMEDIT=$ac_cv_prog_NMEDIT
+if test -n "$NMEDIT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
+$as_echo "$NMEDIT" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 
-    test -n "$CXX" && break
-  done
 fi
-if test -z "$CXX"; then
-  ac_ct_CXX=$CXX
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+if test -z "$ac_cv_prog_NMEDIT"; then
+  ac_ct_NMEDIT=$NMEDIT
+  # Extract the first word of "nmedit", so it can be a program name with args.
+set dummy nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
+if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$ac_ct_CXX"; then
-  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+  if test -n "$ac_ct_NMEDIT"; then
+  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CXX="$ac_prog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    ac_cv_prog_ac_ct_NMEDIT="nmedit"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
-ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
-if test -n "$ac_ct_CXX"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
-$as_echo "$ac_ct_CXX" >&6; }
+ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
+if test -n "$ac_ct_NMEDIT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
+$as_echo "$ac_ct_NMEDIT" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
-
-  test -n "$ac_ct_CXX" && break
-done
-
-  if test "x$ac_ct_CXX" = x; then
-    CXX="g++"
+  if test "x$ac_ct_NMEDIT" = x; then
+    NMEDIT=":"
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
-    CXX=$ac_ct_CXX
-  fi
-fi
-
+    NMEDIT=$ac_ct_NMEDIT
   fi
+else
+  NMEDIT="$ac_cv_prog_NMEDIT"
 fi
-# Provide some information about the compiler.
-$as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compiler --version >&5") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -v >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compiler -v >&5") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -V >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compiler -V >&5") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
 
-{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
-$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
-if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
+set dummy ${ac_tool_prefix}lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_LIPO+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_compiler_gnu=yes
+  if test -n "$LIPO"; then
+  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-	ac_compiler_gnu=no
+fi
+fi
+LIPO=$ac_cv_prog_LIPO
+if test -n "$LIPO"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
+$as_echo "$LIPO" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
-$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GXX=yes
-else
-  GXX=
-fi
-ac_test_CXXFLAGS=${CXXFLAGS+set}
-ac_save_CXXFLAGS=$CXXFLAGS
-{ $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
-$as_echo_n "checking whether $CXX accepts -g... " >&6; }
-if test "${ac_cv_prog_cxx_g+set}" = set; then
+if test -z "$ac_cv_prog_LIPO"; then
+  ac_ct_LIPO=$LIPO
+  # Extract the first word of "lipo", so it can be a program name with args.
+set dummy lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
-   ac_cxx_werror_flag=yes
-   ac_cv_prog_cxx_g=no
-   CXXFLAGS="-g"
-   cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cxx_g=yes
+  if test -n "$ac_ct_LIPO"; then
+  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	CXXFLAGS=""
-      cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_LIPO="lipo"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
+fi
+fi
+ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
+if test -n "$ac_ct_LIPO"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
+$as_echo "$ac_ct_LIPO" >&6; }
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cxx_werror_flag=$ac_save_cxx_werror_flag
-	 CXXFLAGS="-g"
-	 cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+  if test "x$ac_ct_LIPO" = x; then
+    LIPO=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cxx_g=yes
+    LIPO=$ac_ct_LIPO
+  fi
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
+  LIPO="$ac_cv_prog_LIPO"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OTOOL+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OTOOL"; then
+  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_cxx_werror_flag=$ac_save_cxx_werror_flag
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
-$as_echo "$ac_cv_prog_cxx_g" >&6; }
-if test "$ac_test_CXXFLAGS" = set; then
-  CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
-  if test "$GXX" = yes; then
-    CXXFLAGS="-g -O2"
-  else
-    CXXFLAGS="-g"
-  fi
+OTOOL=$ac_cv_prog_OTOOL
+if test -n "$OTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
+$as_echo "$OTOOL" >&6; }
 else
-  if test "$GXX" = yes; then
-    CXXFLAGS="-O2"
-  else
-    CXXFLAGS=
-  fi
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-depcc="$CXX"  am_compiler_list=
 
-{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
+fi
+if test -z "$ac_cv_prog_OTOOL"; then
+  ac_ct_OTOOL=$OTOOL
+  # Extract the first word of "otool", so it can be a program name with args.
+set dummy otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CXX_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    case $depmode in
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-	continue
-      else
-	break
-      fi
-      ;;
-    none) break ;;
-    esac
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.
-    if depmode=$depmode \
-       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CXX_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
+  if test -n "$ac_ct_OTOOL"; then
+  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_OTOOL="otool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
   done
+IFS=$as_save_IFS
 
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CXX_dependencies_compiler_type=none
 fi
-
 fi
-{ $as_echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
-CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
-  am__fastdepCXX_TRUE=
-  am__fastdepCXX_FALSE='#'
+ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
+if test -n "$ac_ct_OTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
+$as_echo "$ac_ct_OTOOL" >&6; }
 else
-  am__fastdepCXX_TRUE='#'
-  am__fastdepCXX_FALSE=
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
+  if test "x$ac_ct_OTOOL" = x; then
+    OTOOL=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OTOOL=$ac_ct_OTOOL
+  fi
+else
+  OTOOL="$ac_cv_prog_OTOOL"
+fi
 
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-    (test "X$CXX" != "Xg++"))) ; then
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-{ $as_echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
-$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
-if test -z "$CXXCPP"; then
-  if test "${ac_cv_prog_CXXCPP+set}" = set; then
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OTOOL64+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-      # Double quotes because CXXCPP needs to be expanded
-    for CXXCPP in "$CXX -E" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  :
+  if test -n "$OTOOL64"; then
+  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-  # Broken: fails on valid input.
-continue
 fi
-
-rm -f conftest.err conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  # Broken: success on invalid input.
-continue
+fi
+OTOOL64=$ac_cv_prog_OTOOL64
+if test -n "$OTOOL64"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
+$as_echo "$OTOOL64" >&6; }
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  # Passes both tests.
-ac_preproc_ok=:
-break
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
-rm -f conftest.err conftest.$ac_ext
 
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
-  break
 fi
-
-    done
-    ac_cv_prog_CXXCPP=$CXXCPP
+if test -z "$ac_cv_prog_OTOOL64"; then
+  ac_ct_OTOOL64=$OTOOL64
+  # Extract the first word of "otool64", so it can be a program name with args.
+set dummy otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OTOOL64"; then
+  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_OTOOL64="otool64"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
 fi
-  CXXCPP=$ac_cv_prog_CXXCPP
+fi
+ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
+if test -n "$ac_ct_OTOOL64"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
+$as_echo "$ac_ct_OTOOL64" >&6; }
 else
-  ac_cv_prog_CXXCPP=$CXXCPP
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
-{ $as_echo "$as_me:$LINENO: result: $CXXCPP" >&5
-$as_echo "$CXXCPP" >&6; }
-ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+
+  if test "x$ac_ct_OTOOL64" = x; then
+    OTOOL64=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  :
+    OTOOL64=$ac_ct_OTOOL64
+  fi
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  OTOOL64="$ac_cv_prog_OTOOL64"
+fi
 
-  # Broken: fails on valid input.
-continue
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
+$as_echo_n "checking for -single_module linker flag... " >&6; }
+if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_apple_cc_single_mod=no
+      if test -z "${LT_MULTI_MODULE}"; then
+	# By default we will add the -single_module flag. You can override
+	# by either setting the environment variable LT_MULTI_MODULE
+	# non-empty at configure time, or by adding -multi_module to the
+	# link flags.
+	rm -rf libconftest.dylib*
+	echo "int foo(void){return 1;}" > conftest.c
+	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&5
+	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+        _lt_result=$?
+	if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+	  lt_cv_apple_cc_single_mod=yes
+	else
+	  cat conftest.err >&5
+	fi
+	rm -rf libconftest.dylib*
+	rm -f conftest.*
+      fi
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
+$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
+$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
+if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_ld_exported_symbols_list=no
+      save_LDFLAGS=$LDFLAGS
+      echo "_main" > conftest.sym
+      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-rm -f conftest.err conftest.$ac_ext
+int
+main ()
+{
 
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
+  ;
+  return 0;
+}
 _ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  # Broken: success on invalid input.
-continue
+if ac_fn_c_try_link "$LINENO"; then :
+  lt_cv_ld_exported_symbols_list=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  # Passes both tests.
-ac_preproc_ok=:
-break
+  lt_cv_ld_exported_symbols_list=no
 fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+	LDFLAGS="$save_LDFLAGS"
 
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
-  :
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
+$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
+$as_echo_n "checking for -force_load linker flag... " >&6; }
+if test "${lt_cv_ld_force_load+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-_lt_caught_CXX_error=yes; }
+  lt_cv_ld_force_load=no
+      cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
+      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
+      echo "$AR cru libconftest.a conftest.o" >&5
+      $AR cru libconftest.a conftest.o 2>&5
+      echo "$RANLIB libconftest.a" >&5
+      $RANLIB libconftest.a 2>&5
+      cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
+      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+      _lt_result=$?
+      if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
+	lt_cv_ld_force_load=yes
+      else
+	cat conftest.err >&5
+      fi
+        rm -f conftest.err libconftest.a conftest conftest.c
+        rm -rf conftest.dSYM
+
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
+$as_echo "$lt_cv_ld_force_load" >&6; }
+    case $host_os in
+    rhapsody* | darwin1.[012])
+      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+    darwin1.*)
+      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+    darwin*) # darwin 5.x on
+      # if running on 10.5 or later, the deployment target defaults
+      # to the OS version, if on x86, and 10.4, the deployment
+      # target defaults to 10.4. Don't you love it?
+      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+	10.0,*86*-darwin8*|10.0,*-darwin[91]*)
+	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+	10.[012]*)
+	  _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+	10.*)
+	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+      esac
+    ;;
+  esac
+    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+      _lt_dar_single_mod='$single_module'
+    fi
+    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+    else
+      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+    fi
+    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
+      _lt_dsymutil='~$DSYMUTIL $lib || :'
+    else
+      _lt_dsymutil=
+    fi
+    ;;
+  esac
 
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
 
-else
-  _lt_caught_CXX_error=yes
 fi
 
+done
+
+
 
 
 
@@ -9936,7 +8350,7 @@ enable_dlopen=yes
 
 
             # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then
+if test "${enable_shared+set}" = set; then :
   enableval=$enable_shared; p=${PACKAGE-default}
     case $enableval in
     yes) enable_shared=yes ;;
@@ -9967,7 +8381,7 @@ fi
 
 
   # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then
+if test "${enable_static+set}" = set; then :
   enableval=$enable_static; p=${PACKAGE-default}
     case $enableval in
     yes) enable_static=yes ;;
@@ -9999,7 +8413,7 @@ fi
 
 
 # Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then
+if test "${with_pic+set}" = set; then :
   withval=$with_pic; pic_mode="$withval"
 else
   pic_mode=default
@@ -10015,7 +8429,7 @@ test -z "$pic_mode" && pic_mode=default
 
 
   # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then
+if test "${enable_fast_install+set}" = set; then :
   enableval=$enable_fast_install; p=${PACKAGE-default}
     case $enableval in
     yes) enable_fast_install=yes ;;
@@ -10077,6 +8491,7 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool'
 
 
 
+
 test -z "$LN_S" && LN_S="ln -s"
 
 
@@ -10096,9 +8511,9 @@ if test -n "${ZSH_VERSION+set}" ; then
    setopt NO_GLOB_SUBST
 fi
 
-{ $as_echo "$as_me:$LINENO: checking for objdir" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
 $as_echo_n "checking for objdir... " >&6; }
-if test "${lt_cv_objdir+set}" = set; then
+if test "${lt_cv_objdir+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   rm -f .libs 2>/dev/null
@@ -10111,7 +8526,7 @@ else
 fi
 rmdir .libs 2>/dev/null
 fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
 $as_echo "$lt_cv_objdir" >&6; }
 objdir=$lt_cv_objdir
 
@@ -10126,19 +8541,6 @@ _ACEOF
 
 
 
-
-
-
-
-
-
-
-
-
-
-
-
-
 case $host_os in
 aix3*)
   # AIX sometimes has problems with the GCC collect2 program.  For some
@@ -10151,23 +8553,6 @@ aix3*)
   ;;
 esac
 
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
 # Global variables:
 ofile=libtool
 can_build_shared=yes
@@ -10196,7 +8581,7 @@ for cc_temp in $compiler""; do
     *) break;;
   esac
 done
-cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
 
 
 # Only perform the check for file, if the check method requires it
@@ -10204,9 +8589,9 @@ test -z "$MAGIC_CMD" && MAGIC_CMD=file
 case $deplibs_check_method in
 file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    { $as_echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -10257,10 +8642,10 @@ fi
 
 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
 if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
 $as_echo "$MAGIC_CMD" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
@@ -10270,9 +8655,9 @@ fi
 
 if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
-    { $as_echo "$as_me:$LINENO: checking for file" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
 $as_echo_n "checking for file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -10323,10 +8708,10 @@ fi
 
 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
 if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
 $as_echo "$MAGIC_CMD" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
@@ -10405,11 +8790,16 @@ if test -n "$compiler"; then
 lt_prog_compiler_no_builtin_flag=
 
 if test "$GCC" = yes; then
-  lt_prog_compiler_no_builtin_flag=' -fno-builtin'
+  case $cc_basename in
+  nvcc*)
+    lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
+  *)
+    lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
+  esac
 
-  { $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
+if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_rtti_exceptions=no
@@ -10425,15 +8815,15 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:10428: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:10432: \$? = $ac_status" >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
      $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
      if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_rtti_exceptions=yes
@@ -10442,7 +8832,7 @@ else
    $RM conftest*
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
 $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
 
 if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
@@ -10462,7 +8852,7 @@ fi
 lt_prog_compiler_pic=
 lt_prog_compiler_static=
 
-{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
 $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
 
   if test "$GCC" = yes; then
@@ -10511,6 +8901,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
       lt_prog_compiler_pic='-fno-common'
       ;;
 
+    haiku*)
+      # PIC is the default for Haiku.
+      # The "-static" flag exists, but is broken.
+      lt_prog_compiler_static=
+      ;;
+
     hpux*)
       # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
       # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
@@ -10553,6 +8949,13 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
       lt_prog_compiler_pic='-fPIC'
       ;;
     esac
+
+    case $cc_basename in
+    nvcc*) # Cuda Compiler Driver 2.2
+      lt_prog_compiler_wl='-Xlinker '
+      lt_prog_compiler_pic='-Xcompiler -fPIC'
+      ;;
+    esac
   else
     # PORTME Check for flag to pass linker flags through the system compiler.
     case $host_os in
@@ -10594,7 +8997,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
       lt_prog_compiler_static='-non_shared'
       ;;
 
-    linux* | k*bsd*-gnu)
+    linux* | k*bsd*-gnu | kopensolaris*-gnu)
       case $cc_basename in
       # old Intel for x86_64 which still supported -KPIC.
       ecc*)
@@ -10615,7 +9018,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
 	lt_prog_compiler_pic='--shared'
 	lt_prog_compiler_static='--static'
 	;;
-      pgcc* | pgf77* | pgf90* | pgf95*)
+      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
         # Portland Group compilers (*not* the Pentium gcc compiler,
 	# which looks to be a dead project)
 	lt_prog_compiler_wl='-Wl,'
@@ -10627,25 +9030,25 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
         # All Alpha code is PIC.
         lt_prog_compiler_static='-non_shared'
         ;;
-      xl*)
-	# IBM XL C 8.0/Fortran 10.1 on PPC
+      xl* | bgxl* | bgf* | mpixl*)
+	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
 	lt_prog_compiler_wl='-Wl,'
 	lt_prog_compiler_pic='-qpic'
 	lt_prog_compiler_static='-qstaticlink'
 	;;
       *)
 	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ C*)
-	  # Sun C 5.9
+	*Sun\ F* | *Sun*Fortran*)
+	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
 	  lt_prog_compiler_pic='-KPIC'
 	  lt_prog_compiler_static='-Bstatic'
-	  lt_prog_compiler_wl='-Wl,'
+	  lt_prog_compiler_wl=''
 	  ;;
-	*Sun\ F*)
-	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
+	*Sun\ C*)
+	  # Sun C 5.9
 	  lt_prog_compiler_pic='-KPIC'
 	  lt_prog_compiler_static='-Bstatic'
-	  lt_prog_compiler_wl=''
+	  lt_prog_compiler_wl='-Wl,'
 	  ;;
 	esac
 	;;
@@ -10677,7 +9080,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
       lt_prog_compiler_pic='-KPIC'
       lt_prog_compiler_static='-Bstatic'
       case $cc_basename in
-      f77* | f90* | f95*)
+      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
 	lt_prog_compiler_wl='-Qoption ld ';;
       *)
 	lt_prog_compiler_wl='-Wl,';;
@@ -10734,7 +9137,7 @@ case $host_os in
     lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
     ;;
 esac
-{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5
 $as_echo "$lt_prog_compiler_pic" >&6; }
 
 
@@ -10746,9 +9149,9 @@ $as_echo "$lt_prog_compiler_pic" >&6; }
 # Check to make sure the PIC flag actually works.
 #
 if test -n "$lt_prog_compiler_pic"; then
-  { $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then
+if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_pic_works=no
@@ -10764,15 +9167,15 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:10767: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:10771: \$? = $ac_status" >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
      $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
      if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_pic_works=yes
@@ -10781,7 +9184,7 @@ else
    $RM conftest*
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
 $as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
 
 if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
@@ -10805,9 +9208,9 @@ fi
 # Check to make sure the static flag actually works.
 #
 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then
+if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_static_works=no
@@ -10820,7 +9223,7 @@ else
      if test -s conftest.err; then
        # Append any errors to the config.log.
        cat conftest.err 1>&5
-       $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
        $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
        if diff conftest.exp conftest.er2 >/dev/null; then
          lt_cv_prog_compiler_static_works=yes
@@ -10833,7 +9236,7 @@ else
    LDFLAGS="$save_LDFLAGS"
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
 $as_echo "$lt_cv_prog_compiler_static_works" >&6; }
 
 if test x"$lt_cv_prog_compiler_static_works" = xyes; then
@@ -10848,9 +9251,9 @@ fi
 
 
 
-  { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then
+if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -10869,16 +9272,16 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:10872: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:10876: \$? = $ac_status" >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
      $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
      if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_c_o=yes
@@ -10895,7 +9298,7 @@ else
    $RM conftest*
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
 $as_echo "$lt_cv_prog_compiler_c_o" >&6; }
 
 
@@ -10903,9 +9306,9 @@ $as_echo "$lt_cv_prog_compiler_c_o" >&6; }
 
 
 
-  { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then
+if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -10924,16 +9327,16 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:10927: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:10931: \$? = $ac_status" >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
      $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
      if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_c_o=yes
@@ -10950,7 +9353,7 @@ else
    $RM conftest*
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
 $as_echo "$lt_cv_prog_compiler_c_o" >&6; }
 
 
@@ -10959,7 +9362,7 @@ $as_echo "$lt_cv_prog_compiler_c_o" >&6; }
 hard_links="nottested"
 if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
   # do not overwrite the value of need_locks provided by the user
-  { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
 $as_echo_n "checking if we can lock with hard links... " >&6; }
   hard_links=yes
   $RM conftest*
@@ -10967,10 +9370,10 @@ $as_echo_n "checking if we can lock with hard links... " >&6; }
   touch conftest.a
   ln conftest.a conftest.b 2>&5 || hard_links=no
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
 $as_echo "$hard_links" >&6; }
   if test "$hard_links" = no; then
-    { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
     need_locks=warn
   fi
@@ -10983,7 +9386,7 @@ fi
 
 
 
-  { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
 
   runpath_var=
@@ -11046,7 +9449,33 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
   esac
 
   ld_shlibs=yes
+
+  # On some targets, GNU ld is compatible enough with the native linker
+  # that we're better off using the native interface for both.
+  lt_use_gnu_ld_interface=no
   if test "$with_gnu_ld" = yes; then
+    case $host_os in
+      aix*)
+	# The AIX port of GNU ld has always aspired to compatibility
+	# with the native linker.  However, as the warning in the GNU ld
+	# block says, versions before 2.19.5* couldn't really create working
+	# shared libraries, regardless of the interface used.
+	case `$LD -v 2>&1` in
+	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+	  *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
+	  *\ \(GNU\ Binutils\)\ [3-9]*) ;;
+	  *)
+	    lt_use_gnu_ld_interface=yes
+	    ;;
+	esac
+	;;
+      *)
+	lt_use_gnu_ld_interface=yes
+	;;
+    esac
+  fi
+
+  if test "$lt_use_gnu_ld_interface" = yes; then
     # If archive_cmds runs LD, not CC, wlarc should be empty
     wlarc='${wl}'
 
@@ -11064,6 +9493,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
     fi
     supports_anon_versioning=no
     case `$LD -v 2>&1` in
+      *GNU\ gold*) supports_anon_versioning=yes ;;
       *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
       *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
       *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
@@ -11079,11 +9509,12 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
 	ld_shlibs=no
 	cat <<_LT_EOF 1>&2
 
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** Warning: the GNU linker, at least up to release 2.19, is reported
 *** to be unable to reliably create shared libraries on AIX.
 *** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
 
 _LT_EOF
       fi
@@ -11119,6 +9550,7 @@ _LT_EOF
       # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
       # as there is no search path for DLLs.
       hardcode_libdir_flag_spec='-L$libdir'
+      export_dynamic_flag_spec='${wl}--export-all-symbols'
       allow_undefined_flag=unsupported
       always_export_symbols=no
       enable_shared_with_static_runtimes=yes
@@ -11140,6 +9572,11 @@ _LT_EOF
       fi
       ;;
 
+    haiku*)
+      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      link_all_deplibs=yes
+      ;;
+
     interix[3-9]*)
       hardcode_direct=no
       hardcode_shlibpath_var=no
@@ -11155,7 +9592,7 @@ _LT_EOF
       archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
       ;;
 
-    gnu* | linux* | tpf* | k*bsd*-gnu)
+    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
       tmp_diet=no
       if test "$host_os" = linux-dietlibc; then
 	case $cc_basename in
@@ -11169,11 +9606,12 @@ _LT_EOF
 	tmp_sharedflag='-shared'
 	case $cc_basename,$host_cpu in
         pgcc*)				# Portland Group C compiler
-	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
 	  tmp_addflag=' $pic_flag'
 	  ;;
-	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
-	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	pgf77* | pgf90* | pgf95* | pgfortran*)
+					# Portland Group f77 and f90 compilers
+	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
 	  tmp_addflag=' $pic_flag -Mnomain' ;;
 	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
 	  tmp_addflag=' -i_dynamic' ;;
@@ -11184,13 +9622,17 @@ _LT_EOF
 	lf95*)				# Lahey Fortran 8.1
 	  whole_archive_flag_spec=
 	  tmp_sharedflag='--shared' ;;
-	xl[cC]*)			# IBM XL C 8.0 on PPC (deal with xlf below)
+	xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
 	  tmp_sharedflag='-qmkshrobj'
 	  tmp_addflag= ;;
+	nvcc*)	# Cuda Compiler Driver 2.2
+	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+	  compiler_needs_object=yes
+	  ;;
 	esac
 	case `$CC -V 2>&1 | sed 5q` in
 	*Sun\ C*)			# Sun C 5.9
-	  whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	  whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
 	  compiler_needs_object=yes
 	  tmp_sharedflag='-G' ;;
 	*Sun\ F*)			# Sun Fortran 8.3
@@ -11206,17 +9648,17 @@ _LT_EOF
         fi
 
 	case $cc_basename in
-	xlf*)
+	xlf* | bgf* | bgxlf* | mpixlf*)
 	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
 	  whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
 	  hardcode_libdir_flag_spec=
 	  hardcode_libdir_flag_spec_ld='-rpath $libdir'
-	  archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
+	  archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
 	  if test "x$supports_anon_versioning" = xyes; then
 	    archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
 	      cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
 	      echo "local: *; };" >> $output_objdir/$libname.ver~
-	      $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+	      $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
 	  fi
 	  ;;
 	esac
@@ -11337,8 +9779,10 @@ _LT_EOF
       else
 	# If we're using GNU nm, then we don't want the "-C" option.
 	# -C means demangle to AIX nm, but means don't demangle with GNU nm
+	# Also, AIX nm treats weak defined symbols like other global
+	# defined symbols, whereas GNU nm marks them as "W".
 	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-	  export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+	  export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
 	else
 	  export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
 	fi
@@ -11425,11 +9869,7 @@ _LT_EOF
 	allow_undefined_flag='-berok'
         # Determine the default libpath from the value encoded in an
         # empty executable.
-        cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -11440,27 +9880,7 @@ main ()
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
 
 lt_aix_libpath_sed='
     /Import File Strings/,/^$/ {
@@ -11474,20 +9894,13 @@ aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpat
 if test -z "$aix_libpath"; then
   aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
 fi
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
         hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
       else
 	if test "$host_cpu" = ia64; then
 	  hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
@@ -11496,11 +9909,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 	else
 	 # Determine the default libpath from the value encoded in an
 	 # empty executable.
-	 cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -11511,27 +9920,7 @@ main ()
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
 
 lt_aix_libpath_sed='
     /Import File Strings/,/^$/ {
@@ -11545,16 +9934,9 @@ aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpat
 if test -z "$aix_libpath"; then
   aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
 fi
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
 	 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
@@ -11562,8 +9944,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 	  # -berok will link without error, but may produce a broken library.
 	  no_undefined_flag=' ${wl}-bernotok'
 	  allow_undefined_flag=' ${wl}-berok'
-	  # Exported symbols can be pulled into shared objects from archives
-	  whole_archive_flag_spec='$convenience'
+	  if test "$with_gnu_ld" = yes; then
+	    # We only use this code for GNU lds that support --whole-archive.
+	    whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	  else
+	    # Exported symbols can be pulled into shared objects from archives
+	    whole_archive_flag_spec='$convenience'
+	  fi
 	  archive_cmds_need_lc=yes
 	  # This is similar to how AIX traditionally builds its shared libraries.
 	  archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
@@ -11602,7 +9989,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       # Tell ltmain to make .dll files, not .so files.
       shrext_cmds=".dll"
       # FIXME: Setting linknames here is a bad hack.
-      archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
+      archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
       # The linker will automatically build a .lib file if we build a DLL.
       old_archive_from_new_cmds='true'
       # FIXME: Should let the user specify the lib program.
@@ -11618,7 +10005,11 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
   hardcode_direct=no
   hardcode_automatic=yes
   hardcode_shlibpath_var=unsupported
-  whole_archive_flag_spec=''
+  if test "$lt_cv_ld_force_load" = "yes"; then
+    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+  else
+    whole_archive_flag_spec=''
+  fi
   link_all_deplibs=yes
   allow_undefined_flag="$_lt_dar_allow_undefined"
   case $cc_basename in
@@ -11626,7 +10017,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
      *) _lt_dar_can_shared=$GCC ;;
   esac
   if test "$_lt_dar_can_shared" = "yes"; then
-    output_verbose_link_cmd=echo
+    output_verbose_link_cmd=func_echo_all
     archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
     module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
     archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
@@ -11692,7 +10083,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       ;;
 
     hpux10*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
 	archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
       else
 	archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
@@ -11711,7 +10102,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       ;;
 
     hpux11*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
 	case $host_cpu in
 	hppa*64*)
 	  archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
@@ -11732,7 +10123,46 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 	  archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
 	  ;;
 	*)
-	  archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+
+	  # Older versions of the 11.00 compiler do not understand -b yet
+	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
+$as_echo_n "checking if $CC understands -b... " >&6; }
+if test "${lt_cv_prog_compiler__b+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler__b=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS -b"
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_cv_prog_compiler__b=yes
+       fi
+     else
+       lt_cv_prog_compiler__b=yes
+     fi
+   fi
+   $RM -r conftest*
+   LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
+$as_echo "$lt_cv_prog_compiler__b" >&6; }
+
+if test x"$lt_cv_prog_compiler__b" = xyes; then
+    archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+else
+    archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+fi
+
 	  ;;
 	esac
       fi
@@ -11760,52 +10190,26 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
     irix5* | irix6* | nonstopux*)
       if test "$GCC" = yes; then
-	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 	# Try to use the -exported_symbol ld option, if it does not
 	# work, assume that -exports_file does not work either and
 	# implicitly export all symbols.
         save_LDFLAGS="$LDFLAGS"
         LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-        cat >conftest.$ac_ext <<_ACEOF
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 int foo(void) {}
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
-
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
+if ac_fn_c_try_link "$LINENO"; then :
+  archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
 
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
         LDFLAGS="$save_LDFLAGS"
       else
-	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
-	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
       fi
       archive_cmds_need_lc='no'
       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
@@ -11867,17 +10271,17 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       hardcode_libdir_flag_spec='-L$libdir'
       hardcode_minus_L=yes
       allow_undefined_flag=unsupported
-      archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+      archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
       old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
       ;;
 
     osf3*)
       if test "$GCC" = yes; then
 	allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
       else
 	allow_undefined_flag=' -expect_unresolved \*'
-	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
       fi
       archive_cmds_need_lc='no'
       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
@@ -11887,13 +10291,13 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
     osf4* | osf5*)	# as osf3* with the addition of -msym flag
       if test "$GCC" = yes; then
 	allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 	hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
       else
 	allow_undefined_flag=' -expect_unresolved \*'
-	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
 	archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-	$CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+	$CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
 
 	# Both c and cxx compiler support -rpath directly
 	hardcode_libdir_flag_spec='-rpath $libdir'
@@ -12057,7 +10461,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
     fi
   fi
 
-{ $as_echo "$as_me:$LINENO: result: $ld_shlibs" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
 $as_echo "$ld_shlibs" >&6; }
 test "$ld_shlibs" = no && can_build_shared=no
 
@@ -12094,46 +10498,52 @@ x|xyes)
       # Test whether the compiler implicitly links with -lc since on some
       # systems, -lgcc has to come before -lc. If gcc already passes -lc
       # to ld, don't add -lc before -lgcc.
-      { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-      $RM conftest*
-      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+if test "${lt_cv_archive_cmds_need_lc+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  $RM conftest*
+	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
-      if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+	if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } 2>conftest.err; then
-        soname=conftest
-        lib=conftest
-        libobjs=conftest.$ac_objext
-        deplibs=
-        wl=$lt_prog_compiler_wl
-	pic_flag=$lt_prog_compiler_pic
-        compiler_flags=-v
-        linker_flags=-v
-        verstring=
-        output_objdir=.
-        libname=conftest
-        lt_save_allow_undefined_flag=$allow_undefined_flag
-        allow_undefined_flag=
-        if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } 2>conftest.err; then
+	  soname=conftest
+	  lib=conftest
+	  libobjs=conftest.$ac_objext
+	  deplibs=
+	  wl=$lt_prog_compiler_wl
+	  pic_flag=$lt_prog_compiler_pic
+	  compiler_flags=-v
+	  linker_flags=-v
+	  verstring=
+	  output_objdir=.
+	  libname=conftest
+	  lt_save_allow_undefined_flag=$allow_undefined_flag
+	  allow_undefined_flag=
+	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
   (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
   ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-        then
-	  archive_cmds_need_lc=no
-        else
-	  archive_cmds_need_lc=yes
-        fi
-        allow_undefined_flag=$lt_save_allow_undefined_flag
-      else
-        cat conftest.err 1>&5
-      fi
-      $RM conftest*
-      { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
-$as_echo "$archive_cmds_need_lc" >&6; }
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+	  then
+	    lt_cv_archive_cmds_need_lc=no
+	  else
+	    lt_cv_archive_cmds_need_lc=yes
+	  fi
+	  allow_undefined_flag=$lt_save_allow_undefined_flag
+	else
+	  cat conftest.err 1>&5
+	fi
+	$RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
+$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
+      archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
       ;;
     esac
   fi
@@ -12296,7 +10706,7 @@ esac
 
 
 
-  { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
 $as_echo_n "checking dynamic linker characteristics... " >&6; }
 
 if test "$GCC" = yes; then
@@ -12304,16 +10714,23 @@ if test "$GCC" = yes; then
     darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
     *) lt_awk_arg="/^libraries:/" ;;
   esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-  if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
+  case $host_os in
+    mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
+    *) lt_sed_strip_eq="s,=/,/,g" ;;
+  esac
+  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+  case $lt_search_path_spec in
+  *\;*)
     # if the path contains ";" then we assume it to be the separator
     # otherwise default to the standard path separator (i.e. ":") - it is
     # assumed that no part of a normal pathname contains ";" but that should
     # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
-  else
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-  fi
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+    ;;
+  *)
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+    ;;
+  esac
   # Ok, now we have the path, separated by spaces, we can step through it
   # and add multilib dir if necessary.
   lt_tmp_lt_search_path_spec=
@@ -12326,7 +10743,7 @@ if test "$GCC" = yes; then
 	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
     fi
   done
-  lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
+  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
 BEGIN {RS=" "; FS="/|\n";} {
   lt_foo="";
   lt_count=0;
@@ -12346,7 +10763,13 @@ BEGIN {RS=" "; FS="/|\n";} {
   if (lt_foo != "") { lt_freq[lt_foo]++; }
   if (lt_freq[lt_foo] == 1) { print lt_foo; }
 }'`
-  sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
+  # AWK program above erroneously prepends '/' to C:/dos/paths
+  # for these hosts.
+  case $host_os in
+    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+      $SED 's,/\([A-Za-z]:\),\1,g'` ;;
+  esac
+  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
 else
   sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
 fi
@@ -12434,7 +10857,7 @@ amigaos*)
   m68k)
     library_names_spec='$libname.ixlibrary $libname.a'
     # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
     ;;
   esac
   ;;
@@ -12487,23 +10910,12 @@ cygwin* | mingw* | pw32* | cegcc*)
     cygwin*)
       # Cygwin DLLs use 'cyg' prefix rather than 'lib'
       soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+
+      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
       ;;
     mingw* | cegcc*)
       # MinGW DLLs use traditional 'lib' prefix
       soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
-        # It is most probably a Windows format PATH printed by
-        # mingw gcc, but we are running on Cygwin. Gcc prints its search
-        # path with ; separators, and with drive letters. We can handle the
-        # drive letters (cygwin fileutils understands them), so leave them,
-        # especially as we might pass files found there to a mingw objdump,
-        # which wouldn't understand a cygwinified path. Ahh.
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-      fi
       ;;
     pw32*)
       # pw32 DLLs use 'pw' prefix rather than 'lib'
@@ -12603,6 +11015,19 @@ gnu*)
   hardcode_into_libs=yes
   ;;
 
+haiku*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  dynamic_linker="$host_os runtime_loader"
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+  hardcode_into_libs=yes
+  ;;
+
 hpux9* | hpux10* | hpux11*)
   # Give a soname corresponding to the major version so that dld.sl refuses to
   # link against other versions.
@@ -12645,8 +11070,10 @@ hpux9* | hpux10* | hpux11*)
     soname_spec='${libname}${release}${shared_ext}$major'
     ;;
   esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
   postinstall_cmds='chmod 555 $lib'
+  # or fails outright, so override atomically:
+  install_override_mode=555
   ;;
 
 interix[3-9]*)
@@ -12704,7 +11131,7 @@ linux*oldld* | linux*aout* | linux*coff*)
   ;;
 
 # This must be Linux ELF.
-linux* | k*bsd*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -12713,16 +11140,17 @@ linux* | k*bsd*-gnu)
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=no
+
   # Some binutils ld are patched to set DT_RUNPATH
-  save_LDFLAGS=$LDFLAGS
-  save_libdir=$libdir
-  eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
-       LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_shlibpath_overrides_runpath=no
+    save_LDFLAGS=$LDFLAGS
+    save_libdir=$libdir
+    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
+	 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -12733,43 +11161,19 @@ main ()
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then
-  shlibpath_overrides_runpath=yes
+if ac_fn_c_try_link "$LINENO"; then :
+  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
+  lt_cv_shlibpath_overrides_runpath=yes
 fi
-
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+    LDFLAGS=$save_LDFLAGS
+    libdir=$save_libdir
 
 fi
 
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-  LDFLAGS=$save_LDFLAGS
-  libdir=$save_libdir
+  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
 
   # This implies no fast_install, which is unacceptable.
   # Some rework will be needed to allow for fast_install
@@ -12778,7 +11182,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
 
@@ -12979,7 +11383,7 @@ uts4*)
   dynamic_linker=no
   ;;
 esac
-{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
 $as_echo "$dynamic_linker" >&6; }
 test "$dynamic_linker" = no && can_build_shared=no
 
@@ -13081,7 +11485,12 @@ fi
 
 
 
-  { $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
 $as_echo_n "checking how to hardcode library paths into programs... " >&6; }
 hardcode_action=
 if test -n "$hardcode_libdir_flag_spec" ||
@@ -13106,7 +11515,7 @@ else
   # directories.
   hardcode_action=unsupported
 fi
-{ $as_echo "$as_me:$LINENO: result: $hardcode_action" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
 $as_echo "$hardcode_action" >&6; }
 
 if test "$hardcode_action" = relink ||
@@ -13151,18 +11560,14 @@ else
 
   darwin*)
   # if libdl is installed we need to link against it
-    { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-ldl  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -13180,43 +11585,18 @@ return dlopen ();
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_dl_dlopen=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_lib_dl_dlopen=no
+  ac_cv_lib_dl_dlopen=no
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
 
@@ -13229,106 +11609,18 @@ fi
     ;;
 
   *)
-    { $as_echo "$as_me:$LINENO: checking for shl_load" >&5
-$as_echo_n "checking for shl_load... " >&6; }
-if test "${ac_cv_func_shl_load+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define shl_load innocuous_shl_load
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char shl_load (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef shl_load
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_shl_load || defined __stub___shl_load
-choke me
-#endif
-
-int
-main ()
-{
-return shl_load ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  ac_cv_func_shl_load=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_func_shl_load=no
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
-$as_echo "$ac_cv_func_shl_load" >&6; }
-if test "x$ac_cv_func_shl_load" = x""yes; then
+    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
+if test "x$ac_cv_func_shl_load" = x""yes; then :
   lt_cv_dlopen="shl_load"
 else
-  { $as_echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
 $as_echo_n "checking for shl_load in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then
+if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-ldld  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -13346,145 +11638,32 @@ return shl_load ();
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_dld_shl_load=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_lib_dld_shl_load=no
+  ac_cv_lib_dld_shl_load=no
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
 $as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = x""yes; then
+if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
   lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
 else
-  { $as_echo "$as_me:$LINENO: checking for dlopen" >&5
-$as_echo_n "checking for dlopen... " >&6; }
-if test "${ac_cv_func_dlopen+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define dlopen innocuous_dlopen
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char dlopen (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef dlopen
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_dlopen || defined __stub___dlopen
-choke me
-#endif
-
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  ac_cv_func_dlopen=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_func_dlopen=no
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
-$as_echo "$ac_cv_func_dlopen" >&6; }
-if test "x$ac_cv_func_dlopen" = x""yes; then
+  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
+if test "x$ac_cv_func_dlopen" = x""yes; then :
   lt_cv_dlopen="dlopen"
 else
-  { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-ldl  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -13502,57 +11681,28 @@ return dlopen ();
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_dl_dlopen=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_lib_dl_dlopen=no
+  ac_cv_lib_dl_dlopen=no
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
-  { $as_echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
 $as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then
+if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lsvld  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -13570,57 +11720,28 @@ return dlopen ();
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_svld_dlopen=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_lib_svld_dlopen=no
+  ac_cv_lib_svld_dlopen=no
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
 $as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = x""yes; then
+if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
 else
-  { $as_echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
 $as_echo_n "checking for dld_link in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then
+if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-ldld  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -13638,43 +11759,18 @@ return dld_link ();
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_dld_dld_link=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_lib_dld_dld_link=no
+  ac_cv_lib_dld_dld_link=no
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
 $as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = x""yes; then
+if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
   lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
 fi
 
@@ -13713,9 +11809,9 @@ fi
     save_LIBS="$LIBS"
     LIBS="$lt_cv_dlopen_libs $LIBS"
 
-    { $as_echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
 $as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then
+if test "${lt_cv_dlopen_self+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -13724,7 +11820,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 13727 "configure"
+#line $LINENO "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13765,7 +11861,13 @@ else
 #  endif
 #endif
 
-void fnord() { int i=42;}
+/* When -fvisbility=hidden is used, assume the code has been annotated
+   correspondingly for the symbols needed.  */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+void fnord () __attribute__((visibility("default")));
+#endif
+
+void fnord () { int i=42; }
 int main ()
 {
   void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
@@ -13774,7 +11876,11 @@ int main ()
   if (self)
     {
       if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+      else
+        {
+	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
+          else puts (dlerror ());
+	}
       /* dlclose (self); */
     }
   else
@@ -13783,11 +11889,11 @@ int main ()
   return status;
 }
 _LT_EOF
-  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
     (./conftest; exit; ) >&5 2>/dev/null
     lt_status=$?
     case x$lt_status in
@@ -13804,14 +11910,14 @@ rm -fr conftest*
 
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
 $as_echo "$lt_cv_dlopen_self" >&6; }
 
     if test "x$lt_cv_dlopen_self" = xyes; then
       wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      { $as_echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then
+if test "${lt_cv_dlopen_self_static+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -13820,7 +11926,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 13823 "configure"
+#line $LINENO "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13861,7 +11967,13 @@ else
 #  endif
 #endif
 
-void fnord() { int i=42;}
+/* When -fvisbility=hidden is used, assume the code has been annotated
+   correspondingly for the symbols needed.  */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+void fnord () __attribute__((visibility("default")));
+#endif
+
+void fnord () { int i=42; }
 int main ()
 {
   void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
@@ -13870,7 +11982,11 @@ int main ()
   if (self)
     {
       if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+      else
+        {
+	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
+          else puts (dlerror ());
+	}
       /* dlclose (self); */
     }
   else
@@ -13879,11 +11995,11 @@ int main ()
   return status;
 }
 _LT_EOF
-  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
     (./conftest; exit; ) >&5 2>/dev/null
     lt_status=$?
     case x$lt_status in
@@ -13900,7 +12016,7 @@ rm -fr conftest*
 
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
 $as_echo "$lt_cv_dlopen_self_static" >&6; }
     fi
 
@@ -13939,12 +12055,12 @@ fi
 
 striplib=
 old_striplib=
-{ $as_echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
 $as_echo_n "checking whether stripping libraries is possible... " >&6; }
 if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
   test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
   test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
 else
 # FIXME - insert some real tests, host_os isn't really good enough
@@ -13953,15 +12069,15 @@ else
     if test -n "$STRIP" ; then
       striplib="$STRIP -x"
       old_striplib="$STRIP -S"
-      { $as_echo "$as_me:$LINENO: result: yes" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
     else
-      { $as_echo "$as_me:$LINENO: result: no" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
     fi
     ;;
   *)
-    { $as_echo "$as_me:$LINENO: result: no" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
     ;;
   esac
@@ -13979,12 +12095,12 @@ fi
 
 
   # Report which library types will actually be built
-  { $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
 $as_echo_n "checking if libtool supports shared libraries... " >&6; }
-  { $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
 $as_echo "$can_build_shared" >&6; }
 
-  { $as_echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
 $as_echo_n "checking whether to build shared libraries... " >&6; }
   test "$can_build_shared" = "no" && enable_shared=no
 
@@ -14005,28 +12121,167 @@ $as_echo_n "checking whether to build shared libraries... " >&6; }
     fi
     ;;
   esac
-  { $as_echo "$as_me:$LINENO: result: $enable_shared" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
 $as_echo "$enable_shared" >&6; }
 
-  { $as_echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
 $as_echo_n "checking whether to build static libraries... " >&6; }
   # Make sure either enable_shared or enable_static is yes.
   test "$enable_shared" = yes || enable_static=yes
-  { $as_echo "$as_me:$LINENO: result: $enable_static" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
 $as_echo "$enable_static" >&6; }
 
 
 
 
 fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 CC="$lt_save_CC"
 
+      if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+    (test "X$CXX" != "Xg++"))) ; then
+  ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
+$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
+if test -z "$CXXCPP"; then
+  if test "${ac_cv_prog_CXXCPP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+      # Double quotes because CXXCPP needs to be expanded
+    for CXXCPP in "$CXX -E" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+  break
+fi
+
+    done
+    ac_cv_prog_CXXCPP=$CXXCPP
+
+fi
+  CXXCPP=$ac_cv_prog_CXXCPP
+else
+  ac_cv_prog_CXXCPP=$CXXCPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
+$as_echo "$CXXCPP" >&6; }
+ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+else
+  _lt_caught_CXX_error=yes
+fi
 
 ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
@@ -14053,6 +12308,8 @@ module_cmds_CXX=
 module_expsym_cmds_CXX=
 link_all_deplibs_CXX=unknown
 old_archive_cmds_CXX=$old_archive_cmds
+reload_flag_CXX=$reload_flag
+reload_cmds_CXX=$reload_cmds
 no_undefined_flag_CXX=
 whole_archive_flag_spec_CXX=
 enable_shared_with_static_runtimes_CXX=no
@@ -14135,7 +12392,7 @@ $RM -r conftest*
     *) break;;
   esac
 done
-cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
 
 
   if test -n "$compiler"; then
@@ -14153,7 +12410,7 @@ cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
 
 
 # Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
+if test "${with_gnu_ld+set}" = set; then :
   withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
 else
   with_gnu_ld=no
@@ -14162,7 +12419,7 @@ fi
 ac_prog=ld
 if test "$GCC" = yes; then
   # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
 $as_echo_n "checking for ld used by $CC... " >&6; }
   case $host in
   *-*-mingw*)
@@ -14192,13 +12449,13 @@ $as_echo_n "checking for ld used by $CC... " >&6; }
     ;;
   esac
 elif test "$with_gnu_ld" = yes; then
-  { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
 $as_echo_n "checking for GNU ld... " >&6; }
 else
-  { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
 $as_echo_n "checking for non-GNU ld... " >&6; }
 fi
-if test "${lt_cv_path_LD+set}" = set; then
+if test "${lt_cv_path_LD+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$LD"; then
@@ -14229,18 +12486,16 @@ fi
 
 LD="$lt_cv_path_LD"
 if test -n "$LD"; then
-  { $as_echo "$as_me:$LINENO: result: $LD" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
 $as_echo "$LD" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
-test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
-   { (exit 1); exit 1; }; }
-{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then
+if test "${lt_cv_prog_gnu_ld+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   # I'd rather use --version here, but apparently some GNU lds only accept -v.
@@ -14253,7 +12508,7 @@ case `$LD -v 2>&1 </dev/null` in
   ;;
 esac
 fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
 $as_echo "$lt_cv_prog_gnu_ld" >&6; }
 with_gnu_ld=$lt_cv_prog_gnu_ld
 
@@ -14299,7 +12554,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
       # Commands to make compiler produce verbose output that lists
       # what "hidden" libraries, object files and flags are used when
       # linking a shared library.
-      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
 
     else
       GXX=no
@@ -14308,7 +12563,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
     fi
 
     # PORTME: fill in a description of your system's C++ link characteristics
-    { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
     ld_shlibs_CXX=yes
     case $host_os in
@@ -14409,11 +12664,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
           allow_undefined_flag_CXX='-berok'
           # Determine the default libpath from the value encoded in an empty
           # executable.
-          cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -14424,27 +12675,7 @@ main ()
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_cxx_try_link "$LINENO"; then :
 
 lt_aix_libpath_sed='
     /Import File Strings/,/^$/ {
@@ -14458,21 +12689,14 @@ aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpat
 if test -z "$aix_libpath"; then
   aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
 fi
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
           hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
 
-          archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+          archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
         else
           if test "$host_cpu" = ia64; then
 	    hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
@@ -14481,11 +12705,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
           else
 	    # Determine the default libpath from the value encoded in an
 	    # empty executable.
-	    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+	    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -14496,27 +12716,7 @@ main ()
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_cxx_try_link "$LINENO"; then :
 
 lt_aix_libpath_sed='
     /Import File Strings/,/^$/ {
@@ -14530,16 +12730,9 @@ aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpat
 if test -z "$aix_libpath"; then
   aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
 fi
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
 	    hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
@@ -14547,8 +12740,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 	    # -berok will link without error, but may produce a broken library.
 	    no_undefined_flag_CXX=' ${wl}-bernotok'
 	    allow_undefined_flag_CXX=' ${wl}-berok'
-	    # Exported symbols can be pulled into shared objects from archives
-	    whole_archive_flag_spec_CXX='$convenience'
+	    if test "$with_gnu_ld" = yes; then
+	      # We only use this code for GNU lds that support --whole-archive.
+	      whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	    else
+	      # Exported symbols can be pulled into shared objects from archives
+	      whole_archive_flag_spec_CXX='$convenience'
+	    fi
 	    archive_cmds_need_lc_CXX=yes
 	    # This is similar to how AIX traditionally builds its shared
 	    # libraries.
@@ -14581,6 +12779,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
         # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
         # as there is no search path for DLLs.
         hardcode_libdir_flag_spec_CXX='-L$libdir'
+        export_dynamic_flag_spec_CXX='${wl}--export-all-symbols'
         allow_undefined_flag_CXX=unsupported
         always_export_symbols_CXX=no
         enable_shared_with_static_runtimes_CXX=yes
@@ -14607,7 +12806,11 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
   hardcode_direct_CXX=no
   hardcode_automatic_CXX=yes
   hardcode_shlibpath_var_CXX=unsupported
-  whole_archive_flag_spec_CXX=''
+  if test "$lt_cv_ld_force_load" = "yes"; then
+    whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+  else
+    whole_archive_flag_spec_CXX=''
+  fi
   link_all_deplibs_CXX=yes
   allow_undefined_flag_CXX="$_lt_dar_allow_undefined"
   case $cc_basename in
@@ -14615,7 +12818,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
      *) _lt_dar_can_shared=$GCC ;;
   esac
   if test "$_lt_dar_can_shared" = "yes"; then
-    output_verbose_link_cmd=echo
+    output_verbose_link_cmd=func_echo_all
     archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
     module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
     archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
@@ -14668,6 +12871,11 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       gnu*)
         ;;
 
+      haiku*)
+        archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+        link_all_deplibs_CXX=yes
+        ;;
+
       hpux9*)
         hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
         hardcode_libdir_separator_CXX=:
@@ -14692,7 +12900,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
             # explicitly linking system object files so we need to strip them
             # from the output so that they don't get included in the library
             # dependencies.
-            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
             ;;
           *)
             if test "$GXX" = yes; then
@@ -14757,7 +12965,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 	    # explicitly linking system object files so we need to strip them
 	    # from the output so that they don't get included in the library
 	    # dependencies.
-	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
 	    ;;
           *)
 	    if test "$GXX" = yes; then
@@ -14800,7 +13008,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
         case $cc_basename in
           CC*)
 	    # SGI C++
-	    archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	    archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
 
 	    # Archives containing C++ object files must be created using
 	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
@@ -14811,9 +13019,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
           *)
 	    if test "$GXX" = yes; then
 	      if test "$with_gnu_ld" = no; then
-	        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 	      else
-	        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
+	        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
 	      fi
 	    fi
 	    link_all_deplibs_CXX=yes
@@ -14824,7 +13032,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
         inherit_rpath_CXX=yes
         ;;
 
-      linux* | k*bsd*-gnu)
+      linux* | k*bsd*-gnu | kopensolaris*-gnu)
         case $cc_basename in
           KCC*)
 	    # Kuck and Associates, Inc. (KAI) C++ Compiler
@@ -14842,7 +13050,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 	    # explicitly linking system object files so we need to strip them
 	    # from the output so that they don't get included in the library
 	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
 
 	    hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
 	    export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
@@ -14879,26 +13087,26 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
           pgCC* | pgcpp*)
             # Portland Group C++ compiler
 	    case `$CC -V` in
-	    *pgCC\ [1-5]* | *pgcpp\ [1-5]*)
+	    *pgCC\ [1-5].* | *pgcpp\ [1-5].*)
 	      prelink_cmds_CXX='tpldir=Template.dir~
 		rm -rf $tpldir~
 		$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
-		compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
+		compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
 	      old_archive_cmds_CXX='tpldir=Template.dir~
 		rm -rf $tpldir~
 		$CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
-		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
+		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
 		$RANLIB $oldlib'
 	      archive_cmds_CXX='tpldir=Template.dir~
 		rm -rf $tpldir~
 		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
 	      archive_expsym_cmds_CXX='tpldir=Template.dir~
 		rm -rf $tpldir~
 		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
 	      ;;
-	    *) # Version 6 will use weak symbols
+	    *) # Version 6 and above use weak symbols
 	      archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
 	      archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
 	      ;;
@@ -14906,7 +13114,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
 	    hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
 	    export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-	    whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	    whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
             ;;
 	  cxx*)
 	    # Compaq C++
@@ -14925,9 +13133,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 	    # explicitly linking system object files so we need to strip them
 	    # from the output so that they don't get included in the library
 	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
 	    ;;
-	  xl*)
+	  xl* | mpixl* | bgxl*)
 	    # IBM XL 8.0 on PPC, with GNU ld
 	    hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
 	    export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
@@ -14947,13 +13155,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 	      archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
 	      archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
 	      hardcode_libdir_flag_spec_CXX='-R$libdir'
-	      whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	      whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
 	      compiler_needs_object_CXX=yes
 
 	      # Not sure whether something based on
 	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
 	      # would be better.
-	      output_verbose_link_cmd='echo'
+	      output_verbose_link_cmd='func_echo_all'
 
 	      # Archives containing C++ object files must be created using
 	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
@@ -15022,7 +13230,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 	    export_dynamic_flag_spec_CXX='${wl}-E'
 	    whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
 	  fi
-	  output_verbose_link_cmd=echo
+	  output_verbose_link_cmd=func_echo_all
 	else
 	  ld_shlibs_CXX=no
 	fi
@@ -15057,15 +13265,15 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 	    case $host in
 	      osf3*)
 	        allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
-	        archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	        archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
 	        hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
 		;;
 	      *)
 	        allow_undefined_flag_CXX=' -expect_unresolved \*'
-	        archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	        archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
 	        archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
 	          echo "-hidden">> $lib.exp~
-	          $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp  `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
+	          $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp  `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
 	          $RM $lib.exp'
 	        hardcode_libdir_flag_spec_CXX='-rpath $libdir'
 		;;
@@ -15081,17 +13289,17 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 	    # explicitly linking system object files so we need to strip them
 	    # from the output so that they don't get included in the library
 	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
 	    ;;
 	  *)
 	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
 	      allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
 	      case $host in
 	        osf3*)
-	          archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	          archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 		  ;;
 	        *)
-	          archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	          archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 		  ;;
 	      esac
 
@@ -15101,7 +13309,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 	      # Commands to make compiler produce verbose output that lists
 	      # what "hidden" libraries, object files and flags are used when
 	      # linking a shared library.
-	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
 
 	    else
 	      # FIXME: insert proper C++ library support
@@ -15137,7 +13345,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
       solaris*)
         case $cc_basename in
-          CC*)
+          CC* | sunCC*)
 	    # Sun C++ 4.2, 5.x and Centerline C++
             archive_cmds_need_lc_CXX=yes
 	    no_undefined_flag_CXX=' -zdefs'
@@ -15158,7 +13366,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 	    esac
 	    link_all_deplibs_CXX=yes
 
-	    output_verbose_link_cmd='echo'
+	    output_verbose_link_cmd='func_echo_all'
 
 	    # Archives containing C++ object files must be created using
 	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
@@ -15185,7 +13393,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 	        # Commands to make compiler produce verbose output that lists
 	        # what "hidden" libraries, object files and flags are used when
 	        # linking a shared library.
-	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
 	      else
 	        # g++ 2.7 appears to require `-G' NOT `-shared' on this
 	        # platform.
@@ -15196,7 +13404,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 	        # Commands to make compiler produce verbose output that lists
 	        # what "hidden" libraries, object files and flags are used when
 	        # linking a shared library.
-	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
 	      fi
 
 	      hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
@@ -15250,6 +13458,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
           CC*)
 	    archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
 	    archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~
+	      '"$old_archive_cmds_CXX"
+	    reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~
+	      '"$reload_cmds_CXX"
 	    ;;
 	  *)
 	    archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
@@ -15283,7 +13495,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
         ;;
     esac
 
-    { $as_echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
 $as_echo "$ld_shlibs_CXX" >&6; }
     test "$ld_shlibs_CXX" = no && can_build_shared=no
 
@@ -15311,11 +13523,11 @@ private:
 };
 _LT_EOF
 
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
   # Parse the compiler output and extract the necessary
   # objects, libraries and library flags.
 
@@ -15431,7 +13643,7 @@ linux*)
 
 solaris*)
   case $cc_basename in
-  CC*)
+  CC* | sunCC*)
     # The more standards-conforming stlport4 library is
     # incompatible with the Cstd library. Avoid specifying
     # it if it's in CXXFLAGS. Ignore libCrun as
@@ -15496,7 +13708,7 @@ fi
 lt_prog_compiler_pic_CXX=
 lt_prog_compiler_static_CXX=
 
-{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
 $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
 
   # C++ specific cases for pic, static, wl, etc.
@@ -15547,6 +13759,11 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
       # DJGPP does not support shared libraries at all
       lt_prog_compiler_pic_CXX=
       ;;
+    haiku*)
+      # PIC is the default for Haiku.
+      # The "-static" flag exists, but is broken.
+      lt_prog_compiler_static_CXX=
+      ;;
     interix[3-9]*)
       # Interix 3.x gcc -fpic/-fPIC options generate broken code.
       # Instead, we relocate shared libraries at runtime.
@@ -15652,7 +13869,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
 	    ;;
 	esac
 	;;
-      linux* | k*bsd*-gnu)
+      linux* | k*bsd*-gnu | kopensolaris*-gnu)
 	case $cc_basename in
 	  KCC*)
 	    # KAI C++ Compiler
@@ -15685,8 +13902,8 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
 	    lt_prog_compiler_pic_CXX=
 	    lt_prog_compiler_static_CXX='-non_shared'
 	    ;;
-	  xlc* | xlC*)
-	    # IBM XL 8.0 on PPC
+	  xlc* | xlC* | bgxl[cC]* | mpixl[cC]*)
+	    # IBM XL 8.0, 9.0 on PPC and BlueGene
 	    lt_prog_compiler_wl_CXX='-Wl,'
 	    lt_prog_compiler_pic_CXX='-qpic'
 	    lt_prog_compiler_static_CXX='-qstaticlink'
@@ -15748,7 +13965,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
 	;;
       solaris*)
 	case $cc_basename in
-	  CC*)
+	  CC* | sunCC*)
 	    # Sun C++ 4.2, 5.x and Centerline C++
 	    lt_prog_compiler_pic_CXX='-KPIC'
 	    lt_prog_compiler_static_CXX='-Bstatic'
@@ -15813,7 +14030,7 @@ case $host_os in
     lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
     ;;
 esac
-{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic_CXX" >&5
 $as_echo "$lt_prog_compiler_pic_CXX" >&6; }
 
 
@@ -15822,9 +14039,9 @@ $as_echo "$lt_prog_compiler_pic_CXX" >&6; }
 # Check to make sure the PIC flag actually works.
 #
 if test -n "$lt_prog_compiler_pic_CXX"; then
-  { $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then
+if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_pic_works_CXX=no
@@ -15840,15 +14057,15 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:15843: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:15847: \$? = $ac_status" >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
      $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
      if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_pic_works_CXX=yes
@@ -15857,7 +14074,7 @@ else
    $RM conftest*
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
 $as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; }
 
 if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then
@@ -15878,9 +14095,9 @@ fi
 # Check to make sure the static flag actually works.
 #
 wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
-{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then
+if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_static_works_CXX=no
@@ -15893,7 +14110,7 @@ else
      if test -s conftest.err; then
        # Append any errors to the config.log.
        cat conftest.err 1>&5
-       $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
        $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
        if diff conftest.exp conftest.er2 >/dev/null; then
          lt_cv_prog_compiler_static_works_CXX=yes
@@ -15906,7 +14123,7 @@ else
    LDFLAGS="$save_LDFLAGS"
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_CXX" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5
 $as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; }
 
 if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then
@@ -15918,9 +14135,9 @@ fi
 
 
 
-    { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
+if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o_CXX=no
@@ -15939,16 +14156,16 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:15942: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:15946: \$? = $ac_status" >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
      $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
      if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_c_o_CXX=yes
@@ -15965,14 +14182,14 @@ else
    $RM conftest*
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
 
 
 
-    { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
+if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o_CXX=no
@@ -15991,16 +14208,16 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:15994: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:15998: \$? = $ac_status" >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
      $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
      if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_c_o_CXX=yes
@@ -16017,7 +14234,7 @@ else
    $RM conftest*
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
 
 
@@ -16026,7 +14243,7 @@ $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
 hard_links="nottested"
 if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
   # do not overwrite the value of need_locks provided by the user
-  { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
 $as_echo_n "checking if we can lock with hard links... " >&6; }
   hard_links=yes
   $RM conftest*
@@ -16034,10 +14251,10 @@ $as_echo_n "checking if we can lock with hard links... " >&6; }
   touch conftest.a
   ln conftest.a conftest.b 2>&5 || hard_links=no
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
 $as_echo "$hard_links" >&6; }
   if test "$hard_links" = no; then
-    { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
     need_locks=warn
   fi
@@ -16047,7 +14264,7 @@ fi
 
 
 
-    { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
 
   export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
@@ -16055,8 +14272,10 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
   aix[4-9]*)
     # If we're using GNU nm, then we don't want the "-C" option.
     # -C means demangle to AIX nm, but means don't demangle with GNU nm
+    # Also, AIX nm treats weak defined symbols like other global defined
+    # symbols, whereas GNU nm marks them as "W".
     if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-      export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+      export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
     else
       export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
     fi
@@ -16073,7 +14292,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
   esac
   exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
 
-{ $as_echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
 $as_echo "$ld_shlibs_CXX" >&6; }
 test "$ld_shlibs_CXX" = no && can_build_shared=no
 
@@ -16101,46 +14320,52 @@ x|xyes)
       # Test whether the compiler implicitly links with -lc since on some
       # systems, -lgcc has to come before -lc. If gcc already passes -lc
       # to ld, don't add -lc before -lgcc.
-      { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-      $RM conftest*
-      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+if test "${lt_cv_archive_cmds_need_lc_CXX+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  $RM conftest*
+	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
-      if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+	if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } 2>conftest.err; then
-        soname=conftest
-        lib=conftest
-        libobjs=conftest.$ac_objext
-        deplibs=
-        wl=$lt_prog_compiler_wl_CXX
-	pic_flag=$lt_prog_compiler_pic_CXX
-        compiler_flags=-v
-        linker_flags=-v
-        verstring=
-        output_objdir=.
-        libname=conftest
-        lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
-        allow_undefined_flag_CXX=
-        if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } 2>conftest.err; then
+	  soname=conftest
+	  lib=conftest
+	  libobjs=conftest.$ac_objext
+	  deplibs=
+	  wl=$lt_prog_compiler_wl_CXX
+	  pic_flag=$lt_prog_compiler_pic_CXX
+	  compiler_flags=-v
+	  linker_flags=-v
+	  verstring=
+	  output_objdir=.
+	  libname=conftest
+	  lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
+	  allow_undefined_flag_CXX=
+	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
   (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
   ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-        then
-	  archive_cmds_need_lc_CXX=no
-        else
-	  archive_cmds_need_lc_CXX=yes
-        fi
-        allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
-      else
-        cat conftest.err 1>&5
-      fi
-      $RM conftest*
-      { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
-$as_echo "$archive_cmds_need_lc_CXX" >&6; }
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+	  then
+	    lt_cv_archive_cmds_need_lc_CXX=no
+	  else
+	    lt_cv_archive_cmds_need_lc_CXX=yes
+	  fi
+	  allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
+	else
+	  cat conftest.err 1>&5
+	fi
+	$RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5
+$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; }
+      archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX
       ;;
     esac
   fi
@@ -16210,7 +14435,7 @@ esac
 
 
 
-    { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
 $as_echo_n "checking dynamic linker characteristics... " >&6; }
 
 library_names_spec=
@@ -16297,7 +14522,7 @@ amigaos*)
   m68k)
     library_names_spec='$libname.ixlibrary $libname.a'
     # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
     ;;
   esac
   ;;
@@ -16350,23 +14575,11 @@ cygwin* | mingw* | pw32* | cegcc*)
     cygwin*)
       # Cygwin DLLs use 'cyg' prefix rather than 'lib'
       soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+
       ;;
     mingw* | cegcc*)
       # MinGW DLLs use traditional 'lib' prefix
       soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
-        # It is most probably a Windows format PATH printed by
-        # mingw gcc, but we are running on Cygwin. Gcc prints its search
-        # path with ; separators, and with drive letters. We can handle the
-        # drive letters (cygwin fileutils understands them), so leave them,
-        # especially as we might pass files found there to a mingw objdump,
-        # which wouldn't understand a cygwinified path. Ahh.
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-      fi
       ;;
     pw32*)
       # pw32 DLLs use 'pw' prefix rather than 'lib'
@@ -16465,6 +14678,19 @@ gnu*)
   hardcode_into_libs=yes
   ;;
 
+haiku*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  dynamic_linker="$host_os runtime_loader"
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+  hardcode_into_libs=yes
+  ;;
+
 hpux9* | hpux10* | hpux11*)
   # Give a soname corresponding to the major version so that dld.sl refuses to
   # link against other versions.
@@ -16507,8 +14733,10 @@ hpux9* | hpux10* | hpux11*)
     soname_spec='${libname}${release}${shared_ext}$major'
     ;;
   esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
   postinstall_cmds='chmod 555 $lib'
+  # or fails outright, so override atomically:
+  install_override_mode=555
   ;;
 
 interix[3-9]*)
@@ -16566,7 +14794,7 @@ linux*oldld* | linux*aout* | linux*coff*)
   ;;
 
 # This must be Linux ELF.
-linux* | k*bsd*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -16575,16 +14803,17 @@ linux* | k*bsd*-gnu)
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=no
+
   # Some binutils ld are patched to set DT_RUNPATH
-  save_LDFLAGS=$LDFLAGS
-  save_libdir=$libdir
-  eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \
-       LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_shlibpath_overrides_runpath=no
+    save_LDFLAGS=$LDFLAGS
+    save_libdir=$libdir
+    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \
+	 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -16595,43 +14824,19 @@ main ()
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then
-  shlibpath_overrides_runpath=yes
+if ac_fn_cxx_try_link "$LINENO"; then :
+  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
+  lt_cv_shlibpath_overrides_runpath=yes
 fi
-
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+    LDFLAGS=$save_LDFLAGS
+    libdir=$save_libdir
 
 fi
 
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-  LDFLAGS=$save_LDFLAGS
-  libdir=$save_libdir
+  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
 
   # This implies no fast_install, which is unacceptable.
   # Some rework will be needed to allow for fast_install
@@ -16640,7 +14845,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
 
@@ -16841,7 +15046,7 @@ uts4*)
   dynamic_linker=no
   ;;
 esac
-{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
 $as_echo "$dynamic_linker" >&6; }
 test "$dynamic_linker" = no && can_build_shared=no
 
@@ -16892,7 +15097,9 @@ fi
 
 
 
-    { $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
 $as_echo_n "checking how to hardcode library paths into programs... " >&6; }
 hardcode_action_CXX=
 if test -n "$hardcode_libdir_flag_spec_CXX" ||
@@ -16917,7 +15124,7 @@ else
   # directories.
   hardcode_action_CXX=unsupported
 fi
-{ $as_echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5
 $as_echo "$hardcode_action_CXX" >&6; }
 
 if test "$hardcode_action_CXX" = relink ||
@@ -16949,11 +15156,11 @@ fi
   lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
 fi # test "$_lt_caught_CXX_error" != yes
 
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 
 
@@ -17028,13 +15235,13 @@ _ACEOF
     case $ac_val in #(
     *${as_nl}*)
       case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
+      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
       esac
       case $ac_var in #(
       _ | IFS | as_nl) ;; #(
       BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) $as_unset $ac_var ;;
+      *) { eval $ac_var=; unset $ac_var;} ;;
       esac ;;
     esac
   done
@@ -17042,8 +15249,8 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
   (set) 2>&1 |
     case $as_nl`(ac_space=' '; set) 2>&1` in #(
     *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes (double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \).
+      # `set' does not quote correctly, so add quotes: double-quote
+      # substitution turns \\\\ into \\, and sed turns \\ into \.
       sed -n \
 	"s/'/'\\\\''/g;
 	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
@@ -17066,11 +15273,11 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
     test "x$cache_file" != "x/dev/null" &&
-      { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
     cat confcache >$cache_file
   else
-    { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
   fi
 fi
@@ -17084,91 +15291,70 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
   ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
   # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
   #    will be set to the directory where LIBOBJS objects are built.
-  ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
+  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
 done
 LIBOBJS=$ac_libobjs
 
 LTLIBOBJS=$ac_ltlibobjs
 
 
+ if test -n "$EXEEXT"; then
+  am__EXEEXT_TRUE=
+  am__EXEEXT_FALSE='#'
+else
+  am__EXEEXT_TRUE='#'
+  am__EXEEXT_FALSE=
+fi
+
 if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${GCC_TRUE}" && test -z "${GCC_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"GCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"GCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"GCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${NO_UNDEFINED_TRUE}" && test -z "${NO_UNDEFINED_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"NO_UNDEFINED\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"NO_UNDEFINED\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"NO_UNDEFINED\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${HAVE_PERL_TRUE}" && test -z "${HAVE_PERL_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_PERL\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"HAVE_PERL\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"HAVE_PERL\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${VALGRIND_TESTS_ENABLED_TRUE}" && test -z "${VALGRIND_TESTS_ENABLED_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"VALGRIND_TESTS_ENABLED\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"VALGRIND_TESTS_ENABLED\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"VALGRIND_TESTS_ENABLED\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${BUILD_WATCHDOG_LIBRARY_TRUE}" && test -z "${BUILD_WATCHDOG_LIBRARY_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_WATCHDOG_LIBRARY\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"BUILD_WATCHDOG_LIBRARY\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"BUILD_WATCHDOG_LIBRARY\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 
 : ${CONFIG_STATUS=./config.status}
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+as_write_fail=0
+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
 #! $SHELL
 # Generated by $as_me.
 # Run this file to recreate the current configuration.
@@ -17178,17 +15364,18 @@ cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 debug=false
 ac_cs_recheck=false
 ac_cs_silent=false
-SHELL=\${CONFIG_SHELL-$SHELL}
-_ACEOF
 
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-## --------------------- ##
-## M4sh Initialization.  ##
-## --------------------- ##
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
 
 # Be more Bourne compatible
 DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
   NULLCMD=:
   # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
@@ -17196,23 +15383,15 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
 else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
 esac
-
 fi
 
 
-
-
-# PATH needs CR
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
 as_nl='
 '
 export as_nl
@@ -17220,7 +15399,13 @@ export as_nl
 as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
 as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
 as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
   as_echo='printf %s\n'
   as_echo_n='printf %s'
 else
@@ -17231,7 +15416,7 @@ else
     as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
     as_echo_n_body='eval
       arg=$1;
-      case $arg in
+      case $arg in #(
       *"$as_nl"*)
 	expr "X$arg" : "X\\(.*\\)$as_nl";
 	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
@@ -17254,13 +15439,6 @@ if test "${PATH_SEPARATOR+set}" != set; then
   }
 fi
 
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  as_unset=unset
-else
-  as_unset=false
-fi
-
 
 # IFS
 # We need space, tab and new line, in precisely that order.  Quoting is
@@ -17270,15 +15448,15 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
-case $0 in
+case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
+    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  done
 IFS=$as_save_IFS
 
      ;;
@@ -17290,12 +15468,16 @@ if test "x$as_myself" = x; then
 fi
 if test ! -f "$as_myself"; then
   $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  { (exit 1); exit 1; }
+  exit 1
 fi
 
-# Work around bugs in pre-3.0 UWIN ksh.
-for as_var in ENV MAIL MAILPATH
-do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
 done
 PS1='$ '
 PS2='> '
@@ -17307,7 +15489,89 @@ export LC_ALL
 LANGUAGE=C
 export LANGUAGE
 
-# Required to use basename.
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+  fi
+  $as_echo "$as_me: error: $2" >&2
+  as_fn_exit $as_status
+} # as_fn_error
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
+else
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+
 if expr a : '\(a\)' >/dev/null 2>&1 &&
    test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
@@ -17321,8 +15585,12 @@ else
   as_basename=false
 fi
 
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
 
-# Name of the executable.
 as_me=`$as_basename -- "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
 	 X"$0" : 'X\(//\)$' \| \
@@ -17342,76 +15610,25 @@ $as_echo X/"$0" |
 	  }
 	  s/.*/./; q'`
 
-# CDPATH.
-$as_unset CDPATH
-
-
-
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-
-  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
-  # uniformly replaced by the line number.  The first 'sed' inserts a
-  # line-number line after each line using $LINENO; the second 'sed'
-  # does the real work.  The second script uses 'N' to pair each
-  # line-number line with the line containing $LINENO, and appends
-  # trailing '-' during substitution so that $LINENO is not a special
-  # case at line end.
-  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-  # scripts with optimization help from Paolo Bonzini.  Blame Lee
-  # E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
-   { (exit 1); exit 1; }; }
-
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
 
 ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in
+case `echo -n x` in #(((((
 -n*)
-  case `echo 'x\c'` in
+  case `echo 'xy\c'` in
   *c*) ECHO_T='	';;	# ECHO_T is single tab character.
-  *)   ECHO_C='\c';;
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='	';;
   esac;;
 *)
   ECHO_N='-n';;
 esac
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
 
 rm -f conf$$ conf$$.exe conf$$.file
 if test -d conf$$.dir; then
@@ -17440,8 +15657,56 @@ fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
 
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
 if mkdir -p . 2>/dev/null; then
-  as_mkdir_p=:
+  as_mkdir_p='mkdir -p "$as_dir"'
 else
   test -d ./-p && rmdir ./-p
   as_mkdir_p=false
@@ -17460,10 +15725,10 @@ else
       if test -d "$1"; then
 	test -d "$1/.";
       else
-	case $1 in
+	case $1 in #(
 	-*)set "./$1";;
 	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
 	???[sx]*):;;*)false;;esac;fi
     '\'' sh
   '
@@ -17478,13 +15743,19 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
 
 exec 6>&1
+## ----------------------------------- ##
+## Main body of $CONFIG_STATUS script. ##
+## ----------------------------------- ##
+_ASEOF
+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
 
-# Save the log message, to keep $[0] and so on meaningful, and to
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# Save the log message, to keep $0 and so on meaningful, and to
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by the Parma Watchdog Library $as_me 0.7, which was
-generated by GNU Autoconf 2.63.  Invocation command line was
+This file was extended by the Parma Watchdog Library $as_me 0.8, which was
+generated by GNU Autoconf 2.67.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -17516,13 +15787,15 @@ _ACEOF
 
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 ac_cs_usage="\
-\`$as_me' instantiates files from templates according to the
-current configuration.
+\`$as_me' instantiates files and other configuration actions
+from templates according to the current configuration.  Unless the files
+and actions are specified as TAGs, all are instantiated by default.
 
-Usage: $0 [OPTION]... [FILE]...
+Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -17541,16 +15814,17 @@ $config_headers
 Configuration commands:
 $config_commands
 
-Report bugs to <bug-autoconf at gnu.org>."
+Report bugs to <bagnara at cs.unipr.it>."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-the Parma Watchdog Library config.status 0.7
-configured by $0, generated by GNU Autoconf 2.63,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+the Parma Watchdog Library config.status 0.8
+configured by $0, generated by GNU Autoconf 2.67,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2008 Free Software Foundation, Inc.
+Copyright (C) 2010 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -17568,11 +15842,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -17586,27 +15865,29 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
-    CONFIG_FILES="$CONFIG_FILES '$ac_optarg'"
+    as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
   --header | --heade | --head | --hea )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
     esac
-    CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'"
+    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    { $as_echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2
-   { (exit 1); exit 1; }; };;
+    as_fn_error $? "ambiguous option: \`$1'
+Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
@@ -17614,11 +15895,10 @@ Try \`$0 --help' for more information." >&2
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) { $as_echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2
-   { (exit 1); exit 1; }; } ;;
+  -*) as_fn_error $? "unrecognized option: \`$1'
+Try \`$0 --help' for more information." ;;
 
-  *) ac_config_targets="$ac_config_targets $1"
+  *) as_fn_append ac_config_targets " $1"
      ac_need_defaults=false ;;
 
   esac
@@ -17669,184 +15949,198 @@ AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
 sed_quote_subst='$sed_quote_subst'
 double_quote_subst='$double_quote_subst'
 delay_variable_subst='$delay_variable_subst'
-macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`'
-enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`'
-host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`'
-host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`'
-host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`'
-build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`'
-build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`'
-build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`'
-SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`'
-Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`'
-GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`'
-EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`'
-FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`'
-LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`'
-NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`'
-LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`'
-exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`'
-AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`'
-STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`'
-compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`'
-GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
-objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`'
-SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`'
-ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`'
-need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`'
-LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`'
-libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`'
-fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
-need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`'
-version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`'
-striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_lib_search_dirs='`$ECHO "X$compiler_lib_search_dirs" | $Xsed -e "$delay_single_quote_subst"`'
-predep_objects='`$ECHO "X$predep_objects" | $Xsed -e "$delay_single_quote_subst"`'
-postdep_objects='`$ECHO "X$postdep_objects" | $Xsed -e "$delay_single_quote_subst"`'
-predeps='`$ECHO "X$predeps" | $Xsed -e "$delay_single_quote_subst"`'
-postdeps='`$ECHO "X$postdeps" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_lib_search_path='`$ECHO "X$compiler_lib_search_path" | $Xsed -e "$delay_single_quote_subst"`'
-LD_CXX='`$ECHO "X$LD_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_cmds_CXX='`$ECHO "X$old_archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_CXX='`$ECHO "X$compiler_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-GCC_CXX='`$ECHO "X$GCC_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "X$lt_prog_compiler_no_builtin_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_wl_CXX='`$ECHO "X$lt_prog_compiler_wl_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_pic_CXX='`$ECHO "X$lt_prog_compiler_pic_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_static_CXX='`$ECHO "X$lt_prog_compiler_static_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o_CXX='`$ECHO "X$lt_cv_prog_compiler_c_o_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-archive_cmds_need_lc_CXX='`$ECHO "X$archive_cmds_need_lc_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes_CXX='`$ECHO "X$enable_shared_with_static_runtimes_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-export_dynamic_flag_spec_CXX='`$ECHO "X$export_dynamic_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-whole_archive_flag_spec_CXX='`$ECHO "X$whole_archive_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_needs_object_CXX='`$ECHO "X$compiler_needs_object_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_from_new_cmds_CXX='`$ECHO "X$old_archive_from_new_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds_CXX='`$ECHO "X$old_archive_from_expsyms_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-archive_cmds_CXX='`$ECHO "X$archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-archive_expsym_cmds_CXX='`$ECHO "X$archive_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-module_cmds_CXX='`$ECHO "X$module_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-module_expsym_cmds_CXX='`$ECHO "X$module_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-with_gnu_ld_CXX='`$ECHO "X$with_gnu_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-allow_undefined_flag_CXX='`$ECHO "X$allow_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-no_undefined_flag_CXX='`$ECHO "X$no_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_CXX='`$ECHO "X$hardcode_libdir_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld_CXX='`$ECHO "X$hardcode_libdir_flag_spec_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_separator_CXX='`$ECHO "X$hardcode_libdir_separator_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_direct_CXX='`$ECHO "X$hardcode_direct_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_direct_absolute_CXX='`$ECHO "X$hardcode_direct_absolute_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_minus_L_CXX='`$ECHO "X$hardcode_minus_L_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_shlibpath_var_CXX='`$ECHO "X$hardcode_shlibpath_var_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_automatic_CXX='`$ECHO "X$hardcode_automatic_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-inherit_rpath_CXX='`$ECHO "X$inherit_rpath_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-link_all_deplibs_CXX='`$ECHO "X$link_all_deplibs_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-fix_srcfile_path_CXX='`$ECHO "X$fix_srcfile_path_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-always_export_symbols_CXX='`$ECHO "X$always_export_symbols_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-export_symbols_cmds_CXX='`$ECHO "X$export_symbols_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-exclude_expsyms_CXX='`$ECHO "X$exclude_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-include_expsyms_CXX='`$ECHO "X$include_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-prelink_cmds_CXX='`$ECHO "X$prelink_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-file_list_spec_CXX='`$ECHO "X$file_list_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_action_CXX='`$ECHO "X$hardcode_action_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_lib_search_dirs_CXX='`$ECHO "X$compiler_lib_search_dirs_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-predep_objects_CXX='`$ECHO "X$predep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-postdep_objects_CXX='`$ECHO "X$postdep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-predeps_CXX='`$ECHO "X$predeps_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-postdeps_CXX='`$ECHO "X$postdeps_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_lib_search_path_CXX='`$ECHO "X$compiler_lib_search_path_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
+macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
+enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
+enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
+pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
+enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
+SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
+ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
+host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
+host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
+host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
+build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
+build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
+build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
+SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
+Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
+GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
+EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
+FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
+LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
+NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
+LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
+max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
+ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
+exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
+lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
+lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
+reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
+reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
+OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
+deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
+file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
+AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
+AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
+STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
+RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
+old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
+old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
+lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
+CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
+CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
+compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
+GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
+objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
+MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
+need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
+DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
+NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
+LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
+OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
+OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
+libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
+shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
+extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
+archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
+export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
+whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
+compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
+old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
+archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
+archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
+module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
+module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
+with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
+allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
+no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
+hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
+hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
+hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
+hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
+inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
+link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
+fix_srcfile_path='`$ECHO "$fix_srcfile_path" | $SED "$delay_single_quote_subst"`'
+always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
+export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
+exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
+include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
+prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
+file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
+variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
+need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
+need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
+version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
+runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
+shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
+shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
+libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
+library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
+soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
+install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
+postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
+finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
+finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
+hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
+sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
+sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
+hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
+enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
+enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
+enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
+old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
+striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`'
+predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`'
+postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`'
+predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`'
+postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`'
+LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`'
+reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`'
+reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`'
+GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`'
+archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`'
+export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
+whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`'
+old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`'
+allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
+no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_ld_CXX='`$ECHO "$hardcode_libdir_flag_spec_ld_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`'
+inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`'
+link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`'
+fix_srcfile_path_CXX='`$ECHO "$fix_srcfile_path_CXX" | $SED "$delay_single_quote_subst"`'
+always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`'
+export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
+include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
+prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`'
+predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`'
+postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`'
+predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`'
+postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`'
 
 LTCC='$LTCC'
 LTCFLAGS='$LTCFLAGS'
 compiler='$compiler_DEFAULT'
 
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+  eval 'cat <<_LTECHO_EOF
+\$1
+_LTECHO_EOF'
+}
+
 # Quote evaled strings.
-for var in SED \
+for var in SHELL \
+ECHO \
+SED \
 GREP \
 EGREP \
 FGREP \
@@ -17870,8 +16164,6 @@ lt_cv_sys_global_symbol_pipe \
 lt_cv_sys_global_symbol_to_cdecl \
 lt_cv_sys_global_symbol_to_c_name_address \
 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-SHELL \
-ECHO \
 lt_prog_compiler_no_builtin_flag \
 lt_prog_compiler_wl \
 lt_prog_compiler_pic \
@@ -17901,6 +16193,7 @@ variables_saved_for_relink \
 libname_spec \
 library_names_spec \
 soname_spec \
+install_override_mode \
 finish_eval \
 old_striplib \
 striplib \
@@ -17911,6 +16204,7 @@ predeps \
 postdeps \
 compiler_lib_search_path \
 LD_CXX \
+reload_flag_CXX \
 compiler_CXX \
 lt_prog_compiler_no_builtin_flag_CXX \
 lt_prog_compiler_wl_CXX \
@@ -17936,9 +16230,9 @@ postdep_objects_CXX \
 predeps_CXX \
 postdeps_CXX \
 compiler_lib_search_path_CXX; do
-    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
       ;;
     *)
       eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -17965,6 +16259,7 @@ postuninstall_cmds \
 finish_cmds \
 sys_lib_search_path_spec \
 sys_lib_dlsearch_path_spec \
+reload_cmds_CXX \
 old_archive_cmds_CXX \
 old_archive_from_new_cmds_CXX \
 old_archive_from_expsyms_cmds_CXX \
@@ -17974,9 +16269,9 @@ module_cmds_CXX \
 module_expsym_cmds_CXX \
 export_symbols_cmds_CXX \
 prelink_cmds_CXX; do
-    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
       ;;
     *)
       eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -17984,12 +16279,6 @@ prelink_cmds_CXX; do
     esac
 done
 
-# Fix-up fallback echo if it was mangled by the above quoting rules.
-case \$lt_ECHO in
-*'\\\$0 --fallback-echo"')  lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\`
-  ;;
-esac
-
 ac_aux_dir='$ac_aux_dir'
 xsi_shell='$xsi_shell'
 lt_shell_append='$lt_shell_append'
@@ -18034,9 +16323,7 @@ do
     "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
     "utils/Makefile") CONFIG_FILES="$CONFIG_FILES utils/Makefile" ;;
 
-  *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
-   { (exit 1); exit 1; }; };;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -18063,7 +16350,7 @@ $debug ||
   trap 'exit_status=$?
   { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
 ' 0
-  trap '{ (exit 1); exit 1; }' 1 2 13 15
+  trap 'as_fn_exit 1' 1 2 13 15
 }
 # Create a (secure) tmp directory for tmp files.
 
@@ -18074,11 +16361,7 @@ $debug ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} ||
-{
-   $as_echo "$as_me: cannot create a temporary directory in ." >&2
-   { (exit 1); exit 1; }
-}
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -18086,7 +16369,13 @@ $debug ||
 if test -n "$CONFIG_FILES"; then
 
 
-ac_cr='
'
+ac_cr=`echo X | tr X '\015'`
+# On cygwin, bash can eat \r inside `` if the user requested igncr.
+# But we know of no other shell where ac_cr would be empty at this
+# point, so we can use a bashism as a fallback.
+if test "x$ac_cr" = x; then
+  eval ac_cr=\$\'\\r\'
+fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
   ac_cs_awk_cr='\\r'
@@ -18103,24 +16392,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
-   { (exit 1); exit 1; }; }
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
-   { (exit 1); exit 1; }; }
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
-   { (exit 1); exit 1; }; }
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -18142,7 +16425,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -18156,7 +16439,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -18209,22 +16492,28 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
 else
   cat
 fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5
-$as_echo "$as_me: error: could not setup config files machinery" >&2;}
-   { (exit 1); exit 1; }; }
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -18252,9 +16541,7 @@ for ac_last_try in false false :; do
   if test -z "$ac_t"; then
     break
   elif $ac_last_try; then
-    { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5
-$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;}
-   { (exit 1); exit 1; }; }
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -18339,9 +16626,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5
-$as_echo "$as_me: error: could not setup config headers machinery" >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -18354,9 +16639,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5
-$as_echo "$as_me: error: invalid tag $ac_tag" >&2;}
-   { (exit 1); exit 1; }; };;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -18384,12 +16667,10 @@ $as_echo "$as_me: error: invalid tag $ac_tag" >&2;}
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
-$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;}
-   { (exit 1); exit 1; }; };;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-      ac_file_inputs="$ac_file_inputs '$ac_f'"
+      as_fn_append ac_file_inputs " '$ac_f'"
     done
 
     # Let's still pretend it is `configure' which instantiates (i.e., don't
@@ -18400,7 +16681,7 @@ $as_echo "$as_me: error: cannot find input file: $ac_f" >&2;}
 	`' by configure.'
     if test x"$ac_file" != x-; then
       configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:$LINENO: creating $ac_file" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
 $as_echo "$as_me: creating $ac_file" >&6;}
     fi
     # Neutralize special characters interpreted by sed in replacement strings.
@@ -18413,9 +16694,7 @@ $as_echo "$as_me: creating $ac_file" >&6;}
 
     case $ac_tag in
     *:-:* | *:-) cat >"$tmp/stdin" \
-      || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
-$as_echo "$as_me: error: could not create $ac_file" >&2;}
-   { (exit 1); exit 1; }; } ;;
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -18443,47 +16722,7 @@ $as_echo X"$ac_file" |
 	    q
 	  }
 	  s/.*/./; q'`
-  { as_dir="$ac_dir"
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$as_dir" : 'X\(//\)[^/]' \| \
-	 X"$as_dir" : 'X\(//\)$' \| \
-	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
-   { (exit 1); exit 1; }; }; }
+  as_dir="$ac_dir"; as_fn_mkdir_p
   ac_builddir=.
 
 case "$ac_dir" in
@@ -18540,7 +16779,6 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # If the template does not know about datarootdir, expand it.
 # FIXME: This hack should be removed a few years after 2.60.
 ac_datarootdir_hack=; ac_datarootdir_seen=
-
 ac_sed_dataroot='
 /datarootdir/ {
   p
@@ -18550,12 +16788,11 @@ ac_sed_dataroot='
 /@docdir@/p
 /@infodir@/p
 /@localedir@/p
-/@mandir@/p
-'
+/@mandir@/p'
 case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
 *datarootdir*) ac_datarootdir_seen=yes;;
 *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
@@ -18565,7 +16802,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
   s&@infodir@&$infodir&g
   s&@localedir@&$localedir&g
   s&@mandir@&$mandir&g
-    s&\\\${datarootdir}&$datarootdir&g' ;;
+  s&\\\${datarootdir}&$datarootdir&g' ;;
 esac
 _ACEOF
 
@@ -18594,26 +16831,22 @@ s&@MKDIR_P@&$ac_MKDIR_P&;t t
 $ac_datarootdir_hack
 "
 eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
-$as_echo "$as_me: error: could not create $ac_file" >&2;}
-   { (exit 1); exit 1; }; }
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
   { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
   { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
   rm -f "$tmp/stdin"
   case $ac_file in
   -) cat "$tmp/out" && rm -f "$tmp/out";;
   *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
   esac \
-  || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
-$as_echo "$as_me: error: could not create $ac_file" >&2;}
-   { (exit 1); exit 1; }; }
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -18624,25 +16857,19 @@ $as_echo "$as_me: error: could not create $ac_file" >&2;}
       $as_echo "/* $configure_input  */" \
       && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
     } >"$tmp/config.h" \
-      || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
-$as_echo "$as_me: error: could not create $ac_file" >&2;}
-   { (exit 1); exit 1; }; }
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
     if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
       mv "$tmp/config.h" "$ac_file" \
-	|| { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
-$as_echo "$as_me: error: could not create $ac_file" >&2;}
-   { (exit 1); exit 1; }; }
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
       && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5
-$as_echo "$as_me: error: could not create -" >&2;}
-   { (exit 1); exit 1; }; }
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
 # Compute "$ac_file"'s index in $config_headers.
 _am_arg="$ac_file"
@@ -18680,25 +16907,35 @@ $as_echo X"$_am_arg" |
 	  s/.*/./; q'`/stamp-h$_am_stamp_count
  ;;
 
-  :C)  { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5
+  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
 $as_echo "$as_me: executing $ac_file commands" >&6;}
  ;;
   esac
 
 
   case $ac_file$ac_mode in
-    "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
-  # Strip MF so we end up with the name of the file.
-  mf=`echo "$mf" | sed -e 's/:.*$//'`
-  # Check whether this is an Automake generated Makefile or not.
-  # We used to match only the files named `Makefile.in', but
-  # some people rename them; so instead we look at the file content.
-  # Grep'ing the first line is not enough: some people post-process
-  # each Makefile.in and add a new line on top of each file to say so.
-  # Grep'ing the whole file is not good either: AIX grep has a line
-  # limit of 2048, but all sed's we know have understand at least 4000.
-  if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-    dirpart=`$as_dirname -- "$mf" ||
+    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # are listed without --file.  Let's play safe and only enable the eval
+  # if we detect the quoting.
+  case $CONFIG_FILES in
+  *\'*) eval set x "$CONFIG_FILES" ;;
+  *)   set x $CONFIG_FILES ;;
+  esac
+  shift
+  for mf
+  do
+    # Strip MF so we end up with the name of the file.
+    mf=`echo "$mf" | sed -e 's/:.*$//'`
+    # Check whether this is an Automake generated Makefile or not.
+    # We used to match only the files named `Makefile.in', but
+    # some people rename them; so instead we look at the file content.
+    # Grep'ing the first line is not enough: some people post-process
+    # each Makefile.in and add a new line on top of each file to say so.
+    # Grep'ing the whole file is not good either: AIX grep has a line
+    # limit of 2048, but all sed's we know have understand at least 4000.
+    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+      dirpart=`$as_dirname -- "$mf" ||
 $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
 	 X"$mf" : 'X\(//\)[^/]' \| \
 	 X"$mf" : 'X\(//\)$' \| \
@@ -18721,28 +16958,28 @@ $as_echo X"$mf" |
 	    q
 	  }
 	  s/.*/./; q'`
-  else
-    continue
-  fi
-  # Extract the definition of DEPDIR, am__include, and am__quote
-  # from the Makefile without running `make'.
-  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-  test -z "$DEPDIR" && continue
-  am__include=`sed -n 's/^am__include = //p' < "$mf"`
-  test -z "am__include" && continue
-  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-  # When using ansi2knr, U may be empty or an underscore; expand it
-  U=`sed -n 's/^U = //p' < "$mf"`
-  # Find all dependency output files, they are included files with
-  # $(DEPDIR) in their names.  We invoke sed twice because it is the
-  # simplest approach to changing $(DEPDIR) to its actual value in the
-  # expansion.
-  for file in `sed -n "
-    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-    # Make sure the directory exists.
-    test -f "$dirpart/$file" && continue
-    fdir=`$as_dirname -- "$file" ||
+    else
+      continue
+    fi
+    # Extract the definition of DEPDIR, am__include, and am__quote
+    # from the Makefile without running `make'.
+    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+    test -z "$DEPDIR" && continue
+    am__include=`sed -n 's/^am__include = //p' < "$mf"`
+    test -z "am__include" && continue
+    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+    # When using ansi2knr, U may be empty or an underscore; expand it
+    U=`sed -n 's/^U = //p' < "$mf"`
+    # Find all dependency output files, they are included files with
+    # $(DEPDIR) in their names.  We invoke sed twice because it is the
+    # simplest approach to changing $(DEPDIR) to its actual value in the
+    # expansion.
+    for file in `sed -n "
+      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+      # Make sure the directory exists.
+      test -f "$dirpart/$file" && continue
+      fdir=`$as_dirname -- "$file" ||
 $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
 	 X"$file" : 'X\(//\)[^/]' \| \
 	 X"$file" : 'X\(//\)$' \| \
@@ -18765,51 +17002,12 @@ $as_echo X"$file" |
 	    q
 	  }
 	  s/.*/./; q'`
-    { as_dir=$dirpart/$fdir
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$as_dir" : 'X\(//\)[^/]' \| \
-	 X"$as_dir" : 'X\(//\)$' \| \
-	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-      test -d "$as_dir" && break
+      as_dir=$dirpart/$fdir; as_fn_mkdir_p
+      # echo "creating $dirpart/$file"
+      echo '# dummy' > "$dirpart/$file"
     done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
-   { (exit 1); exit 1; }; }; }
-    # echo "creating $dirpart/$file"
-    echo '# dummy' > "$dirpart/$file"
   done
-done
+}
  ;;
     "libtool":C)
 
@@ -18832,7 +17030,8 @@ done
 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
 #
 #   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008 Free Software Foundation, Inc.
+#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
+#                 Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 #   This file is part of GNU Libtool.
@@ -18880,6 +17079,12 @@ pic_mode=$pic_mode
 # Whether or not to optimize for fast installation.
 fast_install=$enable_fast_install
 
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# An echo program that protects backslashes.
+ECHO=$lt_ECHO
+
 # The host system.
 host_alias=$host_alias
 host=$host
@@ -18929,10 +17134,6 @@ SP2NL=$lt_lt_SP2NL
 # turn newlines into spaces.
 NL2SP=$lt_lt_NL2SP
 
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
 # An object symbol dumper.
 OBJDUMP=$lt_OBJDUMP
 
@@ -18954,6 +17155,9 @@ RANLIB=$lt_RANLIB
 old_postinstall_cmds=$lt_old_postinstall_cmds
 old_postuninstall_cmds=$lt_old_postuninstall_cmds
 
+# Whether to use a lock for old archive extraction.
+lock_old_archive_extraction=$lock_old_archive_extraction
+
 # A C compiler.
 LTCC=$lt_CC
 
@@ -18975,12 +17179,6 @@ global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name
 # The name of the directory that contains temporary libtool files.
 objdir=$objdir
 
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that does not interpret backslashes.
-ECHO=$lt_ECHO
-
 # Used to examine libraries when file_magic_cmd begins with "file".
 MAGIC_CMD=$MAGIC_CMD
 
@@ -19043,6 +17241,9 @@ library_names_spec=$lt_library_names_spec
 # The coded name of the library, if different from the real name.
 soname_spec=$lt_soname_spec
 
+# Permission mode override for installation of shared libraries.
+install_override_mode=$lt_install_override_mode
+
 # Command to use after installation of a shared archive.
 postinstall_cmds=$lt_postinstall_cmds
 
@@ -19082,6 +17283,10 @@ striplib=$lt_striplib
 # The linker used to build libraries.
 LD=$lt_LD
 
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
 # Commands used to build an old-style archive.
 old_archive_cmds=$lt_old_archive_cmds
 
@@ -19355,7 +17560,7 @@ _LT_EOF
 func_dirname ()
 {
   # Extract subdirectory from the argument.
-  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+  func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
   if test "X$func_dirname_result" = "X${1}"; then
     func_dirname_result="${3}"
   else
@@ -19366,7 +17571,7 @@ func_dirname ()
 # func_basename file
 func_basename ()
 {
-  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+  func_basename_result=`$ECHO "${1}" | $SED "$basename"`
 }
 
 
@@ -19379,10 +17584,8 @@ func_basename ()
 func_stripname ()
 {
   case ${2} in
-    .*) func_stripname_result=`$ECHO "X${3}" \
-           | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
-    *)  func_stripname_result=`$ECHO "X${3}" \
-           | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
+    .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+    *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
   esac
 }
 
@@ -19393,20 +17596,20 @@ my_sed_long_arg='1s/^-[^=]*=//'
 # func_opt_split
 func_opt_split ()
 {
-  func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
-  func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
+  func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
+  func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
 }
 
 # func_lo2o object
 func_lo2o ()
 {
-  func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
+  func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
 }
 
 # func_xform libobj-or-source
 func_xform ()
 {
-  func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'`
+  func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
 }
 
 # func_arith arithmetic-term...
@@ -19467,6 +17670,10 @@ _LT_EOF
 # The linker used to build libraries.
 LD=$lt_LD_CXX
 
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag_CXX
+reload_cmds=$lt_reload_cmds_CXX
+
 # Commands used to build an old-style archive.
 old_archive_cmds=$lt_old_archive_cmds_CXX
 
@@ -19618,15 +17825,12 @@ _LT_EOF
 done # for ac_tag
 
 
-{ (exit 0); exit 0; }
+as_fn_exit 0
 _ACEOF
-chmod +x $CONFIG_STATUS
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -19647,10 +17851,10 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || { (exit 1); exit 1; }
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
 fi
 
diff --git a/Watchdog/configure.ac b/Watchdog/configure.ac
index 42fb136..278a32d 100644
--- a/Watchdog/configure.ac
+++ b/Watchdog/configure.ac
@@ -1,5 +1,5 @@
 # Autoconf source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Watchdog Library (PWL).
 #
@@ -23,7 +23,7 @@
 # Process this file with Autoconf to produce a configure script.
 
 # Every other copy of the package version number gets its value from here.
-AC_INIT([the Parma Watchdog Library],[0.7],[bagnara at cs.unipr.it],[pwl])
+AC_INIT([the Parma Watchdog Library],[0.8],[bagnara at cs.unipr.it],[pwl])
 
 # Minimum Autoconf version required.
 AC_PREREQ(2.61)
@@ -39,7 +39,7 @@ AC_CONFIG_MACRO_DIR([m4])
 AC_CANONICAL_HOST
 
 # Use Automake.
-AM_INIT_AUTOMAKE([foreign no-define dist-bzip2 dist-zip 1.7.3])
+AM_INIT_AUTOMAKE([foreign no-define dist-bzip2 dist-zip dist-lzma silent-rules 1.11])
 AC_SUBST(VERSION)
 
 # Generate a configuration header file.
@@ -49,7 +49,7 @@ ISODATE=`date +%Y-%m-%d`
 AC_SUBST(ISODATE)
 
 AH_BOTTOM([
-#ifdef PWL_NDEBUG
+#if defined(PWL_NDEBUG) && !defined(NDEBUG)
 # define NDEBUG PWL_NDEBUG
 #endif
 ])
@@ -196,7 +196,7 @@ yes)
   ;;
 no)
   AC_MSG_RESULT(no)
-  AC_DEFINE(NDEBUG, 1, [Assertions are disabled when this is defined])
+  AC_DEFINE(PWL_NDEBUG, 1, [Assertions are disabled when this is defined])
   debug_flag="-DNDEBUG=1"
   ;;
 *)
@@ -306,6 +306,9 @@ AM_CONDITIONAL(HAVE_PERL, test x"$PERL" != xno)
 AC_LANG(C)
 AC_C_CONST
 
+# Use C++ for the remaining checks.
+AC_LANG(C++)
+
 enableval=no
 AC_MSG_CHECKING([whether tests should be run under Valgrind])
 AC_ARG_ENABLE(valgrind-tests,
@@ -332,26 +335,14 @@ no)
 esac
 AM_CONDITIONAL(VALGRIND_TESTS_ENABLED, test x"$enable_valgrind_tests" = xyes)
 
-# setitimer() is a strong requisite for the PWL.
-AC_CHECK_FUNCS([setitimer], [have_setitimer=yes], [have_setitimer=no])
-
-enableval=default
+enableval=yes
 AC_MSG_CHECKING([whether to build the Parma Watchdog Library])
 AC_ARG_ENABLE(watchdog,
   AS_HELP_STRING([--enable-watchdog],
                  [build also the Parma Watchdog Library]))
 case "${enableval}" in
 yes)
-  if test x"$have_setitimer" = xyes
-  then
-    build_watchdog_library=yes
-  else
-    AC_MSG_ERROR([CANNOT BUILD THE WATCHDOG LIBRARY
-*** THE SYSTEM DOES NOT PROVIDE THE SETITIMER FUNCTION.])
-  fi
-  ;;
-default)
-  build_watchdog_library=$have_setitimer
+  build_watchdog_library=yes
   ;;
 no)
   build_watchdog_library=no
@@ -371,6 +362,12 @@ then
 
   # Checks for the availability of C library functions in C++.
   AC_CHECK_DECLS([getenv], , , [#include <cstdlib>])
+  AC_CHECK_DECLS([setitimer], [], [], [[
+#ifdef HAVE_SYS_TIME_H
+# include <sys/time.h>
+#endif
+  ]])
+  AC_CHECK_DECLS([sigaction], , , [#include <csignal>])
 
   # Checks for typedefs, structures, and compiler characteristics.
   AC_CHECK_TYPES([siginfo_t], [], [], [[
diff --git a/Watchdog/depcomp b/Watchdog/depcomp
index e5f9736..df8eea7 100755
--- a/Watchdog/depcomp
+++ b/Watchdog/depcomp
@@ -1,10 +1,10 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2007-03-29.01
+scriptversion=2009-04-28.21; # UTC
 
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software
-# Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
+# Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -17,9 +17,7 @@ scriptversion=2007-03-29.01
 # GNU General Public License for more details.
 
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -87,6 +85,15 @@ if test "$depmode" = dashXmstdout; then
    depmode=dashmstdout
 fi
 
+cygpath_u="cygpath -u -f -"
+if test "$depmode" = msvcmsys; then
+   # This is just like msvisualcpp but w/o cygpath translation.
+   # Just convert the backslash-escaped backslashes to single forward
+   # slashes to satisfy depend.m4
+   cygpath_u="sed s,\\\\\\\\,/,g"
+   depmode=msvisualcpp
+fi
+
 case "$depmode" in
 gcc3)
 ## gcc 3 implements dependency tracking that does exactly what
@@ -192,14 +199,14 @@ sgi)
 ' < "$tmpdepfile" \
     | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
     tr '
-' ' ' >> $depfile
-    echo >> $depfile
+' ' ' >> "$depfile"
+    echo >> "$depfile"
 
     # The second pass generates a dummy entry for each header file.
     tr ' ' '
 ' < "$tmpdepfile" \
    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
-   >> $depfile
+   >> "$depfile"
   else
     # The sourcefile does not contain any dependencies, so just
     # store a dummy comment line, to avoid errors with the Makefile
@@ -328,7 +335,12 @@ hp2)
   if test -f "$tmpdepfile"; then
     sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
     # Add `dependent.h:' lines.
-    sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
+    sed -ne '2,${
+	       s/^ *//
+	       s/ \\*$//
+	       s/$/:/
+	       p
+	     }' "$tmpdepfile" >> "$depfile"
   else
     echo "#dummy" > "$depfile"
   fi
@@ -404,7 +416,7 @@ dashmstdout)
 
   # Remove the call to Libtool.
   if test "$libtool" = yes; then
-    while test $1 != '--mode=compile'; do
+    while test "X$1" != 'X--mode=compile'; do
       shift
     done
     shift
@@ -455,32 +467,39 @@ makedepend)
   "$@" || exit $?
   # Remove any Libtool call
   if test "$libtool" = yes; then
-    while test $1 != '--mode=compile'; do
+    while test "X$1" != 'X--mode=compile'; do
       shift
     done
     shift
   fi
   # X makedepend
   shift
-  cleared=no
-  for arg in "$@"; do
+  cleared=no eat=no
+  for arg
+  do
     case $cleared in
     no)
       set ""; shift
       cleared=yes ;;
     esac
+    if test $eat = yes; then
+      eat=no
+      continue
+    fi
     case "$arg" in
     -D*|-I*)
       set fnord "$@" "$arg"; shift ;;
     # Strip any option that makedepend may not understand.  Remove
     # the object too, otherwise makedepend will parse it as a source file.
+    -arch)
+      eat=yes ;;
     -*|$object)
       ;;
     *)
       set fnord "$@" "$arg"; shift ;;
     esac
   done
-  obj_suffix="`echo $object | sed 's/^.*\././'`"
+  obj_suffix=`echo "$object" | sed 's/^.*\././'`
   touch "$tmpdepfile"
   ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
   rm -f "$depfile"
@@ -500,7 +519,7 @@ cpp)
 
   # Remove the call to Libtool.
   if test "$libtool" = yes; then
-    while test $1 != '--mode=compile'; do
+    while test "X$1" != 'X--mode=compile'; do
       shift
     done
     shift
@@ -538,13 +557,27 @@ cpp)
 
 msvisualcpp)
   # Important note: in order to support this mode, a compiler *must*
-  # always write the preprocessed file to stdout, regardless of -o,
-  # because we must use -o when running libtool.
+  # always write the preprocessed file to stdout.
   "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test "X$1" != 'X--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
   IFS=" "
   for arg
   do
     case "$arg" in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
     "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
 	set fnord "$@"
 	shift
@@ -557,16 +590,23 @@ msvisualcpp)
 	;;
     esac
   done
-  "$@" -E |
-  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
+  "$@" -E 2>/dev/null |
+  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
-  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::	\1 \\:p' >> "$depfile"
+  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::	\1 \\:p' >> "$depfile"
   echo "	" >> "$depfile"
-  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
+msvcmsys)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
 none)
   exec "$@"
   ;;
@@ -585,5 +625,6 @@ exit 0
 # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
 # End:
diff --git a/Watchdog/doc/Makefile.am b/Watchdog/doc/Makefile.am
index 7357eb0..a3bf263 100644
--- a/Watchdog/doc/Makefile.am
+++ b/Watchdog/doc/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Watchdog Library (PWL).
 #
diff --git a/Watchdog/doc/Makefile.in b/Watchdog/doc/Makefile.in
index 6b432ab..7586023 100644
--- a/Watchdog/doc/Makefile.in
+++ b/Watchdog/doc/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Watchdog Library (PWL).
 #
@@ -37,8 +38,9 @@
 # site: http://www.cs.unipr.it/pwl/ .
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -71,11 +73,19 @@ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES = user.doxyconf-latex devref.doxyconf-latex \
 	user.doxyconf-html devref.doxyconf-html
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -84,7 +94,6 @@ AWK = @AWK@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
-CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
@@ -129,6 +138,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -179,7 +189,6 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 oldincludedir = @oldincludedir@
@@ -291,14 +300,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  doc/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  doc/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign doc/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -316,6 +325,7 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 user.doxyconf-latex: $(top_builddir)/config.status $(srcdir)/user.doxyconf-latex.in
 	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 devref.doxyconf-latex: $(top_builddir)/config.status $(srcdir)/devref.doxyconf-latex.in
@@ -353,13 +363,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -388,6 +402,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -406,6 +421,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -414,12 +431,22 @@ install-data-am: install-data-local
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am:
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
+install-pdf-am:
+
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -612,6 +639,7 @@ mostlyclean-local:
 
 ../src/pwl_include_files.hh:
 	$(MAKE) $(AM_MAKEFLAGS) -C ../src pwl_include_files.hh
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/Watchdog/doc/README.doc b/Watchdog/doc/README.doc
index 90d5232..e94fe47 100644
--- a/Watchdog/doc/README.doc
+++ b/Watchdog/doc/README.doc
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 See below for the copying conditions.
 
 How To Get (More) PWL Documentation
@@ -108,7 +108,7 @@ of the above formats.
 
 --------
 
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This document describes the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/doc/devref.doxyconf-html.in b/Watchdog/doc/devref.doxyconf-html.in
index 14bc4ce..c5b40ec 100644
--- a/Watchdog/doc/devref.doxyconf-html.in
+++ b/Watchdog/doc/devref.doxyconf-html.in
@@ -99,11 +99,14 @@ INPUT                  = @srcdir@/../src/Doubly_Linked_Object.types.hh \
                          @srcdir@/../src/Pending_Element.types.hh \
                          @srcdir@/../src/Pending_Element.defs.hh \
                          @srcdir@/../src/Pending_Element.inlines.hh \
-                         @srcdir@/../src/Pending_Element.cc \
                          @srcdir@/../src/Pending_List.types.hh \
                          @srcdir@/../src/Pending_List.defs.hh \
                          @srcdir@/../src/Pending_List.inlines.hh \
-                         @srcdir@/../src/Pending_List.cc \
+                         @srcdir@/../src/Threshold_Watcher.types.hh \
+                         @srcdir@/../src/Threshold_Watcher.defs.hh \
+                         @srcdir@/../src/Threshold_Watcher.inlines.hh \
+                         @srcdir@/../src/Threshold_Watcher.templates.hh \
+                         @srcdir@/../src/Threshold_Watcher.cc \
                          @srcdir@/../src/Time.types.hh \
                          @srcdir@/../src/Time.defs.hh \
                          @srcdir@/../src/Time.inlines.hh \
diff --git a/Watchdog/doc/devref.doxyconf-latex.in b/Watchdog/doc/devref.doxyconf-latex.in
index fc3ad30..e5d8bfe 100644
--- a/Watchdog/doc/devref.doxyconf-latex.in
+++ b/Watchdog/doc/devref.doxyconf-latex.in
@@ -99,15 +99,18 @@ INPUT                  = @srcdir@/../src/Doubly_Linked_Object.types.hh \
                          @srcdir@/../src/Pending_Element.types.hh \
                          @srcdir@/../src/Pending_Element.defs.hh \
                          @srcdir@/../src/Pending_Element.inlines.hh \
-                         @srcdir@/../src/Pending_Element.cc \
                          @srcdir@/../src/Pending_List.types.hh \
                          @srcdir@/../src/Pending_List.defs.hh \
                          @srcdir@/../src/Pending_List.inlines.hh \
-                         @srcdir@/../src/Pending_List.cc \
                          @srcdir@/../src/Time.types.hh \
                          @srcdir@/../src/Time.defs.hh \
                          @srcdir@/../src/Time.inlines.hh \
                          @srcdir@/../src/Time.cc \
+                         @srcdir@/../src/Threshold_Watcher.types.hh \
+                         @srcdir@/../src/Threshold_Watcher.defs.hh \
+                         @srcdir@/../src/Threshold_Watcher.inlines.hh \
+                         @srcdir@/../src/Threshold_Watcher.templates.hh \
+                         @srcdir@/../src/Threshold_Watcher.cc \
                          @srcdir@/../src/Watchdog.types.hh \
                          @srcdir@/../src/Watchdog.defs.hh \
                          @srcdir@/../src/Watchdog.inlines.hh \
diff --git a/Watchdog/doc/devref.tex b/Watchdog/doc/devref.tex
index 8c89107..c22e932 100644
--- a/Watchdog/doc/devref.tex
+++ b/Watchdog/doc/devref.tex
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+% Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 %
 % This document describes the Parma Watchdog Library (PWL).
 %
@@ -85,7 +85,7 @@ Roberto Bagnara\thanks{bagnara at cs.unipr.it,
 \maketitle
 
 \newpage
-Copyright \copyright\ 2001--2009 Roberto Bagnara (bagnara at cs.unipr.it).
+Copyright \copyright\ 2001--2010 Roberto Bagnara (bagnara at cs.unipr.it).
 
 This document describes the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/doc/fdl.pdf b/Watchdog/doc/fdl.pdf
index 8e6f265..194bff4 100644
Binary files a/Watchdog/doc/fdl.pdf and b/Watchdog/doc/fdl.pdf differ
diff --git a/Watchdog/doc/fdl.ps.gz b/Watchdog/doc/fdl.ps.gz
index ccc85ae..4b8fe55 100644
Binary files a/Watchdog/doc/fdl.ps.gz and b/Watchdog/doc/fdl.ps.gz differ
diff --git a/Watchdog/doc/gpl.pdf b/Watchdog/doc/gpl.pdf
index 02473cd..8e21f05 100644
Binary files a/Watchdog/doc/gpl.pdf and b/Watchdog/doc/gpl.pdf differ
diff --git a/Watchdog/doc/gpl.ps.gz b/Watchdog/doc/gpl.ps.gz
index a39b3f4..8e8b53a 100644
Binary files a/Watchdog/doc/gpl.ps.gz and b/Watchdog/doc/gpl.ps.gz differ
diff --git a/Watchdog/doc/pwl-user-0.7-html.tar.gz b/Watchdog/doc/pwl-user-0.7-html.tar.gz
deleted file mode 100644
index fbe9e46..0000000
Binary files a/Watchdog/doc/pwl-user-0.7-html.tar.gz and /dev/null differ
diff --git a/Watchdog/doc/pwl-user-0.7.pdf b/Watchdog/doc/pwl-user-0.7.pdf
deleted file mode 100644
index c9ee011..0000000
Binary files a/Watchdog/doc/pwl-user-0.7.pdf and /dev/null differ
diff --git a/Watchdog/doc/pwl-user-0.7.ps.gz b/Watchdog/doc/pwl-user-0.7.ps.gz
deleted file mode 100644
index 6c2b5ae..0000000
Binary files a/Watchdog/doc/pwl-user-0.7.ps.gz and /dev/null differ
diff --git a/Watchdog/doc/pwl-user-0.8-html.tar.gz b/Watchdog/doc/pwl-user-0.8-html.tar.gz
new file mode 100644
index 0000000..08c7c62
Binary files /dev/null and b/Watchdog/doc/pwl-user-0.8-html.tar.gz differ
diff --git a/Watchdog/doc/pwl-user-0.8.pdf b/Watchdog/doc/pwl-user-0.8.pdf
new file mode 100644
index 0000000..67b8dcd
Binary files /dev/null and b/Watchdog/doc/pwl-user-0.8.pdf differ
diff --git a/Watchdog/doc/pwl-user-0.8.ps.gz b/Watchdog/doc/pwl-user-0.8.ps.gz
new file mode 100644
index 0000000..870c400
Binary files /dev/null and b/Watchdog/doc/pwl-user-0.8.ps.gz differ
diff --git a/Watchdog/doc/pwl.sty b/Watchdog/doc/pwl.sty
index 7757db4..d6a0c95 100644
--- a/Watchdog/doc/pwl.sty
+++ b/Watchdog/doc/pwl.sty
@@ -1,5 +1,5 @@
 %%    LaTeX package providing macros for typesetting the PWL manuals.
-%%    Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+%%    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 %%
 %% This file is part of the Parma Watchdog Library (PWL).
 %%
diff --git a/Watchdog/doc/user.tex b/Watchdog/doc/user.tex
index d6f41aa..7c91c30 100644
--- a/Watchdog/doc/user.tex
+++ b/Watchdog/doc/user.tex
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+% Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 %
 % This document describes the Parma Watchdog Library (PWL).
 %
@@ -85,7 +85,7 @@ Roberto Bagnara\thanks{bagnara at cs.unipr.it,
 \maketitle
 
 \newpage
-Copyright \copyright\ 2001--2009 Roberto Bagnara (bagnara at cs.unipr.it).
+Copyright \copyright\ 2001--2010 Roberto Bagnara (bagnara at cs.unipr.it).
 
 This document describes the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/install-sh b/Watchdog/install-sh
index a5897de..3f83ce9 100755
--- a/Watchdog/install-sh
+++ b/Watchdog/install-sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2006-12-25.00
+scriptversion=2010-02-06.18; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -200,7 +200,11 @@ if test $# -eq 0; then
 fi
 
 if test -z "$dir_arg"; then
-  trap '(exit $?); exit' 1 2 13 15
+  do_exit='(exit $ret); exit $ret'
+  trap "ret=129; $do_exit" 1
+  trap "ret=130; $do_exit" 2
+  trap "ret=141; $do_exit" 13
+  trap "ret=143; $do_exit" 15
 
   # Set umask so as not to create temps with too-generous modes.
   # However, 'strip' requires both read and write access to temps.
@@ -515,5 +519,6 @@ done
 # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
 # End:
diff --git a/Watchdog/ltmain.sh b/Watchdog/ltmain.sh
old mode 100644
new mode 100755
index b36c4ad..04eaea4
--- a/Watchdog/ltmain.sh
+++ b/Watchdog/ltmain.sh
@@ -1,9 +1,10 @@
 # Generated from ltmain.m4sh.
 
-# ltmain.sh (GNU libtool) 2.2.6
+# libtool (GNU libtool) 2.2.10
 # Written by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
+# 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 # This is free software; see the source for copying conditions.  There is NO
 # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
@@ -32,50 +33,54 @@
 #
 # Provide generalized library-building support services.
 #
-#     --config             show all configuration variables
-#     --debug              enable verbose shell tracing
-# -n, --dry-run            display commands without modifying any files
-#     --features           display basic configuration information and exit
-#     --mode=MODE          use operation mode MODE
-#     --preserve-dup-deps  don't remove duplicate dependency libraries
-#     --quiet, --silent    don't print informational messages
-#     --tag=TAG            use configuration variables from tag TAG
-# -v, --verbose            print informational messages (default)
-#     --version            print version information
-# -h, --help               print short or long help message
+#       --config             show all configuration variables
+#       --debug              enable verbose shell tracing
+#   -n, --dry-run            display commands without modifying any files
+#       --features           display basic configuration information and exit
+#       --mode=MODE          use operation mode MODE
+#       --preserve-dup-deps  don't remove duplicate dependency libraries
+#       --quiet, --silent    don't print informational messages
+#       --no-quiet, --no-silent
+#                            print informational messages (default)
+#       --tag=TAG            use configuration variables from tag TAG
+#   -v, --verbose            print more informational messages than default
+#       --no-verbose         don't print the extra informational messages
+#       --version            print version information
+#   -h, --help, --help-all   print short, long, or detailed help message
 #
 # MODE must be one of the following:
 #
-#       clean              remove files from the build directory
-#       compile            compile a source file into a libtool object
-#       execute            automatically set library path, then run a program
-#       finish             complete the installation of libtool libraries
-#       install            install libraries or executables
-#       link               create a library or an executable
-#       uninstall          remove libraries from an installed directory
+#         clean              remove files from the build directory
+#         compile            compile a source file into a libtool object
+#         execute            automatically set library path, then run a program
+#         finish             complete the installation of libtool libraries
+#         install            install libraries or executables
+#         link               create a library or an executable
+#         uninstall          remove libraries from an installed directory
 #
-# MODE-ARGS vary depending on the MODE.
+# MODE-ARGS vary depending on the MODE.  When passed as first option,
+# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
 # Try `$progname --help --mode=MODE' for a more detailed description of MODE.
 #
 # When reporting a bug, please describe a test case to reproduce it and
 # include the following information:
 #
-#       host-triplet:	$host
-#       shell:		$SHELL
-#       compiler:		$LTCC
-#       compiler flags:		$LTCFLAGS
-#       linker:		$LD (gnu? $with_gnu_ld)
-#       $progname:		(GNU libtool) 2.2.6
-#       automake:		$automake_version
-#       autoconf:		$autoconf_version
+#         host-triplet:	$host
+#         shell:		$SHELL
+#         compiler:		$LTCC
+#         compiler flags:		$LTCFLAGS
+#         linker:		$LD (gnu? $with_gnu_ld)
+#         $progname:	(GNU libtool) 2.2.10
+#         automake:	$automake_version
+#         autoconf:	$autoconf_version
 #
 # Report bugs to <bug-libtool at gnu.org>.
 
-PROGRAM=ltmain.sh
+PROGRAM=libtool
 PACKAGE=libtool
-VERSION=2.2.6
+VERSION=2.2.10
 TIMESTAMP=""
-package_revision=1.3012
+package_revision=1.3175
 
 # Be Bourne compatible
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
@@ -91,10 +96,15 @@ fi
 BIN_SH=xpg4; export BIN_SH # for Tru64
 DUALCASE=1; export DUALCASE # for MKS sh
 
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+  eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+}
+
 # NLS nuisances: We save the old values to restore during execute mode.
-# Only set LANG and LC_ALL to C if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
 lt_user_locale=
 lt_safe_locale=
 for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
@@ -107,24 +117,33 @@ do
 	  lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
 	fi"
 done
+LC_ALL=C
+LANGUAGE=C
+export LANGUAGE LC_ALL
 
 $lt_unset CDPATH
 
 
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath="$0"
 
 
 
 : ${CP="cp -f"}
-: ${ECHO="echo"}
-: ${EGREP="/usr/bin/grep -E"}
-: ${FGREP="/usr/bin/grep -F"}
-: ${GREP="/usr/bin/grep"}
+test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
+: ${EGREP="grep -E"}
+: ${FGREP="grep -F"}
+: ${GREP="grep"}
 : ${LN_S="ln -s"}
 : ${MAKE="make"}
 : ${MKDIR="mkdir"}
 : ${MV="mv -f"}
 : ${RM="rm -f"}
-: ${SED="/opt/local/bin/gsed"}
+: ${SED="sed"}
 : ${SHELL="${CONFIG_SHELL-/bin/sh}"}
 : ${Xsed="$SED -e 1s/^X//"}
 
@@ -159,32 +178,168 @@ basename="s,^.*/,,"
 func_dirname_and_basename ()
 {
   # Extract subdirectory from the argument.
-  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+  func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
   if test "X$func_dirname_result" = "X${1}"; then
     func_dirname_result="${3}"
   else
     func_dirname_result="$func_dirname_result${2}"
   fi
-  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+  func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
 }
 
 # Generated shell functions inserted here.
 
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath="$0"
+# These SED scripts presuppose an absolute path with a trailing slash.
+pathcar='s,^/\([^/]*\).*$,\1,'
+pathcdr='s,^/[^/]*,,'
+removedotparts=':dotsl
+		s@/\./@/@g
+		t dotsl
+		s,/\.$,/,'
+collapseslashes='s@/\{1,\}@/@g'
+finalslash='s,/*$,/,'
+
+# func_normal_abspath PATH
+# Remove doubled-up and trailing slashes, "." path components,
+# and cancel out any ".." path components in PATH after making
+# it an absolute path.
+#             value returned in "$func_normal_abspath_result"
+func_normal_abspath ()
+{
+  # Start from root dir and reassemble the path.
+  func_normal_abspath_result=
+  func_normal_abspath_tpath=$1
+  func_normal_abspath_altnamespace=
+  case $func_normal_abspath_tpath in
+    "")
+      # Empty path, that just means $cwd.
+      func_stripname '' '/' "`pwd`"
+      func_normal_abspath_result=$func_stripname_result
+      return
+    ;;
+    # The next three entries are used to spot a run of precisely
+    # two leading slashes without using negated character classes;
+    # we take advantage of case's first-match behaviour.
+    ///*)
+      # Unusual form of absolute path, do nothing.
+    ;;
+    //*)
+      # Not necessarily an ordinary path; POSIX reserves leading '//'
+      # and for example Cygwin uses it to access remote file shares
+      # over CIFS/SMB, so we conserve a leading double slash if found.
+      func_normal_abspath_altnamespace=/
+    ;;
+    /*)
+      # Absolute path, do nothing.
+    ;;
+    *)
+      # Relative path, prepend $cwd.
+      func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
+    ;;
+  esac
+  # Cancel out all the simple stuff to save iterations.  We also want
+  # the path to end with a slash for ease of parsing, so make sure
+  # there is one (and only one) here.
+  func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+        -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"`
+  while :; do
+    # Processed it all yet?
+    if test "$func_normal_abspath_tpath" = / ; then
+      # If we ascended to the root using ".." the result may be empty now.
+      if test -z "$func_normal_abspath_result" ; then
+        func_normal_abspath_result=/
+      fi
+      break
+    fi
+    func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
+        -e "$pathcar"`
+    func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+        -e "$pathcdr"`
+    # Figure out what to do with it
+    case $func_normal_abspath_tcomponent in
+      "")
+        # Trailing empty path component, ignore it.
+      ;;
+      ..)
+        # Parent dir; strip last assembled component from result.
+        func_dirname "$func_normal_abspath_result"
+        func_normal_abspath_result=$func_dirname_result
+      ;;
+      *)
+        # Actual path component, append it.
+        func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent
+      ;;
+    esac
+  done
+  # Restore leading double-slash if one was found on entry.
+  func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
+}
+
+# func_relative_path SRCDIR DSTDIR
+# generates a relative path from SRCDIR to DSTDIR, with a trailing
+# slash if non-empty, suitable for immediately appending a filename
+# without needing to append a separator.
+#             value returned in "$func_relative_path_result"
+func_relative_path ()
+{
+  func_relative_path_result=
+  func_normal_abspath "$1"
+  func_relative_path_tlibdir=$func_normal_abspath_result
+  func_normal_abspath "$2"
+  func_relative_path_tbindir=$func_normal_abspath_result
+
+  # Ascend the tree starting from libdir
+  while :; do
+    # check if we have found a prefix of bindir
+    case $func_relative_path_tbindir in
+      $func_relative_path_tlibdir)
+        # found an exact match
+        func_relative_path_tcancelled=
+        break
+        ;;
+      $func_relative_path_tlibdir*)
+        # found a matching prefix
+        func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
+        func_relative_path_tcancelled=$func_stripname_result
+        if test -z "$func_relative_path_result"; then
+          func_relative_path_result=.
+        fi
+        break
+        ;;
+      *)
+        func_dirname $func_relative_path_tlibdir
+        func_relative_path_tlibdir=${func_dirname_result}
+        if test "x$func_relative_path_tlibdir" = x ; then
+          # Have to descend all the way to the root!
+          func_relative_path_result=../$func_relative_path_result
+          func_relative_path_tcancelled=$func_relative_path_tbindir
+          break
+        fi
+        func_relative_path_result=../$func_relative_path_result
+        ;;
+    esac
+  done
+
+  # Now calculate path; take care to avoid doubling-up slashes.
+  func_stripname '' '/' "$func_relative_path_result"
+  func_relative_path_result=$func_stripname_result
+  func_stripname '/' '/' "$func_relative_path_tcancelled"
+  if test "x$func_stripname_result" != x ; then
+    func_relative_path_result=${func_relative_path_result}/${func_stripname_result}
+  fi
+
+  # Normalisation. If bindir is libdir, return empty string,
+  # else relative path ending with a slash; either way, target
+  # file name can be directly appended.
+  if test ! -z "$func_relative_path_result"; then
+    func_stripname './' '' "$func_relative_path_result/"
+    func_relative_path_result=$func_stripname_result
+  fi
+}
 
 # The name of this program:
-# In the unlikely event $progname began with a '-', it would play havoc with
-# func_echo (imagine progname=-n), so we prepend ./ in that case:
 func_dirname_and_basename "$progpath"
 progname=$func_basename_result
-case $progname in
-  -*) progname=./$progname ;;
-esac
 
 # Make sure we have an absolute path for reexecution:
 case $progpath in
@@ -258,6 +413,13 @@ func_verbose ()
     :
 }
 
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+    $ECHO "$*"
+}
+
 # func_error arg...
 # Echo program name prefixed message to standard error.
 func_error ()
@@ -326,9 +488,9 @@ func_mkdir_p ()
         case $my_directory_path in */*) ;; *) break ;; esac
 
         # ...otherwise throw away the child directory and loop
-        my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"`
+        my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`
       done
-      my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'`
+      my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`
 
       save_mkdir_p_IFS="$IFS"; IFS=':'
       for my_dir in $my_dir_list; do
@@ -378,7 +540,7 @@ func_mktempdir ()
         func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
     fi
 
-    $ECHO "X$my_tmpdir" | $Xsed
+    $ECHO "$my_tmpdir"
 }
 
 
@@ -392,7 +554,7 @@ func_quote_for_eval ()
 {
     case $1 in
       *[\\\`\"\$]*)
-	func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;;
+	func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;;
       *)
         func_quote_for_eval_unquoted_result="$1" ;;
     esac
@@ -419,7 +581,7 @@ func_quote_for_expand ()
 {
     case $1 in
       *[\\\`\"]*)
-	my_arg=`$ECHO "X$1" | $Xsed \
+	my_arg=`$ECHO "$1" | $SED \
 	    -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
       *)
         my_arg="$1" ;;
@@ -489,14 +651,19 @@ func_show_eval_locale ()
 }
 
 
-
-
-
 # func_version
 # Echo version message to standard output and exit.
 func_version ()
 {
-    $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / {
+    $SED -n '/(C)/!b go
+	:more
+	/\./!{
+	  N
+	  s/\n# / /
+	  b more
+	}
+	:go
+	/^# '$PROGRAM' (GNU /,/# warranty; / {
         s/^# //
 	s/^# *$//
         s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
@@ -509,19 +676,20 @@ func_version ()
 # Echo short help message to standard output and exit.
 func_usage ()
 {
-    $SED -n '/^# Usage:/,/# -h/ {
+    $SED -n '/^# Usage:/,/^#  *.*--help/ {
         s/^# //
 	s/^# *$//
 	s/\$progname/'$progname'/
 	p
     }' < "$progpath"
-    $ECHO
+    echo
     $ECHO "run \`$progname --help | more' for full usage"
     exit $?
 }
 
-# func_help
-# Echo long help message to standard output and exit.
+# func_help [NOEXIT]
+# Echo long help message to standard output and exit,
+# unless 'noexit' is passed as argument.
 func_help ()
 {
     $SED -n '/^# Usage:/,/# Report bugs to/ {
@@ -538,7 +706,10 @@ func_help ()
 	s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
 	p
      }' < "$progpath"
-    exit $?
+    ret=$?
+    if test -z "$1"; then
+      exit $ret
+    fi
 }
 
 # func_missing_arg argname
@@ -546,7 +717,7 @@ func_help ()
 # exit_cmd.
 func_missing_arg ()
 {
-    func_error "missing argument for $1"
+    func_error "missing argument for $1."
     exit_cmd=exit
 }
 
@@ -556,29 +727,6 @@ exit_cmd=:
 
 
 
-# Check that we have a working $ECHO.
-if test "X$1" = X--no-reexec; then
-  # Discard the --no-reexec flag, and continue.
-  shift
-elif test "X$1" = X--fallback-echo; then
-  # Avoid inline document here, it may be left over
-  :
-elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
-  # Yippee, $ECHO works!
-  :
-else
-  # Restart under the correct shell, and then maybe $ECHO will work.
-  exec $SHELL "$progpath" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
-  # used as fallback echo
-  shift
-  cat <<EOF
-$*
-EOF
-  exit $EXIT_SUCCESS
-fi
 
 magic="%%%MAGIC variable%%%"
 magic_exe="%%%MAGIC EXE variable%%%"
@@ -636,16 +784,16 @@ func_config ()
 # Display the features supported by this script.
 func_features ()
 {
-    $ECHO "host: $host"
+    echo "host: $host"
     if test "$build_libtool_libs" = yes; then
-      $ECHO "enable shared libraries"
+      echo "enable shared libraries"
     else
-      $ECHO "disable shared libraries"
+      echo "disable shared libraries"
     fi
     if test "$build_old_libs" = yes; then
-      $ECHO "enable static libraries"
+      echo "enable static libraries"
     else
-      $ECHO "disable static libraries"
+      echo "disable static libraries"
     fi
 
     exit $?
@@ -772,10 +920,21 @@ func_enable_tag ()
 
       --quiet|--silent)	preserve_args="$preserve_args $opt"
 			opt_silent=:
+			opt_verbose=false
+			;;
+
+      --no-quiet|--no-silent)
+			preserve_args="$preserve_args $opt"
+			opt_silent=false
 			;;
 
       --verbose| -v)	preserve_args="$preserve_args $opt"
 			opt_silent=false
+			opt_verbose=:
+			;;
+
+      --no-verbose)	preserve_args="$preserve_args $opt"
+			opt_verbose=false
 			;;
 
       --tag)		test "$#" -eq 0 && func_missing_arg "$opt" && break
@@ -793,6 +952,7 @@ func_enable_tag ()
 
       -\?|-h)		func_usage					;;
       --help)		opt_help=:					;;
+      --help-all)	opt_help=': help-all'				;;
       --version)	func_version					;;
 
       -*)		func_fatal_help "unrecognized option \`$opt'"	;;
@@ -1016,10 +1176,13 @@ func_infer_tag ()
         func_quote_for_eval "$arg"
 	CC_quoted="$CC_quoted $func_quote_for_eval_result"
       done
+      CC_expanded=`func_echo_all $CC`
+      CC_quoted_expanded=`func_echo_all $CC_quoted`
       case $@ in
       # Blanks in the command may have been stripped by the calling shell,
       # but not from the CC environment variable when configure was run.
-      " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;;
+      " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
+      " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
       # Blanks at the start of $base_compile will cause this to fail
       # if we don't check for them as well.
       *)
@@ -1033,8 +1196,11 @@ func_infer_tag ()
 	      func_quote_for_eval "$arg"
 	      CC_quoted="$CC_quoted $func_quote_for_eval_result"
 	    done
+	    CC_expanded=`func_echo_all $CC`
+	    CC_quoted_expanded=`func_echo_all $CC_quoted`
 	    case "$@ " in
-	      " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*)
+	    " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
+	    " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
 	      # The compiler in the base compile command matches
 	      # the one in the tagged configuration.
 	      # Assume this is the tagged configuration we want.
@@ -1213,7 +1379,7 @@ func_mode_compile ()
     *.[cCFSifmso] | \
     *.ada | *.adb | *.ads | *.asm | \
     *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
-    *.[fF][09]? | *.for | *.java | *.obj | *.sx)
+    *.[fF][09]? | *.for | *.java | *.obj | *.sx | *.cu | *.cup)
       func_xform "$libobj"
       libobj=$func_xform_result
       ;;
@@ -1288,7 +1454,7 @@ func_mode_compile ()
     # Calculate the filename of the output object if compiler does
     # not support -o with -c
     if test "$compiler_c_o" = no; then
-      output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
+      output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext}
       lockfile="$output_obj.lock"
     else
       output_obj=
@@ -1445,7 +1611,7 @@ compiler."
 }
 
 $opt_help || {
-test "$mode" = compile && func_mode_compile ${1+"$@"}
+  test "$mode" = compile && func_mode_compile ${1+"$@"}
 }
 
 func_mode_help ()
@@ -1482,10 +1648,11 @@ This mode accepts the following additional options:
 
   -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
   -no-suppress      do not suppress compiler output for multiple passes
-  -prefer-pic       try to building PIC objects only
-  -prefer-non-pic   try to building non-PIC objects only
+  -prefer-pic       try to build PIC objects only
+  -prefer-non-pic   try to build non-PIC objects only
   -shared           do not build a \`.o' file suitable for static linking
   -static           only build a \`.o' file suitable for static linking
+  -Wc,FLAG          pass FLAG directly to the compiler
 
 COMPILE-COMMAND is a command to be used in creating a \`standard' object file
 from the given SOURCEFILE.
@@ -1538,7 +1705,7 @@ either the \`install' or \`cp' program.
 
 The following components of INSTALL-COMMAND are treated specially:
 
-  -inst-prefix PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
+  -inst-prefix-dir PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
 
 The rest of the components are interpreted as arguments to that command (only
 BSD-compatible install options are recognized)."
@@ -1558,6 +1725,8 @@ The following components of LINK-COMMAND are treated specially:
 
   -all-static       do not do any dynamic linking at all
   -avoid-version    do not add a version suffix if possible
+  -bindir BINDIR    specify path to binaries directory (for systems where
+                    libraries must be found in the PATH setting at runtime)
   -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
   -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
   -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
@@ -1586,6 +1755,11 @@ The following components of LINK-COMMAND are treated specially:
   -version-info CURRENT[:REVISION[:AGE]]
                     specify library version info [each variable defaults to 0]
   -weak LIBNAME     declare that the target provides the LIBNAME interface
+  -Wc,FLAG
+  -Xcompiler FLAG   pass linker-specific FLAG directly to the compiler
+  -Wl,FLAG
+  -Xlinker FLAG     pass linker-specific FLAG directly to the linker
+  -XCClinker FLAG   pass link-specific FLAG to the compiler driver (CC)
 
 All other options (arguments beginning with \`-') are ignored.
 
@@ -1623,14 +1797,40 @@ Otherwise, only FILE itself is deleted using RM."
         ;;
     esac
 
-    $ECHO
+    echo
     $ECHO "Try \`$progname --help' for more information about other modes."
-
-    exit $?
 }
 
-  # Now that we've collected a possible --mode arg, show help if necessary
-  $opt_help && func_mode_help
+# Now that we've collected a possible --mode arg, show help if necessary
+if $opt_help; then
+  if test "$opt_help" = :; then
+    func_mode_help
+  else
+    {
+      func_help noexit
+      for mode in compile link execute install finish uninstall clean; do
+	func_mode_help
+      done
+    } | sed -n '1p; 2,$s/^Usage:/  or: /p'
+    {
+      func_help noexit
+      for mode in compile link execute install finish uninstall clean; do
+	echo
+	func_mode_help
+      done
+    } |
+    sed '1d
+      /^When reporting/,/^Report/{
+	H
+	d
+      }
+      $x
+      /information about other modes/d
+      /more detailed .*MODE/d
+      s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
+  fi
+  exit $?
+fi
 
 
 # func_mode_execute arg...
@@ -1712,7 +1912,7 @@ func_mode_execute ()
     for file
     do
       case $file in
-      -*) ;;
+      -* | *.la | *.lo ) ;;
       *)
 	# Do a test to see if this is really a libtool program.
 	if func_ltwrapper_script_p "$file"; then
@@ -1754,7 +1954,7 @@ func_mode_execute ()
       # Display what would be done.
       if test -n "$shlibpath_var"; then
 	eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
-	$ECHO "export $shlibpath_var"
+	echo "export $shlibpath_var"
       fi
       $ECHO "$cmd$args"
       exit $EXIT_SUCCESS
@@ -1795,23 +1995,23 @@ func_mode_finish ()
     # Exit here if they wanted silent mode.
     $opt_silent && exit $EXIT_SUCCESS
 
-    $ECHO "X----------------------------------------------------------------------" | $Xsed
-    $ECHO "Libraries have been installed in:"
+    echo "----------------------------------------------------------------------"
+    echo "Libraries have been installed in:"
     for libdir in $libdirs; do
       $ECHO "   $libdir"
     done
-    $ECHO
-    $ECHO "If you ever happen to want to link against installed libraries"
-    $ECHO "in a given directory, LIBDIR, you must either use libtool, and"
-    $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'"
-    $ECHO "flag during linking and do at least one of the following:"
+    echo
+    echo "If you ever happen to want to link against installed libraries"
+    echo "in a given directory, LIBDIR, you must either use libtool, and"
+    echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
+    echo "flag during linking and do at least one of the following:"
     if test -n "$shlibpath_var"; then
-      $ECHO "   - add LIBDIR to the \`$shlibpath_var' environment variable"
-      $ECHO "     during execution"
+      echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
+      echo "     during execution"
     fi
     if test -n "$runpath_var"; then
-      $ECHO "   - add LIBDIR to the \`$runpath_var' environment variable"
-      $ECHO "     during linking"
+      echo "   - add LIBDIR to the \`$runpath_var' environment variable"
+      echo "     during linking"
     fi
     if test -n "$hardcode_libdir_flag_spec"; then
       libdir=LIBDIR
@@ -1823,21 +2023,21 @@ func_mode_finish ()
       $ECHO "   - have your system administrator run these commands:$admincmds"
     fi
     if test -f /etc/ld.so.conf; then
-      $ECHO "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+      echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
     fi
-    $ECHO
+    echo
 
-    $ECHO "See any operating system documentation about shared libraries for"
+    echo "See any operating system documentation about shared libraries for"
     case $host in
       solaris2.[6789]|solaris2.1[0-9])
-        $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual"
-	$ECHO "pages."
+        echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
+	echo "pages."
 	;;
       *)
-        $ECHO "more information, such as the ld(1) and ld.so(8) manual pages."
+        echo "more information, such as the ld(1) and ld.so(8) manual pages."
         ;;
     esac
-    $ECHO "X----------------------------------------------------------------------" | $Xsed
+    echo "----------------------------------------------------------------------"
     exit $EXIT_SUCCESS
 }
 
@@ -1852,7 +2052,7 @@ func_mode_install ()
     # install_prog (especially on Windows NT).
     if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
        # Allow the use of GNU shtool's install command.
-       $ECHO "X$nonopt" | $GREP shtool >/dev/null; then
+       case $nonopt in *shtool*) :;; *) false;; esac; then
       # Aesthetically quote it.
       func_quote_for_eval "$nonopt"
       install_prog="$func_quote_for_eval_result "
@@ -1867,6 +2067,11 @@ func_mode_install ()
     # Aesthetically quote it.
     func_quote_for_eval "$arg"
     install_prog="$install_prog$func_quote_for_eval_result"
+    install_shared_prog=$install_prog
+    case " $install_prog " in
+      *[\\\ /]cp\ *) install_cp=: ;;
+      *) install_cp=false ;;
+    esac
 
     # We need to accept at least all the BSD install flags.
     dest=
@@ -1876,8 +2081,10 @@ func_mode_install ()
     install_type=
     isdir=no
     stripme=
+    no_mode=:
     for arg
     do
+      arg2=
       if test -n "$dest"; then
 	files="$files $dest"
 	dest=$arg
@@ -1887,10 +2094,9 @@ func_mode_install ()
       case $arg in
       -d) isdir=yes ;;
       -f)
-	case " $install_prog " in
-	*[\\\ /]cp\ *) ;;
-	*) prev=$arg ;;
-	esac
+	if $install_cp; then :; else
+	  prev=$arg
+	fi
 	;;
       -g | -m | -o)
 	prev=$arg
@@ -1904,6 +2110,10 @@ func_mode_install ()
       *)
 	# If the previous option needed an argument, then skip it.
 	if test -n "$prev"; then
+	  if test "x$prev" = x-m && test -n "$install_override_mode"; then
+	    arg2=$install_override_mode
+	    no_mode=false
+	  fi
 	  prev=
 	else
 	  dest=$arg
@@ -1915,6 +2125,10 @@ func_mode_install ()
       # Aesthetically quote the argument.
       func_quote_for_eval "$arg"
       install_prog="$install_prog $func_quote_for_eval_result"
+      if test -n "$arg2"; then
+	func_quote_for_eval "$arg2"
+      fi
+      install_shared_prog="$install_shared_prog $func_quote_for_eval_result"
     done
 
     test -z "$install_prog" && \
@@ -1923,6 +2137,13 @@ func_mode_install ()
     test -n "$prev" && \
       func_fatal_help "the \`$prev' option requires an argument"
 
+    if test -n "$install_override_mode" && $no_mode; then
+      if $install_cp; then :; else
+	func_quote_for_eval "$install_override_mode"
+	install_shared_prog="$install_shared_prog -m $func_quote_for_eval_result"
+      fi
+    fi
+
     if test -z "$files"; then
       if test -z "$dest"; then
 	func_fatal_help "no file or destination specified"
@@ -2010,7 +2231,7 @@ func_mode_install ()
 
 	if test -n "$relink_command"; then
 	  # Determine the prefix the user has applied to our future dir.
-	  inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"`
+	  inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
 
 	  # Don't allow the user to place us outside of our expected
 	  # location b/c this prevents finding dependent libraries that
@@ -2023,9 +2244,9 @@ func_mode_install ()
 
 	  if test -n "$inst_prefix_dir"; then
 	    # Stick the inst_prefix_dir data into the link command.
-	    relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+	    relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
 	  else
-	    relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"`
+	    relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
 	  fi
 
 	  func_warning "relinking \`$file'"
@@ -2043,7 +2264,7 @@ func_mode_install ()
 	  test -n "$relink_command" && srcname="$realname"T
 
 	  # Install the shared library and build the symlinks.
-	  func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \
+	  func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
 	      'exit $?'
 	  tstripme="$stripme"
 	  case $host_os in
@@ -2183,7 +2404,7 @@ func_mode_install ()
 	    if test -f "$lib"; then
 	      func_source "$lib"
 	    fi
-	    libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
+	    libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test
 	    if test -n "$libdir" && test ! -f "$libfile"; then
 	      func_warning "\`$lib' has not been installed in \`$libdir'"
 	      finalize=no
@@ -2202,7 +2423,7 @@ func_mode_install ()
 		file="$func_basename_result"
 	        outputname="$tmpdir/$file"
 	        # Replace the output file specification.
-	        relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+	        relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
 
 	        $opt_silent || {
 	          func_quote_for_expand "$relink_command"
@@ -2221,7 +2442,7 @@ func_mode_install ()
 	    }
 	  else
 	    # Install the binary that we compiled earlier.
-	    file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
+	    file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
 	  fi
 	fi
 
@@ -2323,6 +2544,10 @@ func_generate_dlsyms ()
 extern \"C\" {
 #endif
 
+#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
+#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
+#endif
+
 /* External symbol declarations for the compiler. */\
 "
 
@@ -2332,7 +2557,7 @@ extern \"C\" {
 	  $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
 
 	  # Add our own program objects to the symbol list.
-	  progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+	  progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
 	  for progfile in $progfiles; do
 	    func_verbose "extracting global C symbols from \`$progfile'"
 	    $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
@@ -2371,7 +2596,7 @@ extern \"C\" {
 	      eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
 	      eval '$MV "$nlist"T "$nlist"'
 	      case $host in
-	        *cygwin | *mingw* | *cegcc* )
+	        *cygwin* | *mingw* | *cegcc* )
 	          eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
 	          eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
 	          ;;
@@ -2415,10 +2640,10 @@ extern \"C\" {
 	  if test -f "$nlist"S; then
 	    eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
 	  else
-	    $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms"
+	    echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
 	  fi
 
-	  $ECHO >> "$output_objdir/$my_dlsyms" "\
+	  echo >> "$output_objdir/$my_dlsyms" "\
 
 /* The mapping between symbol names and symbols.  */
 typedef struct {
@@ -2428,7 +2653,7 @@ typedef struct {
 "
 	  case $host in
 	  *cygwin* | *mingw* | *cegcc* )
-	    $ECHO >> "$output_objdir/$my_dlsyms" "\
+	    echo >> "$output_objdir/$my_dlsyms" "\
 /* DATA imports from DLLs on WIN32 con't be const, because
    runtime relocations are performed -- see ld's documentation
    on pseudo-relocs.  */"
@@ -2441,7 +2666,7 @@ typedef struct {
 	    lt_dlsym_const=const ;;
 	  esac
 
-	  $ECHO >> "$output_objdir/$my_dlsyms" "\
+	  echo >> "$output_objdir/$my_dlsyms" "\
 extern $lt_dlsym_const lt_dlsymlist
 lt_${my_prefix}_LTX_preloaded_symbols[];
 $lt_dlsym_const lt_dlsymlist
@@ -2457,7 +2682,7 @@ lt_${my_prefix}_LTX_preloaded_symbols[] =
 	    eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
 	    ;;
 	  esac
-	  $ECHO >> "$output_objdir/$my_dlsyms" "\
+	  echo >> "$output_objdir/$my_dlsyms" "\
   {0, (void *) 0}
 };
 
@@ -2515,16 +2740,16 @@ static const void *lt_preloaded_setup() {
 	case $host in
 	*cygwin* | *mingw* | *cegcc* )
 	  if test -f "$output_objdir/$my_outputname.def"; then
-	    compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
-	    finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+	    compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+	    finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
 	  else
-	    compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
-	    finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+	    compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+	    finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
 	  fi
 	  ;;
 	*)
-	  compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
-	  finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+	  compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+	  finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
 	  ;;
 	esac
 	;;
@@ -2538,8 +2763,8 @@ static const void *lt_preloaded_setup() {
       # really was required.
 
       # Nullify the symbol file.
-      compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
-      finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+      compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
+      finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
     fi
 }
 
@@ -2549,6 +2774,7 @@ static const void *lt_preloaded_setup() {
 # Need a lot of goo to handle *both* DLLs and import libs
 # Has to be a shell function in order to 'eat' the argument
 # that is supplied when $file_magic_command is called.
+# Despite the name, also deal with 64 bit binaries.
 func_win32_libid ()
 {
   $opt_debug
@@ -2559,8 +2785,9 @@ func_win32_libid ()
     win32_libid_type="x86 archive import"
     ;;
   *ar\ archive*) # could be an import, or static
+    # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
     if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
-       $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
+       $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
       win32_nmres=`eval $NM -f posix -A $1 |
 	$SED -n -e '
 	    1,100{
@@ -2598,7 +2825,18 @@ func_extract_an_archive ()
     $opt_debug
     f_ex_an_ar_dir="$1"; shift
     f_ex_an_ar_oldlib="$1"
-    func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?'
+    if test "$lock_old_archive_extraction" = yes; then
+      lockfile=$f_ex_an_ar_oldlib.lock
+      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+	func_echo "Waiting for $lockfile to be removed"
+	sleep 2
+      done
+    fi
+    func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
+		   'stat=$?; rm -f "$lockfile"; exit $stat'
+    if test "$lock_old_archive_extraction" = yes; then
+      $opt_dry_run || rm -f "$lockfile"
+    fi
     if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
      :
     else
@@ -2669,7 +2907,7 @@ func_extract_archives ()
 	    darwin_file=
 	    darwin_files=
 	    for darwin_file in $darwin_filelist; do
-	      darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
+	      darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
 	      $LIPO -create -output "$darwin_file" $darwin_files
 	    done # $darwin_filelist
 	    $RM -rf unfat-$$
@@ -2684,25 +2922,30 @@ func_extract_archives ()
         func_extract_an_archive "$my_xdir" "$my_xabs"
 	;;
       esac
-      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
+      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
     done
 
     func_extract_archives_result="$my_oldobjs"
 }
 
 
-
-# func_emit_wrapper_part1 [arg=no]
+# func_emit_wrapper [arg=no]
+#
+# Emit a libtool wrapper script on stdout.
+# Don't directly open a file because we may want to
+# incorporate the script contents within a cygwin/mingw
+# wrapper executable.  Must ONLY be called from within
+# func_mode_link because it depends on a number of variables
+# set therein.
 #
-# Emit the first part of a libtool wrapper script on stdout.
-# For more information, see the description associated with
-# func_emit_wrapper(), below.
-func_emit_wrapper_part1 ()
+# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
+# variable will take.  If 'yes', then the emitted script
+# will assume that the directory in which it is stored is
+# the $objdir directory.  This is a cygwin/mingw-specific
+# behavior.
+func_emit_wrapper ()
 {
-	func_emit_wrapper_part1_arg1=no
-	if test -n "$1" ; then
-	  func_emit_wrapper_part1_arg1=$1
-	fi
+	func_emit_wrapper_arg1=${1-no}
 
 	$ECHO "\
 #! $SHELL
@@ -2718,7 +2961,6 @@ func_emit_wrapper_part1 ()
 
 # Sed substitution that helps us do robust quoting.  It backslashifies
 # metacharacters that are still active within double-quoted strings.
-Xsed='${SED} -e 1s/^X//'
 sed_quote_subst='$sed_quote_subst'
 
 # Be Bourne compatible
@@ -2749,31 +2991,132 @@ if test \"\$libtool_install_magic\" = \"$magic\"; then
 else
   # When we are sourced in execute mode, \$file and \$ECHO are already set.
   if test \"\$libtool_execute_magic\" != \"$magic\"; then
-    ECHO=\"$qecho\"
-    file=\"\$0\"
-    # Make sure echo works.
-    if test \"X\$1\" = X--no-reexec; then
-      # Discard the --no-reexec flag, and continue.
-      shift
-    elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then
-      # Yippee, \$ECHO works!
-      :
-    else
-      # Restart under the correct shell, and then maybe \$ECHO will work.
-      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
-    fi
-  fi\
+    file=\"\$0\""
+
+    qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
+    $ECHO "\
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+  eval 'cat <<_LTECHO_EOF
+\$1
+_LTECHO_EOF'
+}
+    ECHO=\"$qECHO\"
+  fi
+
+# Very basic option parsing. These options are (a) specific to
+# the libtool wrapper, (b) are identical between the wrapper
+# /script/ and the wrapper /executable/ which is used only on
+# windows platforms, and (c) all begin with the string "--lt-"
+# (application programs are unlikely to have options which match
+# this pattern).
+#
+# There are only two supported options: --lt-debug and
+# --lt-dump-script. There is, deliberately, no --lt-help.
+#
+# The first argument to this parsing function should be the
+# script's $0 value, followed by "$@".
+lt_option_debug=
+func_parse_lt_options ()
+{
+  lt_script_arg0=\$0
+  shift
+  for lt_opt
+  do
+    case \"\$lt_opt\" in
+    --lt-debug) lt_option_debug=1 ;;
+    --lt-dump-script)
+        lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
+        test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
+        lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
+        cat \"\$lt_dump_D/\$lt_dump_F\"
+        exit 0
+      ;;
+    --lt-*)
+        \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
+        exit 1
+      ;;
+    esac
+  done
+
+  # Print the debug banner immediately:
+  if test -n \"\$lt_option_debug\"; then
+    echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2
+  fi
+}
+
+# Used when --lt-debug. Prints its arguments to stdout
+# (redirection is the responsibility of the caller)
+func_lt_dump_args ()
+{
+  lt_dump_args_N=1;
+  for lt_arg
+  do
+    \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\"
+    lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
+  done
+}
+
+# Core function for launching the target application
+func_exec_program_core ()
+{
 "
-	$ECHO "\
+  case $host in
+  # Backslashes separate directories on plain windows
+  *-*-mingw | *-*-os2* | *-cegcc*)
+    $ECHO "\
+      if test -n \"\$lt_option_debug\"; then
+        \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2
+        func_lt_dump_args \${1+\"\$@\"} 1>&2
+      fi
+      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+    ;;
+
+  *)
+    $ECHO "\
+      if test -n \"\$lt_option_debug\"; then
+        \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2
+        func_lt_dump_args \${1+\"\$@\"} 1>&2
+      fi
+      exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+    ;;
+  esac
+  $ECHO "\
+      \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
+      exit 1
+}
+
+# A function to encapsulate launching the target application
+# Strips options in the --lt-* namespace from \$@ and
+# launches target application with the remaining arguments.
+func_exec_program ()
+{
+  for lt_wr_arg
+  do
+    case \$lt_wr_arg in
+    --lt-*) ;;
+    *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
+    esac
+    shift
+  done
+  func_exec_program_core \${1+\"\$@\"}
+}
+
+  # Parse options
+  func_parse_lt_options \"\$0\" \${1+\"\$@\"}
 
   # Find the directory that this script lives in.
-  thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
+  thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
   test \"x\$thisdir\" = \"x\$file\" && thisdir=.
 
   # Follow symbolic links until we get to the real thisdir.
-  file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
+  file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
   while test -n \"\$file\"; do
-    destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
+    destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
 
     # If there was a directory component, then change thisdir.
     if test \"x\$destdir\" != \"x\$file\"; then
@@ -2783,30 +3126,13 @@ else
       esac
     fi
 
-    file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
-    file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
+    file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\`
+    file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
   done
-"
-}
-# end: func_emit_wrapper_part1
-
-# func_emit_wrapper_part2 [arg=no]
-#
-# Emit the second part of a libtool wrapper script on stdout.
-# For more information, see the description associated with
-# func_emit_wrapper(), below.
-func_emit_wrapper_part2 ()
-{
-	func_emit_wrapper_part2_arg1=no
-	if test -n "$1" ; then
-	  func_emit_wrapper_part2_arg1=$1
-	fi
-
-	$ECHO "\
 
   # Usually 'no', except on cygwin/mingw when embedded into
   # the cwrapper.
-  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1
+  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
   if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
     # special case for '.'
     if test \"\$thisdir\" = \".\"; then
@@ -2814,7 +3140,7 @@ func_emit_wrapper_part2 ()
     fi
     # remove .libs from thisdir
     case \"\$thisdir\" in
-    *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;;
+    *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
     $objdir )   thisdir=. ;;
     esac
   fi
@@ -2877,7 +3203,7 @@ func_emit_wrapper_part2 ()
 
     # Some systems cannot cope with colon-terminated $shlibpath_var
     # The second colon is a workaround for a bug in BeOS R4 sed
-    $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
+    $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
 
     export $shlibpath_var
 "
@@ -2894,64 +3220,18 @@ func_emit_wrapper_part2 ()
 	$ECHO "\
     if test \"\$libtool_execute_magic\" != \"$magic\"; then
       # Run the actual program with our arguments.
-"
-	case $host in
-	# Backslashes separate directories on plain windows
-	*-*-mingw | *-*-os2* | *-cegcc*)
-	  $ECHO "\
-      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
-"
-	  ;;
-
-	*)
-	  $ECHO "\
-      exec \"\$progdir/\$program\" \${1+\"\$@\"}
-"
-	  ;;
-	esac
-	$ECHO "\
-      \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
-      exit 1
+      func_exec_program \${1+\"\$@\"}
     fi
   else
     # The program doesn't exist.
     \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
     \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
-    $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
+    \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
     exit 1
   fi
 fi\
 "
 }
-# end: func_emit_wrapper_part2
-
-
-# func_emit_wrapper [arg=no]
-#
-# Emit a libtool wrapper script on stdout.
-# Don't directly open a file because we may want to
-# incorporate the script contents within a cygwin/mingw
-# wrapper executable.  Must ONLY be called from within
-# func_mode_link because it depends on a number of variables
-# set therein.
-#
-# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
-# variable will take.  If 'yes', then the emitted script
-# will assume that the directory in which it is stored is
-# the $objdir directory.  This is a cygwin/mingw-specific
-# behavior.
-func_emit_wrapper ()
-{
-	func_emit_wrapper_arg1=no
-	if test -n "$1" ; then
-	  func_emit_wrapper_arg1=$1
-	fi
-
-	# split this up so that func_emit_cwrapperexe_src
-	# can call each part independently.
-	func_emit_wrapper_part1 "${func_emit_wrapper_arg1}"
-	func_emit_wrapper_part2 "${func_emit_wrapper_arg1}"
-}
 
 
 # func_to_host_path arg
@@ -2978,23 +3258,19 @@ func_emit_wrapper ()
 func_to_host_path ()
 {
   func_to_host_path_result="$1"
-  if test -n "$1" ; then
+  if test -n "$1"; then
     case $host in
       *mingw* )
         lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
         case $build in
           *mingw* ) # actually, msys
             # awkward: cmd appends spaces to result
-            lt_sed_strip_trailing_spaces="s/[ ]*\$//"
-            func_to_host_path_tmp1=`( cmd //c echo "$1" |\
-              $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
-            func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
-              $SED -e "$lt_sed_naive_backslashify"`
+            func_to_host_path_result=`( cmd //c echo "$1" ) 2>/dev/null |
+              $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
             ;;
           *cygwin* )
-            func_to_host_path_tmp1=`cygpath -w "$1"`
-            func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
-              $SED -e "$lt_sed_naive_backslashify"`
+            func_to_host_path_result=`cygpath -w "$1" |
+	      $SED -e "$lt_sed_naive_backslashify"`
             ;;
           * )
             # Unfortunately, winepath does not exit with a non-zero
@@ -3006,17 +3282,17 @@ func_to_host_path ()
             # the odd construction:
             func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
             if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
-              func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+              func_to_host_path_result=`$ECHO "$func_to_host_path_tmp1" |
                 $SED -e "$lt_sed_naive_backslashify"`
             else
               # Allow warning below.
-              func_to_host_path_result=""
+              func_to_host_path_result=
             fi
             ;;
         esac
         if test -z "$func_to_host_path_result" ; then
           func_error "Could not determine host path corresponding to"
-          func_error "  '$1'"
+          func_error "  \`$1'"
           func_error "Continuing, but uninstalled executables may not work."
           # Fallback:
           func_to_host_path_result="$1"
@@ -3049,30 +3325,24 @@ func_to_host_path ()
 func_to_host_pathlist ()
 {
   func_to_host_pathlist_result="$1"
-  if test -n "$1" ; then
+  if test -n "$1"; then
     case $host in
       *mingw* )
         lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
         # Remove leading and trailing path separator characters from
         # ARG. msys behavior is inconsistent here, cygpath turns them
         # into '.;' and ';.', and winepath ignores them completely.
-        func_to_host_pathlist_tmp2="$1"
-        # Once set for this call, this variable should not be
-        # reassigned. It is used in tha fallback case.
-        func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\
-          $SED -e 's|^:*||' -e 's|:*$||'`
+	func_stripname : : "$1"
+        func_to_host_pathlist_tmp1=$func_stripname_result
         case $build in
           *mingw* ) # Actually, msys.
             # Awkward: cmd appends spaces to result.
-            lt_sed_strip_trailing_spaces="s/[ ]*\$//"
-            func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\
-              $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
-            func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
-              $SED -e "$lt_sed_naive_backslashify"`
+            func_to_host_pathlist_result=`
+	      ( cmd //c echo "$func_to_host_pathlist_tmp1" ) 2>/dev/null |
+	      $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
             ;;
           *cygwin* )
-            func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"`
-            func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
+            func_to_host_pathlist_result=`cygpath -w -p "$func_to_host_pathlist_tmp1" |
               $SED -e "$lt_sed_naive_backslashify"`
             ;;
           * )
@@ -3088,18 +3358,17 @@ func_to_host_pathlist ()
                   if test -z "$func_to_host_pathlist_result" ; then
                     func_to_host_pathlist_result="$func_to_host_path_result"
                   else
-                    func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result"
+                    func_append func_to_host_pathlist_result ";$func_to_host_path_result"
                   fi
                 fi
               fi
-              IFS=:
             done
             IFS=$func_to_host_pathlist_oldIFS
             ;;
         esac
-        if test -z "$func_to_host_pathlist_result" ; then
+        if test -z "$func_to_host_pathlist_result"; then
           func_error "Could not determine the host path(s) corresponding to"
-          func_error "  '$1'"
+          func_error "  \`$1'"
           func_error "Continuing, but uninstalled executables may not work."
           # Fallback. This may break if $1 contains DOS-style drive
           # specifications. The fix is not to complicate the expression
@@ -3116,7 +3385,7 @@ func_to_host_pathlist ()
             ;;
         esac
         case "$1" in
-          *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;"
+          *: ) func_append func_to_host_pathlist_result ";"
             ;;
         esac
         ;;
@@ -3141,31 +3410,23 @@ func_emit_cwrapperexe_src ()
 
    This wrapper executable should never be moved out of the build directory.
    If it is, it will not operate correctly.
-
-   Currently, it simply execs the wrapper *script* "$SHELL $output",
-   but could eventually absorb all of the scripts functionality and
-   exec $objdir/$outputname directly.
 */
 EOF
 	    cat <<"EOF"
+#ifdef _MSC_VER
+# define _CRT_SECURE_NO_DEPRECATE 1
+#endif
 #include <stdio.h>
 #include <stdlib.h>
 #ifdef _MSC_VER
 # include <direct.h>
 # include <process.h>
 # include <io.h>
-# define setmode _setmode
 #else
 # include <unistd.h>
 # include <stdint.h>
 # ifdef __CYGWIN__
 #  include <io.h>
-#  define HAVE_SETENV
-#  ifdef __STRICT_ANSI__
-char *realpath (const char *, char *);
-int putenv (char *);
-int setenv (const char *, const char *, int);
-#  endif
 # endif
 #endif
 #include <malloc.h>
@@ -3177,6 +3438,44 @@ int setenv (const char *, const char *, int);
 #include <fcntl.h>
 #include <sys/stat.h>
 
+/* declarations of non-ANSI functions */
+#if defined(__MINGW32__)
+# ifdef __STRICT_ANSI__
+int _putenv (const char *);
+# endif
+#elif defined(__CYGWIN__)
+# ifdef __STRICT_ANSI__
+char *realpath (const char *, char *);
+int putenv (char *);
+int setenv (const char *, const char *, int);
+# endif
+/* #elif defined (other platforms) ... */
+#endif
+
+/* portability defines, excluding path handling macros */
+#if defined(_MSC_VER)
+# define setmode _setmode
+# define stat    _stat
+# define chmod   _chmod
+# define getcwd  _getcwd
+# define putenv  _putenv
+# define S_IXUSR _S_IEXEC
+# ifndef _INTPTR_T_DEFINED
+#  define _INTPTR_T_DEFINED
+#  define intptr_t int
+# endif
+#elif defined(__MINGW32__)
+# define setmode _setmode
+# define stat    _stat
+# define chmod   _chmod
+# define getcwd  _getcwd
+# define putenv  _putenv
+#elif defined(__CYGWIN__)
+# define HAVE_SETENV
+# define FOPEN_WB "wb"
+/* #elif defined (other platforms) ... */
+#endif
+
 #if defined(PATH_MAX)
 # define LT_PATHMAX PATH_MAX
 #elif defined(MAXPATHLEN)
@@ -3192,14 +3491,7 @@ int setenv (const char *, const char *, int);
 # define S_IXGRP 0
 #endif
 
-#ifdef _MSC_VER
-# define S_IXUSR _S_IEXEC
-# define stat _stat
-# ifndef _INTPTR_T_DEFINED
-#  define intptr_t int
-# endif
-#endif
-
+/* path handling portability macros */
 #ifndef DIR_SEPARATOR
 # define DIR_SEPARATOR '/'
 # define PATH_SEPARATOR ':'
@@ -3230,10 +3522,6 @@ int setenv (const char *, const char *, int);
 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
 #endif /* PATH_SEPARATOR_2 */
 
-#ifdef __CYGWIN__
-# define FOPEN_WB "wb"
-#endif
-
 #ifndef FOPEN_WB
 # define FOPEN_WB "w"
 #endif
@@ -3246,22 +3534,13 @@ int setenv (const char *, const char *, int);
   if (stale) { free ((void *) stale); stale = 0; } \
 } while (0)
 
-#undef LTWRAPPER_DEBUGPRINTF
-#if defined DEBUGWRAPPER
-# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
-static void
-ltwrapper_debugprintf (const char *fmt, ...)
-{
-    va_list args;
-    va_start (args, fmt);
-    (void) vfprintf (stderr, fmt, args);
-    va_end (args);
-}
+#if defined(LT_DEBUGWRAPPER)
+static int lt_debug = 1;
 #else
-# define LTWRAPPER_DEBUGPRINTF(args)
+static int lt_debug = 0;
 #endif
 
-const char *program_name = NULL;
+const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
 
 void *xmalloc (size_t num);
 char *xstrdup (const char *string);
@@ -3271,31 +3550,17 @@ char *chase_symlinks (const char *pathspec);
 int make_executable (const char *path);
 int check_executable (const char *path);
 char *strendzap (char *str, const char *pat);
-void lt_fatal (const char *message, ...);
+void lt_debugprintf (const char *file, int line, const char *fmt, ...);
+void lt_fatal (const char *file, int line, const char *message, ...);
+static const char *nonnull (const char *s);
+static const char *nonempty (const char *s);
 void lt_setenv (const char *name, const char *value);
 char *lt_extend_str (const char *orig_value, const char *add, int to_end);
-void lt_opt_process_env_set (const char *arg);
-void lt_opt_process_env_prepend (const char *arg);
-void lt_opt_process_env_append (const char *arg);
-int lt_split_name_value (const char *arg, char** name, char** value);
 void lt_update_exe_path (const char *name, const char *value);
 void lt_update_lib_path (const char *name, const char *value);
-
-static const char *script_text_part1 =
-EOF
-
-	    func_emit_wrapper_part1 yes |
-	        $SED -e 's/\([\\"]\)/\\\1/g' \
-	             -e 's/^/  "/' -e 's/$/\\n"/'
-	    echo ";"
-	    cat <<EOF
-
-static const char *script_text_part2 =
+char **prepare_spawn (char **argv);
+void lt_dump_script (FILE *f);
 EOF
-	    func_emit_wrapper_part2 yes |
-	        $SED -e 's/\([\\"]\)/\\\1/g' \
-	             -e 's/^/  "/' -e 's/$/\\n"/'
-	    echo ";"
 
 	    cat <<EOF
 const char * MAGIC_EXE = "$magic_exe";
@@ -3340,24 +3605,10 @@ EOF
 	    cat <<"EOF"
 
 #define LTWRAPPER_OPTION_PREFIX         "--lt-"
-#define LTWRAPPER_OPTION_PREFIX_LENGTH  5
 
-static const size_t opt_prefix_len         = LTWRAPPER_OPTION_PREFIX_LENGTH;
 static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
-
 static const char *dumpscript_opt       = LTWRAPPER_OPTION_PREFIX "dump-script";
-
-static const size_t env_set_opt_len     = LTWRAPPER_OPTION_PREFIX_LENGTH + 7;
-static const char *env_set_opt          = LTWRAPPER_OPTION_PREFIX "env-set";
-  /* argument is putenv-style "foo=bar", value of foo is set to bar */
-
-static const size_t env_prepend_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 11;
-static const char *env_prepend_opt      = LTWRAPPER_OPTION_PREFIX "env-prepend";
-  /* argument is putenv-style "foo=bar", new value of foo is bar${foo} */
-
-static const size_t env_append_opt_len  = LTWRAPPER_OPTION_PREFIX_LENGTH + 10;
-static const char *env_append_opt       = LTWRAPPER_OPTION_PREFIX "env-append";
-  /* argument is putenv-style "foo=bar", new value of foo is ${foo}bar */
+static const char *debug_opt            = LTWRAPPER_OPTION_PREFIX "debug";
 
 int
 main (int argc, char *argv[])
@@ -3374,10 +3625,13 @@ main (int argc, char *argv[])
   int i;
 
   program_name = (char *) xstrdup (base_name (argv[0]));
-  LTWRAPPER_DEBUGPRINTF (("(main) argv[0]      : %s\n", argv[0]));
-  LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name));
+  newargz = XMALLOC (char *, argc + 1);
 
-  /* very simple arg parsing; don't want to rely on getopt */
+  /* very simple arg parsing; don't want to rely on getopt
+   * also, copy all non cwrapper options to newargz, except
+   * argz[0], which is handled differently
+   */
+  newargc=0;
   for (i = 1; i < argc; i++)
     {
       if (strcmp (argv[i], dumpscript_opt) == 0)
@@ -3391,25 +3645,57 @@ EOF
 	      esac
 
 	    cat <<"EOF"
-	  printf ("%s", script_text_part1);
-	  printf ("%s", script_text_part2);
+	  lt_dump_script (stdout);
 	  return 0;
 	}
+      if (strcmp (argv[i], debug_opt) == 0)
+	{
+          lt_debug = 1;
+          continue;
+	}
+      if (strcmp (argv[i], ltwrapper_option_prefix) == 0)
+        {
+          /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
+             namespace, but it is not one of the ones we know about and
+             have already dealt with, above (inluding dump-script), then
+             report an error. Otherwise, targets might begin to believe
+             they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
+             namespace. The first time any user complains about this, we'll
+             need to make LTWRAPPER_OPTION_PREFIX a configure-time option
+             or a configure.ac-settable value.
+           */
+          lt_fatal (__FILE__, __LINE__,
+		    "unrecognized %s option: '%s'",
+                    ltwrapper_option_prefix, argv[i]);
+        }
+      /* otherwise ... */
+      newargz[++newargc] = xstrdup (argv[i]);
     }
+  newargz[++newargc] = NULL;
+
+EOF
+	    cat <<EOF
+  /* The GNU banner must be the first non-error debug message */
+  lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n");
+EOF
+	    cat <<"EOF"
+  lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
+  lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name);
 
-  newargz = XMALLOC (char *, argc + 1);
   tmp_pathspec = find_executable (argv[0]);
   if (tmp_pathspec == NULL)
-    lt_fatal ("Couldn't find %s", argv[0]);
-  LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n",
-			  tmp_pathspec));
+    lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
+  lt_debugprintf (__FILE__, __LINE__,
+                  "(main) found exe (before symlink chase) at: %s\n",
+		  tmp_pathspec);
 
   actual_cwrapper_path = chase_symlinks (tmp_pathspec);
-  LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n",
-			  actual_cwrapper_path));
+  lt_debugprintf (__FILE__, __LINE__,
+                  "(main) found exe (after symlink chase) at: %s\n",
+		  actual_cwrapper_path);
   XFREE (tmp_pathspec);
 
-  actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path));
+  actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
   strendzap (actual_cwrapper_path, actual_cwrapper_name);
 
   /* wrapper name transforms */
@@ -3427,8 +3713,9 @@ EOF
   target_name = tmp_pathspec;
   tmp_pathspec = 0;
 
-  LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n",
-			  target_name));
+  lt_debugprintf (__FILE__, __LINE__,
+		  "(main) libtool target name: %s\n",
+		  target_name);
 EOF
 
 	    cat <<EOF
@@ -3481,77 +3768,12 @@ EOF
   lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
   lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
 
-  newargc=0;
-  for (i = 1; i < argc; i++)
-    {
-      if (strncmp (argv[i], env_set_opt, env_set_opt_len) == 0)
-        {
-          if (argv[i][env_set_opt_len] == '=')
-            {
-              const char *p = argv[i] + env_set_opt_len + 1;
-              lt_opt_process_env_set (p);
-            }
-          else if (argv[i][env_set_opt_len] == '\0' && i + 1 < argc)
-            {
-              lt_opt_process_env_set (argv[++i]); /* don't copy */
-            }
-          else
-            lt_fatal ("%s missing required argument", env_set_opt);
-          continue;
-        }
-      if (strncmp (argv[i], env_prepend_opt, env_prepend_opt_len) == 0)
-        {
-          if (argv[i][env_prepend_opt_len] == '=')
-            {
-              const char *p = argv[i] + env_prepend_opt_len + 1;
-              lt_opt_process_env_prepend (p);
-            }
-          else if (argv[i][env_prepend_opt_len] == '\0' && i + 1 < argc)
-            {
-              lt_opt_process_env_prepend (argv[++i]); /* don't copy */
-            }
-          else
-            lt_fatal ("%s missing required argument", env_prepend_opt);
-          continue;
-        }
-      if (strncmp (argv[i], env_append_opt, env_append_opt_len) == 0)
-        {
-          if (argv[i][env_append_opt_len] == '=')
-            {
-              const char *p = argv[i] + env_append_opt_len + 1;
-              lt_opt_process_env_append (p);
-            }
-          else if (argv[i][env_append_opt_len] == '\0' && i + 1 < argc)
-            {
-              lt_opt_process_env_append (argv[++i]); /* don't copy */
-            }
-          else
-            lt_fatal ("%s missing required argument", env_append_opt);
-          continue;
-        }
-      if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0)
-        {
-          /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
-             namespace, but it is not one of the ones we know about and
-             have already dealt with, above (inluding dump-script), then
-             report an error. Otherwise, targets might begin to believe
-             they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
-             namespace. The first time any user complains about this, we'll
-             need to make LTWRAPPER_OPTION_PREFIX a configure-time option
-             or a configure.ac-settable value.
-           */
-          lt_fatal ("Unrecognized option in %s namespace: '%s'",
-                    ltwrapper_option_prefix, argv[i]);
-        }
-      /* otherwise ... */
-      newargz[++newargc] = xstrdup (argv[i]);
-    }
-  newargz[++newargc] = NULL;
-
-  LTWRAPPER_DEBUGPRINTF     (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_argv_zero : "<NULL>")));
+  lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
+		  nonnull (lt_argv_zero));
   for (i = 0; i < newargc; i++)
     {
-      LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d]   : %s\n", i, (newargz[i] ? newargz[i] : "<NULL>")));
+      lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
+		      i, nonnull (newargz[i]));
     }
 
 EOF
@@ -3560,11 +3782,14 @@ EOF
 	      mingw*)
 		cat <<"EOF"
   /* execv doesn't actually work on mingw as expected on unix */
+  newargz = prepare_spawn (newargz);
   rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
   if (rval == -1)
     {
       /* failed to start process */
-      LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno));
+      lt_debugprintf (__FILE__, __LINE__,
+		      "(main) failed to launch target \"%s\": %s\n",
+		      lt_argv_zero, nonnull (strerror (errno)));
       return 127;
     }
   return rval;
@@ -3586,7 +3811,7 @@ xmalloc (size_t num)
 {
   void *p = (void *) malloc (num);
   if (!p)
-    lt_fatal ("Memory exhausted");
+    lt_fatal (__FILE__, __LINE__, "memory exhausted");
 
   return p;
 }
@@ -3620,8 +3845,8 @@ check_executable (const char *path)
 {
   struct stat st;
 
-  LTWRAPPER_DEBUGPRINTF (("(check_executable)  : %s\n",
-			  path ? (*path ? path : "EMPTY!") : "NULL!"));
+  lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
+                  nonempty (path));
   if ((!path) || (!*path))
     return 0;
 
@@ -3638,8 +3863,8 @@ make_executable (const char *path)
   int rval = 0;
   struct stat st;
 
-  LTWRAPPER_DEBUGPRINTF (("(make_executable)   : %s\n",
-			  path ? (*path ? path : "EMPTY!") : "NULL!"));
+  lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
+                  nonempty (path));
   if ((!path) || (!*path))
     return 0;
 
@@ -3665,8 +3890,8 @@ find_executable (const char *wrapper)
   int tmp_len;
   char *concat_name;
 
-  LTWRAPPER_DEBUGPRINTF (("(find_executable)   : %s\n",
-			  wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));
+  lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
+                  nonempty (wrapper));
 
   if ((wrapper == NULL) || (*wrapper == '\0'))
     return NULL;
@@ -3719,7 +3944,8 @@ find_executable (const char *wrapper)
 		{
 		  /* empty path: current directory */
 		  if (getcwd (tmp, LT_PATHMAX) == NULL)
-		    lt_fatal ("getcwd failed");
+		    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
+                              nonnull (strerror (errno)));
 		  tmp_len = strlen (tmp);
 		  concat_name =
 		    XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
@@ -3744,7 +3970,8 @@ find_executable (const char *wrapper)
     }
   /* Relative path | not found in path: prepend cwd */
   if (getcwd (tmp, LT_PATHMAX) == NULL)
-    lt_fatal ("getcwd failed");
+    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
+              nonnull (strerror (errno)));
   tmp_len = strlen (tmp);
   concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
   memcpy (concat_name, tmp, tmp_len);
@@ -3770,8 +3997,9 @@ chase_symlinks (const char *pathspec)
   int has_symlinks = 0;
   while (strlen (tmp_pathspec) && !has_symlinks)
     {
-      LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n",
-			      tmp_pathspec));
+      lt_debugprintf (__FILE__, __LINE__,
+		      "checking path component for symlinks: %s\n",
+		      tmp_pathspec);
       if (lstat (tmp_pathspec, &s) == 0)
 	{
 	  if (S_ISLNK (s.st_mode) != 0)
@@ -3793,8 +4021,9 @@ chase_symlinks (const char *pathspec)
 	}
       else
 	{
-	  char *errstr = strerror (errno);
-	  lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
+	  lt_fatal (__FILE__, __LINE__,
+		    "error accessing file \"%s\": %s",
+		    tmp_pathspec, nonnull (strerror (errno)));
 	}
     }
   XFREE (tmp_pathspec);
@@ -3807,7 +4036,8 @@ chase_symlinks (const char *pathspec)
   tmp_pathspec = realpath (pathspec, buf);
   if (tmp_pathspec == 0)
     {
-      lt_fatal ("Could not follow symlinks for %s", pathspec);
+      lt_fatal (__FILE__, __LINE__,
+		"could not follow symlinks for %s", pathspec);
     }
   return xstrdup (tmp_pathspec);
 #endif
@@ -3833,11 +4063,25 @@ strendzap (char *str, const char *pat)
   return str;
 }
 
+void
+lt_debugprintf (const char *file, int line, const char *fmt, ...)
+{
+  va_list args;
+  if (lt_debug)
+    {
+      (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
+      va_start (args, fmt);
+      (void) vfprintf (stderr, fmt, args);
+      va_end (args);
+    }
+}
+
 static void
-lt_error_core (int exit_status, const char *mode,
+lt_error_core (int exit_status, const char *file,
+	       int line, const char *mode,
 	       const char *message, va_list ap)
 {
-  fprintf (stderr, "%s: %s: ", program_name, mode);
+  fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
   vfprintf (stderr, message, ap);
   fprintf (stderr, ".\n");
 
@@ -3846,20 +4090,32 @@ lt_error_core (int exit_status, const char *mode,
 }
 
 void
-lt_fatal (const char *message, ...)
+lt_fatal (const char *file, int line, const char *message, ...)
 {
   va_list ap;
   va_start (ap, message);
-  lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
+  lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
   va_end (ap);
 }
 
+static const char *
+nonnull (const char *s)
+{
+  return s ? s : "(null)";
+}
+
+static const char *
+nonempty (const char *s)
+{
+  return (s && !*s) ? "(empty)" : nonnull (s);
+}
+
 void
 lt_setenv (const char *name, const char *value)
 {
-  LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n",
-                          (name ? name : "<NULL>"),
-                          (value ? value : "<NULL>")));
+  lt_debugprintf (__FILE__, __LINE__,
+		  "(lt_setenv) setting '%s' to '%s'\n",
+                  nonnull (name), nonnull (value));
   {
 #ifdef HAVE_SETENV
     /* always make a copy, for consistency with !HAVE_SETENV */
@@ -3904,95 +4160,12 @@ lt_extend_str (const char *orig_value, const char *add, int to_end)
   return new_value;
 }
 
-int
-lt_split_name_value (const char *arg, char** name, char** value)
-{
-  const char *p;
-  int len;
-  if (!arg || !*arg)
-    return 1;
-
-  p = strchr (arg, (int)'=');
-
-  if (!p)
-    return 1;
-
-  *value = xstrdup (++p);
-
-  len = strlen (arg) - strlen (*value);
-  *name = XMALLOC (char, len);
-  strncpy (*name, arg, len-1);
-  (*name)[len - 1] = '\0';
-
-  return 0;
-}
-
-void
-lt_opt_process_env_set (const char *arg)
-{
-  char *name = NULL;
-  char *value = NULL;
-
-  if (lt_split_name_value (arg, &name, &value) != 0)
-    {
-      XFREE (name);
-      XFREE (value);
-      lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg);
-    }
-
-  lt_setenv (name, value);
-  XFREE (name);
-  XFREE (value);
-}
-
-void
-lt_opt_process_env_prepend (const char *arg)
-{
-  char *name = NULL;
-  char *value = NULL;
-  char *new_value = NULL;
-
-  if (lt_split_name_value (arg, &name, &value) != 0)
-    {
-      XFREE (name);
-      XFREE (value);
-      lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg);
-    }
-
-  new_value = lt_extend_str (getenv (name), value, 0);
-  lt_setenv (name, new_value);
-  XFREE (new_value);
-  XFREE (name);
-  XFREE (value);
-}
-
-void
-lt_opt_process_env_append (const char *arg)
-{
-  char *name = NULL;
-  char *value = NULL;
-  char *new_value = NULL;
-
-  if (lt_split_name_value (arg, &name, &value) != 0)
-    {
-      XFREE (name);
-      XFREE (value);
-      lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg);
-    }
-
-  new_value = lt_extend_str (getenv (name), value, 1);
-  lt_setenv (name, new_value);
-  XFREE (new_value);
-  XFREE (name);
-  XFREE (value);
-}
-
 void
 lt_update_exe_path (const char *name, const char *value)
 {
-  LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
-                          (name ? name : "<NULL>"),
-                          (value ? value : "<NULL>")));
+  lt_debugprintf (__FILE__, __LINE__,
+		  "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
+                  nonnull (name), nonnull (value));
 
   if (name && *name && value && *value)
     {
@@ -4011,9 +4184,9 @@ lt_update_exe_path (const char *name, const char *value)
 void
 lt_update_lib_path (const char *name, const char *value)
 {
-  LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
-                          (name ? name : "<NULL>"),
-                          (value ? value : "<NULL>")));
+  lt_debugprintf (__FILE__, __LINE__,
+		  "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
+                  nonnull (name), nonnull (value));
 
   if (name && *name && value && *value)
     {
@@ -4023,11 +4196,152 @@ lt_update_lib_path (const char *name, const char *value)
     }
 }
 
+EOF
+	    case $host_os in
+	      mingw*)
+		cat <<"EOF"
+
+/* Prepares an argument vector before calling spawn().
+   Note that spawn() does not by itself call the command interpreter
+     (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
+      ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+         GetVersionEx(&v);
+         v.dwPlatformId == VER_PLATFORM_WIN32_NT;
+      }) ? "cmd.exe" : "command.com").
+   Instead it simply concatenates the arguments, separated by ' ', and calls
+   CreateProcess().  We must quote the arguments since Win32 CreateProcess()
+   interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
+   special way:
+   - Space and tab are interpreted as delimiters. They are not treated as
+     delimiters if they are surrounded by double quotes: "...".
+   - Unescaped double quotes are removed from the input. Their only effect is
+     that within double quotes, space and tab are treated like normal
+     characters.
+   - Backslashes not followed by double quotes are not special.
+   - But 2*n+1 backslashes followed by a double quote become
+     n backslashes followed by a double quote (n >= 0):
+       \" -> "
+       \\\" -> \"
+       \\\\\" -> \\"
+ */
+#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+char **
+prepare_spawn (char **argv)
+{
+  size_t argc;
+  char **new_argv;
+  size_t i;
+
+  /* Count number of arguments.  */
+  for (argc = 0; argv[argc] != NULL; argc++)
+    ;
+
+  /* Allocate new argument vector.  */
+  new_argv = XMALLOC (char *, argc + 1);
+
+  /* Put quoted arguments into the new argument vector.  */
+  for (i = 0; i < argc; i++)
+    {
+      const char *string = argv[i];
+
+      if (string[0] == '\0')
+	new_argv[i] = xstrdup ("\"\"");
+      else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
+	{
+	  int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
+	  size_t length;
+	  unsigned int backslashes;
+	  const char *s;
+	  char *quoted_string;
+	  char *p;
+
+	  length = 0;
+	  backslashes = 0;
+	  if (quote_around)
+	    length++;
+	  for (s = string; *s != '\0'; s++)
+	    {
+	      char c = *s;
+	      if (c == '"')
+		length += backslashes + 1;
+	      length++;
+	      if (c == '\\')
+		backslashes++;
+	      else
+		backslashes = 0;
+	    }
+	  if (quote_around)
+	    length += backslashes + 1;
+
+	  quoted_string = XMALLOC (char, length + 1);
+
+	  p = quoted_string;
+	  backslashes = 0;
+	  if (quote_around)
+	    *p++ = '"';
+	  for (s = string; *s != '\0'; s++)
+	    {
+	      char c = *s;
+	      if (c == '"')
+		{
+		  unsigned int j;
+		  for (j = backslashes + 1; j > 0; j--)
+		    *p++ = '\\';
+		}
+	      *p++ = c;
+	      if (c == '\\')
+		backslashes++;
+	      else
+		backslashes = 0;
+	    }
+	  if (quote_around)
+	    {
+	      unsigned int j;
+	      for (j = backslashes; j > 0; j--)
+		*p++ = '\\';
+	      *p++ = '"';
+	    }
+	  *p = '\0';
+
+	  new_argv[i] = quoted_string;
+	}
+      else
+	new_argv[i] = (char *) string;
+    }
+  new_argv[argc] = NULL;
+
+  return new_argv;
+}
+EOF
+		;;
+	    esac
+
+            cat <<"EOF"
+void lt_dump_script (FILE* f)
+{
+EOF
+	    func_emit_wrapper yes |
+              $SED -e 's/\([\\"]\)/\\\1/g' \
+	           -e 's/^/  fputs ("/' -e 's/$/\\n", f);/'
 
+            cat <<"EOF"
+}
 EOF
 }
 # end: func_emit_cwrapperexe_src
 
+# func_win32_import_lib_p ARG
+# True if ARG is an import lib, as indicated by $file_magic_cmd
+func_win32_import_lib_p ()
+{
+    $opt_debug
+    case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
+    *import*) : ;;
+    *) false ;;
+    esac
+}
+
 # func_mode_link arg...
 func_mode_link ()
 {
@@ -4072,6 +4386,7 @@ func_mode_link ()
     new_inherited_linker_flags=
 
     avoid_version=no
+    bindir=
     dlfiles=
     dlprefiles=
     dlself=no
@@ -4164,6 +4479,11 @@ func_mode_link ()
 	esac
 
 	case $prev in
+	bindir)
+	  bindir="$arg"
+	  prev=
+	  continue
+	  ;;
 	dlfiles|dlprefiles)
 	  if test "$preload" = no; then
 	    # Add the symbol object into the linking commands.
@@ -4425,6 +4745,11 @@ func_mode_link ()
 	continue
 	;;
 
+      -bindir)
+	prev=bindir
+	continue
+	;;
+
       -dlopen)
 	prev=dlfiles
 	continue
@@ -4503,7 +4828,7 @@ func_mode_link ()
 	esac
 	case $host in
 	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
-	  testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
+	  testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
 	  case :$dllsearchpath: in
 	  *":$dir:"*) ;;
 	  ::) dllsearchpath=$dir;;
@@ -4522,7 +4847,7 @@ func_mode_link ()
       -l*)
 	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
 	  case $host in
-	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*)
+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
 	    # These systems don't actually have a C or math library (as such)
 	    continue
 	    ;;
@@ -4708,7 +5033,7 @@ func_mode_link ()
 	for flag in $args; do
 	  IFS="$save_ifs"
           func_quote_for_eval "$flag"
-	  arg="$arg $wl$func_quote_for_eval_result"
+	  arg="$arg $func_quote_for_eval_result"
 	  compiler_flags="$compiler_flags $func_quote_for_eval_result"
 	done
 	IFS="$save_ifs"
@@ -4754,18 +5079,19 @@ func_mode_link ()
 	arg="$func_quote_for_eval_result"
 	;;
 
-      # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
-      # -r[0-9][0-9]* specifies the processor on the SGI compiler
-      # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
-      # +DA*, +DD* enable 64-bit mode on the HP compiler
-      # -q* pass through compiler args for the IBM compiler
-      # -m*, -t[45]*, -txscale* pass through architecture-specific
-      # compiler args for GCC
-      # -F/path gives path to uninstalled frameworks, gcc on darwin
-      # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
-      # @file GCC response files
+      # Flags to be passed through unchanged, with rationale:
+      # -64, -mips[0-9]      enable 64-bit mode for the SGI compiler
+      # -r[0-9][0-9]*        specify processor for the SGI compiler
+      # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
+      # +DA*, +DD*           enable 64-bit mode for the HP compiler
+      # -q*                  compiler args for the IBM compiler
+      # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
+      # -F/path              path to uninstalled frameworks, gcc on darwin
+      # -p, -pg, --coverage, -fprofile-*  profiling flags for GCC
+      # @file                GCC response files
+      # -tp=*                Portland pgcc target processor selection
       -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
+      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*)
         func_quote_for_eval "$arg"
 	arg="$func_quote_for_eval_result"
         func_append compile_command " $arg"
@@ -4925,7 +5251,7 @@ func_mode_link ()
 
     if test -n "$shlibpath_var"; then
       # get the directories listed in $shlibpath_var
-      eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
+      eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\`
     else
       shlib_search_path=
     fi
@@ -5048,7 +5374,8 @@ func_mode_link ()
 	  # Collect preopened libtool deplibs, except any this library
 	  # has declared as weak libs
 	  for deplib in $dependency_libs; do
-            deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"`
+	    func_basename "$deplib"
+            deplib_base=$func_basename_result
 	    case " $weak_libs " in
 	    *" $deplib_base "*) ;;
 	    *) deplibs="$deplibs $deplib" ;;
@@ -5227,7 +5554,7 @@ func_mode_link ()
 		match_pattern*)
 		  set dummy $deplibs_check_method; shift
 		  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
-		  if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \
+		  if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
 		    | $EGREP "$match_pattern_regex" > /dev/null; then
 		    valid_a_lib=yes
 		  fi
@@ -5237,15 +5564,15 @@ func_mode_link ()
 		;;
 	      esac
 	      if test "$valid_a_lib" != yes; then
-		$ECHO
+		echo
 		$ECHO "*** Warning: Trying to link with static lib archive $deplib."
-		$ECHO "*** I have the capability to make that library automatically link in when"
-		$ECHO "*** you link to this library.  But I can only do this if you have a"
-		$ECHO "*** shared version of the library, which you do not appear to have"
-		$ECHO "*** because the file extensions .$libext of this argument makes me believe"
-		$ECHO "*** that it is just a static archive that I should not use here."
+		echo "*** I have the capability to make that library automatically link in when"
+		echo "*** you link to this library.  But I can only do this if you have a"
+		echo "*** shared version of the library, which you do not appear to have"
+		echo "*** because the file extensions .$libext of this argument makes me believe"
+		echo "*** that it is just a static archive that I should not use here."
 	      else
-		$ECHO
+		echo
 		$ECHO "*** Warning: Linking the shared library $output against the"
 		$ECHO "*** static library $deplib is not portable!"
 		deplibs="$deplib $deplibs"
@@ -5318,7 +5645,7 @@ func_mode_link ()
 
 	# Convert "-framework foo" to "foo.ltframework"
 	if test -n "$inherited_linker_flags"; then
-	  tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'`
+	  tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`
 	  for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
 	    case " $new_inherited_linker_flags " in
 	      *" $tmp_inherited_linker_flag "*) ;;
@@ -5326,7 +5653,7 @@ func_mode_link ()
 	    esac
 	  done
 	fi
-	dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+	dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
 	if test "$linkmode,$pass" = "lib,link" ||
 	   test "$linkmode,$pass" = "prog,scan" ||
 	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
@@ -5580,7 +5907,7 @@ func_mode_link ()
 	    fi
 	  done
 	  if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
-	    $ECHO
+	    echo
 	    if test "$linkmode" = prog; then
 	      $ECHO "*** Warning: Linking the executable $output against the loadable module"
 	    else
@@ -5683,9 +6010,9 @@ func_mode_link ()
 		      if test "X$dlopenmodule" != "X$lib"; then
 			$ECHO "*** Warning: lib $linklib is a module, not a shared library"
 			if test -z "$old_library" ; then
-			  $ECHO
-			  $ECHO "*** And there doesn't seem to be a static archive available"
-			  $ECHO "*** The link will probably fail, sorry"
+			  echo
+			  echo "*** And there doesn't seem to be a static archive available"
+			  echo "*** The link will probably fail, sorry"
 			else
 			  add="$dir/$old_library"
 			fi
@@ -5825,21 +6152,21 @@ func_mode_link ()
 
 	    # Just print a warning and add the library to dependency_libs so
 	    # that the program can be linked against the static library.
-	    $ECHO
+	    echo
 	    $ECHO "*** Warning: This system can not link to static lib archive $lib."
-	    $ECHO "*** I have the capability to make that library automatically link in when"
-	    $ECHO "*** you link to this library.  But I can only do this if you have a"
-	    $ECHO "*** shared version of the library, which you do not appear to have."
+	    echo "*** I have the capability to make that library automatically link in when"
+	    echo "*** you link to this library.  But I can only do this if you have a"
+	    echo "*** shared version of the library, which you do not appear to have."
 	    if test "$module" = yes; then
-	      $ECHO "*** But as you try to build a module library, libtool will still create "
-	      $ECHO "*** a static module, that should work as long as the dlopening application"
-	      $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime."
+	      echo "*** But as you try to build a module library, libtool will still create "
+	      echo "*** a static module, that should work as long as the dlopening application"
+	      echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
 	      if test -z "$global_symbol_pipe"; then
-		$ECHO
-		$ECHO "*** However, this would only work if libtool was able to extract symbol"
-		$ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
-		$ECHO "*** not find such a program.  So, this module is probably useless."
-		$ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
+		echo
+		echo "*** However, this would only work if libtool was able to extract symbol"
+		echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+		echo "*** not find such a program.  So, this module is probably useless."
+		echo "*** \`nm' from GNU binutils and a full rebuild may help."
 	      fi
 	      if test "$build_old_libs" = no; then
 		build_libtool_libs=module
@@ -5893,6 +6220,7 @@ func_mode_link ()
 	  if test "$link_all_deplibs" != no; then
 	    # Add the search paths of all dependency libraries
 	    for deplib in $dependency_libs; do
+	      path=
 	      case $deplib in
 	      -L*) path="$deplib" ;;
 	      *.la)
@@ -5958,7 +6286,7 @@ func_mode_link ()
 	  compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
 	  finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
 	else
-	  compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+	  compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
 	fi
       fi
       dependency_libs="$newdependency_libs"
@@ -6126,7 +6454,7 @@ func_mode_link ()
 	if test "$deplibs_check_method" != pass_all; then
 	  func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
 	else
-	  $ECHO
+	  echo
 	  $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
 	  $ECHO "*** objects $objs is not portable!"
 	  libobjs="$libobjs $objs"
@@ -6194,7 +6522,7 @@ func_mode_link ()
 	    age="$number_minor"
 	    revision="$number_revision"
 	    ;;
-	  freebsd-aout|freebsd-elf|sunos)
+	  freebsd-aout|freebsd-elf|qnx|sunos)
 	    current="$number_major"
 	    revision="$number_minor"
 	    age="0"
@@ -6428,14 +6756,14 @@ func_mode_link ()
 	oldlibs="$oldlibs $output_objdir/$libname.$libext"
 
 	# Transform .lo files to .o files.
-	oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
+	oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP`
       fi
 
       # Eliminate all temporary directories.
       #for path in $notinst_path; do
-      #	lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"`
-      #	deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"`
-      #	dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"`
+      #	lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
+      #	deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
+      #	dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
       #done
 
       if test -n "$xrpath"; then
@@ -6476,7 +6804,7 @@ func_mode_link ()
       if test "$build_libtool_libs" = yes; then
 	if test -n "$rpath"; then
 	  case $host in
-	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*)
+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
 	    # these systems don't actually have a c library (as such)!
 	    ;;
 	  *-*-rhapsody* | *-*-darwin1.[012])
@@ -6561,13 +6889,13 @@ EOF
 		    newdeplibs="$newdeplibs $i"
 		  else
 		    droppeddeps=yes
-		    $ECHO
+		    echo
 		    $ECHO "*** Warning: dynamic linker does not accept needed library $i."
-		    $ECHO "*** I have the capability to make that library automatically link in when"
-		    $ECHO "*** you link to this library.  But I can only do this if you have a"
-		    $ECHO "*** shared version of the library, which I believe you do not have"
-		    $ECHO "*** because a test_compile did reveal that the linker did not use it for"
-		    $ECHO "*** its dynamic dependency list that programs get resolved with at runtime."
+		    echo "*** I have the capability to make that library automatically link in when"
+		    echo "*** you link to this library.  But I can only do this if you have a"
+		    echo "*** shared version of the library, which I believe you do not have"
+		    echo "*** because a test_compile did reveal that the linker did not use it for"
+		    echo "*** its dynamic dependency list that programs get resolved with at runtime."
 		  fi
 		fi
 		;;
@@ -6604,22 +6932,22 @@ EOF
 		      newdeplibs="$newdeplibs $i"
 		    else
 		      droppeddeps=yes
-		      $ECHO
+		      echo
 		      $ECHO "*** Warning: dynamic linker does not accept needed library $i."
-		      $ECHO "*** I have the capability to make that library automatically link in when"
-		      $ECHO "*** you link to this library.  But I can only do this if you have a"
-		      $ECHO "*** shared version of the library, which you do not appear to have"
-		      $ECHO "*** because a test_compile did reveal that the linker did not use this one"
-		      $ECHO "*** as a dynamic dependency that programs can get resolved with at runtime."
+		      echo "*** I have the capability to make that library automatically link in when"
+		      echo "*** you link to this library.  But I can only do this if you have a"
+		      echo "*** shared version of the library, which you do not appear to have"
+		      echo "*** because a test_compile did reveal that the linker did not use this one"
+		      echo "*** as a dynamic dependency that programs can get resolved with at runtime."
 		    fi
 		  fi
 		else
 		  droppeddeps=yes
-		  $ECHO
+		  echo
 		  $ECHO "*** Warning!  Library $i is needed by this library but I was not able to"
-		  $ECHO "*** make it link in!  You will probably need to install it or some"
-		  $ECHO "*** library that it depends on before this library will be fully"
-		  $ECHO "*** functional.  Installing it before continuing would be even better."
+		  echo "*** make it link in!  You will probably need to install it or some"
+		  echo "*** library that it depends on before this library will be fully"
+		  echo "*** functional.  Installing it before continuing would be even better."
 		fi
 		;;
 	      *)
@@ -6665,7 +6993,7 @@ EOF
 			potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
 			case $potliblink in
 			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
-			*) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
+			*) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";;
 			esac
 		      done
 		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
@@ -6680,12 +7008,12 @@ EOF
 	      fi
 	      if test -n "$a_deplib" ; then
 		droppeddeps=yes
-		$ECHO
+		echo
 		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
-		$ECHO "*** I have the capability to make that library automatically link in when"
-		$ECHO "*** you link to this library.  But I can only do this if you have a"
-		$ECHO "*** shared version of the library, which you do not appear to have"
-		$ECHO "*** because I did check the linker path looking for a file starting"
+		echo "*** I have the capability to make that library automatically link in when"
+		echo "*** you link to this library.  But I can only do this if you have a"
+		echo "*** shared version of the library, which you do not appear to have"
+		echo "*** because I did check the linker path looking for a file starting"
 		if test -z "$potlib" ; then
 		  $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
 		else
@@ -6723,7 +7051,7 @@ EOF
 		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
 		  for potent_lib in $potential_libs; do
 		    potlib="$potent_lib" # see symlink-check above in file_magic test
-		    if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \
+		    if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
 		       $EGREP "$match_pattern_regex" > /dev/null; then
 		      newdeplibs="$newdeplibs $a_deplib"
 		      a_deplib=""
@@ -6734,12 +7062,12 @@ EOF
 	      fi
 	      if test -n "$a_deplib" ; then
 		droppeddeps=yes
-		$ECHO
+		echo
 		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
-		$ECHO "*** I have the capability to make that library automatically link in when"
-		$ECHO "*** you link to this library.  But I can only do this if you have a"
-		$ECHO "*** shared version of the library, which you do not appear to have"
-		$ECHO "*** because I did check the linker path looking for a file starting"
+		echo "*** I have the capability to make that library automatically link in when"
+		echo "*** you link to this library.  But I can only do this if you have a"
+		echo "*** shared version of the library, which you do not appear to have"
+		echo "*** because I did check the linker path looking for a file starting"
 		if test -z "$potlib" ; then
 		  $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
 		else
@@ -6757,25 +7085,25 @@ EOF
 	  ;;
 	none | unknown | *)
 	  newdeplibs=""
-	  tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \
-	      -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'`
+	  tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
 	  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 	    for i in $predeps $postdeps ; do
 	      # can't use Xsed below, because $i might contain '/'
-	      tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"`
+	      tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"`
 	    done
 	  fi
-	  if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[	 ]//g' |
-	     $GREP . >/dev/null; then
-	    $ECHO
+	  case $tmp_deplibs in
+	  *[!\	\ ]*)
+	    echo
 	    if test "X$deplibs_check_method" = "Xnone"; then
-	      $ECHO "*** Warning: inter-library dependencies are not supported in this platform."
+	      echo "*** Warning: inter-library dependencies are not supported in this platform."
 	    else
-	      $ECHO "*** Warning: inter-library dependencies are not known to be supported."
+	      echo "*** Warning: inter-library dependencies are not known to be supported."
 	    fi
-	    $ECHO "*** All declared inter-library dependencies are being dropped."
+	    echo "*** All declared inter-library dependencies are being dropped."
 	    droppeddeps=yes
-	  fi
+	    ;;
+	  esac
 	  ;;
 	esac
 	versuffix=$versuffix_save
@@ -6787,23 +7115,23 @@ EOF
 	case $host in
 	*-*-rhapsody* | *-*-darwin1.[012])
 	  # On Rhapsody replace the C library with the System framework
-	  newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+	  newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'`
 	  ;;
 	esac
 
 	if test "$droppeddeps" = yes; then
 	  if test "$module" = yes; then
-	    $ECHO
-	    $ECHO "*** Warning: libtool could not satisfy all declared inter-library"
+	    echo
+	    echo "*** Warning: libtool could not satisfy all declared inter-library"
 	    $ECHO "*** dependencies of module $libname.  Therefore, libtool will create"
-	    $ECHO "*** a static module, that should work as long as the dlopening"
-	    $ECHO "*** application is linked with the -dlopen flag."
+	    echo "*** a static module, that should work as long as the dlopening"
+	    echo "*** application is linked with the -dlopen flag."
 	    if test -z "$global_symbol_pipe"; then
-	      $ECHO
-	      $ECHO "*** However, this would only work if libtool was able to extract symbol"
-	      $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
-	      $ECHO "*** not find such a program.  So, this module is probably useless."
-	      $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
+	      echo
+	      echo "*** However, this would only work if libtool was able to extract symbol"
+	      echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+	      echo "*** not find such a program.  So, this module is probably useless."
+	      echo "*** \`nm' from GNU binutils and a full rebuild may help."
 	    fi
 	    if test "$build_old_libs" = no; then
 	      oldlibs="$output_objdir/$libname.$libext"
@@ -6813,16 +7141,16 @@ EOF
 	      build_libtool_libs=no
 	    fi
 	  else
-	    $ECHO "*** The inter-library dependencies that have been dropped here will be"
-	    $ECHO "*** automatically added whenever a program is linked with this library"
-	    $ECHO "*** or is declared to -dlopen it."
+	    echo "*** The inter-library dependencies that have been dropped here will be"
+	    echo "*** automatically added whenever a program is linked with this library"
+	    echo "*** or is declared to -dlopen it."
 
 	    if test "$allow_undefined" = no; then
-	      $ECHO
-	      $ECHO "*** Since this library must not contain undefined symbols,"
-	      $ECHO "*** because either the platform does not support them or"
-	      $ECHO "*** it was explicitly requested with -no-undefined,"
-	      $ECHO "*** libtool will only create a static version of it."
+	      echo
+	      echo "*** Since this library must not contain undefined symbols,"
+	      echo "*** because either the platform does not support them or"
+	      echo "*** it was explicitly requested with -no-undefined,"
+	      echo "*** libtool will only create a static version of it."
 	      if test "$build_old_libs" = no; then
 		oldlibs="$output_objdir/$libname.$libext"
 		build_libtool_libs=module
@@ -6839,9 +7167,9 @@ EOF
       # Time to change all our "foo.ltframework" stuff back to "-framework foo"
       case $host in
 	*-*-darwin*)
-	  newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
-	  new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
-	  deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+	  newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+	  new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+	  deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
 	  ;;
       esac
 
@@ -6963,7 +7291,7 @@ EOF
 	done
 
 	# Use standard objects if they are pic
-	test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+	test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
 	test "X$libobjs" = "X " && libobjs=
 
 	delfiles=
@@ -7029,7 +7357,7 @@ EOF
 	if test -n "$export_symbols" && test -n "$include_expsyms"; then
 	  tmp_export_symbols="$export_symbols"
 	  test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
-	  $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
+	  $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
 	fi
 
 	if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
@@ -7130,7 +7458,8 @@ EOF
 	    save_libobjs=$libobjs
 	  fi
 	  save_output=$output
-	  output_la=`$ECHO "X$output" | $Xsed -e "$basename"`
+	  func_basename "$output"
+	  output_la=$func_basename_result
 
 	  # Clear the reloadable object creation command queue and
 	  # initialize k to one.
@@ -7143,12 +7472,12 @@ EOF
 	  if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
 	    output=${output_objdir}/${output_la}.lnkscript
 	    func_verbose "creating GNU ld script: $output"
-	    $ECHO 'INPUT (' > $output
+	    echo 'INPUT (' > $output
 	    for obj in $save_libobjs
 	    do
 	      $ECHO "$obj" >> $output
 	    done
-	    $ECHO ')' >> $output
+	    echo ')' >> $output
 	    delfiles="$delfiles $output"
 	  elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
 	    output=${output_objdir}/${output_la}.lnk
@@ -7190,17 +7519,19 @@ EOF
 		  # command to the queue.
 		  if test "$k" -eq 1 ; then
 		    # The first file doesn't have a previous command to add.
-		    eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
+		    reload_objs=$objlist
+		    eval concat_cmds=\"$reload_cmds\"
 		  else
 		    # All subsequent reloadable object files will link in
 		    # the last one created.
-		    eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\"
+		    reload_objs="$objlist $last_robj"
+		    eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
 		  fi
 		  last_robj=$output_objdir/$output_la-${k}.$objext
 		  func_arith $k + 1
 		  k=$func_arith_result
 		  output=$output_objdir/$output_la-${k}.$objext
-		  objlist=$obj
+		  objlist=" $obj"
 		  func_len " $last_robj"
 		  func_arith $len0 + $func_len_result
 		  len=$func_arith_result
@@ -7210,7 +7541,8 @@ EOF
 	      # reloadable object file.  All subsequent reloadable object
 	      # files will link in the last one created.
 	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-	      eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
+	      reload_objs="$objlist $last_robj"
+	      eval concat_cmds=\"\${concat_cmds}$reload_cmds\"
 	      if test -n "$last_robj"; then
 	        eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
 	      fi
@@ -7269,7 +7601,7 @@ EOF
 	    if test -n "$export_symbols" && test -n "$include_expsyms"; then
 	      tmp_export_symbols="$export_symbols"
 	      test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
-	      $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
+	      $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
 	    fi
 
 	    if test -n "$orig_export_symbols"; then
@@ -7434,7 +7766,7 @@ EOF
       if test -n "$convenience"; then
 	if test -n "$whole_archive_flag_spec"; then
 	  eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
-	  reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
+	  reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
 	else
 	  gentop="$output_objdir/${obj}x"
 	  generated="$generated $gentop"
@@ -7445,7 +7777,7 @@ EOF
       fi
 
       # Create the old-style object.
-      reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+      reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
 
       output="$obj"
       func_execute_cmds "$reload_cmds" 'exit $?'
@@ -7505,8 +7837,8 @@ EOF
       case $host in
       *-*-rhapsody* | *-*-darwin1.[012])
 	# On Rhapsody replace the C library is the System framework
-	compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
-	finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+	compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'`
+	finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'`
 	;;
       esac
 
@@ -7523,8 +7855,8 @@ EOF
 	  esac
 	fi
 	# Time to change all our "foo.ltframework" stuff back to "-framework foo"
-	compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
-	finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+	compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+	finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
 	;;
       esac
 
@@ -7661,8 +7993,8 @@ EOF
 
       if test -n "$libobjs" && test "$build_old_libs" = yes; then
 	# Transform all the library objects into standard objects.
-	compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-	finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+	compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
+	finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
       fi
 
       func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
@@ -7674,15 +8006,15 @@ EOF
 
       wrappers_required=yes
       case $host in
+      *cegcc* | *mingw32ce*)
+        # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
+        wrappers_required=no
+        ;;
       *cygwin* | *mingw* )
         if test "$build_libtool_libs" != yes; then
           wrappers_required=no
         fi
         ;;
-      *cegcc)
-        # Disable wrappers for cegcc, we are cross compiling anyway.
-        wrappers_required=no
-        ;;
       *)
         if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
           wrappers_required=no
@@ -7691,7 +8023,7 @@ EOF
       esac
       if test "$wrappers_required" = no; then
 	# Replace the output file specification.
-	compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+	compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
 	link_command="$compile_command$compile_rpath"
 
 	# We have no uninstalled library dependencies, so finalize right now.
@@ -7738,7 +8070,7 @@ EOF
 	# We don't need to create a wrapper script.
 	link_command="$compile_var$compile_command$compile_rpath"
 	# Replace the output file specification.
-	link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+	link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
 	# Delete the old output file.
 	$opt_dry_run || $RM $output
 	# Link the executable and exit
@@ -7757,7 +8089,7 @@ EOF
 	if test "$fast_install" != no; then
 	  link_command="$finalize_var$compile_command$finalize_rpath"
 	  if test "$fast_install" = yes; then
-	    relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
+	    relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
 	  else
 	    # fast_install is set to needless
 	    relink_command=
@@ -7769,7 +8101,7 @@ EOF
       fi
 
       # Replace the output file specification.
-      link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+      link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
 
       # Delete the old output files.
       $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
@@ -7793,18 +8125,7 @@ EOF
 	  fi
 	done
 	relink_command="(cd `pwd`; $relink_command)"
-	relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
-      fi
-
-      # Quote $ECHO for shipping.
-      if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
-	case $progpath in
-	[\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
-	*) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
-	esac
-	qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"`
-      else
-	qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"`
+	relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
       fi
 
       # Only actually do things if not in dry run mode.
@@ -7925,7 +8246,7 @@ EOF
 	    done | sort | sort -uc >/dev/null 2>&1); then
 	  :
 	else
-	  $ECHO "copying selected object files to avoid basename conflicts..."
+	  echo "copying selected object files to avoid basename conflicts..."
 	  gentop="$output_objdir/${outputname}x"
 	  generated="$generated $gentop"
 	  func_mkdir_p "$gentop"
@@ -8036,7 +8357,7 @@ EOF
       done
       # Quote the link command for shipping.
       relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
-      relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+      relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
       if test "$hardcode_automatic" = yes ; then
 	relink_command=
       fi
@@ -8121,9 +8442,27 @@ EOF
 	  fi
 	  $RM $output
 	  # place dlname in correct position for cygwin
+	  # In fact, it would be nice if we could use this code for all target
+	  # systems that can't hard-code library paths into their executables
+	  # and that have no shared library path variable independent of PATH,
+	  # but it turns out we can't easily determine that from inspecting
+	  # libtool variables, so we have to hard-code the OSs to which it
+	  # applies here; at the moment, that means platforms that use the PE
+	  # object format with DLL files.  See the long comment at the top of
+	  # tests/bindir.at for full details.
 	  tdlname=$dlname
 	  case $host,$output,$installed,$module,$dlname in
-	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
+	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
+	      # If a -bindir argument was supplied, place the dll there.
+	      if test "x$bindir" != x ;
+	      then
+		func_relative_path "$install_libdir" "$bindir"
+		tdlname=$func_relative_path_result$dlname
+	      else
+		# Otherwise fall back on heuristic.
+		tdlname=../bin/$dlname
+	      fi
+	      ;;
 	  esac
 	  $ECHO > $output "\
 # $outputname - a libtool library file
diff --git a/Watchdog/m4/Makefile.am b/Watchdog/m4/Makefile.am
index 6d725b4..f4f6b8c 100644
--- a/Watchdog/m4/Makefile.am
+++ b/Watchdog/m4/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Watchdog Library (PWL).
 #
diff --git a/Watchdog/m4/Makefile.in b/Watchdog/m4/Makefile.in
index d34be4d..44870ec 100644
--- a/Watchdog/m4/Makefile.in
+++ b/Watchdog/m4/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Watchdog Library (PWL).
 #
@@ -38,8 +39,9 @@
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -67,6 +69,13 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -74,13 +83,28 @@ am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
     *) f=$$p;; \
   esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
 am__installdirs = "$(DESTDIR)$(m4datadir)"
-m4dataDATA_INSTALL = $(INSTALL_DATA)
 DATA = $(m4data_DATA)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -89,7 +113,6 @@ AWK = @AWK@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
-CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
@@ -134,6 +157,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -182,7 +206,6 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 oldincludedir = @oldincludedir@
@@ -221,14 +244,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  m4/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  m4/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign m4/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign m4/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -246,6 +269,7 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -255,20 +279,23 @@ clean-libtool:
 install-m4dataDATA: $(m4data_DATA)
 	@$(NORMAL_INSTALL)
 	test -z "$(m4datadir)" || $(MKDIR_P) "$(DESTDIR)$(m4datadir)"
-	@list='$(m4data_DATA)'; for p in $$list; do \
+	@list='$(m4data_DATA)'; test -n "$(m4datadir)" || list=; \
+	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  f=$(am__strip_dir) \
-	  echo " $(m4dataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(m4datadir)/$$f'"; \
-	  $(m4dataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(m4datadir)/$$f"; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(m4datadir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(m4datadir)" || exit $$?; \
 	done
 
 uninstall-m4dataDATA:
 	@$(NORMAL_UNINSTALL)
-	@list='$(m4data_DATA)'; for p in $$list; do \
-	  f=$(am__strip_dir) \
-	  echo " rm -f '$(DESTDIR)$(m4datadir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(m4datadir)/$$f"; \
-	done
+	@list='$(m4data_DATA)'; test -n "$(m4datadir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(m4datadir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(m4datadir)" && rm -f $$files
 tags: TAGS
 TAGS:
 
@@ -292,13 +319,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -329,6 +360,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -347,6 +379,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -355,18 +389,28 @@ install-data-am: install-m4dataDATA
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am:
 
 install-html: install-html-am
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-am
 
+install-pdf-am:
+
 install-ps: install-ps-am
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -401,6 +445,7 @@ uninstall-am: uninstall-m4dataDATA
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	uninstall uninstall-am uninstall-m4dataDATA
 
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/Watchdog/m4/lib-link.m4 b/Watchdog/m4/lib-link.m4
index ea0b0c4..2f8b7ff 100644
--- a/Watchdog/m4/lib-link.m4
+++ b/Watchdog/m4/lib-link.m4
@@ -1,58 +1,66 @@
-# lib-link.m4 serial 6 (gettext-0.14.3)
-dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
+# lib-link.m4 serial 20 (gettext-0.18)
+dnl Copyright (C) 2001-2009 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
 dnl From Bruno Haible.
 
-AC_PREREQ(2.50)
+AC_PREREQ([2.54])
 
 dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
 dnl the libraries corresponding to explicit and implicit dependencies.
 dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
 dnl augments the CPPFLAGS variable.
+dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
+dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
 AC_DEFUN([AC_LIB_LINKFLAGS],
 [
   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
   AC_REQUIRE([AC_LIB_RPATH])
-  define([Name],[translit([$1],[./-], [___])])
-  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  pushdef([Name],[translit([$1],[./-], [___])])
+  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
   AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
     AC_LIB_LINKFLAGS_BODY([$1], [$2])
     ac_cv_lib[]Name[]_libs="$LIB[]NAME"
     ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
     ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
+    ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX"
   ])
   LIB[]NAME="$ac_cv_lib[]Name[]_libs"
   LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
   INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
+  LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix"
   AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
   AC_SUBST([LIB]NAME)
   AC_SUBST([LTLIB]NAME)
+  AC_SUBST([LIB]NAME[_PREFIX])
   dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
   dnl results of this search when this library appears as a dependency.
   HAVE_LIB[]NAME=yes
-  undefine([Name])
-  undefine([NAME])
+  popdef([NAME])
+  popdef([Name])
 ])
 
-dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
+dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message])
 dnl searches for libname and the libraries corresponding to explicit and
 dnl implicit dependencies, together with the specified include files and
-dnl the ability to compile and link the specified testcode. If found, it
-dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
-dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
+dnl the ability to compile and link the specified testcode. The missing-message
+dnl defaults to 'no' and may contain additional hints for the user.
+dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME}
+dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and
 dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
 dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
+dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
+dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
 AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
 [
   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
   AC_REQUIRE([AC_LIB_RPATH])
-  define([Name],[translit([$1],[./-], [___])])
-  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  pushdef([Name],[translit([$1],[./-], [___])])
+  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
 
   dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
   dnl accordingly.
@@ -67,12 +75,14 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
   AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
     ac_save_LIBS="$LIBS"
     LIBS="$LIBS $LIB[]NAME"
-    AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
+    AC_TRY_LINK([$3], [$4],
+      [ac_cv_lib[]Name=yes],
+      [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
     LIBS="$ac_save_LIBS"
   ])
   if test "$ac_cv_lib[]Name" = yes; then
     HAVE_LIB[]NAME=yes
-    AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
+    AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.])
     AC_MSG_CHECKING([how to link with lib[]$1])
     AC_MSG_RESULT([$LIB[]NAME])
   else
@@ -82,17 +92,23 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
     CPPFLAGS="$ac_save_CPPFLAGS"
     LIB[]NAME=
     LTLIB[]NAME=
+    LIB[]NAME[]_PREFIX=
   fi
   AC_SUBST([HAVE_LIB]NAME)
   AC_SUBST([LIB]NAME)
   AC_SUBST([LTLIB]NAME)
-  undefine([Name])
-  undefine([NAME])
+  AC_SUBST([LIB]NAME[_PREFIX])
+  popdef([NAME])
+  popdef([Name])
 ])
 
 dnl Determine the platform dependent parameters needed to use rpath:
-dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
-dnl hardcode_direct, hardcode_minus_L.
+dnl   acl_libext,
+dnl   acl_shlibext,
+dnl   acl_hardcode_libdir_flag_spec,
+dnl   acl_hardcode_libdir_separator,
+dnl   acl_hardcode_direct,
+dnl   acl_hardcode_minus_L.
 AC_DEFUN([AC_LIB_RPATH],
 [
   dnl Tell automake >= 1.10 to complain if config.rpath is missing.
@@ -101,7 +117,7 @@ AC_DEFUN([AC_LIB_RPATH],
   AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
   AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
   AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
-  AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
+  AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [
     CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
     ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
     . ./conftest.sh
@@ -109,34 +125,66 @@ AC_DEFUN([AC_LIB_RPATH],
     acl_cv_rpath=done
   ])
   wl="$acl_cv_wl"
-  libext="$acl_cv_libext"
-  shlibext="$acl_cv_shlibext"
-  hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
-  hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
-  hardcode_direct="$acl_cv_hardcode_direct"
-  hardcode_minus_L="$acl_cv_hardcode_minus_L"
+  acl_libext="$acl_cv_libext"
+  acl_shlibext="$acl_cv_shlibext"
+  acl_libname_spec="$acl_cv_libname_spec"
+  acl_library_names_spec="$acl_cv_library_names_spec"
+  acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+  acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+  acl_hardcode_direct="$acl_cv_hardcode_direct"
+  acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
   dnl Determine whether the user wants rpath handling at all.
-  AC_ARG_ENABLE(rpath,
+  AC_ARG_ENABLE([rpath],
     [  --disable-rpath         do not hardcode runtime library paths],
     :, enable_rpath=yes)
 ])
 
+dnl AC_LIB_FROMPACKAGE(name, package)
+dnl declares that libname comes from the given package. The configure file
+dnl will then not have a --with-libname-prefix option but a
+dnl --with-package-prefix option. Several libraries can come from the same
+dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar
+dnl macro call that searches for libname.
+AC_DEFUN([AC_LIB_FROMPACKAGE],
+[
+  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  define([acl_frompackage_]NAME, [$2])
+  popdef([NAME])
+  pushdef([PACK],[$2])
+  pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
+                                  [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  define([acl_libsinpackage_]PACKUP,
+    m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1])
+  popdef([PACKUP])
+  popdef([PACK])
+])
+
 dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
 dnl the libraries corresponding to explicit and implicit dependencies.
 dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
+dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found
+dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
 AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
 [
-  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])
+  pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
+                                  [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])])
+  dnl Autoconf >= 2.61 supports dots in --with options.
+  pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)])
   dnl By default, look in $includedir and $libdir.
   use_additional=yes
   AC_LIB_WITH_FINAL_PREFIX([
     eval additional_includedir=\"$includedir\"
     eval additional_libdir=\"$libdir\"
   ])
-  AC_LIB_ARG_WITH([lib$1-prefix],
-[  --with-lib$1-prefix[=DIR]  search for lib$1 in DIR/include and DIR/lib
-  --without-lib$1-prefix     don't search for lib$1 in includedir and libdir],
+  AC_ARG_WITH(P_A_C_K[-prefix],
+[[  --with-]]P_A_C_K[[-prefix[=DIR]  search for ]PACKLIBS[ in DIR/include and DIR/lib
+  --without-]]P_A_C_K[[-prefix     don't search for ]PACKLIBS[ in includedir and libdir]],
 [
     if test "X$withval" = "Xno"; then
       use_additional=no
@@ -148,7 +196,11 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
         ])
       else
         additional_includedir="$withval/include"
-        additional_libdir="$withval/lib"
+        additional_libdir="$withval/$acl_libdirstem"
+        if test "$acl_libdirstem2" != "$acl_libdirstem" \
+           && ! test -d "$withval/$acl_libdirstem"; then
+          additional_libdir="$withval/$acl_libdirstem2"
+        fi
       fi
     fi
 ])
@@ -157,6 +209,10 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
   LIB[]NAME=
   LTLIB[]NAME=
   INC[]NAME=
+  LIB[]NAME[]_PREFIX=
+  dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been
+  dnl computed. So it has to be reset here.
+  HAVE_LIB[]NAME=
   rpathdirs=
   ltrpathdirs=
   names_already_handled=
@@ -196,22 +252,55 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
           found_la=
           found_so=
           found_a=
+          eval libname=\"$acl_libname_spec\"    # typically: libname=lib$name
+          if test -n "$acl_shlibext"; then
+            shrext=".$acl_shlibext"             # typically: shrext=.so
+          else
+            shrext=
+          fi
           if test $use_additional = yes; then
-            if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
-              found_dir="$additional_libdir"
-              found_so="$additional_libdir/lib$name.$shlibext"
-              if test -f "$additional_libdir/lib$name.la"; then
-                found_la="$additional_libdir/lib$name.la"
-              fi
-            else
-              if test -f "$additional_libdir/lib$name.$libext"; then
-                found_dir="$additional_libdir"
-                found_a="$additional_libdir/lib$name.$libext"
-                if test -f "$additional_libdir/lib$name.la"; then
-                  found_la="$additional_libdir/lib$name.la"
+            dir="$additional_libdir"
+            dnl The same code as in the loop below:
+            dnl First look for a shared library.
+            if test -n "$acl_shlibext"; then
+              if test -f "$dir/$libname$shrext"; then
+                found_dir="$dir"
+                found_so="$dir/$libname$shrext"
+              else
+                if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+                  ver=`(cd "$dir" && \
+                        for f in "$libname$shrext".*; do echo "$f"; done \
+                        | sed -e "s,^$libname$shrext\\\\.,," \
+                        | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+                        | sed 1q ) 2>/dev/null`
+                  if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+                    found_dir="$dir"
+                    found_so="$dir/$libname$shrext.$ver"
+                  fi
+                else
+                  eval library_names=\"$acl_library_names_spec\"
+                  for f in $library_names; do
+                    if test -f "$dir/$f"; then
+                      found_dir="$dir"
+                      found_so="$dir/$f"
+                      break
+                    fi
+                  done
                 fi
               fi
             fi
+            dnl Then look for a static library.
+            if test "X$found_dir" = "X"; then
+              if test -f "$dir/$libname.$acl_libext"; then
+                found_dir="$dir"
+                found_a="$dir/$libname.$acl_libext"
+              fi
+            fi
+            if test "X$found_dir" != "X"; then
+              if test -f "$dir/$libname.la"; then
+                found_la="$dir/$libname.la"
+              fi
+            fi
           fi
           if test "X$found_dir" = "X"; then
             for x in $LDFLAGS $LTLIB[]NAME; do
@@ -219,21 +308,46 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
               case "$x" in
                 -L*)
                   dir=`echo "X$x" | sed -e 's/^X-L//'`
-                  if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
-                    found_dir="$dir"
-                    found_so="$dir/lib$name.$shlibext"
-                    if test -f "$dir/lib$name.la"; then
-                      found_la="$dir/lib$name.la"
-                    fi
-                  else
-                    if test -f "$dir/lib$name.$libext"; then
+                  dnl First look for a shared library.
+                  if test -n "$acl_shlibext"; then
+                    if test -f "$dir/$libname$shrext"; then
                       found_dir="$dir"
-                      found_a="$dir/lib$name.$libext"
-                      if test -f "$dir/lib$name.la"; then
-                        found_la="$dir/lib$name.la"
+                      found_so="$dir/$libname$shrext"
+                    else
+                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+                        ver=`(cd "$dir" && \
+                              for f in "$libname$shrext".*; do echo "$f"; done \
+                              | sed -e "s,^$libname$shrext\\\\.,," \
+                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+                              | sed 1q ) 2>/dev/null`
+                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+                          found_dir="$dir"
+                          found_so="$dir/$libname$shrext.$ver"
+                        fi
+                      else
+                        eval library_names=\"$acl_library_names_spec\"
+                        for f in $library_names; do
+                          if test -f "$dir/$f"; then
+                            found_dir="$dir"
+                            found_so="$dir/$f"
+                            break
+                          fi
+                        done
                       fi
                     fi
                   fi
+                  dnl Then look for a static library.
+                  if test "X$found_dir" = "X"; then
+                    if test -f "$dir/$libname.$acl_libext"; then
+                      found_dir="$dir"
+                      found_a="$dir/$libname.$acl_libext"
+                    fi
+                  fi
+                  if test "X$found_dir" != "X"; then
+                    if test -f "$dir/$libname.la"; then
+                      found_la="$dir/$libname.la"
+                    fi
+                  fi
                   ;;
               esac
               if test "X$found_dir" != "X"; then
@@ -248,7 +362,9 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
               dnl Linking with a shared library. We attempt to hardcode its
               dnl directory into the executable's runpath, unless it's the
               dnl standard /usr/lib.
-              if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
+              if test "$enable_rpath" = no \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
                 dnl No hardcoding is needed.
                 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
               else
@@ -267,12 +383,12 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
                   ltrpathdirs="$ltrpathdirs $found_dir"
                 fi
                 dnl The hardcoding into $LIBNAME is system dependent.
-                if test "$hardcode_direct" = yes; then
+                if test "$acl_hardcode_direct" = yes; then
                   dnl Using DIR/libNAME.so during linking hardcodes DIR into the
                   dnl resulting binary.
                   LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
                 else
-                  if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
+                  if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
                     dnl Use an explicit option to hardcode DIR into the resulting
                     dnl binary.
                     LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
@@ -303,13 +419,13 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
                     if test -z "$haveit"; then
                       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
                     fi
-                    if test "$hardcode_minus_L" != no; then
+                    if test "$acl_hardcode_minus_L" != no; then
                       dnl FIXME: Not sure whether we should use
                       dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
                       dnl here.
                       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
                     else
-                      dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
+                      dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH
                       dnl here, because this doesn't fit in flags passed to the
                       dnl compiler. So give up. No hardcoding. This affects only
                       dnl very old systems.
@@ -334,8 +450,18 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
             dnl Assume the include files are nearby.
             additional_includedir=
             case "$found_dir" in
-              */lib | */lib/)
-                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
+              */$acl_libdirstem | */$acl_libdirstem/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+                if test "$name" = '$1'; then
+                  LIB[]NAME[]_PREFIX="$basedir"
+                fi
+                additional_includedir="$basedir/include"
+                ;;
+              */$acl_libdirstem2 | */$acl_libdirstem2/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+                if test "$name" = '$1'; then
+                  LIB[]NAME[]_PREFIX="$basedir"
+                fi
                 additional_includedir="$basedir/include"
                 ;;
             esac
@@ -396,9 +522,11 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
                     dnl   3. if it's already present in $LDFLAGS or the already
                     dnl      constructed $LIBNAME,
                     dnl   4. if it doesn't exist as a directory.
-                    if test "X$additional_libdir" != "X/usr/lib"; then
+                    if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
                       haveit=
-                      if test "X$additional_libdir" = "X/usr/local/lib"; then
+                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
                         if test -n "$GCC"; then
                           case $host_os in
                             linux* | gnu* | k*bsd*-gnu) haveit=yes;;
@@ -497,18 +625,18 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
     done
   done
   if test "X$rpathdirs" != "X"; then
-    if test -n "$hardcode_libdir_separator"; then
+    if test -n "$acl_hardcode_libdir_separator"; then
       dnl Weird platform: only the last -rpath option counts, the user must
       dnl pass all path elements in one option. We can arrange that for a
       dnl single library, but not when more than one $LIBNAMEs are used.
       alldirs=
       for found_dir in $rpathdirs; do
-        alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
+        alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
       done
-      dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
+      dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl.
       acl_save_libdir="$libdir"
       libdir="$alldirs"
-      eval flag=\"$hardcode_libdir_flag_spec\"
+      eval flag=\"$acl_hardcode_libdir_flag_spec\"
       libdir="$acl_save_libdir"
       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
     else
@@ -516,7 +644,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
       for found_dir in $rpathdirs; do
         acl_save_libdir="$libdir"
         libdir="$found_dir"
-        eval flag=\"$hardcode_libdir_flag_spec\"
+        eval flag=\"$acl_hardcode_libdir_flag_spec\"
         libdir="$acl_save_libdir"
         LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
       done
@@ -529,6 +657,11 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
       LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
     done
   fi
+  popdef([P_A_C_K])
+  popdef([PACKLIBS])
+  popdef([PACKUP])
+  popdef([PACK])
+  popdef([NAME])
 ])
 
 dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
@@ -551,3 +684,81 @@ AC_DEFUN([AC_LIB_APPENDTOVAR],
     fi
   done
 ])
+
+dnl For those cases where a variable contains several -L and -l options
+dnl referring to unknown libraries and directories, this macro determines the
+dnl necessary additional linker options for the runtime path.
+dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
+dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
+dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
+dnl otherwise linking without libtool is assumed.
+AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
+[
+  AC_REQUIRE([AC_LIB_RPATH])
+  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+  $1=
+  if test "$enable_rpath" != no; then
+    if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+      dnl Use an explicit option to hardcode directories into the resulting
+      dnl binary.
+      rpathdirs=
+      next=
+      for opt in $2; do
+        if test -n "$next"; then
+          dir="$next"
+          dnl No need to hardcode the standard /usr/lib.
+          if test "X$dir" != "X/usr/$acl_libdirstem" \
+             && test "X$dir" != "X/usr/$acl_libdirstem2"; then
+            rpathdirs="$rpathdirs $dir"
+          fi
+          next=
+        else
+          case $opt in
+            -L) next=yes ;;
+            -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
+                 dnl No need to hardcode the standard /usr/lib.
+                 if test "X$dir" != "X/usr/$acl_libdirstem" \
+                    && test "X$dir" != "X/usr/$acl_libdirstem2"; then
+                   rpathdirs="$rpathdirs $dir"
+                 fi
+                 next= ;;
+            *) next= ;;
+          esac
+        fi
+      done
+      if test "X$rpathdirs" != "X"; then
+        if test -n ""$3""; then
+          dnl libtool is used for linking. Use -R options.
+          for dir in $rpathdirs; do
+            $1="${$1}${$1:+ }-R$dir"
+          done
+        else
+          dnl The linker is used for linking directly.
+          if test -n "$acl_hardcode_libdir_separator"; then
+            dnl Weird platform: only the last -rpath option counts, the user
+            dnl must pass all path elements in one option.
+            alldirs=
+            for dir in $rpathdirs; do
+              alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir"
+            done
+            acl_save_libdir="$libdir"
+            libdir="$alldirs"
+            eval flag=\"$acl_hardcode_libdir_flag_spec\"
+            libdir="$acl_save_libdir"
+            $1="$flag"
+          else
+            dnl The -rpath options are cumulative.
+            for dir in $rpathdirs; do
+              acl_save_libdir="$libdir"
+              libdir="$dir"
+              eval flag=\"$acl_hardcode_libdir_flag_spec\"
+              libdir="$acl_save_libdir"
+              $1="${$1}${$1:+ }$flag"
+            done
+          fi
+        fi
+      fi
+    fi
+  fi
+  AC_SUBST([$1])
+])
diff --git a/Watchdog/m4/libtool.m4 b/Watchdog/m4/libtool.m4
index 39ba996..22924a8 100644
--- a/Watchdog/m4/libtool.m4
+++ b/Watchdog/m4/libtool.m4
@@ -1,7 +1,8 @@
 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
 #
 #   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008 Free Software Foundation, Inc.
+#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
+#                 Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 # This file is free software; the Free Software Foundation gives
@@ -10,7 +11,8 @@
 
 m4_define([_LT_COPYING], [dnl
 #   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008 Free Software Foundation, Inc.
+#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
+#                 Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 #   This file is part of GNU Libtool.
@@ -37,7 +39,7 @@ m4_define([_LT_COPYING], [dnl
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 ])
 
-# serial 56 LT_INIT
+# serial 57 LT_INIT
 
 
 # LT_PREREQ(VERSION)
@@ -66,6 +68,7 @@ esac
 # ------------------
 AC_DEFUN([LT_INIT],
 [AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
+AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
 AC_BEFORE([$0], [LT_LANG])dnl
 AC_BEFORE([$0], [LT_OUTPUT])dnl
 AC_BEFORE([$0], [LTDL_INIT])dnl
@@ -82,6 +85,8 @@ AC_REQUIRE([LTVERSION_VERSION])dnl
 AC_REQUIRE([LTOBSOLETE_VERSION])dnl
 m4_require([_LT_PROG_LTMAIN])dnl
 
+_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
+
 dnl Parse OPTIONS
 _LT_SET_OPTIONS([$0], [$1])
 
@@ -118,7 +123,7 @@ m4_defun([_LT_CC_BASENAME],
     *) break;;
   esac
 done
-cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
 ])
 
 
@@ -138,6 +143,9 @@ m4_defun([_LT_FILEUTILS_DEFAULTS],
 m4_defun([_LT_SETUP],
 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+
 _LT_DECL([], [host_alias], [0], [The host system])dnl
 _LT_DECL([], [host], [0])dnl
 _LT_DECL([], [host_os], [0])dnl
@@ -179,7 +187,6 @@ fi
 _LT_CHECK_OBJDIR
 
 m4_require([_LT_TAG_COMPILER])dnl
-_LT_PROG_ECHO_BACKSLASH
 
 case $host_os in
 aix3*)
@@ -193,23 +200,6 @@ aix3*)
   ;;
 esac
 
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\([["`\\]]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
 # Global variables:
 ofile=libtool
 can_build_shared=yes
@@ -250,6 +240,28 @@ _LT_CONFIG_COMMANDS
 ])# _LT_SETUP
 
 
+# _LT_PREPARE_SED_QUOTE_VARS
+# --------------------------
+# Define a few sed substitution that help us do robust quoting.
+m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
+[# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([["`\\]]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+])
+
 # _LT_PROG_LTMAIN
 # ---------------
 # Note that this code is called both from `configure', and `config.status'
@@ -408,7 +420,7 @@ m4_define([_lt_decl_all_varnames],
 # declaration there will have the same value as in `configure'.  VARNAME
 # must have a single quote delimited value for this to work.
 m4_define([_LT_CONFIG_STATUS_DECLARE],
-[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
+[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
 
 
 # _LT_CONFIG_STATUS_DECLARATIONS
@@ -418,7 +430,7 @@ m4_define([_LT_CONFIG_STATUS_DECLARE],
 # embedded single quotes properly.  In configure, this macro expands
 # each variable declared with _LT_DECL (and _LT_TAGDECL) into:
 #
-#    <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
+#    <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
 m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
 [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
     [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
@@ -517,12 +529,20 @@ LTCC='$LTCC'
 LTCFLAGS='$LTCFLAGS'
 compiler='$compiler_DEFAULT'
 
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+  eval 'cat <<_LTECHO_EOF
+\$[]1
+_LTECHO_EOF'
+}
+
 # Quote evaled strings.
 for var in lt_decl_all_varnames([[ \
 ]], lt_decl_quote_varnames); do
-    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     *[[\\\\\\\`\\"\\\$]]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
       ;;
     *)
       eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -533,9 +553,9 @@ done
 # Double-quote double-evaled strings.
 for var in lt_decl_all_varnames([[ \
 ]], lt_decl_dquote_varnames); do
-    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     *[[\\\\\\\`\\"\\\$]]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
       ;;
     *)
       eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -543,16 +563,38 @@ for var in lt_decl_all_varnames([[ \
     esac
 done
 
-# Fix-up fallback echo if it was mangled by the above quoting rules.
-case \$lt_ECHO in
-*'\\\[$]0 --fallback-echo"')dnl "
-  lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
-  ;;
-esac
-
 _LT_OUTPUT_LIBTOOL_INIT
 ])
 
+# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
+# ------------------------------------
+# Generate a child script FILE with all initialization necessary to
+# reuse the environment learned by the parent script, and make the
+# file executable.  If COMMENT is supplied, it is inserted after the
+# `#!' sequence but before initialization text begins.  After this
+# macro, additional text can be appended to FILE to form the body of
+# the child script.  The macro ends with non-zero status if the
+# file could not be fully written (such as if the disk is full).
+m4_ifdef([AS_INIT_GENERATED],
+[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
+[m4_defun([_LT_GENERATED_FILE_INIT],
+[m4_require([AS_PREPARE])]dnl
+[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
+[lt_write_fail=0
+cat >$1 <<_ASEOF || lt_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+$2
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$1 <<\_ASEOF || lt_write_fail=1
+AS_SHELL_SANITIZE
+_AS_PREPARE
+exec AS_MESSAGE_FD>&1
+_ASEOF
+test $lt_write_fail = 0 && chmod +x $1[]dnl
+m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
 
 # LT_OUTPUT
 # ---------
@@ -562,20 +604,11 @@ _LT_OUTPUT_LIBTOOL_INIT
 AC_DEFUN([LT_OUTPUT],
 [: ${CONFIG_LT=./config.lt}
 AC_MSG_NOTICE([creating $CONFIG_LT])
-cat >"$CONFIG_LT" <<_LTEOF
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate a libtool stub with the current configuration.
-
-lt_cl_silent=false
-SHELL=\${CONFIG_SHELL-$SHELL}
-_LTEOF
+_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
+[# Run this file to recreate a libtool stub with the current configuration.])
 
 cat >>"$CONFIG_LT" <<\_LTEOF
-AS_SHELL_SANITIZE
-_AS_PREPARE
-
-exec AS_MESSAGE_FD>&1
+lt_cl_silent=false
 exec AS_MESSAGE_LOG_FD>>config.log
 {
   echo
@@ -601,7 +634,7 @@ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
 m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
 configured by $[0], generated by m4_PACKAGE_STRING.
 
-Copyright (C) 2008 Free Software Foundation, Inc.
+Copyright (C) 2010 Free Software Foundation, Inc.
 This config.lt script is free software; the Free Software Foundation
 gives unlimited permision to copy, distribute and modify it."
 
@@ -646,15 +679,13 @@ chmod +x "$CONFIG_LT"
 # appending to config.log, which fails on DOS, as config.log is still kept
 # open by configure.  Here we exec the FD to /dev/null, effectively closing
 # config.log, so it can be properly (re)opened and appended to by config.lt.
-if test "$no_create" != yes; then
-  lt_cl_success=:
-  test "$silent" = yes &&
-    lt_config_lt_args="$lt_config_lt_args --quiet"
-  exec AS_MESSAGE_LOG_FD>/dev/null
-  $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
-  exec AS_MESSAGE_LOG_FD>>config.log
-  $lt_cl_success || AS_EXIT(1)
-fi
+lt_cl_success=:
+test "$silent" = yes &&
+  lt_config_lt_args="$lt_config_lt_args --quiet"
+exec AS_MESSAGE_LOG_FD>/dev/null
+$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
+exec AS_MESSAGE_LOG_FD>>config.log
+$lt_cl_success || AS_EXIT(1)
 ])# LT_OUTPUT
 
 
@@ -831,11 +862,13 @@ AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
 AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
 AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
 AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
+AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
 dnl aclocal-1.4 backwards compatibility:
 dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
 dnl AC_DEFUN([AC_LIBTOOL_F77], [])
 dnl AC_DEFUN([AC_LIBTOOL_FC], [])
 dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
+dnl AC_DEFUN([AC_LIBTOOL_RC], [])
 
 
 # _LT_TAG_COMPILER
@@ -940,6 +973,31 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
 	[lt_cv_ld_exported_symbols_list=no])
 	LDFLAGS="$save_LDFLAGS"
     ])
+    AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
+      [lt_cv_ld_force_load=no
+      cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
+      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
+      echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
+      $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
+      echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
+      $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
+      cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
+      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+      _lt_result=$?
+      if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
+	lt_cv_ld_force_load=yes
+      else
+	cat conftest.err >&AS_MESSAGE_LOG_FD
+      fi
+        rm -f conftest.err libconftest.a conftest conftest.c
+        rm -rf conftest.dSYM
+    ])
     case $host_os in
     rhapsody* | darwin1.[[012]])
       _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
@@ -967,7 +1025,7 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
     else
       _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
     fi
-    if test "$DSYMUTIL" != ":"; then
+    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
       _lt_dsymutil='~$DSYMUTIL $lib || :'
     else
       _lt_dsymutil=
@@ -987,7 +1045,11 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
   _LT_TAGVAR(hardcode_direct, $1)=no
   _LT_TAGVAR(hardcode_automatic, $1)=yes
   _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-  _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+  if test "$lt_cv_ld_force_load" = "yes"; then
+    _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+  else
+    _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+  fi
   _LT_TAGVAR(link_all_deplibs, $1)=yes
   _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
   case $cc_basename in
@@ -995,7 +1057,7 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
      *) _lt_dar_can_shared=$GCC ;;
   esac
   if test "$_lt_dar_can_shared" = "yes"; then
-    output_verbose_link_cmd=echo
+    output_verbose_link_cmd=func_echo_all
     _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
     _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
     _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
@@ -1041,170 +1103,65 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 # _LT_SHELL_INIT(ARG)
 # -------------------
 m4_define([_LT_SHELL_INIT],
-[ifdef([AC_DIVERSION_NOTICE],
-	     [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
-	 [AC_DIVERT_PUSH(NOTICE)])
-$1
-AC_DIVERT_POP
-])# _LT_SHELL_INIT
+[m4_divert_text([M4SH-INIT], [$1
+])])# _LT_SHELL_INIT
+
 
 
 # _LT_PROG_ECHO_BACKSLASH
 # -----------------------
-# Add some code to the start of the generated configure script which
-# will find an echo command which doesn't interpret backslashes.
+# Find how we can fake an echo command that does not interpret backslash.
+# In particular, with Autoconf 2.60 or later we add some code to the start
+# of the generated configure script which will find a shell with a builtin
+# printf (which we can use as an echo command).
 m4_defun([_LT_PROG_ECHO_BACKSLASH],
-[_LT_SHELL_INIT([
-# Check that we are running under the correct shell.
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-case X$lt_ECHO in
-X*--fallback-echo)
-  # Remove one level of quotation (which was required for Make).
-  ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
-  ;;
-esac
-
-ECHO=${lt_ECHO-echo}
-if test "X[$]1" = X--no-reexec; then
-  # Discard the --no-reexec flag, and continue.
-  shift
-elif test "X[$]1" = X--fallback-echo; then
-  # Avoid inline document here, it may be left over
-  :
-elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
-  # Yippee, $ECHO works!
-  :
+[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+AC_MSG_CHECKING([how to print strings])
+# Test print first, because it will be a builtin if present.
+if test "X`print -r -- -n 2>/dev/null`" = X-n && \
+   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='printf %s\n'
 else
-  # Restart under the correct shell.
-  exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
-fi
-
-if test "X[$]1" = X--fallback-echo; then
-  # used as fallback echo
-  shift
-  cat <<_LT_EOF
-[$]*
-_LT_EOF
-  exit 0
+  # Use this function as a fallback that always works.
+  func_fallback_echo ()
+  {
+    eval 'cat <<_LTECHO_EOF
+$[]1
+_LTECHO_EOF'
+  }
+  ECHO='func_fallback_echo'
 fi
 
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test -z "$lt_ECHO"; then
-  if test "X${echo_test_string+set}" != Xset; then
-    # find a string as large as possible, as long as the shell can cope with it
-    for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
-      # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
-      if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
-	 { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
-      then
-        break
-      fi
-    done
-  fi
-
-  if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
-     echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
-     test "X$echo_testing_string" = "X$echo_test_string"; then
-    :
-  else
-    # The Solaris, AIX, and Digital Unix default echo programs unquote
-    # backslashes.  This makes it impossible to quote backslashes using
-    #   echo "$something" | sed 's/\\/\\\\/g'
-    #
-    # So, first we look for a working echo in the user's PATH.
-
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for dir in $PATH /usr/ucb; do
-      IFS="$lt_save_ifs"
-      if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
-         test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
-         echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
-         test "X$echo_testing_string" = "X$echo_test_string"; then
-        ECHO="$dir/echo"
-        break
-      fi
-    done
-    IFS="$lt_save_ifs"
-
-    if test "X$ECHO" = Xecho; then
-      # We didn't find a better echo, so look for alternatives.
-      if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
-         echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
-         test "X$echo_testing_string" = "X$echo_test_string"; then
-        # This shell has a builtin print -r that does the trick.
-        ECHO='print -r'
-      elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
-	   test "X$CONFIG_SHELL" != X/bin/ksh; then
-        # If we have ksh, try running configure again with it.
-        ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-        export ORIGINAL_CONFIG_SHELL
-        CONFIG_SHELL=/bin/ksh
-        export CONFIG_SHELL
-        exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
-      else
-        # Try using printf.
-        ECHO='printf %s\n'
-        if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
-	   echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
-	   test "X$echo_testing_string" = "X$echo_test_string"; then
-	  # Cool, printf works
-	  :
-        elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
-	     test "X$echo_testing_string" = 'X\t' &&
-	     echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-	     test "X$echo_testing_string" = "X$echo_test_string"; then
-	  CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
-	  export CONFIG_SHELL
-	  SHELL="$CONFIG_SHELL"
-	  export SHELL
-	  ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
-        elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
-	     test "X$echo_testing_string" = 'X\t' &&
-	     echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-	     test "X$echo_testing_string" = "X$echo_test_string"; then
-	  ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
-        else
-	  # maybe with a smaller string...
-	  prev=:
-
-	  for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
-	    if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
-	    then
-	      break
-	    fi
-	    prev="$cmd"
-	  done
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+    $ECHO "$*" 
+}
 
-	  if test "$prev" != 'sed 50q "[$]0"'; then
-	    echo_test_string=`eval $prev`
-	    export echo_test_string
-	    exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
-	  else
-	    # Oops.  We lost completely, so just stick with echo.
-	    ECHO=echo
-	  fi
-        fi
-      fi
-    fi
-  fi
-fi
+case "$ECHO" in
+  printf*) AC_MSG_RESULT([printf]) ;;
+  print*) AC_MSG_RESULT([print -r]) ;;
+  *) AC_MSG_RESULT([cat]) ;;
+esac
 
-# Copy echo and quote the copy suitably for passing to libtool from
-# the Makefile, instead of quoting the original, which is used later.
-lt_ECHO=$ECHO
-if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
-   lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
-fi
+m4_ifdef([_AS_DETECT_SUGGESTED],
+[_AS_DETECT_SUGGESTED([
+  test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
+    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+    PATH=/empty FPATH=/empty; export PATH FPATH
+    test "X`printf %s $ECHO`" = "X$ECHO" \
+      || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
 
-AC_SUBST(lt_ECHO)
-])
 _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
-_LT_DECL([], [ECHO], [1],
-    [An echo program that does not interpret backslashes])
+_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
 ])# _LT_PROG_ECHO_BACKSLASH
 
 
@@ -1236,7 +1193,7 @@ ia64-*-hpux*)
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
   if AC_TRY_EVAL(ac_compile); then
     if test "$lt_cv_prog_gnu_ld" = yes; then
       case `/usr/bin/file conftest.$ac_objext` in
@@ -1388,10 +1345,19 @@ if test -n "$RANLIB"; then
   esac
   old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
 fi
+
+case $host_os in
+  darwin*)
+    lock_old_archive_extraction=yes ;;
+  *)
+    lock_old_archive_extraction=no ;;
+esac
 _LT_DECL([], [old_postinstall_cmds], [2])
 _LT_DECL([], [old_postuninstall_cmds], [2])
 _LT_TAGDECL([], [old_archive_cmds], [2],
     [Commands used to build an old-style archive])
+_LT_DECL([], [lock_old_archive_extraction], [0],
+    [Whether to use a lock for old archive extraction])
 ])# _LT_CMD_OLD_ARCHIVE
 
 
@@ -1416,15 +1382,15 @@ AC_CACHE_CHECK([$1], [$2],
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&AS_MESSAGE_LOG_FD
-   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
      $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
      if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
        $2=yes
@@ -1464,7 +1430,7 @@ AC_CACHE_CHECK([$1], [$2],
      if test -s conftest.err; then
        # Append any errors to the config.log.
        cat conftest.err 1>&AS_MESSAGE_LOG_FD
-       $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
        $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
        if diff conftest.exp conftest.er2 >/dev/null; then
          $2=yes
@@ -1527,6 +1493,11 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
     lt_cv_sys_max_cmd_len=8192;
     ;;
 
+  mint*)
+    # On MiNT this can take a long time and run out of memory.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
   amigaos*)
     # On AmigaOS with pdksh, this test takes hours, literally.
     # So we just punt and use a minimum line length of 8192.
@@ -1591,8 +1562,8 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
       # If test is not a shell built-in, we'll probably end up computing a
       # maximum length that is only half of the actual maximum length, but
       # we can't tell.
-      while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
-	         = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
+      while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
+	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
 	      test $i != 17 # 1/2 MB should be enough
       do
         i=`expr $i + 1`
@@ -1643,7 +1614,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-[#line __oline__ "configure"
+[#line $LINENO "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -1684,7 +1655,13 @@ else
 #  endif
 #endif
 
-void fnord() { int i=42;}
+/* When -fvisbility=hidden is used, assume the code has been annotated
+   correspondingly for the symbols needed.  */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+void fnord () __attribute__((visibility("default")));
+#endif
+
+void fnord () { int i=42; }
 int main ()
 {
   void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
@@ -1693,7 +1670,11 @@ int main ()
   if (self)
     {
       if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+      else
+        {
+	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
+          else puts (dlerror ());
+	}
       /* dlclose (self); */
     }
   else
@@ -1869,16 +1850,16 @@ AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&AS_MESSAGE_LOG_FD
-   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
      $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
      if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
        _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
@@ -2037,6 +2018,7 @@ m4_require([_LT_DECL_EGREP])dnl
 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
 m4_require([_LT_DECL_OBJDUMP])dnl
 m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
 AC_MSG_CHECKING([dynamic linker characteristics])
 m4_if([$1],
 	[], [
@@ -2045,16 +2027,23 @@ if test "$GCC" = yes; then
     darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
     *) lt_awk_arg="/^libraries:/" ;;
   esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-  if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
+  case $host_os in
+    mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
+    *) lt_sed_strip_eq="s,=/,/,g" ;;
+  esac
+  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+  case $lt_search_path_spec in
+  *\;*)
     # if the path contains ";" then we assume it to be the separator
     # otherwise default to the standard path separator (i.e. ":") - it is
     # assumed that no part of a normal pathname contains ";" but that should
     # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
-  else
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-  fi
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+    ;;
+  *)
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+    ;;
+  esac
   # Ok, now we have the path, separated by spaces, we can step through it
   # and add multilib dir if necessary.
   lt_tmp_lt_search_path_spec=
@@ -2067,7 +2056,7 @@ if test "$GCC" = yes; then
 	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
     fi
   done
-  lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
+  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
 BEGIN {RS=" "; FS="/|\n";} {
   lt_foo="";
   lt_count=0;
@@ -2087,7 +2076,13 @@ BEGIN {RS=" "; FS="/|\n";} {
   if (lt_foo != "") { lt_freq[[lt_foo]]++; }
   if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
 }'`
-  sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
+  # AWK program above erroneously prepends '/' to C:/dos/paths
+  # for these hosts.
+  case $host_os in
+    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+      $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
+  esac
+  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
 else
   sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
 fi])
@@ -2175,7 +2170,7 @@ amigaos*)
   m68k)
     library_names_spec='$libname.ixlibrary $libname.a'
     # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
     ;;
   esac
   ;;
@@ -2228,23 +2223,12 @@ cygwin* | mingw* | pw32* | cegcc*)
     cygwin*)
       # Cygwin DLLs use 'cyg' prefix rather than 'lib'
       soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+m4_if([$1], [],[
+      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
       ;;
     mingw* | cegcc*)
       # MinGW DLLs use traditional 'lib' prefix
       soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
-        # It is most probably a Windows format PATH printed by
-        # mingw gcc, but we are running on Cygwin. Gcc prints its search
-        # path with ; separators, and with drive letters. We can handle the
-        # drive letters (cygwin fileutils understands them), so leave them,
-        # especially as we might pass files found there to a mingw objdump,
-        # which wouldn't understand a cygwinified path. Ahh.
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-      fi
       ;;
     pw32*)
       # pw32 DLLs use 'pw' prefix rather than 'lib'
@@ -2344,6 +2328,19 @@ gnu*)
   hardcode_into_libs=yes
   ;;
 
+haiku*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  dynamic_linker="$host_os runtime_loader"
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+  hardcode_into_libs=yes
+  ;;
+
 hpux9* | hpux10* | hpux11*)
   # Give a soname corresponding to the major version so that dld.sl refuses to
   # link against other versions.
@@ -2386,8 +2383,10 @@ hpux9* | hpux10* | hpux11*)
     soname_spec='${libname}${release}${shared_ext}$major'
     ;;
   esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
   postinstall_cmds='chmod 555 $lib'
+  # or fails outright, so override atomically:
+  install_override_mode=555
   ;;
 
 interix[[3-9]]*)
@@ -2445,7 +2444,7 @@ linux*oldld* | linux*aout* | linux*coff*)
   ;;
 
 # This must be Linux ELF.
-linux* | k*bsd*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -2454,16 +2453,21 @@ linux* | k*bsd*-gnu)
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=no
+
   # Some binutils ld are patched to set DT_RUNPATH
-  save_LDFLAGS=$LDFLAGS
-  save_libdir=$libdir
-  eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
-       LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
-  AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
-    [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
-       [shlibpath_overrides_runpath=yes])])
-  LDFLAGS=$save_LDFLAGS
-  libdir=$save_libdir
+  AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
+    [lt_cv_shlibpath_overrides_runpath=no
+    save_LDFLAGS=$LDFLAGS
+    save_libdir=$libdir
+    eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
+	 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
+    AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+      [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
+	 [lt_cv_shlibpath_overrides_runpath=yes])])
+    LDFLAGS=$save_LDFLAGS
+    libdir=$save_libdir
+    ])
+  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
 
   # This implies no fast_install, which is unacceptable.
   # Some rework will be needed to allow for fast_install
@@ -2472,7 +2476,7 @@ linux* | k*bsd*-gnu)
 
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
 
@@ -2705,6 +2709,8 @@ _LT_DECL([], [library_names_spec], [1],
     The last name is the one that the linker finds with -lNAME]])
 _LT_DECL([], [soname_spec], [1],
     [[The coded name of the library, if different from the real name]])
+_LT_DECL([], [install_override_mode], [1],
+    [Permission mode override for installation of shared libraries])
 _LT_DECL([], [postinstall_cmds], [2],
     [Command to use after installation of a shared archive])
 _LT_DECL([], [postuninstall_cmds], [2],
@@ -2817,6 +2823,7 @@ AC_REQUIRE([AC_CANONICAL_HOST])dnl
 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
 m4_require([_LT_DECL_SED])dnl
 m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
 
 AC_ARG_WITH([gnu-ld],
     [AS_HELP_STRING([--with-gnu-ld],
@@ -2946,8 +2953,8 @@ case $host_os in
     fi
     ;;
 esac
-_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
-_LT_DECL([], [reload_cmds], [2])dnl
+_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
+_LT_TAGDECL([], [reload_cmds], [2])dnl
 ])# _LT_CMD_RELOAD
 
 
@@ -2999,16 +3006,18 @@ mingw* | pw32*)
   # Base MSYS/MinGW do not provide the 'file' command needed by
   # func_win32_libid shell function, so use a weaker test based on 'objdump',
   # unless we find 'file', for example because we are cross-compiling.
-  if ( file / ) >/dev/null 2>&1; then
+  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
+  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
     lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
     lt_cv_file_magic_cmd='func_win32_libid'
   else
-    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+    # Keep this pattern in sync with the one in func_win32_libid.
+    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
     lt_cv_file_magic_cmd='$OBJDUMP -f'
   fi
   ;;
 
-cegcc)
+cegcc*)
   # use the weaker test based on 'objdump'. See mingw*.
   lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
   lt_cv_file_magic_cmd='$OBJDUMP -f'
@@ -3038,6 +3047,10 @@ gnu*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
+haiku*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
 hpux10.20* | hpux11*)
   lt_cv_file_magic_cmd=/usr/bin/file
   case $host_cpu in
@@ -3046,11 +3059,11 @@ hpux10.20* | hpux11*)
     lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
     ;;
   hppa*64*)
-    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
+    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
     lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
     ;;
   *)
-    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
+    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
     lt_cv_file_magic_test_file=/usr/lib/libc.sl
     ;;
   esac
@@ -3072,7 +3085,7 @@ irix5* | irix6* | nonstopux*)
   ;;
 
 # This must be Linux ELF.
-linux* | k*bsd*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
@@ -3214,7 +3227,19 @@ if test "$lt_cv_path_NM" != "no"; then
   NM="$lt_cv_path_NM"
 else
   # Didn't find any BSD compatible name lister, look for dumpbin.
-  AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
+  if test -n "$DUMPBIN"; then :
+    # Let the user override the test.
+  else
+    AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
+    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+    *COFF*)
+      DUMPBIN="$DUMPBIN -symbols"
+      ;;
+    *)
+      DUMPBIN=:
+      ;;
+    esac
+  fi
   AC_SUBST([DUMPBIN])
   if test "$DUMPBIN" != ":"; then
     NM="$DUMPBIN"
@@ -3227,13 +3252,13 @@ _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
 AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
   [lt_cv_nm_interface="BSD nm"
   echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
+  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
   (eval "$ac_compile" 2>conftest.err)
   cat conftest.err >&AS_MESSAGE_LOG_FD
-  (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
+  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
   (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
   cat conftest.err >&AS_MESSAGE_LOG_FD
-  (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
+  (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
   cat conftest.out >&AS_MESSAGE_LOG_FD
   if $GREP 'External.*some_variable' conftest.out > /dev/null; then
     lt_cv_nm_interface="MS dumpbin"
@@ -3256,7 +3281,7 @@ AC_DEFUN([LT_LIB_M],
 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
 LIBM=
 case $host in
-*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
+*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
   # These system don't have libm, or don't need it
   ;;
 *-ncr-sysv4.3*)
@@ -3284,7 +3309,12 @@ m4_defun([_LT_COMPILER_NO_RTTI],
 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
 
 if test "$GCC" = yes; then
-  _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+  case $cc_basename in
+  nvcc*)
+    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
+  *)
+    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
+  esac
 
   _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
     lt_cv_prog_compiler_rtti_exceptions,
@@ -3301,6 +3331,7 @@ _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
 m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
 AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_AWK])dnl
 AC_REQUIRE([LT_PATH_NM])dnl
 AC_REQUIRE([LT_PATH_LD])dnl
 m4_require([_LT_DECL_SED])dnl
@@ -3426,7 +3457,7 @@ _LT_EOF
   if AC_TRY_EVAL(ac_compile); then
     # Now try to grab the symbols.
     nlist=conftest.nm
-    if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
+    if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
       # Try sorting and uniquifying the output.
       if sort "$nlist" | uniq > "$nlist"T; then
 	mv -f "$nlist"T "$nlist"
@@ -3588,6 +3619,11 @@ m4_if([$1], [CXX], [
       # DJGPP does not support shared libraries at all
       _LT_TAGVAR(lt_prog_compiler_pic, $1)=
       ;;
+    haiku*)
+      # PIC is the default for Haiku.
+      # The "-static" flag exists, but is broken.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)=
+      ;;
     interix[[3-9]]*)
       # Interix 3.x gcc -fpic/-fPIC options generate broken code.
       # Instead, we relocate shared libraries at runtime.
@@ -3693,7 +3729,7 @@ m4_if([$1], [CXX], [
 	    ;;
 	esac
 	;;
-      linux* | k*bsd*-gnu)
+      linux* | k*bsd*-gnu | kopensolaris*-gnu)
 	case $cc_basename in
 	  KCC*)
 	    # KAI C++ Compiler
@@ -3726,8 +3762,8 @@ m4_if([$1], [CXX], [
 	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
 	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
 	    ;;
-	  xlc* | xlC*)
-	    # IBM XL 8.0 on PPC
+	  xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
+	    # IBM XL 8.0, 9.0 on PPC and BlueGene
 	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
 	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
 	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
@@ -3789,7 +3825,7 @@ m4_if([$1], [CXX], [
 	;;
       solaris*)
 	case $cc_basename in
-	  CC*)
+	  CC* | sunCC*)
 	    # Sun C++ 4.2, 5.x and Centerline C++
 	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
 	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
@@ -3893,6 +3929,12 @@ m4_if([$1], [CXX], [
       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
       ;;
 
+    haiku*)
+      # PIC is the default for Haiku.
+      # The "-static" flag exists, but is broken.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)=
+      ;;
+
     hpux*)
       # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
       # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
@@ -3935,6 +3977,13 @@ m4_if([$1], [CXX], [
       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
       ;;
     esac
+
+    case $cc_basename in
+    nvcc*) # Cuda Compiler Driver 2.2
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Xcompiler -fPIC'
+      ;;
+    esac
   else
     # PORTME Check for flag to pass linker flags through the system compiler.
     case $host_os in
@@ -3977,7 +4026,7 @@ m4_if([$1], [CXX], [
       _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
       ;;
 
-    linux* | k*bsd*-gnu)
+    linux* | k*bsd*-gnu | kopensolaris*-gnu)
       case $cc_basename in
       # old Intel for x86_64 which still supported -KPIC.
       ecc*)
@@ -3998,7 +4047,7 @@ m4_if([$1], [CXX], [
 	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
 	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
 	;;
-      pgcc* | pgf77* | pgf90* | pgf95*)
+      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
         # Portland Group compilers (*not* the Pentium gcc compiler,
 	# which looks to be a dead project)
 	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
@@ -4010,25 +4059,25 @@ m4_if([$1], [CXX], [
         # All Alpha code is PIC.
         _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
         ;;
-      xl*)
-	# IBM XL C 8.0/Fortran 10.1 on PPC
+      xl* | bgxl* | bgf* | mpixl*)
+	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
 	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
 	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
 	_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
 	;;
       *)
 	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ C*)
-	  # Sun C 5.9
+	*Sun\ F* | *Sun*Fortran*)
+	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
 	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
 	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
 	  ;;
-	*Sun\ F*)
-	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
+	*Sun\ C*)
+	  # Sun C 5.9
 	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
 	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
 	  ;;
 	esac
 	;;
@@ -4060,7 +4109,7 @@ m4_if([$1], [CXX], [
       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
       _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
       case $cc_basename in
-      f77* | f90* | f95*)
+      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
 	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
       *)
 	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
@@ -4170,8 +4219,10 @@ m4_if([$1], [CXX], [
   aix[[4-9]]*)
     # If we're using GNU nm, then we don't want the "-C" option.
     # -C means demangle to AIX nm, but means don't demangle with GNU nm
+    # Also, AIX nm treats weak defined symbols like other global defined
+    # symbols, whereas GNU nm marks them as "W".
     if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
     else
       _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
     fi
@@ -4249,7 +4300,33 @@ dnl Note also adjust exclude_expsyms for C++ above.
   esac
 
   _LT_TAGVAR(ld_shlibs, $1)=yes
+
+  # On some targets, GNU ld is compatible enough with the native linker
+  # that we're better off using the native interface for both.
+  lt_use_gnu_ld_interface=no
   if test "$with_gnu_ld" = yes; then
+    case $host_os in
+      aix*)
+	# The AIX port of GNU ld has always aspired to compatibility
+	# with the native linker.  However, as the warning in the GNU ld
+	# block says, versions before 2.19.5* couldn't really create working
+	# shared libraries, regardless of the interface used.
+	case `$LD -v 2>&1` in
+	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+	  *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
+	  *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
+	  *)
+	    lt_use_gnu_ld_interface=yes
+	    ;;
+	esac
+	;;
+      *)
+	lt_use_gnu_ld_interface=yes
+	;;
+    esac
+  fi
+
+  if test "$lt_use_gnu_ld_interface" = yes; then
     # If archive_cmds runs LD, not CC, wlarc should be empty
     wlarc='${wl}'
 
@@ -4267,6 +4344,7 @@ dnl Note also adjust exclude_expsyms for C++ above.
     fi
     supports_anon_versioning=no
     case `$LD -v 2>&1` in
+      *GNU\ gold*) supports_anon_versioning=yes ;;
       *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
       *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
       *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
@@ -4282,11 +4360,12 @@ dnl Note also adjust exclude_expsyms for C++ above.
 	_LT_TAGVAR(ld_shlibs, $1)=no
 	cat <<_LT_EOF 1>&2
 
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** Warning: the GNU linker, at least up to release 2.19, is reported
 *** to be unable to reliably create shared libraries on AIX.
 *** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
 
 _LT_EOF
       fi
@@ -4322,6 +4401,7 @@ _LT_EOF
       # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
       # as there is no search path for DLLs.
       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
       _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
       _LT_TAGVAR(always_export_symbols, $1)=no
       _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
@@ -4343,6 +4423,11 @@ _LT_EOF
       fi
       ;;
 
+    haiku*)
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
     interix[[3-9]]*)
       _LT_TAGVAR(hardcode_direct, $1)=no
       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -4358,7 +4443,7 @@ _LT_EOF
       _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
       ;;
 
-    gnu* | linux* | tpf* | k*bsd*-gnu)
+    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
       tmp_diet=no
       if test "$host_os" = linux-dietlibc; then
 	case $cc_basename in
@@ -4372,11 +4457,12 @@ _LT_EOF
 	tmp_sharedflag='-shared'
 	case $cc_basename,$host_cpu in
         pgcc*)				# Portland Group C compiler
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
 	  tmp_addflag=' $pic_flag'
 	  ;;
-	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	pgf77* | pgf90* | pgf95* | pgfortran*)
+					# Portland Group f77 and f90 compilers
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
 	  tmp_addflag=' $pic_flag -Mnomain' ;;
 	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
 	  tmp_addflag=' -i_dynamic' ;;
@@ -4387,13 +4473,17 @@ _LT_EOF
 	lf95*)				# Lahey Fortran 8.1
 	  _LT_TAGVAR(whole_archive_flag_spec, $1)=
 	  tmp_sharedflag='--shared' ;;
-	xl[[cC]]*)			# IBM XL C 8.0 on PPC (deal with xlf below)
+	xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
 	  tmp_sharedflag='-qmkshrobj'
 	  tmp_addflag= ;;
+	nvcc*)	# Cuda Compiler Driver 2.2
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+	  _LT_TAGVAR(compiler_needs_object, $1)=yes
+	  ;;
 	esac
 	case `$CC -V 2>&1 | sed 5q` in
 	*Sun\ C*)			# Sun C 5.9
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
 	  _LT_TAGVAR(compiler_needs_object, $1)=yes
 	  tmp_sharedflag='-G' ;;
 	*Sun\ F*)			# Sun Fortran 8.3
@@ -4409,17 +4499,17 @@ _LT_EOF
         fi
 
 	case $cc_basename in
-	xlf*)
+	xlf* | bgf* | bgxlf* | mpixlf*)
 	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
 	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
 	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
 	  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
-	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
 	  if test "x$supports_anon_versioning" = xyes; then
 	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
 	      cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
 	      echo "local: *; };" >> $output_objdir/$libname.ver~
-	      $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+	      $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
 	  fi
 	  ;;
 	esac
@@ -4540,8 +4630,10 @@ _LT_EOF
       else
 	# If we're using GNU nm, then we don't want the "-C" option.
 	# -C means demangle to AIX nm, but means don't demangle with GNU nm
+	# Also, AIX nm treats weak defined symbols like other global
+	# defined symbols, whereas GNU nm marks them as "W".
 	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
 	else
 	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
 	fi
@@ -4630,7 +4722,7 @@ _LT_EOF
         # empty executable.
         _LT_SYS_MODULE_PATH_AIX
         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
       else
 	if test "$host_cpu" = ia64; then
 	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
@@ -4645,8 +4737,13 @@ _LT_EOF
 	  # -berok will link without error, but may produce a broken library.
 	  _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
 	  _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-	  # Exported symbols can be pulled into shared objects from archives
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	  if test "$with_gnu_ld" = yes; then
+	    # We only use this code for GNU lds that support --whole-archive.
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	  else
+	    # Exported symbols can be pulled into shared objects from archives
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	  fi
 	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
 	  # This is similar to how AIX traditionally builds its shared libraries.
 	  _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
@@ -4685,7 +4782,7 @@ _LT_EOF
       # Tell ltmain to make .dll files, not .so files.
       shrext_cmds=".dll"
       # FIXME: Setting linknames here is a bad hack.
-      _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
+      _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
       # The linker will automatically build a .lib file if we build a DLL.
       _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
       # FIXME: Should let the user specify the lib program.
@@ -4752,7 +4849,7 @@ _LT_EOF
       ;;
 
     hpux10*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
 	_LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
       else
 	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
@@ -4771,7 +4868,7 @@ _LT_EOF
       ;;
 
     hpux11*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
 	case $host_cpu in
 	hppa*64*)
 	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
@@ -4792,7 +4889,14 @@ _LT_EOF
 	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
 	  ;;
 	*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	m4_if($1, [], [
+	  # Older versions of the 11.00 compiler do not understand -b yet
+	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+	  _LT_LINKER_OPTION([if $CC understands -b],
+	    _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
+	    [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
+	    [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
+	  [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
 	  ;;
 	esac
       fi
@@ -4820,19 +4924,19 @@ _LT_EOF
 
     irix5* | irix6* | nonstopux*)
       if test "$GCC" = yes; then
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 	# Try to use the -exported_symbol ld option, if it does not
 	# work, assume that -exports_file does not work either and
 	# implicitly export all symbols.
         save_LDFLAGS="$LDFLAGS"
         LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
         AC_LINK_IFELSE(int foo(void) {},
-          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
         )
         LDFLAGS="$save_LDFLAGS"
       else
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
       fi
       _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
@@ -4894,17 +4998,17 @@ _LT_EOF
       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
       _LT_TAGVAR(hardcode_minus_L, $1)=yes
       _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
       _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
       ;;
 
     osf3*)
       if test "$GCC" = yes; then
 	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
       else
 	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
       fi
       _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
@@ -4914,13 +5018,13 @@ _LT_EOF
     osf4* | osf5*)	# as osf3* with the addition of -msym flag
       if test "$GCC" = yes; then
 	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
       else
 	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
 	_LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-	$CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+	$CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
 
 	# Both c and cxx compiler support -rpath directly
 	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
@@ -5111,36 +5215,38 @@ x|xyes)
       # Test whether the compiler implicitly links with -lc since on some
       # systems, -lgcc has to come before -lc. If gcc already passes -lc
       # to ld, don't add -lc before -lgcc.
-      AC_MSG_CHECKING([whether -lc should be explicitly linked in])
-      $RM conftest*
-      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-      if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
-        soname=conftest
-        lib=conftest
-        libobjs=conftest.$ac_objext
-        deplibs=
-        wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
-	pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
-        compiler_flags=-v
-        linker_flags=-v
-        verstring=
-        output_objdir=.
-        libname=conftest
-        lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
-        _LT_TAGVAR(allow_undefined_flag, $1)=
-        if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
-        then
-	  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-        else
-	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-        fi
-        _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
-      else
-        cat conftest.err 1>&5
-      fi
-      $RM conftest*
-      AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
+      AC_CACHE_CHECK([whether -lc should be explicitly linked in],
+	[lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
+	[$RM conftest*
+	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+	if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+	  soname=conftest
+	  lib=conftest
+	  libobjs=conftest.$ac_objext
+	  deplibs=
+	  wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
+	  pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
+	  compiler_flags=-v
+	  linker_flags=-v
+	  verstring=
+	  output_objdir=.
+	  libname=conftest
+	  lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
+	  _LT_TAGVAR(allow_undefined_flag, $1)=
+	  if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
+	  then
+	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+	  else
+	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+	  fi
+	  _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+	else
+	  cat conftest.err 1>&5
+	fi
+	$RM conftest*
+	])
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
       ;;
     esac
   fi
@@ -5310,37 +5416,21 @@ CC="$lt_save_CC"
 ])# _LT_LANG_C_CONFIG
 
 
-# _LT_PROG_CXX
-# ------------
-# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
-# compiler, we have our own version here.
-m4_defun([_LT_PROG_CXX],
-[
-pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
-AC_PROG_CXX
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-    (test "X$CXX" != "Xg++"))) ; then
-  AC_PROG_CXXCPP
-else
-  _lt_caught_CXX_error=yes
-fi
-popdef([AC_MSG_ERROR])
-])# _LT_PROG_CXX
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([_LT_PROG_CXX], [])
-
-
 # _LT_LANG_CXX_CONFIG([TAG])
 # --------------------------
 # Ensure that the configuration variables for a C++ compiler are suitably
 # defined.  These variables are subsequently used by _LT_CONFIG to write
 # the compiler configuration to `libtool'.
 m4_defun([_LT_LANG_CXX_CONFIG],
-[AC_REQUIRE([_LT_PROG_CXX])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
 m4_require([_LT_DECL_EGREP])dnl
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+    (test "X$CXX" != "Xg++"))) ; then
+  AC_PROG_CXXCPP
+else
+  _lt_caught_CXX_error=yes
+fi
 
 AC_LANG_PUSH(C++)
 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
@@ -5362,6 +5452,8 @@ _LT_TAGVAR(module_cmds, $1)=
 _LT_TAGVAR(module_expsym_cmds, $1)=
 _LT_TAGVAR(link_all_deplibs, $1)=unknown
 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
 _LT_TAGVAR(no_undefined_flag, $1)=
 _LT_TAGVAR(whole_archive_flag_spec, $1)=
 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
@@ -5464,7 +5556,7 @@ if test "$_lt_caught_CXX_error" != yes; then
       # Commands to make compiler produce verbose output that lists
       # what "hidden" libraries, object files and flags are used when
       # linking a shared library.
-      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
 
     else
       GXX=no
@@ -5576,7 +5668,7 @@ if test "$_lt_caught_CXX_error" != yes; then
           _LT_SYS_MODULE_PATH_AIX
           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
 
-          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
         else
           if test "$host_cpu" = ia64; then
 	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
@@ -5591,8 +5683,13 @@ if test "$_lt_caught_CXX_error" != yes; then
 	    # -berok will link without error, but may produce a broken library.
 	    _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
 	    _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-	    # Exported symbols can be pulled into shared objects from archives
-	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	    if test "$with_gnu_ld" = yes; then
+	      # We only use this code for GNU lds that support --whole-archive.
+	      _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	    else
+	      # Exported symbols can be pulled into shared objects from archives
+	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	    fi
 	    _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
 	    # This is similar to how AIX traditionally builds its shared
 	    # libraries.
@@ -5625,6 +5722,7 @@ if test "$_lt_caught_CXX_error" != yes; then
         # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
         # as there is no search path for DLLs.
         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
         _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
         _LT_TAGVAR(always_export_symbols, $1)=no
         _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
@@ -5685,6 +5783,11 @@ if test "$_lt_caught_CXX_error" != yes; then
       gnu*)
         ;;
 
+      haiku*)
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+        _LT_TAGVAR(link_all_deplibs, $1)=yes
+        ;;
+
       hpux9*)
         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
         _LT_TAGVAR(hardcode_libdir_separator, $1)=:
@@ -5709,7 +5812,7 @@ if test "$_lt_caught_CXX_error" != yes; then
             # explicitly linking system object files so we need to strip them
             # from the output so that they don't get included in the library
             # dependencies.
-            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
             ;;
           *)
             if test "$GXX" = yes; then
@@ -5774,7 +5877,7 @@ if test "$_lt_caught_CXX_error" != yes; then
 	    # explicitly linking system object files so we need to strip them
 	    # from the output so that they don't get included in the library
 	    # dependencies.
-	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
 	    ;;
           *)
 	    if test "$GXX" = yes; then
@@ -5817,7 +5920,7 @@ if test "$_lt_caught_CXX_error" != yes; then
         case $cc_basename in
           CC*)
 	    # SGI C++
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
 
 	    # Archives containing C++ object files must be created using
 	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
@@ -5828,9 +5931,9 @@ if test "$_lt_caught_CXX_error" != yes; then
           *)
 	    if test "$GXX" = yes; then
 	      if test "$with_gnu_ld" = no; then
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 	      else
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
 	      fi
 	    fi
 	    _LT_TAGVAR(link_all_deplibs, $1)=yes
@@ -5841,7 +5944,7 @@ if test "$_lt_caught_CXX_error" != yes; then
         _LT_TAGVAR(inherit_rpath, $1)=yes
         ;;
 
-      linux* | k*bsd*-gnu)
+      linux* | k*bsd*-gnu | kopensolaris*-gnu)
         case $cc_basename in
           KCC*)
 	    # Kuck and Associates, Inc. (KAI) C++ Compiler
@@ -5859,7 +5962,7 @@ if test "$_lt_caught_CXX_error" != yes; then
 	    # explicitly linking system object files so we need to strip them
 	    # from the output so that they don't get included in the library
 	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
 
 	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
 	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
@@ -5896,26 +5999,26 @@ if test "$_lt_caught_CXX_error" != yes; then
           pgCC* | pgcpp*)
             # Portland Group C++ compiler
 	    case `$CC -V` in
-	    *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
+	    *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
 	      _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
 		rm -rf $tpldir~
 		$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
-		compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
+		compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
 	      _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
 		rm -rf $tpldir~
 		$CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
-		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
+		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
 		$RANLIB $oldlib'
 	      _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
 		rm -rf $tpldir~
 		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
 	      _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
 		rm -rf $tpldir~
 		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
 	      ;;
-	    *) # Version 6 will use weak symbols
+	    *) # Version 6 and above use weak symbols
 	      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
 	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
 	      ;;
@@ -5923,7 +6026,7 @@ if test "$_lt_caught_CXX_error" != yes; then
 
 	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
 	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
             ;;
 	  cxx*)
 	    # Compaq C++
@@ -5942,9 +6045,9 @@ if test "$_lt_caught_CXX_error" != yes; then
 	    # explicitly linking system object files so we need to strip them
 	    # from the output so that they don't get included in the library
 	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
 	    ;;
-	  xl*)
+	  xl* | mpixl* | bgxl*)
 	    # IBM XL 8.0 on PPC, with GNU ld
 	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
 	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
@@ -5964,13 +6067,13 @@ if test "$_lt_caught_CXX_error" != yes; then
 	      _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
 	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
 	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	      _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	      _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
 	      _LT_TAGVAR(compiler_needs_object, $1)=yes
 
 	      # Not sure whether something based on
 	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
 	      # would be better.
-	      output_verbose_link_cmd='echo'
+	      output_verbose_link_cmd='func_echo_all'
 
 	      # Archives containing C++ object files must be created using
 	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
@@ -6039,7 +6142,7 @@ if test "$_lt_caught_CXX_error" != yes; then
 	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
 	    _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
 	  fi
-	  output_verbose_link_cmd=echo
+	  output_verbose_link_cmd=func_echo_all
 	else
 	  _LT_TAGVAR(ld_shlibs, $1)=no
 	fi
@@ -6074,15 +6177,15 @@ if test "$_lt_caught_CXX_error" != yes; then
 	    case $host in
 	      osf3*)
 	        _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
 	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
 		;;
 	      *)
 	        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
 	        _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
 	          echo "-hidden">> $lib.exp~
-	          $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp  `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
+	          $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp  `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
 	          $RM $lib.exp'
 	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
 		;;
@@ -6098,17 +6201,17 @@ if test "$_lt_caught_CXX_error" != yes; then
 	    # explicitly linking system object files so we need to strip them
 	    # from the output so that they don't get included in the library
 	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
 	    ;;
 	  *)
 	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
 	      _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
 	      case $host in
 	        osf3*)
-	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 		  ;;
 	        *)
-	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 		  ;;
 	      esac
 
@@ -6118,7 +6221,7 @@ if test "$_lt_caught_CXX_error" != yes; then
 	      # Commands to make compiler produce verbose output that lists
 	      # what "hidden" libraries, object files and flags are used when
 	      # linking a shared library.
-	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
 
 	    else
 	      # FIXME: insert proper C++ library support
@@ -6154,7 +6257,7 @@ if test "$_lt_caught_CXX_error" != yes; then
 
       solaris*)
         case $cc_basename in
-          CC*)
+          CC* | sunCC*)
 	    # Sun C++ 4.2, 5.x and Centerline C++
             _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
 	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
@@ -6175,7 +6278,7 @@ if test "$_lt_caught_CXX_error" != yes; then
 	    esac
 	    _LT_TAGVAR(link_all_deplibs, $1)=yes
 
-	    output_verbose_link_cmd='echo'
+	    output_verbose_link_cmd='func_echo_all'
 
 	    # Archives containing C++ object files must be created using
 	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
@@ -6202,7 +6305,7 @@ if test "$_lt_caught_CXX_error" != yes; then
 	        # Commands to make compiler produce verbose output that lists
 	        # what "hidden" libraries, object files and flags are used when
 	        # linking a shared library.
-	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
 	      else
 	        # g++ 2.7 appears to require `-G' NOT `-shared' on this
 	        # platform.
@@ -6213,7 +6316,7 @@ if test "$_lt_caught_CXX_error" != yes; then
 	        # Commands to make compiler produce verbose output that lists
 	        # what "hidden" libraries, object files and flags are used when
 	        # linking a shared library.
-	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
 	      fi
 
 	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
@@ -6267,6 +6370,10 @@ if test "$_lt_caught_CXX_error" != yes; then
           CC*)
 	    _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
 	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
+	      '"$_LT_TAGVAR(old_archive_cmds, $1)"
+	    _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
+	      '"$_LT_TAGVAR(reload_cmds, $1)"
 	    ;;
 	  *)
 	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
@@ -6513,7 +6620,7 @@ linux*)
 
 solaris*)
   case $cc_basename in
-  CC*)
+  CC* | sunCC*)
     # The more standards-conforming stlport4 library is
     # incompatible with the Cstd library. Avoid specifying
     # it if it's in CXXFLAGS. Ignore libCrun as
@@ -6557,32 +6664,16 @@ _LT_TAGDECL([], [compiler_lib_search_path], [1],
 ])# _LT_SYS_HIDDEN_LIBDEPS
 
 
-# _LT_PROG_F77
-# ------------
-# Since AC_PROG_F77 is broken, in that it returns the empty string
-# if there is no fortran compiler, we have our own version here.
-m4_defun([_LT_PROG_F77],
-[
-pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
-AC_PROG_F77
-if test -z "$F77" || test "X$F77" = "Xno"; then
-  _lt_disable_F77=yes
-fi
-popdef([AC_MSG_ERROR])
-])# _LT_PROG_F77
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([_LT_PROG_F77], [])
-
-
 # _LT_LANG_F77_CONFIG([TAG])
 # --------------------------
 # Ensure that the configuration variables for a Fortran 77 compiler are
 # suitably defined.  These variables are subsequently used by _LT_CONFIG
 # to write the compiler configuration to `libtool'.
 m4_defun([_LT_LANG_F77_CONFIG],
-[AC_REQUIRE([_LT_PROG_F77])dnl
-AC_LANG_PUSH(Fortran 77)
+[AC_LANG_PUSH(Fortran 77)
+if test -z "$F77" || test "X$F77" = "Xno"; then
+  _lt_disable_F77=yes
+fi
 
 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
 _LT_TAGVAR(allow_undefined_flag, $1)=
@@ -6601,6 +6692,8 @@ _LT_TAGVAR(module_cmds, $1)=
 _LT_TAGVAR(module_expsym_cmds, $1)=
 _LT_TAGVAR(link_all_deplibs, $1)=unknown
 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
 _LT_TAGVAR(no_undefined_flag, $1)=
 _LT_TAGVAR(whole_archive_flag_spec, $1)=
 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
@@ -6700,32 +6793,17 @@ AC_LANG_POP
 ])# _LT_LANG_F77_CONFIG
 
 
-# _LT_PROG_FC
-# -----------
-# Since AC_PROG_FC is broken, in that it returns the empty string
-# if there is no fortran compiler, we have our own version here.
-m4_defun([_LT_PROG_FC],
-[
-pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
-AC_PROG_FC
-if test -z "$FC" || test "X$FC" = "Xno"; then
-  _lt_disable_FC=yes
-fi
-popdef([AC_MSG_ERROR])
-])# _LT_PROG_FC
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([_LT_PROG_FC], [])
-
-
 # _LT_LANG_FC_CONFIG([TAG])
 # -------------------------
 # Ensure that the configuration variables for a Fortran compiler are
 # suitably defined.  These variables are subsequently used by _LT_CONFIG
 # to write the compiler configuration to `libtool'.
 m4_defun([_LT_LANG_FC_CONFIG],
-[AC_REQUIRE([_LT_PROG_FC])dnl
-AC_LANG_PUSH(Fortran)
+[AC_LANG_PUSH(Fortran)
+
+if test -z "$FC" || test "X$FC" = "Xno"; then
+  _lt_disable_FC=yes
+fi
 
 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
 _LT_TAGVAR(allow_undefined_flag, $1)=
@@ -6744,6 +6822,8 @@ _LT_TAGVAR(module_cmds, $1)=
 _LT_TAGVAR(module_expsym_cmds, $1)=
 _LT_TAGVAR(link_all_deplibs, $1)=unknown
 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
 _LT_TAGVAR(no_undefined_flag, $1)=
 _LT_TAGVAR(whole_archive_flag_spec, $1)=
 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
@@ -6889,6 +6969,8 @@ _LT_CC_BASENAME([$compiler])
 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
 
 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
 
 ## CAVEAT EMPTOR:
 ## There is no encapsulation within the following macros, do not change
@@ -7256,7 +7338,7 @@ _LT_EOF
 func_dirname ()
 {
   # Extract subdirectory from the argument.
-  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+  func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
   if test "X$func_dirname_result" = "X${1}"; then
     func_dirname_result="${3}"
   else
@@ -7267,7 +7349,7 @@ func_dirname ()
 # func_basename file
 func_basename ()
 {
-  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+  func_basename_result=`$ECHO "${1}" | $SED "$basename"`
 }
 
 dnl func_dirname_and_basename
@@ -7283,10 +7365,8 @@ dnl so there is no need for it here.
 func_stripname ()
 {
   case ${2} in
-    .*) func_stripname_result=`$ECHO "X${3}" \
-           | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
-    *)  func_stripname_result=`$ECHO "X${3}" \
-           | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
+    .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+    *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
   esac
 }
 
@@ -7297,20 +7377,20 @@ my_sed_long_arg='1s/^-[[^=]]*=//'
 # func_opt_split
 func_opt_split ()
 {
-  func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
-  func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
+  func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
+  func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
 }
 
 # func_lo2o object
 func_lo2o ()
 {
-  func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
+  func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
 }
 
 # func_xform libobj-or-source
 func_xform ()
 {
-  func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
+  func_xform_result=`$ECHO "${1}" | $SED 's/\.[[^.]]*$/.lo/'`
 }
 
 # func_arith arithmetic-term...
diff --git a/Watchdog/m4/ltoptions.m4 b/Watchdog/m4/ltoptions.m4
index 34151a3..17cfd51 100644
--- a/Watchdog/m4/ltoptions.m4
+++ b/Watchdog/m4/ltoptions.m4
@@ -1,13 +1,14 @@
 # Helper functions for option handling.                    -*- Autoconf -*-
 #
-#   Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+#   Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
+#   Inc.
 #   Written by Gary V. Vaughan, 2004
 #
 # This file is free software; the Free Software Foundation gives
 # unlimited permission to copy and/or distribute it, with or without
 # modifications, as long as this notice is preserved.
 
-# serial 6 ltoptions.m4
+# serial 7 ltoptions.m4
 
 # This is to help aclocal find these macros, as it can't see m4_define.
 AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
@@ -125,7 +126,7 @@ LT_OPTION_DEFINE([LT_INIT], [win32-dll],
 [enable_win32_dll=yes
 
 case $host in
-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
   AC_CHECK_TOOL(AS, as, false)
   AC_CHECK_TOOL(DLLTOOL, dlltool, false)
   AC_CHECK_TOOL(OBJDUMP, objdump, false)
@@ -133,13 +134,13 @@ case $host in
 esac
 
 test -z "$AS" && AS=as
-_LT_DECL([], [AS],      [0], [Assembler program])dnl
+_LT_DECL([], [AS],      [1], [Assembler program])dnl
 
 test -z "$DLLTOOL" && DLLTOOL=dlltool
-_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
 
 test -z "$OBJDUMP" && OBJDUMP=objdump
-_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
+_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
 ])# win32-dll
 
 AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
diff --git a/Watchdog/m4/ltversion.m4 b/Watchdog/m4/ltversion.m4
index b8e154f..93fc771 100644
--- a/Watchdog/m4/ltversion.m4
+++ b/Watchdog/m4/ltversion.m4
@@ -9,15 +9,15 @@
 
 # Generated from ltversion.in.
 
-# serial 3012 ltversion.m4
+# serial 3175 ltversion.m4
 # This file is part of GNU Libtool
 
-m4_define([LT_PACKAGE_VERSION], [2.2.6])
-m4_define([LT_PACKAGE_REVISION], [1.3012])
+m4_define([LT_PACKAGE_VERSION], [2.2.10])
+m4_define([LT_PACKAGE_REVISION], [1.3175])
 
 AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.2.6'
-macro_revision='1.3012'
+[macro_version='2.2.10'
+macro_revision='1.3175'
 _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
 _LT_DECL(, macro_revision, 0)
 ])
diff --git a/Watchdog/m4/lt~obsolete.m4 b/Watchdog/m4/lt~obsolete.m4
index 637bb20..c573da9 100644
--- a/Watchdog/m4/lt~obsolete.m4
+++ b/Watchdog/m4/lt~obsolete.m4
@@ -1,13 +1,13 @@
 # lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
 #
-#   Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
+#   Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
 #   Written by Scott James Remnant, 2004.
 #
 # This file is free software; the Free Software Foundation gives
 # unlimited permission to copy and/or distribute it, with or without
 # modifications, as long as this notice is preserved.
 
-# serial 4 lt~obsolete.m4
+# serial 5 lt~obsolete.m4
 
 # These exist entirely to fool aclocal when bootstrapping libtool.
 #
@@ -77,7 +77,6 @@ m4_ifndef([AC_DISABLE_FAST_INSTALL],	[AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
 m4_ifndef([_LT_AC_LANG_CXX],		[AC_DEFUN([_LT_AC_LANG_CXX])])
 m4_ifndef([_LT_AC_LANG_F77],		[AC_DEFUN([_LT_AC_LANG_F77])])
 m4_ifndef([_LT_AC_LANG_GCJ],		[AC_DEFUN([_LT_AC_LANG_GCJ])])
-m4_ifndef([AC_LIBTOOL_RC],		[AC_DEFUN([AC_LIBTOOL_RC])])
 m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
 m4_ifndef([_LT_AC_LANG_C_CONFIG],	[AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
 m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
@@ -90,3 +89,10 @@ m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
 m4_ifndef([_LT_AC_LANG_RC_CONFIG],	[AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
 m4_ifndef([AC_LIBTOOL_CONFIG],		[AC_DEFUN([AC_LIBTOOL_CONFIG])])
 m4_ifndef([_LT_AC_FILE_LTDLL_C],	[AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
+m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS],	[AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
+m4_ifndef([_LT_AC_PROG_CXXCPP],		[AC_DEFUN([_LT_AC_PROG_CXXCPP])])
+m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS],	[AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
+m4_ifndef([_LT_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_PROG_F77],		[AC_DEFUN([_LT_PROG_F77])])
+m4_ifndef([_LT_PROG_FC],		[AC_DEFUN([_LT_PROG_FC])])
+m4_ifndef([_LT_PROG_CXX],		[AC_DEFUN([_LT_PROG_CXX])])
diff --git a/Watchdog/missing b/Watchdog/missing
index 1c8ff70..28055d2 100755
--- a/Watchdog/missing
+++ b/Watchdog/missing
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Common stub for a few missing GNU programs while installing.
 
-scriptversion=2006-05-10.23
+scriptversion=2009-04-28.21; # UTC
 
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
-#   Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
+# 2008, 2009 Free Software Foundation, Inc.
 # Originally by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
@@ -18,9 +18,7 @@ scriptversion=2006-05-10.23
 # GNU General Public License for more details.
 
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -89,6 +87,9 @@ Supported PROGRAM values:
   tar          try tar, gnutar, gtar, then tar without non-portable flags
   yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
 
+Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
+\`g' are ignored when checking the name.
+
 Send bug reports to <bug-automake at gnu.org>."
     exit $?
     ;;
@@ -106,15 +107,22 @@ Send bug reports to <bug-automake at gnu.org>."
 
 esac
 
+# normalize program name to check for.
+program=`echo "$1" | sed '
+  s/^gnu-//; t
+  s/^gnu//; t
+  s/^g//; t'`
+
 # Now exit if we have it, but it failed.  Also exit now if we
 # don't have it and --version was passed (most likely to detect
-# the program).
+# the program).  This is about non-GNU programs, so use $1 not
+# $program.
 case $1 in
-  lex|yacc)
+  lex*|yacc*)
     # Not GNU programs, they don't have --version.
     ;;
 
-  tar)
+  tar*)
     if test -n "$run"; then
        echo 1>&2 "ERROR: \`tar' requires --run"
        exit 1
@@ -138,7 +146,7 @@ esac
 
 # If it does not exist, or fails to run (possibly an outdated version),
 # try to emulate it.
-case $1 in
+case $program in
   aclocal*)
     echo 1>&2 "\
 WARNING: \`$1' is $msg.  You should only need it if
@@ -148,7 +156,7 @@ WARNING: \`$1' is $msg.  You should only need it if
     touch aclocal.m4
     ;;
 
-  autoconf)
+  autoconf*)
     echo 1>&2 "\
 WARNING: \`$1' is $msg.  You should only need it if
          you modified \`${configure_ac}'.  You might want to install the
@@ -157,7 +165,7 @@ WARNING: \`$1' is $msg.  You should only need it if
     touch configure
     ;;
 
-  autoheader)
+  autoheader*)
     echo 1>&2 "\
 WARNING: \`$1' is $msg.  You should only need it if
          you modified \`acconfig.h' or \`${configure_ac}'.  You might want
@@ -187,7 +195,7 @@ WARNING: \`$1' is $msg.  You should only need it if
 	   while read f; do touch "$f"; done
     ;;
 
-  autom4te)
+  autom4te*)
     echo 1>&2 "\
 WARNING: \`$1' is needed, but is $msg.
          You might have modified some files without having the
@@ -210,7 +218,7 @@ WARNING: \`$1' is needed, but is $msg.
     fi
     ;;
 
-  bison|yacc)
+  bison*|yacc*)
     echo 1>&2 "\
 WARNING: \`$1' $msg.  You should only need it if
          you modified a \`.y' file.  You may need the \`Bison' package
@@ -240,7 +248,7 @@ WARNING: \`$1' $msg.  You should only need it if
     fi
     ;;
 
-  lex|flex)
+  lex*|flex*)
     echo 1>&2 "\
 WARNING: \`$1' is $msg.  You should only need it if
          you modified a \`.l' file.  You may need the \`Flex' package
@@ -263,7 +271,7 @@ WARNING: \`$1' is $msg.  You should only need it if
     fi
     ;;
 
-  help2man)
+  help2man*)
     echo 1>&2 "\
 WARNING: \`$1' is $msg.  You should only need it if
 	 you modified a dependency of a manual page.  You may need the
@@ -277,11 +285,11 @@ WARNING: \`$1' is $msg.  You should only need it if
     else
 	test -z "$file" || exec >$file
 	echo ".ab help2man is required to generate this page"
-	exit 1
+	exit $?
     fi
     ;;
 
-  makeinfo)
+  makeinfo*)
     echo 1>&2 "\
 WARNING: \`$1' is $msg.  You should only need it if
          you modified a \`.texi' or \`.texinfo' file, or any other file
@@ -310,7 +318,7 @@ WARNING: \`$1' is $msg.  You should only need it if
     touch $file
     ;;
 
-  tar)
+  tar*)
     shift
 
     # We have already tried tar in the generic part.
@@ -363,5 +371,6 @@ exit 0
 # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
 # End:
diff --git a/Watchdog/mkinstalldirs b/Watchdog/mkinstalldirs
index ef7e16f..4191a45 100755
--- a/Watchdog/mkinstalldirs
+++ b/Watchdog/mkinstalldirs
@@ -1,7 +1,7 @@
 #! /bin/sh
 # mkinstalldirs --- make directory hierarchy
 
-scriptversion=2006-05-11.19
+scriptversion=2009-04-28.21; # UTC
 
 # Original author: Noah Friedman <friedman at prep.ai.mit.edu>
 # Created: 1993-05-16
@@ -157,5 +157,6 @@ exit $errstatus
 # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
 # End:
diff --git a/Watchdog/pwl-config.h.in b/Watchdog/pwl-config.h.in
index 44a54ee..18e6bd0 100644
--- a/Watchdog/pwl-config.h.in
+++ b/Watchdog/pwl-config.h.in
@@ -4,6 +4,14 @@
    */
 #undef PWL_HAVE_DECL_GETENV
 
+/* Define to 1 if you have the declaration of `setitimer', and to 0 if you
+   don't. */
+#undef PWL_HAVE_DECL_SETITIMER
+
+/* Define to 1 if you have the declaration of `sigaction', and to 0 if you
+   don't. */
+#undef PWL_HAVE_DECL_SIGACTION
+
 /* Define to 1 if you have the <dlfcn.h> header file. */
 #undef PWL_HAVE_DLFCN_H
 
@@ -16,11 +24,8 @@
 /* Define to 1 if you have the <memory.h> header file. */
 #undef PWL_HAVE_MEMORY_H
 
-/* Define to 1 if you have the `setitimer' function. */
-#undef HAVE_SETITIMER
-
 /* Define to 1 if the system has the type `siginfo_t'. */
-#undef HAVE_SIGINFO_T
+#undef PWL_HAVE_SIGINFO_T
 
 /* Define to 1 if you have the <stdint.h> header file. */
 #undef PWL_HAVE_STDINT_H
@@ -50,9 +55,6 @@
    */
 #undef LT_OBJDIR
 
-/* Assertions are disabled when this is defined */
-#undef NDEBUG
-
 /* Define to the address where bug reports for this package should be sent. */
 #undef PWL_PACKAGE_BUGREPORT
 
@@ -65,9 +67,15 @@
 /* Define to the one symbol short name of this package. */
 #undef PWL_PACKAGE_TARNAME
 
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
 /* Define to the version of this package. */
 #undef PWL_PACKAGE_VERSION
 
+/* Assertions are disabled when this is defined */
+#undef PWL_NDEBUG
+
 /* Define to 1 if you have the ANSI C header files. */
 #undef PWL_STDC_HEADERS
 
@@ -78,7 +86,7 @@
 #undef const
 
 
-#ifdef PWL_NDEBUG
+#if defined(PWL_NDEBUG) && !defined(NDEBUG)
 # define NDEBUG PWL_NDEBUG
 #endif
 
diff --git a/Watchdog/pwl-config.sed b/Watchdog/pwl-config.sed
index 960a73e..7972470 100644
--- a/Watchdog/pwl-config.sed
+++ b/Watchdog/pwl-config.sed
@@ -1,9 +1,12 @@
 s/\([^A-Z_]\)HAVE_DECL_GETENV/\1PWL_HAVE_DECL_GETENV/g
+s/\([^A-Z_]\)HAVE_DECL_SIGACTION/\1PWL_HAVE_DECL_SIGACTION/g
+s/\([^A-Z_]\)HAVE_DECL_SETITIMER/\1PWL_HAVE_DECL_SETITIMER/g
 s/\([^A-Z_]\)HAVE_DLFCN_H/\1PWL_HAVE_DLFCN_H/g
 s/\([^A-Z_]\)HAVE_FENV_H/\1PWL_HAVE_FENV_H/g
 s/\([^A-Z_]\)HAVE_INTTYPES_H/\1PWL_HAVE_INTTYPES_H/g
 s/\([^A-Z_]\)HAVE_MEMORY_H/\1PWL_HAVE_MEMORY_H/g
-s/\([^A-Z_]\)HAVE_SETITIMER_H/\1PWL_HAVE_SETITIMER_H/g
+s/\([^A-Z_]\)HAVE_SETITIMER/\1PWL_HAVE_SETITIMER/g
+s/\([^A-Z_]\)HAVE_SIGINFO_T/\1PWL_HAVE_SIGINFO_T/g
 s/\([^A-Z_]\)HAVE_STDINT_H/\1PWL_HAVE_STDINT_H/g
 s/\([^A-Z_]\)HAVE_STDLIB_H/\1PWL_HAVE_STDLIB_H/g
 s/\([^A-Z_]\)HAVE_STRINGS_H/\1PWL_HAVE_STRINGS_H/g
diff --git a/Watchdog/src/Doubly_Linked_Object.defs.hh b/Watchdog/src/Doubly_Linked_Object.defs.hh
index fd00eef..1593af4 100644
--- a/Watchdog/src/Doubly_Linked_Object.defs.hh
+++ b/Watchdog/src/Doubly_Linked_Object.defs.hh
@@ -1,5 +1,5 @@
 /* Doubly_Linked_Object class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/src/Doubly_Linked_Object.inlines.hh b/Watchdog/src/Doubly_Linked_Object.inlines.hh
index cd6210a..fd506b5 100644
--- a/Watchdog/src/Doubly_Linked_Object.inlines.hh
+++ b/Watchdog/src/Doubly_Linked_Object.inlines.hh
@@ -1,5 +1,5 @@
 /* Doubly_Linked_Object class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/src/Doubly_Linked_Object.types.hh b/Watchdog/src/Doubly_Linked_Object.types.hh
index 3d0387c..96c95d3 100644
--- a/Watchdog/src/Doubly_Linked_Object.types.hh
+++ b/Watchdog/src/Doubly_Linked_Object.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/Watchdog/src/EList.defs.hh b/Watchdog/src/EList.defs.hh
index e16ceb0..22a1498 100644
--- a/Watchdog/src/EList.defs.hh
+++ b/Watchdog/src/EList.defs.hh
@@ -1,5 +1,5 @@
 /* EList class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
@@ -24,6 +24,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #define PWL_EList_defs_hh 1
 
 #include "EList.types.hh"
+#include "Doubly_Linked_Object.defs.hh"
 #include "EList_Iterator.defs.hh"
 
 /*! \brief
@@ -31,7 +32,8 @@ site: http://www.cs.unipr.it/ppl/ . */
   where the links are embedded in the objects themselves).
 */
 template <typename T>
-class Parma_Watchdog_Library::EList : private Doubly_Linked_Object {
+class Parma_Watchdog_Library::EList
+  : private Parma_Watchdog_Library::Doubly_Linked_Object {
 public:
   //! A const iterator to traverse the list.
   typedef EList_Iterator<const T> Const_Iterator;
diff --git a/Watchdog/src/EList.inlines.hh b/Watchdog/src/EList.inlines.hh
index 28a3a61..78636f3 100644
--- a/Watchdog/src/EList.inlines.hh
+++ b/Watchdog/src/EList.inlines.hh
@@ -1,5 +1,5 @@
 /* EList class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
@@ -23,6 +23,8 @@ site: http://www.cs.unipr.it/ppl/ . */
 #ifndef PWL_EList_inlines_hh
 #define PWL_EList_inlines_hh 1
 
+#include <cassert>
+
 namespace Parma_Watchdog_Library {
 
 template <typename T>
diff --git a/Watchdog/src/EList.types.hh b/Watchdog/src/EList.types.hh
index 7239f98..90e7473 100644
--- a/Watchdog/src/EList.types.hh
+++ b/Watchdog/src/EList.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/Watchdog/src/EList_Iterator.defs.hh b/Watchdog/src/EList_Iterator.defs.hh
index 8c593fa..5fd9c08 100644
--- a/Watchdog/src/EList_Iterator.defs.hh
+++ b/Watchdog/src/EList_Iterator.defs.hh
@@ -1,5 +1,5 @@
 /* EList_Iterator class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/src/EList_Iterator.inlines.hh b/Watchdog/src/EList_Iterator.inlines.hh
index b35cf4a..5b22848 100644
--- a/Watchdog/src/EList_Iterator.inlines.hh
+++ b/Watchdog/src/EList_Iterator.inlines.hh
@@ -1,5 +1,5 @@
 /* EList_Iterator class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/src/EList_Iterator.types.hh b/Watchdog/src/EList_Iterator.types.hh
index d0d2c04..05c98c9 100644
--- a/Watchdog/src/EList_Iterator.types.hh
+++ b/Watchdog/src/EList_Iterator.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/Watchdog/src/Handler.defs.hh b/Watchdog/src/Handler.defs.hh
index 1a58d20..539f7ef 100644
--- a/Watchdog/src/Handler.defs.hh
+++ b/Watchdog/src/Handler.defs.hh
@@ -1,5 +1,5 @@
 /* Handler and derived classes' declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/src/Handler.inlines.hh b/Watchdog/src/Handler.inlines.hh
index 87a0ecd..664bb6c 100644
--- a/Watchdog/src/Handler.inlines.hh
+++ b/Watchdog/src/Handler.inlines.hh
@@ -1,5 +1,5 @@
 /* Handler and derived classes' implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/src/Handler.types.hh b/Watchdog/src/Handler.types.hh
index 37e92da..a6d2f04 100644
--- a/Watchdog/src/Handler.types.hh
+++ b/Watchdog/src/Handler.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/Watchdog/src/Makefile.am b/Watchdog/src/Makefile.am
index ef8b667..26a1da4 100644
--- a/Watchdog/src/Makefile.am
+++ b/Watchdog/src/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Watchdog Library (PWL).
 #
@@ -30,6 +30,7 @@ Pending_Element.types.hh \
 Pending_List.types.hh \
 Time.types.hh \
 Watchdog.types.hh \
+Threshold_Watcher.types.hh \
 Handler.defs.hh \
 Handler.inlines.hh \
 Time.defs.hh \
@@ -44,15 +45,18 @@ Pending_Element.defs.hh \
 Pending_Element.inlines.hh \
 Pending_List.defs.hh \
 Pending_List.inlines.hh \
+Pending_List.templates.hh \
 Watchdog.defs.hh \
-Watchdog.inlines.hh
+Watchdog.inlines.hh \
+Threshold_Watcher.defs.hh \
+Threshold_Watcher.inlines.hh \
+Threshold_Watcher.templates.hh
 
 SOURCE_FILES = \
 $(INCLUDE_FILES) \
-Pending_Element.cc \
-Pending_List.cc \
 Time.cc \
-Watchdog.cc
+Watchdog.cc \
+Threshold_Watcher.cc
 
 EXTRA_DIST = \
 $(SOURCE_FILES) \
@@ -89,8 +93,9 @@ pwl_header.hh
 #	    0.6			0.10		    4:0:0
 #	    0.7			0.10.1		    4:0:0
 #	    0.7			0.10.2		    4:0:0
+#	    0.8			0.11		    5:0:0
 
-LIBPWL_LT_CURRENT =  4
+LIBPWL_LT_CURRENT =  5
 LIBPWL_LT_REVISION = 0
 LIBPWL_LT_AGE =      0
 
diff --git a/Watchdog/src/Makefile.in b/Watchdog/src/Makefile.in
index 4283c7c..266303f 100644
--- a/Watchdog/src/Makefile.in
+++ b/Watchdog/src/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Watchdog Library (PWL).
 #
@@ -39,8 +40,9 @@
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -69,54 +71,93 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
     *) f=$$p;; \
   esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
 am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"
-libLTLIBRARIES_INSTALL = $(INSTALL)
 LTLIBRARIES = $(lib_LTLIBRARIES)
 libpwl_la_LIBADD =
 am__objects_1 =
-am__objects_2 = $(am__objects_1) Pending_Element.lo Pending_List.lo \
-	Time.lo Watchdog.lo
+am__objects_2 = $(am__objects_1) Time.lo Watchdog.lo \
+	Threshold_Watcher.lo
 am_libpwl_la_OBJECTS = $(am__objects_2)
 libpwl_la_OBJECTS = $(am_libpwl_la_OBJECTS)
-libpwl_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+libpwl_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(libpwl_la_LDFLAGS) $(LDFLAGS) -o $@
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_$(V))
+am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+am__v_CXX_0 = @echo "  CXX   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_$(V))
+am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo "  CC    " $@;
 CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo "  CCLD  " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libpwl_la_SOURCES)
 DIST_SOURCES = $(libpwl_la_SOURCES)
-includeHEADERS_INSTALL = $(INSTALL_HEADER)
 HEADERS = $(include_HEADERS) $(nodist_noinst_HEADERS)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -125,7 +166,6 @@ AWK = @AWK@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
-CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
@@ -170,6 +210,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -218,7 +259,6 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 oldincludedir = @oldincludedir@
@@ -245,6 +285,7 @@ Pending_Element.types.hh \
 Pending_List.types.hh \
 Time.types.hh \
 Watchdog.types.hh \
+Threshold_Watcher.types.hh \
 Handler.defs.hh \
 Handler.inlines.hh \
 Time.defs.hh \
@@ -259,15 +300,18 @@ Pending_Element.defs.hh \
 Pending_Element.inlines.hh \
 Pending_List.defs.hh \
 Pending_List.inlines.hh \
+Pending_List.templates.hh \
 Watchdog.defs.hh \
-Watchdog.inlines.hh
+Watchdog.inlines.hh \
+Threshold_Watcher.defs.hh \
+Threshold_Watcher.inlines.hh \
+Threshold_Watcher.templates.hh
 
 SOURCE_FILES = \
 $(INCLUDE_FILES) \
-Pending_Element.cc \
-Pending_List.cc \
 Time.cc \
-Watchdog.cc
+Watchdog.cc \
+Threshold_Watcher.cc
 
 EXTRA_DIST = \
 $(SOURCE_FILES) \
@@ -305,7 +349,8 @@ pwl_header.hh
 #	    0.6			0.10		    4:0:0
 #	    0.7			0.10.1		    4:0:0
 #	    0.7			0.10.2		    4:0:0
-LIBPWL_LT_CURRENT = 4
+#	    0.8			0.11		    5:0:0
+LIBPWL_LT_CURRENT = 5
 LIBPWL_LT_REVISION = 0
 LIBPWL_LT_AGE = 0
 lib_LTLIBRARIES = libpwl.la
@@ -331,14 +376,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  src/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  src/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign src/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -356,23 +401,28 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
-	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+	list2=; for p in $$list; do \
 	  if test -f $$p; then \
-	    f=$(am__strip_dir) \
-	    echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
-	    $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+	    list2="$$list2 $$p"; \
 	  else :; fi; \
-	done
+	done; \
+	test -z "$$list2" || { \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+	}
 
 uninstall-libLTLIBRARIES:
 	@$(NORMAL_UNINSTALL)
-	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-	  p=$(am__strip_dir) \
-	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
-	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+	for p in $$list; do \
+	  $(am__strip_dir) \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
 	done
 
 clean-libLTLIBRARIES:
@@ -384,7 +434,7 @@ clean-libLTLIBRARIES:
 	  rm -f "$${dir}/so_locations"; \
 	done
 libpwl.la: $(libpwl_la_OBJECTS) $(libpwl_la_DEPENDENCIES) 
-	$(libpwl_la_LINK) -rpath $(libdir) $(libpwl_la_OBJECTS) $(libpwl_la_LIBADD) $(LIBS)
+	$(AM_V_CXXLD)$(libpwl_la_LINK) -rpath $(libdir) $(libpwl_la_OBJECTS) $(libpwl_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -392,28 +442,30 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Pending_Element.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Pending_List.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Threshold_Watcher.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Time.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Watchdog.Plo at am__quote@
 
 .cc.o:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
- at am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
@@ -426,34 +478,37 @@ clean-libtool:
 install-includeHEADERS: $(include_HEADERS)
 	@$(NORMAL_INSTALL)
 	test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
-	@list='$(include_HEADERS)'; for p in $$list; do \
+	@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  f=$(am__strip_dir) \
-	  echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \
-	  $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
+	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
 	done
 
 uninstall-includeHEADERS:
 	@$(NORMAL_UNINSTALL)
-	@list='$(include_HEADERS)'; for p in $$list; do \
-	  f=$(am__strip_dir) \
-	  echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(includedir)/$$f"; \
-	done
+	@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(includedir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(includedir)" && rm -f $$files
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
@@ -461,29 +516,34 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -504,13 +564,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -547,6 +611,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -569,6 +634,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -577,18 +644,28 @@ install-data-am: install-includeHEADERS
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am: install-libLTLIBRARIES
 
 install-html: install-html-am
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-am
 
+install-pdf-am:
+
 install-ps: install-ps-am
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -611,7 +688,7 @@ ps-am:
 
 uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES
 
-.MAKE: install-am install-strip
+.MAKE: all check install install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
 	clean-libLTLIBRARIES clean-libtool ctags dist-hook distclean \
@@ -654,6 +731,7 @@ $(top_builddir)/utils/build_header:
 
 $(top_builddir)/pwl-config.h:
 	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir) pwl-config.h
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/Watchdog/src/Pending_Element.cc b/Watchdog/src/Pending_Element.cc
deleted file mode 100644
index 51e2274..0000000
--- a/Watchdog/src/Pending_Element.cc
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Pending_Element class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
-
-This file is part of the Parma Watchdog Library (PWL).
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <pwl-config.h>
-
-#include "Pending_Element.defs.hh"
-
-namespace PWL = Parma_Watchdog_Library;
-
-bool
-PWL::Pending_Element::OK() const {
-  return d.OK();
-}
diff --git a/Watchdog/src/Pending_Element.defs.hh b/Watchdog/src/Pending_Element.defs.hh
index f7cdae1..13ff7c8 100644
--- a/Watchdog/src/Pending_Element.defs.hh
+++ b/Watchdog/src/Pending_Element.defs.hh
@@ -1,5 +1,5 @@
 /* Pending_Element class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
@@ -25,7 +25,6 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 #include "Pending_Element.types.hh"
 #include "Doubly_Linked_Object.defs.hh"
-#include "Time.defs.hh"
 #include "Handler.types.hh"
 
 //! A class for pending watchdog events with embedded links.
@@ -35,20 +34,21 @@ site: http://www.cs.unipr.it/ppl/ . */
   expiration, and a Boolean flag that indicates whether the event has already
   expired or not.
 */
+template <typename Threshold>
 class Parma_Watchdog_Library::Pending_Element : public Doubly_Linked_Object {
 public:
   //! Constructs an element with the given attributes.
-  Pending_Element(const Time& deadline,
+  Pending_Element(const Threshold& deadline,
 		  const Handler& handler,
 		  bool& expired_flag);
 
   //! Modifies \p *this so that it has the given attributes.
-  void assign(const Time& deadline,
+  void assign(const Threshold& deadline,
 	      const Handler& handler,
 	      bool& expired_flag);
 
   //! Returns the deadline of the event.
-  const Time& deadline() const;
+  const Threshold& deadline() const;
 
   //! Returns the handler associated to the event.
   const Handler& handler() const;
@@ -61,7 +61,7 @@ public:
 
 private:
   //! The deadline of the event.
-  Time d;
+  Threshold d;
 
   //! A pointer to the handler associated to the event.
   const Handler* p_h;
diff --git a/Watchdog/src/Pending_Element.inlines.hh b/Watchdog/src/Pending_Element.inlines.hh
index 9eedc09..20a9c61 100644
--- a/Watchdog/src/Pending_Element.inlines.hh
+++ b/Watchdog/src/Pending_Element.inlines.hh
@@ -1,5 +1,5 @@
 /* Pending_Element class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
@@ -23,38 +23,51 @@ site: http://www.cs.unipr.it/ppl/ . */
 #ifndef PWL_Pending_Element_inlines_hh
 #define PWL_Pending_Element_inlines_hh 1
 
+#include <cassert>
+
 namespace Parma_Watchdog_Library {
 
+template <typename Threshold>
+inline bool
+Pending_Element<Threshold>::OK() const {
+  return true;
+}
+
+template <typename Threshold>
 inline
-Pending_Element::Pending_Element(const Time& deadline,
-				 const Handler& handler,
-				 bool& expired_flag)
+Pending_Element<Threshold>::Pending_Element(const Threshold& deadline,
+					    const Handler& handler,
+					    bool& expired_flag)
   : d(deadline), p_h(&handler), p_f(&expired_flag) {
   assert(OK());
 }
 
+template <typename Threshold>
 inline void
-Pending_Element::assign(const Time& deadline,
-			const Handler& handler,
-			bool& expired_flag) {
+Pending_Element<Threshold>::assign(const Threshold& deadline,
+				   const Handler& handler,
+				   bool& expired_flag) {
   d = deadline;
   p_h = &handler;
   p_f = &expired_flag;
   assert(OK());
 }
 
-inline const Time&
-Pending_Element::deadline() const {
+template <typename Threshold>
+inline const Threshold&
+Pending_Element<Threshold>::deadline() const {
   return d;
 }
 
+template <typename Threshold>
 inline const Handler&
-Pending_Element::handler() const {
+Pending_Element<Threshold>::handler() const {
   return *p_h;
 }
 
+template <typename Threshold>
 inline bool&
-Pending_Element::expired_flag() const {
+Pending_Element<Threshold>::expired_flag() const {
   return *p_f;
 }
 
diff --git a/Watchdog/src/Pending_Element.types.hh b/Watchdog/src/Pending_Element.types.hh
index b9d7188..76da585 100644
--- a/Watchdog/src/Pending_Element.types.hh
+++ b/Watchdog/src/Pending_Element.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
@@ -14,6 +14,7 @@ PURPOSE. */
 
 namespace Parma_Watchdog_Library {
 
+template <class Threshold>
 class Pending_Element;
 
 } // namespace Parma_Watchdog_Library
diff --git a/Watchdog/src/Pending_List.cc b/Watchdog/src/Pending_List.cc
deleted file mode 100644
index 0ff7708..0000000
--- a/Watchdog/src/Pending_List.cc
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Pending_List class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
-
-This file is part of the Parma Watchdog Library (PWL).
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <pwl-config.h>
-
-#include "Pending_List.defs.hh"
-#include <iostream>
-
-namespace PWL = Parma_Watchdog_Library;
-
-PWL::Pending_List::Iterator
-PWL::Pending_List::insert(const Time& deadline,
-			  const Handler& handler,
-			  bool& expired_flag) {
-  Iterator position = active_list.begin();
-  for (Iterator active_list_end = active_list.end();
-       position != active_list_end && position->deadline() < deadline;
-       ++position)
-    ;
-  Iterator ppe;
-  // Only allocate a new element if the free list is empty.
-  if (free_list.empty())
-    ppe = new Pending_Element(deadline, handler, expired_flag);
-  else {
-    ppe = free_list.begin();
-    free_list.erase(ppe);
-    ppe->assign(deadline, handler, expired_flag);
-  }
-  Iterator r = active_list.insert(position, *ppe);
-  assert(OK());
-  return r;
-}
-
-bool
-PWL::Pending_List::OK() const {
-  if (!active_list.OK())
-    return false;
-
-  if (!free_list.OK())
-    return false;
-
-  Time t(0);
-  for (EList<Pending_Element>::Const_Iterator i = active_list.begin(),
-	 active_list_end = active_list.end(); i != active_list_end; ++i) {
-    const Time& d = i->deadline();
-    if (t > d) {
-#ifndef NDEBUG
-      std::cerr << "The active list is not sorted!"
-		<< std::endl;
-#endif
-      return false;
-    }
-    t = d;
-  }
-  return true;
-}
diff --git a/Watchdog/src/Pending_List.defs.hh b/Watchdog/src/Pending_List.defs.hh
index 7b4f532..5c2c935 100644
--- a/Watchdog/src/Pending_List.defs.hh
+++ b/Watchdog/src/Pending_List.defs.hh
@@ -1,5 +1,5 @@
 /* Pending_List class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
@@ -26,14 +26,17 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Pending_List.types.hh"
 #include "Pending_Element.defs.hh"
 #include "EList.defs.hh"
-#include "Time.types.hh"
 #include "Handler.types.hh"
 
 //! An ordered list for recording pending watchdog events.
+template <typename Traits>
 class Parma_Watchdog_Library::Pending_List {
 public:
   //! A non-const iterator to traverse the list.
-  typedef EList<Pending_Element>::Iterator Iterator;
+  typedef typename EList<Pending_Element<typename Traits::Threshold> >::Iterator Iterator;
+
+  //! A const iterator to traverse the list.
+  typedef typename EList<Pending_Element<typename Traits::Threshold> >::Const_Iterator Const_Iterator;
 
   //! Constructs an empty list.
   Pending_List();
@@ -42,7 +45,7 @@ public:
   ~Pending_List();
 
   //! Inserts a new Pending_Element object with the given attributes.
-  Iterator insert(const Time& deadline,
+  Iterator insert(const typename Traits::Threshold& deadline,
 		  const Handler& handler,
 		  bool& expired_flag);
 
@@ -65,10 +68,11 @@ public:
   bool OK() const;
 
 private:
-  EList<Pending_Element> active_list;
-  EList<Pending_Element> free_list;
+  EList<Pending_Element<typename Traits::Threshold> > active_list;
+  EList<Pending_Element<typename Traits::Threshold> > free_list;
 };
 
 #include "Pending_List.inlines.hh"
+#include "Pending_List.templates.hh"
 
 #endif // !defined(PWL_Pending_List_defs_hh)
diff --git a/Watchdog/src/Pending_List.inlines.hh b/Watchdog/src/Pending_List.inlines.hh
index e38f894..5e0bc74 100644
--- a/Watchdog/src/Pending_List.inlines.hh
+++ b/Watchdog/src/Pending_List.inlines.hh
@@ -1,5 +1,5 @@
 /* Pending_List class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
@@ -23,36 +23,44 @@ site: http://www.cs.unipr.it/ppl/ . */
 #ifndef PWL_Pending_List_inlines_hh
 #define PWL_Pending_List_inlines_hh 1
 
+#include <cassert>
+
 namespace Parma_Watchdog_Library {
 
+template <typename Traits>
 inline
-Pending_List::Pending_List()
+Pending_List<Traits>::Pending_List()
   : active_list(),
     free_list() {
   assert(OK());
 }
 
+template <typename Traits>
 inline
-Pending_List::~Pending_List() {
+Pending_List<Traits>::~Pending_List() {
 }
 
-inline Pending_List::Iterator
-Pending_List::begin() {
+template <typename Traits>
+inline typename Pending_List<Traits>::Iterator
+Pending_List<Traits>::begin() {
   return active_list.begin();
 }
 
-inline Pending_List::Iterator
-Pending_List::end() {
+template <typename Traits>
+inline typename Pending_List<Traits>::Iterator
+Pending_List<Traits>::end() {
   return active_list.end();
 }
 
+template <typename Traits>
 inline bool
-Pending_List::empty() const {
+Pending_List<Traits>::empty() const {
   return active_list.empty();
 }
 
-inline Pending_List::Iterator
-Pending_List::erase(Iterator position) {
+template <typename Traits>
+inline typename Pending_List<Traits>::Iterator
+Pending_List<Traits>::erase(Iterator position) {
   assert(!empty());
   Iterator next = active_list.erase(position);
   free_list.push_back(*position);
diff --git a/Watchdog/src/Pending_List.templates.hh b/Watchdog/src/Pending_List.templates.hh
new file mode 100644
index 0000000..add4e13
--- /dev/null
+++ b/Watchdog/src/Pending_List.templates.hh
@@ -0,0 +1,83 @@
+/* Pending_List class implementation.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Watchdog Library (PWL).
+
+The PWL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PWL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#ifndef PWL_Pending_List_templates_hh
+#define PWL_Pending_List_templates_hh 1
+
+#include <iostream>
+
+namespace Parma_Watchdog_Library {
+
+template <typename Traits>
+typename Pending_List<Traits>::Iterator
+Pending_List<Traits>::insert(const typename Traits::Threshold& deadline,
+			     const Handler& handler,
+			     bool& expired_flag) {
+  Iterator position = active_list.begin();
+  for (Iterator active_list_end = active_list.end();
+       position != active_list_end && Traits::less_than(position->deadline(), deadline);
+       ++position)
+    ;
+  Iterator ppe;
+  // Only allocate a new element if the free list is empty.
+  if (free_list.empty())
+    ppe = new Pending_Element<typename Traits::Threshold>(deadline, handler, expired_flag);
+  else {
+    ppe = free_list.begin();
+    free_list.erase(ppe);
+    ppe->assign(deadline, handler, expired_flag);
+  }
+  Iterator r = active_list.insert(position, *ppe);
+  assert(OK());
+  return r;
+}
+
+template <typename Traits>
+bool
+Pending_List<Traits>::OK() const {
+  if (!active_list.OK())
+    return false;
+
+  if (!free_list.OK())
+    return false;
+
+  const typename Traits::Threshold* old;
+  Const_Iterator i = active_list.begin();
+  old = &i->deadline();
+  ++i;
+  for (Const_Iterator active_list_end = active_list.end(); i != active_list_end; ++i) {
+    const typename Traits::Threshold& t = i->deadline();
+    if (Traits::less_than(t, *old)) {
+#ifndef NDEBUG
+      std::cerr << "The active list is not sorted!"
+		<< std::endl;
+#endif
+      return false;
+    }
+    old = &t;
+  }
+  return true;
+}
+
+} // namespace Parma_Watchdog_Library
+
+#endif // !defined(PWL_Pending_List_templates_hh)
diff --git a/Watchdog/src/Pending_List.types.hh b/Watchdog/src/Pending_List.types.hh
index 3f77f1f..a6534fd 100644
--- a/Watchdog/src/Pending_List.types.hh
+++ b/Watchdog/src/Pending_List.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
@@ -14,6 +14,7 @@ PURPOSE. */
 
 namespace Parma_Watchdog_Library {
 
+template <typename Traits>
 class Pending_List;
 
 } // namespace Parma_Watchdog_Library
diff --git a/Watchdog/src/Threshold_Watcher.cc b/Watchdog/src/Threshold_Watcher.cc
new file mode 100644
index 0000000..5807849
--- /dev/null
+++ b/Watchdog/src/Threshold_Watcher.cc
@@ -0,0 +1,27 @@
+/* Threshold_Watcher and associated classes' implementation
+   (non-inline functions).
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Watchdog Library (PWL).
+
+The PWL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PWL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include <pwl-config.h>
+
+#include "Threshold_Watcher.defs.hh"
+
diff --git a/Watchdog/src/Threshold_Watcher.defs.hh b/Watchdog/src/Threshold_Watcher.defs.hh
new file mode 100644
index 0000000..f565e67
--- /dev/null
+++ b/Watchdog/src/Threshold_Watcher.defs.hh
@@ -0,0 +1,93 @@
+/* Threshold_Watcher and associated classes' declaration and inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Watchdog Library (PWL).
+
+The PWL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PWL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#ifndef PWL_Threshold_Watcher_defs_hh
+#define PWL_Threshold_Watcher_defs_hh 1
+
+#include "Threshold_Watcher.types.hh"
+#include "Handler.types.hh"
+#include "Pending_List.defs.hh"
+#include <cassert>
+
+/*! \brief
+  A class of watchdogs controlling the exceeding of a threshold.
+
+  \tparam Traits
+  A class to set data types and functions for the threshold handling.
+  See \c Parma_Polyhedra_Library::Weightwatch_Traits for an example.
+*/
+template <typename Traits>
+class Parma_Watchdog_Library::Threshold_Watcher {
+public:
+  template <typename Flag_Base, typename Flag>
+  Threshold_Watcher(const typename Traits::Delta& delta,
+                    const Flag_Base* volatile& holder,
+                    Flag& flag);
+
+  Threshold_Watcher(const typename Traits::Delta& delta,
+                    void (*function)());
+
+  ~Threshold_Watcher();
+
+private:
+  typedef Pending_List<Traits> TW_Pending_List;
+
+  bool expired;
+  const Handler& handler;
+  typename TW_Pending_List::Iterator pending_position;
+
+  // Just to prevent their use.
+  Threshold_Watcher(const Threshold_Watcher&);
+  Threshold_Watcher& operator=(const Threshold_Watcher&);
+
+  struct Initialize {
+    //! The ordered queue of pending thresholds.
+    TW_Pending_List pending;
+  };
+  static Initialize init;
+
+  // Handle the addition of a new threshold.
+  static typename TW_Pending_List::Iterator
+  add_threshold(typename Traits::Threshold threshold,
+		const Handler& handler,
+		bool& expired_flag);
+
+  // Handle the removal of a threshold.
+  static typename TW_Pending_List::Iterator
+  remove_threshold(typename TW_Pending_List::Iterator position);
+
+  //! Check threshold reaching.
+  static void check();
+
+}; // class Parma_Watchdog_Library::Threshold_Watcher
+
+
+// Templatic initialization of static data member.
+template <typename Traits>
+typename Parma_Watchdog_Library::Threshold_Watcher<Traits>::Initialize
+Parma_Watchdog_Library::Threshold_Watcher<Traits>::init;
+
+#include "Threshold_Watcher.inlines.hh"
+#include "Threshold_Watcher.templates.hh"
+
+#endif // !defined(PWL_Threshold_Watcher_defs_hh)
+
diff --git a/Watchdog/src/Threshold_Watcher.inlines.hh b/Watchdog/src/Threshold_Watcher.inlines.hh
new file mode 100644
index 0000000..c7f2c7d
--- /dev/null
+++ b/Watchdog/src/Threshold_Watcher.inlines.hh
@@ -0,0 +1,59 @@
+/* Threshold_Watcher and associated classes' implementation: inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Watchdog Library (PWL).
+
+The PWL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PWL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#ifndef PWL_Threshold_Watcher_inlines_hh
+#define PWL_Threshold_Watcher_inlines_hh 1
+
+#include <stdexcept>
+
+#include "Handler.defs.hh"
+
+namespace Parma_Watchdog_Library {
+
+template <typename Traits>
+template <typename Flag_Base, typename Flag>
+Threshold_Watcher<Traits>::Threshold_Watcher(const typename Traits::Delta& delta, const Flag_Base* volatile& holder, Flag& flag)
+  : expired(false),
+    handler(*new Handler_Flag<Flag_Base, Flag>(holder, flag)) {
+  typename Traits::Threshold threshold;
+  Traits::from_delta(threshold, delta);
+  if (!Traits::less_than(Traits::get(), threshold))
+    throw std::invalid_argument("Threshold_Watcher constructor called with a"
+				" threshold already reached");
+  pending_position = add_threshold(threshold, handler, expired);
+}
+
+template <typename Traits>
+inline
+Threshold_Watcher<Traits>::Threshold_Watcher(const typename Traits::Delta& delta, void (*function)())
+  : expired(false), handler(*new Handler_Function(function)) {
+  typename Traits::Threshold threshold;
+  Traits::from_delta(threshold, delta);
+  if (!Traits::less_than(Traits::get(), threshold))
+    throw std::invalid_argument("Threshold_Watcher constructor called with a"
+				" threshold already reached");
+  pending_position = add_threshold(threshold, handler, expired);
+}
+
+} // namespace Parma_Watchdog_Library
+
+#endif // !defined(PWL_Threshold_Watcher_inlines_hh)
diff --git a/Watchdog/src/Threshold_Watcher.templates.hh b/Watchdog/src/Threshold_Watcher.templates.hh
new file mode 100644
index 0000000..f4c2a90
--- /dev/null
+++ b/Watchdog/src/Threshold_Watcher.templates.hh
@@ -0,0 +1,71 @@
+/* Threshold_Watcher and associated classes'.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Watchdog Library (PWL).
+
+The PWL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PWL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#ifndef PWL_Threshold_Watcher_templates_hh
+#define PWL_Threshold_Watcher_templates_hh 1
+
+namespace Parma_Watchdog_Library {
+
+template <typename Traits>
+typename Threshold_Watcher<Traits>::TW_Pending_List::Iterator
+Threshold_Watcher<Traits>::add_threshold(typename Traits::Threshold threshold,
+                                         const Handler& handler,
+                                         bool& expired_flag) {
+  Traits::check_function = Threshold_Watcher::check;
+  return init.pending.insert(threshold, handler, expired_flag);
+}
+
+template <typename Traits>
+typename Threshold_Watcher<Traits>::TW_Pending_List::Iterator
+Threshold_Watcher<Traits>
+::remove_threshold(typename TW_Pending_List::Iterator position) {
+  typename TW_Pending_List::Iterator i = init.pending.erase(position);
+  if (init.pending.empty())
+    Traits::check_function = 0;
+  return i;
+}
+
+template <typename Traits>
+Threshold_Watcher<Traits>::~Threshold_Watcher() {
+  if (!expired)
+    remove_threshold(pending_position);
+  delete &handler;
+}
+
+template <typename Traits>
+void
+Threshold_Watcher<Traits>::check() {
+  typename TW_Pending_List::Iterator i = init.pending.begin();
+  assert(i != init.pending.end());
+  const typename Traits::Threshold& current = Traits::get();
+  while (!Traits::less_than(current, i->deadline())) {
+    i->handler().act();
+    i->expired_flag() = true;
+    i = remove_threshold(i);
+    if (i == init.pending.end())
+      break;
+  }
+}
+
+} // namespace Parma_Watchdog_Library
+
+#endif // !defined(PWL_Threshold_Watcher_templates_hh)
diff --git a/Watchdog/src/Threshold_Watcher.types.hh b/Watchdog/src/Threshold_Watcher.types.hh
new file mode 100644
index 0000000..b587cfd
--- /dev/null
+++ b/Watchdog/src/Threshold_Watcher.types.hh
@@ -0,0 +1,22 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PWL_Threshold_Watcher_types_hh
+#define PWL_Threshold_Watcher_types_hh 1
+
+namespace Parma_Watchdog_Library {
+
+template <typename Traits>
+class Threshold_Watcher;
+
+} // namespace Parma_Watchdog_Library
+
+#endif // !defined(PWL_Threshold_Watcher_types_hh)
diff --git a/Watchdog/src/Time.cc b/Watchdog/src/Time.cc
index 94a5be7..e4b6e61 100644
--- a/Watchdog/src/Time.cc
+++ b/Watchdog/src/Time.cc
@@ -1,5 +1,5 @@
 /* Time class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/src/Time.defs.hh b/Watchdog/src/Time.defs.hh
index d817e40..5f6b879 100644
--- a/Watchdog/src/Time.defs.hh
+++ b/Watchdog/src/Time.defs.hh
@@ -1,5 +1,5 @@
 /* Time class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/src/Time.inlines.hh b/Watchdog/src/Time.inlines.hh
index c761d36..70c3655 100644
--- a/Watchdog/src/Time.inlines.hh
+++ b/Watchdog/src/Time.inlines.hh
@@ -1,5 +1,5 @@
 /* Time class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/src/Time.types.hh b/Watchdog/src/Time.types.hh
index 8d11ae2..593eaaa 100644
--- a/Watchdog/src/Time.types.hh
+++ b/Watchdog/src/Time.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/Watchdog/src/Watchdog.cc b/Watchdog/src/Watchdog.cc
index 21c0dab..554c724 100644
--- a/Watchdog/src/Watchdog.cc
+++ b/Watchdog/src/Watchdog.cc
@@ -1,5 +1,5 @@
 /* Watchdog and associated classes' implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
@@ -24,6 +24,10 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 #include "Watchdog.defs.hh"
 
+namespace PWL = Parma_Watchdog_Library;
+
+#if PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
+
 #include <csignal>
 #include <iostream>
 #include <stdexcept>
@@ -43,8 +47,10 @@ site: http://www.cs.unipr.it/ppl/ . */
 #endif
 
 // Cygwin only supports ITIMER_REAL.
+// Apparently GNU Hurd also only supports ITIMER_REAL
+// (see http://www.cs.unipr.it/pipermail/ppl-devel/2010-March/016072.html).
 // Profiling does not work on programs that use the ITIMER_PROF timer.
-#if defined(__CYGWIN__) || defined(PWL_PROFILING)
+#if defined(__CYGWIN__) || defined(__gnu_hurd__) || defined(PWL_PROFILING)
 #define THE_TIMER  ITIMER_REAL
 #define THE_SIGNAL SIGALRM
 #else
@@ -52,8 +58,6 @@ site: http://www.cs.unipr.it/ppl/ . */
 #define THE_SIGNAL SIGPROF
 #endif
 
-namespace PWL = Parma_Watchdog_Library;
-
 using std::cerr;
 using std::endl;
 
@@ -70,7 +74,7 @@ PWL::Time PWL::Watchdog::last_time_requested;
 PWL::Time PWL::Watchdog::time_so_far;
 
 // The ordered queue of pending watchdog events.
-PWL::Pending_List PWL::Watchdog::pending;
+PWL::Watchdog::WD_Pending_List PWL::Watchdog::pending;
 
 // Whether the alarm clock is running.
 volatile bool PWL::Watchdog::alarm_clock_running = false;
@@ -82,7 +86,7 @@ namespace {
 
 void
 throw_syscall_error(const char* syscall_name) {
-  throw std::runtime_error(std::string(syscall_name) + strerror(errno));
+  throw std::runtime_error(std::string(syscall_name) + ": " + strerror(errno));
 }
 
 void
@@ -138,7 +142,7 @@ PWL::Watchdog::handle_timeout(int) {
   else {
     time_so_far += last_time_requested;
     if (!pending.empty()) {
-      Pending_List::Iterator i = pending.begin();
+      WD_Pending_List::Iterator i = pending.begin();
       do {
 	i->handler().act();
 	i->expired_flag() = true;
@@ -159,12 +163,12 @@ PWL::PWL_handle_timeout(int signum) {
   PWL::Watchdog::handle_timeout(signum);
 }
 
-PWL::Pending_List::Iterator
-PWL::Watchdog::new_watchdog_event(int units,
+PWL::Watchdog::WD_Pending_List::Iterator
+PWL::Watchdog::new_watchdog_event(unsigned int units,
 				  const Handler& handler,
 				  bool& expired_flag) {
   assert(units > 0);
-  Pending_List::Iterator position;
+  WD_Pending_List::Iterator position;
   Time deadline(units);
   if (!alarm_clock_running) {
     position = pending.insert(deadline, handler, expired_flag);
@@ -191,10 +195,10 @@ PWL::Watchdog::new_watchdog_event(int units,
 }
 
 void
-PWL::Watchdog::remove_watchdog_event(Pending_List::Iterator position) {
+PWL::Watchdog::remove_watchdog_event(WD_Pending_List::Iterator position) {
   assert(!pending.empty());
   if (position == pending.begin()) {
-    Pending_List::Iterator next = position;
+    WD_Pending_List::Iterator next = position;
     ++next;
     if (next != pending.end()) {
       Time first_deadline(position->deadline());
@@ -218,14 +222,7 @@ PWL::Watchdog::remove_watchdog_event(Pending_List::Iterator position) {
   pending.erase(position);
 }
 
-PWL::Watchdog::~Watchdog() {
-  if (!expired) {
-    in_critical_section = true;
-    remove_watchdog_event(pending_position);
-    in_critical_section = false;
-  }
-  delete &handler;
-}
+PWL::Time PWL::Watchdog::reschedule_time(1);
 
 void
 PWL::Watchdog::initialize() {
@@ -247,6 +244,6 @@ void
 PWL::Watchdog::finalize() {
 }
 
-PWL::Time PWL::Watchdog::reschedule_time(1);
-
 unsigned int PWL::Init::count = 0;
+
+#endif // PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
diff --git a/Watchdog/src/Watchdog.defs.hh b/Watchdog/src/Watchdog.defs.hh
index 733c355..7e0f6f5 100644
--- a/Watchdog/src/Watchdog.defs.hh
+++ b/Watchdog/src/Watchdog.defs.hh
@@ -1,5 +1,5 @@
 /* Watchdog and associated classes' declaration and inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
@@ -28,6 +28,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Handler.types.hh"
 #include "Pending_List.defs.hh"
 #include <cassert>
+#include <functional>
 
 #ifdef PWL_HAVE_SYS_TIME_H
 # include <sys/time.h>
@@ -38,34 +39,54 @@ namespace Parma_Watchdog_Library {
 // Set linkage now to declare it friend later.
 extern "C" void PWL_handle_timeout(int signum);
 
+struct Watchdog_Traits {
+  typedef Time Threshold;
+  static bool less_than(const Threshold& a, const Threshold& b) {
+    return a < b;
+  }
+};
+
 //! A watchdog timer.
 class Watchdog {
 public:
   template <typename Flag_Base, typename Flag>
-  Watchdog(int units, const Flag_Base* volatile& holder, Flag& flag);
+  Watchdog(unsigned int units, const Flag_Base* volatile& holder, Flag& flag);
+
+  /*! \brief
+    Constructor: if not reset, the watchdog will trigger after \p units
+    hundreths of seconds, invoking handler \p function.
+  */
+  Watchdog(unsigned int units, void (*function)());
 
-  Watchdog(int units, void (*function)());
+  //! Destructor.
   ~Watchdog();
 
+#if PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
 
 private:
+  typedef Pending_List<Watchdog_Traits> WD_Pending_List;
   friend class Init;
+
+  //! Static class initialization.
   static void initialize();
+  //! Static class finalization.
   static void finalize();
 
+  //! Whether or not this watchdog has expired.
   bool expired;
+
   const Handler& handler;
-  Pending_List::Iterator pending_position;
+  WD_Pending_List::Iterator pending_position;
 
-private:
-  // Just to prevent their use.
+  // Private and not implemented: copy construction is not allowed.
   Watchdog(const Watchdog&);
+  // Private and not implemented: copy assignment is not allowed.
   Watchdog& operator=(const Watchdog&);
 
   // Pass this to getitimer().
   static itimerval current_timer_status;
 
-  // Get the timer value.
+  //! Reads the timer value into \p time.
   static void get_timer(Time& time);
 
   // Pass this to setitimer().
@@ -74,13 +95,13 @@ private:
   // Last time value we set the timer to.
   static Time last_time_requested;
 
-  // Set the timer value.
+  //! Sets the timer value to \p time.
   static void set_timer(const Time& time);
 
-  // Stops the timer.
+  //! Stops the timer.
   static void stop_timer();
 
-  // Quick reschedule to avoid race conditions.
+  //! Quick reschedule to avoid race conditions.
   static void reschedule();
 
   // Used by the above.
@@ -90,28 +111,33 @@ private:
   static Time time_so_far;
 
   //! The ordered queue of pending watchdog events.
-  static Pending_List pending;
+  static WD_Pending_List pending;
 
   //! The actual signal handler.
   static void handle_timeout(int);
 
-  // Handle the addition of a new watchdog event.
-  static Pending_List::Iterator new_watchdog_event(int units,
-						   const Handler& handler,
-						   bool& expired_flag);
+  //! Handles the addition of a new watchdog event.
+  static WD_Pending_List::Iterator
+  new_watchdog_event(unsigned int units,
+                     const Handler& handler,
+                     bool& expired_flag);
 
-  // Handle the removal of a watchdog event.
-  void remove_watchdog_event(Pending_List::Iterator position);
+  //! Handles the removal of the watchdog event referred by \p position.
+  void remove_watchdog_event(WD_Pending_List::Iterator position);
 
-  // Whether the alarm clock is running.
+  //! Whether the alarm clock is running.
   static volatile bool alarm_clock_running;
 
-  // Whether we are changing data that is also changed by the signal handler.
+  //! Whether we are changing data that is also changed by the signal handler.
   static volatile bool in_critical_section;
 
   friend void PWL_handle_timeout(int signum);
+
+#endif // PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
 };
 
+#if PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
+
 class Init {
 private:
   //! Count the number of objects created.
@@ -125,15 +151,21 @@ public:
   ~Init();
 };
 
+#endif // PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
+
 } // namespace Parma_Watchdog_Library
 
 #include "Watchdog.inlines.hh"
 
+#if PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
+
 namespace {
 
 Parma_Watchdog_Library::Init Parma_Watchdog_Library_initializer;
 
 } // namespace
 
+#endif // PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
+
 #endif // !defined(PWL_Watchdog_defs_hh)
 
diff --git a/Watchdog/src/Watchdog.inlines.hh b/Watchdog/src/Watchdog.inlines.hh
index 0938216..b7c6222 100644
--- a/Watchdog/src/Watchdog.inlines.hh
+++ b/Watchdog/src/Watchdog.inlines.hh
@@ -1,5 +1,5 @@
 /* Watchdog and associated classes' implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
@@ -29,16 +29,15 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace Parma_Watchdog_Library {
 
-inline void
-Watchdog::reschedule() {
-  set_timer(reschedule_time);
-}
+#if PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
 
 template <typename Flag_Base, typename Flag>
-Watchdog::Watchdog(int units, const Flag_Base* volatile& holder, Flag& flag)
+Watchdog::Watchdog(unsigned int units,
+		   const Flag_Base* volatile& holder,
+                   Flag& flag)
   : expired(false),
     handler(*new Handler_Flag<Flag_Base, Flag>(holder, flag)) {
-  if (units <= 0)
+  if (units == 0)
     throw std::invalid_argument("Watchdog constructor called with a"
 				" non-positive number of time units");
   in_critical_section = true;
@@ -47,9 +46,9 @@ Watchdog::Watchdog(int units, const Flag_Base* volatile& holder, Flag& flag)
 }
 
 inline
-Watchdog::Watchdog(int units, void (*function)())
+Watchdog::Watchdog(unsigned int units, void (*function)())
   : expired(false), handler(*new Handler_Function(function)) {
-  if (units <= 0)
+  if (units == 0)
     throw std::invalid_argument("Watchdog constructor called with a"
 				" non-positive number of time units");
   in_critical_section = true;
@@ -58,6 +57,21 @@ Watchdog::Watchdog(int units, void (*function)())
 }
 
 inline
+Watchdog::~Watchdog() {
+  if (!expired) {
+    in_critical_section = true;
+    remove_watchdog_event(pending_position);
+    in_critical_section = false;
+  }
+  delete &handler;
+}
+
+inline void
+Watchdog::reschedule() {
+  set_timer(reschedule_time);
+}
+
+inline
 Init::Init() {
   // Only when the first Init object is constructed...
   if (count++ == 0) {
@@ -75,6 +89,28 @@ Init::~Init() {
   }
 }
 
+#else // !PWL_HAVE_DECL_SETITIMER !! !PWL_HAVE_DECL_SIGACTION
+
+template <typename Flag_Base, typename Flag>
+Watchdog::Watchdog(unsigned int /* units */,
+		   const Flag_Base* volatile& /* holder */,
+                   Flag& /* flag */) {
+  throw std::logic_error("PWL::Watchdog objects not supported:"
+                         " system does not provide setitimer()");
+}
+
+inline
+Watchdog::Watchdog(unsigned int /* units */, void (* /* function */)()) {
+  throw std::logic_error("PWL::Watchdog objects not supported:"
+                         " system does not provide setitimer()");
+}
+
+inline
+Watchdog::~Watchdog() {
+}
+
+#endif // !PWL_HAVE_DECL_SETITIMER !! !PWL_HAVE_DECL_SIGACTION
+
 } // namespace Parma_Watchdog_Library
 
 #endif // !defined(PWL_Watchdog_inlines_hh)
diff --git a/Watchdog/src/Watchdog.types.hh b/Watchdog/src/Watchdog.types.hh
index fc5f84c..be84c91 100644
--- a/Watchdog/src/Watchdog.types.hh
+++ b/Watchdog/src/Watchdog.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/Watchdog/src/pwl.hh.dist b/Watchdog/src/pwl.hh.dist
index 45d9cff..6b61d0d 100644
--- a/Watchdog/src/pwl.hh.dist
+++ b/Watchdog/src/pwl.hh.dist
@@ -1,5 +1,5 @@
 /* This is the header file of the Parma Watchdog Library.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
@@ -24,7 +24,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #define PWL_pwl_hh 1
 
 #ifdef NDEBUG
-# define PWL_SAVE_NDEBUG 1
+# define PWL_SAVE_NDEBUG NDEBUG
 # undef NDEBUG
 #endif
 
@@ -34,7 +34,15 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 /* Define to 1 if you have the declaration of `getenv', and to 0 if you don't.
    */
-#define PWL_HAVE_DECL_GETENV 0
+#define PWL_HAVE_DECL_GETENV 1
+
+/* Define to 1 if you have the declaration of `setitimer', and to 0 if you
+   don't. */
+#define PWL_HAVE_DECL_SETITIMER 1
+
+/* Define to 1 if you have the declaration of `sigaction', and to 0 if you
+   don't. */
+#define PWL_HAVE_DECL_SIGACTION 1
 
 /* Define to 1 if you have the <dlfcn.h> header file. */
 #define PWL_HAVE_DLFCN_H 1
@@ -48,11 +56,8 @@ site: http://www.cs.unipr.it/ppl/ . */
 /* Define to 1 if you have the <memory.h> header file. */
 #define PWL_HAVE_MEMORY_H 1
 
-/* Define to 1 if you have the `setitimer' function. */
-#define HAVE_SETITIMER 1
-
 /* Define to 1 if the system has the type `siginfo_t'. */
-#define HAVE_SIGINFO_T 1
+#define PWL_HAVE_SIGINFO_T 1
 
 /* Define to 1 if you have the <stdint.h> header file. */
 #define PWL_HAVE_STDINT_H 1
@@ -82,9 +87,6 @@ site: http://www.cs.unipr.it/ppl/ . */
    */
 #define LT_OBJDIR ".libs/"
 
-/* Assertions are disabled when this is defined */
-#define NDEBUG 1
-
 /* Define to the address where bug reports for this package should be sent. */
 #define PWL_PACKAGE_BUGREPORT "bagnara at cs.unipr.it"
 
@@ -92,13 +94,19 @@ site: http://www.cs.unipr.it/ppl/ . */
 #define PWL_PACKAGE_NAME "the Parma Watchdog Library"
 
 /* Define to the full name and version of this package. */
-#define PWL_PACKAGE_STRING "the Parma Watchdog Library 0.7"
+#define PWL_PACKAGE_STRING "the Parma Watchdog Library 0.8"
 
 /* Define to the one symbol short name of this package. */
 #define PWL_PACKAGE_TARNAME "pwl"
 
+/* Define to the home page for this package. */
+#define PACKAGE_URL ""
+
 /* Define to the version of this package. */
-#define PWL_PACKAGE_VERSION "0.7"
+#define PWL_PACKAGE_VERSION "0.8"
+
+/* Assertions are disabled when this is defined */
+#define PWL_NDEBUG 1
 
 /* Define to 1 if you have the ANSI C header files. */
 #define PWL_STDC_HEADERS 1
@@ -110,8 +118,8 @@ site: http://www.cs.unipr.it/ppl/ . */
 /* #undef const */
 
 
-#ifdef PWL_NDEBUG
-# define NDEBUG 1
+#if defined(PWL_NDEBUG) && !defined(NDEBUG)
+# define NDEBUG PWL_NDEBUG
 #endif
 
 // Automatically generated from PPL source file ../src/Doubly_Linked_Object.types.hh line 1
@@ -176,6 +184,7 @@ class Handler_Function;
 
 namespace Parma_Watchdog_Library {
 
+template <class Threshold>
 class Pending_Element;
 
 } // namespace Parma_Watchdog_Library
@@ -188,6 +197,7 @@ class Pending_Element;
 
 namespace Parma_Watchdog_Library {
 
+template <typename Traits>
 class Pending_List;
 
 } // namespace Parma_Watchdog_Library
@@ -217,6 +227,19 @@ namespace Parma_Watchdog_Library {
 }
 
 #endif // !defined(PWL_Watchdog_types_hh)
+// Automatically generated from PPL source file ../src/Threshold_Watcher.types.hh line 1
+
+#ifndef PWL_Threshold_Watcher_types_hh
+#define PWL_Threshold_Watcher_types_hh 1
+
+namespace Parma_Watchdog_Library {
+
+template <typename Traits>
+class Threshold_Watcher;
+
+} // namespace Parma_Watchdog_Library
+
+#endif // !defined(PWL_Threshold_Watcher_types_hh)
 // Automatically generated from PPL source file ../src/Handler.defs.hh line 1
 /* Handler and derived classes' declaration.
 */
@@ -799,14 +822,15 @@ operator!=(const EList_Iterator<T>& x, const EList_Iterator<T>& y) {
 #ifndef PWL_EList_defs_hh
 #define PWL_EList_defs_hh 1
 
-// Automatically generated from PPL source file ../src/EList.defs.hh line 28
+// Automatically generated from PPL source file ../src/EList.defs.hh line 29
 
 /*! \brief
   A simple kind of embedded list (i.e., a doubly linked objects
   where the links are embedded in the objects themselves).
 */
 template <typename T>
-class Parma_Watchdog_Library::EList : private Doubly_Linked_Object {
+class Parma_Watchdog_Library::EList
+  : private Parma_Watchdog_Library::Doubly_Linked_Object {
 public:
   //! A const iterator to traverse the list.
   typedef EList_Iterator<const T> Const_Iterator;
@@ -864,6 +888,8 @@ public:
 #ifndef PWL_EList_inlines_hh
 #define PWL_EList_inlines_hh 1
 
+#include <cassert>
+
 namespace Parma_Watchdog_Library {
 
 template <typename T>
@@ -951,7 +977,7 @@ EList<T>::OK() const {
 } // namespace Parma_Watchdog_Library
 
 #endif // !defined(PWL_EList_inlines_hh)
-// Automatically generated from PPL source file ../src/EList.defs.hh line 86
+// Automatically generated from PPL source file ../src/EList.defs.hh line 88
 
 #endif // !defined(PWL_EList_defs_hh)
 // Automatically generated from PPL source file ../src/Pending_Element.defs.hh line 1
@@ -961,7 +987,7 @@ EList<T>::OK() const {
 #ifndef PWL_Pending_Element_defs_hh
 #define PWL_Pending_Element_defs_hh 1
 
-// Automatically generated from PPL source file ../src/Pending_Element.defs.hh line 30
+// Automatically generated from PPL source file ../src/Pending_Element.defs.hh line 29
 
 //! A class for pending watchdog events with embedded links.
 /*!
@@ -970,20 +996,21 @@ EList<T>::OK() const {
   expiration, and a Boolean flag that indicates whether the event has already
   expired or not.
 */
+template <typename Threshold>
 class Parma_Watchdog_Library::Pending_Element : public Doubly_Linked_Object {
 public:
   //! Constructs an element with the given attributes.
-  Pending_Element(const Time& deadline,
+  Pending_Element(const Threshold& deadline,
 		  const Handler& handler,
 		  bool& expired_flag);
 
   //! Modifies \p *this so that it has the given attributes.
-  void assign(const Time& deadline,
+  void assign(const Threshold& deadline,
 	      const Handler& handler,
 	      bool& expired_flag);
 
   //! Returns the deadline of the event.
-  const Time& deadline() const;
+  const Threshold& deadline() const;
 
   //! Returns the handler associated to the event.
   const Handler& handler() const;
@@ -996,7 +1023,7 @@ public:
 
 private:
   //! The deadline of the event.
-  Time d;
+  Threshold d;
 
   //! A pointer to the handler associated to the event.
   const Handler* p_h;
@@ -1012,38 +1039,51 @@ private:
 #ifndef PWL_Pending_Element_inlines_hh
 #define PWL_Pending_Element_inlines_hh 1
 
+#include <cassert>
+
 namespace Parma_Watchdog_Library {
 
+template <typename Threshold>
+inline bool
+Pending_Element<Threshold>::OK() const {
+  return true;
+}
+
+template <typename Threshold>
 inline
-Pending_Element::Pending_Element(const Time& deadline,
-				 const Handler& handler,
-				 bool& expired_flag)
+Pending_Element<Threshold>::Pending_Element(const Threshold& deadline,
+					    const Handler& handler,
+					    bool& expired_flag)
   : d(deadline), p_h(&handler), p_f(&expired_flag) {
   assert(OK());
 }
 
+template <typename Threshold>
 inline void
-Pending_Element::assign(const Time& deadline,
-			const Handler& handler,
-			bool& expired_flag) {
+Pending_Element<Threshold>::assign(const Threshold& deadline,
+				   const Handler& handler,
+				   bool& expired_flag) {
   d = deadline;
   p_h = &handler;
   p_f = &expired_flag;
   assert(OK());
 }
 
-inline const Time&
-Pending_Element::deadline() const {
+template <typename Threshold>
+inline const Threshold&
+Pending_Element<Threshold>::deadline() const {
   return d;
 }
 
+template <typename Threshold>
 inline const Handler&
-Pending_Element::handler() const {
+Pending_Element<Threshold>::handler() const {
   return *p_h;
 }
 
+template <typename Threshold>
 inline bool&
-Pending_Element::expired_flag() const {
+Pending_Element<Threshold>::expired_flag() const {
   return *p_f;
 }
 
@@ -1060,13 +1100,17 @@ Pending_Element::expired_flag() const {
 #ifndef PWL_Pending_List_defs_hh
 #define PWL_Pending_List_defs_hh 1
 
-// Automatically generated from PPL source file ../src/Pending_List.defs.hh line 31
+// Automatically generated from PPL source file ../src/Pending_List.defs.hh line 30
 
 //! An ordered list for recording pending watchdog events.
+template <typename Traits>
 class Parma_Watchdog_Library::Pending_List {
 public:
   //! A non-const iterator to traverse the list.
-  typedef EList<Pending_Element>::Iterator Iterator;
+  typedef typename EList<Pending_Element<typename Traits::Threshold> >::Iterator Iterator;
+
+  //! A const iterator to traverse the list.
+  typedef typename EList<Pending_Element<typename Traits::Threshold> >::Const_Iterator Const_Iterator;
 
   //! Constructs an empty list.
   Pending_List();
@@ -1075,7 +1119,7 @@ public:
   ~Pending_List();
 
   //! Inserts a new Pending_Element object with the given attributes.
-  Iterator insert(const Time& deadline,
+  Iterator insert(const typename Traits::Threshold& deadline,
 		  const Handler& handler,
 		  bool& expired_flag);
 
@@ -1098,8 +1142,8 @@ public:
   bool OK() const;
 
 private:
-  EList<Pending_Element> active_list;
-  EList<Pending_Element> free_list;
+  EList<Pending_Element<typename Traits::Threshold> > active_list;
+  EList<Pending_Element<typename Traits::Threshold> > free_list;
 };
 
 // Automatically generated from PPL source file ../src/Pending_List.inlines.hh line 1
@@ -1109,36 +1153,44 @@ private:
 #ifndef PWL_Pending_List_inlines_hh
 #define PWL_Pending_List_inlines_hh 1
 
+#include <cassert>
+
 namespace Parma_Watchdog_Library {
 
+template <typename Traits>
 inline
-Pending_List::Pending_List()
+Pending_List<Traits>::Pending_List()
   : active_list(),
     free_list() {
   assert(OK());
 }
 
+template <typename Traits>
 inline
-Pending_List::~Pending_List() {
+Pending_List<Traits>::~Pending_List() {
 }
 
-inline Pending_List::Iterator
-Pending_List::begin() {
+template <typename Traits>
+inline typename Pending_List<Traits>::Iterator
+Pending_List<Traits>::begin() {
   return active_list.begin();
 }
 
-inline Pending_List::Iterator
-Pending_List::end() {
+template <typename Traits>
+inline typename Pending_List<Traits>::Iterator
+Pending_List<Traits>::end() {
   return active_list.end();
 }
 
+template <typename Traits>
 inline bool
-Pending_List::empty() const {
+Pending_List<Traits>::empty() const {
   return active_list.empty();
 }
 
-inline Pending_List::Iterator
-Pending_List::erase(Iterator position) {
+template <typename Traits>
+inline typename Pending_List<Traits>::Iterator
+Pending_List<Traits>::erase(Iterator position) {
   assert(!empty());
   Iterator next = active_list.erase(position);
   free_list.push_back(*position);
@@ -1149,7 +1201,72 @@ Pending_List::erase(Iterator position) {
 } // namespace Parma_Watchdog_Library
 
 #endif // !defined(PWL_Pending_List_inlines_hh)
-// Automatically generated from PPL source file ../src/Pending_List.defs.hh line 73
+// Automatically generated from PPL source file ../src/Pending_List.templates.hh line 1
+/* Pending_List class implementation.
+*/
+
+#ifndef PWL_Pending_List_templates_hh
+#define PWL_Pending_List_templates_hh 1
+
+#include <iostream>
+
+namespace Parma_Watchdog_Library {
+
+template <typename Traits>
+typename Pending_List<Traits>::Iterator
+Pending_List<Traits>::insert(const typename Traits::Threshold& deadline,
+			     const Handler& handler,
+			     bool& expired_flag) {
+  Iterator position = active_list.begin();
+  for (Iterator active_list_end = active_list.end();
+       position != active_list_end && Traits::less_than(position->deadline(), deadline);
+       ++position)
+    ;
+  Iterator ppe;
+  // Only allocate a new element if the free list is empty.
+  if (free_list.empty())
+    ppe = new Pending_Element<typename Traits::Threshold>(deadline, handler, expired_flag);
+  else {
+    ppe = free_list.begin();
+    free_list.erase(ppe);
+    ppe->assign(deadline, handler, expired_flag);
+  }
+  Iterator r = active_list.insert(position, *ppe);
+  assert(OK());
+  return r;
+}
+
+template <typename Traits>
+bool
+Pending_List<Traits>::OK() const {
+  if (!active_list.OK())
+    return false;
+
+  if (!free_list.OK())
+    return false;
+
+  const typename Traits::Threshold* old;
+  Const_Iterator i = active_list.begin();
+  old = &i->deadline();
+  ++i;
+  for (Const_Iterator active_list_end = active_list.end(); i != active_list_end; ++i) {
+    const typename Traits::Threshold& t = i->deadline();
+    if (Traits::less_than(t, *old)) {
+#ifndef NDEBUG
+      std::cerr << "The active list is not sorted!"
+		<< std::endl;
+#endif
+      return false;
+    }
+    old = &t;
+  }
+  return true;
+}
+
+} // namespace Parma_Watchdog_Library
+
+#endif // !defined(PWL_Pending_List_templates_hh)
+// Automatically generated from PPL source file ../src/Pending_List.defs.hh line 77
 
 #endif // !defined(PWL_Pending_List_defs_hh)
 // Automatically generated from PPL source file ../src/Watchdog.defs.hh line 1
@@ -1161,6 +1278,7 @@ Pending_List::erase(Iterator position) {
 
 // Automatically generated from PPL source file ../src/Watchdog.defs.hh line 30
 #include <cassert>
+#include <functional>
 
 #ifdef PWL_HAVE_SYS_TIME_H
 # include <sys/time.h>
@@ -1171,34 +1289,54 @@ namespace Parma_Watchdog_Library {
 // Set linkage now to declare it friend later.
 extern "C" void PWL_handle_timeout(int signum);
 
+struct Watchdog_Traits {
+  typedef Time Threshold;
+  static bool less_than(const Threshold& a, const Threshold& b) {
+    return a < b;
+  }
+};
+
 //! A watchdog timer.
 class Watchdog {
 public:
   template <typename Flag_Base, typename Flag>
-  Watchdog(int units, const Flag_Base* volatile& holder, Flag& flag);
+  Watchdog(unsigned int units, const Flag_Base* volatile& holder, Flag& flag);
 
-  Watchdog(int units, void (*function)());
+  /*! \brief
+    Constructor: if not reset, the watchdog will trigger after \p units
+    hundreths of seconds, invoking handler \p function.
+  */
+  Watchdog(unsigned int units, void (*function)());
+
+  //! Destructor.
   ~Watchdog();
 
+#if PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
 
 private:
+  typedef Pending_List<Watchdog_Traits> WD_Pending_List;
   friend class Init;
+
+  //! Static class initialization.
   static void initialize();
+  //! Static class finalization.
   static void finalize();
 
+  //! Whether or not this watchdog has expired.
   bool expired;
+
   const Handler& handler;
-  Pending_List::Iterator pending_position;
+  WD_Pending_List::Iterator pending_position;
 
-private:
-  // Just to prevent their use.
+  // Private and not implemented: copy construction is not allowed.
   Watchdog(const Watchdog&);
+  // Private and not implemented: copy assignment is not allowed.
   Watchdog& operator=(const Watchdog&);
 
   // Pass this to getitimer().
   static itimerval current_timer_status;
 
-  // Get the timer value.
+  //! Reads the timer value into \p time.
   static void get_timer(Time& time);
 
   // Pass this to setitimer().
@@ -1207,13 +1345,13 @@ private:
   // Last time value we set the timer to.
   static Time last_time_requested;
 
-  // Set the timer value.
+  //! Sets the timer value to \p time.
   static void set_timer(const Time& time);
 
-  // Stops the timer.
+  //! Stops the timer.
   static void stop_timer();
 
-  // Quick reschedule to avoid race conditions.
+  //! Quick reschedule to avoid race conditions.
   static void reschedule();
 
   // Used by the above.
@@ -1223,28 +1361,33 @@ private:
   static Time time_so_far;
 
   //! The ordered queue of pending watchdog events.
-  static Pending_List pending;
+  static WD_Pending_List pending;
 
   //! The actual signal handler.
   static void handle_timeout(int);
 
-  // Handle the addition of a new watchdog event.
-  static Pending_List::Iterator new_watchdog_event(int units,
-						   const Handler& handler,
-						   bool& expired_flag);
+  //! Handles the addition of a new watchdog event.
+  static WD_Pending_List::Iterator
+  new_watchdog_event(unsigned int units,
+                     const Handler& handler,
+                     bool& expired_flag);
 
-  // Handle the removal of a watchdog event.
-  void remove_watchdog_event(Pending_List::Iterator position);
+  //! Handles the removal of the watchdog event referred by \p position.
+  void remove_watchdog_event(WD_Pending_List::Iterator position);
 
-  // Whether the alarm clock is running.
+  //! Whether the alarm clock is running.
   static volatile bool alarm_clock_running;
 
-  // Whether we are changing data that is also changed by the signal handler.
+  //! Whether we are changing data that is also changed by the signal handler.
   static volatile bool in_critical_section;
 
   friend void PWL_handle_timeout(int signum);
+
+#endif // PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
 };
 
+#if PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
+
 class Init {
 private:
   //! Count the number of objects created.
@@ -1258,6 +1401,8 @@ public:
   ~Init();
 };
 
+#endif // PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
+
 } // namespace Parma_Watchdog_Library
 
 // Automatically generated from PPL source file ../src/Watchdog.inlines.hh line 1
@@ -1273,16 +1418,15 @@ public:
 
 namespace Parma_Watchdog_Library {
 
-inline void
-Watchdog::reschedule() {
-  set_timer(reschedule_time);
-}
+#if PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
 
 template <typename Flag_Base, typename Flag>
-Watchdog::Watchdog(int units, const Flag_Base* volatile& holder, Flag& flag)
+Watchdog::Watchdog(unsigned int units,
+		   const Flag_Base* volatile& holder,
+                   Flag& flag)
   : expired(false),
     handler(*new Handler_Flag<Flag_Base, Flag>(holder, flag)) {
-  if (units <= 0)
+  if (units == 0)
     throw std::invalid_argument("Watchdog constructor called with a"
 				" non-positive number of time units");
   in_critical_section = true;
@@ -1291,9 +1435,9 @@ Watchdog::Watchdog(int units, const Flag_Base* volatile& holder, Flag& flag)
 }
 
 inline
-Watchdog::Watchdog(int units, void (*function)())
+Watchdog::Watchdog(unsigned int units, void (*function)())
   : expired(false), handler(*new Handler_Function(function)) {
-  if (units <= 0)
+  if (units == 0)
     throw std::invalid_argument("Watchdog constructor called with a"
 				" non-positive number of time units");
   in_critical_section = true;
@@ -1302,6 +1446,21 @@ Watchdog::Watchdog(int units, void (*function)())
 }
 
 inline
+Watchdog::~Watchdog() {
+  if (!expired) {
+    in_critical_section = true;
+    remove_watchdog_event(pending_position);
+    in_critical_section = false;
+  }
+  delete &handler;
+}
+
+inline void
+Watchdog::reschedule() {
+  set_timer(reschedule_time);
+}
+
+inline
 Init::Init() {
   // Only when the first Init object is constructed...
   if (count++ == 0) {
@@ -1319,10 +1478,34 @@ Init::~Init() {
   }
 }
 
+#else // !PWL_HAVE_DECL_SETITIMER !! !PWL_HAVE_DECL_SIGACTION
+
+template <typename Flag_Base, typename Flag>
+Watchdog::Watchdog(unsigned int /* units */,
+		   const Flag_Base* volatile& /* holder */,
+                   Flag& /* flag */) {
+  throw std::logic_error("PWL::Watchdog objects not supported:"
+                         " system does not provide setitimer()");
+}
+
+inline
+Watchdog::Watchdog(unsigned int /* units */, void (* /* function */)()) {
+  throw std::logic_error("PWL::Watchdog objects not supported:"
+                         " system does not provide setitimer()");
+}
+
+inline
+Watchdog::~Watchdog() {
+}
+
+#endif // !PWL_HAVE_DECL_SETITIMER !! !PWL_HAVE_DECL_SIGACTION
+
 } // namespace Parma_Watchdog_Library
 
 #endif // !defined(PWL_Watchdog_inlines_hh)
-// Automatically generated from PPL source file ../src/Watchdog.defs.hh line 131
+// Automatically generated from PPL source file ../src/Watchdog.defs.hh line 159
+
+#if PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
 
 namespace {
 
@@ -1330,12 +1513,184 @@ Parma_Watchdog_Library::Init Parma_Watchdog_Library_initializer;
 
 } // namespace
 
+#endif // PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
+
 #endif // !defined(PWL_Watchdog_defs_hh)
 
+// Automatically generated from PPL source file ../src/Threshold_Watcher.defs.hh line 1
+/* Threshold_Watcher and associated classes' declaration and inline functions.
+*/
+
+#ifndef PWL_Threshold_Watcher_defs_hh
+#define PWL_Threshold_Watcher_defs_hh 1
+
+// Automatically generated from PPL source file ../src/Threshold_Watcher.defs.hh line 29
+#include <cassert>
+
+/*! \brief
+  A class of watchdogs controlling the exceeding of a threshold.
+
+  \tparam Traits
+  A class to set data types and functions for the threshold handling.
+  See \c Parma_Polyhedra_Library::Weightwatch_Traits for an example.
+*/
+template <typename Traits>
+class Parma_Watchdog_Library::Threshold_Watcher {
+public:
+  template <typename Flag_Base, typename Flag>
+  Threshold_Watcher(const typename Traits::Delta& delta,
+                    const Flag_Base* volatile& holder,
+                    Flag& flag);
+
+  Threshold_Watcher(const typename Traits::Delta& delta,
+                    void (*function)());
+
+  ~Threshold_Watcher();
+
+private:
+  typedef Pending_List<Traits> TW_Pending_List;
+
+  bool expired;
+  const Handler& handler;
+  typename TW_Pending_List::Iterator pending_position;
+
+  // Just to prevent their use.
+  Threshold_Watcher(const Threshold_Watcher&);
+  Threshold_Watcher& operator=(const Threshold_Watcher&);
+
+  struct Initialize {
+    //! The ordered queue of pending thresholds.
+    TW_Pending_List pending;
+  };
+  static Initialize init;
+
+  // Handle the addition of a new threshold.
+  static typename TW_Pending_List::Iterator
+  add_threshold(typename Traits::Threshold threshold,
+		const Handler& handler,
+		bool& expired_flag);
+
+  // Handle the removal of a threshold.
+  static typename TW_Pending_List::Iterator
+  remove_threshold(typename TW_Pending_List::Iterator position);
+
+  //! Check threshold reaching.
+  static void check();
+
+}; // class Parma_Watchdog_Library::Threshold_Watcher
+
+
+// Templatic initialization of static data member.
+template <typename Traits>
+typename Parma_Watchdog_Library::Threshold_Watcher<Traits>::Initialize
+Parma_Watchdog_Library::Threshold_Watcher<Traits>::init;
+
+// Automatically generated from PPL source file ../src/Threshold_Watcher.inlines.hh line 1
+/* Threshold_Watcher and associated classes' implementation: inline functions.
+*/
+
+#ifndef PWL_Threshold_Watcher_inlines_hh
+#define PWL_Threshold_Watcher_inlines_hh 1
+
+#include <stdexcept>
+
+// Automatically generated from PPL source file ../src/Threshold_Watcher.inlines.hh line 29
+
+namespace Parma_Watchdog_Library {
+
+template <typename Traits>
+template <typename Flag_Base, typename Flag>
+Threshold_Watcher<Traits>::Threshold_Watcher(const typename Traits::Delta& delta, const Flag_Base* volatile& holder, Flag& flag)
+  : expired(false),
+    handler(*new Handler_Flag<Flag_Base, Flag>(holder, flag)) {
+  typename Traits::Threshold threshold;
+  Traits::from_delta(threshold, delta);
+  if (!Traits::less_than(Traits::get(), threshold))
+    throw std::invalid_argument("Threshold_Watcher constructor called with a"
+				" threshold already reached");
+  pending_position = add_threshold(threshold, handler, expired);
+}
+
+template <typename Traits>
+inline
+Threshold_Watcher<Traits>::Threshold_Watcher(const typename Traits::Delta& delta, void (*function)())
+  : expired(false), handler(*new Handler_Function(function)) {
+  typename Traits::Threshold threshold;
+  Traits::from_delta(threshold, delta);
+  if (!Traits::less_than(Traits::get(), threshold))
+    throw std::invalid_argument("Threshold_Watcher constructor called with a"
+				" threshold already reached");
+  pending_position = add_threshold(threshold, handler, expired);
+}
+
+} // namespace Parma_Watchdog_Library
+
+#endif // !defined(PWL_Threshold_Watcher_inlines_hh)
+// Automatically generated from PPL source file ../src/Threshold_Watcher.templates.hh line 1
+/* Threshold_Watcher and associated classes'.
+*/
+
+#ifndef PWL_Threshold_Watcher_templates_hh
+#define PWL_Threshold_Watcher_templates_hh 1
+
+namespace Parma_Watchdog_Library {
+
+template <typename Traits>
+typename Threshold_Watcher<Traits>::TW_Pending_List::Iterator
+Threshold_Watcher<Traits>::add_threshold(typename Traits::Threshold threshold,
+                                         const Handler& handler,
+                                         bool& expired_flag) {
+  Traits::check_function = Threshold_Watcher::check;
+  return init.pending.insert(threshold, handler, expired_flag);
+}
+
+template <typename Traits>
+typename Threshold_Watcher<Traits>::TW_Pending_List::Iterator
+Threshold_Watcher<Traits>
+::remove_threshold(typename TW_Pending_List::Iterator position) {
+  typename TW_Pending_List::Iterator i = init.pending.erase(position);
+  if (init.pending.empty())
+    Traits::check_function = 0;
+  return i;
+}
+
+template <typename Traits>
+Threshold_Watcher<Traits>::~Threshold_Watcher() {
+  if (!expired)
+    remove_threshold(pending_position);
+  delete &handler;
+}
+
+template <typename Traits>
+void
+Threshold_Watcher<Traits>::check() {
+  typename TW_Pending_List::Iterator i = init.pending.begin();
+  assert(i != init.pending.end());
+  const typename Traits::Threshold& current = Traits::get();
+  while (!Traits::less_than(current, i->deadline())) {
+    i->handler().act();
+    i->expired_flag() = true;
+    i = remove_threshold(i);
+    if (i == init.pending.end())
+      break;
+  }
+}
+
+} // namespace Parma_Watchdog_Library
+
+#endif // !defined(PWL_Threshold_Watcher_templates_hh)
+// Automatically generated from PPL source file ../src/Threshold_Watcher.defs.hh line 91
+
+#endif // !defined(PWL_Threshold_Watcher_defs_hh)
+
+
+//! Defined to 1 if PWL::Watchdog objects are supported, to 0 otherwise.
+#define PWL_WATCHDOG_OBJECTS_ARE_SUPPORTED \
+  (PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION)
 
 #ifdef PWL_SAVE_NDEBUG
 # ifndef NDEBUG
-#  define NDEBUG 1
+#  define NDEBUG PWL_SAVE_NDEBUG
 # endif
 # undef PWL_SAVE_NDEBUG
 #else
@@ -1343,6 +1698,8 @@ Parma_Watchdog_Library::Init Parma_Watchdog_Library_initializer;
 #  undef NDEBUG
 # endif
 #endif
+// Must include <cassert> again in order to make the latest changes to
+// NDEBUG effective.
 #include <cassert>
 
 #endif
diff --git a/Watchdog/src/pwl_header.hh b/Watchdog/src/pwl_header.hh
index d0d9700..8df3a05 100644
--- a/Watchdog/src/pwl_header.hh
+++ b/Watchdog/src/pwl_header.hh
@@ -1,5 +1,5 @@
 /* This is the header file of the Parma Watchdog Library.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
@@ -24,16 +24,20 @@ site: http://www.cs.unipr.it/ppl/ . */
 #define PWL_pwl_hh 1
 
 #ifdef NDEBUG
-# define PWL_SAVE_NDEBUG 1
+# define PWL_SAVE_NDEBUG NDEBUG
 # undef NDEBUG
 #endif
 
 #include "pwl-config.h"
 #include "pwl_include_files.hh"
 
+//! Defined to 1 if PWL::Watchdog objects are supported, to 0 otherwise.
+#define PWL_WATCHDOG_OBJECTS_ARE_SUPPORTED \
+  (PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION)
+
 #ifdef PWL_SAVE_NDEBUG
 # ifndef NDEBUG
-#  define NDEBUG 1
+#  define NDEBUG PWL_SAVE_NDEBUG
 # endif
 # undef PWL_SAVE_NDEBUG
 #else
@@ -41,6 +45,8 @@ site: http://www.cs.unipr.it/ppl/ . */
 #  undef NDEBUG
 # endif
 #endif
+// Must include <cassert> again in order to make the latest changes to
+// NDEBUG effective.
 #include <cassert>
 
 #endif
diff --git a/Watchdog/tests/Makefile.am b/Watchdog/tests/Makefile.am
index e235e98..05fd8b2 100644
--- a/Watchdog/tests/Makefile.am
+++ b/Watchdog/tests/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Watchdog Library (PWL).
 #
@@ -47,8 +47,7 @@ pwl_test.cc
 
 LDADD = \
 ../src/libpwl.la \
-libpwl_tests.a \
--lm
+libpwl_tests.a
 
 noinst_HEADERS = \
 pwl_test.hh
@@ -56,7 +55,7 @@ pwl_test.hh
 EXTRA_DIST = valgrind_suppressions
 
 TESTS = \
-simple1
+watchdog1
 
 XFAIL_TESTS =
 
@@ -64,7 +63,7 @@ XFAIL_TESTS =
 # Sources for the tests
 #
 
-simple1_SOURCES = simple1.cc
+watchdog1_SOURCES = watchdog1.cc
 
 check_PROGRAMS = $(TESTS)
 
diff --git a/Watchdog/tests/Makefile.in b/Watchdog/tests/Makefile.in
index 4465648..593678d 100644
--- a/Watchdog/tests/Makefile.in
+++ b/Watchdog/tests/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Watchdog Library (PWL).
 #
@@ -38,8 +39,9 @@
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -54,7 +56,7 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-TESTS = simple1$(EXEEXT)
+TESTS = watchdog1$(EXEEXT)
 XFAIL_TESTS =
 check_PROGRAMS = $(am__EXEEXT_1)
 subdir = tests
@@ -71,36 +73,60 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 ARFLAGS = cru
+AM_V_AR = $(am__v_AR_$(V))
+am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY))
+am__v_AR_0 = @echo "  AR    " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 libpwl_tests_a_AR = $(AR) $(ARFLAGS)
 libpwl_tests_a_LIBADD =
 am_libpwl_tests_a_OBJECTS = pwl_test.$(OBJEXT)
 libpwl_tests_a_OBJECTS = $(am_libpwl_tests_a_OBJECTS)
-am__EXEEXT_1 = simple1$(EXEEXT)
-am_simple1_OBJECTS = simple1.$(OBJEXT)
-simple1_OBJECTS = $(am_simple1_OBJECTS)
-simple1_LDADD = $(LDADD)
-simple1_DEPENDENCIES = ../src/libpwl.la libpwl_tests.a
+am__EXEEXT_1 = watchdog1$(EXEEXT)
+am_watchdog1_OBJECTS = watchdog1.$(OBJEXT)
+watchdog1_OBJECTS = $(am_watchdog1_OBJECTS)
+watchdog1_LDADD = $(LDADD)
+watchdog1_DEPENDENCIES = ../src/libpwl.la libpwl_tests.a
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_$(V))
+am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+am__v_CXX_0 = @echo "  CXX   " $@;
 CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
-SOURCES = $(libpwl_tests_a_SOURCES) $(simple1_SOURCES)
-DIST_SOURCES = $(libpwl_tests_a_SOURCES) $(simple1_SOURCES)
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_$(V))
+am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
+SOURCES = $(libpwl_tests_a_SOURCES) $(watchdog1_SOURCES)
+DIST_SOURCES = $(libpwl_tests_a_SOURCES) $(watchdog1_SOURCES)
 HEADERS = $(noinst_HEADERS)
 ETAGS = etags
 CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -109,7 +135,6 @@ AWK = @AWK@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
-CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
@@ -154,6 +179,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -202,7 +228,6 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 oldincludedir = @oldincludedir@
@@ -236,8 +261,7 @@ pwl_test.cc
 
 LDADD = \
 ../src/libpwl.la \
-libpwl_tests.a \
--lm
+libpwl_tests.a
 
 noinst_HEADERS = \
 pwl_test.hh
@@ -247,7 +271,7 @@ EXTRA_DIST = valgrind_suppressions
 #
 # Sources for the tests
 #
-simple1_SOURCES = simple1.cc
+watchdog1_SOURCES = watchdog1.cc
 all: all-am
 
 .SUFFIXES:
@@ -256,14 +280,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  tests/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  tests/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign tests/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -281,23 +305,26 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 clean-checkLIBRARIES:
 	-test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
 libpwl_tests.a: $(libpwl_tests_a_OBJECTS) $(libpwl_tests_a_DEPENDENCIES) 
-	-rm -f libpwl_tests.a
-	$(libpwl_tests_a_AR) libpwl_tests.a $(libpwl_tests_a_OBJECTS) $(libpwl_tests_a_LIBADD)
-	$(RANLIB) libpwl_tests.a
+	$(AM_V_at)-rm -f libpwl_tests.a
+	$(AM_V_AR)$(libpwl_tests_a_AR) libpwl_tests.a $(libpwl_tests_a_OBJECTS) $(libpwl_tests_a_LIBADD)
+	$(AM_V_at)$(RANLIB) libpwl_tests.a
 
 clean-checkPROGRAMS:
-	@list='$(check_PROGRAMS)'; for p in $$list; do \
-	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  echo " rm -f $$p $$f"; \
-	  rm -f $$p $$f ; \
-	done
-simple1$(EXEEXT): $(simple1_OBJECTS) $(simple1_DEPENDENCIES) 
-	@rm -f simple1$(EXEEXT)
-	$(CXXLINK) $(simple1_OBJECTS) $(simple1_LDADD) $(LIBS)
+	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
+watchdog1$(EXEEXT): $(watchdog1_OBJECTS) $(watchdog1_DEPENDENCIES) 
+	@rm -f watchdog1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(watchdog1_OBJECTS) $(watchdog1_LDADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -306,25 +333,28 @@ distclean-compile:
 	-rm -f *.tab.c
 
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pwl_test.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/simple1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/watchdog1.Po at am__quote@
 
 .cc.o:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
- at am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
@@ -340,14 +370,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
@@ -355,37 +385,43 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
 check-TESTS: $(TESTS)
-	@failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[	 ]'; \
+	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
 	srcdir=$(srcdir); export srcdir; \
 	list=' $(TESTS) '; \
+	$(am__tty_colors); \
 	if test -n "$$list"; then \
 	  for tst in $$list; do \
 	    if test -f ./$$tst; then dir=./; \
@@ -394,49 +430,63 @@ check-TESTS: $(TESTS)
 	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
 	      all=`expr $$all + 1`; \
 	      case " $(XFAIL_TESTS) " in \
-	      *$$ws$$tst$$ws*) \
+	      *[\ \	]$$tst[\ \	]*) \
 		xpass=`expr $$xpass + 1`; \
 		failed=`expr $$failed + 1`; \
-		echo "XPASS: $$tst"; \
+		col=$$red; res=XPASS; \
 	      ;; \
 	      *) \
-		echo "PASS: $$tst"; \
+		col=$$grn; res=PASS; \
 	      ;; \
 	      esac; \
 	    elif test $$? -ne 77; then \
 	      all=`expr $$all + 1`; \
 	      case " $(XFAIL_TESTS) " in \
-	      *$$ws$$tst$$ws*) \
+	      *[\ \	]$$tst[\ \	]*) \
 		xfail=`expr $$xfail + 1`; \
-		echo "XFAIL: $$tst"; \
+		col=$$lgn; res=XFAIL; \
 	      ;; \
 	      *) \
 		failed=`expr $$failed + 1`; \
-		echo "FAIL: $$tst"; \
+		col=$$red; res=FAIL; \
 	      ;; \
 	      esac; \
 	    else \
 	      skip=`expr $$skip + 1`; \
-	      echo "SKIP: $$tst"; \
+	      col=$$blu; res=SKIP; \
 	    fi; \
+	    echo "$${col}$$res$${std}: $$tst"; \
 	  done; \
+	  if test "$$all" -eq 1; then \
+	    tests="test"; \
+	    All=""; \
+	  else \
+	    tests="tests"; \
+	    All="All "; \
+	  fi; \
 	  if test "$$failed" -eq 0; then \
 	    if test "$$xfail" -eq 0; then \
-	      banner="All $$all tests passed"; \
+	      banner="$$All$$all $$tests passed"; \
 	    else \
-	      banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
+	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
 	    fi; \
 	  else \
 	    if test "$$xpass" -eq 0; then \
-	      banner="$$failed of $$all tests failed"; \
+	      banner="$$failed of $$all $$tests failed"; \
 	    else \
-	      banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
+	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
 	    fi; \
 	  fi; \
 	  dashes="$$banner"; \
 	  skipped=""; \
 	  if test "$$skip" -ne 0; then \
-	    skipped="($$skip tests were not run)"; \
+	    if test "$$skip" -eq 1; then \
+	      skipped="($$skip test was not run)"; \
+	    else \
+	      skipped="($$skip tests were not run)"; \
+	    fi; \
 	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
 	      dashes="$$skipped"; \
 	  fi; \
@@ -447,11 +497,15 @@ check-TESTS: $(TESTS)
 	      dashes="$$report"; \
 	  fi; \
 	  dashes=`echo "$$dashes" | sed s/./=/g`; \
-	  echo "$$dashes"; \
+	  if test "$$failed" -eq 0; then \
+	    echo "$$grn$$dashes"; \
+	  else \
+	    echo "$$red$$dashes"; \
+	  fi; \
 	  echo "$$banner"; \
 	  test -z "$$skipped" || echo "$$skipped"; \
 	  test -z "$$report" || echo "$$report"; \
-	  echo "$$dashes"; \
+	  echo "$$dashes$$std"; \
 	  test "$$failed" -eq 0; \
 	else :; fi
 
@@ -471,13 +525,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -507,6 +565,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -528,6 +587,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -536,18 +597,28 @@ install-data-am:
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am:
 
 install-html: install-html-am
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-am
 
+install-pdf-am:
+
 install-ps: install-ps-am
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -570,7 +641,7 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: install-am install-strip
+.MAKE: check-am install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
 	clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
@@ -589,6 +660,7 @@ uninstall-am:
 
 ../src/libpwl.la:
 	$(MAKE) $(AM_MAKEFLAGS) -C ../src libpwl.la
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/Watchdog/tests/pwl_test.cc b/Watchdog/tests/pwl_test.cc
index f328518..94d4c3b 100644
--- a/Watchdog/tests/pwl_test.cc
+++ b/Watchdog/tests/pwl_test.cc
@@ -1,5 +1,5 @@
 /* Implementation of utility functions used in test programs.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
@@ -43,9 +43,12 @@ uncaught_exception_handler() {
   exit(1);
 }
 
-#ifdef HAVE_SIGINFO_T
+#if PWL_HAVE_DECL_SIGACTION
+
+#if defined(PWL_HAVE_SIGINFO_T) && defined(SA_SIGINFO)
+
 void
-fpe_handler(int sig, siginfo_t* sip, void*) {
+fpe_sigaction(int sig, siginfo_t* sip, void*) {
   if (sig != SIGFPE) {
     std::cerr << "fpe_handler called on signal different from SIGFPE"
 	      << std::endl;
@@ -109,11 +112,52 @@ fpe_handler(int sig, siginfo_t* sip, void*) {
       std::cerr << "FE_INVALID ";
 #endif
     std::cerr << std::endl;
-#endif
+#endif // defined(PWL_HAVE_FENV_H)
+  }
+  exit(1);
+}
+
+#else // !defined(PWL_HAVE_SIGINFO_T) || !defined(SA_SIGINFO)
+
+void
+fpe_handler(int sig) {
+  if (sig != SIGFPE) {
+    std::cerr << "fpe_handler called on signal different from SIGFPE"
+	      << std::endl;
+    exit(1);
   }
+  std::cerr << "SIGFPE caught"
+            << std::endl;
+#if defined(PWL_HAVE_FENV_H)
+  std::cerr << "Inquire with fetestexcept(): ";
+#ifdef FE_INEXACT
+  if (fetestexcept(FE_INEXACT))
+    std::cerr << "FE_INEXACT ";
+#endif
+#ifdef FE_DIVBYZERO
+  if (fetestexcept(FE_DIVBYZERO))
+    std::cerr << "FE_DIVBYZERO ";
+#endif
+#ifdef FE_UNDERFLOW
+  if (fetestexcept(FE_UNDERFLOW))
+    std::cerr << "FE_UNDERFLOW ";
+#endif
+#ifdef FE_OVERFLOW
+  if (fetestexcept(FE_OVERFLOW))
+    std::cerr << "FE_OVERFLOW ";
+#endif
+#if FE_INVALID
+  if (fetestexcept(FE_INVALID))
+    std::cerr << "FE_INVALID ";
+#endif
+  std::cerr << std::endl;
+#endif // defined(PWL_HAVE_FENV_H)
   exit(1);
 }
-#endif // defined(HAVE_SIGINFO_T)
+
+#endif // !defined(PWL_HAVE_SIGINFO_T) || !defined(SA_SIGINFO)
+
+#endif // PWL_HAVE_DECL_SIGACTION
 
 } // namespace
 
@@ -121,19 +165,24 @@ namespace Parma_Watchdog_Library {
 
 namespace Test {
 
-#ifdef HAVE_SIGINFO_T
 void
 set_handlers() {
+#if PWL_HAVE_DECL_SIGACTION
   struct sigaction action;
-  action.sa_sigaction = fpe_handler;
   sigemptyset(&action.sa_mask);
+#if defined(PWL_HAVE_SIGINFO_T) && defined(SA_SIGINFO)
+  action.sa_sigaction = fpe_sigaction;
   action.sa_flags = SA_SIGINFO;
+#else // !defined(PWL_HAVE_SIGINFO_T) || !defined(SA_SIGINFO)
+  action.sa_handler = fpe_handler;
+  action.sa_flags = 0;
+#endif // !defined(PWL_HAVE_SIGINFO_T) || !defined(SA_SIGINFO)
   if (sigaction(SIGFPE, &action, NULL) != 0) {
     std::cerr << "sigaction() failed"
 	      << std::endl;
     abort();
   }
-#endif // defined(HAVE_SIGINFO_T)
+#endif // PWL_HAVE_DECL_SIGACTION
 
   std::set_unexpected(unexpected_exception_handler);
   std::set_terminate(uncaught_exception_handler);
diff --git a/Watchdog/tests/pwl_test.hh b/Watchdog/tests/pwl_test.hh
index 0d35090..0f14b9b 100644
--- a/Watchdog/tests/pwl_test.hh
+++ b/Watchdog/tests/pwl_test.hh
@@ -1,5 +1,5 @@
 /* Header file for test programs.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/tests/simple1.cc b/Watchdog/tests/simple1.cc
deleted file mode 100644
index d6b9fa7..0000000
--- a/Watchdog/tests/simple1.cc
+++ /dev/null
@@ -1,71 +0,0 @@
-/* Some simple tests for the basic functionality of the PWL.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
-
-This file is part of the Parma Watchdog Library (PWL).
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include "pwl_test.hh"
-
-namespace {
-
-volatile bool interrupt = false;
-
-void
-do_interrupt() {
-  interrupt = true;
-}
-
-bool
-test01() {
-  const int hundredth_secs = 10;
-  try {
-    bool ok;
-    {
-      Watchdog w(hundredth_secs, do_interrupt);
-      nout << ((float) hundredth_secs)/100.0 << " seconds watchdog" << endl;
-
-      nout << "starting iteration... " << std::flush;
-      for (unsigned long i = 0; i < 1000000000; ++i) {
-        if (interrupt) {
-          nout << "interrupted" << endl;
-          ok = true;
-          goto done;
-        }
-      }
-      nout << "not interrupted" << endl;
-      ok = false;
-    done:
-      ;
-    }
-    interrupt = false;
-    return ok;
-  }
-  catch (...) {
-    return false;
-  }
-  // Should never get here.
-  return false;
-}
-
-
-} // namespace
-
-BEGIN_MAIN
-  DO_TEST(test01);
-END_MAIN
diff --git a/Watchdog/tests/watchdog1.cc b/Watchdog/tests/watchdog1.cc
new file mode 100644
index 0000000..c51dc6e
--- /dev/null
+++ b/Watchdog/tests/watchdog1.cc
@@ -0,0 +1,77 @@
+/* Some simple tests for the basic functionality of the PWL.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Watchdog Library (PWL).
+
+The PWL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PWL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "pwl_test.hh"
+
+namespace {
+
+volatile bool interrupt = false;
+
+void
+do_interrupt() {
+  interrupt = true;
+}
+
+bool
+test01() {
+  const int hundredth_secs = 10;
+  try {
+    bool ok;
+    {
+      Watchdog w(hundredth_secs, do_interrupt);
+      nout << ((float) hundredth_secs)/100.0 << " seconds watchdog" << endl;
+
+      nout << "starting iteration... " << std::flush;
+      for (unsigned long i = 0; i < 1000000000; ++i) {
+        if (interrupt) {
+          nout << "interrupted" << endl;
+          ok = true;
+          goto done;
+        }
+      }
+      nout << "not interrupted" << endl;
+      ok = false;
+    done:
+      ;
+    }
+    interrupt = false;
+    return ok;
+  }
+#if !PWL_WATCHDOG_OBJECTS_ARE_SUPPORTED
+  catch (const std::logic_error& e) {
+    nout << "std::logic_error caught (" << e.what() << ")" << endl;
+    return true;
+  }
+#endif // !PWL_WATCHDOG_OBJECTS_ARE_SUPPORTED
+  catch (...) {
+    return false;
+  }
+  // Should never get here.
+  return false;
+}
+
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+END_MAIN
diff --git a/Watchdog/utils/Makefile.am b/Watchdog/utils/Makefile.am
index 8ee0a3f..b112dc6 100644
--- a/Watchdog/utils/Makefile.am
+++ b/Watchdog/utils/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Watchdog Library (PWL).
 #
diff --git a/Watchdog/utils/Makefile.in b/Watchdog/utils/Makefile.in
index a262436..52b8064 100644
--- a/Watchdog/utils/Makefile.in
+++ b/Watchdog/utils/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Watchdog Library (PWL).
 #
@@ -38,8 +39,9 @@
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -68,12 +70,20 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 SCRIPTS = $(dist_noinst_SCRIPTS) $(noinst_SCRIPTS)
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -82,7 +92,6 @@ AWK = @AWK@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
-CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
@@ -127,6 +136,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -175,7 +185,6 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 oldincludedir = @oldincludedir@
@@ -211,14 +220,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  utils/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  utils/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign utils/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign utils/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -236,6 +245,7 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -265,13 +275,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -303,6 +317,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -321,6 +336,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -329,18 +346,28 @@ install-data-am:
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am:
 
 install-html: install-html-am
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-am
 
+install-pdf-am:
+
 install-ps: install-ps-am
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -385,6 +412,7 @@ dist-hook: $(noinst_SCRIPTS)
 build_header: build_header.in
 	$(do_subst) < $(srcdir)/build_header.in > build_header
 	chmod +x build_header
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/Watchdog/utils/build_header.in b/Watchdog/utils/build_header.in
index 0f242d6..447c7ab 100644
--- a/Watchdog/utils/build_header.in
+++ b/Watchdog/utils/build_header.in
@@ -6,7 +6,7 @@ eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac'
     if 0;
 
 # Builds a self-contained C++ header file by performing recursive inclusion.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
diff --git a/aclocal.m4 b/aclocal.m4
index 1ed770c..9c0d642 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.10.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
 
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -13,6652 +13,13 @@
 
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(AC_AUTOCONF_VERSION, [2.63],,
-[m4_warning([this file was generated for autoconf 2.63.
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.67],,
+[m4_warning([this file was generated for autoconf 2.67.
 You have another version of autoconf.  It may work, but is not guaranteed to.
 If you have problems, you may need to regenerate the build system entirely.
 To do so, use the procedure documented by the package, typically `autoreconf'.])])
 
-# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-
-# serial 52 AC_PROG_LIBTOOL
-
-
-# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
-# -----------------------------------------------------------
-# If this macro is not defined by Autoconf, define it here.
-m4_ifdef([AC_PROVIDE_IFELSE],
-         [],
-         [m4_define([AC_PROVIDE_IFELSE],
-	         [m4_ifdef([AC_PROVIDE_$1],
-		           [$2], [$3])])])
-
-
-# AC_PROG_LIBTOOL
-# ---------------
-AC_DEFUN([AC_PROG_LIBTOOL],
-[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
-dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
-dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
-  AC_PROVIDE_IFELSE([AC_PROG_CXX],
-    [AC_LIBTOOL_CXX],
-    [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
-  ])])
-dnl And a similar setup for Fortran 77 support
-  AC_PROVIDE_IFELSE([AC_PROG_F77],
-    [AC_LIBTOOL_F77],
-    [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77
-])])
-
-dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
-dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
-dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
-  AC_PROVIDE_IFELSE([AC_PROG_GCJ],
-    [AC_LIBTOOL_GCJ],
-    [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
-      [AC_LIBTOOL_GCJ],
-      [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
-	[AC_LIBTOOL_GCJ],
-      [ifdef([AC_PROG_GCJ],
-	     [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])
-       ifdef([A][M_PROG_GCJ],
-	     [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])])
-       ifdef([LT_AC_PROG_GCJ],
-	     [define([LT_AC_PROG_GCJ],
-		defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])])
-])])# AC_PROG_LIBTOOL
-
-
-# _AC_PROG_LIBTOOL
-# ----------------
-AC_DEFUN([_AC_PROG_LIBTOOL],
-[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-AC_SUBST(LIBTOOL)dnl
-
-# Prevent multiple expansion
-define([AC_PROG_LIBTOOL], [])
-])# _AC_PROG_LIBTOOL
-
-
-# AC_LIBTOOL_SETUP
-# ----------------
-AC_DEFUN([AC_LIBTOOL_SETUP],
-[AC_PREREQ(2.50)dnl
-AC_REQUIRE([AC_ENABLE_SHARED])dnl
-AC_REQUIRE([AC_ENABLE_STATIC])dnl
-AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_PROG_LD])dnl
-AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
-AC_REQUIRE([AC_PROG_NM])dnl
-
-AC_REQUIRE([AC_PROG_LN_S])dnl
-AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
-# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
-AC_REQUIRE([AC_OBJEXT])dnl
-AC_REQUIRE([AC_EXEEXT])dnl
-dnl
-AC_LIBTOOL_SYS_MAX_CMD_LEN
-AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-AC_LIBTOOL_OBJDIR
-
-AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-_LT_AC_PROG_ECHO_BACKSLASH
-
-case $host_os in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='sed -e 1s/^X//'
-[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
-
-# Same as above, but do not quote variable references.
-[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g']
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-# Constants:
-rm="rm -f"
-
-# Global variables:
-default_ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-ltmain="$ac_aux_dir/ltmain.sh"
-ofile="$default_ofile"
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-AC_CHECK_TOOL(AR, ar, false)
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-AC_CHECK_TOOL(STRIP, strip, :)
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-test -z "$AS" && AS=as
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-test -z "$LD" && LD=ld
-test -z "$LN_S" && LN_S="ln -s"
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-test -z "$NM" && NM=nm
-test -z "$SED" && SED=sed
-test -z "$OBJDUMP" && OBJDUMP=objdump
-test -z "$RANLIB" && RANLIB=:
-test -z "$STRIP" && STRIP=:
-test -z "$ac_objext" && ac_objext=o
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
-  case $host_os in
-  openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-_LT_CC_BASENAME([$compiler])
-
-# Only perform the check for file, if the check method requires it
-case $deplibs_check_method in
-file_magic*)
-  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    AC_PATH_MAGIC
-  fi
-  ;;
-esac
-
-_LT_REQUIRED_DARWIN_CHECKS
-
-AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
-AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
-enable_win32_dll=yes, enable_win32_dll=no)
-
-AC_ARG_ENABLE([libtool-lock],
-    [AC_HELP_STRING([--disable-libtool-lock],
-	[avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-AC_ARG_WITH([pic],
-    [AC_HELP_STRING([--with-pic],
-	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
-    [pic_mode="$withval"],
-    [pic_mode=default])
-test -z "$pic_mode" && pic_mode=default
-
-# Use C for the default configuration in the libtool script
-tagname=
-AC_LIBTOOL_LANG_C_CONFIG
-_LT_AC_TAGCONFIG
-])# AC_LIBTOOL_SETUP
-
-
-# _LT_AC_SYS_COMPILER
-# -------------------
-AC_DEFUN([_LT_AC_SYS_COMPILER],
-[AC_REQUIRE([AC_PROG_CC])dnl
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-])# _LT_AC_SYS_COMPILER
-
-
-# _LT_CC_BASENAME(CC)
-# -------------------
-# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
-AC_DEFUN([_LT_CC_BASENAME],
-[for cc_temp in $1""; do
-  case $cc_temp in
-    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
-    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-])
-
-
-# _LT_COMPILER_BOILERPLATE
-# ------------------------
-# Check for compiler boilerplate output or warnings with
-# the simple compiler test code.
-AC_DEFUN([_LT_COMPILER_BOILERPLATE],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-])# _LT_COMPILER_BOILERPLATE
-
-
-# _LT_LINKER_BOILERPLATE
-# ----------------------
-# Check for linker boilerplate output or warnings with
-# the simple link test code.
-AC_DEFUN([_LT_LINKER_BOILERPLATE],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm -r conftest*
-])# _LT_LINKER_BOILERPLATE
-
-# _LT_REQUIRED_DARWIN_CHECKS
-# --------------------------
-# Check for some things on darwin
-AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS],[
-  case $host_os in
-    rhapsody* | darwin*)
-    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
-    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
-
-    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
-      [lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
-   # By default we will add the -single_module flag. You can override
-   # by either setting the environment variable LT_MULTI_MODULE
-   # non-empty at configure time, or by adding -multi_module to the
-   # link flags.
-   echo "int foo(void){return 1;}" > conftest.c
-   $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-     -dynamiclib ${wl}-single_module conftest.c
-   if test -f libconftest.dylib; then
-     lt_cv_apple_cc_single_mod=yes
-     rm -rf libconftest.dylib*
-   fi
-   rm conftest.c
-      fi])
-    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
-      [lt_cv_ld_exported_symbols_list],
-      [lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
-   [lt_cv_ld_exported_symbols_list=yes],
-   [lt_cv_ld_exported_symbols_list=no])
-   LDFLAGS="$save_LDFLAGS"
-    ])
-    case $host_os in
-    rhapsody* | darwin1.[[0123]])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-    darwin1.*)
-     _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-    darwin*)
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-   10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
-     _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-   10.[[012]]*)
-     _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-   10.*)
-     _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
-    else
-      _lt_dar_export_syms="~$NMEDIT -s \$output_objdir/\${libname}-symbols.expsym \${lib}"
-    fi
-    if test "$DSYMUTIL" != ":"; then
-      _lt_dsymutil="~$DSYMUTIL \$lib || :"
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
-])
-
-# _LT_AC_SYS_LIBPATH_AIX
-# ----------------------
-# Links a minimal program and checks the executable
-# for the system default hardcoded library path. In most cases,
-# this is /usr/lib:/lib, but when the MPI compilers are used
-# the location of the communication and MPI libs are included too.
-# If we don't find anything, use the default library path according
-# to the aix ld manual.
-AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_LINK_IFELSE(AC_LANG_PROGRAM,[
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-	/^0/ {
-	    s/^0  *\(.*\)$/\1/
-	    p
-	}
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi],[])
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-])# _LT_AC_SYS_LIBPATH_AIX
-
-
-# _LT_AC_SHELL_INIT(ARG)
-# ----------------------
-AC_DEFUN([_LT_AC_SHELL_INIT],
-[ifdef([AC_DIVERSION_NOTICE],
-	     [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
-	 [AC_DIVERT_PUSH(NOTICE)])
-$1
-AC_DIVERT_POP
-])# _LT_AC_SHELL_INIT
-
-
-# _LT_AC_PROG_ECHO_BACKSLASH
-# --------------------------
-# Add some code to the start of the generated configure script which
-# will find an echo command which doesn't interpret backslashes.
-AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
-[_LT_AC_SHELL_INIT([
-# Check that we are running under the correct shell.
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-case X$ECHO in
-X*--fallback-echo)
-  # Remove one level of quotation (which was required for Make).
-  ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
-  ;;
-esac
-
-echo=${ECHO-echo}
-if test "X[$]1" = X--no-reexec; then
-  # Discard the --no-reexec flag, and continue.
-  shift
-elif test "X[$]1" = X--fallback-echo; then
-  # Avoid inline document here, it may be left over
-  :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
-  # Yippee, $echo works!
-  :
-else
-  # Restart under the correct shell.
-  exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
-fi
-
-if test "X[$]1" = X--fallback-echo; then
-  # used as fallback echo
-  shift
-  cat <<EOF
-[$]*
-EOF
-  exit 0
-fi
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test -z "$ECHO"; then
-if test "X${echo_test_string+set}" != Xset; then
-# find a string as large as possible, as long as the shell can cope with it
-  for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
-    # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
-    if (echo_test_string=`eval $cmd`) 2>/dev/null &&
-       echo_test_string=`eval $cmd` &&
-       (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
-    then
-      break
-    fi
-  done
-fi
-
-if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
-   echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
-   test "X$echo_testing_string" = "X$echo_test_string"; then
-  :
-else
-  # The Solaris, AIX, and Digital Unix default echo programs unquote
-  # backslashes.  This makes it impossible to quote backslashes using
-  #   echo "$something" | sed 's/\\/\\\\/g'
-  #
-  # So, first we look for a working echo in the user's PATH.
-
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for dir in $PATH /usr/ucb; do
-    IFS="$lt_save_ifs"
-    if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
-       test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
-       echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
-       test "X$echo_testing_string" = "X$echo_test_string"; then
-      echo="$dir/echo"
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-
-  if test "X$echo" = Xecho; then
-    # We didn't find a better echo, so look for alternatives.
-    if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
-       echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
-       test "X$echo_testing_string" = "X$echo_test_string"; then
-      # This shell has a builtin print -r that does the trick.
-      echo='print -r'
-    elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
-	 test "X$CONFIG_SHELL" != X/bin/ksh; then
-      # If we have ksh, try running configure again with it.
-      ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-      export ORIGINAL_CONFIG_SHELL
-      CONFIG_SHELL=/bin/ksh
-      export CONFIG_SHELL
-      exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
-    else
-      # Try using printf.
-      echo='printf %s\n'
-      if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
-	 echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
-	 test "X$echo_testing_string" = "X$echo_test_string"; then
-	# Cool, printf works
-	:
-      elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
-	   test "X$echo_testing_string" = 'X\t' &&
-	   echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-	   test "X$echo_testing_string" = "X$echo_test_string"; then
-	CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
-	export CONFIG_SHELL
-	SHELL="$CONFIG_SHELL"
-	export SHELL
-	echo="$CONFIG_SHELL [$]0 --fallback-echo"
-      elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
-	   test "X$echo_testing_string" = 'X\t' &&
-	   echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-	   test "X$echo_testing_string" = "X$echo_test_string"; then
-	echo="$CONFIG_SHELL [$]0 --fallback-echo"
-      else
-	# maybe with a smaller string...
-	prev=:
-
-	for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
-	  if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
-	  then
-	    break
-	  fi
-	  prev="$cmd"
-	done
-
-	if test "$prev" != 'sed 50q "[$]0"'; then
-	  echo_test_string=`eval $prev`
-	  export echo_test_string
-	  exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
-	else
-	  # Oops.  We lost completely, so just stick with echo.
-	  echo=echo
-	fi
-      fi
-    fi
-  fi
-fi
-fi
-
-# Copy echo and quote the copy suitably for passing to libtool from
-# the Makefile, instead of quoting the original, which is used later.
-ECHO=$echo
-if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
-   ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
-fi
-
-AC_SUBST(ECHO)
-])])# _LT_AC_PROG_ECHO_BACKSLASH
-
-
-# _LT_AC_LOCK
-# -----------
-AC_DEFUN([_LT_AC_LOCK],
-[AC_ARG_ENABLE([libtool-lock],
-    [AC_HELP_STRING([--disable-libtool-lock],
-	[avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    case `/usr/bin/file conftest.$ac_objext` in
-    *ELF-32*)
-      HPUX_IA64_MODE="32"
-      ;;
-    *ELF-64*)
-      HPUX_IA64_MODE="64"
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-*-*-irix6*)
-  # Find out which ABI we are using.
-  echo '[#]line __oline__ "configure"' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-   if test "$lt_cv_prog_gnu_ld" = yes; then
-    case `/usr/bin/file conftest.$ac_objext` in
-    *32-bit*)
-      LD="${LD-ld} -melf32bsmip"
-      ;;
-    *N32*)
-      LD="${LD-ld} -melf32bmipn32"
-      ;;
-    *64-bit*)
-      LD="${LD-ld} -melf64bmip"
-      ;;
-    esac
-   else
-    case `/usr/bin/file conftest.$ac_objext` in
-    *32-bit*)
-      LD="${LD-ld} -32"
-      ;;
-    *N32*)
-      LD="${LD-ld} -n32"
-      ;;
-    *64-bit*)
-      LD="${LD-ld} -64"
-      ;;
-    esac
-   fi
-  fi
-  rm -rf conftest*
-  ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|sparc*-*linux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    case `/usr/bin/file conftest.o` in
-    *32-bit*)
-      case $host in
-        x86_64-*kfreebsd*-gnu)
-          LD="${LD-ld} -m elf_i386_fbsd"
-          ;;
-        x86_64-*linux*)
-          LD="${LD-ld} -m elf_i386"
-          ;;
-        ppc64-*linux*|powerpc64-*linux*)
-          LD="${LD-ld} -m elf32ppclinux"
-          ;;
-        s390x-*linux*)
-          LD="${LD-ld} -m elf_s390"
-          ;;
-        sparc64-*linux*)
-          LD="${LD-ld} -m elf32_sparc"
-          ;;
-      esac
-      ;;
-    *64-bit*)
-      libsuff=64
-      case $host in
-        x86_64-*kfreebsd*-gnu)
-          LD="${LD-ld} -m elf_x86_64_fbsd"
-          ;;
-        x86_64-*linux*)
-          LD="${LD-ld} -m elf_x86_64"
-          ;;
-        ppc*-*linux*|powerpc*-*linux*)
-          LD="${LD-ld} -m elf64ppc"
-          ;;
-        s390*-*linux*)
-          LD="${LD-ld} -m elf64_s390"
-          ;;
-        sparc*-*linux*)
-          LD="${LD-ld} -m elf64_sparc"
-          ;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -belf"
-  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
-    [AC_LANG_PUSH(C)
-     AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
-     AC_LANG_POP])
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
-  fi
-  ;;
-sparc*-*solaris*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
-      *)
-        if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-	  LD="${LD-ld} -64"
-	fi
-	;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
-[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
-  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
-  AC_CHECK_TOOL(AS, as, false)
-  AC_CHECK_TOOL(OBJDUMP, objdump, false)
-  ;;
-  ])
-esac
-
-need_locks="$enable_libtool_lock"
-
-])# _LT_AC_LOCK
-
-
-# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
-[AC_REQUIRE([LT_AC_PROG_SED])
-AC_CACHE_CHECK([$1], [$2],
-  [$2=no
-  ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$3"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&AS_MESSAGE_LOG_FD
-   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       $2=yes
-     fi
-   fi
-   $rm conftest*
-])
-
-if test x"[$]$2" = xyes; then
-    ifelse([$5], , :, [$5])
-else
-    ifelse([$6], , :, [$6])
-fi
-])# AC_LIBTOOL_COMPILER_OPTION
-
-
-# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-#                          [ACTION-SUCCESS], [ACTION-FAILURE])
-# ------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_CACHE_CHECK([$1], [$2],
-  [$2=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $3"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&AS_MESSAGE_LOG_FD
-       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         $2=yes
-       fi
-     else
-       $2=yes
-     fi
-   fi
-   $rm -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-])
-
-if test x"[$]$2" = xyes; then
-    ifelse([$4], , :, [$4])
-else
-    ifelse([$5], , :, [$5])
-fi
-])# AC_LIBTOOL_LINKER_OPTION
-
-
-# AC_LIBTOOL_SYS_MAX_CMD_LEN
-# --------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
-[# find the maximum length of command line arguments
-AC_MSG_CHECKING([the maximum length of command line arguments])
-AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
-  i=0
-  teststring="ABCD"
-
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
-
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
-
-  cygwin* | mingw*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
-
-  interix*)
-    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-    lt_cv_sys_max_cmd_len=196608
-    ;;
-
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ 	]]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
-    ;;
-  *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
-	       = "XX$teststring") >/dev/null 2>&1 &&
-	      new_result=`expr "X$teststring" : ".*" 2>&1` &&
-	      lt_cv_sys_max_cmd_len=$new_result &&
-	      test $i != 17 # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on massive
-      # amounts of additional arguments before passing them to the linker.
-      # It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
-    ;;
-  esac
-])
-if test -n $lt_cv_sys_max_cmd_len ; then
-  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
-else
-  AC_MSG_RESULT(none)
-fi
-])# AC_LIBTOOL_SYS_MAX_CMD_LEN
-
-
-# _LT_AC_CHECK_DLFCN
-# ------------------
-AC_DEFUN([_LT_AC_CHECK_DLFCN],
-[AC_CHECK_HEADERS(dlfcn.h)dnl
-])# _LT_AC_CHECK_DLFCN
-
-
-# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
-#                           ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
-# ---------------------------------------------------------------------
-AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
-[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
-if test "$cross_compiling" = yes; then :
-  [$4]
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<EOF
-[#line __oline__ "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL		RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL		DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL		0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW		DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW	RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW	DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW	0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-
-void fnord() { int i=42;}
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-    exit (status);
-}]
-EOF
-  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) $1 ;;
-      x$lt_dlneed_uscore) $2 ;;
-      x$lt_dlunknown|x*) $3 ;;
-    esac
-  else :
-    # compilation failed
-    $3
-  fi
-fi
-rm -fr conftest*
-])# _LT_AC_TRY_DLOPEN_SELF
-
-
-# AC_LIBTOOL_DLOPEN_SELF
-# ----------------------
-AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
-[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
-if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
-
-  case $host_os in
-  beos*)
-    lt_cv_dlopen="load_add_on"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
-
-  mingw* | pw32*)
-    lt_cv_dlopen="LoadLibrary"
-    lt_cv_dlopen_libs=
-   ;;
-
-  cygwin*)
-    lt_cv_dlopen="dlopen"
-    lt_cv_dlopen_libs=
-   ;;
-
-  darwin*)
-  # if libdl is installed we need to link against it
-    AC_CHECK_LIB([dl], [dlopen],
-		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
-    lt_cv_dlopen="dyld"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ])
-   ;;
-
-  *)
-    AC_CHECK_FUNC([shl_load],
-	  [lt_cv_dlopen="shl_load"],
-      [AC_CHECK_LIB([dld], [shl_load],
-	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
-	[AC_CHECK_FUNC([dlopen],
-	      [lt_cv_dlopen="dlopen"],
-	  [AC_CHECK_LIB([dl], [dlopen],
-		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
-	    [AC_CHECK_LIB([svld], [dlopen],
-		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
-	      [AC_CHECK_LIB([dld], [dld_link],
-		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
-	      ])
-	    ])
-	  ])
-	])
-      ])
-    ;;
-  esac
-
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
-    enable_dlopen=no
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
-    save_LDFLAGS="$LDFLAGS"
-    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
-    save_LIBS="$LIBS"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-    AC_CACHE_CHECK([whether a program can dlopen itself],
-	  lt_cv_dlopen_self, [dnl
-	  _LT_AC_TRY_DLOPEN_SELF(
-	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
-	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
-    ])
-
-    if test "x$lt_cv_dlopen_self" = xyes; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
-    	  lt_cv_dlopen_self_static, [dnl
-	  _LT_AC_TRY_DLOPEN_SELF(
-	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
-	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
-      ])
-    fi
-
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
-    ;;
-  esac
-
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-])# AC_LIBTOOL_DLOPEN_SELF
-
-
-# AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
-# ---------------------------------
-# Check to see if options -c and -o are simultaneously supported by compiler
-AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
-  [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
-  [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
-   $rm -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&AS_MESSAGE_LOG_FD
-   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-     fi
-   fi
-   chmod u+w . 2>&AS_MESSAGE_LOG_FD
-   $rm conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
-   $rm out/* && rmdir out
-   cd ..
-   rmdir conftest
-   $rm conftest*
-])
-])# AC_LIBTOOL_PROG_CC_C_O
-
-
-# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME])
-# -----------------------------------------
-# Check to see if we can do hard links to lock some files if needed
-AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS],
-[AC_REQUIRE([_LT_AC_LOCK])dnl
-
-hard_links="nottested"
-if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  AC_MSG_CHECKING([if we can lock with hard links])
-  hard_links=yes
-  $rm conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  AC_MSG_RESULT([$hard_links])
-  if test "$hard_links" = no; then
-    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
-
-
-# AC_LIBTOOL_OBJDIR
-# -----------------
-AC_DEFUN([AC_LIBTOOL_OBJDIR],
-[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
-[rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  lt_cv_objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null])
-objdir=$lt_cv_objdir
-])# AC_LIBTOOL_OBJDIR
-
-
-# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
-# ----------------------------------------------
-# Check hardcoding attributes.
-AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
-[AC_MSG_CHECKING([how to hardcode library paths into programs])
-_LT_AC_TAGVAR(hardcode_action, $1)=
-if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
-   test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \
-   test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
-
-  # We can hardcode non-existant directories.
-  if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
-     test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
-    # Linking always hardcodes the temporary library directory.
-    _LT_AC_TAGVAR(hardcode_action, $1)=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    _LT_AC_TAGVAR(hardcode_action, $1)=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  _LT_AC_TAGVAR(hardcode_action, $1)=unsupported
-fi
-AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
-
-if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
-
-
-# AC_LIBTOOL_SYS_LIB_STRIP
-# ------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
-[striplib=
-old_striplib=
-AC_MSG_CHECKING([whether stripping libraries is possible])
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  AC_MSG_RESULT([yes])
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-   darwin*)
-       if test -n "$STRIP" ; then
-         striplib="$STRIP -x"
-         old_striplib="$STRIP -S"
-         AC_MSG_RESULT([yes])
-       else
-  AC_MSG_RESULT([no])
-fi
-       ;;
-   *)
-  AC_MSG_RESULT([no])
-    ;;
-  esac
-fi
-])# AC_LIBTOOL_SYS_LIB_STRIP
-
-
-# AC_LIBTOOL_SYS_DYNAMIC_LINKER
-# -----------------------------
-# PORTME Fill in your ld.so characteristics
-AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_MSG_CHECKING([dynamic linker characteristics])
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-m4_if($1,[],[
-if test "$GCC" = yes; then
-  case $host_os in
-    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-    *) lt_awk_arg="/^libraries:/" ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-  if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
-  else
-    lt_search_path_spec=`echo "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-  fi
-  # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary.
-  lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
-  for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-    else
-      test -d "$lt_sys_path" && \
-	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
-    fi
-  done
-  lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
-BEGIN {RS=" "; FS="/|\n";} {
-  lt_foo="";
-  lt_count=0;
-  for (lt_i = NF; lt_i > 0; lt_i--) {
-    if ($lt_i != "" && $lt_i != ".") {
-      if ($lt_i == "..") {
-        lt_count++;
-      } else {
-        if (lt_count == 0) {
-          lt_foo="/" $lt_i lt_foo;
-        } else {
-          lt_count--;
-        }
-      }
-    }
-  }
-  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
-  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
-}'`
-  sys_lib_search_path_spec=`echo $lt_search_path_spec`
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi])
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
-
-aix[[4-9]]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[[01]] | aix4.[[01]].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-	   echo ' yes '
-	   echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
-	:
-      else
-	can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  library_names_spec='$libname.ixlibrary $libname.a'
-  # Create ${libname}_ixlibrary.a entries in /sys/libs.
-  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-  ;;
-
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[[45]]*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$host_os in
-  yes,cygwin* | yes,mingw* | yes,pw32*)
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $rm \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
-      ;;
-    mingw*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-      if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then
-        # It is most probably a Windows format PATH printed by
-        # mingw gcc, but we are running on Cygwin. Gcc prints its search
-        # path with ; separators, and with drive letters. We can handle the
-        # drive letters (cygwin fileutils understands them), so leave them,
-        # especially as we might pass files found there to a mingw objdump,
-        # which wouldn't understand a cygwinified path. Ahh.
-        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    ;;
-
-  *)
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    ;;
-  esac
-  dynamic_linker='Win32 ld.exe'
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-  m4_if([$1], [],[
-  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) 
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[[123]]*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
-  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-   hppa*64*)
-     shrext_cmds='.sl'
-     hardcode_into_libs=yes
-     dynamic_linker="$host_os dld.sl"
-     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-     soname_spec='${libname}${release}${shared_ext}$major'
-     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-     ;;
-   *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555.
-  postinstall_cmds='chmod 555 $lib'
-  ;;
-
-interix[[3-9]]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-	if test "$lt_cv_prog_gnu_ld" = yes; then
-		version_type=linux
-	else
-		version_type=irix
-	fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ 	]*hwcap[ 	]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-nto-qnx*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
-  need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-    *)                         need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[[89]] | openbsd2.[[89]].*)
-	shlibpath_overrides_runpath=no
-	;;
-      *)
-	shlibpath_overrides_runpath=yes
-	;;
-      esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
-
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      export_dynamic_flag_spec='${wl}-Blargedynsym'
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-    shlibpath_overrides_runpath=no
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    shlibpath_overrides_runpath=yes
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-	;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-AC_MSG_RESULT([$dynamic_linker])
-test "$dynamic_linker" = no && can_build_shared=no
-
-AC_CACHE_VAL([lt_cv_sys_lib_search_path_spec],
-[lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"])
-sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-AC_CACHE_VAL([lt_cv_sys_lib_dlsearch_path_spec],
-[lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"])
-sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
-
-
-# _LT_AC_TAGCONFIG
-# ----------------
-AC_DEFUN([_LT_AC_TAGCONFIG],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_ARG_WITH([tags],
-    [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
-        [include additional configurations @<:@automatic@:>@])],
-    [tagnames="$withval"])
-
-if test -f "$ltmain" && test -n "$tagnames"; then
-  if test ! -f "${ofile}"; then
-    AC_MSG_WARN([output file `$ofile' does not exist])
-  fi
-
-  if test -z "$LTCC"; then
-    eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
-    if test -z "$LTCC"; then
-      AC_MSG_WARN([output file `$ofile' does not look like a libtool script])
-    else
-      AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
-    fi
-  fi
-  if test -z "$LTCFLAGS"; then
-    eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
-  fi
-
-  # Extract list of available tagged configurations in $ofile.
-  # Note that this assumes the entire list is on one line.
-  available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
-
-  lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-  for tagname in $tagnames; do
-    IFS="$lt_save_ifs"
-    # Check whether tagname contains only valid characters
-    case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in
-    "") ;;
-    *)  AC_MSG_ERROR([invalid tag name: $tagname])
-	;;
-    esac
-
-    if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
-    then
-      AC_MSG_ERROR([tag name \"$tagname\" already exists])
-    fi
-
-    # Update the list of available tags.
-    if test -n "$tagname"; then
-      echo appending configuration tag \"$tagname\" to $ofile
-
-      case $tagname in
-      CXX)
-	if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-	    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-	    (test "X$CXX" != "Xg++"))) ; then
-	  AC_LIBTOOL_LANG_CXX_CONFIG
-	else
-	  tagname=""
-	fi
-	;;
-
-      F77)
-	if test -n "$F77" && test "X$F77" != "Xno"; then
-	  AC_LIBTOOL_LANG_F77_CONFIG
-	else
-	  tagname=""
-	fi
-	;;
-
-      GCJ)
-	if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
-	  AC_LIBTOOL_LANG_GCJ_CONFIG
-	else
-	  tagname=""
-	fi
-	;;
-
-      RC)
-	AC_LIBTOOL_LANG_RC_CONFIG
-	;;
-
-      *)
-	AC_MSG_ERROR([Unsupported tag name: $tagname])
-	;;
-      esac
-
-      # Append the new tag name to the list of available tags.
-      if test -n "$tagname" ; then
-      available_tags="$available_tags $tagname"
-    fi
-    fi
-  done
-  IFS="$lt_save_ifs"
-
-  # Now substitute the updated list of available tags.
-  if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
-    mv "${ofile}T" "$ofile"
-    chmod +x "$ofile"
-  else
-    rm -f "${ofile}T"
-    AC_MSG_ERROR([unable to update list of available tagged configurations.])
-  fi
-fi
-])# _LT_AC_TAGCONFIG
-
-
-# AC_LIBTOOL_DLOPEN
-# -----------------
-# enable checks for dlopen support
-AC_DEFUN([AC_LIBTOOL_DLOPEN],
- [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])
-])# AC_LIBTOOL_DLOPEN
-
-
-# AC_LIBTOOL_WIN32_DLL
-# --------------------
-# declare package support for building win32 DLLs
-AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
-[AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
-])# AC_LIBTOOL_WIN32_DLL
-
-
-# AC_ENABLE_SHARED([DEFAULT])
-# ---------------------------
-# implement the --enable-shared flag
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_SHARED],
-[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([shared],
-    [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
-	[build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])],
-    [p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-	IFS="$lt_save_ifs"
-	if test "X$pkg" = "X$p"; then
-	  enable_shared=yes
-	fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac],
-    [enable_shared=]AC_ENABLE_SHARED_DEFAULT)
-])# AC_ENABLE_SHARED
-
-
-# AC_DISABLE_SHARED
-# -----------------
-# set the default shared flag to --disable-shared
-AC_DEFUN([AC_DISABLE_SHARED],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_SHARED(no)
-])# AC_DISABLE_SHARED
-
-
-# AC_ENABLE_STATIC([DEFAULT])
-# ---------------------------
-# implement the --enable-static flag
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_STATIC],
-[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([static],
-    [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@],
-	[build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])],
-    [p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-	IFS="$lt_save_ifs"
-	if test "X$pkg" = "X$p"; then
-	  enable_static=yes
-	fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac],
-    [enable_static=]AC_ENABLE_STATIC_DEFAULT)
-])# AC_ENABLE_STATIC
-
-
-# AC_DISABLE_STATIC
-# -----------------
-# set the default static flag to --disable-static
-AC_DEFUN([AC_DISABLE_STATIC],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_STATIC(no)
-])# AC_DISABLE_STATIC
-
-
-# AC_ENABLE_FAST_INSTALL([DEFAULT])
-# ---------------------------------
-# implement the --enable-fast-install flag
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_FAST_INSTALL],
-[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([fast-install],
-    [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
-    [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
-    [p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-	IFS="$lt_save_ifs"
-	if test "X$pkg" = "X$p"; then
-	  enable_fast_install=yes
-	fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac],
-    [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT)
-])# AC_ENABLE_FAST_INSTALL
-
-
-# AC_DISABLE_FAST_INSTALL
-# -----------------------
-# set the default to --disable-fast-install
-AC_DEFUN([AC_DISABLE_FAST_INSTALL],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_FAST_INSTALL(no)
-])# AC_DISABLE_FAST_INSTALL
-
-
-# AC_LIBTOOL_PICMODE([MODE])
-# --------------------------
-# implement the --with-pic flag
-# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
-AC_DEFUN([AC_LIBTOOL_PICMODE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-pic_mode=ifelse($#,1,$1,default)
-])# AC_LIBTOOL_PICMODE
-
-
-# AC_PROG_EGREP
-# -------------
-# This is predefined starting with Autoconf 2.54, so this conditional
-# definition can be removed once we require Autoconf 2.54 or later.
-m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP],
-[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
-   [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
-    then ac_cv_prog_egrep='grep -E'
-    else ac_cv_prog_egrep='egrep'
-    fi])
- EGREP=$ac_cv_prog_egrep
- AC_SUBST([EGREP])
-])])
-
-
-# AC_PATH_TOOL_PREFIX
-# -------------------
-# find a file program which can recognize shared library
-AC_DEFUN([AC_PATH_TOOL_PREFIX],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_MSG_CHECKING([for $1])
-AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
-[case $MAGIC_CMD in
-[[\\/*] |  ?:[\\/]*])
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-dnl $ac_dummy forces splitting on constant user-supplied paths.
-dnl POSIX.2 word splitting is done only on the output of word expansions,
-dnl not every word.  This closes a longstanding sh security hole.
-  ac_dummy="ifelse([$2], , $PATH, [$2])"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$1; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
-      if test -n "$file_magic_test_file"; then
-	case $deplibs_check_method in
-	"file_magic "*)
-	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-	    $EGREP "$file_magic_regex" > /dev/null; then
-	    :
-	  else
-	    cat <<EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool at gnu.org
-
-EOF
-	  fi ;;
-	esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac])
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  AC_MSG_RESULT($MAGIC_CMD)
-else
-  AC_MSG_RESULT(no)
-fi
-])# AC_PATH_TOOL_PREFIX
-
-
-# AC_PATH_MAGIC
-# -------------
-# find a file program which can recognize a shared library
-AC_DEFUN([AC_PATH_MAGIC],
-[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
-  else
-    MAGIC_CMD=:
-  fi
-fi
-])# AC_PATH_MAGIC
-
-
-# AC_PROG_LD
-# ----------
-# find the pathname to the GNU or non-GNU linker
-AC_DEFUN([AC_PROG_LD],
-[AC_ARG_WITH([gnu-ld],
-    [AC_HELP_STRING([--with-gnu-ld],
-	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
-    [test "$withval" = no || with_gnu_ld=yes],
-    [with_gnu_ld=no])
-AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  AC_MSG_CHECKING([for ld used by $CC])
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [[\\/]]* | ?:[[\\/]]*)
-      re_direlt='/[[^/]][[^/]]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-	ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  AC_MSG_CHECKING([for GNU ld])
-else
-  AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(lt_cv_path_LD,
-[if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-	test "$with_gnu_ld" != no && break
-	;;
-      *)
-	test "$with_gnu_ld" != yes && break
-	;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  AC_MSG_RESULT($LD)
-else
-  AC_MSG_RESULT(no)
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_PROG_LD_GNU
-])# AC_PROG_LD
-
-
-# AC_PROG_LD_GNU
-# --------------
-AC_DEFUN([AC_PROG_LD_GNU],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac])
-with_gnu_ld=$lt_cv_prog_gnu_ld
-])# AC_PROG_LD_GNU
-
-
-# AC_PROG_LD_RELOAD_FLAG
-# ----------------------
-# find reload flag for linker
-#   -- PORTME Some linkers may need a different reload flag.
-AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
-[AC_CACHE_CHECK([for $LD option to reload object files],
-  lt_cv_ld_reload_flag,
-  [lt_cv_ld_reload_flag='-r'])
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
-])# AC_PROG_LD_RELOAD_FLAG
-
-
-# AC_DEPLIBS_CHECK_METHOD
-# -----------------------
-# how to check for library dependencies
-#  -- PORTME fill in with the dynamic library characteristics
-AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
-[AC_CACHE_CHECK([how to recognize dependent libraries],
-lt_cv_deplibs_check_method,
-[lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[[4-9]]*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-bsdi[[45]]*)
-  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
-
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
-
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  if ( file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
-  ;;
-
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
-
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
-
-interix[[3-9]]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-netbsd*)
-  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
-    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
-  fi
-  ;;
-
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
-
-nto-qnx*)
-  lt_cv_deplibs_check_method=unknown
-  ;;
-
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
-  fi
-  ;;
-
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv4 | sysv4.3*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  pc)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
-])
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-])# AC_DEPLIBS_CHECK_METHOD
-
-
-# AC_PROG_NM
-# ----------
-# find the pathname to a BSD-compatible name lister
-AC_DEFUN([AC_PROG_NM],
-[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM,
-[if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM="$NM"
-else
-  lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS="$lt_save_ifs"
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-	# Check to see if the nm accepts a BSD-compat flag.
-	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
-	#   nm: unknown option "B" ignored
-	# Tru64's nm complains that /dev/null is an invalid object file
-	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-	*/dev/null* | *'Invalid file or object type'*)
-	  lt_cv_path_NM="$tmp_nm -B"
-	  break
-	  ;;
-	*)
-	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-	  */dev/null*)
-	    lt_cv_path_NM="$tmp_nm -p"
-	    break
-	    ;;
-	  *)
-	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-	    continue # so that we can try to find one that supports BSD flags
-	    ;;
-	  esac
-	  ;;
-	esac
-      fi
-    done
-    IFS="$lt_save_ifs"
-  done
-  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
-fi])
-NM="$lt_cv_path_NM"
-])# AC_PROG_NM
-
-
-# AC_CHECK_LIBM
-# -------------
-# check for math library
-AC_DEFUN([AC_CHECK_LIBM],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-LIBM=
-case $host in
-*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
-  # These system don't have libm, or don't need it
-  ;;
-*-ncr-sysv4.3*)
-  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
-  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
-  ;;
-*)
-  AC_CHECK_LIB(m, cos, LIBM="-lm")
-  ;;
-esac
-])# AC_CHECK_LIBM
-
-
-# AC_LIBLTDL_CONVENIENCE([DIRECTORY])
-# -----------------------------------
-# sets LIBLTDL to the link flags for the libltdl convenience library and
-# LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-convenience to the configure arguments.  Note that
-# AC_CONFIG_SUBDIRS is not called here.  If DIRECTORY is not provided,
-# it is assumed to be `libltdl'.  LIBLTDL will be prefixed with
-# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
-# (note the single quotes!).  If your package is not flat and you're not
-# using automake, define top_builddir and top_srcdir appropriately in
-# the Makefiles.
-AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-  case $enable_ltdl_convenience in
-  no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
-  "") enable_ltdl_convenience=yes
-      ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
-  esac
-  LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
-  LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
-  # For backwards non-gettext consistent compatibility...
-  INCLTDL="$LTDLINCL"
-])# AC_LIBLTDL_CONVENIENCE
-
-
-# AC_LIBLTDL_INSTALLABLE([DIRECTORY])
-# -----------------------------------
-# sets LIBLTDL to the link flags for the libltdl installable library and
-# LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-install to the configure arguments.  Note that
-# AC_CONFIG_SUBDIRS is not called here.  If DIRECTORY is not provided,
-# and an installed libltdl is not found, it is assumed to be `libltdl'.
-# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
-# '${top_srcdir}/' (note the single quotes!).  If your package is not
-# flat and you're not using automake, define top_builddir and top_srcdir
-# appropriately in the Makefiles.
-# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
-AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-  AC_CHECK_LIB(ltdl, lt_dlinit,
-  [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
-  [if test x"$enable_ltdl_install" = xno; then
-     AC_MSG_WARN([libltdl not installed, but installation disabled])
-   else
-     enable_ltdl_install=yes
-   fi
-  ])
-  if test x"$enable_ltdl_install" = x"yes"; then
-    ac_configure_args="$ac_configure_args --enable-ltdl-install"
-    LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
-    LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
-  else
-    ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
-    LIBLTDL="-lltdl"
-    LTDLINCL=
-  fi
-  # For backwards non-gettext consistent compatibility...
-  INCLTDL="$LTDLINCL"
-])# AC_LIBLTDL_INSTALLABLE
-
-
-# AC_LIBTOOL_CXX
-# --------------
-# enable support for C++ libraries
-AC_DEFUN([AC_LIBTOOL_CXX],
-[AC_REQUIRE([_LT_AC_LANG_CXX])
-])# AC_LIBTOOL_CXX
-
-
-# _LT_AC_LANG_CXX
-# ---------------
-AC_DEFUN([_LT_AC_LANG_CXX],
-[AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([_LT_AC_PROG_CXXCPP])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
-])# _LT_AC_LANG_CXX
-
-# _LT_AC_PROG_CXXCPP
-# ------------------
-AC_DEFUN([_LT_AC_PROG_CXXCPP],
-[
-AC_REQUIRE([AC_PROG_CXX])
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-    (test "X$CXX" != "Xg++"))) ; then
-  AC_PROG_CXXCPP
-fi
-])# _LT_AC_PROG_CXXCPP
-
-# AC_LIBTOOL_F77
-# --------------
-# enable support for Fortran 77 libraries
-AC_DEFUN([AC_LIBTOOL_F77],
-[AC_REQUIRE([_LT_AC_LANG_F77])
-])# AC_LIBTOOL_F77
-
-
-# _LT_AC_LANG_F77
-# ---------------
-AC_DEFUN([_LT_AC_LANG_F77],
-[AC_REQUIRE([AC_PROG_F77])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77])
-])# _LT_AC_LANG_F77
-
-
-# AC_LIBTOOL_GCJ
-# --------------
-# enable support for GCJ libraries
-AC_DEFUN([AC_LIBTOOL_GCJ],
-[AC_REQUIRE([_LT_AC_LANG_GCJ])
-])# AC_LIBTOOL_GCJ
-
-
-# _LT_AC_LANG_GCJ
-# ---------------
-AC_DEFUN([_LT_AC_LANG_GCJ],
-[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
-  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
-    [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
-      [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
-	 [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
-	   [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ])
-])# _LT_AC_LANG_GCJ
-
-
-# AC_LIBTOOL_RC
-# -------------
-# enable support for Windows resource files
-AC_DEFUN([AC_LIBTOOL_RC],
-[AC_REQUIRE([LT_AC_PROG_RC])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC])
-])# AC_LIBTOOL_RC
-
-
-# AC_LIBTOOL_LANG_C_CONFIG
-# ------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined.  Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG])
-AC_DEFUN([_LT_AC_LANG_C_CONFIG],
-[lt_save_CC="$CC"
-AC_LANG_PUSH(C)
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-AC_LIBTOOL_SYS_LIB_STRIP
-AC_LIBTOOL_DLOPEN_SELF
-
-# Report which library types will actually be built
-AC_MSG_CHECKING([if libtool supports shared libraries])
-AC_MSG_RESULT([$can_build_shared])
-
-AC_MSG_CHECKING([whether to build shared libraries])
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
-  test "$enable_shared" = yes && enable_static=no
-  if test -n "$RANLIB"; then
-    archive_cmds="$archive_cmds~\$RANLIB \$lib"
-    postinstall_cmds='$RANLIB $lib'
-  fi
-  ;;
-
-aix[[4-9]]*)
-  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-    test "$enable_shared" = yes && enable_static=no
-  fi
-    ;;
-esac
-AC_MSG_RESULT([$enable_shared])
-
-AC_MSG_CHECKING([whether to build static libraries])
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-AC_MSG_RESULT([$enable_static])
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_C_CONFIG
-
-
-# AC_LIBTOOL_LANG_CXX_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined.  Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
-AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
-[AC_LANG_PUSH(C++)
-AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([_LT_AC_PROG_CXXCPP])
-
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_AC_TAGVAR(allow_undefined_flag, $1)=
-_LT_AC_TAGVAR(always_export_symbols, $1)=no
-_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
-_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_direct, $1)=no
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
-_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-_LT_AC_TAGVAR(hardcode_automatic, $1)=no
-_LT_AC_TAGVAR(module_cmds, $1)=
-_LT_AC_TAGVAR(module_expsym_cmds, $1)=
-_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_AC_TAGVAR(no_undefined_flag, $1)=
-_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Dependencies to place before and after the object being linked:
-_LT_AC_TAGVAR(predep_objects, $1)=
-_LT_AC_TAGVAR(postdep_objects, $1)=
-_LT_AC_TAGVAR(predeps, $1)=
-_LT_AC_TAGVAR(postdeps, $1)=
-_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
-_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
-
-# Source file extension for C++ test sources.
-ac_ext=cpp
-
-# Object file extension for compiled C++ test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_LD=$LD
-lt_save_GCC=$GCC
-GCC=$GXX
-lt_save_with_gnu_ld=$with_gnu_ld
-lt_save_path_LD=$lt_cv_path_LD
-if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
-  lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-else
-  $as_unset lt_cv_prog_gnu_ld
-fi
-if test -n "${lt_cv_path_LDCXX+set}"; then
-  lt_cv_path_LD=$lt_cv_path_LDCXX
-else
-  $as_unset lt_cv_path_LD
-fi
-test -z "${LDCXX+set}" || LD=$LDCXX
-CC=${CXX-"c++"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-# We don't want -fno-exception wen compiling C++ code, so set the
-# no_builtin_flag separately
-if test "$GXX" = yes; then
-  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
-else
-  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-fi
-
-if test "$GXX" = yes; then
-  # Set up default GNU C++ configuration
-
-  AC_PROG_LD
-
-  # Check if GNU C++ uses GNU ld as the underlying linker, since the
-  # archiving commands below assume that GNU ld is being used.
-  if test "$with_gnu_ld" = yes; then
-    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
-    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
-    #     investigate it a little bit more. (MM)
-    wlarc='${wl}'
-
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
-	grep 'no-whole-archive' > /dev/null; then
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-    else
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-    fi
-  else
-    with_gnu_ld=no
-    wlarc=
-
-    # A generic and very simple default shared library creation
-    # command for GNU C++ for the case where it uses the native
-    # linker, instead of GNU ld.  If possible, this setting should
-    # overridden to take advantage of the native linker features on
-    # the platform it is being used on.
-    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-  fi
-
-  # Commands to make compiler produce verbose output that lists
-  # what "hidden" libraries, object files and flags are used when
-  # linking a shared library.
-  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
-else
-  GXX=no
-  with_gnu_ld=no
-  wlarc=
-fi
-
-# PORTME: fill in a description of your system's C++ link characteristics
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-_LT_AC_TAGVAR(ld_shlibs, $1)=yes
-case $host_os in
-  aix3*)
-    # FIXME: insert proper C++ library support
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  aix[[4-9]]*)
-    if test "$host_cpu" = ia64; then
-      # On IA64, the linker does run time linking by default, so we don't
-      # have to do anything special.
-      aix_use_runtimelinking=no
-      exp_sym_flag='-Bexport'
-      no_entry_flag=""
-    else
-      aix_use_runtimelinking=no
-
-      # Test if we are trying to use run time linking or normal
-      # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-      # need to do runtime linking.
-      case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
-	for ld_flag in $LDFLAGS; do
-	  case $ld_flag in
-	  *-brtl*)
-	    aix_use_runtimelinking=yes
-	    break
-	    ;;
-	  esac
-	done
-	;;
-      esac
-
-      exp_sym_flag='-bexport'
-      no_entry_flag='-bnoentry'
-    fi
-
-    # When large executables or shared objects are built, AIX ld can
-    # have problems creating the table of contents.  If linking a library
-    # or program results in "error TOC overflow" add -mminimal-toc to
-    # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-    # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-    _LT_AC_TAGVAR(archive_cmds, $1)=''
-    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
-    _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
-    if test "$GXX" = yes; then
-      case $host_os in aix4.[[012]]|aix4.[[012]].*)
-      # We only want to do this on AIX 4.2 and lower, the check
-      # below for broken collect2 doesn't work under 4.3+
-	collect2name=`${CC} -print-prog-name=collect2`
-	if test -f "$collect2name" && \
-	   strings "$collect2name" | grep resolve_lib_name >/dev/null
-	then
-	  # We have reworked collect2
-	  :
-	else
-	  # We have old collect2
-	  _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
-	  # It fails to find uninstalled libraries when the uninstalled
-	  # path is not listed in the libpath.  Setting hardcode_minus_L
-	  # to unsupported forces relinking
-	  _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-	fi
-	;;
-      esac
-      shared_flag='-shared'
-      if test "$aix_use_runtimelinking" = yes; then
-	shared_flag="$shared_flag "'${wl}-G'
-      fi
-    else
-      # not using gcc
-      if test "$host_cpu" = ia64; then
-	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-	# chokes on -Wl,-G. The following line is correct:
-	shared_flag='-G'
-      else
-	if test "$aix_use_runtimelinking" = yes; then
-	  shared_flag='${wl}-G'
-	else
-	  shared_flag='${wl}-bM:SRE'
-	fi
-      fi
-    fi
-
-    # It seems that -bexpall does not export symbols beginning with
-    # underscore (_), so it is better to generate a list of symbols to export.
-    _LT_AC_TAGVAR(always_export_symbols, $1)=yes
-    if test "$aix_use_runtimelinking" = yes; then
-      # Warning - without using the other runtime loading flags (-brtl),
-      # -berok will link without error, but may produce a broken library.
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
-      # Determine the default libpath from the value encoded in an empty executable.
-      _LT_AC_SYS_LIBPATH_AIX
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-     else
-      if test "$host_cpu" = ia64; then
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-      else
-	# Determine the default libpath from the value encoded in an empty executable.
-	_LT_AC_SYS_LIBPATH_AIX
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-	# Warning - without using the other run time loading flags,
-	# -berok will link without error, but may produce a broken library.
-	_LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-	# Exported symbols can be pulled into shared objects from archives
-	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
-	_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
-	# This is similar to how AIX traditionally builds its shared libraries.
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-      fi
-    fi
-    ;;
-
-  beos*)
-    if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-      # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
-      # support --undefined.  This deserves some investigation.  FIXME
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-    else
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    fi
-    ;;
-
-  chorus*)
-    case $cc_basename in
-      *)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-    esac
-    ;;
-
-  cygwin* | mingw* | pw32*)
-    # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
-    # as there is no search path for DLLs.
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-    _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-    _LT_AC_TAGVAR(always_export_symbols, $1)=no
-    _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-
-    if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      # If the export-symbols file already is a .def file (1st line
-      # is EXPORTS), use it as is; otherwise, prepend...
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-	cp $export_symbols $output_objdir/$soname.def;
-      else
-	echo EXPORTS > $output_objdir/$soname.def;
-	cat $export_symbols >> $output_objdir/$soname.def;
-      fi~
-      $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-    else
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    fi
-  ;;
-      darwin* | rhapsody*)
-      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_AC_TAGVAR(hardcode_direct, $1)=no
-      _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
-      if test "$GXX" = yes ; then
-      output_verbose_link_cmd='echo'
-      _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-      _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-      _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-      if test "$lt_cv_apple_cc_single_mod" != "yes"; then
-        _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
-        _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
-      fi
-      else
-      case $cc_basename in
-        xlc*)
-         output_verbose_link_cmd='echo'
-          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
-          _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          ;;
-       *)
-         _LT_AC_TAGVAR(ld_shlibs, $1)=no
-          ;;
-      esac
-      fi
-        ;;
-
-  dgux*)
-    case $cc_basename in
-      ec++*)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      ghcx*)
-	# Green Hills C++ Compiler
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      *)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-    esac
-    ;;
-  freebsd[[12]]*)
-    # C++ shared libraries reported to be fairly broken before switch to ELF
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  freebsd-elf*)
-    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-    ;;
-  freebsd* | dragonfly*)
-    # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
-    # conventions
-    _LT_AC_TAGVAR(ld_shlibs, $1)=yes
-    ;;
-  gnu*)
-    ;;
-  hpux9*)
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-    _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
-				# but as the default
-				# location of the library.
-
-    case $cc_basename in
-    CC*)
-      # FIXME: insert proper C++ library support
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      ;;
-    aCC*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      # Commands to make compiler produce verbose output that lists
-      # what "hidden" libraries, object files and flags are used when
-      # linking a shared library.
-      #
-      # There doesn't appear to be a way to prevent this compiler from
-      # explicitly linking system object files so we need to strip them
-      # from the output so that they don't get included in the library
-      # dependencies.
-      output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-      ;;
-    *)
-      if test "$GXX" = yes; then
-        _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-        # FIXME: insert proper C++ library support
-        _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-    esac
-    ;;
-  hpux10*|hpux11*)
-    if test $with_gnu_ld = no; then
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-      case $host_cpu in
-      hppa*64*|ia64*) ;;
-      *)
-	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-        ;;
-      esac
-    fi
-    case $host_cpu in
-    hppa*64*|ia64*)
-      _LT_AC_TAGVAR(hardcode_direct, $1)=no
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-    *)
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
-					      # but as the default
-					      # location of the library.
-      ;;
-    esac
-
-    case $cc_basename in
-      CC*)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      aCC*)
-	case $host_cpu in
-	hppa*64*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	  ;;
-	ia64*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	  ;;
-	*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	  ;;
-	esac
-	# Commands to make compiler produce verbose output that lists
-	# what "hidden" libraries, object files and flags are used when
-	# linking a shared library.
-	#
-	# There doesn't appear to be a way to prevent this compiler from
-	# explicitly linking system object files so we need to strip them
-	# from the output so that they don't get included in the library
-	# dependencies.
-	output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-	;;
-      *)
-	if test "$GXX" = yes; then
-	  if test $with_gnu_ld = no; then
-	    case $host_cpu in
-	    hppa*64*)
-	      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	      ;;
-	    ia64*)
-	      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	      ;;
-	    *)
-	      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	      ;;
-	    esac
-	  fi
-	else
-	  # FIXME: insert proper C++ library support
-	  _LT_AC_TAGVAR(ld_shlibs, $1)=no
-	fi
-	;;
-    esac
-    ;;
-  interix[[3-9]]*)
-    _LT_AC_TAGVAR(hardcode_direct, $1)=no
-    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-    # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-    # Instead, shared libraries are loaded at an image base (0x10000000 by
-    # default) and relocated if they conflict, which is a slow very memory
-    # consuming and fragmenting process.  To avoid this, we pick a random,
-    # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-    # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-    ;;
-  irix5* | irix6*)
-    case $cc_basename in
-      CC*)
-	# SGI C++
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
-	# Archives containing C++ object files must be created using
-	# "CC -ar", where "CC" is the IRIX C++ compiler.  This is
-	# necessary to make sure instantiated templates are included
-	# in the archive.
-	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
-	;;
-      *)
-	if test "$GXX" = yes; then
-	  if test "$with_gnu_ld" = no; then
-	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-	  else
-	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
-	  fi
-	fi
-	_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-	;;
-    esac
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-    ;;
-  linux* | k*bsd*-gnu)
-    case $cc_basename in
-      KCC*)
-	# Kuck and Associates, Inc. (KAI) C++ Compiler
-
-	# KCC will only create a shared library if the output file
-	# ends with ".so" (or ".sl" for HP-UX), so rename the library
-	# to its proper name (with version) after linking.
-	_LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
-	# Commands to make compiler produce verbose output that lists
-	# what "hidden" libraries, object files and flags are used when
-	# linking a shared library.
-	#
-	# There doesn't appear to be a way to prevent this compiler from
-	# explicitly linking system object files so we need to strip them
-	# from the output so that they don't get included in the library
-	# dependencies.
-	output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
-	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
-	# Archives containing C++ object files must be created using
-	# "CC -Bstatic", where "CC" is the KAI C++ compiler.
-	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
-	;;
-      icpc*)
-	# Intel C++
-	with_gnu_ld=yes
-	# version 8.0 and above of icpc choke on multiply defined symbols
-	# if we add $predep_objects and $postdep_objects, however 7.1 and
-	# earlier do not add the objects themselves.
-	case `$CC -V 2>&1` in
-	*"Version 7."*)
-  	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-  	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-	  ;;
-	*)  # Version 8.0 or newer
-	  tmp_idyn=
-	  case $host_cpu in
-	    ia64*) tmp_idyn=' -i_dynamic';;
-	  esac
-  	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-	  ;;
-	esac
-	_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-	;;
-      pgCC* | pgcpp*)
-        # Portland Group C++ compiler
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-  	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
-	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-        ;;
-      cxx*)
-	# Compaq C++
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
-
-	runpath_var=LD_RUN_PATH
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	# Commands to make compiler produce verbose output that lists
-	# what "hidden" libraries, object files and flags are used when
-	# linking a shared library.
-	#
-	# There doesn't appear to be a way to prevent this compiler from
-	# explicitly linking system object files so we need to strip them
-	# from the output so that they don't get included in the library
-	# dependencies.
-	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-	;;
-      *)
-	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ C*)
-	  # Sun C++ 5.9
-	  _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-
-	  # Not sure whether something based on
-	  # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
-	  # would be better.
-	  output_verbose_link_cmd='echo'
-
-	  # Archives containing C++ object files must be created using
-	  # "CC -xar", where "CC" is the Sun C++ compiler.  This is
-	  # necessary to make sure instantiated templates are included
-	  # in the archive.
-	  _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
-	  ;;
-	esac
-	;;
-    esac
-    ;;
-  lynxos*)
-    # FIXME: insert proper C++ library support
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  m88k*)
-    # FIXME: insert proper C++ library support
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  mvs*)
-    case $cc_basename in
-      cxx*)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      *)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-    esac
-    ;;
-  netbsd*)
-    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
-      wlarc=
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-    fi
-    # Workaround some broken pre-1.5 toolchains
-    output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
-    ;;
-  openbsd2*)
-    # C++ shared libraries are fairly broken
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  openbsd*)
-    if test -f /usr/libexec/ld.so; then
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
-	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      fi
-      output_verbose_link_cmd='echo'
-    else
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    fi
-    ;;
-  osf3*)
-    case $cc_basename in
-      KCC*)
-	# Kuck and Associates, Inc. (KAI) C++ Compiler
-
-	# KCC will only create a shared library if the output file
-	# ends with ".so" (or ".sl" for HP-UX), so rename the library
-	# to its proper name (with version) after linking.
-	_LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	# Archives containing C++ object files must be created using
-	# "CC -Bstatic", where "CC" is the KAI C++ compiler.
-	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
-
-	;;
-      RCC*)
-	# Rational C++ 2.4.1
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      cxx*)
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	# Commands to make compiler produce verbose output that lists
-	# what "hidden" libraries, object files and flags are used when
-	# linking a shared library.
-	#
-	# There doesn't appear to be a way to prevent this compiler from
-	# explicitly linking system object files so we need to strip them
-	# from the output so that they don't get included in the library
-	# dependencies.
-	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-	;;
-      *)
-	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	  # Commands to make compiler produce verbose output that lists
-	  # what "hidden" libraries, object files and flags are used when
-	  # linking a shared library.
-	  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
-	else
-	  # FIXME: insert proper C++ library support
-	  _LT_AC_TAGVAR(ld_shlibs, $1)=no
-	fi
-	;;
-    esac
-    ;;
-  osf4* | osf5*)
-    case $cc_basename in
-      KCC*)
-	# Kuck and Associates, Inc. (KAI) C++ Compiler
-
-	# KCC will only create a shared library if the output file
-	# ends with ".so" (or ".sl" for HP-UX), so rename the library
-	# to its proper name (with version) after linking.
-	_LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	# Archives containing C++ object files must be created using
-	# the KAI C++ compiler.
-	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
-	;;
-      RCC*)
-	# Rational C++ 2.4.1
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      cxx*)
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
-	  echo "-hidden">> $lib.exp~
-	  $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" && echo -set_version	$verstring` -update_registry ${output_objdir}/so_locations -o $lib~
-	  $rm $lib.exp'
-
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	# Commands to make compiler produce verbose output that lists
-	# what "hidden" libraries, object files and flags are used when
-	# linking a shared library.
-	#
-	# There doesn't appear to be a way to prevent this compiler from
-	# explicitly linking system object files so we need to strip them
-	# from the output so that they don't get included in the library
-	# dependencies.
-	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-	;;
-      *)
-	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	  # Commands to make compiler produce verbose output that lists
-	  # what "hidden" libraries, object files and flags are used when
-	  # linking a shared library.
-	  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
-	else
-	  # FIXME: insert proper C++ library support
-	  _LT_AC_TAGVAR(ld_shlibs, $1)=no
-	fi
-	;;
-    esac
-    ;;
-  psos*)
-    # FIXME: insert proper C++ library support
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  sunos4*)
-    case $cc_basename in
-      CC*)
-	# Sun C++ 4.x
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      lcc*)
-	# Lucid
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      *)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-    esac
-    ;;
-  solaris*)
-    case $cc_basename in
-      CC*)
-	# Sun C++ 4.2, 5.x and Centerline C++
-        _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
-	_LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-	$CC -G${allow_undefined_flag}  ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-	case $host_os in
-	  solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-	  *)
-	    # The compiler driver will combine and reorder linker options,
-	    # but understands `-z linker_flag'.
-	    # Supported since Solaris 2.6 (maybe 2.5.1?)
-	    _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
-	    ;;
-	esac
-	_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
-	output_verbose_link_cmd='echo'
-
-	# Archives containing C++ object files must be created using
-	# "CC -xar", where "CC" is the Sun C++ compiler.  This is
-	# necessary to make sure instantiated templates are included
-	# in the archive.
-	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
-	;;
-      gcx*)
-	# Green Hills C++ Compiler
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-
-	# The C++ compiler must be used to create the archive.
-	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
-	;;
-      *)
-	# GNU C++ compiler with Solaris linker
-	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-	  _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
-	  if $CC --version | grep -v '^2\.7' > /dev/null; then
-	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-	    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-		$CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
-	  else
-	    # g++ 2.7 appears to require `-G' NOT `-shared' on this
-	    # platform.
-	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-	    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-		$CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
-	  fi
-
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
-	  case $host_os in
-	  solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-	  *)
-	    _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-	    ;;
-	  esac
-	fi
-	;;
-    esac
-    ;;
-  sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
-    _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-    runpath_var='LD_RUN_PATH'
-
-    case $cc_basename in
-      CC*)
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	;;
-      *)
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	;;
-    esac
-    ;;
-  sysv5* | sco3.2v5* | sco5v6*)
-    # Note: We can NOT use -z defs as we might desire, because we do not
-    # link with -lc, and that would cause any symbols used from libc to
-    # always be unresolved, which means just about no library would
-    # ever link correctly.  If we're not using GNU ld we use -z text
-    # though, which does catch some bad symbols but isn't as heavy-handed
-    # as -z defs.
-    # For security reasons, it is highly recommended that you always
-    # use absolute paths for naming shared libraries, and exclude the
-    # DT_RUNPATH tag from executables and libraries.  But doing so
-    # requires that you compile everything twice, which is a pain.
-    # So that behaviour is only enabled if SCOABSPATH is set to a
-    # non-empty value in the environment.  Most likely only useful for
-    # creating official distributions of packages.
-    # This is a hack until libtool officially supports absolute path
-    # names for shared libraries.
-    _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-    _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
-    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
-    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
-    _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
-    runpath_var='LD_RUN_PATH'
-
-    case $cc_basename in
-      CC*)
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	;;
-      *)
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	;;
-    esac
-    ;;
-  tandem*)
-    case $cc_basename in
-      NCC*)
-	# NonStop-UX NCC 3.20
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      *)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-    esac
-    ;;
-  vxworks*)
-    # FIXME: insert proper C++ library support
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  *)
-    # FIXME: insert proper C++ library support
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-esac
-AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
-test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
-_LT_AC_TAGVAR(GCC, $1)="$GXX"
-_LT_AC_TAGVAR(LD, $1)="$LD"
-
-AC_LIBTOOL_POSTDEP_PREDEP($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC=$lt_save_CC
-LDCXX=$LD
-LD=$lt_save_LD
-GCC=$lt_save_GCC
-with_gnu_ldcxx=$with_gnu_ld
-with_gnu_ld=$lt_save_with_gnu_ld
-lt_cv_path_LDCXX=$lt_cv_path_LD
-lt_cv_path_LD=$lt_save_path_LD
-lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-])# AC_LIBTOOL_LANG_CXX_CONFIG
-
-# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME])
-# ------------------------------------
-# Figure out "hidden" library dependencies from verbose
-# compiler output when linking a shared library.
-# Parse the compiler output and extract the necessary
-# objects, libraries and library flags.
-AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-dnl we can't use the lt_simple_compile_test_code here,
-dnl because it contains code intended for an executable,
-dnl not a library.  It's possible we should let each
-dnl tag define a new lt_????_link_test_code variable,
-dnl but it's only used here...
-ifelse([$1],[],[cat > conftest.$ac_ext <<EOF
-int a;
-void foo (void) { a = 0; }
-EOF
-],[$1],[CXX],[cat > conftest.$ac_ext <<EOF
-class Foo
-{
-public:
-  Foo (void) { a = 0; }
-private:
-  int a;
-};
-EOF
-],[$1],[F77],[cat > conftest.$ac_ext <<EOF
-      subroutine foo
-      implicit none
-      integer*4 a
-      a=0
-      return
-      end
-EOF
-],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF
-public class foo {
-  private int a;
-  public void bar (void) {
-    a = 0;
-  }
-};
-EOF
-])
-dnl Parse the compiler output and extract the necessary
-dnl objects, libraries and library flags.
-if AC_TRY_EVAL(ac_compile); then
-  # Parse the compiler output and extract the necessary
-  # objects, libraries and library flags.
-
-  # Sentinel used to keep track of whether or not we are before
-  # the conftest object file.
-  pre_test_object_deps_done=no
-
-  # The `*' in the case matches for architectures that use `case' in
-  # $output_verbose_cmd can trigger glob expansion during the loop
-  # eval without this substitution.
-  output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
-
-  for p in `eval $output_verbose_link_cmd`; do
-    case $p in
-
-    -L* | -R* | -l*)
-       # Some compilers place space between "-{L,R}" and the path.
-       # Remove the space.
-       if test $p = "-L" \
-	  || test $p = "-R"; then
-	 prev=$p
-	 continue
-       else
-	 prev=
-       fi
-
-       if test "$pre_test_object_deps_done" = no; then
-	 case $p in
-	 -L* | -R*)
-	   # Internal compiler library paths should come after those
-	   # provided the user.  The postdeps already come after the
-	   # user supplied libs so there is no need to process them.
-	   if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
-	     _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
-	   else
-	     _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
-	   fi
-	   ;;
-	 # The "-l" case would never come before the object being
-	 # linked, so don't bother handling this case.
-	 esac
-       else
-	 if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then
-	   _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}"
-	 else
-	   _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}"
-	 fi
-       fi
-       ;;
-
-    *.$objext)
-       # This assumes that the test object file only shows up
-       # once in the compiler output.
-       if test "$p" = "conftest.$objext"; then
-	 pre_test_object_deps_done=yes
-	 continue
-       fi
-
-       if test "$pre_test_object_deps_done" = no; then
-	 if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then
-	   _LT_AC_TAGVAR(predep_objects, $1)="$p"
-	 else
-	   _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p"
-	 fi
-       else
-	 if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then
-	   _LT_AC_TAGVAR(postdep_objects, $1)="$p"
-	 else
-	   _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p"
-	 fi
-       fi
-       ;;
-
-    *) ;; # Ignore the rest.
-
-    esac
-  done
-
-  # Clean up.
-  rm -f a.out a.exe
-else
-  echo "libtool.m4: error: problem compiling $1 test program"
-fi
-
-$rm -f confest.$objext
-
-_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
-if test -n "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
-  _LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_AC_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
-fi
-
-# PORTME: override above test on systems where it is broken
-ifelse([$1],[CXX],
-[case $host_os in
-interix[[3-9]]*)
-  # Interix 3.5 installs completely hosed .la files for C++, so rather than
-  # hack all around it, let's just trust "g++" to DTRT.
-  _LT_AC_TAGVAR(predep_objects,$1)=
-  _LT_AC_TAGVAR(postdep_objects,$1)=
-  _LT_AC_TAGVAR(postdeps,$1)=
-  ;;
-
-linux*)
-  case `$CC -V 2>&1 | sed 5q` in
-  *Sun\ C*)
-    # Sun C++ 5.9
-    #
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-    if test "$solaris_use_stlport4" != yes; then
-      _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
-
-solaris*)
-  case $cc_basename in
-  CC*)
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-
-    # Adding this requires a known-good setup of shared libraries for
-    # Sun compiler versions before 5.6, else PIC objects from an old
-    # archive will be linked into the output, leading to subtle bugs.
-    if test "$solaris_use_stlport4" != yes; then
-      _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
-esac
-])
-case " $_LT_AC_TAGVAR(postdeps, $1) " in
-*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
-esac
-])# AC_LIBTOOL_POSTDEP_PREDEP
-
-# AC_LIBTOOL_LANG_F77_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined.  Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)])
-AC_DEFUN([_LT_AC_LANG_F77_CONFIG],
-[AC_REQUIRE([AC_PROG_F77])
-AC_LANG_PUSH(Fortran 77)
-
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_AC_TAGVAR(allow_undefined_flag, $1)=
-_LT_AC_TAGVAR(always_export_symbols, $1)=no
-_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
-_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_direct, $1)=no
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
-_LT_AC_TAGVAR(hardcode_automatic, $1)=no
-_LT_AC_TAGVAR(module_cmds, $1)=
-_LT_AC_TAGVAR(module_expsym_cmds, $1)=
-_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_AC_TAGVAR(no_undefined_flag, $1)=
-_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for f77 test sources.
-ac_ext=f
-
-# Object file extension for compiled f77 test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="\
-      subroutine t
-      return
-      end
-"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="\
-      program t
-      end
-"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${F77-"f77"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-AC_MSG_CHECKING([if libtool supports shared libraries])
-AC_MSG_RESULT([$can_build_shared])
-
-AC_MSG_CHECKING([whether to build shared libraries])
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
-  test "$enable_shared" = yes && enable_static=no
-  if test -n "$RANLIB"; then
-    archive_cmds="$archive_cmds~\$RANLIB \$lib"
-    postinstall_cmds='$RANLIB $lib'
-  fi
-  ;;
-aix[[4-9]]*)
-  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-    test "$enable_shared" = yes && enable_static=no
-  fi
-  ;;
-esac
-AC_MSG_RESULT([$enable_shared])
-
-AC_MSG_CHECKING([whether to build static libraries])
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-AC_MSG_RESULT([$enable_static])
-
-_LT_AC_TAGVAR(GCC, $1)="$G77"
-_LT_AC_TAGVAR(LD, $1)="$LD"
-
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_F77_CONFIG
-
-
-# AC_LIBTOOL_LANG_GCJ_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined.  Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)])
-AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG],
-[AC_LANG_SAVE
-
-# Source file extension for Java test sources.
-ac_ext=java
-
-# Object file extension for compiled Java test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${GCJ-"gcj"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-
-AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_RESTORE
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_GCJ_CONFIG
-
-
-# AC_LIBTOOL_LANG_RC_CONFIG
-# -------------------------
-# Ensure that the configuration vars for the Windows resource compiler are
-# suitably defined.  Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)])
-AC_DEFUN([_LT_AC_LANG_RC_CONFIG],
-[AC_LANG_SAVE
-
-# Source file extension for RC test sources.
-ac_ext=rc
-
-# Object file extension for compiled RC test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${RC-"windres"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_RESTORE
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_RC_CONFIG
-
-
-# AC_LIBTOOL_CONFIG([TAGNAME])
-# ----------------------------
-# If TAGNAME is not passed, then create an initial libtool script
-# with a default configuration from the untagged config vars.  Otherwise
-# add code to config.status for appending the configuration named by
-# TAGNAME from the matching tagged config vars.
-AC_DEFUN([AC_LIBTOOL_CONFIG],
-[# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
-  # See if we are running on zsh, and set the options which allow our commands through
-  # without removal of \ escapes.
-  if test -n "${ZSH_VERSION+set}" ; then
-    setopt NO_GLOB_SUBST
-  fi
-  # Now quote all the things that may contain metacharacters while being
-  # careful not to overquote the AC_SUBSTed values.  We take copies of the
-  # variables and quote the copies for generation of the libtool script.
-  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
-    SED SHELL STRIP \
-    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
-    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
-    deplibs_check_method reload_flag reload_cmds need_locks \
-    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
-    lt_cv_sys_global_symbol_to_c_name_address \
-    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
-    old_postinstall_cmds old_postuninstall_cmds \
-    _LT_AC_TAGVAR(compiler, $1) \
-    _LT_AC_TAGVAR(CC, $1) \
-    _LT_AC_TAGVAR(LD, $1) \
-    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \
-    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \
-    _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \
-    _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \
-    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \
-    _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \
-    _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \
-    _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \
-    _LT_AC_TAGVAR(old_archive_cmds, $1) \
-    _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \
-    _LT_AC_TAGVAR(predep_objects, $1) \
-    _LT_AC_TAGVAR(postdep_objects, $1) \
-    _LT_AC_TAGVAR(predeps, $1) \
-    _LT_AC_TAGVAR(postdeps, $1) \
-    _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
-    _LT_AC_TAGVAR(compiler_lib_search_dirs, $1) \
-    _LT_AC_TAGVAR(archive_cmds, $1) \
-    _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
-    _LT_AC_TAGVAR(postinstall_cmds, $1) \
-    _LT_AC_TAGVAR(postuninstall_cmds, $1) \
-    _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \
-    _LT_AC_TAGVAR(allow_undefined_flag, $1) \
-    _LT_AC_TAGVAR(no_undefined_flag, $1) \
-    _LT_AC_TAGVAR(export_symbols_cmds, $1) \
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \
-    _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
-    _LT_AC_TAGVAR(hardcode_automatic, $1) \
-    _LT_AC_TAGVAR(module_cmds, $1) \
-    _LT_AC_TAGVAR(module_expsym_cmds, $1) \
-    _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
-    _LT_AC_TAGVAR(fix_srcfile_path, $1) \
-    _LT_AC_TAGVAR(exclude_expsyms, $1) \
-    _LT_AC_TAGVAR(include_expsyms, $1); do
-
-    case $var in
-    _LT_AC_TAGVAR(old_archive_cmds, $1) | \
-    _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
-    _LT_AC_TAGVAR(archive_cmds, $1) | \
-    _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
-    _LT_AC_TAGVAR(module_cmds, $1) | \
-    _LT_AC_TAGVAR(module_expsym_cmds, $1) | \
-    _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \
-    _LT_AC_TAGVAR(export_symbols_cmds, $1) | \
-    extract_expsyms_cmds | reload_cmds | finish_cmds | \
-    postinstall_cmds | postuninstall_cmds | \
-    old_postinstall_cmds | old_postuninstall_cmds | \
-    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
-      # Double-quote double-evaled strings.
-      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
-      ;;
-    *)
-      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
-      ;;
-    esac
-  done
-
-  case $lt_echo in
-  *'\[$]0 --fallback-echo"')
-    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'`
-    ;;
-  esac
-
-ifelse([$1], [],
-  [cfgfile="${ofile}T"
-  trap "$rm \"$cfgfile\"; exit 1" 1 2 15
-  $rm -f "$cfgfile"
-  AC_MSG_NOTICE([creating $ofile])],
-  [cfgfile="$ofile"])
-
-  cat <<__EOF__ >> "$cfgfile"
-ifelse([$1], [],
-[#! $SHELL
-
-# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-# Free Software Foundation, Inc.
-#
-# This file is part of GNU Libtool:
-# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="$SED -e 1s/^X//"
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# The names of the tagged configurations supported by this script.
-available_tags=
-
-# ### BEGIN LIBTOOL CONFIG],
-[# ### BEGIN LIBTOOL TAG CONFIG: $tagname])
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
-
-# Is the compiler the GNU C compiler?
-with_gcc=$_LT_AC_TAGVAR(GCC, $1)
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_[]_LT_AC_TAGVAR(LD, $1)
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1)
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1)
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1)
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1)
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1)
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1)
-archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1)
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1)
-module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1)
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1)
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1)
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
-
-# The directories searched by this compiler when creating a shared
-# library
-compiler_lib_search_dirs=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1)
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1)
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1)
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1)
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1)
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1)
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1)
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1)
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1)
-
-# Symbols that must always be exported.
-include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1)
-
-ifelse([$1],[],
-[# ### END LIBTOOL CONFIG],
-[# ### END LIBTOOL TAG CONFIG: $tagname])
-
-__EOF__
-
-ifelse([$1],[], [
-  case $host_os in
-  aix3*)
-    cat <<\EOF >> "$cfgfile"
-
-# AIX sometimes has problems with the GCC collect2 program.  For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
-fi
-EOF
-    ;;
-  esac
-
-  # We use sed instead of cat because bash on DJGPP gets confused if
-  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
-  # text mode, it properly converts lines to CR/LF.  This bash problem
-  # is reportedly fixed, but why not run on old versions too?
-  sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
-
-  mv -f "$cfgfile" "$ofile" || \
-    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
-  chmod +x "$ofile"
-])
-else
-  # If there is no Makefile yet, we rely on a make rule to execute
-  # `config.status --recheck' to rerun these tests and create the
-  # libtool script then.
-  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
-  if test -f "$ltmain_in"; then
-    test -f Makefile && make "$ltmain"
-  fi
-fi
-])# AC_LIBTOOL_CONFIG
-
-
-# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME])
-# -------------------------------------------
-AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI],
-[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-
-_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-
-if test "$GCC" = yes; then
-  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
-
-  AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
-    lt_cv_prog_compiler_rtti_exceptions,
-    [-fno-rtti -fno-exceptions], [],
-    [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
-fi
-])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
-
-
-# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-# ---------------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
-[AC_REQUIRE([AC_CANONICAL_HOST])
-AC_REQUIRE([LT_AC_PROG_SED])
-AC_REQUIRE([AC_PROG_NM])
-AC_REQUIRE([AC_OBJEXT])
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-AC_MSG_CHECKING([command to parse $NM output from $compiler object])
-AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
-[
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[[BCDEGRST]]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
-
-# Transform an extracted symbol line into a proper C declaration
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
-
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[[BCDT]]'
-  ;;
-cygwin* | mingw* | pw32*)
-  symcode='[[ABCDGISTW]]'
-  ;;
-hpux*) # Its linker distinguishes data from code symbols
-  if test "$host_cpu" = ia64; then
-    symcode='[[ABCDEGRST]]'
-  fi
-  lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-  lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
-  ;;
-linux* | k*bsd*-gnu)
-  if test "$host_cpu" = ia64; then
-    symcode='[[ABCDGIRSTW]]'
-    lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-    lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
-  fi
-  ;;
-irix* | nonstopux*)
-  symcode='[[BCDEGRST]]'
-  ;;
-osf*)
-  symcode='[[BCDEGQRST]]'
-  ;;
-solaris*)
-  symcode='[[BDRT]]'
-  ;;
-sco3.2v5*)
-  symcode='[[DT]]'
-  ;;
-sysv4.2uw2*)
-  symcode='[[DT]]'
-  ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
-  symcode='[[ABDT]]'
-  ;;
-sysv4)
-  symcode='[[DFNSTU]]'
-  ;;
-esac
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
-  symcode='[[ABCDGIRSTW]]' ;;
-esac
-
-# Try without a prefix undercore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
-
-  # Write the raw and C identifiers.
-  lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ 	]]\($symcode$symcode*\)[[ 	]][[ 	]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-
-  rm -f conftest*
-  cat > conftest.$ac_ext <<EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-EOF
-
-  if AC_TRY_EVAL(ac_compile); then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-	mv -f "$nlist"T "$nlist"
-      else
-	rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if grep ' nm_test_var$' "$nlist" >/dev/null; then
-	if grep ' nm_test_func$' "$nlist" >/dev/null; then
-	  cat <<EOF > conftest.$ac_ext
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-EOF
-	  # Now generate the symbol file.
-	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
-
-	  cat <<EOF >> conftest.$ac_ext
-#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
-#else
-# define lt_ptr_t char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-const struct {
-  const char *name;
-  lt_ptr_t address;
-}
-lt_preloaded_symbols[[]] =
-{
-EOF
-	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
-	  cat <<\EOF >> conftest.$ac_ext
-  {0, (lt_ptr_t) 0}
-};
-
-#ifdef __cplusplus
-}
-#endif
-EOF
-	  # Now try linking the two files.
-	  mv conftest.$ac_objext conftstm.$ac_objext
-	  lt_save_LIBS="$LIBS"
-	  lt_save_CFLAGS="$CFLAGS"
-	  LIBS="conftstm.$ac_objext"
-	  CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
-	  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
-	    pipe_works=yes
-	  fi
-	  LIBS="$lt_save_LIBS"
-	  CFLAGS="$lt_save_CFLAGS"
-	else
-	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
-	fi
-      else
-	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
-    fi
-  else
-    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
-    cat conftest.$ac_ext >&5
-  fi
-  rm -rf conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
-  fi
-done
-])
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  AC_MSG_RESULT(failed)
-else
-  AC_MSG_RESULT(ok)
-fi
-]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-
-
-# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME])
-# ---------------------------------------
-AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC],
-[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=
-_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=
-
-AC_MSG_CHECKING([for $compiler option to produce PIC])
- ifelse([$1],[CXX],[
-  # C++ specific cases for pic, static, wl, etc.
-  if test "$GXX" = yes; then
-    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
-    case $host_os in
-    aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      fi
-      ;;
-    amigaos*)
-      # FIXME: we need at least 68020 code to build shared libraries, but
-      # adding the `-m68020' flag to GCC prevents building anything better,
-      # like `-m68040'.
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
-      ;;
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-    mingw* | cygwin* | os2* | pw32*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      m4_if([$1], [GCJ], [],
-	[_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-      ;;
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
-      ;;
-    *djgpp*)
-      # DJGPP does not support shared libraries at all
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-      ;;
-    interix[[3-9]]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
-      fi
-      ;;
-    hpux*)
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-	;;
-      *)
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	;;
-      esac
-      ;;
-    *)
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-      ;;
-    esac
-  else
-    case $host_os in
-      aix[[4-9]]*)
-	# All AIX code is PIC.
-	if test "$host_cpu" = ia64; then
-	  # AIX 5 now supports IA64 processor
-	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	else
-	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
-	fi
-	;;
-      chorus*)
-	case $cc_basename in
-	cxch68*)
-	  # Green Hills C++ Compiler
-	  # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
-	  ;;
-	esac
-	;;
-       darwin*)
-         # PIC is the default on this platform
-         # Common symbols not allowed in MH_DYLIB files
-         case $cc_basename in
-           xlc*)
-           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
-           _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-           ;;
-         esac
-       ;;
-      dgux*)
-	case $cc_basename in
-	  ec++*)
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    ;;
-	  ghcx*)
-	    # Green Hills C++ Compiler
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      freebsd* | dragonfly*)
-	# FreeBSD uses GNU C++
-	;;
-      hpux9* | hpux10* | hpux11*)
-	case $cc_basename in
-	  CC*)
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
-	    if test "$host_cpu" != ia64; then
-	      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-	    fi
-	    ;;
-	  aCC*)
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
-	    case $host_cpu in
-	    hppa*64*|ia64*)
-	      # +Z the default
-	      ;;
-	    *)
-	      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-	      ;;
-	    esac
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      interix*)
-	# This is c89, which is MS Visual C++ (no shared libs)
-	# Anyone wants to do a port?
-	;;
-      irix5* | irix6* | nonstopux*)
-	case $cc_basename in
-	  CC*)
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-	    # CC pic flag -KPIC is the default.
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      linux* | k*bsd*-gnu)
-	case $cc_basename in
-	  KCC*)
-	    # KAI C++ Compiler
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	    ;;
-	  icpc* | ecpc*)
-	    # Intel C++
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
-	    ;;
-	  pgCC* | pgcpp*)
-	    # Portland Group C++ compiler.
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    ;;
-	  cxx*)
-	    # Compaq C++
-	    # Make sure the PIC flag is empty.  It appears that all Alpha
-	    # Linux and Compaq Tru64 Unix objects are PIC.
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-	    ;;
-	  *)
-	    case `$CC -V 2>&1 | sed 5q` in
-	    *Sun\ C*)
-	      # Sun C++ 5.9
-	      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-	      ;;
-	    esac
-	    ;;
-	esac
-	;;
-      lynxos*)
-	;;
-      m88k*)
-	;;
-      mvs*)
-	case $cc_basename in
-	  cxx*)
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      netbsd*)
-	;;
-      osf3* | osf4* | osf5*)
-	case $cc_basename in
-	  KCC*)
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
-	    ;;
-	  RCC*)
-	    # Rational C++ 2.4.1
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    ;;
-	  cxx*)
-	    # Digital/Compaq C++
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    # Make sure the PIC flag is empty.  It appears that all Alpha
-	    # Linux and Compaq Tru64 Unix objects are PIC.
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      psos*)
-	;;
-      solaris*)
-	case $cc_basename in
-	  CC*)
-	    # Sun C++ 4.2, 5.x and Centerline C++
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-	    ;;
-	  gcx*)
-	    # Green Hills C++ Compiler
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      sunos4*)
-	case $cc_basename in
-	  CC*)
-	    # Sun C++ 4.x
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    ;;
-	  lcc*)
-	    # Lucid
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      tandem*)
-	case $cc_basename in
-	  NCC*)
-	    # NonStop-UX NCC 3.20
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-	case $cc_basename in
-	  CC*)
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    ;;
-	esac
-	;;
-      vxworks*)
-	;;
-      *)
-	_LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-	;;
-    esac
-  fi
-],
-[
-  if test "$GCC" = yes; then
-    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      # FIXME: we need at least 68020 code to build shared libraries, but
-      # adding the `-m68020' flag to GCC prevents building anything better,
-      # like `-m68040'.
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | cygwin* | pw32* | os2*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      m4_if([$1], [GCJ], [],
-	[_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
-      ;;
-
-    interix[[3-9]]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      enable_shared=no
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
-      fi
-      ;;
-
-    hpux*)
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-	# +Z the default
-	;;
-      *)
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	;;
-      esac
-      ;;
-
-    *)
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      else
-	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-      darwin*)
-        # PIC is the default on this platform
-        # Common symbols not allowed in MH_DYLIB files
-       case $cc_basename in
-         xlc*)
-         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
-         _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-         ;;
-       esac
-       ;;
-
-    mingw* | cygwin* | pw32* | os2*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      m4_if([$1], [GCJ], [],
-	[_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-	# +Z the default
-	;;
-      *)
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-	;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      # PIC (with -KPIC) is the default.
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    newsos6)
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    linux* | k*bsd*-gnu)
-      case $cc_basename in
-      icc* | ecc*)
-	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
-        ;;
-      pgcc* | pgf77* | pgf90* | pgf95*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-	# which looks to be a dead project)
-	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
-	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-        ;;
-      ccc*)
-        _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-        # All Alpha code is PIC.
-        _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-        ;;
-      *)
-        case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ C*)
-	  # Sun C 5.9
-	  _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	  _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	  ;;
-	*Sun\ F*)
-	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
-	  _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	  _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=''
-	  ;;
-	esac
-	;;
-      esac
-      ;;
-
-    osf3* | osf4* | osf5*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      # All OSF/1 code is PIC.
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    rdos*)
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    solaris*)
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95*)
-	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
-      *)
-	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
-	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    unicos*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      ;;
-
-    uts4*)
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    *)
-      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      ;;
-    esac
-  fi
-])
-AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
-  AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
-    _LT_AC_TAGVAR(lt_cv_prog_compiler_pic_works, $1),
-    [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
-    [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
-     "" | " "*) ;;
-     *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
-     esac],
-    [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-     _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
-fi
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-    ;;
-  *)
-    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])"
-    ;;
-esac
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
-AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
-  _LT_AC_TAGVAR(lt_cv_prog_compiler_static_works, $1),
-  $lt_tmp_static_flag,
-  [],
-  [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
-])
-
-
-# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
-# ------------------------------------
-# See if the linker supports building shared libraries.
-AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-ifelse([$1],[CXX],[
-  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  case $host_os in
-  aix[[4-9]]*)
-    # If we're using GNU nm, then we don't want the "-C" option.
-    # -C means demangle to AIX nm, but means don't demangle with GNU nm
-    if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
-      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
-    else
-      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
-    fi
-    ;;
-  pw32*)
-    _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
-  ;;
-  cygwin* | mingw*)
-    _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
-  ;;
-  *)
-    _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  ;;
-  esac
-  _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
-],[
-  runpath_var=
-  _LT_AC_TAGVAR(allow_undefined_flag, $1)=
-  _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-  _LT_AC_TAGVAR(archive_cmds, $1)=
-  _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
-  _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
-  _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
-  _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-  _LT_AC_TAGVAR(thread_safe_flag_spec, $1)=
-  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-  _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-  _LT_AC_TAGVAR(hardcode_direct, $1)=no
-  _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
-  _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-  _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
-  _LT_AC_TAGVAR(hardcode_automatic, $1)=no
-  _LT_AC_TAGVAR(module_cmds, $1)=
-  _LT_AC_TAGVAR(module_expsym_cmds, $1)=
-  _LT_AC_TAGVAR(always_export_symbols, $1)=no
-  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  _LT_AC_TAGVAR(include_expsyms, $1)=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-dnl Note also adjust exclude_expsyms for C++ above.
-  extract_expsyms_cmds=
-  # Just being paranoid about ensuring that cc_basename is set.
-  _LT_CC_BASENAME([$compiler])
-  case $host_os in
-  cygwin* | mingw* | pw32*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  esac
-
-  _LT_AC_TAGVAR(ld_shlibs, $1)=yes
-  if test "$with_gnu_ld" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
-
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
-    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
-	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      else
-  	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>/dev/null` in
-      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
-
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[[3-9]]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	cat <<EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-EOF
-      fi
-      ;;
-
-    amigaos*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-
-      # Samuel A. Falvo II <kc5tja at dolphin.openprojects.net> reports
-      # that the semantics of dynamic libraries on AmigaOS, at least up
-      # to version 4, is to share data among multiple programs linked
-      # with the same dynamic library.  Since this doesn't match the
-      # behavior of shared libraries on other platforms, we can't use
-      # them.
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-	# Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
-	# support --undefined.  This deserves some investigation.  FIXME
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32*)
-      # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
-      # as there is no search path for DLLs.
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_AC_TAGVAR(always_export_symbols, $1)=no
-      _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
-
-      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
-        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-	# If the export-symbols file already is a .def file (1st line
-	# is EXPORTS), use it as is; otherwise, prepend...
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-	  cp $export_symbols $output_objdir/$soname.def;
-	else
-	  echo EXPORTS > $output_objdir/$soname.def;
-	  cat $export_symbols >> $output_objdir/$soname.def;
-	fi~
-	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    interix[[3-9]]*)
-      _LT_AC_TAGVAR(hardcode_direct, $1)=no
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
-
-    gnu* | linux* | k*bsd*-gnu)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	tmp_addflag=
-	case $cc_basename,$host_cpu in
-	pgcc*)				# Portland Group C compiler
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-	  tmp_addflag=' $pic_flag'
-	  ;;
-	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-	  tmp_addflag=' $pic_flag -Mnomain' ;;
-	ecc*,ia64* | icc*,ia64*)		# Intel C compiler on ia64
-	  tmp_addflag=' -i_dynamic' ;;
-	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
-	  tmp_addflag=' -i_dynamic -nofor_main' ;;
-	ifc* | ifort*)			# Intel Fortran compiler
-	  tmp_addflag=' -nofor_main' ;;
-	esac
-	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ C*)			# Sun C 5.9
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-	  tmp_sharedflag='-G' ;;
-	*Sun\ F*)			# Sun Fortran 8.3
-	  tmp_sharedflag='-G' ;;
-	*)
-	  tmp_sharedflag='-shared' ;;
-	esac
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
-	if test $supports_anon_versioning = yes; then
-	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
-  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-  $echo "local: *; };" >> $output_objdir/$libname.ver~
-	  $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-	fi
-      else
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-	wlarc=
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	cat <<EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-EOF
-      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-	;;
-	*)
-	  if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
-	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
-	    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
-	  else
-	    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-	  fi
-	;;
-      esac
-      ;;
-
-    sunos4*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-    esac
-
-    if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then
-      runpath_var=
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_AC_TAGVAR(always_export_symbols, $1)=yes
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-	# Neither direct hardcoding nor static linking is supported with a
-	# broken collect2.
-	_LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
-      fi
-      ;;
-
-    aix[[4-9]]*)
-      if test "$host_cpu" = ia64; then
-	# On IA64, the linker does run time linking by default, so we don't
-	# have to do anything special.
-	aix_use_runtimelinking=no
-	exp_sym_flag='-Bexport'
-	no_entry_flag=""
-      else
-	# If we're using GNU nm, then we don't want the "-C" option.
-	# -C means demangle to AIX nm, but means don't demangle with GNU nm
-	if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
-	  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
-	else
-	  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
-	fi
-	aix_use_runtimelinking=no
-
-	# Test if we are trying to use run time linking or normal
-	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
-	# need to do runtime linking.
-	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
-	  for ld_flag in $LDFLAGS; do
-  	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-  	    aix_use_runtimelinking=yes
-  	    break
-  	  fi
-	  done
-	  ;;
-	esac
-
-	exp_sym_flag='-bexport'
-	no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      _LT_AC_TAGVAR(archive_cmds, $1)=''
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
-      if test "$GCC" = yes; then
-	case $host_os in aix4.[[012]]|aix4.[[012]].*)
-	# We only want to do this on AIX 4.2 and lower, the check
-	# below for broken collect2 doesn't work under 4.3+
-	  collect2name=`${CC} -print-prog-name=collect2`
-	  if test -f "$collect2name" && \
-  	   strings "$collect2name" | grep resolve_lib_name >/dev/null
-	  then
-  	  # We have reworked collect2
-  	  :
-	  else
-  	  # We have old collect2
-  	  _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
-  	  # It fails to find uninstalled libraries when the uninstalled
-  	  # path is not listed in the libpath.  Setting hardcode_minus_L
-  	  # to unsupported forces relinking
-  	  _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-  	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-  	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-	  fi
-	  ;;
-	esac
-	shared_flag='-shared'
-	if test "$aix_use_runtimelinking" = yes; then
-	  shared_flag="$shared_flag "'${wl}-G'
-	fi
-      else
-	# not using gcc
-	if test "$host_cpu" = ia64; then
-  	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-  	# chokes on -Wl,-G. The following line is correct:
-	  shared_flag='-G'
-	else
-	  if test "$aix_use_runtimelinking" = yes; then
-	    shared_flag='${wl}-G'
-	  else
-	    shared_flag='${wl}-bM:SRE'
-	  fi
-	fi
-      fi
-
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      _LT_AC_TAGVAR(always_export_symbols, $1)=yes
-      if test "$aix_use_runtimelinking" = yes; then
-	# Warning - without using the other runtime loading flags (-brtl),
-	# -berok will link without error, but may produce a broken library.
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
-       # Determine the default libpath from the value encoded in an empty executable.
-       _LT_AC_SYS_LIBPATH_AIX
-       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-       else
-	if test "$host_cpu" = ia64; then
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
-	  _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-	else
-	 # Determine the default libpath from the value encoded in an empty executable.
-	 _LT_AC_SYS_LIBPATH_AIX
-	 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-	  # Warning - without using the other run time loading flags,
-	  # -berok will link without error, but may produce a broken library.
-	  _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
-	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-	  # Exported symbols can be pulled into shared objects from archives
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
-	  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
-	  # This is similar to how AIX traditionally builds its shared libraries.
-	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-	fi
-      fi
-      ;;
-
-    amigaos*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      # see comment about different semantics on the GNU ld section
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      ;;
-
-    bsdi[[45]]*)
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
-      ;;
-
-    cygwin* | mingw* | pw32*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-      # Tell ltmain to make .lib files, not .a files.
-      libext=lib
-      # Tell ltmain to make .dll files, not .so files.
-      shrext_cmds=".dll"
-      # FIXME: Setting linknames here is a bad hack.
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
-      # The linker will automatically build a .lib file if we build a DLL.
-      _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
-      # FIXME: Should let the user specify the lib program.
-      _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
-      _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
-      _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-      ;;
-
-    darwin* | rhapsody*)
-      case $host_os in
-        rhapsody* | darwin1.[[012]])
-         _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
-         ;;
-       *) # Darwin 1.3 on
-         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-           _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-         else
-           case ${MACOSX_DEPLOYMENT_TARGET} in
-             10.[[012]])
-               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-               ;;
-             10.*)
-               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
-               ;;
-           esac
-         fi
-         ;;
-      esac
-      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_AC_TAGVAR(hardcode_direct, $1)=no
-      _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-    if test "$GCC" = yes ; then
-    	output_verbose_link_cmd='echo'
-        _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-        _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-        _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-        _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-    else
-      case $cc_basename in
-        xlc*)
-         output_verbose_link_cmd='echo'
-         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
-         _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          ;;
-       *)
-         _LT_AC_TAGVAR(ld_shlibs, $1)=no
-          ;;
-      esac
-    fi
-      ;;
-
-    dgux*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    freebsd1*)
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    hpux9*)
-      if test "$GCC" = yes; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-      ;;
-
-    hpux10*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	_LT_AC_TAGVAR(hardcode_direct, $1)=yes
-	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-
-	# hardcode_minus_L: Not really in the search PATH,
-	# but as the default location of the library.
-	_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-	case $host_cpu in
-	hppa*64*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	ia64*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	esac
-      else
-	case $host_cpu in
-	hppa*64*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	ia64*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	esac
-      fi
-      if test "$with_gnu_ld" = no; then
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	case $host_cpu in
-	hppa*64*|ia64*)
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
-	  _LT_AC_TAGVAR(hardcode_direct, $1)=no
-	  _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-	  ;;
-	*)
-	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-	  _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-
-	  # hardcode_minus_L: Not really in the search PATH,
-	  # but as the default location of the library.
-	  _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-	  ;;
-	esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    newsos6)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-	_LT_AC_TAGVAR(hardcode_direct, $1)=yes
-	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-	if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	  _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-	else
-	  case $host_os in
-	   openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
-	     _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-	     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	     ;;
-	   *)
-	     _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	     ;;
-	  esac
-        fi
-      else
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    os2*)
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
-
-    osf3*)
-      if test "$GCC" = yes; then
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-      ;;
-
-    osf4* | osf5*)	# as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      else
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
-	$LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
-
-	# Both c and cxx compiler support -rpath directly
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-      ;;
-
-    solaris*)
-      _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
-      if test "$GCC" = yes; then
-	wlarc='${wl}'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-	  $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
-      else
-	wlarc=''
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-  	$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      case $host_os in
-      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-      *)
-	# The compiler driver will combine and reorder linker options,
-	# but understands `-z linker_flag'.  GCC discards it without `$wl',
-	# but is careful enough not to reorder.
- 	# Supported since Solaris 2.6 (maybe 2.5.1?)
-	if test "$GCC" = yes; then
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-	else
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
-	fi
-	;;
-      esac
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-      ;;
-
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-	# Use $CC to link under sequent, because it throws in some extra .o
-	# files that make .init and .fini sections work.
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-	sni)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true???
-	;;
-	siemens)
-	  ## LD is ld it makes a PLAMLIB
-	  ## CC just makes a GrossModule.
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-	  _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
-	  _LT_AC_TAGVAR(hardcode_direct, $1)=no
-        ;;
-	motorola)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
-	;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    sysv4.3*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-	runpath_var=LD_RUN_PATH
-	hardcode_runpath_var=yes
-	_LT_AC_TAGVAR(ld_shlibs, $1)=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
-      _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
-      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    *)
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      ;;
-    esac
-  fi
-])
-AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
-test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in
-x|xyes)
-  # Assume -lc should be added
-  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $_LT_AC_TAGVAR(archive_cmds, $1) in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      AC_MSG_CHECKING([whether -lc should be explicitly linked in])
-      $rm conftest*
-      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-      if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
-        soname=conftest
-        lib=conftest
-        libobjs=conftest.$ac_objext
-        deplibs=
-        wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
-	pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
-        compiler_flags=-v
-        linker_flags=-v
-        verstring=
-        output_objdir=.
-        libname=conftest
-        lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
-        _LT_AC_TAGVAR(allow_undefined_flag, $1)=
-        if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
-        then
-	  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-        else
-	  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
-        fi
-        _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
-      else
-        cat conftest.err 1>&5
-      fi
-      $rm conftest*
-      AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
-      ;;
-    esac
-  fi
-  ;;
-esac
-])# AC_LIBTOOL_PROG_LD_SHLIBS
-
-
-# _LT_AC_FILE_LTDLL_C
-# -------------------
-# Be careful that the start marker always follows a newline.
-AC_DEFUN([_LT_AC_FILE_LTDLL_C], [
-# /* ltdll.c starts here */
-# #define WIN32_LEAN_AND_MEAN
-# #include <windows.h>
-# #undef WIN32_LEAN_AND_MEAN
-# #include <stdio.h>
-#
-# #ifndef __CYGWIN__
-# #  ifdef __CYGWIN32__
-# #    define __CYGWIN__ __CYGWIN32__
-# #  endif
-# #endif
-#
-# #ifdef __cplusplus
-# extern "C" {
-# #endif
-# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
-# #ifdef __cplusplus
-# }
-# #endif
-#
-# #ifdef __CYGWIN__
-# #include <cygwin/cygwin_dll.h>
-# DECLARE_CYGWIN_DLL( DllMain );
-# #endif
-# HINSTANCE __hDllInstance_base;
-#
-# BOOL APIENTRY
-# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
-# {
-#   __hDllInstance_base = hInst;
-#   return TRUE;
-# }
-# /* ltdll.c ends here */
-])# _LT_AC_FILE_LTDLL_C
-
-
-# _LT_AC_TAGVAR(VARNAME, [TAGNAME])
-# ---------------------------------
-AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])])
-
-
-# old names
-AC_DEFUN([AM_PROG_LIBTOOL],   [AC_PROG_LIBTOOL])
-AC_DEFUN([AM_ENABLE_SHARED],  [AC_ENABLE_SHARED($@)])
-AC_DEFUN([AM_ENABLE_STATIC],  [AC_ENABLE_STATIC($@)])
-AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
-AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
-AC_DEFUN([AM_PROG_LD],        [AC_PROG_LD])
-AC_DEFUN([AM_PROG_NM],        [AC_PROG_NM])
-
-# This is just to silence aclocal about the macro not being used
-ifelse([AC_DISABLE_FAST_INSTALL])
-
-AC_DEFUN([LT_AC_PROG_GCJ],
-[AC_CHECK_TOOL(GCJ, gcj, no)
-  test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
-  AC_SUBST(GCJFLAGS)
-])
-
-AC_DEFUN([LT_AC_PROG_RC],
-[AC_CHECK_TOOL(RC, windres, no)
-])
-
-
-# Cheap backport of AS_EXECUTABLE_P and required macros
-# from Autoconf 2.59; we should not use $as_executable_p directly.
-
-# _AS_TEST_PREPARE
-# ----------------
-m4_ifndef([_AS_TEST_PREPARE],
-[m4_defun([_AS_TEST_PREPARE],
-[if test -x / >/dev/null 2>&1; then
-  as_executable_p='test -x'
-else
-  as_executable_p='test -f'
-fi
-])])# _AS_TEST_PREPARE
-
-# AS_EXECUTABLE_P
-# ---------------
-# Check whether a file is executable.
-m4_ifndef([AS_EXECUTABLE_P],
-[m4_defun([AS_EXECUTABLE_P],
-[AS_REQUIRE([_AS_TEST_PREPARE])dnl
-$as_executable_p $1[]dnl
-])])# AS_EXECUTABLE_P
-
-# NOTE: This macro has been submitted for inclusion into   #
-#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
-#  a released version of Autoconf we should remove this    #
-#  macro and use it instead.                               #
-# LT_AC_PROG_SED
-# --------------
-# Check for a fully-functional sed program, that truncates
-# as few characters as possible.  Prefer GNU sed if found.
-AC_DEFUN([LT_AC_PROG_SED],
-[AC_MSG_CHECKING([for a sed that does not truncate output])
-AC_CACHE_VAL(lt_cv_path_SED,
-[# Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for lt_ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      if AS_EXECUTABLE_P(["$as_dir/$lt_ac_prog$ac_exec_ext"]); then
-        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
-      fi
-    done
-  done
-done
-IFS=$as_save_IFS
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
-  test ! -f $lt_ac_sed && continue
-  cat /dev/null > conftest.in
-  lt_ac_count=0
-  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
-  # Check for GNU sed and select it if it is found.
-  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
-    lt_cv_path_SED=$lt_ac_sed
-    break
-  fi
-  while true; do
-    cat conftest.in conftest.in >conftest.tmp
-    mv conftest.tmp conftest.in
-    cp conftest.in conftest.nl
-    echo >>conftest.nl
-    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
-    cmp -s conftest.out conftest.nl || break
-    # 10000 chars as input seems more than enough
-    test $lt_ac_count -gt 10 && break
-    lt_ac_count=`expr $lt_ac_count + 1`
-    if test $lt_ac_count -gt $lt_ac_max; then
-      lt_ac_max=$lt_ac_count
-      lt_cv_path_SED=$lt_ac_sed
-    fi
-  done
-done
-])
-SED=$lt_cv_path_SED
-AC_SUBST([SED])
-AC_MSG_RESULT([$SED])
-])
-
-# Copyright (C) 2002, 2003, 2005, 2006, 2007  Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -6670,10 +31,10 @@ AC_MSG_RESULT([$SED])
 # generated from the m4 files accompanying Automake X.Y.
 # (This private macro should not be called outside this file.)
 AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.10'
+[am__api_version='1.11'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.10.1], [],
+m4_if([$1], [1.11.1], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -6687,12 +48,12 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # AM_SET_CURRENT_AUTOMAKE_VERSION
 # -------------------------------
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
-# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.10.1])dnl
+[AM_AUTOMAKE_VERSION([1.11.1])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-_AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)])
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
@@ -6749,14 +110,14 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
 # Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 8
+# serial 9
 
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
@@ -6769,6 +130,7 @@ AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
 _AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
 if $2; then
   $1_TRUE=
   $1_FALSE='#'
@@ -6782,14 +144,14 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
 # Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
+# serial 10
 
 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
 # written in clear, in which case automake, when reading aclocal.m4,
@@ -6846,6 +208,16 @@ AC_CACHE_CHECK([dependency style of $depcc],
   if test "$am_compiler_list" = ""; then
      am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
   fi
+  am__universal=false
+  m4_case([$1], [CC],
+    [case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac],
+    [CXX],
+    [case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac])
+
   for depmode in $am_compiler_list; do
     # Setup a source with many dependencies, because some compilers
     # like to wrap large dependency lists on column 80 (with \), and
@@ -6863,7 +235,17 @@ AC_CACHE_CHECK([dependency style of $depcc],
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
     case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
     nosideeffect)
       # after this tag, mechanisms are not by side-effect, so they'll
       # only be used when explicitly requested
@@ -6873,19 +255,23 @@ AC_CACHE_CHECK([dependency style of $depcc],
 	break
       fi
       ;;
+    msvisualcpp | msvcmsys)
+      # This compiler won't grok `-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
     none) break ;;
     esac
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.
     if depmode=$depmode \
-       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       source=sub/conftest.c object=$am__obj \
        depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
          >/dev/null 2>conftest.err &&
        grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
        grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
        ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
       # icc doesn't choke on unknown options, it will just issue warnings
       # or remarks (even with -Werror).  So we grep stderr for any message
@@ -6942,57 +328,68 @@ _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
 # Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-#serial 3
+#serial 5
 
 # _AM_OUTPUT_DEPENDENCY_COMMANDS
 # ------------------------------
 AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[for mf in $CONFIG_FILES; do
-  # Strip MF so we end up with the name of the file.
-  mf=`echo "$mf" | sed -e 's/:.*$//'`
-  # Check whether this is an Automake generated Makefile or not.
-  # We used to match only the files named `Makefile.in', but
-  # some people rename them; so instead we look at the file content.
-  # Grep'ing the first line is not enough: some people post-process
-  # each Makefile.in and add a new line on top of each file to say so.
-  # Grep'ing the whole file is not good either: AIX grep has a line
-  # limit of 2048, but all sed's we know have understand at least 4000.
-  if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-    dirpart=`AS_DIRNAME("$mf")`
-  else
-    continue
-  fi
-  # Extract the definition of DEPDIR, am__include, and am__quote
-  # from the Makefile without running `make'.
-  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-  test -z "$DEPDIR" && continue
-  am__include=`sed -n 's/^am__include = //p' < "$mf"`
-  test -z "am__include" && continue
-  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-  # When using ansi2knr, U may be empty or an underscore; expand it
-  U=`sed -n 's/^U = //p' < "$mf"`
-  # Find all dependency output files, they are included files with
-  # $(DEPDIR) in their names.  We invoke sed twice because it is the
-  # simplest approach to changing $(DEPDIR) to its actual value in the
-  # expansion.
-  for file in `sed -n "
-    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-    # Make sure the directory exists.
-    test -f "$dirpart/$file" && continue
-    fdir=`AS_DIRNAME(["$file"])`
-    AS_MKDIR_P([$dirpart/$fdir])
-    # echo "creating $dirpart/$file"
-    echo '# dummy' > "$dirpart/$file"
+[{
+  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # are listed without --file.  Let's play safe and only enable the eval
+  # if we detect the quoting.
+  case $CONFIG_FILES in
+  *\'*) eval set x "$CONFIG_FILES" ;;
+  *)   set x $CONFIG_FILES ;;
+  esac
+  shift
+  for mf
+  do
+    # Strip MF so we end up with the name of the file.
+    mf=`echo "$mf" | sed -e 's/:.*$//'`
+    # Check whether this is an Automake generated Makefile or not.
+    # We used to match only the files named `Makefile.in', but
+    # some people rename them; so instead we look at the file content.
+    # Grep'ing the first line is not enough: some people post-process
+    # each Makefile.in and add a new line on top of each file to say so.
+    # Grep'ing the whole file is not good either: AIX grep has a line
+    # limit of 2048, but all sed's we know have understand at least 4000.
+    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+      dirpart=`AS_DIRNAME("$mf")`
+    else
+      continue
+    fi
+    # Extract the definition of DEPDIR, am__include, and am__quote
+    # from the Makefile without running `make'.
+    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+    test -z "$DEPDIR" && continue
+    am__include=`sed -n 's/^am__include = //p' < "$mf"`
+    test -z "am__include" && continue
+    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+    # When using ansi2knr, U may be empty or an underscore; expand it
+    U=`sed -n 's/^U = //p' < "$mf"`
+    # Find all dependency output files, they are included files with
+    # $(DEPDIR) in their names.  We invoke sed twice because it is the
+    # simplest approach to changing $(DEPDIR) to its actual value in the
+    # expansion.
+    for file in `sed -n "
+      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+      # Make sure the directory exists.
+      test -f "$dirpart/$file" && continue
+      fdir=`AS_DIRNAME(["$file"])`
+      AS_MKDIR_P([$dirpart/$fdir])
+      # echo "creating $dirpart/$file"
+      echo '# dummy' > "$dirpart/$file"
+    done
   done
-done
+}
 ])# _AM_OUTPUT_DEPENDENCY_COMMANDS
 
 
@@ -7012,13 +409,13 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 # Do all the work for Automake.                             -*- Autoconf -*-
 
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008 Free Software Foundation, Inc.
+# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 13
+# serial 16
 
 # This macro actually does too much.  Some checks are only needed if
 # your package does certain things.  But this isn't really a big deal.
@@ -7035,7 +432,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 # arguments mandatory, and then we can depend on a new Autoconf
 # release and drop the old call support.
 AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.60])dnl
+[AC_PREREQ([2.62])dnl
 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
 dnl the ones we care about.
 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@@ -7086,8 +483,8 @@ AM_MISSING_PROG(AUTOCONF, autoconf)
 AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
 AM_MISSING_PROG(AUTOHEADER, autoheader)
 AM_MISSING_PROG(MAKEINFO, makeinfo)
-AM_PROG_INSTALL_SH
-AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
 AC_REQUIRE([AM_PROG_MKDIR_P])dnl
 # We need awk for the "check" target.  The system "awk" is bad on
 # some platforms.
@@ -7095,24 +492,37 @@ AC_REQUIRE([AC_PROG_AWK])dnl
 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
 AC_REQUIRE([AM_SET_LEADING_DOT])dnl
 _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
-              [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
-	      		     [_AM_PROG_TAR([v7])])])
+	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+			     [_AM_PROG_TAR([v7])])])
 _AM_IF_OPTION([no-dependencies],,
 [AC_PROVIDE_IFELSE([AC_PROG_CC],
-                  [_AM_DEPENDENCIES(CC)],
-                  [define([AC_PROG_CC],
-                          defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+		  [_AM_DEPENDENCIES(CC)],
+		  [define([AC_PROG_CC],
+			  defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_CXX],
-                  [_AM_DEPENDENCIES(CXX)],
-                  [define([AC_PROG_CXX],
-                          defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+		  [_AM_DEPENDENCIES(CXX)],
+		  [define([AC_PROG_CXX],
+			  defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_OBJC],
-                  [_AM_DEPENDENCIES(OBJC)],
-                  [define([AC_PROG_OBJC],
-                          defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+		  [_AM_DEPENDENCIES(OBJC)],
+		  [define([AC_PROG_OBJC],
+			  defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
 ])
+_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
+dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
+dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
+dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
 ])
 
+dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
+
 
 # When config.status generates a header, we must update the stamp-h file.
 # This file resides in the same directory as the config header
@@ -7135,7 +545,7 @@ for _am_header in $config_headers :; do
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2008  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -7146,7 +556,14 @@ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_co
 # Define $install_sh.
 AC_DEFUN([AM_PROG_INSTALL_SH],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+if test x"${install_sh}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+  *)
+    install_sh="\${SHELL} $am_aux_dir/install-sh"
+  esac
+fi
 AC_SUBST(install_sh)])
 
 # Copyright (C) 2003, 2005  Free Software Foundation, Inc.
@@ -7172,13 +589,13 @@ AC_SUBST([am__leading_dot])])
 
 # Check to see how 'make' treats includes.	            -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 3
+# serial 4
 
 # AM_MAKE_INCLUDE()
 # -----------------
@@ -7187,7 +604,7 @@ AC_DEFUN([AM_MAKE_INCLUDE],
 [am_make=${MAKE-make}
 cat > confinc << 'END'
 am__doit:
-	@echo done
+	@echo this is the am__doit target
 .PHONY: am__doit
 END
 # If we don't find an include directive, just comment out the code.
@@ -7197,24 +614,24 @@ am__quote=
 _am_result=none
 # First try GNU make style include.
 echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
-   am__include=include
-   am__quote=
-   _am_result=GNU
-fi
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+  am__include=include
+  am__quote=
+  _am_result=GNU
+  ;;
+esac
 # Now try BSD make style include.
 if test "$am__include" = "#"; then
    echo '.include "confinc"' > confmf
-   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
-      am__include=.include
-      am__quote="\""
-      _am_result=BSD
-   fi
+   case `$am_make -s -f confmf 2> /dev/null` in #(
+   *the\ am__doit\ target*)
+     am__include=.include
+     am__quote="\""
+     _am_result=BSD
+     ;;
+   esac
 fi
 AC_SUBST([am__include])
 AC_SUBST([am__quote])
@@ -7224,14 +641,14 @@ rm -f confinc confmf
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
 # Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
+# serial 6
 
 # AM_MISSING_PROG(NAME, PROGRAM)
 # ------------------------------
@@ -7248,7 +665,14 @@ AC_SUBST($1)])
 AC_DEFUN([AM_MISSING_HAS_RUN],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
 AC_REQUIRE_AUX_FILE([missing])dnl
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+if test x"${MISSING+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+  *)
+    MISSING="\${SHELL} $am_aux_dir/missing" ;;
+  esac
+fi
 # Use eval to expand $SHELL
 if eval "$MISSING --run true"; then
   am_missing_run="$MISSING --run "
@@ -7286,13 +710,13 @@ esac
 
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2005, 2008  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 3
+# serial 4
 
 # _AM_MANGLE_OPTION(NAME)
 # -----------------------
@@ -7309,7 +733,7 @@ AC_DEFUN([_AM_SET_OPTION],
 # ----------------------------------
 # OPTIONS is a space-separated list of Automake options.
 AC_DEFUN([_AM_SET_OPTIONS],
-[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
 
 # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
 # -------------------------------------------
@@ -7336,14 +760,14 @@ AC_DEFUN([AM_RUN_LOG],
 
 # Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
 # Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 4
+# serial 5
 
 # AM_SANITY_CHECK
 # ---------------
@@ -7352,16 +776,29 @@ AC_DEFUN([AM_SANITY_CHECK],
 # Just in case
 sleep 1
 echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name.  Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+  *[[\\\"\#\$\&\'\`$am_lf]]*)
+    AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
+    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+esac
+
 # Do `set' in a subshell so we don't clobber the current shell's
 # arguments.  Must try -L first in case configure is actually a
 # symlink; some systems play weird games with the mod time of symlinks
 # (eg FreeBSD returns the mod time of the symlink's containing
 # directory).
 if (
-   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
    if test "$[*]" = "X"; then
       # -L didn't work.
-      set X `ls -t $srcdir/configure conftest.file`
+      set X `ls -t "$srcdir/configure" conftest.file`
    fi
    rm -f conftest.file
    if test "$[*]" != "X $srcdir/configure conftest.file" \
@@ -7386,6 +823,33 @@ Check your system clock])
 fi
 AC_MSG_RESULT(yes)])
 
+# Copyright (C) 2009  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 1
+
+# AM_SILENT_RULES([DEFAULT])
+# --------------------------
+# Enable less verbose build rules; with the default set to DEFAULT
+# (`yes' being less verbose, `no' or empty being verbose).
+AC_DEFUN([AM_SILENT_RULES],
+[AC_ARG_ENABLE([silent-rules],
+[  --enable-silent-rules          less verbose build output (undo: `make V=1')
+  --disable-silent-rules         verbose build output (undo: `make V=0')])
+case $enable_silent_rules in
+yes) AM_DEFAULT_VERBOSITY=0;;
+no)  AM_DEFAULT_VERBOSITY=1;;
+*)   AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+esac
+AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
+AM_BACKSLASH='\'
+AC_SUBST([AM_BACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+])
+
 # Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
@@ -7414,18 +878,25 @@ fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006  Free Software Foundation, Inc.
+# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 2
+
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
 # This macro is traced by Automake.
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 
+# AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
 # Check how to create a tarball.                            -*- Autoconf -*-
 
 # Copyright (C) 2004, 2005  Free Software Foundation, Inc.
@@ -7528,6 +999,7 @@ m4_include([m4/ac_check_gmp.m4])
 m4_include([m4/ac_check_sicstus_prolog.m4])
 m4_include([m4/ac_check_swi_prolog.m4])
 m4_include([m4/ac_check_xsb_prolog.m4])
+m4_include([m4/ac_check_yap.m4])
 m4_include([m4/ac_cxx_attribute_weak.m4])
 m4_include([m4/ac_cxx_double_binary_format.m4])
 m4_include([m4/ac_cxx_double_exact_output.m4])
@@ -7554,3 +1026,4 @@ m4_include([m4/ltsugar.m4])
 m4_include([m4/ltversion.m4])
 m4_include([m4/lt~obsolete.m4])
 m4_include([m4/m4.m4])
+m4_include([m4/ocaml.m4])
diff --git a/compile b/compile
index 1b1d232..c0096a7 100755
--- a/compile
+++ b/compile
@@ -1,9 +1,10 @@
 #! /bin/sh
 # Wrapper for compilers which do not understand `-c -o'.
 
-scriptversion=2005-05-14.22
+scriptversion=2009-10-06.20; # UTC
 
-# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009  Free Software
+# Foundation, Inc.
 # Written by Tom Tromey <tromey at cygnus.com>.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -17,8 +18,7 @@ scriptversion=2005-05-14.22
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -103,13 +103,13 @@ if test -z "$ofile" || test -z "$cfile"; then
 fi
 
 # Name of file we expect compiler to create.
-cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
+cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
 
 # Create the lock directory.
-# Note: use `[/.-]' here to ensure that we don't use the same name
+# Note: use `[/\\:.-]' here to ensure that we don't use the same name
 # that we are using for the .o file.  Also, base the name on the expected
 # object file name, since that is what matters with a parallel build.
-lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d
+lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
 while true; do
   if mkdir "$lockdir" >/dev/null 2>&1; then
     break
@@ -124,9 +124,9 @@ trap "rmdir '$lockdir'; exit 1" 1 2 15
 ret=$?
 
 if test -f "$cofile"; then
-  mv "$cofile" "$ofile"
+  test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
 elif test -f "${cofile}bj"; then
-  mv "${cofile}bj" "$ofile"
+  test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
 fi
 
 rmdir "$lockdir"
@@ -138,5 +138,6 @@ exit $ret
 # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
 # End:
diff --git a/config.guess b/config.guess
index f0f0d36..4e621ac 100755
--- a/config.guess
+++ b/config.guess
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
 #   Free Software Foundation, Inc.
 
-timestamp='2008-09-28'
+timestamp='2010-07-29'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -27,16 +27,16 @@ timestamp='2008-09-28'
 # the same distribution terms that you use for the rest of that program.
 
 
-# Originally written by Per Bothner <per at bothner.com>.
-# Please send patches to <config-patches at gnu.org>.  Submit a context
-# diff and a properly formatted ChangeLog entry.
+# Originally written by Per Bothner.  Please send patches (context
+# diff format) to <config-patches at gnu.org> and include a ChangeLog
+# entry.
 #
 # This script attempts to guess a canonical system name similar to
 # config.sub.  If it succeeds, it prints the system name on stdout, and
 # exits with 0.  Otherwise, it exits with 1.
 #
-# The plan is that this can be called by configure scripts if you
-# don't specify an explicit build system type.
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
 
 me=`echo "$0" | sed -e 's,.*/,,'`
 
@@ -56,8 +56,9 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
+Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -91,7 +92,7 @@ if test $# != 0; then
   exit 1
 fi
 
-trap 'exit 1' 1 2 15
+trap 'exit 1' HUP INT TERM
 
 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
 # compiler to aid in system detection is discouraged as it requires
@@ -105,7 +106,7 @@ trap 'exit 1' 1 2 15
 
 set_cc_for_build='
 trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" HUP INT PIPE TERM ;
 : ${TMPDIR=/tmp} ;
  { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
  { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
@@ -170,7 +171,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
 		eval $set_cc_for_build
 		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
-			| grep __ELF__ >/dev/null
+			| grep -q __ELF__
 		then
 		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
 		    # Return netbsd for either.  FIX?
@@ -324,14 +325,33 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	case `/usr/bin/uname -p` in
 	    sparc) echo sparc-icl-nx7; exit ;;
 	esac ;;
+    s390x:SunOS:*:*)
+	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
     sun4H:SunOS:5.*:*)
 	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
 	exit ;;
     sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
 	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
 	exit ;;
+    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
+	echo i386-pc-auroraux${UNAME_RELEASE}
+	exit ;;
     i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
-	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	eval $set_cc_for_build
+	SUN_ARCH="i386"
+	# If there is a compiler, see if it is configured for 64-bit objects.
+	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+	# This test works for both compilers.
+	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		grep IS_64BIT_ARCH >/dev/null
+	    then
+		SUN_ARCH="x86_64"
+	    fi
+	fi
+	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
 	exit ;;
     sun4*:SunOS:6*:*)
 	# According to config.sub, this is the proper way to canonicalize
@@ -532,7 +552,7 @@ EOF
 		echo rs6000-ibm-aix3.2
 	fi
 	exit ;;
-    *:AIX:*:[456])
+    *:AIX:*:[4567])
 	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
 	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
 		IBM_ARCH=rs6000
@@ -640,7 +660,7 @@ EOF
 	    # => hppa64-hp-hpux11.23
 
 	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
-		grep __LP64__ >/dev/null
+		grep -q __LP64__
 	    then
 		HP_ARCH="hppa2.0w"
 	    else
@@ -791,12 +811,12 @@ EOF
     i*:PW*:*)
 	echo ${UNAME_MACHINE}-pc-pw32
 	exit ;;
-    *:Interix*:[3456]*)
+    *:Interix*:*)
     	case ${UNAME_MACHINE} in
 	    x86)
 		echo i586-pc-interix${UNAME_RELEASE}
 		exit ;;
-	    EM64T | authenticamd | genuineintel)
+	    authenticamd | genuineintel | EM64T)
 		echo x86_64-unknown-interix${UNAME_RELEASE}
 		exit ;;
 	    IA64)
@@ -806,6 +826,9 @@ EOF
     [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
 	echo i${UNAME_MACHINE}-pc-mks
 	exit ;;
+    8664:Windows_NT:*)
+	echo x86_64-pc-mks
+	exit ;;
     i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
 	# How do we know it's Interix rather than the generic POSIX subsystem?
 	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
@@ -835,6 +858,20 @@ EOF
     i*86:Minix:*:*)
 	echo ${UNAME_MACHINE}-pc-minix
 	exit ;;
+    alpha:Linux:*:*)
+	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+	  EV5)   UNAME_MACHINE=alphaev5 ;;
+	  EV56)  UNAME_MACHINE=alphaev56 ;;
+	  PCA56) UNAME_MACHINE=alphapca56 ;;
+	  PCA57) UNAME_MACHINE=alphapca56 ;;
+	  EV6)   UNAME_MACHINE=alphaev6 ;;
+	  EV67)  UNAME_MACHINE=alphaev67 ;;
+	  EV68*) UNAME_MACHINE=alphaev68 ;;
+        esac
+	objdump --private-headers /bin/sh | grep -q ld.so.1
+	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+	exit ;;
     arm*:Linux:*:*)
 	eval $set_cc_for_build
 	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
@@ -857,6 +894,17 @@ EOF
     frv:Linux:*:*)
     	echo frv-unknown-linux-gnu
 	exit ;;
+    i*86:Linux:*:*)
+	LIBC=gnu
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#ifdef __dietlibc__
+	LIBC=dietlibc
+	#endif
+EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+	echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+	exit ;;
     ia64:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
@@ -866,78 +914,34 @@ EOF
     m68*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
-    mips:Linux:*:*)
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#undef CPU
-	#undef mips
-	#undef mipsel
-	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
-	CPU=mipsel
-	#else
-	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
-	CPU=mips
-	#else
-	CPU=
-	#endif
-	#endif
-EOF
-	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
-	    /^CPU/{
-		s: ::g
-		p
-	    }'`"
-	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
-	;;
-    mips64:Linux:*:*)
+    mips:Linux:*:* | mips64:Linux:*:*)
 	eval $set_cc_for_build
 	sed 's/^	//' << EOF >$dummy.c
 	#undef CPU
-	#undef mips64
-	#undef mips64el
+	#undef ${UNAME_MACHINE}
+	#undef ${UNAME_MACHINE}el
 	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
-	CPU=mips64el
+	CPU=${UNAME_MACHINE}el
 	#else
 	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
-	CPU=mips64
+	CPU=${UNAME_MACHINE}
 	#else
 	CPU=
 	#endif
 	#endif
 EOF
-	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
-	    /^CPU/{
-		s: ::g
-		p
-	    }'`"
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
 	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
 	;;
     or32:Linux:*:*)
 	echo or32-unknown-linux-gnu
 	exit ;;
-    ppc:Linux:*:*)
-	echo powerpc-unknown-linux-gnu
-	exit ;;
-    ppc64:Linux:*:*)
-	echo powerpc64-unknown-linux-gnu
-	exit ;;
-    alpha:Linux:*:*)
-	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
-	  EV5)   UNAME_MACHINE=alphaev5 ;;
-	  EV56)  UNAME_MACHINE=alphaev56 ;;
-	  PCA56) UNAME_MACHINE=alphapca56 ;;
-	  PCA57) UNAME_MACHINE=alphapca56 ;;
-	  EV6)   UNAME_MACHINE=alphaev6 ;;
-	  EV67)  UNAME_MACHINE=alphaev67 ;;
-	  EV68*) UNAME_MACHINE=alphaev68 ;;
-        esac
-	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
-	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
-	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
-	exit ;;
     padre:Linux:*:*)
 	echo sparc-unknown-linux-gnu
 	exit ;;
+    parisc64:Linux:*:* | hppa64:Linux:*:*)
+	echo hppa64-unknown-linux-gnu
+	exit ;;
     parisc:Linux:*:* | hppa:Linux:*:*)
 	# Look for CPU level
 	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
@@ -946,8 +950,11 @@ EOF
 	  *)    echo hppa-unknown-linux-gnu ;;
 	esac
 	exit ;;
-    parisc64:Linux:*:* | hppa64:Linux:*:*)
-	echo hppa64-unknown-linux-gnu
+    ppc64:Linux:*:*)
+	echo powerpc64-unknown-linux-gnu
+	exit ;;
+    ppc:Linux:*:*)
+	echo powerpc-unknown-linux-gnu
 	exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
 	echo ${UNAME_MACHINE}-ibm-linux
@@ -970,66 +977,6 @@ EOF
     xtensa*:Linux:*:*)
     	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
-    i*86:Linux:*:*)
-	# The BFD linker knows what the default object file format is, so
-	# first see if it will tell us. cd to the root directory to prevent
-	# problems with other programs or directories called `ld' in the path.
-	# Set LC_ALL=C to ensure ld outputs messages in English.
-	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
-			 | sed -ne '/supported targets:/!d
-				    s/[ 	][ 	]*/ /g
-				    s/.*supported targets: *//
-				    s/ .*//
-				    p'`
-        case "$ld_supported_targets" in
-	  elf32-i386)
-		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
-		;;
-	  a.out-i386-linux)
-		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
-		exit ;;
-	  "")
-		# Either a pre-BFD a.out linker (linux-gnuoldld) or
-		# one that does not give us useful --help.
-		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
-		exit ;;
-	esac
-	# Determine whether the default compiler is a.out or elf
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#include <features.h>
-	#ifdef __ELF__
-	# ifdef __GLIBC__
-	#  if __GLIBC__ >= 2
-	LIBC=gnu
-	#  else
-	LIBC=gnulibc1
-	#  endif
-	# else
-	LIBC=gnulibc1
-	# endif
-	#else
-	#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
-	LIBC=gnu
-	#else
-	LIBC=gnuaout
-	#endif
-	#endif
-	#ifdef __dietlibc__
-	LIBC=dietlibc
-	#endif
-EOF
-	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
-	    /^LIBC/{
-		s: ::g
-		p
-	    }'`"
-	test x"${LIBC}" != x && {
-		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
-		exit
-	}
-	test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
-	;;
     i*86:DYNIX/ptx:4*:*)
 	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
 	# earlier versions are messed up and put the nodename in both
@@ -1058,7 +1005,7 @@ EOF
     i*86:syllable:*:*)
 	echo ${UNAME_MACHINE}-pc-syllable
 	exit ;;
-    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
 	echo i386-unknown-lynxos${UNAME_RELEASE}
 	exit ;;
     i*86:*DOS:*:*)
@@ -1102,8 +1049,11 @@ EOF
     pc:*:*:*)
 	# Left here for compatibility:
         # uname -m prints for DJGPP always 'pc', but it prints nothing about
-        # the processor, so we play safe by assuming i386.
-	echo i386-pc-msdosdjgpp
+        # the processor, so we play safe by assuming i586.
+	# Note: whatever this is, it MUST be the same as what config.sub
+	# prints for the "djgpp" host, or else GDB configury will decide that
+	# this is a cross-build.
+	echo i586-pc-msdosdjgpp
         exit ;;
     Intel:Mach:3*:*)
 	echo i386-pc-mach3
@@ -1141,6 +1091,16 @@ EOF
     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
           && { echo i486-ncr-sysv4; exit; } ;;
+    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+	OS_REL='.3'
+	test -r /etc/.relid \
+	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
 	echo m68k-unknown-lynxos${UNAME_RELEASE}
 	exit ;;
@@ -1153,7 +1113,7 @@ EOF
     rs6000:LynxOS:2.*:*)
 	echo rs6000-unknown-lynxos${UNAME_RELEASE}
 	exit ;;
-    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
+    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
 	echo powerpc-unknown-lynxos${UNAME_RELEASE}
 	exit ;;
     SM[BE]S:UNIX_SV:*:*)
@@ -1246,6 +1206,16 @@ EOF
     *:Darwin:*:*)
 	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
 	case $UNAME_PROCESSOR in
+	    i386)
+		eval $set_cc_for_build
+		if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+		  if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+		      (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		      grep IS_64BIT_ARCH >/dev/null
+		  then
+		      UNAME_PROCESSOR="x86_64"
+		  fi
+		fi ;;
 	    unknown) UNAME_PROCESSOR=powerpc ;;
 	esac
 	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
@@ -1327,6 +1297,9 @@ EOF
     i*86:rdos:*:*)
 	echo ${UNAME_MACHINE}-pc-rdos
 	exit ;;
+    i*86:AROS:*:*)
+	echo ${UNAME_MACHINE}-pc-aros
+	exit ;;
 esac
 
 #echo '(No uname command or uname output not recognized.)' 1>&2
diff --git a/config.h.in b/config.h.in
index 357d000..3a216da 100644
--- a/config.h.in
+++ b/config.h.in
@@ -1,6 +1,8 @@
 /* config.h.in.  Generated from configure.ac by autoheader.  */
 
 
+/* BEGIN ppl-config.h */
+
 /* Unique (nonzero) code for the IEEE 754 Single Precision
    floating point format.  */
 #define PPL_FLOAT_IEEE754_SINGLE 1
@@ -67,6 +69,10 @@
    don't. */
 #undef HAVE_DECL_RLIMIT_VMEM
 
+/* Define to 1 if you have the declaration of `sigaction', and to 0 if you
+   don't. */
+#undef HAVE_DECL_SIGACTION
+
 /* Define to 1 if you have the declaration of `strtod', and to 0 if you don't.
    */
 #undef HAVE_DECL_STRTOD
@@ -120,9 +126,6 @@
 /* Define to 1 if you have the <memory.h> header file. */
 #undef HAVE_MEMORY_H
 
-/* Define to 1 if you have the `setitimer' function. */
-#undef HAVE_SETITIMER
-
 /* Define to 1 if the system has the type `siginfo_t'. */
 #undef HAVE_SIGINFO_T
 
@@ -159,6 +162,9 @@
 /* Define to 1 if typeof works with your compiler. */
 #undef HAVE_TYPEOF
 
+/* Define to 1 if the system has the type `uintptr_t'. */
+#undef HAVE_UINTPTR_T
+
 /* Define to 1 if the system has the type `uint_fast16_t'. */
 #undef HAVE_UINT_FAST16_T
 
@@ -171,13 +177,13 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
-/* Define to 1 if `_mp_alloc' is member of `__mpz_struct'. */
+/* Define to 1 if `_mp_alloc' is a member of `__mpz_struct'. */
 #undef HAVE___MPZ_STRUCT__MP_ALLOC
 
-/* Define to 1 if `_mp_d' is member of `__mpz_struct'. */
+/* Define to 1 if `_mp_d' is a member of `__mpz_struct'. */
 #undef HAVE___MPZ_STRUCT__MP_D
 
-/* Define to 1 if `_mp_size' is member of `__mpz_struct'. */
+/* Define to 1 if `_mp_size' is a member of `__mpz_struct'. */
 #undef HAVE___MPZ_STRUCT__MP_SIZE
 
 /* Define to the sub-directory in which libtool stores uninstalled libraries.
@@ -196,6 +202,9 @@
 /* Define to the one symbol short name of this package. */
 #undef PACKAGE_TARNAME
 
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
 /* Define to the version of this package. */
 #undef PACKAGE_VERSION
 
@@ -369,6 +378,10 @@
 /* Define to __typeof__ if your compiler spells it that way. */
 #undef typeof
 
+/* Define to the type of an unsigned integer type wide enough to hold a
+   pointer, if such a type exists, and if the system does not define it. */
+#undef uintptr_t
+
 
 #if defined(PPL_NDEBUG) && !defined(NDEBUG)
 # define NDEBUG PPL_NDEBUG
@@ -391,3 +404,5 @@
 # include <inttypes.h>
 #endif
 
+/* END ppl-config.h */
+
diff --git a/config.sub b/config.sub
index 053e738..204218c 100755
--- a/config.sub
+++ b/config.sub
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Configuration validation subroutine script.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
 #   Free Software Foundation, Inc.
 
-timestamp='2008-09-08'
+timestamp='2010-05-21'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -32,13 +32,16 @@ timestamp='2008-09-08'
 
 
 # Please send patches to <config-patches at gnu.org>.  Submit a context
-# diff and a properly formatted ChangeLog entry.
+# diff and a properly formatted GNU ChangeLog entry.
 #
 # Configuration subroutine to validate and canonicalize a configuration type.
 # Supply the specified configuration type as an argument.
 # If it is invalid, we print an error message on stderr and exit with code 1.
 # Otherwise, we print the canonical config type on stdout and succeed.
 
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
 # This file is supposed to be the same for all GNU packages
 # and recognize all the CPU types, system types and aliases
 # that are meaningful with *any* GNU software.
@@ -72,8 +75,9 @@ Report bugs and patches to <config-patches at gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
+Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -120,8 +124,10 @@ esac
 # Here we must recognize all the valid KERNEL-OS combinations.
 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
-  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
-  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
+  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+  knetbsd*-gnu* | netbsd*-gnu* | \
+  kopensolaris*-gnu* | \
   storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
@@ -148,10 +154,13 @@ case $os in
 	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
 	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
 	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-	-apple | -axis | -knuth | -cray)
+	-apple | -axis | -knuth | -cray | -microblaze)
 		os=
 		basic_machine=$1
 		;;
+        -bluegene*)
+	        os=-cnk
+		;;
 	-sim | -cisco | -oki | -wec | -winbond)
 		os=
 		basic_machine=$1
@@ -249,6 +258,7 @@ case $basic_machine in
 	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
 	| i370 | i860 | i960 | ia64 \
 	| ip2k | iq2000 \
+	| lm32 \
 	| m32c | m32r | m32rle | m68000 | m68k | m88k \
 	| maxq | mb | microblaze | mcore | mep | metag \
 	| mips | mipsbe | mipseb | mipsel | mipsle \
@@ -270,6 +280,7 @@ case $basic_machine in
 	| mipsisa64sr71k | mipsisa64sr71kel \
 	| mipstx39 | mipstx39el \
 	| mn10200 | mn10300 \
+	| moxie \
 	| mt \
 	| msp430 \
 	| nios | nios2 \
@@ -278,20 +289,31 @@ case $basic_machine in
 	| pdp10 | pdp11 | pj | pjl \
 	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
 	| pyramid \
+	| rx \
 	| score \
-	| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
 	| sh64 | sh64le \
 	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
 	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
 	| spu | strongarm \
-	| tahoe | thumb | tic4x | tic80 | tron \
+	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
+	| ubicom32 \
 	| v850 | v850e \
 	| we32k \
 	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
 	| z8k | z80)
 		basic_machine=$basic_machine-unknown
 		;;
-	m6811 | m68hc11 | m6812 | m68hc12)
+	c54x)
+		basic_machine=tic54x-unknown
+		;;
+	c55x)
+		basic_machine=tic55x-unknown
+		;;
+	c6x)
+		basic_machine=tic6x-unknown
+		;;
+	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
 		# Motorola 68HC11/12.
 		basic_machine=$basic_machine-unknown
 		os=-none
@@ -322,7 +344,7 @@ case $basic_machine in
 	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
 	| avr-* | avr32-* \
 	| bfin-* | bs2000-* \
-	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+	| c[123]* | c30-* | [cjt]90-* | c4x-* \
 	| clipper-* | craynv-* | cydra-* \
 	| d10v-* | d30v-* | dlx-* \
 	| elxsi-* \
@@ -331,9 +353,10 @@ case $basic_machine in
 	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
 	| i*86-* | i860-* | i960-* | ia64-* \
 	| ip2k-* | iq2000-* \
+	| lm32-* \
 	| m32c-* | m32r-* | m32rle-* \
 	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
 	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
 	| mips16-* \
 	| mips64-* | mips64el-* \
@@ -361,15 +384,17 @@ case $basic_machine in
 	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
 	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
 	| pyramid-* \
-	| romp-* | rs6000-* \
-	| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+	| romp-* | rs6000-* | rx-* \
+	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
 	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
 	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
 	| sparclite-* \
 	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
 	| tahoe-* | thumb-* \
-	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
+	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+	| tile-* | tilegx-* \
 	| tron-* \
+	| ubicom32-* \
 	| v850-* | v850e-* | vax-* \
 	| we32k-* \
 	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
@@ -443,6 +468,10 @@ case $basic_machine in
 		basic_machine=m68k-apollo
 		os=-bsd
 		;;
+	aros)
+		basic_machine=i386-pc
+		os=-aros
+		;;
 	aux)
 		basic_machine=m68k-apple
 		os=-aux
@@ -459,6 +488,19 @@ case $basic_machine in
 		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
 		os=-linux
 		;;
+	bluegene*)
+		basic_machine=powerpc-ibm
+		os=-cnk
+		;;
+	c54x-*)
+		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	c55x-*)
+		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	c6x-*)
+		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
 	c90)
 		basic_machine=c90-cray
 		os=-unicos
@@ -711,6 +753,9 @@ case $basic_machine in
 		basic_machine=ns32k-utek
 		os=-sysv
 		;;
+        microblaze)
+		basic_machine=microblaze-xilinx
+		;;
 	mingw32)
 		basic_machine=i386-pc
 		os=-mingw32
@@ -1049,17 +1094,10 @@ case $basic_machine in
 		basic_machine=t90-cray
 		os=-unicos
 		;;
-	tic54x | c54x*)
-		basic_machine=tic54x-unknown
-		os=-coff
-		;;
-	tic55x | c55x*)
-		basic_machine=tic55x-unknown
-		os=-coff
-		;;
-	tic6x | c6x*)
-		basic_machine=tic6x-unknown
-		os=-coff
+        # This must be matched before tile*.
+        tilegx*)
+		basic_machine=tilegx-unknown
+		os=-linux-gnu
 		;;
 	tile*)
 		basic_machine=tile-unknown
@@ -1182,7 +1220,7 @@ case $basic_machine in
 	we32k)
 		basic_machine=we32k-att
 		;;
-	sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
+	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
 		basic_machine=sh-unknown
 		;;
 	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
@@ -1232,6 +1270,9 @@ case $os in
         # First match some system type aliases
         # that might get confused with valid system types.
 	# -solaris* is a basic system type, with this one exception.
+        -auroraux)
+	        os=-auroraux
+		;;
 	-solaris1 | -solaris1.*)
 		os=`echo $os | sed -e 's|solaris1|sunos4|'`
 		;;
@@ -1252,10 +1293,11 @@ case $os in
 	# Each alternative MUST END IN A *, to match a version number.
 	# -sysv* is not here because it comes later, after sysvr4.
 	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
-	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
-	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
+	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
+	      | -sym* | -kopensolaris* \
 	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-	      | -aos* \
+	      | -aos* | -aros* \
 	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
 	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
 	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
@@ -1266,7 +1308,8 @@ case $os in
 	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
 	      | -chorusos* | -chorusrdb* | -cegcc* \
 	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-	      | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+	      | -mingw32* | -linux-gnu* | -linux-android* \
+	      | -linux-newlib* | -linux-uclibc* \
 	      | -uxpv* | -beos* | -mpeix* | -udk* \
 	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
 	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
@@ -1274,7 +1317,7 @@ case $os in
 	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
 	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
 	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
+	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
 	# Remember, each alternative MUST END IN *, to match a version number.
 		;;
 	-qnx*)
@@ -1407,6 +1450,8 @@ case $os in
 	-dicos*)
 		os=-dicos
 		;;
+        -nacl*)
+	        ;;
 	-none)
 		;;
 	*)
@@ -1447,6 +1492,15 @@ case $basic_machine in
         c4x-* | tic4x-*)
         	os=-coff
 		;;
+	tic54x-*)
+		os=-coff
+		;;
+	tic55x-*)
+		os=-coff
+		;;
+	tic6x-*)
+		os=-coff
+		;;
 	# This must come before the *-dec entry.
 	pdp10-*)
 		os=-tops20
@@ -1604,7 +1658,7 @@ case $basic_machine in
 			-sunos*)
 				vendor=sun
 				;;
-			-aix*)
+			-cnk*|-aix*)
 				vendor=ibm
 				;;
 			-beos*)
diff --git a/configure b/configure
index 4f3dfc2..e3ae48f 100755
--- a/configure
+++ b/configure
@@ -1,20 +1,24 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63 for the Parma Polyhedra Library 0.10.2.
+# Generated by GNU Autoconf 2.67 for the Parma Polyhedra Library 0.11.
 #
 # Report bugs to <ppl-devel at cs.unipr.it>.
 #
+#
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
+# Foundation, Inc.
+#
+#
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
-## --------------------- ##
-## M4sh Initialization.  ##
-## --------------------- ##
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
 
 # Be more Bourne compatible
 DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
   NULLCMD=:
   # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
@@ -22,23 +26,15 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
 else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
 esac
-
 fi
 
 
-
-
-# PATH needs CR
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
 as_nl='
 '
 export as_nl
@@ -46,7 +42,13 @@ export as_nl
 as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
 as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
 as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
   as_echo='printf %s\n'
   as_echo_n='printf %s'
 else
@@ -57,7 +59,7 @@ else
     as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
     as_echo_n_body='eval
       arg=$1;
-      case $arg in
+      case $arg in #(
       *"$as_nl"*)
 	expr "X$arg" : "X\\(.*\\)$as_nl";
 	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
@@ -80,13 +82,6 @@ if test "${PATH_SEPARATOR+set}" != set; then
   }
 fi
 
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  as_unset=unset
-else
-  as_unset=false
-fi
-
 
 # IFS
 # We need space, tab and new line, in precisely that order.  Quoting is
@@ -96,15 +91,15 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
-case $0 in
+case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
+    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  done
 IFS=$as_save_IFS
 
      ;;
@@ -116,12 +111,16 @@ if test "x$as_myself" = x; then
 fi
 if test ! -f "$as_myself"; then
   $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  { (exit 1); exit 1; }
+  exit 1
 fi
 
-# Work around bugs in pre-3.0 UWIN ksh.
-for as_var in ENV MAIL MAILPATH
-do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
 done
 PS1='$ '
 PS2='> '
@@ -133,7 +132,257 @@ export LC_ALL
 LANGUAGE=C
 export LANGUAGE
 
-# Required to use basename.
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test "x$CONFIG_SHELL" = x; then
+  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '\${1+\"\$@\"}'='\"\$@\"'
+  setopt NO_GLOB_SUBST
+else
+  case \`(set -o) 2>/dev/null\` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+"
+  as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
+else
+  exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1"
+  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1
+
+  test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
+    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
+    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
+    PATH=/empty FPATH=/empty; export PATH FPATH
+    test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
+      || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1"
+  if (eval "$as_required") 2>/dev/null; then :
+  as_have_required=yes
+else
+  as_have_required=no
+fi
+  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  as_found=:
+  case $as_dir in #(
+	 /*)
+	   for as_base in sh bash ksh sh5; do
+	     # Try only shells that exist, to save several forks.
+	     as_shell=$as_dir/$as_base
+	     if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+		    { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  CONFIG_SHELL=$as_shell as_have_required=yes
+		   if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  break 2
+fi
+fi
+	   done;;
+       esac
+  as_found=false
+done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+	      { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+  CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
+IFS=$as_save_IFS
+
+
+      if test "x$CONFIG_SHELL" != x; then :
+  # We cannot yet assume a decent shell, so we have to provide a
+	# neutralization value for shells without unset; and this also
+	# works around shells that cannot unset nonexistent variables.
+	BASH_ENV=/dev/null
+	ENV=/dev/null
+	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+	export CONFIG_SHELL
+	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+    if test x$as_have_required = xno; then :
+  $as_echo "$0: This script requires a shell more modern than all"
+  $as_echo "$0: the shells that I found on your system."
+  if test x${ZSH_VERSION+set} = xset ; then
+    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+  else
+    $as_echo "$0: Please tell bug-autoconf at gnu.org and
+$0: ppl-devel at cs.unipr.it about your system, including any
+$0: error possibly output before this message. Then install
+$0: a modern shell, or manually run the script under such a
+$0: shell if you do have one."
+  fi
+  exit 1
+fi
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
+else
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+  fi
+  $as_echo "$as_me: error: $2" >&2
+  as_fn_exit $as_status
+} # as_fn_error
+
 if expr a : '\(a\)' >/dev/null 2>&1 &&
    test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
@@ -147,8 +396,12 @@ else
   as_basename=false
 fi
 
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
 
-# Name of the executable.
 as_me=`$as_basename -- "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
 	 X"$0" : 'X\(//\)$' \| \
@@ -168,629 +421,195 @@ $as_echo X/"$0" |
 	  }
 	  s/.*/./; q'`
 
-# CDPATH.
-$as_unset CDPATH
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
 
 
-if test "x$CONFIG_SHELL" = x; then
-  if (eval ":") 2>/dev/null; then
-  as_have_required=yes
-else
-  as_have_required=no
-fi
+  as_lineno_1=$LINENO as_lineno_1a=$LINENO
+  as_lineno_2=$LINENO as_lineno_2a=$LINENO
+  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
+    sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
+      N
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+      t loop
+      s/-\n.*//
+    ' >$as_me.lineno &&
+  chmod +x "$as_me.lineno" ||
+    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
-  if test $as_have_required = yes &&	 (eval ":
-(as_func_return () {
-  (exit \$1)
-}
-as_func_success () {
-  as_func_return 0
-}
-as_func_failure () {
-  as_func_return 1
-}
-as_func_ret_success () {
-  return 0
-}
-as_func_ret_failure () {
-  return 1
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
+  # Exit status is that of the last command.
+  exit
 }
 
-exitcode=0
-if as_func_success; then
-  :
-else
-  exitcode=1
-  echo as_func_success failed.
-fi
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+  case `echo 'xy\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='	';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
 
-if as_func_failure; then
-  exitcode=1
-  echo as_func_failure succeeded.
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir 2>/dev/null
 fi
-
-if as_func_ret_success; then
-  :
+if (echo >conf$$.file) 2>/dev/null; then
+  if ln -s conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s='ln -s'
+    # ... but there are two gotchas:
+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+    # In both cases, we have to default to `cp -p'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -p'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
+    as_ln_s='cp -p'
+  fi
 else
-  exitcode=1
-  echo as_func_ret_success failed.
+  as_ln_s='cp -p'
 fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
 
-if as_func_ret_failure; then
-  exitcode=1
-  echo as_func_ret_failure succeeded.
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p='mkdir -p "$as_dir"'
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
 fi
 
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
-  :
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
 else
-  exitcode=1
-  echo positional parameters were not saved.
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+	test -d "$1/.";
+      else
+	case $1 in #(
+	-*)set "./$1";;
+	esac;
+	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+	???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
 fi
+as_executable_p=$as_test_x
 
-test \$exitcode = 0) || { (exit 1); exit 1; }
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
 
-(
-  as_lineno_1=\$LINENO
-  as_lineno_2=\$LINENO
-  test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
-  test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
-") 2> /dev/null; then
-  :
-else
-  as_candidate_shells=
-    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  case $as_dir in
-	 /*)
-	   for as_base in sh bash ksh sh5; do
-	     as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
-	   done;;
-       esac
-done
-IFS=$as_save_IFS
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
+SHELL=${CONFIG_SHELL-/bin/sh}
 
-      for as_shell in $as_candidate_shells $SHELL; do
-	 # Try only shells that exist, to save several forks.
-	 if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-		{ ("$as_shell") 2> /dev/null <<\_ASEOF
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
-esac
-
-fi
-
-
-:
-_ASEOF
-}; then
-  CONFIG_SHELL=$as_shell
-	       as_have_required=yes
-	       if { "$as_shell" 2> /dev/null <<\_ASEOF
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
-esac
-
-fi
-
-
-:
-(as_func_return () {
-  (exit $1)
-}
-as_func_success () {
-  as_func_return 0
-}
-as_func_failure () {
-  as_func_return 1
-}
-as_func_ret_success () {
-  return 0
-}
-as_func_ret_failure () {
-  return 1
-}
-
-exitcode=0
-if as_func_success; then
-  :
-else
-  exitcode=1
-  echo as_func_success failed.
-fi
-
-if as_func_failure; then
-  exitcode=1
-  echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
-  :
-else
-  exitcode=1
-  echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
-  exitcode=1
-  echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = "$1" ); then
-  :
-else
-  exitcode=1
-  echo positional parameters were not saved.
-fi
-
-test $exitcode = 0) || { (exit 1); exit 1; }
-
-(
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
-
-_ASEOF
-}; then
-  break
-fi
-
-fi
-
-      done
-
-      if test "x$CONFIG_SHELL" != x; then
-  for as_var in BASH_ENV ENV
-	do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-	done
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
-fi
-
-
-    if test $as_have_required = no; then
-  echo This script requires a shell more modern than all the
-      echo shells that I found on your system.  Please install a
-      echo modern shell, or manually run the script under such a
-      echo shell if you do have one.
-      { (exit 1); exit 1; }
-fi
-
-
-fi
-
-fi
-
-
-
-(eval "as_func_return () {
-  (exit \$1)
-}
-as_func_success () {
-  as_func_return 0
-}
-as_func_failure () {
-  as_func_return 1
-}
-as_func_ret_success () {
-  return 0
-}
-as_func_ret_failure () {
-  return 1
-}
-
-exitcode=0
-if as_func_success; then
-  :
-else
-  exitcode=1
-  echo as_func_success failed.
-fi
-
-if as_func_failure; then
-  exitcode=1
-  echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
-  :
-else
-  exitcode=1
-  echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
-  exitcode=1
-  echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
-  :
-else
-  exitcode=1
-  echo positional parameters were not saved.
-fi
-
-test \$exitcode = 0") || {
-  echo No shell found that supports shell functions.
-  echo Please tell bug-autoconf at gnu.org about your system,
-  echo including any error possibly output before this message.
-  echo This can help us improve future autoconf versions.
-  echo Configuration will now proceed without shell functions.
-}
-
-
-
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-
-  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
-  # uniformly replaced by the line number.  The first 'sed' inserts a
-  # line-number line after each line using $LINENO; the second 'sed'
-  # does the real work.  The second script uses 'N' to pair each
-  # line-number line with the line containing $LINENO, and appends
-  # trailing '-' during substitution so that $LINENO is not a special
-  # case at line end.
-  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-  # scripts with optimization help from Paolo Bonzini.  Blame Lee
-  # E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
-   { (exit 1); exit 1; }; }
-
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in
--n*)
-  case `echo 'x\c'` in
-  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
-  *)   ECHO_C='\c';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p=:
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
 
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
+# Name of the host.
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
 
+# Identity of this package.
+PACKAGE_NAME='the Parma Polyhedra Library'
+PACKAGE_TARNAME='ppl'
+PACKAGE_VERSION='0.11'
+PACKAGE_STRING='the Parma Polyhedra Library 0.11'
+PACKAGE_BUGREPORT='ppl-devel at cs.unipr.it'
+PACKAGE_URL=''
 
-# Check that we are running under the correct shell.
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-case X$lt_ECHO in
-X*--fallback-echo)
-  # Remove one level of quotation (which was required for Make).
-  ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','`
-  ;;
-esac
-
-ECHO=${lt_ECHO-echo}
-if test "X$1" = X--no-reexec; then
-  # Discard the --no-reexec flag, and continue.
-  shift
-elif test "X$1" = X--fallback-echo; then
-  # Avoid inline document here, it may be left over
-  :
-elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
-  # Yippee, $ECHO works!
-  :
-else
-  # Restart under the correct shell.
-  exec $SHELL "$0" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
-  # used as fallback echo
-  shift
-  cat <<_LT_EOF
-$*
-_LT_EOF
-  exit 0
-fi
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test -z "$lt_ECHO"; then
-  if test "X${echo_test_string+set}" != Xset; then
-    # find a string as large as possible, as long as the shell can cope with it
-    for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
-      # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
-      if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
-	 { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
-      then
-        break
-      fi
-    done
-  fi
-
-  if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
-     echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
-     test "X$echo_testing_string" = "X$echo_test_string"; then
-    :
-  else
-    # The Solaris, AIX, and Digital Unix default echo programs unquote
-    # backslashes.  This makes it impossible to quote backslashes using
-    #   echo "$something" | sed 's/\\/\\\\/g'
-    #
-    # So, first we look for a working echo in the user's PATH.
-
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for dir in $PATH /usr/ucb; do
-      IFS="$lt_save_ifs"
-      if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
-         test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
-         echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
-         test "X$echo_testing_string" = "X$echo_test_string"; then
-        ECHO="$dir/echo"
-        break
-      fi
-    done
-    IFS="$lt_save_ifs"
-
-    if test "X$ECHO" = Xecho; then
-      # We didn't find a better echo, so look for alternatives.
-      if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
-         echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
-         test "X$echo_testing_string" = "X$echo_test_string"; then
-        # This shell has a builtin print -r that does the trick.
-        ECHO='print -r'
-      elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
-	   test "X$CONFIG_SHELL" != X/bin/ksh; then
-        # If we have ksh, try running configure again with it.
-        ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-        export ORIGINAL_CONFIG_SHELL
-        CONFIG_SHELL=/bin/ksh
-        export CONFIG_SHELL
-        exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
-      else
-        # Try using printf.
-        ECHO='printf %s\n'
-        if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
-	   echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
-	   test "X$echo_testing_string" = "X$echo_test_string"; then
-	  # Cool, printf works
-	  :
-        elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
-	     test "X$echo_testing_string" = 'X\t' &&
-	     echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-	     test "X$echo_testing_string" = "X$echo_test_string"; then
-	  CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
-	  export CONFIG_SHELL
-	  SHELL="$CONFIG_SHELL"
-	  export SHELL
-	  ECHO="$CONFIG_SHELL $0 --fallback-echo"
-        elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
-	     test "X$echo_testing_string" = 'X\t' &&
-	     echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-	     test "X$echo_testing_string" = "X$echo_test_string"; then
-	  ECHO="$CONFIG_SHELL $0 --fallback-echo"
-        else
-	  # maybe with a smaller string...
-	  prev=:
-
-	  for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
-	    if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
-	    then
-	      break
-	    fi
-	    prev="$cmd"
-	  done
-
-	  if test "$prev" != 'sed 50q "$0"'; then
-	    echo_test_string=`eval $prev`
-	    export echo_test_string
-	    exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
-	  else
-	    # Oops.  We lost completely, so just stick with echo.
-	    ECHO=echo
-	  fi
-        fi
-      fi
-    fi
-  fi
-fi
-
-# Copy echo and quote the copy suitably for passing to libtool from
-# the Makefile, instead of quoting the original, which is used later.
-lt_ECHO=$ECHO
-if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
-   lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
-fi
-
-
-
-
-exec 7<&0 </dev/null 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-# Identity of this package.
-PACKAGE_NAME='the Parma Polyhedra Library'
-PACKAGE_TARNAME='ppl'
-PACKAGE_VERSION='0.10.2'
-PACKAGE_STRING='the Parma Polyhedra Library 0.10.2'
-PACKAGE_BUGREPORT='ppl-devel at cs.unipr.it'
-
-ac_unique_file="src/Polyhedron_public.cc"
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
+ac_unique_file="src/Polyhedron_public.cc"
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+#  include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+#  include <memory.h>
+# endif
+# include <string.h>
+#endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
 
 enable_option_checking=no
-ac_subst_vars='LTLIBOBJS
+ac_subst_vars='am__EXEEXT_FALSE
+am__EXEEXT_TRUE
+LTLIBOBJS
 LIBOBJS
 mlgmp_dir
-ocamlc_root
 required_instantiations_ocaml_cxx_objects
 required_instantiations_ocaml_cxx_sources
 required_instantiations_ocaml_cxx_headers
@@ -830,7 +649,6 @@ OTOOL
 LIPO
 NMEDIT
 DSYMUTIL
-lt_ECHO
 RANLIB
 AR
 OBJDUMP
@@ -851,7 +669,10 @@ BUILD_SOME_PROLOG_INTERFACES_FALSE
 BUILD_SOME_PROLOG_INTERFACES_TRUE
 BUILD_YAP_PROLOG_INTERFACE_FALSE
 BUILD_YAP_PROLOG_INTERFACE_TRUE
+YAP_PROLOG_LD_OPTIONS
+YAP_PROLOG_INCLUDE_OPTIONS
 YAP_PROLOG
+yap_prolog
 BUILD_XSB_PROLOG_INTERFACE_FALSE
 BUILD_XSB_PROLOG_INTERFACE_TRUE
 XSB_PROLOG_INCLUDE_OPTIONS
@@ -860,7 +681,9 @@ BUILD_SWI_PROLOG_INTERFACE_FALSE
 BUILD_SWI_PROLOG_INTERFACE_TRUE
 SWI_PROLOG_LD_OPTIONS
 SWI_PROLOG_INCLUDE_OPTIONS
+SWI_PROLOG_LD
 SWI_PROLOG
+swi_prolog_ld
 swi_prolog
 BUILD_SICSTUS_PROLOG_INTERFACE_FALSE
 BUILD_SICSTUS_PROLOG_INTERFACE_TRUE
@@ -880,7 +703,17 @@ HAVE_OCAMLOPT_FALSE
 HAVE_OCAMLOPT_TRUE
 HAVE_OCAMLC_FALSE
 HAVE_OCAMLC_TRUE
+OCAMLBUILD
+OCAMLDOC
+OCAMLMKLIB
+OCAMLMKTOP
+OCAMLDEP
+OCAMLOPTDOTOPT
+OCAMLCDOTOPT
+OCAMLBEST
 OCAMLOPT
+OCAMLLIB
+OCAMLVERSION
 OCAMLC
 BUILD_JAVA_INTERFACE_FALSE
 BUILD_JAVA_INTERFACE_TRUE
@@ -894,6 +727,8 @@ BUILD_C_INTERFACE_FALSE
 BUILD_C_INTERFACE_TRUE
 BUILD_CXX_INTERFACE_FALSE
 BUILD_CXX_INTERFACE_TRUE
+BUILD_PPL_PIPS_FALSE
+BUILD_PPL_PIPS_TRUE
 BUILD_PPL_LPSOL_FALSE
 BUILD_PPL_LPSOL_TRUE
 BUILD_PPL_LCDD_FALSE
@@ -901,8 +736,10 @@ BUILD_PPL_LCDD_TRUE
 subdirs
 BUILD_WATCHDOG_LIBRARY_FALSE
 BUILD_WATCHDOG_LIBRARY_TRUE
+LIBGMPXX_PREFIX
 LTLIBGMPXX
 LIBGMPXX
+LIBGMP_PREFIX
 LTLIBGMP
 LIBGMP
 SUPPORTED_LONG_DOUBLE_FALSE
@@ -913,10 +750,10 @@ SUPPORTED_FLOAT_FALSE
 SUPPORTED_FLOAT_TRUE
 CAN_CONTROL_FPU_FALSE
 CAN_CONTROL_FPU_TRUE
-CPP
 HAVE_PERL_FALSE
 HAVE_PERL_TRUE
 PERL
+CPP
 USE_INT64_FALSE
 USE_INT64_TRUE
 USE_INT32_FALSE
@@ -984,6 +821,8 @@ PPL_VERSION_BETA
 PPL_VERSION_REVISION
 PPL_VERSION_MINOR
 PPL_VERSION_MAJOR
+AM_BACKSLASH
+AM_DEFAULT_VERBOSITY
 am__untar
 am__tar
 AMTAR
@@ -1045,6 +884,7 @@ bindir
 program_transform_name
 prefix
 exec_prefix
+PACKAGE_URL
 PACKAGE_BUGREPORT
 PACKAGE_STRING
 PACKAGE_VERSION
@@ -1055,6 +895,7 @@ SHELL'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
+enable_silent_rules
 with_cc
 with_cxx
 enable_dependency_tracking
@@ -1070,13 +911,14 @@ enable_pch
 enable_coefficients
 with_cflags
 with_cxxflags
+with_gmp_build
 with_gnu_ld
 enable_rpath
-with_libgmp_prefix
-with_libgmpxx_prefix
+with_gmp_prefix
 enable_watchdog
 enable_ppl_lcdd
 enable_ppl_lpsol
+enable_ppl_pips
 enable_interfaces
 with_java
 with_mlgmp
@@ -1165,8 +1007,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -1211,8 +1054,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
-   { (exit 1); exit 1; }; }
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1238,8 +1080,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
-   { (exit 1); exit 1; }; }
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1443,8 +1284,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
-   { (exit 1); exit 1; }; }
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1460,8 +1300,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
-   { (exit 1); exit 1; }; }
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1491,17 +1330,17 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) { $as_echo "$as_me: error: unrecognized option: $ac_option
-Try \`$0 --help' for more information." >&2
-   { (exit 1); exit 1; }; }
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
     ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
-      { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2
-   { (exit 1); exit 1; }; }
+    case $ac_envvar in #(
+      '' | [0-9]* | *[!_$as_cr_alnum]* )
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
+    esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
 
@@ -1518,15 +1357,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  { $as_echo "$as_me: error: missing argument to $ac_option" >&2
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2
-   { (exit 1); exit 1; }; } ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1549,8 +1386,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1564,8 +1400,8 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
+    $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
+    If a cross compiler is detected then cross compile mode will be used" >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1580,11 +1416,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  { $as_echo "$as_me: error: working directory cannot be determined" >&2
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  { $as_echo "$as_me: error: pwd does not report name of working directory" >&2
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1623,13 +1457,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2
-   { (exit 1); exit 1; }; }
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1655,7 +1487,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures the Parma Polyhedra Library 0.10.2 to adapt to many kinds of systems.
+\`configure' configures the Parma Polyhedra Library 0.11 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1669,7 +1501,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1725,7 +1557,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of the Parma Polyhedra Library 0.10.2:";;
+     short | recursive ) echo "Configuration of the Parma Polyhedra Library 0.11:";;
    esac
   cat <<\_ACEOF
 
@@ -1733,6 +1565,8 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --enable-silent-rules          less verbose build output (undo: `make V=1')
+  --disable-silent-rules         verbose build output (undo: `make V=0')
   --disable-dependency-tracking  speeds up one-time build
   --enable-dependency-tracking   do not reject slow dependency extractors
   --enable-debugging      compile with debugging information
@@ -1753,6 +1587,7 @@ Optional Features:
   --enable-watchdog       build also the Parma Watchdog Library
   --enable-ppl_lcdd       build the ppl_lcdd program
   --enable-ppl_lpsol      build the ppl_lpsol program
+  --enable-ppl_pips       build the ppl_pips program
   --enable-interfaces=INTERFACES
                           enable some or all the library interfaces
   --enable-instantiations=INSTANTIATIONS
@@ -1772,11 +1607,10 @@ Optional Packages:
   --with-cxx=XXX          use XXX as the C++ compiler
   --with-cflags=XXX       add XXX to the options for the C compiler
   --with-cxxflags=XXX     add XXX to the options for the C++ compiler
+  --with-gmp-build=DIR    use a non-installed build of GMP in DIR
   --with-gnu-ld           assume the C compiler uses GNU ld default=no
-  --with-libgmp-prefix[=DIR]  search for libgmp in DIR/include and DIR/lib
-  --without-libgmp-prefix     don't search for libgmp in includedir and libdir
-  --with-libgmpxx-prefix[=DIR]  search for libgmpxx in DIR/include and DIR/lib
-  --without-libgmpxx-prefix     don't search for libgmpxx in includedir and libdir
+  --with-gmp-prefix[=DIR]  search for libgmp, libgmpxx in DIR/include and DIR/lib
+  --without-gmp-prefix     don't search for libgmp, libgmpxx in includedir and libdir
   --with-java=DIR         use the Java SDK installed in DIR
   --with-mlgmp=DIR        use the ML GMP package installed in DIR
   --with-pic              try to use only PIC/non-PIC objects [default=use
@@ -1789,7 +1623,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CXX         C++ compiler command
   CXXFLAGS    C++ compiler flags
@@ -1864,2521 +1698,2814 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-the Parma Polyhedra Library configure 0.10.2
-generated by GNU Autoconf 2.63
+the Parma Polyhedra Library configure 0.11
+generated by GNU Autoconf 2.67
 
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+Copyright (C) 2010 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
   exit
 fi
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
 
-It was created by the Parma Polyhedra Library $as_me 0.10.2, which was
-generated by GNU Autoconf 2.63.  Invocation command line was
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
 
-  $ $0 $@
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext
+  if { { ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-_ACEOF
-exec 5>>config.log
+	ac_retval=1
+fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_compile
+
+# ac_fn_cxx_try_compile LINENO
+# ----------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_compile ()
 {
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext
+  if { { ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
+	ac_retval=1
+fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
 
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
+} # ac_fn_cxx_try_compile
 
-/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
-/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
-/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
+# ac_fn_cxx_try_cpp LINENO
+# ------------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_cpp ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } > conftest.i && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-_ASUNAME
+    ac_retval=1
+fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
 
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  $as_echo "PATH: $as_dir"
-done
-IFS=$as_save_IFS
+} # ac_fn_cxx_try_cpp
 
-} >&5
+# ac_fn_c_try_run LINENO
+# ----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_c_try_run ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+       $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >&5 <<_ACEOF
+       ac_retval=$ac_status
+fi
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
 
+} # ac_fn_c_try_run
 
-## ----------- ##
-## Core tests. ##
-## ----------- ##
+# ac_fn_c_try_cpp LINENO
+# ----------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_cpp ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } > conftest.i && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+    ac_retval=1
+fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_cpp
 
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval "test \"\${$3+set}\"" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
 _ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
 
+} # ac_fn_c_check_header_compile
 
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
-  for ac_arg
-  do
-    case $ac_arg in
-    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-    | -silent | --silent | --silen | --sile | --sil)
-      continue ;;
-    *\'*)
-      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    case $ac_pass in
-    1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
-    2)
-      ac_configure_args1="$ac_configure_args1 '$ac_arg'"
-      if test $ac_must_keep_next = true; then
-	ac_must_keep_next=false # Got value, back to normal.
-      else
-	case $ac_arg in
-	  *=* | --config-cache | -C | -disable-* | --disable-* \
-	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-	  | -with-* | --with-* | -without-* | --without-* | --x)
-	    case "$ac_configure_args0 " in
-	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-	    esac
-	    ;;
-	  -* ) ac_must_keep_next=true ;;
-	esac
-      fi
-      ac_configure_args="$ac_configure_args '$ac_arg'"
-      ;;
-    esac
-  done
-done
-$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
-$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
+# --------------------------------------------
+# Tries to find the compile-time value of EXPR in a program that includes
+# INCLUDES, setting VAR accordingly. Returns whether the value could be
+# computed
+ac_fn_c_compute_int ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if test "$cross_compiling" = yes; then
+    # Depending upon the size, compute the lo and hi bounds.
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) >= 0)];
+test_array [0] = 0
 
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log.  We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
-  # Save into config.log some information that might help in debugging.
-  {
-    echo
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_lo=0 ac_mid=0
+  while :; do
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) <= $ac_mid)];
+test_array [0] = 0
 
-    cat <<\_ASBOX
-## ---------------- ##
-## Cache variables. ##
-## ---------------- ##
-_ASBOX
-    echo
-    # The following way of writing the cache mishandles newlines in values,
-(
-  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) $as_unset $ac_var ;;
-      esac ;;
-    esac
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_hi=$ac_mid; break
+else
+  as_fn_arith $ac_mid + 1 && ac_lo=$as_val
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
-  (set) 2>&1 |
-    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      sed -n \
-	"s/'\''/'\''\\\\'\'''\''/g;
-	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-      ;; #(
-    *)
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-)
-    echo
-
-    cat <<\_ASBOX
-## ----------------- ##
-## Output variables. ##
-## ----------------- ##
-_ASBOX
-    echo
-    for ac_var in $ac_subst_vars
-    do
-      eval ac_val=\$$ac_var
-      case $ac_val in
-      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-      esac
-      $as_echo "$ac_var='\''$ac_val'\''"
-    done | sort
-    echo
-
-    if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
-## File substitutions. ##
-## ------------------- ##
-_ASBOX
-      echo
-      for ac_var in $ac_subst_files
-      do
-	eval ac_val=\$$ac_var
-	case $ac_val in
-	*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-	esac
-	$as_echo "$ac_var='\''$ac_val'\''"
-      done | sort
-      echo
-    fi
-
-    if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
-## confdefs.h. ##
-## ----------- ##
-_ASBOX
-      echo
-      cat confdefs.h
-      echo
-    fi
-    test "$ac_signal" != 0 &&
-      $as_echo "$as_me: caught signal $ac_signal"
-    $as_echo "$as_me: exit $exit_status"
-  } >&5
-  rm -f core *.core core.conftest.* &&
-    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-    exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
-  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-# Predefined preprocessor variables.
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) < 0)];
+test_array [0] = 0
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
+  ;
+  return 0;
+}
 _ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_hi=-1 ac_mid=-1
+  while :; do
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) >= $ac_mid)];
+test_array [0] = 0
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_lo=$ac_mid; break
+else
+  as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  done
+else
+  ac_lo= ac_hi=
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+  as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) <= $ac_mid)];
+test_array [0] = 0
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+  ;
+  return 0;
+}
 _ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_hi=$ac_mid
+else
+  as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in #((
+?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
+'') ac_retval=1 ;;
+esac
+  else
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+static long int longval () { return $2; }
+static unsigned long int ulongval () { return $2; }
+#include <stdio.h>
+#include <stdlib.h>
+int
+main ()
+{
 
+  FILE *f = fopen ("conftest.val", "w");
+  if (! f)
+    return 1;
+  if (($2) < 0)
+    {
+      long int i = longval ();
+      if (i != ($2))
+	return 1;
+      fprintf (f, "%ld", i);
+    }
+  else
+    {
+      unsigned long int i = ulongval ();
+      if (i != ($2))
+	return 1;
+      fprintf (f, "%lu", i);
+    }
+  /* Do not output a trailing newline, as this causes \r\n confusion
+     on some platforms.  */
+  return ferror (f) || fclose (f) != 0;
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
+  ;
+  return 0;
+}
 _ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  echo >>conftest.val; read $3 <conftest.val; ac_retval=0
+else
+  ac_retval=1
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f conftest.val
 
+  fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
+} # ac_fn_c_compute_int
 
+# ac_fn_cxx_try_link LINENO
+# -------------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_link ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext conftest$ac_exeext
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+	 test "$cross_compiling" = yes ||
+	 $as_test_x conftest$ac_exeext
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
+	ac_retval=1
+fi
+  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+  # interfere with the next link command; also delete a directory that is
+  # left behind by Apple's compiler.  We do this before executing the actions.
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
 
+} # ac_fn_cxx_try_link
 
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
-elif test "x$prefix" != xNONE; then
-  ac_site_file1=$prefix/share/config.site
-  ac_site_file2=$prefix/etc/config.site
+# ac_fn_cxx_check_header_mongrel LINENO HEADER VAR INCLUDES
+# ---------------------------------------------------------
+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
+# the include files in INCLUDES and setting the cache variable VAR
+# accordingly.
+ac_fn_cxx_check_header_mongrel ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if eval "test \"\${$3+set}\"" = set; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval "test \"\${$3+set}\"" = set; then :
+  $as_echo_n "(cached) " >&6
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
 else
-  ac_site_file1=$ac_default_prefix/share/config.site
-  ac_site_file2=$ac_default_prefix/etc/config.site
+  # Is the header compilable?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+$as_echo_n "checking $2 usability... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_header_compiler=yes
+else
+  ac_header_compiler=no
 fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
-  test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
-    { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
-    sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
-  fi
-done
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
 
-if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
-    { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
-    case $cache_file in
-      [\\/]* | ?:[\\/]* ) . "$cache_file";;
-      *)                      . "./$cache_file";;
-    esac
-  fi
+# Is the header present?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+$as_echo_n "checking $2 presence... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <$2>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+  ac_header_preproc=yes
 else
-  { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
-  >$cache_file
+  ac_header_preproc=no
 fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
 
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
-  eval ac_old_set=\$ac_cv_env_${ac_var}_set
-  eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-  eval ac_new_val=\$ac_env_${ac_var}_value
-  case $ac_old_set,$ac_new_set in
-    set,)
-      { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,set)
-      { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,);;
-    *)
-      if test "x$ac_old_val" != "x$ac_new_val"; then
-	# differences in whitespace do not lead to failure.
-	ac_old_val_w=`echo x $ac_old_val`
-	ac_new_val_w=`echo x $ac_new_val`
-	if test "$ac_old_val_w" != "$ac_new_val_w"; then
-	  { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-	  ac_cache_corrupted=:
-	else
-	  { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
-	  eval $ac_var=\$ac_old_val
-	fi
-	{ $as_echo "$as_me:$LINENO:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-	{ $as_echo "$as_me:$LINENO:   current value: \`$ac_new_val'" >&5
-$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
-      fi;;
-  esac
-  # Pass precious variables to config.status.
-  if test "$ac_new_set" = set; then
-    case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-    *) ac_arg=$ac_var=$ac_new_val ;;
-    esac
-    case " $ac_configure_args " in
-      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
-    esac
-  fi
-done
-if $ac_cache_corrupted; then
-  { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
-   { (exit 1); exit 1; }; }
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in #((
+  yes:no: )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+    ;;
+  no:yes:* )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+( $as_echo "## ------------------------------------ ##
+## Report this to ppl-devel at cs.unipr.it ##
+## ------------------------------------ ##"
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval "test \"\${$3+set}\"" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  eval "$3=\$ac_header_compiler"
 fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
 
+} # ac_fn_cxx_check_header_mongrel
 
+# ac_fn_cxx_try_run LINENO
+# ------------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_cxx_try_run ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+       $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-# Minimum Autoconf version required.
-
-
-# Make sure the sources are there.
-
-
-# Specify the location of additional local Autoconf macros.
-
-
-# Determine the system type and set output variables to the names of
-# the canonical system types.
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  if test -f "$ac_dir/install-sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install-sh -c"
-    break
-  elif test -f "$ac_dir/install.sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install.sh -c"
-    break
-  elif test -f "$ac_dir/shtool"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/shtool install -c"
-    break
-  fi
-done
-if test -z "$ac_aux_dir"; then
-  { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
-$as_echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
-   { (exit 1); exit 1; }; }
+       ac_retval=$ac_status
 fi
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
 
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
-
+} # ac_fn_cxx_try_run
 
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
-$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
-   { (exit 1); exit 1; }; }
-
-{ $as_echo "$as_me:$LINENO: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then
+# ac_fn_cxx_check_decl LINENO SYMBOL VAR INCLUDES
+# -----------------------------------------------
+# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
+# accordingly.
+ac_fn_cxx_check_decl ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  as_decl_name=`echo $2|sed 's/ *(.*//'`
+  as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
+$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
+if eval "test \"\${$3+set}\"" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
-  { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
-$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
-   { (exit 1); exit 1; }; }
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
-$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
-   { (exit 1); exit 1; }; }
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+#ifndef $as_decl_name
+#ifdef __cplusplus
+  (void) $as_decl_use;
+#else
+  (void) $as_decl_name;
+#endif
+#endif
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
-$as_echo "$as_me: error: invalid value of canonical build" >&2;}
-   { (exit 1); exit 1; }; };;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
 
+} # ac_fn_cxx_check_decl
 
-{ $as_echo "$as_me:$LINENO: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then
+# ac_fn_cxx_check_type LINENO TYPE VAR INCLUDES
+# ---------------------------------------------
+# Tests whether TYPE exists after having included INCLUDES, setting cache
+# variable VAR accordingly.
+ac_fn_cxx_check_type ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval "test \"\${$3+set}\"" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test "x$host_alias" = x; then
-  ac_cv_host=$ac_cv_build
+  eval "$3=no"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+if (sizeof ($2))
+	 return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+if (sizeof (($2)))
+	    return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
 else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
-$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
-   { (exit 1); exit 1; }; }
+  eval "$3=yes"
 fi
-
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
-$as_echo "$as_me: error: invalid value of canonical host" >&2;}
-   { (exit 1); exit 1; }; };;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
 
+} # ac_fn_cxx_check_type
 
+# ac_fn_cxx_compute_int LINENO EXPR VAR INCLUDES
+# ----------------------------------------------
+# Tries to find the compile-time value of EXPR in a program that includes
+# INCLUDES, setting VAR accordingly. Returns whether the value could be
+# computed
+ac_fn_cxx_compute_int ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if test "$cross_compiling" = yes; then
+    # Depending upon the size, compute the lo and hi bounds.
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) >= 0)];
+test_array [0] = 0
 
-# Use Automake.
-am__api_version='1.10'
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_lo=0 ac_mid=0
+  while :; do
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) <= $ac_mid)];
+test_array [0] = 0
 
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then
-  $as_echo_n "(cached) " >&6
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_hi=$ac_mid; break
 else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in
-  ./ | .// | /cC/* | \
-  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
-  /usr/ucb/* ) ;;
-  *)
-    # OSF1 and SCO ODT 3.0 have their own names for install.
-    # Don't use installbsd from OSF since it installs stuff as root
-    # by default.
-    for ac_prog in ginstall scoinst install; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
-	  if test $ac_prog = install &&
-	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-	    # AIX install.  It has an incompatible calling convention.
-	    :
-	  elif test $ac_prog = install &&
-	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-	    # program-specific install script used by HP pwplus--don't use.
-	    :
-	  else
-	    rm -rf conftest.one conftest.two conftest.dir
-	    echo one > conftest.one
-	    echo two > conftest.two
-	    mkdir conftest.dir
-	    if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
-	      test -s conftest.one && test -s conftest.two &&
-	      test -s conftest.dir/conftest.one &&
-	      test -s conftest.dir/conftest.two
-	    then
-	      ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-	      break 3
-	    fi
-	  fi
-	fi
-      done
-    done
-    ;;
-esac
-
-done
-IFS=$as_save_IFS
+  as_fn_arith $ac_mid + 1 && ac_lo=$as_val
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  done
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) < 0)];
+test_array [0] = 0
 
-rm -rf conftest.one conftest.two conftest.dir
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_hi=-1 ac_mid=-1
+  while :; do
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) >= $ac_mid)];
+test_array [0] = 0
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_lo=$ac_mid; break
+else
+  as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
 fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL=$ac_cv_path_install
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    INSTALL=$ac_install_sh
-  fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  done
+else
+  ac_lo= ac_hi=
 fi
-{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
-   if test "$*" = "X"; then
-      # -L didn't work.
-      set X `ls -t $srcdir/configure conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$*" != "X $srcdir/configure conftest.file" \
-      && test "$*" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      { { $as_echo "$as_me:$LINENO: error: ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" >&5
-$as_echo "$as_me: error: ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" >&2;}
-   { (exit 1); exit 1; }; }
-   fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+  as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) <= $ac_mid)];
+test_array [0] = 0
 
-   test "$2" = conftest.file
-   )
-then
-   # Ok.
-   :
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_hi=$ac_mid
 else
-   { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files!
-Check your system clock" >&5
-$as_echo "$as_me: error: newly created file is older than distributed files!
-Check your system clock" >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
 fi
-{ $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
-  program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
-  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in #((
+?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
+'') ac_retval=1 ;;
+esac
+  else
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+static long int longval () { return $2; }
+static unsigned long int ulongval () { return $2; }
+#include <stdio.h>
+#include <stdlib.h>
+int
+main ()
+{
 
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+  FILE *f = fopen ("conftest.val", "w");
+  if (! f)
+    return 1;
+  if (($2) < 0)
+    {
+      long int i = longval ();
+      if (i != ($2))
+	return 1;
+      fprintf (f, "%ld", i);
+    }
+  else
+    {
+      unsigned long int i = ulongval ();
+      if (i != ($2))
+	return 1;
+      fprintf (f, "%lu", i);
+    }
+  /* Do not output a trailing newline, as this causes \r\n confusion
+     on some platforms.  */
+  return ferror (f) || fclose (f) != 0;
 
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_run "$LINENO"; then :
+  echo >>conftest.val; read $3 <conftest.val; ac_retval=0
 else
-  am_missing_run=
-  { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+  ac_retval=1
 fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f conftest.val
 
-{ $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
-  if test "${ac_cv_path_mkdir+set}" = set; then
+  fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_compute_int
+
+# ac_fn_cxx_check_member LINENO AGGR MEMBER VAR INCLUDES
+# ------------------------------------------------------
+# Tries to find if the field MEMBER exists in type AGGR, after including
+# INCLUDES, setting cache variable VAR accordingly.
+ac_fn_cxx_check_member ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
+$as_echo_n "checking for $2.$3... " >&6; }
+if eval "test \"\${$4+set}\"" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_prog in mkdir gmkdir; do
-	 for ac_exec_ext in '' $ac_executable_extensions; do
-	   { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
-	   case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
-	     'mkdir (GNU coreutils) '* | \
-	     'mkdir (coreutils) '* | \
-	     'mkdir (fileutils) '4.1*)
-	       ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
-	       break 3;;
-	   esac
-	 done
-       done
-done
-IFS=$as_save_IFS
-
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$5
+int
+main ()
+{
+static $2 ac_aggr;
+if (ac_aggr.$3)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  eval "$4=yes"
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$5
+int
+main ()
+{
+static $2 ac_aggr;
+if (sizeof ac_aggr.$3)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  eval "$4=yes"
+else
+  eval "$4=no"
 fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$4
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
 
-  if test "${ac_cv_path_mkdir+set}" = set; then
-    MKDIR_P="$ac_cv_path_mkdir -p"
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for MKDIR_P within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    test -d ./--version && rmdir ./--version
-    MKDIR_P="$ac_install_sh -d"
+} # ac_fn_cxx_check_member
+
+# ac_fn_c_try_link LINENO
+# -----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_link ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext conftest$ac_exeext
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
   fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+	 test "$cross_compiling" = yes ||
+	 $as_test_x conftest$ac_exeext
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_retval=1
 fi
-{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
+  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+  # interfere with the next link command; also delete a directory that is
+  # left behind by Apple's compiler.  We do this before executing the actions.
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
 
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
-  [\\/$]* | ?:[\\/]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
+} # ac_fn_c_try_link
 
-for ac_prog in gawk mawk nawk awk
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then
+# ac_fn_c_check_func LINENO FUNC VAR
+# ----------------------------------
+# Tests whether FUNC exists, setting the cache variable VAR accordingly
+ac_fn_c_check_func ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval "test \"\${$3+set}\"" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$AWK"; then
-  ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AWK="$ac_prog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $2 innocuous_$2
 
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
-  { $as_echo "$as_me:$LINENO: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $2 (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $2
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $2 ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined __stub_$2 || defined __stub___$2
+choke me
+#endif
+
+int
+main ()
+{
+return $2 ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  eval "$3=yes"
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+  eval "$3=no"
 fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
 
+} # ac_fn_c_check_func
 
-  test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
+# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
+# the include files in INCLUDES and setting the cache variable VAR
+# accordingly.
+ac_fn_c_check_header_mongrel ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if eval "test \"\${$3+set}\"" = set; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval "test \"\${$3+set}\"" = set; then :
   $as_echo_n "(cached) " >&6
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
 else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-	@echo '@@@%%%=$(MAKE)=@@@%%%'
+  # Is the header compilable?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+$as_echo_n "checking $2 usability... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
 _ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-  SET_MAKE=
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_header_compiler=yes
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
+  ac_header_compiler=no
 fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
 
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
+# Is the header present?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+$as_echo_n "checking $2 presence... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <$2>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  ac_header_preproc=yes
 else
-  am__leading_dot=_
+  ac_header_preproc=no
 fi
-rmdir .tst 2>/dev/null
+rm -f conftest.err conftest.i conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
 
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  am__isrc=' -I$(srcdir)'
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
-$as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
+  yes:no: )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+    ;;
+  no:yes:* )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+( $as_echo "## ------------------------------------ ##
+## Report this to ppl-devel at cs.unipr.it ##
+## ------------------------------------ ##"
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval "test \"\${$3+set}\"" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  eval "$3=\$ac_header_compiler"
 fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
 fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
 
+} # ac_fn_c_check_header_mongrel
 
-# Define the identity of the package.
- PACKAGE='ppl'
- VERSION='0.10.2'
-
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
+# ---------------------------------------------
+# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
+# accordingly.
+ac_fn_c_check_decl ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  as_decl_name=`echo $2|sed 's/ *(.*//'`
+  as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
+$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
+if eval "test \"\${$3+set}\"" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+#ifndef $as_decl_name
+#ifdef __cplusplus
+  (void) $as_decl_use;
+#else
+  (void) $as_decl_name;
+#endif
+#endif
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
 
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+} # ac_fn_c_check_decl
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
 
+It was created by the Parma Polyhedra Library $as_me 0.11, which was
+generated by GNU Autoconf 2.67.  Invocation command line was
 
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+  $ $0 $@
 
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
 
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
 
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
 
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
+/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
+/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
 
-install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+_ASUNAME
 
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
+    $as_echo "PATH: $as_dir"
+  done
 IFS=$as_save_IFS
 
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
+} >&5
 
+cat >&5 <<_ACEOF
 
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
 do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
+  for ac_arg
+  do
+    case $ac_arg in
+    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+    | -silent | --silent | --silen | --sile | --sil)
+      continue ;;
+    *\'*)
+      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    case $ac_pass in
+    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
+    2)
+      as_fn_append ac_configure_args1 " '$ac_arg'"
+      if test $ac_must_keep_next = true; then
+	ac_must_keep_next=false # Got value, back to normal.
+      else
+	case $ac_arg in
+	  *=* | --config-cache | -C | -disable-* | --disable-* \
+	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+	  | -with-* | --with-* | -without-* | --without-* | --x)
+	    case "$ac_configure_args0 " in
+	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+	    esac
+	    ;;
+	  -* ) ac_must_keep_next=true ;;
+	esac
+      fi
+      as_fn_append ac_configure_args " '$ac_arg'"
+      ;;
+    esac
+  done
 done
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset ac_configure_args1;}
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log.  We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+  # Save into config.log some information that might help in debugging.
+  {
+    echo
+
+    $as_echo "## ---------------- ##
+## Cache variables. ##
+## ---------------- ##"
+    echo
+    # The following way of writing the cache mishandles newlines in values,
+(
+  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+      *) { eval $ac_var=; unset $ac_var;} ;;
+      esac ;;
+    esac
+  done
+  (set) 2>&1 |
+    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      sed -n \
+	"s/'\''/'\''\\\\'\'''\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+      ;; #(
+    *)
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+)
+    echo
+
+    $as_echo "## ----------------- ##
+## Output variables. ##
+## ----------------- ##"
+    echo
+    for ac_var in $ac_subst_vars
+    do
+      eval ac_val=\$$ac_var
+      case $ac_val in
+      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+      esac
+      $as_echo "$ac_var='\''$ac_val'\''"
+    done | sort
+    echo
+
+    if test -n "$ac_subst_files"; then
+      $as_echo "## ------------------- ##
+## File substitutions. ##
+## ------------------- ##"
+      echo
+      for ac_var in $ac_subst_files
+      do
+	eval ac_val=\$$ac_var
+	case $ac_val in
+	*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+	esac
+	$as_echo "$ac_var='\''$ac_val'\''"
+      done | sort
+      echo
+    fi
+
+    if test -s confdefs.h; then
+      $as_echo "## ----------- ##
+## confdefs.h. ##
+## ----------- ##"
+      echo
+      cat confdefs.h
+      echo
+    fi
+    test "$ac_signal" != 0 &&
+      $as_echo "$as_me: caught signal $ac_signal"
+    $as_echo "$as_me: exit $exit_status"
+  } >&5
+  rm -f core *.core core.conftest.* &&
+    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+    exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
 done
-IFS=$as_save_IFS
+ac_signal=0
 
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
 
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
+$as_echo "/* confdefs.h */" > confdefs.h
 
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+# Predefined preprocessor variables.
 
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
 
-AMTAR=${AMTAR-"${am_missing_run}tar"}
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
 
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
 
-{ $as_echo "$as_me:$LINENO: checking how to create a ustar tar archive" >&5
-$as_echo_n "checking how to create a ustar tar archive... " >&6; }
-# Loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar plaintar pax cpio none'
-_am_tools=${am_cv_prog_tar_ustar-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_URL "$PACKAGE_URL"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
+elif test "x$prefix" != xNONE; then
+  ac_site_file1=$prefix/share/config.site
+  ac_site_file2=$prefix/etc/config.site
+else
+  ac_site_file1=$ac_default_prefix/share/config.site
+  ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
-  case $_am_tool in
-  gnutar)
-    for _am_tar in tar gnutar gtar;
-    do
-      { echo "$as_me:$LINENO: $_am_tar --version" >&5
-   ($_am_tar --version) >&5 2>&5
-   ac_status=$?
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } && break
-    done
-    am__tar="$_am_tar --format=ustar -chf - "'"$$tardir"'
-    am__tar_="$_am_tar --format=ustar -chf - "'"$tardir"'
-    am__untar="$_am_tar -xf -"
-    ;;
-  plaintar)
-    # Must skip GNU tar: if it does not support --format= it doesn't create
-    # ustar tarball either.
-    (tar --version) >/dev/null 2>&1 && continue
-    am__tar='tar chf - "$$tardir"'
-    am__tar_='tar chf - "$tardir"'
-    am__untar='tar xf -'
-    ;;
-  pax)
-    am__tar='pax -L -x ustar -w "$$tardir"'
-    am__tar_='pax -L -x ustar -w "$tardir"'
-    am__untar='pax -r'
-    ;;
-  cpio)
-    am__tar='find "$$tardir" -print | cpio -o -H ustar -L'
-    am__tar_='find "$tardir" -print | cpio -o -H ustar -L'
-    am__untar='cpio -i -H ustar -d'
-    ;;
-  none)
-    am__tar=false
-    am__tar_=false
-    am__untar=false
-    ;;
-  esac
-
-  # If the value was cached, stop now.  We just wanted to have am__tar
-  # and am__untar set.
-  test -n "${am_cv_prog_tar_ustar}" && break
-
-  # tar/untar a dummy directory, and stop if the command works
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  echo GrepMe > conftest.dir/file
-  { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5
-   (tardir=conftest.dir && eval $am__tar_ >conftest.tar) >&5 2>&5
-   ac_status=$?
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); }
-  rm -rf conftest.dir
-  if test -s conftest.tar; then
-    { echo "$as_me:$LINENO: $am__untar <conftest.tar" >&5
-   ($am__untar <conftest.tar) >&5 2>&5
-   ac_status=$?
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); }
-    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+  test "x$ac_site_file" = xNONE && continue
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+    sed 's/^/| /' "$ac_site_file" >&5
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
-rm -rf conftest.dir
 
-if test "${am_cv_prog_tar_ustar+set}" = set; then
-  $as_echo_n "(cached) " >&6
+if test -r "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
+    case $cache_file in
+      [\\/]* | ?:[\\/]* ) . "$cache_file";;
+      *)                      . "./$cache_file";;
+    esac
+  fi
 else
-  am_cv_prog_tar_ustar=$_am_tool
+  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
+  >$cache_file
 fi
 
-{ $as_echo "$as_me:$LINENO: result: $am_cv_prog_tar_ustar" >&5
-$as_echo "$am_cv_prog_tar_ustar" >&6; }
-
-
-
-
-
-
-
-
-# Version number machinery.
-if test -n "`expr $VERSION : '\([0-9]*\)\.[0-9]*\.[0-9]*'`"
-then
-  PPL_VERSION_MAJOR=`expr $VERSION : '\([0-9]*\)\.[0-9]*\.[0-9]*'`
-  PPL_VERSION_MINOR=`expr $VERSION : '[0-9]*\.\([0-9]*\)\.[0-9]*'`
-  PPL_VERSION_REVISION=`expr $VERSION : '[0-9]*\.[0-9]*\.\([0-9]*\)'`
-  PPL_VERSION_BETA=`expr $VERSION : '[0-9]*\.[0-9]*\.[0-9]*pre\([0-9]*\)'`
-else
-  PPL_VERSION_MAJOR=`expr $VERSION : '\([0-9]*\)\.[0-9]*'`
-  PPL_VERSION_MINOR=`expr $VERSION : '[0-9]*\.\([0-9]*\)'`
-  PPL_VERSION_REVISION=0
-  PPL_VERSION_BETA=`expr $VERSION : '[0-9]*\.[0-9]*pre\([0-9]*\)'`
-fi
-if test -z "$PPL_VERSION_BETA"
-then
-  PPL_VERSION_BETA=0
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+  eval ac_old_set=\$ac_cv_env_${ac_var}_set
+  eval ac_new_set=\$ac_env_${ac_var}_set
+  eval ac_old_val=\$ac_cv_env_${ac_var}_value
+  eval ac_new_val=\$ac_env_${ac_var}_value
+  case $ac_old_set,$ac_new_set in
+    set,)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,set)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,);;
+    *)
+      if test "x$ac_old_val" != "x$ac_new_val"; then
+	# differences in whitespace do not lead to failure.
+	ac_old_val_w=`echo x $ac_old_val`
+	ac_new_val_w=`echo x $ac_new_val`
+	if test "$ac_old_val_w" != "$ac_new_val_w"; then
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+	  ac_cache_corrupted=:
+	else
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+	  eval $ac_var=\$ac_old_val
+	fi
+	{ $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
+$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
+	{ $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
+$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
+      fi;;
+  esac
+  # Pass precious variables to config.status.
+  if test "$ac_new_set" = set; then
+    case $ac_new_val in
+    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *) ac_arg=$ac_var=$ac_new_val ;;
+    esac
+    case " $ac_configure_args " in
+      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
+      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+    esac
+  fi
+done
+if $ac_cache_corrupted; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
 
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+# Minimum Autoconf version required.
 
 
-cat >>confdefs.h <<_ACEOF
-#define PPL_CONFIGURE_OPTIONS "$ac_configure_args"
-_ACEOF
-
-PPL_CONFIGURE_OPTIONS="\"$ac_configure_args\""
-
-
-# Generate a configuration header file.
-ac_config_headers="$ac_config_headers config.h"
-
-
-ISODATE=`date +%Y-%m-%d`
-
-
+# Make sure the sources are there.
 
 
+# Specify the location of additional local Autoconf macros.
 
 
+# Determine the system type and set output variables to the names of
+# the canonical system types.
+ac_aux_dir=
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+fi
 
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
 
 
-# C compiler.
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if test "${ac_cv_build+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
-# Check whether --with-cc was given.
-if test "${with_cc+set}" = set; then
-  withval=$with_cc; CC=$with_cc
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
 
 
-# C++ compiler.
-
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if test "${ac_cv_host+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "x$host_alias" = x; then
+  ac_cv_host=$ac_cv_build
+else
+  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+fi
 
-# Check whether --with-cxx was given.
-if test "${with_cxx+set}" = set; then
-  withval=$with_cxx; CXX=$with_cxx
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
 
 
-# Checks for programs.
 
-# Note that AC_PROG_CC must precede the first use of $GCC abd AC_PROG_CXX
-# must precede the first use of $GXX.  Note also that we do not allow
-# AC_PROG_CC and AC_PROG_CXX to affect CFLAGS and CXXFLAGS.
-save_CFLAGS="$CFLAGS"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
+# Use Automake.
+am__api_version='1.11'
+
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
+    # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in #((
+  ./ | .// | /[cC]/* | \
+  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
+  /usr/ucb/* ) ;;
+  *)
+    # OSF1 and SCO ODT 3.0 have their own names for install.
+    # Don't use installbsd from OSF since it installs stuff as root
+    # by default.
+    for ac_prog in ginstall scoinst install; do
+      for ac_exec_ext in '' $ac_executable_extensions; do
+	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	  if test $ac_prog = install &&
+	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # AIX install.  It has an incompatible calling convention.
+	    :
+	  elif test $ac_prog = install &&
+	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # program-specific install script used by HP pwplus--don't use.
+	    :
+	  else
+	    rm -rf conftest.one conftest.two conftest.dir
+	    echo one > conftest.one
+	    echo two > conftest.two
+	    mkdir conftest.dir
+	    if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+	      test -s conftest.one && test -s conftest.two &&
+	      test -s conftest.dir/conftest.one &&
+	      test -s conftest.dir/conftest.two
+	    then
+	      ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+	      break 3
+	    fi
+	  fi
+	fi
+      done
+    done
+    ;;
+esac
+
+  done
 IFS=$as_save_IFS
 
+rm -rf conftest.one conftest.two conftest.dir
+
 fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL=$ac_cv_path_install
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the value is a relative name.
+    INSTALL=$ac_install_sh
+  fi
 fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:$LINENO: result: $CC" >&5
-$as_echo "$CC" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name.  Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+  *[\\\"\#\$\&\'\`$am_lf]*)
+    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
+esac
+case $srcdir in
+  *[\\\"\#\$\&\'\`$am_lf\ \	]*)
+    as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+esac
+
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+   if test "$*" = "X"; then
+      # -L didn't work.
+      set X `ls -t "$srcdir/configure" conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$*" != "X $srcdir/configure conftest.file" \
+      && test "$*" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" "$LINENO" 5
+   fi
+
+   test "$2" = conftest.file
+   )
+then
+   # Ok.
+   :
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+   as_fn_error $? "newly created file is older than distributed files!
+Check your system clock" "$LINENO" 5
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+test "$program_prefix" != NONE &&
+  program_transform_name="s&^&$program_prefix&;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+# Double any \ or $.
+# By default was `s,x,x', remove it if useless.
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
 
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
 
+if test x"${MISSING+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+  *)
+    MISSING="\${SHELL} $am_aux_dir/missing" ;;
+  esac
 fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+if test x"${install_sh}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+  *)
+    install_sh="\${SHELL} $am_aux_dir/install-sh"
+  esac
+fi
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+if test "${ac_cv_prog_STRIP+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
 
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    ac_cv_prog_ac_ct_STRIP="strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:$LINENO: result: $CC" >&5
-$as_echo "$CC" >&6; }
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
-
+  if test "x$ac_ct_STRIP" = x; then
+    STRIP=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    STRIP=$ac_ct_STRIP
   fi
+else
+  STRIP="$ac_cv_prog_STRIP"
 fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
+
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+if test -z "$MKDIR_P"; then
+  if test "${ac_cv_path_mkdir+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
+    for ac_prog in mkdir gmkdir; do
+	 for ac_exec_ext in '' $ac_executable_extensions; do
+	   { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+	   case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+	     'mkdir (GNU coreutils) '* | \
+	     'mkdir (coreutils) '* | \
+	     'mkdir (fileutils) '4.1*)
+	       ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+	       break 3;;
+	   esac
+	 done
+       done
+  done
 IFS=$as_save_IFS
 
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
 fi
+
+  test -d ./--version && rmdir ./--version
+  if test "${ac_cv_path_mkdir+set}" = set; then
+    MKDIR_P="$ac_cv_path_mkdir -p"
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for MKDIR_P within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the value is a relative name.
+    MKDIR_P="$ac_install_sh -d"
+  fi
 fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:$LINENO: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
 
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+  [\\/$]* | ?:[\\/]*) ;;
+  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
 
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+for ac_prog in gawk mawk nawk awk
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
+if test "${ac_cv_prog_AWK+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
+  if test -n "$AWK"; then
+  ac_cv_prog_AWK="$AWK" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    ac_cv_prog_AWK="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:$LINENO: result: $CC" >&5
-$as_echo "$CC" >&6; }
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
+  test -n "$AWK" && break
 done
-IFS=$as_save_IFS
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+	@echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+  *@@@%%%=?*=@@@%%%*)
+    eval ac_cv_prog_make_${ac_make}_set=yes;;
+  *)
+    eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
 fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  SET_MAKE=
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
+  SET_MAKE="MAKE=${MAKE-make}"
 fi
 
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
 
-  test -n "$ac_ct_CC" && break
-done
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+  enableval=$enable_silent_rules;
+fi
 
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
+case $enable_silent_rules in
+yes) AM_DEFAULT_VERBOSITY=0;;
+no)  AM_DEFAULT_VERBOSITY=1;;
+*)   AM_DEFAULT_VERBOSITY=1;;
 esac
-    CC=$ac_ct_CC
+AM_BACKSLASH='\'
+
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+  # is not polluted with repeated "-I."
+  am__isrc=' -I$(srcdir)'
+  # test to see if srcdir already configured
+  if test -f $srcdir/config.status; then
+    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
   fi
 fi
 
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
 fi
 
 
-test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+# Define the identity of the package.
+ PACKAGE='ppl'
+ VERSION='0.11'
 
-# Provide some information about the compiler.
-$as_echo "$as_me:$LINENO: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compiler --version >&5") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -v >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compiler -v >&5") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -V >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compiler -V >&5") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
 
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+# Some tools Automake needs.
 
-int
-main ()
-{
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
 
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
 
-ac_rmfiles=
-for ac_file in $ac_files
-do
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-  esac
-done
-rm -f $ac_rmfiles
 
-if { (ac_try="$ac_link_default"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link_default") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile.  We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create a ustar tar archive" >&5
+$as_echo_n "checking how to create a ustar tar archive... " >&6; }
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar plaintar pax cpio none'
+_am_tools=${am_cv_prog_tar_ustar-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
 do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
-	;;
-    [ab].out )
-	# We found the default executable, but exeext='' is most
-	# certainly right.
-	break;;
-    *.* )
-        if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-	then :; else
-	   ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-	fi
-	# We set ac_cv_exeext here because the later test for it is not
-	# safe: cross compilers may not add the suffix if given an `-o'
-	# argument, so we may need to know it at that point already.
-	# Even if this section looks crufty: it has the advantage of
-	# actually working.
-	break;;
-    * )
-	break;;
+  case $_am_tool in
+  gnutar)
+    for _am_tar in tar gnutar gtar;
+    do
+      { echo "$as_me:$LINENO: $_am_tar --version" >&5
+   ($_am_tar --version) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } && break
+    done
+    am__tar="$_am_tar --format=ustar -chf - "'"$$tardir"'
+    am__tar_="$_am_tar --format=ustar -chf - "'"$tardir"'
+    am__untar="$_am_tar -xf -"
+    ;;
+  plaintar)
+    # Must skip GNU tar: if it does not support --format= it doesn't create
+    # ustar tarball either.
+    (tar --version) >/dev/null 2>&1 && continue
+    am__tar='tar chf - "$$tardir"'
+    am__tar_='tar chf - "$tardir"'
+    am__untar='tar xf -'
+    ;;
+  pax)
+    am__tar='pax -L -x ustar -w "$$tardir"'
+    am__tar_='pax -L -x ustar -w "$tardir"'
+    am__untar='pax -r'
+    ;;
+  cpio)
+    am__tar='find "$$tardir" -print | cpio -o -H ustar -L'
+    am__tar_='find "$tardir" -print | cpio -o -H ustar -L'
+    am__untar='cpio -i -H ustar -d'
+    ;;
+  none)
+    am__tar=false
+    am__tar_=false
+    am__untar=false
+    ;;
   esac
+
+  # If the value was cached, stop now.  We just wanted to have am__tar
+  # and am__untar set.
+  test -n "${am_cv_prog_tar_ustar}" && break
+
+  # tar/untar a dummy directory, and stop if the command works
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  echo GrepMe > conftest.dir/file
+  { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5
+   (tardir=conftest.dir && eval $am__tar_ >conftest.tar) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }
+  rm -rf conftest.dir
+  if test -s conftest.tar; then
+    { echo "$as_me:$LINENO: $am__untar <conftest.tar" >&5
+   ($am__untar <conftest.tar) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }
+    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+  fi
 done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
+rm -rf conftest.dir
 
+if test "${am_cv_prog_tar_ustar+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  ac_file=''
+  am_cv_prog_tar_ustar=$_am_tool
 fi
 
-{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-if test -z "$ac_file"; then
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_tar_ustar" >&5
+$as_echo "$am_cv_prog_tar_ustar" >&6; }
 
-{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: C compiler cannot create executables
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
-fi
 
-ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
 
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
 
-{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-	  break;;
-    * ) break;;
-  esac
-done
+
+
+
+# Version number machinery.
+if test -n "`expr $VERSION : '\([0-9]*\)\.[0-9]*\.[0-9]*'`"
+then
+  PPL_VERSION_MAJOR=`expr $VERSION : '\([0-9]*\)\.[0-9]*\.[0-9]*'`
+  PPL_VERSION_MINOR=`expr $VERSION : '[0-9]*\.\([0-9]*\)\.[0-9]*'`
+  PPL_VERSION_REVISION=`expr $VERSION : '[0-9]*\.[0-9]*\.\([0-9]*\)'`
+  PPL_VERSION_BETA=`expr $VERSION : '[0-9]*\.[0-9]*\.[0-9]*pre\([0-9]*\)'`
 else
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+  PPL_VERSION_MAJOR=`expr $VERSION : '\([0-9]*\)\.[0-9]*'`
+  PPL_VERSION_MINOR=`expr $VERSION : '[0-9]*\.\([0-9]*\)'`
+  PPL_VERSION_REVISION=0
+  PPL_VERSION_BETA=`expr $VERSION : '[0-9]*\.[0-9]*pre\([0-9]*\)'`
+fi
+if test -z "$PPL_VERSION_BETA"
+then
+  PPL_VERSION_BETA=0
 fi
 
-rm -f conftest$ac_cv_exeext
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
 
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  for ac_file in conftest.o conftest.obj conftest.*; do
-  test -f "$ac_file" || continue;
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
-    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-       break;;
-  esac
-done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
-fi
 
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
+cat >>confdefs.h <<_ACEOF
+#define PPL_CONFIGURE_OPTIONS "$ac_configure_args"
 _ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
+PPL_CONFIGURE_OPTIONS="\"$ac_configure_args\""
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_compiler_gnu=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_compiler_gnu=no
-fi
+# Generate a configuration header file.
+ac_config_headers="$ac_config_headers config.h"
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
 
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+ISODATE=`date +%Y-%m-%d`
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cc_g=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	CFLAGS=""
-      cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_c_werror_flag=$ac_save_c_werror_flag
-	 CFLAGS="-g"
-	 cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cc_g=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
 
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
+# C compiler.
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
+# Check whether --with-cc was given.
+if test "${with_cc+set}" = set; then :
+  withval=$with_cc; CC=$with_cc
 fi
-{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
 
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
 
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cc_c89=$ac_arg
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+# C++ compiler.
 
 
+# Check whether --with-cxx was given.
+if test "${with_cxx+set}" = set; then :
+  withval=$with_cxx; CXX=$with_cxx
 fi
 
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:$LINENO: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:$LINENO: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
 
+# Checks for programs.
 
+# Note that AC_PROG_CC must precede the first use of $GCC abd AC_PROG_CXX
+# must precede the first use of $GXX.  Note also that we do not allow
+# AC_PROG_CC and AC_PROG_CXX to affect CFLAGS and CXXFLAGS.
+save_CFLAGS="$CFLAGS"
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-	@echo done
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
-   am__include=include
-   am__quote=
-   _am_result=GNU
-fi
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
-      am__include=.include
-      am__quote="\""
-      _am_result=BSD
-   fi
-fi
-
-
-{ $as_echo "$as_me:$LINENO: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="${ac_tool_prefix}gcc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then
-  enableval=$enable_dependency_tracking;
 fi
-
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
 fi
- if test "x$enable_dependency_tracking" != xno; then
-  AMDEP_TRUE=
-  AMDEP_FALSE='#'
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
 else
-  AMDEP_TRUE='#'
-  AMDEP_FALSE=
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
-
-depcc="$CC"   am_compiler_list=
-
-{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CC_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CC="gcc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
   fi
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    case $depmode in
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-	continue
-      else
-	break
-      fi
-      ;;
-    none) break ;;
-    esac
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.
-    if depmode=$depmode \
-       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CC_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
+done
   done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CC_dependencies_compiler_type=none
-fi
+IFS=$as_save_IFS
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
-  am__fastdepCC_TRUE=
-  am__fastdepCC_FALSE='#'
-else
-  am__fastdepCC_TRUE='#'
-  am__fastdepCC_FALSE=
 fi
-
-
-CFLAGS="$save_CFLAGS"
-
- if test x"$GCC" = xyes; then
-  GCC_TRUE=
-  GCC_FALSE='#'
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
 else
-  GCC_TRUE='#'
-  GCC_FALSE=
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
-
-# The Intel C compiler masquerades as gcc, but we want to know.
-if test x"$GCC" = xyes
-then
-  { $as_echo "$as_me:$LINENO: checking whether we are actually using the Intel C compiler" >&5
-$as_echo_n "checking whether we are actually using the Intel C compiler... " >&6; }
-  ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#ifndef __INTEL_COMPILER
-choke me
-#endif
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-  ICC=yes
+    CC=$ac_ct_CC
+  fi
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	{ $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-  ICC=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
+  CC="$ac_cv_prog_CC"
 fi
 
-save_CXXFLAGS="$CXXFLAGS"
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -z "$CXX"; then
-  if test -n "$CCC"; then
-    CXX=$CCC
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+if test -z "$CC"; then
+          if test -n "$ac_tool_prefix"; then
+    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CXX+set}" = set; then
+if test "${ac_cv_prog_CC+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$CXX"; then
-  ac_cv_prog_CXX="$CXX" # Let the user override the test.
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    ac_cv_prog_CC="${ac_tool_prefix}cc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
-CXX=$ac_cv_prog_CXX
-if test -n "$CXX"; then
-  { $as_echo "$as_me:$LINENO: result: $CXX" >&5
-$as_echo "$CXX" >&6; }
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 
-    test -n "$CXX" && break
-  done
+  fi
 fi
-if test -z "$CXX"; then
-  ac_ct_CXX=$CXX
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
+if test "${ac_cv_prog_CC+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$ac_ct_CXX"; then
-  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
 else
+  ac_prog_rejected=no
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CXX="$ac_prog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+       ac_prog_rejected=yes
+       continue
+     fi
+    ac_cv_prog_CC="cc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# != 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+  fi
 fi
 fi
-ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
-if test -n "$ac_ct_CXX"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
-$as_echo "$ac_ct_CXX" >&6; }
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 
-  test -n "$ac_ct_CXX" && break
-done
+fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in cl.exe
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-  if test "x$ac_ct_CXX" = x; then
-    CXX="g++"
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$CC" && break
+  done
+fi
+if test -z "$CC"; then
+  ac_ct_CC=$CC
+  for ac_prog in cl.exe
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CC="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_CC" && break
+done
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
-    CXX=$ac_ct_CXX
+    CC=$ac_ct_CC
   fi
 fi
 
-  fi
 fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
+
 # Provide some information about the compiler.
-$as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
 set X $ac_compile
 ac_compiler=$2
-{ (ac_try="$ac_compiler --version >&5"
+for ac_option in --version -v -V -qversion; do
+  { { ac_try="$ac_compiler $ac_option >&5"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compiler --version >&5") 2>&5
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
   ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -v >&5"
+  if test -s conftest.err; then
+    sed '10a\
+... rest of stderr output deleted ...
+         10q' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+  fi
+  rm -f conftest.er1 conftest.err
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+done
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
+ac_rmfiles=
+for ac_file in $ac_files
+do
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+  esac
+done
+rm -f $ac_rmfiles
+
+if { { ac_try="$ac_link_default"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compiler -v >&5") 2>&5
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link_default") 2>&5
   ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -V >&5"
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile.  We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
+	;;
+    [ab].out )
+	# We found the default executable, but exeext='' is most
+	# certainly right.
+	break;;
+    *.* )
+	if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+	then :; else
+	   ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	fi
+	# We set ac_cv_exeext here because the later test for it is not
+	# safe: cross compilers may not add the suffix if given an `-o'
+	# argument, so we may need to know it at that point already.
+	# Even if this section looks crufty: it has the advantage of
+	# actually working.
+	break;;
+    * )
+	break;;
+  esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else
+  ac_file=''
+fi
+if test -z "$ac_file"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
+ac_exeext=$ac_cv_exeext
+
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
+if { { ac_try="$ac_link"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compiler -V >&5") 2>&5
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-
-{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
-$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
-if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
-  $as_echo_n "(cached) " >&6
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	  break;;
+    * ) break;;
+  esac
+done
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+rm -f conftest conftest$ac_cv_exeext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
 
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
 int
 main ()
 {
-#ifndef __GNUC__
-       choke me
-#endif
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_compiler_gnu=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_compiler_gnu=no
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
-$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GXX=yes
-else
-  GXX=
-fi
-ac_test_CXXFLAGS=${CXXFLAGS+set}
-ac_save_CXXFLAGS=$CXXFLAGS
-{ $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
-$as_echo_n "checking whether $CXX accepts -g... " >&6; }
-if test "${ac_cv_prog_cxx_g+set}" = set; then
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
+if test "${ac_cv_objext+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
-   ac_cxx_werror_flag=yes
-   ac_cv_prog_cxx_g=no
-   CXXFLAGS="-g"
-   cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -4389,75 +4516,103 @@ main ()
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
+rm -f conftest.o conftest.obj
+if { { ac_try="$ac_compile"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>&5
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cxx_g=yes
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  for ac_file in conftest.o conftest.obj conftest.*; do
+  test -f "$ac_file" || continue;
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
+    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+       break;;
+  esac
+done
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	CXXFLAGS=""
-      cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
 main ()
 {
+#ifndef __GNUC__
+       choke me
+#endif
 
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_compiler_gnu=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
 
-	ac_cxx_werror_flag=$ac_save_cxx_werror_flag
-	 CXXFLAGS="-g"
-	 cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+  GCC=yes
+else
+  GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if test "${ac_cv_prog_cc_g+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_save_c_werror_flag=$ac_c_werror_flag
+   ac_c_werror_flag=yes
+   ac_cv_prog_cc_g=no
+   CFLAGS="-g"
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
 _ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_g=yes
+else
+  CFLAGS=""
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -4468,69 +4623,213 @@ main ()
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cxx_g=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  ac_c_werror_flag=$ac_save_c_werror_flag
+	 CFLAGS="-g"
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+int
+main ()
+{
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_g=yes
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+   ac_c_werror_flag=$ac_save_c_werror_flag
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
-$as_echo "$ac_cv_prog_cxx_g" >&6; }
-if test "$ac_test_CXXFLAGS" = set; then
-  CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
-  if test "$GXX" = yes; then
-    CXXFLAGS="-g -O2"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+  CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+  if test "$GCC" = yes; then
+    CFLAGS="-g -O2"
   else
-    CXXFLAGS="-g"
+    CFLAGS="-g"
   fi
 else
-  if test "$GXX" = yes; then
-    CXXFLAGS="-O2"
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
   else
-    CXXFLAGS=
+    CFLAGS=
   fi
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not '\xHH' hex character constants.
+   These don't provoke an error unfortunately, instead are silently treated
+   as 'x'.  The following induces an error, until -std is added to get
+   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
+   array size at least.  It's necessary to write '\x00'==0 to get something
+   that's true only with -std.  */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+   inside strings and character constants.  */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+  ;
+  return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+  test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+  x)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+  xno)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+  *)
+    CC="$CC $ac_cv_prog_cc_c89"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+
+fi
+
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
+DEPDIR="${am__leading_dot}deps"
 
-depcc="$CXX"  am_compiler_list=
+ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+	@echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+  am__include=include
+  am__quote=
+  _am_result=GNU
+  ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   case `$am_make -s -f confmf 2> /dev/null` in #(
+   *the\ am__doit\ target*)
+     am__include=.include
+     am__quote="\""
+     _am_result=BSD
+     ;;
+   esac
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then :
+  enableval=$enable_dependency_tracking;
+fi
+
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+fi
+ if test "x$enable_dependency_tracking" != xno; then
+  AMDEP_TRUE=
+  AMDEP_FALSE='#'
+else
+  AMDEP_TRUE='#'
+  AMDEP_FALSE=
+fi
+
+
+
+depcc="$CC"   am_compiler_list=
 
-{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
 $as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
@@ -4552,10 +4851,15 @@ else
   # directory.
   mkdir sub
 
-  am_cv_CXX_dependencies_compiler_type=none
+  am_cv_CC_dependencies_compiler_type=none
   if test "$am_compiler_list" = ""; then
      am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
   fi
+  am__universal=false
+  case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac
+
   for depmode in $am_compiler_list; do
     # Setup a source with many dependencies, because some compilers
     # like to wrap large dependency lists on column 80 (with \), and
@@ -4573,7 +4877,17 @@ else
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
     case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
     nosideeffect)
       # after this tag, mechanisms are not by side-effect, so they'll
       # only be used when explicitly requested
@@ -4583,19 +4897,23 @@ else
 	break
       fi
       ;;
+    msvisualcpp | msvcmsys)
+      # This compiler won't grok `-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
     none) break ;;
     esac
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.
     if depmode=$depmode \
-       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       source=sub/conftest.c object=$am__obj \
        depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
          >/dev/null 2>conftest.err &&
        grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
        grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
        ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
       # icc doesn't choke on unknown options, it will just issue warnings
       # or remarks (even with -Werror).  So we grep stderr for any message
@@ -4606,7 +4924,7 @@ else
       #   icc: Command line remark: option '-MP' not supported
       if (grep 'ignoring option' conftest.err ||
           grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CXX_dependencies_compiler_type=$depmode
+        am_cv_CC_dependencies_compiler_type=$depmode
         break
       fi
     fi
@@ -4615,44 +4933,49 @@ else
   cd ..
   rm -rf conftest.dir
 else
-  am_cv_CXX_dependencies_compiler_type=none
+  am_cv_CC_dependencies_compiler_type=none
 fi
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
-CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
 
  if
   test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
-  am__fastdepCXX_TRUE=
-  am__fastdepCXX_FALSE='#'
+  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+  am__fastdepCC_TRUE=
+  am__fastdepCC_FALSE='#'
 else
-  am__fastdepCXX_TRUE='#'
-  am__fastdepCXX_FALSE=
+  am__fastdepCC_TRUE='#'
+  am__fastdepCC_FALSE=
 fi
 
 
-CXXFLAGS="$save_CXXFLAGS"
+CFLAGS="$save_CFLAGS"
 
-# The Intel C++ compiler masquerades as g++, but we want to know.
-if test x"$GXX" = xyes
+ if test x"$GCC" = xyes; then
+  GCC_TRUE=
+  GCC_FALSE='#'
+else
+  GCC_TRUE='#'
+  GCC_FALSE=
+fi
+
+
+# The Intel C compiler masquerades as gcc, but we want to know.
+if test x"$GCC" = xyes
 then
-  { $as_echo "$as_me:$LINENO: checking whether we are actually using the Intel C++ compiler" >&5
-$as_echo_n "checking whether we are actually using the Intel C++ compiler... " >&6; }
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are actually using the Intel C compiler" >&5
+$as_echo_n "checking whether we are actually using the Intel C compiler... " >&6; }
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 #ifndef __INTEL_COMPILER
@@ -4660,36 +4983,15 @@ choke me
 #endif
 
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
+if ac_fn_c_try_compile "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-  ICPC=yes
+  ICC=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	{ $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-  ICPC=no
+  ICC=no
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
@@ -4699,900 +5001,1107 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 fi
 
-{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then
+save_CXXFLAGS="$CXXFLAGS"
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+if test -z "$CXX"; then
+  if test -n "$CCC"; then
+    CXX=$CCC
+  else
+    if test -n "$ac_tool_prefix"; then
+  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CXX+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -z "$GREP"; then
-  ac_path_GREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+  if test -n "$CXX"; then
+  ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    ac_count=`expr $ac_count + 1`
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_GREP_found && break 3
-    done
-  done
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
 done
+  done
 IFS=$as_save_IFS
-  if test -z "$ac_cv_path_GREP"; then
-    { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
-else
-  ac_cv_path_GREP=$GREP
-fi
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
+fi
+CXX=$ac_cv_prog_CXX
+if test -n "$CXX"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
+$as_echo "$CXX" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
 
-{ $as_echo "$as_me:$LINENO: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if test "${ac_cv_path_FGREP+set}" = set; then
+    test -n "$CXX" && break
+  done
+fi
+if test -z "$CXX"; then
+  ac_ct_CXX=$CXX
+  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
-   then ac_cv_path_FGREP="$GREP -F"
-   else
-     if test -z "$FGREP"; then
-  ac_path_FGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+  if test -n "$ac_ct_CXX"; then
+  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_prog in fgrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
-  # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'FGREP' >> "conftest.nl"
-    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    ac_count=`expr $ac_count + 1`
-    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_FGREP="$ac_path_FGREP"
-      ac_path_FGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_FGREP_found && break 3
-    done
-  done
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CXX="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
 done
+  done
 IFS=$as_save_IFS
-  if test -z "$ac_cv_path_FGREP"; then
-    { { $as_echo "$as_me:$LINENO: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-$as_echo "$as_me: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
+
+fi
+fi
+ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+if test -n "$ac_ct_CXX"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
+$as_echo "$ac_ct_CXX" >&6; }
 else
-  ac_cv_path_FGREP=$FGREP
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
-   fi
+
+  test -n "$ac_ct_CXX" && break
+done
+
+  if test "x$ac_ct_CXX" = x; then
+    CXX="g++"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CXX=$ac_ct_CXX
+  fi
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
 
+  fi
+fi
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+  { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    sed '10a\
+... rest of stderr output deleted ...
+         10q' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+  fi
+  rm -f conftest.er1 conftest.err
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+done
 
-{ $as_echo "$as_me:$LINENO: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
+$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
+if test "${ac_cv_cxx_compiler_gnu+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     if test -z "$EGREP"; then
-  ac_path_EGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_prog in egrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    ac_count=`expr $ac_count + 1`
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-      $ac_path_EGREP_found && break 3
-    done
-  done
-done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_EGREP"; then
-    { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_compiler_gnu=yes
 else
-  ac_cv_path_EGREP=$EGREP
+  ac_compiler_gnu=no
 fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
 
-   fi
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-     for ac_i in 1 2 3 4 5 6 7; do
-       ac_script="$ac_script$as_nl$ac_script"
-     done
-     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
-     $as_unset ac_script || ac_script=
-     if test -z "$SED"; then
-  ac_path_SED_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
-  # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
-  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo '' >> "conftest.nl"
-    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    ac_count=`expr $ac_count + 1`
-    if test $ac_count -gt ${ac_path_SED_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_SED="$ac_path_SED"
-      ac_path_SED_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_SED_found && break 3
-    done
-  done
-done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_SED"; then
-    { { $as_echo "$as_me:$LINENO: error: no acceptable sed could be found in \$PATH" >&5
-$as_echo "$as_me: error: no acceptable sed could be found in \$PATH" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
+$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+  GXX=yes
 else
-  ac_cv_path_SED=$SED
-fi
-
+  GXX=
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
-  rm -f conftest.sed
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-{ $as_echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
-$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
-if test -z "$CXXCPP"; then
-  if test "${ac_cv_prog_CXXCPP+set}" = set; then
+ac_test_CXXFLAGS=${CXXFLAGS+set}
+ac_save_CXXFLAGS=$CXXFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
+$as_echo_n "checking whether $CXX accepts -g... " >&6; }
+if test "${ac_cv_prog_cxx_g+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-      # Double quotes because CXXCPP needs to be expanded
-    for CXXCPP in "$CXX -E" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+   ac_cxx_werror_flag=yes
+   ac_cv_prog_cxx_g=no
+   CXXFLAGS="-g"
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  # Broken: fails on valid input.
-continue
-fi
 
-rm -f conftest.err conftest.$ac_ext
+int
+main ()
+{
 
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
+  ;
+  return 0;
+}
 _ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  # Broken: success on invalid input.
-continue
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_cv_prog_cxx_g=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  CXXFLAGS=""
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
+int
+main ()
+{
 
-rm -f conftest.err conftest.$ac_ext
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
 
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
-  break
-fi
+else
+  ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+	 CXXFLAGS="-g"
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-    done
-    ac_cv_prog_CXXCPP=$CXXCPP
+int
+main ()
+{
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_cv_prog_cxx_g=yes
 fi
-  CXXCPP=$ac_cv_prog_CXXCPP
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
+$as_echo "$ac_cv_prog_cxx_g" >&6; }
+if test "$ac_test_CXXFLAGS" = set; then
+  CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+  if test "$GXX" = yes; then
+    CXXFLAGS="-g -O2"
+  else
+    CXXFLAGS="-g"
+  fi
 else
-  ac_cv_prog_CXXCPP=$CXXCPP
+  if test "$GXX" = yes; then
+    CXXFLAGS="-O2"
+  else
+    CXXFLAGS=
+  fi
 fi
-{ $as_echo "$as_me:$LINENO: result: $CXXCPP" >&5
-$as_echo "$CXXCPP" >&6; }
-ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  :
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+depcc="$CXX"  am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
 
-  # Broken: fails on valid input.
-continue
-fi
+  am_cv_CXX_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  am__universal=false
+  case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac
 
-rm -f conftest.err conftest.$ac_ext
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  # Broken: success on invalid input.
-continue
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
+    case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    msvisualcpp | msvcmsys)
+      # This compiler won't grok `-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
+    none) break ;;
+    esac
+    if depmode=$depmode \
+       source=sub/conftest.c object=$am__obj \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CXX_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
 
-  # Passes both tests.
-ac_preproc_ok=:
-break
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CXX_dependencies_compiler_type=none
 fi
 
-rm -f conftest.err conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
+CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
 
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
-  :
+ if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
+  am__fastdepCXX_TRUE=
+  am__fastdepCXX_FALSE='#'
 else
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+  am__fastdepCXX_TRUE='#'
+  am__fastdepCXX_FALSE=
 fi
 
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-	@echo '@@@%%%=$(MAKE)=@@@%%%'
+CXXFLAGS="$save_CXXFLAGS"
+
+# The Intel C++ compiler masquerades as g++, but we want to know.
+if test x"$GXX" = xyes
+then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are actually using the Intel C++ compiler" >&5
+$as_echo_n "checking whether we are actually using the Intel C++ compiler... " >&6; }
+  ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#ifndef __INTEL_COMPILER
+choke me
+#endif
+
 _ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-  SET_MAKE=
+  ICPC=yes
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
+  ICPC=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
 fi
 
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
+  if test -z "$GREP"; then
+  ac_path_GREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in
-  ./ | .// | /cC/* | \
-  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
-  /usr/ucb/* ) ;;
-  *)
-    # OSF1 and SCO ODT 3.0 have their own names for install.
-    # Don't use installbsd from OSF since it installs stuff as root
-    # by default.
-    for ac_prog in ginstall scoinst install; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
-	  if test $ac_prog = install &&
-	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-	    # AIX install.  It has an incompatible calling convention.
-	    :
-	  elif test $ac_prog = install &&
-	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-	    # program-specific install script used by HP pwplus--don't use.
-	    :
-	  else
-	    rm -rf conftest.one conftest.two conftest.dir
-	    echo one > conftest.one
-	    echo two > conftest.two
-	    mkdir conftest.dir
-	    if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
-	      test -s conftest.one && test -s conftest.two &&
-	      test -s conftest.dir/conftest.one &&
-	      test -s conftest.dir/conftest.two
-	    then
-	      ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-	      break 3
-	    fi
-	  fi
-	fi
-      done
-    done
-    ;;
+    for ac_prog in grep ggrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+  # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'GREP' >> "conftest.nl"
+    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_GREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_GREP="$ac_path_GREP"
+      ac_path_GREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
 esac
 
-done
+      $ac_path_GREP_found && break 3
+    done
+  done
+  done
 IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL=$ac_cv_path_install
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    INSTALL=$ac_install_sh
+  if test -z "$ac_cv_path_GREP"; then
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
+else
+  ac_cv_path_GREP=$GREP
 fi
-{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-
-# Compilation flags.
 
-COMP_FLAGS=""
-OPT_FLAGS=""
-
-enableval=yes
-{ $as_echo "$as_me:$LINENO: checking whether to compile with debug info" >&5
-$as_echo_n "checking whether to compile with debug info... " >&6; }
-# Check whether --enable-debugging was given.
-if test "${enable_debugging+set}" = set; then
-  enableval=$enable_debugging;
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
 
-case "${enableval}" in
-yes)
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-  OPT_FLAGS="-g"
-  ;;
-no)
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-  ;;
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
+$as_echo_n "checking for fgrep... " >&6; }
+if test "${ac_cv_path_FGREP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
+   then ac_cv_path_FGREP="$GREP -F"
+   else
+     if test -z "$FGREP"; then
+  ac_path_FGREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in fgrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+# Check for GNU ac_path_FGREP and select it if it is found.
+  # Check for GNU $ac_path_FGREP
+case `"$ac_path_FGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
 *)
-  { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-debugging, needs yes or no" >&5
-$as_echo "$as_me: error: bad value ${enableval} for --enable-debugging, needs yes or no" >&2;}
-   { (exit 1); exit 1; }; }
-  ;;
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'FGREP' >> "conftest.nl"
+    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_FGREP="$ac_path_FGREP"
+      ac_path_FGREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
 esac
- if test x"$enableval" = xyes; then
-  DEBUGGING_ENABLED_TRUE=
-  DEBUGGING_ENABLED_FALSE='#'
+
+      $ac_path_FGREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_FGREP"; then
+    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
 else
-  DEBUGGING_ENABLED_TRUE='#'
-  DEBUGGING_ENABLED_FALSE=
+  ac_cv_path_FGREP=$FGREP
 fi
 
-
-enableval=no
-{ $as_echo "$as_me:$LINENO: checking whether to compile for profiling" >&5
-$as_echo_n "checking whether to compile for profiling... " >&6; }
-# Check whether --enable-profiling was given.
-if test "${enable_profiling+set}" = set; then
-  enableval=$enable_profiling;
+   fi
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
+$as_echo "$ac_cv_path_FGREP" >&6; }
+ FGREP="$ac_cv_path_FGREP"
 
-case "${enableval}" in
-yes)
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-  OPT_FLAGS="-g"
-  COMP_FLAGS="$COMP_FLAGS -pg -DPPL_PROFILING=1"
-  ;;
-no)
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-  ;;
-*)
-  { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-profiling, needs yes or no" >&5
-$as_echo "$as_me: error: bad value ${enableval} for --enable-profiling, needs yes or no" >&2;}
-   { (exit 1); exit 1; }; }
-  ;;
-esac
-
-enableval=no
-{ $as_echo "$as_me:$LINENO: checking whether to compile for test coverage" >&5
-$as_echo_n "checking whether to compile for test coverage... " >&6; }
-# Check whether --enable-coverage was given.
-if test "${enable_coverage+set}" = set; then
-  enableval=$enable_coverage;
-fi
 
-case "${enableval}" in
-yes)
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-  OPT_FLAGS="-g"
-  COMP_FLAGS="$COMP_FLAGS -fprofile-arcs -ftest-coverage"
-  ;;
-no)
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-  ;;
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+   then ac_cv_path_EGREP="$GREP -E"
+   else
+     if test -z "$EGREP"; then
+  ac_path_EGREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in egrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+  # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
 *)
-  { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-coverage, needs yes or no" >&5
-$as_echo "$as_me: error: bad value ${enableval} for --enable-coverage, needs yes or no" >&2;}
-   { (exit 1); exit 1; }; }
-  ;;
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'EGREP' >> "conftest.nl"
+    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_EGREP="$ac_path_EGREP"
+      ac_path_EGREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
 esac
 
-enableval=no
-{ $as_echo "$as_me:$LINENO: checking whether to enable checking of run-time assertions" >&5
-$as_echo_n "checking whether to enable checking of run-time assertions... " >&6; }
-# Check whether --enable-assertions was given.
-if test "${enable_assertions+set}" = set; then
-  enableval=$enable_assertions;
+      $ac_path_EGREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_EGREP"; then
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
+else
+  ac_cv_path_EGREP=$EGREP
 fi
 
-case "${enableval}" in
-yes)
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-  ;;
-no)
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-  ;;
-*)
-  { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-assertions, needs yes or no" >&5
-$as_echo "$as_me: error: bad value ${enableval} for --enable-assertions, needs yes or no" >&2;}
-   { (exit 1); exit 1; }; }
-  ;;
-esac
-enable_assertions=${enableval}
-
-enableval=no
-{ $as_echo "$as_me:$LINENO: checking whether to enable even more run-time assertions" >&5
-$as_echo_n "checking whether to enable even more run-time assertions... " >&6; }
-# Check whether --enable-more-assertions was given.
-if test "${enable_more_assertions+set}" = set; then
-  enableval=$enable_more_assertions;
+   fi
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
 
-case "${enableval}" in
-yes)
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-  ;;
-no)
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-  ;;
-*)
-  { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-more-assertions, needs yes or no" >&5
-$as_echo "$as_me: error: bad value ${enableval} for --enable-more-assertions, needs yes or no" >&2;}
-   { (exit 1); exit 1; }; }
-  ;;
-esac
-enable_more_assertions=${enableval}
 
-if test x"$enable_more_assertions" = xyes
-then
-  enable_assertions=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
+if test "${ac_cv_path_SED+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+     for ac_i in 1 2 3 4 5 6 7; do
+       ac_script="$ac_script$as_nl$ac_script"
+     done
+     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+     { ac_script=; unset ac_script;}
+     if test -z "$SED"; then
+  ac_path_SED_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in sed gsed; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+# Check for GNU ac_path_SED and select it if it is found.
+  # Check for GNU $ac_path_SED
+case `"$ac_path_SED" --version 2>&1` in
+*GNU*)
+  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo '' >> "conftest.nl"
+    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_SED_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_SED="$ac_path_SED"
+      ac_path_SED_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
 
-cat >>confdefs.h <<\_ACEOF
-#define PPL_ABI_BREAKING_EXTRA_DEBUG 1
-_ACEOF
+      $ac_path_SED_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_SED"; then
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
+  fi
+else
+  ac_cv_path_SED=$SED
+fi
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
+$as_echo "$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+  rm -f conftest.sed
 
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_DEBUG 1
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
+$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
+if test -z "$CXXCPP"; then
+  if test "${ac_cv_prog_CXXCPP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+      # Double quotes because CXXCPP needs to be expanded
+    for CXXCPP in "$CXX -E" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
 _ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
 
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
 
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_DEBUG_PEDANTIC 1
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
 _ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
 
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+  break
 fi
 
-if test x"$enable_assertions" = xno
-then
+    done
+    ac_cv_prog_CXXCPP=$CXXCPP
+
+fi
+  CXXCPP=$ac_cv_prog_CXXCPP
+else
+  ac_cv_prog_CXXCPP=$CXXCPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
+$as_echo "$CXXCPP" >&6; }
+ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
 
-cat >>confdefs.h <<\_ACEOF
-#define PPL_NDEBUG 1
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
 _ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
 
-  debug_flag="-DNDEBUG=1"
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
- if test x"$enable_assertions" = xyes; then
-  ASSERTIONS_ENABLED_TRUE=
-  ASSERTIONS_ENABLED_FALSE='#'
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  ASSERTIONS_ENABLED_TRUE='#'
-  ASSERTIONS_ENABLED_FALSE=
+  cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+	@echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+  *@@@%%%=?*=@@@%%%*)
+    eval ac_cv_prog_make_${ac_make}_set=yes;;
+  *)
+    eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  SET_MAKE=
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  SET_MAKE="MAKE=${MAKE-make}"
 fi
 
 
 
-arch=no
-enableval=standard
-{ $as_echo "$as_me:$LINENO: checking whether to enable optimizations" >&5
-$as_echo_n "checking whether to enable optimizations... " >&6; }
-# Check whether --enable-optimization was given.
-if test "${enable_optimization+set}" = set; then
-  enableval=$enable_optimization;
+# Compilation flags.
+
+COMP_FLAGS=""
+OPT_FLAGS=""
+
+enableval=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to compile with debug info" >&5
+$as_echo_n "checking whether to compile with debug info... " >&6; }
+# Check whether --enable-debugging was given.
+if test "${enable_debugging+set}" = set; then :
+  enableval=$enable_debugging;
 fi
 
 case "${enableval}" in
-sspeed)
-  { $as_echo "$as_me:$LINENO: result: sspeed" >&5
-$as_echo "sspeed" >&6; }
-  OPT_FLAGS="$OPT_FLAGS -O3 -fomit-frame-pointer"
-  arch=yes
-  ;;
-speed)
-  { $as_echo "$as_me:$LINENO: result: speed" >&5
-$as_echo "speed" >&6; }
-  OPT_FLAGS="$OPT_FLAGS -O3"
-  arch=yes
-  ;;
-size)
-  { $as_echo "$as_me:$LINENO: result: size" >&5
-$as_echo "size" >&6; }
-  OPT_FLAGS="$OPT_FLAGS -Os"
-  arch=yes
-  ;;
-standard | yes)
-  { $as_echo "$as_me:$LINENO: result: standard" >&5
-$as_echo "standard" >&6; }
-  OPT_FLAGS="$OPT_FLAGS -O2"
-  ;;
-mild)
-  { $as_echo "$as_me:$LINENO: result: mild" >&5
-$as_echo "mild" >&6; }
-  OPT_FLAGS="$OPT_FLAGS -O1"
-  ;;
-zero)
-  { $as_echo "$as_me:$LINENO: result: zero" >&5
-$as_echo "zero" >&6; }
-  OPT_FLAGS="$OPT_FLAGS -O0"
+yes)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  OPT_FLAGS="-g"
   ;;
 no)
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
   ;;
 *)
-  { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-optimization, needs sspeed, speed, size, standard, mild, zero, yes or no" >&5
-$as_echo "$as_me: error: bad value ${enableval} for --enable-optimization, needs sspeed, speed, size, standard, mild, zero, yes or no" >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "bad value ${enableval} for --enable-debugging, needs yes or no" "$LINENO" 5
   ;;
 esac
+ if test x"$enableval" = xyes; then
+  DEBUGGING_ENABLED_TRUE=
+  DEBUGGING_ENABLED_FALSE='#'
+else
+  DEBUGGING_ENABLED_TRUE='#'
+  DEBUGGING_ENABLED_FALSE=
+fi
 
-enableval=$arch
-{ $as_echo "$as_me:$LINENO: checking for which architecture to optimize" >&5
-$as_echo_n "checking for which architecture to optimize... " >&6; }
-# Check whether --enable-arch was given.
-if test "${enable_arch+set}" = set; then
-  enableval=$enable_arch;
+
+enableval=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to compile for profiling" >&5
+$as_echo_n "checking whether to compile for profiling... " >&6; }
+# Check whether --enable-profiling was given.
+if test "${enable_profiling+set}" = set; then :
+  enableval=$enable_profiling;
 fi
 
 case "${enableval}" in
 yes)
-  m=`uname -m`
-  case $m in
-  i?86 | k6 | athlon)
-    { $as_echo "$as_me:$LINENO: result: $m" >&5
-$as_echo "$m" >&6; }
-    OPT_FLAGS="$OPT_FLAGS -march=$m"
-    ;;
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  OPT_FLAGS="-g"
+  COMP_FLAGS="$COMP_FLAGS -pg -DPPL_PROFILING=1"
+  ;;
+no)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  ;;
+*)
+  as_fn_error $? "bad value ${enableval} for --enable-profiling, needs yes or no" "$LINENO" 5
+  ;;
+esac
+
+enableval=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to compile for test coverage" >&5
+$as_echo_n "checking whether to compile for test coverage... " >&6; }
+# Check whether --enable-coverage was given.
+if test "${enable_coverage+set}" = set; then :
+  enableval=$enable_coverage;
+fi
+
+case "${enableval}" in
+yes)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  OPT_FLAGS="-g"
+  COMP_FLAGS="$COMP_FLAGS -fprofile-arcs -ftest-coverage"
+  extra_libraries="${extra_libraries} -lgcov"
+  ;;
+no)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  ;;
+*)
+  as_fn_error $? "bad value ${enableval} for --enable-coverage, needs yes or no" "$LINENO" 5
+  ;;
+esac
+
+enableval=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable checking of run-time assertions" >&5
+$as_echo_n "checking whether to enable checking of run-time assertions... " >&6; }
+# Check whether --enable-assertions was given.
+if test "${enable_assertions+set}" = set; then :
+  enableval=$enable_assertions;
+fi
+
+case "${enableval}" in
+yes)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  ;;
+no)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  ;;
+*)
+  as_fn_error $? "bad value ${enableval} for --enable-assertions, needs yes or no" "$LINENO" 5
+  ;;
+esac
+enable_assertions=${enableval}
+
+enableval=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable even more run-time assertions" >&5
+$as_echo_n "checking whether to enable even more run-time assertions... " >&6; }
+# Check whether --enable-more-assertions was given.
+if test "${enable_more_assertions+set}" = set; then :
+  enableval=$enable_more_assertions;
+fi
+
+case "${enableval}" in
+yes)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  ;;
+no)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  ;;
+*)
+  as_fn_error $? "bad value ${enableval} for --enable-more-assertions, needs yes or no" "$LINENO" 5
+  ;;
+esac
+enable_more_assertions=${enableval}
+
+if test x"$enable_more_assertions" = xyes
+then
+  enable_assertions=yes
+
+$as_echo "#define PPL_ABI_BREAKING_EXTRA_DEBUG 1" >>confdefs.h
+
+
+$as_echo "#define _GLIBCXX_DEBUG 1" >>confdefs.h
+
+
+$as_echo "#define _GLIBCXX_DEBUG_PEDANTIC 1" >>confdefs.h
+
+fi
+
+if test x"$enable_assertions" = xno
+then
+
+$as_echo "#define PPL_NDEBUG 1" >>confdefs.h
+
+  debug_flag="-DNDEBUG=1"
+fi
+
+ if test x"$enable_assertions" = xyes; then
+  ASSERTIONS_ENABLED_TRUE=
+  ASSERTIONS_ENABLED_FALSE='#'
+else
+  ASSERTIONS_ENABLED_TRUE='#'
+  ASSERTIONS_ENABLED_FALSE=
+fi
+
+
+
+arch=no
+enableval=standard
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable optimizations" >&5
+$as_echo_n "checking whether to enable optimizations... " >&6; }
+# Check whether --enable-optimization was given.
+if test "${enable_optimization+set}" = set; then :
+  enableval=$enable_optimization;
+fi
+
+case "${enableval}" in
+sspeed)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: sspeed" >&5
+$as_echo "sspeed" >&6; }
+  OPT_FLAGS="$OPT_FLAGS -O3 -fomit-frame-pointer"
+  arch=yes
+  ;;
+speed)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: speed" >&5
+$as_echo "speed" >&6; }
+  OPT_FLAGS="$OPT_FLAGS -O3"
+  arch=yes
+  ;;
+size)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: size" >&5
+$as_echo "size" >&6; }
+  OPT_FLAGS="$OPT_FLAGS -Os"
+  arch=yes
+  ;;
+standard | yes)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: standard" >&5
+$as_echo "standard" >&6; }
+  OPT_FLAGS="$OPT_FLAGS -O2"
+  ;;
+mild)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: mild" >&5
+$as_echo "mild" >&6; }
+  OPT_FLAGS="$OPT_FLAGS -O1"
+  ;;
+zero)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: zero" >&5
+$as_echo "zero" >&6; }
+  OPT_FLAGS="$OPT_FLAGS -O0"
+  ;;
+no)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  ;;
+*)
+  as_fn_error $? "bad value ${enableval} for --enable-optimization, needs sspeed, speed, size, standard, mild, zero, yes or no" "$LINENO" 5
+  ;;
+esac
+
+enableval=$arch
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for which architecture to optimize" >&5
+$as_echo_n "checking for which architecture to optimize... " >&6; }
+# Check whether --enable-arch was given.
+if test "${enable_arch+set}" = set; then :
+  enableval=$enable_arch;
+fi
+
+case "${enableval}" in
+yes)
+  m=`uname -m`
+  case $m in
+  i?86 | k6 | athlon)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $m" >&5
+$as_echo "$m" >&6; }
+    OPT_FLAGS="$OPT_FLAGS -march=$m"
+    ;;
   *)
-    { $as_echo "$as_me:$LINENO: result: default" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: default" >&5
 $as_echo "default" >&6; }
     ;;
   esac
   ;;
 no)
-  { $as_echo "$as_me:$LINENO: result: default" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: default" >&5
 $as_echo "default" >&6; }
   ;;
 *)
-  { $as_echo "$as_me:$LINENO: result: $enableval" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enableval" >&5
 $as_echo "$enableval" >&6; }
   OPT_FLAGS="$OPT_FLAGS -march=$enableval"
   ;;
@@ -5601,29 +6110,29 @@ esac
 enableval=default
 fpmath_may_use_387=yes
 fpmath_may_use_sse=yes
-{ $as_echo "$as_me:$LINENO: checking whether to select specific floating point arithmetics" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to select specific floating point arithmetics" >&5
 $as_echo_n "checking whether to select specific floating point arithmetics... " >&6; }
 # Check whether --enable-fpmath was given.
-if test "${enable_fpmath+set}" = set; then
+if test "${enable_fpmath+set}" = set; then :
   enableval=$enable_fpmath;
 fi
 
 case "${enableval}" in
 sse)
-  { $as_echo "$as_me:$LINENO: result: sse" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: sse" >&5
 $as_echo "sse" >&6; }
   OPT_FLAGS="$OPT_FLAGS -msse -mfpmath=sse"
   # The SSE instruction set only supports single precision arithmetics:
   # double and extended precision arithmetics is still done using 387.
   ;;
 sse2)
-  { $as_echo "$as_me:$LINENO: result: sse2" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: sse2" >&5
 $as_echo "sse2" >&6; }
   OPT_FLAGS="$OPT_FLAGS -msse2 -mfpmath=sse"
   # SSE2 still does not support extended precision arithmetics.
   ;;
 387)
-  { $as_echo "$as_me:$LINENO: result: 387" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: 387" >&5
 $as_echo "387" >&6; }
   OPT_FLAGS="$OPT_FLAGS -mno-sse -mno-sse2 -mfpmath=387"
   # Note that the -mno-sse* and -mfpmath options are only guaranteed
@@ -5634,45 +6143,39 @@ $as_echo "387" >&6; }
   fi
   ;;
 sse+387)
-  { $as_echo "$as_me:$LINENO: result: sse+387" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: sse+387" >&5
 $as_echo "sse+387" >&6; }
   OPT_FLAGS="$OPT_FLAGS -msse -mfpmath=sse,387"
   ;;
 sse2+387)
-  { $as_echo "$as_me:$LINENO: result: sse2+387" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: sse2+387" >&5
 $as_echo "sse2+387" >&6; }
   OPT_FLAGS="$OPT_FLAGS -msse2 -mfpmath=sse,387"
   ;;
 default)
-  { $as_echo "$as_me:$LINENO: result: default" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: default" >&5
 $as_echo "default" >&6; }
   ;;
 no)
-  { $as_echo "$as_me:$LINENO: result: default" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: default" >&5
 $as_echo "default" >&6; }
   ;;
 *)
-  { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-fpmath, needs sse, sse2, 387, sse+387, sse2+387, default or no" >&5
-$as_echo "$as_me: error: bad value ${enableval} for --enable-fpmath, needs sse, sse2, 387, sse+387, sse2+387, default or no" >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "bad value ${enableval} for --enable-fpmath, needs sse, sse2, 387, sse+387, sse2+387, default or no" "$LINENO" 5
   ;;
 esac
 
 if test x"$fpmath_may_use_387" = xyes
 then
 
-cat >>confdefs.h <<\_ACEOF
-#define PPL_FPMATH_MAY_USE_387 1
-_ACEOF
+$as_echo "#define PPL_FPMATH_MAY_USE_387 1" >>confdefs.h
 
 fi
 
 if test x"$fpmath_may_use_sse" = xyes
 then
 
-cat >>confdefs.h <<\_ACEOF
-#define PPL_FPMATH_MAY_USE_SSE 1
-_ACEOF
+$as_echo "#define PPL_FPMATH_MAY_USE_SSE 1" >>confdefs.h
 
 fi
 
@@ -5689,27 +6192,25 @@ then
 fi
 
 enableval=no
-{ $as_echo "$as_me:$LINENO: checking whether to use precompiled headers" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use precompiled headers" >&5
 $as_echo_n "checking whether to use precompiled headers... " >&6; }
 # Check whether --enable-pch was given.
-if test "${enable_pch+set}" = set; then
+if test "${enable_pch+set}" = set; then :
   enableval=$enable_pch;
 fi
 
 case "${enableval}" in
 yes)
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
   COMP_FLAGS="$COMP_FLAGS -Winvalid-pch"
   ;;
 no)
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
   ;;
 *)
-  { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-pch, needs yes or no" >&5
-$as_echo "$as_me: error: bad value ${enableval} for --enable-pch, needs yes or no" >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "bad value ${enableval} for --enable-pch, needs yes or no" "$LINENO" 5
   ;;
 esac
  if test x"$enableval" = xyes; then
@@ -5751,7 +6252,7 @@ x86_64*)
 esac
 
 case "${host_os}" in
-cygwin)
+cygwin*)
   cygwin=yes
   no_undefined=yes
   ;;
@@ -5760,6 +6261,7 @@ darwin*)
   ;;
 mingw*)
   mingw=yes
+  no_undefined=yes
   ;;
 solaris*)
   solaris=yes
@@ -5821,81 +6323,79 @@ fi
 
 
 enableval=mpz
-{ $as_echo "$as_me:$LINENO: checking the type of integral values to use as coefficients" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the type of integral values to use as coefficients" >&5
 $as_echo_n "checking the type of integral values to use as coefficients... " >&6; }
 # Check whether --enable-coefficients was given.
-if test "${enable_coefficients+set}" = set; then
+if test "${enable_coefficients+set}" = set; then :
   enableval=$enable_coefficients;
 fi
 
 case "${enableval}" in
 native-int8)
-  { $as_echo "$as_me:$LINENO: result: native 8 bits integers" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: native 8 bits integers" >&5
 $as_echo "native 8 bits integers" >&6; }
   coefficient_kind=native
   coefficient_bits=8
   coefficient_mnemonic=nint8
   ;;
 native-int16)
-  { $as_echo "$as_me:$LINENO: result: native 16 bits integers" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: native 16 bits integers" >&5
 $as_echo "native 16 bits integers" >&6; }
   coefficient_kind=native
   coefficient_bits=16
   coefficient_mnemonic=nint16
   ;;
 native-int32)
-  { $as_echo "$as_me:$LINENO: result: native 32 bits integers" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: native 32 bits integers" >&5
 $as_echo "native 32 bits integers" >&6; }
   coefficient_kind=native
   coefficient_bits=32
   coefficient_mnemonic=nint32
   ;;
 native-int64)
-  { $as_echo "$as_me:$LINENO: result: native 64 bits integers" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: native 64 bits integers" >&5
 $as_echo "native 64 bits integers" >&6; }
   coefficient_kind=native
   coefficient_bits=64
   coefficient_mnemonic=nint64
   ;;
 checked-int8)
-  { $as_echo "$as_me:$LINENO: result: checked 8 bits integers" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked 8 bits integers" >&5
 $as_echo "checked 8 bits integers" >&6; }
   coefficient_kind=checked
   coefficient_bits=8
   coefficient_mnemonic=int8
   ;;
 checked-int16)
-  { $as_echo "$as_me:$LINENO: result: checked 16 bits integers" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked 16 bits integers" >&5
 $as_echo "checked 16 bits integers" >&6; }
   coefficient_kind=checked
   coefficient_bits=16
   coefficient_mnemonic=int16
   ;;
 checked-int32)
-  { $as_echo "$as_me:$LINENO: result: checked 32 bits integers" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked 32 bits integers" >&5
 $as_echo "checked 32 bits integers" >&6; }
   coefficient_kind=checked
   coefficient_bits=32
   coefficient_mnemonic=int32
   ;;
 checked-int64)
-  { $as_echo "$as_me:$LINENO: result: checked 64 bits integers" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked 64 bits integers" >&5
 $as_echo "checked 64 bits integers" >&6; }
   coefficient_kind=checked
   coefficient_bits=64
   coefficient_mnemonic=int64
   ;;
 mpz)
-  { $as_echo "$as_me:$LINENO: result: GMP mpz" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: GMP mpz" >&5
 $as_echo "GMP mpz" >&6; }
   coefficient_kind=unbounded
   coefficient_bits=0
   coefficient_mnemonic=mpz
   ;;
 *)
-  { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-coefficients, checked-int32, checked-int64, checked-int16, checked-int8, mpz, native-int32, native-int64, native-int16 or native-int8" >&5
-$as_echo "$as_me: error: bad value ${enableval} for --enable-coefficients, checked-int32, checked-int64, checked-int16, checked-int8, mpz, native-int32, native-int64, native-int16 or native-int8" >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "bad value ${enableval} for --enable-coefficients, checked-int32, checked-int64, checked-int16, checked-int8, mpz, native-int32, native-int64, native-int16 or native-int8" "$LINENO" 5
   ;;
 esac
 
@@ -5971,13 +6471,11 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 
-cat >>confdefs.h <<\_ACEOF
-#define PPL_NATIVE_INTEGERS 1
-_ACEOF
+$as_echo "#define PPL_NATIVE_INTEGERS 1" >>confdefs.h
 
 elif test x"$coefficient_kind" = xchecked
 then
-  coefficient_type="Parma_Polyhedra_Library::Checked_Number<int${coefficient_bits}_t>"
+  coefficient_type="Parma_Polyhedra_Library::Checked_Number<int${coefficient_bits}_t, Bounded_Integer_Coefficient_Policy>"
   cat >>confdefs.h <<_ACEOF
 #define PPL_COEFFICIENT_TYPE $coefficient_type
 _ACEOF
@@ -5987,95 +6485,35 @@ _ACEOF
 _ACEOF
 
 
-cat >>confdefs.h <<\_ACEOF
-#define PPL_CHECKED_INTEGERS 1
-_ACEOF
+$as_echo "#define PPL_CHECKED_INTEGERS 1" >>confdefs.h
 
 elif test x"$coefficient_kind" = xunbounded
 then
-  cat >>confdefs.h <<\_ACEOF
-#define PPL_COEFFICIENT_TYPE mpz_class
-_ACEOF
+  $as_echo "#define PPL_COEFFICIENT_TYPE mpz_class" >>confdefs.h
 
-  cat >>confdefs.h <<\_ACEOF
-#define PPL_COEFFICIENT_BITS 0
-_ACEOF
+  $as_echo "#define PPL_COEFFICIENT_BITS 0" >>confdefs.h
 
 
-cat >>confdefs.h <<\_ACEOF
-#define PPL_GMP_INTEGERS 1
-_ACEOF
+$as_echo "#define PPL_GMP_INTEGERS 1" >>confdefs.h
 
 fi
 
-# Allow additions to C and C++ compilation flags.
-
+# Allow additions to C compilation flags.
 
 # Check whether --with-cflags was given.
-if test "${with_cflags+set}" = set; then
+if test "${with_cflags+set}" = set; then :
   withval=$with_cflags; CFLAGS="$CFLAGS $with_cflags"
 fi
 
 
+# Allow additions to C++ compilation flags.
 
 # Check whether --with-cxxflags was given.
-if test "${with_cxxflags+set}" = set; then
+if test "${with_cxxflags+set}" = set; then :
   withval=$with_cxxflags; CXXFLAGS="$CXXFLAGS $with_cxxflags"
 fi
 
 
-# Check for Perl.
-# Extract the first word of "perl", so it can be a program name with args.
-set dummy perl; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_PERL+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  case $PERL in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_PERL" && ac_cv_path_PERL="no"
-  ;;
-esac
-fi
-PERL=$ac_cv_path_PERL
-if test -n "$PERL"; then
-  { $as_echo "$as_me:$LINENO: result: $PERL" >&5
-$as_echo "$PERL" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
- if test x"$PERL" != xno; then
-  HAVE_PERL_TRUE=
-  HAVE_PERL_FALSE='#'
-else
-  HAVE_PERL_TRUE='#'
-  HAVE_PERL_FALSE=
-fi
-
-
 # Checks for C typedefs, structures, compiler and architecture characteristics.
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
@@ -6083,16 +6521,12 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-{ $as_echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
 $as_echo_n "checking for an ANSI C-conforming const... " >&6; }
-if test "${ac_cv_c_const+set}" = set; then
+if test "${ac_cv_c_const+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -6152,56 +6586,29 @@ main ()
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_c_const=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_c_const=no
+  ac_cv_c_const=no
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5
 $as_echo "$ac_cv_c_const" >&6; }
 if test $ac_cv_c_const = no; then
 
-cat >>confdefs.h <<\_ACEOF
-#define const /**/
-_ACEOF
+$as_echo "#define const /**/" >>confdefs.h
 
 fi
 
-{ $as_echo "$as_me:$LINENO: checking for inline" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
 $as_echo_n "checking for inline... " >&6; }
-if test "${ac_cv_c_inline+set}" = set; then
+if test "${ac_cv_c_inline+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_inline=no
 for ac_kw in inline __inline__ __inline; do
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #ifndef __cplusplus
 typedef int foo_t;
@@ -6210,41 +6617,17 @@ $ac_kw foo_t foo () {return 0; }
 #endif
 
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_c_inline=$ac_kw
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   test "$ac_cv_c_inline" != no && break
 done
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
 $as_echo "$ac_cv_c_inline" >&6; }
 
-
 case $ac_cv_c_inline in
   inline | yes) ;;
   *)
@@ -6265,14 +6648,14 @@ ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
 $as_echo_n "checking how to run the C preprocessor... " >&6; }
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then
+  if test "${ac_cv_prog_CPP+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -6287,11 +6670,7 @@ do
   # <limits.h> exists even on freestanding compilers.
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp. "Syntax error" is here to catch this case.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #ifdef __STDC__
 # include <limits.h>
@@ -6300,78 +6679,34 @@ cat >>conftest.$ac_ext <<_ACEOF
 #endif
 		     Syntax error
 _ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_cpp "$LINENO"; then :
 
+else
   # Broken: fails on valid input.
 continue
 fi
-
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
+if ac_fn_c_try_cpp "$LINENO"; then :
   # Broken: success on invalid input.
 continue
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
   # Passes both tests.
 ac_preproc_ok=:
 break
 fi
-
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
   break
 fi
 
@@ -6383,7 +6718,7 @@ fi
 else
   ac_cv_prog_CPP=$CPP
 fi
-{ $as_echo "$as_me:$LINENO: result: $CPP" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
 $as_echo "$CPP" >&6; }
 ac_preproc_ok=false
 for ac_c_preproc_warn_flag in '' yes
@@ -6394,11 +6729,7 @@ do
   # <limits.h> exists even on freestanding compilers.
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp. "Syntax error" is here to catch this case.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #ifdef __STDC__
 # include <limits.h>
@@ -6407,87 +6738,40 @@ cat >>conftest.$ac_ext <<_ACEOF
 #endif
 		     Syntax error
 _ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_cpp "$LINENO"; then :
 
+else
   # Broken: fails on valid input.
 continue
 fi
-
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
+if ac_fn_c_try_cpp "$LINENO"; then :
   # Broken: success on invalid input.
 continue
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
   # Passes both tests.
 ac_preproc_ok=:
 break
 fi
-
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
-  :
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
 else
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -6497,16 +6781,12 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then
+if test "${ac_cv_header_stdc+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdlib.h>
 #include <stdarg.h>
@@ -6521,48 +6801,23 @@ main ()
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_header_stdc=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_header_stdc=no
+  ac_cv_header_stdc=no
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <string.h>
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then
-  :
+  $EGREP "memchr" >/dev/null 2>&1; then :
+
 else
   ac_cv_header_stdc=no
 fi
@@ -6572,18 +6827,14 @@ fi
 
 if test $ac_cv_header_stdc = yes; then
   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdlib.h>
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then
-  :
+  $EGREP "free" >/dev/null 2>&1; then :
+
 else
   ac_cv_header_stdc=no
 fi
@@ -6593,14 +6844,10 @@ fi
 
 if test $ac_cv_header_stdc = yes; then
   # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then
+  if test "$cross_compiling" = yes; then :
   :
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <ctype.h>
 #include <stdlib.h>
@@ -6627,118 +6874,33 @@ main ()
   return 0;
 }
 _ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  :
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_run "$LINENO"; then :
 
-( exit $ac_status )
-ac_cv_header_stdc=no
+else
+  ac_cv_header_stdc=no
 fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
-
 fi
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
 $as_echo "$ac_cv_header_stdc" >&6; }
 if test $ac_cv_header_stdc = yes; then
 
-cat >>confdefs.h <<\_ACEOF
-#define STDC_HEADERS 1
-_ACEOF
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
 
 fi
 
 # On IRIX 5.3, sys/types and inttypes.h are conflicting.
-
-
-
-
-
-
-
-
-
 for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
 		  inttypes.h stdint.h unistd.h
-do
-as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  eval "$as_ac_Header=yes"
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	eval "$as_ac_Header=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
-		 $as_echo "$as_val"'`
-	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_Header'}
-		 $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -6748,19 +6910,14 @@ fi
 done
 
 
-
- { $as_echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
 $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then
+if test "${ac_cv_c_bigendian+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_bigendian=unknown
     # See if we're dealing with a universal compiler.
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #ifndef __APPLE_CC__
 	       not a universal capable compiler
@@ -6768,46 +6925,34 @@ cat >>conftest.$ac_ext <<_ACEOF
 	     typedef int dummy;
 
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
 
 	# Check for potential -arch flags.  It is not universal unless
-	# there are some -arch flags.  Note that *ppc* also matches
-	# ppc64.  This check is also rather less than ideal.
-	case "${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" in  #(
-	  *-arch*ppc*|*-arch*i386*|*-arch*x86_64*) ac_cv_c_bigendian=universal;;
-	esac
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
+	# there are at least two -arch flags with different values.
+	ac_arch=
+	ac_prev=
+	for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
+	 if test -n "$ac_prev"; then
+	   case $ac_word in
+	     i?86 | x86_64 | ppc | ppc64)
+	       if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
+		 ac_arch=$ac_word
+	       else
+		 ac_cv_c_bigendian=universal
+		 break
+	       fi
+	       ;;
+	   esac
+	   ac_prev=
+	 elif test "x$ac_word" = "x-arch"; then
+	   ac_prev=arch
+	 fi
+       done
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     if test $ac_cv_c_bigendian = unknown; then
       # See if sys/param.h defines the BYTE_ORDER macro.
-      cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <sys/types.h>
 	     #include <sys/param.h>
@@ -6825,30 +6970,9 @@ main ()
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   # It does; now see whether it defined to BIG_ENDIAN or not.
-	 cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <sys/types.h>
 		#include <sys/param.h>
@@ -6864,49 +6988,18 @@ main ()
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_c_bigendian=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_c_bigendian=no
+  ac_cv_c_bigendian=no
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     fi
     if test $ac_cv_c_bigendian = unknown; then
       # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
-      cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <limits.h>
 
@@ -6921,30 +7014,9 @@ main ()
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   # It does; now see whether it defined to _BIG_ENDIAN or not.
-	 cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <limits.h>
 
@@ -6959,51 +7031,20 @@ main ()
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_c_bigendian=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_c_bigendian=no
+  ac_cv_c_bigendian=no
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     fi
     if test $ac_cv_c_bigendian = unknown; then
       # Compile a test program.
-      if test "$cross_compiling" = yes; then
+      if test "$cross_compiling" = yes; then :
   # Try to guess by grepping values from an object file.
-	 cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 short int ascii_mm[] =
 		  { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
@@ -7029,24 +7070,7 @@ return use_ascii (foo) == use_ebcdic (foo);
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
 	      ac_cv_c_bigendian=yes
 	    fi
@@ -7058,20 +7082,10 @@ $as_echo "$ac_try_echo") >&5
 		ac_cv_c_bigendian=unknown
 	      fi
 	    fi
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 $ac_includes_default
 int
@@ -7091,83 +7105,45 @@ main ()
   return 0;
 }
 _ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+if ac_fn_c_try_run "$LINENO"; then :
   ac_cv_c_bigendian=no
 else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_c_bigendian=yes
+  ac_cv_c_bigendian=yes
 fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
-
     fi
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
 $as_echo "$ac_cv_c_bigendian" >&6; }
  case $ac_cv_c_bigendian in #(
    yes)
-     cat >>confdefs.h <<\_ACEOF
-#define WORDS_BIGENDIAN 1
-_ACEOF
+     $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
 ;; #(
    no)
       ;; #(
    universal)
 
-cat >>confdefs.h <<\_ACEOF
-#define AC_APPLE_UNIVERSAL_BUILD 1
-_ACEOF
+$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
 
      ;; #(
    *)
-     { { $as_echo "$as_me:$LINENO: error: unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" >&5
-$as_echo "$as_me: error: unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" >&2;}
-   { (exit 1); exit 1; }; } ;;
+     as_fn_error $? "unknown endianness
+ presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
  esac
 
 
-  { $as_echo "$as_me:$LINENO: checking for typeof syntax and keyword spelling" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for typeof syntax and keyword spelling" >&5
 $as_echo_n "checking for typeof syntax and keyword spelling... " >&6; }
-if test "${ac_cv_c_typeof+set}" = set; then
+if test "${ac_cv_c_typeof+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_typeof=no
      for ac_kw in typeof __typeof__ no; do
        test $ac_kw = no && break
-       cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -7190,43 +7166,18 @@ main ()
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_c_typeof=$ac_kw
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
        test $ac_cv_c_typeof != no && break
      done
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_typeof" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_typeof" >&5
 $as_echo "$ac_cv_c_typeof" >&6; }
   if test $ac_cv_c_typeof != no; then
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_TYPEOF 1
-_ACEOF
+$as_echo "#define HAVE_TYPEOF 1" >>confdefs.h
 
     if test $ac_cv_c_typeof != typeof; then
 
@@ -7243,358 +7194,164 @@ _ACEOF
 # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
 # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
 # This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:$LINENO: checking size of char" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of char" >&5
 $as_echo_n "checking size of char... " >&6; }
-if test "${ac_cv_sizeof_char+set}" = set; then
+if test "${ac_cv_sizeof_char+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test "$cross_compiling" = yes; then
-  # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (char))) >= 0)];
-test_array [0] = 0
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (char))" "ac_cv_sizeof_char"        "$ac_includes_default"; then :
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_lo=0 ac_mid=0
-  while :; do
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (char))) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=$ac_mid; break
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  if test "$ac_cv_type_char" = yes; then
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (char)
+See \`config.log' for more details" "$LINENO" 5; }
+   else
+     ac_cv_sizeof_char=0
+   fi
+fi
 
-	ac_lo=`expr $ac_mid + 1`
-			if test $ac_lo -le $ac_mid; then
-			  ac_lo= ac_hi=
-			  break
-			fi
-			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_char" >&5
+$as_echo "$ac_cv_sizeof_char" >&6; }
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (char))) < 0)];
-test_array [0] = 0
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=-1 ac_mid=-1
-  while :; do
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_CHAR $ac_cv_sizeof_char
 _ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (char))) >= $ac_mid)];
-test_array [0] = 0
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_lo=$ac_mid; break
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5
+$as_echo_n "checking size of short... " >&6; }
+if test "${ac_cv_sizeof_short+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short"        "$ac_includes_default"; then :
 
-	ac_hi=`expr '(' $ac_mid ')' - 1`
-			if test $ac_mid -le $ac_hi; then
-			  ac_lo= ac_hi=
-			  break
-			fi
-			ac_mid=`expr 2 '*' $ac_mid`
+else
+  if test "$ac_cv_type_short" = yes; then
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (short)
+See \`config.log' for more details" "$LINENO" 5; }
+   else
+     ac_cv_sizeof_short=0
+   fi
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5
+$as_echo "$ac_cv_sizeof_short" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_SHORT $ac_cv_sizeof_short
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
+$as_echo_n "checking size of int... " >&6; }
+if test "${ac_cv_sizeof_int+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int"        "$ac_includes_default"; then :
 
-	ac_lo= ac_hi=
+else
+  if test "$ac_cv_type_int" = yes; then
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (int)
+See \`config.log' for more details" "$LINENO" 5; }
+   else
+     ac_cv_sizeof_int=0
+   fi
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5
+$as_echo "$ac_cv_sizeof_int" >&6; }
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
-  ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (char))) <= $ac_mid)];
-test_array [0] = 0
 
-  ;
-  return 0;
-}
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_INT $ac_cv_sizeof_int
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=$ac_mid
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_char=$ac_lo;;
-'') if test "$ac_cv_type_char" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
+$as_echo_n "checking size of long... " >&6; }
+if test "${ac_cv_sizeof_long+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long"        "$ac_includes_default"; then :
+
+else
+  if test "$ac_cv_type_long" = yes; then
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char)
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute sizeof (char)
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+as_fn_error 77 "cannot compute sizeof (long)
+See \`config.log' for more details" "$LINENO" 5; }
    else
-     ac_cv_sizeof_char=0
-   fi ;;
-esac
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-static long int longval () { return (long int) (sizeof (char)); }
-static unsigned long int ulongval () { return (long int) (sizeof (char)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
+     ac_cv_sizeof_long=0
+   fi
+fi
 
-  FILE *f = fopen ("conftest.val", "w");
-  if (! f)
-    return 1;
-  if (((long int) (sizeof (char))) < 0)
-    {
-      long int i = longval ();
-      if (i != ((long int) (sizeof (char))))
-	return 1;
-      fprintf (f, "%ld", i);
-    }
-  else
-    {
-      unsigned long int i = ulongval ();
-      if (i != ((long int) (sizeof (char))))
-	return 1;
-      fprintf (f, "%lu", i);
-    }
-  /* Do not output a trailing newline, as this causes \r\n confusion
-     on some platforms.  */
-  return ferror (f) || fclose (f) != 0;
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5
+$as_echo "$ac_cv_sizeof_long" >&6; }
 
-  ;
-  return 0;
-}
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_LONG $ac_cv_sizeof_long
 _ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_sizeof_char=`cat conftest.val`
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5
+$as_echo_n "checking size of long long... " >&6; }
+if test "${ac_cv_sizeof_long_long+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long"        "$ac_includes_default"; then :
 
-( exit $ac_status )
-if test "$ac_cv_type_char" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+else
+  if test "$ac_cv_type_long_long" = yes; then
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char)
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute sizeof (char)
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+as_fn_error 77 "cannot compute sizeof (long long)
+See \`config.log' for more details" "$LINENO" 5; }
    else
-     ac_cv_sizeof_char=0
+     ac_cv_sizeof_long_long=0
    fi
 fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.val
+
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_char" >&5
-$as_echo "$ac_cv_sizeof_char" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long" >&5
+$as_echo "$ac_cv_sizeof_long_long" >&6; }
 
 
 
 cat >>confdefs.h <<_ACEOF
-#define SIZEOF_CHAR $ac_cv_sizeof_char
+#define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long
 _ACEOF
 
 
@@ -7602,3615 +7359,1756 @@ _ACEOF
 # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
 # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
 # This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:$LINENO: checking size of short" >&5
-$as_echo_n "checking size of short... " >&6; }
-if test "${ac_cv_sizeof_short+set}" = set; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of size_t" >&5
+$as_echo_n "checking size of size_t... " >&6; }
+if test "${ac_cv_sizeof_size_t+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test "$cross_compiling" = yes; then
-  # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (short))) >= 0)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_lo=0 ac_mid=0
-  while :; do
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (short))) <= $ac_mid)];
-test_array [0] = 0
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (size_t))" "ac_cv_sizeof_size_t"        "$ac_includes_default"; then :
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=$ac_mid; break
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_lo=`expr $ac_mid + 1`
-			if test $ac_lo -le $ac_mid; then
-			  ac_lo= ac_hi=
-			  break
-			fi
-			ac_mid=`expr 2 '*' $ac_mid + 1`
+  if test "$ac_cv_type_size_t" = yes; then
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (size_t)
+See \`config.log' for more details" "$LINENO" 5; }
+   else
+     ac_cv_sizeof_size_t=0
+   fi
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_size_t" >&5
+$as_echo "$ac_cv_sizeof_size_t" >&6; }
 
-	cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (short))) < 0)];
-test_array [0] = 0
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=-1 ac_mid=-1
-  while :; do
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (short))) >= $ac_mid)];
-test_array [0] = 0
 
-  ;
-  return 0;
-}
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_SIZE_T $ac_cv_sizeof_size_t
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_lo=$ac_mid; break
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_hi=`expr '(' $ac_mid ')' - 1`
-			if test $ac_mid -le $ac_hi; then
-			  ac_lo= ac_hi=
-			  break
-			fi
-			ac_mid=`expr 2 '*' $ac_mid`
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of float" >&5
+$as_echo_n "checking size of float... " >&6; }
+if test "${ac_cv_sizeof_float+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (float))" "ac_cv_sizeof_float"        "$ac_includes_default"; then :
 
-	ac_lo= ac_hi=
+else
+  if test "$ac_cv_type_float" = yes; then
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (float)
+See \`config.log' for more details" "$LINENO" 5; }
+   else
+     ac_cv_sizeof_float=0
+   fi
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_float" >&5
+$as_echo "$ac_cv_sizeof_float" >&6; }
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
-  ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (short))) <= $ac_mid)];
-test_array [0] = 0
 
-  ;
-  return 0;
-}
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_FLOAT $ac_cv_sizeof_float
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=$ac_mid
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_short=$ac_lo;;
-'') if test "$ac_cv_type_short" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
+$as_echo_n "checking size of double... " >&6; }
+if test "${ac_cv_sizeof_double+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double"        "$ac_includes_default"; then :
+
+else
+  if test "$ac_cv_type_double" = yes; then
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (short)
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute sizeof (short)
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+as_fn_error 77 "cannot compute sizeof (double)
+See \`config.log' for more details" "$LINENO" 5; }
    else
-     ac_cv_sizeof_short=0
-   fi ;;
-esac
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-static long int longval () { return (long int) (sizeof (short)); }
-static unsigned long int ulongval () { return (long int) (sizeof (short)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
+     ac_cv_sizeof_double=0
+   fi
+fi
 
-  FILE *f = fopen ("conftest.val", "w");
-  if (! f)
-    return 1;
-  if (((long int) (sizeof (short))) < 0)
-    {
-      long int i = longval ();
-      if (i != ((long int) (sizeof (short))))
-	return 1;
-      fprintf (f, "%ld", i);
-    }
-  else
-    {
-      unsigned long int i = ulongval ();
-      if (i != ((long int) (sizeof (short))))
-	return 1;
-      fprintf (f, "%lu", i);
-    }
-  /* Do not output a trailing newline, as this causes \r\n confusion
-     on some platforms.  */
-  return ferror (f) || fclose (f) != 0;
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5
+$as_echo "$ac_cv_sizeof_double" >&6; }
 
-  ;
-  return 0;
-}
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_DOUBLE $ac_cv_sizeof_double
 _ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_sizeof_short=`cat conftest.val`
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
+$as_echo_n "checking size of long double... " >&6; }
+if test "${ac_cv_sizeof_long_double+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double"        "$ac_includes_default"; then :
 
-( exit $ac_status )
-if test "$ac_cv_type_short" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+else
+  if test "$ac_cv_type_long_double" = yes; then
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (short)
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute sizeof (short)
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+as_fn_error 77 "cannot compute sizeof (long double)
+See \`config.log' for more details" "$LINENO" 5; }
    else
-     ac_cv_sizeof_short=0
+     ac_cv_sizeof_long_double=0
    fi
 fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.val
+
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_short" >&5
-$as_echo "$ac_cv_sizeof_short" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5
+$as_echo "$ac_cv_sizeof_long_double" >&6; }
 
 
 
 cat >>confdefs.h <<_ACEOF
-#define SIZEOF_SHORT $ac_cv_sizeof_short
+#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double
 _ACEOF
 
 
+# The following are required to validate an horrible kludge working
+# around an horrible bug in <gprolog.h> (see
+# http://www.cs.unipr.it/pipermail/ppl-devel/2008-August/012277.html).
 # The cast to long int works around a bug in the HP C Compiler
 # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
 # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
 # This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:$LINENO: checking size of int" >&5
-$as_echo_n "checking size of int... " >&6; }
-if test "${ac_cv_sizeof_int+set}" = set; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int*" >&5
+$as_echo_n "checking size of int*... " >&6; }
+if test "${ac_cv_sizeof_intp+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test "$cross_compiling" = yes; then
-  # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (int))) >= 0)];
-test_array [0] = 0
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int*))" "ac_cv_sizeof_intp"        "$ac_includes_default"; then :
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_lo=0 ac_mid=0
-  while :; do
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (int))) <= $ac_mid)];
-test_array [0] = 0
+else
+  if test "$ac_cv_type_intp" = yes; then
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (int*)
+See \`config.log' for more details" "$LINENO" 5; }
+   else
+     ac_cv_sizeof_intp=0
+   fi
+fi
 
-  ;
-  return 0;
-}
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_intp" >&5
+$as_echo "$ac_cv_sizeof_intp" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_INTP $ac_cv_sizeof_intp
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=$ac_mid; break
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of fp" >&5
+$as_echo_n "checking size of fp... " >&6; }
+if test "${ac_cv_sizeof_fp+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (fp))" "ac_cv_sizeof_fp"        "typedef int *(*fp)();
+"; then :
 
-	ac_lo=`expr $ac_mid + 1`
-			if test $ac_lo -le $ac_mid; then
-			  ac_lo= ac_hi=
-			  break
-			fi
-			ac_mid=`expr 2 '*' $ac_mid + 1`
+else
+  if test "$ac_cv_type_fp" = yes; then
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (fp)
+See \`config.log' for more details" "$LINENO" 5; }
+   else
+     ac_cv_sizeof_fp=0
+   fi
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_fp" >&5
+$as_echo "$ac_cv_sizeof_fp" >&6; }
 
-	cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (int))) < 0)];
-test_array [0] = 0
 
-  ;
-  return 0;
-}
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_FP $ac_cv_sizeof_fp
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+
+
+
+# Check for Perl.
+# Extract the first word of "perl", so it can be a program name with args.
+set dummy perl; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_PERL+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $PERL in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_PERL" && ac_cv_path_PERL="no"
+  ;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=-1 ac_mid=-1
-  while :; do
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+fi
+PERL=$ac_cv_path_PERL
+if test -n "$PERL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5
+$as_echo "$PERL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+ if test x"$PERL" != xno; then
+  HAVE_PERL_TRUE=
+  HAVE_PERL_FALSE='#'
+else
+  HAVE_PERL_TRUE='#'
+  HAVE_PERL_FALSE=
+fi
+
+
+# Use C++ for the remaining checks.
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+# The PPL uses <cmath> for sqrt and other functions in several places.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing sqrt" >&5
+$as_echo_n "checking for library containing sqrt... " >&6; }
+if test "${ac_cv_search_sqrt+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-$ac_includes_default
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char sqrt ();
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long int) (sizeof (int))) >= $ac_mid)];
-test_array [0] = 0
-
+return sqrt ();
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_lo=$ac_mid; break
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_hi=`expr '(' $ac_mid ')' - 1`
-			if test $ac_mid -le $ac_hi; then
-			  ac_lo= ac_hi=
-			  break
-			fi
-			ac_mid=`expr 2 '*' $ac_mid`
+for ac_lib in '' m; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_cxx_try_link "$LINENO"; then :
+  ac_cv_search_sqrt=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_sqrt+set}" = set; then :
+  break
 fi
+done
+if test "${ac_cv_search_sqrt+set}" = set; then :
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_lo= ac_hi=
+  ac_cv_search_sqrt=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_sqrt" >&5
+$as_echo "$ac_cv_search_sqrt" >&6; }
+ac_res=$ac_cv_search_sqrt
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
-  ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
+
+# Check for the possibility to control the FPU.
+
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+for ac_header in fenv.h ieeefp.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+
+fi
+
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if it is possible to control the FPU" >&5
+$as_echo_n "checking if it is possible to control the FPU... " >&6; }
+if test "$cross_compiling" = yes; then :
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (int))) <= $ac_mid)];
-test_array [0] = 0
 
-  ;
+#if i386 || (sparc && defined(HAVE_IEEEFP_H))
+
+int
+main() {
   return 0;
 }
+
+#else
+
+  choke me
+
+#endif
+
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=$ac_mid
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+    ac_cv_can_control_fpu=1
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+    ac_cv_can_control_fpu=0
 
-	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_int=$ac_lo;;
-'') if test "$ac_cv_type_int" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (int)
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute sizeof (int)
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
-   else
-     ac_cv_sizeof_int=0
-   fi ;;
-esac
+
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-$ac_includes_default
-static long int longval () { return (long int) (sizeof (int)); }
-static unsigned long int ulongval () { return (long int) (sizeof (int)); }
-#include <stdio.h>
-#include <stdlib.h>
+
+#if i386
+
 int
-main ()
-{
+main() {
+  return 0;
+}
 
-  FILE *f = fopen ("conftest.val", "w");
-  if (! f)
-    return 1;
-  if (((long int) (sizeof (int))) < 0)
-    {
-      long int i = longval ();
-      if (i != ((long int) (sizeof (int))))
-	return 1;
-      fprintf (f, "%ld", i);
-    }
-  else
-    {
-      unsigned long int i = ulongval ();
-      if (i != ((long int) (sizeof (int))))
-	return 1;
-      fprintf (f, "%lu", i);
-    }
-  /* Do not output a trailing newline, as this causes \r\n confusion
-     on some platforms.  */
-  return ferror (f) || fclose (f) != 0;
+#elif defined(HAVE_FENV_H)
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_sizeof_int=`cat conftest.val`
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+# include <fenv.h>
 
-( exit $ac_status )
-if test "$ac_cv_type_int" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (int)
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute sizeof (int)
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
-   else
-     ac_cv_sizeof_int=0
-   fi
-fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.val
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5
-$as_echo "$ac_cv_sizeof_int" >&6; }
+# if !defined(FE_UPWARD) || !defined(FE_DOWNWARD)
 
+  choke me
 
+# elif defined(__arm__) \
+  && (!defined(PPL_ARM_CAN_CONTROL_FPU) || !PPL_ARM_CAN_CONTROL_FPU)
 
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_INT $ac_cv_sizeof_int
-_ACEOF
+  choke me
 
+#else
+
+     float  nf1 =  -3, pf1 = 3,  f2 =  5;
+     double nd1 =  -7, pd1 = 7,  d2 = 11;
+long double nl1 = -13, pl1 = 13, l2 = 17;
+
+      float nf[2], pf[2];
+     double nd[2], pd[2];
+long double nl[2], pl[2];
 
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:$LINENO: checking size of long" >&5
-$as_echo_n "checking size of long... " >&6; }
-if test "${ac_cv_sizeof_long+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then
-  # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
 int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (long))) >= 0)];
-test_array [0] = 0
+ppl_check_function() {
+  int r = 0;
+  if (nf[0] == nf[1] || pf[0] == pf[1] || -nf[0] != pf[1] || -nf[1] != pf[0])
+    r |= 1;
+  if (nd[0] == nd[1] || pd[0] == pd[1] || -nd[0] != pd[1] || -nd[1] != pd[0])
+    r |= 2;
+  if (nl[0] == nl[1] || pl[0] == pl[1] || -nl[0] != pl[1] || -nl[1] != pl[0])
+    r |= 4;
+  return r;
+}
 
-  ;
-  return 0;
+int
+ppl_setround_function(int rounding_mode) {
+  return fesetround(rounding_mode);
 }
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_lo=0 ac_mid=0
-  while :; do
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
+
+int (* volatile ppl_check_function_p)() = ppl_check_function;
+int (* volatile ppl_setround_function_p)(int) = ppl_setround_function;
+
 int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (long))) <= $ac_mid)];
-test_array [0] = 0
+main() {
+  if ((*ppl_setround_function_p)(FE_DOWNWARD) != 0)
+    return 255;
 
-  ;
-  return 0;
+  nf[0] = nf1 / f2;
+  nd[0] = nd1 / d2;
+  nl[0] = nl1 / l2;
+  pf[0] = pf1 / f2;
+  pd[0] = pd1 / d2;
+  pl[0] = pl1 / l2;
+
+  if ((*ppl_setround_function_p)(FE_UPWARD) != 0)
+    return 255;
+
+  nf[1] = nf1 / f2;
+  nd[1] = nd1 / d2;
+  nl[1] = nl1 / l2;
+  pf[1] = pf1 / f2;
+  pd[1] = pd1 / d2;
+  pl[1] = pl1 / l2;
+
+  return (*ppl_check_function_p)();
 }
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=$ac_mid; break
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_lo=`expr $ac_mid + 1`
-			if test $ac_lo -le $ac_mid; then
-			  ac_lo= ac_hi=
-			  break
-			fi
-			ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
+# endif
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+#elif sparc && defined(HAVE_IEEEFP_H)
 
-	cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
 int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (long))) < 0)];
-test_array [0] = 0
-
-  ;
+main() {
   return 0;
 }
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=-1 ac_mid=-1
-  while :; do
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (long))) >= $ac_mid)];
-test_array [0] = 0
 
-  ;
-  return 0;
-}
+#else
+
+  choke me
+
+#endif
+
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_lo=$ac_mid; break
+if ac_fn_cxx_try_run "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  ac_cv_can_control_fpu=1
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_hi=`expr '(' $ac_mid ')' - 1`
-			if test $ac_mid -le $ac_hi; then
-			  ac_lo= ac_hi=
-			  break
-			fi
-			ac_mid=`expr 2 '*' $ac_mid`
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  ac_cv_can_control_fpu=0
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
+ if test $ac_cv_can_control_fpu = 1; then
+  CAN_CONTROL_FPU_TRUE=
+  CAN_CONTROL_FPU_FALSE='#'
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_lo= ac_hi=
+  CAN_CONTROL_FPU_TRUE='#'
+  CAN_CONTROL_FPU_FALSE=
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
-  ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
+cat >>confdefs.h <<_ACEOF
+#define PPL_CAN_CONTROL_FPU $ac_cv_can_control_fpu
 _ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (long))) <= $ac_mid)];
-test_array [0] = 0
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=$ac_mid
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
-	ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_long=$ac_lo;;
-'') if test "$ac_cv_type_long" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long)
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute sizeof (long)
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
-   else
-     ac_cv_sizeof_long=0
-   fi ;;
-esac
+
+# Check whether the C++ compiler provides proper long doubles.
+
+ac_save_CPPFLAGS="$CPPFLAGS"
+ac_save_LIBS="$LIBS"
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler provides proper long doubles" >&5
+$as_echo_n "checking whether the C++ compiler provides proper long doubles... " >&6; }
+if test "$cross_compiling" = yes; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: assuming not" >&5
+$as_echo "assuming not" >&6; }
+  ac_cxx_provides_proper_long_double=no
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-$ac_includes_default
-static long int longval () { return (long int) (sizeof (long)); }
-static unsigned long int ulongval () { return (long int) (sizeof (long)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
 
-  FILE *f = fopen ("conftest.val", "w");
-  if (! f)
+#include <cfloat>
+
+long double f = 0.0;
+
+int main() {
+  if ((LDBL_MAX <= DBL_MAX) && (DBL_EPSILON <= LDBL_EPSILON)
+      && (LDBL_MAX_EXP <= DBL_MAX_EXP) && (LDBL_MANT_DIG <= DBL_MANT_DIG))
     return 1;
-  if (((long int) (sizeof (long))) < 0)
-    {
-      long int i = longval ();
-      if (i != ((long int) (sizeof (long))))
-	return 1;
-      fprintf (f, "%ld", i);
-    }
   else
-    {
-      unsigned long int i = ulongval ();
-      if (i != ((long int) (sizeof (long))))
-	return 1;
-      fprintf (f, "%lu", i);
-    }
-  /* Do not output a trailing newline, as this causes \r\n confusion
-     on some platforms.  */
-  return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
+    return 0;
 }
+
 _ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_sizeof_long=`cat conftest.val`
+if ac_fn_cxx_try_run "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  ac_cxx_provides_proper_long_double=yes
 else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-if test "$ac_cv_type_long" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long)
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute sizeof (long)
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
-   else
-     ac_cv_sizeof_long=0
-   fi
-fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  ac_cxx_provides_proper_long_double=no
 fi
-rm -f conftest.val
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5
-$as_echo "$ac_cv_sizeof_long" >&6; }
 
 
+if test x"$ac_cxx_provides_proper_long_double" = xyes
+then
+  value=1
+else
+  value=0
+fi
 
 cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG $ac_cv_sizeof_long
+#define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE $value
 _ACEOF
 
 
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:$LINENO: checking size of long long" >&5
-$as_echo_n "checking size of long long... " >&6; }
-if test "${ac_cv_sizeof_long_long+set}" = set; then
-  $as_echo_n "(cached) " >&6
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+CPPFLAGS="$ac_save_CPPFLAGS"
+LIBS="$ac_save_LIBS"
+
+
+# Detect the binary format used by C++ floats.
+
+ac_save_CPPFLAGS="$CPPFLAGS"
+ac_save_LIBS="$LIBS"
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the binary format of C++ floats" >&5
+$as_echo_n "checking the binary format of C++ floats... " >&6; }
+if test "$cross_compiling" = yes; then :
+  ac_cxx_float_binary_format=unknown
 else
-  if test "$cross_compiling" = yes; then
-  # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (long long))) >= 0)];
-test_array [0] = 0
 
-  ;
-  return 0;
+#include <limits>
+#ifdef HAVE_STDINT_H
+#ifndef __STDC_LIMIT_MACROS
+#define __STDC_LIMIT_MACROS 1
+#endif
+#include <stdint.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+#include <inttypes.h>
+#endif
+
+#if SIZEOF_FLOAT == 4
+
+inline float
+convert(uint32_t x) {
+  union {
+    float value;
+    uint32_t word;
+  } u;
+
+  u.word = x;
+  return u.value;
 }
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_lo=0 ac_mid=0
-  while :; do
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
+
 int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (long long))) <= $ac_mid)];
-test_array [0] = 0
+main() {
+  if (std::numeric_limits<float>::is_iec559
+      && (   convert(0xaaacccaaU)
+          == -3.069535185924732179074680971098132431507110595703125e-13
+          && convert(0xcccaaaccU)
+          == -106255968
+          && convert(0x00000001U)
+          == 1.40129846432481707092372958328991613128026194187651577175706828388979108268586060148663818836212158203125e-45
+          && convert(0x80000001U)
+          == -1.40129846432481707092372958328991613128026194187651577175706828388979108268586060148663818836212158203125e-45))
+    return 0;
+  else
+    return 1;
+}
 
-  ;
-  return 0;
+#else // SIZEOF_FLOAT != 4
+
+int
+main() {
+  return 1;
 }
+
+#endif // SIZEOF_FLOAT != 4
+
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=$ac_mid; break
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_cxx_try_run "$LINENO"; then :
 
-	ac_lo=`expr $ac_mid + 1`
-			if test $ac_lo -le $ac_mid; then
-			  ac_lo= ac_hi=
-			  break
-			fi
-			ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
+$as_echo "#define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE" >>confdefs.h
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
+  ac_cxx_float_binary_format="IEEE754 Single Precision"
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  ac_cxx_float_binary_format=unknown
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
 
-	cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (long long))) < 0)];
-test_array [0] = 0
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=-1 ac_mid=-1
-  while :; do
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (long long))) >= $ac_mid)];
-test_array [0] = 0
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cxx_float_binary_format" >&5
+$as_echo "$ac_cxx_float_binary_format" >&6; }
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_lo=$ac_mid; break
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_hi=`expr '(' $ac_mid ')' - 1`
-			if test $ac_mid -le $ac_hi; then
-			  ac_lo= ac_hi=
-			  break
-			fi
-			ac_mid=`expr 2 '*' $ac_mid`
-fi
+ac_save_CPPFLAGS="$CPPFLAGS"
+ac_save_LIBS="$LIBS"
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ provides exact output for floats" >&5
+$as_echo_n "checking whether C++ provides exact output for floats... " >&6; }
+
+if test "$cross_compiling" = yes; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: assuming not" >&5
+$as_echo "assuming not" >&6; }
+  ac_cxx_float_exact_output=0
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-	ac_lo= ac_hi=
-fi
+#include <limits>
+#ifdef HAVE_STDINT_H
+#ifndef __STDC_LIMIT_MACROS
+#define __STDC_LIMIT_MACROS 1
+#endif
+#include <stdint.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+#include <inttypes.h>
+#endif
+#include <sstream>
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
+/* Unique (nonzero) code for the IEEE 754 Single Precision
+   floating point format.  */
+# define PPL_FLOAT_IEEE754_SINGLE 1
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
-  ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (long long))) <= $ac_mid)];
-test_array [0] = 0
+/* Unique (nonzero) code for the IEEE 754 Double Precision
+   floating point format.  */
+# define PPL_FLOAT_IEEE754_DOUBLE 2
 
-  ;
-  return 0;
+/* Unique (nonzero) code for the IEEE 754 Quad Precision
+   floating point format.  */
+# define PPL_FLOAT_IEEE754_QUAD 3
+
+/* Unique (nonzero) code for the Intel Double-Extended
+   floating point format.  */
+# define PPL_FLOAT_INTEL_DOUBLE_EXTENDED 4
+
+bool
+check(float value, const char* text) {
+  std::ostringstream ss;
+  ss.precision(10000);
+  ss << value;
+  return ss.str() == text;
 }
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=$ac_mid
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
+#if SIZEOF_FLOAT == 4
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_long_long=$ac_lo;;
-'') if test "$ac_cv_type_long_long" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long long)
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute sizeof (long long)
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
-   else
-     ac_cv_sizeof_long_long=0
-   fi ;;
-esac
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-static long int longval () { return (long int) (sizeof (long long)); }
-static unsigned long int ulongval () { return (long int) (sizeof (long long)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
+float
+convert(uint32_t x) {
+  union {
+    float value;
+    uint32_t word;
+  } u;
 
-  FILE *f = fopen ("conftest.val", "w");
-  if (! f)
-    return 1;
-  if (((long int) (sizeof (long long))) < 0)
-    {
-      long int i = longval ();
-      if (i != ((long int) (sizeof (long long))))
-	return 1;
-      fprintf (f, "%ld", i);
-    }
+  u.word = x;
+  return u.value;
+}
+
+#if PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_IEEE754_SINGLE
+
+int
+main() {
+  if (check(convert(0xaaacccaaU),
+            "-3.069535185924732179074680971098132431507110595703125e-13")
+      && check(convert(0xcccaaaccU),
+               "-106255968")
+      && check(convert(0x00000001U),
+               "1.40129846432481707092372958328991613128026194187651577175706828388979108268586060148663818836212158203125e-45")
+      && check(convert(0x80000001U),
+               "-1.40129846432481707092372958328991613128026194187651577175706828388979108268586060148663818836212158203125e-45"))
+    return 0;
   else
-    {
-      unsigned long int i = ulongval ();
-      if (i != ((long int) (sizeof (long long))))
-	return 1;
-      fprintf (f, "%lu", i);
-    }
-  /* Do not output a trailing newline, as this causes \r\n confusion
-     on some platforms.  */
-  return ferror (f) || fclose (f) != 0;
+    return 1;
+}
 
-  ;
-  return 0;
+#else // PPL_CXX_FLOAT_BINARY_FORMAT != FLOAT_IEEE754_SINGLE
+
+int
+main() {
+  return 1;
+}
+
+#endif // PPL_CXX_FLOAT_BINARY_FORMAT != FLOAT_IEEE754_SINGLE
+
+#else // SIZEOF_FLOAT != 4
+
+int
+main() {
+  return 1;
 }
+
+#endif // SIZEOF_FLOAT != 4
+
 _ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_sizeof_long_long=`cat conftest.val`
+if ac_fn_cxx_try_run "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  ac_cxx_float_exact_output=1
 else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-if test "$ac_cv_type_long_long" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long long)
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute sizeof (long long)
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
-   else
-     ac_cv_sizeof_long_long=0
-   fi
-fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  ac_cxx_float_exact_output=0
 fi
-rm -f conftest.val
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_long_long" >&5
-$as_echo "$ac_cv_sizeof_long_long" >&6; }
 
 
 
 cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long
+#define PPL_CXX_FLOAT_EXACT_OUTPUT $ac_cxx_float_exact_output
 _ACEOF
 
 
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:$LINENO: checking size of size_t" >&5
-$as_echo_n "checking size of size_t... " >&6; }
-if test "${ac_cv_sizeof_size_t+set}" = set; then
-  $as_echo_n "(cached) " >&6
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+CPPFLAGS="$ac_save_CPPFLAGS"
+LIBS="$ac_save_LIBS"
+
+
+if test x"$ac_cxx_float_binary_format" = x"unknown" || test $ac_cxx_float_exact_output = 0 || test $ac_cv_can_control_fpu = 0
+then
+  ac_supported_float=0
 else
-  if test "$cross_compiling" = yes; then
-  # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (size_t))) >= 0)];
-test_array [0] = 0
+  ac_supported_float=1
+fi
+ if test $ac_supported_float = 1; then
+  SUPPORTED_FLOAT_TRUE=
+  SUPPORTED_FLOAT_FALSE='#'
+else
+  SUPPORTED_FLOAT_TRUE='#'
+  SUPPORTED_FLOAT_FALSE=
+fi
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_lo=0 ac_mid=0
-  while :; do
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (size_t))) <= $ac_mid)];
-test_array [0] = 0
 
-  ;
-  return 0;
-}
+cat >>confdefs.h <<_ACEOF
+#define PPL_SUPPORTED_FLOAT $ac_supported_float
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=$ac_mid; break
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_lo=`expr $ac_mid + 1`
-			if test $ac_lo -le $ac_mid; then
-			  ac_lo= ac_hi=
-			  break
-			fi
-			ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
-	cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (size_t))) < 0)];
-test_array [0] = 0
+CPPFLAGS="$ac_save_CPPFLAGS"
+LIBS="$ac_save_LIBS"
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=-1 ac_mid=-1
-  while :; do
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (size_t))) >= $ac_mid)];
-test_array [0] = 0
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_lo=$ac_mid; break
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+# Detect the binary format used by C++ doubles.
 
-	ac_hi=`expr '(' $ac_mid ')' - 1`
-			if test $ac_mid -le $ac_hi; then
-			  ac_lo= ac_hi=
-			  break
-			fi
-			ac_mid=`expr 2 '*' $ac_mid`
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ac_save_CPPFLAGS="$CPPFLAGS"
+ac_save_LIBS="$LIBS"
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
-	ac_lo= ac_hi=
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the binary format of C++ doubles" >&5
+$as_echo_n "checking the binary format of C++ doubles... " >&6; }
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
-  ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+if test "$cross_compiling" = yes; then :
+  ac_cxx_double_binary_format=unknown
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (size_t))) <= $ac_mid)];
-test_array [0] = 0
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=$ac_mid
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+#include <limits>
+#ifdef HAVE_STDINT_H
+#ifndef __STDC_LIMIT_MACROS
+#define __STDC_LIMIT_MACROS 1
+#endif
+#include <stdint.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+#include <inttypes.h>
+#endif
 
-	ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
+#if SIZEOF_DOUBLE == 8
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_size_t=$ac_lo;;
-'') if test "$ac_cv_type_size_t" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (size_t)
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute sizeof (size_t)
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
-   else
-     ac_cv_sizeof_size_t=0
-   fi ;;
-esac
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-static long int longval () { return (long int) (sizeof (size_t)); }
-static unsigned long int ulongval () { return (long int) (sizeof (size_t)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
+double
+convert(uint32_t msp, uint32_t lsp) {
+  union {
+    double value;
+    struct {
+#ifdef WORDS_BIGENDIAN
+      uint32_t msp;
+      uint32_t lsp;
+#else
+      uint32_t lsp;
+      uint32_t msp;
+#endif
+    } parts;
+  } u;
 
-  FILE *f = fopen ("conftest.val", "w");
-  if (! f)
-    return 1;
-  if (((long int) (sizeof (size_t))) < 0)
-    {
-      long int i = longval ();
-      if (i != ((long int) (sizeof (size_t))))
-	return 1;
-      fprintf (f, "%ld", i);
-    }
+  u.parts.msp = msp;
+  u.parts.lsp = lsp;
+  return u.value;
+}
+
+int
+main() {
+  if (std::numeric_limits<double>::is_iec559
+      && (convert(0xaaacccaaUL, 0xacccaaacUL)
+          == -4.018242396032647085467373664662028399901175154542925376476863248797653889888945947404163925979898721593782464256360719269163883854613473748830842329884157359816532025640075051481726120707111709993717456369512975427023957197464411926714771905463723621065863511603311053477227687835693359375e-103
+          && convert(0xcccaaaccUL, 0xcaaacccaUL)
+	  == -85705035845709846787631445265530356117787053916987832397725696.0
+          && convert(0x00000000UL, 0x00000001UL)
+          == 4.940656458412465441765687928682213723650598026143247644255856825006755072702087518652998363616359923797965646954457177309266567103559397963987747960107818781263007131903114045278458171678489821036887186360569987307230500063874091535649843873124733972731696151400317153853980741262385655911710266585566867681870395603106249319452715914924553293054565444011274801297099995419319894090804165633245247571478690147267801593552386115501348035264934720193790268107107491703332226844753 [...]
+          && convert(0x80000000UL, 0x00000001UL)
+          == -4.94065645841246544176568792868221372365059802614324764425585682500675507270208751865299836361635992379796564695445717730926656710355939796398774796010781878126300713190311404527845817167848982103688718636056998730723050006387409153564984387312473397273169615140031715385398074126238565591171026658556686768187039560310624931945271591492455329305456544401127480129709999541931989409080416563324524757147869014726780159355238611550134803526493472019379026810710749170333222684475 [...]
+    return 0;
   else
-    {
-      unsigned long int i = ulongval ();
-      if (i != ((long int) (sizeof (size_t))))
-	return 1;
-      fprintf (f, "%lu", i);
-    }
-  /* Do not output a trailing newline, as this causes \r\n confusion
-     on some platforms.  */
-  return ferror (f) || fclose (f) != 0;
+    return 1;
+}
 
-  ;
-  return 0;
+#else // SIZEOF_DOUBLE != 8
+
+int
+main() {
+  return 1;
 }
+
+#endif // SIZEOF_DOUBLE != 8
+
 _ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_sizeof_size_t=`cat conftest.val`
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_cxx_try_run "$LINENO"; then :
 
-( exit $ac_status )
-if test "$ac_cv_type_size_t" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (size_t)
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute sizeof (size_t)
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
-   else
-     ac_cv_sizeof_size_t=0
-   fi
-fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+$as_echo "#define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE" >>confdefs.h
+
+  ac_cxx_double_binary_format="IEEE754 Double Precision"
+else
+  ac_cxx_double_binary_format=unknown
 fi
-rm -f conftest.val
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_size_t" >&5
-$as_echo "$ac_cv_sizeof_size_t" >&6; }
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cxx_double_binary_format" >&5
+$as_echo "$ac_cxx_double_binary_format" >&6; }
 
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_SIZE_T $ac_cv_sizeof_size_t
-_ACEOF
 
 
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:$LINENO: checking size of float" >&5
-$as_echo_n "checking size of float... " >&6; }
-if test "${ac_cv_sizeof_float+set}" = set; then
-  $as_echo_n "(cached) " >&6
+ac_save_CPPFLAGS="$CPPFLAGS"
+ac_save_LIBS="$LIBS"
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ provides exact output for doubles" >&5
+$as_echo_n "checking whether C++ provides exact output for doubles... " >&6; }
+
+if test "$cross_compiling" = yes; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: assuming not" >&5
+$as_echo "assuming not" >&6; }
+  ac_cxx_double_exact_output=0
 else
-  if test "$cross_compiling" = yes; then
-  # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (float))) >= 0)];
-test_array [0] = 0
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_lo=0 ac_mid=0
-  while :; do
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (float))) <= $ac_mid)];
-test_array [0] = 0
+#include <limits>
+#ifdef HAVE_STDINT_H
+#ifndef __STDC_LIMIT_MACROS
+#define __STDC_LIMIT_MACROS 1
+#endif
+#include <stdint.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+#include <inttypes.h>
+#endif
+#include <sstream>
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=$ac_mid; break
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+/* Unique (nonzero) code for the IEEE 754 Single Precision
+   floating point format.  */
+# define PPL_FLOAT_IEEE754_SINGLE 1
 
-	ac_lo=`expr $ac_mid + 1`
-			if test $ac_lo -le $ac_mid; then
-			  ac_lo= ac_hi=
-			  break
-			fi
-			ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
+/* Unique (nonzero) code for the IEEE 754 Double Precision
+   floating point format.  */
+# define PPL_FLOAT_IEEE754_DOUBLE 2
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+/* Unique (nonzero) code for the IEEE 754 Quad Precision
+   floating point format.  */
+# define PPL_FLOAT_IEEE754_QUAD 3
 
-	cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (float))) < 0)];
-test_array [0] = 0
+/* Unique (nonzero) code for the Intel Double-Extended
+   floating point format.  */
+# define PPL_FLOAT_INTEL_DOUBLE_EXTENDED 4
 
-  ;
-  return 0;
+bool
+check(double value, const char* text) {
+  std::ostringstream ss;
+  ss.precision(10000);
+  ss << value;
+  return ss.str() == text;
 }
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=-1 ac_mid=-1
-  while :; do
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (float))) >= $ac_mid)];
-test_array [0] = 0
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_lo=$ac_mid; break
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+#if SIZEOF_DOUBLE == 8
 
-	ac_hi=`expr '(' $ac_mid ')' - 1`
-			if test $ac_mid -le $ac_hi; then
-			  ac_lo= ac_hi=
-			  break
-			fi
-			ac_mid=`expr 2 '*' $ac_mid`
-fi
+double
+convert(uint32_t msp, uint32_t lsp) {
+  union {
+    double value;
+    struct {
+#ifdef WORDS_BIGENDIAN
+      uint32_t msp;
+      uint32_t lsp;
+#else
+      uint32_t lsp;
+      uint32_t msp;
+#endif
+    } parts;
+  } u;
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  u.parts.msp = msp;
+  u.parts.lsp = lsp;
+  return u.value;
+}
 
-	ac_lo= ac_hi=
-fi
+#if PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
+int
+main() {
+  if (check(convert(0xaaacccaaUL, 0xacccaaacUL),
+            "-4.018242396032647085467373664662028399901175154542925376476863248797653889888945947404163925979898721593782464256360719269163883854613473748830842329884157359816532025640075051481726120707111709993717456369512975427023957197464411926714771905463723621065863511603311053477227687835693359375e-103")
+      && check(convert(0xcccaaaccUL, 0xcaaacccaUL),
+               "-85705035845709846787631445265530356117787053916987832397725696")
+      && check(convert(0x00000000UL, 0x00000001UL),
+               "4.940656458412465441765687928682213723650598026143247644255856825006755072702087518652998363616359923797965646954457177309266567103559397963987747960107818781263007131903114045278458171678489821036887186360569987307230500063874091535649843873124733972731696151400317153853980741262385655911710266585566867681870395603106249319452715914924553293054565444011274801297099995419319894090804165633245247571478690147267801593552386115501348035264934720193790268107107491703332226844 [...]
+      && check(convert(0x80000000UL, 0x00000001UL),
+               "-4.94065645841246544176568792868221372365059802614324764425585682500675507270208751865299836361635992379796564695445717730926656710355939796398774796010781878126300713190311404527845817167848982103688718636056998730723050006387409153564984387312473397273169615140031715385398074126238565591171026658556686768187039560310624931945271591492455329305456544401127480129709999541931989409080416563324524757147869014726780159355238611550134803526493472019379026810710749170333222684 [...]
+    return 0;
+  else
+    return 1;
+}
+
+#else // PPL_CXX_DOUBLE_BINARY_FORMAT != PPL_FLOAT_IEEE754_DOUBLE
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
-  ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
 int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (float))) <= $ac_mid)];
-test_array [0] = 0
+main() {
+  return 1;
+}
 
-  ;
-  return 0;
+#endif // PPL_CXX_DOUBLE_BINARY_FORMAT != PPL_FLOAT_IEEE754_DOUBLE
+
+#else // SIZEOF_DOUBLE != 8
+
+int
+main() {
+  return 1;
 }
+
+#endif // SIZEOF_DOUBLE != 8
+
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=$ac_mid
+if ac_fn_cxx_try_run "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  ac_cxx_double_exact_output=1
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_lo=`expr '(' $ac_mid ')' + 1`
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  ac_cxx_double_exact_output=0
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_float=$ac_lo;;
-'') if test "$ac_cv_type_float" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (float)
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute sizeof (float)
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
-   else
-     ac_cv_sizeof_float=0
-   fi ;;
-esac
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-static long int longval () { return (long int) (sizeof (float)); }
-static unsigned long int ulongval () { return (long int) (sizeof (float)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
 
-  FILE *f = fopen ("conftest.val", "w");
-  if (! f)
-    return 1;
-  if (((long int) (sizeof (float))) < 0)
-    {
-      long int i = longval ();
-      if (i != ((long int) (sizeof (float))))
-	return 1;
-      fprintf (f, "%ld", i);
-    }
-  else
-    {
-      unsigned long int i = ulongval ();
-      if (i != ((long int) (sizeof (float))))
-	return 1;
-      fprintf (f, "%lu", i);
-    }
-  /* Do not output a trailing newline, as this causes \r\n confusion
-     on some platforms.  */
-  return ferror (f) || fclose (f) != 0;
 
-  ;
-  return 0;
-}
+cat >>confdefs.h <<_ACEOF
+#define PPL_CXX_DOUBLE_EXACT_OUTPUT $ac_cxx_double_exact_output
 _ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_sizeof_float=`cat conftest.val`
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-( exit $ac_status )
-if test "$ac_cv_type_float" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (float)
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute sizeof (float)
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
-   else
-     ac_cv_sizeof_float=0
-   fi
-fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+CPPFLAGS="$ac_save_CPPFLAGS"
+LIBS="$ac_save_LIBS"
+
+
+if test x"$ac_cxx_double_binary_format" = x"unknown" || test $ac_cxx_double_exact_output = 0 || test $ac_cv_can_control_fpu = 0
+then
+  ac_supported_double=0
+else
+  ac_supported_double=1
 fi
-rm -f conftest.val
+ if test $ac_supported_double = 1; then
+  SUPPORTED_DOUBLE_TRUE=
+  SUPPORTED_DOUBLE_FALSE='#'
+else
+  SUPPORTED_DOUBLE_TRUE='#'
+  SUPPORTED_DOUBLE_FALSE=
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_float" >&5
-$as_echo "$ac_cv_sizeof_float" >&6; }
-
 
 
 cat >>confdefs.h <<_ACEOF
-#define SIZEOF_FLOAT $ac_cv_sizeof_float
+#define PPL_SUPPORTED_DOUBLE $ac_supported_double
 _ACEOF
 
 
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:$LINENO: checking size of double" >&5
-$as_echo_n "checking size of double... " >&6; }
-if test "${ac_cv_sizeof_double+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then
-  # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (double))) >= 0)];
-test_array [0] = 0
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_lo=0 ac_mid=0
-  while :; do
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (double))) <= $ac_mid)];
-test_array [0] = 0
+CPPFLAGS="$ac_save_CPPFLAGS"
+LIBS="$ac_save_LIBS"
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=$ac_mid; break
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_lo=`expr $ac_mid + 1`
-			if test $ac_lo -le $ac_mid; then
-			  ac_lo= ac_hi=
-			  break
-			fi
-			ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
+# Detect the binary format used by C++ long doubles.
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ac_save_CPPFLAGS="$CPPFLAGS"
+ac_save_LIBS="$LIBS"
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the binary format of C++ long doubles" >&5
+$as_echo_n "checking the binary format of C++ long doubles... " >&6; }
+
+if test "$cross_compiling" = yes; then :
+  ac_cxx_long_double_binary_format=unknown
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (double))) < 0)];
-test_array [0] = 0
 
-  ;
-  return 0;
+#include <limits>
+#ifdef HAVE_STDINT_H
+#ifndef __STDC_LIMIT_MACROS
+#define __STDC_LIMIT_MACROS 1
+#endif
+#include <stdint.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+#include <inttypes.h>
+#endif
+
+#if SIZEOF_LONG_DOUBLE == 12
+
+long double
+convert(uint32_t msp, uint64_t lsp) {
+  union {
+    long double value;
+    struct {
+#ifdef WORDS_BIGENDIAN
+      uint32_t msp;
+      uint64_t lsp;
+#else
+      uint64_t lsp;
+      uint32_t msp;
+#endif
+    } parts;
+  } u;
+
+  u.parts.msp = msp;
+  u.parts.lsp = lsp;
+  return u.value;
 }
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=-1 ac_mid=-1
-  while :; do
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
+
 int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (double))) >= $ac_mid)];
-test_array [0] = 0
+main() {
+  if (std::numeric_limits<long double>::is_iec559
+      && (convert(0xaaacccaaUL, 0xacccaaacccaaacccULL)
+          == -2347515119623533044836098728848844802360499059743792266553789449931714103027083147350004052130909778252174381128110073162061230391014115892328306480775581568464385654456454167018199800371311459509865035007576337091690846028483890278748770302000164922066968427857731908531920447109369397262198780877931467490364866823668872333299978555289484532591724489792080483029098529153534398647750864910040989348665150713407129673962368698401443396580325986886785546510945722073165626067034 [...]
+          && convert(0xcccaaaccUL, 0xcaaacccaaacccaaaULL)
+          == -3.23434990843367356978836243375823670140137920038631047807023049120171609457620808873309220935271108176353097313943940275472100621788903190230956690534410676669705059335585140518969412596610080153759381132049385057915293867970546587078868452351854180615879140837871859693613285468342558175420524259461419246587664010262843224689767458364974546764113923420713958481010186877291531245407558226524068718427924386121735166705992087823616450647326179770339398151079922803077815239965 [...]
+          && convert(0x00000000UL, 0x0000000000000001ULL)
+          == 3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578587 [...]
+          && convert(0x80000000UL, 0x0000000000000001ULL)
+          == 3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578587 [...]
+    return 0;
+  else
+    return 1;
+}
 
-  ;
-  return 0;
+#else // SIZEOF_LONG_DOUBLE != 12
+
+int
+main() {
+  return 1;
 }
+
+#endif // SIZEOF_LONG_DOUBLE != 12
+
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_lo=$ac_mid; break
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_cxx_try_run "$LINENO"; then :
 
-	ac_hi=`expr '(' $ac_mid ')' - 1`
-			if test $ac_mid -le $ac_hi; then
-			  ac_lo= ac_hi=
-			  break
-			fi
-			ac_mid=`expr 2 '*' $ac_mid`
-fi
+$as_echo "#define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_INTEL_DOUBLE_EXTENDED" >>confdefs.h
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
+  ac_cxx_long_double_binary_format="Intel Double-Extended"
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_lo= ac_hi=
+  ac_cxx_long_double_binary_format=unknown
 fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
-  ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+
+if test x"$ac_cxx_long_double_binary_format" = x"unknown"
+then
+if test "$cross_compiling" = yes; then :
+  ac_cxx_long_double_binary_format=unknown
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (double))) <= $ac_mid)];
-test_array [0] = 0
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=$ac_mid
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+#include <limits>
+#ifdef HAVE_STDINT_H
+#ifndef __STDC_LIMIT_MACROS
+#define __STDC_LIMIT_MACROS 1
+#endif
+#include <stdint.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+#include <inttypes.h>
+#endif
 
-	ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
+#if SIZEOF_LONG_DOUBLE == 16
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_double=$ac_lo;;
-'') if test "$ac_cv_type_double" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (double)
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute sizeof (double)
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
-   else
-     ac_cv_sizeof_double=0
-   fi ;;
-esac
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-static long int longval () { return (long int) (sizeof (double)); }
-static unsigned long int ulongval () { return (long int) (sizeof (double)); }
-#include <stdio.h>
-#include <stdlib.h>
+#if defined(__sparc__) && defined(__arch64__) \
+    && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4))
+
+// Work around http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37661
 int
-main ()
-{
+main() {
+  return 1;
+}
 
-  FILE *f = fopen ("conftest.val", "w");
-  if (! f)
-    return 1;
-  if (((long int) (sizeof (double))) < 0)
-    {
-      long int i = longval ();
-      if (i != ((long int) (sizeof (double))))
-	return 1;
-      fprintf (f, "%ld", i);
-    }
+#else // !defined(__sparc__) || !defined(__arch64__) ...
+
+long double
+convert(uint64_t msp, uint64_t lsp) {
+  union {
+    long double value;
+    struct {
+#ifdef WORDS_BIGENDIAN
+      uint64_t msp;
+      uint64_t lsp;
+#else
+      uint64_t lsp;
+      uint64_t msp;
+#endif
+    } parts;
+  } u;
+
+  u.parts.msp = msp;
+  u.parts.lsp = lsp;
+  return u.value;
+}
+
+int
+main() {
+  if (std::numeric_limits<long double>::is_iec559
+      && (convert(0xaaacccaaacccaaacULL, 0xccaaacccaaacccaaULL)
+          == -8.55855653885100434741341853993902633367349104766375354667159377718342093894815477326286823233135691805519944470138219932524951165689852082013017904043605683486724317550972746307400400204571080045247416605879743573136814766221652651396476675668866980798618379071105211750397249729982891787041148520384572930274879267722158826932337019191713973025403784448443813348692062209940856126724493492803365972504505177354875652033856070760087261648660638833868952644144747756799606849182 [...]
+          && convert(0xcccaaacccaaacccaULL, 0xaacccaaacccaaaccULL)
+          == -1245145811075115522107964569349668036873048429802955738289544979224937529833971888147113044115600185809657440463151337899852742080173681519641002844007842161066491872877272689899483098933357761372012363074222544903849943421327866952518563408226075393323377411859119799862094642227761121175434773105923957353216410161917656139242348962530519313341883531064222310528951125334264629650711950000833461188453888512224682758538996197678583645934917458956166559210225915729833706160100 [...]
+          && convert(0x0000000000000000ULL, 0x0000000000000001ULL)
+          == 6.475175119438025110924438958227646552499569338034681009689884389197039540124119371017671491276649940255878141476848119676587219886382542046685110071972617983042792710751334934416734625638471740239448526505553990391455556252171148068070822034688256982476272828789103028357337561348031062386564592639826226991907907867663262065711211583064657196068308332845234453069760526489447660964579313751403402631804350039948870075255648713368066117879403155766713303467434937062409411685215 [...]
+          && convert(0x8000000000000000ULL, 0x0000000000000001ULL)
+          == -6.47517511943802511092443895822764655249956933803468100968988438919703954012411937101767149127664994025587814147684811967658721988638254204668511007197261798304279271075133493441673462563847174023944852650555399039145555625217114806807082203468825698247627282878910302835733756134803106238656459263982622699190790786766326206571121158306465719606830833284523445306976052648944766096457931375140340263180435003994887007525564871336806611787940315576671330346743493706240941168521 [...]
+    return 0;
   else
-    {
-      unsigned long int i = ulongval ();
-      if (i != ((long int) (sizeof (double))))
-	return 1;
-      fprintf (f, "%lu", i);
-    }
-  /* Do not output a trailing newline, as this causes \r\n confusion
-     on some platforms.  */
-  return ferror (f) || fclose (f) != 0;
+    return 1;
+}
 
-  ;
-  return 0;
+#endif // !defined(__sparc__) || !defined(__arch64__) ...
+
+#else // SIZEOF_LONG_DOUBLE != 16
+
+int
+main() {
+  return 1;
 }
+
+#endif // SIZEOF_LONG_DOUBLE != 16
+
 _ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_sizeof_double=`cat conftest.val`
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_cxx_try_run "$LINENO"; then :
 
-( exit $ac_status )
-if test "$ac_cv_type_double" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (double)
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute sizeof (double)
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
-   else
-     ac_cv_sizeof_double=0
-   fi
-fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+$as_echo "#define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_QUAD" >>confdefs.h
+
+  ac_cxx_long_double_binary_format="IEEE754 Quad Precision"
+else
+  ac_cxx_long_double_binary_format=unknown
 fi
-rm -f conftest.val
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_double" >&5
-$as_echo "$ac_cv_sizeof_double" >&6; }
 
+fi
 
+if test x"$ac_cxx_long_double_binary_format" = x"unknown"
+then
+if test "$cross_compiling" = yes; then :
+  ac_cxx_long_double_binary_format=unknown
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_DOUBLE $ac_cv_sizeof_double
-_ACEOF
+#include <limits>
+#ifdef HAVE_STDINT_H
+#ifndef __STDC_LIMIT_MACROS
+#define __STDC_LIMIT_MACROS 1
+#endif
+#include <stdint.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+#include <inttypes.h>
+#endif
 
+#if SIZEOF_LONG_DOUBLE == 16
 
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:$LINENO: checking size of long double" >&5
-$as_echo_n "checking size of long double... " >&6; }
-if test "${ac_cv_sizeof_long_double+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then
-  # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (long double))) >= 0)];
-test_array [0] = 0
+long double
+convert(uint64_t msp, uint64_t lsp) {
+  union {
+    long double value;
+    struct {
+#ifdef WORDS_BIGENDIAN
+      uint64_t msp;
+      uint64_t lsp;
+#else
+      uint64_t lsp;
+      uint64_t msp;
+#endif
+    } parts;
+  } u;
 
-  ;
-  return 0;
+  u.parts.msp = msp;
+  u.parts.lsp = lsp;
+  return u.value;
 }
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_lo=0 ac_mid=0
-  while :; do
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
+
 int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (long double))) <= $ac_mid)];
-test_array [0] = 0
+main() {
+  if (std::numeric_limits<long double>::is_iec559
+      && (convert(0xaaacccaaacccaaacULL, 0xccaaacccaaacccaaULL)
+          == -7.60485409436602033833759988758780020217551374528569429669911873757906182254327119546821375294569706862634123096006179131975601459939317923749460760611755945509159249553133915285667773529968161411385504730903997838176525168965533046787887965329768475303861077507591270048979509969375307518720976751563959372182344600137482199546034650881151618280482157637543315750344472366897650456745841889271161287700829333629145672371870175300825285400580026318002741921464859617583666254762 [...]
+          && convert(0xcccaaacccaaacccaULL, 0xaacccaaacccaaaccULL)
+          == -9965833187718142564038919371244528880400911264240719763322990704886435019238181462823338415353952436874830526964270445045957245891305882920209440893355853355213758922643053767150375473715384555384564609917951254069603870739549122332594610600777084466038134002807982723703367090044608379335368276188508415489863689777967712401011928894574027307241589899644172257148781505238731702567519166576191811900643182875678049360454665894916648664135478300253607136628778029068062099599179 [...]
+          && convert(0x0000000000000000ULL, 0x0000000000000001ULL)
+          == 3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578587 [...]
+          && convert(0x8000000000000000ULL, 0x0000000000000001ULL)
+          == 3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578587 [...]
+    return 0;
+  else
+    return 1;
+}
 
-  ;
-  return 0;
+#else // SIZEOF_LONG_DOUBLE != 16
+
+int
+main() {
+  return 1;
 }
+
+#endif // SIZEOF_LONG_DOUBLE != 16
+
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=$ac_mid; break
+if ac_fn_cxx_try_run "$LINENO"; then :
+
+$as_echo "#define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_INTEL_DOUBLE_EXTENDED" >>confdefs.h
+
+  ac_cxx_long_double_binary_format="Intel Double-Extended"
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  ac_cxx_long_double_binary_format=unknown
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
 
-	ac_lo=`expr $ac_mid + 1`
-			if test $ac_lo -le $ac_mid; then
-			  ac_lo= ac_hi=
-			  break
-			fi
-			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
+if test x"$ac_cxx_long_double_binary_format" = x"unknown"
+then
+if test "$cross_compiling" = yes; then :
+  ac_cxx_long_double_binary_format=unknown
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (long double))) < 0)];
-test_array [0] = 0
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=-1 ac_mid=-1
-  while :; do
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (long double))) >= $ac_mid)];
-test_array [0] = 0
+#include <limits>
+#ifdef HAVE_STDINT_H
+#ifndef __STDC_LIMIT_MACROS
+#define __STDC_LIMIT_MACROS 1
+#endif
+#include <stdint.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+#include <inttypes.h>
+#endif
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_lo=$ac_mid; break
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+#if SIZEOF_LONG_DOUBLE == 8
 
-	ac_hi=`expr '(' $ac_mid ')' - 1`
-			if test $ac_mid -le $ac_hi; then
-			  ac_lo= ac_hi=
-			  break
-			fi
-			ac_mid=`expr 2 '*' $ac_mid`
-fi
+double
+convert(uint32_t msp, uint32_t lsp) {
+  union {
+    long double value;
+    struct {
+#ifdef WORDS_BIGENDIAN
+      uint32_t msp;
+      uint32_t lsp;
+#else
+      uint32_t lsp;
+      uint32_t msp;
+#endif
+    } parts;
+  } u;
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  u.parts.msp = msp;
+  u.parts.lsp = lsp;
+  return u.value;
+}
 
-	ac_lo= ac_hi=
-fi
+int
+main() {
+  if (std::numeric_limits<long double>::is_iec559
+      && (convert(0xaaacccaaUL, 0xacccaaacUL)
+          == -4.018242396032647085467373664662028399901175154542925376476863248797653889888945947404163925979898721593782464256360719269163883854613473748830842329884157359816532025640075051481726120707111709993717456369512975427023957197464411926714771905463723621065863511603311053477227687835693359375e-103L
+          && convert(0xcccaaaccUL, 0xcaaacccaUL)
+	  == -85705035845709846787631445265530356117787053916987832397725696.0L
+          && convert(0x00000000UL, 0x00000001UL)
+          == 4.940656458412465441765687928682213723650598026143247644255856825006755072702087518652998363616359923797965646954457177309266567103559397963987747960107818781263007131903114045278458171678489821036887186360569987307230500063874091535649843873124733972731696151400317153853980741262385655911710266585566867681870395603106249319452715914924553293054565444011274801297099995419319894090804165633245247571478690147267801593552386115501348035264934720193790268107107491703332226844753 [...]
+          && convert(0x80000000UL, 0x00000001UL)
+          == -4.94065645841246544176568792868221372365059802614324764425585682500675507270208751865299836361635992379796564695445717730926656710355939796398774796010781878126300713190311404527845817167848982103688718636056998730723050006387409153564984387312473397273169615140031715385398074126238565591171026658556686768187039560310624931945271591492455329305456544401127480129709999541931989409080416563324524757147869014726780159355238611550134803526493472019379026810710749170333222684475 [...]
+    return 0;
+  else
+    return 1;
+}
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
+#else // SIZEOF_LONG_DOUBLE != 8
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
-  ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
 int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (long double))) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
+main() {
+  return 1;
 }
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=$ac_mid
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
+#endif // SIZEOF_LONG_DOUBLE != 8
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_long_double=$ac_lo;;
-'') if test "$ac_cv_type_long_double" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long double)
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute sizeof (long double)
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
-   else
-     ac_cv_sizeof_long_double=0
-   fi ;;
-esac
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
 _ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-static long int longval () { return (long int) (sizeof (long double)); }
-static unsigned long int ulongval () { return (long int) (sizeof (long double)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
+if ac_fn_cxx_try_run "$LINENO"; then :
 
-  FILE *f = fopen ("conftest.val", "w");
-  if (! f)
-    return 1;
-  if (((long int) (sizeof (long double))) < 0)
-    {
-      long int i = longval ();
-      if (i != ((long int) (sizeof (long double))))
-	return 1;
-      fprintf (f, "%ld", i);
-    }
-  else
-    {
-      unsigned long int i = ulongval ();
-      if (i != ((long int) (sizeof (long double))))
-	return 1;
-      fprintf (f, "%lu", i);
-    }
-  /* Do not output a trailing newline, as this causes \r\n confusion
-     on some platforms.  */
-  return ferror (f) || fclose (f) != 0;
+$as_echo "#define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE" >>confdefs.h
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_sizeof_long_double=`cat conftest.val`
+  ac_cxx_long_double_binary_format="IEEE754 Double Precision"
 else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-if test "$ac_cv_type_long_double" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long double)
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute sizeof (long double)
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
-   else
-     ac_cv_sizeof_long_double=0
-   fi
+  ac_cxx_long_double_binary_format=unknown
 fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-rm -f conftest.val
+
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_long_double" >&5
-$as_echo "$ac_cv_sizeof_long_double" >&6; }
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cxx_long_double_binary_format" >&5
+$as_echo "$ac_cxx_long_double_binary_format" >&6; }
 
 
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double
-_ACEOF
 
+ac_save_CPPFLAGS="$CPPFLAGS"
+ac_save_LIBS="$LIBS"
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
-# The following are required to validate an horrible kludge working
-# around an horrible bug in <gprolog.h> (see
-# http://www.cs.unipr.it/pipermail/ppl-devel/2008-August/012277.html).
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:$LINENO: checking size of int*" >&5
-$as_echo_n "checking size of int*... " >&6; }
-if test "${ac_cv_sizeof_intp+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then
-  # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (int*))) >= 0)];
-test_array [0] = 0
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_lo=0 ac_mid=0
-  while :; do
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (int*))) <= $ac_mid)];
-test_array [0] = 0
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ provides exact output for long doubles" >&5
+$as_echo_n "checking whether C++ provides exact output for long doubles... " >&6; }
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=$ac_mid; break
+if test "$cross_compiling" = yes; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: assuming not" >&5
+$as_echo "assuming not" >&6; }
+  ac_cxx_long_double_exact_output=0
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-	ac_lo=`expr $ac_mid + 1`
-			if test $ac_lo -le $ac_mid; then
-			  ac_lo= ac_hi=
-			  break
-			fi
-			ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
+#include <limits>
+#ifdef HAVE_STDINT_H
+#ifndef __STDC_LIMIT_MACROS
+#define __STDC_LIMIT_MACROS 1
+#endif
+#include <stdint.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+#include <inttypes.h>
+#endif
+#include <sstream>
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+/* Unique (nonzero) code for the IEEE 754 Single Precision
+   floating point format.  */
+# define PPL_FLOAT_IEEE754_SINGLE 1
 
-	cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (int*))) < 0)];
-test_array [0] = 0
+/* Unique (nonzero) code for the IEEE 754 Double Precision
+   floating point format.  */
+# define PPL_FLOAT_IEEE754_DOUBLE 2
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=-1 ac_mid=-1
-  while :; do
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (int*))) >= $ac_mid)];
-test_array [0] = 0
+/* Unique (nonzero) code for the IEEE 754 Quad Precision
+   floating point format.  */
+# define PPL_FLOAT_IEEE754_QUAD 3
 
-  ;
-  return 0;
+/* Unique (nonzero) code for the Intel Double-Extended
+   floating point format.  */
+# define PPL_FLOAT_INTEL_DOUBLE_EXTENDED 4
+
+bool
+check(long double value, const char* text) {
+  std::ostringstream ss;
+  ss.precision(10000);
+  ss << value;
+  return ss.str() == text;
 }
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_lo=$ac_mid; break
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_hi=`expr '(' $ac_mid ')' - 1`
-			if test $ac_mid -le $ac_hi; then
-			  ac_lo= ac_hi=
-			  break
-			fi
-			ac_mid=`expr 2 '*' $ac_mid`
-fi
+#if SIZEOF_LONG_DOUBLE == 12
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+long double
+convert(uint32_t msp, uint64_t lsp) {
+  union {
+    long double value;
+    struct {
+#ifdef WORDS_BIGENDIAN
+      uint32_t msp;
+      uint64_t lsp;
+#else
+      uint64_t lsp;
+      uint32_t msp;
+#endif
+    } parts;
+  } u;
 
-	ac_lo= ac_hi=
-fi
+  u.parts.msp = msp;
+  u.parts.lsp = lsp;
+  return u.value;
+}
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
+#if PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
-  ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
 int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (int*))) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
+main() {
+  if (check(convert(0xaaacccaaUL, 0xacccaaacccaaacccULL),
+            "-2347515119623533044836098728848844802360499059743792266553789449931714103027083147350004052130909778252174381128110073162061230391014115892328306480775581568464385654456454167018199800371311459509865035007576337091690846028483890278748770302000164922066968427857731908531920447109369397262198780877931467490364866823668872333299978555289484532591724489792080483029098529153534398647750864910040989348665150713407129673962368698401443396580325986886785546510945722073165626067034 [...]
+      && check(convert(0xcccaaaccUL, 0xcaaacccaaacccaaaULL),
+               "-3.23434990843367356978836243375823670140137920038631047807023049120171609457620808873309220935271108176353097313943940275472100621788903190230956690534410676669705059335585140518969412596610080153759381132049385057915293867970546587078868452351854180615879140837871859693613285468342558175420524259461419246587664010262843224689767458364974546764113923420713958481010186877291531245407558226524068718427924386121735166705992087823616450647326179770339398151079922803077815239 [...]
+      && check(convert(0x00000000UL, 0x0000000000000001ULL),
+               "3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578 [...]
+      && check(convert(0x80000000UL, 0x0000000000000001ULL),
+               "3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578 [...]
+    return 0;
+  else
+    return 1;
 }
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=$ac_mid
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
+#else // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_intp=$ac_lo;;
-'') if test "$ac_cv_type_intp" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (int*)
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute sizeof (int*)
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
-   else
-     ac_cv_sizeof_intp=0
-   fi ;;
-esac
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-static long int longval () { return (long int) (sizeof (int*)); }
-static unsigned long int ulongval () { return (long int) (sizeof (int*)); }
-#include <stdio.h>
-#include <stdlib.h>
 int
-main ()
-{
-
-  FILE *f = fopen ("conftest.val", "w");
-  if (! f)
-    return 1;
-  if (((long int) (sizeof (int*))) < 0)
-    {
-      long int i = longval ();
-      if (i != ((long int) (sizeof (int*))))
-	return 1;
-      fprintf (f, "%ld", i);
-    }
-  else
-    {
-      unsigned long int i = ulongval ();
-      if (i != ((long int) (sizeof (int*))))
-	return 1;
-      fprintf (f, "%lu", i);
-    }
-  /* Do not output a trailing newline, as this causes \r\n confusion
-     on some platforms.  */
-  return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
+main() {
+  return 1;
 }
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_sizeof_intp=`cat conftest.val`
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-if test "$ac_cv_type_intp" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (int*)
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute sizeof (int*)
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
-   else
-     ac_cv_sizeof_intp=0
-   fi
-fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.val
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_intp" >&5
-$as_echo "$ac_cv_sizeof_intp" >&6; }
 
+#endif // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
 
+#elif SIZEOF_LONG_DOUBLE == 16
 
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_INTP $ac_cv_sizeof_intp
-_ACEOF
+long double
+convert(uint64_t msp, uint64_t lsp) {
+  union {
+    long double value;
+    struct {
+#ifdef WORDS_BIGENDIAN
+      uint64_t msp;
+      uint64_t lsp;
+#else
+      uint64_t lsp;
+      uint64_t msp;
+#endif
+    } parts;
+  } u;
 
+  u.parts.msp = msp;
+  u.parts.lsp = lsp;
+  return u.value;
+}
 
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:$LINENO: checking size of fp" >&5
-$as_echo_n "checking size of fp... " >&6; }
-if test "${ac_cv_sizeof_fp+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then
-  # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-typedef int *(*fp)();
+#if PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_QUAD
 
 int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (fp))) >= 0)];
-test_array [0] = 0
-
-  ;
-  return 0;
+main() {
+  if (check(convert(0xaaacccaaacccaaacULL, 0xccaaacccaaacccaaULL),
+            "-8.55855653885100434741341853993902633367349104766375354667159377718342093894815477326286823233135691805519944470138219932524951165689852082013017904043605683486724317550972746307400400204571080045247416605879743573136814766221652651396476675668866980798618379071105211750397249729982891787041148520384572930274879267722158826932337019191713973025403784448443813348692062209940856126724493492803365972504505177354875652033856070760087261648660638833868952644144747756799606849182 [...]
+      && check(convert(0xcccaaacccaaacccaULL, 0xaacccaaacccaaaccULL),
+               "-1245145811075115522107964569349668036873048429802955738289544979224937529833971888147113044115600185809657440463151337899852742080173681519641002844007842161066491872877272689899483098933357761372012363074222544903849943421327866952518563408226075393323377411859119799862094642227761121175434773105923957353216410161917656139242348962530519313341883531064222310528951125334264629650711950000833461188453888512224682758538996197678583645934917458956166559210225915729833706160 [...]
+      && check(convert(0x0000000000000000ULL, 0x0000000000000001ULL),
+               "6.475175119438025110924438958227646552499569338034681009689884389197039540124119371017671491276649940255878141476848119676587219886382542046685110071972617983042792710751334934416734625638471740239448526505553990391455556252171148068070822034688256982476272828789103028357337561348031062386564592639826226991907907867663262065711211583064657196068308332845234453069760526489447660964579313751403402631804350039948870075255648713368066117879403155766713303467434937062409411685 [...]
+      && check(convert(0x8000000000000000ULL, 0x0000000000000001ULL),
+               "-6.47517511943802511092443895822764655249956933803468100968988438919703954012411937101767149127664994025587814147684811967658721988638254204668511007197261798304279271075133493441673462563847174023944852650555399039145555625217114806807082203468825698247627282878910302835733756134803106238656459263982622699190790786766326206571121158306465719606830833284523445306976052648944766096457931375140340263180435003994887007525564871336806611787940315576671330346743493706240941168 [...]
+    return 0;
+  else
+    return 1;
 }
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_lo=0 ac_mid=0
-  while :; do
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-typedef int *(*fp)();
+
+#elif PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED
 
 int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (fp))) <= $ac_mid)];
-test_array [0] = 0
+main() {
+  if (check(convert(0xaaacccaaacccaaacULL, 0xccaaacccaaacccaaULL),
+            "-7.60485409436602033833759988758780020217551374528569429669911873757906182254327119546821375294569706862634123096006179131975601459939317923749460760611755945509159249553133915285667773529968161411385504730903997838176525168965533046787887965329768475303861077507591270048979509969375307518720976751563959372182344600137482199546034650881151618280482157637543315750344472366897650456745841889271161287700829333629145672371870175300825285400580026318002741921464859617583666254762 [...]
+      && check(convert(0xcccaaacccaaacccaULL, 0xaacccaaacccaaaccULL),
+               "-9965833187718142564038919371244528880400911264240719763322990704886435019238181462823338415353952436874830526964270445045957245891305882920209440893355853355213758922643053767150375473715384555384564609917951254069603870739549122332594610600777084466038134002807982723703367090044608379335368276188508415489863689777967712401011928894574027307241589899644172257148781505238731702567519166576191811900643182875678049360454665894916648664135478300253607136628778029068062099599 [...]
+      && check(convert(0x0000000000000000ULL, 0x0000000000000001ULL),
+               "3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578 [...]
+      && check(convert(0x8000000000000000ULL, 0x0000000000000001ULL),
+               "3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578 [...]
+    return 0;
+  else
+    return 1;
+}
 
-  ;
-  return 0;
+#else // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
+
+int
+main() {
+  return 1;
 }
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=$ac_mid; break
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_lo=`expr $ac_mid + 1`
-			if test $ac_lo -le $ac_mid; then
-			  ac_lo= ac_hi=
-			  break
-			fi
-			ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
+#endif // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+#elif SIZEOF_LONG_DOUBLE == 8
 
-	cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-typedef int *(*fp)();
+double
+convert(uint32_t msp, uint32_t lsp) {
+  union {
+    long double value;
+    struct {
+#ifdef WORDS_BIGENDIAN
+      uint32_t msp;
+      uint32_t lsp;
+#else
+      uint32_t lsp;
+      uint32_t msp;
+#endif
+    } parts;
+  } u;
 
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (fp))) < 0)];
-test_array [0] = 0
+  u.parts.msp = msp;
+  u.parts.lsp = lsp;
+  return u.value;
+}
 
-  ;
-  return 0;
+#if PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE
+
+int
+main() {
+  if (check(convert(0xaaacccaaUL, 0xacccaaacUL),
+            "-4.018242396032647085467373664662028399901175154542925376476863248797653889888945947404163925979898721593782464256360719269163883854613473748830842329884157359816532025640075051481726120707111709993717456369512975427023957197464411926714771905463723621065863511603311053477227687835693359375e-103")
+      && check(convert(0xcccaaaccUL, 0xcaaacccaUL),
+               "-85705035845709846787631445265530356117787053916987832397725696")
+      && check(convert(0x00000000UL, 0x00000001UL),
+               "4.940656458412465441765687928682213723650598026143247644255856825006755072702087518652998363616359923797965646954457177309266567103559397963987747960107818781263007131903114045278458171678489821036887186360569987307230500063874091535649843873124733972731696151400317153853980741262385655911710266585566867681870395603106249319452715914924553293054565444011274801297099995419319894090804165633245247571478690147267801593552386115501348035264934720193790268107107491703332226844 [...]
+      && check(convert(0x80000000UL, 0x00000001UL),
+               "-4.94065645841246544176568792868221372365059802614324764425585682500675507270208751865299836361635992379796564695445717730926656710355939796398774796010781878126300713190311404527845817167848982103688718636056998730723050006387409153564984387312473397273169615140031715385398074126238565591171026658556686768187039560310624931945271591492455329305456544401127480129709999541931989409080416563324524757147869014726780159355238611550134803526493472019379026810710749170333222684 [...]
+    return 0;
+  else
+    return 1;
 }
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=-1 ac_mid=-1
-  while :; do
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-typedef int *(*fp)();
+
+#else // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_IEEE754_DOUBLE
 
 int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (fp))) >= $ac_mid)];
-test_array [0] = 0
+main() {
+  return 1;
+}
 
-  ;
-  return 0;
+#endif // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_IEEE754_DOUBLE
+
+#else // SIZEOF_LONG_DOUBLE != 8
+
+int
+main() {
+  return 1;
 }
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_lo=$ac_mid; break
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_hi=`expr '(' $ac_mid ')' - 1`
-			if test $ac_mid -le $ac_hi; then
-			  ac_lo= ac_hi=
-			  break
-			fi
-			ac_mid=`expr 2 '*' $ac_mid`
-fi
+#endif // SIZEOF_LONG_DOUBLE != 8
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
+_ACEOF
+if ac_fn_cxx_try_run "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  ac_cxx_long_double_exact_output=1
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_lo= ac_hi=
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  ac_cxx_long_double_exact_output=0
 fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
-  ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-typedef int *(*fp)();
 
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (fp))) <= $ac_mid)];
-test_array [0] = 0
 
-  ;
-  return 0;
-}
+cat >>confdefs.h <<_ACEOF
+#define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT $ac_cxx_long_double_exact_output
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=$ac_mid
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_fp=$ac_lo;;
-'') if test "$ac_cv_type_fp" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (fp)
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute sizeof (fp)
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
-   else
-     ac_cv_sizeof_fp=0
-   fi ;;
-esac
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+CPPFLAGS="$ac_save_CPPFLAGS"
+LIBS="$ac_save_LIBS"
+
+
+if test x"$ac_cxx_long_double_binary_format" = x"unknown" || test $ac_cxx_long_double_exact_output = 0 || test $ac_cv_can_control_fpu = 0
+then
+  ac_supported_long_double=0
+else
+  ac_supported_long_double=1
+fi
+ if test $ac_supported_long_double = 1; then
+  SUPPORTED_LONG_DOUBLE_TRUE=
+  SUPPORTED_LONG_DOUBLE_FALSE='#'
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
+  SUPPORTED_LONG_DOUBLE_TRUE='#'
+  SUPPORTED_LONG_DOUBLE_FALSE=
+fi
+
+
+cat >>confdefs.h <<_ACEOF
+#define PPL_SUPPORTED_LONG_DOUBLE $ac_supported_long_double
 _ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-typedef int *(*fp)();
 
-static long int longval () { return (long int) (sizeof (fp)); }
-static unsigned long int ulongval () { return (long int) (sizeof (fp)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
 
-  FILE *f = fopen ("conftest.val", "w");
-  if (! f)
-    return 1;
-  if (((long int) (sizeof (fp))) < 0)
-    {
-      long int i = longval ();
-      if (i != ((long int) (sizeof (fp))))
-	return 1;
-      fprintf (f, "%ld", i);
-    }
-  else
-    {
-      unsigned long int i = ulongval ();
-      if (i != ((long int) (sizeof (fp))))
-	return 1;
-      fprintf (f, "%lu", i);
-    }
-  /* Do not output a trailing newline, as this causes \r\n confusion
-     on some platforms.  */
-  return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_sizeof_fp=`cat conftest.val`
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-if test "$ac_cv_type_fp" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (fp)
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute sizeof (fp)
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
-   else
-     ac_cv_sizeof_fp=0
-   fi
-fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.val
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_fp" >&5
-$as_echo "$ac_cv_sizeof_fp" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_FP $ac_cv_sizeof_fp
-_ACEOF
-
-
-
-# Use C++ for the remaining checks.
 ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
+CPPFLAGS="$ac_save_CPPFLAGS"
+LIBS="$ac_save_LIBS"
 
-# Check for the possibility to control the FPU.
 
+# Check whether the C++ run-time systems provides exact output for
+# floats.
+#AC_CXX_FLOAT_EXACT_OUTPUT
+
+# Check whether the C++ run-time systems provides exact output for
+# doubles.
+#AC_CXX_DOUBLE_EXACT_OUTPUT
+
+# Check whether the C++ run-time systems provides exact output for
+# long doubles.
+#AC_CXX_LONG_DOUBLE_EXACT_OUTPUT
+
+# Check whether the C++ compiler supports flexible arrays.
 
+ac_save_CPPFLAGS="$CPPFLAGS"
 ac_save_LIBS="$LIBS"
-LIBS="$LIBS -lm"
 ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -11218,369 +9116,293 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ex
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 
-
-for ac_header in fenv.h ieeefp.h
-do
-as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
-fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
-		 $as_echo "$as_val"'`
-	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
-$as_echo_n "checking $ac_header usability... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
-$as_echo_n "checking $ac_header presence... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler supports flexible arrays" >&5
+$as_echo_n "checking whether the C++ compiler supports flexible arrays... " >&6; }
+if test "$cross_compiling" = yes; then :
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-  ac_header_preproc=no
-fi
+#include <new>
+#include <cstddef>
 
-rm -f conftest.err conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
+class A {
+private:
+  int i;
+  bool b;
 
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in
-  yes:no: )
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    ( cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to ppl-devel at cs.unipr.it ##
-## ------------------------------------ ##
-_ASBOX
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
-else
-  eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
-		 $as_echo "$as_val"'`
-	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+public:
+  A()
+    : i(0), b(false) {
+  }
+};
 
-fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-		 $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
+class B {
+private:
+  int capacity;
+  A vec;
 
-fi
+public:
+  void* operator new(size_t fixed_size, int c) {
+    return ::operator new(fixed_size + c*sizeof(B));
+  }
 
-done
+  void operator delete(void* p) {
+    ::operator delete(p);
+  }
 
-{ $as_echo "$as_me:$LINENO: checking if it is possible to control the FPU" >&5
-$as_echo_n "checking if it is possible to control the FPU... " >&6; }
-if test "$cross_compiling" = yes; then
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+  void operator delete(void* p, int) {
+    ::operator delete(p);
+  }
 
-#if i386 || (sparc && defined(HAVE_IEEEFP_H))
+  B(int s)
+    : capacity(s) {
+  }
+};
 
 int
 main() {
+  B* p = new (100) B(100);
+  delete p;
   return 0;
 }
 
-#else
-
-  choke me
-
-#endif
-
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-    ac_cv_can_control_fpu=1
+    ac_cxx_supports_flexible_arrays=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	{ $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-    ac_cv_can_control_fpu=0
-
+    ac_cxx_supports_flexible_arrays=no
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#if i386
-
-int
-main() {
-  return 0;
-}
-
-#elif defined(HAVE_FENV_H)
-
-# include <fenv.h>
+#include <new>
+#include <cstddef>
 
-# if !defined(FE_UPWARD) || !defined(FE_DOWNWARD)
+class A {
+private:
+  int i;
+  bool b;
 
-  choke me
+public:
+  A()
+    : i(0), b(false) {
+  }
+};
 
-# elif defined(__arm__) \
-  && (!defined(PPL_ARM_CAN_CONTROL_FPU) || !PPL_ARM_CAN_CONTROL_FPU)
+class B {
+private:
+  int capacity;
+  A vec[];
 
-  choke me
+public:
+  void* operator new(size_t fixed_size, int c) {
+    return ::operator new(fixed_size + c*sizeof(B));
+  }
 
-#else
+  void operator delete(void* p) {
+    ::operator delete(p);
+  }
 
-     float  nf1 =  -3, pf1 = 3,  f2 =  5;
-     double nd1 =  -7, pd1 = 7,  d2 = 11;
-long double nl1 = -13, pl1 = 13, l2 = 17;
+  void operator delete(void* p, int) {
+    ::operator delete(p);
+  }
 
-      float nf[2], pf[2];
-     double nd[2], pd[2];
-long double nl[2], pl[2];
+  B(int s)
+    : capacity(s) {
+  }
+};
 
 int
-check() {
-  int r = 0;
-  if (nf[0] == nf[1] || pf[0] == pf[1] || -nf[0] != pf[1] || -nf[1] != pf[0])
-    r |= 1;
-  if (nd[0] == nd[1] || pd[0] == pd[1] || -nd[0] != pd[1] || -nd[1] != pd[0])
-    r |= 2;
-  if (nl[0] == nl[1] || pl[0] == pl[1] || -nl[0] != pl[1] || -nl[1] != pl[0])
-    r |= 4;
-  return r;
+main() {
+  B* p = new (100) B(100);
+  delete p;
+  return 0;
 }
 
-int (*fun)() = check;
-
-int main() {
-  if (fesetround(FE_DOWNWARD) != 0)
-    return 255;
+_ACEOF
+if ac_fn_cxx_try_run "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  ac_cxx_supports_flexible_arrays=yes
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  ac_cxx_supports_flexible_arrays=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
 
-  nf[0] = nf1 / f2;
-  nd[0] = nd1 / d2;
-  nl[0] = nl1 / l2;
-  pf[0] = pf1 / f2;
-  pd[0] = pd1 / d2;
-  pl[0] = pl1 / l2;
 
-  if (fesetround(FE_UPWARD) != 0)
-    return 255;
+if test x"$ac_cxx_supports_flexible_arrays" = xyes
+then
+  value=1
+else
+  value=0
+fi
 
-  nf[1] = nf1 / f2;
-  nd[1] = nd1 / d2;
-  nl[1] = nl1 / l2;
-  pf[1] = pf1 / f2;
-  pd[1] = pd1 / d2;
-  pl[1] = pl1 / l2;
+cat >>confdefs.h <<_ACEOF
+#define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS $value
+_ACEOF
 
-  return (*fun)();
-}
 
-# endif
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
-#elif sparc && defined(HAVE_IEEEFP_H)
+CPPFLAGS="$ac_save_CPPFLAGS"
+LIBS="$ac_save_LIBS"
+
+
+# Check whether the IEEE inexact flag is supported in C++.
+
+ac_save_CPPFLAGS="$CPPFLAGS"
+ac_save_LIBS="$LIBS"
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the IEEE inexact flag is supported in C++" >&5
+$as_echo_n "checking whether the IEEE inexact flag is supported in C++... " >&6; }
+if test "$cross_compiling" = yes; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: assuming not" >&5
+$as_echo "assuming not" >&6; }
+  ac_cxx_supports_ieee_inexact_flag=no
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#if defined(__i386__) && (defined(__GNUC__) || defined(__INTEL_COMPILER))
+
+int
+main() {
+  return 0;
+}
+
+#elif defined(PPL_HAVE_IEEEFP_H)					\
+  && (defined(__sparc)							\
+      || defined(sparc)							\
+      || defined(__sparc__))
 
 int
 main() {
   return 0;
 }
 
+#elif !defined(HAVE_FENV_H)
+
+int
+main() {
+  return 1;
+}
+
 #else
 
-  choke me
+#include <fenv.h>
+
+#if !defined(FE_INEXACT)
+
+int
+main() {
+  return 1;
+}
+
+#else // defined(FE_INEXACT)
+
+struct A {
+  double dividend;
+  double divisor;
+  bool inexact;
+} a[] = {
+  { 1.0, 2.0, false },
+  { 2.0, 3.0, true },
+};
+
+int main() {
+  for (unsigned i = 0; i < sizeof(a)/sizeof(a[0]); ++i) {
+    {
+      volatile float x = a[i].dividend;
+      volatile float y = a[i].divisor;
+      feclearexcept(FE_INEXACT);
+      x = x / y;
+      if ((fetestexcept(FE_INEXACT) != 0) != a[i].inexact)
+        return 1;
+    }
+    {
+      volatile double x = a[i].dividend;
+      volatile double y = a[i].divisor;
+      feclearexcept(FE_INEXACT);
+      x = x / y;
+      if ((fetestexcept(FE_INEXACT) != 0) != a[i].inexact)
+        return 1;
+    }
+    {
+      volatile long double x = a[i].dividend;
+      volatile long double y = a[i].divisor;
+      feclearexcept(FE_INEXACT);
+      x = x / y;
+      if ((fetestexcept(FE_INEXACT) != 0) != a[i].inexact)
+        return 1;
+    }
+  }
+  return 0;
+}
+
+#endif // defined(FE_INEXACT)
 
 #endif
 
+
 _ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
+if ac_fn_cxx_try_run "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-  ac_cv_can_control_fpu=1
+  ac_cxx_supports_ieee_inexact_flag=yes
 else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-  ac_cv_can_control_fpu=0
+  ac_cxx_supports_ieee_inexact_flag=no
 fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
 
- if test $ac_cv_can_control_fpu = 1; then
-  CAN_CONTROL_FPU_TRUE=
-  CAN_CONTROL_FPU_FALSE='#'
+if test x"$ac_cxx_supports_ieee_inexact_flag" = xyes
+then
+  value=1
 else
-  CAN_CONTROL_FPU_TRUE='#'
-  CAN_CONTROL_FPU_FALSE=
+  value=0
 fi
 
-
 cat >>confdefs.h <<_ACEOF
-#define PPL_CAN_CONTROL_FPU $ac_cv_can_control_fpu
+#define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG $value
 _ACEOF
 
+
 ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
+CPPFLAGS="$ac_save_CPPFLAGS"
 LIBS="$ac_save_LIBS"
 
 
-# Check whether the C++ compiler provides proper long doubles.
+# Check whether the C++ compiler has the remainder bug.
+
 
 ac_save_CPPFLAGS="$CPPFLAGS"
 ac_save_LIBS="$LIBS"
@@ -11591,75 +9413,50 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ex
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 
-{ $as_echo "$as_me:$LINENO: checking whether the C++ compiler provides proper long doubles" >&5
-$as_echo_n "checking whether the C++ compiler provides proper long doubles... " >&6; }
-if test "$cross_compiling" = yes; then
-  { $as_echo "$as_me:$LINENO: result: assuming not" >&5
-$as_echo "assuming not" >&6; }
-  ac_cxx_provides_proper_long_double=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the compiler has the remainder bug" >&5
+$as_echo_n "checking if the compiler has the remainder bug... " >&6; }
+if test "$cross_compiling" = yes; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: assuming yes" >&5
+$as_echo "assuming yes" >&6; }
+  ac_cv_cxx_has_remainder_bug=yes
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#include <cfloat>
+#include <climits>
 
-long double f = 0.0;
+int minus_one(int n) {
+  return (n+1)*(n-1)-n*n;
+}
 
-int main() {
-  if ((LDBL_MAX <= DBL_MAX) && (DBL_EPSILON <= LDBL_EPSILON)
-      && (LDBL_MAX_EXP <= DBL_MAX_EXP) && (LDBL_MANT_DIG <= DBL_MANT_DIG))
+int p(int x, int y) {
+  int z = x % y;
+  return z;
+}
+
+int main(int argc, char** argv) {
+  if (p(INT_MIN, minus_one(argc)) != 0)
     return 1;
   else
     return 0;
 }
 
 _ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-  ac_cxx_provides_proper_long_double=yes
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ $as_echo "$as_me:$LINENO: result: no" >&5
+if ac_fn_cxx_try_run "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-  ac_cxx_provides_proper_long_double=no
+  ac_cv_cxx_has_remainder_bug=no
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  ac_cv_cxx_has_remainder_bug=yes
 fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
 
-
-if test x"$ac_cxx_provides_proper_long_double" = xyes
+if test x"$ac_cv_cxx_has_remainder_bug" = xyes
 then
   value=1
 else
@@ -11667,7 +9464,7 @@ else
 fi
 
 cat >>confdefs.h <<_ACEOF
-#define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE $value
+#define PPL_CXX_HAS_REMAINDER_BUG $value
 _ACEOF
 
 
@@ -11681,7 +9478,7 @@ CPPFLAGS="$ac_save_CPPFLAGS"
 LIBS="$ac_save_LIBS"
 
 
-# Detect the binary format used by C++ floats.
+# Check whether the C++ compiler supports __attribute__ ((weak)).
 
 ac_save_CPPFLAGS="$CPPFLAGS"
 ac_save_LIBS="$LIBS"
@@ -11692,1466 +9489,1612 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ex
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 
-{ $as_echo "$as_me:$LINENO: checking the binary format of C++ floats" >&5
-$as_echo_n "checking the binary format of C++ floats... " >&6; }
-if test "$cross_compiling" = yes; then
-  ac_cxx_float_binary_format=unknown
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler supports __attribute__ ((weak))" >&5
+$as_echo_n "checking whether the C++ compiler supports __attribute__ ((weak))... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#include <limits>
-#ifdef HAVE_STDINT_H
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-#include <stdint.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-
-#if SIZEOF_FLOAT == 4
-
-inline float
-convert(uint32_t x) {
-  union {
-    float value;
-    uint32_t word;
-  } u;
+void
+foo() __attribute__ ((weak));
 
-  u.word = x;
-  return u.value;
+void
+foo() {
 }
 
-int
-main() {
-  if (std::numeric_limits<float>::is_iec559
-      && (   convert(0xaaacccaaU)
-          == -3.069535185924732179074680971098132431507110595703125e-13
-          && convert(0xcccaaaccU)
-          == -106255968
-          && convert(0x00000001U)
-          == 1.40129846432481707092372958328991613128026194187651577175706828388979108268586060148663818836212158203125e-45
-          && convert(0x80000001U)
-          == -1.40129846432481707092372958328991613128026194187651577175706828388979108268586060148663818836212158203125e-45))
-    return 0;
-  else
-    return 1;
-}
-
-#else // SIZEOF_FLOAT != 4
-
-int
-main() {
-  return 1;
-}
-
-#endif // SIZEOF_FLOAT != 4
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-
-cat >>confdefs.h <<\_ACEOF
-#define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE
 _ACEOF
-
-  ac_cxx_float_binary_format="IEEE754 Single Precision"
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  ac_cxx_supports_attribute_weak=yes
 else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cxx_float_binary_format=unknown
-fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  ac_cxx_supports_attribute_weak=no
 fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
+if test x"$ac_cxx_supports_attribute_weak" = xyes
+then
+  value=1
+else
+  value=0
+fi
 
-
-{ $as_echo "$as_me:$LINENO: result: $ac_cxx_float_binary_format" >&5
-$as_echo "$ac_cxx_float_binary_format" >&6; }
+cat >>confdefs.h <<_ACEOF
+#define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK $value
+_ACEOF
 
 
-ac_save_CPPFLAGS="$CPPFLAGS"
-ac_save_LIBS="$LIBS"
 ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
+CPPFLAGS="$ac_save_CPPFLAGS"
+LIBS="$ac_save_LIBS"
 
-{ $as_echo "$as_me:$LINENO: checking whether C++ provides exact output for floats" >&5
-$as_echo_n "checking whether C++ provides exact output for floats... " >&6; }
 
-if test "$cross_compiling" = yes; then
-  { $as_echo "$as_me:$LINENO: result: assuming not" >&5
-$as_echo "assuming not" >&6; }
-  ac_cxx_float_exact_output=0
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
+# Checks for header files.
+for ac_header in fenv.h ieeefp.h getopt.h signal.h string.h strings.h sys/resource.h sys/time.h sys/types.h unistd.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#include <limits>
-#ifdef HAVE_STDINT_H
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-#include <stdint.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-#include <sstream>
-
-/* Unique (nonzero) code for the IEEE 754 Single Precision
-   floating point format.  */
-# define PPL_FLOAT_IEEE754_SINGLE 1
 
-/* Unique (nonzero) code for the IEEE 754 Double Precision
-   floating point format.  */
-# define PPL_FLOAT_IEEE754_DOUBLE 2
+fi
 
-/* Unique (nonzero) code for the IEEE 754 Quad Precision
-   floating point format.  */
-# define PPL_FLOAT_IEEE754_QUAD 3
+done
 
-/* Unique (nonzero) code for the Intel Double-Extended
-   floating point format.  */
-# define PPL_FLOAT_INTEL_DOUBLE_EXTENDED 4
 
-bool
-check(float value, const char* text) {
-  std::ostringstream ss;
-  ss.precision(10000);
-  ss << value;
-  return ss.str() == text;
-}
+# Checks for the availability of C library functions in C++.
+ac_fn_cxx_check_decl "$LINENO" "ffs" "ac_cv_have_decl_ffs" "
+#if defined(HAVE_STRINGS_H)
+# include <strings.h>
+#elif defined(HAVE_STRING_H)
+# include <string.h>
+#endif
 
-#if SIZEOF_FLOAT == 4
+"
+if test "x$ac_cv_have_decl_ffs" = x""yes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
 
-float
-convert(uint32_t x) {
-  union {
-    float value;
-    uint32_t word;
-  } u;
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_FFS $ac_have_decl
+_ACEOF
 
-  u.word = x;
-  return u.value;
-}
+ac_fn_cxx_check_decl "$LINENO" "getenv" "ac_cv_have_decl_getenv" "#include <cstdlib>
+"
+if test "x$ac_cv_have_decl_getenv" = x""yes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
 
-#if PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_IEEE754_SINGLE
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_GETENV $ac_have_decl
+_ACEOF
+ac_fn_cxx_check_decl "$LINENO" "strtof" "ac_cv_have_decl_strtof" "#include <cstdlib>
+"
+if test "x$ac_cv_have_decl_strtof" = x""yes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
 
-int
-main() {
-  if (check(convert(0xaaacccaaU),
-            "-3.069535185924732179074680971098132431507110595703125e-13")
-      && check(convert(0xcccaaaccU),
-               "-106255968")
-      && check(convert(0x00000001U),
-               "1.40129846432481707092372958328991613128026194187651577175706828388979108268586060148663818836212158203125e-45")
-      && check(convert(0x80000001U),
-               "-1.40129846432481707092372958328991613128026194187651577175706828388979108268586060148663818836212158203125e-45"))
-    return 0;
-  else
-    return 1;
-}
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_STRTOF $ac_have_decl
+_ACEOF
+ac_fn_cxx_check_decl "$LINENO" "strtod" "ac_cv_have_decl_strtod" "#include <cstdlib>
+"
+if test "x$ac_cv_have_decl_strtod" = x""yes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
 
-#else // PPL_CXX_FLOAT_BINARY_FORMAT != FLOAT_IEEE754_SINGLE
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_STRTOD $ac_have_decl
+_ACEOF
+ac_fn_cxx_check_decl "$LINENO" "strtold" "ac_cv_have_decl_strtold" "#include <cstdlib>
+"
+if test "x$ac_cv_have_decl_strtold" = x""yes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
 
-int
-main() {
-  return 1;
-}
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_STRTOLD $ac_have_decl
+_ACEOF
+ac_fn_cxx_check_decl "$LINENO" "strtoll" "ac_cv_have_decl_strtoll" "#include <cstdlib>
+"
+if test "x$ac_cv_have_decl_strtoll" = x""yes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
 
-#endif // PPL_CXX_FLOAT_BINARY_FORMAT != FLOAT_IEEE754_SINGLE
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_STRTOLL $ac_have_decl
+_ACEOF
+ac_fn_cxx_check_decl "$LINENO" "strtoull" "ac_cv_have_decl_strtoull" "#include <cstdlib>
+"
+if test "x$ac_cv_have_decl_strtoull" = x""yes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
 
-#else // SIZEOF_FLOAT != 4
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_STRTOULL $ac_have_decl
+_ACEOF
 
-int
-main() {
-  return 1;
-}
+ac_fn_cxx_check_decl "$LINENO" "fma" "ac_cv_have_decl_fma" "#include <cmath>
+"
+if test "x$ac_cv_have_decl_fma" = x""yes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
 
-#endif // SIZEOF_FLOAT != 4
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_FMA $ac_have_decl
+_ACEOF
+ac_fn_cxx_check_decl "$LINENO" "fmaf" "ac_cv_have_decl_fmaf" "#include <cmath>
+"
+if test "x$ac_cv_have_decl_fmaf" = x""yes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
 
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_FMAF $ac_have_decl
 _ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-  ac_cxx_float_exact_output=1
+ac_fn_cxx_check_decl "$LINENO" "fmal" "ac_cv_have_decl_fmal" "#include <cmath>
+"
+if test "x$ac_cv_have_decl_fmal" = x""yes; then :
+  ac_have_decl=1
 else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  ac_have_decl=0
+fi
 
-( exit $ac_status )
-{ $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-  ac_cxx_float_exact_output=0
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_FMAL $ac_have_decl
+_ACEOF
+ac_fn_cxx_check_decl "$LINENO" "rintf" "ac_cv_have_decl_rintf" "#include <cmath>
+"
+if test "x$ac_cv_have_decl_rintf" = x""yes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
 fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_RINTF $ac_have_decl
+_ACEOF
+ac_fn_cxx_check_decl "$LINENO" "rintl" "ac_cv_have_decl_rintl" "#include <cmath>
+"
+if test "x$ac_cv_have_decl_rintl" = x""yes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
 fi
 
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_RINTL $ac_have_decl
+_ACEOF
 
 
+# Checks for the availability of "fast" integral types.
+ac_fn_cxx_check_type "$LINENO" "int_fast16_t" "ac_cv_type_int_fast16_t" "$ac_includes_default"
+if test "x$ac_cv_type_int_fast16_t" = x""yes; then :
 
 cat >>confdefs.h <<_ACEOF
-#define PPL_CXX_FLOAT_EXACT_OUTPUT $ac_cxx_float_exact_output
+#define HAVE_INT_FAST16_T 1
 _ACEOF
 
 
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+fi
+ac_fn_cxx_check_type "$LINENO" "int_fast32_t" "ac_cv_type_int_fast32_t" "$ac_includes_default"
+if test "x$ac_cv_type_int_fast32_t" = x""yes; then :
 
-CPPFLAGS="$ac_save_CPPFLAGS"
-LIBS="$ac_save_LIBS"
+cat >>confdefs.h <<_ACEOF
+#define HAVE_INT_FAST32_T 1
+_ACEOF
 
 
-if test x"$ac_cxx_float_binary_format" = x"unknown" || test $ac_cxx_float_exact_output = 0 || test $ac_cv_can_control_fpu = 0
-then
-  ac_supported_float=0
-else
-  ac_supported_float=1
-fi
- if test $ac_supported_float = 1; then
-  SUPPORTED_FLOAT_TRUE=
-  SUPPORTED_FLOAT_FALSE='#'
-else
-  SUPPORTED_FLOAT_TRUE='#'
-  SUPPORTED_FLOAT_FALSE=
 fi
-
+ac_fn_cxx_check_type "$LINENO" "int_fast64_t" "ac_cv_type_int_fast64_t" "$ac_includes_default"
+if test "x$ac_cv_type_int_fast64_t" = x""yes; then :
 
 cat >>confdefs.h <<_ACEOF
-#define PPL_SUPPORTED_FLOAT $ac_supported_float
+#define HAVE_INT_FAST64_T 1
 _ACEOF
 
 
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-CPPFLAGS="$ac_save_CPPFLAGS"
-LIBS="$ac_save_LIBS"
+fi
+ac_fn_cxx_check_type "$LINENO" "uint_fast16_t" "ac_cv_type_uint_fast16_t" "$ac_includes_default"
+if test "x$ac_cv_type_uint_fast16_t" = x""yes; then :
 
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UINT_FAST16_T 1
+_ACEOF
 
-# Detect the binary format used by C++ doubles.
 
+fi
+ac_fn_cxx_check_type "$LINENO" "uint_fast32_t" "ac_cv_type_uint_fast32_t" "$ac_includes_default"
+if test "x$ac_cv_type_uint_fast32_t" = x""yes; then :
 
-ac_save_CPPFLAGS="$CPPFLAGS"
-ac_save_LIBS="$LIBS"
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UINT_FAST32_T 1
+_ACEOF
 
 
-{ $as_echo "$as_me:$LINENO: checking the binary format of C++ doubles" >&5
-$as_echo_n "checking the binary format of C++ doubles... " >&6; }
+fi
+ac_fn_cxx_check_type "$LINENO" "uint_fast64_t" "ac_cv_type_uint_fast64_t" "$ac_includes_default"
+if test "x$ac_cv_type_uint_fast64_t" = x""yes; then :
 
-if test "$cross_compiling" = yes; then
-  ac_cxx_double_binary_format=unknown
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UINT_FAST64_T 1
 _ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
-#include <limits>
-#ifdef HAVE_STDINT_H
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-#include <stdint.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
 
-#if SIZEOF_DOUBLE == 8
+fi
 
-double
-convert(uint32_t msp, uint32_t lsp) {
-  union {
-    double value;
-    struct {
-#ifdef WORDS_BIGENDIAN
-      uint32_t msp;
-      uint32_t lsp;
-#else
-      uint32_t lsp;
-      uint32_t msp;
-#endif
-    } parts;
-  } u;
 
-  u.parts.msp = msp;
-  u.parts.lsp = lsp;
-  return u.value;
-}
+# Make sure uintptr_t is defined to an unsigned integer type wide enough
+# to hold a pointer, if such a type exists.
 
-int
-main() {
-  if (std::numeric_limits<double>::is_iec559
-      && (convert(0xaaacccaaUL, 0xacccaaacUL)
-          == -4.018242396032647085467373664662028399901175154542925376476863248797653889888945947404163925979898721593782464256360719269163883854613473748830842329884157359816532025640075051481726120707111709993717456369512975427023957197464411926714771905463723621065863511603311053477227687835693359375e-103
-          && convert(0xcccaaaccUL, 0xcaaacccaUL)
-	  == -85705035845709846787631445265530356117787053916987832397725696.0
-          && convert(0x00000000UL, 0x00000001UL)
-          == 4.940656458412465441765687928682213723650598026143247644255856825006755072702087518652998363616359923797965646954457177309266567103559397963987747960107818781263007131903114045278458171678489821036887186360569987307230500063874091535649843873124733972731696151400317153853980741262385655911710266585566867681870395603106249319452715914924553293054565444011274801297099995419319894090804165633245247571478690147267801593552386115501348035264934720193790268107107491703332226844753 [...]
-          && convert(0x80000000UL, 0x00000001UL)
-          == -4.94065645841246544176568792868221372365059802614324764425585682500675507270208751865299836361635992379796564695445717730926656710355939796398774796010781878126300713190311404527845817167848982103688718636056998730723050006387409153564984387312473397273169615140031715385398074126238565591171026658556686768187039560310624931945271591492455329305456544401127480129709999541931989409080416563324524757147869014726780159355238611550134803526493472019379026810710749170333222684475 [...]
-    return 0;
-  else
-    return 1;
-}
+  ac_fn_cxx_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "$ac_includes_default"
+if test "x$ac_cv_type_uintptr_t" = x""yes; then :
 
-#else // SIZEOF_DOUBLE != 8
+$as_echo "#define HAVE_UINTPTR_T 1" >>confdefs.h
 
+else
+  for ac_type in 'unsigned int' 'unsigned long int' \
+	'unsigned long long int'; do
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_includes_default
 int
-main() {
-  return 1;
-}
-
-#endif // SIZEOF_DOUBLE != 8
+main ()
+{
+static int test_array [1 - 2 * !(sizeof (void *) <= sizeof ($ac_type))];
+test_array [0] = 0
 
+  ;
+  return 0;
+}
 _ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+if ac_fn_cxx_try_compile "$LINENO"; then :
 
-cat >>confdefs.h <<\_ACEOF
-#define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE
+cat >>confdefs.h <<_ACEOF
+#define uintptr_t $ac_type
 _ACEOF
 
-  ac_cxx_double_binary_format="IEEE754 Double Precision"
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cxx_double_binary_format=unknown
+	  ac_type=
 fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+       test -z "$ac_type" && break
+     done
 fi
 
 
 
-{ $as_echo "$as_me:$LINENO: result: $ac_cxx_double_binary_format" >&5
-$as_echo "$ac_cxx_double_binary_format" >&6; }
 
+# Checks on the GMP library.
 
 
-ac_save_CPPFLAGS="$CPPFLAGS"
-ac_save_LIBS="$LIBS"
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+      if test "X$prefix" = "XNONE"; then
+    acl_final_prefix="$ac_default_prefix"
+  else
+    acl_final_prefix="$prefix"
+  fi
+  if test "X$exec_prefix" = "XNONE"; then
+    acl_final_exec_prefix='${prefix}'
+  else
+    acl_final_exec_prefix="$exec_prefix"
+  fi
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
+  prefix="$acl_save_prefix"
 
 
-{ $as_echo "$as_me:$LINENO: checking whether C++ provides exact output for doubles" >&5
-$as_echo_n "checking whether C++ provides exact output for doubles... " >&6; }
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then :
+  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+else
+  with_gnu_ld=no
+fi
 
-if test "$cross_compiling" = yes; then
-  { $as_echo "$as_me:$LINENO: result: assuming not" >&5
-$as_echo "assuming not" >&6; }
-  ac_cxx_double_exact_output=0
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5
+$as_echo_n "checking for ld used by GCC... " >&6; }
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [\\/]* | [A-Za-z]:[\\/]*)
+      re_direlt='/[^/][^/]*/\.\./'
+      # Canonicalize the path of ld
+      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
+      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if test "${acl_cv_path_LD+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$LD"; then
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      acl_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some GNU ld's only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
+      *GNU* | *'with BFD'*)
+	test "$with_gnu_ld" != no && break ;;
+      *)
+	test "$with_gnu_ld" != yes && break ;;
+      esac
+    fi
+  done
+  IFS="$ac_save_ifs"
+else
+  acl_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
 
-#include <limits>
-#ifdef HAVE_STDINT_H
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-#include <stdint.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-#include <sstream>
+LD="$acl_cv_path_LD"
+if test -n "$LD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if test "${acl_cv_prog_gnu_ld+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  # I'd rather use --version here, but apparently some GNU ld's only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  acl_cv_prog_gnu_ld=yes ;;
+*)
+  acl_cv_prog_gnu_ld=no ;;
+esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5
+$as_echo "$acl_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$acl_cv_prog_gnu_ld
 
-/* Unique (nonzero) code for the IEEE 754 Single Precision
-   floating point format.  */
-# define PPL_FLOAT_IEEE754_SINGLE 1
 
-/* Unique (nonzero) code for the IEEE 754 Double Precision
-   floating point format.  */
-# define PPL_FLOAT_IEEE754_DOUBLE 2
 
-/* Unique (nonzero) code for the IEEE 754 Quad Precision
-   floating point format.  */
-# define PPL_FLOAT_IEEE754_QUAD 3
 
-/* Unique (nonzero) code for the Intel Double-Extended
-   floating point format.  */
-# define PPL_FLOAT_INTEL_DOUBLE_EXTENDED 4
+                                                { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5
+$as_echo_n "checking for shared library run path origin... " >&6; }
+if test "${acl_cv_rpath+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
 
-bool
-check(double value, const char* text) {
-  std::ostringstream ss;
-  ss.precision(10000);
-  ss << value;
-  return ss.str() == text;
-}
-
-#if SIZEOF_DOUBLE == 8
-
-double
-convert(uint32_t msp, uint32_t lsp) {
-  union {
-    double value;
-    struct {
-#ifdef WORDS_BIGENDIAN
-      uint32_t msp;
-      uint32_t lsp;
-#else
-      uint32_t lsp;
-      uint32_t msp;
-#endif
-    } parts;
-  } u;
-
-  u.parts.msp = msp;
-  u.parts.lsp = lsp;
-  return u.value;
-}
-
-#if PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE
-
-int
-main() {
-  if (check(convert(0xaaacccaaUL, 0xacccaaacUL),
-            "-4.018242396032647085467373664662028399901175154542925376476863248797653889888945947404163925979898721593782464256360719269163883854613473748830842329884157359816532025640075051481726120707111709993717456369512975427023957197464411926714771905463723621065863511603311053477227687835693359375e-103")
-      && check(convert(0xcccaaaccUL, 0xcaaacccaUL),
-               "-85705035845709846787631445265530356117787053916987832397725696")
-      && check(convert(0x00000000UL, 0x00000001UL),
-               "4.940656458412465441765687928682213723650598026143247644255856825006755072702087518652998363616359923797965646954457177309266567103559397963987747960107818781263007131903114045278458171678489821036887186360569987307230500063874091535649843873124733972731696151400317153853980741262385655911710266585566867681870395603106249319452715914924553293054565444011274801297099995419319894090804165633245247571478690147267801593552386115501348035264934720193790268107107491703332226844 [...]
-      && check(convert(0x80000000UL, 0x00000001UL),
-               "-4.94065645841246544176568792868221372365059802614324764425585682500675507270208751865299836361635992379796564695445717730926656710355939796398774796010781878126300713190311404527845817167848982103688718636056998730723050006387409153564984387312473397273169615140031715385398074126238565591171026658556686768187039560310624931945271591492455329305456544401127480129709999541931989409080416563324524757147869014726780159355238611550134803526493472019379026810710749170333222684 [...]
-    return 0;
-  else
-    return 1;
-}
+    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
+    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
+    . ./conftest.sh
+    rm -f ./conftest.sh
+    acl_cv_rpath=done
 
-#else // PPL_CXX_DOUBLE_BINARY_FORMAT != PPL_FLOAT_IEEE754_DOUBLE
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5
+$as_echo "$acl_cv_rpath" >&6; }
+  wl="$acl_cv_wl"
+  acl_libext="$acl_cv_libext"
+  acl_shlibext="$acl_cv_shlibext"
+  acl_libname_spec="$acl_cv_libname_spec"
+  acl_library_names_spec="$acl_cv_library_names_spec"
+  acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+  acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+  acl_hardcode_direct="$acl_cv_hardcode_direct"
+  acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
+    # Check whether --enable-rpath was given.
+if test "${enable_rpath+set}" = set; then :
+  enableval=$enable_rpath; :
+else
+  enable_rpath=yes
+fi
 
-int
-main() {
-  return 1;
-}
 
-#endif // PPL_CXX_DOUBLE_BINARY_FORMAT != PPL_FLOAT_IEEE754_DOUBLE
 
-#else // SIZEOF_DOUBLE != 8
 
-int
-main() {
-  return 1;
-}
+  acl_libdirstem=lib
+  acl_libdirstem2=
+  case "$host_os" in
+    solaris*)
+                                    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5
+$as_echo_n "checking for 64-bit host... " >&6; }
+if test "${gl_cv_solaris_64bit+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-#endif // SIZEOF_DOUBLE != 8
+#ifdef _LP64
+sixtyfour bits
+#endif
 
 _ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-  ac_cxx_double_exact_output=1
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "sixtyfour bits" >/dev/null 2>&1; then :
+  gl_cv_solaris_64bit=yes
 else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-  ac_cxx_double_exact_output=0
+  gl_cv_solaris_64bit=no
 fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f conftest*
+
+
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5
+$as_echo "$gl_cv_solaris_64bit" >&6; }
+      if test $gl_cv_solaris_64bit = yes; then
+        acl_libdirstem=lib/64
+        case "$host_cpu" in
+          sparc*)        acl_libdirstem2=lib/sparcv9 ;;
+          i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
+        esac
+      fi
+      ;;
+    *)
+      searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+      if test -n "$searchpath"; then
+        acl_save_IFS="${IFS= 	}"; IFS=":"
+        for searchdir in $searchpath; do
+          if test -d "$searchdir"; then
+            case "$searchdir" in
+              */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+              */../ | */.. )
+                # Better ignore directories of this form. They are misleading.
+                ;;
+              *) searchdir=`cd "$searchdir" && pwd`
+                 case "$searchdir" in
+                   */lib64 ) acl_libdirstem=lib64 ;;
+                 esac ;;
+            esac
+          fi
+        done
+        IFS="$acl_save_IFS"
+      fi
+      ;;
+  esac
+  test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
 
 
+if test -n "$with_libgmpxx_prefix" && test -z "$with_libgmp_prefix"; then
+  with_libgmp_prefix="$with_libgmpxx_prefix"
+else
+  if test -n "$with_libgmp_prefix" && test -z "$with_libgmpxx_prefix"; then
+    with_libgmpxx_prefix="$with_libgmp_prefix"
+  fi
+fi
 
 
-cat >>confdefs.h <<_ACEOF
-#define PPL_CXX_DOUBLE_EXACT_OUTPUT $ac_cxx_double_exact_output
-_ACEOF
+# Check whether --with-gmp-build was given.
+if test "${with_gmp_build+set}" = set; then :
+  withval=$with_gmp_build; gmp_build_dir=$with_gmp_build
+  if test -z "$with_libgmp_prefix"
+  then
+    CPPFLAGS="$CPPFLAGS -I$gmp_build_dir -I$gmp_build_dir/tune"
+    LDFLAGS="$LDFLAGS -L$gmp_build_dir -L$gmp_build_dir/.libs"
+    LDFLAGS="$LDFLAGS -L$gmp_build_dir/tune"
+  else
+    as_fn_error $? "cannot use --with-gmp-build and --with-gmp-prefix together" "$LINENO" 5
+  fi
+fi
 
 
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
-CPPFLAGS="$ac_save_CPPFLAGS"
-LIBS="$ac_save_LIBS"
 
 
-if test x"$ac_cxx_double_binary_format" = x"unknown" || test $ac_cxx_double_exact_output = 0 || test $ac_cv_can_control_fpu = 0
-then
-  ac_supported_double=0
-else
-  ac_supported_double=1
-fi
- if test $ac_supported_double = 1; then
-  SUPPORTED_DOUBLE_TRUE=
-  SUPPORTED_DOUBLE_FALSE='#'
-else
-  SUPPORTED_DOUBLE_TRUE='#'
-  SUPPORTED_DOUBLE_FALSE=
-fi
 
 
-cat >>confdefs.h <<_ACEOF
-#define PPL_SUPPORTED_DOUBLE $ac_supported_double
-_ACEOF
 
 
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
-CPPFLAGS="$ac_save_CPPFLAGS"
-LIBS="$ac_save_LIBS"
 
 
-# Detect the binary format used by C++ long doubles.
 
 
-ac_save_CPPFLAGS="$CPPFLAGS"
-ac_save_LIBS="$LIBS"
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 
-{ $as_echo "$as_me:$LINENO: checking the binary format of C++ long doubles" >&5
-$as_echo_n "checking the binary format of C++ long doubles... " >&6; }
 
-if test "$cross_compiling" = yes; then
-  ac_cxx_long_double_binary_format=unknown
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
-#include <limits>
-#ifdef HAVE_STDINT_H
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-#include <stdint.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
 
-#if SIZEOF_LONG_DOUBLE == 12
 
-long double
-convert(uint32_t msp, uint64_t lsp) {
-  union {
-    long double value;
-    struct {
-#ifdef WORDS_BIGENDIAN
-      uint32_t msp;
-      uint64_t lsp;
-#else
-      uint64_t lsp;
-      uint32_t msp;
-#endif
-    } parts;
-  } u;
 
-  u.parts.msp = msp;
-  u.parts.lsp = lsp;
-  return u.value;
-}
 
-int
-main() {
-  if (std::numeric_limits<long double>::is_iec559
-      && (convert(0xaaacccaaUL, 0xacccaaacccaaacccULL)
-          == -2347515119623533044836098728848844802360499059743792266553789449931714103027083147350004052130909778252174381128110073162061230391014115892328306480775581568464385654456454167018199800371311459509865035007576337091690846028483890278748770302000164922066968427857731908531920447109369397262198780877931467490364866823668872333299978555289484532591724489792080483029098529153534398647750864910040989348665150713407129673962368698401443396580325986886785546510945722073165626067034 [...]
-          && convert(0xcccaaaccUL, 0xcaaacccaaacccaaaULL)
-          == -3.23434990843367356978836243375823670140137920038631047807023049120171609457620808873309220935271108176353097313943940275472100621788903190230956690534410676669705059335585140518969412596610080153759381132049385057915293867970546587078868452351854180615879140837871859693613285468342558175420524259461419246587664010262843224689767458364974546764113923420713958481010186877291531245407558226524068718427924386121735166705992087823616450647326179770339398151079922803077815239965 [...]
-          && convert(0x00000000UL, 0x0000000000000001ULL)
-          == 3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578587 [...]
-          && convert(0x80000000UL, 0x0000000000000001ULL)
-          == 3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578587 [...]
-    return 0;
-  else
-    return 1;
-}
 
-#else // SIZEOF_LONG_DOUBLE != 12
 
-int
-main() {
-  return 1;
-}
 
-#endif // SIZEOF_LONG_DOUBLE != 12
 
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
 
-cat >>confdefs.h <<\_ACEOF
-#define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_INTEL_DOUBLE_EXTENDED
-_ACEOF
 
-  ac_cxx_long_double_binary_format="Intel Double-Extended"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libgmp" >&5
+$as_echo_n "checking how to link with libgmp... " >&6; }
+if test "${ac_cv_libgmp_libs+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-( exit $ac_status )
-ac_cxx_long_double_binary_format=unknown
-fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
 
 
 
-if test x"$ac_cxx_long_double_binary_format" = x"unknown"
-then
-if test "$cross_compiling" = yes; then
-  ac_cxx_long_double_binary_format=unknown
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
-#include <limits>
-#ifdef HAVE_STDINT_H
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-#include <stdint.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
 
-#if SIZEOF_LONG_DOUBLE == 16
 
-#if defined(__sparc__) && defined(__arch64__) \
-    && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4))
 
-// Work around http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37661
-int
-main() {
-  return 1;
-}
-
-#else // !defined(__sparc__) || !defined(__arch64__) ...
-
-long double
-convert(uint64_t msp, uint64_t lsp) {
-  union {
-    long double value;
-    struct {
-#ifdef WORDS_BIGENDIAN
-      uint64_t msp;
-      uint64_t lsp;
-#else
-      uint64_t lsp;
-      uint64_t msp;
-#endif
-    } parts;
-  } u;
-
-  u.parts.msp = msp;
-  u.parts.lsp = lsp;
-  return u.value;
-}
-
-int
-main() {
-  if (std::numeric_limits<long double>::is_iec559
-      && (convert(0xaaacccaaacccaaacULL, 0xccaaacccaaacccaaULL)
-          == -8.55855653885100434741341853993902633367349104766375354667159377718342093894815477326286823233135691805519944470138219932524951165689852082013017904043605683486724317550972746307400400204571080045247416605879743573136814766221652651396476675668866980798618379071105211750397249729982891787041148520384572930274879267722158826932337019191713973025403784448443813348692062209940856126724493492803365972504505177354875652033856070760087261648660638833868952644144747756799606849182 [...]
-          && convert(0xcccaaacccaaacccaULL, 0xaacccaaacccaaaccULL)
-          == -1245145811075115522107964569349668036873048429802955738289544979224937529833971888147113044115600185809657440463151337899852742080173681519641002844007842161066491872877272689899483098933357761372012363074222544903849943421327866952518563408226075393323377411859119799862094642227761121175434773105923957353216410161917656139242348962530519313341883531064222310528951125334264629650711950000833461188453888512224682758538996197678583645934917458956166559210225915729833706160100 [...]
-          && convert(0x0000000000000000ULL, 0x0000000000000001ULL)
-          == 6.475175119438025110924438958227646552499569338034681009689884389197039540124119371017671491276649940255878141476848119676587219886382542046685110071972617983042792710751334934416734625638471740239448526505553990391455556252171148068070822034688256982476272828789103028357337561348031062386564592639826226991907907867663262065711211583064657196068308332845234453069760526489447660964579313751403402631804350039948870075255648713368066117879403155766713303467434937062409411685215 [...]
-          && convert(0x8000000000000000ULL, 0x0000000000000001ULL)
-          == -6.47517511943802511092443895822764655249956933803468100968988438919703954012411937101767149127664994025587814147684811967658721988638254204668511007197261798304279271075133493441673462563847174023944852650555399039145555625217114806807082203468825698247627282878910302835733756134803106238656459263982622699190790786766326206571121158306465719606830833284523445306976052648944766096457931375140340263180435003994887007525564871336806611787940315576671330346743493706240941168521 [...]
-    return 0;
-  else
-    return 1;
-}
+    use_additional=yes
 
-#endif // !defined(__sparc__) || !defined(__arch64__) ...
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
 
-#else // SIZEOF_LONG_DOUBLE != 16
+    eval additional_includedir=\"$includedir\"
+    eval additional_libdir=\"$libdir\"
 
-int
-main() {
-  return 1;
-}
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
 
-#endif // SIZEOF_LONG_DOUBLE != 16
 
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+# Check whether --with-gmp-prefix was given.
+if test "${with_gmp_prefix+set}" = set; then :
+  withval=$with_gmp_prefix;
+    if test "X$withval" = "Xno"; then
+      use_additional=no
+    else
+      if test "X$withval" = "X"; then
 
-cat >>confdefs.h <<\_ACEOF
-#define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_QUAD
-_ACEOF
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
 
-  ac_cxx_long_double_binary_format="IEEE754 Quad Precision"
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+          eval additional_includedir=\"$includedir\"
+          eval additional_libdir=\"$libdir\"
 
-( exit $ac_status )
-ac_cxx_long_double_binary_format=unknown
-fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
 
+      else
+        additional_includedir="$withval/include"
+        additional_libdir="$withval/$acl_libdirstem"
+        if test "$acl_libdirstem2" != "$acl_libdirstem" \
+           && ! test -d "$withval/$acl_libdirstem"; then
+          additional_libdir="$withval/$acl_libdirstem2"
+        fi
+      fi
+    fi
 
 fi
 
-if test x"$ac_cxx_long_double_binary_format" = x"unknown"
-then
-if test "$cross_compiling" = yes; then
-  ac_cxx_long_double_binary_format=unknown
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#include <limits>
-#ifdef HAVE_STDINT_H
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-#include <stdint.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
+      LIBGMP=
+  LTLIBGMP=
+  INCGMP=
+  LIBGMP_PREFIX=
+      HAVE_LIBGMP=
+  rpathdirs=
+  ltrpathdirs=
+  names_already_handled=
+  names_next_round='gmp '
+  while test -n "$names_next_round"; do
+    names_this_round="$names_next_round"
+    names_next_round=
+    for name in $names_this_round; do
+      already_handled=
+      for n in $names_already_handled; do
+        if test "$n" = "$name"; then
+          already_handled=yes
+          break
+        fi
+      done
+      if test -z "$already_handled"; then
+        names_already_handled="$names_already_handled $name"
+                        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
+        eval value=\"\$HAVE_LIB$uppername\"
+        if test -n "$value"; then
+          if test "$value" = yes; then
+            eval value=\"\$LIB$uppername\"
+            test -z "$value" || LIBGMP="${LIBGMP}${LIBGMP:+ }$value"
+            eval value=\"\$LTLIB$uppername\"
+            test -z "$value" || LTLIBGMP="${LTLIBGMP}${LTLIBGMP:+ }$value"
+          else
+                                    :
+          fi
+        else
+                              found_dir=
+          found_la=
+          found_so=
+          found_a=
+          eval libname=\"$acl_libname_spec\"    # typically: libname=lib$name
+          if test -n "$acl_shlibext"; then
+            shrext=".$acl_shlibext"             # typically: shrext=.so
+          else
+            shrext=
+          fi
+          if test $use_additional = yes; then
+            dir="$additional_libdir"
+                                    if test -n "$acl_shlibext"; then
+              if test -f "$dir/$libname$shrext"; then
+                found_dir="$dir"
+                found_so="$dir/$libname$shrext"
+              else
+                if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+                  ver=`(cd "$dir" && \
+                        for f in "$libname$shrext".*; do echo "$f"; done \
+                        | sed -e "s,^$libname$shrext\\\\.,," \
+                        | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+                        | sed 1q ) 2>/dev/null`
+                  if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+                    found_dir="$dir"
+                    found_so="$dir/$libname$shrext.$ver"
+                  fi
+                else
+                  eval library_names=\"$acl_library_names_spec\"
+                  for f in $library_names; do
+                    if test -f "$dir/$f"; then
+                      found_dir="$dir"
+                      found_so="$dir/$f"
+                      break
+                    fi
+                  done
+                fi
+              fi
+            fi
+                        if test "X$found_dir" = "X"; then
+              if test -f "$dir/$libname.$acl_libext"; then
+                found_dir="$dir"
+                found_a="$dir/$libname.$acl_libext"
+              fi
+            fi
+            if test "X$found_dir" != "X"; then
+              if test -f "$dir/$libname.la"; then
+                found_la="$dir/$libname.la"
+              fi
+            fi
+          fi
+          if test "X$found_dir" = "X"; then
+            for x in $LDFLAGS $LTLIBGMP; do
 
-#if SIZEOF_LONG_DOUBLE == 16
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
 
-long double
-convert(uint64_t msp, uint64_t lsp) {
-  union {
-    long double value;
-    struct {
-#ifdef WORDS_BIGENDIAN
-      uint64_t msp;
-      uint64_t lsp;
-#else
-      uint64_t lsp;
-      uint64_t msp;
-#endif
-    } parts;
-  } u;
+              case "$x" in
+                -L*)
+                  dir=`echo "X$x" | sed -e 's/^X-L//'`
+                                    if test -n "$acl_shlibext"; then
+                    if test -f "$dir/$libname$shrext"; then
+                      found_dir="$dir"
+                      found_so="$dir/$libname$shrext"
+                    else
+                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+                        ver=`(cd "$dir" && \
+                              for f in "$libname$shrext".*; do echo "$f"; done \
+                              | sed -e "s,^$libname$shrext\\\\.,," \
+                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+                              | sed 1q ) 2>/dev/null`
+                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+                          found_dir="$dir"
+                          found_so="$dir/$libname$shrext.$ver"
+                        fi
+                      else
+                        eval library_names=\"$acl_library_names_spec\"
+                        for f in $library_names; do
+                          if test -f "$dir/$f"; then
+                            found_dir="$dir"
+                            found_so="$dir/$f"
+                            break
+                          fi
+                        done
+                      fi
+                    fi
+                  fi
+                                    if test "X$found_dir" = "X"; then
+                    if test -f "$dir/$libname.$acl_libext"; then
+                      found_dir="$dir"
+                      found_a="$dir/$libname.$acl_libext"
+                    fi
+                  fi
+                  if test "X$found_dir" != "X"; then
+                    if test -f "$dir/$libname.la"; then
+                      found_la="$dir/$libname.la"
+                    fi
+                  fi
+                  ;;
+              esac
+              if test "X$found_dir" != "X"; then
+                break
+              fi
+            done
+          fi
+          if test "X$found_dir" != "X"; then
+                        LTLIBGMP="${LTLIBGMP}${LTLIBGMP:+ }-L$found_dir -l$name"
+            if test "X$found_so" != "X"; then
+                                                        if test "$enable_rpath" = no \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
+                                LIBGMP="${LIBGMP}${LIBGMP:+ }$found_so"
+              else
+                                                                                haveit=
+                for x in $ltrpathdirs; do
+                  if test "X$x" = "X$found_dir"; then
+                    haveit=yes
+                    break
+                  fi
+                done
+                if test -z "$haveit"; then
+                  ltrpathdirs="$ltrpathdirs $found_dir"
+                fi
+                                if test "$acl_hardcode_direct" = yes; then
+                                                      LIBGMP="${LIBGMP}${LIBGMP:+ }$found_so"
+                else
+                  if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+                                                            LIBGMP="${LIBGMP}${LIBGMP:+ }$found_so"
+                                                            haveit=
+                    for x in $rpathdirs; do
+                      if test "X$x" = "X$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      rpathdirs="$rpathdirs $found_dir"
+                    fi
+                  else
+                                                                                haveit=
+                    for x in $LDFLAGS $LIBGMP; do
 
-  u.parts.msp = msp;
-  u.parts.lsp = lsp;
-  return u.value;
-}
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
 
-int
-main() {
-  if (std::numeric_limits<long double>::is_iec559
-      && (convert(0xaaacccaaacccaaacULL, 0xccaaacccaaacccaaULL)
-          == -7.60485409436602033833759988758780020217551374528569429669911873757906182254327119546821375294569706862634123096006179131975601459939317923749460760611755945509159249553133915285667773529968161411385504730903997838176525168965533046787887965329768475303861077507591270048979509969375307518720976751563959372182344600137482199546034650881151618280482157637543315750344472366897650456745841889271161287700829333629145672371870175300825285400580026318002741921464859617583666254762 [...]
-          && convert(0xcccaaacccaaacccaULL, 0xaacccaaacccaaaccULL)
-          == -9965833187718142564038919371244528880400911264240719763322990704886435019238181462823338415353952436874830526964270445045957245891305882920209440893355853355213758922643053767150375473715384555384564609917951254069603870739549122332594610600777084466038134002807982723703367090044608379335368276188508415489863689777967712401011928894574027307241589899644172257148781505238731702567519166576191811900643182875678049360454665894916648664135478300253607136628778029068062099599179 [...]
-          && convert(0x0000000000000000ULL, 0x0000000000000001ULL)
-          == 3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578587 [...]
-          && convert(0x8000000000000000ULL, 0x0000000000000001ULL)
-          == 3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578587 [...]
-    return 0;
-  else
-    return 1;
-}
+                      if test "X$x" = "X-L$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      LIBGMP="${LIBGMP}${LIBGMP:+ }-L$found_dir"
+                    fi
+                    if test "$acl_hardcode_minus_L" != no; then
+                                                                                        LIBGMP="${LIBGMP}${LIBGMP:+ }$found_so"
+                    else
+                                                                                                                                                                                LIBGMP="${LIBGMP}${LIBGMP:+ }-l$name"
+                    fi
+                  fi
+                fi
+              fi
+            else
+              if test "X$found_a" != "X"; then
+                                LIBGMP="${LIBGMP}${LIBGMP:+ }$found_a"
+              else
+                                                LIBGMP="${LIBGMP}${LIBGMP:+ }-L$found_dir -l$name"
+              fi
+            fi
+                        additional_includedir=
+            case "$found_dir" in
+              */$acl_libdirstem | */$acl_libdirstem/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+                if test "$name" = 'gmp'; then
+                  LIBGMP_PREFIX="$basedir"
+                fi
+                additional_includedir="$basedir/include"
+                ;;
+              */$acl_libdirstem2 | */$acl_libdirstem2/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+                if test "$name" = 'gmp'; then
+                  LIBGMP_PREFIX="$basedir"
+                fi
+                additional_includedir="$basedir/include"
+                ;;
+            esac
+            if test "X$additional_includedir" != "X"; then
+                                                                                                                if test "X$additional_includedir" != "X/usr/include"; then
+                haveit=
+                if test "X$additional_includedir" = "X/usr/local/include"; then
+                  if test -n "$GCC"; then
+                    case $host_os in
+                      linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+                    esac
+                  fi
+                fi
+                if test -z "$haveit"; then
+                  for x in $CPPFLAGS $INCGMP; do
 
-#else // SIZEOF_LONG_DOUBLE != 16
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
 
-int
-main() {
-  return 1;
-}
+                    if test "X$x" = "X-I$additional_includedir"; then
+                      haveit=yes
+                      break
+                    fi
+                  done
+                  if test -z "$haveit"; then
+                    if test -d "$additional_includedir"; then
+                                            INCGMP="${INCGMP}${INCGMP:+ }-I$additional_includedir"
+                    fi
+                  fi
+                fi
+              fi
+            fi
+                        if test -n "$found_la"; then
+                                                        save_libdir="$libdir"
+              case "$found_la" in
+                */* | *\\*) . "$found_la" ;;
+                *) . "./$found_la" ;;
+              esac
+              libdir="$save_libdir"
+                            for dep in $dependency_libs; do
+                case "$dep" in
+                  -L*)
+                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+                                                                                                                                                                if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
+                      haveit=
+                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
+                        if test -n "$GCC"; then
+                          case $host_os in
+                            linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+                          esac
+                        fi
+                      fi
+                      if test -z "$haveit"; then
+                        haveit=
+                        for x in $LDFLAGS $LIBGMP; do
 
-#endif // SIZEOF_LONG_DOUBLE != 16
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
 
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+                          if test "X$x" = "X-L$additional_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$additional_libdir"; then
+                                                        LIBGMP="${LIBGMP}${LIBGMP:+ }-L$additional_libdir"
+                          fi
+                        fi
+                        haveit=
+                        for x in $LDFLAGS $LTLIBGMP; do
 
-cat >>confdefs.h <<\_ACEOF
-#define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_INTEL_DOUBLE_EXTENDED
-_ACEOF
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
 
-  ac_cxx_long_double_binary_format="Intel Double-Extended"
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+                          if test "X$x" = "X-L$additional_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$additional_libdir"; then
+                                                        LTLIBGMP="${LTLIBGMP}${LTLIBGMP:+ }-L$additional_libdir"
+                          fi
+                        fi
+                      fi
+                    fi
+                    ;;
+                  -R*)
+                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
+                    if test "$enable_rpath" != no; then
+                                                                  haveit=
+                      for x in $rpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        rpathdirs="$rpathdirs $dir"
+                      fi
+                                                                  haveit=
+                      for x in $ltrpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        ltrpathdirs="$ltrpathdirs $dir"
+                      fi
+                    fi
+                    ;;
+                  -l*)
+                                        names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+                    ;;
+                  *.la)
+                                                                                names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+                    ;;
+                  *)
+                                        LIBGMP="${LIBGMP}${LIBGMP:+ }$dep"
+                    LTLIBGMP="${LTLIBGMP}${LTLIBGMP:+ }$dep"
+                    ;;
+                esac
+              done
+            fi
+          else
+                                                            LIBGMP="${LIBGMP}${LIBGMP:+ }-l$name"
+            LTLIBGMP="${LTLIBGMP}${LTLIBGMP:+ }-l$name"
+          fi
+        fi
+      fi
+    done
+  done
+  if test "X$rpathdirs" != "X"; then
+    if test -n "$acl_hardcode_libdir_separator"; then
+                        alldirs=
+      for found_dir in $rpathdirs; do
+        alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
+      done
+            acl_save_libdir="$libdir"
+      libdir="$alldirs"
+      eval flag=\"$acl_hardcode_libdir_flag_spec\"
+      libdir="$acl_save_libdir"
+      LIBGMP="${LIBGMP}${LIBGMP:+ }$flag"
+    else
+            for found_dir in $rpathdirs; do
+        acl_save_libdir="$libdir"
+        libdir="$found_dir"
+        eval flag=\"$acl_hardcode_libdir_flag_spec\"
+        libdir="$acl_save_libdir"
+        LIBGMP="${LIBGMP}${LIBGMP:+ }$flag"
+      done
+    fi
+  fi
+  if test "X$ltrpathdirs" != "X"; then
+            for found_dir in $ltrpathdirs; do
+      LTLIBGMP="${LTLIBGMP}${LTLIBGMP:+ }-R$found_dir"
+    done
+  fi
 
-( exit $ac_status )
-ac_cxx_long_double_binary_format=unknown
-fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
 
 
-fi
 
-if test x"$ac_cxx_long_double_binary_format" = x"unknown"
-then
-if test "$cross_compiling" = yes; then
-  ac_cxx_long_double_binary_format=unknown
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
-#include <limits>
-#ifdef HAVE_STDINT_H
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-#include <stdint.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
 
-#if SIZEOF_LONG_DOUBLE == 8
+    ac_cv_libgmp_libs="$LIBGMP"
+    ac_cv_libgmp_ltlibs="$LTLIBGMP"
+    ac_cv_libgmp_cppflags="$INCGMP"
+    ac_cv_libgmp_prefix="$LIBGMP_PREFIX"
 
-double
-convert(uint32_t msp, uint32_t lsp) {
-  union {
-    long double value;
-    struct {
-#ifdef WORDS_BIGENDIAN
-      uint32_t msp;
-      uint32_t lsp;
-#else
-      uint32_t lsp;
-      uint32_t msp;
-#endif
-    } parts;
-  } u;
-
-  u.parts.msp = msp;
-  u.parts.lsp = lsp;
-  return u.value;
-}
-
-int
-main() {
-  if (std::numeric_limits<long double>::is_iec559
-      && (convert(0xaaacccaaUL, 0xacccaaacUL)
-          == -4.018242396032647085467373664662028399901175154542925376476863248797653889888945947404163925979898721593782464256360719269163883854613473748830842329884157359816532025640075051481726120707111709993717456369512975427023957197464411926714771905463723621065863511603311053477227687835693359375e-103L
-          && convert(0xcccaaaccUL, 0xcaaacccaUL)
-	  == -85705035845709846787631445265530356117787053916987832397725696.0L
-          && convert(0x00000000UL, 0x00000001UL)
-          == 4.940656458412465441765687928682213723650598026143247644255856825006755072702087518652998363616359923797965646954457177309266567103559397963987747960107818781263007131903114045278458171678489821036887186360569987307230500063874091535649843873124733972731696151400317153853980741262385655911710266585566867681870395603106249319452715914924553293054565444011274801297099995419319894090804165633245247571478690147267801593552386115501348035264934720193790268107107491703332226844753 [...]
-          && convert(0x80000000UL, 0x00000001UL)
-          == -4.94065645841246544176568792868221372365059802614324764425585682500675507270208751865299836361635992379796564695445717730926656710355939796398774796010781878126300713190311404527845817167848982103688718636056998730723050006387409153564984387312473397273169615140031715385398074126238565591171026658556686768187039560310624931945271591492455329305456544401127480129709999541931989409080416563324524757147869014726780159355238611550134803526493472019379026810710749170333222684475 [...]
-    return 0;
-  else
-    return 1;
-}
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libgmp_libs" >&5
+$as_echo "$ac_cv_libgmp_libs" >&6; }
+  LIBGMP="$ac_cv_libgmp_libs"
+  LTLIBGMP="$ac_cv_libgmp_ltlibs"
+  INCGMP="$ac_cv_libgmp_cppflags"
+  LIBGMP_PREFIX="$ac_cv_libgmp_prefix"
 
-#else // SIZEOF_LONG_DOUBLE != 8
+  for element in $INCGMP; do
+    haveit=
+    for x in $CPPFLAGS; do
 
-int
-main() {
-  return 1;
-}
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
 
-#endif // SIZEOF_LONG_DOUBLE != 8
+      if test "X$x" = "X$element"; then
+        haveit=yes
+        break
+      fi
+    done
+    if test -z "$haveit"; then
+      CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
+    fi
+  done
 
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
 
-cat >>confdefs.h <<\_ACEOF
-#define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE
-_ACEOF
 
-  ac_cxx_long_double_binary_format="IEEE754 Double Precision"
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-( exit $ac_status )
-ac_cxx_long_double_binary_format=unknown
-fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
+      HAVE_LIBGMP=yes
 
 
-fi
 
-{ $as_echo "$as_me:$LINENO: result: $ac_cxx_long_double_binary_format" >&5
-$as_echo "$ac_cxx_long_double_binary_format" >&6; }
 
 
 
-ac_save_CPPFLAGS="$CPPFLAGS"
-ac_save_LIBS="$LIBS"
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 
-{ $as_echo "$as_me:$LINENO: checking whether C++ provides exact output for long doubles" >&5
-$as_echo_n "checking whether C++ provides exact output for long doubles... " >&6; }
 
-if test "$cross_compiling" = yes; then
-  { $as_echo "$as_me:$LINENO: result: assuming not" >&5
-$as_echo "assuming not" >&6; }
-  ac_cxx_long_double_exact_output=0
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libgmpxx" >&5
+$as_echo_n "checking how to link with libgmpxx... " >&6; }
+if test "${ac_cv_libgmpxx_libs+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#include <limits>
-#ifdef HAVE_STDINT_H
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-#include <stdint.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-#include <sstream>
-
-/* Unique (nonzero) code for the IEEE 754 Single Precision
-   floating point format.  */
-# define PPL_FLOAT_IEEE754_SINGLE 1
-
-/* Unique (nonzero) code for the IEEE 754 Double Precision
-   floating point format.  */
-# define PPL_FLOAT_IEEE754_DOUBLE 2
-
-/* Unique (nonzero) code for the IEEE 754 Quad Precision
-   floating point format.  */
-# define PPL_FLOAT_IEEE754_QUAD 3
-
-/* Unique (nonzero) code for the Intel Double-Extended
-   floating point format.  */
-# define PPL_FLOAT_INTEL_DOUBLE_EXTENDED 4
-
-bool
-check(long double value, const char* text) {
-  std::ostringstream ss;
-  ss.precision(10000);
-  ss << value;
-  return ss.str() == text;
-}
 
-#if SIZEOF_LONG_DOUBLE == 12
 
-long double
-convert(uint32_t msp, uint64_t lsp) {
-  union {
-    long double value;
-    struct {
-#ifdef WORDS_BIGENDIAN
-      uint32_t msp;
-      uint64_t lsp;
-#else
-      uint64_t lsp;
-      uint32_t msp;
-#endif
-    } parts;
-  } u;
 
-  u.parts.msp = msp;
-  u.parts.lsp = lsp;
-  return u.value;
-}
 
-#if PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED
 
-int
-main() {
-  if (check(convert(0xaaacccaaUL, 0xacccaaacccaaacccULL),
-            "-2347515119623533044836098728848844802360499059743792266553789449931714103027083147350004052130909778252174381128110073162061230391014115892328306480775581568464385654456454167018199800371311459509865035007576337091690846028483890278748770302000164922066968427857731908531920447109369397262198780877931467490364866823668872333299978555289484532591724489792080483029098529153534398647750864910040989348665150713407129673962368698401443396580325986886785546510945722073165626067034 [...]
-      && check(convert(0xcccaaaccUL, 0xcaaacccaaacccaaaULL),
-               "-3.23434990843367356978836243375823670140137920038631047807023049120171609457620808873309220935271108176353097313943940275472100621788903190230956690534410676669705059335585140518969412596610080153759381132049385057915293867970546587078868452351854180615879140837871859693613285468342558175420524259461419246587664010262843224689767458364974546764113923420713958481010186877291531245407558226524068718427924386121735166705992087823616450647326179770339398151079922803077815239 [...]
-      && check(convert(0x00000000UL, 0x0000000000000001ULL),
-               "3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578 [...]
-      && check(convert(0x80000000UL, 0x0000000000000001ULL),
-               "3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578 [...]
-    return 0;
-  else
-    return 1;
-}
 
-#else // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
 
-int
-main() {
-  return 1;
-}
 
-#endif // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
+    use_additional=yes
 
-#elif SIZEOF_LONG_DOUBLE == 16
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
 
-long double
-convert(uint64_t msp, uint64_t lsp) {
-  union {
-    long double value;
-    struct {
-#ifdef WORDS_BIGENDIAN
-      uint64_t msp;
-      uint64_t lsp;
-#else
-      uint64_t lsp;
-      uint64_t msp;
-#endif
-    } parts;
-  } u;
+    eval additional_includedir=\"$includedir\"
+    eval additional_libdir=\"$libdir\"
 
-  u.parts.msp = msp;
-  u.parts.lsp = lsp;
-  return u.value;
-}
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
 
-#if PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_QUAD
 
-int
-main() {
-  if (check(convert(0xaaacccaaacccaaacULL, 0xccaaacccaaacccaaULL),
-            "-8.55855653885100434741341853993902633367349104766375354667159377718342093894815477326286823233135691805519944470138219932524951165689852082013017904043605683486724317550972746307400400204571080045247416605879743573136814766221652651396476675668866980798618379071105211750397249729982891787041148520384572930274879267722158826932337019191713973025403784448443813348692062209940856126724493492803365972504505177354875652033856070760087261648660638833868952644144747756799606849182 [...]
-      && check(convert(0xcccaaacccaaacccaULL, 0xaacccaaacccaaaccULL),
-               "-1245145811075115522107964569349668036873048429802955738289544979224937529833971888147113044115600185809657440463151337899852742080173681519641002844007842161066491872877272689899483098933357761372012363074222544903849943421327866952518563408226075393323377411859119799862094642227761121175434773105923957353216410161917656139242348962530519313341883531064222310528951125334264629650711950000833461188453888512224682758538996197678583645934917458956166559210225915729833706160 [...]
-      && check(convert(0x0000000000000000ULL, 0x0000000000000001ULL),
-               "6.475175119438025110924438958227646552499569338034681009689884389197039540124119371017671491276649940255878141476848119676587219886382542046685110071972617983042792710751334934416734625638471740239448526505553990391455556252171148068070822034688256982476272828789103028357337561348031062386564592639826226991907907867663262065711211583064657196068308332845234453069760526489447660964579313751403402631804350039948870075255648713368066117879403155766713303467434937062409411685 [...]
-      && check(convert(0x8000000000000000ULL, 0x0000000000000001ULL),
-               "-6.47517511943802511092443895822764655249956933803468100968988438919703954012411937101767149127664994025587814147684811967658721988638254204668511007197261798304279271075133493441673462563847174023944852650555399039145555625217114806807082203468825698247627282878910302835733756134803106238656459263982622699190790786766326206571121158306465719606830833284523445306976052648944766096457931375140340263180435003994887007525564871336806611787940315576671330346743493706240941168 [...]
-    return 0;
-  else
-    return 1;
-}
+# Check whether --with-gmp-prefix was given.
+if test "${with_gmp_prefix+set}" = set; then :
+  withval=$with_gmp_prefix;
+    if test "X$withval" = "Xno"; then
+      use_additional=no
+    else
+      if test "X$withval" = "X"; then
 
-#elif PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
 
-int
-main() {
-  if (check(convert(0xaaacccaaacccaaacULL, 0xccaaacccaaacccaaULL),
-            "-7.60485409436602033833759988758780020217551374528569429669911873757906182254327119546821375294569706862634123096006179131975601459939317923749460760611755945509159249553133915285667773529968161411385504730903997838176525168965533046787887965329768475303861077507591270048979509969375307518720976751563959372182344600137482199546034650881151618280482157637543315750344472366897650456745841889271161287700829333629145672371870175300825285400580026318002741921464859617583666254762 [...]
-      && check(convert(0xcccaaacccaaacccaULL, 0xaacccaaacccaaaccULL),
-               "-9965833187718142564038919371244528880400911264240719763322990704886435019238181462823338415353952436874830526964270445045957245891305882920209440893355853355213758922643053767150375473715384555384564609917951254069603870739549122332594610600777084466038134002807982723703367090044608379335368276188508415489863689777967712401011928894574027307241589899644172257148781505238731702567519166576191811900643182875678049360454665894916648664135478300253607136628778029068062099599 [...]
-      && check(convert(0x0000000000000000ULL, 0x0000000000000001ULL),
-               "3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578 [...]
-      && check(convert(0x8000000000000000ULL, 0x0000000000000001ULL),
-               "3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578 [...]
-    return 0;
-  else
-    return 1;
-}
+          eval additional_includedir=\"$includedir\"
+          eval additional_libdir=\"$libdir\"
 
-#else // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
 
-int
-main() {
-  return 1;
-}
+      else
+        additional_includedir="$withval/include"
+        additional_libdir="$withval/$acl_libdirstem"
+        if test "$acl_libdirstem2" != "$acl_libdirstem" \
+           && ! test -d "$withval/$acl_libdirstem"; then
+          additional_libdir="$withval/$acl_libdirstem2"
+        fi
+      fi
+    fi
 
-#endif // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
+fi
 
-#elif SIZEOF_LONG_DOUBLE == 8
+      LIBGMPXX=
+  LTLIBGMPXX=
+  INCGMPXX=
+  LIBGMPXX_PREFIX=
+      HAVE_LIBGMPXX=
+  rpathdirs=
+  ltrpathdirs=
+  names_already_handled=
+  names_next_round='gmpxx gmp'
+  while test -n "$names_next_round"; do
+    names_this_round="$names_next_round"
+    names_next_round=
+    for name in $names_this_round; do
+      already_handled=
+      for n in $names_already_handled; do
+        if test "$n" = "$name"; then
+          already_handled=yes
+          break
+        fi
+      done
+      if test -z "$already_handled"; then
+        names_already_handled="$names_already_handled $name"
+                        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
+        eval value=\"\$HAVE_LIB$uppername\"
+        if test -n "$value"; then
+          if test "$value" = yes; then
+            eval value=\"\$LIB$uppername\"
+            test -z "$value" || LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }$value"
+            eval value=\"\$LTLIB$uppername\"
+            test -z "$value" || LTLIBGMPXX="${LTLIBGMPXX}${LTLIBGMPXX:+ }$value"
+          else
+                                    :
+          fi
+        else
+                              found_dir=
+          found_la=
+          found_so=
+          found_a=
+          eval libname=\"$acl_libname_spec\"    # typically: libname=lib$name
+          if test -n "$acl_shlibext"; then
+            shrext=".$acl_shlibext"             # typically: shrext=.so
+          else
+            shrext=
+          fi
+          if test $use_additional = yes; then
+            dir="$additional_libdir"
+                                    if test -n "$acl_shlibext"; then
+              if test -f "$dir/$libname$shrext"; then
+                found_dir="$dir"
+                found_so="$dir/$libname$shrext"
+              else
+                if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+                  ver=`(cd "$dir" && \
+                        for f in "$libname$shrext".*; do echo "$f"; done \
+                        | sed -e "s,^$libname$shrext\\\\.,," \
+                        | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+                        | sed 1q ) 2>/dev/null`
+                  if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+                    found_dir="$dir"
+                    found_so="$dir/$libname$shrext.$ver"
+                  fi
+                else
+                  eval library_names=\"$acl_library_names_spec\"
+                  for f in $library_names; do
+                    if test -f "$dir/$f"; then
+                      found_dir="$dir"
+                      found_so="$dir/$f"
+                      break
+                    fi
+                  done
+                fi
+              fi
+            fi
+                        if test "X$found_dir" = "X"; then
+              if test -f "$dir/$libname.$acl_libext"; then
+                found_dir="$dir"
+                found_a="$dir/$libname.$acl_libext"
+              fi
+            fi
+            if test "X$found_dir" != "X"; then
+              if test -f "$dir/$libname.la"; then
+                found_la="$dir/$libname.la"
+              fi
+            fi
+          fi
+          if test "X$found_dir" = "X"; then
+            for x in $LDFLAGS $LTLIBGMPXX; do
 
-double
-convert(uint32_t msp, uint32_t lsp) {
-  union {
-    long double value;
-    struct {
-#ifdef WORDS_BIGENDIAN
-      uint32_t msp;
-      uint32_t lsp;
-#else
-      uint32_t lsp;
-      uint32_t msp;
-#endif
-    } parts;
-  } u;
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
 
-  u.parts.msp = msp;
-  u.parts.lsp = lsp;
-  return u.value;
-}
+              case "$x" in
+                -L*)
+                  dir=`echo "X$x" | sed -e 's/^X-L//'`
+                                    if test -n "$acl_shlibext"; then
+                    if test -f "$dir/$libname$shrext"; then
+                      found_dir="$dir"
+                      found_so="$dir/$libname$shrext"
+                    else
+                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+                        ver=`(cd "$dir" && \
+                              for f in "$libname$shrext".*; do echo "$f"; done \
+                              | sed -e "s,^$libname$shrext\\\\.,," \
+                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+                              | sed 1q ) 2>/dev/null`
+                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+                          found_dir="$dir"
+                          found_so="$dir/$libname$shrext.$ver"
+                        fi
+                      else
+                        eval library_names=\"$acl_library_names_spec\"
+                        for f in $library_names; do
+                          if test -f "$dir/$f"; then
+                            found_dir="$dir"
+                            found_so="$dir/$f"
+                            break
+                          fi
+                        done
+                      fi
+                    fi
+                  fi
+                                    if test "X$found_dir" = "X"; then
+                    if test -f "$dir/$libname.$acl_libext"; then
+                      found_dir="$dir"
+                      found_a="$dir/$libname.$acl_libext"
+                    fi
+                  fi
+                  if test "X$found_dir" != "X"; then
+                    if test -f "$dir/$libname.la"; then
+                      found_la="$dir/$libname.la"
+                    fi
+                  fi
+                  ;;
+              esac
+              if test "X$found_dir" != "X"; then
+                break
+              fi
+            done
+          fi
+          if test "X$found_dir" != "X"; then
+                        LTLIBGMPXX="${LTLIBGMPXX}${LTLIBGMPXX:+ }-L$found_dir -l$name"
+            if test "X$found_so" != "X"; then
+                                                        if test "$enable_rpath" = no \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
+                                LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }$found_so"
+              else
+                                                                                haveit=
+                for x in $ltrpathdirs; do
+                  if test "X$x" = "X$found_dir"; then
+                    haveit=yes
+                    break
+                  fi
+                done
+                if test -z "$haveit"; then
+                  ltrpathdirs="$ltrpathdirs $found_dir"
+                fi
+                                if test "$acl_hardcode_direct" = yes; then
+                                                      LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }$found_so"
+                else
+                  if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+                                                            LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }$found_so"
+                                                            haveit=
+                    for x in $rpathdirs; do
+                      if test "X$x" = "X$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      rpathdirs="$rpathdirs $found_dir"
+                    fi
+                  else
+                                                                                haveit=
+                    for x in $LDFLAGS $LIBGMPXX; do
 
-#if PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
 
-int
-main() {
-  if (check(convert(0xaaacccaaUL, 0xacccaaacUL),
-            "-4.018242396032647085467373664662028399901175154542925376476863248797653889888945947404163925979898721593782464256360719269163883854613473748830842329884157359816532025640075051481726120707111709993717456369512975427023957197464411926714771905463723621065863511603311053477227687835693359375e-103")
-      && check(convert(0xcccaaaccUL, 0xcaaacccaUL),
-               "-85705035845709846787631445265530356117787053916987832397725696")
-      && check(convert(0x00000000UL, 0x00000001UL),
-               "4.940656458412465441765687928682213723650598026143247644255856825006755072702087518652998363616359923797965646954457177309266567103559397963987747960107818781263007131903114045278458171678489821036887186360569987307230500063874091535649843873124733972731696151400317153853980741262385655911710266585566867681870395603106249319452715914924553293054565444011274801297099995419319894090804165633245247571478690147267801593552386115501348035264934720193790268107107491703332226844 [...]
-      && check(convert(0x80000000UL, 0x00000001UL),
-               "-4.94065645841246544176568792868221372365059802614324764425585682500675507270208751865299836361635992379796564695445717730926656710355939796398774796010781878126300713190311404527845817167848982103688718636056998730723050006387409153564984387312473397273169615140031715385398074126238565591171026658556686768187039560310624931945271591492455329305456544401127480129709999541931989409080416563324524757147869014726780159355238611550134803526493472019379026810710749170333222684 [...]
-    return 0;
-  else
-    return 1;
-}
+                      if test "X$x" = "X-L$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }-L$found_dir"
+                    fi
+                    if test "$acl_hardcode_minus_L" != no; then
+                                                                                        LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }$found_so"
+                    else
+                                                                                                                                                                                LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }-l$name"
+                    fi
+                  fi
+                fi
+              fi
+            else
+              if test "X$found_a" != "X"; then
+                                LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }$found_a"
+              else
+                                                LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }-L$found_dir -l$name"
+              fi
+            fi
+                        additional_includedir=
+            case "$found_dir" in
+              */$acl_libdirstem | */$acl_libdirstem/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+                if test "$name" = 'gmpxx'; then
+                  LIBGMPXX_PREFIX="$basedir"
+                fi
+                additional_includedir="$basedir/include"
+                ;;
+              */$acl_libdirstem2 | */$acl_libdirstem2/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+                if test "$name" = 'gmpxx'; then
+                  LIBGMPXX_PREFIX="$basedir"
+                fi
+                additional_includedir="$basedir/include"
+                ;;
+            esac
+            if test "X$additional_includedir" != "X"; then
+                                                                                                                if test "X$additional_includedir" != "X/usr/include"; then
+                haveit=
+                if test "X$additional_includedir" = "X/usr/local/include"; then
+                  if test -n "$GCC"; then
+                    case $host_os in
+                      linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+                    esac
+                  fi
+                fi
+                if test -z "$haveit"; then
+                  for x in $CPPFLAGS $INCGMPXX; do
 
-#else // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_IEEE754_DOUBLE
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
 
-int
-main() {
-  return 1;
-}
+                    if test "X$x" = "X-I$additional_includedir"; then
+                      haveit=yes
+                      break
+                    fi
+                  done
+                  if test -z "$haveit"; then
+                    if test -d "$additional_includedir"; then
+                                            INCGMPXX="${INCGMPXX}${INCGMPXX:+ }-I$additional_includedir"
+                    fi
+                  fi
+                fi
+              fi
+            fi
+                        if test -n "$found_la"; then
+                                                        save_libdir="$libdir"
+              case "$found_la" in
+                */* | *\\*) . "$found_la" ;;
+                *) . "./$found_la" ;;
+              esac
+              libdir="$save_libdir"
+                            for dep in $dependency_libs; do
+                case "$dep" in
+                  -L*)
+                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+                                                                                                                                                                if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
+                      haveit=
+                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
+                        if test -n "$GCC"; then
+                          case $host_os in
+                            linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+                          esac
+                        fi
+                      fi
+                      if test -z "$haveit"; then
+                        haveit=
+                        for x in $LDFLAGS $LIBGMPXX; do
 
-#endif // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_IEEE754_DOUBLE
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
 
-#else // SIZEOF_LONG_DOUBLE != 8
-
-int
-main() {
-  return 1;
-}
-
-#endif // SIZEOF_LONG_DOUBLE != 8
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-  ac_cxx_long_double_exact_output=1
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-  ac_cxx_long_double_exact_output=0
-fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
+                          if test "X$x" = "X-L$additional_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$additional_libdir"; then
+                                                        LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }-L$additional_libdir"
+                          fi
+                        fi
+                        haveit=
+                        for x in $LDFLAGS $LTLIBGMPXX; do
 
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
 
+                          if test "X$x" = "X-L$additional_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$additional_libdir"; then
+                                                        LTLIBGMPXX="${LTLIBGMPXX}${LTLIBGMPXX:+ }-L$additional_libdir"
+                          fi
+                        fi
+                      fi
+                    fi
+                    ;;
+                  -R*)
+                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
+                    if test "$enable_rpath" != no; then
+                                                                  haveit=
+                      for x in $rpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        rpathdirs="$rpathdirs $dir"
+                      fi
+                                                                  haveit=
+                      for x in $ltrpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        ltrpathdirs="$ltrpathdirs $dir"
+                      fi
+                    fi
+                    ;;
+                  -l*)
+                                        names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+                    ;;
+                  *.la)
+                                                                                names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+                    ;;
+                  *)
+                                        LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }$dep"
+                    LTLIBGMPXX="${LTLIBGMPXX}${LTLIBGMPXX:+ }$dep"
+                    ;;
+                esac
+              done
+            fi
+          else
+                                                            LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }-l$name"
+            LTLIBGMPXX="${LTLIBGMPXX}${LTLIBGMPXX:+ }-l$name"
+          fi
+        fi
+      fi
+    done
+  done
+  if test "X$rpathdirs" != "X"; then
+    if test -n "$acl_hardcode_libdir_separator"; then
+                        alldirs=
+      for found_dir in $rpathdirs; do
+        alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
+      done
+            acl_save_libdir="$libdir"
+      libdir="$alldirs"
+      eval flag=\"$acl_hardcode_libdir_flag_spec\"
+      libdir="$acl_save_libdir"
+      LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }$flag"
+    else
+            for found_dir in $rpathdirs; do
+        acl_save_libdir="$libdir"
+        libdir="$found_dir"
+        eval flag=\"$acl_hardcode_libdir_flag_spec\"
+        libdir="$acl_save_libdir"
+        LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }$flag"
+      done
+    fi
+  fi
+  if test "X$ltrpathdirs" != "X"; then
+            for found_dir in $ltrpathdirs; do
+      LTLIBGMPXX="${LTLIBGMPXX}${LTLIBGMPXX:+ }-R$found_dir"
+    done
+  fi
 
 
-cat >>confdefs.h <<_ACEOF
-#define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT $ac_cxx_long_double_exact_output
-_ACEOF
 
 
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
-CPPFLAGS="$ac_save_CPPFLAGS"
-LIBS="$ac_save_LIBS"
 
+    ac_cv_libgmpxx_libs="$LIBGMPXX"
+    ac_cv_libgmpxx_ltlibs="$LTLIBGMPXX"
+    ac_cv_libgmpxx_cppflags="$INCGMPXX"
+    ac_cv_libgmpxx_prefix="$LIBGMPXX_PREFIX"
 
-if test x"$ac_cxx_long_double_binary_format" = x"unknown" || test $ac_cxx_long_double_exact_output = 0 || test $ac_cv_can_control_fpu = 0
-then
-  ac_supported_long_double=0
-else
-  ac_supported_long_double=1
-fi
- if test $ac_supported_long_double = 1; then
-  SUPPORTED_LONG_DOUBLE_TRUE=
-  SUPPORTED_LONG_DOUBLE_FALSE='#'
-else
-  SUPPORTED_LONG_DOUBLE_TRUE='#'
-  SUPPORTED_LONG_DOUBLE_FALSE=
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libgmpxx_libs" >&5
+$as_echo "$ac_cv_libgmpxx_libs" >&6; }
+  LIBGMPXX="$ac_cv_libgmpxx_libs"
+  LTLIBGMPXX="$ac_cv_libgmpxx_ltlibs"
+  INCGMPXX="$ac_cv_libgmpxx_cppflags"
+  LIBGMPXX_PREFIX="$ac_cv_libgmpxx_prefix"
 
+  for element in $INCGMPXX; do
+    haveit=
+    for x in $CPPFLAGS; do
 
-cat >>confdefs.h <<_ACEOF
-#define PPL_SUPPORTED_LONG_DOUBLE $ac_supported_long_double
-_ACEOF
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
 
+      if test "X$x" = "X$element"; then
+        haveit=yes
+        break
+      fi
+    done
+    if test -z "$haveit"; then
+      CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
+    fi
+  done
 
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
-CPPFLAGS="$ac_save_CPPFLAGS"
-LIBS="$ac_save_LIBS"
 
 
-# Check whether the C++ run-time systems provides exact output for
-# floats.
-#AC_CXX_FLOAT_EXACT_OUTPUT
+      HAVE_LIBGMPXX=yes
 
-# Check whether the C++ run-time systems provides exact output for
-# doubles.
-#AC_CXX_DOUBLE_EXACT_OUTPUT
 
-# Check whether the C++ run-time systems provides exact output for
-# long doubles.
-#AC_CXX_LONG_DOUBLE_EXACT_OUTPUT
 
-# Check whether the C++ compiler supports flexible arrays.
 
-ac_save_CPPFLAGS="$CPPFLAGS"
 ac_save_LIBS="$LIBS"
+LIBS="$LIBS $LIBGMPXX"
 ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -13159,357 +11102,205 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ex
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 
-{ $as_echo "$as_me:$LINENO: checking whether the C++ compiler supports flexible arrays" >&5
-$as_echo_n "checking whether the C++ compiler supports flexible arrays... " >&6; }
-if test "$cross_compiling" = yes; then
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the GMP library version 4.1.3 or above" >&5
+$as_echo_n "checking for the GMP library version 4.1.3 or above... " >&6; }
+if test "$cross_compiling" = yes; then :
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#include <new>
-#include <cstddef>
-
-class A {
-private:
-  int i;
-  bool b;
-
-public:
-  A()
-    : i(0), b(false) {
-  }
-};
-
-class B {
-private:
-  int capacity;
-  A vec;
-
-public:
-  void* operator new(size_t fixed_size, int c) {
-    return ::operator new(fixed_size + c*sizeof(B));
-  }
-
-  void operator delete(void* p) {
-    ::operator delete(p);
-  }
-
-  void operator delete(void* p, int) {
-    ::operator delete(p);
-  }
+#include <gmpxx.h>
 
-  B(int s)
-    : capacity(s) {
-  }
-};
+#if __GNU_MP_VERSION < 4 || (__GNU_MP_VERSION == 4 && __GNU_MP_VERSION_MINOR < 1) || (__GNU_MP_VERSION == 4 && __GNU_MP_VERSION_MINOR == 1 && __GNU_MP_VERSION_PATCHLEVEL < 3)
+#GMP version 4.1.3 or higher is required
+#endif
 
 int
 main() {
-  B* p = new (100) B(100);
-  delete p;
   return 0;
 }
 
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-    ac_cxx_supports_flexible_arrays=yes
+    ac_cv_have_gmp=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	{ $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-    ac_cxx_supports_flexible_arrays=no
+    ac_cv_have_gmp=no
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#include <new>
-#include <cstddef>
-
-class A {
-private:
-  int i;
-  bool b;
+#include <gmpxx.h>
+#include <climits>
+#include <string>
+#include <sstream>
+#include <iostream>
 
-public:
-  A()
-    : i(0), b(false) {
-  }
-};
+#if __GNU_MP_VERSION < 4 || (__GNU_MP_VERSION == 4 && __GNU_MP_VERSION_MINOR < 1) || (__GNU_MP_VERSION == 4 && __GNU_MP_VERSION_MINOR == 1 && __GNU_MP_VERSION_PATCHLEVEL < 3)
+#GMP version 4.1.3 or higher is required
+#endif
 
-class B {
-private:
-  int capacity;
-  A vec[];
+#ifndef BITS_PER_MP_LIMB
+#define BITS_PER_MP_LIMB GMP_LIMB_BITS
+#endif
 
-public:
-  void* operator new(size_t fixed_size, int c) {
-    return ::operator new(fixed_size + c*sizeof(B));
+int
+main() {
+  std::string header_version;
+  {
+    std::ostringstream s(header_version);
+    s << __GNU_MP_VERSION << "." << __GNU_MP_VERSION_MINOR;
+    // Starting from GMP version 4.3.0, the gmp_version variable
+    // always contains three parts.  In previous versions the
+    // patchlevel was omitted if it was 0.
+    if (__GNU_MP_VERSION_PATCHLEVEL != 0
+        || __GNU_MP_VERSION > 4
+        || (__GNU_MP_VERSION == 4 && __GNU_MP_VERSION_MINOR >= 3))
+      s << "." << __GNU_MP_VERSION_PATCHLEVEL;
+    header_version = s.str();
   }
 
-  void operator delete(void* p) {
-    ::operator delete(p);
-  }
+  std::string library_version = gmp_version;
 
-  void operator delete(void* p, int) {
-    ::operator delete(p);
+  if (header_version != library_version) {
+    std::cerr
+      << "GMP header (gmp.h) and library (ligmp.*) version mismatch:\n"
+      << "header gives " << header_version << ";\n"
+      << "library gives " << library_version << "." << std::endl;
+    return 1;
   }
 
-  B(int s)
-    : capacity(s) {
+  if (sizeof(mp_limb_t)*CHAR_BIT != BITS_PER_MP_LIMB
+      || BITS_PER_MP_LIMB != mp_bits_per_limb) {
+    std::cerr
+      << "GMP header (gmp.h) and library (ligmp.*) bits-per-limb mismatch:\n"
+      << "header gives " << BITS_PER_MP_LIMB << ";\n"
+      << "library gives " << mp_bits_per_limb << ".\n"
+      << "This probably means you are on a bi-arch system and\n"
+      << "you are compiling with the wrong header or linking with\n"
+      << "the wrong library." << std::endl;
+    return 1;
   }
-};
 
-int
-main() {
-  B* p = new (100) B(100);
-  delete p;
+  mpz_class n("3141592653589793238462643383279502884");
   return 0;
 }
 
 _ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
+if ac_fn_cxx_try_run "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-  ac_cxx_supports_flexible_arrays=yes
+  ac_cv_have_gmp=yes
 else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-  ac_cxx_supports_flexible_arrays=no
+  ac_cv_have_gmp=no
 fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
 
+have_gmp=${ac_cv_have_gmp}
 
-if test x"$ac_cxx_supports_flexible_arrays" = xyes
+if test x"$ac_cv_have_gmp" = xyes
 then
-  value=1
-else
-  value=0
-fi
 
-cat >>confdefs.h <<_ACEOF
-#define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS $value
-_ACEOF
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of mp_limb_t" >&5
+$as_echo_n "checking size of mp_limb_t... " >&6; }
+if test "${ac_cv_sizeof_mp_limb_t+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if ac_fn_cxx_compute_int "$LINENO" "(long int) (sizeof (mp_limb_t))" "ac_cv_sizeof_mp_limb_t"        "#include <gmpxx.h>
+"; then :
 
+else
+  if test "$ac_cv_type_mp_limb_t" = yes; then
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (mp_limb_t)
+See \`config.log' for more details" "$LINENO" 5; }
+   else
+     ac_cv_sizeof_mp_limb_t=0
+   fi
+fi
 
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_mp_limb_t" >&5
+$as_echo "$ac_cv_sizeof_mp_limb_t" >&6; }
 
-CPPFLAGS="$ac_save_CPPFLAGS"
-LIBS="$ac_save_LIBS"
 
 
-# Check whether the IEEE inexact flag is supported in C++.
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_MP_LIMB_T $ac_cv_sizeof_mp_limb_t
+_ACEOF
 
-ac_save_CPPFLAGS="$CPPFLAGS"
-ac_save_LIBS="$LIBS"
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 
-{ $as_echo "$as_me:$LINENO: checking whether the IEEE inexact flag is supported in C++" >&5
-$as_echo_n "checking whether the IEEE inexact flag is supported in C++... " >&6; }
-if test "$cross_compiling" = yes; then
-  { $as_echo "$as_me:$LINENO: result: assuming not" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether GMP has been compiled with support for exceptions" >&5
+$as_echo_n "checking whether GMP has been compiled with support for exceptions... " >&6; }
+if test "$cross_compiling" = yes; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: assuming not" >&5
 $as_echo "assuming not" >&6; }
-  ac_cxx_supports_ieee_inexact_flag=no
+  ac_cv_gmp_supports_exceptions=no
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#if defined(__i386__) && (defined(__GNUC__) || defined(__INTEL_COMPILER))
-
-int
-main() {
-  return 0;
-}
-
-#elif defined(PPL_HAVE_IEEEFP_H)					\
-  && (defined(__sparc)							\
-      || defined(sparc)							\
-      || defined(__sparc__))
+#include <gmpxx.h>
+#include <new>
+#include <cstddef>
 
-int
-main() {
-  return 0;
+static void*
+x_malloc(size_t) {
+  throw std::bad_alloc();
 }
 
-#elif !defined(HAVE_FENV_H)
-
-int
-main() {
-  return 1;
+static void*
+x_realloc(void*, size_t, size_t) {
+  throw std::bad_alloc();
 }
 
-#else
-
-#include <fenv.h>
-
-#if !defined(FE_INEXACT)
-
-int
-main() {
-  return 1;
+static void
+x_free(void*, size_t) {
 }
 
-#else // defined(FE_INEXACT)
-
-struct A {
-  double dividend;
-  double divisor;
-  bool inexact;
-} a[] = {
-  { 1.0, 2.0, false },
-  { 2.0, 3.0, true },
-};
-
 int main() {
-  for (unsigned i = 0; i < sizeof(a)/sizeof(a[0]); ++i) {
-    {
-      volatile float x = a[i].dividend;
-      volatile float y = a[i].divisor;
-      feclearexcept(FE_INEXACT);
-      x = x / y;
-      if ((fetestexcept(FE_INEXACT) != 0) != a[i].inexact)
-        return 1;
-    }
-    {
-      volatile double x = a[i].dividend;
-      volatile double y = a[i].divisor;
-      feclearexcept(FE_INEXACT);
-      x = x / y;
-      if ((fetestexcept(FE_INEXACT) != 0) != a[i].inexact)
-        return 1;
-    }
-    {
-      volatile long double x = a[i].dividend;
-      volatile long double y = a[i].divisor;
-      feclearexcept(FE_INEXACT);
-      x = x / y;
-      if ((fetestexcept(FE_INEXACT) != 0) != a[i].inexact)
-        return 1;
-    }
+  mp_set_memory_functions(x_malloc, x_realloc, x_free);
+  try {
+    mpz_class n("3141592653589793238462643383279502884");
   }
-  return 0;
+  catch (std::bad_alloc&) {
+    return 0;
+  }
+  return 1;
 }
 
-#endif // defined(FE_INEXACT)
-
-#endif
-
-
 _ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
+if ac_fn_cxx_try_run "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-  ac_cxx_supports_ieee_inexact_flag=yes
+  ac_cv_gmp_supports_exceptions=yes
 else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-  ac_cxx_supports_ieee_inexact_flag=no
+  ac_cv_gmp_supports_exceptions=no
 fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
 
-
-if test x"$ac_cxx_supports_ieee_inexact_flag" = xyes
+gmp_supports_exceptions=${ac_cv_gmp_supports_exceptions}
+if test x"$gmp_supports_exceptions" = xyes
 then
   value=1
 else
@@ -13517,7192 +11308,5735 @@ else
 fi
 
 cat >>confdefs.h <<_ACEOF
-#define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG $value
+#define PPL_GMP_SUPPORTS_EXCEPTIONS $value
 _ACEOF
 
 
+fi
+
 ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
-CPPFLAGS="$ac_save_CPPFLAGS"
 LIBS="$ac_save_LIBS"
 
+gmp_library_option="$LTLIBGMPXX"
 
-# Check whether the C++ compiler has the remainder bug.
-
-
-ac_save_CPPFLAGS="$CPPFLAGS"
-ac_save_LIBS="$LIBS"
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-{ $as_echo "$as_me:$LINENO: checking if the compiler has the remainder bug" >&5
-$as_echo_n "checking if the compiler has the remainder bug... " >&6; }
-if test "$cross_compiling" = yes; then
-  { $as_echo "$as_me:$LINENO: result: assuming yes" >&5
-$as_echo "assuming yes" >&6; }
-  ac_cv_cxx_has_remainder_bug=yes
+if test x"$have_gmp" = xno
+then
+  as_fn_error $? "Cannot find GMP version 4.1.3 or higher.
+GMP is the GNU Multi-Precision library:
+see http://www.swox.com/gmp/ for more information.
+When compiling the GMP library, do not forget to enable the C++ interface:
+add --enable-cxx to the configuration options." "$LINENO" 5
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#include <climits>
+  if test x"$have_gmpxx" = xno
+  then
+    as_fn_error $? "GMP compiled without enabling the C++ interface.
+GMP is the GNU Multi-Precision library:
+see http://www.swox.com/gmp/ for more information.
+When compiling the GMP library, do not forget to enable the C++ interface:
+add --enable-cxx to the configuration options." "$LINENO" 5
+  fi
+fi
 
-int minus_one(int n) {
-  return (n+1)*(n-1)-n*n;
-}
+ac_fn_cxx_check_member "$LINENO" "__mpz_struct" "_mp_alloc" "ac_cv_member___mpz_struct__mp_alloc" "#include <gmp.h>
+"
+if test "x$ac_cv_member___mpz_struct__mp_alloc" = x""yes; then :
 
-int p(int x, int y) {
-  int z = x % y;
-  return z;
-}
+cat >>confdefs.h <<_ACEOF
+#define HAVE___MPZ_STRUCT__MP_ALLOC 1
+_ACEOF
 
-int main(int argc, char** argv) {
-  if (p(INT_MIN, minus_one(argc)) != 0)
-    return 1;
-  else
-    return 0;
-}
 
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-  ac_cv_cxx_has_remainder_bug=no
 else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-  ac_cv_cxx_has_remainder_bug=yes
-fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+  gmp_has_changes=yes
 fi
+ac_fn_cxx_check_member "$LINENO" "__mpz_struct" "_mp_size" "ac_cv_member___mpz_struct__mp_size" "#include <gmp.h>
+"
+if test "x$ac_cv_member___mpz_struct__mp_size" = x""yes; then :
 
+cat >>confdefs.h <<_ACEOF
+#define HAVE___MPZ_STRUCT__MP_SIZE 1
+_ACEOF
 
 
-if test x"$ac_cv_cxx_has_remainder_bug" = xyes
-then
-  value=1
 else
-  value=0
+  gmp_has_changes=yes
 fi
+ac_fn_cxx_check_member "$LINENO" "__mpz_struct" "_mp_d" "ac_cv_member___mpz_struct__mp_d" "#include <gmp.h>
+"
+if test "x$ac_cv_member___mpz_struct__mp_d" = x""yes; then :
 
 cat >>confdefs.h <<_ACEOF
-#define PPL_CXX_HAS_REMAINDER_BUG $value
+#define HAVE___MPZ_STRUCT__MP_D 1
 _ACEOF
 
 
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-CPPFLAGS="$ac_save_CPPFLAGS"
-LIBS="$ac_save_LIBS"
-
-
-# Check whether the C++ compiler supports __attribute__ ((weak)).
-
-ac_save_CPPFLAGS="$CPPFLAGS"
-ac_save_LIBS="$LIBS"
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+else
+  gmp_has_changes=yes
+fi
 
 
-{ $as_echo "$as_me:$LINENO: checking whether the C++ compiler supports __attribute__ ((weak))" >&5
-$as_echo_n "checking whether the C++ compiler supports __attribute__ ((weak))... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+if test x"$gmp_has_changed" = xyes
+then
+  as_fn_error $? "GMP HAS CHANGED:
+*** The PPL exploits some implementation details of GMP that were current
+*** until (at least) version 4.1.4 of GMP.  You seem to be using a version
+*** where these details have changed.
+*** Please report this to ppl-devel at cs.unipr.it." "$LINENO" 5
+fi
 
-void
-foo() __attribute__ ((weak));
+extra_includes="${extra_includes}${extra_includes:+ }${gmp_includes_option}"
+extra_libraries="${extra_libraries}${extra_libraries:+ }${gmp_library_option}"
 
-void
-foo() {
-}
+enableval=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the Parma Watchdog Library" >&5
+$as_echo_n "checking whether to build the Parma Watchdog Library... " >&6; }
+# Check whether --enable-watchdog was given.
+if test "${enable_watchdog+set}" = set; then :
+  enableval=$enable_watchdog;
+fi
 
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+case "${enableval}" in
+yes)
+  build_watchdog_library=yes
+  ;;
+no)
+  build_watchdog_library=no
+  ;;
+*)
+  as_fn_error $? "bad value ${enableval} for --enable-watchdog, needs yes or no" "$LINENO" 5
+  ;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-  ac_cxx_supports_attribute_weak=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $build_watchdog_library" >&5
+$as_echo "$build_watchdog_library" >&6; }
+ if test x"$build_watchdog_library" = xyes; then
+  BUILD_WATCHDOG_LIBRARY_TRUE=
+  BUILD_WATCHDOG_LIBRARY_FALSE='#'
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	{ $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-  ac_cxx_supports_attribute_weak=no
+  BUILD_WATCHDOG_LIBRARY_TRUE='#'
+  BUILD_WATCHDOG_LIBRARY_FALSE=
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test x"$ac_cxx_supports_attribute_weak" = xyes
+if test x"$build_watchdog_library" = xyes
 then
-  value=1
-else
-  value=0
+
+$as_echo "#define PPL_WATCHDOG_LIBRARY_ENABLED 1" >>confdefs.h
+
 fi
 
-cat >>confdefs.h <<_ACEOF
-#define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK $value
-_ACEOF
+# Enabled or not, the Watchdog subdirectory must be configured.
 
 
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+subdirs="$subdirs Watchdog"
 
-CPPFLAGS="$ac_save_CPPFLAGS"
-LIBS="$ac_save_LIBS"
 
+enableval=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the ppl_lcdd program" >&5
+$as_echo_n "checking whether to build the ppl_lcdd program... " >&6; }
+# Check whether --enable-ppl_lcdd was given.
+if test "${enable_ppl_lcdd+set}" = set; then :
+  enableval=$enable_ppl_lcdd;
+fi
 
-# Checks for header files.
+case "${enableval}" in
+yes)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  ;;
+no)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  ;;
+*)
+  as_fn_error $? "bad value ${enableval} for --enable-ppl_lcdd, needs yes or no" "$LINENO" 5
+  ;;
+esac
+build_ppl_lcdd=$enableval
+ if test x"$build_ppl_lcdd" = xyes; then
+  BUILD_PPL_LCDD_TRUE=
+  BUILD_PPL_LCDD_FALSE='#'
+else
+  BUILD_PPL_LCDD_TRUE='#'
+  BUILD_PPL_LCDD_FALSE=
+fi
 
 
+enableval=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the ppl_lpsol program" >&5
+$as_echo_n "checking whether to build the ppl_lpsol program... " >&6; }
+# Check whether --enable-ppl_lpsol was given.
+if test "${enable_ppl_lpsol+set}" = set; then :
+  enableval=$enable_ppl_lpsol;
+fi
 
+case "${enableval}" in
+yes)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  ;;
+no)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  ;;
+*)
+  as_fn_error $? "bad value ${enableval} for --enable-ppl_lpsol, needs yes or no" "$LINENO" 5
+  ;;
+esac
+build_ppl_lpsol=$enableval
+ if test x"$build_ppl_lpsol" = xyes; then
+  BUILD_PPL_LPSOL_TRUE=
+  BUILD_PPL_LPSOL_FALSE='#'
+else
+  BUILD_PPL_LPSOL_TRUE='#'
+  BUILD_PPL_LPSOL_FALSE=
+fi
 
 
+enableval=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the ppl_pips program" >&5
+$as_echo_n "checking whether to build the ppl_pips program... " >&6; }
+# Check whether --enable-ppl_pips was given.
+if test "${enable_ppl_pips+set}" = set; then :
+  enableval=$enable_ppl_pips;
+fi
 
+case "${enableval}" in
+yes)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  ;;
+no)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  ;;
+*)
+  as_fn_error $? "bad value ${enableval} for --enable-ppl_pips, needs yes or no" "$LINENO" 5
+  ;;
+esac
+build_ppl_pips=$enableval
+ if test x"$build_ppl_pips" = xyes; then
+  BUILD_PPL_PIPS_TRUE=
+  BUILD_PPL_PIPS_FALSE='#'
+else
+  BUILD_PPL_PIPS_TRUE='#'
+  BUILD_PPL_PIPS_FALSE=
+fi
 
 
+# Define lists of available interfaces: lowercase and blank-separated.
+non_prolog_interfaces="cxx c ocaml java"
+prolog_interfaces="ciao_prolog gnu_prolog sicstus_prolog swi_prolog xsb_prolog yap_prolog"
+available_interfaces="${non_prolog_interfaces} ${prolog_interfaces}"
 
+# This is the list of interfaces that are enabled by default.
+default_interfaces=${non_prolog_interfaces}
 
-for ac_header in fenv.h ieeefp.h getopt.h signal.h string.h strings.h sys/resource.h sys/time.h sys/types.h unistd.h
-do
-as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
+enableval=not_specified
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which interfaces are enabled" >&5
+$as_echo_n "checking which interfaces are enabled... " >&6; }
+# Check whether --enable-interfaces was given.
+if test "${enable_interfaces+set}" = set; then :
+  enableval=$enable_interfaces;
 fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
-		 $as_echo "$as_val"'`
-	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
-$as_echo_n "checking $ac_header usability... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
 
-# Is the header present?
-{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
-$as_echo_n "checking $ac_header presence... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+case x"${enableval}" in
+xyes | x)
+  as_fn_error $? "--enable-interfaces needs at least one argument chosen among ${available_interfaces}, none and all" "$LINENO" 5
+  ;;
+xnone | xno)
+  for interface in ${available_interfaces}
+  do
+    eval ${interface}_interface_enabled=no
+  done
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
+$as_echo "none" >&6; }
+  ;;
+xall)
+  for interface in ${available_interfaces}
+  do
+    eval ${interface}_interface_enabled=yes
+  done
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${available_interfaces}" >&5
+$as_echo "${available_interfaces}" >&6; }
+  ;;
+*)
+  if test x"${enableval}" = xnot_specified
+  then
+    enableval=${default_interfaces}
+  fi
+  # Make the list blank-separated and lowercase; turn "c++" into "cxx".
+  required_interfaces=`echo "${enableval}" | sed -e 's/-/_/g' -e 's/[ 	,][ 	,]*/ /g' -e 's/c++/cxx/g' | tr '[:upper:]' '[:lower:]'`
+  # Check that the specified interfaces exist.
+  for interface in ${required_interfaces}
+  do
+    case " ${available_interfaces} " in
+    *\ ${interface}\ *)
+      ;;
+    *)
+      as_fn_error $? "unknown interface ${interface}: must be one of ${available_interfaces}" "$LINENO" 5
+      ;;
+    esac
+  done
+  # Initialize the enabled variable for each interface.
+  for interface in ${available_interfaces}
+  do
+    case " ${required_interfaces} " in
+    *\ ${interface}\ *)
+      eval ${interface}_interface_enabled=yes
+      enabled_interfaces="${enabled_interfaces}${enabled_interfaces:+ }${interface}"
+      ;;
+    *)
+      eval ${interface}_interface_enabled=no
+      ;;
+    esac
+  done
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${enabled_interfaces}" >&5
+$as_echo "${enabled_interfaces}" >&6; }
+  ;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-  ac_header_preproc=no
+if test x${cxx_interface_enabled} = xyes
+then
+  build_cxx_interface=yes
 fi
-
-rm -f conftest.err conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in
-  yes:no: )
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    ( cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to ppl-devel at cs.unipr.it ##
-## ------------------------------------ ##
-_ASBOX
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
+ if test x$build_cxx_interface = xyes; then
+  BUILD_CXX_INTERFACE_TRUE=
+  BUILD_CXX_INTERFACE_FALSE='#'
 else
-  eval "$as_ac_Header=\$ac_header_preproc"
+  BUILD_CXX_INTERFACE_TRUE='#'
+  BUILD_CXX_INTERFACE_FALSE=
 fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
-		 $as_echo "$as_val"'`
-	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
 
-fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-		 $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
 
+if test x${c_interface_enabled} = xyes
+then
+  build_c_interface=yes
 fi
-
-done
-
-
-# Checks for the availability of C library functions in C++.
-{ $as_echo "$as_me:$LINENO: checking whether ffs is declared" >&5
-$as_echo_n "checking whether ffs is declared... " >&6; }
-if test "${ac_cv_have_decl_ffs+set}" = set; then
-  $as_echo_n "(cached) " >&6
+ if test x$build_c_interface = xyes; then
+  BUILD_C_INTERFACE_TRUE=
+  BUILD_C_INTERFACE_FALSE='#'
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#if defined(HAVE_STRINGS_H)
-# include <strings.h>
-#elif defined(HAVE_STRING_H)
-# include <string.h>
-#endif
-
+  BUILD_C_INTERFACE_TRUE='#'
+  BUILD_C_INTERFACE_FALSE=
+fi
 
-int
-main ()
-{
-#ifndef ffs
-  (void) ffs;
-#endif
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_ffs=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+# Checks for systems for which the interface is enabled.
 
-	ac_cv_have_decl_ffs=no
-fi
+# Allow to specify the Java SDK installation directory.
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Check whether --with-java was given.
+if test "${with_java+set}" = set; then :
+  withval=$with_java; java_dir=$with_java
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_ffs" >&5
-$as_echo "$ac_cv_have_decl_ffs" >&6; }
-if test "x$ac_cv_have_decl_ffs" = x""yes; then
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_FFS 1
-_ACEOF
-
-
-else
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_FFS 0
-_ACEOF
 
+case "${host_os}" in
+# On Darwin the JDK, if present, is installed in /Library/Java/Home .
+darwin*)
+  if test "x$java_dir" = x
+  then
+    java_dir="/Library/Java/Home"
+  fi
+  ;;
+# On modern Fedora systems the JDK is usually in /usr/lib/jvm/java .
+linux*)
+  if test "x$java_dir" = x
+  then
+    java_dir="/usr/lib/jvm/java"
+  fi
+  ;;
+*)
+  ;;
+esac
 
+if test "x$java_dir" != x
+then
+  JAVAPREFIX="${java_dir}/bin"
 fi
 
+# Checks for Java.
+if test x${java_interface_enabled} = xyes
+then
+  # Check for Java programs. Order here is important: check first
+  # for the compiler.
+
 
-{ $as_echo "$as_me:$LINENO: checking whether getenv is declared" >&5
-$as_echo_n "checking whether getenv is declared... " >&6; }
-if test "${ac_cv_have_decl_getenv+set}" = set; then
+if test "x$JAVAPREFIX" = x
+then
+        test "x$JAVAC" = x && for ac_prog in javac$EXEEXT
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_JAVAC+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <cstdlib>
-
-int
-main ()
-{
-#ifndef getenv
-  (void) getenv;
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_getenv=yes
+  if test -n "$JAVAC"; then
+  ac_cv_prog_JAVAC="$JAVAC" # Let the user override the test.
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_JAVAC="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-	ac_cv_have_decl_getenv=no
 fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_getenv" >&5
-$as_echo "$ac_cv_have_decl_getenv" >&6; }
-if test "x$ac_cv_have_decl_getenv" = x""yes; then
+JAVAC=$ac_cv_prog_JAVAC
+if test -n "$JAVAC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5
+$as_echo "$JAVAC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_GETENV 1
-_ACEOF
 
+  test -n "$JAVAC" && break
+done
+test -n "$JAVAC" || JAVAC="no"
 
 else
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_GETENV 0
-_ACEOF
-
-
-fi
-{ $as_echo "$as_me:$LINENO: checking whether strtof is declared" >&5
-$as_echo_n "checking whether strtof is declared... " >&6; }
-if test "${ac_cv_have_decl_strtof+set}" = set; then
-  $as_echo_n "(cached) " >&6
+        test "x$JAVAC" = x && for ac_prog in javac$EXEEXT
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_JAVAC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <cstdlib>
-
-int
-main ()
-{
-#ifndef strtof
-  (void) strtof;
-#endif
+  case $JAVAC in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $JAVAPREFIX
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_JAVAC="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+  ;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_strtof=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_have_decl_strtof=no
 fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+JAVAC=$ac_cv_path_JAVAC
+if test -n "$JAVAC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5
+$as_echo "$JAVAC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strtof" >&5
-$as_echo "$ac_cv_have_decl_strtof" >&6; }
-if test "x$ac_cv_have_decl_strtof" = x""yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRTOF 1
-_ACEOF
-
 
-else
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRTOF 0
-_ACEOF
 
+  test -n "$JAVAC" && break
+done
+test -n "$JAVAC" || JAVAC="no"
 
 fi
-{ $as_echo "$as_me:$LINENO: checking whether strtod is declared" >&5
-$as_echo_n "checking whether strtod is declared... " >&6; }
-if test "${ac_cv_have_decl_strtod+set}" = set; then
+if test ! x$JAVAC = "xno"
+then
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $JAVAC supports enums" >&5
+$as_echo_n "checking whether $JAVAC supports enums... " >&6; }
+if test "${ac_cv_javac_supports_enums+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <cstdlib>
-
-int
-main ()
-{
-#ifndef strtod
-  (void) strtod;
-#endif
 
-  ;
-  return 0;
+JAVA_TEST=Test.java
+CLASS_TEST=Test.class
+cat << \EOF > $JAVA_TEST
+/* #line 11774 "configure" */
+public class Test {
+public enum Relation_Symbol {
+    /*! Less than. */
+    LESS_THAN,
+    /*! Less than or equal to. */
+    LESS_OR_EQUAL,
+    /*! Equal to. */
+    EQUAL,
+    /*! Greater than or equal to. */
+    GREATER_OR_EQUAL,
+    /*! Greater than. */
+    GREATER_THAN,
+ }
 }
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
+EOF
+if { ac_try='$JAVAC $JAVACFLAGS $JAVA_TEST'
+  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+  (eval $ac_try) 2>&5
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_strtod=yes
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; } >/dev/null 2>&1; then
+  ac_cv_javac_supports_enums=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_have_decl_strtod=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  echo "configure: failed program was:" >&5
+  cat $JAVA_TEST >&5
+  ac_cv_javac_supports_enums=no
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strtod" >&5
-$as_echo "$ac_cv_have_decl_strtod" >&6; }
-if test "x$ac_cv_have_decl_strtod" = x""yes; then
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRTOD 1
-_ACEOF
+rm -f $JAVA_TEST $CLASS_TEST Test\$Relation_Symbol.class
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_javac_supports_enums" >&5
+$as_echo "$ac_cv_javac_supports_enums" >&6; }
 
-else
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRTOD 0
-_ACEOF
+fi
 
 
-fi
-{ $as_echo "$as_me:$LINENO: checking whether strtold is declared" >&5
-$as_echo_n "checking whether strtold is declared... " >&6; }
-if test "${ac_cv_have_decl_strtold+set}" = set; then
+if test x$JAVAPREFIX = x; then
+        test x$JAVA = x && for ac_prog in java$EXEEXT
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_JAVA+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <cstdlib>
-
-int
-main ()
-{
-#ifndef strtold
-  (void) strtold;
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_strtold=yes
+  if test -n "$JAVA"; then
+  ac_cv_prog_JAVA="$JAVA" # Let the user override the test.
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_JAVA="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-	ac_cv_have_decl_strtold=no
 fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strtold" >&5
-$as_echo "$ac_cv_have_decl_strtold" >&6; }
-if test "x$ac_cv_have_decl_strtold" = x""yes; then
+JAVA=$ac_cv_prog_JAVA
+if test -n "$JAVA"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVA" >&5
+$as_echo "$JAVA" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRTOLD 1
-_ACEOF
 
+  test -n "$JAVA" && break
+done
+test -n "$JAVA" || JAVA="no"
 
 else
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRTOLD 0
-_ACEOF
-
-
-fi
-{ $as_echo "$as_me:$LINENO: checking whether strtoll is declared" >&5
-$as_echo_n "checking whether strtoll is declared... " >&6; }
-if test "${ac_cv_have_decl_strtoll+set}" = set; then
+        test x$JAVA = x && for ac_prog in java$EXEEXT
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_JAVA+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <cstdlib>
-
-int
-main ()
-{
-#ifndef strtoll
-  (void) strtoll;
-#endif
+  case $JAVA in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_JAVA="$JAVA" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $JAVAPREFIX
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_JAVA="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+  ;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_strtoll=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_have_decl_strtoll=no
 fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+JAVA=$ac_cv_path_JAVA
+if test -n "$JAVA"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVA" >&5
+$as_echo "$JAVA" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strtoll" >&5
-$as_echo "$ac_cv_have_decl_strtoll" >&6; }
-if test "x$ac_cv_have_decl_strtoll" = x""yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRTOLL 1
-_ACEOF
-
 
-else
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRTOLL 0
-_ACEOF
 
+  test -n "$JAVA" && break
+done
+test -n "$JAVA" || JAVA="no"
 
 fi
-{ $as_echo "$as_me:$LINENO: checking whether strtoull is declared" >&5
-$as_echo_n "checking whether strtoull is declared... " >&6; }
-if test "${ac_cv_have_decl_strtoull+set}" = set; then
+if test ! x$JAVA = "xno"
+then
+
+# Extract the first word of "uudecode$EXEEXT", so it can be a program name with args.
+set dummy uudecode$EXEEXT; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_uudecode+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <cstdlib>
-
-int
-main ()
-{
-#ifndef strtoull
-  (void) strtoull;
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_strtoull=yes
+  if test -n "$uudecode"; then
+  ac_cv_prog_uudecode="$uudecode" # Let the user override the test.
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_uudecode="yes"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-	ac_cv_have_decl_strtoull=no
 fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strtoull" >&5
-$as_echo "$ac_cv_have_decl_strtoull" >&6; }
-if test "x$ac_cv_have_decl_strtoull" = x""yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRTOULL 1
-_ACEOF
-
-
+uudecode=$ac_cv_prog_uudecode
+if test -n "$uudecode"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $uudecode" >&5
+$as_echo "$uudecode" >&6; }
 else
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRTOULL 0
-_ACEOF
-
-
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
-{ $as_echo "$as_me:$LINENO: checking whether fma is declared" >&5
-$as_echo_n "checking whether fma is declared... " >&6; }
-if test "${ac_cv_have_decl_fma+set}" = set; then
+if test x$uudecode = xyes; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if uudecode can decode base 64 file" >&5
+$as_echo_n "checking if uudecode can decode base 64 file... " >&6; }
+if test "${ac_cv_prog_uudecode_base64+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <cmath>
 
-int
-main ()
-{
-#ifndef fma
-  (void) fma;
-#endif
+cat << \EOF > Test.uue
+begin-base64 644 Test.class
+yv66vgADAC0AFQcAAgEABFRlc3QHAAQBABBqYXZhL2xhbmcvT2JqZWN0AQAE
+bWFpbgEAFihbTGphdmEvbGFuZy9TdHJpbmc7KVYBAARDb2RlAQAPTGluZU51
+bWJlclRhYmxlDAAKAAsBAARleGl0AQAEKEkpVgoADQAJBwAOAQAQamF2YS9s
+YW5nL1N5c3RlbQEABjxpbml0PgEAAygpVgwADwAQCgADABEBAApTb3VyY2VG
+aWxlAQAJVGVzdC5qYXZhACEAAQADAAAAAAACAAkABQAGAAEABwAAACEAAQAB
+AAAABQO4AAyxAAAAAQAIAAAACgACAAAACgAEAAsAAQAPABAAAQAHAAAAIQAB
+AAEAAAAFKrcAErEAAAABAAgAAAAKAAIAAAAEAAQABAABABMAAAACABQ=
+====
+EOF
+if uudecode$EXEEXT Test.uue; then
+        ac_cv_prog_uudecode_base64=yes
+else
+        echo "configure: 11965: uudecode had trouble decoding base 64 file 'Test.uue'" >&5
+        echo "configure: failed file was:" >&5
+        cat Test.uue >&5
+        ac_cv_prog_uudecode_base64=no
+fi
+rm -f Test.uue
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_uudecode_base64" >&5
+$as_echo "$ac_cv_prog_uudecode_base64" >&6; }
+fi
+if test x$ac_cv_prog_uudecode_base64 != xyes; then
+        rm -f Test.class
+        if test x$ac_cv_javac_supports_enums = x; then
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_fma=yes
+if test "x$JAVAPREFIX" = x
+then
+        test "x$JAVAC" = x && for ac_prog in javac$EXEEXT
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_JAVAC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  if test -n "$JAVAC"; then
+  ac_cv_prog_JAVAC="$JAVAC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_JAVAC="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-	ac_cv_have_decl_fma=no
 fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_fma" >&5
-$as_echo "$ac_cv_have_decl_fma" >&6; }
-if test "x$ac_cv_have_decl_fma" = x""yes; then
+JAVAC=$ac_cv_prog_JAVAC
+if test -n "$JAVAC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5
+$as_echo "$JAVAC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_FMA 1
-_ACEOF
 
+  test -n "$JAVAC" && break
+done
+test -n "$JAVAC" || JAVAC="no"
 
 else
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_FMA 0
-_ACEOF
-
-
-fi
-{ $as_echo "$as_me:$LINENO: checking whether fmaf is declared" >&5
-$as_echo_n "checking whether fmaf is declared... " >&6; }
-if test "${ac_cv_have_decl_fmaf+set}" = set; then
+        test "x$JAVAC" = x && for ac_prog in javac$EXEEXT
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_JAVAC+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <cmath>
-
-int
-main ()
-{
-#ifndef fmaf
-  (void) fmaf;
-#endif
+  case $JAVAC in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $JAVAPREFIX
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_JAVAC="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+  ;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_fmaf=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_have_decl_fmaf=no
 fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+JAVAC=$ac_cv_path_JAVAC
+if test -n "$JAVAC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5
+$as_echo "$JAVAC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_fmaf" >&5
-$as_echo "$ac_cv_have_decl_fmaf" >&6; }
-if test "x$ac_cv_have_decl_fmaf" = x""yes; then
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_FMAF 1
-_ACEOF
-
-
-else
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_FMAF 0
-_ACEOF
 
+  test -n "$JAVAC" && break
+done
+test -n "$JAVAC" || JAVAC="no"
 
 fi
-{ $as_echo "$as_me:$LINENO: checking whether fmal is declared" >&5
-$as_echo_n "checking whether fmal is declared... " >&6; }
-if test "${ac_cv_have_decl_fmal+set}" = set; then
+if test ! x$JAVAC = "xno"
+then
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $JAVAC supports enums" >&5
+$as_echo_n "checking whether $JAVAC supports enums... " >&6; }
+if test "${ac_cv_javac_supports_enums+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <cmath>
 
-int
-main ()
-{
-#ifndef fmal
-  (void) fmal;
-#endif
-
-  ;
-  return 0;
+JAVA_TEST=Test.java
+CLASS_TEST=Test.class
+cat << \EOF > $JAVA_TEST
+/* #line 12084 "configure" */
+public class Test {
+public enum Relation_Symbol {
+    /*! Less than. */
+    LESS_THAN,
+    /*! Less than or equal to. */
+    LESS_OR_EQUAL,
+    /*! Equal to. */
+    EQUAL,
+    /*! Greater than or equal to. */
+    GREATER_OR_EQUAL,
+    /*! Greater than. */
+    GREATER_THAN,
+ }
 }
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
+EOF
+if { ac_try='$JAVAC $JAVACFLAGS $JAVA_TEST'
+  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+  (eval $ac_try) 2>&5
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_fmal=yes
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; } >/dev/null 2>&1; then
+  ac_cv_javac_supports_enums=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_have_decl_fmal=no
+  echo "configure: failed program was:" >&5
+  cat $JAVA_TEST >&5
+  ac_cv_javac_supports_enums=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f $JAVA_TEST $CLASS_TEST Test\$Relation_Symbol.class
+
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_fmal" >&5
-$as_echo "$ac_cv_have_decl_fmal" >&6; }
-if test "x$ac_cv_have_decl_fmal" = x""yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_FMAL 1
-_ACEOF
-
-
-else
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_FMAL 0
-_ACEOF
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_javac_supports_enums" >&5
+$as_echo "$ac_cv_javac_supports_enums" >&6; }
 
+fi
 
+        fi
 fi
-{ $as_echo "$as_me:$LINENO: checking whether rintf is declared" >&5
-$as_echo_n "checking whether rintf is declared... " >&6; }
-if test "${ac_cv_have_decl_rintf+set}" = set; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $JAVA works" >&5
+$as_echo_n "checking if $JAVA works... " >&6; }
+if test "${ac_cv_prog_java_works+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <cmath>
-
-int
-main ()
-{
-#ifndef rintf
-  (void) rintf;
-#endif
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
+JAVA_TEST=Test.java
+CLASS_TEST=Test.class
+TEST=Test
+cat << \EOF > $JAVA_TEST
+/* [#]line 12133 "configure" */
+public class Test {
+public static void main (String args[]) {
+        System.exit (0);
+} }
+EOF
+if test x$ac_cv_prog_uudecode_base64 != xyes; then
+        if { ac_try='$JAVAC $JAVACFLAGS $JAVA_TEST'
+  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+  (eval $ac_try) 2>&5
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_rintf=yes
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; } && test -s $CLASS_TEST; then
+                :
+        else
+          echo "configure: failed program was:" >&5
+          cat $JAVA_TEST >&5
+          { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: The Java compiler $JAVAC failed (see config.log, check the CLASSPATH?)" >&5
+$as_echo "$as_me: WARNING: The Java compiler $JAVAC failed (see config.log, check the CLASSPATH?)" >&2;}
+        fi
+fi
+# if we don't have a Java compiler installed, it's useless to check if Java
+# works beacause a working javac is needed.
+if test x$ac_cv_javac_supports_enums = xno; then
+ ac_cv_prog_java_works=skipping
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_have_decl_rintf=no
+if { ac_try='$JAVA $JAVAFLAGS $TEST'
+  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; } >/dev/null 2>&1; then
+  ac_cv_prog_java_works=yes
+else
+  echo "configure: failed program was:" >&5
+  cat $JAVA_TEST >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: The Java VM $JAVA failed (see config.log, check the CLASSPATH?)" >&5
+$as_echo "$as_me: WARNING: The Java VM $JAVA failed (see config.log, check the CLASSPATH?)" >&2;}
+  fi
 fi
+rm -fr $JAVA_TEST $CLASS_TEST Test.uue
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_rintf" >&5
-$as_echo "$ac_cv_have_decl_rintf" >&6; }
-if test "x$ac_cv_have_decl_rintf" = x""yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_RINTF 1
-_ACEOF
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_java_works" >&5
+$as_echo "$ac_cv_prog_java_works" >&6; }
 
 
-else
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_RINTF 0
-_ACEOF
+fi
 
 
-fi
-{ $as_echo "$as_me:$LINENO: checking whether rintl is declared" >&5
-$as_echo_n "checking whether rintl is declared... " >&6; }
-if test "${ac_cv_have_decl_rintl+set}" = set; then
+if test "x$JAVAPREFIX" = x; then
+        test "x$JAR" = x && for ac_prog in jar$EXEEXT
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_JAR+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <cmath>
-
-int
-main ()
-{
-#ifndef rintl
-  (void) rintl;
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_rintl=yes
+  if test -n "$JAR"; then
+  ac_cv_prog_JAR="$JAR" # Let the user override the test.
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_JAR="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-	ac_cv_have_decl_rintl=no
 fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_rintl" >&5
-$as_echo "$ac_cv_have_decl_rintl" >&6; }
-if test "x$ac_cv_have_decl_rintl" = x""yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_RINTL 1
-_ACEOF
-
-
+JAR=$ac_cv_prog_JAR
+if test -n "$JAR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAR" >&5
+$as_echo "$JAR" >&6; }
 else
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_RINTL 0
-_ACEOF
-
-
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
+  test -n "$JAR" && break
+done
+test -n "$JAR" || JAR="no"
 
-# Checks for the availability of "fast" integral types.
-{ $as_echo "$as_me:$LINENO: checking for int_fast16_t" >&5
-$as_echo_n "checking for int_fast16_t... " >&6; }
-if test "${ac_cv_type_int_fast16_t+set}" = set; then
+else
+        test "x$JAR" = x && for ac_prog in jar
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_JAR+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  ac_cv_type_int_fast16_t=no
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-if (sizeof (int_fast16_t))
-       return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-if (sizeof ((int_fast16_t)))
-	  return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+  case $JAR in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_JAR="$JAR" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $JAVAPREFIX
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_JAR="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
+fi
+JAR=$ac_cv_path_JAR
+if test -n "$JAR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAR" >&5
+$as_echo "$JAR" >&6; }
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_type_int_fast16_t=yes
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
+  test -n "$JAR" && break
+done
+test -n "$JAR" || JAR="no"
 
 fi
+test "x$JAR" = xno
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test "x$JAVAPREFIX" = x; then
+        for ac_prog in javah
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_JAVAH+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$JAVAH"; then
+  ac_cv_prog_JAVAH="$JAVAH" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_JAVAH="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+JAVAH=$ac_cv_prog_JAVAH
+if test -n "$JAVAH"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVAH" >&5
+$as_echo "$JAVAH" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_int_fast16_t" >&5
-$as_echo "$ac_cv_type_int_fast16_t" >&6; }
-if test "x$ac_cv_type_int_fast16_t" = x""yes; then
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_INT_FAST16_T 1
-_ACEOF
 
+  test -n "$JAVAH" && break
+done
+test -n "$JAVAH" || JAVAH="no"
 
-fi
-{ $as_echo "$as_me:$LINENO: checking for int_fast32_t" >&5
-$as_echo_n "checking for int_fast32_t... " >&6; }
-if test "${ac_cv_type_int_fast32_t+set}" = set; then
-  $as_echo_n "(cached) " >&6
 else
-  ac_cv_type_int_fast32_t=no
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-if (sizeof (int_fast32_t))
-       return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-if (sizeof ((int_fast32_t)))
-	  return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
+	for ac_prog in javah
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_JAVAH+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  case $JAVAH in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_JAVAH="$JAVAH" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $JAVAPREFIX
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_JAVAH="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-	ac_cv_type_int_fast32_t=yes
+  ;;
+esac
 fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+JAVAH=$ac_cv_path_JAVAH
+if test -n "$JAVAH"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVAH" >&5
+$as_echo "$JAVAH" >&6; }
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
 
-fi
+  test -n "$JAVAH" && break
+done
+test -n "$JAVAH" || JAVAH="no"
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_int_fast32_t" >&5
-$as_echo "$ac_cv_type_int_fast32_t" >&6; }
-if test "x$ac_cv_type_int_fast32_t" = x""yes; then
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_INT_FAST32_T 1
+if test x"`eval 'echo $ac_cv_path_JAVAH'`" != xno ; then
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <jni.h>
 _ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
 
-
-fi
-{ $as_echo "$as_me:$LINENO: checking for int_fast64_t" >&5
-$as_echo_n "checking for int_fast64_t... " >&6; }
-if test "${ac_cv_type_int_fast64_t+set}" = set; then
-  $as_echo_n "(cached) " >&6
 else
-  ac_cv_type_int_fast64_t=no
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-if (sizeof (int_fast64_t))
-       return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+
+    ac_save_CPPFLAGS="$CPPFLAGS"
+    ac_dir=`echo $ac_cv_path_JAVAH | sed 's,\(.*\)/[^/]*/[^/]*$,\1/include,'`
+    ac_machdep=`echo $build_os | sed 's,[-0-9].*,,' | sed 's,cygwin,win32,'`
+    JNIFLAGS="-I$ac_dir -I$ac_dir/$ac_machdep"
+    CPPFLAGS="$ac_save_CPPFLAGS $JNIFLAGS"
+
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-if (sizeof ((int_fast64_t)))
-	  return 0;
-  ;
-  return 0;
-}
+#include <jni.h>
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+  CPPFLAGS="$ac_save_CPPFLAGS"
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_type_int_fast64_t=yes
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to include <jni.h>" >&5
+$as_echo "$as_me: WARNING: unable to include <jni.h>" >&2;}
+	       JAVAH=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+    CPPFLAGS="$ac_save_CPPFLAGS"
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="$CPPFLAGS $JNIFLAGS"
+  ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether jlong can contain data pointers" >&5
+$as_echo_n "checking whether jlong can contain data pointers... " >&6; }
+  if test "$cross_compiling" = yes; then :
+  ac_jlong_can_contain_pointers=no
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: assuming it cannot" >&5
+$as_echo "assuming it cannot" >&6; }
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <jni.h>
 
+    int
+    main() {
+      if (sizeof(jlong) >= sizeof(void*))
+        return 0;
+      else
+        return 1;
+    }
 
+_ACEOF
+if ac_fn_cxx_try_run "$LINENO"; then :
+  ac_jlong_can_contain_pointers=yes
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+  ac_jlong_can_contain_pointers=no
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_int_fast64_t" >&5
-$as_echo "$ac_cv_type_int_fast64_t" >&6; }
-if test "x$ac_cv_type_int_fast64_t" = x""yes; then
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_INT_FAST64_T 1
-_ACEOF
+  ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
+  CPPFLAGS="$ac_save_CPPFLAGS"
+fi
 
+# In order to build the Java interface, it must be enabled and all the
+# Java tools must be available.
+if test x${java_interface_enabled} = xyes \
+&& test "x$JAVA" != xno \
+&& test "x$ac_cv_javac_supports_enums" != xno \
+&& test "x$JAR" != xno \
+&& test "x$JAVAH" != xno \
+&& test x${ac_jlong_can_contain_pointers} = xyes
+then
+  build_java_interface=yes
 fi
-{ $as_echo "$as_me:$LINENO: checking for uint_fast16_t" >&5
-$as_echo_n "checking for uint_fast16_t... " >&6; }
-if test "${ac_cv_type_uint_fast16_t+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_type_uint_fast16_t=no
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-if (sizeof (uint_fast16_t))
-       return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-if (sizeof ((uint_fast16_t)))
-	  return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
+ if test x$build_java_interface = xyes; then
+  BUILD_JAVA_INTERFACE_TRUE=
+  BUILD_JAVA_INTERFACE_FALSE='#'
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_type_uint_fast16_t=yes
+  BUILD_JAVA_INTERFACE_TRUE='#'
+  BUILD_JAVA_INTERFACE_FALSE=
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
 
-fi
+# Allow to specify the ML GMP installation directory.
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Check whether --with-mlgmp was given.
+if test "${with_mlgmp+set}" = set; then :
+  withval=$with_mlgmp; mlgmp_dir=$with_mlgmp
+else
+  mlgmp_dir=+gmp
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_uint_fast16_t" >&5
-$as_echo "$ac_cv_type_uint_fast16_t" >&6; }
-if test "x$ac_cv_type_uint_fast16_t" = x""yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_UINT_FAST16_T 1
-_ACEOF
 
 
-fi
-{ $as_echo "$as_me:$LINENO: checking for uint_fast32_t" >&5
-$as_echo_n "checking for uint_fast32_t... " >&6; }
-if test "${ac_cv_type_uint_fast32_t+set}" = set; then
+# Checks for OCaml.
+if test x${ocaml_interface_enabled} = xyes
+then
+  # Detect which tools of the OCaml toolchain are available.
+    # checking for ocamlc
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ocamlc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ocamlc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OCAMLC+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  ac_cv_type_uint_fast32_t=no
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-if (sizeof (uint_fast32_t))
-       return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-if (sizeof ((uint_fast32_t)))
-	  return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
+  if test -n "$OCAMLC"; then
+  ac_cv_prog_OCAMLC="$OCAMLC" # Let the user override the test.
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_OCAMLC="${ac_tool_prefix}ocamlc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-	ac_cv_type_uint_fast32_t=yes
 fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+OCAMLC=$ac_cv_prog_OCAMLC
+if test -n "$OCAMLC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLC" >&5
+$as_echo "$OCAMLC" >&6; }
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
 
+fi
+if test -z "$ac_cv_prog_OCAMLC"; then
+  ac_ct_OCAMLC=$OCAMLC
+  # Extract the first word of "ocamlc", so it can be a program name with args.
+set dummy ocamlc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OCAMLC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OCAMLC"; then
+  ac_cv_prog_ac_ct_OCAMLC="$ac_ct_OCAMLC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_OCAMLC="ocamlc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
 fi
+fi
+ac_ct_OCAMLC=$ac_cv_prog_ac_ct_OCAMLC
+if test -n "$ac_ct_OCAMLC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLC" >&5
+$as_echo "$ac_ct_OCAMLC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  if test "x$ac_ct_OCAMLC" = x; then
+    OCAMLC="no"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OCAMLC=$ac_ct_OCAMLC
+  fi
+else
+  OCAMLC="$ac_cv_prog_OCAMLC"
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_uint_fast32_t" >&5
-$as_echo "$ac_cv_type_uint_fast32_t" >&6; }
-if test "x$ac_cv_type_uint_fast32_t" = x""yes; then
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_UINT_FAST32_T 1
-_ACEOF
 
+  if test "$OCAMLC" != "no"; then
+     OCAMLVERSION=`$OCAMLC -v | sed -n -e 's|.*version* *\(.*\)$|\1|p'`
+     { $as_echo "$as_me:${as_lineno-$LINENO}: result: OCaml version is $OCAMLVERSION" >&5
+$as_echo "OCaml version is $OCAMLVERSION" >&6; }
+     OCAMLLIB=`$OCAMLC -where 2>/dev/null || $OCAMLC -v|tail -1|cut -d ' ' -f 4`
+     { $as_echo "$as_me:${as_lineno-$LINENO}: result: OCaml library path is $OCAMLLIB" >&5
+$as_echo "OCaml library path is $OCAMLLIB" >&6; }
 
-fi
-{ $as_echo "$as_me:$LINENO: checking for uint_fast64_t" >&5
-$as_echo_n "checking for uint_fast64_t... " >&6; }
-if test "${ac_cv_type_uint_fast64_t+set}" = set; then
+
+
+
+     # checking for ocamlopt
+     if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ocamlopt", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ocamlopt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OCAMLOPT+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  ac_cv_type_uint_fast64_t=no
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-if (sizeof (uint_fast64_t))
-       return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-if (sizeof ((uint_fast64_t)))
-	  return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
+  if test -n "$OCAMLOPT"; then
+  ac_cv_prog_OCAMLOPT="$OCAMLOPT" # Let the user override the test.
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_OCAMLOPT="${ac_tool_prefix}ocamlopt"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-	ac_cv_type_uint_fast64_t=yes
 fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+OCAMLOPT=$ac_cv_prog_OCAMLOPT
+if test -n "$OCAMLOPT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLOPT" >&5
+$as_echo "$OCAMLOPT" >&6; }
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
 
 fi
+if test -z "$ac_cv_prog_OCAMLOPT"; then
+  ac_ct_OCAMLOPT=$OCAMLOPT
+  # Extract the first word of "ocamlopt", so it can be a program name with args.
+set dummy ocamlopt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OCAMLOPT+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OCAMLOPT"; then
+  ac_cv_prog_ac_ct_OCAMLOPT="$ac_ct_OCAMLOPT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_OCAMLOPT="ocamlopt"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_uint_fast64_t" >&5
-$as_echo "$ac_cv_type_uint_fast64_t" >&6; }
-if test "x$ac_cv_type_uint_fast64_t" = x""yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_UINT_FAST64_T 1
-_ACEOF
-
-
+fi
+ac_ct_OCAMLOPT=$ac_cv_prog_ac_ct_OCAMLOPT
+if test -n "$ac_ct_OCAMLOPT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLOPT" >&5
+$as_echo "$ac_ct_OCAMLOPT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
+  if test "x$ac_ct_OCAMLOPT" = x; then
+    OCAMLOPT="no"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OCAMLOPT=$ac_ct_OCAMLOPT
+  fi
+else
+  OCAMLOPT="$ac_cv_prog_OCAMLOPT"
+fi
 
-# Must link everything with libm.
-extra_libraries="${extra_libraries} -lm"
+     OCAMLBEST=byte
+     if test "$OCAMLOPT" = "no"; then
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find ocamlopt; bytecode compilation only." >&5
+$as_echo "$as_me: WARNING: Cannot find ocamlopt; bytecode compilation only." >&2;}
+     else
+	TMPVERSION=`$OCAMLOPT -v | sed -n -e 's|.*version* *\(.*\)$|\1|p' `
+	if test "$TMPVERSION" != "$OCAMLVERSION" ; then
+	    { $as_echo "$as_me:${as_lineno-$LINENO}: result: versions differs from ocamlc; ocamlopt discarded." >&5
+$as_echo "versions differs from ocamlc; ocamlopt discarded." >&6; }
+	    OCAMLOPT=no
+	else
+	    OCAMLBEST=opt
+	fi
+     fi
 
-# GMP library.
 
 
-      if test "X$prefix" = "XNONE"; then
-    acl_final_prefix="$ac_default_prefix"
-  else
-    acl_final_prefix="$prefix"
-  fi
-  if test "X$exec_prefix" = "XNONE"; then
-    acl_final_exec_prefix='${prefix}'
-  else
-    acl_final_exec_prefix="$exec_prefix"
+     # checking for ocamlc.opt
+     if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ocamlc.opt", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ocamlc.opt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OCAMLCDOTOPT+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OCAMLCDOTOPT"; then
+  ac_cv_prog_OCAMLCDOTOPT="$OCAMLCDOTOPT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_OCAMLCDOTOPT="${ac_tool_prefix}ocamlc.opt"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
   fi
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
-  prefix="$acl_save_prefix"
-
+done
+  done
+IFS=$as_save_IFS
 
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
-  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+fi
+fi
+OCAMLCDOTOPT=$ac_cv_prog_OCAMLCDOTOPT
+if test -n "$OCAMLCDOTOPT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLCDOTOPT" >&5
+$as_echo "$OCAMLCDOTOPT" >&6; }
 else
-  with_gnu_ld=no
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
+
 fi
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:$LINENO: checking for ld used by GCC" >&5
-$as_echo_n "checking for ld used by GCC... " >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | [A-Za-z]:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the path of ld
-      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-	ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
-  { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if test "${acl_cv_path_LD+set}" = set; then
+if test -z "$ac_cv_prog_OCAMLCDOTOPT"; then
+  ac_ct_OCAMLCDOTOPT=$OCAMLCDOTOPT
+  # Extract the first word of "ocamlc.opt", so it can be a program name with args.
+set dummy ocamlc.opt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OCAMLCDOTOPT+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -z "$LD"; then
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      acl_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some GNU ld's only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
-      *GNU* | *'with BFD'*)
-	test "$with_gnu_ld" != no && break ;;
-      *)
-	test "$with_gnu_ld" != yes && break ;;
-      esac
-    fi
-  done
-  IFS="$ac_save_ifs"
+  if test -n "$ac_ct_OCAMLCDOTOPT"; then
+  ac_cv_prog_ac_ct_OCAMLCDOTOPT="$ac_ct_OCAMLCDOTOPT" # Let the user override the test.
 else
-  acl_cv_path_LD="$LD" # Let the user override the test with a path.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_OCAMLCDOTOPT="ocamlc.opt"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
 fi
 fi
-
-LD="$acl_cv_path_LD"
-if test -n "$LD"; then
-  { $as_echo "$as_me:$LINENO: result: $LD" >&5
-$as_echo "$LD" >&6; }
+ac_ct_OCAMLCDOTOPT=$ac_cv_prog_ac_ct_OCAMLCDOTOPT
+if test -n "$ac_ct_OCAMLCDOTOPT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLCDOTOPT" >&5
+$as_echo "$ac_ct_OCAMLCDOTOPT" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
-test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
-   { (exit 1); exit 1; }; }
-{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${acl_cv_prog_gnu_ld+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  # I'd rather use --version here, but apparently some GNU ld's only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  acl_cv_prog_gnu_ld=yes ;;
-*)
-  acl_cv_prog_gnu_ld=no ;;
+
+  if test "x$ac_ct_OCAMLCDOTOPT" = x; then
+    OCAMLCDOTOPT="no"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
 esac
+    OCAMLCDOTOPT=$ac_ct_OCAMLCDOTOPT
+  fi
+else
+  OCAMLCDOTOPT="$ac_cv_prog_OCAMLCDOTOPT"
 fi
-{ $as_echo "$as_me:$LINENO: result: $acl_cv_prog_gnu_ld" >&5
-$as_echo "$acl_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$acl_cv_prog_gnu_ld
-
-
 
+     if test "$OCAMLCDOTOPT" != "no"; then
+	TMPVERSION=`$OCAMLCDOTOPT -v | sed -n -e 's|.*version* *\(.*\)$|\1|p' `
+	if test "$TMPVERSION" != "$OCAMLVERSION" ; then
+	    { $as_echo "$as_me:${as_lineno-$LINENO}: result: versions differs from ocamlc; ocamlc.opt discarded." >&5
+$as_echo "versions differs from ocamlc; ocamlc.opt discarded." >&6; }
+	else
+	    OCAMLC=$OCAMLCDOTOPT
+	fi
+     fi
 
-                                                { $as_echo "$as_me:$LINENO: checking for shared library run path origin" >&5
-$as_echo_n "checking for shared library run path origin... " >&6; }
-if test "${acl_cv_rpath+set}" = set; then
+     # checking for ocamlopt.opt
+     if test "$OCAMLOPT" != "no" ; then
+	if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ocamlopt.opt", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ocamlopt.opt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OCAMLOPTDOTOPT+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-
-    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
-    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
-    . ./conftest.sh
-    rm -f ./conftest.sh
-    acl_cv_rpath=done
+  if test -n "$OCAMLOPTDOTOPT"; then
+  ac_cv_prog_OCAMLOPTDOTOPT="$OCAMLOPTDOTOPT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_OCAMLOPTDOTOPT="${ac_tool_prefix}ocamlopt.opt"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $acl_cv_rpath" >&5
-$as_echo "$acl_cv_rpath" >&6; }
-  wl="$acl_cv_wl"
-  libext="$acl_cv_libext"
-  shlibext="$acl_cv_shlibext"
-  hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
-  hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
-  hardcode_direct="$acl_cv_hardcode_direct"
-  hardcode_minus_L="$acl_cv_hardcode_minus_L"
-    # Check whether --enable-rpath was given.
-if test "${enable_rpath+set}" = set; then
-  enableval=$enable_rpath; :
+fi
+OCAMLOPTDOTOPT=$ac_cv_prog_OCAMLOPTDOTOPT
+if test -n "$OCAMLOPTDOTOPT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLOPTDOTOPT" >&5
+$as_echo "$OCAMLOPTDOTOPT" >&6; }
 else
-  enable_rpath=yes
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
+fi
+if test -z "$ac_cv_prog_OCAMLOPTDOTOPT"; then
+  ac_ct_OCAMLOPTDOTOPT=$OCAMLOPTDOTOPT
+  # Extract the first word of "ocamlopt.opt", so it can be a program name with args.
+set dummy ocamlopt.opt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OCAMLOPTDOTOPT+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OCAMLOPTDOTOPT"; then
+  ac_cv_prog_ac_ct_OCAMLOPTDOTOPT="$ac_ct_OCAMLOPTDOTOPT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_OCAMLOPTDOTOPT="ocamlopt.opt"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-if test -n "$with_libgmpxx_prefix" && test -z "$with_libgmp_prefix"; then
-  with_libgmp_prefix="$with_libgmpxx_prefix"
+fi
+fi
+ac_ct_OCAMLOPTDOTOPT=$ac_cv_prog_ac_ct_OCAMLOPTDOTOPT
+if test -n "$ac_ct_OCAMLOPTDOTOPT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLOPTDOTOPT" >&5
+$as_echo "$ac_ct_OCAMLOPTDOTOPT" >&6; }
 else
-  if test -n "$with_libgmp_prefix" && test -z "$with_libgmpxx_prefix"; then
-    with_libgmpxx_prefix="$with_libgmp_prefix"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_OCAMLOPTDOTOPT" = x; then
+    OCAMLOPTDOTOPT="no"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OCAMLOPTDOTOPT=$ac_ct_OCAMLOPTDOTOPT
   fi
+else
+  OCAMLOPTDOTOPT="$ac_cv_prog_OCAMLOPTDOTOPT"
 fi
 
+	if test "$OCAMLOPTDOTOPT" != "no"; then
+	   TMPVERSION=`$OCAMLOPTDOTOPT -v | sed -n -e 's|.*version* *\(.*\)$|\1|p' `
+	   if test "$TMPVERSION" != "$OCAMLVERSION" ; then
+	      { $as_echo "$as_me:${as_lineno-$LINENO}: result: version differs from ocamlc; ocamlopt.opt discarded." >&5
+$as_echo "version differs from ocamlc; ocamlopt.opt discarded." >&6; }
+	   else
+	      OCAMLOPT=$OCAMLOPTDOTOPT
+	   fi
+        fi
+     fi
 
 
+  fi
 
 
 
-  { $as_echo "$as_me:$LINENO: checking how to link with libgmp" >&5
-$as_echo_n "checking how to link with libgmp... " >&6; }
-if test "${ac_cv_libgmp_libs+set}" = set; then
+  # checking for ocamldep
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ocamldep", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ocamldep; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OCAMLDEP+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
+  if test -n "$OCAMLDEP"; then
+  ac_cv_prog_OCAMLDEP="$OCAMLDEP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_OCAMLDEP="${ac_tool_prefix}ocamldep"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
+fi
+fi
+OCAMLDEP=$ac_cv_prog_OCAMLDEP
+if test -n "$OCAMLDEP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLDEP" >&5
+$as_echo "$OCAMLDEP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
 
-    use_additional=yes
+fi
+if test -z "$ac_cv_prog_OCAMLDEP"; then
+  ac_ct_OCAMLDEP=$OCAMLDEP
+  # Extract the first word of "ocamldep", so it can be a program name with args.
+set dummy ocamldep; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OCAMLDEP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OCAMLDEP"; then
+  ac_cv_prog_ac_ct_OCAMLDEP="$ac_ct_OCAMLDEP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_OCAMLDEP="ocamldep"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
+fi
+fi
+ac_ct_OCAMLDEP=$ac_cv_prog_ac_ct_OCAMLDEP
+if test -n "$ac_ct_OCAMLDEP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLDEP" >&5
+$as_echo "$ac_ct_OCAMLDEP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
-    eval additional_includedir=\"$includedir\"
-    eval additional_libdir=\"$libdir\"
+  if test "x$ac_ct_OCAMLDEP" = x; then
+    OCAMLDEP="no"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OCAMLDEP=$ac_ct_OCAMLDEP
+  fi
+else
+  OCAMLDEP="$ac_cv_prog_OCAMLDEP"
+fi
 
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
 
+  # checking for ocamlmktop
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ocamlmktop", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ocamlmktop; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OCAMLMKTOP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OCAMLMKTOP"; then
+  ac_cv_prog_OCAMLMKTOP="$OCAMLMKTOP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_OCAMLMKTOP="${ac_tool_prefix}ocamlmktop"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-# Check whether --with-libgmp-prefix was given.
-if test "${with_libgmp_prefix+set}" = set; then
-  withval=$with_libgmp_prefix;
-    if test "X$withval" = "Xno"; then
-      use_additional=no
-    else
-      if test "X$withval" = "X"; then
+fi
+fi
+OCAMLMKTOP=$ac_cv_prog_OCAMLMKTOP
+if test -n "$OCAMLMKTOP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLMKTOP" >&5
+$as_echo "$OCAMLMKTOP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
 
-          eval additional_includedir=\"$includedir\"
-          eval additional_libdir=\"$libdir\"
-
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
+fi
+if test -z "$ac_cv_prog_OCAMLMKTOP"; then
+  ac_ct_OCAMLMKTOP=$OCAMLMKTOP
+  # Extract the first word of "ocamlmktop", so it can be a program name with args.
+set dummy ocamlmktop; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OCAMLMKTOP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OCAMLMKTOP"; then
+  ac_cv_prog_ac_ct_OCAMLMKTOP="$ac_ct_OCAMLMKTOP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_OCAMLMKTOP="ocamlmktop"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-      else
-        additional_includedir="$withval/include"
-        additional_libdir="$withval/lib"
-      fi
-    fi
+fi
+fi
+ac_ct_OCAMLMKTOP=$ac_cv_prog_ac_ct_OCAMLMKTOP
+if test -n "$ac_ct_OCAMLMKTOP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLMKTOP" >&5
+$as_echo "$ac_ct_OCAMLMKTOP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
+  if test "x$ac_ct_OCAMLMKTOP" = x; then
+    OCAMLMKTOP="no"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OCAMLMKTOP=$ac_ct_OCAMLMKTOP
+  fi
+else
+  OCAMLMKTOP="$ac_cv_prog_OCAMLMKTOP"
 fi
 
-      LIBGMP=
-  LTLIBGMP=
-  INCGMP=
-  rpathdirs=
-  ltrpathdirs=
-  names_already_handled=
-  names_next_round='gmp '
-  while test -n "$names_next_round"; do
-    names_this_round="$names_next_round"
-    names_next_round=
-    for name in $names_this_round; do
-      already_handled=
-      for n in $names_already_handled; do
-        if test "$n" = "$name"; then
-          already_handled=yes
-          break
-        fi
-      done
-      if test -z "$already_handled"; then
-        names_already_handled="$names_already_handled $name"
-                        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
-        eval value=\"\$HAVE_LIB$uppername\"
-        if test -n "$value"; then
-          if test "$value" = yes; then
-            eval value=\"\$LIB$uppername\"
-            test -z "$value" || LIBGMP="${LIBGMP}${LIBGMP:+ }$value"
-            eval value=\"\$LTLIB$uppername\"
-            test -z "$value" || LTLIBGMP="${LTLIBGMP}${LTLIBGMP:+ }$value"
-          else
-                                    :
-          fi
-        else
-                              found_dir=
-          found_la=
-          found_so=
-          found_a=
-          if test $use_additional = yes; then
-            if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
-              found_dir="$additional_libdir"
-              found_so="$additional_libdir/lib$name.$shlibext"
-              if test -f "$additional_libdir/lib$name.la"; then
-                found_la="$additional_libdir/lib$name.la"
-              fi
-            else
-              if test -f "$additional_libdir/lib$name.$libext"; then
-                found_dir="$additional_libdir"
-                found_a="$additional_libdir/lib$name.$libext"
-                if test -f "$additional_libdir/lib$name.la"; then
-                  found_la="$additional_libdir/lib$name.la"
-                fi
-              fi
-            fi
-          fi
-          if test "X$found_dir" = "X"; then
-            for x in $LDFLAGS $LTLIBGMP; do
 
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
+  # checking for ocamlmklib
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ocamlmklib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ocamlmklib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OCAMLMKLIB+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OCAMLMKLIB"; then
+  ac_cv_prog_OCAMLMKLIB="$OCAMLMKLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_OCAMLMKLIB="${ac_tool_prefix}ocamlmklib"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-              case "$x" in
-                -L*)
-                  dir=`echo "X$x" | sed -e 's/^X-L//'`
-                  if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
-                    found_dir="$dir"
-                    found_so="$dir/lib$name.$shlibext"
-                    if test -f "$dir/lib$name.la"; then
-                      found_la="$dir/lib$name.la"
-                    fi
-                  else
-                    if test -f "$dir/lib$name.$libext"; then
-                      found_dir="$dir"
-                      found_a="$dir/lib$name.$libext"
-                      if test -f "$dir/lib$name.la"; then
-                        found_la="$dir/lib$name.la"
-                      fi
-                    fi
-                  fi
-                  ;;
-              esac
-              if test "X$found_dir" != "X"; then
-                break
-              fi
-            done
-          fi
-          if test "X$found_dir" != "X"; then
-                        LTLIBGMP="${LTLIBGMP}${LTLIBGMP:+ }-L$found_dir -l$name"
-            if test "X$found_so" != "X"; then
-                                                        if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
-                                LIBGMP="${LIBGMP}${LIBGMP:+ }$found_so"
-              else
-                                                                                haveit=
-                for x in $ltrpathdirs; do
-                  if test "X$x" = "X$found_dir"; then
-                    haveit=yes
-                    break
-                  fi
-                done
-                if test -z "$haveit"; then
-                  ltrpathdirs="$ltrpathdirs $found_dir"
-                fi
-                                if test "$hardcode_direct" = yes; then
-                                                      LIBGMP="${LIBGMP}${LIBGMP:+ }$found_so"
-                else
-                  if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
-                                                            LIBGMP="${LIBGMP}${LIBGMP:+ }$found_so"
-                                                            haveit=
-                    for x in $rpathdirs; do
-                      if test "X$x" = "X$found_dir"; then
-                        haveit=yes
-                        break
-                      fi
-                    done
-                    if test -z "$haveit"; then
-                      rpathdirs="$rpathdirs $found_dir"
-                    fi
-                  else
-                                                                                haveit=
-                    for x in $LDFLAGS $LIBGMP; do
+fi
+fi
+OCAMLMKLIB=$ac_cv_prog_OCAMLMKLIB
+if test -n "$OCAMLMKLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLMKLIB" >&5
+$as_echo "$OCAMLMKLIB" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
 
-                      if test "X$x" = "X-L$found_dir"; then
-                        haveit=yes
-                        break
-                      fi
-                    done
-                    if test -z "$haveit"; then
-                      LIBGMP="${LIBGMP}${LIBGMP:+ }-L$found_dir"
-                    fi
-                    if test "$hardcode_minus_L" != no; then
-                                                                                        LIBGMP="${LIBGMP}${LIBGMP:+ }$found_so"
-                    else
-                                                                                                                                                                                LIBGMP="${LIBGMP}${LIBGMP:+ }-l$name"
-                    fi
-                  fi
-                fi
-              fi
-            else
-              if test "X$found_a" != "X"; then
-                                LIBGMP="${LIBGMP}${LIBGMP:+ }$found_a"
-              else
-                                                LIBGMP="${LIBGMP}${LIBGMP:+ }-L$found_dir -l$name"
-              fi
-            fi
-                        additional_includedir=
-            case "$found_dir" in
-              */lib | */lib/)
-                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
-                additional_includedir="$basedir/include"
-                ;;
-            esac
-            if test "X$additional_includedir" != "X"; then
-                                                                                                                if test "X$additional_includedir" != "X/usr/include"; then
-                haveit=
-                if test "X$additional_includedir" = "X/usr/local/include"; then
-                  if test -n "$GCC"; then
-                    case $host_os in
-                      linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-                    esac
-                  fi
-                fi
-                if test -z "$haveit"; then
-                  for x in $CPPFLAGS $INCGMP; do
+fi
+if test -z "$ac_cv_prog_OCAMLMKLIB"; then
+  ac_ct_OCAMLMKLIB=$OCAMLMKLIB
+  # Extract the first word of "ocamlmklib", so it can be a program name with args.
+set dummy ocamlmklib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OCAMLMKLIB+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OCAMLMKLIB"; then
+  ac_cv_prog_ac_ct_OCAMLMKLIB="$ac_ct_OCAMLMKLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_OCAMLMKLIB="ocamlmklib"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
+fi
+fi
+ac_ct_OCAMLMKLIB=$ac_cv_prog_ac_ct_OCAMLMKLIB
+if test -n "$ac_ct_OCAMLMKLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLMKLIB" >&5
+$as_echo "$ac_ct_OCAMLMKLIB" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
-                    if test "X$x" = "X-I$additional_includedir"; then
-                      haveit=yes
-                      break
-                    fi
-                  done
-                  if test -z "$haveit"; then
-                    if test -d "$additional_includedir"; then
-                                            INCGMP="${INCGMP}${INCGMP:+ }-I$additional_includedir"
-                    fi
-                  fi
-                fi
-              fi
-            fi
-                        if test -n "$found_la"; then
-                                                        save_libdir="$libdir"
-              case "$found_la" in
-                */* | *\\*) . "$found_la" ;;
-                *) . "./$found_la" ;;
-              esac
-              libdir="$save_libdir"
-                            for dep in $dependency_libs; do
-                case "$dep" in
-                  -L*)
-                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
-                                                                                                                                                                if test "X$additional_libdir" != "X/usr/lib"; then
-                      haveit=
-                      if test "X$additional_libdir" = "X/usr/local/lib"; then
-                        if test -n "$GCC"; then
-                          case $host_os in
-                            linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-                          esac
-                        fi
-                      fi
-                      if test -z "$haveit"; then
-                        haveit=
-                        for x in $LDFLAGS $LIBGMP; do
-
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
-
-                          if test "X$x" = "X-L$additional_libdir"; then
-                            haveit=yes
-                            break
-                          fi
-                        done
-                        if test -z "$haveit"; then
-                          if test -d "$additional_libdir"; then
-                                                        LIBGMP="${LIBGMP}${LIBGMP:+ }-L$additional_libdir"
-                          fi
-                        fi
-                        haveit=
-                        for x in $LDFLAGS $LTLIBGMP; do
-
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
-
-                          if test "X$x" = "X-L$additional_libdir"; then
-                            haveit=yes
-                            break
-                          fi
-                        done
-                        if test -z "$haveit"; then
-                          if test -d "$additional_libdir"; then
-                                                        LTLIBGMP="${LTLIBGMP}${LTLIBGMP:+ }-L$additional_libdir"
-                          fi
-                        fi
-                      fi
-                    fi
-                    ;;
-                  -R*)
-                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
-                    if test "$enable_rpath" != no; then
-                                                                  haveit=
-                      for x in $rpathdirs; do
-                        if test "X$x" = "X$dir"; then
-                          haveit=yes
-                          break
-                        fi
-                      done
-                      if test -z "$haveit"; then
-                        rpathdirs="$rpathdirs $dir"
-                      fi
-                                                                  haveit=
-                      for x in $ltrpathdirs; do
-                        if test "X$x" = "X$dir"; then
-                          haveit=yes
-                          break
-                        fi
-                      done
-                      if test -z "$haveit"; then
-                        ltrpathdirs="$ltrpathdirs $dir"
-                      fi
-                    fi
-                    ;;
-                  -l*)
-                                        names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
-                    ;;
-                  *.la)
-                                                                                names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
-                    ;;
-                  *)
-                                        LIBGMP="${LIBGMP}${LIBGMP:+ }$dep"
-                    LTLIBGMP="${LTLIBGMP}${LTLIBGMP:+ }$dep"
-                    ;;
-                esac
-              done
-            fi
-          else
-                                                            LIBGMP="${LIBGMP}${LIBGMP:+ }-l$name"
-            LTLIBGMP="${LTLIBGMP}${LTLIBGMP:+ }-l$name"
-          fi
-        fi
-      fi
-    done
-  done
-  if test "X$rpathdirs" != "X"; then
-    if test -n "$hardcode_libdir_separator"; then
-                        alldirs=
-      for found_dir in $rpathdirs; do
-        alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
-      done
-            acl_save_libdir="$libdir"
-      libdir="$alldirs"
-      eval flag=\"$hardcode_libdir_flag_spec\"
-      libdir="$acl_save_libdir"
-      LIBGMP="${LIBGMP}${LIBGMP:+ }$flag"
-    else
-            for found_dir in $rpathdirs; do
-        acl_save_libdir="$libdir"
-        libdir="$found_dir"
-        eval flag=\"$hardcode_libdir_flag_spec\"
-        libdir="$acl_save_libdir"
-        LIBGMP="${LIBGMP}${LIBGMP:+ }$flag"
-      done
-    fi
-  fi
-  if test "X$ltrpathdirs" != "X"; then
-            for found_dir in $ltrpathdirs; do
-      LTLIBGMP="${LTLIBGMP}${LTLIBGMP:+ }-R$found_dir"
-    done
+  if test "x$ac_ct_OCAMLMKLIB" = x; then
+    OCAMLMKLIB="no"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OCAMLMKLIB=$ac_ct_OCAMLMKLIB
   fi
-
-    ac_cv_libgmp_libs="$LIBGMP"
-    ac_cv_libgmp_ltlibs="$LTLIBGMP"
-    ac_cv_libgmp_cppflags="$INCGMP"
-
+else
+  OCAMLMKLIB="$ac_cv_prog_OCAMLMKLIB"
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_libgmp_libs" >&5
-$as_echo "$ac_cv_libgmp_libs" >&6; }
-  LIBGMP="$ac_cv_libgmp_libs"
-  LTLIBGMP="$ac_cv_libgmp_ltlibs"
-  INCGMP="$ac_cv_libgmp_cppflags"
-
-  for element in $INCGMP; do
-    haveit=
-    for x in $CPPFLAGS; do
 
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
 
-      if test "X$x" = "X$element"; then
-        haveit=yes
-        break
-      fi
-    done
-    if test -z "$haveit"; then
-      CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
-    fi
+  # checking for ocamldoc
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ocamldoc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ocamldoc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OCAMLDOC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OCAMLDOC"; then
+  ac_cv_prog_OCAMLDOC="$OCAMLDOC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_OCAMLDOC="${ac_tool_prefix}ocamldoc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
   done
+IFS=$as_save_IFS
 
+fi
+fi
+OCAMLDOC=$ac_cv_prog_OCAMLDOC
+if test -n "$OCAMLDOC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLDOC" >&5
+$as_echo "$OCAMLDOC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
 
-      HAVE_LIBGMP=yes
-
-
+fi
+if test -z "$ac_cv_prog_OCAMLDOC"; then
+  ac_ct_OCAMLDOC=$OCAMLDOC
+  # Extract the first word of "ocamldoc", so it can be a program name with args.
+set dummy ocamldoc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OCAMLDOC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OCAMLDOC"; then
+  ac_cv_prog_ac_ct_OCAMLDOC="$ac_ct_OCAMLDOC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_OCAMLDOC="ocamldoc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
+fi
+fi
+ac_ct_OCAMLDOC=$ac_cv_prog_ac_ct_OCAMLDOC
+if test -n "$ac_ct_OCAMLDOC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLDOC" >&5
+$as_echo "$ac_ct_OCAMLDOC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
+  if test "x$ac_ct_OCAMLDOC" = x; then
+    OCAMLDOC="no"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OCAMLDOC=$ac_ct_OCAMLDOC
+  fi
+else
+  OCAMLDOC="$ac_cv_prog_OCAMLDOC"
+fi
 
 
+  # checking for ocamlbuild
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ocamlbuild", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ocamlbuild; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OCAMLBUILD+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OCAMLBUILD"; then
+  ac_cv_prog_OCAMLBUILD="$OCAMLBUILD" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_OCAMLBUILD="${ac_tool_prefix}ocamlbuild"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
+fi
+fi
+OCAMLBUILD=$ac_cv_prog_OCAMLBUILD
+if test -n "$OCAMLBUILD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLBUILD" >&5
+$as_echo "$OCAMLBUILD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
 
-  { $as_echo "$as_me:$LINENO: checking how to link with libgmpxx" >&5
-$as_echo_n "checking how to link with libgmpxx... " >&6; }
-if test "${ac_cv_libgmpxx_libs+set}" = set; then
+fi
+if test -z "$ac_cv_prog_OCAMLBUILD"; then
+  ac_ct_OCAMLBUILD=$OCAMLBUILD
+  # Extract the first word of "ocamlbuild", so it can be a program name with args.
+set dummy ocamlbuild; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OCAMLBUILD+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
+  if test -n "$ac_ct_OCAMLBUILD"; then
+  ac_cv_prog_ac_ct_OCAMLBUILD="$ac_ct_OCAMLBUILD" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_OCAMLBUILD="ocamlbuild"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
+fi
+fi
+ac_ct_OCAMLBUILD=$ac_cv_prog_ac_ct_OCAMLBUILD
+if test -n "$ac_ct_OCAMLBUILD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLBUILD" >&5
+$as_echo "$ac_ct_OCAMLBUILD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
+  if test "x$ac_ct_OCAMLBUILD" = x; then
+    OCAMLBUILD="no"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OCAMLBUILD=$ac_ct_OCAMLBUILD
+  fi
+else
+  OCAMLBUILD="$ac_cv_prog_OCAMLBUILD"
+fi
 
-    use_additional=yes
-
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-
-    eval additional_includedir=\"$includedir\"
-    eval additional_libdir=\"$libdir\"
 
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
+  if test x"$OCAMLC" != xno
+  then
+     # Check for the bytecode version of ML GMP.
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ML GMP bytecode module gmp.cma" >&5
+$as_echo_n "checking for ML GMP bytecode module gmp.cma... " >&6; }
+     if ( test ${mlgmp_dir} = +gmp && test -f ${OCAMLLIB}/gmp/gmp.cma ) \
+        || test -f ${mlgmp_dir}/gmp.cma;
+     then
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+	 ocamlc_gmp="yes"
+     else
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+	 ocamlc_gmp="no"
+     fi
+  fi
+  if test x"$OCAMLOPT" != xno
+  then
+     ocamlopt_root=`${OCAMLOPT} -where`
+     # Check for the native version of ML GMP.
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ML GMP native module gmp.cmxa" >&5
+$as_echo_n "checking for ML GMP native module gmp.cmxa... " >&6; }
+     if ( test ${mlgmp_dir} = +gmp && test -f ${ocamlopt_root}/gmp/gmp.cmxa ) \
+        || test -f ${mlgmp_dir}/gmp.cmxa;
+     then
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+	 ocamlopt_gmp="yes"
+     else
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+	 ocamlopt_gmp="no"
+     fi
+  fi
+fi
+ if test x$ocamlc_gmp = xyes; then
+  HAVE_OCAMLC_TRUE=
+  HAVE_OCAMLC_FALSE='#'
+else
+  HAVE_OCAMLC_TRUE='#'
+  HAVE_OCAMLC_FALSE=
+fi
 
+ if test x$ocamlopt_gmp = xyes; then
+  HAVE_OCAMLOPT_TRUE=
+  HAVE_OCAMLOPT_FALSE='#'
+else
+  HAVE_OCAMLOPT_TRUE='#'
+  HAVE_OCAMLOPT_FALSE=
+fi
 
-# Check whether --with-libgmpxx-prefix was given.
-if test "${with_libgmpxx_prefix+set}" = set; then
-  withval=$with_libgmpxx_prefix;
-    if test "X$withval" = "Xno"; then
-      use_additional=no
-    else
-      if test "X$withval" = "X"; then
 
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
+if test x${ocaml_interface_enabled} = xyes \
+&& (test x$ocamlc_gmp = xyes || test x$ocamlopt_gmp = xyes)
+then
+  build_ocaml_interface=yes
+fi
+ if test x$build_ocaml_interface = xyes; then
+  BUILD_OCAML_INTERFACE_TRUE=
+  BUILD_OCAML_INTERFACE_FALSE='#'
+else
+  BUILD_OCAML_INTERFACE_TRUE='#'
+  BUILD_OCAML_INTERFACE_FALSE=
+fi
 
-          eval additional_includedir=\"$includedir\"
-          eval additional_libdir=\"$libdir\"
 
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
+# Checks for Ciao Prolog.
+if test x${ciao_prolog_interface_enabled} = xyes
+then
 
-      else
-        additional_includedir="$withval/include"
-        additional_libdir="$withval/lib"
-      fi
-    fi
+# Extract the first word of "ciao", so it can be a program name with args.
+set dummy ciao; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_ciao_prolog+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $ciao_prolog in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ciao_prolog="$ciao_prolog" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_ciao_prolog="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
+  ;;
+esac
+fi
+ciao_prolog=$ac_cv_path_ciao_prolog
+if test -n "$ciao_prolog"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ciao_prolog" >&5
+$as_echo "$ciao_prolog" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
-      LIBGMPXX=
-  LTLIBGMPXX=
-  INCGMPXX=
-  rpathdirs=
-  ltrpathdirs=
-  names_already_handled=
-  names_next_round='gmpxx gmp'
-  while test -n "$names_next_round"; do
-    names_this_round="$names_next_round"
-    names_next_round=
-    for name in $names_this_round; do
-      already_handled=
-      for n in $names_already_handled; do
-        if test "$n" = "$name"; then
-          already_handled=yes
-          break
-        fi
-      done
-      if test -z "$already_handled"; then
-        names_already_handled="$names_already_handled $name"
-                        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
-        eval value=\"\$HAVE_LIB$uppername\"
-        if test -n "$value"; then
-          if test "$value" = yes; then
-            eval value=\"\$LIB$uppername\"
-            test -z "$value" || LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }$value"
-            eval value=\"\$LTLIB$uppername\"
-            test -z "$value" || LTLIBGMPXX="${LTLIBGMPXX}${LTLIBGMPXX:+ }$value"
-          else
-                                    :
-          fi
-        else
-                              found_dir=
-          found_la=
-          found_so=
-          found_a=
-          if test $use_additional = yes; then
-            if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
-              found_dir="$additional_libdir"
-              found_so="$additional_libdir/lib$name.$shlibext"
-              if test -f "$additional_libdir/lib$name.la"; then
-                found_la="$additional_libdir/lib$name.la"
-              fi
-            else
-              if test -f "$additional_libdir/lib$name.$libext"; then
-                found_dir="$additional_libdir"
-                found_a="$additional_libdir/lib$name.$libext"
-                if test -f "$additional_libdir/lib$name.la"; then
-                  found_la="$additional_libdir/lib$name.la"
-                fi
-              fi
-            fi
-          fi
-          if test "X$found_dir" = "X"; then
-            for x in $LDFLAGS $LTLIBGMPXX; do
-
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
 
-              case "$x" in
-                -L*)
-                  dir=`echo "X$x" | sed -e 's/^X-L//'`
-                  if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
-                    found_dir="$dir"
-                    found_so="$dir/lib$name.$shlibext"
-                    if test -f "$dir/lib$name.la"; then
-                      found_la="$dir/lib$name.la"
-                    fi
-                  else
-                    if test -f "$dir/lib$name.$libext"; then
-                      found_dir="$dir"
-                      found_a="$dir/lib$name.$libext"
-                      if test -f "$dir/lib$name.la"; then
-                        found_la="$dir/lib$name.la"
-                      fi
-                    fi
-                  fi
-                  ;;
-              esac
-              if test "X$found_dir" != "X"; then
-                break
-              fi
-            done
-          fi
-          if test "X$found_dir" != "X"; then
-                        LTLIBGMPXX="${LTLIBGMPXX}${LTLIBGMPXX:+ }-L$found_dir -l$name"
-            if test "X$found_so" != "X"; then
-                                                        if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
-                                LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }$found_so"
-              else
-                                                                                haveit=
-                for x in $ltrpathdirs; do
-                  if test "X$x" = "X$found_dir"; then
-                    haveit=yes
-                    break
-                  fi
-                done
-                if test -z "$haveit"; then
-                  ltrpathdirs="$ltrpathdirs $found_dir"
-                fi
-                                if test "$hardcode_direct" = yes; then
-                                                      LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }$found_so"
-                else
-                  if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
-                                                            LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }$found_so"
-                                                            haveit=
-                    for x in $rpathdirs; do
-                      if test "X$x" = "X$found_dir"; then
-                        haveit=yes
-                        break
-                      fi
-                    done
-                    if test -z "$haveit"; then
-                      rpathdirs="$rpathdirs $found_dir"
-                    fi
-                  else
-                                                                                haveit=
-                    for x in $LDFLAGS $LIBGMPXX; do
+if test x$ciao_prolog != x
+then
+  # Create a temporary directory $tmp in $TMPDIR (default /tmp).
+  # Use mktemp if possible; otherwise fall back on mkdir,
+  # with $RANDOM to make collisions less likely.
+  : ${TMPDIR=/tmp}
+  {
+    tmp=`
+      (umask 077 && mktemp -d "$TMPDIR/ppl_ciao_XXXXXX") 2>/dev/null
+    ` &&
+    test -n "$tmp" && test -d "$tmp"
+  } || {
+    tmp=$TMPDIR/ppl_ciao_$$-$RANDOM
+    (umask 077 && mkdir "$tmp")
+  } || exit $?
+  cat >$tmp/print_include_dir.pl <<_CIAO_PRINT_INCLUDE_DIR_EOF
+main(_) :-
+    ciaolibdir(Lib_Dir),
+    get_os(Os),
+    get_arch(Arch),
+    format("~p/include/~p~p", [Lib_Dir, Os, Arch]).
+_CIAO_PRINT_INCLUDE_DIR_EOF
+  ciao_prolog_include_dir=`$ciao_prolog $tmp/print_include_dir.pl`
+  rm -rf $tmp
 
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
+  CIAO_PROLOG_INCLUDE_OPTIONS="-I${ciao_prolog_include_dir}"
 
-                      if test "X$x" = "X-L$found_dir"; then
-                        haveit=yes
-                        break
-                      fi
-                    done
-                    if test -z "$haveit"; then
-                      LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }-L$found_dir"
-                    fi
-                    if test "$hardcode_minus_L" != no; then
-                                                                                        LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }$found_so"
-                    else
-                                                                                                                                                                                LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }-l$name"
-                    fi
-                  fi
-                fi
-              fi
-            else
-              if test "X$found_a" != "X"; then
-                                LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }$found_a"
-              else
-                                                LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }-L$found_dir -l$name"
-              fi
-            fi
-                        additional_includedir=
-            case "$found_dir" in
-              */lib | */lib/)
-                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
-                additional_includedir="$basedir/include"
-                ;;
-            esac
-            if test "X$additional_includedir" != "X"; then
-                                                                                                                if test "X$additional_includedir" != "X/usr/include"; then
-                haveit=
-                if test "X$additional_includedir" = "X/usr/local/include"; then
-                  if test -n "$GCC"; then
-                    case $host_os in
-                      linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-                    esac
-                  fi
-                fi
-                if test -z "$haveit"; then
-                  for x in $CPPFLAGS $INCGMPXX; do
-
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
-
-                    if test "X$x" = "X-I$additional_includedir"; then
-                      haveit=yes
-                      break
-                    fi
-                  done
-                  if test -z "$haveit"; then
-                    if test -d "$additional_includedir"; then
-                                            INCGMPXX="${INCGMPXX}${INCGMPXX:+ }-I$additional_includedir"
-                    fi
-                  fi
-                fi
-              fi
-            fi
-                        if test -n "$found_la"; then
-                                                        save_libdir="$libdir"
-              case "$found_la" in
-                */* | *\\*) . "$found_la" ;;
-                *) . "./$found_la" ;;
-              esac
-              libdir="$save_libdir"
-                            for dep in $dependency_libs; do
-                case "$dep" in
-                  -L*)
-                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
-                                                                                                                                                                if test "X$additional_libdir" != "X/usr/lib"; then
-                      haveit=
-                      if test "X$additional_libdir" = "X/usr/local/lib"; then
-                        if test -n "$GCC"; then
-                          case $host_os in
-                            linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-                          esac
-                        fi
-                      fi
-                      if test -z "$haveit"; then
-                        haveit=
-                        for x in $LDFLAGS $LIBGMPXX; do
-
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
-
-                          if test "X$x" = "X-L$additional_libdir"; then
-                            haveit=yes
-                            break
-                          fi
-                        done
-                        if test -z "$haveit"; then
-                          if test -d "$additional_libdir"; then
-                                                        LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }-L$additional_libdir"
-                          fi
-                        fi
-                        haveit=
-                        for x in $LDFLAGS $LTLIBGMPXX; do
-
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="$CPPFLAGS $CIAO_PROLOG_INCLUDE_OPTIONS"
+  ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
-                          if test "X$x" = "X-L$additional_libdir"; then
-                            haveit=yes
-                            break
-                          fi
-                        done
-                        if test -z "$haveit"; then
-                          if test -d "$additional_libdir"; then
-                                                        LTLIBGMPXX="${LTLIBGMPXX}${LTLIBGMPXX:+ }-L$additional_libdir"
-                          fi
-                        fi
-                      fi
-                    fi
-                    ;;
-                  -R*)
-                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
-                    if test "$enable_rpath" != no; then
-                                                                  haveit=
-                      for x in $rpathdirs; do
-                        if test "X$x" = "X$dir"; then
-                          haveit=yes
-                          break
-                        fi
-                      done
-                      if test -z "$haveit"; then
-                        rpathdirs="$rpathdirs $dir"
-                      fi
-                                                                  haveit=
-                      for x in $ltrpathdirs; do
-                        if test "X$x" = "X$dir"; then
-                          haveit=yes
-                          break
-                        fi
-                      done
-                      if test -z "$haveit"; then
-                        ltrpathdirs="$ltrpathdirs $dir"
-                      fi
-                    fi
-                    ;;
-                  -l*)
-                                        names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
-                    ;;
-                  *.la)
-                                                                                names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
-                    ;;
-                  *)
-                                        LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }$dep"
-                    LTLIBGMPXX="${LTLIBGMPXX}${LTLIBGMPXX:+ }$dep"
-                    ;;
-                esac
-              done
-            fi
-          else
-                                                            LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }-l$name"
-            LTLIBGMPXX="${LTLIBGMPXX}${LTLIBGMPXX:+ }-l$name"
-          fi
-        fi
-      fi
-    done
-  done
-  if test "X$rpathdirs" != "X"; then
-    if test -n "$hardcode_libdir_separator"; then
-                        alldirs=
-      for found_dir in $rpathdirs; do
-        alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
-      done
-            acl_save_libdir="$libdir"
-      libdir="$alldirs"
-      eval flag=\"$hardcode_libdir_flag_spec\"
-      libdir="$acl_save_libdir"
-      LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }$flag"
-    else
-            for found_dir in $rpathdirs; do
-        acl_save_libdir="$libdir"
-        libdir="$found_dir"
-        eval flag=\"$hardcode_libdir_flag_spec\"
-        libdir="$acl_save_libdir"
-        LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }$flag"
-      done
-    fi
-  fi
-  if test "X$ltrpathdirs" != "X"; then
-            for found_dir in $ltrpathdirs; do
-      LTLIBGMPXX="${LTLIBGMPXX}${LTLIBGMPXX:+ }-R$found_dir"
-    done
-  fi
+  ac_fn_cxx_check_header_mongrel "$LINENO" "ciao_prolog.h" "ac_cv_header_ciao_prolog_h" "$ac_includes_default"
+if test "x$ac_cv_header_ciao_prolog_h" = x""yes; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Ciao Prolog version x.y.z or later" >&5
+$as_echo_n "checking for Ciao Prolog version x.y.z or later... " >&6; }
+                  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ciao_prolog.h>
 
-    ac_cv_libgmpxx_libs="$LIBGMPXX"
-    ac_cv_libgmpxx_ltlibs="$LTLIBGMPXX"
-    ac_cv_libgmpxx_cppflags="$INCGMPXX"
+int
+main() {
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+  ciao_prolog=""
+                    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_libgmpxx_libs" >&5
-$as_echo "$ac_cv_libgmpxx_libs" >&6; }
-  LIBGMPXX="$ac_cv_libgmpxx_libs"
-  LTLIBGMPXX="$ac_cv_libgmpxx_ltlibs"
-  INCGMPXX="$ac_cv_libgmpxx_cppflags"
-
-  for element in $INCGMPXX; do
-    haveit=
-    for x in $CPPFLAGS; do
-
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
-
-      if test "X$x" = "X$element"; then
-        haveit=yes
-        break
-      fi
-    done
-    if test -z "$haveit"; then
-      CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
-    fi
-  done
-
-
-
-      HAVE_LIBGMPXX=yes
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+  ciao_prolog=""
+fi
 
 
 
 
-ac_save_LIBS="$LIBS"
-LIBS="$LIBS $LIBGMPXX"
-ac_ext=cpp
+  ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
+  CPPFLAGS="$ac_save_CPPFLAGS"
+  CIAO_PROLOG="$ciao_prolog"
 
-{ $as_echo "$as_me:$LINENO: checking for the GMP library version 4.1.3 or above" >&5
-$as_echo_n "checking for the GMP library version 4.1.3 or above... " >&6; }
-if test "$cross_compiling" = yes; then
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
-#include <gmpxx.h>
+  fi
 
-#if __GNU_MP_VERSION < 4 || (__GNU_MP_VERSION == 4 && __GNU_MP_VERSION_MINOR < 1) || (__GNU_MP_VERSION == 4 && __GNU_MP_VERSION_MINOR == 1 && __GNU_MP_VERSION_PATCHLEVEL < 3)
-#GMP version 4.1.3 or higher is required
-#endif
+if test x$ciao_prolog != x
+then
+  have_ciao_prolog=yes
+else
+  have_ciao_prolog=no
+fi
 
-int
-main() {
-  return 0;
-}
+fi
 
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-    ac_cv_have_gmp=yes
+if test x${ciao_prolog_interface_enabled} = xyes \
+&& test x$have_ciao_prolog = xyes
+then
+  build_ciao_prolog_interface=yes
+fi
+ if test x$build_ciao_prolog_interface = xyes; then
+  BUILD_CIAO_PROLOG_INTERFACE_TRUE=
+  BUILD_CIAO_PROLOG_INTERFACE_FALSE='#'
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  BUILD_CIAO_PROLOG_INTERFACE_TRUE='#'
+  BUILD_CIAO_PROLOG_INTERFACE_FALSE=
+fi
+
+
+# Checks for GNU Prolog.
+if test x${gnu_prolog_interface_enabled} = xyes
+then
+  # Extract the first word of "gprolog", so it can be a program name with args.
+set dummy gprolog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_GNU_PROLOG+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$GNU_PROLOG"; then
+  ac_cv_prog_GNU_PROLOG="$GNU_PROLOG" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_GNU_PROLOG="gprolog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-	{ $as_echo "$as_me:$LINENO: result: no" >&5
+fi
+fi
+GNU_PROLOG=$ac_cv_prog_GNU_PROLOG
+if test -n "$GNU_PROLOG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GNU_PROLOG" >&5
+$as_echo "$GNU_PROLOG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-    ac_cv_have_gmp=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+  if test x"$GNU_PROLOG" = xgprolog
+  then
+    ac_fn_cxx_check_header_mongrel "$LINENO" "gprolog.h" "ac_cv_header_gprolog_h" "$ac_includes_default"
+if test "x$ac_cv_header_gprolog_h" = x""yes; then :
+
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+  GNU_PROLOG=""
+fi
 
-#include <gmpxx.h>
-#include <climits>
-#include <string>
-#include <sstream>
-#include <iostream>
 
-#if __GNU_MP_VERSION < 4 || (__GNU_MP_VERSION == 4 && __GNU_MP_VERSION_MINOR < 1) || (__GNU_MP_VERSION == 4 && __GNU_MP_VERSION_MINOR == 1 && __GNU_MP_VERSION_PATCHLEVEL < 3)
-#GMP version 4.1.3 or higher is required
-#endif
+  fi
+fi
 
-int
-main() {
-  std::string header_version;
-  {
-    std::ostringstream s(header_version);
-    s << __GNU_MP_VERSION << "." << __GNU_MP_VERSION_MINOR;
-    // Starting from GMP version 4.3.0, the gmp_version variable
-    // always contains three parts.  In previous versions the
-    // patchlevel was omitted if it was 0.
-    if (__GNU_MP_VERSION_PATCHLEVEL != 0
-        || __GNU_MP_VERSION > 4
-        || (__GNU_MP_VERSION == 4 && __GNU_MP_VERSION_MINOR >= 3))
-      s << "." << __GNU_MP_VERSION_PATCHLEVEL;
-    header_version = s.str();
-  }
+if test x${gnu_prolog_interface_enabled} = xyes \
+&& test x$GNU_PROLOG = xgprolog
+then
+  build_gnu_prolog_interface=yes
+fi
+ if test x$build_gnu_prolog_interface = xyes; then
+  BUILD_GNU_PROLOG_INTERFACE_TRUE=
+  BUILD_GNU_PROLOG_INTERFACE_FALSE='#'
+else
+  BUILD_GNU_PROLOG_INTERFACE_TRUE='#'
+  BUILD_GNU_PROLOG_INTERFACE_FALSE=
+fi
 
-  std::string library_version = gmp_version;
 
-  if (header_version != library_version) {
-    std::cerr
-      << "GMP header (gmp.h) and library (ligmp.*) version mismatch:\n"
-      << "header gives " << header_version << ";\n"
-      << "library gives " << library_version << "." << std::endl;
-    return 1;
-  }
+# Checks for SICStus.
+if test x${sicstus_prolog_interface_enabled} = xyes
+then
 
-  if (sizeof(mp_limb_t)*CHAR_BIT != GMP_LIMB_BITS
-      || GMP_LIMB_BITS != mp_bits_per_limb) {
-    std::cerr
-      << "GMP header (gmp.h) and library (ligmp.*) bits-per-limb mismatch:\n"
-      << "header gives " << __GMP_BITS_PER_MP_LIMB << ";\n"
-      << "library gives " << mp_bits_per_limb << ".\n"
-      << "This probably means you are on a bi-arch system and\n"
-      << "you are compiling with the wrong header or linking with\n"
-      << "the wrong library." << std::endl;
-    return 1;
-  }
+# Extract the first word of "sicstus", so it can be a program name with args.
+set dummy sicstus; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_sicstus_prolog+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $sicstus_prolog in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_sicstus_prolog="$sicstus_prolog" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_sicstus_prolog="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-  mpz_class n("3141592653589793238462643383279502884");
-  return 0;
-}
+  ;;
+esac
+fi
+sicstus_prolog=$ac_cv_path_sicstus_prolog
+if test -n "$sicstus_prolog"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $sicstus_prolog" >&5
+$as_echo "$sicstus_prolog" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+if test x$sicstus_prolog != x
+then
+        sicstus_prolog_base=$(dirname $($sicstus_prolog -f --goal "use_module(library(system)), environ('SP_APP_DIR', X), write(X), nl, halt."))
+  SICSTUS_PROLOG_INCLUDE_OPTIONS="-I${sicstus_prolog_base}/include"
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="$CPPFLAGS $SICSTUS_PROLOG_INCLUDE_OPTIONS"
+  ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+  # We require SICStus Prolog 3.9.1 or later.
+  ac_fn_cxx_check_header_mongrel "$LINENO" "sicstus/sicstus.h" "ac_cv_header_sicstus_sicstus_h" "$ac_includes_default"
+if test "x$ac_cv_header_sicstus_sicstus_h" = x""yes; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SICStus version 3.9.1 or later" >&5
+$as_echo_n "checking for SICStus version 3.9.1 or later... " >&6; }
+                  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+                      #include <sicstus/sicstus.h>
+                      #if SICSTUS_MAJOR_VERSION > 3 || (SICSTUS_MAJOR_VERSION == 3 && SICSTUS_MINOR_VERSION > 9) || (SICSTUS_MAJOR_VERSION == 3 && SICSTUS_MINOR_VERSION == 9 && SICSTUS_REVISION_VERSION >= 1)
+                      yes
+                      #endif
 
 _ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "yes" >/dev/null 2>&1; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-  ac_cv_have_gmp=yes
 else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ $as_echo "$as_me:$LINENO: result: no" >&5
+  sicstus_prolog=""
+                    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-  ac_cv_have_gmp=no
+
 fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f conftest*
+
+else
+  sicstus_prolog=""
 fi
 
 
+  ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
-have_gmp=${ac_cv_have_gmp}
+  CPPFLAGS="$ac_save_CPPFLAGS"
 
-if test x"$ac_cv_have_gmp" = xyes
-then
+fi
 
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:$LINENO: checking size of mp_limb_t" >&5
-$as_echo_n "checking size of mp_limb_t... " >&6; }
-if test "${ac_cv_sizeof_mp_limb_t+set}" = set; then
-  $as_echo_n "(cached) " >&6
+if test x$sicstus_prolog != x
+then
+  have_sicstus_prolog=yes
 else
-  if test "$cross_compiling" = yes; then
-  # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <gmpxx.h>
+  have_sicstus_prolog=no
+fi
 
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (mp_limb_t))) >= 0)];
-test_array [0] = 0
+fi
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_lo=0 ac_mid=0
-  while :; do
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <gmpxx.h>
-
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (mp_limb_t))) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=$ac_mid; break
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_lo=`expr $ac_mid + 1`
-			if test $ac_lo -le $ac_mid; then
-			  ac_lo= ac_hi=
-			  break
-			fi
-			ac_mid=`expr 2 '*' $ac_mid + 1`
+if test x${sicstus_prolog_interface_enabled} = xyes \
+&& test x$have_sicstus_prolog = xyes
+then
+  build_sicstus_prolog_interface=yes
 fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
+ if test x$build_sicstus_prolog_interface = xyes; then
+  BUILD_SICSTUS_PROLOG_INTERFACE_TRUE=
+  BUILD_SICSTUS_PROLOG_INTERFACE_FALSE='#'
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  BUILD_SICSTUS_PROLOG_INTERFACE_TRUE='#'
+  BUILD_SICSTUS_PROLOG_INTERFACE_FALSE=
+fi
 
-	cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <gmpxx.h>
 
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (mp_limb_t))) < 0)];
-test_array [0] = 0
+# Checks for SWI-Prolog.
+if test x${swi_prolog_interface_enabled} = xyes
+then
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=-1 ac_mid=-1
-  while :; do
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <gmpxx.h>
 
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (mp_limb_t))) >= $ac_mid)];
-test_array [0] = 0
+# Extract the first word of "swipl", so it can be a program name with args.
+set dummy swipl; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_swi_prolog+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $swi_prolog in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_swi_prolog="$swi_prolog" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_swi_prolog="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+  ;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_lo=$ac_mid; break
+fi
+swi_prolog=$ac_cv_path_swi_prolog
+if test -n "$swi_prolog"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $swi_prolog" >&5
+$as_echo "$swi_prolog" >&6; }
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_hi=`expr '(' $ac_mid ')' - 1`
-			if test $ac_mid -le $ac_hi; then
-			  ac_lo= ac_hi=
-			  break
-			fi
-			ac_mid=`expr 2 '*' $ac_mid`
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
+
+if test -z $swi_prolog
+then
+  # Extract the first word of "swi-prolog", so it can be a program name with args.
+set dummy swi-prolog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_swi_prolog+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  case $swi_prolog in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_swi_prolog="$swi_prolog" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_swi_prolog="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-	ac_lo= ac_hi=
+  ;;
+esac
 fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+swi_prolog=$ac_cv_path_swi_prolog
+if test -n "$swi_prolog"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $swi_prolog" >&5
+$as_echo "$swi_prolog" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
-  ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <gmpxx.h>
 
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (mp_limb_t))) <= $ac_mid)];
-test_array [0] = 0
+  if test -z $swi_prolog
+  then
+    # Extract the first word of "pl", so it can be a program name with args.
+set dummy pl; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_swi_prolog+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $swi_prolog in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_swi_prolog="$swi_prolog" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_swi_prolog="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+  ;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=$ac_mid
+fi
+swi_prolog=$ac_cv_path_swi_prolog
+if test -n "$swi_prolog"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $swi_prolog" >&5
+$as_echo "$swi_prolog" >&6; }
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_lo=`expr '(' $ac_mid ')' + 1`
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+    if test -z $swi_prolog
+    then
+      # Extract the first word of "plcon", so it can be a program name with args.
+set dummy plcon; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_swi_prolog+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $swi_prolog in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_swi_prolog="$swi_prolog" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_swi_prolog="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
 done
-case $ac_lo in
-?*) ac_cv_sizeof_mp_limb_t=$ac_lo;;
-'') if test "$ac_cv_type_mp_limb_t" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (mp_limb_t)
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute sizeof (mp_limb_t)
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
-   else
-     ac_cv_sizeof_mp_limb_t=0
-   fi ;;
+  done
+IFS=$as_save_IFS
+
+  ;;
 esac
+fi
+swi_prolog=$ac_cv_path_swi_prolog
+if test -n "$swi_prolog"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $swi_prolog" >&5
+$as_echo "$swi_prolog" >&6; }
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <gmpxx.h>
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
-static long int longval () { return (long int) (sizeof (mp_limb_t)); }
-static unsigned long int ulongval () { return (long int) (sizeof (mp_limb_t)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
 
-  FILE *f = fopen ("conftest.val", "w");
-  if (! f)
-    return 1;
-  if (((long int) (sizeof (mp_limb_t))) < 0)
-    {
-      long int i = longval ();
-      if (i != ((long int) (sizeof (mp_limb_t))))
-	return 1;
-      fprintf (f, "%ld", i);
-    }
-  else
-    {
-      unsigned long int i = ulongval ();
-      if (i != ((long int) (sizeof (mp_limb_t))))
-	return 1;
-      fprintf (f, "%lu", i);
-    }
-  /* Do not output a trailing newline, as this causes \r\n confusion
-     on some platforms.  */
-  return ferror (f) || fclose (f) != 0;
+    fi
+  fi
+fi
+if test x$swi_prolog != x
+then
+  swi_prolog_base=`$swi_prolog -dump-runtime-variables | grep PLBASE= | sed 's/PLBASE="\(.*\)";/\1/'`
+  swi_prolog_version=`$swi_prolog -dump-runtime-variables | grep PLVERSION= | sed 's/PLVERSION="\(.*\)";/\1/'`
+  swi_prolog_arch=`$swi_prolog -dump-runtime-variables | grep PLARCH= | sed 's/PLARCH="\(.*\)";/\1/'`
+  swi_prolog_libs=`$swi_prolog -dump-runtime-variables | grep PLLIBS= | sed 's/PLLIBS="\(.*\)";/\1/'`
+  swi_prolog_lib=`$swi_prolog -dump-runtime-variables | grep PLLIB= | sed 's/PLLIB="\(.*\)";/\1/'`
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_sizeof_mp_limb_t=`cat conftest.val`
+
+  # Extract the first word of "swipl-ld", so it can be a program name with args.
+set dummy swipl-ld; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_swi_prolog_ld+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  case $swi_prolog_ld in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_swi_prolog_ld="$swi_prolog_ld" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_swi_prolog_ld="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-( exit $ac_status )
-if test "$ac_cv_type_mp_limb_t" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (mp_limb_t)
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute sizeof (mp_limb_t)
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
-   else
-     ac_cv_sizeof_mp_limb_t=0
-   fi
-fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+  ;;
+esac
 fi
-rm -f conftest.val
+swi_prolog_ld=$ac_cv_path_swi_prolog_ld
+if test -n "$swi_prolog_ld"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $swi_prolog_ld" >&5
+$as_echo "$swi_prolog_ld" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_mp_limb_t" >&5
-$as_echo "$ac_cv_sizeof_mp_limb_t" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_MP_LIMB_T $ac_cv_sizeof_mp_limb_t
-_ACEOF
 
 
+  if test -z $swi_prolog_ld
+  then
+    # Extract the first word of "plld", so it can be a program name with args.
+set dummy plld; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_swi_prolog_ld+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $swi_prolog_ld in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_swi_prolog_ld="$swi_prolog_ld" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_swi_prolog_ld="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-{ $as_echo "$as_me:$LINENO: checking whether GMP has been compiled with support for exceptions" >&5
-$as_echo_n "checking whether GMP has been compiled with support for exceptions... " >&6; }
-if test "$cross_compiling" = yes; then
-  { $as_echo "$as_me:$LINENO: result: assuming not" >&5
-$as_echo "assuming not" >&6; }
-  ac_cv_gmp_supports_exceptions=no
+  ;;
+esac
+fi
+swi_prolog_ld=$ac_cv_path_swi_prolog_ld
+if test -n "$swi_prolog_ld"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $swi_prolog_ld" >&5
+$as_echo "$swi_prolog_ld" >&6; }
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
-#include <gmpxx.h>
-#include <new>
-#include <cstddef>
 
-static void*
-x_malloc(size_t) {
-  throw std::bad_alloc();
-}
+  fi
 
-static void*
-x_realloc(void*, size_t, size_t) {
-  throw std::bad_alloc();
-}
+  # In Fedora, SWI-Prolog.h is installed only in /usr/include/pl, which,
+  # IMHO, is a bug (https://bugzilla.redhat.com/show_bug.cgi?id=471071).
+  SWI_PROLOG_INCLUDE_OPTIONS="-I${swi_prolog_base}/include -I/usr/include/pl"
+  SWI_PROLOG_LD_OPTIONS="-L${swi_prolog_base}/lib/${swi_prolog_arch} ${swi_prolog_lib} ${swi_prolog_libs}"
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="$CPPFLAGS $SWI_PROLOG_INCLUDE_OPTIONS"
+  ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
-static void
-x_free(void*, size_t) {
-}
+  # We require SWI-Prolog 5.6.0 or later.
+  ac_fn_cxx_check_header_mongrel "$LINENO" "SWI-Prolog.h" "ac_cv_header_SWI_Prolog_h" "$ac_includes_default"
+if test "x$ac_cv_header_SWI_Prolog_h" = x""yes; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SWI-Prolog version 5.6.0 or later" >&5
+$as_echo_n "checking for SWI-Prolog version 5.6.0 or later... " >&6; }
+                  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <SWI-Prolog.h>
 
-int main() {
-  mp_set_memory_functions(x_malloc, x_realloc, x_free);
-  try {
-    mpz_class n("3141592653589793238462643383279502884");
-  }
-  catch (std::bad_alloc&) {
-    return 0;
-  }
-  return 1;
-}
+int
+main() {
+#if !defined(PLVERSION) || PLVERSION < 50600
+  choke me
+#endif
 
+  ;
+  return 0;
+}
 _ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-  ac_cv_gmp_supports_exceptions=yes
 else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ $as_echo "$as_me:$LINENO: result: no" >&5
+  swi_prolog=""
+                    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-  ac_cv_gmp_supports_exceptions=no
-fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
 
-
-gmp_supports_exceptions=${ac_cv_gmp_supports_exceptions}
-if test x"$gmp_supports_exceptions" = xyes
-then
-  value=1
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 else
-  value=0
+  swi_prolog=""
 fi
 
-cat >>confdefs.h <<_ACEOF
-#define PPL_GMP_SUPPORTS_EXCEPTIONS $value
-_ACEOF
-
-
-fi
 
-ac_ext=cpp
+  ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
-LIBS="$ac_save_LIBS"
+  CPPFLAGS="$ac_save_CPPFLAGS"
+  SWI_PROLOG="$swi_prolog"
+  SWI_PROLOG_LD="$swi_prolog_ld"
 
-gmp_library_option="$LTLIBGMPXX"
 
-if test x"$have_gmp" = xno
+
+
+fi
+
+if test x$swi_prolog != x
 then
-  { { $as_echo "$as_me:$LINENO: error: Cannot find GMP version 4.1.3 or higher.
-GMP is the GNU Multi-Precision library:
-see http://www.swox.com/gmp/ for more information.
-When compiling the GMP library, do not forget to enable the C++ interface:
-add --enable-cxx to the configuration options." >&5
-$as_echo "$as_me: error: Cannot find GMP version 4.1.3 or higher.
-GMP is the GNU Multi-Precision library:
-see http://www.swox.com/gmp/ for more information.
-When compiling the GMP library, do not forget to enable the C++ interface:
-add --enable-cxx to the configuration options." >&2;}
-   { (exit 1); exit 1; }; }
+  have_swi_prolog=yes
 else
-  if test x"$have_gmpxx" = xno
-  then
-    { { $as_echo "$as_me:$LINENO: error: GMP compiled without enabling the C++ interface.
-GMP is the GNU Multi-Precision library:
-see http://www.swox.com/gmp/ for more information.
-When compiling the GMP library, do not forget to enable the C++ interface:
-add --enable-cxx to the configuration options." >&5
-$as_echo "$as_me: error: GMP compiled without enabling the C++ interface.
-GMP is the GNU Multi-Precision library:
-see http://www.swox.com/gmp/ for more information.
-When compiling the GMP library, do not forget to enable the C++ interface:
-add --enable-cxx to the configuration options." >&2;}
-   { (exit 1); exit 1; }; }
-  fi
+  have_swi_prolog=no
 fi
 
-{ $as_echo "$as_me:$LINENO: checking for __mpz_struct._mp_alloc" >&5
-$as_echo_n "checking for __mpz_struct._mp_alloc... " >&6; }
-if test "${ac_cv_member___mpz_struct__mp_alloc+set}" = set; then
-  $as_echo_n "(cached) " >&6
+fi
+
+# Under Cygwin, SWI-Prolog does not work with foreign code:
+# see http://www.cs.unipr.it/pipermail/ppl-devel/2006-January/007838.html
+if test x${swi_prolog_interface_enabled} = xyes \
+&& test x$have_swi_prolog = xyes \
+&& test x"${host_os}" != xcygwin
+then
+  build_swi_prolog_interface=yes
+fi
+ if test x$build_swi_prolog_interface = xyes; then
+  BUILD_SWI_PROLOG_INTERFACE_TRUE=
+  BUILD_SWI_PROLOG_INTERFACE_FALSE='#'
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <gmp.h>
+  BUILD_SWI_PROLOG_INTERFACE_TRUE='#'
+  BUILD_SWI_PROLOG_INTERFACE_FALSE=
+fi
 
-int
-main ()
-{
-static __mpz_struct ac_aggr;
-if (ac_aggr._mp_alloc)
-return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_member___mpz_struct__mp_alloc=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <gmp.h>
+# Checks for XSB.
+if test x${xsb_prolog_interface_enabled} = xyes
+then
 
-int
-main ()
-{
-static __mpz_struct ac_aggr;
-if (sizeof ac_aggr._mp_alloc)
-return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_member___mpz_struct__mp_alloc=yes
+# Extract the first word of "xsb", so it can be a program name with args.
+set dummy xsb; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_xsb_prolog+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_member___mpz_struct__mp_alloc=no
-fi
+  case $xsb_prolog in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_xsb_prolog="$xsb_prolog" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_xsb_prolog="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  ;;
+esac
 fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+xsb_prolog=$ac_cv_path_xsb_prolog
+if test -n "$xsb_prolog"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsb_prolog" >&5
+$as_echo "$xsb_prolog" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_member___mpz_struct__mp_alloc" >&5
-$as_echo "$ac_cv_member___mpz_struct__mp_alloc" >&6; }
-if test "x$ac_cv_member___mpz_struct__mp_alloc" = x""yes; then
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE___MPZ_STRUCT__MP_ALLOC 1
-_ACEOF
 
+if test x$xsb_prolog != x
+then
+        xsb_emu_dir=$(xsb --nobanner --quietload --noprompt \
+                -e "write('emudir='), \
+                  xsb_configuration(emudir, X), write(X), nl, halt." \
+                    2>/dev/null | sed "s/^emudir=//g")
+  xsb_config_dir=$(xsb --nobanner --quietload --noprompt \
+                   -e "write('config_dir='), \
+                     xsb_configuration(config_dir,X), write(X), nl, halt." \
+                       2>/dev/null | sed "s/^config_dir=//g")
+  XSB_PROLOG_INCLUDE_OPTIONS="-I${xsb_emu_dir} -I${xsb_config_dir}"
 
-else
-  gmp_has_changes=yes
 fi
-{ $as_echo "$as_me:$LINENO: checking for __mpz_struct._mp_size" >&5
-$as_echo_n "checking for __mpz_struct._mp_size... " >&6; }
-if test "${ac_cv_member___mpz_struct__mp_size+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <gmp.h>
-
-int
-main ()
-{
-static __mpz_struct ac_aggr;
-if (ac_aggr._mp_size)
-return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_member___mpz_struct__mp_size=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <gmp.h>
 
-int
-main ()
-{
-static __mpz_struct ac_aggr;
-if (sizeof ac_aggr._mp_size)
-return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_member___mpz_struct__mp_size=yes
+if test x$xsb_prolog != x
+then
+  have_xsb_prolog=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_member___mpz_struct__mp_size=no
+  have_xsb_prolog=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+if test x${xsb_prolog_interface_enabled} = xyes \
+&& test x$have_xsb_prolog = xyes
+then
+  build_xsb_prolog_interface=yes
+fi
+ if test x$build_xsb_prolog_interface = xyes; then
+  BUILD_XSB_PROLOG_INTERFACE_TRUE=
+  BUILD_XSB_PROLOG_INTERFACE_FALSE='#'
+else
+  BUILD_XSB_PROLOG_INTERFACE_TRUE='#'
+  BUILD_XSB_PROLOG_INTERFACE_FALSE=
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_member___mpz_struct__mp_size" >&5
-$as_echo "$ac_cv_member___mpz_struct__mp_size" >&6; }
-if test "x$ac_cv_member___mpz_struct__mp_size" = x""yes; then
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE___MPZ_STRUCT__MP_SIZE 1
-_ACEOF
 
+# Checks for YAP.
+if test x${yap_prolog_interface_enabled} = xyes
+then
 
-else
-  gmp_has_changes=yes
-fi
-{ $as_echo "$as_me:$LINENO: checking for __mpz_struct._mp_d" >&5
-$as_echo_n "checking for __mpz_struct._mp_d... " >&6; }
-if test "${ac_cv_member___mpz_struct__mp_d+set}" = set; then
+# Extract the first word of "yap", so it can be a program name with args.
+set dummy yap; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_yap_prolog+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <gmp.h>
+  case $yap_prolog in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_yap_prolog="$yap_prolog" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_yap_prolog="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-int
-main ()
-{
-static __mpz_struct ac_aggr;
-if (ac_aggr._mp_d)
-return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+  ;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_member___mpz_struct__mp_d=yes
+fi
+yap_prolog=$ac_cv_path_yap_prolog
+if test -n "$yap_prolog"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $yap_prolog" >&5
+$as_echo "$yap_prolog" >&6; }
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
-	cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <gmp.h>
 
-int
-main ()
-{
-static __mpz_struct ac_aggr;
-if (sizeof ac_aggr._mp_d)
-return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_member___mpz_struct__mp_d=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if test x$yap_prolog != x
+then
 
-	ac_cv_member___mpz_struct__mp_d=no
-fi
+  YAP_PROLOG_INCLUDE_OPTIONS=""
+  YAP_PROLOG_LD_OPTIONS="-lYap"
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="$CPPFLAGS $YAP_PROLOG_INCLUDE_OPTIONS"
+  ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
+  # Check for YAP's foreign language interface header file.
+  ac_fn_cxx_check_header_mongrel "$LINENO" "Yap/c_interface.h" "ac_cv_header_Yap_c_interface_h" "$ac_includes_default"
+if test "x$ac_cv_header_Yap_c_interface_h" = x""yes; then :
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+  yap_prolog=""
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_member___mpz_struct__mp_d" >&5
-$as_echo "$ac_cv_member___mpz_struct__mp_d" >&6; }
-if test "x$ac_cv_member___mpz_struct__mp_d" = x""yes; then
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE___MPZ_STRUCT__MP_D 1
-_ACEOF
 
+  ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
-else
-  gmp_has_changes=yes
-fi
+  CPPFLAGS="$ac_save_CPPFLAGS"
+  YAP_PROLOG="$yap_prolog"
 
 
-if test x"$gmp_has_changed" = xyes
+
+fi
+
+if test x$yap_prolog != x
 then
-  { { $as_echo "$as_me:$LINENO: error: GMP HAS CHANGED:
-*** The PPL exploits some implementation details of GMP that were current
-*** until (at least) version 4.1.4 of GMP.  You seem to be using a version
-*** where these details have changed.
-*** Please report this to ppl-devel at cs.unipr.it." >&5
-$as_echo "$as_me: error: GMP HAS CHANGED:
-*** The PPL exploits some implementation details of GMP that were current
-*** until (at least) version 4.1.4 of GMP.  You seem to be using a version
-*** where these details have changed.
-*** Please report this to ppl-devel at cs.unipr.it." >&2;}
-   { (exit 1); exit 1; }; }
+  have_yap_prolog=yes
+else
+  have_yap_prolog=no
 fi
 
-extra_includes="${extra_includes}${extra_includes:+ }${gmp_includes_option}"
-extra_libraries="${extra_libraries}${extra_libraries:+ }${gmp_library_option}"
+fi
 
-# setitimer() is a strong requisite for the PWL.
-
-for ac_func in setitimer
-do
-as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
-$as_echo_n "checking for $ac_func... " >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
+if test x${yap_prolog_interface_enabled} = xyes \
+&& test x$have_yap_prolog = xyes
+then
+  build_yap_prolog_interface=yes
+fi
+ if test x$build_yap_prolog_interface = xyes; then
+  BUILD_YAP_PROLOG_INTERFACE_TRUE=
+  BUILD_YAP_PROLOG_INTERFACE_FALSE='#'
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $ac_func innocuous_$ac_func
+  BUILD_YAP_PROLOG_INTERFACE_TRUE='#'
+  BUILD_YAP_PROLOG_INTERFACE_FALSE=
+fi
 
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
 
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
+# Test if *any* Prolog system has to be built.
+if test x$build_ciao_prolog_interface = xyes \
+|| test x$build_gnu_prolog_interface = xyes \
+|| test x$build_sicstus_prolog_interface = xyes \
+|| test x$build_swi_prolog_interface = xyes \
+|| test x$build_xsb_prolog_interface = xyes \
+|| test x$build_yap_prolog_interface = xyes
+then
+  build_some_prolog_interfaces=yes
+fi
+ if test x$build_some_prolog_interfaces = xyes; then
+  BUILD_SOME_PROLOG_INTERFACES_TRUE=
+  BUILD_SOME_PROLOG_INTERFACES_FALSE='#'
+else
+  BUILD_SOME_PROLOG_INTERFACES_TRUE='#'
+  BUILD_SOME_PROLOG_INTERFACES_FALSE=
+fi
 
-#undef $ac_func
 
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$ac_func || defined __stub___$ac_func
-choke me
-#endif
+if test x$build_c_interface = xyes \
+|| test x$build_java_interface = xyes \
+|| test x$build_ocaml_interface = xyes \
+|| test x$build_some_prolog_interfaces = xyes
+then
+  # Look for a recent enough version of GNU M4.
 
-int
-main ()
-{
-return $ac_func ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  eval "$as_ac_var=yes"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU M4 that supports accurate traces" >&5
+$as_echo_n "checking for GNU M4 that supports accurate traces... " >&6; }
+if test "${ac_cv_path_M4+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	eval "$as_ac_var=no"
+  rm -f conftest.m4f
+if test -z "$M4"; then
+  ac_path_M4_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in m4 gm4 gnum4; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_M4="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_M4" && $as_test_x "$ac_path_M4"; } || continue
+      # Root out GNU M4 1.4.4, as well as non-GNU m4 that ignore -t, -F.
+      ac_snippet=change'quote(<,>)in''dir(<if''def>,mac,bug)d'nl
+      test -z "`$ac_path_M4 -F conftest.m4f </dev/null 2>&1`" \
+      && test -z "`echo $ac_snippet | $ac_path_M4 --trace=mac 2>&1`" \
+      && test -f conftest.m4f \
+      && ac_cv_path_M4=$ac_path_M4 ac_path_M4_found=:
+      rm -f conftest.m4f
+      $ac_path_M4_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_M4"; then
+    as_fn_error $? "no acceptable m4 could be found in \$PATH.
+GNU M4 1.4.5 or later is required; 1.4.11 is recommended" "$LINENO" 5
+  fi
+else
+  ac_cv_path_M4=$M4
 fi
 
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
 fi
-ac_res=`eval 'as_val=${'$as_ac_var'}
-		 $as_echo "$as_val"'`
-	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-		 $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
- have_setitimer=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_M4" >&5
+$as_echo "$ac_cv_path_M4" >&6; }
+  M4=$ac_cv_path_M4
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how m4 supports trace files" >&5
+$as_echo_n "checking how m4 supports trace files... " >&6; }
+if test "${ac_cv_prog_gnu_m4_debugfile+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  have_setitimer=no
+  case `$M4 --help < /dev/null 2>&1` in
+      *debugfile*) ac_cv_prog_gnu_m4_debugfile=--debugfile ;;
+      *) ac_cv_prog_gnu_m4_debugfile=--error-output ;;
+    esac
 fi
-done
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_gnu_m4_debugfile" >&5
+$as_echo "$ac_cv_prog_gnu_m4_debugfile" >&6; }
+  M4_DEBUGFILE=$ac_cv_prog_gnu_m4_debugfile
 
 
-enableval=default
-{ $as_echo "$as_me:$LINENO: checking whether to build the Parma Watchdog Library" >&5
-$as_echo_n "checking whether to build the Parma Watchdog Library... " >&6; }
-# Check whether --enable-watchdog was given.
-if test "${enable_watchdog+set}" = set; then
-  enableval=$enable_watchdog;
 fi
 
-case "${enableval}" in
-yes)
-  if test x"$have_setitimer" = xyes
-  then
-    build_watchdog_library=yes
-  else
-    { { $as_echo "$as_me:$LINENO: error: CANNOT BUILD THE WATCHDOG LIBRARY
-*** THE SYSTEM DOES NOT PROVIDE THE SETITIMER FUNCTION." >&5
-$as_echo "$as_me: error: CANNOT BUILD THE WATCHDOG LIBRARY
-*** THE SYSTEM DOES NOT PROVIDE THE SETITIMER FUNCTION." >&2;}
-   { (exit 1); exit 1; }; }
-  fi
-  ;;
-default)
-  build_watchdog_library=$have_setitimer
-  ;;
-no)
-  build_watchdog_library=no
-  ;;
-*)
-  { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-watchdog, needs yes or no" >&5
-$as_echo "$as_me: error: bad value ${enableval} for --enable-watchdog, needs yes or no" >&2;}
-   { (exit 1); exit 1; }; }
-  ;;
-esac
-{ $as_echo "$as_me:$LINENO: result: $build_watchdog_library" >&5
-$as_echo "$build_watchdog_library" >&6; }
- if test x"$build_watchdog_library" = xyes; then
-  BUILD_WATCHDOG_LIBRARY_TRUE=
-  BUILD_WATCHDOG_LIBRARY_FALSE='#'
-else
-  BUILD_WATCHDOG_LIBRARY_TRUE='#'
-  BUILD_WATCHDOG_LIBRARY_FALSE=
+# Define the list of instantiations that are enabled by default.
+# Different instantiations are separated by a '@' character.
+di="        Polyhedron @ Grid"
+di="${di} @ Rational_Box"
+di="${di} @ BD_Shape<int8_t> @ BD_Shape<mpz_class> @ BD_Shape<mpq_class>"
+di="${di} @ Octagonal_Shape<mpz_class> @ Octagonal_Shape<mpq_class>"
+di="${di} @ Constraints_Product<C_Polyhedron, Grid>"
+di="${di} @ Pointset_Powerset<C_Polyhedron>"
+di="${di} @ Pointset_Powerset<NNC_Polyhedron>"
+if test $ac_supported_double = 1
+then
+  di="${di} @ Double_Box @ BD_Shape<double> @ Octagonal_Shape<double>"
 fi
+default_instantiations="${di}"
 
-if test x"$build_watchdog_library" = xyes
+# Define the list of all instantiations.
+# Different instantiations are separated by a '@' character.
+ai="        Int8_Box @ Int16_Box @ Int32_Box @ Int64_Box"
+ai="${ai} @ Uint8_Box @ Uint16_Box @ Uint32_Box @ Uint64_Box"
+ai="${ai} @ Z_Box @ Rational_Box"
+ai="${ai} @ BD_Shape<int8_t> @ BD_Shape<int16_t>"
+ai="${ai} @ BD_Shape<int32_t> @ BD_Shape<int64_t>"
+ai="${ai} @ BD_Shape<mpz_class> @ BD_Shape<mpq_class>"
+ai="${ai} @ Octagonal_Shape<int8_t> @ Octagonal_Shape<int16_t>"
+ai="${ai} @ Octagonal_Shape<int32_t> @ Octagonal_Shape<int64_t>"
+ai="${ai} @ Octagonal_Shape<mpz_class> @ Octagonal_Shape<mpq_class>"
+ai="${ai} @ Polyhedron @ Grid"
+ai="${ai} @ Pointset_Powerset<Int8_Box> @ Pointset_Powerset<Int16_Box>"
+ai="${ai} @ Pointset_Powerset<Int32_Box> @ Pointset_Powerset<Int64_Box>"
+ai="${ai} @ Pointset_Powerset<Uint8_Box> @ Pointset_Powerset<Uint16_Box>"
+ai="${ai} @ Pointset_Powerset<Uint32_Box> @ Pointset_Powerset<Uint64_Box>"
+ai="${ai} @ Pointset_Powerset<Rational_Box> @ Pointset_Powerset<Z_Box>"
+ai="${ai} @ Pointset_Powerset<BD_Shape<int8_t> >"
+ai="${ai} @ Pointset_Powerset<BD_Shape<int16_t> >"
+ai="${ai} @ Pointset_Powerset<BD_Shape<int32_t> >"
+ai="${ai} @ Pointset_Powerset<BD_Shape<int64_t> >"
+ai="${ai} @ Pointset_Powerset<BD_Shape<mpq_class> >"
+ai="${ai} @ Pointset_Powerset<BD_Shape<mpz_class> >"
+ai="${ai} @ Pointset_Powerset<Octagonal_Shape<int8_t> >"
+ai="${ai} @ Pointset_Powerset<Octagonal_Shape<int16_t> >"
+ai="${ai} @ Pointset_Powerset<Octagonal_Shape<int32_t> >"
+ai="${ai} @ Pointset_Powerset<Octagonal_Shape<int64_t> >"
+ai="${ai} @ Pointset_Powerset<Octagonal_Shape<mpq_class> >"
+ai="${ai} @ Pointset_Powerset<Octagonal_Shape<mpz_class> >"
+ai="${ai} @ Pointset_Powerset<C_Polyhedron>"
+ai="${ai} @ Pointset_Powerset<NNC_Polyhedron>"
+ai="${ai} @ Pointset_Powerset<Grid>"
+ai="${ai} @ Constraints_Product<C_Polyhedron, Grid>"
+ai="${ai} @ Constraints_Product<NNC_Polyhedron, Grid>"
+ai="${ai} @ Constraints_Product<Grid, C_Polyhedron>"
+ai="${ai} @ Constraints_Product<Grid, NNC_Polyhedron>"
+if test $ac_supported_float = 1
 then
-
-cat >>confdefs.h <<\_ACEOF
-#define PPL_WATCHDOG_LIBRARY_ENABLED 1
-_ACEOF
-
+  ai="${ai} @ Float_Box @ BD_Shape<float>"
+  ai="${ai} @ Octagonal_Shape<float>"
+  ai="${ai} @ Pointset_Powerset<Float_Box>"
+  ai="${ai} @ Pointset_Powerset<BD_Shape<float> >"
+  ai="${ai} @ Pointset_Powerset<Octagonal_Shape<float> >"
 fi
+if test $ac_supported_double = 1
+then
+  ai="${ai} @ Double_Box @ BD_Shape<double>"
+  ai="${ai} @ Octagonal_Shape<double>"
+  ai="${ai} @ Pointset_Powerset<Double_Box>"
+  ai="${ai} @ Pointset_Powerset<BD_Shape<double> >"
+  ai="${ai} @ Pointset_Powerset<Octagonal_Shape<double> >"
+fi
+if test $ac_supported_long_double = 1
+then
+  ai="${ai} @ Long_Double_Box @ BD_Shape<long double>"
+  ai="${ai} @ Octagonal_Shape<long double>"
+  ai="${ai} @ Pointset_Powerset<Long_Double_Box>"
+  ai="${ai} @ Pointset_Powerset<BD_Shape<long double> >"
+  ai="${ai} @ Pointset_Powerset<Octagonal_Shape<long double> >"
+fi
+available_instantiations=${ai}
 
-# Enabled or not, the Watchdog subdirectory must be configured.
-
-
-subdirs="$subdirs Watchdog"
-
-
-enableval=yes
-{ $as_echo "$as_me:$LINENO: checking whether to build the ppl_lcdd program" >&5
-$as_echo_n "checking whether to build the ppl_lcdd program... " >&6; }
-# Check whether --enable-ppl_lcdd was given.
-if test "${enable_ppl_lcdd+set}" = set; then
-  enableval=$enable_ppl_lcdd;
+enableval=not_specified
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which instantiations are enabled" >&5
+$as_echo_n "checking which instantiations are enabled... " >&6; }
+# Check whether --enable-instantiations was given.
+if test "${enable_instantiations+set}" = set; then :
+  enableval=$enable_instantiations;
 fi
 
-case "${enableval}" in
-yes)
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
+case x"${enableval}" in
+xyes | x)
+  ai_one_per_line=`echo "${available_instantiations}" | sed -e 's/ *@ */\n/g' -e 's/ *\([A-Z]\)/\1/g'`
+  as_fn_error $? "
+--enable-instantiations needs at least one argument chosen among none,
+all, and an @-separated list of instantiation specifiers included
+in the following list:
+${ai_one_per_line}" "$LINENO" 5
   ;;
-no)
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-  ;;
-*)
-  { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-ppl_lcdd, needs yes or no" >&5
-$as_echo "$as_me: error: bad value ${enableval} for --enable-ppl_lcdd, needs yes or no" >&2;}
-   { (exit 1); exit 1; }; }
-  ;;
-esac
-build_ppl_lcdd=$enableval
- if test x"$build_ppl_lcdd" = xyes; then
-  BUILD_PPL_LCDD_TRUE=
-  BUILD_PPL_LCDD_FALSE='#'
-else
-  BUILD_PPL_LCDD_TRUE='#'
-  BUILD_PPL_LCDD_FALSE=
-fi
-
-
-enableval=yes
-{ $as_echo "$as_me:$LINENO: checking whether to build the ppl_lpsol program" >&5
-$as_echo_n "checking whether to build the ppl_lpsol program... " >&6; }
-# Check whether --enable-ppl_lpsol was given.
-if test "${enable_ppl_lpsol+set}" = set; then
-  enableval=$enable_ppl_lpsol;
-fi
-
-case "${enableval}" in
-yes)
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-  ;;
-no)
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-  ;;
-*)
-  { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-ppl_lpsol, needs yes or no" >&5
-$as_echo "$as_me: error: bad value ${enableval} for --enable-ppl_lpsol, needs yes or no" >&2;}
-   { (exit 1); exit 1; }; }
-  ;;
-esac
-build_ppl_lpsol=$enableval
- if test x"$build_ppl_lpsol" = xyes; then
-  BUILD_PPL_LPSOL_TRUE=
-  BUILD_PPL_LPSOL_FALSE='#'
-else
-  BUILD_PPL_LPSOL_TRUE='#'
-  BUILD_PPL_LPSOL_FALSE=
-fi
-
-
-# Define lists of available interfaces: lowercase and blank-separated.
-non_prolog_interfaces="cxx c ocaml java"
-prolog_interfaces="ciao_prolog gnu_prolog sicstus_prolog swi_prolog xsb_prolog yap_prolog"
-available_interfaces="${non_prolog_interfaces} ${prolog_interfaces}"
-
-# This is the list of interfaces that are enabled by default.
-default_interfaces=${non_prolog_interfaces}
-
-enableval=not_specified
-{ $as_echo "$as_me:$LINENO: checking which interfaces are enabled" >&5
-$as_echo_n "checking which interfaces are enabled... " >&6; }
-# Check whether --enable-interfaces was given.
-if test "${enable_interfaces+set}" = set; then
-  enableval=$enable_interfaces;
-fi
-
-case x"${enableval}" in
-xyes | x)
-  { { $as_echo "$as_me:$LINENO: error: --enable-interfaces needs at least one argument chosen among ${available_interfaces}, none and all" >&5
-$as_echo "$as_me: error: --enable-interfaces needs at least one argument chosen among ${available_interfaces}, none and all" >&2;}
-   { (exit 1); exit 1; }; }
-  ;;
-xnone | xno)
-  for interface in ${available_interfaces}
-  do
-    eval ${interface}_interface_enabled=no
-  done
-  { $as_echo "$as_me:$LINENO: result: none" >&5
-$as_echo "none" >&6; }
-  ;;
-xall)
-  for interface in ${available_interfaces}
-  do
-    eval ${interface}_interface_enabled=yes
-  done
-  { $as_echo "$as_me:$LINENO: result: ${available_interfaces}" >&5
-$as_echo "${available_interfaces}" >&6; }
+xno | xnone)
+  enableval=
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
+$as_echo "none" >&6; }
   ;;
 *)
   if test x"${enableval}" = xnot_specified
   then
-    enableval=${default_interfaces}
+    enableval=${default_instantiations}
+  elif test x"${enableval}" = xall
+  then
+    enableval=${available_instantiations}
   fi
-  # Make the list blank-separated and lowercase; turn "c++" into "cxx".
-  required_interfaces=`echo "${enableval}" | sed -e 's/-/_/g' -e 's/[ 	,][ 	,]*/ /g' -e 's/c++/cxx/g' | tr '[:upper:]' '[:lower:]'`
-  # Check that the specified interfaces exist.
-  for interface in ${required_interfaces}
-  do
-    case " ${available_interfaces} " in
-    *\ ${interface}\ *)
-      ;;
-    *)
-      { { $as_echo "$as_me:$LINENO: error: unknown interface ${interface}: must be one of ${available_interfaces}" >&5
-$as_echo "$as_me: error: unknown interface ${interface}: must be one of ${available_interfaces}" >&2;}
-   { (exit 1); exit 1; }; }
-      ;;
-    esac
-  done
-  # Initialize the enabled variable for each interface.
-  for interface in ${available_interfaces}
+  # Avoid extra blanks.
+  required_instantiations=`echo "${enableval}" | sed -e 's/[	 ][	 ]*/ /g' -e 's/[ ]*\([@<>,]\)[ ]*/\1/g' -e 's/>>/> >/g' -e 's/^[ ]//g' -e 's/[ ]$//g'`
+  # Check the specified instantiations for validity.
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="$CPPFLAGS -I${srcdir}"
+  old_IFS="${IFS}"
+  IFS=@
+  set -- ${required_instantiations}
+  IFS="${old_IFS}"
+  for instantiation
   do
-    case " ${required_interfaces} " in
-    *\ ${interface}\ *)
-      eval ${interface}_interface_enabled=yes
-      enabled_interfaces="${enabled_interfaces}${enabled_interfaces:+ }${interface}"
-      ;;
-    *)
-      eval ${interface}_interface_enabled=no
-      ;;
-    esac
-  done
-  { $as_echo "$as_me:$LINENO: result: ${enabled_interfaces}" >&5
-$as_echo "${enabled_interfaces}" >&6; }
-  ;;
-esac
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-# Perl is needed to build the C++ interface.
-if test x${cxx_interface_enabled} = xyes \
-&& test x"$PERL" != xno
-then
-  build_cxx_interface=yes
-fi
- if test x$build_cxx_interface = xyes; then
-  BUILD_CXX_INTERFACE_TRUE=
-  BUILD_CXX_INTERFACE_FALSE='#'
-else
-  BUILD_CXX_INTERFACE_TRUE='#'
-  BUILD_CXX_INTERFACE_FALSE=
-fi
+#include "instchk.hh"
+
+using namespace Parma_Polyhedra_Library;
 
+bool valid = ${instantiation}::valid_instantiation();
 
-# Perl is needed to build the C interface.
-if test x${c_interface_enabled} = xyes \
-&& test x"$PERL" != xno
-then
-  build_c_interface=yes
-fi
- if test x$build_c_interface = xyes; then
-  BUILD_C_INTERFACE_TRUE=
-  BUILD_C_INTERFACE_FALSE='#'
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  valid_instantiation=yes
 else
-  BUILD_C_INTERFACE_TRUE='#'
-  BUILD_C_INTERFACE_FALSE=
+  valid_instantiation=no
 fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    if test x${valid_instantiation} != xyes
+    then
+      as_fn_error $? "invalid instantiation ${instantiation}" "$LINENO" 5
+    fi
+  done
+  CPPFLAGS="$ac_save_CPPFLAGS"
+  required_instantiations_canonical_names=`echo "${required_instantiations}" | sed -e 's/> //g' -e 's/>//g' -e 's/[< ,]/_/g'`
 
+  required_instantiations_c_source_names=`echo "${required_instantiations_canonical_names}" | sed -e 's/@Pointset_Powerset_Polyhedron/@Pointset_Powerset_C_Polyhedron at Pointset_Powerset_NNC_Polyhedron/g' -e 's/^Pointset_Powerset_Polyhedron/Pointset_Powerset_C_Polyhedron at Pointset_Powerset_NNC_Polyhedron/g'`
+  required_instantiations_c_cxx_objects=`echo "${required_instantiations_c_source_names}" | sed -e 's/@/.lo /g' -e 's/$/.lo/g' | sed -e 's/\([^. ]*\)\.lo/ppl_c_\1.lo/g'`
+  required_instantiations_c_cxx_sources=`echo "${required_instantiations_c_cxx_objects}" | sed -e 's/\([^. ]*\)\.lo/\1.cc/g'`
+  required_instantiations_c_cxx_headers=`echo "${required_instantiations_c_cxx_sources}" | sed -e 's/\.cc/.hh/g'`
 
-# Checks for systems for which the interface is enabled.
-
-# Allow to specify the Java SDK installation directory.
+  required_instantiations_prolog_source_names=`echo "${required_instantiations_canonical_names}" | sed -e 's/@Pointset_Powerset_Polyhedron/@Pointset_Powerset_C_Polyhedron at Pointset_Powerset_NNC_Polyhedron/g' -e 's/^Pointset_Powerset_Polyhedron/Pointset_Powerset_C_Polyhedron at Pointset_Powerset_NNC_Polyhedron/g'`
+  required_instantiations_prolog_cxx_objects=`echo "${required_instantiations_prolog_source_names}" | sed -e 's/@/.lo /g' -e 's/$/.lo/g' | sed -e 's/\([^. ]*\)\.lo/ppl_prolog_\1.lo/g'`
+  required_instantiations_prolog_cxx_sources=`echo "${required_instantiations_prolog_cxx_objects}" | sed -e 's/\([^. ]*\)\.lo/\1.cc/g'`
+  required_instantiations_prolog_cxx_headers=`echo "${required_instantiations_prolog_cxx_sources}" | sed -e 's/\.cc/.hh/g'`
+  required_instantiations_prolog_generated_test_sources=`echo "${required_instantiations_prolog_source_names}" | sed -e 's/@/.pl /g' -e 's/$/.pl/g' | sed -e 's/\([^. ]*\)\.pl/ppl_prolog_generated_test_\1.pl/g'`
 
-# Check whether --with-java was given.
-if test "${with_java+set}" = set; then
-  withval=$with_java; java_dir=$with_java
-fi
+  required_instantiations_java_source_names=`echo "${required_instantiations_canonical_names}" | sed -e 's/^Polyhedron/Polyhedron at C_Polyhedron@NNC_Polyhedron/g' -e 's/@Polyhedron/@Polyhedron at C_Polyhedron@NNC_Polyhedron/g' -e 's/@Pointset_Powerset_Polyhedron/@Pointset_Powerset_C_Polyhedron at Pointset_Powerset_NNC_Polyhedron/g' -e 's/^Pointset_Powerset_Polyhedron/Pointset_Powerset_C_Polyhedron at Pointset_Powerset_NNC_Polyhedron/g' | sed -e 's/Pointset_Powerset_[a-zA-Z0-9_]*/&@&_Iterator/g'`
+  required_instantiations_java_sources=`echo "${required_instantiations_java_source_names}" | sed -e 's/@/.java /g' -e 's/$/.java/g'`
+  required_instantiations_java_classes=`echo "${required_instantiations_java_sources}" | sed -e 's/\.java/.class/g'`
+  required_instantiations_java_cxx_headers=`echo "${required_instantiations_java_sources}" | sed -e 's/\([^. ]*\)\.java/parma_polyhedra_library.\1/g'`
+  required_instantiations_java_cxx_headers_sources=`echo "${required_instantiations_java_sources}" | sed -e 's/\([^. ]*\)\.java/parma_polyhedra_library_\1.h/g'`
+  required_instantiations_java_cxx_objects=`echo "${required_instantiations_canonical_names}" | sed -e 's/@/.lo /g' -e 's/$/.lo/g' | sed -e 's/\([^. ]*\)\.lo/ppl_java_\1.lo/g'`
+  required_instantiations_java_cxx_sources=`echo "${required_instantiations_java_cxx_objects}" | sed -e 's/\([^. ]*\)\.lo/\1.cc/g'`
 
+  required_instantiations_ocaml_source_names=`echo "${required_instantiations_canonical_names}" | sed -e 's/@Pointset_Powerset_Polyhedron/@Pointset_Powerset_C_Polyhedron at Pointset_Powerset_NNC_Polyhedron/g' -e 's/^Pointset_Powerset_Polyhedron/Pointset_Powerset_C_Polyhedron at Pointset_Powerset_NNC_Polyhedron/g'`
+  required_instantiations_ocaml_cxx_objects=`echo "${required_instantiations_ocaml_source_names}" | sed -e 's/@/.o /g' -e 's/$/.o/g' | sed -e 's/\([^. ]*\)\.o/ppl_ocaml_\1.o/g'`
+  required_instantiations_ocaml_cxx_sources=`echo "${required_instantiations_ocaml_cxx_objects}" | sed -e 's/\([^. ]*\)\.o/\1.cc/g'`
+  required_instantiations_ocaml_cxx_headers=`echo "${required_instantiations_ocaml_cxx_sources}" | sed -e 's/\.cc/.hh/g'`
 
-case "${host_os}" in
-# On Darwin the JDK, if present, is installed in /Library/Java/Home .
-darwin*)
-  if test "x$java_dir" = x
-  then
-    java_dir="/Library/Java/Home"
-  fi
-  ;;
-# On Fedora 9 systems the JDK is usually in /usr/lib/jvm/java .
-linux*)
-  if test "x$java_dir" = x
-  then
-    java_dir="/usr/lib/jvm/java"
-  fi
-  ;;
-*)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${required_instantiations}" >&5
+$as_echo "${required_instantiations}" >&6; }
   ;;
 esac
 
-if test "x$java_dir" != x
-then
-  JAVAPREFIX="${java_dir}/bin"
+enableval=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether tests should be run under Valgrind" >&5
+$as_echo_n "checking whether tests should be run under Valgrind... " >&6; }
+# Check whether --enable-valgrind-tests was given.
+if test "${enable_valgrind_tests+set}" = set; then :
+  enableval=$enable_valgrind_tests;
 fi
 
-# Checks for Java.
-if test x${java_interface_enabled} = xyes
-then
-  # Check for Java programs. Order here is important: check first
-  # for the compiler.
-
-
-if test "x$JAVAPREFIX" = x
-then
-        test "x$JAVAC" = x && for ac_prog in javac$EXEEXT
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+case "${enableval}" in
+yes)
+  # Extract the first word of "valgrind", so it can be a program name with args.
+set dummy valgrind; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_JAVAC+set}" = set; then
+if test "${ac_cv_prog_VALGRIND+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$JAVAC"; then
-  ac_cv_prog_JAVAC="$JAVAC" # Let the user override the test.
+  if test -n "$VALGRIND"; then
+  ac_cv_prog_VALGRIND="$VALGRIND" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_JAVAC="$ac_prog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    ac_cv_prog_VALGRIND="valgrind"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
-JAVAC=$ac_cv_prog_JAVAC
-if test -n "$JAVAC"; then
-  { $as_echo "$as_me:$LINENO: result: $JAVAC" >&5
-$as_echo "$JAVAC" >&6; }
+VALGRIND=$ac_cv_prog_VALGRIND
+if test -n "$VALGRIND"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $VALGRIND" >&5
+$as_echo "$VALGRIND" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 
-  test -n "$JAVAC" && break
-done
-test -n "$JAVAC" || JAVAC="no"
-
-else
-        test "x$JAVAC" = x && for ac_prog in javac$EXEEXT
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_JAVAC+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  case $JAVAC in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $JAVAPREFIX
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_JAVAC="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
+  if test x"$VALGRIND" = xvalgrind
+  then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+    enable_valgrind_tests=yes
+  else
+    as_fn_error $? "bad value ${enableval} for --enable-valgrind-tests, cannot find Valgrind" "$LINENO" 5
   fi
-done
-done
-IFS=$as_save_IFS
-
   ;;
-esac
-fi
-JAVAC=$ac_cv_path_JAVAC
-if test -n "$JAVAC"; then
-  { $as_echo "$as_me:$LINENO: result: $JAVAC" >&5
-$as_echo "$JAVAC" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+no)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
+  enable_valgrind_tests=no
+  ;;
+*)
+  as_fn_error $? "bad value ${enableval} for --enable-valgrind-tests, needs yes or no" "$LINENO" 5
+  ;;
+esac
+ if test x"$enable_valgrind_tests" = xyes; then
+  VALGRIND_TESTS_ENABLED_TRUE=
+  VALGRIND_TESTS_ENABLED_FALSE='#'
+else
+  VALGRIND_TESTS_ENABLED_TRUE='#'
+  VALGRIND_TESTS_ENABLED_FALSE=
 fi
 
 
-  test -n "$JAVAC" && break
-done
-test -n "$JAVAC" || JAVAC="no"
-
+enableval=quick
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`make check' does a thorough or quick check" >&5
+$as_echo_n "checking whether \`make check' does a thorough or quick check... " >&6; }
+# Check whether --enable-check was given.
+if test "${enable_check+set}" = set; then :
+  enableval=$enable_check;
 fi
-if test ! x$JAVAC = "xno"
-then
-
-{ $as_echo "$as_me:$LINENO: checking whether $JAVAC supports enums" >&5
-$as_echo_n "checking whether $JAVAC supports enums... " >&6; }
-if test "${ac_cv_javac_supports_enums+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
 
-JAVA_TEST=Test.java
-CLASS_TEST=Test.class
-cat << \EOF > $JAVA_TEST
-/* #line 17863 "configure" */
-public class Test {
-public enum Relation_Symbol {
-    /*! Less than. */
-    LESS_THAN,
-    /*! Less than or equal to. */
-    LESS_OR_EQUAL,
-    /*! Equal to. */
-    EQUAL,
-    /*! Greater than or equal to. */
-    GREATER_OR_EQUAL,
-    /*! Greater than. */
-    GREATER_THAN,
- }
-}
-EOF
-if { ac_try='$JAVAC $JAVACFLAGS $JAVA_TEST'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } >/dev/null 2>&1; then
-  ac_cv_javac_supports_enums=yes
+case "${enableval}" in
+thorough)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: thorough" >&5
+$as_echo "thorough" >&6; }
+  ;;
+quick)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: quick" >&5
+$as_echo "quick" >&6; }
+  ;;
+*)
+  as_fn_error $? "bad value ${enableval} for --enable-check, needs thorough or quick" "$LINENO" 5
+  ;;
+esac
+ if test x"$enableval" = xthorough; then
+  THOROUGH_MAKE_CHECK_TRUE=
+  THOROUGH_MAKE_CHECK_FALSE='#'
 else
-  echo "configure: failed program was:" >&5
-  cat $JAVA_TEST >&5
-  ac_cv_javac_supports_enums=no
+  THOROUGH_MAKE_CHECK_TRUE='#'
+  THOROUGH_MAKE_CHECK_FALSE=
 fi
 
-rm -f $JAVA_TEST $CLASS_TEST Test\$Relation_Symbol.class
 
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_javac_supports_enums" >&5
-$as_echo "$ac_cv_javac_supports_enums" >&6; }
+# Libtool.
 
-fi
+case `pwd` in
+  *\ * | *\	*)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
+$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
+esac
 
 
-if test x$JAVAPREFIX = x; then
-        test x$JAVA = x && for ac_prog in java$EXEEXT
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_JAVA+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$JAVA"; then
-  ac_cv_prog_JAVA="$JAVA" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_JAVA="$ac_prog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
 
-fi
-fi
-JAVA=$ac_cv_prog_JAVA
-if test -n "$JAVA"; then
-  { $as_echo "$as_me:$LINENO: result: $JAVA" >&5
-$as_echo "$JAVA" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
+macro_version='2.2.10'
+macro_revision='1.3175'
 
 
-  test -n "$JAVA" && break
-done
-test -n "$JAVA" || JAVA="no"
 
-else
-        test x$JAVA = x && for ac_prog in java$EXEEXT
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_JAVA+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  case $JAVA in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_JAVA="$JAVA" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $JAVAPREFIX
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_JAVA="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
 
-  ;;
-esac
-fi
-JAVA=$ac_cv_path_JAVA
-if test -n "$JAVA"; then
-  { $as_echo "$as_me:$LINENO: result: $JAVA" >&5
-$as_echo "$JAVA" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
 
-  test -n "$JAVA" && break
-done
-test -n "$JAVA" || JAVA="no"
 
-fi
-if test ! x$JAVA = "xno"
-then
 
-# Extract the first word of "uudecode$EXEEXT", so it can be a program name with args.
-set dummy uudecode$EXEEXT; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_uudecode+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$uudecode"; then
-  ac_cv_prog_uudecode="$uudecode" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_uudecode="yes"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
 
-fi
-fi
-uudecode=$ac_cv_prog_uudecode
-if test -n "$uudecode"; then
-  { $as_echo "$as_me:$LINENO: result: $uudecode" >&5
-$as_echo "$uudecode" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
 
-if test x$uudecode = xyes; then
-{ $as_echo "$as_me:$LINENO: checking if uudecode can decode base 64 file" >&5
-$as_echo_n "checking if uudecode can decode base 64 file... " >&6; }
-if test "${ac_cv_prog_uudecode_base64+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
 
-cat << \EOF > Test.uue
-begin-base64 644 Test.class
-yv66vgADAC0AFQcAAgEABFRlc3QHAAQBABBqYXZhL2xhbmcvT2JqZWN0AQAE
-bWFpbgEAFihbTGphdmEvbGFuZy9TdHJpbmc7KVYBAARDb2RlAQAPTGluZU51
-bWJlclRhYmxlDAAKAAsBAARleGl0AQAEKEkpVgoADQAJBwAOAQAQamF2YS9s
-YW5nL1N5c3RlbQEABjxpbml0PgEAAygpVgwADwAQCgADABEBAApTb3VyY2VG
-aWxlAQAJVGVzdC5qYXZhACEAAQADAAAAAAACAAkABQAGAAEABwAAACEAAQAB
-AAAABQO4AAyxAAAAAQAIAAAACgACAAAACgAEAAsAAQAPABAAAQAHAAAAIQAB
-AAEAAAAFKrcAErEAAAABAAgAAAAKAAIAAAAEAAQABAABABMAAAACABQ=
-====
-EOF
-if uudecode$EXEEXT Test.uue; then
-        ac_cv_prog_uudecode_base64=yes
-else
-        echo "configure: 18054: uudecode had trouble decoding base 64 file 'Test.uue'" >&5
-        echo "configure: failed file was:" >&5
-        cat Test.uue >&5
-        ac_cv_prog_uudecode_base64=no
-fi
-rm -f Test.uue
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_uudecode_base64" >&5
-$as_echo "$ac_cv_prog_uudecode_base64" >&6; }
-fi
-if test x$ac_cv_prog_uudecode_base64 != xyes; then
-        rm -f Test.class
-        if test x$ac_cv_javac_supports_enums = x; then
 
-if test "x$JAVAPREFIX" = x
-then
-        test "x$JAVAC" = x && for ac_prog in javac$EXEEXT
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_JAVAC+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$JAVAC"; then
-  ac_cv_prog_JAVAC="$JAVAC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_JAVAC="$ac_prog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
+ltmain="$ac_aux_dir/ltmain.sh"
 
-fi
-fi
-JAVAC=$ac_cv_prog_JAVAC
-if test -n "$JAVAC"; then
-  { $as_echo "$as_me:$LINENO: result: $JAVAC" >&5
-$as_echo "$JAVAC" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
+# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
 
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
 
-  test -n "$JAVAC" && break
-done
-test -n "$JAVAC" || JAVAC="no"
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
 
-else
-        test "x$JAVAC" = x && for ac_prog in javac$EXEEXT
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_JAVAC+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  case $JAVAC in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $JAVAPREFIX
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_JAVAC="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
 
-  ;;
-esac
-fi
-JAVAC=$ac_cv_path_JAVAC
-if test -n "$JAVAC"; then
-  { $as_echo "$as_me:$LINENO: result: $JAVAC" >&5
-$as_echo "$JAVAC" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
+$as_echo_n "checking how to print strings... " >&6; }
+# Test print first, because it will be a builtin if present.
+if test "X`print -r -- -n 2>/dev/null`" = X-n && \
+   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='printf %s\n'
+else
+  # Use this function as a fallback that always works.
+  func_fallback_echo ()
+  {
+    eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+  }
+  ECHO='func_fallback_echo'
 fi
 
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+    $ECHO ""
+}
 
-  test -n "$JAVAC" && break
-done
-test -n "$JAVAC" || JAVAC="no"
+case "$ECHO" in
+  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
+$as_echo "printf" >&6; } ;;
+  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
+$as_echo "print -r" >&6; } ;;
+  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
+$as_echo "cat" >&6; } ;;
+esac
 
-fi
-if test ! x$JAVAC = "xno"
-then
 
-{ $as_echo "$as_me:$LINENO: checking whether $JAVAC supports enums" >&5
-$as_echo_n "checking whether $JAVAC supports enums... " >&6; }
-if test "${ac_cv_javac_supports_enums+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
 
-JAVA_TEST=Test.java
-CLASS_TEST=Test.class
-cat << \EOF > $JAVA_TEST
-/* #line 18173 "configure" */
-public class Test {
-public enum Relation_Symbol {
-    /*! Less than. */
-    LESS_THAN,
-    /*! Less than or equal to. */
-    LESS_OR_EQUAL,
-    /*! Equal to. */
-    EQUAL,
-    /*! Greater than or equal to. */
-    GREATER_OR_EQUAL,
-    /*! Greater than. */
-    GREATER_THAN,
- }
-}
-EOF
-if { ac_try='$JAVAC $JAVACFLAGS $JAVA_TEST'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } >/dev/null 2>&1; then
-  ac_cv_javac_supports_enums=yes
-else
-  echo "configure: failed program was:" >&5
-  cat $JAVA_TEST >&5
-  ac_cv_javac_supports_enums=no
-fi
 
-rm -f $JAVA_TEST $CLASS_TEST Test\$Relation_Symbol.class
 
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_javac_supports_enums" >&5
-$as_echo "$ac_cv_javac_supports_enums" >&6; }
 
-fi
 
-        fi
-fi
-{ $as_echo "$as_me:$LINENO: checking if $JAVA works" >&5
-$as_echo_n "checking if $JAVA works... " >&6; }
-if test "${ac_cv_prog_java_works+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
 
-JAVA_TEST=Test.java
-CLASS_TEST=Test.class
-TEST=Test
-cat << \EOF > $JAVA_TEST
-/* [#]line 18222 "configure" */
-public class Test {
-public static void main (String args[]) {
-        System.exit (0);
-} }
-EOF
-if test x$ac_cv_prog_uudecode_base64 != xyes; then
-        if { ac_try='$JAVAC $JAVACFLAGS $JAVA_TEST'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } && test -s $CLASS_TEST; then
-                :
-        else
-          echo "configure: failed program was:" >&5
-          cat $JAVA_TEST >&5
-          { $as_echo "$as_me:$LINENO: WARNING: The Java compiler $JAVAC failed (see config.log, check the CLASSPATH?)" >&5
-$as_echo "$as_me: WARNING: The Java compiler $JAVAC failed (see config.log, check the CLASSPATH?)" >&2;}
-        fi
-fi
-# if we don't have a Java compiler installed, it's useless to check if Java
-# works beacause a working javac is needed.
-if test x$ac_cv_javac_supports_enums = xno; then
- ac_cv_prog_java_works=skipping
-else
-if { ac_try='$JAVA $JAVAFLAGS $TEST'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } >/dev/null 2>&1; then
-  ac_cv_prog_java_works=yes
-else
-  echo "configure: failed program was:" >&5
-  cat $JAVA_TEST >&5
-  { $as_echo "$as_me:$LINENO: WARNING: The Java VM $JAVA failed (see config.log, check the CLASSPATH?)" >&5
-$as_echo "$as_me: WARNING: The Java VM $JAVA failed (see config.log, check the CLASSPATH?)" >&2;}
-  fi
-fi
-rm -fr $JAVA_TEST $CLASS_TEST Test.uue
 
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_java_works" >&5
-$as_echo "$ac_cv_prog_java_works" >&6; }
 
 
-fi
 
 
-if test "x$JAVAPREFIX" = x; then
-        test "x$JAR" = x && for ac_prog in jar$EXEEXT
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_JAR+set}" = set; then
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
+if test "${ac_cv_path_SED+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$JAR"; then
-  ac_cv_prog_JAR="$JAR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+     for ac_i in 1 2 3 4 5 6 7; do
+       ac_script="$ac_script$as_nl$ac_script"
+     done
+     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+     { ac_script=; unset ac_script;}
+     if test -z "$SED"; then
+  ac_path_SED_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_JAR="$ac_prog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
+    for ac_prog in sed gsed; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+# Check for GNU ac_path_SED and select it if it is found.
+  # Check for GNU $ac_path_SED
+case `"$ac_path_SED" --version 2>&1` in
+*GNU*)
+  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo '' >> "conftest.nl"
+    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_SED_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_SED="$ac_path_SED"
+      ac_path_SED_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
 
-fi
-fi
-JAR=$ac_cv_prog_JAR
-if test -n "$JAR"; then
-  { $as_echo "$as_me:$LINENO: result: $JAR" >&5
-$as_echo "$JAR" >&6; }
+      $ac_path_SED_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_SED"; then
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
+  fi
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+  ac_cv_path_SED=$SED
 fi
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
+$as_echo "$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+  rm -f conftest.sed
 
-  test -n "$JAR" && break
-done
-test -n "$JAR" || JAR="no"
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
 
-else
-        test "x$JAR" = x && for ac_prog in jar
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_JAR+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  case $JAR in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_JAR="$JAR" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $JAVAPREFIX
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_JAR="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
 
-  ;;
-esac
-fi
-JAR=$ac_cv_path_JAR
-if test -n "$JAR"; then
-  { $as_echo "$as_me:$LINENO: result: $JAR" >&5
-$as_echo "$JAR" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
 
-  test -n "$JAR" && break
-done
-test -n "$JAR" || JAR="no"
 
-fi
-test "x$JAR" = xno
 
 
-if test "x$JAVAPREFIX" = x; then
-        for ac_prog in javah
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_JAVAH+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$JAVAH"; then
-  ac_cv_prog_JAVAH="$JAVAH" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
+
+
+
+
+test -z "$GREP" && GREP=grep
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then :
+  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+else
+  with_gnu_ld=no
+fi
+
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [\\/]* | ?:[\\/]*)
+      re_direlt='/[^/][^/]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if test "${lt_cv_path_LD+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$LD"; then
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+	test "$with_gnu_ld" != no && break
+	;;
+      *)
+	test "$with_gnu_ld" != yes && break
+	;;
+      esac
+    fi
+  done
+  IFS="$lt_save_ifs"
+else
+  lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
+  ;;
+esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
+$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
+if test "${lt_cv_path_NM+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM="$NM"
+else
+  lt_nm_to_check="${ac_tool_prefix}nm"
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+    lt_nm_to_check="$lt_nm_to_check nm"
+  fi
+  for lt_tmp_nm in $lt_nm_to_check; do
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+      IFS="$lt_save_ifs"
+      test -z "$ac_dir" && ac_dir=.
+      tmp_nm="$ac_dir/$lt_tmp_nm"
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+	# Check to see if the nm accepts a BSD-compat flag.
+	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
+	#   nm: unknown option "B" ignored
+	# Tru64's nm complains that /dev/null is an invalid object file
+	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+	*/dev/null* | *'Invalid file or object type'*)
+	  lt_cv_path_NM="$tmp_nm -B"
+	  break
+	  ;;
+	*)
+	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+	  */dev/null*)
+	    lt_cv_path_NM="$tmp_nm -p"
+	    break
+	    ;;
+	  *)
+	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+	    continue # so that we can try to find one that supports BSD flags
+	    ;;
+	  esac
+	  ;;
+	esac
+      fi
+    done
+    IFS="$lt_save_ifs"
+  done
+  : ${lt_cv_path_NM=no}
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
+$as_echo "$lt_cv_path_NM" >&6; }
+if test "$lt_cv_path_NM" != "no"; then
+  NM="$lt_cv_path_NM"
+else
+  # Didn't find any BSD compatible name lister, look for dumpbin.
+  if test -n "$DUMPBIN"; then :
+    # Let the user override the test.
+  else
+    if test -n "$ac_tool_prefix"; then
+  for ac_prog in dumpbin "link -dump"
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$DUMPBIN"; then
+  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_JAVAH="$ac_prog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
-JAVAH=$ac_cv_prog_JAVAH
-if test -n "$JAVAH"; then
-  { $as_echo "$as_me:$LINENO: result: $JAVAH" >&5
-$as_echo "$JAVAH" >&6; }
+DUMPBIN=$ac_cv_prog_DUMPBIN
+if test -n "$DUMPBIN"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
+$as_echo "$DUMPBIN" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 
-  test -n "$JAVAH" && break
-done
-test -n "$JAVAH" || JAVAH="no"
-
-else
-	for ac_prog in javah
+    test -n "$DUMPBIN" && break
+  done
+fi
+if test -z "$DUMPBIN"; then
+  ac_ct_DUMPBIN=$DUMPBIN
+  for ac_prog in dumpbin "link -dump"
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_JAVAH+set}" = set; then
+if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  case $JAVAH in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_JAVAH="$JAVAH" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $JAVAPREFIX
+  if test -n "$ac_ct_DUMPBIN"; then
+  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_JAVAH="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
-  ;;
-esac
 fi
-JAVAH=$ac_cv_path_JAVAH
-if test -n "$JAVAH"; then
-  { $as_echo "$as_me:$LINENO: result: $JAVAH" >&5
-$as_echo "$JAVAH" >&6; }
+fi
+ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
+if test -n "$ac_ct_DUMPBIN"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
+$as_echo "$ac_ct_DUMPBIN" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 
-  test -n "$JAVAH" && break
+  test -n "$ac_ct_DUMPBIN" && break
 done
-test -n "$JAVAH" || JAVAH="no"
 
+  if test "x$ac_ct_DUMPBIN" = x; then
+    DUMPBIN=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    DUMPBIN=$ac_ct_DUMPBIN
+  fi
 fi
 
-if test x"`eval 'echo $ac_cv_path_JAVAH'`" != xno ; then
-  cat >conftest.$ac_ext <<_ACEOF
-#include <jni.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+    *COFF*)
+      DUMPBIN="$DUMPBIN -symbols"
+      ;;
+    *)
+      DUMPBIN=:
+      ;;
+    esac
+  fi
 
+  if test "$DUMPBIN" != ":"; then
+    NM="$DUMPBIN"
+  fi
+fi
+test -z "$NM" && NM=nm
 
-    ac_save_CPPFLAGS="$CPPFLAGS"
-    ac_dir=`echo $ac_cv_path_JAVAH | sed 's,\(.*\)/[^/]*/[^/]*$,\1/include,'`
-    ac_machdep=`echo $build_os | sed 's,[-0-9].*,,' | sed 's,cygwin,win32,'`
-    JNIFLAGS="-I$ac_dir -I$ac_dir/$ac_machdep"
-    CPPFLAGS="$ac_save_CPPFLAGS $JNIFLAGS"
 
-    cat >conftest.$ac_ext <<_ACEOF
-#include <jni.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  CPPFLAGS="$ac_save_CPPFLAGS"
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-  { $as_echo "$as_me:$LINENO: WARNING: unable to include <jni.h>" >&5
-$as_echo "$as_me: WARNING: unable to include <jni.h>" >&2;}
-	       JAVAH=no
-fi
 
-rm -f conftest.err conftest.$ac_ext
-    CPPFLAGS="$ac_save_CPPFLAGS"
-fi
 
-rm -f conftest.err conftest.$ac_ext
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
+$as_echo_n "checking the name lister ($NM) interface... " >&6; }
+if test "${lt_cv_nm_interface+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_nm_interface="BSD nm"
+  echo "int some_variable = 0;" > conftest.$ac_ext
+  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
+  (eval "$ac_compile" 2>conftest.err)
+  cat conftest.err >&5
+  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+  cat conftest.err >&5
+  (eval echo "\"\$as_me:$LINENO: output\"" >&5)
+  cat conftest.out >&5
+  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+    lt_cv_nm_interface="MS dumpbin"
+  fi
+  rm -f conftest*
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
+$as_echo "$lt_cv_nm_interface" >&6; }
 
-  ac_save_CPPFLAGS="$CPPFLAGS"
-  CPPFLAGS="$CPPFLAGS $JNIFLAGS"
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
+$as_echo_n "checking whether ln -s works... " >&6; }
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
+$as_echo "no, using $LN_S" >&6; }
+fi
 
-  { $as_echo "$as_me:$LINENO: checking whether jlong can contain data pointers" >&5
-$as_echo_n "checking whether jlong can contain data pointers... " >&6; }
-  if test "$cross_compiling" = yes; then
-  ac_jlong_can_contain_pointers=no
-  { $as_echo "$as_me:$LINENO: result: assuming it cannot" >&5
-$as_echo "assuming it cannot" >&6; }
+# find the maximum length of command line arguments
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
+$as_echo_n "checking the maximum length of command line arguments... " >&6; }
+if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <jni.h>
+    i=0
+  teststring="ABCD"
 
-    int
-    main() {
-      if (sizeof(jlong) >= sizeof(void*))
-        return 0;
-      else
-        return 1;
-    }
+  case $build_os in
+  msdosdjgpp*)
+    # On DJGPP, this test can blow up pretty badly due to problems in libc
+    # (any single argument exceeding 2000 bytes causes a buffer overrun
+    # during glob expansion).  Even if it were fixed, the result of this
+    # check would be larger than it should be.
+    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
+    ;;
 
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_jlong_can_contain_pointers=yes
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  gnu*)
+    # Under GNU Hurd, this test is not required because there is
+    # no limit to the length of command line arguments.
+    # Libtool will interpret -1 as no limit whatsoever
+    lt_cv_sys_max_cmd_len=-1;
+    ;;
 
-( exit $ac_status )
-ac_jlong_can_contain_pointers=no
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
+  cygwin* | mingw* | cegcc*)
+    # On Win9x/ME, this test blows up -- it succeeds, but takes
+    # about 5 minutes as the teststring grows exponentially.
+    # Worse, since 9x/ME are not pre-emptively multitasking,
+    # you end up with a "frozen" computer, even though with patience
+    # the test eventually succeeds (with a max line length of 256k).
+    # Instead, let's just punt: use the minimum linelength reported by
+    # all of the supported platforms: 8192 (on NT/2K/XP).
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
 
+  mint*)
+    # On MiNT this can take a long time and run out of memory.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
 
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+  amigaos*)
+    # On AmigaOS with pdksh, this test takes hours, literally.
+    # So we just punt and use a minimum line length of 8192.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
 
-  CPPFLAGS="$ac_save_CPPFLAGS"
-fi
+  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+    # This has been around since 386BSD, at least.  Likely further.
+    if test -x /sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+    elif test -x /usr/sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+    else
+      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
+    fi
+    # And add a safety zone
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    ;;
+
+  interix*)
+    # We know the value 262144 and hardcode it with a safety zone (like BSD)
+    lt_cv_sys_max_cmd_len=196608
+    ;;
+
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    #
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  sco3.2v5*)
+    lt_cv_sys_max_cmd_len=102400
+    ;;
+  sysv5* | sco5v6* | sysv4.2uw2*)
+    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+    if test -n "$kargmax"; then
+      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[	 ]//'`
+    else
+      lt_cv_sys_max_cmd_len=32768
+    fi
+    ;;
+  *)
+    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+    if test -n "$lt_cv_sys_max_cmd_len"; then
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    else
+      # Make teststring a little bigger before we do anything with it.
+      # a 1K string should be a reasonable start.
+      for i in 1 2 3 4 5 6 7 8 ; do
+        teststring=$teststring$teststring
+      done
+      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+      # If test is not a shell built-in, we'll probably end up computing a
+      # maximum length that is only half of the actual maximum length, but
+      # we can't tell.
+      while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
+	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
+	      test $i != 17 # 1/2 MB should be enough
+      do
+        i=`expr $i + 1`
+        teststring=$teststring$teststring
+      done
+      # Only check the string length outside the loop.
+      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+      teststring=
+      # Add a significant safety factor because C++ compilers can tack on
+      # massive amounts of additional arguments before passing them to the
+      # linker.  It appears as though 1/2 is a usable value.
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    fi
+    ;;
+  esac
 
-# In order to build the Java interface, it must be enabled and all the
-# Java tools must be available.
-if test x${java_interface_enabled} = xyes \
-&& test "x$JAVA" != xno \
-&& test "x$ac_cv_javac_supports_enums" != xno \
-&& test "x$JAR" != xno \
-&& test "x$JAVAH" != xno \
-&& test x${ac_jlong_can_contain_pointers} = xyes
-then
-  build_java_interface=yes
 fi
- if test x$build_java_interface = xyes; then
-  BUILD_JAVA_INTERFACE_TRUE=
-  BUILD_JAVA_INTERFACE_FALSE='#'
+
+if test -n $lt_cv_sys_max_cmd_len ; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
+$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
 else
-  BUILD_JAVA_INTERFACE_TRUE='#'
-  BUILD_JAVA_INTERFACE_FALSE=
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
+$as_echo "none" >&6; }
 fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
 
 
 
-# Allow to specify the ML GMP installation directory.
 
-# Check whether --with-mlgmp was given.
-if test "${with_mlgmp+set}" = set; then
-  withval=$with_mlgmp; mlgmp_dir=$with_mlgmp
-else
-  mlgmp_dir=+gmp
-fi
 
 
-# Checks for OCaml.
-if test x${ocaml_interface_enabled} = xyes
-then
-  # Check for the bytecode compiler.
-  # Extract the first word of "ocamlc", so it can be a program name with args.
-set dummy ocamlc; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
+$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+  test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+      = c,a/b,, \
+    && eval 'test $(( 1 + 1 )) -eq 2 \
+    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+  && xsi_shell=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
+$as_echo "$xsi_shell" >&6; }
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
+$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
+    >/dev/null 2>&1 \
+  && lt_shell_append=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
+$as_echo "$lt_shell_append" >&6; }
+
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  lt_unset=unset
+else
+  lt_unset=false
+fi
+
+
+
+
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+  lt_SP2NL='tr \040 \012'
+  lt_NL2SP='tr \015\012 \040\040'
+  ;;
+ *) # EBCDIC based system
+  lt_SP2NL='tr \100 \n'
+  lt_NL2SP='tr \r\n \100\100'
+  ;;
+esac
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+$as_echo_n "checking for $LD option to reload object files... " >&6; }
+if test "${lt_cv_ld_reload_flag+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_ld_reload_flag='-r'
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
+$as_echo "$lt_cv_ld_reload_flag" >&6; }
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+  darwin*)
+    if test "$GCC" = yes; then
+      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+    else
+      reload_cmds='$LD$reload_flag -o $output$reload_objs'
+    fi
+    ;;
+esac
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OCAMLC+set}" = set; then
+if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$OCAMLC"; then
-  ac_cv_prog_OCAMLC="$OCAMLC" # Let the user override the test.
+  if test -n "$OBJDUMP"; then
+  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OCAMLC="ocamlc"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
-OCAMLC=$ac_cv_prog_OCAMLC
-if test -n "$OCAMLC"; then
-  { $as_echo "$as_me:$LINENO: result: $OCAMLC" >&5
-$as_echo "$OCAMLC" >&6; }
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
+$as_echo "$OBJDUMP" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 
-  ocamlc_gmp="no"
-  if test x"$OCAMLC" = xocamlc
-  then
-     ocamlc_root=`ocamlc -where`
-     # Check for the bytecode version of ML GMP.
-     { $as_echo "$as_me:$LINENO: checking for ML GMP bytecode module gmp.cma" >&5
-$as_echo_n "checking for ML GMP bytecode module gmp.cma... " >&6; }
-     if ( test ${mlgmp_dir} = +gmp && test -f ${ocamlc_root}/gmp/gmp.cma ) \
-        || test -f ${mlgmp_dir}/gmp.cma;
-     then
-         { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-	 ocamlc_gmp="yes"
-     else
-         { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-	 ocamlc_gmp="no"
-     fi
-  fi
-  # Check for the native compiler.
-  # Extract the first word of "ocamlopt", so it can be a program name with args.
-set dummy ocamlopt; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+fi
+if test -z "$ac_cv_prog_OBJDUMP"; then
+  ac_ct_OBJDUMP=$OBJDUMP
+  # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OCAMLOPT+set}" = set; then
+if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$OCAMLOPT"; then
-  ac_cv_prog_OCAMLOPT="$OCAMLOPT" # Let the user override the test.
+  if test -n "$ac_ct_OBJDUMP"; then
+  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OCAMLOPT="ocamlopt"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    ac_cv_prog_ac_ct_OBJDUMP="objdump"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
-OCAMLOPT=$ac_cv_prog_OCAMLOPT
-if test -n "$OCAMLOPT"; then
-  { $as_echo "$as_me:$LINENO: result: $OCAMLOPT" >&5
-$as_echo "$OCAMLOPT" >&6; }
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
+$as_echo "$ac_ct_OBJDUMP" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
-
-  ocamlopt_gmp="no"
-  if test x"$OCAMLOPT" = xocamlopt
-  then
-     ocamlopt_root=`ocamlopt -where`
-     # Check for the native version of ML GMP.
-     { $as_echo "$as_me:$LINENO: checking for ML GMP native module gmp.cmxa" >&5
-$as_echo_n "checking for ML GMP native module gmp.cmxa... " >&6; }
-     if ( test ${mlgmp_dir} = +gmp && test -f ${ocamlopt_root}/gmp/gmp.cmxa ) \
-        || test -f ${mlgmp_dir}/gmp.cmxa;
-     then
-         { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-	 ocamlopt_gmp="yes"
-     else
-         { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-	 ocamlopt_gmp="no"
-     fi
+  if test "x$ac_ct_OBJDUMP" = x; then
+    OBJDUMP="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OBJDUMP=$ac_ct_OBJDUMP
   fi
-fi
- if test x$ocamlc_gmp = xyes; then
-  HAVE_OCAMLC_TRUE=
-  HAVE_OCAMLC_FALSE='#'
 else
-  HAVE_OCAMLC_TRUE='#'
-  HAVE_OCAMLC_FALSE=
+  OBJDUMP="$ac_cv_prog_OBJDUMP"
 fi
 
- if test x$ocamlopt_gmp = xyes; then
-  HAVE_OCAMLOPT_TRUE=
-  HAVE_OCAMLOPT_FALSE='#'
-else
-  HAVE_OCAMLOPT_TRUE='#'
-  HAVE_OCAMLOPT_FALSE=
-fi
+test -z "$OBJDUMP" && OBJDUMP=objdump
 
 
-if test x${ocaml_interface_enabled} = xyes \
-&& (test x$ocamlc_gmp = xyes || test x$ocamlopt_gmp = xyes)
-then
-  build_ocaml_interface=yes
-fi
- if test x$build_ocaml_interface = xyes; then
-  BUILD_OCAML_INTERFACE_TRUE=
-  BUILD_OCAML_INTERFACE_FALSE='#'
-else
-  BUILD_OCAML_INTERFACE_TRUE='#'
-  BUILD_OCAML_INTERFACE_FALSE=
-fi
 
 
-# Checks for Ciao Prolog.
-if test x${ciao_prolog_interface_enabled} = xyes
-then
 
-# Extract the first word of "ciao", so it can be a program name with args.
-set dummy ciao; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_ciao_prolog+set}" = set; then
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
+$as_echo_n "checking how to recognize dependent libraries... " >&6; }
+if test "${lt_cv_deplibs_check_method+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  case $ciao_prolog in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_ciao_prolog="$ciao_prolog" # Let the user override the test with a path.
+  lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[4-9]*)
+  lt_cv_deplibs_check_method=pass_all
   ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_ciao_prolog="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
 
+beos*)
+  lt_cv_deplibs_check_method=pass_all
   ;;
-esac
-fi
-ciao_prolog=$ac_cv_path_ciao_prolog
-if test -n "$ciao_prolog"; then
-  { $as_echo "$as_me:$LINENO: result: $ciao_prolog" >&5
-$as_echo "$ciao_prolog" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
+bsdi[45]*)
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  ;;
 
-if test x$ciao_prolog != x
-then
-  # Create a temporary directory $tmp in $TMPDIR (default /tmp).
-  # Use mktemp if possible; otherwise fall back on mkdir,
-  # with $RANDOM to make collisions less likely.
-  : ${TMPDIR=/tmp}
-  {
-    tmp=`
-      (umask 077 && mktemp -d "$TMPDIR/ppl_ciao_XXXXXX") 2>/dev/null
-    ` &&
-    test -n "$tmp" && test -d "$tmp"
-  } || {
-    tmp=$TMPDIR/ppl_ciao_$$-$RANDOM
-    (umask 077 && mkdir "$tmp")
-  } || exit $?
-  cat >$tmp/print_include_dir.pl <<_CIAO_PRINT_INCLUDE_DIR_EOF
-main(_) :-
-    ciaolibdir(Lib_Dir),
-    get_os(Os),
-    get_arch(Arch),
-    format("~p/include/~p~p", [Lib_Dir, Os, Arch]).
-_CIAO_PRINT_INCLUDE_DIR_EOF
-  ciao_prolog_include_dir=`$ciao_prolog $tmp/print_include_dir.pl`
-  rm -rf $tmp
+cygwin*)
+  # func_win32_libid is a shell function defined in ltmain.sh
+  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+  lt_cv_file_magic_cmd='func_win32_libid'
+  ;;
 
-  CIAO_PROLOG_INCLUDE_OPTIONS="-I${ciao_prolog_include_dir}"
+mingw* | pw32*)
+  # Base MSYS/MinGW do not provide the 'file' command needed by
+  # func_win32_libid shell function, so use a weaker test based on 'objdump',
+  # unless we find 'file', for example because we are cross-compiling.
+  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
+  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
+    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+    lt_cv_file_magic_cmd='func_win32_libid'
+  else
+    # Keep this pattern in sync with the one in func_win32_libid.
+    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+    lt_cv_file_magic_cmd='$OBJDUMP -f'
+  fi
+  ;;
 
-  ac_save_CPPFLAGS="$CPPFLAGS"
-  CPPFLAGS="$CPPFLAGS $CIAO_PROLOG_INCLUDE_OPTIONS"
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+cegcc*)
+  # use the weaker test based on 'objdump'. See mingw*.
+  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  ;;
 
-  if test "${ac_cv_header_ciao_prolog_h+set}" = set; then
-  { $as_echo "$as_me:$LINENO: checking for ciao_prolog.h" >&5
-$as_echo_n "checking for ciao_prolog.h... " >&6; }
-if test "${ac_cv_header_ciao_prolog_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_ciao_prolog_h" >&5
-$as_echo "$ac_cv_header_ciao_prolog_h" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:$LINENO: checking ciao_prolog.h usability" >&5
-$as_echo_n "checking ciao_prolog.h usability... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <ciao_prolog.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+darwin* | rhapsody*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 
-	ac_header_compiler=no
-fi
+freebsd* | dragonfly*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    case $host_cpu in
+    i*86 )
+      # Not sure whether the presence of OpenBSD here was a mistake.
+      # Let's accept both of them until this is cleared up.
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
+gnu*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 
-# Is the header present?
-{ $as_echo "$as_me:$LINENO: checking ciao_prolog.h presence" >&5
-$as_echo_n "checking ciao_prolog.h presence... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ciao_prolog.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+haiku*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 
-  ac_header_preproc=no
-fi
+hpux10.20* | hpux11*)
+  lt_cv_file_magic_cmd=/usr/bin/file
+  case $host_cpu in
+  ia64*)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
+    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+    ;;
+  hppa*64*)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
+    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+    ;;
+  *)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
+    lt_cv_file_magic_test_file=/usr/lib/libc.sl
+    ;;
+  esac
+  ;;
 
-rm -f conftest.err conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
+interix[3-9]*)
+  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
+  ;;
 
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in
-  yes:no: )
-    { $as_echo "$as_me:$LINENO: WARNING: ciao_prolog.h: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: ciao_prolog.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: ciao_prolog.h: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: ciao_prolog.h: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
+irix5* | irix6* | nonstopux*)
+  case $LD in
+  *-32|*"-32 ") libmagic=32-bit;;
+  *-n32|*"-n32 ") libmagic=N32;;
+  *-64|*"-64 ") libmagic=64-bit;;
+  *) libmagic=never-match;;
+  esac
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+netbsd*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
+  fi
+  ;;
+
+newos6*)
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libnls.so
+  ;;
+
+*nto* | *qnx*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+openbsd*)
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+  fi
+  ;;
+
+osf3* | osf4* | osf5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+rdos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+solaris*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv4 | sysv4.3*)
+  case $host_vendor in
+  motorola)
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
     ;;
-  no:yes:* )
-    { $as_echo "$as_me:$LINENO: WARNING: ciao_prolog.h: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: ciao_prolog.h: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: ciao_prolog.h:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: ciao_prolog.h:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: ciao_prolog.h: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: ciao_prolog.h: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: ciao_prolog.h:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: ciao_prolog.h:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: ciao_prolog.h: proceeding with the preprocessor's result" >&5
-$as_echo "$as_me: WARNING: ciao_prolog.h: proceeding with the preprocessor's result" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: ciao_prolog.h: in the future, the compiler will take precedence" >&5
-$as_echo "$as_me: WARNING: ciao_prolog.h: in the future, the compiler will take precedence" >&2;}
-    ( cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to ppl-devel at cs.unipr.it ##
-## ------------------------------------ ##
-_ASBOX
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
+  ncr)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  sequent)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
+    ;;
+  sni)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
+    lt_cv_file_magic_test_file=/lib/libc.so
+    ;;
+  siemens)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  pc)
+    lt_cv_deplibs_check_method=pass_all
     ;;
+  esac
+  ;;
+
+tpf*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 esac
-{ $as_echo "$as_me:$LINENO: checking for ciao_prolog.h" >&5
-$as_echo_n "checking for ciao_prolog.h... " >&6; }
-if test "${ac_cv_header_ciao_prolog_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_header_ciao_prolog_h=$ac_header_preproc
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_ciao_prolog_h" >&5
-$as_echo "$ac_cv_header_ciao_prolog_h" >&6; }
 
 fi
-if test "x$ac_cv_header_ciao_prolog_h" = x""yes; then
-  { $as_echo "$as_me:$LINENO: checking for Ciao Prolog version x.y.z or later" >&5
-$as_echo_n "checking for Ciao Prolog version x.y.z or later... " >&6; }
-                  cat >conftest.$ac_ext <<_ACEOF
-#include <ciao_prolog.h>
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
+$as_echo "$lt_cv_deplibs_check_method" >&6; }
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
 
-int
-main() {
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ciao_prolog=""
-                    { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
 
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  ciao_prolog=""
-fi
 
 
 
 
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
-  CPPFLAGS="$ac_save_CPPFLAGS"
-  CIAO_PROLOG="$ciao_prolog"
 
 
-  fi
 
-if test x$ciao_prolog != x
-then
-  have_ciao_prolog=yes
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_AR+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  have_ciao_prolog=no
-fi
+  if test -n "$AR"; then
+  ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_AR="${ac_tool_prefix}ar"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
 fi
-
-if test x${ciao_prolog_interface_enabled} = xyes \
-&& test x$have_ciao_prolog = xyes
-then
-  build_ciao_prolog_interface=yes
 fi
- if test x$build_ciao_prolog_interface = xyes; then
-  BUILD_CIAO_PROLOG_INTERFACE_TRUE=
-  BUILD_CIAO_PROLOG_INTERFACE_FALSE='#'
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
 else
-  BUILD_CIAO_PROLOG_INTERFACE_TRUE='#'
-  BUILD_CIAO_PROLOG_INTERFACE_FALSE=
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
-# Checks for GNU Prolog.
-if test x${gnu_prolog_interface_enabled} = xyes
-then
-  # Extract the first word of "gprolog", so it can be a program name with args.
-set dummy gprolog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+fi
+if test -z "$ac_cv_prog_AR"; then
+  ac_ct_AR=$AR
+  # Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_GNU_PROLOG+set}" = set; then
+if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$GNU_PROLOG"; then
-  ac_cv_prog_GNU_PROLOG="$GNU_PROLOG" # Let the user override the test.
+  if test -n "$ac_ct_AR"; then
+  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_GNU_PROLOG="gprolog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    ac_cv_prog_ac_ct_AR="ar"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
-GNU_PROLOG=$ac_cv_prog_GNU_PROLOG
-if test -n "$GNU_PROLOG"; then
-  { $as_echo "$as_me:$LINENO: result: $GNU_PROLOG" >&5
-$as_echo "$GNU_PROLOG" >&6; }
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
-
-  if test x"$GNU_PROLOG" = xgprolog
-  then
-    if test "${ac_cv_header_gprolog_h+set}" = set; then
-  { $as_echo "$as_me:$LINENO: checking for gprolog.h" >&5
-$as_echo_n "checking for gprolog.h... " >&6; }
-if test "${ac_cv_header_gprolog_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_gprolog_h" >&5
-$as_echo "$ac_cv_header_gprolog_h" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:$LINENO: checking gprolog.h usability" >&5
-$as_echo_n "checking gprolog.h usability... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <gprolog.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+  if test "x$ac_ct_AR" = x; then
+    AR="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
+    AR=$ac_ct_AR
+  fi
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_header_compiler=no
+  AR="$ac_cv_prog_AR"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
 
-# Is the header present?
-{ $as_echo "$as_me:$LINENO: checking gprolog.h presence" >&5
-$as_echo_n "checking gprolog.h presence... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <gprolog.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-  ac_header_preproc=no
-fi
 
-rm -f conftest.err conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
 
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in
-  yes:no: )
-    { $as_echo "$as_me:$LINENO: WARNING: gprolog.h: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: gprolog.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: gprolog.h: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: gprolog.h: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:$LINENO: WARNING: gprolog.h: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: gprolog.h: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: gprolog.h:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: gprolog.h:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: gprolog.h: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: gprolog.h: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: gprolog.h:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: gprolog.h:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: gprolog.h: proceeding with the preprocessor's result" >&5
-$as_echo "$as_me: WARNING: gprolog.h: proceeding with the preprocessor's result" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: gprolog.h: in the future, the compiler will take precedence" >&5
-$as_echo "$as_me: WARNING: gprolog.h: in the future, the compiler will take precedence" >&2;}
-    ( cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to ppl-devel at cs.unipr.it ##
-## ------------------------------------ ##
-_ASBOX
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-{ $as_echo "$as_me:$LINENO: checking for gprolog.h" >&5
-$as_echo_n "checking for gprolog.h... " >&6; }
-if test "${ac_cv_header_gprolog_h+set}" = set; then
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  ac_cv_header_gprolog_h=$ac_header_preproc
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_gprolog_h" >&5
-$as_echo "$ac_cv_header_gprolog_h" >&6; }
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
 fi
-if test "x$ac_cv_header_gprolog_h" = x""yes; then
-  :
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
 else
-  GNU_PROLOG=""
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
-  fi
 fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-if test x${gnu_prolog_interface_enabled} = xyes \
-&& test x$GNU_PROLOG = xgprolog
-then
-  build_gnu_prolog_interface=yes
 fi
- if test x$build_gnu_prolog_interface = xyes; then
-  BUILD_GNU_PROLOG_INTERFACE_TRUE=
-  BUILD_GNU_PROLOG_INTERFACE_FALSE='#'
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
 else
-  BUILD_GNU_PROLOG_INTERFACE_TRUE='#'
-  BUILD_GNU_PROLOG_INTERFACE_FALSE=
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_STRIP" = x; then
+    STRIP=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    STRIP=$ac_ct_STRIP
+  fi
+else
+  STRIP="$ac_cv_prog_STRIP"
 fi
 
+test -z "$STRIP" && STRIP=:
 
-# Checks for SICStus.
-if test x${sicstus_prolog_interface_enabled} = xyes
-then
 
-# Extract the first word of "sicstus", so it can be a program name with args.
-set dummy sicstus; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_sicstus_prolog+set}" = set; then
+if test "${ac_cv_prog_RANLIB+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  case $sicstus_prolog in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_sicstus_prolog="$sicstus_prolog" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_sicstus_prolog="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
-  ;;
-esac
 fi
-sicstus_prolog=$ac_cv_path_sicstus_prolog
-if test -n "$sicstus_prolog"; then
-  { $as_echo "$as_me:$LINENO: result: $sicstus_prolog" >&5
-$as_echo "$sicstus_prolog" >&6; }
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 
-if test x$sicstus_prolog != x
-then
-        sicstus_prolog_base=$(dirname $($sicstus_prolog -f --goal "use_module(library(system)), environ('SP_APP_DIR', X), write(X), nl, halt."))
-  SICSTUS_PROLOG_INCLUDE_OPTIONS="-I${sicstus_prolog_base}/include"
-  ac_save_CPPFLAGS="$CPPFLAGS"
-  CPPFLAGS="$CPPFLAGS $SICSTUS_PROLOG_INCLUDE_OPTIONS"
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-  # We require SICStus Prolog 3.9.1 or later.
-  if test "${ac_cv_header_sicstus_sicstus_h+set}" = set; then
-  { $as_echo "$as_me:$LINENO: checking for sicstus/sicstus.h" >&5
-$as_echo_n "checking for sicstus/sicstus.h... " >&6; }
-if test "${ac_cv_header_sicstus_sicstus_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sicstus_sicstus_h" >&5
-$as_echo "$ac_cv_header_sicstus_sicstus_h" >&6; }
+if test -z "$ac_cv_prog_RANLIB"; then
+  ac_ct_RANLIB=$RANLIB
+  # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  # Is the header compilable?
-{ $as_echo "$as_me:$LINENO: checking sicstus/sicstus.h usability" >&5
-$as_echo_n "checking sicstus/sicstus.h usability... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <sicstus/sicstus.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
+  if test -n "$ac_ct_RANLIB"; then
+  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_RANLIB="ranlib"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-	ac_header_compiler=no
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:$LINENO: checking sicstus/sicstus.h presence" >&5
-$as_echo_n "checking sicstus/sicstus.h presence... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <sicstus/sicstus.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+  if test "x$ac_ct_RANLIB" = x; then
+    RANLIB=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
+    RANLIB=$ac_ct_RANLIB
+  fi
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
+  RANLIB="$ac_cv_prog_RANLIB"
 fi
 
-rm -f conftest.err conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
+test -z "$RANLIB" && RANLIB=:
 
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in
-  yes:no: )
-    { $as_echo "$as_me:$LINENO: WARNING: sicstus/sicstus.h: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: sicstus/sicstus.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: sicstus/sicstus.h: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: sicstus/sicstus.h: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
+
+
+
+
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+  case $host_os in
+  openbsd*)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
     ;;
-  no:yes:* )
-    { $as_echo "$as_me:$LINENO: WARNING: sicstus/sicstus.h: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: sicstus/sicstus.h: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: sicstus/sicstus.h:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: sicstus/sicstus.h:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: sicstus/sicstus.h: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: sicstus/sicstus.h: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: sicstus/sicstus.h:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: sicstus/sicstus.h:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: sicstus/sicstus.h: proceeding with the preprocessor's result" >&5
-$as_echo "$as_me: WARNING: sicstus/sicstus.h: proceeding with the preprocessor's result" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: sicstus/sicstus.h: in the future, the compiler will take precedence" >&5
-$as_echo "$as_me: WARNING: sicstus/sicstus.h: in the future, the compiler will take precedence" >&2;}
-    ( cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to ppl-devel at cs.unipr.it ##
-## ------------------------------------ ##
-_ASBOX
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
+  *)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
     ;;
-esac
-{ $as_echo "$as_me:$LINENO: checking for sicstus/sicstus.h" >&5
-$as_echo_n "checking for sicstus/sicstus.h... " >&6; }
-if test "${ac_cv_header_sicstus_sicstus_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_header_sicstus_sicstus_h=$ac_header_preproc
+  esac
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sicstus_sicstus_h" >&5
-$as_echo "$ac_cv_header_sicstus_sicstus_h" >&6; }
 
-fi
-if test "x$ac_cv_header_sicstus_sicstus_h" = x""yes; then
-  { $as_echo "$as_me:$LINENO: checking for SICStus version 3.9.1 or later" >&5
-$as_echo_n "checking for SICStus version 3.9.1 or later... " >&6; }
-                  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+case $host_os in
+  darwin*)
+    lock_old_archive_extraction=yes ;;
+  *)
+    lock_old_archive_extraction=no ;;
+esac
 
-                      #include <sicstus/sicstus.h>
-                      #if SICSTUS_MAJOR_VERSION > 3 || (SICSTUS_MAJOR_VERSION == 3 && SICSTUS_MINOR_VERSION > 9) || (SICSTUS_MAJOR_VERSION == 3 && SICSTUS_MINOR_VERSION == 9 && SICSTUS_REVISION_VERSION >= 1)
-                      yes
-                      #endif
 
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "yes" >/dev/null 2>&1; then
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  sicstus_prolog=""
-                    { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
 
-fi
-rm -f conftest*
 
-else
-  sicstus_prolog=""
-fi
 
 
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
-  CPPFLAGS="$ac_save_CPPFLAGS"
 
-fi
 
-if test x$sicstus_prolog != x
-then
-  have_sicstus_prolog=yes
-else
-  have_sicstus_prolog=no
-fi
 
-fi
 
-if test x${sicstus_prolog_interface_enabled} = xyes \
-&& test x$have_sicstus_prolog = xyes
-then
-  build_sicstus_prolog_interface=yes
-fi
- if test x$build_sicstus_prolog_interface = xyes; then
-  BUILD_SICSTUS_PROLOG_INTERFACE_TRUE=
-  BUILD_SICSTUS_PROLOG_INTERFACE_FALSE='#'
-else
-  BUILD_SICSTUS_PROLOG_INTERFACE_TRUE='#'
-  BUILD_SICSTUS_PROLOG_INTERFACE_FALSE=
-fi
 
 
-# Checks for SWI-Prolog.
-if test x${swi_prolog_interface_enabled} = xyes
-then
 
-# Extract the first word of "swi-prolog", so it can be a program name with args.
-set dummy swi-prolog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_swi_prolog+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  case $swi_prolog in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_swi_prolog="$swi_prolog" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_swi_prolog="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
 
-  ;;
-esac
-fi
-swi_prolog=$ac_cv_path_swi_prolog
-if test -n "$swi_prolog"; then
-  { $as_echo "$as_me:$LINENO: result: $swi_prolog" >&5
-$as_echo "$swi_prolog" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
 
-if test -z $swi_prolog
-then
-  # Extract the first word of "swipl", so it can be a program name with args.
-set dummy swipl; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_swi_prolog+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  case $swi_prolog in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_swi_prolog="$swi_prolog" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_swi_prolog="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
 
-  ;;
-esac
-fi
-swi_prolog=$ac_cv_path_swi_prolog
-if test -n "$swi_prolog"; then
-  { $as_echo "$as_me:$LINENO: result: $swi_prolog" >&5
-$as_echo "$swi_prolog" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
 
-  if test -z $swi_prolog
-  then
-    # Extract the first word of "pl", so it can be a program name with args.
-set dummy pl; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_swi_prolog+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  case $swi_prolog in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_swi_prolog="$swi_prolog" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_swi_prolog="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
 
-  ;;
-esac
-fi
-swi_prolog=$ac_cv_path_swi_prolog
-if test -n "$swi_prolog"; then
-  { $as_echo "$as_me:$LINENO: result: $swi_prolog" >&5
-$as_echo "$swi_prolog" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  fi
-fi
-if test x$swi_prolog != x
-then
-  swi_prolog_base=`$swi_prolog -dump-runtime-variables | grep PLBASE= | sed 's/PLBASE="\(.*\)";/\1/'`
-  swi_prolog_version=`$swi_prolog -dump-runtime-variables | grep PLVERSION= | sed 's/PLVERSION="\(.*\)";/\1/'`
-  swi_prolog_arch=`$swi_prolog -dump-runtime-variables | grep PLARCH= | sed 's/PLARCH="\(.*\)";/\1/'`
-  swi_prolog_libs=`$swi_prolog -dump-runtime-variables | grep PLLIBS= | sed 's/PLLIBS="\(.*\)";/\1/'`
-  swi_prolog_lib=`$swi_prolog -dump-runtime-variables | grep PLLIB= | sed 's/PLLIB="\(.*\)";/\1/'`
 
 
-  # In Fedora, SWI-Prolog.h is installed only in /usr/include/pl, which,
-  # IMHO, is a bug (https://bugzilla.redhat.com/show_bug.cgi?id=471071).
-  SWI_PROLOG_INCLUDE_OPTIONS="-I${swi_prolog_base}/include -I/usr/include/pl"
-  SWI_PROLOG_LD_OPTIONS="-L${swi_prolog_base}/lib/${swi_prolog_arch} ${swi_prolog_lib} ${swi_prolog_libs}"
-  ac_save_CPPFLAGS="$CPPFLAGS"
-  CPPFLAGS="$CPPFLAGS $SWI_PROLOG_INCLUDE_OPTIONS"
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
-  # We require SWI-Prolog 5.6.0 or later.
-  if test "${ac_cv_header_SWI_Prolog_h+set}" = set; then
-  { $as_echo "$as_me:$LINENO: checking for SWI-Prolog.h" >&5
-$as_echo_n "checking for SWI-Prolog.h... " >&6; }
-if test "${ac_cv_header_SWI_Prolog_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_SWI_Prolog_h" >&5
-$as_echo "$ac_cv_header_SWI_Prolog_h" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:$LINENO: checking SWI-Prolog.h usability" >&5
-$as_echo_n "checking SWI-Prolog.h usability... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <SWI-Prolog.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_header_compiler=no
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
 
-# Is the header present?
-{ $as_echo "$as_me:$LINENO: checking SWI-Prolog.h presence" >&5
-$as_echo_n "checking SWI-Prolog.h presence... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <SWI-Prolog.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-  ac_header_preproc=no
-fi
 
-rm -f conftest.err conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
 
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in
-  yes:no: )
-    { $as_echo "$as_me:$LINENO: WARNING: SWI-Prolog.h: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: SWI-Prolog.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: SWI-Prolog.h: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: SWI-Prolog.h: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:$LINENO: WARNING: SWI-Prolog.h: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: SWI-Prolog.h: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: SWI-Prolog.h:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: SWI-Prolog.h:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: SWI-Prolog.h: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: SWI-Prolog.h: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: SWI-Prolog.h:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: SWI-Prolog.h:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: SWI-Prolog.h: proceeding with the preprocessor's result" >&5
-$as_echo "$as_me: WARNING: SWI-Prolog.h: proceeding with the preprocessor's result" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: SWI-Prolog.h: in the future, the compiler will take precedence" >&5
-$as_echo "$as_me: WARNING: SWI-Prolog.h: in the future, the compiler will take precedence" >&2;}
-    ( cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to ppl-devel at cs.unipr.it ##
-## ------------------------------------ ##
-_ASBOX
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-{ $as_echo "$as_me:$LINENO: checking for SWI-Prolog.h" >&5
-$as_echo_n "checking for SWI-Prolog.h... " >&6; }
-if test "${ac_cv_header_SWI_Prolog_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_header_SWI_Prolog_h=$ac_header_preproc
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_SWI_Prolog_h" >&5
-$as_echo "$ac_cv_header_SWI_Prolog_h" >&6; }
 
-fi
-if test "x$ac_cv_header_SWI_Prolog_h" = x""yes; then
-  { $as_echo "$as_me:$LINENO: checking for SWI-Prolog version 5.6.0 or later" >&5
-$as_echo_n "checking for SWI-Prolog version 5.6.0 or later... " >&6; }
-                  cat >conftest.$ac_ext <<_ACEOF
-#include <SWI-Prolog.h>
 
-int
-main() {
-#if !defined(PLVERSION) || PLVERSION < 50600
-  choke me
-#endif
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	swi_prolog=""
-                    { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
 
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  swi_prolog=""
-fi
 
 
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
-  CPPFLAGS="$ac_save_CPPFLAGS"
-  SWI_PROLOG="$swi_prolog"
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
 
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
 
+# Allow CC to be a program name with arguments.
+compiler=$CC
 
-fi
 
-if test x$swi_prolog != x
-then
-  have_swi_prolog=yes
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
+$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
+if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  have_swi_prolog=no
-fi
-
-fi
 
-# Under Cygwin, SWI-Prolog does not work with foreign code:
-# see http://www.cs.unipr.it/pipermail/ppl-devel/2006-January/007838.html
-if test x${swi_prolog_interface_enabled} = xyes \
-&& test x$have_swi_prolog = xyes \
-&& test x"${host_os}" != xcygwin
-then
-  build_swi_prolog_interface=yes
-fi
- if test x$build_swi_prolog_interface = xyes; then
-  BUILD_SWI_PROLOG_INTERFACE_TRUE=
-  BUILD_SWI_PROLOG_INTERFACE_FALSE='#'
-else
-  BUILD_SWI_PROLOG_INTERFACE_TRUE='#'
-  BUILD_SWI_PROLOG_INTERFACE_FALSE=
-fi
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
 
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRST]'
 
-# Checks for XSB.
-if test x${xsb_prolog_interface_enabled} = xyes
-then
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
 
-# Extract the first word of "xsb", so it can be a program name with args.
-set dummy xsb; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_xsb_prolog+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  case $xsb_prolog in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_xsb_prolog="$xsb_prolog" # Let the user override the test with a path.
+# Define system-specific variables.
+case $host_os in
+aix*)
+  symcode='[BCDT]'
   ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_xsb_prolog="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
+cygwin* | mingw* | pw32* | cegcc*)
+  symcode='[ABCDGISTW]'
+  ;;
+hpux*)
+  if test "$host_cpu" = ia64; then
+    symcode='[ABCDEGRST]'
   fi
-done
-done
-IFS=$as_save_IFS
-
+  ;;
+irix* | nonstopux*)
+  symcode='[BCDEGRST]'
+  ;;
+osf*)
+  symcode='[BCDEGQRST]'
+  ;;
+solaris*)
+  symcode='[BDRT]'
+  ;;
+sco3.2v5*)
+  symcode='[DT]'
+  ;;
+sysv4.2uw2*)
+  symcode='[DT]'
+  ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+  symcode='[ABDT]'
+  ;;
+sysv4)
+  symcode='[DFNSTU]'
   ;;
 esac
-fi
-xsb_prolog=$ac_cv_path_xsb_prolog
-if test -n "$xsb_prolog"; then
-  { $as_echo "$as_me:$LINENO: result: $xsb_prolog" >&5
-$as_echo "$xsb_prolog" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+  symcode='[ABCDGIRSTW]' ;;
+esac
 
-if test x$xsb_prolog != x
-then
-        xsb_emu_dir=$(xsb --nobanner --quietload --noprompt \
-                -e "write('emudir='), \
-                  xsb_configuration(emudir, X), write(X), nl, halt." \
-                    2>/dev/null | sed "s/^emudir=//g")
-  xsb_config_dir=$(xsb --nobanner --quietload --noprompt \
-                   -e "write('config_dir='), \
-                     xsb_configuration(config_dir,X), write(X), nl, halt." \
-                       2>/dev/null | sed "s/^config_dir=//g")
-  XSB_PROLOG_INCLUDE_OPTIONS="-I${xsb_emu_dir} -I${xsb_config_dir}"
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
 
-fi
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
 
-if test x$xsb_prolog != x
-then
-  have_xsb_prolog=yes
-else
-  have_xsb_prolog=no
-fi
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+  ;;
+esac
 
-fi
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
 
-if test x${xsb_prolog_interface_enabled} = xyes \
-&& test x$have_xsb_prolog = xyes
-then
-  build_xsb_prolog_interface=yes
-fi
- if test x$build_xsb_prolog_interface = xyes; then
-  BUILD_XSB_PROLOG_INTERFACE_TRUE=
-  BUILD_XSB_PROLOG_INTERFACE_FALSE='#'
-else
-  BUILD_XSB_PROLOG_INTERFACE_TRUE='#'
-  BUILD_XSB_PROLOG_INTERFACE_FALSE=
-fi
+  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+  symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+  # Write the raw and C identifiers.
+  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+    # Fake it for dumpbin and say T for any non-static function
+    # and D for any global variable.
+    # Also find C++ and __fastcall symbols from MSVC++,
+    # which start with @ or ?.
+    lt_cv_sys_global_symbol_pipe="$AWK '"\
+"     {last_section=section; section=\$ 3};"\
+"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+"     \$ 0!~/External *\|/{next};"\
+"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+"     {if(hide[section]) next};"\
+"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
+"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+"     ' prfx=^$ac_symprfx"
+  else
+    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[	 ]\($symcode$symcode*\)[	 ][	 ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+  fi
 
+  # Check to see that the pipe works correctly.
+  pipe_works=no
 
-# Checks for YAP.
-if test x${yap_prolog_interface_enabled} = xyes
-then
-  # Extract the first word of "yap", so it can be a program name with args.
-set dummy yap; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_YAP_PROLOG+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$YAP_PROLOG"; then
-  ac_cv_prog_YAP_PROLOG="$YAP_PROLOG" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_YAP_PROLOG="yap"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
+  rm -f conftest*
+  cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    # Now try to grab the symbols.
+    nlist=conftest.nm
+    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
+  (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s "$nlist"; then
+      # Try sorting and uniquifying the output.
+      if sort "$nlist" | uniq > "$nlist"T; then
+	mv -f "$nlist"T "$nlist"
+      else
+	rm -f "$nlist"T
+      fi
+
+      # Make sure that we snagged all the symbols we need.
+      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+	  cat <<_LT_EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+	  # Now generate the symbol file.
+	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+	  cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols.  */
+const struct {
+  const char *name;
+  void       *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[] =
+{
+  { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+	  cat <<\_LT_EOF >> conftest.$ac_ext
+  {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+	  # Now try linking the two files.
+	  mv conftest.$ac_objext conftstm.$ac_objext
+	  lt_save_LIBS="$LIBS"
+	  lt_save_CFLAGS="$CFLAGS"
+	  LIBS="conftstm.$ac_objext"
+	  CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s conftest${ac_exeext}; then
+	    pipe_works=yes
+	  fi
+	  LIBS="$lt_save_LIBS"
+	  CFLAGS="$lt_save_CFLAGS"
+	else
+	  echo "cannot find nm_test_func in $nlist" >&5
+	fi
+      else
+	echo "cannot find nm_test_var in $nlist" >&5
+      fi
+    else
+      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
+    fi
+  else
+    echo "$progname: failed program was:" >&5
+    cat conftest.$ac_ext >&5
+  fi
+  rm -rf conftest* conftst*
+
+  # Do not use the global_symbol_pipe unless it works.
+  if test "$pipe_works" = yes; then
+    break
+  else
+    lt_cv_sys_global_symbol_pipe=
   fi
 done
-done
-IFS=$as_save_IFS
 
 fi
+
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+  lt_cv_sys_global_symbol_to_cdecl=
 fi
-YAP_PROLOG=$ac_cv_prog_YAP_PROLOG
-if test -n "$YAP_PROLOG"; then
-  { $as_echo "$as_me:$LINENO: result: $YAP_PROLOG" >&5
-$as_echo "$YAP_PROLOG" >&6; }
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+$as_echo "failed" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+$as_echo "ok" >&6; }
 fi
 
 
-  if test x"$YAP_PROLOG" = xyap
-  then
-    if test "${ac_cv_header_Yap_c_interface_h+set}" = set; then
-  { $as_echo "$as_me:$LINENO: checking for Yap/c_interface.h" >&5
-$as_echo_n "checking for Yap/c_interface.h... " >&6; }
-if test "${ac_cv_header_Yap_c_interface_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_Yap_c_interface_h" >&5
-$as_echo "$ac_cv_header_Yap_c_interface_h" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:$LINENO: checking Yap/c_interface.h usability" >&5
-$as_echo_n "checking Yap/c_interface.h usability... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <Yap/c_interface.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_header_compiler=no
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
 
-# Is the header present?
-{ $as_echo "$as_me:$LINENO: checking Yap/c_interface.h presence" >&5
-$as_echo_n "checking Yap/c_interface.h presence... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <Yap/c_interface.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-  ac_header_preproc=no
-fi
 
-rm -f conftest.err conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
 
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in
-  yes:no: )
-    { $as_echo "$as_me:$LINENO: WARNING: Yap/c_interface.h: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: Yap/c_interface.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: Yap/c_interface.h: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: Yap/c_interface.h: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:$LINENO: WARNING: Yap/c_interface.h: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: Yap/c_interface.h: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: Yap/c_interface.h:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: Yap/c_interface.h:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: Yap/c_interface.h: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: Yap/c_interface.h: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: Yap/c_interface.h:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: Yap/c_interface.h:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: Yap/c_interface.h: proceeding with the preprocessor's result" >&5
-$as_echo "$as_me: WARNING: Yap/c_interface.h: proceeding with the preprocessor's result" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: Yap/c_interface.h: in the future, the compiler will take precedence" >&5
-$as_echo "$as_me: WARNING: Yap/c_interface.h: in the future, the compiler will take precedence" >&2;}
-    ( cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to ppl-devel at cs.unipr.it ##
-## ------------------------------------ ##
-_ASBOX
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-{ $as_echo "$as_me:$LINENO: checking for Yap/c_interface.h" >&5
-$as_echo_n "checking for Yap/c_interface.h... " >&6; }
-if test "${ac_cv_header_Yap_c_interface_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_header_Yap_c_interface_h=$ac_header_preproc
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_Yap_c_interface_h" >&5
-$as_echo "$ac_cv_header_Yap_c_interface_h" >&6; }
 
-fi
-if test "x$ac_cv_header_Yap_c_interface_h" = x""yes; then
-  :
-else
-  YAP_PROLOG=""
-fi
 
 
-  fi
-fi
 
-if test x${yap_prolog_interface_enabled} = xyes \
-&& test x$YAP_PROLOG = xyap
-then
-  build_yap_prolog_interface=yes
-fi
- if test x$build_yap_prolog_interface = xyes; then
-  BUILD_YAP_PROLOG_INTERFACE_TRUE=
-  BUILD_YAP_PROLOG_INTERFACE_FALSE='#'
-else
-  BUILD_YAP_PROLOG_INTERFACE_TRUE='#'
-  BUILD_YAP_PROLOG_INTERFACE_FALSE=
-fi
 
 
-# Test if *any* Prolog system has to be built.
-if test x$build_ciao_prolog_interface = xyes \
-|| test x$build_gnu_prolog_interface = xyes \
-|| test x$build_sicstus_prolog_interface = xyes \
-|| test x$build_swi_prolog_interface = xyes \
-|| test x$build_xsb_prolog_interface = xyes \
-|| test x$build_yap_prolog_interface = xyes
-then
-  build_some_prolog_interfaces=yes
-fi
- if test x$build_some_prolog_interfaces = xyes; then
-  BUILD_SOME_PROLOG_INTERFACES_TRUE=
-  BUILD_SOME_PROLOG_INTERFACES_FALSE='#'
-else
-  BUILD_SOME_PROLOG_INTERFACES_TRUE='#'
-  BUILD_SOME_PROLOG_INTERFACES_FALSE=
-fi
 
 
-if test x$build_c_interface = xyes \
-|| test x$build_java_interface = xyes \
-|| test x$build_ocaml_interface = xyes \
-|| test x$build_some_prolog_interfaces = xyes
-then
-  # Look for a recent enough version of GNU M4.
 
-  { $as_echo "$as_me:$LINENO: checking for GNU M4 that supports accurate traces" >&5
-$as_echo_n "checking for GNU M4 that supports accurate traces... " >&6; }
-if test "${ac_cv_path_M4+set}" = set; then
+
+
+
+
+
+# Check whether --enable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then :
+  enableval=$enable_libtool_lock;
+fi
+
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    case `/usr/bin/file conftest.$ac_objext` in
+      *ELF-32*)
+	HPUX_IA64_MODE="32"
+	;;
+      *ELF-64*)
+	HPUX_IA64_MODE="64"
+	;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+*-*-irix6*)
+  # Find out which ABI we are using.
+  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    if test "$lt_cv_prog_gnu_ld" = yes; then
+      case `/usr/bin/file conftest.$ac_objext` in
+	*32-bit*)
+	  LD="${LD-ld} -melf32bsmip"
+	  ;;
+	*N32*)
+	  LD="${LD-ld} -melf32bmipn32"
+	  ;;
+	*64-bit*)
+	  LD="${LD-ld} -melf64bmip"
+	;;
+      esac
+    else
+      case `/usr/bin/file conftest.$ac_objext` in
+	*32-bit*)
+	  LD="${LD-ld} -32"
+	  ;;
+	*N32*)
+	  LD="${LD-ld} -n32"
+	  ;;
+	*64-bit*)
+	  LD="${LD-ld} -64"
+	  ;;
+      esac
+    fi
+  fi
+  rm -rf conftest*
+  ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    case `/usr/bin/file conftest.o` in
+      *32-bit*)
+	case $host in
+	  x86_64-*kfreebsd*-gnu)
+	    LD="${LD-ld} -m elf_i386_fbsd"
+	    ;;
+	  x86_64-*linux*)
+	    LD="${LD-ld} -m elf_i386"
+	    ;;
+	  ppc64-*linux*|powerpc64-*linux*)
+	    LD="${LD-ld} -m elf32ppclinux"
+	    ;;
+	  s390x-*linux*)
+	    LD="${LD-ld} -m elf_s390"
+	    ;;
+	  sparc64-*linux*)
+	    LD="${LD-ld} -m elf32_sparc"
+	    ;;
+	esac
+	;;
+      *64-bit*)
+	case $host in
+	  x86_64-*kfreebsd*-gnu)
+	    LD="${LD-ld} -m elf_x86_64_fbsd"
+	    ;;
+	  x86_64-*linux*)
+	    LD="${LD-ld} -m elf_x86_64"
+	    ;;
+	  ppc*-*linux*|powerpc*-*linux*)
+	    LD="${LD-ld} -m elf64ppc"
+	    ;;
+	  s390*-*linux*|s390*-*tpf*)
+	    LD="${LD-ld} -m elf64_s390"
+	    ;;
+	  sparc*-*linux*)
+	    LD="${LD-ld} -m elf64_sparc"
+	    ;;
+	esac
+	;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+*-*-sco3.2v5*)
+  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+  SAVE_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -belf"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
+$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
+if test "${lt_cv_cc_needs_belf+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  rm -f conftest.m4f
-if test -z "$M4"; then
-  ac_path_M4_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  lt_cv_cc_needs_belf=yes
+else
+  lt_cv_cc_needs_belf=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+     ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
+$as_echo "$lt_cv_cc_needs_belf" >&6; }
+  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+    CFLAGS="$SAVE_CFLAGS"
+  fi
+  ;;
+sparc*-*solaris*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    case `/usr/bin/file conftest.o` in
+    *64-bit*)
+      case $lt_cv_prog_gnu_ld in
+      yes*) LD="${LD-ld} -m elf64_sparc" ;;
+      *)
+	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+	  LD="${LD-ld} -64"
+	fi
+	;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+esac
+
+need_locks="$enable_libtool_lock"
+
+
+  case $host_os in
+    rhapsody* | darwin*)
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$DSYMUTIL"; then
+  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_prog in m4 gm4 gnum4; do
     for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_M4="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_M4" && $as_test_x "$ac_path_M4"; } || continue
-      # Root out GNU M4 1.4.4, as well as non-GNU m4 that ignore -t, -F.
-      ac_snippet=change'quote(<,>)in''dir(<if''def>,mac,bug)d'nl
-      test -z "`$ac_path_M4 -F conftest.m4f </dev/null 2>&1`" \
-      && test -z "`echo $ac_snippet | $ac_path_M4 --trace=mac 2>&1`" \
-      && test -f conftest.m4f \
-      && ac_cv_path_M4=$ac_path_M4 ac_path_M4_found=:
-      rm -f conftest.m4f
-      $ac_path_M4_found && break 3
-    done
-  done
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
 done
+  done
 IFS=$as_save_IFS
-  if test -z "$ac_cv_path_M4"; then
-    { { $as_echo "$as_me:$LINENO: error: no acceptable m4 could be found in \$PATH.
-GNU M4 1.4.5 or later is required; 1.4.11 is recommended" >&5
-$as_echo "$as_me: error: no acceptable m4 could be found in \$PATH.
-GNU M4 1.4.5 or later is required; 1.4.11 is recommended" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
-else
-  ac_cv_path_M4=$M4
-fi
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_M4" >&5
-$as_echo "$ac_cv_path_M4" >&6; }
-  M4=$ac_cv_path_M4
-  { $as_echo "$as_me:$LINENO: checking how m4 supports trace files" >&5
-$as_echo_n "checking how m4 supports trace files... " >&6; }
-if test "${ac_cv_prog_gnu_m4_debugfile+set}" = set; then
-  $as_echo_n "(cached) " >&6
+fi
+DSYMUTIL=$ac_cv_prog_DSYMUTIL
+if test -n "$DSYMUTIL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
+$as_echo "$DSYMUTIL" >&6; }
 else
-  case `$M4 --help < /dev/null 2>&1` in
-      *debugfile*) ac_cv_prog_gnu_m4_debugfile=--debugfile ;;
-      *) ac_cv_prog_gnu_m4_debugfile=--error-output ;;
-    esac
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_gnu_m4_debugfile" >&5
-$as_echo "$ac_cv_prog_gnu_m4_debugfile" >&6; }
-  M4_DEBUGFILE=$ac_cv_prog_gnu_m4_debugfile
 
 
 fi
+if test -z "$ac_cv_prog_DSYMUTIL"; then
+  ac_ct_DSYMUTIL=$DSYMUTIL
+  # Extract the first word of "dsymutil", so it can be a program name with args.
+set dummy dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_DSYMUTIL"; then
+  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-# Define the list of instantiations that are enabled by default.
-# Different instantiations are separated by a '@' character.
-di="        Polyhedron @ Grid"
-di="${di} @ Rational_Box"
-di="${di} @ BD_Shape<mpz_class> @ BD_Shape<mpq_class>"
-di="${di} @ Octagonal_Shape<mpz_class> @ Octagonal_Shape<mpq_class>"
-di="${di} @ Constraints_Product<C_Polyhedron, Grid>"
-di="${di} @ Pointset_Powerset<C_Polyhedron>"
-di="${di} @ Pointset_Powerset<NNC_Polyhedron>"
-if test $ac_supported_double = 1
-then
-  di="${di} @ Double_Box @ BD_Shape<double> @ Octagonal_Shape<double>"
-fi
-default_instantiations="${di}"
-
-# Define the list of all instantiations.
-# Different instantiations are separated by a '@' character.
-ai="        Int8_Box @ Int16_Box @ Int32_Box @ Int64_Box"
-ai="${ai} @ Uint8_Box @ Uint16_Box @ Uint32_Box @ Uint64_Box"
-ai="${ai} @ Z_Box @ Rational_Box"
-ai="${ai} @ BD_Shape<int8_t> @ BD_Shape<int16_t>"
-ai="${ai} @ BD_Shape<int32_t> @ BD_Shape<int64_t>"
-ai="${ai} @ BD_Shape<mpz_class> @ BD_Shape<mpq_class>"
-ai="${ai} @ Octagonal_Shape<int8_t> @ Octagonal_Shape<int16_t>"
-ai="${ai} @ Octagonal_Shape<int32_t> @ Octagonal_Shape<int64_t>"
-ai="${ai} @ Octagonal_Shape<mpz_class> @ Octagonal_Shape<mpq_class>"
-ai="${ai} @ Polyhedron @ Grid"
-ai="${ai} @ Pointset_Powerset<Int8_Box> @ Pointset_Powerset<Int16_Box>"
-ai="${ai} @ Pointset_Powerset<Int32_Box> @ Pointset_Powerset<Int64_Box>"
-ai="${ai} @ Pointset_Powerset<Uint8_Box> @ Pointset_Powerset<Uint16_Box>"
-ai="${ai} @ Pointset_Powerset<Uint32_Box> @ Pointset_Powerset<Uint64_Box>"
-ai="${ai} @ Pointset_Powerset<Rational_Box> @ Pointset_Powerset<Z_Box>"
-ai="${ai} @ Pointset_Powerset<BD_Shape<int8_t> >"
-ai="${ai} @ Pointset_Powerset<BD_Shape<int16_t> >"
-ai="${ai} @ Pointset_Powerset<BD_Shape<int32_t> >"
-ai="${ai} @ Pointset_Powerset<BD_Shape<int64_t> >"
-ai="${ai} @ Pointset_Powerset<BD_Shape<mpq_class> >"
-ai="${ai} @ Pointset_Powerset<BD_Shape<mpz_class> >"
-ai="${ai} @ Pointset_Powerset<Octagonal_Shape<int8_t> >"
-ai="${ai} @ Pointset_Powerset<Octagonal_Shape<int16_t> >"
-ai="${ai} @ Pointset_Powerset<Octagonal_Shape<int32_t> >"
-ai="${ai} @ Pointset_Powerset<Octagonal_Shape<int64_t> >"
-ai="${ai} @ Pointset_Powerset<Octagonal_Shape<mpq_class> >"
-ai="${ai} @ Pointset_Powerset<Octagonal_Shape<mpz_class> >"
-ai="${ai} @ Pointset_Powerset<C_Polyhedron>"
-ai="${ai} @ Pointset_Powerset<NNC_Polyhedron>"
-ai="${ai} @ Pointset_Powerset<Grid>"
-ai="${ai} @ Constraints_Product<C_Polyhedron, Grid>"
-ai="${ai} @ Constraints_Product<NNC_Polyhedron, Grid>"
-ai="${ai} @ Constraints_Product<Grid, C_Polyhedron>"
-ai="${ai} @ Constraints_Product<Grid, NNC_Polyhedron>"
-if test $ac_supported_float = 1
-then
-  ai="${ai} @ Float_Box @ BD_Shape<float>"
-  ai="${ai} @ Octagonal_Shape<float>"
-  ai="${ai} @ Pointset_Powerset<Float_Box>"
-  ai="${ai} @ Pointset_Powerset<BD_Shape<float> >"
-  ai="${ai} @ Pointset_Powerset<Octagonal_Shape<float> >"
-fi
-if test $ac_supported_double = 1
-then
-  ai="${ai} @ Double_Box @ BD_Shape<double>"
-  ai="${ai} @ Octagonal_Shape<double>"
-  ai="${ai} @ Pointset_Powerset<Double_Box>"
-  ai="${ai} @ Pointset_Powerset<BD_Shape<double> >"
-  ai="${ai} @ Pointset_Powerset<Octagonal_Shape<double> >"
 fi
-if test $ac_supported_long_double = 1
-then
-  ai="${ai} @ Long_Double_Box @ BD_Shape<long double>"
-  ai="${ai} @ Octagonal_Shape<long double>"
-  ai="${ai} @ Pointset_Powerset<Long_Double_Box>"
-  ai="${ai} @ Pointset_Powerset<BD_Shape<long double> >"
-  ai="${ai} @ Pointset_Powerset<Octagonal_Shape<long double> >"
 fi
-available_instantiations=${ai}
-
-enableval=not_specified
-{ $as_echo "$as_me:$LINENO: checking which instantiations are enabled" >&5
-$as_echo_n "checking which instantiations are enabled... " >&6; }
-# Check whether --enable-instantiations was given.
-if test "${enable_instantiations+set}" = set; then
-  enableval=$enable_instantiations;
+ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+if test -n "$ac_ct_DSYMUTIL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
+$as_echo "$ac_ct_DSYMUTIL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
-case x"${enableval}" in
-xyes | x)
-  ai_one_per_line=`echo "${available_instantiations}" | sed -e 's/ *@ */\n/g' -e 's/ *\([A-Z]\)/\1/g'`
-  { { $as_echo "$as_me:$LINENO: error:
---enable-instantiations needs at least one argument chosen among none,
-all, and an @-separated list of instantiation specifiers included
-in the following list:
-${ai_one_per_line}" >&5
-$as_echo "$as_me: error:
---enable-instantiations needs at least one argument chosen among none,
-all, and an @-separated list of instantiation specifiers included
-in the following list:
-${ai_one_per_line}" >&2;}
-   { (exit 1); exit 1; }; }
-  ;;
-xno | xnone)
-  enableval=
-  { $as_echo "$as_me:$LINENO: result: none" >&5
-$as_echo "none" >&6; }
-  ;;
-*)
-  if test x"${enableval}" = xnot_specified
-  then
-    enableval=${default_instantiations}
-  elif test x"${enableval}" = xall
-  then
-    enableval=${available_instantiations}
-  fi
-  # Avoid extra blanks.
-  required_instantiations=`echo "${enableval}" | sed -e 's/[	 ][	 ]*/ /g' -e 's/[ ]*\([@<>,]\)[ ]*/\1/g' -e 's/>>/> >/g' -e 's/^[ ]//g' -e 's/[ ]$//g'`
-  # Check the specified instantiations for validity.
-  ac_save_CPPFLAGS="$CPPFLAGS"
-  CPPFLAGS="$CPPFLAGS -I${srcdir}"
-  old_IFS="${IFS}"
-  IFS=@
-  set -- ${required_instantiations}
-  IFS="${old_IFS}"
-  for instantiation
-  do
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#include "instchk.hh"
-
-using namespace Parma_Polyhedra_Library;
-
-bool valid = ${instantiation}::valid_instantiation();
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+  if test "x$ac_ct_DSYMUTIL" = x; then
+    DSYMUTIL=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  valid_instantiation=yes
+    DSYMUTIL=$ac_ct_DSYMUTIL
+  fi
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	valid_instantiation=no
+  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    if test x${valid_instantiation} != xyes
-    then
-      { { $as_echo "$as_me:$LINENO: error: invalid instantiation ${instantiation}" >&5
-$as_echo "$as_me: error: invalid instantiation ${instantiation}" >&2;}
-   { (exit 1); exit 1; }; }
-    fi
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
+set dummy ${ac_tool_prefix}nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_NMEDIT+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$NMEDIT"; then
+  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
   done
-  CPPFLAGS="$ac_save_CPPFLAGS"
-  required_instantiations_canonical_names=`echo "${required_instantiations}" | sed -e 's/> //g' -e 's/>//g' -e 's/[< ,]/_/g'`
-
-  required_instantiations_c_source_names=`echo "${required_instantiations_canonical_names}" | sed -e 's/@Pointset_Powerset_Polyhedron/@Pointset_Powerset_C_Polyhedron at Pointset_Powerset_NNC_Polyhedron/g' -e 's/^Pointset_Powerset_Polyhedron/Pointset_Powerset_C_Polyhedron at Pointset_Powerset_NNC_Polyhedron/g'`
-  required_instantiations_c_cxx_objects=`echo "${required_instantiations_c_source_names}" | sed -e 's/@/.lo /g' -e 's/$/.lo/g' | sed -e 's/\([^. ]*\)\.lo/ppl_c_\1.lo/g'`
-  required_instantiations_c_cxx_sources=`echo "${required_instantiations_c_cxx_objects}" | sed -e 's/\([^. ]*\)\.lo/\1.cc/g'`
-  required_instantiations_c_cxx_headers=`echo "${required_instantiations_c_cxx_sources}" | sed -e 's/\.cc/.hh/g'`
-
-  required_instantiations_prolog_source_names=`echo "${required_instantiations_canonical_names}" | sed -e 's/@Pointset_Powerset_Polyhedron/@Pointset_Powerset_C_Polyhedron at Pointset_Powerset_NNC_Polyhedron/g' -e 's/^Pointset_Powerset_Polyhedron/Pointset_Powerset_C_Polyhedron at Pointset_Powerset_NNC_Polyhedron/g'`
-  required_instantiations_prolog_cxx_objects=`echo "${required_instantiations_prolog_source_names}" | sed -e 's/@/.lo /g' -e 's/$/.lo/g' | sed -e 's/\([^. ]*\)\.lo/ppl_prolog_\1.lo/g'`
-  required_instantiations_prolog_cxx_sources=`echo "${required_instantiations_prolog_cxx_objects}" | sed -e 's/\([^. ]*\)\.lo/\1.cc/g'`
-  required_instantiations_prolog_cxx_headers=`echo "${required_instantiations_prolog_cxx_sources}" | sed -e 's/\.cc/.hh/g'`
-  required_instantiations_prolog_generated_test_sources=`echo "${required_instantiations_prolog_source_names}" | sed -e 's/@/.pl /g' -e 's/$/.pl/g' | sed -e 's/\([^. ]*\)\.pl/ppl_prolog_generated_test_\1.pl/g'`
-
-  required_instantiations_java_source_names=`echo "${required_instantiations_canonical_names}" | sed -e 's/^Polyhedron/Polyhedron at C_Polyhedron@NNC_Polyhedron/g' -e 's/@Polyhedron/@Polyhedron at C_Polyhedron@NNC_Polyhedron/g' -e 's/@Pointset_Powerset_Polyhedron/@Pointset_Powerset_C_Polyhedron at Pointset_Powerset_NNC_Polyhedron/g' -e 's/^Pointset_Powerset_Polyhedron/Pointset_Powerset_C_Polyhedron at Pointset_Powerset_NNC_Polyhedron/g' | sed -e 's/Pointset_Powerset_[a-zA-Z0-9_]*/&@&_Iterator/g'`
-  required_instantiations_java_sources=`echo "${required_instantiations_java_source_names}" | sed -e 's/@/.java /g' -e 's/$/.java/g'`
-  required_instantiations_java_classes=`echo "${required_instantiations_java_sources}" | sed -e 's/\.java/.class/g'`
-  required_instantiations_java_cxx_headers=`echo "${required_instantiations_java_sources}" | sed -e 's/\([^. ]*\)\.java/parma_polyhedra_library.\1/g'`
-  required_instantiations_java_cxx_headers_sources=`echo "${required_instantiations_java_sources}" | sed -e 's/\([^. ]*\)\.java/parma_polyhedra_library_\1.h/g'`
-  required_instantiations_java_cxx_objects=`echo "${required_instantiations_canonical_names}" | sed -e 's/@/.lo /g' -e 's/$/.lo/g' | sed -e 's/\([^. ]*\)\.lo/ppl_java_\1.lo/g'`
-  required_instantiations_java_cxx_sources=`echo "${required_instantiations_java_cxx_objects}" | sed -e 's/\([^. ]*\)\.lo/\1.cc/g'`
+IFS=$as_save_IFS
 
-  required_instantiations_ocaml_source_names=`echo "${required_instantiations_canonical_names}" | sed -e 's/@Pointset_Powerset_Polyhedron/@Pointset_Powerset_C_Polyhedron at Pointset_Powerset_NNC_Polyhedron/g' -e 's/^Pointset_Powerset_Polyhedron/Pointset_Powerset_C_Polyhedron at Pointset_Powerset_NNC_Polyhedron/g'`
-  required_instantiations_ocaml_cxx_objects=`echo "${required_instantiations_ocaml_source_names}" | sed -e 's/@/.o /g' -e 's/$/.o/g' | sed -e 's/\([^. ]*\)\.o/ppl_ocaml_\1.o/g'`
-  required_instantiations_ocaml_cxx_sources=`echo "${required_instantiations_ocaml_cxx_objects}" | sed -e 's/\([^. ]*\)\.o/\1.cc/g'`
-  required_instantiations_ocaml_cxx_headers=`echo "${required_instantiations_ocaml_cxx_sources}" | sed -e 's/\.cc/.hh/g'`
+fi
+fi
+NMEDIT=$ac_cv_prog_NMEDIT
+if test -n "$NMEDIT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
+$as_echo "$NMEDIT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
-  { $as_echo "$as_me:$LINENO: result: ${required_instantiations}" >&5
-$as_echo "${required_instantiations}" >&6; }
-  ;;
-esac
 
-enableval=no
-{ $as_echo "$as_me:$LINENO: checking whether tests should be run under Valgrind" >&5
-$as_echo_n "checking whether tests should be run under Valgrind... " >&6; }
-# Check whether --enable-valgrind-tests was given.
-if test "${enable_valgrind_tests+set}" = set; then
-  enableval=$enable_valgrind_tests;
 fi
-
-case "${enableval}" in
-yes)
-  # Extract the first word of "valgrind", so it can be a program name with args.
-set dummy valgrind; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+if test -z "$ac_cv_prog_NMEDIT"; then
+  ac_ct_NMEDIT=$NMEDIT
+  # Extract the first word of "nmedit", so it can be a program name with args.
+set dummy nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_VALGRIND+set}" = set; then
+if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$VALGRIND"; then
-  ac_cv_prog_VALGRIND="$VALGRIND" # Let the user override the test.
+  if test -n "$ac_ct_NMEDIT"; then
+  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_VALGRIND="valgrind"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    ac_cv_prog_ac_ct_NMEDIT="nmedit"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
-VALGRIND=$ac_cv_prog_VALGRIND
-if test -n "$VALGRIND"; then
-  { $as_echo "$as_me:$LINENO: result: $VALGRIND" >&5
-$as_echo "$VALGRIND" >&6; }
+ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
+if test -n "$ac_ct_NMEDIT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
+$as_echo "$ac_ct_NMEDIT" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
-
-  if test x"$VALGRIND" = xvalgrind
-  then
-    { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-    enable_valgrind_tests=yes
+  if test "x$ac_ct_NMEDIT" = x; then
+    NMEDIT=":"
   else
-    { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-valgrind-tests, cannot find Valgrind" >&5
-$as_echo "$as_me: error: bad value ${enableval} for --enable-valgrind-tests, cannot find Valgrind" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
-  ;;
-no)
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-  enable_valgrind_tests=no
-  ;;
-*)
-  { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-valgrind-tests, needs yes or no" >&5
-$as_echo "$as_me: error: bad value ${enableval} for --enable-valgrind-tests, needs yes or no" >&2;}
-   { (exit 1); exit 1; }; }
-  ;;
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
 esac
- if test x"$enable_valgrind_tests" = xyes; then
-  VALGRIND_TESTS_ENABLED_TRUE=
-  VALGRIND_TESTS_ENABLED_FALSE='#'
+    NMEDIT=$ac_ct_NMEDIT
+  fi
 else
-  VALGRIND_TESTS_ENABLED_TRUE='#'
-  VALGRIND_TESTS_ENABLED_FALSE=
+  NMEDIT="$ac_cv_prog_NMEDIT"
 fi
 
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
+set dummy ${ac_tool_prefix}lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_LIPO+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$LIPO"; then
+  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-enableval=quick
-{ $as_echo "$as_me:$LINENO: checking whether \`make check' does a thorough or quick check" >&5
-$as_echo_n "checking whether \`make check' does a thorough or quick check... " >&6; }
-# Check whether --enable-check was given.
-if test "${enable_check+set}" = set; then
-  enableval=$enable_check;
 fi
-
-case "${enableval}" in
-thorough)
-  { $as_echo "$as_me:$LINENO: result: thorough" >&5
-$as_echo "thorough" >&6; }
-  ;;
-quick)
-  { $as_echo "$as_me:$LINENO: result: quick" >&5
-$as_echo "quick" >&6; }
-  ;;
-*)
-  { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-check, needs thorough or quick" >&5
-$as_echo "$as_me: error: bad value ${enableval} for --enable-check, needs thorough or quick" >&2;}
-   { (exit 1); exit 1; }; }
-  ;;
-esac
- if test x"$enableval" = xthorough; then
-  THOROUGH_MAKE_CHECK_TRUE=
-  THOROUGH_MAKE_CHECK_FALSE='#'
+fi
+LIPO=$ac_cv_prog_LIPO
+if test -n "$LIPO"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
+$as_echo "$LIPO" >&6; }
 else
-  THOROUGH_MAKE_CHECK_TRUE='#'
-  THOROUGH_MAKE_CHECK_FALSE=
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
-# Libtool.
-case `pwd` in
-  *\ * | *\	*)
-    { $as_echo "$as_me:$LINENO: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.2.6'
-macro_revision='1.3012'
-
-
-
-
-
-
-
-
+fi
+if test -z "$ac_cv_prog_LIPO"; then
+  ac_ct_LIPO=$LIPO
+  # Extract the first word of "lipo", so it can be a program name with args.
+set dummy lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_LIPO"; then
+  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_LIPO="lipo"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
+fi
+fi
+ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
+if test -n "$ac_ct_LIPO"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
+$as_echo "$ac_ct_LIPO" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
+  if test "x$ac_ct_LIPO" = x; then
+    LIPO=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    LIPO=$ac_ct_LIPO
+  fi
+else
+  LIPO="$ac_cv_prog_LIPO"
+fi
 
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OTOOL+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OTOOL"; then
+  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
+fi
+fi
+OTOOL=$ac_cv_prog_OTOOL
+if test -n "$OTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
+$as_echo "$OTOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
-ltmain="$ac_aux_dir/ltmain.sh"
 
-{ $as_echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then
+fi
+if test -z "$ac_cv_prog_OTOOL"; then
+  ac_ct_OTOOL=$OTOOL
+  # Extract the first word of "otool", so it can be a program name with args.
+set dummy otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-     for ac_i in 1 2 3 4 5 6 7; do
-       ac_script="$ac_script$as_nl$ac_script"
-     done
-     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
-     $as_unset ac_script || ac_script=
-     if test -z "$SED"; then
-  ac_path_SED_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+  if test -n "$ac_ct_OTOOL"; then
+  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
-  # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
-  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo '' >> "conftest.nl"
-    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    ac_count=`expr $ac_count + 1`
-    if test $ac_count -gt ${ac_path_SED_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_SED="$ac_path_SED"
-      ac_path_SED_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_SED_found && break 3
-    done
-  done
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_OTOOL="otool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
 done
+  done
 IFS=$as_save_IFS
-  if test -z "$ac_cv_path_SED"; then
-    { { $as_echo "$as_me:$LINENO: error: no acceptable sed could be found in \$PATH" >&5
-$as_echo "$as_me: error: no acceptable sed could be found in \$PATH" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
+
+fi
+fi
+ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
+if test -n "$ac_ct_OTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
+$as_echo "$ac_ct_OTOOL" >&6; }
 else
-  ac_cv_path_SED=$SED
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
+  if test "x$ac_ct_OTOOL" = x; then
+    OTOOL=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OTOOL=$ac_ct_OTOOL
+  fi
+else
+  OTOOL="$ac_cv_prog_OTOOL"
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
-  rm -f conftest.sed
 
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OTOOL64+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OTOOL64"; then
+  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
+fi
+fi
+OTOOL64=$ac_cv_prog_OTOOL64
+if test -n "$OTOOL64"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
+$as_echo "$OTOOL64" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
 
+fi
+if test -z "$ac_cv_prog_OTOOL64"; then
+  ac_ct_OTOOL64=$OTOOL64
+  # Extract the first word of "otool64", so it can be a program name with args.
+set dummy otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OTOOL64"; then
+  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_OTOOL64="otool64"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
+fi
+fi
+ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
+if test -n "$ac_ct_OTOOL64"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
+$as_echo "$ac_ct_OTOOL64" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
+  if test "x$ac_ct_OTOOL64" = x; then
+    OTOOL64=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OTOOL64=$ac_ct_OTOOL64
+  fi
+else
+  OTOOL64="$ac_cv_prog_OTOOL64"
+fi
 
 
 
 
 
 
-test -z "$GREP" && GREP=grep
 
 
 
@@ -20722,504 +17056,293 @@ test -z "$GREP" && GREP=grep
 
 
 
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
-  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
 
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
-      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
-	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
+$as_echo_n "checking for -single_module linker flag... " >&6; }
+if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
+  lt_cv_apple_cc_single_mod=no
+      if test -z "${LT_MULTI_MODULE}"; then
+	# By default we will add the -single_module flag. You can override
+	# by either setting the environment variable LT_MULTI_MODULE
+	# non-empty at configure time, or by adding -multi_module to the
+	# link flags.
+	rm -rf libconftest.dylib*
+	echo "int foo(void){return 1;}" > conftest.c
+	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&5
+	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+        _lt_result=$?
+	if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+	  lt_cv_apple_cc_single_mod=yes
+	else
+	  cat conftest.err >&5
+	fi
+	rm -rf libconftest.dylib*
+	rm -f conftest.*
+      fi
 fi
-if test "${lt_cv_path_LD+set}" = set; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
+$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
+$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
+if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-	test "$with_gnu_ld" != no && break
-	;;
-      *)
-	test "$with_gnu_ld" != yes && break
-	;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
+  lt_cv_ld_exported_symbols_list=no
+      save_LDFLAGS=$LDFLAGS
+      echo "_main" > conftest.sym
+      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  lt_cv_ld_exported_symbols_list=yes
 else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
+  lt_cv_ld_exported_symbols_list=no
 fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+	LDFLAGS="$save_LDFLAGS"
 
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  { $as_echo "$as_me:$LINENO: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
 fi
-test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
-   { (exit 1); exit 1; }; }
-{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
+$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
+$as_echo_n "checking for -force_load linker flag... " >&6; }
+if test "${lt_cv_ld_force_load+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac
+  lt_cv_ld_force_load=no
+      cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
+      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
+      echo "$AR cru libconftest.a conftest.o" >&5
+      $AR cru libconftest.a conftest.o 2>&5
+      echo "$RANLIB libconftest.a" >&5
+      $RANLIB libconftest.a 2>&5
+      cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
+      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+      _lt_result=$?
+      if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
+	lt_cv_ld_force_load=yes
+      else
+	cat conftest.err >&5
+      fi
+        rm -f conftest.err libconftest.a conftest conftest.c
+        rm -rf conftest.dSYM
+
 fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
+$as_echo "$lt_cv_ld_force_load" >&6; }
+    case $host_os in
+    rhapsody* | darwin1.[012])
+      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+    darwin1.*)
+      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+    darwin*) # darwin 5.x on
+      # if running on 10.5 or later, the deployment target defaults
+      # to the OS version, if on x86, and 10.4, the deployment
+      # target defaults to 10.4. Don't you love it?
+      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+	10.0,*86*-darwin8*|10.0,*-darwin[91]*)
+	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+	10.[012]*)
+	  _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+	10.*)
+	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+      esac
+    ;;
+  esac
+    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+      _lt_dar_single_mod='$single_module'
+    fi
+    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+    else
+      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+    fi
+    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
+      _lt_dsymutil='~$DSYMUTIL $lib || :'
+    else
+      _lt_dsymutil=
+    fi
+    ;;
+  esac
 
+for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
 
+fi
 
+done
 
 
 
 
 
+# Set options
+enable_dlopen=yes
 
-{ $as_echo "$as_me:$LINENO: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if test "${lt_cv_path_NM+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM="$NM"
-else
-  lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+
+
+
+  enable_win32_dll=no
+
+
+            # Check whether --enable-shared was given.
+if test "${enable_shared+set}" = set; then :
+  enableval=$enable_shared; p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_shared=yes ;;
+    no) enable_shared=no ;;
+    *)
+      enable_shared=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_shared=yes
+	fi
+      done
       IFS="$lt_save_ifs"
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-	# Check to see if the nm accepts a BSD-compat flag.
-	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
-	#   nm: unknown option "B" ignored
-	# Tru64's nm complains that /dev/null is an invalid object file
-	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-	*/dev/null* | *'Invalid file or object type'*)
-	  lt_cv_path_NM="$tmp_nm -B"
-	  break
-	  ;;
-	*)
-	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-	  */dev/null*)
-	    lt_cv_path_NM="$tmp_nm -p"
-	    break
-	    ;;
-	  *)
-	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-	    continue # so that we can try to find one that supports BSD flags
-	    ;;
-	  esac
-	  ;;
-	esac
-      fi
-    done
-    IFS="$lt_save_ifs"
-  done
-  : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
-  NM="$lt_cv_path_NM"
-else
-  # Didn't find any BSD compatible name lister, look for dumpbin.
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in "dumpbin -symbols" "link -dump -symbols"
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DUMPBIN+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DUMPBIN"; then
-  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
-  { $as_echo "$as_me:$LINENO: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
+      ;;
+    esac
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+  enable_shared=yes
 fi
 
 
-    test -n "$DUMPBIN" && break
-  done
-fi
-if test -z "$DUMPBIN"; then
-  ac_ct_DUMPBIN=$DUMPBIN
-  for ac_prog in "dumpbin -symbols" "link -dump -symbols"
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DUMPBIN"; then
-  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
 
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
 
-  test -n "$ac_ct_DUMPBIN" && break
-done
 
-  if test "x$ac_ct_DUMPBIN" = x; then
-    DUMPBIN=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DUMPBIN=$ac_ct_DUMPBIN
-  fi
-fi
 
 
-  if test "$DUMPBIN" != ":"; then
-    NM="$DUMPBIN"
-  fi
+
+  # Check whether --enable-static was given.
+if test "${enable_static+set}" = set; then :
+  enableval=$enable_static; p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_static=yes ;;
+    no) enable_static=no ;;
+    *)
+     enable_static=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_static=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
+else
+  enable_static=yes
 fi
-test -z "$NM" && NM=nm
 
 
 
 
 
 
-{ $as_echo "$as_me:$LINENO: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if test "${lt_cv_nm_interface+set}" = set; then
-  $as_echo_n "(cached) " >&6
+
+
+
+
+# Check whether --with-pic was given.
+if test "${with_pic+set}" = set; then :
+  withval=$with_pic; pic_mode="$withval"
 else
-  lt_cv_nm_interface="BSD nm"
-  echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:21012: $ac_compile\"" >&5)
-  (eval "$ac_compile" 2>conftest.err)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:21015: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
-  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:21018: output\"" >&5)
-  cat conftest.out >&5
-  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
-    lt_cv_nm_interface="MS dumpbin"
-  fi
-  rm -f conftest*
+  pic_mode=default
 fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
 
-{ $as_echo "$as_me:$LINENO: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
+
+test -z "$pic_mode" && pic_mode=default
+
+
+
+
+
+
+
+  # Check whether --enable-fast-install was given.
+if test "${enable_fast_install+set}" = set; then :
+  enableval=$enable_fast_install; p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_fast_install=yes ;;
+    no) enable_fast_install=no ;;
+    *)
+      enable_fast_install=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_fast_install=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
 else
-  { $as_echo "$as_me:$LINENO: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
+  enable_fast_install=yes
 fi
 
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-    i=0
-  teststring="ABCD"
 
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
 
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
 
-  cygwin* | mingw* | cegcc*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
 
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
 
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
 
-  interix*)
-    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-    lt_cv_sys_max_cmd_len=196608
-    ;;
 
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[	 ]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
-    ;;
-  *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      # Make teststring a little bigger before we do anything with it.
-      # a 1K string should be a reasonable start.
-      for i in 1 2 3 4 5 6 7 8 ; do
-        teststring=$teststring$teststring
-      done
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      # If test is not a shell built-in, we'll probably end up computing a
-      # maximum length that is only half of the actual maximum length, but
-      # we can't tell.
-      while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
-	         = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
-	      test $i != 17 # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      # Only check the string length outside the loop.
-      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on
-      # massive amounts of additional arguments before passing them to the
-      # linker.  It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
-    ;;
-  esac
 
-fi
 
-if test -n $lt_cv_sys_max_cmd_len ; then
-  { $as_echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
 
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
 
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
 
 
 
 
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
 
-{ $as_echo "$as_me:$LINENO: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
-  test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
-      = c,a/b,, \
-    && eval 'test $(( 1 + 1 )) -eq 2 \
-    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
-  && xsi_shell=yes
-{ $as_echo "$as_me:$LINENO: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
 
 
-{ $as_echo "$as_me:$LINENO: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
-    >/dev/null 2>&1 \
-  && lt_shell_append=yes
-{ $as_echo "$as_me:$LINENO: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
 
 
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  lt_unset=unset
-else
-  lt_unset=false
-fi
 
 
 
 
 
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
-    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
-  lt_SP2NL='tr \040 \012'
-  lt_NL2SP='tr \015\012 \040\040'
-  ;;
- *) # EBCDIC based system
-  lt_SP2NL='tr \100 \n'
-  lt_NL2SP='tr \r\n \100\100'
-  ;;
-esac
 
 
 
@@ -21229,30 +17352,10 @@ esac
 
 
 
-{ $as_echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
+
+
+
+test -z "$LN_S" && LN_S="ln -s"
 
 
 
@@ -21262,910 +17365,883 @@ esac
 
 
 
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OBJDUMP"; then
-  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
 
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
-  { $as_echo "$as_me:$LINENO: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
 
+
+
+if test -n "${ZSH_VERSION+set}" ; then
+   setopt NO_GLOB_SUBST
 fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
-  ac_ct_OBJDUMP=$OBJDUMP
-  # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
+$as_echo_n "checking for objdir... " >&6; }
+if test "${lt_cv_objdir+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$ac_ct_OBJDUMP"; then
-  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OBJDUMP="objdump"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
+  rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+  lt_cv_objdir=.libs
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+  # MS-DOS does not allow filenames that begin with a dot.
+  lt_cv_objdir=_libs
 fi
-
-  if test "x$ac_ct_OBJDUMP" = x; then
-    OBJDUMP="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OBJDUMP=$ac_ct_OBJDUMP
-  fi
-else
-  OBJDUMP="$ac_cv_prog_OBJDUMP"
+rmdir .libs 2>/dev/null
 fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
+$as_echo "$lt_cv_objdir" >&6; }
+objdir=$lt_cv_objdir
 
 
 
 
 
+cat >>confdefs.h <<_ACEOF
+#define LT_OBJDIR "$lt_cv_objdir/"
+_ACEOF
 
 
 
-{ $as_echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
 
 case $host_os in
-aix[4-9]*)
-  lt_cv_deplibs_check_method=pass_all
+aix3*)
+  # AIX sometimes has problems with the GCC collect2 program.  For some
+  # reason, if we set the COLLECT_NAMES environment variable, the problems
+  # vanish in a puff of smoke.
+  if test "X${COLLECT_NAMES+set}" != Xset; then
+    COLLECT_NAMES=
+    export COLLECT_NAMES
+  fi
   ;;
+esac
 
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
+# Global variables:
+ofile=libtool
+can_build_shared=yes
 
-bsdi[45]*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
 
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
+with_gnu_ld="$lt_cv_prog_gnu_ld"
 
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  if ( file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
-  ;;
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
 
-cegcc)
-  # use the weaker test based on 'objdump'. See mingw*.
-  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
-  ;;
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
 
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
+for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
 
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
 
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
+$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $MAGIC_CMD in
+[\\/*] |  ?:[\\/]*)
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
   ;;
+*)
+  lt_save_MAGIC_CMD="$MAGIC_CMD"
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+  for ac_dir in $ac_dummy; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/${ac_tool_prefix}file; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
+      if test -n "$file_magic_test_file"; then
+	case $deplibs_check_method in
+	"file_magic "*)
+	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    $EGREP "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<_LT_EOF 1>&2
 
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool at gnu.org
 
-interix[3-9]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
+_LT_EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+  MAGIC_CMD="$lt_save_MAGIC_CMD"
   ;;
+esac
+fi
 
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-netbsd*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
-  fi
-  ;;
 
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
 
-*nto* | *qnx*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  fi
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+  if test -n "$ac_tool_prefix"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
+$as_echo_n "checking for file... " >&6; }
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $MAGIC_CMD in
+[\\/*] |  ?:[\\/]*)
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
   ;;
+*)
+  lt_save_MAGIC_CMD="$MAGIC_CMD"
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+  for ac_dir in $ac_dummy; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/file; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/file"
+      if test -n "$file_magic_test_file"; then
+	case $deplibs_check_method in
+	"file_magic "*)
+	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    $EGREP "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<_LT_EOF 1>&2
 
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool at gnu.org
 
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
+_LT_EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+  MAGIC_CMD="$lt_save_MAGIC_CMD"
   ;;
+esac
+fi
 
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-sysv4 | sysv4.3*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  pc)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
+  else
+    MAGIC_CMD=:
+  fi
+fi
 
-tpf*)
-  lt_cv_deplibs_check_method=pass_all
+  fi
   ;;
 esac
 
-fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
+# Use C for the default configuration in the libtool script
 
+lt_save_CC="$CC"
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
+# Source file extension for C test sources.
+ac_ext=c
 
+# Object file extension for compiled C test sources.
+objext=o
+objext=$objext
 
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
 
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AR"; then
-  ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AR="${ac_tool_prefix}ar"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
 
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
-  { $as_echo "$as_me:$LINENO: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
 
-fi
-if test -z "$ac_cv_prog_AR"; then
-  ac_ct_AR=$AR
-  # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_AR"; then
-  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_AR="ar"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
 
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
-  if test "x$ac_ct_AR" = x; then
-    AR="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    AR=$ac_ct_AR
-  fi
-else
-  AR="$ac_cv_prog_AR"
-fi
 
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
 
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
 
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
 
+# Allow CC to be a program name with arguments.
+compiler=$CC
 
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
 
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
 
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
 
 
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
 
+lt_prog_compiler_no_builtin_flag=
 
+if test "$GCC" = yes; then
+  case $cc_basename in
+  nvcc*)
+    lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
+  *)
+    lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
+  esac
 
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
+if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
+  lt_cv_prog_compiler_rtti_exceptions=no
+   ac_outfile=conftest.$ac_objext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="-fno-rtti -fno-exceptions"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_rtti_exceptions=yes
+     fi
+   fi
+   $RM conftest*
 
 fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
 
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
+if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
+    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+    :
 fi
 
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
 fi
 
-test -z "$STRIP" && STRIP=:
-
 
 
 
 
 
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
+  lt_prog_compiler_wl=
+lt_prog_compiler_pic=
+lt_prog_compiler_static=
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
 
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
+  if test "$GCC" = yes; then
+    lt_prog_compiler_wl='-Wl,'
+    lt_prog_compiler_static='-static'
 
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
+    case $host_os in
+      aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static='-Bstatic'
+      fi
+      ;;
 
-test -z "$RANLIB" && RANLIB=:
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            lt_prog_compiler_pic='-fPIC'
+        ;;
+      m68k)
+            # FIXME: we need at least 68020 code to build shared libraries, but
+            # adding the `-m68020' flag to GCC prevents building anything better,
+            # like `-m68040'.
+            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
+      ;;
 
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
 
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
+      lt_prog_compiler_pic='-DDLL_EXPORT'
+      ;;
 
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      lt_prog_compiler_pic='-fno-common'
+      ;;
 
+    haiku*)
+      # PIC is the default for Haiku.
+      # The "-static" flag exists, but is broken.
+      lt_prog_compiler_static=
+      ;;
 
+    hpux*)
+      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
+      # sets the default TLS model and affects inlining.
+      case $host_cpu in
+      hppa*64*)
+	# +Z the default
+	;;
+      *)
+	lt_prog_compiler_pic='-fPIC'
+	;;
+      esac
+      ;;
 
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
+    interix[3-9]*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
 
-if test -n "$RANLIB"; then
-  case $host_os in
-  openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
+    msdosdjgpp*)
+      # Just because we use GCC doesn't mean we suddenly get shared libraries
+      # on systems that don't support them.
+      lt_prog_compiler_can_build_shared=no
+      enable_shared=no
+      ;;
 
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      lt_prog_compiler_pic='-fPIC -shared'
+      ;;
 
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	lt_prog_compiler_pic=-Kconform_pic
+      fi
+      ;;
 
+    *)
+      lt_prog_compiler_pic='-fPIC'
+      ;;
+    esac
 
+    case $cc_basename in
+    nvcc*) # Cuda Compiler Driver 2.2
+      lt_prog_compiler_wl='-Xlinker '
+      lt_prog_compiler_pic='-Xcompiler -fPIC'
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      lt_prog_compiler_wl='-Wl,'
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static='-Bstatic'
+      else
+	lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
+      fi
+      ;;
 
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      lt_prog_compiler_pic='-DDLL_EXPORT'
+      ;;
 
+    hpux9* | hpux10* | hpux11*)
+      lt_prog_compiler_wl='-Wl,'
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	lt_prog_compiler_pic='+Z'
+	;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      lt_prog_compiler_static='${wl}-a ${wl}archive'
+      ;;
 
+    irix5* | irix6* | nonstopux*)
+      lt_prog_compiler_wl='-Wl,'
+      # PIC (with -KPIC) is the default.
+      lt_prog_compiler_static='-non_shared'
+      ;;
 
+    linux* | k*bsd*-gnu | kopensolaris*-gnu)
+      case $cc_basename in
+      # old Intel for x86_64 which still supported -KPIC.
+      ecc*)
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='-KPIC'
+	lt_prog_compiler_static='-static'
+        ;;
+      # icc used to be incompatible with GCC.
+      # ICC 10 doesn't accept -KPIC any more.
+      icc* | ifort*)
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='-fPIC'
+	lt_prog_compiler_static='-static'
+        ;;
+      # Lahey Fortran 8.1.
+      lf95*)
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='--shared'
+	lt_prog_compiler_static='--static'
+	;;
+      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+	# which looks to be a dead project)
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='-fpic'
+	lt_prog_compiler_static='-Bstatic'
+        ;;
+      ccc*)
+        lt_prog_compiler_wl='-Wl,'
+        # All Alpha code is PIC.
+        lt_prog_compiler_static='-non_shared'
+        ;;
+      xl* | bgxl* | bgf* | mpixl*)
+	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='-qpic'
+	lt_prog_compiler_static='-qstaticlink'
+	;;
+      *)
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ F* | *Sun*Fortran*)
+	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
+	  lt_prog_compiler_pic='-KPIC'
+	  lt_prog_compiler_static='-Bstatic'
+	  lt_prog_compiler_wl=''
+	  ;;
+	*Sun\ C*)
+	  # Sun C 5.9
+	  lt_prog_compiler_pic='-KPIC'
+	  lt_prog_compiler_static='-Bstatic'
+	  lt_prog_compiler_wl='-Wl,'
+	  ;;
+	esac
+	;;
+      esac
+      ;;
 
+    newsos6)
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
 
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      lt_prog_compiler_pic='-fPIC -shared'
+      ;;
 
+    osf3* | osf4* | osf5*)
+      lt_prog_compiler_wl='-Wl,'
+      # All OSF/1 code is PIC.
+      lt_prog_compiler_static='-non_shared'
+      ;;
 
+    rdos*)
+      lt_prog_compiler_static='-non_shared'
+      ;;
 
+    solaris*)
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+	lt_prog_compiler_wl='-Qoption ld ';;
+      *)
+	lt_prog_compiler_wl='-Wl,';;
+      esac
+      ;;
 
+    sunos4*)
+      lt_prog_compiler_wl='-Qoption ld '
+      lt_prog_compiler_pic='-PIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
 
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
 
+    sysv4*MP*)
+      if test -d /usr/nec ;then
+	lt_prog_compiler_pic='-Kconform_pic'
+	lt_prog_compiler_static='-Bstatic'
+      fi
+      ;;
 
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
 
+    unicos*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_can_build_shared=no
+      ;;
 
+    uts4*)
+      lt_prog_compiler_pic='-pic'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
 
+    *)
+      lt_prog_compiler_can_build_shared=no
+      ;;
+    esac
+  fi
 
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    lt_prog_compiler_pic=
+    ;;
+  *)
+    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+    ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5
+$as_echo "$lt_prog_compiler_pic" >&6; }
 
 
 
 
 
 
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
+if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_pic_works=no
+   ac_outfile=conftest.$ac_objext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_pic_works=yes
+     fi
+   fi
+   $RM conftest*
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
 
+if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
+    case $lt_prog_compiler_pic in
+     "" | " "*) ;;
+     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
+     esac
+else
+    lt_prog_compiler_pic=
+     lt_prog_compiler_can_build_shared=no
+fi
 
+fi
 
 
 
 
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
 
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
 
-# Allow CC to be a program name with arguments.
-compiler=$CC
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_static_works=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_cv_prog_compiler_static_works=yes
+       fi
+     else
+       lt_cv_prog_compiler_static_works=yes
+     fi
+   fi
+   $RM -r conftest*
+   LDFLAGS="$save_LDFLAGS"
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
+$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
 
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
-  $as_echo_n "(cached) " >&6
+if test x"$lt_cv_prog_compiler_static_works" = xyes; then
+    :
 else
+    lt_prog_compiler_static=
+fi
 
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
 
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
 
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
 
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[BCDT]'
-  ;;
-cygwin* | mingw* | pw32* | cegcc*)
-  symcode='[ABCDGISTW]'
-  ;;
-hpux*)
-  if test "$host_cpu" = ia64; then
-    symcode='[ABCDEGRST]'
-  fi
-  ;;
-irix* | nonstopux*)
-  symcode='[BCDEGRST]'
-  ;;
-osf*)
-  symcode='[BCDEGQRST]'
-  ;;
-solaris*)
-  symcode='[BDRT]'
-  ;;
-sco3.2v5*)
-  symcode='[DT]'
-  ;;
-sysv4.2uw2*)
-  symcode='[DT]'
-  ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
-  symcode='[ABDT]'
-  ;;
-sysv4)
-  symcode='[DFNSTU]'
-  ;;
-esac
 
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
-  symcode='[ABCDGIRSTW]' ;;
-esac
 
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
 
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_c_o=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
-  ;;
-esac
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
 
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
 
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
 
-  # Write the raw and C identifiers.
-  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-    # Fake it for dumpbin and say T for any non-static function
-    # and D for any global variable.
-    # Also find C++ and __fastcall symbols from MSVC++,
-    # which start with @ or ?.
-    lt_cv_sys_global_symbol_pipe="$AWK '"\
-"     {last_section=section; section=\$ 3};"\
-"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-"     \$ 0!~/External *\|/{next};"\
-"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-"     {if(hide[section]) next};"\
-"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
-"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-"     ' prfx=^$ac_symprfx"
-  else
-    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[	 ]\($symcode$symcode*\)[	 ][	 ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-  fi
 
-  # Check to see that the pipe works correctly.
-  pipe_works=no
 
-  rm -f conftest*
-  cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
 
-  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
-  (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-	mv -f "$nlist"T "$nlist"
-      else
-	rm -f "$nlist"T
-      fi
 
-      # Make sure that we snagged all the symbols we need.
-      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
-	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
-	  cat <<_LT_EOF > conftest.$ac_ext
-#ifdef __cplusplus
-extern "C" {
-#endif
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_c_o=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
-_LT_EOF
-	  # Now generate the symbol file.
-	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
 
-	  cat <<_LT_EOF >> conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
 
-/* The mapping between symbol names and symbols.  */
-const struct {
-  const char *name;
-  void       *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
-  { "@PROGRAM@", (void *) 0 },
-_LT_EOF
-	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
-	  cat <<\_LT_EOF >> conftest.$ac_ext
-  {0, (void *) 0}
-};
 
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
 
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
-	  # Now try linking the two files.
-	  mv conftest.$ac_objext conftstm.$ac_objext
-	  lt_save_LIBS="$LIBS"
-	  lt_save_CFLAGS="$CFLAGS"
-	  LIBS="conftstm.$ac_objext"
-	  CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
-	  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && test -s conftest${ac_exeext}; then
-	    pipe_works=yes
-	  fi
-	  LIBS="$lt_save_LIBS"
-	  CFLAGS="$lt_save_CFLAGS"
-	else
-	  echo "cannot find nm_test_func in $nlist" >&5
-	fi
-      else
-	echo "cannot find nm_test_var in $nlist" >&5
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "$progname: failed program was:" >&5
-    cat conftest.$ac_ext >&5
-  fi
-  rm -rf conftest* conftst*
 
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
+  hard_links=yes
+  $RM conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
+  if test "$hard_links" = no; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+    need_locks=warn
   fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  { $as_echo "$as_me:$LINENO: result: failed" >&5
-$as_echo "failed" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: ok" >&5
-$as_echo "ok" >&6; }
+  need_locks=no
 fi
 
 
@@ -22173,1671 +18249,1201 @@ fi
 
 
 
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
 
+  runpath_var=
+  allow_undefined_flag=
+  always_export_symbols=no
+  archive_cmds=
+  archive_expsym_cmds=
+  compiler_needs_object=no
+  enable_shared_with_static_runtimes=no
+  export_dynamic_flag_spec=
+  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  hardcode_automatic=no
+  hardcode_direct=no
+  hardcode_direct_absolute=no
+  hardcode_libdir_flag_spec=
+  hardcode_libdir_flag_spec_ld=
+  hardcode_libdir_separator=
+  hardcode_minus_L=no
+  hardcode_shlibpath_var=unsupported
+  inherit_rpath=no
+  link_all_deplibs=unknown
+  module_cmds=
+  module_expsym_cmds=
+  old_archive_from_new_cmds=
+  old_archive_from_expsyms_cmds=
+  thread_safe_flag_spec=
+  whole_archive_flag_spec=
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  include_expsyms=
+  # exclude_expsyms can be an extended regexp of symbols to exclude
+  # it will be wrapped by ` (' and `)$', so one must not match beginning or
+  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+  # as well as any symbol that contains `d'.
+  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+  # platforms (ab)use it in PIC code, but their linkers get confused if
+  # the symbol is explicitly referenced.  Since portable code cannot
+  # rely on this symbol name, it's probably fine to never include it in
+  # preloaded symbol tables.
+  # Exclude shared library initialization/finalization symbols.
+  extract_expsyms_cmds=
 
+  case $host_os in
+  cygwin* | mingw* | pw32* | cegcc*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test "$GCC" != yes; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd*)
+    with_gnu_ld=no
+    ;;
+  esac
 
+  ld_shlibs=yes
 
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then
-  enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-    case `/usr/bin/file conftest.$ac_objext` in
-      *ELF-32*)
-	HPUX_IA64_MODE="32"
+  # On some targets, GNU ld is compatible enough with the native linker
+  # that we're better off using the native interface for both.
+  lt_use_gnu_ld_interface=no
+  if test "$with_gnu_ld" = yes; then
+    case $host_os in
+      aix*)
+	# The AIX port of GNU ld has always aspired to compatibility
+	# with the native linker.  However, as the warning in the GNU ld
+	# block says, versions before 2.19.5* couldn't really create working
+	# shared libraries, regardless of the interface used.
+	case `$LD -v 2>&1` in
+	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+	  *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
+	  *\ \(GNU\ Binutils\)\ [3-9]*) ;;
+	  *)
+	    lt_use_gnu_ld_interface=yes
+	    ;;
+	esac
 	;;
-      *ELF-64*)
-	HPUX_IA64_MODE="64"
+      *)
+	lt_use_gnu_ld_interface=yes
 	;;
     esac
   fi
-  rm -rf conftest*
-  ;;
-*-*-irix6*)
-  # Find out which ABI we are using.
-  echo '#line 22223 "configure"' > conftest.$ac_ext
-  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-    if test "$lt_cv_prog_gnu_ld" = yes; then
-      case `/usr/bin/file conftest.$ac_objext` in
-	*32-bit*)
-	  LD="${LD-ld} -melf32bsmip"
-	  ;;
-	*N32*)
-	  LD="${LD-ld} -melf32bmipn32"
-	  ;;
-	*64-bit*)
-	  LD="${LD-ld} -melf64bmip"
-	;;
-      esac
+
+  if test "$lt_use_gnu_ld_interface" = yes; then
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    wlarc='${wl}'
+
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+    export_dynamic_flag_spec='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+      whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
     else
-      case `/usr/bin/file conftest.$ac_objext` in
-	*32-bit*)
-	  LD="${LD-ld} -32"
-	  ;;
-	*N32*)
-	  LD="${LD-ld} -n32"
-	  ;;
-	*64-bit*)
-	  LD="${LD-ld} -64"
-	  ;;
-      esac
+      whole_archive_flag_spec=
     fi
-  fi
-  rm -rf conftest*
-  ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-    case `/usr/bin/file conftest.o` in
-      *32-bit*)
-	case $host in
-	  x86_64-*kfreebsd*-gnu)
-	    LD="${LD-ld} -m elf_i386_fbsd"
-	    ;;
-	  x86_64-*linux*)
-	    LD="${LD-ld} -m elf_i386"
-	    ;;
-	  ppc64-*linux*|powerpc64-*linux*)
-	    LD="${LD-ld} -m elf32ppclinux"
-	    ;;
-	  s390x-*linux*)
-	    LD="${LD-ld} -m elf_s390"
-	    ;;
-	  sparc64-*linux*)
-	    LD="${LD-ld} -m elf32_sparc"
-	    ;;
-	esac
-	;;
-      *64-bit*)
-	case $host in
-	  x86_64-*kfreebsd*-gnu)
-	    LD="${LD-ld} -m elf_x86_64_fbsd"
-	    ;;
-	  x86_64-*linux*)
-	    LD="${LD-ld} -m elf_x86_64"
-	    ;;
-	  ppc*-*linux*|powerpc*-*linux*)
-	    LD="${LD-ld} -m elf64ppc"
-	    ;;
-	  s390*-*linux*|s390*-*tpf*)
-	    LD="${LD-ld} -m elf64_s390"
-	    ;;
-	  sparc*-*linux*)
-	    LD="${LD-ld} -m elf64_sparc"
-	    ;;
-	esac
-	;;
+    supports_anon_versioning=no
+    case `$LD -v 2>&1` in
+      *GNU\ gold*) supports_anon_versioning=yes ;;
+      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
     esac
-  fi
-  rm -rf conftest*
-  ;;
 
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -belf"
-  { $as_echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+    # See if GNU ld supports shared libraries.
+    case $host_os in
+    aix[3-9]*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test "$host_cpu" != ia64; then
+	ld_shlibs=no
+	cat <<_LT_EOF 1>&2
 
-     cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+*** Warning: the GNU linker, at least up to release 2.19, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
 
-int
-main ()
-{
+_LT_EOF
+      fi
+      ;;
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  lt_cv_cc_needs_belf=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            archive_expsym_cmds=''
+        ;;
+      m68k)
+            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            hardcode_libdir_flag_spec='-L$libdir'
+            hardcode_minus_L=yes
+        ;;
+      esac
+      ;;
 
-	lt_cv_cc_needs_belf=no
-fi
+    beos*)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	allow_undefined_flag=unsupported
+	# Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+	# support --undefined.  This deserves some investigation.  FIXME
+	archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      else
+	ld_shlibs=no
+      fi
+      ;;
 
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-     ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+    cygwin* | mingw* | pw32* | cegcc*)
+      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
+      # as there is no search path for DLLs.
+      hardcode_libdir_flag_spec='-L$libdir'
+      export_dynamic_flag_spec='${wl}--export-all-symbols'
+      allow_undefined_flag=unsupported
+      always_export_symbols=no
+      enable_shared_with_static_runtimes=yes
+      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
 
-fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
-  fi
-  ;;
-sparc*-*solaris*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
-      *)
-	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-	  LD="${LD-ld} -64"
-	fi
-	;;
-      esac
+      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	# If the export-symbols file already is a .def file (1st line
+	# is EXPORTS), use it as is; otherwise, prepend...
+	archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	  cp $export_symbols $output_objdir/$soname.def;
+	else
+	  echo EXPORTS > $output_objdir/$soname.def;
+	  cat $export_symbols >> $output_objdir/$soname.def;
+	fi~
+	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      else
+	ld_shlibs=no
+      fi
       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-esac
 
-need_locks="$enable_libtool_lock"
+    haiku*)
+      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      link_all_deplibs=yes
+      ;;
 
+    interix[3-9]*)
+      hardcode_direct=no
+      hardcode_shlibpath_var=no
+      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+      export_dynamic_flag_spec='${wl}-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
 
-  case $host_os in
-    rhapsody* | darwin*)
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DSYMUTIL"; then
-  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
+    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+      tmp_diet=no
+      if test "$host_os" = linux-dietlibc; then
+	case $cc_basename in
+	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
+	esac
+      fi
+      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+	 && test "$tmp_diet" = no
+      then
+	tmp_addflag=
+	tmp_sharedflag='-shared'
+	case $cc_basename,$host_cpu in
+        pgcc*)				# Portland Group C compiler
+	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag'
+	  ;;
+	pgf77* | pgf90* | pgf95* | pgfortran*)
+					# Portland Group f77 and f90 compilers
+	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag -Mnomain' ;;
+	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
+	  tmp_addflag=' -i_dynamic' ;;
+	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
+	  tmp_addflag=' -i_dynamic -nofor_main' ;;
+	ifc* | ifort*)			# Intel Fortran compiler
+	  tmp_addflag=' -nofor_main' ;;
+	lf95*)				# Lahey Fortran 8.1
+	  whole_archive_flag_spec=
+	  tmp_sharedflag='--shared' ;;
+	xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+	  tmp_sharedflag='-qmkshrobj'
+	  tmp_addflag= ;;
+	nvcc*)	# Cuda Compiler Driver 2.2
+	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+	  compiler_needs_object=yes
+	  ;;
+	esac
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)			# Sun C 5.9
+	  whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+	  compiler_needs_object=yes
+	  tmp_sharedflag='-G' ;;
+	*Sun\ F*)			# Sun Fortran 8.3
+	  tmp_sharedflag='-G' ;;
+	esac
+	archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
 
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
-  { $as_echo "$as_me:$LINENO: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
+        if test "x$supports_anon_versioning" = xyes; then
+          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+	    cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+	    echo "local: *; };" >> $output_objdir/$libname.ver~
+	    $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+        fi
 
+	case $cc_basename in
+	xlf* | bgf* | bgxlf* | mpixlf*)
+	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+	  whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
+	  hardcode_libdir_flag_spec=
+	  hardcode_libdir_flag_spec_ld='-rpath $libdir'
+	  archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+	  if test "x$supports_anon_versioning" = xyes; then
+	    archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+	      cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+	      echo "local: *; };" >> $output_objdir/$libname.ver~
+	      $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+	  fi
+	  ;;
+	esac
+      else
+        ld_shlibs=no
+      fi
+      ;;
 
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
-  ac_ct_DSYMUTIL=$DSYMUTIL
-  # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DSYMUTIL"; then
-  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
+    netbsd*)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+	wlarc=
+      else
+	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      fi
+      ;;
 
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
+    solaris*)
+      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+	ld_shlibs=no
+	cat <<_LT_EOF 1>&2
 
-  if test "x$ac_ct_DSYMUTIL" = x; then
-    DSYMUTIL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DSYMUTIL=$ac_ct_DSYMUTIL
-  fi
-else
-  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
 
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NMEDIT"; then
-  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
+_LT_EOF
+      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	ld_shlibs=no
+      fi
+      ;;
 
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
-  { $as_echo "$as_me:$LINENO: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+	ld_shlibs=no
+	cat <<_LT_EOF 1>&2
 
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
 
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
-  ac_ct_NMEDIT=$NMEDIT
-  # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_NMEDIT"; then
-  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_NMEDIT="nmedit"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
+_LT_EOF
+	;;
+	*)
+	  # For security reasons, it is highly recommended that you always
+	  # use absolute paths for naming shared libraries, and exclude the
+	  # DT_RUNPATH tag from executables and libraries.  But doing so
+	  # requires that you compile everything twice, which is a pain.
+	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+	    archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	    archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	  else
+	    ld_shlibs=no
+	  fi
+	;;
+      esac
+      ;;
 
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
+    sunos4*)
+      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
 
-  if test "x$ac_ct_NMEDIT" = x; then
-    NMEDIT=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    NMEDIT=$ac_ct_NMEDIT
-  fi
-else
-  NMEDIT="$ac_cv_prog_NMEDIT"
-fi
+    *)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	ld_shlibs=no
+      fi
+      ;;
+    esac
 
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$LIPO"; then
-  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
+    if test "$ld_shlibs" = no; then
+      runpath_var=
+      hardcode_libdir_flag_spec=
+      export_dynamic_flag_spec=
+      whole_archive_flag_spec=
+    fi
+  else
+    # PORTME fill in a description of your system's linker (not GNU ld)
+    case $host_os in
+    aix3*)
+      allow_undefined_flag=unsupported
+      always_export_symbols=yes
+      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      hardcode_minus_L=yes
+      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+	# Neither direct hardcoding nor static linking is supported with a
+	# broken collect2.
+	hardcode_direct=unsupported
+      fi
+      ;;
 
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
-  { $as_echo "$as_me:$LINENO: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
+    aix[4-9]*)
+      if test "$host_cpu" = ia64; then
+	# On IA64, the linker does run time linking by default, so we don't
+	# have to do anything special.
+	aix_use_runtimelinking=no
+	exp_sym_flag='-Bexport'
+	no_entry_flag=""
+      else
+	# If we're using GNU nm, then we don't want the "-C" option.
+	# -C means demangle to AIX nm, but means don't demangle with GNU nm
+	# Also, AIX nm treats weak defined symbols like other global
+	# defined symbols, whereas GNU nm marks them as "W".
+	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+	  export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+	else
+	  export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+	fi
+	aix_use_runtimelinking=no
 
+	# Test if we are trying to use run time linking or normal
+	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
+	# need to do runtime linking.
+	case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+	  for ld_flag in $LDFLAGS; do
+	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+	    aix_use_runtimelinking=yes
+	    break
+	  fi
+	  done
+	  ;;
+	esac
 
-fi
-if test -z "$ac_cv_prog_LIPO"; then
-  ac_ct_LIPO=$LIPO
-  # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_LIPO"; then
-  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_LIPO="lipo"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
+	exp_sym_flag='-bexport'
+	no_entry_flag='-bnoentry'
+      fi
 
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
+      # When large executables or shared objects are built, AIX ld can
+      # have problems creating the table of contents.  If linking a library
+      # or program results in "error TOC overflow" add -mminimal-toc to
+      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
 
-  if test "x$ac_ct_LIPO" = x; then
-    LIPO=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    LIPO=$ac_ct_LIPO
-  fi
-else
-  LIPO="$ac_cv_prog_LIPO"
-fi
+      archive_cmds=''
+      hardcode_direct=yes
+      hardcode_direct_absolute=yes
+      hardcode_libdir_separator=':'
+      link_all_deplibs=yes
+      file_list_spec='${wl}-f,'
 
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL"; then
-  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
+      if test "$GCC" = yes; then
+	case $host_os in aix4.[012]|aix4.[012].*)
+	# We only want to do this on AIX 4.2 and lower, the check
+	# below for broken collect2 doesn't work under 4.3+
+	  collect2name=`${CC} -print-prog-name=collect2`
+	  if test -f "$collect2name" &&
+	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+	  then
+	  # We have reworked collect2
+	  :
+	  else
+	  # We have old collect2
+	  hardcode_direct=unsupported
+	  # It fails to find uninstalled libraries when the uninstalled
+	  # path is not listed in the libpath.  Setting hardcode_minus_L
+	  # to unsupported forces relinking
+	  hardcode_minus_L=yes
+	  hardcode_libdir_flag_spec='-L$libdir'
+	  hardcode_libdir_separator=
+	  fi
+	  ;;
+	esac
+	shared_flag='-shared'
+	if test "$aix_use_runtimelinking" = yes; then
+	  shared_flag="$shared_flag "'${wl}-G'
+	fi
+      else
+	# not using gcc
+	if test "$host_cpu" = ia64; then
+	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+	# chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+	else
+	  if test "$aix_use_runtimelinking" = yes; then
+	    shared_flag='${wl}-G'
+	  else
+	    shared_flag='${wl}-bM:SRE'
+	  fi
+	fi
+      fi
 
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
-  { $as_echo "$as_me:$LINENO: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
+      export_dynamic_flag_spec='${wl}-bexpall'
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      always_export_symbols=yes
+      if test "$aix_use_runtimelinking" = yes; then
+	# Warning - without using the other runtime loading flags (-brtl),
+	# -berok will link without error, but may produce a broken library.
+	allow_undefined_flag='-berok'
+        # Determine the default libpath from the value encoded in an
+        # empty executable.
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
 
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+	/^0/ {
+	    s/^0  *\(.*\)$/\1/
+	    p
+	}
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
 fi
-if test -z "$ac_cv_prog_OTOOL"; then
-  ac_ct_OTOOL=$OTOOL
-  # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL"; then
-  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL="otool"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL" = x; then
-    OTOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL=$ac_ct_OTOOL
-  fi
-else
-  OTOOL="$ac_cv_prog_OTOOL"
 fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL64+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL64"; then
-  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
-  { $as_echo "$as_me:$LINENO: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
+        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+      else
+	if test "$host_cpu" = ia64; then
+	  hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+	  allow_undefined_flag="-z nodefs"
+	  archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+	else
+	 # Determine the default libpath from the value encoded in an
+	 # empty executable.
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+int
+main ()
+{
 
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
-  ac_ct_OTOOL64=$OTOOL64
-  # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL64"; then
-  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL64="otool64"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
 
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+	/^0/ {
+	    s/^0  *\(.*\)$/\1/
+	    p
+	}
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
 fi
 fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL64" = x; then
-    OTOOL64=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL64=$ac_ct_OTOOL64
-  fi
-else
-  OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
+	 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+	  # Warning - without using the other run time loading flags,
+	  # -berok will link without error, but may produce a broken library.
+	  no_undefined_flag=' ${wl}-bernotok'
+	  allow_undefined_flag=' ${wl}-berok'
+	  if test "$with_gnu_ld" = yes; then
+	    # We only use this code for GNU lds that support --whole-archive.
+	    whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	  else
+	    # Exported symbols can be pulled into shared objects from archives
+	    whole_archive_flag_spec='$convenience'
+	  fi
+	  archive_cmds_need_lc=yes
+	  # This is similar to how AIX traditionally builds its shared libraries.
+	  archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+	fi
+      fi
+      ;;
 
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            archive_expsym_cmds=''
+        ;;
+      m68k)
+            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            hardcode_libdir_flag_spec='-L$libdir'
+            hardcode_minus_L=yes
+        ;;
+      esac
+      ;;
 
+    bsdi[45]*)
+      export_dynamic_flag_spec=-rdynamic
+      ;;
 
+    cygwin* | mingw* | pw32* | cegcc*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      hardcode_libdir_flag_spec=' '
+      allow_undefined_flag=unsupported
+      # Tell ltmain to make .lib files, not .a files.
+      libext=lib
+      # Tell ltmain to make .dll files, not .so files.
+      shrext_cmds=".dll"
+      # FIXME: Setting linknames here is a bad hack.
+      archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+      # The linker will automatically build a .lib file if we build a DLL.
+      old_archive_from_new_cmds='true'
+      # FIXME: Should let the user specify the lib program.
+      old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
+      fix_srcfile_path='`cygpath -w "$srcfile"`'
+      enable_shared_with_static_runtimes=yes
+      ;;
 
+    darwin* | rhapsody*)
 
 
+  archive_cmds_need_lc=no
+  hardcode_direct=no
+  hardcode_automatic=yes
+  hardcode_shlibpath_var=unsupported
+  if test "$lt_cv_ld_force_load" = "yes"; then
+    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+  else
+    whole_archive_flag_spec=''
+  fi
+  link_all_deplibs=yes
+  allow_undefined_flag="$_lt_dar_allow_undefined"
+  case $cc_basename in
+     ifort*) _lt_dar_can_shared=yes ;;
+     *) _lt_dar_can_shared=$GCC ;;
+  esac
+  if test "$_lt_dar_can_shared" = "yes"; then
+    output_verbose_link_cmd=func_echo_all
+    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+    archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+    module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
 
+  else
+  ld_shlibs=no
+  fi
 
+      ;;
 
+    dgux*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_shlibpath_var=no
+      ;;
 
+    freebsd1*)
+      ld_shlibs=no
+      ;;
 
+    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+    # support.  Future versions do this automatically, but an explicit c++rt0.o
+    # does not break anything, and helps significantly (at the cost of a little
+    # extra space).
+    freebsd2.2*)
+      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
 
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2*)
+      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct=yes
+      hardcode_minus_L=yes
+      hardcode_shlibpath_var=no
+      ;;
 
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
 
+    hpux9*)
+      if test "$GCC" = yes; then
+	archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      else
+	archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      fi
+      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+      hardcode_libdir_separator=:
+      hardcode_direct=yes
 
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      hardcode_minus_L=yes
+      export_dynamic_flag_spec='${wl}-E'
+      ;;
 
+    hpux10*)
+      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+	archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test "$with_gnu_ld" = no; then
+	hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+	hardcode_libdir_flag_spec_ld='+b $libdir'
+	hardcode_libdir_separator=:
+	hardcode_direct=yes
+	hardcode_direct_absolute=yes
+	export_dynamic_flag_spec='${wl}-E'
+	# hardcode_minus_L: Not really in the search PATH,
+	# but as the default location of the library.
+	hardcode_minus_L=yes
+      fi
+      ;;
 
+    hpux11*)
+      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+	case $host_cpu in
+	hppa*64*)
+	  archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      else
+	case $host_cpu in
+	hppa*64*)
+	  archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
 
-    { $as_echo "$as_me:$LINENO: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
-	# By default we will add the -single_module flag. You can override
-	# by either setting the environment variable LT_MULTI_MODULE
-	# non-empty at configure time, or by adding -multi_module to the
-	# link flags.
-	rm -rf libconftest.dylib*
-	echo "int foo(void){return 1;}" > conftest.c
-	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
-	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
-        _lt_result=$?
-	if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
-	  lt_cv_apple_cc_single_mod=yes
-	else
-	  cat conftest.err >&5
-	fi
-	rm -rf libconftest.dylib*
-	rm -f conftest.*
-      fi
-fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
-    { $as_echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then
+	  # Older versions of the 11.00 compiler do not understand -b yet
+	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
+$as_echo_n "checking if $CC understands -b... " >&6; }
+if test "${lt_cv_prog_compiler__b+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+  lt_cv_prog_compiler__b=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS -b"
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_cv_prog_compiler__b=yes
+       fi
+     else
+       lt_cv_prog_compiler__b=yes
+     fi
+   fi
+   $RM -r conftest*
+   LDFLAGS="$save_LDFLAGS"
 
-int
-main ()
-{
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
+$as_echo "$lt_cv_prog_compiler__b" >&6; }
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  lt_cv_ld_exported_symbols_list=yes
+if test x"$lt_cv_prog_compiler__b" = xyes; then
+    archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	lt_cv_ld_exported_symbols_list=no
+    archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
 fi
 
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-	LDFLAGS="$save_LDFLAGS"
+	  ;;
+	esac
+      fi
+      if test "$with_gnu_ld" = no; then
+	hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+	hardcode_libdir_separator=:
 
-fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
-    case $host_os in
-    rhapsody* | darwin1.[012])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-    darwin1.*)
-      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-    darwin*) # darwin 5.x on
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-	10.0,*86*-darwin8*|10.0,*-darwin[91]*)
-	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-	10.[012]*)
-	  _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-	10.*)
-	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
-    else
-      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    fi
-    if test "$DSYMUTIL" != ":"; then
-      _lt_dsymutil='~$DSYMUTIL $lib || :'
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
+	case $host_cpu in
+	hppa*64*|ia64*)
+	  hardcode_direct=no
+	  hardcode_shlibpath_var=no
+	  ;;
+	*)
+	  hardcode_direct=yes
+	  hardcode_direct_absolute=yes
+	  export_dynamic_flag_spec='${wl}-E'
 
+	  # hardcode_minus_L: Not really in the search PATH,
+	  # but as the default location of the library.
+	  hardcode_minus_L=yes
+	  ;;
+	esac
+      fi
+      ;;
 
-for ac_header in dlfcn.h
-do
-as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+    irix5* | irix6* | nonstopux*)
+      if test "$GCC" = yes; then
+	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	# Try to use the -exported_symbol ld option, if it does not
+	# work, assume that -exports_file does not work either and
+	# implicitly export all symbols.
+        save_LDFLAGS="$LDFLAGS"
+        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-$ac_includes_default
-
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  eval "$as_ac_Header=yes"
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	eval "$as_ac_Header=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
-		 $as_echo "$as_val"'`
-	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_Header'}
-		 $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+int foo(void) {}
 _ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
 
 fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+        LDFLAGS="$save_LDFLAGS"
+      else
+	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+      fi
+      archive_cmds_need_lc='no'
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      inherit_rpath=yes
+      link_all_deplibs=yes
+      ;;
 
-done
+    netbsd*)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+	archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
 
+    newsos6)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct=yes
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      hardcode_shlibpath_var=no
+      ;;
 
+    *nto* | *qnx*)
+      ;;
 
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -z "$CXX"; then
-  if test -n "$CCC"; then
-    CXX=$CCC
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CXX+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CXX"; then
-  ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
+    openbsd*)
+      if test -f /usr/libexec/ld.so; then
+	hardcode_direct=yes
+	hardcode_shlibpath_var=no
+	hardcode_direct_absolute=yes
+	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	  archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+	  hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+	  export_dynamic_flag_spec='${wl}-E'
+	else
+	  case $host_os in
+	   openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+	     archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	     hardcode_libdir_flag_spec='-R$libdir'
+	     ;;
+	   *)
+	     archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	     hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+	     ;;
+	  esac
+	fi
+      else
+	ld_shlibs=no
+      fi
+      ;;
 
-fi
-fi
-CXX=$ac_cv_prog_CXX
-if test -n "$CXX"; then
-  { $as_echo "$as_me:$LINENO: result: $CXX" >&5
-$as_echo "$CXX" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
+    os2*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_minus_L=yes
+      allow_undefined_flag=unsupported
+      archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+      old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      ;;
 
+    osf3*)
+      if test "$GCC" = yes; then
+	allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	allow_undefined_flag=' -expect_unresolved \*'
+	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+      fi
+      archive_cmds_need_lc='no'
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      ;;
 
-    test -n "$CXX" && break
-  done
-fi
-if test -z "$CXX"; then
-  ac_ct_CXX=$CXX
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CXX"; then
-  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CXX="$ac_prog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
+    osf4* | osf5*)	# as osf3* with the addition of -msym flag
+      if test "$GCC" = yes; then
+	allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      else
+	allow_undefined_flag=' -expect_unresolved \*'
+	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+	archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+	$CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
 
-fi
-fi
-ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
-if test -n "$ac_ct_CXX"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
-$as_echo "$ac_ct_CXX" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
+	# Both c and cxx compiler support -rpath directly
+	hardcode_libdir_flag_spec='-rpath $libdir'
+      fi
+      archive_cmds_need_lc='no'
+      hardcode_libdir_separator=:
+      ;;
 
+    solaris*)
+      no_undefined_flag=' -z defs'
+      if test "$GCC" = yes; then
+	wlarc='${wl}'
+	archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+	  $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+      else
+	case `$CC -V 2>&1` in
+	*"Compilers 5.0"*)
+	  wlarc=''
+	  archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+	  $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+	  ;;
+	*)
+	  wlarc='${wl}'
+	  archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+	  $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+	  ;;
+	esac
+      fi
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_shlibpath_var=no
+      case $host_os in
+      solaris2.[0-5] | solaris2.[0-5].*) ;;
+      *)
+	# The compiler driver will combine and reorder linker options,
+	# but understands `-z linker_flag'.  GCC discards it without `$wl',
+	# but is careful enough not to reorder.
+	# Supported since Solaris 2.6 (maybe 2.5.1?)
+	if test "$GCC" = yes; then
+	  whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+	else
+	  whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
+	fi
+	;;
+      esac
+      link_all_deplibs=yes
+      ;;
 
-  test -n "$ac_ct_CXX" && break
-done
+    sunos4*)
+      if test "x$host_vendor" = xsequent; then
+	# Use $CC to link under sequent, because it throws in some extra .o
+	# files that make .init and .fini sections work.
+	archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_direct=yes
+      hardcode_minus_L=yes
+      hardcode_shlibpath_var=no
+      ;;
 
-  if test "x$ac_ct_CXX" = x; then
-    CXX="g++"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CXX=$ac_ct_CXX
-  fi
-fi
+    sysv4)
+      case $host_vendor in
+	sni)
+	  archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  hardcode_direct=yes # is this really true???
+	;;
+	siemens)
+	  ## LD is ld it makes a PLAMLIB
+	  ## CC just makes a GrossModule.
+	  archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+	  reload_cmds='$CC -r -o $output$reload_objs'
+	  hardcode_direct=no
+        ;;
+	motorola)
+	  archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+	;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      hardcode_shlibpath_var=no
+      ;;
 
-  fi
-fi
-# Provide some information about the compiler.
-$as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compiler --version >&5") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -v >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compiler -v >&5") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -V >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compiler -V >&5") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
+    sysv4.3*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_shlibpath_var=no
+      export_dynamic_flag_spec='-Bexport'
+      ;;
 
-{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
-$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
-if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	hardcode_shlibpath_var=no
+	runpath_var=LD_RUN_PATH
+	hardcode_runpath_var=yes
+	ld_shlibs=yes
+      fi
+      ;;
 
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+      no_undefined_flag='${wl}-z,text'
+      archive_cmds_need_lc=no
+      hardcode_shlibpath_var=no
+      runpath_var='LD_RUN_PATH'
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_compiler_gnu=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+      if test "$GCC" = yes; then
+	archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
 
-	ac_compiler_gnu=no
-fi
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We can NOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      no_undefined_flag='${wl}-z,text'
+      allow_undefined_flag='${wl}-z,nodefs'
+      archive_cmds_need_lc=no
+      hardcode_shlibpath_var=no
+      hardcode_libdir_flag_spec='${wl}-R,$libdir'
+      hardcode_libdir_separator=':'
+      link_all_deplibs=yes
+      export_dynamic_flag_spec='${wl}-Bexport'
+      runpath_var='LD_RUN_PATH'
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+      if test "$GCC" = yes; then
+	archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
 
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
-$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GXX=yes
-else
-  GXX=
-fi
-ac_test_CXXFLAGS=${CXXFLAGS+set}
-ac_save_CXXFLAGS=$CXXFLAGS
-{ $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
-$as_echo_n "checking whether $CXX accepts -g... " >&6; }
-if test "${ac_cv_prog_cxx_g+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
-   ac_cxx_werror_flag=yes
-   ac_cv_prog_cxx_g=no
-   CXXFLAGS="-g"
-   cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+    uts4*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_shlibpath_var=no
+      ;;
 
-int
-main ()
-{
+    *)
+      ld_shlibs=no
+      ;;
+    esac
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cxx_g=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+    if test x$host_vendor = xsni; then
+      case $host in
+      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+	export_dynamic_flag_spec='${wl}-Blargedynsym'
+	;;
+      esac
+    fi
+  fi
 
-	CXXFLAGS=""
-      cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
+$as_echo "$ld_shlibs" >&6; }
+test "$ld_shlibs" = no && can_build_shared=no
 
-int
-main ()
-{
+with_gnu_ld=$with_gnu_ld
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cxx_werror_flag=$ac_save_cxx_werror_flag
-	 CXXFLAGS="-g"
-	 cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cxx_g=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
 
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_cxx_werror_flag=$ac_save_cxx_werror_flag
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
-$as_echo "$ac_cv_prog_cxx_g" >&6; }
-if test "$ac_test_CXXFLAGS" = set; then
-  CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
-  if test "$GXX" = yes; then
-    CXXFLAGS="-g -O2"
-  else
-    CXXFLAGS="-g"
-  fi
-else
-  if test "$GXX" = yes; then
-    CXXFLAGS="-O2"
-  else
-    CXXFLAGS=
-  fi
-fi
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
-depcc="$CXX"  am_compiler_list=
 
-{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
+
+
+
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc" in
+x|xyes)
+  # Assume -lc should be added
+  archive_cmds_need_lc=yes
+
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $archive_cmds in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+if test "${lt_cv_archive_cmds_need_lc+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
+  $RM conftest*
+	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
-  am_cv_CXX_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+	if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } 2>conftest.err; then
+	  soname=conftest
+	  lib=conftest
+	  libobjs=conftest.$ac_objext
+	  deplibs=
+	  wl=$lt_prog_compiler_wl
+	  pic_flag=$lt_prog_compiler_pic
+	  compiler_flags=-v
+	  linker_flags=-v
+	  verstring=
+	  output_objdir=.
+	  libname=conftest
+	  lt_save_allow_undefined_flag=$allow_undefined_flag
+	  allow_undefined_flag=
+	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
+  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+	  then
+	    lt_cv_archive_cmds_need_lc=no
+	  else
+	    lt_cv_archive_cmds_need_lc=yes
+	  fi
+	  allow_undefined_flag=$lt_save_allow_undefined_flag
+	else
+	  cat conftest.err 1>&5
+	fi
+	$RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
+$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
+      archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
+      ;;
+    esac
   fi
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+  ;;
+esac
 
-    case $depmode in
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-	continue
-      else
-	break
-      fi
-      ;;
-    none) break ;;
-    esac
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.
-    if depmode=$depmode \
-       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CXX_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
 
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CXX_dependencies_compiler_type=none
-fi
 
-fi
-{ $as_echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
-CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
 
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
-  am__fastdepCXX_TRUE=
-  am__fastdepCXX_FALSE='#'
-else
-  am__fastdepCXX_TRUE='#'
-  am__fastdepCXX_FALSE=
-fi
 
 
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-    (test "X$CXX" != "Xg++"))) ; then
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-{ $as_echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
-$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
-if test -z "$CXXCPP"; then
-  if test "${ac_cv_prog_CXXCPP+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CXXCPP needs to be expanded
-    for CXXCPP in "$CXX -E" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-  # Broken: fails on valid input.
-continue
-fi
 
-rm -f conftest.err conftest.$ac_ext
 
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  # Broken: success on invalid input.
-continue
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
 
-rm -f conftest.err conftest.$ac_ext
 
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
-  break
-fi
 
-    done
-    ac_cv_prog_CXXCPP=$CXXCPP
 
-fi
-  CXXCPP=$ac_cv_prog_CXXCPP
-else
-  ac_cv_prog_CXXCPP=$CXXCPP
-fi
-{ $as_echo "$as_me:$LINENO: result: $CXXCPP" >&5
-$as_echo "$CXXCPP" >&6; }
-ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-  # Broken: fails on valid input.
-continue
-fi
 
-rm -f conftest.err conftest.$ac_ext
 
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  # Broken: success on invalid input.
-continue
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
 
-rm -f conftest.err conftest.$ac_ext
 
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
-  :
-else
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-_lt_caught_CXX_error=yes; }
-fi
 
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
-else
-  _lt_caught_CXX_error=yes
-fi
 
 
 
 
-# Set options
-enable_dlopen=yes
 
 
 
 
-  enable_win32_dll=no
 
 
-            # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then
-  enableval=$enable_shared; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-	IFS="$lt_save_ifs"
-	if test "X$pkg" = "X$p"; then
-	  enable_shared=yes
-	fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_shared=yes
-fi
 
 
 
@@ -23847,28 +19453,6 @@ fi
 
 
 
-  # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then
-  enableval=$enable_static; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-	IFS="$lt_save_ifs"
-	if test "X$pkg" = "X$p"; then
-	  enable_static=yes
-	fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_static=yes
-fi
 
 
 
@@ -23879,15 +19463,8 @@ fi
 
 
 
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then
-  withval=$with_pic; pic_mode="$withval"
-else
-  pic_mode=default
-fi
 
 
-test -z "$pic_mode" && pic_mode=default
 
 
 
@@ -23895,28 +19472,6 @@ test -z "$pic_mode" && pic_mode=default
 
 
 
-  # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then
-  enableval=$enable_fast_install; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-	IFS="$lt_save_ifs"
-	if test "X$pkg" = "X$p"; then
-	  enable_fast_install=yes
-	fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_fast_install=yes
-fi
 
 
 
@@ -23928,11 +19483,7 @@ fi
 
 
 
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
 
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
 
 
 
@@ -23958,7 +19509,6 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool'
 
 
 
-test -z "$LN_S" && LN_S="ln -s"
 
 
 
@@ -23973,36 +19523,12 @@ test -z "$LN_S" && LN_S="ln -s"
 
 
 
-if test -n "${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
 
-{ $as_echo "$as_me:$LINENO: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if test "${lt_cv_objdir+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  lt_cv_objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
 
 
 
 
 
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
 
 
 
@@ -24020,708 +19546,749 @@ _ACEOF
 
 
 
-case $host_os in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
 
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
 
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
 
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
 
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
 
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
 
-# Global variables:
-ofile=libtool
-can_build_shared=yes
 
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
 
-with_gnu_ld="$lt_cv_prog_gnu_ld"
 
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
 
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
 
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
 
 
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
-  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    { $as_echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/${ac_tool_prefix}file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
-      if test -n "$file_magic_test_file"; then
-	case $deplibs_check_method in
-	"file_magic "*)
-	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-	    $EGREP "$file_magic_regex" > /dev/null; then
-	    :
-	  else
-	    cat <<_LT_EOF 1>&2
 
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool at gnu.org
 
-_LT_EOF
-	  fi ;;
-	esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
 
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
 
 
 
 
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    { $as_echo "$as_me:$LINENO: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/file"
-      if test -n "$file_magic_test_file"; then
-	case $deplibs_check_method in
-	"file_magic "*)
-	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-	    $EGREP "$file_magic_regex" > /dev/null; then
-	    :
-	  else
-	    cat <<_LT_EOF 1>&2
 
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool at gnu.org
 
-_LT_EOF
-	  fi ;;
-	esac
-      fi
-      break
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
+
+if test "$GCC" = yes; then
+  case $host_os in
+    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+    *) lt_awk_arg="/^libraries:/" ;;
+  esac
+  case $host_os in
+    mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
+    *) lt_sed_strip_eq="s,=/,/,g" ;;
+  esac
+  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+  case $lt_search_path_spec in
+  *\;*)
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+    ;;
+  *)
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+    ;;
+  esac
+  # Ok, now we have the path, separated by spaces, we can step through it
+  # and add multilib dir if necessary.
+  lt_tmp_lt_search_path_spec=
+  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+  for lt_sys_path in $lt_search_path_spec; do
+    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+    else
+      test -d "$lt_sys_path" && \
+	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
     fi
   done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
+  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+  lt_foo="";
+  lt_count=0;
+  for (lt_i = NF; lt_i > 0; lt_i--) {
+    if ($lt_i != "" && $lt_i != ".") {
+      if ($lt_i == "..") {
+        lt_count++;
+      } else {
+        if (lt_count == 0) {
+          lt_foo="/" $lt_i lt_foo;
+        } else {
+          lt_count--;
+        }
+      }
+    }
+  }
+  if (lt_foo != "") { lt_freq[lt_foo]++; }
+  if (lt_freq[lt_foo] == 1) { print lt_foo; }
+}'`
+  # AWK program above erroneously prepends '/' to C:/dos/paths
+  # for these hosts.
+  case $host_os in
+    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+      $SED 's,/\([A-Za-z]:\),\1,g'` ;;
+  esac
+  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  else
-    MAGIC_CMD=:
-  fi
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
 fi
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
 
-  fi
-  ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
 
-# Source file extension for C test sources.
-ac_ext=c
+case $host_os in
+aix3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  shlibpath_var=LIBPATH
 
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='${libname}${release}${shared_ext}$major'
+  ;;
 
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
+aix[4-9]*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test "$host_cpu" = ia64; then
+    # AIX 5 supports IA64
+    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line `#! .'.  This would cause the generated library to
+    # depend on `.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[01] | aix4.[01].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+	   echo ' yes '
+	   echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+	:
+      else
+	can_build_shared=no
+      fi
+      ;;
+    esac
+    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    if test "$aix_use_runtimelinking" = yes; then
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    else
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='${libname}${release}.a $libname.a'
+      soname_spec='${libname}${release}${shared_ext}$major'
+    fi
+    shlibpath_var=LIBPATH
+  fi
+  ;;
 
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
+amigaos*)
+  case $host_cpu in
+  powerpc)
+    # Since July 2007 AmigaOS4 officially supports .so libraries.
+    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    ;;
+  m68k)
+    library_names_spec='$libname.ixlibrary $libname.a'
+    # Create ${libname}_ixlibrary.a entries in /sys/libs.
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    ;;
+  esac
+  ;;
 
+beos*)
+  library_names_spec='${libname}${shared_ext}'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
 
+bsdi[45]*)
+  version_type=linux
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
 
+cygwin* | mingw* | pw32* | cegcc*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
+  need_lib_prefix=no
 
+  case $GCC,$host_os in
+  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname~
+      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+      fi'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
 
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
 
+      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
+      ;;
+    mingw* | cegcc*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    esac
+    ;;
 
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
+  *)
+    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    ;;
+  esac
+  dynamic_linker='Win32 ld.exe'
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
 
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+  soname_spec='${libname}${release}${major}$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
 
-# Allow CC to be a program name with arguments.
-compiler=$CC
+  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
 
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
+dgux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
 
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
+freebsd1*)
+  dynamic_linker=no
+  ;;
 
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[123]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[01]* | freebsdelf3.[01]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  *) # from 4.6 on, and DragonFly
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
 
+gnu*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  ;;
 
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
+haiku*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  dynamic_linker="$host_os runtime_loader"
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+  hardcode_into_libs=yes
+  ;;
 
-lt_prog_compiler_no_builtin_flag=
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    if test "X$HPUX_IA64_MODE" = X32; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+    fi
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  hppa*64*)
+    shrext_cmds='.sl'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
+  postinstall_cmds='chmod 555 $lib'
+  # or fails outright, so override atomically:
+  install_override_mode=555
+  ;;
 
-if test "$GCC" = yes; then
-  lt_prog_compiler_no_builtin_flag=' -fno-builtin'
+interix[3-9]*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
 
-  { $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+	if test "$lt_cv_prog_gnu_ld" = yes; then
+		version_type=linux
+	else
+		version_type=irix
+	fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+
+  # Some binutils ld are patched to set DT_RUNPATH
+  if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  lt_cv_prog_compiler_rtti_exceptions=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="-fno-rtti -fno-exceptions"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:24309: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:24313: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_rtti_exceptions=yes
-     fi
-   fi
-   $RM conftest*
+  lt_cv_shlibpath_overrides_runpath=no
+    save_LDFLAGS=$LDFLAGS
+    save_libdir=$libdir
+    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
+	 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
+int
+main ()
+{
 
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
-    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
-    :
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
+  lt_cv_shlibpath_overrides_runpath=yes
 fi
-
 fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+    LDFLAGS=$save_LDFLAGS
+    libdir=$save_libdir
 
+fi
 
+  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
 
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
 
+  # Append ld.so.conf contents to the search path
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
 
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
 
-  lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
 
-{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+newsos6)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
 
-  if test "$GCC" = yes; then
-    lt_prog_compiler_wl='-Wl,'
-    lt_prog_compiler_static='-static'
+*nto* | *qnx*)
+  version_type=qnx
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='ldqnx.so'
+  ;;
 
+openbsd*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
+  need_lib_prefix=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*)	need_version=yes ;;
+    *)				need_version=no  ;;
+  esac
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
     case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
+      openbsd2.[89] | openbsd2.[89].*)
+	shlibpath_overrides_runpath=no
+	;;
+      *)
+	shlibpath_overrides_runpath=yes
+	;;
+      esac
+  else
+    shlibpath_overrides_runpath=yes
+  fi
+  ;;
 
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            lt_prog_compiler_pic='-fPIC'
-        ;;
-      m68k)
-            # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the `-m68020' flag to GCC prevents building anything better,
-            # like `-m68040'.
-            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
+os2*)
+  libname_spec='$name'
+  shrext_cmds=".dll"
+  need_lib_prefix=no
+  library_names_spec='$libname${shared_ext} $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
 
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
 
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
+rdos*)
+  dynamic_linker=no
+  ;;
 
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic='-fno-common'
-      ;;
+solaris*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
 
-    hpux*)
-      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
-      # sets the default TLS model and affects inlining.
-      case $host_cpu in
-      hppa*64*)
-	# +Z the default
-	;;
-      *)
-	lt_prog_compiler_pic='-fPIC'
-	;;
-      esac
-      ;;
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
 
-    interix[3-9]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
+sysv4 | sysv4.3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      runpath_var=LD_RUN_PATH
       ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      lt_prog_compiler_can_build_shared=no
-      enable_shared=no
+    siemens)
+      need_lib_prefix=no
       ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
       ;;
+  esac
+  ;;
 
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	lt_prog_compiler_pic=-Kconform_pic
-      fi
-      ;;
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux
+    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+    soname_spec='$libname${shared_ext}.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
 
-    *)
-      lt_prog_compiler_pic='-fPIC'
-      ;;
-    esac
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
   else
-    # PORTME Check for flag to pass linker flags through the system compiler.
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
     case $host_os in
-    aix*)
-      lt_prog_compiler_wl='-Wl,'
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	lt_prog_compiler_static='-Bstatic'
-      else
-	lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-	# +Z the default
-	;;
-      *)
-	lt_prog_compiler_pic='+Z'
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
 	;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      lt_prog_compiler_static='${wl}-a ${wl}archive'
-      ;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
 
-    irix5* | irix6* | nonstopux*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC (with -KPIC) is the default.
-      lt_prog_compiler_static='-non_shared'
-      ;;
+tpf*)
+  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
 
-    linux* | k*bsd*-gnu)
-      case $cc_basename in
-      # old Intel for x86_64 which still supported -KPIC.
-      ecc*)
-	lt_prog_compiler_wl='-Wl,'
-	lt_prog_compiler_pic='-KPIC'
-	lt_prog_compiler_static='-static'
-        ;;
-      # icc used to be incompatible with GCC.
-      # ICC 10 doesn't accept -KPIC any more.
-      icc* | ifort*)
-	lt_prog_compiler_wl='-Wl,'
-	lt_prog_compiler_pic='-fPIC'
-	lt_prog_compiler_static='-static'
-        ;;
-      # Lahey Fortran 8.1.
-      lf95*)
-	lt_prog_compiler_wl='-Wl,'
-	lt_prog_compiler_pic='--shared'
-	lt_prog_compiler_static='--static'
-	;;
-      pgcc* | pgf77* | pgf90* | pgf95*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-	# which looks to be a dead project)
-	lt_prog_compiler_wl='-Wl,'
-	lt_prog_compiler_pic='-fpic'
-	lt_prog_compiler_static='-Bstatic'
-        ;;
-      ccc*)
-        lt_prog_compiler_wl='-Wl,'
-        # All Alpha code is PIC.
-        lt_prog_compiler_static='-non_shared'
-        ;;
-      xl*)
-	# IBM XL C 8.0/Fortran 10.1 on PPC
-	lt_prog_compiler_wl='-Wl,'
-	lt_prog_compiler_pic='-qpic'
-	lt_prog_compiler_static='-qstaticlink'
-	;;
-      *)
-	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ C*)
-	  # Sun C 5.9
-	  lt_prog_compiler_pic='-KPIC'
-	  lt_prog_compiler_static='-Bstatic'
-	  lt_prog_compiler_wl='-Wl,'
-	  ;;
-	*Sun\ F*)
-	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
-	  lt_prog_compiler_pic='-KPIC'
-	  lt_prog_compiler_static='-Bstatic'
-	  lt_prog_compiler_wl=''
-	  ;;
-	esac
-	;;
-      esac
-      ;;
+uts4*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
 
-    newsos6)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
+*)
+  dynamic_linker=no
+  ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
+test "$dynamic_linker" = no && can_build_shared=no
 
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
 
-    osf3* | osf4* | osf5*)
-      lt_prog_compiler_wl='-Wl,'
-      # All OSF/1 code is PIC.
-      lt_prog_compiler_static='-non_shared'
-      ;;
 
-    rdos*)
-      lt_prog_compiler_static='-non_shared'
-      ;;
 
-    solaris*)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95*)
-	lt_prog_compiler_wl='-Qoption ld ';;
-      *)
-	lt_prog_compiler_wl='-Wl,';;
-      esac
-      ;;
 
-    sunos4*)
-      lt_prog_compiler_wl='-Qoption ld '
-      lt_prog_compiler_pic='-PIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
 
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
 
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-	lt_prog_compiler_pic='-Kconform_pic'
-	lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
 
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
 
-    unicos*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_can_build_shared=no
-      ;;
 
-    uts4*)
-      lt_prog_compiler_pic='-pic'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
 
-    *)
-      lt_prog_compiler_can_build_shared=no
-      ;;
-    esac
-  fi
 
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic=
-    ;;
-  *)
-    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
-    ;;
-esac
-{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
-$as_echo "$lt_prog_compiler_pic" >&6; }
 
 
 
 
 
 
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
-  { $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic_works=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:24648: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:24652: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_pic_works=yes
-     fi
-   fi
-   $RM conftest*
 
-fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
 
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
-    case $lt_prog_compiler_pic in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
-     esac
-else
-    lt_prog_compiler_pic=
-     lt_prog_compiler_can_build_shared=no
-fi
 
-fi
 
 
 
 
 
 
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_static_works=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler_static_works=yes
-       fi
-     else
-       lt_cv_prog_compiler_static_works=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
 
-fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
 
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
-    :
-else
-    lt_prog_compiler_static=
-fi
 
 
 
@@ -24729,1312 +20296,609 @@ fi
 
 
 
-  { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:24753: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:24757: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
 
-fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
 
 
 
 
 
 
-  { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:24808: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:24812: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
 
-fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
 
 
 
 
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
-  hard_links=yes
-  $RM conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
 
 
 
 
 
 
-  { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
 
-  runpath_var=
-  allow_undefined_flag=
-  always_export_symbols=no
-  archive_cmds=
-  archive_expsym_cmds=
-  compiler_needs_object=no
-  enable_shared_with_static_runtimes=no
-  export_dynamic_flag_spec=
-  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  hardcode_automatic=no
-  hardcode_direct=no
-  hardcode_direct_absolute=no
-  hardcode_libdir_flag_spec=
-  hardcode_libdir_flag_spec_ld=
-  hardcode_libdir_separator=
-  hardcode_minus_L=no
-  hardcode_shlibpath_var=unsupported
-  inherit_rpath=no
-  link_all_deplibs=unknown
-  module_cmds=
-  module_expsym_cmds=
-  old_archive_from_new_cmds=
-  old_archive_from_expsyms_cmds=
-  thread_safe_flag_spec=
-  whole_archive_flag_spec=
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  include_expsyms=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-  extract_expsyms_cmds=
 
-  case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  esac
 
-  ld_shlibs=yes
-  if test "$with_gnu_ld" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
 
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-    export_dynamic_flag_spec='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
-      whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-    else
-      whole_archive_flag_spec=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>&1` in
-      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
 
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[3-9]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-	ld_shlibs=no
-	cat <<_LT_EOF 1>&2
 
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
 
-_LT_EOF
-      fi
-      ;;
 
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
 
-    beos*)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	allow_undefined_flag=unsupported
-	# Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
-	# support --undefined.  This deserves some investigation.  FIXME
-	archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-	ld_shlibs=no
-      fi
-      ;;
 
-    cygwin* | mingw* | pw32* | cegcc*)
-      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
-      # as there is no search path for DLLs.
-      hardcode_libdir_flag_spec='-L$libdir'
-      allow_undefined_flag=unsupported
-      always_export_symbols=no
-      enable_shared_with_static_runtimes=yes
-      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
 
-      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-	# If the export-symbols file already is a .def file (1st line
-	# is EXPORTS), use it as is; otherwise, prepend...
-	archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-	  cp $export_symbols $output_objdir/$soname.def;
-	else
-	  echo EXPORTS > $output_objdir/$soname.def;
-	  cat $export_symbols >> $output_objdir/$soname.def;
-	fi~
-	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-	ld_shlibs=no
-      fi
-      ;;
 
-    interix[3-9]*)
-      hardcode_direct=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-      export_dynamic_flag_spec='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
 
-    gnu* | linux* | tpf* | k*bsd*-gnu)
-      tmp_diet=no
-      if test "$host_os" = linux-dietlibc; then
-	case $cc_basename in
-	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
-	esac
-      fi
-      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
-	 && test "$tmp_diet" = no
-      then
-	tmp_addflag=
-	tmp_sharedflag='-shared'
-	case $cc_basename,$host_cpu in
-        pgcc*)				# Portland Group C compiler
-	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
-	  tmp_addflag=' $pic_flag'
-	  ;;
-	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
-	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
-	  tmp_addflag=' $pic_flag -Mnomain' ;;
-	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
-	  tmp_addflag=' -i_dynamic' ;;
-	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
-	  tmp_addflag=' -i_dynamic -nofor_main' ;;
-	ifc* | ifort*)			# Intel Fortran compiler
-	  tmp_addflag=' -nofor_main' ;;
-	lf95*)				# Lahey Fortran 8.1
-	  whole_archive_flag_spec=
-	  tmp_sharedflag='--shared' ;;
-	xl[cC]*)			# IBM XL C 8.0 on PPC (deal with xlf below)
-	  tmp_sharedflag='-qmkshrobj'
-	  tmp_addflag= ;;
-	esac
-	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ C*)			# Sun C 5.9
-	  whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
-	  compiler_needs_object=yes
-	  tmp_sharedflag='-G' ;;
-	*Sun\ F*)			# Sun Fortran 8.3
-	  tmp_sharedflag='-G' ;;
-	esac
-	archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
 
-        if test "x$supports_anon_versioning" = xyes; then
-          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-	    cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-	    echo "local: *; };" >> $output_objdir/$libname.ver~
-	    $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-        fi
 
-	case $cc_basename in
-	xlf*)
-	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
-	  whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
-	  hardcode_libdir_flag_spec=
-	  hardcode_libdir_flag_spec_ld='-rpath $libdir'
-	  archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
-	  if test "x$supports_anon_versioning" = xyes; then
-	    archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-	      cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-	      echo "local: *; };" >> $output_objdir/$libname.ver~
-	      $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
-	  fi
-	  ;;
-	esac
-      else
-        ld_shlibs=no
-      fi
-      ;;
 
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-	wlarc=
-      else
-	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
 
-    solaris*)
-      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
-	ld_shlibs=no
-	cat <<_LT_EOF 1>&2
 
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
 
-_LT_EOF
-      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-	ld_shlibs=no
-      fi
-      ;;
 
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
-	ld_shlibs=no
-	cat <<_LT_EOF 1>&2
 
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
 
-_LT_EOF
-	;;
-	*)
-	  # For security reasons, it is highly recommended that you always
-	  # use absolute paths for naming shared libraries, and exclude the
-	  # DT_RUNPATH tag from executables and libraries.  But doing so
-	  # requires that you compile everything twice, which is a pain.
-	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-	    archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	    archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-	  else
-	    ld_shlibs=no
-	  fi
-	;;
-      esac
-      ;;
 
-    sunos4*)
-      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
 
-    *)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-	ld_shlibs=no
-      fi
-      ;;
-    esac
 
-    if test "$ld_shlibs" = no; then
-      runpath_var=
-      hardcode_libdir_flag_spec=
-      export_dynamic_flag_spec=
-      whole_archive_flag_spec=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      allow_undefined_flag=unsupported
-      always_export_symbols=yes
-      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      hardcode_minus_L=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-	# Neither direct hardcoding nor static linking is supported with a
-	# broken collect2.
-	hardcode_direct=unsupported
-      fi
-      ;;
 
-    aix[4-9]*)
-      if test "$host_cpu" = ia64; then
-	# On IA64, the linker does run time linking by default, so we don't
-	# have to do anything special.
-	aix_use_runtimelinking=no
-	exp_sym_flag='-Bexport'
-	no_entry_flag=""
-      else
-	# If we're using GNU nm, then we don't want the "-C" option.
-	# -C means demangle to AIX nm, but means don't demangle with GNU nm
-	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-	  export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-	else
-	  export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-	fi
-	aix_use_runtimelinking=no
 
-	# Test if we are trying to use run time linking or normal
-	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
-	# need to do runtime linking.
-	case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-	  for ld_flag in $LDFLAGS; do
-	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-	    aix_use_runtimelinking=yes
-	    break
-	  fi
-	  done
-	  ;;
-	esac
 
-	exp_sym_flag='-bexport'
-	no_entry_flag='-bnoentry'
-      fi
 
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
 
-      archive_cmds=''
-      hardcode_direct=yes
-      hardcode_direct_absolute=yes
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      file_list_spec='${wl}-f,'
 
-      if test "$GCC" = yes; then
-	case $host_os in aix4.[012]|aix4.[012].*)
-	# We only want to do this on AIX 4.2 and lower, the check
-	# below for broken collect2 doesn't work under 4.3+
-	  collect2name=`${CC} -print-prog-name=collect2`
-	  if test -f "$collect2name" &&
-	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-	  then
-	  # We have reworked collect2
-	  :
-	  else
-	  # We have old collect2
-	  hardcode_direct=unsupported
-	  # It fails to find uninstalled libraries when the uninstalled
-	  # path is not listed in the libpath.  Setting hardcode_minus_L
-	  # to unsupported forces relinking
-	  hardcode_minus_L=yes
-	  hardcode_libdir_flag_spec='-L$libdir'
-	  hardcode_libdir_separator=
-	  fi
-	  ;;
-	esac
-	shared_flag='-shared'
-	if test "$aix_use_runtimelinking" = yes; then
-	  shared_flag="$shared_flag "'${wl}-G'
-	fi
-      else
-	# not using gcc
-	if test "$host_cpu" = ia64; then
-	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-	# chokes on -Wl,-G. The following line is correct:
-	  shared_flag='-G'
-	else
-	  if test "$aix_use_runtimelinking" = yes; then
-	    shared_flag='${wl}-G'
-	  else
-	    shared_flag='${wl}-bM:SRE'
-	  fi
-	fi
-      fi
 
-      export_dynamic_flag_spec='${wl}-bexpall'
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      always_export_symbols=yes
-      if test "$aix_use_runtimelinking" = yes; then
-	# Warning - without using the other runtime loading flags (-brtl),
-	# -berok will link without error, but may produce a broken library.
-	allow_undefined_flag='-berok'
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
 
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-	/^0/ {
-	    s/^0  *\(.*\)$/\1/
-	    p
-	}
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
 
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
+hardcode_action=
+if test -n "$hardcode_libdir_flag_spec" ||
+   test -n "$runpath_var" ||
+   test "X$hardcode_automatic" = "Xyes" ; then
+
+  # We can hardcode non-existent directories.
+  if test "$hardcode_direct" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
+     test "$hardcode_minus_L" != no; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action=unsupported
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
+$as_echo "$hardcode_action" >&6; }
 
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+if test "$hardcode_action" = relink ||
+   test "$inherit_rpath" = yes; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
 
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-      else
-	if test "$host_cpu" = ia64; then
-	  hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
-	  allow_undefined_flag="-z nodefs"
-	  archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-	else
-	 # Determine the default libpath from the value encoded in an
-	 # empty executable.
-	 cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
 
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-	/^0/ {
-	    s/^0  *\(.*\)$/\1/
-	    p
-	}
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+
+
+  if test "x$enable_dlopen" != xyes; then
+  enable_dlopen=unknown
+  enable_dlopen_self=unknown
+  enable_dlopen_self_static=unknown
+else
+  lt_cv_dlopen=no
+  lt_cv_dlopen_libs=
+
+  case $host_os in
+  beos*)
+    lt_cv_dlopen="load_add_on"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ;;
+
+  mingw* | pw32* | cegcc*)
+    lt_cv_dlopen="LoadLibrary"
+    lt_cv_dlopen_libs=
+    ;;
+
+  cygwin*)
+    lt_cv_dlopen="dlopen"
+    lt_cv_dlopen_libs=
+    ;;
+
+  darwin*)
+  # if libdl is installed we need to link against it
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dl_dlopen=yes
+else
+  ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
+    lt_cv_dlopen="dyld"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
 
 fi
 
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+    ;;
 
-	 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-	  # Warning - without using the other run time loading flags,
-	  # -berok will link without error, but may produce a broken library.
-	  no_undefined_flag=' ${wl}-bernotok'
-	  allow_undefined_flag=' ${wl}-berok'
-	  # Exported symbols can be pulled into shared objects from archives
-	  whole_archive_flag_spec='$convenience'
-	  archive_cmds_need_lc=yes
-	  # This is similar to how AIX traditionally builds its shared libraries.
-	  archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-	fi
-      fi
-      ;;
+  *)
+    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
+if test "x$ac_cv_func_shl_load" = x""yes; then :
+  lt_cv_dlopen="shl_load"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
+$as_echo_n "checking for shl_load in -ldld... " >&6; }
+if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load ();
+int
+main ()
+{
+return shl_load ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dld_shl_load=yes
+else
+  ac_cv_lib_dld_shl_load=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
+$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
+if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
+  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
+else
+  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
+if test "x$ac_cv_func_dlopen" = x""yes; then :
+  lt_cv_dlopen="dlopen"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-    bsdi[45]*)
-      export_dynamic_flag_spec=-rdynamic
-      ;;
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dl_dlopen=yes
+else
+  ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
+$as_echo_n "checking for dlopen in -lsvld... " >&6; }
+if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsvld  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-    cygwin* | mingw* | pw32* | cegcc*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      hardcode_libdir_flag_spec=' '
-      allow_undefined_flag=unsupported
-      # Tell ltmain to make .lib files, not .a files.
-      libext=lib
-      # Tell ltmain to make .dll files, not .so files.
-      shrext_cmds=".dll"
-      # FIXME: Setting linknames here is a bad hack.
-      archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
-      # The linker will automatically build a .lib file if we build a DLL.
-      old_archive_from_new_cmds='true'
-      # FIXME: Should let the user specify the lib program.
-      old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
-      fix_srcfile_path='`cygpath -w "$srcfile"`'
-      enable_shared_with_static_runtimes=yes
-      ;;
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_svld_dlopen=yes
+else
+  ac_cv_lib_svld_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
+$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
+if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
+$as_echo_n "checking for dld_link in -ldld... " >&6; }
+if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-    darwin* | rhapsody*)
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dld_link ();
+int
+main ()
+{
+return dld_link ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dld_dld_link=yes
+else
+  ac_cv_lib_dld_dld_link=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
+$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
+if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
+  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
+fi
 
 
-  archive_cmds_need_lc=no
-  hardcode_direct=no
-  hardcode_automatic=yes
-  hardcode_shlibpath_var=unsupported
-  whole_archive_flag_spec=''
-  link_all_deplibs=yes
-  allow_undefined_flag="$_lt_dar_allow_undefined"
-  case $cc_basename in
-     ifort*) _lt_dar_can_shared=yes ;;
-     *) _lt_dar_can_shared=$GCC ;;
-  esac
-  if test "$_lt_dar_can_shared" = "yes"; then
-    output_verbose_link_cmd=echo
-    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-    archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-    module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+fi
 
-  else
-  ld_shlibs=no
-  fi
 
-      ;;
+fi
 
-    dgux*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    freebsd1*)
-      ld_shlibs=no
-      ;;
 
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
+fi
 
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
 
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
+fi
 
-    hpux9*)
-      if test "$GCC" = yes; then
-	archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-	archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_direct=yes
 
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      hardcode_minus_L=yes
-      export_dynamic_flag_spec='${wl}-E'
-      ;;
+fi
 
-    hpux10*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-	archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-	hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-	hardcode_libdir_flag_spec_ld='+b $libdir'
-	hardcode_libdir_separator=:
-	hardcode_direct=yes
-	hardcode_direct_absolute=yes
-	export_dynamic_flag_spec='${wl}-E'
-	# hardcode_minus_L: Not really in the search PATH,
-	# but as the default location of the library.
-	hardcode_minus_L=yes
-      fi
-      ;;
+    ;;
+  esac
 
-    hpux11*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-	case $host_cpu in
-	hppa*64*)
-	  archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	ia64*)
-	  archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	esac
-      else
-	case $host_cpu in
-	hppa*64*)
-	  archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	ia64*)
-	  archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	esac
-      fi
-      if test "$with_gnu_ld" = no; then
-	hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-	hardcode_libdir_separator=:
+  if test "x$lt_cv_dlopen" != xno; then
+    enable_dlopen=yes
+  else
+    enable_dlopen=no
+  fi
 
-	case $host_cpu in
-	hppa*64*|ia64*)
-	  hardcode_direct=no
-	  hardcode_shlibpath_var=no
-	  ;;
-	*)
-	  hardcode_direct=yes
-	  hardcode_direct_absolute=yes
-	  export_dynamic_flag_spec='${wl}-E'
+  case $lt_cv_dlopen in
+  dlopen)
+    save_CPPFLAGS="$CPPFLAGS"
+    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
 
-	  # hardcode_minus_L: Not really in the search PATH,
-	  # but as the default location of the library.
-	  hardcode_minus_L=yes
-	  ;;
-	esac
-      fi
-      ;;
+    save_LDFLAGS="$LDFLAGS"
+    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
 
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-	# Try to use the -exported_symbol ld option, if it does not
-	# work, assume that -exports_file does not work either and
-	# implicitly export all symbols.
-        save_LDFLAGS="$LDFLAGS"
-        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-        cat >conftest.$ac_ext <<_ACEOF
-int foo(void) {}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+    save_LIBS="$LIBS"
+    LIBS="$lt_cv_dlopen_libs $LIBS"
 
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
+$as_echo_n "checking whether a program can dlopen itself... " >&6; }
+if test "${lt_cv_dlopen_self+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  	  if test "$cross_compiling" = yes; then :
+  lt_cv_dlopen_self=cross
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<_LT_EOF
+#line $LINENO "configure"
+#include "confdefs.h"
 
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
 
-fi
+#include <stdio.h>
 
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-        LDFLAGS="$save_LDFLAGS"
-      else
-	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
-	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      inherit_rpath=yes
-      link_all_deplibs=yes
-      ;;
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL		RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL		DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL		0
+#  endif
+#endif
 
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-	archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-	archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW		DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW	RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW	DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW	0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
 
-    newsos6)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_shlibpath_var=no
-      ;;
+/* When -fvisbility=hidden is used, assume the code has been annotated
+   correspondingly for the symbols needed.  */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+void fnord () __attribute__((visibility("default")));
+#endif
 
-    *nto* | *qnx*)
-      ;;
+void fnord () { int i=42; }
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
 
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-	hardcode_direct=yes
-	hardcode_shlibpath_var=no
-	hardcode_direct_absolute=yes
-	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	  archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	  archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-	  hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-	  export_dynamic_flag_spec='${wl}-E'
-	else
-	  case $host_os in
-	   openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-	     archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-	     hardcode_libdir_flag_spec='-R$libdir'
-	     ;;
-	   *)
-	     archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	     hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-	     ;;
-	  esac
-	fi
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
       else
-	ld_shlibs=no
-      fi
-      ;;
-
-    os2*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      allow_undefined_flag=unsupported
-      archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
-
-    osf3*)
-      if test "$GCC" = yes; then
-	allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-	allow_undefined_flag=' -expect_unresolved \*'
-	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      ;;
+        {
+	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
+          else puts (dlerror ());
+	}
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
 
-    osf4* | osf5*)	# as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-	allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-	hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      else
-	allow_undefined_flag=' -expect_unresolved \*'
-	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
-	archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-	$CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+  return status;
+}
+_LT_EOF
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+    (./conftest; exit; ) >&5 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
+      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
+      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
+    esac
+  else :
+    # compilation failed
+    lt_cv_dlopen_self=no
+  fi
+fi
+rm -fr conftest*
 
-	# Both c and cxx compiler support -rpath directly
-	hardcode_libdir_flag_spec='-rpath $libdir'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_separator=:
-      ;;
 
-    solaris*)
-      no_undefined_flag=' -z defs'
-      if test "$GCC" = yes; then
-	wlarc='${wl}'
-	archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-	  $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-      else
-	case `$CC -V 2>&1` in
-	*"Compilers 5.0"*)
-	  wlarc=''
-	  archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-	  $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
-	  ;;
-	*)
-	  wlarc='${wl}'
-	  archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
-	  archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-	  $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-	  ;;
-	esac
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_shlibpath_var=no
-      case $host_os in
-      solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *)
-	# The compiler driver will combine and reorder linker options,
-	# but understands `-z linker_flag'.  GCC discards it without `$wl',
-	# but is careful enough not to reorder.
-	# Supported since Solaris 2.6 (maybe 2.5.1?)
-	if test "$GCC" = yes; then
-	  whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-	else
-	  whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
-	fi
-	;;
-      esac
-      link_all_deplibs=yes
-      ;;
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
+$as_echo "$lt_cv_dlopen_self" >&6; }
 
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-	# Use $CC to link under sequent, because it throws in some extra .o
-	# files that make .init and .fini sections work.
-	archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
+    if test "x$lt_cv_dlopen_self" = xyes; then
+      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
+$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
+if test "${lt_cv_dlopen_self_static+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  	  if test "$cross_compiling" = yes; then :
+  lt_cv_dlopen_self_static=cross
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<_LT_EOF
+#line $LINENO "configure"
+#include "confdefs.h"
 
-    sysv4)
-      case $host_vendor in
-	sni)
-	  archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  hardcode_direct=yes # is this really true???
-	;;
-	siemens)
-	  ## LD is ld it makes a PLAMLIB
-	  ## CC just makes a GrossModule.
-	  archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-	  reload_cmds='$CC -r -o $output$reload_objs'
-	  hardcode_direct=no
-        ;;
-	motorola)
-	  archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  hardcode_direct=no #Motorola manual says yes, but my tests say they lie
-	;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      hardcode_shlibpath_var=no
-      ;;
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
 
-    sysv4.3*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_shlibpath_var=no
-      export_dynamic_flag_spec='-Bexport'
-      ;;
+#include <stdio.h>
 
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	hardcode_shlibpath_var=no
-	runpath_var=LD_RUN_PATH
-	hardcode_runpath_var=yes
-	ld_shlibs=yes
-      fi
-      ;;
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL		RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL		DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL		0
+#  endif
+#endif
 
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      no_undefined_flag='${wl}-z,text'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      runpath_var='LD_RUN_PATH'
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW		DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW	RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW	DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW	0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
 
-      if test "$GCC" = yes; then
-	archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
+/* When -fvisbility=hidden is used, assume the code has been annotated
+   correspondingly for the symbols needed.  */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+void fnord () __attribute__((visibility("default")));
+#endif
 
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      no_undefined_flag='${wl}-z,text'
-      allow_undefined_flag='${wl}-z,nodefs'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-R,$libdir'
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      export_dynamic_flag_spec='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
+void fnord () { int i=42; }
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
 
-      if test "$GCC" = yes; then
-	archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
       else
-	archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
+        {
+	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
+          else puts (dlerror ());
+	}
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
 
-    *)
-      ld_shlibs=no
-      ;;
+  return status;
+}
+_LT_EOF
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+    (./conftest; exit; ) >&5 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
+      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
+      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
     esac
-
-    if test x$host_vendor = xsni; then
-      case $host in
-      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-	export_dynamic_flag_spec='${wl}-Blargedynsym'
-	;;
-      esac
-    fi
+  else :
+    # compilation failed
+    lt_cv_dlopen_self_static=no
   fi
-
-{ $as_echo "$as_me:$LINENO: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $archive_cmds in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-      $RM conftest*
-      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-      if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } 2>conftest.err; then
-        soname=conftest
-        lib=conftest
-        libobjs=conftest.$ac_objext
-        deplibs=
-        wl=$lt_prog_compiler_wl
-	pic_flag=$lt_prog_compiler_pic
-        compiler_flags=-v
-        linker_flags=-v
-        verstring=
-        output_objdir=.
-        libname=conftest
-        lt_save_allow_undefined_flag=$allow_undefined_flag
-        allow_undefined_flag=
-        if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5
-  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-        then
-	  archive_cmds_need_lc=no
-        else
-	  archive_cmds_need_lc=yes
-        fi
-        allow_undefined_flag=$lt_save_allow_undefined_flag
-      else
-        cat conftest.err 1>&5
-      fi
-      $RM conftest*
-      { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
-$as_echo "$archive_cmds_need_lc" >&6; }
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-
+fi
+rm -fr conftest*
 
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
+$as_echo "$lt_cv_dlopen_self_static" >&6; }
+    fi
 
+    CPPFLAGS="$save_CPPFLAGS"
+    LDFLAGS="$save_LDFLAGS"
+    LIBS="$save_LIBS"
+    ;;
+  esac
 
+  case $lt_cv_dlopen_self in
+  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+  *) enable_dlopen_self=unknown ;;
+  esac
 
+  case $lt_cv_dlopen_self_static in
+  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+  *) enable_dlopen_self_static=unknown ;;
+  esac
+fi
 
 
 
@@ -26052,6 +20916,35 @@ esac
 
 
 
+striplib=
+old_striplib=
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
+$as_echo_n "checking whether stripping libraries is possible... " >&6; }
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+  case $host_os in
+  darwin*)
+    if test -n "$STRIP" ; then
+      striplib="$STRIP -x"
+      old_striplib="$STRIP -S"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+    else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+    fi
+    ;;
+  *)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+    ;;
+  esac
+fi
 
 
 
@@ -26064,55 +20957,423 @@ esac
 
 
 
+  # Report which library types will actually be built
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
+$as_echo_n "checking if libtool supports shared libraries... " >&6; }
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
+$as_echo "$can_build_shared" >&6; }
 
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
+$as_echo_n "checking whether to build shared libraries... " >&6; }
+  test "$can_build_shared" = "no" && enable_shared=no
 
+  # On AIX, shared libraries and static libraries use the same namespace, and
+  # are all built from PIC.
+  case $host_os in
+  aix3*)
+    test "$enable_shared" = yes && enable_static=no
+    if test -n "$RANLIB"; then
+      archive_cmds="$archive_cmds~\$RANLIB \$lib"
+      postinstall_cmds='$RANLIB $lib'
+    fi
+    ;;
 
+  aix[4-9]*)
+    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+      test "$enable_shared" = yes && enable_static=no
+    fi
+    ;;
+  esac
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
+$as_echo "$enable_shared" >&6; }
 
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
+$as_echo_n "checking whether to build static libraries... " >&6; }
+  # Make sure either enable_shared or enable_static is yes.
+  test "$enable_shared" = yes || enable_static=yes
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
+$as_echo "$enable_static" >&6; }
 
 
 
 
+fi
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
+CC="$lt_save_CC"
 
+      if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+    (test "X$CXX" != "Xg++"))) ; then
+  ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
+$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
+if test -z "$CXXCPP"; then
+  if test "${ac_cv_prog_CXXCPP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+      # Double quotes because CXXCPP needs to be expanded
+    for CXXCPP in "$CXX -E" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
 
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
 
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
 
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+  break
+fi
 
+    done
+    ac_cv_prog_CXXCPP=$CXXCPP
 
+fi
+  CXXCPP=$ac_cv_prog_CXXCPP
+else
+  ac_cv_prog_CXXCPP=$CXXCPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
+$as_echo "$CXXCPP" >&6; }
+ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
 
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
 
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
 
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
 
+else
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
+fi
 
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
+else
+  _lt_caught_CXX_error=yes
+fi
 
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
+archive_cmds_need_lc_CXX=no
+allow_undefined_flag_CXX=
+always_export_symbols_CXX=no
+archive_expsym_cmds_CXX=
+compiler_needs_object_CXX=no
+export_dynamic_flag_spec_CXX=
+hardcode_direct_CXX=no
+hardcode_direct_absolute_CXX=no
+hardcode_libdir_flag_spec_CXX=
+hardcode_libdir_flag_spec_ld_CXX=
+hardcode_libdir_separator_CXX=
+hardcode_minus_L_CXX=no
+hardcode_shlibpath_var_CXX=unsupported
+hardcode_automatic_CXX=no
+inherit_rpath_CXX=no
+module_cmds_CXX=
+module_expsym_cmds_CXX=
+link_all_deplibs_CXX=unknown
+old_archive_cmds_CXX=$old_archive_cmds
+reload_flag_CXX=$reload_flag
+reload_cmds_CXX=$reload_cmds
+no_undefined_flag_CXX=
+whole_archive_flag_spec_CXX=
+enable_shared_with_static_runtimes_CXX=no
 
+# Source file extension for C++ test sources.
+ac_ext=cpp
 
+# Object file extension for compiled C++ test sources.
+objext=o
+objext_CXX=$objext
 
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_caught_CXX_error" != yes; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="int some_variable = 0;"
 
+  # Code to be used in simple link tests
+  lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
 
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 
 
 
 
 
 
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
 
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
 
+# Allow CC to be a program name with arguments.
+compiler=$CC
 
 
+  # save warnings/boilerplate of simple test code
+  ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
 
+  ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
 
 
+  # Allow CC to be a program name with arguments.
+  lt_save_CC=$CC
+  lt_save_LD=$LD
+  lt_save_GCC=$GCC
+  GCC=$GXX
+  lt_save_with_gnu_ld=$with_gnu_ld
+  lt_save_path_LD=$lt_cv_path_LD
+  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+  else
+    $as_unset lt_cv_prog_gnu_ld
+  fi
+  if test -n "${lt_cv_path_LDCXX+set}"; then
+    lt_cv_path_LD=$lt_cv_path_LDCXX
+  else
+    $as_unset lt_cv_path_LD
+  fi
+  test -z "${LDCXX+set}" || LD=$LDCXX
+  CC=${CXX-"c++"}
+  compiler=$CC
+  compiler_CXX=$CC
+  for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
 
 
+  if test -n "$compiler"; then
+    # We don't want -fno-exception when compiling C++ code, so set the
+    # no_builtin_flag separately
+    if test "$GXX" = yes; then
+      lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
+    else
+      lt_prog_compiler_no_builtin_flag_CXX=
+    fi
 
+    if test "$GXX" = yes; then
+      # Set up default GNU C++ configuration
 
 
 
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then :
+  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+else
+  with_gnu_ld=no
+fi
 
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [\\/]* | ?:[\\/]*)
+      re_direlt='/[^/][^/]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if test "${lt_cv_path_LD+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$LD"; then
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+	test "$with_gnu_ld" != no && break
+	;;
+      *)
+	test "$with_gnu_ld" != yes && break
+	;;
+      esac
+    fi
+  done
+  IFS="$lt_save_ifs"
+else
+  lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
 
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
+  ;;
+esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$lt_cv_prog_gnu_ld
 
 
 
@@ -26120,760 +21381,1160 @@ esac
 
 
 
+      # Check if GNU C++ uses GNU ld as the underlying linker, since the
+      # archiving commands below assume that GNU ld is being used.
+      if test "$with_gnu_ld" = yes; then
+        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+        archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
 
+        hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+        export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
 
+        # If archive_cmds runs LD, not CC, wlarc should be empty
+        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+        #     investigate it a little bit more. (MM)
+        wlarc='${wl}'
 
+        # ancient GNU ld didn't support --whole-archive et. al.
+        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+	  $GREP 'no-whole-archive' > /dev/null; then
+          whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+        else
+          whole_archive_flag_spec_CXX=
+        fi
+      else
+        with_gnu_ld=no
+        wlarc=
 
+        # A generic and very simple default shared library creation
+        # command for GNU C++ for the case where it uses the native
+        # linker, instead of GNU ld.  If possible, this setting should
+        # overridden to take advantage of the native linker features on
+        # the platform it is being used on.
+        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+      fi
 
+      # Commands to make compiler produce verbose output that lists
+      # what "hidden" libraries, object files and flags are used when
+      # linking a shared library.
+      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
 
+    else
+      GXX=no
+      with_gnu_ld=no
+      wlarc=
+    fi
 
+    # PORTME: fill in a description of your system's C++ link characteristics
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+    ld_shlibs_CXX=yes
+    case $host_os in
+      aix3*)
+        # FIXME: insert proper C++ library support
+        ld_shlibs_CXX=no
+        ;;
+      aix[4-9]*)
+        if test "$host_cpu" = ia64; then
+          # On IA64, the linker does run time linking by default, so we don't
+          # have to do anything special.
+          aix_use_runtimelinking=no
+          exp_sym_flag='-Bexport'
+          no_entry_flag=""
+        else
+          aix_use_runtimelinking=no
 
+          # Test if we are trying to use run time linking or normal
+          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+          # need to do runtime linking.
+          case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+	    for ld_flag in $LDFLAGS; do
+	      case $ld_flag in
+	      *-brtl*)
+	        aix_use_runtimelinking=yes
+	        break
+	        ;;
+	      esac
+	    done
+	    ;;
+          esac
 
+          exp_sym_flag='-bexport'
+          no_entry_flag='-bnoentry'
+        fi
 
+        # When large executables or shared objects are built, AIX ld can
+        # have problems creating the table of contents.  If linking a library
+        # or program results in "error TOC overflow" add -mminimal-toc to
+        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
 
+        archive_cmds_CXX=''
+        hardcode_direct_CXX=yes
+        hardcode_direct_absolute_CXX=yes
+        hardcode_libdir_separator_CXX=':'
+        link_all_deplibs_CXX=yes
+        file_list_spec_CXX='${wl}-f,'
 
+        if test "$GXX" = yes; then
+          case $host_os in aix4.[012]|aix4.[012].*)
+          # We only want to do this on AIX 4.2 and lower, the check
+          # below for broken collect2 doesn't work under 4.3+
+	  collect2name=`${CC} -print-prog-name=collect2`
+	  if test -f "$collect2name" &&
+	     strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+	  then
+	    # We have reworked collect2
+	    :
+	  else
+	    # We have old collect2
+	    hardcode_direct_CXX=unsupported
+	    # It fails to find uninstalled libraries when the uninstalled
+	    # path is not listed in the libpath.  Setting hardcode_minus_L
+	    # to unsupported forces relinking
+	    hardcode_minus_L_CXX=yes
+	    hardcode_libdir_flag_spec_CXX='-L$libdir'
+	    hardcode_libdir_separator_CXX=
+	  fi
+          esac
+          shared_flag='-shared'
+	  if test "$aix_use_runtimelinking" = yes; then
+	    shared_flag="$shared_flag "'${wl}-G'
+	  fi
+        else
+          # not using gcc
+          if test "$host_cpu" = ia64; then
+	  # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+	  # chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+          else
+	    if test "$aix_use_runtimelinking" = yes; then
+	      shared_flag='${wl}-G'
+	    else
+	      shared_flag='${wl}-bM:SRE'
+	    fi
+          fi
+        fi
 
+        export_dynamic_flag_spec_CXX='${wl}-bexpall'
+        # It seems that -bexpall does not export symbols beginning with
+        # underscore (_), so it is better to generate a list of symbols to
+	# export.
+        always_export_symbols_CXX=yes
+        if test "$aix_use_runtimelinking" = yes; then
+          # Warning - without using the other runtime loading flags (-brtl),
+          # -berok will link without error, but may produce a broken library.
+          allow_undefined_flag_CXX='-berok'
+          # Determine the default libpath from the value encoded in an empty
+          # executable.
+          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+int
+main ()
+{
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
 
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+	/^0/ {
+	    s/^0  *\(.*\)$/\1/
+	    p
+	}
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
+          hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
 
+          archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+        else
+          if test "$host_cpu" = ia64; then
+	    hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
+	    allow_undefined_flag_CXX="-z nodefs"
+	    archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+          else
+	    # Determine the default libpath from the value encoded in an
+	    # empty executable.
+	    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+int
+main ()
+{
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
 
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+	/^0/ {
+	    s/^0  *\(.*\)$/\1/
+	    p
+	}
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
+	    hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+	    # Warning - without using the other run time loading flags,
+	    # -berok will link without error, but may produce a broken library.
+	    no_undefined_flag_CXX=' ${wl}-bernotok'
+	    allow_undefined_flag_CXX=' ${wl}-berok'
+	    if test "$with_gnu_ld" = yes; then
+	      # We only use this code for GNU lds that support --whole-archive.
+	      whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	    else
+	      # Exported symbols can be pulled into shared objects from archives
+	      whole_archive_flag_spec_CXX='$convenience'
+	    fi
+	    archive_cmds_need_lc_CXX=yes
+	    # This is similar to how AIX traditionally builds its shared
+	    # libraries.
+	    archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+          fi
+        fi
+        ;;
 
+      beos*)
+	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	  allow_undefined_flag_CXX=unsupported
+	  # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+	  # support --undefined.  This deserves some investigation.  FIXME
+	  archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	else
+	  ld_shlibs_CXX=no
+	fi
+	;;
 
+      chorus*)
+        case $cc_basename in
+          *)
+	  # FIXME: insert proper C++ library support
+	  ld_shlibs_CXX=no
+	  ;;
+        esac
+        ;;
 
+      cygwin* | mingw* | pw32* | cegcc*)
+        # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
+        # as there is no search path for DLLs.
+        hardcode_libdir_flag_spec_CXX='-L$libdir'
+        export_dynamic_flag_spec_CXX='${wl}--export-all-symbols'
+        allow_undefined_flag_CXX=unsupported
+        always_export_symbols_CXX=no
+        enable_shared_with_static_runtimes_CXX=yes
 
+        if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+          archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+          # If the export-symbols file already is a .def file (1st line
+          # is EXPORTS), use it as is; otherwise, prepend...
+          archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	    cp $export_symbols $output_objdir/$soname.def;
+          else
+	    echo EXPORTS > $output_objdir/$soname.def;
+	    cat $export_symbols >> $output_objdir/$soname.def;
+          fi~
+          $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+        else
+          ld_shlibs_CXX=no
+        fi
+        ;;
+      darwin* | rhapsody*)
 
 
+  archive_cmds_need_lc_CXX=no
+  hardcode_direct_CXX=no
+  hardcode_automatic_CXX=yes
+  hardcode_shlibpath_var_CXX=unsupported
+  if test "$lt_cv_ld_force_load" = "yes"; then
+    whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+  else
+    whole_archive_flag_spec_CXX=''
+  fi
+  link_all_deplibs_CXX=yes
+  allow_undefined_flag_CXX="$_lt_dar_allow_undefined"
+  case $cc_basename in
+     ifort*) _lt_dar_can_shared=yes ;;
+     *) _lt_dar_can_shared=$GCC ;;
+  esac
+  if test "$_lt_dar_can_shared" = "yes"; then
+    output_verbose_link_cmd=func_echo_all
+    archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+    module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+    archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+    module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+       if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+      archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+      archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+    fi
 
+  else
+  ld_shlibs_CXX=no
+  fi
 
+	;;
 
+      dgux*)
+        case $cc_basename in
+          ec++*)
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+          ghcx*)
+	    # Green Hills C++ Compiler
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+        esac
+        ;;
 
+      freebsd[12]*)
+        # C++ shared libraries reported to be fairly broken before
+	# switch to ELF
+        ld_shlibs_CXX=no
+        ;;
 
+      freebsd-elf*)
+        archive_cmds_need_lc_CXX=no
+        ;;
 
+      freebsd* | dragonfly*)
+        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+        # conventions
+        ld_shlibs_CXX=yes
+        ;;
 
+      gnu*)
+        ;;
 
+      haiku*)
+        archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+        link_all_deplibs_CXX=yes
+        ;;
 
+      hpux9*)
+        hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+        hardcode_libdir_separator_CXX=:
+        export_dynamic_flag_spec_CXX='${wl}-E'
+        hardcode_direct_CXX=yes
+        hardcode_minus_L_CXX=yes # Not in the search PATH,
+				             # but as the default
+				             # location of the library.
 
+        case $cc_basename in
+          CC*)
+            # FIXME: insert proper C++ library support
+            ld_shlibs_CXX=no
+            ;;
+          aCC*)
+            archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+            # Commands to make compiler produce verbose output that lists
+            # what "hidden" libraries, object files and flags are used when
+            # linking a shared library.
+            #
+            # There doesn't appear to be a way to prevent this compiler from
+            # explicitly linking system object files so we need to strip them
+            # from the output so that they don't get included in the library
+            # dependencies.
+            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+            ;;
+          *)
+            if test "$GXX" = yes; then
+              archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+            else
+              # FIXME: insert proper C++ library support
+              ld_shlibs_CXX=no
+            fi
+            ;;
+        esac
+        ;;
 
+      hpux10*|hpux11*)
+        if test $with_gnu_ld = no; then
+	  hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+	  hardcode_libdir_separator_CXX=:
 
+          case $host_cpu in
+            hppa*64*|ia64*)
+              ;;
+            *)
+	      export_dynamic_flag_spec_CXX='${wl}-E'
+              ;;
+          esac
+        fi
+        case $host_cpu in
+          hppa*64*|ia64*)
+            hardcode_direct_CXX=no
+            hardcode_shlibpath_var_CXX=no
+            ;;
+          *)
+            hardcode_direct_CXX=yes
+            hardcode_direct_absolute_CXX=yes
+            hardcode_minus_L_CXX=yes # Not in the search PATH,
+					         # but as the default
+					         # location of the library.
+            ;;
+        esac
 
+        case $cc_basename in
+          CC*)
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+          aCC*)
+	    case $host_cpu in
+	      hppa*64*)
+	        archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	      ia64*)
+	        archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	      *)
+	        archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	    esac
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+	    ;;
+          *)
+	    if test "$GXX" = yes; then
+	      if test $with_gnu_ld = no; then
+	        case $host_cpu in
+	          hppa*64*)
+	            archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	          ia64*)
+	            archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	          *)
+	            archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	        esac
+	      fi
+	    else
+	      # FIXME: insert proper C++ library support
+	      ld_shlibs_CXX=no
+	    fi
+	    ;;
+        esac
+        ;;
 
+      interix[3-9]*)
+	hardcode_direct_CXX=no
+	hardcode_shlibpath_var_CXX=no
+	hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+	export_dynamic_flag_spec_CXX='${wl}-E'
+	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+	# Instead, shared libraries are loaded at an image base (0x10000000 by
+	# default) and relocated if they conflict, which is a slow very memory
+	# consuming and fragmenting process.  To avoid this, we pick a random,
+	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+	archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+	archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+	;;
+      irix5* | irix6*)
+        case $cc_basename in
+          CC*)
+	    # SGI C++
+	    archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
 
+	    # Archives containing C++ object files must be created using
+	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
+	    # necessary to make sure instantiated templates are included
+	    # in the archive.
+	    old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
+	    ;;
+          *)
+	    if test "$GXX" = yes; then
+	      if test "$with_gnu_ld" = no; then
+	        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	      else
+	        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
+	      fi
+	    fi
+	    link_all_deplibs_CXX=yes
+	    ;;
+        esac
+        hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+        hardcode_libdir_separator_CXX=:
+        inherit_rpath_CXX=yes
+        ;;
 
+      linux* | k*bsd*-gnu | kopensolaris*-gnu)
+        case $cc_basename in
+          KCC*)
+	    # Kuck and Associates, Inc. (KAI) C++ Compiler
 
+	    # KCC will only create a shared library if the output file
+	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
+	    # to its proper name (with version) after linking.
+	    archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+	    archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
 
+	    hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+	    export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
 
+	    # Archives containing C++ object files must be created using
+	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+	    old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
+	    ;;
+	  icpc* | ecpc* )
+	    # Intel C++
+	    with_gnu_ld=yes
+	    # version 8.0 and above of icpc choke on multiply defined symbols
+	    # if we add $predep_objects and $postdep_objects, however 7.1 and
+	    # earlier do not add the objects themselves.
+	    case `$CC -V 2>&1` in
+	      *"Version 7."*)
+	        archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+		archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+		;;
+	      *)  # Version 8.0 or newer
+	        tmp_idyn=
+	        case $host_cpu in
+		  ia64*) tmp_idyn=' -i_dynamic';;
+		esac
+	        archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+		archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+		;;
+	    esac
+	    archive_cmds_need_lc_CXX=no
+	    hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+	    export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+	    whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	    ;;
+          pgCC* | pgcpp*)
+            # Portland Group C++ compiler
+	    case `$CC -V` in
+	    *pgCC\ [1-5].* | *pgcpp\ [1-5].*)
+	      prelink_cmds_CXX='tpldir=Template.dir~
+		rm -rf $tpldir~
+		$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+		compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
+	      old_archive_cmds_CXX='tpldir=Template.dir~
+		rm -rf $tpldir~
+		$CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
+		$RANLIB $oldlib'
+	      archive_cmds_CXX='tpldir=Template.dir~
+		rm -rf $tpldir~
+		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+	      archive_expsym_cmds_CXX='tpldir=Template.dir~
+		rm -rf $tpldir~
+		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+	      ;;
+	    *) # Version 6 and above use weak symbols
+	      archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+	      archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+	      ;;
+	    esac
 
+	    hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
+	    export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+	    whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+            ;;
+	  cxx*)
+	    # Compaq C++
+	    archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	    archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
 
+	    runpath_var=LD_RUN_PATH
+	    hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+	    hardcode_libdir_separator_CXX=:
 
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
+	    ;;
+	  xl* | mpixl* | bgxl*)
+	    # IBM XL 8.0 on PPC, with GNU ld
+	    hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+	    export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+	    archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	    if test "x$supports_anon_versioning" = xyes; then
+	      archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~
+		cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+		echo "local: *; };" >> $output_objdir/$libname.ver~
+		$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+	    fi
+	    ;;
+	  *)
+	    case `$CC -V 2>&1 | sed 5q` in
+	    *Sun\ C*)
+	      # Sun C++ 5.9
+	      no_undefined_flag_CXX=' -zdefs'
+	      archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+	      hardcode_libdir_flag_spec_CXX='-R$libdir'
+	      whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+	      compiler_needs_object_CXX=yes
 
+	      # Not sure whether something based on
+	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+	      # would be better.
+	      output_verbose_link_cmd='func_echo_all'
 
+	      # Archives containing C++ object files must be created using
+	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	      # necessary to make sure instantiated templates are included
+	      # in the archive.
+	      old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+	      ;;
+	    esac
+	    ;;
+	esac
+	;;
 
+      lynxos*)
+        # FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
 
+      m88k*)
+        # FIXME: insert proper C++ library support
+        ld_shlibs_CXX=no
+	;;
 
+      mvs*)
+        case $cc_basename in
+          cxx*)
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+	  *)
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+	esac
+	;;
 
+      netbsd*)
+        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	  archive_cmds_CXX='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+	  wlarc=
+	  hardcode_libdir_flag_spec_CXX='-R$libdir'
+	  hardcode_direct_CXX=yes
+	  hardcode_shlibpath_var_CXX=no
+	fi
+	# Workaround some broken pre-1.5 toolchains
+	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+	;;
 
-  { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
+      *nto* | *qnx*)
+        ld_shlibs_CXX=yes
+	;;
 
-if test "$GCC" = yes; then
-  case $host_os in
-    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-    *) lt_awk_arg="/^libraries:/" ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-  if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
-  else
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-  fi
-  # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary.
-  lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
-  for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-    else
-      test -d "$lt_sys_path" && \
-	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
-    fi
-  done
-  lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
-BEGIN {RS=" "; FS="/|\n";} {
-  lt_foo="";
-  lt_count=0;
-  for (lt_i = NF; lt_i > 0; lt_i--) {
-    if ($lt_i != "" && $lt_i != ".") {
-      if ($lt_i == "..") {
-        lt_count++;
-      } else {
-        if (lt_count == 0) {
-          lt_foo="/" $lt_i lt_foo;
-        } else {
-          lt_count--;
-        }
-      }
-    }
-  }
-  if (lt_foo != "") { lt_freq[lt_foo]++; }
-  if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
-  sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
+      openbsd2*)
+        # C++ shared libraries are fairly broken
+	ld_shlibs_CXX=no
+	;;
 
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
+      openbsd*)
+	if test -f /usr/libexec/ld.so; then
+	  hardcode_direct_CXX=yes
+	  hardcode_shlibpath_var_CXX=no
+	  hardcode_direct_absolute_CXX=yes
+	  archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+	  hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	    archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+	    export_dynamic_flag_spec_CXX='${wl}-E'
+	    whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+	  fi
+	  output_verbose_link_cmd=func_echo_all
+	else
+	  ld_shlibs_CXX=no
+	fi
+	;;
 
-case $host_os in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
+      osf3* | osf4* | osf5*)
+        case $cc_basename in
+          KCC*)
+	    # Kuck and Associates, Inc. (KAI) C++ Compiler
 
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
+	    # KCC will only create a shared library if the output file
+	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
+	    # to its proper name (with version) after linking.
+	    archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
 
-aix[4-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[01] | aix4.[01].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-	   echo ' yes '
-	   echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
-	:
-      else
-	can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
+	    hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+	    hardcode_libdir_separator_CXX=:
 
-amigaos*)
-  case $host_cpu in
-  powerpc)
-    # Since July 2007 AmigaOS4 officially supports .so libraries.
-    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    ;;
-  m68k)
-    library_names_spec='$libname.ixlibrary $libname.a'
-    # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-    ;;
-  esac
-  ;;
+	    # Archives containing C++ object files must be created using
+	    # the KAI C++ compiler.
+	    case $host in
+	      osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;;
+	      *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;;
+	    esac
+	    ;;
+          RCC*)
+	    # Rational C++ 2.4.1
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+          cxx*)
+	    case $host in
+	      osf3*)
+	        allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+	        archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+	        hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+		;;
+	      *)
+	        allow_undefined_flag_CXX=' -expect_unresolved \*'
+	        archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+	        archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+	          echo "-hidden">> $lib.exp~
+	          $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp  `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
+	          $RM $lib.exp'
+	        hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+		;;
+	    esac
 
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
+	    hardcode_libdir_separator_CXX=:
 
-bsdi[45]*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+	    ;;
+	  *)
+	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	      allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+	      case $host in
+	        osf3*)
+	          archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+		  ;;
+	        *)
+	          archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+		  ;;
+	      esac
 
-cygwin* | mingw* | pw32* | cegcc*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
+	      hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+	      hardcode_libdir_separator_CXX=:
 
-  case $GCC,$host_os in
-  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname~
-      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-      fi'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
+	      # Commands to make compiler produce verbose output that lists
+	      # what "hidden" libraries, object files and flags are used when
+	      # linking a shared library.
+	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
 
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
-      ;;
-    mingw* | cegcc*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
-        # It is most probably a Windows format PATH printed by
-        # mingw gcc, but we are running on Cygwin. Gcc prints its search
-        # path with ; separators, and with drive letters. We can handle the
-        # drive letters (cygwin fileutils understands them), so leave them,
-        # especially as we might pass files found there to a mingw objdump,
-        # which wouldn't understand a cygwinified path. Ahh.
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    ;;
+	    else
+	      # FIXME: insert proper C++ library support
+	      ld_shlibs_CXX=no
+	    fi
+	    ;;
+        esac
+        ;;
 
-  *)
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    ;;
-  esac
-  dynamic_linker='Win32 ld.exe'
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
+      psos*)
+        # FIXME: insert proper C++ library support
+        ld_shlibs_CXX=no
+        ;;
 
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+      sunos4*)
+        case $cc_basename in
+          CC*)
+	    # Sun C++ 4.x
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+          lcc*)
+	    # Lucid
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+        esac
+        ;;
 
-  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
+      solaris*)
+        case $cc_basename in
+          CC* | sunCC*)
+	    # Sun C++ 4.2, 5.x and Centerline C++
+            archive_cmds_need_lc_CXX=yes
+	    no_undefined_flag_CXX=' -zdefs'
+	    archive_cmds_CXX='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	    archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+	      $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
 
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
+	    hardcode_libdir_flag_spec_CXX='-R$libdir'
+	    hardcode_shlibpath_var_CXX=no
+	    case $host_os in
+	      solaris2.[0-5] | solaris2.[0-5].*) ;;
+	      *)
+		# The compiler driver will combine and reorder linker options,
+		# but understands `-z linker_flag'.
+	        # Supported since Solaris 2.6 (maybe 2.5.1?)
+		whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
+	        ;;
+	    esac
+	    link_all_deplibs_CXX=yes
 
-freebsd1*)
-  dynamic_linker=no
-  ;;
+	    output_verbose_link_cmd='func_echo_all'
 
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[123]*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
-  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
+	    # Archives containing C++ object files must be created using
+	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	    # necessary to make sure instantiated templates are included
+	    # in the archive.
+	    old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+	    ;;
+          gcx*)
+	    # Green Hills C++ Compiler
+	    archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
 
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  ;;
+	    # The C++ compiler must be used to create the archive.
+	    old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+	    ;;
+          *)
+	    # GNU C++ compiler with Solaris linker
+	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	      no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
+	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+	        archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	        archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+		  $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
 
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  hppa*64*)
-    shrext_cmds='.sl'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555.
-  postinstall_cmds='chmod 555 $lib'
-  ;;
+	        # Commands to make compiler produce verbose output that lists
+	        # what "hidden" libraries, object files and flags are used when
+	        # linking a shared library.
+	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+	      else
+	        # g++ 2.7 appears to require `-G' NOT `-shared' on this
+	        # platform.
+	        archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	        archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+		  $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
 
-interix[3-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
+	        # Commands to make compiler produce verbose output that lists
+	        # what "hidden" libraries, object files and flags are used when
+	        # linking a shared library.
+	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+	      fi
 
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-	if test "$lt_cv_prog_gnu_ld" = yes; then
-		version_type=linux
-	else
-		version_type=irix
-	fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
+	      hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
+	      case $host_os in
+		solaris2.[0-5] | solaris2.[0-5].*) ;;
+		*)
+		  whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+		  ;;
+	      esac
+	    fi
+	    ;;
+        esac
+        ;;
 
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  # Some binutils ld are patched to set DT_RUNPATH
-  save_LDFLAGS=$LDFLAGS
-  save_libdir=$libdir
-  eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
-       LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+      no_undefined_flag_CXX='${wl}-z,text'
+      archive_cmds_need_lc_CXX=no
+      hardcode_shlibpath_var_CXX=no
+      runpath_var='LD_RUN_PATH'
 
-int
-main ()
-{
+      case $cc_basename in
+        CC*)
+	  archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+      esac
+      ;;
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then
-  shlibpath_overrides_runpath=yes
-fi
+      sysv5* | sco3.2v5* | sco5v6*)
+	# Note: We can NOT use -z defs as we might desire, because we do not
+	# link with -lc, and that would cause any symbols used from libc to
+	# always be unresolved, which means just about no library would
+	# ever link correctly.  If we're not using GNU ld we use -z text
+	# though, which does catch some bad symbols but isn't as heavy-handed
+	# as -z defs.
+	no_undefined_flag_CXX='${wl}-z,text'
+	allow_undefined_flag_CXX='${wl}-z,nodefs'
+	archive_cmds_need_lc_CXX=no
+	hardcode_shlibpath_var_CXX=no
+	hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir'
+	hardcode_libdir_separator_CXX=':'
+	link_all_deplibs_CXX=yes
+	export_dynamic_flag_spec_CXX='${wl}-Bexport'
+	runpath_var='LD_RUN_PATH'
 
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+	case $cc_basename in
+          CC*)
+	    archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~
+	      '"$old_archive_cmds_CXX"
+	    reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~
+	      '"$reload_cmds_CXX"
+	    ;;
+	  *)
+	    archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    ;;
+	esac
+      ;;
 
+      tandem*)
+        case $cc_basename in
+          NCC*)
+	    # NonStop-UX NCC 3.20
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+        esac
+        ;;
 
-fi
+      vxworks*)
+        # FIXME: insert proper C++ library support
+        ld_shlibs_CXX=no
+        ;;
 
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-  LDFLAGS=$save_LDFLAGS
-  libdir=$save_libdir
+      *)
+        # FIXME: insert proper C++ library support
+        ld_shlibs_CXX=no
+        ;;
+    esac
 
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
+$as_echo "$ld_shlibs_CXX" >&6; }
+    test "$ld_shlibs_CXX" = no && can_build_shared=no
 
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
+    GCC_CXX="$GXX"
+    LD_CXX="$LD"
 
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
+    ## CAVEAT EMPTOR:
+    ## There is no encapsulation within the following macros, do not change
+    ## the running order or otherwise move them around unless you know exactly
+    ## what you are doing...
+    # Dependencies to place before and after the object being linked:
+predep_objects_CXX=
+postdep_objects_CXX=
+predeps_CXX=
+postdeps_CXX=
+compiler_lib_search_path_CXX=
 
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
+cat > conftest.$ac_ext <<_LT_EOF
+class Foo
+{
+public:
+  Foo (void) { a = 0; }
+private:
+  int a;
+};
+_LT_EOF
 
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
+if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  # Parse the compiler output and extract the necessary
+  # objects, libraries and library flags.
 
-*nto* | *qnx*)
-  version_type=qnx
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='ldqnx.so'
-  ;;
+  # Sentinel used to keep track of whether or not we are before
+  # the conftest object file.
+  pre_test_object_deps_done=no
 
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
-  need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*)	need_version=yes ;;
-    *)				need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[89] | openbsd2.[89].*)
-	shlibpath_overrides_runpath=no
-	;;
-      *)
-	shlibpath_overrides_runpath=yes
-	;;
-      esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
+  for p in `eval "$output_verbose_link_cmd"`; do
+    case $p in
 
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
+    -L* | -R* | -l*)
+       # Some compilers place space between "-{L,R}" and the path.
+       # Remove the space.
+       if test $p = "-L" ||
+          test $p = "-R"; then
+	 prev=$p
+	 continue
+       else
+	 prev=
+       fi
 
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
+       if test "$pre_test_object_deps_done" = no; then
+	 case $p in
+	 -L* | -R*)
+	   # Internal compiler library paths should come after those
+	   # provided the user.  The postdeps already come after the
+	   # user supplied libs so there is no need to process them.
+	   if test -z "$compiler_lib_search_path_CXX"; then
+	     compiler_lib_search_path_CXX="${prev}${p}"
+	   else
+	     compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}"
+	   fi
+	   ;;
+	 # The "-l" case would never come before the object being
+	 # linked, so don't bother handling this case.
+	 esac
+       else
+	 if test -z "$postdeps_CXX"; then
+	   postdeps_CXX="${prev}${p}"
+	 else
+	   postdeps_CXX="${postdeps_CXX} ${prev}${p}"
+	 fi
+       fi
+       ;;
 
-rdos*)
-  dynamic_linker=no
-  ;;
+    *.$objext)
+       # This assumes that the test object file only shows up
+       # once in the compiler output.
+       if test "$p" = "conftest.$objext"; then
+	 pre_test_object_deps_done=yes
+	 continue
+       fi
 
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
+       if test "$pre_test_object_deps_done" = no; then
+	 if test -z "$predep_objects_CXX"; then
+	   predep_objects_CXX="$p"
+	 else
+	   predep_objects_CXX="$predep_objects_CXX $p"
+	 fi
+       else
+	 if test -z "$postdep_objects_CXX"; then
+	   postdep_objects_CXX="$p"
+	 else
+	   postdep_objects_CXX="$postdep_objects_CXX $p"
+	 fi
+       fi
+       ;;
 
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
+    *) ;; # Ignore the rest.
 
-sysv4 | sysv4.3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
+    esac
+  done
 
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
+  # Clean up.
+  rm -f a.out a.exe
+else
+  echo "libtool.m4: error: problem compiling CXX test program"
+fi
+
+$RM -f confest.$objext
+
+# PORTME: override above test on systems where it is broken
+case $host_os in
+interix[3-9]*)
+  # Interix 3.5 installs completely hosed .la files for C++, so rather than
+  # hack all around it, let's just trust "g++" to DTRT.
+  predep_objects_CXX=
+  postdep_objects_CXX=
+  postdeps_CXX=
   ;;
 
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-	;;
+linux*)
+  case `$CC -V 2>&1 | sed 5q` in
+  *Sun\ C*)
+    # Sun C++ 5.9
+
+    # The more standards-conforming stlport4 library is
+    # incompatible with the Cstd library. Avoid specifying
+    # it if it's in CXXFLAGS. Ignore libCrun as
+    # -library=stlport4 depends on it.
+    case " $CXX $CXXFLAGS " in
+    *" -library=stlport4 "*)
+      solaris_use_stlport4=yes
+      ;;
     esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
 
-tpf*)
-  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
+    if test "$solaris_use_stlport4" != yes; then
+      postdeps_CXX='-library=Cstd -library=Crun'
+    fi
+    ;;
+  esac
   ;;
 
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
+solaris*)
+  case $cc_basename in
+  CC* | sunCC*)
+    # The more standards-conforming stlport4 library is
+    # incompatible with the Cstd library. Avoid specifying
+    # it if it's in CXXFLAGS. Ignore libCrun as
+    # -library=stlport4 depends on it.
+    case " $CXX $CXXFLAGS " in
+    *" -library=stlport4 "*)
+      solaris_use_stlport4=yes
+      ;;
+    esac
 
-*)
-  dynamic_linker=no
+    # Adding this requires a known-good setup of shared libraries for
+    # Sun compiler versions before 5.6, else PIC objects from an old
+    # archive will be linked into the output, leading to subtle bugs.
+    if test "$solaris_use_stlport4" != yes; then
+      postdeps_CXX='-library=Cstd -library=Crun'
+    fi
+    ;;
+  esac
   ;;
 esac
-{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
 
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
 
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+case " $postdeps_CXX " in
+*" -lc "*) archive_cmds_need_lc_CXX=no ;;
+esac
+ compiler_lib_search_dirs_CXX=
+if test -n "${compiler_lib_search_path_CXX}"; then
+ compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
 fi
 
 
@@ -26906,4507 +22567,1458 @@ fi
 
 
 
+    lt_prog_compiler_wl_CXX=
+lt_prog_compiler_pic_CXX=
+lt_prog_compiler_static_CXX=
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
 
+  # C++ specific cases for pic, static, wl, etc.
+  if test "$GXX" = yes; then
+    lt_prog_compiler_wl_CXX='-Wl,'
+    lt_prog_compiler_static_CXX='-static'
 
+    case $host_os in
+    aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static_CXX='-Bstatic'
+      fi
+      ;;
 
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            lt_prog_compiler_pic_CXX='-fPIC'
+        ;;
+      m68k)
+            # FIXME: we need at least 68020 code to build shared libraries, but
+            # adding the `-m68020' flag to GCC prevents building anything better,
+            # like `-m68040'.
+            lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
+      ;;
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
-   test -n "$runpath_var" ||
-   test "X$hardcode_automatic" = "Xyes" ; then
-
-  # We can hardcode non-existent directories.
-  if test "$hardcode_direct" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
-     test "$hardcode_minus_L" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action=relink
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+    mingw* | cygwin* | os2* | pw32* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
+      lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
+      ;;
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      lt_prog_compiler_pic_CXX='-fno-common'
+      ;;
+    *djgpp*)
+      # DJGPP does not support shared libraries at all
+      lt_prog_compiler_pic_CXX=
+      ;;
+    haiku*)
+      # PIC is the default for Haiku.
+      # The "-static" flag exists, but is broken.
+      lt_prog_compiler_static_CXX=
+      ;;
+    interix[3-9]*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	lt_prog_compiler_pic_CXX=-Kconform_pic
+      fi
+      ;;
+    hpux*)
+      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
+      # sets the default TLS model and affects inlining.
+      case $host_cpu in
+      hppa*64*)
+	;;
+      *)
+	lt_prog_compiler_pic_CXX='-fPIC'
+	;;
+      esac
+      ;;
+    *qnx* | *nto*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      lt_prog_compiler_pic_CXX='-fPIC -shared'
+      ;;
+    *)
+      lt_prog_compiler_pic_CXX='-fPIC'
+      ;;
+    esac
   else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action=unsupported
-fi
-{ $as_echo "$as_me:$LINENO: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-
-if test "$hardcode_action" = relink ||
-   test "$inherit_rpath" = yes; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-
-
-
-
-
-  if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
-
-  case $host_os in
-  beos*)
-    lt_cv_dlopen="load_add_on"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
-
-  mingw* | pw32* | cegcc*)
-    lt_cv_dlopen="LoadLibrary"
-    lt_cv_dlopen_libs=
-    ;;
-
-  cygwin*)
-    lt_cv_dlopen="dlopen"
-    lt_cv_dlopen_libs=
-    ;;
-
-  darwin*)
-  # if libdl is installed we need to link against it
-    { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  ac_cv_lib_dl_dlopen=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_lib_dl_dlopen=no
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
-    lt_cv_dlopen="dyld"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-
-fi
-
-    ;;
-
-  *)
-    { $as_echo "$as_me:$LINENO: checking for shl_load" >&5
-$as_echo_n "checking for shl_load... " >&6; }
-if test "${ac_cv_func_shl_load+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define shl_load innocuous_shl_load
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char shl_load (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef shl_load
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_shl_load || defined __stub___shl_load
-choke me
-#endif
-
-int
-main ()
-{
-return shl_load ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  ac_cv_func_shl_load=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_func_shl_load=no
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
-$as_echo "$ac_cv_func_shl_load" >&6; }
-if test "x$ac_cv_func_shl_load" = x""yes; then
-  lt_cv_dlopen="shl_load"
-else
-  { $as_echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  ac_cv_lib_dld_shl_load=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_lib_dld_shl_load=no
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = x""yes; then
-  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
-  { $as_echo "$as_me:$LINENO: checking for dlopen" >&5
-$as_echo_n "checking for dlopen... " >&6; }
-if test "${ac_cv_func_dlopen+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define dlopen innocuous_dlopen
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char dlopen (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef dlopen
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_dlopen || defined __stub___dlopen
-choke me
-#endif
-
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  ac_cv_func_dlopen=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_func_dlopen=no
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
-$as_echo "$ac_cv_func_dlopen" >&6; }
-if test "x$ac_cv_func_dlopen" = x""yes; then
-  lt_cv_dlopen="dlopen"
-else
-  { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  ac_cv_lib_dl_dlopen=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_lib_dl_dlopen=no
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-  { $as_echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  ac_cv_lib_svld_dlopen=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_lib_svld_dlopen=no
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = x""yes; then
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
-  { $as_echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  ac_cv_lib_dld_dld_link=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_lib_dld_dld_link=no
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = x""yes; then
-  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-    ;;
-  esac
-
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
-    enable_dlopen=no
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
-    save_LDFLAGS="$LDFLAGS"
-    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
-    save_LIBS="$LIBS"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-    { $as_echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  	  if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line 27608 "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL		RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL		DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL		0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW		DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW	RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW	DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW	0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-void fnord() { int i=42;}
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
-
-    if test "x$lt_cv_dlopen_self" = xyes; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      { $as_echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  	  if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self_static=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line 27704 "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL		RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL		DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL		0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW		DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW	RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW	DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW	0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-void fnord() { int i=42;}
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self_static=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
-    fi
-
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
-    ;;
-  esac
-
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-striplib=
-old_striplib=
-{ $as_echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-  darwin*)
-    if test -n "$STRIP" ; then
-      striplib="$STRIP -x"
-      old_striplib="$STRIP -S"
-      { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-    else
-      { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-    fi
-    ;;
-  *)
-    { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-    ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-  # Report which library types will actually be built
-  { $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
-  { $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
-  { $as_echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
-  test "$can_build_shared" = "no" && enable_shared=no
-
-  # On AIX, shared libraries and static libraries use the same namespace, and
-  # are all built from PIC.
-  case $host_os in
-  aix3*)
-    test "$enable_shared" = yes && enable_static=no
-    if test -n "$RANLIB"; then
-      archive_cmds="$archive_cmds~\$RANLIB \$lib"
-      postinstall_cmds='$RANLIB $lib'
-    fi
-    ;;
-
-  aix[4-9]*)
-    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-      test "$enable_shared" = yes && enable_static=no
-    fi
-    ;;
-  esac
-  { $as_echo "$as_me:$LINENO: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
-  { $as_echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
-  # Make sure either enable_shared or enable_static is yes.
-  test "$enable_shared" = yes || enable_static=yes
-  { $as_echo "$as_me:$LINENO: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
-fi
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-CC="$lt_save_CC"
-
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-archive_cmds_need_lc_CXX=no
-allow_undefined_flag_CXX=
-always_export_symbols_CXX=no
-archive_expsym_cmds_CXX=
-compiler_needs_object_CXX=no
-export_dynamic_flag_spec_CXX=
-hardcode_direct_CXX=no
-hardcode_direct_absolute_CXX=no
-hardcode_libdir_flag_spec_CXX=
-hardcode_libdir_flag_spec_ld_CXX=
-hardcode_libdir_separator_CXX=
-hardcode_minus_L_CXX=no
-hardcode_shlibpath_var_CXX=unsupported
-hardcode_automatic_CXX=no
-inherit_rpath_CXX=no
-module_cmds_CXX=
-module_expsym_cmds_CXX=
-link_all_deplibs_CXX=unknown
-old_archive_cmds_CXX=$old_archive_cmds
-no_undefined_flag_CXX=
-whole_archive_flag_spec_CXX=
-enable_shared_with_static_runtimes_CXX=no
-
-# Source file extension for C++ test sources.
-ac_ext=cpp
-
-# Object file extension for compiled C++ test sources.
-objext=o
-objext_CXX=$objext
-
-# No sense in running all these tests if we already determined that
-# the CXX compiler isn't working.  Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_caught_CXX_error" != yes; then
-  # Code to be used in simple compile tests
-  lt_simple_compile_test_code="int some_variable = 0;"
-
-  # Code to be used in simple link tests
-  lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
-
-  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-  # save warnings/boilerplate of simple test code
-  ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-  ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-  # Allow CC to be a program name with arguments.
-  lt_save_CC=$CC
-  lt_save_LD=$LD
-  lt_save_GCC=$GCC
-  GCC=$GXX
-  lt_save_with_gnu_ld=$with_gnu_ld
-  lt_save_path_LD=$lt_cv_path_LD
-  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
-    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-  else
-    $as_unset lt_cv_prog_gnu_ld
-  fi
-  if test -n "${lt_cv_path_LDCXX+set}"; then
-    lt_cv_path_LD=$lt_cv_path_LDCXX
-  else
-    $as_unset lt_cv_path_LD
-  fi
-  test -z "${LDCXX+set}" || LD=$LDCXX
-  CC=${CXX-"c++"}
-  compiler=$CC
-  compiler_CXX=$CC
-  for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-
-  if test -n "$compiler"; then
-    # We don't want -fno-exception when compiling C++ code, so set the
-    # no_builtin_flag separately
-    if test "$GXX" = yes; then
-      lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
-    else
-      lt_prog_compiler_no_builtin_flag_CXX=
-    fi
-
-    if test "$GXX" = yes; then
-      # Set up default GNU C++ configuration
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
-  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
-      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
-	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
-  { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if test "${lt_cv_path_LD+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-	test "$with_gnu_ld" != no && break
-	;;
-      *)
-	test "$with_gnu_ld" != yes && break
-	;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  { $as_echo "$as_me:$LINENO: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
-   { (exit 1); exit 1; }; }
-{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac
-fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-      # Check if GNU C++ uses GNU ld as the underlying linker, since the
-      # archiving commands below assume that GNU ld is being used.
-      if test "$with_gnu_ld" = yes; then
-        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-        archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-
-        hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
-        export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-
-        # If archive_cmds runs LD, not CC, wlarc should be empty
-        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
-        #     investigate it a little bit more. (MM)
-        wlarc='${wl}'
-
-        # ancient GNU ld didn't support --whole-archive et. al.
-        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
-	  $GREP 'no-whole-archive' > /dev/null; then
-          whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-        else
-          whole_archive_flag_spec_CXX=
-        fi
-      else
-        with_gnu_ld=no
-        wlarc=
-
-        # A generic and very simple default shared library creation
-        # command for GNU C++ for the case where it uses the native
-        # linker, instead of GNU ld.  If possible, this setting should
-        # overridden to take advantage of the native linker features on
-        # the platform it is being used on.
-        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-      fi
-
-      # Commands to make compiler produce verbose output that lists
-      # what "hidden" libraries, object files and flags are used when
-      # linking a shared library.
-      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
-
-    else
-      GXX=no
-      with_gnu_ld=no
-      wlarc=
-    fi
-
-    # PORTME: fill in a description of your system's C++ link characteristics
-    { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-    ld_shlibs_CXX=yes
-    case $host_os in
-      aix3*)
-        # FIXME: insert proper C++ library support
-        ld_shlibs_CXX=no
-        ;;
-      aix[4-9]*)
-        if test "$host_cpu" = ia64; then
-          # On IA64, the linker does run time linking by default, so we don't
-          # have to do anything special.
-          aix_use_runtimelinking=no
-          exp_sym_flag='-Bexport'
-          no_entry_flag=""
-        else
-          aix_use_runtimelinking=no
-
-          # Test if we are trying to use run time linking or normal
-          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-          # need to do runtime linking.
-          case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-	    for ld_flag in $LDFLAGS; do
-	      case $ld_flag in
-	      *-brtl*)
-	        aix_use_runtimelinking=yes
-	        break
-	        ;;
-	      esac
-	    done
-	    ;;
-          esac
-
-          exp_sym_flag='-bexport'
-          no_entry_flag='-bnoentry'
-        fi
-
-        # When large executables or shared objects are built, AIX ld can
-        # have problems creating the table of contents.  If linking a library
-        # or program results in "error TOC overflow" add -mminimal-toc to
-        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-        archive_cmds_CXX=''
-        hardcode_direct_CXX=yes
-        hardcode_direct_absolute_CXX=yes
-        hardcode_libdir_separator_CXX=':'
-        link_all_deplibs_CXX=yes
-        file_list_spec_CXX='${wl}-f,'
-
-        if test "$GXX" = yes; then
-          case $host_os in aix4.[012]|aix4.[012].*)
-          # We only want to do this on AIX 4.2 and lower, the check
-          # below for broken collect2 doesn't work under 4.3+
-	  collect2name=`${CC} -print-prog-name=collect2`
-	  if test -f "$collect2name" &&
-	     strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-	  then
-	    # We have reworked collect2
-	    :
-	  else
-	    # We have old collect2
-	    hardcode_direct_CXX=unsupported
-	    # It fails to find uninstalled libraries when the uninstalled
-	    # path is not listed in the libpath.  Setting hardcode_minus_L
-	    # to unsupported forces relinking
-	    hardcode_minus_L_CXX=yes
-	    hardcode_libdir_flag_spec_CXX='-L$libdir'
-	    hardcode_libdir_separator_CXX=
-	  fi
-          esac
-          shared_flag='-shared'
-	  if test "$aix_use_runtimelinking" = yes; then
-	    shared_flag="$shared_flag "'${wl}-G'
-	  fi
-        else
-          # not using gcc
-          if test "$host_cpu" = ia64; then
-	  # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-	  # chokes on -Wl,-G. The following line is correct:
-	  shared_flag='-G'
-          else
-	    if test "$aix_use_runtimelinking" = yes; then
-	      shared_flag='${wl}-G'
-	    else
-	      shared_flag='${wl}-bM:SRE'
-	    fi
-          fi
-        fi
-
-        export_dynamic_flag_spec_CXX='${wl}-bexpall'
-        # It seems that -bexpall does not export symbols beginning with
-        # underscore (_), so it is better to generate a list of symbols to
-	# export.
-        always_export_symbols_CXX=yes
-        if test "$aix_use_runtimelinking" = yes; then
-          # Warning - without using the other runtime loading flags (-brtl),
-          # -berok will link without error, but may produce a broken library.
-          allow_undefined_flag_CXX='-berok'
-          # Determine the default libpath from the value encoded in an empty
-          # executable.
-          cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-	/^0/ {
-	    s/^0  *\(.*\)$/\1/
-	    p
-	}
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-          hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
-
-          archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-        else
-          if test "$host_cpu" = ia64; then
-	    hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
-	    allow_undefined_flag_CXX="-z nodefs"
-	    archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-          else
-	    # Determine the default libpath from the value encoded in an
-	    # empty executable.
-	    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-	/^0/ {
-	    s/^0  *\(.*\)$/\1/
-	    p
-	}
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-	    hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
-	    # Warning - without using the other run time loading flags,
-	    # -berok will link without error, but may produce a broken library.
-	    no_undefined_flag_CXX=' ${wl}-bernotok'
-	    allow_undefined_flag_CXX=' ${wl}-berok'
-	    # Exported symbols can be pulled into shared objects from archives
-	    whole_archive_flag_spec_CXX='$convenience'
-	    archive_cmds_need_lc_CXX=yes
-	    # This is similar to how AIX traditionally builds its shared
-	    # libraries.
-	    archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-          fi
-        fi
-        ;;
-
-      beos*)
-	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	  allow_undefined_flag_CXX=unsupported
-	  # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
-	  # support --undefined.  This deserves some investigation.  FIXME
-	  archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	else
-	  ld_shlibs_CXX=no
-	fi
-	;;
-
-      chorus*)
-        case $cc_basename in
-          *)
-	  # FIXME: insert proper C++ library support
-	  ld_shlibs_CXX=no
-	  ;;
-        esac
-        ;;
-
-      cygwin* | mingw* | pw32* | cegcc*)
-        # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
-        # as there is no search path for DLLs.
-        hardcode_libdir_flag_spec_CXX='-L$libdir'
-        allow_undefined_flag_CXX=unsupported
-        always_export_symbols_CXX=no
-        enable_shared_with_static_runtimes_CXX=yes
-
-        if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-          archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-          # If the export-symbols file already is a .def file (1st line
-          # is EXPORTS), use it as is; otherwise, prepend...
-          archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-	    cp $export_symbols $output_objdir/$soname.def;
-          else
-	    echo EXPORTS > $output_objdir/$soname.def;
-	    cat $export_symbols >> $output_objdir/$soname.def;
-          fi~
-          $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-        else
-          ld_shlibs_CXX=no
-        fi
-        ;;
-      darwin* | rhapsody*)
-
-
-  archive_cmds_need_lc_CXX=no
-  hardcode_direct_CXX=no
-  hardcode_automatic_CXX=yes
-  hardcode_shlibpath_var_CXX=unsupported
-  whole_archive_flag_spec_CXX=''
-  link_all_deplibs_CXX=yes
-  allow_undefined_flag_CXX="$_lt_dar_allow_undefined"
-  case $cc_basename in
-     ifort*) _lt_dar_can_shared=yes ;;
-     *) _lt_dar_can_shared=$GCC ;;
-  esac
-  if test "$_lt_dar_can_shared" = "yes"; then
-    output_verbose_link_cmd=echo
-    archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-    module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-    archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-    module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-       if test "$lt_cv_apple_cc_single_mod" != "yes"; then
-      archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
-      archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
-    fi
-
-  else
-  ld_shlibs_CXX=no
-  fi
-
-	;;
-
-      dgux*)
-        case $cc_basename in
-          ec++*)
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-          ghcx*)
-	    # Green Hills C++ Compiler
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-          *)
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-        esac
-        ;;
-
-      freebsd[12]*)
-        # C++ shared libraries reported to be fairly broken before
-	# switch to ELF
-        ld_shlibs_CXX=no
-        ;;
-
-      freebsd-elf*)
-        archive_cmds_need_lc_CXX=no
-        ;;
-
-      freebsd* | dragonfly*)
-        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
-        # conventions
-        ld_shlibs_CXX=yes
-        ;;
-
-      gnu*)
-        ;;
-
-      hpux9*)
-        hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
-        hardcode_libdir_separator_CXX=:
-        export_dynamic_flag_spec_CXX='${wl}-E'
-        hardcode_direct_CXX=yes
-        hardcode_minus_L_CXX=yes # Not in the search PATH,
-				             # but as the default
-				             # location of the library.
-
-        case $cc_basename in
-          CC*)
-            # FIXME: insert proper C++ library support
-            ld_shlibs_CXX=no
-            ;;
-          aCC*)
-            archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-            # Commands to make compiler produce verbose output that lists
-            # what "hidden" libraries, object files and flags are used when
-            # linking a shared library.
-            #
-            # There doesn't appear to be a way to prevent this compiler from
-            # explicitly linking system object files so we need to strip them
-            # from the output so that they don't get included in the library
-            # dependencies.
-            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
-            ;;
-          *)
-            if test "$GXX" = yes; then
-              archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-            else
-              # FIXME: insert proper C++ library support
-              ld_shlibs_CXX=no
-            fi
-            ;;
-        esac
-        ;;
-
-      hpux10*|hpux11*)
-        if test $with_gnu_ld = no; then
-	  hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
-	  hardcode_libdir_separator_CXX=:
-
-          case $host_cpu in
-            hppa*64*|ia64*)
-              ;;
-            *)
-	      export_dynamic_flag_spec_CXX='${wl}-E'
-              ;;
-          esac
-        fi
-        case $host_cpu in
-          hppa*64*|ia64*)
-            hardcode_direct_CXX=no
-            hardcode_shlibpath_var_CXX=no
-            ;;
-          *)
-            hardcode_direct_CXX=yes
-            hardcode_direct_absolute_CXX=yes
-            hardcode_minus_L_CXX=yes # Not in the search PATH,
-					         # but as the default
-					         # location of the library.
-            ;;
-        esac
-
-        case $cc_basename in
-          CC*)
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-          aCC*)
-	    case $host_cpu in
-	      hppa*64*)
-	        archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	        ;;
-	      ia64*)
-	        archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	        ;;
-	      *)
-	        archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	        ;;
-	    esac
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
-	    ;;
-          *)
-	    if test "$GXX" = yes; then
-	      if test $with_gnu_ld = no; then
-	        case $host_cpu in
-	          hppa*64*)
-	            archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	            ;;
-	          ia64*)
-	            archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	            ;;
-	          *)
-	            archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	            ;;
-	        esac
-	      fi
-	    else
-	      # FIXME: insert proper C++ library support
-	      ld_shlibs_CXX=no
-	    fi
-	    ;;
-        esac
-        ;;
-
-      interix[3-9]*)
-	hardcode_direct_CXX=no
-	hardcode_shlibpath_var_CXX=no
-	hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-	export_dynamic_flag_spec_CXX='${wl}-E'
-	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-	# Instead, shared libraries are loaded at an image base (0x10000000 by
-	# default) and relocated if they conflict, which is a slow very memory
-	# consuming and fragmenting process.  To avoid this, we pick a random,
-	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-	archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-	archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-	;;
-      irix5* | irix6*)
-        case $cc_basename in
-          CC*)
-	    # SGI C++
-	    archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
-
-	    # Archives containing C++ object files must be created using
-	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
-	    # necessary to make sure instantiated templates are included
-	    # in the archive.
-	    old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
-	    ;;
-          *)
-	    if test "$GXX" = yes; then
-	      if test "$with_gnu_ld" = no; then
-	        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-	      else
-	        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
-	      fi
-	    fi
-	    link_all_deplibs_CXX=yes
-	    ;;
-        esac
-        hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
-        hardcode_libdir_separator_CXX=:
-        inherit_rpath_CXX=yes
-        ;;
-
-      linux* | k*bsd*-gnu)
-        case $cc_basename in
-          KCC*)
-	    # Kuck and Associates, Inc. (KAI) C++ Compiler
-
-	    # KCC will only create a shared library if the output file
-	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
-	    # to its proper name (with version) after linking.
-	    archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-	    archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
-
-	    hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-	    export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-
-	    # Archives containing C++ object files must be created using
-	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
-	    old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
-	    ;;
-	  icpc* | ecpc* )
-	    # Intel C++
-	    with_gnu_ld=yes
-	    # version 8.0 and above of icpc choke on multiply defined symbols
-	    # if we add $predep_objects and $postdep_objects, however 7.1 and
-	    # earlier do not add the objects themselves.
-	    case `$CC -V 2>&1` in
-	      *"Version 7."*)
-	        archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-		archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-		;;
-	      *)  # Version 8.0 or newer
-	        tmp_idyn=
-	        case $host_cpu in
-		  ia64*) tmp_idyn=' -i_dynamic';;
-		esac
-	        archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-		archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-		;;
-	    esac
-	    archive_cmds_need_lc_CXX=no
-	    hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-	    export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-	    whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-	    ;;
-          pgCC* | pgcpp*)
-            # Portland Group C++ compiler
-	    case `$CC -V` in
-	    *pgCC\ [1-5]* | *pgcpp\ [1-5]*)
-	      prelink_cmds_CXX='tpldir=Template.dir~
-		rm -rf $tpldir~
-		$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
-		compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
-	      old_archive_cmds_CXX='tpldir=Template.dir~
-		rm -rf $tpldir~
-		$CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
-		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
-		$RANLIB $oldlib'
-	      archive_cmds_CXX='tpldir=Template.dir~
-		rm -rf $tpldir~
-		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-	      archive_expsym_cmds_CXX='tpldir=Template.dir~
-		rm -rf $tpldir~
-		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-	      ;;
-	    *) # Version 6 will use weak symbols
-	      archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-	      archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-	      ;;
-	    esac
-
-	    hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
-	    export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-	    whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
-            ;;
-	  cxx*)
-	    # Compaq C++
-	    archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	    archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
-
-	    runpath_var=LD_RUN_PATH
-	    hardcode_libdir_flag_spec_CXX='-rpath $libdir'
-	    hardcode_libdir_separator_CXX=:
-
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
-	    ;;
-	  xl*)
-	    # IBM XL 8.0 on PPC, with GNU ld
-	    hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
-	    export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-	    archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	    if test "x$supports_anon_versioning" = xyes; then
-	      archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~
-		cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-		echo "local: *; };" >> $output_objdir/$libname.ver~
-		$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-	    fi
-	    ;;
-	  *)
-	    case `$CC -V 2>&1 | sed 5q` in
-	    *Sun\ C*)
-	      # Sun C++ 5.9
-	      no_undefined_flag_CXX=' -zdefs'
-	      archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	      archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
-	      hardcode_libdir_flag_spec_CXX='-R$libdir'
-	      whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
-	      compiler_needs_object_CXX=yes
-
-	      # Not sure whether something based on
-	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
-	      # would be better.
-	      output_verbose_link_cmd='echo'
-
-	      # Archives containing C++ object files must be created using
-	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
-	      # necessary to make sure instantiated templates are included
-	      # in the archive.
-	      old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
-	      ;;
-	    esac
-	    ;;
-	esac
-	;;
-
-      lynxos*)
-        # FIXME: insert proper C++ library support
-	ld_shlibs_CXX=no
-	;;
-
-      m88k*)
-        # FIXME: insert proper C++ library support
-        ld_shlibs_CXX=no
-	;;
-
-      mvs*)
-        case $cc_basename in
-          cxx*)
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-	  *)
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-	esac
-	;;
-
-      netbsd*)
-        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-	  archive_cmds_CXX='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
-	  wlarc=
-	  hardcode_libdir_flag_spec_CXX='-R$libdir'
-	  hardcode_direct_CXX=yes
-	  hardcode_shlibpath_var_CXX=no
-	fi
-	# Workaround some broken pre-1.5 toolchains
-	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
-	;;
-
-      *nto* | *qnx*)
-        ld_shlibs_CXX=yes
-	;;
-
-      openbsd2*)
-        # C++ shared libraries are fairly broken
-	ld_shlibs_CXX=no
-	;;
-
-      openbsd*)
-	if test -f /usr/libexec/ld.so; then
-	  hardcode_direct_CXX=yes
-	  hardcode_shlibpath_var_CXX=no
-	  hardcode_direct_absolute_CXX=yes
-	  archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-	  hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	    archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
-	    export_dynamic_flag_spec_CXX='${wl}-E'
-	    whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-	  fi
-	  output_verbose_link_cmd=echo
-	else
-	  ld_shlibs_CXX=no
-	fi
-	;;
-
-      osf3* | osf4* | osf5*)
-        case $cc_basename in
-          KCC*)
-	    # Kuck and Associates, Inc. (KAI) C++ Compiler
-
-	    # KCC will only create a shared library if the output file
-	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
-	    # to its proper name (with version) after linking.
-	    archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
-	    hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-	    hardcode_libdir_separator_CXX=:
-
-	    # Archives containing C++ object files must be created using
-	    # the KAI C++ compiler.
-	    case $host in
-	      osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;;
-	      *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;;
-	    esac
-	    ;;
-          RCC*)
-	    # Rational C++ 2.4.1
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-          cxx*)
-	    case $host in
-	      osf3*)
-	        allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
-	        archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
-	        hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
-		;;
-	      *)
-	        allow_undefined_flag_CXX=' -expect_unresolved \*'
-	        archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
-	        archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
-	          echo "-hidden">> $lib.exp~
-	          $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp  `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
-	          $RM $lib.exp'
-	        hardcode_libdir_flag_spec_CXX='-rpath $libdir'
-		;;
-	    esac
-
-	    hardcode_libdir_separator_CXX=:
-
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
-	    ;;
-	  *)
-	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-	      allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
-	      case $host in
-	        osf3*)
-	          archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-		  ;;
-	        *)
-	          archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-		  ;;
-	      esac
-
-	      hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
-	      hardcode_libdir_separator_CXX=:
-
-	      # Commands to make compiler produce verbose output that lists
-	      # what "hidden" libraries, object files and flags are used when
-	      # linking a shared library.
-	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
-
-	    else
-	      # FIXME: insert proper C++ library support
-	      ld_shlibs_CXX=no
-	    fi
-	    ;;
-        esac
-        ;;
-
-      psos*)
-        # FIXME: insert proper C++ library support
-        ld_shlibs_CXX=no
-        ;;
-
-      sunos4*)
-        case $cc_basename in
-          CC*)
-	    # Sun C++ 4.x
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-          lcc*)
-	    # Lucid
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-          *)
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-        esac
-        ;;
-
-      solaris*)
-        case $cc_basename in
-          CC*)
-	    # Sun C++ 4.2, 5.x and Centerline C++
-            archive_cmds_need_lc_CXX=yes
-	    no_undefined_flag_CXX=' -zdefs'
-	    archive_cmds_CXX='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	    archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-	      $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
-	    hardcode_libdir_flag_spec_CXX='-R$libdir'
-	    hardcode_shlibpath_var_CXX=no
-	    case $host_os in
-	      solaris2.[0-5] | solaris2.[0-5].*) ;;
-	      *)
-		# The compiler driver will combine and reorder linker options,
-		# but understands `-z linker_flag'.
-	        # Supported since Solaris 2.6 (maybe 2.5.1?)
-		whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
-	        ;;
-	    esac
-	    link_all_deplibs_CXX=yes
-
-	    output_verbose_link_cmd='echo'
-
-	    # Archives containing C++ object files must be created using
-	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
-	    # necessary to make sure instantiated templates are included
-	    # in the archive.
-	    old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
-	    ;;
-          gcx*)
-	    # Green Hills C++ Compiler
-	    archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-
-	    # The C++ compiler must be used to create the archive.
-	    old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
-	    ;;
-          *)
-	    # GNU C++ compiler with Solaris linker
-	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-	      no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
-	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
-	        archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-	        archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-		  $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
-	        # Commands to make compiler produce verbose output that lists
-	        # what "hidden" libraries, object files and flags are used when
-	        # linking a shared library.
-	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
-	      else
-	        # g++ 2.7 appears to require `-G' NOT `-shared' on this
-	        # platform.
-	        archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-	        archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-		  $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
-	        # Commands to make compiler produce verbose output that lists
-	        # what "hidden" libraries, object files and flags are used when
-	        # linking a shared library.
-	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
-	      fi
-
-	      hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
-	      case $host_os in
-		solaris2.[0-5] | solaris2.[0-5].*) ;;
-		*)
-		  whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-		  ;;
-	      esac
-	    fi
-	    ;;
-        esac
-        ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      no_undefined_flag_CXX='${wl}-z,text'
-      archive_cmds_need_lc_CXX=no
-      hardcode_shlibpath_var_CXX=no
-      runpath_var='LD_RUN_PATH'
-
-      case $cc_basename in
-        CC*)
-	  archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-      esac
-      ;;
-
-      sysv5* | sco3.2v5* | sco5v6*)
-	# Note: We can NOT use -z defs as we might desire, because we do not
-	# link with -lc, and that would cause any symbols used from libc to
-	# always be unresolved, which means just about no library would
-	# ever link correctly.  If we're not using GNU ld we use -z text
-	# though, which does catch some bad symbols but isn't as heavy-handed
-	# as -z defs.
-	no_undefined_flag_CXX='${wl}-z,text'
-	allow_undefined_flag_CXX='${wl}-z,nodefs'
-	archive_cmds_need_lc_CXX=no
-	hardcode_shlibpath_var_CXX=no
-	hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir'
-	hardcode_libdir_separator_CXX=':'
-	link_all_deplibs_CXX=yes
-	export_dynamic_flag_spec_CXX='${wl}-Bexport'
-	runpath_var='LD_RUN_PATH'
-
-	case $cc_basename in
-          CC*)
-	    archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    ;;
-	  *)
-	    archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    ;;
-	esac
-      ;;
-
-      tandem*)
-        case $cc_basename in
-          NCC*)
-	    # NonStop-UX NCC 3.20
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-          *)
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-        esac
-        ;;
-
-      vxworks*)
-        # FIXME: insert proper C++ library support
-        ld_shlibs_CXX=no
-        ;;
-
-      *)
-        # FIXME: insert proper C++ library support
-        ld_shlibs_CXX=no
-        ;;
-    esac
-
-    { $as_echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-$as_echo "$ld_shlibs_CXX" >&6; }
-    test "$ld_shlibs_CXX" = no && can_build_shared=no
-
-    GCC_CXX="$GXX"
-    LD_CXX="$LD"
-
-    ## CAVEAT EMPTOR:
-    ## There is no encapsulation within the following macros, do not change
-    ## the running order or otherwise move them around unless you know exactly
-    ## what you are doing...
-    # Dependencies to place before and after the object being linked:
-predep_objects_CXX=
-postdep_objects_CXX=
-predeps_CXX=
-postdeps_CXX=
-compiler_lib_search_path_CXX=
-
-cat > conftest.$ac_ext <<_LT_EOF
-class Foo
-{
-public:
-  Foo (void) { a = 0; }
-private:
-  int a;
-};
-_LT_EOF
-
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  # Parse the compiler output and extract the necessary
-  # objects, libraries and library flags.
-
-  # Sentinel used to keep track of whether or not we are before
-  # the conftest object file.
-  pre_test_object_deps_done=no
-
-  for p in `eval "$output_verbose_link_cmd"`; do
-    case $p in
-
-    -L* | -R* | -l*)
-       # Some compilers place space between "-{L,R}" and the path.
-       # Remove the space.
-       if test $p = "-L" ||
-          test $p = "-R"; then
-	 prev=$p
-	 continue
-       else
-	 prev=
-       fi
-
-       if test "$pre_test_object_deps_done" = no; then
-	 case $p in
-	 -L* | -R*)
-	   # Internal compiler library paths should come after those
-	   # provided the user.  The postdeps already come after the
-	   # user supplied libs so there is no need to process them.
-	   if test -z "$compiler_lib_search_path_CXX"; then
-	     compiler_lib_search_path_CXX="${prev}${p}"
-	   else
-	     compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}"
-	   fi
-	   ;;
-	 # The "-l" case would never come before the object being
-	 # linked, so don't bother handling this case.
-	 esac
-       else
-	 if test -z "$postdeps_CXX"; then
-	   postdeps_CXX="${prev}${p}"
-	 else
-	   postdeps_CXX="${postdeps_CXX} ${prev}${p}"
-	 fi
-       fi
-       ;;
-
-    *.$objext)
-       # This assumes that the test object file only shows up
-       # once in the compiler output.
-       if test "$p" = "conftest.$objext"; then
-	 pre_test_object_deps_done=yes
-	 continue
-       fi
-
-       if test "$pre_test_object_deps_done" = no; then
-	 if test -z "$predep_objects_CXX"; then
-	   predep_objects_CXX="$p"
-	 else
-	   predep_objects_CXX="$predep_objects_CXX $p"
-	 fi
-       else
-	 if test -z "$postdep_objects_CXX"; then
-	   postdep_objects_CXX="$p"
-	 else
-	   postdep_objects_CXX="$postdep_objects_CXX $p"
-	 fi
-       fi
-       ;;
-
-    *) ;; # Ignore the rest.
-
-    esac
-  done
-
-  # Clean up.
-  rm -f a.out a.exe
-else
-  echo "libtool.m4: error: problem compiling CXX test program"
-fi
-
-$RM -f confest.$objext
-
-# PORTME: override above test on systems where it is broken
-case $host_os in
-interix[3-9]*)
-  # Interix 3.5 installs completely hosed .la files for C++, so rather than
-  # hack all around it, let's just trust "g++" to DTRT.
-  predep_objects_CXX=
-  postdep_objects_CXX=
-  postdeps_CXX=
-  ;;
-
-linux*)
-  case `$CC -V 2>&1 | sed 5q` in
-  *Sun\ C*)
-    # Sun C++ 5.9
-
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-
-    if test "$solaris_use_stlport4" != yes; then
-      postdeps_CXX='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
-
-solaris*)
-  case $cc_basename in
-  CC*)
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-
-    # Adding this requires a known-good setup of shared libraries for
-    # Sun compiler versions before 5.6, else PIC objects from an old
-    # archive will be linked into the output, leading to subtle bugs.
-    if test "$solaris_use_stlport4" != yes; then
-      postdeps_CXX='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
-esac
-
-
-case " $postdeps_CXX " in
-*" -lc "*) archive_cmds_need_lc_CXX=no ;;
-esac
- compiler_lib_search_dirs_CXX=
-if test -n "${compiler_lib_search_path_CXX}"; then
- compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    lt_prog_compiler_wl_CXX=
-lt_prog_compiler_pic_CXX=
-lt_prog_compiler_static_CXX=
-
-{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-
-  # C++ specific cases for pic, static, wl, etc.
-  if test "$GXX" = yes; then
-    lt_prog_compiler_wl_CXX='-Wl,'
-    lt_prog_compiler_static_CXX='-static'
-
-    case $host_os in
-    aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	lt_prog_compiler_static_CXX='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            lt_prog_compiler_pic_CXX='-fPIC'
-        ;;
-      m68k)
-            # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the `-m68020' flag to GCC prevents building anything better,
-            # like `-m68040'.
-            lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-    mingw* | cygwin* | os2* | pw32* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
-      ;;
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic_CXX='-fno-common'
-      ;;
-    *djgpp*)
-      # DJGPP does not support shared libraries at all
-      lt_prog_compiler_pic_CXX=
-      ;;
-    interix[3-9]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	lt_prog_compiler_pic_CXX=-Kconform_pic
-      fi
-      ;;
-    hpux*)
-      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
-      # sets the default TLS model and affects inlining.
-      case $host_cpu in
-      hppa*64*)
-	;;
-      *)
-	lt_prog_compiler_pic_CXX='-fPIC'
-	;;
-      esac
-      ;;
-    *qnx* | *nto*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic_CXX='-fPIC -shared'
-      ;;
-    *)
-      lt_prog_compiler_pic_CXX='-fPIC'
-      ;;
-    esac
-  else
-    case $host_os in
-      aix[4-9]*)
-	# All AIX code is PIC.
-	if test "$host_cpu" = ia64; then
-	  # AIX 5 now supports IA64 processor
-	  lt_prog_compiler_static_CXX='-Bstatic'
-	else
-	  lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
-	fi
-	;;
-      chorus*)
-	case $cc_basename in
-	cxch68*)
-	  # Green Hills C++ Compiler
-	  # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
-	  ;;
-	esac
-	;;
-      dgux*)
-	case $cc_basename in
-	  ec++*)
-	    lt_prog_compiler_pic_CXX='-KPIC'
-	    ;;
-	  ghcx*)
-	    # Green Hills C++ Compiler
-	    lt_prog_compiler_pic_CXX='-pic'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      freebsd* | dragonfly*)
-	# FreeBSD uses GNU C++
-	;;
-      hpux9* | hpux10* | hpux11*)
-	case $cc_basename in
-	  CC*)
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
-	    if test "$host_cpu" != ia64; then
-	      lt_prog_compiler_pic_CXX='+Z'
-	    fi
-	    ;;
-	  aCC*)
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
-	    case $host_cpu in
-	    hppa*64*|ia64*)
-	      # +Z the default
-	      ;;
-	    *)
-	      lt_prog_compiler_pic_CXX='+Z'
-	      ;;
-	    esac
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      interix*)
-	# This is c89, which is MS Visual C++ (no shared libs)
-	# Anyone wants to do a port?
-	;;
-      irix5* | irix6* | nonstopux*)
-	case $cc_basename in
-	  CC*)
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_static_CXX='-non_shared'
-	    # CC pic flag -KPIC is the default.
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      linux* | k*bsd*-gnu)
-	case $cc_basename in
-	  KCC*)
-	    # KAI C++ Compiler
-	    lt_prog_compiler_wl_CXX='--backend -Wl,'
-	    lt_prog_compiler_pic_CXX='-fPIC'
-	    ;;
-	  ecpc* )
-	    # old Intel C++ for x86_64 which still supported -KPIC.
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_pic_CXX='-KPIC'
-	    lt_prog_compiler_static_CXX='-static'
-	    ;;
-	  icpc* )
-	    # Intel C++, used to be incompatible with GCC.
-	    # ICC 10 doesn't accept -KPIC any more.
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_pic_CXX='-fPIC'
-	    lt_prog_compiler_static_CXX='-static'
-	    ;;
-	  pgCC* | pgcpp*)
-	    # Portland Group C++ compiler
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_pic_CXX='-fpic'
-	    lt_prog_compiler_static_CXX='-Bstatic'
-	    ;;
-	  cxx*)
-	    # Compaq C++
-	    # Make sure the PIC flag is empty.  It appears that all Alpha
-	    # Linux and Compaq Tru64 Unix objects are PIC.
-	    lt_prog_compiler_pic_CXX=
-	    lt_prog_compiler_static_CXX='-non_shared'
-	    ;;
-	  xlc* | xlC*)
-	    # IBM XL 8.0 on PPC
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_pic_CXX='-qpic'
-	    lt_prog_compiler_static_CXX='-qstaticlink'
-	    ;;
-	  *)
-	    case `$CC -V 2>&1 | sed 5q` in
-	    *Sun\ C*)
-	      # Sun C++ 5.9
-	      lt_prog_compiler_pic_CXX='-KPIC'
-	      lt_prog_compiler_static_CXX='-Bstatic'
-	      lt_prog_compiler_wl_CXX='-Qoption ld '
-	      ;;
-	    esac
-	    ;;
-	esac
-	;;
-      lynxos*)
-	;;
-      m88k*)
-	;;
-      mvs*)
-	case $cc_basename in
-	  cxx*)
-	    lt_prog_compiler_pic_CXX='-W c,exportall'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      netbsd*)
-	;;
-      *qnx* | *nto*)
-        # QNX uses GNU C++, but need to define -shared option too, otherwise
-        # it will coredump.
-        lt_prog_compiler_pic_CXX='-fPIC -shared'
-        ;;
-      osf3* | osf4* | osf5*)
-	case $cc_basename in
-	  KCC*)
-	    lt_prog_compiler_wl_CXX='--backend -Wl,'
-	    ;;
-	  RCC*)
-	    # Rational C++ 2.4.1
-	    lt_prog_compiler_pic_CXX='-pic'
-	    ;;
-	  cxx*)
-	    # Digital/Compaq C++
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    # Make sure the PIC flag is empty.  It appears that all Alpha
-	    # Linux and Compaq Tru64 Unix objects are PIC.
-	    lt_prog_compiler_pic_CXX=
-	    lt_prog_compiler_static_CXX='-non_shared'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      psos*)
-	;;
-      solaris*)
-	case $cc_basename in
-	  CC*)
-	    # Sun C++ 4.2, 5.x and Centerline C++
-	    lt_prog_compiler_pic_CXX='-KPIC'
-	    lt_prog_compiler_static_CXX='-Bstatic'
-	    lt_prog_compiler_wl_CXX='-Qoption ld '
-	    ;;
-	  gcx*)
-	    # Green Hills C++ Compiler
-	    lt_prog_compiler_pic_CXX='-PIC'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      sunos4*)
-	case $cc_basename in
-	  CC*)
-	    # Sun C++ 4.x
-	    lt_prog_compiler_pic_CXX='-pic'
-	    lt_prog_compiler_static_CXX='-Bstatic'
-	    ;;
-	  lcc*)
-	    # Lucid
-	    lt_prog_compiler_pic_CXX='-pic'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-	case $cc_basename in
-	  CC*)
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_pic_CXX='-KPIC'
-	    lt_prog_compiler_static_CXX='-Bstatic'
-	    ;;
-	esac
-	;;
-      tandem*)
-	case $cc_basename in
-	  NCC*)
-	    # NonStop-UX NCC 3.20
-	    lt_prog_compiler_pic_CXX='-KPIC'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      vxworks*)
-	;;
-      *)
-	lt_prog_compiler_can_build_shared_CXX=no
-	;;
-    esac
-  fi
-
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic_CXX=
-    ;;
-  *)
-    lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
-    ;;
-esac
-{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
-$as_echo "$lt_prog_compiler_pic_CXX" >&6; }
-
-
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic_CXX"; then
-  { $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic_works_CXX=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:29724: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:29728: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_pic_works_CXX=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then
-    case $lt_prog_compiler_pic_CXX in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
-     esac
-else
-    lt_prog_compiler_pic_CXX=
-     lt_prog_compiler_can_build_shared_CXX=no
-fi
-
-fi
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
-{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_static_works_CXX=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler_static_works_CXX=yes
-       fi
-     else
-       lt_cv_prog_compiler_static_works_CXX=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_CXX" >&5
-$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then
-    :
-else
-    lt_prog_compiler_static_CXX=
-fi
-
-
-
-
-    { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o_CXX=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:29823: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:29827: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o_CXX=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
-$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
-
-
-
-    { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o_CXX=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:29875: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:29879: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o_CXX=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
-$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
-  hard_links=yes
-  $RM conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-
-
-    { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
-  export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  case $host_os in
-  aix[4-9]*)
-    # If we're using GNU nm, then we don't want the "-C" option.
-    # -C means demangle to AIX nm, but means don't demangle with GNU nm
-    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-      export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-    else
-      export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-    fi
-    ;;
-  pw32*)
-    export_symbols_cmds_CXX="$ltdll_cmds"
-  ;;
-  cygwin* | mingw* | cegcc*)
-    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
-  ;;
-  *)
-    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  ;;
-  esac
-  exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-
-{ $as_echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-$as_echo "$ld_shlibs_CXX" >&6; }
-test "$ld_shlibs_CXX" = no && can_build_shared=no
-
-with_gnu_ld_CXX=$with_gnu_ld
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc_CXX" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc_CXX=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $archive_cmds_CXX in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-      $RM conftest*
-      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-      if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } 2>conftest.err; then
-        soname=conftest
-        lib=conftest
-        libobjs=conftest.$ac_objext
-        deplibs=
-        wl=$lt_prog_compiler_wl_CXX
-	pic_flag=$lt_prog_compiler_pic_CXX
-        compiler_flags=-v
-        linker_flags=-v
-        verstring=
-        output_objdir=.
-        libname=conftest
-        lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
-        allow_undefined_flag_CXX=
-        if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5
-  (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-        then
-	  archive_cmds_need_lc_CXX=no
-        else
-	  archive_cmds_need_lc_CXX=yes
-        fi
-        allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
-      else
-        cat conftest.err 1>&5
-      fi
-      $RM conftest*
-      { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
-$as_echo "$archive_cmds_need_lc_CXX" >&6; }
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+    case $host_os in
+      aix[4-9]*)
+	# All AIX code is PIC.
+	if test "$host_cpu" = ia64; then
+	  # AIX 5 now supports IA64 processor
+	  lt_prog_compiler_static_CXX='-Bstatic'
+	else
+	  lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
+	fi
+	;;
+      chorus*)
+	case $cc_basename in
+	cxch68*)
+	  # Green Hills C++ Compiler
+	  # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+	  ;;
+	esac
+	;;
+      dgux*)
+	case $cc_basename in
+	  ec++*)
+	    lt_prog_compiler_pic_CXX='-KPIC'
+	    ;;
+	  ghcx*)
+	    # Green Hills C++ Compiler
+	    lt_prog_compiler_pic_CXX='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      freebsd* | dragonfly*)
+	# FreeBSD uses GNU C++
+	;;
+      hpux9* | hpux10* | hpux11*)
+	case $cc_basename in
+	  CC*)
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
+	    if test "$host_cpu" != ia64; then
+	      lt_prog_compiler_pic_CXX='+Z'
+	    fi
+	    ;;
+	  aCC*)
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
+	    case $host_cpu in
+	    hppa*64*|ia64*)
+	      # +Z the default
+	      ;;
+	    *)
+	      lt_prog_compiler_pic_CXX='+Z'
+	      ;;
+	    esac
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      interix*)
+	# This is c89, which is MS Visual C++ (no shared libs)
+	# Anyone wants to do a port?
+	;;
+      irix5* | irix6* | nonstopux*)
+	case $cc_basename in
+	  CC*)
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_static_CXX='-non_shared'
+	    # CC pic flag -KPIC is the default.
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      linux* | k*bsd*-gnu | kopensolaris*-gnu)
+	case $cc_basename in
+	  KCC*)
+	    # KAI C++ Compiler
+	    lt_prog_compiler_wl_CXX='--backend -Wl,'
+	    lt_prog_compiler_pic_CXX='-fPIC'
+	    ;;
+	  ecpc* )
+	    # old Intel C++ for x86_64 which still supported -KPIC.
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_pic_CXX='-KPIC'
+	    lt_prog_compiler_static_CXX='-static'
+	    ;;
+	  icpc* )
+	    # Intel C++, used to be incompatible with GCC.
+	    # ICC 10 doesn't accept -KPIC any more.
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_pic_CXX='-fPIC'
+	    lt_prog_compiler_static_CXX='-static'
+	    ;;
+	  pgCC* | pgcpp*)
+	    # Portland Group C++ compiler
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_pic_CXX='-fpic'
+	    lt_prog_compiler_static_CXX='-Bstatic'
+	    ;;
+	  cxx*)
+	    # Compaq C++
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    lt_prog_compiler_pic_CXX=
+	    lt_prog_compiler_static_CXX='-non_shared'
+	    ;;
+	  xlc* | xlC* | bgxl[cC]* | mpixl[cC]*)
+	    # IBM XL 8.0, 9.0 on PPC and BlueGene
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_pic_CXX='-qpic'
+	    lt_prog_compiler_static_CXX='-qstaticlink'
+	    ;;
+	  *)
+	    case `$CC -V 2>&1 | sed 5q` in
+	    *Sun\ C*)
+	      # Sun C++ 5.9
+	      lt_prog_compiler_pic_CXX='-KPIC'
+	      lt_prog_compiler_static_CXX='-Bstatic'
+	      lt_prog_compiler_wl_CXX='-Qoption ld '
+	      ;;
+	    esac
+	    ;;
+	esac
+	;;
+      lynxos*)
+	;;
+      m88k*)
+	;;
+      mvs*)
+	case $cc_basename in
+	  cxx*)
+	    lt_prog_compiler_pic_CXX='-W c,exportall'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      netbsd*)
+	;;
+      *qnx* | *nto*)
+        # QNX uses GNU C++, but need to define -shared option too, otherwise
+        # it will coredump.
+        lt_prog_compiler_pic_CXX='-fPIC -shared'
+        ;;
+      osf3* | osf4* | osf5*)
+	case $cc_basename in
+	  KCC*)
+	    lt_prog_compiler_wl_CXX='--backend -Wl,'
+	    ;;
+	  RCC*)
+	    # Rational C++ 2.4.1
+	    lt_prog_compiler_pic_CXX='-pic'
+	    ;;
+	  cxx*)
+	    # Digital/Compaq C++
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    lt_prog_compiler_pic_CXX=
+	    lt_prog_compiler_static_CXX='-non_shared'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      psos*)
+	;;
+      solaris*)
+	case $cc_basename in
+	  CC* | sunCC*)
+	    # Sun C++ 4.2, 5.x and Centerline C++
+	    lt_prog_compiler_pic_CXX='-KPIC'
+	    lt_prog_compiler_static_CXX='-Bstatic'
+	    lt_prog_compiler_wl_CXX='-Qoption ld '
+	    ;;
+	  gcx*)
+	    # Green Hills C++ Compiler
+	    lt_prog_compiler_pic_CXX='-PIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sunos4*)
+	case $cc_basename in
+	  CC*)
+	    # Sun C++ 4.x
+	    lt_prog_compiler_pic_CXX='-pic'
+	    lt_prog_compiler_static_CXX='-Bstatic'
+	    ;;
+	  lcc*)
+	    # Lucid
+	    lt_prog_compiler_pic_CXX='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+	case $cc_basename in
+	  CC*)
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_pic_CXX='-KPIC'
+	    lt_prog_compiler_static_CXX='-Bstatic'
+	    ;;
+	esac
+	;;
+      tandem*)
+	case $cc_basename in
+	  NCC*)
+	    # NonStop-UX NCC 3.20
+	    lt_prog_compiler_pic_CXX='-KPIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      vxworks*)
+	;;
+      *)
+	lt_prog_compiler_can_build_shared_CXX=no
+	;;
+    esac
+  fi
 
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    lt_prog_compiler_pic_CXX=
+    ;;
+  *)
+    lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
+    ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic_CXX" >&5
+$as_echo "$lt_prog_compiler_pic_CXX" >&6; }
 
-    { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
 
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
 
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic_CXX"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }
+if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_pic_works_CXX=no
+   ac_outfile=conftest.$ac_objext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_pic_works_CXX=yes
+     fi
+   fi
+   $RM conftest*
 
-case $host_os in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; }
 
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
+if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then
+    case $lt_prog_compiler_pic_CXX in
+     "" | " "*) ;;
+     *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
+     esac
+else
+    lt_prog_compiler_pic_CXX=
+     lt_prog_compiler_can_build_shared_CXX=no
+fi
 
-aix[4-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[01] | aix4.[01].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-	   echo ' yes '
-	   echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
-	:
-      else
-	can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
+fi
 
-amigaos*)
-  case $host_cpu in
-  powerpc)
-    # Since July 2007 AmigaOS4 officially supports .so libraries.
-    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    ;;
-  m68k)
-    library_names_spec='$libname.ixlibrary $libname.a'
-    # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-    ;;
-  esac
-  ;;
 
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
 
-bsdi[45]*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_static_works_CXX=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_cv_prog_compiler_static_works_CXX=yes
+       fi
+     else
+       lt_cv_prog_compiler_static_works_CXX=yes
+     fi
+   fi
+   $RM -r conftest*
+   LDFLAGS="$save_LDFLAGS"
 
-cygwin* | mingw* | pw32* | cegcc*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; }
 
-  case $GCC,$host_os in
-  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname~
-      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-      fi'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
+if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then
+    :
+else
+    lt_prog_compiler_static_CXX=
+fi
 
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
-      ;;
-    mingw* | cegcc*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
-        # It is most probably a Windows format PATH printed by
-        # mingw gcc, but we are running on Cygwin. Gcc prints its search
-        # path with ; separators, and with drive letters. We can handle the
-        # drive letters (cygwin fileutils understands them), so leave them,
-        # especially as we might pass files found there to a mingw objdump,
-        # which wouldn't understand a cygwinified path. Ahh.
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    ;;
 
-  *)
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    ;;
-  esac
-  dynamic_linker='Win32 ld.exe'
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
 
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
 
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_c_o_CXX=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o_CXX=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
 
-freebsd1*)
-  dynamic_linker=no
-  ;;
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
 
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[123]*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
-  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
 
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  ;;
 
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  hppa*64*)
-    shrext_cmds='.sl'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555.
-  postinstall_cmds='chmod 555 $lib'
-  ;;
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_c_o_CXX=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
-interix[3-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o_CXX=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
 
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-	if test "$lt_cv_prog_gnu_ld" = yes; then
-		version_type=linux
-	else
-		version_type=irix
-	fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
+
+
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
+  hard_links=yes
+  $RM conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
+  if test "$hard_links" = no; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+
+
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+
+  export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
   case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
+  aix[4-9]*)
+    # If we're using GNU nm, then we don't want the "-C" option.
+    # -C means demangle to AIX nm, but means don't demangle with GNU nm
+    # Also, AIX nm treats weak defined symbols like other global defined
+    # symbols, whereas GNU nm marks them as "W".
+    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+      export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+    else
+      export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+    fi
     ;;
+  pw32*)
+    export_symbols_cmds_CXX="$ltdll_cmds"
+  ;;
+  cygwin* | mingw* | cegcc*)
+    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
+  ;;
   *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
+    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
   ;;
+  esac
+  exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
 
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
+$as_echo "$ld_shlibs_CXX" >&6; }
+test "$ld_shlibs_CXX" = no && can_build_shared=no
 
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  # Some binutils ld are patched to set DT_RUNPATH
-  save_LDFLAGS=$LDFLAGS
-  save_libdir=$libdir
-  eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \
-       LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+with_gnu_ld_CXX=$with_gnu_ld
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then
-  shlibpath_overrides_runpath=yes
-fi
 
+
+
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc_CXX" in
+x|xyes)
+  # Assume -lc should be added
+  archive_cmds_need_lc_CXX=yes
+
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $archive_cmds_CXX in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+if test "${lt_cv_archive_cmds_need_lc_CXX+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  $RM conftest*
+	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
+	if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } 2>conftest.err; then
+	  soname=conftest
+	  lib=conftest
+	  libobjs=conftest.$ac_objext
+	  deplibs=
+	  wl=$lt_prog_compiler_wl_CXX
+	  pic_flag=$lt_prog_compiler_pic_CXX
+	  compiler_flags=-v
+	  linker_flags=-v
+	  verstring=
+	  output_objdir=.
+	  libname=conftest
+	  lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
+	  allow_undefined_flag_CXX=
+	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
+  (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+	  then
+	    lt_cv_archive_cmds_need_lc_CXX=no
+	  else
+	    lt_cv_archive_cmds_need_lc_CXX=yes
+	  fi
+	  allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
+	else
+	  cat conftest.err 1>&5
+	fi
+	$RM conftest*
 
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5
+$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; }
+      archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX
+      ;;
+    esac
+  fi
+  ;;
+esac
 
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-  LDFLAGS=$save_LDFLAGS
-  libdir=$save_libdir
 
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
 
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
+
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='${libname}${release}${shared_ext}$major'
+  ;;
+
+aix[4-9]*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test "$host_cpu" = ia64; then
+    # AIX 5 supports IA64
+    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line `#! .'.  This would cause the generated library to
+    # depend on `.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[01] | aix4.[01].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+	   echo ' yes '
+	   echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+	:
+      else
+	can_build_shared=no
+      fi
+      ;;
+    esac
+    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    if test "$aix_use_runtimelinking" = yes; then
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    else
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='${libname}${release}.a $libname.a'
+      soname_spec='${libname}${release}${shared_ext}$major'
+    fi
+    shlibpath_var=LIBPATH
   fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
   ;;
 
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
+amigaos*)
+  case $host_cpu in
+  powerpc)
+    # Since July 2007 AmigaOS4 officially supports .so libraries.
+    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    ;;
+  m68k)
+    library_names_spec='$libname.ixlibrary $libname.a'
+    # Create ${libname}_ixlibrary.a entries in /sys/libs.
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    ;;
+  esac
   ;;
 
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
+beos*)
+  library_names_spec='${libname}${shared_ext}'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
   ;;
 
-*nto* | *qnx*)
-  version_type=qnx
-  need_lib_prefix=no
+bsdi[45]*)
+  version_type=linux
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
   shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='ldqnx.so'
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
   ;;
 
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
+cygwin* | mingw* | pw32* | cegcc*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
   need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*)	need_version=yes ;;
-    *)				need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[89] | openbsd2.[89].*)
-	shlibpath_overrides_runpath=no
-	;;
-      *)
-	shlibpath_overrides_runpath=yes
-	;;
-      esac
-  else
+
+  case $GCC,$host_os in
+  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname~
+      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+      fi'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
     shlibpath_overrides_runpath=yes
-  fi
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+
+      ;;
+    mingw* | cegcc*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    esac
+    ;;
+
+  *)
+    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    ;;
+  esac
+  dynamic_linker='Win32 ld.exe'
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
   ;;
 
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
   need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
+  need_version=no
+  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+  soname_spec='${libname}${release}${major}$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
   ;;
 
-osf3* | osf4* | osf5*)
-  version_type=osf
+dgux*)
+  version_type=linux
   need_lib_prefix=no
   need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
   soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
   ;;
 
-rdos*)
+freebsd1*)
   dynamic_linker=no
   ;;
 
-solaris*)
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[123]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[01]* | freebsdelf3.[01]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  *) # from 4.6 on, and DragonFly
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+gnu*)
   version_type=linux
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
   hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
   ;;
 
-sysv4 | sysv4.3*)
+haiku*)
   version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  need_lib_prefix=no
+  need_version=no
+  dynamic_linker="$host_os runtime_loader"
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
+  shlibpath_var=LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+  hardcode_into_libs=yes
   ;;
 
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-	;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    if test "X$HPUX_IA64_MODE" = X32; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+    fi
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  hppa*64*)
+    shrext_cmds='.sl'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
+  postinstall_cmds='chmod 555 $lib'
+  # or fails outright, so override atomically:
+  install_override_mode=555
   ;;
 
-tpf*)
-  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
+interix[3-9]*)
   version_type=linux
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=no
   hardcode_into_libs=yes
   ;;
 
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+	if test "$lt_cv_prog_gnu_ld" = yes; then
+		version_type=linux
+	else
+		version_type=irix
+	fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
   soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  hardcode_into_libs=yes
   ;;
 
-*)
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
   dynamic_linker=no
   ;;
-esac
-{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
 
+# This must be Linux ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    { $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action_CXX=
-if test -n "$hardcode_libdir_flag_spec_CXX" ||
-   test -n "$runpath_var_CXX" ||
-   test "X$hardcode_automatic_CXX" = "Xyes" ; then
-
-  # We can hardcode non-existent directories.
-  if test "$hardcode_direct_CXX" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
-     test "$hardcode_minus_L_CXX" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action_CXX=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action_CXX=immediate
-  fi
+  # Some binutils ld are patched to set DT_RUNPATH
+  if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action_CXX=unsupported
-fi
-{ $as_echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
-$as_echo "$hardcode_action_CXX" >&6; }
-
-if test "$hardcode_action_CXX" = relink ||
-   test "$inherit_rpath_CXX" = yes; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-
-
-
-
-
-
-  fi # test -n "$compiler"
-
-  CC=$lt_save_CC
-  LDCXX=$LD
-  LD=$lt_save_LD
-  GCC=$lt_save_GCC
-  with_gnu_ld=$lt_save_with_gnu_ld
-  lt_cv_path_LDCXX=$lt_cv_path_LD
-  lt_cv_path_LD=$lt_save_path_LD
-  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-fi # test "$_lt_caught_CXX_error" != yes
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-
-
-
-
-
-
-
-
-
-
-
-        ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
+  lt_cv_shlibpath_overrides_runpath=no
+    save_LDFLAGS=$LDFLAGS
+    save_libdir=$libdir
+    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \
+	 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+int
+main ()
+{
 
- if test x"$enable_shared" = xyes; then
-  ENABLE_SHARED_TRUE=
-  ENABLE_SHARED_FALSE='#'
-else
-  ENABLE_SHARED_TRUE='#'
-  ENABLE_SHARED_FALSE=
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
+  lt_cv_shlibpath_overrides_runpath=yes
+fi
 fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+    LDFLAGS=$save_LDFLAGS
+    libdir=$save_libdir
 
- if test x"$enable_static" = xyes; then
-  ENABLE_STATIC_TRUE=
-  ENABLE_STATIC_FALSE='#'
-else
-  ENABLE_STATIC_TRUE='#'
-  ENABLE_STATIC_FALSE=
 fi
 
+  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
 
-# Checks for md5sum.
-# Extract the first word of "md5sum", so it can be a program name with args.
-set dummy md5sum; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_MD5SUM+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$MD5SUM"; then
-  ac_cv_prog_MD5SUM="$MD5SUM" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_MD5SUM="md5sum"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Append ld.so.conf contents to the search path
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
-done
-done
-IFS=$as_save_IFS
 
-fi
-fi
-MD5SUM=$ac_cv_prog_MD5SUM
-if test -n "$MD5SUM"; then
-  { $as_echo "$as_me:$LINENO: result: $MD5SUM" >&5
-$as_echo "$MD5SUM" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
 
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
 
- if test x$MD5SUM = xmd5sum; then
-  HAVE_MD5SUM_TRUE=
-  HAVE_MD5SUM_FALSE='#'
-else
-  HAVE_MD5SUM_TRUE='#'
-  HAVE_MD5SUM_FALSE=
-fi
+newsos6)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
 
-if test x$MD5SUM = xmd5sum
-then
+*nto* | *qnx*)
+  version_type=qnx
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='ldqnx.so'
+  ;;
 
-{ $as_echo "$as_me:$LINENO: checking for the text md5sum command" >&5
-$as_echo_n "checking for the text md5sum command... " >&6; }
-if echo a | (md5sum -t) >/dev/null 2>&1
-then
-  ac_cv_prog_text_md5sum='md5sum -t'
-else
-  ac_cv_prog_text_md5sum='md5sum'
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_text_md5sum" >&5
-$as_echo "$ac_cv_prog_text_md5sum" >&6; }
-TEXT_MD5SUM=$ac_cv_prog_text_md5sum
+openbsd*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
+  need_lib_prefix=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*)	need_version=yes ;;
+    *)				need_version=no  ;;
+  esac
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    case $host_os in
+      openbsd2.[89] | openbsd2.[89].*)
+	shlibpath_overrides_runpath=no
+	;;
+      *)
+	shlibpath_overrides_runpath=yes
+	;;
+      esac
+  else
+    shlibpath_overrides_runpath=yes
+  fi
+  ;;
 
+os2*)
+  libname_spec='$name'
+  shrext_cmds=".dll"
+  need_lib_prefix=no
+  library_names_spec='$libname${shared_ext} $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
 
-fi
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
 
-# Check for the GLPK library.
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+rdos*)
+  dynamic_linker=no
+  ;;
 
+solaris*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
 
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
 
-for ac_header in glpk.h glpk/glpk.h
-do
-as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
-fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
-		 $as_echo "$as_val"'`
-	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
-$as_echo_n "checking $ac_header usability... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+sysv4 | sysv4.3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux
+    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+    soname_spec='$libname${shared_ext}.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+	;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
 
-	ac_header_compiler=no
-fi
+tpf*)
+  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
+uts4*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
 
-# Is the header present?
-{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
-$as_echo_n "checking $ac_header presence... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+*)
+  dynamic_linker=no
+  ;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
+test "$dynamic_linker" = no && can_build_shared=no
 
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    ( cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to ppl-devel at cs.unipr.it ##
-## ------------------------------------ ##
-_ASBOX
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
-else
-  eval "$as_ac_Header=\$ac_header_preproc"
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
 fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
-		 $as_echo "$as_val"'`
-	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
 
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
 fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-		 $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
- have_glpk=yes
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
 fi
 
-done
 
- if test x$have_glpk = xyes; then
-  HAVE_GLPK_TRUE=
-  HAVE_GLPK_FALSE='#'
-else
-  HAVE_GLPK_TRUE='#'
-  HAVE_GLPK_FALSE=
-fi
 
-if test x$have_glpk = xyes
-then
-  ac_save_LIBS="$LIBS"
-  LIBS="$LIBS -lglpk"
-  { $as_echo "$as_me:$LINENO: checking whether lib_set_print_hook is declared" >&5
-$as_echo_n "checking whether lib_set_print_hook is declared... " >&6; }
-if test "${ac_cv_have_decl_lib_set_print_hook+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
-#if defined(HAVE_GLPK_GLPK_H)
-#include <glpk/glpk.h>
-#elif defined(HAVE_GLPK_H)
-#include <glpk.h>
-#endif
 
 
-int
-main ()
-{
-#ifndef lib_set_print_hook
-  (void) lib_set_print_hook;
-#endif
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_lib_set_print_hook=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cv_have_decl_lib_set_print_hook=no
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_lib_set_print_hook" >&5
-$as_echo "$ac_cv_have_decl_lib_set_print_hook" >&6; }
-if test "x$ac_cv_have_decl_lib_set_print_hook" = x""yes; then
 
-cat >>confdefs.h <<\_ACEOF
-#define PPL_GLPK_HAS_LIB_SET_PRINT_HOOK 1
-_ACEOF
 
-fi
 
-  { $as_echo "$as_me:$LINENO: checking for _glp_lib_print_hook" >&5
-$as_echo_n "checking for _glp_lib_print_hook... " >&6; }
-if test "${ac_cv_func__glp_lib_print_hook+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-/* Define _glp_lib_print_hook to an innocuous variant, in case <limits.h> declares _glp_lib_print_hook.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define _glp_lib_print_hook innocuous__glp_lib_print_hook
 
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char _glp_lib_print_hook (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
 
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
 
-#undef _glp_lib_print_hook
 
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char _glp_lib_print_hook ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub__glp_lib_print_hook || defined __stub____glp_lib_print_hook
-choke me
-#endif
 
-int
-main ()
-{
-return _glp_lib_print_hook ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
-  ac_cv_func__glp_lib_print_hook=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cv_func__glp_lib_print_hook=no
-fi
 
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_func__glp_lib_print_hook" >&5
-$as_echo "$ac_cv_func__glp_lib_print_hook" >&6; }
-if test "x$ac_cv_func__glp_lib_print_hook" = x""yes; then
 
-cat >>confdefs.h <<\_ACEOF
-#define PPL_GLPK_HAS__GLP_LIB_PRINT_HOOK 1
-_ACEOF
 
-fi
 
-  { $as_echo "$as_me:$LINENO: checking whether glp_term_out is declared" >&5
-$as_echo_n "checking whether glp_term_out is declared... " >&6; }
-if test "${ac_cv_have_decl_glp_term_out+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
-#if defined(HAVE_GLPK_GLPK_H)
-#include <glpk/glpk.h>
-#elif defined(HAVE_GLPK_H)
-#include <glpk.h>
-#endif
 
 
-int
-main ()
-{
-#ifndef glp_term_out
-  (void) glp_term_out;
-#endif
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_glp_term_out=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cv_have_decl_glp_term_out=no
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_glp_term_out" >&5
-$as_echo "$ac_cv_have_decl_glp_term_out" >&6; }
-if test "x$ac_cv_have_decl_glp_term_out" = x""yes; then
 
-cat >>confdefs.h <<\_ACEOF
-#define PPL_GLPK_HAS_GLP_TERM_OUT 1
-_ACEOF
 
-fi
 
-  { $as_echo "$as_me:$LINENO: checking whether glp_term_hook is declared" >&5
-$as_echo_n "checking whether glp_term_hook is declared... " >&6; }
-if test "${ac_cv_have_decl_glp_term_hook+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
-#if defined(HAVE_GLPK_GLPK_H)
-#include <glpk/glpk.h>
-#elif defined(HAVE_GLPK_H)
-#include <glpk.h>
-#endif
 
 
-int
-main ()
-{
-#ifndef glp_term_hook
-  (void) glp_term_hook;
-#endif
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_glp_term_hook=yes
+
+
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
+hardcode_action_CXX=
+if test -n "$hardcode_libdir_flag_spec_CXX" ||
+   test -n "$runpath_var_CXX" ||
+   test "X$hardcode_automatic_CXX" = "Xyes" ; then
+
+  # We can hardcode non-existent directories.
+  if test "$hardcode_direct_CXX" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
+     test "$hardcode_minus_L_CXX" != no; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action_CXX=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action_CXX=immediate
+  fi
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action_CXX=unsupported
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5
+$as_echo "$hardcode_action_CXX" >&6; }
 
-	ac_cv_have_decl_glp_term_hook=no
+if test "$hardcode_action_CXX" = relink ||
+   test "$inherit_rpath_CXX" = yes; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_glp_term_hook" >&5
-$as_echo "$ac_cv_have_decl_glp_term_hook" >&6; }
-if test "x$ac_cv_have_decl_glp_term_hook" = x""yes; then
 
-cat >>confdefs.h <<\_ACEOF
-#define PPL_GLPK_HAS_GLP_TERM_HOOK 1
-_ACEOF
 
-fi
 
-  LIBS="$ac_save_LIBS"
-fi
+
+
+
+  fi # test -n "$compiler"
+
+  CC=$lt_save_CC
+  LDCXX=$LD
+  LD=$lt_save_LD
+  GCC=$lt_save_GCC
+  with_gnu_ld=$lt_save_with_gnu_ld
+  lt_cv_path_LDCXX=$lt_cv_path_LD
+  lt_cv_path_LD=$lt_save_path_LD
+  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test "$_lt_caught_CXX_error" != yes
+
 ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -31414,581 +24026,307 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ex
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 
-# Checks for header declarations.
-{ $as_echo "$as_me:$LINENO: checking whether RLIMIT_DATA is declared" >&5
-$as_echo_n "checking whether RLIMIT_DATA is declared... " >&6; }
-if test "${ac_cv_have_decl_RLIMIT_DATA+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
-#ifdef HAVE_SYS_RESOURCE_H
-# include <sys/resource.h>
-#endif
 
 
-int
-main ()
-{
-#ifndef RLIMIT_DATA
-  (void) RLIMIT_DATA;
-#endif
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_RLIMIT_DATA=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cv_have_decl_RLIMIT_DATA=no
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_RLIMIT_DATA" >&5
-$as_echo "$ac_cv_have_decl_RLIMIT_DATA" >&6; }
-if test "x$ac_cv_have_decl_RLIMIT_DATA" = x""yes; then
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_RLIMIT_DATA 1
-_ACEOF
 
 
-else
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_RLIMIT_DATA 0
-_ACEOF
 
 
-fi
-{ $as_echo "$as_me:$LINENO: checking whether RLIMIT_RSS is declared" >&5
-$as_echo_n "checking whether RLIMIT_RSS is declared... " >&6; }
-if test "${ac_cv_have_decl_RLIMIT_RSS+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+        ac_config_commands="$ac_config_commands libtool"
 
-#ifdef HAVE_SYS_RESOURCE_H
-# include <sys/resource.h>
-#endif
 
 
-int
-main ()
-{
-#ifndef RLIMIT_RSS
-  (void) RLIMIT_RSS;
-#endif
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_RLIMIT_RSS=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+# Only expand once:
 
-	ac_cv_have_decl_RLIMIT_RSS=no
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ if test x"$enable_shared" = xyes; then
+  ENABLE_SHARED_TRUE=
+  ENABLE_SHARED_FALSE='#'
+else
+  ENABLE_SHARED_TRUE='#'
+  ENABLE_SHARED_FALSE=
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_RLIMIT_RSS" >&5
-$as_echo "$ac_cv_have_decl_RLIMIT_RSS" >&6; }
-if test "x$ac_cv_have_decl_RLIMIT_RSS" = x""yes; then
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_RLIMIT_RSS 1
-_ACEOF
+ if test x"$enable_static" = xyes; then
+  ENABLE_STATIC_TRUE=
+  ENABLE_STATIC_FALSE='#'
+else
+  ENABLE_STATIC_TRUE='#'
+  ENABLE_STATIC_FALSE=
+fi
 
 
+# Checks for md5sum.
+# Extract the first word of "md5sum", so it can be a program name with args.
+set dummy md5sum; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_MD5SUM+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_RLIMIT_RSS 0
-_ACEOF
-
+  if test -n "$MD5SUM"; then
+  ac_cv_prog_MD5SUM="$MD5SUM" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_MD5SUM="md5sum"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
 fi
-{ $as_echo "$as_me:$LINENO: checking whether RLIMIT_VMEM is declared" >&5
-$as_echo_n "checking whether RLIMIT_VMEM is declared... " >&6; }
-if test "${ac_cv_have_decl_RLIMIT_VMEM+set}" = set; then
-  $as_echo_n "(cached) " >&6
+fi
+MD5SUM=$ac_cv_prog_MD5SUM
+if test -n "$MD5SUM"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MD5SUM" >&5
+$as_echo "$MD5SUM" >&6; }
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
-#ifdef HAVE_SYS_RESOURCE_H
-# include <sys/resource.h>
-#endif
 
+ if test x$MD5SUM = xmd5sum; then
+  HAVE_MD5SUM_TRUE=
+  HAVE_MD5SUM_FALSE='#'
+else
+  HAVE_MD5SUM_TRUE='#'
+  HAVE_MD5SUM_FALSE=
+fi
 
-int
-main ()
-{
-#ifndef RLIMIT_VMEM
-  (void) RLIMIT_VMEM;
-#endif
+if test x$MD5SUM = xmd5sum
+then
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_RLIMIT_VMEM=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the text md5sum command" >&5
+$as_echo_n "checking for the text md5sum command... " >&6; }
+if echo a | (md5sum -t) >/dev/null 2>&1
+then
+  ac_cv_prog_text_md5sum='md5sum -t'
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_have_decl_RLIMIT_VMEM=no
+  ac_cv_prog_text_md5sum='md5sum'
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_text_md5sum" >&5
+$as_echo "$ac_cv_prog_text_md5sum" >&6; }
+TEXT_MD5SUM=$ac_cv_prog_text_md5sum
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_RLIMIT_VMEM" >&5
-$as_echo "$ac_cv_have_decl_RLIMIT_VMEM" >&6; }
-if test "x$ac_cv_have_decl_RLIMIT_VMEM" = x""yes; then
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_RLIMIT_VMEM 1
-_ACEOF
+fi
 
+# Check for the GLPK library.
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-else
+for ac_header in glpk.h glpk/glpk.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_RLIMIT_VMEM 0
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
+ have_glpk=yes
+fi
 
+done
 
-fi
-{ $as_echo "$as_me:$LINENO: checking whether RLIMIT_AS is declared" >&5
-$as_echo_n "checking whether RLIMIT_AS is declared... " >&6; }
-if test "${ac_cv_have_decl_RLIMIT_AS+set}" = set; then
-  $as_echo_n "(cached) " >&6
+ if test x$have_glpk = xyes; then
+  HAVE_GLPK_TRUE=
+  HAVE_GLPK_FALSE='#'
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+  HAVE_GLPK_TRUE='#'
+  HAVE_GLPK_FALSE=
+fi
 
-#ifdef HAVE_SYS_RESOURCE_H
-# include <sys/resource.h>
+if test x$have_glpk = xyes
+then
+  ac_save_LIBS="$LIBS"
+  LIBS="$LIBS -lglpk"
+  ac_fn_c_check_decl "$LINENO" "lib_set_print_hook" "ac_cv_have_decl_lib_set_print_hook" "
+#if defined(HAVE_GLPK_GLPK_H)
+#include <glpk/glpk.h>
+#elif defined(HAVE_GLPK_H)
+#include <glpk.h>
 #endif
 
+"
+if test "x$ac_cv_have_decl_lib_set_print_hook" = x""yes; then :
 
-int
-main ()
-{
-#ifndef RLIMIT_AS
-  (void) RLIMIT_AS;
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_RLIMIT_AS=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+$as_echo "#define PPL_GLPK_HAS_LIB_SET_PRINT_HOOK 1" >>confdefs.h
 
-	ac_cv_have_decl_RLIMIT_AS=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  ac_fn_c_check_func "$LINENO" "_glp_lib_print_hook" "ac_cv_func__glp_lib_print_hook"
+if test "x$ac_cv_func__glp_lib_print_hook" = x""yes; then :
+
+$as_echo "#define PPL_GLPK_HAS__GLP_LIB_PRINT_HOOK 1" >>confdefs.h
+
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_RLIMIT_AS" >&5
-$as_echo "$ac_cv_have_decl_RLIMIT_AS" >&6; }
-if test "x$ac_cv_have_decl_RLIMIT_AS" = x""yes; then
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_RLIMIT_AS 1
-_ACEOF
+  ac_fn_c_check_decl "$LINENO" "glp_term_out" "ac_cv_have_decl_glp_term_out" "
+#if defined(HAVE_GLPK_GLPK_H)
+#include <glpk/glpk.h>
+#elif defined(HAVE_GLPK_H)
+#include <glpk.h>
+#endif
 
+"
+if test "x$ac_cv_have_decl_glp_term_out" = x""yes; then :
 
-else
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_RLIMIT_AS 0
-_ACEOF
+$as_echo "#define PPL_GLPK_HAS_GLP_TERM_OUT 1" >>confdefs.h
+
+fi
+
+  ac_fn_c_check_decl "$LINENO" "glp_term_hook" "ac_cv_have_decl_glp_term_hook" "
+#if defined(HAVE_GLPK_GLPK_H)
+#include <glpk/glpk.h>
+#elif defined(HAVE_GLPK_H)
+#include <glpk.h>
+#endif
 
+"
+if test "x$ac_cv_have_decl_glp_term_hook" = x""yes; then :
 
-fi
+$as_echo "#define PPL_GLPK_HAS_GLP_TERM_HOOK 1" >>confdefs.h
 
+fi
 
+  LIBS="$ac_save_LIBS"
+fi
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
-{ $as_echo "$as_me:$LINENO: checking whether getrusage is declared" >&5
-$as_echo_n "checking whether getrusage is declared... " >&6; }
-if test "${ac_cv_have_decl_getrusage+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
-#ifdef HAVE_SYS_TIME_H
-# include <sys/time.h>
-#endif
+# Checks for header declarations.
+ac_fn_cxx_check_decl "$LINENO" "RLIMIT_DATA" "ac_cv_have_decl_RLIMIT_DATA" "
 #ifdef HAVE_SYS_RESOURCE_H
 # include <sys/resource.h>
 #endif
 
+"
+if test "x$ac_cv_have_decl_RLIMIT_DATA" = x""yes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
 
-int
-main ()
-{
-#ifndef getrusage
-  (void) getrusage;
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_RLIMIT_DATA $ac_have_decl
+_ACEOF
+ac_fn_cxx_check_decl "$LINENO" "RLIMIT_RSS" "ac_cv_have_decl_RLIMIT_RSS" "
+#ifdef HAVE_SYS_RESOURCE_H
+# include <sys/resource.h>
 #endif
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_getrusage=yes
+"
+if test "x$ac_cv_have_decl_RLIMIT_RSS" = x""yes; then :
+  ac_have_decl=1
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_have_decl_getrusage=no
+  ac_have_decl=0
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_getrusage" >&5
-$as_echo "$ac_cv_have_decl_getrusage" >&6; }
-if test "x$ac_cv_have_decl_getrusage" = x""yes; then
-
 cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_GETRUSAGE 1
+#define HAVE_DECL_RLIMIT_RSS $ac_have_decl
 _ACEOF
+ac_fn_cxx_check_decl "$LINENO" "RLIMIT_VMEM" "ac_cv_have_decl_RLIMIT_VMEM" "
+#ifdef HAVE_SYS_RESOURCE_H
+# include <sys/resource.h>
+#endif
 
-
+"
+if test "x$ac_cv_have_decl_RLIMIT_VMEM" = x""yes; then :
+  ac_have_decl=1
 else
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_GETRUSAGE 0
-_ACEOF
-
-
+  ac_have_decl=0
 fi
 
-
-
-# Checks for typedefs, structures, and compiler characteristics.
-{ $as_echo "$as_me:$LINENO: checking for timeval" >&5
-$as_echo_n "checking for timeval... " >&6; }
-if test "${ac_cv_type_timeval+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_type_timeval=no
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-if (sizeof (timeval))
-       return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-if (sizeof ((timeval)))
-	  return 0;
-  ;
-  return 0;
-}
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_RLIMIT_VMEM $ac_have_decl
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ac_fn_cxx_check_decl "$LINENO" "RLIMIT_AS" "ac_cv_have_decl_RLIMIT_AS" "
+#ifdef HAVE_SYS_RESOURCE_H
+# include <sys/resource.h>
+#endif
 
-	ac_cv_type_timeval=yes
+"
+if test "x$ac_cv_have_decl_RLIMIT_AS" = x""yes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_RLIMIT_AS $ac_have_decl
+_ACEOF
 
 
-fi
+ac_fn_cxx_check_decl "$LINENO" "getrusage" "ac_cv_have_decl_getrusage" "
+#ifdef HAVE_SYS_TIME_H
+# include <sys/time.h>
+#endif
+#ifdef HAVE_SYS_RESOURCE_H
+# include <sys/resource.h>
+#endif
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+"
+if test "x$ac_cv_have_decl_getrusage" = x""yes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_timeval" >&5
-$as_echo "$ac_cv_type_timeval" >&6; }
-if test "x$ac_cv_type_timeval" = x""yes; then
 
 cat >>confdefs.h <<_ACEOF
-#define HAVE_TIMEVAL 1
+#define HAVE_DECL_GETRUSAGE $ac_have_decl
 _ACEOF
 
-
+ac_fn_cxx_check_decl "$LINENO" "sigaction" "ac_cv_have_decl_sigaction" "#include <csignal>
+"
+if test "x$ac_cv_have_decl_sigaction" = x""yes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
 fi
 
-{ $as_echo "$as_me:$LINENO: checking for siginfo_t" >&5
-$as_echo_n "checking for siginfo_t... " >&6; }
-if test "${ac_cv_type_siginfo_t+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_type_siginfo_t=no
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_SIGACTION $ac_have_decl
 _ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
-#include <signal.h>
 
+# Checks for typedefs, structures, and compiler characteristics.
+ac_fn_cxx_check_type "$LINENO" "timeval" "ac_cv_type_timeval" "$ac_includes_default"
+if test "x$ac_cv_type_timeval" = x""yes; then :
 
-int
-main ()
-{
-if (sizeof (siginfo_t))
-       return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
+cat >>confdefs.h <<_ACEOF
+#define HAVE_TIMEVAL 1
 _ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#include <signal.h>
 
 
-int
-main ()
-{
-if (sizeof ((siginfo_t)))
-	  return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_type_siginfo_t=yes
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
+ac_fn_cxx_check_type "$LINENO" "siginfo_t" "ac_cv_type_siginfo_t" "
+#include <signal.h>
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_siginfo_t" >&5
-$as_echo "$ac_cv_type_siginfo_t" >&6; }
-if test "x$ac_cv_type_siginfo_t" = x""yes; then
+"
+if test "x$ac_cv_type_siginfo_t" = x""yes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_SIGINFO_T 1
@@ -32010,18 +24348,14 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ex
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 
-{ $as_echo "$as_me:$LINENO: checking whether we can limit memory in C++ using setrlimit()" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can limit memory in C++ using setrlimit()" >&5
 $as_echo_n "checking whether we can limit memory in C++ using setrlimit()... " >&6; }
-if test "$cross_compiling" = yes; then
-  { $as_echo "$as_me:$LINENO: result: assuming not" >&5
+if test "$cross_compiling" = yes; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: assuming not" >&5
 $as_echo "assuming not" >&6; }
   ac_cxx_supports_limiting_memory=no
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 #include <stdexcept>
@@ -32090,47 +24424,20 @@ main() try {
  }
 
 _ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
+if ac_fn_cxx_try_run "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
   ac_cxx_supports_limiting_memory=yes
 else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
   ac_cxx_supports_limiting_memory=no
 fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
 
-
 if test x"$ac_cxx_supports_limiting_memory" = xyes
 then
   value=1
@@ -32177,6 +24484,7 @@ then
   fi
 fi
 
+
 LIBEXT=$libext
 
 SHREXT=$shrext_cmds
@@ -32206,8 +24514,7 @@ SHREXT=$shrext_cmds
 
 
 
-
-ac_config_files="$ac_config_files Makefile ppl.lsm src/Makefile src/version.hh src/ppl-config.cc tests/Makefile tests/BD_Shape/Makefile tests/Box/Makefile tests/Grid/Makefile tests/MIP_Problem/Makefile tests/Octagonal_Shape/Makefile tests/Partially_Reduced_Product/Makefile tests/Polyhedron/Makefile tests/Powerset/Makefile utils/Makefile m4/Makefile demos/Makefile demos/ppl_lcdd/Makefile demos/ppl_lcdd/examples/Makefile demos/ppl_lpsol/Makefile demos/ppl_lpsol/examples/Makefile doc/Makefi [...]
+ac_config_files="$ac_config_files Makefile ppl.lsm src/Makefile src/version.hh src/ppl-config.cc tests/Makefile tests/BD_Shape/Makefile tests/Box/Makefile tests/Grid/Makefile tests/MIP_Problem/Makefile tests/Octagonal_Shape/Makefile tests/Partially_Reduced_Product/Makefile tests/PIP_Problem/Makefile tests/Polyhedron/Makefile tests/Powerset/Makefile utils/Makefile m4/Makefile demos/Makefile demos/ppl_lcdd/Makefile demos/ppl_lcdd/examples/Makefile demos/ppl_lpsol/Makefile demos/ppl_lpsol/e [...]
 
 #               tests/Ask_Tell/Makefile
 cat >confcache <<\_ACEOF
@@ -32237,13 +24544,13 @@ _ACEOF
     case $ac_val in #(
     *${as_nl}*)
       case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
+      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
       esac
       case $ac_var in #(
       _ | IFS | as_nl) ;; #(
       BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) $as_unset $ac_var ;;
+      *) { eval $ac_var=; unset $ac_var;} ;;
       esac ;;
     esac
   done
@@ -32251,8 +24558,8 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
   (set) 2>&1 |
     case $as_nl`(ac_space=' '; set) 2>&1` in #(
     *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes (double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \).
+      # `set' does not quote correctly, so add quotes: double-quote
+      # substitution turns \\\\ into \\, and sed turns \\ into \.
       sed -n \
 	"s/'/'\\\\''/g;
 	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
@@ -32275,11 +24582,11 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
     test "x$cache_file" != "x/dev/null" &&
-      { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
     cat confcache >$cache_file
   else
-    { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
   fi
 fi
@@ -32293,365 +24600,231 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
   ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
   # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
   #    will be set to the directory where LIBOBJS objects are built.
-  ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
+  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
 done
 LIBOBJS=$ac_libobjs
 
 LTLIBOBJS=$ac_ltlibobjs
 
 
+ if test -n "$EXEEXT"; then
+  am__EXEEXT_TRUE=
+  am__EXEEXT_FALSE='#'
+else
+  am__EXEEXT_TRUE='#'
+  am__EXEEXT_FALSE=
+fi
+
 if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${GCC_TRUE}" && test -z "${GCC_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"GCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"GCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"GCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${DEBUGGING_ENABLED_TRUE}" && test -z "${DEBUGGING_ENABLED_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"DEBUGGING_ENABLED\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"DEBUGGING_ENABLED\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"DEBUGGING_ENABLED\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${ASSERTIONS_ENABLED_TRUE}" && test -z "${ASSERTIONS_ENABLED_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"ASSERTIONS_ENABLED\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"ASSERTIONS_ENABLED\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"ASSERTIONS_ENABLED\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${USE_PRECOMPILED_HEADERS_TRUE}" && test -z "${USE_PRECOMPILED_HEADERS_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"USE_PRECOMPILED_HEADERS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"USE_PRECOMPILED_HEADERS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"USE_PRECOMPILED_HEADERS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${HOST_OS_CYGWIN_TRUE}" && test -z "${HOST_OS_CYGWIN_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"HOST_OS_CYGWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"HOST_OS_CYGWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"HOST_OS_CYGWIN\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${HOST_OS_DARWIN_TRUE}" && test -z "${HOST_OS_DARWIN_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"HOST_OS_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"HOST_OS_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"HOST_OS_DARWIN\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${HOST_OS_MINGW_TRUE}" && test -z "${HOST_OS_MINGW_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"HOST_OS_MINGW\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"HOST_OS_MINGW\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"HOST_OS_MINGW\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${HOST_OS_SOLARIS_TRUE}" && test -z "${HOST_OS_SOLARIS_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"HOST_OS_SOLARIS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"HOST_OS_SOLARIS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"HOST_OS_SOLARIS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${HOST_CPU_X86_64_TRUE}" && test -z "${HOST_CPU_X86_64_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"HOST_CPU_X86_64\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"HOST_CPU_X86_64\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"HOST_CPU_X86_64\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${NO_UNDEFINED_TRUE}" && test -z "${NO_UNDEFINED_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"NO_UNDEFINED\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"NO_UNDEFINED\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"NO_UNDEFINED\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${USE_NATIVE_INTEGERS_TRUE}" && test -z "${USE_NATIVE_INTEGERS_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"USE_NATIVE_INTEGERS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"USE_NATIVE_INTEGERS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"USE_NATIVE_INTEGERS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${USE_CHECKED_INTEGERS_TRUE}" && test -z "${USE_CHECKED_INTEGERS_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"USE_CHECKED_INTEGERS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"USE_CHECKED_INTEGERS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"USE_CHECKED_INTEGERS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${USE_GMP_INTEGERS_TRUE}" && test -z "${USE_GMP_INTEGERS_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"USE_GMP_INTEGERS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"USE_GMP_INTEGERS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"USE_GMP_INTEGERS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${USE_INT8_TRUE}" && test -z "${USE_INT8_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"USE_INT8\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"USE_INT8\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"USE_INT8\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${USE_INT16_TRUE}" && test -z "${USE_INT16_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"USE_INT16\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"USE_INT16\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"USE_INT16\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${USE_INT32_TRUE}" && test -z "${USE_INT32_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"USE_INT32\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"USE_INT32\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"USE_INT32\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${USE_INT64_TRUE}" && test -z "${USE_INT64_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"USE_INT64\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"USE_INT64\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"USE_INT64\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+
 if test -z "${HAVE_PERL_TRUE}" && test -z "${HAVE_PERL_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_PERL\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"HAVE_PERL\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"HAVE_PERL\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-
 if test -z "${CAN_CONTROL_FPU_TRUE}" && test -z "${CAN_CONTROL_FPU_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"CAN_CONTROL_FPU\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"CAN_CONTROL_FPU\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"CAN_CONTROL_FPU\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${SUPPORTED_FLOAT_TRUE}" && test -z "${SUPPORTED_FLOAT_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"SUPPORTED_FLOAT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"SUPPORTED_FLOAT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"SUPPORTED_FLOAT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${SUPPORTED_DOUBLE_TRUE}" && test -z "${SUPPORTED_DOUBLE_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"SUPPORTED_DOUBLE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"SUPPORTED_DOUBLE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"SUPPORTED_DOUBLE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${SUPPORTED_LONG_DOUBLE_TRUE}" && test -z "${SUPPORTED_LONG_DOUBLE_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"SUPPORTED_LONG_DOUBLE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"SUPPORTED_LONG_DOUBLE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"SUPPORTED_LONG_DOUBLE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${BUILD_WATCHDOG_LIBRARY_TRUE}" && test -z "${BUILD_WATCHDOG_LIBRARY_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_WATCHDOG_LIBRARY\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"BUILD_WATCHDOG_LIBRARY\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"BUILD_WATCHDOG_LIBRARY\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${BUILD_PPL_LCDD_TRUE}" && test -z "${BUILD_PPL_LCDD_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_PPL_LCDD\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"BUILD_PPL_LCDD\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"BUILD_PPL_LCDD\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${BUILD_PPL_LPSOL_TRUE}" && test -z "${BUILD_PPL_LPSOL_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_PPL_LPSOL\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"BUILD_PPL_LPSOL\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"BUILD_PPL_LPSOL\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_PPL_PIPS_TRUE}" && test -z "${BUILD_PPL_PIPS_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_PPL_PIPS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${BUILD_CXX_INTERFACE_TRUE}" && test -z "${BUILD_CXX_INTERFACE_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_CXX_INTERFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"BUILD_CXX_INTERFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"BUILD_CXX_INTERFACE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${BUILD_C_INTERFACE_TRUE}" && test -z "${BUILD_C_INTERFACE_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_C_INTERFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"BUILD_C_INTERFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"BUILD_C_INTERFACE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${BUILD_JAVA_INTERFACE_TRUE}" && test -z "${BUILD_JAVA_INTERFACE_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_JAVA_INTERFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"BUILD_JAVA_INTERFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"BUILD_JAVA_INTERFACE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${HAVE_OCAMLC_TRUE}" && test -z "${HAVE_OCAMLC_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_OCAMLC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"HAVE_OCAMLC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"HAVE_OCAMLC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${HAVE_OCAMLOPT_TRUE}" && test -z "${HAVE_OCAMLOPT_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_OCAMLOPT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"HAVE_OCAMLOPT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"HAVE_OCAMLOPT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${BUILD_OCAML_INTERFACE_TRUE}" && test -z "${BUILD_OCAML_INTERFACE_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_OCAML_INTERFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"BUILD_OCAML_INTERFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"BUILD_OCAML_INTERFACE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${BUILD_CIAO_PROLOG_INTERFACE_TRUE}" && test -z "${BUILD_CIAO_PROLOG_INTERFACE_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_CIAO_PROLOG_INTERFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"BUILD_CIAO_PROLOG_INTERFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"BUILD_CIAO_PROLOG_INTERFACE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${BUILD_GNU_PROLOG_INTERFACE_TRUE}" && test -z "${BUILD_GNU_PROLOG_INTERFACE_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_GNU_PROLOG_INTERFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"BUILD_GNU_PROLOG_INTERFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"BUILD_GNU_PROLOG_INTERFACE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${BUILD_SICSTUS_PROLOG_INTERFACE_TRUE}" && test -z "${BUILD_SICSTUS_PROLOG_INTERFACE_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_SICSTUS_PROLOG_INTERFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"BUILD_SICSTUS_PROLOG_INTERFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"BUILD_SICSTUS_PROLOG_INTERFACE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${BUILD_SWI_PROLOG_INTERFACE_TRUE}" && test -z "${BUILD_SWI_PROLOG_INTERFACE_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_SWI_PROLOG_INTERFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"BUILD_SWI_PROLOG_INTERFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"BUILD_SWI_PROLOG_INTERFACE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${BUILD_XSB_PROLOG_INTERFACE_TRUE}" && test -z "${BUILD_XSB_PROLOG_INTERFACE_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_XSB_PROLOG_INTERFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"BUILD_XSB_PROLOG_INTERFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"BUILD_XSB_PROLOG_INTERFACE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${BUILD_YAP_PROLOG_INTERFACE_TRUE}" && test -z "${BUILD_YAP_PROLOG_INTERFACE_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_YAP_PROLOG_INTERFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"BUILD_YAP_PROLOG_INTERFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"BUILD_YAP_PROLOG_INTERFACE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${BUILD_SOME_PROLOG_INTERFACES_TRUE}" && test -z "${BUILD_SOME_PROLOG_INTERFACES_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_SOME_PROLOG_INTERFACES\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"BUILD_SOME_PROLOG_INTERFACES\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"BUILD_SOME_PROLOG_INTERFACES\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${VALGRIND_TESTS_ENABLED_TRUE}" && test -z "${VALGRIND_TESTS_ENABLED_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"VALGRIND_TESTS_ENABLED\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"VALGRIND_TESTS_ENABLED\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"VALGRIND_TESTS_ENABLED\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${THOROUGH_MAKE_CHECK_TRUE}" && test -z "${THOROUGH_MAKE_CHECK_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"THOROUGH_MAKE_CHECK\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"THOROUGH_MAKE_CHECK\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"THOROUGH_MAKE_CHECK\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${ENABLE_SHARED_TRUE}" && test -z "${ENABLE_SHARED_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"ENABLE_SHARED\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"ENABLE_SHARED\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"ENABLE_SHARED\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${ENABLE_STATIC_TRUE}" && test -z "${ENABLE_STATIC_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"ENABLE_STATIC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"ENABLE_STATIC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"ENABLE_STATIC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${HAVE_MD5SUM_TRUE}" && test -z "${HAVE_MD5SUM_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_MD5SUM\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"HAVE_MD5SUM\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"HAVE_MD5SUM\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${HAVE_GLPK_TRUE}" && test -z "${HAVE_GLPK_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_GLPK\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"HAVE_GLPK\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "conditional \"HAVE_GLPK\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 
 : ${CONFIG_STATUS=./config.status}
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+as_write_fail=0
+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
 #! $SHELL
 # Generated by $as_me.
 # Run this file to recreate the current configuration.
@@ -32661,17 +24834,18 @@ cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 debug=false
 ac_cs_recheck=false
 ac_cs_silent=false
-SHELL=\${CONFIG_SHELL-$SHELL}
-_ACEOF
 
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-## --------------------- ##
-## M4sh Initialization.  ##
-## --------------------- ##
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
 
 # Be more Bourne compatible
 DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
   NULLCMD=:
   # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
@@ -32679,23 +24853,15 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
 else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
 esac
-
 fi
 
 
-
-
-# PATH needs CR
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
 as_nl='
 '
 export as_nl
@@ -32703,7 +24869,13 @@ export as_nl
 as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
 as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
 as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
   as_echo='printf %s\n'
   as_echo_n='printf %s'
 else
@@ -32714,7 +24886,7 @@ else
     as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
     as_echo_n_body='eval
       arg=$1;
-      case $arg in
+      case $arg in #(
       *"$as_nl"*)
 	expr "X$arg" : "X\\(.*\\)$as_nl";
 	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
@@ -32737,13 +24909,6 @@ if test "${PATH_SEPARATOR+set}" != set; then
   }
 fi
 
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  as_unset=unset
-else
-  as_unset=false
-fi
-
 
 # IFS
 # We need space, tab and new line, in precisely that order.  Quoting is
@@ -32753,15 +24918,15 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
-case $0 in
+case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
+    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  done
 IFS=$as_save_IFS
 
      ;;
@@ -32773,12 +24938,16 @@ if test "x$as_myself" = x; then
 fi
 if test ! -f "$as_myself"; then
   $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  { (exit 1); exit 1; }
+  exit 1
 fi
 
-# Work around bugs in pre-3.0 UWIN ksh.
-for as_var in ENV MAIL MAILPATH
-do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
 done
 PS1='$ '
 PS2='> '
@@ -32790,7 +24959,89 @@ export LC_ALL
 LANGUAGE=C
 export LANGUAGE
 
-# Required to use basename.
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+  fi
+  $as_echo "$as_me: error: $2" >&2
+  as_fn_exit $as_status
+} # as_fn_error
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
+else
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+
 if expr a : '\(a\)' >/dev/null 2>&1 &&
    test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
@@ -32804,8 +25055,12 @@ else
   as_basename=false
 fi
 
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
 
-# Name of the executable.
 as_me=`$as_basename -- "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
 	 X"$0" : 'X\(//\)$' \| \
@@ -32825,76 +25080,25 @@ $as_echo X/"$0" |
 	  }
 	  s/.*/./; q'`
 
-# CDPATH.
-$as_unset CDPATH
-
-
-
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-
-  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
-  # uniformly replaced by the line number.  The first 'sed' inserts a
-  # line-number line after each line using $LINENO; the second 'sed'
-  # does the real work.  The second script uses 'N' to pair each
-  # line-number line with the line containing $LINENO, and appends
-  # trailing '-' during substitution so that $LINENO is not a special
-  # case at line end.
-  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-  # scripts with optimization help from Paolo Bonzini.  Blame Lee
-  # E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
-   { (exit 1); exit 1; }; }
-
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
 
 ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in
+case `echo -n x` in #(((((
 -n*)
-  case `echo 'x\c'` in
+  case `echo 'xy\c'` in
   *c*) ECHO_T='	';;	# ECHO_T is single tab character.
-  *)   ECHO_C='\c';;
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='	';;
   esac;;
 *)
   ECHO_N='-n';;
 esac
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
 
 rm -f conf$$ conf$$.exe conf$$.file
 if test -d conf$$.dir; then
@@ -32923,8 +25127,56 @@ fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
 
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
 if mkdir -p . 2>/dev/null; then
-  as_mkdir_p=:
+  as_mkdir_p='mkdir -p "$as_dir"'
 else
   test -d ./-p && rmdir ./-p
   as_mkdir_p=false
@@ -32943,10 +25195,10 @@ else
       if test -d "$1"; then
 	test -d "$1/.";
       else
-	case $1 in
+	case $1 in #(
 	-*)set "./$1";;
 	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
 	???[sx]*):;;*)false;;esac;fi
     '\'' sh
   '
@@ -32961,13 +25213,19 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
 
 exec 6>&1
+## ----------------------------------- ##
+## Main body of $CONFIG_STATUS script. ##
+## ----------------------------------- ##
+_ASEOF
+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
 
-# Save the log message, to keep $[0] and so on meaningful, and to
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# Save the log message, to keep $0 and so on meaningful, and to
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by the Parma Polyhedra Library $as_me 0.10.2, which was
-generated by GNU Autoconf 2.63.  Invocation command line was
+This file was extended by the Parma Polyhedra Library $as_me 0.11, which was
+generated by GNU Autoconf 2.67.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -32999,13 +25257,15 @@ _ACEOF
 
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 ac_cs_usage="\
-\`$as_me' instantiates files from templates according to the
-current configuration.
+\`$as_me' instantiates files and other configuration actions
+from templates according to the current configuration.  Unless the files
+and actions are specified as TAGs, all are instantiated by default.
 
-Usage: $0 [OPTION]... [FILE]...
+Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -33024,16 +25284,17 @@ $config_headers
 Configuration commands:
 $config_commands
 
-Report bugs to <bug-autoconf at gnu.org>."
+Report bugs to <ppl-devel at cs.unipr.it>."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-the Parma Polyhedra Library config.status 0.10.2
-configured by $0, generated by GNU Autoconf 2.63,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+the Parma Polyhedra Library config.status 0.11
+configured by $0, generated by GNU Autoconf 2.67,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2008 Free Software Foundation, Inc.
+Copyright (C) 2010 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -33051,11 +25312,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -33069,27 +25335,29 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
-    CONFIG_FILES="$CONFIG_FILES '$ac_optarg'"
+    as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
   --header | --heade | --head | --hea )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
     esac
-    CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'"
+    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    { $as_echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2
-   { (exit 1); exit 1; }; };;
+    as_fn_error $? "ambiguous option: \`$1'
+Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
@@ -33097,11 +25365,10 @@ Try \`$0 --help' for more information." >&2
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) { $as_echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2
-   { (exit 1); exit 1; }; } ;;
+  -*) as_fn_error $? "unrecognized option: \`$1'
+Try \`$0 --help' for more information." ;;
 
-  *) ac_config_targets="$ac_config_targets $1"
+  *) as_fn_append ac_config_targets " $1"
      ac_need_defaults=false ;;
 
   esac
@@ -33152,184 +25419,198 @@ AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
 sed_quote_subst='$sed_quote_subst'
 double_quote_subst='$double_quote_subst'
 delay_variable_subst='$delay_variable_subst'
-macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`'
-enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`'
-host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`'
-host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`'
-host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`'
-build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`'
-build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`'
-build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`'
-SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`'
-Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`'
-GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`'
-EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`'
-FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`'
-LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`'
-NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`'
-LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`'
-exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`'
-AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`'
-STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`'
-compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`'
-GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
-objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`'
-SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`'
-ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`'
-need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`'
-LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`'
-libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`'
-fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
-need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`'
-version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`'
-striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_lib_search_dirs='`$ECHO "X$compiler_lib_search_dirs" | $Xsed -e "$delay_single_quote_subst"`'
-predep_objects='`$ECHO "X$predep_objects" | $Xsed -e "$delay_single_quote_subst"`'
-postdep_objects='`$ECHO "X$postdep_objects" | $Xsed -e "$delay_single_quote_subst"`'
-predeps='`$ECHO "X$predeps" | $Xsed -e "$delay_single_quote_subst"`'
-postdeps='`$ECHO "X$postdeps" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_lib_search_path='`$ECHO "X$compiler_lib_search_path" | $Xsed -e "$delay_single_quote_subst"`'
-LD_CXX='`$ECHO "X$LD_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_cmds_CXX='`$ECHO "X$old_archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_CXX='`$ECHO "X$compiler_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-GCC_CXX='`$ECHO "X$GCC_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "X$lt_prog_compiler_no_builtin_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_wl_CXX='`$ECHO "X$lt_prog_compiler_wl_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_pic_CXX='`$ECHO "X$lt_prog_compiler_pic_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_static_CXX='`$ECHO "X$lt_prog_compiler_static_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o_CXX='`$ECHO "X$lt_cv_prog_compiler_c_o_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-archive_cmds_need_lc_CXX='`$ECHO "X$archive_cmds_need_lc_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes_CXX='`$ECHO "X$enable_shared_with_static_runtimes_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-export_dynamic_flag_spec_CXX='`$ECHO "X$export_dynamic_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-whole_archive_flag_spec_CXX='`$ECHO "X$whole_archive_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_needs_object_CXX='`$ECHO "X$compiler_needs_object_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_from_new_cmds_CXX='`$ECHO "X$old_archive_from_new_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds_CXX='`$ECHO "X$old_archive_from_expsyms_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-archive_cmds_CXX='`$ECHO "X$archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-archive_expsym_cmds_CXX='`$ECHO "X$archive_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-module_cmds_CXX='`$ECHO "X$module_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-module_expsym_cmds_CXX='`$ECHO "X$module_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-with_gnu_ld_CXX='`$ECHO "X$with_gnu_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-allow_undefined_flag_CXX='`$ECHO "X$allow_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-no_undefined_flag_CXX='`$ECHO "X$no_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_CXX='`$ECHO "X$hardcode_libdir_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld_CXX='`$ECHO "X$hardcode_libdir_flag_spec_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_separator_CXX='`$ECHO "X$hardcode_libdir_separator_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_direct_CXX='`$ECHO "X$hardcode_direct_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_direct_absolute_CXX='`$ECHO "X$hardcode_direct_absolute_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_minus_L_CXX='`$ECHO "X$hardcode_minus_L_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_shlibpath_var_CXX='`$ECHO "X$hardcode_shlibpath_var_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_automatic_CXX='`$ECHO "X$hardcode_automatic_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-inherit_rpath_CXX='`$ECHO "X$inherit_rpath_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-link_all_deplibs_CXX='`$ECHO "X$link_all_deplibs_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-fix_srcfile_path_CXX='`$ECHO "X$fix_srcfile_path_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-always_export_symbols_CXX='`$ECHO "X$always_export_symbols_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-export_symbols_cmds_CXX='`$ECHO "X$export_symbols_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-exclude_expsyms_CXX='`$ECHO "X$exclude_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-include_expsyms_CXX='`$ECHO "X$include_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-prelink_cmds_CXX='`$ECHO "X$prelink_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-file_list_spec_CXX='`$ECHO "X$file_list_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_action_CXX='`$ECHO "X$hardcode_action_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_lib_search_dirs_CXX='`$ECHO "X$compiler_lib_search_dirs_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-predep_objects_CXX='`$ECHO "X$predep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-postdep_objects_CXX='`$ECHO "X$postdep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-predeps_CXX='`$ECHO "X$predeps_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-postdeps_CXX='`$ECHO "X$postdeps_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_lib_search_path_CXX='`$ECHO "X$compiler_lib_search_path_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
+macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
+enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
+enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
+pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
+enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
+SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
+ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
+host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
+host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
+host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
+build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
+build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
+build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
+SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
+Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
+GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
+EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
+FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
+LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
+NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
+LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
+max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
+ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
+exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
+lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
+lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
+reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
+reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
+OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
+deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
+file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
+AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
+AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
+STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
+RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
+old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
+old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
+lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
+CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
+CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
+compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
+GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
+objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
+MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
+need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
+DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
+NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
+LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
+OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
+OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
+libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
+shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
+extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
+archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
+export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
+whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
+compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
+old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
+archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
+archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
+module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
+module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
+with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
+allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
+no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
+hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
+hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
+hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
+hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
+inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
+link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
+fix_srcfile_path='`$ECHO "$fix_srcfile_path" | $SED "$delay_single_quote_subst"`'
+always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
+export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
+exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
+include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
+prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
+file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
+variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
+need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
+need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
+version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
+runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
+shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
+shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
+libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
+library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
+soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
+install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
+postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
+finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
+finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
+hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
+sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
+sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
+hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
+enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
+enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
+enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
+old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
+striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`'
+predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`'
+postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`'
+predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`'
+postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`'
+LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`'
+reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`'
+reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`'
+GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`'
+archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`'
+export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
+whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`'
+old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`'
+allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
+no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_ld_CXX='`$ECHO "$hardcode_libdir_flag_spec_ld_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`'
+inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`'
+link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`'
+fix_srcfile_path_CXX='`$ECHO "$fix_srcfile_path_CXX" | $SED "$delay_single_quote_subst"`'
+always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`'
+export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
+include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
+prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`'
+predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`'
+postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`'
+predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`'
+postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`'
 
 LTCC='$LTCC'
 LTCFLAGS='$LTCFLAGS'
 compiler='$compiler_DEFAULT'
 
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+  eval 'cat <<_LTECHO_EOF
+\$1
+_LTECHO_EOF'
+}
+
 # Quote evaled strings.
-for var in SED \
+for var in SHELL \
+ECHO \
+SED \
 GREP \
 EGREP \
 FGREP \
@@ -33353,8 +25634,6 @@ lt_cv_sys_global_symbol_pipe \
 lt_cv_sys_global_symbol_to_cdecl \
 lt_cv_sys_global_symbol_to_c_name_address \
 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-SHELL \
-ECHO \
 lt_prog_compiler_no_builtin_flag \
 lt_prog_compiler_wl \
 lt_prog_compiler_pic \
@@ -33384,6 +25663,7 @@ variables_saved_for_relink \
 libname_spec \
 library_names_spec \
 soname_spec \
+install_override_mode \
 finish_eval \
 old_striplib \
 striplib \
@@ -33394,6 +25674,7 @@ predeps \
 postdeps \
 compiler_lib_search_path \
 LD_CXX \
+reload_flag_CXX \
 compiler_CXX \
 lt_prog_compiler_no_builtin_flag_CXX \
 lt_prog_compiler_wl_CXX \
@@ -33419,9 +25700,9 @@ postdep_objects_CXX \
 predeps_CXX \
 postdeps_CXX \
 compiler_lib_search_path_CXX; do
-    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
       ;;
     *)
       eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -33448,6 +25729,7 @@ postuninstall_cmds \
 finish_cmds \
 sys_lib_search_path_spec \
 sys_lib_dlsearch_path_spec \
+reload_cmds_CXX \
 old_archive_cmds_CXX \
 old_archive_from_new_cmds_CXX \
 old_archive_from_expsyms_cmds_CXX \
@@ -33457,9 +25739,9 @@ module_cmds_CXX \
 module_expsym_cmds_CXX \
 export_symbols_cmds_CXX \
 prelink_cmds_CXX; do
-    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
       ;;
     *)
       eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -33467,12 +25749,6 @@ prelink_cmds_CXX; do
     esac
 done
 
-# Fix-up fallback echo if it was mangled by the above quoting rules.
-case \$lt_ECHO in
-*'\\\$0 --fallback-echo"')  lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\`
-  ;;
-esac
-
 ac_aux_dir='$ac_aux_dir'
 xsi_shell='$xsi_shell'
 lt_shell_append='$lt_shell_append'
@@ -33518,6 +25794,7 @@ do
     "tests/MIP_Problem/Makefile") CONFIG_FILES="$CONFIG_FILES tests/MIP_Problem/Makefile" ;;
     "tests/Octagonal_Shape/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Octagonal_Shape/Makefile" ;;
     "tests/Partially_Reduced_Product/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Partially_Reduced_Product/Makefile" ;;
+    "tests/PIP_Problem/Makefile") CONFIG_FILES="$CONFIG_FILES tests/PIP_Problem/Makefile" ;;
     "tests/Polyhedron/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Polyhedron/Makefile" ;;
     "tests/Powerset/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Powerset/Makefile" ;;
     "utils/Makefile") CONFIG_FILES="$CONFIG_FILES utils/Makefile" ;;
@@ -33527,6 +25804,8 @@ do
     "demos/ppl_lcdd/examples/Makefile") CONFIG_FILES="$CONFIG_FILES demos/ppl_lcdd/examples/Makefile" ;;
     "demos/ppl_lpsol/Makefile") CONFIG_FILES="$CONFIG_FILES demos/ppl_lpsol/Makefile" ;;
     "demos/ppl_lpsol/examples/Makefile") CONFIG_FILES="$CONFIG_FILES demos/ppl_lpsol/examples/Makefile" ;;
+    "demos/ppl_pips/Makefile") CONFIG_FILES="$CONFIG_FILES demos/ppl_pips/Makefile" ;;
+    "demos/ppl_pips/examples/Makefile") CONFIG_FILES="$CONFIG_FILES demos/ppl_pips/examples/Makefile" ;;
     "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
     "doc/user.doxyconf-latex") CONFIG_FILES="$CONFIG_FILES doc/user.doxyconf-latex" ;;
     "doc/devref.doxyconf-latex") CONFIG_FILES="$CONFIG_FILES doc/devref.doxyconf-latex" ;;
@@ -33553,9 +25832,7 @@ do
     "interfaces/Prolog/YAP/Makefile") CONFIG_FILES="$CONFIG_FILES interfaces/Prolog/YAP/Makefile" ;;
     "interfaces/Prolog/tests/Makefile") CONFIG_FILES="$CONFIG_FILES interfaces/Prolog/tests/Makefile" ;;
 
-  *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
-   { (exit 1); exit 1; }; };;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -33582,7 +25859,7 @@ $debug ||
   trap 'exit_status=$?
   { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
 ' 0
-  trap '{ (exit 1); exit 1; }' 1 2 13 15
+  trap 'as_fn_exit 1' 1 2 13 15
 }
 # Create a (secure) tmp directory for tmp files.
 
@@ -33593,11 +25870,7 @@ $debug ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} ||
-{
-   $as_echo "$as_me: cannot create a temporary directory in ." >&2
-   { (exit 1); exit 1; }
-}
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -33605,7 +25878,13 @@ $debug ||
 if test -n "$CONFIG_FILES"; then
 
 
-ac_cr='
'
+ac_cr=`echo X | tr X '\015'`
+# On cygwin, bash can eat \r inside `` if the user requested igncr.
+# But we know of no other shell where ac_cr would be empty at this
+# point, so we can use a bashism as a fallback.
+if test "x$ac_cr" = x; then
+  eval ac_cr=\$\'\\r\'
+fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
   ac_cs_awk_cr='\\r'
@@ -33622,24 +25901,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
-   { (exit 1); exit 1; }; }
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
-   { (exit 1); exit 1; }; }
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
-   { (exit 1); exit 1; }; }
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -33661,7 +25934,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -33675,7 +25948,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -33728,22 +26001,28 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
 else
   cat
 fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5
-$as_echo "$as_me: error: could not setup config files machinery" >&2;}
-   { (exit 1); exit 1; }; }
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -33771,9 +26050,7 @@ for ac_last_try in false false :; do
   if test -z "$ac_t"; then
     break
   elif $ac_last_try; then
-    { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5
-$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;}
-   { (exit 1); exit 1; }; }
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -33858,9 +26135,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5
-$as_echo "$as_me: error: could not setup config headers machinery" >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -33873,9 +26148,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5
-$as_echo "$as_me: error: invalid tag $ac_tag" >&2;}
-   { (exit 1); exit 1; }; };;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -33903,12 +26176,10 @@ $as_echo "$as_me: error: invalid tag $ac_tag" >&2;}
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
-$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;}
-   { (exit 1); exit 1; }; };;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-      ac_file_inputs="$ac_file_inputs '$ac_f'"
+      as_fn_append ac_file_inputs " '$ac_f'"
     done
 
     # Let's still pretend it is `configure' which instantiates (i.e., don't
@@ -33919,7 +26190,7 @@ $as_echo "$as_me: error: cannot find input file: $ac_f" >&2;}
 	`' by configure.'
     if test x"$ac_file" != x-; then
       configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:$LINENO: creating $ac_file" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
 $as_echo "$as_me: creating $ac_file" >&6;}
     fi
     # Neutralize special characters interpreted by sed in replacement strings.
@@ -33932,9 +26203,7 @@ $as_echo "$as_me: creating $ac_file" >&6;}
 
     case $ac_tag in
     *:-:* | *:-) cat >"$tmp/stdin" \
-      || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
-$as_echo "$as_me: error: could not create $ac_file" >&2;}
-   { (exit 1); exit 1; }; } ;;
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -33962,47 +26231,7 @@ $as_echo X"$ac_file" |
 	    q
 	  }
 	  s/.*/./; q'`
-  { as_dir="$ac_dir"
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$as_dir" : 'X\(//\)[^/]' \| \
-	 X"$as_dir" : 'X\(//\)$' \| \
-	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
-   { (exit 1); exit 1; }; }; }
+  as_dir="$ac_dir"; as_fn_mkdir_p
   ac_builddir=.
 
 case "$ac_dir" in
@@ -34059,7 +26288,6 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # If the template does not know about datarootdir, expand it.
 # FIXME: This hack should be removed a few years after 2.60.
 ac_datarootdir_hack=; ac_datarootdir_seen=
-
 ac_sed_dataroot='
 /datarootdir/ {
   p
@@ -34069,12 +26297,11 @@ ac_sed_dataroot='
 /@docdir@/p
 /@infodir@/p
 /@localedir@/p
-/@mandir@/p
-'
+/@mandir@/p'
 case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
 *datarootdir*) ac_datarootdir_seen=yes;;
 *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
@@ -34084,7 +26311,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
   s&@infodir@&$infodir&g
   s&@localedir@&$localedir&g
   s&@mandir@&$mandir&g
-    s&\\\${datarootdir}&$datarootdir&g' ;;
+  s&\\\${datarootdir}&$datarootdir&g' ;;
 esac
 _ACEOF
 
@@ -34113,26 +26340,22 @@ s&@MKDIR_P@&$ac_MKDIR_P&;t t
 $ac_datarootdir_hack
 "
 eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
-$as_echo "$as_me: error: could not create $ac_file" >&2;}
-   { (exit 1); exit 1; }; }
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
   { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
   { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
   rm -f "$tmp/stdin"
   case $ac_file in
   -) cat "$tmp/out" && rm -f "$tmp/out";;
   *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
   esac \
-  || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
-$as_echo "$as_me: error: could not create $ac_file" >&2;}
-   { (exit 1); exit 1; }; }
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -34143,25 +26366,19 @@ $as_echo "$as_me: error: could not create $ac_file" >&2;}
       $as_echo "/* $configure_input  */" \
       && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
     } >"$tmp/config.h" \
-      || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
-$as_echo "$as_me: error: could not create $ac_file" >&2;}
-   { (exit 1); exit 1; }; }
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
     if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
       mv "$tmp/config.h" "$ac_file" \
-	|| { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
-$as_echo "$as_me: error: could not create $ac_file" >&2;}
-   { (exit 1); exit 1; }; }
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
       && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5
-$as_echo "$as_me: error: could not create -" >&2;}
-   { (exit 1); exit 1; }; }
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
 # Compute "$ac_file"'s index in $config_headers.
 _am_arg="$ac_file"
@@ -34199,25 +26416,35 @@ $as_echo X"$_am_arg" |
 	  s/.*/./; q'`/stamp-h$_am_stamp_count
  ;;
 
-  :C)  { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5
+  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
 $as_echo "$as_me: executing $ac_file commands" >&6;}
  ;;
   esac
 
 
   case $ac_file$ac_mode in
-    "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
-  # Strip MF so we end up with the name of the file.
-  mf=`echo "$mf" | sed -e 's/:.*$//'`
-  # Check whether this is an Automake generated Makefile or not.
-  # We used to match only the files named `Makefile.in', but
-  # some people rename them; so instead we look at the file content.
-  # Grep'ing the first line is not enough: some people post-process
-  # each Makefile.in and add a new line on top of each file to say so.
-  # Grep'ing the whole file is not good either: AIX grep has a line
-  # limit of 2048, but all sed's we know have understand at least 4000.
-  if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-    dirpart=`$as_dirname -- "$mf" ||
+    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # are listed without --file.  Let's play safe and only enable the eval
+  # if we detect the quoting.
+  case $CONFIG_FILES in
+  *\'*) eval set x "$CONFIG_FILES" ;;
+  *)   set x $CONFIG_FILES ;;
+  esac
+  shift
+  for mf
+  do
+    # Strip MF so we end up with the name of the file.
+    mf=`echo "$mf" | sed -e 's/:.*$//'`
+    # Check whether this is an Automake generated Makefile or not.
+    # We used to match only the files named `Makefile.in', but
+    # some people rename them; so instead we look at the file content.
+    # Grep'ing the first line is not enough: some people post-process
+    # each Makefile.in and add a new line on top of each file to say so.
+    # Grep'ing the whole file is not good either: AIX grep has a line
+    # limit of 2048, but all sed's we know have understand at least 4000.
+    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+      dirpart=`$as_dirname -- "$mf" ||
 $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
 	 X"$mf" : 'X\(//\)[^/]' \| \
 	 X"$mf" : 'X\(//\)$' \| \
@@ -34240,28 +26467,28 @@ $as_echo X"$mf" |
 	    q
 	  }
 	  s/.*/./; q'`
-  else
-    continue
-  fi
-  # Extract the definition of DEPDIR, am__include, and am__quote
-  # from the Makefile without running `make'.
-  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-  test -z "$DEPDIR" && continue
-  am__include=`sed -n 's/^am__include = //p' < "$mf"`
-  test -z "am__include" && continue
-  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-  # When using ansi2knr, U may be empty or an underscore; expand it
-  U=`sed -n 's/^U = //p' < "$mf"`
-  # Find all dependency output files, they are included files with
-  # $(DEPDIR) in their names.  We invoke sed twice because it is the
-  # simplest approach to changing $(DEPDIR) to its actual value in the
-  # expansion.
-  for file in `sed -n "
-    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-    # Make sure the directory exists.
-    test -f "$dirpart/$file" && continue
-    fdir=`$as_dirname -- "$file" ||
+    else
+      continue
+    fi
+    # Extract the definition of DEPDIR, am__include, and am__quote
+    # from the Makefile without running `make'.
+    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+    test -z "$DEPDIR" && continue
+    am__include=`sed -n 's/^am__include = //p' < "$mf"`
+    test -z "am__include" && continue
+    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+    # When using ansi2knr, U may be empty or an underscore; expand it
+    U=`sed -n 's/^U = //p' < "$mf"`
+    # Find all dependency output files, they are included files with
+    # $(DEPDIR) in their names.  We invoke sed twice because it is the
+    # simplest approach to changing $(DEPDIR) to its actual value in the
+    # expansion.
+    for file in `sed -n "
+      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+      # Make sure the directory exists.
+      test -f "$dirpart/$file" && continue
+      fdir=`$as_dirname -- "$file" ||
 $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
 	 X"$file" : 'X\(//\)[^/]' \| \
 	 X"$file" : 'X\(//\)$' \| \
@@ -34284,51 +26511,12 @@ $as_echo X"$file" |
 	    q
 	  }
 	  s/.*/./; q'`
-    { as_dir=$dirpart/$fdir
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$as_dir" : 'X\(//\)[^/]' \| \
-	 X"$as_dir" : 'X\(//\)$' \| \
-	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-      test -d "$as_dir" && break
+      as_dir=$dirpart/$fdir; as_fn_mkdir_p
+      # echo "creating $dirpart/$file"
+      echo '# dummy' > "$dirpart/$file"
     done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
-   { (exit 1); exit 1; }; }; }
-    # echo "creating $dirpart/$file"
-    echo '# dummy' > "$dirpart/$file"
   done
-done
+}
  ;;
     "libtool":C)
 
@@ -34351,7 +26539,8 @@ done
 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
 #
 #   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008 Free Software Foundation, Inc.
+#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
+#                 Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 #   This file is part of GNU Libtool.
@@ -34399,6 +26588,12 @@ pic_mode=$pic_mode
 # Whether or not to optimize for fast installation.
 fast_install=$enable_fast_install
 
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# An echo program that protects backslashes.
+ECHO=$lt_ECHO
+
 # The host system.
 host_alias=$host_alias
 host=$host
@@ -34448,10 +26643,6 @@ SP2NL=$lt_lt_SP2NL
 # turn newlines into spaces.
 NL2SP=$lt_lt_NL2SP
 
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
 # An object symbol dumper.
 OBJDUMP=$lt_OBJDUMP
 
@@ -34473,6 +26664,9 @@ RANLIB=$lt_RANLIB
 old_postinstall_cmds=$lt_old_postinstall_cmds
 old_postuninstall_cmds=$lt_old_postuninstall_cmds
 
+# Whether to use a lock for old archive extraction.
+lock_old_archive_extraction=$lock_old_archive_extraction
+
 # A C compiler.
 LTCC=$lt_CC
 
@@ -34494,12 +26688,6 @@ global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name
 # The name of the directory that contains temporary libtool files.
 objdir=$objdir
 
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that does not interpret backslashes.
-ECHO=$lt_ECHO
-
 # Used to examine libraries when file_magic_cmd begins with "file".
 MAGIC_CMD=$MAGIC_CMD
 
@@ -34562,6 +26750,9 @@ library_names_spec=$lt_library_names_spec
 # The coded name of the library, if different from the real name.
 soname_spec=$lt_soname_spec
 
+# Permission mode override for installation of shared libraries.
+install_override_mode=$lt_install_override_mode
+
 # Command to use after installation of a shared archive.
 postinstall_cmds=$lt_postinstall_cmds
 
@@ -34601,6 +26792,10 @@ striplib=$lt_striplib
 # The linker used to build libraries.
 LD=$lt_LD
 
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
 # Commands used to build an old-style archive.
 old_archive_cmds=$lt_old_archive_cmds
 
@@ -34874,7 +27069,7 @@ _LT_EOF
 func_dirname ()
 {
   # Extract subdirectory from the argument.
-  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+  func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
   if test "X$func_dirname_result" = "X${1}"; then
     func_dirname_result="${3}"
   else
@@ -34885,7 +27080,7 @@ func_dirname ()
 # func_basename file
 func_basename ()
 {
-  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+  func_basename_result=`$ECHO "${1}" | $SED "$basename"`
 }
 
 
@@ -34898,10 +27093,8 @@ func_basename ()
 func_stripname ()
 {
   case ${2} in
-    .*) func_stripname_result=`$ECHO "X${3}" \
-           | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
-    *)  func_stripname_result=`$ECHO "X${3}" \
-           | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
+    .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+    *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
   esac
 }
 
@@ -34912,20 +27105,20 @@ my_sed_long_arg='1s/^-[^=]*=//'
 # func_opt_split
 func_opt_split ()
 {
-  func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
-  func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
+  func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
+  func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
 }
 
 # func_lo2o object
 func_lo2o ()
 {
-  func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
+  func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
 }
 
 # func_xform libobj-or-source
 func_xform ()
 {
-  func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'`
+  func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
 }
 
 # func_arith arithmetic-term...
@@ -34986,6 +27179,10 @@ _LT_EOF
 # The linker used to build libraries.
 LD=$lt_LD_CXX
 
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag_CXX
+reload_cmds=$lt_reload_cmds_CXX
+
 # Commands used to build an old-style archive.
 old_archive_cmds=$lt_old_archive_cmds_CXX
 
@@ -35137,15 +27334,12 @@ _LT_EOF
 done # for ac_tag
 
 
-{ (exit 0); exit 0; }
+as_fn_exit 0
 _ACEOF
-chmod +x $CONFIG_STATUS
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -35166,7 +27360,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || { (exit 1); exit 1; }
+  $ac_cs_success || as_fn_exit 1
 fi
 
 #
@@ -35210,7 +27404,7 @@ if test "$no_recursion" != yes; then
       case $ac_arg in
       *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
       esac
-      ac_sub_configure_args="$ac_sub_configure_args '$ac_arg'" ;;
+      as_fn_append ac_sub_configure_args " '$ac_arg'" ;;
     esac
   done
 
@@ -35239,49 +27433,9 @@ if test "$no_recursion" != yes; then
     test -d "$srcdir/$ac_dir" || continue
 
     ac_msg="=== configuring in $ac_dir (`pwd`/$ac_dir)"
-    $as_echo "$as_me:$LINENO: $ac_msg" >&5
+    $as_echo "$as_me:${as_lineno-$LINENO}: $ac_msg" >&5
     $as_echo "$ac_msg" >&6
-    { as_dir="$ac_dir"
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$as_dir" : 'X\(//\)[^/]' \| \
-	 X"$as_dir" : 'X\(//\)$' \| \
-	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
-   { (exit 1); exit 1; }; }; }
+    as_dir="$ac_dir"; as_fn_mkdir_p
     ac_builddir=.
 
 case "$ac_dir" in
@@ -35328,7 +27482,7 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
       # This should be Cygnus configure.
       ac_sub_configure=$ac_aux_dir/configure
     else
-      { $as_echo "$as_me:$LINENO: WARNING: no configuration information is in $ac_dir" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: no configuration information is in $ac_dir" >&5
 $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2;}
       ac_sub_configure=
     fi
@@ -35342,28 +27496,26 @@ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2;}
 	ac_sub_cache_file=$ac_top_build_prefix$cache_file ;;
       esac
 
-      { $as_echo "$as_me:$LINENO: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5
 $as_echo "$as_me: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;}
       # The eval makes quoting arguments work.
       eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \
 	   --cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" ||
-	{ { $as_echo "$as_me:$LINENO: error: $ac_sub_configure failed for $ac_dir" >&5
-$as_echo "$as_me: error: $ac_sub_configure failed for $ac_dir" >&2;}
-   { (exit 1); exit 1; }; }
+	as_fn_error $? "$ac_sub_configure failed for $ac_dir" "$LINENO" 5
     fi
 
     cd "$ac_popdir"
   done
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
 fi
 
 
 if test x"$gmp_supports_exceptions" = xno
 then
-  { $as_echo "$as_me:$LINENO: WARNING: CANNOT PROPAGATE EXCEPTIONS BACK FROM GMP:
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: CANNOT PROPAGATE EXCEPTIONS BACK FROM GMP:
 *** MEMORY EXHAUSTION MAY RESULT IN ABRUPT TERMINATION.
 *** This is OK, if you do not plan to use the bounded memory capabilities
 *** offered by the PPL.  Otherwise, if you are using GCC or the Intel C/C++
@@ -35383,23 +27535,7 @@ fi
 
 if test x"$PERL" = xno
 then
-  if test x${c_interface_enabled} = xyes
-  then
-    { { $as_echo "$as_me:$LINENO: error: PERL UNAVAILABLE:
-***  CANNOT BUILD THE C_INTERFACE.
-*** Perl could not be found on your system, so that the C interface cannot
-*** be built.  You should either disable the generation of the C interface
-*** (with the \`--enable-interfaces' configure option) or add Perl to your
-*** development environment: see http://www.perl.org/ for more information." >&5
-$as_echo "$as_me: error: PERL UNAVAILABLE:
-***  CANNOT BUILD THE C_INTERFACE.
-*** Perl could not be found on your system, so that the C interface cannot
-*** be built.  You should either disable the generation of the C interface
-*** (with the \`--enable-interfaces' configure option) or add Perl to your
-*** development environment: see http://www.perl.org/ for more information." >&2;}
-   { (exit 1); exit 1; }; }
-  else
-    { $as_echo "$as_me:$LINENO: WARNING: PERL UNAVAILABLE:
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: PERL UNAVAILABLE:
 ***  CANNOT REBUILD SOME FILES IF SOURCES ARE CHANGED.
 *** Perl could not be found on your system.  This is OK, if you only plan
 *** to build the PPL without modifying the sources and without trying to
@@ -35413,12 +27549,11 @@ $as_echo "$as_me: WARNING: PERL UNAVAILABLE:
 *** build a distribution out of a CVS working copy.  If this is not the case,
 *** then you need to add Perl to your development environment:
 *** see http://www.perl.org/ for more information." >&2;}
-  fi
 fi
 
 if test x"$coefficient_kind" = xnative
 then
-  { $as_echo "$as_me:$LINENO: WARNING: USING NATIVE INTEGERS IS EXTREMELY DANGEROUS:
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: USING NATIVE INTEGERS IS EXTREMELY DANGEROUS:
 *** CONSIDER ANY RESULT YOU WILL GET FROM THE LIBRARY AS PSEUDO-RANDOM!!!
 *** You have requested to use a native integral type to represent
 *** coefficients.  This means that arithmetic overflows will be possible
diff --git a/configure.ac b/configure.ac
index 003514a..e71ce8b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
 # Autoconf source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -23,7 +23,7 @@
 # Process this file with Autoconf to produce a configure script.
 
 # Every other copy of the package version number gets its value from here.
-AC_INIT([the Parma Polyhedra Library], [0.10.2], [ppl-devel at cs.unipr.it], [ppl])
+AC_INIT([the Parma Polyhedra Library], [0.11], [ppl-devel at cs.unipr.it], [ppl])
 
 # Minimum Autoconf version required.
 AC_PREREQ(2.61)
@@ -39,7 +39,7 @@ AC_CONFIG_MACRO_DIR([m4])
 AC_CANONICAL_HOST
 
 # Use Automake.
-AM_INIT_AUTOMAKE([foreign no-define dist-bzip2 dist-zip tar-ustar 1.9])
+AM_INIT_AUTOMAKE([foreign no-define dist-bzip2 dist-zip dist-lzma tar-ustar silent-rules 1.11])
 
 AC_SUBST(VERSION)
 
@@ -78,6 +78,8 @@ ISODATE=`date +%Y-%m-%d`
 AC_SUBST(ISODATE)
 
 AH_TOP([
+/* BEGIN ppl-config.h */
+
 /* Unique (nonzero) code for the IEEE 754 Single Precision
    floating point format.  */
 #define PPL_FLOAT_IEEE754_SINGLE 1
@@ -116,6 +118,8 @@ AH_BOTTOM([
 #ifdef PPL_HAVE_INTTYPES_H
 # include <inttypes.h>
 #endif
+
+/* END ppl-config.h */
 ])
 
 
@@ -241,6 +245,7 @@ yes)
   AC_MSG_RESULT(yes)
   OPT_FLAGS="-g"
   COMP_FLAGS="$COMP_FLAGS -fprofile-arcs -ftest-coverage"
+  extra_libraries="${extra_libraries} -lgcov"
   ;;
 no)
   AC_MSG_RESULT(no)
@@ -490,7 +495,7 @@ x86_64*)
 esac
 
 case "${host_os}" in
-cygwin)
+cygwin*)
   cygwin=yes
   no_undefined=yes
   ;;
@@ -499,6 +504,7 @@ darwin*)
   ;;
 mingw*)
   mingw=yes
+  no_undefined=yes
   ;;
 solaris*)
   solaris=yes
@@ -599,7 +605,7 @@ then
   AC_DEFINE(PPL_NATIVE_INTEGERS, 1, [Defined if the integral type to be used for coefficients is a native one.])
 elif test x"$coefficient_kind" = xchecked
 then
-  coefficient_type="Parma_Polyhedra_Library::Checked_Number<int${coefficient_bits}_t>"
+  coefficient_type="Parma_Polyhedra_Library::Checked_Number<int${coefficient_bits}_t, Bounded_Integer_Coefficient_Policy>"
   AC_DEFINE_UNQUOTED(PPL_COEFFICIENT_TYPE, $coefficient_type)
   AC_DEFINE_UNQUOTED(PPL_COEFFICIENT_BITS, $coefficient_bits)
   AC_DEFINE(PPL_CHECKED_INTEGERS, 1, [Defined if the integral type to be used for coefficients is a checked one.])
@@ -610,23 +616,18 @@ then
   AC_DEFINE(PPL_GMP_INTEGERS, 1, [Defined if the integral type to be used for coefficients is GMP's one.])
 fi
 
-# Allow additions to C and C++ compilation flags.
-
+# Allow additions to C compilation flags.
 AC_ARG_WITH(cflags,
   AS_HELP_STRING([--with-cflags=XXX],
                  [add XXX to the options for the C compiler]),
   CFLAGS="$CFLAGS $with_cflags")
 
+# Allow additions to C++ compilation flags.
 AC_ARG_WITH(cxxflags,
   AS_HELP_STRING([--with-cxxflags=XXX],
                  [add XXX to the options for the C++ compiler]),
   CXXFLAGS="$CXXFLAGS $with_cxxflags")
 
-# Check for Perl.
-AC_PATH_PROG([PERL], perl, no)
-AC_SUBST([PERL])
-AM_CONDITIONAL(HAVE_PERL, test x"$PERL" != xno)
-
 # Checks for C typedefs, structures, compiler and architecture characteristics.
 AC_LANG(C)
 AC_C_CONST
@@ -650,9 +651,17 @@ AC_CHECK_SIZEOF(long double)
 AC_CHECK_SIZEOF([int*])
 AC_CHECK_SIZEOF([fp], [], [typedef int *(*fp)();])
 
+# Check for Perl.
+AC_PATH_PROG([PERL], perl, no)
+AC_SUBST([PERL])
+AM_CONDITIONAL(HAVE_PERL, test x"$PERL" != xno)
+
 # Use C++ for the remaining checks.
 AC_LANG(C++)
 
+# The PPL uses <cmath> for sqrt and other functions in several places.
+AC_SEARCH_LIBS([sqrt], [m])
+
 # Check for the possibility to control the FPU.
 AC_CHECK_FPU_CONTROL
 
@@ -712,10 +721,12 @@ AC_CHECK_DECLS([fma,fmaf,fmal,rintf,rintl], , , [#include <cmath>])
 # Checks for the availability of "fast" integral types.
 AC_CHECK_TYPES([int_fast16_t,int_fast32_t,int_fast64_t,uint_fast16_t,uint_fast32_t,uint_fast64_t])
 
-# Must link everything with libm.
-extra_libraries="${extra_libraries} -lm"
+# Make sure uintptr_t is defined to an unsigned integer type wide enough
+# to hold a pointer, if such a type exists.
+AC_TYPE_UINTPTR_T
+
 
-# GMP library.
+# Checks on the GMP library.
 
 AC_CHECK_GMP
 if test x"$have_gmp" = xno
@@ -755,26 +766,14 @@ fi
 extra_includes="${extra_includes}${extra_includes:+ }${gmp_includes_option}"
 extra_libraries="${extra_libraries}${extra_libraries:+ }${gmp_library_option}"
 
-# setitimer() is a strong requisite for the PWL.
-AC_CHECK_FUNCS([setitimer], [have_setitimer=yes], [have_setitimer=no])
-
-enableval=default
+enableval=yes
 AC_MSG_CHECKING([whether to build the Parma Watchdog Library])
 AC_ARG_ENABLE(watchdog,
   AS_HELP_STRING([--enable-watchdog],
                  [build also the Parma Watchdog Library]))
 case "${enableval}" in
 yes)
-  if test x"$have_setitimer" = xyes
-  then
-    build_watchdog_library=yes
-  else
-    AC_MSG_ERROR([CANNOT BUILD THE WATCHDOG LIBRARY
-*** THE SYSTEM DOES NOT PROVIDE THE SETITIMER FUNCTION.])
-  fi
-  ;;
-default)
-  build_watchdog_library=$have_setitimer
+  build_watchdog_library=yes
   ;;
 no)
   build_watchdog_library=no
@@ -829,6 +828,24 @@ esac
 build_ppl_lpsol=$enableval
 AM_CONDITIONAL(BUILD_PPL_LPSOL, test x"$build_ppl_lpsol" = xyes)
 
+enableval=yes
+AC_MSG_CHECKING([whether to build the ppl_pips program])
+AC_ARG_ENABLE(ppl_pips,
+  AS_HELP_STRING([--enable-ppl_pips], [build the ppl_pips program]))
+case "${enableval}" in
+yes)
+  AC_MSG_RESULT(yes)
+  ;;
+no)
+  AC_MSG_RESULT(no)
+  ;;
+*)
+  AC_MSG_ERROR([bad value ${enableval} for --enable-ppl_pips, needs yes or no])
+  ;;
+esac
+build_ppl_pips=$enableval
+AM_CONDITIONAL(BUILD_PPL_PIPS, test x"$build_ppl_pips" = xyes)
+
 # Define lists of available interfaces: lowercase and blank-separated.
 non_prolog_interfaces="cxx c ocaml java"
 prolog_interfaces="ciao_prolog gnu_prolog sicstus_prolog swi_prolog xsb_prolog yap_prolog"
@@ -895,17 +912,13 @@ xall)
   ;;
 esac
 
-# Perl is needed to build the C++ interface.
-if test x${cxx_interface_enabled} = xyes \
-&& test x"$PERL" != xno
+if test x${cxx_interface_enabled} = xyes
 then
   build_cxx_interface=yes
 fi
 AM_CONDITIONAL(BUILD_CXX_INTERFACE, test x$build_cxx_interface = xyes)
 
-# Perl is needed to build the C interface.
-if test x${c_interface_enabled} = xyes \
-&& test x"$PERL" != xno
+if test x${c_interface_enabled} = xyes
 then
   build_c_interface=yes
 fi
@@ -926,7 +939,7 @@ darwin*)
     java_dir="/Library/Java/Home"
   fi
   ;;
-# On Fedora 9 systems the JDK is usually in /usr/lib/jvm/java .
+# On modern Fedora systems the JDK is usually in /usr/lib/jvm/java .
 linux*)
   if test "x$java_dir" = x
   then
@@ -1000,15 +1013,13 @@ AC_ARG_WITH(mlgmp,
 # Checks for OCaml.
 if test x${ocaml_interface_enabled} = xyes
 then
-  # Check for the bytecode compiler.
-  AC_CHECK_PROG(OCAMLC, ocamlc, ocamlc)
-  ocamlc_gmp="no"
-  if test x"$OCAMLC" = xocamlc
+  # Detect which tools of the OCaml toolchain are available.
+  AC_PROG_OCAML
+  if test x"$OCAMLC" != xno
   then
-     ocamlc_root=`ocamlc -where`
      # Check for the bytecode version of ML GMP.
      AC_MSG_CHECKING([for ML GMP bytecode module gmp.cma])
-     if ( test ${mlgmp_dir} = +gmp && test -f ${ocamlc_root}/gmp/gmp.cma ) \
+     if ( test ${mlgmp_dir} = +gmp && test -f ${OCAMLLIB}/gmp/gmp.cma ) \
         || test -f ${mlgmp_dir}/gmp.cma;
      then
          AC_MSG_RESULT(yes)
@@ -1018,12 +1029,9 @@ then
 	 ocamlc_gmp="no"
      fi
   fi
-  # Check for the native compiler.
-  AC_CHECK_PROG(OCAMLOPT, ocamlopt, ocamlopt)
-  ocamlopt_gmp="no"
-  if test x"$OCAMLOPT" = xocamlopt
+  if test x"$OCAMLOPT" != xno
   then
-     ocamlopt_root=`ocamlopt -where`
+     ocamlopt_root=`${OCAMLOPT} -where`
      # Check for the native version of ML GMP.
      AC_MSG_CHECKING([for ML GMP native module gmp.cmxa])
      if ( test ${mlgmp_dir} = +gmp && test -f ${ocamlopt_root}/gmp/gmp.cmxa ) \
@@ -1129,17 +1137,11 @@ AM_CONDITIONAL(BUILD_XSB_PROLOG_INTERFACE,
 # Checks for YAP.
 if test x${yap_prolog_interface_enabled} = xyes
 then
-  AC_CHECK_PROG(YAP_PROLOG, yap, yap)
-  if test x"$YAP_PROLOG" = xyap
-  then
-    AC_CHECK_HEADER(Yap/c_interface.h,
-                    [],
-                    YAP_PROLOG="")
-  fi
+  AC_CHECK_YAP_PROLOG
 fi
 
 if test x${yap_prolog_interface_enabled} = xyes \
-&& test x$YAP_PROLOG = xyap
+&& test x$have_yap_prolog = xyes
 then
   build_yap_prolog_interface=yes
 fi
@@ -1172,7 +1174,7 @@ fi
 # Different instantiations are separated by a '@' character.
 di="        Polyhedron @ Grid"
 di="${di} @ Rational_Box"
-di="${di} @ BD_Shape<mpz_class> @ BD_Shape<mpq_class>"
+di="${di} @ BD_Shape<int8_t> @ BD_Shape<mpz_class> @ BD_Shape<mpq_class>"
 di="${di} @ Octagonal_Shape<mpz_class> @ Octagonal_Shape<mpq_class>"
 di="${di} @ Constraints_Product<C_Polyhedron, Grid>"
 di="${di} @ Pointset_Powerset<C_Polyhedron>"
@@ -1372,7 +1374,8 @@ esac
 AM_CONDITIONAL(THOROUGH_MAKE_CHECK, test x"$enableval" = xthorough)
 
 # Libtool.
-LT_INIT([dlopen])
+LT_PREREQ([1.5.24])
+LT_INIT([dlopen,win32-dll])
 AM_CONDITIONAL(ENABLE_SHARED, test x"$enable_shared" = xyes)
 AM_CONDITIONAL(ENABLE_STATIC, test x"$enable_static" = xyes)
 
@@ -1457,6 +1460,7 @@ AC_CHECK_DECLS([getrusage],
 # include <sys/resource.h>
 #endif
 ])
+AC_CHECK_DECLS([sigaction], , , [#include <csignal>])
 
 # Checks for typedefs, structures, and compiler characteristics.
 AC_CHECK_TYPES([timeval])
@@ -1492,6 +1496,7 @@ then
   fi
 fi
 
+
 AC_SUBST(LIBEXT, [$libext])
 AC_SUBST(SHREXT, [$shrext_cmds])
 AC_SUBST(extra_includes)
@@ -1517,7 +1522,6 @@ AC_SUBST(required_instantiations_java_cxx_objects)
 AC_SUBST(required_instantiations_ocaml_cxx_headers)
 AC_SUBST(required_instantiations_ocaml_cxx_sources)
 AC_SUBST(required_instantiations_ocaml_cxx_objects)
-AC_SUBST(ocamlc_root)
 AC_SUBST(mlgmp_dir)
 
 AC_CONFIG_FILES(Makefile
@@ -1532,6 +1536,7 @@ AC_CONFIG_FILES(Makefile
                 tests/MIP_Problem/Makefile
                 tests/Octagonal_Shape/Makefile
                 tests/Partially_Reduced_Product/Makefile
+                tests/PIP_Problem/Makefile
                 tests/Polyhedron/Makefile
                 tests/Powerset/Makefile
                 utils/Makefile
@@ -1541,6 +1546,8 @@ AC_CONFIG_FILES(Makefile
                 demos/ppl_lcdd/examples/Makefile
                 demos/ppl_lpsol/Makefile
                 demos/ppl_lpsol/examples/Makefile
+                demos/ppl_pips/Makefile
+                demos/ppl_pips/examples/Makefile
                 doc/Makefile
                 doc/user.doxyconf-latex
                 doc/devref.doxyconf-latex
@@ -1584,23 +1591,13 @@ fi
 
 if test x"$PERL" = xno
 then
-  if test x${c_interface_enabled} = xyes
-  then
-    AC_MSG_ERROR([PERL UNAVAILABLE:
-***  CANNOT BUILD THE C_INTERFACE.
-*** Perl could not be found on your system, so that the C interface cannot
-*** be built.  You should either disable the generation of the C interface
-*** (with the `--enable-interfaces' configure option) or add Perl to your
-*** development environment: see http://www.perl.org/ for more information.])
-  else
-    AC_MSG_WARN([PERL UNAVAILABLE:
+  AC_MSG_WARN([PERL UNAVAILABLE:
 ***  CANNOT REBUILD SOME FILES IF SOURCES ARE CHANGED.
 *** Perl could not be found on your system.  This is OK, if you only plan
 *** to build the PPL without modifying the sources and without trying to
 *** build a distribution out of a CVS working copy.  If this is not the case,
 *** then you need to add Perl to your development environment:
 *** see http://www.perl.org/ for more information.])
-  fi
 fi
 
 if test x"$coefficient_kind" = xnative
diff --git a/demos/Makefile.am b/demos/Makefile.am
index bb950be..b2e41b3 100644
--- a/demos/Makefile.am
+++ b/demos/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -28,4 +28,8 @@ if BUILD_PPL_LPSOL
 PPL_LPSOL_SUBDIR = ppl_lpsol
 endif BUILD_PPL_LPSOL
 
-SUBDIRS = $(PPL_LCDD_SUBDIR) $(PPL_LPSOL_SUBDIR)
+if BUILD_PPL_PIPS
+PPL_PIPS_SUBDIR = ppl_pips
+endif BUILD_PPL_PIPS
+
+SUBDIRS = $(PPL_LCDD_SUBDIR) $(PPL_LPSOL_SUBDIR) $(PPL_PIPS_SUBDIR)
diff --git a/demos/Makefile.in b/demos/Makefile.in
index adc14e3..1e8acc7 100644
--- a/demos/Makefile.in
+++ b/demos/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -37,8 +38,9 @@
 # site: http://www.cs.unipr.it/ppl/ .
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -62,6 +64,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -83,12 +86,19 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
@@ -100,12 +110,41 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
 	ps-recursive uninstall-recursive
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
   distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+	distdir
 ETAGS = etags
 CTAGS = ctags
-DIST_SUBDIRS = ppl_lcdd ppl_lpsol
+DIST_SUBDIRS = ppl_lcdd ppl_lpsol ppl_pips
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -152,6 +191,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -169,8 +210,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -178,6 +229,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -194,12 +246,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -242,11 +297,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -276,6 +329,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -283,9 +337,11 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 @BUILD_PPL_LCDD_TRUE at PPL_LCDD_SUBDIR = ppl_lcdd
 @BUILD_PPL_LPSOL_TRUE at PPL_LPSOL_SUBDIR = ppl_lpsol
-SUBDIRS = $(PPL_LCDD_SUBDIR) $(PPL_LPSOL_SUBDIR)
+ at BUILD_PPL_PIPS_TRUE@PPL_PIPS_SUBDIR = ppl_pips
+SUBDIRS = $(PPL_LCDD_SUBDIR) $(PPL_LPSOL_SUBDIR) $(PPL_PIPS_SUBDIR)
 all: all-recursive
 
 .SUFFIXES:
@@ -293,14 +349,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  demos/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  demos/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign demos/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign demos/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -318,6 +374,7 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -332,7 +389,7 @@ clean-libtool:
 #     (which will cause the Makefiles to be regenerated when you run `make');
 # (2) otherwise, pass the desired values on the `make' command line.
 $(RECURSIVE_TARGETS):
-	@failcom='exit 1'; \
+	@fail= failcom='exit 1'; \
 	for f in x $$MAKEFLAGS; do \
 	  case $$f in \
 	    *=* | --[!k]*);; \
@@ -349,7 +406,7 @@ $(RECURSIVE_TARGETS):
 	  else \
 	    local_target="$$target"; \
 	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
 	  || eval $$failcom; \
 	done; \
 	if test "$$dot_seen" = "no"; then \
@@ -357,7 +414,7 @@ $(RECURSIVE_TARGETS):
 	fi; test -z "$$fail"
 
 $(RECURSIVE_CLEAN_TARGETS):
-	@failcom='exit 1'; \
+	@fail= failcom='exit 1'; \
 	for f in x $$MAKEFLAGS; do \
 	  case $$f in \
 	    *=* | --[!k]*);; \
@@ -383,16 +440,16 @@ $(RECURSIVE_CLEAN_TARGETS):
 	  else \
 	    local_target="$$target"; \
 	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
 	  || eval $$failcom; \
 	done && test -z "$$fail"
 tags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
 	done
 ctags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
 	done
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -400,14 +457,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
 	  include_option=--etags-include; \
@@ -419,7 +476,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	list='$(SUBDIRS)'; for subdir in $$list; do \
 	  if test "$$subdir" = .; then :; else \
 	    test ! -f $$subdir/TAGS || \
-	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
 	  fi; \
 	done; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
@@ -428,29 +485,34 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -471,29 +533,44 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
-	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
 	  if test "$$subdir" = .; then :; else \
 	    test -d "$(distdir)/$$subdir" \
 	    || $(MKDIR_P) "$(distdir)/$$subdir" \
 	    || exit 1; \
-	    distdir=`$(am__cd) $(distdir) && pwd`; \
-	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
-	    (cd $$subdir && \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
 	      $(MAKE) $(AM_MAKEFLAGS) \
-	        top_distdir="$$top_distdir" \
-	        distdir="$$distdir/$$subdir" \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
 		am__remove_distdir=: \
 		am__skip_length_check=: \
+		am__skip_mode_fix=: \
 	        distdir) \
 	      || exit 1; \
 	  fi; \
@@ -523,6 +600,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -541,6 +619,8 @@ dvi-am:
 
 html: html-recursive
 
+html-am:
+
 info: info-recursive
 
 info-am:
@@ -549,18 +629,28 @@ install-data-am:
 
 install-dvi: install-dvi-recursive
 
+install-dvi-am:
+
 install-exec-am:
 
 install-html: install-html-recursive
 
+install-html-am:
+
 install-info: install-info-recursive
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-recursive
 
+install-pdf-am:
+
 install-ps: install-ps-recursive
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-recursive
@@ -581,8 +671,8 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
-	install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+	install-am install-strip tags-recursive
 
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
 	all all-am check check-am clean clean-generic clean-libtool \
@@ -598,6 +688,7 @@ uninstall-am:
 	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
 	uninstall uninstall-am
 
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/demos/ppl_lcdd/Makefile.am b/demos/ppl_lcdd/Makefile.am
index 6b72384..6c26e07 100644
--- a/demos/ppl_lcdd/Makefile.am
+++ b/demos/ppl_lcdd/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
diff --git a/demos/ppl_lcdd/Makefile.in b/demos/ppl_lcdd/Makefile.in
index 16656b5..d62818f 100644
--- a/demos/ppl_lcdd/Makefile.in
+++ b/demos/ppl_lcdd/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -38,8 +39,9 @@
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -65,6 +67,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -86,31 +89,48 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 PROGRAMS = $(bin_PROGRAMS)
 am_ppl_lcdd_OBJECTS = ppl_lcdd.$(OBJEXT)
 ppl_lcdd_OBJECTS = $(am_ppl_lcdd_OBJECTS)
 ppl_lcdd_DEPENDENCIES = $(top_builddir)/src/libppl.la \
 	$(top_builddir)/utils/libppl_utils.a
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_$(V))
+am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+am__v_CXX_0 = @echo "  CXX   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_$(V))
+am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(ppl_lcdd_SOURCES)
 DIST_SOURCES = $(ppl_lcdd_SOURCES)
 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
@@ -120,17 +140,67 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
 	install-pdf-recursive install-ps-recursive install-recursive \
 	installcheck-recursive installdirs-recursive pdf-recursive \
 	ps-recursive uninstall-recursive
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
 man1dir = $(mandir)/man1
 NROFF = nroff
 MANS = $(dist_man_MANS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
   distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+	distdir
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -177,6 +247,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -194,8 +266,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -203,6 +285,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -219,12 +302,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -267,11 +353,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -301,6 +385,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -308,6 +393,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 SUBDIRS = examples
 AM_CPPFLAGS = \
 -I$(top_builddir) \
@@ -378,14 +464,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  demos/ppl_lcdd/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  demos/ppl_lcdd/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign demos/ppl_lcdd/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign demos/ppl_lcdd/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -403,37 +489,53 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 install-binPROGRAMS: $(bin_PROGRAMS)
 	@$(NORMAL_INSTALL)
 	test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
-	@list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  if test -f $$p \
-	     || test -f $$p1 \
-	  ; then \
-	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
-	   echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
-	   $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
-	  else :; fi; \
-	done
+	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	for p in $$list; do echo "$$p $$p"; done | \
+	sed 's/$(EXEEXT)$$//' | \
+	while read p p1; do if test -f $$p || test -f $$p1; \
+	  then echo "$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+	sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
+	    else { print "f", $$3 "/" $$4, $$1; } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	    test -z "$$files" || { \
+	    echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+	    $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+	    } \
+	; done
 
 uninstall-binPROGRAMS:
 	@$(NORMAL_UNINSTALL)
-	@list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
-	  echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(bindir)/$$f"; \
-	done
+	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+	      -e 's/$$/$(EXEEXT)/' `; \
+	test -n "$$list" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(bindir)" && rm -f $$files
 
 clean-binPROGRAMS:
-	@list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  echo " rm -f $$p $$f"; \
-	  rm -f $$p $$f ; \
-	done
+	@list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
 ppl_lcdd$(EXEEXT): $(ppl_lcdd_OBJECTS) $(ppl_lcdd_DEPENDENCIES) 
 	@rm -f ppl_lcdd$(EXEEXT)
-	$(CXXLINK) $(ppl_lcdd_OBJECTS) $(ppl_lcdd_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ppl_lcdd_OBJECTS) $(ppl_lcdd_LDADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -444,22 +546,25 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_lcdd.Po at am__quote@
 
 .cc.o:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
- at am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
@@ -469,51 +574,44 @@ mostlyclean-libtool:
 
 clean-libtool:
 	-rm -rf .libs _libs
-install-man1: $(man1_MANS) $(man_MANS)
+install-man1: $(dist_man_MANS)
 	@$(NORMAL_INSTALL)
 	test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
-	@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
-	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
-	for i in $$l2; do \
-	  case "$$i" in \
-	    *.1*) list="$$list $$i" ;; \
-	  esac; \
+	@list=''; test -n "$(man1dir)" || exit 0; \
+	{ for i in $$list; do echo "$$i"; done; \
+	l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+	  sed -n '/\.1[a-z]*$$/p'; \
+	} | while read p; do \
+	  if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; echo "$$p"; \
+	done | \
+	sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+	sed 'N;N;s,\n, ,g' | { \
+	list=; while read file base inst; do \
+	  if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+	    echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+	    $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+	  fi; \
 	done; \
-	for i in $$list; do \
-	  if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
-	  else file=$$i; fi; \
-	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \
-	  case "$$ext" in \
-	    1*) ;; \
-	    *) ext='1' ;; \
-	  esac; \
-	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
-	  inst=`echo $$inst | sed -e 's/^.*\///'`; \
-	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \
-	  echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
-	  $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
-	done
+	for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+	while read files; do \
+	  test -z "$$files" || { \
+	    echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+	    $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+	done; }
+
 uninstall-man1:
 	@$(NORMAL_UNINSTALL)
-	@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
-	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
-	for i in $$l2; do \
-	  case "$$i" in \
-	    *.1*) list="$$list $$i" ;; \
-	  esac; \
-	done; \
-	for i in $$list; do \
-	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \
-	  case "$$ext" in \
-	    1*) ;; \
-	    *) ext='1' ;; \
-	  esac; \
-	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
-	  inst=`echo $$inst | sed -e 's/^.*\///'`; \
-	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \
-	  echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
-	  rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
-	done
+	@list=''; test -n "$(man1dir)" || exit 0; \
+	files=`{ for i in $$list; do echo "$$i"; done; \
+	l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+	  sed -n '/\.1[a-z]*$$/p'; \
+	} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+	test -z "$$files" || { \
+	  echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \
+	  cd "$(DESTDIR)$(man1dir)" && rm -f $$files; }
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -522,7 +620,7 @@ uninstall-man1:
 #     (which will cause the Makefiles to be regenerated when you run `make');
 # (2) otherwise, pass the desired values on the `make' command line.
 $(RECURSIVE_TARGETS):
-	@failcom='exit 1'; \
+	@fail= failcom='exit 1'; \
 	for f in x $$MAKEFLAGS; do \
 	  case $$f in \
 	    *=* | --[!k]*);; \
@@ -539,7 +637,7 @@ $(RECURSIVE_TARGETS):
 	  else \
 	    local_target="$$target"; \
 	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
 	  || eval $$failcom; \
 	done; \
 	if test "$$dot_seen" = "no"; then \
@@ -547,7 +645,7 @@ $(RECURSIVE_TARGETS):
 	fi; test -z "$$fail"
 
 $(RECURSIVE_CLEAN_TARGETS):
-	@failcom='exit 1'; \
+	@fail= failcom='exit 1'; \
 	for f in x $$MAKEFLAGS; do \
 	  case $$f in \
 	    *=* | --[!k]*);; \
@@ -573,16 +671,16 @@ $(RECURSIVE_CLEAN_TARGETS):
 	  else \
 	    local_target="$$target"; \
 	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
 	  || eval $$failcom; \
 	done && test -z "$$fail"
 tags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
 	done
 ctags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
 	done
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -590,14 +688,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
 	  include_option=--etags-include; \
@@ -609,7 +707,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	list='$(SUBDIRS)'; for subdir in $$list; do \
 	  if test "$$subdir" = .; then :; else \
 	    test ! -f $$subdir/TAGS || \
-	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
 	  fi; \
 	done; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
@@ -618,34 +716,52 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
 distdir: $(DISTFILES)
+	@list='$(MANS)'; if test -n "$$list"; then \
+	  list=`for p in $$list; do \
+	    if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+	    if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
+	  if test -n "$$list" && \
+	    grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
+	    echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+	    grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
+	    echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
+	    echo "       typically \`make maintainer-clean' will remove them" >&2; \
+	    exit 1; \
+	  else :; fi; \
+	else :; fi
 	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
 	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
 	list='$(DISTFILES)'; \
@@ -661,29 +777,44 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
-	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
 	  if test "$$subdir" = .; then :; else \
 	    test -d "$(distdir)/$$subdir" \
 	    || $(MKDIR_P) "$(distdir)/$$subdir" \
 	    || exit 1; \
-	    distdir=`$(am__cd) $(distdir) && pwd`; \
-	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
-	    (cd $$subdir && \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
 	      $(MAKE) $(AM_MAKEFLAGS) \
-	        top_distdir="$$top_distdir" \
-	        distdir="$$distdir/$$subdir" \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
 		am__remove_distdir=: \
 		am__skip_length_check=: \
+		am__skip_mode_fix=: \
 	        distdir) \
 	      || exit 1; \
 	  fi; \
@@ -719,6 +850,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -739,6 +871,8 @@ dvi-am:
 
 html: html-recursive
 
+html-am:
+
 info: info-recursive
 
 info-am:
@@ -747,18 +881,28 @@ install-data-am: install-man
 
 install-dvi: install-dvi-recursive
 
+install-dvi-am:
+
 install-exec-am: install-binPROGRAMS
 
 install-html: install-html-recursive
 
+install-html-am:
+
 install-info: install-info-recursive
 
+install-info-am:
+
 install-man: install-man1
 
 install-pdf: install-pdf-recursive
 
+install-pdf-am:
+
 install-ps: install-ps-recursive
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-recursive
@@ -783,8 +927,8 @@ uninstall-am: uninstall-binPROGRAMS uninstall-man
 
 uninstall-man: uninstall-man1
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
-	install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) check-am \
+	ctags-recursive install-am install-strip tags-recursive
 
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
 	all all-am check check-am check-local clean clean-binPROGRAMS \
@@ -835,6 +979,7 @@ $(top_builddir)/utils/libppl_utils.a:
 
 $(top_builddir)/src/libppl.la:
 	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libppl.la
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/demos/ppl_lcdd/examples/Makefile.am b/demos/ppl_lcdd/examples/Makefile.am
index 78df9ce..10bacb4 100644
--- a/demos/ppl_lcdd/examples/Makefile.am
+++ b/demos/ppl_lcdd/examples/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
diff --git a/demos/ppl_lcdd/examples/Makefile.in b/demos/ppl_lcdd/examples/Makefile.in
index ce5081d..5b7c6f6 100644
--- a/demos/ppl_lcdd/examples/Makefile.in
+++ b/demos/ppl_lcdd/examples/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -38,8 +39,9 @@
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -64,6 +66,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -85,18 +88,26 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
 DATA = $(dist_noinst_DATA)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -143,6 +154,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -160,8 +173,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -169,6 +192,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -185,12 +209,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -233,11 +260,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -267,6 +292,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -274,6 +300,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 EXT_FILES = \
 ccc4.ext \
 ccc5.ext \
@@ -394,14 +421,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  demos/ppl_lcdd/examples/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  demos/ppl_lcdd/examples/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign demos/ppl_lcdd/examples/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign demos/ppl_lcdd/examples/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -419,6 +446,7 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -448,13 +476,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -482,6 +514,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -500,6 +533,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -508,18 +543,28 @@ install-data-am:
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am:
 
 install-html: install-html-am
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-am
 
+install-pdf-am:
+
 install-ps: install-ps-am
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -553,6 +598,7 @@ uninstall-am:
 	maintainer-clean-generic mostlyclean mostlyclean-generic \
 	mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
 
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/demos/ppl_lcdd/ppl_lcdd.1 b/demos/ppl_lcdd/ppl_lcdd.1
index 461c540..46908ca 100644
--- a/demos/ppl_lcdd/ppl_lcdd.1
+++ b/demos/ppl_lcdd/ppl_lcdd.1
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.36.
-.TH PPL_LCDD "1" "April 2009" "ppl_lcdd 0.10.2" "User Commands"
+.TH PPL_LCDD "1" "August 2010" "ppl_lcdd 0.11" "User Commands"
 .SH NAME
 ppl_lcdd \- a PPL-based program for vertex/facet enumeration of convex polyhedra
 .SH SYNOPSIS
@@ -50,7 +50,7 @@ See the file \fBCREDITS\fR in the source distribution or use the command
 .SH "REPORTING BUGS"
 Report bugs to <ppl\-devel at cs.unipr.it>.
 .SH COPYRIGHT
-Copyright (C) 2001\-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001\-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 .br
 This is free software; see the file \fBCOPYING\fR in the source
 distribution or use the command \fBppl\-config \-\-copying\fR to
diff --git a/demos/ppl_lcdd/ppl_lcdd.cc b/demos/ppl_lcdd/ppl_lcdd.cc
index b0d33d5..844b515 100644
--- a/demos/ppl_lcdd/ppl_lcdd.cc
+++ b/demos/ppl_lcdd/ppl_lcdd.cc
@@ -1,5 +1,5 @@
 /* A sort of clone of the cddlib test program `lcdd'.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/demos/ppl_lpsol/Makefile.am b/demos/ppl_lpsol/Makefile.am
index 2f3e464..ffff80a 100644
--- a/demos/ppl_lpsol/Makefile.am
+++ b/demos/ppl_lpsol/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
diff --git a/demos/ppl_lpsol/Makefile.in b/demos/ppl_lpsol/Makefile.in
index a29f8ba..7b1650e 100644
--- a/demos/ppl_lpsol/Makefile.in
+++ b/demos/ppl_lpsol/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -38,8 +39,9 @@
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -66,6 +68,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -87,14 +90,14 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 PROGRAMS = $(bin_PROGRAMS)
 am__ppl_lpsol_SOURCES_DIST = ppl_lpsol.c dummy.cc
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE at am_ppl_lpsol_OBJECTS =  \
@@ -102,27 +105,51 @@ am__ppl_lpsol_SOURCES_DIST = ppl_lpsol.c dummy.cc
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	dummy.$(OBJEXT)
 ppl_lpsol_OBJECTS = $(am_ppl_lpsol_OBJECTS)
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE at ppl_lpsol_DEPENDENCIES = $(top_builddir)/interfaces/C/libppl_c.la
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo "  CC    " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo "  CCLD  " $@;
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_$(V))
+am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+am__v_CXX_0 = @echo "  CXX   " $@;
 CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_$(V))
+am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(ppl_lpsol_SOURCES)
 DIST_SOURCES = $(am__ppl_lpsol_SOURCES_DIST)
 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
@@ -132,17 +159,67 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
 	install-pdf-recursive install-ps-recursive install-recursive \
 	installcheck-recursive installdirs-recursive pdf-recursive \
 	ps-recursive uninstall-recursive
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
 man1dir = $(mandir)/man1
 NROFF = nroff
 MANS = $(dist_man_MANS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
   distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+	distdir
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -189,6 +266,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -206,8 +285,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -215,6 +304,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -231,12 +321,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -279,11 +372,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -313,6 +404,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -320,6 +412,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 SUBDIRS = examples
 EXTRA_DIST = \
 ppl_lpsol.c \
@@ -494,14 +587,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  demos/ppl_lpsol/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  demos/ppl_lpsol/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign demos/ppl_lpsol/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign demos/ppl_lpsol/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -519,37 +612,53 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 install-binPROGRAMS: $(bin_PROGRAMS)
 	@$(NORMAL_INSTALL)
 	test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
-	@list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  if test -f $$p \
-	     || test -f $$p1 \
-	  ; then \
-	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
-	   echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
-	   $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
-	  else :; fi; \
-	done
+	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	for p in $$list; do echo "$$p $$p"; done | \
+	sed 's/$(EXEEXT)$$//' | \
+	while read p p1; do if test -f $$p || test -f $$p1; \
+	  then echo "$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+	sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
+	    else { print "f", $$3 "/" $$4, $$1; } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	    test -z "$$files" || { \
+	    echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+	    $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+	    } \
+	; done
 
 uninstall-binPROGRAMS:
 	@$(NORMAL_UNINSTALL)
-	@list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
-	  echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(bindir)/$$f"; \
-	done
+	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+	      -e 's/$$/$(EXEEXT)/' `; \
+	test -n "$$list" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(bindir)" && rm -f $$files
 
 clean-binPROGRAMS:
-	@list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  echo " rm -f $$p $$f"; \
-	  rm -f $$p $$f ; \
-	done
+	@list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
 ppl_lpsol$(EXEEXT): $(ppl_lpsol_OBJECTS) $(ppl_lpsol_DEPENDENCIES) 
 	@rm -f ppl_lpsol$(EXEEXT)
-	$(CXXLINK) $(ppl_lpsol_OBJECTS) $(ppl_lpsol_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ppl_lpsol_OBJECTS) $(ppl_lpsol_LDADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -561,43 +670,49 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_lpsol.Po at am__quote@
 
 .c.o:
- at am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(COMPILE) -c $<
 
 .c.obj:
- at am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
 
 .c.lo:
- at am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
 
 .cc.o:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
- at am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
@@ -607,51 +722,44 @@ mostlyclean-libtool:
 
 clean-libtool:
 	-rm -rf .libs _libs
-install-man1: $(man1_MANS) $(man_MANS)
+install-man1: $(dist_man_MANS)
 	@$(NORMAL_INSTALL)
 	test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
-	@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
-	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
-	for i in $$l2; do \
-	  case "$$i" in \
-	    *.1*) list="$$list $$i" ;; \
-	  esac; \
+	@list=''; test -n "$(man1dir)" || exit 0; \
+	{ for i in $$list; do echo "$$i"; done; \
+	l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+	  sed -n '/\.1[a-z]*$$/p'; \
+	} | while read p; do \
+	  if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; echo "$$p"; \
+	done | \
+	sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+	sed 'N;N;s,\n, ,g' | { \
+	list=; while read file base inst; do \
+	  if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+	    echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+	    $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+	  fi; \
 	done; \
-	for i in $$list; do \
-	  if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
-	  else file=$$i; fi; \
-	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \
-	  case "$$ext" in \
-	    1*) ;; \
-	    *) ext='1' ;; \
-	  esac; \
-	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
-	  inst=`echo $$inst | sed -e 's/^.*\///'`; \
-	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \
-	  echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
-	  $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
-	done
+	for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+	while read files; do \
+	  test -z "$$files" || { \
+	    echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+	    $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+	done; }
+
 uninstall-man1:
 	@$(NORMAL_UNINSTALL)
-	@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
-	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
-	for i in $$l2; do \
-	  case "$$i" in \
-	    *.1*) list="$$list $$i" ;; \
-	  esac; \
-	done; \
-	for i in $$list; do \
-	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \
-	  case "$$ext" in \
-	    1*) ;; \
-	    *) ext='1' ;; \
-	  esac; \
-	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
-	  inst=`echo $$inst | sed -e 's/^.*\///'`; \
-	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \
-	  echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
-	  rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
-	done
+	@list=''; test -n "$(man1dir)" || exit 0; \
+	files=`{ for i in $$list; do echo "$$i"; done; \
+	l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+	  sed -n '/\.1[a-z]*$$/p'; \
+	} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+	test -z "$$files" || { \
+	  echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \
+	  cd "$(DESTDIR)$(man1dir)" && rm -f $$files; }
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -660,7 +768,7 @@ uninstall-man1:
 #     (which will cause the Makefiles to be regenerated when you run `make');
 # (2) otherwise, pass the desired values on the `make' command line.
 $(RECURSIVE_TARGETS):
-	@failcom='exit 1'; \
+	@fail= failcom='exit 1'; \
 	for f in x $$MAKEFLAGS; do \
 	  case $$f in \
 	    *=* | --[!k]*);; \
@@ -677,7 +785,7 @@ $(RECURSIVE_TARGETS):
 	  else \
 	    local_target="$$target"; \
 	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
 	  || eval $$failcom; \
 	done; \
 	if test "$$dot_seen" = "no"; then \
@@ -685,7 +793,7 @@ $(RECURSIVE_TARGETS):
 	fi; test -z "$$fail"
 
 $(RECURSIVE_CLEAN_TARGETS):
-	@failcom='exit 1'; \
+	@fail= failcom='exit 1'; \
 	for f in x $$MAKEFLAGS; do \
 	  case $$f in \
 	    *=* | --[!k]*);; \
@@ -711,16 +819,16 @@ $(RECURSIVE_CLEAN_TARGETS):
 	  else \
 	    local_target="$$target"; \
 	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
 	  || eval $$failcom; \
 	done && test -z "$$fail"
 tags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
 	done
 ctags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
 	done
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -728,14 +836,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
 	  include_option=--etags-include; \
@@ -747,7 +855,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	list='$(SUBDIRS)'; for subdir in $$list; do \
 	  if test "$$subdir" = .; then :; else \
 	    test ! -f $$subdir/TAGS || \
-	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
 	  fi; \
 	done; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
@@ -756,34 +864,52 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
 distdir: $(DISTFILES)
+	@list='$(MANS)'; if test -n "$$list"; then \
+	  list=`for p in $$list; do \
+	    if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+	    if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
+	  if test -n "$$list" && \
+	    grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
+	    echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+	    grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
+	    echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
+	    echo "       typically \`make maintainer-clean' will remove them" >&2; \
+	    exit 1; \
+	  else :; fi; \
+	else :; fi
 	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
 	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
 	list='$(DISTFILES)'; \
@@ -799,29 +925,44 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
-	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
 	  if test "$$subdir" = .; then :; else \
 	    test -d "$(distdir)/$$subdir" \
 	    || $(MKDIR_P) "$(distdir)/$$subdir" \
 	    || exit 1; \
-	    distdir=`$(am__cd) $(distdir) && pwd`; \
-	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
-	    (cd $$subdir && \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
 	      $(MAKE) $(AM_MAKEFLAGS) \
-	        top_distdir="$$top_distdir" \
-	        distdir="$$distdir/$$subdir" \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
 		am__remove_distdir=: \
 		am__skip_length_check=: \
+		am__skip_mode_fix=: \
 	        distdir) \
 	      || exit 1; \
 	  fi; \
@@ -858,6 +999,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -878,6 +1020,8 @@ dvi-am:
 
 html: html-recursive
 
+html-am:
+
 info: info-recursive
 
 info-am:
@@ -886,18 +1030,28 @@ install-data-am: install-man
 
 install-dvi: install-dvi-recursive
 
+install-dvi-am:
+
 install-exec-am: install-binPROGRAMS
 
 install-html: install-html-recursive
 
+install-html-am:
+
 install-info: install-info-recursive
 
+install-info-am:
+
 install-man: install-man1
 
 install-pdf: install-pdf-recursive
 
+install-pdf-am:
+
 install-ps: install-ps-recursive
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-recursive
@@ -922,8 +1076,8 @@ uninstall-am: uninstall-binPROGRAMS uninstall-man
 
 uninstall-man: uninstall-man1
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
-	install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) check-am \
+	ctags-recursive install-am install-strip tags-recursive
 
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
 	all all-am check check-am check-local clean clean-binPROGRAMS \
@@ -1016,6 +1170,7 @@ uninstall-man: uninstall-man1
 
 $(top_builddir)/interfaces/C/libppl_c.la:
 	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/interfaces/C libppl_c.la
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/demos/ppl_lpsol/examples/Makefile.am b/demos/ppl_lpsol/examples/Makefile.am
index f0bc3fb..e4cf7ac 100644
--- a/demos/ppl_lpsol/examples/Makefile.am
+++ b/demos/ppl_lpsol/examples/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
diff --git a/demos/ppl_lpsol/examples/Makefile.in b/demos/ppl_lpsol/examples/Makefile.in
index 2158eb7..394f78c 100644
--- a/demos/ppl_lpsol/examples/Makefile.in
+++ b/demos/ppl_lpsol/examples/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -38,8 +39,9 @@
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -64,6 +66,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -85,18 +88,26 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
 DATA = $(dist_noinst_DATA)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -143,6 +154,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -160,8 +173,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -169,6 +192,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -185,12 +209,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -233,11 +260,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -267,6 +292,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -274,6 +300,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 dist_noinst_DATA = \
 adlittle.mps \
 afiro.mps \
@@ -311,14 +338,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  demos/ppl_lpsol/examples/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  demos/ppl_lpsol/examples/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign demos/ppl_lpsol/examples/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign demos/ppl_lpsol/examples/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -336,6 +363,7 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -365,13 +393,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -399,6 +431,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -417,6 +450,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -425,18 +460,28 @@ install-data-am:
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am:
 
 install-html: install-html-am
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-am
 
+install-pdf-am:
+
 install-ps: install-ps-am
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -470,6 +515,7 @@ uninstall-am:
 	maintainer-clean-generic mostlyclean mostlyclean-generic \
 	mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
 
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/demos/ppl_lpsol/examples/ex1.mps b/demos/ppl_lpsol/examples/ex1.mps
index 125f3d9..fcbc51a 100644
--- a/demos/ppl_lpsol/examples/ex1.mps
+++ b/demos/ppl_lpsol/examples/ex1.mps
@@ -16,4 +16,6 @@ RHS
     RHS       C1        5
     RHS       r_000002  5
 BOUNDS
+ PL FOO       x1
+ PL FOO       x2
 ENDATA
diff --git a/demos/ppl_lpsol/examples/unboundedmin.mps b/demos/ppl_lpsol/examples/unboundedmin.mps
index 059a663..9f3549d 100644
--- a/demos/ppl_lpsol/examples/unboundedmin.mps
+++ b/demos/ppl_lpsol/examples/unboundedmin.mps
@@ -16,4 +16,6 @@ RHS
     RHS       C1        0
     RHS       r_000002  0
 BOUNDS
+ PL FOO       x1
+ PL FOO       x2
 ENDATA
diff --git a/demos/ppl_lpsol/ppl_lpsol.1 b/demos/ppl_lpsol/ppl_lpsol.1
index 5374c6e..3c33e93 100644
--- a/demos/ppl_lpsol/ppl_lpsol.1
+++ b/demos/ppl_lpsol/ppl_lpsol.1
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.36.
-.TH PPL_LPSOL "1" "April 2009" "ppl_lpsol 0.10.2" "User Commands"
+.TH PPL_LPSOL "1" "August 2010" "ppl_lpsol 0.11" "User Commands"
 .SH NAME
 ppl_lpsol \- a PPL-based mixed integer programming problem solver
 .SH SYNOPSIS
@@ -84,7 +84,7 @@ The options \fB\-CSECS\fR (\fB\-\-max\-cpu\fR=\fISECS\fR) and
 See the file \fBCREDITS\fR in the source distribution or use the command
 \fBppl\-config \-\-credits\fR for a list of contributors.
 .SH COPYRIGHT
-Copyright (C) 2001\-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001\-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 .br
 This is free software; see the file \fBCOPYING\fR in the source
 distribution or use the command \fBppl\-config \-\-copying\fR to
diff --git a/demos/ppl_lpsol/ppl_lpsol.c b/demos/ppl_lpsol/ppl_lpsol.c
index 935cf9b..8837640 100644
--- a/demos/ppl_lpsol/ppl_lpsol.c
+++ b/demos/ppl_lpsol/ppl_lpsol.c
@@ -1,6 +1,6 @@
 /* Solve linear programming problems by either vertex/point enumeration
    or the primal simplex algorithm.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/demos/ppl_pips/Makefile.am b/demos/ppl_pips/Makefile.am
new file mode 100644
index 0000000..cfb9d17
--- /dev/null
+++ b/demos/ppl_pips/Makefile.am
@@ -0,0 +1,125 @@
+# Automake source file for the Parma Polyhedra Library.
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+#
+# This file is part of the Parma Polyhedra Library (PPL).
+#
+# The PPL is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 3 of the License, or (at your
+# option) any later version.
+#
+# The PPL is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+#
+# For the most up-to-date information see the Parma Polyhedra Library
+# site: http://www.cs.unipr.it/ppl/ .
+
+SUBDIRS = examples
+
+if VALGRIND_TESTS_ENABLED
+
+CHECKER = \
+$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
+--num-callers=100 --leak-resolution=high \
+--suppressions=$(top_srcdir)/tests/valgrind_suppressions
+
+else !VALGRIND_TESTS_ENABLED
+
+CHECKER =
+
+endif !VALGRIND_TESTS_ENABLED
+
+AM_CPPFLAGS = \
+-I$(top_builddir) \
+-I$(top_builddir)/src \
+-I$(top_srcdir)/utils \
+ at extra_includes@
+
+bin_PROGRAMS = ppl_pips
+ppl_pips_SOURCES = ppl_pips.cc
+ppl_pips_LDADD = \
+$(top_builddir)/src/libppl.la \
+$(top_builddir)/utils/libppl_utils.a \
+ at extra_libraries@
+
+dist_man_MANS = \
+ppl_pips.1
+
+piplib_pips.o: $(srcdir)/ppl_pips.cc $(top_builddir)/utils/libppl_utils.a
+	$(CXXCOMPILE) -c -o $@ -DUSE_PIPLIB $(srcdir)/ppl_pips.cc
+
+piplib_pips: piplib_pips.o
+	$(CXXLINK) $< -lpip -lgmpxx -lgmp $(top_builddir)/utils/libppl_utils.a
+
+EXTRA_DIST = \
+expected_mpz \
+expected_mpz_a \
+expected_int8 \
+expected_int8_a \
+expected_int16 \
+expected_int16_a \
+expected_int32 \
+expected_int32_a \
+expected_int64 \
+expected_int64_a
+
+if HAVE_MD5SUM
+
+COEFFICIENT_MNEMONIC = @coefficient_mnemonic@
+
+if ASSERTIONS_ENABLED
+
+TOUGH_EXAMPLES_IF_ASSERTIONS_ENABLED =
+
+EXPECTED = expected_$(COEFFICIENT_MNEMONIC)_a
+
+else !ASSERTIONS_ENABLED
+
+EXPECTED = expected_$(COEFFICIENT_MNEMONIC)
+
+endif !ASSERTIONS_ENABLED
+
+TOUGH_EXAMPLES = \
+$(TOUGH_EXAMPLES_IF_ASSERTIONS_ENABLED)
+
+check-local: ppl_pips$(EXEEXT)
+	echo $(TOUGH_EXAMPLES) >tough_examples
+	echo $(ECHO_N) "$(ECHO_C)" >obtained
+	export LC_ALL=C; \
+	for path in $(srcdir)/examples/*.dat; \
+	do \
+	  file=`basename $$path`; \
+	  $(FGREP) $$file tough_examples >/dev/null 2>&1 && continue; \
+	  echo $(ECHO_N) $$file " $(ECHO_C)" >>obtained; \
+	  echo ppl_pips$(EXEEXT) -p $$path; \
+	  $(CHECKER) ./ppl_pips$(EXEEXT) -p $$path \
+            | tr -d '\015' | $(TEXT_MD5SUM) >>obtained; \
+	done
+	for path in $(srcdir)/examples/*.pip; \
+	do \
+	  file=`basename $$path`; \
+	  $(FGREP) $$file tough_examples >/dev/null 2>&1 && continue; \
+	  echo $(ECHO_N) $$file " $(ECHO_C)" >>obtained; \
+	  echo ppl_pips$(EXEEXT) -P $$path; \
+	   $(CHECKER) ./ppl_pips$(EXEEXT) -P $$path \
+             | tr -d '\015' | $(TEXT_MD5SUM) >>obtained; \
+	done
+	diff obtained $(srcdir)/$(EXPECTED)
+
+MOSTLYCLEANFILES = \
+tough_examples \
+obtained
+
+endif HAVE_MD5SUM
+
+$(top_builddir)/utils/libppl_utils.a:
+	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/utils libppl_utils.a
+
+$(top_builddir)/src/libppl.la:
+	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libppl.la
diff --git a/demos/ppl_pips/Makefile.in b/demos/ppl_pips/Makefile.in
new file mode 100644
index 0000000..ecd14ab
--- /dev/null
+++ b/demos/ppl_pips/Makefile.in
@@ -0,0 +1,971 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+# Automake source file for the Parma Polyhedra Library.
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+#
+# This file is part of the Parma Polyhedra Library (PPL).
+#
+# The PPL is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 3 of the License, or (at your
+# option) any later version.
+#
+# The PPL is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+#
+# For the most up-to-date information see the Parma Polyhedra Library
+# site: http://www.cs.unipr.it/ppl/ .
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+bin_PROGRAMS = ppl_pips$(EXEEXT)
+subdir = demos/ppl_pips
+DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
+	$(top_srcdir)/m4/ac_check_fpu_control.m4 \
+	$(top_srcdir)/m4/ac_check_gmp.m4 \
+	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
+	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
+	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
+	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
+	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
+	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
+	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
+	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
+	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
+	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
+	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
+	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
+	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_prog_jar.m4 \
+	$(top_srcdir)/m4/ac_prog_java.m4 \
+	$(top_srcdir)/m4/ac_prog_javac.m4 \
+	$(top_srcdir)/m4/ac_prog_javah.m4 \
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
+	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"
+PROGRAMS = $(bin_PROGRAMS)
+am_ppl_pips_OBJECTS = ppl_pips.$(OBJEXT)
+ppl_pips_OBJECTS = $(am_ppl_pips_OBJECTS)
+ppl_pips_DEPENDENCIES = $(top_builddir)/src/libppl.la \
+	$(top_builddir)/utils/libppl_utils.a
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_$(V))
+am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+am__v_CXX_0 = @echo "  CXX   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_$(V))
+am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
+SOURCES = $(ppl_pips_SOURCES)
+DIST_SOURCES = $(ppl_pips_SOURCES)
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+	html-recursive info-recursive install-data-recursive \
+	install-dvi-recursive install-exec-recursive \
+	install-html-recursive install-info-recursive \
+	install-pdf-recursive install-ps-recursive install-recursive \
+	installcheck-recursive installdirs-recursive pdf-recursive \
+	ps-recursive uninstall-recursive
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+man1dir = $(mandir)/man1
+NROFF = nroff
+MANS = $(dist_man_MANS)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
+  distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+	distdir
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CIAO_PROLOG = @CIAO_PROLOG@
+CIAO_PROLOG_INCLUDE_OPTIONS = @CIAO_PROLOG_INCLUDE_OPTIONS@
+CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GNU_PROLOG = @GNU_PROLOG@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ISODATE = @ISODATE@
+JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVAH = @JAVAH@
+JNIFLAGS = @JNIFLAGS@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBEXT = @LIBEXT@
+LIBGMP = @LIBGMP@
+LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBGMP = @LTLIBGMP@
+LTLIBGMPXX = @LTLIBGMPXX@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
+MAKEINFO = @MAKEINFO@
+MD5SUM = @MD5SUM@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
+OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
+OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PPL_VERSION_BETA = @PPL_VERSION_BETA@
+PPL_VERSION_MAJOR = @PPL_VERSION_MAJOR@
+PPL_VERSION_MINOR = @PPL_VERSION_MINOR@
+PPL_VERSION_REVISION = @PPL_VERSION_REVISION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SHREXT = @SHREXT@
+SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
+STRIP = @STRIP@
+SWI_PROLOG = @SWI_PROLOG@
+SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
+SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
+TEXT_MD5SUM = @TEXT_MD5SUM@
+VALGRIND = @VALGRIND@
+VERSION = @VERSION@
+XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+ciao_prolog = @ciao_prolog@
+coefficient_mnemonic = @coefficient_mnemonic@
+datadir = @datadir@
+datarootdir = @datarootdir@
+debug_flag = @debug_flag@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+extra_includes = @extra_includes@
+extra_libraries = @extra_libraries@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+required_instantiations = @required_instantiations@
+required_instantiations_c_cxx_headers = @required_instantiations_c_cxx_headers@
+required_instantiations_c_cxx_objects = @required_instantiations_c_cxx_objects@
+required_instantiations_c_cxx_sources = @required_instantiations_c_cxx_sources@
+required_instantiations_canonical_names = @required_instantiations_canonical_names@
+required_instantiations_java_classes = @required_instantiations_java_classes@
+required_instantiations_java_cxx_headers = @required_instantiations_java_cxx_headers@
+required_instantiations_java_cxx_headers_sources = @required_instantiations_java_cxx_headers_sources@
+required_instantiations_java_cxx_objects = @required_instantiations_java_cxx_objects@
+required_instantiations_java_cxx_sources = @required_instantiations_java_cxx_sources@
+required_instantiations_java_sources = @required_instantiations_java_sources@
+required_instantiations_ocaml_cxx_headers = @required_instantiations_ocaml_cxx_headers@
+required_instantiations_ocaml_cxx_objects = @required_instantiations_ocaml_cxx_objects@
+required_instantiations_ocaml_cxx_sources = @required_instantiations_ocaml_cxx_sources@
+required_instantiations_prolog_cxx_headers = @required_instantiations_prolog_cxx_headers@
+required_instantiations_prolog_cxx_objects = @required_instantiations_prolog_cxx_objects@
+required_instantiations_prolog_cxx_sources = @required_instantiations_prolog_cxx_sources@
+required_instantiations_prolog_generated_test_sources = @required_instantiations_prolog_generated_test_sources@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sicstus_prolog = @sicstus_prolog@
+srcdir = @srcdir@
+subdirs = @subdirs@
+swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+uudecode = @uudecode@
+xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
+SUBDIRS = examples
+ at VALGRIND_TESTS_ENABLED_FALSE@CHECKER = 
+ at VALGRIND_TESTS_ENABLED_TRUE@CHECKER = \
+ at VALGRIND_TESTS_ENABLED_TRUE@$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
+ at VALGRIND_TESTS_ENABLED_TRUE@--num-callers=100 --leak-resolution=high \
+ at VALGRIND_TESTS_ENABLED_TRUE@--suppressions=$(top_srcdir)/tests/valgrind_suppressions
+
+AM_CPPFLAGS = \
+-I$(top_builddir) \
+-I$(top_builddir)/src \
+-I$(top_srcdir)/utils \
+ at extra_includes@
+
+ppl_pips_SOURCES = ppl_pips.cc
+ppl_pips_LDADD = \
+$(top_builddir)/src/libppl.la \
+$(top_builddir)/utils/libppl_utils.a \
+ at extra_libraries@
+
+dist_man_MANS = \
+ppl_pips.1
+
+EXTRA_DIST = \
+expected_mpz \
+expected_mpz_a \
+expected_int8 \
+expected_int8_a \
+expected_int16 \
+expected_int16_a \
+expected_int32 \
+expected_int32_a \
+expected_int64 \
+expected_int64_a
+
+ at HAVE_MD5SUM_TRUE@COEFFICIENT_MNEMONIC = @coefficient_mnemonic@
+ at ASSERTIONS_ENABLED_TRUE@@HAVE_MD5SUM_TRUE at TOUGH_EXAMPLES_IF_ASSERTIONS_ENABLED = 
+ at ASSERTIONS_ENABLED_FALSE@@HAVE_MD5SUM_TRUE at EXPECTED = expected_$(COEFFICIENT_MNEMONIC)
+ at ASSERTIONS_ENABLED_TRUE@@HAVE_MD5SUM_TRUE at EXPECTED = expected_$(COEFFICIENT_MNEMONIC)_a
+ at HAVE_MD5SUM_TRUE@TOUGH_EXAMPLES = \
+ at HAVE_MD5SUM_TRUE@$(TOUGH_EXAMPLES_IF_ASSERTIONS_ENABLED)
+
+ at HAVE_MD5SUM_TRUE@MOSTLYCLEANFILES = \
+ at HAVE_MD5SUM_TRUE@tough_examples \
+ at HAVE_MD5SUM_TRUE@obtained
+
+all: all-recursive
+
+.SUFFIXES:
+.SUFFIXES: .cc .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign demos/ppl_pips/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign demos/ppl_pips/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+install-binPROGRAMS: $(bin_PROGRAMS)
+	@$(NORMAL_INSTALL)
+	test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
+	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	for p in $$list; do echo "$$p $$p"; done | \
+	sed 's/$(EXEEXT)$$//' | \
+	while read p p1; do if test -f $$p || test -f $$p1; \
+	  then echo "$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+	sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
+	    else { print "f", $$3 "/" $$4, $$1; } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	    test -z "$$files" || { \
+	    echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+	    $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+	    } \
+	; done
+
+uninstall-binPROGRAMS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+	      -e 's/$$/$(EXEEXT)/' `; \
+	test -n "$$list" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(bindir)" && rm -f $$files
+
+clean-binPROGRAMS:
+	@list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
+ppl_pips$(EXEEXT): $(ppl_pips_OBJECTS) $(ppl_pips_DEPENDENCIES) 
+	@rm -f ppl_pips$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(ppl_pips_OBJECTS) $(ppl_pips_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_pips.Po at am__quote@
+
+.cc.o:
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+
+.cc.obj:
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cc.lo:
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+install-man1: $(dist_man_MANS)
+	@$(NORMAL_INSTALL)
+	test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
+	@list=''; test -n "$(man1dir)" || exit 0; \
+	{ for i in $$list; do echo "$$i"; done; \
+	l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+	  sed -n '/\.1[a-z]*$$/p'; \
+	} | while read p; do \
+	  if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; echo "$$p"; \
+	done | \
+	sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+	sed 'N;N;s,\n, ,g' | { \
+	list=; while read file base inst; do \
+	  if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+	    echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+	    $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+	  fi; \
+	done; \
+	for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+	while read files; do \
+	  test -z "$$files" || { \
+	    echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+	    $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+	done; }
+
+uninstall-man1:
+	@$(NORMAL_UNINSTALL)
+	@list=''; test -n "$(man1dir)" || exit 0; \
+	files=`{ for i in $$list; do echo "$$i"; done; \
+	l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+	  sed -n '/\.1[a-z]*$$/p'; \
+	} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+	test -z "$$files" || { \
+	  echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \
+	  cd "$(DESTDIR)$(man1dir)" && rm -f $$files; }
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+	@fail= failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+	@fail= failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	rev=''; for subdir in $$list; do \
+	  if test "$$subdir" = "."; then :; else \
+	    rev="$$subdir $$rev"; \
+	  fi; \
+	done; \
+	rev="$$rev ."; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done && test -z "$$fail"
+tags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	done
+ctags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	set x; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@list='$(MANS)'; if test -n "$$list"; then \
+	  list=`for p in $$list; do \
+	    if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+	    if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
+	  if test -n "$$list" && \
+	    grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
+	    echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+	    grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
+	    echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
+	    echo "       typically \`make maintainer-clean' will remove them" >&2; \
+	    exit 1; \
+	  else :; fi; \
+	else :; fi
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test -d "$(distdir)/$$subdir" \
+	    || $(MKDIR_P) "$(distdir)/$$subdir" \
+	    || exit 1; \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
+		am__remove_distdir=: \
+		am__skip_length_check=: \
+		am__skip_mode_fix=: \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+ at HAVE_MD5SUM_FALSE@check-local:
+check-am: all-am
+	$(MAKE) $(AM_MAKEFLAGS) check-local
+check: check-recursive
+all-am: Makefile $(PROGRAMS) $(MANS)
+installdirs: installdirs-recursive
+installdirs-am:
+	for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man: install-man1
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-man
+
+uninstall-man: uninstall-man1
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) check-am \
+	ctags-recursive install-am install-strip tags-recursive
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+	all all-am check check-am check-local clean clean-binPROGRAMS \
+	clean-generic clean-libtool ctags ctags-recursive distclean \
+	distclean-compile distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-binPROGRAMS install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-man1 install-pdf \
+	install-pdf-am install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs installdirs-am \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
+	uninstall-binPROGRAMS uninstall-man uninstall-man1
+
+
+piplib_pips.o: $(srcdir)/ppl_pips.cc $(top_builddir)/utils/libppl_utils.a
+	$(CXXCOMPILE) -c -o $@ -DUSE_PIPLIB $(srcdir)/ppl_pips.cc
+
+piplib_pips: piplib_pips.o
+	$(CXXLINK) $< -lpip -lgmpxx -lgmp $(top_builddir)/utils/libppl_utils.a
+
+ at HAVE_MD5SUM_TRUE@check-local: ppl_pips$(EXEEXT)
+ at HAVE_MD5SUM_TRUE@	echo $(TOUGH_EXAMPLES) >tough_examples
+ at HAVE_MD5SUM_TRUE@	echo $(ECHO_N) "$(ECHO_C)" >obtained
+ at HAVE_MD5SUM_TRUE@	export LC_ALL=C; \
+ at HAVE_MD5SUM_TRUE@	for path in $(srcdir)/examples/*.dat; \
+ at HAVE_MD5SUM_TRUE@	do \
+ at HAVE_MD5SUM_TRUE@	  file=`basename $$path`; \
+ at HAVE_MD5SUM_TRUE@	  $(FGREP) $$file tough_examples >/dev/null 2>&1 && continue; \
+ at HAVE_MD5SUM_TRUE@	  echo $(ECHO_N) $$file " $(ECHO_C)" >>obtained; \
+ at HAVE_MD5SUM_TRUE@	  echo ppl_pips$(EXEEXT) -p $$path; \
+ at HAVE_MD5SUM_TRUE@	  $(CHECKER) ./ppl_pips$(EXEEXT) -p $$path \
+ at HAVE_MD5SUM_TRUE@            | tr -d '\015' | $(TEXT_MD5SUM) >>obtained; \
+ at HAVE_MD5SUM_TRUE@	done
+ at HAVE_MD5SUM_TRUE@	for path in $(srcdir)/examples/*.pip; \
+ at HAVE_MD5SUM_TRUE@	do \
+ at HAVE_MD5SUM_TRUE@	  file=`basename $$path`; \
+ at HAVE_MD5SUM_TRUE@	  $(FGREP) $$file tough_examples >/dev/null 2>&1 && continue; \
+ at HAVE_MD5SUM_TRUE@	  echo $(ECHO_N) $$file " $(ECHO_C)" >>obtained; \
+ at HAVE_MD5SUM_TRUE@	  echo ppl_pips$(EXEEXT) -P $$path; \
+ at HAVE_MD5SUM_TRUE@	   $(CHECKER) ./ppl_pips$(EXEEXT) -P $$path \
+ at HAVE_MD5SUM_TRUE@             | tr -d '\015' | $(TEXT_MD5SUM) >>obtained; \
+ at HAVE_MD5SUM_TRUE@	done
+ at HAVE_MD5SUM_TRUE@	diff obtained $(srcdir)/$(EXPECTED)
+
+$(top_builddir)/utils/libppl_utils.a:
+	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/utils libppl_utils.a
+
+$(top_builddir)/src/libppl.la:
+	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libppl.la
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/demos/ppl_pips/examples/Makefile.am b/demos/ppl_pips/examples/Makefile.am
new file mode 100644
index 0000000..48c2439
--- /dev/null
+++ b/demos/ppl_pips/examples/Makefile.am
@@ -0,0 +1,47 @@
+# Automake source file for the Parma Polyhedra Library.
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+#
+# This file is part of the Parma Polyhedra Library (PPL).
+#
+# The PPL is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 3 of the License, or (at your
+# option) any later version.
+#
+# The PPL is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+#
+# For the most up-to-date information see the Parma Polyhedra Library
+# site: http://www.cs.unipr.it/ppl/ .
+
+DAT_FILES = \
+invert.dat \
+linear.dat \
+lineri.dat \
+loz.dat \
+max.dat \
+maxb.dat \
+pairi.dat \
+petit.dat \
+rairoi.dat \
+test02.dat \
+test12i.dat
+
+PIP_FILES = \
+big.pip \
+brisebarre.pip \
+cg1.pip \
+esced.pip \
+ex2.pip \
+fimmel.pip \
+max.pip \
+sor1d.pip \
+square.pip
+
+dist_noinst_DATA = $(DAT_FILES) $(PIP_FILES)
diff --git a/demos/ppl_pips/examples/Makefile.in b/demos/ppl_pips/examples/Makefile.in
new file mode 100644
index 0000000..1ac177b
--- /dev/null
+++ b/demos/ppl_pips/examples/Makefile.in
@@ -0,0 +1,516 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+# Automake source file for the Parma Polyhedra Library.
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+#
+# This file is part of the Parma Polyhedra Library (PPL).
+#
+# The PPL is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 3 of the License, or (at your
+# option) any later version.
+#
+# The PPL is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+#
+# For the most up-to-date information see the Parma Polyhedra Library
+# site: http://www.cs.unipr.it/ppl/ .
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = demos/ppl_pips/examples
+DIST_COMMON = README $(dist_noinst_DATA) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
+	$(top_srcdir)/m4/ac_check_fpu_control.m4 \
+	$(top_srcdir)/m4/ac_check_gmp.m4 \
+	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
+	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
+	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
+	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
+	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
+	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
+	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
+	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
+	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
+	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
+	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
+	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
+	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_prog_jar.m4 \
+	$(top_srcdir)/m4/ac_prog_java.m4 \
+	$(top_srcdir)/m4/ac_prog_javac.m4 \
+	$(top_srcdir)/m4/ac_prog_javah.m4 \
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
+	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+SOURCES =
+DIST_SOURCES =
+DATA = $(dist_noinst_DATA)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CIAO_PROLOG = @CIAO_PROLOG@
+CIAO_PROLOG_INCLUDE_OPTIONS = @CIAO_PROLOG_INCLUDE_OPTIONS@
+CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GNU_PROLOG = @GNU_PROLOG@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ISODATE = @ISODATE@
+JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVAH = @JAVAH@
+JNIFLAGS = @JNIFLAGS@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBEXT = @LIBEXT@
+LIBGMP = @LIBGMP@
+LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBGMP = @LTLIBGMP@
+LTLIBGMPXX = @LTLIBGMPXX@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
+MAKEINFO = @MAKEINFO@
+MD5SUM = @MD5SUM@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
+OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
+OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PPL_VERSION_BETA = @PPL_VERSION_BETA@
+PPL_VERSION_MAJOR = @PPL_VERSION_MAJOR@
+PPL_VERSION_MINOR = @PPL_VERSION_MINOR@
+PPL_VERSION_REVISION = @PPL_VERSION_REVISION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SHREXT = @SHREXT@
+SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
+STRIP = @STRIP@
+SWI_PROLOG = @SWI_PROLOG@
+SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
+SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
+TEXT_MD5SUM = @TEXT_MD5SUM@
+VALGRIND = @VALGRIND@
+VERSION = @VERSION@
+XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+ciao_prolog = @ciao_prolog@
+coefficient_mnemonic = @coefficient_mnemonic@
+datadir = @datadir@
+datarootdir = @datarootdir@
+debug_flag = @debug_flag@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+extra_includes = @extra_includes@
+extra_libraries = @extra_libraries@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+required_instantiations = @required_instantiations@
+required_instantiations_c_cxx_headers = @required_instantiations_c_cxx_headers@
+required_instantiations_c_cxx_objects = @required_instantiations_c_cxx_objects@
+required_instantiations_c_cxx_sources = @required_instantiations_c_cxx_sources@
+required_instantiations_canonical_names = @required_instantiations_canonical_names@
+required_instantiations_java_classes = @required_instantiations_java_classes@
+required_instantiations_java_cxx_headers = @required_instantiations_java_cxx_headers@
+required_instantiations_java_cxx_headers_sources = @required_instantiations_java_cxx_headers_sources@
+required_instantiations_java_cxx_objects = @required_instantiations_java_cxx_objects@
+required_instantiations_java_cxx_sources = @required_instantiations_java_cxx_sources@
+required_instantiations_java_sources = @required_instantiations_java_sources@
+required_instantiations_ocaml_cxx_headers = @required_instantiations_ocaml_cxx_headers@
+required_instantiations_ocaml_cxx_objects = @required_instantiations_ocaml_cxx_objects@
+required_instantiations_ocaml_cxx_sources = @required_instantiations_ocaml_cxx_sources@
+required_instantiations_prolog_cxx_headers = @required_instantiations_prolog_cxx_headers@
+required_instantiations_prolog_cxx_objects = @required_instantiations_prolog_cxx_objects@
+required_instantiations_prolog_cxx_sources = @required_instantiations_prolog_cxx_sources@
+required_instantiations_prolog_generated_test_sources = @required_instantiations_prolog_generated_test_sources@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sicstus_prolog = @sicstus_prolog@
+srcdir = @srcdir@
+subdirs = @subdirs@
+swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+uudecode = @uudecode@
+xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
+DAT_FILES = \
+invert.dat \
+linear.dat \
+lineri.dat \
+loz.dat \
+max.dat \
+maxb.dat \
+pairi.dat \
+petit.dat \
+rairoi.dat \
+test02.dat \
+test12i.dat
+
+PIP_FILES = \
+big.pip \
+brisebarre.pip \
+cg1.pip \
+esced.pip \
+ex2.pip \
+fimmel.pip \
+max.pip \
+sor1d.pip \
+square.pip
+
+dist_noinst_DATA = $(DAT_FILES) $(PIP_FILES)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign demos/ppl_pips/examples/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign demos/ppl_pips/examples/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	distclean distclean-generic distclean-libtool distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-data install-data-am install-dvi install-dvi-am \
+	install-exec install-exec-am install-html install-html-am \
+	install-info install-info-am install-man install-pdf \
+	install-pdf-am install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic \
+	mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/demos/ppl_pips/examples/README b/demos/ppl_pips/examples/README
new file mode 100644
index 0000000..6b46816
--- /dev/null
+++ b/demos/ppl_pips/examples/README
@@ -0,0 +1,8 @@
+The examples in this directory have been taken from PipLib 1.4.0 [1],
+which is released under the GNU Lesser General Public License, version 2.1
+or later [2].
+
+--------
+
+[1] http://www.piplib.org/
+[2] http://www.gnu.org/licenses/lgpl-2.1.html
diff --git a/demos/ppl_pips/examples/big.pip b/demos/ppl_pips/examples/big.pip
new file mode 100644
index 0000000..c93c08f
--- /dev/null
+++ b/demos/ppl_pips/examples/big.pip
@@ -0,0 +1,9 @@
+0 3
+
+1
+
+4 5
+1 -1  0  1  0
+1  0 -1  1  0
+1 -1  3 -2 12
+1  2 -1 -1  3
diff --git a/demos/ppl_pips/examples/brisebarre.pip b/demos/ppl_pips/examples/brisebarre.pip
new file mode 100644
index 0000000..f5a8397
--- /dev/null
+++ b/demos/ppl_pips/examples/brisebarre.pip
@@ -0,0 +1,33 @@
+# ---------------------- CONTEXT ----------------------
+0 2
+
+-1
+
+# ----------------------- DOMAIN ----------------------
+26 6
+1    3    0    0     0    -98300
+1   -3    0    0     0     98308
+1  432   36    6     1 -14757611
+1 -432  -36   -6    -1  14758510
+1   54    9    3     1  -1923190
+1  -54   -9   -3    -1   1923303
+1   48   12    6     3  -1782238
+1  -48  -12   -6    -3   1782339
+1   27    9    6     4  -1045164
+1  -27   -9   -6    -4   1045221
+1  432  180  150   125 -17434139
+1 -432 -180 -150  -125  17435038
+1    6    3    3     3   -252443
+1   -6   -3   -3    -3    252456
+1  432  252  294   343 -18949275
+1 -432 -252 -294  -343  18950174
+1   27   18   24    32  -1234720
+1  -27  -18  -24   -32   1234777
+1   48   36   54    81  -2288453
+1  -48  -36  -54   -81   2288554
+1   54   45   75   125  -2684050
+1  -54  -45  -75  -125   2684163
+1  432  396  726  1331 -22386005
+1 -432 -396 -726 -1331  22386904
+1    3    3    6    12   -162072
+1   -3   -3   -6   -12    162080
diff --git a/demos/ppl_pips/examples/cg1.pip b/demos/ppl_pips/examples/cg1.pip
new file mode 100644
index 0000000..78e31f1
--- /dev/null
+++ b/demos/ppl_pips/examples/cg1.pip
@@ -0,0 +1,15 @@
+2 4
+  1  1  0 -1
+  1 -1  1  0
+
+-1
+
+8 7
+  1  0  1  0 -1  0  0
+  1  0 -1  0  1  0  0
+  1  1  0  0  0 -1  0
+  1 -1  0  0  0  1  0
+  1  0  1  0  0  0 -1
+  1  0 -1  0  0  1  0
+  1  0 -1  1  0  0 -1
+  1  0  0 -1  0  1  0
diff --git a/demos/ppl_pips/examples/esced.pip b/demos/ppl_pips/examples/esced.pip
new file mode 100644
index 0000000..891c281
--- /dev/null
+++ b/demos/ppl_pips/examples/esced.pip
@@ -0,0 +1,21 @@
+0 2
+
+-1
+
+16 18
+1 0 0 0 0 0 0 0 0 -1 0 0 1 0 0 0 0 0
+1 0 0 0 0 0 0 0 0 0 -1 0 0 1 0 0 0 0
+1 0 0 0 0 0 0 0 0 0 0 -1 0 0 1 0 0 0
+1 0 0 0 0 0 0 0 0 0 0 0 0 1 -1 0 0 0
+1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
+1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+0 0 0 0 -1 0 0 0 0 1 -1 0 0 0 0 0 0 0
+0 0 0 0 0 -1 0 0 0 0 0 1 0 0 0 0 0 0
+0 -1 0 0 0 0 0 0 0 0 1 -1 0 0 0 0 0 0
+0 0 0 0 0 0 -1 0 0 0 0 0 1 -1 0 -1 0 0
+0 0 0 0 0 0 0 -1 0 0 0 0 0 0 1 0 0 0
+0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 1 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 1 -1 0 0 0
+0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 1 -1 0
+1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1
+1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 -1
diff --git a/demos/ppl_pips/examples/ex2.pip b/demos/ppl_pips/examples/ex2.pip
new file mode 100644
index 0000000..bb59848
--- /dev/null
+++ b/demos/ppl_pips/examples/ex2.pip
@@ -0,0 +1,9 @@
+1 5
+1 -1 1 1 0
+
+-1
+
+3 7
+1 0 -1 0 1 0 0
+1 -1 0 0 0 1 0
+1 1 1 -1 0 0 0
diff --git a/demos/ppl_pips/examples/fimmel.pip b/demos/ppl_pips/examples/fimmel.pip
new file mode 100644
index 0000000..a6dee41
--- /dev/null
+++ b/demos/ppl_pips/examples/fimmel.pip
@@ -0,0 +1,12 @@
+0 4
+
+-1
+
+7 6
+1 2  6 0 0 -9
+1 5 -3 0 0 0
+1 2 -10 0 0 15
+1 -2 6 0 0 -3
+1 -2 -6 0 0 17
+1 0 1 -1 0 0
+1 1 0 0 -1 0
diff --git a/demos/ppl_pips/examples/invert.dat b/demos/ppl_pips/examples/invert.dat
new file mode 100644
index 0000000..8f472fc
--- /dev/null
+++ b/demos/ppl_pips/examples/invert.dat
@@ -0,0 +1,10 @@
+( (Lower bound on j after loop inversion
+      (unknowns j i)
+      (parameters k m n))
+  2 3 3 1 -1 1
+  ( #[0 -1 0 0 1 0]
+    #[-1 0 0 0 0 1]
+    #[1 1 0 -1 0 0]
+  )
+  ( #[-1 1 1 0])
+)
diff --git a/demos/ppl_pips/examples/linear.dat b/demos/ppl_pips/examples/linear.dat
new file mode 100644
index 0000000..65d5a51
--- /dev/null
+++ b/demos/ppl_pips/examples/linear.dat
@@ -0,0 +1,10 @@
+((linearisation d'un tableau 100 100)
+ 2 1 4 1 -1 1
+ (#[100 1 0 -1]
+  #[-100 -1 0 1]
+  #[-1 0 99 0]
+  #[0 -1 99 0]
+ )
+ (#[-1 9999]
+ )
+)
diff --git a/demos/ppl_pips/examples/lineri.dat b/demos/ppl_pips/examples/lineri.dat
new file mode 100644
index 0000000..4c13e66
--- /dev/null
+++ b/demos/ppl_pips/examples/lineri.dat
@@ -0,0 +1,9 @@
+((linearisation d'un tableau 100 100)
+ 1 1 3 1 -1 1
+ (#[-1 99 0]
+  #[-100 0 1]
+  #[100 99 -1]
+ )
+ (#[-1 9999]
+ )
+)
diff --git a/demos/ppl_pips/examples/loz.dat b/demos/ppl_pips/examples/loz.dat
new file mode 100644
index 0000000..234dd9c
--- /dev/null
+++ b/demos/ppl_pips/examples/loz.dat
@@ -0,0 +1,15 @@
+( 
+ ( Solving MIN(i-2.j) under the following constraints:
+   Unknowns may be negative.
+   Order:
+   f' i' j' constant G P n'
+  )
+ 3 3 5 0 4 1
+ ( 
+  #[ 0 1 1 20 -2 -4 4 ]
+  #[ 1 -1 2 0 -2 0 0 ]
+  #[ 0 -1 -1 0 2 0 0 ]
+  #[ 0 1 -1 10 0 -2 2 ]
+  #[ 0 -1 1 10 0 -2 2 ]
+   )
+ ( ))
diff --git a/demos/ppl_pips/examples/max.dat b/demos/ppl_pips/examples/max.dat
new file mode 100644
index 0000000..fdb71c5
--- /dev/null
+++ b/demos/ppl_pips/examples/max.dat
@@ -0,0 +1,9 @@
+((a maximization problem)
+ 2 1 4 0 -1 1
+ (#[-1 0 0 1]
+  #[0 -1 0 1]
+  #[-1 3 12 -2]
+  #[2 -1 3 -1]
+ )
+ ()
+)
diff --git a/demos/ppl_pips/examples/max.pip b/demos/ppl_pips/examples/max.pip
new file mode 100644
index 0000000..e8af57b
--- /dev/null
+++ b/demos/ppl_pips/examples/max.pip
@@ -0,0 +1,9 @@
+0 3
+
+-1
+
+4 5
+1 -1  0  1  0
+1  0 -1  1  0
+1 -1  3 -2 12
+1  2 -1 -1  3
diff --git a/demos/ppl_pips/examples/maxb.dat b/demos/ppl_pips/examples/maxb.dat
new file mode 100644
index 0000000..02db81a
--- /dev/null
+++ b/demos/ppl_pips/examples/maxb.dat
@@ -0,0 +1,9 @@
+((a maximization problem)
+ 2 1 4 0 3 1
+ (#[-1 0 0 1]
+  #[0 -1 0 1]
+  #[-1 3 12 -2]
+  #[2 -1 3 -1]
+ )
+ ()
+)
diff --git a/demos/ppl_pips/examples/pairi.dat b/demos/ppl_pips/examples/pairi.dat
new file mode 100644
index 0000000..9f604cd
--- /dev/null
+++ b/demos/ppl_pips/examples/pairi.dat
@@ -0,0 +1,7 @@
+((les nombres pairs)
+ 1 1 2 0 -1 1
+ (#[2 0 -1]
+  #[-6 1 3]
+ )
+ ()
+)
diff --git a/demos/ppl_pips/examples/petit.dat b/demos/ppl_pips/examples/petit.dat
new file mode 100644
index 0000000..5d23e19
--- /dev/null
+++ b/demos/ppl_pips/examples/petit.dat
@@ -0,0 +1,9 @@
+((( a b c d e f g h i j k l m n o p q r s t u v w x y z 1)())
+ 3 0 3 0 -1 1
+ (#[1 0 0 -2]
+  #[1 2 0 -3]
+  #[1 2 3 -7]
+   )
+ ()
+ )
+
diff --git a/demos/ppl_pips/examples/rairoi.dat b/demos/ppl_pips/examples/rairoi.dat
new file mode 100644
index 0000000..09f6d0b
--- /dev/null
+++ b/demos/ppl_pips/examples/rairoi.dat
@@ -0,0 +1,9 @@
+((test du papier RAIRO)
+ 2 3 4 0 -1 1
+ (#[-1 0 0 0 1 0]
+  #[0 -1 0 0 0 1]
+  #[-2 -1 0 -1 2 1]
+  #[2 1 0 1 -2 -1]
+ )
+ ()
+)
diff --git a/demos/ppl_pips/examples/sor1d.pip b/demos/ppl_pips/examples/sor1d.pip
new file mode 100644
index 0000000..3b3dc61
--- /dev/null
+++ b/demos/ppl_pips/examples/sor1d.pip
@@ -0,0 +1,28 @@
+2 4
+ 1	1	0	0
+ 1	0	1	0
+
+-1
+
+20 8
+
+ 0	-1	0	0	0	0	0	2
+ 0	0	-1	0	0	0	0	1
+ 0	0	0	-1	0	0	0	2
+ 0	0	0	0	-1	0	0	4
+ 1	0	0	0	1	0	0	-2
+ 1	-2	0	2	1	0	0	-4
+ 1	0	0	0	-1	0	1	-1
+ 1	2	0	-2	-1	0	0	5
+ 1	0	0	1	0	0	0	-1
+ 1	0	-2	1	0	0	0	0
+ 1	-2	0	2	0	0	1	-5
+ 1	0	0	-1	0	1	0	0
+ 1	0	2	-1	0	0	0	1
+ 1	2	0	-2	0	0	0	3
+ 1	0	1	0	0	0	0	0
+ 1	-2	4	0	0	0	1	-3
+ 1	0	-2	0	0	1	0	0
+ 1	2	-4	0	0	0	0	3
+ 1	2	0	0	0	0	0	1
+ 1	-2	0	0	0	2	1	-5
diff --git a/demos/ppl_pips/examples/square.pip b/demos/ppl_pips/examples/square.pip
new file mode 100644
index 0000000..7bb3f0c
--- /dev/null
+++ b/demos/ppl_pips/examples/square.pip
@@ -0,0 +1,9 @@
+0 3
+
+-1
+
+4 5
+1  1  0  0  0
+1 -1  0  1  0
+1  0  1  0  0
+1  0 -1  1  0
diff --git a/demos/ppl_pips/examples/test02.dat b/demos/ppl_pips/examples/test02.dat
new file mode 100644
index 0000000..f0f8e18
--- /dev/null
+++ b/demos/ppl_pips/examples/test02.dat
@@ -0,0 +1,20 @@
+( ( Four parts in the file:
+    - comments (here !),
+    - Information line: here "2 2 5 0 -1 1" meaning 2 unknown,
+      2 parameters, 5 inequalities for domain, 1 ineq. for context,
+      no big parameter (-1) and integer solution requested (1).
+    - List of domain inequalities: #[ 2 3 -8 0 0] meaning
+      (2)*i + (3)*j + (-8)*1 + (0)*m + (0)*n >= 0.
+    - List of context inequalities: #[ 0 1 -3] meaning
+      (0)*m + (1)*n + (-3)*1 >= 0.
+  )
+  2 2 5 1 -1 1
+  ( #[ 2 3 -8 0 0]
+    #[ 4 -1 -4 0 0]
+    #[-1 0 0 0 1]
+    #[ 0 1 0 0 0]
+    #[ 0 -1 0 1 0]
+  )
+  ( #[ 0 1 -3]
+  )
+)
diff --git a/demos/ppl_pips/examples/test12i.dat b/demos/ppl_pips/examples/test12i.dat
new file mode 100644
index 0000000..5881897
--- /dev/null
+++ b/demos/ppl_pips/examples/test12i.dat
@@ -0,0 +1,17 @@
+((variables : a b c d ...., pas de parametres)
+ 12 0 12 0 -1 1
+ (#[1 0 0 0 0 0 0 0 0 0 0 0 -2]
+  #[1 2 0 0 0 0 0 0 0 0 0 0 -3]
+  #[1 2 3 0 0 0 0 0 0 0 0 0 -7]
+  #[1 2 3 4 0 0 0 0 0 0 0 0 -25]
+  #[1 2 3 4 5 0 0 0 0 0 0 0 -121]
+  #[1 2 3 4 5 6 0 0 0 0 0 0 -721]
+  #[1 2 3 4 5 6 7 0 0 0 0 0 -5041]
+  #[1 2 3 4 5 6 7 8 0 0 0 0 -40321]
+  #[1 2 3 4 5 6 7 8 9 0 0 0 -362881]
+  #[1 2 3 4 5 6 7 8 9 10 0 0 -3628801]
+  #[1 2 3 4 5 6 7 8 9 10 11 0 -39916801]
+  #[1 2 3 4 5 6 7 8 9 10 11 12 -479001601]
+ )
+ ()
+)
diff --git a/demos/ppl_pips/expected_int16 b/demos/ppl_pips/expected_int16
new file mode 100644
index 0000000..b971b68
--- /dev/null
+++ b/demos/ppl_pips/expected_int16
@@ -0,0 +1,20 @@
+invert.dat  d41d8cd98f00b204e9800998ecf8427e  -
+linear.dat  d41d8cd98f00b204e9800998ecf8427e  -
+lineri.dat  d41d8cd98f00b204e9800998ecf8427e  -
+loz.dat  558273607bb0eec59c713980a8722ac8  -
+max.dat  d41d8cd98f00b204e9800998ecf8427e  -
+maxb.dat  d41d8cd98f00b204e9800998ecf8427e  -
+pairi.dat  d41d8cd98f00b204e9800998ecf8427e  -
+petit.dat  d41d8cd98f00b204e9800998ecf8427e  -
+rairoi.dat  d41d8cd98f00b204e9800998ecf8427e  -
+test02.dat  d41d8cd98f00b204e9800998ecf8427e  -
+test12i.dat  d41d8cd98f00b204e9800998ecf8427e  -
+big.pip  bc9d718f581cd7da4bbd7f0293749315  -
+brisebarre.pip  d41d8cd98f00b204e9800998ecf8427e  -
+cg1.pip  2571d40371dd1f1661348b08945e8a98  -
+esced.pip  7f4b69aed82cc0f498e7931ac1dbf92f  -
+ex2.pip  89eb267478eb8675de9602be9bb92f9e  -
+fimmel.pip  d41d8cd98f00b204e9800998ecf8427e  -
+max.pip  e29c651c587cc64ab6a7a8cecd488a0b  -
+sor1d.pip  80f93132ed5d70b6371d5bf5fa627376  -
+square.pip  65a57d1e7ccb8196f81fa6e701164b69  -
diff --git a/demos/ppl_pips/expected_int16_a b/demos/ppl_pips/expected_int16_a
new file mode 100644
index 0000000..b971b68
--- /dev/null
+++ b/demos/ppl_pips/expected_int16_a
@@ -0,0 +1,20 @@
+invert.dat  d41d8cd98f00b204e9800998ecf8427e  -
+linear.dat  d41d8cd98f00b204e9800998ecf8427e  -
+lineri.dat  d41d8cd98f00b204e9800998ecf8427e  -
+loz.dat  558273607bb0eec59c713980a8722ac8  -
+max.dat  d41d8cd98f00b204e9800998ecf8427e  -
+maxb.dat  d41d8cd98f00b204e9800998ecf8427e  -
+pairi.dat  d41d8cd98f00b204e9800998ecf8427e  -
+petit.dat  d41d8cd98f00b204e9800998ecf8427e  -
+rairoi.dat  d41d8cd98f00b204e9800998ecf8427e  -
+test02.dat  d41d8cd98f00b204e9800998ecf8427e  -
+test12i.dat  d41d8cd98f00b204e9800998ecf8427e  -
+big.pip  bc9d718f581cd7da4bbd7f0293749315  -
+brisebarre.pip  d41d8cd98f00b204e9800998ecf8427e  -
+cg1.pip  2571d40371dd1f1661348b08945e8a98  -
+esced.pip  7f4b69aed82cc0f498e7931ac1dbf92f  -
+ex2.pip  89eb267478eb8675de9602be9bb92f9e  -
+fimmel.pip  d41d8cd98f00b204e9800998ecf8427e  -
+max.pip  e29c651c587cc64ab6a7a8cecd488a0b  -
+sor1d.pip  80f93132ed5d70b6371d5bf5fa627376  -
+square.pip  65a57d1e7ccb8196f81fa6e701164b69  -
diff --git a/demos/ppl_pips/expected_int32 b/demos/ppl_pips/expected_int32
new file mode 100644
index 0000000..b971b68
--- /dev/null
+++ b/demos/ppl_pips/expected_int32
@@ -0,0 +1,20 @@
+invert.dat  d41d8cd98f00b204e9800998ecf8427e  -
+linear.dat  d41d8cd98f00b204e9800998ecf8427e  -
+lineri.dat  d41d8cd98f00b204e9800998ecf8427e  -
+loz.dat  558273607bb0eec59c713980a8722ac8  -
+max.dat  d41d8cd98f00b204e9800998ecf8427e  -
+maxb.dat  d41d8cd98f00b204e9800998ecf8427e  -
+pairi.dat  d41d8cd98f00b204e9800998ecf8427e  -
+petit.dat  d41d8cd98f00b204e9800998ecf8427e  -
+rairoi.dat  d41d8cd98f00b204e9800998ecf8427e  -
+test02.dat  d41d8cd98f00b204e9800998ecf8427e  -
+test12i.dat  d41d8cd98f00b204e9800998ecf8427e  -
+big.pip  bc9d718f581cd7da4bbd7f0293749315  -
+brisebarre.pip  d41d8cd98f00b204e9800998ecf8427e  -
+cg1.pip  2571d40371dd1f1661348b08945e8a98  -
+esced.pip  7f4b69aed82cc0f498e7931ac1dbf92f  -
+ex2.pip  89eb267478eb8675de9602be9bb92f9e  -
+fimmel.pip  d41d8cd98f00b204e9800998ecf8427e  -
+max.pip  e29c651c587cc64ab6a7a8cecd488a0b  -
+sor1d.pip  80f93132ed5d70b6371d5bf5fa627376  -
+square.pip  65a57d1e7ccb8196f81fa6e701164b69  -
diff --git a/demos/ppl_pips/expected_int32_a b/demos/ppl_pips/expected_int32_a
new file mode 100644
index 0000000..b971b68
--- /dev/null
+++ b/demos/ppl_pips/expected_int32_a
@@ -0,0 +1,20 @@
+invert.dat  d41d8cd98f00b204e9800998ecf8427e  -
+linear.dat  d41d8cd98f00b204e9800998ecf8427e  -
+lineri.dat  d41d8cd98f00b204e9800998ecf8427e  -
+loz.dat  558273607bb0eec59c713980a8722ac8  -
+max.dat  d41d8cd98f00b204e9800998ecf8427e  -
+maxb.dat  d41d8cd98f00b204e9800998ecf8427e  -
+pairi.dat  d41d8cd98f00b204e9800998ecf8427e  -
+petit.dat  d41d8cd98f00b204e9800998ecf8427e  -
+rairoi.dat  d41d8cd98f00b204e9800998ecf8427e  -
+test02.dat  d41d8cd98f00b204e9800998ecf8427e  -
+test12i.dat  d41d8cd98f00b204e9800998ecf8427e  -
+big.pip  bc9d718f581cd7da4bbd7f0293749315  -
+brisebarre.pip  d41d8cd98f00b204e9800998ecf8427e  -
+cg1.pip  2571d40371dd1f1661348b08945e8a98  -
+esced.pip  7f4b69aed82cc0f498e7931ac1dbf92f  -
+ex2.pip  89eb267478eb8675de9602be9bb92f9e  -
+fimmel.pip  d41d8cd98f00b204e9800998ecf8427e  -
+max.pip  e29c651c587cc64ab6a7a8cecd488a0b  -
+sor1d.pip  80f93132ed5d70b6371d5bf5fa627376  -
+square.pip  65a57d1e7ccb8196f81fa6e701164b69  -
diff --git a/demos/ppl_pips/expected_int64 b/demos/ppl_pips/expected_int64
new file mode 100644
index 0000000..01a4975
--- /dev/null
+++ b/demos/ppl_pips/expected_int64
@@ -0,0 +1,20 @@
+invert.dat  d41d8cd98f00b204e9800998ecf8427e  -
+linear.dat  d41d8cd98f00b204e9800998ecf8427e  -
+lineri.dat  d41d8cd98f00b204e9800998ecf8427e  -
+loz.dat  558273607bb0eec59c713980a8722ac8  -
+max.dat  d41d8cd98f00b204e9800998ecf8427e  -
+maxb.dat  d41d8cd98f00b204e9800998ecf8427e  -
+pairi.dat  d41d8cd98f00b204e9800998ecf8427e  -
+petit.dat  d41d8cd98f00b204e9800998ecf8427e  -
+rairoi.dat  d41d8cd98f00b204e9800998ecf8427e  -
+test02.dat  d41d8cd98f00b204e9800998ecf8427e  -
+test12i.dat  d41d8cd98f00b204e9800998ecf8427e  -
+big.pip  bc9d718f581cd7da4bbd7f0293749315  -
+brisebarre.pip  3051dbe7ea7bf04e8890ddd41013a9dc  -
+cg1.pip  2571d40371dd1f1661348b08945e8a98  -
+esced.pip  7f4b69aed82cc0f498e7931ac1dbf92f  -
+ex2.pip  89eb267478eb8675de9602be9bb92f9e  -
+fimmel.pip  2dd9b24df50572c15981dd3faf8c74a4  -
+max.pip  e29c651c587cc64ab6a7a8cecd488a0b  -
+sor1d.pip  80f93132ed5d70b6371d5bf5fa627376  -
+square.pip  65a57d1e7ccb8196f81fa6e701164b69  -
diff --git a/demos/ppl_pips/expected_int64_a b/demos/ppl_pips/expected_int64_a
new file mode 100644
index 0000000..01a4975
--- /dev/null
+++ b/demos/ppl_pips/expected_int64_a
@@ -0,0 +1,20 @@
+invert.dat  d41d8cd98f00b204e9800998ecf8427e  -
+linear.dat  d41d8cd98f00b204e9800998ecf8427e  -
+lineri.dat  d41d8cd98f00b204e9800998ecf8427e  -
+loz.dat  558273607bb0eec59c713980a8722ac8  -
+max.dat  d41d8cd98f00b204e9800998ecf8427e  -
+maxb.dat  d41d8cd98f00b204e9800998ecf8427e  -
+pairi.dat  d41d8cd98f00b204e9800998ecf8427e  -
+petit.dat  d41d8cd98f00b204e9800998ecf8427e  -
+rairoi.dat  d41d8cd98f00b204e9800998ecf8427e  -
+test02.dat  d41d8cd98f00b204e9800998ecf8427e  -
+test12i.dat  d41d8cd98f00b204e9800998ecf8427e  -
+big.pip  bc9d718f581cd7da4bbd7f0293749315  -
+brisebarre.pip  3051dbe7ea7bf04e8890ddd41013a9dc  -
+cg1.pip  2571d40371dd1f1661348b08945e8a98  -
+esced.pip  7f4b69aed82cc0f498e7931ac1dbf92f  -
+ex2.pip  89eb267478eb8675de9602be9bb92f9e  -
+fimmel.pip  2dd9b24df50572c15981dd3faf8c74a4  -
+max.pip  e29c651c587cc64ab6a7a8cecd488a0b  -
+sor1d.pip  80f93132ed5d70b6371d5bf5fa627376  -
+square.pip  65a57d1e7ccb8196f81fa6e701164b69  -
diff --git a/demos/ppl_pips/expected_int8 b/demos/ppl_pips/expected_int8
new file mode 100644
index 0000000..cf2ecd6
--- /dev/null
+++ b/demos/ppl_pips/expected_int8
@@ -0,0 +1,20 @@
+invert.dat  d41d8cd98f00b204e9800998ecf8427e  -
+linear.dat  d41d8cd98f00b204e9800998ecf8427e  -
+lineri.dat  d41d8cd98f00b204e9800998ecf8427e  -
+loz.dat  d41d8cd98f00b204e9800998ecf8427e  -
+max.dat  d41d8cd98f00b204e9800998ecf8427e  -
+maxb.dat  d41d8cd98f00b204e9800998ecf8427e  -
+pairi.dat  d41d8cd98f00b204e9800998ecf8427e  -
+petit.dat  d41d8cd98f00b204e9800998ecf8427e  -
+rairoi.dat  d41d8cd98f00b204e9800998ecf8427e  -
+test02.dat  d41d8cd98f00b204e9800998ecf8427e  -
+test12i.dat  d41d8cd98f00b204e9800998ecf8427e  -
+big.pip  d41d8cd98f00b204e9800998ecf8427e  -
+brisebarre.pip  d41d8cd98f00b204e9800998ecf8427e  -
+cg1.pip  2571d40371dd1f1661348b08945e8a98  -
+esced.pip  7f4b69aed82cc0f498e7931ac1dbf92f  -
+ex2.pip  89eb267478eb8675de9602be9bb92f9e  -
+fimmel.pip  d41d8cd98f00b204e9800998ecf8427e  -
+max.pip  d41d8cd98f00b204e9800998ecf8427e  -
+sor1d.pip  80f93132ed5d70b6371d5bf5fa627376  -
+square.pip  65a57d1e7ccb8196f81fa6e701164b69  -
diff --git a/demos/ppl_pips/expected_int8_a b/demos/ppl_pips/expected_int8_a
new file mode 100644
index 0000000..cf2ecd6
--- /dev/null
+++ b/demos/ppl_pips/expected_int8_a
@@ -0,0 +1,20 @@
+invert.dat  d41d8cd98f00b204e9800998ecf8427e  -
+linear.dat  d41d8cd98f00b204e9800998ecf8427e  -
+lineri.dat  d41d8cd98f00b204e9800998ecf8427e  -
+loz.dat  d41d8cd98f00b204e9800998ecf8427e  -
+max.dat  d41d8cd98f00b204e9800998ecf8427e  -
+maxb.dat  d41d8cd98f00b204e9800998ecf8427e  -
+pairi.dat  d41d8cd98f00b204e9800998ecf8427e  -
+petit.dat  d41d8cd98f00b204e9800998ecf8427e  -
+rairoi.dat  d41d8cd98f00b204e9800998ecf8427e  -
+test02.dat  d41d8cd98f00b204e9800998ecf8427e  -
+test12i.dat  d41d8cd98f00b204e9800998ecf8427e  -
+big.pip  d41d8cd98f00b204e9800998ecf8427e  -
+brisebarre.pip  d41d8cd98f00b204e9800998ecf8427e  -
+cg1.pip  2571d40371dd1f1661348b08945e8a98  -
+esced.pip  7f4b69aed82cc0f498e7931ac1dbf92f  -
+ex2.pip  89eb267478eb8675de9602be9bb92f9e  -
+fimmel.pip  d41d8cd98f00b204e9800998ecf8427e  -
+max.pip  d41d8cd98f00b204e9800998ecf8427e  -
+sor1d.pip  80f93132ed5d70b6371d5bf5fa627376  -
+square.pip  65a57d1e7ccb8196f81fa6e701164b69  -
diff --git a/demos/ppl_pips/expected_mpz b/demos/ppl_pips/expected_mpz
new file mode 100644
index 0000000..02d82d0
--- /dev/null
+++ b/demos/ppl_pips/expected_mpz
@@ -0,0 +1,20 @@
+invert.dat  89eb267478eb8675de9602be9bb92f9e  -
+linear.dat  1f73e09130d92979eb4388cbbab7f389  -
+lineri.dat  7b21035f6f07e68b8c0e2893a649f0ef  -
+loz.dat  558273607bb0eec59c713980a8722ac8  -
+max.dat  e29c651c587cc64ab6a7a8cecd488a0b  -
+maxb.dat  bc9d718f581cd7da4bbd7f0293749315  -
+pairi.dat  4aab776937a39aee6b95dc5d81722a20  -
+petit.dat  dd796c3d2afd2b7fb25a661c4137973f  -
+rairoi.dat  6aa01aa8b58429c4dfe33fad609306d5  -
+test02.dat  cd5fa1529845aacfac7b36ecad8d1c93  -
+test12i.dat  9c4f4bd2f5327b9ba442e4e294078282  -
+big.pip  bc9d718f581cd7da4bbd7f0293749315  -
+brisebarre.pip  3051dbe7ea7bf04e8890ddd41013a9dc  -
+cg1.pip  2571d40371dd1f1661348b08945e8a98  -
+esced.pip  7f4b69aed82cc0f498e7931ac1dbf92f  -
+ex2.pip  89eb267478eb8675de9602be9bb92f9e  -
+fimmel.pip  2dd9b24df50572c15981dd3faf8c74a4  -
+max.pip  e29c651c587cc64ab6a7a8cecd488a0b  -
+sor1d.pip  80f93132ed5d70b6371d5bf5fa627376  -
+square.pip  65a57d1e7ccb8196f81fa6e701164b69  -
diff --git a/demos/ppl_pips/expected_mpz_a b/demos/ppl_pips/expected_mpz_a
new file mode 100644
index 0000000..02d82d0
--- /dev/null
+++ b/demos/ppl_pips/expected_mpz_a
@@ -0,0 +1,20 @@
+invert.dat  89eb267478eb8675de9602be9bb92f9e  -
+linear.dat  1f73e09130d92979eb4388cbbab7f389  -
+lineri.dat  7b21035f6f07e68b8c0e2893a649f0ef  -
+loz.dat  558273607bb0eec59c713980a8722ac8  -
+max.dat  e29c651c587cc64ab6a7a8cecd488a0b  -
+maxb.dat  bc9d718f581cd7da4bbd7f0293749315  -
+pairi.dat  4aab776937a39aee6b95dc5d81722a20  -
+petit.dat  dd796c3d2afd2b7fb25a661c4137973f  -
+rairoi.dat  6aa01aa8b58429c4dfe33fad609306d5  -
+test02.dat  cd5fa1529845aacfac7b36ecad8d1c93  -
+test12i.dat  9c4f4bd2f5327b9ba442e4e294078282  -
+big.pip  bc9d718f581cd7da4bbd7f0293749315  -
+brisebarre.pip  3051dbe7ea7bf04e8890ddd41013a9dc  -
+cg1.pip  2571d40371dd1f1661348b08945e8a98  -
+esced.pip  7f4b69aed82cc0f498e7931ac1dbf92f  -
+ex2.pip  89eb267478eb8675de9602be9bb92f9e  -
+fimmel.pip  2dd9b24df50572c15981dd3faf8c74a4  -
+max.pip  e29c651c587cc64ab6a7a8cecd488a0b  -
+sor1d.pip  80f93132ed5d70b6371d5bf5fa627376  -
+square.pip  65a57d1e7ccb8196f81fa6e701164b69  -
diff --git a/demos/ppl_pips/ppl_pips.1 b/demos/ppl_pips/ppl_pips.1
new file mode 100644
index 0000000..0302609
--- /dev/null
+++ b/demos/ppl_pips/ppl_pips.1
@@ -0,0 +1,136 @@
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.36.
+.TH PPL_PIPS "1" "August 2010" "ppl_pips 0.11" "User Commands"
+.SH NAME
+ppl_pips \- a PPL-based parametric integer programming problem solver
+.SH SYNOPSIS
+.B ppl_pips
+[\fIOPTION\fR]... [\fIFILE\fR]
+.SH DESCRIPTION
+Reads the definition of a Parametric Integer Programming problem
+and displays the lexicographic minimum in terms of the values of the
+parameters.
+.SH OPTIONS
+.TP
+\fB\-RMB\fR, \fB\-\-max\-memory\fR=\fIMB\fR
+limits memory usage to MB megabytes
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+prints this help text to stdout
+.TP
+\fB\-oPATH\fR, \fB\-\-output\fR=\fIPATH\fR
+appends output to PATH
+.TP
+\fB\-P\fR, \fB\-\-polylib\fR
+reads problem in PolyLib format (default)
+.TP
+\fB\-p\fR, \fB\-\-piplib\fR
+reads problem in PipLib format
+.TP
+\fB\-t\fR, \fB\-\-timings\fR
+prints timings to stderr
+.TP
+\fB\-v\fR, \fB\-\-verbose\fR
+produces lots of output
+.TP
+\fB\-i\fR, \fB\-\-iterations\fR=\fIN\fR
+executes the resolution N times (default=1)
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+prints version information to stdout
+.TP
+\fB\-cPATH\fR, \fB\-\-check\fR=\fIPATH\fR
+checks if the result is equal to what is in PATH
+.SS "Cut generation options:"
+.TP
+\fB\-f\fR, \fB\-\-cut\-first\fR
+uses the first non\-integer row (default)
+.TP
+\fB\-d\fR, \fB\-\-cut\-deepest\fR
+tries to generate the deepest cut
+.TP
+\fB\-a\fR, \fB\-\-cut\-all\fR
+always generates all possible cuts
+.SS "Pivot row strategy options:"
+.TP
+\fB\-F\fR, \fB\-\-row\-first\fR
+uses the first row with negative parameter (default)
+.TP
+\fB\-M\fR, \fB\-\-row\-max\fR
+chooses row generating the lexico\-maximal pivot column
+.SH AVAILABILITY
+The latest version of the Parma Polyhedra Library and all the documentation
+is available at \fBhttp://www.cs.unipr.it/ppl/\fR .
+.SH NOTES
+The options \fB\-CSECS\fR (\fB\-\-max\-cpu\fR=\fISECS\fR) and
+\fB\-t\fR (\fB\-\-timings\fR) are not available on some platforms.
+.sp
+The PolyLib format is as follows:
+.TP
+-
+The first row describes the context matrix (i.e., constraints on the
+parameters).  The first value is the number of rows (which can be zero)
+and the second value is the number of columns. The number of parameters
+is the number of columns minus 2.
+.TP
+-
+Starting from the second row, there are the rows of the context matrix,
+if any.  Each row, which represents a constraint of the form
+.B "c1*p1 + ... + cn*pn + c0 =/>= 0",
+contains:
+the value 0 if the constraint is an equality, 1 if it is an inequality;
+the coefficients of the parameters
+.B "c1, ..., cn";
+the constant term
+.B "c0".
+For example, the inequality constraint on two parameters
+.B "p1 + 2*p2 - 1 >= 0"
+is encoded by the row
+.B "1 1 2 -1".
+.TP
+-
+The following row contains the parameter number for the so-called
+.IR "big parameter".
+If no big parameter is used, the value is -1.
+.TP
+-
+The following rows encode the problem inequality matrix.
+As for the context matrix, the first two values are the dimensions of the
+matrix. The number of variables is the number of columns in the matrix
+minus the number of parameters minus 2.
+Each row, which represents a constraint of the form
+.B "d1*v1 + ... + dm*vm + c1*p1 + ... + cn*pn + c0 =/>= 0",
+contains:
+the value 0 if the constraint is an equality, 1 if it is an inequality;
+the coefficients of the variables
+.B "d1, ..., dm";
+the coefficients of the parameters
+.B "c1, ..., cn";
+the constant term
+.B "c0".
+.sp
+The PipLib format is described in Section 2.2 of
+.IR "PIP/PipLib: A Solver for Parametric Integer Programming Problems"
+(see below).
+.SH AUTHOR
+See the file \fBCREDITS\fR in the source distribution or use the command
+\fBppl\-config \-\-credits\fR for a list of contributors.
+.SH "REPORTING BUGS"
+Report bugs to <ppl\-devel at cs.unipr.it>.
+.SH COPYRIGHT
+Copyright (C) 2001\-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+.br
+This is free software; see the file \fBCOPYING\fR in the source
+distribution or use the command \fBppl\-config \-\-copying\fR to
+obtain the copying conditions.  There is NO warranty; not even for
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+.SH "SEE ALSO"
+.BR ppl-config(1)
+.sp
+Paul Feautrier.
+.IR "Parametric Integer Programming".
+RAIRO Recherche Operationnelle, 22(3):243-268, 1988.
+.sp
+Paul Feautrier, Jean-Francois Collard, and Cedric Bastoul.
+.IR "PIP/PipLib: A Solver for Parametric Integer Programming Problems",
+5.0 edition, July 2007.
+Distributed with PIP/PipLib 1.4.0.
diff --git a/demos/ppl_pips/ppl_pips.cc b/demos/ppl_pips/ppl_pips.cc
new file mode 100644
index 0000000..46a4fe9
--- /dev/null
+++ b/demos/ppl_pips/ppl_pips.cc
@@ -0,0 +1,838 @@
+/* A sort of clone of the cddlib test program `lcdd'.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+//#define USE_PIPLIB 1
+
+#if (!defined(USE_PPL) && !defined(USE_PIPLIB))
+#define USE_PPL 1
+#elif (defined(USE_PPL) && defined(USE_PIPLIB))
+#error "Exactly one among USE_PPL and USE_PIPLIB must be defined."
+#endif
+
+#if defined(USE_PPL)
+
+#include "ppl.hh"
+
+namespace PPL = Parma_Polyhedra_Library;
+
+#if PPL_VERSION_MAJOR == 0 && PPL_VERSION_MINOR < 11
+#error "PPL version 0.11 or following is required"
+#endif
+
+typedef PPL::C_Polyhedron POLYHEDRON_TYPE;
+
+#if !PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK
+extern "C" void
+ppl_set_GMP_memory_allocation_functions(void) {
+}
+#endif
+
+#elif defined(USE_PIPLIB)
+
+#error "PipLib not supported yet"
+
+#endif
+
+#include "timings.hh"
+#include <gmpxx.h>
+#include <vector>
+#include <set>
+#include <limits>
+#include <cassert>
+#include <cstdarg>
+#include <csignal>
+#include <cerrno>
+#include <cstring>
+#include <cstdio>
+#include <cstdlib>
+#include <iostream>
+#include <fstream>
+#include <sstream>
+#include <stdexcept>
+#include <memory>
+
+#ifdef PPL_HAVE_GETOPT_H
+#include <getopt.h>
+
+// Try to accommodate non-GNU implementations of `getopt()'.
+#if !defined(no_argument) && defined(NO_ARG)
+#define no_argument NO_ARG
+#endif
+
+#if !defined(required_argument) && defined(REQUIRED_ARG)
+#define required_argument REQUIRED_ARG
+#endif
+
+#if !defined(optional_argument) && defined(OPTIONAL_ARG)
+#define optional_argument OPTIONAL_ARG
+#endif
+
+#endif // defined(PPL_HAVE_GETOPT_H)
+
+#ifdef PPL_HAVE_UNISTD_H
+// Include this for `getopt()': especially important if we do not have
+// <getopt.h>.
+# include <unistd.h>
+#endif
+
+#ifdef PPL_HAVE_SYS_TIME_H
+# include <sys/time.h>
+#endif
+
+#ifdef PPL_HAVE_SYS_RESOURCE_H
+// This should be included after <time.h> and <sys/time.h> so as to make
+// sure we have the definitions for, e.g., `ru_utime'.
+# include <sys/resource.h>
+#endif
+
+namespace {
+
+PPL::PIP_Problem::Control_Parameter_Value cutting_strategy
+  = PPL::PIP_Problem::CUTTING_STRATEGY_FIRST;
+
+PPL::PIP_Problem::Control_Parameter_Value pivot_row_strategy
+    = PPL::PIP_Problem::PIVOT_ROW_STRATEGY_FIRST;
+
+int loop_iterations = 1;
+
+void
+pip_display_sol(std::ostream& out,
+                const Parma_Polyhedra_Library::PIP_Tree pip,
+                const Parma_Polyhedra_Library::Variables_Set& parameters,
+                const Parma_Polyhedra_Library::Variables_Set& vars,
+                Parma_Polyhedra_Library::dimension_type space_dimension,
+                int indent = 0) {
+  using namespace std;
+  using namespace Parma_Polyhedra_Library::IO_Operators;
+  if (!pip) {
+    out << setw(indent*2) << "" << "_|_" << endl;
+  }
+  else {
+    for (PIP_Tree_Node::Artificial_Parameter_Sequence::const_iterator
+           i = pip->art_parameter_begin(),
+           i_end = pip->art_parameter_end();
+         i != i_end;
+         ++i) {
+      out << setw(indent*2) << "" << "Parameter "
+          << Linear_Expression(Variable(space_dimension++))
+          << " = " << *i << endl;
+    }
+    const Constraint_System &constraints = pip->constraints();
+    bool constraints_empty = constraints.empty();
+    if (!constraints_empty) {
+      out << setw(indent*2) << "" << "if ";
+      for (Constraint_System::const_iterator
+             cs_begin = constraints.begin(),
+             cs_end = constraints.end(),
+             i = cs_begin; i != cs_end; ++i)
+        out << ((i == cs_begin) ? "" : " and ") << *i;
+      out << " then" << endl;
+    }
+    const PIP_Decision_Node* dn = pip->as_decision();
+    if (dn) {
+      pip_display_sol(out, dn->child_node(true), parameters, vars,
+                      space_dimension, indent+1);
+      out << setw(indent*2) << "" << "else" << endl;
+      pip_display_sol(out, dn->child_node(false), parameters, vars,
+                      space_dimension, indent+1);
+    }
+    else {
+      const PIP_Solution_Node* sn = pip->as_solution();
+      out << setw(indent*2 + (constraints_empty ? 0 : 2)) << "" << "{";
+      for (Variables_Set::const_iterator
+             v_begin = vars.begin(),
+             v_end = vars.end(),
+             i = v_begin; i != v_end; ++i)
+        out << ((i == v_begin) ? "" : " ; ")
+            << sn->parametric_values(Variable(*i));
+      out << "}" << endl;
+      if (!constraints_empty) {
+        out << setw(indent*2) << "" << "else" << endl;
+        out << setw(indent*2+2) << "" << "_|_" << endl;
+      }
+    }
+  }
+}
+
+class PIP_Parser {
+public:
+  PIP_Parser() : pip() {
+    pip.set_control_parameter(cutting_strategy);
+    pip.set_control_parameter(pivot_row_strategy);
+  }
+
+  virtual ~PIP_Parser() {
+  }
+
+  const PPL::PIP_Problem& problem() const {
+    return pip;
+  }
+
+  virtual bool read(std::istream& in) = 0;
+
+  // output the solution in PipLib-like format
+  /* void output_solution_piplib(std::ostream& out) {
+    const PPL::Variables_Set& params = pip.parameter_space_dimensions();
+    PPL::Variables_Set vars;
+    for (PPL::dimension_type i = 0; i < pip.space_dimension(); ++i) {
+      if (params.count(i) == 0)
+        vars.insert(i);
+    }
+    const PPL::PIP_Tree solution = pip.solution();
+    out << "((" << comment << ")\n(";
+    pip_disp_sol_mat(out, solution, params, vars, pip.space_dimension());
+    out << "))" << std::endl;
+  } */
+
+  // output the solution in "if-then-else" format
+  void output_solution_tree(std::ostream& out) {
+    const PPL::Variables_Set& params = pip.parameter_space_dimensions();
+    PPL::Variables_Set vars;
+    for (PPL::dimension_type i = 0; i < pip.space_dimension(); ++i) {
+      if (params.count(i) == 0)
+        vars.insert(i);
+    }
+    const PPL::PIP_Tree solution = pip.solution();
+    pip_display_sol(out, solution, params, vars, pip.space_dimension());
+  }
+
+  typedef std::vector<PPL::Coefficient> Coeff_Vector;
+  typedef std::vector<int> Int_Vector;
+
+  bool update_pip(PPL::dimension_type num_vars,
+                  PPL::dimension_type num_params,
+                  PPL::dimension_type num_constraints,
+                  PPL::dimension_type num_ctx_rows,
+                  const Coeff_Vector& constraints,
+                  const Coeff_Vector& context,
+                  const Int_Vector& constraint_type,
+                  const Int_Vector& ctx_type,
+                  PPL::dimension_type bignum_column) {
+    pip.add_space_dimensions_and_embed(num_vars, num_params);
+    for (PPL::dimension_type k = 0, i = 0; i < num_constraints; ++i) {
+      PPL::Linear_Expression expr;
+      for (PPL::dimension_type j = 0; j < num_vars + num_params; ++j)
+        add_mul_assign(expr, constraints[k++], PPL::Variable(j));
+      expr += constraints[k++];
+      if (constraint_type[i])
+        pip.add_constraint(PPL::Constraint(expr >= 0));
+      else
+        pip.add_constraint(PPL::Constraint(expr == 0));
+    }
+    if (num_params > 0) {
+      for (PPL::dimension_type k = 0, i = 0; i < num_ctx_rows; ++i) {
+        PPL::Linear_Expression expr;
+        for (PPL::dimension_type j = 0; j < num_params; ++j)
+          add_mul_assign(expr, context[k++], PPL::Variable(num_vars+j));
+        expr += context[k++];
+        if (ctx_type[i])
+          pip.add_constraint(PPL::Constraint(expr >= 0));
+        else
+          pip.add_constraint(PPL::Constraint(expr == 0));
+      }
+    }
+    if (bignum_column != PPL::not_a_dimension())
+      pip.set_big_parameter_dimension(bignum_column);
+    return true;
+  }
+
+protected:
+  // The problem object
+  PPL::PIP_Problem pip;
+}; // class PIP_Parser
+
+class PIP_PolyLib_Parser : public PIP_Parser {
+public:
+  PIP_PolyLib_Parser(): PIP_Parser() {
+  }
+
+  bool read(std::istream& in) {
+    std::string line;
+
+    PPL::dimension_type num_ctx_rows;
+    PPL::dimension_type num_params;
+    getline_nocomment(in, line);
+    {
+      std::istringstream sin(line);
+      sin >> num_ctx_rows >> num_params;
+    }
+    PPL_ASSERT(num_params >= 2);
+    num_params -= 2;
+
+    Coeff_Vector context(num_ctx_rows * (1+num_params));
+    Int_Vector ctx_type(num_ctx_rows);
+    for (PPL::dimension_type i = 0; i < num_ctx_rows; ++i) {
+      getline_nocomment(in, line);
+      std::istringstream sin(line);
+      sin >> ctx_type[i];
+      for (PPL::dimension_type j = 0; j <= num_params; ++j) {
+        sin >> context[i * num_ctx_rows + j];
+      }
+    }
+
+    int bignum_column_coding;
+    getline_nocomment(in, line);
+    {
+      std::istringstream sin(line);
+      sin >> bignum_column_coding;
+    }
+
+    PPL::dimension_type num_constraints;
+    PPL::dimension_type constraint_width;
+    PPL::dimension_type num_vars;
+    getline_nocomment(in, line);
+    {
+      std::istringstream sin(line);
+      sin >> num_constraints >> constraint_width;
+    }
+    constraint_width -= 1;
+    num_vars = constraint_width - num_params - 1;
+
+    Coeff_Vector constraints(num_constraints * constraint_width);
+    Int_Vector constraint_type(num_constraints);
+    for (PPL::dimension_type i = 0; i < num_constraints; ++i) {
+      getline_nocomment(in, line);
+      std::istringstream sin(line);
+      sin >> constraint_type[i];
+      for (PPL::dimension_type j = 0; j < constraint_width; ++j) {
+        sin >> constraints[i * constraint_width + j];
+      }
+    }
+
+    PPL::dimension_type bignum_column = (bignum_column_coding == -1)
+      ? PPL::not_a_dimension()
+      : (bignum_column_coding + num_vars - 1);
+
+    bool result = update_pip(num_vars, num_params,
+                             num_constraints, num_ctx_rows,
+                             constraints, context,
+                             constraint_type, ctx_type,
+                             bignum_column);
+    return result;
+  }
+
+protected:
+  static void getline_nocomment(std::istream& in, std::string& s) {
+    do {
+      getline(in, s);
+    } while (s.size() == 0 || s[0] == '\r' || s[0] == '#');
+  }
+}; // class PIP_PolyLib_Parser
+
+class PIP_PipLib_Parser : public PIP_Parser {
+public:
+  PIP_PipLib_Parser()
+    : PIP_Parser(), comment() {
+  }
+
+  bool read(std::istream& in) {
+    if (!expect(in, '('))
+      return false;
+    if (!expect(in, '('))
+      return false;
+    if (!read_comment(in))
+      return false;
+
+    PPL::dimension_type num_vars;
+    PPL::dimension_type num_params;
+    in >> num_vars >> num_params;
+
+    PPL::dimension_type num_constraints;
+    PPL::dimension_type num_ctx_rows;
+    in >> num_constraints >> num_ctx_rows;
+
+    int bignum_column_coding;
+    in >> bignum_column_coding;
+    PPL::dimension_type bignum_column = (bignum_column_coding == -1)
+      ? PPL::not_a_dimension()
+      : (bignum_column_coding - 1);
+
+    int solve_integer;
+    in >> solve_integer;
+    if (solve_integer != 1) {
+      std::cerr << "Can only solve integer problems." << std::endl;
+      return false;
+    }
+
+    if (!expect(in, '('))
+      return false;
+    PPL::dimension_type constraint_width = num_vars+num_params+1;
+    Coeff_Vector constraints(num_constraints * constraint_width);
+    Int_Vector constraint_type(num_constraints);
+    for (PPL::dimension_type i = 0; i < num_constraints; ++i)
+      constraint_type[i] = 1;
+    for (PPL::dimension_type i = 0; i < num_constraints; ++i)
+      if (!read_vector(in, i, constraint_width, num_vars, constraints))
+        return false;
+
+    Coeff_Vector context(num_ctx_rows * (1+num_params));
+    Int_Vector ctx_type(num_ctx_rows);
+    for (PPL::dimension_type i = 0; i < num_ctx_rows; ++i)
+      ctx_type[i] = 1;
+    for (PPL::dimension_type i = 0; i < num_ctx_rows; ++i)
+      if (!read_vector(in, i, num_params+1, num_params, context))
+        return false;
+
+    bool result = update_pip(num_vars, num_params,
+                             num_constraints, num_ctx_rows,
+                             constraints, context,
+                             constraint_type, ctx_type,
+                             bignum_column);
+    return result;
+  }
+
+protected:
+  bool read_comment(std::istream& in) {
+    comment = "";
+    int count = 1;
+    char c;
+    do {
+      if (!in.get(c))
+        return false;
+      if (c == '(')
+        ++count;
+      else if (c == ')')
+        --count;
+      if (count > 0)
+        comment += c;
+    } while (count > 0);
+    return true;
+  }
+
+  static bool expect(std::istream& in, char c) {
+    char a;
+    do {
+      in >> a;
+    } while (a != c && in.good());
+    return a == c;
+  }
+
+  static bool read_vector(std::istream& in,
+                          PPL::dimension_type row_index,
+                          PPL::dimension_type row_size,
+                          PPL::dimension_type cst_col,
+                          Coeff_Vector& tab) {
+    if (!expect(in, '#'))
+      return false;
+    if (!expect(in, '['))
+      return false;
+    std::string s;
+    if (getline(in, s, ']').bad())
+      return false;
+    std::istringstream iss(s);
+    PPL::dimension_type start_index = row_index * row_size;
+    PPL::dimension_type k = start_index;
+    for (PPL::dimension_type i = 0; i < cst_col; ++i)
+      if (!(iss >> tab[k++]))
+        return false;
+    if (!(iss >> tab[start_index + row_size - 1]))
+      return false;
+    for (PPL::dimension_type i = cst_col + 1; i < row_size; ++i)
+      if (!(iss >> tab[k++]))
+        return false;
+    return true;
+  }
+
+  // The comment string in the source file
+  std::string comment;
+}; // class PIP_PipLib_Parser
+
+#ifdef PPL_HAVE_GETOPT_H
+struct option long_options[] = {
+  {"max-cpu",        required_argument, 0, 'C'},
+  {"max-memory",     required_argument, 0, 'R'},
+  {"help",           no_argument,       0, 'h'},
+  {"output",         required_argument, 0, 'o'},
+  {"polylib",        no_argument,       0, 'P'},
+  {"piplib",         no_argument,       0, 'p'},
+  {"timings",        no_argument,       0, 't'},
+  {"verbose",        no_argument,       0, 'v'},
+  {"iterations",     required_argument, 0, 'i'},
+#if defined(USE_PPL)
+  {"version",        no_argument,       0, 'V'},
+  {"check",          required_argument, 0, 'c'},
+#endif
+  {"cut-first",      no_argument,       0, 'f'},
+  {"cut-deepest",    no_argument,       0, 'd'},
+  {"cut-all",        no_argument,       0, 'a'},
+  {"row-first",      no_argument,       0, 'F'},
+  {"row-max",        no_argument,       0, 'M'},
+  {0, 0, 0, 0}
+};
+#endif
+
+static const char* usage_string
+= "Usage: %s [OPTION]... [FILE]\n"
+"Reads the definition of a Parametric Integer Programming problem\n"
+"and displays the lexicographic minimum in terms of the values of the\n"
+"parameters.\n\n"
+"Options:\n"
+"  -RMB, --max-memory=MB   limits memory usage to MB megabytes\n"
+"  -h, --help              prints this help text to stdout\n"
+"  -oPATH, --output=PATH   appends output to PATH\n"
+"  -P, --polylib           reads problem in PolyLib format (default)\n"
+"  -p, --piplib            reads problem in PipLib format\n"
+"  -t, --timings           prints timings to stderr\n"
+"  -v, --verbose           produces lots of output\n"
+"  -i, --iterations=N      executes the resolution N times (default=1)\n"
+#if defined(USE_PPL)
+"  -V, --version           prints version information to stdout\n"
+"  -cPATH, --check=PATH    checks if the result is equal to what is in PATH\n"
+#endif
+"\nCut generation options:\n"
+"  -f, --cut-first         uses the first non-integer row (default)\n"
+"  -d, --cut-deepest       tries to generate the deepest cut\n"
+"  -a, --cut-all           always generates all possible cuts\n"
+"\nPivot row strategy options:\n"
+"  -F, --row-first         uses the first row with negative parameter (default)\n"
+"  -M, --row-max           chooses row generating the lexico-maximal pivot column\n"
+#ifndef PPL_HAVE_GETOPT_H
+"\n"
+"NOTE: this version does not support long options.\n"
+#endif
+"\n"
+"Report bugs to <ppl-devel at cs.unipr.it>.\n";
+
+#if defined(USE_PPL)
+#define OPTION_LETTERS "R:ho:Pptvi:Vc:fdaFM"
+#else
+#define OPTION_LETTERS "R:ho:Pptvi:fdaFM"
+#endif
+
+const char* program_name = 0;
+
+unsigned long max_bytes_of_virtual_memory = 0;
+bool print_timings = false;
+bool verbose = false;
+const char* check_file_name = 0;
+
+void
+fatal(const char* format, ...) {
+  va_list ap;
+  va_start(ap, format);
+  fprintf(stderr, "%s: ", program_name);
+  vfprintf(stderr, format, ap);
+  fprintf(stderr, "\n");
+  va_end(ap);
+  exit(1);
+}
+
+const char* input_file_name = 0;
+std::istream* input_stream_p = 0;
+
+void
+set_input(const char* file_name) {
+  if (input_stream_p && *input_stream_p != std::cin)
+    delete input_stream_p;
+
+  if (file_name) {
+    input_stream_p = new std::ifstream(file_name, std::ios_base::in);
+    if (!*input_stream_p)
+      fatal("cannot open input file `%s'", file_name);
+    input_file_name = file_name;
+  }
+  else {
+    input_stream_p = &std::cin;
+    input_file_name = "<cin>";
+  }
+}
+
+std::istream&
+input() {
+  assert(input_stream_p);
+  return *input_stream_p;
+}
+
+const char* output_file_name = 0;
+std::ostream* output_stream_p = 0;
+
+void
+set_output(const char* file_name) {
+  if (output_stream_p && *output_stream_p != std::cout)
+    delete output_stream_p;
+
+  if (file_name) {
+    output_stream_p = new std::ofstream(file_name,
+					std::ios_base::out
+					| std::ios_base::app);
+    if (!*output_stream_p)
+      fatal("cannot open output file `%s'", file_name);
+    output_file_name = file_name;
+  }
+  else {
+    output_stream_p = &std::cout;
+    output_file_name = "<cout>";
+  }
+}
+
+std::ostream&
+output() {
+  assert(output_stream_p);
+  return *output_stream_p;
+}
+
+bool piplib_format = false;
+
+} // namespace
+
+void
+error(const char* format, ...) {
+  va_list ap;
+  va_start(ap, format);
+  fprintf(stderr, "%s: in `%s': ", program_name, input_file_name);
+  vfprintf(stderr, format, ap);
+  fprintf(stderr, "\n");
+  va_end(ap);
+  exit(1);
+}
+
+void
+warning(const char* format, ...) {
+  va_list ap;
+  va_start(ap, format);
+  fprintf(stderr, "%s: Warning: in `%s': ", program_name, input_file_name);
+  vfprintf(stderr, format, ap);
+  fprintf(stderr, "\n");
+  va_end(ap);
+}
+
+#if PPL_HAVE_DECL_RLIMIT_AS
+
+void
+limit_virtual_memory(const unsigned bytes) {
+  struct rlimit t;
+
+  if (getrlimit(RLIMIT_AS, &t) != 0)
+    fatal("getrlimit failed: %s", strerror(errno));
+
+  if (bytes < t.rlim_cur) {
+    t.rlim_cur = bytes;
+    if (setrlimit(RLIMIT_AS, &t) != 0)
+      fatal("setrlimit failed: %s", strerror(errno));
+  }
+}
+
+#else
+
+void
+limit_virtual_memory(unsigned) {
+}
+
+#endif // !PPL_HAVE_DECL_RLIMIT_AS
+
+void
+process_options(int argc, char* argv[]) {
+  while (true) {
+#ifdef PPL_HAVE_GETOPT_H
+    int option_index = 0;
+    int c = getopt_long(argc, argv, OPTION_LETTERS, long_options,
+			&option_index);
+#else
+    int c = getopt(argc, argv, OPTION_LETTERS);
+#endif
+
+    if (c == EOF)
+      break;
+
+    char* endptr;
+    long l;
+    switch (c) {
+    case 0:
+      break;
+
+    case '?':
+    case 'h':
+      fprintf(stdout, usage_string, argv[0]);
+      exit(0);
+      break;
+
+    case 'R':
+      l = strtol(optarg, &endptr, 10);
+      if (*endptr || l < 0)
+	fatal("a non-negative integer must follow `-R'");
+      else
+	max_bytes_of_virtual_memory = l*1024*1024;
+      break;
+
+    case 'o':
+      output_file_name = optarg;
+      break;
+
+    case 'P':
+      piplib_format = false;
+      break;
+
+    case 'p':
+      piplib_format = true;
+      break;
+
+    case 't':
+      print_timings = true;
+      break;
+
+    case 'v':
+      verbose = true;
+      break;
+
+    case 'i':
+      loop_iterations = strtol(optarg, &endptr, 10);
+      if (*endptr || loop_iterations < 1)
+	fatal("a positive integer must follow `-i'");
+      break;
+
+#if defined(USE_PPL)
+
+    case 'V':
+      fprintf(stdout, "%s\n", PPL_VERSION);
+      exit(0);
+      break;
+
+    case 'c':
+      check_file_name = optarg;
+      break;
+
+#endif
+
+    case 'f':
+      cutting_strategy = PPL::PIP_Problem::CUTTING_STRATEGY_FIRST;
+      break;
+
+    case 'd':
+      cutting_strategy = PPL::PIP_Problem::CUTTING_STRATEGY_DEEPEST;
+      break;
+
+    case 'a':
+      cutting_strategy = PPL::PIP_Problem::CUTTING_STRATEGY_ALL;
+      break;
+
+    case 'F':
+      pivot_row_strategy = PPL::PIP_Problem::PIVOT_ROW_STRATEGY_FIRST;
+      break;
+
+    case 'M':
+      pivot_row_strategy = PPL::PIP_Problem::PIVOT_ROW_STRATEGY_MAX_COLUMN;
+      break;
+
+    default:
+      abort();
+    }
+  }
+
+  if (argc - optind > 1)
+    // We have multiple input files.
+    fatal("at most one input file is accepted");
+
+  // We have one input files.
+  if (optind < argc)
+    input_file_name = argv[optind];
+  else
+    // If no input files have been specified: we will read from standard input.
+    assert(input_file_name == 0);
+}
+
+void
+maybe_start_clock() {
+  if (print_timings)
+    start_clock();
+}
+
+void
+maybe_print_clock() {
+  if (print_timings) {
+    std::cerr << input_file_name << " ";
+    print_clock(std::cerr);
+    std::cerr << std::endl;
+  }
+}
+
+int
+main(int argc, char* argv[]) try {
+  program_name = argv[0];
+
+#if defined(USE_PPL)
+  if (strcmp(PPL_VERSION, PPL::version()) != 0)
+    fatal("was compiled with PPL version %s, but linked with version %s",
+	  PPL_VERSION, PPL::version());
+
+  if (verbose)
+    std::cerr << "Parma Polyhedra Library version:\n" << PPL::version()
+	      << "\n\nParma Polyhedra Library banner:\n" << PPL::banner()
+	      << std::endl;
+#endif
+
+  // Process command line options.
+  process_options(argc, argv);
+
+  if (max_bytes_of_virtual_memory > 0)
+    limit_virtual_memory(max_bytes_of_virtual_memory);
+
+  // Set up the input and output streams.
+  set_input(input_file_name);
+  set_output(output_file_name);
+
+//  POLYHEDRON_TYPE ph;
+//  Representation rep = read_polyhedron(input(), ph);
+  std::auto_ptr<PIP_Parser> parser;
+  if (piplib_format)
+    parser.reset(new PIP_PipLib_Parser);
+  else
+    parser.reset(new PIP_PolyLib_Parser);
+  if (!parser->read(*input_stream_p))
+    return 1;
+
+  maybe_start_clock();
+
+  const PPL::PIP_Problem& pip = parser->problem();
+
+  if (loop_iterations == 1) {
+    // Compute the dual simplex on the problem.
+    pip.solve();
+    // Write the solution.
+    parser->output_solution_tree(*output_stream_p);
+  }
+  else {
+    std::auto_ptr<PPL::PIP_Problem> pipp;
+    // Perform a time benchmark loop executing the resolution several times.
+    for (int i = 0; i < loop_iterations; ++i) {
+      pipp.reset(new PPL::PIP_Problem(pip));
+      pipp->solve();
+    }
+  }
+
+#if defined(USE_PPL) || defined(USE_PIPLIB)
+  maybe_print_clock();
+#endif
+
+  return 0;
+}
+catch (const std::bad_alloc&) {
+  fatal("out of memory");
+  exit(1);
+}
+catch (const std::overflow_error& e) {
+  fatal("arithmetic overflow (%s)", e.what());
+  exit(1);
+}
+catch (...) {
+  fatal("internal error: please submit a bug report to ppl-devel at cs.unipr.it");
+  exit(1);
+}
diff --git a/depcomp b/depcomp
index e5f9736..df8eea7 100755
--- a/depcomp
+++ b/depcomp
@@ -1,10 +1,10 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2007-03-29.01
+scriptversion=2009-04-28.21; # UTC
 
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software
-# Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
+# Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -17,9 +17,7 @@ scriptversion=2007-03-29.01
 # GNU General Public License for more details.
 
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -87,6 +85,15 @@ if test "$depmode" = dashXmstdout; then
    depmode=dashmstdout
 fi
 
+cygpath_u="cygpath -u -f -"
+if test "$depmode" = msvcmsys; then
+   # This is just like msvisualcpp but w/o cygpath translation.
+   # Just convert the backslash-escaped backslashes to single forward
+   # slashes to satisfy depend.m4
+   cygpath_u="sed s,\\\\\\\\,/,g"
+   depmode=msvisualcpp
+fi
+
 case "$depmode" in
 gcc3)
 ## gcc 3 implements dependency tracking that does exactly what
@@ -192,14 +199,14 @@ sgi)
 ' < "$tmpdepfile" \
     | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
     tr '
-' ' ' >> $depfile
-    echo >> $depfile
+' ' ' >> "$depfile"
+    echo >> "$depfile"
 
     # The second pass generates a dummy entry for each header file.
     tr ' ' '
 ' < "$tmpdepfile" \
    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
-   >> $depfile
+   >> "$depfile"
   else
     # The sourcefile does not contain any dependencies, so just
     # store a dummy comment line, to avoid errors with the Makefile
@@ -328,7 +335,12 @@ hp2)
   if test -f "$tmpdepfile"; then
     sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
     # Add `dependent.h:' lines.
-    sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
+    sed -ne '2,${
+	       s/^ *//
+	       s/ \\*$//
+	       s/$/:/
+	       p
+	     }' "$tmpdepfile" >> "$depfile"
   else
     echo "#dummy" > "$depfile"
   fi
@@ -404,7 +416,7 @@ dashmstdout)
 
   # Remove the call to Libtool.
   if test "$libtool" = yes; then
-    while test $1 != '--mode=compile'; do
+    while test "X$1" != 'X--mode=compile'; do
       shift
     done
     shift
@@ -455,32 +467,39 @@ makedepend)
   "$@" || exit $?
   # Remove any Libtool call
   if test "$libtool" = yes; then
-    while test $1 != '--mode=compile'; do
+    while test "X$1" != 'X--mode=compile'; do
       shift
     done
     shift
   fi
   # X makedepend
   shift
-  cleared=no
-  for arg in "$@"; do
+  cleared=no eat=no
+  for arg
+  do
     case $cleared in
     no)
       set ""; shift
       cleared=yes ;;
     esac
+    if test $eat = yes; then
+      eat=no
+      continue
+    fi
     case "$arg" in
     -D*|-I*)
       set fnord "$@" "$arg"; shift ;;
     # Strip any option that makedepend may not understand.  Remove
     # the object too, otherwise makedepend will parse it as a source file.
+    -arch)
+      eat=yes ;;
     -*|$object)
       ;;
     *)
       set fnord "$@" "$arg"; shift ;;
     esac
   done
-  obj_suffix="`echo $object | sed 's/^.*\././'`"
+  obj_suffix=`echo "$object" | sed 's/^.*\././'`
   touch "$tmpdepfile"
   ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
   rm -f "$depfile"
@@ -500,7 +519,7 @@ cpp)
 
   # Remove the call to Libtool.
   if test "$libtool" = yes; then
-    while test $1 != '--mode=compile'; do
+    while test "X$1" != 'X--mode=compile'; do
       shift
     done
     shift
@@ -538,13 +557,27 @@ cpp)
 
 msvisualcpp)
   # Important note: in order to support this mode, a compiler *must*
-  # always write the preprocessed file to stdout, regardless of -o,
-  # because we must use -o when running libtool.
+  # always write the preprocessed file to stdout.
   "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test "X$1" != 'X--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
   IFS=" "
   for arg
   do
     case "$arg" in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
     "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
 	set fnord "$@"
 	shift
@@ -557,16 +590,23 @@ msvisualcpp)
 	;;
     esac
   done
-  "$@" -E |
-  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
+  "$@" -E 2>/dev/null |
+  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
-  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::	\1 \\:p' >> "$depfile"
+  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::	\1 \\:p' >> "$depfile"
   echo "	" >> "$depfile"
-  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
+msvcmsys)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
 none)
   exec "$@"
   ;;
@@ -585,5 +625,6 @@ exit 0
 # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
 # End:
diff --git a/doc/Makefile.am b/doc/Makefile.am
index ab02148..778c960 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -1058,7 +1058,7 @@ $(USER_OCAML_INTERFACE_STUFF)
 	  -e 's|<PPL_SED_INPUT>|'"$(SED_OCAML_INPUT_USER)"'|' \
 	  $<  > Doxyfile.user-ocaml-interface-latex
 	$(TEX_ENV) $(DOXYGEN) Doxyfile.user-ocaml-interface-latex
-	ocamldoc $(OCAMLDOC_LATEX_OPTIONS) -o $@/ocamldoc.tex \
+	$(OCAMLDOC) $(OCAMLDOC_LATEX_OPTIONS) -o $@/ocamldoc.tex \
 		$(srcdir)/../interfaces/OCaml/ppl_ocaml_globals.mli
 
 devref-ocaml-interface.latex-dir: \
@@ -1072,7 +1072,7 @@ $(DEVREF_OCAML_INTERFACE_STUFF)
 	  -e 's|<PPL_SED_INPUT>|'"$(SED_OCAML_INPUT_DEVREF)"'|' \
 	  $<  > Doxyfile.devref-ocaml-interface-latex
 	$(TEX_ENV) $(DOXYGEN) Doxyfile.devref-ocaml-interface-latex
-	ocamldoc $(OCAMLDOC_LATEX_OPTIONS) -o $@/ocamldoc.tex \
+	$(OCAMLDOC) $(OCAMLDOC_LATEX_OPTIONS) -o $@/ocamldoc.tex \
 		$(srcdir)/../interfaces/OCaml/ppl_ocaml_globals.mli
 
 ppl-user-ocaml-interface- at VERSION@.pdf: user-ocaml-interface.latex-dir
@@ -1095,7 +1095,7 @@ $(USER_OCAML_INTERFACE_STUFF) $(USER_CORE_HTML_DIR)
 	(cd $@; $(INSTALLDOX) \
 		-l $(USER_CORE_HTML_DIR).tag at ../$(USER_CORE_HTML_DIR))
 	mkdir $@/ocamldoc
-	ocamldoc $(OCAMLDOC_HTML_OPTIONS) -d $@/ocamldoc \
+	$(OCAMLDOC) $(OCAMLDOC_HTML_OPTIONS) -d $@/ocamldoc \
 		$(srcdir)/../interfaces/OCaml/ppl_ocaml_globals.mli
 
 ppl-devref-ocaml-interface- at VERSION@-html: \
@@ -1112,7 +1112,7 @@ $(DEVREF_OCAML_INTERFACE_STUFF) $(DEVREF_CORE_HTML_DIR)
 	(cd $@; $(INSTALLDOX) \
 		-l $(DEVREF_CORE_HTML_DIR).tag at ../$(DEVREF_CORE_HTML_DIR))
 	mkdir $@/ocamldoc
-	ocamldoc $(OCAMLDOC_HTML_OPTIONS) -d $@/ocamldoc \
+	$(OCAMLDOC) $(OCAMLDOC_HTML_OPTIONS) -d $@/ocamldoc \
 		$(srcdir)/../interfaces/OCaml/ppl_ocaml_globals.mli
 
 # Java Language Interface Targets
@@ -1392,7 +1392,7 @@ $(USER_CONFIGURED_OCAML_INTERFACE_STUFF)
 	  -e 's|<PPL_SED_INPUT>|'"$(SED_CONFIGURED_OCAML_INPUT_USER)"'|' \
 	  $<  > Doxyfile.user-configured-ocaml-interface-latex
 	$(TEX_ENV) $(DOXYGEN) Doxyfile.user-configured-ocaml-interface-latex
-	ocamldoc $(OCAMLDOC_LATEX_OPTIONS) -o $@/ocamldoc.tex \
+	$(OCAMLDOC) $(OCAMLDOC_LATEX_OPTIONS) -o $@/ocamldoc.tex \
 		../interfaces/OCaml/ppl_ocaml.mli
 
 devref-configured-ocaml-interface.latex-dir: \
@@ -1406,7 +1406,7 @@ $(DEVREF_CONFIGURED_OCAML_INTERFACE_STUFF)
 	  -e 's|<PPL_SED_INPUT>|'"$(SED_CONFIGURED_OCAML_INPUT_DEVREF)"'|' \
 	  $<  > Doxyfile.devref-configured-ocaml-interface-latex
 	$(TEX_ENV) $(DOXYGEN) Doxyfile.devref-configured-ocaml-interface-latex
-	ocamldoc $(OCAMLDOC_LATEX_OPTIONS) -o $@/ocamldoc.tex \
+	$(OCAMLDOC) $(OCAMLDOC_LATEX_OPTIONS) -o $@/ocamldoc.tex \
 		../interfaces/OCaml/ppl_ocaml.mli
 
 ppl-user-configured-ocaml-interface- at VERSION@.pdf: \
@@ -1431,7 +1431,7 @@ $(USER_CONFIGURED_OCAML_INTERFACE_STUFF) $(USER_CORE_HTML_DIR)
 	(cd $@; $(INSTALLDOX) \
 		-l $(USER_CORE_HTML_DIR).tag at ../$(USER_CORE_HTML_DIR))
 	mkdir $@/ocamldoc
-	ocamldoc $(OCAMLDOC_HTML_OPTIONS) -d $@/ocamldoc \
+	$(OCAMLDOC) $(OCAMLDOC_HTML_OPTIONS) -d $@/ocamldoc \
 		../interfaces/OCaml/ppl_ocaml.mli
 
 ppl-devref-configured-ocaml-interface- at VERSION@-html: \
@@ -1448,7 +1448,7 @@ $(DEVREF_CONFIGURED_OCAML_INTERFACE_STUFF) $(DEVREF_CORE_HTML_DIR)
 	(cd $@; $(INSTALLDOX) \
 		-l $(DEVREF_CORE_HTML_DIR).tag at ../$(DEVREF_CORE_HTML_DIR))
 	mkdir $@/ocamldoc
-	ocamldoc $(OCAMLDOC_HTML_OPTIONS) -d $@/ocamldoc \
+	$(OCAMLDOC) $(OCAMLDOC_HTML_OPTIONS) -d $@/ocamldoc \
 		../interfaces/OCaml/ppl_ocaml.mli
 
 endif BUILD_OCAML_INTERFACE
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 087bbbd..85a2e27 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -37,8 +38,9 @@
 # site: http://www.cs.unipr.it/ppl/ .
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -69,6 +71,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -90,7 +93,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -99,8 +102,36 @@ CONFIG_CLEAN_FILES = user.doxyconf-latex devref.doxyconf-latex \
 	user.doxyconf-html devref.doxyconf-html \
 	user-language-interface.doxyconf \
 	devref-language-interface.doxyconf
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
 man1dir = $(mandir)/man1
 am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)"
 man3dir = $(mandir)/man3
@@ -109,6 +140,7 @@ MANS = $(dist_man_MANS)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -155,6 +187,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -172,8 +206,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -181,6 +225,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -197,12 +242,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -247,11 +295,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = $(docdir)
 prefix = @prefix@
@@ -281,6 +327,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -288,6 +335,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 txtdir = $(docdir)
 DOXYGEN = doxygen
 INSTALLDOX = ./installdox -q
@@ -1091,14 +1139,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  doc/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  doc/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign doc/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -1116,6 +1164,7 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 user.doxyconf-latex: $(top_builddir)/config.status $(srcdir)/user.doxyconf-latex.in
 	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 devref.doxyconf-latex: $(top_builddir)/config.status $(srcdir)/devref.doxyconf-latex.in
@@ -1134,96 +1183,82 @@ mostlyclean-libtool:
 
 clean-libtool:
 	-rm -rf .libs _libs
-install-man1: $(man1_MANS) $(man_MANS)
+install-man1: $(dist_man_MANS)
 	@$(NORMAL_INSTALL)
 	test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
-	@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
-	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
-	for i in $$l2; do \
-	  case "$$i" in \
-	    *.1*) list="$$list $$i" ;; \
-	  esac; \
+	@list=''; test -n "$(man1dir)" || exit 0; \
+	{ for i in $$list; do echo "$$i"; done; \
+	l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+	  sed -n '/\.1[a-z]*$$/p'; \
+	} | while read p; do \
+	  if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; echo "$$p"; \
+	done | \
+	sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+	sed 'N;N;s,\n, ,g' | { \
+	list=; while read file base inst; do \
+	  if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+	    echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+	    $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+	  fi; \
 	done; \
-	for i in $$list; do \
-	  if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
-	  else file=$$i; fi; \
-	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \
-	  case "$$ext" in \
-	    1*) ;; \
-	    *) ext='1' ;; \
-	  esac; \
-	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
-	  inst=`echo $$inst | sed -e 's/^.*\///'`; \
-	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \
-	  echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
-	  $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
-	done
+	for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+	while read files; do \
+	  test -z "$$files" || { \
+	    echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+	    $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+	done; }
+
 uninstall-man1:
 	@$(NORMAL_UNINSTALL)
-	@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
-	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
-	for i in $$l2; do \
-	  case "$$i" in \
-	    *.1*) list="$$list $$i" ;; \
-	  esac; \
-	done; \
-	for i in $$list; do \
-	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \
-	  case "$$ext" in \
-	    1*) ;; \
-	    *) ext='1' ;; \
-	  esac; \
-	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
-	  inst=`echo $$inst | sed -e 's/^.*\///'`; \
-	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \
-	  echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
-	  rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
-	done
-install-man3: $(man3_MANS) $(man_MANS)
+	@list=''; test -n "$(man1dir)" || exit 0; \
+	files=`{ for i in $$list; do echo "$$i"; done; \
+	l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+	  sed -n '/\.1[a-z]*$$/p'; \
+	} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+	test -z "$$files" || { \
+	  echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \
+	  cd "$(DESTDIR)$(man1dir)" && rm -f $$files; }
+install-man3: $(dist_man_MANS)
 	@$(NORMAL_INSTALL)
 	test -z "$(man3dir)" || $(MKDIR_P) "$(DESTDIR)$(man3dir)"
-	@list='$(man3_MANS) $(dist_man3_MANS) $(nodist_man3_MANS)'; \
-	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
-	for i in $$l2; do \
-	  case "$$i" in \
-	    *.3*) list="$$list $$i" ;; \
-	  esac; \
+	@list=''; test -n "$(man3dir)" || exit 0; \
+	{ for i in $$list; do echo "$$i"; done; \
+	l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+	  sed -n '/\.3[a-z]*$$/p'; \
+	} | while read p; do \
+	  if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; echo "$$p"; \
+	done | \
+	sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \
+	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+	sed 'N;N;s,\n, ,g' | { \
+	list=; while read file base inst; do \
+	  if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+	    echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \
+	    $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst" || exit $$?; \
+	  fi; \
 	done; \
-	for i in $$list; do \
-	  if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
-	  else file=$$i; fi; \
-	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \
-	  case "$$ext" in \
-	    3*) ;; \
-	    *) ext='3' ;; \
-	  esac; \
-	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
-	  inst=`echo $$inst | sed -e 's/^.*\///'`; \
-	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \
-	  echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \
-	  $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst"; \
-	done
+	for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+	while read files; do \
+	  test -z "$$files" || { \
+	    echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man3dir)'"; \
+	    $(INSTALL_DATA) $$files "$(DESTDIR)$(man3dir)" || exit $$?; }; \
+	done; }
+
 uninstall-man3:
 	@$(NORMAL_UNINSTALL)
-	@list='$(man3_MANS) $(dist_man3_MANS) $(nodist_man3_MANS)'; \
-	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
-	for i in $$l2; do \
-	  case "$$i" in \
-	    *.3*) list="$$list $$i" ;; \
-	  esac; \
-	done; \
-	for i in $$list; do \
-	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \
-	  case "$$ext" in \
-	    3*) ;; \
-	    *) ext='3' ;; \
-	  esac; \
-	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
-	  inst=`echo $$inst | sed -e 's/^.*\///'`; \
-	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \
-	  echo " rm -f '$(DESTDIR)$(man3dir)/$$inst'"; \
-	  rm -f "$(DESTDIR)$(man3dir)/$$inst"; \
-	done
+	@list=''; test -n "$(man3dir)" || exit 0; \
+	files=`{ for i in $$list; do echo "$$i"; done; \
+	l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+	  sed -n '/\.3[a-z]*$$/p'; \
+	} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \
+	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+	test -z "$$files" || { \
+	  echo " ( cd '$(DESTDIR)$(man3dir)' && rm -f" $$files ")"; \
+	  cd "$(DESTDIR)$(man3dir)" && rm -f $$files; }
 tags: TAGS
 TAGS:
 
@@ -1232,6 +1267,19 @@ CTAGS:
 
 
 distdir: $(DISTFILES)
+	@list='$(MANS)'; if test -n "$$list"; then \
+	  list=`for p in $$list; do \
+	    if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+	    if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
+	  if test -n "$$list" && \
+	    grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
+	    echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+	    grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
+	    echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
+	    echo "       typically \`make maintainer-clean' will remove them" >&2; \
+	    exit 1; \
+	  else :; fi; \
+	else :; fi
 	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
 	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
 	list='$(DISTFILES)'; \
@@ -1247,13 +1295,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -1285,6 +1337,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -1303,6 +1356,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -1311,12 +1366,22 @@ install-data-am: install-data-local install-man
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am:
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man: install-man1 install-man3
 
+install-pdf-am:
+
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -1710,7 +1775,7 @@ $(USER_OCAML_INTERFACE_STUFF)
 	  -e 's|<PPL_SED_INPUT>|'"$(SED_OCAML_INPUT_USER)"'|' \
 	  $<  > Doxyfile.user-ocaml-interface-latex
 	$(TEX_ENV) $(DOXYGEN) Doxyfile.user-ocaml-interface-latex
-	ocamldoc $(OCAMLDOC_LATEX_OPTIONS) -o $@/ocamldoc.tex \
+	$(OCAMLDOC) $(OCAMLDOC_LATEX_OPTIONS) -o $@/ocamldoc.tex \
 		$(srcdir)/../interfaces/OCaml/ppl_ocaml_globals.mli
 
 devref-ocaml-interface.latex-dir: \
@@ -1724,7 +1789,7 @@ $(DEVREF_OCAML_INTERFACE_STUFF)
 	  -e 's|<PPL_SED_INPUT>|'"$(SED_OCAML_INPUT_DEVREF)"'|' \
 	  $<  > Doxyfile.devref-ocaml-interface-latex
 	$(TEX_ENV) $(DOXYGEN) Doxyfile.devref-ocaml-interface-latex
-	ocamldoc $(OCAMLDOC_LATEX_OPTIONS) -o $@/ocamldoc.tex \
+	$(OCAMLDOC) $(OCAMLDOC_LATEX_OPTIONS) -o $@/ocamldoc.tex \
 		$(srcdir)/../interfaces/OCaml/ppl_ocaml_globals.mli
 
 ppl-user-ocaml-interface- at VERSION@.pdf: user-ocaml-interface.latex-dir
@@ -1747,7 +1812,7 @@ $(USER_OCAML_INTERFACE_STUFF) $(USER_CORE_HTML_DIR)
 	(cd $@; $(INSTALLDOX) \
 		-l $(USER_CORE_HTML_DIR).tag at ../$(USER_CORE_HTML_DIR))
 	mkdir $@/ocamldoc
-	ocamldoc $(OCAMLDOC_HTML_OPTIONS) -d $@/ocamldoc \
+	$(OCAMLDOC) $(OCAMLDOC_HTML_OPTIONS) -d $@/ocamldoc \
 		$(srcdir)/../interfaces/OCaml/ppl_ocaml_globals.mli
 
 ppl-devref-ocaml-interface- at VERSION@-html: \
@@ -1764,7 +1829,7 @@ $(DEVREF_OCAML_INTERFACE_STUFF) $(DEVREF_CORE_HTML_DIR)
 	(cd $@; $(INSTALLDOX) \
 		-l $(DEVREF_CORE_HTML_DIR).tag at ../$(DEVREF_CORE_HTML_DIR))
 	mkdir $@/ocamldoc
-	ocamldoc $(OCAMLDOC_HTML_OPTIONS) -d $@/ocamldoc \
+	$(OCAMLDOC) $(OCAMLDOC_HTML_OPTIONS) -d $@/ocamldoc \
 		$(srcdir)/../interfaces/OCaml/ppl_ocaml_globals.mli
 
 user-java-interface.latex-dir: \
@@ -1958,7 +2023,7 @@ $(DEVREF_JAVA_INTERFACE_STUFF) $(DEVREF_CORE_HTML_DIR)
 @BUILD_OCAML_INTERFACE_TRUE@	  -e 's|<PPL_SED_INPUT>|'"$(SED_CONFIGURED_OCAML_INPUT_USER)"'|' \
 @BUILD_OCAML_INTERFACE_TRUE@	  $<  > Doxyfile.user-configured-ocaml-interface-latex
 @BUILD_OCAML_INTERFACE_TRUE@	$(TEX_ENV) $(DOXYGEN) Doxyfile.user-configured-ocaml-interface-latex
- at BUILD_OCAML_INTERFACE_TRUE@	ocamldoc $(OCAMLDOC_LATEX_OPTIONS) -o $@/ocamldoc.tex \
+ at BUILD_OCAML_INTERFACE_TRUE@	$(OCAMLDOC) $(OCAMLDOC_LATEX_OPTIONS) -o $@/ocamldoc.tex \
 @BUILD_OCAML_INTERFACE_TRUE@		../interfaces/OCaml/ppl_ocaml.mli
 
 @BUILD_OCAML_INTERFACE_TRUE at devref-configured-ocaml-interface.latex-dir: \
@@ -1972,7 +2037,7 @@ $(DEVREF_JAVA_INTERFACE_STUFF) $(DEVREF_CORE_HTML_DIR)
 @BUILD_OCAML_INTERFACE_TRUE@	  -e 's|<PPL_SED_INPUT>|'"$(SED_CONFIGURED_OCAML_INPUT_DEVREF)"'|' \
 @BUILD_OCAML_INTERFACE_TRUE@	  $<  > Doxyfile.devref-configured-ocaml-interface-latex
 @BUILD_OCAML_INTERFACE_TRUE@	$(TEX_ENV) $(DOXYGEN) Doxyfile.devref-configured-ocaml-interface-latex
- at BUILD_OCAML_INTERFACE_TRUE@	ocamldoc $(OCAMLDOC_LATEX_OPTIONS) -o $@/ocamldoc.tex \
+ at BUILD_OCAML_INTERFACE_TRUE@	$(OCAMLDOC) $(OCAMLDOC_LATEX_OPTIONS) -o $@/ocamldoc.tex \
 @BUILD_OCAML_INTERFACE_TRUE@		../interfaces/OCaml/ppl_ocaml.mli
 
 @BUILD_OCAML_INTERFACE_TRUE at ppl-user-configured-ocaml-interface-@VERSION at .pdf: \
@@ -1997,7 +2062,7 @@ $(DEVREF_JAVA_INTERFACE_STUFF) $(DEVREF_CORE_HTML_DIR)
 @BUILD_OCAML_INTERFACE_TRUE@	(cd $@; $(INSTALLDOX) \
 @BUILD_OCAML_INTERFACE_TRUE@		-l $(USER_CORE_HTML_DIR).tag at ../$(USER_CORE_HTML_DIR))
 @BUILD_OCAML_INTERFACE_TRUE@	mkdir $@/ocamldoc
- at BUILD_OCAML_INTERFACE_TRUE@	ocamldoc $(OCAMLDOC_HTML_OPTIONS) -d $@/ocamldoc \
+ at BUILD_OCAML_INTERFACE_TRUE@	$(OCAMLDOC) $(OCAMLDOC_HTML_OPTIONS) -d $@/ocamldoc \
 @BUILD_OCAML_INTERFACE_TRUE@		../interfaces/OCaml/ppl_ocaml.mli
 
 @BUILD_OCAML_INTERFACE_TRUE at ppl-devref-configured-ocaml-interface-@VERSION at -html: \
@@ -2014,7 +2079,7 @@ $(DEVREF_JAVA_INTERFACE_STUFF) $(DEVREF_CORE_HTML_DIR)
 @BUILD_OCAML_INTERFACE_TRUE@	(cd $@; $(INSTALLDOX) \
 @BUILD_OCAML_INTERFACE_TRUE@		-l $(DEVREF_CORE_HTML_DIR).tag at ../$(DEVREF_CORE_HTML_DIR))
 @BUILD_OCAML_INTERFACE_TRUE@	mkdir $@/ocamldoc
- at BUILD_OCAML_INTERFACE_TRUE@	ocamldoc $(OCAMLDOC_HTML_OPTIONS) -d $@/ocamldoc \
+ at BUILD_OCAML_INTERFACE_TRUE@	$(OCAMLDOC) $(OCAMLDOC_HTML_OPTIONS) -d $@/ocamldoc \
 @BUILD_OCAML_INTERFACE_TRUE@		../interfaces/OCaml/ppl_ocaml.mli
 # FIXME add generated files
 
@@ -2145,6 +2210,7 @@ mostlyclean-local:
 
 ../src/ppl_include_files.hh:
 	$(MAKE) $(AM_MAKEFLAGS) -C ../src ppl_include_files.hh
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/doc/README.doc b/doc/README.doc
index 57f95ff..5604fc5 100644
--- a/doc/README.doc
+++ b/doc/README.doc
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 See below for the copying conditions.
 
 How To Get (More) PPL Documentation
@@ -133,7 +133,7 @@ command should be used to configure TeX system-wide).
 
 --------
 
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This document describes the Parma Polyhedra Library (PPL).
 
diff --git a/doc/definitions.dox b/doc/definitions.dox
index e493e03..b94d2e8 100644
--- a/doc/definitions.dox
+++ b/doc/definitions.dox
@@ -1,4 +1,4 @@
-//  Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+//  Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 //
 //  This document describes the Parma Polyhedra Library (PPL).
 //
@@ -71,7 +71,7 @@ The main features of the library are the following:
   GNU General Public License.
 
 In the following section we describe all the domains available to the PPL user.
-More detailed descriptions of these domains andthe operations provided
+More detailed descriptions of these domains and the operations provided
 will be found in subsequent sections.
 
 In the final section of this chapter (Section \ref use_of_library),
@@ -105,7 +105,7 @@ Other semantic GDs, the <EM>compound classes</EM>, can be constructed
 These include:
   - \link Parma_Polyhedra_Library::Pointset_Powerset \c Pointset_Powerset\<PS\> \endlink,
   - \link Parma_Polyhedra_Library::Partially_Reduced_Product <CODE>Partially_Reduced_Product\<D1, D2, R\></CODE> \endlink,
-
+  .
 where \c PS, \c D1 and \c D2 can be any semantic GD classes and \c R is the
 reduction operation to be applied to the component domains of the
 product class.
@@ -334,7 +334,7 @@ descriptors since they are also used in <EM>generic</EM> PPL operations.
   an invalid argument exception is thrown.
 </LI>
 <LI>
-  Other interaction between the semantic GDs and constraint GDs
+  Other interaction between the semantic GDs and constraint GDs.
   <UL>
   <LI>
     <CODE>add_constraint()</CODE>, <CODE>add_constraints()</CODE>,
@@ -356,10 +356,10 @@ descriptors since they are also used in <EM>generic</EM> PPL operations.
     <CODE>refine_with_constraint()</CODE>,
     <CODE>refine_with_constraints()</CODE>,
     <CODE>refine_with_congruence()</CODE>,
-    <CODE>refine_with_congruences()</CODE>
+    <CODE>refine_with_congruences()</CODE>.
 
     If the argument constraint GD is optimally supported by the
-    semantic GD, the the methods behave the same as the corresponding
+    semantic GD, the methods behave the same as the corresponding
     \c add_* methods listed above.  Otherwise the constraint GD
     is used only to a limited extent to refine the semantic GD;
     possibly not at all.  Notice that, while repeating an add operation
@@ -384,20 +384,20 @@ descriptors since they are also used in <EM>generic</EM> PPL operations.
   </LI>
   <LI>
     <CODE>constraints()</CODE>, <CODE>minimized_constraints()</CODE>,
-    <CODE>congruences()</CODE>, <CODE>minimized_congruences()</CODE>
+    <CODE>congruences()</CODE>, <CODE>minimized_congruences()</CODE>.
 
-    returns the indicated system of constraint GDs satisfied by
+    Returns the indicated system of constraint GDs satisfied by
     the semantic GD.
   </LI>
   <LI>
     <CODE>can_recycle_constraint_systems()</CODE>,
-    <CODE>can_recycle_congruence_systems()</CODE>
+    <CODE>can_recycle_congruence_systems()</CODE>.
 
-    return true if and only if the semantic GD can recycle the
+    Return true if and only if the semantic GD can recycle the
     indicated constraint GD.
   </LI>
   <LI>
-    <CODE>relation_with()</CODE>
+    <CODE>relation_with()</CODE>.
 
     This takes a constraint GD as an argument and returns the relations holding
     between the semantic GD and the constraint GD.
@@ -437,6 +437,147 @@ library user to provide the PPL's method with approximations of reality
 that are consistent with respect to the desired results.
 
 
+\section Approximating_Integers Approximating Integers
+
+The Parma Polyhedra Library provides support for approximating
+integer computations using the geometric descriptors it provides.
+In this section we briefly explain these facilities.
+
+
+\subsection Dropping_Non_Integer_Points Dropping Non-Integer Points
+
+When a geometric descriptor is used to approximate integer quantities,
+all the points with non-integral coordinates represent an imprecision
+of the description.  Of course, removing all these points may be
+impossible (because of convexity) or too expensive.  The PPL provides
+the operator <CODE>drop_some_non_integer_points</CODE> to possibly
+tighten a descriptor by dropping some points with non-integer
+coordinates, using algorithms whose complexity is bounded by
+a parameter.  The set of dimensions that represent integer quantities
+can be optionally specified.  It is worth to stress the role of
+<EM>some</EM> in the operator name: in general no optimality guarantee
+is provided.
+
+
+\subsection Approximating_Bounded_Integers Approximating Bounded Integers
+
+The Parma Polyhedra Library provides services that allow to compute
+correct approximations of bounded arithmetic as available in widespread
+programming languages.  Supported bit-widths are 8, 16, 32 and 64 bits,
+with some limited support for 128 bits.
+Supported representations are binary unsigned and two's complement signed.
+Supported overflow behaviors are:
+<DL>
+  <DT>Wrapping:</DT>
+  <DD>
+    this means that, for a \f$w\textrm{-bit}\f$ bounded integer, the
+    computation
+    happens modulo \f$2^w\f$.  In turn, this signifies that the computation
+    happens <EM>as if</EM> the unbounded arithmetic result was computed
+    and then wrapped.  For unsigned integers, the wrapping function is
+    simply \f$x \bmod 2^w\f$, most conveniently defined as
+    \f[
+      \mathrm{wrap}^\mathrm{u}_w(x)
+        \defeq
+          x - 2^w \lfloor x/2^w \rfloor.
+    \f]
+    For signed integers the wrapping function is, instead,
+    \f[
+      \mathrm{wrap}^\mathrm{s}_w(x)
+        \defeq
+          \begin{cases}
+            \mathrm{wrap}^\mathrm{u}_w(x),
+              &\text{if $\mathrm{wrap}^\mathrm{u}_w(x) < 2^{w-1}$;} \\
+            \mathrm{wrap}^\mathrm{u}_w(x) - 2^w,
+              &\text{otherwise.}
+          \end{cases}
+    \f]
+  </DD>
+  <DT>Undefined:</DT>
+  <DD>
+    this means that the result of the operation resulting in an
+    overflow can take any value.  This is useful to partially
+    model systems where overflow has unspecified effects on
+    the computed result.
+    Even though something more serious can happen in the system
+    being analyzed ---due to, e.g., C's undefined behavior---, here we
+    are only concerned with the results of arithmetic operations.
+    It is the responsibility of the analyzer to ensure that other
+    manifestations of undefined behavior are conservatively approximated.
+  </DD>
+  <DT>Impossible:</DT>
+  <DD>
+    this is for the analysis of languages where overflow is trapped
+    before it affects the state, for which, thus, any indication that
+    an overflow may have affected the state is necessarily due to
+    the imprecision of the analysis.
+  </DD>
+</DL>
+
+
+\subsubsection Wrapping_Operator Wrapping Operator
+
+One possibility for precisely approximating the semantics of programs that
+operate on bounded integer variables is to follow the approach described
+in \ref SK07 "[SK07]".  The idea is to associate space dimensions to the
+<EM>unwrapped values</EM> of bounded variables.  Suppose <CODE>j</CODE>
+is a \f$w\textrm{-bit}\f$, unsigned program variable associated to a space 
+dimension
+labeled by the variable \f$x\f$.  If \f$x\f$ is constrained by some
+numerical abstraction to take values in a set \f$S \sseq \Rset\f$, then
+the program variable <CODE>j</CODE> can only take values in
+\f$\bigl\{\, \mathrm{wrap}^\mathrm{u}_w(z) \bigm| z \in S \,\bigr\}\f$.
+There are two reasons why this is interesting: firstly, this allows for
+the retention of relational information by using a single numerical abstraction
+tracking multiple program variables.  Secondly, the integers modulo
+\f$2^w\f$ form a ring of equivalence classes on which addition
+and multiplication are well defined.  This means, e.g., that assignments
+with affine right-hand sides and involving only variables with the same
+bit-width and representation can be safely modeled by affine images.
+While upper bounds and widening can be used without any precaution,
+anything that can be reconducted to intersection requires a preliminary
+<EM>wrapping</EM> phase, where the dimensions corresponding to bounded
+integer types are brought back to their natural domain.
+This necessity arises naturally for the analysis of conditionals
+and conversion operators, as well as in the realization of domain
+combinations.
+
+The PPL provides a general wrapping operator that is parametric with
+respect to the set of space dimensions (variables) to be wrapped,
+the width, representation and overflow behavior of all these variables.
+An optional constraint system can, when given, improve the
+precision.  This constraint system, which must only depend on variables
+with respect to which wrapping is performed, is assumed to represent
+the conditional or looping construct guard with respect to which
+wrapping is performed.  Since wrapping requires the computation of
+upper bounds and due to non-distributivity of constraint refinement
+over upper bounds, passing a constraint system in this way can be more
+precise than refining the result of the wrapping operation afterwards.
+The general wrapping operator offered by the PPL also allows control of
+the complexity/precision ratio by means of two additional parameters:
+an unsigned integer encoding a complexity threshold, with higher values
+resulting in possibly improved precision; and a Boolean controlling
+whether space dimensions should be wrapped individually, something that
+results in much greater efficiency to the detriment of precision,
+or collectively.
+
+Note that the PPL assumes that any space dimension subject to wrapping
+is being used to capture the value of bounded integer values.  As a
+consequence the library is free to drop, from the involved numerical
+abstraction, any point having a non-integer coordinate that corresponds
+to a space dimension subject to wrapping.  It must be stressed that
+freedom to drop such points does not constitute an obligation to remove
+all of them (especially because this would be extraordinarily expensive
+on some numerical abstractions).
+The PPL provides operators for the more systematic
+\ref Dropping_Non_Integer_Points
+"removal of points with non-integral coordinates".
+
+The wrapping operator will only remove some of these points
+as a by-product of its main task and only when this comes at a negligible
+extra cost.
+
+
 \section convex_polys Convex Polyhedra
 
 In this section we introduce convex polyhedra,
@@ -449,11 +590,11 @@ For more information about the definitions and results stated here see
 
 \subsection Vectors_Matrices_and_Scalar_Products Vectors, Matrices and Scalar Products
 
-We denote by \f$\Rset^n\f$ the \f$n\f$-dimensional vector space on the field
+We denote by \f$\Rset^n\f$ the \f$n\textrm{-dimensional}\f$ vector space on the field
 of real numbers \f$\Rset\f$, endowed with the standard topology.
 The set of all non-negative reals is denoted by \f$\nonnegRset\f$.
 For each \f$i \in \{0, \ldots, n-1\}\f$, \f$v_i\f$ denotes
-the \f$i\f$-th component of the (column) vector
+the \f$i\textrm{-th}\f$ component of the (column) vector
 \f$\vect{v} = (v_0, \ldots, v_{n-1})^\transpose \in \Rset^n\f$.
 We denote by \f$\vect{0}\f$ the vector of \f$\Rset^n\f$,
 called <EM>the origin</EM>, having all components equal to zero.
@@ -552,7 +693,7 @@ increased accuracy.
 \subsection Bounded_Polyhedra Bounded Polyhedra
 
 An NNC polyhedron \f$\cP \in \Pset_n\f$ is <EM>bounded</EM>
-if there exists a \f$\lambda \in \nonnegRset\f$ such that
+if there exists a \f$\lambda \in \nonnegRset\f$ such that:
 \f[
   \cP
     \sseq
@@ -1934,197 +2075,11 @@ Thus we have \f$0 \leq \pdim(\cG) \leq n\f$.
 
 \section rational_grid_operations Operations on Rational Grids
 
-In this section we briefly describe operations on rational grids
-that are provided by the library.
-These are similar to those described in Section \ref Operations_on_Convex_Polyhedra.
-
-\subsection Grid_Intersection_and_Join Grid Intersection and Grid Join
-
-For any pair of grids \f$\cL_1, \cL_2 \in \Gset_n\f$,
-the <EM>intersection</EM> of \f$\cL_1\f$ and \f$\cL_2\f$,
-defined as the set intersection \f$\cL_1 \inters \cL_2\f$,
-is the largest grid included in both \f$\cL_1\f$ and \f$\cL_2\f$;
-similarly, the <EM>grid join</EM>
-of \f$\cL_1\f$ and \f$\cL_2\f$, denoted by \f$\cL_1 \uplus \cL_2\f$,
-is the smallest grid that includes both
-\f$\cL_1\f$ and \f$\cL_2\f$.
-
-In theoretical terms,
-the intersection and grid join operators defined above
-are the binary <EM>meet</EM> and the binary <EM>join</EM>
-operators on the lattice \f$\Gset_n\f$.
-
-\subsection Grid_Difference Grid Difference
-
-For any pair of grids \f$\cL_1, \cL_2 \in \Gset_n\f$,
-the <EM>grid difference</EM>
-of \f$\cL_1\f$ and \f$\cL_2\f$ is defined as the smallest
-grid containing the set-theoretic difference
-of \f$\cL_1\f$ and \f$\cL_2\f$.
-
-\subsection Grid_Concatenate Concatenating Grids
-
-Viewing a grid as a set of tuples (its points), it is sometimes
-useful to consider the set of tuples obtained by concatenating
-an ordered pair of grids.
-Formally, the <EM>concatenation</EM> of the grids
-\f$\cL_1 \in \Gset_n\f$ and \f$\cL_2 \in \Gset_m\f$ (taken in this order)
-is the grid in \f$\Gset_{n+m}\f$ defined as
-\f[
-      \Bigl\{\,
-        (x_0, \ldots, x_{n-1}, y_0, \ldots, y_{m-1})^\transpose
-          \in \Rset^{n+m}
-      \Bigm|
-        (x_0, \ldots, x_{n-1})^\transpose \in \cL_1,
-        (y_0, \ldots, y_{m-1})^\transpose \in \cL_2
-      \,\Bigl\}.
-\f]
-Another way of seeing it is as follows: first embed grid \f$\cL_1\f$
-into a vector space of dimension \f$n+m\f$ and then add a suitably
-renamed-apart version of the congruence relations defining \f$\cL_2\f$.
-
-\subsection  Grid_Add_Space_Dimensions Adding New Dimensions to the Vector Space
-
-The library provides two operators for adding a number \f$i\f$ of
-space dimensions to a grid \f$\cL \in \Gset_n\f$,
-therefore transforming it into a new grid in
-\f$\Gset_{n+i}\f$.
-In both cases, the added dimensions of the vector space
-are those having the highest indices.
-
-The operator <CODE>add_space_dimensions_and_embed</CODE>
-\e embeds the grid \f$\cL\f$ into the new vector space of
-dimension \f$i+n\f$ and returns the grid
-defined by all and only the congruences defining \f$\cL\f$
-(the variables corresponding to the added dimensions are unconstrained).
-For instance, when starting from a grid \f$\cL \sseq \Rset^2\f$
-and adding a third space dimension, the result will be the grid
-\f[
-   \bigl\{\,
-         (x_0, x_1, x_2)^\transpose \in \Rset^3
-       \bigm|
-         (x_0, x_1)^\transpose \in \cL
-       \,\bigr\}.
-\f]
-
-In contrast, the operator  <CODE>add_space_dimensions_and_project</CODE>
-\e projects the grid \f$\cL\f$ into the new vector space of
-dimension \f$i+n\f$ and returns the grid
-whose congruence system, besides the congruence relations defining \f$\cL\f$,
-will include additional equalities on the added dimensions.
-Namely, the corresponding variables are all constrained to be equal to 0.
-For instance, when starting from a grid \f$\cL \sseq \Rset^2\f$
-and adding a third space dimension, the result will be the grid
-\f[
-  \bigl\{\,
-          (x_0, x_1, 0)^\transpose \in \Rset^3
-        \bigm|
-          (x_0, x_1)^\transpose \in \cL
-        \,\bigr\}.
-\f]
-
-\subsection Grid_Remove_Space_Dimensions Removing Dimensions from the Vector Space
-
-The library provides two operators for removing
-space dimensions from a grid \f$\cL \in \Gset_n\f$,
-therefore transforming it into a new grid in
-\f$\Gset_m\f$ where \f$m \leq n\f$.
-
-Given a set of variables, the operator <CODE>remove_space_dimensions</CODE>
-removes all the space dimensions specified by the variables in the set.
-
-Given a space dimension \f$m\f$ less than or equal to that of the grid,
-the operator <CODE>remove_higher_space_dimensions</CODE> removes
-the space dimensions having indices greater than or equal to \f$m\f$.
-
-\subsection Grid_Map_Space_Dimensions Mapping the Dimensions of the Vector Space
-
-The operator <CODE>map_space_dimensions</CODE> provided by the library
-maps the dimensions of the vector space \f$\Rset^n\f$ according
-to a partial injective function \f$\pard{\rho}{\{0, \ldots, n-1\}}{\Nset}\f$
-such that
-\f[
-  \rho\bigl(\{0, \ldots, n-1\}\bigr) = \{0, \ldots, m-1\}
-\f]
-with \f$m \leq n\f$.
-Dimensions corresponding to indices that are not mapped
-by \f$\rho\f$ are removed.
-
-If \f$m = 0\f$, i.e., if the function \f$\rho\f$ is undefined everywhere,
-then the operator projects the argument grid \f$\cL \in \Gset_n\f$
-onto the zero-dimension space \f$\Rset^0\f$;
-otherwise the result is a grid in \f$\Gset_m\f$ given by
-\f[
-      \Bigl\{\,
-        \bigl(v_{\rho^{-1}(0)}, \ldots, v_{\rho^{-1}(m-1)}\bigr)^\transpose
-      \Bigm|
-        (v_0, \ldots, v_{n-1})^\transpose \in \cL
-      \,\Bigr\}.
-\f]
-
-\subsection Grid_Expand_Space_Dimension Expanding One Dimension of the Vector Space to Multiple Dimensions
-
-The operator <CODE>expand_space_dimension</CODE> provided by the library
-adds \f$m\f$ new space dimensions to a grid \f$\cL \in \Gset_n\f$,
-with \f$n > 0\f$, so that dimensions
-\f$n\f$, \f$n+1\f$, \f$\ldots\f$, \f$n+m-1\f$
-of the resulting grid are exact copies of the \f$i\f$-th space dimension
-of \f$\cL\f$.  More formally, the result is a grid in \f$\Gset_m\f$ given by
-\f[
-      \sset{
-        \vect{u} \in \Rset^{n+m}
-      }{
-        \exists \vect{v}, \vect{w} \in \cL
-          \st u_i = v_i \\
-          \qquad \mathord{} \land \forall j = n, n+1, \ldots, n+m-1
-                                     \itc u_j = w_i \\
-          \qquad \mathord{} \land \forall k = 0, \ldots, n-1
-                                     \itc k \neq i \implies u_k = v_k = w_k
-      }.
-\f]
-
-\subsection Grid_Fold_Space_Dimensions Folding Multiple Dimensions of the Vector Space into One Dimension
-
-The operator <CODE>fold_space_dimensions</CODE> provided by the library,
-given a grid \f$\cL \in \Gset_n\f$, with \f$n > 0\f$,
-folds a subset \f$J\f$ of the set of space dimensions \f$\{0, \ldots, n-1\}\f$
-into a space dimension \f$i < n\f$, where \f$i \notin J\f$.
-Letting \f$m = \card J\f$, the result is given by the grid join
-\f[
-  \cL_0 \uplus \cdots \uplus \cL_m
-\f]
-where
-\f[
-  \cL_m
-    \defeq
-      \sset{
-        \vect{u} \in \Rset^{n-m}
-      }{
-        \exists \vect{v} \in \cL
-          \st u_{i'} = v_i \\
-          \qquad \mathord{} \land \forall k = 0, \ldots, n-1
-                                     \itc k \neq i \implies u_{k'} = v_k
-      },
-\f]
-for \f$ d = 0 \f$, \f$ \ldots \f$, \f$ m-1 \f$,
-\f[
-  \cL_d
-    \defeq
-      \sset{
-        \vect{u} \in \Rset^{n-m}
-      }{
-        \exists \vect{v} \in \cL
-          \st u_{i'} = v_{j_d} \\
-          \qquad \mathord{} \land \forall k = 0, \ldots, n-1
-                                     \itc k \neq i \implies u_{k'} = v_k
-      }
-\f]
-and, for \f$ k = 0 \f$, \f$ \ldots \f$, \f$ n-1 \f$,
-\f[
-  k'
-    \defeq
-      k - \card \{\, j \in J \mid k > j \,\}.
-\f]
+In general, the operations on rational grids are the same as those for the other
+PPL domains and the definitions of these can be found in
+Section \ref Operations_on_Convex_Polyhedra.
+Below we just describe those operations that have features or behavior
+that is in some way special to the grid domain.
 
 \subsection Grid_Affine_Transformation Affine Images and Preimages
 
@@ -2229,6 +2184,37 @@ is equivalent to the application of the standard affine image
 of \f$\cL\f$ with respect to the variable \f$x_k\f$ and the
 affine expression \f$\mathrm{rhs}\f$.
 
+\subsection Grid_Frequency Frequency Operator
+
+Let \f$\cL \in \Gset_n\f$ be any non-empty grid and
+\f$\mathrm{expr} = \bigl(\langle \vect{a}, \vect{x} \rangle + b\bigr)\f$
+be a linear expression. Then if, for
+some \f$c, f \in \Rset\f$, all the points in \f$\cL\f$ satisfy the
+congruence \f$\cg = ( \mathrm{expr} \equiv_f c )\f$, then the maximum
+\f$f\f$ such that this holds is called the <EM>frequency</EM> of
+\f$\cL\f$ with respect to \f$\mathrm{expr}\f$.
+
+The frequency operator provided by the library returns both
+the frequency \f$f\f$ and a value
+\f$\mathrm{val} = \langle \vect{a}, \vect{w} \rangle + b\f$
+where \f$\vect{w} \in \cL\f$ and
+\f[
+  \lvert\mathrm{val}\rvert
+     = \min\Bigl\{\,
+             \bigl\lvert\langle \vect{a}, \vect{v} \rangle + b \bigr\rvert
+           \Bigm|
+             \vect{v} \in \cL
+           \,\Bigr\}.
+\f]
+
+Observe that the above definition is also applied to other simple objects in
+the library like polyhedra, octagonal shapes, bd-shapes and boxes
+and in such cases the definition of frequency can be simplified.
+For instance, the frequency for an object \f$\cP \in \Pset_n\f$ is
+defined if and only if there is a unique value \f$c\f$ such that
+\f$\cP\f$ saturates the equality \f$( \mathrm{expr} = c )\f$;
+in this case the frequency is \f$0\f$ and the value returned is \f$c\f$.
+
 \subsection Grid_Time_Elapse Time-Elapse Operator
 
 For any two grids \f$\cL_1, \cL_2 \in \Gset_n\f$,
@@ -2247,15 +2233,15 @@ is the grid
 
 The library provides operators for checking the relation holding
 between a grid  and
-a congruence, a grid generator, constraint or a (polyhedron) generator.
+a congruence, a grid generator, a constraint or a (polyhedron) generator.
 
 Suppose \f$\cL\f$ is a grid
 and \f$\cC\f$ an arbitrary congruence system representing \f$\cL\f$.
 Suppose also that
 \f$
   \cg = \bigl(
-        \langle \vect{a}, \vect{x} \rangle \equiv_f b
-      \bigr)
+          \langle \vect{a}, \vect{x} \rangle \equiv_f b
+        \bigr)
 \f$
 is a congruence relation
 with \f$\cL_{\cg} = \gcon\bigl(\{\cg\}\bigr)\f$.
@@ -2302,6 +2288,49 @@ A grid \f$\cL\f$ <EM>subsumes</EM> a (polyhedron) ray or line
 \f$g\f$ if adding the corresponding grid line to any grid generator system
 representing \f$\cL\f$ does not change \f$\cL\f$.
 
+\subsection Grid_Wrapping_Operator Wrapping Operator
+
+The operator <CODE>wrap_assign</CODE> provided by the library, allows
+for the \ref Wrapping_Operator "wrapping" of a subset of the set of
+space dimensions so as to fit the given bounded integer type and have
+the specified overflow behavior.  In order to maximize the precision
+of this operator for grids, the exact behavior differs in some
+respects from the other simple classes of geometric descriptors.
+
+Suppose \f$\cL \in \Gset_n\f$ is a grid and \f$J\f$ a subset of the
+set of space dimensions \f$\{0, \ldots, n-1\}\f$.
+Suppose also that the width of the bounded integer type is \f$w\f$ so that
+the range of values \f$R = \{r \in \Rset \mid 0 \leq r < 2^w\}\f$
+if the type is unsigned
+and \f$R = \{r \in \Rset \mid -2^{w-1} \leq r < 2^{w-1}\}\f$ otherwise.
+Consider a space dimension \f$j \in J\f$ and a variable \f$v_j\f$
+for dimension \f$j\f$.
+
+If the value in \f$\cL\f$ for the variable \f$v_j\f$ is a constant in
+the range \f$R\f$, then it is unchanged.  Otherwise the result
+\f$\cL'\f$ of the operation on \f$\cL\f$ will depend on the specified
+overflow behavior.
+
+- Overflow impossible. In this case, it is known that no wrapping can
+  occur. If the grid \f$\cL\f$ has no value for the variable \f$v_j\f$ in the
+  range \f$R\f$, then \f$\cL\f$ is set empty. If \f$v_j\f$ has exactly
+  one value \f$a \in R\f$ in \f$\cL\f$, then \f$v_j\f$ is set
+  equal to \f$a\f$. Otherwise, \f$\cL' = \cL\f$.
+
+- Overflow undefined. In this case, for each value \f$a\f$ for
+  \f$v_j\f$ in the grid \f$\cL\f$, the wrapped value can be any value
+  \f$a + z \in R\f$ where \f$z \in \Zset\f$.
+  Therefore \f$\cL'\f$ is obtained by adding the parameter
+  \f$(0, \ldots, 0, v_j, 0, \ldots, 0)\f$,
+  where \f$v_j = 1\f$, to the generator system for \f$\cL\f$.
+
+- Overflow wraps. In this case, if \f$\cL\f$ already satisfies the
+  congruence \f$v_j = a \mod 2^w\f$, for some \f$a \in \Rset\f$, then
+  \f$v_j\f$ is set equal to \f$a'\f$ where \f$a' = a \mod 2^w\f$ and
+  \f$a'\in R\f$.  Otherwise, \f$\cL'\f$ is obtained by adding the
+  parameter \f$(0, \ldots, 0, v_j, 0, \ldots, 0)\f$, where
+  \f$v_j = 2^w\f$, to the generator system for \f$\cL\f$.
+
 \subsection Grid_Widening Widening Operators
 
 The library provides <EM>grid widening</EM> operators for the domain of grids.
@@ -2794,7 +2823,7 @@ B. Blanchet, P. Cousot, R. Cousot, J. Feret, L. Mauborg
   D. Monniaux, and X. Rival.
  Design and implementation of a special-purpose static program
   analyzer for safety-critical real-time embedded software.
- In T. AE. Mogensen, D. A. Schmidt, and I. Hal Sudborough,
+ In T. Æ. Mogensen, D. A. Schmidt, and I. Hal Sudborough,
   editors, <em>The Essence of Computation, Complexity, Analysis,
   Transformation. Essays Dedicated to Neil D. Jones [on occasion of his 60th
   birthday]</em>, volume 2566 of <em>Lecture Notes in Computer Science</em>, pages
@@ -3147,8 +3176,7 @@ R. Bagnara, P. M. Hill, and E. Zaffanella.
 R. Bagnara, P. M. Hill, and E. Zaffanella.
  Applications of polyhedral computations to the analysis and
   verification of hardware and software systems.
- <em>Theoretical Computer Science</em>, 2009.
- To appear.
+ <em>Theoretical Computer Science</em>, 410(46):4672-4691, 2009.
 
 
 </DD>
@@ -3162,9 +3190,10 @@ R. Bagnara, P. M. Hill, and E. Zaffanella.
   abstractions.
  Quaderno 492, Dipartimento di Matematica, Università di Parma,
   Italy, 2009.
- Available at <a href="http://www.cs.unipr.it/Publications/">http://www.cs.unipr.it/Publications/</a>. Also
-  published as <tt>arXiv:cs.CG/0904.1783</tt>, available from
-  <a href="http://arxiv.org/">http://arxiv.org/</a>.
+ Available at <a href="http://www.cs.unipr.it/Publications/">http://www.cs.unipr.it/Publications/</a>. A corrected
+  and improved version (corrected an error in the statement of condition (3) of
+  Theorem 3.6, typos corrected in statement and proof of Theorem 6.8) has been
+  published in \ref BHZ09c "[BHZ09c]".
 
 
 </DD>
@@ -3174,9 +3203,39 @@ R. Bagnara, P. M. Hill, and E. Zaffanella.
 <DD>
 \anchor BHZ09c
 R. Bagnara, P. M. Hill, and E. Zaffanella.
+ Exact join detection for convex polyhedra and other numerical
+  abstractions.
+ Report <tt>arXiv:cs.CG/0904.1783</tt>, 2009.
+ Available at <a href="http://arxiv.org/">http://arxiv.org/</a> and
+  <a href="http://www.cs.unipr.it/ppl/">http://www.cs.unipr.it/ppl/</a>.
+
+
+</DD>
+
+
+<DT>[BHZ09d]</DT>
+<DD>
+\anchor BHZ09d
+R. Bagnara, P. M. Hill, and E. Zaffanella.
  Weakly-relational shapes for numeric abstractions: Improved
   algorithms and proofs of correctness.
- Submitted for publication, 2009.
+ <em>Formal Methods in System Design</em>, 35(3):279-323, 2009.
+
+
+</DD>
+
+
+<DT>[BHZ10]</DT>
+<DD>
+\anchor BHZ10
+R. Bagnara, P. M. Hill, and E. Zaffanella.
+ Exact join detection for convex polyhedra and other numerical
+  abstractions.
+ <em>Computational Geometry: Theory and Applications</em>,
+  43(5):453-473, 2010.
+ To appear in print. Available online at
+  <a href="http://dx.doi.org/10.1016/j.comgeo.2009.09.002">http://dx.doi.org/10.1016/j.comgeo.2009.09.002</a>.
+
 
 </DD>
 
@@ -3208,6 +3267,21 @@ V. Balasundaram and K. Kennedy.
 </DD>
 
 
+<DT>[BMPZ10]</DT>
+<DD>
+\anchor BMPZ10
+R. Bagnara, F. Mesnard, A. Pescetti, and E. Zaffanella.
+ The automatic synthesis of linear ranking functions: The complete
+  unabridged version.
+ Quaderno 498, Dipartimento di Matematica, Università di Parma,
+  Italy, 2010.
+ Available at <a href="http://www.cs.unipr.it/Publications/">http://www.cs.unipr.it/Publications/</a>. Also
+  published as <tt>arXiv:cs.PL/1004.0944</tt>, available from
+  <a href="http://arxiv.org/">http://arxiv.org/</a>.
+
+</DD>
+
+
 <DT>[BRZH02a]</DT>
 <DD>
 \anchor BRZH02a
@@ -3349,6 +3423,27 @@ G. B. Dantzig.
 </DD>
 
 
+<DT>[FCB07]</DT>
+<DD>
+\anchor FCB07
+P. Feautrier, J.-F. Collard, and C. Bastoul.
+ <em>PIP/PipLib: A Solver for Parametric Integer Programming
+  Problems</em>, 5.0 edition, July 2007.
+ Distributed with PIP/PipLib 1.4.0.
+
+</DD>
+
+
+<DT>[Fea88]</DT>
+<DD>
+\anchor Fea88
+P. Feautrier.
+ Parametric integer programming.
+ <em>RAIRO Recherche Opérationnelle</em>, 22(3):243-268, 1988.
+
+</DD>
+
+
 <DT>[FP96]</DT>
 <DD>
 \anchor FP96
@@ -3469,8 +3564,8 @@ N. Halbwachs.
 N. Halbwachs.
  Delay analysis in synchronous programs.
  In C. Courcoubetis, editor, <em>Computer Aided Verification:
-  Proceedings of the 5th International Conference</em>, volume 697 of <em>Lecture
-  Notes in Computer Science</em>, pages 333-346, Elounda, Greece, 1993.
+  Proceedings of the 5th International Conference (CAV'93)</em>, volume 697 of <em>
+  Lecture Notes in Computer Science</em>, pages 333-346, Elounda, Greece, 1993.
   Springer-Verlag, Berlin.
 
 </DD>
@@ -3613,9 +3708,9 @@ H. W. Kuhn.
 </DD>
 
 
-<DT>[LeV92]</DT>
+<DT>[Le 92]</DT>
 <DD>
-\anchor LeV92
+\anchor Le 92
 H. Le Verge.
  A note on Chernikova's algorithm.
  <em>Publication interne</em> 635, IRISA, Campus de Beaulieu, Rennes,
@@ -3942,9 +4037,9 @@ D. Srivastava.
 </DD>
 
 
-<DT>[SS07]</DT>
+<DT>[SS07a]</DT>
 <DD>
-\anchor SS07
+\anchor SS07a
 R. Sen and Y. N. Srikant.
  Executable analysis using abstract interpretation with circular
   linear progressions.
@@ -3955,6 +4050,17 @@ R. Sen and Y. N. Srikant.
 </DD>
 
 
+<DT>[SS07b]</DT>
+<DD>
+\anchor SS07b
+R. Sen and Y. N. Srikant.
+ Executable analysis with circular linear progressions.
+ Technical Report IISc-CSA-TR-2007-3, Department of Computer Science
+  and Automation, Indian Institute of Science, Bangalore, India, 2007.
+
+</DD>
+
+
 <DT>[SW70]</DT>
 <DD>
 \anchor SW70
@@ -4601,13 +4707,13 @@ For \f$x\f$, \f$y \in \Zset\f$ with \f$y \ne 0\f$, we have
   x \brem y
   =
   \begin{cases}
-       x  \brem |y|,  & \text{if $x \ge 0$;} \\
-    -(|x| \brem |y|), & \text{if $x  <  0$.}
+       x  \brem \abs{y},  & \text{if $x \ge 0$;} \\
+    -(\abs{x} \brem \abs{y}), & \text{if $x  <  0$.}
   \end{cases}
 \f]
 
 <B><EM>Proof</EM></B>
-Throughout the proof we write \f$x_0 = |x|\f$ and \f$y_0 = |y|\f$.
+Throughout the proof we write \f$x_0 = \abs{x}\f$ and \f$y_0 = \abs{y}\f$.
 First, assume that \f$x \ge 0\f$ and that \f$y < 0\f$.
 Let \f$k = \phi(x / y_0) = - \phi(x / y)\f$, by the property above.
 We have
diff --git a/doc/devref-language-interface.doxyconf.in b/doc/devref-language-interface.doxyconf.in
index 0cdc6f4..a324118 100644
--- a/doc/devref-language-interface.doxyconf.in
+++ b/doc/devref-language-interface.doxyconf.in
@@ -1,4 +1,4 @@
-# Doxyfile 1.5.7.1
+# Doxyfile 1.6.3
 
 #---------------------------------------------------------------------------
 # Project related configuration options
@@ -11,12 +11,12 @@ CREATE_SUBDIRS         = NO
 OUTPUT_LANGUAGE        = English
 BRIEF_MEMBER_DESC      = YES
 REPEAT_BRIEF           = YES
-ABBREVIATE_BRIEF       = 
+ABBREVIATE_BRIEF       =
 ALWAYS_DETAILED_SEC    = NO
 INLINE_INHERITED_MEMB  = NO
 FULL_PATH_NAMES        = NO
-STRIP_FROM_PATH        = 
-STRIP_FROM_INC_PATH    = 
+STRIP_FROM_PATH        =
+STRIP_FROM_INC_PATH    =
 SHORT_NAMES            = NO
 JAVADOC_AUTOBRIEF      = NO
 QT_AUTOBRIEF           = NO
@@ -29,6 +29,7 @@ OPTIMIZE_OUTPUT_FOR_C  = NO
 OPTIMIZE_OUTPUT_JAVA   = NO
 OPTIMIZE_FOR_FORTRAN   = NO
 OPTIMIZE_OUTPUT_VHDL   = NO
+EXTENSION_MAPPING      =
 BUILTIN_STL_SUPPORT    = NO
 CPP_CLI_SUPPORT        = NO
 SIP_SUPPORT            = NO
@@ -54,9 +55,11 @@ INTERNAL_DOCS          = YES
 CASE_SENSE_NAMES       = YES
 HIDE_SCOPE_NAMES       = NO
 SHOW_INCLUDE_FILES     = YES
+FORCE_LOCAL_INCLUDES   = NO
 INLINE_INFO            = YES
 SORT_MEMBER_DOCS       = YES
 SORT_BRIEF_DOCS        = NO
+SORT_MEMBERS_CTORS_1ST = NO
 SORT_GROUP_NAMES       = NO
 SORT_BY_SCOPE_NAME     = NO
 GENERATE_TODOLIST      = YES
@@ -69,8 +72,8 @@ SHOW_USED_FILES        = YES
 SHOW_DIRECTORIES       = NO
 SHOW_FILES             = YES
 SHOW_NAMESPACES        = YES
-FILE_VERSION_FILTER    = 
-LAYOUT_FILE            = 
+FILE_VERSION_FILTER    =
+LAYOUT_FILE            =
 #---------------------------------------------------------------------------
 # configuration options related to warning and progress messages
 #---------------------------------------------------------------------------
@@ -80,24 +83,24 @@ WARN_IF_UNDOCUMENTED   = YES
 WARN_IF_DOC_ERROR      = YES
 WARN_NO_PARAMDOC       = NO
 WARN_FORMAT            = "$file:$line: $text "
-WARN_LOGFILE           = 
+WARN_LOGFILE           =
 #---------------------------------------------------------------------------
 # configuration options related to the input files
 #---------------------------------------------------------------------------
 INPUT                  = <PPL_SED_INPUT>
 INPUT_ENCODING         = UTF-8
-FILE_PATTERNS          = 
+FILE_PATTERNS          =
 RECURSIVE              = NO
-EXCLUDE                = 
+EXCLUDE                =
 EXCLUDE_SYMLINKS       = NO
-EXCLUDE_PATTERNS       = 
-EXCLUDE_SYMBOLS        = 
-EXAMPLE_PATH           = 
-EXAMPLE_PATTERNS       = 
+EXCLUDE_PATTERNS       =
+EXCLUDE_SYMBOLS        =
+EXAMPLE_PATH           =
+EXAMPLE_PATTERNS       =
 EXAMPLE_RECURSIVE      = NO
-IMAGE_PATH             = 
-INPUT_FILTER           = 
-FILTER_PATTERNS        = 
+IMAGE_PATH             =
+INPUT_FILTER           =
+FILTER_PATTERNS        =
 FILTER_SOURCE_FILES    = NO
 #---------------------------------------------------------------------------
 # configuration options related to source browsing
@@ -115,38 +118,47 @@ VERBATIM_HEADERS       = YES
 #---------------------------------------------------------------------------
 ALPHABETICAL_INDEX     = NO
 COLS_IN_ALPHA_INDEX    = 5
-IGNORE_PREFIX          = 
+IGNORE_PREFIX          =
 #---------------------------------------------------------------------------
 # configuration options related to the HTML output
 #---------------------------------------------------------------------------
 GENERATE_HTML          = <PPL_SED_GENERATE_HTML>
 HTML_OUTPUT            = ppl-devref-<PPL_SED_INTERFACE_NAME>- at VERSION@-html
 HTML_FILE_EXTENSION    = .html
-HTML_HEADER            = 
-HTML_FOOTER            = 
-HTML_STYLESHEET        = 
+HTML_HEADER            =
+HTML_FOOTER            =
+HTML_STYLESHEET        =
+HTML_TIMESTAMP         = YES
 HTML_ALIGN_MEMBERS     = YES
 HTML_DYNAMIC_SECTIONS  = NO
 GENERATE_DOCSET        = NO
 DOCSET_FEEDNAME        = "Doxygen generated docs"
 DOCSET_BUNDLE_ID       = org.doxygen.Project
 GENERATE_HTMLHELP      = NO
-CHM_FILE               = 
-HHC_LOCATION           = 
+CHM_FILE               =
+HHC_LOCATION           =
 GENERATE_CHI           = NO
-CHM_INDEX_ENCODING     = 
+CHM_INDEX_ENCODING     =
 BINARY_TOC             = NO
 TOC_EXPAND             = NO
 GENERATE_QHP           = NO
-QCH_FILE               = 
+QCH_FILE               =
 QHP_NAMESPACE          = org.doxygen.Project
 QHP_VIRTUAL_FOLDER     = doc
-QHG_LOCATION           = 
+QHP_CUST_FILTER_NAME   =
+QHP_CUST_FILTER_ATTRS  =
+QHP_SECT_FILTER_ATTRS  =
+QHG_LOCATION           =
+GENERATE_ECLIPSEHELP   = NO
+ECLIPSE_DOC_ID         = org.doxygen.Project
 DISABLE_INDEX          = NO
 ENUM_VALUES_PER_LINE   = 4
 GENERATE_TREEVIEW      = YES
+USE_INLINE_TREES       = NO
 TREEVIEW_WIDTH         = 250
 FORMULA_FONTSIZE       = 10
+SEARCHENGINE           = NO
+SERVER_BASED_SEARCH    = NO
 #---------------------------------------------------------------------------
 # configuration options related to the LaTeX output
 #---------------------------------------------------------------------------
@@ -162,6 +174,7 @@ PDF_HYPERLINKS         = YES
 USE_PDFLATEX           = YES
 LATEX_BATCHMODE        = YES
 LATEX_HIDE_INDICES     = NO
+LATEX_SOURCE_CODE      = NO
 #---------------------------------------------------------------------------
 # configuration options related to the RTF output
 #---------------------------------------------------------------------------
@@ -169,8 +182,8 @@ GENERATE_RTF           = NO
 RTF_OUTPUT             = rtf
 COMPACT_RTF            = NO
 RTF_HYPERLINKS         = YES
-RTF_STYLESHEET_FILE    = 
-RTF_EXTENSIONS_FILE    = 
+RTF_STYLESHEET_FILE    =
+RTF_EXTENSIONS_FILE    =
 #---------------------------------------------------------------------------
 # configuration options related to the man page output
 #---------------------------------------------------------------------------
@@ -183,8 +196,8 @@ MAN_LINKS              = NO
 #---------------------------------------------------------------------------
 GENERATE_XML           = NO
 XML_OUTPUT             = xml
-XML_SCHEMA             = 
-XML_DTD                = 
+XML_SCHEMA             =
+XML_DTD                =
 XML_PROGRAMLISTING     = YES
 #---------------------------------------------------------------------------
 # configuration options for the AutoGen Definitions output
@@ -196,39 +209,39 @@ GENERATE_AUTOGEN_DEF   = NO
 GENERATE_PERLMOD       = NO
 PERLMOD_LATEX          = NO
 PERLMOD_PRETTY         = YES
-PERLMOD_MAKEVAR_PREFIX = 
+PERLMOD_MAKEVAR_PREFIX =
 #---------------------------------------------------------------------------
-# Configuration options related to the preprocessor   
+# Configuration options related to the preprocessor
 #---------------------------------------------------------------------------
 ENABLE_PREPROCESSING   = YES
 MACRO_EXPANSION        = YES
 EXPAND_ONLY_PREDEF     = YES
 SEARCH_INCLUDES        = YES
-INCLUDE_PATH           = 
-INCLUDE_FILE_PATTERNS  = 
+INCLUDE_PATH           =
+INCLUDE_FILE_PATTERNS  =
 PREDEFINED             = PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS \
                          PPL_PROTO(protos):=protos
 EXPAND_AS_DEFINED      = DECLARE_CONVERSIONS \
                          CATCH_ALL
 SKIP_FUNCTION_MACROS   = YES
 #---------------------------------------------------------------------------
-# Configuration::additions related to external references   
+# Configuration::additions related to external references
 #---------------------------------------------------------------------------
 TAGFILES               = <PPL_SED_TAGFILES>
-GENERATE_TAGFILE       = 
+GENERATE_TAGFILE       =
 ALLEXTERNALS           = NO
 EXTERNAL_GROUPS        = YES
 PERL_PATH              = @PERL@
 #---------------------------------------------------------------------------
-# Configuration options related to the dot tool   
+# Configuration options related to the dot tool
 #---------------------------------------------------------------------------
 CLASS_DIAGRAMS         = YES
-MSCGEN_PATH            = 
+MSCGEN_PATH            =
 HIDE_UNDOC_RELATIONS   = YES
 HAVE_DOT               = YES
 DOT_FONTNAME           = FreeSans
 DOT_FONTSIZE           = 10
-DOT_FONTPATH           = 
+DOT_FONTPATH           =
 CLASS_GRAPH            = YES
 COLLABORATION_GRAPH    = YES
 GROUP_GRAPHS           = YES
@@ -241,15 +254,11 @@ CALLER_GRAPH           = NO
 GRAPHICAL_HIERARCHY    = YES
 DIRECTORY_GRAPH        = NO
 DOT_IMAGE_FORMAT       = png
-DOT_PATH               = 
-DOTFILE_DIRS           = 
+DOT_PATH               =
+DOTFILE_DIRS           =
 DOT_GRAPH_MAX_NODES    = 50
 MAX_DOT_GRAPH_DEPTH    = 0
 DOT_TRANSPARENT        = NO
 DOT_MULTI_TARGETS      = NO
 GENERATE_LEGEND        = YES
 DOT_CLEANUP            = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine   
-#---------------------------------------------------------------------------
-SEARCHENGINE           = NO
diff --git a/doc/devref-language-interface.tex b/doc/devref-language-interface.tex
index 691d1ca..f3366be 100644
--- a/doc/devref-language-interface.tex
+++ b/doc/devref-language-interface.tex
@@ -1,4 +1,4 @@
-% Copyright (C) 2001--2009 Roberto Bagnara <bagnara at cs.unipr.it>
+% Copyright (C) 2001--2010 Roberto Bagnara <bagnara at cs.unipr.it>
 %
 % This document describes the Parma Polyhedra Library (PPL).
 %
@@ -100,7 +100,7 @@ Enea Zaffanella\thanks{zaffanella at cs.unipr.it,
 \maketitle
 
 \newpage
-Copyright \copyright\ 2001--2009 Roberto Bagnara (bagnara at cs.unipr.it).
+Copyright \copyright\ 2001--2010 Roberto Bagnara (bagnara at cs.unipr.it).
 
 This document describes the Parma Polyhedra Library (PPL).
 
diff --git a/doc/devref.doxyconf-html.in b/doc/devref.doxyconf-html.in
index e0a297d..356df83 100644
--- a/doc/devref.doxyconf-html.in
+++ b/doc/devref.doxyconf-html.in
@@ -1,4 +1,4 @@
-# Doxyfile 1.5.7.1
+# Doxyfile 1.6.3
 
 #---------------------------------------------------------------------------
 # Project related configuration options
@@ -11,12 +11,12 @@ CREATE_SUBDIRS         = NO
 OUTPUT_LANGUAGE        = English
 BRIEF_MEMBER_DESC      = YES
 REPEAT_BRIEF           = YES
-ABBREVIATE_BRIEF       = 
+ABBREVIATE_BRIEF       =
 ALWAYS_DETAILED_SEC    = NO
 INLINE_INHERITED_MEMB  = NO
 FULL_PATH_NAMES        = NO
-STRIP_FROM_PATH        = 
-STRIP_FROM_INC_PATH    = 
+STRIP_FROM_PATH        =
+STRIP_FROM_INC_PATH    =
 SHORT_NAMES            = NO
 JAVADOC_AUTOBRIEF      = NO
 QT_AUTOBRIEF           = NO
@@ -24,11 +24,12 @@ MULTILINE_CPP_IS_BRIEF = NO
 INHERIT_DOCS           = YES
 SEPARATE_MEMBER_PAGES  = NO
 TAB_SIZE               = 8
-ALIASES                = 
+ALIASES                =
 OPTIMIZE_OUTPUT_FOR_C  = NO
 OPTIMIZE_OUTPUT_JAVA   = NO
 OPTIMIZE_FOR_FORTRAN   = NO
 OPTIMIZE_OUTPUT_VHDL   = NO
+EXTENSION_MAPPING      =
 BUILTIN_STL_SUPPORT    = NO
 CPP_CLI_SUPPORT        = NO
 SIP_SUPPORT            = NO
@@ -54,9 +55,11 @@ INTERNAL_DOCS          = YES
 CASE_SENSE_NAMES       = YES
 HIDE_SCOPE_NAMES       = NO
 SHOW_INCLUDE_FILES     = YES
+FORCE_LOCAL_INCLUDES   = NO
 INLINE_INFO            = YES
 SORT_MEMBER_DOCS       = YES
 SORT_BRIEF_DOCS        = NO
+SORT_MEMBERS_CTORS_1ST = NO
 SORT_GROUP_NAMES       = NO
 SORT_BY_SCOPE_NAME     = NO
 GENERATE_TODOLIST      = YES
@@ -69,8 +72,8 @@ SHOW_USED_FILES        = YES
 SHOW_DIRECTORIES       = NO
 SHOW_FILES             = YES
 SHOW_NAMESPACES        = YES
-FILE_VERSION_FILTER    = 
-LAYOUT_FILE            = 
+FILE_VERSION_FILTER    =
+LAYOUT_FILE            =
 #---------------------------------------------------------------------------
 # configuration options related to warning and progress messages
 #---------------------------------------------------------------------------
@@ -80,7 +83,7 @@ WARN_IF_UNDOCUMENTED   = YES
 WARN_IF_DOC_ERROR      = YES
 WARN_NO_PARAMDOC       = NO
 WARN_FORMAT            = "$file:$line: $text "
-WARN_LOGFILE           = 
+WARN_LOGFILE           =
 #---------------------------------------------------------------------------
 # configuration options related to the input files
 #---------------------------------------------------------------------------
@@ -129,6 +132,9 @@ INPUT                  = @srcdir@/definitions.dox \
                          @srcdir@/../src/stdiobuf.defs.hh \
                          @srcdir@/../src/stdiobuf.inlines.hh \
                          @srcdir@/../src/stdiobuf.cc \
+                         @srcdir@/../src/termination.defs.hh \
+                         @srcdir@/../src/termination.templates.hh \
+                         @srcdir@/../src/termination.cc \
                          @srcdir@/../src/Topology.hh \
                          @srcdir@/../src/Row.types.hh \
                          @srcdir@/../src/Row.defs.hh \
@@ -149,6 +155,7 @@ INPUT                  = @srcdir@/definitions.dox \
                          @srcdir@/../src/MIP_Problem.types.hh \
                          @srcdir@/../src/MIP_Problem.defs.hh \
                          @srcdir@/../src/MIP_Problem.inlines.hh \
+                         @srcdir@/../src/MIP_Problem.templates.hh \
                          @srcdir@/../src/MIP_Problem.cc \
                          @srcdir@/../src/Bit_Row.types.hh \
                          @srcdir@/../src/Bit_Row.defs.hh \
@@ -314,6 +321,15 @@ INPUT                  = @srcdir@/definitions.dox \
                          @srcdir@/../src/Octagonal_Shape.inlines.hh \
                          @srcdir@/../src/Octagonal_Shape.templates.hh \
                          @srcdir@/../src/Octagonal_Shape.cc \
+                         @srcdir@/../src/PIP_Problem.types.hh \
+                         @srcdir@/../src/PIP_Problem.defs.hh \
+                         @srcdir@/../src/PIP_Problem.inlines.hh \
+                         @srcdir@/../src/PIP_Problem.templates.hh \
+                         @srcdir@/../src/PIP_Problem.cc \
+                         @srcdir@/../src/PIP_Tree.types.hh \
+                         @srcdir@/../src/PIP_Tree.defs.hh \
+                         @srcdir@/../src/PIP_Tree.inlines.hh \
+                         @srcdir@/../src/PIP_Tree.cc \
                          @srcdir@/gpl.dox \
                          @srcdir@/fdl.dox
 INPUT_ENCODING         = UTF-8
@@ -321,16 +337,16 @@ FILE_PATTERNS          = *.hh \
                          *.cc \
                          *.dox
 RECURSIVE              = YES
-EXCLUDE                = 
+EXCLUDE                =
 EXCLUDE_SYMLINKS       = NO
-EXCLUDE_PATTERNS       = 
-EXCLUDE_SYMBOLS        = 
-EXAMPLE_PATH           = 
-EXAMPLE_PATTERNS       = 
+EXCLUDE_PATTERNS       =
+EXCLUDE_SYMBOLS        =
+EXAMPLE_PATH           =
+EXAMPLE_PATTERNS       =
 EXAMPLE_RECURSIVE      = NO
-IMAGE_PATH             = 
-INPUT_FILTER           = 
-FILTER_PATTERNS        = 
+IMAGE_PATH             =
+INPUT_FILTER           =
+FILTER_PATTERNS        =
 FILTER_SOURCE_FILES    = NO
 #---------------------------------------------------------------------------
 # configuration options related to source browsing
@@ -348,38 +364,47 @@ VERBATIM_HEADERS       = YES
 #---------------------------------------------------------------------------
 ALPHABETICAL_INDEX     = NO
 COLS_IN_ALPHA_INDEX    = 5
-IGNORE_PREFIX          = 
+IGNORE_PREFIX          =
 #---------------------------------------------------------------------------
 # configuration options related to the HTML output
 #---------------------------------------------------------------------------
 GENERATE_HTML          = YES
 HTML_OUTPUT            = ppl-devref- at VERSION@-html
 HTML_FILE_EXTENSION    = .html
-HTML_HEADER            = 
-HTML_FOOTER            = 
-HTML_STYLESHEET        = 
+HTML_HEADER            =
+HTML_FOOTER            =
+HTML_STYLESHEET        =
+HTML_TIMESTAMP         = YES
 HTML_ALIGN_MEMBERS     = YES
 HTML_DYNAMIC_SECTIONS  = NO
 GENERATE_DOCSET        = NO
 DOCSET_FEEDNAME        = "Doxygen generated docs"
 DOCSET_BUNDLE_ID       = org.doxygen.Project
 GENERATE_HTMLHELP      = NO
-CHM_FILE               = 
-HHC_LOCATION           = 
+CHM_FILE               =
+HHC_LOCATION           =
 GENERATE_CHI           = NO
-CHM_INDEX_ENCODING     = 
+CHM_INDEX_ENCODING     =
 BINARY_TOC             = NO
 TOC_EXPAND             = NO
 GENERATE_QHP           = NO
-QCH_FILE               = 
+QCH_FILE               =
 QHP_NAMESPACE          = org.doxygen.Project
 QHP_VIRTUAL_FOLDER     = doc
-QHG_LOCATION           = 
+QHP_CUST_FILTER_NAME   =
+QHP_CUST_FILTER_ATTRS  =
+QHP_SECT_FILTER_ATTRS  =
+QHG_LOCATION           =
+GENERATE_ECLIPSEHELP   = NO
+ECLIPSE_DOC_ID         = org.doxygen.Project
 DISABLE_INDEX          = NO
 ENUM_VALUES_PER_LINE   = 4
 GENERATE_TREEVIEW      = YES
+USE_INLINE_TREES       = NO
 TREEVIEW_WIDTH         = 250
 FORMULA_FONTSIZE       = 10
+SEARCHENGINE           = NO
+SERVER_BASED_SEARCH    = NO
 #---------------------------------------------------------------------------
 # configuration options related to the LaTeX output
 #---------------------------------------------------------------------------
@@ -395,6 +420,7 @@ PDF_HYPERLINKS         = YES
 USE_PDFLATEX           = YES
 LATEX_BATCHMODE        = YES
 LATEX_HIDE_INDICES     = NO
+LATEX_SOURCE_CODE      = NO
 #---------------------------------------------------------------------------
 # configuration options related to the RTF output
 #---------------------------------------------------------------------------
@@ -402,8 +428,8 @@ GENERATE_RTF           = NO
 RTF_OUTPUT             = rtf
 COMPACT_RTF            = NO
 RTF_HYPERLINKS         = YES
-RTF_STYLESHEET_FILE    = 
-RTF_EXTENSIONS_FILE    = 
+RTF_STYLESHEET_FILE    =
+RTF_EXTENSIONS_FILE    =
 #---------------------------------------------------------------------------
 # configuration options related to the man page output
 #---------------------------------------------------------------------------
@@ -416,8 +442,8 @@ MAN_LINKS              = NO
 #---------------------------------------------------------------------------
 GENERATE_XML           = NO
 XML_OUTPUT             = xml
-XML_SCHEMA             = 
-XML_DTD                = 
+XML_SCHEMA             =
+XML_DTD                =
 XML_PROGRAMLISTING     = YES
 #---------------------------------------------------------------------------
 # configuration options for the AutoGen Definitions output
@@ -429,37 +455,37 @@ GENERATE_AUTOGEN_DEF   = NO
 GENERATE_PERLMOD       = NO
 PERLMOD_LATEX          = NO
 PERLMOD_PRETTY         = YES
-PERLMOD_MAKEVAR_PREFIX = 
+PERLMOD_MAKEVAR_PREFIX =
 #---------------------------------------------------------------------------
-# Configuration options related to the preprocessor   
+# Configuration options related to the preprocessor
 #---------------------------------------------------------------------------
 ENABLE_PREPROCESSING   = YES
 MACRO_EXPANSION        = YES
 EXPAND_ONLY_PREDEF     = YES
 SEARCH_INCLUDES        = YES
-INCLUDE_PATH           = 
-INCLUDE_FILE_PATTERNS  = 
+INCLUDE_PATH           =
+INCLUDE_FILE_PATTERNS  =
 PREDEFINED             = PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 EXPAND_AS_DEFINED      = PPL_OUTPUT_DECLARATIONS
 SKIP_FUNCTION_MACROS   = YES
 #---------------------------------------------------------------------------
-# Configuration::additions related to external references   
+# Configuration::additions related to external references
 #---------------------------------------------------------------------------
-TAGFILES               = 
+TAGFILES               =
 GENERATE_TAGFILE       = ppl-devref- at VERSION@-html.tag
 ALLEXTERNALS           = NO
 EXTERNAL_GROUPS        = YES
 PERL_PATH              = @PERL@
 #---------------------------------------------------------------------------
-# Configuration options related to the dot tool   
+# Configuration options related to the dot tool
 #---------------------------------------------------------------------------
 CLASS_DIAGRAMS         = YES
-MSCGEN_PATH            = 
+MSCGEN_PATH            =
 HIDE_UNDOC_RELATIONS   = YES
 HAVE_DOT               = YES
 DOT_FONTNAME           = FreeSans
 DOT_FONTSIZE           = 10
-DOT_FONTPATH           = 
+DOT_FONTPATH           =
 CLASS_GRAPH            = YES
 COLLABORATION_GRAPH    = YES
 GROUP_GRAPHS           = YES
@@ -472,15 +498,11 @@ CALLER_GRAPH           = NO
 GRAPHICAL_HIERARCHY    = YES
 DIRECTORY_GRAPH        = NO
 DOT_IMAGE_FORMAT       = png
-DOT_PATH               = 
-DOTFILE_DIRS           = 
+DOT_PATH               =
+DOTFILE_DIRS           =
 DOT_GRAPH_MAX_NODES    = 50
 MAX_DOT_GRAPH_DEPTH    = 0
 DOT_TRANSPARENT        = NO
 DOT_MULTI_TARGETS      = NO
 GENERATE_LEGEND        = YES
 DOT_CLEANUP            = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine   
-#---------------------------------------------------------------------------
-SEARCHENGINE           = NO
diff --git a/doc/devref.doxyconf-latex.in b/doc/devref.doxyconf-latex.in
index 7c24163..b947949 100644
--- a/doc/devref.doxyconf-latex.in
+++ b/doc/devref.doxyconf-latex.in
@@ -1,4 +1,4 @@
-# Doxyfile 1.5.7.1
+# Doxyfile 1.6.3
 
 #---------------------------------------------------------------------------
 # Project related configuration options
@@ -11,12 +11,12 @@ CREATE_SUBDIRS         = NO
 OUTPUT_LANGUAGE        = English
 BRIEF_MEMBER_DESC      = YES
 REPEAT_BRIEF           = YES
-ABBREVIATE_BRIEF       = 
+ABBREVIATE_BRIEF       =
 ALWAYS_DETAILED_SEC    = NO
 INLINE_INHERITED_MEMB  = NO
 FULL_PATH_NAMES        = NO
-STRIP_FROM_PATH        = 
-STRIP_FROM_INC_PATH    = 
+STRIP_FROM_PATH        =
+STRIP_FROM_INC_PATH    =
 SHORT_NAMES            = NO
 JAVADOC_AUTOBRIEF      = NO
 QT_AUTOBRIEF           = NO
@@ -24,11 +24,12 @@ MULTILINE_CPP_IS_BRIEF = NO
 INHERIT_DOCS           = YES
 SEPARATE_MEMBER_PAGES  = NO
 TAB_SIZE               = 8
-ALIASES                = 
+ALIASES                =
 OPTIMIZE_OUTPUT_FOR_C  = NO
 OPTIMIZE_OUTPUT_JAVA   = NO
 OPTIMIZE_FOR_FORTRAN   = NO
 OPTIMIZE_OUTPUT_VHDL   = NO
+EXTENSION_MAPPING      =
 BUILTIN_STL_SUPPORT    = NO
 CPP_CLI_SUPPORT        = NO
 SIP_SUPPORT            = NO
@@ -54,9 +55,11 @@ INTERNAL_DOCS          = YES
 CASE_SENSE_NAMES       = YES
 HIDE_SCOPE_NAMES       = NO
 SHOW_INCLUDE_FILES     = YES
+FORCE_LOCAL_INCLUDES   = NO
 INLINE_INFO            = YES
 SORT_MEMBER_DOCS       = YES
 SORT_BRIEF_DOCS        = NO
+SORT_MEMBERS_CTORS_1ST = NO
 SORT_GROUP_NAMES       = NO
 SORT_BY_SCOPE_NAME     = NO
 GENERATE_TODOLIST      = YES
@@ -69,8 +72,8 @@ SHOW_USED_FILES        = YES
 SHOW_DIRECTORIES       = NO
 SHOW_FILES             = YES
 SHOW_NAMESPACES        = YES
-FILE_VERSION_FILTER    = 
-LAYOUT_FILE            = 
+FILE_VERSION_FILTER    =
+LAYOUT_FILE            =
 #---------------------------------------------------------------------------
 # configuration options related to warning and progress messages
 #---------------------------------------------------------------------------
@@ -80,7 +83,7 @@ WARN_IF_UNDOCUMENTED   = YES
 WARN_IF_DOC_ERROR      = YES
 WARN_NO_PARAMDOC       = NO
 WARN_FORMAT            = "$file:$line: $text "
-WARN_LOGFILE           = 
+WARN_LOGFILE           =
 #---------------------------------------------------------------------------
 # configuration options related to the input files
 #---------------------------------------------------------------------------
@@ -129,6 +132,9 @@ INPUT                  = @srcdir@/definitions.dox \
                          @srcdir@/../src/stdiobuf.defs.hh \
                          @srcdir@/../src/stdiobuf.inlines.hh \
                          @srcdir@/../src/stdiobuf.cc \
+                         @srcdir@/../src/termination.defs.hh \
+                         @srcdir@/../src/termination.templates.hh \
+                         @srcdir@/../src/termination.cc \
                          @srcdir@/../src/Topology.hh \
                          @srcdir@/../src/Row.types.hh \
                          @srcdir@/../src/Row.defs.hh \
@@ -149,6 +155,7 @@ INPUT                  = @srcdir@/definitions.dox \
                          @srcdir@/../src/MIP_Problem.types.hh \
                          @srcdir@/../src/MIP_Problem.defs.hh \
                          @srcdir@/../src/MIP_Problem.inlines.hh \
+                         @srcdir@/../src/MIP_Problem.templates.hh \
                          @srcdir@/../src/MIP_Problem.cc \
                          @srcdir@/../src/Bit_Row.types.hh \
                          @srcdir@/../src/Bit_Row.defs.hh \
@@ -314,6 +321,15 @@ INPUT                  = @srcdir@/definitions.dox \
                          @srcdir@/../src/Octagonal_Shape.inlines.hh \
                          @srcdir@/../src/Octagonal_Shape.templates.hh \
                          @srcdir@/../src/Octagonal_Shape.cc \
+                         @srcdir@/../src/PIP_Problem.types.hh \
+                         @srcdir@/../src/PIP_Problem.defs.hh \
+                         @srcdir@/../src/PIP_Problem.inlines.hh \
+                         @srcdir@/../src/PIP_Problem.templates.hh \
+                         @srcdir@/../src/PIP_Problem.cc \
+                         @srcdir@/../src/PIP_Tree.types.hh \
+                         @srcdir@/../src/PIP_Tree.defs.hh \
+                         @srcdir@/../src/PIP_Tree.inlines.hh \
+                         @srcdir@/../src/PIP_Tree.cc \
                          @srcdir@/gpl.dox \
                          @srcdir@/fdl.dox
 INPUT_ENCODING         = UTF-8
@@ -321,16 +337,16 @@ FILE_PATTERNS          = *.hh \
                          *.cc \
                          *.dox
 RECURSIVE              = YES
-EXCLUDE                = 
+EXCLUDE                =
 EXCLUDE_SYMLINKS       = NO
-EXCLUDE_PATTERNS       = 
-EXCLUDE_SYMBOLS        = 
-EXAMPLE_PATH           = 
-EXAMPLE_PATTERNS       = 
+EXCLUDE_PATTERNS       =
+EXCLUDE_SYMBOLS        =
+EXAMPLE_PATH           =
+EXAMPLE_PATTERNS       =
 EXAMPLE_RECURSIVE      = NO
-IMAGE_PATH             = 
-INPUT_FILTER           = 
-FILTER_PATTERNS        = 
+IMAGE_PATH             =
+INPUT_FILTER           =
+FILTER_PATTERNS        =
 FILTER_SOURCE_FILES    = NO
 #---------------------------------------------------------------------------
 # configuration options related to source browsing
@@ -348,38 +364,47 @@ VERBATIM_HEADERS       = YES
 #---------------------------------------------------------------------------
 ALPHABETICAL_INDEX     = NO
 COLS_IN_ALPHA_INDEX    = 5
-IGNORE_PREFIX          = 
+IGNORE_PREFIX          =
 #---------------------------------------------------------------------------
 # configuration options related to the HTML output
 #---------------------------------------------------------------------------
 GENERATE_HTML          = NO
 HTML_OUTPUT            = ppl-devref- at VERSION@-html
 HTML_FILE_EXTENSION    = .html
-HTML_HEADER            = 
-HTML_FOOTER            = 
-HTML_STYLESHEET        = 
+HTML_HEADER            =
+HTML_FOOTER            =
+HTML_STYLESHEET        =
+HTML_TIMESTAMP         = YES
 HTML_ALIGN_MEMBERS     = YES
 HTML_DYNAMIC_SECTIONS  = NO
 GENERATE_DOCSET        = NO
 DOCSET_FEEDNAME        = "Doxygen generated docs"
 DOCSET_BUNDLE_ID       = org.doxygen.Project
 GENERATE_HTMLHELP      = NO
-CHM_FILE               = 
-HHC_LOCATION           = 
+CHM_FILE               =
+HHC_LOCATION           =
 GENERATE_CHI           = NO
-CHM_INDEX_ENCODING     = 
+CHM_INDEX_ENCODING     =
 BINARY_TOC             = NO
 TOC_EXPAND             = NO
 GENERATE_QHP           = NO
-QCH_FILE               = 
+QCH_FILE               =
 QHP_NAMESPACE          = org.doxygen.Project
 QHP_VIRTUAL_FOLDER     = doc
-QHG_LOCATION           = 
+QHP_CUST_FILTER_NAME   =
+QHP_CUST_FILTER_ATTRS  =
+QHP_SECT_FILTER_ATTRS  =
+QHG_LOCATION           =
+GENERATE_ECLIPSEHELP   = NO
+ECLIPSE_DOC_ID         = org.doxygen.Project
 DISABLE_INDEX          = NO
 ENUM_VALUES_PER_LINE   = 4
 GENERATE_TREEVIEW      = YES
+USE_INLINE_TREES       = NO
 TREEVIEW_WIDTH         = 250
 FORMULA_FONTSIZE       = 10
+SEARCHENGINE           = NO
+SERVER_BASED_SEARCH    = NO
 #---------------------------------------------------------------------------
 # configuration options related to the LaTeX output
 #---------------------------------------------------------------------------
@@ -395,6 +420,7 @@ PDF_HYPERLINKS         = YES
 USE_PDFLATEX           = YES
 LATEX_BATCHMODE        = YES
 LATEX_HIDE_INDICES     = NO
+LATEX_SOURCE_CODE      = NO
 #---------------------------------------------------------------------------
 # configuration options related to the RTF output
 #---------------------------------------------------------------------------
@@ -402,8 +428,8 @@ GENERATE_RTF           = NO
 RTF_OUTPUT             = rtf
 COMPACT_RTF            = NO
 RTF_HYPERLINKS         = YES
-RTF_STYLESHEET_FILE    = 
-RTF_EXTENSIONS_FILE    = 
+RTF_STYLESHEET_FILE    =
+RTF_EXTENSIONS_FILE    =
 #---------------------------------------------------------------------------
 # configuration options related to the man page output
 #---------------------------------------------------------------------------
@@ -416,8 +442,8 @@ MAN_LINKS              = NO
 #---------------------------------------------------------------------------
 GENERATE_XML           = NO
 XML_OUTPUT             = xml
-XML_SCHEMA             = 
-XML_DTD                = 
+XML_SCHEMA             =
+XML_DTD                =
 XML_PROGRAMLISTING     = YES
 #---------------------------------------------------------------------------
 # configuration options for the AutoGen Definitions output
@@ -429,37 +455,37 @@ GENERATE_AUTOGEN_DEF   = NO
 GENERATE_PERLMOD       = NO
 PERLMOD_LATEX          = NO
 PERLMOD_PRETTY         = YES
-PERLMOD_MAKEVAR_PREFIX = 
+PERLMOD_MAKEVAR_PREFIX =
 #---------------------------------------------------------------------------
-# Configuration options related to the preprocessor   
+# Configuration options related to the preprocessor
 #---------------------------------------------------------------------------
 ENABLE_PREPROCESSING   = YES
 MACRO_EXPANSION        = YES
 EXPAND_ONLY_PREDEF     = YES
 SEARCH_INCLUDES        = YES
-INCLUDE_PATH           = 
-INCLUDE_FILE_PATTERNS  = 
+INCLUDE_PATH           =
+INCLUDE_FILE_PATTERNS  =
 PREDEFINED             = PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 EXPAND_AS_DEFINED      = PPL_OUTPUT_DECLARATIONS
 SKIP_FUNCTION_MACROS   = YES
 #---------------------------------------------------------------------------
-# Configuration::additions related to external references   
+# Configuration::additions related to external references
 #---------------------------------------------------------------------------
-TAGFILES               = 
-GENERATE_TAGFILE       = 
+TAGFILES               =
+GENERATE_TAGFILE       =
 ALLEXTERNALS           = NO
 EXTERNAL_GROUPS        = YES
 PERL_PATH              = @PERL@
 #---------------------------------------------------------------------------
-# Configuration options related to the dot tool   
+# Configuration options related to the dot tool
 #---------------------------------------------------------------------------
 CLASS_DIAGRAMS         = YES
-MSCGEN_PATH            = 
+MSCGEN_PATH            =
 HIDE_UNDOC_RELATIONS   = YES
 HAVE_DOT               = YES
 DOT_FONTNAME           = FreeSans
 DOT_FONTSIZE           = 10
-DOT_FONTPATH           = 
+DOT_FONTPATH           =
 CLASS_GRAPH            = YES
 COLLABORATION_GRAPH    = YES
 GROUP_GRAPHS           = YES
@@ -472,15 +498,11 @@ CALLER_GRAPH           = NO
 GRAPHICAL_HIERARCHY    = YES
 DIRECTORY_GRAPH        = NO
 DOT_IMAGE_FORMAT       = png
-DOT_PATH               = 
-DOTFILE_DIRS           = 
+DOT_PATH               =
+DOTFILE_DIRS           =
 DOT_GRAPH_MAX_NODES    = 50
 MAX_DOT_GRAPH_DEPTH    = 0
 DOT_TRANSPARENT        = NO
 DOT_MULTI_TARGETS      = NO
 GENERATE_LEGEND        = YES
 DOT_CLEANUP            = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine   
-#---------------------------------------------------------------------------
-SEARCHENGINE           = NO
diff --git a/doc/devref.tex b/doc/devref.tex
index 0f350d4..7ebb796 100644
--- a/doc/devref.tex
+++ b/doc/devref.tex
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+% Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 %
 % This document describes the Parma Polyhedra Library (PPL).
 %
@@ -109,7 +109,7 @@ Tatiana Zolo
 \maketitle
 
 \newpage
-Copyright \copyright\ 2001--2009 Roberto Bagnara (bagnara at cs.unipr.it).
+Copyright \copyright\ 2001--2010 Roberto Bagnara (bagnara at cs.unipr.it).
 
 This document describes the Parma Polyhedra Library (PPL).
 
diff --git a/doc/fdl.pdf b/doc/fdl.pdf
index e15cc58..cde4a32 100644
Binary files a/doc/fdl.pdf and b/doc/fdl.pdf differ
diff --git a/doc/fdl.ps.gz b/doc/fdl.ps.gz
index d82811a..2b27e44 100644
Binary files a/doc/fdl.ps.gz and b/doc/fdl.ps.gz differ
diff --git a/doc/gpl.pdf b/doc/gpl.pdf
index 2c677dc..6de4ba9 100644
Binary files a/doc/gpl.pdf and b/doc/gpl.pdf differ
diff --git a/doc/gpl.ps.gz b/doc/gpl.ps.gz
index 9f88930..a09e0ba 100644
Binary files a/doc/gpl.ps.gz and b/doc/gpl.ps.gz differ
diff --git a/doc/libppl.3 b/doc/libppl.3
index c997935..f8d6432 100644
--- a/doc/libppl.3
+++ b/doc/libppl.3
@@ -1,4 +1,4 @@
-.TH libppl "3" "April 2009" "PPL 0.10.2" "libppl overview"
+.TH libppl "3" "August 2010" "PPL 0.11" "libppl overview"
 
 .SH NAME
 libppl \- the C++ interface of the Parma Polyhedra Library
@@ -15,7 +15,7 @@ Note that the PPL has interfaces also for C, Java, OCaml and a number
 of Prolog systems: look elsewhere for documentation on those.
 Note also that the present document does not describe the library
 functionality, its classes or its methods and functions: see
-.IR "The Parma Polyhedra Library User's Manual (version 0.10.2)"
+.IR "The Parma Polyhedra Library User's Manual (version 0.11)"
 for this kind of information.
 
 .SH "INCLUDING THE HEADER FILE"
@@ -61,7 +61,7 @@ when you are done with the library.
 
 .SH "USING THE LIBRARY"
 Keeping in mind that there is no substitute for a careful reading of
-.IR "The Parma Polyhedra Library User's Manual (version 0.10.2)",
+.IR "The Parma Polyhedra Library User's Manual (version 0.11)",
 you can find many examples of use in the directories
 .B tests
 (see the
@@ -196,7 +196,7 @@ before invoking any PPL interface related to such abstractions.
 .BR ppl-config(1)
 .sp
 Roberto Bagnara, Patricia M. Hill, and Enea Zaffanella.
-.IR "The Parma Polyhedra Library User's Manual (version 0.10.2)",
+.IR "The Parma Polyhedra Library User's Manual (version 0.11)",
 available (in several formats) at
 \fBhttp://www.cs.unipr.it/ppl/\fR .
 .sp
@@ -217,7 +217,7 @@ See the file \fBCREDITS\fR in the source distribution or use the command
 Report bugs to <ppl\-devel at cs.unipr.it>.
 
 .SH COPYRIGHT
-Copyright (C) 2001\-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001\-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 .br
 This is free software; see the file \fBCOPYING\fR in the source
 distribution or use the command \fBppl\-config \-\-copying\fR to
diff --git a/doc/libppl_c.3 b/doc/libppl_c.3
index 9d6b7e1..9e8ee1c 100644
--- a/doc/libppl_c.3
+++ b/doc/libppl_c.3
@@ -1,4 +1,4 @@
-.TH libppl_c "3" "April 2009" "PPL 0.10.2" "libppl_c overview"
+.TH libppl_c "3" "August 2010" "PPL 0.11" "libppl_c overview"
 
 .SH NAME
 libppl_c \- the C interface of the Parma Polyhedra Library
@@ -15,9 +15,9 @@ Note that the PPL has interfaces also for C++, Java, OCaml and a number
 of Prolog systems: look elsewhere for documentation on those.
 Note also that the present document does not describe the library
 functionality, its classes or its methods and functions: see
-.IR "The Parma Polyhedra Library User's Manual (version 0.10.2)"
+.IR "The Parma Polyhedra Library User's Manual (version 0.11)"
 and
-.IR "The Parma Polyhedra Library C Language Interface User's Manual (version 0.10.2)"
+.IR "The Parma Polyhedra Library C Language Interface User's Manual (version 0.11)"
 for this kind of information.
 
 .SH "INCLUDING THE HEADER FILE"
@@ -48,9 +48,9 @@ when you are done with the library.
 
 .SH "USING THE LIBRARY"
 Keeping in mind that there is no substitute for a careful reading of
-.IR "The Parma Polyhedra Library User's Manual (version 0.10.2)"
+.IR "The Parma Polyhedra Library User's Manual (version 0.11)"
 and
-.IR "The Parma Polyhedra Library C Language Interface User's Manual (version 0.10.2)"
+.IR "The Parma Polyhedra Library C Language Interface User's Manual (version 0.11)"
 you can find examples of use in the directories
 .B interfaces/C/tests
 and
@@ -81,7 +81,7 @@ is especially valuable for GNU/Linux users).
 .SH "RETURN VALUES"
 All the PPL C interface functions return an int: a negative value means
 that an error occurred.  See
-.IR "The Parma Polyhedra Library C Language Interface User's Manual (version 0.10.2)"
+.IR "The Parma Polyhedra Library C Language Interface User's Manual (version 0.11)"
 for the error codes.
 
 .SH "IMPLEMENTING MEMORY-GUARDED COMPUTATIONS"
@@ -127,12 +127,12 @@ before invoking any PPL interface related to such abstractions.
 .BR libppl(3)
 .sp
 Roberto Bagnara, Patricia M. Hill, and Enea Zaffanella.
-.IR "The Parma Polyhedra Library User's Manual (version 0.10.2)",
+.IR "The Parma Polyhedra Library User's Manual (version 0.11)",
 available (in several formats) at
 \fBhttp://www.cs.unipr.it/ppl/\fR .
 .sp
 Roberto Bagnara, Patricia M. Hill, and Enea Zaffanella.
-.IR "The Parma Polyhedra Library C Language Interface User's Manual (version 0.10.2)",
+.IR "The Parma Polyhedra Library C Language Interface User's Manual (version 0.11)",
 available (in several formats) at
 \fBhttp://www.cs.unipr.it/ppl/\fR .
 .sp
@@ -153,7 +153,7 @@ See the file \fBCREDITS\fR in the source distribution or use the command
 Report bugs to <ppl\-devel at cs.unipr.it>.
 
 .SH COPYRIGHT
-Copyright (C) 2001\-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001\-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 .br
 This is free software; see the file \fBCOPYING\fR in the source
 distribution or use the command \fBppl\-config \-\-copying\fR to
diff --git a/doc/ppl-config.1 b/doc/ppl-config.1
index b4633ea..2e50341 100644
--- a/doc/ppl-config.1
+++ b/doc/ppl-config.1
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.36.
-.TH PPL-CONFIG "1" "April 2009" "ppl-config 0.10.2" "User Commands"
+.TH PPL-CONFIG "1" "August 2010" "ppl-config 0.11" "User Commands"
 .SH NAME
 ppl-config \- obtain information about an installation of the Parma Polyhedra Library
 .SH SYNOPSIS
@@ -104,7 +104,7 @@ Report bugs to <ppl\-devel at cs.unipr.it>.
 .SH "REPORTING BUGS"
 Report bugs to <ppl\-devel at cs.unipr.it>.
 .SH COPYRIGHT
-Copyright (C) 2001\-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001\-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 .br
 This is free software; see the file \fBCOPYING\fR in the source
 distribution or use the command \fBppl\-config \-\-copying\fR to
@@ -116,26 +116,26 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 .BR libppl_c(3)
 .sp
 Roberto Bagnara, Patricia M. Hill, and Enea Zaffanella.
-.IR "The Parma Polyhedra Library User's Manual (version 0.10.2)",
+.IR "The Parma Polyhedra Library User's Manual (version 0.11)",
 available (in several formats) at
 \fBhttp://www.cs.unipr.it/ppl/\fR .
 .sp
 Roberto Bagnara, Patricia M. Hill, and Enea Zaffanella.
-.IR "The Parma Polyhedra Library C Language Interface User's Manual (version 0.10.2)",
+.IR "The Parma Polyhedra Library C Language Interface User's Manual (version 0.11)",
 available (in several formats) at
 \fBhttp://www.cs.unipr.it/ppl/\fR .
 .sp
 Roberto Bagnara, Patricia M. Hill, and Enea Zaffanella.
-.IR "The Parma Polyhedra Library Java Language Interface User's Manual (version 0.10.2)",
+.IR "The Parma Polyhedra Library Java Language Interface User's Manual (version 0.11)",
 available (in several formats) at
 \fBhttp://www.cs.unipr.it/ppl/\fR .
 .sp
 Roberto Bagnara, Patricia M. Hill, and Enea Zaffanella.
-.IR "The Parma Polyhedra Library OCaml Language Interface User's Manual (version 0.10.2)",
+.IR "The Parma Polyhedra Library OCaml Language Interface User's Manual (version 0.11)",
 available (in several formats) at
 \fBhttp://www.cs.unipr.it/ppl/\fR .
 .sp
 Roberto Bagnara, Patricia M. Hill, and Enea Zaffanella.
-.IR "The Parma Polyhedra Library Prolog Language Interface User's Manual (version 0.10.2)",
+.IR "The Parma Polyhedra Library Prolog Language Interface User's Manual (version 0.11)",
 available (in several formats) at
 \fBhttp://www.cs.unipr.it/ppl/\fR .
diff --git a/doc/ppl-user-0.10.2-html.tar.gz b/doc/ppl-user-0.10.2-html.tar.gz
deleted file mode 100644
index 976b39a..0000000
Binary files a/doc/ppl-user-0.10.2-html.tar.gz and /dev/null differ
diff --git a/doc/ppl-user-0.10.2.pdf b/doc/ppl-user-0.10.2.pdf
deleted file mode 100644
index 8fb0e4b..0000000
--- a/doc/ppl-user-0.10.2.pdf
+++ /dev/null
@@ -1,89805 +0,0 @@
-%PDF-1.4
-%����
-5 0 obj
-<< /S /GoTo /D (section.1) >>
-endobj
-8 0 obj
-(\376\377\000G\000e\000n\000e\000r\000a\000l\000\040\000I\000n\000f\000o\000r\000m\000a\000t\000i\000o\000n\000\040\000o\000n\000\040\000t\000h\000e\000\040\000P\000P\000L)
-endobj
-9 0 obj
-<< /S /GoTo /D (subsection.1.1) >>
-endobj
-12 0 obj
-(\376\377\000T\000h\000e\000\040\000M\000a\000i\000n\000\040\000F\000e\000a\000t\000u\000r\000e\000s)
-endobj
-13 0 obj
-<< /S /GoTo /D (subsection.1.2) >>
-endobj
-16 0 obj
-(\376\377\000U\000p\000w\000a\000r\000d\000\040\000A\000p\000p\000r\000o\000x\000i\000m\000a\000t\000i\000o\000n)
-endobj
-17 0 obj
-<< /S /GoTo /D (subsection.1.3) >>
-endobj
-20 0 obj
-(\376\377\000C\000o\000n\000v\000e\000x\000\040\000P\000o\000l\000y\000h\000e\000d\000r\000a)
-endobj
-21 0 obj
-<< /S /GoTo /D (subsection.1.4) >>
-endobj
-24 0 obj
-(\376\377\000R\000e\000p\000r\000e\000s\000e\000n\000t\000a\000t\000i\000o\000n\000s\000\040\000o\000f\000\040\000C\000o\000n\000v\000e\000x\000\040\000P\000o\000l\000y\000h\000e\000d\000r\000a)
-endobj
-25 0 obj
-<< /S /GoTo /D (subsection.1.5) >>
-endobj
-28 0 obj
-(\376\377\000O\000p\000e\000r\000a\000t\000i\000o\000n\000s\000\040\000o\000n\000\040\000C\000o\000n\000v\000e\000x\000\040\000P\000o\000l\000y\000h\000e\000d\000r\000a)
-endobj
-29 0 obj
-<< /S /GoTo /D (subsection.1.6) >>
-endobj
-32 0 obj
-(\376\377\000I\000n\000t\000e\000r\000v\000a\000l\000s\000\040\000a\000n\000d\000\040\000B\000o\000x\000e\000s)
-endobj
-33 0 obj
-<< /S /GoTo /D (subsection.1.7) >>
-endobj
-36 0 obj
-(\376\377\000W\000e\000a\000k\000l\000y\000-\000R\000e\000l\000a\000t\000i\000o\000n\000a\000l\000\040\000S\000h\000a\000p\000e\000s)
-endobj
-37 0 obj
-<< /S /GoTo /D (subsection.1.8) >>
-endobj
-40 0 obj
-(\376\377\000R\000a\000t\000i\000o\000n\000a\000l\000\040\000G\000r\000i\000d\000s)
-endobj
-41 0 obj
-<< /S /GoTo /D (subsection.1.9) >>
-endobj
-44 0 obj
-(\376\377\000O\000p\000e\000r\000a\000t\000i\000o\000n\000s\000\040\000o\000n\000\040\000R\000a\000t\000i\000o\000n\000a\000l\000\040\000G\000r\000i\000d\000s)
-endobj
-45 0 obj
-<< /S /GoTo /D (subsection.1.10) >>
-endobj
-48 0 obj
-(\376\377\000T\000h\000e\000\040\000P\000o\000w\000e\000r\000s\000e\000t\000\040\000C\000o\000n\000s\000t\000r\000u\000c\000t\000i\000o\000n)
-endobj
-49 0 obj
-<< /S /GoTo /D (subsection.1.11) >>
-endobj
-52 0 obj
-(\376\377\000O\000p\000e\000r\000a\000t\000i\000o\000n\000s\000\040\000o\000n\000\040\000t\000h\000e\000\040\000P\000o\000w\000e\000r\000s\000e\000t\000\040\000C\000o\000n\000s\000t\000r\000u\000c\000t\000i\000o\000n)
-endobj
-53 0 obj
-<< /S /GoTo /D (subsection.1.12) >>
-endobj
-56 0 obj
-(\376\377\000T\000h\000e\000\040\000P\000o\000i\000n\000t\000s\000e\000t\000\040\000P\000o\000w\000e\000r\000s\000e\000t\000\040\000D\000o\000m\000a\000i\000n)
-endobj
-57 0 obj
-<< /S /GoTo /D (subsection.1.13) >>
-endobj
-60 0 obj
-(\376\377\000U\000s\000i\000n\000g\000\040\000t\000h\000e\000\040\000L\000i\000b\000r\000a\000r\000y)
-endobj
-61 0 obj
-<< /S /GoTo /D (subsection.1.14) >>
-endobj
-64 0 obj
-(\376\377\000B\000i\000b\000l\000i\000o\000g\000r\000a\000p\000h\000y)
-endobj
-65 0 obj
-<< /S /GoTo /D (section.2) >>
-endobj
-68 0 obj
-(\376\377\000G\000N\000U\000\040\000G\000e\000n\000e\000r\000a\000l\000\040\000P\000u\000b\000l\000i\000c\000\040\000L\000i\000c\000e\000n\000s\000e)
-endobj
-69 0 obj
-<< /S /GoTo /D (section.3) >>
-endobj
-72 0 obj
-(\376\377\000G\000N\000U\000\040\000F\000r\000e\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\040\000L\000i\000c\000e\000n\000s\000e)
-endobj
-73 0 obj
-<< /S /GoTo /D (section.4) >>
-endobj
-76 0 obj
-(\376\377\000D\000e\000p\000r\000e\000c\000a\000t\000e\000d\000\040\000L\000i\000s\000t)
-endobj
-77 0 obj
-<< /S /GoTo /D (section.5) >>
-endobj
-80 0 obj
-(\376\377\000M\000o\000d\000u\000l\000e\000\040\000I\000n\000d\000e\000x)
-endobj
-81 0 obj
-<< /S /GoTo /D (subsection.5.1) >>
-endobj
-84 0 obj
-(\376\377\000M\000o\000d\000u\000l\000e\000s)
-endobj
-85 0 obj
-<< /S /GoTo /D (section.6) >>
-endobj
-88 0 obj
-(\376\377\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000I\000n\000d\000e\000x)
-endobj
-89 0 obj
-<< /S /GoTo /D (subsection.6.1) >>
-endobj
-92 0 obj
-(\376\377\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000L\000i\000s\000t)
-endobj
-93 0 obj
-<< /S /GoTo /D (section.7) >>
-endobj
-96 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000I\000n\000d\000e\000x)
-endobj
-97 0 obj
-<< /S /GoTo /D (subsection.7.1) >>
-endobj
-100 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000H\000i\000e\000r\000a\000r\000c\000h\000y)
-endobj
-101 0 obj
-<< /S /GoTo /D (section.8) >>
-endobj
-104 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000I\000n\000d\000e\000x)
-endobj
-105 0 obj
-<< /S /GoTo /D (subsection.8.1) >>
-endobj
-108 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000L\000i\000s\000t)
-endobj
-109 0 obj
-<< /S /GoTo /D (section.9) >>
-endobj
-112 0 obj
-(\376\377\000M\000o\000d\000u\000l\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
-endobj
-113 0 obj
-<< /S /GoTo /D (subsection.9.1) >>
-endobj
-116 0 obj
-(\376\377\000C\000+\000+\000\040\000L\000a\000n\000g\000u\000a\000g\000e\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e)
-endobj
-117 0 obj
-<< /S /GoTo /D (section.10) >>
-endobj
-120 0 obj
-(\376\377\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
-endobj
-121 0 obj
-<< /S /GoTo /D (subsection.10.1) >>
-endobj
-124 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000\040\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-125 0 obj
-<< /S /GoTo /D (subsection.10.2) >>
-endobj
-128 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000I\000O\000\137\000O\000p\000e\000r\000a\000t\000o\000r\000s\000\040\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-129 0 obj
-<< /S /GoTo /D (subsection.10.3) >>
-endobj
-132 0 obj
-(\376\377\000s\000t\000d\000\040\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-133 0 obj
-<< /S /GoTo /D (section.11) >>
-endobj
-136 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
-endobj
-137 0 obj
-<< /S /GoTo /D (subsection.11.1) >>
-endobj
-140 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000B\000D\000\137\000S\000h\000a\000p\000e\000<\000\040\000T\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-141 0 obj
-<< /S /GoTo /D (subsection.11.2) >>
-endobj
-144 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000B\000H\000R\000Z\0000\0003\000\137\000C\000e\000r\000t\000i\000f\000i\000c\000a\000t\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-145 0 obj
-<< /S /GoTo /D (subsection.11.3) >>
-endobj
-148 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000B\000H\000R\000Z\0000\0003\000\137\000C\000e\000r\000t\000i\000f\000i\000c\000a\000t\000e\000:\000:\000C\000o\000m\000p\000a\000r\000e\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-149 0 obj
-<< /S /GoTo /D (subsection.11.4) >>
-endobj
-152 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000B\000o\000x\000<\000\040\000I\000T\000V\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-153 0 obj
-<< /S /GoTo /D (subsection.11.5) >>
-endobj
-156 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-157 0 obj
-<< /S /GoTo /D (subsection.11.6) >>
-endobj
-160 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000h\000e\000c\000k\000e\000d\000\137\000N\000u\000m\000b\000e\000r\000<\000\040\000T\000,\000\040\000P\000o\000l\000i\000c\000y\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-161 0 obj
-<< /S /GoTo /D (subsection.11.7) >>
-endobj
-164 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-165 0 obj
-<< /S /GoTo /D (subsection.11.8) >>
-endobj
-168 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-169 0 obj
-<< /S /GoTo /D (subsection.11.9) >>
-endobj
-172 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\137\000S\000y\000s\000t\000e\000m\000:\000:\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-173 0 obj
-<< /S /GoTo /D (subsection.11.10) >>
-endobj
-176 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-177 0 obj
-<< /S /GoTo /D (subsection.11.11) >>
-endobj
-180 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-181 0 obj
-<< /S /GoTo /D (subsection.11.12) >>
-endobj
-184 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\137\000S\000y\000s\000t\000e\000m\000:\000:\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-185 0 obj
-<< /S /GoTo /D (subsection.11.13) >>
-endobj
-188 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000s\000\137\000R\000e\000d\000u\000c\000t\000i\000o\000n\000<\000\040\000D\0001\000,\000\040\000D\0002\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-189 0 obj
-<< /S /GoTo /D (subsection.11.14) >>
-endobj
-192 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000D\000e\000t\000e\000r\000m\000i\000n\000a\000t\000e\000<\000\040\000P\000S\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-193 0 obj
-<< /S /GoTo /D (subsection.11.15) >>
-endobj
-196 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000D\000o\000m\000a\000i\000n\000\137\000P\000r\000o\000d\000u\000c\000t\000<\000\040\000D\0001\000,\000\040\000D\0002\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-197 0 obj
-<< /S /GoTo /D (subsection.11.16) >>
-endobj
-200 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000F\000r\000o\000m\000\137\000C\000o\000v\000e\000r\000i\000n\000g\000\137\000B\000o\000x\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-201 0 obj
-<< /S /GoTo /D (subsection.11.17) >>
-endobj
-204 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-205 0 obj
-<< /S /GoTo /D (subsection.11.18) >>
-endobj
-208 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-209 0 obj
-<< /S /GoTo /D (subsection.11.19) >>
-endobj
-212 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000:\000:\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-213 0 obj
-<< /S /GoTo /D (subsection.11.20) >>
-endobj
-216 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000M\000P\000\137\000I\000n\000t\000e\000g\000e\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-217 0 obj
-<< /S /GoTo /D (subsection.11.21) >>
-endobj
-220 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000r\000i\000d\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-221 0 obj
-<< /S /GoTo /D (subsection.11.22) >>
-endobj
-224 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000r\000i\000d\000\137\000C\000e\000r\000t\000i\000f\000i\000c\000a\000t\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-225 0 obj
-<< /S /GoTo /D (subsection.11.23) >>
-endobj
-228 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000r\000i\000d\000\137\000C\000e\000r\000t\000i\000f\000i\000c\000a\000t\000e\000:\000:\000C\000o\000m\000p\000a\000r\000e\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-229 0 obj
-<< /S /GoTo /D (subsection.11.24) >>
-endobj
-232 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-233 0 obj
-<< /S /GoTo /D (subsection.11.25) >>
-endobj
-236 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-237 0 obj
-<< /S /GoTo /D (subsection.11.26) >>
-endobj
-240 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000:\000:\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-241 0 obj
-<< /S /GoTo /D (subsection.11.27) >>
-endobj
-244 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000H\0007\0009\000\137\000C\000e\000r\000t\000i\000f\000i\000c\000a\000t\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-245 0 obj
-<< /S /GoTo /D (subsection.11.28) >>
-endobj
-248 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000H\0007\0009\000\137\000C\000e\000r\000t\000i\000f\000i\000c\000a\000t\000e\000:\000:\000C\000o\000m\000p\000a\000r\000e\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-249 0 obj
-<< /S /GoTo /D (subsection.11.29) >>
-endobj
-252 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000I\000n\000t\000e\000r\000v\000a\000l\000<\000\040\000B\000o\000u\000n\000d\000a\000r\000y\000,\000\040\000I\000n\000f\000o\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-253 0 obj
-<< /S /GoTo /D (subsection.11.30) >>
-endobj
-256 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000I\000s\000\137\000C\000h\000e\000c\000k\000e\000d\000<\000\040\000T\000\040\000>\000\040\000S\000t\000r\000u\000c\000t\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-257 0 obj
-<< /S /GoTo /D (subsection.11.31) >>
-endobj
-260 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000I\000s\000\137\000C\000h\000e\000c\000k\000e\000d\000<\000\040\000C\000h\000e\000c\000k\000e\000d\000\137\000N\000u\000m\000b\000e\000r\000<\000\040\000T\000,\000\040\000P\000\040\000>\000\040\000>\000\040\000S\000t\000r\000u\000c\000t\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-261 0 obj
-<< /S /GoTo /D (subsection.11.32) >>
-endobj
-264 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000I\000s\000\137\000N\000a\000t\000i\000v\000e\000\137\000O\000r\000\137\000C\000h\000e\000c\000k\000e\000d\000<\000\040\000T\000\040\000>\000\040\000S\000t\000r\000u\000c\000t\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-265 0 obj
-<< /S /GoTo /D (subsection.11.33) >>
-endobj
-268 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-269 0 obj
-<< /S /GoTo /D (subsection.11.34) >>
-endobj
-272 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000M\000I\000P\000\137\000P\000r\000o\000b\000l\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-273 0 obj
-<< /S /GoTo /D (subsection.11.35) >>
-endobj
-276 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000N\000N\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-277 0 obj
-<< /S /GoTo /D (subsection.11.36) >>
-endobj
-280 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000N\000o\000\137\000R\000e\000d\000u\000c\000t\000i\000o\000n\000<\000\040\000D\0001\000,\000\040\000D\0002\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-281 0 obj
-<< /S /GoTo /D (subsection.11.37) >>
-endobj
-284 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000O\000c\000t\000a\000g\000o\000n\000a\000l\000\137\000S\000h\000a\000p\000e\000<\000\040\000T\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-285 0 obj
-<< /S /GoTo /D (subsection.11.38) >>
-endobj
-288 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000a\000r\000t\000i\000a\000l\000l\000y\000\137\000R\000e\000d\000u\000c\000e\000d\000\137\000P\000r\000o\000d\000u\000c\000t\000<\000\040\000D\0001\000,\000\040\000D\0002\000,\000\040\000R\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-289 0 obj
-<< /S /GoTo /D (subsection.11.39) >>
-endobj
-292 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000i\000n\000t\000s\000e\000t\000\137\000P\000o\000w\000e\000r\000s\000e\000t\000<\000\040\000P\000S\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-293 0 obj
-<< /S /GoTo /D (subsection.11.40) >>
-endobj
-296 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000l\000y\000\137\000C\000o\000n\000\137\000R\000e\000l\000a\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-297 0 obj
-<< /S /GoTo /D (subsection.11.41) >>
-endobj
-300 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000l\000y\000\137\000G\000e\000n\000\137\000R\000e\000l\000a\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-301 0 obj
-<< /S /GoTo /D (subsection.11.42) >>
-endobj
-304 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-305 0 obj
-<< /S /GoTo /D (subsection.11.43) >>
-endobj
-308 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000w\000e\000r\000s\000e\000t\000<\000\040\000D\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-309 0 obj
-<< /S /GoTo /D (subsection.11.44) >>
-endobj
-312 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000R\000e\000c\000y\000c\000l\000e\000\137\000I\000n\000p\000u\000t\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-313 0 obj
-<< /S /GoTo /D (subsection.11.45) >>
-endobj
-316 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000S\000m\000a\000s\000h\000\137\000R\000e\000d\000u\000c\000t\000i\000o\000n\000<\000\040\000D\0001\000,\000\040\000D\0002\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-317 0 obj
-<< /S /GoTo /D (subsection.11.46) >>
-endobj
-320 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000T\000h\000r\000o\000w\000a\000b\000l\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-321 0 obj
-<< /S /GoTo /D (subsection.11.47) >>
-endobj
-324 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000V\000a\000r\000i\000a\000b\000l\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-325 0 obj
-<< /S /GoTo /D (subsection.11.48) >>
-endobj
-328 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000V\000a\000r\000i\000a\000b\000l\000e\000:\000:\000C\000o\000m\000p\000a\000r\000e\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-329 0 obj
-<< /S /GoTo /D (subsection.11.49) >>
-endobj
-332 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000V\000a\000r\000i\000a\000b\000l\000e\000s\000\137\000S\000e\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-333 0 obj
-<< /S /GoTo /D [334 0 R  /Fit ] >>
-endobj
-336 0 obj <<
-/Length 1263      
-/Filter /FlateDecode
->>
-stream
-x��W�v�6��+��)y��  ���D�R�v�k�]4�� 	
E* G��>
�`�nw]�Żo��y�����|<xw�p at rD	K��, e�p�YA�4O�O�x!��2
�G��\-����f!��Oo�Dq��>�?����AL�K
-'��Lj��s�;ެym��i�2F���g����_'z�pL0C��@U ��
��7��P�lLJ����
:�LP�� NR�2��<��t뎟�y��V{6Ƀ
�9&�(�*Ii��$��nN1�9
I	�\���
ҹT+YI��;便Ⱥ>A��~��*���i.�J�
s]5�s��ge�,"8䍨�Sf�V
���$�j\GMR��NL
Y�����l�>�
����;��K��DB�
���U-;oă�*i��i�y�7�7S���ϥ�x���m#'%���&���f�z�݋�Z{0E����
<��4�n�F8�L��c�� ���M��n��6�w�3\)Y;)�܀b\����ƃ�C�NP�"a(�EP-�>�`
-�
�PO�
HV"R�0����w� �
r ��JĴ�H�����Hb�$��4���a�a��~y"�IZ�+�t�q��z�j���c@��`P��#�$P_���ۙ���Ӯ����ͭ�ZI�h	��ʭ(�	����@��J�-�@����3��m
n���~����D���jUK�t�M/b���43�f�:�"_u (�9���»LJ��$�+���r�L�uk9̽j�/
����
 ��
j�n'�V܉K›F
��-�zȟ���sf���Bv�ޛ�0x�6���ɷ3�m�U[�א��'�:lx����9�+ʱ����se�7�Lo�C�x[/��G���� swr֪^��j�a
R/M�p��塕>�����wy�y��^8C���
�
v��F�������
r[w�Z�N��<I�q��Wߤ�j�
F��)�SX�
3�p�ٮl���!PF���2������O�>�>���a��P������c'�Ȭ
��:�|��y� ��``k�i��+«����+te� [...]
-endstream
-endobj
-334 0 obj <<
-/Type /Page
-/Contents 336 0 R
-/Resources 335 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 343 0 R
->> endobj
-337 0 obj <<
-/D [334 0 R /XYZ 90 757.935 null]
->> endobj
-338 0 obj <<
-/D [334 0 R /XYZ 90 733.028 null]
->> endobj
-335 0 obj <<
-/Font << /F50 339 0 R /F23 340 0 R /F37 341 0 R /F38 342 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-372 0 obj <<
-/Length 1874      
-/Filter /FlateDecode
->>
-stream
-x��ZKs�6��W�Vr&��^*;r�ԱUIn&��@K��	E�$U����\@Z�%O�3�s"� ���-� �qg0�m�t�99�
#�#_���ֈ����7&3�yvu9�_N�֟�w�+�-
x�iJP��O:u8Ș�����
Ϙ.:��d�
��
f;Qh�7��u�Ƹ�{�m��c���f��f�g�C���k�+<f~
��`�‡gD�Q~#�:��i|��e��b
�!�/��^fIQZ�g�I
M�n�ʌ.l_�4�d�T��,�.2S3��jZ&7R5�sI���=3.j�a�>��L��"�)��a=���b��CY.��J���:��8|ޕqV�V��
E�T��=���М%U
S��uYK�g�����"�%�T��Z�z��~��d��(
5�Ku�o�ڸ���$祔�Eq;�|Z��>��u	0�E2�Y%_a�7��8�,�U;�5��Qgh���q-��oo�Y,oҤ����z�^��"���/�.��1>5]��7�q~[ߣi�RI�q�
,Ck MfX���)4�z��~�
�� �\3��$n`ⱜ��
-�����e��ݳ
GV��ߜX3%J�Z]@��Mz7 at WS��4�~y�#��QW��u��=jZ��Q��F)�

-)y�*
O�M��
l�c�I֢KE�
-�"�S�r\8ʸ��N��Qc�h�M{�=���j�T�{؎8� /������0��� ��NP̗�kgT(�#�����+�,�h׬��j=#�:W��e�6b
d&�8�e�!ra�.+�@��qE�M���!
��"
tQ.��Zd��'�P�@B�h�t:$'�	
>�6"F��T㚺�[�]1(/p.w�}�:��/U<A��T�w�ذ��w��܁*�yQ� ��M$��;�XY�
@|�m��?�]�������LQbpֿ
����p#��pC":�>S�5��@0�
�E�c�SM��$M�t�z/+y�L_)!��ʇ��׫�	u�]~TR�C��hԻ�|�"� ʥ��W%FYrf��<
-R�E�&D �T8����$A�|���
-Z �tp1�|T
Jz�&���XU�FT��c���,������EO5�Gëqߦ1�R�I��U�Ӕ�tC�|#�5�[�;1ܔRg0u���N�k�V�^��~�E�λ�iՒd0�b#�V:(?'1��Z�����8A
�md��av�
4ٞ'h=�.^������:��(ғ�q��������uWڜ�o�򯬮����X�iE`G��
�X�o��1�mü�Y"�i��a_��Vb

�\WyZO�n&�'z���ަ�e\/KY�G
!5�z�����F�a=[v�_;C#�Q�nq�Io\*�
�We�5Y��:�N�������V_��QV6S*���ʤ�#T���]��?uNJ�r�Hqt�>����9�
-C��n�]�
�6���{U���i�왖u}��u��������W�
@�P�g~�LN�x8�m��h���Gh���h�����2��>tG2mh�3��<.v%:�˱�72v���}ߖ��y������
��'"�~r=�B�:y9
������a���^���W�mU��鮼�
���Sy���� ^?�x���d��e�O!�i�9���
��M���6����E�g�!c_WIv�B�> k6��g>�	�
P\��ir�&�]s
oZ�#��_���S_R��Ӯ>��
;#�G�#ԃ��ہ=��t�}�*l{<�=�yi��<����h�

�U㾑
8�k};z�T��z�;6s������{n
����e*���L~��Q����?!~hG<<��+�oG��_A��������.�+Y��yT�t;[j��ea�f2��lAet
��X�m.���a`;Lh�
~�j�VJv\�l\��m��2�
-endstream
-endobj
-371 0 obj <<
-/Type /Page
-/Contents 372 0 R
-/Resources 370 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 343 0 R
-/Annots [ 344 0 R 345 0 R 346 0 R 347 0 R 375 0 R 348 0 R 349 0 R 350 0 R 351 0 R 352 0 R 353 0 R 354 0 R 355 0 R 356 0 R 357 0 R 358 0 R 359 0 R 360 0 R 361 0 R 362 0 R 363 0 R 364 0 R 365 0 R 366 0 R 367 0 R 369 0 R ]
->> endobj
-344 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [385.063 672.708 490.947 683.612]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
->> endobj
-345 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.426 650.855 322.585 659.702]
-/Subtype /Link
-/A << /S /GoTo /D (GFDL_GFDL) >>
->> endobj
-346 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [231.464 619.218 337.877 630.122]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
->> endobj
-347 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [440.112 607.263 513.996 618.167]
-/Subtype /Link
-/A << /S /GoTo /D (GPL_GPL) >>
->> endobj
-375 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 597.365 169.87 606.212]
-/Subtype /Link
-/A << /S /GoTo /D (GPL_GPL) >>
->> endobj
-348 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [219.806 511.219 383.194 521.117]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-349 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 445.415 244.609 454.391]
-/Subtype /Link
-/A << /S /GoTo /D (section.1) >>
->> endobj
-350 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 427.81 204.111 436.657]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.1.1) >>
->> endobj
-351 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 408.129 224.216 419.033]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.1.2) >>
->> endobj
-352 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 390.504 202.04 401.408]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.1.3) >>
->> endobj
-353 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 372.88 278.96 383.784]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.1.4) >>
->> endobj
-354 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 355.256 260.699 366.16]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.1.5) >>
->> endobj
-355 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 339.569 207.588 348.535]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.1.6) >>
->> endobj
-356 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 320.007 234.029 330.911]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.1.7) >>
->> endobj
-357 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 304.44 187.245 313.287]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.1.8) >>
->> endobj
-358 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 284.758 245.904 295.662]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.1.9) >>
->> endobj
-359 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 269.191 237.077 278.038]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.1.10) >>
->> endobj
-360 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 249.509 292.419 260.413]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.1.11) >>
->> endobj
-361 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 233.942 252.3 242.789]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.1.12) >>
->> endobj
-362 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 214.261 199.688 225.165]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.1.13) >>
->> endobj
-363 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 196.636 181.387 207.54]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.1.14) >>
->> endobj
-364 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 171.087 229.087 180.063]
-/Subtype /Link
-/A << /S /GoTo /D (section.2) >>
->> endobj
-365 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 143.5 252.131 152.476]
-/Subtype /Link
-/A << /S /GoTo /D (section.3) >>
->> endobj
-366 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 114.01 173.546 124.889]
-/Subtype /Link
-/A << /S /GoTo /D (section.4) >>
->> endobj
-367 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 88.326 165.446 97.302]
-/Subtype /Link
-/A << /S /GoTo /D (section.5) >>
->> endobj
-369 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-373 0 obj <<
-/D [371 0 R /XYZ 90 757.935 null]
->> endobj
-377 0 obj <<
-/D [371 0 R /XYZ 90 463.983 null]
->> endobj
-370 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-416 0 obj <<
-/Length 1355      
-/Filter /FlateDecode
->>
-stream
-x��Z[s�F~ׯ�ҤZ������r�8Ml�R�P'�	KL(����w�
��"_҉_�f�=����w��15��u2j��81P
sctk(h� ��M�����b��b4�|�3(�r�o]�s�x��z��ڊ����3a��m�|��D��3  Jw�\�b��sc���ӵ$��t��tu
�A
-���@Βe0�:]l�'˹
�W�Mk�t�>:]�U��
9F�����rT��Y], �"q�]�M\X�
.����b�sob�[%��5{hn��5�Q�ijmC����N��1�^�T)s+
�E:ԉ�4�*�Zn Td�bÇ
�o
;����ګN��xJN�F���8��Yĉ"}X��c�| ��� I�O�uꏗ��EV��^�4VR�6�͓���ի�
�7]Z�M��ඣ�痜}��ODž"�o<p��LL���	 	�m��eVc0m誃X�
-\˼�站=	,��Y��U���®�[;��CVpELG�N��N�"F�K���/�˅ν��5ᣏ�F
�ׇ�$0�Ѥ��@/�c.
B5Pbb'�W1�S��G(����ɩ9�Y���{g��*t��iV���\�k��\0*�C&dv����@Tv�<���m�]̭�419�
��j�����Ő�Q.�P%�9y{�$��"�#�x�����Z)�H�/:u �*ʔ�6���wV��1���8*S+H
��B;
!\u��P�U��+�2�գ�|�w�,
-@��&ȃ�
�
�EJD�0�X?
6�Zw+�c��TQ(RT?y\f��K�B��b�~����zG$+��i�^��k�6��%�
-f&�
�6ԏF��\QD>��5��U ��i�\��2���W#��7`���9\���VǨ������%T
����DI�R�B�
�W��N��ҍ�Q`9^T}��go��/h�P
�j����@��A�p
�D�W"R4�3���м�'��M{�|��
���ʊ������X-�=j��m�g�
-=��ćH�r$Om����e�Œ��U��jX4
��2��q�	����h�ʑ׈c�c�U@�w5�ͫ���[X*b ��w���ƪ�U��]�
���C|��9��K�����f�GVo���O�U���r$��^]����Cu�v�"k at T�~�����I���Ѽ� 5yT ��$��l�K�����R�mJ�~9�`,�j4K�n�Ԧ
O��^4�=�+��_:��SX>X�Қ'�?BS

-���	���SH#@�K�va��/F���Q9�Y��� �8S�Y-�����
�`�9� 8Qo�������!
-�f��̷��=@t<=讟��G��Yx�A
-endstream
-endobj
-415 0 obj <<
-/Type /Page
-/Contents 416 0 R
-/Resources 414 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 343 0 R
-/Annots [ 368 0 R 380 0 R 381 0 R 382 0 R 383 0 R 384 0 R 385 0 R 386 0 R 387 0 R 388 0 R 389 0 R 390 0 R 391 0 R 392 0 R 393 0 R 394 0 R 395 0 R 396 0 R 397 0 R 398 0 R 399 0 R 400 0 R 401 0 R 402 0 R 403 0 R 404 0 R 405 0 R 406 0 R 407 0 R 408 0 R 409 0 R 410 0 R 411 0 R 413 0 R ]
->> endobj
-368 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 721.97 163.723 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.5.1) >>
->> endobj
-380 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 692.46 180.928 703.339]
-/Subtype /Link
-/A << /S /GoTo /D (section.6) >>
->> endobj
-381 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 674.701 192.764 685.605]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.6.1) >>
->> endobj
-382 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 649.151 155.484 658.127]
-/Subtype /Link
-/A << /S /GoTo /D (section.7) >>
->> endobj
-383 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 629.49 192.714 640.393]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.1) >>
->> endobj
-384 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 603.94 155.484 612.916]
-/Subtype /Link
-/A << /S /GoTo /D (section.8) >>
->> endobj
-385 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 586.335 168.435 595.182]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.8.1) >>
->> endobj
-386 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 558.728 206.393 567.705]
-/Subtype /Link
-/A << /S /GoTo /D (section.9) >>
->> endobj
-387 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 539.067 226.298 549.971]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.9.1) >>
->> endobj
-388 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 511.614 221.874 522.493]
-/Subtype /Link
-/A << /S /GoTo /D (section.10) >>
->> endobj
-389 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 493.855 325.674 504.759]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.1) >>
->> endobj
-390 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 476.231 385.987 487.135]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.2) >>
->> endobj
-391 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 458.607 231.757 469.511]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.3) >>
->> endobj
-392 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 433.057 196.43 442.033]
-/Subtype /Link
-/A << /S /GoTo /D (section.11) >>
->> endobj
-393 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 413.395 416.04 424.299]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.1) >>
->> endobj
-394 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 395.771 389.902 406.675]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.2) >>
->> endobj
-395 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 378.147 434.176 389.05]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.3) >>
->> endobj
-396 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 360.522 399.991 371.426]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.4) >>
->> endobj
-397 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 342.898 364.449 353.802]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.5) >>
->> endobj
-398 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 325.273 474.819 336.177]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.6) >>
->> endobj
-399 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 307.649 355.024 318.553]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.7) >>
->> endobj
-400 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 290.025 389.345 300.929]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.8) >>
->> endobj
-401 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 272.4 449.668 283.304]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.9) >>
->> endobj
-402 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 254.776 348.398 265.68]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.10) >>
->> endobj
-403 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 237.152 382.719 248.056]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.11) >>
->> endobj
-404 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 219.527 443.042 230.431]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.12) >>
->> endobj
-405 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 201.903 487.442 212.807]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.13) >>
->> endobj
-406 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 184.278 427.108 195.182]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.14) >>
->> endobj
-407 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 166.654 464.189 177.558]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.15) >>
->> endobj
-408 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 149.03 394.038 159.934]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.16) >>
->> endobj
-409 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 131.405 346.715 142.309]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.17) >>
->> endobj
-410 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 113.781 381.036 124.685]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.18) >>
->> endobj
-411 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 96.157 441.359 107.061]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.19) >>
->> endobj
-413 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-417 0 obj <<
-/D [415 0 R /XYZ 90 757.935 null]
->> endobj
-414 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-452 0 obj <<
-/Length 1422      
-/Filter /FlateDecode
->>
-stream
-x��[s�F
���z+̔��/L�!��4��о8�
k��������we	s��j

���h{���A�փ�i�ݰq�O�1��7����0���ػjv/z����u�ɣH������w6>
7��=�x9@捦�������<�����YS�bb>#o����[)�Ooˆ.˛cp���@Q�	L 䬼
0l�l�[�5�t��$z��q����4H:���g:?�V��66Wt�`>/�^���x�;��+�-)o��}����rk�&�M
���mb泍�.� 
4i8��!�x
֬^@��2l����4
�@�G�ѕ5@&ѡ�D���2Ɉ
�N��LgAZ�d��(�����Wu�A5P�n��X�A��u��:�r@��"��LO��Hߤ��a
p��w:�$�g~��Չ�p;���S�����P�f�>��9sd�@������:�
��v�:�P��6gD�/�|Dh5�qj�ZD�_�S6R�y�<��w�]<6-�8k�\�:�o���9��u�� [...]
-U�
��x/���Ϳ��i�"ݡz�`����,�p�
V�=*��f̸����Ģ(�
�:H���R=��Il�����M¡2 ���Y���uT�
�
�"�pX�!S��}�]G"
ʃ���~�&�S/�/��L�|�T<xJ{
z��d�
W4G��;W2�q���P(�EgQ�]���6���L���LԔ�xk���1�C�
%ٍ��HUۘ-*��`Q�PHۄ@c��ƫ�Sb����X؈\8����rY�,C ї���j9T���ò������H0q��5}?	�l�3s,���:5�f �[{APe���G�o7�շ�,�6E�m�f
-m0���Mb� �
�� Wo�x'���Sd��T�q@� �G>��8ԍ{��ùV
	
DBl�hEH�5"`E
-pI��D��6�E�X�9�֨E�v�G��Q���xv��X��
-
�H)v�e�E�6��ɋ�
-�&&A��U��
��N��m
�(���0�|1*�����N��3^���-
-��Z!s4����>
%-Y��˿v��B����?&U5i����j�
E���7�j��v��J��/�-^A�@	S��1+7���y"\n.0�%�b�ϹNj1�,��]߿@���t�R
An��2���@/���7o����}>�r�H��
>��L�l�99����9���Y
-��d6�N��m�!
-��@7�w��bք��9}
���c��
�PN�
-endstream
-endobj
-451 0 obj <<
-/Type /Page
-/Contents 452 0 R
-/Resources 450 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 343 0 R
-/Annots [ 412 0 R 419 0 R 420 0 R 421 0 R 422 0 R 423 0 R 424 0 R 425 0 R 426 0 R 427 0 R 428 0 R 429 0 R 453 0 R 430 0 R 431 0 R 432 0 R 433 0 R 434 0 R 435 0 R 436 0 R 454 0 R 437 0 R 438 0 R 439 0 R 440 0 R 441 0 R 442 0 R 443 0 R 444 0 R 445 0 R 446 0 R 447 0 R 449 0 R ]
->> endobj
-412 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 719.912 361.519 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.20) >>
->> endobj
-419 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 702.288 325.146 713.192]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.21) >>
->> endobj
-420 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 684.664 371.631 695.567]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.22) >>
->> endobj
-421 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 667.039 415.904 677.943]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.23) >>
->> endobj
-422 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 649.415 369.958 660.319]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.24) >>
->> endobj
-423 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 631.79 404.278 642.694]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.25) >>
->> endobj
-424 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 614.166 464.601 625.07]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.26) >>
->> endobj
-425 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 596.542 370.525 607.446]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.27) >>
->> endobj
-426 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 578.917 414.799 589.821]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.28) >>
->> endobj
-427 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 561.293 457.744 572.197]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.29) >>
->> endobj
-428 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 543.669 422.018 554.573]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.30) >>
->> endobj
-429 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 526.044 513.996 536.948]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.31) >>
->> endobj
-453 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 516.146 169.232 524.993]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.31) >>
->> endobj
-430 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 496.465 468.653 507.369]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.32) >>
->> endobj
-431 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 478.84 382.142 489.744]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.33) >>
->> endobj
-432 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 461.216 363.342 472.12]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.34) >>
->> endobj
-433 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 443.592 378.834 454.496]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.35) >>
->> endobj
-434 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 425.967 454.227 436.871]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.36) >>
->> endobj
-435 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 408.343 443.148 419.247]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.37) >>
->> endobj
-436 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 390.718 513.996 401.622]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.38) >>
->> endobj
-454 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 380.821 169.232 389.667]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.38) >>
->> endobj
-437 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 361.139 451.227 372.043]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.39) >>
->> endobj
-438 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 343.515 385.489 354.418]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.40) >>
->> endobj
-439 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 325.89 385.479 336.794]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.41) >>
->> endobj
-440 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 308.266 352.822 319.17]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.42) >>
->> endobj
-441 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 290.641 410.252 301.545]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.43) >>
->> endobj
-442 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 273.017 367.049 283.921]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.44) >>
->> endobj
-443 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 255.393 468.623 266.297]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.45) >>
->> endobj
-444 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 237.768 349.694 248.672]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.46) >>
->> endobj
-445 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 220.144 340.08 231.048]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.47) >>
->> endobj
-446 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 202.52 384.353 213.424]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.48) >>
->> endobj
-447 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 184.895 361.668 195.799]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.49) >>
->> endobj
-449 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-450 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-465 0 obj <<
-/Length 2576      
-/Filter /FlateDecode
->>
-stream
-x��YI��6����m��n��ͳTM��
���s�S)��$��($hE���
�D�����\D޾|���f,n.���x�C-r?OD��[/�`�&��pqW-�z�嵈�F��/jzyޮ/E�u}Shյ4i�z+i���K�"<q��݋���.~��o�
�8��(^����_�E�/���boV5����Y/n/�}��
.�h�+��� ���a|�� ,q�<�
�`q-�H"c�eqg7�X(�����
��0��@��`be$���D�����2��$�׮>le���K���@/�8 a�҄�i/���d����G�hPO)���ڲo�V����f�5=۱��*�-�W�vv�P2飷�����ʢ��Jҳ��^�ղ�(My�N�z�9ś���d�0�X/L�~�j��3�}�"�~]�F��j���̲�� �gW�҇q���B
+Ƞ���W��C���, 4Y&�_��'q�&����0�ۤ�d��H�7JsJ�(
�a��
����O�%c�
r�go
����|�
X'���V����0^nAgv��a��|���b���{:G
���S6�"�`��w;�[�n�7[�^΅�lvu��;�`@�[zs�D���àe3�
/
�0(�"�A
��I2�.Di#����m�W{�<�:tk}���
*FD�x{��'�%�Z��Պء
�
c�mU����S�N��j^��o=���n����ۨ��v}�鋦q��݌�FLd8����nd�n����X�m��N3ݕ]mh/1���ZCF�g�y{	���y��� .�Hxߓ�LRo�q��c&DY ;]��Y��l;M�F���9
,�
Յ)���
�_ޮ�*���4
j�j٠RQ�R�t%�iil�
��d$Ѐ%��	���o��+)y[m�v�^4J�#/>���m+e�L,W�6�U����.�.���&��9
?pA��cLM���S�� \:��X�����l��m�v�Z�H*�ȋ
k��{��Dw�;N�;�L����#H�=kit� *w���wt��נ�Mr�&�c����jI_�|o2��cF
h��p"=2$�aԨ͖�+�6r=�4�oe;W
L
�z�zEA����
�������鉅gԮ���F����Ğ�ئ~"�ST+M���ᔸc}�sl���󺫡^��A�'�m L�e����8g�	�5��0�Ҭ:�6�C�d[Շ'�������Ҍ �M��~
��C�J��#z� ��@\�9d�y9Cu	�����	����
�?�@
?���
	@�K���I�t���'�L��Ai�謉5�=��z�k	?�b�$��ɗ92���mѨ�
Y\
-D:���U��A�z���H�	�S�.���U����r0]���i��ʈ��b�L逵�?O[h
��JN�C8�/��lg �$��.�lr�]%���i�d	X�(�p^(�n�՟S��sP�X��q�����6}⠕��C���0��V�ܡI��b-Y�v
-!9td�A
�ƾt��"w
Nե
�Zٺ��/`i[�����1��~#�C�Z�9��FER��jY�=�w
����M��Nyk8g
�%�d�j�m���#�sE�+�Ɯ�Xzh��b7�r
�
4�.ݎh��hԓg�Z��'$ h𜈲S�7�GcP�f�L�
-i��p
WmY�����H��T�+�A?=-��V�SaYA�p�^Y��`���=&�����L�S������ە_��u/]t
�E��J
�W��	Y �
 �y}ܼz3s��z\�����*��K�O�3��9�r"�h�b�6�)�|7i�P�KЀw���
���y����>�Mt3�Ĉ��
�z?R��H��2bG��P<1�
��\��UǎI��~�t-[1��Z+�F[N\�W��
/
l��q��g KM�"�
-��e�9�û�&����+�hB���]X�7���2��U��U�9���,�څ��#�aU)���KQ}P%�&��xj��yc[�~v�
-t ��y�.�U���m.�����8t������ҒTL�'ݼ2j

�Hoc����Ѕ*���؅��y�*
�
�C
-)MS`
�=�B�8���A�,���SHx��B������ _OV�m$�
�9{� � 
�ܻ�B��Iۮ0u��h�лyƩq-���Ӱ��č��'l7���f�z�Č�ihnpq��}�p����-J��Ԕ����m�x�f�����/	Ig�w at e����n3M�^/󀅟	vg*
��&G����&~�t���\(�nN�f����Hힳ�'H�q+x���/ g,��������"s&X��p�\�7\���~�\�^}�dY�i�d��SѾ{��-T�+�e��ԟ<���P�������
�LD��
������Rl���~�D���I ��㧭/t|��܍F
-9��N~����D_���D'{���L2?������O;��s?���ܦ�����?y�N.�� 8�
�����غKA܄�W�����.X�o�d%I��
;���(o��~t��l���������/lծ��~��Տ�zB%\B9�D�=��9���?��� ���

-endstream
-endobj
-464 0 obj <<
-/Type /Page
-/Contents 465 0 R
-/Resources 463 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 343 0 R
-/Annots [ 448 0 R 455 0 R 456 0 R 457 0 R 458 0 R 459 0 R 460 0 R 462 0 R ]
->> endobj
-448 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.351 641.725 427.818 652.629]
-/Subtype /Link
-/A << /S /GoTo /D (main_convex_polys) >>
->> endobj
-455 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.548 288.288 337.122 299.192]
-/Subtype /Link
-/A << /S /GoTo /D (main_use_of_library) >>
->> endobj
-456 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 170.907 190.125 180.805]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-457 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 150.982 202.08 160.88]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-458 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 131.056 187.689 140.954]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-459 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 111.131 229.532 121.029]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-460 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 91.301 169.757 101.487]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-462 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-466 0 obj <<
-/D [464 0 R /XYZ 90 757.935 null]
->> endobj
-6 0 obj <<
-/D [464 0 R /XYZ 90 733.028 null]
->> endobj
-467 0 obj <<
-/D [464 0 R /XYZ 90 712.582 null]
->> endobj
-468 0 obj <<
-/D [464 0 R /XYZ 90 712.582 null]
->> endobj
-10 0 obj <<
-/D [464 0 R /XYZ 90 712.582 null]
->> endobj
-469 0 obj <<
-/D [464 0 R /XYZ 159.628 279.486 null]
->> endobj
-470 0 obj <<
-/D [464 0 R /XYZ 90 262.759 null]
->> endobj
-463 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F65 376 0 R /F23 340 0 R /F72 471 0 R /F31 472 0 R /F10 473 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-487 0 obj <<
-/Length 2299      
-/Filter /FlateDecode
->>
-stream
-xڭY�s۸�_��J3
�$H&���΍��뜛�}In<Y��H���S���ł$(�r�ɃM|.���]�{O
��o~X�ܾU���DI�-7^½H	J�-��Ǚ`b����r��
�ٿҼ��۹
g:m�\�3���c5��-������s�'
�0b�z����o�[��O
g~{G�j�҇o�}���
�<r�א;�
-�X��^$}�UH
�24������2��
�
:db�����:_����)�H.�կp���y�LX�4u��Z�
���K���wK\y�Q¢��䨃(���);]�u��
4��|�m�F�v�*����\��̗
����Y�6���"С+�3Z
-�;P���(5�S����x��� �BW8/�Vu;AE&,�������!"�
✢��).��,	�y�v�,�,�9Rq�-x��#lr�yD�O<�UM��pv�N��o����1I��q�i�R����-5A
f�I�j�?rč/�/-t�6�K?dB	G���\aY<���|H���zlm/-��JS����P:�t����7�m�k�
�ą���8������^�t:}�i�2�ȋ��/ʟN}	�S�w���KZ\÷P���v��ݾH[{�q[F2�N8Ʋ_�1в��ѻ�lz��f�w
(C�~����H���3�.�U�}u@�!)s��‹�D��/g��
�[i��!և��k��;-��t��C�X�C��	̀&7u��VZ��?���F
���p�pl]<ݩ4+뫡!�.��?ht��P
u

��#����~�_'<@b��Ç)"xQ�-��5��I?��a"������>RH�6�
���!��LJ��Ƥ4���4�w���;i�'���ڋ�	Β
(&|"���M�"�ε5>���J�X
��
�h�z��Py�@ +Q�;�"r܀����{p������L�>@~��y?�d:C
�-5�s8�F�i��rW�u��.̶��42���AgҢ
*�g�Pcp0pWB $�XW;Ȱ�K�7����sD�<�����!�A�;�9�
vP�-��8.��44n�Gi�@���x�٘| Y
�~^>���~
��
m�@
����쌀!����=]�,B���a���F���Y!D� ��
D��L+��`4c�u��{m"
N�ݷ
���R�v�9�M2�;��@��]�sY7��t���J������^
3&�`
-�����pF at W;��]�Μ�o�z*Hr�:�3���0����l�̞�Ϝ���ϛ�iHM�H��)!��(��Lgv�:ߜ��`�6��:k�D�%
;8 0j,
 �Bj��mkm� �A4����rm-

�R,�br at JG.���D� 
������U�z"y�^ Y����
�n℩: z�5F��P ��9��"�K�JM�[ƒg�CR;TL��n������uK
J멼0�מ��D% �yv#o�2�`��Y�<�$镃旣�f�Ԅ�膑o@׏��)m�
隍���kL��

84ka����F�4����׹I�qTM��-���ꘛ�
����w�q\t��>[LFg�fV�.Nsd��
�!w�e"��\T�̓�nrd�e�rѰMh`�b��z��x�a����tGT��ò)�+�h8$��x⨉DŽɋ ��w%M����*җ���� :��똋�M��.=����!f¹-DD�rNy~1y8Ѷ~�2�(��
V�{v�>��nm�hGg�����4�Q�8��׏�	ee��Z�h�}�A at c�EV�n��z- N � ���ßP	�a���+�*
-�((����9��/ԆhW�itKm���,�?<�bo~���P[+���>�y!\�٧]տ�w�l K{3^�_x�����cU��i�4.����픬��
�� �gȨ�d���!^���.�~�Z]�n�ݪ*�U��zY��
���x��*~@�E�b	��6϶4A�J
Z?��
���fbе�gv��
�2�|Ws����Xa2L��d���˵s"�s{�]0��G�yt�p��~�}�	ǵ��{I�9�|5DtY��
C9‰
-�p"��)V#��]ƣ���ص�nhUK�/`��5|.�\t����tG�
#���.����r��i�
�c�9�yG�,��������X���/Oa��08��pֻ�v�����v�WuZ[��O����p�t�T���
��M��
�#HC�����*��w�k�L�L�"��?<�n�v����x<��aPw�k����o/_|
*"`QOdsY��%��sع���e �
-endstream
-endobj
-486 0 obj <<
-/Type /Page
-/Contents 487 0 R
-/Resources 485 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 343 0 R
-/Annots [ 461 0 R 481 0 R 482 0 R 483 0 R 484 0 R ]
->> endobj
-461 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 720.63 142.304 730.433]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-481 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.957 624.888 268.261 635.792]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-482 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 562.461 247.465 572.264]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-483 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 542.441 337.129 552.339]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-484 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-488 0 obj <<
-/D [486 0 R /XYZ 90 757.935 null]
->> endobj
-489 0 obj <<
-/D [486 0 R /XYZ 496.074 477.842 null]
->> endobj
-490 0 obj <<
-/D [486 0 R /XYZ 90 461.115 null]
->> endobj
-491 0 obj <<
-/D [486 0 R /XYZ 390.898 361.523 null]
->> endobj
-492 0 obj <<
-/D [486 0 R /XYZ 90 344.795 null]
->> endobj
-493 0 obj <<
-/D [486 0 R /XYZ 338.874 166.557 null]
->> endobj
-494 0 obj <<
-/D [486 0 R /XYZ 90 149.83 null]
->> endobj
-485 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F72 471 0 R /F11 418 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-502 0 obj <<
-/Length 2509      
-/Filter /FlateDecode
->>
-stream
-x��ZKs���W���b�H�1�\R�3U�dkS�T3[[�YL(RKR�ѿO7 A��eg&��ģ���?@�;/��_�����]
z�b{�;/
�$�L
-���G�3�Z� �۽Z��
���eM�w+!}���v�S_u�u�e�����~�����>��5_��$���p���+`�G/`a�z����E"�o�}���U`d
\Ye��ʃ�Ea�%"dA,I�OBH��]�}\K�*k��$����ړ���!����&Y�F��|���pX�mX��-X�Ǿ�yME�ݩ���RWyו��@��F���mTB�c��ԆGc��֎�hY���4Uՠ��K˦;�}��˭�6k�] �q�Ic -���L��d��LY�h���Z��X���O�
�c׸��]�zM�,
��z��(��'Qf	>$ŌK�$�-� �ItD,K��D�S]�\��>k��4�O��秾���r�W��9��Kt����Q�dƍ�Ϲ�W�g��KU�|"m�4��eA�E1��:�!���"�7ͩ.T�.�
*�S-f��h�.��R>�S��r�ݲ4�E
�f��26�>�k��E
u`���ҙ͆��?b���_嘉�S
�>�.��[��o��*��k��L&Oor��
�tQ [...]
-U�(��'��0�B����d�~���e� I�D��5ucH���gfd�JX,
�塬�:�b�_�F)
t�R��RF.5}
.�hc�xF4v��'�ڎ��FKO���,�x��x�F<�Ș�m򵁤���
-��K@'�����ɚC΋&�4�;�C�_UG�b%�˪�"�|�i(ȟ3M�-L�:�%N��L:Z:�1Ů����Ƕ9��2N�R}iz��#��"S���%5�igȉW��1�y�3��$
/rƫ��1����֕�֍/��X(;<��b�
zSIb��M��g��U�P�;
�M��3�ΐ)
w*�8�&���
�-�ryR�����H_��4A;�S�W�8 �e���
�
-���J�ɤ�N�Y
��"��J��@��i^_��
�^5���{�Bܭ��?�����J�xv�c_
 �>���4�ǘ�v�骉4E-]5�KU3
-'��%�S�j���L�����W�� 3D"��4ߐ��G�Y��8��
-1D�)D�߯8\�ڂz�m��n�T^w4C��������	��0���T+�CDr� ��WC�`���� w7���t��`
-�l��jmWLƱ]E�o��.�
��q1d2
�ib�-M}�v��k 
�h�m�Cĩ%N�H���ƇD�8><�#HG�ث�Hr�͇=4�^r��[�'�.u�L�$ǪDg`q���f]'����#���a[X�ظ�Ά��*ty���'�����bHȭ. |Љ�^o$<�ݩ�0��Mio���5��y)E��ց�I��dr�V
�J�h����R�����y��
�A�I;F�II�
�<
 ��k �C΢������l����"C�u}A��Bi�Z�����RJ:�h�
J�C۪���2��U�\��E4��WE��$-j��H�!�-&�/���g����y]Pc:���Ua��As1ߢ��
2�;6
�i`:�������e�^���J���M���@9=���c
-p=`O���9���[f���#Jɋ�W'y<�X)�̀y�x
,S�r���
-8�7;x�������ԑ:yms.0�����s�I�;���)5a�
�r�`Ԁp�ϥ����A>n�$�R�G",?�+
�1�[:R�"�*���x��4{ҋ1����ځ����O;�������0͝)�a3Ώ;���� �y�0^M1
�����(e�~�v-1b�O�z���L>�br�ƀ��Ơ��&�
}��t`��i���A�[�Ǭé��uQ
��q���Cgt��}����	C���Z�Ь9���E�:�Y��~���R_[D0K���B��BH���教���g6 at q"��	듚h�}s��*>0�u�F��C�Q�/*3��sϚ��6#^�)9aQ20���P_7����تNս*\$ 0����  �`qܢonγ�>7��,� $�u�
-����ɽz�{<���(��Qr>>W��-�f��%1��
9^�1`5�N|K
���	���
D�E<���	Z�a;=f�k�@ޫaB�9hyi���}�5������Ż�����N��a>��cf�H�8�*���۷WlUꠟ
��>tٞN���H[�B
��Lvmc�
�<Z����[�p뿞���-;���l���4�Om;���
����{��@���Ӱ��3G������/��ߍ��X  �2rB`ߟ12�����o����:�T�����d�/�>��R�4��u��'S����2J�f��l��W����r�na0�}������߳m�NuylY�� D�yx,
.<bcB���
�˓WaЩ̮��
��(�
-endstream
-endobj
-501 0 obj <<
-/Type /Page
-/Contents 502 0 R
-/Resources 500 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 507 0 R
-/Annots [ 499 0 R ]
->> endobj
-499 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-503 0 obj <<
-/D [501 0 R /XYZ 90 757.935 null]
->> endobj
-506 0 obj <<
-/D [501 0 R /XYZ 90 79.617 null]
->> endobj
-500 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F8 504 0 R /F23 340 0 R /F11 418 0 R /F7 505 0 R /F72 471 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-511 0 obj <<
-/Length 2428      
-/Filter /FlateDecode
->>
-stream
-x��ZYs�8~ϯ���Um�u����v��Q3��}�r�2
kF�Pr{��~
��ز��j� ���2�=������w�C>KHz��a;K�,
-	<6{�̾�a�%���vr��:�Yd�i}\x�\�v�,��f��,��y���ᇻ<��yǀ�1M7�HăYZ�}���60�Ì�ij�^U�|��3�}���
���ㄆA'#��r~��T�����
-٪,5��IUV�t�B�
h�2K(	�
�p��_��4ҽR�l�'�m�u]��1���`t^ٕ�hig��y>�d�мתr{�-Y����O������/� �ZW��Nn�Q���dc7 �m�^���l�w��ē�W��ȳR6�
yS�2!��
U��^���D�PNO��r�
„���Pc��� 
�3K��^�Gt}'4�Z��WJ������e6�~V��jd!`�����Y���J�c����Y����Z�^[����Pό$���5����*$�Ͱ�
'�;Y,
��Y���*[%�xsߟ�Ƽ&r%�ƒ�m�b]�|�����H�<j
-k��!
p�b8���xMV���{�����DZ����5���JC��s�Gt?46��os�xa����F�
sA͒�$
��3G�pp��嗎�%n����L.BR�Hcl�pm��S��w`ߪ}�	��:�����+��dQ�ކb0�C���gܷG�n���;�MFրV�I a�ٍwr7�T*�Dlw����%7�YK�"�V���lE�#׌d��P>���
�������f�����	C
E�{᝵�>E��(f=�p���$'�F|i|ն�hQ=f���U�W�
�� '7�X�:g8�M~ �*U�$��pd����fr���%���XH��`�|�j��r������B
	��V6�>��;�,!T����l�W

x�#�][\��x����U+�U!�J=��W�'�|�&xD|Hg�զ�
�ry
�' �6��B�p�j��Z�Q&�#��jF
k��쿲
@���yk������pg�N����4�8gZ�4��=D|�}C��7�k�c҅]�]� �)Y+H���[
��(��(�g�[�����l#� �ɰoWa��6�`K`�p���
-���*�f
-����q����]cj%��N�e�t�C
+��gJ�#8Q&���A��ކ��*���F���!�t�
{�c�1rՅ�)?���,���v
R_Ez��(ʬ��}�q��ļ��y(��`�n�>ǘ�����[�R��t�
�M��K-6��H��
-D�X���i	��1��i��1�,'�<��(H�FN�;�w*�q%����'�Gkdz����~�]�ЩBJ~������ |���߾z�U���эA��-�O���d[����X26�C`�o��G��
s	sߙ�
Hp4�3��f�%Q��u��^o����GT���B
"A���q���r~�̠
����УqJC.5%-��)t}IM��O4�c����̜	N*����NU�B��x�bc�62�1X`6Ð��u��%}�qQe��v�)BqF��~��k��#�ݗ)���Ր�q'c��k�B'�=H9NY�½u���W�ם5XӶX*\&��w��}Rw�~��z�UU1�1'��Q�Tuw�p6_
W��U��$����rQ�ޅ����]��
���+`�=Nb} �ɠQ�u����Fj�<Ɂ�\$�־��JA�ιu���}a�v�s��c�r��ȭ �����5J��_O��]�\��U����x��Q�
-7���ĩhe	o"��xs��
{�
1�I]���`ws\��kwO��q��e�
0z</_Q�v��y��+����uV~��Z����H⯬���U���Yyi����ʃ����oj��ig%T���� �x��oͪ͜|�=�6Y?N��A�9�Sg����F�	�&��O#B��A��o2w/j��,'QҦ:']D��#��h�B<�W� �\�P�}_�|~jҝ��^9���gA@|�n�'x]�% �'s��
��^�^���F�Rwi��A��
-��
��RhGOy���YR��b'�}$�w�ݽx��"
���+8
]y���k'�ň�9��p��
e����ca��;��`"W�EtP�$9N�˾ȕ}�}a����Y��Š)k:���^�b�T��>�C2�E�n(Q6=�ıC�禵���f�3}!�"�M�
�0���j-�^j���CA�v��<�*�m3��^

K$Ǐ��Ju/�}�:��FJ(D�{��
��2��,B����X��V��$�xl[`*���
-�v�?#�)[+�����H��E��{�r����e�w�.�P�(�Г����g)�&�����֏&F
�e1�2���]������I�/�Z������m�G��$�t�`�Ju�����?�j=�
-endstream
-endobj
-510 0 obj <<
-/Type /Page
-/Contents 511 0 R
-/Resources 509 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 507 0 R
-/Annots [ 508 0 R ]
->> endobj
-508 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-512 0 obj <<
-/D [510 0 R /XYZ 90 757.935 null]
->> endobj
-513 0 obj <<
-/D [510 0 R /XYZ 90 733.028 null]
->> endobj
-514 0 obj <<
-/D [510 0 R /XYZ 292.568 631.571 null]
->> endobj
-515 0 obj <<
-/D [510 0 R /XYZ 90 615.161 null]
->> endobj
-516 0 obj <<
-/D [510 0 R /XYZ 90 588.909 null]
->> endobj
-517 0 obj <<
-/D [510 0 R /XYZ 90 569.556 null]
->> endobj
-509 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-521 0 obj <<
-/Length 2510      
-/Filter /FlateDecode
->>
-stream
-x��ZKs�6��W�R� 	��S6��&�l�9ͤ\Y�P$��Q��~h�)Y��LmU.�ٍ~��n�t�4��w7��{+�YJR���a3K�,�D��
ֳ�sF�b�(��Z,yD�?˼�����Jv}�`�\��e��D�����o�<����:c�n�8�f�����t���g�i2ۛU�Y������P{F�5��YOH�Y�BE���ydػ} `�mJH(�0�e���cQ��'Q�cz�M����m��#�!I>���w���X���%
H�
-���
-l�e�wv�\c��a��U#��*[2�
B�
X�$�V�d��e&�vwM�uU�m��j�_��V�d���޽�E�T8���6M���,*,�� ��(��R�@;b�U�R
�@�(I#�N_�0�W+�h����J�}K���3d_�e���	Ⱥn!��g�3�FJN�����>�}g�x�S���'��me�Z
-)f�
�r�t=�3���l�iL����<���=ʐ`Ἣ�7д;s��,
-;kX�t]�e�⠱�?�V}�)
���nqx��t�]Rw�m�Uq�5��Q`����}�S'<��Z
:�#�d T�J��s�V8�
+�`�.���̻�]
Jة�xt�y���m�mq����u�gβ0�I� �5U1Y�1\�;:��nT��H����VKpSKN�T��3t�g�a�p�_-�!����[t���`򨆐'y�sy���Xg��Ԥ�>���
F�J�vtk�'熑�ܸ//';�8��.�.0���� 
��k��`�2�`x"�9?� r;�j�����2��(�ZLݒ���
�� &��fm� &xx`l� 
��	}��[��@K�*G��`��,��
y�ݭ�W�3�������V�
��GD�i� �
�5A�'x��/"�}h�A�V� �%�& �:��;l����qm��J6�����S�t�x'���#�<5�*5�q�ZJD;	uQ�s:� �|���Yp=���S�/�g�oU⪣R��=�a��\�
xSa7�u]5�96�1�L��*mJ�
 �3d
-�w�_�Tb�J��8!|˪�P�w�֥
.�0�Y�(�|�
wt�L��jxl�-�
���5n�u��Ki�&�#����J�Q<m��l�w,�bĘG$���p_�n�׏G.��4""�RNFID���
�eD��EҡO ��j
QD L]�
 ��$i�b�K�U��)9�����J��P��s
��v&q�� ��b�r$RH�m��
�#��������8E�x��¢O|�>�G�8�1ko��xr��%�1����V﬚s#%,���!(I<��9�%�����bդu��Ӂ�1�XUiҡ��s9�
���1�n�N��Z�Heg�pa0�R�0.��oL2��4���OK����n��Ҵ�F����$�nOܪsN4��Fq�
���k@���F#�%�H$��7jȣ.;��}��2��$��e�#LI��AL8,��'�	l;�/����ʟ�
-�_2*��l|���
-,,"1
=5J+��/�#����h�Y�Zp4�5�Z
F
��3����??��!��^)��(M��a	d�rg�d;�ʪ�Q-� k]�10  MSbp�_y@��>Q�{��1��1F�a��5���+�3F
�K�ӷ=�Edz
�
��X"HN�
-�;�
K��;
����bf�8��.��*���Ű������Tvtk^�9�)�ᕑ��
K�-
-]J�b�K����=g��67u�����Ҕ��<U�w�Ɔ_VC�x���PX��͸�9�n at 5cy��p�<��SB �ѳ�RD���
-�*u�y;k
�U�t
�{p5���$��"kWL�H�Ą'�a�����kr�Wg���@*%q�-��|8�����R�l�tL4��$g�P��̏�������Lt,�t�T3��l&+��yN���|�ᘳvI���8s�/��
�~��#��[Ǘ�HK��Ew�ʑ���Z��v$)CzJ�$�	ll�/ʕ��^b�M���r�cD�K���\���!�W��.#1GN���.�r<�����K�'�
&���r�2��Ѽ�k�m�
Fl"�孎n���›˷ΰ!�w�g�G�⢩S�5���2���	'�~g%
p�pZ�t���*4!�/��?���z�7/�{R� �7��P�����߾6*

-��BE½����A&%�w�ո�&�'����v�J�
��NT/��=a.	4��EM��V�����Yp�al�<�(��(����ț�,�Ӊ
f%��
�����i��zuƥ�@P

������/?������_��!u��������_ )"G��78���DuHr�
����_��h�RE��.���	��ـ�kU
�j���O�����fZ��m��:�e�~Z�Rb�Ѵ�S%��
ûFp��.�@�����?�
�˒�t(��]W������$kI_�uC���Ӏ�Qa!T���k�1�K���!S��ek�
-endstream
-endobj
-520 0 obj <<
-/Type /Page
-/Contents 521 0 R
-/Resources 519 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 507 0 R
-/Annots [ 518 0 R ]
->> endobj
-518 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-522 0 obj <<
-/D [520 0 R /XYZ 90 757.935 null]
->> endobj
-523 0 obj <<
-/D [520 0 R /XYZ 90 703.078 null]
->> endobj
-524 0 obj <<
-/D [520 0 R /XYZ 90 599.569 null]
->> endobj
-525 0 obj <<
-/D [520 0 R /XYZ 90 555.835 null]
->> endobj
-519 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F72 471 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-533 0 obj <<
-/Length 3753      
-/Filter /FlateDecode
->>
-stream
-xڽks�6���U�V
�3}&�i.v�w�v:�DۼR�JRq|��v� 	R�l'�}��
���/�|����'��j��,����r��E
��X�o?/��+�9_�������Jj���T��nמ�tټ+�y_65�ʢ(^&���{����'V�
a��%J/�ۓ��
���Le���@m�T�[-�N�~�';����Y*�E"���l�����/Ͽ��o/_�����/��~�ß��<�Fs��L�Z��Ob��fB��/�~���ٷ? �#8S��K�M^oXÈ\
���/_=?�R+����t�"�<�.;�t̗ͮh�i�I,�kh~�׈l���`�\��`������O_�,��9�����ش(C|�*j����z�w�+
��_�Eݻ7�E�ok
�_n�"M9d���:vĞ���ُ�}L��b�
�{=D�Rq��$������L3����{R���t4�(��������q����_Ö	`Wl�/���ݫ�T��
�@�1�&���C�8�E�T��sܐ����Sn��}�a�+/ڼ�=�5X�J�dy�4����,�u�

o���΢��o�+���==�E��z�a]7v|�5�ݾ/6_�_��[тt�b]�¹,��!m��CE���-h W˪ܖ}4(1,�ѫܲ
,����ȩ�
9~����~�
��Q�g�n�{NO/�K�	xl�Gb
�zg�o�Bx3�
>=��s�J;�9X
Y>Ș���#��X��.�����D�d�4Ha.��]�u�EuKO]ߖk��ۃ�
-�d�W ��욲�a��K��'�Y%�aoD�8�D��0��ؿ������8��F��M��eoe�ow��ᣒ��̅"�)_�j@$�q���	L�~�

6�Y
FF�q�k\�m�����-��%�u״��o�׊+��yY4�馹�=E�/�
�E��N����d��xq͸H���B�j�
3�_��M��F�8I�/�h=>K;t�&̥˟����n�m@.rx1��G����g��o��
�eTu|�l�m�g�����l�����w
	��c��yuմ���}6�
�,<�\oJ�Kx��L� 7����&Xrk��v�uӒNx���}�����غ�խ!Y �jEv��g8*�h�EaM
(�I&��.���-h���}�/	��]6UE�*�+�!�HA�����,PUO�����Ue�
}5GG3�Bͦ���,��8t|H&�ės�A�a��
-��@�b
,Lm�K���X�6�P�	
?5тO�AM�lM�e�9�(~z��K,$��w���6���Fh�xAcC�>,G�
��E���~�
��5��	
�b�	l��s&$y;�h��	���)�=�h�\�1�`����ޖ
%�8�
�B��w�ͬ�=�$3I��!�x�$&�>�(S��m����A;3k9��l�
�4ߛ��3�+>>컢����ĉɇ]2���T��i�i�a�D���:|�h��\��M0�j��(�n
nH%W��ݻ��[�I���I/�g��f�_�P��5��;B��
�ޙ�ڽ�D�M�K����j5L��
�I�l��� f=��l��\є��E<����9b��֭jV�d?-��Mka6E���Z�F^�`B�WCJ>�.
&���r=D#�6�B��	�����T���O��o�lu�����g��o���ˋ_-���>��7�߳��_��)
}4�u��P�e���bNTII�;�A/����PI��5�}�]��
S�b��u��t�j5P���Wu:MM�.y
-BWVP�u�Ak͒X}p��(S�
���_N@�>�!L�k{�6%��0��
��5U�@S��זT���K
-
S�`�)z�$z0���T#�H�e&�Sf�BQ96� ��z�����`�ݸ'��@�.�A��,�fM��Es5ďDP�-a`
-$�p�&1����zU�su
-��/q#�
H����	<�
�Ɔ&��!e�">gD� ��B�ʱ ~��eC1�Y�g��)rH�5&R
2?��� �om1"��T���T��x(yh)$�|
-'˧��O�~>��:��Y�FcY�y`'�tj,�`���*��	�'Z4�j`�ۀYG,��Dre�qe�/8��Ha�&,똆� r�"5tAWh+J	��C�l�PENSH�	,5�M��֦#g^zn���	�u��,�1c&�m�ghef�	y0
Ȣ��(cúř���[H��ػ�0Y�
�7�I}����c&e2S��؎dž��F�4�pa%
�o`x����d�� X&
�����bؐ��)Q�\�Dur�0��1ĸD��Ǵ{Ǹc'�8�M���0,d�P�2�3�g���؄:D`�cx��;�,dY^���U�R��Q��u�9�[S�"
-W��w��c��W����m�a�G��	踑�0Vs#�(]ʒT�q�PY �=^	K��=(j5�����A�P�P4S
Fu�
���sG4	x�l�ʇ�F0��%G��|�Әs#K&ܠsmu��WT<�D�^7����ab�Q��֜pΨ
-g
-N]���
�Ѱ�ʕrW�kי t�
���J/�}
-J��L�;ccF>���nP�-�

�'�S�6�������r��
��v�H0�y�:���۝Es��#$���C-�\�R��=�ST�a'>Kl�����
V���F��9K�<	�D䐠
b�%���&x�!>�	�r���=Y2�̧�:@
���>�����
�O�t,f��,g��`i*�Y��Y0�"+��nLGk ��t<����	���dV�=��@�7���d�H�EY���R��-NrdTuܲ4
݀�3�#��$@	&E6���d�X�>
&� �cdA��=5�4m� SL�d�݄�D�ǣzP���pcE �����X;�J"���|P������,���z����d�Q,-1��
�w��Z�5��`�/��84���67A�����#l����~��
J$5w�B���#�Y<�&,
n�L׊ͽ��,&�X�=
[�
��<���C���_���Rf�>d�35�X�p���`.�
8��OOޓ��J��
�����‹_�}�:Xj�a���u|��J�N��AD��Q2�ރ���\�׹{�ȯ"� ���y=6����/M1a3��;H[���>hͿȫ˕i=w�_����&�93;Z��$�� W2�u�{�ر`��b6S��
I��@���o/����Go�x�
�0��S m,
�8�b�`��cⳬq�B�k
i��g�:p�'�N3�x��|��h�`�l���)�#O�%�^�c%SyG<R�<?�Z>�f�Ŭm���g�
H�Y���ж�NǨ��
�p�=�@JM �
-���
W��{]m^�}�瀙����X
����U߅�5����l�8:P��LRgt�[	K�#�;)(�4W��;L��$IzǞ+�9]�@�h.������q��{�"����Ӣ�!1-@{�����1��2��RM\�Qs�I�
-[��M|�a�1ܥ�r� 
�eE&�G�)&���]�0�%vm
���s}���(u�l��ԫ�R
��?P$JKߣ<R$�>Bl����d��8�e�|mvE�'q���L��y��q���y�������|F���#NY&҇�[��w�,�BgL�Ȼ�NW{�
��q����ߍW���Ǯh�;Px��޻f6�)-k��j
gx:�n�BFx6\l!�~_�����O�V@����q����O���ܰu��u�kY�?��'�ͨxr= �t=� Dz5\�9��� >#�F
-endstream
-endobj
-532 0 obj <<
-/Type /Page
-/Contents 533 0 R
-/Resources 531 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 507 0 R
-/Annots [ 526 0 R 527 0 R 528 0 R 529 0 R 530 0 R ]
->> endobj
-526 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.353 436.025 378.495 446.371]
-/Subtype /Link
-/A << /S /GoTo /D (main_BRZH02b) >>
->> endobj
-527 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.484 436.025 415.576 446.371]
-/Subtype /Link
-/A << /S /GoTo /D (main_Fuk98) >>
->> endobj
-528 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [418.565 436.025 453.752 446.371]
-/Subtype /Link
-/A << /S /GoTo /D (main_NW88) >>
->> endobj
-529 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [473.618 436.025 506.753 446.371]
-/Subtype /Link
-/A << /S /GoTo /D (main_Wil93) >>
->> endobj
-530 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-534 0 obj <<
-/D [532 0 R /XYZ 90 757.935 null]
->> endobj
-535 0 obj <<
-/D [532 0 R /XYZ 90 687.036 null]
->> endobj
-14 0 obj <<
-/D [532 0 R /XYZ 90 682.428 null]
->> endobj
-474 0 obj <<
-/D [532 0 R /XYZ 267.92 509.112 null]
->> endobj
-18 0 obj <<
-/D [532 0 R /XYZ 90 492.385 null]
->> endobj
-536 0 obj <<
-/D [532 0 R /XYZ 508.248 438.62 null]
->> endobj
-537 0 obj <<
-/D [532 0 R /XYZ 90 422.451 null]
->> endobj
-543 0 obj <<
-/D [532 0 R /XYZ 506.258 236.432 null]
->> endobj
-544 0 obj <<
-/D [532 0 R /XYZ 90 219.371 null]
->> endobj
-531 0 obj <<
-/Font << /F63 374 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R /F31 472 0 R /F10 473 0 R /F11 418 0 R /F6 538 0 R /F23 340 0 R /F8 504 0 R /F78 539 0 R /F7 505 0 R /F13 540 0 R /F75 541 0 R /F1 542 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-553 0 obj <<
-/Length 3696      
-/Filter /FlateDecode
->>
-stream
-x��[K���ϯ�-Re�ś�6��+N�I\{]9�>p$Έ�D�$�����ƃ$(h4�]�}����n|������.�~�����_j��I��^��[�t�iFg�w���KF�j�(��o�c�bfYve�}���j�]6w��^I��e��|��ޮ8�w�-�KdL-���w_������7
�A�.�2�	��
n���.���Ղ��Ń�:,$�_|{�:=���#pA�V�_7}	Ks��wE��lY���ۭ���X��}Q����_�)CU$�5�e'�9��LH1�
�#`lB���*|��A�M x�؅&J{�
��Ƶda�ub
�ņn
E�6XB
Sl�ڱ�t
ۖ?P��r뺋.pԏWu_�]�A�pCV-�$�jF�z7��&�[q�t�;�]��[w�bSv	f���D�
��J��$����Q�J� #�
DP�۔:j��b��hb��m���qp�
-���0j��$<�%�� y��Pm�^��.+e��
lfˇ]Y'N�S�s=cBD at X&f�&S��,
4�[���
���
@d�p5R��3XQ��7��h�_-C5����dR��`:[�tN�<��0_��PV���ɯ��+N}�o�q��ZHArEt���V�$��L,�=�����g���oO K��o
��
@2��z�Sn�S��o�������2�l��~€���
Nh�K�x�5�ҍ�I6l���Xds�Sn�<'rT�o�@(��c�$#
�� ��l�r0��9�u���-�%�$�,�WX�ڇc��]�'6��ʀ>M,
6\�Qa,A�`�� ��qB��N�g\w#�W��5�D��M��
(��)"�p�l����ZR���'挘Ѳ^���.&x${;`��8�A^�w �
i]�=슶�?����b۳�DV�w}Gϲ�T�&�-�
Qr��xO�ٰ�]_��3'�Q���c�-��
@�욶���Vw�
�?OS�SC	0
T�Xw��;2�C�'BN
�*���ɽǓ/K���-���XP���;��ד{�'�@�s��T�f�������Ąy�
��s?�$�ك+�\�<r�„	D����p�4��R�9�sG33�U�ϭ��"�k�I�V4&�\����-�=_̺���Ƌˎ�3 m- ���D����b�w
wQ�q��?HX��u#�S^�
"6��W����9�����mbm0���6EKkB
�M"�'�Vc�	�w[B*�
- u����
�Je�-SΠ�ĵ��n��IƁ�9��KNG�j at j�>Cj軎��L����5�Οqb��<Y��0k�Z]���
��!v� 3ϳ+��e3Ly[z]�3�у���
�s��:W��A�
�a�^Z$u_'h
�ZC�������a4�d��&��3�?�O!0>�����\�
-�����4
�91\dqY� ��7�I at F���|L�O
p�Δ�(=^�O	�<
� �/R`��F�j��
-3�������l��
��`E�[��}t㞷"HH`�?u�A[�m��"�
�|
UąP�c,%��Ug�{��L�k���m��3ŭ����'*���n
-�]�X��f�Bn� �ZY�AmE����e׻o�"�)D����0\���͝�f�
|�6�.�c���t
�����S�:�K

���Uݖ��m9�uT{��G�G
^}V9�
����Oe_y	.��
Jq�M`���<�O�!���9��/`�BbbB&��S��M�����y��cDɦ-�
-��;��нH]P��C�	Q �Kޘ
�@
-l4� �ktNN��lg$�'zAQs`���5U>��CN9p�;ݮ/TJp�� �đ����
�P��燄�A����*�p^�~C9D���2� >*�������5����A�| 
�C9�|�c����;�]{t݈��ݣ�@�- :7�Ԯ��o�CQ�)�԰A�?���N6e&B4.m--nf���i2���j �΍u��}�㇎\�}��i�
�Su=�����%���PlK43��ٻ��N��_�|av�68�/��%����ε��FW
B
9�n��W~pN{�-����
���L_����<�OaJ0-��f��}s�7�
��$z�ᩘxn�遁�pt68�
��=�un���n�%�u}]y,Z�+b
A�1_n���D>���.�P��^DZ�}���
�1�����G,߶������o�[�w+�:�����
�A��z�
����j_���=w�.{�,��S�K7�d�����[�S�x��uikij��]��y6ՃC�薝���֡i�0���n��N��CX��Y{g���]
-5>۾
�q��a{]�^��7}�،�g�ס���	
�Ux�;5BF9Λ
-�s^+qi�7��.�G{���ke�π����AU��9��ʂÀ0�P
[>GD����qZY8�,�.
�acv�QZ�f��
 jGY�n��5������0��7:{�[��	�2��oڭ�`��:wu`Μp�!���$��d�	i �[	�@lb�2Qy���Q�}�E�h��6�����m��;`wms��`�ڲ��b�9��/�W�D
-|�
<+W��c*<w��9��f��s�M}!
2oQ�Ġ��1��4&W�"�
-���<�%s�&�<3CF�� dL����u*����ָ��I>z��㉘M`g��b���:�^@xf@�C>�͟�u:j���N���=T�'�h�1�O,�XT����d�s��,��##D�
�R%���1�t�/�EI����|��U|��3�R�rj�}���*&~9
���!��˟�	Sy����ĩѹ�����s�'D�Zo��<aK���.��1�����)�L��y �s3�
Y�ˍW���G>>s�)dt�[����1�	;W
|�6Su�|�bX��REH�!�����o%�x=\g ���D4dS.��Jγi*�~2g����'Ή�#L7�҅P��O+���p�H�(
_]y��
�C�eك����lbL=��sv]u��3
��;
-:k:Dz�O�Eu�Ö�[�FW���ϖt��I�4V�&~�=xCD���DK��o�M�k���Sn��[��:�[�
K��z]J6i�T��7,>�{t,�?��
-6�*�w
}okKW���~X`8m�|���pU�	���p�PZ��O�Ңu#'='��Ц3�l?Od6^XO���=z�����
����
���������|��O�� 
�RcQ�J
7<��l�H1�T�L؜qT?�܆&:<,�B�#�ᩲ�O����i`z�����'M\~�����j�	~��9S��g��!:_a�8�6�3	�T����&|���z{��崜��F�'���
��|a����$
��,�x�`�=��^{FB�P �x���~�b���+Ý�'����j=K��M�>�|�G#��-��W��N�'d��zD��j�.�:�N�t��|����t,�T��9/=Qc�~H����'49��ԣ��-���^�y�I�%:�%J�x�.q6T�h:�G�,�ѻ=?��r��~�Nj���p>�.��/��p"N���x�d ��ѫ�!:��
��s�c&��̸i�B�c��s��eۃ�6~��-Zx�ue����w��]ԧPDwˁ[;�(��;�\
:2��d�[��?�6��7�4������˗dӑS]
[R�/�����Z�Tm$ɢ8��u��$�<�>����k
-endstream
-endobj
-552 0 obj <<
-/Type /Page
-/Contents 553 0 R
-/Resources 551 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 507 0 R
-/Annots [ 549 0 R 550 0 R ]
->> endobj
-549 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.096 424.911 457.668 435.815]
-/Subtype /Link
-/A << /S /GoTo /D (main_Topologies_and_Topological_compatibility) >>
->> endobj
-550 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-554 0 obj <<
-/D [552 0 R /XYZ 90 757.935 null]
->> endobj
-555 0 obj <<
-/D [552 0 R /XYZ 155.86 687.2 null]
->> endobj
-556 0 obj <<
-/D [552 0 R /XYZ 90 670.613 null]
->> endobj
-557 0 obj <<
-/D [552 0 R /XYZ 90 368.901 null]
->> endobj
-558 0 obj <<
-/D [552 0 R /XYZ 90 363.656 null]
->> endobj
-559 0 obj <<
-/D [552 0 R /XYZ 282.028 281.557 null]
->> endobj
-22 0 obj <<
-/D [552 0 R /XYZ 90 264.97 null]
->> endobj
-560 0 obj <<
-/D [552 0 R /XYZ 325.434 211.206 null]
->> endobj
-561 0 obj <<
-/D [552 0 R /XYZ 90 194.619 null]
->> endobj
-551 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F78 539 0 R /F11 418 0 R /F8 504 0 R /F75 541 0 R /F31 472 0 R /F10 473 0 R /F72 471 0 R /F6 538 0 R /F1 542 0 R /F7 505 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-566 0 obj <<
-/Length 3940      
-/Filter /FlateDecode
->>
-stream
-x��\[�7~�_��,t��as��$�Y�a�=� y���0����a��%�/R��� �
/�i�R�T��UC'�'t����ߜ<�I��#Ns=ys>qtb4#��ɛ���)#r6g����j3cvZ�e�-��uU��\���<>�����ӏ3F�����À��Ey�)�0LM��7������d�	
�*C�P��������
��2�D8;�	�.'�
x�&�O�}B�-(:��j�psQnʇ���rz���ɦ�j�x�c�O�%�[�7�pG�?���{>�K���q�MF1M�i�1d!I�e�'�H"y��N ���	x;�}
��1[�!B�&��v�� 
-��6�J>��9���F�I2�ٮH�b�P���^��1�'�h���8�ō�8�j7�S�'H%'s3�8�
�(M�h�ѤR�*��^��d��*��8�d2���]�YN�y
�����\~g
�9���(kLJL�@���HkV5	e�i26�(��d��9m�	� ̨lF\%a�ϝSQK
3w;�AN��bSF�^4���Ӳ��u 3�F� �A
`z� -��.V��FtS���9��ռ�n��m������?��
�dS�W�b��q�m����ۙVSY�Y7
-;�Ap[�Fxcޞ�/O�Uj�:��q�Z�ca6.	�*����"Rj�e��׈� ��n<E� ą���l���Ӯ��iu�J`��?t|������N�����.
p�DyJ���\)8�1
 @0�|1;"��p��+����?L0�rۼ���/��eo�]oj2�%�?�7������Ū�Ԩ�HbT'
-�]�{��X���=��_.�
7  ��yG�U��'�
B<���K����
F�o.�"<�*��N~��70��4�60�
-$ :/a�K�-�(�Z���ۻ�w��[
;:`�z�A��P�~(	������N��Ʀ�Gm���
R�Ų�u|�6x^4������+��b��Ɓ��=:�ơ�
����c.s��
���k�d�����E���ءg/+|���+ 2_���[0�
+��x����sEq2P���j]�9�Xb�� �w�QE;����ÕźZ.��иd2�Ê�"/�1����b�Q�;�;�J��^�X4����
���Ȉ
�������^���LJv{W
�+�� �:"�Пי��0� ����ve(��h��u�"+�{O�ܧ��ń\/ٳx\
-��L����n����;y;8���>�J�� @�0�%
�ccH��k���RHZ4���g>ag�R,A�.>�9����
G��}����_E�!1�ԕ
�6�����K��ge��6�Oowy
FK�َ�h��)�O�-�w��}w2r1�v
-��Gfl2J8�{B��TD���A~!/��e��X�����٠�37(�5r���
 k�5�w��N�i����Ƽ�q��?�'�$�o����O
�	���aqa��/B�
�����a8��,�Ga��.\<lݚ6�������<���\b{�|�;���>�S��p�7� ��:@z	��֭y��5
L_ꖌ���8.���m0H��<��~T�|=����7�Ǡ���[d�
��!�#��~�O��!���q�$z���vƩ��8����tQUa
l��U�$�%Nȃ&�Ҏ�Q#`�Q��C�xFu���y5P��Ө �C�\��J�tO
\��������q�Y�:��0����4MX"?£oJ"*�벩���X3�o�IP�0���h.�G�m���<����D�¤��@�@���sT�0U
���K�]V��K����
��2�o]�&G�|� ��"���u��JI
�>�T�A,���aZ[��%��*��h�R�Z��
�}��xZ,~,|�Y����o�p�
TY`@�,^-}�˜�6�^j3��%�
�7�^�����9���t�8�!�!�1#�/��m��l�8�ӫ��S�[	)�W�	SU�KL�-�av@�Ш�]w�!	�=*�+�{
Yn�u�ZS�����>��'��R:v�B����ՌMqa䡼y�ˆzh�vR������f�nF7��	^�H`{�m@�C�c�o�TO)�/5��͙
c�
��M6ꟾ���t�m��*U�\���&�����}�����]���B~�-� .����E� ���s��:��7��Z���#E�X��V�!z�v�Fr����
�}f��8��k��/��
����1q���!eҹ���J���L
ˣ����ų�
X��*v{-D�k��ն��x���݅i�`2�U��
�s����e�~

�I�"BS�f
3�t�\�	
�]U��:���u%R���_r]5��7e5H؃�{|q��Š�`'��"ڊd԰��C�I7�S�"a�X^�4�ܱ�� ����qo�/+�x�=y;U�_*ձU�;�u1�M*m��v#�-�쥩�;�L����´Z:vRJ�g�FOʺq5�Dn� T�����{X�ޔ�p�8C�T��I� Q��AAbY�&H
"���
���׍ϖ$}�I*I��.i˩K��y^��n�坈�]�E�X�FcO�Rlx|b��x����B�"������Pq��VU�6�0��r�[}�kZ��sY5�d�1�a΍i����}��`"Q��T-�F�	+��
�Ɉ�3���
�����8�K�4eA���l��e=V���3P
-e�ԅϮ��P���1��i�J0�ƨ�*~���)�;F��]�
N����6� �C�}X��D#��f,��qq��^�nh�@:~}3%�uNPiv!'IkL/��"+e�vl!�5����.l@�!%QB
m���D�7�����D�����>?axt����G��%�&������������&v�:�X��M�׏�f;����L�"7��T!O�k
�W��6�[U�n>��i�8W���Y
?YGi��X��d&w2�i
�e�s�! ���6/}!)~�*��8"�d`���
-w���È%v��B���
�m.)���ߴ�G�_qB�
غ����3����d�D�C��~�P2O����>���,��6��e��QK��y�bRX�5���
-ˏ�/��xQb��N��s�-xe
�ق����m8
s�B�����"��F��4^� �-��
���,z�cX�eY+��U��T}�j�����G�m؁��7eǣ��X��0��}?�Ώ��>�{sG���M���';�ؼ��Ы���4��L�(K������{�
�q9�ޙt�#R
㘸�j
a
������Ea�3:�5�_�r�Ƿy�u�}Iw�	I1y�����|�4�R�C#)}3�p��	���2�n��Ͳz_��6�~�m�K�\���΋��~�"Z)�N��^���\\��Guq������{����˪�}��5��)���{de�$�|H'��p!%�
��_���p��e�P��~���W�r`������:?�.��t��s�g�����|�

	L��q<�
Z�\��%L�F������:��a�mj2�5� �
���
���f>iT�#�ό�jS���-���U�L���K�?#i�m�yR
#E�p��;���Ϋ�ܴwy����Hzb�R���n���� 0n��շ����8
�����nn
�I5���+��ý+�͹`�x�/�8fG�dB��
r�� b]����9�Z�i�\|c] �v?M ����evH
�qc-�_�x���	����rٺi839��<]7���ж�$�|pH��Ŏ�z�ԯ��Wصw9n���fJM[��$Y&r��l�
9�Oٴ¦��0�rD�ƚv �2`��Iy�L��N(��n�MӼ�ܤ4�ZT�m�~t�6uw����k{G��ײ��w�a�~����A*�1g
��\l�W�=���!��\W˫
Yn]]�
el���7Z������	�;M;����
-endstream
-endobj
-565 0 obj <<
-/Type /Page
-/Contents 566 0 R
-/Resources 564 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 507 0 R
-/Annots [ 563 0 R ]
->> endobj
-563 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-567 0 obj <<
-/D [565 0 R /XYZ 90 757.935 null]
->> endobj
-569 0 obj <<
-/D [565 0 R /XYZ 481.318 711.11 null]
->> endobj
-570 0 obj <<
-/D [565 0 R /XYZ 90 694.383 null]
->> endobj
-571 0 obj <<
-/D [565 0 R /XYZ 480.615 441.156 null]
->> endobj
-572 0 obj <<
-/D [565 0 R /XYZ 90 424.095 null]
->> endobj
-573 0 obj <<
-/D [565 0 R /XYZ 213.944 213.872 null]
->> endobj
-574 0 obj <<
-/D [565 0 R /XYZ 90 197.145 null]
->> endobj
-564 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F23 340 0 R /F8 504 0 R /F10 473 0 R /F31 472 0 R /F9 568 0 R /F78 539 0 R /F7 505 0 R /F1 542 0 R /F72 471 0 R /F6 538 0 R /F75 541 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-578 0 obj <<
-/Length 4069      
-/Filter /FlateDecode
->>
-stream
-x��[ݓ�4߿"o���h�a�2��7

Ps�P< N��ֱ��0������$GIf���ɲ�H��V��[
�x\����q���g�-
-T*��/rA�dq�]��$(�Y���mu�o�\VCՎ�Xw�p��
/���ڛ
/�!xY�j��n(
h�wն/��Q—��t��޿��:��uy�r����~‹-����r�G�e�l߾��+
���
(CXp���wU�V|�
�J*�
�Ѓ�nVY���
d$
Hϥx{g���	r&���l�v�g��(��
������ei
����i,׺�5t�b9�]�O�h���c]�g"��q�����G�i[�zY�h�U�SϦn��n+�y��$��JlI �E)h at _>''�HH�ƾM�E0��4[�n՘�*��7�w	*�ꡫ�1�
P$2/��2D
-7xp�0$���$��Y� �8Η_�<hFATJ�4# ��z��L��|e��xh�䪠�t��s3D��
j6��7�/� \�| 
�Ir�)9p}�/m��tzF擸ab��8�bt
�zk7ߙ���ni��i0�a��x������e9v���y�}��ed���O�2C��kZ��Y���Tf�'K��T��ETJX+*
-ı�T�I��d�'b&4u��>!6�!��G��QP������i�� ňb:;�rvzI$�{�W��tm�I�()>�oO'ˑ��%ohR�E��Οq����C��K뭡?>1����D��,2"�Ŋu�;��S�[�fZ��@����*m�l��[9��y�vsr܉�#ʰ�rr�7-���e�gxvͲJoY�
�`�(P�"��z���.�����z{N��(�h�y&p��hҹяܼ@XW�<�)O��|TV�Z8x
-\D�(c��@�
~�\v+�z�"����eQB�z�=��
�/��^)4���u�
����ќ����Ok>���=8ճ����ٴꇄ$8
=���*��%g�p	]~�
]��@k
�"`��
�Y9��?����XjkD��7��5@z��M5�Oi��N��z��I0e3���.���/�IhE��R�v���g�mKfP��4C�=�iaQ �P �(��2	Y��ќ]��K�
,0&��@n���
-Hʾֺ�y�)�����z4O+K���n
�u;-3
��]����.Y�U��&�l�ݘ��������f�C�
��0� ���JXW6��Pj�����s�
�yWnaI
��
 � g.��;M��
\8g�q�!mL��z�]���GC���	�x�&�
c_*��0�
N�$�r���P��<^X8iW8.���tG����l7�6�>��Y�G�
�B~��1�_��$���2^�n�G��>s��_t��f��0ʟ@��r	�+�3wm� Υ������i8 .�X��8NASǏ�  5I{f���̡΅����n�
-�lJ6�Dw��'��NyUpa�B� L�8�@\Ŀ������wI.ryU�q��Q\�/�E�.�r��\��4���{t�`��m��AX��z��W�^����b��hRQ:���T�O�<�,K׏�&����G}2��X��\E�A
�o�N�M�h2�\^���b<3C`Q�|8^�.���W�jFl��1�I/H��Q�
�J�[��)q��M�]�������L��� �����D�6��`:�ǐ
�>T�Mf��ǔ�3疍��onM�g��*�eap��I���kv-��/�
y�C׌0Hh0�+p�H=BWL:��$s�R�P�m��`��N~�CeY6
�C5�vR�$�
����"��y� �w����Չ��O�JA��8��-�)��E
KM?!�+.d8���I�C�0��Dv�qD��O�qH�H2���jLq��!���)��<{a6�_�sb ��A��Ӂ���)�
�Cȗ
���lvQ�k������۶S9�R�
����0����
-�z/�
���'�"v��I��T>\��~0/���	6���
-���1Z at y��U'
>�� �a��uʻ��v*o�L)�n���^���8�πT���4c�\	.&��'��J��������ڃΟ
�8��Aw"�N5"|�RՈ
ׯrS1��󛚈^sU�a~�N�g�ūL�\X�$b[�nY-�S�zV��s�G��sɱ��n�� �r1
3�%�>շI~Kړ@
@n`0/
-��Ÿv�ucQ��հ�냂�/@��vG����U�ˎ��,�V��0�TS`[Mϭ&p�k)�����q�q�)��4�b����
����0�P�J]��iCOxi	|��%{�<��-�]w��@?�*D�\��d��W���������Ŏ3� r4��?�j�_w
ʺ7)_�駾�;�f�X��-���m������
�e(��S�!`�ਨ��H���}�]��ϳ^dؾw]
-�uM��
_�Ǧk�j�
�Y�A�Yl"�L3�|��f�b
ʗO��E_aL��
G���J���Xo�ƌ������;3�ɃgRg"^�o����n�׮�̷w���Q]�gJ@�x������/쭃�+Q0�<v}=��
-�2n@=c�K���fH�9��W1#u
|әn��4��MC�U�ƴwH�.����X�R�~N��W{�s{���g{l��

�|��ɀ
h�+��4f�I�]�>�;;n9
��>���f
��w����j
�����ݒt7б?4�>��,&�{w�oz�n�g(����AV��}��A��:�
�\W��8T6R�t��V{m�c��H�MЎU?�Cd��U�
�V�cӸ������[Qm+w=�����
i����b�L��zP�BU�m�ʸ
r�K���
���es�t���2j

�Z��3�f����U��
ߑ�JuS��jZ
-�h�7���/W�=Y�sG�jY�M���j��I���ܢ�����T��{�+W���d\���J
|���n����d���v
?7��J����L������2W2�
�Z˦@u`�լ�M��0�����v:j�Ƕ�+���O����\0C��b�w�.�����2=�$p�������=�_؟�b"�����YėR�����־��;��Ty3.@@cV�!
��	��[�Fs�
v�zUg��S�u���,B�#*&�<-��ray� e^Y�57�bm9_s�����ox�����IY�����j����	��7�#
���eS�l�h��%:c=���@[c
S����U;�3�0�=W�b��%��޼�@ ]��h
:3]�iՃ��O�K�C+l��|�5X���N�E���
���w��TO{��N<�a�Ꝫ�}��MP��K*�hS[���U���T^��{c/a�w�I�=��K[*�KU�zq��rМ

ƛzݗ�v�K�"�oF�M[m� 4�g��GJ�����T�t�/�y}p�v��?��
)��8ʙ�
(��	!N
�D���t^��^���o$^Z[:�L���k���)Q� ���
^�����{5��y
6���2��p�������`{�U�
S����V`D�A�Zmm�j8�754���֞͛�pD�Ҥ.I�!=b��j3�������W�f[;H�ѫ��tT���n��G��z_���Ԙ

�e	9��]���HJ�áڌ�x8	CE+���		�����wGKv���,
�T�	�50��ֺ�è���IEf�$�+��ͥ
_�
-��7�d� 	�n�/	
E�ۨ��Y�`e��a[����i|�~��y����
��E`� ��wK�X�+�?w���
	
,������a?�8ơ5��?=��9�\"�~��*_��>)vx�̜eȮ���k>
�MU?f�wb͘<��7�d��0���^zm"�a�Z�Ӊ�ۮtk�n��3K�!~�A����,`��,qxY6V�s�ۙXl��9�����B��ȗ������g�a
-^ ����ߔ��ղ�X龚�
�|7T�_T�j���e{t~D!f�l��Y��Q�yN�s�mU�M���[�ֿ�_7yx�&�,�r��8
>z����	mtl�C�����м��6�5Q7]tV⠎��
����?òx�
-endstream
-endobj
-577 0 obj <<
-/Type /Page
-/Contents 578 0 R
-/Resources 576 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 585 0 R
-/Annots [ 575 0 R ]
->> endobj
-575 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-579 0 obj <<
-/D [577 0 R /XYZ 90 757.935 null]
->> endobj
-580 0 obj <<
-/D [577 0 R /XYZ 252.896 596.486 null]
->> endobj
-581 0 obj <<
-/D [577 0 R /XYZ 90 580.354 null]
->> endobj
-582 0 obj <<
-/D [577 0 R /XYZ 175.241 487.047 null]
->> endobj
-583 0 obj <<
-/D [577 0 R /XYZ 90 471.718 null]
->> endobj
-562 0 obj <<
-/D [577 0 R /XYZ 198.751 329.788 null]
->> endobj
-584 0 obj <<
-/D [577 0 R /XYZ 90 313.656 null]
->> endobj
-576 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F31 472 0 R /F10 473 0 R /F11 418 0 R /F8 504 0 R /F72 471 0 R /F7 505 0 R /F1 542 0 R /F13 540 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-589 0 obj <<
-/Length 3273      
-/Filter /FlateDecode
->>
-stream
-x��ZY��~�_��H�7�u%U>���dkm�˩���#Q#z$R&�����4.� i�G��"� ������a�g���������r�K*gw�Y�g�$HP2�[�~��K�1�[
�Q�+�諦�K*����ϛz������y��>{��0`��-�m�%bN�⧻�n�vw��
:�uE�2&f��͏?���5È�j�dF�g�2��;���;
pȋ�/Kę�e�!,�e�
��,ᅴ���^׷ժ��Wu�˱�U�����+�o���;;����ͮ�mi�
�`�}�����욇jU�v��U�?���w���q���
-
diIٸװ"P=S��|�$��q�Իg+��i��ݿ�Л7�#���r��
�9����-�X*��ļl���:M�+�5<ﷆb9�U�m�>�Am��y_���>ٗ��Ywvl� �mћ)H�h��~�7m��W�_0�\Z�_?T#�n���B��#�^�۱�Ya�XP��Ǫi۲;4�ڒ����~[���o�jݳ`}#߉/��"�����r��ݡX�	���eݍ�dm+|��˚Ne�ҬY;6�e<����fPFC�P�a	c͘�Q��|=,v:���s����K1m\�A B3��@,#~���%�R;��` %�/w��g���&a�] q/��
-Q�͂A��Z�H�JN�]���
�IE?���SL���W�H���
b)6�
�y�BR�d[�
"�$�x�(O�F0�|��M�f�
ͅ�̒�/&�Ljt^����v�X�c��S��kf��!I�Ju�B�� �8���y�&f����9
�16(�-��Ύ0�l>1!��_�ʈrj�ND�?�l:�1�}]�Ø֥
]��vE�C��}�����]��%��A��{j�{���>�8ݗk�%��!k٧�
��n^�qr�:0�o���2�m(�jm�!~�֟��Ȥ��?����]�
-��}�g�iv�F犧!xk�75ޓ��X�)
&;h|H��bn�C�
�i{���Œ�M��{�
��3A�X:%hW�H�`@
f��k��&�늽��Ӱ�'1�Z z�#��8��D̑<Ĕ�Ӑ
-F0����D���׆�$f����!ErPe�X�)2Z��o�9� u$�`j"��X�s�
�1S�IO�#�#�L�;0�@hSø���"�*ZJ
j��
�z�<�R���3dg�P�i�Rw w�9c<�ͺW�t)�3z%�	�>*���f`d*�<:yPnb������7�T`8�2��"`
�k86��	�. .
֞X|t���������)�@�$"�C�"�B�%*E g&!
� (�>"�Q����IH-�di�Kv������@.De���d���x�jQ���Ȗ�>�%���Κ�q
ec�Nے�dl	��%�e�'L&�鲁Q����50���vPI^f_F� }�����ke6EXY\�d$�X�<�1�{N�٠�̯
�;s�p@�den_��FX�⊘|�����|��z�N�`^�
s�
#{�!����<m���j�{�9}6
��6�jT�Y�-���e�c��9�Br��?*6���#��|�.˵E�y���|���
�����E [...]
	y��Bs����Jy)�)l��C�<-��S#��F�5
�	��j��>�
-�<��W�ec���Q�T5
��F,
*Y E�K���\��a �C�B�B��K�*�i�u�&ѲV 
���
cړ|؄�f㐂�gH�{�v�"ц����x�
-�9����g`�9��s����l�"]�DI
���(hl,�Rڂ�	��	qR���E�^\<3�B��h<U�o/�p&Wa��a&�B�(��4V�v7f� ���V�%����� 2��g
U$�Υ�=�ֲ��+� s)�,V�
-��|��I�c��� ڳI�R at yLp�D���U2r�#�����WnxSc[��n�Gq_�Σ�}��
@���{�K���4���A�c�pu��U��Z�`u���8Dq(~&��!Dzi���8��?�m9�%(���@i��x,�O��Y( �ej�����l�BE/ٸ;�����/oMe����) ;����_ۚRW7ur�f#��)�A$R��0�e�R͝aȃ��
�-/��Ŗ	�fo��g�g�Hs���&����S�P̓�ծ��}d�'�V�
dЧԅ#W8����q�T�*^�D9Nt�����N*8K�!������~"�,�
�M�|�J�{�cR�cG䣽��WX��?,@%���o�}�>�C �zc~_	.�{[���	�v�*��\婇|�ӓ4��p���W�
�i���O �l�oN$��O�h�)��z�c;I�EF������S�rܮ�]�[Nќ�^����Q�i��C@���V��o���"�O�.��q����[M�˨#��C�`{��Y�� [...]
d�ד��@����¾�[��XN�]nB�
�1�=&;�\���Ew��e��樀����Y8.�������4�	{!� Y�0��N,5��N��ݛcg�;ܹ
)�V��prC+`9��8��"� �]�%���M�!.e�5��iO�jeNṮ�>Zf��E�?�Ci����G ݩ��$�~}�$
�
-������W�I9�da�ο�-}�nu��˞aw��6taTt*�$,i���D��җ�
�����
xR��'�a��m�o�E
����g�
�LSL�S���6u��Ov�c���t��t}d��b�N���j�r���:UW+7ڝ��W)��`��ʾx���{�I��������F��L�Dw&񎺋�ZN�L��֌���.�n��+��]1\}r&��C��
��
-�D����?o=F,�B������Z�E�w*xk����ﻲ��B 
���*�c��
��`L�
�?�1����1i9{����5(a�Qe��c���������Zu�XW�U�-���%���Ѣ��۾�U
�R����́��
-endstream
-endobj
-588 0 obj <<
-/Type /Page
-/Contents 589 0 R
-/Resources 587 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 585 0 R
-/Annots [ 586 0 R ]
->> endobj
-586 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-590 0 obj <<
-/D [588 0 R /XYZ 90 757.935 null]
->> endobj
-591 0 obj <<
-/D [588 0 R /XYZ 316.33 673.561 null]
->> endobj
-592 0 obj <<
-/D [588 0 R /XYZ 90 656.833 null]
->> endobj
-593 0 obj <<
-/D [588 0 R /XYZ 155.574 392.786 null]
->> endobj
-594 0 obj <<
-/D [588 0 R /XYZ 90 376.059 null]
->> endobj
-595 0 obj <<
-/D [588 0 R /XYZ 90 95.44 null]
->> endobj
-587 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F23 340 0 R /F31 472 0 R /F10 473 0 R /F11 418 0 R /F78 539 0 R /F8 504 0 R /F7 505 0 R /F1 542 0 R /F75 541 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-599 0 obj <<
-/Length 3384      
-/Filter /FlateDecode
->>
-stream
-x��[[w�~���[�ӈ�;��Ӈ4mڤm���yIr�Pe��H���տ�
.$AA������!���Lf�32��͟�n^}��,K2���n3��L+�HFgw��sh�.(!d��}��]YW��I2�+������d^|�}oo
�
�u���T�)����뛿���|Cay2�f9���l����'2[C��3��,�=�Q��`
���w7�n�E�O���t�P��֐�oc�U���d4�-�H���L��V9��o��d�w�����|�-�vB�FR�Nd
&66�T�=E��siv���H�q�.
����h�����G��� ���˪���튝���h
-7z�����?\ y��Y"��M2��&Ž:ȑ����
-���<ǷU]���������U	���B(>���s�ɖEQ�V�P�'�� m���V(��B�P&d�M���6�j{t���Ѹi�ְ
�َπ�懣}Z���ZL��W�ul;���[�����w��Bƚ�eƞp�ӯń���̯�|[.��9��{��y{�����c�
-
���Ad\Q?

+Z��)W8��u��(��:얅������,�KUwSr���"����1�|f��D
p�
9�ֶ����5��b
-��}���˨��&w���m,�,M��l��3'�`�� ��Z_�y�
��a��mc��+©`m����������D�ihS�X����̵j7u��n<��|�]�9���m����������[@�&o
�Lh,��eS����s�]5�7��
y�;`c�#/^䓷�}S���št/o:J����,�Y�dB
��7��2�*:;��a�}��_�
��1>ގ�e�����اc
1���x�t"3��[�f*�4Oq�X:
��jQ:����Ƽ��c���b�It��G��cj2X)��DI�I�MU����h�g���1�%Je}\G�@�{�8�^ ��g=�-"
�����,��Ǜ@Ռ���4��[J��cΩYӣ�{F�F[t�Q�-�Jt��2���L0�J ֍���r&��ؔ�A]�=���0�,�|YB\����jޭ����{Y���`X�z��bb�4�k�1�<Q�T���F�ًk�ܣ������ָd�Ǹ���z:V���g?�\5�| [...]
�931 �,푿
�:c���U���Ũ��Y
�Ũ���,vY��W}NR0~@�P)����KM}�������䘀�Щ�1�B�5[ґ
c��8T���sCcʙv�
݁)�����sƘ��OV���i"!@X=��q
��q�y�U��K��X����X��Xg�y���b
łeL�����1�@y�Ґ�U��2*ƛ�0�e*=u6oF�DS��79�d.*T�]�2	��s�ӮE�K
P�Q!�p��w���u���Q�_���>��.S/���b˲BP|����:N�twE�E��X"i!z:�vd��4t�g����ށ��.c�fC1f���2���
��hc(��	4>���0rАi,
�3���VI�|�Kg � ��iV�\Vsm��r�)L�]T��9IL*G��
-o��m
�֕��$�7�Y�<x�bP�Od1୉�>]��iLvJ1�؊l
J�LN��g]nPP�>���qx�������j~@�ZM�U�(�a�''W��J_*�^@�0*P�2,
�0��O7�(���}?��FO�(a\��C9j���}�r��*B2���\�;��2[u]f�l�:΅�#
VcM�K�b��M
`3�����=ԇ��ˀ���2Q�7�g! �D�&/94E�D#^���E0W��0�1U>dh
�[�#~���l��z
�D
�1��^&P`�
���5
 �C0|:94�YV��Ӌ᠃�s
b���p
�p�pK�!�c� j��S4E���E��­��w�Cg
؎/��;�T�=��
8D;-�~v��jK��G�E������
x��!��7E{�v�*�b�2|�2��+���=�3����*����G�L��
<�bw;��U��
�����n
F��k�Dx䆑
Ũ�=IJ���;�;�1��bsغIk��G�׈�<CDL�Kt�&KPž7�s���)
<��
��
w �to�s|��$���3nK;���#HQ���"ZTU �'�)�\P�a$�=��jZ\�I
�A��_3A��ޡ7J�t��=�����5�L�)(k���dU�_O�w�6
GU����%�I�ў��^ܥb��qxc�1:
�}Vv
���?��h��O�`��;=-RфQ��J�v̺ph*
��(���Ѱ?�m)RB�3��H���	3�ߏB�G�U����t�&
Ur�
�_���5>�}h�x [...]

�, L�L:`����@z���Of���@��pwA!b)xY��hԙ�<:��ӝkS�M�RV>��9���.~�T��)a�4ޭ��CA☥OZ�x	kӿ����UM_V��6���]3��m�S�������R6$M����4��C�0�a����.b�Y�H��C��I�{
-�
�]jb4�/�]A�`�I�Lv�\��mQ�
Áw�l�3w�M���{o�k��rӴnx�[��U��P�I2���Sl����Qb6O]�[lH�>7��h?kH6 ���fٖ��.�'~wZ�
�d��� $S����{�@4_��z�������*��E��W��o���$�
�V�^Ί�#c�� У�
އ�hU
/8��'��p����u��~S<�������d'߃��^�����Y�M�F�
-�et�
-Qp9}u 
�:��Ɣ*�V�#
?�m��5Q
�E�Ƞ�Ѵ��*��Wal�GL14:�l��i���c��	��3�d�2��$�^�l�^S�o
-�)�R��ޟe-��f�ܱ'���V/�v��{��p��r�tJ"�m;�q:�
-68)�.D
s�
-�5g��MU�5|�5��zm�y�a-O(���c;q�[EO����>b�P�Ep����P�?���Z�9��ۿx��[��,r�N ���
{|o�z?��=8��6�D�dR���wnfXc?��i?��]T2œ���LK��0N�)�4zG�B�UɃ��>�1���P��D�|�wi`���"�p��j�nb� �5Ewh��)�TC�'j(��P2{稖���GG0��
��������
n6P�Hd�I3�0b���>��<�R#�+�w��ψ
�
-���gCpG�T~���9��6�0��q��?m���Vʹ���������`�"ayݥ���m���3��Ǎ1�Q�'զ ���u�ׯ^=>>&�69T�I���~�}�m�k�L�I6�	�ꦿ}�_O���?���@
-endstream
-endobj
-598 0 obj <<
-/Type /Page
-/Contents 599 0 R
-/Resources 597 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 585 0 R
-/Annots [ 596 0 R ]
->> endobj
-596 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-600 0 obj <<
-/D [598 0 R /XYZ 90 757.935 null]
->> endobj
-601 0 obj <<
-/D [598 0 R /XYZ 90 733.028 null]
->> endobj
-602 0 obj <<
-/D [598 0 R /XYZ 317.494 633.271 null]
->> endobj
-26 0 obj <<
-/D [598 0 R /XYZ 90 616.544 null]
->> endobj
-603 0 obj <<
-/D [598 0 R /XYZ 474.355 574.735 null]
->> endobj
-604 0 obj <<
-/D [598 0 R /XYZ 90 558.008 null]
->> endobj
-605 0 obj <<
-/D [598 0 R /XYZ 285.407 452.746 null]
->> endobj
-606 0 obj <<
-/D [598 0 R /XYZ 90 436.019 null]
->> endobj
-607 0 obj <<
-/D [598 0 R /XYZ 409.479 342.712 null]
->> endobj
-608 0 obj <<
-/D [598 0 R /XYZ 90 325.985 null]
->> endobj
-609 0 obj <<
-/D [598 0 R /XYZ 392.938 201.29 null]
->> endobj
-610 0 obj <<
-/D [598 0 R /XYZ 90 184.563 null]
->> endobj
-597 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F23 340 0 R /F7 505 0 R /F11 418 0 R /F31 472 0 R /F10 473 0 R /F8 504 0 R /F1 542 0 R /F13 540 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-615 0 obj <<
-/Length 3873      
-/Filter /FlateDecode
->>
-stream
-x��\[�۶~�_��j�-wv���⓴v
g�'��%�b-�H�]����
I
]�Y���Ip��`0��Ptt1��g';;y�#K��ztv>�tThFg�����nO'�R:�qU���|YoN'\��ׯ�F���)���}({y�A`�Ლ�K_d䘉�_�~8��������ͩ�B��W'�����0�DX3��RW#�\��O~:�i�ͺ��Z���B�^Vм�=���z^�]Tn R�����ڬ��l^_��2^��东ͪY(�ͯ�z���:V}]O�p�.�u5�F9�j�ߝ25^�CEs�(�i�0<�^Vu����)oc��|��r��QN#V��=�WQ��uz�
OgOIR	��x	����y�,��P��WA�ib
a�@A��#A4�A&��S:���$*�Y�(�.��݇��r��o7�rZ��V���f�z�
����"ܽ�2���hm@�`d&��OA�$b�KE���A��
�Z4��谞�Ȃ�&���b,�NS����C�+���^	/��"��v�=���
�B�?�W#���P!�
-�V�!	cQ�
�K�L�0��DR{��{M��l��d�j}	�͢TP���Ǭ	5`r
;+��9��̙��l�
�i��
1���f�
-�z��1����6���{p�BZp�5���<�(dp%��4��g�� �����������7]\x���j����n��xZ��[��Z�J�Nx��_(�Z�:
���%:�?��	禑���QO$�eM?�kٸ�\�
7.�A�}`��Ƒ[>^���V#��1�!V�J���W��X
�p��%��a�D�x�ZW����Ўm�B��m���Q*���^.7��l��>l�Օ38�!�m�j�ύ
�d�|c�z6�`V�B)�]l
��j���ge�
]ĵE\��y=]\�b�.�;�W.vt�C@���m��f�, I.�/ʫj��T���d�k�'A
�:�+��H��`,�s���1��nX
-
�s׷Q����\�_Q�[+:��
-�&���ͽp�m�v�#�Ѕp�k\����<XSǀ5��k� T�/��c´�K�Vǀ��F,�w��
���>�������%>=��R&����Ga/�W�D �ԙ���쨄�LxU]-
ap�z�o����!+�s�����h�?��g�l��
5VpT1^�߮���` �-�����ؿ�޺n-���w�>
@���^�޻W�C�۔'p�1*���%/^|

-�:Ca�'�$�JRt��U<���&��DbUl�����9�SX�9>YW��ƿ��z�W�|�c,� 3�+
�����I<�):��%�
T���
-Cu�PeR]ܺ�"�kbx��P	���4�%j]Ģ�fǶ�@��
-�k��汣��N��;x���Ჩ����te� ��s�0_z*�Z�fr��dC�Z%���2����z�iד}�q�� ���inV�t�0�������:�9E�:\��v��<�Nx</��xŽ�v�#q�x�qq��2��9f/��sh��;�M�����!AO���8Tg��k 
ʃ�Ʌ�C'�v��8|��
�%s����CH	�y6Ԝ&�8h#��#h�Ua��C!�%��z�U<���zd���m�n<x��
�����
4����{����xT�xh����	 m
���Y=�:�dtg��/�
�%
)��eP�����������i ��e��Yu)<\u��?ߪӣ!��U�z�%W�p��)E��o&}��K�v/��xO)3H���*��&Ժ�,c�~1�5$���F��$���X
y�]�)�xD��`[���
�\o"+$� B�<��
��9�����j�[e=ϗ�s�輞ͧM���2��a~�#�m [...]
~�'6Ċ}Y�Ҡ��+���2<ɺݙ�_���*v�mӃ���he���yb���L ِ
-��s���C���G_!|��W�7�(ψ��t�����
\󐉳���������L�~(>����
^Y��x�

�AyG�<Ɯ~��x��Zk�
�*�������<	�(�E�
�n ����J����Nz�ķ>�o���7��L�^`P�
���^ƹu��

�퓩L1g=����`MM�
�M��N�д�za��������X�$�������s(cƲ��sw��۝^� @�Q��yˉ`ð��sn�pg��WF"�lx�zK r���]	1��{6\���t��F�Yìa_
�OG�5����Q��Y�k&�~�m�EW@��H7�)�aR��b#�6�Fw�'�Ɵ�<�&Z[t �Uz]'p�T]�Z�Dy�O��z=�й{��e6�P��~.��L�Qp����q��m�͸
�&�Q�X��1Y��
-D�O�^N�|=�OG��
��w��8�W��ȓݦ��|S�ٺGY&+��������V����^�x��"�2��g�r0@�D�4)��,8@�TLB�� i s�έ�Pq���
R6�X���h�>�,M��)�
�:�w�@u�P�*x
"�U
K���U��)":g��1��J�Q49C�G
�Rһ#"$6L�N��c�)��>0N;'�3�7��~

-��I�ap��#�k$�Pƛ��9�)z��m��ٝ3�# 6��R}Ă����X���A4�C�[
���x�jk��)�id8fQ���ߝ�M��6jq&�JX���[�
hv�E�o߯���X���(�
�{�bȂ�$6T�k�B��5@��5��#�6��$$�;�
ע�'�f�
-Zb�=���s������Ճ�i�[��
_�Z�}���&]���vd�7��TbW� ��j��F����<��l�;C�+�UX�.� �g�_
�;8�
U��R�N�F7N}
�����'r�/HA�Y�C�X�2y��iv��[�q=y� ���`K�3_�����
��"�ŁTTpv�uHja8Z�X�pV�6��
��
-�<p<�!k�Y8��e� ����
��r5�rѲ c�c����v4&�&<vt�mA��U
v����?oρ�#`�9捥j�@xTn
�CŻ๸?x^�Sr�9i�VG�US�t��x`<���K�0Cn$���Rט�ay��v�Z��N0B�A��<@�4�x�+t�ȡdȜ���Œ��O �e)d�5�E�	�Wǃܠ�	������\���Wwڡ�v���52]���G�s
��4�>=H��M<��K�}ǫ\�81M��ow���6�<Z�j~C���|s��$2�
�z���.Y)�N��>C.:�
�w=�
w����Xbo(��!	�M+��@zGR$\�o�%Y щ��	��]�跅Z+()��7%v�)5�� �o�w�j�����E��}��;4CL���-��W�
S�
�t��J��Dw�Us7|����2�;�{m�8s��=$Z.�n �=�NR�Ӣ��<�yj#'�G��[Ux��>,�Yv��g
)/�Ms��!i!Q^-7����/������'����^����}�M�-T�ß=4g�ۂ�O$4���c�C���n��
-e}�����,�;�z�]x��O��?�
����9Uj
u���9E=A7H: N��������?WU
dٻQs��Ob$���赸�r�]=~�����L7亞��d�}�Z-
�Ԗ�#�v
-�F檅���z7����E�
-endstream
-endobj
-614 0 obj <<
-/Type /Page
-/Contents 615 0 R
-/Resources 613 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 585 0 R
-/Annots [ 611 0 R 612 0 R ]
->> endobj
-611 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.653 86.288 290.207 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (main_GDDetal04) >>
->> endobj
-612 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-616 0 obj <<
-/D [614 0 R /XYZ 90 757.935 null]
->> endobj
-617 0 obj <<
-/D [614 0 R /XYZ 90 586.497 null]
->> endobj
-618 0 obj <<
-/D [614 0 R /XYZ 90 572.671 null]
->> endobj
-619 0 obj <<
-/D [614 0 R /XYZ 90 372.706 null]
->> endobj
-620 0 obj <<
-/D [614 0 R /XYZ 90 358.88 null]
->> endobj
-623 0 obj <<
-/D [614 0 R /XYZ 90 230.65 null]
->> endobj
-624 0 obj <<
-/D [614 0 R /XYZ 90 230.65 null]
->> endobj
-625 0 obj <<
-/D [614 0 R /XYZ 90 216.824 null]
->> endobj
-626 0 obj <<
-/D [614 0 R /XYZ 90 87.285 null]
->> endobj
-627 0 obj <<
-/D [614 0 R /XYZ 90 87.285 null]
->> endobj
-613 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F31 472 0 R /F7 505 0 R /F8 504 0 R /F1 542 0 R /F11 418 0 R /F65 376 0 R /F72 471 0 R /F10 473 0 R /F28 621 0 R /F12 622 0 R /F6 538 0 R /F13 540 0 R /F78 539 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-633 0 obj <<
-/Length 3945      
-/Filter /FlateDecode
->>
-stream
-x��\�s�6��B3��i� �t&�^2�]۴�ݗ4mi��������o� 	�K�v���DQ�X��o_d2��$��'{s���䓌d��ɛ�I�L��D0:y������lN�$�~wU��C���gs&��v�>���4�~��dZ��1��xY,w����)Mg��|}��7'�9��|2�v9���b�X��}�L�p��IBx�'7v�z�2�����O���3N)j҉�Ŀ�1-�ͅ���ա�Z�ۗ��샽���å�o�
loq��܍�W���Vn[w�ݦ=����"	�L&s��f��7f	��tk�
�ۿ�&��AX��?�?�a?���?/��
Q�����]�3*��e�t+�}t����Uy��wgRL�
���a���b�����o�G
�	����~5�
J�̍�4��R�
�#h2�$S\��$ZO攤Y�Fa\�I0�o�<\�I�e�<���$��x�i6���A�d&@E}	B at J2M��8Sڞ��(e����n%
>�^���aFSΈR�Z��.� [...]
-�"%4��Q$�,��£xJ(���|H����'����3IXʢ��~�)��zW?��w醉���P�5
�/zN��N�G�� R��vb��}`���V�J�o�� �>�+̥��,-6%S$U��;'oE����ˆ��G,RD�Z�2EF4k�gD�$i��v���<Ma\�
-�o��26���R٬]�����7,�N��7�Ů�XCI�07��^ d�ٓ&�h�#+�Cܮ�`y�� ղ��X�.a
,ܘ
0��}WI�y ��M��,λf�I'�`�3Du� 
-vKIAh"�
�0(7���
2(��f�fMj��Z��%��D��|d�G<��ӄr�L��V��j�8'��*�Q?2�hi���Ǝi"8
�vl�Z���l��:%
�R�
-f�XכOQ���X�
F^#����u����
`[�w8M�#��
>�a&���4=`���r��fr�q�L�ou[�݁
��@S^.2��Ħ��d�/
�ݚ�W�d!�N��kL}�7ō�~sDskF�0��2
y1�`h�	L���i*[[�(J\2����@<�9���\�}26�غ�g�mߥ
,�l�c��3LF�;��̍j�`ǚW�'c	:E�E��ikg-�	�&�+%-W�ȁ�㲐qZ�4�
���zLP
���{DN��K��r�ݓ���\)%�qo��
�q�
0dgR�X(��CﲜW�b�p���_v�
-�%8.�q I�����%�Ȅ�z"c'\�1�+	o���b5̐��U��LB�
-������=d����`��А���,��
%"��cu	���Ɔ�R�!\�u=�՟��?�uq_�~ϲ|KX���$a-��EIA�S@��$*4���6�jU�k�=i���Bt=5���<�
*�4Ko�^��=DD�`����>��Hp#(DR�0B�<���]|��3 ��H*n������	;�4�@%;�9L��f�ZN
-k�&�	"�}?�����c�0'T
�Ő̡��$8X�IL%Dr�v�B��P��pk���FV�
��b�=�V}j��%��𱧂e�Ey��L
��)�J�N[��������k!�U�,�j[U�r[�����?+����n{�ݛҔ���Z�+�.|��'�����/���8�$}����M���kn
�B�Me0�����E�N�yw��݌�iQ�U
}~n9���f���.���
_��X�*�`��I���<�.1o�v~L�@�� �o��an}
y�~=C$�m�$&9
2�A�� ?;j�5�>�SG���lzS8�9�p�U*<�`����2��s
A��|ݝ��%(��yǴF
��1�Yp��b�9m�� ���a
�XEB\[��Ͳ�|�
cy4�I-V����
�Xq@&Ѷ�-�HŽ0X"z�T�C?1�)�?�n\4���dz
�,�H?�`�]����2������Pƥ+��w�
KV�R%ؑf�
^��L�o�O3�
���4���H��V��c�`�kz
Ҧ����-��+5J�I���KG�	2�Ҝ�
`y{8��FE�Ld-y��èi$o����ZX�
|���\�(躩J����x&�Cla+�0j
c�Ȟ�ii����d��Ɉr`L�8��(Ь�j��6������B=)�6�W��;
-~<���!�PC
�_�B�C*���uh����v_��箩��fc��ie at 0�jF��=�����~m�ǵ֋����Its ��ī� 1��#���>h���%V3h�u,
-�����£}�c0<^ �
�#�8��?�4Fr1�����8$��H��$�W�(aAFm�m^�j|}�Z�`�� VY�C��՛P`
i6T�L��a���'8���3
S�i
��=x>ec�r_�>��j,��ݔb}��) N�v�hx��t�e#���d?�|�ƥ?���x�:q�`}J
9`�9UR+y~n�]aV˝kxq�
�9h�l2�;���$�~+�
ޅ1A�)��ڏ���E
A����f�*�)/��p�����ėd�]ö!l�wꀣ�tC0j�%�Wj׈��Z_��m]N��0�� 1: bt��wk�aAU0jw���zfAzf�W
������&V�L߬����z��
��3�fC�L�f
��!��H,�z�C��Z�����mc�������$���=�-ڠ�9��h�)�
5'�T�4�'G�dx����S��Y�%�������U��ZWgJ��imF�N%�H E�v6�
$���&Q����
z�#
1i+�w9��������:�=���y+=�ӶƄ�w�&
��I������W���Tȗ�fb|g��P���'z1BU _,ł�XE�ŽF�Y�Yk���Y�
@���v�|>���1�������<<e�k��ͣ[����G�/xY��X>����f�Y:ry�x�7�e��N hU,�|��-�}�O)�O���ui�)r�
J�
���'��83(�u	�����LC1e�̓<��/ͳh���/�1NDӶ�`�O�כEO�%A�E�_n��;��f���r?�*23���,:�u~ؕ���Iͽ�	��{��e�ƞ�+
�j�&�z��{\
��qϵ������q���34��5z�p����g��>ʛ����m����d�C���~ɽ����Qs�ݸ�
	�c���'Bv|^�i�罕�����U?C'��;C��6�������3S���AL$�ܠ����O0p���M�Y��o�0�~�C�Zp��+״g�]��|��ί�V�·��_����:s�aܼ���j, (ُ��G���r�
W���T����L\���w \&��'Ok��<y��>
#��ڏ0
���6X��K�n�t�!\��=
�ˀ�l�_`��;����8��}^���<,�Ց�69����I
-��c���K[L�7.��}������q�u���~�;���p?wrW.�k<����l�ڣUt�U�]����|�BS�������<	��C�~�����6����J
Z�֫����C�W���q.e/
����%��t�]+w	��������r��6U��iJ-��[�,jc����z
��.�C�[��
˅���������L���nZ�Tg�����k�ñ+ߨ��!@l�)���ۛ��CQҦ(����.��
����u�[�I��0�E�#���z
�QQ!�R�'nѕ��Tr�a�]
��0�h9/�MI�������̋º��/`�N��r�/�:���`��~�_,%�́�|��}���
S��ӮP�2��֞�W�{�����P�_�b�יS��o��u%�F!�
7��H��z���E�7�v�~R]��ľ%*���g5.���Ǐonn�bO�7�Վ��ǀǏ#��vMiJO�N}����uW���ae����m�3
-endstream
-endobj
-632 0 obj <<
-/Type /Page
-/Contents 633 0 R
-/Resources 631 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 585 0 R
-/Annots [ 629 0 R 630 0 R ]
->> endobj
-629 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.653 450.673 290.207 461.577]
-/Subtype /Link
-/A << /S /GoTo /D (main_GDDetal04) >>
->> endobj
-630 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-634 0 obj <<
-/D [632 0 R /XYZ 90 757.935 null]
->> endobj
-635 0 obj <<
-/D [632 0 R /XYZ 90 733.028 null]
->> endobj
-636 0 obj <<
-/D [632 0 R /XYZ 90 451.669 null]
->> endobj
-637 0 obj <<
-/D [632 0 R /XYZ 90 451.669 null]
->> endobj
-638 0 obj <<
-/D [632 0 R /XYZ 90 437.329 null]
->> endobj
-631 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F31 472 0 R /F10 473 0 R /F11 418 0 R /F8 504 0 R /F7 505 0 R /F13 540 0 R /F1 542 0 R /F78 539 0 R /F12 622 0 R /F9 568 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-642 0 obj <<
-/Length 4763      
-/Filter /FlateDecode
->>
-stream
-x��\[�۸�~��P��)�`�/vmU6�l*�s�8Y�i7��h83,k$-����i\H (j.�8/#
-
�_w��7
��˫?~x��{�I�������	J�?-��bE0�����mulv��Ŋ
-��m�����
���������Ϸ�U[�&͗D\��������/�L��M'RL,�w�~�^\A�
��ы��n�)�����W��8^�����3�P�!,�_�ϔ���-~Z	X���$��e�>�Z����JGC
-����;7֯�G��������ˆF-������qKfc��DF�v2$
_����:��ራE��
�I��[�!���>���0��dT!�X2�6tcQ7�
�
�?�8�ɖ�R�u!�-���)��!�a�J�_I�����IX���d��z��P4����h����殾*��	¢��
*�U�T���ॣq�xy�߻��η�������;y:�u�\���C�
����\Þp
� :t�����c��	�ut`
-���	dX/l�R
X)�(S0?��(
-�|FQ���dH�DBz��D��Q��`���W)��UJ �O��uj<k,yx��k}R�@�)h
{�ұ�ҍ�IT3�gJ+�Khe��i�L����QB���� 6�I�dp�=��V�ɂN����3�Iۡݠ��1�I�g�I0@~Y'�j{S�RI��"g���RIi�z���JV[���apچ}t��f���mu�O0�ڹ=�o�]hޭ��-�������߹����Zdf8��uG���A��j�u
��˺ L
-gz�\]_���R��)���ϞžԶ�8�@��muWo>_H���Y^��r
�j}럚�Um��גq8Du/���BcФ����O/V
�,c]#�
-����
0�
�-���rltz0r���dKI/�7�#3�v���3c����X���:|
K�;{�s�H9FJ���
sm_�M�"闩��i٠�rX��3�:��d��I���
-L�n���It�v��3�o�\֖t����
ͅ�K�e���m/�}��q�KlY�ݎ��i��0Ou8��{��5l7�S�p�n��S��U���?�w�צ�z3	͇c
�8��!���a@�"�����5��I�Ɠy"8.���#
��N(1r�%< $��;�5���۞�n����TQϬf{S��
��C&�_�p�
)�}X�v�{F�c|�+DL��Ya&�4�	��R���L��
�{��Ž���e�p<N��<ɓ�É�-T��
-��
���=�
Z>�dF�G�S!�:w>M�����'��ߞӞ2)KL�x�y��� 3��t�}�=G`CyYi*ѿ�D��dm����C8kl
�s��
*6��ބ�9

�3�ן3�]�˶û�i�<������U�-F�
�
2$,J�
EX���x �⧲��،tMX	�'�'֤�ѭ�^�
-�B/�#���Υ�ϥV�Չ;o=���J���b����TX=
�'r��u�$!��H���KNN��̉�
6�ǎ����aʘ*
-�j�u<��gӅe�`�2	�8o��ӣf+[q��d�	+
!�)+N2�PIXAS�g���q�Ì(�{Y�wI`�gȆ���#xĬy���fz]o��5Xo

-�
-���x8�#]:�s���"]3��4�k��xF���@�EQ&�R�
L��>XM<��Or�6�evq��$伀�9���9FG�otΚ�4rr���l�%H�<h�L!�� ��']8�����H���G�ی;������d��ʮ�r�\�U���6��
��࿻5
t����n�4�h��l:��E�þ�����>����۫���i�ñm\X�}?�_�7�#�v-8
Z��A�)�`�W
n?Y{�
˫C��붹�L\���1����+
y�%	V��Q���*"8�X��l��?�W�1���uL���۵�
-�ېb�����
�$�R������ئY'�!|�H˙`
g�H�X����5|�K=;qqdo=�}Ϸ&<���a��C���v^����.�o
�"ffX���-�0!eN�0J���%�P$�s��h����WaӅ���MD
�m~�w����Y��H���
-`�Dd�(>]��lH���Ƈ�FX�4�
6�����b���D,S']z��oKb�
~_�T�#�\%G��;^���(l;�Jo��ᄖ��}��y�b���$���RБ"������s��qv1���1�
E�
�D�c�
��F�mIM�ɢ
�PjLkYݓ�!�D1>���$��
Eg*��&S. :=�F��*�T
-*��
-�]�Ţ�h�	��D��S�,��.P/,�C>}ڮrh!,2�7)�H��Ǯ8�T�M?�ߗ�-XP��
-[D\(Ya�G��+N���XQ�X��0��&���ǝ���8��Ʈ�X3��$&�fq�O���.J)1$
�J��ڷ������� 
�[ 
-}�\��n
��	?O�";�?A
8p��
'X�ߏ�D�o���d�,�L��ԣ�p�������4jV^J��$������̉�X�6����dv? �Ř-d�
U�'KK~�Xŵ����.�W(C���1��[\�\YgFh;F\�2����'T��lF�: ñ
tt�:
抑�US�-s
�$[D ���"k
-9
&#S8e:'�sF���5N�(�F��2�;�2��8�������<ۦ���Fx�r��8�uFN�]6�"rȗbJ3\�z
-��_	~�r�
� �1�*V<�4�:FKP�X
-��nr�x�����`	����*��o��Yڊ�J�^1
-狎����!�&��~
�j�Wy��i�
��a��)�#gG
K�7;ܣ
8ǫ��,��1��bȋ����1rI��b*����
�����{�
4H�M�gwɵI��aWaL���MH5D3��>����V[W=�*��Ep��p{�����$,����������]�#��헼�B�7�5"��`]�g�c��ϭ+�T�+�9*}�wE�	��Q���C������u�q̚%���1��p��

}[�\�I��4_FDS
-rd��Ҥ���Ҟq���
�
8�0�����Le7
�np�1���x
�4J�p9S�1]D�}�ҧ�{3������~�ʦ�w��>����x���L�J�
�w
_@�ŋW$$���N�H)�b�
�||>�*0��~��
5���F�$��
��B���!e9e��	o[	{��aK��
��sE�� ~��6Gu�*�N�In£+����t9�b���R��/�a�p��|�XHf^�
-��
-�.�FO��(��b.�&�|�M�L���Y][���a/7 V����-v��a��#BI����Xm׶��Q{qb�Ɋ���?-4�5�5�B��R�J�`��0������]�kO�� e��-��Wm�݁�4��
��r��o$n���i���Z��s�d�➰������j����fr�g��Z�e�̿�E����4������ ��
{�c�S2�Q���N�,�%���$�'����2{�`��eQ"yD1�&zhMHѕ҄&"
�IaOЭ5<���@�t�

*��1�We�޾tuTDV�1w33�Tr��W���e'.�+�[t�H‘�O����b�m-�UAҘ�3�[��Ŭx��y�^:lŲ�e�V	2�}�aR��~,�
�ߪ!����0�
��O
����ehD��N�#��KH
-��0�9�
Sө�u6q!�	bJ(�6��n��&�Ҝu����
��)<F�>4�M
-

6��c)Q"���L�C����ZVf ����u_��fSov7muW�U�X
ߗ<�����
�9A
*���3�q1샻�*�!�6c�ܿ:
/Ԡ��
��һZF�L*6�NYK2):􀮲W'<_ȳky�a��8�xq�	����	C�SJc���A_n���6�P
��&(�.X�����<�
A�+�$<��
����)�Fl��M��}��o�LK�1L�i��r���)���j4����͎S6��/���Q�2�˿^g��#@,rؿ�E�����e
>d�f�ct
oP]μ`��Bŏ�
�4�:�B�"���
!\G�³���⍻�F��2�����,;4I�B�`�
}v%���Ӳ�<�exF��3�I��X)���m��hoςL�r-OLΝ��x�0�Z=JJ\ɹ	o�Hd<����W��ד��5pO&�e����DQ�n�y�D�PG��T7�����EH鏼�
UF�(1��B\�^Ꙉ�Rnk�.�Z�s�Ui��j
^�C
�Ձ^hδ��I�m��ϓVJ ��`e�V���^U��
8<?ª�Y�0�n9f�ξ�t0�XaeH1>a���}������p"�;wl�C�[��޾�v1GזJ�
:�hiD���Ҡ�&-��>��
��1[��w�ܿr�����m4�d�+�f����g�<�� �]����r��J5_)���r�hʪ���!��e�DžO
�L�Xt�(���Ԋ�8��"E��������d�"ɇ`^o�cF�mn��D	л����y_~YJ
 ��W�?:* �ڈ$1���
͂��?�ݹn��p����Y��:�����G�dG�j����C��uNG�����j�B����R��3_�۽B7�Xx!
�Wֿ�%�j��5y�����a���C���B�R������
�-�
o9jr1�'cwL�u
�W�q�=�;�Xķ���E��xܿ}������~��[�
� �$ۖ�چn�!_�lߟ�k����\]0����7��
-endstream
-endobj
-641 0 obj <<
-/Type /Page
-/Contents 642 0 R
-/Resources 640 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 585 0 R
-/Annots [ 639 0 R ]
->> endobj
-639 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-643 0 obj <<
-/D [641 0 R /XYZ 90 757.935 null]
->> endobj
-644 0 obj <<
-/D [641 0 R /XYZ 395.521 512.474 null]
->> endobj
-645 0 obj <<
-/D [641 0 R /XYZ 90 495.747 null]
->> endobj
-640 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F78 539 0 R /F8 504 0 R /F11 418 0 R /F7 505 0 R /F10 473 0 R /F13 540 0 R /F72 471 0 R /F23 340 0 R /F31 472 0 R /F1 542 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-651 0 obj <<
-/Length 3819      
-/Filter /FlateDecode
->>
-stream
-x��[ے�6}�����j*
� ��V%��Iv��2�}p�*J��0ш
-Iy�|�6.$��M�DR �h4��i4��j�gOξ�8����f
-)A���r��,qJf���9\�/�x��l�������r<����1\0<uN�|m�==��`��\7�y$ٜ��_.�;����3��1��
���n�^��gkx��
�L�٭iu3c4�����ٳ3��q$:�܊�k��r
����|^4U�ܔZ��_�*8�9�~͋�m�|&��3�p$T6[����mH�#J��kTl��ť�g���O�yyN����)�t��I戳�L,��
�)�e�jۊ��N0���=�WT���`
1�����de6�˭U\��������^��;g-ƪ��
ڋy�5�ν[/����k�|�%�-(�Hr
-B��3�b��c�Uھ�b/[�o�X�:�sLR�c����i/�:t��2U���2$���.��H�b��Z���=]MW�KD�+��
�����g��r$����e[6��=k�2
-�.:{�kj��U�6�e�s�Vu9l�UUn���	S��A��k��]@���qK�{rd��ר����mAʦ�3��I��^�65<�6�}����z���lj�%���J	�"��6��r�]uU�t+焫���Y��}��1�E��;�t���_��ؔ��v�sC}Y�v���K_����� �P2
Cʘ��<��
�lN:02z�X�S
P
��� ,e��6�g�D�e���Ռ"I���z���V[��[_��Hd��?&�Gv3�,���G��La��0�k����2$s� ���x����uB����j:��|���
-"���.�Hȡ���Tg�jh��Ke`�h�T6hd��W*��We�d��*� c�P at X�\0̑�����w81���i�3 (v���cB�1Pfb:G	�t��Gv�tH�,S��7��Q�
-�P�Gr�0�D�F��Ay��1�+q�e�R�n{]Zu�+�&�0�@0�@T
�;�	{�:��*���
�
�Yho
�<���;�mr�h���Z
u8�)(JP6����J	�}0ZiB�`�WIW�	;��ަ$��&�)�,��+I�fܙ��YN|�{ND�
�w�J�d8�[c�����}�`�*�o
���G</\E�*��eo�n���t�'��񌑦�K ����lG�ˏ�W������t`������ۯӞ,O[�\
�3�;�@�������uʓ�O���0�dR����I�H�#$�|��JtD"�
S��PSC���~O;(��F��;M��y`��Dǣ���Ub,AV��"���PQ�8�
��y��_�+� �� DuK�Y*�QG���۲)6՟�ρ^T7զh6o�7 at -��X2b�+�M14�D2kා�5�����n����{`-��
X�nfJ���.�]���.�VȄ��	(_
So���X
-(�{A����٧}ߥx@�z"fVI� ;G��3
�Yw{VJ�\�۰��4�&;v'ς�6��N�i�L���T+M���9]0�(=Ӕw��4q�6�
��^:
-�G��F[�\&�e
��a�'�H��/9ʙ:����Pt��/z+
R��,�r�uhJbt�)�gcr��`�����4w훛e����N$k`�<7�_����9B�_����M��	d�Cs��s<��dd����>`��6i�
-ߕKx��
>0�'G�wX�G�Oq�"����5��(\����?e��?�}��lR������
-K
#�D��<�p��ͣz�y�� 
b>}���J!��(@�^��9v]�W�N�I�K�m/G�
-��
^'�����
��N���8��A�Pi�5I���Dy�\%W�
x
e�9�;{���
��'�$��&4� 
�-�U}S����c����F��N�9�?Pk� �� ��@�����"�é�T�Z�>N�>⮰s�|=XF2C_���1���
-z_��3j�P�Ŷ�qWW�!�iU��5B�W�)��
����S5����M�b�]�۶3AW&خ
-Ӟy"ԝ[W�xjW#W��,\
@�7e�T+SuA�1���L𾐂�f��y�Z���bp{Н�d�J��3
�=���`�㶴ɌЕ
t���A��d�ىuS2l�"p
�5t:�k$���U�Lg5�A0F1��&f ���a
-{`$s}|N� �C-��_�M?Z�`XFn:��tM�m/Kת߼�sb�*:�n�1�!���Q���^��GZj�wh�
�"�b�M(8D*!�Ip~@��C�-Q�*S
�
wT҃ڲ
�{e3�w�\0/�����7�j�n*S�����9�Wtr]�Lu��~��:&`�O������ <����a�!���]َUS�t%hk$&��t����k�\���'qɞ 31��o����/�U[�7{i��u8�Y{P-���v��Ϸ�r���}�T��0�0��(����2:�:�d�,t<ڟ�|����usSl�\n������I-�0C*0��k>�`��$s:�qUrE�Xg�8i�,$��^�~��������;
�Tr�Q�� ����e~Ln��r�Uւ��ŷ���@�਌��ݵ
l)X
�g��U�%�!�P�' �.��@����?���zd��G$ӓ}y�.�d2�����4#fK��ͦ���m�rd9��j�*"{�Ozs�8b�r
Y�Y.I����
����dRn�=8d6!X{v�N�
O#��16�+�V �h��i�3��x^�ZL=��d�az���dI��-����%y�>8�2vLe$:�H����TN�sۏ�$����D�}�-�4Q����o�����\
e$�3�$p'�	 #IC'��{L����bs�.ovuga&<��O.
�{[���wE�U��� �ќgʖ �̖����/��?
�[�Ƕ���sm
��V�[���X��������U9�1 M�9�����m���Gdx�Q1�¶³�24��(��
ᚿ�4(��c�X
-�wq ���9�3� 3
85��ꋩ�ҵ����jm�Å>��/����<�6��I,�;c��t���>����pp���֎2hY�\	<򐂾�����ŗ�<}����f��/V����y�.��}��O4M�����W#@}�3ZÁA6ղ)�7��lV��*�m����;{}�����r
��DxX�ާB�|��
Q�.�M[�f.S�{��q���/z�,��뙉�fkl�
=����0�"д
1����g6�'9��W+��?�챦��Ky�%
-�D?X��mY&��'�Y$T���z6I����ƒ�gI�C2�g�A�u�}y��
��Ϯ����?�fS�g��F�[�rTK��m�jc����!_�@%"*&_�[�9��3+�����J+�?l�R��߅�_�j���\r8�"�,G��#}X�}�c��N��V
!�i�h+f ��� @^.O��9Ag���Cq�#?.T��2��[/��N	�:�~��B��BBXhR�M�T5�2��?��Y����L9Q�}
�	������
u�����f\a��M�
-~h�>f��!�>犏��R����
���*�9�T����L{��h{��^'}�B;Iy��R�H��]*D��
6I�je��ydż9�x�>t�qP��xٿ簩��An8*����&('~v�n=t�a�p�������ơ��g���
�
-n~j���
�������
c���}��	r�@��
����e�&ig�������ɇ{�+ÒŮ�=�����Z��V�U���ns?P[4kB���z��fH/^�4�����N!�
-endstream
-endobj
-650 0 obj <<
-/Type /Page
-/Contents 651 0 R
-/Resources 649 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 662 0 R
-/Annots [ 646 0 R 647 0 R 648 0 R ]
->> endobj
-646 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.648 328.873 370.375 339.777]
-/Subtype /Link
-/A << /S /GoTo /D (main_HMT71) >>
->> endobj
-647 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.151 180.673 315.118 191.577]
-/Subtype /Link
-/A << /S /GoTo /D (main_HPR97) >>
->> endobj
-648 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-652 0 obj <<
-/D [650 0 R /XYZ 90 757.935 null]
->> endobj
-653 0 obj <<
-/D [650 0 R /XYZ 199.887 681.531 null]
->> endobj
-654 0 obj <<
-/D [650 0 R /XYZ 90 666.861 null]
->> endobj
-655 0 obj <<
-/D [650 0 R /XYZ 90 562.5 null]
->> endobj
-656 0 obj <<
-/D [650 0 R /XYZ 90 547.93 null]
->> endobj
-657 0 obj <<
-/D [650 0 R /XYZ 175.548 388.57 null]
->> endobj
-658 0 obj <<
-/D [650 0 R /XYZ 90 371.843 null]
->> endobj
-659 0 obj <<
-/D [650 0 R /XYZ 291.462 240.37 null]
->> endobj
-660 0 obj <<
-/D [650 0 R /XYZ 90 223.643 null]
->> endobj
-661 0 obj <<
-/D [650 0 R /XYZ 400.848 106.118 null]
->> endobj
-649 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F7 505 0 R /F23 340 0 R /F8 504 0 R /F10 473 0 R /F13 540 0 R /F78 539 0 R /F72 471 0 R /F31 472 0 R /F1 542 0 R /F9 568 0 R /F65 376 0 R /F6 538 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-672 0 obj <<
-/Length 3431      
-/Filter /FlateDecode
->>
-stream
-x��ZY��~�_�o� 
oJ6
���ݝ @v���3��/Kj�N~}�H�:�==��H�Z��dU�tv?���]|y{q��������ݬ�3�Q��n���<^^1Ji����e[���W4�m��W� i��%�����n.9LX?��.�P.3f.��~w���ů
��3�S��f�����t����f��"�=�Y���~׳7�.蓤sA�V�t�:������/Y����H�o��ޓ��v]��{�����ۥxSm���
�|��G.��Ut�5�]qI�,��?��O�C��"� �n΍���`B�݄�KH"y��*�BN���^�50h��yb��D�)�t�IaD�4�y>�bD��J	Ɛ���`��z��|���w0!�W��ve��:�t'=�R9хr2�T���q�F�&��D�g�4FI!d7�j�Ç�i�n���/�qr�9^Uk����Cծ<��m�v���'Z�d1��b
	>4��ݶ��LeR�S ;5��tY�M�]b��(3B
��;&�
-��?J$�@�<�
��~�

>�qM�$����{ A
�#(1J�mH��3BE7�:�X�wvљ���'�F�vwi9����8y|f���(�)�&/�4�t�D�L���ؒ�5�PЂɬLș"x�M�y�
F1�I\<�$��u܉:'��T'��M.g�|���9�s��E@:hä}�KBY��'�������6�� 1�ib��"j<��I4X<Ex��x	�xA��â��ն\Wme�q����6ն�T��n[��F- p � nA�zM[�U�k��=)w���C�"���Q �e���zu�����2��%W4�̮/��J,�:���r�ܵ�=��*�c��
-�ok ���

n�]�i�]��J?>�
�Ϩ�����,�Y7�g��l�������ܿ�?]�w�R��ѿ�
�
��n=�l1j
�;�h[{�T�z�,�[�\pt�n��a�6e�ĝ
x���"Ѭ�ٺ��e��_���8i�H���n��Eŀ2��,x@:��<�ɺ{�������rL�M�Ӏ��}�
ێ��n�h��.�r��PܫS������������)����[�� �?����?V��g��g�G�ۍ"�n�6���&�'�r�W�qPN
�
p��G�� j�5��P9N\�=z
e����#�q�k��C&~=fG�u�
���Fnw��S�S���eS-��G�I��>8�m�=���ղ{��k��E�O��nі�;��~�Y�{� !P�Tgo���v�C�}�
6q���K�<n��#�8�Ɏ�E��ޅ0���>$��!�x�&OE��5���
B����fr��L�L�
-�RC �'�:$�����w�<���lDs:s
���AFC�/cC�#���{
�� Wv�K��y�9h�:�!�V��2�����
�!9��j��ά�+�?���L�s'�`���6�M�y��M~s��w�M�]����LP&��������1w�8��1�Vы��s�C��X=��p����n
��n���ĔrL�D�saF��WB�Q~�gU�ə��X4K��qbgAzH�&a*�����^$�
-��U?o�Q	�U
y�՚�&Վ�
-X��~H���(ɒ
�eO.�6�5��l��^�\�1�,y^��
�w5�Gfz�S�m����B0p�=�w�g�$�s6=]v
-hg�K�ʨ�\!�M��	�S��4�9��J~���qF�_M�}�		
�wp
M��h0���c2c��|.;���36Tۂ`0�j�j��>dZ�z��zvf=D0�)?��D���5��
f�)~`�|o`���!Nh���
�0�	1�f�E=�&U& �z�w��e��
2u
����sW�6	)pF������r̩�W>�Ƙ���y�\;��}q�G|�
��T5!;-���ƶR^�c<�/YNq(cO{RїB�9r8�C�Q
�e7{�c��;��
	�+�
����x �yt?`��E�FZ
-��|����IA�h<�Md�?�#0���"�D����W�L'���pZ<	'FD_��DѸg���\�#�
�4M&E���ѡ���EN�V*�sb.ΡV��3�Z��)�����2�[o���q:�n�#o:��m����Q��I�YE��'E^�.���L�(W�����˔Q� �>Bۦ
Z��M��b�B�*]!g��7���A��6�k[bc����z�*�����
�޽]
\<�?<�סFN�֦,�( 	4O������erб��ZX��g/k��@1,�s6,Ï3Y�wL���DSD��O��P8���T�����u���[�]
X����G?8H(R�
�J>;R
LU��H;zBЌ��Cu4{;G�Dr5)�����#
������B�x��X
������Tr�9�#�;�cy
�=O
7zhr�
Й
��/�y�
)_�o?����������ΙT)�{�ﱨ\<Y�´��I�elZ]������`��BB��N�����7�ys��T�RRR�m��۾/�
�RD���?qEdh�ݒ'���I��g��us��O�I��o���Jq
-Eu�A��ܹV�.�7���N[��S�BJ���aLիa?"�W�M�Z�b��ncK���Sh�
Zg�2�Xcվ}�lh�??���mP�]�^t9�� �ޖ�|v\�U��~�k5l��o�`'��a�b�6L
-�/Lq�M�-�}|�X�
�u�:�7��D�
A��.�M
-�>���O�—�����q��ª�Jc/�Q��N��b՜n��_��\S��6?/�t�X��	���|u5w�d6>>?ѻ��틛ׅy�g�2R`������W
#�,v����:f��!������u�	��0o�<� sJ�d�
-T�^%n
[���� k_�1�n�pu�gU�/��F�K���\����������)��]�Wh~=T��*��a4�`J��:�;ׄY�bh�1Ж�
�����N��q��mʍ�W�����׈@�k.�P�q�6�-
������Dk�mCgy_�
��SW
�4}7Z�;�_�U�p��uH}S>wF
'�0Z�#2"��_�x�O*��[FB�7�Sp��7����2��E��w滶"�rd�`pd�B�
hR�~�Rp-����2e+ � Oo������t� �K�00��]{t���Z�B'�����@n:tR�F''�?�6�
��hZ�2�?�u�m�U
-}��h�B�h��,�h6�� ��:�
�{�
-��������j&u��

'��+�,$eϼ��nn��5�%Ta�HW�5rL��Mhߌn�g?�=r�����_��
����
��W�VNw�)��K�>^<��
�I��/����
w�g`=s�N<�U��?��~xx ��
�վ&U{�߯�'��׌I,�u���C�����
n�kKC����Թ
-endstream
-endobj
-671 0 obj <<
-/Type /Page
-/Contents 672 0 R
-/Resources 670 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 662 0 R
-/Annots [ 665 0 R 675 0 R 666 0 R 667 0 R 668 0 R 669 0 R ]
->> endobj
-665 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [447.267 502.912 513.996 513.816]
-/Subtype /Link
-/A << /S /GoTo /D (main_Powerset_Meet_Preserving_Simplification) >>
->> endobj
-675 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 490.957 234.367 501.861]
-/Subtype /Link
-/A << /S /GoTo /D (main_Powerset_Meet_Preserving_Simplification) >>
->> endobj
-666 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.859 163.689 492.835 174.593]
-/Subtype /Link
-/A << /S /GoTo /D (main_Hal79) >>
->> endobj
-667 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.791 151.733 180.758 162.691]
-/Subtype /Link
-/A << /S /GoTo /D (main_HPR97) >>
->> endobj
-668 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [99.388 98.244 148.972 109.201]
-/Subtype /Link
-/A << /S /GoTo /D (main_BHRZ03a) >>
->> endobj
-669 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-673 0 obj <<
-/D [671 0 R /XYZ 90 757.935 null]
->> endobj
-674 0 obj <<
-/D [671 0 R /XYZ 90 733.028 null]
->> endobj
-676 0 obj <<
-/D [671 0 R /XYZ 90 491.953 null]
->> endobj
-677 0 obj <<
-/D [671 0 R /XYZ 90 491.953 null]
->> endobj
-678 0 obj <<
-/D [671 0 R /XYZ 90 477.955 null]
->> endobj
-679 0 obj <<
-/D [671 0 R /XYZ 130.944 234.768 null]
->> endobj
-680 0 obj <<
-/D [671 0 R /XYZ 90 218.613 null]
->> endobj
-681 0 obj <<
-/D [671 0 R /XYZ 400.439 178.797 null]
->> endobj
-682 0 obj <<
-/D [671 0 R /XYZ 90 128.819 null]
->> endobj
-670 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F11 418 0 R /F31 472 0 R /F10 473 0 R /F72 471 0 R /F8 504 0 R /F65 376 0 R /F1 542 0 R /F78 539 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-694 0 obj <<
-/Length 3588      
-/Filter /FlateDecode
->>
-stream
-xڍZY��~�_�o� -uR2��a�v
�kO` k�PK�ia�R������(Q��O��d���JR���:�����͛o���y����!W�~����ރ��]����s5}1�];�ޅ��˯�+��m�<��~�
aB�t6U_PW{Av����7_��|�	`{uh�D�:J������PA���Gyvx�Y�C
FP6�_n��(���
=�|�&|��x�����{�+����"���t���e�r�hx��^��T�9v\���W<z���o��\{�g�3���\����,)�v�u.ƿC5̼Z�
��,���
F�@��
?O�Z��f�-T�]�'���ȕ���<���Cu�sB��t3�u�ͺ
������ڮ�e�b\QH�#����ӆ�p5e��RaY,4���3����S
��(���aõ��D.M�d�'

Sf(w��r�{ӎ��rm��t*Y2O���f�^E<Ş��M9"Si������
��&��Elp�8���!�ȃ �g
�A� =�t���-�l� �.�'�y߭n�3����2Xj����
���mŕ�4N��]@�����t�
J~X�4��/�'n�l��K?�y�4Js&BVz�f
I����Ʊ����ޖV���$7����Uw)ꅖ{��}20b���ݲ�gc0��V�i�
�n4_l�LU��Z�o�$�E_�E�#�(���nP;u�+��ӱ�P�1k�l�t/���F'd���c_�f&f�;m��*_
�V�A�=L���]�>Xc]�
-[7��f��ŎA�C�3�ʻ��Hh����:}MW�*Aǥ
���
A�QlP9C����}H��Y�������O%d��V�x�� ��Е� ��$Ѱm�OYˊ�U6�@=�!��:��w�Tb=��M%�$���
-��'ˉ�,C���v�Ò �
�s�-)� �m$�@v��O\�*.<�>O��űɣ}��;��S?����$� }ƫ�PY���������F��	.n��n�@�ATѼ����o���Ei_E�%���V�X�� �zh��Ν����]�X7
o�Kyo9�"���;ңR?�z�����
!��G�~���(][S�Iw�� �
��P�u��X\
��!kT9
��j{o�
��:�
$�*�'*�%�bPrw�ZϑdO�®��X���U�͙����P�~��kqe���p�" 
�Ԯ�28��KW��7Ho�x��
ő6���
�!4��v���UC}혡c&��<φ�r�-wA�
�
 k�=�� �
Y�c�F�դC���3B���C����c	w"��Ȕ����E��>�mD1�q?���Z��w�# 1(�66P94�2r��#Y���>�U�
d`�,Aa��ϻwC	_t���I���I���R�$P��bC��I��g%�:�Jt�(�3��9�'���
��CX ��4B��k[*f�
�]���[���;x����b��
+�����Fa�#
p�@A
�!���!`�ch���
pŴ�I a��~��4��3?
fs��=��v}d�0&a(6N7�y�CwGjل
H��s�T�3 ��²
/r�W?X��<��\�|�:��&�"P�
�k6��n�bS Wf�,Z��Juk��́�jC������T<�������|Q��� �,�<�S+~�Iv�W��
�Ml���<�:V�v�yQ8O��
?~%E!r�}�/�=���"��*�|��v�\�9�	�0/q�'00�
O�3A"p�k�R���?4�I�2c4x�e(jr=H
��� ;�Bp<옑8�WL
�+�`��y�6�d&�f�hS{M�-$σ�ׄT�v6'����� �k0ܥ
�E��m�J�aϧ J\�+I9�����d%i�/hB�ӏ������5y��I
C���v��B��Kh& �3p��	i;(&	�E
�Q4�Jʎ]�h
��r����{��Ö<<V!>+$�`!c���
Z)�X��]�E�N�������bm\)�
�7��s��,pg�d���o�X��W�F��˗�%��f�䄣�
�P׏\#P%���ke�K
nۡe�Ĩk
Hf
{zsm��](���g��U��-� ��.��k��ȃ��4X�
��3R�k��@]L��p&k �be-zcIm�	�K�
���$TEug�A3p���m\� i�nj�=�%h��8��><�垠,lY�
��8f���0�b(\H��,52�J/���\0F~�g�r�	Qx��!�̏�e�K�L�}~��
���ހՎ^���x��(�#�s��^��
\��-����O�
J���%�$3�v^wE�)�����};���g�7Lj�ˑd����٢
�HuCa.�{�;D�
0���XV���
"{���flj�mrI�hpv��ޱ�r�S��n{r�*3 �Z�;4���!��q*��8�id~�����0�g�F���FI����C�����8��g4�"�ődD;Q���J�mO��
��M�ИɎ8Ε�(����Ǡ�a��5
�9VT�%��ޠ��~���:.|k8 ��
-Ǚ�@_��x�l��<���wLzp�}��\�<�E
��W,��A
���l��B�9�$9�<]��:�^��(_#%����6Ġ�I0�a�R4
?��
G�qs0'#�k�U���ߚ�H����Ky&,w�%!�z���X�P�+�*�Q����>��O�OM1�چH)�H1S��`)���E�������z�E?R�\�x�
��
e��D�h�f�ԗ�ݎ/S>�f�z
D�Ef���b� �F��NGI�`����Xַ�gu at Fv=s����u�:{���+�0vЊ��?��d`Mynk,��PW���}}�������=M��O?�zyb:�k~o��yZ�b���L�Y�	�������[c��v�f�4 ��
����E��Ԑ�
��|ȻC{��x�|T�d�Z�ҳE��ؔ�Rq�h6F[e{�M�IC�I��j��6rM]΃kG���yb�:��G����l�FHw8ax	K,�
���p�#f-�.��+D�X��
�H
.qK��J�L��Uq��BJ������.d�s���r�J�8BoZ�|�a��<,s*IB��C7��/y%�@�����%|�=M��vCQ�حx
�0��[
]l.cI������\"q�9���In}5c�ʿ%���d`�:��yw��
�~X����}�
-�����q����(�4��Z��h��	G؉ВV�8´���Z��6��X"̧���Z��37�u܂�?����XiW�r$�r���.��
:�Uxv�)�*����g�ju��r��埃֞�2A3*���������l��*��
��oP��:]�ryأ	�
-Q��\��^�	�^�Ec��Y��y���?��e��k@��gY���ݴ��8���\����0瘡����C�%����ӈ�������;�(?� ��c�o��`k����8�y�C�h��<��/޼y||��������������T
*A��[28؅�8-t^�,����Sv�k
-endstream
-endobj
-693 0 obj <<
-/Type /Page
-/Contents 694 0 R
-/Resources 692 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 662 0 R
-/Annots [ 686 0 R 687 0 R 688 0 R 689 0 R 690 0 R 691 0 R ]
->> endobj
-686 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 386.85 138.587 397.754]
-/Subtype /Link
-/A << /S /GoTo /D (main_BHRZ03a) >>
->> endobj
-687 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.089 205.085 416.057 215.989]
-/Subtype /Link
-/A << /S /GoTo /D (main_HPR97) >>
->> endobj
-688 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 157.264 126.971 168.168]
-/Subtype /Link
-/A << /S /GoTo /D (main_HPR97) >>
->> endobj
-689 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.445 115.73 242.088 126.634]
-/Subtype /Link
-/A << /S /GoTo /D (main_CC76_interval_widening) >>
->> endobj
-690 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [302.64 115.73 327.726 126.634]
-/Subtype /Link
-/A << /S /GoTo /D (main_Intervals_and_Boxes) >>
->> endobj
-691 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-695 0 obj <<
-/D [693 0 R /XYZ 90 757.935 null]
->> endobj
-696 0 obj <<
-/D [693 0 R /XYZ 90 489.974 null]
->> endobj
-697 0 obj <<
-/D [693 0 R /XYZ 90 485.367 null]
->> endobj
-698 0 obj <<
-/D [693 0 R /XYZ 233.411 318.272 null]
->> endobj
-699 0 obj <<
-/D [693 0 R /XYZ 90 301.545 null]
->> endobj
-700 0 obj <<
-/D [693 0 R /XYZ 90 235.661 null]
->> endobj
-701 0 obj <<
-/D [693 0 R /XYZ 90 158.261 null]
->> endobj
-702 0 obj <<
-/D [693 0 R /XYZ 484.168 118.883 null]
->> endobj
-692 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R /F8 504 0 R /F11 418 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-709 0 obj <<
-/Length 4135      
-/Filter /FlateDecode
->>
-stream
-x��[K������܊��3�����.;NE���A�a��������V�_�`��c��˗�h4��~���������/���bV�Rs={}3+��hFg�׫ٛ9#�r�(��ھ�^2:�`�T���+�iWx��X�;AM!笼����߾�����Rt����#�ly{��W:[��g����ݻQ�3�\׳W���2#�R<���Z}�@��w�&;���D�'|����Z�_��������������fe�k?��6�n���n�7��vs�W}ӵ~\�◶k�z�>Uk|��n���=�Oz����z�_����L���
7���:
�Z���\�G�E�)dnʯ����՞%H3��D���֛m��[�f3Ds��}�"
O������n��L�-��p7
�!��s1B�
C~�L�(Q�&��'伲1�Tv3�Ew��T�)����kW9��1������'�0p?z�݃,f�Ԅ�a��D3�U�e"��Ii���Bi6��Z�C�]!�U�����nื���(�?,G� 
�%�u��1)�-�)	7�X���KӳWE�Rn�#����$J��?ݦ��d�W�9�����j��y�7��8�&l\iydͻ���7	'#���p������f�!A"�����Pm�p��y��
-瞧� ^<R����"��3���R��^�"�a�8���1�v$�(�p���۲�x�"��*
�pcZ���Qr<���4)
�v�V����̖JPlL����-� *O>K��R1�u�|P������Z'g/�����3<�
O���u����x	���!2m�W�p"�a���{�Mϒi�� O3K��A���,%��g�
���$
K��
ٜ03L�6�XIʂMk�)���m{�xK���Ll�#
N2B����
RDsWe����j �
�A|��Ѣ��.��ޡZA|����Uj�(绪Y�]����
.����)
��<��P���c�.z��,�ok���]���ZB R�%����0i�EV���[��$
D$Gs ����/�E�ń�W���zZr
���}J�x�a�jVB��,�=
��Y0ANW�o>����4]K	&g�p�D1��
a�8�է8���ܱsC�6�8���p�$!Mn
�E�

+iv:ظ�n�'�8:���S�%B��?ɳ��)������܏R�Df�3��,gɘ�(54�_�h���B�;
d�MpI���(�r2���a��8$�k��O>��]߭����>�Ժ�c�iZ;= W��
�7
ӆ��6'��Z��
(FZ%�6?�N�� V��is�4�<|̪vBXs�'�C�!t8��/c�!���i2E9��ّE�=A��(0̊�(A�
�
Q�<湖D��	�	eA4�	
^~���i��
|���<Ϻ�
l�sC
-�P�]��]�.�ː${�������)�4FĈ�_k��ST�D���Pg�-�����p�|uBJ�� �݈3����88�����y3'f�ID�0x
F1	�^gO�N�p숛p�I��>d�\
�A�ώ��1#j�ƹeRӴ��}������7��H1���%+���� ���a�t����0�Hn�[o;��u����dd��_u>i�a"8ip��-���f����C.�N�
�H)8��Goٓ�Zi��}�P %�(p �r%G�Ű�zeӀZ�hPhJ�P�hp��w��]Y��o�|3�!��
�|U��[����j�
a
����Q83:�I�擃Ou*�����9���b~�B��8�f��M`*�(��#d�M̕�G+���!�g�* ��Z�E��?J�L���T�rI#!:,{���
���$iᲃ��Y
L�%�yyA������j��<;���f��5�k���ϵ>AJ0��m��v�p	�g�ۣ�
籝�Ly�_��a�6�ՏG
G�X�ݛ
���
pU�<
�P*�Yw.\�A�� G�)qnP8v�ߧ�����%%�ܨSp�n�9p���pc�؇�� ��(���G����N�H��?J=�x��W�x�(�h{8�
r"!05�<
�^�!
j [...]
-b��}�jn�v�m!L�*?H�%����bd���9p<2TG#C[@JF
�&��V���Y&��i�%'5�ON Ǒ
-�F
����܁����K2'�@�IM8-��N����I&��A�u���(O
��G��%H�>�Up��0��[v�8�X9��
-��n����۱?D���c�	Q�@�${<NDY��3IpH��'�:	�`��;25�C�UhU@뺝Z�a��AAp�Q3�–].�;}
-�^��^��X?�Yխ�w����`

��n��T}��{��q�|�\o+�Q�|���A�n0�����@�}����OX��4�v�	Qοo�ѷ8���ml
>��K�4
-�79l��{�a�L�<	�� �U!.�p�����}�$6�	-c�5�4*R��ы�}��zut�Y7���Y9�;��$(�erD>
�C�$���S�pH{�����O��*Ĉ��}�{$��b��}c���m��B�Dl��#������{��3p�ͱ��2WQ�n:�ڿ��ĔT��t�w�5v�
턡�k�hk�������/�ZS>�ߤ"1���D���M�J�81bR�8V~����K���)
Q�ݛ`��}�'`�;�����߫L�ì��\��ܸ~ܻu�z���!��EK���.��TXwI�Sk�-0�% �������ik-���]�9��d�㷤p��b�/<`o�����'g[������f�H�����d�ub!(C�n����}.7-�*��DG
F�5���k���G�������p��l�vـEA�ܵ�n�>p8‽�
-��C�?#>���	ĺW�%�@��k�m��\9��ߛ���!��
>���˾���@�
�Ue!��p�&�
;\',\�[���6�����&d��f���|X⣫�'$q�8$ts���js;�����.Vu��[n��}г�%�)[�`~�]Ε�S'�
N���U�[ssc��yp��W�h�t0�\��
�Z�1��<K�c!:_g��d�N��( b�
����;9)ı�N6cϹ����_ �H��>�cs���ps'C��h�d.͔�_���+
]�On�,ҪF������ϼ��-2�h+&�M�*g#��3�d�ǴdBM6��K %@Ɂ�LmG��
-�T@
� Hd���6$_CW����+S%A���f�f����1��-���V�giд���Tw]�O6h��1ߠ�^�_��l���'� ��I ��F�]��}����>����������ь�e���*�1�w�ӏnc�c���8�#�
�I6a/-F������G�o�;V{=�X3Jo�8�
я��L��=��=�O&?���I
FT��/����vi��i�p�|G������$B�
��*1��ol��g]v��x�
nM��Ό���xZg?\;�g����'�3K(S{�B!�S�xޘ�i��`L��1��ǝM,��G+�����^=��ܗ�oQ]����e���bܗ��]�
����loh�y$�c�cV�
�p�3��r���P“���;�З���'�h'���{�8��壓��m��i���>��b����9�¦��#�"�
�����
q�P?�1$��\�n�O��3*w)HN��
R����m��k��%�V
��i����i���� �
A;>�2���߻z�ťRs����j�B��*�/��t?� %��.k
-ql]�M����������U���>�X��7_^]��ߓ�ܵ�fK��j�Y_Ml�h�
P6���o��7��
�_X���6a�
-endstream
-endobj
-708 0 obj <<
-/Type /Page
-/Contents 709 0 R
-/Resources 707 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 662 0 R
-/Annots [ 704 0 R 705 0 R 706 0 R ]
->> endobj
-704 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [212.462 394.864 244.342 405.767]
-/Subtype /Link
-/A << /S /GoTo /D (main_CC76) >>
->> endobj
-705 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.855 382.575 194.766 394.53]
-/Subtype /Link
-/A << /S /GoTo /D (main_BCCetal02) >>
->> endobj
-706 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-710 0 obj <<
-/D [708 0 R /XYZ 90 757.935 null]
->> endobj
-30 0 obj <<
-/D [708 0 R /XYZ 90 733.028 null]
->> endobj
-711 0 obj <<
-/D [708 0 R /XYZ 90 684.604 null]
->> endobj
-703 0 obj <<
-/D [708 0 R /XYZ 90 476.314 null]
->> endobj
-712 0 obj <<
-/D [708 0 R /XYZ 90 476.314 null]
->> endobj
-713 0 obj <<
-/D [708 0 R /XYZ 90 461.744 null]
->> endobj
-714 0 obj <<
-/D [708 0 R /XYZ 434.16 386.061 null]
->> endobj
-34 0 obj <<
-/D [708 0 R /XYZ 90 369.001 null]
->> endobj
-715 0 obj <<
-/D [708 0 R /XYZ 253.525 291.66 null]
->> endobj
-716 0 obj <<
-/D [708 0 R /XYZ 90 276.99 null]
->> endobj
-717 0 obj <<
-/D [708 0 R /XYZ 138.148 128.136 null]
->> endobj
-707 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F31 472 0 R /F78 539 0 R /F23 340 0 R /F10 473 0 R /F11 418 0 R /F8 504 0 R /F7 505 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-727 0 obj <<
-/Length 3312      
-/Filter /FlateDecode
->>
-stream
-xڭZݓ��߿Bo�V��|0��*;��\ֹ�U����X�3P֛�>��=�H�]�1
�L����n!�]�y��[�Y�Ye���X$VFF������RF��J
-!����fY�����E��eS���J����Ǣ�q*�^*q�����y��+	ۈ�t˚$J�YlW~�-������Ń�:,b��Z-��~%�eQ�HX3�)f�v��
ƀ�W�1YC,V*�t���^K�lZx�*�q�Ǒ\���MO�I:Y�Ƒ1��VȉB�F*5�@���U��LR,l�%:E�$��]��JKD��,i$T�XM��zK�t��ʙy9�9VQ�����A��~)�[�� �
����_*�e�b�릚�\*�t�9��6Y���@JP�
EX�,[��Ԏ2��辞��
�	���*�b� �K(��чT��g����[�u����MSw}��u?��J�42R/V _f8�3���49w�@,ia��
-V��4��
�������Z�$�>j(�
8*;��./�4���
��

��n	�@
\7���XRN���@9ly�틖�(0|*���<�j�GYoˍO/��
-�?X��
-���ۜ�0���)hg�M��b.��l

��5^,]��&�f4�c�FO�

���h��A��lf��a�����z޿v���~�v%��(D&��/�L at w��4�mv��Ӵj"~��Q����WGZ&�	+unEȆ��t��f�%��5!���4f����	�˳~2���]�)c��}��ļ)�^�*+	��������R�$��ʄ�k2���KȒi�o�
-�Y��+S0Ԙ�>^�b%|q	���|��)�_~VFQ����m!�
"L
Fڟ��8Êt

�C.!�|�<6��ض�\.I�$�[^i+f��	߾�1�Ԯ�O㫞M,�4�\��� î���� p�T�c؅��CT9�����	0���^!o�
�}���HҼ�8��-M4u�>*J,Gsv��Ȍ��ݜ�H��ݐ��U,2�f�!�A�;�E�\x�n�����E�2&�3
�Μ.��T]�L^��
	������j�٨����/�:���`��[���P�3
-� ��3���z��g�1��⏳>;�
�:UQ,��)���[C��\�t �QYox�
�{��us��d�t�WRfy�f�&toU]CTyM3�a��ax�`�7�����e�z�w=z���������B����pc ����5�0�o���q
-�3��~�T�Q���2���}w�7��sI�n�CQw��p��B�/0�nn�����2��)�ݞ���-��s�s�����#r�����\5t��
�q���z������j����
nP�Vv�9 �
	Q�x��{�$ >��!����g}ŢٕАV~���
�gj�
薗s����;�H�dW�G��Nd#b^+��͜v�G
�=Zڸ�� 
��k�yLj�~{��4m��f�Л
{�e�+�aL ����V��J���f�w����eg���]
��㨓�|��-�s	
R�L�i�
�8�%f���]V� �Yh���c^R"�8P,hnٕ`�
��vqZXb:x�.w;~
\W$��C���K�(x0znb!†������y�h~���.���9?�N��`C�h��PԚ3�=���x'�����"���
��fD����yC�v�rp�"
�
P0*��ӅD��:���
C<�¥�#HW�
�y:

������9C\ �������N�
-%�	Jaq
�������*@����2�Q<���m�ڟ���
-m"it��\.
-A������2��������oP�Ls�m�&�I2

��#��?̃9�͑H-۱^�tY�C�+�9�� v�w��Fc!��
l��0o#��)�S���0�)ں��x��d3���-�^b�X���@Q:Yζ
,?4t�#e�|�ԛ}�ΗX�)�T^V��*n<&�ʈ�������1wv�.{�ae VL��X�%7e7����X��q��
���>��=�򅏛�J�c�S�E�Qa�A`+��M�
[J����������ZL�=6Z<

Კ�P7;�`�+Ƶ����8���#*b�`&���z(r�1
�u���Lҕ��
�Ǧ�Jp��U��A?�NB�j����G|c&��!GP�U���i�O�א�m��Ǽ�rpBv�
-il���� ���:����[=n��7:�#��N
���0 �g�C��*
ZhW��U�{&ڪ�Y�oN��
[��O�~<Xn7���&��
�`�_�K��6�Cm����
q�x���\C=56?~!]Y����
��
����,
ƀ
��2��P�!7�X�6!V PQ�x�a-�i9���cZ9~	��Ij�L����1�R�v�HtC`��;NP�f�!�?��xI���
�x#�,
^�,�U Ub.��J�0Q�<�=p�g�M�"h\���W#䄠�{��0Юv~�{�Aٱ�BiC�bH@���=��V�����@e)��S�dq���'�ӞK��X�qH�,@��0�<�d�������;�d�}˻n���Ի�
w��&�'��ୋ/�G��Va�<�#�M�J�T� �C��ց_w�	W:���ж���C_��&4>o���N1��&��O:;��C�x8D�(���e�O�$d�	
�
C�ad�~�$������0��ݸ�J�O�0C�6��jc1y�*�m�>�+���_�
e���r9l2Y�aP�{<�$.{��9
�1Ѵ"�`��"e���3f�K�;����� ����'�g�[P�I�@u�"q������	���}���@�_`$^~x��O�&������٣�S��#:Igs [...]
-��ŷ�*�Ł
-v��a���/���V�9���$H]�6�/+^���S;Dg�i-���
-V�
�w}q��ᤚ�5�Q��H�x8�5��utOv�������� ��$ߘ���TcL�Y�=:zx�y�_����o;8Z�N�Yo��i$
w;��8��}�����
6
��k����K��ʣ@
�
�Hv��S��``0�u�uwp0듸�编=�=~��y(�}�O�����lV�U������;�sc���
Na
�N����Tf�(����)s�%3�w{�0YdL
��X�C������s7��u�
-����? �,�Oy}�� S�?
�~���w�}W,$I�q�G�����^�DZ
Xx���ׯ^=<<D�.:�屍����X�:��
H-e
��/ه�>e
���.��?^D�
-endstream
-endobj
-726 0 obj <<
-/Type /Page
-/Contents 727 0 R
-/Resources 725 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 662 0 R
-/Annots [ 720 0 R 721 0 R 722 0 R 724 0 R ]
->> endobj
-720 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.191 181.835 208.619 192.739]
-/Subtype /Link
-/A << /S /GoTo /D (main_CH78) >>
->> endobj
-721 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.494 181.835 511.506 192.739]
-/Subtype /Link
-/A << /S /GoTo /D (main_BHMZ05a) >>
->> endobj
-722 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [460.906 140.301 492.786 151.204]
-/Subtype /Link
-/A << /S /GoTo /D (main_CC76) >>
->> endobj
-724 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-728 0 obj <<
-/D [726 0 R /XYZ 90 757.935 null]
->> endobj
-729 0 obj <<
-/D [726 0 R /XYZ 90 733.028 null]
->> endobj
-730 0 obj <<
-/D [726 0 R /XYZ 121.551 562.157 null]
->> endobj
-731 0 obj <<
-/D [726 0 R /XYZ 90 547.487 null]
->> endobj
-732 0 obj <<
-/D [726 0 R /XYZ 121.272 253.487 null]
->> endobj
-733 0 obj <<
-/D [726 0 R /XYZ 90 238.817 null]
->> endobj
-734 0 obj <<
-/D [726 0 R /XYZ 90 212.545 null]
->> endobj
-735 0 obj <<
-/D [726 0 R /XYZ 90 158.921 null]
->> endobj
-736 0 obj <<
-/D [726 0 R /XYZ 438.959 119.543 null]
->> endobj
-725 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F78 539 0 R /F23 340 0 R /F31 472 0 R /F10 473 0 R /F11 418 0 R /F8 504 0 R /F72 471 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-742 0 obj <<
-/Length 3825      
-/Filter /FlateDecode
->>
-stream
-x��[[�۶~�_��JS/�;@{2��۸N���Ngryஸ�L%J!������@��
{�L�D� pp��98ċ�^�������7�-
-TH*W��/�$HP��Z/~X�W�c�|_
�]SnV�T���^w����]p�f
-�/Pb�^����
7��I�B�����⇟�b
��]`�
-�x���
N�n.���#	A����’R�I��o�v���#�
�����by��;s��]uc�q�+w�n�n�pS��mX
-
�٥��O�ow+"��u�vO��ܓý�cS_�e���b�V����Tn��e��_{������;�_���ա�`��f��]�V+݄k[o�#1������n�z��
��ݺ_��Z�eݠ�m�$���+�
�Ȱ
�C���~�k�{tx\��=j�}[uUs�,�#,�v����<5���/�,�dIAU)��׽�]s�>T͍'�{��6�4�����Yg&'a-�1�
7��L�T�py �
[.�dH�V%����a��
��F`��4L�x�#ƴ�^ VF�U�LőRE?Ѧn��u/��0��S�j��>%��4
v�x_�ܻ7A<�^'�dզڂ�Te��ʎ
ȭ���Kj�L�}
Loԯ���RFX���h��G�62�o��vm?�������dDQ��V���Z^�_��uo�x;T!B��
��Y �i�ϐ
-3�
�e���Au3D C����G�I�B�B1�VQVW/�!�f�R�`t
��,����U�;�2�2UX��(H�f�;�.f
-�G{�Y~(EΖ���U�/z�:]ɄB"9g'��~�g�N��� ��2���o��
n�c�-88L����!�"� �~�� E��%�עt&�p0��zf��x���#N��jZ��
��˰#�p�
�mp�/��z;͖�m γ��&�!�c�1�+���1u���F�M��i5��=b�ݲ�

g<
-���e�D�&E_ف83�@��8�a�Lˬ�ܔm��S >���{Ϝ�4! B��,�ΰL�	�N}�"�'�А۶@Z
k�g$�` 	<٨D,0�ef�D{�!���
����m�I;�-�=�F,*t��(.�w�i��u;�
�%�5ҍ̻u‘
�8��;u��9)Q�k'2���.
œ��>Hp�T
HXd
c��:��&x�^�c�R�G
��2�9�8���]�q��J�O���n�!�X$�K�!��P(�=�0�NoO4����R�?Xtι��7�&�1ϰ 
�iԗ�<���un�C�|
-wD��� F�A?A�d��L�:R��OR 
���xo{��U�!�
-2�A6H@��?�S�p�ݥ��q)$W����OǙ���
�0���ە6�;����M�L�DB�oW
�žj3TP�.�H�F����?
I2
-I��!$�8"�~Kr�<�U'S	�I(���Q���f�d�)��ћS�A������X
蕥���ԇ�
�.c��0'D��BT� �	o4�~��PD��\gq5U2�2&H��4$���E��p��%�JS���y�!(�bX�ց�_
�xʑI
�}j�H��m�[?l
����JOjG)�
X&���WH�gĭA��ˮr��Xn
��!�
�`�K�;{ѻ7H}��˫��
�I��*�JH�P#��'>X��\t&AI��"|Ec�@��{g�?�O�S��"|SA�C� �@5N!�P��k32�f
��N���vE��
vw�Wb��l�)��S�`�;�XE��|��Ft
-i��a�C8Tl�
-:16�V@��٠6řX~�@�u��@�OF�i(��,pIO�K
]�\�3����܊
-n�Z/��ʥ�T!�Y���ϸ��"p6�<�A��՗�$��VMm��K�ۮ���G�����O
-��C8��O��Qi��Ǻ��'
D���y�p�A?�
ӝ�Qn��T��T�{��5���欘�X��sO�sO���Iy�b;���a
��dPI��`ޱ�oL ��AQo�FL����<�[���6���6`�f�C�
#
Nf��8�k�(j���Rq��Ѱ"�\��`�8]ϑ����}�iꀙ�퓣�t��yՇ�W� ���/s�	`�U�F4��GvGʀX"����8g}�=�5�4
��p���R&�U�O�8�ON�� ɸ��v�X�$�#��&�c��/�mތN� ���@��ٳ�?pN�
��eίH�er��IJMzGc��ϳC635�!���1��H�Sʒ#�WJ��)=z�=��焋���c
ň��dXqΧMY�Y��B�FF[�ߐ��>sN�R4�>�Rl|8k���w�dUbh��^��w�q�[\
-��Zzʥ�\��gj�K�B��0����1��SBS�����T��/y������d���)R�S����m:w�O��1�P�2uO�DH��a��Q��3�:
B�LYCD��?bS����
߀,���
r�
X��KZ����̟_��~S=뻁�c��S_�!i�5*%��UГ�)x;*���
�T�P|�2�G��X�\�XOZ
�1d�#�/��Q���,�VeS7wNAӒT�ѩ���W�G.I��
�J���VZ�'QzNm�w>8!��
�f%�K��;�^fS���S��h:9��ձ�^�,Aٓ����� 9���.��$�D�
��i�4ƚ�P�/V}�c�*w��T	l�
�j����q��e�V��
���-$h��/;�8�{�~�kH��7�����h��e;zM�1�>�j��fΌ�;��/�j��9[{0�4m��Q�
�L`j�U���ŤkL6�|�o���<x���
Z�9
��t�!]����L��
�8g��Li�z��B��&[��(`��\�)�9d\�1���!�r���c�z��j�dwH��J����Ƹ���
�o�	�� g݉���e���ۛf����Nn��`�5�i�_�%J1A�����xh�ʹ��n�
2��g�N�
=�{��zu�U��3*��-n9%je9!;�O)�]�[
����?��qcc9� �<��}�N ��&�o�Q����P���աj�ݳ\�	".�L"�r�`��g���V
��
�B�P�c�F�
�R��*"DO;ʙ/��i�]?����n��:eLJ����!Ӂ ��qg�7L�A�m��'��)�p��2�Fm�*61ߓ��5�����,(��V��H�fJ��G
8;��`�iWR>ë3S�F��^دdXQD�sӅA�m�܈
-���!	4�l�þ8�KG��iG\*J�����KxG!d�.�23x'KfQhHȼ�����T%��a
xx��"�)��cfV$�vz���L�k]3�
�.w��F�sQ�0�/�)��+����S	������.l�k�Țƪ�s�7 &t�a���N��ޡ�>8T|���h��CެB�v
wű�p���*ԯn�O
�VM�q�2�4z�k��w�6�������3I}K���+��a?F,�ā4��ٸQ�7�&�)��0��fc�h��#��(�lբ�\<�ʙ�
�D�2�����/��Z�T��1k1��Q��*���J*
�]P�O̅�
���7\x��X� E�`�
�8��P��ȸC�'4�T��ob��Y�Di|�u�9M���3��ٻ
-a�?Lg�Fٖ�
-������ЎtnK#��[��δ&�O���D���>Ei��p�_?KS���~�l?z��)D����������'��n�t_�۲g��"���WW�Zf�,�g�<�y�ѻ��bp�䃨Q.�K�u�ۤ����?�G�"�Z�V��
������M� 	ڷ�><��7���vMG�|���������|���G��/��
-endstream
-endobj
-741 0 obj <<
-/Type /Page
-/Contents 742 0 R
-/Resources 740 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 662 0 R
-/Annots [ 723 0 R 739 0 R ]
->> endobj
-723 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [404.084 695.563 458.091 706.467]
-/Subtype /Link
-/A << /S /GoTo /D (main_BDHetal05) >>
->> endobj
-739 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-743 0 obj <<
-/D [741 0 R /XYZ 90 757.935 null]
->> endobj
-38 0 obj <<
-/D [741 0 R /XYZ 90 733.028 null]
->> endobj
-744 0 obj <<
-/D [741 0 R /XYZ 505.567 657.182 null]
->> endobj
-745 0 obj <<
-/D [741 0 R /XYZ 90 640.545 null]
->> endobj
-746 0 obj <<
-/D [741 0 R /XYZ 393.496 461.573 null]
->> endobj
-747 0 obj <<
-/D [741 0 R /XYZ 90 444.243 null]
->> endobj
-748 0 obj <<
-/D [741 0 R /XYZ 322.875 245.267 null]
->> endobj
-749 0 obj <<
-/D [741 0 R /XYZ 90 229.293 null]
->> endobj
-750 0 obj <<
-/D [741 0 R /XYZ 222.161 145.895 null]
->> endobj
-751 0 obj <<
-/D [741 0 R /XYZ 90 131.315 null]
->> endobj
-740 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F11 418 0 R /F23 340 0 R /F31 472 0 R /F10 473 0 R /F8 504 0 R /F78 539 0 R /F75 541 0 R /F1 542 0 R /F7 505 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-758 0 obj <<
-/Length 3642      
-/Filter /FlateDecode
->>
-stream
-xڵ[[s�~���L"OV\�&��i�Ͷi���ә�恖h�Y�TH����{p!P�����A888��w`��[�ū��/��(�"�rA���v���8�/�7�wK���F-�}����rE8Z�j�Mw���O
�i�������ڋ�\_�q��-���LR�X�.�����i�2��ţi�[0B�w�x{��9Q((G����Q������n��[�[q���B���e��V7z��TA��d�
���$T��$g�4�G��?�v�d�P�=U�
{]l��Ɩ
7<���t���k���@s��о�MȋQ&�EJP�)9v�m��� �RP����~���p���W�i at qh���col�`
�K�2�9_�L`'p��6ϴ���Vϴ�r�x_�eBrJ2��%�A�޽p���:y�CI�%QC'��+��hWPNڕ�U
��/Z�FŮ��6eV,#H�2���cv�g,G�n��¾�E$��<4�	{0�;�.�b�^,�Mby���l|	K�Q�_; [...]
-�h�)���p(�K"�3�A
-�e`�<1
��aNF-�})3"B���!�^Z��0��ʏ1�
(]~� eD� 	u��Z���TW��2?*�$d�k�QfD�p �.V����8�_ߗ��RY�m�L��7�
��Z�]Y��E'�@�ae�
ៗ
--M�6o�
ryg�u�P
��d_�;#�P��`�
�Uo$���ƕ����j4�m���Ύ�
!RW����MW��
������VX;��+MT,I�ɺ	iD���|Y���[��� "o�k`>�� cF*��@��QP�����jo�\�ͦ��l��V���V���MU�5/͜��T�s�د݈}�ƨ�75h	k��*›��빢��t�O\������%�v��ǃB�]'4���4�(]6J$
��v�������
K����6�by��6��'q��tX}rF֍ҧ�-��q�������`�8�$F�AbQ at z$�pX-�"�^���%\���H��ї|s��7���$j��ݾG
�X 4�����J��� 
!����."�}�_P�S���t�j*Z%ŧJyBH��#,VwC3���eE�R���ȡ}��J(b��Q����+tO��fk�_%�R!��:�$���v�)��h
�KU�İ15�<v��.9_�V��N�Ju�:�*91.�sBaR��Ô9�g�8v�Ss��X��A���x���
q���qԕn�o��%^ZH��,c�`��͒�w.]�FG)D{�,F�wo��y��4R!�L�7��kl�m�MW9(�
-e�G�]����_˾�">
�Z����
hNW��~[&�
M���8i�6-;��l
�x���|���vE�t�;
ݸ)�B"l�{
��흶^�M"Œ<��Sח��&� �&�
V�v%c�f���A� �~t���^�_�
�G�=�y���ϭ���]4|b�h���
��"��u�������\�D�[s4 ���J%�&�zD�1�P~\<�X}�
-��xU�)��xUHD�f�� @M�}�U�U�K�s�&���0��VF�*�{#
��D
N�¾�q"�_�c(� �N�O�9�>�H�~���lZe�c������8
�B[����A�yD�D�L�aa
�JL �Y�+��Ąβ��%�T��Y�O�5@p���g�n���kv�L��)y�rF�3�	���m���X�+<!���-�M�:N5!�BU�H�깇��dV: v�������fsq"�
����d���
fd��I��S��L�y�
�� �ɨ^�iH�
��jW�w8����Ow:������=�ݍ�%��i�躩�ڇ�^k&
-��X�`Jl��$�|4���Ɏ

�3I3#Ճ���RE{�Q��
��>��Ą��
`~D��;J(� O��dL8�ڇ��
C��\I�9�L���i�<C2�Jx�	�.9��R� ��d\�3�:�^1�^�s!�^��7ϕ#n�M�L E�6���1����Ma�7�}��zU����}
�0��/:�Ѝ�k�T���d�� �NZ?�S�ʐT
-�R$f�m��>�{
��-�4�
��9��� �m�@�jr���3*>5
 ����'�� ���Ⅶgb.����
}��@g����	 
-�D̶%9 bh  �
i "�g�;D���! �
�P�G�39*���A㔒ߖ<E��
���.��]j>z\5�=�c
�M��h��I��A��qg�xgH�0�j�lsz��mGrމ^16��	�����5Ȅ� _��o��a�)�§=*a,�
-�
�*���u���&��S:}*(?"�/��iJ:Ҟe��m�g�;Tީ����&CJ��Z��}>����a8̈́�L�X({���q����h��?]v�8^��l5���e��&^�x�3�j����
�7���Z��
�'�@=�9��ۜ�'�fj��m
	���lm��0C�0�e�p�u���e�n��?�3'yC�;^�<i���f] fsɆ����l���>ݗ��Д�0��_�d�0VDOE|4es̭��)���L��X���é|�Й�G]U�RD��!�@�|"��/棜�$c��t����^��Y{�(>?	d�g�_�Ş��f���hŤ
�l7�T]����ʢ�l���Wg
�,����
f
l"���}Q�57z���z^�&N��k��PES�
~H`��s�d�
@w<0ά�OG�,Lxž�Nj
6m~�0gF �4���H1,Mߤ�	����6��
~@���*�Ϻ�^��\���b�/,6�u_�����-��mᄋ��>٧N�?�Q�4'2���+�ף0)P��#(YM��D����9��� ��˻J�����mcnAH��P�L�$vr�ۖ��gq\�=K�������5m���:��N
-�f��GI
-�<�7
���=�f5�;9��
c�9��۰
M�L��5 <�K���]���m,�� �}W�~���t�n��-�ǜ����0���*��=P������
��?j�Am��H;\qnt�|s�d�`Rt���@��~�/״ݸ/�%����������X>��yv&�0�Xi#E�T۪�tb�F!},�;+%r��O!

-�fa�=='b�9�(��	�;�WR}�=6��=6� õ�t2��E_T�9M�c��� V
�M�%v��Q�u�¶�7�������ͳ]��m@�(�����W��pa��1M�ε�\y3R��ͣ����
<��5�8L
|
ތ�������% t��wPJ��l����NJ?T�զ�7�6)4��L^]����	�Թ�5�ϓ_���,P���W�*B�s��t5�E���0%��l�7����~.j��t7�X.ʈ��A�ߖ����ه�P���g2
&|���<��}��y����1[w�C]�۬������&���S%�)�vo�p���1&q����fB�
-endstream
-endobj
-757 0 obj <<
-/Type /Page
-/Contents 758 0 R
-/Resources 756 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 770 0 R
-/Annots [ 753 0 R 754 0 R 755 0 R ]
->> endobj
-753 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 501.948 122.538 513.903]
-/Subtype /Link
-/A << /S /GoTo /D (main_Sch99) >>
->> endobj
-754 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.791 501.948 275.798 513.903]
-/Subtype /Link
-/A << /S /GoTo /D (main_BDHetal05) >>
->> endobj
-755 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-759 0 obj <<
-/D [757 0 R /XYZ 90 757.935 null]
->> endobj
-760 0 obj <<
-/D [757 0 R /XYZ 90 650.945 null]
->> endobj
-761 0 obj <<
-/D [757 0 R /XYZ 90 644.345 null]
->> endobj
-763 0 obj <<
-/D [757 0 R /XYZ 393.867 463.9 null]
->> endobj
-764 0 obj <<
-/D [757 0 R /XYZ 90 446.48 null]
->> endobj
-765 0 obj <<
-/D [757 0 R /XYZ 116.849 329.956 null]
->> endobj
-766 0 obj <<
-/D [757 0 R /XYZ 90 313.229 null]
->> endobj
-767 0 obj <<
-/D [757 0 R /XYZ 353.539 196.012 null]
->> endobj
-768 0 obj <<
-/D [757 0 R /XYZ 90 179.285 null]
->> endobj
-769 0 obj <<
-/D [757 0 R /XYZ 127.27 115.558 null]
->> endobj
-756 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F78 539 0 R /F23 340 0 R /F72 471 0 R /F31 472 0 R /F10 473 0 R /F8 504 0 R /F75 541 0 R /F11 418 0 R /F79 762 0 R /F13 540 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-776 0 obj <<
-/Length 3502      
-/Filter /FlateDecode
->>
-stream
-x��[Ys��~ׯ�[Ȋ9;���<8q��q���۵��� �V�>=�8���b�E�
s���uO
/�x�����W���la��T.��/�$HP���,�_dVk�1^�s��Y[Te�ZS��U�o]g���7u��R��l����W�����	�	�B��������b�_.0bF/

�n�)��v��տ����R���bu����~����_���M���Oyz�r�_Ƅ���l�nsw+*�U
�
v��
��e�Śrĸ��̓(�iA���U��w��)1�H���
&�44�6�Ha�}�Z3l��2$���x
-�Ŵ����z�&�
�X�FX�ED�5�M�
�וݭ�^���j��y�/UjDY�ԟ��H�~��n
R����6"Ft���Y�DTm��
�	'���E���+��X���(F|Xߛ�$Du�� ğ۟� p,zʌ�V�n���{h�w��bw��Fy���
h�f�TE�:(��S�����Om�d�ز蕧�D��(�ƿeJBQ�nLdJ�~E���R:a�
'��#���K���X��	�e�X^;6���
�
m" M� 
m�����gQ��&�#m|����7ah��~h�a��||��=d+�����X���ga��}�d�j�D���A��/"�ǃH$���3��тʤ�=���
����� �$�qDԯ�d�Z��ُ
�s2`ȲY�e~�z��;M���
+
��77ys[7��*^|T�a�aMк��͗��4�������K�q�g�|�$�(@Ƕ����i%�UΈU�&�h�B�����b��$�>�&Hi���O���o,𮿾�훫���h�(�/�}����Sm�
�M��a=2	��н  D��\�
ڼn���@�]BU�ϋ���vȚ
h�3�r�ϊ��,
-��6�t
i)��=m�%� ձ�&	M⠱���41�P�A3Ѥ�t���Y�w��g��@FD��I�D<I���N��g�"x�
�9�_	�sN*����q�
�h�x�h��x#V��)�`�!G4��D�b�y�ށ	�j}O�Ib�T %�%2;�
-�{D�a���Ę 85?k�Ҍ7�|/�&�[;g�
,�k� ���M�;��W�n�غ��T�C�E
C�b.a��=KlV]l>�-jѹ��s$����b�F�c�Oik������G��o&:��(�B�bJ>�Ri1�4?Z�2se�
h��
04�l���$p'��4C8�
-�)��HSz�!� �r��Ȃ
L~�d�9'"
��R!Iŀ-�t���󶸵8�I�+�z׀��Y���vd�؟<���;��G�U��"O`�ٍǒ
���:�w3����Z�lT3Dͻ
��1/(ErP�~��� x�<�ca���*�ʽ�1/�\cz��8c�^N�Y
<�SX�A��_ ̤`욀
�6`��Yz�f?/��r�\���*؃�2��U������̥
/�CS�:�)��Uz^�L>�W96/�W9�ǫ�O�%
���������25w��m�g�C�R�_�@���3<( :I�=���[�8�b<~e:�0tD�&H�■�6+ʵ74TYH?�4Ey?�[y��Mq�}
�>�S2�i��l
����<�k�.ѓ�n>m��(�
�'��Y���w<=3���J�-������c8L��
b��pAhx�o�@c�[E>�i�UA)��e�jg��>>4��a��l IM�Ƀ�
��"�+|��z�7ͺ�N����@³�a>��6����w����� ׂ}�Z�cu�f���2��
-�����m���3@�{
�1��ML�U�c��&�D2��gl�8u�A
?"�_gfS�)��B[�%��� �9�
Ǡ�}����6S���^HsZ3g���c8�)�p}��`
��:�rj|81O92T
� ǣ�L��
`�X�0y�UlB���Y=���G����Hv���Nҳ7���c~�S��a#�������T���!�Cu�O}��� Nk�R�`�
��i8%���'���x(08��Á)�|�Oi`�G��, *��
�'0ܞģX��@k�ޑ]'/I
�uD5m{��6�x�
D�|,��X0���8��Mx�
-����z�=���6}
���*F��oP���N��X7�eM\"k.��+��4�8�s!�9���^o�k�D�����"a��
-_�
-A�t)��_�N�f4����
�/�)+���d��G�_�'߰��޼7y���h�=��OsWm���9��FSW
P7�<߹�NK9S�C�FB�B��,��
-�� \��Z����n۪��g6

v,OV��`&��c�"񑕟Z�AՒ� ex���b
c�I�
^w	���W��E�ݸ�hA�����:�guH{N�C開Hb@
-��}}��:��W��Y�8>QF��jy	�O_�5�"�D��w�m�MI�?N*ך�M}��w��wC�e6K�2�������زu�V��G�UU���_9�'ˣҤ�hQX�}�X�KA$��0`������S����h
��;��;�_*I(�=l�󺄸��hr�3uV6@�
�5>�a'�߯ό����k����L �k��r��:d�_��Pkƴ�����!��۬�w�M��,��,������f,��]�^b�j	z�2����w# �WSj������C�U���6oP���?<R<&T�L�V�Xpס�r�y���n��;����J��A����i
Y*-�:g�
o����H�E�c[9
�� d�Wj��T�99h7��� �i����t�)0�E+H�}"=y�x��uj)6�ݲ����P;�S�+2P�Ÿ�
��\@�m����*�7T]�'

�
��iTA<�O
�a41�����=��.�%硒�I�0댓�r�u�7��
f�Ho�I�j��4���fڟ������Y��ٴ���&2Mt�Pd�yk([>z0_Cw��
������|ǜ��������4�(�P����
ڐZ�)�DΣ�5' 
����p��G�"����:��)<��큳8l��y,����&O��v����e�T�k��Ti.�9\mS#��(<1��YzI����)�egex�9���rF
G ;>o{K���1k
-�&�x��
;HO*�
���␔��w�v�`��j{����WT�������e$$��1�N�
c���shb���]'����J	#���m����#9���@:k�ah.N�3
�!����
���LQ8�	�!��p|�
���d����ۜG
 ��j����
�2�K�帨����p�8��4�
}I�}�Ce�ϧ��ᣝ&�c4>�s�=
WgO��K�B�_=��}�8`�!�AB�Q|�������]6-wͯ��/����V`�X�Yy�����:J&��������n�6�w��{���Ӛ��h��‘<�����W����A���רh_���W#�Mv
�
�w���λP��.�����/�Uz�
-endstream
-endobj
-775 0 obj <<
-/Type /Page
-/Contents 776 0 R
-/Resources 774 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 770 0 R
-/Annots [ 772 0 R 773 0 R ]
->> endobj
-772 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.22 601.178 370.057 612.082]
-/Subtype /Link
-/A << /S /GoTo /D (main_Operations_on_Convex_Polyhedra) >>
->> endobj
-773 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-777 0 obj <<
-/D [775 0 R /XYZ 90 757.935 null]
->> endobj
-778 0 obj <<
-/D [775 0 R /XYZ 90 733.028 null]
->> endobj
-779 0 obj <<
-/D [775 0 R /XYZ 195.948 674.806 null]
->> endobj
-42 0 obj <<
-/D [775 0 R /XYZ 90 657.762 null]
->> endobj
-780 0 obj <<
-/D [775 0 R /XYZ 371.551 604.331 null]
->> endobj
-781 0 obj <<
-/D [775 0 R /XYZ 90 587.621 null]
->> endobj
-782 0 obj <<
-/D [775 0 R /XYZ 245.118 494.314 null]
->> endobj
-783 0 obj <<
-/D [775 0 R /XYZ 90 477.604 null]
->> endobj
-784 0 obj <<
-/D [775 0 R /XYZ 269.572 425.832 null]
->> endobj
-785 0 obj <<
-/D [775 0 R /XYZ 90 409.122 null]
->> endobj
-786 0 obj <<
-/D [775 0 R /XYZ 418.817 284.643 null]
->> endobj
-787 0 obj <<
-/D [775 0 R /XYZ 90 267.932 null]
->> endobj
-774 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F23 340 0 R /F31 472 0 R /F10 473 0 R /F11 418 0 R /F8 504 0 R /F7 505 0 R /F1 542 0 R /F13 540 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-791 0 obj <<
-/Length 3352      
-/Filter /FlateDecode
->>
-stream
-x��[Ks���W�*��ea4�e�����"َ��b;��$W�bIH���y���b@��CN�j������\O����_.Ϟ��lb��TN.�&O�$HP2�\L~�d�gc<�qS6E[�����
-<]���ֽ,���eS-,��M)?�������g���O��@(����Wg?��'
x�j�3z�sT�	�
��ɻ���Y�G�R���٦\�
b6]��`L몾�l<}A�*�0�0���kO��.�V�#xCŠv�r�����vQ�>-���|,�-��
�8Y]{S��r��-�UYo-�^>��X����Rt��������n��"�i2S
-i�&3�A
w�TL��*�/
\�Sn
�p3�	ۦ�j��h���>P�5ğ��
��s"����`����O���
�nZ˨{�j֫���,%��`ER��Q�����<1#1ň���[O�@sF1���$���fm`�YDU�A(V��
-
-/q�("ܤ"oo�f�=`�)楿�U��?{E�
h�v���`Rp��
�
"�MCLY�,0�
&ؓ���Wt2���L2	)މ�Ӿ��Ä����F�0�$�y�C��x�&
��4��
-���Ƃayd6�4�#B����؝e�ET9�3�cs�ޢAؾ��L
��\��qg�R��t�a�'3
-R!Gu*��=�NiN�#}I�W�7�/P���3N���d{ə�@�#���DI��Q
���-8�F����,ߖ��9��;=���ڇy�|՜=u11v���𴜷.�‹w.��-�jm(����A6YV��6��F�ja�}��,Wk��v}݄oWvJi�q̋���bK�U�������Cq��҇|
-q����A
238H |��/S. VTg$$�EDaF��uS�b 	��Y���B��
(W������D�+��.m��Eq;�eH��
���2+��B�K�ٵe̚���>p�2��%
��
ȷ<3
L( G���n�p��P��ո���ї��ם53���$\�e�o�WV�&�36��Y�`��KE�,�h-��f����͙�o�g��A���?t���f]Җx���f��n�D0�Į��r^Y�Z[y�y
�8��SJ�B]�p�Y�2#�¥�e�>��
���dR9QH!�� �[?C{S�)]D1=�t�=Q���7�-�>�g����
=S�C3=��Mu
��[��319��QS0F[B��
�
47�9��A~�
pݔE[6�hEPq� :
n?�s���G��S��h�z�8�1-��
���CB�!��)6���~���]�+��(�v�ޅ�`�G�U�9ɷ�^��U�!~B���v


`���{�-�W#o-�����[�%CU�!�Q� F�G
ˀ~ #�"�b��bPi��6�t�̮�? �Q@	涞��� l��M�!Y*z��Ȥ$u�UK�ϑ�F��# �
{�����3����
��
+��2��u$$3H�i׍H
��Cq����{�)���V ^�켽���1��H�
ȁ�Y �2X�'Oa1)z��0Z��2F��wZ�g4
-����X&�s�+V�F
Sj�l�L�RK���7�.ģ]���F�?
�B������[6����M���:���� _f��Z
��p.y/�~��,�fX %U
-��v�Qj$k�F �
�9 4�:[L����£�)�tZ�u�6E
-R����Wi�#��h����
`��a�r�`�gW)~Z׳L8�q�{
0������,6�5��-�I�?
(~g�I��iz��Xo
‘
-�hޏ��}��c����z6������~�������.P
G� i��]�-�i�V��
+�!H�@Q
,�M,��Q
�t�v-*۰�F��e�bF!��q�
��Qf��,��"�5���ԧ�		�$0ECdzʈL ��F�~ԥ�n�h
��.�8�H.��4�[&�[ץ9i��u�#��{��pƜ�� 
-/bS�j?��s*�/�(��pxt�<Tb��}:l�]�(�a�����I��U��=��
-�A�>w�G-��j���D�`7T<D��u�ű.�I�a]pHB�o�BF����YL�m�3HS �o��k�B���O�"BK?�����	�z	��,�;�5���6@���s�[Ǹ��K�#*��;���)V
-/��}(�m.pp8s+@�܇f���}v֤-�|/���������
�46Ԛ��d
�ͧL��+1z����.i
苏
-�V�
-�0��
-���31
7�R
k
I�Z}<Ɇ8=�J�\�)��
��'��3jm#6t���t1
-�YÓ�}-�l`} ٙ�[ڳ#Ǫ�h
�ʌ�\�x�B5`��᧏c�>@N��k/f{b�蟊y����{��w��A$u�8�el�f��&�
�P�
ݍY{s���}�@���0�&~��M�/V,��*��E��G�����:|%���
-�Mv�aH�2�ʾ��Y�
r˷�f�a�0ap&���v�*�|��p������Z�	��s�+B9�d��s9ƺ�blu`�1'a�#�S?� {�u�wE,���7�Q�@��Q�?��C/n����.��b��
N���6�.2W�6U
���i�m��[���J�""����B��ǿa	�z���(�!{܉�]�P&dr�9��o<K$ϒ����j}�W�πF�#���lH��P.rKb��0gJ�bzr�CΒ
���Bv�P�ҹ��DF��/4����k��*juZi��Np���݊���c�`���J�?>݅���L,�#�z�ZEµ
d���2=l����Q�:��?��?
-�	�7���	������Y���J�I�) �ۧ�I���M����C[�`%����p.+�k8��6Gz���u�v�@�]�ѱ��
;�k۱�5<�f���%*��P��
R49r�ա#w�>�v�P��a�X?T��
Q�n�����oS�^����Sp6lƇ����	�t�з��퉳�IP樂��:
�qg�<�ύ뎱���s�Op��/HG)�������R�J�%�u�� چ�@��H=��c��T�**�]z��_r�J�ۋ��:0��Ó� ���vj��q]F�e��7d�rf
B��m����y�����
n�]
�͟�;�\���)-�|��σ�����liD�m'�^�z�{�9�>R�
O �ՃF���
����R���mi�I��n�7��$��O�3T�'�aBBؖ ��� �����f�.?���o�E
_�}gx��l�|.�4��MQ�g��M�3�I�����л�
��+�8���~�hT�j�6=��ܴ������n��[t[W�U���f�4�h��`�W
X��v
*{� ���_
��
-endstream
-endobj
-790 0 obj <<
-/Type /Page
-/Contents 791 0 R
-/Resources 789 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 770 0 R
-/Annots [ 788 0 R ]
->> endobj
-788 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-792 0 obj <<
-/D [790 0 R /XYZ 90 757.935 null]
->> endobj
-793 0 obj <<
-/D [790 0 R /XYZ 90 655.345 null]
->> endobj
-794 0 obj <<
-/D [790 0 R /XYZ 90 640.777 null]
->> endobj
-795 0 obj <<
-/D [790 0 R /XYZ 477.494 527.689 null]
->> endobj
-796 0 obj <<
-/D [790 0 R /XYZ 90 510.964 null]
->> endobj
-797 0 obj <<
-/D [790 0 R /XYZ 90 339.338 null]
->> endobj
-798 0 obj <<
-/D [790 0 R /XYZ 90 324.77 null]
->> endobj
-799 0 obj <<
-/D [790 0 R /XYZ 90 191.798 null]
->> endobj
-800 0 obj <<
-/D [790 0 R /XYZ 90 177.23 null]
->> endobj
-789 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F31 472 0 R /F7 505 0 R /F1 542 0 R /F8 504 0 R /F11 418 0 R /F10 473 0 R /F65 376 0 R /F28 621 0 R /F12 622 0 R /F6 538 0 R /F13 540 0 R /F78 539 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-806 0 obj <<
-/Length 4860      
-/Filter /FlateDecode
->>
-stream
-x��\�s#7r߿��<�*/g�
�n�*�*v�����'߹�G�x��LR�����03 ��P+��4 �h4���a���}��?߿z󵑳���0��׳�ͬ�|�~5�qΫ�b�c�?�7���t����l��������:�}�mW��h.�B_���������_^q�͸@��J=��{��?�lϿ��J�n��[�͔��=���__��X�
-b���с���f��o�餴��-���
-�
�8�����a+S9+�U����]he�F
��mŕ�V�uh�ye`@]eC�/�iQqag�VL����L�8f�[]�����1ͺ�Z �|H�5P��=��L]U�G6u��L������ $+��2.fSg�s���J
-���6�_�j��S
۳Z���8�D�������+ы��K���
�͹��r}÷���<�+W^Uh��f"�,���
w hu
9��x�rȠ'��a���b�I�r��(�8�P��)�t��'��sG��`���|W	c��_�1�#�'��e,r����߻�#�����`���&<�"dʩbf��$S3�#�q�S
�R��S�
o*�o���Ǹ:�BI��,��X| UU��3�7������v3�,' VCj�]h�Y��4�
�����li��l�������E>4_���P� "Q7ٞ :�%�T��P�P������Ar�A�td����
p�� v�V�
�0�*c��,�Y=ǚGs�N�ss�97/c�Y}�=WϷ�vʞ�`��o`�Ϸ�"�s�L��+��O���I�;��H�ϡU��|
����*�~
k��
�l�۔џ���\�o'�/ϵ�r���_��^�櫳l�<[��i������/��F}	
*���=.������f]�JY�yR��2�
)��VO�ŴU'� �ܢ��`�D��2��Ae�&
Z=-��8�I?��A��~o���dC�k�
T
~&�P� 
-�(P���#��� ��.����RL�#4�� �7SB���(� L�a�!�
�QC<�k�蚰/�t��ibd
-vk������yӆw�R�<��*꟯�����
�W��B1�:\���1<�߬?�6��2�"��5>��*��71���7�f?�F?��ͺY��~��7�w_]_=�g�O�~�B�-�_Q[��l�������v��I�n��_�Ug�<���!�D��{=�mQ��k�VX3����f�
��;xq��>P=���oZ
,0�
�����3x�ܶ��uCm1��qPPI�cj����Z�� ZN) B�m�,#�aaһ
���Ӱ�G#�@K��0�=�/Ͱ�n	�)�6��ْ��
� vT��9�Q��* �>n�/h��@�%���գ�^ �A!�E�X5�f{�v���i!e
PAG��~N.����~��v Sw>�Ly��s�Ѥ��+"�q�,�'p�큟��%
j1��H� �F�1�ʄ6����GȫE���K_�u�������/H�����A�*ֆSh�X�.�[�#���i�8Y�����V�B�H�1�9�e�ˁ��`�����p��P}}
-7��������4�G	:�M�ۓ���.�Գ��n���&�x?!Ra�*):�xt�n{�5yO�
�&��\��u
-P��vdf�&����;r49����q0
-(J �N���su��L��{�
- a˚P�^{�P����P���!�U���dC!�8@����e�0�'DqzS�h��� �]��s�#p�D(�ǒg�R��
�񴧗U�f֤���7M'*�g�akq��ĝ%*fT�8
-��1��@�tf��H��1'�ݩ^�FmE�<�5 �^π��@���
�i��� 7v��=������?�ѩ�;�|H�K �������
Uy sڞRzN���V
}��c
�dS^��g@��q
���M���f���l�y�
]��^A��1�`hP],������v����j^Gw� �ʍ����~������昼�'�0.黽��`�Y��.���t�n�m�C=
>��fmG�@����’ Pg��y��0��p��^~*h�5���﵄P
���P�����#[�'C��I�&
&X�գ����a�E�̤��h/B���I�GH6$������ۈ9�=�����:u r�^c���ŋ�M�kA�D�}�'�#�.� |
]g��PS3�A�
����H`&��E��?��˝-�	j`���t>��|?*msp� ~
:
������p at 2c��	‰\����
Mph	�*|��T�$�_�ke�%M�;�4�)�XR<)�6�"6Zd�I�t
-!)�[b������
1�86pY
-uIH.�F�
�㓼���6�������H/G,�M��:��5F�	epL}�֣���,Rt?(Y�c4�;�	p�S�Q�jγ�Mu :.L���3�F����'h��A������A�A1�F������iUα��9fM�n�l�l�K���g�n}���V�N����
�OZo,��Sy�m�n�� ����A2y
-J�EjN�<��&M�����A�e曍�h�cP�
?�~�]�a
����TL�s ZIrQ��	
#
�
��hQ���)
|�>��0��d!d�Οb>I$�ޭ��
�Scnp�"#�|���
-���q�$� �x�}h�}
��O�}C�

-޲v���Y��G2�ҲE*��&�AJj��4i
-�OQ��G�>+}:�"�@�'rZ�Y�ui5=+K̊(����
@*�z���qՃ�a1e�73�A��q�'��{yۅ�����w@[5�kҷ ���/^���K��B���>�D�v��!	O#̇ �+�C�<`��� 9ҥ�9 uO"��9l�3�>��
AzjE�i��O��b_Ɓ����Y�s%���9�!��!���ADPT�	�$�a�o��p{ۺ�W�>�
-R8j&Rl�VJN4�ʫ����"e�%=�O�F �o}�/�p�]�`��n��o���7�e���~�-u ��X
rή�E�J_��n����;�9����TW�q~m�'2b"T��<�N�h3ց����B*Q�ו
�:!�� =�K������u"C�P�8�:���$��#�פ��h�
�T�%�J��S�����&qe z�+/$8{}9�X�
D�A.<b�J�亨�A�,��=*�G{@�^x�������g������
-�]?r����"A�/������.�ZO�NI�l*�$)�\8��V���Z���n���HfO�S)]ɱ�R�	�N5F�3��I�拰�H��g��sF$
 bc�G+\�@��E+T��<O��S��*���z��� 
~���p}@�l��M���#I<!��䧃5v�.�W`W+!���P۠�S�l�j����kh�79\�֯�²��M�~���6y�O�,>��.���.�Gm�u.�
�*<�71<�71\Nmb���
o[���ax���@f�[3bR"�-bWO�!���e���l�,r��N���.�=�����ʑ�,�E�T��7�IL��UQ��;v�p�-%�d�� ������YBs*C���I���UTZ�D%�أ�<²8�8�e����hmC�}&-=b���:���Pb���?_�m��\�z�xZϼ��5��զ6�U�t{ҵCPW&��I���*�3PI��@3j���g�c�	��������|�?��������
����*k��Ee����6)l��[��"��a���
������o|(p����h�,ǟ,����k��m
�`
%'
��}Rx��&
��79���
�|��G���w1��c_yٽ��#V�l�Mo��ߗ��`\������f���w��⦟��!tSh[��Q�p���n
-{��L��-Fs�.-���B�	~��8Z
)JR
�_mƠu�>
-^�hr��
��.J��ޘ(er���:(e"
/�.ǟTV�|����(2B�,[��"Ÿ�\$�����
�V���
-���͏��9Y>�C�'��<ıcY�,�F�Y���WO�
-���啥H?��H��?��_�/�CL��_�uE�������B.]��1b=f[V�}�c9�H
-�1`kD*��9@��O+ r��Xv�8�Ba��(@rP�x����&>9�F�t��k�t�X�1�U���k���^� �� �;��7R�+��z;����y�/
�C%����G�Q��7!�ړgԾ
-�5�d�_�M�F�x�̋:
sxn��v���#���-�,�N��QK���eB
�*�RE���Zz�
$%]O����>C�"� 'ߍ�}��
ILu\�@O2����W�s��>�gO:�PЁ��O�=�Lxz��?x�\��:F�{~�t �VqL|
-�1�@�2;�T�;D������޽�:���+���1�cgY$�y۱
}���42ZC��R�I1u�T�n/��2��
y��<-����y^C� Q1D<}���x�Ks��yk��)����5�96u�d���3M�S�
p�ʸ!uH��/G%���R?	�>�
Ղg�C�}�9��Y�#ރ���x8>�, ��S����<���
���c�;�qy��>�c��x�6�
�,���I������Yc�)�0l�
-���Uz�7����X��6���Q�ι�yOnK[9eN����߆���7W�z�k��>�+��>�0h��(cJ<F�K��4~ʅ�ӹl�?m��	*?`j\U?����wK���Ig�Ӥ��^��l��6�v��wC�	n��k��v��<��Yv�7X9���n���
-����0j����!pf�a�_�7~V��,�M�Qr��߿}�����U]{�����7ۊYc��I�Hv��]������?��V�
-endstream
-endobj
-805 0 obj <<
-/Type /Page
-/Contents 806 0 R
-/Resources 804 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 770 0 R
-/Annots [ 801 0 R 802 0 R 803 0 R ]
->> endobj
-801 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.559 534.63 333.579 545.534]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-802 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.336 197.96 346.916 208.864]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-803 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-807 0 obj <<
-/D [805 0 R /XYZ 90 757.935 null]
->> endobj
-808 0 obj <<
-/D [805 0 R /XYZ 90 593.892 null]
->> endobj
-809 0 obj <<
-/D [805 0 R /XYZ 90 579.756 null]
->> endobj
-810 0 obj <<
-/D [805 0 R /XYZ 225.341 257.223 null]
->> endobj
-811 0 obj <<
-/D [805 0 R /XYZ 90 242.987 null]
->> endobj
-812 0 obj <<
-/D [805 0 R /XYZ 150.808 89.441 null]
->> endobj
-804 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F10 473 0 R /F7 505 0 R /F8 504 0 R /F1 542 0 R /F78 539 0 R /F31 472 0 R /F13 540 0 R /F11 418 0 R /F12 622 0 R /F9 568 0 R /F72 471 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-817 0 obj <<
-/Length 3396      
-/Filter /FlateDecode
->>
-stream
-x��[Y��~�_��T4qЩM*Nl'����I�*�~�J�
c]KR
ϿO7 � Q���OIht}�Ig�3:��ꋻ�ۯ���$W\��V��δbDr6�[�^�ɯo�t��}Ym��6�7\��n�~_ڛ��]}]WK
�$s������˻��W
�3f��h!g��ի�l	���Q"r3{��6��
�]�~����N��J���<�w��̫My���7�#�mbW#]�_ILFg7<#"��\_]39����b�WO�}�f�}wqo�kg�!i�%5Lj'�֍�3Er-
P�h>�a$�3O��X0MF2�ςA�O���9����)�	zv<H���$�y��מ`���km��

�̳�����`4ˉ�T�j�2-�L�g�
�Xό7e�X���n�$ʨg1�%���*�G�]&c8�~	�{#�N0mYnwm�ZW�2�. <BF�����ڤ&DQQ~�NbX��T̀�^�<ʂ�o8h}fg�0`���5e�Sd"�3ܣ!ԏۻA�C8e
�~��C���:�6ZHJ{f� [...]
-T�p���F�!
-�g��
--K�	Dw~ݣ|��	<sQ���U�Z͂��R�x&P��M֗+�3�F��2�
�ZK�@
Ccwa�${�!��	���1�
�:޴���b�����:^<#�a*��ɉ�z�ߧ��3��19�FB��f�A�����_u2�:
-3�@Q�����S��X&d�B�c>Ds�d�K3)����Y�>,|t�ڭ׻k.珍5�}��kd�X�E�p.�QG�Ƣ#��hgb���uY5�ۡHH�=��z�9f~J3�
m��T�t�*��|�����Kh
��0�?Iu��,�^$�%Y/�?&�&����}�v�����r�;�($��i&�C�]
-���M�>����Bd���L�e}g%�f�>
	��x8���9,-/����!�=
!:��� /	8,k,J4�m����L2�Y�8���M�6ƕG����Fymc	�঎�@���
���
��q����4�{ME��IJ�D���p��FL�
=�7���z�
��jC�I�T
�o�~��p8���"s�)�(wA=�U�o���uY�$�(%L�g���2&C��+m�wT�����*6�����@��I�
��
��e�����ęk��Nb}
-�Fˏe��y��ϙ��벸���|� �OG@�����<v���c�)�C�)�2�
�=�>D��+�����Ҟ��JU� �N%hj1	0��J��$�%>N���az�=����XW]�1dS�� /�Jġ�p�!��^D�y	3��乜F<�t�l;c�j(ș�͛.�w�t|,�
-)�,!�@B��b�D(�Τn�c���\Z?�>�����B��d"]H
-0*��O�[dQ)��-%<w{��#ڴ+ �ĥ�x����ل�aL���t��"}��J�LLy�$\�8��U�?���
L�}2��Sz�����"���Ӎ��ʐ+���̳;V0�U�zJj�{y>ҪQ�@� e�Q_5�Q�@�Uy�j��������\/�qݐ=�Z��a�%{~��|�zAąQ��
ޡ\�}�iA����K�"�=
-�3,�~�X(J$R�rl^(�+ޟ�f��������r[OqC�!J��4:M�t�������1�V��\���I�Ҫ(�J�y��1���l>q��e�!|-�t�d���
�MӌUM�"���B�����C�3eT����Y�
��9=�k���^���MsؔM�eC���<8�Lĩ �!�H�2�����*@
B�;7
j n��S˒�	g��Awp���
\jN������
ֿp����.%�	Q�����`j��c�l��f(:lF�P>���s!h��­�:#T���
�Ҁ��z�
0l�'�Rr"�3�b<�L��e��]qW����m���JL�EN�Q�Sm�Y
R�ҥ�C��%@��-���
�`n���Y
lphÉm��(��F��^�
-Adw���<J�i�N��b" ��l��=�œ�qy]mˤC�~3�51�(�VQ�2>����S��,%n�.�<:

q�ٛ7I.Ú����qq^�A;��N�"7�"��I�`�2��4 	߀�ۚ�,�=�.�?�A�QF��~$�<n?:!`&���7�Pl;�D$�	Fm�	
���=��$��%���m
-�I�ML���
5��
dG=4!	�U�`f�Y�S�J�`
��WC��
\U6o��zM)_
��2����q!ՕkӮ�}��K�I_�篾��_˶XS�c
�:[!e�f���U�LyhJ�~Y��@j�3+d�ஒ)��f
n�^�Ka�W�u�Լč�R,Z7�>���

lͿ�B�H�����aWu�m����Fd7

=Z�{�f��u�jS{t
�wMټ����t�
-
�i:��-�qEk�ڴ-p�-F�m�t��bQ�H��@cۛc�eS���-���~p
pf
��ዀ��F b��;�,ݟ��b2� (�����:��e�~bU��&
@�e}��>g?�>�G�9Z�wē�R�ᄶ��9�Հ��(�.9�Հ|��xj��<{߯����̈́�)�
�ڃ�����]���'
.D/��l��9�(�'�q\3�w�&���}A�O�J}T}w�L��XbI
�1	�`��磷����<�>�@c��AS���xQ4�����

���8,�����ZM@#������S�XWm�Oԭ���ӭ��RE����W���E��Oe0 k��ݴ��=d����~����֔���_���-Y�[Ķ:�M��g��Ϙ��x�d�Z(��Vʐ��K?��V�Pa
-��}B�|g�F���A�y	w�mo����MY���}���b{�>ðދ����� ���c��~(K�I���fݿ�#�e�9F�z��m�������,r�V��T�-H����,

D?ɪ��7��H���͍�����<\

-endstream
-endobj
-816 0 obj <<
-/Type /Page
-/Contents 817 0 R
-/Resources 815 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 770 0 R
-/Annots [ 813 0 R 814 0 R ]
->> endobj
-813 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.366 187.402 371.373 198.306]
-/Subtype /Link
-/A << /S /GoTo /D (main_BDHetal05) >>
->> endobj
-814 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-818 0 obj <<
-/D [816 0 R /XYZ 90 757.935 null]
->> endobj
-819 0 obj <<
-/D [816 0 R /XYZ 90 733.028 null]
->> endobj
-820 0 obj <<
-/D [816 0 R /XYZ 90 658.282 null]
->> endobj
-821 0 obj <<
-/D [816 0 R /XYZ 90 644.018 null]
->> endobj
-822 0 obj <<
-/D [816 0 R /XYZ 491.236 258.748 null]
->> endobj
-823 0 obj <<
-/D [816 0 R /XYZ 90 242.327 null]
->> endobj
-815 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F7 505 0 R /F11 418 0 R /F31 472 0 R /F10 473 0 R /F72 471 0 R /F1 542 0 R /F78 539 0 R /F8 504 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-832 0 obj <<
-/Length 3989      
-/Filter /FlateDecode
->>
-stream
-x��ے�F�}��<�S�ӫ�JZ*��Kda���M�hl�G K�$g�T���7u���˸%u�>}l�[e�_�|r��W��JR*�V���2[����~�z���f�w4˲��S}{�d�~}˲uK��s=��d�����i8n����M��b��ۯ�?������
-;f+�w�9ɹ\m�7o��V[x��*#�,V�z�~%��v���7Y���li�(_匓LI�r���`�)_OO�dF�~8N����f��l��v���_��TJ��vא�0S�"e�
��H���
%��b	8�`� �2��@o�cfVtnA�*C�/ "+�3
�xl'<�~�
��
�m���N�Ʊ�u��>���+���zx
����� �%� SJJi)?N��2�2�u7U�&�~֘�������5Z	����>��WQ��!�d��Wm{�\�2�
�ДD��p"�Ҍfۮ��`�o������4��
�c=|w���
-8�|���h��XN
-Y�\y��	a
�
�
�P��Ӛ<hTԺ4��B�vY�5����i�}���V�,i�
�UF���z_wSm!5��kg���P
��[�6{�y<cnrF���ݱ�٧�
�DU�z$�!�����t�XQ0g�@���w�����
��������d���Aݍ	~�L.J��I�1�������4�q�Y+��_߬��M�(L���H�U�nR+�Ȭ*k����wO�v�R��d��,�-$ `}�%�"!>�G8����y0�Xf�@�U˂i���CՎ�y����F
�ƫj�ʲ )�K�N�k�8.�Ovz��[������<���#b�XF-9��|��C�G��c}˭r�^�pT7�
��
��7��v��p��40؃W�
(���6v��
P�3>9J�q��#�P	v�Z�\e~�`u�
��
���BmZ�w��QG=;'�Y{�[t�\��05�c[
��VZ+�_�
-i�#�Ҹ��[w#�4
q0�
�m-< (�6�U`�~ �y軭�"��UP'm�oЪ�
-
��vb9q��pgDrXH-��]���Qj$
$i��:30^\��֌&���zŰ_��^���h���j’��ǃ]�ÓH�6A����To���ͬ�F�
J���eӝ�z���o^��̿^�6����g(��!��G��r�x��Z���k&M�1���X���	��)�
߁��ͷ�M���v� �5�A��m#3��#�]�Lv��>s}��q�� s�o�N��ջ�n����������h�W��ɓDJMh&��ځ�&-�����;T�
�՛���ġ�3�
eZ��%�y�o?T��k;Wk
��}gf<�O����.����A�T�}ę�fc���ƬH�8ңG�	F�4Cm�zxkǥ�Q����8�H���A(I詍$Ֆ/�[�
�sל�\���� �n���/� 0�(�e ��{3�G���7�`��YaI�u����>
����f�
w�ö�WZq.j���Py��-hZ�c}W/���'
5�;#
-��f������:��~X��2�ia��q��J�#�$<W΄�^u�Ht��n�s�ڙ<���?E5���pO�`80X�C�')C��i�)�Ve��q��ux|�Q�h��'ծ,N��
��������^W���5K��ӳ��jv�P�DN�T�M�
6iPBD���`
Pox���
���F�B��Q
�d��N�$���$
M��b�~0�


�`�t�
gwM��A ��a�
�fS��k:�&�xh���^��g2�1
-�Ƨ�l���:#�W$+4#�:�7ot��c39�F-D��A�v2�&��Qe��f�8[X��
2�6�A�Di���Uz��4�5�7ފ�p���d��6�qkO��~k�մ6Pd�;0b��,-�7�R	�$LJ��$�S�t�	�0<�׎A�S[�ș_e�%k-�(��T.k>�A�"�`�H��)�C���r�>��tV3
�i�	�5{�ɥG9��q�)	��&R�3��m0�����G!<�ހ��JW;��-#�����("^�9i@�� ��r!�ET�L0hRf��s�]��^ۺ�+N�@ĨOE���n9���c�k��OI���GWWL0x �f
tx^�%RI�gB]�z�y4�F\|��
-���H��5;E�@��&|�@�
�'
3)囔)���
�a�D���9E	@<߶�eSIh!Se����6��B�H��q
-�$
-�y�%��~@��WѤ��Y
x�@[�
GT{'(}��
-�"�KYl��"+;=8�,�:)�A�-O�3‹J���'4("0���[eDR�A[]�Ȕ��2�
���!
Ը�)ޞ�W���fy���=gD�⽾;#E!B�j�l0#��Z�J���Y$/#�U
U[V�e������rB�a�-<H��Pܹ������W_)"�ʘt�K��Uƙ^�1�������_f���āB�u
-�'�`��� %"�Rj
-��T��������@`��3?o�
-0QK/
7�Ћ�:�x��$
����XtJy�a�,�J��s$tN�h��.��?�_�q"½0��!u�K�"E��U>�9W�Q���x�}u�DW��;,[��`#���{�8���ڐT�p�Xmtr]X���������ƺ@��j[�]��!�9���YZ��U* �P�?��M�;�u�+R�	�KU��
-�#���G��,����$Xd��oRP��1G�`�Ε����,�&����W	ey &�?��S�����eL��Jɂ(����'�v�� X���q"��qO���0� ك0��% ��c���p
�bX��=@��Y�B�4��H
q���d��d�S*v� ��쥖`�.���s��*��;NqN�3�R� �Ȅ��
�r)tK!�W�_�`��dI�At0�D�c��1R2uIY�"
]�'����v��B�2�ԂY�r��تSU�jz9=�p�3�c��x��
d3��B�–�9��^��	���=Vx7v��g�in���/Q�ؕ�%$̉�O���\lb��M���$s�=���I�1��DExߤ䋦�cZ�T�ޗ(F���@0���a�
-O� d(�

mQ��
M
�
	og��X/�o���w�ZS��:Iٌ�2mA�2�� 
��H�������`!l�O�ڰ%����.����E��+���^��%�I������
_�NL
L1GW��"]!%���FK��\L��WV�2ʀ	�7�ٯ���\1��Z��
��M;���EDM���{7�g+�u�C�l�mz ��/t�U=W췖R� ��6�����
o!Cb�0�js��t�Ȼ�lrA8
,�dg��(��'^XĴ|.g�G���?��m�N ׀�kJxrH�E��by��S�(L��A�fw�����h���P]2������
��7xq_glaRfk߫���v����Om�b��TϢ�D�x�
�3�E!��� (G^��t �'w8�(2����=�ٞk=����#��7
���q}r=q�K,y� <s�
Cm�pC�0�t����ѯMU�s���"n,�=��ڪ��f� �Z����jH
)]S*P��0QD��3���T�B��
8U� }�Q7�G��]� [...]
-ƕ�蟶 
샛�����
W�(mu��.�+'�z^
��%�bI窖��A�~]=[���*HI�k�y���bpS![I@eJ�+j��'þr���h�����x��X�u`����.�0�
��K��8fo�r��j{Hs����w�/�2�W��F��������g�ɱki���C�2"��Ԕ
-2W�}go�cP_%��gɒ���Mm0
-endstream
-endobj
-831 0 obj <<
-/Type /Page
-/Contents 832 0 R
-/Resources 830 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 770 0 R
-/Annots [ 824 0 R 825 0 R 826 0 R 827 0 R 828 0 R 829 0 R ]
->> endobj
-824 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.24 628.216 230.92 639.12]
-/Subtype /Link
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-825 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.533 518.895 486.501 529.799]
-/Subtype /Link
-/A << /S /GoTo /D (main_HPR97) >>
->> endobj
-826 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.495 389.341 266.135 400.245]
-/Subtype /Link
-/A << /S /GoTo /D (main_Bag98) >>
->> endobj
-827 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.01 389.341 392.525 400.245]
-/Subtype /Link
-/A << /S /GoTo /D (main_BHZ04) >>
->> endobj
-828 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.467 365.804 428.905 376.335]
-/Subtype /Link
-/A << /S /GoTo /D (main_pointset_powerset) >>
->> endobj
-829 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-833 0 obj <<
-/D [831 0 R /XYZ 90 757.935 null]
->> endobj
-834 0 obj <<
-/D [831 0 R /XYZ 90 679.042 null]
->> endobj
-835 0 obj <<
-/D [831 0 R /XYZ 90 671.186 null]
->> endobj
-836 0 obj <<
-/D [831 0 R /XYZ 319.418 631.369 null]
->> endobj
-837 0 obj <<
-/D [831 0 R /XYZ 90 615.355 null]
->> endobj
-838 0 obj <<
-/D [831 0 R /XYZ 296.413 474.228 null]
->> endobj
-46 0 obj <<
-/D [831 0 R /XYZ 90 458.214 null]
->> endobj
-839 0 obj <<
-/D [831 0 R /XYZ 90 366.801 null]
->> endobj
-840 0 obj <<
-/D [831 0 R /XYZ 90 366.801 null]
->> endobj
-841 0 obj <<
-/D [831 0 R /XYZ 90 352.943 null]
->> endobj
-830 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F7 505 0 R /F72 471 0 R /F11 418 0 R /F8 504 0 R /F12 622 0 R /F9 568 0 R /F13 540 0 R /F28 621 0 R /F6 538 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-852 0 obj <<
-/Length 2854      
-/Filter /FlateDecode
->>
-stream
-xڽ[w۶�ݿ�o�Ή` $.L�
ڦ�֦�W�OI�FK��V"�����}���J��A� ���7'�	N^_|ssq�=O�
����.�q"8A���f��]D�rE0Ƌ��}YW�rE^ԕ}����f�/
U۩��~

�v��+a�`�-�\�v���w7�/`�bNf��%�����p�����\&�j�d4��6�����R��
-�"̙���A��n�
�n�@m�NU���]~O��!$C�H8��xgA�e(����
�z�{
�-P&����н�����1!ծ�@���3j�)�Y��h����?�^��-
�$	
������`l��})���;�$
f�bժ͠
�t0�Z��R�ZG2G	|ؖ�m�>�
7uӻ���kD��9����m�ߧ�q�G67M[뇗����u���_x���s�����y5���Zw�
�BP�
/7��(��yn(M��Zմ�����~�}���>�՗�v��l�զ0���N��+`�}3��sSv��uߡ�*cr�[�.Ug!֚2�߭[���\�q�vU�R �� �F��i���-b �j���c��ս�4<ҟk�/��Y
-�J����r�w����
�3
?��L��/EI	P��
RM�5q��
/;��X�E��}�0��7'd�-���63N3��i*������p ;?�m��~�eα�͒,궳3�
L���
-�
mi�/q#��q���1��
�I��78t/���r��R�M�Wh�h�T
���Z��N����~�hq����|�9��Z�i
-��X�s.z�Q��m[�^����l�$�bݖ��NX� �{U��\ۗzB���^�g^3��f��.Z�-pR��Ci����Y�U� G�,�DR�]��}����g�o�N��j���y�
7	��!�(���W1��T�y 	z+k�`<)��" �
-?)/�!��� s��
�qQ;����
�g5	 �X����.�]�H�&Yj �p
-
-L �,�

�
4*<�a~��`�N��m��H���(� 
J���#�B��
���f��	��
�:9
�M3�Nٸ7ے�r2M`"iF
��"�o�(K���>�tvQhZf��@=�1�l��}[u�d�Sͦi��L���/:a�@$g	(��-P>��%y 7��#z���8�F2Γ�_"HFI�φ �9TG��b�
��l�#�C���3�񳔟OO�=r��?MX��VTȘ�Z at c;x��~�Ԯ1�!��<�G`H��$4��x���)��*H��
-fb���g?�S|f1��}5����
Z��14934�2>���Y���>%~�6���J�r�Sʘ
�	E;�-spŃ�@����h�<-9�GtHPPFE$�Sѿ�lLfmb�}�r��I�<���c�lf|
��)�s2
-h��4/���A]�
-��x�(u�dS���M��T��aȣ1�9��'��`��dz8��a^�*6���q�B��ytvҜgSi��"���^�}��A�;F�)ȼ,�!��"RD�<ï����<�I��N�
����5��!�)E2=�'6�ᓾ�<��p�:	�(�qY�I��I|[o�E��
E���n*��%�nx��i
慐�s� ���/��Ϫ�_u�L��6���2nj����|���%TE�O�i��{T�
���ڪ�v
�����k[d
�4
�Ӯ����;d+GyM�
�_�d;�ngF6i*E: ������&��˪�
���I�zJ�vc��2l*�3C�MΫo=c
��L����=�V5�_�FhU�꜃t�Qf�?��VCG�¶��{�����E�� �̚���J�A�d���l�@=>ԝƛ�xX�㝁\ ��S1l@���0v�+�w�h�I�Xo��S���pWT���{U�T��W��4�lL�g
K�5t�+�z�b�Nϟg�Ά�ד��F�gO9�!�h6v�h&t�,]w;GR�Y�Ƞ��?Xo
��ٶz�
�����gGrT?�Z�C�'
����F��
�.���/LN�������+Ӄ�Evv����xl��KЊ�w/s=.OP���
7��f��>]�P;�
p�'5c�
-���j�3t���]oG^���w&
-�@3̧�-)�n����[s��Aj�|���<
-F��՝Xp�Q�ͼՕi'��	x�C��.wͶ�
p]���}���=ԗ\�Wz���AZ�]�`�;
-��g�z�
��;��`'�<�"��/��ۇ��;���i����5�rz��� ˂h�:^��%����P*B���11@�łӪhF�﫟���<?虆ܑ��� ��u��>���uY�<�G����W�;�q���2*;��c̅�<֤�_\���7���g���]�f
� �=�K��L��3�v�kw�N�s��c
1)v����z�[�w��
�lv�0Ps�*�'bBL���b(GY6T8M�hc�K���)X5�2&^�XK&T���
���.w�+�/�(��SbŬ�Cy��{W�¹Pr��<���e��%O#P�9�m-bY�G�]\��P}��)��4����t��~_l]/�C�4LJLN3���pyx�h66���%_�Ϻ�B|�
�,��4\�
����/�g6e*�r���h�J̎�vT��x9�����i�yc6���3��K���;95���j���0͢�[�ƨ��ǟL� ��B�<��o�_o�{%�00q�M�%����h [...]
-endstream
-endobj
-851 0 obj <<
-/Type /Page
-/Contents 852 0 R
-/Resources 850 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 868 0 R
-/Annots [ 845 0 R 864 0 R 846 0 R 847 0 R 865 0 R 848 0 R 866 0 R 849 0 R ]
->> endobj
-845 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.512 296.226 513.996 307.13]
-/Subtype /Link
-/A << /S /GoTo /D (main_powerset) >>
->> endobj
-864 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 284.271 181.006 295.228]
-/Subtype /Link
-/A << /S /GoTo /D (main_powerset) >>
->> endobj
-846 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.703 272.315 287.736 283.219]
-/Subtype /Link
-/A << /S /GoTo /D (main_Semantic_Geometric_Descriptors) >>
->> endobj
-847 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [417.972 254.691 513.996 265.595]
-/Subtype /Link
-/A << /S /GoTo /D (main_ps_operations) >>
->> endobj
-865 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 242.736 164.282 253.64]
-/Subtype /Link
-/A << /S /GoTo /D (main_ps_operations) >>
->> endobj
-848 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.712 242.736 513.996 253.64]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generic_Operations_on_Semantic_Geometric_Descriptors) >>
->> endobj
-866 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 230.781 181.684 241.685]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generic_Operations_on_Semantic_Geometric_Descriptors) >>
->> endobj
-849 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-853 0 obj <<
-/D [851 0 R /XYZ 90 757.935 null]
->> endobj
-854 0 obj <<
-/D [851 0 R /XYZ 90 621.926 null]
->> endobj
-50 0 obj <<
-/D [851 0 R /XYZ 90 616.155 null]
->> endobj
-855 0 obj <<
-/D [851 0 R /XYZ 90 560.234 null]
->> endobj
-856 0 obj <<
-/D [851 0 R /XYZ 90 560.234 null]
->> endobj
-857 0 obj <<
-/D [851 0 R /XYZ 90 545.919 null]
->> endobj
-858 0 obj <<
-/D [851 0 R /XYZ 90 490.66 null]
->> endobj
-859 0 obj <<
-/D [851 0 R /XYZ 90 490.66 null]
->> endobj
-860 0 obj <<
-/D [851 0 R /XYZ 90 476.345 null]
->> endobj
-861 0 obj <<
-/D [851 0 R /XYZ 90 422.417 null]
->> endobj
-862 0 obj <<
-/D [851 0 R /XYZ 90 422.417 null]
->> endobj
-863 0 obj <<
-/D [851 0 R /XYZ 90 408.102 null]
->> endobj
-844 0 obj <<
-/D [851 0 R /XYZ 270.222 357.66 null]
->> endobj
-54 0 obj <<
-/D [851 0 R /XYZ 90 341.188 null]
->> endobj
-683 0 obj <<
-/D [851 0 R /XYZ 122.378 221.979 null]
->> endobj
-867 0 obj <<
-/D [851 0 R /XYZ 90 207.564 null]
->> endobj
-850 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F72 471 0 R /F65 376 0 R /F11 418 0 R /F7 505 0 R /F6 538 0 R /F8 504 0 R /F12 622 0 R /F9 568 0 R /F1 542 0 R /F10 473 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-879 0 obj <<
-/Length 3344      
-/Filter /FlateDecode
->>
-stream
-xڭZY�۸~�_��p�, 
��!����n�d'��x].��0�H-Iyv��ӍH��
v�"� �h��u�|u�����.^~�������VW�U�Wy&��bu�]�M�r-8��խ�\K͓7��'m�
�‘K��;Ӎ�ߴ��n�:�2��廫.�����B��|%�n:gy�W����w|���V��e����+%S�߯~���w����'<c*-V�L�4
�)���?��;
�`*+a�.�W�Qe"�����\�i�T�2��J8O�n��?�f3��1���]¥�M��nnh���}�
�rS
u���8�����ᖞ�L4~���Gg��R��lq�|��29���t�L�ʩ=�A�
-�W��z�v�e�k;�>KL���'��T��(�ޭ��e����s�L���E`�*-��-��o��
nMg
��B'����G�]�*cR(�H�R;�F��Lz�x
a<�Y�iLl�ȟ�
-=WEڠ9p���j��C�Z`���9+�h��ZRx"��?���ê�=���O1��_D��,J�aS
I�z��um��
�w��]Q�;�.E�ܘ�i�@��GΜ�N����D��c��
�
c����y
9�2�O�ec�m��!&K�r��!Ș!,�&ʙ0.Z����
x�`��3;E�D�d__wUw�7*9v-2��ޚ��+����H'��tՀƍ���5'^ �@cT�
�*ew������<p�����
P���o8xΏS�w��;�?X���gE 
8�ZD�Ut���p�4=YXӃ�9A�������d��څ�bHP�ukzd�0
$0�D���$�����S�Q��_=]��wp��ԉ\
-G�
<��
�n��Uf�l�7g�t���
�
R̤��2�����Z�Oݶ0��.�D���:�����9����1
��n*�^��+*ǀ��q�I���C�F
_�R~M�ȝ�:
$�W#��:ji��m�5


�И��lB͞�&������ Z�2���{�;�Wݿ�����$xp6�3R��0����{�������D�f�F��~��'��#swk���7���}�M͞�]t��G�� ĕ���+�s(��	=�Ba��aa*!4�	�3�_��`��ސ2�nǪ����#&�$dU���t(k�>6f���!�}A
׊ρ�s���
_E��5��
��0
��E��E_


�lǽ-�
���󲉒
-(��j��ok��
�
2�4+��Tc
3�$b迯�]̀Y(ZH��y*�3��BT
�Z�n�L�VW�C;[>~��_�F �JQ|?q�-��w�@����d����(�v�ۃ��ώ�p�ü�y+0)��z�{O�V��uW���y�x�+�,mҲ\Ď)�

?<�m
���D�Ph� ���L���-g�(��=y��n�'�5�Q�Q��X��/�B���t���U.��n�}�/�x[�j�l�]���


����:	40%a��egF�s�� ���J�N�K�k��R�
-Rj�R�ܲ����w��'�j7��s��
 �r�Rgx�,��L�u}f[�PG�Z�/E����ܿ7��,p�U������Y�f�DŽ
�?��jL-�2g
^
�ZO��Tc�:Nb�'ƶ��"�e)�#B�0	5k��"�V,-,2Taws�
�B 
jHq��-hvk�X�jJv�j�セۖ�W$��TU$��q��� �$�]$��	:J�]LL,SrQǙk��P�)YpVNH��U
�t�^$o���p~��E���)�t�߭P�[y�����ip
�u�	^[����̏��K>e�j!�"��Y�a��7�eja����$x�H�0�vf�XE㧆J;�$d�w��79�81�
�}����d��n-��T}1M=�߶����lN]�(���[�ki��%0f���
-
&��@
bT��+�Y�a�.�-���
���ѝ3�{��c�֬��[
Rw�Y�+�BPw.��V����
9 �0�Ţ6o���d
'��������!�S�hA1�#n�1�L��)���>�`�`p�lTf�fN�
-��Y1���{���oCW
�}�H���
-�(Rm�1
����<
�؜R��\�����
-�����r}���t֕���{?k
��Ȟ�a�����m#9k�{*|?�ݸe�x}���߾z��,���j�ιv�.�cTpa{�Ng��{�̅�h�h�
l!R��PmݾǪ�|ggl����D��^�@�Sc���"�b�i�nS����U��!���DTS��QSx��
�`
�!

�
�5 � ��.�A�
֐n/j�2k��x�*��v��x��N�����A�+����/��\�T�?4�/�6�,�����j 
V���(6H�ܸ���b�}3ە)��#�]{�AE�
1?Ӭ����}�ӹL6UC
�<MnN`��`
MQp��

]�H��i�q�l(�S�Z&���)��me�_�R�K_�{�fp�������t���0���9��v�]V���F�	N�a�]�)V_�f�y(��
޾��:
B�
�D�e�v��k�
޿��ط���
����_�Ðp1�a*��
L���n��O��8��;8h�K��e�vŘ��	��S1W���yo��ا�BM(i�=��>���Oا�C����3��'+�k�
�����f�
Yi�释lsA#R�A�7���^��^�O�9ޚD��u�:�f
�m{[(��诔M��<�J�M�#)��Zizo�,�O�> Y�AE�=2-��J�	��%
F ��2,O�s�
"0
-�#3���@䀥^��FŽ{jGI�4���� 5��Ф�����Ѐ����/L����-��!����8'#~�o�8.�G�X
/@~=���)19@�IJW�0�3�=D,�F����
-����s�Z*����Q�� �5��|��Ŧ���Z�l�g�#�ׇ�d7�X�XC�u;�e6ؠ�ѩ�������=��
G��np������
-�J�!��(�r����
��饃}��-ƈ�`�)�rFT��o��P\nuf�i=(Y���Aʅ;�r�|���墂�^y�L���G���ʐ��$��onmoV�F��ѓFu�wp"�_X��A�

P<��6�p��
�9�`�R� ѣϥ��@�'
1L��G1%x<�P|���yNK�05X_پ"�?R�H`9}�e%��
c��0Tj���a����8��]Mnf�嗌Y�JQ<�CF����GPTi�B
c?��,a�ݶ��[����#������ݥ։C|?U��6�
��a
�
<N\����G�G'���W��R
-��*r��1�����/_��ݱM�NM}�X=�<
�/_^�N-�bӛ��
���,ns�`[V
��R-�P
-endstream
-endobj
-878 0 obj <<
-/Type /Page
-/Contents 879 0 R
-/Resources 877 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 868 0 R
-/Annots [ 869 0 R 870 0 R 871 0 R 876 0 R ]
->> endobj
-869 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 325.742 126.971 336.646]
-/Subtype /Link
-/A << /S /GoTo /D (main_BGP99) >>
->> endobj
-870 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.241 277.921 327.756 288.825]
-/Subtype /Link
-/A << /S /GoTo /D (main_BHZ04) >>
->> endobj
-871 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.811 197.467 266.307 208.371]
-/Subtype /Link
-/A << /S /GoTo /D (main_BHZ03b) >>
->> endobj
-876 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-880 0 obj <<
-/D [878 0 R /XYZ 90 757.935 null]
->> endobj
-881 0 obj <<
-/D [878 0 R /XYZ 90 594.068 null]
->> endobj
-882 0 obj <<
-/D [878 0 R /XYZ 90 594.068 null]
->> endobj
-883 0 obj <<
-/D [878 0 R /XYZ 90 579.498 null]
->> endobj
-884 0 obj <<
-/D [878 0 R /XYZ 90 499.721 null]
->> endobj
-885 0 obj <<
-/D [878 0 R /XYZ 90 499.721 null]
->> endobj
-886 0 obj <<
-/D [878 0 R /XYZ 90 485.151 null]
->> endobj
-887 0 obj <<
-/D [878 0 R /XYZ 90 395.457 null]
->> endobj
-888 0 obj <<
-/D [878 0 R /XYZ 90 395.457 null]
->> endobj
-889 0 obj <<
-/D [878 0 R /XYZ 90 380.887 null]
->> endobj
-890 0 obj <<
-/D [878 0 R /XYZ 90 278.918 null]
->> endobj
-891 0 obj <<
-/D [878 0 R /XYZ 90 278.918 null]
->> endobj
-892 0 obj <<
-/D [878 0 R /XYZ 90 264.347 null]
->> endobj
-877 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F72 471 0 R /F7 505 0 R /F11 418 0 R /F10 473 0 R /F65 376 0 R /F8 504 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-900 0 obj <<
-/Length 3362      
-/Filter /FlateDecode
->>
-stream
-xڝk������
-!_�,��7
�@�6�Ӵq���:1�H�K����k)R�i�����3��y���&�|y�����/�hS�E����Ml�T�I�6�����Ut�UAx�۪y�߆I�
G��]����6RA
zQp���Ww}�ӝ�F�$�(ٔ����
�_m?*��a�6q�o����w�B��J�0� �t����A����/���ƙ��(!��1�`����B��t��#�#
����F�g�U����m5X�Ӽq�u9Tm#

���=�����}�x/ e�N��n���{"}":��Fkz�
��)���
-o����6�$��$�l��D�R��3Joj8�(`&����;����t�g0�H����]��#��� K=�~���{��Ⴚ���r<�>�v��/$�p�
-onE��{:���{�� �][k�?
����Ui_�o�$!6�
@�q˭ o�:Roy�v$� m��V6�p�@Tҵ�Q*l�ۓ�D�"���2�ρs{֔�B#"��
����Ƿ_�]_����
�Pk7F�$3d�|�=I4� ���j�f�;��곸͚8L��U�TY�gN�9�{��c����e#��1w�p��彀�Jˠ�[]�"b˿�����fe3c�|0�lS�
�M��R�����ɦ��
FՄ�l��n��0�S7��V�=�Y�$-�I�
��\������)_���	��L���d�h�O�����4����_:bT��oQ��YysR��c=�� 6m��NN��n,#_	�{��>���V_���@ͽ
쒽
�B�
��Z{_��qj{��7 zm��#
�k~�q�ӻ�ȁ�
G��4��qZ(t�:]
Q�
-���:��o�
D��7n
-��{�� ��o���7��0fF��0�j��cP����[q��
�c �LT��
m�]Ƃ�sp���lGMa6��]"��	��#�QӸ����G�ﵜ��[�^u�C	u���@^�z��[��ß��^�=ʝ��⳵��
y=���s��r��؆+�r��[3u�o�B��N y��p���7�q�~�n����\� ����������{H�>�*~�,�
{��/'w_�q�>�oyi5K�u�Y�ʣn0���^p�aH�]
;	���n��OG�r������'Y�E���,�5�%�����.d��J"�8ܓ=�T?��K�"
�FuEa��	e�E�
-D����#8z��x��K-�di]�
Fgg�#'�X���HV`�
s(f���a��,K�W�bT\
��
�%���4V�9�� �l~�v`���橤j�i�c�<�E	�
�W�]t'M��4���+�.�D�����
�K�t�؏�
_	�?�Yq;��"���դ"wDŽ���7ri�������I	��o�A\;t1!��=JȀ��e_u� �B���V��ho:����yIJ���l��1��%��.�*��j��hC�6�Lm��~.��L}�X ?h��:�������p
��I4��S����
-i�fX�x��H7h�P�
-�Wm4���b:�������'��G�e�����Zvؖ�
-�50h�J�
�hQ��'���p;/)PC$6ú�d��]�J�$!)4HY{�_�
��	��)9T�l�����
 `0屩~
��r�ɹʈ�ƞ4���
�qx˿;9�j��*��Z��
-�UÈ'0
�v^�^G�d����s)���t_W�
-���Y�&��\
P��x�B��O;��N�
7 �!Ӈ�`���KD�D����\?b{�?@:�(F�������%�D�
����&�3X��O�
J�
Q8K�,ɮ,�Y�B?*2G�h���~���Y���1����N�6a�S�7!���5T� ܸIJp��
1nA��Y�$y��?���:U����
�.
65F�,Yt=�Jn+�����'~��+Q&���sQ\�
��c;�{��	>T*{�š̂`��GRl�asC4��S��� AGSw
����S����\���G���{=���
-�̃wy
-\�+1m��P��c�Q\*��{�-�l=�U�P7�x��t�O
X3W�y� –��q��8�=;���汣��=I`��
z��ۇWE���D�
~'5�z6�$.��E\�\4�L�^� 
7�#v	�a8ä>0��ԭN�$��
-Y�?A�ͧYd�l2Iݰ0Y�,� �^� #��r�A��1��
�<�
�F�V
�Yn�M�K,H0Ȭ�'��V3
%œs/���,��A]������_H/�
�<�þ�.n#<k)�h�q��>�)����m�#fd�Eqa�����β
��)�i���$���Sv=^rc�+-�.��W���8���l�?Qė
�XYV7L&�L]o]�YK,Q�E1%����-�����6Hoݑ��O�#
�_Nt�"�2��]�]���j6�",;h��Z����s;��+c/��dV�=��g��Ҍ�"P�wn�E$���W-�j��`i�(�~�m
i a�_4ޒ�B�l
@n�@j��3�$��l��`}��q;	��q���c����T"�ʵ��(2�
�\N�
���*�Xu�gOO���B��]�P�U�P<�] /��\e
�Uk9�{RB�ǬV�m�i#pC�0��`��������[��ˣ)?�׾22��e&o�}�A�Lh��̏�,��c���L�H��K*�h*Şퟨ�k�L�,17��o�$��$�i��&�<j�c�4��� l1@�g:5���8�O<
Ἲ:S(C��U�%�La!�2
-r7��dj+
NP|�\�Cq��M��rR
ZM�H�^Vp��*�-n(��x\�!i䶰bӏf��T/θ=���B�p~�����g<R3a�kc��f19,��&Ǖ��q�\����&�u`..!h���H
-��|�~
N_�����#8Vۯp�c_��C����8�D��^Q��N�2U�zE�������VA!&�>���:�9����η-�Qh��-��-����)e��eE�"Ȱ����X-���7B�
��,�
��� 
��̜�cV�Ï���v��
M8�7��Ї
�}�4�����>��8o*�����P�� ޽���:

�.�#�"��n5\H

�澲?�����	A
M��N�>��gK��k5�%�c&��,�1��M�Si�H����oqZl
-NQ�@z#��qiǮk��:�()~cNf|�yԽ��4�
����+�?+��S�Ȣ\�g%)�$��S�Y�8U������~�g��nF7M�8��4�b���D��>Y��>m��o�?6yU��Q0E��0t�^�|zz�K�M��~5����m��QQ��MD.�J�A�J%4H�Z��>.��
-endstream
-endobj
-899 0 obj <<
-/Type /Page
-/Contents 900 0 R
-/Resources 898 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 868 0 R
-/Annots [ 872 0 R 873 0 R 874 0 R 875 0 R 895 0 R 896 0 R 897 0 R ]
->> endobj
-872 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 684.047 211.755 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (main_pps_bgp99_extrapolation) >>
->> endobj
-873 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.846 684.047 391.518 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (main_pps_pairwise_merge) >>
->> endobj
-874 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 636.784 132.5 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (main_BHZ03b) >>
->> endobj
-875 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.875 636.784 188.391 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (main_BHZ04) >>
->> endobj
-895 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 606.647 285.096 617.55]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
->> endobj
-896 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.126 594.691 292.759 605.595]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
->> endobj
-897 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-901 0 obj <<
-/D [899 0 R /XYZ 90 757.935 null]
->> endobj
-475 0 obj <<
-/D [899 0 R /XYZ 138.697 550.024 null]
->> endobj
-58 0 obj <<
-/D [899 0 R /XYZ 90 535.354 null]
->> endobj
-902 0 obj <<
-/D [899 0 R /XYZ 90 506.685 null]
->> endobj
-903 0 obj <<
-/D [899 0 R /XYZ 90 506.685 null]
->> endobj
-904 0 obj <<
-/D [899 0 R /XYZ 90 158.973 null]
->> endobj
-905 0 obj <<
-/D [899 0 R /XYZ 90 154.365 null]
->> endobj
-898 0 obj <<
-/Font << /F63 374 0 R /F65 376 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-911 0 obj <<
-/Length 3279      
-/Filter /FlateDecode
->>
-stream
-x��ZY�ܶ~�_1~�fc
D�|T�R��c[k]~�]k3��yh=���F7x-u8�< ��F@:���ټ������W��ID�����I�MJ�rs{����Bz�;�8���V���8���7is��y��ݭ'������W\IX��H�1�D������Wgs��o6��xso����z��7���u�L�
��t�'�0 ��\�`��VW%� �8B:��(c�pTn�����<͡*R]��i�U���S�V�Ľ%
U��
�NynU*n
�y�!򴹖�����f�
-����R$�q{V�:V�̋|�ٷ<:�(ؼ��y��*ϫk7�wv��%�ڔ0`�
̺��#�$��
�	���u�-���?���I@�d�N���	��0�m647�.�Vuw7�=l��h��Sގ�L�OW��g��ͫ5&dh&��(�*�"���(+�{"��a���t�痻ԡ����������p%�K���ˍV��� ~ޡ��K"x��լ����_��W�t���
9����˅��;p�.-�
�`Kc��<�Zni��=�����P��S����n�a���/ww�wa�-�u�v�\w�J�a

R`�JѮ�!=W�Q0�Ϛ�t;��BR����SH�2��� ��Y
Hc+�!� ��
�I�ߕ������1�D��/}Xa!��wq���
f	yB�|�u�*����9�Պo�	���s�
"��
�!~��Hb�|��������/d��\�B�H�����K�j�
�
- �� �d�CX����r��ʺ��FC���B�Z�qs�B��/��t�Y��SD�_�s�fy�
լ��0³��TRHr77�R#��ƍ�V�4�	#�P;�GY$%��` �m�ˠB`>E����Ue֨�W:�
��.�j��G�{ֹ�iuSa~��jȧ��8�J
9��#�ep�e�JAH�$dEl
ѾT	{P�Us4�!SP|\'�8
-_9�A�c4a� ���*z�J3J��P#^і��qޞW������
��{YCS�8�X�4�'�͢j;j�m�6#4����U�ҀQF."j�jnw" 7C|��Mק����R��P�@T)�i�.i��I��ỳfyP[O��⭥J�QS��?��&�zd��
�!�`D�㓌����c���
��`P����ΘC�20\���:/F�kz�t�j4"��,౩
-0Z %F:K�л{��&D����8ܟ�*Y��F zc��F����w�X� � �#"�#��UMwZ��
�(diI�
���_h�7ǫ��uC��RH9�
+
��)�����L�Z��;,�K8kh m����j4p��I�
�tV�p�'�."�R�������ej�#�.]
�H �Gj��Z�
A(�x(5�����1KP�;�F�Qa��n�����q�L�W,��q�
-&�_T�g���ݳ�1G?��Tm;�H�s�b_��Œ?�c��6x������
�~
Y;5��u�;� =���$��V�$LR8��9z���OES��
-s��V�6)l���)=!mjI�\jz\
�� 
�!�0�q(3��\?V��Ԣ�
S�gvN˓�M
D���Һ��0#��'#J��X�|�A Pg���yϴ���ɰNz�ꇼ���˼حiW��x>�@e�R�ћ��X��E�����,mMZ�f�ggj����h>��Iç
6
j��.�
=?ܞ���4f��
���~��I����{Lxw�&��:z
*�#�c	�
ަ�6@
ޠ�Jy���M��,$��=��
����L.5b�P�H�
׉�
_�H���ՙ�M��*�-�l���G2�7OݵDg6����ы����v�j��VQ�~ph��p"�'��\�11h���ON��ԠHA
�[��O��4;��p|/���
h�Lfz��ۀ(�5B�%K6K���~r�����TA�>���y�(��>^,O���7�q��0%��,�g�e�q�1�
 e@��0�+&���<i\�03
-*�<ըZe���L�\Q砸6��t#	O�N}y��D��8��&WHD�6E 
�Ĉ��6�1�
��
�ej&v
�rl�Cc���3O	f����WU!OJ�< [cn��D
-��&`;�`��^���D�M�OCN���]�ઉ�F�|DX>�W
-
��g)ޠ� �
�'�$�D\7��-F��A��0�ؤ'L_��#����ox�@f?�*�
$/���ܸZB�H���睅K|�\
¢R
+���������b9�D"�
i�G ���~�.3���J�1�d좫����Âͺ2���p32�}����%
�����G��{"�� �������+�y�Fç���1�����)g��%��O�Zw��1?�b�N�\���T$��EN흲VW��q��0}6���>�X�HA��d	�L���Q&��\�wf�,�w��C��&=��t���oLm¹q���Y��w��Q�m&�ڮ��u™4�K_�n�_cun�
���l�;w��kMVy�oY1����硜��3'�M?⸳�0�Y��o��}��S���&Il����t�u;	_��NfN at H��L*��nMvv(CO_������ ׏�����+�b��\�ъ*��8;?p�ʙ*2��
�/����<x4�e!����{�� ��qB<OS8\��Ų*62���$�:v5*��� lv�'fs�I�A0^�
���,gw�ۀE�
��Vp�7��
Gx>��

��9x9x
��T����ǨE��J1р6�4�  �d8n_uʮ�"����r��0;
� ���k
,��?R϶��}>�S��c�"{zGE<^*�#� ��12�t�3�d�Do}ؚ��>����M
-_��Gk�u"���+��
��t�W>/�_ÕM�v��!?�F�/���c��O��al∖�#G��'�<x8�h��1�vɑ32c���V�s��
��畐N�!nS���Ru��P
�5�y��E�Wo;H#g�6�S�c���(mt�K��&�a۔���
���C��^�3��W��U,=�eX��� aB�Z�"�b��D��L�2l%��� ֆ�����?�ӤUD
Es].��FD���#��Y�,��	c���C���Ä ���0 ���~�2��$^3)w�9��?;|��<�;,>!|���9�����q��F�����b%I����'�u�WƑ��K����O���ߋ�}��F��I]�O
�p2�"�
L�֙���]�`�%
��
��
-endstream
-endobj
-910 0 obj <<
-/Type /Page
-/Contents 911 0 R
-/Resources 909 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 868 0 R
-/Annots [ 908 0 R ]
->> endobj
-908 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-912 0 obj <<
-/D [910 0 R /XYZ 90 757.935 null]
->> endobj
-913 0 obj <<
-/D [910 0 R /XYZ 90 618.144 null]
->> endobj
-914 0 obj <<
-/D [910 0 R /XYZ 90 613.536 null]
->> endobj
-915 0 obj <<
-/D [910 0 R /XYZ 475.551 513.321 null]
->> endobj
-916 0 obj <<
-/D [910 0 R /XYZ 90 496.594 null]
->> endobj
-909 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F11 418 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-925 0 obj <<
-/Length 3509      
-/Filter /FlateDecode
->>
-stream
-x��ZIw�8��W�4M��`,�\��[Vgܱ��_�D����G��S���dZ�{ޜ�"�� ꫯ� ��bDG��Nn��/1�I
�`ts;��(
���n��
#�O��;�fyV.*�^���6�7oG>��F��G����џG
�t��2$���du��+
�A�vD���ѽn��\�3]�zD�ӓtoz
�H�e:��z�Z�7敳:�����T��E���V��KӤ��J�,�}��ZWcx׭����|cj۩q�*�i����Mq�~�����b����7iu;f�S��v����&��Xڵ�٬R�f
H�`�֔i�q/���	��'i���=��(�'�(��E��{=vt�3¹t?%�N=�W�Ucg�^�I ����
-��prZIf�6�
-���A��֚�����yu��t.�۴jL�5|�T�ڼ�֠O�IZ�)T���!��ޛ
+�Ū̪�=�*aD$Ş*�D���f�6C���^����g�	�5[g�@,�Vd��o8񴪳�n�pU��ҋ����bOn��*��.U�,�+�cFi{"a�8�D��d,@T
ԺI at c�з�R��ޥ}�����9�Qaʪ����Ӣ^��ݟ���LS����փ�����E�\��.+fiSq���-�Һ���Q�4zd������T!�d�m�_�Q[7F�Z�c<	`3�0f���gn
�
��9̧6ch��a�I��a�"r| 
-�3ݲⶬ�wwԲ T�S3�T�ǧ$p�}��~x��
�
@�������"��_1�q��kQ��b�v��-E�"-� �q�iM3��
��o�T���t��N��U�+�HFd�U��q

��W:�E

�*آ��N��|��R�pU,�
:S�� ��M�i��M�։%P�y9,[>�pD���d�%�Uk߀BU,Z�+�g�P�^)�{�")7��Ct�" �g�ZUM6���1	�`Ww��@�I&3�7l�z���"����ڵi`Czjߥ���a��on��r��t]"s���ل
c�'# �! z6�?���X
. ]��hs�g2�w�
୩��1���tU��E8.�
���}�7B�COoh
��y���i�
�$
�ܑ���}I|��u�1Z�����i�Z��X}"Ӱ4(^��ab'��G�_P$6�H9/���E���'je���}z�WoCAf����	�ӓS~
f����A
x'���2m`���fA��l���|
��‹��xoe�����)���M]]��+=sҲ(2�~�b�Z�aD��ګ2[
vs
����B�Q��0��:O�
l��2�ld��:M2�O�m�.��h!vHL�u�!��Th0���-�M�n�f3I�
�%
-k�>�d�� ���,��5;@�.o�M��##�ź�f
��t3='FxY�#��/
-��KO��B�l��Z� ~c�_�
M�v�*���6�����r�	���9ę�Ұ��[8Kӛ��mm/O��~Ϛ�Xj��
-�\l��� �vY�;��[jS[' sM��W,�t��,�
Ȑ�"h��j.�F��I��+!F�j���,��,���\m�E@��\�Sؘ�՚��
3:|��>C$��kާIӚ8���P6nl���>��*f2E{3�B!�@�B��z��5��|
V5�]3G�q�6Nʳb�ߜ�v,�`��]��`A$5��t�&˄`�;#��3ȥ5p��cG��ҽ����5�t=/�b�n���t�s�퓺E�����&
��������)&�1�
-Y�� Y�
�ET�.h�o��t���:׽�x�l�
-k

��q�R 4+M[�ly�E?
4
tAKߜ,
耗�`<�S�0N
���(���F�aص1
u�Ӥt^�{��Hmh�%�`_��L3��
xE7Q��9����w�;9 at fv��M�~y||O�-�qD%��;��:���x��j(�NԤ^6��`��+
�m<{�
-��A���f<�
�P��X[��F at a�;#��K�t&�ݜ�g(���s[?��BH���u����a���Xr�Џr
~�?�>Jiج�|o�����0��F �����-ac�����x��x�>�d�D��&����x

�����x~�Û <���x
7nRhi�m�;m��R�5lyn{
b-��{Ue��%���N���cU
Q�({H��h�q� 
�M�!�H��;+�o�=h����U��r�n6*3Ǵ
2"iwθ��M2e�{�똉\o
-�Z�۱�V���Gb3
ܙ�X���0ц`��u�^�y�YAp����̟Q�˸��p��	G�}����)�$����	�ب	g��
�.j��F@��[�K"�Y���g�6�1a�	| ��V�(�Ⱥ��� ��9��O;%��{��J�����Y
����J��Ș�W_�w�\1����̻�C/���>�AXYUY��C��@�`6 ��@7�Ҥ\�=
�Q�p�
~�-
ԭ�|�L�
�XD����]���`7 H��:�G�;((���Mὂ
	/>�
-;�y�ɾ~j����p}�5?P_�|�Z�Wb`P�Pמ!�(�
_o�Ie��*-WiSm^���e��1'm�=r���9��x6�;���H�1��TG�3
�M����%���iG������"}"e7�.ߧ��y�t2Z���>,����Ҏ;ub��c�^AR��1�,%8I�	'�2M�����E�VU�o�Gw����Ҽ�ŬD7k��G����cNXlН�Zk3��0LB?�]�����#|
�h
����N�Y�׏U�=[���C�o��P�Otr7R
�4x$(8'��+L����t��e]Z�`pdz�@����
-S�s��������$L�{X�
��k,�~8	�x{��"�)�Z/;`|}����(�L��6N�A����
�.���gX�ԏ��Y�F]�p& c�7���4P��WϜ���
�����7�*�
9��-�Ѯm �8D�3<{6J'���)�^�Y(�qwd��?�o/��\�?�>CC�d��p'@�dķ�;�ޤ֨z���솒"6�]
��Mmw�{U�b
���eH
�euW/˵)�/��
��C/`���ck�X����O�ə��k�bܘ���;ww�ӳ_(J�;��x��V�%O 0�e�Vi���x�������r6l��
��o��as6U}Ͼ��Z
2$ʦ�K�����@v�}T'�5��H�
�s;�� �����ЇTM�x�-�:L�"�;�L>{tᇽ4���OKX�,]��=:C��
���g{t�M{t�EM�b��"
-x.�?�ϷY
x��3���
	�կ���E����c}?)������:�N��� ��#W��>�(V���y�@&�n���/�sJG�r�
^��.�:H�l�a@��s
-��¢��q��a*���D�S�L	����������E�Zn�zdn������]��
?��:��؀�d��L����Vo�ˢ��-Y<��{�0��7�&ab������pQ��?F���
-endstream
-endobj
-924 0 obj <<
-/Type /Page
-/Contents 925 0 R
-/Resources 923 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 868 0 R
-/Annots [ 917 0 R 918 0 R 919 0 R 920 0 R 921 0 R 922 0 R ]
->> endobj
-917 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [113.91 395 444.67 404.898]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.comp.leeds.ac.uk/research/pubs/reports.shtml)>>
->> endobj
-918 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [113.91 351.164 420.76 361.062]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.comp.leeds.ac.uk/hill/Papers/papers.html)>>
->> endobj
-919 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [227.347 131.363 330.959 142.267]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://arxiv.org/)>>
->> endobj
-920 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [348.118 131.363 511.506 142.267]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-921 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [211.932 87.528 429.117 98.432]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
->> endobj
-922 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-926 0 obj <<
-/D [924 0 R /XYZ 90 757.935 null]
->> endobj
-927 0 obj <<
-/D [924 0 R /XYZ 118.403 711.11 null]
->> endobj
-62 0 obj <<
-/D [924 0 R /XYZ 90 694.383 null]
->> endobj
-928 0 obj <<
-/D [924 0 R /XYZ 90 666.087 null]
->> endobj
-929 0 obj <<
-/D [924 0 R /XYZ 90 635.194 null]
->> endobj
-930 0 obj <<
-/D [924 0 R /XYZ 90 590.641 null]
->> endobj
-842 0 obj <<
-/D [924 0 R /XYZ 90 558.761 null]
->> endobj
-719 0 obj <<
-/D [924 0 R /XYZ 90 526.88 null]
->> endobj
-752 0 obj <<
-/D [924 0 R /XYZ 90 447.179 null]
->> endobj
-931 0 obj <<
-/D [924 0 R /XYZ 90 392.011 null]
->> endobj
-932 0 obj <<
-/D [924 0 R /XYZ 90 348.175 null]
->> endobj
-933 0 obj <<
-/D [924 0 R /XYZ 90 291.762 null]
->> endobj
-934 0 obj <<
-/D [924 0 R /XYZ 90 259.882 null]
->> endobj
-893 0 obj <<
-/D [924 0 R /XYZ 90 228.121 null]
->> endobj
-935 0 obj <<
-/D [924 0 R /XYZ 90 184.285 null]
->> endobj
-738 0 obj <<
-/D [924 0 R /XYZ 90 128.375 null]
->> endobj
-923 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-949 0 obj <<
-/Length 3365      
-/Filter /FlateDecode
->>
-stream
-x��ZKs�F��W�`�	��o�,;���c*ɖ�
 Q. ZQ~}�g�%kk��ʅ �{�����&w6y{����􍑓$L�0���I�&��|r��|x��t�c����ȫ�:ݬ�\�߮��(.C&#ͪK��'�'�9���&���0�z�X�|��M������2�'�Vk=QBµ��O~<a4=��4��h��ϯ������o��]��7�y�

�V�T?���4x�ޕi���'�����TpE*��EA�
j�J��#���\��
��)��
-
�N9aV)bɂ_���2+���u�6Y��Uݸ�۪vC�g��af�x&5�B4�q
&�V\gE��U�ә�ePn�Y�/�CzӴu�@y�sbI�t���]�K�/9����;�s��W<欮J\�Hx�-s��
���Hx{+b��������d�`�M޼��dd��T�Zd0Zy׸v�K�n��A���
�
-�`�e��e�(�?�7U�o�nv���*	�4��^�LbX�`AU�ƹ�����7.1R�Iz����(��?Tmָ[�W��y��la�4�E���ltz*��ڛ�&��h{�IB�;�
9�1
�f�eU.��
~zO7�1
*�
-�6f+��lm<���4_�C^�{� n&T�0<!h;�}��d�(� �"�>�$�I;��v�q
;T!ء���>�ENm�jQ���N&�-�&s��=����?|��C�EU"V
��w:	��(��0nI��xXe�_'��A
,
�*"
f�m��:�!
{
F\�0�Y#͇�]�FV�o����1x���z
1€I�xg�n��
C;
���@ J��(�LJ
���t0�[
#�z0���`$C�(��P=58���H0Oi�׹=��
-Dp�9�A��������/8
�ܣ)���[`v��b%}��$�aN�������
�����
����L{0C�
��Ƀ>Z���#0K���<��I���L����Ir�™��|��m���e
��ӹJ�l��JI���wtM��*s�������^�.*x�
�F4Dw���l
-�8`��Mamd@iK��£/���=���c����y��v������>\4��7u�����-,���ǬCp�!�~��l0	#x����mؑ
lP�գ��T�+�v6 �l.��5#�����k�Qˣz9�z�Q=��AD�
��CfS:T<鹛x�"�3\wT�O�Ḉ����z��
�6 
�=n��:��i�g.���g�
\��g
�b�h>1�;�(:���X���芮t�(w�m$=Ok�������lk�t�O�X�zSd�z
��9IJj��YCa� H@`2�g��9��\��j�%��m�II%�#%�J�тE�GJ(C��뀔�������#%�b��A��:�(��
R��j������C�
�؛�,�
�O
��N�_8K��v��:^�q�v~�6����@�p�Tz��1wf�"��D�2�.Xfo~ ���`~;���܏�<�Ĕk`���.�����<���&u�O]��.VY��$������S�e�%�c��`'},v�˜�0�
V��7-M��t��C�Ҫi�����$��K��6�QA�Q�+�lU�f7��Cl�W��}�Ś�����׬�6L���
7���D��5�2[`�UYn�N [...]
-O�rW�Қ6'�Gh)_E�q�k5�=��p�[�
-����=��֎8 at r��۶��!g�ܥq�� �Ew
 p1
��ȕ�Y���@�n!D��0Nn��G��jۮ����ڎ��
:f7ұL�8:x�p���������������<
Yoj�@���\�
�V+�L"&�
*]�V ��tF�d�.��~� #�d�7��,lI�:��%�e�H Y
wӯ,
-����GV��I
�%�K�
_
B���!K��6j�Xi��j�n��x0��G7�ΰp옸u"[7�8��H
PB�`$���2X4URq
-��p�mmJ�ڔĚOy����$
-�0������{{U����L�pWr�
�ɠNe�'2r��S%a,�h�
-{S�
-om]zu*g�'M�����+�B%�^���x�g\u_:g�����ê�֡�b��QCF̹b-�b���(��+��0��bۅ��qs��
����b|�(ƛ!���G�;;
-���]f�EH��u��١
�4
9� �C�#�ݮO2(7a�X��ޮW��d���dn/:��kLF�j�y%U�ח"�S�����K��ˁ�TN��6e�F�;�av��ٙ�Nj���Q�K�Zd��v���}^�̚E�o����]U˱�,��wN��!nvA	d��(�+G
)9�8�b��H<B����"���,������:����x��c��JG#����UQg�F���5�'T��z|؝&J/�:��&t�B�c;b�<
��x�
-c��^���l��>���a��I׵86��M
���5Ӓy�7� ��
-fK��Z���
f�;E��
ud�pa�O� W�<�:�I��k�G��z�&�>C��.
M��L���)=J�F<��``�U�h�ES��mv��6
y
���f��վ���ο��Y]�O���z�2��>�S�넷u���}�����SZ��
����MጇfWI�,1Qf�V��a�j��_����@�K�1��~�c��@R�&���������[��� A��{Ǎ��s ���g��UUE�
-�.��hu
����~�Ԡln]��l���d
}-)��:��c(�̔1V�;Xje�&��W�
-��6�֞	*R��S��DNk at nY���n<�M��ۀ|x���{EFo��m��2��zS�����\a��@{�PYJ^��m�9��p<��,;�
�M��ۓ�g��o��7TGJ_ѳK_`�
���١J��ျ�b�u���l��ѩ�X��`�p�
����s.^mɝ�{���\�]~+�+�՗s�+ȣ��z����k,ȅ�EdJ�l
���/�0���
:���X|����4���iq�
-�%G�����?X&�f��cHRY�W~�9��-�
-[��0����.����oOY�8����ci�0�������^f�$�1��R'�֊|Ċ��E�T��`��3SѰ����h����$��c#~I�(7
���|y
� �'��fd��Q�
-�~�1ϪjZ~n�>Xk>��?e�
-endstream
-endobj
-948 0 obj <<
-/Type /Page
-/Contents 949 0 R
-/Resources 947 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 868 0 R
-/Annots [ 936 0 R 937 0 R 938 0 R 939 0 R 940 0 R 941 0 R 942 0 R 943 0 R 946 0 R ]
->> endobj
-936 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [123.594 585.043 340.779 594.941]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
->> endobj
-937 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [211.932 508.704 429.117 519.608]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
->> endobj
-938 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [113.91 286.164 331.096 296.062]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
->> endobj
-939 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [204.862 197.87 422.048 208.774]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
->> endobj
-940 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [292.331 186.537 395.942 196.819]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://arxiv.org/)>>
->> endobj
-941 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.646 142.079 426.585 152.983]
-/Subtype /Link
-/A << /S /GoTo /D (main_BHZ07c) >>
->> endobj
-942 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [294.32 98.244 511.506 109.147]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
->> endobj
-943 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [365.665 86.288 469.276 97.192]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://arxiv.org/)>>
->> endobj
-946 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-950 0 obj <<
-/D [948 0 R /XYZ 90 757.935 null]
->> endobj
-951 0 obj <<
-/D [948 0 R /XYZ 90 733.028 null]
->> endobj
-685 0 obj <<
-/D [948 0 R /XYZ 90 681.058 null]
->> endobj
-952 0 obj <<
-/D [948 0 R /XYZ 90 625.267 null]
->> endobj
-953 0 obj <<
-/D [948 0 R /XYZ 90 582.054 null]
->> endobj
-954 0 obj <<
-/D [948 0 R /XYZ 90 549.551 null]
->> endobj
-955 0 obj <<
-/D [948 0 R /XYZ 90 505.716 null]
->> endobj
-956 0 obj <<
-/D [948 0 R /XYZ 90 438.687 null]
->> endobj
-894 0 obj <<
-/D [948 0 R /XYZ 90 382.179 null]
->> endobj
-843 0 obj <<
-/D [948 0 R /XYZ 90 326.388 null]
->> endobj
-957 0 obj <<
-/D [948 0 R /XYZ 90 283.175 null]
->> endobj
-958 0 obj <<
-/D [948 0 R /XYZ 90 250.672 null]
->> endobj
-959 0 obj <<
-/D [948 0 R /XYZ 90 183.549 null]
->> endobj
-960 0 obj <<
-/D [948 0 R /XYZ 90 139.09 null]
->> endobj
-947 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-972 0 obj <<
-/Length 3359      
-/Filter /FlateDecode
->>
-stream
-x��ZIw�8��W�6�{��Ē���{ܑ�g^�M�'�&��ݿ~� �iJI�u��E
-K}_U�"����^�=�9;.�L�Z01���i2���1�����C at C��<�o��Z��n3�qp?�t�zQ
.a4��#��=�9�팂�̨2����,ݞ}�Df+�����k5�j����qx����g�M���&�7�ؾ�Ó��d��u;
�OLBPw}�Q�J�eR'���dp=�����=_�Ea�U��++{�m\9���9%ИE
J�ࢴ��vWW�]_�'s��|�im1-�f_g�������V�ڍR.�n/X
ʈ���:vko3
z�]Ti���2)l5�ʦ���l��&Q��>YeuY��HH\����|��m���ֵ�r��J�l��yj�I��2�e�5�M�~���ƶ��B�9��U��s0 ���"az1���\F02
��Er[��p���l�Y}�u�7h�wΔ�PRݝ�mw��Ͽ~��M�/�]
����
�9�E����2F�j�
gf)����pb"��@���̳��FSZp*CM�p������D�8�U_�|! g`�O���0���H�`u�T`�X
F3gd�a(�����n��B�ю%�������'����n�#�j�I�(�m !`7=�]Xx�#��G
x
I^l�rO^l7�E�3�6	^��
1��ʼ\[�j��I[�
V�&�w��0���iUmlMh�O2o��0"�[Ų�k�&�
l>����4vV"���\���
-|5���P0�,E�mʪ�p�{l#��AmX6w�
�D��7%�<��Ą�G𠏁��L��4�_
{���i W�sC�׎�߽8�}0S1�+F�l�(rS
�ew�IQ�A7�]�GB�豱�&=@�+
Nqo�~W�e��fȢP9a�*��!�
�0��B�`��u!(���
-c�BP0m���
-]vw.zb�?���\p���(�҃O�*
��΅0prC‰^����
\]h�o�u��.3b�S'�Ίled��Q�5�ߧ�][��^�&`À���ݶ�j68�s�
K�n��j��)_n @��
��y�]�n�ދ[X��KڢG�%�Y���l�[
�
\��(���`�庱��
>�5\�v�S�p?Q�*�8r�:}ޯW��ll_!'��
�˥�T�~�S��PI�I
�J�|'�)�bʽ��v������j3\.�AyiE��v�oѢP�Ls��)�%B&�9C�쒵
P
-8�I���y��iޤ�k�ey�ȶ��	I���6
�w�L,=�og4E�v^�	T�����F�L
-�&�h��ܳ�	�
V@�̵M�����J)��V�=D%����o뤾#� ����
X��9���x�i�
��|x�`z5Th���0axe
a�bD�2 l򦫭:S6Q��o;d��
���:um���b�Iw<
-I;�5ց�������o<�e��	f��I(	
Ej�!���ʭ�c�5�S�HE

-�
�-
-����,<��1r��,l�2O�#�����ә4FQ��n�G�V՜t�u�XXyjv��Ĭ5�>�:&�fX�&Ƣi��0o�����]G6���6�"F}Ы��p��=N��	Nd at SZ�<~,A�
��PJ9\��
�w�
�G��$���1.���9xs�e��㑪ϙ)������#9��@u�[�
�������P�
����t{���U�
h�n��*05
2Z�����z��{i3*D���x<J��
S`|�fP=�6�}����hڬ�O�f���s�IR��$��0f���2 ܩlY�p�,ٲ��� �-�.X�.[�#�l()K>��:+�H�6�d�!
���
Ԭ��c�T��و�^M�@}�Ӹz�[�ru�
]yZ�50I�5&��U,��ۼm��\�D�i
2
��pl�_�h}��Xȣ>L��)
�i�<����\��5
�*����:-˴(
-�4�b���B03:P8��8��+t�l�K,�M]�վ�zER����9f�6���G��N�+�5d����Bb�µ>ϋ�<ƈ�
r*�
b+�o���Ԏq�f��]�>H�@DŽ�a(�Iՠ0N�`r���j��v�_0��ˬ�_�����(���`�H@��li2*��H"}�D,&6ĩX;��E��c��a�3�
����Le�fF"��4���~b�a
�()�_"�F�^�	��0mOs��"i��
-�pk%�;��Ʃ�A���2[�%�
�
l�X5K7e��>���:���ۤ���� X%m�^�� �����I��
-O�T�9-�X���(2p�[
���`����*�j����I��R��$��7eu��8�;�aL5y	�1���!�`0,�.�p1�`�W��|�����O�P�Y�
p`
��
~�<�{�Ʒ��L���O�l֦��ܙBORd��,e��]�}��؍
��
��C�
/M�4C؉O![$xO�Y�2�bt/�v�"pXl&f(�G�"
k,F�/'��^��?k{-��:{͂%��v����Ҧ�Ƈ�����x
�w�_��tU�L
�N��C*mD�wy��F&z��(�u�@��@��=1�1��{���o�}24�Uk
x�j"2�{���{`��=8xy�F7���F���
V�1��m:�m�^�M��Áנ�2�����Ū�R�v(�m��}vkwF�S���H�]-�Z~p����~��؂��Lk� �7�P�aT:冩"aD>���DžA!q�v�i\2pz����bw�q����
�*?
9
%x�߹`L; ^%�:� ��%���.��
�_�e
ho�Z�!h����ڨ�
m�'I��}�#��� �Q��mt���� ���	�R|���z�C�b�p�<�v�.������E >��z��eu}���ŋ�&���Ɠe]F՜���� ������!���a5��o��8��o(�qS+
C@ ��ಌq��5��
�
|�$x��
5
T���A f�~�M���mP�q����A������G�xo���C5�$�TЋ�����1	�7
�'f�w��1����jĔ��R|3��|�@iZAbmH�}�4�w�F����Ѐw�5D�](��G�t_&�N�~"os�]<%��!|���D����n�2k
R�H��9�4
z,g`��I� ,,3��-���lw�\���&5��·A�W�X*q
�Q���[9��P��A�����˪���@�n�
�l��9�BM���i��I�*B-�r��5�Q��b0q���� ��9/�
4Y����t�H��gAL��{#{$ !%���� �G��0_� "������� ��޶����ϋ����Z

-endstream
-endobj
-971 0 obj <<
-/Type /Page
-/Contents 972 0 R
-/Resources 970 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 984 0 R
-/Annots [ 944 0 R 945 0 R 962 0 R 963 0 R 964 0 R 965 0 R 966 0 R 967 0 R 968 0 R 969 0 R ]
->> endobj
-944 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [216.63 696.002 433.815 706.906]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
->> endobj
-945 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [328.196 684.669 431.808 694.951]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://arxiv.org/)>>
->> endobj
-962 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.182 652.166 414.678 663.07]
-/Subtype /Link
-/A << /S /GoTo /D (main_BHZ06b) >>
->> endobj
-963 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [216.63 440.958 433.815 451.862]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
->> endobj
-964 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [304.286 429.626 407.897 439.907]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://arxiv.org/)>>
->> endobj
-965 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.831 186.473 224.415 196.819]
-/Subtype /Link
-/A << /S /GoTo /D (main_BRZH02c) >>
->> endobj
-966 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [277.924 186.473 495.109 196.819]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
->> endobj
-967 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [188.779 154.592 405.964 164.938]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
->> endobj
-968 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [451.334 154.592 501.476 164.938]
-/Subtype /Link
-/A << /S /GoTo /D (main_BRZH02b) >>
->> endobj
-969 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-973 0 obj <<
-/D [971 0 R /XYZ 90 757.935 null]
->> endobj
-974 0 obj <<
-/D [971 0 R /XYZ 90 733.028 null]
->> endobj
-961 0 obj <<
-/D [971 0 R /XYZ 90 681.681 null]
->> endobj
-975 0 obj <<
-/D [971 0 R /XYZ 90 637.222 null]
->> endobj
-976 0 obj <<
-/D [971 0 R /XYZ 90 569.476 null]
->> endobj
-977 0 obj <<
-/D [971 0 R /XYZ 90 525.76 null]
->> endobj
-978 0 obj <<
-/D [971 0 R /XYZ 90 481.805 null]
->> endobj
-979 0 obj <<
-/D [971 0 R /XYZ 90 426.637 null]
->> endobj
-980 0 obj <<
-/D [971 0 R /XYZ 90 394.134 null]
->> endobj
-981 0 obj <<
-/D [971 0 R /XYZ 90 338.343 null]
->> endobj
-982 0 obj <<
-/D [971 0 R /XYZ 90 282.552 null]
->> endobj
-545 0 obj <<
-/D [971 0 R /XYZ 90 226.762 null]
->> endobj
-983 0 obj <<
-/D [971 0 R /XYZ 90 183.484 null]
->> endobj
-718 0 obj <<
-/D [971 0 R /XYZ 90 151.603 null]
->> endobj
-970 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-989 0 obj <<
-/Length 3560      
-/Filter /FlateDecode
->>
-stream
-xڝZ[s۶~���[�9�;ɾ9v�ƉS7rN��-����T\�ן],x��$
Ϙ�b�o���&lrq�������I�GF����$b��p_
>�YN�����t�c���6K�Uo�S����?7�ť�d �Yv��z�����"�p;��@��bs��?l����2
-'�k3QB�3�̏�8bny��2|�h��ߧ�A��v3��\���J�f��Sι�Og�h��UEM�8_R��^�������M\�
�\&U�ʩ]��s[��6�tq�X�����T�aʙW�����xos\��y �+�@B͒˩��,�d�櫪�(��L���
-&3��H;����BXv�o���I���
��;�J�^9��Ͷ��݆^����e�/�m�T�~���jp��o6�,��}��v���0��nx
̶�ݽ�������0<��� r� 7ڭ;����H�Pq�f
���
ē�r�u�T �!T���#�����!L���i�08�a97۸$I
!4.⬰0�����dQ���`�vƇt��0�8�˲�kg�� �x��À�I_�h�x�ȋo���5��y���2�c�$�3
-���ʧ��r���ʮ��k�1��g��,(
<�q]�ի=Їs�U ��>Lh�Ϻ��"�3X,x*�7��6��^
͙�ݠ*H&���W��d�y�#��D}�e�$9I�hVvM��_��~�����i�����"ہQ!�p\�C5��X�q�b,������
`�+�2���Em��i���;���i�/�=K����3�~�<V�#�:�'��(�$��N�����Q$H���[Tw���Z��Y�z�pm�/y8��k�H�(�oAxX�#�q�D�%��F�e�
�\�oqvk� �$z�@I�dWι�eZ-��=fL�H#���
%qI�`�@aAQ+�7�E)4�� ��Z���
����93C�9'��e�~��Y�E~�r M�}L�%-��j��Nc�p��O���k뛰��&5�N
o�C���P�&3��-���^
-Ӈ3����
�,2�|���-�"w��2�Ʀ�L�
=�#���Ĩ�(U����Rx�<"�.Jr&)���&:č��N�UQ��zC}fL�K�1@��J�	,���e�h A (y���?�����?K�'�
-�ZҊ�3F�c5k���C��"
�]�� -�����D=Bu�F��������G�:t֯�
8�U
��z[���a���^C4�؇/�!��}���L3��嚻
C$��p�e��^F���3=�D��M�(���gQd� E�k��3�P��1=Z9^B��-��� ����"I�x;���3%	>Jv�A4@YZ��^q��	�C'A�@y,��1�R@\_ U!BK�}�F��F\	�+!B�(فG��OxŸ��=� >��M�x	0��K�����UR��= �YF�>*��@���:X�r��s#��L�d7�@�P���
-{jV�ج�Ƭ�'f�}Ǭ�P��V��o��CaU�����/�Y G��,΍���akX/p�*�^�g����[��':�@��6Bm
9
~>�IZ����:�+{�{�T�"l�պ�����8#�>�={L��|����톸��N� �>���
�,_�e�ב9
�_�f�l�ɽ���nS���O��,�6�
���;@0u,�jQ�[�� a���.m:�5a$K;Xڔ����g�7�x�06�Eқ]A"�<���!u␆Oz�
*��
��*�OQ�ZF��G�B��Ŧ���=�־�N
��|k�nW�_	18Ů�)$ф�|Q�.�s�8O�d4%桴)����F�S�B5�i`�!��Ī���p��1��v�#�'g��!j��$�,o
-YӒ����3�[�0̳׆D�o�/L��=�]z�
F���3M��n�~��2W�0ð�I>�.�䳵�6����'��G��p=��)���SJ�K�ck!#sXu��>k��>������< oO��J ��w]d��di�"۽��F3`@��������CZUMw�L��o�N{q��� kd5�\A�Cr@��X�EV�
�F�ܞA���<oFX����v�yk�*˩��|�e32Fɓ�O�ؚ ��v"�Z���i�C����p����z|����*��-�>دo�b}Lx�Ci���?3Ɉi�
�U�*���
o�D��/��_כ��1s�.�#`���vM��.���с�QZM�o����������p�(��6V8�I�/
-0s�P���h+
�,����u|h�Ecߑz�`t=N#Ѵ?&�ʱ���P��)^9w
����Li����,6qj�Ax,��U�6�����
-�e�n\,��[��8�J&�K�N
��ڝ���b�dX�����0�u��
n�(�jP�]T�:(�e.AF
-���.w����;��>1 �I�����&r�V�`E8�2���v�P
��x�XȰe��9
���y��Q�0~�0pp��*��/�>�\��0	��`0!k�@�С8~�_���
��L��qq�H���3�ƭ@���[9��X�����Kƾ����7�� �.b

�4����q��.�ꡍ�����	����M|�O�U��=�_1�C�d�w�`��sd�|� @���fr at Y �k�y��/�qu��4|f �|��C�C�6D
+����8
e�O��Uy�TK���
8���6���!B�GS��
�P�Vai���hB	�}��&Q�G�Y at u��D~h�^�����TjW��r�e/HF ��'Q����Hu׮!yx
@!�a�R0��{�6���<7�r����`�讦
-}����
) 5m ��PA�GJ���ֺJo�
���qo*�__"�����Ywኩ@��^)
��깡�-$�K�u��Kۗ�=�|P�4~���"%;B��:�]%K��e�v���'
��0��:��� ����D9
-_���)�&t]:�w��1I�6$�+t˺��RW�p�	h~=K��đR�t�
	q����<D$|��_U�
->�-}��GSf">5<�g.�*��P�2n�B�p8S�]Y��B)�E��F�q��,�ݟ)�;��zOm�Ā�絻
SQ��
-P���z϶lm�
�rG7R�h]��M���T��L��1=�;1\K�l��.`<���~-3�)���^>���ƽCX}۫O��A�
-0�� #�����7�D
,������w�tQ&�6F�i^7N��5
-���~R��
>o�Ia�,e�m��&�XT�����s4�q�!�̪�W��x����ܣ8�ő�f7`��eŗ
����A���
,�\�Ȇ�bq{�wKkDV6X�3? .T�ӓ�k;*�>}Ӡ�Q�~J�11~DE�&�_C�"����
ZR��ہr�� ������D��
7��h��2]�����ӻ.��/�ǿ$D�n?�C2��1ة�@��c:۪����kZ
T�M�^�B
��OA��vg>�����r�󵚀�։
W�b>߈�h�$���zy����zu�E���t[�i}��f�O�lo����4t


�e�������g$��9�&�
-endstream
-endobj
-988 0 obj <<
-/Type /Page
-/Contents 989 0 R
-/Resources 987 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 984 0 R
-/Annots [ 985 0 R 986 0 R ]
->> endobj
-985 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [113.91 333.984 458.396 344.266]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.ifor.math.ethz.ch/~fukuda/polyfaq/polyfaq.html)>>
->> endobj
-986 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-990 0 obj <<
-/D [988 0 R /XYZ 90 757.935 null]
->> endobj
-991 0 obj <<
-/D [988 0 R /XYZ 90 733.028 null]
->> endobj
-992 0 obj <<
-/D [988 0 R /XYZ 90 693.73 null]
->> endobj
-737 0 obj <<
-/D [988 0 R /XYZ 90 627.324 null]
->> endobj
-993 0 obj <<
-/D [988 0 R /XYZ 90 581.432 null]
->> endobj
-994 0 obj <<
-/D [988 0 R /XYZ 90 538.313 null]
->> endobj
-995 0 obj <<
-/D [988 0 R /XYZ 90 494.134 null]
->> endobj
-996 0 obj <<
-/D [988 0 R /XYZ 90 461.88 null]
->> endobj
-997 0 obj <<
-/D [988 0 R /XYZ 90 431.937 null]
->> endobj
-546 0 obj <<
-/D [988 0 R /XYZ 90 374.209 null]
->> endobj
-628 0 obj <<
-/D [988 0 R /XYZ 90 330.996 null]
->> endobj
-998 0 obj <<
-/D [988 0 R /XYZ 90 274.582 null]
->> endobj
-999 0 obj <<
-/D [988 0 R /XYZ 90 231.464 null]
->> endobj
-1000 0 obj <<
-/D [988 0 R /XYZ 90 187.628 null]
->> endobj
-1001 0 obj <<
-/D [988 0 R /XYZ 90 155.15 null]
->> endobj
-987 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1008 0 obj <<
-/Length 3710      
-/Filter /FlateDecode
->>
-stream
-xڵZ�r�H��+xk0ƄjAa�M�dK��ImGG� X�B�e��Ofe@Jj;fN�%Q�%���,��ÄM>
��?8|��I�F��'�_'�>w�����/��ܛ�8c�y�γ�|���rʕ���}�q�q�2�hF\��zpz��C#�p3�
-�@�I���7�,��ㄹ2
-'OF*�xB�3��
������)�˾��������o��������^�+�j'z3�;�t&�Ё��]M���"箉�4�޸��)w6�����JϤ,
��.���YU�JWM���`�1R�:��ʊ|a�i���.za�8��*N��vB����]�Cxr7Rjg-��d*��4w�tW���
6G/Ҧ�� �<|��
q�oOs�
�9�l�~���C9e�a��&��4KM���%���4���ܹ�䫲N�9�cpV����������od�\�^H_�^
7�K&p�f6�+��+X�|��f]Me�hz�l��$�NZP�q���0{��%�9��9sO���{s�\:���d�™����S����������
E����6���('�}F���,~xc�!�a�pށDZ�#kl�� ރ6�Z�Y�ыV$#W�]�5j'�
�7�r��ɲv�l��\uzu�E*[���4�.qݔ9�}[�x�Yh�ՙ��z�8F����$�	۪�
cK�
-��
-Y'HFR��
��N��>���D��ar<
-[}�5>T���|������/��H:�K��5
��O����$R����--����
-�:�T(0I\$�GN�j� J�ś��f��p9J.�$�Fs�P颜�ة4	�?�In���b�*��%yD��x��I�+���s����؂���X4�֛"YVeQ�kj �����[�c���r]%�z�c�7�E��F�d;!�R�+<9��Ԁ?�Nk��$��
B�sQ
1�s�
���-#�Ŧ����d���<7� ļ>�a�(�o�X�#���Xn!�� S�v�
���.֞��X�ЭBZ�Ţ���ێӬ\�x�ӺSb��p��<����nĕUs�U�H����O�Ő#��У��&g��bA��ά�Y��
~���l;�
-�7Z�A�)j˪ҍEd����Г"5 �D�� k^���1!w�Z����-�]Im�
-V>��Q���cF����i$Z����_���6_�\��
�)C�����0���W�� ���� �
��?��u�a6u��*��{40��T�7�
�
ԣ(��^��
��v
,�Β,���p�9y�J�3�{?��[�Q��8_� ��e�^&�+xǧ.Q�C圭uV����y�f��'mo�l��2������x@������p�ԛX<��}�r�5�����c��J&����B�I���+��><N�=���>�5st�,�#㖇�oVe�`t�SF�|pe�]�
]��2`=N
-����;;,a3|�3z����6���\ŋ�.
�lȁ�ٯx�W��C�T2
Q�7xZ><�]��t5T�=d���甃�vg�V�2\���>B�Cb�.��r*Az�D�h��k@?�c|�qѡtN
l���?.��쳹�e���
��=�8�T����ˀ`u�YZ��.��	��	+8�>�2]Z�z�W `�#�^�������">�6�#n��կU�S�Fdq(����DH�
y/k���Ot��]� ��m�o3O�1N�.u_�	�#<��+|a�%��pM at P '�rE�����PAnQd(օ�U��1�-td)�i��΄p}���v��gi�;㕋}�4��W�d���o��l�8�����-t��,�k+r�
X�>Jj��p���
��}�_;�0����<�K�� O��,
m
"�
پ�iPQՏ�^+ˊ��7o�o-*���1���s2oLm ���!���q��y x
�����Y���=ʁ<T�8��. �
C����+�ts��))��Q��� ��!zz� =Q$`i��co ~��&/���(���;��xh��`���G
��x��7��u\�XA0�G#�D�O��8�%M6
�C'^Ad�#�)s��A���޹���<^�@k�
�fR��,\�2
��2
��,��e�	�;��
��#�`�n�{�l�>4��^`� �B2-.�Z�9N�Oa������	�"�����N�.kf�)6��+�N5�]�5Cf*$�R`;��|�=ؚ�w�P��_�l� ��Wqݳ���)�]�#�`h�J�b`M�:S��m�����+��@����Yx��q6kR��3B�X'�Ek��be�s��-�އ���q���40�*7N3I�Y��Q�C!�O�	?�I���9|�v���\3
��Z�
5�d��!���{���S
P5�%��¹l�x
6ң@�#��u
���p`��
�3z)�@3��Ԅ�W�9K� 6�|)H���
���hL�a;��
-t-�m�
N+܉��8Z�-��$��O����L�J��B�6H&�8EE��<�IJ
k6�7Y�����Ki��
E?C$��/�#�0����-�8?==m�/]�2����%@�X��W��V�c���?3�r�(����u�d<�8��,t��	��
�mF�
�F$�a�6�ǒX�����j�����^���tl2�8w! Nl�
Oh���e��	e.#7OF�
G,����b��p���ɶܔ�c
͞���
k�R����4�++7��*�qҖ.�0UoF1�iVo���ܴJ���Z
������4���=��B?�pr�ɳ�\���z��K�%X��c庺��Ψਸ਼�l��R�ǘ܊�U-h��9WF������o�&{Bw�:�0��ɳ�8�{�����W���#�)�P!�
یP����+R�脗e
�������̑
�]Y�N��. �P
_����}20�$]�&�-8a�l'n��b��� ]�Po�	
+�s��|K����f `X
-D��l�>���Ҽ+5�ֲz����ڸ��d�>�26`�8�0��ܥ ��+
S��6����a�ʽ���hvmn'��"�6߂7-�JK��{��Vȍv�
]p	�m�Ȱ^��7]~�.��?2͖}\�{g��R��ˣ�����}�׽v�h���b�¹X#M7�Y#0�S�6S��>��Mm�ڶ�l
��S�A� =ۄT>���i�t��Ѕ�_%Lfz�,���~���B*��#���u��'
���v���
d�
t:~��	�x�V൹��\��3D0y ^�~	|0�|�3C�nͷ�rnӉM��G��&��}8|��ӳ�Y���+��#�z
�
���z�^�
��a�#%(���,�q�a��ʌ��<�R"E��A�d���t�M�t��65�e�m�^�F 聡S�7�����У
�lb���U�,m@��-cʡ1K�tq��2�w��063|�V� #�
-�ּx0 �#�ԟ"�ڙȭ.Q0�)���(�	���0}t�%C��y
��H�'.�H��~C��I"�
�*m����
��
!�.���s�!3k�/��\w��^����%��?�YV3���yJS
�d���¼�����+
��c�1���Rʳ���f]�>yl�m����-5ޤ�U{�k�FX�Pv�& �q��O1���ˬu;_�'Y��=֚��HW��6��Uv����Q�궮�4s��m
oe)����/L�.R
-endstream
-endobj
-1007 0 obj <<
-/Type /Page
-/Contents 1008 0 R
-/Resources 1006 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 984 0 R
-/Annots [ 1002 0 R 1005 0 R ]
->> endobj
-1002 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [113.91 238.343 450.648 248.241]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.irisa.fr/prive/Bertrand.Jeannet/newpolka.html)>>
->> endobj
-1005 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1009 0 obj <<
-/D [1007 0 R /XYZ 90 757.935 null]
->> endobj
-1010 0 obj <<
-/D [1007 0 R /XYZ 90 733.028 null]
->> endobj
-684 0 obj <<
-/D [1007 0 R /XYZ 90 683.115 null]
->> endobj
-1011 0 obj <<
-/D [1007 0 R /XYZ 90 637.94 null]
->> endobj
-1012 0 obj <<
-/D [1007 0 R /XYZ 90 593.387 null]
->> endobj
-1013 0 obj <<
-/D [1007 0 R /XYZ 90 549.551 null]
->> endobj
-1014 0 obj <<
-/D [1007 0 R /XYZ 90 507.653 null]
->> endobj
-1015 0 obj <<
-/D [1007 0 R /XYZ 90 473.835 null]
->> endobj
-663 0 obj <<
-/D [1007 0 R /XYZ 90 441.955 null]
->> endobj
-1016 0 obj <<
-/D [1007 0 R /XYZ 90 412.012 null]
->> endobj
-664 0 obj <<
-/D [1007 0 R /XYZ 90 354.283 null]
->> endobj
-1017 0 obj <<
-/D [1007 0 R /XYZ 90 322.403 null]
->> endobj
-1018 0 obj <<
-/D [1007 0 R /XYZ 90 278.567 null]
->> endobj
-1019 0 obj <<
-/D [1007 0 R /XYZ 90 235.354 null]
->> endobj
-1020 0 obj <<
-/D [1007 0 R /XYZ 90 178.941 null]
->> endobj
-1021 0 obj <<
-/D [1007 0 R /XYZ 90 147.06 null]
->> endobj
-1022 0 obj <<
-/D [1007 0 R /XYZ 90 115.299 null]
->> endobj
-1006 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1029 0 obj <<
-/Length 3583      
-/Filter /FlateDecode
->>
-stream
-xڭZ�r�H��+x3aB����M�,���5�z
1v �$�l,v��~2+ @Br����-_��̢������ѫ����P�?	U8���%b��7J�nV�Ϟ�e0_H!��*�ͳ�J��4�������@j_�Fs�u��G�o��<�P(f�
i"?�f��
}�]�VP�v&|�ijo��f(
�|v}��#���.S�̡�y?�/m���&�z
�1�_ʤ[��R%�?_���r]�jn
���t
����^�c�����ڎ������2_DFy'4O��Vi�H�����&-�m��MV�c��i�nlc��/;�ފKaε]U)�:�4
�׹2^���mni���S���u�wx�f�Tk�k8���~b�(�M����8[nk�]�M�ַ��]uL�UC1� ��������69��1n��9�I!�p'���
-�CZ-ט��L��C�;��<�lMYS����MI�[� �P&�c���B#�eY�
ZFYPIy�+�s���Wo�f�]��O�@xY��1�`Loo#/T�'nP�z
��}J�g���� ʸ�
�0|�Ŋ�ϸ�
y�+��'�4h� uܭ�
e�ᚵ�x����VM�����$��+�E�xӜ{�.�
-
�|�T���`Y�Qk�}i�֛�Ǹ��
2�»�����P?/a`�����|F��#1�,L�p
 ,z^��h�
H�!��CZ'�y>Rѽ�q[(
���W�}��HG
��wRU�#Ֆ[[��1���utI��m���r�P.�~�3����yk�*�eA���8a_(�`,��bB�R���w�"YZ����Zj��  J�͚'s-����G	���
�ZG
�
��(
-��n�T�,7۶��J_��C��{G0�R!|
W|r8��
Ƥ m���`��,)g�����d
�2T��¹�9�ں�	r at P�U �@5q��ult����:_+�o�\ټ���w�Ԟ�@����m�I�8k��4��,��
�&�Z>�n���j�.Dk=%b�q�>���mDm��W/�n�
,��ֲ��h)�e�M.��d�A
��<�j��\v^���N�vi7��wI��y���}�f�����
���^J��`	@Gأ�
GXXX��o�Q^�n�חN��
gP�ܤYA5�i���K.Zew8hj��l
n�X���1��+���:K
D��G�v���[׉^Fn+�=��28V
:	�єU�r�@�&y�mp0Gq�ul�	�Mw��ٖu�n�aA߉k��J�{�6)�>��a�
��q9O@��>�nyy��*!$�1S�վ
-Ԉ�$whi�� �B�o4�"6J�U����k�/��e�z;aCѩ�KZ�]/3G����`p��4^]G��Uׄ⊓�Z�5g�l�I��S��Z��o����m���`�H	�E�޳���LV� s�Cպ}^�"_+5T-
��j�A\b��\6�C
dvڤC���:�Oܓ��w4u�\
��k�	_g�k�*1�	mIJz j������W@��3�܊�p�W�H���{]�g��8P:�z��I�� ��q뀡�� �H��i��~��f�Eo,pqA�$��K	&�Ѐ)���kZ_�V�Jx�1|J�p��޲���nҏvt,
��݅�
-�z���
�BA5�J1?�i4�w4
9V��;��Yy�� �����	�
��r�
�م~
��{�]�[{���o`#>C������I��#t ��
-dyh23����
��فP�o���z�7��C=��`�#�D�����p/p�`�#[c@u

-Ɍ���B�
0,��ut���R+�����lř�-H��S��
��)egg��� �u�2��Fbd�
	mʔq�lCd���v
d
B�!t��$�m�<V��&�pW[U X^��4��#���7�
-��ɀG�e
-��e�����}��m�������	P��uc7�#�T�:�mq�9�T 5*	�^��akS�"/m̆;#'���q�����R�~,��
�p�\8�J�g�R.0൙�J�
�&3^�N�0��N�
쭎�
-�j�I^��hp
���UZ-m�ִ�Ӵ'm������������>��o���.̞��:88-��3�҉�O n�
<-�����:b��_�q�s��jϹ�x
y�#�pD�
s�mu@���K�
-����<�O���o0�����k���e�����^��4���\�����F7k at z]v})��W\���߬�4�]�.$kWe�b��be�e�m9h	�۬�Ugi�@�� ��
�M���{�G߮�-
'Mo�J���8�M���s����.���P�x/�����₶0YP /1v�ig>��M���~A�I?���/.&�O�F�DZs��hO$��=:2��*�/�O
-Щ����"����1ʰ�
-�}W�uh�wW?T��4
-7F[)�7%�[�!�8�Zgβ�
Y�<R��%
��lp�>�ؠy
cء�M�
-�B~=�����{�	a��CZd�:�,�+dxA�y�ЮR�up���9|��eH�
9���f
Pw�g�A����b�́�X1�� �m+|��tk �u�RR�A��g
UEM�׺-pߋ.��=#�W|M!1w�
ݕ��۹��WZL�V?����@����u��E���%&�#[#�8>����ヲ��%��&�N���"�'([Z.9�3�❰\WeQnK�v��H�	ņ��#�"�A(�tI�D��
-�v~��Y��
-(]ʱfl����G%`F���,8/���nA�lѰP�9�����-wpZD �� >�,��A����#�
-�Rc/���#���5׆�]�=|I�`?�P 
K�Y�3�j�D	�Ҳ�;
(�q�ut��d��?�C�M�A0���HB.f*ۖUCS���r�
<�x�i��L�,���'���B
-��c!�AF�}��N�~��q�yM�t��f��iJ���ۭŐ�6�;w�j��ˬ�����qbM�.��[	
w��t�Y���'��u N�z
-�la�~�'
�t(�0H!vA,���:�3�h,d)J%p�_�U��
�1w�sC���2ȇ�O�_D��+�?���]�
-
� v�t�7��eU�(Z��d���yu�	p�yx��E��>�e�p��vf8n�:P�
-��R��
�=rq�f�
^
g���Y���K
 
���p��B<P���&�Dg\y��N9Rh9P�
- �j��NbV�x��I,��SV��*
{Wl�dMC�1PL�G{n&Y�F�O�p4~�
<J#x�r�:���Ԟ�bхټ�)x�
���1�-{�v������پ
�L|��aq%�
0*Lo�_3	^:��3�:�,ˇ4O��lgg�UV׶�IN���f�卉�.��9�L����_b���Kp�&f at FH1�� �F��Zt�?�弸��o���E��]�!mA��s�-
-;�-�(����V�	Xs��Y��X��v�c�;�I��A�`�xv�7��eu�w���4�m���s��~pﳠ���ӎ.Nc���|ڭW����B�<}���_�~[d��Ϛc�
&��4E~�Bp��m��vQ��	88��׳��
-endstream
-endobj
-1028 0 obj <<
-/Type /Page
-/Contents 1029 0 R
-/Resources 1027 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 984 0 R
-/Annots [ 1003 0 R 1004 0 R 1023 0 R 1024 0 R 1026 0 R ]
->> endobj
-1003 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [113.91 708.58 374.71 718.861]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://icps.u-strasbg.fr/~loechner/polylib/)>>
->> endobj
-1004 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.917 696.56 217.053 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (main_Wil93) >>
->> endobj
-1023 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 158.577 146.887 168.923]
-/Subtype /Link
-/A << /S /GoTo /D (main_NO80) >>
->> endobj
-1024 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.426 126.139 411.403 137.043]
-/Subtype /Link
-/A << /S /GoTo /D (main_NO77) >>
->> endobj
-1026 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1030 0 obj <<
-/D [1028 0 R /XYZ 90 757.935 null]
->> endobj
-1031 0 obj <<
-/D [1028 0 R /XYZ 90 733.028 null]
->> endobj
-1032 0 obj <<
-/D [1028 0 R /XYZ 90 693.571 null]
->> endobj
-1033 0 obj <<
-/D [1028 0 R /XYZ 90 661.252 null]
->> endobj
-1034 0 obj <<
-/D [1028 0 R /XYZ 90 617.297 null]
->> endobj
-1035 0 obj <<
-/D [1028 0 R /XYZ 90 585.417 null]
->> endobj
-1036 0 obj <<
-/D [1028 0 R /XYZ 90 529.626 null]
->> endobj
-1037 0 obj <<
-/D [1028 0 R /XYZ 90 485.79 null]
->> endobj
-1038 0 obj <<
-/D [1028 0 R /XYZ 90 441.955 null]
->> endobj
-1039 0 obj <<
-/D [1028 0 R /XYZ 90 386.164 null]
->> endobj
-1040 0 obj <<
-/D [1028 0 R /XYZ 90 355.001 null]
->> endobj
-1041 0 obj <<
-/D [1028 0 R /XYZ 90 298.493 null]
->> endobj
-1042 0 obj <<
-/D [1028 0 R /XYZ 90 266.732 null]
->> endobj
-1043 0 obj <<
-/D [1028 0 R /XYZ 90 210.821 null]
->> endobj
-1044 0 obj <<
-/D [1028 0 R /XYZ 90 155.588 null]
->> endobj
-1045 0 obj <<
-/D [1028 0 R /XYZ 90 123.15 null]
->> endobj
-1027 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1051 0 obj <<
-/Length 3573      
-/Filter /FlateDecode
->>
-stream
-xڵZYw۶~����-uNE ׼9^'��Zns�M�@K���"U�����~��Ų����"��
�}3P0�
�����7�g�d~�xps7ȂA
?�bp3
|��/��HA�5���fu��E�=
��0���`6�]�D=8�9��@�
��2J�DE�����o�`
-��A�,
��^�A(�b0>�� p�
�ݦ��q��~�����ٵ�A�gQ�1"��Q��w�p$q�
[
-�J/����5��r��
��ȕ_�i�UE�����i�óDn�%B�G"�;/[=
o6��h��jqkʼ�j���iٚ�����*y����u)��ik��ְ�)���Դp�L�.'�rk�D�'�����]�X�F7a����Lj�}ۯ˼���3q�x���V��~��n��-��.�U���U����ù-^�d�gA�=�(�c��:O�g9�2?��[�e(dFw��Ļv%&i[�c\�
���XTq�Λ���_}��+��V'�w�'K0��<��n�K�p6�l݄�r���j��*��K]2�D��Q�ͭIn֥)g�\,k��
- at _�
�ع�]�|	���"��gN?��

��._�>��)t|�e����ؖ$�a�8{^OU��Y�q��
-����Rz�I��e>�е��V���������fV���^�����Y�Ǝb��T�W�^G�

����ܒV�qx��a��J%`�µ��&f8h �y{R������?�`u'v'��42��OO
5����F�~�����g�ˠ�
-� �ե(�~ZA��T{cG��������m[�$
�7�$�_���VU�}*���K�\85I9Q�7ZV��\O����$8�d^�v
-7�^Vu��+a�l�zE bwS����#W?�˕3l?�f({4��M��ԕou^�r��uY�3gu�tV�Cϖ��lI^�n�E��e
Qw�B4�dt��b;vlQAf�B�m�e�-<Ǫ��
e��x�42Rz�4��D:_�Xo�£H�O
{��� �.����0�n��B^�~�,{�ϛ�d���yɯAH��7"#��k{��$���e�PEޗ x����
M���!J?q��W	ډbU�J�=u{�`td��čp~y�-C�.u������#]�5$0�Pxh^�s@�[��-�j�0���Ld��x
��c�&�1��	�jv�����S��{B������
��=��&�ݮ Ȕ$!����(�Ү������ ےp��"x�چ��ޫe��sp=�kg�N�΂�6/�o�i�en5?

������0
b{��.�A�V��f���]k8�
���T�bԊ�xq?"���*
r��8�w���8��IHoJ����Ɗ�
S�Њ
% �
2K+ס�}U�;��⃸w�U��r��d,�0�ИkGC�
_r�����
H��[
T��f^-�L%�N[�|
n|
1o��ϼXu�1u��
�0��6o�[��/7\��xo����QmHs(	�,��j��-���X
���DW�v�=��T���o��*���^��;V�P
�ɱ7ju����L�<zL�0�
�)-��pf��!ؐ�0��Nп��4�p�upU��25\�l��� 
�E
����G �6?�0O�1[�9�N��5�y�
K����8�eMQ7̖�ˋ|Uk���kV���0�v���^t���>o�†��p
�)�
��ug���`�x2ϲ��w6O��q�������<
-�p
E�P�����-��0��k�;��D� �
B��[�؍��:}`Χ�bp�m
����Y�B�;���70ϲ��u^��y��@,�-�X
�z�J�o���"��=1S��V8�Q
�?V��sPn)\�!E��U�
T�����LW��'1�S
-���ʠ�$7TZoA�t>����A���O�{
.B
.��$��Y�����I|o�����,�
�*�ֵ}�=ڠ:�
I�`\���8�羆Qud�&H�[+`3�Hh�m��!�nBkD�`�{��6�?!ʕq�;���`g�`
�&S��老��J�*�3&�I�If?4���?{@����@*"$7I�]���t��XV�Y-�9�6j��#�'1����j�c�+?>L�*��
=iW�P%^����
vU�Vc0'Y�H��X�� x�O�x��ᮝ�t�����]�DȤb��P[U�t��rd���m�f�׉.y��}��$�}ǔ�"!"
�qu]䳎�n3[�-z�Wy��d�y
��4��ĉMc`�@Ҳ���6�t
-�K]�6�����(�!�'S�'�dG�lA
PF�ֹ�������T��l�.
-�Ƃ5j�L$-�+\wU~�E�҉n��fi�
F	�n����.�H���.T#)
-���	��b?�v�0k&Ո
��H�j��
|N�����x����|�[^*���%W\�Vz�]'��w�u��7`yrb��Y�2Y��m���ll�˥Ml�-�c��dD:�%�$Utۧ�U�v���z�`��/'�� &B�A��[�|�#������L<E)�֞J���"�%P�OOO�H�R�-$����N�ɲX�NYry1�z@�O}��y5m�\no[�r��лD�i�tW�L<�F'@ ���$S�����?��r2:$b{�2�(۔K܅3y4Ve��fP�2�D�uFΨ� ������^7�:�4�b�_<��$��p{
�,h
k+�D��E�ص1�l�φ6�7��~E�\;�M�|���[/_�b\yF�gJCOR�}b�'$��}����)7�8��y�d�l��?�MN��_���u�{	���bF�H)�Yu���	�Z�t;,��'# �"B���}>��~���A�S�h��y����`b
CY3�zGSD�U9�;�MB�T��y��ݢ��YC�q���
꼜�n�o+�8���
&;�Ѿ��z������\֞B>J��O
��
=P�D�SҘ���>U�
�
J����=}:��lK�6ߪxYcx���:�{]����
#&�|>0q�)y#� �*�E
��rF�u�0oMѥ
����'ƍ���Go���k�;��T��5
�
-�Mz�c��m�
B� �[Y f��o>U�]�3��,.�i�j����.4���El�5`M��ܒf�Z6�v���,�:Ɏ/��~�O�1�w���3�FLa��$�~;+$�=�@z�+�Z��d�4���w$��_|H�Ӹ]M
��Aw:_���$�BHJ��
t����mf��O�Ĭ3��`v��ϣ]٬��K�a��O�VD��
-��vʠ
�����
���u�u;��cS7NvP�d�UZ#R�/�:����XGJŏ�R�<#!~frankV)
�uZq�@��z�]-��S�&�DE^
-6��.�
`e�v�z�j�+X��F��5W��ٲ��7E���qUs��������[��$��烂�q�1J�G���b�ݝ��gri����u��,�ov㑟�Y�_R�Gk
����t�͚O/H*�>�����i�?[1� ��e��E
��,�����2
-�
�N��}n��[m/<��
)��f��BIB�=�;����wj9��
�O�m��>��D���?���m�|sxx�OU�e��p�,k��,�5�f���U�/S�QDӿqo���{)�F
-endstream
-endobj
-1050 0 obj <<
-/Type /Page
-/Contents 1051 0 R
-/Resources 1049 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 984 0 R
-/Annots [ 1025 0 R 1046 0 R 1047 0 R 1048 0 R ]
->> endobj
-1025 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.77 677.099 290.746 688.003]
-/Subtype /Link
-/A << /S /GoTo /D (main_NO77) >>
->> endobj
-1046 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.082 173.354 309.535 184.258]
-/Subtype /Link
-/A << /S /GoTo /D (main_Wey50) >>
->> endobj
-1047 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.932 130.541 405.385 141.445]
-/Subtype /Link
-/A << /S /GoTo /D (main_Wey35) >>
->> endobj
-1048 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1052 0 obj <<
-/D [1050 0 R /XYZ 90 757.935 null]
->> endobj
-547 0 obj <<
-/D [1050 0 R /XYZ 90 733.028 null]
->> endobj
-1053 0 obj <<
-/D [1050 0 R /XYZ 90 705.479 null]
->> endobj
-1054 0 obj <<
-/D [1050 0 R /XYZ 90 674.621 null]
->> endobj
-1055 0 obj <<
-/D [1050 0 R /XYZ 90 644.481 null]
->> endobj
-1056 0 obj <<
-/D [1050 0 R /XYZ 90 612.905 null]
->> endobj
-1057 0 obj <<
-/D [1050 0 R /XYZ 90 582.167 null]
->> endobj
-1058 0 obj <<
-/D [1050 0 R /XYZ 90 551.308 null]
->> endobj
-1059 0 obj <<
-/D [1050 0 R /XYZ 90 497.138 null]
->> endobj
-771 0 obj <<
-/D [1050 0 R /XYZ 90 465.562 null]
->> endobj
-1060 0 obj <<
-/D [1050 0 R /XYZ 90 434.704 null]
->> endobj
-1061 0 obj <<
-/D [1050 0 R /XYZ 90 404.22 null]
->> endobj
-1062 0 obj <<
-/D [1050 0 R /XYZ 90 351.135 null]
->> endobj
-1063 0 obj <<
-/D [1050 0 R /XYZ 90 318.339 null]
->> endobj
-1064 0 obj <<
-/D [1050 0 R /XYZ 90 263.451 null]
->> endobj
-1065 0 obj <<
-/D [1050 0 R /XYZ 90 233.31 null]
->> endobj
-1066 0 obj <<
-/D [1050 0 R /XYZ 90 202.452 null]
->> endobj
-1067 0 obj <<
-/D [1050 0 R /XYZ 90 170.877 null]
->> endobj
-548 0 obj <<
-/D [1050 0 R /XYZ 90 128.064 null]
->> endobj
-1049 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1072 0 obj <<
-/Length 2907      
-/Filter /FlateDecode
->>
-stream
-xڕْ��}�BoKU�rx����n��$��q\)�(QK�2+�����p��E@��w���i��><|����>	w��'A�{>�ro�&��������A�9���
T����ɧ����u��A�$
��	��/�?<|����wy;�pǩ���<?����� ���s�<�]i�y!|���>x+:��
�$0���%�%���?B)���>���vo���CA�������ݵ|4|�o�����U�1"?u�@p|�]����z}�G��ŋ�o��_����^	���q�⹢���;��V��߷�KlF�"�����Ȱx���\/�`��������8
ݮ?=	���+o�Q~X���
)R��#䱣�&�E�g=��b���N𦢕�Jc���s�Q0	������V�vGA\��{��+��jG�Q襎`�=��$�|
���n
���N�U4M�b�*��5�v�5a��Y��>�{?sTq>4��h�\�\�?n`0��#m�9��N67�(�7˃Ǯ���B�X$0��Zɮ����*b;|�P�
�;}��JBs��3��ny�"  L 

I�\��
uI
�{��0G+5�S��<�
~���ߠG��o
�u���
�����F������O��#��O�
�ʜon��kǾP1� 4�c=��abE�Y�~¢�nG�VJ(!��{�����,/�����,��Ґ_�-^�����'�Ł!�
�����N}q��A~�e�WM|�!@zu.�AwdO���H��.C�
��4 Q����������^�|F�G����7
c��W-
-

��pb��c+<�񡟋
 YGߩ����P
�p��\��G%������g|��M��Y�U
JL_|��U��|�ӈ{�x
¶C���x�B�%Rk��&z	#Q���l�6��O�B�)�a��f\T�A�}�U�,y��3ߞcE�=�:���h��	09�Q �/=�ߛ��?��ti���b������+ndᴢ���
%����z]�<��aP��y����2!G�~mq�
0`#agd���B�`�N����w*�D�f��q4	̗��ઇS"�z���.w�Tð}. P�R�eWɈnG)"
NJ�i�}q?=��ۈ�t���zF�/'����l0`2��^�U�5ƢŎ ���c���c÷�V&a��(n/,�2��V�0��i�M҂��N��U9��X5xsLw�2�X ��݌h"�V�H[�B�j��'�Q�؝����
-�h&�\+h��b��qF ��1���#N$��?�2�p�st�W�0`����R�~,P��D
����=��!T�k�����q⸓����
��� s�|�}��G�߱/I��o㪈���d/��b�ql�9=R8�Oq�4D���u�
-K+O7j�lQdR� ͲfH� 1�G~ڵVa	�6��[�X�\����9O����R
�� ��״( ��R�-',��i�
�Yv	/��-g�h�r�Ƥ<_�`�-d��e�塾�}3��S� A���ءؗ`,�Q��|��|{ ��}�Tr���2�R�=��8.뗄z<R/
���
-���\0+���;?XӒz��H7���KMwa��U����
�A"y<@>|�ȃ�9�D�#�����U���Ἄq
��
︂�P�K� ��ځ[�q��.�IRƙ�u*�j5#��`nL�U�&m�ҙsĻ���
-"�v��!a����K���0�U�w�-�A�Lk��H�d��{�;�&JfiUF�Hԟ���R�l�4�
�D���҅�Y�SB2�S�
P�l�F���5L�R)t jE�",,���S�a=�0
��R�.�7���Б��K�b�
�������+������ ��z�~�tOnس���I*_</P�vU0Ž���E�wd����q���Dga� �C��G��FtζsF�ƅb�@=е��S��Z��r�L��� C������
��<4��9����^F.�X6�CIxr��rs��0ry
8��N?�<��lXIvp at 5=
-ز�k�
-]�W����
�m:��|!B��ӑ��#�7�+���I�x��m�눅9v����۲;_ �c�M�Ͼ5�CP��k�M���N����-�H
_[D�YQ��A���v���
T�<�!��<��+4y
�
-V�ANwe9q(
-�:X^
��x�q�T���M�)P���]MECyGh�a�������D��M���
	 �Wqi�c�
�32]?Dآ�^��Dմ�P�M����4ZZF�3�x�B��
�
Z- ���\Ę!�j�x��>i>�֊��O7�p��4�{��0[�#��6'�� 6ڎZ4VY���j�
�ȐO��)�\��w�-���1�����U(p����\�M
���
$w2\˾�4r_�&I�{\�0��~dP![�9n��]��WiH�o#�{�[b/�a8����as-6EO�9�
k�%p
�
�eג�:�PG
������1҈
�y���dvj�#
���"6

-����5���c8S=S�
�8থ'����i�8i���Yo/S��1t�"{Ի,�����T�z��qX&�:9r�%l�Ȧͧ���O�+>*un���RS���]i��} ��`�,� yz��o�~��'��sل��\�$%����͢��Z�EO
-���J�d��N�WJ��
-�׀��a���gK}��Ls���������-�i�4���5�M�G�
���L��w+շ���d�������
���_��_�I��~����L�8�p���0�?��܍�hłO(��?�_q���V��/L�t�Q!h�#8�7{�<��A�&���>r�s}ϥ�L2�Ϝ�����L���n��?|�׫[���K���	�d���?rS��8�]�_C��L2y���W���
-endstream
-endobj
-1071 0 obj <<
-/Type /Page
-/Contents 1072 0 R
-/Resources 1070 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 984 0 R
-/Annots [ 1068 0 R 1069 0 R ]
->> endobj
-1068 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [297.062 674.352 388.718 685.256]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://fsf.org/)>>
->> endobj
-1069 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1073 0 obj <<
-/D [1071 0 R /XYZ 90 757.935 null]
->> endobj
-66 0 obj <<
-/D [1071 0 R /XYZ 90 733.028 null]
->> endobj
-1074 0 obj <<
-/D [1071 0 R /XYZ 90 712.582 null]
->> endobj
-379 0 obj <<
-/D [1071 0 R /XYZ 90 712.582 null]
->> endobj
-1075 0 obj <<
-/D [1071 0 R /XYZ 90 606.87 null]
->> endobj
-1070 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1079 0 obj <<
-/Length 3186      
-/Filter /FlateDecode
->>
-stream
-xڕɖ���_�[��uk��"��d�vƙ�I�O
 j���\,+_�� .�O.P 
-�^��y�x�n��x���C�Iw�!8l
O������1���
n������g��J����Oñ0�ߛLW��A��޻���Ǜ�
o~���,o��(��a��ʛ_~�69��x�0M6ZUn�Am�y��������wi�� �y��	}��?
����r�ͧ�o�=�����Y�����]�Oy����}o�V���2���n��"���>A�x6�� �g@�O��ɾ���[?�N`@�M}�ug��:щ�����G����-\�ښ�s�T��`����^�-��:fӵ��yƑ�e�B�/��?�^5Mq�%}͠�o�l�\��ݰ� Һ}��`���n�΂��M�.MVW���u��E��{��{��7�����
��Om�ԪRXNX��
-hU������c!�,�<*��s�2T9^�P�@�1�>���w
-o8�*h�-�^���Vw��ǗX�6^�ZxU��Y�ENU9wp�ՙi���ɂR]�s96�� ��a�DC��u��l�n#@l��F�X���m�a��.�ܜ�r,�7�焑�v{�k���S[��#�R�_��^P�t��6��)R&�J���\S͈:��ά� h��iM�4��DcƝ_��mi:T�;�q�j$	�
bMb!:�zf��'J���4��*�y��m��� �>Z4 5C�;L�+ˆ��+�h�L�e�:;5�J�3�mE��Ҫ-�A��>�6��
<��F��:�U�{="�j��\Ţ��' R��a��졚�]�&�p�ٽx�W�'
�*M[7�Ԯ)
�
�#qd�8���!�V

'�
-浦g�s4���&�A�3��E�"�� ��E�j�Mr��Ӄ[XQ|��߃�G�ZC��c����ɮ2�	UP�`�x��[�D�c�q�\E	$^
5�If��t#+xL�
�Ht�
�
���e3�z�+�a�e�'��0��mӲ���'�
�{�t2E��TY1�
�n��w:�{w}k�����y�jY�&�eRQ�3:
6�w��VlI|��-L!.r�8Ao(F�[8$#��ե�����9�.���Իi%�E��uȋ�
T�{p�"�&y�oj3h5ɋ�� ��0�9��۸fu��#�lD���?
�҉
y�*m{�Eh�z����ݚj} �g�d������������4�ubN�J�����*����dw�8֡�\0�p��{�f�(�uc�w���'�	��]ž=�IЕ�PW<�;���ļn���!��e��n���u��
� @"��Y��)��T񄒞���Q����ݼ�HmME��(v��`UA1\���C��Z��Ah	 0�����G�evDdO'��0����W &F����#�
����Yh��g��c�V<�鸭ꉳS-�Xe0UL�؜�>��Y��s��m���z�gb���$ei���H��:g�I
rD`�}و1�ʭ_ʽ�
=\0�-���	I7 ()��e�p�\�f\dum�E;h�
-Ln ��	p���x$�w'K��w�i j 6Ŵ�W*�VÂ��.�
*e��\���C��SǠlxW
w3�S�?�.�.�y."Q���f�.��Z�����B��ʗ<�
(���7u�����Q>��h�:���8��b�`D�v��,���t�-�4�	sx�J��+��I."���A�=����s>���ąk�\h
���99���=����/��8%�
z�1hΐwSjb�
-���.�
@bk���	�k�NP>z-C�`݌���O�@p�
-n $�� 	����~ͬ B�-D�c�;�ˁ ��,���a��T'=z�p?������� X0B�i����l(��N{J �zԓ�DU�7�3�
-#g]����spi�*k��z
��q�7+.�
�^��[�V+K��)g�׎��ߛc�0��u�D*	s
�y�!A3��	����B��- ϒ�;�%6BN]Y�z�(�*�	�8`�\Z�ȵS�9�7&O
�C`���@���@�ʐ�� �ʞ�gD1��0�A�F

 o ެ�8q{��J*Ó���
-!�+�PԈ �� Ȟ%���_��� �aL��K
%�������麢�+�lZ�yv ʼn��֡�3{
��9�����S`wN�ak��HS6��ÈC�]pb֒�ܬqQ����m���a<@Қ��tXM�Ncp��[�F|��n���w��X��S��	gm�:T6��CF/�9\�;Y6
T�B��&�wB��:
W�,39��(����.��Bdᢎ�M,V�F����b٢�i�
��MF��
��2_`��~L����\�㾊[�� �X�J�̄ �v�h+
Y�&ALd
-- at 1�x@�-��|��x�
-?y�+��m�9`�x0�f�¸ut�
T�8o�L��.�O$
-u��\�SJ��`,���04�/�x�t$��4�v{K��H�/׭��z�tԏ��J뜝l*�,��}
��j��T҃�`��pU-��5	�Ů\��
-+�=q�->@�]���ⴜ'߂��b�b��H$�v������[�'M}[��?�
�,KF��埬���`����P���|�JI�P�y��X��v
p�0�v�,9�p��o��q�u]t_,�z����T2xa�qթ�ғ@����u��\
�4�q��ALi�u_�Zf�w�OLxU9\>�kϺ��
-F+��8v�jb�;b���D
�����7v���<�~��d�]j0,z���Ӳ
���o�n#
/(D/��uu�e�|Ն�CAv*
��o�c�zH�L
_`s�qA4�%� zQwV��A���;
��Z��d,=��b&
����e� �!��Л}�H%
�����<U,Xb��T>�q
�O����0��x�ڔ\)@�z�K�.0T&sUWq4%f�@O(�y�nG�_�v) +$U�'���'�i���
_��S�i�7_,�������g(G��q��o:��%q+(
w32��i��)~�w����}�|�2�Ҋ=�,���c�?�C�K��[��A߈`�.��D����(�9d�@��*�&dX׳�[e�퀢.借��
-GEW��������v���:���h-��=ol�_�w�hB��Ļ�
`��=�}��W�.��.�v �M�3���)^͞mqk���b��d㝲
+�hxI�w������H
-endstream
-endobj
-1078 0 obj <<
-/Type /Page
-/Contents 1079 0 R
-/Resources 1077 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1084 0 R
-/Annots [ 1076 0 R ]
->> endobj
-1076 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1080 0 obj <<
-/D [1078 0 R /XYZ 90 757.935 null]
->> endobj
-1081 0 obj <<
-/D [1078 0 R /XYZ 90 716.197 null]
->> endobj
-1082 0 obj <<
-/D [1078 0 R /XYZ 90 691.872 null]
->> endobj
-1083 0 obj <<
-/D [1078 0 R /XYZ 90 368.726 null]
->> endobj
-1077 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1088 0 obj <<
-/Length 2684      
-/Filter /FlateDecode
->>
-stream
-xڍ˒��>_���*�oRޓ��]qlg�
Ǖ��"�j�2A�D�nt$%��
	4�F��
��]�����7�g����(�=�v�`�g��F���}��c�����
��A��y���*���*e�%t�8)�$������_��xa�`�i��q�+����
-�?�?>�W3��%Q
�z������4��3�� K��^
�&J��dz�ƻn�R�
��w�PJi�

��Ϣ�0=��e�>u5�^�!�=|��j�+ʮ��6<O[b��+D#�
�Wr���|���?�0�;��@��Q�ɡQZ��Ռd�D@%~�
ɷ5�5��A��
7��2�v�u���5dz���#y�.d^�U<<J�hq���z<��l�C�ժ������K=�VW�*��>J��x��щ7�)s����μ~��!LVљۍ2O�b��5`D
��{�
���tF���'�{�5�^}B?A44��]@Ghpjk�(�t�c�
b���bj�J�

1��$�Y��Mc?���4t
AaK*`A��X�9�h��0Ű�mM���Ym 2sꀒ6�A,��3���)F�S�E��q��ƕ���
ԯ�3��G5N��4O��V �v�	
-wz�n�����Ix�e�bQ�8���	?���ȅ��Z
7��Z�����)�����5
�{�+m���;k�P-p��
�h�	�g"&�*��₍�����8!�C��D�	D��e���n8��,�5�!�ڲ� m7Z<�>	~.H<��s71����Jͨ�uڐ��t��ǙW[!c���UQ7��eP�zy���h�fŒu0�XS6�g�5 ��t�nA�&�ƥ��3���[�4�ݕf�!Q
���]�gc�qd<_C#V��cGR������ '�V֓^� �0m�'J(�=�K-% I
�
y�1�R� E��P:�P���1
�H���8���$&
-TvMo���
&דP���4�l�Cf� 
��xC��Va�0�
XʠLF+(P��gU�����h��XH�
�����ͣ#�0Ju���f2nm��7��l �̦Q���LW��]N�ؐ�L��C�ƿ�h�]2���M4}:ʳ�OF��KK�|1�R�,G��Хd!�-�x�
v�͝fovVG5Z8��8T&
�
ج/���.��0m[)�RV�y/��4je�G DqTd-��;���FR\h�v����
�XFb�q����CQ�j(��4�Q����t�?�/7�I��t�Wf�s��Q�X)BA
����� +���\�n3j�� M�p��-��N1�����x���`
-N��pq���s�s�a��q3Kܯ
�W\1�+��D���2��mG��N���!����I����������r�ۀ�9�Þ>��ͣ�%ec'c�����	@DKi���x6i6�ۮ�^T)w#��
g
al
��c�LI;�m没���PU�r�"�1��p��3�Q����J�8Ͻ0�5'�S\��o{���)3k�b�0���#:���-j�v��p��%A�Nwëk�j1���9�3^�)U省
��6�UΏg����Jv,	��/~;K��p����N2cVM�79M�T
���b�X�
�� ��f#ɚ�{6�&P�a�9*�p��8����rC�,S�E`a�����
��Ơ>s37ٞ�c
�H���9Qw(�m��$G��:"�'5��eU�����a�͂�����,�4���e-Ts#3L��%�톦�%,

��@�E�y%��
��z���;rl�OF��/[�؁����R�i�H�,��j��
#�Ї�BN7�`����&�IH���Z�2�5d����
�Cl8�+�zc�wb�x�1k�
@/Α��x�t�4�v
�/�;s=��C��r!g
t;Es*^�\��Jݍ����+��]�E\&�l�
ʕ�A���:����J�e���g�J�-�P��e�[�^�S7iJ�ؤp
�
�ΐ�4��`£��1҇R�g����oo�Ђ���@j�-]AP�#{��
�R�$�՚:��Q�MR[Ǜ��	�5a�
�c��0�G{յ
-���r��2�6Mݍ����q��4��;9�챴��C��̨�[\tX��5�M̀�̌�S�%.qԲ-�zt>{�����»�eJ��޺��W�U�#�,,�V%���
�9j�,���>��
-��.����a32p �<
���H�-)īWU2�8���f��Ih��#�Y��Ɍ�A�b��{O4[�r:�k�e�2S����qI�ZX[
������I�/����⟗W��&a����_z�_R0?�b�?\P-����Qh�W�ua�M��}R+���h�y�sx5�<����U�w�P
6
������G�i-��^,/%�|}�2v~���&GW!��\�޼biG�-��1�k�ulf~ ��O��N������)(���!�s/]�+{c��_܁�R�K�5�=���X宮[���sH��ݐ�ݻ��毎v�ʘ�!,���>.f�!.��bz����E�	e*���{���YV��/��AX~a�?'%`���l^8��Ns?
�����^J>$���ζ�����ް��8�`��{
���7o^__�R�S���W���oVl�:u&~�8��t��o�h:�No��?�F-P
-endstream
-endobj
-1087 0 obj <<
-/Type /Page
-/Contents 1088 0 R
-/Resources 1086 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1084 0 R
-/Annots [ 1085 0 R ]
->> endobj
-1085 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1089 0 obj <<
-/D [1087 0 R /XYZ 90 757.935 null]
->> endobj
-1090 0 obj <<
-/D [1087 0 R /XYZ 90 666.402 null]
->> endobj
-1091 0 obj <<
-/D [1087 0 R /XYZ 90 441.2 null]
->> endobj
-1092 0 obj <<
-/D [1087 0 R /XYZ 90 295.301 null]
->> endobj
-1093 0 obj <<
-/D [1087 0 R /XYZ 90 161.357 null]
->> endobj
-1086 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1097 0 obj <<
-/Length 3228      
-/Filter /FlateDecode
->>
-stream
-xڭ˒��>_�[���$�tN�+v��6��!��DB�|hA�c�}��
>$N�s��F�~p��y�{�����oS�+�"����iW�,
�$
-w����Qx���/T������x�uI�t��^�C.�܋�����?�����S�
-v���d~&�]�<}�9�U �~���w/��ő��z���O�3X�7	�
�ԏE��"�iB��E�}�;��xH��;~
-�py�=_.
-�e^g>���V�4�F˫�ݪ�w�n ^{:�r��v��d
�~ͨZ�^U
�Jw�P�Y��/[F��>L�r���8-v�0�9-��҃�Z �'�
-_�{	B{U"�3�E
�=A��2j��!�7]�?A�a at a��
f��v�
1���
A�3JY���#X��A�Y��ٴX�p6�ת<81~�[
-/I�QVx�ڇ��
4`=#���6`F
-
�t�3O��"����Պ���-%�x?�^��aRkת�
-!�]�� ȅ�׮?<X at J����I�y�u'�����~ۧ��Z��:�,�z/�
-�D`ԩ3�!��ڞ�,������
:�t:�Ky���l�1NEV
�d� e�
ߗ$�$c�$)ɛ`��y/[i*a'B8[Un���*�@�������}�IS� �5u�L� ��U�*�5ʑ+?˳�@�B�NȰᄼ��Y#�_���x����/
�>���������:�awb�N	��Z�C�.���,��(�Ɓ��Vu󽆉r
����֕
���X^����r�y���!,.�LB H�@7@��ѳQ�ZH�"�
�@T�8*D��/�,�h%IؾXg0�"�=0��&�1�V��dE
�
+���L�2

�t���__!�\�&Q���5ք�#��?#�ԙ��/bP'o^�(rrh��{ӝ�l�!`���1��h�<竎 �Bp11�+�}�
�0s .a@

�'=lXQ���a¢��a�	xmhUulU�����Id��i���'1�^u-9X�
M��FS���g�� pa/��,�[
N��Z>�!Y\���tA��N, �钩Q��1
����k4����h6C�����H�q�v�����"��,���n�b�&�2�<B��P�L�uZڧh�k}1Ey|����m�����;�r	�W2�7�u�
W=�
���
F��
�e�v��~�
�p�3k
���8�7���ؠH���\y��d\�%۹���"�

-+:�O��*�3@��Z&�yk�c�����3’�ӽ���@ 2
*Zi1�*WT]�R͛t<W��am��x�ȄU��,/=x:A�Y[���}�x�t�ˣ�r����f�03b�y(R�j�P��C(6
X����-둲)�Y���������
�S�W+�R��}�hcϻ\뇋�˂�-�R�Eᬛ�-\pA��B���;��;�x���[E�"���>��o:��Toda	F���c4�d�o�� ~�3�U{؈+��E
URcs�����E��,�� �{��bwiOt�+�J�c��E\�]8)�V����+Y�9#,��c�E�b�r����+,p��Z���9�<#�,<��V�K]й��Zu0JVTV��7���b�g�O �fJ�v-撤� �=k��Կ�!���P۠��t at m��\T�_�+����U�}�.�\���~�!��H]�LfMÚ5
+�ڨ�q ���zY�˩�N)����q�[�	
TZ��,�&�7H�z��C�x�]�́l���^bp�-]Q��E�̳��3�8=�6��N�1 l� $I��h�������C�%�]��8l�W�8�P�v��i 
0
l�X^d{V��TO��s�I�s��M"�L"t:����4�h��2�N���$�G��s����4	�W&�Gd����d� ����C�=�
 ޼h��tml N�
��M�)I�ؕ� [Q�
��F  �g�Jܛ�y����d&�t�
�
�!N���ڙ�
N�#-��
��F1D��&���
 ��K���iu=�ST�^�lY��$SxJsR�B3	�rE�\q��X
�5��щu�V��N'�O��g)�|JS��j������:e�=�1"Q܉(���
w�a�
Q6�
�tq��K4U��"�aqǡ�)��&d���*"�l��!�����~�[ ��]��XQ�a9d[�
-{uA�
�W�����kBr�z�mvb�hJ��&��[C3.V���+���M�
���Z
���e�7��Zp~�ŵj��ym�����q�gM�j�����`1��|J
���a%��$���E>S��.�N��F
-���pu�
�?�Ս$�RM�T��8�j��(Y�`���#����9��*:ѵd��Ȳ��
�:�y at j�RD�R�]7��\&t�k��i��=��;�
k�CYhe4HLꡩ�Yg8[[0�JS=�8�3gxN�x��
E(6��ܘ��A,��A�
mb�jv��F�������M-��,�"ƅ�Sೝa���V,ܒK
�`�K\�6��edm�J���$�| �d��\��ǚ"�c�-���{���M�y�t���*2K�^���n�ҧ�Pn���q�dbє�6���v�"w��C�!شX�ೝ\�e��
��]�"�㚿���d�׷j��uRkY>������
,�ǓeNHg̙b69cJ�$�
	6�A�L�#��C�Iy&�=�F�8��`'��KB�v��C��!
�t�v�IB��bI�G����b�7N9v�%5.:y����\�M���փƙ���C��I{O\4���w�S	e��e�����<���B��©�R�j�U/鞸~�o||�Oc�Vw�����f��"���2N�YF3=�Z�0.PZ���`
�>L�Q
�v3t���
1�c�y�U1����P}e6>+]����K�)]s!��y%�q��`�R�����4�e�r	s�����
�~�r���h�9Z�G<E���
�����q�
}Ϲ��Qҋ��x�V��
�4Wjd��|�bCX
z��]�}���,r
�>��Dn� ��	 O�
H6�
-h�����ݫ����P�Z�3�Qx�U�TkS��7�4��0���E��k&��L��_>	U�͞]y�
�)M���}W�.�2�����H�&�x�4͇��vt��A�=��x
-�0�m+�3�J1����[�
�+)Y�7�3_l��^����۷///~��c�������~��
�a��Dd�c�m]�6k?T<��?��5
-endstream
-endobj
-1096 0 obj <<
-/Type /Page
-/Contents 1097 0 R
-/Resources 1095 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1084 0 R
-/Annots [ 1094 0 R ]
->> endobj
-1094 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1098 0 obj <<
-/D [1096 0 R /XYZ 90 757.935 null]
->> endobj
-1099 0 obj <<
-/D [1096 0 R /XYZ 90 461.05 null]
->> endobj
-1095 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1103 0 obj <<
-/Length 3426      
-/Filter /FlateDecode
->>
-stream
-xڍْ��}�Bo��v����Nb�:���+��� ��Y��y�X����r���@��h4}A���
�y������Y|(�2�����P�<
�4
-O��g/:>Fi�}��O�Э�UÝ�ө1��3�n
�"N
-/���>}�𗧇�
BX+8�D;��<N����_�C
�o���ᅰ��$���
><��!p�L�
�Q�Y�|~	
�7��թA>�Ļu�h��Ǻ3Nj��_��]u�~���˥c覾�
0C�1L�߫f�u�#羻�ؼȟ���íkk�>3���PN���0��Tv�X��è�V��^��c�zo�jZ[�ȍ��ig����
-$��'d�x�3K0��Bc�	��}9�0��gfs?��E�E��E�O�������0��_m`-A�%H�~B�:LW�w[������T
�j�
-m�Ү�3��ٰ& 	�]K��0
-&�9�92�oUMs��4�`�u�zl�3u�.���RW���B �fޥ�������
,MĢ�dg�N
j=���rb�
3ݳ�.@H?�����(�"q��c�-��ܫ_t�����1�J���z��մ�
 ^.��ՙ+�&�g,��u0Q)��M��<5<V)O.p{�j��kX�I
-�>��>
g)�d��p��ճ��&E�}}
�W���h��Q^v	tz]is�,��QNw�B��	/
�KҀ���U8B��"�l��g�=��{tvQA�`�~3j<vh��N�&4s4x�5�PըaX:����q��GP;n���	F5N�
�$�$v6�GP�����풺�g]X�� ne^�JDBU㤎�'�.qh����
�

� �#��*
�/D�b�$�X
-�sgóREy �&$���A�
-s�P�
_�\R��
-\
-�wQC��G׎�L&����2d��s�������ݣk����|�ȗ��0��d��[������uR-
�h~	��R�:{-�7\fB�Q�nM8�{��!4�X�(����n"@|["��?�ᚼ��
`�q�T/]MBI�U��zmj�������#�=�p�eY������9`f(��&�S� =TX��2wTK��(8�j5���I�����VBG:�Y�Y;��vya�L.-��"L�P��Z��y���х�3���m� �|��O�4�F���n
��?)�`�\�
�1���xs��Ewd4�����<�.nj%lI��ӡ��."�0.�m-#�GB�~�	��U>���v�ɉ:C|����
�_ ��8^M��']�i�pV�ǽ�Y)bz(����Z���wtx���č�C[����KX;� }G� >�5�(��IT)&�eM
.���߀���.�vP,�CIq_�
Zﭛ��m��q�/���Bz��j�� ���0t�
!W
-%{0MJ����La�:�,��F^o�/2‚�
dzd9
%�@v�*?����/U)�d�@���-�P B/s3�+hb�_��oz��xw=wi�㒃�����K��!��Ci���I	1=ޚ�
K�P_�.� ��RV�
��C�!?�F��Q	�B��qB��"cH�>W�b�R#+5g��[/D8�b�gS�!Y���pg;9��KR�0�H���}5�<$W++�����
-��
qB
 u��%�9�؜A�8 �!�ų�b}�MT�;��zT�
,�޽j'Ӱ��%+[��F�&���161m��E |��(:�Q�X'co�뭡�q���-�l&��f"Hx�\�]����oߣ���������3
-bɗ���V	 ���O��|aH
-�-T0T��5��|�����
�@<d��TT�Im���-
��J)�
B�[�F�8�&<g&��(f��[/��^l��³����	w��"{0 b��H<�/��\D���s���Y.�՜!H���l�;��I�9|���_VG�
J�R�O�G7���n��;��� 
�Y��K��⨂�7ݜ�
�V�fs�T
6j�y����M�Rk�!8��ѝW��z_����O�kXiV���X2���]�5���vM���(���l�4g2G�7z�@�0Z
H�:�7���}���p$��E�)2
���_�G��
(wfτ
�L;jN�Sr_���r!K�yr�Z59�]M5]m�
}4���@G�ڲ��WBS����|�&���FJ�%&́v^s,u�
=Xj��
���[���lcN�l
X2b�?m����A�Bf[�r2ȍ�M�MUAK��UT=׉��!�;�a�W�T
�!�hS9Z
-@���
-в�t,#���Ah�*�@#J�8)�t�XlhxWC��`��U�T��Q� MV	h�Kh�)l�~�M�2q
826�𽪏,h�s���� �,�k���R��0��-��JL�Q�%�X�Mʕ���u��� 
������ �y[�+1�3��s��<�UW��vUv
ዄ��`�X7=_�kXE+�Ye��+�$�4�s�Y�o��v+�h�=J��9N�]�*���6F��l%
�l������2�%H�UF�N�^$$~-�U)�Ħl�Ƅ�hbiO mh0CVSؓ���S��,�~�]�n����=��p��Gy'�o�ǶZ��YM���II��rP�#�n��) Jup"Fi
L�����vv�U�%�:�4��H�ec�ѮG�EqsÖ�����c�
#sP�
nj[�.�1L�B1
M
���
�n6�Q�U���&�<���\�۫#��d
Z���eS ���C
��TAGtPLB
�1�A7�2Ј����\!ͅ�KoƑB��O��F�j#Lq�-ȋ��f�=1�L�J���a'��J�AglsɄ���R/�"_
�����1D�Ę�&ޭQ�LZه,����N�ȕk�>�l.͎rK�KlI���+���훍��i 4gz	kX�V._I���p��7|P�G��RD�ȼ����C7���7�P�V�s[ئ��9̔rn.�:� [...]
-��"�9�ޚ�n]A���lN�M �#:|,�G����
�#yH��'�q�� gE�
�p�np
l�|A���8����h����
��k��S�&	_��6C�(s���uN��M2�g��������̭�-6k�����fR1�r�`4L徵�����q��
[��O�r}�"�?��d��G;��4��":٣K�1��
�)�̩��u^c��
ݸy�p�άW	F����hR�Y�i�m7���͗<����8�F� `�־\(���7�����?Y�a�������'��
��~��
T��$~���E׽Z�i�:X������U;�L/��(�?
���d��|�Z6�;�x������R�߰�}��0D�^����۷///~5����zߌoᚾ]�m��0L�|&2nN��=N�u#�� �j�
-endstream
-endobj
-1102 0 obj <<
-/Type /Page
-/Contents 1103 0 R
-/Resources 1101 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1084 0 R
-/Annots [ 1100 0 R ]
->> endobj
-1100 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1104 0 obj <<
-/D [1102 0 R /XYZ 90 757.935 null]
->> endobj
-1105 0 obj <<
-/D [1102 0 R /XYZ 90 309.012 null]
->> endobj
-1101 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1109 0 obj <<
-/Length 2997      
-/Filter /FlateDecode
->>
-stream
-xڭ˒ܶ�_1�p��	�C2>)/;��R��!%���`4(�19��ߧ_ A.�8U�,�F���wc6�}�E�o�����o�dW��A
vO�]��C
f*�=�v��TY|��/2Н�UÓ��ccj
�`j�
&E�A��}���O�
b8+��D;��<�vu����hw���(L�bw'�v������>D>�Y���iXF�.WI
2f��̋��;^4�\���ZS��A��,���w���n0��d�kS=�O�������(Xuߍ��L�A�
���w��
�0=����W��{��%ֻ�,��,F2i���s4�
����Z=h8x4�8�;^�ϼEn�
�y�X�<jA �� X�Z��f�
���O�})H|F�i;���3^f�.�e&
n����N�j�Q�N�NyVWC�U�F{¯�E�դ��^e�Y[�	�ζoW�gi��=�������I[��Agg�Wr
3>�����3>VWtU�5�d�
&�Y��2ϫ�ؿp�H�y��5�\3ɂ��qf����
�`+R
Aܗq��;i+��:i�7�4*���
⓴��/��o5�h?I8h�I>�e@8R���Ab_�L��;X��E��2���A85p��#ש�a�[�7ï�N�V�	ŬO��G��
��Fi>������� ��>uVO8����L����/b�F�P k�P �[
�Й
8�/
Ši�z�9��0���ޏ�^
M�N`6�X�:� Q�������I��-���$���[��.9�X�sHA�
!bZt^1�)�L��ϒ�=�
��G���Q�aV���ȁ*pgy����U[����OK���d��Jv��A�����>I<�h���f�3 ����taXL�*�؜��{[]I �%��w���B�Z�T
q�	�I��3�`�0�A
iJA
���� v����PC����� �⵲#���
-_��R�B���Y�^쌅0i#;?�x�xB��:nZ w�ܫ��ʐ����
-�Jd�� 0&2�������%NޡD�����
Z��> E%E����q���<8����Իq�Y�	��
-?��)�<Kc�q� _�<!;�g5�˱Ӄ�x�&I=��Ŏ@;�%�2
�I,�	.�
8����<�s,̦��g~
M�lp����vq)N
6��-��0L���a�$/9
-\: <��hVh�fK�<��㒧� �<n�RQ����[h�/Q6�N����eY��X4���'
���ӗڈ� L
-] �꺷�=-N�W�X3��k���ho����Z���+�c(��$
���,��ւ�����l�F
�r=�$l.�E�����b"]���p�w��� �s���G@�E@����.��
lG/�"-Jj��q�
�z�
-���R���E�Sµ�Uҋ%죑���G��+��΂�"�K̥
�H?�n��b�,Z?�D.W
�
l$I��n�8j�޸@��
-�[L�z-
��j��7�j�:.�69
�d1���#5#�>�P�C��W�?�0.E���/U��宅���n<�&IK���}����5�$�F)�`3^Q��8B(�G�h��V��o#��ۈ2KLv��pl���y:�
�qI"rQ ��$@i�o6
-JQd�n�\�J�v7�d�T� ^^�-c��"��
-�Q �P	��7'��TI��wCeaJdIܬi��(z |Y^�:2��
Y�o8�\���`�o������>WXؾ�y���;���ٷ;ַf8ߞ
[���lc%
�$����

����w=��ń�i>�CM�K�P�Ժ4����Ϧo�.� ���Y����!��*�,fĘ24��!"�*
W�5����0�_ю�I9
��
JiC%l���PR���لYA�4�Q4��@��!�G��� a_(q��fF�6UrOH�o�&�Ѳ��b���L�2�%�tF)璸6�3'^�n2x�l�vG�J��
n�y͙W���_�k�
�)�f�m=1��C˜s?>',i����(�CE�]m�
l��A�ָT@,��I�9�u���S��p�v�{���)��qd	s5�N�f)��4Z�*����$O�^�A���
�x�bijD���_�7L�C�dJ��$�W��p�[.�9b
�u���"��V�K��- �t
�m;��:�V���[Mu.-�lZ�,a~㮾��b�y�JU�A:g/��x
p1�Jq!�������
5䓿����d^��
vݬv�d�b�Yx.N�$��M{k�"�x
�������=�ks��,��b�9� �d>���झz�&��R���zs���ˈ�4u %�r4�K�A�Ƴً^�T�JW������!���sg�NEO�zEOV�ԇɞ
�+3�QS:D�N'�s^H]�����q�9����@�b��G?ݪ�#�BWB�-Tܷʔ�]~���j�֏^
�,L���r�R
-�75��UW��'
���>.�C��
��w�i*��Lz���q|�@�M%꠷j N�T��rUKE�=�$s�A�1:��Ev���Ɂ�N��
>�u�E�� �GA4̬�j���������
�3��2joq��� ��P f_C`�g|X
��Z<"20l"��tӤL�z��0m�jx���?ҘG���N
� �MgXs�p��zrC`c��4�s�B�P��P�:}
���<��+�4�~ r�'Q�6#���nLU
Ӝ����nd]z#
�
�
KI�Ժ�R��h1�P��Uz��
�sȥ�<��E�^�>�Q�r�:7�ș��Y5�Ȥĩ�v�/?'�q���X
�HKM�ue)7���ܯ[���y�$�Hʭ�ɹx5���,O<�g����TRJ\���хb��>\�t��ǀC�q�[�/��?�!,��[��0�\�w��-ʠ�l#Ӿy�蓭��G���&�
��a�e�d��n�	�+�.F!�}�
)����K��>������o\�a)X"~/�x������=���֙�
���zm^/Ķ�5�D>��X�[�~LǷ��Q���_u�E?
-endstream
-endobj
-1108 0 obj <<
-/Type /Page
-/Contents 1109 0 R
-/Resources 1107 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1084 0 R
-/Annots [ 1106 0 R ]
->> endobj
-1106 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1110 0 obj <<
-/D [1108 0 R /XYZ 90 757.935 null]
->> endobj
-1111 0 obj <<
-/D [1108 0 R /XYZ 90 398.028 null]
->> endobj
-1112 0 obj <<
-/D [1108 0 R /XYZ 90 167.156 null]
->> endobj
-1107 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1116 0 obj <<
-/Length 3374      
-/Filter /FlateDecode
->>
-stream
-xڍ˒��>_�[��
-I���&�]~$��LJ����F��!�d��O� ���e4
t�ߜx���w_=��������U��H���yWŻc�
�4�=�v?F��1���� �k[�<�8?����w����aR����|���7_<=���Y�.!���pT���
~�9ޝ ��.>��ܽV��R�����>Ŀ{�T
�"�{&�a���8����������j���p�߿
{�����2�u����\���<��2�����c�
TV�_��>&�d:��8zf5C�����$�4�ycx�ƫV�x�+^j������^4#[w+!�X����w�6��Q
Wg��y�l�N.��ּ�

8F
��P�"[�;��
��4�o�Fv��
's~ch�#'���v��/�<�'�Kӥ�x-�R
��8?�G7���O3�Ht
^�H�ѿ�	n���B�&��
���s��<�-�t
�W�f训��F��������km'���ɫ�.
c\��w<i��}�QA��Oi��̈́���lݏu3�������sX�y����Z�>���Mvhy�*N��́4�ޢ7��H%�r\!
x�q��Z�O ��PG=�+��R
�zi��4/�މ�ќD�]��7���l��N3�ߺ�eD�WE����
��D��5��Y
�9]�h���p+
-#f�%,W�����P���B��Pq
� �l
�
x�ΆEgl�z�+^\�ҋgΠ�������hn0�zA��8�"e�\ޢ+(X����1���y$� x��8B��`�	
e�z�O<`4�έ�^2�'-x�ɖy0ü�%ܬ~���BN�ۙ�M�U0/�����
`
�(OU��+9�:X�?�����0�F���Y�|��4, at X�
p@\�8�cGd��5�7[�A���e&	��а��ы���dz�
��&�s}FI�;���}��.p�*�����a`:��1
/�R��-�`y���
ed=�JEZ0�(�+kmc
I�z�F/+4@@v'��|nM
�ǩ�ܚ�1%�i��@��3���(��j�1�*U�I��2'��y(RF�
Ţ
KI�[݂)�H����	/��K�.ԑX_l-�LD���6x�rKAR"
J4L
'
TIs^��7�o
�80�����oa�sz�<6}��T T�Oc�4��6
��
�
�R���[�N��x
g3�a	b*
�$&�G��MkN_qr�����F�D�D�ŝ1b�����՟ �rJ�h
ݸ�Fݶ���V���ř�T�X�Z��P� ]�
.�_�hx�n����YO���L���r8D���r9y"9�G�Q��I�?`
�Q�DI�yާ��[Ώ�2g�R�?.��F��вJ�2TB��
d��QH3,>~����~g�f]U�3�.��`^)��\)�*p�ߎ����8�Ճ���
�I���0ü	̂,��&������n���4.m��$'%_����x�,y\�,b)e��XUyۡ�h;#�7�)˧&�8��f*��k�����_e`�
MIwź����iq��L�B$<�ɤ�e6\�9
P���y�;	
u�@X����Ϛ��T��q���{����D�mg&�hH�m����(��I���
�
	��#�e�L<1��S
-#D��O�r����\�T��u��ɫ�ym��ҫ����Sm���Ȑ��p�Q�2��� 
K��s��)A#II��k� n� V`
E˒`�2[���'��;��4^#%	4Kc
Z�!��<	QvI�_���(Y-�R(�UgV
���r~��H5OE�h�4��[J���(
�&C�0(�c�+���*u/qKHFI��r*�R��?r��Z�2��9���jN
;�y���j͔|���O�p��r�����
��_L�t9����0i��!�/GW�
j��F*C�;�N
`�@ᄁ�����2�W�!е|���Ya�Z>��v�,�_�8��
<�A�k�NJ at 5���9
���5z;
���Zn��-y+�����Uʹ��4r)TRi��
-U�82 hk�n���S6ځwF��z����
ɝt?t��{a�H3�ԦT�Q?K3���;0��y��j2�����/0��}Gy
-%R����&�v��
EO�UK�%�����������x�IW��<0 :ώ��<���,zڗ�N��In@�F� ��	7���dp��P/u

�t���i1@�����������sO
o�/�(�#9�
lx���ڟ.��ٜ��rTmw�U�
-����Z�s��}�ݵR�Zݾ�bu�$7ԹR�r3�yQ
�6X`�o�p��9���0+W1�e��#����8��i���`��c_�
�,P ���Õ��1� ���"�78;�k,ĎMX�����%�Q��as�b����7�7WG��^".���"\O�t 6i���`
!�M a�k�.���_2� 
-�1%]��j��3����6�"�	�8mj*��6�o��-�8���4�e���@a-�*��J �:
����I_��@��B�=�%c���Ϻ��m�\σ`���q�c祲\\cV��)��E3���y`�iv���)��Ÿ Q�$��J�K
:(��<�3�BV�fv�p���P����u`
�p���(,���6b
|����d��
�j���TRx�v�����
 8t9��E�G�
 gJ�`�_������Q�=$��Q,QZ��a��
*p��Ս��n�
��:��?��q�3z��se�1C*�
�ȗ˂��h}� �h�[ю^-q�շ���+���ݕ�4���s�����4h��
-�{ȳ�
��]:QK{�O�ݾ�pnAF#+
?7�Q�<_��g��r%�4=8�E?՚�f%�����#���̕\q��T�R��Q�
���k��R+�� V�����Tqj�s.��
-q�|�m� a�:���|
�m7�
-��kf��o���*ƺ��
w�㍏}�&*����/�cC��Z��T� �
L,݂���q�|(����Mب>��m�Z�B�t0ٶ+2���H�*%��	���I�ue[%Qe�	�׼<^��������#9��d�Ֆ���@���Y��.�~����V��)~���y�?�3��{�bq�Hdst���
�&��G�u�5�8 o����_����W����

��#����d���
���T��8f��iв��]D�m6�� �Ʈ��Z
[�
<��+�Ԕ<(E��/�Y����_yn�#�(UR����aס:�R�(�y.����x��vR(}
ڷ�>��u��mmEI~�L7l}���g�/N�'�Ƈ$>��쌣�c�9��s�o����Iy<�8�%�t��������f<̽�ڃ��_�����n�N��p�Dή���F_��Q��p+��b�a7
-endstream
-endobj
-1115 0 obj <<
-/Type /Page
-/Contents 1116 0 R
-/Resources 1114 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1084 0 R
-/Annots [ 1113 0 R ]
->> endobj
-1113 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1117 0 obj <<
-/D [1115 0 R /XYZ 90 757.935 null]
->> endobj
-1118 0 obj <<
-/D [1115 0 R /XYZ 90 714.318 null]
->> endobj
-1119 0 obj <<
-/D [1115 0 R /XYZ 90 492.922 null]
->> endobj
-1114 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1123 0 obj <<
-/Length 3083      
-/Filter /FlateDecode
->>
-stream
-xڍ�v�6���-�{��;���w�3
�c+��/Ɂ"!
�)R�G���
�b:��
-�����i�.>^��^����j��b�_l�E{����|��//��u>��"U�:-xr��
-�����T�(���p�����O�ۋ?.<8�]xD;JVI-��ů���
�?-�U�Y/�i�q�|����.�!��;��Vn
1�j�E�_�Gՙ&>�S�A8U� ��w�dU��VW��ee����xEY���5[d�!~���K��O��1���QZ
�9�L��~�ř�OuZ��
�tp�y�M$�ve���$b$R�6X-/���|]z��T
�:�g
�U�P�2t�?I8�sf*�A#��5���K$Y�z�г9���i�Һ�c�J0�Y
-�=��*��g�
�+A�zVvCՍ�"aD:�oi0����:]�K��2
|sݴ�f|��'�6վ%1At
��(���
x�R��~��t
�|���j�

EÁ���73�d��~�?��5�eI|d�fH��z��4�ެ�f
�B�/�(s�[�
-�m�
`��
�oC�D�_i}ͷ�!�W,��-�8����9Ok�)��# q��n�S at 7�پ��<-�A�" \$��Q�i[�g��RV?�
�p��)��x���
���0ҌD�YDq�҉d�1����h=s;���j^�nw�/{,
�S
-Y�c�i.�N���ž]��Mc�14�ގ%��	T�ֺ�c��lƸ�[A�W6���"��F}p䕧�ʻ��)`�
�f��	4�N���6�B��J'N����@��/8r ��hÌX�$O�|(�G�0�}���p�q+
[��	��'��
-(��C�5Nk��r�deYMV�2���[
-�
-�I'0��y:���w��hg��6QY�営�PW���> }}<ڐ��lf�
s�G�
���a_�>Ìt��̀4��Q�N�)�?1���P�B�u,�ȵQ�����_;2g��>/��!;L
-.`<�W�F�|L�`�[9륷���q|p�;���'x�ʫ�
3���?\ᆏ�A�u��$�
��H�P�(�I��8�+�|Pl\�A��uu�êF�!&�����ҧZ�=-��$v�M%�u���ůd���XNLo&V8?��!.��K�ć;
-�^y ��(
��G�Ycȩ7�	�,-���0W��G���fr��
s̚Jv4�me�@�l�B��Ǯh�RU]S�
��y��_B2_��sDR���]F6jбen��&��{����)������]*��r%�)�Ջ.yJ���T�)H��u�׾��e�
p-��|���o"���P`v�B���v��L�u
r_U�9�M�
HL{M�
�B�(T�26eX]���i���2.-��]�I[��?\��
ϑto��`�%H�ͼ�L�
��
-RՑ���vi��8��T&�N�͢"a�_q��Z[�2�8$�J��4�F� ��"���
-R��j_s��w��ZR���^-�g�+AT�
H��� R%�=9ۏ_���"����
�
-<��� I<��:�qL��!�p�K��F�q4��~b(,8H���
B8�'EF�o��oB��P��47�#�^�u3V6��޵˽�f��r$�%�ژ#�[ ���s
`��Z���� �U��Ƃ�5�z���)��m0"�OTl�Tq9'%�^7�qcg����+�qb�/b�
$	�
zj�:[^��ké$����������
�+���֜���l7%���g�}/�)�8T���cA�8���2Lj�1���H��z�6`F�F��6L��a<�
�E3�.�� �?�,Su����Ǝ$5�������O��a��H�z
��6��MK{ڦi���O�L�
/�x��$Rpg�:�n\�A͸��yS��z� *aE#�y
���9\b�aT ��ڤ90v��[��y��W��|f� 4
A)pYkX"����D@��
3V����
�G%��@ 
����ǎ��Aߏ'
"Z,���*���'��x�5E~ܟx�
'�	\��dpu���2����6�b|R��A/f3��c��5����F<ꃡpR�f�[�if{��x�8�#�*Y�>
^���7dZ|9��ׁ���%Sv�
a�wy
�R
�@*��7՘e�yk>B4T�T����ۘ��#T�3$�i`���ї�������A׎�
-՚�
��,Ʈ�
-���$���E̸
�5���ԊTV���=T�9�мKB:3�(4/tG�"��Z&��C�"���3��	?���ƾ�I7���{%�ڻs���Q9�a
0�i���1�����n��E�u7��=� ^~�� ���
�1Ӹ������N|��fmk��io��b�g�CU���l4�C�������j7�����W���^�s&~�vC
��@���2#�8��b��:3.��DB
��΅��d ��ڎ8
�i 処!#l��F���6��?e��=g���~m
��cf�;
m� 
uC�КW7_z��Y�N�Pdj���3���R|���v����o%Dz���������
�����3�����F{�gZw3��g�O��'��ޣ�F���B�]��Q&Q�.�7G
=K$�'�|#��7���SF+����*�W@ʬ��]d�LS$�GO
��,mFe)���O~�2A�ֹ�����$�����sGR�����H�̚<�~��[z�o�K�a��Fo?]?\//C�wn
�{{��/K2�������+�>�=� ����my����g|��g�}��d����׷[�r����v{�#O�
����7�-�W�?_c�a�j�A9�.�jr����2�˧�[��!W(�/7���q��*�j�A�C
 �F�|y����~d q����>�|���E��>�x��H�6`~����@�^m��[�{���@��$�Z�k ڬ�(
�
t��[R�72��3�:5-ȮNkq�_U��G?���yo�g��]y����m�G�DH���Œ����
����*p}@���=��ݻ���U֬�R��n�A��n����
�`�%b����� <��n���r-�
-endstream
-endobj
-1122 0 obj <<
-/Type /Page
-/Contents 1123 0 R
-/Resources 1121 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1129 0 R
-/Annots [ 1120 0 R ]
->> endobj
-1120 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1124 0 obj <<
-/D [1122 0 R /XYZ 90 757.935 null]
->> endobj
-1125 0 obj <<
-/D [1122 0 R /XYZ 90 570.761 null]
->> endobj
-1126 0 obj <<
-/D [1122 0 R /XYZ 90 442.486 null]
->> endobj
-1127 0 obj <<
-/D [1122 0 R /XYZ 90 338.121 null]
->> endobj
-1128 0 obj <<
-/D [1122 0 R /XYZ 90 119.205 null]
->> endobj
-1121 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1134 0 obj <<
-/Length 2619      
-/Filter /FlateDecode
->>
-stream
-xڥY[��H~�_���9�A�y�������:��%g\�v��oDF$����}13####��E�����{�{\�=L
��j�c:�վ�꽁ch�i�V��W�T?���<��܉���R,ϛ4�R�l㬌a0��C�?P_�z���}g�^z���6����x��w����=]��a�"����iA��»����~��ii�c�����a��,s�,Ծ���=
.U�TF�� ��B&ȴPA�W��`Ǒ�O��f����ue���(}��Wϋ���a[��7VgJ�h��6�}2
͵Y���|r
��x>k��-/
�	
L�_�3ߓ
��x����'
?���U`0';�`��+)l�Ce�k��W�]:6O%L�7
q��a+/^0~�	յ�ѣ?���� >!�����Y�:ţ�i�l�g���xz�����h�Zv(�>�
-��3��%��9�FDŽ�o�Fh��*V��8��P�e4{4#�����Ў
��C��8 ʛj�Z��8�X��f��$��i�4F+<�g�M�����i̛�`���%�PƋpE$<�`�ͨ3���������a5!��c�.L��#_��܎A��-���7��-S3�>	6

���qL��J��{	$�&I��C
�
-
l�>4���wI�?�#������H��L�
��
�2!��7�-!�ǣǙG��Huuy�$ΈL菧���n
Z�#5��+�|�u��@�>Xm��O�+>/f/����Zf�����fΰ�/�
�,&�T$)I \�
��O�&��
�#
��� !6�㑃�=jg>�u�A��V\,  ���/d\/dY5��ݸ��ͽ`4�5��.���#% �3$͈C�9V9=hھU�xG�)�
-���)-�LZ�x~��[�˾B#�j�@��'��7N��o��7��+���
-��ހ���f
L�ٴKq2�j�B�kc�������C
��W���Wzm�����p
�`N2,�Q���]c���:��_+�c�7
���TE����(8?�y�nR�j�3 *���D8��;`�
-���H[`
5��
�
`eJm�
?S�0��
�6���
2�U"��<
�+|������^tx�~��%��j&tCؾɟ��~V���@
�]U!��H,id��Fَ	ΏT�=^t\�:��*��ܦQr���D�
T&*�(�*$(b#\�6�VsIZW-1<�
-w���.�ц(��6ʲ����i�jJ���̷x���8�ڊ��{�߃u��)�n�b�d�0�R���h��`R\
�{J�"{'��ԫ����JZY
�4%rt:��e
�!�P�

?D��yɽm��1-�QF���
�*.Yj����sw
��a(t�5 _X�"TD–x
6}lI�\y�Qt��T��@�β�ߋ���
*�,�˒f"^ӎT�����|<]���Me:N�~;��,�9�#j��	7�h�PS|���4H8���:�ߣV
y�8�^R�c��z�W�)�+��!uGr
-���[_X�:�����׌�$>����Y���79�%�d�0���^�&⑆��"��!_����|�g
-�]|��L,f#��(�v���워>�C�,	
YE���t�i�9���'�Ὀ1x�)/�d���Y�����|��u�����Y���������qvN	�=�1�1�e2�8
Q3���gS.�d{�nc��#Ϙa�a
-h\�F�/ML�6�oQ���s���:�e�$��~���������
�Ϫ���0IF��}��ya�:يt��*o-�������Q���-�=y����b�,0�)���
-�&���Z�2a�	��t�LEI1�Ll	�-�h����;Vr�;����M�%>�
��D>�@d2�_轃k��
-c��Vy��)s
"���6�W4��QY�h��1	���P�����&�m
1��D\:Z�}9�E|��sʏ] �����"��*�>L]�7r�A��
]p��l�!������CM�}O�Kʁ;
a?�4̢#O���5�"��.�>��3�"*���v�ǥ���
�?ٚ5s�`NVx���޴?J�x��խ�u�q�`��#������Uo�Rt�P��m�V�����r%Ъa!>
	��'�	��g
-�Ǝ@ ��$Чi#0�VN��]���j�<���彊jY����x[
��������mU(#��
�!f�o:u�7��v�L���{"�p����
Jx
X�>+��ɓ�j`�����[�k�� 6�'DTݨНc��_�B��]6Y��
吟괻͓K��g6����뼰	��o�8߅���ÿHѐrE�=�U+9��D*}�o�썎��l����!���X1��H�G�(�aŸ~�5L���K
�����&���
|�%i�����9,k�pb$����1 i
�p|�߉�q�(�� �)E�D�4��{CQ��)��L��ѓ��w����PU��
.�������xHI��e0Чm���a
@Uc���ȿ_
�
@Q��_lW�myê�@��Gő��2O? ��H>�n���������T�V���D�Y���x�WŲ~
-�5���p���1�(
W}��@���,H
CnK�%�BK��i���Ԇ�����c������xp���4��Y
-endstream
-endobj
-1133 0 obj <<
-/Type /Page
-/Contents 1134 0 R
-/Resources 1132 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1129 0 R
-/Annots [ 1130 0 R 1131 0 R ]
->> endobj
-1130 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [314.956 92.633 472.963 101.741]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
->> endobj
-1131 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1135 0 obj <<
-/D [1133 0 R /XYZ 90 757.935 null]
->> endobj
-1136 0 obj <<
-/D [1133 0 R /XYZ 90 622.348 null]
->> endobj
-1137 0 obj <<
-/D [1133 0 R /XYZ 90 470.163 null]
->> endobj
-1138 0 obj <<
-/D [1133 0 R /XYZ 90 357.732 null]
->> endobj
-1132 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F90 1139 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1145 0 obj <<
-/Length 2978      
-/Filter /FlateDecode
->>
-stream
-xڝYYs�8~��P�%R�E��<93q�3�㍝�J�L�B$dqCZ
�ѿ߾@�
-�M� 4����א;{���wo�.�n�`�:i�dz��,ug��s"ߛ=����b�G����'���
/�kͣ�M��tժ�0��LW
��n��d���/o�.�s����̣5���
-�Y����Ow�����i2;�n�������P��=��
7�X��1���s���Ի���ݚ��<h���v��G�qg}�V�:kkS�,R�"{��5ww�(
�5���VN쇬��f��R�n5w��y���<7��y]�J�<**�F��%,�������|˭��}'}�M�5�P*����Je1�����a���̦Uu�X=�kU�酇��‹@�ݴ礑\����ـ�D�^���%p�q�7��N��3�'J�����`�р;L�(B!����X�[P;v��n��?
8Z&q�8]��Z��yI�+�����p��pb�����sa�)�z�s���k�AfvZ臢�r���ㇻOOo�>�����]�x}���5�n����JĴǽ(�/���~y2�I�l���|ݘM{P���ݢ)c���(�p
t�ې�
��΋���u��
Ẍ́
-]�k�F�k�Ge��
����w����>
-��e
�>.Mh�D�ʞ�f��.��qo���й|7�����f�umH���%����}6��<P�RX�
�]\��(�u�Z�|{v,�Cs0G�w��*��ЭK�6�%��Y,�4�@)�v��
ީ�Dx��V��ɗ�t����a�c���Z�7y���lt
!
.���{@&�ͻO��L�`�qEe���t9$��(?��jjc�~�֦� �6%�
��
IF��E at _q"�޳n�#���s�ۗu:RІ9
Ŧ���]����ȉ�tM��hF�7�֘N!p�
�� y\��\f(� {�\�d�	dfOr\
S�{��JU�p<x��&~�1%}0�IX�V:�M�j�,(t��
���C3�fI}�\x�9ۺ�;D2;I2̪��a"�y�.3z�kY��!�v2�������%��%�0��2��_/(Z��B
� �SŶm�������\u����Jv��j��΂���`�[1l�K?p��
���T��{4Rţ�ߣ%
0@~��L�#�~Qe�ޛ��zf>�hb<A	�Eӓ!�@Ȭ����A�C
�L��8
- �^�凜B��x�t����4��b]�E�%�֑�u���A�)(����bl
F���J
���r
H+��
 �7�̢�Ax_Nm��
j�J*��D
�O��cHu�p����l{ت��x�H��W	���J�(�@B
Pd�D�(w�t"H�C�2b�a5pU�j���L�s4L��o(���\�nZR̢Ԋ�G��A��� Z���8�~[��1����=.�����t�����A�p�0
��*^�a�S���"7�At�����s���f�R�&�@,蟐n�>���s|�H��'����s�7��R�c��M at KC�^wI�
z�M�
���� SR> ��&���~S��Kia�c+��
_oJcj!�1Mۋ~-ʸ>�e�ɠ�P>=^O���/]M��(�
���sBN<���s
-�ְ�
}�
��Z�����.Fb�Jdc�Nn"۪� ޑ��I��4����ܤz|�cB�x���������F�Uz�C�
��F�"��:~�
BF(�+����G��N!l!N���w�6拐
`
A��E6]E�)�,�D�=$��a<L����
,A^Lh�9q#a F��2J��~����o��i�Z8�� ���jǕ�P�| �-��l-З?
ߝw�H((��DI0�x�-R�Nk���͑��b����
��u]gX֑Q�E╩F��� F>j,�T]�}VNbk!���P��!
�q�|����T��
�
-p1f�F��N(M( t�+�́)��l�(�F�hQ� ~�� 9E�
y
v�Z�/�A��Y:ll�����_
a�L�_�\�߀����r��m?�|�HF^���b��8��ə@v
���J�i_�FWn4�2�N+/1�� �&ň�G�t���֌���G�	�]׈\`�5���0q,X#�
�9:/RH8vzP��F H�m˳`� :p�f��m��`
!��-VQ~l	����]�t�L)O���rJc��=�M$��%Tr`Z%3������H(�P�n�{H9��;!�z'�
b�e�d�4�v=O�-��
��UnzC���B��k��^�4�ԭW>u��_��ț�Ah��`���H��:��m����&2��d���U���#�����'�ˠ��"`;q�6M�F�1��S:
=lGn�N9�D
 ��|�d'��m�)�H�M�E<\����о
�rsGifOr²k�~^@����
�#\Fl�����o
@�ߒ�!�����<��B
�b�}�C%d%�5�
�
"	8�6л
-�kM�.�
��M8kd��.��
��:
y8�{g'�d/��
�$�e�?DN���+���pC���j�
�n�~s{w���\��,e�ۛ��ۧ���?��
�� :	�Zf(.@�r�}�]�ryA2̣A�r��J��n'
�j���)*Y\1��WI�Ret��_����
1����ȭ)�Y ��Q�����EBy�Dg
���'���E��o� �obd��ǎ�m�X at l��$�]���r�e>��p 
�y<c��FU�ǥ$��OF��U����-��]m�7?��d~OH|
�7x���(߾��'w
7Pky�EO�1�;zakg�'tϺ��;y�9�a�6��+�w#J׾{�V��,��.@����/wRX#E//����@�1���
�ڃ֗��s�.�Qi~�'e
幗�������IWA"�MF�E��
B�nI�;%CS
!~���~���'����=��ˉa��9�G��>>X��_�'}�d��?�5NW��)�+�A�)^��I��,o|��c����/�#6�
-endstream
-endobj
-1144 0 obj <<
-/Type /Page
-/Contents 1145 0 R
-/Resources 1143 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1129 0 R
-/Annots [ 1140 0 R 1141 0 R 1142 0 R ]
->> endobj
-1140 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [152.087 538.456 321.452 548.737]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
->> endobj
-1141 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [225.562 484.343 508.501 495.247]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/philosophy/why-not-lgpl.html)>>
->> endobj
-1142 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1146 0 obj <<
-/D [1144 0 R /XYZ 90 757.935 null]
->> endobj
-70 0 obj <<
-/D [1144 0 R /XYZ 90 469.649 null]
->> endobj
-1147 0 obj <<
-/D [1144 0 R /XYZ 90 437.72 null]
->> endobj
-378 0 obj <<
-/D [1144 0 R /XYZ 90 437.72 null]
->> endobj
-1143 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F90 1139 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1151 0 obj <<
-/Length 3481      
-/Filter /FlateDecode
->>
-stream
-xڍ�v�6����e��l5�s��Τ���$�� ���i�d���|����L."P(�B퐿zX��W_�_�z�D�l�%a��?�2�&�6��}��ً67a�{�����M������:κ�Uo�Aߘ\W
�'~{�l����W��~�
-`M�q�M�x���~��_ �z�o�l�z$��jF�-WwW�������l�a���������]�
�@y�����
����.ʼ�6A�{� y�����Is�

s����(<m�ػ��D��;ׅ9>�p��0]ߚ�&�׳
�B�~�%*ٌ3��\�Lk�d$p�&�Y,�mt{6]7r�
-�r��5��A��1P�}oGj�6	wL�5��?�i~���������-��f���C| G�w֪�CU��Ýc�P^��
-�F���f(@w����{���Qm�J��+`�����'�
@p��BIVyraCN���&��E�[8e�zK�T}m�jچ��zԃ��y<�<
-o}���j��ݞ��=��W�Rg\� M����������
[`��Y������ry�_b;6&�3XI��
hd�y9�,��3�0�x����Z|������
�l՝L�@��	k�5á4
p��>q
�j�O5f9������m�س4p�"�,��f-��?�i3;Y`'G"9  s��� 4���x
-	
?R"v3�P
-��,�	�
�–��;f,�����0[4V���4t�<H�m�<Z8�#~Ē�~�ڞ!�=KH���<@b#�������Q��)����(�4I��+�0��Tv
��!C<-�%�/�融p"r8
-a������ )
�Z� :����׭�U�}8Fe7�sD����d+��ބ7�Ѹ$1˷�).�)�3�Ė�M
�rm
����܌��dʺ�ᓏ0ݟd��	l�����;3Y�vZ�-\�}^�)��h^�c�١�
q�Q$Q �����U-�s�m�w�H��8s��x�;Y�7}���Bw�B�¡wAHQb
4�q��ƌ�"4K����	^�N��lR�b
��w֠�SO�E��q��p�3����5�?��,��^��1D^�
U����ъ�X�KEɠ�nO��/h��c[ThD�D:B�_�˜� !k�K������tF�S��0.f�Q&�g7
H��$�O�Y���Ck��_���Z�vĶ׎!��'^#6�94�EBa0���0�r�S��Ғ�$�
���=l%�R�QՕ��
2o��u
�ߤ�۞�`�RИ�:
�㞛��:�t:�q���>AzW8��ϳvFQ��
-�������J2��?Ϧ,9 � y��C��]4j.ٽF���0��so}Ǯ���b�F�4ϢL��4�f���q��>/�R
C�E�W6*�;i��x�]���j�K�$�lHZI����l�p���p�z��
�0��!� �� F�)�"$�/�!�1� �$�@T!��i�*ԡ�Y�|.A'�@	��� �:��=��Y�2�~���F�N�)1۽0��"$%��)�L��A

-)1��x��rܡ�8��J+�I"dS�/L?�:�G�(�c��$�bZ�9
&�0��ж�xs�p��	o���I
U�!]��C�P b���9���X � E	�r�@rC������]��
o���Ug�g�p�\��$���^>e���.o
��x]��%�x|h��׬���&�?t�
��I
�����1
�2�D����D����`�"��
 �ڄc�$}��N���e;N{�!�ޱ�d#��t�;:j0���v�&�ʤz�����Y?
-� <3K�u�����B���<����P�qp`r� 
�1O� z��@K����Bf~O�N=��%B,A�тp�N�6�"�tY���w@�Lm� �|9�H�9������ -d2�?�
-Ϡ�V]h��qk? ţ��@B����`�G��c���>5	
-G<�՘��;Xp".
$8�-ݬ�k�}�'��C��+|�:~�ʿ�:���E�g
�Q*D	���r I�1�M��wo>~�&ZښT
-P&�
�
��X[��
Z�;ĩ1�
-�'��>lR�h�%�݇O�0�N�-``_�M�vM�>3�~{��⼘�"�P* U(n ��_�uv/������x�o��w
1�]���f�*�۷�����{O ����v�Y���{G��3������
C�p�����(�K�л����.|�ޖL

���ÖA,�

EmF+@�נ٦����ȭ��q(�����ƀc
�+r�Y̶'�����1��

��j�eX�™|1���x2���R=!�a�X���������e'h�e��/�D"+:N�.�x1Q(<	m1�I&� �X�LB�B&����L �]
��y�-P B-���
�\.�r�[���s�9�����bT%(tw�����N��p�m
���X_s�r�E,���J*X��E@�+`�D�����ty�JWS�����E���g�-x�~[�Wi],
/�S�r���p��ڙ9�63��Po!ؤ�{ڤ
��K������P	�:�Z�qm��� �0�
������~#u|����ĤՈCz�X��$a��`�D��~�C���� \.���ԧ���#�@q�#��~��I�9�+�+�I�O�%� :8 ���C⠢(
���̥x]6��c�	�h�A�?8
D��1j�AF��xzah�S�3�0�
-p�Y��h[0�S���k
�G�;��c��5�2=h#hs2���'�-6��BS^�h����/Q�!�.�Gx�%m|�,2�RU
`�x�lt 0W^|\�$"�UPj�'���O/kЙ^���b��׿ܩ
�
-bt�=.
-ٽ�;I���k��ی3��
-^�Q@Z�8ڐ��/�IzX�������4^V���[�Mymd�
%� ?".�c
�b���G<����&�R����@�k�X��EC�1����ƙ� [J ��
t
��
-z
�E�K�u�.=[���Z �̢�n�Ym*JM7�q��H�EB�<����ڪ�������x���5:�JfGS�y��ЋHo/�o!��x�<�d�S0ˤ�3ڐl�7&��`��c}��!��d:Iv�
4�%f/��4���=�Wi�&*�2;N:?���M��3�z�
����AƅO2J�N����]'$k׍ЗS-J����SG�E�x��|��x���s�K��G~}����"=�%"a64����جVp)8�"�{�5
��Pz4s�N��;Ԧ�h���ɮ<�
Ѩ
�m����B�[pnv��
���'h��d�?��痛�r��?~b:o������_?�o;��$�m����~�m�F{��O�m��}���9��H�u�t�X��
ZI�|�{0�n��IU�}�D7"���5�6�!V9���rH>��m�
�T;�
��6�C�����W�
�y�o޴[ӿ�}u��٩�`�MG"c���;��80����� a_c
-endstream
-endobj
-1150 0 obj <<
-/Type /Page
-/Contents 1151 0 R
-/Resources 1149 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1129 0 R
-/Annots [ 1148 0 R ]
->> endobj
-1148 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1152 0 obj <<
-/D [1150 0 R /XYZ 90 757.935 null]
->> endobj
-1149 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1156 0 obj <<
-/Length 3512      
-/Filter /FlateDecode
->>
-stream
-xڥ�n��=_�c�W���[w�m���n�����D�:�DW����37J���Y�@ S��3�;�m�6�曛�7�����?�*�<
7o���>R�����
vw*�߼��o۝�n�毯L>Ժ鳾4
��/s�t8{A����o��|�p�Ǎ{z����}D�����7oS ������BX�&T�V��7?�x�y#oq^�8�����}ok��]���:{�A���y�ggM�����|�)o;�'���I�
��Ʈ���V�ֺ(��vw*��%,m+7u�ۼ̪JP��4��M���E�����	#���F���ê4��e=��
�D�pu �����+��|:��ܘ
�;A&!0]̓j�:X��<�e�e�d�y�Ĺi g�sUj9Uo�9�k�`�h������!G~�$�U�`����A��,
=ӵ�B�ÿFnƋ�HS�}	�2MǠ
P��)7ʜQ#b�w0���
-��š�d$�2��beT� Eː���^秦̳J0u�
-I�H��d
AY�\֢>�/�ӷ�:t� muV𕍨��8�,^��1a
'+����� �=`�w$�L*�s�YDI��֠|/3)��X	EX�
Y��s�@0�3�U�
BH7B�(�����Iq������G��}\�bfn�Бe�Se���3<�x�
�#��$=��b�11��z�z!Zu�GGSU,��#
-�����]�c�t>y�`?���c.��J�6۴�d��9o�ch
-��x�.�_8P�^
�쑽]�P��
�W'9��d*���+;e�
�Z����:8 o�������}ë����?�bo�廇�����,bXr�פ*
���;�G[6�,~�& �_��#M[�I1�#C�CqP�Xצ�����)C}cѭ�6I��`?���h��*�NW��(9�Am�۪䀧j�{ޭ8q��Db bY���EѶ��)L �&`��
%�-�z㞟�v�5پ�=YI�hl$0�M^�n<�'ݑ
-Y�*T
��M�Y�J���p�W:kIa)sX
�|�\\
-ALN��`ɒ?������-8���� #���p��r��+b����Y��rW�/vE��P
-���G�MAН��~m(�XA�|�8b�CxV��uN Hx��<ʗX�M�\K��j���g#���/�� �A
'���7_H
f�
�A�������&0�˾�<{�<������[2m�1�ηt%n0#J
WdHu�HR*�6 +���@�k�s��ĆTĦ�6
J�5��
0�@TR�Գ9�w}���^&GaEz8�=8	΋
�
-��Մ�*뒣I �N`�?XZ4#��	8Y�j0�\��9~ѕ�ֿ���m��;7e�D���a���5
�G�n<�
�tB�1ɵ��㪮���MT��0���cDt24'���!�x���[M0�)u�` wV��
�$q�cp��	\F�:�5�b
3� �i��N�ﯞ�z^��Z���ٝ�P<>���H�턒i�l6ϒ$���V��
�6W��h$Ƭ3M'�8KRnQ��e葷����e3�
��ޒ�%)ˊ�f9+
�Hٓ^\�,S��w๙�$��p]���s�Ǡy~JV�J
�����
�N�; ���!�S�Ϝi�BJ��C�2�|J�=(z��������
�;0�6k�3�
��󝂞H�/�!{
\���,��������,�Ė���<;�I��ɉ�6��d��E
�H�7s��^bFZjo���p!*�<��J��|K���ݒ��C�n��� ̙6�O;�$PSu
��`!Me�b�KR5�ybj��-8��Zӛ�T
f���W�f�խ2�Ԧ�Y=m�S�{����sLI�X� 
���z�g�"[��R�G���꾾g/
U���v�&�:X4��Hkr&<{n�B�r�^���¾�nx�H�Q|dß3cF�XI	��L'%��
-M%j$[H*�%���C��
(���
�.	3�������ʥ�9�*��xO$1	V���fx���;�U�Z�0��J}�U�w��g�t��4�aϐk�(;�=ڴ�V�
 ��t0�jP��s��S� �`�) ��}%3��JπwY�����^��{���X��m{K�t�z�,�
��zv�|��:��� �Xh������ �t��B���P���\�|d
��
��ɼ��I�|̢�\���s� ���%¯Ȣ��r��v.ħr�U�b�g�!Lls=_�4nm	"��6^�Ŕ	�4w������蒄�%���W�o��|�;Dۇ���>~�#r�E
-��<v4>�݂�N�<��)J̳�G �h���AL��

�mw��Th]E�R	�	T-N��ݲ���{`[�8�Do���h;/���` �� ���N��"�na�4��8�5��
�k& ��	%�U�f[� 5�c���)'�ķ>
&�4Һ
-Ve��Z=:�8��k�|��VJ��]N��=Y��:�s�u��dce/s�ج�u���^n19�nt �E�v��o�������g���� � �>����T4�Z8�t�� �/�+v�}�F���M#�w�fy�{iG ��4{�/����%�~�gSSz]Y�hC)�&⣥��qn�O{�Aq :�{���#��{ZG=q3<*ʝp;S&���MG%��	�#�P�E,�8
�c
�^RrD��:���dҺ�����+�� ͌%l�W!$�-L�����
 �z�Х���(ll�A2�t�y����A�Ok��L}�@z,���sa��,|!���vVp�iK�l�p���ӱ�>
c�M�X�Uttó��Y�u�uԓ���
ǝث@�
{z��=���(ߗT�b=��l�̠��il’0�G�
4�L6���������3�MӞ+{�¾�p�� ~�dJv9�gY
����&�
���%����GsX88�p

=:c[�I�7�1!T��oJ��3K���-a�/&yy�S�2�s���}�+4T��֨]
�	��:
8��sS��9a�w
Yu�����횄
��D�T �A��
-�f&~��~�[Uh
$a�?HK�>f�/�D�7l��
6�'�E�(
��v�c���h�'ȫL�q
�󟊵��6�
-Mz�
Ky�8
���
-�U��m%��0oZ��mu�B<���k���
s��0�*��

��?f"��@=��h�l0��׶d@㫢'�
R�L�kw��6*|Qb�ٶ>v���mH�-�KH.�WGF ���"zKQwUN�^E�Ż疨���5= �\
$���H��K�+>��X~[��#_|��*��e�=D�T�m�H���/���6d03D�-+"5��
-x��K ^��<R�[
)I�ܵ�/5� ;��&^a�j��Q��Lj����8���s�y���Z
vI=��Zt�G���N91hk�T>�����6��Y��f��-����<:��'0�]�K�
/L�A,t>j-L2g�o��ߨБs^?M���������ūW��e�w��)���_��ի�Y̸��2rK�h�\�/	T1��e�U�����C
-endstream
-endobj
-1155 0 obj <<
-/Type /Page
-/Contents 1156 0 R
-/Resources 1154 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1129 0 R
-/Annots [ 1153 0 R ]
->> endobj
-1153 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1157 0 obj <<
-/D [1155 0 R /XYZ 90 757.935 null]
->> endobj
-1154 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1161 0 obj <<
-/Length 3170      
-/Filter /FlateDecode
->>
-stream
-xڭ˒�8��_����Um�D�wO��tf:�V;��5��,�mUd��#=ޯ_� %J-�L�r��xI��q��^��^ݾ	�Ub'�W��*qVQ�ځpW�|���7"p���?�Y��%%�^�Y�U�vE]�"�U���V�۾�z���z��;����Dv���x��o�*���c{I�zRTǕ/<x����]9,�c�
8�ܮھ�"��N�������fc��P�om$��n~�I>6��ͷ�X��XX�:v��v�)����;�Dw`�/KM�v-!�=��X��"�ҦH���d�*n�(�r��/���%#�"خ#d���M�2'�
-����.7�k'���$�����:��p�fa@��'
-_mH�7��H|DZ��x,�Gh��*+���HY�J�N�n`�է��Xg)m����l��
�����!�ݒ��
{�6��1i
��
���ꊮ�����O`:us���q$�x�l�p
q)�*���4g���E��f!�,	����R&+e�vd at jCd>!m�6�*
^
Xg�6h�<�$Z�ѥ}w����HH@��
ܒڳ��i�D�΋ώ#$��{�.�K�C�-=�vO���
�
���G$N�*6!��^�֙^X�(zX�^�M��x���\û�
1�!/f:&.
��r�ȴ㩺�D<

`����a��st
Z�
;!�&b(]D
ݖH{0 �d4�
-F�L�jeES�0��Z�78T��
�m*�9�-"&�m�;�kC*�4���M
C�a�u���3�wj��~+�^���e��
ݻ�p�Eg� x!�S�c���:����p�u�"3��w\��
�V��a`���n QQM�;ơ#z_7([ɘq�ɶ%r�TGu�MZ�'0G��#�mrR��3|6��Շ'	�y?ܐ]���
.#�R�r�L̴����s] ��.��F�
 &Ʋ`�
�[�2v��T��ܥ��N
|�Q{{����:�g��1�T�-�X�H�M�

�%)���/\
-�D?a
Y��������¾�Ⴘ����ǣ�qęL{F�v9�^
-�G ���3k�j�r'�R3�4ox(�G+�=:�V���lM��d
�
r83=�$`7a�,;�����ˆ=^	1�D<u�ͱh[u2����$ ?_ȟ�dp)oP�/
�
�1��̘����?�/���Q���k�Լ�_ɼ�˅���y�"�
 ����<Ksî��09&N��M�d�>g�����)���t���Pe�|�ܩ؋��%�
��@B|��� \���;�䶠�
��f��G]>7�1l5��~th��
�Υ46�I��+`����Ĩm�H�ys������qV�;"/��a1�	e2�Dck���p?�?
6��M�
wY���������{0�h��H�"U[�ci���VZ����?�l��ַ�X������S���
C<�1���_W9��l
#���gf��@�HS0��T��zD��%ߙ'~��b���U��R�껃
-k�5�Fv\g�`P**���6����U`gN:�u!F���9�7�����Y7KF����0M_��D�K

0��g�XU��n�,�����?�/%��
c^mV����]�١b����	w�M�/!`V�n�
-
�`�mi4T�8�76Ǵ�0�����q�n虞N����P����>-��ܟ��)@�u���yۋ�^�,�K��	T�HN���T��
-P�#a�Q���Ad�1�$&gZ��>@�)��>i�`MW<V��ũ�>2Dn6������fȇ6��2Ҋ���b
�-ZCM�yM���}$�"�9
-Tn�I�a� ���%�rC/�4�NN
>�q!�i\܀[�×�qP
9�|��Ǿ�����\9�����gw��L�R�R��5,�Qi]i @=(�1�:1qmb��0�C���Y�LU.�d�ni�8�?�'c4�W¨
DDd�
Z���
�r��LO}�w�
��l��\4�����Z6.u��
�+_X-%��u��@C*�#A�d`̈`tH��NJ8=m�v���|)g+���Z��k���3>��ʐ�P���՘���Z�j�
-�C��Z�g��
�-���M�l
Ƨ�m�GI8�S@�'SԳPS:��6o�]��i�F��Y�
���;�l�ۚ�ZC$np r.���b��ےO�I�z�s��s�|~�n�  ��ԑ1C�
!-�W��O�R�/FF�+�iv�	�D�P�g~W%�iKI�����p��T��~�n�"����yp�$�l,@���v�S�����Cwh�������<�
��R/�e�tL�fۥZT��3+:��S�������'�#"��md��i0�)j�
��c�0����3�·��(�S�Y�d� +��2�q�(J�4|�wo(;��;ɊS�{
�`٢H�Ja�E��*
����r��kL�i�g�j#����R
���%�t�kO)��Ʉ;�
���Z���F���̅�%{a8�
q����)�n=�=�y0��������:t�|L��Y��[E��xZ2l������	9 $�4Èa�6x��N�z(�g=�����.7��TQH.)�VjN���[��]�^��^�b���ZGF(P��\���,�9�$C�}��"iRF��I�×�_ܽ�{��k�/?ݿ~�}X(�.F]��D����+�[rt}���
�%�u&	`�$-�4�jw0�W����>\���	�~?�/s���qH(�駰|¥;Ù�r7 �f
�%f�����<C�
p�Δ{�-
EK�JS-�ǭ5��$�V����zf���$�ռ
�6��
-=
�\{_��`EXl�S�@̎�����CD,ugRr���ss�>�Ɨ��
}�\�{�Fߴ|����u�e������_k3,��(0��
�'s��U~$"�z�8�!.�Q��p}y 2.O�]10;�eW�JfF
�2SM .ղ���
eH�OR������I}?� �G
�d�a��D�bf�%���
j`�
GKhâ�
��].%:�A� 
��F����0�7���4��B;�����
-;|� ���#�B��|�y��?Wv�j��������}Z�)['�gߩ
�ul�!�ƒ��I�ٗ��~��\`��Ƒ�9C���u����>==�Yk�Uqj좻=���Yo�k���h`2�c��E�c�����?��AI
-endstream
-endobj
-1160 0 obj <<
-/Type /Page
-/Contents 1161 0 R
-/Resources 1159 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1129 0 R
-/Annots [ 1158 0 R ]
->> endobj
-1158 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1162 0 obj <<
-/D [1160 0 R /XYZ 90 757.935 null]
->> endobj
-1159 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1167 0 obj <<
-/Length 3173      
-/Filter /FlateDecode
->>
-stream
-xڍ�v�6��K���m����c�m%���ړ7/Ɂ"�j��t�X���*T)*�K(
�B�lws�q7.�q�x�>6�.��xs8n2w���.�͡����W~�:����}��RG��k��͐�m�I��q=v�ȉ����.���?/<���xj�(�%A�)���p7%�ڸ� K7
-�ބ~ �js{��
��7r���΍#ⷔǭ9G�[�Q�m3�����u�m빎��p�9T<l��yq�Q?��(�Ygl䟣z�w�
	���l�y<,6M9�B̕d��
?�^��zD��y�,�6y���L+ѻ �����+���pj;B�g�ǻJ�'�-)DZ}�ؑ���iQ���,5�D���9!Nr��f��`�(rv�W��9�-�ǚ����<+������P�m������:h���-�4����D���s�lC�����;��=n���t��äi���̢��d#J�=����Μ3��~H��]R-�4�w�e����ylG©Gu�$�7[�h��z�t
 �%��p/?�0���ꌩ�! h��cO K� �d�%��,��
ۮ&#�E�^�XP������8OA¬#�nN�3�鼡}��hlOx
�o
-�� ����	5�\�;C|�1V�8�.߉R��K�q`��[�z$
�.���F^U/ �oʶ���%2�p�
5����_>}ڿ=\}��%J_޳���������h͜邖u�$���H"ہ8�G�V��_5oz�S�xI�F���@���
#�
� ft��
�.�``66%�E at R2
-ǞU�T;xY
t�U��Ŏ�%�R��|��J��E{��Lp���
��7L�C0ڏEoa?�n���p�QN�
DU	�1J���$��v��nE5�bUo�t��� p�����9w-�6��I��������"�!*D�Q9X
�LhM2�ȄHt4��ۉ�l��<��zR𤐋(�L������ƨ�
����]K���u�A����]^
���C���I��c�֌Cɂ~)�߀溺�HL��w[�uF� [�s��
	�������~~�~r���w����jX��@e���)
��N���q��:��Mo�Ť�m�g8jxv�d��.�R�������#7�[4D���
m�(mi�<���q�!v��'��`������Û-X1�b�����#����������K�Ǘ��_����Gϲ����w�G|%0�
-��NkYO P'R3�
���<�"�6�^@������
I��
-�L��Ʉ�����@a�'�sz|Gsi��_�|�-c"�ߋ9���IM���=���D9W�f�1"IF����-m�%�%oM�ѝ����@ �ɱR�pEa�k�ڄ�`q���l��i�HQ_j�Y�Z�"���oE�TOhJM�m�i[���-T
�ٮc��Ƕ���@�m�m�Z;���~�N��S�H�E��W!�Ư'��i��
-�L�[&
-�_��/oL�Щv1���l��È�
��g�tFb~6Y��>�Z���:I�/���
-�n݋j�I�G>g��l<�K����x>�*u�3��B~�@�m�jgO�N�9�N�5!�e2&��I@ek�r绊wBA��=�tf�4���bK�����ʍM
-�e�Uh1}Op�
�T���S^
t�H� @Hv���vn�q��
x߅|͖/c����x[�Ɩk���&կ
�c3Di�䇅/PLb���
-� �,�V-�'o�	L~����AQ&��&䒂�ȫ
�X4����T�}� ̱<� �M�A�b
�OU�T�����M\��
�?�N{��,{�K�6ćS[=�^�j�|��͛��OS��|���9l����7q&tɯ�.�n�a(�s)5t�o�a �� ������_�:�4
-��p8�t9�����`��K?߃3K׾p�Q�������)�6������$فp�UR!�+
!Ğ:B8������A�a:*1�!�
-s��虋����1$�Z�iJ�(

�X!�(	�
-8�KD�0I��
gO�ַ5㴼�J�qiM&�n�ģ�z�,%K�S	�s��G٬Si�Ğ� ց��
���2�
ZD��0�^�N�@hδgvQ�AdN�l�� �q��b�i��<v��	�	U
��6_��``��
(�uNmw� ��m�9�<0��*�5�xˊ�7}] F���R
-�I&~<1dnf���P�
- ��K#�R�PwJp4uTӮ��
��`A�_l5#��r�A���T��MM,_m*�>',t�9�X;<���
���$|Yv;{ރ�	I-5>�%$�O����
;��?
�;��%�3�BRwMΝ�"����ȺK��VW��H�ݔ��f��v9s������Y��f�U�)��k�p��������n�ξ� ��~.:;��������Z�>��M�&��gYpG�&��<@�yo�S�P
��3%�d���7���10�$+X��z���s%�
�#�pI�R����
�,o��e��O�>P�f�7k{���<Z��p�ѾWrL��:�
iC%E�u�Rߴp��N�hG����+Q���
-ō���l.� �9ɂޡfD�D�.pq��Ә{
����1)��׋qhk�V� �f��9�Huz;Z�m�r{10�G��b��T�Tsj�	~�
�^�UvK�S��kk:Q�l-	��=&ծ���\���I�����A����Z���\�
��ԗL���F�%��0
-�U��ޔ���f��`�K9�ɿ�W���ؔ� �)^b���������͞(���uu��+���C>]��_��_P3(c7��S���عm��j5P��P�-܁��E���3A���]���2jwSw
������� �/a���?	�����
&I���gh5ұ�
�x���O
�*cZ0	ˬ_0�c���e��G�o1�,;�i��Q�_�三:��x&��e�h�X�}��T���j"����N5?T��
Oe�]%j�H�^�Jv�m{��\���܁���ѣ���%��T^���ć%��i�{����awߌ���
>���5��~,tӋ�]0���p�6��]�/�����I�˒ ���D�.�B�0G�{ɻ:�i[=�D����0P�w
�B2�[>8��7&�c�$'sw`�>f/��į��p�5�nl������\��آⅻI�G}�u���`#E�����E�&
-endstream
-endobj
-1166 0 obj <<
-/Type /Page
-/Contents 1167 0 R
-/Resources 1165 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1169 0 R
-/Annots [ 1163 0 R 1164 0 R ]
->> endobj
-1163 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [258.676 114.516 428.041 125.42]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/copyleft/)>>
->> endobj
-1164 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1168 0 obj <<
-/D [1166 0 R /XYZ 90 757.935 null]
->> endobj
-1165 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1185 0 obj <<
-/Length 1912      
-/Filter /FlateDecode
->>
-stream
-x��˒�6���졵g�Z=,�ڞ��$�n�m��L'���m�ѫ����)K��6����Iē  
kg9ֳ٣���i�[�
�^h��V�XQ�ځ�Z��z;_.ν��?�\��9OX�S�݈�Y�[����o;~�H�#vv���6s�X�RDv�V��޾s��/,���uP\���|�f���Ǚ�71pF&z�c�~W,�/��e8��p�9��(
B�[��f�	q#^�5}wb�Z� F��(�]+�=|>�I��.A0��A
ͯ�D�v}R&m΋�t�O�/�����VL�ӱ�]׎}���F$m�$0�������
@�3÷٫�q�Ѐ>+�V�䑀
�*?Rx�9�*�XT[�W4`���Dz%̞-<#nLЋ�j��M
r[fY�a8hG����9��ׄcEJ��,R�J5�
`�D���:��=��Dd$�,zg������d�	��FS�l7d��<��8E��d=W%
��d�\7G��K �Tr��+��a�ihhb�)C�`N���I��J_X [...]
2��H�d_�����9>G*?�WI,=�"C�Z�1�?�OϵH��ݕcA�E�����tܱ��eTMA��l7^����
�|�E�o��
�
K�U_X�xXLO�
-h5��ִ��J���҆t��׋\=�c���
�^��p�%#r�%
B:X
o<bR4
/0�Kw.�$kS>P��:�H��e	�(�ԥ3�C\Tm3��$�.
D3���B�:Xd}�C��k[�*	7@�dzY�
�Tm��1�
	��)\b� =�(�X�v�����]�Cu"��u=��z��,x�^=|yewNp�	:�P<EMw1���IV�V� �"~�+����'Ŧm8��
�B\�e�*���]p&��K¥�uY�%������Z�mĕ)X���r�(�dJ��M�aN�
-m�.��З�7Ǒ�'�T�P�W�z����hS�Xh�_�������j�\OeY4����5��1L*q�܏X�^3OؠDm�AO��D(����
}�S�dj:3��-g_�3{�НwW(��UDz���.�{�x8�u�X"ʂ	 �{�ǣ`�q�o���h�o�
4� M���2zɫ�%�4�����0Ql�
H�gD�D���
%�i%��x0껣�s��.��HR}7���*N�wk��ϯ�uiZ_�o��t���3b���d�O�4N�	�{7�/�M�V�Qjyq��`
�� �&R
�'��Z[��4JD}�,NDc ��2礥���I�oD�o
"Ts��h�\2�*��nבp��rhҳ
-ˠZ���
N3u+�Q[�EӞ&$�?�Co�s'�
i�	M>���@(��@�v,#
���U��	]:8P*YB�ˍ�T͞�7?p�
|[��!y�YM#���!`����S�J��2��A�t�C�>
 a�	'��p[9S�y�e��9Z�{�_�j�
�l閉�g��in��%D��R�
-�O�OB��TuҠ3��3�4�8{���cf��E�u��?)���h����:7_r��A�� w�������V��%�rv�״̎��%�������ѓ��=���%K�{H7�{ �{�+��(D.���`g5�!+����"��׆'���c'����ϟ�!iU6��e1�kט��橘�#� �)e=>��9ߟ�}(����ly��/
��2�}�����?��wǺṉD�5�0�>
���(,��X��Cg���}W6�ɡ
G�J�'1�Q$kc�-6}
�M�L�R!#�M��������hU��}��Hdž���`����:=���[f�=��'{�Ud��g���MS]^\
;����EsQU��ǁ�i�
uJ��)/e����������t?
-endstream
-endobj
-1184 0 obj <<
-/Type /Page
-/Contents 1185 0 R
-/Resources 1183 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1169 0 R
-/Annots [ 1170 0 R 1171 0 R 1172 0 R 1173 0 R 1174 0 R 1175 0 R 1176 0 R 1177 0 R 1182 0 R ]
->> endobj
-1170 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 274.03 433.559 284.909]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_b464aec35ab7fb9fe0a8a50e05ad6f99) >>
->> endobj
-1171 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 261.941 321.759 272.845]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1172 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 224.525 439.088 235.405]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_c20541d40c7629b278584406ce554eaf) >>
->> endobj
-1173 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 212.436 321.759 223.34]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1174 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 175.021 437.434 185.9]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_2626176104b632be36dc614e1d5536ea) >>
->> endobj
-1175 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 162.931 321.759 173.835]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1176 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 125.516 477.643 136.395]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_1cb059d74161d8458f18b02e33efe434) >>
->> endobj
-1177 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 113.426 321.759 124.33]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1182 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1186 0 obj <<
-/D [1184 0 R /XYZ 90 757.935 null]
->> endobj
-1187 0 obj <<
-/D [1184 0 R /XYZ 90 622.348 null]
->> endobj
-74 0 obj <<
-/D [1184 0 R /XYZ 90 328.487 null]
->> endobj
-1188 0 obj <<
-/D [1184 0 R /XYZ 90 291.761 null]
->> endobj
-1189 0 obj <<
-/D [1184 0 R /XYZ 90 291.761 null]
->> endobj
-1190 0 obj <<
-/D [1184 0 R /XYZ 90 252.974 null]
->> endobj
-1191 0 obj <<
-/D [1184 0 R /XYZ 90 203.47 null]
->> endobj
-1192 0 obj <<
-/D [1184 0 R /XYZ 90 153.965 null]
->> endobj
-1193 0 obj <<
-/D [1184 0 R /XYZ 90 104.46 null]
->> endobj
-1183 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1231 0 obj <<
-/Length 686       
-/Filter /FlateDecode
->>
-stream
-x��Ks�0���:A|�"ٖ�QJ3�
-	����x�HJ3��#[vHS�Ӥ)0�"o�}���E ����18sm���\0�� �ŐXLbp�s̾EP��~�ET�X�.R!͛�9p�
��)���TR����a`%D �j�=��(3�o���
 h>Xֳ2�X�������@���QW-e�%��%�n�mk�<i�����ĨGyF�+�B�b������"�唯�Ó�p<�%i
�Q�'|�򈉐�q��y��?YcD{�LC��j?j+o����JH�i�(j&��zpF�FP��>�0 M`c�
������L��\��Y#x��s��\R��ӭI�JƩ,��ny|C�u�&�A�����l70���v44�4��
U·T�4�wɎVQ�au�)��E�\
o�������L�O���a�ӡ-D]�g�5
-�k�v!P�G�ʆB�ա��@wE����]���SAHN�-iDŽhV�u*t������+
�rt�r�d&�U�?ޒ��פ�8���v_>/ve�9,�g62*%G��ݰu}`���ں?�Bva��~ӟ%$���NZw
R�i
[:mW�F��
-�_���~��������qW�Rױ#��*����%���:��
}��6��/�=h#�mcϤ,���r�����<-9L�,烇�7�`zk%���2+x~�+aV�z��� �;R
-endstream
-endobj
-1230 0 obj <<
-/Type /Page
-/Contents 1231 0 R
-/Resources 1229 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1169 0 R
-/Annots [ 1178 0 R 1179 0 R 1180 0 R 1181 0 R 1198 0 R 1199 0 R 1200 0 R 1201 0 R 1202 0 R 1203 0 R 1204 0 R 1205 0 R 1206 0 R 1207 0 R 1208 0 R 1209 0 R 1210 0 R 1211 0 R 1212 0 R 1213 0 R 1214 0 R 1215 0 R 1216 0 R 1217 0 R 1218 0 R 1219 0 R 1220 0 R 1221 0 R 1228 0 R ]
->> endobj
-1178 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 720.047 442.963 730.926]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_8921d611a6be878bd8ad66a9af6f405e) >>
->> endobj
-1179 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 707.957 321.759 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1180 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 672.226 483.172 683.105]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_794dad01f1995c73b887effa026ac32e) >>
->> endobj
-1181 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 660.136 321.759 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1198 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 624.405 450.156 635.284]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_4882da0200ef4201f3adb0f6d7731526) >>
->> endobj
-1199 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 612.316 321.759 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1200 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 576.585 457.937 587.464]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8e2f5b70168ac89a3f47639e7d9a4f9) >>
->> endobj
-1201 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 564.495 321.759 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1202 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 528.764 414.729 539.643]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ccb5584441a7c7c84de73810cc6afbc4) >>
->> endobj
-1203 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 516.674 321.759 527.578]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1204 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 480.943 430.221 491.822]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_880be9febc6dab2cdccbec8814c9a952) >>
->> endobj
-1205 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 468.854 321.759 479.758]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1206 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 433.123 418.605 444.002]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_726484f44f6e6653f9c0126e94e51ab0) >>
->> endobj
-1207 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 421.033 321.759 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1208 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 385.302 458.813 396.181]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_c587faeb0edfd2582564b9a8fa3335bd) >>
->> endobj
-1209 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 373.212 321.759 384.116]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1210 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 337.481 409.2 348.36]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_fa7b390fb34934e419263a5fc694c946) >>
->> endobj
-1211 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 325.392 321.759 336.296]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1212 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 289.661 413.075 300.54]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_7704df6970b9563ef9e51793126c0ae2) >>
->> endobj
-1213 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 277.571 321.759 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1214 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 241.84 453.284 252.719]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_2a66994a33d910d0fe8daccc6cc017ed) >>
->> endobj
-1215 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 229.75 321.759 240.654]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1216 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 194.019 434.096 204.898]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_1522764599cd8547bfe4ef7e88d8baec) >>
->> endobj
-1217 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 181.93 321.759 192.834]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1218 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 146.199 474.305 157.078]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_4d6e94fc9839cd5d455f195f46fc2dcf) >>
->> endobj
-1219 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 134.109 321.759 145.013]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1220 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 98.378 425.797 109.257]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_59af9a947f610641fe02639f76cfc90e) >>
->> endobj
-1221 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 86.288 321.759 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1228 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1232 0 obj <<
-/D [1230 0 R /XYZ 90 757.935 null]
->> endobj
-1233 0 obj <<
-/D [1230 0 R /XYZ 90 699.833 null]
->> endobj
-1234 0 obj <<
-/D [1230 0 R /XYZ 90 652.012 null]
->> endobj
-1235 0 obj <<
-/D [1230 0 R /XYZ 90 604.191 null]
->> endobj
-1236 0 obj <<
-/D [1230 0 R /XYZ 90 556.371 null]
->> endobj
-1237 0 obj <<
-/D [1230 0 R /XYZ 90 508.55 null]
->> endobj
-1238 0 obj <<
-/D [1230 0 R /XYZ 90 460.729 null]
->> endobj
-1239 0 obj <<
-/D [1230 0 R /XYZ 90 412.909 null]
->> endobj
-1240 0 obj <<
-/D [1230 0 R /XYZ 90 365.088 null]
->> endobj
-1241 0 obj <<
-/D [1230 0 R /XYZ 90 317.267 null]
->> endobj
-1242 0 obj <<
-/D [1230 0 R /XYZ 90 269.447 null]
->> endobj
-1243 0 obj <<
-/D [1230 0 R /XYZ 90 221.626 null]
->> endobj
-1244 0 obj <<
-/D [1230 0 R /XYZ 90 173.805 null]
->> endobj
-1245 0 obj <<
-/D [1230 0 R /XYZ 90 125.985 null]
->> endobj
-1229 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1291 0 obj <<
-/Length 691       
-/Filter /FlateDecode
->>
-stream
-x��Ks�0���
-�Zs�,����W2M�6mܓ�adPS#���q}i�t<�ˤ��b����VB 
[/g���sAC����
-��
���`���hj�
�F�Y%l
�XBk�j�i.k�rv�؅����v!��z3��YX	��Z�C�% )��%��� �0 �W����Kpa}��q�t�Q�=�ힱb�Dk[��������s���m���暥�Ƨ�BP���c��Q��*&�E��iL��3
S�,r��flhǔ�/����j:Z#��z�Q���#�n�La�|0���r���(^h��˚�V����6��E�d�5���cy���
-�֥����-��L��s�%0�u�8�d���
Y3�QD�4ngYP�g �nF,�^X�˃��ø�Y���#����
�O&V�'lO<f�A�f�f�"��G�fHk���M+i":�ة�)��rZ�T�%�����~�"c\;�W��
2$�!���*z��!E�������Y!�:c�,�~�z�2$��[�<h��$Α}��=�
P
e�����$�l_9{
q�����Y����ws�LBH�TG;��Q�HKͼvغ{�~�,�xn2�����]�v��{�J

-obG#�40�=v���k�ud_A�z���䖿8𡋜�"����h2Y��0�p��J���T�rr�--x
-�%W]a^�„�s%,Z^���'�;ox
-endstream
-endobj
-1290 0 obj <<
-/Type /Page
-/Contents 1291 0 R
-/Resources 1289 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1169 0 R
-/Annots [ 1222 0 R 1223 0 R 1224 0 R 1225 0 R 1226 0 R 1227 0 R 1260 0 R 1261 0 R 1262 0 R 1263 0 R 1264 0 R 1265 0 R 1266 0 R 1267 0 R 1268 0 R 1269 0 R 1270 0 R 1271 0 R 1272 0 R 1273 0 R 1274 0 R 1275 0 R 1276 0 R 1277 0 R 1278 0 R 1279 0 R 1280 0 R 1281 0 R 1288 0 R ]
->> endobj
-1222 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 720.047 433.578 730.926]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_901082d5c6de5ec4b457df69e41bb70c) >>
->> endobj
-1223 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 707.957 321.759 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1224 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 672.226 466.236 683.105]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a04426c5a10bb84d277c580d8377a8ca) >>
->> endobj
-1225 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 660.136 321.759 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1226 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 624.405 470.111 635.284]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_1773f4a296b1e34a24fc238f84d615c7) >>
->> endobj
-1227 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 612.316 321.759 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1260 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 576.585 471.765 587.464]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_f6ef577d2302b2baac4689f8766cfb2f) >>
->> endobj
-1261 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 564.495 321.759 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1262 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 528.764 475.64 539.643]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ac2ae1578a08e1613a4e7ddfa0f4b711) >>
->> endobj
-1263 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 516.674 321.759 527.578]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1264 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 480.943 482.833 491.822]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aaf96fa77980ed96433261f5dd4c8f5a) >>
->> endobj
-1265 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 468.854 321.759 479.758]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1266 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 433.123 437.603 444.002]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_1c64e09d6022054690f7d2bdf4e02138) >>
->> endobj
-1267 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 421.033 321.759 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1268 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 385.302 435.93 396.181]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ec640128c6492defc09c4d6ad5d3ea19) >>
->> endobj
-1269 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 373.212 321.759 384.116]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1270 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 337.481 443.133 348.36]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_eb30e6558c9efffc62d5765b3bfe5e4f) >>
->> endobj
-1271 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 325.392 321.759 336.296]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1272 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 289.661 441.479 300.54]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_304e74729ca34fc67648cbc995e1dfc7) >>
->> endobj
-1273 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 277.571 321.759 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1274 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 241.84 481.688 252.719]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_e6eef0ed4aa8b3690f01f774dd0722fc) >>
->> endobj
-1275 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 229.75 321.759 240.654]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1276 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 194.019 439.805 204.898]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_be643d7919aa34a2c1112702878f5536) >>
->> endobj
-1277 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 181.93 321.759 192.834]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1278 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 146.199 480.014 157.078]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_7a8abcefdfb125b7c9ef5f96d352c1df) >>
->> endobj
-1279 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 134.109 321.759 145.013]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1280 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 98.378 447.008 109.257]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_7e4bbfa6f481ead40e3ca6231e0f69be) >>
->> endobj
-1281 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 86.288 321.759 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1288 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1292 0 obj <<
-/D [1290 0 R /XYZ 90 757.935 null]
->> endobj
-1293 0 obj <<
-/D [1290 0 R /XYZ 90 733.028 null]
->> endobj
-1294 0 obj <<
-/D [1290 0 R /XYZ 90 699.833 null]
->> endobj
-1295 0 obj <<
-/D [1290 0 R /XYZ 90 652.012 null]
->> endobj
-1296 0 obj <<
-/D [1290 0 R /XYZ 90 604.191 null]
->> endobj
-1297 0 obj <<
-/D [1290 0 R /XYZ 90 556.371 null]
->> endobj
-1298 0 obj <<
-/D [1290 0 R /XYZ 90 508.55 null]
->> endobj
-1299 0 obj <<
-/D [1290 0 R /XYZ 90 460.729 null]
->> endobj
-1300 0 obj <<
-/D [1290 0 R /XYZ 90 412.909 null]
->> endobj
-1301 0 obj <<
-/D [1290 0 R /XYZ 90 365.088 null]
->> endobj
-1302 0 obj <<
-/D [1290 0 R /XYZ 90 317.267 null]
->> endobj
-1303 0 obj <<
-/D [1290 0 R /XYZ 90 269.447 null]
->> endobj
-1304 0 obj <<
-/D [1290 0 R /XYZ 90 221.626 null]
->> endobj
-1305 0 obj <<
-/D [1290 0 R /XYZ 90 173.805 null]
->> endobj
-1306 0 obj <<
-/D [1290 0 R /XYZ 90 125.985 null]
->> endobj
-1289 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1339 0 obj <<
-/Length 1199      
-/Filter /FlateDecode
->>
-stream
-x��X[s�6~�_�S�Nj�ĝ�Ng�m;��4���N��A�e�- �l}�€�ک�}�H
����s$�����7�W���cj>�
�і���5�!�6����[ݞ�6֯�N�|��"�u�i�V�����*)���O�ɗ	�I��F��"״�0��~�Z�o5�L��
�T�
��v3�e�[��^
�����K�X�ؖF�Uk�Û�v�8�~J�N˔���d�fQI������f>�OO����|N�(h,܄	��0�VeͲ�U͢ ��8��d�m�0x��x��7���T��M���3,���q/@�B>v�3B�o�A�0�?—R�u�[��L>�Z�	KY�)����~$�`%�yY�cB#���)�Mٖ�̼�ge�BF@�*^e� �*>mm�U��lN"����11��u�$�
+��ri� 2-���#÷�K0��c��&�F
��k���<�1k*��Y��+���Ċ
-%M��J��A�;2�%�	6�iҺ�x�B*��٪��.J��{�
-���
�4���*�
�����\ӔU�0r�N��H����YP����"9Δ�V�C����Y�:bUXƅH�
�<�����(�OD=/U]@��:U�r� ����
-�窺�D6ľ�	��
�t���.0掏|>�x�z�^��K���YQ�Y^sxș�[�
�BI
���� �y
-@ĉ
��-k��N���L�pu^s�S����XC�*

̇��V@˖��įay��]��^ඥ�H`_:��]�->��Æ�p=%��9��]N�ٚ�1��qKP"U^v]����:�L
[���~��u�$˹*&�_q6�I��w��!t�����k�Տ�͚L�@H_��"
�t�w��D02,%�ܢ�G.��;2d�� ž�%��7�w�����?���`�J
��
)߳�ςE��
����������tm<2���=֣��T���t8:.��m�b��N��E��Z���!
L�y���b���B.�׵:e�a������(�������p
n�h�����B6y��r���>�����t␭
�,8^c���
-����]�k�#�>�mKuh� ��.Bi�*u��d~�X��*�m�W4�i�mf��
-��#A���l� ��EEF�YSo?
�잿�s��;�֜���������(Q�gE�̞ޖzZ��?�}^�#~w`�`2m.=ë%���ǎ�
-endstream
-endobj
-1338 0 obj <<
-/Type /Page
-/Contents 1339 0 R
-/Resources 1337 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1169 0 R
-/Annots [ 1282 0 R 1283 0 R 1284 0 R 1285 0 R 1286 0 R 1287 0 R 1321 0 R 1322 0 R 1323 0 R 1324 0 R 1325 0 R 1326 0 R 1327 0 R 1328 0 R 1329 0 R 1330 0 R 1331 0 R 1332 0 R 1333 0 R 1336 0 R ]
->> endobj
-1282 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 720.047 487.217 730.926]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_2aaf9117efebc52a8b45b787075a9647) >>
->> endobj
-1283 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 707.957 321.759 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1284 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 670.542 454.201 681.421]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_1956a63a72283d208851d3fe2b11989b) >>
->> endobj
-1285 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 658.452 321.759 669.356]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1286 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.007 621.037 444.268 631.916]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_97011210c7f0b2efa0f837ef2da6c5b3) >>
->> endobj
-1287 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.787 608.947 321.759 619.851]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-1321 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 495.497 513.996 504.473]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.9.1) >>
->> endobj
-1322 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 378.106 221.094 388.985]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library) >>
->> endobj
-1323 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 380.008 513.996 388.985]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.1) >>
->> endobj
-1324 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 356.188 288.052 367.067]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_1_1IO__Operators) >>
->> endobj
-1325 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 346.135 513.996 355.112]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.2) >>
->> endobj
-1326 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 322.315 117.901 333.194]
-/Subtype /Link
-/A << /S /GoTo /D (namespacestd) >>
->> endobj
-1327 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 324.337 513.996 333.194]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.3) >>
->> endobj
-1328 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 208.729 513.996 217.706]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.1) >>
->> endobj
-1329 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 186.812 513.996 195.788]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.2) >>
->> endobj
-1330 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 165.013 513.996 173.87]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.3) >>
->> endobj
-1331 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 143.096 513.996 151.952]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.4) >>
->> endobj
-1332 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 121.058 513.996 130.034]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.6) >>
->> endobj
-1333 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 99.14 513.996 108.117]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.7) >>
->> endobj
-1336 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1340 0 obj <<
-/D [1338 0 R /XYZ 90 757.935 null]
->> endobj
-1341 0 obj <<
-/D [1338 0 R /XYZ 90 733.028 null]
->> endobj
-1342 0 obj <<
-/D [1338 0 R /XYZ 90 698.991 null]
->> endobj
-1343 0 obj <<
-/D [1338 0 R /XYZ 90 649.486 null]
->> endobj
-78 0 obj <<
-/D [1338 0 R /XYZ 90 594.253 null]
->> endobj
-82 0 obj <<
-/D [1338 0 R /XYZ 90 562.324 null]
->> endobj
-86 0 obj <<
-/D [1338 0 R /XYZ 90 478.899 null]
->> endobj
-90 0 obj <<
-/D [1338 0 R /XYZ 90 444.096 null]
->> endobj
-94 0 obj <<
-/D [1338 0 R /XYZ 90 307.62 null]
->> endobj
-98 0 obj <<
-/D [1338 0 R /XYZ 90 275.557 null]
->> endobj
-1337 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1381 0 obj <<
-/Length 1098      
-/Filter /FlateDecode
->>
-stream
-x��XKs�H��+t[�j�g4Q[{�
;Nb����I�d�A$������`$�^�b����~5f5.z'���\r�!�d��5�"�qk*V(����KS��5�~�%hs2�@��V�3Τ)��}���n�����PH�(.�Iػ�N�)~�`P�
m<�B�f
�
��O�V�v ̄jP�P�*E	yd5�$�ܑŨ/
��4��O�
�~
O�h���h�7�i��m2�`���}��	RWK��π8�^�`8��Q��A��fq�h�1��f�tsDi�xA����1ɐ
ew���v8Tj4�A��`6���
-Q�~�I�Q�bp�$ J��A��ܿ�%;1B��^p�!|�j�q ������ѻ�9%��( } T���Dkޒ�3�"
"/�k��D�C,�
O��:!�K@�5?�F���N+�&��8DgpGEҍs�3���9

���!$�zˇ�:q���=��?���=��K�L�à�F�
��)k����T�S��M,fL��-y
���I�qi2�[P�^E�a(�	���`�MQ�!C�sgi
M
�6��;!�j�^F�?��0
$F�#�0ҲG� �~�m`��~��(e���� ���&�;��9����e{��

��dB���r�3b��+E��
S����"��8oQW���J����xMQ�%�Y5 �ѽń�H����n�Yl42�:i�.S�t�O~�Z�2�%�yK4���vU
	`�Ȼ&@�N����D�{�
-��\�#U)�[L
cK�kO�6�ĖO.6�4j��}�e���t?'��g3�d
��]O��=F$g[F�F>��%�_�23�i5�����M�i�
�.G��n���c 6�T����:�;���Ķ��
ɤƑl�-G�����$�fq�-ܛ�����
���}2�W
�-����%�;B�S��tR࿈����R�

-,��5s�ATV�k.�׊���k�'�u�:y��� ��7*��\���W|�$�b�9nٍ��YJ�~맏9M�	^И���Q�Y�
d��U,d��r1xFߎ�gDm���0Q 
�2?��c��C�	B���Ŗ�
-endstream
-endobj
-1380 0 obj <<
-/Type /Page
-/Contents 1381 0 R
-/Resources 1379 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1169 0 R
-/Annots [ 1334 0 R 1335 0 R 1350 0 R 1351 0 R 1352 0 R 1353 0 R 1354 0 R 1355 0 R 1356 0 R 1357 0 R 1358 0 R 1359 0 R 1360 0 R 1361 0 R 1362 0 R 1363 0 R 1364 0 R 1365 0 R 1366 0 R 1367 0 R 1368 0 R 1369 0 R 1370 0 R 1371 0 R 1372 0 R 1373 0 R 1374 0 R 1375 0 R 1376 0 R 1378 0 R ]
->> endobj
-1334 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 721.95 513.996 730.926]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.8) >>
->> endobj
-1335 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 700.032 513.996 709.008]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.9) >>
->> endobj
-1350 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 678.233 513.996 687.09]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.10) >>
->> endobj
-1351 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 656.196 513.996 665.172]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.11) >>
->> endobj
-1352 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 634.278 513.996 643.255]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.12) >>
->> endobj
-1353 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 612.361 513.996 621.337]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.13) >>
->> endobj
-1354 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 590.443 513.996 599.419]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.14) >>
->> endobj
-1355 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 568.525 513.996 577.501]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.15) >>
->> endobj
-1356 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 546.607 513.996 555.583]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.16) >>
->> endobj
-1357 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 524.689 513.996 533.666]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.17) >>
->> endobj
-1358 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 502.772 513.996 511.748]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.24) >>
->> endobj
-1359 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 480.854 513.996 489.83]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.18) >>
->> endobj
-1360 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 458.936 513.996 467.912]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.25) >>
->> endobj
-1361 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 437.018 513.996 445.994]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.19) >>
->> endobj
-1362 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 415.1 513.996 424.077]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.26) >>
->> endobj
-1363 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 393.182 513.996 402.159]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.20) >>
->> endobj
-1364 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 371.384 513.996 380.241]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.21) >>
->> endobj
-1365 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 349.347 513.996 358.323]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.22) >>
->> endobj
-1366 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 327.429 513.996 336.405]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.23) >>
->> endobj
-1367 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 305.511 513.996 314.487]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.27) >>
->> endobj
-1368 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 283.593 513.996 292.57]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.28) >>
->> endobj
-1369 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 261.676 513.996 270.652]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.29) >>
->> endobj
-1370 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 239.758 513.996 248.734]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.30) >>
->> endobj
-1371 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 217.84 513.996 226.816]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.31) >>
->> endobj
-1372 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 196.042 513.996 204.898]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.32) >>
->> endobj
-1373 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 174.124 513.996 182.981]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.33) >>
->> endobj
-1374 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 152.087 513.996 161.063]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.34) >>
->> endobj
-1375 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 130.169 513.996 139.145]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.36) >>
->> endobj
-1376 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 108.251 513.996 117.227]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.37) >>
->> endobj
-1378 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1382 0 obj <<
-/D [1380 0 R /XYZ 90 757.935 null]
->> endobj
-1379 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1418 0 obj <<
-/Length 1460      
-/Filter /FlateDecode
->>
-stream
-x��Xms�6��_���Z�
BR�ә^�{��&M���܍�`�f�
�
����!6��N?!	i��쳫��3w��f�j<8{�3G!�S��
�
��)q�S�֕��ؽ��<��w�T����;
a3�ʩ\���������!�8.�`�	���/ؙ��{#���)g-
�2������T;�>V�`�
AA
�[%���A�
&WC��4�.�4
&��,ȶ��Մ"
-�x;���u����lH��B�0F��&dg'�a$�_���r�
�L�3.ɏ�KZ5�[�z
)��5?��Yزy����G�H1V/b�U��QsFL1$%sF� EDg����"M �8(�4yBA�vD��˄\\i!�j�F��B��f�d�(eT�L��*��~z\L�hB�/�K<�}������¥R�����f�Fg�n
]�c�$?�^�-2({�)%)������"pr�K]�l%A�۶
����M�`��)�+���� ^(H��b^�����(�
���K'<�>0�q܋�]���6���]�ZG$��t=�����2��4�ψC�B=����"�$io7P�h�F<J_�
�M�%��X;����抮)��PQ��؜��뾹|��pb��UP⡏V
\�&��4�'7�hL0IA����D<�|j�
�L!�XS����s+ t�`, >��������J_
��,5�(��δ�ԍbQ5B#L�U��EY��	�f�S�Lm���f%���~n�ba[wY�g�9�y�E+����:�ϩ2^]Nn������0�Vƭ�a�.;xB�g��/F�|^�9�f3m9���O�R��	���L��'�疅Pl
-���ط�a6��p��1
���!�nG��KSdž_�Bv����7vbwn
��p�=Q��ِr7�lǰ��\���@�2:��V��S�D���ҕ΂��8� �
K���J�
a[�k�􈪩c�EZ�i‘�MuV�l~ ��B�)�� �O�3��6U!�7N�;_��m�
�b�h�(ܚ������x�B�H1̘�&iQ54d�
�xk�8��2(�܍�t�BJ��9��C��-0��;,F��Fej2!�� ����#wˆ���u��T���po�V��:���
-��8���[!\,t��Tu:��^�A6k/[w\�C���\���j�(ܶ�>ap��Z�=b-w7Y��Y&6���I�K�&�����Ғzb���2Z�b�R7)7��yd��L{:�b�H��I�i2���Yt��q�� k[/�`��J�<5�&7ۼ��&�v�=-g���]l�`Z{�q����Ҙ�O���1Գ>R��ꕛ�u�{U����I���[#S�%<��g�����+�~��9Jkd�Q:ˣ:�`d�7�� ��)ֲ�N��� �їH�n����X���m6���U���l����x�j���Y]�,Ӻ��\���hO��0h�'
-endstream
-endobj
-1417 0 obj <<
-/Type /Page
-/Contents 1418 0 R
-/Resources 1416 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1420 0 R
-/Annots [ 1377 0 R 1383 0 R 1384 0 R 1385 0 R 1386 0 R 1387 0 R 1388 0 R 1389 0 R 1390 0 R 1391 0 R 1392 0 R 1393 0 R 1394 0 R 1395 0 R 1396 0 R 1397 0 R 1398 0 R 1399 0 R 1400 0 R 1401 0 R 1402 0 R 1403 0 R 1404 0 R 1405 0 R 1406 0 R 1407 0 R 1408 0 R 1409 0 R 1410 0 R 1411 0 R 1412 0 R 1415 0 R ]
->> endobj
-1377 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 721.95 513.996 730.926]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.38) >>
->> endobj
-1383 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 700.032 513.996 709.008]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.40) >>
->> endobj
-1384 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 678.114 513.996 687.09]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.41) >>
->> endobj
-1385 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 656.196 513.996 665.172]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.42) >>
->> endobj
-1386 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 634.398 513.996 643.255]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.5) >>
->> endobj
-1387 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 612.361 513.996 621.337]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.35) >>
->> endobj
-1388 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 590.562 513.996 599.419]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.43) >>
->> endobj
-1389 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 568.644 513.996 577.501]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.43) >>
->> endobj
-1390 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 546.607 513.996 555.583]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.39) >>
->> endobj
-1391 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 524.809 513.996 533.666]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.44) >>
->> endobj
-1392 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 502.891 513.996 511.748]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.45) >>
->> endobj
-1393 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 480.854 513.996 489.83]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.46) >>
->> endobj
-1394 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 458.936 513.996 467.912]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.47) >>
->> endobj
-1395 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 437.018 513.996 445.994]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.48) >>
->> endobj
-1396 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 415.1 513.996 424.077]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.49) >>
->> endobj
-1397 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 297.709 299.694 308.588]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-1398 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 299.612 513.996 308.588]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.1) >>
->> endobj
-1399 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 275.791 315.718 286.671]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
->> endobj
-1400 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 265.739 513.996 274.715]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.2) >>
->> endobj
-1401 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 241.918 362.014 252.798]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare) >>
->> endobj
-1402 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 231.986 513.996 240.842]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.3) >>
->> endobj
-1403 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 208.045 284.202 218.925]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-1404 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 198.113 513.996 206.969]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.4) >>
->> endobj
-1405 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 174.172 288.79 185.052]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-1406 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 176.195 513.996 185.052]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.5) >>
->> endobj
-1407 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 152.255 364.821 163.134]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-1408 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 142.202 513.996 151.179]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.6) >>
->> endobj
-1409 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 118.382 279.196 129.261]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-1410 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 120.285 513.996 129.261]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.7) >>
->> endobj
-1411 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 96.464 314.612 107.343]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-1412 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 98.367 513.996 107.343]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.8) >>
->> endobj
-1415 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1419 0 obj <<
-/D [1417 0 R /XYZ 90 757.935 null]
->> endobj
-102 0 obj <<
-/D [1417 0 R /XYZ 90 398.503 null]
->> endobj
-106 0 obj <<
-/D [1417 0 R /XYZ 90 366.44 null]
->> endobj
-1416 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1474 0 obj <<
-/Length 1639      
-/Filter /FlateDecode
->>
-stream
-x��Y�s�8�_���i��I(sә6���5�kҹ���!��0��ܜ��[!��1N��b������<�
��
���SH	*��[OaO
-�8%����쇈
Gc�_̣<�(���8/�_��za3	�Jb��������E쑒!�H2�M��_�7���
FL��}I����:��
�n�j�e3���.�	�̓܊u9$؏�E4�
R�����f��}|�E����"Mf�J'=�Z�^��O�$/�q���H�R�J��1��
?O��}MO�O�~?̏����^�y�
	�
-oDR�ə�Zx'�8o؊8�aV��[R
F6wBP����ʋ,�����?�R��DG����W�<.��)u�@�ZXϐ
	jǪ����h�7
��Y�j�1���˄R��Z�
�Z�X�9:e�vtJU��͛����ȒՐ��}$J�J"�S;z>����I�����!��C�+��J��[�vZ
-J+���)� �_�
�C<�H��T}��1��]
H2���c�
I�lO�#(�}]�գ�H#
-�_r�6S�zi��.�ҩ��
R^s���4q��{��4]��>�&
� �
���/5��"N�B�0
-�
	���1ŠW�W��0�$�g�7cڿ�hi���2Ș�//��ggk���-�iC-K�&��D(
ö��Ծ��`Qg��D��
�`;u"ەN�r�
�+�&�)��0�to�
-.{�);�z�*N�Zȗ�Q�>F��v��|	�[��q���h�f��w�ŝ�`n
�<��z�o].7)�*��j	��*x/�<�ń��'���^YX�/��)Nf��?�x�\��t���
���
[�_�dO}�n��:?��C�}��L렮��d��+�-[4�n��	�~|6�X�g�(�)f�V�`��M�e�
�a�
��Ȓm 	�Ž���)V�:ߋ1Š�c!�p9~%h��ё�D�Sr���i���,
P��)*���
9ڛ�}k{X����<
���&�1S��,��bffH�tB���W����
�����ucM
�䮆���bgl"��Q?�^�X���V�,�WkC�
b����
|)�2��r��U\��O�J���
t��U�؁��%�/�"�����ٴ,��)ٯ���.W4��ͳ#�
�F�Gd&�2ʎB�o���[�T���������]�Y"Қ�����?Q�k�+�L2z�����5m�Lp�Zӭ�	u3�����?C�J�*����J�p6�,��������ur�Y�L �i.��]���ޑk�L��/����oA�`¦B�x­K�T�F�6/�q\-T�S(�
�8D�1�긊�N�\ !Ɂ	�R����%MgQ,���ĺ��"D�}G;J��4��	���m���]N�D�y���]07=}Z�(
-��,`��y|3_7'y���b}R� �G�D��7���NO��Ʈ�
ET�&�����D!��	=�h�դÝb���"*w�
��a�+��_��o\
���d��D��<pZUsW@�����
-��]��)��oƳ]��%�������/FJ�hh>8�W�J=V�o^u�����P"���]Q,�������$G�$^f(.Ζ��Y'lZZp����Jً4ӕK��"2�j�b��
R4G
-endstream
-endobj
-1473 0 obj <<
-/Type /Page
-/Contents 1474 0 R
-/Resources 1472 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1420 0 R
-/Annots [ 1413 0 R 1414 0 R 1425 0 R 1426 0 R 1427 0 R 1428 0 R 1429 0 R 1430 0 R 1431 0 R 1432 0 R 1433 0 R 1434 0 R 1435 0 R 1436 0 R 1437 0 R 1438 0 R 1439 0 R 1440 0 R 1441 0 R 1442 0 R 1443 0 R 1444 0 R 1445 0 R 1446 0 R 1447 0 R 1448 0 R 1449 0 R 1450 0 R 1451 0 R 1452 0 R 1453 0 R 1454 0 R 1455 0 R 1456 0 R 1457 0 R 1458 0 R 1459 0 R 1460 0 R 1461 0 R 1462 0 R 1463 0 R 1464 0 R 1465 0 R 1466 0 R 1467 0 R 1468 0 R 1471 0 R ]
->> endobj
-1413 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 720.047 381.003 730.926]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
->> endobj
-1414 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 709.994 513.996 718.971]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.9) >>
->> endobj
-1425 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 686.174 273.666 697.053]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-1426 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 688.196 513.996 697.053]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.10) >>
->> endobj
-1427 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 664.256 309.083 675.135]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-1428 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 666.159 513.996 675.135]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.11) >>
->> endobj
-1429 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 642.338 375.473 653.217]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) >>
->> endobj
-1430 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 632.286 513.996 641.262]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.12) >>
->> endobj
-1431 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 608.465 378.599 619.344]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction) >>
->> endobj
-1432 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 598.413 513.996 607.389]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.13) >>
->> endobj
-1433 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 574.592 312.655 585.471]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-1434 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 564.54 513.996 573.516]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.14) >>
->> endobj
-1435 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 540.719 353.066 551.598]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Domain__Product) >>
->> endobj
-1436 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 530.667 513.996 539.643]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.15) >>
->> endobj
-1437 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 506.846 317.004 517.725]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1From__Covering__Box) >>
->> endobj
-1438 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 508.749 513.996 517.725]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.16) >>
->> endobj
-1439 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 484.928 271.993 495.808]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-1440 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 486.831 513.996 495.808]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.17) >>
->> endobj
-1441 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 463.011 307.409 473.89]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-1442 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 464.913 513.996 473.89]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.18) >>
->> endobj
-1443 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 441.093 373.8 451.972]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
->> endobj
-1444 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 431.041 513.996 440.017]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.19) >>
->> endobj
-1445 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 407.22 286.936 418.099]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-1446 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 397.168 513.996 406.144]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.20) >>
->> endobj
-1447 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 373.347 248.212 384.226]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-1448 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 375.369 513.996 384.226]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.21) >>
->> endobj
-1449 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 351.429 298.005 362.308]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
->> endobj
-1450 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [476.079 351.429 498.554 362.308]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-1451 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 341.377 513.996 350.353]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.22) >>
->> endobj
-1452 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 317.556 344.301 328.435]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Grid__Certificate_1_1Compare) >>
->> endobj
-1453 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [443.185 317.556 465.66 328.435]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-1454 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 307.504 513.996 316.48]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.23) >>
->> endobj
-1455 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 283.683 297.457 294.562]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-1456 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 285.586 513.996 294.562]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.24) >>
->> endobj
-1457 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 261.765 332.874 272.644]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-1458 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 263.668 513.996 272.644]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.25) >>
->> endobj
-1459 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 239.847 399.264 250.727]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
->> endobj
-1460 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 229.795 513.996 238.771]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.26) >>
->> endobj
-1461 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 205.974 295.235 216.854]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
->> endobj
-1462 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 195.922 513.996 204.898]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.27) >>
->> endobj
-1463 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 172.102 341.531 182.981]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare) >>
->> endobj
-1464 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 162.049 513.996 171.025]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.28) >>
->> endobj
-1465 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 138.229 349.311 149.108]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-1466 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 128.176 513.996 137.152]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.29) >>
->> endobj
-1467 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 104.356 304.566 115.235]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
->> endobj
-1468 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 106.258 513.996 115.235]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.30) >>
->> endobj
-1471 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1475 0 obj <<
-/D [1473 0 R /XYZ 90 757.935 null]
->> endobj
-1472 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1535 0 obj <<
-/Length 1670      
-/Filter /FlateDecode
->>
-stream
-x��Y�s�8~�_�[��� ����5io�KR_⻗����bs��\'����dc�ظ�z�	�����V��������������H4p�����)q�c���.��{�����l��ɴ��8K;]��Q7��/��g��g��Ѝ
R��9��wF���/��������V�
�2�&��ٟg��k�������i�{�p�p�|��^�`7�gѠס�͒�
���:
�Q�|q�\N��Z'�ʆ�����r�(W[����l�Q&슚���b6�y�V���R�.�w������5mR /�v���M呗!l����UB9�z��K�.
�!s�� Ax{�B,�e�*���N��G෫C ��5d�a�S0�Ɗ� VaK���TF����<�ЕE�8X��P9�3��o:��=��ڥv�;�|�
-��������Co��
9۱��V6��&~�����~HK9�yg�D�[YUɌ�I
�fq:����
�!�yN���}�<��x�Ě�E�����TeơH��
�\�q��$+*$��x��OZ6�|M��!.
����lp'NjQi�;!�
y
ٛ (�b�!��W/d�mP�|$kN{�*�q�Y `G�����^<�FZN�pW��f�CC�p3Dg��f�}�
껙!z��:�c�kTZz)�zn�͢��S)a
��(��:ʻ�Fe4��(�O��l<�8�V�������ꆮ�Y��nU��~[ �}D�h@)
��Ǧ
����$y�ԁ��

���'�Q��!��Cfpנ�ǐ�x[.Q,6�����ڢn-_��)
�9�dJe��i�<�

i�
-�L�Dậ��E+� ;�Qv�hq���,���R� hr&� J�י ۪���7��C�hɘ������7
-�
��$�jM
�(-��}�U�
�֟�\����q�g�v>�*�s��O�C��e�'��l���k����zb�/�
�r)e��#-�>���t�'�k
�
-��<��V
o8Q
���w��m"S�G�=~��-<1l��ƾ�
�Q!m�X�.;�ƾ�1j�9?`Y���b�GY�7G� #����_eѫ&%�u�;TUԔ�����$	��$	{��E�����7-g&�<�
��� [U�[1��D���y����t�(t9P������#>����?����E�t�":yģ���
�
-A�׺���]�+P��p�pC�B=b�
�n�WX��08�_�H�P�
|z�V�?]#����|)H�*��5��X�e��zE����n�SF�r���������5�
�3���5�*mk��T���ỴQ��)��^\\f3�<�`�1
k���)<&`bX#���U-���T��	�(��j"A��c��/U�oz���Z%<�c���!G
�bp/_��Ơ�
_\�*w-f�Ҳ8
˧vF	��`7
�Q�
�ʃ�@�� �)m����x�����w*M*� �R�@�h�|�Z�����"���f��¾R��ZvV��
���ai3�r3�g�D�~�4�����(s�Y�w}�e
��L-��
-�
���a
-�T?q�� 	�B��ɇs����=� �g_u|�5��D��~�Q��M���j�
�QBHLpIKnm�Wǎ�Pa���KB^���e9�8?_.�hT�E�s���yr�|V�=�R�hs�l������;��ͻմ
-endstream
-endobj
-1534 0 obj <<
-/Type /Page
-/Contents 1535 0 R
-/Resources 1533 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1420 0 R
-/Annots [ 1469 0 R 1470 0 R 1495 0 R 1496 0 R 1497 0 R 1498 0 R 1499 0 R 1500 0 R 1501 0 R 1502 0 R 1503 0 R 1504 0 R 1505 0 R 1506 0 R 1507 0 R 1508 0 R 1509 0 R 1510 0 R 1511 0 R 1512 0 R 1513 0 R 1514 0 R 1515 0 R 1516 0 R 1517 0 R 1518 0 R 1519 0 R 1520 0 R 1521 0 R 1522 0 R 1523 0 R 1524 0 R 1525 0 R 1526 0 R 1527 0 R 1528 0 R 1529 0 R 1530 0 R 1532 0 R ]
->> endobj
-1469 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 720.047 412.755 730.926]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked_3_01Checked__Number_3_01T_00_01P_01_4_01_4) >>
->> endobj
-1470 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 721.95 513.996 730.926]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.31) >>
->> endobj
-1495 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 698.129 354.169 709.008]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-1496 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 700.151 513.996 709.008]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.32) >>
->> endobj
-1497 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 676.211 308.366 687.09]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-1498 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 678.233 513.996 687.09]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.33) >>
->> endobj
-1499 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 654.293 288.421 665.172]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
->> endobj
-1500 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 644.241 513.996 653.217]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.34) >>
->> endobj
-1501 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 620.42 303.176 631.299]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-1502 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 622.323 513.996 631.299]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.35) >>
->> endobj
-1503 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 598.503 344.446 609.382]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction) >>
->> endobj
-1504 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 588.45 513.996 597.426]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.36) >>
->> endobj
-1505 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 564.63 329.582 575.509]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-1506 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 566.532 513.996 575.509]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.37) >>
->> endobj
-1507 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 542.712 416.73 553.591]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-1508 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 532.659 513.996 541.636]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.38) >>
->> endobj
-1509 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 508.839 338.912 519.718]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-1510 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 498.786 513.996 507.763]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.39) >>
->> endobj
-1511 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 474.966 310 485.845]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-1512 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 464.913 513.996 473.89]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.40) >>
->> endobj
-1513 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 441.093 310 451.972]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-1514 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 431.041 513.996 440.017]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.41) >>
->> endobj
-1515 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 407.22 276.615 418.099]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-1516 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 409.123 513.996 418.099]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.42) >>
->> endobj
-1517 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 385.302 295.063 396.181]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-1518 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 375.369 513.996 384.226]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.43) >>
->> endobj
-1519 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 351.429 289.158 362.308]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-1520 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 353.451 513.996 362.308]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.44) >>
->> endobj
-1521 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 329.511 354.206 340.39]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction) >>
->> endobj
-1522 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 319.578 513.996 328.435]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.45) >>
->> endobj
-1523 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 295.638 273.945 306.517]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Throwable) >>
->> endobj
-1524 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 297.541 513.996 306.517]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.46) >>
->> endobj
-1525 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 273.72 263.893 284.6]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-1526 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 275.623 513.996 284.6]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.47) >>
->> endobj
-1527 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 251.803 310.189 262.682]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Variable_1_1Compare) >>
->> endobj
-1528 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 241.75 513.996 250.727]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.48) >>
->> endobj
-1529 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 217.93 286.03 228.809]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-1530 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 219.833 513.996 228.809]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.11.49) >>
->> endobj
-1532 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1536 0 obj <<
-/D [1534 0 R /XYZ 90 757.935 null]
->> endobj
-110 0 obj <<
-/D [1534 0 R /XYZ 90 203.235 null]
->> endobj
-1537 0 obj <<
-/D [1534 0 R /XYZ 90 171.172 null]
->> endobj
-114 0 obj <<
-/D [1534 0 R /XYZ 90 171.172 null]
->> endobj
-1533 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1574 0 obj <<
-/Length 1111      
-/Filter /FlateDecode
->>
-stream
-x�՘[S�6���)�V{�(�X�0��f�a�n)�}�
�pDp׷���|��f�P
-lC2�'K�|t��9K��ԁ·��x0:	��8��3�ub�#g<q�� o� ���w�S螱r:cSnj�e��-KU5
-I���2�8x?
| 9
-t��JC����
t&����#g�{���|����|�CL 
���8gM�=h���•OP |9C�A�}v�1]�ƹR9ͦ���o��bj'q���9�{��L,9���
���e7�����i�
�����'����Uob�Ҧv�g�e�a0��
�'�D��Q�ᗵ���!���cg�0�)��0��K>ϊ.��b@��%����w<;�'�� 	�g��u�	�����������;W�x�x�?&2!�p�aH@�
~
L��{.�����"�5U��ʅ��I	����)Ēg
H6��%Hr�A���įfЅГ�k9�p[�B9+���J���0�bV�9/x�f�Դ0�fs^�b����(u�
�>ZQ)�>V
�mw=�w�RA�Pk�nr�=H;?W���t���y�Z\�������B����|�V
�ڶ$���H�+��H��K�
U��Y����5����u�a\p��iΓӲ�����6 l7u��B�m�ic�?ɤ�4YeS��}�=s�Q�25��$� [...]
o��Y�~��]����U9Y�
f{��/Mfn_Ħ��V�$���q�=F��Z��HwD�
M���K^5����.Q�z�I\�W�̤�J�}��NŌ�)��.Î�B=��(z핰�
-�@�$�W�4�>V�LEc���k��T���'�����+gݮ�Rh��g
�]�|��7$2�.ywB03��t�O�ꚮ����_y޵m}8-
�6`Vf� Y;��|����+rY��H�ST�wc�X���zH�� 
�
-endstream
-endobj
-1573 0 obj <<
-/Type /Page
-/Contents 1574 0 R
-/Resources 1572 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1420 0 R
-/Annots [ 1531 0 R 1553 0 R 1554 0 R 1555 0 R 1556 0 R 1557 0 R 1558 0 R 1559 0 R 1560 0 R 1561 0 R 1562 0 R 1563 0 R 1564 0 R 1565 0 R 1566 0 R 1567 0 R 1568 0 R 1569 0 R 1571 0 R ]
->> endobj
-1531 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 697.247 325.112 708.151]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
->> endobj
-1553 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 684.296 427.762 695.2]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked_3_01Checked__Number_3_01T_00_01P_01_4_01_4) >>
->> endobj
-1554 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 671.344 371.747 682.248]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-1555 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 658.393 377.356 669.297]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-1556 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 619.539 291.652 630.443]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Throwable) >>
->> endobj
-1557 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 580.684 336.554 591.588]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1From__Covering__Box) >>
->> endobj
-1558 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 541.83 309.565 552.734]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-1559 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 502.976 282.038 513.88]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-1560 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 464.122 326.869 475.025]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Variable_1_1Compare) >>
->> endobj
-1561 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 425.267 324.1 436.171]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-1562 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 386.413 324.677 397.317]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-1563 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 347.559 385 358.463]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) >>
->> endobj
-1564 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 308.704 290.357 319.608]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-1565 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 269.85 327.447 280.754]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-1566 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 230.996 322.994 241.9]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-1567 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 192.141 383.317 203.045]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
->> endobj
-1568 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 153.287 288.673 164.191]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-1569 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 114.433 331.303 125.337]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-1571 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1575 0 obj <<
-/D [1573 0 R /XYZ 90 757.935 null]
->> endobj
-1576 0 obj <<
-/D [1573 0 R /XYZ 90 716.221 null]
->> endobj
-1572 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F72 471 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1598 0 obj <<
-/Length 1000      
-/Filter /FlateDecode
->>
-stream
-x�ݘ�s�&�����ݬk�	���v��4m���͒����MF
�q���P,;�u��:}%���ዞ��;'�N�,�A���`4	Q�!%��ছ@��0B�{���#u?21_�9��
������ȏ�!�>��w~u��`�p�+�`�S�.:7����� A?���j� ��5ם�;�V�6�R���~
"�CR+��Z}޽nzT�OsV��#H�keWU3���i�����O%�&�ɇ��s��"���R��`��T�L���B�>�}�E�Zy��0 ��S�
-�UX���J�鳪)<����.1{)+u���������ȞӣA����70;�<��m F��28��t|΅5N��x�s����X�|�q�.��
�.��I-
>�0k� xk�Kf�,�rP
��w�E&����e�������S.Uv�I���r������r:��^J���'���ç\V��_gS.21�I/7M����
K%W�:0c9�@�
-�P,o<�iO�|d%vi���~%2g������^�/w�~S6
_�#M��1�+�3��a�	��]V�\�Ǘ�5����$/�
C&��6O��t�!���=Xn��	+�b�ĵq��=��_�����//��,&�
)v;��̾����׀���a�"��D�a[7��3��u�hV��>4�;S<h`9L�����0�g�{�<>��ߊ�yQ:7u�Wϣ%���
���ox�˒�,�����2��
guDy��"7���0�<H�ā9z�T�l�l�5B�'��I�SݳR����≮C#L�{�����O�]’�o�ͬn^�e6q�l��,U��Y�����>�
�P
�a�;�
a�q}�LHw�f
뢛����Ψ-�Qr��Gi��V.�X�����{��e�
"h��e��|
� bG�pw̱8�Ћ������Sj9����5LK��R�L��˼�¶5j��2j:i٢���ו�*��������
-endstream
-endobj
-1597 0 obj <<
-/Type /Page
-/Contents 1598 0 R
-/Resources 1596 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1420 0 R
-/Annots [ 1570 0 R 1577 0 R 1578 0 R 1579 0 R 1580 0 R 1581 0 R 1582 0 R 1583 0 R 1584 0 R 1585 0 R 1586 0 R 1587 0 R 1588 0 R 1589 0 R 1590 0 R 1591 0 R 1592 0 R 1593 0 R 1595 0 R ]
->> endobj
-1570 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 719.912 391.626 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
->> endobj
-1577 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 681.239 296.982 692.143]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-1578 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 642.566 346.237 653.47]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-1579 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 603.893 406.559 614.797]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
->> endobj
-1580 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 565.22 311.916 576.124]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-1581 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 526.546 331.861 537.45]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
->> endobj
-1582 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 487.873 376.692 498.777]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare) >>
->> endobj
-1583 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 449.2 312.483 460.104]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
->> endobj
-1584 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 410.527 357.315 421.431]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare) >>
->> endobj
-1585 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 371.854 327.437 382.758]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-1586 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 333.181 294.78 344.085]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-1587 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 294.508 305.301 305.411]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
->> endobj
-1588 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 255.834 313.589 266.738]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
->> endobj
-1589 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.544 241.304 273.474 251.209]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-1590 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 217.161 306.407 228.065]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-1591 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 178.488 320.793 189.392]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-1592 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 139.815 267.104 150.719]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-1593 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 101.142 360.28 112.046]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-1595 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1599 0 obj <<
-/D [1597 0 R /XYZ 90 757.935 null]
->> endobj
-1596 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F11 418 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1617 0 obj <<
-/Length 1277      
-/Filter /FlateDecode
->>
-stream
-x��X[s�6~��`�5��,!�%��Lv���47�n�
6�M
�
�����M��ܚ�BH�s���$h�
h|�u��
l��w,��
�� ��1
-�����C��w�̞E`�4H��`N��qZ�|Lū�b��`����q���A�/�@�T�c�t��A#��'���U�*1l
�gl
;t���g�9��#� {�� @Ȗ�_[������
��L�(��`>W�^VK�a�n�'�x�����y0>�&y��޳���'�6U 
��Ⴊ��*�4���
���I��<��-����'�2<�ձ��
rl�B�l��
-�C�T�J5�SZA
�k91�YA�_�KT�
�#�y
��b��<79�tZr�c*��(�evϲ�cs�,
|���
��� �m�z6 ���Zdx\�c�� pI;;�LC�x�L�ugT��NU��]O��ѿ�.2gi�I��p<��H��
<��A*�e\y�ne��A�����X�/i���K[Z�����+��JGV�8��g�G��1��ކ��
-���0�M�t���&
-��-*ddh�����
�"h���	�@J�T��$��7K��e�5,��c�*�o�bbD�+P,��� {~�_��s��d���3�;q�A�#F���Z�?�G��C~�HV�(�㵤���
-iAKD<�>�m5�l�jc`��#i���x�I��&Ӷ5��=M����+&�DGo�ś���3O�A��d�8�M�`�&���l3�*��h�S��
�c08��<s��Eᆵr�V�UmҺ(iRKPG·�6
�i���m
?亼K�
PP[�����It9{�+�W\dU��)��T?����=yt���QL�qʓ�n�,��Z�r"�"�O`+�A�3h}��_� ��ܽ�$��l0�Cb͜�� 8���`~I�N�"ǘ6?�	X����[�o�nt\M9���Ҟ�I��[�۲
w5F�WUD���AB��g�bKB�
�eUE�Cv3�j�O`��b|��<(Y^<���8�$d˲ϖ%(�ͨ��g��
Ծ
��jJt�)��?�_���	kQ�O�N"�C	�2��U���]·U��g�B%�
����~�

_���O..���"x�U���#A�L&4ot�z]�2oTj�iv�5��
�����ַ��]���G'��F��A�^u���u���KA�E*RQq�K}+u
	��xE�K���O�=��
RM���oC�~�D6�E�
0�+�,��~�Z�i�i�� *�Y�o{ֆQ�k!��-a9��O&Ay�����*�{
-endstream
-endobj
-1616 0 obj <<
-/Type /Page
-/Contents 1617 0 R
-/Resources 1615 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1420 0 R
-/Annots [ 1594 0 R 1600 0 R 1601 0 R 1602 0 R 1603 0 R 1604 0 R 1605 0 R 1606 0 R 1607 0 R 1608 0 R 1609 0 R 1610 0 R 1611 0 R 1612 0 R 1614 0 R ]
->> endobj
-1594 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 706.961 302.527 717.865]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-1600 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 668.107 318.577 679.01]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-1601 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 629.252 345.685 640.156]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-1602 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 590.398 371.159 601.302]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction) >>
->> endobj
-1603 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 551.544 389.978 562.448]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction) >>
->> endobj
-1604 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 512.689 356.763 523.593]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction) >>
->> endobj
-1605 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 473.835 419.706 484.739]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-1606 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 434.981 329.645 445.885]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-1607 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 396.126 312.788 407.03]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-1608 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 357.272 353.764 368.176]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-1609 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 318.418 303.478 329.322]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-1610 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.107 237.655 327.956 248.559]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_1_1IO__Operators) >>
->> endobj
-1611 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.107 198.801 173.725 209.705]
-/Subtype /Link
-/A << /S /GoTo /D (namespacestd) >>
->> endobj
-1612 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.731 119.015 251.782 128.942]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_ge19dfe022c51c874d905e2a7c81c18f1) >>
->> endobj
-1614 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1618 0 obj <<
-/D [1616 0 R /XYZ 90 757.935 null]
->> endobj
-1619 0 obj <<
-/D [1616 0 R /XYZ 90 254.726 null]
->> endobj
-1620 0 obj <<
-/D [1616 0 R /XYZ 90 137.012 null]
->> endobj
-1615 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F72 471 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1662 0 obj <<
-/Length 1365      
-/Filter /FlateDecode
->>
-stream
-x��Y[s�H~�WP�
5+6�撷DI��Fѭ�d�"�*5.`R����{�o!A���>�\��9�9���qSq7�+�R���MM�8{™��5IIJ��c�7EI�J!����P�1�[n0]�S��AB��;����輦
-��/ˮ�]��
-�*�E]��ȯ�G��ᐨ������TY���W�*(�m{�і��DU18]VD�a��,���w�}���Br@җԩh�z�[}F��v[�������s�lwz�X�#	�<ͮ�k]�
pOS�{�,j��U%U4$�yg�R�|/#6
��#I��]��;�
��	�b���;$U37�$�P�NR�6� �'�4M�
M� �D	�O

���ؕe
��_�1vba�&�H���,�x�\��3�
vX��X(/f��O�F�|��&�T2x��s��K؜�1I��ԟ0xh�2L���'A�
Ɓ��R:����iqij0�O��م"/���>˟���%��8��`�ƣ0H\/X�Q�{R_UL\U�L��t�Y�1��;��ˤ�2�
�H��Ҁ���I
-����F��t��ˌ�#�iy���\\�=(�Cq
����TQ� 9
Ș�y��	*��ʓy�7��M2�fվ`�Jw��x�D�=�?N��˱O�0zq�),��2stu̮�/	��8�rP�X���z�jێ��k���z�2Nŕj�
-ݝ{n��/��7OY
\���lrN�$gD
]��h\^y�Fӂ�DnBgʡң��� �	i�x9O����[���j&p������51�;�e�^������"�NK0e�2�f.�f	�`	�XD[�n�)$|�Xw�24;m�����R|�]~�k~����*���c�/
�N�}�l7�oejO�Zq�n��4tb׭��`��vUC-
��:.�b��p���stH���P��v��t].��>����s�G�N��Fs��e�h�9�D��;���~�"Q
��2��T���N�
������A�S�\
���4��t�着!��z��x�
-W)d��D�lk3�h���UTL�
%]�>�E��� ��4߷ݼF�Cv��)K���1w��8�
�Y�LF�O��V�Ma�䌌�?�.<�渑��|�x��c��d��~�����W�
-ʷ.�1�������:{5���H����z���p��A��2)K� �h�*�Mxreh��@�:�ҡ���6L7�i�հ��$���z?�D>;��DS�
�� �"�N��Ƕ���,�����$�]��O�խ,������"���
��+I�
-L�>�(Xd?�l�n;񖿒��
-�����Y�,.j���gq���[D����y��t
dB_����~� ࡟3Ł�\�hL
-endstream
-endobj
-1661 0 obj <<
-/Type /Page
-/Contents 1662 0 R
-/Resources 1660 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1676 0 R
-/Annots [ 1613 0 R 1622 0 R 1623 0 R 1624 0 R 1625 0 R 1626 0 R 1627 0 R 1628 0 R 1629 0 R 1630 0 R 1631 0 R 1667 0 R 1632 0 R 1633 0 R 1634 0 R 1635 0 R 1668 0 R 1636 0 R 1637 0 R 1638 0 R 1669 0 R 1639 0 R 1640 0 R 1670 0 R 1641 0 R 1642 0 R 1643 0 R 1671 0 R 1644 0 R 1645 0 R 1646 0 R 1647 0 R 1672 0 R 1648 0 R 1649 0 R 1650 0 R 1651 0 R 1673 0 R 1652 0 R 1674 0 R 1653 0 R 1654 0 R 1655 0 R 1656 0 R 1657 0 R 1658 0 R 1675 0 R 1659 0 R ]
->> endobj
-1613 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.731 720.889 251.225 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g8458e58a5e857de11c35ce3076a70ab8) >>
->> endobj
-1622 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.731 682.286 264.505 692.213]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gbadfeba0a415d210cdd6d7309365e800) >>
->> endobj
-1623 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.731 643.683 243.105 653.611]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g7a529f51bfebdd4b3e69c866dced9bc1) >>
->> endobj
-1624 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.731 594.121 213.038 604.049]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g79bd3696a302bb721ef8168fa5d650fb) >>
->> endobj
-1625 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.012 512.747 348.737 523.651]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-1626 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.012 474.145 360.902 485.048]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-1627 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.455 435.542 421.554 446.446]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-1628 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 355.144 277.077 366.048]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga88e9b9cb2588cbf5914695fc14e69a8) >>
->> endobj
-1629 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 339.33 288.972 350.233]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a896b8890edb38e9960c455aa178e508ba) >>
->> endobj
-1630 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [292.743 339.33 429.25 350.233]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8b30277f972f730fe26f6cfc39098cc77) >>
->> endobj
-1631 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.021 339.33 513.996 350.233]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8e704947d33ff1b60a2475950d5f18ec3) >>
->> endobj
-1667 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 327.374 176.774 338.278]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8e704947d33ff1b60a2475950d5f18ec3) >>
->> endobj
-1632 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.763 327.374 318.292 338.278]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a89f5dce9506b72773425c0504845d8e4e) >>
->> endobj
-1633 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 311.56 252.44 322.464]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8d5e386c6a05c9656eac42fe9e2cdd8b5) >>
->> endobj
-1634 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.018 311.56 411.442 322.464]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8c77955fc77a169347da8820b46c3247b) >>
->> endobj
-1635 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.021 311.56 513.996 322.464]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a86c817c11198882f3864d8ace4ec326dd) >>
->> endobj
-1668 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 299.605 176.774 310.509]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a86c817c11198882f3864d8ace4ec326dd) >>
->> endobj
-1636 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.763 299.605 324.379 310.509]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a80d808c2d0d6514c33e06445d7aa34270) >>
->> endobj
-1637 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 283.79 326.043 294.694]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8bd640c30f757e4ecccd08ac527536ca6) >>
->> endobj
-1638 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [359.975 283.79 513.996 294.694]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8a7ce2ad16ee907ff9d31eeb1cda41834) >>
->> endobj
-1669 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 271.835 170.398 282.739]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8a7ce2ad16ee907ff9d31eeb1cda41834) >>
->> endobj
-1639 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.718 271.835 380.11 282.739]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8979f37a289d4cb316643f1dcc07ec7cd) >>
->> endobj
-1640 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [385.429 271.835 513.996 282.739]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a805e540f453fd070a4e4c0fdd887f4b7a) >>
->> endobj
-1670 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 260.597 193.651 270.784]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a805e540f453fd070a4e4c0fdd887f4b7a) >>
->> endobj
-1641 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 244.065 267.035 254.969]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a89606fc251d767040929d3e2645dbb446) >>
->> endobj
-1642 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.224 244.065 470.211 254.969]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8e0c660bfcbcd3d10c3e764e22f41d0a1) >>
->> endobj
-1643 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.4 244.065 513.996 254.969]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8057025d0ff550a2226a0a1273c84b4f6) >>
->> endobj
-1671 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 232.11 257.172 243.014]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8057025d0ff550a2226a0a1273c84b4f6) >>
->> endobj
-1644 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.161 232.11 449.051 243.014]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8a1bf7bec2cb0d949e45c3cd0e25874a6) >>
->> endobj
-1645 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 216.296 298.925 227.2]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a85912e00d1de38a643d48af1f0e5dd35f) >>
->> endobj
-1646 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.901 216.296 473.424 227.2]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8fda2f32e2fc3f61357ce0d9d7813f5fc) >>
->> endobj
-1647 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.4 216.296 513.996 227.2]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8930a62d56d7231cdb1ed57e1d3eff0f7) >>
->> endobj
-1672 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 204.341 282.636 215.245]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8930a62d56d7231cdb1ed57e1d3eff0f7) >>
->> endobj
-1648 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.625 204.341 472.314 215.245]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8bd1bad185f4622d07b171767dafc78b6) >>
->> endobj
-1649 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 188.526 292.997 199.43]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8a0f28596ac7d4a43766fab174c28ccab) >>
->> endobj
-1650 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.914 188.526 473.484 199.43]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8261922c7bb53bf71459671df868e55da) >>
->> endobj
-1651 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.4 188.526 513.996 199.43]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a80905d51325862cb4db00635875efcff8) >>
->> endobj
-1673 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 176.571 346.018 187.475]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a80905d51325862cb4db00635875efcff8) >>
->> endobj
-1652 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [385.429 176.571 513.996 187.475]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8202263943c451b9fdfe003b2bc8d0b1f) >>
->> endobj
-1674 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 165.333 250.846 175.52]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8202263943c451b9fdfe003b2bc8d0b1f) >>
->> endobj
-1653 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 148.801 307.792 159.705]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8fdd3365de1a07c7f7bdd1dc330bba8f4) >>
->> endobj
-1654 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.154 110.199 312.793 121.103]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-1655 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.796 110.199 511.506 121.103]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg25ea3a289eadef732f4c7fd823387fb2beee33de6f8542b0228161d044640eaa) >>
->> endobj
-1656 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 98.244 279.717 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg25ea3a289eadef732f4c7fd823387fb2a57b0c1a34eced57ca8437eea92a4328) >>
->> endobj
-1657 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.543 98.244 473.247 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg25ea3a289eadef732f4c7fd823387fb20f182c5824807f7bc66d2d2033810feb) >>
->> endobj
-1658 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.4 98.244 513.996 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg25ea3a289eadef732f4c7fd823387fb2eafcc7ca16bda73dc6b0f7deaf9470dd) >>
->> endobj
-1675 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 86.288 301.595 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg25ea3a289eadef732f4c7fd823387fb2eafcc7ca16bda73dc6b0f7deaf9470dd) >>
->> endobj
-1659 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1663 0 obj <<
-/D [1661 0 R /XYZ 90 757.935 null]
->> endobj
-1664 0 obj <<
-/D [1661 0 R /XYZ 90 661.674 null]
->> endobj
-1665 0 obj <<
-/D [1661 0 R /XYZ 90 529.692 null]
->> endobj
-1666 0 obj <<
-/D [1661 0 R /XYZ 90 373.992 null]
->> endobj
-1660 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1739 0 obj <<
-/Length 1400      
-/Filter /FlateDecode
->>
-stream
-x��XYs�H~ׯ�j�ш�&o��9�"�T�N�B0��r(������o3�%d
�R�'�a�����F��,�o�s�KCld�!���-
����`�
��FXjbY���3�������Ÿ��%�o��.-S5EC���W
�m�l`�"
�����Tu!H7�e!��+AF�m	wթD���0n|j�������T
,64j1Vl$[���H6tf�([�a�N��a�K`	�(K
�w����ϣr��2
-�:Ȓ�����d�)�K]^�\SQ��)pU�ͣ�MQ�
�MS�X�t��}�|��4�Nh�&%��m��
��~F�����$����o/}:%)���xNL��uET��	Z�����h���ovɴ�f�Bcd�
��
-����Z��b�ߓq��!l��NC��1u�4� g�
|"i�8�0�:�+{J�]R�l'(�a�|-�	{C6"qEMo|�L����=
�G�x�#��:��~h��&�MS�,�����|��\Sp�ݣ5�ϡ׋4
���Ӗ0Ƣ�Ns�Bq�'
-���Ao�j��׋ӲrIZ�bE����0Ր��x�C���OT�{�_u= E�W[wji�w6
-���Y����,~�z�v�;�]�Kg�R���T{���N%�TK��<H�v��noNc�L�+���Y�Y3���W�����2��Q�˪z/�vU����\�k\�u��^�/^[:��ZWz�/{����P���E4�y3���v������
�a����7���v��2
^��p���_:�q�]��*;F��`�{�}������u�¹��<Yk^�� �C���kޭ䷳pQ�Aj��?f�K�.V��ſ�)�	�a�ƌ�T������*��d+t��A�&�j��T�1}9.�x 3�0vgy&)�xG?�z�u���e�H��}&S�UvfC=���3�h����ALN�ڟ�iՓ5�9I�����.��>�
�x7u��	x���,�c/7��/;�d�X����>����Wc�)}W�_�"�#�i;ؐj��T�fb�%
�,�w�t�Y+�[�]�/���
.����p������U	0!�ܽ1E���}Ȝ��7��T�C [...]
Fl[~�
-U�����O�ɒ��
v�
˪� {��|��>�;����Y�G�i�����ʀR��c�WU���b�&�W�'
*���a��t]��OI�E�U=?]P��o�.��‘GXF
-<��
���s�y�����H
��f/�L��ʲ6��r��պ��CA�i4�QT����^֤@�4WBVْNJ�|[����;�
-endstream
-endobj
-1738 0 obj <<
-/Type /Page
-/Contents 1739 0 R
-/Resources 1737 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1676 0 R
-/Annots [ 1714 0 R 1715 0 R 1716 0 R 1717 0 R 1718 0 R 1719 0 R 1720 0 R 1721 0 R 1722 0 R 1723 0 R 1724 0 R 1725 0 R 1741 0 R 1726 0 R 1742 0 R 1727 0 R 1728 0 R 1729 0 R 1743 0 R 1730 0 R 1731 0 R 1732 0 R 1744 0 R 1733 0 R 1745 0 R 1734 0 R 1735 0 R 1736 0 R ]
->> endobj
-1714 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.67 696.002 337.141 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g616fcdc7600a3a11a8a9152e75730899) >>
->> endobj
-1715 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.176 696.002 511.506 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg616fcdc7600a3a11a8a9152e757308990edf84fcb94023ff4a7183bf3f8dace5) >>
->> endobj
-1716 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 684.047 260.748 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg616fcdc7600a3a11a8a9152e75730899c7753e1dd51e1b7b3fdfafa9f8332370) >>
->> endobj
-1717 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 645.192 321.36 656.096]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-1718 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 629.252 282.885 640.156]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae556cc08f48e769b9c15bea83d5d883a1) >>
->> endobj
-1719 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [318.122 629.252 511.506 640.156]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312aed8db7109fb4bb50360b05800dd245416) >>
->> endobj
-1720 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 617.297 260.241 628.201]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae3e4424ce8e7ebe86e125541b561fc300) >>
->> endobj
-1721 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.229 617.297 478.192 628.201]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae079e4b80f17b0095497103a52cffa3ab) >>
->> endobj
-1722 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 601.357 304.464 612.261]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae94cf20719046117aece5acba61dcae4d) >>
->> endobj
-1723 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.453 601.357 478.839 612.261]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae8191bdbdcd041a9859ed465d16062ab1) >>
->> endobj
-1724 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.926 562.503 358.474 573.406]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-1725 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.021 562.503 513.996 573.406]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg113f1e845cba6b1c3c5705d0e14f1cc171c9b0459dc8ba8cc0c8178b6cf4f017) >>
->> endobj
-1741 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 550.547 285.356 561.451]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg113f1e845cba6b1c3c5705d0e14f1cc171c9b0459dc8ba8cc0c8178b6cf4f017) >>
->> endobj
-1726 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.003 550.547 513.996 561.451]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg113f1e845cba6b1c3c5705d0e14f1cc1b39e3c667ce455313f8ff578722af2e9) >>
->> endobj
-1742 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 538.592 180.102 549.496]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg113f1e845cba6b1c3c5705d0e14f1cc1b39e3c667ce455313f8ff578722af2e9) >>
->> endobj
-1727 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.09 538.592 386.925 549.496]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg113f1e845cba6b1c3c5705d0e14f1cc140409716eac06f7ee5c44a200d3702f0) >>
->> endobj
-1728 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [169.481 499.738 363.362 510.642]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gac82e7e0179442ef589f2fc61302d654) >>
->> endobj
-1729 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.021 499.738 513.996 510.642]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggac82e7e0179442ef589f2fc61302d654324bf568397fdfc332a4c06e7a4facf5) >>
->> endobj
-1743 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 487.783 222.143 498.687]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggac82e7e0179442ef589f2fc61302d654324bf568397fdfc332a4c06e7a4facf5) >>
->> endobj
-1730 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.132 487.783 412.907 498.687]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggac82e7e0179442ef589f2fc61302d6540e1a601a53491f60c89282fde55b5352) >>
->> endobj
-1731 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.818 448.928 366.69 459.832]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gdf9d6f17d8974c81e3499f170e7762a2) >>
->> endobj
-1732 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.021 448.928 513.996 459.832]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggdf9d6f17d8974c81e3499f170e7762a253f4353b82f1a10a08b1e756bb7c84ad) >>
->> endobj
-1744 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 436.973 286.532 447.877]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggdf9d6f17d8974c81e3499f170e7762a253f4353b82f1a10a08b1e756bb7c84ad) >>
->> endobj
-1733 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [306.845 436.973 513.996 447.877]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggdf9d6f17d8974c81e3499f170e7762a2b2bc77b49f9450faf5b5f8ca5374421d) >>
->> endobj
-1745 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 425.018 162.558 435.922]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggdf9d6f17d8974c81e3499f170e7762a2b2bc77b49f9450faf5b5f8ca5374421d) >>
->> endobj
-1734 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.546 425.018 406.63 435.922]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggdf9d6f17d8974c81e3499f170e7762a278fc3e83d58f3eb97a8041b600870a05) >>
->> endobj
-1735 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.892 344.256 469.663 355.16]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g00a906832c41c42a70a5c9d194e07a7d) >>
->> endobj
-1736 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1740 0 obj <<
-/D [1738 0 R /XYZ 90 757.935 null]
->> endobj
-1746 0 obj <<
-/D [1738 0 R /XYZ 90 363.229 null]
->> endobj
-1747 0 obj <<
-/D [1738 0 R /XYZ 90 306.936 null]
->> endobj
-1748 0 obj <<
-/D [1738 0 R /XYZ 90 218.655 null]
->> endobj
-1621 0 obj <<
-/D [1738 0 R /XYZ 90 196.344 null]
->> endobj
-1749 0 obj <<
-/D [1738 0 R /XYZ 90 196.344 null]
->> endobj
-1677 0 obj <<
-/D [1738 0 R /XYZ 90 159.058 null]
->> endobj
-1750 0 obj <<
-/D [1738 0 R /XYZ 90 144.487 null]
->> endobj
-1678 0 obj <<
-/D [1738 0 R /XYZ 90 111.296 null]
->> endobj
-1737 0 obj <<
-/Font << /F63 374 0 R /F72 471 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1778 0 obj <<
-/Length 2073      
-/Filter /FlateDecode
->>
-stream
-xڽX�s۸�_�I*�E0I� �>�
%��_��2s��h(
-�أH���s���b��hKm�}� �������l��������V�"�
-k��"�
-��|ױ�
��0b�h�ض=��������M��v�J��:�e��
��B�~�~L��
8Ŷ
��X�}+�
��n[
��lƣ�zR�6��rh3�����*B�3[�
B�2�Q�e!�ٶ�kt7�/�����w��ɗk�Ќ�(/>�v��m���	�#�ӵ�Rʑ���UZ�D�w��,�_,����C��}��CY�6F�u$��˜�#�wR"���c3��i1�ц�.�|E����8͛�i�Lod�%�[';�	��Z��[ĸ�q��c�"B�fs��B�E
�9�H��TD���HҸ�
��
�����ݧ�G�FT���w��o�&�>g��>
��P���ʤN��(�e�#��h,܀\��b�,�M\c�W����m��V}j�|�ž��&o�������#��͋zM �o��f�v߃��`({��Y4�61Ԧ�ƞ���Z{���@~�LGG��l�"�e���9��m 1\c��,��=L=��X�4ޖRS�N�8{�Q�xb��qL�`�^�)�F�9��"R�x �_��yILNj��:��4�>#�n��X�K��H\$���6

�,�p)���શ���X�q#0/�0�2��SҠW
$���]	�<NU{QqF9.vP�3�ɇ�Q�
��r!u�z_$����_c2ӑ������&���U�C�j
w� �M<{����\���&��q�|y�H��3�qF�ҩu�V9�j
�P^`8]�q�srS��Q])�l�$�jK	t
չ�c�-�Fn��yF{�����{܆���Z��
ާ
t֫�ɇ�Wד��l����L�\r��M��W��w�gi\
.�*ʹ�y�9.g��*�N00Y7P��:�~�H�x��h5[�]
r!2�X�
�*eI�SP�n���4+	*һ��wd
g;���F�$�R�vp��2��4�qI}��O�q#d+����rK�j�J�kC\�\�q]�D��R4���._
���OU!H��*�W�XW�9��r+[�T�
m
 �LA�A�.��i0�V����"[���ED%��n&{2��6��q�����Q���P�	�m�o��R��
x9c�qR���8�\^���y��<����`���R~s]������@�����r�_^�j�Ï��k�d�<�KЯQO
��i�
)�r(�ݕ����X��݄.�M`P��t
փڽ)�6��$����~
.�^�o
�m@�?kxk���o�`�A�U��TA*�/<�@U��(h�^�ڧL�l�؈\wY�<��^���
�������8�5{�Wu�'�9��'�o��o}\p����O.fw�x=8ّ-��EÛ�r4��h���GCZ�
�q�������ŽϝQ2��L�~�p���2�*�Z�A��=.p�~���y���	��Y��L\��.����6&z
�_q��np�vHX�RƘ�(
�Y<��6�a7��ǢR,E?c��
�l��s�^wH��0�i
K�t���8AS�	��P
1�.M��Vx�jf$���ߘ���V�h��H;
A� [...]
�.��_q��	��W��O�(��
�#���?�x<�n=4�[��˚_+Y�u�Z#���ylbdl��>�)��3����$����}��=^'
���y]��ˋ���'�Tl��ے���v�]
[��Ł¸a�<��ۄf�g=�#��}�m�
-endstream
-endobj
-1777 0 obj <<
-/Type /Page
-/Contents 1778 0 R
-/Resources 1776 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1676 0 R
-/Annots [ 1773 0 R 1774 0 R 1775 0 R ]
->> endobj
-1773 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [131.844 334.133 188.471 345.037]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-1774 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.339 302.253 267.719 313.157]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-1775 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1779 0 obj <<
-/D [1777 0 R /XYZ 90 757.935 null]
->> endobj
-1780 0 obj <<
-/D [1777 0 R /XYZ 90 733.028 null]
->> endobj
-1679 0 obj <<
-/D [1777 0 R /XYZ 90 705.341 null]
->> endobj
-1781 0 obj <<
-/D [1777 0 R /XYZ 90 690.771 null]
->> endobj
-1782 0 obj <<
-/D [1777 0 R /XYZ 90 562.471 null]
->> endobj
-1680 0 obj <<
-/D [1777 0 R /XYZ 90 537.28 null]
->> endobj
-1783 0 obj <<
-/D [1777 0 R /XYZ 90 537.28 null]
->> endobj
-1681 0 obj <<
-/D [1777 0 R /XYZ 90 501.897 null]
->> endobj
-1784 0 obj <<
-/D [1777 0 R /XYZ 90 487.326 null]
->> endobj
-1682 0 obj <<
-/D [1777 0 R /XYZ 90 452.078 null]
->> endobj
-1785 0 obj <<
-/D [1777 0 R /XYZ 90 437.507 null]
->> endobj
-1786 0 obj <<
-/D [1777 0 R /XYZ 90 240.858 null]
->> endobj
-1683 0 obj <<
-/D [1777 0 R /XYZ 90 216.643 null]
->> endobj
-1787 0 obj <<
-/D [1777 0 R /XYZ 90 216.643 null]
->> endobj
-1684 0 obj <<
-/D [1777 0 R /XYZ 107.713 139.716 null]
->> endobj
-1685 0 obj <<
-/D [1777 0 R /XYZ 107.713 123.775 null]
->> endobj
-1686 0 obj <<
-/D [1777 0 R /XYZ 107.713 107.835 null]
->> endobj
-1687 0 obj <<
-/D [1777 0 R /XYZ 107.713 91.895 null]
->> endobj
-1776 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F95 1788 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1792 0 obj <<
-/Length 1588      
-/Filter /FlateDecode
->>
-stream
-xڽX[s�8~�W�ma�(�E��
$C咝ݶ�1X!��B})���=�$c�!�ٗ`;��w>}�ӑ����t��8�\��d!KWti�(YX2tE���k!�w!c������.��wN�Μ5ew�0���oMC5����>���;?;2D��\�J
d�DZ��߱���OF�eJ��@�~}i����
!�"�H�,c�`M2a�0��xP��]�\�HU�������Ob�,�.��i��)���ҞL��8������.d�,M��k%#S�� 8��bIбN(>���cd��
H
����Z�n�SHw����,��Rh��B1x��
���p������p<��ՄU�&RdU�
q�=�uR/��W~_����z)G��1�@
4L��O�Z�N�4' ��	
n��
��0���W6g���`�æd���=�!-����o��☺m�q��������c��%��(��/�Y�:���Y�[2w��o�&�߹����
�T��0nB��H3J;G��B�`I�W���W�}�0�g�nBe��U��:
-{��^�f 
�(��#�n�
$i
�5d1�s�>��y��&|��D �	��ڒ��7��f|�:
��C���6�D��Ra�.~��ɹ��%�Q��>9=-_�6�.�o
�L.�|�:'�
�]��2w/bo�Ć��[�it�o�K�peA홠�;4bu
-"7�3N`�(V��I�e�Y�C�F����g� fi,#(Jo�?���`:S�<�!���c����U�,[�1,үf�~�u�(�A���D��"ͪXOޒ�N8
4JqEѩ�� ut�/�ܪ���ވ:p�]���̉��	O/E{��ύ����ګ:p�1[ ��*�ڙ�b�ګː�q�i�(���
af��qZKX`�Ob5�s��������6�t��t�}��~4i�h_
s�WC݈
?����K"V�{;���L��)H&F�?FR�
��P�X��X�8p�I�!���D�ر�e���WW�|s�b���E���@�����mN�Sp�(�>�����S at SoU��8ū��֓�Ȳ�p�t�b1�
��4��j��0/���91&
-]��bܷ�\��fb 
��C�p��B�.�J��'&8l�%H	�G:
��t�ĬzC�KfѨ0
#�('�a��Ż#y�
b�±��3T
��J�*w9o��wͦA��g�Oqh�R��wԭ�����Z��z*5��Ą�Q}x��q�l7�����:���I���
-8�6Y�֔f&B�ꅔ�Խb�|6��T]��e	F�$
g��F��(���ɨ�@
x�
-&��ǼK=߻�tM�
�>
�
^v0N�ghQ��U����
l�-O��~�w�7���xK嬱lr�zpn����.Nh-��|�E���u����*��l�m3S�`4i>�� m�
$@��h��QW^N������n"K6O=.N|���j�ib!B�=����\��V�W3ղ�EB�?�>�Kq䄙��o�`1keya�3ÿdnI3Jy�,�����
�T�ʰ�Wq�
Oi�����n�h� ��&F^z������T��()�� ���!�����u�}
-endstream
-endobj
-1791 0 obj <<
-/Type /Page
-/Contents 1792 0 R
-/Resources 1790 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1676 0 R
-/Annots [ 1789 0 R ]
->> endobj
-1789 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1793 0 obj <<
-/D [1791 0 R /XYZ 90 757.935 null]
->> endobj
-1688 0 obj <<
-/D [1791 0 R /XYZ 107.713 723.065 null]
->> endobj
-1689 0 obj <<
-/D [1791 0 R /XYZ 107.713 707.125 null]
->> endobj
-1690 0 obj <<
-/D [1791 0 R /XYZ 107.713 691.185 null]
->> endobj
-1691 0 obj <<
-/D [1791 0 R /XYZ 107.713 675.245 null]
->> endobj
-1692 0 obj <<
-/D [1791 0 R /XYZ 107.713 659.304 null]
->> endobj
-1693 0 obj <<
-/D [1791 0 R /XYZ 107.713 643.364 null]
->> endobj
-1694 0 obj <<
-/D [1791 0 R /XYZ 107.713 627.424 null]
->> endobj
-1695 0 obj <<
-/D [1791 0 R /XYZ 107.713 611.484 null]
->> endobj
-1696 0 obj <<
-/D [1791 0 R /XYZ 107.713 595.544 null]
->> endobj
-1697 0 obj <<
-/D [1791 0 R /XYZ 107.713 579.603 null]
->> endobj
-1698 0 obj <<
-/D [1791 0 R /XYZ 107.713 563.663 null]
->> endobj
-1699 0 obj <<
-/D [1791 0 R /XYZ 107.713 547.723 null]
->> endobj
-1700 0 obj <<
-/D [1791 0 R /XYZ 107.713 531.783 null]
->> endobj
-1701 0 obj <<
-/D [1791 0 R /XYZ 107.713 515.842 null]
->> endobj
-1702 0 obj <<
-/D [1791 0 R /XYZ 107.713 499.902 null]
->> endobj
-1703 0 obj <<
-/D [1791 0 R /XYZ 107.713 483.962 null]
->> endobj
-1704 0 obj <<
-/D [1791 0 R /XYZ 107.713 468.022 null]
->> endobj
-1705 0 obj <<
-/D [1791 0 R /XYZ 107.713 452.082 null]
->> endobj
-1706 0 obj <<
-/D [1791 0 R /XYZ 107.713 436.141 null]
->> endobj
-1707 0 obj <<
-/D [1791 0 R /XYZ 107.713 420.201 null]
->> endobj
-1708 0 obj <<
-/D [1791 0 R /XYZ 107.713 404.261 null]
->> endobj
-1709 0 obj <<
-/D [1791 0 R /XYZ 90 392.141 null]
->> endobj
-1794 0 obj <<
-/D [1791 0 R /XYZ 90 377.571 null]
->> endobj
-1710 0 obj <<
-/D [1791 0 R /XYZ 107.713 300.778 null]
->> endobj
-1711 0 obj <<
-/D [1791 0 R /XYZ 107.713 284.838 null]
->> endobj
-1712 0 obj <<
-/D [1791 0 R /XYZ 107.713 268.897 null]
->> endobj
-1713 0 obj <<
-/D [1791 0 R /XYZ 107.713 252.957 null]
->> endobj
-1751 0 obj <<
-/D [1791 0 R /XYZ 90 240.838 null]
->> endobj
-1795 0 obj <<
-/D [1791 0 R /XYZ 90 226.267 null]
->> endobj
-1752 0 obj <<
-/D [1791 0 R /XYZ 107.713 149.474 null]
->> endobj
-1753 0 obj <<
-/D [1791 0 R /XYZ 107.713 133.534 null]
->> endobj
-1754 0 obj <<
-/D [1791 0 R /XYZ 90 121.414 null]
->> endobj
-1790 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1800 0 obj <<
-/Length 1450      
-/Filter /FlateDecode
->>
-stream
-x��X[w�8~�W�m��H��K�hJ�t�5�m�mG1J��X�mB�_�#KL��{v�@���7�ofdc����u���q�ֵ� ���{#���D-bLf�g3@��"c��իfˢ���a�
�u��g�,�C߳=���_'��I�{��l��zȳ�.��bc��
���7V媅�X6��Ƹ�2�l�]�f�
�h�<Y.�Q�`�e
6
5-l��i�g�����eO��7<fE$���iq'b���-�[���"
r-GY�6(��ܕ��ۊ��FA�-�A.�� C��Bd�����nAXY@�G��
-������ڃ
�5ꮍ
�
<��bΒ]�5s-��E�F���ʹ�^���P��;d����׺�'2�˿/Y����4h��Ɍ
�\߫uN��7֬^�t�MJ�I�欰���Њ�u��ο�
-�E����o��ؑ�Q�k�æ����q)�
�b0�KA��0��^�򠂭�%��_��"����x�^�
d�rM��G�hj�]�L���L�B����a)�ѰׄB�i0�w۽�հ?�u>v'��Ӂ��I�M_J1/Z!�u�O!`�XDՉ�u�]j
��6QSʸ[�;���Z�K,��T�R��PTa2�=&���XjP<�Q��X?��*��9��#HOz�QͲ�h{��D'�M6�I��`�wUE������
-����E��~�f�3~<-F"ϣ�X
Gl���������.v��k"F�^�B?Jv\�tSˠF��#UR��$�o<���<��'�y&
l���'
�|a��(k�p֋�`�2?[
�d�5q_�
��!/�ك�I�\7���e�4\��~���Q�	ߛ���fo(�c���v����^gZ2��
q���*�!b�U7�W�W;Z;�er�Y�cuW�ִw;x=�
��9��K����2�
K�
-��n8���8��
��s�ݜiz���,NUK�,eN�O
#B������$Ou���X�0[k��AGI�0e*@I��`k��
+I
ɡثĒ9�*KF��s���U9�c{� 9
��<J<!�c$Ei�h��;�̠��)O�H./Q�Tv���m_�C
-��A���h��Uw�(��1E�HT�
y�)o��/
�
-��k�d^*�l at A,�ʙ�\́��刘�:���j��35Q�?y&ʝ�zm�Sy��7�s
~+ݟ�=,Ƀz�֭�2*�V
%�ej�Lq�8�V�"X^>*�
-��D�>S�ޢ�*j C$�#��
-Dͥ����{=Y�� bu��� G��\/��u���{Ǽ���������gG��Q���Q��s@oVII�7�I-�w�
�>d��ǃ�H�E�g���
Rg�4�$})~=�ԯ�t�H��ۜg��^��G�%�wy����k�B���'>ڠ�1�Z���Q��]�$�ŗ�
�7�=/����b�Z�0G�$J3i_</�[(���z�\�L�%0�`늷
��3���
-endstream
-endobj
-1799 0 obj <<
-/Type /Page
-/Contents 1800 0 R
-/Resources 1798 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1676 0 R
-/Annots [ 1796 0 R 1797 0 R ]
->> endobj
-1796 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.841 275.498 249.291 285.426]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
->> endobj
-1797 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1801 0 obj <<
-/D [1799 0 R /XYZ 90 757.935 null]
->> endobj
-1802 0 obj <<
-/D [1799 0 R /XYZ 90 733.028 null]
->> endobj
-1755 0 obj <<
-/D [1799 0 R /XYZ 107.713 662.787 null]
->> endobj
-1756 0 obj <<
-/D [1799 0 R /XYZ 107.713 647.266 null]
->> endobj
-1757 0 obj <<
-/D [1799 0 R /XYZ 107.713 631.745 null]
->> endobj
-1758 0 obj <<
-/D [1799 0 R /XYZ 107.713 616.224 null]
->> endobj
-1759 0 obj <<
-/D [1799 0 R /XYZ 107.713 600.703 null]
->> endobj
-1760 0 obj <<
-/D [1799 0 R /XYZ 107.713 585.182 null]
->> endobj
-1761 0 obj <<
-/D [1799 0 R /XYZ 90 574.11 null]
->> endobj
-1803 0 obj <<
-/D [1799 0 R /XYZ 90 559.728 null]
->> endobj
-1762 0 obj <<
-/D [1799 0 R /XYZ 107.713 483.983 null]
->> endobj
-1763 0 obj <<
-/D [1799 0 R /XYZ 107.713 468.462 null]
->> endobj
-1764 0 obj <<
-/D [1799 0 R /XYZ 107.713 452.941 null]
->> endobj
-1765 0 obj <<
-/D [1799 0 R /XYZ 90 441.869 null]
->> endobj
-1804 0 obj <<
-/D [1799 0 R /XYZ 90 427.487 null]
->> endobj
-1766 0 obj <<
-/D [1799 0 R /XYZ 107.713 351.742 null]
->> endobj
-1767 0 obj <<
-/D [1799 0 R /XYZ 107.713 336.221 null]
->> endobj
-1768 0 obj <<
-/D [1799 0 R /XYZ 90 325.149 null]
->> endobj
-1805 0 obj <<
-/D [1799 0 R /XYZ 90 310.767 null]
->> endobj
-1769 0 obj <<
-/D [1799 0 R /XYZ 107.713 235.998 null]
->> endobj
-1770 0 obj <<
-/D [1799 0 R /XYZ 107.713 220.477 null]
->> endobj
-1771 0 obj <<
-/D [1799 0 R /XYZ 107.713 204.956 null]
->> endobj
-1806 0 obj <<
-/D [1799 0 R /XYZ 90 188.417 null]
->> endobj
-1772 0 obj <<
-/D [1799 0 R /XYZ 90 166.105 null]
->> endobj
-1807 0 obj <<
-/D [1799 0 R /XYZ 90 166.105 null]
->> endobj
-1798 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F95 1788 0 R /F23 340 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1823 0 obj <<
-/Length 1582      
-/Filter /FlateDecode
->>
-stream
-x���n�6��_����L���R1X�f�֥Y��-
Ffl�2�Ir\��wH
ʗ�I��ÞD��ܯ

~
<��i�$OyLo�������`:ޅ�G<��Xɶ�t۟�b�����4
eɄ�i>�0�e�b:�{��>
���L�$J�b5x��s8�%�$ʳ`co���G�-����t_��
��#B���VuK� �47CFê��ߛ}��G��-U�Vu�t�Q�oT�+�*i�!K�O��Q; ��	z�6�CN�۞�BBJ�l�D���Jݮ�:6�Rx�)��F4[cG0ˆ1�'��F��1�$ld�n�[��
-V��
�T�*	kQץ*�Ì��
,ж��:���#7Ր'��j�#��
e ��:��
-�n�
,\G,T��Y 1����@��X'6q&�R��<�Y�}��Ɲ:��U��;r�ȃ8ج��E�)�k�XȶC�ɢs ���YE6����U�]�y#��q��AN��n�N�\
Y�7�]# "[4Z6��������n��X�%���d7��

�'
�u��MU�kGE`DI��\&i�;�/�N>9B:�N��	�AՌ�$rHS+�Adf�4�txn�Vl�Ɔ/\�
}x���$��=�MS������,�%P�;ZB�
�� 1jш���!Ŝ���	�+�Vp��t8�H}	`Թ%� +[#zg�,٣������V����.H
V徟eS!W-wi�T���
優�#�Q4�—ƺ���Sź�䌩���p^�*]AWxd$p+w��b1LB���f)q�4��q!
����eJ?���缻 
�+��
���@
-@�Ru'����
�me�o��$�Sn�AkcQ0�r��h�2���̞��j��

�g�aH�ʦI��+�x|������#vo�
x�eOpd�
��f4��SՆ_����	Ԫ��r-��
�%��o�	��ҽ���%%q��Ĝ�����<9�	ލ��
�f
i8���׌�/_�^�X[�
�
d JQ�1��$�c'ʏ�5�,��ݸZw���^ņ��"��&2���ZԐ"'�=���,G�%(����|�����y�����,>�A�S�����[�_0��_F	�9`YV?��
H;
�
{�f���5��K�N�,��f�s�'�� W'�A�R�o?u�~��|F,g&���
-֮a�^7�(�[������O;�Q��Ó�ʺ�-�Ʒq
U�Q�ඖ�î�R���f�3���ڷf����Ր{�<��79{�Ѧ�7ڶa��G���[�M���Dru�
-+��
S�F�����
�f�+�m
y��gէ3R'��1"�s
���}#
��(��iG�G=
�c�E�9�5����B���o�>�o!�}����7Fxe�Ƴ��۶ũ�
���f
4'0��e����!��(�޺w�yT���ܶ	�0?���/W
-lX�П\��VJ�	�[��V��ďj�8~e���[?�1�tS��g�z-p050���"

0��
�i��V�\r�}
��W3_&{�lB"�������x��lHђ�VuCT7��r�帹G\1��-xU���p��O�/��l0Z
-endstream
-endobj
-1822 0 obj <<
-/Type /Page
-/Contents 1823 0 R
-/Resources 1821 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1676 0 R
-/Annots [ 1808 0 R 1809 0 R 1810 0 R 1811 0 R 1812 0 R 1813 0 R 1814 0 R 1815 0 R 1816 0 R 1817 0 R 1818 0 R 1820 0 R ]
->> endobj
-1808 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.107 456.05 216.873 466.954]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_1_1IO__Operators) >>
->> endobj
-1809 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 376.264 187.464 386.191]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
->> endobj
-1810 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 363.053 316.68 373.24]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked_3_01Checked__Number_3_01T_00_01P_01_4_01_4) >>
->> endobj
-1811 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 350.361 234.098 360.288]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-1812 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 337.409 210.149 347.337]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-1813 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 299.636 180.57 308.483]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Throwable) >>
->> endobj
-1814 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 258.724 225.471 269.628]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1From__Covering__Box) >>
->> endobj
-1815 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 219.87 198.482 230.774]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-1816 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 183.073 170.956 191.92]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-1817 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 142.162 213.018 153.066]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-1818 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 103.307 213.595 114.211]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-1820 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1824 0 obj <<
-/D [1822 0 R /XYZ 90 757.935 null]
->> endobj
-118 0 obj <<
-/D [1822 0 R /XYZ 90 591.842 null]
->> endobj
-1347 0 obj <<
-/D [1822 0 R /XYZ 90 555.116 null]
->> endobj
-122 0 obj <<
-/D [1822 0 R /XYZ 90 555.116 null]
->> endobj
-1825 0 obj <<
-/D [1822 0 R /XYZ 90 473.121 null]
->> endobj
-1826 0 obj <<
-/D [1822 0 R /XYZ 90 394.261 null]
->> endobj
-1821 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F11 418 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1848 0 obj <<
-/Length 903       
-/Filter /FlateDecode
->>
-stream
-x��X�R�0}�W�
{�(���L�Z��>�����!��՚��B�1M��Xֽ��ܫ�	@�s4��N�a?p0| }� C��`8�F�]��6Fa9����i��Hnjğ�#���:>��HN��$T5��e6�,Z�.
z�g�Ⱦ^t>
;O
��@ K�~C�I޹�G`��/ �n?s9*���27��
�1����|��
� znB���;��;�?p��9�$#U�?�D{z-�p�Ӣ�I��1�z�;	
q/Ox�80�
��
�c�ġb+K
J��ӧ��Z�:ս|���}
�a���k
;.������ǜ���f�N�Ŧ

�f�톖�T��h=�T7�*J�?��-3��ƘD.��}K,�6�:�e����浪iޒ`*5��ȃ*'"L�9����j'��3j��0���^P�F"&��d�j���2fVp�c�f"1n*
-�MQ$
[[U��;d�%F!��
-�����<������%���rAI�֔53��MCcN�ή�!7>��N�rR�ֶO
���g*���9�%
����T��{�>OǴH���\U�[�����.��m�=�y������.��~��v�5�u�t�He�%�75���r��Q'X�&_�z��QF���n~�J����AE��>�lL���X��S��� 
�)w��M�2}�:�
�g<
Zw�G���kX�
T(�a�	��S���ŭ���n��ޛN��}�����"n!S5��eD�Ǭ$�V�_]����)�
��oߞ��R ���w3�}=��&X�w4�n6�ξT��[��.I1#�2��T�U�mA��#2 ��.�
5RVȾS�(���qB9������˃^o>�ä��"-L�^Yf�}k�1�I��dR��Q��yg.�MEp� �5ۄ
-endstream
-endobj
-1847 0 obj <<
-/Type /Page
-/Contents 1848 0 R
-/Resources 1846 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1850 0 R
-/Annots [ 1819 0 R 1827 0 R 1828 0 R 1829 0 R 1830 0 R 1831 0 R 1832 0 R 1833 0 R 1834 0 R 1835 0 R 1836 0 R 1837 0 R 1838 0 R 1839 0 R 1840 0 R 1841 0 R 1842 0 R 1843 0 R 1845 0 R ]
->> endobj
-1819 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 709.048 179.274 717.895]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-1827 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 668.197 216.365 679.101]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-1828 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 629.403 211.912 640.307]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-1829 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 592.667 177.591 601.513]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-1830 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 551.815 220.22 562.719]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-1831 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 513.021 185.9 523.925]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-1832 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 474.228 235.154 485.131]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-1833 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 436.41 200.833 446.338]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-1834 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 397.616 220.778 407.544]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
->> endobj
-1835 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 358.822 201.401 368.75]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
->> endobj
-1836 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 319.052 216.355 329.956]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-1837 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 280.258 183.698 291.162]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-1838 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 242.44 192.544 252.368]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-1839 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 203.646 194.218 213.574]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
->> endobj
-1840 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 164.852 202.507 174.78]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
->> endobj
-1841 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.544 149.286 273.474 159.191]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-1842 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 125.082 195.324 135.986]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-1843 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 86.288 209.71 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-1845 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1849 0 obj <<
-/D [1847 0 R /XYZ 90 757.935 null]
->> endobj
-1846 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1869 0 obj <<
-/Length 1101      
-/Filter /FlateDecode
->>
-stream
-x�՘]��6�����=	B�6�k��N�$��dz��0
�Ԗ\K@误dI��f��B��ʶl��9GG� ׃W���u�1
�a
-�K0F K�����

�a��&~�<�Tx6�C��r�&E�go�����	��㊈/�y�!K��A����,�c/
�O�7����?�����7�`%`Q
�>!P��7 �h��]�U�0R��~ ��m5e!ȕ�4֚�p
Q�0�(M����K{CD���
-Y�\���s�������i��~?N<�`��1�F��a<
C�ơ�F0�#���0L����a��X�B�jV��M��v庡�7�?��b�g���2u���d-?3I��&
.����X��[�HC/���.�Bй{��Q�!��������^��g"�D.T�!o(a�}Mh!1[���T�f�k\�3���
+�܂.uMӥMKf�ډ��K+�U�`�.��q\��#�5����VX�g7��,$U��D��5.�uߦ�:��oiAl�\�nmp�M�kn�eɛ��牱�����+L�Ei�ș�q�
)�gL��:
��ϑ�{~�������/�<}�3i��H��roВByj�<��P�
z�|P���Ÿ���]j���E�]�q;�/��k�����v�Yj;Z�yd~����^w�&��X���X�5GA��1cbS��;K5[%^��,|���eZlj�7`k� ��d��a8��G
/��S<-��P�;+ݥ��]z��p�;ؑFy���F8��}��LdH�P��E8ǂ
�BwK�g3�L����*ח�DUf�`
ƞ{sH��:٥&.����d���:�+%�D`�цA�
}�`���M�/������7
+7�MI燲�<6"{g;è=�Dc�l�g��*i�F�w��8�[��8�:n[�m����:��V�	�@3���G6�6��=��V�O"�����j��W�\�VV������odm��+ [...]
��
-endstream
-endobj
-1868 0 obj <<
-/Type /Page
-/Contents 1869 0 R
-/Resources 1867 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1850 0 R
-/Annots [ 1844 0 R 1851 0 R 1852 0 R 1853 0 R 1854 0 R 1855 0 R 1856 0 R 1857 0 R 1858 0 R 1859 0 R 1860 0 R 1861 0 R 1862 0 R 1863 0 R 1864 0 R 1866 0 R ]
->> endobj
-1844 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 698.126 156.022 706.972]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-1851 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 659.405 168.495 668.251]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-1852 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 620.684 154.368 629.53]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-1853 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 579.905 180.928 590.809]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-1854 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 541.184 208.036 552.088]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-1855 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 503.439 210.268 513.367]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction) >>
->> endobj
-1856 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 464.718 229.087 474.646]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction) >>
->> endobj
-1857 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 425.997 195.872 435.925]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction) >>
->> endobj
-1858 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 386.3 247.189 397.204]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-1859 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 348.555 205.835 358.482]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Domain__Product) >>
->> endobj
-1860 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 310.915 187.005 319.761]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-1861 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 272.194 174.034 281.04]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-1862 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 232.391 211.124 242.319]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-1863 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 192.694 192.395 203.598]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-1864 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.012 112.125 237.655 123.029]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-1866 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1870 0 obj <<
-/D [1868 0 R /XYZ 90 757.935 null]
->> endobj
-1871 0 obj <<
-/D [1868 0 R /XYZ 90 129.129 null]
->> endobj
-1867 0 obj <<
-/Font << /F63 374 0 R /F72 471 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1930 0 obj <<
-/Length 1403      
-/Filter /FlateDecode
->>
-stream
-x��X[w�8~���m�5���}sl���� �6Mzt��$�rq7���_	�k;�����댾�4�|�=p������&s�hh����8]��*A.�s7<"� ��|�'!r	�Y�z��<D��.�ЕT��a��E8�����8`��)}u���$|
-�u̠�	��j\UuY�fI������;���㞪�N�dr�9�s�u
`3l��&*r��%Y����$����n�*��\-�
�3�E�
������j�^e@�Ip��+�~%�[Nw�g#]�z��Pd�$j��u�"�€�S6�2-����S��XP �@XT�0fo���,g7� �<^�K��2J�
�?k
��ݪą�
-�-Z�
zB�[��c4p���X�
���5s<Ȉ��� H����H�(,v�a�5Oi���+�.�ُ��͌%i���ҝ�֕
�"�P�!��2�yXFYZl���n���lh��i���a�=\,�rז~��ϰ'*�A�U	�u\
��x��x����ѯ�X0$>hmv��ļ|�	����C��>��&G���f'��X��G�=�l+�n=�m^ G���7;����u2@��
����!6��ۭQ
��
���[��+����V�6&���pH���nVn儢h�d��
g7
��?=?*�&p� ��c��4�t�6&�b�d�O]F�
�5ѥU�P4�Z���BFs�!������Ϟ�U�Im���]�]�G*lQDwqSn��,#�r���u���Ϩ&�L%j#��<*\F��F'�eY��<�Ҫ��{�2�q��Q�̃��_ok�*O��
�n�%[��ѦD�� �
��KQ���W�������HW�4���fX3,/��3&��E�$��T��rm�i�?�*E��'���5��>Om�l~[�aN�ge��s�2��>g'�jM��
��zK����|g
��Y�p\e�W�]���Ǧ����J��s<�t	uSJbkE~��g�!���8��͖�#8i��CXN�T�ɯ�U��d�H���"�����r�qX��dE:�AP7�3&���v&V\������J��|�2<ցD���*���i�Z�H�%�M���y֝QBOj����8�2J�olϙds|D �?kb}���]X�����GVy�܈��o���4 at C%���31A>��g�������=2��u>6Q�)$�8i1!��9V��h?/,/�
�,����Q��
c^PT�b��z��+U
$g�nZ#�`���߬��.��޹j�j��
�n�S�>��M�=n�ϧ�T��#���i��|��p^�����E�+����f`�}暻����n�=]��D>Ux�r�����ӓ8+�e-r1*����yr�
�A}�d-��,_w����s��_x��
-endstream
-endobj
-1929 0 obj <<
-/Type /Page
-/Contents 1930 0 R
-/Resources 1928 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1850 0 R
-/Annots [ 1865 0 R 1872 0 R 1873 0 R 1874 0 R 1875 0 R 1876 0 R 1877 0 R 1878 0 R 1879 0 R 1880 0 R 1881 0 R 1882 0 R 1883 0 R 1884 0 R 1885 0 R 1886 0 R 1887 0 R 1888 0 R 1889 0 R 1890 0 R 1891 0 R 1892 0 R 1893 0 R 1894 0 R 1895 0 R 1896 0 R 1897 0 R 1933 0 R 1898 0 R 1899 0 R 1900 0 R 1901 0 R 1902 0 R 1903 0 R 1934 0 R 1904 0 R 1905 0 R 1906 0 R 1907 0 R 1908 0 R 1909 0 R 1910 0 R 1911 0 R 1912 0 R 1913 0 R 1914 0 R 1915 0 R 1916 0 R 1917 0 R 1935 0 R 1918 0 R 1919 0 R 1920 0 R 1921  [...]
->> endobj
-1865 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.012 719.912 249.819 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-1872 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.455 681.058 310.472 691.962]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-1873 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 600.669 165.994 611.199]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga88e9b9cb2588cbf5914695fc14e69a8) >>
->> endobj
-1874 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 584.729 177.89 595.259]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a896b8890edb38e9960c455aa178e508ba) >>
->> endobj
-1875 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.879 584.729 206.303 595.259]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8b30277f972f730fe26f6cfc39098cc77) >>
->> endobj
-1876 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.292 584.729 236.739 595.259]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8e704947d33ff1b60a2475950d5f18ec3) >>
->> endobj
-1877 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.728 584.729 267.175 595.259]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a89f5dce9506b72773425c0504845d8e4e) >>
->> endobj
-1878 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 569.132 141.357 579.319]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8d5e386c6a05c9656eac42fe9e2cdd8b5) >>
->> endobj
-1879 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.346 569.132 170.687 579.319]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8c77955fc77a169347da8820b46c3247b) >>
->> endobj
-1880 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.676 569.132 201.123 579.319]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a86c817c11198882f3864d8ace4ec326dd) >>
->> endobj
-1881 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.112 569.132 237.646 579.319]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a80d808c2d0d6514c33e06445d7aa34270) >>
->> endobj
-1882 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 553.192 214.961 563.379]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8bd640c30f757e4ecccd08ac527536ca6) >>
->> endobj
-1883 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.95 553.192 312.066 563.379]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8a7ce2ad16ee907ff9d31eeb1cda41834) >>
->> endobj
-1884 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [315.055 553.192 408.364 563.379]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8979f37a289d4cb316643f1dcc07ec7cd) >>
->> endobj
-1885 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.353 553.192 503.268 563.379]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a805e540f453fd070a4e4c0fdd887f4b7a) >>
->> endobj
-1886 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 537.252 155.953 547.438]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a89606fc251d767040929d3e2645dbb446) >>
->> endobj
-1887 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.941 537.252 242.846 547.438]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8e0c660bfcbcd3d10c3e764e22f41d0a1) >>
->> endobj
-1888 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.835 537.252 308.301 547.438]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8057025d0ff550a2226a0a1273c84b4f6) >>
->> endobj
-1889 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [311.289 537.252 389.097 547.438]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8a1bf7bec2cb0d949e45c3cd0e25874a6) >>
->> endobj
-1890 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 521.312 187.843 531.498]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a85912e00d1de38a643d48af1f0e5dd35f) >>
->> endobj
-1891 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.831 521.312 249.272 531.498]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8fda2f32e2fc3f61357ce0d9d7813f5fc) >>
->> endobj
-1892 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.261 521.312 340.191 531.498]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8930a62d56d7231cdb1ed57e1d3eff0f7) >>
->> endobj
-1893 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.179 521.312 418.785 531.498]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8bd1bad185f4622d07b171767dafc78b6) >>
->> endobj
-1894 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 505.028 181.915 515.558]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8a0f28596ac7d4a43766fab174c28ccab) >>
->> endobj
-1895 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.031 505.028 252.519 515.558]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8261922c7bb53bf71459671df868e55da) >>
->> endobj
-1896 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.636 505.028 409.948 515.558]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a80905d51325862cb4db00635875efcff8) >>
->> endobj
-1897 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [416.064 505.028 513.996 515.558]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8202263943c451b9fdfe003b2bc8d0b1f) >>
->> endobj
-1933 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 493.416 170.398 503.603]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8202263943c451b9fdfe003b2bc8d0b1f) >>
->> endobj
-1898 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 477.132 196.709 487.663]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8fdd3365de1a07c7f7bdd1dc330bba8f4) >>
->> endobj
-1899 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.3 437.904 200.857 448.808]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-1900 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.153 437.904 286.78 448.808]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg25ea3a289eadef732f4c7fd823387fb2beee33de6f8542b0228161d044640eaa) >>
->> endobj
-1901 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [292.531 437.904 347.256 448.808]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg25ea3a289eadef732f4c7fd823387fb2a57b0c1a34eced57ca8437eea92a4328) >>
->> endobj
-1902 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.007 437.904 432.628 448.808]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg25ea3a289eadef732f4c7fd823387fb20f182c5824807f7bc66d2d2033810feb) >>
->> endobj
-1903 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [443.63 437.904 513.996 448.808]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg25ea3a289eadef732f4c7fd823387fb2eafcc7ca16bda73dc6b0f7deaf9470dd) >>
->> endobj
-1934 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 426.323 155.743 436.853]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg25ea3a289eadef732f4c7fd823387fb2eafcc7ca16bda73dc6b0f7deaf9470dd) >>
->> endobj
-1904 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 387.095 223.927 397.999]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g616fcdc7600a3a11a8a9152e75730899) >>
->> endobj
-1905 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.698 387.095 282.945 397.999]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg616fcdc7600a3a11a8a9152e757308990edf84fcb94023ff4a7183bf3f8dace5) >>
->> endobj
-1906 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.934 387.095 321.69 397.999]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg616fcdc7600a3a11a8a9152e75730899c7753e1dd51e1b7b3fdfafa9f8332370) >>
->> endobj
-1907 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 348.241 210.278 359.145]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-1908 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 332.674 171.803 343.204]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae556cc08f48e769b9c15bea83d5d883a1) >>
->> endobj
-1909 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.792 332.674 257.093 343.204]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312aed8db7109fb4bb50360b05800dd245416) >>
->> endobj
-1910 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.082 332.674 295.329 343.204]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae3e4424ce8e7ebe86e125541b561fc300) >>
->> endobj
-1911 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.318 332.674 402.198 343.204]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae079e4b80f17b0095497103a52cffa3ab) >>
->> endobj
-1912 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 316.734 193.382 327.264]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae94cf20719046117aece5acba61dcae4d) >>
->> endobj
-1913 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.371 316.734 256.675 327.264]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae8191bdbdcd041a9859ed465d16062ab1) >>
->> endobj
-1914 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.448 277.506 214.914 288.41]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-1915 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.506 277.506 360.535 288.41]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg113f1e845cba6b1c3c5705d0e14f1cc171c9b0459dc8ba8cc0c8178b6cf4f017) >>
->> endobj
-1916 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.434 277.506 478.227 288.41]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg113f1e845cba6b1c3c5705d0e14f1cc1b39e3c667ce455313f8ff578722af2e9) >>
->> endobj
-1917 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.126 277.506 513.996 288.41]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg113f1e845cba6b1c3c5705d0e14f1cc140409716eac06f7ee5c44a200d3702f0) >>
->> endobj
-1935 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 265.924 180.102 276.455]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gg113f1e845cba6b1c3c5705d0e14f1cc140409716eac06f7ee5c44a200d3702f0) >>
->> endobj
-1918 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 226.696 221.336 237.6]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gac82e7e0179442ef589f2fc61302d654) >>
->> endobj
-1919 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.107 226.696 301.924 237.6]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggac82e7e0179442ef589f2fc61302d654324bf568397fdfc332a4c06e7a4facf5) >>
->> endobj
-1920 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.912 226.696 381.604 237.6]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggac82e7e0179442ef589f2fc61302d6540e1a601a53491f60c89282fde55b5352) >>
->> endobj
-1921 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.99 188.216 225.779 198.746]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gdf9d6f17d8974c81e3499f170e7762a2) >>
->> endobj
-1922 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.454 188.216 369.659 198.746]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggdf9d6f17d8974c81e3499f170e7762a253f4353b82f1a10a08b1e756bb7c84ad) >>
->> endobj
-1923 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.099 188.216 511.506 198.746]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggdf9d6f17d8974c81e3499f170e7762a2b2bc77b49f9450faf5b5f8ca5374421d) >>
->> endobj
-1924 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 176.261 243.912 186.791]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggdf9d6f17d8974c81e3499f170e7762a278fc3e83d58f3eb97a8041b600870a05) >>
->> endobj
-1927 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1931 0 obj <<
-/D [1929 0 R /XYZ 90 757.935 null]
->> endobj
-1932 0 obj <<
-/D [1929 0 R /XYZ 90 619.269 null]
->> endobj
-1928 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1956 0 obj <<
-/Length 1253      
-/Filter /FlateDecode
->>
-stream
-x��YMs�6��W�Vj�� ��G��ԝ�iGu����@d��H$����
�EY�%�R�N� �x��vAb����/�7���,�N���
��‰�1�8ӹs���pD0��dH���'����by{%�'ﳙ��v8�v��+Q�<��X9$�+r5DB?�ݐ?O�
~��
�;D�e!
-)s����3v�0����Ƒ�ֳV��Q�_:�{�(�k�p��i�y��Z���B$@>�����
-~�<֓q.F
�h�*����<S��K��s=K��fH�+d������K�I�0��#�gw&������LT���3">�}�5�\ԍ�����+{�N_��j&�u�ؚ7��o/n����lE;My ���	�ɫ���'EM���Q�b�1�&S7�Oi�
-e��|r
_
ș��� �ھ��K�4�V]z�u*�ϼM�e�+l���>��!�'#��K�
Q�q<�9U:՞���Ż�e�_�)E^�,����>��<�����Lq����u�'h�u"�&���ɢ������A�ۼq6�h�g����bn&U����Ch��o���%�q��r�!ua�;5e��u��TN��B^[wʶF���vȘ{<���gRTu!ER�@���-����໶3Q֖�vB��_f��+��j�WΓE�$��"Q).�e��١���v�
t��C�a�t

/�D��L
-�/�oK�4���t�	��WI��6�	f0Ϥ�Qۻ��:���d�w:f�iĊ�%�C�&��Y:�lqWbzR�
8��N9�3$�*��M��*����W�m���}�'E�F����|���|�m�=�[��,Un�芦Z��J��7�~vh�D(���C#�D
�
d����|�-�����4R��
~æ����(��"!�e�x�3Յ�2
-mo߫��V�i��QF	"��!hl���y��.�-��J����D}��߉n���bU65�ٻ�7����k*�]��Z��=tz�(?�<��8d�+W��_#��S�l'�Lfܝ[-$/�
�Y�h�`��
ޱ�h��_����,~^����'��5���k]r?{i�������#�f/C�����	
-������$��H�����G
-�_1���F��M�����|�`1b�xc�
���[��둉�����>�|���A
���y×�n�o�� �G��R��������ڱW�
t
��K�Qܽ%�����x�^��BM��e��,���W6V��{մ�o�W at Z�Tap�� �J#��
-endstream
-endobj
-1955 0 obj <<
-/Type /Page
-/Contents 1956 0 R
-/Resources 1954 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1850 0 R
-/Annots [ 1925 0 R 1926 0 R 1936 0 R 1937 0 R 1938 0 R 1939 0 R 1940 0 R 1941 0 R 1942 0 R 1943 0 R 1944 0 R 1945 0 R 1946 0 R 1947 0 R 1948 0 R 1949 0 R 1953 0 R ]
->> endobj
-1925 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.376 697.247 211.773 708.151]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_0adf6106892886dc859985042b8a7433) >>
->> endobj
-1926 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.376 658.393 212.331 669.297]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_f9dd9190c5f29dbbfa3d6e442dea7e7d) >>
->> endobj
-1936 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.376 619.539 220.38 630.443]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_5604f97d216583cdf012a50d2f8cdbde) >>
->> endobj
-1937 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.376 580.684 205.128 591.588]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_f127b16b1a8e300aa97caca515284b6f) >>
->> endobj
-1938 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.54 542.204 195.713 552.734]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_99e9dc5df3cf7c0ab581e602d1176e41) >>
->> endobj
-1939 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.54 503.349 193.641 513.88]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ee4e9b54e65780ac3010fda40ea235a6) >>
->> endobj
-1940 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 464.122 226.677 475.025]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_63bd7c7767faf3c219f9c2762095e2dd) >>
->> endobj
-1941 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 425.267 243.822 436.171]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_6c841f33162c2419bd53a078e6c788ee) >>
->> endobj
-1942 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 386.413 264.305 397.317]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ce0cdceaa0c7eea84cc1c38cf5bea680) >>
->> endobj
-1943 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.172 347.559 346.955 358.463]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_9c118832fed4c0b9b40547578459dad4) >>
->> endobj
-1944 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 308.704 246.592 319.608]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_d31eeb0067d6cad2eb2ea5ab5bd0a2b2) >>
->> endobj
-1945 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.334 269.85 370.297 280.754]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_74074a5ed3718745a4d82bacd5b381ed) >>
->> endobj
-1946 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.315 230.996 436.672 241.9]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_3e6dcd6f5d8e3ea263c9205b21a83e48) >>
->> endobj
-1947 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 169.227 262.631 180.131]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_6a54c55d8b52ef353df7cefdfa632d8d) >>
->> endobj
-1948 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 130.373 206.582 141.277]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_5e801a56c2c3dcec13d2d87adf07ac47) >>
->> endobj
-1949 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 91.519 204.012 102.423]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_19b0ebdb3476fe1feb0f51d9328fd384) >>
->> endobj
-1953 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1957 0 obj <<
-/D [1955 0 R /XYZ 90 757.935 null]
->> endobj
-1958 0 obj <<
-/D [1955 0 R /XYZ 90 716.221 null]
->> endobj
-1959 0 obj <<
-/D [1955 0 R /XYZ 90 716.221 null]
->> endobj
-1960 0 obj <<
-/D [1955 0 R /XYZ 90 677.486 null]
->> endobj
-1961 0 obj <<
-/D [1955 0 R /XYZ 90 638.632 null]
->> endobj
-1962 0 obj <<
-/D [1955 0 R /XYZ 90 599.778 null]
->> endobj
-1963 0 obj <<
-/D [1955 0 R /XYZ 90 560.923 null]
->> endobj
-1964 0 obj <<
-/D [1955 0 R /XYZ 90 405.506 null]
->> endobj
-1965 0 obj <<
-/D [1955 0 R /XYZ 90 366.652 null]
->> endobj
-1966 0 obj <<
-/D [1955 0 R /XYZ 90 327.798 null]
->> endobj
-1967 0 obj <<
-/D [1955 0 R /XYZ 90 288.943 null]
->> endobj
-1968 0 obj <<
-/D [1955 0 R /XYZ 90 250.089 null]
->> endobj
-1969 0 obj <<
-/D [1955 0 R /XYZ 90 188.321 null]
->> endobj
-1970 0 obj <<
-/D [1955 0 R /XYZ 90 149.466 null]
->> endobj
-1954 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F23 340 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2004 0 obj <<
-/Length 1625      
-/Filter /FlateDecode
->>
-stream
-x��ZIs�H��W���U��-ukIQsH��L�9�R�v�B�iIY���z�l�r
C
3�I���o��.a������_����u� ��Z�`�s	b6��S�}�`DC�1�
�G"�³���yrwŧ"
-��/D$�C���I��b
M��{�g\
��發E<�ӾGǯz����
>�E]�!�a�$����)�ea��u�V��
�&��ޛ
62��J&϶|�ɥR&b��g;�L����"�沼⒣��Kۨ�|ۃ3Ն8����Ѥԛ&y:�ʨ��Lo^��1�=Vo.`]U %�&��CBJ�!�
4>�6k
"�'.��_���C���*)��U�$QQij�����̰�������'`#锷�(�F.���( i�������]/!��U��G�@��4 ��� �
jDFȵ�z�4�������4Ϊb4O*C.�>`lgqi,=��E��uGpAl�8��k����d#��",�|G��s^V"+:pq �8�g���
ЀZ 
5�7Ӫ����}��G]��n���<�,bsV���i#;�
рyĠ��/�U6����E,
��q6��-}����Ul"ivO�G��U�
�2a�~an�e}Íq�|���{��%��O�.�����<�8�"�;����w'/��'��
��.��o8�_�ܘn\<�I�v�*�����bȵ���tK
��A$���b�����6�	T*�C�vV�!�hZPa~oZ8��
g{��ETY_f|�"�*n�$,>�2�
�0�!�B�Wr��q�

s1p��a�I�JW�u�*�I�:;�5Z}��\E��� S��I�L�Dm(����b���1�� F�m��o�޷���C�k���)ϔ�˻9X��j!��f�>�Ȋ�D�r
%�ቌڦ9o�0S.
"*y{wl0j8�[(~����f*�Nb��a)"Ȅ�pC!G�4��"��|�"�^�^�1m��ٕ׬��|e�b��]}�&.����
?{S~��B�dov���
J�-�
��M:�8L���Gm�j�KY��A��x�]�I�6S�ێr�!ǯ���g1�|���_�O��P���c�o0�qZ����m��Y_7����I�f���	�ރ,x^�B/��YC�G��5��Jv?�s�frQ����y
-C\��
U�D%�NZXQt	 �o at Zm�P�a"�����a�<�'2*�s��:�C�6�ܳf2�X�"��I`,�:��1�W3Dj=�;������2,b��@Z�23�<̢������ �/v8�}{E�nk�FN�Hu\�'��
�z������|R`�R�
-��Al��g
")Z�
hL:d 
y�ݧy
��%�:�S��?y�y��-��}�U�F�5�$�V��1��Iԃ�-#�
h����`�d!8�؟t��<�,OU�2u�
On��eqГ~v�)���!X

����������� �-�&��
��}�`�v�_+ɻ����;���t?g�������D�����1������� �W��?P �.x t����6MG5���3��fJpV֠��|����9�7
�?QV�͍�~��t^A����V���}���U�z�S��_"K
���UY�F���4)P��s��r4�'��p�t
-t�^sH3zMs���3�B�\������@:�
-endstream
-endobj
-2003 0 obj <<
-/Type /Page
-/Contents 2004 0 R
-/Resources 2002 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1850 0 R
-/Annots [ 1950 0 R 1951 0 R 1952 0 R 1975 0 R 1976 0 R 1977 0 R 1978 0 R 1979 0 R 1980 0 R 1981 0 R 1982 0 R 1983 0 R 1984 0 R 1985 0 R 1986 0 R 1987 0 R 1988 0 R 1989 0 R 1990 0 R 1991 0 R 1992 0 R 1993 0 R 1994 0 R 1995 0 R 1996 0 R 2001 0 R ]
->> endobj
-1950 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 696.002 141.367 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga88e9b9cb2588cbf5914695fc14e69a8) >>
->> endobj
-1951 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.865 696.002 174.293 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_4bef34d0d723e765fc4ae7dbd2d195b5) >>
->> endobj
-1952 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.109 696.002 205.565 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga88e9b9cb2588cbf5914695fc14e69a8) >>
->> endobj
-1975 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 657.148 175.399 668.052]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_215d809846aabbfafa5754ce051d1603) >>
->> endobj
-1976 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.215 657.148 206.671 668.052]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga88e9b9cb2588cbf5914695fc14e69a8) >>
->> endobj
-1977 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 618.293 173.467 629.197]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-1978 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.965 618.293 204.181 629.197]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_56eb4e32ec57658bc9e7823cd42ecbae) >>
->> endobj
-1979 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.997 618.293 267.553 629.197]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-1980 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 579.813 170.776 590.343]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_03ed91fbbeb6d32952c5d2a30bfd3830) >>
->> endobj
-1981 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 540.958 165.237 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_05dd6b345e96427a50b45f9756e302ab) >>
->> endobj
-1982 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.376 501.73 291.044 512.634]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_03c487cbbb8731e1c7c9131a7a1faeae) >>
->> endobj
-1983 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 462.876 288.633 473.78]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_fbd401e5de5c3b3b7bcef22ffbfd6fb3) >>
->> endobj
-1984 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 424.022 179.554 434.926]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-1985 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 424.022 250.676 434.926]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_20874a85120477d5cf11da451870d497) >>
->> endobj
-1986 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.933 385.541 322.077 396.071]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_93c37cc32a1f50c36ec15d67fdbec3aa) >>
->> endobj
-1987 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.933 346.687 319.317 357.217]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_66438955854cf73ddaf27a40a69fec7b) >>
->> endobj
-1988 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.58 307.459 192.286 318.363]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_31f5a518ab35f859aafd220bc3e38dfd) >>
->> endobj
-1989 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 268.605 179.554 279.509]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-1990 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 268.605 272.803 279.509]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ca6003248d614d68c07f5330b468a242) >>
->> endobj
-1991 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.772 181.959 272.333 192.146]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-1992 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.217 181.959 448.778 192.146]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-1993 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.772 147.09 272.333 157.277]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-1994 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.217 147.09 448.778 157.277]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-1995 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.772 112.221 272.333 122.407]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-1996 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.217 112.221 448.778 122.407]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-2001 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2005 0 obj <<
-/D [2003 0 R /XYZ 90 757.935 null]
->> endobj
-2006 0 obj <<
-/D [2003 0 R /XYZ 90 715.095 null]
->> endobj
-2007 0 obj <<
-/D [2003 0 R /XYZ 90 676.241 null]
->> endobj
-2008 0 obj <<
-/D [2003 0 R /XYZ 90 637.387 null]
->> endobj
-2009 0 obj <<
-/D [2003 0 R /XYZ 90 598.532 null]
->> endobj
-2010 0 obj <<
-/D [2003 0 R /XYZ 90 559.678 null]
->> endobj
-2011 0 obj <<
-/D [2003 0 R /XYZ 90 520.824 null]
->> endobj
-2012 0 obj <<
-/D [2003 0 R /XYZ 90 443.115 null]
->> endobj
-2013 0 obj <<
-/D [2003 0 R /XYZ 90 404.261 null]
->> endobj
-2014 0 obj <<
-/D [2003 0 R /XYZ 90 365.407 null]
->> endobj
-2015 0 obj <<
-/D [2003 0 R /XYZ 90 326.552 null]
->> endobj
-2016 0 obj <<
-/D [2003 0 R /XYZ 90 287.698 null]
->> endobj
-2017 0 obj <<
-/D [2003 0 R /XYZ 90 208.275 null]
->> endobj
-2019 0 obj <<
-/D [2003 0 R /XYZ 90 173.272 null]
->> endobj
-2020 0 obj <<
-/D [2003 0 R /XYZ 90 138.402 null]
->> endobj
-2002 0 obj <<
-/Font << /F63 374 0 R /F72 471 0 R /F50 339 0 R /F65 376 0 R /F35 2018 0 R /F11 418 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2039 0 obj <<
-/Length 1816      
-/Filter /FlateDecode
->>
-stream
-x��ZY��6~�_��Ô=ZI [�T9�ʎ���ɋ�4�v�,�=���B�e���H�Ot����%�uha������3�X
-8����`��1J�����&��`��)��(V"ܛRlg��R.
-���(Φ3ʰ�F�d��H��w�@S��2U��������������|`��t��<�Y�j����������I=je�ԁgb���1�Fܗ��,�x��
�:s��H�&�̫'y(�0Q�|�r:���\剨����
x��Q�n�
|�G
V���]�,�)�F�e������#����,�kK�vF(C�c� (`Fڧ��'2|q�gқ���t �D�84Vy���N)���E�U<��>�f��m>^��H��\l(z@>p�4�pD��kF����@��H/�S��vw��"Y��]��{��������٥ҵ�l�~K�=Pc���b.1ϲd�ňb�����Q� ^H:�5�BEX-E:�,��ݖ�G�p��e5ʽS�~5}g0�
��$�V��X~p�;��A��B?�efE(?�E2�&����=��;�����?�[�z� /pn�9L�8��uu<�i��fo�<�osY�*+���g�J���?SPY0��¸�9���o6 [...]
-�>6N�|�����J���h���(�w	<	b���!�F060�>(
�������1H��-�#�z��^�?�Sb�L2�؄�p
����)�!�ޯ
1���n���x7AV3�
@�m�t � 6�NM"�Z����}�Ő~�����8K���uZ���ׂ� �ܾ{�-�#��-�!x
��7M>��) ��v���	{�ϣ�M?�o%-e]*]e�HB�H���J��J�(��.G��5��C24t������g�j�qs
-�:��sv�5�d�^pێa�uӍ��MGO�`+O+u��`{���ϨG`�34�fi�u
>�.�/S�@J�#�sog���i�	�D�eSy��(�r��T�]Aw�pI)vQ���-?�ol�E��
�:��	��@��ݿ��E��}q���u��nO�f�-rK�bȲ�T=�����m�g��
:�3v��4i���
��8��!�"]di(�9NaS,��P���u%�篗��,@
X�A�L���6P�ũ2�>���S�lY*�O#�w	t6��it�S.Uꃍ\HKX�ʾ��"+*1��YFE�I�W(���5��_�dA�U\�vҿ����lDӆL#c�lF��oh�O��Ak���)&
�Y�^;���������0-E�I�
����������I�%A��{���p;p�]��}e��'�0�d�.R�3�q.���܌��V�`ݴ}�����
�
c6j�է�ML��2M��N
��B��7N��\	c� �Y}~
-MM�i��E#�(at]
��)����j'":�C�C"U˜�n
3�B�ՙ�>Y���d��b�˕F�^.�������}�plr E�?���o�U�-�ϕe�q�|�
8��sV_�̖���ɮ]�<+��B����,���dّn��
��P6L�L0

��p�IĿ�O4�O3
� ��� e��A`OiY��ym
_������/��#���l�s�P
��
-�B(��{�q-ّմ~W���%��
��sYU������	�J�N�@q���������
-����	
��F������4
-endstream
-endobj
-2038 0 obj <<
-/Type /Page
-/Contents 2039 0 R
-/Resources 2037 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1850 0 R
-/Annots [ 1997 0 R 1998 0 R 1999 0 R 2000 0 R 2022 0 R 2023 0 R 2024 0 R 2025 0 R 2026 0 R 2027 0 R 2028 0 R 2029 0 R 2030 0 R 2031 0 R 2032 0 R 2033 0 R 2034 0 R 2035 0 R 2036 0 R ]
->> endobj
-1997 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.772 708.674 272.333 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-1998 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.217 708.674 448.778 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-1999 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.772 674.475 272.333 684.662]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-2000 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.217 674.475 448.778 684.662]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-2022 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.772 640.276 272.333 650.463]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-2023 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.217 640.276 448.778 650.463]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-2024 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.484 571.504 272.045 582.408]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-2025 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.209 571.504 439.139 582.408]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_9bfba21dd2d808e2eabd2348e92cb96a) >>
->> endobj
-2026 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.183 513.412 269.744 524.316]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-2027 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.225 513.412 419.615 524.316]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_3504c6384a7e40501e2cfc49ba870ad5) >>
->> endobj
-2028 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.771 423.458 350.579 434.471]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-2029 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.813 389.259 358.62 400.272]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-2030 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 367.015 202.902 378.028]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-2031 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 356.726 202.902 367.739]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-2032 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 346.437 202.902 357.451]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-2033 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 336.148 202.902 347.162]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-2034 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 282.562 182.234 293.466]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Throwable) >>
->> endobj
-2035 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.892 282.562 358.581 293.466]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g00a906832c41c42a70a5c9d194e07a7d) >>
->> endobj
-2036 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2040 0 obj <<
-/D [2038 0 R /XYZ 90 757.935 null]
->> endobj
-2041 0 obj <<
-/D [2038 0 R /XYZ 90 733.028 null]
->> endobj
-2042 0 obj <<
-/D [2038 0 R /XYZ 90 699.987 null]
->> endobj
-2043 0 obj <<
-/D [2038 0 R /XYZ 90 665.788 null]
->> endobj
-2044 0 obj <<
-/D [2038 0 R /XYZ 90 597.868 null]
->> endobj
-2045 0 obj <<
-/D [2038 0 R /XYZ 90 541.798 null]
->> endobj
-2046 0 obj <<
-/D [2038 0 R /XYZ 90 449.821 null]
->> endobj
-2047 0 obj <<
-/D [2038 0 R /XYZ 90 415.861 null]
->> endobj
-2048 0 obj <<
-/D [2038 0 R /XYZ 90 381.662 null]
->> endobj
-2049 0 obj <<
-/D [2038 0 R /XYZ 90 371 null]
->> endobj
-2050 0 obj <<
-/D [2038 0 R /XYZ 90 360.711 null]
->> endobj
-2051 0 obj <<
-/D [2038 0 R /XYZ 90 350.422 null]
->> endobj
-2052 0 obj <<
-/D [2038 0 R /XYZ 90 300.865 null]
->> endobj
-2053 0 obj <<
-/D [2038 0 R /XYZ 90 246.515 null]
->> endobj
-2054 0 obj <<
-/D [2038 0 R /XYZ 90 188.417 null]
->> endobj
-1971 0 obj <<
-/D [2038 0 R /XYZ 90 166.105 null]
->> endobj
-2055 0 obj <<
-/D [2038 0 R /XYZ 90 166.105 null]
->> endobj
-1972 0 obj <<
-/D [2038 0 R /XYZ 90 89.441 null]
->> endobj
-2037 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F35 2018 0 R /F11 418 0 R /F72 471 0 R /F23 340 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2062 0 obj <<
-/Length 2039      
-/Filter /FlateDecode
->>
-stream
-xڽX[�۶~���S+5�����s��[��(��V�m"��HT���w�Y�z/(z΃a�"�3�of>�z;�z?��s��z^F������˨�ČD�yw���g����QJ��5�~���vͩ��_����gy��������N�j�a���-b�R�������hp��$�$^��q����ӊ�V�cZ�(!Iy�a���*�ѣ$�R�g
���_{oW�����8�,b�OV}F�ZY
��q*�&�cS�f�o�<��>���و��F~
�U��*���՚��M-��̌�l��Mݰ��<4
�
-e
��֥�nߙFo2�C[�	C�V�l�rq?��(�l+���uI�8�h�jڢkec%6��^�3?j��M�l�^�����#���`�¨���+���C۶?�_��=��eQ�3��F*Y��u�(yd�	��
���
,v��c��\n�Q����m"�����B��+��ދ�.�~��2F�(6��sw,sTL`Ղ��/�ׅ�����ϲ
��L���C
�
8aY�@x��nM�
0��kkf�
�,#)�^�v;� #��hw��jƓ{Vv�9�ۇr��n�
�S}(F�8s8��Π�����̃xk�Q	}�0ވR
x�tU{��A��FS&2Y�Q�����
�I�Y�ȷ�cV��ٞƿ�#tx�)���AO=�]��Mxs
��2�6(&����m7��^�s@��g�ϓ�$�Kpog.���(z)f���>[��� 
5?�V��nT�7Mĉ[<��q0(߰ *?��a�F���3�ԧ��aj�]
)80�R��VB��4�����$��R.
�gR�
R��͙��3>�o �.�\6��YRp�
����r!��/O�уT�ʼ�lh]�:>��%�R0�wEK�"���,!<���f��Jk�EK-煪�`HH��9�<t��r����{�,���gL�ݓ}��|gd����:���%��m�T7˱��G�]S(�f�B
�r
���Z���G%�� ����Z
 sv�����y���
M�]p�n�y�'G$;qK�<��eD�l/�OI
fO�OH�M�k;)�
3-��ii_��p���^�1%a4% [...]
X����'9�o^�`�\����Зv9r� <�C�@6��U^A �/LH1��Q����;h��z�s?�
�^^�f�E��DٲfE�f>��'��P�q��
PL�tBEm�z�d-����;�4NE��#�)�n���
gw�%yD�eR
-2B��À�(8E
a6^�
-��s�wb({�=�K��ȟx at 4�B�0�ܯ�F�|F��#��B
4���:�|�~�3N��*+�i�[y@be
�3��lq��8�������&�.��}Nl�A2qq|'��Կi��V/�<:d�p֎��=l�Yw����q���{[�o�M; {�[eFn�^��s��
%
6����l,�>�
f����������puD���PX��h'�#-�p{��PW*L,�\
f23�C

��ܟ�ӏi��؈;�lDq�h�;P�qgW��UK�o^0�����]���[
p���T�B߻�7�CW
��
-�Y%>�I���s
��g����G��K_�&��b!Ɓ/%P
�[l��(:'޷:CA]�]WXM�VW�y�w���_�ft�k���?]"�)	��u�[�4�}�\맕�'}�83G�Ju�WW�㑔��D�+ ����8��;��L	�0{��.�����)O�
-endstream
-endobj
-2061 0 obj <<
-/Type /Page
-/Contents 2062 0 R
-/Resources 2060 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2071 0 R
-/Annots [ 2056 0 R 2065 0 R 2057 0 R 2058 0 R 2059 0 R ]
->> endobj
-2056 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.893 684.664 513.996 695.567]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_6c841f33162c2419bd53a078e6c788ee) >>
->> endobj
-2065 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 672.708 155.753 683.612]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_6c841f33162c2419bd53a078e6c788ee) >>
->> endobj
-2057 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.473 605.265 424.869 616.169]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_63bd7c7767faf3c219f9c2762095e2dd) >>
->> endobj
-2058 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [156.932 246.556 206.516 257.459]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_1_1IO__Operators_9ccf426c9d89537e0351aac50a333e95) >>
->> endobj
-2059 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2063 0 obj <<
-/D [2061 0 R /XYZ 90 757.935 null]
->> endobj
-2064 0 obj <<
-/D [2061 0 R /XYZ 90 733.028 null]
->> endobj
-1973 0 obj <<
-/D [2061 0 R /XYZ 267.991 675.861 null]
->> endobj
-2066 0 obj <<
-/D [2061 0 R /XYZ 90 659.134 null]
->> endobj
-1974 0 obj <<
-/D [2061 0 R /XYZ 484.685 596.463 null]
->> endobj
-2067 0 obj <<
-/D [2061 0 R /XYZ 90 579.736 null]
->> endobj
-2021 0 obj <<
-/D [2061 0 R /XYZ 199.727 517.064 null]
->> endobj
-2068 0 obj <<
-/D [2061 0 R /XYZ 90 502.394 null]
->> endobj
-1348 0 obj <<
-/D [2061 0 R /XYZ 90 350.985 null]
->> endobj
-126 0 obj <<
-/D [2061 0 R /XYZ 90 346.377 null]
->> endobj
-2069 0 obj <<
-/D [2061 0 R /XYZ 90 265.529 null]
->> endobj
-2070 0 obj <<
-/D [2061 0 R /XYZ 90 197.28 null]
->> endobj
-2060 0 obj <<
-/Font << /F63 374 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R /F95 1788 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2078 0 obj <<
-/Length 1840      
-/Filter /FlateDecode
->>
-stream
-xڭXMs�6��Wpzh�i �5�͛L��&�)�hh
-�9/E� Y���w�(��\7ӃM ���>�
n�Z|}��x�AF�����M�� ��W��ݒQ�֌R���n��.��R�y!q�F�H�b�R�v)I#�L�Շ�o��Z��`p
��-��"(��wh���o8"K�{�kD<�g�]���N���AB��2�7�a<


-o��.���:���fz��}��l��;�S����Z��a�y����V��k��˜p�R�>k�瀙D�	�s�bt���G�7+.��)�
��F�`��G�����!|���/��_4���+&��;�e��]����?���Q�-�s�� y��Y�z �C@�1C��u�}��;���
��/�A���	�D
�i�SA
M��mY�1��g^���h��2�PJ�R %������J}e�7}�$~�Q��g�Nz*�H����;��2�n]d�y��Y0/
槃c���^OSa�{�^K零˯���G; C���J�|���owM-�0����ֽ�|�ӟ�	��O몌p�������m�����p`0�pWۻ��O*��K���=�٩t��,i�8梣�
'�f�z�
Cu}��_/�2;�eb�?N�#��}]�D_�h�~/��f�׏G$���
�s��p�ZG��P�.�V
z��6�{������6���H��h$�r0Td�d™�U�E
Q���jO�e_�򶖻�؛1���2�ɶ�;!\�$��w¹��*ycГJ�����ݶ*k��d}{�D��i��
i�Zcx�"&,�SdϪ�cB� Ր�)�r��,!1w�KWVe��f�Cy��d&ZZ
-f���Ө��K��$2�yn@( 
�)�2��,M e)I(2<��"p���H�,J<hW�H���S��|3�k��0 o�ǣ47|��ڝ�f�y:��)-R�G:����wV��J���OJ�s�1$Rq��j:�PЙ sg
�}ZXM
�7�&e��Yd�ֹ@�6��w��E���a,$\D��y#�^��Y��]u"e�&9�m��'� q� �nSE��N�_7��,5�w����z�+'��?_M{%r��Q�
���BvyYyC_H]���U���ɖ�����+tS_�͔-��ɼ��
���8�D�Ё�xr8Qf06}}-MdV�\ue�W�ZEti_
-���
����-*����hj��ìun�����2�RՈ-� @d����p��*��d,�X�L��ml��y{��;�T����
��ܝ4Y�
����E���U�9ɺ�E�W�x�E��c��C���i4�f��)��J(��Y����v֣�N�<�����o
���<z*Pͥ�DtB8����v.~&5N�E�QOA�j��4Pg#��-�������
Z
�BbIѠ��$H���0��*׾�z
�a����YVe��/;}ˆ��$��]
҃(��ޣ�
�;
9�'��N~
ㆱ�����1��[�3
ƈ�}u�fєE�
v9��yyu�
��aBB>��uӹ�ks5#�`g�o_C0%���1����G�?'�C
V��y��R����]Kf��E���7���Ґdt(����-�tl)��<��D�I
-�Aگ祅$ɆP
n��x����h��Q4#
OKP�K�U�˼�{
���G�z��nЯ�`��9q� t��f]�P��-��b֦�0Ɩ�L��j����?��� ޘdI��\�E4+��*�e���
-�_��|��^8�!����혠�r衭��ܿ�
-E�o���-��G�!��e&��pI��vsqqO
-M��l)����.��d$�E$��~T�U�t
-�&���j��Z
-endstream
-endobj
-2077 0 obj <<
-/Type /Page
-/Contents 2078 0 R
-/Resources 2076 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2071 0 R
-/Annots [ 2073 0 R 2074 0 R 2075 0 R ]
->> endobj
-2073 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.669 620.713 211.204 631.617]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library) >>
->> endobj
-2074 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.033 177.306 284.891 188.21]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_9a28ec8161898b61530de9bbb4a3251d) >>
->> endobj
-2075 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2079 0 obj <<
-/D [2077 0 R /XYZ 90 757.935 null]
->> endobj
-2080 0 obj <<
-/D [2077 0 R /XYZ 90 554.929 null]
->> endobj
-2072 0 obj <<
-/D [2077 0 R /XYZ 90 531.337 null]
->> endobj
-2081 0 obj <<
-/D [2077 0 R /XYZ 90 531.337 null]
->> endobj
-1349 0 obj <<
-/D [2077 0 R /XYZ 90 324.955 null]
->> endobj
-130 0 obj <<
-/D [2077 0 R /XYZ 90 320.347 null]
->> endobj
-2082 0 obj <<
-/D [2077 0 R /XYZ 90 261.811 null]
->> endobj
-2076 0 obj <<
-/Font << /F63 374 0 R /F65 376 0 R /F50 339 0 R /F95 1788 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2109 0 obj <<
-/Length 1702      
-/Filter /FlateDecode
->>
-stream
-x��Yi��6��_!�@j1���c��
)6ͱ�:m�$0d�^
�
q�_ߡDʗ��n�l�X����y�!��[?��F���3\�Z�2FS�ņm�)1F��O�`H9�G^Q4��_�")�2L���B���
��^�.G��=�� 5��͸�ǽO_���WF�u�y�*6L��7�_{x�.b"fZTF�_F0�c�Ӏ�r^�`cHa���H�\�{y썯��h1A�_������g㛙��ܳKC6w ��}�54��L7u�
4�M~ډb�&+S
\�qy�h޼S�������x��!�
�bn����E�y�VI ��!��� WC��
-�
�L�+��bb#��
�a�GU�
 d�%��[N[ł��T�,��lց�8r,k�m+Sumdf
E�Ut]M���޳��"E
�:
-7
F,d2�.�,
��)�k}�OC�TX ��i!5��*q���ʿ�T����1�C߱�=�x�X�޼����Z�Y!�eR�\Sy4St%��\϶F���@�]�I-˻�
�ޟ��(X̮K��׼P]���0*�
�oģ� ��%��w�_�n�~/���1�B:�RHG�3��d�D����a2K�T�[�#�V���㝽��ʋ�2�
BN1	�[�Ys9����iSD�E2[�
nnk荈'���*�e>����I9
�3�~��*�614K��`]�c�w��{
�ڭe�f�e'f"��)�(��S_�y�p
�cd�6�yJ�/nί���FXYs)�ˮ"�Ft�D�A�(g
����m�-ga�a�2��@��2dZX�󱸭ݜe.<%�'�����L�$�G��>�f�0���"B�x,gy����x��E�K�"�y
�@e�$���"J�C�C
U2yo����FW���+S�֊�P@�6h�=�P��P�?L���Z�w�$M�C$�^�W�a���a,)s������4�
-XM�_�6ekjD�v��V;4���YcDP�uo&�=>�e�\K��@^�DI��%TǼ��K���Btj�a
�Q��2dE&&���ڇx���V��b�9�"�5徦���ͶW�[�إ�V+�*��ʇZ��V�Ӯi8��l�1���م�hE�X>�!��U�ȶ���� RV���|1.¿EW!�CjeZz�X�
��dQnl����5��ukm�"栋Y��X���V������*
�����f�� 6M��$�a%��+�uH�n$O�'�?���K���h��
;���K�Y������F���%r�����{�6��'a9h�����i[��A��}$"�ݮ=-��V�!s7�
�\:*�|(����P/��6�G�����˔3vB�ڻ�eP��J	����W� ���+������yB�O�xܶ*�����"�"���_FBz�
��0	�x{������{g�$�P��OgU�!X%�7y�	9D���g�=�ؑJ�L��<ѩ��<}�����XDl��U
� fē����;�=O�,jֈ�\��3�0���o?��߽�~}����������<���4[
��,�D���y�
�;�;D�����f����]����޵t��n�
����Q}=h
>"�Q�*��xI�K
I�7	%���c1��T��д63���w������86b�]�fe������s�d��(,O�,:��V+(��-�T�
�v���q�{Y����zg�
-endstream
-endobj
-2108 0 obj <<
-/Type /Page
-/Contents 2109 0 R
-/Resources 2107 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2071 0 R
-/Annots [ 2084 0 R 2085 0 R 2086 0 R 2087 0 R 2088 0 R 2089 0 R 2090 0 R 2091 0 R 2092 0 R 2093 0 R 2094 0 R 2095 0 R 2096 0 R 2097 0 R 2098 0 R 2099 0 R 2100 0 R 2101 0 R 2102 0 R 2106 0 R ]
->> endobj
-2084 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.857 593.151 243.473 604.055]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_cfed8bc19e046453778c9d99d84df283) >>
->> endobj
-2085 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.279 554.297 155.464 565.201]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-2086 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.962 554.297 221.894 565.201]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_12dc6df3a06f4c97c6bb2264bbad05ac) >>
->> endobj
-2087 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 473.534 181.845 484.438]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_edabe8ecd0866b972e97709e17f94681) >>
->> endobj
-2088 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 434.68 181.845 445.584]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_82b35fc075e1e9542d4cc5cff2e236f8) >>
->> endobj
-2089 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 395.826 154.727 406.729]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_93c1c491c0035f6c38b9ee036184aa7e) >>
->> endobj
-2090 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 357.345 176.505 367.875]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_1a6088f536e9340145630576cfd6e6b9) >>
->> endobj
-2091 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.408 342.35 450.955 352.256]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_82b35fc075e1e9542d4cc5cff2e236f8) >>
->> endobj
-2092 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 307.158 191.718 318.062]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-2093 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 307.158 288.852 318.062]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_033967c42f02b6029fc4d6153eb8072a) >>
->> endobj
-2094 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 268.304 191.718 279.208]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-2095 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 268.304 303.079 279.208]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_25c5ef784f17646705c76a5be6c724a3) >>
->> endobj
-2096 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.635 229.823 188.679 240.353]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_e0a1b4b4a344cad01c58e8e006a7ff16) >>
->> endobj
-2097 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 154.042 170.255 164.946]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ab3964a5c29992e6476852c9d246fe6f) >>
->> endobj
-2098 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.071 154.042 239.714 164.946]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-2099 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [323.878 154.042 409.266 164.946]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g616fcdc7600a3a11a8a9152e75730899) >>
->> endobj
-2100 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 119.173 170.255 130.076]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_3825b4905d72422089bf28d3c95c2964) >>
->> endobj
-2101 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.592 119.173 242.753 130.076]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2102 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.317 119.173 335.783 130.076]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-2106 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2110 0 obj <<
-/D [2108 0 R /XYZ 90 757.935 null]
->> endobj
-134 0 obj <<
-/D [2108 0 R /XYZ 90 733.028 null]
->> endobj
-478 0 obj <<
-/D [2108 0 R /XYZ 90 712.582 null]
->> endobj
-138 0 obj <<
-/D [2108 0 R /XYZ 90 712.582 null]
->> endobj
-2112 0 obj <<
-/D [2108 0 R /XYZ 90 610.222 null]
->> endobj
-2113 0 obj <<
-/D [2108 0 R /XYZ 90 610.222 null]
->> endobj
-2114 0 obj <<
-/D [2108 0 R /XYZ 90 573.39 null]
->> endobj
-2115 0 obj <<
-/D [2108 0 R /XYZ 90 492.508 null]
->> endobj
-2116 0 obj <<
-/D [2108 0 R /XYZ 90 492.508 null]
->> endobj
-2118 0 obj <<
-/D [2108 0 R /XYZ 90 453.773 null]
->> endobj
-2119 0 obj <<
-/D [2108 0 R /XYZ 90 414.919 null]
->> endobj
-2121 0 obj <<
-/D [2108 0 R /XYZ 90 376.065 null]
->> endobj
-2122 0 obj <<
-/D [2108 0 R /XYZ 90 326.251 null]
->> endobj
-2123 0 obj <<
-/D [2108 0 R /XYZ 90 287.397 null]
->> endobj
-2107 0 obj <<
-/Font << /F63 374 0 R /F21 2111 0 R /F50 339 0 R /F65 376 0 R /F11 418 0 R /F72 471 0 R /F99 2117 0 R /F98 2120 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2168 0 obj <<
-/Length 1716      
-/Filter /FlateDecode
->>
-stream
-x��Zms�F��_�'W�����q�6����I'n��4g4XBS	( ���

H(z�b'�O�����sw`cl`�u��:}e1�A�E-�72
l� N��_ڄ ���q��Cpۍgn��Cq;�.'�0v����؍�O����_M���|�=}EȚY�H86<4��[>��d�5�=�
ƋϷY8��I��R���C��,����_�荼�C�
�po
G�l���i��
�E�
$ใY��Wl
��[#�Yd�f�I|N��֟-�"��#��D 
��!l���kJy����&�
����F�UF/-撅 |[������%
q�*--#/pg**�4M�������c���7����E�.���j���(�i|� �s<�$���
#z�L#&�|�u"Y�
�'=�V��X(�r��X����u�Y�<̼��;?]�svj"1��{��������^�����D*7�b (pı,3�?�6�)�  *����t�R��?d̽��M�[Of����<Z�q���P����c�vx��`l�ÑJB��l��W�Y�C*�q���#�|*Y��+�)6�/@,b�����r2;PP;�Cb����2�L��:$�BE)�L���W��Q�,��NT�&�/,%�i,�$�MtXq��� �`5UX��E
��E
�q<�5���ah�}�r�R�&{f����b��
��Mø)��!Ʋ�Io�� ��o}Z��e}��wM
�0�<�.�x�J��+�<ٖXۻYN�#t�#Q"Rs��
t�S�()f496�V`���~o�T@�BZL5��Kpk_	ş;|G	�m��Ķ�>
�����J$��Kl�y	�f<�e�B�9MB1�[:sr�5d�ΎBQ�K�[]9Bn���6���yB��{�
�i��0韭� [...]
9^,c)3P�|̐��★뤹�Q���ݣ�5>~�wEb�1U]�
x⏃�U(Z㥯9C
gͪ�=\I�k��F���L|�l�
r���q��V�#�!Mr�
0(xt�f9�a��]?�)���ԓ�S/Z,�V1k��s�mɖm��d���Fu4���;��j�F�sP�d��^�/�t�ݵ�
��N��X�I�@Rn!bn#��������4��
kڔ@b�
-���]i!��UB��4��
B������QD�Y��L ^g�/�ٍ�
-ݫy0�;�I�JuUM|��Cu�"
����b�f'���2��*��G_ʫ��d�%r^������u㣗��U�6y]չ���ޠl6���W/L��ƚ�&�
�(��װ^$�
P�$��N�{����K���5�A��fV�E��ou��t�$�st=�+6��&]��ԋ~�~����lҷ�q�VPl]�G���͡ ؏�c�A�
�0���_j�7(oK���,�����z�5u��q
I$�ݻ6���7����
� �]d��Qq�Md�qq��!b�{��p�֔�ű�!hn��aٙ���U���

9�������͍u�eg<S,(NO�O����~J����m���̋]9�[iʋW
-�F4�]=��+zA>�������+0�p��$M������
4�(F~zE��ou����ȨPG�0V����������:�t
-endstream
-endobj
-2167 0 obj <<
-/Type /Page
-/Contents 2168 0 R
-/Resources 2166 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2071 0 R
-/Annots [ 2103 0 R 2104 0 R 2105 0 R 2127 0 R 2128 0 R 2129 0 R 2130 0 R 2131 0 R 2132 0 R 2133 0 R 2134 0 R 2135 0 R 2136 0 R 2137 0 R 2138 0 R 2139 0 R 2140 0 R 2141 0 R 2142 0 R 2143 0 R 2144 0 R 2145 0 R 2146 0 R 2147 0 R 2148 0 R 2149 0 R 2150 0 R 2151 0 R 2152 0 R 2153 0 R 2154 0 R 2155 0 R 2156 0 R 2157 0 R 2158 0 R 2159 0 R 2160 0 R 2161 0 R 2162 0 R 2165 0 R ]
->> endobj
-2103 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 707.957 170.255 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_fad498a5802a7928442fd0d4b8c6183f) >>
->> endobj
-2104 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.428 707.957 241.589 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2105 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.612 707.957 360.078 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-2127 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 673.088 170.255 683.992]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_128b2fafec11e096e41f78710ba2ff0a) >>
->> endobj
-2128 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.592 673.088 275.419 683.992]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-2129 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 638.219 170.255 649.123]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_15b3e8152862a6b98ecf1c4f4a142634) >>
->> endobj
-2130 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.592 638.219 282.045 649.123]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-2131 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 603.349 170.255 614.253]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_dbf2609849c95cfb7277df1edc69534f) >>
->> endobj
-2132 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.592 603.349 273.736 614.253]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-2133 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 568.48 170.255 579.384]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_faa5d6b3c1b3b83161b619c28c5f9936) >>
->> endobj
-2134 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.592 568.48 245.522 579.384]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-2135 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.715 568.48 344.181 579.384]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-2136 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 521.656 170.255 532.56]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a07f93a685253eb04edab43b5ebd27b2) >>
->> endobj
-2137 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.222 521.656 232.822 532.56]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-2138 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.383 521.656 282.11 532.56]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-2139 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.546 521.656 423.012 532.56]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-2140 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 474.831 170.255 485.735]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_25a2d683973c6c6901e47c4fe90cf2b1) >>
->> endobj
-2141 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.592 474.831 217.846 485.735]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-2142 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.126 474.831 322.592 485.735]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-2143 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 428.007 170.255 438.911]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_df78023ac662762ffc808902b970597b) >>
->> endobj
-2144 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.591 428.007 279.86 438.911]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-2145 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.861 428.007 426.327 438.911]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-2146 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 381.183 170.255 392.086]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2147 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.995 381.183 221.801 392.086]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_bee6d42dd6f94979bcc7fb3d51102864) >>
->> endobj
-2148 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.138 381.183 294.299 392.086]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2149 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 344.321 167.466 355.225]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_9bf45a32e428970068f654258dd7fb0c) >>
->> endobj
-2150 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.281 344.321 216.442 355.225]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2151 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 307.459 178.004 318.363]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a78a6abbbb3c425992ca644f732e69e8) >>
->> endobj
-2152 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 234.044 190.738 244.948]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-2153 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.236 234.044 261.85 244.948]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_8101d965bc32e4ab1df6aa445730769b) >>
->> endobj
-2154 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 197.182 190.738 208.086]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-2155 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.236 197.182 262.159 208.086]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_d09a9ccc89ace499a888b6b1a1f4ce44) >>
->> endobj
-2156 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.225 183.558 390.082 193.463]
-/Subtype /Link
-/A << /S /GoTo /D (main_Affine_Independence_and_Affine_Dimension) >>
->> endobj
-2157 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 160.32 202.922 171.224]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-2158 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.42 160.32 248.58 171.224]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_1e645f35cbeedf3341428988157f71ab) >>
->> endobj
-2159 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 123.459 202.922 134.362]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-2160 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.42 123.459 296.181 134.362]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_24fbe68af11e373092f23f59b6cfd3e1) >>
->> endobj
-2161 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 86.597 209.547 97.501]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-2162 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.045 86.597 261.831 97.501]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_c7f89b09f6755cdcd97daa3a92522b00) >>
->> endobj
-2165 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2169 0 obj <<
-/D [2167 0 R /XYZ 90 757.935 null]
->> endobj
-2170 0 obj <<
-/D [2167 0 R /XYZ 90 398.283 null]
->> endobj
-2171 0 obj <<
-/D [2167 0 R /XYZ 90 361.422 null]
->> endobj
-2172 0 obj <<
-/D [2167 0 R /XYZ 90 324.56 null]
->> endobj
-2173 0 obj <<
-/D [2167 0 R /XYZ 90 249.122 null]
->> endobj
-2174 0 obj <<
-/D [2167 0 R /XYZ 90 214.283 null]
->> endobj
-2176 0 obj <<
-/D [2167 0 R /XYZ 90 177.421 null]
->> endobj
-2177 0 obj <<
-/D [2167 0 R /XYZ 90 140.559 null]
->> endobj
-2178 0 obj <<
-/D [2167 0 R /XYZ 90 103.698 null]
->> endobj
-2166 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F35 2018 0 R /F72 471 0 R /F65 376 0 R /F99 2117 0 R /F23 340 0 R /F97 2175 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2230 0 obj <<
-/Length 1756      
-/Filter /FlateDecode
->>
-stream
-x��ZKs�6��W�J3�A�Nq�̴�k��$��%Hb+�
-IYQ}(����ı�	C�b�~X�������֛���;�9I�z��Б�
A��f�|l�H�K0����� �����x�
�A�>��I�,_�~�k�z
�T���o��)�%�EB�0i.�g3�23���ŀ�Ƌ�
�p1	Ҵӥ
�0I�j:��2=Wj����*�C����}�E��޴��H�ɽ�0o���;������1�|��q)��Ĺn���ֳ���ӂ:>h빹�.�
MA�
7Z_�l�DV��<�e���i�C���9V_��$̖�&��G�d�m�� 
�OS50
�K�7)˚H�(���`<���Q.��*��8L͘�M�Cd1����w
��ץ�@�V�R$�kU��o�aIF6>W�[��.p^�L�]
|M�cF�4�W
zeߕ_���+�N�Z�6
B���K��،��y��k�&�op�!8��
z���ՀÈڀSF��&v������6�B����u�i�"�3�
-�@�a
i�{�
�Q�F�K#5H�0
�C�#C�����!kz�ۿ���<��aO{�m�!�}���]x,�p��a������,Qij��)�����S .�
-��0

�"Э�,AŠ�2^Y
-���Ҵ৚�
���
-�:<�e�< S���۱��<
�}g׏0���
Hq �)����]�!��$ o�$�P�^<0�g
F
�� �k��Z���7E��4���ӛo3"�A�q}z�
-}
���d
�
j�SB/i�PEY��t>�E{%�c$I#ip���(<�r=^涆|�;k>}@��@���	$]��@����M h	T���#.xC�JI���ři�� [�U۞ã~8�k&Yg2�S�d=WiY���!MS�e���S�,�a_Cl
-1��֯b� ��)��c�`�7��tL��*����ܓ@,���c�������TdqR���N��B?/�s
-���4{�2��(3��X��jl!\�֒߫h3�cBq���;�)\�9�d(N"CIW�
[,!�Qd"�!
:]�Aa�ܫ0�%�#%Q#I��~��
��
���S5E�c�U�
o��Mg�m��X�ip
��]t�G���$;�l�/�Ce�oCe|/���,�4\�*�8�#^%�ǭ�^h�v
D;���>;�z�^�����ԩ(�a�Qz�Ah�C�V�/��)|5�+���|I���7�Е�e�(�����L"1�UT���4K�~6Y�^��xP*���J�
Ѱ
B|`Q�ɦ�)L{�0�[u��懅y���/<l�%ه!�R^�ޓ����{������1��E
���$�6��I��^~����C� �.�s �`�&2�7�����dF���[�P���#�GL�@U�TU���DL��6+]���U��o��<���?]h�+3��5�f>El�
�!_�|;Q�jT#
v
k��D�`�Pv��ڏ,�O?����?+\������6i�CtUj�f-ؘr��Z�
7|���ϩD*4��<�c��켾g��)�5u�:�B}hn�%��V��6���z���
a޼t��y�
y�:�[
��@�;l���M^p�e�=��jvY�a���i�Ev��_�J~�p޶��D��������.����tX{�
-���q�����k}��^��g�����b�@���f	
-���lr^qۆՄ�H��
�a�
�8Y��A�4_$����j�c
-endstream
-endobj
-2229 0 obj <<
-/Type /Page
-/Contents 2230 0 R
-/Resources 2228 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2071 0 R
-/Annots [ 2163 0 R 2164 0 R 2187 0 R 2188 0 R 2189 0 R 2190 0 R 2191 0 R 2192 0 R 2193 0 R 2194 0 R 2195 0 R 2196 0 R 2197 0 R 2198 0 R 2199 0 R 2200 0 R 2201 0 R 2202 0 R 2203 0 R 2204 0 R 2205 0 R 2206 0 R 2207 0 R 2208 0 R 2209 0 R 2210 0 R 2211 0 R 2212 0 R 2213 0 R 2214 0 R 2215 0 R 2216 0 R 2217 0 R 2218 0 R 2219 0 R 2220 0 R 2221 0 R 2222 0 R 2223 0 R 2224 0 R 2225 0 R 2227 0 R ]
->> endobj
-2163 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 696.998 209.547 707.902]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-2164 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.045 696.998 309.432 707.902]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_8f0bdfca2a6993bfa08358319d589ab6) >>
->> endobj
-2187 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 649.178 228.895 660.081]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_79a586ca093d218e5603380ac0475717) >>
->> endobj
-2188 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.232 649.178 333.482 660.081]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2189 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 614.308 229.503 625.212]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_641b55dd6c26bce06bd8041b38aec873) >>
->> endobj
-2190 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.84 614.308 334.089 625.212]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2191 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.98 579.439 187.264 590.343]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a7b3a5c12ea008b78eed88a621c1fab1) >>
->> endobj
-2192 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.963 579.439 293.213 590.343]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2193 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.131 579.439 371.148 590.343]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-2194 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.711 579.439 455.727 590.343]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-2195 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.98 521.656 187.264 532.56]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_e61fdcc22d1e0fe43b94194f2eadaa1a) >>
->> endobj
-2196 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.963 521.656 293.213 532.56]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2197 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.131 521.656 371.148 532.56]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-2198 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.711 521.656 455.727 532.56]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-2199 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.235 509.701 220.058 520.604]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-2200 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.717 463.872 186.348 474.776]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_33daeddebffc6eb847edd92c3ba045dc) >>
->> endobj
-2201 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.523 463.872 293.772 474.776]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2202 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.35 463.872 373.367 474.776]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-2203 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.82 463.872 456.837 474.776]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-2204 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.717 406.089 186.348 416.993]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_1d00782cbab77286295552af7dba7ed8) >>
->> endobj
-2205 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.523 406.089 293.772 416.993]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2206 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.35 406.089 373.367 416.993]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-2207 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.82 406.089 456.837 416.993]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-2208 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.581 394.134 218.404 405.038]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-2209 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 348.306 180.496 359.21]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_6a3dd351c33d66250d2b4ac639768f07) >>
->> endobj
-2210 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.834 348.306 252.994 359.21]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2211 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 313.437 213.153 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_8a87935278cb7b1290301e96cb82fcb1) >>
->> endobj
-2212 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.49 313.437 285.651 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2213 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 278.567 213.163 289.471]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_5e972fbb672e9b2faec34b949c9a2918) >>
->> endobj
-2214 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.501 278.567 285.661 289.471]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2215 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 243.698 205.692 254.602]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-2216 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.19 243.698 261.312 254.602]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_75188bcee0bfc88a4c8571acc04a1826) >>
->> endobj
-2217 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.65 243.698 332.156 254.602]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-2218 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 208.829 205.692 219.733]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-2219 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.19 208.829 261.312 219.733]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_4aef1a4f6e9bed5d473e98320401e0e5) >>
->> endobj
-2220 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.65 208.829 338.781 219.733]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-2221 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 173.96 205.682 184.864]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-2222 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.18 173.96 261.302 184.864]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_16f61fdba7e14a67990a84e93be00efb) >>
->> endobj
-2223 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.64 173.96 330.462 184.864]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-2224 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 139.09 183.824 149.994]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_caa538c9c00b2f69301365d916bb49e8) >>
->> endobj
-2225 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 102.602 192.272 113.133]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_620d5cdb01b8b20848ca01f4e4c05b4f) >>
->> endobj
-2227 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2231 0 obj <<
-/D [2229 0 R /XYZ 90 757.935 null]
->> endobj
-2232 0 obj <<
-/D [2229 0 R /XYZ 90 714.099 null]
->> endobj
-2233 0 obj <<
-/D [2229 0 R /XYZ 90 156.191 null]
->> endobj
-2234 0 obj <<
-/D [2229 0 R /XYZ 90 119.329 null]
->> endobj
-2228 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F99 2117 0 R /F65 376 0 R /F50 339 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2281 0 obj <<
-/Length 1520      
-/Filter /FlateDecode
->>
-stream
-x��]��6����ڂT�?�|��J��N�ݮ:ݡ��]�<LԐ�q`D}�;�
J����>>���cllM-l�ҹv7�|�;Ա����-�!�Sb
'��.!���cܽ��
�Y0��Q�M�Ճ�d���h��������C0��÷�B6�%��\߃F�Z(��Z&Q�6��#¸)���jxR���c�̧]1��A.�'Ľ�z��$�G��x�#�����Η�Z�E
-op��n8�|���	<kaĠ3�E��eS߱u�����g�}
�x�j�"jp���qK�?Q�
s�{��>���4�ϕ}�T��(����$�a&r�]����>��C�&2�3߃�Z
���HJ�c�Or|Z��A�,�:|�4�*�D"��z�
i�Pt_Z$��"M�Uy?o���۶�<Z5�	c�`��
\1�?Dr����ƒ=�v�	�F�}U
h�p
-�P����ۈh���8�FaǫQ�RL.�=6�A�U:U��v��Z���Z.�R��d݇�A��R�y��� |1)^
���E29

�[��������;k\!Vy%r%�
ME6��pw��s�l|�mу;�4�<��p�
�$B�^x��0�<+��'�{����#�@�1=X�(��_������S'���2�Z 
b
ٖ���j����DI��){
oQH��o
-=�/
-΄,.��/��wM9TS*3d�Gj���J
k+rY�Z�Tc/���^{�����A�cV�9��Br�2��u4��Ҥl�\�H�ȁF�dZ>/fc�d7�$��
i��������$�_me=���}HB�m^�ș�4��b)M��2�LF����6��Sћ'+y��v?M&�
"L�z�XS��=��U� �Z,V�t+:r%s1�7ZKe �
-
��U�X��%�P�&
-��aC
��zm}&�c�u햄���d4��h�-.�] s=�E��d��jzXOT�*�
E��
�6�ߦ�G��S�iS�����jݤ�~h@�؈sv�$��ȁ9� t'�����п���e�:tUVY\j�\��	i;&Œ�L���2"���v��ʗ��O�Wm�8z*ش"M�#��g<��1�#[��nkle"T�Y��8��b|�|5�߬f��w F��#'D��N�������R�ߕ�0����A�]$�&Y'˿�c����
�IԦm��6D�B*������$�,�e�$����@#���ȵ���q8��cׇ�bZ�M��_���+�,U0��j��-b������;���1�f�ݱ���M�(�1��E=A�JA(�B=��.���_o�M}�v�Uk�R�`0
X��Q͛5Ψ�0�bٸ��#b�űO�t3Jf�|���=��adS��U��
�5�{rZ=!��E뚵n������r���|�y��!�!�������f���[sⰼ��˛?�ȾS�K��� [...]
-endstream
-endobj
-2280 0 obj <<
-/Type /Page
-/Contents 2281 0 R
-/Resources 2279 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2071 0 R
-/Annots [ 2226 0 R 2247 0 R 2248 0 R 2249 0 R 2250 0 R 2251 0 R 2252 0 R 2253 0 R 2254 0 R 2255 0 R 2256 0 R 2257 0 R 2258 0 R 2259 0 R 2260 0 R 2261 0 R 2262 0 R 2263 0 R 2264 0 R 2265 0 R 2266 0 R 2267 0 R 2268 0 R 2269 0 R 2270 0 R 2271 0 R 2272 0 R 2273 0 R 2274 0 R 2275 0 R 2278 0 R ]
->> endobj
-2226 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 708.587 189.901 719.117]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_242d9bf0b5b215d4aa771e9f8595baea) >>
->> endobj
-2247 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 671.864 241.935 682.768]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_54f33edf5fdf4c6f606136b882be9f1d) >>
->> endobj
-2248 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 635.889 193.229 646.419]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_8c73e2c464d5e93dc55862d00d5478f8) >>
->> endobj
-2249 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 599.166 238.459 610.07]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_396bd79b5d57d54685d9c1b9d970c00e) >>
->> endobj
-2250 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 563.191 187.689 573.721]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_d369744c43a49ebac904bc3e17de0478) >>
->> endobj
-2251 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.505 563.191 226.693 573.721]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-2252 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 528.578 161.677 539.108]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_29212d49685544d8a3c71993bd30f467) >>
->> endobj
-2253 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 456.573 205.752 467.103]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_20814dec69b3a6602b70a9ad50db9b2a) >>
->> endobj
-2254 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.089 456.573 276.595 467.103]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-2255 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 421.96 267.938 432.49]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_b464aec35ab7fb9fe0a8a50e05ad6f99) >>
->> endobj
-2256 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.275 421.96 338.781 432.49]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-2257 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 386.974 212.377 397.877]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_cf4dc2de16f4a54ca03daa6ac1d31ce2) >>
->> endobj
-2258 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.714 386.974 289.846 397.877]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-2259 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 352.361 274.563 363.265]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_c20541d40c7629b278584406ce554eaf) >>
->> endobj
-2260 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.9 352.361 352.032 363.265]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-2261 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 317.748 209.627 328.652]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_28b268e37d25a0cfa2b5bf39e85c758d) >>
->> endobj
-2262 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.964 317.748 314.791 328.652]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-2263 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 283.135 248.202 294.039]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_535090b407c713681228d6ab2b835e36) >>
->> endobj
-2264 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.018 283.135 329.845 294.039]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-2265 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 248.522 271.813 259.426]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_2626176104b632be36dc614e1d5536ea) >>
->> endobj
-2266 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [299.15 248.522 376.977 259.426]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-2267 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 213.909 310.388 224.813]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_1cb059d74161d8458f18b02e33efe434) >>
->> endobj
-2268 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [314.204 213.909 392.031 224.813]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-2269 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 179.296 216.252 190.2]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_0cc08ca5d72d5cf465eb7812ffbb156a) >>
->> endobj
-2270 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.59 179.296 328.042 190.2]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-2271 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 144.683 278.438 155.587]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_8921d611a6be878bd8ad66a9af6f405e) >>
->> endobj
-2272 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.776 144.683 390.228 155.587]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-2273 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.95 132.183 356.194 142.089]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_0cc08ca5d72d5cf465eb7812ffbb156a) >>
->> endobj
-2274 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 99.112 254.827 110.016]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a85819690f928a46e3f437bfe629e976) >>
->> endobj
-2275 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.643 99.112 343.096 110.016]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-2278 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2282 0 obj <<
-/D [2280 0 R /XYZ 90 757.935 null]
->> endobj
-2283 0 obj <<
-/D [2280 0 R /XYZ 90 725.186 null]
->> endobj
-2284 0 obj <<
-/D [2280 0 R /XYZ 90 688.837 null]
->> endobj
-2285 0 obj <<
-/D [2280 0 R /XYZ 90 652.488 null]
->> endobj
-2286 0 obj <<
-/D [2280 0 R /XYZ 90 616.139 null]
->> endobj
-2287 0 obj <<
-/D [2280 0 R /XYZ 90 545.177 null]
->> endobj
-2279 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2117 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2339 0 obj <<
-/Length 2137      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�~ϯ�Ӭ
�
/�$m�&�S���&ۗ����t"Ԗ\IN���{Iɖ-_+�l1/q,S�9<��΅���
���������/z�(����IO�^�3"9�݌{���62Ji���~������~6]��q
G?'�y�//..�G���\~����ck�2�@������vHceF	��7-s(„����
WӸ(C.)L�x_��Ӹ��ɯz��
�:
��@	�9Ny������B{��
H �fg�~��1<��G� e
ͨY��>���_Ψ��]�f�%]��ć�	����3�҈S���4�`��,���(_~��Ռ@���8��h�d9��q4�һ|��Q���Y�&���9=���J�s��U=St�,J=k���讀iX����C�{!��{�:���Xo�+� w������^?.����[
#��+;;}�t�/6�c
 ��7�k0ѿE0/J\P��q���>�"��b1-����v���Tȃk����r��8t[|H֭����B�;�$�`w(쎲���0����ӥ�����
��dv�; [...]
-E�'����I��q
&՘�!NI(��KB���i��3	���cnm�M��$�uL
ݵ�� �~
������H����1�L�q�0�̯@oE'��7?/�1Wc�Ix�$m
{
��_3��x](vC~/�H�'"�n��WtB/�>��Z{�����[�
|ã�c!�.r�֬��j���ԣI|;m
� �R~J���f�E�6B3�����$
�	�r�I���j���B�����G$�C>z��ޕs=*�:��,�1�Bp��L���{�c(aa�1q��1>a�Z�%$qErg�m�0β&��O�<��2�}��2�\�
I�_����+ѵn�~�,���ڒz܍sH/��
��p�f�s���N�'
o����
}���<(t9������k�
��Z
-nm0ā��	6J��}ZT��"\ob`X\���
@���(!���)��Թ #�y6�Dv�Np����k-Oq�ъ=P�uR!	 �UBS��l���f�� )U��/��Y-�#���1˖Y$Y��S����qx;�vm��Q���
��7�N��|���o���
-܊Y<�������u�XB�ݎ��t?&��S��
C�)�n��
s!���~x�)�ˑ��d4���8�� `��v#�
�Dl2�466�ģ�M"�l0)WPs%�����>mB� ���60�s�P��BH�(��sJ<�7����>��ɀ�K�S5ĚJ;M[�Vq˜�*���B�hK�ձ�
��r`��1)�vPa��lԎ����{%{u���ӼO2��e���Q.�1jZ�ߪ���{j��2L��
�/h(�Zt���Os������Q$��4�,�E{��)���#
W��*⯎=NIk��Vt��D�i]�a��
_%�6�n��;ۆa7�yC�7�e}C�����
-R��!=� �{�s ~C~�����M��e���?2��C�-�
�h/ӻ�Otr,!�MA�@���(��wz��|����:X��"��x��C�?'�����/�\E[�f~g�c�>�U�k�F�N�{�eqqaVu�d���!	l�tws�iu˜fP��e��m{�,ո+H,ǒ
C�;���|'����'9ף��9&6�:��' ��
�ٲ3hϜ)�>�&��Vψs�m�N��"u��f�|n����<79B`*��3z������ڍ�da
V5����k57 %ʮ�o�-��
���q�.R�5��1-d���;w�P��H�5��fh�,
xe��nP�P�e�)
mR��tʒ
S��-n?4;�wuI�'*��l��K�����^EƏ��S>s�R>V���Ww3�~�
���0L����8]��A�>�T:_�%x�
U��@ I]�ʶV����~:3.��������,��珏�dT�E��s������mZC�LVi�$˭`�,�x83Y�������
-endstream
-endobj
-2338 0 obj <<
-/Type /Page
-/Contents 2339 0 R
-/Resources 2337 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2341 0 R
-/Annots [ 2276 0 R 2277 0 R 2295 0 R 2296 0 R 2297 0 R 2298 0 R 2299 0 R 2300 0 R 2301 0 R 2302 0 R 2303 0 R 2304 0 R 2305 0 R 2306 0 R 2307 0 R 2308 0 R 2309 0 R 2310 0 R 2311 0 R 2312 0 R 2313 0 R 2314 0 R 2315 0 R 2316 0 R 2317 0 R 2318 0 R 2319 0 R 2320 0 R 2321 0 R 2322 0 R 2323 0 R 2324 0 R 2325 0 R 2326 0 R 2327 0 R 2328 0 R 2329 0 R 2330 0 R 2336 0 R ]
->> endobj
-2276 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 708.953 317.013 719.857]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_794dad01f1995c73b887effa026ac32e) >>
->> endobj
-2277 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.829 708.953 405.282 719.857]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-2295 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 663.499 236.745 674.029]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_8ede75fbd470fa30f11d4c02672883f5) >>
->> endobj
-2296 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.082 663.499 307.588 674.029]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-2297 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 628.256 243.37 639.16]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ce010a880cb8574335f1be294907de89) >>
->> endobj
-2298 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.708 628.256 320.839 639.16]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-2299 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 593.387 240.62 604.291]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_8e13e7d3536de2745bc9e58a25b75b77) >>
->> endobj
-2300 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.957 593.387 345.785 604.291]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-2301 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 558.517 247.246 569.421]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_35f19d0e7190c5a18aebc9ced95d554e) >>
->> endobj
-2302 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.583 558.517 359.035 569.421]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-2303 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 524.022 193.577 534.552]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_668cbd7cea86f47c4e2b303468083712) >>
->> endobj
-2304 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.393 524.022 232.581 534.552]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-2305 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.059 511.02 248.845 520.925]
-/Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-2306 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 478.194 193.577 488.724]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_93728c0f0afcd949c391940be93455a8) >>
->> endobj
-2307 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.915 478.194 277.691 488.724]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-2308 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.892 465.192 252.677 475.097]
-/Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-2309 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 431.992 223.465 442.896]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_86dd59c40a3c9867c2979ff24ba342c2) >>
->> endobj
-2310 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.802 431.992 295.962 442.896]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2311 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 397.123 285.651 408.027]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_4882da0200ef4201f3adb0f6d7731526) >>
->> endobj
-2312 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.988 397.123 358.148 408.027]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2313 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 362.253 229.552 373.157]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_0442c5079b3de8dcac61c224ee7a2e6f) >>
->> endobj
-2314 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.89 362.253 302.05 373.157]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2315 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 327.384 291.739 338.288]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8e2f5b70168ac89a3f47639e7d9a4f9) >>
->> endobj
-2316 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.076 327.384 364.236 338.288]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2317 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 292.515 266.673 303.419]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_4b7615a8ec5120dc083f368ecfe2d1da) >>
->> endobj
-2318 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.01 292.515 339.17 303.419]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2319 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 246.687 217.109 257.591]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_894e92407922be006a76577cf47b8589) >>
->> endobj
-2320 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.446 246.687 289.606 257.591]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2321 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 211.818 271.126 222.722]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_84a9c57aa31433a277d9be6b0077065a) >>
->> endobj
-2322 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.463 211.818 343.623 222.722]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2323 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.863 199.189 326.259 209.095]
-/Subtype /Link
-/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
->> endobj
-2324 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.984 165.989 201.742 176.893]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_4e04c3a6c835332c31dfbb928b31144e) >>
->> endobj
-2325 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.442 165.989 243.629 176.893]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-2326 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.079 165.989 371.329 176.893]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2327 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.562 141.406 267.759 151.311]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-2328 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.288 108.206 212.768 119.11]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_07cc48290e435dfb739fb565ff1aa3fa) >>
->> endobj
-2329 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.771 108.206 252.959 119.11]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-2330 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.896 108.206 375.145 119.11]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2336 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2340 0 obj <<
-/D [2338 0 R /XYZ 90 757.935 null]
->> endobj
-2337 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2117 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2404 0 obj <<
-/Length 2728      
-/Filter /FlateDecode
->>
-stream
-x��[[s��~��
΄�����t�v�4i2��jjg8	I�� @V�_߳�� @v��@rq��|��
��n����^]Ϯ��l�#_R9����x�$A����f��#�Œ`��7
�� ��7
�����>�$����&	���/_�e��>8����������X�s�|
�Z�tM=�(/\w��a�h�!	��A�.�T`�S/�
�A�o~
o�dA��k�J�Lx�����g?�H�sb�!R��z7{��o����1̣m��s�ຝ���}�s˶��Ҋ�5h+�Ֆ��p�(CX
-����4���ޔx��
��k�1�'�(�c�rK�Z#�$.���G�k����T���fn��]n�����Ye�[c/�ơS�,���h���3�
-n����ێa(�Uj�a<�p���}���C�΢}�>��!��܇A7۰�o�(�
'h��9шPZ��b�X�������Q��s�)�
�=���OnP�,�izבy:ܸ/n�:T�
�z�FJ�� ��FA���@�/�l�x��� �w����t
j��}��Z�Z�.)������q�=��
<@烅�hs"85���8L�m��p��S��|�yw
���.p�L�
B�yUp4�F-�/8��8��� j v����O����K�$ܦO�/��z����~�a���W������@|��"\a�*lC��>,-���8[eIe�˗V�Ub0��i^��/��ǡ�(���G�!�@O�9�?�z��GTM�Tu���6��~Չ_\!��z���x��{�k�  Yiw=��Р�ԥ,�
���T�%��\T���+p��0��*-E
aH�
�pn#]	$�īZ�QĻ�%�D at EP��i Y�"s&l�H��ʷ˲򫲌Ѵ�̶7��d�dcp��B����j�lR��x:+w؁j _�˚
—L
-���k�ΫJ�b\��MÛ�L8h�������r
��8��P
- ��yO�BL�0�^��
�8N<0���x�7�l V��!`u�^l�����|#��|���j
p>������>}�c��b�`r
-,S1w������(�&���������
�z
-�M�&W��`1��/���
��� K`�'p��-��p�h��.3A�0Qjfb��� ���o �	]�?JF���ϛ��b4�)E?.
-C��T��U?�H�A)�%���9��*)� �+PI9DzM�
�6�(�9��s'�mХ��`��4X�&�N;g��Kc�W��N΃e
{����5
Z<Xְ� �:
-6�@GSaŅ���$� Ó�)��
-���b<V�
-��
-Ku�@��jDT��+�(%����c�f�`뉰_pv>���FP`��0�4�(�$r�)E��p����P$c�&�����L��|�
-Q�S at 2�d:�GK��1tC}�S�a@:1�chL���z�j
ƌ5Я2���
q.�t�3�������� ��
l
o��%�x��C�Xe��ެZL�<���X���G�~�KĬ�L���Xh݄c贍�
�,K�O2�
9�"M
5,32���0O׺ʥ�NPn�F"	Ҍ�Wm�7� �v�j'm�Ey�_
�o�#&ᢑ���� ?U�m�F�\�=���^�HQuɤ�Q���
U�kc at P
-�u�R��wB�
�^��?������}y�JQ�l���9Ϋ<LJ��;�������.�xd��3jÐ��ɺ��P����;�=���%q!&Zo4
-]��S�{V������q�^wVqד+�W%ȴn-�s~F	%5
U�؅����`�is�H\V�
-Y���G� �$#j��F6	)"�~�bD
�CzK����bΤ�3�Q)��͊gm�W�|�ILV���X�
W�4�4\�� w�J�iV?�w��Oca�R$9���Rx=�
-F��Sk�0}�f�3`������C�N��댃�^:{wY�&�
�0�TH��F8�\W9��:�eS�Ysyf�CL���~�����v���Ӈd(��FC��/�@e���rn��G�
�[@jt�O�O�9�8�G^�V2�h@�@]����!f!EAb�S�G7����G�u�$m��lUm�×�C��9�R}k¿r3�]�ӧYb
\z�<@���|�c�� �3�2��3ľsK�!�Ge̔�Wq��1QkG$��:ߐs�*j��C����faR�\
-P�:D5�d�iو�&B��}��1M �/���2��R���cf���Y�o���' 7�05`������$��?Z�B�IJ���/,V�L=�1�O���c�X�0U�Ѭq.].�rD��
Q)>�F�/�&��b�
?���.���*ϗ�

[�����M�$��l��)�0���:
�K�#��iI���#�E3+�ݙUZ��	ˇ0�6��<� �K�ʦ���h�R����7O�
�6�����vo�X�
�=��\?�+W����Qܑ�
�F�랝�jG肬ؙ��բy�?ȧsnS
Ɛ�^��`�m
r:�sM{q�p�I6͋���ӗ
Q�Ou࿜u�A���b��'��G��~Ԭ=�]P��f���:�۵��B������olD&� �X�[�ȏ9�l݇�a�^
?�C�j`����
-��
B��{�fhhH���a1|7�ϋ���l�T���k�:~�e��WW���h���8:$(ʮ������&�:Rb��*��'��#��;�֨m���z�P
-endstream
-endobj
-2403 0 obj <<
-/Type /Page
-/Contents 2404 0 R
-/Resources 2402 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2341 0 R
-/Annots [ 2331 0 R 2332 0 R 2333 0 R 2334 0 R 2335 0 R 2355 0 R 2356 0 R 2357 0 R 2358 0 R 2359 0 R 2360 0 R 2361 0 R 2362 0 R 2363 0 R 2364 0 R 2407 0 R 2365 0 R 2366 0 R 2367 0 R 2368 0 R 2369 0 R 2370 0 R 2371 0 R 2372 0 R 2373 0 R 2374 0 R 2408 0 R 2375 0 R 2376 0 R 2377 0 R 2378 0 R 2379 0 R 2409 0 R 2380 0 R 2381 0 R 2382 0 R 2383 0 R 2384 0 R 2385 0 R 2386 0 R 2387 0 R 2388 0 R 2389 0 R 2390 0 R 2391 0 R 2392 0 R 2393 0 R 2394 0 R 2395 0 R 2396 0 R 2397 0 R 2398 0 R 2399 0 R 2401 0 R ]
->> endobj
-2331 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.657 720.235 275.748 730.141]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-2332 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.443 687.272 250.099 698.176]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_e0ba85e8cab7e4e95ec001bde5bdd99d) >>
->> endobj
-2333 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.258 687.272 289.446 698.176]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-2334 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.772 687.272 379.512 698.176]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-2335 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.747 687.272 513.996 698.176]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2355 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.43 661.717 403.696 673.882]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-2356 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.091 629.962 250.748 640.866]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_0acf1147e3f81830606dec4cc8faddd4) >>
->> endobj
-2357 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.068 629.962 357.317 640.866]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2358 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.405 629.962 456.145 640.866]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-2359 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 618.007 202.344 628.911]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2360 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [356.462 605.616 409.185 616.572]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-2361 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.207 572.652 266.586 583.556]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_988ff507806fa8126649f463ef6a1f31) >>
->> endobj
-2362 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.509 572.652 309.697 583.556]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-2363 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.494 572.652 408.234 583.556]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-2364 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 572.652 513.996 583.556]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2407 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 560.697 171.361 571.601]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2365 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.141 547.097 414.324 559.262]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-2366 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.017 515.342 265.396 526.246]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_79acafbe4f67eb7e2710287bcd60db96) >>
->> endobj
-2367 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.568 515.342 375.818 526.246]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2368 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.239 515.342 478.979 526.246]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-2369 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 503.387 225.866 514.291]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2370 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.012 490.996 414.183 501.952]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-2371 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.933 458.033 239.984 468.936]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_cda762f8c081fed2862260211618fce0) >>
->> endobj
-2372 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.633 458.033 280.82 468.936]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-2373 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.855 458.033 405.104 468.936]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2374 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 458.033 513.996 468.936]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2408 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 446.077 171.361 456.981]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2375 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.257 432.477 432.092 445.635]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-2376 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.436 399.52 251.209 410.424]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_178a6a88143f44b43939d36024af6162) >>
->> endobj
-2377 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.361 399.52 290.549 410.424]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-2378 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.719 399.52 409.969 410.424]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2379 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 399.52 513.996 410.424]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2409 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 387.565 171.361 398.469]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2380 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.114 373.964 456.992 387.122]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-2381 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 341.007 224.57 351.911]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_5a66e6f883c7310ddbc312f78bb0970f) >>
->> endobj
-2382 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.908 341.007 297.068 351.911]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2383 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 328.615 347.869 338.521]
-/Subtype /Link
-/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
->> endobj
-2384 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 306.611 255.564 317.515]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_d80989353ea3738abdb6b605d27cc8fa) >>
->> endobj
-2385 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 270.696 257.637 281.6]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_9507085c5b0efd13c80f08a22b0f5529) >>
->> endobj
-2386 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.974 270.696 330.134 281.6]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2387 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 258.305 378.454 268.21]
-/Subtype /Link
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-2388 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.706 224.345 260.243 235.249]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_24d2b69146ab1b2216e437468a818cea) >>
->> endobj
-2389 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [292.792 224.345 337.952 235.249]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2390 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 199.998 378.454 209.904]
-/Subtype /Link
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-2391 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 177.994 257.786 188.898]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_1a02b17cbccf348192f3e7f776b3b3fd) >>
->> endobj
-2392 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.123 177.994 330.284 188.898]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2393 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 165.603 375.773 175.508]
-/Subtype /Link
-/A << /S /GoTo /D (main_BHMZ05_widening) >>
->> endobj
-2394 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.698 143.598 308.942 154.502]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_eda87d46bc3b54b420a475934e0e1cb6) >>
->> endobj
-2395 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.477 143.598 386.637 154.502]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2396 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.169 143.598 513.996 154.502]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-2397 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.489 119.252 302.72 129.157]
-/Subtype /Link
-/A << /S /GoTo /D (main_BHMZ05_widening) >>
->> endobj
-2398 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 86.288 245.911 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_df3cfc56df68bc8063e6e9eb3d0ad3f1) >>
->> endobj
-2399 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.248 86.288 318.408 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2401 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2405 0 obj <<
-/D [2403 0 R /XYZ 90 757.935 null]
->> endobj
-2410 0 obj <<
-/D [2403 0 R /XYZ 90 323.475 null]
->> endobj
-2402 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F99 2117 0 R /F65 376 0 R /F50 339 0 R /F97 2175 0 R /F38 342 0 R /F98 2120 0 R /F34 2406 0 R /F23 340 0 R /F35 2018 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2462 0 obj <<
-/Length 2142      
-/Filter /FlateDecode
->>
-stream
-x��Zms�8��_��9\5V$� M�m�N�/wS57���-���p��N���Z`��%�3���H��`����������28�u�ە���:1J����b��|A0��9�fP���iN��'�������
�ͻw�?�ˇ���n��!�7,�6r���Q��E3���
-�N���X+�ݱ�����
�0
Ʃ)�"	j��|+QΉg�,�K.����r��?og���
���\�¼a:��6"������yRR�aS
~c9��
7�
�*K���@[�V�ڠ.
��B�aZ��*��@o��f��Er�{̦�Ү�W����/�
��~�+-3��2�<g+$���rMQ��Z�[f�\��2����8������:/l&&�ȶݝy�<�j�	3�8��n�]
8
y�~
�V�I��j
��j�ߩ��44��#��_�����,����
F� ��8�z!���f�Ep��R���
�"�Cu�B����
ýXP�
��/A����(e�Y���8ڿ( ���i\�ȗ��T
V�i�
-���僿b��S��O�!��f3w����y�X�
-C?�rS�"���MX�UN��x�!0s��֙\��4Xh?�XR��n`q�v�*���dҁ#(.(Gԕx��M�{J�rn33���Q at LX��#Ƃ��H�7d����
-�'�QN�i���m�8���
�*�G"[�J�0�S��G^	}����d����p�
�p*n�� �t���i�W�T�y��UuA����D(�ʃ"������C,�
���
K=�Ķ2�
q�B��u�{�Ƹ\�.���Hd���D�;!��ؾ������'���
�[�p ����
<i[�0޺�P1U|!	l
�9��B��5P�ُ���W����-`��s��s�
w�~"�B�g!J�K |�� �&�!
9�
�
-
Y���ĂR����a�
�/�!�"�C.A,��ƀ� m�4q2�;�6s�-�.�/$2��>�{툌T�T
#�;ť �ץpO��V�p��)�ǨA%�Q#����i������֫��pdr��P�j�

��O%�F�������
Y1 ��	�<��dմ��H�
�"�O��@F��
�!��CiӰ�?X��<�
�E�
*C�ץ2[�
��q(�'\@}ev��?��1���u�n�]fK�>�	>�Q�ڌ��!N$P��^9���HĦ����E#x�<�]��Q�WrV?j��|���\}����
��F���t}IO
�6(RU8�����J\@[��L��'m��0g
���������R ���`|e]y���$At����2����l�՜��έ

�\4�Y^���x�nQp���
�K��J�"���f�g��vE'�o�6�d�s��K){B{C��7nW�[�
�.	������z��B$7�	y&�)�Am~ɴV�4���(���
w�Q

�8�KD�/�d�|S����jD���j���N�aܧb���a��x��Dy�[�)6�r)���,uBg{���zR�c�8���m��R������G1|�z�G�Y/�eO�.�N��D�1��rw�e��t/ئ���R�b=9�"���r����Kp}��|R=QY�A�}b=>zs7��`j�����3��~�uB)Vp~*v!���L�nP�a;��N7�KRt�	�&�o7 ��-S��i�U�?=Ә�:]魘B�����c��G���Ѷ����Z��G]�l19ɰ94�Gvǔ¼��>T��
�a�U��<�k�ʸ�ۗ��`É�
��,��
��qAd��W�ftDN.���� ^�A�
Q&���`T
眀 ��ڦ��2�
-��\�	�
}bH 
����>���ve
r=(���k6��r0lr��.i����m9�͑4v���>�Vzҗf�5��S�峰C;6��ֱz]fc���q�N������QkYK��(yA/��
-=''y at o��yr��
2h$B��&L�n7�+�_�l��wD���ډ��υ`��( ��0�q�Z8�>
9X��S�Y�>m���'��D�7�^�j7O�uK�t�Pn]����J��YX@Ɨ��^��F{���X��������wWWOOO(��:����UQ$W���E��� ��
�y)�TS�����?���)
-endstream
-endobj
-2461 0 obj <<
-/Type /Page
-/Contents 2462 0 R
-/Resources 2460 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2341 0 R
-/Annots [ 2400 0 R 2464 0 R 2423 0 R 2424 0 R 2425 0 R 2426 0 R 2427 0 R 2428 0 R 2429 0 R 2430 0 R 2431 0 R 2432 0 R 2433 0 R 2434 0 R 2435 0 R 2436 0 R 2437 0 R 2438 0 R 2439 0 R 2440 0 R 2441 0 R 2442 0 R 2443 0 R 2444 0 R 2445 0 R 2446 0 R 2447 0 R 2448 0 R 2449 0 R 2450 0 R 2451 0 R 2452 0 R 2453 0 R 2454 0 R 2455 0 R 2456 0 R 2457 0 R 2459 0 R ]
->> endobj
-2400 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [488.091 720.235 513.996 730.141]
-/Subtype /Link
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-2464 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 709.277 189.266 719.182]
-/Subtype /Link
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-2423 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.576 687.036 292.328 697.939]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_2af430cd70ac416ca0907312b65812e6) >>
->> endobj
-2424 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [322.618 687.036 367.778 697.939]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2425 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.662 687.036 491.489 697.939]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-2426 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.622 662.452 310.533 672.357]
-/Subtype /Link
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-2427 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 629.252 236.197 640.156]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_5d71f71f50ba04fe5f810acf0cf1e294) >>
->> endobj
-2428 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.534 629.252 308.695 640.156]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2429 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 616.624 357.84 626.529]
-/Subtype /Link
-/A << /S /GoTo /D (main_H79_widening) >>
->> endobj
-2430 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 594.383 214.06 605.287]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_00b832cc0784b7b30f4d4a2f738a3032) >>
->> endobj
-2431 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.398 594.383 286.558 605.287]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2432 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.221 557.521 284.876 568.425]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ccbd8986577794cea90edef63e859ab1) >>
->> endobj
-2433 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.455 557.521 357.615 568.425]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2434 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.095 557.521 476.922 568.425]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-2435 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.902 532.938 286.2 542.843]
-/Subtype /Link
-/A << /S /GoTo /D (main_H79_widening) >>
->> endobj
-2436 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 461.192 289.866 472.096]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_9c0703b2311336754e28a7f739b7e685) >>
->> endobj
-2437 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.681 461.192 359.324 472.096]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-2438 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 426.323 290.971 437.227]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_fa8a10ff4b09f8a87e3c558a39f5888e) >>
->> endobj
-2439 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.787 426.323 360.43 437.227]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-2440 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 391.454 224.003 402.357]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_b0a670aeef72d808d620bbc33a5e8cd7) >>
->> endobj
-2441 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.34 391.454 296.5 402.357]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2442 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.695 378.825 272.49 388.731]
-/Subtype /Link
-/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
->> endobj
-2443 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 356.584 254.15 367.488]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_f8cd5fb701a14bc509872aeb3617b0b4) >>
->> endobj
-2444 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.487 356.584 338.263 367.488]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-2445 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 321.715 284.585 332.619]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_b054f67fb31ea4e860dd7c24c0b56676) >>
->> endobj
-2446 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.401 321.715 354.044 332.619]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-2447 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 274.891 241.726 285.795]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_c65231748a66ac5c074502cc8e652e10) >>
->> endobj
-2448 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.617 262.262 407.658 272.168]
-/Subtype /Link
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-2449 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 240.021 249.318 250.925]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_0badc932380dcb7f72ea50ca922d9d4b) >>
->> endobj
-2450 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.134 240.021 288.321 250.925]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-2451 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.875 240.021 371.519 250.925]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-2452 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 205.152 240.62 216.056]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_bb521f4ff8e2e40318bd06b0ff4d7617) >>
->> endobj
-2453 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.958 205.152 324.734 216.056]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-2454 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [390.537 205.152 425.724 216.056]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-2455 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 126.382 203.075 137.286]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-2456 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 126.382 296.324 137.286]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_e68d61763922cee018cbba3834b2085c) >>
->> endobj
-2457 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.636 87.528 287.856 98.432]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_e748c3f5082b158453fbb3ccf57c8f70) >>
->> endobj
-2459 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2463 0 obj <<
-/D [2461 0 R /XYZ 90 757.935 null]
->> endobj
-2465 0 obj <<
-/D [2461 0 R /XYZ 90 611.484 null]
->> endobj
-2466 0 obj <<
-/D [2461 0 R /XYZ 90 145.356 null]
->> endobj
-2467 0 obj <<
-/D [2461 0 R /XYZ 90 145.356 null]
->> endobj
-2468 0 obj <<
-/D [2461 0 R /XYZ 90 106.621 null]
->> endobj
-2460 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F99 2117 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F35 2018 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2521 0 obj <<
-/Length 1668      
-/Filter /FlateDecode
->>
-stream
-x��Is�6����šf*+x�
��3I���zJ2Z�mN$R%�:��} Aj������1EAx��
`����ﭗ���i�<�t@�{�i�ɀ A��
x}Biw��?k��(익)�����
Ұ�>�L�tzr��u��&
������SB��͑�
-&-�>/�,�L0���]#C#�D5�m^
�,kw�� LSߌ��07�sse�6Q����Jj&|%��֛n�)�#�5�D��Z?co ��z1P�5�8e�w�]��jag�必�%��6��j�FXy�2�Q.���4Μnbn4���_��̙yA&�$�T��x��<��K��0��"g�A2
-��|�q��i�I����3Y?��
l&|�g�0�&m�O�sLG���:��v���R� ���eY+�s^&�Ѝ��H��[΋�nɽ����R{���tb��˦YnF��
�W�����a٤�z
‘��)��`���r��b"�:�!"�~�id����\Ję�(����M.���dl�0O�/6���f!���[�"��@fK
Z�
(�t�R-�hED
�����e����8����L��t�l��@ .���_����҅!�Iu�\��
�A����i�_�N�%R�����5�%
-(�X��B����0� �
�yYe�{�‘{z��b��$�@�YJ�sc+���t��(����E
��q����C��U̘̽
S�PfdF�P+��j.�3 $�& �HKL�0�A
dyU�
= (f�D��Ր���P��4
���uw�@���):�!U�1�.������IeЄ�R��n\[��p�Y?o�-�\Ն�n\���n1C�
!�J��A�h�����I>�����/�kB��_�R����則��u��^�G��sU{��̷i wϗ}�2�|[�+��6���u��
-"����<.Z(�D��};N�D�4�a�P�����c��V-��Ql´7�`�g7j�O��Ŀ��ca�Q������c	3�}��JC�R���1C��d���z`7α��k��z��Y2�ʍ��@d��l��S9m��Cv�F
u��H�%���'�B����	{�-ɴ
�K��ϓ	l�����(]W'Q�3�m�/`�
�~����1����ʨv]���GC�YVL��Rf�;`1��1��RB���?������سA����
�������߀e�9p�4sY*�ypg\^er��(w
倈f�i�� - KRZn��R�Q�~*Э*�ݱ
�5bt,;���sY�����x�7���3���B��B�-��
Nw�?0�Hv`�Sf����ͤ?�&��R��5�%��7B�B��T�r_�KĚ��0ӌ�R�@u{��m���	N3~�^�Τ�PJ�R�PJ
��!��>�P�>��ۧ�۹��E����ꏧC��"�!aG�t+�a��B섃-І��
-���C[�-�����i�R�
����/���#��j�]1\G�{��
-���
JHP	�1��
��5
�m#67jWJl�,��|�4P�%�
/�F!��P^͵���-�nU�Ί[�(t����Gw;���wf�gm!��>$�����ѿV�I�(q#~6ZP�� l�J�R�/^��U�n�^�f��Gn�||r||{{�����8EQ~<
�W�Ҝ<Y
����FIuS)���(���V�����S
-endstream
-endobj
-2520 0 obj <<
-/Type /Page
-/Contents 2521 0 R
-/Resources 2519 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2341 0 R
-/Annots [ 2458 0 R 2480 0 R 2481 0 R 2482 0 R 2483 0 R 2484 0 R 2485 0 R 2486 0 R 2487 0 R 2488 0 R 2489 0 R 2490 0 R 2491 0 R 2492 0 R 2493 0 R 2494 0 R 2495 0 R 2496 0 R 2497 0 R 2498 0 R 2499 0 R 2500 0 R 2501 0 R 2502 0 R 2503 0 R 2504 0 R 2505 0 R 2506 0 R 2507 0 R 2508 0 R 2509 0 R 2510 0 R 2511 0 R 2512 0 R 2518 0 R ]
->> endobj
-2458 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.636 696.002 294.481 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_8c89ddcd2fc4311af0e358477630d7d9) >>
->> endobj
-2480 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 615.239 180.54 626.143]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_c91aac77237c2405df039c4fcfa08ab0) >>
->> endobj
-2481 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 615.239 253.037 626.143]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2482 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.336 615.239 366.497 626.143]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2483 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 495.243 226.034 506.147]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_5049b85730d6720536be440753b11ed8) >>
->> endobj
-2484 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 495.243 366.336 506.147]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2485 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 444.434 178.239 455.338]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_cdc537f0aa5117fe3749d3c50b7dc4fd) >>
->> endobj
-2486 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.576 444.434 250.736 455.338]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2487 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.035 444.434 364.196 455.338]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2488 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.625 393.624 245.522 404.528]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_f4b0f891a6911d7784216f537fa3e473) >>
->> endobj
-2489 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.848 393.624 325.229 404.528]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-2490 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 381.669 159.071 392.573]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2491 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.37 381.669 272.53 392.573]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2492 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [316.66 381.669 376.217 392.573]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-2493 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.625 330.86 245.522 341.763]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_221657648a7e456dba61589e37765cd4) >>
->> endobj
-2494 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.848 330.86 325.229 341.763]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-2495 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 318.904 159.071 329.808]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2496 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.339 318.904 274.499 329.808]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2497 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.223 318.904 379.78 329.808]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-2498 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.92 256.14 243.605 267.044]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_47a21a1c8a88c306877d15d4dbc697b4) >>
->> endobj
-2499 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.226 256.14 323.607 267.044]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-2500 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 244.185 159.071 255.089]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2501 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.37 244.185 272.53 255.089]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2502 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [316.66 244.185 376.217 255.089]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-2503 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.92 193.375 243.605 204.279]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_e5c66812ab981ee2d1ab96ce218a7782) >>
->> endobj
-2504 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.226 193.375 323.607 204.279]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-2505 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 181.42 159.071 192.324]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2506 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.339 181.42 274.499 192.324]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2507 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.223 181.42 379.78 192.324]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-2508 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.138 118.655 242.189 129.559]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_d0a9267e420144cacfb867076d00a803) >>
->> endobj
-2509 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.028 118.655 322.409 129.559]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-2510 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 106.7 159.071 117.604]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2511 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.37 106.7 272.53 117.604]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2512 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [316.66 106.7 376.217 117.604]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-2518 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2522 0 obj <<
-/D [2520 0 R /XYZ 90 757.935 null]
->> endobj
-2523 0 obj <<
-/D [2520 0 R /XYZ 90 715.095 null]
->> endobj
-2524 0 obj <<
-/D [2520 0 R /XYZ 90 634.213 null]
->> endobj
-2525 0 obj <<
-/D [2520 0 R /XYZ 90 553.451 null]
->> endobj
-2519 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F65 376 0 R /F50 339 0 R /F35 2018 0 R /F98 2120 0 R /F38 342 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2543 0 obj <<
-/Length 3267      
-/Filter /FlateDecode
->>
-stream
-x��Z�s�6�_���<� H|0��L�����M��=%
-��dI������
Iδ}�h\`����xq����/^�����g���Ż�E���(Y��,�/	A�rE0��7�/�n_^���x��
�jӕ�?U7]�=�x�����m٪�_��p�
!��ȑ($Lj����f&��x��Q �1?���$�ڕ}��
���.վݕ��w~Q���$r��5�EƖ�k�߾��킀� �L ���ŋ
��a�Q�ܛQ�EN3��-�^��;�
�5g8Z5Gy&�/�̮���,ǿg^���$�y�U
�n�$��q
(��f�$qĤ�
ZU�{��&���������	'<^�s�	�med���Acv�M��U��twn�~��b�~��l����Ӻ
�7U?�����	�]
�Ӎ��>*q�j�֟�׫����xO"����
��ƞ�5E�g��k��Η�~
T�	]�iv�����C*�`_e^��`<ճ�27;��Z7u?
�z�1��$��ܾ?
�c��"\�T#Nة�0evR--"�����
-qZ��+*�T�
�/P��U!�x�p����z�4�zS�wׯ�n��Z�M��W��ĭ�gþʼn'�<!ff�l)�2�� �p
-C���T��ync
��8��Nܫf�
�Py�:�$
�ce8�'�
r� =��Ex'FEᜓ�Q���䌣<��o�p�T����3$X ��	�q��&!�0ċ0�!!��,�2JZ4��)4J��̊B�e�o�0

�
-@����BĀ���x\�,_��������NC�
���L��%Y&��)���.'�"Cx��\��9>�Z�B�Q�p̎h6���O��Q��W9GY�=���IĄ8����gOE�x�h
9o[���]����(�)£/���ŋ��z�Lx�C���:c�+B
�0L\c�ӁQ�VCY���F�kկ��
����\s���L�	�9E��Îۖ
�H �����Y��z���H��D�+�y�U	�$�d� ������
-:����T���-�RP!m�z��oљ wk��!�c6n�ypJs��Q��+��'�S_>WyRk��5Z��ޮ��ܢ�"ʨ���R�`ov��T���O�ͭ}V�!��U���
��}}hM!� ���Դ
�
��rP�I�9\�P�
@,'`�W�����Tl��I�����پ�z'��b#�K�Z`�����*PM�2��Բ���ɽ 
�S���o{��x���ۦ4���U�S�c �E�ֽ�B7o�f�
(<�3l���a�&D׃�oؖ��
p�4�ep��=ݖ��Uߖk;�T�z[v Xu����"���
Z��7��v�0�̓��}WV�ЇțP�~�P�
���ڜN�#(#t�9�(��̑?�!�
-|��6N�"�̨*1��|1��<��$�էd�#�h��
!��53ĀMFk�8���XX>m��I���
-���c׃��hϼ���;�S�j�Q�Q�3
-y�<yW*'��?���rg��m߀1� 8�d�;^���li�~��§}O큠���o@"�W-�^
�
,g���\�lf�Bȩ
Adi,Z�+�z����ƫ�Y�;�i��Z����npBk��!h<4�Q�v��/G3����[�N��wU�]5�Z�w���,��Zc Z{'r��5�H�5z���F��J{��@���p���]� W�

'��-����?q:���(PMnɗeo�p�v;{U��\�s���&��
��mA����f�Č
u
b�����"�U9�
��lܕ~1]5l����}���e��π3�Y���Ӊ��
\��	%�Xߧ�E��������oS��ljɓ.0䋸h]	�@	V�Q
��um��Dt�o]�����#ߩn���
-ݡ�)��x#�)�
6ȁ=g�<1Ų���x�E�̳	"_�l�1��@�
��5d�������2��f�R%��v��A"�F`=j� g�
nv������6x��&�gL��p�#+=�K�4m"�h���7���u����ߌ欐J�S/��]�}�ǵ�{�TŁ�~�I��o�ee�C)K�
����x
��ƒ��j%m���i�Q��{���ʕX{U�2�$=xt��*ݐ��L[:��f��}��"z5�io�b3A�]���+�(�1!�4�u�
{�*����2����v��n�@�c||�zR\���>"��v &`�?�֡m�LJ��Q
�f�������Cy�,���>,�1A�듪���i���'w���Y��a���d�#3�����Wͭ��ɒ�ql�U�
�]5T�7�:��Jg����Iy�\y�
N���\p{^��k�*COl)lq>�D
�7l��sK2}X�q�$������^^�FT�讛�>�z%^i��p�,
�� ~��ι�.�W��Z=5�Z�C�k�U�
�?��Do�@z����-<����9_��\3p�,�����MGg
�r�P���e����6(s칥D��vk�,O)�<eQ5
�TQF�b2�L��N�SIO�����	19"�Ӿx��-E_�3��&\,�t�P�%���H��킫om9�X>�����n�?6 �@$פ��\���~�J���_=�� )�P�|}��U��&����T��#2�%�c™�"9
����u��ହ��R�IF����>��z�3s
�$(��Y"˳����fօ�������+ɩ
��X�~�ie�
E1��k�}8��ѱ��\7�������테�P.�
�{��R���<�$�����x}����W
6��s����y�m����s������JǞ"�g�����4^|5���G
 �����nzG
-����
2��3�aӸ�%�s�1�9릳��u�b%�&�Q+�4_�Dfu"%3�

j�$t�Ϟ h��o&D��#����ȱڱ�Z�[1��߽����6��ǣ9��4�
t�*QPf
�Bf_�A��3��I�2�b{��3��񇱡O��9����gi���k{�v�����QԓܫOR��q=��j������T��][�T�ښ�B�d6���OEC�ʒd���oufM�OR�'^rƻ�I��[�h�:���<�Kt�A�Q�o��]�1l�K\�ο\�D>��U�a�� ���|V‡Lܿ��S��
����}��|��>�Z"��;6�0�'�����j5���W?^�(
�K$��Ȧ��о�����G�

��P5\�����R)$G�>�z��7]8G��XM���1A�
-endstream
-endobj
-2542 0 obj <<
-/Type /Page
-/Contents 2543 0 R
-/Resources 2541 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2341 0 R
-/Annots [ 2513 0 R 2514 0 R 2515 0 R 2516 0 R 2517 0 R 2534 0 R 2535 0 R 2536 0 R 2545 0 R 2537 0 R 2538 0 R 2539 0 R 2540 0 R ]
->> endobj
-2513 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.138 695.785 242.189 706.688]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_8d6c186583503c4394603550b50edf59) >>
->> endobj
-2514 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.028 695.785 322.409 706.688]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-2515 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 683.829 159.071 694.733]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2516 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.339 683.829 274.499 694.733]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2517 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.223 683.829 379.78 694.733]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-2534 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.742 622.622 159.108 633.526]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_f6351727d099ad178db8b8e742507f4c) >>
->> endobj
-2535 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.751 622.622 321.994 633.526]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2536 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.784 622.622 513.996 633.526]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2545 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 610.667 140.251 621.571]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2537 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [110.861 304.723 170.418 315.627]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-2538 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.722 127.823 349.228 138.727]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-2539 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.725 86.288 193.232 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-2540 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2544 0 obj <<
-/D [2542 0 R /XYZ 90 757.935 null]
->> endobj
-2546 0 obj <<
-/D [2542 0 R /XYZ 90 574.827 null]
->> endobj
-2547 0 obj <<
-/D [2542 0 R /XYZ 90 524.106 null]
->> endobj
-2541 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F35 2018 0 R /F72 471 0 R /F98 2120 0 R /F38 342 0 R /F65 376 0 R /F23 340 0 R /F10 473 0 R /F8 504 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2554 0 obj <<
-/Length 2424      
-/Filter /FlateDecode
->>
-stream
-x��Y[s�6~���S+�V0.�if6���n�dc���$��$��F"Y��-��
 IP��(���)�8��\��� �<y~yr�}��TD��r(
�� NIp�
�MA�tJ0Ɠ7�O�r�ޜR<�׻�dYƳ�y��'O���]\�Er����	�%*DBI8���Ԑx'�h�.Gx(Dw�
��b
W��r
��$�b
׉Yy�����I�-`I(�'Rh�'�'����h�
$������
,a�� #��4T� �
������'�j�5̱w��L�2�#nn��R�
��
d�(�����N��
��p��\�
-Ts4�&a�:&444��1'��!���/DJRG��w����}V
q��Xi�[�I�5c�x�9���l�,�B^��6��@A�����Ubi�]�|��;�
-��`��HD�
�ER<I� Ah����gߛ	�(�X�0d�\	�:u���q-'�
-"̉lĂ
�H ��E�C�����浌�4��ug�3!
-	kM�)~�-����!l�>p"R����h/�?���c2���
�{�D:fS��Clύ`�P���{��b���A$b_�
#�G
���E1�r���ʼ9`U�a[���u���f�y6�v/�2)ʤJ���}��d�S=e!b�>�� ��c��(�4a0e��-(���߯AH*h@��h�ïҬ]��L[&ˤH�e�=M�*󍷏O�M�����Պ(��F�B��kx�ȳ�.cm/	�5���m����9{/�(Y�l�FBI�Sr"$؁< �a
��h���~�1]}EF=�t7�zm�[�$icc�H5�Sસ���ō�1-��EQ���e
-	�B6"�;��U���ӫ,/�8I�
pBj���P�Z���[��k�:��b��@��}�]�9��|��O)ƍ���
O�=�ʬ�Û�}�\��h�
��
050�Xj��P� �����A�G"}@�ٓ����"��t��o)�{
�ݶN+m�Ƙ�;R�7f<ϵ��V�K��ck�OZ_q��s��}�`���x����>�
�=���#Ai؞r� ��ʻL 
i�w^�1ۺtcݶ���+]�ʁ��ꉇ7]eW�rJ2}�)"!���ڌ_��O�4t��BX����or���4-٣
�h�4-mi�W�C���� ��N�ӹ	#4l��(�V����.])8�&����\��m�^�����
GYB-r�0[�
�b;O\ka���ᖆ
�.��_����"��υ!
- eGdQ�*Ւ���|7���v��z+'��W�� ʠQ�lKB$���]қ]�3��՘-*�����|��y��\il�S����ަ�1'�9��
y���<�|f(��j7
�EG��IRL���"m&

 �&E¯�:��b�+�x�fCk)�
T��:]�W�*7���<c��	�	P�"xן��iHhzÄ���
%���Ȫτ����N�j[y	��[]`�0�3^B�]QP_���@a�{SB,���W.,�r���飢���gexLP�c�2<&(�1A
����<����
鳰�B�
/ggfQ<R�S�H�ƍ��w�|��M�	8Eֳ.�
�5���#D����w�q�Liػ�2!�5��F4�B�
$u
-��j;�F�Τ��o���2�����2_4u�i����Bb�ǵ�u�n\��K	���C�l������=�7z�,��\;bHt���`�#ލ��h	���9�>,:4��	��
{�/��� �ӎ�L�Dh�
�T��_��l���[��[DMlɿ+��&�����_��ԋ0&����,)�?f���ǔ��[�
�1m[
敊�<���������#�B�$��8��#z�f�4K\�
�;h��b�.���Hj
����+�m֫TK�a����w����m���d��.��֪���r�G�
�dJ=4"Dz!aYý�K��9�� �tsz��׫�j��b�	
����p\#F�
��5�:����m�;1O�����*����'e��/Z;U�h�L�#�C
ђ��Ƶ�q\/6�s5K!!�?�L*!�{�'�=)ǰSg^&a'�R����YcוPe
��Mr�	���-<�9p�0l�����z�q��7��Wc8��&R�	����^��Ma���i����'y�%xd��E�a���`&��t_����o��z���^]�6�O2IqL�KSF�M=��-;_��4u�P�]y7]�*6�'��� �R��+��AYo
jf0Uo�,�l0��I� 
<�s��|�Mn�W��pp�7��:R�
U�j�ռ����Zx{��l�>S�q����PH���/!P
��E�X!�d��_�a�}c�P��6���xrvvss��/ 8.J��gE�>����e�
Z&+؛�l�`z �{���šr�
-endstream
-endobj
-2553 0 obj <<
-/Type /Page
-/Contents 2554 0 R
-/Resources 2552 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2341 0 R
-/Annots [ 2550 0 R 2551 0 R ]
->> endobj
-2550 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.433 661.717 336.939 672.621]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-2551 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2555 0 obj <<
-/D [2553 0 R /XYZ 90 757.935 null]
->> endobj
-2556 0 obj <<
-/D [2553 0 R /XYZ 90 309.035 null]
->> endobj
-2125 0 obj <<
-/D [2553 0 R /XYZ 90 285.794 null]
->> endobj
-2557 0 obj <<
-/D [2553 0 R /XYZ 90 285.794 null]
->> endobj
-2126 0 obj <<
-/D [2553 0 R /XYZ 90 165.868 null]
->> endobj
-2558 0 obj <<
-/D [2553 0 R /XYZ 90 152.113 null]
->> endobj
-2179 0 obj <<
-/D [2553 0 R /XYZ 240.245 89.441 null]
->> endobj
-2552 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R /F65 376 0 R /F7 505 0 R /F31 472 0 R /F72 471 0 R /F95 1788 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2563 0 obj <<
-/Length 1913      
-/Filter /FlateDecode
->>
-stream
-x��Y�o�6�_���f�"%ۀ�_h�nY�+�"Pl�fK�$7���HɒC�I�`{�)�t���
O�[x�{=8�
N^	�I$�d�I�� N�7�y�CB�	�xx>"x����|D�0]m�j�GW���<ʷ��g/�.�Q�F_&oO^�bK��¡�
I�d��k����D����c
�����)��LҡZg��Tf烚�|D¡J��HƇa�Y^N
p�
���������
�f���È�27���)�ߕw1�}�{-K‚�,�(bֺe-�]��|B�l"��&(��J�5�ŅtZ����5%�#Y��l, at 8 �����SzT�F��D�Xs��4þ7�Kn�p(b�h��
X���"���O��mZ	4�}6��9��IQ�Gؗ]
#�ã�6�|t
+��5|��w�B�.E@�l
<|d��"�a4��?|�Bx�۸�^����X2$X��y�uB��l"�'K��8�e�dz_?�����	�翽?��7�O�� ���a
#��
-i#�e���D���^�f�x�_�{
�� �2 q$ ٪��6�jf�-2?:HT�uD�0*c��uD�P���d7&Gf��,���x
�ib�ҹKl�F�=ov$�H���1"���j#�5�d�jY��x���@/6k��f'�
-Ƌ$��
9,��]����hJ��N4���t%�${`
Lt ��m�,��!
-�0I��$�0>���{	��ϣ8)�.�x��҅��@��p�"*�S%!Жp���
;{qa�<��uD-
!���4&(\������t?��_E��j�������4��v9�!׊#�/TK�P)�hϏ �D�����;� �U��8�0�1�֘j
�
�-[녮�
�&=��8wN��8
�ZN;�
);n�H�eT�(Wf+IK{�n��
?�
x��u�Ifjf�g�\�3t����m�-�?�N<���Đ��t�XֲU�Z�4d�`A7-ב��e�q��iµ��k��)�-ez���	��vZt���v�2]}
�q؁��8���4NF>(���U�����i�d��Sm��%cl����޵p�
�
-�kM��0<#�C[qd�o��ti��-��j#ì��jk��M��y��x�5T�)Dw����c����5��*���@��}MH;�+���r��7.��S�t�z�(�ק

����l�G[VGA�z˩5Aa*!>�]>q	\�‰A8=E�[�8�i׸㖄�@�"][����jm֔���v�\��G��1ӗ��
N�s8y��Ge�o�),m��<�����G5���/�%�������7 �x���}zs
Y�]%x-������Zz^wq�أ�l�Ù��1ML��uKpW
-a�w��{�1fT�P�wr����J젔��Ԍ��ݰs�+�L>���2�
��8$����O�iV�9X�vF"U�X��:�(�s������f���8�ڤs�u�
��,�X?1Z���C2��R'^C�	�x#[���pښ���g���[mP���Ҿ�6Z�
��XCP*|������/T" ��T�:;�	����
Մ��>s�>&��f)|#�]=\8
}l����Ѯ�m��
U�)��rm�Y��2��Y��c�*Khn��0SU�a�2�^��]��ƺ��$Κ�
0���~����tg<��T�
�8K\�Yp(�;LA��3H\8c�5�t�x�a7���
W�N�����0�5�ǫ�<���!lu�T���q��H
-���˶xX�6�p������zZ}5��4P�WSp"����s
T��c���� ��P��#�x���Q��Vf�1�L���].�Q3ڪ�HJY%�fz��AeƝ�$�w���e������ܠi�6I��(.O�lur�hq�s��<��,�U}��M�����q��
-endstream
-endobj
-2562 0 obj <<
-/Type /Page
-/Contents 2563 0 R
-/Resources 2561 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2570 0 R
-/Annots [ 2559 0 R 2560 0 R ]
->> endobj
-2559 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [311.022 541.129 393.606 570.194]
-/Subtype /Link
-/A << /S /GoTo /D (main_Bounded_Difference_Shapes) >>
->> endobj
-2560 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2564 0 obj <<
-/D [2562 0 R /XYZ 90 757.935 null]
->> endobj
-2565 0 obj <<
-/D [2562 0 R /XYZ 90 733.028 null]
->> endobj
-2180 0 obj <<
-/D [2562 0 R /XYZ 240.245 663.906 null]
->> endobj
-2566 0 obj <<
-/D [2562 0 R /XYZ 90 647.709 null]
->> endobj
-2181 0 obj <<
-/D [2562 0 R /XYZ 90 468.538 null]
->> endobj
-2567 0 obj <<
-/D [2562 0 R /XYZ 90 454.498 null]
->> endobj
-2182 0 obj <<
-/D [2562 0 R /XYZ 90 341.896 null]
->> endobj
-2568 0 obj <<
-/D [2562 0 R /XYZ 90 327.856 null]
->> endobj
-2183 0 obj <<
-/D [2562 0 R /XYZ 90 202.019 null]
->> endobj
-2569 0 obj <<
-/D [2562 0 R /XYZ 90 187.978 null]
->> endobj
-2184 0 obj <<
-/D [2562 0 R /XYZ 107.534 89.441 null]
->> endobj
-2561 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2574 0 obj <<
-/Length 1737      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�6~����&3C��D[��7�k�lq�](�b
�%O����P$%і/md}�D�sxn�'	{3{/��ً�z�0��'���x���'��`���!�~\,���a��|q?O�E|�&�)���������<^%�O��g/�%��H
-0Zk�Y�8�	F��

ʭ��c�.�
��A�
�d�Z�U�W�Ln�bH��dX�$徐J���x��:<B؝,?ao
-�=�(
殖Zz,���
���ᐷ�E&��up��D��b.2i��U��K8!X��2�H��`,䫑8�
����:�*�T"���.�E_�a?!G}��ľ2
��ވ�ê��>�����S]{
-G��
-�u�ɞH5=�qfP���9��YY�[�_䛾`	DDt�Kj%N�?
;R+�����D47�2���Đ`M��XD��9_�I��k�Ի��652i6���%����H:J	������O߽�|���W�=zE�h��"=*�����f�4K�!
�d�Z������q�u�`P)�#�$��/��bjf\�.�]�|]��[G�&ߠ���e0��e
4��l�iU��J���*��i�L�2�3�Om����ż�~�Zܮ�c,��R/4{��.��_�$-��
�<�����z�t������
����U���q*`�g����
)ϝ��Ρ���aNw����I/�PM��`�\�"� �IV��L�TV�Ix��Mv�����
�G��p$B��?��f��N��k`���6L	��Y��Ԉ�['��
�m�Է��Jέ�
-fy�/SS���sH�_�r�p���$�ô����I�����0��������/�lVͯ��ȋCQ� E���Z���A
Q
����:(j�t�Z�t����g�� q.�A��&A�
�:~�$Q�D)6����7�r�ԫ�b�=UYQ�6���� &
-
���רwKR�b���E�x�إ

��y ��CPW�
c'b(F��&�V?�����t���	M��A��Խ,RӃ}�N)�������A��8� :�����B�����G#�G�@@Z0�v$Ww��9PN,Xbʉ�X�B9q�ܘ�jc��̪�.�w�m۱XN�XnOX
j,���
,�J;
�;s�[�<p�|�x���ۦl�|�4R
k
`�0Nw��0t[ߡ�����q
�؅n��
y� ݎS��B$�)���n��n��ݸ�n�`70A���o�m��
�0��#$;��
-�H�{�!�}{�� ^DO��fa���0�ݼ�c
P>88Ș��C����hc�[
 �����|<�YH�
���ʄ�_���~�C,�d����mF�"�H�e��^�
)Nz�!�zPz���4}������Gf?�#�?�����83,h��%�@R�b9�FjL+��
�;�^���j�K�ඦA�(s�í1�T�溴��N5�v�ZW--�[Ӣ�w
��ὁy��{b��xԠb�$�
��I����4=:i
-��I��5A�M/�e��vi
-;���$v��!�~6r�c�aL��aL}~Y��
�h
|���d��R(�$��OJ��$8�:*����ā-r��A��t�6�[��!��}�?9�M������3�џ�*&���H}^Sx�
L��$1��'�dzW�
�4��x��i�0��������
��h������j�8�-��He�}��vl	=f�-��e\���? �;!
-endstream
-endobj
-2573 0 obj <<
-/Type /Page
-/Contents 2574 0 R
-/Resources 2572 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2570 0 R
-/Annots [ 2571 0 R ]
->> endobj
-2571 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2575 0 obj <<
-/D [2573 0 R /XYZ 90 757.935 null]
->> endobj
-2576 0 obj <<
-/D [2573 0 R /XYZ 90 733.028 null]
->> endobj
-2185 0 obj <<
-/D [2573 0 R /XYZ 90 527.358 null]
->> endobj
-2577 0 obj <<
-/D [2573 0 R /XYZ 90 512.82 null]
->> endobj
-2186 0 obj <<
-/D [2573 0 R /XYZ 90 309.486 null]
->> endobj
-2578 0 obj <<
-/D [2573 0 R /XYZ 90 294.948 null]
->> endobj
-2572 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2582 0 obj <<
-/Length 1746      
-/Filter /FlateDecode
->>
-stream
-x��ZY��6~���Sk1��(�Er�9�4�>��!�t�V�+�q���CQ�-{�X/������p�o擌�/v^��^��^��QH��u�׎Žt	�8�+�ӘD&S�1
��<��ȟ��P<N›�^���m�H��f6{�|�q�o����뫗���őT
(-��l�t4�(�6\��P�0Qm��6	�B?�&S*0St��m�������:�o��%ܒ����F������)�!�7�D�.�ѧ��Y���F
�/vE�
>C���>�Y�vE�Y�J߾��,*�{���y����y��E:���X⧔#�U[N
��:��B��s1����rC~�ձ�8�z#"\�I~6$ª
�$	����F��gs����t����
_�f�d������I��`��(QFt]�T��Eb����)3�,�2���^�
b��߶6
����%��J�<�>�6_�9���K�M��X�V��ߖ�\ě#~
-���l7
-��8�T!��q%r�Ɗ/|��.��>�
q�΋<��
�����`mm��]$qxcW�c�#��@�s*J8("�K5�4�J�&h�MTA
b+�vQ�#L/c�c
Gʫ� 볎!U�A�T�q�)��s�`!�pKh~�m���Y�ˍ�nyHbA�p��,_�fpJ���j�_
-�9��c�H��ޤɄ��>>,N�
ceҠ��o�%\�U���^pvS�� ^&�0wj�SjS�0r
 ��
���>B�w�

X��
+��azG��°
�gaX�/a���[ إ�R<�$��
�G�$��K���„�a��Y&����Aؽ0�SH��,���B0.8�p��oA��+�IՅ�Բ�P
4�j��46x� �i��������P��O��4�u=d��<�� V("/�aկ�	�@�͌S�9�z39��E=����ӈ�pA����n�Nv'(1N�t�r�P� St3F�nN
ʙ��0���,lo2�
-�:@e��\�ZFdVc��v��4�
��P[x �*���-�\�Y��2���m�E.BU�]�
-�(�AlU�7�rS�G�ѧ�X~V"{�)P
�69[\}5��w�ʪq)��r�:ߔ1R�-[2�
-K0��uzǶ�A��H����ʛ��:[X�]k!Ӟ+�s�g����5�?�2���DUIX��&�?
���c
2�
S�y�A
-y�#��A1�6��'�������>�����-2~d�J�I�`!(��B�v~w��"р�F�s'�*���`cej���KS@�q\����րL%�
��_׽��=���L��MU�L�KJ6N�>
In��)w��P��� ��p�얰�t�'=�	1�Zg�ҿ�ʀM��
jO��je'& W �DϨy�^k��
�'Ϙ�oДcv�n��
�
�
f�&�u�z]6�]�'��lև@P~}�("��ւ?䣲s,푤
�4q��	~��)ug���c
-�OQ(&� ��^J�I��4T$��"i�1j(I{R24���W�*ֿ�q{p�S*$�N�/}��~�WD�CJ�;�?6���H��?:��
S�G��P���[}��M��l3��Nu_�.�w��R�C�*'ޠTP��a�bh������=���~
�H��#��߈�
[��%��߆�D��6����9��j��^����=����eJ���6o�,Z�M&�G1�� S�x�Q���d9�ꍥ���ē�5O�6y��]]��{���.�)
-��6�:�PK
-���*$Q�����fT��
��_�	D
-endstream
-endobj
-2581 0 obj <<
-/Type /Page
-/Contents 2582 0 R
-/Resources 2580 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2570 0 R
-/Annots [ 2579 0 R ]
->> endobj
-2579 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2583 0 obj <<
-/D [2581 0 R /XYZ 90 757.935 null]
->> endobj
-2584 0 obj <<
-/D [2581 0 R /XYZ 90 733.028 null]
->> endobj
-2235 0 obj <<
-/D [2581 0 R /XYZ 90 716.221 null]
->> endobj
-2585 0 obj <<
-/D [2581 0 R /XYZ 90 716.221 null]
->> endobj
-2236 0 obj <<
-/D [2581 0 R /XYZ 90 611.589 null]
->> endobj
-2586 0 obj <<
-/D [2581 0 R /XYZ 90 597.034 null]
->> endobj
-2237 0 obj <<
-/D [2581 0 R /XYZ 90 494.44 null]
->> endobj
-2587 0 obj <<
-/D [2581 0 R /XYZ 90 479.885 null]
->> endobj
-2238 0 obj <<
-/D [2581 0 R /XYZ 211.842 234.629 null]
->> endobj
-2588 0 obj <<
-/D [2581 0 R /XYZ 90 219.92 null]
->> endobj
-2580 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2592 0 obj <<
-/Length 1983      
-/Filter /FlateDecode
->>
-stream
-x��ZKs�6��W𔕪F0��l�d&��VM2��a2�%�b�"�$��קA�)�zx4�
|�A�n4�ߧ

|w�������鐆��2�8�!A���v����tF0Ɠ�S�'Q����N)�d���,����>�򧛛���{��6f�����7���͑�
-�VR��
4�(o�zdhD�h|uL�7IT��i:1�M����b�&�51�
��fb��y����W��T�I�;__������`�`3�ժu�)��I����+\{�=���JHX )C8��b��[T�����{�j�:��},L���4*��MdK��lV��ܬ�k��ǔ�I�l͗;�Μ�����u�1�b�����x��|[�p!�$͢�67J��i��F�����FI��,lL=gǒ"��p���ÎX��_W&uZ;����2�`�ak�|n̢x��L
�$q��
-�i�����u���M���õ�͓���������䵯���$lO�|���Q��Jn���NG\��`�8�lC� -����ڍ���q�B
-��)R���fc=V�
�
9,���l�=[���M�N9%��.��k
:t�i�ݩ<�[xL����(�����^��Ȯ��A��K٬�
c�S��j唫�8�,o�B
{/���8�g�
��}�N\��
�$�v�~��PH�%�b흇�"\���';T6�=���[c��IN��ɽ϶���,;�̳�E�ٔ�X�c^yT�fm�ZB���21
�]�)�y괪��
-B
���M��os)���u���/f�l1m�e�
A3� 
9L�
#��#M!�9����,K7ڦe��\�@�R+�D	0	�
-$�� �D�Wʦ��C	�'����h��ic�h
&r���D�v�k�'���,K��OCUa~T
��,�჆<qsp�V8S)��D�oX�9ds[�4���&��^�l!WQ����
�o��m��j��7�
I�3%���,!M�yl��8�A2(fݽM���h��:./�a�� ��e�Z���1���h�:��D3���"�;.53T�q��cwT
� e��.~�	
�o^p+gDBq�/�/U,|rҒ
lj��U�A��+�h!���
-\G��e�kߌU�v5�1m_��p�' �}
m�m�M�`�}TZ>t
��ۇ��_2�`��>�����
-p���0;�<N��ه�CHo˶���(��H�p�#�T
-��4��X��B���F��I��XRe976Y��&�UN�i�}�R�<�h����f^�k=��C���N�]t�
-r��<
2�6e��H"B՞�R����:GLt��,<̧���g��g�Xi�.w�j�� ��P�l���m=��j\_P�l�G.��>��K1��KK?��'0=���������6���M��C/� B�QbmE�]�U-���`�W0��`��K~��}�6J��a���#{�i��f��7�di�C��`�f�
�ql����909�	y�u:��կ��Z�B��FTM�S5=Jը>��I�O������TͧA�k`�S5��P55F�B�Τj�j�F�7��Q}g�>x�	�w�t(��֐{�B��"��
-H
�)�x��/�9������4A�x���P��>
�uMkQ���k��O�����@_�_�@��t	�p�����aO��asO��.Ј~OW���
ثe_��t������L�х�mGw���.
?�(	��ѵ�{
]
�j'_���	-]U�t)�
��{3}���%���W:����M]
���e#]]=��=N�mW���ԕ�z��@OW^���f�Q���e�z����������\�@&�:�'W�O���p S��؄�
�w��[��,���
k�
�]��S��=�+J�Q�Ɩ4��
���LjZJ�,HƓw�ԛt;�OЌ~te���(�X�Ѫ,77�׏��h^�mor�כMr���zR��u�l �:��r
�몎���OU:�l
-endstream
-endobj
-2591 0 obj <<
-/Type /Page
-/Contents 2592 0 R
-/Resources 2590 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2570 0 R
-/Annots [ 2589 0 R ]
->> endobj
-2589 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2593 0 obj <<
-/D [2591 0 R /XYZ 90 757.935 null]
->> endobj
-2239 0 obj <<
-/D [2591 0 R /XYZ 192.853 604.83 null]
->> endobj
-2594 0 obj <<
-/D [2591 0 R /XYZ 90 589.416 null]
->> endobj
-2240 0 obj <<
-/D [2591 0 R /XYZ 211.842 359.287 null]
->> endobj
-2595 0 obj <<
-/D [2591 0 R /XYZ 90 345.253 null]
->> endobj
-2241 0 obj <<
-/D [2591 0 R /XYZ 192.853 89.441 null]
->> endobj
-2590 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2599 0 obj <<
-/Length 1412      
-/Filter /FlateDecode
->>
-stream
-x��K��F��|
-�80;������*'�r���(-hA����5�ۧ���Bb���>��mz����SK�����W�g���K�
���ҙ�:;J$(q�
���DFc�1
�
<t�;{;�x�������M�ƻ���o�w+w�>L__�$d�-1
)�a���/֤�2����`��� �Di�k��灛$�1�:�֛�M={�ڻ���C/��%e���
����
��!R��|=x�;
�����A2��j�p��o��9���R�����!U����O\�	��B�4Hw/tא���UI���SJ��
J��(
-���z #�ygd�v� �&!�d2�����$�t�Lcd�v��Lj�c��,Imotd� <-�`�d
�h(]e�kq��]@v�&fs����D���~�}������п
��D��k/�������u����kqJau\u�kcuÅ=��`g��_���~�e����882�Z!]�Io�]s��@����2�"
ʡRR�Pc�a'*�R$��y�i�mR�5i|�v���6���-�����G
?�������n��A4��
^Qf����mء>��$����j��H�N�5�5�ܸ@�‡�Ps��h�qS�&�P˶�
?p�L�+���� ��P�V�
-փi�iә�s1M����޲G8M�]r��4��i���
R+��4I]m˼��s�d�ļ���[���vq
ݽ�f!�un�t�]�Q��1�K�����q
-
fPz�q��_-��1NA�V�S$Y��
-G�♳�(�2���٪��xi��p?�-����
-��� ƥ������C1n$"�|�W
-
<�ӟ�;ء�ء[�a��gWi����o���O�\}T8��&
-�������>��j�7�� ׀
�>��
����2(a={
��k�����s�N� =D���~c%fB4���n_��Tf[?]���yv��U���S@IE����'�$���O�ɫ�o�"���*
-~��'7^�����YrBы�R�����P
1z(�g�0*g����;
-r�;T!�FR��B
�c�>��-X`�NK�_5-�0���@
�%t��3_�����.�A�r�����e�u
.�V�Ը�x|9
�0�k0>w�$������k��Rd�-�K��g!S*$��7�I�!d��3dB�^��CE;1	�G�x�:^���q�K
�|
-��ҹ���W��@�{å:u��R2g�O��]u�ʮ:<x���9��� �>�7�o P1]��A$/�-b\�
W�i�+{Z@˞��x��#!�Şy�wnPS�c�ʋ�B��Q�*/��h4f��w�W$i3��)�~����foO���Z��fru��n�<Aw�����^m6��������z�ޖ�ZGe)�.�s�����ϼ
-endstream
-endobj
-2598 0 obj <<
-/Type /Page
-/Contents 2599 0 R
-/Resources 2597 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2570 0 R
-/Annots [ 2596 0 R ]
->> endobj
-2596 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2600 0 obj <<
-/D [2598 0 R /XYZ 90 757.935 null]
->> endobj
-2601 0 obj <<
-/D [2598 0 R /XYZ 90 733.028 null]
->> endobj
-2242 0 obj <<
-/D [2598 0 R /XYZ 90 642.023 null]
->> endobj
-2602 0 obj <<
-/D [2598 0 R /XYZ 90 628.017 null]
->> endobj
-2243 0 obj <<
-/D [2598 0 R /XYZ 90 531.507 null]
->> endobj
-2603 0 obj <<
-/D [2598 0 R /XYZ 90 517.5 null]
->> endobj
-2244 0 obj <<
-/D [2598 0 R /XYZ 90 420.991 null]
->> endobj
-2604 0 obj <<
-/D [2598 0 R /XYZ 90 406.984 null]
->> endobj
-2245 0 obj <<
-/D [2598 0 R /XYZ 90 310.474 null]
->> endobj
-2605 0 obj <<
-/D [2598 0 R /XYZ 90 296.467 null]
->> endobj
-2246 0 obj <<
-/D [2598 0 R /XYZ 90 199.958 null]
->> endobj
-2606 0 obj <<
-/D [2598 0 R /XYZ 90 185.951 null]
->> endobj
-2288 0 obj <<
-/D [2598 0 R /XYZ 90 89.441 null]
->> endobj
-2597 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2612 0 obj <<
-/Length 1664      
-/Filter /FlateDecode
->>
-stream
-x��Yَ�F}�W��R\];�E�5�d��t���hC�Q0��q�>��X
-㥷�(ʓ�]���s�
-;+;�N��O�^K�(�$�������J�%�y�\L	Ad6'����S?_��ogO�x{��Ct���v�x���������o�^�KG��@i%��z���`Dy��|D�B��f�7�$�����ͩ� L�i��b�
�_ޅ�a>#�4L�𓫘�*�EN^�O����
REC�������v����gn�Uk�S���~���,eK�E1�Ʉ�l,���㠏

-
��U���fa⯵�

�`�����Yq��q-�AE�y��Gj��u�8g�
�"�X,Ӥ(s?J
-�֙3�"ɝ9D_	��߱�����ȿ���J�rX��F�G?3�!�V8�$u�U��}�L�+��QGI��^(po�\�b6�HB�W�߅�&���e�{mn�|�Ȥ�
�fQt]��'A��&�~��vU�(�;Ѱ5`Ļn��^0t:B�)J�wi?���xJ�F��HymFʛ�3�!�z���nt��9eQ��AR]���e����^�XUB<H��D����2X,�K�!Pq\��j��r`�e�H�����錊�mr %���e$IK�������A� ;
����H����N��s��)b�q�C�B�0ʟF%vG�H�0zFh;�>j�L����0>%HyK�jzK	@�'���ׁ��s���"��
�mw����Z�_�����/F��@vm�
��������z�<JN�V�UE�5�?�Aa5�2�t��m#�`6���#��K9��l�[�����t_�-��m�W�&	�
  `��S�18�i%��f�
��'iֽ�ʨ
SX�Xij��
�;����`���Q�8сh���:�&�W���0 at 3 <�΄=2k�a恴|eK�����WD�W
ٮ�4�����v8?;�b�my�*A���Q�.^[��䢕
�I�k��c-	5��1�<���D8��e���2�1R�\2M��g�
U�+KkҕU㫶�5���r���\�M��y���v� �_�u��ř�!6�쪐dd�\œ���G���1�#Ww�G��
L�J
#VW
#V��a��C��>b��J�\GI����ϲ��o���,;�f�)4K	��goa>!˪Oϲ�ɲ��I�1
��0���0�y�ڏ���#�g��N�8ڑ��b���Τ8� �<�����ͣ�����G����x�B<� �+}V��̡�ݒ�`p��2��#إ�-�:�ᑪ{��͡	�Ee������9�h���'ԅ���{��Y��e����*��\�ac���|�)�}�)fD6�.������'w�V�������Gg)ΐ�:�����胇)""��˽��ƣ1�D�
4��M�awD�<��,�$/)&
kl:���MJ�$����U�
�.���3]

�J~��N�
~�n�� [...]
�G�zϳ	
��'xN�<��vo�OW�,Q{�VB�, k'ʧ��᭨�^�0�x)Z]��g)v��e�PH>(��z����|mȦ�j6���_�0�r&�Ԁʏ~����?jQо-�c�/�5���
j��p����
Rg/�`Z�meܔe�8;���E�m�(�QT�eY|��=)���-�5�Ee�:���6
~\W��N���o��
-endstream
-endobj
-2611 0 obj <<
-/Type /Page
-/Contents 2612 0 R
-/Resources 2610 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2570 0 R
-/Annots [ 2607 0 R 2608 0 R 2609 0 R ]
->> endobj
-2607 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 272.362 138.508 283.241]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000023) >>
->> endobj
-2608 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 252.272 314.566 283.241]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-2609 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2613 0 obj <<
-/D [2611 0 R /XYZ 90 757.935 null]
->> endobj
-2614 0 obj <<
-/D [2611 0 R /XYZ 90 733.028 null]
->> endobj
-2289 0 obj <<
-/D [2611 0 R /XYZ 90 644.917 null]
->> endobj
-2615 0 obj <<
-/D [2611 0 R /XYZ 90 631.171 null]
->> endobj
-1194 0 obj <<
-/D [2611 0 R /XYZ 90 486.475 null]
->> endobj
-2616 0 obj <<
-/D [2611 0 R /XYZ 90 472.729 null]
->> endobj
-2290 0 obj <<
-/D [2611 0 R /XYZ 90 247.883 null]
->> endobj
-2617 0 obj <<
-/D [2611 0 R /XYZ 90 234.137 null]
->> endobj
-1195 0 obj <<
-/D [2611 0 R /XYZ 90 89.441 null]
->> endobj
-2610 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2623 0 obj <<
-/Length 1707      
-/Filter /FlateDecode
->>
-stream
-x��YY��F~���)��������H{F�\�
Gy��,
���ק���؞�x�͓M�t]_U}غ������rr�V0K!%�����–qJ��o�L	Ad6'����S7ۺ��3��I��~�~י�����W�7
f����9�(I���ԯ���d���
ˑ3"���9w«���ٜr
�):
�i��^��ٌ8� �`I*Ƨ�.���YN��8[���H�\o;���-��Y10�ڵ�l��7��'�L�I�R���gCD�����;6�c��:ڪ�P�� v�`��|ԕ#�Fcԗ
I)�
�$��iOA�
zb�T'	qR��͆����ռ�f͙�ca�����8xI|��J ���_m�8܆���9�
y�/_5{��Z��
�P�hyw#**d�� ��=�s at G��z�MGa
|�9�l�S��M�*�$@�������K�2t{}��֫�Ac @
Z�Nld�M��D[l���}�>&3onT�
���8	�m�
�H߄����t���i�
�w�� �E�JA�˃��)� Qql�m����|�{�=�� ���A����;O
�͜6;j��*�(��5d@�6�Aa�z&}�
I>��
aҵ��go�(Fb�(b�)T�A�AB
�ַ�17
p�b������q����{��E��j
G^��E�l<��F��r���6��S!T
���dɌ��}<�3j�F&�͠8���m���K�'K�Hrv�p�aMH�,���!�"���K��[��(��c6�&�X��
-�J>B�6�+AM�|��
}3N
Z��֍jd�4M�"0�[�@{��쫺X��O�n�PJ������v6�r,��{
��wxn��8��� �:̣C
��J�Z��$����l%X�2	����sdn�dyOQP ���H�*�
,�$�yV�#��
��9�Ӷ�Oe	OB_��d�C�9��)G���/Kt�" �1rc;m{��I!m]�G�sU��8�(c���!�):��o$�C��6��F��!6�d�u]�Ci�������4.i��)3 �K1�fә�O)�NyY6C��=Z���)�a��#�8#�Bߺ�H���fCm��
�
<��,UM�\ibU�
Ī+�at��P��U�9H0�O��.N�s<k�'<����"T�#T�"�% *���KEFj�DX:�rT�9Z���(����
���q\X�Nh�a�k����ź CV	n�bЩK��&�6}:�<�� �e12ަ��ۦ�c��
������Z��ԃRb(�ދ5ڶӫ
��>۫�Cz5y�<K� [...]
��b��I8���C�7Uߙ�)�
�+Ĺ=(����L�\�TI_�����5�/g�O
@t�]顚}|*��>�L�0*�������vB�-�ê�}��ǭ�%?amQ�E������G^�vq�f(,��4�:e�HS�
r[ƹ��'YP� X�VӮ����=
-endstream
-endobj
-2622 0 obj <<
-/Type /Page
-/Contents 2623 0 R
-/Resources 2621 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2628 0 R
-/Annots [ 2618 0 R 2619 0 R 2620 0 R ]
->> endobj
-2618 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 524.436 138.508 535.315]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000024) >>
->> endobj
-2619 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 504.346 314.566 535.315]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-2620 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2624 0 obj <<
-/D [2622 0 R /XYZ 90 757.935 null]
->> endobj
-2625 0 obj <<
-/D [2622 0 R /XYZ 90 733.028 null]
->> endobj
-2291 0 obj <<
-/D [2622 0 R /XYZ 90 496.525 null]
->> endobj
-2626 0 obj <<
-/D [2622 0 R /XYZ 90 482.16 null]
->> endobj
-2292 0 obj <<
-/D [2622 0 R /XYZ 90 315.213 null]
->> endobj
-2627 0 obj <<
-/D [2622 0 R /XYZ 90 300.848 null]
->> endobj
-1196 0 obj <<
-/D [2622 0 R /XYZ 90 89.441 null]
->> endobj
-2621 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2636 0 obj <<
-/Length 1619      
-/Filter /FlateDecode
->>
-stream
-x��Y[��F~��ੵ�xv.
�XU�\���4�U6�5k�6*�n�_�30�Y�I�R���9���
`g�`�ѳ���+�9I�z��ґ�
A��*p�DŽ 2����̈́��b53�x�F��25�5��T��͞��_��FO�_��xE���D�HH����P��4��[
\��!a��qh����ɔr
�I:��&R�����K�M�?��.	��Xr�������*�!e4�@�.���{�p���g�J��q)�c�\��
ᓑ�
a�7�E
Ql�[�
{��
-
���Z��mt�bp�ü7�
F��Fo,«%n�4�V�<�
�����tB��4��b/0�� �O��3e�"�=g
-����a�&y��0)�J�y
&a
�g��s\JT������])�.W�!���	�RQ��{L�����*be�[}Jj��0��D��9>K� �����-�bm}:�&=z�b��u�oi$.rݽH�v��J���&�&��� \N(C-�:���
�4	�U����aJ�&d����"��#V��>ۡ%�
������di�(ER9�p��[]l���q�ϺO���#�%$�G���٥�r�c���= B3@�
b�lƖ�Xg:�F���$4�b7���w�@���s�̡�:��׬#���
���6|��5y����ZY���(�8��P�:�
;�9�����zS�i�ɦm�E0�A�x|��0��l��uR��Xr$i�p���%�(sz
x��s��C
��6��i5a���ה��te{��9t&�4ި"���s��ӬOH6��~eMM�P�WUu��us�{�m7w
$��u�X�K$I������|�٤YQ7��]�ܞ��r娫�V�*���a��҉���t1��Ngy�79Y(cA?@ہ��6>/��OvMp�K{�Vf��֤(M:N�
�DH+S*�>��c�3U�Y����u&�[�M=�&B�#Br���'B��Z���-"
̇Y��P!��A*�?�
-�Q!���R!�ER�#�i�  ��9�e�TmV
����*��&ƟʊH�,�$E��K�H��=���D�p���bD�[=�r}�%y
-
L
��q��%$r=���]��L/
�ʶ5@1C���O`��LD�ȯ�	��1A��L�}QL���u���iK��Вg'��1��c�ڎh��<�ƛ��1B�N��Y���sc�U��0P���njy�I��|���}��FVAV
�񴪿	)�'�d����(�K�,�c�@�v�G����p�\-u��@R��wݎ1��m�˴��4]��J��}t�2:Dכ-���rՊ�쀿S��xC�����v����C�[eۃ�g�o,��A�N|�q��b���H���P����ʲ��0��AH�����Pi��a��|k~T���qD�R�wP�]Ī���QH�V��o�ȏAQW���M��
�A|�wOt?}��0lP�|���F���C��߉@��� nZ}'�q�v� o̴4�˞��:�=�:�+�����6:��d���=ܚ� �1���vf�ٲ�f
U�����~�vr����5|r]������
Z�h���
���f]
c�``xM�Y�PnP�L�5�r�
����'�
-endstream
-endobj
-2635 0 obj <<
-/Type /Page
-/Contents 2636 0 R
-/Resources 2634 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2628 0 R
-/Annots [ 2629 0 R 2630 0 R 2631 0 R 2632 0 R 2633 0 R ]
->> endobj
-2629 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 528.286 138.508 539.165]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000025) >>
->> endobj
-2630 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 508.197 314.566 539.165]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-2631 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 218.324 138.508 229.203]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000026) >>
->> endobj
-2632 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 198.234 314.566 229.203]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-2633 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2637 0 obj <<
-/D [2635 0 R /XYZ 90 757.935 null]
->> endobj
-2638 0 obj <<
-/D [2635 0 R /XYZ 90 733.028 null]
->> endobj
-1197 0 obj <<
-/D [2635 0 R /XYZ 90 500.832 null]
->> endobj
-2639 0 obj <<
-/D [2635 0 R /XYZ 90 486.55 null]
->> endobj
-2293 0 obj <<
-/D [2635 0 R /XYZ 90 190.87 null]
->> endobj
-2640 0 obj <<
-/D [2635 0 R /XYZ 90 176.588 null]
->> endobj
-2634 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2649 0 obj <<
-/Length 1827      
-/Filter /FlateDecode
->>
-stream
-x��Y[��H~���iKquݡ��J�d2�\��^�C&�ʦ���8==�~NQL��J��n(�S����
�8�~��zv�J�@!%�
�o��H$(	���]H"���o�����՛9�a��oMR��O����r�����V�����W�9KG����F�?ݖ��#��
�2"L��uI‹LW�|Aa��f��tm��o�Ɣs�&��R����"g�]�>�H�i�!"������{
$��C�c�]��S������3�=��p��<��DDr��wl̾N��Z6J��\�R���EX
KB8U�,�i>�8���4Y����3y=x�J�c�
-�h��mY̩����	�7���X{����+�c�| ���Hŝ�z�Vn��h!N�p�<��C"�0i�ln'��y�X�4N�$�+��"�7�n��t��g�0�â�:�a$�cN��=E^�4�ܑ���SD���N
�y[
\���ۦ���L}��E�.
-Ȅ�β{w[
����M�n�~��zQ�_�}M�5�I���D�,�B��`�1���k
1D�/����9d>;W�P-�ˏ�~or��$�E-1"=.LV5CQ$�
�Ȝ�O�#��8
;�:�Hʳ�[_t�K�$��OE�O9N�j�ڥy�K��A�


;*�%/�ͫ����-����1�<�챽4��Z��!(�]��K�,����2YЈ!G`_�$�(��l�
��9��i�e�+Po�[��}?
���(�N;ṟ��/|Ӫ�A

�lވZ����ֹ�{��	�KS
�:�o�mS]�./�4���]$���{~�]���2Nc8�� }��Zdt�����>� ��<����~.E�F
e��1B@���
�֬�f���F[ �nQc�Z�[c��t�֩�K���"Y���خ�m�����uoJ]e5΃ID�
��FD�E1z)��Que���`�&N�'�"��P�1<����
���'��&3$�Q�	P�E��_��2
���m�x�b�e1p�d�`Y�˒@��_���A݂ćCj)�G�Gg�-�J
K����4���ԗ�)�%u��
���6)�� �|�C
զ|"_�t�����K�
у��C�4Ot���,sWk���pv[1T�i
�
�E�kN�.^�VLQr�m��ϑ-
���,WV����f
�V�T�
cȰTw�w�uט6��7�{>Ҁ�����ש��T�e��'��-�ҥM�
���l��൫r�28p����n�)
ܷ���Kk��N'ƭӐ���

Ju�9�ݩ*� ] ���yKw��ֶ��C�{݆&>��j+4�����h�Jߘ6����TXX��0��&�N���z��=0�>en�
a}&�FE�b��TC�v:�Ʊ�[���sw�r��N�"����
4���G��5�=���``���⣁U���lJ1 3�/
�{���q��R1RJ~�Q-��/�<"� ""$�:�(��j~�t,�Y���:
��7�/A��!���:��
c�Ԩ�ݥ�v�OY�p7x<9�
-	�ӷ�	�qR��p�D�ɬ��u���iO�S���Ü>�wBN�#K�ǀ|}�-Z8w�ʦ:j����'-L w��ߘ�hXM�� ܝb�xO�?u|"��l� ��ˌ�g��TD?ܘq
��Z���M������gC	~">��ۼ(ǃ��������c?�5���^�T�b�AS(p1Y��6s�B���!w���@
���
z������v���:�v0e��{��*β��Տ�&�z}I
!�̶��˫���;���!O�%J��>�:���Q�	�ih=(�+���9,�u��� �.��
-endstream
-endobj
-2648 0 obj <<
-/Type /Page
-/Contents 2649 0 R
-/Resources 2647 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2628 0 R
-/Annots [ 2641 0 R 2642 0 R 2643 0 R 2644 0 R 2645 0 R 2646 0 R ]
->> endobj
-2641 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.616 620.655 327.1 631.559]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_0cc08ca5d72d5cf465eb7812ffbb156a) >>
->> endobj
-2642 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 584.279 138.508 595.158]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000027) >>
->> endobj
-2643 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 564.19 314.566 595.158]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-2644 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 219.431 138.508 230.31]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000028) >>
->> endobj
-2645 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 199.341 314.566 230.31]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-2646 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2650 0 obj <<
-/D [2648 0 R /XYZ 90 757.935 null]
->> endobj
-1246 0 obj <<
-/D [2648 0 R /XYZ 90 683.228 null]
->> endobj
-2651 0 obj <<
-/D [2648 0 R /XYZ 90 668.855 null]
->> endobj
-2294 0 obj <<
-/D [2648 0 R /XYZ 90 556.318 null]
->> endobj
-2652 0 obj <<
-/D [2648 0 R /XYZ 90 541.944 null]
->> endobj
-1247 0 obj <<
-/D [2648 0 R /XYZ 90 318.38 null]
->> endobj
-2653 0 obj <<
-/D [2648 0 R /XYZ 90 304.006 null]
->> endobj
-2342 0 obj <<
-/D [2648 0 R /XYZ 90 191.469 null]
->> endobj
-2654 0 obj <<
-/D [2648 0 R /XYZ 90 177.096 null]
->> endobj
-2647 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2659 0 obj <<
-/Length 1600      
-/Filter /FlateDecode
->>
-stream
-x��[o�F���~jAZ��_PՇM7���v��%�B8�*�6�|���
sIBV��'l3>s�������޷�^�z��Iep}
(I��$�
7mB�t	Ƹ��Cp;L���S���l�G�4
�ߦa�����2������C
��p���N
�?�&��	F��
�lD�(�|���$̲N�
-
�
mG��$�#��st�
��Q2�G�0�6ʚl��n}k��RDC(����u�#x�!���`�E�i�)��Ip����}d��k�0恢ɝ���F�<�%Y�pb�J�҈́j��	�
	�Ld��ߏ���p�az��FI^3ػx3�Z�|��:T���
R|�bL7��1Y��c��a�=������8smj=��9&e�0�>��<
c���]���|g�`U#.�$
S?ۣ�At�q2�M�a
�N"ԐAМ#�Y�ei��@
Q児������Cf�Ci�ī1�y��S�+Ҙ�}���YO����jt����)�$�A�B��
�,D�1~��Z8�}'J�+�D��mS��FA��u�/�|<�l�ON�v��`��
r�[����KI*�N��}��2��S^����4�r�&N&q}m��.�,�:�~4f��Ua���������U�(��6Hѝ��z'
r��o>sfSpw���E�� ��
���(�����J�u)�Z�V
�"��P7ȱ����ڠ��V�2c@
-@Ԡ_E�+^��<JO���N
‚nw_U�(3-�e5ڞ=��2p�W���k�C���Z2
�{}[@��W
)�o�6��d����}2K�ѱ�!ld=tO�9��y<��9�m/���P
-D�x�
��)([�fN�WN��y/��Kb�/j�}����6jn#�
-5T��_5�Ɯ�W�H���W�Q��7J_=P�b��ۃ��9cqr�PZ(P�k��I�T/±� �l-i�X�D�	r9%k�M�����a��� V�;>I�;��
$i^i�C�
Z��GH�I�hJ;!M�2������/v�#����X"��zmԄ�Z�y>�EX�'m��ݕ�a|i$�����ȝ���e4b�P��������кtc��~4�*��?;'�����&��b3
����UQm�a���Dٛ�M�m�7mqi̚�RdH�R��9~�8��� �B�ȝ��'Q�r$�l�
�/H9"�l$�҈����)�����s8G1FB
�\��&�
�Abִq�I�f]�/�Q L���i����Z�<�鋣�0^�em�u9�ȋ�Z48�ٯ��L��}+�)
;D�W��(�-��UM��e�9
S�rr��}�4�$fni�ͣa�3s��<,��ak}5�$�Μ�K�Bf�zK4��a�A
�H��Xz�����
Tf���.zN\N�&5��E9&Ҝ����GP�X��Y�U����q������ꐜ�`��	V�������}���,Z��g;\ߓ���E�����Ϣ�gP���0��C�0H��e�l���%fܭg���e|�cG�����aK�u���@&U�0���m���WQYO���ʫ��"~k�V@�J��<��{��r��Z$�<Eqޛ�'�ݼڰ����n�:Ǧ��8#��Ӣj���_�&��
-endstream
-endobj
-2658 0 obj <<
-/Type /Page
-/Contents 2659 0 R
-/Resources 2657 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2628 0 R
-/Annots [ 2655 0 R 2656 0 R ]
->> endobj
-2655 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.4 184.234 212.124 195.138]
-/Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-2656 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2660 0 obj <<
-/D [2658 0 R /XYZ 90 757.935 null]
->> endobj
-2343 0 obj <<
-/D [2658 0 R /XYZ 90 698.567 null]
->> endobj
-2661 0 obj <<
-/D [2658 0 R /XYZ 90 684.802 null]
->> endobj
-2344 0 obj <<
-/D [2658 0 R /XYZ 90 551.762 null]
->> endobj
-2662 0 obj <<
-/D [2658 0 R /XYZ 90 537.998 null]
->> endobj
-2345 0 obj <<
-/D [2658 0 R /XYZ 90 404.958 null]
->> endobj
-2663 0 obj <<
-/D [2658 0 R /XYZ 90 391.194 null]
->> endobj
-2346 0 obj <<
-/D [2658 0 R /XYZ 90 246.198 null]
->> endobj
-2664 0 obj <<
-/D [2658 0 R /XYZ 90 232.434 null]
->> endobj
-2347 0 obj <<
-/D [2658 0 R /XYZ 90 89.441 null]
->> endobj
-2657 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2672 0 obj <<
-/Length 1532      
-/Filter /FlateDecode
->>
-stream
-x��Y�r�6}�W�%g*w��Ng��2Moi����hh	���V���~}/�DQN��y�IZ��= �uma�������d��|I�uve��r%A��li�ۄ �L	��~�ly
��:�i��Q�<��^�A��͞�����r.�ޜ�"d�,�9r}��~o��V&Q�L8��#�D3�c~���p�T`0�S[�Y�ʌ�SW*w�g�dC�τ�{������	+�"�E.���'��Z��
#���Y��)���u:�c�G��
a):dC���l<܏��
|�~3��d*	b�,�t= ��R�h��ԧᲶ�9�@1F��c��
�~ʉDLk
- �B
����l�JiR�y&�>`��!��^WJ���e�������1�}�]l�G�-�2�_���y�
��3^׿��I=�g� ��f�y�D`��Lx*X��"	�o�>��U���%�vyS�`b�9������u��p��7��2?`LA�I�S��Lj�W��k9.xnf!q�{���&,���۲X�卉 WE��Sy[�]X�@�J���[d����2�UR at 4ŀK�
������֔yК��W�@n{��Pj�-��L� ��I�\���m� A���� �}\�.%�w��
��!���zy�)�)�T�'8���
��Ty1���3��
���t�9�,�\���l����h�Q��0�֏m���z�:�"�tYO�1A�\D�F*^��P����*�(����m��y�_���ry�;P�ԡ�^W�v8ԛ�"q�)o<,̂-���3`
�L�?ӻ�)M�!�2w����!�a�]�,]�lP�F%�Xy�Q!����*�a2� �K�������í���h�T��<
�������'�0��TP"P�sC��J?�W��
9�W��=�Y��6����
�-s3a3`�#��<���w�MP"���g�ňRq����g𖜩�������
`���˞A�
�T"�uw2ӳd�M8�����E&�W���vn��nzj5H�@���{��ٗ%r~�ȱ���%/�4��}.�Kq���C��
*b
�I����etJCF���1B�
��}�I����ߩr���.��z�uzb�WAT��0��r]X�t��$ڴ�}��֥ �Vn
)�g�=��#�����}
c ����
��[����@�z.$�T�������[�ܶv��z�'�O���H�?��L�A����1��
$��Z�ݾl�/(ۜ��j!\PmwT.(��^t�/m������������t���
��]�Q$1�u_6�H�'
�C�k�G=�
 [...]
-endstream
-endobj
-2671 0 obj <<
-/Type /Page
-/Contents 2672 0 R
-/Resources 2670 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2628 0 R
-/Annots [ 2665 0 R 2666 0 R 2667 0 R 2668 0 R 2669 0 R ]
->> endobj
-2665 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.573 690.333 216.297 701.237]
-/Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-2666 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.024 589.072 483.212 620.041]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-2667 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 273.218 138.508 284.098]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000029) >>
->> endobj
-2668 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 253.129 314.566 284.098]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-2669 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2673 0 obj <<
-/D [2671 0 R /XYZ 90 757.935 null]
->> endobj
-2674 0 obj <<
-/D [2671 0 R /XYZ 90 733.028 null]
->> endobj
-2348 0 obj <<
-/D [2671 0 R /XYZ 90 568.997 null]
->> endobj
-2675 0 obj <<
-/D [2671 0 R /XYZ 90 554.427 null]
->> endobj
-1248 0 obj <<
-/D [2671 0 R /XYZ 90 450.809 null]
->> endobj
-2676 0 obj <<
-/D [2671 0 R /XYZ 90 436.239 null]
->> endobj
-2349 0 obj <<
-/D [2671 0 R /XYZ 90 244.162 null]
->> endobj
-2677 0 obj <<
-/D [2671 0 R /XYZ 90 229.592 null]
->> endobj
-1249 0 obj <<
-/D [2671 0 R /XYZ 90 126.821 null]
->> endobj
-2670 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2685 0 obj <<
-/Length 1979      
-/Filter /FlateDecode
->>
-stream
-x��Z�n�F}�W𩕀j<�"���E���ۗ4id�H��b�_�;
�V�ty�)j8s�s�pp
���ϯ..��,0�H*��u`p�$A���j����tF0ƓgS�'a�
ϦO���Ʈ�p�]�:
��|����7aj��������ζ�p���C�]?�Kz'�(�\��aa�^��
�؄y>�Q�a3C'v�n���;���fS�'6^�-e��㶼xru���]p at Jk����^�|����&���2��m�)������O��e)CX�ֲ�!&*����5�
�cnj2rS/(����-(ƹ5%�%?jK�(V���I�q��G��A��Ǣ��
�c��l1����f��[̘�Hb�`#D��.^- \��x��6��m�G,�b��I���Q5�
-;�̜
-sy*��->�+��P͂��
��-�~�Z#��֔֋^F�&��+�P��B��@`X0�B2�|�ҜU��������H��э�M��@%�mH7���m����m/������u%[�
��r<y3%bbݟ;G�My��G� F!��[(B
�D�[$�J
���E �. at eQ��� 
f�j� �f"*L��s[�2��χO�$�`'�t�����u���H�"�
EkoM��7k�������)��w�ʅQMP(��T��	��֕n��O�6-����=̘�pGH�C^����GJ���nd׻����,=�
���Y�%S*&�q��Hv��$yo�J#.�Y�U��`�Y/�m��E�:$ͮ+H}~�Q�00��{�K�z�^&�8�'b�YUeam��P��e��g^���ԙ��S at e���2�_�#@LX$Yޓ�N���P&����2��l@�S6���
�3����
D녽
���
-m�� �P��D�)$
��'��(}�/Kc��Qh5a}�����5P!-�hM�80rr{� 1�|V|�n���d+-G�����<G�wz���Yd;{�`�.�c�K�j.�n��{�����Q�nr
��{��~�	US	| 
���ߋ����"EI�m��m�
bX�VQ����ceG5���C�$ZU;>�(�H(~L���c��88�A����-�n�;#�
-�

c��k1�_ c�`
*�k�=������;��涨3y�JD�|
�i)�.0�G��
��ٺ>�?
���~�x@��u8"m�q�
)�ou�f�ju�FR�j�S�˨���N
�Q���iv4�|��v9������� !!
������̡�'Q0��js
��m��G�
 ���b�f6���p��@�~��]�k�睐ˆ�s)��ۨ�񢁤�-��
{�K�H[�!�n����1�l�[
�Pܔ�ۡ��6
��n\e������B���[����D遣Mp�Lm�;��L�c
�`��0|�
G1�1�M=����8'y���&��� �}I��%-
z�S
�T�$B2(�� @�w9
T_
�6�
EK-چ���؁ ���D��JL���p�J`lۡ������uI*d	����a�.&�C�€"mGfc�0h�%P>$�o��|�f�'w�<�}� F��j$Hc�
9S�fdp��--�� �EFE>���,���W�#G


jc��m��� l��-c7(�9$BS>�e������
���y���}�@�$�l�!�ʎ:���`wOiz�Y&����߉����p'
�By���P�	�D�g2��Gv�
�M�l��+ at t��a��T�}x���[�w���vM�� ]��
��ʇ�pæ
-�j2�罎L�
z;�R2)[��|������#�6�q����*(��;��O]�,�o�K��.p���t�
�=B�
Tt�3���c�
-�c
���@Q?�
-1����a�
7mK�_�g��Bk�8
�i_�y�~
�o�
�V^� v㑛�H痗���h��]
����4�\�g@�]�A�c�؁l�d
ۃ�ےc߳��D�<l
-endstream
-endobj
-2684 0 obj <<
-/Type /Page
-/Contents 2685 0 R
-/Resources 2683 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2628 0 R
-/Annots [ 2678 0 R 2679 0 R 2680 0 R 2681 0 R 2682 0 R ]
->> endobj
-2678 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 578.982 138.508 589.861]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000030) >>
->> endobj
-2679 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 558.893 314.566 589.861]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-2680 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.275 248.929 293.971 259.833]
-/Subtype /Link
-/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
->> endobj
-2681 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.332 98.244 235.598 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-2682 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2686 0 obj <<
-/D [2684 0 R /XYZ 90 757.935 null]
->> endobj
-2687 0 obj <<
-/D [2684 0 R /XYZ 90 733.028 null]
->> endobj
-2350 0 obj <<
-/D [2684 0 R /XYZ 90 551.083 null]
->> endobj
-2688 0 obj <<
-/D [2684 0 R /XYZ 90 536.721 null]
->> endobj
-2351 0 obj <<
-/D [2684 0 R /XYZ 90 426.311 null]
->> endobj
-2689 0 obj <<
-/D [2684 0 R /XYZ 90 411.948 null]
->> endobj
-2352 0 obj <<
-/D [2684 0 R /XYZ 90 311.491 null]
->> endobj
-2690 0 obj <<
-/D [2684 0 R /XYZ 90 297.129 null]
->> endobj
-2353 0 obj <<
-/D [2684 0 R /XYZ 90 172.761 null]
->> endobj
-2691 0 obj <<
-/D [2684 0 R /XYZ 90 158.399 null]
->> endobj
-2683 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2698 0 obj <<
-/Length 1845      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�6~����f3�;)��vm���&�KV�M��lٓ���ߡH�lYq�E�<���x���� �{��{�W�!
-%���<q�$A���|\�	Ad0$�����(]E�w��������h�6�L��n<~���lm������+BjfIȑ
-58ͭ>sK�	F�
�[l��0Q,��>
/��v;R��XH�f�YF�qWޛ�ID�M2�K�3ч
������?=fp@�r�8��zp0��o�ds��Z�2�\g��{ؗ,��<PT""����6Z�̤�q
Ȯ�ѫPԳ�H�0�'ԙ���ƭ�W7o���5^�j�
� �qt��W����]�Ӆ�T���v�_��_1"�7��n�u�ž��	�Ubfh'�F*Cؐr�y,v%C�6�K&�^�4�֩���?0��@�S��<3�z'�ˎp����{���>M��^*�����@����ˏS����6\™�f��8N
�'ZƳI�^Aᓬ�!��}��&v

�]�?�u�\ &dq�N�w��)^���g�~2�~#}[��p!��E��v�B:
�EQ2sk(k���`�X[Z(ԥ�l���,5.�Y
U��>��CF)bZ��jw�d�^m�,.t�]��+��.+�1d7
�x���N֙oR��Ete/�WHK��<E�
-I��
�!����������ϵ�
�#Gs�y�5�`6�r����I �a��j�a�R��!F��eV7v.�㙳��	
3���	l]Ӯ
�ca�
n�c<���&E�BE)�~�]7nǫ�
-JDŽ���O;����;j����l�fB��%�����)�^漼����} ~|�?}�� �+�	��X����䅘� ��,��l;
�L��:iq-1�U@���-�Q�Y�
�lD�*UY�[N�RR�h��.�ub��i�^IVǺ\%���iY��8Y�|h9�C"��
N
����LX�Q9G�Α�f�c�E"�E����fIaz����׽��!�Cƒ���>��pΧ�B/�:���W,���:�f���*�l������[6 �ru﬐չ���M��7��p����od�OX
��n�4�w���py�&0
F�}�\�
 {㼙�DZ
K@l ọ���b���M^��"�<\�/��ח�,ή��d i��T �*�~�
-`ߪ
- ^�G��jN<��'�U�j� �� "�l��
-X
�x4lh�@�
-�->FP���!���-z��N�N�
��L���?��B���ch�e�Z=��3�o`s�%'gw����(oK�r{�j��B��Z/D�pHT���DŐ �p��]ڂ�|
|m!$R�
��FB �������A
-������A���1$�
A�+��̗�}�S��aQP��D@��6�. �
��3�#��>yC��
��#?O;�^7�!4
������H*��y �4�g���	��cR[���#�V�
B�vjr��΁j>��p�@�
k$aK�
�_�˧��S���ʔEOy
U�^�*��9��m�6�f��j�7)>A��ڔ��
-Z@���~:��@��L��N�E +~VG�FX���݄�H�<JO��N�di��,,�se�g��
��
�C�
�;�΍gi�J���j
%	����z��yn��r��/m��j�Q�o�Ή�yz��$��b��Ȯ3Ch]&��CI�ۭ|k�Od����Xp����A��c�o gZE)���|^�Y,���-���E����֤�����~�����uK�o�)��e^�7
-�}#�,0n�LA
]f�o����h�V�U�Y��F���h�E�I�IQ��6��h1jV����y�ǫu�ӏ����'#��_J���
-endstream
-endobj
-2697 0 obj <<
-/Type /Page
-/Contents 2698 0 R
-/Resources 2696 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2702 0 R
-/Annots [ 2692 0 R 2693 0 R 2695 0 R ]
->> endobj
-2692 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.151 531.827 244.345 542.73]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-2693 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [326.612 301.759 384.189 314.677]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-2695 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2699 0 obj <<
-/D [2697 0 R /XYZ 90 757.935 null]
->> endobj
-2354 0 obj <<
-/D [2697 0 R /XYZ 90 606.552 null]
->> endobj
-2700 0 obj <<
-/D [2697 0 R /XYZ 90 591.982 null]
->> endobj
-2411 0 obj <<
-/D [2697 0 R /XYZ 90 377.764 null]
->> endobj
-2701 0 obj <<
-/D [2697 0 R /XYZ 90 363.193 null]
->> endobj
-2412 0 obj <<
-/D [2697 0 R /XYZ 90 133.035 null]
->> endobj
-2696 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F8 504 0 R /F13 540 0 R /F7 505 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2708 0 obj <<
-/Length 2038      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�D~ϯ�8���,�+- -��KYE��i,'�nK��s�י�N��ԧ&����\��'8�
p�z�����d�AFR�,�%	�7��6$��`�÷c��(�D��c����i/�h�]�!������of׫h��߼�zE�#���Ѡ���yu��L0��9p�#� �Ds��S^��<O�� ��0���QW����q6&:��9|�8!���
���:" �
�PH���ft�

��M�o
�S��S����>Z���
-b��:�Ec�뚃>v,z`#7́�i��<#��`*
�4ǢI)Rm���o�E-��	ŏ9��~‰DL�`A4B
{��e:���8����x1��?cL�x�l�;�7"�
<ߦyQ��.I�(���mWeK�'۴��'�2#\��FR�F�z��e)ED��%�AF�Ճ������v�#�@U*�|/���Ӧ/v
-���W>��`´BT?t��Z�s�0d�jm���!�F
�J�3�
0AS�
�M�5��:(�{����
-I���
_��w)T9�<,����k�H���z����ֆb��=�!��+�bW:�̱/��
�B ����?&ŪҚ��.�m�(ͳ��ja�]��޽
���h9�6�m�7r��W���Wڽ+�7��MX �QL��M�x�Y��� ����ChL�
-����O"�͋
�aR9�2|\�Y_�a�IUmO�/����&ǪȂ�	Z�lk�
-bY7yU��k3�E���|x��t]��=��@Z��~����n��B���rU�u�t(�,�z:A^�
Yl�F|v����>�B]#�Y�sw
/���*J�p�ɢ����e��D�Г�~��g�V	^C6�a
2�A7>0��"�+/���OH#�u�Nsr��`��|`��4^:��m
אָ秂u�t�#/�i��9`��\���7qZ
s� �s?�Z�
ˈ�0�륜B�3z)=�K%�X��mu.���p�@�nv� �u��~�S���8舾6��
�f}r0`cy��Y1̑��ɗf�'�Ȅq)��
,�sT'^�%��DM
d�A:'�2�
�e�P�߅�5�kp
��O� EYٌ?D{Dq ��<D� �sa��qy�j�!
�Z�5N�N���
-�bUu=7|}����FEl%�8	][���b��'��fE%E>����*s\�٣XH�a�E�n7I�> Pb���=��.[7�iˤ2l����
$�sg�$9
��s�:�	�k�.��:b �[x�/��� �U
-���}*0��z	�nMP>f�6��ݚ`1{�c��
���,�΀��	6���v�����ð] 	!�8�<��
�� � �
����+
*�`	<M!
=����z�R>_qUv��B?�&� �4Լ
L�-i
-Ad �����6 at A����L���<�0 ���y&aP�B�-������0<ؒh�V�	T�bg
-Ah��in[t�ny�΋�d�2��B6��PLa8w�U�N����ޅو�Em���^��#�
�Zw�o�#�գ$  V���,�K�+�G�8 �^���u�ʎ�Mi jR�AY�cP�H�O	p�
���]ڴh�^�᠆`�;���k��,���a�$�b���d�I�^�����H��1r��B�n
���ֵ�~!-��BP�~�a�)O�O`�N�]�wb��-�>�ɟ���x�ywբ�f6�d�*	wP��U�w��B����8-u�<W���~�ۯԎ�aG�V-�{���B�����P[���0�n0A��
w3���P�q7���`���[<�}
���[p�o��8�o�{��R��M"-����#�
Ș%nΩ�
���X�Hw�B�0e�:�⬅
�Z�p�N.���y��p��y��o���[ğǽ���PIj�c}����g`b7K@�0H�W#om�[ Z�m�hgJ8Z��1��O�B��_�G�}T�d��
�(肭_�mYĂ���u���ʳ_��շ�2����
-1�fߪ(vӫ���G4��}��2�W����2
)�C�ưl��f���')|���	A�ʲl
-endstream
-endobj
-2707 0 obj <<
-/Type /Page
-/Contents 2708 0 R
-/Resources 2706 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2702 0 R
-/Annots [ 2694 0 R 2703 0 R 2704 0 R 2705 0 R ]
->> endobj
-2694 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.679 678.378 395.172 690.857]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-2703 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.382 460.959 394.782 473.876]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-2704 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [342.723 231.428 400.608 243.907]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-2705 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2709 0 obj <<
-/D [2707 0 R /XYZ 90 757.935 null]
->> endobj
-2710 0 obj <<
-/D [2707 0 R /XYZ 90 733.028 null]
->> endobj
-2413 0 obj <<
-/D [2707 0 R /XYZ 90 536.391 null]
->> endobj
-2711 0 obj <<
-/D [2707 0 R /XYZ 90 522.393 null]
->> endobj
-2414 0 obj <<
-/D [2707 0 R /XYZ 90 305.582 null]
->> endobj
-2712 0 obj <<
-/D [2707 0 R /XYZ 90 291.583 null]
->> endobj
-2415 0 obj <<
-/D [2707 0 R /XYZ 90 89.441 null]
->> endobj
-2706 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R /F13 540 0 R /F7 505 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2720 0 obj <<
-/Length 2001      
-/Filter /FlateDecode
->>
-stream
-x��ZI��F��+|J@��k�2Y�,3��H��N.3#��mlǘ�t~}^Uy+04�Ҋ�������g��}s=�z)Y�HR\/�J$(	���1!�LB�1
��<��u<{5�x��
�E�~Joʸ|�N��n��..�����^�cK"�T�A����#�$�(o�xD�0�|��oW�f3	���,��d]��*qg^'ˤ�=N�9�R��1���
��
�1"�ĺC(�@�|=z�

8�C�k�-�:���*x3�e����2���\���oը�o�� �
�
�ȣ��z(�,^[c��/C�D�9S���`b��
��L��h&��RAS���tz�o�E����4��@)�"�:��
�4Kf�:��1J�������4�Y��D��#BH맸
2�����$�J��y������,��ً?
���M�g�O�D�鮖V7��\�/���]�\Hn���M�O�9ă��<�шJ��I@��'���4ɪYU�i��N��3�Z�\4)�r]$Y�N�� [...]
h4�����̀�*DG�8�u}P-��r@>�&�	��)�eCt�VwN�2�ɼr*�
�+�lb�\�.o�����Q���=�Q��	cW�O�@�5�
~�RE�i��PƑ�9�M�zwt��m3G��-_��i��;�
-pCHh�����aH�f�Ə
;}i-+��ā
-�3H#��ѓ�&��;B�2Q�
[�#��8����O�Z>
�*�D
-{T�ԾA�n�"��0BT��
B#}^"0\&a^0LωB�I� W�@��2�>kc�vR��=!WC
�h"�5��zL�"P%�f�]���;�F
-C�
�ʹ�%�����Yp}W�XL�5sӞ�
�n����}W
�NI™�$?ߑ�)
��CI��&�!��I!��t�]'�
�=���+�ʍ��I���)iv{ȂdB�4q���
�F};�'���oǶ(��6}v���
�c
�=;q
�<_���NS8�=��h�����za2W����6?;�-�g���7{ө��)���,�&]�U�J���B$�ʝ�G�06,mmnWU�ZV���Ę�H�cX
-�Q�I��<)�
-Y�Qg��ZL�i6�R�J���-8���k ��>l�
|�.�ƿQ���q�f�lHaQ�\�J@��e�P� �Ie�ך��/n��������*t�%�y�y��U�����
��ܑ�M��n
���:�)��$t�fPW�׶=7�bБ��V'�
��b�p*ۋ�:�c��)���:m��w
4(;4x�>�P�!54��C`>$�)"��z8]>���k���u��O��0�z�4���6�Y���4��P:\��:��ܐFP������t����,В�̡�iFO�Ҷ�#�<����J �����r��rs�O^�ôꐋ��@(�*
4��p/��n�=���4
:h*Xhn�q�ázg��O��JAo�N���\h����?�ל0
k�NB�
-I�N@�	"/��a=Ad�-���E����s�
��#`N���32�d��34�?As�
͟ 4W�"4�
C�1r�}
���ah>�x���z�:��Y ,��#�yIтs
K�؁���d[0�2�
-
b��1���u����|�v	kM�����=
� �A��Ф��b��y�rp�1/��2�y{��]D�Ͷ3��RL_�V�Jr
�ȗ��7��o��>I���AC��y��o�M��C%����<
pq����3
-�@DO��|��I�V^<���]
s�F�{�A�Ge�
.	%F�pY���U`�^��Ϳ2�����a���a}��
��I�O'B���9ζ�Bjz��
-�`;r12�ʭ�v~�4U�,�=h~�8�������wwUUL������|��YZ�(���bu��?=.���-�-d�7�H38��Xp���W��
-endstream
-endobj
-2719 0 obj <<
-/Type /Page
-/Contents 2720 0 R
-/Resources 2718 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2702 0 R
-/Annots [ 2713 0 R 2714 0 R 2715 0 R 2717 0 R ]
->> endobj
-2713 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.059 677.099 422.924 691.814]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-2714 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.333 405.417 425.662 420.133]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-2715 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 158.925 322.446 169.828]
-/Subtype /Link
-/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
->> endobj
-2717 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2721 0 obj <<
-/D [2719 0 R /XYZ 90 757.935 null]
->> endobj
-2722 0 obj <<
-/D [2719 0 R /XYZ 90 733.028 null]
->> endobj
-2416 0 obj <<
-/D [2719 0 R /XYZ 90 493.377 null]
->> endobj
-2723 0 obj <<
-/D [2719 0 R /XYZ 90 478.806 null]
->> endobj
-2417 0 obj <<
-/D [2719 0 R /XYZ 90 221.695 null]
->> endobj
-2724 0 obj <<
-/D [2719 0 R /XYZ 90 207.125 null]
->> endobj
-2418 0 obj <<
-/D [2719 0 R /XYZ 90 104.354 null]
->> endobj
-2718 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F7 505 0 R /F8 504 0 R /F13 540 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2734 0 obj <<
-/Length 1597      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�6~����fëDۀ��e�
-t�������ڒ*�u��w(��Ȳ�&@V��}txx�w>~d��[;��&���
sR
��ɍ���{	J��̹
���%���� ]W�F���\������:
һ���oW� ѣ��7g/	i�%�#_I�4���5i�L0��4�t�P�0Q�����E�Z�\*08St���"ȴ
y�ot:"r��)
���!���
��
>����!|�������#vf0�����j6������¹�5����
aOԩE
qY�7+C��t�a>֗=���� �Kt,aeܓ���5qO�&�"NJ�/��q8��
P$�{�М�+xH
ü/�V6����}��5v��$C>��
^�(J��fi��0�� 8�md��
<��Uf�V�1D���L�øw0��J�
|Y�q��#���৑+ {��,YϬ9m�KDj�|��M�f8���_�+���¢�5�p!��e
� 
N���V�
�E��P��K�y� y������odqW:8T��OG+
-����1W
PqLj���R�Z/
-��7�s/�uF�E\�
KQ�m�U�_
�������#"�M\�Xz*,�u��:�X'�>��;`�䨅Ѭ�l
����ږ�V�Qk-[0q���J,�<��R��b��ո�v�n%�|�  a��5^hŨ`��u^2�EY� ��Ni���Yc�^e])$�MT�q�KXDY���î2)1�>DR��*@+o�Qx̴T�7IaW��}Vuչ!_ at o��
�ćI
FP;��f>���_FT@���z����,Nm�׶�`4Z/��Gn�
���Y�v�ş
�tN`n6������ ���m*C�R�7� Iw�7�&��2߄ټd�*��ƞ�EpW��<
-?���������o7΋�S���ȦQ��W�l<xrHl�gWAz�^�(�m&�N��<�MI6Ŷ
�tQ3E�{pf�!,���dSaiѳ�ֽ�l�adh
� �:v;�4�e.�����E#솝���H��W� Ix�EOl
6��Mv��;�@ �ܵf��}qx���5�w	�R:»����CD�
ѶCz��
CA�)^��xw�Z)[�V�}��b����=t*Z����)Z�T�j$-�\ LD�(hZ���<��U�7��9�5@�3��
8�v�dZU�49���$�O��$�_�7�oW�`����9/�WIwE{��TG�V3�'v��x���?�b�f�%k�<=(�j�
e
Q&Ab�"86�"�Ӊ�|���:������x�!JuߒC
��:V5��>L��tK�!����f�
-^�����^�����[��ec��r#���<�
y�b��S�!'{Ը�O����qz��$ȇ��U��{R��n��tl'q�RL�Փ��c8c�
� 
-��
(��I��
��I!~
-�<�@$�x�H�̍�����X�b�W
P���(#�1D�_2Y�C(�X�Lf�;sEcT[�X�6�Xh7���J�?��}~D�/
Q�ŸZ5�<� Ff���s��B�8�+���1�s[�k!�̳,��m64]�u&)
-�3袳�jx!
�*�</�a���n�^������
-endstream
-endobj
-2733 0 obj <<
-/Type /Page
-/Contents 2734 0 R
-/Resources 2732 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2702 0 R
-/Annots [ 2716 0 R 2725 0 R 2726 0 R 2727 0 R 2728 0 R 2729 0 R 2731 0 R ]
->> endobj
-2716 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 690.333 355.512 701.237]
-/Subtype /Link
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-2725 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 618.736 268.34 629.64]
-/Subtype /Link
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-2726 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 489.44 355.512 500.344]
-/Subtype /Link
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-2727 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 385.962 268.34 396.866]
-/Subtype /Link
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-2728 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 268.621 355.661 279.525]
-/Subtype /Link
-/A << /S /GoTo /D (main_BHMZ05_widening) >>
->> endobj
-2729 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 197.025 268.34 207.928]
-/Subtype /Link
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-2731 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2735 0 obj <<
-/D [2733 0 R /XYZ 90 757.935 null]
->> endobj
-2736 0 obj <<
-/D [2733 0 R /XYZ 90 733.028 null]
->> endobj
-2419 0 obj <<
-/D [2733 0 R /XYZ 90 564.165 null]
->> endobj
-2737 0 obj <<
-/D [2733 0 R /XYZ 90 549.595 null]
->> endobj
-2420 0 obj <<
-/D [2733 0 R /XYZ 90 331.392 null]
->> endobj
-2738 0 obj <<
-/D [2733 0 R /XYZ 90 316.821 null]
->> endobj
-2421 0 obj <<
-/D [2733 0 R /XYZ 90 142.454 null]
->> endobj
-2732 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F23 340 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2746 0 obj <<
-/Length 2269      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�6~����&3ëDۀ�[w�%{YW��$�dɕ���;��f˲��C���ύ���=x��a��fr�2`^����ͽa/
�x7K�O"������q��o_M)��t���E|�krW��n>����c�V�77?_�$�#�D
���E�ԯ���#��	72"D��'|{J‹4.��
-
�"��:�+eG�T����lC!g�'�k���o&o'�`�w����b5y�{K��È�5[3k�q��o�]O���Q�R�p Z�"�D�ߪV��t�a=6�=БG��j�VY��X(})
-(u&A\���w:�y����	2B��&�^9�4�tL��;��4Y%�Z���Tl����7��"���������V���x�C �<��
J
2��c�,�"��J��F
-
-�P�0��6b�OD����/�H�g̈́݀�x�_�F��ߘ���������ޕ��vxp)k�F֢
XM"E{�m�:&�D�b����V튢
-H#��ـN!�ɒj}
1�d���=�I�B< B�(��"����I�6˼N�4��;Q���YȐvA����?��E>%BoA�+
ia�W��>�ܤ�}���_i>j$�V<8,����L��>�&K�%ك�lq�MY���2��
-��ٿqZ��Ie�y�пw��Sj��S7����=H��C�
�L�
��f
�a�l	��p�^��%$��1Fy���}����ug��a�"L�a��l�(��U3��?"�$���^R͈�������.�z��r��y+��)%
-��9�,ځ��z*F����Y�<�������K�U
�%����jSVC�kLo�ѝs>�IYRG�Β��H��㻿�7؀���8 ɺ�y�s�!ڪpS�W�`ӥWmugw����=P���M���f��?���jfM!]0<j
�n�g @�|�� ��p�o�C�OFm���M�ی��R���w����*/,n�gk�f�՝�ȭ�`,���
-H�V@���w��J;]�f����cΫ0�}T&�4���_a��:�Y]���#g��f�6�
��5
-�)|]�4vT��c���(]*�1�c�a��P& Q��e���a�A!���6.
6+�U�� e���
�	!��pG�O�p�C�q~�}۲�C!��(�$Ȏ�8[�8�<U�dˇm�ۗ	����̒L�L�<6K#�1E�?�%���3g��в�BcG�8E�=�Tɢ�AU��@���4����d�q�)�����
����[K��/E-mk{-�i]*��6��>�� o�a��ɋa�4&����E3�
ӫ�ڲ-�Oӕ��v�[�['0ė���ۖ�X
�j�Ot%��w%c���C�)�t�nѲj��gƃ��l%�
���a�O�/��-�j����~��΍ՕQ��f at b�G�.��f�
�p��-`��6=��>o7�nU��I�ҍ���\�]o���D�ۚ��,t]��{�0���Z�Q������ۮr
ě�mt�xw���&�$����ɼF|^�K� ��Џ�K�B �?�K$�p��@��M8Y�x\(ѵ�������R��^"A�
�3�P�kl�2/�c�0��K�to�|��@���˯�{��26U��鞯(�;o�p�YA{
�85W*�*�dn�@��r��� [...]
-v���g{���Pƛ0�g�4��'MY�?=�8 	�+�ݷT�b�B��N������6���#�-�`}�o���Q�����k��ЇD[�
���{dx��fy��i�v-e�o��sl�M�a��йH6\������$�;�~
-��搰s
-�|��Y�Vv�V���v��_]��ɐ0
7���2أ� ,��kRX�Ia�oPFV>z�B.|�bv���	��שH>ک�a|�P�_E���w*B��'�n�
!C��Q
]�h�עP��<y�"�Vk��
D	8��Cѧ]��'_����E
����u���Nv�P:$���`�9
��i�tJ���Hw� q}q"q��Ĭo/N��Ѱ�#'��ы�n��)_�\���Խ	��6��6q�&�C�M>�[��!gܙ��w&����?���_���:�t ��!�^�?:"BB�|�3J�5�Z6��X�}��TŗS����&N��Z��Ei

b�+�kKt+r�j�Z����_&f��v��cU��WW��-J�ɒu���
-�uu��
)�Z4Bl_���.$�b�LQ;��V={A
-endstream
-endobj
-2745 0 obj <<
-/Type /Page
-/Contents 2746 0 R
-/Resources 2744 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2702 0 R
-/Annots [ 2730 0 R 2739 0 R 2740 0 R 2741 0 R 2742 0 R 2743 0 R ]
->> endobj
-2730 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.008 678.378 276.143 689.281]
-/Subtype /Link
-/A << /S /GoTo /D (main_BHMZ05_widening) >>
->> endobj
-2739 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 579.381 268.34 590.285]
-/Subtype /Link
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-2740 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.011 450.685 513.996 461.589]
-/Subtype /Link
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-2741 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.062 187.442 276.047 198.345]
-/Subtype /Link
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-2742 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 88.445 268.34 99.349]
-/Subtype /Link
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-2743 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2747 0 obj <<
-/D [2745 0 R /XYZ 90 757.935 null]
->> endobj
-2748 0 obj <<
-/D [2745 0 R /XYZ 90 733.028 null]
->> endobj
-2422 0 obj <<
-/D [2745 0 R /XYZ 90 513.406 null]
->> endobj
-2749 0 obj <<
-/D [2745 0 R /XYZ 90 498.886 null]
->> endobj
-2469 0 obj <<
-/D [2745 0 R /XYZ 90 262.061 null]
->> endobj
-2751 0 obj <<
-/D [2745 0 R /XYZ 90 247.54 null]
->> endobj
-2744 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F23 340 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R /F106 2750 0 R /F8 504 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2759 0 obj <<
-/Length 2313      
-/Filter /FlateDecode
->>
-stream
-x��Z[�۸~���S+1�WQ�^�dwg�m
���S604g,�-9������P�����n&���X�����s��#58x
p�������&b�B*�Qp�(
Ȉ AIp��CB�/�8|;'8L�m�|;�8,6�k�����}�����o�_ޮ������ꆐ�Y�8�*�A��]#�(o;�M�P�0�v��9
�m���/��`L�Pow��ֶ�~��ġ�W�$9!��؜�p7�8#`�	��H������
���S���<5���
~7����3�B���8Vc
H!q���WzWgE^]7N��\�(џi�$V��@��DU���Y>�8��l�t�����������1HQ�uY̩�r���a�`�L��sA�Q�c�V��G*&m�z�U��`hʐ�}^MH0?�󄅸g ��	D"F|֭�� 
ű�fJm�f�
-d��b�K��~�<aQ�3
��~�^0���$�+k41����8�%&�%.�UmS8���=�s�<�D�&�a��i~U�h��C����ۺ8���C��S%
���_��Γ-�HH5Y���O08F|\>�)���2�9��cF�N���cu��A4���&�r�S^6\̧,�y�?.���ܮ��X`ȇ�-�9q�p�g���s������l�!a �Q�Lpd����B@��s3e�N�K
���e0�D\zتwǸ���_&
-��', 2J��!�T�S���,�@Y~����	�Ĥ�Du)�Yy�Ru1
�h�.@[zm#H�
$;",u�߸d+
쯁�}
���Zk� ��Gnj�~����6�\����I�|bv���%�d0�#d��[�)B1K�
-�xs��
F�#XXf�y�A``��ˉ
~��=ǎ�5L���$nەJj;+(�AE��W�v_�S$0
_v��M����P
�L,b���K	r,���AQ�.SN��*�����K��|m � �7�+٘;
�,����� ���u��մ~2J))���x^�Ei�
�
-��|�����0hK
�Y٦3P��
�
"@wC�	aW���u T��֔�X8nq�Hv�����������Cu��M��:��:�>���Ӆ�1�
��o�䅴/Q�����������w�W1❠��լˤt�T��m%"JD�%"�bZ"
-�vR���Ј��iDؖ1rRN
F�Ԉ 󺥿@#n�mV���DiD��D�#��Lv�,k'�
F�=9���q�F��ӂ�cvF0
-,O
-F\'�b�d؛�w�Z����d�m�
�ƈv��nƆ�qD��	7�)}
-p��}��щ��q�J��NS��%J�\�TA�Dht��4�}�p��d�h�'F��8F����P\��(瘗N�Fc���&���g;Z��
-ۢ�\5�e�,*��ʧ��U.��0	�uf��BF
�'n�m�ގ����F
�� 7h���
Q&�M���E#9*��� F3!_b�?q9����r�M��
����Qy�`�؉7ê����W
��iJ����(e��m_��93�ƱoB��P����N��{^�_��
s.�H�S�"�I�}E�a9�%#s�HϜ���D�����ZN��0���N�
GgD�q��9�b�+d�v���<��d��~m�%��R<��)��4��Р�p�	�y�i�y1�H)����3M�	�PU�;7ݞ��\7?Jy�^����&@Ո��M:�@
Ũ��~�3���
//����x�[=�Ǩ�1$
ry�O��@�=�$��n���)k4,Q���Vx�˵eLǮqˮ� {\�f7Y�j#,>��	�h�֓^��r㯳�ڽ�^M��ڎ��М���̴��l����=x�ڛ�}Х�8\���9!��p�G
��^��MDz�?������h��H��4,
d�oLԊrjB�M�� [...]
-endstream
-endobj
-2758 0 obj <<
-/Type /Page
-/Contents 2759 0 R
-/Resources 2757 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2702 0 R
-/Annots [ 2752 0 R 2753 0 R 2754 0 R 2755 0 R 2756 0 R ]
->> endobj
-2752 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 621.557 334.073 632.461]
-/Subtype /Link
-/A << /S /GoTo /D (main_H79_widening) >>
->> endobj
-2753 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 552.563 268.34 563.467]
-/Subtype /Link
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-2754 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.224 427.32 256.77 438.224]
-/Subtype /Link
-/A << /S /GoTo /D (main_H79_widening) >>
->> endobj
-2755 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 331.174 268.34 342.078]
-/Subtype /Link
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-2756 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2760 0 obj <<
-/D [2758 0 R /XYZ 90 757.935 null]
->> endobj
-2470 0 obj <<
-/D [2758 0 R /XYZ 90 683.993 null]
->> endobj
-2761 0 obj <<
-/D [2758 0 R /XYZ 90 669.757 null]
->> endobj
-2471 0 obj <<
-/D [2758 0 R /XYZ 90 501.711 null]
->> endobj
-2762 0 obj <<
-/D [2758 0 R /XYZ 90 487.475 null]
->> endobj
-2472 0 obj <<
-/D [2758 0 R /XYZ 90 280.322 null]
->> endobj
-2763 0 obj <<
-/D [2758 0 R /XYZ 90 266.086 null]
->> endobj
-2473 0 obj <<
-/D [2758 0 R /XYZ 90 89.441 null]
->> endobj
-2757 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R /F72 471 0 R /F31 472 0 R /F7 505 0 R /F1 542 0 R /F8 504 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2772 0 obj <<
-/Length 2137      
-/Filter /FlateDecode
->>
-stream
-x��Y�n�F}�W�)+Q����f+A��M&@v�
{�2�H[L$R!������7���;�y0�K���Tթ�6

�x�����
M��2�{4
�dDpܥ��c�]��t���YRm��kNg��y��U��G~_%��b�����:�e��~�y��@-�Q:ƢV�Nd�2��G��݄MX(Z��.i��&���9�4�e��&i2��}��U�,�e�
-�T���������+54`���«�Շ�4H������<Y�m������_W�,�<$T�
Z�<�M��c������
#�
-4ϻ�H��LR5��T!?
f��V��}��N�E#�ɳ�`���B�q"㳱`���m�H�t97b�<ԜP*�9������%�l��۬�󲨗I�.w6D�_�U���*h'�4(����̩"a��vzo�C:��j��b�	}ȋM^d����9�vpأ�D�������V����`o#u1�d��"��b����q�M��>��|�.����̼pQz��}����Q^
(-��3x��ܽ���ڦ���
��\������ER4YU/F��zF�d1QTטP |0�Q��.K�:s����|8&��0�$����X
U"&{�p3҅��|�1Wzv�śuY��ub2�S^<�����:�w�ifp�l��ۇNk3�
x�k��:_��'��4��R^Xϛ}=�lj���kp�5����¥�A�ǎRw��f]0�a��=���o��n���OF<���~ӊW��pX���?�
-�0
-��q�T^wb���
-�*ɋv�p�E�%
-���}�q�����
+9{k@�ᎇ9�&0�`���
-���ƙ�����zmk��IG��|�
��$d
����	q�C6�2�����	� t�@p�Ș�A>���	F���Ͻ��l��Y����+������YVe�~Ӹ4�����
@>�g$���0q#dn��&�X��̨��G�D
-r`��7�(PP�����Tx�f��Pξ9����Ҿ$
��I,d��Qa
�7v�` 5�WM"�/�u�$<�L��02���ڈP��-��ƠVNZ~>�ct��1���2:��C��� 
 ���M��"��0�0B����YL4&�I$�
%���1�[D&��l�T��[�k�8�F
��V��R���9cFKO�~
1i�s�
�]�e� �� q��%F����?K�-��nq�I\�K�N��iG^�vz_Mt��P��󄊈���b#�_ֈ�E�Q�`��
g\
vAÉ]D��M�F�@
Q�
e�W3s\����?^�fz?�Č�:/��c��Z�^�[�_�֔�	�%(K
xp��m'�G9���^V
�׹wCY��G���o�9
"�F}��W�� ��
ԇ�Q�ܨդ��&+
��2�*4:gZj% ��[ꪴML
-c5C#�_�{6<��>z���ߤNt��k/쿒�ü�#��)���WY���]or"�
9!�H��h�|^
̝�c�<<=e"�|!S��IA���k�P�Z���Z�h�����$�����Zb4~�qC�	��,���<n at IV�N%�
-mK�okJ�
>(�#�,�
>L֛��!V;�,o3�x���I��	CS.�ee�#|��FHF��_�
��`�
xSߏv�-M�n����]����؞���,
,�u&�~�Si*%�B
ԭ�\u9]�~�f���,O��`�C�*+LE������̩3�vF:0�<бi����1�
(X�&���2�
��usi�"��T���ֈ����J
G�
��J�</V�v�Zd<h�=���]���N�ԥ~E]
-��%a8јh@'M{B�:�c����T����q}���B1��j�[m16��Y��ϊ�=���k��p�
YI�"?-G��a�A��^��h��
O!�e�#Fg�4I�
�&��g���[�5�������e��2df�� w)�N��k�a�ńm�=�����ӄM;�
�1G�a/&F��i֎=�U��:GMG��^��I����4z�2���o���F�K5��������R�T ?��ڒw&B
��ۖ�ܭ�6w��:��b�G�?��
e{~p�^����p���t����Y�[�^��
N�~Y�HH; �M�[��<==�UM�E��H���v���xh�$�:%��e����vj<��?�޼�
-endstream
-endobj
-2771 0 obj <<
-/Type /Page
-/Contents 2772 0 R
-/Resources 2770 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2778 0 R
-/Annots [ 2764 0 R 2765 0 R 2766 0 R 2767 0 R 2769 0 R ]
->> endobj
-2764 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.334 491.517 236.659 502.421]
-/Subtype /Link
-/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
->> endobj
-2765 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 434.58 256.157 444.478]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_e68d61763922cee018cbba3834b2085c) >>
->> endobj
-2766 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.708 318.519 250.895 347.585]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-2767 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.024 272.915 483.212 303.883]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-2769 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2773 0 obj <<
-/D [2771 0 R /XYZ 90 757.935 null]
->> endobj
-2774 0 obj <<
-/D [2771 0 R /XYZ 90 733.028 null]
->> endobj
-2474 0 obj <<
-/D [2771 0 R /XYZ 90 556.444 null]
->> endobj
-2775 0 obj <<
-/D [2771 0 R /XYZ 90 541.874 null]
->> endobj
-2475 0 obj <<
-/D [2771 0 R /XYZ 90 425.614 null]
->> endobj
-2776 0 obj <<
-/D [2771 0 R /XYZ 90 411.043 null]
->> endobj
-2476 0 obj <<
-/D [2771 0 R /XYZ 90 252.84 null]
->> endobj
-2777 0 obj <<
-/D [2771 0 R /XYZ 90 238.27 null]
->> endobj
-2477 0 obj <<
-/D [2771 0 R /XYZ 90 134.652 null]
->> endobj
-2770 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F31 472 0 R /F7 505 0 R /F1 542 0 R /F8 504 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2787 0 obj <<
-/Length 2554      
-/Filter /FlateDecode
->>
-stream
-xڵZK��6�ϯ�)+�Z<�ԦrH6�n6�r�ٽ8.��fS�BR
Ͽ�Q�#�`���wc��a�?�|ws�R�E�bA��n���"qJw���DVk�1^�Z�L�}�}��xYϏ2���/�}��ϛ���ܾyLr����ۗ��Ȓ8 at a
��
�o�gg�
�w
1"��
��D�"i�՚r
�b���C��R?y-w�^�h)�
��K�CE��ǻ�?o��
���C������;�����
�H�ԭ�/��X�����BK‚[hC�Ƿ�Y<=
-`?6�
������ �d�$܋�`�E�`rĄ�x�7"
~&kƤ�<)�/�e��U�

-���zv?(�U�9���՗�5`),\�A17��
�f
D���P�6g���beF4���9��>9l�C��m��e� d`� ��1�)ܵ��
n���K�G�P�Qdy��
f��#L�U�#1�ƴ�����
�ۼ,�R��p<� ��	��n�k	B�m�ώ�U��n� �Η2m�Z�w ��$M�:���Ie
w�=�~0.��������A����F�989���űX $3�.�ʺ�8_[*�jH�BEs:Q��Q
-�D���z��"�d��-H�i�R���"/��q��
,( �4D<
-'<�N(Nm�~��81X�fTF�	PWjՇ<�6wUQT+ʗO���c�5�
Ƞ��!��LĴS�u,�W@% 6?&��n��i�U�$/��u�߽�nwj����Z�����q$jce}�
��T8Ĕ
��D�L�L]�˪,����U�zU�C-Y�2�osP7�
�Z��'�;����Zk�E�$z�q��[�}O�P&�����(#"�F�	�P��&�e&ǘ�2S��՚����S�D�B,z(f�t�"��tH��T�a�
-�����R��IQt8º{��j�\�
����8W������"��+���2���V��|�-Tz�B#L?
������K��P<�
�qY��L��
θ�����Z�/L���ʛ[A�y�?���V�!�s���m^~M�v������Sȗ�!v%���|h��4���HoT�
-QOea�����u�}����"[_�$�h
*���$;[Cu������h��V��_sb�{w�Qtvױ�a����C�U�g��@*����|�r��H)��C�շ����#���\��G���G
-��b�e���G�%�5
(
-�	7���3QO !�	(C���SuA'�m��Ϫ�c1�����
j`�Qx1�B��vn"�5*��&�A(fm��7� 8!=J�&���(�w�`:Z�
h u�u�h|00p�0:C�O)�
-�i%���d�F!
�V_w�	�:�v/|NJ0��Qg���Y8��٤�̮��$c�I􏭿�fTUŶ��*0�Z]W	�0O��~`�|��R��׬	��O�t�]�pH[r�$H���V�$���uC�&�;P
�'c��=�f�C��dv� �Y�sE�`Q���N}{f��I�`6v~w	��F~<@��
��^l�zg���������,��侐�i���!�~Hj�@
Yφ(�O��P��:��/%�4� #:,��<�)DXJ�;����`��:��E���j�աsW�G�
�U
��P����#fL�*����P�1fk��yx�$�
 �%#

�3
�ݹ�,�6+�٩�*��!΀s-��Ҿ����!����
�ֆ�5�Y�>����C��b'�����]�0<4~���y�1ɜ�z��c*]��i:�G��6H,Ё~H�<�&���l�$���"k�Օs
��y+�N�W�_�S���|fp��͛W��&F��|h����Y�!
�
-�AJ�n|�~��3�S�Bڵ���HЁ~)������`Up=E�_�ɱ1+5Xp��R�`*R-��v� ���*�_�L�$@ۑ
t��5�t��K�M퐭�
1�g1Y�u5u�q�M?����v��>捿���hh��l@.
p��������8�s/Á.)==�@��UD�//"�#�{�t�6��{J!?Ӌ
q�uz�U$�:�����O�t:�G_-`$����i�� +�.�"��H_S_�q��?����
-D�*~���
�W?6��ȍ����2�
x�=��

�m*�,Q���F�P\��������z�]"H.�
X�}g䱘f:9#��V���.r��}-�G8ӝ_�v~�/����oh�����a.=���/��(����������:)�����U���T�����9FV��N�پ���
�@��ެ���r��,L��p͡�	٤G��{��lUsE���="àB>�,�T�j�h=w��A�xrk@斌����i�����t���N�FD(&ѵ����
���8��|�lr{!s�7%��ޯ�q.}��F�[q�4P������C�9*���
#jNՐ���bZ�����?�δ��(��oK��=lno���Pڠc�j����Cq{Zh��@	�D�o,��I�6x�ONk ��ovg�
-endstream
-endobj
-2786 0 obj <<
-/Type /Page
-/Contents 2787 0 R
-/Resources 2785 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2778 0 R
-/Annots [ 2768 0 R 2779 0 R 2780 0 R 2781 0 R 2784 0 R ]
->> endobj
-2768 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [322.376 678.378 385.519 689.281]
-/Subtype /Link
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-2779 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 383.594 239.856 394.498]
-/Subtype /Link
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-2780 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.639 189.301 300.161 199.582]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_e68d61763922cee018cbba3834b2085c) >>
->> endobj
-2781 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.144 149.136 182.164 160.04]
-/Subtype /Link
-/A << /S /GoTo /D (main_expand_space_dimension) >>
->> endobj
-2784 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2788 0 obj <<
-/D [2786 0 R /XYZ 90 757.935 null]
->> endobj
-2789 0 obj <<
-/D [2786 0 R /XYZ 90 733.028 null]
->> endobj
-2478 0 obj <<
-/D [2786 0 R /XYZ 244.439 386.747 null]
->> endobj
-2790 0 obj <<
-/D [2786 0 R /XYZ 90 370.02 null]
->> endobj
-2479 0 obj <<
-/D [2786 0 R /XYZ 400.69 152.289 null]
->> endobj
-2791 0 obj <<
-/D [2786 0 R /XYZ 90 135.562 null]
->> endobj
-2785 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F8 504 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2796 0 obj <<
-/Length 2765      
-/Filter /FlateDecode
->>
-stream
-x��ZYs��~ׯ`�`�U�hN
�ͺ�{�e;q6�J� o� r�D�h \��>=N��u9y`
{�{��>x�a�'ߟ��>��
-�$BQ@����$�$(�\/'7SB��	�x�fF�4�7����l�_�e
��%���|y����U�U���?^\�"K"�d¢�����#ʫ	�
"LT�
��r
�lNb���v
�ʎ�U�*��p��
I�Ĕ�P�<{}}��2xB�:�D^l�n�����`�@�3k3��u=yw��3�T�U
Fc>�4@$�[��x�J����>���H��
���dW,�%Sf�w��^��K������Z��+��B��&�w��z�?8����lrc��sF���n�:
�	�ݿբt{���\�,]&�;Tf�Z/���v�lTZ$YZt�޹��F�g=�:��;�D��;s���t���ꄑ���0BāI�E}]�9�80V�SM�K;'):���(�4.�\���;C����[��ɨ'V���,@�$P

-xd�{��P[���47�E���L�Ǡ�u����;��<������<��} iYĦɽ�k�f�
DI��_0f����q���S�@�fNgi*QHe5I�^�Yo�<I�f
�4���=$�ʳaT�W��U�W#(e�9Yޢh��-��X_��ܜ� ����I���.-
�lZ�I
-�`���y��a�"�'5��$���V:��9����EfW([���6��b �5�I�������w�~y �AO����:�]���
-��Ր��H�[I$@i��>
�b�
 .k.V�AG� g�B�� r�Z��>�f
��5���
Z�$L�֜B�uA9�~�LÞ%;b�{�"�b�>xøSKبE�����G������>�}FA[!c�
t��8�Qɴ���[���ke4L@�Y�V��^e���M��lv;�/�&q�����sc��,�}zD����v��Ǩ��ϳ� �/]z�I)�<
��î�i���G�΍�ܩ�I�0�	���
��Q�*S:jý�q�׷��OB��2{�m�
��#\
��t�
y�s���
Q�x����B���E�6���d��0 �B�\�g���u�
�'��n ��
-���A
�%W��U���j� �L��oU
-�>l
��� ()u��fIP���%�ߔiC�e�h��Y�ڏ��I!�
S��% ����!�#]WZdK���`��G��"-ʁ��T�7I��4��j�n�Hs5�ߪr�W�Gl/���Wiv���u=�{�
-:��X�g("����
�?��	
-gZ��Gu�oAͥN	������(����v�U�ٱo�mc��l
��=n���L켆
/�Aho�Gd,M�ZcG��< 2B ֝�8@����YH-H���*OT�tV�]��c���.]�B�^e
S[��P[ ����*�,��]s����7 e�X��M�;Лie7wY���l��z
(����[���ZJ
|B�RkQ㡩�O��k;�[C�GEϽ:4z)�K>=MF A�F(��:�x:�>
��g,�)��^Im+��]�>�����n�x��C�C
��.6�e
񰶆2ߩ�������a|�}Y���;o�* �f�@� ���i�%��w/^��B�N at Y/����(�2(K�V��#�&�w;yC�#�v��R�X�N���)ƅ:�i�&��j��� &�5��P��� ���
@87���~��̇��~A8�C�����
�u�h�����m��K�k{�ڛ�i�|�b0��$���F��R
ڬmz`	QT儆& k�UB��
��$8@����bj�Z�� ��S�����f^���,��� ە�]u
P��.�]h�W����r�5�����ci�~��*�:�1cޒB�iwV�²h
�t���I!b�{i�D�����X��
>�`�r�z��s��hǎ,�C���[W�e�3�@P��h<�I�F0�
������™�W8X�iT
���v��
�.M4,�֠�����X��x�
 K{oZ�Z��c(t
m��c��Ƈ/�׍
-~Ϭ�sGH�?$&���L�^;<��ZW�
�I�6Λl����\���I�7��/��
�!
��0��h��
Z#ş���vJ�GSz�]�!o0��"
�zyCB��y�
-;��iJ�D�_���bL;���3	��wF�ot�S~v^/�4�Z��@y�i�rZZ�OPOc�#�1Y��~����sݞ
-&x �it�GQ�!�$��59��/�D�J��v�e�.�m\ɇ�N�P�r�u�Y-��²��.f��3�&�f�h�
�)n�0��!X���G��KXڒ�z��b�U��ÑFzk)/H$E=#?�
��V��2d(
�5��)��w�#��"���zB{/�E<���m�3Gl����W����/�ܿ
��Z#T�
�K_��l
ֆμ���%s��S"��ͩJ������\��(󋵏�d�;���@����]軲n:��F2�4,�n-マn�+&$���h�CvL�S�h&me����hZ@*��;].��v�g��ƕ�z(s��S*sM�#�.S�l퐟"�S�P��,���9�Pnd=k�`o�	�5�ꢭ�I\��� F�S��4_q¢�;:�ehJ����ot���_�cu�j�!�}�G��ot?��}�}a}����# �4�iOE6wz��#x+��Iu�әQeï�xք�UYn//.


Т@P�os��������‘���W(�ɪ6u�����I"��?�;�R
-endstream
-endobj
-2795 0 obj <<
-/Type /Page
-/Contents 2796 0 R
-/Resources 2794 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2778 0 R
-/Annots [ 2782 0 R 2783 0 R 2792 0 R 2793 0 R ]
->> endobj
-2782 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.502 704.958 241.69 734.024]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-2783 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 631.459 163.823 642.363]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-2792 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [486.549 568.006 513.996 578.91]
-/Subtype /Link
-/A << /S /GoTo /D (main_fold_space_dimensions) >>
->> endobj
-2793 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2797 0 obj <<
-/D [2795 0 R /XYZ 90 757.935 null]
->> endobj
-2124 0 obj <<
-/D [2795 0 R /XYZ 213.427 559.204 null]
->> endobj
-2798 0 obj <<
-/D [2795 0 R /XYZ 90 542.477 null]
->> endobj
-2799 0 obj <<
-/D [2795 0 R /XYZ 90 463.701 null]
->> endobj
-2526 0 obj <<
-/D [2795 0 R /XYZ 90 440.767 null]
->> endobj
-2800 0 obj <<
-/D [2795 0 R /XYZ 90 440.767 null]
->> endobj
-2527 0 obj <<
-/D [2795 0 R /XYZ 491.351 376.058 null]
->> endobj
-2801 0 obj <<
-/D [2795 0 R /XYZ 90 359.331 null]
->> endobj
-2528 0 obj <<
-/D [2795 0 R /XYZ 203.822 272.749 null]
->> endobj
-2802 0 obj <<
-/D [2795 0 R /XYZ 90 256.022 null]
->> endobj
-2529 0 obj <<
-/D [2795 0 R /XYZ 485.373 193.35 null]
->> endobj
-2803 0 obj <<
-/D [2795 0 R /XYZ 90 176.623 null]
->> endobj
-2794 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R /F8 504 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2807 0 obj <<
-/Length 1778      
-/Filter /FlateDecode
->>
-stream
-x��Zmo�6��_�O�
�
_E�+�/ֽ k�Oma(6��%O�����(Q�$Ӗ�5R��D�|�;
�{�>8�i��bt�c��tH���*�8�!A���b���dJ0���	��([E��	��tywmY4�5�̢�����/go����|�x}�#!-�Ds$����Z�U"�'�(�.<:4"L��ix���|2��2M�f�^F��fޘ+�M��dS�31&X[��W��F����Ix�|5z�
�
`����Rjp��
ގ��vh2�C�|�v�,��̋8M�azU]���h����xmeb�Z�6��=��,���;�z2�q�����*��yD"�h-��D0�D#&E0�_Cn����d����zS�f��L���fm��4[Y��p�������
-���˥q��
�kq�vqm�l��������d��`�!�^Ru����z�T
-��d2L�_�&Y4�g��aF	b���i�V�<]��	�;�T��y��Xf������
a`!��ޔi��e��"΋�LY;�4ō1�g�	��1��c�FB6Q��i��PM��
)�9YilB&f�fJ��"͌�-Jܵ��v*u�Dž�&E�3JA�H�$�1��`�
�tW�I�� �E/���(�
�I���j��W��D��W�2��d6Y�!)�v�ƥ�&Hⰻ7v0�z�agJ�7;&dl-�3>�m>�T�9p����
��j�=$�U�f��{��P��K���W�4a)ު܈#�wQ�]
��$��js��$Z��)��艽0�H��;>ƀV�l��L�e��*�
r�jМ!�?&.9F�����X�2G�5�CdF�R���.�qd*����P��
d=͓����
-(��ˎ��/my$
�g��`1>@� 7		��X�
-��S�;x�Q�����ֻ7TH(�M�}��j,
p>�n,����[*���>i�J�ܯj�f�7�&Y ��^ր�Q*)�[Pj@�kA����Jy��!�M����{tS��b�L�l�&���@!>
-(�M�w������A~HH�(��W�)ʝl��i�^��E;a�,u��E�uT 
�&9�Psɲ������R
�T��j�K� 2�!.)���O!B ú�D�O4���ɢE��ú4�45s6���v�8r�-K�R�r�v���	�E=ؼi�x��rKwA�����`�qw�!��1@� .����c���W(lKM�
�L1;�
�wɯUg6�e�0Q�C{K���
��T�x���Sg�>�S[���IrO�
+���S@�Q{�t� ������p�(��!
�F�
��p���Kzy

��,]
���SN��Ұ�%� �gCt[�⻰���.i��c��!nG��v�lǹ��
r�l��q7�
�%���7wÐ5R�r7J�s
nڎ�����8��=��z�1A�Ҏ��X#[̍R�07�[�H�P�TI:�+���xs���
bn;�����+��4;�8�V�!�v7vw��DZ8��Ņ���XܩQ��%'y(��})~‘S���4�GӄvN� [...]
��r_�
-�\�ϮsK��W�nX6\
ݷ�����d�N�`�M�z-����V���&
ag�V�UM�!b���d�٧���eTpk�m���+��X?=;���A�
m�x���8[��g����&
����ݾJ�D���e����o��S�
-endstream
-endobj
-2806 0 obj <<
-/Type /Page
-/Contents 2807 0 R
-/Resources 2805 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2778 0 R
-/Annots [ 2804 0 R ]
->> endobj
-2804 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2808 0 obj <<
-/D [2806 0 R /XYZ 90 757.935 null]
->> endobj
-2530 0 obj <<
-/D [2806 0 R /XYZ 125.554 616.702 null]
->> endobj
-2809 0 obj <<
-/D [2806 0 R /XYZ 90 600.329 null]
->> endobj
-2531 0 obj <<
-/D [2806 0 R /XYZ 438.998 466.543 null]
->> endobj
-2810 0 obj <<
-/D [2806 0 R /XYZ 90 450.17 null]
->> endobj
-2532 0 obj <<
-/D [2806 0 R /XYZ 125.554 239.601 null]
->> endobj
-2811 0 obj <<
-/D [2806 0 R /XYZ 90 223.227 null]
->> endobj
-2533 0 obj <<
-/D [2806 0 R /XYZ 438.998 89.441 null]
->> endobj
-2805 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F65 376 0 R /F95 1788 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2817 0 obj <<
-/Length 1992      
-/Filter /FlateDecode
->>
-stream
-x��Z�۶��B���z<���-(���ڮ
���eI`�lޝP[�$������HɒL˾�V,�L�������#
-G��>y~;�~�H#
�8���4�dL��$�]Fo�� :�"���ӤX'�W3���j�h�E2�>�+�bs������l��U�c�H*3��O_���t����3��&[�Z2ǰ
-����n�������Ԫ�$�b=y�
GK��]��*�ճ��
~Wћɏ<jeǢ5� ��7�2���j
J\�$��Ԉ
-b�瞹=٠"�̈́j�1Y��b,��3M��
����ф�	���H�2�$aHa�̸��[c5O3��,���eZVI6#Ӆ���Ӈ�Mz�~�h?�x����.]QXV�qt�������
��XI&�-r�-6sp�8�	��d����dKXډo�)]�� }�uGo�?�Z�gH��(2��2n&�����"�J�_Zs9}����c�	%���$OqF�L������2 Ċ��M�?��+N���(d�F�ţ�bD�
�#�N�
u��*��_��l�f��" S�n�/�"
;�s����4������B��)p�g��p		��{�E��l+��z
��Q�-F|�g�(FZ2eg�H*���n0/� �QCX;�
j,<pߙjgL0Rb0�r�'[!
�e�dː��n��B��
-A���]�����
R��� W�]�.>�.(0I�ά����#�H�x�]1�ϸ
���ܥ;E��N�������+�iY����� �b�l6E�!]'U�g�����V�:ͪ<���R9�֓JY�jq�����D��J�n���d�f�[�uy��ō>��^�aDD��}�*C�0��!sȮb���gb
Qzҫ��G_;� f��i/�?�z���[���rc5�2K_���C"rv�X���P�tPA�@L��W��V�"��P�O�V��$�q��)��bmղ����
�QH�"M�V�?e-����Q�v���nD,{MϨ
庝)\S
�����QI�����R��}1�!
�<��w,�
����C&q2�����z�$����;�ĸ ��S#�
xd�n5�w<8�� ��:��ׁ�
]N�B��M�7u�CO�аX�O�NC��`$���X¾�j�A��s��)��@���?����<4��u����ov��)�x��
�铉�l��f���f
-����z
-�Ź�\���vYt�+šF�
-1�Hy'$>�=�+C��6��r/锏
l�7VH(�O�S��aJ�:n����
'^��>���l�L���%����A���������d�
��m�eG6����Y�c��E�X��E X���������R�L��o�{������c��]�O�kU
�s祂��g�%��=er�}>0B ����q�S�"�6�������S0�
��_���~"�
-Rv��sv���7q�8HEGX�����bYr�.��r��
��Y����Ӝ����bgxUG��JǗ�r�W���ie�1ۿ�p�e7)��=b��8��x�C���> ���������K�HZ�e�����2��rD ,	9��b�6YՁb���T^
��wu��Ń�La-�O�z����j�[ ܵxi�}en���0ܢB ��W�Q*����Gd��
-=>��r	I�Q�� k���|
p

f �
]
�ٌ�m���{����sq�b'�����!]���i��q���C���|�S�-V�e�`�R�Y��u���ٻ�GK�J  �m��]�a��M�P7�J�J�hԢ����5�����zN
Y���6�}|�{�诲�
��ai�
��
���ʫij	�@C�C���@�"_�Q5���@W��_��I��	��@�A��
E
O�^�
�u�/�Bq��Z��O�)�b���I�m
`wL��e
/@>�-�"���i|�,�9jF��ԩw�j��
-�jss}���ТD�,�(��!'���#�&[!m���륙�z5$������ u
-endstream
-endobj
-2816 0 obj <<
-/Type /Page
-/Contents 2817 0 R
-/Resources 2815 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2778 0 R
-/Annots [ 2812 0 R 2814 0 R ]
->> endobj
-2812 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 138.284 177.053 149.188]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare) >>
->> endobj
-2814 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2818 0 obj <<
-/D [2816 0 R /XYZ 90 757.935 null]
->> endobj
-2819 0 obj <<
-/D [2816 0 R /XYZ 90 733.028 null]
->> endobj
-2548 0 obj <<
-/D [2816 0 R /XYZ 125.554 527.964 null]
->> endobj
-2820 0 obj <<
-/D [2816 0 R /XYZ 90 511.237 null]
->> endobj
-2549 0 obj <<
-/D [2816 0 R /XYZ 438.998 377.451 null]
->> endobj
-2821 0 obj <<
-/D [2816 0 R /XYZ 90 360.724 null]
->> endobj
-906 0 obj <<
-/D [2816 0 R /XYZ 90 262.331 null]
->> endobj
-142 0 obj <<
-/D [2816 0 R /XYZ 90 255.731 null]
->> endobj
-2822 0 obj <<
-/D [2816 0 R /XYZ 90 157.258 null]
->> endobj
-2815 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F13 540 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2836 0 obj <<
-/Length 1532      
-/Filter /FlateDecode
->>
-stream
-x��Xے�8}�W𔅪X���L2�f������ΤR
�m*�u��u�j�3�m�>�,@����O�����׳7�ť�Z
q�������
-|�%��ʺ�	Aԙ��}�lG�.�t�Pl��q+Ve��]r_F�q�|���/�~�e��aL�Μ2l_�QU��X��!�-�X(�
�U���������ˌ�k�"���eV���~��
-0ryh
Ԭ��Q�S���>u���j�&����݃Kj|���:ɳJ���[\2�3F|乡5����;J��

C�1�\��Y�s0N���IW�0��##��G�B����G��Zs�!�yڣ�b
��Z�CHu���
�'�F�V�wޘ9���*7��	srڕɻ<�2��~f
LKg�	ܮ���$o�5	
�����e!�Xo�qD�����3�`�3�ngHQ��5O5���}{T
xR?
��%�K�<�7{w�]��w�p�6s~F�Q6���\�&��쑤���bZu��v�V��=��kt�����)T�g��F�ߏ���q[T�`8��(�����z��mQ�ۤ� V �L3��ۧѸ
�c��cL��Cn@
�v��s�H�̩G��qk0��a�%�R�Q���vJ=.�B%�)�`iP��v����!�ւl��c������C�Y�m�U^�2��Ø�YzA�Ӯ�>�x��Iߓi��J�
�v��;	�a�Չ�nha�����2�	� [...]
h;-�����o;�-����c�1�u
}mޛOU�ĉ�i
���\�!��f
��A�8Nzո��1†��#���Bnv�Z��R�WV�
z 4����p$7ۖC&†F
�0>?5 ��mmZ�zAk�9��-ȶ��a`b%
-����a >l5���`p�0
'�av
-a���Xs̫vQ���ɣ�
�/�(5wss�I�M)`�{�LxD|
a��

8��no��RT��ԓ�CSQzt����]�
 
- }�ը�x��(�x��
ȫSC� 摯	��W*�P5�W���
A��+Q���D�59��׾� 7��%����1Y�r�&;��+=S��\s�:
-f��]|�\�H�	N8��&Q�:�u��6wԔ����'�Ii�.��ȣu��:̶�$J�HNt�b��?�E������<41	��!O}��$�!5�	��q���+Y�_9���4]K_�Y���0
V-g٭L��Z�1
��� �1�hD���Ռ~�����%a�\�Vж���bq8
P\�}�%J� �8Uq=+ph�h�̓]^��
n�T��1�� �?l�
-endstream
-endobj
-2835 0 obj <<
-/Type /Page
-/Contents 2836 0 R
-/Resources 2834 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2778 0 R
-/Annots [ 2813 0 R 2823 0 R 2824 0 R 2825 0 R 2826 0 R 2827 0 R 2828 0 R 2829 0 R 2830 0 R 2831 0 R 2832 0 R 2833 0 R ]
->> endobj
-2813 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 697.621 198.921 708.151]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_67b4e0eba7692bced073431cd3cc22ae) >>
->> endobj
-2823 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 658.393 198.921 669.297]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_5ebec8f5ff32009c4cf98dead90f4a3c) >>
->> endobj
-2824 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.258 658.393 274.188 669.297]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-2825 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 619.539 198.921 630.443]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_f2ec3c62388f9aef1414a527e82cd1a7) >>
->> endobj
-2826 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.258 619.539 311.268 630.443]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
->> endobj
-2827 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 581.058 206.669 591.588]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_97b2101d371edae52746a53cf34e4b67) >>
->> endobj
-2828 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 541.83 163.215 552.734]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_35ea0c10995c89f8a11a2e8bb5dc7f17) >>
->> endobj
-2829 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.552 541.83 275.562 552.734]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
->> endobj
-2830 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 502.976 163.215 513.88]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_6ab41afc79135511037718442fcad4d4) >>
->> endobj
-2831 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.552 502.976 238.482 513.88]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-2832 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 335.293 191.727 346.197]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
->> endobj
-2833 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2837 0 obj <<
-/D [2835 0 R /XYZ 90 757.935 null]
->> endobj
-2838 0 obj <<
-/D [2835 0 R /XYZ 90 716.221 null]
->> endobj
-2839 0 obj <<
-/D [2835 0 R /XYZ 90 716.221 null]
->> endobj
-2840 0 obj <<
-/D [2835 0 R /XYZ 90 677.486 null]
->> endobj
-2841 0 obj <<
-/D [2835 0 R /XYZ 90 638.632 null]
->> endobj
-2842 0 obj <<
-/D [2835 0 R /XYZ 90 599.778 null]
->> endobj
-2843 0 obj <<
-/D [2835 0 R /XYZ 90 522.069 null]
->> endobj
-2844 0 obj <<
-/D [2835 0 R /XYZ 90 465.656 null]
->> endobj
-2845 0 obj <<
-/D [2835 0 R /XYZ 90 321.719 null]
->> endobj
-2846 0 obj <<
-/D [2835 0 R /XYZ 90 299.407 null]
->> endobj
-2847 0 obj <<
-/D [2835 0 R /XYZ 90 299.407 null]
->> endobj
-1421 0 obj <<
-/D [2835 0 R /XYZ 90 115.733 null]
->> endobj
-2834 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F23 340 0 R /F99 2117 0 R /F95 1788 0 R /F8 504 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2869 0 obj <<
-/Length 1653      
-/Filter /FlateDecode
->>
-stream
-x��X�n�F}�W(��@��
��(иM��A][�C���ȵE�"U����썺Q��*A�`sI�ggΞ�]��9��y�b<:{2'AIHCg|�$؉B�8%�8w޹� ��c�^z�i3Ko.=�ݺ|���Io~+&M�<������/�n.D��1�Yډ��z6O�Į�|ʱ{�5����+q+�*��
c��އ���O���#~b�(�x�"Ɲl6z�;9<�`Ē�Y*��P�ҹ
�1�[s��$�S;I���d�I?I9֓d���y9��8�
�0���@M^���x-���bA�mС��.-��nr�՝���U{��ٺ�-ҟ��>����Ԅ䛢��En�"d͒3A̱6�n 
�����D�� �(Ck���Y'��D( L��$�6�\L�"��z#f��\TYW�U��c��P���O�B������8�$�I]��d`sg�x�,T��I��y�9�?��"m�
��C
�j�٧�&�'�|P���j�U$#���0���
(�& ��\�n��(F��F���5�
C�MH VH�Qq�=J���|�#x��� B1���i _қZ����V�M�m�֧�MPF�W�
�~5�=�ۤ5�
ш8~���J�12��Ңf�?�6k��d��H�/"� ���B�+�@	�xވ�P�R��� �0�����x�押��wƛ��g�i�M��:�hUp }9����c$u���\�����
B:����3|�
��V���Գ��3Qu�
-V�IgAGM¯U��*2�ŝ����\�6���VX���=��e�D�R�o��^�8�V-��ۺ*oG�° �8��
]!k����X�%I�j�V���6����������|�nl�0krQ��	��K�+f�RSv�(�4����"�j��Jd�mӦ���50�hu��>P8b�<��� գY�Vw�8T���lI�%y�E�����p`�0K�Pb�+ �ͽ\,iy#:(�O�i�2W`������[F��� ��Ұ��'���
-K�M�`_��ѝ@u�)
���n���ڋ��!�.E:){�ܜ�aѵ@_t'`:v�-�H�ͺ}�v6��*�}�	��
�	�Md����=9�I���C��r8��J���p"ۯ�H/��FG�E�b��~Bz���+r71P'�W�ⱎ��ND�
$�"K�����ش��Qszz��d�9��`����m�j�g�f
tZ ΩQ���
Mu��D2�J
��h������#;
��j�v�*m����G\݀��u�uQ����Q�KY�e�պ}�6q�y��[�t�۶�I���O���
��,
�q��"%.z|����1���PX#Di���5�	}
�z��@>�	�_(�C�i:�j�\�u���
-��&Ls�,�[�
Z�-9�6 at gȣ�Ұ������N�������YY�am}�4�� ���;�{!����]`8�
]{]0.>*
-8J
��3jQ�q�'
-$<N�#4!9�&��4�
�	��! ���ssu^"BO�����ap��#��W'��
�[s
�o�lE����co�ja()�J4m�䇲(�3���
=���
�:R�\�K��b�����gg��e-ZTżAEw��ݽ�
-,�U�֟���o�	��t���d�?Y
-endstream
-endobj
-2868 0 obj <<
-/Type /Page
-/Contents 2869 0 R
-/Resources 2867 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2877 0 R
-/Annots [ 2848 0 R 2849 0 R 2850 0 R 2851 0 R 2852 0 R 2853 0 R 2854 0 R 2855 0 R 2856 0 R 2857 0 R 2858 0 R 2859 0 R 2860 0 R 2861 0 R 2862 0 R 2863 0 R 2866 0 R ]
->> endobj
-2848 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 609.131 175.937 620.035]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare_98c515b16e12424b273eaff073b31f3b) >>
->> endobj
-2849 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.274 609.131 288.285 620.035]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
->> endobj
-2850 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.018 609.131 415.028 620.035]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
->> endobj
-2851 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.367 322.866 219.683 333.77]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_cbf26ad2a67dbfbd24eb9c89448a793b) >>
->> endobj
-2852 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [166.762 242.104 216.096 253.007]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_9e6044d3d1b8cd66b7e150763a0cce2a) >>
->> endobj
-2853 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.912 242.104 255.099 253.007]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-2854 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 203.623 182.144 214.153]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_d02ce2da26b1d9dcd0d45042b9f5c3e5) >>
->> endobj
-2855 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.959 203.623 221.147 214.153]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-2856 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 164.395 205.586 175.299]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_1d8eb71bd67ae50436968e7323bbeb7e) >>
->> endobj
-2857 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.402 164.395 275.045 175.299]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-2858 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.896 164.395 389.913 175.299]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-2859 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [408.125 164.395 454.141 175.299]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-2860 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 114.582 205.835 125.486]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a7961325727c376428ef2f9431e0c204) >>
->> endobj
-2861 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.651 114.582 275.294 125.486]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-2862 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.145 114.582 390.162 125.486]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-2863 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [408.374 114.582 454.391 125.486]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-2866 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2870 0 obj <<
-/D [2868 0 R /XYZ 90 757.935 null]
->> endobj
-146 0 obj <<
-/D [2868 0 R /XYZ 90 733.028 null]
->> endobj
-2871 0 obj <<
-/D [2868 0 R /XYZ 90 628.105 null]
->> endobj
-2872 0 obj <<
-/D [2868 0 R /XYZ 90 628.105 null]
->> endobj
-2873 0 obj <<
-/D [2868 0 R /XYZ 90 571.811 null]
->> endobj
-480 0 obj <<
-/D [2868 0 R /XYZ 90 446.913 null]
->> endobj
-150 0 obj <<
-/D [2868 0 R /XYZ 90 440.312 null]
->> endobj
-2874 0 obj <<
-/D [2868 0 R /XYZ 90 339.937 null]
->> endobj
-2875 0 obj <<
-/D [2868 0 R /XYZ 90 339.937 null]
->> endobj
-2876 0 obj <<
-/D [2868 0 R /XYZ 90 261.077 null]
->> endobj
-2867 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F11 418 0 R /F72 471 0 R /F21 2111 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2918 0 obj <<
-/Length 1648      
-/Filter /FlateDecode
->>
-stream
-x��Zms�8��_��
��e	��L{3m�v��K.q{�i;
���Լ
�$�_+$��؉}I�-���>���b�M4���
��o����e�F��5�D
����w�d�c���	��,򽓾��d:�����>�癟�^'7����÷�,H$�!�,x^)�\�z(�Ȩ
��vH1`	����F��V+�~������:�ҩ_py�_�O
���r	uࠦ�;����5RZ���6�D��?�6���5�L�Ѯ�U�f&\��Y��
V�]w--NqKo�,��lq �H�-�i�
}��R��]O�>���a�E�q���G�o&�myk������~�xI���چ��Y `����ehb!�r�QNy1�b��//�Դ��\,<P��Ԫ�9�?06�0�H�]w�iĢ�$��
V��/��*
1��ZS\��\��<�Ծ�:��
�߀�����
b?~Q�Q�/{�E���^�u,dg�����c+`��N���0����Ppҭ�VH�MӬoQ=�	#�X��
d�r��qlE����[`n��AL`澑e2\cWh#
%����>^1O�ݐ-�Ÿzjo{��?j�-.�)5Q���0�W�V
�z�T^}�4�
�|���&��1�� ��v7��(X7��'���@G~�
�>�mě8p��0*�x��]����
-ܫ�	��5`�y��x�������"�0�	kk����� �Y�a?��q������Ǭo�:O�%�q�:�kgX��u�E�O�

��B[�9
-�}U ��{��Ø6b
K�7���0q\d�ʻ�B9͠ux�{�U=�r�i�'tLd�A��0.:g��0�k�֒2�v�$�_$J��,*o"��N^��x X�4�a��{�a����QZ�7:�na}��r�\~ϓ�:��

$��RjB��\UhT��e%���!�T��l��8�)� �Յ�
�P���@e>
 �\��*��I
���ٵ��. V�
�v�4Y�_��qƈ�t[n�F�] ��_��wyp�Ω��,��U�K�|�3�)њ�X���\�K�0
����������V.F��
p1E__���ݱ���J�%�*�g+~Q��
-��S
�b�R�|���j[l�?K�[Z���v1O��d��g�>a�q�a�SI��b��Yp������O߼��O>
�}<���j|��
�q��t>�8�B�@��d#��Dl6���T
����ڬ3l��ܥ}KC�i
D��~��>�f^=�o	�12��ܾ��� !ȥ*�ܯ?-�_`�]5���KGn��p��W+��r��\�N���[S��;Ϯ��^q��T-��׾��ι�2�mq19�Y�<�]�\jG"���pLC��f�͓�*��=���b\H
��q��}L�!Ӯa
-��.�yCwwh!�'�-!{�a�y0��q��:	4�����D3 
D��
�������6a|�dI�	��SN9Ƌ����X�Q� �*0&��k�9˯�l���o«7�
� �k���"JU8��C���"e����O����(7��FK��ϪI� �J��Y^��D�����C��c�'��U����k�%��L\�ˢH����k��z�����t�J��@g�$ʋ��GIV�s᦬�+����
n
-endstream
-endobj
-2917 0 obj <<
-/Type /Page
-/Contents 2918 0 R
-/Resources 2916 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2877 0 R
-/Annots [ 2864 0 R 2865 0 R 2882 0 R 2883 0 R 2884 0 R 2885 0 R 2886 0 R 2887 0 R 2888 0 R 2889 0 R 2890 0 R 2891 0 R 2892 0 R 2893 0 R 2894 0 R 2895 0 R 2896 0 R 2897 0 R 2898 0 R 2899 0 R 2900 0 R 2901 0 R 2902 0 R 2903 0 R 2904 0 R 2905 0 R 2906 0 R 2907 0 R 2908 0 R 2909 0 R 2910 0 R 2911 0 R 2915 0 R ]
->> endobj
-2864 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 707.055 191.737 717.959]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-2865 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.236 707.055 237.396 717.959]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_b76731fc33f60619d339fd146af90e7f) >>
->> endobj
-2882 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 668.389 191.737 679.293]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-2883 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.236 668.389 284.996 679.293]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ac61a0c0f3a687ef1d79d9014238554c) >>
->> endobj
-2884 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 629.724 198.363 640.628]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-2885 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.861 629.724 250.646 640.628]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_319084c6ac93db482a8742a58e2e01f3) >>
->> endobj
-2886 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 591.058 198.363 601.962]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-2887 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.861 591.058 298.247 601.962]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_5f1ce9b2af5f6ba550cd9080ff83077c) >>
->> endobj
-2888 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 552.392 191.718 563.296]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-2889 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 552.392 288.852 563.296]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_e627d4ce07125a5bf6dbe4c4464bfacf) >>
->> endobj
-2890 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 513.726 191.718 524.63]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-2891 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 513.726 303.079 524.63]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_dcd50fc4fa1b8e5533d7af0513d1a833) >>
->> endobj
-2892 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 475.061 181.845 485.965]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_818b1050a44c6fb4d635a6fc088eeeca) >>
->> endobj
-2893 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 436.395 181.845 447.299]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_84d340c4e2a8a35e81d0fb91ff2c466e) >>
->> endobj
-2894 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 397.729 154.727 408.633]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_c72c231542712976d1f9223d0537f5d5) >>
->> endobj
-2895 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 359.063 176.864 369.967]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_beb3e0b3cafb96de2ab53e985c574bb7) >>
->> endobj
-2896 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 284.504 143.695 295.408]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_b4b097033191e38bbb59add2ebba3e70) >>
->> endobj
-2897 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.511 284.504 213.154 295.408]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-2898 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.317 284.504 382.706 295.408]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g616fcdc7600a3a11a8a9152e75730899) >>
->> endobj
-2899 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 249.823 143.695 260.727]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_cddbfcdd0e7dd70c2258493ef67d0911) >>
->> endobj
-2900 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.032 249.823 189.632 260.727]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-2901 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.196 249.823 282.662 260.727]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-2902 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 203.188 143.695 214.092]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_91546e88fe3474f55bc6f0eceffa7251) >>
->> endobj
-2903 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.032 203.188 189.632 214.092]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-2904 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [271.939 203.188 347.405 214.092]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-2905 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 168.507 143.695 179.411]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_3f2210364b954a8d532905d09bcb7149) >>
->> endobj
-2906 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.032 168.507 248.859 179.411]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-2907 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 133.826 143.695 144.73]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_7fff251a8cd2ecd8b928175af94d7069) >>
->> endobj
-2908 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.032 133.826 248.859 144.73]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-2909 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.388 133.826 330.333 144.73]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-2910 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 99.146 143.695 110.049]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_7ded037fa4c26b2e12565d3aa2c6b70b) >>
->> endobj
-2911 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.032 99.146 247.176 110.049]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-2915 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2919 0 obj <<
-/D [2917 0 R /XYZ 90 757.935 null]
->> endobj
-2920 0 obj <<
-/D [2917 0 R /XYZ 90 726.054 null]
->> endobj
-2921 0 obj <<
-/D [2917 0 R /XYZ 90 687.388 null]
->> endobj
-2922 0 obj <<
-/D [2917 0 R /XYZ 90 648.723 null]
->> endobj
-2923 0 obj <<
-/D [2917 0 R /XYZ 90 610.057 null]
->> endobj
-2924 0 obj <<
-/D [2917 0 R /XYZ 90 571.391 null]
->> endobj
-2925 0 obj <<
-/D [2917 0 R /XYZ 90 532.725 null]
->> endobj
-2926 0 obj <<
-/D [2917 0 R /XYZ 90 494.06 null]
->> endobj
-2927 0 obj <<
-/D [2917 0 R /XYZ 90 455.394 null]
->> endobj
-2928 0 obj <<
-/D [2917 0 R /XYZ 90 416.728 null]
->> endobj
-2929 0 obj <<
-/D [2917 0 R /XYZ 90 378.062 null]
->> endobj
-2916 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F99 2117 0 R /F65 376 0 R /F98 2120 0 R /F35 2018 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2975 0 obj <<
-/Length 1810      
-/Filter /FlateDecode
->>
-stream
-x��Z]s�F}ׯ�ɕf���²l�t&��S;vm��L��`���J@Yѿ�]X�@��Q�L��a��=�܏]�������q�u��6
��Mm�wglp� F��ۄ ��%��U�����U��v8���A�����؍g/^
�_:�{���`��6b���
�����`D�g�?�P��1��0b�b�둛$�.e���ږ�h�2�r-�d�!N[
\�9ਥ����Z������`
q�޸��36p����)
c��5�82nZ���Fv�1C���y�l��	E���?Qʲ�̟W�zbק-�c�+�r \V.~�
{a���f��jة
d�aܿ�%�
7�:&��\K�CX{�d�,�&i���d<���Hͯ�x�S�P@)�n�l�]�D0-��?hN��p
�g'q��m��
�`�_J�5�I�Yv
��ǡҲ�]�[���O����D'�v�BVC=�2YP
/G�F��nV��R�v8�$����a<Q1��}o�,� ' 5�;���F�3�9
E��,�)đi(d��8ʑe�Z��X�4:b:�d�e��
�9�d�@��&r8��`L�2g`y�԰��ͽ�H��QL��_,#��%���Bc!��*IJ�r���`�L�Pr��R�?���Ҁ�W����
�	nxyq���U� �$z����ˋ��7��>l��M���S#P��~���On�
�Y%� RS�SH�ǥ<(�ȤΆ����"Kl��,G�/��
��;�"��Wbm,Au�|m,�	�ZL�FI�A�k����Iy�e0A[F����
L࿫z��#�wD�#̦�#
�\a�c{
-�
*�����˂0h,����
-�Y%9��z���;��v�+ُ��
��s��[&b��F�+�H�ؤ��̅g��4�O�v='<#�C��Ru��9���l 
���wXBOH~<�0Uo�57���,��]��Z�q�eS�%�o�qX�
��+�8���hֿ���'��8��tm9V+�
���%�' "�3 ,?�
-t*�9�J���݃A�&
�n��.u0b�Y-�{��{��QA���@Ɨ���邸z�
-
��v� ���KP��L}�>φQ����+���7ᄃc"ai�{g 4�e�v��{3�4s* ��V�-�J.>al6pj!�s߽ߴ��&pZVh7hL�
B�
3k������h�j/>x��a��3n�ߎ�p��o
��ZCA�@��,"-��l��,�+�M���n�J!+�޳0x���ԍ��)Cd��NlO��q�o'�W((r�&�-�I�^�sb+[�N� �B!/
-�
�J
�o'����"��:�O���>�.7��`ԔW/&�
�hK(��O��LC���~��P��(aI�����$�CW����]��^�R���2�Fa�j鲀����>$L#�\�P�!��Ǟ�O��C��OOk�_mbD�2�|+
�6ۿk�:d,�^5}�FX]����Az��O��/��-YM�k�PA
ME]�
|��N;
���:6�ȶ��ݷa8Z���3���*�UV�2�'r�LtRRE,�+(��F�Z
9t�%�kQs�5Ʈ
r��I�H�$�U�yPM�����G� ����+���0
-G����]U����_�tj���Q���;��m"ӭ[$���V��O�X��)����:2��c
F���N����3��3	n:��*�!f�6>��Xk���D�������#��O
��ڡ
7�?6)	��l��1�h�|�7��O���Fq�[+�y>_�pd���O�����t:E^� �F1�ӣ(
-/��
���]U�0���\
�jX���
�5�
-endstream
-endobj
-2974 0 obj <<
-/Type /Page
-/Contents 2975 0 R
-/Resources 2973 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2877 0 R
-/Annots [ 2912 0 R 2913 0 R 2914 0 R 2936 0 R 2937 0 R 2938 0 R 2939 0 R 2940 0 R 2941 0 R 2942 0 R 2943 0 R 2944 0 R 2945 0 R 2946 0 R 2947 0 R 2948 0 R 2949 0 R 2950 0 R 2951 0 R 2952 0 R 2953 0 R 2954 0 R 2955 0 R 2956 0 R 2957 0 R 2958 0 R 2959 0 R 2960 0 R 2961 0 R 2962 0 R 2963 0 R 2964 0 R 2965 0 R 2966 0 R 2967 0 R 2968 0 R 2969 0 R 2972 0 R ]
->> endobj
-2912 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 708.953 143.695 719.857]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_9de293fc5ed59d0122ccd78839b1a668) >>
->> endobj
-2913 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.032 708.953 247.176 719.857]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-2914 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.263 708.953 329.207 719.857]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-2936 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 674.084 143.695 684.988]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_04732c1c89db2f6d76b3b9479ec2fb99) >>
->> endobj
-2937 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.032 674.084 255.485 684.988]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-2938 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 663.125 143.695 674.029]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ddca3baab772ce17fb5133b0c4e60c33) >>
->> endobj
-2939 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.032 663.125 255.485 674.029]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-2940 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.995 663.125 341.94 674.029]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-2941 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 640.211 143.695 651.115]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_7e3ffa1dd9894e6418bd153a4cd2de12) >>
->> endobj
-2942 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.829 640.211 227.989 651.115]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2943 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [306.685 640.211 382.151 651.115]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-2944 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 581.432 143.695 592.336]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_db355a57fc1949b2ef9627d45be5f9bc) >>
->> endobj
-2945 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.809 581.432 248.077 592.336]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-2946 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [310.195 581.432 385.661 592.336]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-2947 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 534.607 143.695 545.511]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_f623edfed6d4816ac5573f42a6a1e801) >>
->> endobj
-2948 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.032 534.607 218.962 545.511]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-2949 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.155 534.607 317.621 545.511]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-2950 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 499.738 143.695 510.642]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_5c02cdac1cee4eda75e568ef9f550da9) >>
->> endobj
-2951 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.032 499.738 191.286 510.642]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-2952 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.479 499.738 289.945 510.642]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-2953 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 452.914 143.695 463.817]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_2f516cd923f94296daf57c8ace328af9) >>
->> endobj
-2954 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.365 452.914 298.786 463.817]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-2955 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.53 452.914 513.996 463.817]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-2956 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 406.089 143.695 416.993]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-2957 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.435 406.089 195.241 416.993]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_c8a2f81fc1c5b99600d406300792119f) >>
->> endobj
-2958 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.578 406.089 241.178 416.993]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-2959 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 369.227 167.466 380.131]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_df00a3a6522cd0b27a52ba3e2ab5c8ab) >>
->> endobj
-2960 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.281 369.227 189.881 380.131]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-2961 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 295.812 190.738 306.716]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-2962 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.236 295.812 261.85 306.716]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_286412c3f05e82abdf69c5e5562ff949) >>
->> endobj
-2963 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 258.95 190.738 269.854]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-2964 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.236 258.95 262.159 269.854]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_7e1a00f36570e89ee95817d898587743) >>
->> endobj
-2965 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.225 245.326 390.082 255.231]
-/Subtype /Link
-/A << /S /GoTo /D (main_Affine_Independence_and_Affine_Dimension) >>
->> endobj
-2966 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 222.089 183.824 232.993]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_c86971c152fbb8d2d486d7396ad6b142) >>
->> endobj
-2967 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 185.6 192.272 196.131]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_901382835b88fb9969d88eea101ae7cf) >>
->> endobj
-2968 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 148.365 241.935 159.269]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_339a341a2f7d60de83e4feb3e8986558) >>
->> endobj
-2969 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 111.877 189.901 122.407]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_70638e55ff0529f6f481db703645be05) >>
->> endobj
-2972 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2976 0 obj <<
-/D [2974 0 R /XYZ 90 757.935 null]
->> endobj
-2977 0 obj <<
-/D [2974 0 R /XYZ 90 423.19 null]
->> endobj
-2978 0 obj <<
-/D [2974 0 R /XYZ 90 386.328 null]
->> endobj
-2979 0 obj <<
-/D [2974 0 R /XYZ 90 310.891 null]
->> endobj
-2980 0 obj <<
-/D [2974 0 R /XYZ 90 276.051 null]
->> endobj
-2981 0 obj <<
-/D [2974 0 R /XYZ 90 239.189 null]
->> endobj
-2982 0 obj <<
-/D [2974 0 R /XYZ 90 202.328 null]
->> endobj
-2983 0 obj <<
-/D [2974 0 R /XYZ 90 165.466 null]
->> endobj
-2984 0 obj <<
-/D [2974 0 R /XYZ 90 128.604 null]
->> endobj
-2973 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F35 2018 0 R /F99 2117 0 R /F97 2175 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3038 0 obj <<
-/Length 1692      
-/Filter /FlateDecode
->>
-stream
-x��Z�r�6��+�J�
@��L��d�L�t�:j6IFCK�Ė��,�_�
��(��h��S��� 888 �����w�W���mj
�ljké�aͱ	b�hÉ�E'YF�`��K�`�O#tiP�'�ݜOR�1�N�����Wɭ�m�~𖐚Ebۈ���VE6��hU����+���/{��^Y�u�g�ѧ
�Cã:���s��OyjW��
y���P&���
{������`rL���ޗoX����F��j+Y*�,j�o�}����Efq=�
��$���CM�m���J�r_�Ӿ���:I�⹈'��]��-A6�N��O�닷_1��GT��I������[�j.�
%�M�m�OL�Y�
-���4Ί̳Zi#b�e��t�U�M�&`�����ȏ'�"��;u�dmϫն
����W�͆8,dc�
-c
d�¨�(⫟2���-jL�:e��'�P�և�y�zh�B_�~g� ���x:Z$p�X��>�~.sYĒ�ߐ�Y^FU0�L�����:��Pf�����lž��[_�lB���:�M�o
���C��d�i೉�
���i��"�%��2,�d�� n�(̎�˺�(L�����/
-Ʉ�	.��ك�F<	�]��=z�ģ+�b��ǫ�|�E��*����XG�
;�K87rًq�P���y1�S�t�!ŻyN�xV?�W�7�<1:^��wڰS��
-�U�h���2ךj���OĖM��@a���ak�"�]#�fy�ehˁ#�X��x�D��6��Z��h߇@�
*h�g��y�6"�
,%�b�����6qوV~f
�A�YG��Zs��@6��I4�Ѧ�? AA[�����"�Y�
�IR�C���8�긋�a96M
��ITx�ʕ�i
��
Ћ͐S� X
i'򚇉��3�
��/VG��O�` ,R�7���#�6��w��$^�	G�'
-U�k�M���!	���-��l��-�6�<eira�eƠ�,�3�,�bk�L�2:a 
�l��Ȕ;�G��� �.�W��3.b�f{�
F�|�I�.x���֡5��0a�Gr���H���H�jӊ�o4��5��G�pi
�2��<
�K���`�G����J���R`�I%o�ɍ.�Y���˜O�I ��	���{�N6臞��L?�~���i~mW]]��\�kh
a
�mr]mʘ���
�

-g~��!\����	zT����
=����d�ڒ�E�����A2li�*K�
E��d(��p5ՊΈۆ��M:ût������3s�ip��}t	�Z�َ��t�^
�2{�Ce� �YG�T
���*�L
'�Ӫ(r��3�B;'�'��k�QO�K<�A���6}u��������h����38PCvN�44
-R at +kw�~�!
FN7�\��i0�û�
"�|AT����[�a	�8��@�h���7� M��/A��C�# ��ߤ�&Ad{�|ĉܵ��
W��=yʱ�XW<������������S���ð3Y���*+
�8�6�x�
��ʞly
�<�m#�fR�Ƅ��
K�w)K�Q��.�c�F�V��W7f<��`L/��͏�~�&u<!��8��#*0���I����kEղ����CO&|
/qA�����<�/��j��Z��"EA>X,��FڶZM`��TF�Iq�6J�J���H
k���ZD��
-endstream
-endobj
-3037 0 obj <<
-/Type /Page
-/Contents 3038 0 R
-/Resources 3036 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2877 0 R
-/Annots [ 2970 0 R 2971 0 R 2993 0 R 2994 0 R 2995 0 R 2996 0 R 2997 0 R 2998 0 R 2999 0 R 3000 0 R 3001 0 R 3002 0 R 3003 0 R 3004 0 R 3005 0 R 3006 0 R 3007 0 R 3008 0 R 3009 0 R 3010 0 R 3011 0 R 3012 0 R 3013 0 R 3014 0 R 3015 0 R 3016 0 R 3017 0 R 3018 0 R 3019 0 R 3020 0 R 3021 0 R 3022 0 R 3023 0 R 3024 0 R 3025 0 R 3026 0 R 3027 0 R 3028 0 R 3029 0 R 3030 0 R 3031 0 R 3032 0 R 3035 0 R ]
->> endobj
-2970 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 720.286 193.229 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_bd6b88d6fd6e0259faa544106b08aeaa) >>
->> endobj
-2971 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 683.05 238.459 693.954]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_055f3030915a1b7de0cc50761d9a3245) >>
->> endobj
-2993 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 646.562 187.689 657.093]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_573ac186b0da77408bcb80531ca0090c) >>
->> endobj
-2994 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.505 646.562 226.693 657.093]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-2995 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 611.319 205.692 622.223]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-2996 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.19 611.319 261.312 622.223]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_8e45baf04a16a09cfa25bac864515832) >>
->> endobj
-2997 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.65 611.319 332.156 622.223]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-2998 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 576.45 205.692 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-2999 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.19 576.45 261.312 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_3c8e578089e8420dc286b27411fde2fd) >>
->> endobj
-3000 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.65 576.45 338.781 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-3001 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 541.581 205.682 552.485]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-3002 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.18 541.581 261.302 552.485]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_36e39f75a5b973533a044d606444db4f) >>
->> endobj
-3003 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.64 541.581 330.462 552.485]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-3004 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 506.712 228.895 517.616]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ce7b6bb6c1aabdf57f1643e88a834aac) >>
->> endobj
-3005 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.232 506.712 333.482 517.616]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3006 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 471.843 229.503 482.746]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_bb6e0e38bda55fc988819da21f2689eb) >>
->> endobj
-3007 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.84 471.843 334.089 482.746]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3008 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.98 436.973 187.264 447.877]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_40ab06947d065a171792da1ce6ed2505) >>
->> endobj
-3009 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.963 436.973 293.213 447.877]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3010 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.131 436.973 371.148 447.877]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-3011 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.711 436.973 455.727 447.877]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-3012 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.98 379.19 187.264 390.094]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_90cc17398be6745eb507339397381d7a) >>
->> endobj
-3013 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.963 379.19 293.213 390.094]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3014 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.131 379.19 371.148 390.094]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-3015 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.711 379.19 455.727 390.094]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-3016 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.235 367.235 220.058 378.139]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-3017 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.717 321.407 186.348 332.311]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_1039be5680ea8eceb903367e1e7aa13f) >>
->> endobj
-3018 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.523 321.407 293.772 332.311]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3019 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.35 321.407 373.367 332.311]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-3020 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.82 321.407 456.837 332.311]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-3021 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.717 263.623 186.348 274.527]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_9ffb692c7f3bd8af9b81135e38b38dd7) >>
->> endobj
-3022 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.523 263.623 293.772 274.527]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3023 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.35 263.623 373.367 274.527]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-3024 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.82 263.623 456.837 274.527]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-3025 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.581 251.668 218.404 262.572]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-3026 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 206.214 180.496 216.744]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_84a324ad469ad76c235789823cf4e0f4) >>
->> endobj
-3027 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.834 206.214 226.434 216.744]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3028 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 170.971 213.153 181.875]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_94dd083371c61a3f54521caed75e2820) >>
->> endobj
-3029 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.49 170.971 259.091 181.875]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3030 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 136.102 213.163 147.005]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_2ebf93b52454102cd99eaa211ad6ff71) >>
->> endobj
-3031 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.501 136.102 259.101 147.005]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3032 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 101.606 161.677 112.136]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_2f964d43c2798bde1924e82d88971ea2) >>
->> endobj
-3035 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3039 0 obj <<
-/D [3037 0 R /XYZ 90 757.935 null]
->> endobj
-3040 0 obj <<
-/D [3037 0 R /XYZ 90 733.028 null]
->> endobj
-3041 0 obj <<
-/D [3037 0 R /XYZ 90 700.151 null]
->> endobj
-3042 0 obj <<
-/D [3037 0 R /XYZ 90 118.333 null]
->> endobj
-3036 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2117 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3095 0 obj <<
-/Length 1565      
-/Filter /FlateDecode
->>
-stream
-x��[o�6���+��I�L�IQ�0`�a�d�ח�0d�q�ْ*�I��w��/�'Qg�K$�
yx��
/ؘ��u�n<��p�+�0���
G�)1Ɓqn��5$c��"��҅79�(6���R�7�#��^�z��]���2�0:!d�E"�AE�?�U�:%Ѧ�o�O-�P���:?�i�v���^�YCʱ9�\j�E2�rU�|T*��4U�C�K���
-������@3� �6��
��bp��00�]i\��6<�����4{���	f�8�!\����a�%���?�
ea
�⟖�gz
ؼ
-�YY��ZL��x?YF~�Q� ��򪒷�^� �X�?W����st��6b�R�\"K	?Sʷ��8r��`$
�ߴ6�Y�֏E-ݟ��S/���vt�Ϙ�FwC�;y�C3d��
jH! �9�H0b
	E.��
-�J�^���R\|Q���-��Z�]�Ѯk#���N���ճ�m*����d�,W��N+�ci(�>\w�bc$�ת�i��ʐ����2�Z�8i�
��vDC*	”V
9�s�����y+OY?@5��:�a�2;�!Λ)��&���	K���k��R�k]���:��->.O䕧���c�.�t�A����7��'��١.�<�L�s��lB�5|e��2������ݶNwD!� ڀ��ڨ����ńQ���Q���I�Ǚ�ž�V�rP�� ��@��
-D��2+	*e�i�n�����P�
-�уӋ�I�H�&�a~y�+�*8������eV��$w��J-�1+��iCj�Xx�=���@8G��4
�:�@,:�^���O��qlH���"r��,�@c���-ڝ.�X��P���;��p�ik����F4i���E"��>�E�Ɖ7��
��5�87/�t�B7I-�MP��͟yy��Gm�$X��J
�)r`x���k
-�t�Q���F�#�%(A=���~��dBL/
��51@��C���x�,s
pl�.��;
]�_��(HC
D��?�ȥk�mSL�1�����_��_J_Ʒ,Q~^
'.��>�ԯ�
��˖�3HHdؕ��Y=7}�rfzYΊ�䢏��6Z�����ːJ��p�|�=g&!?�Ol��-S�&g�=���d�&]������6��ơ��c
��a
1�m��-���jۨGUd*�j˂�jtQc5Y��8
2��6�

uE��;NŶ[�ؚ��! Җ6V�/�ml+�m��ޭ<�%|��
���z�t����L�+&��
`d�7.j�Z=h����k�ՖH�>�fk���БNA*=5��7%�թ�E�'KQ�z,����Y�����
-@��Z&�J'�x�F9Ҳ�7��T9�)��ΐspu7]�2�Ƒ0�(�/��i�8�ߕ�Ix1Qz����'s�r������Wܹ
��q@��mG�B|`�r�5$���*]T�ӧ�]���X~�0�������u�қ[���tS/� �ň�!HP�E��:�)G��Q��>(pY�
�2��p^�y�v4���F~���$Ea>J����-��VC�͢r�����E�L�]��
�6
-endstream
-endobj
-3094 0 obj <<
-/Type /Page
-/Contents 3095 0 R
-/Resources 3093 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2877 0 R
-/Annots [ 3033 0 R 3034 0 R 3056 0 R 3057 0 R 3058 0 R 3059 0 R 3060 0 R 3061 0 R 3062 0 R 3063 0 R 3064 0 R 3065 0 R 3066 0 R 3067 0 R 3068 0 R 3069 0 R 3070 0 R 3071 0 R 3072 0 R 3073 0 R 3074 0 R 3075 0 R 3076 0 R 3077 0 R 3078 0 R 3079 0 R 3080 0 R 3081 0 R 3082 0 R 3083 0 R 3084 0 R 3085 0 R 3086 0 R 3087 0 R 3088 0 R 3089 0 R 3092 0 R ]
->> endobj
-3033 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 671.777 205.752 682.308]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_c5eb33b72a86a33d7ae4685d376b50a6) >>
->> endobj
-3034 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.089 671.777 276.595 682.308]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-3056 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 636.534 209.627 647.438]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_acf7b2a7e0bb5007ce8cd9506d06137d) >>
->> endobj
-3057 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.964 636.534 314.791 647.438]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-3058 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 601.665 248.202 612.569]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a366a38561684a64bc0a042702534a07) >>
->> endobj
-3059 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.018 601.665 329.845 612.569]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-3060 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 566.796 212.377 577.7]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_b85f80c281c840eedb4f228757b8515a) >>
->> endobj
-3061 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.714 566.796 289.846 577.7]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-3062 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 531.927 216.252 542.831]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_92ef9a99d160f55e3fc44a4bd1ae78f2) >>
->> endobj
-3063 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.59 531.927 328.042 542.831]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-3064 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 497.058 254.827 507.961]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_736577ec65f40b0637f13486e64f051a) >>
->> endobj
-3065 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.643 497.058 343.096 507.961]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-3066 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 462.562 236.745 473.092]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_e862a635387c2458da51889c20465f0c) >>
->> endobj
-3067 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.082 462.562 307.588 473.092]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-3068 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 427.319 240.62 438.223]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_6d2f7819b7359865679b24e683231303) >>
->> endobj
-3069 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.957 427.319 345.785 438.223]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-3070 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 392.45 243.37 403.354]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_944e2c41213d3ea40e74930a90de97bf) >>
->> endobj
-3071 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.708 392.45 320.839 403.354]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-3072 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 357.581 247.246 368.484]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_22f9ceb879f1c8d892f60fb3d9577d81) >>
->> endobj
-3073 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.583 357.581 359.035 368.484]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-3074 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 322.711 230.598 333.615]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_685232ed211cce61f5d27727d979df94) >>
->> endobj
-3075 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.935 322.711 301.442 333.615]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-3076 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 287.842 234.474 298.746]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a18b052380a4cbb9db236d690f932eda) >>
->> endobj
-3077 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.811 287.842 339.638 298.746]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-3078 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 253.346 193.577 263.877]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_87e906459b095e23114ee8f0025086cb) >>
->> endobj
-3079 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.393 253.346 232.581 263.877]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3080 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.059 240.345 248.845 250.25]
-/Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-3081 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 207.518 193.577 218.049]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_4b050985a103d89eaa5627c16f4f4257) >>
->> endobj
-3082 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.915 207.518 277.691 218.049]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-3083 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.892 194.516 252.677 204.422]
-/Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-3084 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 161.317 223.465 172.22]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_3daaa36a6bf749e0b4d66ce57878e2d0) >>
->> endobj
-3085 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.802 161.317 269.402 172.22]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3086 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 126.447 229.552 137.351]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_e70fafb10013762e436a434564d7e931) >>
->> endobj
-3087 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.89 126.447 275.49 137.351]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3088 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 91.578 266.673 102.482]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_d9dba7a094763a47be44e246c1120fa7) >>
->> endobj
-3089 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.01 91.578 312.61 102.482]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3092 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3096 0 obj <<
-/D [3094 0 R /XYZ 90 757.935 null]
->> endobj
-3093 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2117 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3165 0 obj <<
-/Length 2752      
-/Filter /FlateDecode
->>
-stream
-x��[mo����_�O�����ܠ-�;\�^�@���%9�L�D%Q�(;���rI���M�ˢ��3���33K��ÄN�|�����-&�X����~b��hFg���ɇ)cD��R:};ct��p�v��4Y�<Fwi��9�M������O�_o~�~�ؑD�5QZ�|N���!�I%�
�_�pB�1l"l1�U����\�����i�ޮ�,ʯ���tƂi�Y�%�T �z���տ���漡
1BM�����
\�iB����ٍZO$𹚼������:O>	@_p�+Aa��pA�V��{���
QU+���Tu�n���.������H��$P�p�GJ���:$��A1&{�w���f\&Y1(�IO�0M(��Ǽ4H	��x��a�|
-��w���bg�A��h��&�ffI����� 3�3�9ff�>��WaJ:fe��q��i�
-q7}�wQ�dh31JO`��l.�>\�g�'�Bh�J\@�E��E���\1bJ����#�"d�a� 
-�
 �w�7�*��3��(��.��q5����l��m]
�H]&�]�-��K��W/p?k���2N4�6g��s����k
8�@���`q5;
�`�^(BD¥s������䰩.���.-�����k�+"J��
6f-��h���v�$����� ����b��7
�%�z�����-�T=�n�:Kt�F����
Ƃ*�(���<wQ��D
��0���a'���#�q�>̎eH��8{����F��� 6i�D)b��	hc=�� %7�
	�/��
�T�t���\F�Z�!6
�
-��!�SL�v`,�B~գ�8��L�3�b�C�b?�+a���}
�M����Ct"K���U��c
��8�]���<�
a:I@���i�f�9�7Q�.~��M#؂�q��_�ر=��C�F-�h�-�4�����n���-d@�`����i��ϣ}�I��&̒��2�M�^Ad�.
w�h�4�X3�@�!�G��!��@m�?*:��#Ճ�]����d���\�Cv���#�!��l۹��+x��������v�@�<
�g
  k��0�l��Yƒ����g�8`j���D�S��+a�!�K����K���$�J#Y8��&����|f��)LdFC+�kh��X8���� KX�X8g/`�:`���`��C���C��q�p+� �Be�����~�u��و[%���������<�^.q
�t��~hƴ�V y�9ƭ��
�%�}����X��1}�6Q��Gw����� �	+ �QF��h媄����mY�UtI���e�]���+�`�
 l �:*b(�����8m�ք!֌Ԃ,�� `�*����P=�
��E��
�9�Pփ�0 �}��Ĩ�������N�X��Tz V��O3e�� JE�V+\��$�
٨�]P)-9Ԟ�Qd����K�G!)U��Dkx��i�-���i�Pc�{�P˖=jJX��6�kGW�,e��= %�ƀ�� ���5�H[+g�}���9��t*�����OZ�eu\Y؜Jr�ɫ��2���0�e�$G�-'��Mp�K�K?R�Uk��m����*�9�Q�Ѫ�
-PXIF�>*��
-N3X��ɲk�}�Pω% Os�s�G.�c�Mx�p��D~	ZZӂ����M�
�N�P
��.n��܀?T�e�c
�X� U} ��`8$���t����s�����ط
;�
D�n�tA@ġg�e�@
#��-$uPю�� [�f��
�	İS!��!ZW��:F��J)� �w�֐����( }܍���0�خ����)�v�����+ے��#,
M
���xY$젅K��+�	;
lN���Z�C�'앎/c �'-�ٺ .k�� �A��M���#TI���u!l:
�^{�7���� (8g��XIq~f�7
 D%���$�����>@D) �����XOX�������
��
ū�
��'�������H��+�)��b��M���}Z1�
�	}FZ"�
u`���HM
C1�m�y���pN+��
R
-�?b8(u������y�
h��M�H��^�n�*�<�c=�?���o:
��؛��M�V�6�E{�90l�g�TPo:�z�Y����k:
Zl�|t-o���jm�dו~��4�0Nvx|i��7&�``K�XH"4p� 
��:�^��'}mKK������QK�#岁.,1�����f�wV�[�y ��OV�
���v���@�3�К�'�4�ך9�y4���1�2��-K�.:�5�t)d�A#�����O8���GH��x�Rz���h�J�I�[�B��aDul�D�Y�%B����D��@A8�V���P(	(3��ą�'��< 
���SK/�X�Q
"!�
�=:�l!�� �SnB2�����B�<^�V.b����U�EŖ���
-Yڸ'���Qp�"�ёlQc�����h�f����J�[+
����|[�}.��v��O���������M^����(�4�W` ���Y8�)1~ƛ焯@�Pj�t�E�6Y%�2\-��d�O���`�b�~�`�4fvd��r4�G���w�މ���� Ƃ�/}:�EՀ�@	�k�
-_��'�7Ŷy�:y)�
���%ڙoӺ7i�/��E���mo���;�
W�	EE��I at f C\H��x{*�쟓⿿^9����8�Y��e�������d�#�M�MI�]o���ZQ��A�wx��>Is��IZ���.����?qU�0
-endstream
-endobj
-3164 0 obj <<
-/Type /Page
-/Contents 3165 0 R
-/Resources 3163 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2877 0 R
-/Annots [ 3090 0 R 3091 0 R 3114 0 R 3115 0 R 3116 0 R 3117 0 R 3118 0 R 3119 0 R 3120 0 R 3121 0 R 3122 0 R 3123 0 R 3124 0 R 3125 0 R 3126 0 R 3127 0 R 3128 0 R 3129 0 R 3130 0 R 3131 0 R 3132 0 R 3133 0 R 3167 0 R 3134 0 R 3135 0 R 3136 0 R 3137 0 R 3138 0 R 3139 0 R 3140 0 R 3141 0 R 3142 0 R 3143 0 R 3144 0 R 3145 0 R 3146 0 R 3147 0 R 3148 0 R 3168 0 R 3149 0 R 3150 0 R 3151 0 R 3152 0 R 3153 0 R 3169 0 R 3154 0 R 3155 0 R 3156 0 R 3157 0 R 3158 0 R 3162 0 R ]
->> endobj
-3090 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 687.211 217.109 698.115]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_161c87c94b78fd1111365e185d0a3ae7) >>
->> endobj
-3091 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.446 687.211 263.046 698.115]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3114 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 652.694 271.126 663.598]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_fb683aefdda7a1c5dcf92ee2a03daf81) >>
->> endobj
-3115 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.463 652.694 317.063 663.598]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3116 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.863 640.242 326.259 650.147]
-/Subtype /Link
-/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
->> endobj
-3117 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.984 607.218 201.742 618.122]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_06c2ce3f0789aba0294da43628b50226) >>
->> endobj
-3118 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.442 607.218 243.629 618.122]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3119 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.079 607.218 371.329 618.122]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3120 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.306 582.81 269.939 592.716]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-3121 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.288 549.786 212.768 560.69]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_e1509738a054a1ffeb070a35c41db257) >>
->> endobj
-3122 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.771 549.786 252.959 560.69]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3123 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.896 549.786 375.145 560.69]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3124 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.401 525.379 277.928 535.284]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-3125 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.443 492.355 250.099 503.259]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_bd266a7d827fb77e09de63dfea2f9d58) >>
->> endobj
-3126 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.258 492.355 289.446 503.259]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3127 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.772 492.355 379.512 503.259]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-3128 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.747 492.355 513.996 503.259]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3129 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.304 466.738 439.335 478.903]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-3130 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.207 434.923 266.586 445.827]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_17182f3f0d9242d5821ba59b2773ae55) >>
->> endobj
-3131 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.509 434.923 309.697 445.827]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3132 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.494 434.923 408.234 445.827]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-3133 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 434.923 513.996 445.827]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3167 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 422.968 171.361 433.872]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3134 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.237 410.516 480.87 421.472]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-3135 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.091 377.492 250.748 388.396]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ace7b1f85601837554656295b9c90dce) >>
->> endobj
-3136 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.068 377.492 357.317 388.396]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3137 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.405 377.492 456.145 388.396]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-3138 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 365.537 202.344 376.441]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3139 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.005 353.085 446.071 364.041]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-3140 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.017 320.061 265.396 330.964]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_e8b96392adb007f1c59758cba8cbc886) >>
->> endobj
-3141 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.568 320.061 375.818 330.964]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3142 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.239 320.061 478.979 330.964]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-3143 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 308.105 225.866 319.009]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3144 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.222 295.653 466.67 306.609]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-3145 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.933 262.629 239.984 273.533]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_fd20bc6142cb1206b51b0b449ebf4273) >>
->> endobj
-3146 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.633 262.629 280.82 273.533]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3147 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.855 262.629 405.104 273.533]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3148 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 262.629 513.996 273.533]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3168 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 250.674 171.361 261.578]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3149 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.257 237.013 432.092 250.171]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-3150 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.436 203.995 251.209 214.899]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_3d107d8f8a78a3925031545c8e1d1a73) >>
->> endobj
-3151 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.361 203.995 290.549 214.899]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3152 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.719 203.995 409.969 214.899]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3153 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 203.995 513.996 214.899]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3169 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 192.04 171.361 202.944]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3154 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.114 178.378 456.992 191.536]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-3155 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 145.36 224.57 156.264]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_6d5097ef9a821f98cb97571eb52a49aa) >>
->> endobj
-3156 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.908 145.36 270.508 156.264]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3157 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 132.908 347.869 142.813]
-/Subtype /Link
-/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
->> endobj
-3158 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 110.843 255.564 121.747]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_96038eb89649898faa9a4355206b72d3) >>
->> endobj
-3162 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3166 0 obj <<
-/D [3164 0 R /XYZ 90 757.935 null]
->> endobj
-3170 0 obj <<
-/D [3164 0 R /XYZ 90 127.768 null]
->> endobj
-3163 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F99 2117 0 R /F65 376 0 R /F50 339 0 R /F97 2175 0 R /F38 342 0 R /F98 2120 0 R /F34 2406 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3220 0 obj <<
-/Length 2107      
-/Filter /FlateDecode
->>
-stream
-x��ZYs�~ׯ�ӆ�� H�JR��S��TM�ξ�l�h��+
!)k���8x
-�e[��*y�ţ�h����$�
,l�u������s��
����b��b�Xw���&������Q�Eˏs��b�_󤊖O﫨ڿ�C�u����W7�
4�C�sa<��Jd4(��v?��b�BAw2>��	[��MT��eؾ����Y����|�+^�I`�<�K!aL4Jg���kF@
��\
�#�aV��>�����la䄁��R��R~7���3�WW�ᡝ�G
<�Sa�)s�P����s���5�+�&����z��}�Rb>�׾�ܥ	���a	O�6!�3
yݜV��8}����c�;���\
��:t�0AX1�/;Jj�
.
-��4�0GFö�W7>�x@.(->����i�~/'�=�j�0
<�(���2.�p��Nk%3��
iLUsǷy��4�X�߸��m~Ѧ����\��4��7;�s�
I ����1��
v2{���n dtm��6
&.����GbD>�0O�����/�4�r O�
'|4���C�ٗ<�2��^EMQ�20����+�`#L
X5d:��l�wSՊ1���x��97|�����?x�׃�Y	���6�����6�
�z�n;��t���@,�~κY4��y��ybt�
������ڛ4K�,��|N������ nN���?��s�	b&��ޟN`���Z�TQ�7��}
�è4��F�BT1��Q"R͠T�YY�]f�F� ���9py�o��V��Ih\x�&�׹n�@bE��|�~�~�M]�#��
-iM,YU<լ�����Sj
p��E�́&%���p�
-A�K��i��Բ��̮E��*��k�ͦgyP�8�)
\�`��p����V�e4L|�*xXѰ�>#����S��M	��hh9k]A�2�\P�1B.�m٨X�#�e����u(�$��-#�C=�L	����
D�
�p���+5ʔ
o�Kذ)j}�~
BRr����
�Yt$#�,7i,oקc���hKa(�P~2�S���=ׅ��6����!Zj�i��P$�j?!�ӌC,9�6��� �c��]�}[F1?�}u��~�P��dY�Q�Ikl��Zr)f�
���:�N�R�S��W|���R
�F��� ^��l.
��Z�~�:�:1��'.+6m� >�~�Dh�_��8
�3�\ǿdq}��eU� |;�&�1g��sk���Z8/�2����0�8��7�H!@�<�����5 n9Wգ�ؑ�q��y=�^�F�˒.4�rõ��C��U�	���wBjGm!����v��9�E��esYr�Qe?�Zeq [...]
-
B��I�{���I���X���،�5i��T�;TssU�<N�}X?��e\�&��c�>�yu�[^�.!i����N��^�Ȝ�bZ�vO��R����]��u��'�Mi<`@�^���6D,�]��J?�����k������4�,�&�0F ���W ���9dQ�L�9n�"�r�yS ؍�)l�P=��,E>q��[��_�	��ʔjzJv5��`i�W��E҇�m-E%?���)j�0L�?
-����+
-��f}���Z�Ĥ�G�x�G�*��(S~
U$%�
`�9�,��
ob|��~�1�
F��ۆg�
d�wAd������#bp��{��x}M
��$�D�_�����
�!���{��4%<�a',w
*0��4��Ә��Q ?���:�0Gwcb�?�ܿ�ߴ�捲S�X
����§>��ՠ/e�9��l�,��5.
-]��cͶʧ����l�=E/�7/j�eۨ
-�<ٜ��0�&�
$���IT�	�e
�W}d-!cz1���'�����3u��3S'��y��n7\�m���sT�^�����@L�]8P���jf�[���f2�z{	�Y�v��MS�����v(��6O�
-��UYn��=� �;%�� Ɋ��� 3�_=����~��
-endstream
-endobj
-3219 0 obj <<
-/Type /Page
-/Contents 3220 0 R
-/Resources 3218 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3226 0 R
-/Annots [ 3159 0 R 3160 0 R 3161 0 R 3182 0 R 3183 0 R 3184 0 R 3185 0 R 3186 0 R 3187 0 R 3188 0 R 3189 0 R 3190 0 R 3191 0 R 3192 0 R 3193 0 R 3223 0 R 3194 0 R 3195 0 R 3196 0 R 3197 0 R 3198 0 R 3199 0 R 3200 0 R 3201 0 R 3202 0 R 3203 0 R 3204 0 R 3205 0 R 3206 0 R 3207 0 R 3208 0 R 3209 0 R 3210 0 R 3211 0 R 3212 0 R 3213 0 R 3214 0 R 3217 0 R ]
->> endobj
-3159 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 719.912 242.294 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_6df8193213c66dcf70814c097d7b2fcb) >>
->> endobj
-3160 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.632 719.912 288.232 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3161 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 707.284 363.328 717.189]
-/Subtype /Link
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-3182 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 673.088 242.294 683.992]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_fb9fe84fabd3625d37c47e517034d88b) >>
->> endobj
-3183 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.632 673.088 288.232 683.992]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3184 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 660.46 363.328 670.365]
-/Subtype /Link
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-3185 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 638.219 214.06 649.123]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_6919ec5aef8459ad9c65bc36e8100d58) >>
->> endobj
-3186 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.398 638.219 259.998 649.123]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3187 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.942 601.357 290.693 612.261]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_f5edabe0fbfa14196208041ded356c65) >>
->> endobj
-3188 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.714 601.357 336.314 612.261]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3189 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.957 601.357 454.784 612.261]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-3190 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.622 576.773 310.533 586.679]
-/Subtype /Link
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-3191 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 543.574 245.911 554.477]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_e1186868176c9fb31d7293bc2fe55e52) >>
->> endobj
-3192 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.248 543.574 291.848 554.477]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3193 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [488.091 530.945 513.996 540.851]
-/Subtype /Link
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-3223 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 519.986 189.266 529.892]
-/Subtype /Link
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-3194 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 459.199 289.866 470.103]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ba476c1ff2b0f1cd58f6e76b981cafac) >>
->> endobj
-3195 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.681 459.199 359.324 470.103]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-3196 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 424.33 290.971 435.234]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_4aa52c6b939cf0076740afb33dd454e5) >>
->> endobj
-3197 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.787 424.33 360.43 435.234]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-3198 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 389.461 224.003 400.365]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_070e05c80af78d7c91bee958b9848080) >>
->> endobj
-3199 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.34 389.461 269.94 400.365]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3200 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 343.633 254.15 354.537]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_8ed22a325737be112cad6864b2a7ef59) >>
->> endobj
-3201 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.487 343.633 338.263 354.537]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-3202 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 308.764 284.585 319.668]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_929caef76be87459ac964105f4c75cf4) >>
->> endobj
-3203 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.401 308.764 354.044 319.668]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-3204 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 261.939 241.726 272.843]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_597f9740fbc8534391d2c8cb6381660c) >>
->> endobj
-3205 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.617 249.311 407.658 259.216]
-/Subtype /Link
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-3206 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 227.07 249.318 237.974]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_0cb0abcc152d2d7c95a116efd3ea989a) >>
->> endobj
-3207 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.134 227.07 288.321 237.974]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3208 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.875 227.07 371.519 237.974]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-3209 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 192.201 240.62 203.105]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_d4d12fdbf775bc0ad0bb248bbaa19370) >>
->> endobj
-3210 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.958 192.201 324.734 203.105]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-3211 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [390.537 192.201 425.724 203.105]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3212 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 113.431 203.075 124.335]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-3213 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 113.431 296.324 124.335]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_4e6787c98290a49ce80b90c008aac5a8) >>
->> endobj
-3214 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.198 98.81 309.133 108.715]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3217 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3221 0 obj <<
-/D [3219 0 R /XYZ 90 757.935 null]
->> endobj
-3222 0 obj <<
-/D [3219 0 R /XYZ 90 655.319 null]
->> endobj
-3224 0 obj <<
-/D [3219 0 R /XYZ 90 132.405 null]
->> endobj
-3225 0 obj <<
-/D [3219 0 R /XYZ 90 132.405 null]
->> endobj
-3218 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F23 340 0 R /F72 471 0 R /F99 2117 0 R /F65 376 0 R /F35 2018 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3280 0 obj <<
-/Length 1620      
-/Filter /FlateDecode
->>
-stream
-x���s�F���W�f��}'�CҸӴM]G�K���l3� ����{p�K 5�#'~��������v1عt��K���w|�3G!�S�\8
-;�O������.!�{}�1v�<��0���G��N�Wz���ߣY��ON��7�����SB�4�G��^��i%��(��6��٠��nd~ڢ��Z��$�s�Ov��������՝s}�3�HW'#�����2J{/�O=j�C�h� L8����=v�p���Sҹ.�b�S�O�7��z�F/GX�;}ęt��Ee�;JE�|�;�m_@��",�Qe��4�Xc[vi�</���(L��
yD���DGi�Y%�0�煎��5̯�a��Y�����4���a�6P�s��	G����s]̲��"��6�Q2�F`~rY}.�¢����8����ZۻIj3��
g��G�A�U�6ڼ�}%���x�"_8���$�7w�і��c�)����
a�=�"��WC�^Ui�;���-�ޖt���H�g϶��L�v%jK�ҍ�����m����oF�Tkxk�rt��RA|��7yG�.��w�|�V�X 7�~u
�%y�\�u
-H�Jh���S��.�X�ɸ�H�����ņ%8D
|���٠?@>���Q{[	�W�	�-J��*ɺ��E
ƺ���n�I癿Z���
����Y2*�����&b��W�6��^���
]�(��\b
���V���
$Զs��/@*���'��L-�C���b!GĹ���
	hZd�h�Ou���\"*�
-�/)�R���uhw���%)�����!p��]���0�p<2�0,y�1@��(���!U���{�ȋ��I
-ͯ�J��n�ؐ�#�-��ikK�/:��
��wV�|���{?I�{5s���V�Ί��&�	}9���G�g�)���O�sյ��]^	�;2�P�s4rL]���h%:̆�f63q��yĽL֏K�
��[u�/���yʡ��׳�KiIU�b
�6�*�Z�d����
�/o
-�����g�$�&�M�L} �ߚ�f�&�3��[dVj-�>
-	JWC�U�`
��=�g��=_���Z~��`|O.�?G٦~o
e;s�����N�Hc�T=�7ǯ���r��2���	��Pb��֖��챭�k��
m%:x�ś
�X�O{��2~x
��
�yv����	e"($�j���
f�G,e,�w�eC��V�I_v�����2㲋ˌ�N.�eNܛ]\6εq�x\�{k�e˨r��x�7|#�o��7�
���`�ZGd���������@�6#���&�X��*�7 
���
-0oE���H�}�
 �N�H����N�O��N�{봛*ڏ��_#Bvq�|E�b��:����~�����h���
�W��?6��	���}��F�b'R
�N�
F�&Q1�5��-�!P��5�8�`-0��Rt�zi��f�.XK$��>�~�����x��I D�/M�/I�P�@��5T�0�~?eP�����Z��c�j�Ѿ�Z}�;��O7o�a�����ƿF���(����˸��P�|��u���S_��+9���Hhd��UQLO������(G�$�f(*�����mz.i��&h�\�O_�4k^탛qhޘA����mn*
-endstream
-endobj
-3279 0 obj <<
-/Type /Page
-/Contents 3280 0 R
-/Resources 3278 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3226 0 R
-/Annots [ 3215 0 R 3216 0 R 3239 0 R 3240 0 R 3241 0 R 3242 0 R 3243 0 R 3244 0 R 3245 0 R 3246 0 R 3247 0 R 3248 0 R 3249 0 R 3250 0 R 3251 0 R 3252 0 R 3253 0 R 3254 0 R 3255 0 R 3256 0 R 3257 0 R 3258 0 R 3259 0 R 3260 0 R 3261 0 R 3262 0 R 3263 0 R 3264 0 R 3265 0 R 3266 0 R 3267 0 R 3268 0 R 3269 0 R 3270 0 R 3271 0 R 3277 0 R ]
->> endobj
-3215 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.636 719.912 287.856 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_5659d55fb93c1fe31b82a674e2630c13) >>
->> endobj
-3216 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.636 681.058 294.481 691.962]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_1d20ad17015746b2d9e0290631fc175b) >>
->> endobj
-3239 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 600.295 180.54 611.199]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_5b6323dfa423ea57b8d845237d9b576d) >>
->> endobj
-3240 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 600.295 226.477 611.199]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3241 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.287 600.295 323.887 611.199]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3242 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 480.299 178.239 491.203]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_025c54a0d06e882346b74c0624ee6e71) >>
->> endobj
-3243 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.576 480.299 224.176 491.203]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3244 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [302.985 480.299 321.586 491.203]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3245 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 429.49 226.034 440.394]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_1915597423b1aa0dbed55312b2308efd) >>
->> endobj
-3246 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 429.49 339.776 440.394]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3247 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.625 378.68 245.522 389.584]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_8653fd3779f7a28930872b1f885f25ee) >>
->> endobj
-3248 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.848 378.68 325.229 389.584]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3249 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 366.725 132.511 377.629]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3250 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [211.32 366.725 229.92 377.629]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3251 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.561 366.725 344.117 377.629]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3252 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.625 315.916 245.522 326.82]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_6592baa6045a08fe1eb0ba33e8ed2942) >>
->> endobj
-3253 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.848 315.916 325.229 326.82]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3254 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 303.96 132.511 314.864]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3255 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.42 303.96 234.02 314.864]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3256 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.979 303.96 351.535 314.864]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3257 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.92 241.196 243.605 252.1]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_2d20e2dc8d4d0fbbdf87bd01a51dc01e) >>
->> endobj
-3258 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.226 241.196 323.607 252.1]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3259 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 229.241 132.511 240.145]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3260 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [211.32 229.241 229.92 240.145]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3261 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.561 229.241 344.117 240.145]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3262 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.92 178.431 243.605 189.335]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_438eaa92ba7d9f7d8ec085fe9b00ec0b) >>
->> endobj
-3263 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.226 178.431 323.607 189.335]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3264 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 166.476 132.511 177.38]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3265 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.42 166.476 234.02 177.38]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3266 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.979 166.476 351.535 177.38]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3267 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.138 103.711 242.189 114.615]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_852ebcee0de832c12a87ad15d37570a2) >>
->> endobj
-3268 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.028 103.711 322.409 114.615]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3269 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 91.756 132.511 102.66]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3270 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [211.32 91.756 229.92 102.66]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3271 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.561 91.756 344.117 102.66]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3277 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3281 0 obj <<
-/D [3279 0 R /XYZ 90 757.935 null]
->> endobj
-3282 0 obj <<
-/D [3279 0 R /XYZ 90 733.028 null]
->> endobj
-3283 0 obj <<
-/D [3279 0 R /XYZ 90 700.151 null]
->> endobj
-3284 0 obj <<
-/D [3279 0 R /XYZ 90 619.269 null]
->> endobj
-3285 0 obj <<
-/D [3279 0 R /XYZ 90 538.507 null]
->> endobj
-3278 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F35 2018 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3301 0 obj <<
-/Length 2413      
-/Filter /FlateDecode
->>
-stream
-x��Ymsܶ��_�O��L�
N�[�3N
ǵ�L3�熺�$�<�!y���wA $A�'MZ��O�����gwq8�	p���ˋ��ׂIAEpq
H
D� NIp�
.��p�"���%����%��K�Ev�U�*Y�M���:<���_~����5!�D�E�
-�jD�E	F�xs�˄
-"���nF	�N�,K�z��
/.��.Ԯ̒F�'Ե��$^�|�$��P����_��vB@
H��P�x�ٝ\~����`�d
ܵR� �
�Y���'�";��HG4�a� ��/��AD‚�]�r�(���V;a��;N�����H�8�HFQ��@4"�
-#)�����������ڦu����կTs�Tn��/C'n��#$h'���	%�#!;�Ä��*�
�����5ǃHX����`�Jȟ(垒��@�D�Pt�Ӹp1��
�Pƣh�4A��Q��P�<�)�֡h~}c�<�!��t��m�p�B"G	2�E���pC��6䮊"��舯nl���$�\��-�u�˜�isX�YCz�7������9�ո8�U�/�I�v�n���D�2J{@<� �A�SDs> ��pq~ߨ|�-�~_d�fI�
7����qxA�g�2l}���y��Y�b<FqL|�-]ΙN8:j9A�O�i�$�">j����=����A�+F��
�q)�tK��+�;�>�|��7�Wi5am�6u���}�2*Ϛ]�'���2~����vk�o�V�SH2�mc��(�
�W�ѓ�E�Z-F�ŠH�Ht2D��~��RM�fjkL|��M��MZ�f��
ʘ�^
��
뀠���
�{*�G�p�X?�5L��
��m
t�1�m�_��Q$��
���h�ڨ�N�4;������̴.VE���q��]闪����&Sȹ����n�Y֠R<��q�(��Z��H��Jհpm~�l��%Y����*�b�w��Sp�P���$�@
-b�u�0Ȁ6X� c^��jo�����}~�Ф�$S���}I�"�jKbR �GE�3�!}e
bP�1&Z/�0t�=,�!��=�
�磡���w���L9�bB���9�H�����Q�6ݩ��Y��҉^��"}g�"T�Q^�
[
l�"]
��
J4'm�t������G��B�[�}3���k�un�};M�����k�J_}���7ɦ��j��v�����V����N�N��Jyv0 at R
�c�5��^���)��<��<�0�r&���L�Z�
�6���Xw0P#vI権ޗeQ5��'Cv�����J7�:DA	4R��[�P��d�Yq�n�{[�r��i���Z�={7�#��A���2Bظ�pv.+�2���|�~e���n�-�"�7�'�L������

�|��?�oFp at K/��"���OPq���Q��� 
-�-�B���(R_)�bt�
�
-���Oiw	v��-ڊ-�b_w���RI�}e�ֲ�+�r����&F�I������n�}�<wif��R��=l�v�ڠ4k�o�i���Y���0͒����9�����~�/�L�f����F܃Ls��Y5�z���
��V�ƾ�.��-2B�hQg�3�ksݩ�P[��]/�"u�K��>$�1Q���3����V�$�]㭲��N��e��Ҷ��;]*�ׂ3}l�>�7�?�aEF����@A�@q�5t~.*�u����U�i�5�6��nP92{DP�}l�����s�G$~�,6��N

�3=2qD�=:r)����즵^�e�H�W��t���a�Q��7���xߢ�w�N]=������o

�\?�	z��-2o����
-�c}���
<ܪ�v���%�p62G�'���wo~9���|BS�����x( C��4��\�MlR�e�n����Ie��6��>Ͷ~��ӞD*��.!��C�����u�6�>
u�x��=�0�t
-��6a 
����3���
�X�a��n��<�F��
�Y���Y���iH
�=�
��
�	����<�Vv+�\{�bt�$��
5|��Twsc_ɻ�
��Nl*4n׿�D�^5�A�5S�bb}�W s
y�N�"�3&��]���N��@��:3�2=%}��ɚ%wm�&ws�����%02���&W!�$�S�����&xZW<9:����A�� ��8S����������Ų?.�>�ZA ��O./���>����o������	}1C"O)tT
���)��	�T�$��f�RG�a��c�/�&:
�����S���+w����E��>���\1$[��������XE����z�/
o�}{zIi��4?mj�?�h�m����I�w���Dž�@���R�&�[m�����`,������^���O5��x�4���ӻ�;���oY��9-���!���kGϻ��lx8�����k�I�
-endstream
-endobj
-3300 0 obj <<
-/Type /Page
-/Contents 3301 0 R
-/Resources 3299 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3226 0 R
-/Annots [ 3272 0 R 3273 0 R 3274 0 R 3275 0 R 3276 0 R 3294 0 R 3295 0 R 3296 0 R 3297 0 R 3298 0 R ]
->> endobj
-3272 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.138 684.047 242.189 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_4b5e1306956d46f1ee477428b451b44b) >>
->> endobj
-3273 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.028 684.047 322.409 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3274 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 672.092 132.511 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3275 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.42 672.092 234.02 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3276 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.979 672.092 351.535 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3294 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [99.148 535.716 117.749 546.62]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3295 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.986 476.677 125.586 487.461]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3296 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.17 355.938 213.77 366.842]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3297 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.732 343.983 218.288 354.887]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-3298 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3302 0 obj <<
-/D [3300 0 R /XYZ 90 757.935 null]
->> endobj
-3303 0 obj <<
-/D [3300 0 R /XYZ 90 622.816 null]
->> endobj
-3304 0 obj <<
-/D [3300 0 R /XYZ 90 572.096 null]
->> endobj
-3305 0 obj <<
-/D [3300 0 R /XYZ 90 330.409 null]
->> endobj
-2930 0 obj <<
-/D [3300 0 R /XYZ 90 308.097 null]
->> endobj
-3306 0 obj <<
-/D [3300 0 R /XYZ 90 308.097 null]
->> endobj
-2931 0 obj <<
-/D [3300 0 R /XYZ 90 189.252 null]
->> endobj
-3307 0 obj <<
-/D [3300 0 R /XYZ 90 174.681 null]
->> endobj
-2932 0 obj <<
-/D [3300 0 R /XYZ 240.245 112.01 null]
->> endobj
-3299 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F98 2120 0 R /F38 342 0 R /F65 376 0 R /F50 339 0 R /F35 2018 0 R /F95 1788 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3314 0 obj <<
-/Length 1662      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�6~����f3ËH��6�-ڢ]�f�7�H�@�i[�-i����~�"us�KRd�C�,���wn�ᡰ�p��r�t:8{!�#�T8ӹ#��	�8%�t�\
	A�hL0����� [��#���j�T�,�|]eA��L�&7����g/iI$B .\د����ٔ`D�	���H�0�s~�#��jƳU��1�x8
I:T�tʌ�Ws���?TqC�pH(�Bϧ��`����
�w����3vf0����I߹.g�
�2�]9
�A�R���eE�Z����ݓ�%��[�^lSkPL�r�9=��ak�H4{
 �<�=rOp�.�!���� ���X�t�
��
��%�N8��{�ő�%�;�D�C�tLd���+��0�a�y���Ԡ��<dt���>�f-Y?��wgxn=c�#�En��?�Ʈd�g	��������ۂ}�<�^�
�v�����/vFG"�����u�H�U'L��{{���߯�{��yM���H�v ͧu�\D�*��. �� [...]
%�t��Π<v�E��Q\\~�����>��@����������Gz�!
��H�ɯ����a�%V���缥#dQ���y\���l�v�5�Nb�
��.
ԉU��b����w��AhgdZ~$�� �7�}?J�AY��v��]���.�
-��dW��|���\�aN��Z
� �������m�ϥ�k;m2���qc9�X��
d�
�Ia7�G�laώ�_��r���ye��DG��.��Y�}f��<�0{\J6�e�\�j�Ґ6�yݼ\�m���
#���"����P�J�	�3������
�e��P4��oE���)h�c�d��p�._���
&k�6�u�A�a��>��K��@3*���Tͤ�
-˔
-A�3�
��s�cr֗�j��#�?���������$�P8������|�8����4�i��`
-]��6.����`��V��^s�A/՗>Ų�(�X�=�%�9n'�&,�,�-p
:E��7٩oⱾ}�䥊U�뎗7
-�5�-�˛���u 
rV�^�N�@��1�w�>��U��%�YH�!#���r-x�$�����Ԇ_Y��}�>aL㒔��m�ԅjN؝�3���	�ԸZ��A��ԧ�j'���N0��\�wc�T��/��
je��e��7�J���ݪ�l`��l2��
5!XE�� ��/ZB�Jꤜ.�Ds�=PD�f�GW��H������_�L�&���r��*��}x�������c����Ӎ'����
-ʗ�\/�N�3�C�����?��ʮ���
�|�7�vB�v��T
Bq;D;�m�ٯ��G{�_c��+|�:���`�o���@�U̷W.续�N/ͱ��"Y�j�ּ������C��o�xS6v�P�i�����H�6}Ҙ��>(e�4���TO�
ʘj��k^�|�[E:9;���Fa�6q�f(*��tuvە-)�n�2�|�N2U]���t���Q
n
-endstream
-endobj
-3313 0 obj <<
-/Type /Page
-/Contents 3314 0 R
-/Resources 3312 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3226 0 R
-/Annots [ 3309 0 R 3310 0 R 3311 0 R ]
->> endobj
-3309 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [313.87 539.432 391.845 568.498]
-/Subtype /Link
-/A << /S /GoTo /D (main_intervals) >>
->> endobj
-3310 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [313.87 397.701 391.845 426.767]
-/Subtype /Link
-/A << /S /GoTo /D (main_intervals) >>
->> endobj
-3311 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3315 0 obj <<
-/D [3313 0 R /XYZ 90 757.935 null]
->> endobj
-3316 0 obj <<
-/D [3313 0 R /XYZ 90 733.028 null]
->> endobj
-2933 0 obj <<
-/D [3313 0 R /XYZ 240.245 663.906 null]
->> endobj
-3317 0 obj <<
-/D [3313 0 R /XYZ 90 647.451 null]
->> endobj
-2934 0 obj <<
-/D [3313 0 R /XYZ 90 520.018 null]
->> endobj
-3318 0 obj <<
-/D [3313 0 R /XYZ 90 505.719 null]
->> endobj
-2935 0 obj <<
-/D [3313 0 R /XYZ 90 362.95 null]
->> endobj
-3319 0 obj <<
-/D [3313 0 R /XYZ 90 348.651 null]
->> endobj
-2985 0 obj <<
-/D [3313 0 R /XYZ 90 219.938 null]
->> endobj
-3320 0 obj <<
-/D [3313 0 R /XYZ 90 205.639 null]
->> endobj
-3312 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3324 0 obj <<
-/Length 2115      
-/Filter /FlateDecode
->>
-stream
-x��Zo���~�O�W�Hdo��{�
�蠥U�"��K,
;��|{f����䎖�ǫ��������̎�����oFW���
�
���ҙ�;
-;�$HP����1!�O�c<��<���?��P<N��*\d��et������*}?y7���!-�DJ$$��J���)�E	F��p=��G
-�)����!LU3���<�L����D�q���~����0�o
&
)"�1�T

=��~�
RzC��e�	֣�ﰳ��o
���r����o�܎~a�Y���
=A a�K�Ru��zW�_�x�B��[L N�ʺg��VyY�K{���|�~PD��v�"��P1�ä�jo��z*M��}����v(���\i��6(�,G{Jw�d*8"L:SJ&����� �ȸ�����C.VΔ����ʋ��e�L8
����b�g����H�ʁ�U�j_<$�$�L��|���Aj.�$�|m�}��&ia. �
-��;�"[;����w�FIa|��2B��9S�"ϥM"�<��E͇y�*�	
J6�>^�I�ۄ���=�۟z�@�{��' ���|*N0��tq����H�rHێ�6���b�������$>�D����&�l�ac~ۊ�O�2{y�����e�gC�v-(@윎 �<J�Io�$����T����M
Q�μ�	�)_P�-p��-߿�F�
G��v5�׀a^��;�}�(�(�����e-��"�c����ng&���"�f��B�
�
c�9���k
��
��9h2�}��;�q� dEE�X��L†r���l� �`�$����P�2��Z�F�!�T
b���6� 9�0{$Vz
���*�T*i�W��l��c�m�����rj��
3��B3d�F�4�f!��Տ�X��лDL�YV�50�	��I�A���p�\����b�n��É[ ^��
-�5���5�Yd��Dpß
�D���^�
������W�-��@X���.���u��=�]�c

uٷ'�aĹ|
-/�d"�Z"{D�V��6��AR�A{�%j<(� �}+��k�)#t���J=�>�r�8
�2��X�{(�s�	�8솄&%Ô��1�"�r'�,������!�!�S�b����C�
y<ǐ'Ljs8�!��>Jy
-�
s���:e�q�=�1�F�=6
�p��N��N�O���Y�ȓ��
Il�h:p��<�
��'*7���;_����S�N�&�~�H<�ݹGZ��x|���v�o��L0.D@	V��Ϲ:�Z���
-�!��3�G
-��+�]����=���t��+�_��/���<%����i P�P�y�����_]?{9��Z
-��J�WK�~u���/׳7=k
-�\W~�c-�PB��N�������)��MW_����RM�U��)���Q����,ƨYY_4e��+5e�Sf����h�@�yi�^�7?��$]G�
��x�B��ZC�#��*���%�"G��a_;�/���7W��6��`�DZ�����
��tY���Y�;���������@o��}
@A�����@��|:�5b�
���C���Av��ɒ4(�)���}���:�<�)&�����J7@�N��� �3�U
٢�	���.S���>�AJ���^��Tѯ��UЏIpP=B���#P�2�7t��:��7V�
�}�ַ`��_���L at P�n�V����j��a$.k�ͪ�*� �m������V��HW�������7�A ���G@� �1� ����
lP�~ �	�jk��g�u� ��G`O�|�0��0��z��!�$�0�W��,7K>��<����;eL��ihU,�Mz��B���
d��G�MD�-j�0�=4�hx�F��K [...]
��SW��1҅��4I��mZ#�e�9��w�ҍ���J�kY�������9�&�&CQq�����ȖG�r����:�ªw�벃{��?�B�
-endstream
-endobj
-3323 0 obj <<
-/Type /Page
-/Contents 3324 0 R
-/Resources 3322 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3226 0 R
-/Annots [ 3321 0 R ]
->> endobj
-3321 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3325 0 obj <<
-/D [3323 0 R /XYZ 90 757.935 null]
->> endobj
-2986 0 obj <<
-/D [3323 0 R /XYZ 90 672.604 null]
->> endobj
-3326 0 obj <<
-/D [3323 0 R /XYZ 90 658.687 null]
->> endobj
-2987 0 obj <<
-/D [3323 0 R /XYZ 90 541.171 null]
->> endobj
-3327 0 obj <<
-/D [3323 0 R /XYZ 90 527.254 null]
->> endobj
-2988 0 obj <<
-/D [3323 0 R /XYZ 90 395.251 null]
->> endobj
-3328 0 obj <<
-/D [3323 0 R /XYZ 90 381.334 null]
->> endobj
-2989 0 obj <<
-/D [3323 0 R /XYZ 126.015 294.752 null]
->> endobj
-3329 0 obj <<
-/D [3323 0 R /XYZ 90 278.679 null]
->> endobj
-2990 0 obj <<
-/D [3323 0 R /XYZ 126.015 192.097 null]
->> endobj
-3330 0 obj <<
-/D [3323 0 R /XYZ 90 176.023 null]
->> endobj
-2991 0 obj <<
-/D [3323 0 R /XYZ 107.534 89.441 null]
->> endobj
-3322 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3334 0 obj <<
-/Length 1888      
-/Filter /FlateDecode
->>
-stream
-x��Zێ��}�W�)������
$��
�������5�đ�P�BR;��O5ټ�Źx&� ~��lVW��:u��6
��L^,&g�%�4ҒJoq�i�)I���[���SB��	�xz9#xd�`y9�x�Ʒ�p��w�Ud���/ү�/��^ұH�DBrX�4��jJoQ�m&�]��Ba
-n������q��9x��i:
w�8(�����:�fğ��
-.i"�)����ZL�=!`{�̆PH1�v��_����?z1�{7嬝�)����y��	
�,eK�fQD�MoQ�x
��a=6�A�7���0	v����	a<��I�c�g���^���_��ߋ��
�W,�*M��ɢ�yڛ3��u� ��?T��������~��ԋ���\ �)�~���e��M��-����\"���_쌞1D�<_~x������ny����W�|���r��.�Mp�,�
���>GI
%!D)!���>�VQ�zN��ss�1⾂
+$����_
�xm+3�>�
Z�
 UQ%�j\lm�n,nC�F�4�o2�_;U�N�P�z&��1E��͗|�qX���2E��:������H�z�!/C6+��
*,IwQ���L7)P��k�
��.�����R��V�� �ߠ$��a&6�(�%�p0�L�I�,\#����AR��?#�qq��L}��
��Ѥa�;�V�t�%�>�|��Û��i��^�B~
�+�9��F [...]
-�#_��#qw�Y�
��7�;�8?��i���
I_>W���G�{���۩f՞���Φ�9N	G��!dw7"J%��i^��l��x��
�$��a��v
�R�I3�X�jɛm����f�̈������NC�b�եj�*4�27�&
-7�����*�cZM��n
a@�h��@���0��R���a��)�=�����

J�_�U�I5z���~��
p��(<	$ձ��ݭMi�	}L���tkw
�h��^�i\�{�B����z+�h0G�����3��� �H��.1
�s�
�(��C	r��~
2��
Q��V5m��g��SK\N���RCu��cX
�$w�5ҬIt�
B�M��֌�-�%��Ҥ&3�u�� Q��Q6�+��o�Q�I�����(����LJ �m�P���G�o)�Q�r�!Mz�
���Nh9�
�ٱ�W�L{S��y���H�	� �� �n��X��C�
C��h�
2+�������&��6Kg�%n�H�p�8DJ&|�l_[G�g�0Zz퀊���}�"�j�>�!/��@��X�>'�rr�E1w�(�7"c./��g\��r�G�*�Ӹ��
��q�
ȜcЙ屻Ë����X���@�U:��
/ꪷc���
I���%/o��S,�P��u=EU3l_�e6X{}���F^� [...]
-�pv�V���/�P�:��S��C^��-�|�_&�fA�fc|	@6^n��#��V\�	�>���o��ɳ�+	T($�HZ��JK��.-݀�� $ؕc8e�?�'��
�� ����9��n O�A�|�����έ��Ҽ6de�5[UCKY��y��q&����� 9��?k��͘
-��%F�?���l΀Cdٿ����&en[���
Il�b~vvss�V9:$�>CQq���g��c�|�_��Yk��PD	\ܕLp��� �
�H
-endstream
-endobj
-3333 0 obj <<
-/Type /Page
-/Contents 3334 0 R
-/Resources 3332 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3226 0 R
-/Annots [ 3331 0 R ]
->> endobj
-3331 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3335 0 obj <<
-/D [3333 0 R /XYZ 90 757.935 null]
->> endobj
-3336 0 obj <<
-/D [3333 0 R /XYZ 90 733.028 null]
->> endobj
-2992 0 obj <<
-/D [3333 0 R /XYZ 126.015 663.906 null]
->> endobj
-3337 0 obj <<
-/D [3333 0 R /XYZ 90 647.679 null]
->> endobj
-3338 0 obj <<
-/D [3333 0 R /XYZ 90 545.493 null]
->> endobj
-3043 0 obj <<
-/D [3333 0 R /XYZ 90 522.558 null]
->> endobj
-3339 0 obj <<
-/D [3333 0 R /XYZ 90 522.558 null]
->> endobj
-3044 0 obj <<
-/D [3333 0 R /XYZ 90 423.304 null]
->> endobj
-3340 0 obj <<
-/D [3333 0 R /XYZ 90 409.233 null]
->> endobj
-3045 0 obj <<
-/D [3333 0 R /XYZ 90 312.016 null]
->> endobj
-3341 0 obj <<
-/D [3333 0 R /XYZ 90 297.946 null]
->> endobj
-3046 0 obj <<
-/D [3333 0 R /XYZ 90 200.729 null]
->> endobj
-3342 0 obj <<
-/D [3333 0 R /XYZ 90 186.658 null]
->> endobj
-3047 0 obj <<
-/D [3333 0 R /XYZ 90 89.441 null]
->> endobj
-3332 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3346 0 obj <<
-/Length 1721      
-/Filter /FlateDecode
->>
-stream
-x��ZKo�F��W��J@���rբ�I�6�D�%

Z�"�|�$������-R�
_�%�������H��;/'O����9iI���8;J$(q�k�ݔ�gs�1���<��Ȼ~=�x��w[�zׯ���K����������$)��
���[:J	F������)��z�#B��v<
�,�ͩ���Lө�B/��7��Ogĝ��
-ni"�)���<_N���
RxC(��pV���{���OFL��9�2�
���_'��g)CX�Ƴ�!Qz7�,<>�҈zʁ`"������؋�`��wJX*qҝ
Z˼I�����Y@�K��,�h
Ip�&���b��I��:����Μ)��`�
��E�M�
-It��$�p͟2S����8��� ������ΦO�Il����E���G��*k|����]De}&�H�D���oKe���8��ۍ�6�)�Hhs\�$TX��?ߧq6$�!��5��{@(�6�X[�xmI
����X��P���!�T�e\D�/�l�$*5��	4Q-��Pڅ�0m��ـy
i�V�o�l�:��
DfTE�
�B�9��B
(my~��w9�M��<��搋n	iEd�z��SB9~��`}����=k:vk�t}��6MfTL�`q��+���pzu	�w��e����T�<�WI����&��@��)�H �(�� �|D�/�o����åPX��
��Da�\�Pz��W��E�
�|�%U���1X ���0X<b�%1Xw0X]
-��
&l
�9;�e0S�
����`��I
6�'0���g`p��Q�_a� W�.����c-�zkM��{5�Ofs�q�,�7��t�*t)P^�%���
`�&�R���p{l^�	� �
c��G���Y���pA��ti7\��5��9�T�<����n��qvj`ΐ�Ԓ�YXr2�
-�:H%$b�2@�2"��$�
����1�X�€�g �n
-�RRs���
Y��N*��yR"I�U�}F�Q��ت>l�ն���O7�����|[.�R��lq��p�+���h����iV�Hk���J�s?�'/��K�n��(|B9k8�4?,pή}!�n,�jt�g����57����;U�`-/=�~�;k�?�dJ[ �h2G
����#��ܤ^��>J6�%�'쳺�����'
d�Ⱦ�'Q?������r��F�D
��O���</̒�����O��&�>�_����V�
����p3��6�s��o��`2�k�Tl��C�$A��1w���{�-��-�nɖ���݄@��c�?Te0NKB��Ӣ��Z�H bZ
��Gp��9��с~���9va�u�����У61�S/�7%Q��<ٯ�%Y���||�(���i�C~UvzL{�Ҏ�41:�	>:�i}�)M�����PLѳ�4y)
�S��i��4>6��ƨs��'�F1/V/���9
)
-���C��~�߈����g�Dd�?v��ך�
h��g�dz�� �P`ݸz�c�q�3����C�$�U�j�R��*[ޠTPs�y�'�����
�}
?�Ϯ�_��ɾ��{���6����nS�f�V�-_�	�{zm����e�V?)����-��og�V�'�ŋ�^��i<m��
#jX��ӷ�_
Ҟ�/�Z�lc��K\�X��6�w�����V���.EA~�ۅW�IْB8jڡM��Q���D���33<���_�d�
-endstream
-endobj
-3345 0 obj <<
-/Type /Page
-/Contents 3346 0 R
-/Resources 3344 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3352 0 R
-/Annots [ 3343 0 R ]
->> endobj
-3343 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3347 0 obj <<
-/D [3345 0 R /XYZ 90 757.935 null]
->> endobj
-3348 0 obj <<
-/D [3345 0 R /XYZ 90 733.028 null]
->> endobj
-3048 0 obj <<
-/D [3345 0 R /XYZ 90 637.302 null]
->> endobj
-3349 0 obj <<
-/D [3345 0 R /XYZ 90 622.87 null]
->> endobj
-3049 0 obj <<
-/D [3345 0 R /XYZ 90 521.639 null]
->> endobj
-3350 0 obj <<
-/D [3345 0 R /XYZ 90 507.208 null]
->> endobj
-3050 0 obj <<
-/D [3345 0 R /XYZ 211.842 264.816 null]
->> endobj
-3351 0 obj <<
-/D [3345 0 R /XYZ 90 250.229 null]
->> endobj
-3344 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3356 0 obj <<
-/Length 1986      
-/Filter /FlateDecode
->>
-stream
-x��ZKs�6��W��J3�'��
�I2�c&m���d<�Yl)R%�:���[�
��K}�@�]���
-{w
�^_<���|�3O#�S߻^z{�'HP�]/��B���x�vJ�$H����)œ$zX�E��ަA�pu�<�4�x���+BZ��#�s�W��
�0%�������P8��3ߍa�:�"
-�l:�O���N�z�q;���I�DML<�-M��*,ы��] �=RhCH$����������=��V�}qj�q��3��]�|�K�ⶆ���		�$e�‰{W�^�|%p�&�b��~_�n��d
|
-��?A
&���B�v>7f�=�GB&�a�/n�{t��f�v�U��I�8w�$u�ͣ$ۦ���������~�V��,]Ii>mRw�s8�t}����
�0��
ތq��z��E��l�I�z�v��{J�$�����q��ȧқQ�b���Os��ˮ:�64��RHb
��,���*��
	�pq�w۵
�@�V�^����}��.4�)bG�cR

-�;C;q:��:�c6�
iU��Wav�YZ�"��g��Yϓ���6r��3��`��+M�f9 �B>�R��Ug�XN����RY�
 ,�l����8�
��d/l`��e���*�M�D����l�5�a�*�� �� sF��U�{j�m;��1���!.k�B
��C��H����A�
I�d�&S'�"�AP��1Y@�n�a����)��Վ�e�V�8O���h���	ĸ �@_7e1��ҘW�e�pI�8����^;V��1q���Z��Rѽ��!���I9z�.�)��Gv��C��{kxGWW�0�Δ�AJ��y:.�
<�ln˓f�����K¶�g�+��O�r����V-�v#�{7��O��)�^$f	y��CS������U�u8P
-b�sqX
q���I_%�c�!+rQ��E�
�
��U_q��P3}�3�3�@� e��*~���`bp'gDBq/��R��l�.ĨljF�5#]I����^	��k����Q�*� R�<��-F��6E�m���`�#�]
u�u�*�M��������
�f�O�q}0U;�l����*���,��/b}�
-�2�����T���ݖ�����a��e�m$1�����e&�L����^�:�Bªc���tBy�m�*W�������T��PB�>o��U
]��l{�������jh��٬Z��wَ~@�P�9(�@�a��2Gu$�jGG1��i�'�����q at D��I�z)wTB �rG���0��E,�u$l�wlɑG$�Ky]��p����W���ݤw������u���@��8��L�G��@��
��G-�bH�Fz���9�:�![�b�We�.�� Ӄ�ڒ}�E)���^�W/��^�b�hZ4��
0����g�F�
=���(
R-�
1��ql�}�9�^�C�kt2T+_�j�j��ӱr
�)��~��{X��{4V����X��q�Q�<_��q��G���'c5Iv��
CR-�;
�
qP�
��X
8TXM�a5_��ڳ�Q �k��&nwOC,�D��޿]:�:I� �e�=���4
�j����?a��7���5p�D�O9�\�z�f�a%*ԕ�8 J��d��v��	A�}��O�h��ʒ *h�ouiw��|���j�
@�=�բ��6��+���}r_V#[�)F��Y�t{ߏ�t� ��$��H�n�t1DU�
s�#f����V ����x��_�[�'�!�
��ѩ�
��j���.�걱�a�oǺ䘩��7��{���
8�Nc�����A�o����C�:�������:��=��y@
�@[ڊL	
)��j�[�Y�^>V��=� �=����멀T�
-�m������i�\��1�Q!�#��;c�K����U�\�m�%J���*�7W�����h��m
nR旛Mt���ZTG�.��a��u���uQ�v��/FȄ!
-endstream
-endobj
-3355 0 obj <<
-/Type /Page
-/Contents 3356 0 R
-/Resources 3354 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3352 0 R
-/Annots [ 3353 0 R ]
->> endobj
-3353 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3357 0 obj <<
-/D [3355 0 R /XYZ 90 757.935 null]
->> endobj
-3051 0 obj <<
-/D [3355 0 R /XYZ 192.853 628.477 null]
->> endobj
-3358 0 obj <<
-/D [3355 0 R /XYZ 90 612.598 null]
->> endobj
-3052 0 obj <<
-/D [3355 0 R /XYZ 211.842 371.627 null]
->> endobj
-3359 0 obj <<
-/D [3355 0 R /XYZ 90 357.128 null]
->> endobj
-3053 0 obj <<
-/D [3355 0 R /XYZ 192.853 89.441 null]
->> endobj
-3354 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3364 0 obj <<
-/Length 1570      
-/Filter /FlateDecode
->>
-stream
-x��[s�D���+��
����a����C���^B'�XJ"�%#)M��9��n�r����mi}�\�s���W�g���K�
����Y^9;J$(q��s>%�ٜ`��ofO�x�^��Q<�ֻߋ݋���؍w�ų�������KB��HH����KZ��h���o=R(,�՚��0S�x�v�d6�O�3C��f�vS�^y�_�����!BO	���ɋ��	1�!�7�B�	g����ǎ�_;1���|������y7�e�z�2���=�"�poZ��o����
� ��+�����
X&(
�4H����pY�������,�H2u0
Z;������-O,�(L� L��Μi�
��
�oD�߱��,Imr���9��%q�����
-#�+T�`�#�#���q��eM�˛�D���y���o
-�X8'�T_�P�����ml���ו�i|����;�1�����g�D�zg����ߴi���-YۊY�

]��ɨͤ�%�4����(���2�L)��	Ԝh��b�
�@��y�q�o� ��h���N�6 �����b�3���u�]�����ӎ6-�
(NK��7q4�bz���v,E��?��B#.���b�/�@J���l
�
�{ؓ���A��6[7
.�>�)�AC�2��m��'�/Wr������k��o&��%j
�\�Q�rq�&i
����b^�WA�k��oUmy`���=ԧ�1c�
�1+�4_"��`\�P�!4K�t=�<��� �N�f���L�ج?36w&c��l����#����9��P6
�
�Yc�A�N�� ���(ӊ�`<c����Q)�܃�R!��
�23����ǰC���f���ҜtV_����ә?!�!0LP
 u�r����C��(��Oϙ!� �Z��#U�B��W��P��Pt&g��`
J{���s���"M�'ߣ�z��4�
�"7���ba���W��n��m�g�U�֠
p�^ٱd� ��
-Mo��Hv	��Ў�~��a^��p�d]��9�`Ȑ#'U(R�T�<�ZJ��x
f�_#,hÅ�ԃ
�k��{��-�|Y܇���1{!�	�v�`�����>�3���,�&k�)2 at A�h��|Ӄ% ����* ��D�%dB�[�7pS�i��͹it+01�)��r�]o�,�o�u9�$��m�~1�\�ꂵAˎ������sޜI����h~�mt��d6���9���|�\2��.�5 ����T�Z%=�i(as��QƆ^�����j_O�Zv�o�!��{����S�9��'�sɡ&@`?}��%�t
R�|捎���Ix�Q���Ջ�t�YG!\�
e��τ�ӎ�í�*1�ڠ���Y� [�	V�	R"�R$E�յ����`uS}�NY��%ztO� ��nWE��n[j�>��v�J� �QL���AB�Nq at Y���?��cM���5��gBL
�v�[w]S�C&
-j"h/b�
�dTF0R@����q�Z��S~�q���֗h��\�I��������t���v�>�/������\A�m��	;�����x��Ay7�
-endstream
-endobj
-3363 0 obj <<
-/Type /Page
-/Contents 3364 0 R
-/Resources 3362 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3352 0 R
-/Annots [ 3360 0 R 3361 0 R ]
->> endobj
-3360 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [238.223 259.422 256.823 270.326]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3361 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3365 0 obj <<
-/D [3363 0 R /XYZ 90 757.935 null]
->> endobj
-3366 0 obj <<
-/D [3363 0 R /XYZ 90 733.028 null]
->> endobj
-3054 0 obj <<
-/D [3363 0 R /XYZ 90 640.528 null]
->> endobj
-3367 0 obj <<
-/D [3363 0 R /XYZ 90 626.387 null]
->> endobj
-3055 0 obj <<
-/D [3363 0 R /XYZ 90 528.382 null]
->> endobj
-3368 0 obj <<
-/D [3363 0 R /XYZ 90 514.241 null]
->> endobj
-3097 0 obj <<
-/D [3363 0 R /XYZ 90 416.236 null]
->> endobj
-3369 0 obj <<
-/D [3363 0 R /XYZ 90 402.095 null]
->> endobj
-3098 0 obj <<
-/D [3363 0 R /XYZ 90 252.839 null]
->> endobj
-3370 0 obj <<
-/D [3363 0 R /XYZ 90 238.697 null]
->> endobj
-3099 0 obj <<
-/D [3363 0 R /XYZ 90 89.441 null]
->> endobj
-3362 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3374 0 obj <<
-/Length 1603      
-/Filter /FlateDecode
->>
-stream
-x��Y[��F~����R=;wf��R%UoRڸ�C�X���68�w��30��{7N�y1f�ܾs�7vn
��0y��\����HK*������$A�g:o\B����}5%�����jJ���vwQ��׿�7�����g���OW/	�[�H��� �\��jJG(��6~\�9�
-�)���ݑE��g<_�y>�Q���TS7ZoV~U#�G�(��FI C���E'/���`���
�p����;�0�����y(g�
N\W���o<�Y����,b�H�ޢV��x5� ��ۋ�&J�5XƱ�
NF�I��E=�ބ>��j�'� ��(�TY��
�,���
O��~^W�v�*
-�g�
gƄ����†$H����8),t�b��7�ׯw9D�z�U%|��
�o-
������'v��AQZOz'�8��Uޛ8#�CK�Wȡ�����_�Y�X'r5GXɾ�
��#Λ)Eړ��y(]
�
Fo1�I��Vh\")U�!�4�H���]<�*$�&�$Tfw����̨`:��r�

�sȤ"��yg�v�.�p(�����]�2D[SGV���N `G!���h�"��UO���;5������$��N�`z�!�6E
�� ���
-y��7��{��~v�]GI1�- x�uK�N�p���.��)�$�p ��I??	�R�C�S�RE���gQ�{��98t'A���E|���1��fC���4��y͔4) ;y%ѯ.0X?J��[�,�*�<������Ij�� ���ZY����&͊(����J�
4�*��5 ��N�.��J�365c>�M{�{)�u�Ĩl�5خKP�{��E�$��ύ}i���00
�Dh���N�MjE�� ��|�]YY�
�2w!��-u���,*��}��\[���XP�(h9Ƨe���Q
�0����l}�G��^F�C}����(�G� ��1:J`8RX
��	�1D����#T�C�z,��3WS�q/��طٶ�5k)�Gu���x��0��Ffp;��F
�s�
9��D`�c�%
��Y���
-�q���o��}�~��so~�UT���=�x���{�[!�2|
S�HI�	]���
Q�
-� ��
.��)��vE��/E;�'�
��#�2��K��C��}�Q
-
E�=���y�:,Ĭz��0N��
�\���V��J��ZR�-Z���M�W�K��|�U~�a��q+CAH
ʡ-ww��ѝ�b T
�
:��.�	=k�@�@抽��A~kv'���%���J�G6/��mdc@%�^��ۗD�h�y�/���/�җi_����f��8�(j�kX����#
��ȣ���f#ҷ5�S�@�q���7̏�p��u�,O
(��@y��=��	��g��˝(CG5�V_����
��6��!%ޥ��[�6'؏���+�De��H��=�P��P*�W������R����'4������7U���e�������#����B��)����

�%��,�*O4� F�s�)�����YY��S��yR:�՗(�����(6󫫇��h�ě
���f��:���*���E��p��8�fQ
X\��$
��'�[
-endstream
-endobj
-3373 0 obj <<
-/Type /Page
-/Contents 3374 0 R
-/Resources 3372 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3352 0 R
-/Annots [ 3371 0 R ]
->> endobj
-3371 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3375 0 obj <<
-/D [3373 0 R /XYZ 90 757.935 null]
->> endobj
-3376 0 obj <<
-/D [3373 0 R /XYZ 90 733.028 null]
->> endobj
-3100 0 obj <<
-/D [3373 0 R /XYZ 90 528.165 null]
->> endobj
-3377 0 obj <<
-/D [3373 0 R /XYZ 90 513.847 null]
->> endobj
-3101 0 obj <<
-/D [3373 0 R /XYZ 90 359.634 null]
->> endobj
-3378 0 obj <<
-/D [3373 0 R /XYZ 90 345.316 null]
->> endobj
-3102 0 obj <<
-/D [3373 0 R /XYZ 90 191.103 null]
->> endobj
-3379 0 obj <<
-/D [3373 0 R /XYZ 90 176.785 null]
->> endobj
-3372 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3383 0 obj <<
-/Length 1369      
-/Filter /FlateDecode
->>
-stream
-x��[o�D���+��D&s��"�î���B<t�ʍ��El�i���c�ع�q
�Eڧ���3����`������7���B0O#-��f��ƞqJ�Y�]���0���GE�^���ia�"��)�+��i:}�
nf�'��h$B .BدQ���۔`D;�f��h� �;��(a��x���2S��Y��o��2��]��ܛ" �7�
�4��'T�JG�f��F�`�4��Iƽy:���^
��=��Vަ�J��2���F����,>a�O$�@Xk�}��U��Y9m�8�2��|�U�$�ޘ��VEY��i�!��e�F��:5Y��pr��n�9Ҵ
�lQ���&
ƌ3?��Q��և!
-q�3��]�B�U��Z$���ۚJR�
-EYܣ�H�1ie��z�@C��)�5>N��":N�y���*�[�o�T~^�m�0��d'�gU�d��2��1
)���Z��H>k[nun�|aW�Y^ه
*!���'�Z�W���Ll_��r�p��뚇8O�t�����#�
�#�L�#
��gI�0
���›5�H��Yc2�Zo�6�l߫ETY�y���?�Ql�
-�U F���`0���zew�~=����_/������޶=����օ3�I
-����J�M��&����2�7mcSV�Y �'�
r���%a�
��[�"�s�Z�=g�A͆ 
�îi���ɢ��%;�[Y׉
�-C!��X��'����O
-�p(O�zW��Q2D
پ���
�2��۱�bŐ�Y�$��Z�	�����Y��o>e���7�mY����l�YN��� E;�^'�2��MO�@�Q��h*MP��o�9@Ɏk�w�`;0yo�Bх�ʭ��ŵ�(a
�$O8J�KG	Cz
�a �PAOA��?�����W����Vs���G-��|{�>��M�
۝��.[��7�ډh}��J"$��R��N��;iP�9Gy=ya�HIyru7cF���1��P$��{)O�P��������
���z*!m��k�l�Y��
-P��l��PΘ�������`J!�3��u��a��O���/� KG~�*��C3� ���A=�W���	�D�o�����د��ʱ_�~a�g�����ѿ����ȫ��[{L���|>`Z�v�����CzH�F��9IO�Iz�T
�����
�g�A9JzhS%�P�W0�%=t�>��
�OA���)��qxq
�&��{��LHK��M<׈��.뻫��e�}u �/�����1~��us���X��n�u��Q}�^�0C`�����O�}�q�Dwk/Q1ܵ�V��d�٠y��Y�*PRMV���y
�h�
�NI�iަ"�`1���~��
$!1
-endstream
-endobj
-3382 0 obj <<
-/Type /Page
-/Contents 3383 0 R
-/Resources 3381 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3352 0 R
-/Annots [ 3380 0 R ]
->> endobj
-3380 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3384 0 obj <<
-/D [3382 0 R /XYZ 90 757.935 null]
->> endobj
-3103 0 obj <<
-/D [3382 0 R /XYZ 90 624.575 null]
->> endobj
-3385 0 obj <<
-/D [3382 0 R /XYZ 90 610.004 null]
->> endobj
-3104 0 obj <<
-/D [3382 0 R /XYZ 90 467.557 null]
->> endobj
-3386 0 obj <<
-/D [3382 0 R /XYZ 90 452.987 null]
->> endobj
-3105 0 obj <<
-/D [3382 0 R /XYZ 90 310.539 null]
->> endobj
-3387 0 obj <<
-/D [3382 0 R /XYZ 90 295.969 null]
->> endobj
-3106 0 obj <<
-/D [3382 0 R /XYZ 90 149.497 null]
->> endobj
-3381 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3393 0 obj <<
-/Length 1442      
-/Filter /FlateDecode
->>
-stream
-x��YIo�F��W��R at 5�}�
$A�pc5�h���J$KRV���F�%j�-E�H�q����;s;{oǽ��
�����:;J$(q�3��%���`�݋>���,��E�b7Z<���ě|n/y��F����O��4V$R"!9�Y�M.�ڔ`D+���_;V� �+�_�,�L)�n�i@v�}C]/��ϟ|�o��O��Sxd��.��.�{?���#�
v��B!ń3]����3��
����z#�t8e�p.{��A�R���g�
�f����k4�AG^ٞ=�~�-�2��
*�$5���������Y��S���`*�]�\ ���r�h����4�'+�
�fH�
 F1Y��d��deS�H�oX`x�f������C
-a����aD+k%2���L�i�ɴ��"�Ls!PRSR
-]�"��\P��2��b`�������"��b�� ���D:�o�����͢|��pw�m���O�cֱ3GFW�fwA��
�Jm��,�-��Ȁs����
�:��$
�^��i��h��]
a�Z>i��RD��t
��~鶛B`�����6J�
]�av�Xf����}�}��Y Y�(KM]i6� K8v�E0�x�|e�9d?$�!��?��T��ȹێ����e�I�8���p�UWi�NH�
-}���, �S�� ��2���fᣎPʑT��m0������uc��%kt�ç�]��vͧ⿀kl���]���=��
D�7�V  �n��/�}����
�	 p��
��fB
B|z
-�n�����_꾻��ؖʭ]4�"�
-���'��}�zj�gQ�Q� �)qB��� eI�J�Ჽ 8Ļ8��(఻��!��
O
-Ǫ�I�@(R 9#�6#�WF�/2Bz��N�JC
�0�5
@�h�نb(
��
m;����j[�v�
4R�w'���M@`����0_J�"���a�9��煉HҘW�x<O
/��1�F��kv�/���g
-��2��b
-X�9LQ���e
-����*��%8�:8���՞3zI�A(;П��Qн�<�(��@*�3ޞ
�A��2{��@[� y���d^
{~��s�6�>��0K{�0��f��QW9�`�%�h�����=��-H�4��YaN����g�u!��J��$�|'$�
-VȰ*a~�C
j�K�`
�vc��jQ+���
·�=?d�1Hkm� @vu����#��(��lL�����b��vu=����9X;�-*�N���TP4aTx�;���
�����ړ���Y�Y}�g�����F����
-0�|+�.,�Y�)nK��o
��o�1N~�
�~��
Wޢ����RP&��0��,N#�y��K���ܲ���������D+�pU�wY����z��)Z�A�� ��b��W�U���I����Q�i!<\v�}���}��
-endstream
-endobj
-3392 0 obj <<
-/Type /Page
-/Contents 3393 0 R
-/Resources 3391 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3352 0 R
-/Annots [ 3388 0 R 3390 0 R ]
->> endobj
-3388 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.4 207.205 212.124 218.109]
-/Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-3390 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3394 0 obj <<
-/D [3392 0 R /XYZ 90 757.935 null]
->> endobj
-3395 0 obj <<
-/D [3392 0 R /XYZ 90 733.028 null]
->> endobj
-3107 0 obj <<
-/D [3392 0 R /XYZ 90 592.061 null]
->> endobj
-3396 0 obj <<
-/D [3392 0 R /XYZ 90 577.49 null]
->> endobj
-3108 0 obj <<
-/D [3392 0 R /XYZ 90 431.018 null]
->> endobj
-3397 0 obj <<
-/D [3392 0 R /XYZ 90 416.448 null]
->> endobj
-3109 0 obj <<
-/D [3392 0 R /XYZ 90 269.976 null]
->> endobj
-3398 0 obj <<
-/D [3392 0 R /XYZ 90 255.405 null]
->> endobj
-3110 0 obj <<
-/D [3392 0 R /XYZ 90 98.98 null]
->> endobj
-3391 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3404 0 obj <<
-/Length 1682      
-/Filter /FlateDecode
->>
-stream
-x��ZYo�F~ׯ�SK�z�C(
-4E$m�4Q��-�6[�TIʊ�}g�<D��dGN�"OZR��9�����<�
<�
�^H�d$����3�S� A�7�{�>!�Gc���2��R�'���p��ߢ�4Ho��gɧ�����lq$R"!9�W0�ё�6%њ���}
-$���if*�_A�
GT`24���E������2L�D�a<�W���-�����6�#�5�B�	o�
���
޿�0bF{��j�q��s��1����
a)�"��*͛W"�U^�a}y�{~�
-�`i��|�=%G\��dJW7��I4w<
-®́P`�
��Y��-s���x��Y�Ql���q��8���!���
��6l�4
-.a6}���s���Z	#k�'Ӌp��g8�QK�`g\�MJ�m� ���":��p���"
:c
�$$�K�d�Z�!���ϯ����N���r��gC"�[�b�F0�� �����
낒�ɥ���\�Z5*a֡GF���Q֡
�e��(�v�a�
-g���6O��Y�+��l�����2�3�&��b���m���H��)
�mɯ�/�����QtG�{,Ķ
Pj�(�
t�kWÑ����Cfe��4��ם�
QL-$�PH ��(�
�%�l��}ç�D#E�vaA{�c�CKfCcujM*�eU:Z_/����ue蠤�D��[]��-1�-B �0��I�����Y��Ir?s�&��|>
,q���h>
ҫ5ȟ�E�#Mc�4R�o
-��u%'�H�"3%���&�܆��G�s�� �t߹䵫$._9��~<��
-�wa��t��A�2�pf��L��.�
-;���[@!����i�Ln��mԁ�#"5�0���l�{���H���L�#�E_ʹ�����C�b���)�ڴ[���VA�<��G��)�̩C_;�~��
:$}�me�}kM��] ���6�
, at Rʏi%�1���ڝ�υ���*�98��b�V)
��m�YC�]1؂��V���y�I%�M}��p�!8TqbT?�����&ɓ1�H�g� ��
Z���)�HA�tb�yD
���1�J��4nY>xx�H3ҋ����$��g`[�´i�)�v����:�? �!ˈ_�.�`� ���
���PE���y]�z�
0_�N� ���o�;-��~����?�
-��� ����|��G� ��Hq�4�q�$
��3��~����-�=9�O��i�)���)�m��:�~�:p\w� �U^�Hθq0k�ܲ��[v"���Ч��bZ
H{���}io|����
ڃM ?���~�����ޅQXj�Ym���Y�s����g��Ã�tI�|��.��	�4�DYرˈ����l�\��k;F�O棬:�t���6ɦ`� F|�lO���G��R���?t
�	뺎R�na|�gk���QJߣ�ͣ˭�Ǻ�I�$�I�{8��0����q�
��d���x*�
���
��]5�[���̿Ʊ�
�����߀{m��?. at D����B��DZ_���
-� !�����LY�-+�u�%亇?�0�~(�_���A�
��XVa����|�b� A���.�.~�f{���Aa�F^��jN���|5>;�l6h��u
�R�g����nmq!��L.��	�L��
^.���;�����
-endstream
-endobj
-3403 0 obj <<
-/Type /Page
-/Contents 3404 0 R
-/Resources 3402 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3411 0 R
-/Annots [ 3389 0 R 3399 0 R 3401 0 R ]
->> endobj
-3389 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.573 690.333 216.297 701.237]
-/Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-3399 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.024 589.176 483.212 620.144]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3401 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3405 0 obj <<
-/D [3403 0 R /XYZ 90 757.935 null]
->> endobj
-3406 0 obj <<
-/D [3403 0 R /XYZ 90 733.028 null]
->> endobj
-3111 0 obj <<
-/D [3403 0 R /XYZ 90 569.153 null]
->> endobj
-3407 0 obj <<
-/D [3403 0 R /XYZ 90 554.592 null]
->> endobj
-3112 0 obj <<
-/D [3403 0 R /XYZ 90 451.078 null]
->> endobj
-3408 0 obj <<
-/D [3403 0 R /XYZ 90 436.517 null]
->> endobj
-3113 0 obj <<
-/D [3403 0 R /XYZ 90 333.85 null]
->> endobj
-3409 0 obj <<
-/D [3403 0 R /XYZ 90 319.289 null]
->> endobj
-3171 0 obj <<
-/D [3403 0 R /XYZ 90 206.669 null]
->> endobj
-3410 0 obj <<
-/D [3403 0 R /XYZ 90 192.108 null]
->> endobj
-3172 0 obj <<
-/D [3403 0 R /XYZ 90 89.441 null]
->> endobj
-3402 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3418 0 obj <<
-/Length 2270      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�~���SWj�wRn�@w1��K�ٙt_�C��D�-������{(�F[R��i��>
2��s���hb����w�o�'W�%�H*��`OI�%�������tF0���)�~�m�Ň)�~�9�E�,\��dav�ϿI�_��zOHG"�	�A_)��v���`D��_��#��ܬ�z@
��n�<����4�~��m�"�O>F�(��G�
Dh�0b�N�]O�5! {��PH1�-���_����?x�@{媭�)������	
�,eK�z1�h�ޢ6�t�l̃`#o�^
vQnag
�J�(a��$ S�+n�tc�8
`�L����q `
!cvW�z�|����x}X��Zo��›��@T���qr�X�I=
Ȝ�6���,0<�
�q`oL�U�o��59�,��]w�ҍ�C��x+vG�5�
����?��&N�/v����3�����
-I�[��������ԾG
#�Z+0뱂�@7Fwq�c ��f;aY��t�۪�?~7�>��l����(��{������@�a�I%�Vq�b����m�G6A��DS�qqgMKwѲp��H�y
nG�@�jJ
-�� �_�Ŝ#ڊZ��<��(���W�ymh�ϒh�G�H9l3J�b"�IN��׶�b(�,�
��'UˆVX
�R���p
��
HHB��J���e�3��j+­�����//V�y�L9���M�Z���~%ő-�cpt��,�R�?����N�P�@[nJ Y�W"��X�h���Y�U
�����8Y��
T��&B=m�"eB�	�
��8��3��`hƁf5�O�sͬ�7�-�WV�K�
d<'�c�(}b�A:�6��~��y�6
,��6�����/p��̳_
 
-�8�X��HLA��a�7�j
e/��1ɰ��yf�w�;
��,q�y�Ԣ���J^d^�ѩ�C�#�ߦQ��e
�(�0.���4eauw�^�j��l*c%�6N�"�3@�Z��3H~���ױ�0M"���u�;A����y5���tf0
-��3`öɿf:+�۰��?8��1��4M��ּ&���|�;�5CD��۽OV�B�]w�a�}R�-�i�v%�0��&��r�'8�\���k dnz���8�B�ɣR��D����̀5��;��>�9��Ì�
�-�W��r�I���-T��� ���_ul
-V<o�k�5ԉ�Рw��u�e���OL��߇�xyW=�W��^"��`�h��h��#����*�f���n�6|�rv���NV�����<��
��:�
�Ɛ���E;�{�o����%z
7�{���
����u�q�M�́;�@L�
�c%a���8��E�n+�"�V7 N�����55婂�ܠ"h�����4� 8�G�B0u�	�x�X���-S ��谡
��t�\���
#�ļ�]V_��$�3���<�M��8�`$5�Ea����~��a�t�����A�!��0̣Q
N��=���|�)`�GO�
�'I �T��P'�6��J\i�U`ނ2���
6��ŵ-�<6�n�hb�U/�``s{�t.�0J_�&$F���%V����Ni��Q
nf�
��{��&
���0�A����
Q
؟����y
��0
x ��d���-/my�1H���1H�c�38tn�$� -�/)FWyŀ����
�
�<�b��(���7y��,�A^�2��e�tH<�e��S��_�2ȅHF;}~go�2��"�����X�xC�A$�P= ���>�n��NYF)�4�8b��jGi�吋�r�d�6J��o�_#h�3��9�� m���*�?F��W�ŧ��&�
��,��m���c�5g�=
q�����(tF�w��F�
����EH�9��ܞ
���	�٨��� � =�H^�v�;)UV�n���EJ��0hm/Xؿc�J�w�־qwJ���KWﵓ�
������~]��y���9K�P��iBihd��*4N�_ٵ�#����
?�Υ/,��`3���/V�.{������XI
-�K��/�wZ�g�d]�� f���;�oL�Fu{������v���A�M0�X�
ӢZ��QvgnDuhr����I ~�ϯ.�=��'5�w}�E�2����?��
F73��XQ��������(�j*�_��oa��A��j�F��k��
сWc�STW���?��?NJv
- at +�p���b7��zxx@�
�x������6W���#�p�ͽ�nӬ���e�O��o��uR
-endstream
-endobj
-3417 0 obj <<
-/Type /Page
-/Contents 3418 0 R
-/Resources 3416 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3411 0 R
-/Annots [ 3400 0 R 3412 0 R 3413 0 R 3414 0 R 3415 0 R ]
->> endobj
-3400 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.275 690.333 293.971 701.237]
-/Subtype /Link
-/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
->> endobj
-3412 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.269 550.53 238.02 561.434]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-3413 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.089 324.387 246.767 335.291]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-3414 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.899 96.965 431.977 109.883]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-3415 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3419 0 obj <<
-/D [3417 0 R /XYZ 90 757.935 null]
->> endobj
-3420 0 obj <<
-/D [3417 0 R /XYZ 90 733.028 null]
->> endobj
-3173 0 obj <<
-/D [3417 0 R /XYZ 90 625.136 null]
->> endobj
-3421 0 obj <<
-/D [3417 0 R /XYZ 90 610.685 null]
->> endobj
-3174 0 obj <<
-/D [3417 0 R /XYZ 90 398.993 null]
->> endobj
-3422 0 obj <<
-/D [3417 0 R /XYZ 90 384.542 null]
->> endobj
-3175 0 obj <<
-/D [3417 0 R /XYZ 90 172.85 null]
->> endobj
-3423 0 obj <<
-/D [3417 0 R /XYZ 90 158.399 null]
->> endobj
-3416 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R /F13 540 0 R /F7 505 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3430 0 obj <<
-/Length 1870      
-/Filter /FlateDecode
->>
-stream
-x��Zێ��}�W�)�������]`m؋�l Ǟ��k�D��H�Bq<3��������
�,0O��fuUuթs8��u��G��F���%Ier�N
N�$HP�\��OcB�L	�x�nB�8-w��݄��~{��Ve��%�R���|�j7�|���-!
�DJ$$������%Ѧ#�,����
-Kp���3F��W�ަ��dJ
_M

g��6�2��}���	��X�#C�
F��ћ��F���l��r7��'+x�s�3:�u�v	�
�����#
2��fX�!E%"��mHm�˪�<Ν#}K��Ft��Ha�L��f��e�����+T�:CW���m����&-V�¿~�P���mx�_�kU�Ί�L��oYx;]ۗ~ŘaI�A��}�מQH���dx(@x�x�����Uo¹�}�o/o��������p1��Aղ����
d�ڗg�U�כ
�>�]6!b
�d��
>u�Xe�~�Σ
�@�
ţh�Q���^�zE����x읏�����'q<�ٯX���
X�
���d��m^mj�֮an��
	�N )$�M�"4�+��M�"�-�e j�)�HRI�*魼�[fίo�J�:r�V�y^L84t�j��!�
�a� ;�Z�m4��-H���u��1�
<��ui���������6pG����n$8"�鸺K�͡�6
ۺpk(��Ŕ��@�������f�|}p�2�ޯrȲ��i�J�".��X�w���B��Һ�\ ܾ;�v��a
���ih�C�
;6�6�1�,�oR�Gd�>�-�L�Q40I����&
-�2���T�H=
�vi��L�́U������%�g�!Hrq� ظTs2 ��*�����&B^
-$�t�s�E �B���DY��;su��=�.����ƈp���r�zJ;�1,)����mL�`v�z�_&S)90%?F�
0�vHSN���I!B�֗ ��◼��r��.��g�o[�
Dm���(1Rڜ�dgI8"��_�3��e����4���so���Ɓ��DJ����!n����&�@
["
��s�ؾ��a�I6H��E�i�Y�J��M���b
��< S&)� ��+���M� s] �>��� Pq��ρ�@�	ke~S ���A�Ti���O@��]ٲj� W�<��J��:h��?��Onaē탘yÁ���@G�ԇ$-�	9��|��GL�~Z'
�"4

�8Vp��"4!R�g~��؛2c !��*�#ɱn"�@�p�
��v��5o䓓K�MKa�
�m8G.j�d��v��n�rhX1h��8��' �v��C���7}����ї���dI#�04:i)��}��Ɓ
����~��/2�Ef�����"3�2S������
��/�R�?�����!QF�F�e-��qH�@h�e� �~X|�i	E�]|:�>&߲ZA�Lܲg��3���ޜQ9
'��G	4��F �1p�a�F�8#� X�z��0
-b�f7
�co!F�as�
x
���ݵQg!�zI�Q.{���Q$g�AuF4AV���=Vf��S���
�L & �ꬊԉ�k��
�ڋi��v�:M`�� �T;[Ϋ�)'
���
��wu� Wh��$��S�	�E'~V
I���id=l�%�R;��:O�;�P��)y�����傀s����;89y&JN�'���i����xy�R����:�
hZ
-S_�N�S��w��I�!\S�0:���?�K
�Տ�[��{u�F�D@ޫ�w��,�
?k�����똕�1��GZܤ
-��jM�4M����
^VN@ԇ��d>�'���G.}�A���&9��:�g���[�<��"?�(�f��vvZ�
+��-�Z��e�/C�ywN��_�݆f
-endstream
-endobj
-3429 0 obj <<
-/Type /Page
-/Contents 3430 0 R
-/Resources 3428 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3411 0 R
-/Annots [ 3424 0 R 3425 0 R 3427 0 R ]
->> endobj
-3424 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.617 504.305 476.603 515.944]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-3425 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [323.631 246.716 429.297 259.195]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-3427 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3431 0 obj <<
-/D [3429 0 R /XYZ 90 757.935 null]
->> endobj
-3176 0 obj <<
-/D [3429 0 R /XYZ 90 579.03 null]
->> endobj
-3432 0 obj <<
-/D [3429 0 R /XYZ 90 564.46 null]
->> endobj
-3177 0 obj <<
-/D [3429 0 R /XYZ 90 321.441 null]
->> endobj
-3433 0 obj <<
-/D [3429 0 R /XYZ 90 306.871 null]
->> endobj
-3178 0 obj <<
-/D [3429 0 R /XYZ 90 104.608 null]
->> endobj
-3428 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F8 504 0 R /F13 540 0 R /F7 505 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3439 0 obj <<
-/Length 2298      
-/Filter /FlateDecode
->>
-stream
-x��Z[o��~ׯ�S+�x�5-��A���y�,ڢ,��R��ί��F"eye7@�'S���9g�oh
�E8�n�����d�AFR]/#�#%	�D׋���'S�1
��<��M<7�x��Wɢ��?�7E\<�f��'���zKHG#�	���S��	��h#���/=Z(��F�oJ��%�]ǻ�dJ
_O

'��:.�}�L�	��$��[�=&�Y��7ף���q�
-)&�����'
-��F����Im"N�]GF?����R��mfCLW�-k��� hة
�����|�&Y��Ȉ�z �� �ũ���F��v��tQ���ZP
j�T ��~ϧ

D����B#�pAVf��$K�x���,���W�i�̷��M|	��X��<ە����4K�b��s%�ۥy�%��m�
 BĤY��j�W��T�W�T��}���
77��G9
-�I`��w���,*D�j���
zH`��
-�j�J�F�7A��2D��ĒJ&T�4����4[�#����݅'�!	��B&�{����]f{��q���h�	x���	�z���h�4�*��ا�~��ě�u�PF�����W/��CZ��E��&��w 2�3�r�d�YqWM��ߍ��N��
��x9�b����*�����v�VwOc��q�CH�d��r"�����@�L[)4!R����K���
r��d�  1~X%E߀��x�"�Uo�
�r�T;��j��%M�ܯ��fw
N�p	�7�}��$�����@Z6b�`��&���M)�����j��>Q&�n(h�-��"V
‚
�y#L
"��2�u��ɲ:�8���K�ӃB�i�1���g�_,>N+�S"S�0�C�2��1G����i�"o^:�$��"Ƕӻ�Y:]Pev���0��Ϸ��F��j0�n�+�Y�M8
��h�m���o��<�ȐN���P�<���Bs����
��F^����4�~�l�n�U����i[����h��`����ȋ>=v�<1�2������`BTB��p�W�L��,�u��Ď�&�lN��<���!'�G�� � �ʓ�� g���
��|�qS$e���YaF���X�il
� �t�Kwv>�T���g��<j �����<�o
�e��ewS�c虄�
�ɎVI;>	(�o��e�6��4/�8-w���t�]���
τD���$�7i�y�B ���kO�kخZ�
-�-S�X�%�":�9��@���ak�HQQakq���
��0e�Iq�$VB�����Z�~h-`��s�5}��
-\�-�
���8	�A�^�`����Zu1���IZ��E�z�߭�t��r{��z��TwIx��)��P�\Q����Q0G\�i�;��ZkT���JtHXA1 �'�*Rދ����;M=�B�����I"�R2D�y�
��j7 w�` �����YԳ�'�A�^œ������B��!"��"�m�r֬�i���/�
��u�p
BQmi��r;��|o;��6ݝ�vئeZ!C;�uK>A.���\tv�Avak�e��
�"�'
��˵G�I��
�4�{	�Ty��������n_%�M�u>�PH(
����6�<s*�ÁF'��/����B�7
[�����e����øw�;��Ƒ�:���
[�qu�;�R񭖫xF�,]{��e�a��*�Ć�D�c�*<C����ݴ�,_Lic�Ě1��&�
b�@�����	��������
��T���ykۯ
ް��
� �y{̺V	P�� :7m1
�@�W������S�I�E�4���Eo"	�x��� �5}������d�
��
�����=���2dZ�6�ԁj[2���9�ݘzK,��z��]�.��+!�4��O�=�z����?������i�1v
Ӱf�Z
2g�9C��>��_fwJ
���w���u��d]�]��a�����	r.�<A�
��xUrN�"�J �16�@n�9փ߽x�
/��[��ţ:0������/X��^2J�
����-=
=��8I�A��� }�A��9�\)wj��\=E�큯��N9�|=�U�0U�,z����
z��
-ʗ��շ�g�s�_���� �
�s�!�B�A������_�������W����&5�G��Ss3)���B ���v���-��~ր���!�������!��)��u�6U�V
��~ad�i�����!�7nٿ���#���v7lFͪ,������t�C�,�(-�����q�u��.__�
��k��fps�F�Q��[;0f
-endstream
-endobj
-3438 0 obj <<
-/Type /Page
-/Contents 3439 0 R
-/Resources 3437 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3411 0 R
-/Annots [ 3426 0 R 3434 0 R 3435 0 R 3436 0 R ]
->> endobj
-3426 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [334.883 678.378 440.282 690.857]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-3434 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.059 465.882 422.924 480.597]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-3435 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.333 200.38 425.662 215.096]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-3436 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3440 0 obj <<
-/D [3438 0 R /XYZ 90 757.935 null]
->> endobj
-3441 0 obj <<
-/D [3438 0 R /XYZ 90 733.028 null]
->> endobj
-3179 0 obj <<
-/D [3438 0 R /XYZ 90 541.632 null]
->> endobj
-3442 0 obj <<
-/D [3438 0 R /XYZ 90 527.316 null]
->> endobj
-3180 0 obj <<
-/D [3438 0 R /XYZ 90 288.086 null]
->> endobj
-3443 0 obj <<
-/D [3438 0 R /XYZ 90 273.77 null]
->> endobj
-3437 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R /F13 540 0 R /F7 505 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3452 0 obj <<
-/Length 1997      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�6~����&3ëH݀�X�݀n����l+�0Y�$�i��w(R:�
w�
}�,�

���}T��[{�Ͼ��]�
��0��wu�ؓA��j��	A|� c�՜`?*����9�~��o�u]��,˨����6�0w���KB
I pX�q�̘8��hg���#^(����	',l-^�QU�T`�j
R?�iT���o�M\Ή��l�B"�O�Ng�]���p�=�dCH$��V�ٛw�[��=�X����j�q��3�^�~�a�Y<�a"
;�4@��D�݇U\�I�U�M�^.^�b�U�$��[BU���L�9���(M��Qy���Y�8�x)����M�զ��T�w�|�������\�@��O�q�o�,����:ރ�� Ie��
�*����:�#�E�.����š���qU��F
�q�Z�ݴG�To.��2��ƚ��`Ͱ�Z��o1fc��X�=�����+8����c�	���Y$�*�Q�,S��Σ�
�#a
��K��hl�0\���JiY^���|TE���Fp3�(�gr2'�XN
-Ig�Ff��GP*B�:�B
qb�nA�!�(0
�!��]3��E�E[�F�	ĒV",*��ht͓�q��X
�:
��5'�Lȡ��T\^��
�
mu t�B���QQ�� �ɭ�=�+�;�a��
a
c�
��C
_
q1�����
>��5Ff��v �&��$�ߍ4��H��
�
-�%��M��p����q��b����P��رpݥu7�ͧF�]�d�6�Ml	G�gyk���g�c ݲ0
�0��y�wq���I�
�N\�mq�-U���{w� �H�`Ҁd��	&JA��'J�C
-q����O&�
-r�
I��\A	m�ru��>!W����DB��M>$
��_�����U'��R'�ŋ2���!I��w	�J@��`
�>}�=-c�c��
�_A%��v��p<�4���B�p
-�U%�j����;��G&�Y��p��Ց�P
�&��?R�n�E�̧�
��I<����#��B@�
��0X�剌�@�Ah����sS�%��-VT�}��8m$D�F�]U������e�vCVG�
VC�ce
�ዞ�4�'m
� �:q)`�LeN"��|�W��y����<ɠv�'��fdM;�j�ג"*��
Q����K37�1���K㑛��l�`�A����O�Aq�	`���!LA�ޮ2��٘��-%\r��"��
w�k�՛���F{
��ƫM����5R
�
f`�+əT"	?��)�ȞP&�@L� 6uPiA�l�x��1����� �'~�{�>>�^�j�S:�Պ�Cs�=[8�q���	vL��1����˔#b��	+�p��*h�Ǩ������
�h��
�C��l	�
-@}ю�]0�@CR�3�hܷ
���Q�Y�~��U��^�Y�+9Q����x=A�JW�pb*{��A�Z��"F���Q��tv�`3���<�X4懃6˛���>��;D�o�SB�3j�qvѧ�����
T}֜��ɟRsJ9�9%�G$��lDҁϏ~4	���F�U'$���
M��Fp�)N�D��s�Qw񇺌�
� u�%
����ʟ~'��c����#�
y/�"� )NzP)9�;|�/K ����}�i�0����YU#��D
ý�<�3�#)���a�W����Q���/���D�Y~�yA�$��OY񧎩=e�^��
;���S��f"�y �-��g�V������\�٬�W6�U�/6�V|8	C�?J��@[�9�݈$�
E���V;؃�
-vVi�o���>���t�N
�
}ǁ����s��|�o$"�D=����$X*��dʾ�%BP��%Z��W�������W�����U\~9·��%�vQ����4fٿ!��
,�
��
�
iv���^�4k���K�D
w	��uqyqqww�V�eIQ���(��⡺x!�7�nZ���۾Ht�n���� {��?
-endstream
-endobj
-3451 0 obj <<
-/Type /Page
-/Contents 3452 0 R
-/Resources 3450 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3411 0 R
-/Annots [ 3444 0 R 3445 0 R 3446 0 R 3447 0 R 3448 0 R 3449 0 R ]
->> endobj
-3444 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 619.579 322.446 630.483]
-/Subtype /Link
-/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
->> endobj
-3445 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 502.635 340.17 513.539]
-/Subtype /Link
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-3446 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 431.294 268.34 442.198]
-/Subtype /Link
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-3447 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 302.396 340.17 313.299]
-/Subtype /Link
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-3448 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.062 98.244 276.047 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-3449 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3453 0 obj <<
-/D [3451 0 R /XYZ 90 757.935 null]
->> endobj
-3181 0 obj <<
-/D [3451 0 R /XYZ 90 682.316 null]
->> endobj
-3454 0 obj <<
-/D [3451 0 R /XYZ 90 667.779 null]
->> endobj
-3227 0 obj <<
-/D [3451 0 R /XYZ 90 565.373 null]
->> endobj
-3455 0 obj <<
-/D [3451 0 R /XYZ 90 550.836 null]
->> endobj
-3228 0 obj <<
-/D [3451 0 R /XYZ 90 377.088 null]
->> endobj
-3456 0 obj <<
-/D [3451 0 R /XYZ 90 362.551 null]
->> endobj
-3229 0 obj <<
-/D [3451 0 R /XYZ 90 172.936 null]
->> endobj
-3457 0 obj <<
-/D [3451 0 R /XYZ 90 158.399 null]
->> endobj
-3450 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3464 0 obj <<
-/Length 2361      
-/Filter /FlateDecode
->>
-stream
-xڽYYs��~��SV���1PR��]�M6G9^%/^�
-"F"jA�@S̯Oρ� e+�<��
=}��C
<8�q��vqu#Y�XR�>1"I��$�M�O!!�/Wc
~X
&�6����8,��F�Ur���J������i�����B
��HH�Y�t$�C	F�#���g�P �
͟�0aqK�>O�z����˘�z�˓F����AWK�B]�a+&B��	�t����˂ 
k
���`�]|����
-0b�
-�jp��o
����{��V1 ID%"`+�7m�Ս��k+Ȕ��M,��*�8X�_,�cs
}xu#�г�cњ�3�=x�>4��q6���Α��h��=ш1�Q��m�e�$Y�S��
-�%
�B2�$m��c��:T��X����d��
�

�Xad���O�#P�}���Kv#
�^�ۍׯ>֍޺��ӹn*к񡷯[����a���%�W�n��Y�;��s�Q�I�t���]T�B(w�|[�9 D�k��Hr����!;�++5l&�t_�٣v�.���͒�\��uSVY��^;�`��o�
G�L{�)!�A��
��W�
-��
�/X`'�p�{ި�s�hV�"Q
AP,��.����[�Ƥu����㏋�So����5��o�@C���R�'GO�כ"��� 2��mT V
#I!�@��N������;�?�5�����a�<K��q��Es�*@��>�!6�%���L�r�:�_;i��0H���
5`��

!FTK���p�TԱ���=��t58d��r�K��Ei
S��3>�	���L_*k�4��b�"��8���d릭���
��
�R��7
4#ɠ@ +hq}CG
q�z�v�Ӟ��0f�7�R�U������JD�L�0`��b�hg��&��,u<_�@�D^D �S�@�VJ]�}d�����#y���T
Ed��"�,
)�^�>w Z��:��g;�[�эR$�����~�(�%	�(�d�G(��!�\��h�ӟ�"�0�<�AP� ��SW�����֚�@"Aߘ�^����z	��2h{�9���>oܳ�u~��f�B�ёP�9�X�"(v����� - �R��(�z��kzЕ�'/k�w<�q�{�
+mP�(�+�A�
w��������}k�֖���i1�c9n�/���;�6��E��z
-,��q�h_�.��x�[fb��T{�6~|���Z�*^
}�+!�B�]g��y����$��s�E"E���j
\
&�.��B��NH�����ljӼxk@
����2��~��uR��
��� wK3��*�ZY�1��2�}�w��V� �༱d�X2/�V'E�,��S6�T��J�o� ��;��*+z5m��f�'t��w�`�5+��p�¬1ʚ���X�ڌ����I=��F ���`���^.�5<
�Z�	�z_U�ZhG�)��{2�f��i��"qE��|�^WK�`-��@id}���KZ6�=n<[q��?�5���v�A�$���
ܕ�'d��p� ��=�g
����{���	��<�e
[FǯHM�x���+
-��B
K���K�خ�6E��,B�͑�-5�ӆ��9&�;�t��{�dv�!4���f��4#�i�2y6�\S�
l&��N3��K�S�eEƧ���XF�1�$izW�FP?Rl��m�����}{�er�{{g�;7D �#�п�K�W
#$��t�H�z��0 -t"���+l�?L���4=�>X
Փ�,�trA
 ����[�\n�B[�hX�&�>{�HO�O�;�AA�ڨ�"���0��
�hȒӁ=8�/�@f�a�ٔ��r�n#

�����F�
v�"u㊽��
��e�OFR��LK禥g��ċ�B/��ݦ��n;qK�l�����R2����G�����%q��U�Urt{�ɫ}᱘2p�*���v��Ճ��Ȱv
�E'�NM�%qxc��oF�
h׋���uQ�$U���>T�v��m�
�$��W�w�ⱁ
�:b6)����= 	$�#�\�!� 
�P/-�I| ��
u�
��)���gU:	�7ņ
�ǮQW�ӟL����a�����JI�i��
�k抺��g�0�:{>�ai~F( = �
��9�Hə��u
cx��t��P�>3��s���g
9`�NM
-�����	f�m���E���a��:�Y��<aH
��7� TQ�qbbn�d0�	Bf�H�z;��1�!U��z������M!�z=� !���|0u��(�lq�[z0���u����o0O�}�����&W�nn�M���#�~���HN�_���
�zy����w�4�뫫���5�ٮBYs���W��s��p�Z&nl��e;�gln-xGS��K�
-endstream
-endobj
-3463 0 obj <<
-/Type /Page
-/Contents 3464 0 R
-/Resources 3462 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3411 0 R
-/Annots [ 3458 0 R 3459 0 R 3460 0 R 3461 0 R ]
->> endobj
-3458 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 661.123 268.34 672.027]
-/Subtype /Link
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-3459 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.011 531.827 513.996 542.73]
-/Subtype /Link
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-3460 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.806 476.294 144.406 505.236]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3461 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3465 0 obj <<
-/D [3463 0 R /XYZ 90 757.935 null]
->> endobj
-3230 0 obj <<
-/D [3463 0 R /XYZ 90 594.597 null]
->> endobj
-3466 0 obj <<
-/D [3463 0 R /XYZ 90 580.027 null]
->> endobj
-3231 0 obj <<
-/D [3463 0 R /XYZ 90 342.1 null]
->> endobj
-3467 0 obj <<
-/D [3463 0 R /XYZ 90 327.53 null]
->> endobj
-3232 0 obj <<
-/D [3463 0 R /XYZ 90 143.505 null]
->> endobj
-3462 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F72 471 0 R /F23 340 0 R /F65 376 0 R /F106 2750 0 R /F8 504 0 R /F31 472 0 R /F7 505 0 R /F1 542 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3473 0 obj <<
-/Length 2809      
-/Filter /FlateDecode
->>
-stream
-x��Z[�۶~�_��V�ZX�A����M�i�θ�&/�GCI�[�THj���=��&BҮ�����!p·sqt����7�W�o%�4Ғ���.�8R� AIt��>NA|:#�ɻ)����&�wS�'��NWe2�1[�Iy��yS|�~����-!���HH��	��H��hK��۟�P �-�_OL�tC�MRU�xr;�t�nw��N����.-�$����4�0i&������+��X4�B��h����	G+�!ˆ�8z�TۈS����տ��Yd)CX�Y�W
޺aq,|
���Cx���a������	<%C��
x�.�`6��Vn�/U��</�pՓ��e|��
77�j5�v�2��
q4c ��Y4�M��o�*ۦy�y5O��|g5��w������ni�d��}��FD�f�m�9A��x��4Ŕ6D�|���'G(p�pFt��p��+�/|�ZU�YA�D7�60]�x�l�N��<:�;t�}]���7�l�� ��+E���c�n����,?�h� [...]
ňs#�B
�ZoJNzq:�

>f��{������R7�N��>d�}�y�ݯӪv�Y�J
�-��������1���\���:[��+��U�
�4�;o�:����V�
-|�-�¥5L��V�f�ݙu���]�A�
�7�å�.

yRf�bӐ��<wX²����b���v�
�p��~��b
KxV�I�7l–$�[��~�'�M��
�0��8#��t���GU' �+���:��.k/�ܕ��϶�+,L��A�D
���
L3pB�:b6�I�z���BEi�b�Ɉ�*/

������
�sڪ��)�6^ +��t/|+Z�V�M��J�xL�({0N)
x)Q����tc�d
��;f�
e<�+���Z��!
-&Rmt��B�TP{���dz��nC�bB��W8"�;����� �ף
-m�F
��ڛ��1S�mր��F�L��K�c�w�\���
C(@��8���rs=Av� x�le�7
-i"��6B��{ZsH
`�.�AzC�0I��b�H$�OdZ< ?�%BJ��8I�s~i�� M��,�|Ʊ@4V�1�'��ȗ p�9��}�e�ɻ��3�0��j��L�-�NK�P
�����
Sp�)JJ���RX�CM4HC?���4���L�,��W�8�Ui�l̇�z�s�;쳺r�"���0���n�<�
��Q�0���, ,����:�CU at N�T�!�Eބ`��u�Njw�Lrw��dŢnR3z�dN�|�R���
�}u"s.�U�i�g&}q�s��Onxl��1Z�
D:�?����-�cV�/12XBB�Mّpq��7
-J{��?�u�5��]2���0�B̓���xJ�Q@�D)�^R�Q��Hv
��0�
-���:T1�i�J�϶�rF�ϥ��F�+	3�,JH�vE�r��8$��{��uy�J1��2lϐ �_ĞAF٪X���	���Z��6B�ڳ
�|�'��z�L�T�_BiS��}�, 짵ͅ�ph�@{m��2݁<�5'��A"���H��Q��%���#A���S�����~��O�I$$z�\K��B;�g�@��
�
�
-�1�F��񓙶GB���|y���[X�d�-�_�(E�*cֆ�>
���0쪥��I���u�F��a��J}A|੣������O5�����.��ƌ
V˃���Ŏ�;��׈���~&��0���چ�K��G�:��
-A�&Y�<S_\��D��:���y��S��؋/����*�
�
�
��F/�_��q�Ul�������k�
xp�@�����	x�#z���4���! s_��=!G�O
m}|07��=f��5��6-r���Q�}���ͦ���
-�#f�}ZV�-_�iR��چk3�흻����n�u �1��K���6CZ
�4��7�r�bH*!�>�pZ֍-tJ3����2:>�0�趗��5�k�T5
isl��E���ߤ��M���|�}(>����3���ӭY�.Ϊ9�R��
�KvIY�OSJ����6��t�23}��X
J��~�.�56D����
/.N�����\�
-��&������	���M���'�F@#�3NE�	��0\[A��Q�

�
Y_l��l�ڛ�����;T
-�rwZ�E:/-?Mɴ
-`ɮ���ǧT���/��^Ҥ��Z[1^f<os�فs��#����
O�
�:�����IJj���������E���*��w��l�`
OP,��yո�^�����hs�s$�y�cs&��8�y��L�L�u�4�W77Y>���l��<)��[S��Y�7�
Υ
���I��������Ȟ�Š-�3H��.����ĩ�K�&E�\�p��3��.�j��z��z��_ҶF]�s,8�,�j�8
�1<�����~��"MD�� A���H���D�[�r~: ]�J'fHI�减�<���%/s4��~B�i��9�#��׋��N�[w�
 s�5��'!v٣R2����d|����
-��w�q믇ΘB�!O��ҕ���{���f�a7�Q��n_�~;}�#��E��
u�'
7��sI�[L�_Kگ$E�y S�u��e��$�~��o��n�_s7?Ui�ǩ�?��}l�è2�
"j�Mg
�χ��^N��D��?�,|�n���z]׻�����G���>�v%����ns=ַ�,���\�k>v�e��A�&�F�����
-endstream
-endobj
-3472 0 obj <<
-/Type /Page
-/Contents 3473 0 R
-/Resources 3471 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3479 0 R
-/Annots [ 3468 0 R 3469 0 R 3470 0 R ]
->> endobj
-3468 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.708 272.688 250.895 301.754]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3469 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.024 227.232 483.212 258.201]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3470 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3474 0 obj <<
-/D [3472 0 R /XYZ 90 757.935 null]
->> endobj
-3475 0 obj <<
-/D [3472 0 R /XYZ 90 733.028 null]
->> endobj
-3233 0 obj <<
-/D [3472 0 R /XYZ 90 556.83 null]
->> endobj
-3476 0 obj <<
-/D [3472 0 R /XYZ 90 542.286 null]
->> endobj
-3234 0 obj <<
-/D [3472 0 R /XYZ 237.535 381.142 null]
->> endobj
-3477 0 obj <<
-/D [3472 0 R /XYZ 90 364.442 null]
->> endobj
-3235 0 obj <<
-/D [3472 0 R /XYZ 90 207.306 null]
->> endobj
-3478 0 obj <<
-/D [3472 0 R /XYZ 90 192.762 null]
->> endobj
-3236 0 obj <<
-/D [3472 0 R /XYZ 90 89.441 null]
->> endobj
-3471 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F31 472 0 R /F7 505 0 R /F1 542 0 R /F8 504 0 R /F10 473 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3489 0 obj <<
-/Length 2563      
-/Filter /FlateDecode
->>
-stream
-xڵZ[��6~�_�,�
�uAz��!�L6٤jv�7/�)
r7
^����>GH �e�ә��\���w.����_��W��^]�l��DP��ݭ��A���m�z����`��7k���٧�7k���|z�y�n.y�������p���kB&������Sq&%�q����z�P��1�:#�%È�ʴm��qp�Nh ��2��V�d�&q �
.%��a�z��������+ң�#1���W�?�U�ZaĒx�؏گB��\����^D�2���"�81�v�����a`–
�q���AV�
V&�8�gDM�"�
Eq4�<�
���
�3N�i�}}����+�Q��8��o<�����E����QO�6
|<&�jVH��ȗ�5�`�E�>��3~��~�ws�O���fr�{Y���y��o��
�:u�� �&An�=Q§��Q>��a�
:�|xD�$f�T�&$	1u�}_TeQ���'`!I��V�*M�v&h��U��n6 L��uu��{��a�eu�սy�6���ס�ܛ�����}� [...]
-�'z�f3� 
_�@!�aC#�!��:tN2�l�~��'�����ܺ_ at S�Q��\����eY�)
�% �uޢ3(�M"�D��dDe+
6�U���Re
<���Y�����T�����ׁw�ٛQ��Fv���4rA��T�
�G���� c0i���(���I_n��[�<4��U's}gtub�A�����|}/�7}GAQ �^�iEg����{LJ,2H�j?�1J�,O
�\��1�d��E�
�D�=�x�BC
P,�EB)J(�ծ
-�
�T�0W��V߽��?K˲����]ݘ�m80�7�0ι<0QB�#�����I��SZ�q�J{4���0A��

�yb�31"<��
%#0Wu%�d���L�[��Sm}ä�
�gE3`
)(d&�M�ij�X���}�y[T_3��E��b�{�/-�c�J;���u��Q�$޼@z��W�zjV��p+^���7���/��g�yK��#��y��f�F���%
�'��(�n|p[eN�TQ5懏�Y�e�'�Nm
s־�1U�g��8R	6	~����(���
H�(����c�է��}s�v��Z�i�Ǒ����]������^>���Wp�8
-g��~e�d=���s$���#���Z�q{����!YLg[��a�4p�8��R!�a��ʱI5*n�M^�P�2��ax"z���-�gG������٪�@C �6�Ӳ��� P��<
�~JaTHM-�'���6
-�Xv��g&�וּ��
RU�1
Ԥ0rUd�]8�����ͬ��M�h��?˿�d¿�b�݃:
-
�P��� �A2�)�F�͓��J��fCX������3�C�Z�}���fp��R$U���
�UAP݁aH2k|п��rȒ�5�5� �r��ͺ��%(�/n��8Z��Y�
����/h��H>c�#R	�ͭ�t�}U��U5�ҦH�J���_!
q��6����?a

ɑ@������\�B�c:Z�>l($YJ�ۄ����^*
v�td�O�v at V���դI1�@V7��u��-<�L���\���1K#�zj.NBݵ �_�ma�;״��T�6-4�2�� �s�
�u�ò��'�̴s�1�m�j)���?�

-�����:��d�z�ѡ�k��Θ/�Ab
�k��?g���X_f�d�����(B?�e�o���xvK+O ��!]�UKE���e/�N����n1o����y
D��\!�� V��{�ʦ�]>BlI���}G��y�觨E��rs����J6
����Q�\���ckFj���˕��R�(s��`!0q�k?g��I�0�](�g�״�q>.���>�@q�vֵ
�5u�� �C��`��g�����=����lҷ�6"	�8sran=��׎ӽ��P�J���=D�H

�"v#0��gNg�fR�T&�Їy�ǖ��9�>z
�ńG����b8�B��b�W�{�1�#��,�6����T.߉��%1�%�g��
:>A�:!�
|3�<��؄sfGn=� �av/���^�OgbGGb늿�J���(
-�g�t%���n|f��
��Vuzp4���My2�z�Ogq��Kq�� 
8"��.�B��ca�G9S=	)G\�� svZ�)�/��x|�]� ��_@`[
>��۩ȫ��l��o��8<����3����l�魯�{�
�Ȕot��Nnw=���23�90���J�
�gە����/#�����k�?a]�3*��m��jP2���&���1D�*]T�,
�
��������g0"F	���L��
�u�j9�_�fMn)d^��
C3�>5��O����ok��/iu
�y(�5/������&ȼCTm�wrh��}\
G��4��K�v}�<��ps}�����
����>
��S�9��Gd{�C]���jw�����u
��4f�
-endstream
-endobj
-3488 0 obj <<
-/Type /Page
-/Contents 3489 0 R
-/Resources 3487 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3479 0 R
-/Annots [ 3480 0 R 3481 0 R 3482 0 R 3483 0 R 3486 0 R ]
->> endobj
-3480 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [322.376 678.378 385.519 689.281]
-/Subtype /Link
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-3481 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 383.594 239.856 394.498]
-/Subtype /Link
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-3482 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.639 189.301 300.161 199.582]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_4e6787c98290a49ce80b90c008aac5a8) >>
->> endobj
-3483 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.144 149.136 182.164 160.04]
-/Subtype /Link
-/A << /S /GoTo /D (main_expand_space_dimension) >>
->> endobj
-3486 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3490 0 obj <<
-/D [3488 0 R /XYZ 90 757.935 null]
->> endobj
-3491 0 obj <<
-/D [3488 0 R /XYZ 90 733.028 null]
->> endobj
-3237 0 obj <<
-/D [3488 0 R /XYZ 244.439 386.747 null]
->> endobj
-3492 0 obj <<
-/D [3488 0 R /XYZ 90 370.02 null]
->> endobj
-3238 0 obj <<
-/D [3488 0 R /XYZ 400.69 152.289 null]
->> endobj
-3493 0 obj <<
-/D [3488 0 R /XYZ 90 135.562 null]
->> endobj
-3487 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F8 504 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3498 0 obj <<
-/Length 2809      
-/Filter /FlateDecode
->>
-stream
-x��Zݓ�F߿BO9�ʚe���GU��SNru>{�/�k���.	d@^����f�?r�'�z�{���f���,��|�����S�g����z33�L+J$�������R"K�����(�E7�,�g���:�n~Kn�(�pu�C�~����˧��$R��T�~c�t&�àgׯ�04c��M=��mT�%���za�<��Q�'/�M�/h8��<2T�s�Cz�����

-b���!5�\�V���o����2
7����	�ẝ����E�,�Z84$ M4S��Y��:�F�����ZH_��S#��Df��k �Sf7����e�u��ȹ|*���A-!em��{g�".�M�q�F;�w� /~����޿ZPJa�It��;����U��`��y\�t��w�Q��k3�>Z��u���"�Ң;�ֽ�T�}�ӯc��SpI%1�y�(?e�%S�kN��L6��v�
����{7�V�5��C�ҎI�Ο`d\�I�n,�m�@�ݤ�v��`�S��qK���t�#J��O�W�
��Hw�G`�JDQ����t!0�6Y�D��4-O���v�L�gh�Ж>O66�Y{�BF���
�E{}����c�{0l5�35�$d�
���9��Y&�*�����>㻇����r���$�U��(	E�GYޒX�e������#!��"!�`��:C�
-�P�Ϧe���
-�;ط�`{Yؘ��I�%=
5dl�NKA���m���������̨ �&-�M{�P|G9�d2�z�,q
XT`�S]����%	��V"�$�h+M$�f�!��s8�"B7���*t�
8��
��PEc��!4���hZ�Mǒp)��%�
�r�v(C��``ʎ�O�"I���pg�ЛEO�����(�}L
�����A��;��T�	�L�P���
���ku4����I�p{}�Ώv��dw����U�I��#����g���(�>|�=D[���SC��<T���k2FN��
®�y��v�Μ�xw�N�!(�`����#�T�
Mc"�̦{�q���6)��IH���^{�����)c���P4k��x�!⌛c
-�
-a�E�>��m2x��n�Խ��E:KL�c|�
�&BA<l�F���p /W��u1 ��O�7PAx&P~��)0}l�H��8��d�c��͜�
-��˫n����-�
���O)�Y�������,suu�M~��`�NP��`�|�Rkkw��@���kQ�
}�P
(s�T=�KZ�.h���R-��_'��ț�\R pkI5Q�9؋�<�u}�K�u��I;�Q����m�*ru�mvH�����+2�wx�h�A
E�á��]F��TEP3TFT��i�Wt�I0��A��m�v�ܣ�A(>��ug���
�]����-bZ���2d�#X&�[5ҹ�>	U��%�L��S@���LN:�tju���/�^7Ge�L)�����3�
���#�
��
jԪ��J	x�Հ|�4���d@:�⫃�Ce#��,(�ʙ+��
/���yH��D�[aG*�s����4
-h�93ٙ�)�|�t��>3�_���b������13���1��N�e[+����)��3���3	�6�5?�yC� +��ae���5Nt��
 60(&e�h謥�{�p�Yr-�!��R��B��
�LI�o8�?f������q at F�M��H����^O��sr`@�����6X�H_��Kx
��U��a��Cij�Qm��7Nx=��7a�G��[
�
%��B���[z>��
��&#n�m��!�'��6����I�e�����ap
-	 �,� V��
K�z�s����T�
-P�&�[��Siy�KC	=�XO
-Y��
�
��U�
�9	)�z�o��(q�{6�� ܛ�R	vD%=� ��7*FG��r X���(�N����KQ_��;:B�.��ұ��bu��I�����<۹��aj^$�?��֗���Ip�n��ܰ��M�༂�x8�L�

Ę�=�8��k��i�����57�1sV�̰�2E(;#�CH���������`��p
oa�
�X�6HDݭ�'N��g
-?+��aGeC>��B�t�GF|7���xm�꾂A�D��*7���t�S`��Aڌ�jw�zh��&ܧ�1h�}T`N���;�V��H�����ׂ���s���n�C�Be#�/�ߣ�D�t}M�W�8����Feo�(��d�m�h���I
���;\�C&�vh=�����G��q�\O]�-y5��c(����-oǗ���AW��c�)|����WUh{���(<�Nq���S1I�pgoLr�x��;��
��
ǀ�Ta�di�
Z�d�8�:6d��K�I� 
��r���z���ui�hw���̀Y��n��
�g�ɹ�Jx�I����u<9�J�'
t�+ig�-�v@ �o,K�c�w�nc��
���!���{�$�s(Չ����'�3G�� R�T�y}���1�$���;n7�ZTm����?ֈ�"��S�)֢m��M���9�'��3�#��X x�@�9
��	\�~��ݎ���

y�c����<�{

��

i�gpƎz�?W��#;���ݭ@�h��V��w+��S��
�Vȳ�P��f�G�drN�b��~r�"��T�B<�]Aϫ��t��w��׭hz��c�
-�7
�=e\�*���\'ݹm D)E�<�stDW���W��a���"�����%��ߣ����n=.�y0 ��wX�����#!V�?f�ݯ�-�zi��l��,�W��dU #��$��~��<��ђ4�#|�QvY�|B;pD��_�k�c
-endstream
-endobj
-3497 0 obj <<
-/Type /Page
-/Contents 3498 0 R
-/Resources 3496 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3479 0 R
-/Annots [ 3484 0 R 3485 0 R 3494 0 R 3495 0 R ]
->> endobj
-3484 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.502 704.958 241.69 734.024]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3485 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 631.459 163.823 642.363]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3494 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [486.549 568.006 513.996 578.91]
-/Subtype /Link
-/A << /S /GoTo /D (main_fold_space_dimensions) >>
->> endobj
-3495 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3499 0 obj <<
-/D [3497 0 R /XYZ 90 757.935 null]
->> endobj
-2878 0 obj <<
-/D [3497 0 R /XYZ 213.427 559.204 null]
->> endobj
-3500 0 obj <<
-/D [3497 0 R /XYZ 90 542.477 null]
->> endobj
-2879 0 obj <<
-/D [3497 0 R /XYZ 90 441.709 null]
->> endobj
-3501 0 obj <<
-/D [3497 0 R /XYZ 90 427.138 null]
->> endobj
-2880 0 obj <<
-/D [3497 0 R /XYZ 90 326.37 null]
->> endobj
-3502 0 obj <<
-/D [3497 0 R /XYZ 90 311.8 null]
->> endobj
-2881 0 obj <<
-/D [3497 0 R /XYZ 479.157 171.728 null]
->> endobj
-3503 0 obj <<
-/D [3497 0 R /XYZ 90 155.001 null]
->> endobj
-3496 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R /F8 504 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3507 0 obj <<
-/Length 2538      
-/Filter /FlateDecode
->>
-stream
-x��Zms�6��_���R3�wnr3m�t���\��\�CK�͉D�$���
��E��zs�b�4��]�>xv<����wg__����l���T�.�3�g�$HP2�\��� >_�q�zNpe������ �<ܚU]�_gQ�pq�uz?w���KB:��HH�+>sSz%�f«�_=R(L�͜��a���b��|A.�f��D�qoޘ���D&Y�+M�
-�V�ٷ�g���g��Q��l�={��V���FL��]9k;����엳��g
x�2��p�h
-���a�
7�''DL�zBqkM�Ո��d�T�ƽY�Yf�]����ƾ"A��?��r�O3𠠵���o
�ð��(n��|-+5V��$y�&h�`���
5C
�'��Nv�np�Y9��Y�u���tND���0_�w2�cX�����,�1�������Mn<�Q��T�[i�
~�fwq^~��G��}Gr�p��M���_`)�X��G�Q���xD(�x�c��|�-�v=g5)�.S�:�lRfw��O3��&*�U�[`�m�V NE3�D��O��#U����Y�
�w;@�rXF�{J}�`�"�u?BFW
��n(�v1`��?:�a�5Z	Duc�XL�kif�u0~�[ �	���d2vdȫ!
�D������&�]Qa+��&��r\(���R��<؅�T��	�~y[k=}y���4�� � ���l Y�, =�0օ��O��d�2�P^mi%�
\������
��P��7�	�^�4���O$m�����/5���H��ޯ�����Ƙ�U�:���҅qZiWF��E7��/и��fǶ$��Խ�a7���>��U������.��d����f�w!������
غE��6�}��P���CpL1�@�w�[��P��Yl� ��^�7�R����>q�Y>}�.�`dձ
-
-�ȯ���>P�<�0�B�8��h
)�,U�3I����t������ }��Ů�t�䥐Q�fϟ�g�"�2M�
�?�0Ul�������I��(9]���
-�34n�s�aC��$a!�&-��)|z
x,���#��ML<x�t�J/A|0A��5
-�]�Y�Γc
"�x�ޔ�0�Q@jŧ)�}��5����s
��2�����r����B23=���q_�<�!컵�*��)-���|
�i ,�ϵg=�{� �q�L�;@��Mk`Y  }Zg
�ڞz�XF��w
TUV{_�D�Q�
�#$��;�+J����֋�|�Cd���
��
��d�Dˣ*Dy5"��{�"2<�!2G�:?���(^u״�^�"
=Ȥ
�R��.�C���.
g�L2����sۏ*
���.��˧E�I�
�1�DG�	a�1<ˢ��^��j�:/Vi^�
h�u�?s�j���1]B��
X
-�m�Z���!���֎�#�A vZc��d�P?�
-X}�=�G�1;ѓ(kۖػ���8?l�I`+C��.Vl��}�;��
�@����'
yHM׿O��%�L&�׉0 at r5�!T�V��T(�7qb��j�E�,͕k`9Ulh��5��v���jQuG`�":��?��ƗQ
j� #����|^ *|{_��r��c�x��u�ma�	wP9łidd#	*�	*lv,A�c5�)s&�=_��(��3�3P�
�
-�Lp��Y>
)��6����8��w'�Wq�Wю>�i 6��1�p�}a�Y�ڔv/l
-�=�D	0'H�R������ILqg���Ȧ|����>�[�c��
��a/v~� ��W at y�$�p;�n_��٧q����c�i�Xb�4 ��
3�'�r�Rɺ�l�Ni`-if��َn�{����x���嫴�>.�߉�d�(���
7�r�Xu�l.�5�;���/���[�����Z
�9P+v;,��ry�P�2H:��~�

����;���R5-�_�` ����aK���
f��y���Պ�2�K�r��lo���u�m�Z�q���v�ʆ,������Zl[j�F��}|'
��~p�ԡ6�s��
\��
��
�����vc��os��A
v�q%P}p��
�ޟ��vLa��_����� ;�;�Ž9	�f�Mv8����
���ÎN�La��
!�W�������rx[���AW�BO�(��)UE}��=UՑgJڙ��(7FBLsn�/"���"�^%���
V�.0

-�� "�$��H�^�j�H��*���	t>5Rd���3;��C�"���m���i/�Y8$���
<��5���-��+%c�+�ēG$�M!��s�V����V}��
�dIIo{iGJ�p ��
-`�ӗK �f��{d[�(���f
��	e�I���fR�W����/���c�a<��nn�/K�p�'�
��K� S՝`��j�ݨ�U�걾k�
�
���_��>�
ۼqps��:�]���kL���u?r'-�S�,{?�G?���k��ė��n�bwq~~ww��9�'�.Cqq��m�{nXmOu�FȺ�mZ�K�˽J^v����|�
-endstream
-endobj
-3506 0 obj <<
-/Type /Page
-/Contents 3507 0 R
-/Resources 3505 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3479 0 R
-/Annots [ 3504 0 R ]
->> endobj
-3504 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3508 0 obj <<
-/D [3506 0 R /XYZ 90 757.935 null]
->> endobj
-3509 0 obj <<
-/D [3506 0 R /XYZ 90 652.848 null]
->> endobj
-3286 0 obj <<
-/D [3506 0 R /XYZ 90 630.537 null]
->> endobj
-3510 0 obj <<
-/D [3506 0 R /XYZ 90 630.537 null]
->> endobj
-3287 0 obj <<
-/D [3506 0 R /XYZ 490.972 565.828 null]
->> endobj
-3511 0 obj <<
-/D [3506 0 R /XYZ 90 549.101 null]
->> endobj
-3288 0 obj <<
-/D [3506 0 R /XYZ 484.995 486.429 null]
->> endobj
-3512 0 obj <<
-/D [3506 0 R /XYZ 90 469.702 null]
->> endobj
-3289 0 obj <<
-/D [3506 0 R /XYZ 90 422.498 null]
->> endobj
-3513 0 obj <<
-/D [3506 0 R /XYZ 90 407.928 null]
->> endobj
-3290 0 obj <<
-/D [3506 0 R /XYZ 125.554 197.359 null]
->> endobj
-3514 0 obj <<
-/D [3506 0 R /XYZ 90 180.632 null]
->> endobj
-3505 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F95 1788 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3518 0 obj <<
-/Length 1892      
-/Filter /FlateDecode
->>
-stream
-x��Zmo�6��_�O�
�
�)vC��k�uݐ�޾�E��L#Ԗ<Yn���D�Z/ζ�j�(�r�;��=G{�<��4y���=���HK*�ŕ���$A�o��^O	A|6'�����i�l�����x}{mVIp�"�L������������g��4)��
��)�>i|�`DK��vh� �K�G=J�.$����n6�O3M�f�]��{^�+�̈?5��4��pl�N�.&M��
ɢ!RLx����[쭠���Ӿw�Im<N<�ޫ��\�����R���ϫٜI2M�M�H�2
�ad�$�X��4�,�o�&�1&r����
�RQ����q$T)D�.-
-i�2�cJ3Ҽ��Ff� �}=ݥqb�oA��m
7AƮ+vއ�{Fi�e���$~����\0�}�:TΙR�	��ank�F#M��C9
�&�����ӯ�	ĉ*į���K'���r��0��M�3Ȋz0����aQd2�k7qWa6Il�
�}���@ۮЭ���,C;Tf�w\�vx at 1�w^��^�v�0Z�8�)��p�����^�[ƛ�>��r���yk��8�f�wa��V
-�7���~�Q��k�5
 �8-'M��ⱡ}С��z�5%�K�D
���%��dM�4b�·9� �؇ED�
-��O:�N
�;DP�ar�!���Lo�&
-60��
C�

�k��Fm�$L��3儻��u����pe�袀�
@��]���
���,�ۤdVs7
a	�Qk�����K�t��\���� *K��(X�Sz��cj�|:W_$�py���
��T�or	-��6t��L;$�%,9
��M�� <��h�H��
-
�Ʋ�A��c

vM�>����spp�	x/r�l�ږ�9�(
��_��h�x�c�
��x	�mm���""]��@KE�ce����Z#
-�����dXov-/t��
-r�%�~r#5‚��*����
���9
уk�gy%�9��c�Zs��!�C�J0ݎ�j��:&�
r��$c��k������V8�&Е�ʲ6���ڔ@�r-9ƵL_?����H� �ck�r[9��`pq
�����H0�38^cp�'-g{2g5g_
���&S˺���i�Cު���TMT���
��e1�q��;LՎ,0�tFx�,��>#bڕƩ��
�o�
,�Uo2��|�(�
#���#w��[8b{2
�
�#32���
%�قە�!�3��:J0�!��(l��2�O{��`$��g,9(	
�d�hT��
+B���Z�fkBʺD��>�
PO�j%Y�U^4Z�
Ec9>���)
-J��AA�;}�4VcU#��jw�	R��D�����JVP�W5�zQE��
-"�ST�i<�G���Š�:(�w��j���sCC�VrD77�6��
��1�6���Z�lf״�x��k�KH�GKH�x��>PB���
-
�ҝ�B�Œ
��5t�����f�[u�������e5���b
-���n��w]}b�'F��2���������y6�Xu6m�V���;��z�l��X�շ��
f���t$zOG`���^��p�t8�Y
����p�cHT���
'�<	T��VB"H�sp�,��R�TD��Ա�Pa��?���Ԑ(�K�!c�'\�J�������^M�v�>>.�%U��}���N�0~u_�a�q��5�&��}�r�ɘ8�}�r�i�n߰~��Ch��}�H��
��>x)Nt�t�s9��
��6}��4t���I|)�T^�m߱�>�?��mq��ZC�Bh$D����7��kqe9u���?v&�v&��E�� ��@�����$�2d0�0�$��=���2�9�{��+Z�L� V��[�
���N��ó����ܡ}n�g����������R	 wn�&.v�Ȣy6����Uh4
-endstream
-endobj
-3517 0 obj <<
-/Type /Page
-/Contents 3518 0 R
-/Resources 3516 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3479 0 R
-/Annots [ 3515 0 R ]
->> endobj
-3515 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3519 0 obj <<
-/D [3517 0 R /XYZ 90 757.935 null]
->> endobj
-3291 0 obj <<
-/D [3517 0 R /XYZ 438.998 675.861 null]
->> endobj
-3520 0 obj <<
-/D [3517 0 R /XYZ 90 659.134 null]
->> endobj
-3292 0 obj <<
-/D [3517 0 R /XYZ 125.554 448.565 null]
->> endobj
-3521 0 obj <<
-/D [3517 0 R /XYZ 90 431.838 null]
->> endobj
-3293 0 obj <<
-/D [3517 0 R /XYZ 438.998 298.052 null]
->> endobj
-3522 0 obj <<
-/D [3517 0 R /XYZ 90 281.325 null]
->> endobj
-3516 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F65 376 0 R /F95 1788 0 R /F13 540 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3548 0 obj <<
-/Length 1908      
-/Filter /FlateDecode
->>
-stream
-x��Y{o�F�_���)	T�}p�dz9 u�½�u
��"
�Z�D�PI�����r��H�d�פ�;���pv�7�%v�v��|=���
-��(��3�s"숀 N�3[8�\koJ0��G�Wy<��(v�ls/U<��Vq�y��|��#�[ޔr�gq]�卼��3Y$8S�3���{?�nr1��:! vH+
-H0�$���{�,��wF,
-���*w|��7s�N~��]�8
�E��j��2o���M�|�n�&-�Z߉+�+YݕU�W.�u�K��ͣ
H��6����N�6���p~/�
-5��_��[P
�<{EȎh
Sq����b <`�G
���/_}	[�^<6�X���S��3e� ��)�/�F��2K�pwc�r�H/�?�i���L�B؇_�0����'j@�,n�E!���
(��8�}
,U��+ ��#I	k0���r��
��!#dr��!�-�L3��i�
 Q��f�H�&�ߚ�G4CA��KƄ�
��$"`l,�1�`��ևʃx��A&����%�H�	0v�z�)���)*
�B��	r
-�"������E6���t��$O*��ࣅDH�
-j߈����aך(��Q�1�=�5F~$�j=�r at k
���:[wZs�7�X at Z��V��"��1�H+�A*F|�	���*�@����+lᭀ	���vx��ț>�RI' �
�w�T�y�ޒ��,���>��~Ἥ����ޖԡ����
s	*� �

��7ò?x_Ĉ�CեS���l
�,,:
-
:��X
���
P$�`��&
�	�t
��8���Ru	�? Ta_����G�T(��C��Km~.��6�����pA�&�1��I�c�Z
��m����0nݔ�4��&BǵZU�c��
�~Զ]�(m�uZ4�M����sP(�Xˮ�ͺ��p����}�j����3�6_i��!:)#��~x#�ٖ��8�m;A�Ŷ.X�Ui-�/`Wh��+�
g�&z ��D#�.�]D����Vj��^�$UvS=r���+nks�ƇN+ ��(�(�>���{W�
��V���l��N,Ӻ�R�h�F}9l�-Jpȩ4�/���t����me2	�����I�2p��
�
*��ӭ3��:�E�cl ����{���
ڹ�\,e!+UE̛U��P�+��TP?�Q�������pJ?Rޔ��qF��QʇT�
���*C��}�aE��ձ��$�S��
j�̀[5�o�x�aX�
P��y��AϤ��h��l\��xhÿ�E���:̐���D~h��t8�r��1qA�#l�j.
HGiS��Z�9��5�R�Z)���o��
��XgQ<�B�׷j�mwy#�9�]�Z��
�<lj��D�E99�V��o��Jn��ヰ@��X�A�y{�`y�X��~��<��7�wua:�Ȥ
-v�i�x����O7o/�rG�+h4B�
-�<�p(
-|h��Z3���laE��.�2ºHS����)�$����χ����5��'�{N;!!;Q�1
��r�
q�H�ڕ��M
����YR�I��G��ru{��k-ڠ/h���X��� {�i��Tȟ��OђL�/
h at ll�<�|2�U
�L@���~�U���_eu̐��0v��a^!5��@��>7

���_��?݌⯫BK�\չ���<ː��(~N����}n�#~�O������IV�6
�?bH"��=E��ȧ>���.�xy�����0�O}����\�������=󏿱�$<�k�iu{ 	,x�8�#�Ü��&:}i�:}�c-�/<�]�ko�b
g^Nz*���@#�U�!O}�t��n6Қ}p��?'휻���1ܟ��7�������Jj�ȪBis���L��E�IϤ? ����)-��S{��������%
-endstream
-endobj
-3547 0 obj <<
-/Type /Page
-/Contents 3548 0 R
-/Resources 3546 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3479 0 R
-/Annots [ 3523 0 R 3524 0 R 3525 0 R 3526 0 R 3527 0 R 3528 0 R 3529 0 R 3530 0 R 3531 0 R 3532 0 R 3533 0 R 3534 0 R 3535 0 R 3536 0 R 3537 0 R 3538 0 R 3539 0 R 3540 0 R 3541 0 R 3542 0 R 3543 0 R 3544 0 R 3545 0 R ]
->> endobj
-3523 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.93 421.681 280.942 432.585]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-3524 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 367.228 173.467 378.132]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_4b841053fdf5718c17a018ff650b550a) >>
->> endobj
-3525 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.282 367.228 242.925 378.132]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-3526 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.089 367.228 412.478 378.132]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g616fcdc7600a3a11a8a9152e75730899) >>
->> endobj
-3527 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 328.802 173.467 339.706]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_33d58476db85f48e4ad680c69bca524f) >>
->> endobj
-3528 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.804 328.802 278.631 339.706]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-3529 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 290.375 173.467 301.279]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_2b220dabc613a89a062968101429e58c) >>
->> endobj
-3530 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.282 290.375 255.109 301.279]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-3531 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.638 290.375 336.583 301.279]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-3532 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 251.949 173.467 262.853]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_c98ed1378829f72aee73c40dff16f269) >>
->> endobj
-3533 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.804 251.949 276.947 262.853]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-3534 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 213.523 173.467 224.427]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_8a6c3f01edb04382620066f17b63b20c) >>
->> endobj
-3535 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.282 213.523 253.426 224.427]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-3536 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.513 213.523 335.458 224.427]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-3537 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 175.096 173.467 186]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_e46f7a91b9fac1a62ef875ec5c72aab6) >>
->> endobj
-3538 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.804 175.096 285.256 186]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-3539 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 136.67 173.467 147.574]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_c3126925bcd3349b150771d52c19639d) >>
->> endobj
-3540 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.282 136.67 261.735 147.574]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-3541 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.245 136.67 348.19 147.574]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-3542 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 98.244 173.467 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_9720487deabf813a31afd4e9cfe695aa) >>
->> endobj
-3543 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.014 98.244 298.956 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-3544 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.756 98.244 419.222 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-3545 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3549 0 obj <<
-/D [3547 0 R /XYZ 90 757.935 null]
->> endobj
-3308 0 obj <<
-/D [3547 0 R /XYZ 125.554 711.11 null]
->> endobj
-3550 0 obj <<
-/D [3547 0 R /XYZ 90 694.576 null]
->> endobj
-476 0 obj <<
-/D [3547 0 R /XYZ 90 509.156 null]
->> endobj
-154 0 obj <<
-/D [3547 0 R /XYZ 90 501.892 null]
->> endobj
-3551 0 obj <<
-/D [3547 0 R /XYZ 90 385.988 null]
->> endobj
-3546 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F13 540 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3592 0 obj <<
-/Length 1860      
-/Filter /FlateDecode
->>
-stream
-x��Ymo�6��_�O�
�
�)ۀ�]�v[�5��

�Vm��I�R��
_$[��8k:d�>I��#�玼#.
|;:9
��,�HK*��@�@I�%��"xxO�8|;&8��e<};�8,��U�(���鬌��ӧ�;?�$
-�|<��ϳ�����"���|��d�8
	����_��9�9"�4
���b"�/G����_1
׶�2��3
�F?��Wk�i�T4�@Mɍ��j��@Q��NՓu�-�*c�n�X5*qѪT��
-��{TI^����S_%�����A�2�Ǚk�gE�v�\Cq�7��Z �%v��Z#�8�hظ.
EbQ�Y�o����;D�0��2� Fڳ���#�RH+L̠q����d���:q�+n�Ѽ]ח�GG�D"R���*����U^'�_c*B��l����ȯ�j
��KO�w7��
	-�	�]
���7��U:x�q�
</�e���I�q4Bv&'D#�y���L"Di�cr�\� �U�A�G����(����9~L����z^�Nǯ���:��� �{C
���懷��˫�_h���}��(#�#
���.�u�+���~�C)��z�yL��S�@����>�8R���g�:�gd����]ūd�q�D���YĚ
^���"���
G�ŠC(z�C �;�i��
��{V�H��'�����P� �P8
-�������� �ш�,T�A�29�"F�h]��\$��y�d�AFk��|L�� +ٳ��ԧ;
v�^��ڇ8g�t �L�o�t�7��~<
{��������o���yF�����s�K>v
���"�!��yT��L���z^�R�)~���9��X%e
�����S0?oR0vz�/!�
�K76���Oq�v���;��پ�n>`�z2Y�$n���*�zRY0��mf�
9D ��PB���m�y�g^�E
-jVi�O�ܐ9�ә#42Pޏ_DaI����_�����e�3K�����p�E���Q��οW�!R#���a+4T
-��zO~
���?s���3�s�SH���}��t(+$�wI�"y��~
"޿fE�
��Xwz�β�����b�6�x^?ڰ�ʰUE��J[5&F
�l��g�$�
$Hs���3Hk.��t��i���ⲅު�֮���~�J^��hi�){�pro-��ɝ�M]��%���"`��:����"��nպ���o�	
-�7l��2�)�r���3�����
-���X���ם�%��DOa����'��K�	���l{1����y��q�Y�
�U��tU�͖�1Sqĸ'���׌0�
��
��ݮ��$b�S���
�R����'e�٭Ӵ�`d^�;�C��̘!Ce�*�K��[�o��X"�-����٦Y�U�&Fl������a�o�p
I�=e������OU�[�V�c�V]�H�������`�2�����D��A7/������N/g�	S���L�Y��Ubu���0դ��Z˴���żw�aU�e��(�egh����79b��epc�)�
�ҖPL'�<qT�Mi��UY�����iOZn��L�LQ)o1�N���
g2՞w`}��3�N���u�Ar�����=&9͌Z�
	E³t�fq����v�ړfWS3�_`GS��v6��=Ye����)
-
����]���Tk8��
�S�h��=
_&�K0�6hT[!�^�
[��q�^�V�)"������%�ip�o��Ͱ�u*an�~��f���C҄(����}�J�/�B�
��|�$&�PVi�)e"��I�%MU�i�Gм}7���v�$R��6V]��������5�Wh������j�
�,��H1�V�,��eQz��
����
���m��
-endstream
-endobj
-3591 0 obj <<
-/Type /Page
-/Contents 3592 0 R
-/Resources 3590 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3599 0 R
-/Annots [ 3560 0 R 3561 0 R 3562 0 R 3563 0 R 3564 0 R 3565 0 R 3566 0 R 3567 0 R 3568 0 R 3569 0 R 3570 0 R 3571 0 R 3572 0 R 3573 0 R 3574 0 R 3575 0 R 3576 0 R 3577 0 R 3578 0 R 3579 0 R 3580 0 R 3581 0 R 3582 0 R 3583 0 R 3584 0 R 3585 0 R 3586 0 R 3587 0 R 3589 0 R ]
->> endobj
-3560 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 684.047 173.467 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_68e25304a250a8c739927adfb90043d1) >>
->> endobj
-3561 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.547 684.047 235.147 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3562 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.266 684.047 283.993 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-3563 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.989 684.047 423.455 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-3564 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 621.282 173.467 632.186]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_e9a2b78be6811d666fb9d145078d796d) >>
->> endobj
-3565 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.091 621.282 262.251 632.186]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-3566 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.717 621.282 423.183 632.186]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-3567 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 558.517 173.467 569.421]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_6b286c9e001bf126a0ab85aac675786d) >>
->> endobj
-3568 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.917 558.517 282.185 569.421]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-3569 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.304 558.517 426.77 569.421]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-3570 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 507.708 173.467 518.612]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_c86d25d06285c9a2e890770fed084574) >>
->> endobj
-3571 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.804 507.708 221.058 518.612]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-3572 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.338 507.708 325.804 518.612]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-3573 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 468.854 173.467 479.758]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_faae25a26dbecf9341c7fb2c2575f81f) >>
->> endobj
-3574 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.804 468.854 260.36 479.758]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-3575 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.924 468.854 353.39 479.758]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-3576 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 429.999 173.467 440.903]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-3577 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [184.206 429.999 225.013 440.903]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_59d06e9b429faef7a632d58e4a0b12bd) >>
->> endobj
-3578 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.35 429.999 311.906 440.903]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-3579 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 391.145 173.467 402.049]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-3580 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [184.206 391.145 225.013 402.049]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_6f581bf46ab0488f444977453ba2ea2d) >>
->> endobj
-3581 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.35 391.145 326.292 402.049]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-3582 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 352.291 181.215 363.195]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_09726be54fe2a591787de59eeffdd2ea) >>
->> endobj
-3583 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 313.437 241.112 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_5eb7f86790ada6549123a0225d68a4de) >>
->> endobj
-3584 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.449 313.437 328.006 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-3585 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 263.623 255.488 274.527]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_6424da8931d774f6a2e403c1e2f0d09a) >>
->> endobj
-3586 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.826 263.623 342.382 274.527]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-3587 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.484 163.552 242.041 174.456]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-3589 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3593 0 obj <<
-/D [3591 0 R /XYZ 90 757.935 null]
->> endobj
-3594 0 obj <<
-/D [3591 0 R /XYZ 90 449.093 null]
->> endobj
-3595 0 obj <<
-/D [3591 0 R /XYZ 90 410.238 null]
->> endobj
-3596 0 obj <<
-/D [3591 0 R /XYZ 90 371.384 null]
->> endobj
-3597 0 obj <<
-/D [3591 0 R /XYZ 90 282.717 null]
->> endobj
-3598 0 obj <<
-/D [3591 0 R /XYZ 90 226.303 null]
->> endobj
-3590 0 obj <<
-/Font << /F63 374 0 R /F72 471 0 R /F65 376 0 R /F50 339 0 R /F35 2018 0 R /F11 418 0 R /F99 2117 0 R /F23 340 0 R /F31 472 0 R /F10 473 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3609 0 obj <<
-/Length 1891      
-/Filter /FlateDecode
->>
-stream
-x��YYs�6~ׯ�SJ�T0 ���I�L�֓�N_��"!�
��`
��.^�i3�i��X�.v�oa������ӛ��
߱"�Էn�V���'ȣĺI�[�@{�"c�͒`��9[�YRl��~Ǔ��I75�����&K�e�\Q��2�4�yŷ\��"� ��c�Y��y���Y|\P
[D��(p<+��ﱕ@�k
#'
-�{5+�\��of]/~[`c>i^!�]+�>"��M�,?W�w��^xx���(����_�Q�躍w`�ˤ�$���x��W"Uf��}�ezp�uO�,-x�-���I��fE��#bg4�F�\w�[��E#j�#=�{��M���|���f��!z�E˲l�E$�
ƴ��l^�9G��mc0'rmQVeVޥ�Yyv���R
��v�p��J3�jC�6*���
�s�o��#��
 �`S��Zh��
&���\��IE��3v��Dj��|b��ͫJ�9��@����N����ܱ������p=V�-V�}���nIEx,�X�ʈ�G�Q<(��Np^J�|J�;="�1c��:�s�p䜽
����`|�$�r�K�|5�K�
�>���* �~U�At#���
7�m�%��azB�碁Ce��M�j9�#{[���gf�������[=KG
t�
-qtRK0��
�\�\X�j��% ְ� @�J�3�j
�����޷��単3�������x�-�'H�?���#��rr�h�cD
"?S'ۚ4yO��s>�~^�m�
�4ͨ�
w"���������KRС
�b_qmp�
v"��RE��WJ�U72qg/��q��(�;Q?���B`����gDx(
-�n����g
���EƥOg�B���?�E2#�b������|�����Ŝ�
-)�&*X;~
i��mZd�`�6��U�Ʃx��M�O���W��S���2�
�s@=n�L'
4�"
��nLoy8��)U!����
0�45�:] 6�
i��e9���)�s��ut��:U�1Q7�M `��C���N�{GL��][4
��
9�e'����+�"��ih���:�zNg�5PZ*�n� ���=��Y��s7ؕm�L����ph�D�'�qѕe1.�l���g���5�k��
��B�.�S�mP�
'�K����m�C��CWz�.)�(���4os��,ӊ��(��ݐF\J�% �
H5COKY���3͈���V~f�9�=$��
s·*?�L�
-����~�#���DĤ�\�
6dNh�~
�s_�����g`�ZbPz�aS����̐�Am
ϑ]�
=���0 F��w��=x*�j����
�
-T��M��zl=:��'�A?�'�w�z��㹇���?H8�8$G���v���{�4�X
����
-�/.,ɚ�wmWT�r��} [b�1ޑ��4_�ESE�pќ���T|G�>
-\g�+η���Ӹ2�����(�� �%�q����Ů� R�Sg6���x��3�~UT�\��;��I�<����`���Ԭ�E0�a�.R)��I�����o�տ
VN@���@�'����1+���$�)X�|���z 5+�Rt"�
j�d&�h��WC���A�8�
���𘵍1"Պ�y1��*�&ɔ��-����9g�iI;D^W��עq�<���>�wDBS��x��
���*2A�Vi-��T�f����P��V�׀�)\�;��,�am�[W�xx�h
�pLt��IN�V���~�������
��Q8��W����
B�����gGm����x�������Ɛ_Y�2�
&����{�,ň�7Gy�����-�`u��*�}�
�����	Q�����ߣ�Ap��j�����Ύs$�gx��v�ؼ�.;i!_�ԫڑ��>��R
-endstream
-endobj
-3608 0 obj <<
-/Type /Page
-/Contents 3609 0 R
-/Resources 3607 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3599 0 R
-/Annots [ 3588 0 R 3606 0 R ]
->> endobj
-3588 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [296.326 657.138 370.268 668.042]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-3606 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3610 0 obj <<
-/D [3608 0 R /XYZ 90 757.935 null]
->> endobj
-3611 0 obj <<
-/D [3608 0 R /XYZ 90 632.435 null]
->> endobj
-3552 0 obj <<
-/D [3608 0 R /XYZ 90 610.123 null]
->> endobj
-3612 0 obj <<
-/D [3608 0 R /XYZ 90 610.123 null]
->> endobj
-3553 0 obj <<
-/D [3608 0 R /XYZ 465.707 445.807 null]
->> endobj
-3613 0 obj <<
-/D [3608 0 R /XYZ 90 429.906 null]
->> endobj
-3554 0 obj <<
-/D [3608 0 R /XYZ 90 279.576 null]
->> endobj
-3614 0 obj <<
-/D [3608 0 R /XYZ 90 265.832 null]
->> endobj
-3555 0 obj <<
-/D [3608 0 R /XYZ 90 89.441 null]
->> endobj
-3607 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F95 1788 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3618 0 obj <<
-/Length 1299      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~����&5Ë(�y[��h�Y�=�A�ȌCLO������"Yr
�2$(�>�"�s��'�`�����|r�>f�@"�q0��� NI0_�!��tF0����0k���tJqX��h��?�U�5����”�a]Mg������
?�ki�d�K8�&
IM/�&��'T����%�y99����?1��V�
"��Yg��&��Y�!
�Y�����v�����
�8��V�W~��l2]7�gSn�ְ����[��X�^��8����{��������' i%�N�e���!)%�й�
-U�7�Y
v�o�B�J_�}
��(Fq��	�i䶿]�b�#��غ��{�
�uS�#�v�Z{͸�v�e�
���6o��F�?\U7�Q�+�;�v��~�P��Z�m�.�E����Y%�,���
#!bp
E$���>o�Rjٴǣ��cFa%)J� ;S�9
�v�c�P��.��O��{A~��V�Zu�a�E<J�F���˕�>�`�M�V/��U5�p�5+��2k�k�>����[74�����b*� K��f�s��4�1sC��yպ���nB�+�qsW���~�&�%�ĪV�n����I��ʚ̒���e
��3U���Eݮ�>&�L����3OH���K at X*���nyw��}h�:1g]x�E���x�|�p�
�I>�>�|���c�Z�=��l�	�uYn���0�"�p�;�
	�I���a#�)�!���3p1�Ap�=Y�
-?u��$;���pѼ;� �!.�b��[P~��
-sD^d�\�I*�
-�
�р��L/u%�l�zlͭ�Lg3W(�DH�d�&�nֹ�/��\�ݴM]�k/a�
��ѝa�5�a���R�/d������7��v��"[��l7 ��VyV�.��
���~�2-;�wB]�]
-�[W�ȧ���q_We�&8�a��&��6��%� d�㩠�I]-���r!ᥡ��{ �CD�gN��7���i��0y�X��
y�{g�z��^�=����>�"�G���K�F���
-�D���J�"߼8���-��1����'�Rѷɇ�b/e�@ǥ%"Ġ._��[c�G�1��[.h��@x�kL�ɠy����8�d�,(�ӶLw�2� ��� 
~
�l�ަ;E�l0F<�?��˳���qjM}�/I�+����c����q��%OMh

���ݫGe��w+�_�����?�j�nlP��9
-��/n
d Qh��

-�LJo��쟠�>�	�՗��}�h�:>:���Ey�֕Z5H�ժ8���)��*��/˺#~���23�����vC�l
-endstream
-endobj
-3617 0 obj <<
-/Type /Page
-/Contents 3618 0 R
-/Resources 3616 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3599 0 R
-/Annots [ 3615 0 R ]
->> endobj
-3615 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3619 0 obj <<
-/D [3617 0 R /XYZ 90 757.935 null]
->> endobj
-3620 0 obj <<
-/D [3617 0 R /XYZ 90 733.028 null]
->> endobj
-3556 0 obj <<
-/D [3617 0 R /XYZ 90 572.93 null]
->> endobj
-3621 0 obj <<
-/D [3617 0 R /XYZ 90 558.987 null]
->> endobj
-3557 0 obj <<
-/D [3617 0 R /XYZ 90 366.883 null]
->> endobj
-3622 0 obj <<
-/D [3617 0 R /XYZ 90 352.939 null]
->> endobj
-3558 0 obj <<
-/D [3617 0 R /XYZ 90 241.413 null]
->> endobj
-3623 0 obj <<
-/D [3617 0 R /XYZ 90 227.47 null]
->> endobj
-3559 0 obj <<
-/D [3617 0 R /XYZ 90 89.441 null]
->> endobj
-3616 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3627 0 obj <<
-/Length 1624      
-/Filter /FlateDecode
->>
-stream
-x���n�F����j)�Z����H�8n� 
�����D�"U����,wy��C'-�^���������Jؙ9��yp6
�<��	P �t�wN�
O$(q�S��%p=
��{9$�
�Exs9��Mㇹ�f�ͫ�6
�����΋!��4����y
湹�Mݩ�J&
-<S�3�p1|?~9x6
�5 vH��DŽ3Y
��cg
-�_:��w�K���)��ع�:�{Ӣ
a)��E�礶+aƨ�x�&yan/.v�~�3?y
�V��H�}	ɔ�>�NF
��K�ﴁ3�#�g�¦z�.��ZG�Í���� ���٤�B߰y�W�?X��3�z��Ż��7�/_=����]�;�!��	U#=
!�	�Z��q4����T��� ��B	<$)7_9[E���_h;�|,�T���e�r�Q23O���)��h���$N�Ufߦw�0�[Cl��G���COJ^]PT.���7�9b� �<]�yv���PY~�q�8���W����`��Z_����E�x_	l)��5\�j����N@#3��p��A_���VhQ����0��I�&�%i����[GRµ��Iґ��JI� ��P��l,3B�X��
 jǃʠxX��


��I����	�{ X�κY~�D�Ѻ
��{##8V��N�������t��uO
-��$�W"]n���Ea
�F��D��=��1�����6�c��
q�sш��g�1�$�������� A���'���<_GI
%
-Ҕ���T[9+���ʫ5�M����=����<7J�*��ܼ-*�|N���F yd���[�0�1
��yu�y�"�
;|�&Q���aQE1�WS�o�Fz/�����Z��Y
-���\��y�7�K�ET���!n�GR
 FA �7Z�e�FCs�Tn��V|/��%\.�t
-@�����sJ$��
:s�l=Q���#�#hz)/����Jf��FeY��K��5���<K�T��Z�u�;���l�v9�g����r���q��h��G;(A�ׂgZz����؎��EӼZ��a
�H�B�o��(Dւ��f��?d�ҟv�O�a��
.���y�}��Pr���dP��i�C��p��[��{���j
.{�C
��¾V���f��޸�I���o�=Nʫ��c����Nq��
�*��s�`�o�,y
��cA����u�tq/6P�鲍�-j��.�{�ogO�l0ɴ+޵I�{��=�q�;����0�����a��Fj�[�h�
5f�0�މe��fį	]k�9)�����##!�CCnAC��}3)�Y�@��{Er��bE�W6��'��F�z)j)�֤�"���ܦy�"#_x-�
�c 
��� "���=
j������Q���g?:�E_ [...]
-��r�ܼ�U��Pצ�:LVU:�+h�z_��d��V
�
	��R6I�ٟNu�ˠ�&^������yQ,OON����$G�$Zf(*N���d{�[^tk�N��l7�/�Qam���o�1�r
-endstream
-endobj
-3626 0 obj <<
-/Type /Page
-/Contents 3627 0 R
-/Resources 3625 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3599 0 R
-/Annots [ 3624 0 R ]
->> endobj
-3624 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3628 0 obj <<
-/D [3626 0 R /XYZ 90 757.935 null]
->> endobj
-3629 0 obj <<
-/D [3626 0 R /XYZ 90 733.028 null]
->> endobj
-3600 0 obj <<
-/D [3626 0 R /XYZ 90 628.632 null]
->> endobj
-3630 0 obj <<
-/D [3626 0 R /XYZ 90 614.58 null]
->> endobj
-3601 0 obj <<
-/D [3626 0 R /XYZ 90 410.52 null]
->> endobj
-3631 0 obj <<
-/D [3626 0 R /XYZ 90 396.467 null]
->> endobj
-3602 0 obj <<
-/D [3626 0 R /XYZ 90 254.929 null]
->> endobj
-3632 0 obj <<
-/D [3626 0 R /XYZ 90 240.877 null]
->> endobj
-3603 0 obj <<
-/D [3626 0 R /XYZ 90 89.441 null]
->> endobj
-3625 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F11 418 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3642 0 obj <<
-/Length 1745      
-/Filter /FlateDecode
->>
-stream
-x��Xmo�6��_!`�fCR"%�.k��g��H
C��X�,y��$�~�7ɒ�$:
�'�Q�{y�;b���ދ�/���s
x	N�7_y{'�Q�͗�Ŕ�g>�O�gO�j�,�gO��v-�U�x�]VIu{zz���W�H.�v�KY;�_�<'doJ#
����%=
F4n�|��G3�2���8KoG$��~�W�Y�Ե�;�	:��m�4Ҽ� W�>���H�!�NIȕ�ɳ���	1�#�a,BQ��t3����%��a�ػ֫6^H�b��q����| �Y�|�("���}P���[�Hc<��Nˢn�3�������q�`{
-�8@S��+�z��
q
�E��
-�)F

\�����sy�5�
��-#�BJ����adߐ���n��b_X�H���w�g�ߞ�y�����qq�x�<EF$�5q�ޅ��:��Y���R�R�bN��44�����ab.g沵S�R�宱7��r����h���Z�Kʊ�����ڸe�6I��2�Ȣ�ڭW��:�F���dCq���
-o+�f�tߓƩ�滥�Gdk{�L��H�d����jS#��FV�i��NLY$F�d�0�}D��Ӌ!���;j:tǮ���)��R�
-���.(Cc{Z�vK�0$±,8�k(�DkuuJ4\� �M?t�UQVN�d�$�*5���ҵ[�L*�M�����9#l�u�l�F���
�cE���O}��A}���̧
�/
�A�8�q�(!���9��O90+�g���2+ �3[�[_�ڥMY͘EN�p� H{��� ;�_�
�J��h�wEڴ��k��m��*JC8z2r��.�R$
-�?ŵʴ�z��
@
���V
y�����+�j����zo���!^Y3�xN��><DJ ��L��KU[�
�����W��G�=Z��,
-Ť�
#�
���^�Q�w��Z�T�l��4��#���mШC�
3w��M�4�*��#x	����w�>9ΐJ6�
-
Q-:��X]�j?B=6i
Z%y=���B�`u��{X� �liv�ʭ�Ͽ�
�N��Y��f�
2�[�g�ERYz��

�۴��U9�lz�:�1pC

��	{�%ɑ�sG�np���x�j� �����]�Ґ4�,EP|��X

�z�#K�jUV��pqN���Zs�}����`L��Ǫ*7�>eU�qrV\�W�D��~ܕ�a�6����3�����g@��m����
0�����������{�Ј��#��c���ù9
-���PEidp>*�M� �79�����8f���?N��<�E���Ԇ�J�[Ww[���*Km�o�n��T#���ߍI���7�ʲh�U� /z�)����;���>� E0�����P�.�T��A���:��.�$������2w��S�(����;{8�	�u1���Gue�A>�j������dXw�_S��8
G8Gp�b�q�x� ��V�1
-�_�D퀒��qu�%EӍ?A4u#/�P��aXP�v�F/�0��#.u�r�Y�����-f��cN5��N��x�*�=,�>d�j��jA�������c��/�F)>�l=�!4=�~e�;0�: �4I��$F,lG�v�����D��:����A
�����
�1��pL9Wd���}t��<ڒ`
~�e��|,l�&����*�Ȫ�#u���f@�x�QJk�����^O45u��8BAw��n�������5Jk�+�m���8��F�� �VH�ԛ�j�^nt�GC����
-endstream
-endobj
-3641 0 obj <<
-/Type /Page
-/Contents 3642 0 R
-/Resources 3640 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3599 0 R
-/Annots [ 3633 0 R 3634 0 R 3635 0 R 3639 0 R ]
->> endobj
-3633 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 184.304 150.493 194.834]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_33a5462cd5398fdbd61989d17aeeaa72) >>
->> endobj
-3634 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 145.076 141.367 155.98]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga88e9b9cb2588cbf5914695fc14e69a8) >>
->> endobj
-3635 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.865 145.076 174.293 155.98]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_b74908b692bc6f8112f5d27b96141431) >>
->> endobj
-3639 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3643 0 obj <<
-/D [3641 0 R /XYZ 90 757.935 null]
->> endobj
-3644 0 obj <<
-/D [3641 0 R /XYZ 90 733.028 null]
->> endobj
-3604 0 obj <<
-/D [3641 0 R /XYZ 90 604.1 null]
->> endobj
-3645 0 obj <<
-/D [3641 0 R /XYZ 90 589.53 null]
->> endobj
-3646 0 obj <<
-/D [3641 0 R /XYZ 90 510.132 null]
->> endobj
-3605 0 obj <<
-/D [3641 0 R /XYZ 90 487.82 null]
->> endobj
-3647 0 obj <<
-/D [3641 0 R /XYZ 90 487.82 null]
->> endobj
-1422 0 obj <<
-/D [3641 0 R /XYZ 90 321.925 null]
->> endobj
-158 0 obj <<
-/D [3641 0 R /XYZ 90 315.325 null]
->> endobj
-3648 0 obj <<
-/D [3641 0 R /XYZ 90 202.904 null]
->> endobj
-3649 0 obj <<
-/D [3641 0 R /XYZ 90 202.904 null]
->> endobj
-3640 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F21 2111 0 R /F72 471 0 R /F99 2117 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3692 0 obj <<
-/Length 965       
-/Filter /FlateDecode
->>
-stream
-x��YMo�8��W�J at M��HJ������v���SZ�D�B���r��/)R��6	��P�`H���y�f���[��;��̙^0"1���Dp�!�1�����2o�B��"�_z>r�|�����������H��I"���)n����O/0>���9$����?̔#0�>��3��Ko�SmB�q�l;�IqD�e�
~�����y��b�ǵ0#Wb��ǡ+�D
aL}\�:�V0��a�CN(H
-��+�$Q�Y|mX>;�
d��E���N�!S+�O bԘ���i��~��_�ZC��9�zB�P�:�֩Y��D���L�^p�� � 
0�`Cd#�Xě�6�J�r]�MRW�i��u�~Dw�«'g���6V�;����m�s�
�j����f�ג-�Q
���ho�D�~�J� �N��A�2�ޮD6o.dU�7����_�
�0u�
�c�(��(�;�:uf
� P/FԦL��qR�0 F���iϼ|�IG�!�Q�NJ��g[�Q�ȃ��M�f���m��4�O�����B�q�k\�]�آ��Y��y�3���4c
��mc(~\}"<�q\����f��R���{��uv[
-k{���y�Y����
b6�#F��;V�+R؏H�e%�q�t at ie���E�˫���g4�����T#mS���`GOH�x��})���!��W�ޮ��4�D�J=�%z�zC?�:E��4�+�#z��
�?���A�O�%s at d�r���&ÿ��lUۧ�Xd�f4X�������y���
Y%�=�L��׳#�~���iC�)�p��~nۿe0�$�MtAJ��^��}�U���m�����n����G�k���M+���
%�zꖏ��	Q��,�%i�}��_��O��!�D
��[�����tzww�5ܔ�J¬��V��~� ��@�l�M�6��`�D)<�����

-endstream
-endobj
-3691 0 obj <<
-/Type /Page
-/Contents 3692 0 R
-/Resources 3690 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3599 0 R
-/Annots [ 3636 0 R 3637 0 R 3638 0 R 3651 0 R 3652 0 R 3653 0 R 3654 0 R 3655 0 R 3656 0 R 3657 0 R 3658 0 R 3659 0 R 3660 0 R 3661 0 R 3662 0 R 3663 0 R 3664 0 R 3665 0 R 3666 0 R 3667 0 R 3668 0 R 3669 0 R 3670 0 R 3671 0 R 3672 0 R 3673 0 R 3674 0 R 3675 0 R 3676 0 R 3677 0 R 3678 0 R 3679 0 R 3680 0 R 3681 0 R 3682 0 R 3683 0 R 3684 0 R 3689 0 R ]
->> endobj
-3636 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 720.286 199.475 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_fcba1dd5e579752d6dcc40ef4d5799b8) >>
->> endobj
-3637 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 683.344 199.475 694.247]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_c0ef828e81a5c7625db3abadcafc8438) >>
->> endobj
-3638 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.812 683.344 301.193 694.247]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3651 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 634.82 199.475 645.724]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_f2441164b4c23a8203f399f561c9a7c7) >>
->> endobj
-3652 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.812 634.82 301.193 645.724]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3653 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [417.691 634.82 477.247 645.724]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3654 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.672 621.342 303.64 631.247]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3655 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 598.251 199.475 609.155]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_4bed59d493c4fd91537602efb267c938) >>
->> endobj
-3656 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.745 598.251 320.301 609.155]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3657 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 561.682 199.475 572.586]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_80f6de87ec43c33fac3832b14a507c0b) >>
->> endobj
-3658 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.525 561.682 323.081 572.586]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3659 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 525.113 199.475 536.017]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_298300b8f88eb674c317b99ad09a474b) >>
->> endobj
-3660 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.12 525.113 313.676 536.017]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3661 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 488.545 199.475 499.449]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_2024878c4c26cb836d454e2e93f40c8f) >>
->> endobj
-3662 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.313 488.545 320.869 499.449]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3663 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 451.976 199.475 462.88]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_4f3206ab2d3c47e2014e5b306167c7c0) >>
->> endobj
-3664 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.517 451.976 341.074 462.88]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3665 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 415.407 199.475 426.311]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_cca11ef67e39b711f96604b6bf806feb) >>
->> endobj
-3666 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.708 415.407 330.264 426.311]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3667 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 378.838 199.475 389.742]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_b4d4a0ebee3fcc93490aa029028a810b) >>
->> endobj
-3668 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.487 378.838 333.044 389.742]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3669 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 342.27 199.475 353.174]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_1bdc1023fb4478270594d0e965eb90c9) >>
->> endobj
-3670 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.083 342.27 323.639 353.174]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3671 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 305.701 199.475 316.605]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_461dbfcb8f68886137794e4a408fc55e) >>
->> endobj
-3672 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [271.276 305.701 330.832 316.605]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3673 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 269.132 199.475 280.036]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_74b0a8cfdec7831e7a3e296b3e3751dd) >>
->> endobj
-3674 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.48 269.132 351.036 280.036]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3675 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 232.563 199.475 243.467]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_6957dba3dbf92459a364893d7ecfb897) >>
->> endobj
-3676 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.81 232.563 292.366 243.467]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3677 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 195.995 199.475 206.899]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_f47ee9cf59cfac8a346660698c61d113) >>
->> endobj
-3678 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.215 195.995 301.771 206.899]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3679 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 159.426 199.475 170.33]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_bf60cc7fa60d33c4fe958126d55cbac2) >>
->> endobj
-3680 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [262.419 159.426 321.975 170.33]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3681 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 122.857 199.475 133.761]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_77a2c5c27e9c0838fea6e6447b20c320) >>
->> endobj
-3682 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.431 122.857 347.987 133.761]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3683 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 86.288 199.475 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_404beea19c04f4e7bbcfe81aae0d6a7d) >>
->> endobj
-3684 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.873 86.288 347.429 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3689 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3693 0 obj <<
-/D [3691 0 R /XYZ 90 757.935 null]
->> endobj
-3694 0 obj <<
-/D [3691 0 R /XYZ 90 733.028 null]
->> endobj
-3695 0 obj <<
-/D [3691 0 R /XYZ 90 700.371 null]
->> endobj
-3696 0 obj <<
-/D [3691 0 R /XYZ 90 663.802 null]
->> endobj
-3697 0 obj <<
-/D [3691 0 R /XYZ 90 615.278 null]
->> endobj
-3698 0 obj <<
-/D [3691 0 R /XYZ 90 578.71 null]
->> endobj
-3699 0 obj <<
-/D [3691 0 R /XYZ 90 542.141 null]
->> endobj
-3700 0 obj <<
-/D [3691 0 R /XYZ 90 505.572 null]
->> endobj
-3701 0 obj <<
-/D [3691 0 R /XYZ 90 469.003 null]
->> endobj
-3702 0 obj <<
-/D [3691 0 R /XYZ 90 432.435 null]
->> endobj
-3703 0 obj <<
-/D [3691 0 R /XYZ 90 395.866 null]
->> endobj
-3704 0 obj <<
-/D [3691 0 R /XYZ 90 359.297 null]
->> endobj
-3705 0 obj <<
-/D [3691 0 R /XYZ 90 322.728 null]
->> endobj
-3706 0 obj <<
-/D [3691 0 R /XYZ 90 286.16 null]
->> endobj
-3707 0 obj <<
-/D [3691 0 R /XYZ 90 249.591 null]
->> endobj
-3708 0 obj <<
-/D [3691 0 R /XYZ 90 213.022 null]
->> endobj
-3709 0 obj <<
-/D [3691 0 R /XYZ 90 176.453 null]
->> endobj
-3710 0 obj <<
-/D [3691 0 R /XYZ 90 139.885 null]
->> endobj
-3711 0 obj <<
-/D [3691 0 R /XYZ 90 103.316 null]
->> endobj
-3690 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F35 2018 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3733 0 obj <<
-/Length 1135      
-/Filter /FlateDecode
->>
-stream
-x��Y[��6}�W�)�g���6���l&�e�Y���a
���m�C}%Y
K.?Y����]����7�_G��-'NB��3�9!t|� ���΃��^A�;A7*���������B�E4�#�Q�ob�Q-����r"
-�������`�B�|���s���A�IhW�<��/�>f
-�~q2ݴX&!@!�����4*����
�+��4�D=�^�$|�"��)�v
����Q��
�f��4a�>a�t�{� �Xοs  a�<�UK�b,u�{��!����H��j�T�C 9�a��
�]1�j�I�TI�&�EU�g�ܬ�(s�e}��u6��Y,b��t�Bw�%+�Z�kmA.O�y=��c�!�M���2�Gyc�)�� �
<b�l(&���������g2��#j��\��=B�yVB���
n��C� [�!$��^
-� �5�3z�+[ �@1
��.-�⤐�P+gr�(� q,����/7������QW?�ЇH= ��pe�N+!sh�N�	JÃ:Ѱ�
���ڬD-M����c�
Li�D�({�d��C%�*�G&�h?2խF%G�}q"��'�JY�Q�RW�E�ɞ���Y4I���FBUۃcV�����m9�_��
�kT��|c;Uf�
l��ݰ&��."��O
fn�����<oC)E��
�Sv�&��Y^���L���g�2#��Q�L�6�KC�H^tm٫GF���wj�|޴�

|~i�#�e$�/��f:�-�1v�ȧ A~2�[���$5����ʋ������-$a����<�jCxR
B��E봺@}��M)
�ݶ��
������j�5i��L�Au��r�յ0��t�a��Z��P��n�[̗�WcA��.�W�v�x_g���_S:�	��]���ݙv�t�b
����ĦS��ӭ
w�@_Ck�<�#_}���
�.���I*.I�AБ�����=��9><
���{:�O�H
�>	̑,
�~��
�J(�<�����֜��7�����c�5�F��~VV�|R�DQn��@}�S� �O$A�B�k�>:v�:Bf{xQ��m��Z
���'0-�:KVH��j��?4�YA�[#�����|&'�Z�
���ZF��
-endstream
-endobj
-3732 0 obj <<
-/Type /Page
-/Contents 3733 0 R
-/Resources 3731 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3751 0 R
-/Annots [ 3685 0 R 3686 0 R 3687 0 R 3688 0 R 3712 0 R 3713 0 R 3714 0 R 3715 0 R 3716 0 R 3717 0 R 3718 0 R 3719 0 R 3720 0 R 3721 0 R 3722 0 R 3723 0 R 3724 0 R 3725 0 R 3726 0 R 3727 0 R 3730 0 R ]
->> endobj
-3685 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 697.092 199.475 707.996]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_3de2c410fab852f07f89df5be3d4c118) >>
->> endobj
-3686 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.745 697.092 320.301 707.996]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3687 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 648.461 199.475 659.365]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_e3a660d2b2a34f69d2d0cb1cc77f6f69) >>
->> endobj
-3688 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.469 648.461 327.026 659.365]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3712 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 587.876 199.475 598.78]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ed795d57d70d782ccf2a584cce183050) >>
->> endobj
-3713 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.812 587.876 301.193 598.78]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3714 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.672 574.345 303.64 584.25]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3715 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 551.201 199.475 562.105]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a3de5a2fe7f06d0aa3e4972be2023933) >>
->> endobj
-3716 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 514.526 199.475 525.43]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_fcb46dd5c0701130f067f577f99ef27f) >>
->> endobj
-3717 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 477.851 199.475 488.755]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_24e90bb8bb38d248aca79c76a1717d9d) >>
->> endobj
-3718 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 441.176 199.475 452.08]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_55e9dfdf5da9a55b7523bda6b7f56c78) >>
->> endobj
-3719 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 404.501 199.475 415.405]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_8abdf2e292960e1fb216ce3c2c0816ff) >>
->> endobj
-3720 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 367.826 199.475 378.73]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_f9d7eaecf113e25020c55ed0bf79eb03) >>
->> endobj
-3721 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 331.151 199.475 342.055]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_fad3fbdebb1ba319083c56fa2ae679e6) >>
->> endobj
-3722 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 294.476 199.475 305.38]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_79f64d099a652834da74cc8fd68f2452) >>
->> endobj
-3723 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 257.801 199.475 268.705]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_164f8732d5fe6b526a34e168145a95ad) >>
->> endobj
-3724 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 221.126 199.475 232.03]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_98dae78cdd16f7127a4b3e18c3976562) >>
->> endobj
-3725 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 184.451 199.475 195.355]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_f9daca45c3c1d0d1afd57ab47c6cacd4) >>
->> endobj
-3726 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 147.777 199.475 158.68]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_f0647cd431d30a9658d4bdc77e32d9e4) >>
->> endobj
-3727 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 111.102 199.475 122.005]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_b19be1f26efb21370e8460b325a7f57c) >>
->> endobj
-3730 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3734 0 obj <<
-/D [3732 0 R /XYZ 90 757.935 null]
->> endobj
-3735 0 obj <<
-/D [3732 0 R /XYZ 90 714.146 null]
->> endobj
-3736 0 obj <<
-/D [3732 0 R /XYZ 90 677.471 null]
->> endobj
-3737 0 obj <<
-/D [3732 0 R /XYZ 90 616.885 null]
->> endobj
-3738 0 obj <<
-/D [3732 0 R /XYZ 90 568.255 null]
->> endobj
-3739 0 obj <<
-/D [3732 0 R /XYZ 90 531.58 null]
->> endobj
-3740 0 obj <<
-/D [3732 0 R /XYZ 90 494.905 null]
->> endobj
-3741 0 obj <<
-/D [3732 0 R /XYZ 90 458.23 null]
->> endobj
-3742 0 obj <<
-/D [3732 0 R /XYZ 90 421.555 null]
->> endobj
-3743 0 obj <<
-/D [3732 0 R /XYZ 90 384.88 null]
->> endobj
-3744 0 obj <<
-/D [3732 0 R /XYZ 90 348.205 null]
->> endobj
-3745 0 obj <<
-/D [3732 0 R /XYZ 90 311.53 null]
->> endobj
-3746 0 obj <<
-/D [3732 0 R /XYZ 90 274.856 null]
->> endobj
-3747 0 obj <<
-/D [3732 0 R /XYZ 90 238.181 null]
->> endobj
-3748 0 obj <<
-/D [3732 0 R /XYZ 90 201.506 null]
->> endobj
-3749 0 obj <<
-/D [3732 0 R /XYZ 90 164.831 null]
->> endobj
-3750 0 obj <<
-/D [3732 0 R /XYZ 90 128.156 null]
->> endobj
-3731 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F50 339 0 R /F23 340 0 R /F35 2018 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3781 0 obj <<
-/Length 1415      
-/Filter /FlateDecode
->>
-stream
-x��Y�r�6}�W�)%'�+/��3�[g���k�OIFCS��	/
-H٣|}I����V2i�(R�rq����k
Z/���3�X\�Z�@�s`Y���F��A�sA;I89w0��xuç"��9��X������ħ�7��
�����
��
0� !�|}i�'=��� ��1v<j��
1S.�/�G��$ ( մ��>��<�v�N�m�,�����I��o�4��b�F4PF���H��*c
���d������k
��]9*�(V������4��fl��<��
& �L��
cV�����/��#/ֻ!����z�
�V�
2ei^�'�O��F��J��6ާ��3[�t֥:����"|����\8ijyd���y1��簘g�~6ev��P_$��.�������e\T��9�t:O���ٔ�I��������iy�)9���(���2�R��i5Q2�B��\��!�>�	��� �Wj�
B�G�
� �Q5�wȤ^`�\l��>0+N�%/�B_.�h�["TN�@�A�&���~�RQ	i����z��~J�
�oYr��šX-x&F�τ��M���%�
�\���*P `&�������.u[z%��3&kU����4����լ�
�L�{x4Y
-|���U>�\�H����e���j<�N��e�Fm��ծ��ɭ��f�Kn��e]�
	� a�Ƽ�}��I��4|�bVv"q���
(�M�\#���W���S��0�9HT�D�ÿD��L䕞?��J���K������ ���F�
-��o��",2Q5M[������2O�q&B��TU�诣���mB&N�!A
-�b)Ҽ%�Q�X�I3}-nxU�\īu��e��<�7���O$�˱i�蕁S�ʋ��:�vb����@N#�z`u-{���+��Q�ч�����k����Aj��Rm�?ߚ�2m����	n%P/v��;m�td����D�)ie
��e{����XS��@ ��x��ˀɹ:�Q�[u��dsVo���!r��
ϟPD����6�ٺo=�D�eޥ��ޮ��m�?���T�7�=�n�a���1�8U�y�;�Q/�8�_w��S*vm�I Y�[n�� �4�x����uT]�
-����v�@ ��ܒ��>4߶sW������Ν�v�z��!H����Y���N!#�
����g
6�� ��[��3Q�4���Ã
-vl� �ۋG(
�K��-�A�
�:
��58���`\.�
-M�����4��eO����ҕ #��7���+���C1
 c�`\
T�����
u�W�����V�o�ɹ��a�6�#��2����t
���Gji@��]�J���>Zկ?�)k��|�n���MQ,NF���;�`��̋�b��ZÊ�^omdV
�&����S�0)ϐ�&��
��)
-endstream
-endobj
-3780 0 obj <<
-/Type /Page
-/Contents 3781 0 R
-/Resources 3779 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3751 0 R
-/Annots [ 3728 0 R 3729 0 R 3752 0 R 3753 0 R 3754 0 R 3755 0 R 3756 0 R 3757 0 R 3758 0 R 3759 0 R 3760 0 R 3761 0 R 3762 0 R 3763 0 R 3764 0 R 3765 0 R 3766 0 R 3767 0 R 3768 0 R 3769 0 R 3770 0 R 3771 0 R 3772 0 R 3773 0 R 3774 0 R 3778 0 R ]
->> endobj
-3728 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 719.912 199.475 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_65b1cc4ac0c0c8a2efcbf3d36d4ac0ac) >>
->> endobj
-3729 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 683.194 199.475 694.098]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_6afe848ad84ff68d48142caf0599760a) >>
->> endobj
-3752 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 646.476 199.475 657.38]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_91459c49e4f7d7fc2dea0347e0489ce5) >>
->> endobj
-3753 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 597.803 199.475 608.707]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_956de4112c520bb87767ce894b4d512d) >>
->> endobj
-3754 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 512.828 168.86 523.732]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_00f887bfb5c61faba29a67def563c786) >>
->> endobj
-3755 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.914 476.484 187.002 487.014]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_268aa30d717cdc7d07e60cf7c56712e6) >>
->> endobj
-3756 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.436 439.766 210.524 450.296]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_627ac77a4752fde3c10792ee9f1673a4) >>
->> endobj
-3757 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 366.372 199.475 377.276]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3758 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 366.372 251.021 377.276]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_b45faf2ccad8057c7b27e0c999eb063b) >>
->> endobj
-3759 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.359 366.372 352.739 377.276]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3760 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 317.699 199.475 328.603]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3761 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 317.699 251.021 328.603]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_80993a2a72759ec030dd3cde21c8a00d) >>
->> endobj
-3762 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 269.026 199.475 279.93]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3763 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 269.026 256.64 279.93]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_08ceb442794b5f60c1ad09ce744371e1) >>
->> endobj
-3764 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.977 269.026 358.358 279.93]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3765 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 232.308 199.475 243.212]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3766 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 232.308 256.64 243.212]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_8772f767006f16e376d8eca9b1578b73) >>
->> endobj
-3767 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.413 183.635 269.974 194.539]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-3768 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.331 183.635 415.711 194.539]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3769 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 171.68 171.52 182.583]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_59638854527a5bebee3676750668c63a) >>
->> endobj
-3770 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 123.006 199.475 133.91]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3771 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 123.006 254.14 133.91]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_2857ee1039a41cfab001c0ba21c69ac3) >>
->> endobj
-3772 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.477 123.006 355.858 133.91]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3773 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 86.288 199.475 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3774 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 86.288 254.14 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_02949da26a3761489d2fb98018010990) >>
->> endobj
-3778 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3782 0 obj <<
-/D [3780 0 R /XYZ 90 757.935 null]
->> endobj
-3783 0 obj <<
-/D [3780 0 R /XYZ 90 733.028 null]
->> endobj
-3784 0 obj <<
-/D [3780 0 R /XYZ 90 700.259 null]
->> endobj
-3785 0 obj <<
-/D [3780 0 R /XYZ 90 663.541 null]
->> endobj
-3786 0 obj <<
-/D [3780 0 R /XYZ 90 626.823 null]
->> endobj
-3787 0 obj <<
-/D [3780 0 R /XYZ 90 529.773 null]
->> endobj
-3788 0 obj <<
-/D [3780 0 R /XYZ 90 493.175 null]
->> endobj
-3789 0 obj <<
-/D [3780 0 R /XYZ 90 456.457 null]
->> endobj
-3790 0 obj <<
-/D [3780 0 R /XYZ 90 381.415 null]
->> endobj
-3791 0 obj <<
-/D [3780 0 R /XYZ 90 346.719 null]
->> endobj
-3792 0 obj <<
-/D [3780 0 R /XYZ 90 298.046 null]
->> endobj
-3793 0 obj <<
-/D [3780 0 R /XYZ 90 249.373 null]
->> endobj
-3794 0 obj <<
-/D [3780 0 R /XYZ 90 212.655 null]
->> endobj
-3795 0 obj <<
-/D [3780 0 R /XYZ 90 152.026 null]
->> endobj
-3796 0 obj <<
-/D [3780 0 R /XYZ 90 103.353 null]
->> endobj
-3779 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F23 340 0 R /F35 2018 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3832 0 obj <<
-/Length 1216      
-/Filter /FlateDecode
->>
-stream
-x��Z[s�F~�W�Ů4	��W�I�P'�$m7�Ov��amk���=��
� 	aL
cg�'	�:{����]l][����{��;���HK*������$A��?��mB�t�cl�:�^x�S�b{2�ߘQ�
��/#/�

ߘ�t�
>͂K9_�z'��L@�B�I�>��&R�`D�.G�
���N��ԅlb8o��4"��������؋��n���6�t�%&��\��ĵM8�G�j�S��w�ο
f�E2��B�	ktοbk�?X1�Zw٨��4ull�u�����5#CQ�%����0�*��"w�lv��g���I����8����~25��dWBl���i�މ�+Hu)E���)�g��TT�d/)�&�K.��-�MJ83 ��8� �u-*�$�"D��Ԅ^PsM���"�y���\���p��(�|z�c3x�
Oԥ7;9��uA��5� �0S�K���'/�
*�۔
3�

VҤ�fez͐X���aE�\
���T�!W������y��nSo��̼ްb�K���}�j�+���,ҞAڧ)��ט�i��X5|�`#�w )��M�t��^D���I�1�E�`�_+P��Bd_`���0NV=�;��W�1}�
-"���a����qP��y%w��=ρ[��U���DA��=�U0����J+
���Q�z�1k�U��nm	�{=�5ś:{=)oj�,U�CN)����Jwx�t��e5m>�Ɖ?
ϟ9e�?}�Q���~`�Jkǒ�t
�;�E��
-�V �h� 5�^k�_n�jd�R�=�K�%��b�W�$�@=��'|(.(����qVk�o�[d����$��\ચ�+��U+�Zi��Q+���U�Jo+3vi!{� ���*3�wN�������$�����a�6��# �y��~���޴Nj��#�
i��nz�`�[G��
Kw*[���*#ȅ4��!
�{�	�{Yo��w�
������
C\��5�.{֎���&jS�Os޺~�]�����L��&��qa�8���qLJ�tj��!72O
- �w�m��{O����O(I���=��
D�%�#��„FB��oLy
+�)
-��cy&,�X

�?���G�8r��
g��Y��
�(�'E�(����
��>3e��W��*��L��X�
-1�_7I2=������0F�ПF�Oz�鸷�V�@OT
#W�����X��� �$�����d?�
-endstream
-endobj
-3831 0 obj <<
-/Type /Page
-/Contents 3832 0 R
-/Resources 3830 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3751 0 R
-/Annots [ 3775 0 R 3776 0 R 3777 0 R 3797 0 R 3798 0 R 3799 0 R 3800 0 R 3801 0 R 3802 0 R 3803 0 R 3804 0 R 3805 0 R 3806 0 R 3807 0 R 3808 0 R 3809 0 R 3810 0 R 3811 0 R 3812 0 R 3813 0 R 3814 0 R 3815 0 R 3816 0 R 3817 0 R 3818 0 R 3819 0 R 3820 0 R 3821 0 R 3822 0 R 3823 0 R 3824 0 R 3825 0 R 3826 0 R 3827 0 R 3828 0 R 3829 0 R ]
->> endobj
-3775 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.413 686.933 269.974 697.836]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-3776 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.331 686.933 415.711 697.836]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3777 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 674.977 169.02 685.881]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_9c4298d04019ab7b5233ddceb430be03) >>
->> endobj
-3797 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 629.939 199.475 640.843]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3798 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 629.939 256.003 640.843]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_761744f24a8e2faed19912950cf13baf) >>
->> endobj
-3799 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.34 629.939 357.721 640.843]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3800 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 596.857 199.475 607.761]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3801 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 596.857 256.003 607.761]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_7ce6dfd81e04c3eb8d196bf13a96ebe6) >>
->> endobj
-3802 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.413 551.819 269.974 562.723]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-3803 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.331 551.819 415.711 562.723]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3804 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 539.863 170.883 550.767]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_c95c1fbaee07d3a9cead4d07683f6168) >>
->> endobj
-3805 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 494.826 199.475 505.729]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3806 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 494.826 253.791 505.729]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_72ef8379745ed9575b39216ba1e51d18) >>
->> endobj
-3807 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.128 494.826 355.509 505.729]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3808 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 461.743 199.475 472.647]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3809 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 461.743 253.791 472.647]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_6a2d561ac8088ed64a0bb51d8fffcd9b) >>
->> endobj
-3810 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.413 416.705 269.974 427.609]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-3811 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.331 416.705 415.711 427.609]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3812 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 404.75 168.671 415.654]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_fc3433d8ec297e2d1fbdf559d93f9080) >>
->> endobj
-3813 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 359.712 199.475 370.616]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3814 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 359.712 259.32 370.616]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_7e90d52413515d81ad9b68fb1740d869) >>
->> endobj
-3815 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [286.658 359.712 361.038 370.616]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3816 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 326.629 199.475 337.533]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3817 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 326.629 259.32 337.533]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_1a79ab4c49d7ae4406b56dc2b3d94463) >>
->> endobj
-3818 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.413 281.591 269.974 292.495]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-3819 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.331 281.591 415.711 292.495]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3820 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 269.636 174.2 280.54]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_e179c684a9ed7eafbbac1825d17f7daa) >>
->> endobj
-3821 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 206.613 199.475 217.517]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3822 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 206.613 256.64 217.517]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_3cb9b031ec4e6fd7e53e53da5b0f04a1) >>
->> endobj
-3823 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 173.53 199.475 184.434]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3824 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.973 173.53 246.399 184.434]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_de4a5582f82333f20fd6a8be13ff8d7f) >>
->> endobj
-3825 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 140.447 199.475 151.351]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3826 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 140.447 250.185 151.351]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_06c0a4ba25cbc3d59797bf1c73c49497) >>
->> endobj
-3827 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 107.364 199.475 118.268]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3828 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.973 107.364 239.943 118.268]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_0803532e7523865597c394e1371d2b16) >>
->> endobj
-3829 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3833 0 obj <<
-/D [3831 0 R /XYZ 90 757.935 null]
->> endobj
-3834 0 obj <<
-/D [3831 0 R /XYZ 90 715.044 null]
->> endobj
-3835 0 obj <<
-/D [3831 0 R /XYZ 90 658.051 null]
->> endobj
-3836 0 obj <<
-/D [3831 0 R /XYZ 90 613.013 null]
->> endobj
-3837 0 obj <<
-/D [3831 0 R /XYZ 90 579.93 null]
->> endobj
-3838 0 obj <<
-/D [3831 0 R /XYZ 90 522.937 null]
->> endobj
-3839 0 obj <<
-/D [3831 0 R /XYZ 90 477.899 null]
->> endobj
-3840 0 obj <<
-/D [3831 0 R /XYZ 90 444.816 null]
->> endobj
-3841 0 obj <<
-/D [3831 0 R /XYZ 90 387.823 null]
->> endobj
-3842 0 obj <<
-/D [3831 0 R /XYZ 90 342.785 null]
->> endobj
-3843 0 obj <<
-/D [3831 0 R /XYZ 90 309.702 null]
->> endobj
-3844 0 obj <<
-/D [3831 0 R /XYZ 90 220.746 null]
->> endobj
-3845 0 obj <<
-/D [3831 0 R /XYZ 90 189.686 null]
->> endobj
-3846 0 obj <<
-/D [3831 0 R /XYZ 90 156.603 null]
->> endobj
-3847 0 obj <<
-/D [3831 0 R /XYZ 90 123.521 null]
->> endobj
-3830 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F50 339 0 R /F35 2018 0 R /F23 340 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3895 0 obj <<
-/Length 1735      
-/Filter /FlateDecode
->>
-stream
-x��[Ms�6��W�J��'x2�iӸ��I\[9%-�6'"��Td��w��(���
%��4.��
K;�v���6�
����H��uW�Ǝt	�8�K�c����c�=������N{w���&�L}��"�����˛`��4
-.�w��"H{�o�NY�R�s�{k�EѤ���2]��$�>���0.؎���2ӈhV=��F�/G~�v=M�A4
�yP�9
��}��A<�[��%���W��?
f�Cl��D�	gu>~��%��`Ĵr��U�pj
9睿;xm�)C���g�q���d�0��b`/=��>�q]<�	
�.�����yud�M?-/��1
-��뫪/��AW^;�E�)�P �y�!�����'������<�yh;�ۢ
`�s����%	%�f� ����Ļ��L�Bח
))
�b�E�W�1
-��W�0���|�PH�KL��hC���{��a����
��{�zK�Y	e�{͐X��EÈV�sw
-	��������O��$(ix�$���",�=��k�����f
 ��x�'
$M
؇ ռB�����.r��2(`�P�kz������(�'�Ɵ0�q��v�_���=�w��;

�{��]�7����#�]�w���6�?�
�}��&H�;Ny�Ks���2��'i5t�5�d�L�	c�
����D�
�j���*Cww
�ٽ�P��3��Ϟ�0���0���$�|{7X� q$���j�b+qݳ ���u�v	bT숭}&bZ��W��t2�ۈ���gyRB��6l%������d_���{�(�aڠ	��PuP��"
a{E(a�gYx
{��!t��U���3\�`��w!��]w�c���#K�m�
��TX�v��o5�(RQG/���7~���^q
-��O7lY��
i5ߔ�3��4F.%u��'�&&�\��ީy9g�?k��\�~gJ�B.{�)E�>qk}�W��w�%��[����]W���-�X׈k��5�����\��l%{��v��e(d�XЍ�4V+5����|x�>9ɦ���-j}��|��
τ�bϦ����+�k�B��u�ס6�k� �`z�2�c�kv�

�%�k��.
`"7Ž4/�
�O�qy��K��@d�ۢA͜��-L�����FsOg
F at h�
D���qw9��jj�j���_�],9����@O}���[�.ז5wH� T����D�Ђ�ꬠ���b�S
�l-1�L�>�g�q�Y�b�x�J�����
�$�n�����:�Ɓ=��pĬMME	`է0yD~
��ǀ,�?d3��A��$�G^d�w1˃��ďR�����z�@]�b�\�ij ��q6?��[Ķ���K,�����ʃ���p2�C������E�۝��q�eI'���i�9�(ySm��"�����6��[RO)�4����`
-���-��p�E~� ^���v�� Vb7�k],��u�>�U�R�Mak9L�u��8H�<I�_���=���㎤0��I���=ƒ�P���60
���{H	 #Y�d��J���R,��;
H�!�=ȴ7�x��
WY�m����F�s�
�'�(@Y�T�uj}J#
��k�����Y����[��O��� ��)��<�6e
DM,�y�
-yP�l�Ⱦ8�՟
+�
���-�@7y>>>:�N�h��I
�S�G�����,Y!
ɹ�����Tz��p3��f�>�� �<\Q
-endstream
-endobj
-3894 0 obj <<
-/Type /Page
-/Contents 3895 0 R
-/Resources 3893 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3751 0 R
-/Annots [ 3848 0 R 3849 0 R 3850 0 R 3851 0 R 3852 0 R 3853 0 R 3854 0 R 3855 0 R 3856 0 R 3857 0 R 3858 0 R 3859 0 R 3860 0 R 3861 0 R 3862 0 R 3863 0 R 3864 0 R 3865 0 R 3866 0 R 3867 0 R 3868 0 R 3869 0 R 3870 0 R 3871 0 R 3872 0 R 3873 0 R 3874 0 R 3875 0 R 3876 0 R 3877 0 R 3878 0 R 3879 0 R 3880 0 R 3881 0 R 3882 0 R 3883 0 R 3884 0 R 3885 0 R 3886 0 R 3887 0 R 3888 0 R 3892 0 R ]
->> endobj
-3848 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.432 658.013 258.993 668.917]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-3849 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.555 658.013 439.727 668.917]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_b65697a5fab14ca76c391a3aa523e3f6) >>
->> endobj
-3850 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.432 633.107 258.993 644.011]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-3851 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.555 633.107 440.305 644.011]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_2b39d89b5938161bd8922b7c1f28f637) >>
->> endobj
-3852 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.432 608.2 258.993 619.104]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-3853 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.555 608.2 432.554 619.104]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_4cca5e272cecc038189aac8b2fc8ace2) >>
->> endobj
-3854 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.432 583.294 258.993 594.198]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-3855 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [361.361 583.294 403.772 594.198]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_356bd3ccfaa76c0ef4452a34ce767897) >>
->> endobj
-3856 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.432 558.387 258.993 569.291]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-3857 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.555 558.387 409.69 569.291]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_0acb1530838a14041c43002dd8ee3541) >>
->> endobj
-3858 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.108 533.48 259.668 544.384]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-3859 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [452.93 533.48 480.387 544.384]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga88e9b9cb2588cbf5914695fc14e69a8) >>
->> endobj
-3860 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 521.525 152.425 532.429]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_84ea81a9b4eed51ac13029dbccf67662) >>
->> endobj
-3861 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.801 521.525 314.357 532.429]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3862 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.108 496.619 259.668 507.523]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-3863 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [452.93 496.619 480.387 507.523]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga88e9b9cb2588cbf5914695fc14e69a8) >>
->> endobj
-3864 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 484.664 149.108 495.567]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_755f1ffc7dbac4ff01984c02774c9bc6) >>
->> endobj
-3865 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.483 484.664 311.04 495.567]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3866 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.749 459.757 259.31 470.661]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-3867 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.948 459.757 348.404 470.661]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga88e9b9cb2588cbf5914695fc14e69a8) >>
->> endobj
-3868 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [382.47 459.757 417.668 470.661]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_d6c64cb3cfad6b8d7fb952e3f85347aa) >>
->> endobj
-3869 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 447.802 173.467 458.706]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3870 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [166.019 422.895 261.58 433.799]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-3871 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.597 422.895 358.053 433.799]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga88e9b9cb2588cbf5914695fc14e69a8) >>
->> endobj
-3872 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.66 422.895 431.858 433.799]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_cdce8391d61c3090aa51f9d0656524a2) >>
->> endobj
-3873 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 410.94 173.467 421.844]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3874 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 386.033 156.281 396.937]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_9a28ec8161898b61530de9bbb4a3251d) >>
->> endobj
-3875 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.097 386.033 234.477 396.937]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3876 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [308.814 386.033 383.195 396.937]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3877 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [156.251 335.224 199.339 346.128]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_dfb768d4ea63e2eb5d58aec03b999f17) >>
->> endobj
-3878 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.676 335.224 301.057 346.128]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3879 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [132.73 310.317 175.818 321.221]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_fed617fd6598839b510b46a3857387d4) >>
->> endobj
-3880 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.633 310.317 254.014 321.221]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3881 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.828 248.857 247.464 259.761]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_bb6ca6c02bde2f04d412129e4be9743e) >>
->> endobj
-3882 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.801 248.857 349.182 259.761]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3883 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 202.033 202.902 212.937]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-3884 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4 202.033 314.263 212.937]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_2f03dea4f9d5f0e15e18785cf3dd58a3) >>
->> endobj
-3885 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.601 202.033 415.981 212.937]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3886 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 116.663 199.475 127.567]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3887 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.098 116.663 296.905 127.567]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_e6fa6e27a794dc71b88169df7f08fcac) >>
->> endobj
-3888 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.242 116.663 398.623 127.567]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3892 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3896 0 obj <<
-/D [3894 0 R /XYZ 90 757.935 null]
->> endobj
-3897 0 obj <<
-/D [3894 0 R /XYZ 90 716.221 null]
->> endobj
-3893 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F35 2018 0 R /F23 340 0 R /F72 471 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3948 0 obj <<
-/Length 1546      
-/Filter /FlateDecode
->>
-stream
-x��[m��F�ί�Ԩeog_���R5����&�S�|��P��r!���~8֤p/)Npfwvf�y��1�z�z/[�u[g/�
1�)�{��iD2�}�@T��R��
��qxy�f�OF������
��0]��?��z�젨��||���Wg/ *
0�	�
-������� �0n�ݶ�O��օl�ao��27
/���4�|N���n�0?OF�,ʯ����}�(��% �|��F[�w[�� �P��IM4�^o�z��z}��ʣ�����F�=��c#�m��-�O�� i�O�D�
�8�J��~`Lf˗�I�M�N
-�PA۬
&K����¬�fI,7h��Dq8��De/�v�?����/��j
���6��'0
�|�r=
��@� F���JZj�Ќ� �
���"��- ���ٵD9'�Di8KR
�N-�}��*i/���;���K����dd��g_0@����Y3D�QJd@����
�PԦw1��ܯ�0�\�Y�
f� �l]�Ƣ
-�#J �"� �N�׈g��b;���Jy���XK���.�ic_�
-E



���
G���e��_�t��%�X��<th�/���a�K�´͵?�2�#�;����������p4/p'��A6;Bئ�K7a��)[<4ӻܒ��e���
���� ��_�O5%��A�|�!ɇ���N�aZ���:��|�E�N��
?�b��w��]x�Af�1v�8T�
-?[4-4 h^����,�YfN���^4
ݛ�3<�	����t8�@eruT������(�s�����%�Tiss���n�.�qsh=Ǎ�̡uJ�
�C?]Zg�p�Z�q�������\��kg��b|z~�"

-

����)�t
��M�"{Z���`n��K��d
��`�I�$o�1�i���EQ~���]��t�k�3wZ��_ëi2��7�s�b����Ė�z��&��N6���&IQ�]�lS�ё�l· ���{nN�ƅ��{���D/�FE���-f� tuL_��m!}[�����]��Q0v����gI
�c�Ι|r��F|
�uΦ%�2���a�}�Uj���D;�h�@�1iF���
`�ɔ�&�(��ἑ�n�ƅ���V�X1~/"]����#w%U�펁S?�dS���ɽI$���I�{�ȃ�Or�\.�;`?=,�����{�����q(�V������Ү��Rj�+�
Q
>ħ��ۈ~�`j<�S}$���
�N���tM�������_Sሃ�
%5��2��_�#��CLs�hV
����t�
�[31�;c�{���eD}�
m%K�
�!T[b�z��}m~RX�������bN�9X��(J��"�T�3��2����-F19�g������p�
-�������Yx����$HC���\d_Q��p�������o��M�􇶔~�M���r����T�N�-�O�

�
CL���"�<�O^��u+K��_4�~�f6������ޒޔ���$%���d2:�T���zi�:)n���4*o����;I���u��
-endstream
-endobj
-3947 0 obj <<
-/Type /Page
-/Contents 3948 0 R
-/Resources 3946 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3751 0 R
-/Annots [ 3889 0 R 3890 0 R 3891 0 R 3912 0 R 3913 0 R 3914 0 R 3915 0 R 3916 0 R 3917 0 R 3918 0 R 3919 0 R 3920 0 R 3921 0 R 3922 0 R 3923 0 R 3924 0 R 3925 0 R 3926 0 R 3927 0 R 3928 0 R 3929 0 R 3930 0 R 3931 0 R 3932 0 R 3933 0 R 3934 0 R 3935 0 R 3936 0 R 3937 0 R 3938 0 R 3939 0 R 3940 0 R 3945 0 R ]
->> endobj
-3889 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 707.957 199.475 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3890 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.098 707.957 294.404 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_c62afeb287031d74441101af60be319a) >>
->> endobj
-3891 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.742 707.957 396.122 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3912 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 661.133 195.799 672.037]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a8f66682c527ff5a5a2496de0e3fb2ec) >>
->> endobj
-3913 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.615 661.133 273.995 672.037]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3914 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.134 614.308 196.833 625.212]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_2f9c525f46f4ff5707b505a88c82aee0) >>
->> endobj
-3915 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.684 614.308 276.064 625.212]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3916 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.387 614.308 454.768 625.212]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3917 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 555.529 191.365 566.433]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_da7d59af059bdfb2e485d341213e6d19) >>
->> endobj
-3918 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.181 555.529 269.562 566.433]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3919 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.528 508.704 192.794 519.608]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_b1b19ff2b88ffca75ac27208cdd877a2) >>
->> endobj
-3920 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.038 508.704 272.419 519.608]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3921 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.205 508.704 453.586 519.608]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3922 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 449.925 197.453 460.829]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_798df1392d067294fc936bcfa19745c4) >>
->> endobj
-3923 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.268 449.925 275.649 460.829]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3924 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.987 403.1 198.34 414.004]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_3f5e732694ad7d879ac7eaef0668073a) >>
->> endobj
-3925 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.043 403.1 277.424 414.004]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3926 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.828 403.1 455.209 414.004]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3927 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 344.321 191.216 355.225]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_d3d8562d66aeed544d8ef75b941e807c) >>
->> endobj
-3928 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.032 344.321 269.413 355.225]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3929 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.541 297.496 192.658 308.4]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_c32024703f8ac04b6b68ff1761575d2d) >>
->> endobj
-3930 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.916 297.496 272.296 308.4]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3931 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.165 297.496 453.546 308.4]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3932 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 238.717 190.26 249.621]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_307453961ae9779ce9e1e3ebcc94496d) >>
->> endobj
-3933 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.075 238.717 268.456 249.621]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3934 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.626 191.892 191.787 202.796]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a831d9698f64ff610fa1b3341025603a) >>
->> endobj
-3935 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.129 191.892 271.51 202.796]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3936 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.91 191.892 453.291 202.796]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3937 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.668 133.113 212.417 144.017]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_be0aef8acc1101523cfbf50ebce7528e) >>
->> endobj
-3938 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.801 133.113 291.182 144.017]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3939 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.593 133.113 466.974 144.017]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3940 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.922 121.158 250.302 132.062]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3945 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3949 0 obj <<
-/D [3947 0 R /XYZ 90 757.935 null]
->> endobj
-3946 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F35 2018 0 R /F72 471 0 R /F65 376 0 R /F99 2117 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4006 0 obj <<
-/Length 2190      
-/Filter /FlateDecode
->>
-stream
-x��[Ys�F~���0`�r4���S���]�f��}�S,��%&�
���_��
� ��)K��	��5��=3�΍��׃]
.^I�d$����`GI�%���y���hL0����,�ɛ��z���g�7�a~
x�����[�[|�?���]^��藫�/^R�R��0|"���#�L~��Hq��1�
-����A23��?��U�
/
S�W#C]�Yx������ ����)�D��.,:xy5�8  ;$q�PH1�L��w�`g��`Čv>%w-
Nc��σ�
p�|\
��U=�B�P�!,E��{JE2|�\�BFa?��:�-ʍI� �����97{��I�H�"@�n㯼��;*���Q��M
��aTct/85�DŽ��Z���Ȭ�K">�e��
n2׿}=pލ�n���,��	t~��y)������2��̭x��hD2$?ta-Ӵ$�)
����f�ty�.xxK�ڝ�Wa��6�0e�`�	�$'�8��Z����H�<�,�Ʒ�B�J��m��S�S���"���C�����ʊ�47R�t�H�	��
2}����p-Zg((*ρB��Oo�	����kt�M�;o�����j܏��b�~d�0�z?(�
-7�ǘ5���~o�Q�D��G�ު�dfPsƔ J�[���r��Lg-�J99-�r���A���An�UpV�o��\��Yq���U��"V塍��6fx
-�&+p=�Y~dPrr�5�d[��
ˡ����e0�&1�� .������*�>����u�^�?4
���.�d�2p��j�$E Y���K!
-��
�ǔ�\����#�Gm�-�tR��;�i
;~P��"���֢s��IQA�vߨ��kb�j{�Y��Ya�Y	+C����ɵ��,'� e���,7܂���(�
-a��
ܗD	҄=������z1M
-�Z��>�2Zre#S�0.��Ѯ(��ɈT�)ӭD*y7�
-�G� k�H�{A��oI�p�J���n"�
�J�BM�I���Џ�����ze�B��EH���6ɔ�,D�^�ΰ������ή&�#�U��D��S�Q�L"�����n1��"�y_�J�4���H���I���a�PF
-R�\�
�BB�e[
	����T���+|�
�������
�L�d��
-0p��i�t6�#ZHqn!�[H��-����z��v�7
��y�i��s���f�K���+�^�ܴs��d6Q�޵��:��D�l��
-tu0MA�4�6M�
+;ø}A�#���-
3(G0������
��	�R�
�j�73?l"9����r��Y� ^/�c�g���u4�WQ������ �7I�%�yN�4�/5Ϛ&4�
~�ϏZc��
?���ڜ�@H�*�$8�i[�Ӗ����8�n����J�Y�x�
-7��z
w�bfLj�}�J��[/]�I���z
u ����

��PR��vphL4F�0`g��Qo}� Ko�j����h
d���/���r��0��W��4~.<ģJ�0�
l���
-�H�]�&�"�%�f��JԳ��ʻ^�������P]_�o���
�H��c߅�!zIU
�7�S0�L��&�!!���kc]� %�r
T%%�_^�Ū&g0�kw8l��ϱ
�Z�1�W�Fj�i�-]J�ὕ�ᰛ���#-��@�z�����R��x�V�B�T.Z���q�,�`���G��%2�n>��͏�(9�&���z� [ }2�Cv�A]g߈�ΐ�ŋó�8�o�* �9�7T�
-�^�m̤
e�b娗|~
Ͼ�[̣]�t���)�
�
Ъg	L�#vϯ>�Ǚ>���.0�F��'��@��=̧'5?��Z�C!jH��a�&
���!}0Q�����$_�>�=�Gc��byf�3�<u"��a�2�
��d�{�OOj~� Ԩ�����
B�.�i4
� �
퀂b�
-�Z�8F��G��
0_���|���w�_�*�ϝι�9�ԩxJ>I�C�����OJS5��I���
�:�
Q�}�2�f)���wl�;U�T�#�d&�0�,b�
[9}�K��K�d�t��;)��oS�I�)Xz�6m��{z����^�?�⳥���UAw�#R�	�
��4
��	�d)�g?Qj�oN��?�d۫ԗh�.
}E�ˋ�O�>�i����&@��b�Y\
�"R�<��!���:(v���e�υ�����
-endstream
-endobj
-4005 0 obj <<
-/Type /Page
-/Contents 4006 0 R
-/Resources 4004 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3751 0 R
-/Annots [ 3941 0 R 3942 0 R 3943 0 R 3944 0 R 3962 0 R 3963 0 R 3964 0 R 3965 0 R 3966 0 R 3967 0 R 3968 0 R 3969 0 R 3970 0 R 3971 0 R 4008 0 R 3972 0 R 3973 0 R 3974 0 R 3975 0 R 3976 0 R 3977 0 R 3978 0 R 3979 0 R 3980 0 R 3981 0 R 3982 0 R 3983 0 R 3984 0 R 3985 0 R 3986 0 R 3987 0 R 3988 0 R 3989 0 R 3990 0 R 3991 0 R 3992 0 R 3993 0 R 3994 0 R 3995 0 R 3996 0 R 3997 0 R 3998 0 R 3999 0 R 4000 0 R 4001 0 R 4002 0 R 4003 0 R ]
->> endobj
-3941 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.722 707.957 211.923 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_95ac9759a14fe23bf8d02a621e4e9e5c) >>
->> endobj
-3942 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.36 707.957 290.741 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3943 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.486 707.957 466.867 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3944 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.922 696.002 250.302 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3962 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.015 650.587 191.281 661.491]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_e4bfe4a80fb074c50ec17657eee225e8) >>
->> endobj
-3963 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.013 650.587 269.393 661.491]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3964 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.762 650.587 441.143 661.491]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3965 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 638.632 222.997 649.536]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3966 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.074 593.218 204.365 604.122]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_d5ff0dd1267079af85d9938bb4a975de) >>
->> endobj
-3967 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.155 593.218 283.535 604.122]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3968 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.986 593.218 437.367 604.122]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3969 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 581.263 199.475 592.167]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3970 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [296.238 581.263 370.619 592.167]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3971 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [468.945 581.263 513.996 592.167]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4008 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 569.308 159.735 580.211]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3972 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.968 523.893 191.792 534.797]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_1d723d4d200b4a6a694b141c7b6f408e) >>
->> endobj
-3973 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.476 523.893 269.856 534.797]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3974 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.951 523.893 441.332 534.797]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3975 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 511.938 222.997 522.842]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3976 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.33 466.523 215.546 477.427]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_9b45abd63e1255df8341775c8f42b842) >>
->> endobj
-3977 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.592 466.523 293.972 477.427]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3978 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [393.27 466.523 467.65 477.427]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3979 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.922 454.568 250.302 465.472]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3980 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.479 409.154 193.302 420.058]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_f1952cf5da3ecbadd8401b948e899a31) >>
->> endobj
-3981 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.497 409.154 272.878 420.058]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3982 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.354 409.154 453.735 420.058]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3983 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.187 319.149 272.748 329.077]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-3984 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.877 319.149 450.438 329.077]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-3985 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.914 305.884 192.84 317.839]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
->> endobj
-3986 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.007 305.884 304.933 317.839]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
->> endobj
-3987 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [425.965 305.884 472.39 317.839]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_b733c7c83da19667a83c2a3abafa5d05) >>
->> endobj
-3988 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.187 249.825 272.748 259.752]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-3989 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.877 249.825 450.438 259.752]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-3990 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.914 236.559 192.84 248.514]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
->> endobj
-3991 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.504 236.559 305.43 248.514]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
->> endobj
-3992 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [427.768 236.559 471.892 248.514]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_79a5a323f582c4260790552d3be140fd) >>
->> endobj
-3993 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.187 180.5 272.748 190.427]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-3994 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.877 180.5 450.438 190.427]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-3995 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.914 167.234 192.84 179.19]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
->> endobj
-3996 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.546 167.234 304.472 179.19]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
->> endobj
-3997 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [424.295 167.234 472.85 179.19]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_dda98cdf0bda436acac3193162fa53b0) >>
->> endobj
-3998 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.187 111.175 272.748 121.103]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-3999 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.877 111.175 450.438 121.103]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4000 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.914 97.91 192.84 109.865]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
->> endobj
-4001 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.761 97.91 305.687 109.865]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
->> endobj
-4002 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [428.699 97.91 471.636 109.865]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_76b5e4c5b9628c14a7d227517b8fb349) >>
->> endobj
-4003 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4007 0 obj <<
-/D [4005 0 R /XYZ 90 757.935 null]
->> endobj
-4004 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F35 2018 0 R /F72 471 0 R /F65 376 0 R /F99 2117 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4049 0 obj <<
-/Length 2224      
-/Filter /FlateDecode
->>
-stream
-x��Z�r�F}�W�IKV���Pe]�G�\��*ܧ8łȡ�� ������F���H�ʛ'�Ġ�������`������NW�y!
-%��d���%A�o2�~
��hL0��w#��Q����F��n��Y4�9�ɢlwy��R�>�Aj>}�]ߨl���Nj+BP�#�$Lo�c��t Q�#&#��Gc*�
-f�x���BDBV���^�߮�<�r'���z��
-e��V
P�C���/B
����w��b�G�Ä�|&��z��o؛��?z�0��̨�ǩVl��2�� ;��_�b��
@_ɍ�
�[�2���j���?T�ifU-�Qb�ҍ�Y
�"�+!Cd�=6�ŕ�
�)E������R�b^�Q�c�_
-�A�Ѣt�q=x�
��y���-I��
-�b�QI�v�1!��`�!�.���{��6�P��/��Ҏ�.�nVj�â;�h@[
ld�.�|J(
-)_�!����xD��^'5}�MY�����!C���7
&���
�@$"��-ȼ����V5Zm��ó�#V�I�'cr�q�m��]��Po�$F��pp�vv�

�k�-���������^=�B�h/�h
�DA
O����xH@����@���	��'5V�h���M��:d
��I��1�h`�i06@�1[ � ��њ��-�:�:2gi�`Wເ�0� |?�?9�,_��i�g;�N�8`#D|��$���gURh��
/�?���=L�����+��_U��E���Ǒ��+姖��I�w��|v��|$������x?=��� ��[��g�))@�~QF�Ji�*K�
2E���K ��3s
�^�g���T�[ڝ��IIT%���8):�r@E�,7�D�mrP���͒�\}�1�
�1���P���V�kUl�$���ac<�j�nּ��A~c�����1�Z�r$q�|�
8�AE>�C�A�%f�$�  �O	Q��\A
��������*�u [...]
\�kj��1��$�b$v ����[Ȋ�J'�
���\
�v5�I�xo�m�5�V��'#�F���ѱ�WS��]e5�"�s�_X
��<w�G��3�_k.�3к���l,���55�ӓ
��L���
��d���7zR"�a�d�qb�4���@��j�� �0��.��~�(� �+�2�J܄�&��O���^����J�vk؏�L����Uz��2��sږ��Ҵ"�
-n�m���^�PhL��p��X


��b
�{$R�����1��(��e��
.�f[��n
���޺�>����%6S:��º�P���_��
��isM:L� �1ݒ�
X���V�vU�i[DYWd

9�6~��s��2s~y��E�"]�ƒ�4?�w�v�2��=�
��7۵����J�`��#���b]����u�5�6}
g]8>��<���I�����;^o��]��v]��aџ��
�eg�^P��~��,B�c4:8�M
P=�]�MlhU�ҫW�����O�ۅc��#_���
i��z+��>��m#:Ʀfnl����~z~2��GF�?5��"�!���l���$�`�t�Q
������ ��֐��РG\��y�G��2I؂��0�	MQS!ڀ^l(B��k���EH+~"Ң����W�
AZmMz��QL[^|��E1
�%m�j���j�%�I�1g s�>��;
�ZQ��5��V�,�7:�LU�u�#�îlh{��%}��Z8ڈ� ����'~��9��9�䞣s�T�>sG�`��:�{@�S��ȽH3?'��L�l�k0
�g���Z��.qm6e�xQ6h�����uycXj�VIQu�#{�mpuR6y����C�C���1w��4���B�����ɔ�+�������4)�q'��fg��e<[���e��Z�S���	����'s7I���Y�ھ��Y�lG�� S��ݞ)�o�����*�U�v��&1��.�����B��4Y���Y}�3Z�����{=��J��,	�Pf�ͮ
�aU�`���S��(��ԭ&� r��seAW;�:����i`�k��B�U��Xثd�
J	̬s�qY�fy����0�ϸ����P���`���0�Gz5~T�a��t(b�'W�ߴ��%�	#M�κ��
#�"�:��Qe�g-��w?
L��֗> @E�ˢ�\^\��ݡY� �6����fuq��
) M~%���u�q�0=���
��?Y��+
-endstream
-endobj
-4048 0 obj <<
-/Type /Page
-/Contents 4049 0 R
-/Resources 4047 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4053 0 R
-/Annots [ 4019 0 R 4020 0 R 4021 0 R 4022 0 R 4023 0 R 4024 0 R 4025 0 R 4026 0 R 4027 0 R 4028 0 R 4029 0 R 4030 0 R 4031 0 R 4032 0 R 4033 0 R 4034 0 R 4035 0 R 4036 0 R 4037 0 R 4038 0 R 4039 0 R 4040 0 R 4041 0 R 4042 0 R 4043 0 R 4044 0 R 4045 0 R 4046 0 R ]
->> endobj
-4019 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.187 687.016 272.748 696.943]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4020 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.877 687.016 450.438 696.943]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4021 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.914 673.75 192.84 685.705]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
->> endobj
-4022 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.546 673.75 304.472 685.705]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
->> endobj
-4023 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [424.295 673.75 472.85 685.705]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_16b12775a696c6e304cf9ee7ffe2213e) >>
->> endobj
-4024 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.187 616.281 272.748 626.208]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4025 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.877 616.281 450.438 626.208]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4026 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.914 603.016 192.84 614.971]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
->> endobj
-4027 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.761 603.016 305.687 614.971]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
->> endobj
-4028 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [428.699 603.016 471.636 614.971]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a355ae6b2a2a704e88060541fbaa6562) >>
->> endobj
-4029 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.617 544.57 270.177 555.474]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4030 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [388.048 544.57 403.878 555.474]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_d5c5cd5266cf95dcdc0f03d0108168b5) >>
->> endobj
-4031 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.923 498.722 274.484 508.649]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4032 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.32 498.722 472.881 508.649]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4033 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.639 485.79 229.787 496.694]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_2ee8a6019070192609b3ea6e5dfa3018) >>
->> endobj
-4034 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.55 389.461 270.111 400.365]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4035 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [326.347 389.461 353.803 400.365]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga88e9b9cb2588cbf5914695fc14e69a8) >>
->> endobj
-4036 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [387.102 389.461 414.559 400.365]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_f9af63978105e142642222864ce7c3be) >>
->> endobj
-4037 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.441 377.506 331.997 388.41]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-4038 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [186.533 354.592 237.219 365.496]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_4ced0eee2a4a2c50779c2d01ef022500) >>
->> endobj
-4039 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.342 354.592 411.722 365.496]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4040 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.194 307.767 270.755 318.671]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4041 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.054 307.767 356.51 318.671]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga88e9b9cb2588cbf5914695fc14e69a8) >>
->> endobj
-4042 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.097 307.767 413.572 318.671]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_6133c234bff425e6feac34cef06b74b2) >>
->> endobj
-4043 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 295.812 184.651 306.716]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-4044 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [184.322 248.988 235.007 259.892]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a7885d402d5653321f316029ca0af517) >>
->> endobj
-4045 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.185 248.988 381.565 259.892]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4046 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4050 0 obj <<
-/D [4048 0 R /XYZ 90 757.935 null]
->> endobj
-4051 0 obj <<
-/D [4048 0 R /XYZ 90 213.66 null]
->> endobj
-4052 0 obj <<
-/D [4048 0 R /XYZ 90 150.984 null]
->> endobj
-4047 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F50 339 0 R /F35 2018 0 R /F23 340 0 R /F99 2117 0 R /F97 2175 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4065 0 obj <<
-/Length 1851      
-/Filter /FlateDecode
->>
-stream
-x��Z[s�F~�W�)3a��պ��6i:I7M��ad�& Q!⺿�gu,
�tR?ɫs�ηg/عq��K�a��d�FZR�
��Ǝ�	J��Ĺt	A�? c�]�`�O���]�b7������^'~r~��62����b5�������+B
-(U�1	�3���CZ6�(��a_q�y@�1!S
��-��FD��v
-~1��\��3?
�7�)�O<7���A]"���y���G@
vH0��b��{�Wؙ��7FL{�]6j�pj
�9z�pg�)CX�:���dͬ{���iG���x��Q�g��B?�
1��r)$����1TqB����*���"�����jh��,W������
�
RZu�~�j��`������P9Ȣ3�T O	Ҋ�(���L at LT'`A���S��6�Hj��	v%��|lN�s����q<˿Ӣ�T �29�#�l
-Š�L~_�k1����*�Ia�v��L�[�b�Hv16���HBb�<�Q�j�XcE�⨱��<��8Z���bX�azF�0
-��n| UO �7�-��1
��hڴ�c$=U���E$`W&�������+�*�U���D�/I�H���
�Ƿ~�� 	�	���]Kzt�D��(V�
�>B�G]P��m ����5a�n�B��%��ՠ���¿(�pj
S)����Q>=��m�"��Y��-���o�A	��
|`��'���
�-�e��}*��}"�;q1�E�yy���
��T����>
-���nW��K�AK��"�(b`H�"ѝ���2��c3�$L@�(9F��)u{@Bojw�����,�

E��!�
 �l�X��J� ��1��4eZ����-v�~�Q�Ʀ@���ގ&X�J�ϑ=
F����+��So�z�
]�z�^�s�p�~OF��ˢBkĈ�_��e��r;�(]wQ�m�l �g�Ơ
I�$S�5��gG���ض1q��Q�#��F�P]>����3K�B `�U���bO��3.�T'A
��\&9ʯ�����TN�(y�v7��N���y���ƴ{0��\>*�aN���-x�'x?�[
Y�{1�2tú�p���f�+��	�M��� )y���jol�.�Z�Nm�Av!ۃZf��4�M��eHjs]�
-A
-lH�2.6��G�t��
m#���m���^��
-I��]�x��'�nv%PF��ὶ4J�l��|?�jyBP
L���ff]/�h
`�>6� �ܶq��3g�"U�~!��,~Z�T��4�x#�ۀ;��Θ��8�a�C�Vf�w���Dԑ(����5˕W��nJ� �����$�}V��j�揦>K0rF���ɱ]�hm�
U�gj�(mU儱�{J{^l�S�@o
��U4	����0�
�0�+�M�!�GK��јƃ³�z"���h�>D#wl�Q��]�.����x �";��C����xo��n�Q�?�xFn�����
��'%��ј
�{gY����wJ����b�0x^7��"“�Y��e�fs��b��D"����R��59`B!n�| ?�ř
�U�Y6�eqnm�)��a�i����9w���A��yZ��`"��н�>i��q
-�J����B�)o
-y�j��_���:`�}kH�k7|���x匏Q�j�
-q���y�&��'��3�I�y���L!���KP���[]X�~}��{�����֡���V�+n

-��(v���Ղw�N��YW<�W����~]���2H��
���o�h�f��zF����12w1MP� ���p2��S����Ũ����WA�M�������
/�*
-	
-ӳ�bv�
-ۚׄpT�`Z�,��IP^!�������_�o�
-endstream
-endobj
-4064 0 obj <<
-/Type /Page
-/Contents 4065 0 R
-/Resources 4063 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4053 0 R
-/Annots [ 4062 0 R ]
->> endobj
-4062 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4066 0 obj <<
-/D [4064 0 R /XYZ 90 757.935 null]
->> endobj
-4067 0 obj <<
-/D [4064 0 R /XYZ 90 733.028 null]
->> endobj
-3650 0 obj <<
-/D [4064 0 R /XYZ 90 716.221 null]
->> endobj
-4068 0 obj <<
-/D [4064 0 R /XYZ 90 716.221 null]
->> endobj
-4069 0 obj <<
-/D [4064 0 R /XYZ 90 557.385 null]
->> endobj
-3898 0 obj <<
-/D [4064 0 R /XYZ 90 535.073 null]
->> endobj
-4070 0 obj <<
-/D [4064 0 R /XYZ 90 535.073 null]
->> endobj
-3899 0 obj <<
-/D [4064 0 R /XYZ 90 503.88 null]
->> endobj
-4071 0 obj <<
-/D [4064 0 R /XYZ 90 489.309 null]
->> endobj
-3900 0 obj <<
-/D [4064 0 R /XYZ 90 459.441 null]
->> endobj
-4072 0 obj <<
-/D [4064 0 R /XYZ 90 444.871 null]
->> endobj
-3901 0 obj <<
-/D [4064 0 R /XYZ 90 415.291 null]
->> endobj
-4073 0 obj <<
-/D [4064 0 R /XYZ 90 400.721 null]
->> endobj
-3902 0 obj <<
-/D [4064 0 R /XYZ 90 371.141 null]
->> endobj
-4074 0 obj <<
-/D [4064 0 R /XYZ 90 356.571 null]
->> endobj
-3903 0 obj <<
-/D [4064 0 R /XYZ 90 326.991 null]
->> endobj
-4075 0 obj <<
-/D [4064 0 R /XYZ 90 312.421 null]
->> endobj
-3904 0 obj <<
-/D [4064 0 R /XYZ 90 270.886 null]
->> endobj
-4076 0 obj <<
-/D [4064 0 R /XYZ 90 256.316 null]
->> endobj
-3905 0 obj <<
-/D [4064 0 R /XYZ 90 214.781 null]
->> endobj
-4077 0 obj <<
-/D [4064 0 R /XYZ 90 200.211 null]
->> endobj
-3906 0 obj <<
-/D [4064 0 R /XYZ 90 170.632 null]
->> endobj
-4078 0 obj <<
-/D [4064 0 R /XYZ 90 156.061 null]
->> endobj
-3909 0 obj <<
-/D [4064 0 R /XYZ 90 126.482 null]
->> endobj
-4063 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4082 0 obj <<
-/Length 1473      
-/Filter /FlateDecode
->>
-stream
-x��[o�6���+��X��*�AQ`+��]�>����L"TO��z�~��$[�"��]�]�t!uxy��C�ػ��������<��O}or�i�I� A�7�{ 4&����� ������4Z_�yL�ϳ [����2�O���O�Z��&}��:}I�V�JĘ��*

F���d$��d4�ªP4
��-��FD��罂_D�r��NF�M���ܸ7o��O��$3xE��C"|+t��d�π�쑢ÄD�	o���
޿�0bZy7E����*yopg�S��/6��"�
��R��C{��WAG^۞�&	b��I��wi�uv9a>�v�9A��Fl�4[O��fj�)[L� ��ea2=_�fieyc�1�Dy0H��_>`�gi���X��w
�(~����E���+|n��V�� ����hv���`�ό���GWS୚c�)�v�D>�J������D"�*I(���aswa�n����b�C7�e�l�Z�f^}բ=e!w:���@Z�PK/�)S�00��9"F�q���,��H!M�
�4'wcd�0�s��0i�4�H�Hk�$ik���{A����c��1���R�L�}�"{1E�%J�>L��8H��n���e}
�n���H;G�ӑ��t$D1
��v���H ��
�hm�^>.!_���gw�$�>nu�Ԗ�g�_�Zp�0Y���O�g� [...]
-+��2q:Xw����HvY�h�v��MZ N�T�a.G>x�7坂"�e3O����*OK[�й�3�R���
QP�>�4U	�RH�/�j9u=�bD�2�KҲ�ef�ɗY`���+0�?p��5d���0�D���0PX��������n����P�AH����U�Y>��G�2D�?����]�e=QF�C��(�sz;�X�3Fu��/�1\!�Ew��j���� Hu�#�hƜoc�f)F����YZ�A�$�f�M(��|�L��Zה��Y� ��R7}�d}�H���G��Hb/v�����_S���g�d�v(���l���Xb��?��aMz�_m�\T��ܦ�J�}W��P�������Kv}��󑮒y����|��R���cs7$1Av��*�ݰTe�Ys�%8_�Ѫ��Il%\NPݞ��'P��x��<h
-V��.�]30?��.)�:򺸎;Smz�&[ooĭ�dg6�U[�_3<�'�v �������Qq�̳[=L�玄.�u��U�����_�cu��=���û��~����A�3HVU�cȵe�e���bd}����֘�Hg�'���}P
�F_�$�_;�U�/�NOonn�l�VI��P��.�i��v�&qd-�"-G"N�zo
^�A:���� ���
-endstream
-endobj
-4081 0 obj <<
-/Type /Page
-/Contents 4082 0 R
-/Resources 4080 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4053 0 R
-/Annots [ 4079 0 R ]
->> endobj
-4079 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4083 0 obj <<
-/D [4081 0 R /XYZ 90 757.935 null]
->> endobj
-4084 0 obj <<
-/D [4081 0 R /XYZ 90 733.028 null]
->> endobj
-3910 0 obj <<
-/D [4081 0 R /XYZ 90 691.329 null]
->> endobj
-4085 0 obj <<
-/D [4081 0 R /XYZ 90 676.759 null]
->> endobj
-3911 0 obj <<
-/D [4081 0 R /XYZ 90 629.555 null]
->> endobj
-4086 0 obj <<
-/D [4081 0 R /XYZ 90 614.984 null]
->> endobj
-3950 0 obj <<
-/D [4081 0 R /XYZ 90 567.781 null]
->> endobj
-4087 0 obj <<
-/D [4081 0 R /XYZ 90 553.21 null]
->> endobj
-3951 0 obj <<
-/D [4081 0 R /XYZ 90 506.006 null]
->> endobj
-4088 0 obj <<
-/D [4081 0 R /XYZ 90 491.436 null]
->> endobj
-3952 0 obj <<
-/D [4081 0 R /XYZ 90 444.232 null]
->> endobj
-4089 0 obj <<
-/D [4081 0 R /XYZ 90 429.662 null]
->> endobj
-3953 0 obj <<
-/D [4081 0 R /XYZ 90 382.458 null]
->> endobj
-4090 0 obj <<
-/D [4081 0 R /XYZ 90 367.888 null]
->> endobj
-3954 0 obj <<
-/D [4081 0 R /XYZ 90 320.684 null]
->> endobj
-4091 0 obj <<
-/D [4081 0 R /XYZ 90 306.113 null]
->> endobj
-3955 0 obj <<
-/D [4081 0 R /XYZ 90 258.91 null]
->> endobj
-4092 0 obj <<
-/D [4081 0 R /XYZ 90 244.339 null]
->> endobj
-3956 0 obj <<
-/D [4081 0 R /XYZ 90 197.135 null]
->> endobj
-4093 0 obj <<
-/D [4081 0 R /XYZ 90 182.565 null]
->> endobj
-3957 0 obj <<
-/D [4081 0 R /XYZ 90 135.361 null]
->> endobj
-4080 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4097 0 obj <<
-/Length 1585      
-/Filter /FlateDecode
->>
-stream
-x��ZYs�6~ׯ�S+M-��I3�f�ΤǤ���f<�D˚�H�Q~}O�&(GJ�XO0Ih�a�[�88����s�J�� #�
W����	J��(x�%�^�`��ozw��,�xӣ���n���*��ur�
-W�g�^^G�vR4��}=��V�����))�T!�$����T�@0��d3=Żg�>v	[œ�F23����W��i�N�gh7�-�a�7FW�|���|��K��B;?
:�t���&RL�Y��{
���� #ftp��5
8�
�o;tp#��!,E>b��t�l�w��
�&Ta�<�=�,�y8��*���@���F�	WQ>̹�ٌ�
���ɞG�
؃�x��7��;)�ljJzs'*,��}f82���Ȉ�{��H�ִv�o�
#�3T>�c�X�&� ��s*B�4���*�N1z�f
-\��q��:�$��?l!O]?Y�(�
Q�v�Y���
�$6�zDt�=�
��b�j�+R�f�u����џ��Ê��p1��J����7� �x!��B��7�I�X�L"-̑�=��j�ݽ\\�h�a�v��hȨ|B-m
-hjY��a
oW��M�yCs��#AU
o�nx�x���܀�pO`���ajxCK�$�8v��
]L��!�G!x��ȟ(y����៦ß���8v��'�&Į��Kݜ/9C�>[�c��[�`�<��yPb�3��{P"��F��� ��(���)�N#dK��9[7�Ju
�"�† "�^�aHN
Z�������u�u������
� p/�a���`�~
-�T��S�,���;;��ћ
9��yW&��hQ��K��ܐ�N+@H�%$0�C��:>=��9�j�X
���1
gn�~��଄}�I
pJD
���e����
DLg>�)�>�OD,�^�>������w�i����������,žT��C���ŒɌ��my�(����c54�8��A1�ԏqH

����I�y��s1�R���*�5d]��b6�z�%�I�X5��m���`��GuR$��|���ڧ�<��9#�#R3�R�
��P��f�T�����VP��
�
}Lrv��ڳ��H���>Շ�UĤ�
-A�	G-�>���j�CZ!A|`0��АP
��
�^�~�c
}�v'52(*h!5�e��� 
�v��,JAV��:�����f����7��@mĸB攔�r��q�$������҉�
��E%>!�zx�n�u�����",���"��[6N�w���D#&H
���x+�{7|�<A���}ӓ"���u�ڳ�X��(��Y�J��Ra8sC���W��_�JtM�
-���YQ���^U��ը�֜椮�Q�:ըO�F}
�D�K�7
-��l8�ºT8[O��r��p6Ѣ�����z��-o��.iy�{{�TIP E���-
"=�
2���[t�Z}��ݫw���z��W
���	�M7�p���oK�7VT����x��K6}��6�R#�e��_:[���/X�H�N������[4��z>Y��$9_.���v�&�#�
��?��*52����p�����
-endstream
-endobj
-4096 0 obj <<
-/Type /Page
-/Contents 4097 0 R
-/Resources 4095 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4053 0 R
-/Annots [ 4094 0 R ]
->> endobj
-4094 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4098 0 obj <<
-/D [4096 0 R /XYZ 90 757.935 null]
->> endobj
-4099 0 obj <<
-/D [4096 0 R /XYZ 90 733.028 null]
->> endobj
-3958 0 obj <<
-/D [4096 0 R /XYZ 90 691.329 null]
->> endobj
-4100 0 obj <<
-/D [4096 0 R /XYZ 90 676.759 null]
->> endobj
-3959 0 obj <<
-/D [4096 0 R /XYZ 90 629.555 null]
->> endobj
-4101 0 obj <<
-/D [4096 0 R /XYZ 90 614.984 null]
->> endobj
-3960 0 obj <<
-/D [4096 0 R /XYZ 90 567.781 null]
->> endobj
-4102 0 obj <<
-/D [4096 0 R /XYZ 90 553.21 null]
->> endobj
-3961 0 obj <<
-/D [4096 0 R /XYZ 90 506.006 null]
->> endobj
-4103 0 obj <<
-/D [4096 0 R /XYZ 90 491.436 null]
->> endobj
-4009 0 obj <<
-/D [4096 0 R /XYZ 90 432.277 null]
->> endobj
-4104 0 obj <<
-/D [4096 0 R /XYZ 90 417.707 null]
->> endobj
-4010 0 obj <<
-/D [4096 0 R /XYZ 90 358.548 null]
->> endobj
-4105 0 obj <<
-/D [4096 0 R /XYZ 90 343.977 null]
->> endobj
-4011 0 obj <<
-/D [4096 0 R /XYZ 90 284.818 null]
->> endobj
-4106 0 obj <<
-/D [4096 0 R /XYZ 90 270.248 null]
->> endobj
-4012 0 obj <<
-/D [4096 0 R /XYZ 90 211.089 null]
->> endobj
-4107 0 obj <<
-/D [4096 0 R /XYZ 90 196.519 null]
->> endobj
-4013 0 obj <<
-/D [4096 0 R /XYZ 90 137.36 null]
->> endobj
-4095 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4111 0 obj <<
-/Length 1721      
-/Filter /FlateDecode
->>
-stream
-x��[[s�F~��P_�<C6{�6̴(��'`<��IDmɑ���{ֺ�r֒�.��I'g���v�]�:�y6�u48|*����T:�GaǓ	J���y����`���C�� ���C��x�<��$�
�� Y

=>ӓ����_]̏u2�0zq����(�c�_����l Q�J�������Ƅ���di��"�����U��Y�����PQW�� ���7��'���	<"DP��(
<
��`��&<�1�L�w�3��/
��򝫕����6s�����S����#��*2��&^w��0
k�*��+߳�BG�
<c���p!&����1�q�<�1�Qvi�#��n�)�d�ih
^�!�i���

ܩ��'����'QA
�"RBl��/[�Ja�RVBU�r	%���+�O
G��`�P؝
�Gi��-
`�G���ڰ��ai
C�)U|�N����&1�ך5`dU��-��=Q
-@?�Bf+�>���]�
:L?�oF%��<$)�����E'��:x�-�|ĥ_
-@�R�^�S�Zt1��:�K�2��o$�`o4g�E/g����Ffg��_�Y��,��O�!��a�J�{
-u�zPz��qT��%
#H|��5{�hj�"!㍑�
ȫ"@�Hl	n�G��,0}ƅKa׋h��cL#=-^X=#
���r���.�GqV��T[�K�F;��
Q��w���u2|��	}n��\���w�ԉ7Kb�tE���iFJϓ�bL�;c
-�0#m����	)]:�k�)��
-����w����>9k��N$
-�/�*�[x�B�yB�槭!h%�/�
@I�:m�Ҏ�
Q��ᳺ��� 8=���e�Yc
-��o�%����g�%�i8#w�%B
-wD�U�b��o��Vu�f�[�I
����*���Ʋ��z��_Y>u_����d��a�!����!*#FĢfX1��gX��"}t��2�]@<9��{{x@�B�k̯i�u�ٳ&�'���t�`~�����n`,�e�l3ַ�����WE��G�2�5��"��#l���S!�>i18[0�q
�,���4r�(��/�n�� ����{��
R3�a�V�`f��Q&�M���څ�0�_���Q�u2z
1
�e=XC!� ���N�Kd�J�b;��;����c{��_��۩Ky��.ڰ�Ilk���-L�^������
»�὇���[�J�O�w���� ͧ���O;������D�?$�7���B_<Y1G���6���G�:�飧��>�%܀8E������;c�d���hf��V����
zz���A����A������.7����B���sG�
���G�~iaYZ4��~������OW��E�G�h����{Uo����k_
-�����p����X9f��_�'�$�������4���*gv�R�`P箻}c�!i}��FgI�Z�����S"ƹ��+,�2�p\SP{�-
-<��ʽ�][/I����V���iE��tv���P����Ωx��F�ì��r�w�o�
� Y����Y>�$��mqZ�.�d��l9��UG��OFI)�w=�:
�=�/D	���[��_
�Q��<�����S��l����ATM�M+��$�
�~3]� '���j]8�{��S���`������X/�βlqtxxuu�&)���E���p��
�¶��t����23�8�����9�3����_�tX�
-endstream
-endobj
-4110 0 obj <<
-/Type /Page
-/Contents 4111 0 R
-/Resources 4109 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4053 0 R
-/Annots [ 4108 0 R ]
->> endobj
-4108 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4112 0 obj <<
-/D [4110 0 R /XYZ 90 757.935 null]
->> endobj
-4113 0 obj <<
-/D [4110 0 R /XYZ 90 733.028 null]
->> endobj
-4014 0 obj <<
-/D [4110 0 R /XYZ 287.777 663.906 null]
->> endobj
-4114 0 obj <<
-/D [4110 0 R /XYZ 90 647.802 null]
->> endobj
-4015 0 obj <<
-/D [4110 0 R /XYZ 90 599.975 null]
->> endobj
-4115 0 obj <<
-/D [4110 0 R /XYZ 90 585.405 null]
->> endobj
-4016 0 obj <<
-/D [4110 0 R /XYZ 90 526.246 null]
->> endobj
-4116 0 obj <<
-/D [4110 0 R /XYZ 90 511.676 null]
->> endobj
-4017 0 obj <<
-/D [4110 0 R /XYZ 90 452.517 null]
->> endobj
-4117 0 obj <<
-/D [4110 0 R /XYZ 90 437.946 null]
->> endobj
-4018 0 obj <<
-/D [4110 0 R /XYZ 90 378.787 null]
->> endobj
-4118 0 obj <<
-/D [4110 0 R /XYZ 90 364.217 null]
->> endobj
-4054 0 obj <<
-/D [4110 0 R /XYZ 90 305.058 null]
->> endobj
-4119 0 obj <<
-/D [4110 0 R /XYZ 90 290.487 null]
->> endobj
-4055 0 obj <<
-/D [4110 0 R /XYZ 90 231.328 null]
->> endobj
-4120 0 obj <<
-/D [4110 0 R /XYZ 90 216.758 null]
->> endobj
-4056 0 obj <<
-/D [4110 0 R /XYZ 90 157.599 null]
->> endobj
-4121 0 obj <<
-/D [4110 0 R /XYZ 90 143.029 null]
->> endobj
-4057 0 obj <<
-/D [4110 0 R /XYZ 90 95.825 null]
->> endobj
-4109 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4125 0 obj <<
-/Length 2931      
-/Filter /FlateDecode
->>
-stream
-x��Z[w�~����V>Y���p�>4��$m.�u�vSZ�m�H�BR�:��3xJ�&yj��4��|��
H:{����/�zsq�F��%Vs=���Y:3����f5{?g�������dt������KN����1[���?�weZ>__��-�A������.+/����
c�	87D
�7�?wC�50J��툛K#�/\������da	����_N
-�r�V��{si�<��6i��;o�{X>K�Y��[�)>gʢЋ�n.~�` ��Xc0e�j��^����Vp��%�&��f�v&9.l3{w�
z��\�Uo|"�H��v���'�Ǭ
-k�����.��-h&���i4-�
/[(=1�G&�����g�&�
�U��m�ۯ�#�$'���@Y݈�����z��������� ��)�%�
��B2E�b3�<�����S}�+v}��F���b��
�K��իOP�Ʉ0@��`2���1/6�S؈��뼎���_`��3�r�s'���"�jw9�+��WN�UC�9%��V��ȴ��
��q x
���
��gFV���\�f֚t�x�N+y�.P�cI��	�����0�W?���q�p����An�Y�/s�6a�)
�<�.��?\�9B�+������fe��;�j=
���7
fq�*�X�������Ǭ~l�?P�+M�T#�%�
�k�Ħ�����MT?��_y��>ݸAu���?�����YZQB{x>G��5�(N�{Vf�.[��y��jN"(��� �KB�� �k�i�P��@I�Qꖄ�ߋ�Yu�S�Tf���T=At�K�j��q
�Mb�
	�<�i�n��n_�s佪^]_U튑t�D9�LǤE�6!��=�ƨ��P�
f~��B�~��eCE�����������*
���h�~[�
-H"�фo�}�H�[���
#B��A�v����3��OPuXR at e'!�E_�?0�JЯxx��g�xM�%	�'�j�:7
�g|��.+Ӻ���
-bmdz�G# ���!tj���p
8~2F��P�A
pV�è%��ũ.G~Z�s���hpAE�3��H��5
-��(k}��M���9ԸÅzA������:["r�y"䃛��(��zI�¸of
̄|�&����pMt_��	N�+� �
F~k�:���c-	{��{C��s�r����n7c��(�9�-$r
-�id�
$0(˫��x��b�:;i��m���X���������V�pg�*��Gr��/�
-PM�Ϻ��C*�W����NӜ}����V��U�0�!���2�|(�^��r�U��~�� ;��[��M`��3��v	����r[��p�w�:��6�lu
:253
;|�Ӣ��p�ˊ �ȳ�JPuB��n�
�}�ds��3&ff�ZӺ�O��ы���l���o�@>/p��,?P*\��͠��K�ʙ
$eeY��0!���'�d�Y4
'
[Mh�3�u����S�� 
|�K�N�� a8�Cޕ�->���ޕh��e�+��;�aQ
��5����4��t����s�y0�n�&��(
�N$
�nކ���Μ#��a�x��}����Hq��c"����5�	z 2Xj�����P��QBK��pw`
h���#Kӌ0u@���
�B
W֑D�
���M4
Nh%�%y|KF�.���"�f
���}:\�>@�\��qe-���h#���0�W�y�~�"7~c��ՙz�z$62R���ᙖ�?p��Q�<
fK�w@�Pyva�v�Zrw(m����b���R���hj���!�>��(,Y���FdpJ����|[�&I���'Af0����jK�a�m�P$#ހ�Sw���,��K���n}
WQCsʉ�]��T�c҄�F�4���o0�p1IH���P�Y8�JLA4�D���dP�B�����}Ҿ$F
-�+�|��fi�)��Mv/�j1T�
��Du|nl������8\T�\�@�/`�&�UQQW �%��xX���*$`�)�1#J�ŋ��*f� 8N:_��|Ն���Nj��6��I5�C��l�Y���[ˇ�e��Yv�S�)#��$��D<.%e/�
ZD%Y�$ɤm
����9�4j��4xՙȼ1
�lMs�W3��^��d�p��8��_����
&9@*���]ł�`��-1ꁅ��7�'�=�E1�W�f�.ϳ
%�u��
��e��� 
���(��pD�!������+0� �x�a/�xl���
JZ|o��w�ī8&��E�	k �c*�ss��m�+b����n�����S�t3�@��5G����B*
�, 0nG	�@� B�}�@�Lmx1�m�*p��h����<���(!y0�B0J.`�
-�#>B0�qF
����B��;=<q�e��lg(�)�:��$_ľ��u��Lx�Ɠ�

ѣ��,��q�>��򗗦�E{ȨRMZ� ��`����
?,
h�;�(5�D
c	��ja�� ��d����&jB�ۚ!����a�$
a�F���`�<��V�_�y�����q_���폠�m
-���-�EU?o2�_vl��d�v�M
�'e�?d�F�Y#��T������X���E5�`�}�T

ã�m�
�B:=}
/p"��B�SH��/l�BO舚�#=ٹz���R��s�w�4��}���=}�	u�M���%�2�~�����13pAXb�uw���RRn�ʦ�՝Bv2V���E�,b*^x2m>A[3Q
�ss
�
�1�T[�
C��x&&��)���?,�:e��1��X'IJ�����a��
�5���Q�t��p���nw�?�v����O�B�w�ߦ���@���U��C
���n�����,�J:�~��g��h�2�ab��?3y��������YVd��w%Y�W�������	��/�}Uv���͇G//���=�_C
-endstream
-endobj
-4124 0 obj <<
-/Type /Page
-/Contents 4125 0 R
-/Resources 4123 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4053 0 R
-/Annots [ 4122 0 R ]
->> endobj
-4122 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4126 0 obj <<
-/D [4124 0 R /XYZ 90 757.935 null]
->> endobj
-4127 0 obj <<
-/D [4124 0 R /XYZ 90 733.028 null]
->> endobj
-4058 0 obj <<
-/D [4124 0 R /XYZ 90 667.419 null]
->> endobj
-4128 0 obj <<
-/D [4124 0 R /XYZ 90 652.963 null]
->> endobj
-4059 0 obj <<
-/D [4124 0 R /XYZ 90 611.852 null]
->> endobj
-4129 0 obj <<
-/D [4124 0 R /XYZ 90 597.396 null]
->> endobj
-4060 0 obj <<
-/D [4124 0 R /XYZ 90 549.769 null]
->> endobj
-4130 0 obj <<
-/D [4124 0 R /XYZ 90 535.313 null]
->> endobj
-4123 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F13 540 0 R /F8 504 0 R /F7 505 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4134 0 obj <<
-/Length 2376      
-/Filter /FlateDecode
->>
-stream
-x��Y[s��~ׯ��Ede��� ���
�U��j�d2�Ğ%��� 
�����������t�"-g����,���GoO^�O��e(TD��(�Q"�)������$�3�1��L	��f#?�L)�����X6��w墑����ժ�UD����n�(��/�o��2@i� ^���!�0�(�
�|��ɋ��
-�\�� g�!�1w��2~��mk����Zv���Wq
�I:)�
������������ 
m�8A	��|s��
-a��#��ѽ��D�*`����?O�g�x��p��$J(C�h��U�Ee	Ka
�$bHa�>Lg	��Fg�'`��l at L
fc�9ј;���c�)dUVw�6
�r���8R�)�#���y��Q�&�ꐮ�XWr����e
Q��.m���W[�18�!B1�I���b�q��gL`�� �6 !BY*e�M!8��x�)X�<g���=�	~��!�yo&�
-�Z���/({��GС�.���|Rպ
%lҭd�VVvk!��l�j��bJ���m]�=&�J�Ue��5|ߚ��M�uE�����H}_KM)&P�J-c-��/�N˼�b��V��Z�
���*�)�Z����Y�Y�w��ۛǍ���M����LL�ld޹���	Jio�"`�%�wf�>�o�M�Kc�c�8`���[�weg�Q[���K�q�
²O"An������[bR�p�sʏ�rB���i��jJ|Ȏ���Y�vJ�	�Ku�u�ԛ�	�r�x���
b���B���, �d�'����"���`�qȢ/7>��Qƿ�3�" N
�6��)�
vl���ا{?�1��
z5k���>�Lݐ�"/7P(�&$�~�Q��>���0p΅�r*f)g��u)d�|/a��]��!ħФ<B�+q0�|�*�����6g(N��l�n��ڪ\L>�T��]њ�ui&�P��rY݆S��}R
!`��e�� #�
d=����@��0�{�P�������
��	�� j���
Z?�!h��c?%LKcDp�����u�����ٛ��MFSƙ߄L[�JB�����
���ڡg���+�gQ��j9J4��Ŷ��v_u�Y�C�s��n�����8io���V}�^��1�!�<t��ڇ�l���b��X��Tn����\�c���#۰��n5F!7n"*�ю� >.��~BXΰ������
*�X[i��"O6K�����
��.ب���j0�/x�֥n�B����i����䚽[Ǥ�;GѩcI�jm�h:��j��E��\������_����Kaa�_��n�<���̙S��V��5�O+��*��
��\Ԋ쓶��~h���?�

xy
+��$/�mt�8%����c�n]䫵r(K�dS+�j�����<��R���l�01�����,���V�0ruI�ںk��aS�շ$��5�zן��ei
-�V	�P��k��m�M���bu�λ�
�U�샒�#�|6��'�g}s�ͅNQW��kW~
-�aE4�?1�����r$7�����n��!Ɲ�o�/��z{5}0��IG�
�ll at nc
���2���l�6�LkS_I�į ������VĶ��^Cز��C@�͎"o��(��-��H"U7N�
j�A��W��pY:i��4��g[Ed_H�o�#�a�O�rSڋ/df�ÉgBc�a}P�l�J�~�s�]_��e����l��
�����a�M
��1�1��6yR�2�����6�_�?���\�������3kMg�B)��������џ����@���Na8=�ށ
�*�3h%�
ͻ���f��S����U�Ld�+��K� t`4.

�����j��Տ��]D�=��y�C�F%��g�6HiW��c��
���XY٢;={lG~���8�=�;-.c春�X�͔^�t32_�
�����cd8�a�JS�	Z�U�O�
�������b
ʌ��)�j���w�}%Rq �n�\o�qu=WGJ������O�g���~
�z�l���O!�3ʸ
S�A��Ɓ�a �F�d�c� X.
]��gp[S
�H��|u�û�gO�]|��D���4
�?`���</7mj�B�����.��w�{�e�e��K���)-iM3C��Ʋ����f��3��ϕi����˲�

>5
��F�D���4!˔rqD�
5�g�C��U�G�
���r|��Cv�{���T~&鱿��_Qa
x�E
c>�(r�f"���}t?`�G�+�y��-��i
OZ���ڹ��������P��o�f�12�(��F�_#���B�&�1܏����^����ߣ�E���6��η���g�����g�O��ve>�����ߠ���
���
-endstream
-endobj
-4133 0 obj <<
-/Type /Page
-/Contents 4134 0 R
-/Resources 4132 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4136 0 R
-/Annots [ 4131 0 R ]
->> endobj
-4131 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4135 0 obj <<
-/D [4133 0 R /XYZ 90 757.935 null]
->> endobj
-4061 0 obj <<
-/D [4133 0 R /XYZ 90 89.441 null]
->> endobj
-4132 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F65 376 0 R /F13 540 0 R /F50 339 0 R /F8 504 0 R /F23 340 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4154 0 obj <<
-/Length 1631      
-/Filter /FlateDecode
->>
-stream
-x��Y�n�F}�W(�J@��;I�
��uдiSG�4���H�BRV�����E�)JI�E�H��s=gv��������w����d��|I�3�u|츒 A�3�;�CB�;���͈�a���ٛ��du�T�4��
ݤAz?�\$�"ݪ8T�1xx�
-���^�[���7�o	s�
IF璘?L
�1�L8�zp�
;sx�������3���
�+����u�2������!N
�r�ެ�\i+�/	���qЧu����
�`#����F��\c����L_X�]�(���JXKx)�y�Z��+�Y>�L�,��
�Vř՛lT�IڥS$�JM�
	\��
|H��닽�c��h
�E�(�P#�������
-?h������F��	��KD��ʃ���Z�Fco��H���Gw@'�Z�g��|���kB�(-]�JCu�ޮx?���4*�$�vÏ�f�[+$1D
�`��[4aOHJ�����P�z�O�#\��+Gp�Vv�i0%�܊�v���iT�6B!aX���PX��'�CR�';�I6N8r1i��(�
�k��F�Q�c�W��k^��9�j	�5��vg��M�!�z�c�*
��@z�]�/��@ 0o�ِ" (��.��%
.�us�?!׹'4��噽4��s����$	�Z&q�7���K�f��m�Y�j�l�a�9c�%�l�� Q�@����C�	7�� �o�)�b�bcKX�ݑ����d��+vF���˜~s�!P#~��P�V��z4f
tY ����Fc�\�1�,��e1_̓p�Vq
�Q�G��䘛|�GXO!�J?*�]��;�d]nU���*Q59^�G�0�+51cK9w8DB�'H�8G�h��6��f�B�e8�j�R�a
�}���a��.t����v�*�UP�3������"C��_Eq��λH- �k�\
"�~�ڕ֓���&v|�1m7�K�FyV�\"��>
�M�H��3��� �����0��_n�P�3k��ej (����x�.�9����^�[���-�8��C�K���pQryϞ��B
�K�M�>p
u�����鈹�yC`K8m��Ƭt�Ʉb��@����KE0���K�
��8���	�E#@٨� [...]
b����<Q8u>1Q痔�z佯
w0^W����>5=@N*���^=p�g��-?|�o�/�,Z��P��\�~�1���
j�L����h{�M�Y��z57?7ZW*ߦq�j[j�6����w� ����pf'��tl���O_rk�a�QF8���i�
�J����O�&t����tV4Q����
[�f�R��db">KuG���
�be���A7�N��=)����
��x�@8�����a�t+U��Q�(��;(������$N�x��=R$�l��t�E�o�Ѓ��L�Ɯb�����&é��K)q����� �s��>��
H��_H���
n���X���ϲٷ?�����=S���;y��A
�T�~�iQ*��+Fzj�YE�1���U%V�g��	gm/�y��*X�<�L��w�

-3���M���
f������RM��$�P�fJn�����
-endstream
-endobj
-4153 0 obj <<
-/Type /Page
-/Contents 4154 0 R
-/Resources 4152 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4136 0 R
-/Annots [ 4137 0 R 4138 0 R 4139 0 R 4140 0 R 4141 0 R 4142 0 R 4143 0 R 4144 0 R 4145 0 R 4146 0 R 4147 0 R 4148 0 R 4149 0 R 4151 0 R ]
->> endobj
-4137 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 348.395 164.042 359.299]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_ba7dbedd485eab91821f129132a04723) >>
->> endobj
-4138 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.379 348.395 241.511 359.299]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4139 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 309.541 164.042 320.445]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_3a4c3af6146717b3302f467368eafe46) >>
->> endobj
-4140 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.379 309.541 234.885 320.445]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4141 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 270.687 171.791 281.591]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_b45e800217e1c61d8595e2ffc51a83ad) >>
->> endobj
-4142 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 231.832 164.042 242.736]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4143 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.782 231.832 215.588 242.736]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_2c93e938cd478716c7c9e5e9988f7a98) >>
->> endobj
-4144 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.925 231.832 293.057 242.736]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4145 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 192.978 179.554 203.882]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-4146 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 192.978 250.666 203.882]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_584cb5084fe5479b0c373e3d17fe5ffd) >>
->> endobj
-4147 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.933 154.497 297.728 165.028]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_79c648d88214174287e3763b804f4aaf) >>
->> endobj
-4148 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.544 154.497 336.732 165.028]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-4149 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.933 115.27 342.261 126.173]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_3c9879f0c9dcb81fe1bbf78828509ef6) >>
->> endobj
-4151 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4155 0 obj <<
-/D [4153 0 R /XYZ 90 757.935 null]
->> endobj
-4156 0 obj <<
-/D [4153 0 R /XYZ 90 733.028 null]
->> endobj
-2083 0 obj <<
-/D [4153 0 R /XYZ 90 691.329 null]
->> endobj
-4157 0 obj <<
-/D [4153 0 R /XYZ 90 676.759 null]
->> endobj
-3907 0 obj <<
-/D [4153 0 R /XYZ 90 629.555 null]
->> endobj
-4158 0 obj <<
-/D [4153 0 R /XYZ 90 614.984 null]
->> endobj
-3908 0 obj <<
-/D [4153 0 R /XYZ 90 585.539 null]
->> endobj
-4159 0 obj <<
-/D [4153 0 R /XYZ 90 570.969 null]
->> endobj
-1423 0 obj <<
-/D [4153 0 R /XYZ 90 490.066 null]
->> endobj
-162 0 obj <<
-/D [4153 0 R /XYZ 90 483.466 null]
->> endobj
-4160 0 obj <<
-/D [4153 0 R /XYZ 90 367.369 null]
->> endobj
-4161 0 obj <<
-/D [4153 0 R /XYZ 90 367.369 null]
->> endobj
-4162 0 obj <<
-/D [4153 0 R /XYZ 90 289.78 null]
->> endobj
-4163 0 obj <<
-/D [4153 0 R /XYZ 90 250.926 null]
->> endobj
-4164 0 obj <<
-/D [4153 0 R /XYZ 90 212.071 null]
->> endobj
-4165 0 obj <<
-/D [4153 0 R /XYZ 90 134.363 null]
->> endobj
-4152 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R /F23 340 0 R /F99 2117 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4194 0 obj <<
-/Length 1504      
-/Filter /FlateDecode
->>
-stream
-x��YYs�6~ׯ�SJ�D <4�C�;�&n�N�
&)c^�G���:Lɒ"G�L
l
����]�.�13��������ܱ
�v����C�u W�qm"��A͋!�&-S\
14�d~G%
ޱے����,�fega<
aͳ�V���O�r�<S��,:&r���՛�W����j .p-b����4"�����{�C;*5ll�kb\�@�
\V��%�t�my��- 
"5���������j���t��y!Y��A]RVW�I�gU
�B�V
9Y]��e��i
5IS�A�t	�H��]ue����]lx\
�Z`

#d߶��)3ed��`{[-�lM/�
0u��w��}ȧB���/}
	L�5�2
��
�͹e�zL}�*9fU
�.=�*�0�
-�#,p�	����6�؋���g(/�ÙqI�
��	��y�N�op �fE����(x���=���
,;�.�rw`���
��p)��tP���y�
aV5m�<�g,��r�
� @<�i�q����<LwNU �"�Y���
�C�v���/?�ު�qHYS�3%�0 ���2�k�@�j�Vimc���{҃`��X�
���欪�w�����X1�>��Ҥ::1�����Cn�`�������L!h�s	5\#􍿲����� �S��anh������=[+��}�ج@��EȾ�.�\Q����"��<.��&
7.evS�z^���1��z"U
g?ٴ`QWS�h��m=+��,�xI
+z�Pa]\X�����[��>���>@��Dڰ��H�4/�Ažŏ���pu^sPsY�����c�?� �7:]xT ���[������Vv];��-����0l
-GzV{����V����V���M����6;--:��9�mk �o+��� �N�c�
������탱h�fB��� j�♑��d
$�����E�&�0.�
��3�vy���rc�������zs���>D�7
����V

���yU�1M��^T'��V��}yb����Eɞ��ߨ�vA �>�IW��^�� #o��T,����1t���T��Y�ձ�ի����"#����d�G�Y��'9���<�����K�@d���Q �zNo_��9[����@�!֩w
ڀ/v�ᇷ�
"���Pī���ީ&Y���̓-AE��਄��S���8�Y9
�Z�C1➊�%Ź �r���6�����V��M
-&����t�|n$t~�|���
-Ėv��;�5�
-�O�!�Ǖ��k�q�6*V�R����J���E�
��fQ"��{V�R�
�h�Č�vX����D��Z}�����׎������˹'Ͼ�QH]ip.�����z�'��Q
ˇ����E����i�uH�_�Rq�@�=l^iB�2�������
�
y��
v������x��� �
-4+J��qQ$�Ǿ��
-jC�Zd���
\v���L�p���//�ɲ
-endstream
-endobj
-4193 0 obj <<
-/Type /Page
-/Contents 4194 0 R
-/Resources 4192 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4136 0 R
-/Annots [ 4150 0 R 4168 0 R 4169 0 R 4170 0 R 4171 0 R 4172 0 R 4173 0 R 4174 0 R 4175 0 R 4176 0 R 4177 0 R 4178 0 R 4179 0 R 4180 0 R 4181 0 R 4182 0 R 4183 0 R 4184 0 R 4185 0 R 4186 0 R 4187 0 R 4188 0 R 4189 0 R 4191 0 R ]
->> endobj
-4150 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.933 720.286 290.247 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_39b6f38fff55dd953ec509b3739dd17d) >>
->> endobj
-4168 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 681.058 164.042 691.962]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4169 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.782 681.058 218.358 691.962]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a03b119140132112557907b772102b33) >>
->> endobj
-4170 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 642.204 194.776 653.108]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_e96eebded76c559c95910dc233c68f06) >>
->> endobj
-4171 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 603.723 195.334 614.253]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_c26379e5f82fd0223682b11b9e052ea5) >>
->> endobj
-4172 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 564.495 224.634 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_29c6deef0eb3911adbb08d36a8f0b3f2) >>
->> endobj
-4173 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 525.641 179.832 536.545]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_6609e54e84d50cd074c2dd65f38b47da) >>
->> endobj
-4174 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 486.786 227.981 497.69]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_d67d37524d1fb7f31766c0b02cb8591a) >>
->> endobj
-4175 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.797 486.786 297.44 497.69]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-4176 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.943 486.786 392.075 497.69]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4177 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 447.932 191.718 458.836]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-4178 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 447.932 288.852 458.836]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_484373d269a31c21efae44a83f8be6f0) >>
->> endobj
-4179 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 409.078 191.718 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-4180 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 409.078 303.079 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_0ff04e47054c14b2edf29096ecc95ab7) >>
->> endobj
-4181 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 370.224 181.845 381.128]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_43983a6ee447e480f8700915bccb4811) >>
->> endobj
-4182 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 331.369 181.845 342.273]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_c53e4323b140cdd4ba1ac96e7204d93a) >>
->> endobj
-4183 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 292.515 154.727 303.419]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_146b211f83e22bd011d3de2e5975073b) >>
->> endobj
-4184 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 254.034 176.505 264.565]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_94b3624c208219e401569cd289049b38) >>
->> endobj
-4185 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 215.18 150.493 225.71]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_33e6005a1fe40cb202eb619912c25c3c) >>
->> endobj
-4186 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 134.044 203.075 144.948]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-4187 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 134.044 296.324 144.948]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_5a207ecd92e9fd8f3b1937a5064746a9) >>
->> endobj
-4188 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.005 119.423 322.825 129.328]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4189 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 95.563 194.297 106.094]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_b917a480b6afe7e2750aa2862c6783cf) >>
->> endobj
-4191 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4195 0 obj <<
-/D [4193 0 R /XYZ 90 757.935 null]
->> endobj
-4196 0 obj <<
-/D [4193 0 R /XYZ 90 733.028 null]
->> endobj
-4197 0 obj <<
-/D [4193 0 R /XYZ 90 505.88 null]
->> endobj
-4198 0 obj <<
-/D [4193 0 R /XYZ 90 467.026 null]
->> endobj
-4199 0 obj <<
-/D [4193 0 R /XYZ 90 428.171 null]
->> endobj
-4200 0 obj <<
-/D [4193 0 R /XYZ 90 389.317 null]
->> endobj
-4201 0 obj <<
-/D [4193 0 R /XYZ 90 350.463 null]
->> endobj
-4202 0 obj <<
-/D [4193 0 R /XYZ 90 311.608 null]
->> endobj
-4203 0 obj <<
-/D [4193 0 R /XYZ 90 272.754 null]
->> endobj
-4204 0 obj <<
-/D [4193 0 R /XYZ 90 233.9 null]
->> endobj
-4205 0 obj <<
-/D [4193 0 R /XYZ 90 153.018 null]
->> endobj
-4206 0 obj <<
-/D [4193 0 R /XYZ 90 153.018 null]
->> endobj
-4207 0 obj <<
-/D [4193 0 R /XYZ 90 114.283 null]
->> endobj
-4192 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F99 2117 0 R /F65 376 0 R /F98 2120 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4245 0 obj <<
-/Length 1457      
-/Filter /FlateDecode
->>
-stream
-x���s�6���WЗ
�IJ$B��K3�N�w��.}���,
&X�N��뻈�	N
'>$� ��꣯v���~
�r1���%��o]Ė��	b�X�M�ΐ`��s�`;Գp|�Plg��JNt8~�\�P/��O35�
�"�
)��i�yu�Q�R;$�����ط��:_/�
�^
�
8�-b
`
q�Y�l��+�&��wF��[s���
���4�s��`�G
�V ��^
�����E�gU����H�4�.kW�����t��bt��Z�"ߣpt����R�a��<d�ͼ�$��tc�L���4�i�����/Se<�ګ�2
?���N
7����U~�9
���3e*/
N�e=i��ᇿK��'�l��B:��S
�Cd�,ZA.]��:h�嶙
�����v�U�M��	DX��^����dC�\�<�T�X>#i\4�F��	��''
8o����
|��:��+T�0�p��M:!�JpL{Gp@�0��P�Uv����Ut����3tAc<� y	&*{��i��pß #*�Ɵ��J0E����MsyPPKcau��HB֑��8պ�Gjym�Ծ����t�T��Tڐ�W�
�x
�,@4/,\�!�oTl7.��a����a�u�w��}�d��o��Z�f8� ��hg�w�H_
��*ԅ&X��
y���}Xy�������
K�G�`�Yjo�ۀ$[���d_��>��I�꿒���L�e����q�äȏ�ͫƺ��8�W�
�����k2m�I�X�g����L�B�R�Ȟ���y��=���X!���c�!J�A��[I�@��5���:)�/�
-rRe䃜]B!a��**`4�7t��� �u4��6fwk��d��*�n�P
���.��m��?�	��>դ��D]e $����T2[4�z���f�aA9
Ӵ�x�
H�Q���Ȟ$7ɤIj�(y�͚2<�"����n3�5&��L��N�?
{sZf��
F6�:��FϨK
�Ң�~��K�eQ6�{�,�4�Vo��z��G�
ن&��k]{ik�H�d�.5�1�q�x[�^���ȧm��{vo��/�8
PW�/�,��5�0�)����ڠ�K<T��~L͞�%U?V��ͭ۸j�g=8�\�V$Q_˽VO�1�&�U�-p�𶼝mA��2��R�'H
�E�.M�e��r�������襶��/!H���ň��D����C	��~;�I�Y�3��Җ��*�V��
S���}#�!_�.,孚-�W��"�	S��O�
DY;
������5�7��]���[�����~<3� X	�]}d��ܻh���܎/?��6����{6�?�ʥ~�0֬�B���.�MiJ���0�'Ff�A�	��'� UEvm5g�L�W�h�]��UQ̏G���[�h���FI1������u�
-��[#q��F�}H\�e+�9
���Nd
-endstream
-endobj
-4244 0 obj <<
-/Type /Page
-/Contents 4245 0 R
-/Resources 4243 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4136 0 R
-/Annots [ 4190 0 R 4213 0 R 4214 0 R 4215 0 R 4216 0 R 4217 0 R 4218 0 R 4219 0 R 4220 0 R 4221 0 R 4222 0 R 4223 0 R 4224 0 R 4225 0 R 4226 0 R 4227 0 R 4228 0 R 4229 0 R 4230 0 R 4231 0 R 4232 0 R 4233 0 R 4234 0 R 4235 0 R 4236 0 R 4237 0 R 4238 0 R 4239 0 R 4240 0 R 4241 0 R 4242 0 R ]
->> endobj
-4190 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 696.376 188.759 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_2ca2446f563956eb2b92ddd17e5c0b2c) >>
->> endobj
-4213 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.953 657.148 211.085 668.052]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4214 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.824 657.148 307.233 668.052]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_d07dc0dabac5685f9db8d9dc11e513f1) >>
->> endobj
-4215 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.953 607.334 211.085 618.238]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4216 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.824 607.334 285.136 618.238]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_8aab82f7118966662582f88725ce4735) >>
->> endobj
-4217 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 568.48 187.563 579.384]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4218 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.061 568.48 213.834 579.384]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_7facb7a06ac72f1af2bc514c788f1a38) >>
->> endobj
-4219 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.172 568.48 318.421 579.384]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4220 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.578 568.48 441.827 579.384]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4221 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 529.626 187.563 540.53]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4222 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.061 529.626 213.834 540.53]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_57362a4d56c397575a6d043cdbcec0f9) >>
->> endobj
-4223 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.172 529.626 318.421 540.53]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4224 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 490.772 187.563 501.675]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4225 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.061 490.772 213.834 501.675]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_5b3db7ba1765b3a04f8d320968f70447) >>
->> endobj
-4226 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.157 490.772 468.407 501.675]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4227 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 410.009 197.337 420.913]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_6a24743a95176da13995bb6c17151c9b) >>
->> endobj
-4228 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 371.528 175.748 382.059]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_29c63b939ed830a0395170835e60beaf) >>
->> endobj
-4229 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 332.3 205.636 343.204]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_fcf86304f17dc474e1e5bbe0486c1b59) >>
->> endobj
-4230 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 251.538 164.042 262.442]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4231 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.54 251.538 202.497 262.442]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a948df90fc7880e7e52ceef297ee9bbf) >>
->> endobj
-4232 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.835 251.538 279.966 262.442]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4233 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 212.684 164.042 223.588]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4234 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.54 212.684 202.497 223.588]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_2cb39e7c88e9e724e7970d0e953f2c81) >>
->> endobj
-4235 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.835 212.684 273.341 223.588]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4236 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 173.829 180.54 184.733]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_deee840f3313b6050d439dbe5fe2fdd7) >>
->> endobj
-4237 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 173.829 258.009 184.733]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4238 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [299.742 173.829 349.874 184.733]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4239 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 134.975 178.239 145.879]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_af7dc46b2cfbd6650ac1d2035d331f15) >>
->> endobj
-4240 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.576 134.975 255.707 145.879]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4241 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.441 134.975 347.572 145.879]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4242 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4246 0 obj <<
-/D [4244 0 R /XYZ 90 757.935 null]
->> endobj
-4247 0 obj <<
-/D [4244 0 R /XYZ 90 715.095 null]
->> endobj
-4248 0 obj <<
-/D [4244 0 R /XYZ 90 676.241 null]
->> endobj
-4249 0 obj <<
-/D [4244 0 R /XYZ 90 626.428 null]
->> endobj
-4250 0 obj <<
-/D [4244 0 R /XYZ 90 587.573 null]
->> endobj
-4251 0 obj <<
-/D [4244 0 R /XYZ 90 548.719 null]
->> endobj
-4252 0 obj <<
-/D [4244 0 R /XYZ 90 509.865 null]
->> endobj
-4253 0 obj <<
-/D [4244 0 R /XYZ 90 428.983 null]
->> endobj
-4254 0 obj <<
-/D [4244 0 R /XYZ 90 270.512 null]
->> endobj
-4243 0 obj <<
-/Font << /F63 374 0 R /F72 471 0 R /F50 339 0 R /F97 2175 0 R /F98 2120 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4278 0 obj <<
-/Length 2431      
-/Filter /FlateDecode
->>
-stream
-x��Z[w۸~����&T���t6�l�v�m���Kv�KK�ͭD*$���
\H�tI�gOO|H��`0���7�qt��g��<;#Y��TR]�D)��$HP].�1!H��c
��
g�:�z;�8�V�w��ή~,��~��xU���6/�lN�_������򛼞�$�o	SX�D��ϗ?���<�xF@!
��PH1-�g~����a��$�7���
����������P��v3��U��K�қm�h��l��o�&�hN9b<��~���jݶڻ�����=�jwSV��:__Þ��M�Q�l��:"q���	���R1
�a.�M���������
Ӧ�o�
ߙ	�u��묭j�GB�=��&�%��v��� D�4I���
U���fm��Ae�M#i�c�A/E��\�5O��Ms�QʸU�o�v�u^��# ~�g�sJ���
���qNp��]{vy�[߼
YE[���X�yV_�~��y� �����:Q"=�i�Q}����m]6}\��y<`�(�1�0ٍP��h»D&2~�!��☤~ �͹P��JK�!�0�b�Y`�aN%��_�@�$R�������fF�tQ�e{��Y�6f��Z׎����s0��
f!|����P$�H
-�gW�������H����L�J������T�b���B���7�`�#��
흭y�p�� �~��|�V����
%E�BP��'����Fs�s��o�E���Ϲ#@H��@NT�FSW�{k�i
�Hz��
-4'4E"�ќC��|`u�8^�}�fŪ�E��͢.6������;;ge�}KF?=ȃ��ߕ�._��/�}3�GC
�
Q�Ϧ:]|�:�x��p.X��0�]���
-�O�H�\h�u�0$�T����A�s(He�� �bX�b�;pxC$��p_�v��x&�.�@� ;�qŮ
P���%Gn����aY`9�����S>Zl$�!FT�
z���: ��
x��yX��u�����l��s��C��|\�w%s�?���
�+/œ@tAVV`2��
�����jZUF�R�h_
tH0&l�1&�e��KS��s
���{/�f�-��!��rr`CG�/F
�'��%�?h�cQB��V7R��b��8��ХJ��"�^�A�&`��KG�v@��nP�N�$&`I���?;{/ʻjnr*��w5J:�U�y�W[-H�#�z��T��!�&PWT:A�飦���
@@�XAx����նyn(n�M'x`��@����c��,�!��|��%pI���]�)�%^�H��8��5sxM���B
o��)o$��1!�G@�L�oU��@O)��@O)� �����&=` �\7�= 0
r�C=�yxF����z�St���
	Ǫ�#�ΨN)�G
-�U6�
-Zd��@���^�#���QL�#����BQM�
��c�����Z�E���
�w�h
*�I��@�v�`�Kw�5{
-�F� 㢡S__�́!��}��l�z�?����w��q�٬
���͹s��-������Z�w��{
��B�=��yr��{ܐ�n���a��dEm��
W����$"���L�ؔ
{00#�9��%�#��H�q���9���C�p�U��'��� ���=�
b����
���݋
\��_n��08q$
	��`Q��;���Y���a�ķ��:��5M|�;�}g:*�7f�t
�7��桦����ɖ��j�(x�Sy�	�{�k��(5�6
���.�o>:�;(#���xyj{�9��TA}�<-�+����
��
g
̬L�����wጼ�5]-sg꬙7{(�������2�E�v��D�S�M�}{��1^�3!�� �Ҧ�{ ���N
�4�!7�jUi�[�#��l�Y��EE;v����r�
ŧ�A�A������[����o�
�(�ү�l#
2ݘ�G�t߄| +LM�\�;����>���P�x��*�
N���;s�q��S
�I�E � Eh�>��dg,�����~���
�DG]�~m!a�L��b�*��0��E��'�z�;��c��b��C�e�
 D& 
S���KR�0{N��� T�
�K���e|i�
,�iT�x�i�~�M�e%
�>+��n�A���
G��lx�n�&c��ߚ5>�W�[�Q�g�R���
t���3/8R�
-��V�3{1.��8�3�����{be�&����E��1��}R(�2�U��D�}�;��u�#���G�� >�x��r�
�^F�S��&���=0�s����
dHKN�o�_��A�$B�	b�o�g�d�љ� ��?��~����_�����gif�<Ĉ`d��w
���k����
uw��
x@�Ɇ<�k�������=Z4h[��9�;绵“YT�Bn*�Z����%<\g�C���?��~a
-endstream
-endobj
-4277 0 obj <<
-/Type /Page
-/Contents 4278 0 R
-/Resources 4276 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4136 0 R
-/Annots [ 4262 0 R 4263 0 R 4264 0 R 4265 0 R 4266 0 R 4267 0 R 4268 0 R 4269 0 R 4270 0 R 4271 0 R 4272 0 R 4273 0 R 4274 0 R 4275 0 R ]
->> endobj
-4262 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 670.008 226.034 680.912]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_e0c9395c1ac4d96e245be43fcd76424c) >>
->> endobj
-4263 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 670.008 371.308 680.912]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4264 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 631.173 164.042 642.077]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4265 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.54 631.173 213.646 642.077]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_7415de7b412a5e297810ff35a97a2849) >>
->> endobj
-4266 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.983 631.173 318.232 642.077]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4267 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.389 631.173 441.638 642.077]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4268 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 592.338 164.042 603.242]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4269 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.54 592.338 213.646 603.242]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_54cdd6074f90a5623c8ae7ddcfedc5c2) >>
->> endobj
-4270 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.983 592.338 318.232 603.242]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4271 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.035 553.504 159.401 564.408]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_c8652f34bdfa731c02c1900f62bd5e88) >>
->> endobj
-4272 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [166.337 553.504 327.551 564.408]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4273 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.782 553.504 513.996 564.408]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4274 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.82 441.496 227.951 452.4]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4275 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4279 0 obj <<
-/D [4277 0 R /XYZ 90 757.935 null]
->> endobj
-4280 0 obj <<
-/D [4277 0 R /XYZ 90 716.221 null]
->> endobj
-4281 0 obj <<
-/D [4277 0 R /XYZ 90 504.247 null]
->> endobj
-4276 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F72 471 0 R /F98 2120 0 R /F97 2175 0 R /F65 376 0 R /F8 504 0 R /F1 542 0 R /F10 473 0 R /F13 540 0 R /F7 505 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4289 0 obj <<
-/Length 2326      
-/Filter /FlateDecode
->>
-stream
-xڭY[���~�_AhJ����In���I���o��-�VD(R&)��E�{�\x���}9����w��޽��������A2/B��һ�x�I��ĻK��>!(X,	��� ؏�]�z���/��V%e��9}_�����U�ߗ���bI�_eqU��_�F�
��_�,}"����OW�wW��=b
-��ֻ��ﰗ��O
F,
-��j�q��yo��y�
3�eNx�L4s���P�0�c8�S-��]�����W,0��y�@�oI�n�����QR�7�hO��7�I�*"љ��h�-�0 �|��^� pOGK�⠶%�Pg��w['�M�eł
-�!���ԺHܟ��i�8��ͮu'scػ�Hx
������p��Y�xzD���|@
V>�s�@
������ q!��0O/�o�YB�b�9��Bw�
��b����|y�����V>�XK�c+�j78Oҝʫ��'$�i���N��kE{c
b����LrĈ��
:�c�p�a
i�1h�`��|��)0��kw���b�os+�C^�uZ��i�>;��ݟTY,;=�4h�g}R����/vE�I�?
-	pɐ$�W<�,��cw�{�ܯ֩�C%v"��\]��$"��p��Y� v��-���"Z��Vf��ʹ��>�H=��&����3��/����]Q:��|��^���~#�f�Nq���toɧ!WK�=-
Ҙ��i��ru��/U�1cԈeh�ܝ� �������b�
��5oͧ.�QY}Q$I��n�E=�>�3e"1i
3�q��Δ ��e�`���s�pu\�|�
2}R�8�c�R$Cw�_
-m0NuEc^ڻ8���"|I�
�DB�+�(k��J�8��I��m��՘��ݗ�^�1M�=�M�~*=�� �n���cC��<�o `j>̆�]m j���n}�o
-�Nkm3��ӺjL��H8O<�6}��y��
Zl'#�pn��ě�h{�׆�{�z���F��v�N�=V�iU;5P
A��oAz�Ƥ��J��P�Z�h�Z���E
;t#=����Lݟ�
��q�RY�U�V�͝=q
-��X���H_�뭝��0#��nL;�j�ą�?��5��־e���Ut��
�EO�TDo|��pB��6C���N�
�6ܝ;Q����Vo�24{q���rx���|�O�\:
���s���� �����Ћi㽇�?xM
4
?M
�hTE����b&��>˂�4HZ�u9 at 9����"�����`|*
5�d�窱9�dz�&����x�������<��]���ܪR��l�-�1��\ZM�-�Qv*��t>eMq_��bPń_2�B��b�@=���
��I
s!�8�ԗ�8�8?��p���w��q�.JxB�!|�Z�e�BN<��tu�
�`��d("3�Y�(i�'I����%a
�Qh���*�e�_m�_L�z����?�*O���޸���R�Mj�ӗ�
\p&r�?���
���.7`p|�Km_
-z>"�n틎���v�܇C���}1��w��SAVl��g���rƝ:�5�o
�mf���{wIz"K�ʭڵ�L���Cퟝ�jϟ���Š���C���5UoZӴ�0���w\��2a[���N��p�X�?���ALf��s
�ix�A�o�]q�rU
�U����K�fO���V
��X�n�.4�3_z	�
���+��L���C����P���%�F�g�.�YW����y���<5�d����
��y=�O��
�K(�o����
���������8܃�?�Zc%� 4���0B}��Ô6H(�ݬEL��Nׇ��x0nѨ���1x�ĎL
�a�L���y
@N�PZ�T��2kyd�ٔ���k��f]�]���r�
k&��:�����B:��	\� ��b]��90�Bu�u��^5Iz���/��{5���X dԦY��O9b|p*"���5�
F$pZX.G0cK%��Np��0�� (��jj����<8X6���Ē��}��U��
BT�n��Z�ֱ�5��e[�
��T!�q='���"�iߤ�~
�u��>�x��cl��(T�>L��׃�}\����lc}��F!�.JU'77�y
�%���7Pz�
ݤe�n[� �:�`p������z�' [Y��.,�|#x)F�n�!P^���|UB��!p��8%�(B�ֵ�67l�������*U�q��Ov��8o����k=v�n0"Q[�;���t5-g�y���lL��%�.M��i[����뇇���!O�%J���>�>�i�ݬh�4�����mG����i��
-endstream
-endobj
-4288 0 obj <<
-/Type /Page
-/Contents 4289 0 R
-/Resources 4287 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4136 0 R
-/Annots [ 4286 0 R ]
->> endobj
-4286 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4290 0 obj <<
-/D [4288 0 R /XYZ 90 757.935 null]
->> endobj
-4291 0 obj <<
-/D [4288 0 R /XYZ 90 204.564 null]
->> endobj
-4166 0 obj <<
-/D [4288 0 R /XYZ 90 182.252 null]
->> endobj
-4292 0 obj <<
-/D [4288 0 R /XYZ 90 182.252 null]
->> endobj
-4287 0 obj <<
-/Font << /F63 374 0 R /F65 376 0 R /F50 339 0 R /F8 504 0 R /F11 418 0 R /F23 340 0 R /F31 472 0 R /F7 505 0 R /F95 1788 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4296 0 obj <<
-/Length 1836      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�6~����6�^D���k�u+���^�"Pl:*K�$��~�%�BIq�%�ТO��>��Od�s�`��ɏ瓓>s$�>���#��qJ��s����`�ݳ)�n���˳)�n�ިe^�]eav;�?K��l�����(��8�����Z�lJ�[��� �.������a��� �;����
v�������ٕ�֎G\c����	��
e��u1��+���J�^l�E�I��S�خUR��+��Ϩ��'�r1���j�c���G�EFE>�/�$/.+�m�1�	��QPFHn
{�9�s*)H�«X�5'/$��ƒ���?�X����!�z��H�h�~��]��G�'��QG�zW-丳p&(��
��ת�f����Fպ�jJ��:[�NW#�	f���G�f�<��0J��YB�H�4f#�<$E�����UPf���ʲ����	*������O
����ϭ�B�l�
"�l� /��9x�a�cG��0�.�g�e��Hv|�R
�
4�ҍVյ�O�"Y�)���q4/��M�D
l�ӒW��3�+��1!�o|��06L{V�pan�8����5��	x��z���S�
@T��<���DZ�$���o�+;)ҍ��"�NN��
6>�� �>�� ȵ��G�D
-b��H�N��`!
�ly���hG*�
C
�{�A����B�u������ ����9���S��8�q�$�hI
-���X-�i��E�͈q
Z��0�^6^fj��
*)J�+[L��
u
�R�r��M�͒��a.1Q��3ݕ��$�Ԍ�	 ]|���tLF��RE��2��ʹ�U"��V�m�[��
 �
aŚ!4��DǗ��&U����f��3������[��f�
W`�#"3����{O����~ʂ���}��!��8���d�
&0A�|�Ӥ	U5Mjr{��q����G�_�H��:Z�F�v{�Zvc�j~7��E�3
P}���4Ѻ�di�8�o��h
�9�����l3�(MٛHݶa��BOj[�5�	ؕY����v��1:�5�{
q�#�Om�mz������X����*��ൽ[Z����=����
-6ɚ+Q��U3�[�K��s�%�� m�oK at q�)���E�ӟ��g&4���N��ƒ�N��ӡ'i�rdD��4©3N(
5��r��4�}�G�[�J���W"
�k�~1����,d��� �t��{�;��qFឞVW<� �	��R2;�P�@L��%5a�3땐M��g�&GJ >9��V���� ^W�PUyW��
-�
���ԎU:����&����"
�
4H��Q�!`@��
��=֨��y�f�$� ��������;�0#������DŽ��(ѣ6ʋf�A�}��x<D�U��Ob���]�����F�4#�{�����<�o������]�
-=#Z0�iOK�?4�w�yws�NB�w�7KI(�WB�P�/�P<��?��-�A��M76�f����Y�C<J�w�����l��
e|���qC��
��,5��K$����r��5��9.�ض�,�!
-3{HO}>Z������L5��if/3�<D9`�^���|d�@<����&PrG����x�4�)
]t��R%i��(�ft���}�$�
��G�;4@��t&[�u3���?]Z汮���X��G��列�ƟWa���)~ԢT�7��kъ~�������g����I���x�
-�i�MQl�''��-r�M�M���d��O���
)0r�C�U��Y�T��5!/�1`�� W(�
-endstream
-endobj
-4295 0 obj <<
-/Type /Page
-/Contents 4296 0 R
-/Resources 4294 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4305 0 R
-/Annots [ 4293 0 R ]
->> endobj
-4293 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4297 0 obj <<
-/D [4295 0 R /XYZ 90 757.935 null]
->> endobj
-4298 0 obj <<
-/D [4295 0 R /XYZ 90 733.028 null]
->> endobj
-4167 0 obj <<
-/D [4295 0 R /XYZ 90 716.221 null]
->> endobj
-4299 0 obj <<
-/D [4295 0 R /XYZ 90 716.221 null]
->> endobj
-4208 0 obj <<
-/D [4295 0 R /XYZ 90 603.463 null]
->> endobj
-4300 0 obj <<
-/D [4295 0 R /XYZ 90 588.892 null]
->> endobj
-4209 0 obj <<
-/D [4295 0 R /XYZ 254.215 512.263 null]
->> endobj
-4301 0 obj <<
-/D [4295 0 R /XYZ 90 495.202 null]
->> endobj
-4210 0 obj <<
-/D [4295 0 R /XYZ 90 386.808 null]
->> endobj
-4302 0 obj <<
-/D [4295 0 R /XYZ 90 372.238 null]
->> endobj
-4211 0 obj <<
-/D [4295 0 R /XYZ 90 264.341 null]
->> endobj
-4303 0 obj <<
-/D [4295 0 R /XYZ 90 249.771 null]
->> endobj
-4212 0 obj <<
-/D [4295 0 R /XYZ 308.538 187.932 null]
->> endobj
-4304 0 obj <<
-/D [4295 0 R /XYZ 90 171.205 null]
->> endobj
-4255 0 obj <<
-/D [4295 0 R /XYZ 268.967 120.488 null]
->> endobj
-4294 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F11 418 0 R /F7 505 0 R /F8 504 0 R /F1 542 0 R /F10 473 0 R /F13 540 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4309 0 obj <<
-/Length 1756      
-/Filter /FlateDecode
->>
-stream
-x��YKs�6��W����L ��&9�n�i��i�܌�&!�>>�(��
|
-Rd;��ДW����]��غ����⧋��
ױ�Ե.6V�-�%�Sb]�֥M�+�1�_/	��2
�^/)��tw+�2�z�\�a�[�ϋ��lD
��rl��aU��7b#�%�m��8
vm�z�w/�\,>,l[�� ���p+�����K
#'�V*�u����v��u�:�|p9�C�CE�-�ý��Jn� �4����s
��l��6�P��f���mY�"�E�N	s<^u�+�!�2��?;c:���6+�R!��O~rъ8����.6j��E��,)��c%"�+�
��E/��EV܈\��E�i�R(�>(��ةe<?&��Ĵ2YV�Z͋|�Y��z��V�O�U>
�������mQ%u"? ��H#2��aF$`f��g�=H�
`v*)��B��I�
�
-�1Q���o���:Ϸ�4k
���W���R�M�G���S1'1�NE5 X%ש0éV�&���¹}
�i�_!�붌��}���ȧ'#��'��C|t#�(%q�F��]�dY��6��Q]���.��t�\9���Y����cߪ���H��p�?a��\�D�uU�5�(-S�B�wF�'&]KJ%U��:��Zѿ��38�m��띩p[Q�ೊ8!xZ�ht�>5�B8bp�h�f�e�F|SW�Gn��
�l|QB�5bϻ�}#Ұ��E�Gu��s5D5l����!�c��h�s�A(�P��WǨ�e��ש4�PNcBSFc��Gtcp<@l(nOڭ��\l�j}U�aRW�uk�J��>a�0q�H�
���
>� ���+F��tJ��M��))g)�F�M�W�.Ŷ2�v:�6�
Es�Q�M�&�eMZ'�t'��}�

-���B2Q�#���M���m�GYN�WY7i�+Ċ0����I~3�H0��f9r�jX�m)*�x8��v%����9K����{�E<˅X8����aH��PB�$2>�g$��d
2�9�2E��olJ�]&����`�@tF3�>�y�<�D����q��bi�?0L>�Ã�:��(� Gv������WJ��?����#�!F��������t�ظ�˯���m^���.�0T'ciUsW_�e�����!<���8�O,�.��䒮%�K��O�MYdƒ >�
�q �?��wI}k�F9">���p9���pωEX�����hf]E��0ͩgφW��
�g�1�
-��#=����t�����J�"8Ww_b�A
|���s z
y�;%P�����>�k�Ơj
�=�e<��To�V�S�Cep�Y���&�M�0���JF���?@>3��
$�w�!���o�|��o���} ���4�d���S�q;����B��"�:�'�4u$̅�M��d�V�[|��>�<詇^�2h�7z��q�ux\�)�LdN�tJ�� ?�xu�
4~�����W���&.�T��*�EX^��i���*5l�Z%�!<�p�
'��w��H�x���_��7�
����; ��@,�瓚?�;��b��͍�� �SA��t'ܷ�0�869ЗC�͇ѻ�\�����(\���_(ڿL��aD
�F>��Ww����ԯ�e�z�7���J����0o�t8,Ս\Y��F��C����[!��ʳ�V�����Ͱ_���������������Ej�d[��>�nӳI�f^���^�j��X���x#���^�����
-endstream
-endobj
-4308 0 obj <<
-/Type /Page
-/Contents 4309 0 R
-/Resources 4307 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4305 0 R
-/Annots [ 4306 0 R ]
->> endobj
-4306 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4310 0 obj <<
-/D [4308 0 R /XYZ 90 757.935 null]
->> endobj
-4311 0 obj <<
-/D [4308 0 R /XYZ 90 733.028 null]
->> endobj
-4256 0 obj <<
-/D [4308 0 R /XYZ 206.163 675.861 null]
->> endobj
-4312 0 obj <<
-/D [4308 0 R /XYZ 90 659.134 null]
->> endobj
-4257 0 obj <<
-/D [4308 0 R /XYZ 507.769 608.418 null]
->> endobj
-4313 0 obj <<
-/D [4308 0 R /XYZ 90 591.691 null]
->> endobj
-4314 0 obj <<
-/D [4308 0 R /XYZ 90 512.292 null]
->> endobj
-4258 0 obj <<
-/D [4308 0 R /XYZ 90 489.981 null]
->> endobj
-4315 0 obj <<
-/D [4308 0 R /XYZ 90 489.981 null]
->> endobj
-4259 0 obj <<
-/D [4308 0 R /XYZ 136.903 413.317 null]
->> endobj
-4316 0 obj <<
-/D [4308 0 R /XYZ 90 396.256 null]
->> endobj
-4260 0 obj <<
-/D [4308 0 R /XYZ 90 349.386 null]
->> endobj
-4317 0 obj <<
-/D [4308 0 R /XYZ 90 334.815 null]
->> endobj
-4261 0 obj <<
-/D [4308 0 R /XYZ 90 299.567 null]
->> endobj
-4318 0 obj <<
-/D [4308 0 R /XYZ 90 284.996 null]
->> endobj
-4282 0 obj <<
-/D [4308 0 R /XYZ 90 249.747 null]
->> endobj
-4319 0 obj <<
-/D [4308 0 R /XYZ 90 235.177 null]
->> endobj
-4283 0 obj <<
-/D [4308 0 R /XYZ 90 199.928 null]
->> endobj
-4320 0 obj <<
-/D [4308 0 R /XYZ 90 185.358 null]
->> endobj
-4284 0 obj <<
-/D [4308 0 R /XYZ 90 137.82 null]
->> endobj
-4307 0 obj <<
-/Font << /F63 374 0 R /F65 376 0 R /F50 339 0 R /F11 418 0 R /F95 1788 0 R /F7 505 0 R /F8 504 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4340 0 obj <<
-/Length 1537      
-/Filter /FlateDecode
->>
-stream
-x��X�n�F}�W(�@��+��II4��''0hj%�H����_�Y�"e�v��o˹��93��Y:��}��b2=
��(��s�p"�Ȁ A�s1w.]BP��c��v�r_��(v�lw��e|�*�.�r7�=+�e�Qy���wU�V�Ov�eqU�۷j�J���^��A\��������va�4v�$N��\���
޿t0bQ�l�U+�S��9��5�w�D�|��#i�ڛ���n�Ve\叧�����I�W���*�U\^=��6�TUZ��Ӊ�cz��rĉ ���,�Ǒ�Y�3X�q V��;�i������8��٬����B
�F�,t|p(�9cT��6q�����,j  Į�KѩA;)����Z�ߛ��V�"B�00T��r��[Uo��&F}��M�F#��~ $�<�2�-����~:"�`$Hp�y8\�q��
�
-�,t��s�
���L �;�hR�a(0�HH����G]cE
-ʢ���6^�;���g~KG��c�i4
��^:R�N�ME��A��O�Q�t��
#X#����:9>)	%@&ä<_�$���_U��Ҹ^��٬	�m�!��tp4�!�F��bt�&��H6+(��n�D�Ze[
���dϥ�&"�a�rMZjn�,��Aa-�,+<*�m�/�+M/��5�۲�C�5�PM�ŚR1\u�
���:C77]�L�Mv#�qD$����v0���Q���U���C�H��0b?�y�m�c�4��/#����W��
� ��AG&��%o�qȨ/�UB�0^��B|��q]���h
-���C�[�����K������Ҷ���
�pimz�@��uz&��
o:-�� �m�m)iy

u[S�����>�ώ3�<�"
��
��NQo6�Y�y���U{��]�G�;
-�
7m

����-�~	��X�Z���+7	 =��	 _�
-ߤ��&flc�V�zw�o-��/��`f$�3��
��C!'����H�n�T�6�>�`n
�yG�E���G.H��f�Y��di�
���IG���
-����&X��
�J��y=
���UKC/#І(��0���"!�fQzL�jm.

-{&��=�-���0a�=qC\
nD�Y?��X4��QԆŽX�
��`�/:
Q�^ܫ�t�`z��
�Q���P��
-h
mX��
-��L�{��X">~��|&#(L�pu���

g.�O��a
-��Z�(/��*�;d�$�1��g��~�M�u��a��s����vu� �G��D
B����s2�("����}����p�<�a2�B��{��Gq�B
����g��w
���V at o)�=�7�`����p��V�|�����jO�NkZZ��TU���������`���05 e$|�Yjs�
-�
����Ü���?8��v����j�G��4W���µ��:΁���Z�*���#`1�1Df'q��A�x�����1i8ro/	%b�;�����l:�n�(��&O�%J�)�����^=)�	��cVE�Z~�����f��?1��(
-endstream
-endobj
-4339 0 obj <<
-/Type /Page
-/Contents 4340 0 R
-/Resources 4338 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4305 0 R
-/Annots [ 4321 0 R 4322 0 R 4323 0 R 4324 0 R 4325 0 R 4326 0 R 4327 0 R 4328 0 R 4329 0 R 4330 0 R 4331 0 R 4332 0 R 4333 0 R 4334 0 R 4337 0 R ]
->> endobj
-4321 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 437.783 192.544 447.711]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
->> endobj
-4322 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 356.087 198.363 366.991]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_b30ab523e337d72baa4edc802452e532) >>
->> endobj
-4323 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 317.262 198.363 328.165]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_044dbf593127c9e8cbbbe2a0d169c30c) >>
->> endobj
-4324 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.7 317.262 275.832 328.165]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4325 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 278.436 198.363 289.34]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_535895e2351f7618e9107a38d9285d73) >>
->> endobj
-4326 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.7 278.436 269.206 289.34]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4327 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 228.652 198.363 239.556]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_6b5016000dff8b0c774381316acc0a11) >>
->> endobj
-4328 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.7 228.652 303.527 239.556]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-4329 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 189.827 198.363 200.731]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_cf4cf2f1d8c3e1d339b1eddc94139272) >>
->> endobj
-4330 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.7 189.827 310.153 200.731]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4331 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 151.002 206.112 161.906]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_9d7fe3b07d9e1d35c04fa2d81e32bf34) >>
->> endobj
-4332 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 112.177 198.363 123.081]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4333 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.103 112.177 249.909 123.081]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_39867871dd0a4fbe2f3cef2695881345) >>
->> endobj
-4334 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.246 112.177 361.699 123.081]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4337 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4341 0 obj <<
-/D [4339 0 R /XYZ 90 757.935 null]
->> endobj
-4342 0 obj <<
-/D [4339 0 R /XYZ 90 733.028 null]
->> endobj
-4285 0 obj <<
-/D [4339 0 R /XYZ 90 690.995 null]
->> endobj
-4343 0 obj <<
-/D [4339 0 R /XYZ 90 676.438 null]
->> endobj
-1424 0 obj <<
-/D [4339 0 R /XYZ 90 578.495 null]
->> endobj
-166 0 obj <<
-/D [4339 0 R /XYZ 90 571.85 null]
->> endobj
-4344 0 obj <<
-/D [4339 0 R /XYZ 90 455.766 null]
->> endobj
-4345 0 obj <<
-/D [4339 0 R /XYZ 90 375.046 null]
->> endobj
-4346 0 obj <<
-/D [4339 0 R /XYZ 90 375.046 null]
->> endobj
-4347 0 obj <<
-/D [4339 0 R /XYZ 90 336.34 null]
->> endobj
-4348 0 obj <<
-/D [4339 0 R /XYZ 90 247.731 null]
->> endobj
-4349 0 obj <<
-/D [4339 0 R /XYZ 90 208.906 null]
->> endobj
-4350 0 obj <<
-/D [4339 0 R /XYZ 90 170.081 null]
->> endobj
-4351 0 obj <<
-/D [4339 0 R /XYZ 90 131.255 null]
->> endobj
-4338 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F11 418 0 R /F8 504 0 R /F72 471 0 R /F98 2120 0 R /F34 2406 0 R /F97 2175 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4382 0 obj <<
-/Length 1675      
-/Filter /FlateDecode
->>
-stream
-x��Z�o�6�_���f��D
Y_�b-z
˚
{h
���D�W�����'�:-;q�
(�`��)~��Ha���֛�og��׮m(p�k�]X�<� F�uY��� 6'��Ɍ�)/R�8�Q<͓���
-����X�ʳ�b%�P,Nײ�lN��J��z�Q\�bF�i5�Z�02%n0�r�n����ۄ _�"��!�fV�N>}�V��YفoݨY��P��u:�k��L�+�
�v�c��Gm�]��L)S���+�ťa�㛉�i�@�(NE&�<[�른��J`�䠍���Kf�g�0���P�g�
���G�=j� ��T�P�\�Zs��q�,E�*2���J�AK]�����EX�Ŭ�W�DI.�����ut��G��_Z��zh��� ����*�zN_
�	�IhT�V=sΩ�!f�� d�9����<1Ϸ�*�
�mœE�o3S�8[V�􁑵^����&�Ծ���L���;�zRl����`%K�zm����8 
-�l�*���òfB�Ǡ7!�z�L��R���p
69ஸ\$q&x������!~$��BJ
�a/�L��CZ
-ۛ��Z�
8)���($&���
\�\G��&W�lo��y�����O�A���%���
&�N���Hu�{��a�.u7UDQ
$�o���c���;��8��1����%�^^�kc/�[ꀰ'��`@��u,�b W���0���U!ѧ���sQ���lB�~M�HD{zl�Ԛ�
e�, n��(;
Ȉ�dT���@��1�h0#eVŒ��	��zb��L��0�H�mB��:��@G	D-�i�ܨ����*��7
Ԙ� ���������	��9P �(<
��
/�R���qs�^ʘ!�ۋS��P�}DY�"�\
BMv��
í+=	���_�R�;/n�D�
��}:�疩���>P�%�%��[�}Qwō)�|}��+�2�".E��
���=U츌mK�v�r��\UZ	TQ�JѰW�Z�B���E�vq5 +Ң*G��z�~�b���C�ҔzP/��l� ��ݖ�J�r�i~���Osસ�e����j������%��
��Ev[|���V*��V����}&������V߫+�,��:�G�[>
(Wx�N[]$y��!��L�2��E�J���
- �ܱ�j;Ph7��,���P�Xs����n��~=}���
jM/�E��mw�)6�]�#���}�cHi�{T�*-��,
nN�^�'���6=�R�$v��`gz?3?@
`�
ϲز�s@�=�h��B�'�s��x2���;B����~UC��5�e��AD�˽�p�ټ|9��8�nk�=
^Ɓw��D;}��h���#NOh| Z���dzQ�
6��1؈8�nw�ڽC��b��.
u��*�w��>���h�H?9_�P����^\Խk��x,��E
-��ߺÂ�!��vvQ@q�
E3E
l�0�S�
z<� �s��

��u]xWC9�'�*��M^���Ǥ�v1.x"G ������Cրpp��8��6�j'�7ߤ� 1f`|VWo'��-R�EwR��o�g)��o)��*
�D�Ϛ��
-G��R�hO��uLjVp1V9u�%�jգ��Ζ_�{��Mڹ*�������
-%Ze�@qy�\&G=�
�&�^��E�8�)^�a�R�������
-endstream
-endobj
-4381 0 obj <<
-/Type /Page
-/Contents 4382 0 R
-/Resources 4380 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4305 0 R
-/Annots [ 4335 0 R 4336 0 R 4353 0 R 4354 0 R 4355 0 R 4356 0 R 4357 0 R 4358 0 R 4359 0 R 4360 0 R 4361 0 R 4362 0 R 4363 0 R 4364 0 R 4365 0 R 4366 0 R 4367 0 R 4368 0 R 4369 0 R 4370 0 R 4371 0 R 4372 0 R 4373 0 R 4374 0 R 4375 0 R 4376 0 R 4379 0 R ]
->> endobj
-4335 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 719.912 179.554 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-4336 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 719.912 250.666 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_fefca839fc7b4d2d166e7a1fe6196fd5) >>
->> endobj
-4353 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 681.058 182.044 691.962]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_ddf5f330215fb1878018673eff609704) >>
->> endobj
-4354 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.381 681.058 293.834 691.962]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4355 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 642.204 220.22 653.108]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_e4a4890ceb257496b788e0d31dbf6d7f) >>
->> endobj
-4356 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 603.723 155.265 614.253]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_3fe60e1a76b2a92143004e52ccfcb7c7) >>
->> endobj
-4357 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 564.495 158.044 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_0a4f8e3f3469f021594ea9311c21aadd) >>
->> endobj
-4358 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.382 564.495 235.513 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4359 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 526.014 158.044 536.545]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_067b4c27cf8643f8ded50ebda77da8aa) >>
->> endobj
-4360 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.382 526.014 228.888 536.545]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4361 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 475.828 158.044 486.732]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_37857f2dfb7b17609b671f9070be15ca) >>
->> endobj
-4362 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.382 475.828 269.834 486.732]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4363 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 436.973 199.947 447.877]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_99161b46c175aa485608154dbcc866cb) >>
->> endobj
-4364 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.763 436.973 288.215 447.877]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4365 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 398.119 161.013 409.023]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_0bf701759fc56f8fb215c273e53b46ae) >>
->> endobj
-4366 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 359.265 195.165 370.169]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1685b5eb65ba36a9e715a8e3344dbcd8) >>
->> endobj
-4367 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.069 344.644 225.739 354.549]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
->> endobj
-4368 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.148 333.685 227.817 343.59]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
->> endobj
-4369 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 309.825 187.563 320.355]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_5c85932f5fb67a78d1faf8165783d5d3) >>
->> endobj
-4370 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.482 294.831 271.151 304.736]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
->> endobj
-4371 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 270.971 150.493 281.501]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_562fa08178e809398402920e5e674ff8) >>
->> endobj
-4372 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 231.743 181.845 242.647]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_9e8a61b2b759dde8f65219688548ffaa) >>
->> endobj
-4373 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 192.889 181.845 203.793]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_2e45b62cb223f5a21ced82480712e64f) >>
->> endobj
-4374 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 154.034 154.727 164.938]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_d05bc9046303661aa532423ac5a5c16d) >>
->> endobj
-4375 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 115.554 176.505 126.084]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_ea6d543c90be52299d6ffc57fc9ba5d1) >>
->> endobj
-4376 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.408 100.559 450.955 110.465]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_2e45b62cb223f5a21ced82480712e64f) >>
->> endobj
-4379 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4383 0 obj <<
-/D [4381 0 R /XYZ 90 757.935 null]
->> endobj
-4384 0 obj <<
-/D [4381 0 R /XYZ 90 733.028 null]
->> endobj
-4385 0 obj <<
-/D [4381 0 R /XYZ 90 700.151 null]
->> endobj
-4386 0 obj <<
-/D [4381 0 R /XYZ 90 661.297 null]
->> endobj
-4387 0 obj <<
-/D [4381 0 R /XYZ 90 622.443 null]
->> endobj
-4388 0 obj <<
-/D [4381 0 R /XYZ 90 456.067 null]
->> endobj
-4389 0 obj <<
-/D [4381 0 R /XYZ 90 417.212 null]
->> endobj
-4390 0 obj <<
-/D [4381 0 R /XYZ 90 378.358 null]
->> endobj
-4391 0 obj <<
-/D [4381 0 R /XYZ 90 328.545 null]
->> endobj
-4392 0 obj <<
-/D [4381 0 R /XYZ 90 289.691 null]
->> endobj
-4393 0 obj <<
-/D [4381 0 R /XYZ 90 250.836 null]
->> endobj
-4394 0 obj <<
-/D [4381 0 R /XYZ 90 211.982 null]
->> endobj
-4395 0 obj <<
-/D [4381 0 R /XYZ 90 173.128 null]
->> endobj
-4396 0 obj <<
-/D [4381 0 R /XYZ 90 134.273 null]
->> endobj
-4380 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F99 2117 0 R /F65 376 0 R /F98 2120 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4428 0 obj <<
-/Length 1367      
-/Filter /FlateDecode
->>
-stream
-x��X[s�6~�_�S
-3Y���N^�L�iڴ��>9F�)���z��{���-�46������s��6װv9��v4�p,�G�c:��L��:Q�h��v��<cL0���A��ʔW���<Y>�d��}���t�>��eͳ�7�J�����VU���xiO���XB�N\l|��0��v�eD@/��F�"עZ���>c-��4�,��ͬT�M
��v3�{��M/=[)^��`ٖ��#B���O�IuV�>�\)v}9����Hy��ˠ��x �߿JB r��@����~)x��TM��)�?�"�Y%�vh��
��<0ʱ�Q��
����F��l��.3Łx��J�v(mhGq�>[��a>�Z�*�~
ú�yԭ�*N.|]#	�큲-�[�,��Ͳ���9�!��9���c����X���5�G�I\X�'߇kn�?
-^f?�󜲌����;�&����
@�{ ��l[�(UlMw�<��<;��N��fI,���^P�
���+��DP�zR���_Q�/��/$?�Ei�T����v:�X�צ�Ƒ���ES����zq���`�xΫ�!�Y��*
꟣*XZ�n�"����~���,�\��ȴ�d��eQ�Y,�27L�/��eER�Yu<�;�Q���D��QT
`���{��&C���[U�6���Ku0{@��B!?Nl�]#UF��:�ow�����M�R&���1��
�(dҧ8�o��dE�߶�WOYl7VHv�� #� $�D>�:m��TU��M�;�����jcۂ��P0�����>���*�]�Y(�E6�k�_n��&�#;=�j7���T��=U� c��w�����<Nku�i�06
i_�n�ʺ!S�
 ���|�2S�9�a�����K�& �G�o���@@�2�W�Bf�8{(Gb����~�[��\u��B,�_PWkW`�`��2�7�_�,�|:�
-JcŌ%���cW.�Z��ۓ\�Pt��WM��y���>�Q*
ڔ$9�w?��.�8
-.y�K&�r�g>
4���'X����gr�_1���|@�f/b
PUN�d;���=�=�`y�I]�
�y�z/��-���+6�l�k�)�\�S��^�J}dew��E��{��
=���9)���
#�N�J����ݓb����T���@@��
��� ���х�U��gN�G��ƾ�l�W��r�_�(jEGs����A����ؾ�u`+�
z3�ݼ:�w�������v�x�9�U�S�2���1��ꢹ}����O�����,���L��W)����
�#S"��	��
�vkٿZ7�}�D�J_��Zyǃ�t2Y,(�4�E�b1)�d��m֤ n/d��pH󲿔��p� �7� ���k΋
-endstream
-endobj
-4427 0 obj <<
-/Type /Page
-/Contents 4428 0 R
-/Resources 4426 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4305 0 R
-/Annots [ 4377 0 R 4378 0 R 4400 0 R 4401 0 R 4402 0 R 4403 0 R 4404 0 R 4405 0 R 4406 0 R 4407 0 R 4408 0 R 4409 0 R 4410 0 R 4411 0 R 4412 0 R 4413 0 R 4414 0 R 4415 0 R 4416 0 R 4417 0 R 4418 0 R 4419 0 R 4420 0 R 4421 0 R 4425 0 R ]
->> endobj
-4377 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 706.961 191.718 717.865]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-4378 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 706.961 288.852 717.865]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_77c72d8473dc3e9856d7ff6c05ce7b07) >>
->> endobj
-4400 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 668.107 191.718 679.01]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-4401 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 668.107 303.079 679.01]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a341843d5eadfc196441cad0af63ac9d) >>
->> endobj
-4402 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 629.252 179.554 640.156]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-4403 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 629.252 242.925 640.156]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_548ae200545f7d25b875f190b5611368) >>
->> endobj
-4404 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 590.398 179.554 601.302]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-4405 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 590.398 285.516 601.302]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_ec5860620ae92988c1740dc393064fe7) >>
->> endobj
-4406 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 551.544 156.281 562.448]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_dd39af06cea8afa45c772e94db8a1309) >>
->> endobj
-4407 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.097 551.544 244.549 562.448]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4408 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 512.689 252.988 523.593]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_7f5a110ccdfd8efa5e0eac984f90d753) >>
->> endobj
-4409 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.803 512.689 322.447 523.593]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-4410 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 420.968 203.075 431.872]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-4411 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 420.968 296.324 431.872]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_21f1586e66349acf7aa0d70c77f92b60) >>
->> endobj
-4412 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.005 406.347 352.207 416.252]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4413 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 382.487 194.297 393.018]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_6e742d7ffa4f4b7037760cf3ebf62348) >>
->> endobj
-4414 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 343.633 188.759 354.163]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_f97f2d43a487ec81e040aec36bbc6ebe) >>
->> endobj
-4415 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.953 304.405 245.406 315.309]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4416 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.145 304.405 325.654 315.309]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_11de7a0cc309058d6aee273d613c9432) >>
->> endobj
-4417 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.844 289.784 367.996 299.69]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_8aab82f7118966662582f88725ce4735) >>
->> endobj
-4418 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 223.643 237.376 234.546]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a83361b2264ca8ed30599dca32447874) >>
->> endobj
-4419 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.713 223.643 329.778 234.546]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-4420 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 115.601 226.034 126.505]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_339fab488002bb5b341e1bb82edee103) >>
->> endobj
-4421 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 115.601 405.628 126.505]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4425 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4429 0 obj <<
-/D [4427 0 R /XYZ 90 757.935 null]
->> endobj
-4430 0 obj <<
-/D [4427 0 R /XYZ 90 726.054 null]
->> endobj
-4431 0 obj <<
-/D [4427 0 R /XYZ 90 687.2 null]
->> endobj
-4432 0 obj <<
-/D [4427 0 R /XYZ 90 648.346 null]
->> endobj
-4433 0 obj <<
-/D [4427 0 R /XYZ 90 609.491 null]
->> endobj
-4434 0 obj <<
-/D [4427 0 R /XYZ 90 570.637 null]
->> endobj
-4435 0 obj <<
-/D [4427 0 R /XYZ 90 439.942 null]
->> endobj
-4436 0 obj <<
-/D [4427 0 R /XYZ 90 439.942 null]
->> endobj
-4437 0 obj <<
-/D [4427 0 R /XYZ 90 401.207 null]
->> endobj
-4438 0 obj <<
-/D [4427 0 R /XYZ 90 362.353 null]
->> endobj
-4439 0 obj <<
-/D [4427 0 R /XYZ 90 323.498 null]
->> endobj
-4440 0 obj <<
-/D [4427 0 R /XYZ 90 242.616 null]
->> endobj
-4441 0 obj <<
-/D [4427 0 R /XYZ 90 242.616 null]
->> endobj
-4442 0 obj <<
-/D [4427 0 R /XYZ 90 161.854 null]
->> endobj
-4426 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F99 2117 0 R /F65 376 0 R /F11 418 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4450 0 obj <<
-/Length 1936      
-/Filter /FlateDecode
->>
-stream
-x��XK���ϯ�%U
a�"	�+��+'vٻ��ʻ�-H�h�P�LR���/���
m.9�~~� �6��~����ݷ)�r��4�

�
GYJPBI�PDocB�X,	�8�qAp,��|���.�O�h���U#����Wu�i��Z��o�m���%Mp�U)��M_�G�,��
�aK��,~}��曇��oȅ#b�H2��$Zoo����ֿ�0b���jq�`,�77?�`�
��n��3e�!�&N�w�&���/z�L@�VG]�F�f�{m�H�E�
�UvS�3���_�o�x{^c��D����G���l����	��<Z�������Ӎ3?;�~d�'�w�f�Ӕ[�sD2gq�s��z�Sk-K��j

�d��S�E�,m�����Yy›�
$��8�_��D�ђ3Dv�tD|��:�KU���Z��F�:]WN�QX�hI9b<w|^�=� �G7�{��VP��d(�����Œ1׫�Ժ��G7vO�M�6�.z�1��>�G���tC�wx�@�[XIX��Bv�����N�j$-���*�Q��BTЁBM��K�E���R]���t�q��h���tj�J4��%�^譪Zpx���'����N�eY

�,~��bN��v��d�f�/,���p
V�!�0��$0)�;�i��>�$�~��� ��n���|�D��\e)��)����p~��]������|��OV x5���
 � �E��HB^?��0dU�qI��z9���i���.��~h�/Me(�0�@C!2f�/G�f��x�����	l��?@�Ә� .&=�E|�ь[Xʈ��o���"d�}\&�"�Q��}���0����2%s��"��*$

M��]]=�Χ��BVt6�6ʇ��E�0ֵ� [...]

�C!J�I�s�	 �9 MP�$�O��/�>;�󌝩l���'���t�oϪ��e��jd���aɤx��or����3,̌M
-��
�{�Cn�L@,9���K��p�
��ĬI��I�+aEPD1��q���s_8� `K��޹�~
-,
��4�Ӯ���"��$�:d_��Ů�5 �'՜��~&��K?�	���"���H�n \WS��fȏuQ|<;�u��3�'�+��*�,=+�,
%~�J6|KG��),Y3�8.ٖ˸d� 3�ó
�4_�Ap��>��D�`�R�'Q>*ѣ؃�}�D��	!͓i��X8[��X�1sv}�=�+�HabB���K��G�5���g�_߀����걳} ã+sm'
����rQ<m<��k�v�*Ã�!3]��#na0�j7n���=����0ۿ�g�A�
n
�A�<|�p韁�@;�5�;��t4&�Wl�x��)+��RnlT�huj
-�總0�
U)�z{�� �ˣ[��B�5/
A�����,U5'?�*��Fhh`#���!�2LshZ�8Tե�ݺ�P:� �$��K�=$��Fotes������V
���`
�VVʾ$��F�M

�}��QP�Io>Gn�B?�����Y�>`v��X�N�~W��zaݨ���3��w[�	��+�I:� ��R�)��f�����T�z\��O���U�����zBk`�@Ð�ɵ����)�}�gG��o��.�$������������Ss�Ģ�_�
��^��f����ZO�W���|������p@��+�k���v���
�\��2��1��l�or`�<�ՙ��1� �
-endstream
-endobj
-4449 0 obj <<
-/Type /Page
-/Contents 4450 0 R
-/Resources 4448 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4305 0 R
-/Annots [ 4422 0 R 4423 0 R 4424 0 R 4452 0 R 4445 0 R 4446 0 R 4447 0 R ]
->> endobj
-4422 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.839 719.912 170.205 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_5cd2538767045bd89360588c37d2aedb) >>
->> endobj
-4423 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.945 719.912 383.48 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4424 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.021 719.912 513.996 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4452 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 707.957 233.78 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4445 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.91 607.886 266.363 618.79]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4446 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [111.184 595.931 161.316 606.835]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4447 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4451 0 obj <<
-/D [4449 0 R /XYZ 90 757.935 null]
->> endobj
-4453 0 obj <<
-/D [4449 0 R /XYZ 90 670.637 null]
->> endobj
-4448 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F31 472 0 R /F7 505 0 R /F8 504 0 R /F11 418 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4458 0 obj <<
-/Length 2030      
-/Filter /FlateDecode
->>
-stream
-x��YYs�F~��S�]���
PU
�$���ʉ�O��#	� � �e��oρc���*y0jL����C
�G8�������`Q�RAEts�8�� NIt�G�bB�Zo�8~�&8Κ}�}��8�˧�7��?�m�5O�����}s��No�>��ޯ7����2k[�����͚���m	'1�t�����7�_W���vp�$��n�z�
G9��a�R=Z�}�P������e
>����
-�n�������������wǽ���+���
�64A,I��"���Z
 #"�s�3f�W�-Ί��� �)��}e�^�| ��T)HZ���B���&� �#^&�
��zWTeQ��7��e�+���;�'�m�D�%`�D����u��#��;��R�(�
4������8��m
X�
"t���@	EL
�j'"#�Rɔ
�`)����G�R�%|��|�����L]�NG�S]u&U|k�u,��4 ��Eu_���Vz<������{����GF	��n�j��8# ���x_CR�8���� �
Eo�$ճ�I�l� Y
-X�(U�}��ǝ>�h��o�=�,UHb�,qol����E�Np�!+�|�5���N�	�l���7M��<~�
�K��@Jr)��O������C�7׿
���ɽ�hB
��!��bƀ5�d¢�s�z�=��>V;K�/`c6����u��䳸��Z�t��	!��Qڼ�E
-N �T��/D�
�gH �"s�/2^b_|»�
~E�>�S+X���_0fK��x�
 s�T�?�P�c�`��R߹���<d�P.�
-��Oc(��<���5:k-����ޖ������0֚
r�}�u�s
j���'��ft��߹[
�W���D��(K�ݭWYq+���d��o:��y��>��!�ދ�Ԅ�L��Ƀ����2�}IF��'e[Ʊ��l�Q,��N��6O��;a�D
�siBș4��B��&�i*'��7
M��&<k�ê
&
U��M����Lʐ4n�����G�[���cY�g<��gk?Va���`��7�73��"$��LB|&�c��ƾ��t�I�(M��D_���G��
��~�K[���e�h%\
�f
���/a F�!
���b�YK\���Q�]� ���h	�,ϑR���n�I��>OJ��*'�o6U�Kn��>d'&�L�fk6�PX�$J�RR"BV�*
��Ī�@�1 c�	�8�	R�
���=��B�/e�%���
-��+,� ����X��^��f��v�U�vW��}�.� �Lb��z�"������"&�sHO!���{���v<�
ӹ����A�3����J��x�_]�v�??��
L
�o���_�j��frX�g]S|��;D]a��p#����� ͬMmOm!6�Eu�9aߋB�%!�y�V<w��J���5�V+�0�at�&3��t�L:�1<n
���m��0=mt��EtǾߜ$o����=�-�����c�J��^kq�K����X�Rڣ�_j��åF���5�L��q�K�op�[�΁ÑC_��
��:�[P���w-
����
/�dH�*��&����1S��P8�0G�0���Ϊ����Y�@���C�a	h�����\�֢w
�/��jp6&�;�Hm
.�F"�7hD������+We�l��xh p�$f�7Yo!Y�8�܌�<>�f)� KɈ�W�0�Eq1��
��i����e񙒳I01��
���w+l�ލ7�R����f!����8�b�W0'(&׻�����P�m1�&�
6�x�P������
����$��
i<@]f7�8}��S��4�eY��v�T����
��m���y���P(%�S��?V�iV�<E����o�)���}��^}�^�
����
�`��cV
������
�,�b�q}��w�y�������N��@؈�=�C�
���
ѮE �C����p(��U�
I�)�M����u3�����f��?,�G

-endstream
-endobj
-4457 0 obj <<
-/Type /Page
-/Contents 4458 0 R
-/Resources 4456 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4467 0 R
-/Annots [ 4455 0 R ]
->> endobj
-4455 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4459 0 obj <<
-/D [4457 0 R /XYZ 90 757.935 null]
->> endobj
-4460 0 obj <<
-/D [4457 0 R /XYZ 90 733.028 null]
->> endobj
-4352 0 obj <<
-/D [4457 0 R /XYZ 90 716.221 null]
->> endobj
-4461 0 obj <<
-/D [4457 0 R /XYZ 90 716.221 null]
->> endobj
-4462 0 obj <<
-/D [4457 0 R /XYZ 90 594.516 null]
->> endobj
-4397 0 obj <<
-/D [4457 0 R /XYZ 90 572.205 null]
->> endobj
-4463 0 obj <<
-/D [4457 0 R /XYZ 90 572.205 null]
->> endobj
-4398 0 obj <<
-/D [4457 0 R /XYZ 349.813 507.496 null]
->> endobj
-4464 0 obj <<
-/D [4457 0 R /XYZ 90 490.769 null]
->> endobj
-4399 0 obj <<
-/D [4457 0 R /XYZ 90 370.498 null]
->> endobj
-4465 0 obj <<
-/D [4457 0 R /XYZ 90 355.928 null]
->> endobj
-4443 0 obj <<
-/D [4457 0 R /XYZ 285.395 293.132 null]
->> endobj
-4466 0 obj <<
-/D [4457 0 R /XYZ 90 276.405 null]
->> endobj
-4456 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F11 418 0 R /F7 505 0 R /F8 504 0 R /F23 340 0 R /F1 542 0 R /F10 473 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4482 0 obj <<
-/Length 1441      
-/Filter /FlateDecode
->>
-stream
-x��X[o�F~�_A[)%�΅�a�VJ��j�(n�Ndav�Fea
l7�_��\X�x�&v��E�9g��;�;+;?�~8��OB��(i�_;1v�� N�s�t.\BP��c�z�I�N.O=��2���e�\��]UI�_,~,�U��E*/��u#׋EZus�5�J���|ʱ�c�Ե�}+�e��y>
D䒈y��_�~:��=#&v�
-�G(b�I׳���Y��WF,�N�Z;ep͝���3|t��!
�n�f�'U&��	�E��q�I#��ɶH��,���2ݮe�$�^} �}�u�\,ʺ��N֞���}�/�� v�'��&
B��2���^2�%( �]�s|�3�m�{�F!���~[OXgHD�.x�a!q���-��vF8A�v�IWS�CT�6C̚�!? 1
-u�V��zQi���/8�}���\-}�m6�F3فϹ�,�j���gB�' ��� 
-�i�0� ̮'�D	����
-F�w
g�P	s�z�콰�ۧ�p�47��e��(%�NG��j��<Ja
#��"��
�kciG��>�/W
��
3ړWv���jV�؍ߪ�(ww�C�&*M�m-7I��e�gX@��q��l��\ф��xF�Q��������i���%�������ER[�JdQ܇�@
�C-���+ߠB9
- �*��kQ��� #
v��'��%�X����ʱ��	���0��62͒<�w25��CN�z��m
�kw)�
 �
��

�+�(�A�W��m�kn2�D�C��)f��J�:t��\�O�5��Z�Y�ү�aLs�P
�v8��(`�G�J�
�|������&G77
UZT�k�0hV"z���ɶ� :�-JH6��2�BB��
R�_�;�
C�p�(=�۔�E�&ї��o([��C=Cju�o�"ͷK9Ѯ�jz>UQ��}ZvG"����9���}6�X�۫<K��^���ݺ�]�6Ƶ��	zBx���\V�̀��S؈���9�Šg��Qh6q
��w�*�P��Ky�l�c
�m��"��Ľe�����<̃1y�����u4
?�
-o*�E�2+ ����@P����������3<��mtI��
S>��#+eZ�:-�����Qы��VE���p[0���qhme
-�{⪵7�'ir�;.av�(B��h�l� ?r�a��H�h,K���(�^�Q��ix4
�YN�������
!
�a(�v���.�!�d���ƴ�_�e��JM¬{-���L?cWd�>}��|�!i'�f+R��U�q7�h`���$l<^��A�� 
!"��L�tCG0���b<F���9�*&�ͣ����������m���3���&���h��;/a���"�gp�8������ػ_gj�>�
���$n�f���w�
Jk�-�M��f���v��Y���;���JZ���Z��| ���:
-endstream
-endobj
-4481 0 obj <<
-/Type /Page
-/Contents 4482 0 R
-/Resources 4480 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4467 0 R
-/Annots [ 4468 0 R 4469 0 R 4470 0 R 4471 0 R 4472 0 R 4473 0 R 4474 0 R 4475 0 R 4476 0 R 4477 0 R 4479 0 R ]
->> endobj
-4468 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 386.817 170.687 397.347]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_e7c03963759dfdb937135a7f99165361) >>
->> endobj
-4469 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 347.589 170.687 358.493]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_12f3d0ee3885355092a65262f24d46af) >>
->> endobj
-4470 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 309.108 178.435 319.638]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_f0ea51d59b5026db43b2edd4cee928ba) >>
->> endobj
-4471 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.426 269.88 222.233 280.784]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_dca809f9ebacacf70bc610d41bbaff47) >>
->> endobj
-4472 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 231.026 187.564 241.93]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4473 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.303 231.026 238.472 241.93]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_e575efc6c01c4bf9968c7e27bb94951b) >>
->> endobj
-4474 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 192.172 187.564 203.075]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4475 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.534 192.172 245.665 203.075]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_400c02f876d8f4e3f6aef2bfc5fb16cb) >>
->> endobj
-4476 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.426 153.317 227.852 164.221]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_192ff11375b59075c9ea19a8c2b5511e) >>
->> endobj
-4477 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 114.463 217.61 125.367]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_70e56452f6edfc1943b555156e6bf828) >>
->> endobj
-4479 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4483 0 obj <<
-/D [4481 0 R /XYZ 90 757.935 null]
->> endobj
-4484 0 obj <<
-/D [4481 0 R /XYZ 90 733.028 null]
->> endobj
-4444 0 obj <<
-/D [4481 0 R /XYZ 90 716.221 null]
->> endobj
-4485 0 obj <<
-/D [4481 0 R /XYZ 90 716.221 null]
->> endobj
-4454 0 obj <<
-/D [4481 0 R /XYZ 118.055 639.557 null]
->> endobj
-4486 0 obj <<
-/D [4481 0 R /XYZ 90 622.83 null]
->> endobj
-1476 0 obj <<
-/D [4481 0 R /XYZ 90 524.437 null]
->> endobj
-170 0 obj <<
-/D [4481 0 R /XYZ 90 517.837 null]
->> endobj
-4487 0 obj <<
-/D [4481 0 R /XYZ 90 405.417 null]
->> endobj
-4488 0 obj <<
-/D [4481 0 R /XYZ 90 405.417 null]
->> endobj
-4489 0 obj <<
-/D [4481 0 R /XYZ 90 366.682 null]
->> endobj
-4490 0 obj <<
-/D [4481 0 R /XYZ 90 327.828 null]
->> endobj
-4491 0 obj <<
-/D [4481 0 R /XYZ 90 288.973 null]
->> endobj
-4492 0 obj <<
-/D [4481 0 R /XYZ 90 250.119 null]
->> endobj
-4493 0 obj <<
-/D [4481 0 R /XYZ 90 211.265 null]
->> endobj
-4494 0 obj <<
-/D [4481 0 R /XYZ 90 172.411 null]
->> endobj
-4495 0 obj <<
-/D [4481 0 R /XYZ 90 133.556 null]
->> endobj
-4480 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4514 0 obj <<
-/Length 1520      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~��P1��֚&)R��
Х͐��4q��0���ɒ+�ˌa�}�")K����0`/�P�~>�s(l--l�<�i:��x��У�5]X!�|� N�5�[�mB�Θ`��3�`;*���̡����J̋h�2�,�bwtt�geUDIV9cʱ}�Fe�
��B	l��习�&>s>N_��OG�F,��-�>�]n�����ؚ��

#7
���jm1��=�.FoGX{��^q��`17�|�"�q��Jy���Y��
ܼ��T�K{��6켦���QDU^<y��_?`�c	�y�8K*Ţ����w���ħV NxL:A)��Ƅ��1�ù��EVJvH$oQ�!VtU���+�E�C�,�EQ6Wy���|��ð��|@|5���;�pИ�J�[͐��!
yaC���#��FHḾ-��s�UI
�h0��xw at 3&��0�1��
4���4s0�,[r1��
����1	)b���E�������2�LTQ�
-
�g���dS%y���`�rY��<�td;��
��?�E�H��]Y��&Z4�YB^�
-��CR�QЦ>��,�}`��,) Y�}[JY��U�V6����Z(D4+���(�4���l�+�hֆ7��L)���)���7Wj-_��t
r�uK8nt�.T��]
�s�Q�r�3{�g�ޤ���mN�q(��7d��(\�i�;��WI�4�돛Z�n���%��v
��
��H�io#
�I���� V�@6;����aυ>&u�h�`�����U�A�ʵ��W��TO�mY������Z�� 
�{�
�k$�$�&��_y%i���ѥX&�Q�V㺈�L��Yʙ�u��
k{���$����ARW~�E���Gq���z�XY 
-����%?��j����������@f�~�� t��~��<ޮ�<Fu	Ӡ-
�
�x?
-^�c�~Y�LF�T�E��{�
����"�"jē�����x�M�V+�sW!�SU���i|�6C���^q�P�"
P�i�I��	3�u���ۿ�"�]���v�m�}����Væ�>
��9X�	ڑ��q9
-�f��qU����2���l%���3�/T���e
�ٹG�s��K	��g��4����3{����l`��m'�mׇ���`�rh��0��y�
��/O���[����߼����
Og���R�]�������"5�MU�n�m&sC�dg"k��X_���d�Ų�}=&��UO3��A�`
����%�SO��$�mfR�ٍU
��l����SFѡ��7� C����
w"T�n�0�>�C�;�Xs�����x9pr!�?��3�A 3���ɘ����
-`	�9�x�+�fr{���0:	�s�������h�������

e@�5�!�_����_MS�����w�(�w8�5v^E��iB��we3d�Q
#*#���
u�B`+�~���/j���
�
rqs�]U��h2���Bq��Y�)PRM��O�������i��u^��.,�������?qI

-endstream
-endobj
-4513 0 obj <<
-/Type /Page
-/Contents 4514 0 R
-/Resources 4512 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4467 0 R
-/Annots [ 4478 0 R 4496 0 R 4497 0 R 4498 0 R 4499 0 R 4500 0 R 4501 0 R 4502 0 R 4503 0 R 4504 0 R 4505 0 R 4506 0 R 4507 0 R 4511 0 R ]
->> endobj
-4478 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 719.912 180.54 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_97586e332fd16ccf6e7d642bb4bbf83e) >>
->> endobj
-4496 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 681.058 178.239 691.962]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_0ac88c873a13c4afa6f99d3d436e13a3) >>
->> endobj
-4497 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [101.128 580.987 157.904 591.891]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
->> endobj
-4498 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 569.032 173.456 579.936]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4499 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 273.781 160.207 284.685]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_c9b8aa34a8ed8e2c3c38d0435adff6ab) >>
->> endobj
-4500 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.977 273.781 219.823 284.685]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_c9b8aa34a8ed8e2c3c38d0435adff6abb5b32713c840499d9e29facf95a17f41) >>
->> endobj
-4501 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.812 273.781 346.049 284.685]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_c9b8aa34a8ed8e2c3c38d0435adff6abc1539389d3643cf986ef5bb99697d1cc) >>
->> endobj
-4502 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.038 273.781 450.696 284.685]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_c9b8aa34a8ed8e2c3c38d0435adff6ab7491a8ba26958c3e27bed23b7eef1a7e) >>
->> endobj
-4503 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 193.392 157.417 203.922]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_36a0c8ccab7923610bd27f637af63e1d) >>
->> endobj
-4504 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [184.754 193.392 228.26 203.922]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4505 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 154.164 157.417 165.068]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_8fb8b2fe343e5afa80edc06bfa31460b) >>
->> endobj
-4506 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [184.754 154.164 234.885 165.068]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4507 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 115.683 165.165 126.213]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_c7bf9d127644aa14a09eab633e87f544) >>
->> endobj
-4511 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4515 0 obj <<
-/D [4513 0 R /XYZ 90 757.935 null]
->> endobj
-4516 0 obj <<
-/D [4513 0 R /XYZ 90 733.028 null]
->> endobj
-4517 0 obj <<
-/D [4513 0 R /XYZ 90 700.151 null]
->> endobj
-4518 0 obj <<
-/D [4513 0 R /XYZ 90 643.738 null]
->> endobj
-1477 0 obj <<
-/D [4513 0 R /XYZ 90 415.451 null]
->> endobj
-174 0 obj <<
-/D [4513 0 R /XYZ 90 408.851 null]
->> endobj
-4519 0 obj <<
-/D [4513 0 R /XYZ 90 290.852 null]
->> endobj
-4520 0 obj <<
-/D [4513 0 R /XYZ 90 211.992 null]
->> endobj
-4521 0 obj <<
-/D [4513 0 R /XYZ 90 211.992 null]
->> endobj
-4522 0 obj <<
-/D [4513 0 R /XYZ 90 134.403 null]
->> endobj
-4512 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2117 0 R /F11 418 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4555 0 obj <<
-/Length 1392      
-/Filter /FlateDecode
->>
-stream
-x��Z]s�6}�W�ikf��,����6���m;�&�}��0�DSc����__ɲ0C !�3�0F��stu�l�
�|h��ku�؉A
x��:1t� �!�7pn]� ����Wm]*ƴ������{6���T,...�L��hw<�˔Ji.�ِ�6�\�%L���,.
-I�K�S�^�k
)���J
HBL�dܺ�����Ɂ Ǒ3/[�
���;unZ�`�
\����
��#'�0�1�}�<3}�_�/F�!�Z�m�(�W�Zm��ծ��n6t��&h�����~�&z��c<b@��A������s"�C�k
<��t�"�

��l�,i��6"����rA���
kHw�
-��;�WvH�g�b1a�����	MX�s�%D�U�F�S�U�.�g77���D�Y�k.�ZHsɳ����>�W&GQ� Tv
!Ħ��o���l��K�f�
��Ql
�&����#��M��O�^9���2t��X2؁� 93;� ���T\��y�;�p�g_�4���D4<D
C���BLYdX�
d�j��lP��
sś��C�Up
��͐֌jm[($v(˞�
��X��K��?<���5�hHW��n���n�{Y�u�}
�3����%��^(c^�r�lr��v�
%N�?�n�����ٰ��p���uaQȋ�҂�ЅZY��H�9�6ul
����.���.mL�f/��)TAZ{���1#�Gز:k�=�WӞ5H,

-Ϟ0� Ƨ�	���q>b˧�_01>K�o���#�a̩�h�vd�^
���q��=���[�'�ac6�Ţ/�쀺��
����<��-
-&OI^4�|n�|j�y�o0\�[�Y娥��X��\��?�d:�l`{5��
b"��
���H�ӛӿj�d�Ӆ�kQ?��1�h

vѭ�a`D�~
�`
/�/���|���&��M�*4KI-ꚏ�r̀�KF���ŠY;ݐ >�<�1�6��bGv���?*�5�Ɛ��[Ն�]��g���ez����ūζ���8" ��m�U,T�q���%���6�O
�� �d/���NJ|�[+T&����䅣�߂/�	��MѨ��rK��@GL��	AP3f�|ws��4�O̗T��b�iRC5��?�=-Qa��'�D9Wzd�*���3�eQyG�9:��A�k��<O����;��
����
-�cT�k��Q2k�>{G�i�Pxm4EbP�E�7
*�U�1�x��۷
*�p��
b�@uS���>�}�B?��Q�V	����lMvUn*b\��W���z����S2�C��Z���lj
~-��
���!���!�L���e��0[���q�կ���^� �%��E1��v��9H$�f|" /��I�]�m�k� ���'=�
]����
�����^
-endstream
-endobj
-4554 0 obj <<
-/Type /Page
-/Contents 4555 0 R
-/Resources 4553 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4467 0 R
-/Annots [ 4508 0 R 4509 0 R 4510 0 R 4528 0 R 4529 0 R 4530 0 R 4531 0 R 4532 0 R 4533 0 R 4534 0 R 4535 0 R 4536 0 R 4537 0 R 4538 0 R 4539 0 R 4540 0 R 4541 0 R 4542 0 R 4543 0 R 4544 0 R 4545 0 R 4546 0 R 4547 0 R 4548 0 R 4549 0 R 4552 0 R ]
->> endobj
-4508 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 719.912 157.417 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4509 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [168.156 719.912 208.963 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_9dc926136daee1f47975434ee45298ec) >>
->> endobj
-4510 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.3 719.912 279.806 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4528 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 681.239 179.554 692.143]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-4529 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 681.239 250.666 692.143]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_3c1dcd74ba0b2509f45aad45a5d922ce) >>
->> endobj
-4530 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 642.566 135.579 653.47]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_c9b8aa34a8ed8e2c3c38d0435adff6ab) >>
->> endobj
-4531 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.077 642.566 155.225 653.47]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_239b0622fbcfe1638b4246deab2caa29) >>
->> endobj
-4532 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 603.893 179.832 614.797]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_745ac1cdddf74c6f387cfbbbc566dc78) >>
->> endobj
-4533 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 565.22 187.583 576.124]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_b6976f576e6e50941ee7a7b1a737c0eb) >>
->> endobj
-4534 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 526.546 227.433 537.45]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_b3186208850238a080373f035cd532cc) >>
->> endobj
-4535 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 487.873 212.489 498.777]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_442aecbe0ce384a7c1add146fb125ed6) >>
->> endobj
-4536 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.933 449.574 297.728 460.104]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_2679da4dbd5b8c33ef607aee49690c2a) >>
->> endobj
-4537 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.544 449.574 336.732 460.104]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-4538 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.933 410.527 342.261 421.431]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_9960963fb1f8fb56631e0402557065ae) >>
->> endobj
-4539 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 371.854 191.718 382.758]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-4540 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 371.854 288.852 382.758]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_78c24741e21a4406ea8ad1588c768147) >>
->> endobj
-4541 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 333.181 191.718 344.085]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-4542 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 333.181 303.079 344.085]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_0ab383f3930179982937f7733a283a03) >>
->> endobj
-4543 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 294.508 194.776 305.411]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_29202eb817eb5c9d59433abeeb4f2eea) >>
->> endobj
-4544 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 256.208 195.334 266.738]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ea0fedb82a525e6ada13cd7fd2d03225) >>
->> endobj
-4545 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 217.161 201.471 228.065]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_f8fcee7f8582b0afc9115eb1304c24f9) >>
->> endobj
-4546 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.808 217.161 272.314 228.065]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4547 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 178.488 181.845 189.392]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_b0f18894c8f97fa0cd38736462f36132) >>
->> endobj
-4548 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 139.815 181.845 150.719]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_7bdaff085ea6859cdec9b27bffb6de4b) >>
->> endobj
-4549 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 101.142 154.727 112.046]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_93d5d6abf06ec551294c4c18abb4349d) >>
->> endobj
-4552 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4556 0 obj <<
-/D [4554 0 R /XYZ 90 757.935 null]
->> endobj
-4557 0 obj <<
-/D [4554 0 R /XYZ 90 733.028 null]
->> endobj
-4558 0 obj <<
-/D [4554 0 R /XYZ 90 700.242 null]
->> endobj
-4559 0 obj <<
-/D [4554 0 R /XYZ 90 661.569 null]
->> endobj
-4560 0 obj <<
-/D [4554 0 R /XYZ 90 622.896 null]
->> endobj
-4561 0 obj <<
-/D [4554 0 R /XYZ 90 584.222 null]
->> endobj
-4562 0 obj <<
-/D [4554 0 R /XYZ 90 545.549 null]
->> endobj
-4563 0 obj <<
-/D [4554 0 R /XYZ 90 506.876 null]
->> endobj
-4564 0 obj <<
-/D [4554 0 R /XYZ 90 429.53 null]
->> endobj
-4565 0 obj <<
-/D [4554 0 R /XYZ 90 390.857 null]
->> endobj
-4566 0 obj <<
-/D [4554 0 R /XYZ 90 352.183 null]
->> endobj
-4567 0 obj <<
-/D [4554 0 R /XYZ 90 197.491 null]
->> endobj
-4568 0 obj <<
-/D [4554 0 R /XYZ 90 158.818 null]
->> endobj
-4569 0 obj <<
-/D [4554 0 R /XYZ 90 120.144 null]
->> endobj
-4553 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F99 2117 0 R /F65 376 0 R /F98 2120 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4614 0 obj <<
-/Length 1500      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�6~���S&1CR�.R`
��m�eM���0�n��6I����
J�d;��\�n}%���|�΅$־hX�}������65y6����aͱ	b�hׁ�Q'l�	�X�4�y
��A��F�[�|z��<_M&giR�9��S����E�� f"7���� τYt����뷣�ףF4��4`rL�����g�������ڲ�k5�iW�?GXY3�dx�J�md�����jS?Q�*u�q��1�o�4Rߥ~��自�4�~N������O��
&��<�9*�;���<O�
����mIe)E�E�1��g)]/`.�,�8�
��i,E�b������%q��u�
ـ3m;����ٛ7�I��0
]d��I��0Uݤ]\)��Js_�����@r�Y0����&��QN%ȗ���U�~�$�U-D�,�5
MXj�:���06��B6v�>�m؇�ش)�0����c����J� L�D+�1
c�Hʗ�<)zfs
D��L��E�t�D�#M�pVӦ���(��<:�3�E�nm����-Z�iy+�e=�T���
17�hL1F�àa"�<Ջ�x7�=j���.
�4g�—�뫊I
�<�� ��$����C���7����� 
S<2�W��=�-�(�a+�UXΆ�
���랱G����%��ܑ2D�u��
��
A�Av;٪G
-Cf;�u#?�	a�v\m,�+3��2.�55.�7Q�~/�H{U�|��2x�l'�:/U4Kvң�'�I� �ER���r��-���۴ȸ/��蝎�H�4�q��`�0��
Yial��q��5�e@b�ϕ�[H �cbߺ#�P�t��t��eȣ�8�oZ�����`;\@{82�&�\-ar(�Gb=����`��=���S���Y�(TM��X^7�͓69�H}��A��H
o�r��[)~�w!�8�A�u����N���S��uҗ*`?���0?��&Av������x�A����AW�*T�9�
�u�y�h���ZO�
1
�d�T��YT�B��ʯH���$]6�E�@��B�A�l�o��fhg��>� �U��U�Ő�6�F��P$��k�^bI�r��i&r^������p��0<����尹(8�9�۹��H����#�FQ��v���*1�mq{�'�.
-�'�f��
1m�����^�A�[��
B�.�i2��
_���D�_���8���9�|1A��T�d����A��J��b2�����D�>͔ݓIz��l�?G�G�{}�b�l
^�"]�g�6?�"ɓ)"H��bHm0���eP+�F�j
����z0�����QǺ+v<w0���(����Pw��@�Bn;��a����:
/���Cy�}
j�0��{
��r��s 
�w��C�m��/+����"�PѤ�ͭ_�*D����R���ɜG�!�B�y���,�VX݂]���e_���nT���+v���,����r�D~��I��(,O�,:���]�lqZ!�T
��i�^��Ǹ�ȼ���
Dl�
-endstream
-endobj
-4613 0 obj <<
-/Type /Page
-/Contents 4614 0 R
-/Resources 4612 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4467 0 R
-/Annots [ 4550 0 R 4551 0 R 4574 0 R 4575 0 R 4576 0 R 4577 0 R 4578 0 R 4579 0 R 4580 0 R 4581 0 R 4582 0 R 4583 0 R 4584 0 R 4585 0 R 4586 0 R 4587 0 R 4588 0 R 4589 0 R 4590 0 R 4591 0 R 4592 0 R 4593 0 R 4594 0 R 4595 0 R 4596 0 R 4597 0 R 4598 0 R 4599 0 R 4600 0 R 4601 0 R 4602 0 R 4603 0 R 4604 0 R 4605 0 R 4606 0 R 4607 0 R 4611 0 R ]
->> endobj
-4550 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 707.334 176.505 717.865]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_0d50a5df6b31c6de90fe366e18e750ff) >>
->> endobj
-4551 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.408 692.34 450.955 702.245]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_7bdaff085ea6859cdec9b27bffb6de4b) >>
->> endobj
-4574 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 657.521 150.493 668.052]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_6742bd7f3f2cb079b96900dda0147940) >>
->> endobj
-4575 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 618.293 156.281 629.197]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_fa6ba487c08199e83a970fc49b53d3d0) >>
->> endobj
-4576 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.097 618.293 203.603 629.197]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4577 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 537.531 203.075 548.435]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-4578 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 537.531 296.324 548.435]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_09c8fc0753a389cc42f84c12f7920832) >>
->> endobj
-4579 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.005 522.91 317.229 532.815]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4580 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 499.05 194.297 509.58]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_0ab38d6ea061e7c2cb1595ba9cf2fd42) >>
->> endobj
-4581 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 460.196 188.759 470.726]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_af207e746f4a3dc2722e254612dab3b3) >>
->> endobj
-4582 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.953 421.342 204.459 431.872]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4583 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.199 421.342 278.511 431.872]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_2935fff040a5b31930fff594a0b2596d) >>
->> endobj
-4584 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.953 382.114 204.459 393.018]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4585 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.199 382.114 297.2 393.018]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_bbde4b86cfca3e29a917650f4c9c62d5) >>
->> endobj
-4586 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 301.351 157.417 312.255]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4587 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 301.351 204.34 312.255]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_dba3d929f4317a38ad387c5b45a91199) >>
->> endobj
-4588 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.677 301.351 308.927 312.255]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4589 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.083 301.351 432.333 312.255]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4590 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 262.497 157.417 273.401]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4591 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 262.497 204.34 273.401]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_047a99eb91872d19730f4fd14a81f55c) >>
->> endobj
-4592 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.156 262.497 243.343 273.401]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-4593 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.785 262.497 293.973 273.401]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-4594 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 223.643 157.417 234.546]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4595 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 223.643 204.34 234.546]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_f2eb5d22ef23937a261cfe3f6bc435e6) >>
->> endobj
-4596 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.677 223.643 308.927 234.546]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4597 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 184.788 157.417 195.692]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4598 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 184.788 204.34 195.692]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_448b4387171ec166085eb46aacedaad9) >>
->> endobj
-4599 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.663 184.788 458.912 195.692]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4600 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 145.934 157.417 156.838]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4601 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 145.934 206.47 156.838]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_61bc4f536e4c04b9594e1b6c7e13d76e) >>
->> endobj
-4602 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.807 145.934 311.057 156.838]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4603 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.213 145.934 434.463 156.838]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4604 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 107.08 157.417 117.984]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4605 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 107.08 206.47 117.984]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_600a652347fb8718e0bc05f7230b8d8a) >>
->> endobj
-4606 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.286 107.08 245.473 117.984]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-4607 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.915 107.08 296.103 117.984]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-4611 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4615 0 obj <<
-/D [4613 0 R /XYZ 90 757.935 null]
->> endobj
-4616 0 obj <<
-/D [4613 0 R /XYZ 90 726.054 null]
->> endobj
-4617 0 obj <<
-/D [4613 0 R /XYZ 90 676.241 null]
->> endobj
-4618 0 obj <<
-/D [4613 0 R /XYZ 90 637.387 null]
->> endobj
-4619 0 obj <<
-/D [4613 0 R /XYZ 90 556.505 null]
->> endobj
-4620 0 obj <<
-/D [4613 0 R /XYZ 90 556.505 null]
->> endobj
-4621 0 obj <<
-/D [4613 0 R /XYZ 90 517.77 null]
->> endobj
-4622 0 obj <<
-/D [4613 0 R /XYZ 90 478.916 null]
->> endobj
-4623 0 obj <<
-/D [4613 0 R /XYZ 90 440.061 null]
->> endobj
-4624 0 obj <<
-/D [4613 0 R /XYZ 90 401.207 null]
->> endobj
-4625 0 obj <<
-/D [4613 0 R /XYZ 90 320.325 null]
->> endobj
-4612 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2117 0 R /F97 2175 0 R /F11 418 0 R /F98 2120 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4686 0 obj <<
-/Length 1100      
-/Filter /FlateDecode
->>
-stream
-x��[s�8���+�/��L:�e�҇�4�i�;ٔݗ��8D4�56�
	�~�+��BX�
O6F
�˧s���zg��7�C
�
��y	0�������@�B�K
�髱?��(1�p~'o�?��(_�����Q�*?�R�C91߄~��Wr$��)�����!�/���۾�� �A�k����ظ�BЭ~�
�<���ȦL_C���� �5�����,Y	��6s� ����ϔ�\���3}��R��w��p�%;��ό�'R�i����
�%M\�
���s^#Vtծ��j��ʄ��τ�a�R��->������D�$	�I֯�U�X�,ʵpB����Afq����S
T�"���H+k�(��
A���q�̜� X�:`c�.]%ө�JTһRf>������5�|I�
�%��d1BC�!�Caͻ+�

��7́�gW�	
�Z n���+�Ջ�b�P��/ �e��R�����!�6 at H�A(v�P
��P�kA*��J[�&�Q`�X����
"t���ILm�
-�e��w*��/�t��T���`o/ؽVlږ�-V�MZ��Ok��"�0u����
B<l��J0��E+����F>�, 0}�7�l�b�A�.]�%� �������:d>;x;w����_�u��w�n�:�u�ys��:�Cq=�+y �Z��N��16I���
��䳣s�r�d�u�ycu*�;od�L��@�wj��Ӕ��-
�T��]L�a�=�4�[͡���-b�g���5~Z;))��
-j\~9�����Q5~!�K�,�r̽M/�K�o�8�>(��O��ݰ�*�
v�v�����R�
]�y}�#�S��iS:�������cT�GἸ�_=��إ���sK/}�rY�o�`懲:���
����Չe��4�i�=oK��ø�r­����h'��m��
%.�VV��zeѶ
���K����
]��&9�:��,�a^�~�
\捀�����Uv)����߉T�Y��%�����څ�L�Ty3�?ԫH7T�i��0 �'Y�_X�/��>9�
}����ɸK��Y�{��	�F�D� �N&a�qC�$E�wQ
�e�
�Uq"�p�g�
���?�	G�
-endstream
-endobj
-4685 0 obj <<
-/Type /Page
-/Contents 4686 0 R
-/Resources 4684 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4467 0 R
-/Annots [ 4608 0 R 4609 0 R 4610 0 R 4632 0 R 4633 0 R 4634 0 R 4635 0 R 4636 0 R 4637 0 R 4638 0 R 4639 0 R 4640 0 R 4641 0 R 4642 0 R 4643 0 R 4644 0 R 4645 0 R 4646 0 R 4647 0 R 4648 0 R 4649 0 R 4650 0 R 4651 0 R 4652 0 R 4653 0 R 4654 0 R 4655 0 R 4656 0 R 4657 0 R 4658 0 R 4659 0 R 4660 0 R 4661 0 R 4662 0 R 4663 0 R 4664 0 R 4665 0 R 4666 0 R 4667 0 R 4668 0 R 4669 0 R 4670 0 R 4671 0 R 4672 0 R 4673 0 R 4674 0 R 4675 0 R 4676 0 R 4677 0 R 4678 0 R 4683 0 R ]
->> endobj
-4608 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 706.961 157.417 717.865]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4609 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 706.961 206.47 717.865]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_e3cacddb2450b8b685b8f39936a2b69d) >>
->> endobj
-4610 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.807 706.961 311.057 717.865]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4632 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 668.107 157.417 679.01]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4633 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 668.107 206.47 679.01]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_e615df068adfbb40a0b0b7a993579d22) >>
->> endobj
-4634 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.793 668.107 461.042 679.01]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4635 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 629.252 157.417 640.156]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4636 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 629.252 206.47 640.156]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_f06b2331eb3d080794682080b7f7eb1d) >>
->> endobj
-4637 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.807 629.252 311.057 640.156]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4638 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.213 629.252 434.463 640.156]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4639 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 590.398 157.417 601.302]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4640 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 590.398 206.47 601.302]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_423e3bb0d9886c630c3c227def9f2073) >>
->> endobj
-4641 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.807 590.398 311.057 601.302]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4642 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 551.544 157.417 562.448]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4643 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 551.544 206.47 562.448]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_bdd61469bc5c6dfc6e97f306a751035c) >>
->> endobj
-4644 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.793 551.544 461.042 562.448]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4645 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 512.689 157.417 523.593]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4646 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 512.689 200.851 523.593]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_cc5c5125e7237c5913981b99a502f332) >>
->> endobj
-4647 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.188 512.689 305.438 523.593]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4648 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.594 512.689 428.844 523.593]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4649 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 473.835 157.417 484.739]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4650 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 473.835 200.851 484.739]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_61208276a246a505bd753ffbb568bfe7) >>
->> endobj
-4651 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.667 473.835 239.854 484.739]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-4652 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.297 473.835 290.484 484.739]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-4653 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 434.981 157.417 445.885]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4654 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 434.981 200.851 445.885]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_f245f065572b31c8ca97e196e45f9cf9) >>
->> endobj
-4655 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.188 434.981 305.438 445.885]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4656 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 396.126 157.417 407.03]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4657 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 396.126 200.851 407.03]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_89943bdfa5424bf7acecc51a7b6949c8) >>
->> endobj
-4658 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.174 396.126 455.423 407.03]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4659 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 357.272 157.417 368.176]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4660 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 357.272 200.851 368.176]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_852f422dfdf14a1e8a97b4dad77f7e36) >>
->> endobj
-4661 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.188 357.272 305.438 368.176]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4662 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.594 357.272 428.844 368.176]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4663 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 318.418 157.417 329.322]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4664 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 318.418 200.851 329.322]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_3c920e734593812d8529bc12be6f503e) >>
->> endobj
-4665 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.188 318.418 305.438 329.322]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4666 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 279.564 157.417 290.468]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4667 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 279.564 200.851 290.468]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_54742578f3ff98e32e7e15d6b554f13f) >>
->> endobj
-4668 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.174 279.564 455.423 290.468]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4669 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 171.522 180.54 182.426]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_340e8b886fb185bed798dcbc1391c126) >>
->> endobj
-4670 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 171.522 251.383 182.426]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4671 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.116 171.522 336.623 182.426]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4672 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 132.668 178.239 143.572]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_e86d21a6490f299af6229d70cf20c3ba) >>
->> endobj
-4673 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.576 132.668 249.082 143.572]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4674 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [290.815 132.668 334.321 143.572]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4675 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 93.814 157.417 104.718]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4676 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 93.814 206.47 104.718]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_2fb9117b8937e3d9a9b4d3ae397bb79a) >>
->> endobj
-4677 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.286 93.814 245.473 104.718]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-4678 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.915 93.814 296.103 104.718]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-4683 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4687 0 obj <<
-/D [4685 0 R /XYZ 90 757.935 null]
->> endobj
-4688 0 obj <<
-/D [4685 0 R /XYZ 90 217.775 null]
->> endobj
-4684 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F72 471 0 R /F65 376 0 R /F98 2120 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4715 0 obj <<
-/Length 2358      
-/Filter /FlateDecode
->>
-stream
-x��ZKs����W�!cs4O�@k�*�>�MRqle/��
"!		� (����y �Cr6�
r"6�{����z@
�E8������?�,JP�8���
ɘ AIt����A�c<{3'x�V���9ųr��������*��WW�ˢn�4/���
-<{�N��^��n�jN�,+��c`eF���r������/x�#b<I&�����/8Z���"�X��#��8e��]���Ռ?��$��.�zu�&�HR�p,�
-�fͮ*��ͧ�^,�R�D��r�K��T)���V�=�"�g
�`Ҋ��$"q��e�
-�	�Ѐ
-��I+�L<�����\/g(m
��b�U�R1Ң�Rݹ����"z��/�g�uL�mV�MY�U⹢��H��y

�]H>`������sB 6Oo��@���<?��8���
$�Q��!�:�H��|%	�89���+��$��!����t�|u"T���~�Y��

ޘH��u�g����N�7��0����:\&���T Q�bN��y�͖y�οdu ÜB��m�fuuU?��ts�8��.P#\M˵q��xd�Ƃ���x�i
�1�0~�mH����W��^�����jM��m!���ĦUZ���k�;�������f�䴠��ύ�O����z��l�
6�o��eI
��+�4b[
f���a�&�0.D
��.k�|�����zY��&/
�A1��#Ɲ{��Ϭ�"K+{�}�A�h��gw�����k]Dwp�td�vɷ�m�н�jr�f9謮�"$F��.#���HN��z�
B�`	��\�8$�({�p�D�)�
-{6E
g�\�	��8J���k��H�`kEH��B'^@�B1�Nn��C=��Q�ġ���,A��X0Q�%E<�c]
1X�'�T��Uʏ7������+�.��P�D���//�T3
�"�N�o�n�L��R�;�$
��, ܼ�~_2hL�7�Iؒ���l�-y[�<����:��x�䯆���eǰ�[8
�n�dB��d)��m�#�i�.��N&p2�C���k�1���I����
>ӷ^�%��g�	��;5�	#�����fO���Ѳ�H�T��zGf��=�)2[囬�5�0�5�~��z�.���e��I]c�D���~�!p�L3�; d�e��Ω����<ӇS����7o��-�IW�O�Qc��PZ�B� AɨO
�(��:��
,�)�)�D�8.>���.+�r�
>d��H���b��آL:����3���P��=���㬩�q����B�hHD=eԞ�:W��h��|��ך��qg������v���ŝ�fe�l��dn���Q�77���-=Y1ۦye�
�;
��k��m�պ*ji1po�
��u�,C��,h'��:j�Ů.<���s3��������˗!Jd
�3yn�PGmt<�-�%�D/n�y��t���<�Ǟ�1�ᬣ+��J$y2:�
<�-���k���XP���I\��KG���u��[~f)
�5>��}���B�5��x�QG�|�
>,f�f c�m�������A2|��c��3a1�T��fa�O-�n7��M��ov��5��C�ݣ�yp���ڶ*��A��3f��~�-��-đ)[㈶
���hR�-��RW�m
zT4u�n��nm�S)
���U������ ���{Z�x�
�t�m���>X3�?>�P5l1���ʗ�J*+&
-��Wǎ:@4��ؓ(�'p\ȯސ\~n7�E
\�Q��H���	��C����٠�/Z�v�Gw8�(TrsX��:��{�	�h2e�J���>�e��F��=��f����#t
���@WP���l����IJg"L��G`
MR\ćS�qF�%�bj꤯��1�����w�n;�Fs��
�B��
��N`�Y�5Q
��Q��}���������D
-b-W����5����y���0ي4xɔ���������|�Uxpܯ�3ӫ��:�{
t�[�ý��{�>���������&{{�T��{�U0 �n��)� �z�Db$B��Tf�‚��WC�l}W
}��	�k�`��`���I��Pg��l
��,��Db1,��x�PKm �LؔLJ%@�q�3�J
���}YV@��e��;N�fBW
,�!��>z��|RAϕ���:� H	-���
�� L��?�İ8�T�b�"��
T�	�G��^庯��\�սԵ_�^g�o4u��%- ��Z#�^��*ǀ�&֯uhK�al~��/�����W�5�
�)�X�6�S�l�./

вF�"�V(o.aн<$(�غe��}��)[��pscfR4��� O��;
-endstream
-endobj
-4714 0 obj <<
-/Type /Page
-/Contents 4715 0 R
-/Resources 4713 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4718 0 R
-/Annots [ 4679 0 R 4680 0 R 4681 0 R 4682 0 R 4704 0 R 4705 0 R 4706 0 R 4707 0 R 4708 0 R 4709 0 R 4710 0 R 4711 0 R 4712 0 R ]
->> endobj
-4679 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 696.076 157.417 706.98]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4680 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 696.076 200.851 706.98]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_4b4c0277d3b6c85ab6633ae9f5e235c6) >>
->> endobj
-4681 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.667 696.076 239.854 706.98]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-4682 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.297 696.076 290.484 706.98]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-4704 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.689 657.371 156.055 668.275]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_66a2134e0f7fc74d62b14f46631dc2c7) >>
->> endobj
-4705 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [159.644 657.371 314.233 668.275]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4706 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.037 657.371 486.625 668.275]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4707 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 618.666 226.034 629.57]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_182ea33f63c0eea708e02a32b0904f30) >>
->> endobj
-4708 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 618.666 364.682 629.57]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4709 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 579.96 226.034 590.864]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_cedadd7f7742a18d941ded77da69ba9a) >>
->> endobj
-4710 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 579.96 389.897 590.864]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_c9b8aa34a8ed8e2c3c38d0435adff6ab) >>
->> endobj
-4711 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.82 480.031 221.326 490.935]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4712 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4716 0 obj <<
-/D [4714 0 R /XYZ 90 757.935 null]
->> endobj
-4717 0 obj <<
-/D [4714 0 R /XYZ 90 542.782 null]
->> endobj
-4713 0 obj <<
-/Font << /F63 374 0 R /F72 471 0 R /F65 376 0 R /F98 2120 0 R /F50 339 0 R /F11 418 0 R /F1 542 0 R /F10 473 0 R /F13 540 0 R /F7 505 0 R /F8 504 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4726 0 obj <<
-/Length 2116      
-/Filter /FlateDecode
->>
-stream
-xڥے۶�}����Ru�Ņ�Eqݱ�M��q
[�L'�h�dq"�2Iyw���
 �H�R���r
�����:�^�X\]'&q�g�vb�#�3g�r~q#��<F)u��u�r�,��8u���F��d�:�-��a>Y�U]&Y^�<.��r�T����Z�r�"W�|��,�g�-���Y\}�b�u��@�$�IwW��F���P"�ȹ�P;���[��ՏW�J3���8�
�c,$<���
B�D���: 1a���2���e�+��G&
�}"�p<�������Oˆ;��{���p
cƦ�~0�<�aX`_!��7�vL� $"�8L����(��WI�U�Rʓۭ2���@��7�*
o��T^e�a�O�d��`
�
KT�	�3 ���E�!aq�0�j:"���JK�V5
�4CA��l$֩��v[̸t調v��
��q
�KP]L����l+�L���s���QGK��R����P�}BC���!C�?�d���K+-���fW�V�,���1�>͘t-��p|��H�
�-������cٝ�
�b��I�����T���M��@�A�*	(�b���H�O���,y���N�|���*�Uކ
Ю+�[�]�ÕBw�Uc����&A_��b5�kж��e�:"�8nbY�	�y�L
7!}��p�G��uzpbI�fJ9�)���s.��H�R&�HG����
��
-��;k���;L;V�ɉ��Dz�b	i������21��[&ۙ'B��T�)V.��_�ݗ�}�V�x�,����d.k6s�� ��ۋ�
���֒�n�Ar����u��0�yR
-7��&����U|�SQǧ���P����
A��EӪ��d���@�2/r��Zs
�	�8�	Mĭe��6�!�X�x����@MZ/�--�1`����\�(km��٦���o�O���BK"�[6E at E�6���2���_{�/ ���+���M�T��
��$ݘ�
-h5�'�0�Z����j܏����6;:{nA�1]w,��T��q�ܜ�-
�Ie��mG��$
-Y���
�+���
 EO� ���6�:�[*��u��9��
�|��WBw�"�<ʮ�e��#�B{.Zj���͎H$����{��:?�V���U�N��Y�J	�r_�+�h�B���4 A�\WM�İة�T�}�͡��mul�̚
hj��n�� h�uq['ٰ�mS��}O;���A	��%O�"G�˞�����H>���#q>�H������	 |6�+G��+dZ����Kv�̛��7�HS�)�d<��������\��f�m�c�赣]�iL�����S���T��=����V�j;��fks��Iɪe���fS�9�#h0���g�M��
{���>h��|q�e�C�����3̝t����8���&��}�\�&1P��>�-�q3���ڿjџӥ%��H+�:�5����vܺ �
�dH"H�s�!��>A�x_#0�
=�p��bW|P�*ղV�7y��ȓ���:
}�3@�<�E�c�4?K{�:�.n���V�;7���Am��
�ؚ�r���,���8X������^�39�QJ��kB�{�K�����������
-A�8���=K򓇺�����I~��L�
���MQ�qc�7	��qӏ�

mv׸l���6)ͺ��_7$��V�EKP���C^��e)
dfk��V{�J�
�ֺ,v�^K�R;h�2��Q�ۙA^�N
���4�f�k�7K�"Fc�zZ�+8a<�<
n��P�[Ud7�a���į��nb�,�Xr����0�Ms�O���b�.��S�S-D��A��U��GI��\Nd�=+pQ�K��wSF������(�O3_��_�Z����(��i��
-�
�����P�
w�%��|FV�7�~�~������՛�0�xL�/�sk>��9|��~C����c����c�����G� �
M��C���
���:#�.��p
!�lb�,m ��O�*�6�ҵ���mE��c߯�?
P
�fR��H��JY!�d�;��25��/�B"h����������9�پ$Y}��o�O����O�"ѽ����}�:����H֜
-endstream
-endobj
-4725 0 obj <<
-/Type /Page
-/Contents 4726 0 R
-/Resources 4724 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4718 0 R
-/Annots [ 4723 0 R ]
->> endobj
-4723 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4727 0 obj <<
-/D [4725 0 R /XYZ 90 757.935 null]
->> endobj
-4728 0 obj <<
-/D [4725 0 R /XYZ 90 223.935 null]
->> endobj
-4523 0 obj <<
-/D [4725 0 R /XYZ 90 201.623 null]
->> endobj
-4729 0 obj <<
-/D [4725 0 R /XYZ 90 201.623 null]
->> endobj
-4524 0 obj <<
-/D [4725 0 R /XYZ 107.713 123.174 null]
->> endobj
-4525 0 obj <<
-/D [4725 0 R /XYZ 107.713 107.386 null]
->> endobj
-4526 0 obj <<
-/D [4725 0 R /XYZ 107.713 91.598 null]
->> endobj
-4724 0 obj <<
-/Font << /F63 374 0 R /F65 376 0 R /F50 339 0 R /F31 472 0 R /F7 505 0 R /F8 504 0 R /F11 418 0 R /F23 340 0 R /F95 1788 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4733 0 obj <<
-/Length 1795      
-/Filter /FlateDecode
->>
-stream
-x��Z�n�F}�W�)��h�W^Ԧ@�4ҦH�/N`���"*�
-I���w�B�KѶ�	��������Y��w�a����g���>�"����f^���'HP�M��!!��ј`��oF�b_�Q<�����ş�e���4�ʪ�Ӭ�����E\���[9�ň�C�%�c�eHB<�p�j���� E�#���	/Y�?`o
-�_y�(�n�����u��=��zC¾hy���ǘ�N��0F>1��}�"O�K�Uq��2��)G�Gβ�

(7h�S:|�N�C{W���M=x�l8y���

�A�i��+#�Fq�k	�B�L{�1'�C���Hظ����"M��yE��+
 �r#{�����qR��B`V�K�I~\Nj�ژ�d�߮=$�H���1�ZjE��T��N�$H`p�
-�����6�+��r⼼]ĉ5	Q�#X

	�,QV��$�F
����E\\i�t�q
��hm�ټ�GT
o2�t�N��G�7�Hm�csY�Jݸ�
�@N1�
�d�����-�_��e���u���8�dxS2����ǘ&)�u��*'
�
�7���}zX�%m�E9~S��QDa�4�\��"CQ�$�'j{�X
��I'�!WMў��"�d_��C�B��J{+�u��WsY�3�����q�'���둣9D�o,L3#A����l�Ƭ�(
-=�
`��
-:uD�,cAPH��σO/cq�2�Ze�D��X_u~�l*GD
o�mo^"��7-tE���ZW��+U�FalMP��m۵_�
��U�؏�
.u)�
����M�nG�}7�~����Hn���\������ސ�U���E~�&�]A���
-����[�=���� ����܄AAG��ljk8[l���I��@0����n!u�6�0�H�g����P	��Y��-J9������N7đ�����~�U��j��'��L�E
/�4?�I���”i�]Տ�e�qx�BMD���T�R�c�����fbK�	
-b
 ��^�ž[
�2�T�B�eF̶]�Zb�H*Z��F&h���Ҡ!=�T�l�ȵI��:����^�Uv8�J[v�B�t�נ��
�d��?�p�i�T0�%���)������*��ƍ-2
-7�p2Q
-��P�!�rn��l
xN���&~7&(�P�~�}P~^�{Q@����
U�S�겧cs���Ir�)��8���qȶ��A��"��
�"�!��C@ާ��C��7�C��?��ѯ��Q���~�ӣ`|��-�t����� �btT��k�}�as���
C���<�����"iY5�O���C�'��Ey8���Ҟt���EȠ���`�Ͷȝ5�-�
�H�	
�"���]���&�Ii�� �;}���~IJ+����3P��	�a�Vc���r��������F�Y�޵�[;�@i�Ci��� �T�rm�����f��hQݶG���(�&a���C�:3Id��!>Ϳ]>����`|~'�wO`�B6�2U��Z��Y�㲦�����)m#63&j�0c|8M�i���V"��@kg�mm��"˭�}@���_yee�yl��ޱFt���U���G�e�i8������.�ݳ�� Nv�˼�[��o�������;�����Q�c��8��6�v3� [...]
JJ���U���d�Z����Z��V�
���/�:3i��nz���<� 
-endstream
-endobj
-4732 0 obj <<
-/Type /Page
-/Contents 4733 0 R
-/Resources 4731 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4718 0 R
-/Annots [ 4730 0 R ]
->> endobj
-4730 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4734 0 obj <<
-/D [4732 0 R /XYZ 90 757.935 null]
->> endobj
-4735 0 obj <<
-/D [4732 0 R /XYZ 90 733.028 null]
->> endobj
-4527 0 obj <<
-/D [4732 0 R /XYZ 90 716.221 null]
->> endobj
-4736 0 obj <<
-/D [4732 0 R /XYZ 90 716.221 null]
->> endobj
-4737 0 obj <<
-/D [4732 0 R /XYZ 90 606.805 null]
->> endobj
-4570 0 obj <<
-/D [4732 0 R /XYZ 90 584.494 null]
->> endobj
-4738 0 obj <<
-/D [4732 0 R /XYZ 90 584.494 null]
->> endobj
-4571 0 obj <<
-/D [4732 0 R /XYZ 90 471.735 null]
->> endobj
-4739 0 obj <<
-/D [4732 0 R /XYZ 90 457.165 null]
->> endobj
-4572 0 obj <<
-/D [4732 0 R /XYZ 90 324.976 null]
->> endobj
-4740 0 obj <<
-/D [4732 0 R /XYZ 90 310.405 null]
->> endobj
-4573 0 obj <<
-/D [4732 0 R /XYZ 90 181.05 null]
->> endobj
-4741 0 obj <<
-/D [4732 0 R /XYZ 90 166.48 null]
->> endobj
-4731 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F1 542 0 R /F10 473 0 R /F13 540 0 R /F7 505 0 R /F8 504 0 R /F11 418 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4745 0 obj <<
-/Length 1187      
-/Filter /FlateDecode
->>
-stream
-x��Y[s�F~�W�3eٳ��ęiӸ3i:�&�/�ǣ�u����������r�ޟ���\�=�C�_"}��f�^(
YbS��.�4�
-�d�n��� ��R_���I6Kn.�������6Kn^O�gI�����<]�Y2I���I��&�e���ݹ�&v�ء>�Vb0п
��
�~�zD#(<��h.��wuM�[|�UD	�&z,�f�`
_���ޏ=�3�	U�
�U<�ĥ���_��+O�I���}:�'�<};��\�'�[�9�
0A��-�*
̈́pL�|�$�g���
�;*��˔���.�n^��(S�\��������FtLc���Ca�A)�� T�$�������-ҠE`��A�ŠXI`|+��j,Q�EL��Uq��z\�_���L3h��(%߸�>K���\�0^'�S�9�LU�"D����|[EN%B� �f0t��6.	
�Ƈ�č?{��ܷ
o�$y?u�RC���}������ ӵ��E lX]�
�0%���#��p <� <  �u
 ��h
��������a�5r7�G&� �
z���Q��X�����/��
-?nE?
0+c�}�K��  ,/_�'
�$���h���ɀW����+K�e���ڍ�[$����0"��0%ژ�a�E{��cjW��T�S ڪ�eDdi��DB/�P.�ũ��#��
-�)J����
KЩGiB�82�҃�䎏%Pj,�
-�I6��9v��6��	�����p�n�F^2� D��Ԩ��e��!L�cs#��q�v[��y�����<����T{�S��y�;a�������}il9�b_����) �C�L��S�<`^_��ɭ��K[��.�Ne'z'lgzg�F��q�]�������=��1JWaК��Y�gfs��
&R(<��*����6_�Gtb'�bu��{�#?
{�e����;>T������^�n�?��7����gz��ӧ��	Ni�Np���O��� �4�ZZ!
�x#L���?���WDj��m���?�O
���csq�L��:�M�}	�Rh��j_������h���>�b�S
W���X���OK�}ٗ2��C��'�����e�z�B��b��\<�u�
-����h��}����_0���_%�C�/Ά���G2^��t���$.�a+mQ�]+�Û\86�gU��ߜ[�O�����
-endstream
-endobj
-4744 0 obj <<
-/Type /Page
-/Contents 4745 0 R
-/Resources 4743 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4718 0 R
-/Annots [ 4742 0 R ]
->> endobj
-4742 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4746 0 obj <<
-/D [4744 0 R /XYZ 90 757.935 null]
->> endobj
-4747 0 obj <<
-/D [4744 0 R /XYZ 90 733.028 null]
->> endobj
-4626 0 obj <<
-/D [4744 0 R /XYZ 90 716.221 null]
->> endobj
-4748 0 obj <<
-/D [4744 0 R /XYZ 90 716.221 null]
->> endobj
-4627 0 obj <<
-/D [4744 0 R /XYZ 90 668.982 null]
->> endobj
-4749 0 obj <<
-/D [4744 0 R /XYZ 90 654.412 null]
->> endobj
-4628 0 obj <<
-/D [4744 0 R /XYZ 90 619.163 null]
->> endobj
-4750 0 obj <<
-/D [4744 0 R /XYZ 90 604.593 null]
->> endobj
-4629 0 obj <<
-/D [4744 0 R /XYZ 90 557.389 null]
->> endobj
-4751 0 obj <<
-/D [4744 0 R /XYZ 90 542.819 null]
->> endobj
-4630 0 obj <<
-/D [4744 0 R /XYZ 90 495.615 null]
->> endobj
-4752 0 obj <<
-/D [4744 0 R /XYZ 90 481.045 null]
->> endobj
-4631 0 obj <<
-/D [4744 0 R /XYZ 90 433.606 null]
->> endobj
-4753 0 obj <<
-/D [4744 0 R /XYZ 90 419.035 null]
->> endobj
-4689 0 obj <<
-/D [4744 0 R /XYZ 90 383.786 null]
->> endobj
-4754 0 obj <<
-/D [4744 0 R /XYZ 90 369.216 null]
->> endobj
-4690 0 obj <<
-/D [4744 0 R /XYZ 90 322.012 null]
->> endobj
-4755 0 obj <<
-/D [4744 0 R /XYZ 90 307.442 null]
->> endobj
-4691 0 obj <<
-/D [4744 0 R /XYZ 90 260.238 null]
->> endobj
-4756 0 obj <<
-/D [4744 0 R /XYZ 90 245.668 null]
->> endobj
-4692 0 obj <<
-/D [4744 0 R /XYZ 90 198.464 null]
->> endobj
-4757 0 obj <<
-/D [4744 0 R /XYZ 90 183.894 null]
->> endobj
-4693 0 obj <<
-/D [4744 0 R /XYZ 90 136.69 null]
->> endobj
-4743 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F11 418 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4761 0 obj <<
-/Length 1234      
-/Filter /FlateDecode
->>
-stream
-x��Ko�F����%%�j��ܧ!�P#)����(�8�A˫��L)-���çHz)ʖ궆/I/���̐��?
��:�e2����T8����#A�gr圹� ��!���
�n��
��b~m����cx�����"Z%qF�7�
�'�`��/?���=�\M
��A�K��'�o'�oa�dp��ϝ����
;W�������s���q��w�|
�>�[��>‚׼A
R�԰�w�4q�,�Ԭ�;Bj��d�	M��q����f�\p�K��9>Y��W��44Qr��KVGG�T�E
�zp2���U
�()G�
q_�
~�37���1�L_����լV�"�
}�	&�¯�E��،�H�J�����\ ~�bMC
-Aj���,��\��
9�-
R����.����2�m
H%�&��n��P��K��b�H�BL�VZ��i՛�Zt U��4$p�e�YB7$R�
�ED�q�6\�܎�BTV��٢4�(!���mG���t�6�RVA }1�k�
-�[iT�e�F���|C;4�9dD#�Z;`
���L��j�6�����f���7
-�َ�@\��|v�\O�T��`�(�OS�+ap9�U?n�J�z�8�'U���T�'u[=�;�3!�LC}Px��g����,�����V=5�!�Z�R�
D��3�k5����5�����·yW��AM�͚�K�Oa�t�V�7�\C<�J~����e���8=��
�ȂH�"�[����(����)Q/��{
z)�����e+M=�6�aг���ǟk��'�
��vm{�s��y�<ύ��yN�ݒǯ-�y[2{��<~���&R�ݒǯ-�������p�
/�y�-��8��7T��ؖ0��gU9�n͘V����H-�@��������
-Tl�Ab�\�0
m��`�GLUP&�-}з���ro���E4�ϯ�_Up�}<k��!�AXX�k�݆
��:��M�da�!h��w (�#�b�N ŝ���P[�/�@�H_ ��"y�����H�@
�a${��: ����ou
C��Ȟ�P
�
 ىZ*)b���t���ƣ5�c�VGq�=��&j��� t	��W�A
�Ŝ�N�8�z�gG��my&����͗���8w�X�D��|��:e��%
�t+�4�(
��٘��ܳ����� 
��^�$�7{�:I�G����
���m.c&��r>j���u:�l�|�`�e��,���0��7A6?���9"T�
-endstream
-endobj
-4760 0 obj <<
-/Type /Page
-/Contents 4761 0 R
-/Resources 4759 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4718 0 R
-/Annots [ 4758 0 R ]
->> endobj
-4758 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4762 0 obj <<
-/D [4760 0 R /XYZ 90 757.935 null]
->> endobj
-4763 0 obj <<
-/D [4760 0 R /XYZ 90 733.028 null]
->> endobj
-4694 0 obj <<
-/D [4760 0 R /XYZ 90 693.096 null]
->> endobj
-4764 0 obj <<
-/D [4760 0 R /XYZ 90 678.526 null]
->> endobj
-4695 0 obj <<
-/D [4760 0 R /XYZ 90 631.322 null]
->> endobj
-4765 0 obj <<
-/D [4760 0 R /XYZ 90 616.752 null]
->> endobj
-4696 0 obj <<
-/D [4760 0 R /XYZ 90 581.503 null]
->> endobj
-4766 0 obj <<
-/D [4760 0 R /XYZ 90 566.933 null]
->> endobj
-4697 0 obj <<
-/D [4760 0 R /XYZ 90 519.729 null]
->> endobj
-4767 0 obj <<
-/D [4760 0 R /XYZ 90 505.159 null]
->> endobj
-4698 0 obj <<
-/D [4760 0 R /XYZ 90 457.955 null]
->> endobj
-4768 0 obj <<
-/D [4760 0 R /XYZ 90 443.384 null]
->> endobj
-4699 0 obj <<
-/D [4760 0 R /XYZ 90 396.18 null]
->> endobj
-4769 0 obj <<
-/D [4760 0 R /XYZ 90 381.61 null]
->> endobj
-4700 0 obj <<
-/D [4760 0 R /XYZ 90 334.406 null]
->> endobj
-4770 0 obj <<
-/D [4760 0 R /XYZ 90 319.836 null]
->> endobj
-4701 0 obj <<
-/D [4760 0 R /XYZ 90 272.632 null]
->> endobj
-4771 0 obj <<
-/D [4760 0 R /XYZ 90 258.062 null]
->> endobj
-4702 0 obj <<
-/D [4760 0 R /XYZ 90 221.046 null]
->> endobj
-4772 0 obj <<
-/D [4760 0 R /XYZ 90 206.475 null]
->> endobj
-4703 0 obj <<
-/D [4760 0 R /XYZ 90 171.227 null]
->> endobj
-4773 0 obj <<
-/D [4760 0 R /XYZ 90 156.656 null]
->> endobj
-4719 0 obj <<
-/D [4760 0 R /XYZ 90 123.175 null]
->> endobj
-4759 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4789 0 obj <<
-/Length 1426      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~��0 ����U��v˰�E���K��$�dɕ�xޯߡHђ,���}2%������
��{;��^�G�s�9!
-=�9�;'�$(q�
�rL"ĝ����K�8*�����q�n䢈n�&�ETlg��yVVE�d��Ŷ��ҝP�ǯӨ,�𣼓�K���b��R�I��������ѧǰCjG��|&�x9����޿q0ba�l�YK�S��s1�}��
�2�=�;FQjN�s\���dUy�ܚ�ҲE��La���
=��
ئ��p���
) �D����Cњ�	
-}k�
�
Ǣ��;��)�
"0j��SV��f��*�ֹ�B�Q%�z�����yȇ�L��<@�^�QV�"3�WR�
��[0d{xtY�s�'A
"�9}�_8Y(�
4�� DB��QD��x�ϣ
-�<Y����q��Vz��F��EgL2
 !��ӿ<�(
HK��`�N�8aH� N����:�r,
�G,��A�x'*�<Ia�x]�]�d�Di�,�s1b�TV�٬fh߸`ȇ�rTXe�a5p��z�
���\�l�;�W�+�X�L,>�
�3ˡ����1M�u����:NM� �mm�__L�v;�x��V�~&b�S<̦8ȦOŦ�9Ʀ~�Gɤ��
'So6@�
-<�
2���Meu��l6w}>ޮ����^5t
�{�	b'����ccìx�v����)6�<^/eVEU�g��
�3)1�)�u)�:q��{����¬,�e����i��T�7Iv�_]Z���mMӗ�(W��
-诌�(h�3���*Eg��YȘa
�M_�M��r�x�w�W�-c�]�Зh@=~�K�8]/�@Du��PŇf�[����a��ؚ��PR	}�I���5{�ER| ba އ�m�ɨ0О�95�vY�;�F8y��p�����.�MC���b9�I�]��F���sPX �x��,�+d��h�҄��W�R5��+!>J��I��
-e��n1f!4H)
f\���M�X�|'������,V��t�� b*:7�&�z�� p������I�E�j����
�

ߪp_'�¨42����~&�@�4n��*�WCMW���~ݹR�ş���6헐�SY5%�
-�[�'�
�Y�
�f���$���^��P ��S���_�|#t�kU_��:���/�[t��8_%��FG���5�2*;!���H�������GC4�x;J�g���p�?^$VK�v�J}.!d�����9mן �v���@'�:�_�B@���_ ������)hB��u�����P�z[U!��n���<6
�~4m�~�������71�.� �\
ţ2%����X�ϨB�w!�9�>�_N3�mT���_���.1U��M����%Zgɪ@I5��q��&�� ޻�u�
��
��x���{��
�Q+
-endstream
-endobj
-4788 0 obj <<
-/Type /Page
-/Contents 4789 0 R
-/Resources 4787 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4718 0 R
-/Annots [ 4774 0 R 4775 0 R 4776 0 R 4777 0 R 4778 0 R 4779 0 R 4780 0 R 4781 0 R 4782 0 R 4786 0 R ]
->> endobj
-4774 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 338.191 192.544 348.118]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) >>
->> endobj
-4775 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 256.5 191.737 267.404]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_257775ae01cfcd011aca9bcbccb03da7) >>
->> endobj
-4776 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 217.679 191.737 228.583]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_50423c4391d0c3064787f19661914973) >>
->> endobj
-4777 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.075 217.679 262.581 228.583]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4778 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 178.858 191.737 189.762]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_61e02a6ed1b9dd0d6d306d76f5da55a2) >>
->> endobj
-4779 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.075 178.858 303.527 189.762]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4780 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 140.037 191.737 150.941]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_92333180e0163e9c87f2220dceef012d) >>
->> endobj
-4781 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.075 140.037 296.902 150.941]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-4782 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 101.216 199.486 112.12]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_964e4bcbbfde58f43977d0a8e686ec35) >>
->> endobj
-4786 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4790 0 obj <<
-/D [4788 0 R /XYZ 90 757.935 null]
->> endobj
-4791 0 obj <<
-/D [4788 0 R /XYZ 90 733.028 null]
->> endobj
-4720 0 obj <<
-/D [4788 0 R /XYZ 90 705.051 null]
->> endobj
-4792 0 obj <<
-/D [4788 0 R /XYZ 90 690.496 null]
->> endobj
-4721 0 obj <<
-/D [4788 0 R /XYZ 90 641.525 null]
->> endobj
-4793 0 obj <<
-/D [4788 0 R /XYZ 90 626.97 null]
->> endobj
-4722 0 obj <<
-/D [4788 0 R /XYZ 90 591.721 null]
->> endobj
-4794 0 obj <<
-/D [4788 0 R /XYZ 90 577.165 null]
->> endobj
-1478 0 obj <<
-/D [4788 0 R /XYZ 90 478.905 null]
->> endobj
-178 0 obj <<
-/D [4788 0 R /XYZ 90 472.254 null]
->> endobj
-4795 0 obj <<
-/D [4788 0 R /XYZ 90 356.172 null]
->> endobj
-4796 0 obj <<
-/D [4788 0 R /XYZ 90 275.457 null]
->> endobj
-4797 0 obj <<
-/D [4788 0 R /XYZ 90 275.457 null]
->> endobj
-4798 0 obj <<
-/D [4788 0 R /XYZ 90 236.756 null]
->> endobj
-4799 0 obj <<
-/D [4788 0 R /XYZ 90 197.935 null]
->> endobj
-4800 0 obj <<
-/D [4788 0 R /XYZ 90 159.114 null]
->> endobj
-4801 0 obj <<
-/D [4788 0 R /XYZ 90 120.292 null]
->> endobj
-4787 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4831 0 obj <<
-/Length 1655      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�6~���Sg5Ë(JY��k�˰,ɰ��0�I��6Q����
����ā�`�^"Z"��Ν
v�
��|1:z�1'@�G=���	�#<�8%�E�|��L	�x|:!x,�T�N'��dy��R�>Ǘ�,���'y��R�Y5;_�J��)�x|�H���L]�rB���BU���ߝ|��8��b�׈ c�!
#\ ����/߰���F,�E3+u\��8��G�
-u׳��a	���|G�\ʍ�_)�
;������2v�~�|�r�c[��e0����}9@�����U^�4��+�8�7�M�a|,���<��	�����֨P�<�:S�"�Q�[���,UY5�؞>�Y�B�h�r����v
��}q�b`D�y6����MͰ.d�f�ʻ�n0j~���p����LU�2�6_�(3�w7^m|�Ua
gϯ��$���뚛�w�W�9�}$<|
1ff��Wfg�o�T7�6s�� �'A;iOu2�8��ѧ��e�'���F�t
V�8S�eW��Ϥ�m�F�P�_9WC�1Pi'�V�2����diF�i[��@>�y 5���Tt˃����R01�o
����
-���!���̃p
-q�=�<n��G�M$L�,w�#ݙJ�:��*
�L�
7��¼�*'.��ι���هV-��
�����Q�扟 ��0-UVI]�9+|�*�Ch�kQ���q�{�^'��:��X��7�b{S�C��8
��u��u+ch�Y6�b}�l�^�r��!
�]�2˔�T���� a�P�@�D��c�����Ua��1��iW��ݭ�KUst
?YIF7J2���W��s�	�*w���L����5D�xCTI�:� �͗u
��2��m���CLrYg��,�
��w��@�s�\�Z�<[�L@ن
,�r(��y
-���B�j
-S�*�/�߇����>��
�������o��رOnTX+�72�v�1ƅ�F����6�V�*ֵ���_YI
��,���[ߟ%X���ʁ
�B��5�����CU�C%	F^�Ǥ�Uߞ�|�`���<��֤Zm���`�#�/��B���y����C�P�v
-��
)| N�<J_D������3�$�H�碼��9`�;-�&t��p�ѡ��A�	%��!b�j�Q%z�۰=!�"���C��:�y�f`C��������q �	��'��vz}<���t�ϰW��
��'l�!�W���.([�w����G�}Bƍ���Z4i�(
�<T�ys�����Z`4�n�ʺ�v����Ϧ
��Q��a �P@q�:e
E.&륱
Cs���CC�9�����bՇ��>�<
��W����>����L� � ,�wľ=��z�H���T�y�����Ǒ�W2�ٵq6�\VOw�Lw��
'V- CW��x٥�s"ü���"VQ�j(���Y������*�1ʿ�ʞO�;���+:���;����N}׷?��^�n��C>燬��i��:�s��^�Zu�/d1XoqDӬ���E\�
"P�w�-�9ޭ��kw�@5��[��V
���
Ϳ� q��/Z?m�'��
����?`~�"0?�Ъ��ΐ�_~�ټ����֤T�߈`���j�9�\���H��iG�F
�=������o��8>:Z,(�h��E���(��57�&`#�#r�r�օx�6�к> �|��
-endstream
-endobj
-4830 0 obj <<
-/Type /Page
-/Contents 4831 0 R
-/Resources 4829 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4849 0 R
-/Annots [ 4783 0 R 4784 0 R 4785 0 R 4802 0 R 4803 0 R 4804 0 R 4805 0 R 4806 0 R 4807 0 R 4808 0 R 4809 0 R 4810 0 R 4811 0 R 4812 0 R 4813 0 R 4814 0 R 4815 0 R 4816 0 R 4817 0 R 4818 0 R 4819 0 R 4820 0 R 4821 0 R 4822 0 R 4823 0 R 4824 0 R 4825 0 R 4828 0 R ]
->> endobj
-4783 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 707.272 191.737 718.176]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-4784 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.477 707.272 243.284 718.176]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_dfa7b03e2ac3a6666a7538431f1bdee9) >>
->> endobj
-4785 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.621 707.272 348.448 718.176]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-4802 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 669.041 179.554 679.944]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-4803 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 669.041 250.666 679.944]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_809a4546135123a08f12c0a65fb22241) >>
->> endobj
-4804 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 630.809 225.211 641.713]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_6aec148aa41935a4072c64a43c51c577) >>
->> endobj
-4805 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 592.951 155.265 603.481]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_3410a53827de9155ac7d6cbd84263364) >>
->> endobj
-4806 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 554.719 158.044 565.25]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_8388d0d6d7ff68c627d516ec17f56b4c) >>
->> endobj
-4807 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.382 554.719 228.888 565.25]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4808 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 516.114 161.013 527.018]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_314eb5fed86c6bbe4a7223ca8362f0a9) >>
->> endobj
-4809 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 477.882 195.165 488.786]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1097cf7cb41f29a02ba271abd2f00f5e) >>
->> endobj
-4810 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.181 463.573 225.851 473.478]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) >>
->> endobj
-4811 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.148 452.614 227.817 462.519]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) >>
->> endobj
-4812 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 429.065 187.563 439.596]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_cd7d1ed2a688f0c6af96e1cff336f933) >>
->> endobj
-4813 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.482 414.382 271.151 424.288]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) >>
->> endobj
-4814 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 390.834 150.493 401.364]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_d350b84c25b7c37693d2e7a08d3165ca) >>
->> endobj
-4815 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 352.229 181.845 363.133]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_5cebd3d6d6ec070c47682e77b0248f22) >>
->> endobj
-4816 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 313.997 181.845 324.901]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_67f95ed6867827f03a6af0a7334376e3) >>
->> endobj
-4817 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 275.765 154.727 286.669]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_2552e7a194f5fb0d591bafb591b91968) >>
->> endobj
-4818 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 237.907 176.505 248.438]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_5a79ce2b52efebd42da2736164a043ad) >>
->> endobj
-4819 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.408 223.224 450.955 233.13]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_67f95ed6867827f03a6af0a7334376e3) >>
->> endobj
-4820 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 188.343 191.718 199.247]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-4821 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 188.343 288.852 199.247]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_2b451e6b09162c7c19b0a2ad36545c69) >>
->> endobj
-4822 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 150.112 191.718 161.015]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-4823 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 150.112 303.079 161.015]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_78a4d5f5e4702a16d6aae656293ec7ad) >>
->> endobj
-4824 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 111.88 156.281 122.784]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_c92d2324f8ddea454926272e5ccc6dad) >>
->> endobj
-4825 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.097 111.88 237.924 122.784]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-4828 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4832 0 obj <<
-/D [4830 0 R /XYZ 90 757.935 null]
->> endobj
-4833 0 obj <<
-/D [4830 0 R /XYZ 90 726.054 null]
->> endobj
-4834 0 obj <<
-/D [4830 0 R /XYZ 90 687.823 null]
->> endobj
-4835 0 obj <<
-/D [4830 0 R /XYZ 90 649.591 null]
->> endobj
-4836 0 obj <<
-/D [4830 0 R /XYZ 90 611.359 null]
->> endobj
-4837 0 obj <<
-/D [4830 0 R /XYZ 90 573.128 null]
->> endobj
-4838 0 obj <<
-/D [4830 0 R /XYZ 90 534.896 null]
->> endobj
-4839 0 obj <<
-/D [4830 0 R /XYZ 90 496.664 null]
->> endobj
-4840 0 obj <<
-/D [4830 0 R /XYZ 90 447.474 null]
->> endobj
-4841 0 obj <<
-/D [4830 0 R /XYZ 90 409.242 null]
->> endobj
-4842 0 obj <<
-/D [4830 0 R /XYZ 90 371.011 null]
->> endobj
-4843 0 obj <<
-/D [4830 0 R /XYZ 90 332.779 null]
->> endobj
-4844 0 obj <<
-/D [4830 0 R /XYZ 90 294.547 null]
->> endobj
-4845 0 obj <<
-/D [4830 0 R /XYZ 90 256.316 null]
->> endobj
-4846 0 obj <<
-/D [4830 0 R /XYZ 90 207.125 null]
->> endobj
-4847 0 obj <<
-/D [4830 0 R /XYZ 90 168.894 null]
->> endobj
-4848 0 obj <<
-/D [4830 0 R /XYZ 90 130.662 null]
->> endobj
-4829 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F99 2117 0 R /F65 376 0 R /F98 2120 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4869 0 obj <<
-/Length 1530      
-/Filter /FlateDecode
->>
-stream
-x��XKs�6��W�J3
�M59�I�iڴ��8��H(f�WH0���xQ�L�J'��!)�����.����֏��'g�cE(�mߺ^[�� �&�ub�����	�xz1#xJ�./f6�����%5]���jZo��e��_^m�������eF�F�^�5�g$��"fB���)	����7��דO�a�HE� �g����{l%��
#'
-��\�[���5��&�O�QP����)PW��4V]���ܿe�
-ԓ��m� IՌ�s��Nh�m�F��m{�=ֻ��kԡ�@X�P/�qh��h��%�Vl ����-���l���?^,��
��j`�,��
׶��E��*X���u���o��
�����b6�
�q�*nfě�cgDL��[Z$;�(���d
9�_��2���8��HyJ��
{
��I�wB,��d������p>s=0��X�+L��=%��'�e|au){��o���n��CƸI�G瀜(X���"�~M~/ J8Q[Ӭa� @9t Հ��N�0��� �9:J��7#�UYf�1��)/���9鄈��5u�Ÿ�==9�
�����^o������:^�L-�t�fQ��%�Hz��t=r����wߍ��o�f�{_�u*l��z�S��"4�w�6�
�ⴘ%����Q�Y6��%#
�^�b[9n����גwR����?i�o�R��{��ڜ��ga�'
�"�!�L���Q�ONK����,�;O>{v4���Y+�1�J��swܜ�G�(D.�k�H���j�7�!$C
-cB
��y�����f#��j_�|)
|p�<=(�2$�
 �H�
2{��/,MP������u��$�3��U�bӨ��
�*0�*���(+��v�B�DV�#�����)����yŚ�N+����4��~3P�{)%��/��Յ��h$B2-WY���Z]�lߎ�
�<�?X�6J
U�N�ޙ=})��4E
�����ی�
��V!h�
��R�d��~�3w`0��	�9�\Ѱ���ˉ�ڛ��J�{�X�qwc�ߍez�*
-��e.�[���
ki�mT1�M������Y�9�j׋t���~��QW�&��u��gA ���i"�C@ O
����� dx�
,�h^ef�H5K�����F�]�j���U�K�^�
-��^�2H9A^�X�2h\� ��^�9`Z����,+��fq�d<h�� Uk�h]�Eȵuʟ�l��܉!;��M��Z�
[+��n�An�Cd�d$�I)�r��A��!8^j�E�q�� �L��~�ղM��x�$4�5k��H:��
���v�I5;�&ȁV5ܵ���NX>��2٩�ȳ
���
	�D�n����_�|�B�&'~x��ฝN ƒBd����]͞
�����z�ﻙ�M�-�Ң�:QE���wߘ`���a$�Z�+f�?(d[��g�;}E^:�V��jqv��lPܠ�H��������1֓Bddj!k�Ky��0�)hvH ��o#^i
-endstream
-endobj
-4868 0 obj <<
-/Type /Page
-/Contents 4869 0 R
-/Resources 4867 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4849 0 R
-/Annots [ 4826 0 R 4827 0 R 4850 0 R 4851 0 R 4852 0 R 4853 0 R 4854 0 R 4855 0 R 4856 0 R 4857 0 R 4858 0 R 4859 0 R 4860 0 R 4861 0 R 4862 0 R 4863 0 R 4878 0 R 4864 0 R 4865 0 R 4866 0 R ]
->> endobj
-4826 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 697.247 203.075 708.151]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-4827 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 697.247 296.324 708.151]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_c3223cf8c7d19b02b5e3c04038024b47) >>
->> endobj
-4850 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.005 682.627 346.612 692.532]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-4851 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 658.767 194.297 669.297]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_70e9ad42674d62ed9bd73268e3af7064) >>
->> endobj
-4852 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 619.912 188.759 630.443]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_ea9a4fb9807eb61cda3eedf8e5a7acae) >>
->> endobj
-4853 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.953 580.684 238.78 591.588]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-4854 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.52 580.684 319.029 591.588]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_6293b813e42a59a9795cafe0efa762cc) >>
->> endobj
-4855 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [290.965 566.064 397.522 575.969]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_2935fff040a5b31930fff594a0b2596d) >>
->> endobj
-4856 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 499.922 180.54 510.826]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_f882ff84afd3c2507e17ffa62ffd20a0) >>
->> endobj
-4857 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 499.922 255.807 510.826]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-4858 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.54 499.922 345.47 510.826]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-4859 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 391.881 226.034 402.785]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_dd9738866968b13e938d5669dd94a55e) >>
->> endobj
-4860 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 391.881 399.003 402.785]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-4861 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.398 353.026 171.764 363.93]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_3badc2f43376aa26f481af4800a3515b) >>
->> endobj
-4862 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.063 353.026 379.972 363.93]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-4863 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.021 353.026 513.996 363.93]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-4878 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 341.071 227.154 351.975]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-4864 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.363 241 257.19 251.904]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-4865 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 229.045 132.51 239.949]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4866 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4870 0 obj <<
-/D [4868 0 R /XYZ 90 757.935 null]
->> endobj
-4871 0 obj <<
-/D [4868 0 R /XYZ 90 716.221 null]
->> endobj
-4872 0 obj <<
-/D [4868 0 R /XYZ 90 716.221 null]
->> endobj
-4873 0 obj <<
-/D [4868 0 R /XYZ 90 677.486 null]
->> endobj
-4874 0 obj <<
-/D [4868 0 R /XYZ 90 638.632 null]
->> endobj
-4875 0 obj <<
-/D [4868 0 R /XYZ 90 599.778 null]
->> endobj
-4876 0 obj <<
-/D [4868 0 R /XYZ 90 518.896 null]
->> endobj
-4877 0 obj <<
-/D [4868 0 R /XYZ 90 438.133 null]
->> endobj
-4879 0 obj <<
-/D [4868 0 R /XYZ 90 303.751 null]
->> endobj
-4867 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F11 418 0 R /F31 472 0 R /F7 505 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4886 0 obj <<
-/Length 2133      
-/Filter /FlateDecode
->>
-stream
-x��XY�ܶ~�_��C©x�8x��Tَ�*�"m*k�
-Cbv�pH��hv���@��
F���<���n|�uԻ������W�o"�$�x��n��zq�Hșw�{w>c��՚QJ��+F}���Ƿ+N��<>����VlZ�
on~���oeQ���^�Vk
R��Rv
6ߩ�jW,�U�)-���gI��p���O�W��(F=f	c���vWw��C�/
%"M�����.�[z��yE�Q�_42�b�Ɣi#�	�/�P1�:�����N+��)	� 'g
)�N��o4��8�ϯ�K��-�������"�Nǯ��xi��7!�
=A���$b)
-�G��1	����oV� д}��2��߄����sZ%{��ϡ�p�kdf���NU]QW���j��i��(�m��RY�JE��ib��MC���`QXTZ�N��E7�N�9��L��_��],JI�j�b�8<� ����CI�x��
2�&�&ߢ:����Ŋ���
}U
WQ�F�O"{����� "���ӣ�5�5��,_���Ԡc�� -.�/����nq��z�-*�i/ˢ/T�=�R����9��� &ݮ����oZe�/�}�˕�Z����6�.jծֳ�e���}��
-k�p�(SG۶ޝb�l)��J�_���l��Q͎l�SC@Ƅ��2��	?9\��^�'z	��]^DjV��	�a� ���$�.X����v:���5�o����nt�en� - f����,��

����G�&
&1�ܮu5e!76S^�@
����^	2KCO ��_�� �ֳI7��Z���}���O=A�����N�C#���ͳ@��E�o{��ւ�!}i�&4Bt�n_�E�z��Pӽ
���ŪE�f�eẆs҄�D��ˬ���;��d�+eE� [Ң��
�I`N͢S�xy�Y�*=��
��FW�:����
w�Bb���ŽVA��)+�P�����W�je�����*���T����E:��i_|���\��@�<L]d2?R�z(�{Q����Jˢ�L_�������DK��mq_T�ȊO���G
�x��̾�±V�m��f��$?�8I�H1�^Yј�N�dl]���)�L�v˺ʼn�r1�X��r�<3Jǝ�}J(%dkN��n
�
T}F�x�Q	
3`*�H��o6�ۻ� N5P��U>\WJ,^�ϛ}��cI��:�C��K�e���q��O��Ӧ�K�@a_��_�v�1�+}Uv�Z|>Y �]�{tZ@��&����G� ���
odf�>5;g.���,���p��3��9��[X�S���J�\�$H�Ap��C(�̀��(l��É[R�w��"����
�����_:`Q��Ҟ]T�ζ{ruE�*X�����,X�⨥�s��_�t$n��D<aV
Ws�e�fB
Ei�6F7HB5XS���
�\k����:���[�k �6�]6�@��)
0�iqug������wJG�-�,LY�!�X��V��
P��i��+�F�ʝtd���h$���onj @�Z"u
���30
-g󚐅)���^9�`V�”^��b�W:��9�
@w8#
�b`
-�U"^،	�2�vPp����H�@��D�Z�w��%����}���Uho��dn�n�^������i�q2#�s9		���)ˊ20��
�
���C�@���S���oq����v]�B
�N������!c��e���+f�N��ax~���.MM
S�i�ݷ�뛝fH
��U
��ۡgs��V*H��'����W0Sw
Ɵu[�
\��� l����T��)�S���%�@��O�kt��!�A�t�SϽ�@!��?U:�)
F��k�1�'���FeP��;�R'\fFpkJ4v.=�z
-�!�R}�K*��E�h_�!�Y#�^��d�^\�J����x�ЏO���S�
�H�#`
F�ٜ��Yw�Jl��<<,FN��#H�,y�
�y�GN� �U��뭾gh\����k�?����5[_�]V{YN��}��
s)a+a���F�e����_��cҗ%�:b�����@��쫢iI�_�����3)@����]=TzE�;�r���C�t
-endstream
-endobj
-4885 0 obj <<
-/Type /Page
-/Contents 4886 0 R
-/Resources 4884 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4849 0 R
-/Annots [ 4883 0 R ]
->> endobj
-4883 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4887 0 obj <<
-/D [4885 0 R /XYZ 90 757.935 null]
->> endobj
-4888 0 obj <<
-/D [4885 0 R /XYZ 90 372.299 null]
->> endobj
-4880 0 obj <<
-/D [4885 0 R /XYZ 90 349.988 null]
->> endobj
-4889 0 obj <<
-/D [4885 0 R /XYZ 90 349.988 null]
->> endobj
-4881 0 obj <<
-/D [4885 0 R /XYZ 170.288 285.279 null]
->> endobj
-4890 0 obj <<
-/D [4885 0 R /XYZ 90 270.968 null]
->> endobj
-4882 0 obj <<
-/D [4885 0 R /XYZ 108.69 194.339 null]
->> endobj
-4891 0 obj <<
-/D [4885 0 R /XYZ 90 178.743 null]
->> endobj
-1479 0 obj <<
-/D [4885 0 R /XYZ 90 83.31 null]
->> endobj
-4884 0 obj <<
-/Font << /F63 374 0 R /F65 376 0 R /F50 339 0 R /F8 504 0 R /F31 472 0 R /F7 505 0 R /F72 471 0 R /F95 1788 0 R /F11 418 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4909 0 obj <<
-/Length 1278      
-/Filter /FlateDecode
->>
-stream
-x��X[s�F~ׯ ә&�j�\4mg�$�4M&��>�d�"�����,� ����V��>�����9���e�6�L~YL�'3|�;�1K�dž�$(1�qn��l�16��fPf��ܢ�\��U
����
��l�r�Wu$y}y���8��B9t��q��Ҳ����4�*�z/��"��al�Lpjϵ>.�N^/&�&��i�.r�0�lr���50b�g�4R��)�gj�M~���`�/m��
aG
�H�Ek�|#mi��<�	n؄!��j�� 2=��
��A9b�W3^�
-�}P����_�G��%��R=�Ά
-�m�ݶTt�C5<�%y�n"� !=I��
�c%���Z�3P\
E�V��u�@
L�b?�u�Ĵ}qB��ϕ�|s�&���}�]���l�N�ȆH-�q��9-.({s��kM��7��XC��yHH%.���G뵺���@�K]�
�#
���{/�MZ�=�	�^���z��v�<��'�8�6R=eA���1X|(-�Q�C�{[�	Qy0(��祇����3<�2� yZ� �!L�92&�P^ւ#Lj�O���*$zQU�u�Ź�Aj#fpĠ�cu�]]��*����
�Q�CY�, �	k&�<��rD
2�e�MŗϦ�?�����@>�ۘ��w�{�iP
�i�
,c
-��z
z ��&=���G��U�C&��*N�o:�<~��<W����g݈��z�eXO�52��G�cy�KU�w�
�j�NX�
Y��,�ư;��M�Z֦��I3��c(��_Zq�K���<Ҙ���f���fsy�&��

9��c�URݫ����:����lGV���.O�?Z�h��A�e�!��0w��4��'�7F2J�ԇSv�y������ħ�{̰9CD��e"���U\Ik���ˤ�Gϑc >�9�;��
��4f��s��湩���^˧0�Ri
-�~(� �a�g�qU��p3•��YuY�7��M�
��a�o]�� �h.}t�u�'�+h�K�{
C['�pM�z�9Ȋ4>؁y�ž��n��JSo�NӵE�y��׭�"�cQJש���q��5��$���f�ƪe��e
��8�"�X��TC�Ef{���
>�=�F�����
���q�G�
��y�
�������S��*N}�Q�����}�o�����J�d3i#*�/�l�ŭw�e��o�����s�]aZ�u1�NonnPX�M�%J�iQ���|�	|w
-X����˶��0�2��!�� �PO
-endstream
-endobj
-4908 0 obj <<
-/Type /Page
-/Contents 4909 0 R
-/Resources 4907 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4849 0 R
-/Annots [ 4892 0 R 4893 0 R 4894 0 R 4895 0 R 4896 0 R 4897 0 R 4898 0 R 4899 0 R 4900 0 R 4901 0 R 4902 0 R 4903 0 R 4904 0 R 4905 0 R 4906 0 R ]
->> endobj
-4892 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 609.505 170.687 620.035]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_641015af4c3d3b84184e8ca8dd128b10) >>
->> endobj
-4893 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 570.277 170.687 581.181]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_f3c5bf7dd0135194b6c180dcb232ef54) >>
->> endobj
-4894 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 531.796 178.435 542.327]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_fc81dafc5cf15ca9acd8f6a03f66c788) >>
->> endobj
-4895 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.426 492.569 222.233 503.472]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_a02f5903786b4da29daecddcb0db6cbf) >>
->> endobj
-4896 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 453.714 180.938 464.618]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4897 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.678 453.714 231.847 464.618]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_311a973ff993328d8cb3627f3af31129) >>
->> endobj
-4898 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 414.86 180.938 425.764]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4899 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.908 414.86 239.04 425.764]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_3e8a8932563dfdc292fde93931f0bf2e) >>
->> endobj
-4900 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.426 376.006 227.852 386.91]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_4fa3c4bbfb1c6905d95c08c2d90af526) >>
->> endobj
-4901 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 337.151 217.61 348.055]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_b404db5180176140a7600b31616f9a07) >>
->> endobj
-4902 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 298.297 180.54 309.201]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_6ba82ff86685d87dd34f4d441a7d769b) >>
->> endobj
-4903 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 259.443 178.239 270.347]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_d8c2dc06b66e812182f2b1445940e7ff) >>
->> endobj
-4904 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [99.226 159.372 156.003 170.276]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) >>
->> endobj
-4905 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.169 159.372 513.996 170.276]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-4906 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4910 0 obj <<
-/D [4908 0 R /XYZ 90 757.935 null]
->> endobj
-182 0 obj <<
-/D [4908 0 R /XYZ 90 733.028 null]
->> endobj
-4911 0 obj <<
-/D [4908 0 R /XYZ 90 628.105 null]
->> endobj
-4912 0 obj <<
-/D [4908 0 R /XYZ 90 628.105 null]
->> endobj
-4913 0 obj <<
-/D [4908 0 R /XYZ 90 589.37 null]
->> endobj
-4914 0 obj <<
-/D [4908 0 R /XYZ 90 550.516 null]
->> endobj
-4915 0 obj <<
-/D [4908 0 R /XYZ 90 511.662 null]
->> endobj
-4916 0 obj <<
-/D [4908 0 R /XYZ 90 472.808 null]
->> endobj
-4917 0 obj <<
-/D [4908 0 R /XYZ 90 433.953 null]
->> endobj
-4918 0 obj <<
-/D [4908 0 R /XYZ 90 395.099 null]
->> endobj
-4919 0 obj <<
-/D [4908 0 R /XYZ 90 356.245 null]
->> endobj
-4920 0 obj <<
-/D [4908 0 R /XYZ 90 317.39 null]
->> endobj
-4921 0 obj <<
-/D [4908 0 R /XYZ 90 278.536 null]
->> endobj
-4922 0 obj <<
-/D [4908 0 R /XYZ 90 222.123 null]
->> endobj
-4907 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F11 418 0 R /F72 471 0 R /F23 340 0 R /F99 2117 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4932 0 obj <<
-/Length 2040      
-/Filter /FlateDecode
->>
-stream
-x��Ymsܶ��_�NfR^���ʗ����L�&���'ۣ�HH�)���<�ʯ�. �
�d'�L?h��b���g'�=x����o7����$x���{1�€řw�y�|��5����+F���%��+N��x��Nn����I��ټ�ʦ���l��7:;�m^��7?^�fltW�H�
-挗v�DF	q��}�ZsE�+� N0��n�_����H��ʻY��׻}���μ���^���e�W��>�"y����/x
���I�$�Kw�>P/��=JD
y�f�Γ\����^��:��O��$)3ڲ��0�B.�/F��]��� ��ۧ�ջ��|���_�c�%���TQ�c/�8x
H+����\t$}�1bn�V�I�-�'g�
��yٝ�9E��Ci���hnu����Ԡ�X���5��}���
W�#րQ�&֤����U#"\ޚ�o�ߘ���F�y��<���
'EG�cEpvHTڭ7[@Y�
v�l�f���v���K�|4i�^
t�(���]�UwŠ�Zq�?�僝zO)/��DiV

���"���=�j���Za��
����I+ō��!	�l�R� I;:JP8B�Ǭ0Z�8alN
����@�ǼpR^O
�#��
2�C
!�6��'Ic!`@�HA&pI��"f!�u�b���g��9���3�;�n��(���1��u�;����,q`����	@<wi�U^��!�
�
�
�G�=�p
�
Gה��`��^�!������pW�5�'�����ׇ���LB|�>-8	�Sia9�~pd��O���<�(����fb;�B�E�R�CPE��LBp9��}r(��,��a�fƘO��0x݉�Ly�>��3�m�h��	H}��+f��:o7��4=�ZX0]�C\��D�O3��k���Ҥϗf��=�.ʻ����,�l5_�Ǡ��3"�B�g�{*��`����?	YH"���	1:Oo
-�(aJ��
a��\�6ɋ�
�i��;
��ƌ�v��Մ���\�9�}��2١�!�l��t>�Ԍ2 �X��t��W��~����k�S
ĺd�Z2]tN���>{V����:�W65"A��I��V=T�%��������>!�ۤl�]1߉B�N�&.�6�Rî�x���Y��,
��΀�����8
qE�e��tc�ȝ��߁��U,{��I�u
y?6�v���>vBxnQ5[\����#
QG]!��:w��T�]4NZ�Q⫉��4��@�b�
�
<@�oJ
|L&'�l�!ׁ9ϰA
�T�-���؜�Y��ZUα����9� ��z�*.?�&~��	����4ͮ�0���(�{+*V����<c���A�lP
{��
Y�	��3~B$�b
�/C�E���K�a�/y q
�'����77Ǎͧ55���,�%"���.��T� 
����s�
O�&��AAGkvR�zA��� ��v��Kаٔ	�h�3t},Xp���
>�GMRf
���_#�>9M�$��`<�X��(|NQ@h� 
��$b�yhQ�^0������8�j�O�F#�
4�*M���4l�
g���;}��q0
8TY�ID�)�(��6(�_"́�
��ւ��p\� ��-����W+'�����R
�p�3��{�Q`�� 4%�k5`A��|��`���)E��)�*�$n�p��֎��2�ގA�F��$������3M�!n
64L9�`b�Ҽ:�����7c=~—�&Pg�Z������8W��O:ˁ.��5�.��-.���o��EG�(Ƙ�
�'H0��V'� ��_�W�z�����ۆI*�eUO��f�9$E޺�)ˣ]�v�� ߥ�7����O��(Jb?��R�x�lL���c1)�)ݞVKD$�3~�Z'9P

8v��?\�Y��0?��YpO
E���b�Լ��;�.q�]h_]h_�����+�|W�J��b�I}DQ�n���R �w�3��.��e���?�?(}YA{��m��\^>>>��!�2��$o/��������p����ˮ���y�tn��#�]�΍
-endstream
-endobj
-4931 0 obj <<
-/Type /Page
-/Contents 4932 0 R
-/Resources 4930 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4849 0 R
-/Annots [ 4923 0 R 4924 0 R 4925 0 R 4926 0 R 4927 0 R 4928 0 R 4929 0 R ]
->> endobj
-4923 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 493.743 207.229 504.273]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction_87f25b7a2988f918a20b3d09047b08ab) >>
->> endobj
-4924 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 454.515 197.875 465.419]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction_383574ff4028da9048235b061a613b99) >>
->> endobj
-4925 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 416.034 214.978 426.565]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction_898fefd81641cf4f6b854e85412a415c) >>
->> endobj
-4926 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.613 279.285 397.034 290.189]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-4927 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [159.512 115.762 179.766 126.666]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-4928 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.977 115.762 329.907 126.666]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-4929 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4933 0 obj <<
-/D [4931 0 R /XYZ 90 757.935 null]
->> endobj
-1480 0 obj <<
-/D [4931 0 R /XYZ 90 631.363 null]
->> endobj
-186 0 obj <<
-/D [4931 0 R /XYZ 90 624.763 null]
->> endobj
-4934 0 obj <<
-/D [4931 0 R /XYZ 90 512.343 null]
->> endobj
-4935 0 obj <<
-/D [4931 0 R /XYZ 90 512.343 null]
->> endobj
-4936 0 obj <<
-/D [4931 0 R /XYZ 90 434.754 null]
->> endobj
-4937 0 obj <<
-/D [4931 0 R /XYZ 90 378.341 null]
->> endobj
-4938 0 obj <<
-/D [4931 0 R /XYZ 90 315.954 null]
->> endobj
-4939 0 obj <<
-/D [4931 0 R /XYZ 90 253.756 null]
->> endobj
-4940 0 obj <<
-/D [4931 0 R /XYZ 90 231.444 null]
->> endobj
-4941 0 obj <<
-/D [4931 0 R /XYZ 90 231.444 null]
->> endobj
-4930 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F65 376 0 R /F50 339 0 R /F21 2111 0 R /F72 471 0 R /F23 340 0 R /F95 1788 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4961 0 obj <<
-/Length 1675      
-/Filter /FlateDecode
->>
-stream
-x��Ym��F��_�T)�R���kU����楽��$��Y�ix
�s�_�}��]�$��w,0;��>���Zw�~
�x;�^��b��صn����"@1�nC뵍@�x� ���A;(�`v=����튇E0{͋��^\\�I���}6�B��C@�V���"��#�S
\�
(A@ȫE�?���Z�i
��x�)�o�
�<�ci�z�/y1F��ӅxD]Hm�3�t�����	5�B�+�
��"�~
�P<fA@�om�Tb9��kl݌~A�ax��>:��]�\�,Y{8H�#�
eH_����r}�AfM�R�Մ�3szEaׅ�i���vE�EiU�J߅YD�
�'<����11:'��3�	�G�š
\�Y�;��Vq�����Z�U���ˬЃj4,v��(���;��B $43�,���ZY
gcL�M���Go �1�\�_I��Pm��iW��������V
�E�1*wS�֨!��{����� v�p�@X�d��~`v�;���#�G���Ձ�3<����ô�?� 7*}��~���cYG(lyH
giY|�嶬x����R9}��Yf;��3����WQ����#R<����.�9N�em�t�
-|1�)N�
�U�@�D�K�̹	��u���R�`��/��~�̃�Y-����l��O:T�
Pr<2�V�����'FN2sqg(���Ѣ��2
��?���
�a��Jb!"�����|Cn�x�.�.�Z�c��
-�򪲋�W��܁0���Xm:��Im
`�N��<���΋�Y���w�u�W�}'M pIC"U�6a�U� L�Z(Z�'D$� 
� K�
���Xk��;6A'��
�� w'���I3J�u��j ܨ�Ȗ�7
��4݌�X��
9KR�ْu��~��߈G���mVYl��|Q�\��$"P*K(ظ��k�m�� �gU%2�'��A�!BO�L��Em��XOM�j���
��>v���e�A�#�I����m��]r{

Ţ&�D�e�F��3Y�EqymD
P׫x�Z�l?�}� ky��K
ThS�o4Q@��=O� S�3xr�@0]H�_G�b����X�Qd���Y &?��G

:.YR���ʔMbw�ծ>t�
�CO�� $
�d�vVF��Y����Y���xf�F�l��x���v�g����g�{�2��	���d&*ۇS�^�y�X��r���a�9�@��!�|���
����[J�%��ѐi ��w��qP�2�P� Px �@L at A��y�T����#���_�Fл��v��q���q��"
-ҪA�Xˠ�J�Fy��
'�y)u�p�ܷ
-�Y��U��y$BfÃw
-J���
s�@_�鮵�"��y\[4�#�jM{���x���<����{��7G%�%9�y,
��Rv�N���׾z��<h��u���n���,���!�y1�P���:��R��c�t����aE
-՝89�=F���-�,
UgVi�z_�%�Ċs��j��#�YB�4Pt�j�GU���\1	��9A�| ���/�j(�{����V�*���Y����i
-�?J^|=��6�|��:�Kp�KU�(�6�X>XwD���
���W�ΪG�G�w;{��^UU~1�n6�(�:��D�4���~<��� �%M[_$�����D�����/�h�(
-endstream
-endobj
-4960 0 obj <<
-/Type /Page
-/Contents 4961 0 R
-/Resources 4959 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4849 0 R
-/Annots [ 4942 0 R 4943 0 R 4944 0 R 4945 0 R 4946 0 R 4947 0 R 4948 0 R 4949 0 R 4950 0 R 4951 0 R 4952 0 R 4953 0 R 4954 0 R 4955 0 R 4958 0 R ]
->> endobj
-4942 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.242 507.051 194.776 517.581]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_6e192bab4a848124e98adc8e04f1b780) >>
->> endobj
-4943 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 468.093 160.465 478.997]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_f724448826bbc00406f8f680b31fcaad) >>
->> endobj
-4944 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 418.923 175.967 429.453]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_7698afbb74c4d9ef4a404fd200b9226c) >>
->> endobj
-4945 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 379.965 204.739 390.869]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_6a570635ea948e8b83a131c1433f558a) >>
->> endobj
-4946 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.076 379.965 283.313 390.869]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-4947 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 341.38 244.091 352.284]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_162dc548ba77c3b8b0c09b83740b0add) >>
->> endobj
-4948 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [271.428 341.38 322.665 352.284]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-4949 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 302.796 191.718 313.7]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-4950 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 302.796 288.852 313.7]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_68155a8dd4748908068c4f06816ced9e) >>
->> endobj
-4951 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 264.211 191.718 275.115]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-4952 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 264.211 303.079 275.115]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_97f31ca582bbc0a736ce5f3167021638) >>
->> endobj
-4953 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 226 150.493 236.53]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_766f30dae23752bf497bca855ef8b259) >>
->> endobj
-4954 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.636 187.042 264.424 197.946]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_c7a892d14bca002fc1a03f9b8a950850) >>
->> endobj
-4955 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 110.925 176.332 121.829]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_6d81efe6a6302e1b6296be157faeb73e) >>
->> endobj
-4958 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4962 0 obj <<
-/D [4960 0 R /XYZ 90 757.935 null]
->> endobj
-1481 0 obj <<
-/D [4960 0 R /XYZ 90 630.886 null]
->> endobj
-190 0 obj <<
-/D [4960 0 R /XYZ 90 623.868 null]
->> endobj
-4963 0 obj <<
-/D [4960 0 R /XYZ 90 523.614 null]
->> endobj
-4964 0 obj <<
-/D [4960 0 R /XYZ 90 523.614 null]
->> endobj
-4965 0 obj <<
-/D [4960 0 R /XYZ 90 487.051 null]
->> endobj
-4966 0 obj <<
-/D [4960 0 R /XYZ 90 437.508 null]
->> endobj
-4967 0 obj <<
-/D [4960 0 R /XYZ 90 398.923 null]
->> endobj
-4968 0 obj <<
-/D [4960 0 R /XYZ 90 360.339 null]
->> endobj
-4969 0 obj <<
-/D [4960 0 R /XYZ 90 321.754 null]
->> endobj
-4970 0 obj <<
-/D [4960 0 R /XYZ 90 283.17 null]
->> endobj
-4971 0 obj <<
-/D [4960 0 R /XYZ 90 244.585 null]
->> endobj
-4972 0 obj <<
-/D [4960 0 R /XYZ 90 151.277 null]
->> endobj
-4973 0 obj <<
-/D [4960 0 R /XYZ 90 127.772 null]
->> endobj
-4959 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F21 2111 0 R /F65 376 0 R /F72 471 0 R /F99 2117 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5006 0 obj <<
-/Length 1479      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�6~���^2	�i^DI
�[��V k���d�q���Ir]��
R�,;�c�Κ�}�LQ����υؚY�z9�e<]x�HxԳ�7�����)�Ƒ��&���}�l�E^_:�y���Q^�O��X�����,�8
+��]�Mq����Z�����	F�m&\^�!."�o���C͌�IX�ΐrl�
Am����
y#od��������MVB���
��Ѩp��[�t��=�"ea�D`-���r)��ĺ�9��]�y��zy �W���Qʵ6�ϕ:�������z;�`�-�����;��4��ʼ쑢�=WS�0Ϊ�UYɴO�ٴqdK��wt�S+�=y�69E�K�!aH����~����*�3gȸ��2��*/��T�ŮE�De=���0ۑt��ާ
ӻ�%���e��~��L�~�'��|[��<��lfȻ
��$,�0�J�G������	��f�X�H-snDð����!(���oI>-���B���@�@�� ѐ� 
 [...]
p^�#Y�݈��*
@������e:O�:^,2��&@W��q�ס���<�oV�k�_�)�h����zہ�!��y�'�a
�ڏ:�����\�ᬹ��,���"�eO��?k�x�RBt�b
-�5�0�9h\�ᖚ�m�w��iy�z�1��ʜa
-��1����Wy;@�(U�,�C8�m�z�p�|񰣓b|���GQ.���Ƶ�\S��
UM�O��
~�{�<02���^K~Pŝ� �y�<��Lz�H�l�
b�ZG��S���Y��m��# �
��)���Ya��r;�w ��$��w��v>�3񙁸��o��i5�miw��2w%��/������A�������FV���^�=�TK��.�!�fʬ��(j�I��#�9=^�UP(t�6�KU�,�X�Qĺ�Pt�Ѓ@�Q��'+Q�1��7�^ÏO��Z7�
�Ǫr�:�˥�'�w�����/����9*)G��E��b�@�`h�RD�6�E�,*���
ra-M Pr��'y�
�6��7�w� o��asow�
r
�u�pGH�d;���S:�6�Sܷ
��XCq�

i d%�+��u7c�]j3�k�_
y���&���A���P|��>
-h�$��#^]�|v����
���[Q�
S�uZV���C� ��QEN���^�
-����
O��c�B��ܰu��"��&��NW,����U��N�7��M���q��c�qn�4n��K�����/�
����e���U��{�s�l��"L��}?*Q�(���s���3d�w]Ɇ���>X���m���Nx�[�o�j~>-�K4-�"�����|����
)��j���-��lj;Lu��i��_ϕ��
-endstream
-endobj
-5005 0 obj <<
-/Type /Page
-/Contents 5006 0 R
-/Resources 5004 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5021 0 R
-/Annots [ 4956 0 R 4957 0 R 4975 0 R 4976 0 R 4977 0 R 4978 0 R 4979 0 R 4980 0 R 4981 0 R 4982 0 R 4983 0 R 4984 0 R 4985 0 R 4986 0 R 4987 0 R 4988 0 R 4989 0 R 4990 0 R 4991 0 R 4992 0 R 4993 0 R 4994 0 R 4995 0 R 4996 0 R 4997 0 R 4998 0 R 4999 0 R 5000 0 R 5003 0 R ]
->> endobj
-4956 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 707.957 176.332 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_8a354fa2b600043e51e8556864b69dbf) >>
->> endobj
-4957 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.669 707.957 281.496 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-4975 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 660.136 176.332 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_de012d0e50f285077169741e9940f414) >>
->> endobj
-4976 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.669 660.136 288.122 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4977 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 612.316 176.332 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_46a0e4adbfa5f07c11b1cefeaeab50a9) >>
->> endobj
-4978 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.669 612.316 254.906 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-4979 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 575.828 184.081 586.358]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_12f9c11414ff84c5f98e089fe1671e4b) >>
->> endobj
-4980 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 502.039 229.552 512.943]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_947140ae6a3b18452b6e69dfcf3daf51) >>
->> endobj
-4981 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.89 502.039 308.127 512.943]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-4982 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 465.177 196.347 476.081]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_b482b0092b8947168a9cc650e7f5a666) >>
->> endobj
-4983 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.684 465.177 274.921 476.081]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-4984 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 428.315 220.038 439.219]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a894183e37c6f3614ed4938d94a3a7ee) >>
->> endobj
-4985 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.375 428.315 298.612 439.219]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-4986 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 391.454 224.003 402.357]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a76dc794cd0a663bebbf8fc0d11d9714) >>
->> endobj
-4987 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.34 391.454 302.577 402.357]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-4988 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.695 377.829 272.49 387.734]
-/Subtype /Link
-/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
->> endobj
-4989 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.905 354.965 182.439 365.496]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_81788a9e6af2cd17a632e4008b4b5634) >>
->> endobj
-4990 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 306.771 176.332 317.675]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-4991 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.071 306.771 227.878 317.675]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_ebaa837f2ff5fafb87e1e9ceaa9ccfa1) >>
->> endobj
-4992 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.215 306.771 306.452 317.675]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-4993 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 269.909 167.466 280.813]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_d56183741949b698e9781549d3da5fa5) >>
->> endobj
-4994 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.281 269.909 222.518 280.813]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-4995 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 191.139 180.54 202.043]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_6e1f5c74ae6b2a7fda7094889aa46300) >>
->> endobj
-4996 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 191.139 259.114 202.043]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-4997 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.404 191.139 383.642 202.043]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-4998 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 152.285 178.239 163.189]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_c8977c97bf04a9145308585bf0f79110) >>
->> endobj
-4999 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.576 152.285 256.813 163.189]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-5000 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.103 152.285 381.34 163.189]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-5003 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5007 0 obj <<
-/D [5005 0 R /XYZ 90 757.935 null]
->> endobj
-5008 0 obj <<
-/D [5005 0 R /XYZ 90 725.058 null]
->> endobj
-5009 0 obj <<
-/D [5005 0 R /XYZ 90 677.237 null]
->> endobj
-5010 0 obj <<
-/D [5005 0 R /XYZ 90 629.417 null]
->> endobj
-5011 0 obj <<
-/D [5005 0 R /XYZ 90 592.555 null]
->> endobj
-5012 0 obj <<
-/D [5005 0 R /XYZ 90 517.117 null]
->> endobj
-5013 0 obj <<
-/D [5005 0 R /XYZ 90 482.278 null]
->> endobj
-5014 0 obj <<
-/D [5005 0 R /XYZ 90 445.416 null]
->> endobj
-5015 0 obj <<
-/D [5005 0 R /XYZ 90 408.554 null]
->> endobj
-5016 0 obj <<
-/D [5005 0 R /XYZ 90 371.693 null]
->> endobj
-5017 0 obj <<
-/D [5005 0 R /XYZ 90 334.831 null]
->> endobj
-5018 0 obj <<
-/D [5005 0 R /XYZ 90 322.089 null]
->> endobj
-5019 0 obj <<
-/D [5005 0 R /XYZ 90 287.01 null]
->> endobj
-5020 0 obj <<
-/D [5005 0 R /XYZ 90 210.113 null]
->> endobj
-5004 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F23 340 0 R /F99 2117 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5030 0 obj <<
-/Length 1823      
-/Filter /FlateDecode
->>
-stream
-x��YYo�F~ׯ`_\��{�+$z�@��n�n0��&"�*I�Q}g��2��S�ȓH����ofg�w�a��ɷ��S�<���һXy
-{�$HP�],��)!����Oώ	���&|vL�4Y��2
߿�>�a��Ͽ׹N7Q
����ū�SBZ�)�,\H~^��N0��z��C��z�e�
��7�[�Yv<�O/����vm�+���+�
�`��<�)Q���p1�sB@
�H��#�	o��\������0b*�n��6
�
~�����	
�0eKQj�V���F��x�GI���	��{3����,��IeJ~
�Օ���0�qb����0��^Uk!U]i��8
`A�8�vAJ��V�������/@\�~�+Gv�ߚ����
8�$A
�|��q���T�p$r�x���������������|�dy��M)�ȚgB�^�ؿw\'[��y�v�Rq$�mz~�O-���A�(�M���
O>��AҵV=H
�0�w����cH41~�#�ɾ�;�j��) FIɋ�P�"�D��@�������"�8���i B�u�����R$9�_����O@��
-��B(���m��[7����ߛ
- le�> ���|�p�#�Hՠ�\!G��
����Ӷ��@(αޖ�ć�
 EH2�M�<"���N@�9L��6�o�"
-��_�$(Z�7�"��� ���Ձt�Dj�Q�BN�8*�P��Վ b�|������i�5%��A�t��*���Pc�����v$
-�$%cmJ
�Eӥ<��"
-��@�5Yc0��\�a
�&:>�=
�֎Кs��V���(��eˤ��!�X�g�
�W��U᥅F
�A�ED�6d��̛VT5[>�b��q
��
-��7 (�u����]@1� J!)�A@�����dm�=P>�X�Y�P���I���:�*�G"yP��$���v���V�͍�������c���ƿ��Y�{��(��pIjf�xׅ��4p���{�K�c�ޔ�<����l\�D��i[JK��ޢ~Uu��͢e��)��]NBY�PQ��|�᤺�bڕI3@] dR�C��&�i�xiW��һsO�4cO�f<P�8�B<���F�!�2͌�ʗ/^��*Xv���#IV8zxkl�
I2 �R���B��7�p
�tM�:dp��j�>3ARA�O��3�6K��
S�?�\��v����}���^�4��rU�G7�����N�g���K�nL
�ޑovD5J���e;���B�z�a/���j3�^k��,�;R�w�}V����{���u��Ġٍ�4b�U4��
s��4b�
�h���ֺ}4"��������A4B�tiD}(����/42L#KP	ڞ�Nu�y蠑��<ž�G�ܹ�GT�a82�7��
$ [...]
-ܝ��0u����9��r�
�ߝfn=��%͚7f�c����b W���cO��@���[�t#J ,��7ąz��Qh�VV��� Ҋӧ�1�k���+�(�Qp�ۮ!iK��W:�:ҁ�|8CR3t �œL�����^�<�K��AAk�VN��͕�

T��U�lZ�U�^'��޶�*�����z����5��v�9<j�R���<i-NX���.��Dy�
-�i!����	���p_�Z�7�e:�ڰ��՛0�U�C$7F�N�����!���NJ�>z��O�"��v�
����������-2���m���
wr���%�􁵐��j��
n
-��C��
��c
-endstream
-endobj
-5029 0 obj <<
-/Type /Page
-/Contents 5030 0 R
-/Resources 5028 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5021 0 R
-/Annots [ 5001 0 R 5002 0 R 5024 0 R 5025 0 R 5026 0 R 5033 0 R 5027 0 R ]
->> endobj
-5001 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 658.204 226.034 669.108]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_bdd1d97c66bb40b6b396982cc6dfc182) >>
->> endobj
-5002 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.301 658.204 368.538 669.108]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-5024 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.651 607.489 166.016 618.393]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_e1b84de453a8ba7224dbc5e378011e9b) >>
->> endobj
-5025 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.567 607.489 341.887 618.393]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-5026 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.021 607.489 513.996 618.393]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-5033 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 595.534 200.564 606.438]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-5027 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5031 0 obj <<
-/D [5029 0 R /XYZ 90 757.935 null]
->> endobj
-5032 0 obj <<
-/D [5029 0 R /XYZ 90 716.221 null]
->> endobj
-5034 0 obj <<
-/D [5029 0 R /XYZ 90 558.305 null]
->> endobj
-5035 0 obj <<
-/D [5029 0 R /XYZ 90 507.584 null]
->> endobj
-5036 0 obj <<
-/D [5029 0 R /XYZ 90 475.298 null]
->> endobj
-4974 0 obj <<
-/D [5029 0 R /XYZ 90 452.986 null]
->> endobj
-5037 0 obj <<
-/D [5029 0 R /XYZ 90 452.986 null]
->> endobj
-5038 0 obj <<
-/D [5029 0 R /XYZ 90 389.217 null]
->> endobj
-5022 0 obj <<
-/D [5029 0 R /XYZ 90 366.905 null]
->> endobj
-5039 0 obj <<
-/D [5029 0 R /XYZ 90 366.905 null]
->> endobj
-5023 0 obj <<
-/D [5029 0 R /XYZ 90 317.664 null]
->> endobj
-5040 0 obj <<
-/D [5029 0 R /XYZ 90 303.137 null]
->> endobj
-5041 0 obj <<
-/D [5029 0 R /XYZ 90 255.933 null]
->> endobj
-5042 0 obj <<
-/D [5029 0 R /XYZ 90 241.405 null]
->> endobj
-5043 0 obj <<
-/D [5029 0 R /XYZ 90 194.201 null]
->> endobj
-5044 0 obj <<
-/D [5029 0 R /XYZ 90 179.674 null]
->> endobj
-1482 0 obj <<
-/D [5029 0 R /XYZ 90 81.662 null]
->> endobj
-5028 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F35 2018 0 R /F72 471 0 R /F65 376 0 R /F95 1788 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5057 0 obj <<
-/Length 1410      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~�����h͐)J�0�ͥH��^�b��Pl���+��a�}G$%K��A��:"����w.���
^OG�c��w�kM�,[�%�SbM�֍M"|8"c{<$��8����i�]�yL/��,ȶ�ǧi
��t�
�g����~��=:'�a�R�<���2�^�:���
N���rl��
mA
�������(�s�m2�-�URK��T'��
D�c�&�2:8�
���Qq��íY<����9��Z9�gmԪ�bԁkd]�
�ހ��9� ��.���C�&�p�#�>�5�A�C[�3Fk��
-E%��?����0k����سF�
&�v0��a
9
�8�F�!��z�d���v��DMK��m����ME�߭!B&�tH�}_��j�R&;E;�ە�˻�!e�zf�JMh���x�
n��r�!�/a2��s�C|� l�Ĵ�

-���U��˾��s�C4�b��)">k�C�SYaT�x*�Y��0MT�����h�{�� �*C�S�t	}� �#\�Y�Ģ�jJ���e��5t*�|�"H|Dz�>@�Jp9 �H�y��#C.��c;�̒�=��1��K���0�
�0S>�fJ��Ԓ���6L�c0�r����~��C��^����6�e�բ�LR���aȨ>{#���!�8�~�m���JmD�/�]M<�\|�&�:�39+��A�MxKƄ����VKK\�k
�n�Ž��aq�Q��=�uS�
Ĩo�u�K���#��P��L22>�6�&KC�y:[�2)U��.�
���l�*��Y�DfAM��,����RE��a�ТO�H
���9,�"�@w�
�z���W݌8��f�h��Q��a�xޮ	�O�U�uA��'i�����}�:�G���������x�v�ze�	
\uX��v�� �>��>�.��1\�1�H�5���혨9T���L�W�M�7Y8�Lint��&�młY��U�����Z�O̟�my�`?Q��
#�S���� ���̊�D��,�]n��U&���,J�u&��Y�=U��L��d	<-
|㒷�}�/� �^�� Pꥭ�X�
z��D:h�̲�.�M�u@�{f�QoVYx��܃Cq�W���70��_
���(�Uo؂�0r�3�
��B�(z0]d���
-��:�
�zy�����~yx��+HBn�����.�O�q����WgӾ�j�-�lA-���+ �Q5���;�,TiO�� d�
G94��k��v���`�xO�<�>� -\�
 ��*�}�y��u&��*
��	}�1�ٯC�m���:���ͱ�?y�/0*��#��U�����g_���;�Z��B�F��w,�bu|t��l�,GпV
-�#(LG���������iUK����q�x ���w�
-endstream
-endobj
-5056 0 obj <<
-/Type /Page
-/Contents 5057 0 R
-/Resources 5055 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5021 0 R
-/Annots [ 5045 0 R 5046 0 R 5047 0 R 5048 0 R 5049 0 R 5050 0 R 5051 0 R 5054 0 R ]
->> endobj
-5045 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.923 336.061 197.177 346.965]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5046 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.912 181.432 316.06 192.336]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-5047 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 126.573 160.207 137.477]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_55b76ba0041601d8da38ab5ad619eed5) >>
->> endobj
-5048 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.977 126.573 192.655 137.477]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_55b76ba0041601d8da38ab5ad619eed54312979a12cae5ebb0791496e1ccce7a) >>
->> endobj
-5049 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.643 126.573 217.621 137.477]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_55b76ba0041601d8da38ab5ad619eed505abaa6ff4aa204c25c94719e8a2b6f4) >>
->> endobj
-5050 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.61 126.573 251.932 137.477]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_55b76ba0041601d8da38ab5ad619eed5b7fe867b1243e111ef4364e3ef5b5329) >>
->> endobj
-5051 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.921 126.573 336.614 137.477]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_55b76ba0041601d8da38ab5ad619eed5bed2d3fff60e7c0b8fc325bf46f9725f) >>
->> endobj
-5054 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5058 0 obj <<
-/D [5056 0 R /XYZ 90 757.935 null]
->> endobj
-194 0 obj <<
-/D [5056 0 R /XYZ 90 733.028 null]
->> endobj
-5059 0 obj <<
-/D [5056 0 R /XYZ 90 651.04 null]
->> endobj
-5060 0 obj <<
-/D [5056 0 R /XYZ 90 591.531 null]
->> endobj
-1483 0 obj <<
-/D [5056 0 R /XYZ 90 479.416 null]
->> endobj
-198 0 obj <<
-/D [5056 0 R /XYZ 90 472.815 null]
->> endobj
-5061 0 obj <<
-/D [5056 0 R /XYZ 90 397.277 null]
->> endobj
-1484 0 obj <<
-/D [5056 0 R /XYZ 90 285.868 null]
->> endobj
-202 0 obj <<
-/D [5056 0 R /XYZ 90 279.268 null]
->> endobj
-5062 0 obj <<
-/D [5056 0 R /XYZ 90 143.644 null]
->> endobj
-5055 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F21 2111 0 R /F50 339 0 R /F65 376 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5095 0 obj <<
-/Length 1315      
-/Filter /FlateDecode
->>
-stream
-x��YKo�6��W�J at M���G�
�i춋���
�
A���^KIN�__R��vd�N
��\l=�����
gD��4�]
~
F���y������5j�� �HO�;
!�
c� �����
�8�

�4Z<�)�_ل|q~~Eʃ"���_DA���zO��\�&!�L{:�L��������� 	���*�
�ha<��
-��x�I���\�k6���~���`@�(c��I�B��gOh��e��K��R��7�$pI��e��c`7�`LV�(��6��j��
����fy�x)��	
��E��G�
�U��LHAk�4�8Xs�!�%
�XX"
x��
����OY"xT��i�VJ�2�k"�t�+`�f!A��vlt��9t�e{❚M(���$��r�1�"�+N�oLVa��

�]��l�ߤ�������>�9�%1M
-�U�@D ��8O�P$��/}~�T8ς���̭~W�V���p�Т�I�W��.����k��4l�r����8Js��TTy����u�c;]�AS�ٯe��W<�\�Y5Cl(�
�=�4
@L��a36\��L�ʏ��L�2�Z���i��!:@�lj	B� ���O��$M��i��~Ēc��,$*�-^�>�L-�� ��\%Q���>�,�����F�S���Pδ/�XT^��������r���� ���|f)K�wF_�h�CSn�%��
�R���Q8�H齁���L�~�V���S>�
w�mou�p]�&O�(F��*�΂IԻs�ߴv�,@�+�
-�
�k6
�{8v��;��
w� F��k.@o��~ G�2)d��g�����/�E��w �yQS&��?�е'�
��f��ϗ�T �4h
-��Z"�0��OL�/���K�hh��"����(h~�ƨ)b�dž�IZ6�H�2@�n��
-Ck��NX���+
�aXf�N�Y=>�m8�:q�ȭ��1
�j%�)(ON�-s/�9�@v۪��F���]r��6p�u��~+U.�?AT��}\���Ր�?����v��"%Xދ$���M��}�g��� Zd��t^

��v�	�1Z��'��8k����u߱��
/��TTE��
�	���d~����qy���_.�寱=u�H��;yv
q��m�r�����,?�b
�g��<���B
rw=Q�NR����sL�>I%
 ��y���U^�q]�]7g��>V7�'�a��|��)ۤ[̥(ʻ3
��!��3�!�
��Ҧ\Q���5W�
*<;}�� �<>Ev>=>>�0e�2X1ʲh���wI���oQL�ŇxW
�ʇ��?d+{�
-endstream
-endobj
-5094 0 obj <<
-/Type /Page
-/Contents 5095 0 R
-/Resources 5093 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5021 0 R
-/Annots [ 5052 0 R 5053 0 R 5068 0 R 5069 0 R 5070 0 R 5071 0 R 5072 0 R 5073 0 R 5074 0 R 5075 0 R 5076 0 R 5077 0 R 5078 0 R 5079 0 R 5080 0 R 5081 0 R 5082 0 R 5083 0 R 5084 0 R 5085 0 R 5086 0 R 5087 0 R 5088 0 R 5089 0 R 5090 0 R 5092 0 R ]
->> endobj
-5052 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 697.247 155.733 708.151]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_3f29f8b40d09b17eaa4cbaac069f72a0) >>
->> endobj
-5053 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.07 697.247 224.893 708.151]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5068 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 658.767 163.482 669.297]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_b339ccb929a7255295ad19a5b168d5d0) >>
->> endobj
-5069 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 619.539 155.733 630.443]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5070 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [166.473 619.539 207.279 630.443]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_4fb7d78e7b37d7f4b99babdc5cc84783) >>
->> endobj
-5071 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.616 619.539 276.439 630.443]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5072 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 580.684 179.554 591.588]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-5073 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 580.684 250.666 591.588]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_1c884f5152f75040139ec3d9ec8ac293) >>
->> endobj
-5074 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 541.83 135.579 552.734]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_55b76ba0041601d8da38ab5ad619eed5) >>
->> endobj
-5075 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.077 541.83 155.225 552.734]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_7c502c8d46ed2f68679404fdfdf8e0bf) >>
->> endobj
-5076 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 503.349 162.677 513.88]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_d8cee05f88ad5aea288c1f6b8bf7cdc7) >>
->> endobj
-5077 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 464.122 160.455 475.025]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_e5902ab7e2d3304037a56ecda7fc22a4) >>
->> endobj
-5078 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 425.267 168.216 436.171]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_f1827b1f7a42393a2526944530559c5a) >>
->> endobj
-5079 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 386.413 201.969 397.317]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_2aba27eb7310045e1a35c7e68af01ab2) >>
->> endobj
-5080 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.933 347.932 297.728 358.463]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_fceefab91d648d188e42e5a75a3a977e) >>
->> endobj
-5081 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.544 347.932 336.732 358.463]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-5082 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.933 309.078 283.353 319.608]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_eff190ba56f86d3425859043689d499a) >>
->> endobj
-5083 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 269.85 191.718 280.754]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-5084 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 269.85 288.852 280.754]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_de98f4e320d7d21e223afb83240b3800) >>
->> endobj
-5085 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 230.996 191.718 241.9]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-5086 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 230.996 303.079 241.9]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_77fc44f44b1bdda486e19e30310634e2) >>
->> endobj
-5087 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 192.141 201.471 203.045]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_42867df59ec40173391b76074f9f0fb2) >>
->> endobj
-5088 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.808 192.141 270.631 203.045]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5089 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 153.287 181.845 164.191]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_13c726daa7d565ded0b177e24b6d1104) >>
->> endobj
-5090 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 114.433 181.845 125.337]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a40eabb29ea4abe082c3a2e6dc820276) >>
->> endobj
-5092 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5096 0 obj <<
-/D [5094 0 R /XYZ 90 757.935 null]
->> endobj
-5097 0 obj <<
-/D [5094 0 R /XYZ 90 716.221 null]
->> endobj
-5098 0 obj <<
-/D [5094 0 R /XYZ 90 716.221 null]
->> endobj
-5099 0 obj <<
-/D [5094 0 R /XYZ 90 677.486 null]
->> endobj
-5100 0 obj <<
-/D [5094 0 R /XYZ 90 638.632 null]
->> endobj
-5101 0 obj <<
-/D [5094 0 R /XYZ 90 599.778 null]
->> endobj
-5102 0 obj <<
-/D [5094 0 R /XYZ 90 560.923 null]
->> endobj
-5103 0 obj <<
-/D [5094 0 R /XYZ 90 522.069 null]
->> endobj
-5104 0 obj <<
-/D [5094 0 R /XYZ 90 483.215 null]
->> endobj
-5105 0 obj <<
-/D [5094 0 R /XYZ 90 444.361 null]
->> endobj
-5106 0 obj <<
-/D [5094 0 R /XYZ 90 405.506 null]
->> endobj
-5107 0 obj <<
-/D [5094 0 R /XYZ 90 288.943 null]
->> endobj
-5108 0 obj <<
-/D [5094 0 R /XYZ 90 250.089 null]
->> endobj
-5109 0 obj <<
-/D [5094 0 R /XYZ 90 172.38 null]
->> endobj
-5110 0 obj <<
-/D [5094 0 R /XYZ 90 133.526 null]
->> endobj
-5093 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F23 340 0 R /F99 2117 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5145 0 obj <<
-/Length 1505      
-/Filter /FlateDecode
->>
-stream
-x��Y[s�8~�W�)�g��d��L���i:��f��S�a[O}[ٔ�_�G��@b�ia�}`���\�s��uga�������s� 
����`��b�X7��aH"�="��M�˔Ϯl��y�^�H����Vr��N_�LH^��
Q��	/K�|/�B�d2Y(���`H��t�z��f�π�@�"Z �#�aV�>|�V���0r����T��R��z�� ���M��P�`���򩃰njf)e��f��a�@�/Z�8��)��]-�{M�*d�U��1��!F�0��m��{|�Sk"z��R���k$�Rg�j��26�]D`�kE0v
�vO�"O�j׌�Ou��4y� Q�r)�h:
��
�F^�jY��]7J�瓆*/j�
'�ƒ���!|���@�� �IP������8�a᠀���m�'����0�gIΣ]�І��J
-�`��$߉��p��,�
��v�0O�� �:��:lqF[���__�z��t(m���|�"�x�5�ҋ�BF�h���s��c3�ll-Ӣ�O���� `�8�4��<�����
B?��be�x���'0
-XP-
s-u�O�6c őCTʫ�2+;N�����R�
-�6T⹁M�
CQ��erޥ��[�ǜ'e'� `��`�r!a����ّ���7'Φ
����.I�Iy��X�~��.�.c��2Ь� a 񋩈4Y-W��+C�J��b��v�
��ꎭg��N�+^t�-�
�U���X�բ���
��Xș�/z�!
������mUR

0���I�~'�[QwB��,T���:�a�b�
�����
��
�I�ę����۱�-l�r��k!!A�*х+�#�j2�v�j��*�#:�M�j�w!Shp[l���Ʈ'F��^1~/J��?:Q����G�&�"?R�B�ڏ?�H��C
�ȋ�c����J��IW*�3���t�Mȼ)����‹\�m�TҦa
��l����]H���#bM?�㪄9A�8�j�3C�v��ǜ�L4�� ��N`3�^u�b�t/���P��;+���Tt\�!;J2!�g��PӇI^.��u�QS􀣦{��� w��1�~-$Snt�OA�`��=�va��,l�D'ƣ$H��S�)�Ϫu!������Ŭݽw�8jт��tY�Z
-{[�ڹ=
-�.;��׌0�&�3���:ʍf��gq�$�&Na�W-���������"���p��W��'[�G��ܿW�y����tq���.ζ{��!��FmT�d3�uJ��bk��6�9���
��= �
,
4��=���PZ� �Au�
�pJ�����6Gt�y�����}����ؠ���Ϟ�;66
�c��t3����y�⁐�/��D,�A���Mc�+]�dZ��yId��~Sd~�]
-���0���g��~��_+!�
)F#� Q_�^�&��>[���@7B�򒉏
���*���j�Ba��Y\HW�HƏ�h6� ���ɼyѕ沽:�?S}K������|��
-endstream
-endobj
-5144 0 obj <<
-/Type /Page
-/Contents 5145 0 R
-/Resources 5143 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5021 0 R
-/Annots [ 5091 0 R 5114 0 R 5115 0 R 5116 0 R 5117 0 R 5118 0 R 5119 0 R 5120 0 R 5121 0 R 5122 0 R 5123 0 R 5124 0 R 5125 0 R 5126 0 R 5127 0 R 5128 0 R 5129 0 R 5130 0 R 5131 0 R 5132 0 R 5133 0 R 5134 0 R 5135 0 R 5136 0 R 5137 0 R 5138 0 R 5139 0 R 5142 0 R ]
->> endobj
-5091 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 719.912 154.727 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_de2531310fd7806c9e4f745cab145926) >>
->> endobj
-5114 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 681.432 176.505 691.962]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_bc8ae851f2a0a6260d954b3bd8505249) >>
->> endobj
-5115 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.408 666.437 450.955 676.342]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a40eabb29ea4abe082c3a2e6dc820276) >>
->> endobj
-5116 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 631.618 150.493 642.149]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_f1bf8c762c6f36b30f2abcaffe591acb) >>
->> endobj
-5117 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 592.39 156.281 603.294]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_775a8cec41b0fcc88689a171f5be8546) >>
->> endobj
-5118 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.097 592.39 201.92 603.294]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5119 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 511.628 179.254 522.532]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5120 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.752 511.628 196.689 522.532]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_584f3fd5a19536644a66818169b16ac6) >>
->> endobj
-5121 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.026 511.628 301.275 522.532]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5122 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 472.774 179.254 483.678]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5123 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.752 472.774 194.467 483.678]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_b36bf020da4fb4583e6e1a6b94197cb4) >>
->> endobj
-5124 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.804 472.774 299.054 483.678]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5125 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.434 433.919 183.257 444.823]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5126 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.758 433.919 210.233 444.823]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_6b8dae6436867a53e27720ee211f1cc7) >>
->> endobj
-5127 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.576 433.919 322.825 444.823]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5128 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.647 383.11 188.47 394.014]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5129 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.183 383.11 254.412 394.014]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_5c56451d80b8c02636854053de9e0440) >>
->> endobj
-5130 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.18 383.11 377.43 394.014]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5131 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 332.3 203.075 343.204]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-5132 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 332.3 296.324 343.204]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_d593d3aa49a632911d8d49c83b3f4985) >>
->> endobj
-5133 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.005 317.68 316.216 327.585]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5134 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 293.82 194.297 304.35]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_3bc88b2886b0b86865186d142e5ee414) >>
->> endobj
-5135 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 254.965 188.759 265.496]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ebb212a14f52ed934059925c1f5f2010) >>
->> endobj
-5136 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.953 215.738 202.776 226.641]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5137 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [213.515 215.738 278.601 226.641]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_600c942b0a2e94b550ccd84ef9c30928) >>
->> endobj
-5138 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.953 176.883 202.776 187.787]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5139 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [213.515 176.883 312.354 187.787]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_6804f93015ae6e1dc0c2e42e726380c4) >>
->> endobj
-5142 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5146 0 obj <<
-/D [5144 0 R /XYZ 90 757.935 null]
->> endobj
-5147 0 obj <<
-/D [5144 0 R /XYZ 90 733.028 null]
->> endobj
-5148 0 obj <<
-/D [5144 0 R /XYZ 90 700.151 null]
->> endobj
-5149 0 obj <<
-/D [5144 0 R /XYZ 90 650.338 null]
->> endobj
-5150 0 obj <<
-/D [5144 0 R /XYZ 90 611.484 null]
->> endobj
-5151 0 obj <<
-/D [5144 0 R /XYZ 90 530.602 null]
->> endobj
-5152 0 obj <<
-/D [5144 0 R /XYZ 90 351.394 null]
->> endobj
-5153 0 obj <<
-/D [5144 0 R /XYZ 90 312.539 null]
->> endobj
-5154 0 obj <<
-/D [5144 0 R /XYZ 90 273.685 null]
->> endobj
-5155 0 obj <<
-/D [5144 0 R /XYZ 90 234.831 null]
->> endobj
-5157 0 obj <<
-/D [5144 0 R /XYZ 90 195.977 null]
->> endobj
-5143 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F99 2117 0 R /F65 376 0 R /F98 2120 0 R /F102 5156 0 R /F34 2406 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5206 0 obj <<
-/Length 1500      
-/Filter /FlateDecode
->>
-stream
-x��Ks�6����%%g"O��8=4M2��iꨧ4��%��D"�����.I��l��*?4�LI��b4�uia�]��a���,��K]kxa)lI� A�5�X_lB�N�`��O�����'�b;����$�G��؏W��;
��O���S���S?I��3}�c�x���1E�M�p����
{�{
��
I&����+�&��{
#�<k���Y�2�;�>������P��+�Ŝ驟�Ia��E8N�(L2N�
-�6[}�㪘��c��bbz��N̗~l
���8ӳsm<qQ�B ��.����8�@�@Bq��R�9�K_@�t2DIkVH~a�e��/���	����$_#!kk$�!�)L�U��n(��"��T96�G�)���a

M��3��*sA�w�T�%��Y.���+q�R�p��qޟ�t�0A���a�!6j{Ϫ��"�S�ː"�=6�yM���'˼��M���z��������k����v����6T�+�#�y�ǁ?
�զ�P��"��2��|K���n������BL��L��C|
E����ի��wq�<T���3�.�)l
#�6�H�n�8��rPpa 6G�tU<�O
�!��3�o�K��
-m�ل��Ep�OuX�;j�
{f���j�-�����?p��t̴�˴�	�*�$�۝GI9�=��I{��`��0&M݊���ͳ���
-̬�Q	�oe�i�G�#\$j������铆��o�ʁǕ�_����V��)��
�cj�Z�ij?
M�$��
A�8ľ
o�m6�}?~}��߲�\OFy���Ӎn�b�w���c$E����9����T��JQ�M�l�^55v�E�r�\��*��
Pa4��z�	Gj\o�꧂��
-���9��$/G��B&A�-� AD�M��f�Y������aҮ�˩\
���C83@��ʍ%E��u��:l`%�jke`�+���H�q�,�"a$�l^|2i�%�་��Z1DG�x�Ű�� D��B�5b����:!�H;�@@Ȭ53i-K3�l��_H�/��9�G�ڏ�9mG,HD�O����N^���D�V^Q����+)w�D�
W�j^��n^��M�]���

DPp�����
q����;�~�o����eG�<1]�n�twC��

y�7�T��C�s��� ZYL� ]u��?,����4�w`$0�
F��њ�
-F��.y���*t�U�z��p��&�=(`%�[��P�)%�?�
-�`�0 _�Q�"	6��� �D<
-������Dz��ȭC���D���������V0t�	���R=
�z��׃�����=?}��B������x��X�o��]Hs���Z�V[ˆ婣��c>��s���N���D�?;B�I�vv�O뷶י(
'Ad�0�a��8r�
��Y�^.V��*�~��)_�K<8���q������r�D�-�`
� =�ϧ'w�fM
-DCVB.��ʳ��L����Ϯ�m����aҺ
-endstream
-endobj
-5205 0 obj <<
-/Type /Page
-/Contents 5206 0 R
-/Resources 5204 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5021 0 R
-/Annots [ 5140 0 R 5141 0 R 5162 0 R 5163 0 R 5164 0 R 5165 0 R 5166 0 R 5167 0 R 5168 0 R 5169 0 R 5170 0 R 5171 0 R 5172 0 R 5173 0 R 5174 0 R 5175 0 R 5176 0 R 5177 0 R 5178 0 R 5179 0 R 5180 0 R 5181 0 R 5182 0 R 5183 0 R 5184 0 R 5185 0 R 5186 0 R 5187 0 R 5188 0 R 5189 0 R 5190 0 R 5191 0 R 5192 0 R 5193 0 R 5194 0 R 5195 0 R 5196 0 R 5197 0 R 5198 0 R 5199 0 R 5200 0 R 5201 0 R 5202 0 R 5203 0 R ]
->> endobj
-5140 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 669.969 226.034 680.873]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_303b4ed4262469c1834228e0f88dba74) >>
->> endobj
-5141 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 669.969 362.999 680.873]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5162 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 631.114 156.281 642.018]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_10cab5245f80aacd8000d0312730ec03) >>
->> endobj
-5163 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.097 631.114 313.002 642.018]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5164 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [331.214 631.114 484.119 642.018]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5165 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 592.26 180.54 603.164]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_d7552a414d66f92897d12767579fa3ca) >>
->> endobj
-5166 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 592.26 249.7 603.164]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5167 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.433 592.26 333.256 603.164]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5168 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 553.406 178.239 564.31]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_0c26ae11a4146369ff86288347cc54db) >>
->> endobj
-5169 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.576 553.406 247.398 564.31]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5170 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.132 553.406 330.954 564.31]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5171 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.625 502.596 245.522 513.5]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_e6206985cd5536c4dac181de5fb21247) >>
->> endobj
-5172 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.848 502.596 325.229 513.5]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-5173 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 490.641 155.733 501.545]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5174 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.466 490.641 239.289 501.545]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5175 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.853 490.641 316.409 501.545]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-5176 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.625 439.832 245.522 450.736]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_5363ddeed325652ee6c064a8936cfe57) >>
->> endobj
-5177 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.848 439.832 325.229 450.736]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-5178 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 427.877 155.733 438.78]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5179 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.793 427.877 238.616 438.78]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5180 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.747 427.877 315.303 438.78]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-5181 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.92 377.067 243.605 387.971]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a98511973ca14e8904e4e2c1f774bd3a) >>
->> endobj
-5182 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.226 377.067 323.607 387.971]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-5183 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 365.112 155.733 376.016]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5184 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.466 365.112 239.289 376.016]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5185 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.853 365.112 316.409 376.016]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-5186 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.92 314.302 243.605 325.206]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_f4abff14e1b88cbb929f0733432477ff) >>
->> endobj
-5187 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.226 314.302 323.607 325.206]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-5188 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 302.347 155.733 313.251]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5189 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.793 302.347 238.616 313.251]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5190 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.747 302.347 315.303 313.251]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-5191 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.138 251.538 242.189 262.442]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_0fb144e5f3fb6815e4c28c89883607be) >>
->> endobj
-5192 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.028 251.538 322.409 262.442]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-5193 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 239.583 155.733 250.487]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5194 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.466 239.583 239.289 250.487]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5195 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.853 239.583 316.409 250.487]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-5196 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.138 188.773 242.189 199.677]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_e67eb83f2626818420b3201db09e3d58) >>
->> endobj
-5197 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.028 188.773 322.409 199.677]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-5198 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 176.818 155.733 187.722]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5199 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.793 176.818 238.616 187.722]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5200 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.747 176.818 315.303 187.722]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-5201 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 137.964 226.034 148.868]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_75190def344d4c1ba6c59a6f0fcf7420) >>
->> endobj
-5202 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 137.964 388.214 148.868]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_55b76ba0041601d8da38ab5ad619eed5) >>
->> endobj
-5203 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5207 0 obj <<
-/D [5205 0 R /XYZ 90 757.935 null]
->> endobj
-5208 0 obj <<
-/D [5205 0 R /XYZ 90 716.221 null]
->> endobj
-5204 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F72 471 0 R /F65 376 0 R /F35 2018 0 R /F98 2120 0 R /F38 342 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5225 0 obj <<
-/Length 2685      
-/Filter /FlateDecode
->>
-stream
-x��Zݓ۶���o�Z
H�'�I
�m�f���}�3O��H�BR��}w� �ēu��!/\.�����{�
�^_|wsq���^�
h���K�i�T �������h6�s�z&��V����,�~�>��e�~|��Viu��z�Y�6e5���/�i]��mv�U3�Y�Ȁ�L�����|��ū���.�=aP������?so	�?z��$���jㅁ�q���?y�@2�U�0L��|�5i�Ζ$��Y���m��
-u���=Nܛ!�aB���o�y�=�i�
fZ��i[�ECS��ź�wU�{�p�
2� ��
�����cqGc��
/T,��tV�[�}}�7$�)��Td_��*e�=��]�^��@��������2�DL���!�x':N;E�V���U�XD at ox���O��4�6�^Q���=R�I��M�n�!�@X P,������a�M�B�x=��
�W8h"7��E����@9!ngq%d�,d	X�
-�Py,�fA��H
��HbP�8f#Y
)���%����f"V޼G�bhչ �K<�����L���`���b��l|u�����B?��	'�����d�)�G*|��}u
�h��� ��Ġs�) l9K����a�:aB����@~"�,m
-2�g(S� �����8�	�ELF!�&��
�M�M2	"�I������;@C�8:d_�
-�0�P����4i/I�:
8� v��a*"0�������4�<�
����O ��H�r��X
O���OB�~�'��A�H��tU��@l(pz��<��>���	q�O�_�	}�'$�,
~�'$D(hJ���'�s|B�V�`Q]a�ʪlª�����{�ʎY�Y��mM��7YQc}>]���ta�i�|�
-٪�tu��1���OI��Q��%y�_&�
�|�%��PD��#b��)�Aj�|6�(��f.,�H7�L��q��UW�U��(���a�#�!�O�����ſ5�*hL��4ʧ�I���A��a���c}��Fp[euV4)�:�w4���C�w��@��]�9���ni�QA{j'���jz
�,,%�
-;Vˬ���T�d�'pt�9(.���c@
-��ZŠopr��y=�>ߵ=�Z,�kq���F:��C�d���O ���{}�Ȅ�A�OIp��V�-��ؘ�v6�\����cW����F!��Kp���ci�,����Zd��Z%�-ֻe�
Fz�x
yc_�Y3q,� ®�&U'�":�2���k؋ �@�
[CA�
�/X^�mOӬ҆X�.`Bl�iJ���̲��ɇ�4$o��
���O
J�<N���;��%���Uny�y�3�K�ny�1�oJ����~ۑ�:���RY�J. ���f�r
�J9��O?�:�[L�":L�Ǝ(�*�Peim$���L�;�����LH����ھl�Xy�f�H<���6�z���ks7�s�9�C�=_�?��_�=)>;�\Ԇ�G�y
����poS at I�-�����Ŗ�]��w�W�b5�����h�q
�^8
ebl��N��>
hL���� �p[Yf���̱-�e��nWP�1O]X�Z�� Mt��uw58(��@x>�ʭ����g3�� B�jٔ��9�P~�C��j��c����l��<�:4��1�A
�-�0ec��ZB��\7��OR�^敭�cnGcB��
-
�G��\�F�C�G)xn�

����L3fb+��_f&EPVI��
|�t5c<,/�vH���wNS8j
-c���"��)��(V
ct at A�\5��Ք�g��zU�/ë[K�*7%��;��#-p�Q,`�&5^cuH��|&���
�
d�|>Ik��|*r뗈)8zd�11^B�g ��.����mɓ��(m�QR˦4w���_��
�d��Mf1�̏
��M��p��Y�KR�!vBL�gQn6��fe �n�x�S�>�Ɯ��u!��S���eXY�RA�X쪊�d�����J��|i0����v�xN�
�ȝ�)g���?��zG9i�c��}��T�rm�P���0}�;�Xj	۷���&��G�%:R
-@��.�h״�A��c���t�*Oo���`���a–
-���T`�ˀ��:L�����������������u㸍q}�W��0�Cʊ�h�d�r1���m��m7�k�
-
0�p���g����6�= �8�
�h?#m��>Z‥�(����x_&,�Z�ܜ@ܢ\f���
�L��03S������q�C���#<Lu�,��M68�#�������	&�)�E�>b��V)��S��ޥK�@��E���KNl7�� +��T*
��4"kM�7�	
�P{�ǹE���s
� _�����`x+"���'7�
�[
-Φ|�<U/<A�˼HJ�gXqȶ2�I[��GÀN�s�9v�fRekۄ���@*VA��C!���ρ�����tcg��� �g��j��k/�L�PO1�w�A�*r�-��>?���e!c�Q��<�r�����O��l$w������Le�U
`"���E���5��9�O�E�"p����q,��h�3���܄��M8�P���a �F������E<��U���Y�
/Z�^���Ԗ"xj�~wwΜ	�[�b��.��!�d�zn�wR}��o���j�����~�g���|[�������8���@$�.�ۢ�޴ 

Xܘ�6��� ��–
-endstream
-endobj
-5224 0 obj <<
-/Type /Page
-/Contents 5225 0 R
-/Resources 5223 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5228 0 R
-/Annots [ 5220 0 R 5221 0 R 5222 0 R ]
->> endobj
-5220 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.82 677.939 219.642 688.843]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5221 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.41 494.399 353.665 525.368]
-/Subtype /Link
-/A << /S /GoTo /D (main_representation) >>
->> endobj
-5222 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5226 0 obj <<
-/D [5224 0 R /XYZ 90 757.935 null]
->> endobj
-5227 0 obj <<
-/D [5224 0 R /XYZ 90 733.028 null]
->> endobj
-5223 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F78 539 0 R /F8 504 0 R /F11 418 0 R /F7 505 0 R /F10 473 0 R /F13 540 0 R /F6 538 0 R /F9 568 0 R /F12 622 0 R /F23 340 0 R /F72 471 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5232 0 obj <<
-/Length 2268      
-/Filter /FlateDecode
->>
-stream
-xڽZY��~�_��P��� Ǖ���uٹ6�ɓ횢$j�e�ԒTf�_���:ff�/���F}�4������>�ܽ�D��$�Q���Y�
-~#L��R��1��&}|?�4���S���ǿ�:�����geV�mU��\���"ml����z��0+��	OB��ٯ?�|�p����h���&Z�`����W���ǀ������	$�_n�}C
3�$SqB(���a�Dƾ��n�E����

��w�V��h�s]J��'�r]E5�*|�ˏص�Vnpa�i�+w
)���
�y�����פ�Z�u�l�tk���"/]+wS<�ؽ�Ӂ�H�$�2+n��ynX���B�@�����)��B��Os��{O�����|t�s�g�+����p�y���˴�-7\c�a��5m
>?e%�6�l���x�0=�n�c�bU6mZ��;�7ت֣�f��Fjٌ���Κ%18kY9Zu�����
,�p�sP�
1i�T�N�N^H|�mR�{)׈*���5#��GZ[�p6
�u]mF���c{
��2##��j���$�ńF���Q���U�����p+)�RNaw���
8���8���84g8��!��ͻ��
�D���}�k	p�J�� �1�8VQ H�"ww8�{6����,����8	� ��O�[i�o+1��p�(����!P$����z��J�N ^�O0g�
�]��
�D�<t;��'���	� 	;�X
����bo����iN��,"���dk�k�N
:��yѦ`���/�����\_�W����c�JJ�
T��.^�$���s)�M^�u��E*���{�s5TN�XqG�$A��Y�`z�iґ�W�/��^�!gMd.���ȸO �:V�ՠ��P�XG���K��@Ud<!��pC8\���Xڿe���u�`��sl?�E{�u.�5!�D.���U���wQ
-D

Nڧ���D�8Ĥ ծ�4�R㏑�$<�.�u&���vఝz�`�@_��R����k��rq�%.N(A8g�&�_V��*��ƈ���u7"9����Ei�3��	Ӆ�0�Ee3���-���k�0P�M��~?w��*�d%��f���6������(ޞ�
-�$��
X��/B
�
--�
-|�`�ё���&��d����ֳu�GQ孷.
-�6_��i�+�	F
-u��S�z�m���yV�
�]�ɦ�&���yi{L��F��\Hd�����D����lƓ�˄
�@�S�~����# �W��
�h��9��
xO�d�����ՙ<���ʃ|U�$Dt2㑜D�(��B#�q�=��-���C�?��ؗ.*��ܛ��1Ho�k��wJM/�:L?B��ƌE=�f����`�� B���m�G�;�
NY��U�Z�+���������
'�N-!Og�C��:�5#�L.�
D���e �_��Y�MU�]�Q%�/^���꼣9��"�/
�n]*q!��~<�b��5��@'N�Z
��tH}�����5�zW_f��>Kc�g�xI��hm�kmq&�>��np���ى���b�
���hC5�4B��G��A�y5�jM.��j+snu��Wy��Y^H�(|g�Za8�U��Q;.;p�1/,�6\u��4UPQ�TjPP�rȒ��)=���>��TQ�?&�Az��N���#�z��𷞀}���C�˙p��D*,4*#@�s^v`��z�b��!�Z��yQ
D�5�����)g`��X��d%\�	©䪊רh���Ue+gc=md�
xhdX{��_Gͯu|��5�˕jv�P�.`̏��-�fg".��9�&�v�>,e��gdK3K{в���K
���^�or���� HXڰ���Џ�6y=:���;�z�4h�xG�4�O��~¾d:��a����\>b���&n9e��X��
-��Z��dp��Uxu�^
-/|m�B
�:_:T}
-6U�Y�
%������[z��!�q\�`s�7E�/(�
��ӕ5� "f̯�
4�
U
nӺ͗�"u�
&�`��OM0
rQci�ǽ
�̲�F%]����E՗K�Р\bF\��G
m
-�pu��D�؀`b|�)�0�_�Qvp�6{?�וY�h��l�4ݞ��
-�5���>�~� �:�3�P���
��yo$b>�p����>����4Y���R�S���.-�m�pUަ��� ��)s��C�9&��߂��7��,�D��`>���������,�+�mM��n�-�
-D����}�����;�ܤ�F��?D�
-endstream
-endobj
-5231 0 obj <<
-/Type /Page
-/Contents 5232 0 R
-/Resources 5230 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5228 0 R
-/Annots [ 5229 0 R ]
->> endobj
-5229 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5233 0 obj <<
-/D [5231 0 R /XYZ 90 757.935 null]
->> endobj
-5230 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F78 539 0 R /F8 504 0 R /F11 418 0 R /F7 505 0 R /F23 340 0 R /F31 472 0 R /F75 541 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5240 0 obj <<
-/Length 2267      
-/Filter /FlateDecode
->>
-stream
-xڥYms�6��_��
u�` |���iS'�6ms�{77i�CK��)E�$eǽ��~�X�")Z���@��ž<�X,��r�������ס�$,	e�\/��;Q(X �s�p>�B0M��s��&�y?��-�ZT�ͻ�J����*T�6e5�ʀ�����J-U5����v^"W$�����g��g��	�;B
D,�g�9���;
�����Kb�^Sm
_z0�·��q�
T�8a��N$C&B��{��ܓxMIcV�[5o�%�a�*���M�_����Y�g*`*h�j"�n"��MD�F5�rQ�KZ)z�V%��e
��-�
-�?���0�)
���q�Xt�*�Z���ܬ
pA��˲�L��6YY�`2�ݬ1���z��S�B��"ۨ��_�5����V�i�pjmf��
i�3��r�6+-�J �K��5�r.�*��
��s��zAJ
-��K0�67[����5��y�]�y^�,�Y��)��c��O5}0o�-kh2��}[�uv����f����6*��i���,�-h����
A��4��v�Z�����^�1ϓ`��JM� SK�s=*"�X1�ʂ3��6~��e�Ȋ�Q5q���FsKa��������ȷ4)DNȒȋ�{�d�|�O��Ǹ���Ct)(��!
�
.h�l&xg71���
-C�u�|��`��r�L�Ȓ�C�
H
��l�<
���uč������ M"�^Y?uS��ƍ�8���N�(�%?I�0��@�#��-��(���d�� 
-�<��	�����,c�I�2Ibqn�
��nĄ<(��9%IJC&
��/�gR�b�
/��X��{!t�lT&OD�+�'���<����D�#�'�
ؠ��c�s�N�����`7�nŒ)�28 B(���+���FG2���ZLM�}�C�A�4M yf�y�k���i��=�||^����ӬD�]���V���wPؤ����m ��Gk$Yb�cui+�*9p>������%�J_��
�F�hً�1��f�/���M_��F�B�Q�{�p�L��x�/3}�#��U�B����n��
C!|�&dS`�A��3m�rצ�=K��`�
�Uk�Ev��e��Ә�GP��
/���@J>)�������
*��� �� �
��,H;
-�/
qXYA�)d�+��F[kV
-0�LM������n��R�Q��
Q�eGz�$�q��T�
P�y;ӟ�����^0x��c�KN�����lQt`�0b^$���7��]��ͽ��mҬ�pP�k�]��5��Ӯc�pk��X3���d�oz���1cƧ�z�F<�m�
-
-�D�O��|����ؤ5\ LZ.=��I����~�)���(,����Z!X������Y��'4�Ɇtr⤶[�Q�%�9\�^t��}�ǯe��Ն��Id��^�;�
d�.�P{�-C�Pĝ;ᡲ ��튽&�M5D<���ۣ�&O�r at Z���B�(i�Z��1Y�^Ae
�ﻌ�&�U���:F���9���
Z��P���R
��ͦ�y0
��
��V� Y
r�'��;}1&Mg�G���M��b��LK�����9�M���%8�=�	]^Ln
-8���;n���$�],�͏͛����45����ws���Y�����QDx$�&����7Lܽ{��屶
X]F-���z�4�r(+�����P4�����7����>&
��Li��a�q�
�@�~���Q�����g�C��q�_ƞ�~�����͓BŐU��B�
=	A8q��#&���R6�0���6�H�D�V��|����hC)0�4FU��y3�起�A(�t���׻b��\൹`�RϩlS6n�s��mvs��O_���0�kD�

-5�!�8�N�@�5�e
��3E\�J�?��� h��ҕjvUQ2�^a��Y���|��lߘK��r-�E��L��v��eլ�&����#�G������7ɓ_����� �'�l϶��j��OJ�ب��x�,f3�8��wi��V+��ci!ۋd�*���p�a�G�<<��M�)���4�M���ʱ�6v?b_
s~
�k	*��ş
-���*[eE�S�#�ΙS@»�0�=0��Ơw|��,��*����E�����n3�y�i�BH�6z��V�_�	��b��H�Db~R�s�'���Q��A)�$i��c�~�K�^^G�^��ަ�������ټf�"�V,kη���-
.��Lڻ�g��҉����8�
-endstream
-endobj
-5239 0 obj <<
-/Type /Page
-/Contents 5240 0 R
-/Resources 5238 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5228 0 R
-/Annots [ 5234 0 R 5235 0 R 5236 0 R 5237 0 R ]
->> endobj
-5234 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.828 229.186 340.976 240.09]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_10e7c95784e356487a6a6263a89cec66) >>
->> endobj
-5235 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.558 137.94 188.38 148.844]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5236 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.878 137.94 371.262 148.844]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_584f3fd5a19536644a66818169b16ac6) >>
->> endobj
-5237 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5241 0 obj <<
-/D [5239 0 R /XYZ 90 757.935 null]
->> endobj
-5242 0 obj <<
-/D [5239 0 R /XYZ 90 399.175 null]
->> endobj
-5063 0 obj <<
-/D [5239 0 R /XYZ 90 376.863 null]
->> endobj
-5243 0 obj <<
-/D [5239 0 R /XYZ 90 376.863 null]
->> endobj
-5064 0 obj <<
-/D [5239 0 R /XYZ 107.713 301.068 null]
->> endobj
-5065 0 obj <<
-/D [5239 0 R /XYZ 107.713 286.342 null]
->> endobj
-5066 0 obj <<
-/D [5239 0 R /XYZ 107.713 271.616 null]
->> endobj
-5067 0 obj <<
-/D [5239 0 R /XYZ 107.713 256.891 null]
->> endobj
-5244 0 obj <<
-/D [5239 0 R /XYZ 90 216.159 null]
->> endobj
-5158 0 obj <<
-/D [5239 0 R /XYZ 90 193.847 null]
->> endobj
-5245 0 obj <<
-/D [5239 0 R /XYZ 90 193.847 null]
->> endobj
-5159 0 obj <<
-/D [5239 0 R /XYZ 90 89.441 null]
->> endobj
-5238 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F8 504 0 R /F11 418 0 R /F7 505 0 R /F10 473 0 R /F13 540 0 R /F72 471 0 R /F95 1788 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5261 0 obj <<
-/Length 1547      
-/Filter /FlateDecode
->>
-stream
-x��Xˎ�6��+�Je ���h��I�4�d��$0�

�%G�g2��^������tZ ��,Q4y�C^��x�{3yq5����SHI*�����J�%��ʻ�	A$�c쿟���.^��R�g���^���]�%������Nu
�Y>
����m\��^�|J"_�K
�1E�O��~�z;yu5�:!`��5@�(d�[�&ן����
FLEޝ���8e��>N���Qg(CX��3�!Z9Գ7����',�2K�ҽ�KR
�W��΅�H��}zf
��V��+eED�MvS�t
��9`'�n���^��(�']'��x>
$^�q�,?�	��W@��� 
���?��!O�T��s7[��U��ei|��",Tϩ���0�' 3� ¬g��M���8]�m�����‡7��Nh�䦹t?<}>������u���N
z9
0R
-<���z�m��&�żgj�B(�+�

�j��\��I:�ؿ���j�7��N˞)��+�)W�<�R���B�&k����l��@��C��q^�'@�@�9 ����GPW�	�6�����Y��$�q����)>��#��x��@�T2$��Na���ii���,��� ���6��[ 9Fl��"D�~

-(pY�D���u�3[��:	Q��c->w��)F�‰4pz���'��2�|,�<N�b>��/��m^>u�lE�q�Հ5!�!
s�!�+�։3'K���� I�%,I
ϒa�XTђc�
-9�1.���(�r�8���	��%���b��Ċ!ۄ�'V��qb%�Q�
-뵈�F�M��y�Za�J�M�!��x4X�q[w��:��vf+/�r3d
-u�
�i&� �M"��X��"G�sKn�Ϭ*�[��V����G�wI9%��M_A��Q�-����[�=�b$�0�.i���
=��i�zu��H�E�C�y�AY�B�7�
��#���T��E��Ue�U�S��@1I���↤�
��A�#��+?U>
�۬88�_Td�Q[�3Bh�)!c��c.�ބ|D@�(V=)

�X(����=F&q(
�4p�O�D`|�c�H8\V��@ 
�kQ�
ŀ�eD�x�8�K.Uj��<48?'��"yr�`�!�H�'�d���b).�`H$u���5S���R3�O��_43�j��4�q��
�
3+���\������<��l�tn᪹hݞ�*�48���si�oΣ��i�Qq~�,��0
]�����H����
-"�Mo�eC��>�Sn�b`+�P#���E��tByPӈ�
-c,���k�cҕ6<�ͽ�Ea7�ɡ�(ĘhW�Y�&�q	URmW&dՈ�z0\n?f
������U��g�@�M at h^����
d�lP8CFa
�d��j�]�.
&��"ߛ`;� �
r<|�8�`�G�)8^�"��q�Y���j�
���5p�>\��V��Sk�{����/S!��~�S�⺃�+o���j5Ą ������t����O�Ml
{I|���ܔ�~>���ݡe�i��QR�����XZ��ɼ��u���e�I6Iap�:>��?�c�
-endstream
-endobj
-5260 0 obj <<
-/Type /Page
-/Contents 5261 0 R
-/Resources 5259 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5228 0 R
-/Annots [ 5247 0 R 5248 0 R 5249 0 R 5250 0 R 5265 0 R 5251 0 R 5252 0 R 5253 0 R 5254 0 R 5267 0 R 5255 0 R 5256 0 R 5257 0 R 5258 0 R ]
->> endobj
-5247 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.558 684.664 188.38 695.567]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5248 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.878 684.664 369.041 695.567]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_b36bf020da4fb4583e6e1a6b94197cb4) >>
->> endobj
-5249 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.867 549.698 187.69 560.602]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5250 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.843 549.698 513.996 560.602]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_6b8dae6436867a53e27720ee211f1cc7) >>
->> endobj
-5265 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 538.116 99.295 548.647]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_6b8dae6436867a53e27720ee211f1cc7) >>
->> endobj
-5251 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [316.086 520.118 422.655 531.022]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_6f8cd8fbee64faaa5e47c8e41ba7662e) >>
->> endobj
-5252 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [439.486 520.118 511.506 531.022]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_66438955854cf73ddaf27a40a69fec7b) >>
->> endobj
-5253 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.861 361.243 187.683 372.147]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5254 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.833 361.243 513.996 372.147]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_5c56451d80b8c02636854053de9e0440) >>
->> endobj
-5267 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 349.661 138.836 360.191]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_5c56451d80b8c02636854053de9e0440) >>
->> endobj
-5255 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [316.086 331.663 422.655 342.567]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_6f8cd8fbee64faaa5e47c8e41ba7662e) >>
->> endobj
-5256 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [439.486 331.663 511.506 342.567]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_66438955854cf73ddaf27a40a69fec7b) >>
->> endobj
-5257 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.828 119.223 340.976 130.127]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_f4e7705af87f5eb64d2ebdc60cd7a36e) >>
->> endobj
-5258 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5262 0 obj <<
-/D [5260 0 R /XYZ 90 757.935 null]
->> endobj
-5263 0 obj <<
-/D [5260 0 R /XYZ 90 733.028 null]
->> endobj
-5160 0 obj <<
-/D [5260 0 R /XYZ 90 630.093 null]
->> endobj
-5264 0 obj <<
-/D [5260 0 R /XYZ 90 615.523 null]
->> endobj
-5161 0 obj <<
-/D [5260 0 R /XYZ 90 453.717 null]
->> endobj
-5266 0 obj <<
-/D [5260 0 R /XYZ 90 439.147 null]
->> endobj
-5111 0 obj <<
-/D [5260 0 R /XYZ 90 265.262 null]
->> endobj
-5268 0 obj <<
-/D [5260 0 R /XYZ 90 250.691 null]
->> endobj
-5112 0 obj <<
-/D [5260 0 R /XYZ 342.471 122.376 null]
->> endobj
-5259 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5275 0 obj <<
-/Length 2073      
-/Filter /FlateDecode
->>
-stream
-x��Y[s�F~�Wh_��}��$٪��*�M2��>M�(�
-HDc{���		���>�H�u�\���
�E8z?�����]�"�dL��fI
%1A���f}�H2�����qVm���	��r�V�*��+����q6{�
-UeMYM�T���MV���Z�T5!�X
☤rL1�|��q��f����B8"F����h�
}���%<�1ˆ�4�7���
>7��ѿGx���E��P�
z]�կ�E��f�TY�Գ٢,�fn��i-���`6[�z���)���?������N7���l
F1��1�>��&/�g�P��©[9c���Vv%��p�~ؖ#Pدi�y
ؑƈ�vQ�B��f�
2��+󢱗e��Ŧ����,{e�+��‰���
�(ΣB������Q�
`�y4$8�J�}X�]���g�w2d�
$�W%�T
U7��,/&
B�m��<���[ Б2=WI�$���YW���p慂�)b1�ӢT
��x2N���*�����M�U��m�v�Z:
�
��՝K������
�J��
-�Tn>�K�ϰr��z���z�|�{&�-��d*��Y���s���&�ymch���tr�$6�
.i2��*�C'Q!}h
vp�!�[8� hK��,�� ���p�2+ at 5
�ݭ���i8�
L
-��<�ZpD�%�C��j���
�4���ۓ�"
���od�3��	�}~�CZ{�'0�����e�:����w��VZ.T�Vp���
YSk�r��JesN���;�����-����]�M���}��<i�ޔ
Cq�y��qٓ�����dY7�zf[+�+���!����
� Aq�o�
��4�$>��i�A�p��w�t�~#ָ��B�Z��
)�&g^�]0�; �Y}
^�
=���'\��DB
��}��7G�5�
XD?��Ӑ]�/�-���}�3��8�9]�y?�3��@�6�g�F:�����=�	�F2��'].�kWCzI��O14�$��XI����N-r�5��B�͡��V���S�*���!$�!�� 
X�zv���w��S/L��������4#/��/�H��{�QM��m�/�O�¶�?S
-��9�#���|��B�'�0�$A�������o/�E������,��k��?{
� �a��
��(�G�
-	��F�"�bR�Jن3��$(�m��<�T�m�ы1�L$
��1�����=�����6M�H�A?�gY5_�u�
5��:�+�"�;��j�.�j9�y��U�
��QO9d�Q��E���K(B�ty��@C�n�y�x
��P"A�AG`ؿ�k(%aw��d�.hc����7�i�0	7����jy�
OR����K8����U�Kf�

��C���)R���A���=D]G�����X��Y+?
j�| ~��?e�:k �F)w����w���W��K�b*��c�f�~�
h�X�e8c��/6�Re��#�DX�x�����a�X��L'��&Y��E/����4}7`gS1d���|�4}�dC����Be�Tz�\�%dK%��e��w:F�s��ʇ|kO��Q���Y
����$=��aӜ3���)D1A�iy��3`{/���t6�N�I��U��C20�iT�I�}^+�h
�3�f�H
H�d�\
�Ƒ�MSR�1

�t�����1�Xw��� [...]
-endstream
-endobj
-5274 0 obj <<
-/Type /Page
-/Contents 5275 0 R
-/Resources 5273 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5228 0 R
-/Annots [ 5271 0 R 5272 0 R ]
->> endobj
-5271 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.828 621.024 340.976 631.928]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_cdc0aeddab3d98e336719f42e6e5b06c) >>
->> endobj
-5272 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5276 0 obj <<
-/D [5274 0 R /XYZ 90 757.935 null]
->> endobj
-5277 0 obj <<
-/D [5274 0 R /XYZ 90 733.028 null]
->> endobj
-5113 0 obj <<
-/D [5274 0 R /XYZ 342.471 624.177 null]
->> endobj
-5278 0 obj <<
-/D [5274 0 R /XYZ 90 607.799 null]
->> endobj
-5279 0 obj <<
-/D [5274 0 R /XYZ 90 528.75 null]
->> endobj
-5209 0 obj <<
-/D [5274 0 R /XYZ 90 506.438 null]
->> endobj
-5280 0 obj <<
-/D [5274 0 R /XYZ 90 506.438 null]
->> endobj
-5210 0 obj <<
-/D [5274 0 R /XYZ 90 469.152 null]
->> endobj
-5281 0 obj <<
-/D [5274 0 R /XYZ 90 454.931 null]
->> endobj
-5211 0 obj <<
-/D [5274 0 R /XYZ 90 407.727 null]
->> endobj
-5282 0 obj <<
-/D [5274 0 R /XYZ 90 393.506 null]
->> endobj
-5212 0 obj <<
-/D [5274 0 R /XYZ 90 358.258 null]
->> endobj
-5283 0 obj <<
-/D [5274 0 R /XYZ 90 344.037 null]
->> endobj
-5213 0 obj <<
-/D [5274 0 R /XYZ 90 308.788 null]
->> endobj
-5284 0 obj <<
-/D [5274 0 R /XYZ 90 294.567 null]
->> endobj
-5273 0 obj <<
-/Font << /F63 374 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F95 1788 0 R /F11 418 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5289 0 obj <<
-/Length 1754      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�6~����&5�;����ݰn+��{j�@��D�,y����~�u�lǽ��d��΅<�;��k{�N~�O�~��
P ���+/���	J���{������ؿ���:���R����,����*
�����&1YX��tF���a�W�/��dS�}�,
�c
|��������|�τ�A�#�B!ń�XO^����{�@{�媵�)���{5�k���<p�2�����m5�1I���T�YQ
%&̪�e�ai�
]��֘�	�$:�	�T��R�jI_9�Y&�1)
-��kvDŽD�3Ҽ��&f��:�s�q��
���d�h
Q�R�}T�ߤHnj�
-I�k��}\s�Yl�$9cJ!&�7�p
-�;�"ۚ�p`���P��~�L NT�|���LFSA�*���n�� �ԛ),�8p��j�܆�U��� ��h�v�oQ�?�h;���7f٣2�j�j7�d⼉�7‍F�5�nJpK8�ݮ��p
\��t���Yy5f�zؘl�f�)�evf�G�u��~J,�«ظ�ȁ�b�q�ܘ�;
fy�b��2�hB���)�vm��� �ys,�y덍jE�g
-�,����iF0�A���4�S"�
�Ab�1��cf��ۀ� 
�ydCdJx�|�EZ���K���_�b����KO
��PѼ<��.E;/
-��h"#M�1�� t
6Trk��kxvJ���h՗�P!��Cb��P�8ͷ�E��
�ª^��;'�����?��1�?Ã����"�Y�T�¹($�jў�R
�vGKc!�[���
�z�owx
�5"88���2����'�����zJI����ڑ!�T	S��z;އ�
-�u-��k�����%d[��0���r�e�"q �1"�~ȯ�!��� ��!?@������'���������*�i	
�q$�%��8��Œ���p�`���i腋͉$\�͑
b8�6��H���
[��(.+
��@�i��g�U�*M�Jfu�jn1�uQ���Wt�Tּ�w��%�
P�?��9�c�c�C`ەl��z
�v'��2Z�F��#�������Z��
-Eՠ��d0��[
�h	Й��s�s��\���P�9`=%����C�nTIuvJ�j*p�����e�M����O�Z�S%�,�;娿�٧�!9Չ}H�1'8��i��Xo�l��k����M�ʆd#cT� M��~�
B˷#�gAJ
�W�'eQ7����:v��z݀�3L �J�
�iH��%{I/HR�=|��r���^��^@��kv#"�!{�?�n��ލ|��|ao��|ij�lv
�6����[�⤶#[
��~�	�M����h��]�ҵ(�"��S0����c�]A%�Ѵ��;{���)wW_���C�

-op�D�U���Vd�k����#�˺)Dz��>�gB0��	���#;���l�ّ��� '�az
-�T�$��d�ɨ���ALj8��:���K
G(�b�bv
-���/g
@���z�}�g�~�k��6MO�D ��s�Gu2��������v�G����Oa�\���3%o�
&i��I��A#�NY��o��O�k��<��q�4,���PP�Z}���	RC���~�P� ��v%����e��Zo��p���j辱��&�~*��7��m����V���&!= �l�@S�G�_㜬<{��O�O��l�w�N��)�������-Z�h�D�
E��f�ݥ�
)�$T#dUw(�i}���e����2a�
-endstream
-endobj
-5288 0 obj <<
-/Type /Page
-/Contents 5289 0 R
-/Resources 5287 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5228 0 R
-/Annots [ 5286 0 R ]
->> endobj
-5286 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5290 0 obj <<
-/D [5288 0 R /XYZ 90 757.935 null]
->> endobj
-5214 0 obj <<
-/D [5288 0 R /XYZ 90 455.73 null]
->> endobj
-5291 0 obj <<
-/D [5288 0 R /XYZ 90 441.16 null]
->> endobj
-5215 0 obj <<
-/D [5288 0 R /XYZ 90 251.553 null]
->> endobj
-5292 0 obj <<
-/D [5288 0 R /XYZ 90 236.983 null]
->> endobj
-5287 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F11 418 0 R /F72 471 0 R /F95 1788 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5296 0 obj <<
-/Length 1748      
-/Filter /FlateDecode
->>
-stream
-x��Z[��6~����3��+B�Nf��&i��&�S��amy��
.�l��{��bo�t�v�,	qn:�|`�]y�{>�e6�>
���
-h�͖�ž
�x����'9���>&؏�utq>��OW�k�Ȣ�W�ee����:�YT��xB���<���z��1	}��5�c�*�b:~?{9z:�5"`�Hi��H2��ף�ﱷ���
FL��M�k�q��w��1��|�S�BsO� ��[�~O
}V���>�q	��ʛ�/���$΋<0^�
b����3I7� 	a�+oI���njK�aH�M
�c�腕{���3a�UT�������r�I����(YL����*ͷ�M�G���d��ɭVVq����@4L�Hp
�e9�D`-_F�\���(bRU��.
2]l3p9��C����ބSD�l��(t)X��fN#!�C�!u��� Y�k���F'�Z�x(6V��v� ~(�ے�(&L���,�h&�4�v\�������*^�(�X�̺����{�
��0��#ڛP�I�;��y���;4��DŅ@�eP�~B�b��O�N�ڊ�
-?��z��d0-U?�
J�wHZ����`(��� v�0��i�CUp��F�\���QU��G	o��P��Ub��SR
.����4�u�Mqru�$�zT
)^���/h ͌�	��}֛��s��fj�
�
��s��+ʦGeC�����
i��o3m���}O�3���ԥ�`��{��7�B�X\k;�+�N�򷳪��X �	��ܖ!�A�j 
z�@	�Nf���d-��	��6랃�K0�p�
�����aC�1�A�
#X
uL�Anj��K��
-~!�(%~��ݵʑh���O�:*��-�K�U\�9�k�g�(ػ���Z)Ϣe�#���:s�l����3�᾽PF���vE
�X�O �:�)�Bv���M@
mhTŬ��Vz�B
-�2��:�
�*2�o�<6W�&S6�
(&�sv�
�lL"�h7߁�1)����je��˺.�r�X:��΀_�+��9t�[�Ǥ�4���1p
]�t�1�
���
x�3�F;n[J�8&wi ��zhN+�
�ݦ~�K =1�R�v:C'�K�����vm�V�w'�a����H�%&��� ��B9�9y�4�"�F��"N�S���!�6;���V�M)
$�Ƃ�m�1V(l���87�0;��!��1L�¹Vt�l�aq�ӡ(�B
���
�8�q�:��k���v-�0�	�� �l����m�9���� ��5?|�v0/ B�²`�4	��r� ����u*C��Q��!���DB'���4
Ae��.�.�i���"H�4v��e��
���$�C�
f�M��������&��!���.�2�ҥ�dH���FzC���s��c���k�^|�����W48/I�󚕒�A���f����������P
y���Ҷ�j1��8��,����wi���g:7h;&����
���Gnj8F|T�=���h��R �P~i
'ሸǑoG�{
��w'��

1+e�0�
-G��_�%f؁�T��Z(1�ӠS8�; ��慳IqIo�`́R���ǒ�3��q�~�Bh0᩟��Oڠ{' B(8�nO87�f�ѻi���Nݗz;�3�ُc!|g�oQ����M������n
�Ϡ��[46����9i=��U�_Ge`���P6�1\��l:���A�
m�x����n6��a�6��7)��e�G�uZ�z��=��r����CF
-endstream
-endobj
-5295 0 obj <<
-/Type /Page
-/Contents 5296 0 R
-/Resources 5294 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5300 0 R
-/Annots [ 5293 0 R ]
->> endobj
-5293 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5297 0 obj <<
-/D [5295 0 R /XYZ 90 757.935 null]
->> endobj
-5216 0 obj <<
-/D [5295 0 R /XYZ 90 686.039 null]
->> endobj
-5298 0 obj <<
-/D [5295 0 R /XYZ 90 671.469 null]
->> endobj
-5217 0 obj <<
-/D [5295 0 R /XYZ 90 481.863 null]
->> endobj
-5299 0 obj <<
-/D [5295 0 R /XYZ 90 467.292 null]
->> endobj
-5218 0 obj <<
-/D [5295 0 R /XYZ 90 123.328 null]
->> endobj
-5294 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F11 418 0 R /F95 1788 0 R /F13 540 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5312 0 obj <<
-/Length 1910      
-/Filter /FlateDecode
->>
-stream
-x��Xm��6��_!��
�\��e[
��M�^ڦ�ާM`h-zW�,�����
ERo����$���y���>�����7���!
��4
nvA��($HP�d��D�՚`��oV/�z�nެ(^V��Afu�y���i}��~%KY���7��՚
-�|Q�Mcn�ʝ�W$^�r+�U�%�l����ŏ7�?����������
d���F,���n�>����-~_�g�
�P
g�Gۃ���"UR�q���ѻq��G0ܽ��Y1�N��-Pǃ,�=��Fby�J�l�p�
\b�[Ry6&��$b��<;�xB܊��*��b���1�e���,oT
-ho �}iV���x��?tDe�Yk���r�|
k@(�_��
��C&'�%h�C��
P�	[��I�2���y�Q�������E,&[=3+1]����c��8n����r[���9_�٭��Mz7>y6�(��߹�ѻ��
�I\N18��mՖY^�o~�k�V!�`��Y�
���@
-j��P��Cpe����

�}�m�m�'mC�9����9}[K�@��R��J�
�^B�ܼ��Z%-��{����k�������0�b�
D���� M�H0Z�X�l~'գ����C�Y=LlLj��[����
-3���Ĉ���
��w��4��O�՚1~.
-�6P�e����"�V
p��/�E�D�KpA;"O�
�\Dkl#o�O��:�̠��
P�������ez8�է|���*�_����+󜗪���'�{�`��Z��.�E
�){�Vu+=6��'��������)�߈aDD��.-�N��L�Ӹ���F�T
!� d&�{�`�hUn
��Q#�
-������m�7��u�df
��9Ő�����4g#(q:+!J���z^f�mG@�[֟��>d���s�m��̎�5W�e�y����`u���X�6�
�Ɨ7�~�ik�Z	��p��Nݙ`ګ�Y�X3T�9`.Pz�H�J���kӨ�*���
j���R�I̻�t�!��2DB�Ѯ��G��T�	��u
�{��މ��zHհ}ws���
��G��-���.�jz��-�ӣ��~)�R6��#8������u5e�@f���A# �P�!@
-�l� v�hTv}]5�
:)LA�g�R
�����X܏��5���2��n��%�[��@������i4���7+��`����� �(
(�w4����搆!��IH/�%<���Z,e�Ձ/��8|���m������ǎ�\�l������탭G�����oWE�)�gF]^Ŭ�5�pP
���^�)�U��x=

-����l�
�Ό��`��ꓽ7*�#��m`#c��
d�<�����y�-�̫}��x>��s�������l����꟰i*�T�ȕ� �Sp_��Yo^Zc�6�0_J�{���m�	O���γ�I<g�i�zA�}!�
��#$�����{)�y`���]"���չJ�(
��S�!�Xm��l��_���#0I
-���@Jp��N�)]��rdQ���(�Sz!�O1��}xn�׳L��
-�ћ��ȷ��/����ݿl˭Ql_��Z���ܲ�����/άʑ��-�j�e�nuc� ��ik�"s���4�:�=18��yk��W��4�>|I��xv�?�o����}K���ʵ�1��J�ou��<�����`	D�����D A�u���b������!\L=�o�$l��+��W�S׶:
ף�YB� p��>�=I��黏���
-���"�\��=�>�Ff
m73�id�O��lJ���mZ�z�?jS�nz)#=FTC�
_���
ڜ�����t��_�O�0�X��������mԖ��F��5quʰ#+��7�K�}�&��t'?�� ��
!Ag#
-endstream
-endobj
-5311 0 obj <<
-/Type /Page
-/Contents 5312 0 R
-/Resources 5310 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5300 0 R
-/Annots [ 5301 0 R 5302 0 R 5303 0 R 5304 0 R 5305 0 R 5306 0 R 5307 0 R 5309 0 R ]
->> endobj
-5301 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.912 331.528 350.381 342.432]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-5302 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 277.644 192.544 287.572]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
->> endobj
-5303 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 195.905 190.054 206.809]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_605b7611d045e0ea0ff47c2ec36c2268) >>
->> endobj
-5304 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 157.051 190.054 167.955]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_9db5a39fe27d6c659e9c6ce626e83dfa) >>
->> endobj
-5305 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.391 157.051 259.214 167.955]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5306 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 118.197 190.054 129.101]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_ed024de0dc1ad69e380f706d25740cb0) >>
->> endobj
-5307 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.391 118.197 293.535 129.101]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-5309 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5313 0 obj <<
-/D [5311 0 R /XYZ 90 757.935 null]
->> endobj
-5314 0 obj <<
-/D [5311 0 R /XYZ 90 733.028 null]
->> endobj
-5219 0 obj <<
-/D [5311 0 R /XYZ 90 550.929 null]
->> endobj
-5315 0 obj <<
-/D [5311 0 R /XYZ 90 536.358 null]
->> endobj
-1485 0 obj <<
-/D [5311 0 R /XYZ 90 435.963 null]
->> endobj
-206 0 obj <<
-/D [5311 0 R /XYZ 90 429.363 null]
->> endobj
-5316 0 obj <<
-/D [5311 0 R /XYZ 90 295.642 null]
->> endobj
-5317 0 obj <<
-/D [5311 0 R /XYZ 90 214.879 null]
->> endobj
-5318 0 obj <<
-/D [5311 0 R /XYZ 90 214.879 null]
->> endobj
-5319 0 obj <<
-/D [5311 0 R /XYZ 90 176.144 null]
->> endobj
-5320 0 obj <<
-/D [5311 0 R /XYZ 90 137.29 null]
->> endobj
-5310 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F13 540 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5352 0 obj <<
-/Length 1629      
-/Filter /FlateDecode
->>
-stream
-x��YYs�6~ׯ�S*�D0@<��!M�L�N�؝>$
LB2'������.	�D]6c��#�v����13��f�����M
y�i7S�Æc�Lb�Ƨ!!���1��Fy������d��A�'�یg���7"ϓlr����Fc���9�R=~S���;�/
-�Ա�&�F_n�
~�|�
���9ȡ����/���;#�Ʋ
�I�wn\�`�&�^í�l#���cR�m���4Y���_��fڐ�o@��v��,ۃoj:�����
-,��j̖[��O�g>c��l��~/^;&��l�*��*Lf���<�R*~2�>�B��SL#n�ֱi"�2�"�
�0�AP
��g�e���s�*	��r���2�/�(3V�z��H��/�
gq$�|T[="l���� ;d�ē|���s
-{e�}1�g�
���O��G�/�X�>��Ѯ\8��~/�n�U��-�
�b�絔�E��4|�T��7�,d㚏�](՘�e@�#5�OD�:�Q[ù
O��}�=�`D�s��Ǧ�nh�����B����

f���QM� ��4Yl�D�([��R�ZXX=����<Q��~��GK��}����4{
�oK�*��
4�
����,q���H5�W�"]��v\l�u��Z�C+C����j�~6��P�23�k�ѭ��M�
-��ezH,D ���8 ai�I2�$"J����m (F��Q�8��jr'�|U{u;-��
���w\C'�R؉�2*Pz�%"�0_���oEa�,|�M�ڴ��N���
-�Tm�W�J�0�K�Q�,�s%�| @M��\���j%�0�Hw���bZ}���
�֑�
'ڴ�k?���	� [�R�j�Tz�v!��Z58F
����|
C�">����cj�
�Y�Ӗ�?�'���|�����N�E��uc�.� �XP��,�qU'p�zs�y(
���^gq��$XD�w��?č��̎�Ђ��nd
\^�"˺���zO�p}y���[��<��	-$x��m�@�E������ǜ>����nNd�	�ۆg�L�w��A�i�h��͇�L\9$�q8͠H���*tȮ��BĶzou:#�C&qO���,cM`h;���XL/�m[O�uԼxѡ\E�R�D��d�9=m����{9vp����t<�IsZ���g�c�5��Ċ�P��d;
+�ŵ�2"X�"PonW{|��<��U�=�A�*c����2X
�t

`yf�gE;�,L�kb��Iiu }!c�cJ�&��OjB��������y�2\����)��N�
�EC¦/`�� [...]
������Q�hT`
u��U�o
)��G�_���Y]پ��i�Z�U*1;��R�g�˘�z�����@G<�E�N
��]��c�>o�dR���X1�ey���,�9�	n���<�,�"�4)k�|�w
��޵�Ձ3��pn�4� ʸ#/���e�9
Ш.͙�����"��<��"}J~Uݘ������o)����Q��
/��Y�_�Ys-��f��P�E�6�ʾ���A���^�:��:���<���X.�ȗh�i���"M�kn�X5�qj!���H]'x�5�:
���Z��+
-endstream
-endobj
-5351 0 obj <<
-/Type /Page
-/Contents 5352 0 R
-/Resources 5350 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5300 0 R
-/Annots [ 5308 0 R 5321 0 R 5322 0 R 5323 0 R 5324 0 R 5325 0 R 5326 0 R 5327 0 R 5328 0 R 5329 0 R 5330 0 R 5331 0 R 5332 0 R 5333 0 R 5334 0 R 5335 0 R 5336 0 R 5337 0 R 5338 0 R 5339 0 R 5340 0 R 5341 0 R 5342 0 R 5343 0 R 5344 0 R 5345 0 R 5346 0 R 5349 0 R ]
->> endobj
-5308 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 719.912 197.803 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_6135986b7669c295a1855279a9347433) >>
->> endobj
-5321 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 681.058 190.054 691.962]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-5322 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.794 681.058 241.6 691.962]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_804b0e848b19f18d99664d5bbd57a3f1) >>
->> endobj
-5323 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.937 681.058 345.081 691.962]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-5324 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 642.204 179.554 653.108]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-5325 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 642.204 250.666 653.108]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_af6afcf59d181946f02b27418d9b651a) >>
->> endobj
-5326 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 603.723 155.265 614.253]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a33b89d7143376193110dde339707b0d) >>
->> endobj
-5327 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 564.495 158.044 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_cce6ad80815e7d09970ed92968967585) >>
->> endobj
-5328 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.382 564.495 227.204 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5329 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 525.641 161.013 536.545]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_ad63aea0771a124cfb70c8e8e80779a3) >>
->> endobj
-5330 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 486.786 195.165 497.69]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_2b29f5668213f9171cfdc666ef4142ea) >>
->> endobj
-5331 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.442 472.166 226.112 482.071]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
->> endobj
-5332 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.148 461.207 227.817 471.112]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
->> endobj
-5333 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 437.347 187.563 447.877]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_b174d3f8d008aca83801ae0de294528d) >>
->> endobj
-5334 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.482 422.353 271.151 432.258]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
->> endobj
-5335 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 398.493 150.493 409.023]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_6b57cf93153051d3aa63c33e34ee4127) >>
->> endobj
-5336 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 359.265 181.845 370.169]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_9fe4a78fa5899317f5a060d7b607b5c1) >>
->> endobj
-5337 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 320.41 181.845 331.314]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_7b9d70f9508c08b9a86272878ca03b5f) >>
->> endobj
-5338 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 281.556 154.727 292.46]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_25fce97f25e1814c62ec46b7a04ee942) >>
->> endobj
-5339 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 243.075 176.505 253.606]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_37abf9e26c109cf608ec7829284883ec) >>
->> endobj
-5340 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.408 228.081 450.955 237.986]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_7b9d70f9508c08b9a86272878ca03b5f) >>
->> endobj
-5341 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 192.889 191.718 203.793]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-5342 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 192.889 288.852 203.793]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_b0063024b3761b3ff89c3f259ebac6fe) >>
->> endobj
-5343 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 154.034 191.718 164.938]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-5344 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 154.034 303.079 164.938]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_7072dc2f1979eb1198aea49e10bcd59d) >>
->> endobj
-5345 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 115.18 156.281 126.084]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_02e5a05e31a64af8bb2652645f74190d) >>
->> endobj
-5346 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.097 115.18 236.24 126.084]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-5349 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5353 0 obj <<
-/D [5351 0 R /XYZ 90 757.935 null]
->> endobj
-5354 0 obj <<
-/D [5351 0 R /XYZ 90 733.028 null]
->> endobj
-5355 0 obj <<
-/D [5351 0 R /XYZ 90 700.151 null]
->> endobj
-5356 0 obj <<
-/D [5351 0 R /XYZ 90 661.297 null]
->> endobj
-5357 0 obj <<
-/D [5351 0 R /XYZ 90 622.443 null]
->> endobj
-5358 0 obj <<
-/D [5351 0 R /XYZ 90 583.588 null]
->> endobj
-5359 0 obj <<
-/D [5351 0 R /XYZ 90 544.734 null]
->> endobj
-5360 0 obj <<
-/D [5351 0 R /XYZ 90 505.88 null]
->> endobj
-5361 0 obj <<
-/D [5351 0 R /XYZ 90 456.067 null]
->> endobj
-5362 0 obj <<
-/D [5351 0 R /XYZ 90 378.358 null]
->> endobj
-5363 0 obj <<
-/D [5351 0 R /XYZ 90 339.504 null]
->> endobj
-5364 0 obj <<
-/D [5351 0 R /XYZ 90 300.649 null]
->> endobj
-5365 0 obj <<
-/D [5351 0 R /XYZ 90 211.982 null]
->> endobj
-5366 0 obj <<
-/D [5351 0 R /XYZ 90 173.128 null]
->> endobj
-5367 0 obj <<
-/D [5351 0 R /XYZ 90 134.273 null]
->> endobj
-5350 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F72 471 0 R /F99 2117 0 R /F65 376 0 R /F98 2120 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5386 0 obj <<
-/Length 2004      
-/Filter /FlateDecode
->>
-stream
-x��X[w�~���SJ�+ xU�n�9I��v�6�9>�KH)�!���_��(Z���i��# 

�>@�U@����t{u�&�AA�4J�ۇ��A�2�D,�-�!c��9����f���݈�w����گeي�?��V����kY�V���w����QB�ו�:
�����<��R�<�È&�o�������+rрY9��d<	���?Ҡ��oJx�;K�	���\�����)Ω	�tӋ^-Q�w��ʏ���{ώ�l�e�t�Y�<��7	
1f)�y
̣��$E��(9�|�'`��/F�v�T}oi̡��Ⱥ�S��}#��<�g#
�F,�ݰ{z�!�H
-?6a��ʢ ��ب�q�Y
�9�������������f��l��
+�Sq^m63����9��R8~kQ��4;�I}�q��+���"��>�pW�y5T�z%*���-
���}ꄥɯ�'C|�4�3C���	��m�%Ԇ���~!�?;���j��w�Z͢
�_��NիJ�>��QE�{�^�p��j�+R|� ��Q�F��?��F�Q���yA(���+R�T%zY��������p�A��^zk�~�K�E��v7�����"O�'/��r��]�J��B���
Udlܧ('
��⑟~��e��
Ok�qB���6
Vݥ</r��0����훭󅱃��c���켏^.�,���Y��LY؏����7�+q���u��g����'���g��
�z�K3R�p��p����^g�����F.}dz1
��r��S��m<�
�l��
-
-�
-���qI�X�0����P+_a��ݲUM������Ӓ���͊m�섄L���4ո(B}��\�n
[9��l<�t y�{@�:d'��Kk�����AZ�
rMI�0��6۪W�
�z���W�. ]�
�<Q!b6�*UK[��4l�
�Yh�� � N�`Y�nk�;$6R�&F>���5~Ru'�
�l;��v|�-���(>(�\=�4�2)p��zc������ض�i�aw�N�kVfKU� M
-ߎDL��c�!���-��b9�~�Il���L���}1j�A	��H=��<�B�|�V�5�[�HQ�8��1
��U����r��{�6��Y

0�c\/�m�7��J
-�]{�6
&k�:A���F1
-
��)q8b��@�U�=
b&Ct¸�ґ��M�}�yb
?a~8�b5dc�냛����4U

Q
ۋ�Ѓ�
���g<!Q�c�
�W&�Op�5q ���g�݉�y�� �1�)���� \UMx����4��U((��CM�n|�? �O��V��jԨFx*�H�'��<�h�������������/2�6
g����T]U����5�$ $�
d`�C�M�Ar׍��Ԟ�S(ߏ&�,�����d:Ik�e�}8�I�����[N_��Pv�� rq��[�o���6�8�
ԥ�����M�¸��}r{G$X-�R8
�3b����(����9l�$�|Ƙ��&�A�Dk
-�!z-�^vJX|-"'�q����t�"�
pW1���o)�
-�l� #�HNR�F'�Y��.
C��Eq
�O_
M����(t��:���J���;���E� ;����1��(-[�;D��:�(L �� �Gq6
9Ċ*q$?�E��ʸQy�(rW�q���R���]�n��GúFv�����xTA_!ٽ\�-�pc_�
x3Z
Ƿ�'���'e����E��,�b��f�Q��2v�/sE?�`�l(����h:;������,!	
�b����2���p���H#xY

�	Ƃ��nRd��\����M����F�j�[�^8zm�E]�:�q:M��S�
��җu��v:�8�H��ģ�j_��U�M�}����ƿ�%I��^�[�LRb*��GdJ%���p����}5�G�G�a�8�kz0?<����Y\_�v;��ȶVMKT�4���v2���l`�݃�F�f�jX4P]�dj�
"|s
-endstream
-endobj
-5385 0 obj <<
-/Type /Page
-/Contents 5386 0 R
-/Resources 5384 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5300 0 R
-/Annots [ 5347 0 R 5348 0 R 5370 0 R 5371 0 R 5372 0 R 5373 0 R 5374 0 R 5375 0 R 5376 0 R 5377 0 R 5378 0 R 5379 0 R 5380 0 R 5394 0 R 5381 0 R 5382 0 R 5383 0 R ]
->> endobj
-5347 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 697.756 203.075 708.66]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-5348 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 697.756 296.324 708.66]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_d53075833d1bde0c9e36dd70afb4b967) >>
->> endobj
-5370 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.005 683.644 345.599 693.549]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-5371 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 660.292 194.297 670.823]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_071ec60375df0a0f5051dc431f445e37) >>
->> endobj
-5372 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 622.455 188.759 632.986]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_02b52b4ef5b1806566495cb7b6d35abb) >>
->> endobj
-5373 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.953 584.245 237.097 595.149]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-5374 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.836 584.245 309.903 595.149]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_6e9c19c25562f9d1a71523d00b337450) >>
->> endobj
-5375 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [290.965 570.133 398.006 580.038]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_600c942b0a2e94b550ccd84ef9c30928) >>
->> endobj
-5376 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 479.205 226.034 490.108]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_dcd147a1c5474a820c7379514f629fda) >>
->> endobj
-5377 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 479.205 397.32 490.108]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-5378 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.794 441.367 172.16 452.271]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_71a39e295673dabbc4661c7c0a2c3445) >>
->> endobj
-5379 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.855 441.367 379.081 452.271]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-5380 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.021 441.367 513.996 452.271]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-5394 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 429.412 225.471 440.316]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-5381 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.27 330.308 256.414 341.212]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-5382 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 318.352 130.826 329.256]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5383 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5387 0 obj <<
-/D [5385 0 R /XYZ 90 757.935 null]
->> endobj
-5388 0 obj <<
-/D [5385 0 R /XYZ 90 716.221 null]
->> endobj
-5389 0 obj <<
-/D [5385 0 R /XYZ 90 716.221 null]
->> endobj
-5390 0 obj <<
-/D [5385 0 R /XYZ 90 678.504 null]
->> endobj
-5391 0 obj <<
-/D [5385 0 R /XYZ 90 640.667 null]
->> endobj
-5392 0 obj <<
-/D [5385 0 R /XYZ 90 602.829 null]
->> endobj
-5393 0 obj <<
-/D [5385 0 R /XYZ 90 523.422 null]
->> endobj
-5395 0 obj <<
-/D [5385 0 R /XYZ 90 393.059 null]
->> endobj
-5384 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F11 418 0 R /F65 376 0 R /F31 472 0 R /F7 505 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5401 0 obj <<
-/Length 2065      
-/Filter /FlateDecode
->>
-stream
-x��YY��~�_��H���A���)Nٮ8Gm��'۵�!
c���f�}/qe�n&W�A% ���� 
�#
}{�����7	�$�	M��]$q�&qJ��,�aE"b�!�՛5�+UԻ7k�WU����Z��k�P�����[]�Z�U���s���zC9^��PM��띮�D�t��F*K�������n���yC@/
�OQ�x�=����2h�.ˆI�l�CS�E���7دi���ȣ��FBRDS��!
_�B�
��F�폘�c�����f� �J
mL
�b�
-���֛,���F�,�\3�f$����~�
�#�l�c1$��tC��֐ƶ�Q�b�t��U�ͮj�AumuPm�UE�웲u��
Wm}�]U՚��)/��i[e�c�Ъ<H�4��KzgF������d��xb̛ ������-ꛟ.ZTr��tj�?��
#
�Z��jZ0
ct��\�I��G����2���03��i/*�8��TuE$�=����C�Ę�N|�R���K���jp�.��ՠ�]+!��2�Q�c0��ss$

�S�X�n�����D����>�U���ߺ�I#�)@�%�n�iӃt���s)1�H��֧�OAԤ&l�

1����C�d"��k�E]/6VB�0���S����Tt���s:�	]���
�4~�
1�'2ǧ˃��4V�M�*X��ĔB��<���:

(t6~b4"P
-�7�Rr?��U��`vP�Y�=�W+u~��#�+�k - at N/�9
�&os�@ة�Uխ��0`a�2+��
��]h���B�R�� ���
R~1H����
-�7,���1Q����8�76b@��U/D48��-�O�a[˗�Y�
ט���Z�׼�=�N��1���}Xe�L�v�X׺9Ve6�Y5�7�ar�M�1�6
���
hI���@G�p:��R�!��� �4��U06��eT�F�>U'S�s;wc�
� 6�Cxq%��3�$
؄b9م���	
2勦�OX�\�Ē���YЇ#��/c�r�䰲I�V!T
�
�Lc��,��:���y�|�4�?Sb���y�}�4$
���H$r$b���<]�J��A`��9gX#�߇I�w����
�=�㟖D�{2�!&*�kωH���
'��y��X���u�*�f����7N�.&o5_��>�;S�5�oÚ��Y��.�5�#S���ٜU٪k�	�ۢj:%�
���
hy����*�ׁG��
-eM�������lú.�4{.�sG,�x!G��ݩf-��Y�k�
���Q��d��-���܁���H���N����d
-��
�(�5��	
�n�d�{��fʼ�ע���sh����{��0�j� ��Ǫn���?����xi�
҆�Yꐶ��n��cW�IG�;!�+h�
�.�����Q�^d�S�
�:�t�3t-ט
y��苻u��f��� ��f J`�pN>�"��`�����A�F��);S���:V�*
�ߚ����s��K���0X��rv�����qLyM]����&
��?���Ϙ�ﭻu��z�L�z����Z��@�s*l%UA��{T�nD2?^�`�%�<���1}un
�/b�r�߾?��
O/�6KY�@ ����	
��� œ�1ܵ�|�(�3BO�]��=�r|�M�yϵ�A�gS�m0��JRW{��B��\�=�+U�Z7�_*?�*�&�����ڠ͓ڶK�,���c[

"F,R�>����Z
�&C|LC�V��%�;`r��?!��
XjL�*
/zQ}
-��A��]��*t���������Az�Š�)/
-��t+��:��PP?�y��������yg�LR���av�>�2��߱׺�-M�"�����-�ݭ|��̺c�oU�k�e]�)�݉�B��)'�?='�����پ0�'�� "������Qܼ��jxBwU���*�����5���Se�l���S7�[F#jV��K ^���/ҭ��(�����/)b�?b=������t:�m��2?�(oo����
=FR
��B��u������sU����G��
-endstream
-endobj
-5400 0 obj <<
-/Type /Page
-/Contents 5401 0 R
-/Resources 5399 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5300 0 R
-/Annots [ 5398 0 R ]
->> endobj
-5398 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5402 0 obj <<
-/D [5400 0 R /XYZ 90 757.935 null]
->> endobj
-5399 0 obj <<
-/Font << /F63 374 0 R /F65 376 0 R /F50 339 0 R /F11 418 0 R /F8 504 0 R /F7 505 0 R /F23 340 0 R /F31 472 0 R /F1 542 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5413 0 obj <<
-/Length 1846      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~��6�����E��(t�Z�vI�=�A�Ht,T�4]�z�~G$EK��d�
-�!%S��������;
[of�\��^��
-P�R׺\Y�<� N�u[W6!���۟��a�	o>�)��t�q�|Hn˰�-�oD&ʰ�˛�]U��r�YU�$�z<_P��WiXUjx.V���Y$�
��{���w��.g���-"��
������[1<ga����Yˡ
��u1�}�On�2�]�ߢ����G�����M�I���_�و��#p�/���

!�M��y�^}B�>�W�~�
�Qw2���g�9��	<!
r��<y��W
�d��a����B���
l��)ߒ0��a�'T���
�TĨ۰\FG�\�M�U�������yuو	���
3G�I�0�� �ҝ�O�e��"����e�Mx��7s�uR=�D��P�4�
�C������[Fk5*����v=SW
sjWsb��?�`� U�������u%��ji
i!�� G.c0 (�:9pʌB<f�鲘l�T��-bS'
���u=O�r��7ゞ�dL�Q�='�_�)��$�I�0�ê���2�j�@�F��Ly
���h��L [...]
-�?�|���r��<u���z�u��)d�+�D��S��++�~-��
�8��	��C7Y�ɦ
T3'c%�?s8�
��LD먼�z.��x�������p��t��@�p���Y�n�s�� Q��؋[���>��c�
�:F�C���J�ph
-�Vrqt-�x�B��V���C����!r}:D�U��u}�	�S?5u��c]�9�nB�,��(	`7�#��c^�y'
�wSh#�3�}����4D��WП�\�UE:Z��,x;-�>��2&��!/�-Q
Z�0���T������ X�-��]/�o`�F��
2]��ĩ�V�$)��v����s}}<C�.�����v����aю|	���)#�
][���շ	G�E
I�xG[O݉3 '�aXN�w��$�Ÿqo7���=�a�§f��
����/
-u�:�|y�	f�K6����1
��z2���NA��+��X�yJg�G	[��j ��H
*�*OSU�F���T,�*G��c�AP%��`S�GZ��P�E���ڤJ� U��f�f���
-�Aw����J�$k��M+��ј띹L�����ξ̺���m
q���NLB���ʻk��l�&ji�
?&Y�6����a-���D��[�~RvG�kD��H��d�V�̀�SZ'?���e
��_i��X��&WE��C�_?�#BY0�=�q�����M�Hmv�l��7T�=q�
A�d�Z<�����9
��|�/mP}�ut��:m7*Ot2��I���Z�D�Z���Gv���S��O��Vu?h�

�>�=)]�VΙg�_F�[��-NGe|H����g��l��B+e��f��|,F��Ò�ՀR7T����3�|
�&L��>��*�+�h:}
-p!�ޤ��W��W ��K|��}����byv��nQT�&K�%�p��!LzV �1btn���
n�
���  
-endstream
-endobj
-5412 0 obj <<
-/Type /Page
-/Contents 5413 0 R
-/Resources 5411 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5300 0 R
-/Annots [ 5403 0 R 5417 0 R 5404 0 R 5405 0 R 5406 0 R 5407 0 R 5408 0 R 5409 0 R 5410 0 R ]
->> endobj
-5403 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.547 660.314 513.996 671.218]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5417 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 650.417 106.488 658.137]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5404 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.828 630.735 375.297 641.639]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_6a5f64baba3ae5704d9645db684434d3) >>
->> endobj
-5405 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [310.804 581.032 445.257 591.936]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_7b9d70f9508c08b9a86272878ca03b5f) >>
->> endobj
-5406 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.828 521.873 375.297 532.777]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_63fd965105d740ff7003037964ec7d10) >>
->> endobj
-5407 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.912 194.312 410.704 205.216]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
->> endobj
-5408 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 140.072 170.687 150.602]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_47e2d2f9114f640ca24b3dc68b701152) >>
->> endobj
-5409 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 101.103 170.687 112.007]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_2f74f2b935a0e1900eafe79b7a305a02) >>
->> endobj
-5410 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5414 0 obj <<
-/D [5412 0 R /XYZ 90 757.935 null]
->> endobj
-5415 0 obj <<
-/D [5412 0 R /XYZ 90 733.028 null]
->> endobj
-5368 0 obj <<
-/D [5412 0 R /XYZ 90 716.221 null]
->> endobj
-5416 0 obj <<
-/D [5412 0 R /XYZ 90 716.221 null]
->> endobj
-5369 0 obj <<
-/D [5412 0 R /XYZ 376.791 633.888 null]
->> endobj
-5418 0 obj <<
-/D [5412 0 R /XYZ 90 617.277 null]
->> endobj
-5419 0 obj <<
-/D [5412 0 R /XYZ 90 508.416 null]
->> endobj
-5396 0 obj <<
-/D [5412 0 R /XYZ 90 486.104 null]
->> endobj
-5420 0 obj <<
-/D [5412 0 R /XYZ 90 486.104 null]
->> endobj
-5397 0 obj <<
-/D [5412 0 R /XYZ 121.143 409.44 null]
->> endobj
-5421 0 obj <<
-/D [5412 0 R /XYZ 90 392.829 null]
->> endobj
-1486 0 obj <<
-/D [5412 0 R /XYZ 90 295.472 null]
->> endobj
-210 0 obj <<
-/D [5412 0 R /XYZ 90 288.471 null]
->> endobj
-5422 0 obj <<
-/D [5412 0 R /XYZ 90 158.543 null]
->> endobj
-5423 0 obj <<
-/D [5412 0 R /XYZ 90 158.543 null]
->> endobj
-5424 0 obj <<
-/D [5412 0 R /XYZ 90 120.067 null]
->> endobj
-5411 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F95 1788 0 R /F11 418 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5442 0 obj <<
-/Length 1458      
-/Filter /FlateDecode
->>
-stream
-x��X�r�6}�W0yHź���I:��6M��V�⌇� �-o%�:��.�"iJVꤗ�>ؠ��{�`wl�-l��|?���v
+@�K]k��ly.A�k���O	A$�gc<=�	��e^��O��v#�ex�.^�ay{v�Fd�
뼼���j���EyV��q����x�"	�J}^��(m�OE	{�x�ž�a�v�j>�}B at Ml�F-�!��V�N�����Z9�o�4R�Ũmb]N~�`m⾶1�����9�J B����Rި��/�)�Z��7�
�"�#�0��c�郭���F�ͬ�
LW�c�#ET{�ڣ�i�L.
6Pn�C�6�U]n#�8!d�F��-��tF)r��Aك	�Ɂc�~���i��B	?�gv��Zjt��cq1vt�����u��L� ��	����c�:�M{�ư9WŽ
?	��
-c���
�2���D�9��!|P�=H��v�idۄ���/��
C!#�ލ��=�3�#�w��C��?�a�<�w��2V���IE��(V"��sr���:C�"�s�Q�g�����0��ed�~8��T�߇�apy�
��
��>�aw!�m�U*��#�@}��>�څ�/� (�P�R��Rc�%��!+5;:���|��@�\��zW��!������2�#�xȥm�
��K�Q
�ɧq�x.���̤y�?i��Y��p�h
����w5���"�3k�
D8�\��W����Dh���ʸ��<�``�
,��h���1#�������P��憥���֦V���D�`��,&�{��kHn��B��s�)J�(
G5P�p9�|��=�DUu簩��m���"�bf��3�F�~�_U"�W�l���z�"BP��BD]S��ϐ�

�?�ʫ�aZ$�`U�#�B���M�U�$�M��&��&,�`QB�����8��~;��vCFP� �|��m�XlF���"g��
��x����c($Yc9�^��k�\�)����ս�T�\5���3�S�QX��_I�R���)�vZWh!�qf6����q�Pgj'�uu-d\�υ��z���2r�
;9�Mue2Qט(�j��=Sj��r�
AN����`�����yM
[&OG<:s)"���k�?�e��K�$=Wm��:X-̕mўXy-�K�&�(���N
�n���;ٕ!y�}��;�r�.��|�f�B�n|�6#�НPCtL[>ku�V�
-�ZK>�"�
˹�w�_Qy��������<��:;lR�6�6�PG���扯�E��U����D.Y�'��)���54y��[E��ͦ72|
-t���G���>(J�GN41)��뼹���N���S��Ϝ��/�(��9�j�~
-�m��m��Sv���FT��3P�&c(�~��׏��;}��!��̦����ӛ�Uh��E����;���:�@��{mhy�;�q�i�4��Oc�u$
-endstream
-endobj
-5441 0 obj <<
-/Type /Page
-/Contents 5442 0 R
-/Resources 5440 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5454 0 R
-/Annots [ 5427 0 R 5428 0 R 5429 0 R 5430 0 R 5431 0 R 5432 0 R 5433 0 R 5434 0 R 5435 0 R 5436 0 R 5437 0 R 5438 0 R 5453 0 R 5439 0 R ]
->> endobj
-5427 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 707.334 178.435 717.865]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_16e25a87d3f2f1a0a454883b84bcf177) >>
->> endobj
-5428 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.426 668.107 222.233 679.01]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_fbb0b8b086aaa82499371c7faee19c3b) >>
->> endobj
-5429 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 629.252 179.255 640.156]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5430 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.994 629.252 230.163 640.156]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_83d49cacc2666db32082dabdac76acc4) >>
->> endobj
-5431 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 590.398 179.255 601.302]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5432 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.225 590.398 237.356 601.302]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_a2b418d948cce672416e77deb99b45b8) >>
->> endobj
-5433 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.426 551.544 227.852 562.448]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_b2c21b4ce7f4f822e98343689525f1b8) >>
->> endobj
-5434 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 512.689 217.61 523.593]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_032aca0bd08a3c854d46b4a7c567b41b) >>
->> endobj
-5435 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 473.835 180.54 484.739]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_ead8142c94d4974534e7f0fe10ed63a7) >>
->> endobj
-5436 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 434.981 178.239 445.885]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_28cff68f198562b6921add86c58008af) >>
->> endobj
-5437 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [98.332 334.91 155.108 345.814]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
->> endobj
-5438 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [463.875 334.91 513.996 345.814]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-5453 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 322.955 120.336 333.859]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-5439 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5443 0 obj <<
-/D [5441 0 R /XYZ 90 757.935 null]
->> endobj
-5444 0 obj <<
-/D [5441 0 R /XYZ 90 726.054 null]
->> endobj
-5445 0 obj <<
-/D [5441 0 R /XYZ 90 687.2 null]
->> endobj
-5446 0 obj <<
-/D [5441 0 R /XYZ 90 648.346 null]
->> endobj
-5447 0 obj <<
-/D [5441 0 R /XYZ 90 609.491 null]
->> endobj
-5448 0 obj <<
-/D [5441 0 R /XYZ 90 570.637 null]
->> endobj
-5449 0 obj <<
-/D [5441 0 R /XYZ 90 531.783 null]
->> endobj
-5450 0 obj <<
-/D [5441 0 R /XYZ 90 492.928 null]
->> endobj
-5451 0 obj <<
-/D [5441 0 R /XYZ 90 454.074 null]
->> endobj
-5452 0 obj <<
-/D [5441 0 R /XYZ 90 397.661 null]
->> endobj
-1487 0 obj <<
-/D [5441 0 R /XYZ 90 118.565 null]
->> endobj
-5440 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F72 471 0 R /F65 376 0 R /F99 2117 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5504 0 obj <<
-/Length 1318      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�6~��0����&)Q�`�uM�nٲ�}�
-C�[�n�d'ί)����r�ȋ;�I�|xt.�wxHBcf@���7<s,���
ctk��p
F�hjܘ
�!4/��K��eC3�Ws:e���h��:99��
�OK:��?��o�(�����3iR���71���Fz�F�z��
T�@\�Z����'hL����w�Tb����ظ��ك�p�}B��[ :��p'�g6	���e���I�H�t*gG\k�kV���Y&�XF��d%���7Kbih�!&�&p7�L at .p�-M�.J�x1U�"Ԑ$pyl��q�.������[�Xx|��I�i�k��F�X _%��A��=[�aei�?�A�J���u�
-�2`j�f�τ&��[�-�U�
-�K��a?�r-n�W�=
CZ�bC͚#�6�Z8P������M1n��4䪴���8|��%.H�f�=W�D�7
����>&f/�v!$B(�ЪK3Aav��7�-1t��q�
[8�1pl���9M��@�`��|4<g}�5+ƉgUA�Dg�c�*Jg
��М	��/�` E�'��H�@�]%�mOځ2�S��$�5�������6[
 �#m��I�T���
�5��"�E;&���Vh��܄q����Y2�e���(
OV%-���h
D��Wn�aQ� J��&|�����Ĥ��,
y�X�
-հ:�~\��Ț�Xn-��l`;���*U�%e��_��$HQ*d�h�< =g��a`W�������E�<�eJ���)
ʌu�,�5���6�I
�'��Ǵ�(h�V��B�4�<��	--�Q�t�rE	D%�<j;>@uY���$��𧻓�]'�.ͤ�u�vB��ճW/"�&:���}σG0)������^g�Bo־�O�1�
���r����\�
��D
��]"���B�8�V��Q�N�:� ��
]�4ZFE�⁐
\�j��������C���SHc��tZ�f�����ߙIL|[Tjw�D÷s�Z�̭��}X�Z H�۴�v�G�`��w�NY�`V�
�B/´P 0��

����@Gɉ d�Aȶ���x
��D�a_�h�d��v��/�����_^pb�I��o��1�1
�U�d�Q
�5����+����Oǫ��̻��Γ���˿ �<�8�R�S#
�K�Vqݩ~��N�S]z�
ʾ�b�T]�B�
-�/�*�
;+�G� 
h ^�4��>㔞�m�ѯ�*v��"��</��d8���ai�3��<��O��ZDW+���d���Б�L�����
��ks
-endstream
-endobj
-5503 0 obj <<
-/Type /Page
-/Contents 5504 0 R
-/Resources 5502 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5454 0 R
-/Annots [ 5455 0 R 5456 0 R 5457 0 R 5458 0 R 5459 0 R 5460 0 R 5461 0 R 5462 0 R 5463 0 R 5464 0 R 5465 0 R 5466 0 R 5467 0 R 5468 0 R 5469 0 R 5470 0 R 5471 0 R 5472 0 R 5473 0 R 5474 0 R 5475 0 R 5476 0 R 5477 0 R 5478 0 R 5479 0 R 5480 0 R 5481 0 R 5482 0 R 5483 0 R 5484 0 R 5485 0 R 5486 0 R 5487 0 R 5488 0 R 5489 0 R 5490 0 R 5491 0 R 5492 0 R 5501 0 R ]
->> endobj
-5455 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.852 573.883 245.94 584.787]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_6e613e3f02e896503d38da788ad593b8) >>
->> endobj
-5456 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.277 573.883 329.905 584.787]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5457 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.331 539.013 222.419 549.917]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_b8dbbfce1fd68d57df6b05d5cc74c012) >>
->> endobj
-5458 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.234 539.013 282.862 549.917]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5459 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 465.598 202.902 476.502]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-5460 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4 465.598 300.037 476.502]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_aaa520f25230108e6839b82747cae794) >>
->> endobj
-5461 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.374 465.598 384.001 476.502]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5462 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 430.729 202.902 441.633]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-5463 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4 430.729 314.263 441.633]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_b2dfd07539bfb516c7ca2d04460064fa) >>
->> endobj
-5464 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.601 430.729 398.228 441.633]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5465 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 357.314 191.216 368.218]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_9a22818e12d0abab8d8a8e0d3346f51a) >>
->> endobj
-5466 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.032 357.314 251.659 368.218]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5467 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 322.445 191.216 333.349]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_cf54a358f4ddf09f56364da87de68a49) >>
->> endobj
-5468 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.032 322.445 251.659 333.349]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5469 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.392 322.445 350.02 333.349]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5470 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 287.575 190.26 298.479]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_4039bbdc92a28fade431cb98f20b0fa6) >>
->> endobj
-5471 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.075 287.575 250.703 298.479]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5472 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 252.706 190.26 263.61]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_11810ad660a4aa63766e8ebb0334b7d6) >>
->> endobj
-5473 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.075 252.706 250.703 263.61]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5474 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [292.436 252.706 349.063 263.61]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5475 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 217.837 192.471 228.741]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_29b14636d21c90e28ee1821666dc1d64) >>
->> endobj
-5476 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.287 217.837 252.914 228.741]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5477 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.647 217.837 351.275 228.741]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5478 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.36 217.837 448.988 228.741]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5479 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 182.968 191.366 193.872]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_2f220b5f73e79a2e6feab3a97a7e2445) >>
->> endobj
-5480 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.181 182.968 251.809 193.872]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5481 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.542 182.968 350.169 193.872]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5482 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.255 182.968 447.882 193.872]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5483 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.658 148.098 203.949 159.002]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_7f9dc23eef0ab2ef9d07f4d53177afce) >>
->> endobj
-5484 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.323 148.098 264.95 159.002]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5485 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.417 148.098 341.045 159.002]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5486 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [359.406 148.098 416.034 159.002]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5487 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [457.369 148.098 513.996 159.002]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5488 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.682 136.143 222.309 147.047]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5489 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 101.274 191.923 112.178]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_952922658abcdfb880fcf0a8483c9620) >>
->> endobj
-5490 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.739 101.274 252.366 112.178]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5491 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.099 101.274 350.727 112.178]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5492 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.812 101.274 448.44 112.178]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5501 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5505 0 obj <<
-/D [5503 0 R /XYZ 90 757.935 null]
->> endobj
-214 0 obj <<
-/D [5503 0 R /XYZ 90 733.028 null]
->> endobj
-5506 0 obj <<
-/D [5503 0 R /XYZ 90 642.053 null]
->> endobj
-5502 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F11 418 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5534 0 obj <<
-/Length 1661      
-/Filter /FlateDecode
->>
-stream
-x��Y[s�F~ׯ�)E�h���r�[�ԙ�͌�8ONF�a-3E�I�}�^@ aYq�d��	��9���
�5���v���hz�:V������`�s	�X�ua�(
O��>
l��"���)��ts-�2���\�a�y����ٻ�sQ�'�c�uV�>=Wp����")��M	
9?��|t3"���R�{�s�-F_����FN�[k�ka1��1�>��
ac�}Ge&�
3	�
<B����3�\��<g]L8ؽR�&��'u,�F�3�K��l�Lg`q2�v��
�1��ʰ�Ƅ���n_h0�<����
#n3v���"��Hһ�
�'
�|�ˤ(E.#ܐ핂��Υ�'�<���wA��~�7��J��fC}-��U�.Ő8��V��w?ׇ����Q/h���
-,��f�݀�
9�}4���
k'��:��
-�V�˟��/�v�b�r�mճ8Sn�~����}w5@���$c�
q�JbQ
����9;�0���4��F��a�ׇ��2���z�_�W4��3��\v:M#���<k��W�@H��;dg�0���p���� �
X�'-
7e����G	��I~�r��2,ǎg�M�q;��
(�f��H{lw=Dɑ���*Z���<�É��<
ә���"%v���xX'+!�.ե�}'����y�7y���j�{u�Bdq���R%(xn}-�\�P2�ҧ�a�:n���u���Q��3�� ����unT0�暻a�}l@�	u��0�Zp
w_41!�Q"�褛1���zgĝpȳ
�
E�p�3�"b&�7��T��MoD�IQ��T�E3�aU���]��,n
M�Ԫ�ڦ�E���p�����j��'�
�e߀�3��fZ��x���ʽfP��j
�Ih.]IO�kR��o���w�6�,��Y�&�}t��|�eT�)�

�Ci&m�/L���ԅ�ϟ�+��J}y��=Y�;��J��5a
�O$ �� ��8�@
��c��lS1ؽ��
�*!
r���_Vs��h� ���~]����t�^�j�ߢ(_L�b���./��	��$�]^R�˓���0�U7�VR5�8YfQ�v+o�h��~'l��Е=�-�u�T�nݪӠ	�p=[)w�D��ܽ��~zff�.\����~.���`"!۩E��]&�o۪�R#�e��
-�~?L��Y�f�jhc�G+�����~��H/Ӎ���p7#��N$Rh�@<����_��q�S���s� 
�������h9`3��;1�J�P����K�����	e�-l��O��
>
H�� ��W�jR
��`�ԥ��I�cnFѲH:�l_{����_0P�����4I��&Po}����É-neK�Ɇ\+wt\+�=��
����� ��q��KeRC�?��ǻsf���7Uu��7����T=��&7�T	O�J�L̛�����%���3� ai��A~x��h�
쇀��v�I]5Ȩ�8�T(
� �@V��A���7t]�߃
�� 
-v���F�/z��#>Եo��6,wܺ�`��
E��"����g�ݿp����#�5?�\x
k�_"���
��sN�5�?�Y6?���MԋO�(�����C�-�J%i���`�jQ��,=
�,��P
��W��=|T�e�%J�iQ��m|�jBX�۩��T:
3���}86�
-endstream
-endobj
-5533 0 obj <<
-/Type /Page
-/Contents 5534 0 R
-/Resources 5532 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5454 0 R
-/Annots [ 5493 0 R 5494 0 R 5495 0 R 5496 0 R 5497 0 R 5498 0 R 5499 0 R 5500 0 R 5519 0 R 5520 0 R 5521 0 R 5522 0 R 5523 0 R 5524 0 R 5525 0 R 5526 0 R 5527 0 R 5528 0 R 5529 0 R 5530 0 R 5531 0 R ]
->> endobj
-5493 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 708.953 211.849 719.857]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_83b02e8cbb5d14a2ebf2843e6551391d) >>
->> endobj
-5494 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.664 708.953 272.292 719.857]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5495 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [314.025 708.953 370.652 719.857]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5496 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.738 708.953 468.365 719.857]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5497 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 674.084 211.301 684.988]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_38ab8dc3ca19cacef112ca316bc7ce09) >>
->> endobj
-5498 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.116 674.084 271.744 684.988]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5499 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [313.477 674.084 370.104 684.988]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5500 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.19 674.084 467.817 684.988]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5519 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 639.215 215.316 650.119]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_01c5bdd401e8bc17ea983d941be2aa49) >>
->> endobj
-5520 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.131 639.215 275.759 650.119]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5521 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.492 639.215 374.119 650.119]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5522 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [415.205 639.215 471.832 650.119]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5523 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 604.346 191.923 615.25]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_84565fd9471a52f83618d0d5ce461c3c) >>
->> endobj
-5524 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.739 604.346 252.366 615.25]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5525 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.099 604.346 350.727 615.25]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5526 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 569.476 157.254 580.38]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_6d5c75bcc32f8aea006e8da4b3f736b2) >>
->> endobj
-5527 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [184.591 569.476 241.218 580.38]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5528 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.951 569.476 339.579 580.38]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5529 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 460.439 145.631 471.343]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5530 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [179.204 449.107 324.659 459.388]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.swox.com/gmp/)>>
->> endobj
-5531 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5535 0 obj <<
-/D [5533 0 R /XYZ 90 757.935 null]
->> endobj
-5536 0 obj <<
-/D [5533 0 R /XYZ 90 586.577 null]
->> endobj
-5537 0 obj <<
-/D [5533 0 R /XYZ 90 523.19 null]
->> endobj
-5538 0 obj <<
-/D [5533 0 R /XYZ 90 435.532 null]
->> endobj
-5507 0 obj <<
-/D [5533 0 R /XYZ 90 412.598 null]
->> endobj
-5539 0 obj <<
-/D [5533 0 R /XYZ 90 412.598 null]
->> endobj
-5508 0 obj <<
-/D [5533 0 R /XYZ 90 375.312 null]
->> endobj
-5540 0 obj <<
-/D [5533 0 R /XYZ 90 360.742 null]
->> endobj
-5509 0 obj <<
-/D [5533 0 R /XYZ 90 325.493 null]
->> endobj
-5541 0 obj <<
-/D [5533 0 R /XYZ 90 310.923 null]
->> endobj
-5510 0 obj <<
-/D [5533 0 R /XYZ 90 275.674 null]
->> endobj
-5542 0 obj <<
-/D [5533 0 R /XYZ 90 261.104 null]
->> endobj
-5511 0 obj <<
-/D [5533 0 R /XYZ 90 213.9 null]
->> endobj
-5543 0 obj <<
-/D [5533 0 R /XYZ 90 199.329 null]
->> endobj
-5512 0 obj <<
-/D [5533 0 R /XYZ 90 164.081 null]
->> endobj
-5544 0 obj <<
-/D [5533 0 R /XYZ 90 149.51 null]
->> endobj
-5513 0 obj <<
-/D [5533 0 R /XYZ 90 114.262 null]
->> endobj
-5532 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2117 0 R /F95 1788 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5552 0 obj <<
-/Length 1616      
-/Filter /FlateDecode
->>
-stream
-x�ݚ[s�F���)xj�4Z���>�i�I�̸���d<X`�)!_��{7��l'��I���=�;g����+;�&��N��J�d$���c��$A���w�\B����'S�]/]z�'S��$zX~��^�^�p|������8
��t:���#o�*��\�]�� �`�rj\J����ɛ��̈́@��C6]
-)&��rr�;>���`Čv�6���
>#����	�;
��bk8�"U�6R�E���9t8�����X�1�����[n�!Hj����}Ѣ���&U�K�6-+iJ�FgiyY�)Z
-��rF�F\3gF����e��2�Yb��9��u�ٲ
f���٪L������R�z�:@���DWPgƀ"�l�]��a5�	p>O�UV
�s$���<X�8>��2�Un��_iv�E�wv�����IC\�i9�{=1VLgH�)1��(��cِ�l��>Rœ�B�Q
*��J�,�Tf4*���_���D�81�?��y#�0��+��4Xza�Wi	>���0��6\�I��SB5"L�#5�_7�x�A\�N���bXд)ygm�	��ū��ز�%����.���h�A�?��w�U@��̓岂��<I�R.$1�r/�mV$DQ
a��cN�ge�e
�^sFU�yp�դ�vH�o�ؠ�
��( i�;ʶf�������3�i�P�c��h
-���U��Q�AA)���2v�`zl�
 ��K|[0���XB�j���od��Z�޴B�Ok٤_��`l+�%k�~i�5��Mk��������B��_�^�
R[�a	�:��e��Z��U��z�(���2�X%�	#e}�>c�,V ���\���D��L�N7��n����F~�/�
-1����q�(YS����+j�t������]Q7�D�h6
cJ=7��]`u��]
�CJ�3��EMx6E�\GYx
��\U�%���Gΰ]�l�}�
�@�lʝ�
=c q�A�K]�Ǻ
4��
���:��sSHX`�S�(���}o6B��1ڀ�;*��y�¾9=�,����hl�$��S�a[��@Z�KO#��v�F�Y�l�B�aٽhs�m��>�!�
Ĺު�]�y�%�b���<�]o_
���a>{�]̱t�{o���`���
�زI͛[a���C�c8kv]�j��A�t��K]��
�
�����mZ"_N�>jZJ�ڗ����5�#(}���<\�A�C9�wr�f�dag=G�!L��ު�=3j�&�����@6v��Ո.���?x�
�㰰����P8h\��C���`�
�P7𓠴'Y;����I��'>1P���Q�zP��I�Ǟ�	�;|�F��+շ�k����V�2�$ۗoP���1�`�	PPޓ*~2_/�6xY��U�d�*m�����ͳ���*��4�m��4Yv��eEI�
-wa|UA�i
o��W��2��L)R���K�h�:�Pu}
�Ţ�K�� ��!z�k�� ���(^�w�u�O^�fCyY��P\��7���ǩn��^���&�nsSA�Y��C�
i4���� (Y������d�F�_�b�F~�e��GGwwwh�B�8�NQ�
A�Za�:�{�6Rs�L�_��ܰ�����
E�
-endstream
-endobj
-5551 0 obj <<
-/Type /Page
-/Contents 5552 0 R
-/Resources 5550 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5454 0 R
-/Annots [ 5549 0 R ]
->> endobj
-5549 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5553 0 obj <<
-/D [5551 0 R /XYZ 90 757.935 null]
->> endobj
-5554 0 obj <<
-/D [5551 0 R /XYZ 90 733.028 null]
->> endobj
-5514 0 obj <<
-/D [5551 0 R /XYZ 90 703.284 null]
->> endobj
-5555 0 obj <<
-/D [5551 0 R /XYZ 90 689.356 null]
->> endobj
-5515 0 obj <<
-/D [5551 0 R /XYZ 90 654.108 null]
->> endobj
-5556 0 obj <<
-/D [5551 0 R /XYZ 90 640.18 null]
->> endobj
-5516 0 obj <<
-/D [5551 0 R /XYZ 90 592.976 null]
->> endobj
-5557 0 obj <<
-/D [5551 0 R /XYZ 90 579.048 null]
->> endobj
-5517 0 obj <<
-/D [5551 0 R /XYZ 90 531.844 null]
->> endobj
-5558 0 obj <<
-/D [5551 0 R /XYZ 90 517.916 null]
->> endobj
-5518 0 obj <<
-/D [5551 0 R /XYZ 101.557 443.29 null]
->> endobj
-5559 0 obj <<
-/D [5551 0 R /XYZ 90 429.262 null]
->> endobj
-5545 0 obj <<
-/D [5551 0 R /XYZ 90 380.001 null]
->> endobj
-5560 0 obj <<
-/D [5551 0 R /XYZ 90 366.073 null]
->> endobj
-5546 0 obj <<
-/D [5551 0 R /XYZ 90 318.869 null]
->> endobj
-5561 0 obj <<
-/D [5551 0 R /XYZ 90 304.941 null]
->> endobj
-5547 0 obj <<
-/D [5551 0 R /XYZ 90 257.738 null]
->> endobj
-5562 0 obj <<
-/D [5551 0 R /XYZ 90 243.81 null]
->> endobj
-5548 0 obj <<
-/D [5551 0 R /XYZ 287.777 181.138 null]
->> endobj
-5563 0 obj <<
-/D [5551 0 R /XYZ 90 165.676 null]
->> endobj
-495 0 obj <<
-/D [5551 0 R /XYZ 90 84.327 null]
->> endobj
-5550 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5603 0 obj <<
-/Length 1341      
-/Filter /FlateDecode
->>
-stream
-x��Yio�F��_A��K�j.�)����pm�h�M�%"�BRv��;K.%�:
˩�Eɳ����۝Ybm�a�M��78���"ע�6��\��A�mj�:!��O0���A�����Y<
���w�U����7E}ʱ�*�˲y<ע0���4��b��)�Ɨ���Ѱ��G ��znn#�q-Hz�_���o5���h��U����g�������: Z�s�.�2�-�8
���
߁k}j"f�̈́/�Q#p�ke���Ȣfc�K��$T~	�c��a��1�m�/�
fUy
��x�ƑÔ����]����LB�>���
-���U
�b��m��\�5y-�

��L� Y-��)�
c��>&*p�k�/��He�YmTs����g�i��Z�vX�
���:c?�6�
X�eʕ�� 1�k*��c�`�NQ��Ԟ��ژ��2��D+��R�\�<�!��2�ErYX?OҠ����l��P�S
�Û��3�x-iz%"-!�e��x ϛY�����Z��#��¯�w�����k���/>��utv~Q�5�o���$�C�|.��i��D�HQ�&D�� �t
e����,E�5�a�߆[�K�>i
 �j���Q1�ۜw>-+���u��G �Y+�|:�X��lb�Ȭ
�! �Y�
�5��@�a��;I��J!��$�>
?��l]����TPV�������!�T愌���4�����أ�)2���p�Msg�Fڤ3�)
�{$+~|
=,@~�'�����Əg�
c#��D�q�i��*/���l�&hQ�v�&�۠-x�w�'��S?QU�IZ��F�)~��7w�z�w��2ġ}���Ռ}��_f�;P-�	
�"��$A���tqX7ch�t�Knٌ������m=P[wߣj�5-�
-����/>|�^}|�����]U�'�y�ޣ��@�
�P���C+
�P�����l�����������ﴱ��t!X�.�~]R^���q��������lȀ}��$
E���E^��c��=�ϊ�
���ߐ���}�vJ~0�T�(K�x����`{�8٦����lc�ì�$ �ܓ�l��a;{���ȩ��)�^��w�o��&�Cu�����z����W�E�x�2�ԍ�#
-(v�5��UpCZ��a����Q�*󨮾�����e�I��:�5G����g׷7�[`����^�Ȃ�w��O�¿HT�����zm���R���
-��~:i%$�W��{��G���*9 at F����E��5+���O��/�x�c#�i�������[�h�Fy��j���`Yow� ����u�����-;�c�˻�%��
��
-endstream
-endobj
-5602 0 obj <<
-/Type /Page
-/Contents 5603 0 R
-/Resources 5601 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5454 0 R
-/Annots [ 5564 0 R 5565 0 R 5566 0 R 5567 0 R 5568 0 R 5569 0 R 5570 0 R 5571 0 R 5572 0 R 5573 0 R 5574 0 R 5575 0 R 5576 0 R 5577 0 R 5578 0 R 5579 0 R 5580 0 R 5581 0 R 5582 0 R 5583 0 R 5584 0 R 5585 0 R 5586 0 R 5587 0 R 5588 0 R 5589 0 R 5590 0 R 5591 0 R 5592 0 R 5593 0 R 5594 0 R 5595 0 R 5596 0 R 5600 0 R ]
->> endobj
-5564 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.279 623.079 192.296 633.983]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-5565 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.794 623.079 258.726 633.983]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_092f5c04d267ab5709dda2d3e51aaeb9) >>
->> endobj
-5566 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 542.317 134.164 553.221]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_0262a2b32220536d8bc60d84ad8dac4c) >>
->> endobj
-5567 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.98 542.317 203.623 553.221]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-5568 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.787 542.317 373.176 553.221]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g616fcdc7600a3a11a8a9152e75730899) >>
->> endobj
-5569 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 503.462 134.164 514.366]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_727dc2405cfc5f2252e6f21aa0f18074) >>
->> endobj
-5570 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.501 503.462 245.954 514.366]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-5571 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 464.608 134.164 475.512]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_31603d81a2b0571a82c4c79b8c6e4564) >>
->> endobj
-5572 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.98 464.608 222.432 475.512]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-5573 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.943 464.608 308.887 475.512]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-5574 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 425.754 134.164 436.658]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_0c02302b6281fa91ef9275bd37e43efc) >>
->> endobj
-5575 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.501 425.754 239.328 436.658]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-5576 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 386.899 134.164 397.803]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_527ffa31e1581a8beb83a832244dada8) >>
->> endobj
-5577 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.98 386.899 215.807 397.803]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-5578 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.336 386.899 297.281 397.803]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-5579 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 348.045 134.164 358.949]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_732d3b59f8a0ba21a72877d5fa4b98a5) >>
->> endobj
-5580 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.501 348.045 260.888 358.949]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-5581 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 309.191 134.164 320.095]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_1ba0bd59426889233904d052224cab76) >>
->> endobj
-5582 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.98 309.191 237.366 320.095]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-5583 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.453 309.191 319.398 320.095]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-5584 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 258.381 134.164 269.285]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_19623ff8cea2239d66331f29c1d0268d) >>
->> endobj
-5585 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.501 258.381 180.102 269.285]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-5586 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.348 258.381 221.075 269.285]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-5587 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.489 258.381 334.955 269.285]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-5588 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 207.572 134.164 218.476]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_470e6a581b91bc6d5a4a6388d1ddde99) >>
->> endobj
-5589 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.501 207.572 206.662 218.476]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-5590 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.526 207.572 332.993 218.476]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-5591 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 156.762 134.164 167.666]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_df002bbcc4dcae5efdb56bae2971a64b) >>
->> endobj
-5592 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.163 156.762 233.431 167.666]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-5593 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.546 156.762 358.013 167.666]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-5594 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 105.953 134.164 116.857]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_f306aa1f4e34bf045cd07e5ac11d8f68) >>
->> endobj
-5595 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.501 105.953 180.102 116.857]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-5596 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.276 105.953 295.209 116.857]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1From__Covering__Box) >>
->> endobj
-5600 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5604 0 obj <<
-/D [5602 0 R /XYZ 90 757.935 null]
->> endobj
-218 0 obj <<
-/D [5602 0 R /XYZ 90 733.028 null]
->> endobj
-5605 0 obj <<
-/D [5602 0 R /XYZ 90 640.15 null]
->> endobj
-5606 0 obj <<
-/D [5602 0 R /XYZ 90 640.15 null]
->> endobj
-5607 0 obj <<
-/D [5602 0 R /XYZ 90 561.29 null]
->> endobj
-5601 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F11 418 0 R /F72 471 0 R /F35 2018 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5659 0 obj <<
-/Length 1623      
-/Filter /FlateDecode
->>
-stream
-x��ZYs�6~ׯ�S*�D0@<��C�&��q���L3I�CQ��)��TT��wq�iZvT�r:yH.�=�]���B�����dp��24��ni���bͶ�:�&3����ј`��#��~
���H��4�,�,����4��ͳggy8�u����_�{��,gȒ��L�A��N���ɛ����ˀ /X#bmj#۠Z>~��
޿�02\G[
�X3u�H��>�J��Z!�[�l!�p4�`�C+����T�ӌ���
����@�8��!�6%��B~�iR��c�pNv�t�&}�<ɖOw�?M�,b#B���ƓZ�)h�=��������ۗ��| ^IGZٞ��u�UY&W��#�Ե11�S���*�f`X�C_6
atޛ�#�Ӹ�9S"�O�|�*�d���E���2V���i�dW	H�B�w��)�$-eGR�).ʥ�&�Sd,?a�W$�
��O��� )F.u��ru���m���HbI�䬯�=�
ٶ[Q��B�V�a�3��%Eۨ=���f�)�Fµ��=�Y(�%�)W%X���aѡ,b?�X�>
�� ����:�c
<��V[�ٲ�a ���h��
V[n=6
db��e
�����O6#��O��G�=��	��Z*ی���*(S�ބ|�=���=���ǓݪL3������r/
K�'҃`�,�p��,)G5�ܤ~�e�%�Y�!��5�k!jV��q8Y���rY�6�`���Y_��r���/^����h���h�$�� e��8L8t�2�J�"���hj4�JN��6�
pw��ڽ�Y<-�U_����EU�Q.}��_SپKՋ�t�7�b����D
-����fP���M�n�*2?`^=�&\
h*�m~;J!`�H6V������]ג
-�����LĈ�_مt/J�zSh�8 о$�)Ȟ{�(����z{��N��zrx���*�`o���G�-
<����>�@�{_��leAKqVn~V�����D���'��u��3̃!�$���¼�i���p�
�v6�}Q|*�yH�J�jS�,���zX�A�WaFrڊG��ʏD���'�V��
�PQb���v6J�
�k(s:����*1؁G�9�
-
-s�d�
��	@�/�R �
�1
q��yǀ�#�[�>�H>Ը���%�[�t�
\�a-\:F?.u��K����	������Jg�P�z
\›m\r�>\rU��U�
)@�<׸->*0ޡ@ �.�?�����
-����x���uz��G{z�Qi���ݩ�-�V	���M$��y��G5/��3�Ȋzc��%oQ��X���#g�)���������
Ps�lqc
-�=�<�%���[ܨ�\Q{b��ȩ�y��tY9I9Էe����<�)׌%}��� å��{���
�Q�i���ckϓ �ޡ�?�\�H�iG�^
-���'��0D���
!�L����A��;���Q�/U�o_?B�����Q`��i�۞a���}���}
�#�]�sT�5,���n���B]D����v!r�<V�ս
-��.�ȇ?
-��4�t��q�'�����|�S��9i�
�?��ϸ+V%fR������@��ᗟ
�>H[�e���d�^��@�$�r�'Y�\�ʹ5
1�]O2�~��iΪ��ׇ���@��
-endstream
-endobj
-5658 0 obj <<
-/Type /Page
-/Contents 5659 0 R
-/Resources 5657 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5454 0 R
-/Annots [ 5597 0 R 5598 0 R 5599 0 R 5619 0 R 5620 0 R 5621 0 R 5622 0 R 5623 0 R 5624 0 R 5625 0 R 5626 0 R 5627 0 R 5628 0 R 5629 0 R 5630 0 R 5631 0 R 5632 0 R 5633 0 R 5634 0 R 5635 0 R 5636 0 R 5637 0 R 5638 0 R 5639 0 R 5640 0 R 5641 0 R 5642 0 R 5643 0 R 5644 0 R 5645 0 R 5646 0 R 5647 0 R 5648 0 R 5649 0 R 5650 0 R 5651 0 R 5652 0 R 5653 0 R 5654 0 R 5656 0 R ]
->> endobj
-5597 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 707.084 134.164 717.988]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_36cc3783cdc92ab5fc69904c298ed12c) >>
->> endobj
-5598 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.501 707.084 209.431 717.988]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-5599 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.624 707.084 308.09 717.988]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-5619 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 646.559 134.164 657.463]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a28d735beef86789b73b41dbbde71abf) >>
->> endobj
-5620 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.501 646.559 181.755 657.463]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5621 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.319 646.559 274.785 657.463]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-5622 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 607.952 134.164 618.856]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5623 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.904 607.952 185.71 618.856]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_1ba97c180500b43954b09532151f6c9d) >>
->> endobj
-5624 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [213.048 607.952 233.301 618.856]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5625 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 533.657 190.738 544.561]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-5626 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.236 533.657 261.85 544.561]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_fc06f600e94b7bedb91d0371a51f4c38) >>
->> endobj
-5627 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 497.289 190.738 508.193]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-5628 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.236 497.289 262.159 508.193]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_90ca2b1613fda31a2ac7e79d9388680d) >>
->> endobj
-5629 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.225 483.912 390.082 493.817]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Affine_Dimension) >>
->> endobj
-5630 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 460.922 202.922 471.826]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-5631 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.42 460.922 248.58 471.826]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_53b24395ac61f8b2b2accc5a3900bf69) >>
->> endobj
-5632 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 424.554 202.922 435.458]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-5633 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.42 424.554 296.181 435.458]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_880344de195aef75a6b3f2a4db4787b4) >>
->> endobj
-5634 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 377.228 233.069 388.132]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-5635 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.808 377.228 295.594 388.132]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_8688fd38682b19e97422816d72524790) >>
->> endobj
-5636 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 340.861 233.069 351.765]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-5637 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.808 340.861 343.195 351.765]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_453e51570268eb4d63fc529130a54440) >>
->> endobj
-5638 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 304.493 248.003 315.397]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-5639 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.742 304.493 323.26 315.397]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_8865893c48cc07adae5dca6b35081751) >>
->> endobj
-5640 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 268.126 248.003 279.03]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-5641 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.742 268.126 370.86 279.03]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_6ae1850664122e9917f174d10fd3bf06) >>
->> endobj
-5642 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 231.758 205.692 242.662]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-5643 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.19 231.758 261.312 242.662]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_d14942b33fb82bb3e6a13e5e92ada475) >>
->> endobj
-5644 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.65 231.758 338.781 242.662]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-5645 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 195.391 205.682 206.295]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-5646 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.18 195.391 261.302 206.295]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_803035024ab9670971868f4b1092f7c5) >>
->> endobj
-5647 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.64 195.391 353.705 206.295]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-5648 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 159.023 205.682 169.927]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-5649 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.18 159.023 261.302 169.927]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_6f703ba611b9e5ff613f4df35347ee95) >>
->> endobj
-5650 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.64 159.023 330.462 169.927]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5651 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 122.656 205.692 133.56]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-5652 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.19 122.656 261.312 133.56]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ce98c3e57a1237e6dd5042b5a0919193) >>
->> endobj
-5653 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.65 122.656 332.156 133.56]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5654 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 86.288 183.824 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_2f31170286d3abc2f4867d0b193ae8bc) >>
->> endobj
-5656 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5660 0 obj <<
-/D [5658 0 R /XYZ 90 757.935 null]
->> endobj
-5661 0 obj <<
-/D [5658 0 R /XYZ 90 626.922 null]
->> endobj
-5662 0 obj <<
-/D [5658 0 R /XYZ 90 548.612 null]
->> endobj
-5663 0 obj <<
-/D [5658 0 R /XYZ 90 514.267 null]
->> endobj
-5664 0 obj <<
-/D [5658 0 R /XYZ 90 477.899 null]
->> endobj
-5665 0 obj <<
-/D [5658 0 R /XYZ 90 441.532 null]
->> endobj
-5666 0 obj <<
-/D [5658 0 R /XYZ 90 394.205 null]
->> endobj
-5667 0 obj <<
-/D [5658 0 R /XYZ 90 357.838 null]
->> endobj
-5668 0 obj <<
-/D [5658 0 R /XYZ 90 321.47 null]
->> endobj
-5669 0 obj <<
-/D [5658 0 R /XYZ 90 285.103 null]
->> endobj
-5670 0 obj <<
-/D [5658 0 R /XYZ 90 248.735 null]
->> endobj
-5671 0 obj <<
-/D [5658 0 R /XYZ 90 212.368 null]
->> endobj
-5672 0 obj <<
-/D [5658 0 R /XYZ 90 176 null]
->> endobj
-5673 0 obj <<
-/D [5658 0 R /XYZ 90 139.633 null]
->> endobj
-5674 0 obj <<
-/D [5658 0 R /XYZ 90 103.266 null]
->> endobj
-5657 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2117 0 R /F97 2175 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5717 0 obj <<
-/Length 1519      
-/Filter /FlateDecode
->>
-stream
-x��Z�r�6��+�J�ƃ H/�I2��3��v�d4�Yl�PIʊ��� AFJ�m�N\-<�h���܃�
غ���n�����Ǭ 
����`KxqJ�����&Q���}�l�y/
��,���I
?D�<�o������9�
ۯ�(�⥜��!�-ӱK
#�M��|�z?xs5�g@�l�7H0n����ؚ���F,𭥮�X.e�O��lƱ�����a\���E\�(e{�ܥ,yZ(O �R�aD��t�2_ȪҚM0XՕ�i5�05di|[��_�u��v�i���Y�.�߸1��]n4^��S&��xq
�A�]����x�
��S��N)Eq����5+��S�eYlޫ`��&������.�ȡܾq�e^�MC���1����q�e�כ0P��f(p��p� @o���6��Ä���Y�]G�0�o��8+��1B
�r�	u�
-�֠V����bT�Ҹl�P�
1n��rSq
��$�/S0��)���+��r8ͳdEV��Ô^zZ���}(�ȋ��}�
��
h]�ň@
m����X
�;�Jx��_V�sY���
��5G#�#[�:1���q�/�/>��g�
 6e��$B��Z�ù�c\�Ƶq��8cV�X�E� �F�5�.�
*w�&��C�5X�l(�\aG�w���t!��D�(nU����T�ש�ƟXp�{ >b>ٜ��j��u��-
�-���>8J'A]�n�� �ࢯUC+^��a8�
վ�i��1̇o��sYQ���Z۠��c��Q
�b}��C;����hG]���Iذ�-��#垜r�!�cķ��[�D�n	#A�)Y�*5,S���
�̳_gr���q$�S<m�Ẋ�^K�����49qt�1�����l@�{ʯ4X��
���vmf����DQI��D�L(������G\�~2�U7���4+�B}�l\��ã~xƶt�}�)0��Yb��Ӯi p���|��>�OT����r��g�X at 3�U��@����a}�
�-�m4P�
Å�N̛<-�/ʻn�j�~��uԐ���5�����Le
�3׶[o��*tT��V�&-
WN��r&��n�9q�h�WҴ�XX
A��Lgk'���D̑Gz�A���I��kb�:i"�8��P��&���d�ܫ(���Ď�heIi�j�_Xϫ�l@@��([W4��hx��q�/Ec�b�[
�R4 8�h[��T4��J�f�;�,���H�+e�A%�RE�GN��Q8�@8�u��I����
���
� �.�S%P$��ݾ�B�oTNj
��m�eP ��]����;�$F��#	�k)�h\�
dG=
�� 8[�y�4l���j�J��k.u��o�+=豺�
�EUw~U����.�'F�/��̎���4W?�(d��ùm��0]����Ϊ�4�"�U�B�)#��$�\���V]�m����/�a5���YY���Ζ�%h�F�
E��|
����1j��h�L�{I�7��L�|^���!I
-endstream
-endobj
-5716 0 obj <<
-/Type /Page
-/Contents 5717 0 R
-/Resources 5715 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5722 0 R
-/Annots [ 5655 0 R 5677 0 R 5678 0 R 5679 0 R 5680 0 R 5681 0 R 5682 0 R 5683 0 R 5684 0 R 5685 0 R 5686 0 R 5687 0 R 5688 0 R 5689 0 R 5690 0 R 5691 0 R 5692 0 R 5693 0 R 5694 0 R 5695 0 R 5696 0 R 5697 0 R 5698 0 R 5699 0 R 5700 0 R 5701 0 R 5702 0 R 5703 0 R 5704 0 R 5705 0 R 5706 0 R 5707 0 R 5708 0 R 5709 0 R 5710 0 R 5714 0 R ]
->> endobj
-5655 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 697.372 192.272 707.902]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_59634a195948ff0617177d0a41e30602) >>
->> endobj
-5677 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 660.136 241.935 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_dc7cdee1981f44b5db23f6c28c79d0a6) >>
->> endobj
-5678 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 625.267 213.163 636.171]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_621d377682c2c67051c24b1cc8a03497) >>
->> endobj
-5679 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.501 625.267 260.754 636.171]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5680 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 590.772 189.901 601.302]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_2528b5f433e743dda827b1028b6c74cd) >>
->> endobj
-5681 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 555.902 193.229 566.433]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_1a5606b64a035977b9d76b1932227246) >>
->> endobj
-5682 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 518.667 238.459 529.571]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_0047a6aa4f26d9133b9d741f68384f38) >>
->> endobj
-5683 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 482.179 187.689 492.709]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_3ac47497148e61f3d7a3da09d17a03bf) >>
->> endobj
-5684 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.505 482.179 226.693 492.709]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-5685 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 446.936 228.895 457.84]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a033cfca735240b3699b523d60ad692a) >>
->> endobj
-5686 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.232 446.936 333.482 457.84]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5687 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 412.067 229.503 422.971]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_fde364ce088f82cf2b9a231e7d9f2abc) >>
->> endobj
-5688 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.84 412.067 334.089 422.971]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5689 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.98 377.197 187.264 388.101]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_042613c3f4ad30b298d70143c935d7cd) >>
->> endobj
-5690 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.963 377.197 293.213 388.101]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5691 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.131 377.197 371.148 388.101]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-5692 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.711 377.197 455.727 388.101]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-5693 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.98 319.414 187.264 330.318]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_8fa02815bb561135934f91c9adcd0cb5) >>
->> endobj
-5694 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.963 319.414 293.213 330.318]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5695 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.131 319.414 371.148 330.318]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-5696 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.711 319.414 455.727 330.318]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-5697 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.235 307.459 220.058 318.363]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5698 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.717 261.631 186.348 272.535]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_0d8ed7a0e48fe76e7221842c780192b0) >>
->> endobj
-5699 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.523 261.631 293.772 272.535]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5700 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.35 261.631 373.367 272.535]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-5701 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.82 261.631 456.837 272.535]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-5702 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.717 203.848 186.348 214.751]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_53f980fb1ac8fa21265bec985bd1382f) >>
->> endobj
-5703 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.523 203.848 293.772 214.751]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5704 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.35 203.848 373.367 214.751]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-5705 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.82 203.848 456.837 214.751]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-5706 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.581 191.892 218.404 202.796]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5707 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 146.064 180.496 156.968]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_d743f8b71eb68f6b41f7ea7b5d21dc22) >>
->> endobj
-5708 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.834 146.064 228.087 156.968]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5709 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 111.195 213.153 122.099]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_8d2cc5d18d050975101f2860f2919da8) >>
->> endobj
-5710 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.49 111.195 260.744 122.099]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5714 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5718 0 obj <<
-/D [5716 0 R /XYZ 90 757.935 null]
->> endobj
-5719 0 obj <<
-/D [5716 0 R /XYZ 90 714.099 null]
->> endobj
-5720 0 obj <<
-/D [5716 0 R /XYZ 90 572.629 null]
->> endobj
-5721 0 obj <<
-/D [5716 0 R /XYZ 90 535.768 null]
->> endobj
-5715 0 obj <<
-/Font << /F63 374 0 R /F72 471 0 R /F65 376 0 R /F99 2117 0 R /F50 339 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5773 0 obj <<
-/Length 1552      
-/Filter /FlateDecode
->>
-stream
-x��Zm��6�ί�f�Ћeٙ�3mڻi�L����C�a#�c�m�J}W�_�1�Iҙ�rg��j���+[ؚYغ��|�]9���PǺ�Z
��C�ĺ�Xo�� JC�1��
��x!�7���p3W�X���2�<{v
���r�
�$1���T���U�+��0��)�ww/z���>�؂-����[����
�&�����\�!�ZX6e�?�n{�p���
���C�@��!�p������q� �<��
�"�q�L8U�U(S�����J�
-d�^!����irw�R�f�"�P�/�E�����eآ�{��#,UW+z
q�[C����g��(��i�Ƴܽ��{֛l�J��r at 8���l�~�O�'��[��^m���FW�Լo��i�C-��1È�ҭM?훋1a=�1��.��zam��_FIZ�^�"( �s
;�:���
.(�=ϒ�� U9�ӹ*t�|�ϼk�hg�el��-ݐd�����3#���l��
-�� 125#�ąP��E�A�c�P
��"-SE�:��C[�$.C�֐>��'� e
k�,����>tfc�����0���r6��0�+L���96���9��	�!u05�e6bDb/�@Fi.-��\ �i�@���
vke^����A�������nW����,T�����N4�]%"_��{x�]_�#?�%�e�
�M~���Mc����V�1d��Pp
{���+��묢�A�v��(z~P����T�P�Ɵ&�"��V����[�7����
-�?k�N(i�L�"�k��A�v�`�)F�-��< �~�,G��\
�G,��xD�"���P��!����&�.fߔI�CK���9;
O�:Cv��_rMi��)Y��iH�� ,H�\2�T�b���|&�4��)zr
����4+;�&zm���
-{���
ry�3�!Kw��$`�N
�
�5�
����E�8$g�+T@�
-�;jWv��U=��B�%��D��:%���	O{
�\�r*�k�w�hц��������d�"�~��_��0C���5W�c$V�W7~����_'[��F{�
-#b�N���e���t�'vѶ�<��<m���6��>�@�B9��F������Tﱻڥ]�01��.���p���b�5ا۝����:�@Ԧ�u�4�A�~
�
P�ջ���Ba��Ѯ�2��YR���
U��U�LM����	%�"\��o�����p�t�$��^���=B�C�<-ޫ'�y�:$��. at 8I'p:X���Z_V;�i��+��6qF�.��[�)��s�Z
���/��==B��yz)Z:d���?�Q;���>�j�ؐ��S��y��c�)V�D��A:�������D����uN�^ל�]�Dϸ��
���e?�7��9n��#����
�	��c�� 
���w�Go�|���o�3��6?�hn P�w΋�B�d���9

���[uF#}@Lc
�����* dV��*�^�2wV�W �Kg��t�l4zxx@~��Q��Q��V�p�{TfK
��(��Cb&��q�=
.�>�S���?��2�
-endstream
-endobj
-5772 0 obj <<
-/Type /Page
-/Contents 5773 0 R
-/Resources 5771 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5722 0 R
-/Annots [ 5711 0 R 5712 0 R 5713 0 R 5735 0 R 5736 0 R 5737 0 R 5738 0 R 5739 0 R 5740 0 R 5741 0 R 5742 0 R 5743 0 R 5744 0 R 5745 0 R 5746 0 R 5747 0 R 5748 0 R 5749 0 R 5750 0 R 5751 0 R 5752 0 R 5753 0 R 5754 0 R 5755 0 R 5756 0 R 5757 0 R 5758 0 R 5759 0 R 5760 0 R 5761 0 R 5762 0 R 5763 0 R 5764 0 R 5765 0 R 5770 0 R ]
->> endobj
-5711 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 707.957 218.733 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_87e253a2b1d8e1696c2ebf3feb11dc5f) >>
->> endobj
-5712 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.549 707.957 241.149 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-5713 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.396 707.957 282.123 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-5735 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 673.088 161.677 683.992]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_8edc85ba3e8a09593959814eaad72499) >>
->> endobj
-5736 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 599.673 212.377 610.577]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_1287b254a91451368e7e2e456f448114) >>
->> endobj
-5737 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.714 599.673 289.846 610.577]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-5738 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 564.803 274.563 575.707]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ccb5584441a7c7c84de73810cc6afbc4) >>
->> endobj
-5739 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.9 564.803 352.032 575.707]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-5740 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 529.934 225.109 540.838]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_d09e4e3f9a9da562c6cdb73dd7b47fbe) >>
->> endobj
-5741 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.446 529.934 317.512 540.838]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-5742 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 495.065 287.295 505.969]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_880be9febc6dab2cdccbec8814c9a952) >>
->> endobj
-5743 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [314.632 495.065 379.698 505.969]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-5744 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 460.196 216.252 471.1]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a26f672c32271db69ed68fc60eee8cff) >>
->> endobj
-5745 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.59 460.196 328.042 471.1]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-5746 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 425.327 254.827 436.23]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_85b2560352485ac05d10aab0ee483252) >>
->> endobj
-5747 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.643 425.327 343.096 436.23]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-5748 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 390.457 278.438 401.361]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_726484f44f6e6653f9c0126e94e51ab0) >>
->> endobj
-5749 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.776 390.457 390.228 401.361]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-5750 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 355.588 317.013 366.492]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_c587faeb0edfd2582564b9a8fa3335bd) >>
->> endobj
-5751 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.829 355.588 405.282 366.492]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-5752 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 321.092 205.752 331.623]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_9e87405c740d202951ba788f9e52cbf7) >>
->> endobj
-5753 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.089 321.092 276.595 331.623]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5754 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 286.223 267.938 296.753]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_fa7b390fb34934e419263a5fc694c946) >>
->> endobj
-5755 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.275 286.223 338.781 296.753]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5756 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 250.98 209.627 261.884]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_943c42b0d1b3580e54b3ab60aa55255f) >>
->> endobj
-5757 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.964 250.98 314.791 261.884]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-5758 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 216.111 271.813 227.015]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_7704df6970b9563ef9e51793126c0ae2) >>
->> endobj
-5759 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [299.15 216.111 376.977 227.015]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-5760 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 181.242 248.202 192.146]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_145cc7c23d407576222e5af347f401c1) >>
->> endobj
-5761 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.018 181.242 329.845 192.146]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-5762 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 146.373 310.388 157.277]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_2a66994a33d910d0fe8daccc6cc017ed) >>
->> endobj
-5763 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [314.204 146.373 392.031 157.277]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-5764 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 111.503 243.37 122.407]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_953a608f6f9d413870fb3eee5cc6ad1e) >>
->> endobj
-5765 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.708 111.503 320.839 122.407]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-5770 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5774 0 obj <<
-/D [5772 0 R /XYZ 90 757.935 null]
->> endobj
-5771 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F35 2018 0 R /F11 418 0 R /F72 471 0 R /F99 2117 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5827 0 obj <<
-/Length 1954      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�6~���Sg3ËHQ��m���&�K[�M;�lI��ޯ�!��/���j�y�-Q<~�;G�����Λ�/W��ׂ9>������	�8%����0$Q2���bD�0̖ap1�x�,�7j�����:
�����,��Ɣ���E����;5Sوȡ�'
-f��!%b�������?�`���C
��d9��	;S�����sgF-
�2�.����\ځ7��x�
B<$�
�2��F}����{·1o�Y`�}�u��r��(mP�>bLc�E�M0I�y�Ҷ�S��1�0$/��|Y�\��B-��z1��0�zV]�^{ԑ`�p�ݔ"�gL(��Z�>W咄�2Iҵ���쵸Qգ�*s#��T 
�B��`�@� ��A[���$՘"��e#�
KGڗ|�%t��%�ZĻH�Zxq�I�����ƃ[�S����J��{_9y��Q\���I^L
��(��
#‡�.�X���`�e�t�~�@!�

�5�����N�ɟ1�4C|DD�8�V�z��%ˀ�\�W�	��`�8��Xea�d��F'��M5SvN�N?O�GCg�
��Ah��w#H"�IB��T�̭�[
-u�c�G0�7��O�8)��d_���D�a=Y���wp֯��ǃK2Ą���I�[���
�	
J9|$U]'���4��4XFq���U�2g�g�:��~�L���$��;��G�jQ�Bp�ഋ܎�2
y��/
����q�t�5���׈2
�(�^��t ?g'�͗�2]��g�
4G��Q<�"]�O�"J��ң�ɇb�
�����E
�ž���ڗ˞�IQ���k���a�
N����R�&FD��wfmQ!q7�ȸ;
�<���Z���B��Z�}� �q�#aY0��{N(
  <��W
�#ʀ�HȃK��$)��Z"���m���^wppW

z��!�y�!�K�cCK݊
�����*s#WŨR�ްQ�o�Q����Ǒ�n�(���@P���mlo�O�	 ���o���/�Ř��>�{Jэ��x��Ņ�rXSX��z��Z�5��'U+F��cu�DR�8
ȫ)X*�'�B�:��@�X�Qo�ee[�p$�z̺e��0x(����¹g}~���g����/Xi?�Gi���:Y.���
�
�e�4�?��:*}��`E��<J�b�}�}���
�� �8T�Y�t��s8)�9��:k曺ċ�W��`�A$�e>/�����
|n1څ���'��F��)�x�X�
��]"5-�	I�`� ���벀
aA�`��ԽUjZp�
T5�XX��.�U��1�)(�˯�r�j.�V�>".��ē����H��YqL����Tf��<
{��i�n�����>4
���x�5�=@D{��	��!*h_\�G�t���*�|�Ϝ��o��8 Q	���a�kA��R�8-S��nmz�y���}>���>�$~��F����Ӻ�f΁���p
����rK`�0�֣��9�&�Z�*�
C�q��@%�N]���]e	�L����Xl��"�����(#2%	d~2
�e8W�����8�����X:�'��̷Q��,x�9�T��u�a��B�͹_&�6o��tO���ύԲ,�k67�^���L�9Ӯ�T�	|4��Ÿ��Lb�����X�!:6��a��F�Kui?�������@��d��h����ж��{l���z
.�ѭD(�MU-�J~�VqQZ�2LS���n7��K���
�{g�
g�ݹM�[��l��Ev�l�\�r^��<�ɪ���^�m|��ުPz�>�
�Q)T�ށ�`�ؼ�׈<��|uJ^ �������Z�
-�������g��t�Eu���-���?�!���ɳ$�?�x.Fu�p��RY�x�`y�NH
0{�*�Z��v�_��}��k�,n�"=?;���C�
��(�PT����l�m;V��X���,,��Npsir��������
-endstream
-endobj
-5826 0 obj <<
-/Type /Page
-/Contents 5827 0 R
-/Resources 5825 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5722 0 R
-/Annots [ 5766 0 R 5767 0 R 5768 0 R 5769 0 R 5785 0 R 5786 0 R 5787 0 R 5788 0 R 5789 0 R 5790 0 R 5791 0 R 5792 0 R 5793 0 R 5794 0 R 5795 0 R 5796 0 R 5797 0 R 5798 0 R 5799 0 R 5800 0 R 5801 0 R 5802 0 R 5803 0 R 5804 0 R 5805 0 R 5806 0 R 5807 0 R 5808 0 R 5809 0 R 5810 0 R 5811 0 R 5812 0 R 5813 0 R 5814 0 R 5815 0 R 5816 0 R 5817 0 R 5818 0 R 5819 0 R 5820 0 R 5824 0 R ]
->> endobj
-5766 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 719.912 247.246 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_f1ab967a6606266f7e583fc9752667fe) >>
->> endobj
-5767 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.583 719.912 359.035 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-5768 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 685.658 236.745 696.188]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_82b76e3f18679ea161b53bfa80349009) >>
->> endobj
-5769 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.082 685.658 307.588 696.188]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5785 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 650.657 240.62 661.561]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_8f97dbc7a7c307fa72f7e904b2cbf21b) >>
->> endobj
-5786 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.957 650.657 345.785 661.561]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-5787 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 616.029 228.984 626.933]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_19422844125a988daaf489cbaff3835b) >>
->> endobj
-5788 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.322 616.029 355.708 626.933]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-5789 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 581.401 267.559 592.305]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_214e376adb9dc271c61b58f8b2c927f0) >>
->> endobj
-5790 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [271.375 581.401 370.761 592.305]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-5791 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 546.774 291.17 557.678]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_1522764599cd8547bfe4ef7e88d8baec) >>
->> endobj
-5792 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [318.508 546.774 417.894 557.678]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-5793 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 512.146 329.745 523.05]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_4d6e94fc9839cd5d455f195f46fc2dcf) >>
->> endobj
-5794 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [333.561 512.146 432.947 523.05]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-5795 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 477.892 193.577 488.422]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_e5dc5003b3652660bc4ff4a15e4060af) >>
->> endobj
-5796 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.393 477.892 232.581 488.422]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-5797 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.059 465.011 248.845 474.916]
-/Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-5798 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 432.305 193.577 442.836]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_26f845c3192c71f59cf1c81cd35072c5) >>
->> endobj
-5799 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.915 432.305 277.691 442.836]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-5800 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.892 419.424 252.677 429.329]
-/Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-5801 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 386.345 223.465 397.249]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_c9d9eaf8b76024bc20ce524e13bf86a6) >>
->> endobj
-5802 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.802 386.345 271.056 397.249]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5803 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 351.717 285.651 362.621]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_59af9a947f610641fe02639f76cfc90e) >>
->> endobj
-5804 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.988 351.717 333.242 362.621]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5805 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 317.09 229.552 327.993]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_9831db06919c6ee05360b08e84cccbb7) >>
->> endobj
-5806 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.89 317.09 277.144 327.993]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5807 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 282.462 291.739 293.366]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_901082d5c6de5ec4b457df69e41bb70c) >>
->> endobj
-5808 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.076 282.462 339.33 293.366]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5809 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 247.834 266.673 258.738]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_68665d093308c111817eca341b98d70a) >>
->> endobj
-5810 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.01 247.834 314.264 258.738]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5811 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 202.247 217.109 213.151]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_e5955a311fc4fde1edf2d5460f0a8356) >>
->> endobj
-5812 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.446 202.247 264.7 213.151]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5813 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.695 189.74 274.983 199.645]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Difference) >>
->> endobj
-5814 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 167.62 271.126 178.524]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_071aa57e439ba4f358c7fd43b03a6a49) >>
->> endobj
-5815 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.463 167.62 318.717 178.524]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5816 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.863 155.112 326.259 165.018]
-/Subtype /Link
-/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
->> endobj
-5817 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.984 122.033 201.742 132.937]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_bb10ea556dd34e0c1e13f7e99b9efe70) >>
->> endobj
-5818 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.442 122.033 243.629 132.937]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-5819 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.079 122.033 371.329 132.937]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5820 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.458 97.57 271.379 107.476]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Affine_Transformation) >>
->> endobj
-5824 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5828 0 obj <<
-/D [5826 0 R /XYZ 90 757.935 null]
->> endobj
-5825 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2117 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5892 0 obj <<
-/Length 2557      
-/Filter /FlateDecode
->>
-stream
-x��[s۸���)��R3��%3yhw6;��vҍ�/ɎF�i�S�R))^��9�&E�b6i�`��9��@��>�����|�E��\Ww���ь(΂���c��l6g������p�����3N����!�M��w�u�L�^��!�ogs�h��j����?GwQ:c6���j҂�33���Nj�.�}����me�*�Y_|������%���1+�$�
->\�����{���h�����8aT�N~�\e���
-:�9�&����6����?g��v��n�U��R�D�m���}Ԯ
~���V�s��ፗ׫痛���$
�<�
�›M��7�]�D�t��o`�no�.�^E3�B(R���MT��&���b�.�������
+
-,��s�������5N�m�l�q��o�7���$�
-�1�kW�^�5
rZ�l%aF@�
�̽�/е�
�i��j.�:W�J8�ct
?�
-_H�Z!I4�E��C��e�sA�0U����pp}�
`

6��0!z	��=�{6�x�殣�����8$��~�
r;���

&�z��n����\��V�L@�\CɎƙ%JUnZ-7�
�l.%
�8���uF�o�pz��<n��nb�:�at��a����2�Z:�XXZ&�]�UD��L��;�S<��6�t���ؚs
-
o Ԙ=�[���>J�t���n
�u�[u�����Msr�j�����ެ�lI���i
��� ��@��6�Tv�5�1�n4�|��OZ�4��Ut�����:�:�=J7g����Ep-��2
��u�f�6�	_�nbJ����(+z��ސ�? ��7#���� ��	�#��,����Q6⃢1g�[S�+͉P�h}��G6P��u'
-.��
�4�zu�p)�U�7y]�V�s�ox�M}'
����
1T<y�U"�fy��2
�h��
8�\~��,�`p �
 ���'̅0�B���T�H�@ c�_r�;P�Ǹ9�Z�~��IQ��9$�6Ǒ�h5Dr��$��z��X>'�s���~�˔x.v���$�c%'`��'���q���Ƣ璃ێ��f��c��96ک��_:���VOA��9���j������cT��T����Auc��V/�R�
S9D��P��w �5q�
;�
�0�� T�9\/��Bg�!�K�gA(t��0�ab���H�
�y�6
aA�B|3^������9fk �z�z�
A�0r�XK�x,Դ
>h'2�U�v���o��\�ҕV�:gB�&]�Om��
�X��g��4�ȱ
-��X����GĿ
%+��pe��Pt<Y���?8{U!�A�R����\C���N�I�5����U��٤2N��?�3%���Ǫ7�я6
Pʉ�-�(ջ���%�BF� �Q�����W��s�`�5�P=k~�� P�6E"6�-��Y�k0�����4C{"�@�e�s
eX�e�CeX�x�Q����sP���6ˤeu���t��eR��z�;�ct�>c��7�s��Ch��т�^���U�i��bp@�
���A��	ֻ���:1R�470�������ְ)V�h�mm`��R��60��R
���K�6-���ms�
���7W�e�r�0Y�mѵ	
U�>�i�A
-I���n���W�
\�������n��*�
 v��5�,���Mܪ���_g1���R=tM�%�ӿp
�u>$8"!�L�e���xG
���4�ᴼ�aH���,�3��	h�ଣ8��=���Ĉ����=��N���r���WH+5�r��|�=BZ�^!=�9�%��զ����_�
-i)���[⹬xL
-#�2���@
-� Nn!�eG�g
��u��֍JB
-&��HBs�SYr�4���CȺ(��E��d���T 
����FE]����td_��
'�?��F@�}��5�]�Xf��"�mf,���짱
�x������}���]@^�㖶G�a�������f�=���R�h�|��~��F�:�?FQ��?H+J��p�mN��S��MY��h/�
jZ�l7��}|�\-nV��!
�䓝�$��uF�1�Zw�\�]�=1�w榨�N�Zq�����;�� )��*��c
<���l�iUH�C��D�[����\���X�7CB� �}��_޽�.���J���_Ռ:2Ò���6��|���l_h�Q|A���oxW����Z�P�\DO"-k��ȷ��.����e�î
��{��O
-�Ds�s���G�݉7v�<��}�@�ƷhRdg_Á�_
h\e«��B����s�mk-�����1��h�m�:E�Ỿ@�ߎ�O�����HSU��4Y�7�G��y2�
f��PU
8�o*ྡ0�
F鋆����0�oW��L���(��^�f���gzDy����p����箊�4tZ�ύ)*>׊W�ļ��8]/��Cc�c�����.J�4S*���er(�,��g�*J�=`)N	G�%��Ƈ��^߳Ż�]dcWٛ�ZF��~�}}y���Hnv��۔����vu��6j�1ILY��&-n)J���	|�ζ���� x��
-endstream
-endobj
-5891 0 obj <<
-/Type /Page
-/Contents 5892 0 R
-/Resources 5890 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5722 0 R
-/Annots [ 5821 0 R 5822 0 R 5823 0 R 5842 0 R 5843 0 R 5844 0 R 5845 0 R 5846 0 R 5847 0 R 5848 0 R 5849 0 R 5850 0 R 5851 0 R 5894 0 R 5852 0 R 5853 0 R 5854 0 R 5855 0 R 5856 0 R 5857 0 R 5858 0 R 5859 0 R 5860 0 R 5861 0 R 5862 0 R 5863 0 R 5864 0 R 5865 0 R 5866 0 R 5895 0 R 5867 0 R 5868 0 R 5869 0 R 5870 0 R 5871 0 R 5896 0 R 5872 0 R 5873 0 R 5874 0 R 5875 0 R 5876 0 R 5877 0 R 5878 0 R 5879 0 R 5880 0 R 5881 0 R 5882 0 R 5883 0 R 5884 0 R 5885 0 R 5889 0 R ]
->> endobj
-5821 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.288 708.953 212.768 719.857]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_90e87cbe8ae0717fa09ff51b70d64b47) >>
->> endobj
-5822 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.771 708.953 252.959 719.857]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-5823 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.896 708.953 375.145 719.857]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5842 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.401 684.37 277.928 694.275]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Affine_Transformation) >>
->> endobj
-5843 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.443 651.17 250.099 662.074]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_d42265530a9e3b2f3bda9ab40d4a835b) >>
->> endobj
-5844 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.258 651.17 289.446 662.074]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-5845 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.772 651.17 379.512 662.074]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-5846 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.747 651.17 513.996 662.074]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5847 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [346.468 613.423 441.891 625.588]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-5848 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.207 581.432 266.586 592.336]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_b602d97b867b5d2ea800ea7ceef4c6b5) >>
->> endobj
-5849 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.509 581.432 309.697 592.336]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-5850 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.494 581.432 408.234 592.336]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-5851 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 581.432 513.996 592.336]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5894 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 569.476 171.361 580.38]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5852 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.591 544.893 481.288 555.849]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-5853 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.091 511.693 250.748 522.597]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a9c12ecd84df4ed86b5676a09fa39208) >>
->> endobj
-5854 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.068 511.693 357.317 522.597]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5855 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.405 511.693 456.145 522.597]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-5856 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 499.738 202.344 510.642]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5857 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.481 487.11 465.544 498.066]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-5858 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.542 453.91 267.921 464.814]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_fb9d83c4e182f640833116dc2f725076) >>
->> endobj
-5859 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [306.143 453.91 383.393 464.814]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5860 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [420.495 453.91 492.235 464.814]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-5861 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.011 441.955 250.261 452.859]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5862 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.923 417.371 468.68 428.327]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-5863 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.933 384.171 239.984 395.075]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_0441c9c3b0ab0d55165bb6b4fd107f64) >>
->> endobj
-5864 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.633 384.171 280.82 395.075]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-5865 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.855 384.171 405.104 395.075]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5866 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 384.171 513.996 395.075]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5895 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 372.216 171.361 383.12]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5867 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.257 358.379 432.092 371.537]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-5868 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.436 325.185 251.209 336.089]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_9e4e32230b187284ac0b9ca8efba8f82) >>
->> endobj
-5869 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.361 325.185 290.549 336.089]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-5870 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.719 325.185 409.969 336.089]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5871 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 325.185 513.996 336.089]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5896 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 313.23 171.361 324.134]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5872 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.114 299.393 456.992 312.551]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-5873 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 266.199 224.57 277.103]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_c009459805692e582a00d4b5954ab8e5) >>
->> endobj
-5874 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.908 266.199 272.162 277.103]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5875 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 253.571 347.869 263.476]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Time_Elapse) >>
->> endobj
-5876 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 231.33 255.564 242.234]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_2581586de73769088ece60dc01409a08) >>
->> endobj
-5877 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 194.468 264.959 205.372]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_b6bba83ceaafdb71df04b77e43bed022) >>
->> endobj
-5878 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [292.296 194.468 312.55 205.372]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5879 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.933 181.84 362.407 191.745]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Widening) >>
->> endobj
-5880 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 148.64 256.66 159.544]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_e8d42fcd571a9c9d64f0e7ffe67e995e) >>
->> endobj
-5881 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.997 148.64 304.251 159.544]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5882 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [311.5 136.012 366.421 145.917]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Widening) >>
->> endobj
-5883 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 102.812 214.06 113.716]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_596fc5b3ee0d04895aca9139cb6cbcb6) >>
->> endobj
-5884 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.398 102.812 261.651 113.716]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5885 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 90.183 358.593 100.089]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Widening) >>
->> endobj
-5889 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5893 0 obj <<
-/D [5891 0 R /XYZ 90 757.935 null]
->> endobj
-5897 0 obj <<
-/D [5891 0 R /XYZ 90 248.431 null]
->> endobj
-5890 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F99 2117 0 R /F65 376 0 R /F97 2175 0 R /F38 342 0 R /F34 2406 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5945 0 obj <<
-/Length 2057      
-/Filter /FlateDecode
->>
-stream
-x��Z[���~�_�'�vgg�
i�Z�4�ǻɋ\j$�/!�U��{�«(��p���P�˙s���
-[+
[��������s� 
����`�{1J�����&Q2�#c��`;,�p�qF��m�k�(�������۷��bvG��m²��Ob)��m�Fv�
�ٔ��_�������o7d�Qg3��ì(���
���wFN�[;5+�\����z����{
�T�c�s?B8�`N("���ϔ2%N���|���/�p'�N�X�����,��&�;�+��GY�*��s1#��OU�y�	�8K砑x�ϑ;����eu� �V�
Y�f?�}
��}v��~�J��/+�
n��o�Uy+_X>r=ߺ$�i�mSy����] 9r:���f1v�\���S������A	�'H�y��)x�+��� Q�@���{�3ɋ���LB�E �
�� ��.f�E��T�E�
Lh
�_��E
������5���]�i���
-��,ɷ���>�y���2�#�.3%j$�P��uV
-e
7�`�@߸���Y�jE��[e1q�XL���J|�����:��֚~(A��I��p)�����ҥ
�Y�VF(���� �
�`���!Fz����~+U<&:�"A=	�§�Q� �<�À �u.e�w�	4
�D*��ʊ�,��������\ް�
�zv�<
��.bo
��� ?��5N�

��b�\'m'�&�n�`��~a�a
ex�g�B�|V��a�fu��Y��
-.iYa*��N�����-0�>�=��0���s��Gx�
��H@�9?���{�/_H?�'
ϖ�ɺ��c~,g��XNV� �ڏ�AtׇK?V�NBl#���:.F��g��s���J����G�g}��r.M\�d�K�	.M�yt��^asG8�
@>"�d�D�
t���M#i���fMyB���"^�Z�&N����VD��O�G�*�
-'��<�D�
-��A.S
����4�b1/��E-l9S�$��aI+$�
��nv�W�\��O�:2��sI?���bQ���ۨ���D�v
�Rŷ;�j�s5lU`p��+e��e�v�Զq:��;�ci}*�{]
b���B�I �E�o��k@��m�ݠc��)U�U
�LTXl@��J���X� �\k���(��7��A���0� ���5RGq��������?r�Ѱ��HWV"�p� �4s�#�0�&
-�F�᯺�:�����P"�6$��.D�IOz����� �?�����y#���e�7U6��K��ڪNcG��2Q��ӆ����p2Xw�%�b\ǫ�(&�(�L���S.ᩞٜ���
��k(��:
-�ɵ���D-5��y21�h��"�/��=J�4l��
#�1h+����� 
-��ME�gФqpL�"�fG��PP
-��:�(G��t����
�6pH��ab<��U
n�um0r�C�9�#�.`�"L�~U<�3�0%�
�]�U���(�&�9 �0��C�9(�yG[�`���N6��L��gȮc��j�:��O.S�_Of�`4��ER�.�oO���
�w���'G�� ��=��7�~��8����~fR�°b��=p�$I�"Κ��
�p���!��ޮ��+2�"��P�~�TG
.����^/I�
 �2Y���q�%Np ypc��5�❇x�L��qT`�z�:�آ.
���5�����f�"ۚ{���&���a�������q�H�䈷Q�X	)q<*
rU��)���߈�*�*����
��UZr�N��"}�b��Q��N���Z�2D�V��svq��4Z�z����ԪA>KZ�
n�#ܶ��u��6=%v�=�&V=��.N��*��)
4i��aV��	�N��]��XFq<_l����֭��B����@-ğ�S���<
$�`z�S% ƌ?>��y{���wJ���XI?�X��O3��"�t[���:�
-ڬ#(��6�ݣ�C��ٯV=�׍BG+/�J��
<�U������v(*�6����}�o�I���l�4�,�:�
-Q�7�2Q
)4��ȗX
-endstream
-endobj
-5944 0 obj <<
-/Type /Page
-/Contents 5945 0 R
-/Resources 5943 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5722 0 R
-/Annots [ 5886 0 R 5887 0 R 5888 0 R 5909 0 R 5910 0 R 5911 0 R 5912 0 R 5913 0 R 5914 0 R 5915 0 R 5916 0 R 5917 0 R 5918 0 R 5919 0 R 5920 0 R 5921 0 R 5922 0 R 5923 0 R 5924 0 R 5925 0 R 5926 0 R 5927 0 R 5928 0 R 5929 0 R 5930 0 R 5931 0 R 5932 0 R 5933 0 R 5934 0 R 5935 0 R 5936 0 R 5937 0 R 5938 0 R 5939 0 R 5940 0 R 5942 0 R ]
->> endobj
-5886 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.284 709.028 313.701 719.932]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_e47fdbff76383891b3896ac5fc213d5d) >>
->> endobj
-5887 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.407 709.028 361.661 719.932]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5888 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [403.347 709.028 487.799 719.932]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-5909 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.63 684.52 376.664 694.425]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Widening) >>
->> endobj
-5910 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.429 651.395 306.547 662.299]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_323efbe5d43695cc65f8cd5935da94dc) >>
->> endobj
-5911 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.542 651.395 356.796 662.299]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5912 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [402.202 651.395 486.655 662.299]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-5913 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.627 626.886 379.162 636.791]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Widening) >>
->> endobj
-5914 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.72 593.761 264.238 604.665]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_9bdab8408169307fbd899ec3670cb2bf) >>
->> endobj
-5915 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.815 593.761 315.069 604.665]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5916 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [361.421 593.761 445.873 604.665]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-5917 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.613 569.252 287.921 579.158]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Widening) >>
->> endobj
-5918 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 498.105 289.866 509.009]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_10e3116398b920cb137cf576a073cc68) >>
->> endobj
-5919 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.681 498.105 359.324 509.009]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-5920 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 463.386 290.971 474.29]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_c4e1b49845e553ff84dc73e710def76c) >>
->> endobj
-5921 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.787 463.386 360.43 474.29]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-5922 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 428.666 224.003 439.57]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_1b528a2e8d4d096f62535454e05b74ba) >>
->> endobj
-5923 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.34 428.666 271.594 439.57]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5924 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.695 416.113 272.49 426.018]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Concatenate) >>
->> endobj
-5925 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 393.947 254.15 404.851]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_75df0f78d7598dafa946251a04cb5d90) >>
->> endobj
-5926 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.487 393.947 338.263 404.851]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-5927 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 359.227 284.585 370.131]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_7ff92e5d40e6faf667a0b1f6b8fad791) >>
->> endobj
-5928 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.401 359.227 354.044 370.131]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-5929 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 301.594 241.726 312.498]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_60138f2b5d41fd62c862fdcd7c4a1e61) >>
->> endobj
-5930 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.617 289.04 407.658 298.946]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Map_Space_Dimensions) >>
->> endobj
-5931 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 266.874 249.318 277.778]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_f6df34e5e4ab9beab41cd76897d64c72) >>
->> endobj
-5932 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.134 266.874 288.321 277.778]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-5933 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.875 266.874 371.519 277.778]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-5934 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 232.155 240.62 243.059]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_18ec2da355442e02ae67313ed5b48933) >>
->> endobj
-5935 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.958 232.155 324.734 243.059]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-5936 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [390.537 232.155 425.724 243.059]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-5937 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 159.787 153.097 170.317]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_07bdac3717a59f64634da7d9b1cfaefd) >>
->> endobj
-5938 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 122.851 167.466 133.755]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a598904833b374d50efc72c51914112c) >>
->> endobj
-5939 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.281 122.851 191.535 133.755]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5940 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 86.288 193.029 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_508103dc808fc747a90b573083a60461) >>
->> endobj
-5942 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5946 0 obj <<
-/D [5944 0 R /XYZ 90 757.935 null]
->> endobj
-5947 0 obj <<
-/D [5944 0 R /XYZ 90 176.32 null]
->> endobj
-5948 0 obj <<
-/D [5944 0 R /XYZ 90 139.877 null]
->> endobj
-5949 0 obj <<
-/D [5944 0 R /XYZ 90 103.314 null]
->> endobj
-5943 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F72 471 0 R /F65 376 0 R /F99 2117 0 R /F35 2018 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5988 0 obj <<
-/Length 1624      
-/Filter /FlateDecode
->>
-stream
-x��YKs�6��W��T��` |{�C��3M�֍��!�h`�0�C%��ʯ� ��)�v줓�EI`���>�\:�y9��|tt�N����܉���8��nL�d2%����1�r6;�P<.�Ղ����V��/+�N������
��9�&$�"�@)pI0�$�|85��|�ψ /�!��~�B�w�|��vRx���ȍ#窙�;
u�?s�F���c���+�Nr���xQ��E8�pWBq˦*5C�
c��(��l����W���E��(ډ�0$:{��fXM�p̗�O�B1%J;���q�A0����-���=�y(�
{j!dgT���A���i�����0�.E 
r�вB��E�y7��8>5&��o�������ee2b���r����
���r)U�Yn��D�{b�IYH�+Į�
q��"7"���G�!
-(�&0G`&��p&Q�B=$��Jj���C�(�z�����"�ݤ>��!<�=B�R�=� � 켵\��R���=D1�c�ٳ�
��\����|X��`�E\�e6�볒��^�x�=m�5���Q:�W��y�
S��Ǜ��
^S����
^�r1���0��	O͛��~����H���X������}hBƻ�6^�`��S�^��>"�?�(�h�nÒ�l�N�������.ѕ���B����zWU�o�F̍��:I���:{��~ٿ��9�d/e���(�j��+3�W?j(���Q�
h��y^V����L����U&�)���ZQ�.V:�=n,n�4
,�d͉�d0#a�a�M��

��c��K��vU_���o]-��\�U�nl�Z���@~�sV0�`\ꟃpC�B8
-�q�D� E�7,GB��ҙ:�&L.fI���A�Qr���tz!Ԥ��&�Hͻ2d
	h�0�JH촪P��� yˣ��7K�t
-N
ӧ�E֎�����f|R����.�0��⚢8��ax��� ���y!a�;�wήgr�>�V���AAy�H>�ɰ��k[�5LL������Q��lu��՜�ȑ�-�J��^����� �L�����fO4K�$���%�%@#WR�\>(0�1V�A6��"��1Վ����9�:eoբL��N寮L��]��b�/@"xd$�.Y����.�Aj-�
!��v|<�׎:4�/m��.���}�l&�;F�'�Oo&Ļ�X=�a�&aD�`H���4
[��"�Ց��%�E�˾׷X�=D�������C�+����ݲ��vt	Z
��C�B7����&Sm����w��}zPxu�/��Ж[�VvP��+?��`��nX��!�р��n�_�##!���!zb�}̳�k��6z����p��j��L��& ��0�jY[ ��MH��C1���~x���;
T��)�Y��J_D闅ZǪ;�5Dw��
��ag��W�{#�w�����ܞ˸=�x���Q��$z��`����
�޹��WF_;�=�7C��ݫ� Ȑh��cs���8��`nN���g6?oSc�N����<ZŚ��$�~���.|Ê�=@Ӗ�I��պ��ňj��#�3�v�F��N;�m�huͯ��urY(�<>:���B�Du!��h�̎nf�
* ���B���ZV]�
/��X|���u�d�
-endstream
-endobj
-5987 0 obj <<
-/Type /Page
-/Contents 5988 0 R
-/Resources 5986 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5722 0 R
-/Annots [ 5941 0 R 5961 0 R 5962 0 R 5963 0 R 5964 0 R 5965 0 R 5966 0 R 5967 0 R 5968 0 R 5969 0 R 5970 0 R 5971 0 R 5972 0 R 5973 0 R 5974 0 R 5975 0 R 5976 0 R 5977 0 R 5978 0 R 5979 0 R 5980 0 R 5981 0 R 5982 0 R 5983 0 R 5984 0 R 5985 0 R ]
->> endobj
-5941 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 698.565 193.029 709.469]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_1d51ba9ca3c3e0bf0042502f40d2e11b) >>
->> endobj
-5961 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 664.837 165.911 675.741]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ee33974909cfc1cba605734a57d44df0) >>
->> endobj
-5962 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 631.482 187.689 642.013]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_1a26d0018999e56d94a7e96db2b6e553) >>
->> endobj
-5963 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.557 619.051 476.544 628.956]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_1d51ba9ca3c3e0bf0042502f40d2e11b) >>
->> endobj
-5964 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 586.422 202.902 597.326]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-5965 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4 586.422 300.037 597.326]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_f39e1b0519a47aafb9dba4121dc41a9c) >>
->> endobj
-5966 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 552.694 202.902 563.598]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-5967 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4 552.694 314.263 563.598]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_eb9b562373b4d288c03549bdba93fede) >>
->> endobj
-5968 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.819 519.339 199.864 529.869]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_5f6fcc1dab2b08eff20b41d1412d1e2d) >>
->> endobj
-5969 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 442.467 203.075 453.371]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-5970 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 442.467 296.324 453.371]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_fe613a3da3edc3cb4506f70d409f061d) >>
->> endobj
-5971 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.377 428.63 331.306 438.535]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5972 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.636 405.18 294.481 416.084]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_7fc86a6331f34f34a506ab2b0609ac37) >>
->> endobj
-5973 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.636 367.892 287.856 378.796]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_3628b6d6e250d4c6b8301173c6ecc777) >>
->> endobj
-5974 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 289.402 180.54 300.306]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_87d004db7f8febf6f9c96b4a2a1c85e5) >>
->> endobj
-5975 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 289.402 228.131 300.306]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5976 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.864 289.402 290.118 300.306]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5977 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 185.983 226.034 196.887]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_1cb88a546d32e7b5c07dc25055e33235) >>
->> endobj
-5978 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 185.983 341.43 196.887]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5979 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 148.695 178.239 159.599]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_9e17201a9a12235a9a96cc31cfffd38f) >>
->> endobj
-5980 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.576 148.695 225.83 159.599]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5981 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.563 148.695 287.817 159.599]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5982 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 111.408 156.281 122.312]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_d452407f89cb560e83fb81938c12a585) >>
->> endobj
-5983 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.097 111.408 291.433 122.312]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5984 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [309.645 111.408 440.981 122.312]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5985 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5989 0 obj <<
-/D [5987 0 R /XYZ 90 757.935 null]
->> endobj
-5990 0 obj <<
-/D [5987 0 R /XYZ 90 714.882 null]
->> endobj
-5991 0 obj <<
-/D [5987 0 R /XYZ 90 681.154 null]
->> endobj
-5992 0 obj <<
-/D [5987 0 R /XYZ 90 647.426 null]
->> endobj
-5993 0 obj <<
-/D [5987 0 R /XYZ 90 602.739 null]
->> endobj
-5994 0 obj <<
-/D [5987 0 R /XYZ 90 569.011 null]
->> endobj
-5995 0 obj <<
-/D [5987 0 R /XYZ 90 460.658 null]
->> endobj
-5996 0 obj <<
-/D [5987 0 R /XYZ 90 460.658 null]
->> endobj
-5997 0 obj <<
-/D [5987 0 R /XYZ 90 423.49 null]
->> endobj
-5998 0 obj <<
-/D [5987 0 R /XYZ 90 386.202 null]
->> endobj
-5999 0 obj <<
-/D [5987 0 R /XYZ 90 307.592 null]
->> endobj
-6000 0 obj <<
-/D [5987 0 R /XYZ 90 229.102 null]
->> endobj
-5986 0 obj <<
-/Font << /F63 374 0 R /F72 471 0 R /F65 376 0 R /F99 2117 0 R /F50 339 0 R /F98 2120 0 R /F11 418 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6012 0 obj <<
-/Length 2378      
-/Filter /FlateDecode
->>
-stream
-x��YK�۸�ϯ�%)a�~L*�d���M��ؓ\�)��4��Z��F���F7 at R����rP��h4��~�r���:�o��ps�C
8��b?v
�N�:I�������~�y����u�՛����߬}wՔ�'���ǿ�m�w���םڭ7~䮾+��[����KW�.$p�/^�����᧛�n~��@����Q"� r����/�����
WY�4U�~ m鼻����=�@�q4��07y%�\���}%��S����!r'�\g�"3b��s��
-��u/��zM��?����vx��)�zPt���*x���y�I�.�����l;��z`���t9��������`$�5U��x��'
$�Di �8V�E���<Ӧ�ضM7�
�KBFf���2/�%�Vn��>�~ty����i��m��D��k�a��Z ���ԇ��4�Z�D�|���l�0z�ǩ������~�@��o;�T���V��c^��|�yT�R�^^��ڨ
����n��le�S�6�骩�%�B���S��cu�-aN�(�ؗ��zj�'���!�F; 
�gÀ���Ii�CO* ����"�Y�w��r�E��B�[�YA�?�r0�����W��jk��e�Gd
��B�Cނ��[

�xY6^
���%��]�

rj@�x
�vϮ9nK�s����T�����ֈ��v�ڏV�PS� �hz���ք��%M?!�
q�%�}�����Y���[Y���K��{j�Uq�$��`v���*ZѷG�#�y�[9
d-!h6]ovDn/琊�� �snX�ׁ��� 
��������?H��ҩ�&�ap
�W�sOk�GIhM�m��������M�d��|�{�X �[�i�$i�ǺA0����E粊LR$�S �P��+Hʲb�5��
&`.�f���L��1��Imdi���$�
F�_s�*�E.��9�+ ݃���(I(����.p����N��.7����x�΃
-��/m�<��R5�
�GV���D�L���Щ-Vi�Aγ<�<�
lŦ���d���
S,�JB�3q]��9����&�e"�BS0�?��R���!� ���D�f���*#q:'���l8s��
]
�*��藗剟�"�0_�‹��:�q��R��5�
oo��;&�;+���Ԧ'p�Y�Z2�o*8��׀�P�J*{���tYk1Eyh
hbS��5
őܖ����l7��&���O�1��ס��/�r�ސ�0�殌<,
j�;�C䤘��P
-�ara���Sg�
�7��(!pJ��I
�����|����]a�ZoS4U
����Lb�&�b*�D#D^�C������j�8��=>��.�1�@�y_���zR,7��
-�d��`^g5hOO�x"��я�IPBm�T#�K�Y����x���U�
���v��	Bx�x6�H
��m�
-5,Ģ 
lgbx6�|'�ں
-�ޡ��m�J�R��I�L؏I$�$�
;�
��Y�p�0i
ԢiQ��u
��
�*ue0�GO�h9f��
��M(.�7��
UZ�{Eh����ˎ����Լ׵b`S;W�Mm���e�l�I	�42�A�A4��;+M�S~�Z��p���8�{�"�y��l�{� rb�%���7��C�	Dl��� ���gB%f�3y5�"�W\	?%��
�d�1����Wmi��0O���ceP6�k;I�8�]:aj���
W€����X�����/219r��FN�^�R�e7
{��oyo
�,)�����"'`M�C�6>@"	]�e����֛��3����0�&�h�H�]�ӋoYPT
?	�
��>q��
K��.�ϴM\
-���
M&�l�a>��"����)��fWҤ
<6��|D�~m��
h&o̚�T=h
tM $m�t��k
5`�F"u���ˢ����n�̼
�r��1��ؾL`
-
�r�@�~�T�<��
-PP�X�)e8}gY<��c+š��� �Bս������w��%�c���s��u�v^,}
-F�~�s��%�0ˆ��Tf�)�+x��z3x�x0��
��T����Rv�־�2x�w�=������
�O�
�H��[���L2	T�R~��p��g�o�N6���e��
��g�FU=��u��
8���)"�X�?�P$�&�
�?2R4ī
��W��H8B���!�ۄ
��
�����}y�K�~Y����f/}u�|��@
�����F�?N?l`�����7���H�?M4�����(Zq2�G^�������-\�§o��3�;��w�wB�?:��7�Q^,yז�O����ݝN'Q��Ƕj�k���:O�x`�Ė�U���@��g��<��� �\2�
-endstream
-endobj
-6011 0 obj <<
-/Type /Page
-/Contents 6012 0 R
-/Resources 6010 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6015 0 R
-/Annots [ 6006 0 R 6007 0 R 6008 0 R 6009 0 R ]
->> endobj
-6006 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.82 677.939 198.074 688.843]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6007 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.945 519.235 182.89 530.139]
-/Subtype /Link
-/A << /S /GoTo /D (main_sect_rational_grids) >>
->> endobj
-6008 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.819 408.291 398.978 419.195]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Space_Dimensions) >>
->> endobj
-6009 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6013 0 obj <<
-/D [6011 0 R /XYZ 90 757.935 null]
->> endobj
-6014 0 obj <<
-/D [6011 0 R /XYZ 90 733.028 null]
->> endobj
-6010 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F11 418 0 R /F23 340 0 R /F31 472 0 R /F7 505 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6019 0 obj <<
-/Length 1949      
-/Filter /FlateDecode
->>
-stream
-x��YY��6~�_���rqy��-� iS����H�ז�Bmɡ�:��
^%kw�l���I<���
�
)
�
���y~q�<eA���|�8�R�J��2x�(�Ec
��

-�W�g���xS,������B
?~!��,�	و�1�7Ū�3�âZ�)e$
)0�0y�l~��,8 z�$CK�����
,a�e��yp�T� �
�����؞�z
�#�� �)"il�����6��j9
���	�V�2���$1��7je���z��g4	e�VCi���v�Zih_n���fxm4�I�,�]]-��,l��,��RB^>gē��ey
bk���,HQ�1�(2D�$`(%VtjhG�PL� 򨮏fW�\v�"50��P���՗���6h7E1a�=�ko_�Je��H��FPjy<0Do�4�
�(�>8�Yn8���q��ش�v�ଋu�Dˁ�(G��=
��j
-پ�	�dh#�9��ӧ拁�
x�37W$k�� ώt���	�#�r߁z�@0d
Z�~�V5bk[֙�%,����b�v��Z����v[�zk�i�@ծWv��*�hki�hvŢ\
�߾�tW�Uk����`��[��y���N���G��
���u�%S=��	N�j ��=��������MD�	9g�Q�H�Qa
�G�-�ҕ�v��������M_�>FF�#�P�HF&@���d#x���u�&}W}a>ƭ
� #դB�5;���m��}-��Li
[�u5"נ���`�Aq�:0�dH��O��:�BE8��8N�G1g�`�	FyNς��.HW�� �#�u�g(�#LnZ�_��
S
�*\
��6���^l��8��A*��N�{c�"���
�'y|w��a�"��+Ԕ�p����� a��v�:7a$_)aL���:
�9>�s��9
���/���1.�=4r>�U1���,D��ߏZ�5	�,�N���>��>� �ϊ�����
L?�Xe��0� �
��[e�u c�� K= b R �۝�E��Va9�+�C/K))\�
b�mU :��X� 
��
;����w��s�p�P�ɇ�G#|l�.^��Z� �
x�#�{������2�Z"(�4Fv�ߊ�)EI� ��"��S�A���)wWq�Uc��b(����Z��	��s]ç��̻ܫ����5�P������y�\��ᦨ��h��6EuO��G�(�<�ϸv/5[T�^��ޔ���Tr�(�n*��d!�*u�g���K(1KY,�ю��ǘʦ
����A���l�R�-
Z
�!��-j�Z���a[y(S1�j����iQ�ڲ��r�e(i@�:��qRuy�}��|�C�}9��1S㔺w���v��j_-�I�W�{b�깭��� ivj�e�7�E�`�U��+�F� 
(w���yp�� �����r���'w'�� ��g
n}��O�U�>��.sw�x�.Q���
k�, Q'���O�)�T�Girt�Ty� Z$�(O��vGЊ��
�P�T3���gC(*�ttEmo����������?c��W�ؾx�F����Ek�J���������@ [...]
-�)�u?�L���2�?�@�~�$�Mw�D�W�v��%r�F�$�A1�(�!���	\�W��zy	���M��
_^
�h��N�����6�����B���A��:8�ֲp�P�
-���X��ζ0
-endstream
-endobj
-6018 0 obj <<
-/Type /Page
-/Contents 6019 0 R
-/Resources 6017 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6015 0 R
-/Annots [ 6016 0 R ]
->> endobj
-6016 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6020 0 obj <<
-/D [6018 0 R /XYZ 90 757.935 null]
->> endobj
-6017 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F31 472 0 R /F7 505 0 R /F65 376 0 R /F11 418 0 R /F8 504 0 R /F23 340 0 R /F1 542 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6024 0 obj <<
-/Length 2430      
-/Filter /FlateDecode
->>
-stream
-x��ZKs����W�݄;��
��!Iɮ8V�b3��bA\,�d� �H��t��wIKv��������7K��$4���o�g�h��$�\'��$��ь(Β�u��1��r�(���KFY�ˮ�/9]T���|]gW��~|��ۺX/W\��߷Y����M^/�]��u��`z�9_�r����˳��1��&��
1B%׻������P"R��;�]"���6���_g4�A��Ǧ�R��	�����!��O;9"��o
�f��&+���/o��M��VK��Ey�?]W�0����`�6.�k�K���l��붨J��PC1R��vd��U�Ϯ�u���5WY��������s+��9Z
9�)�+���p�JXJ
w�Kj�J����@e�Fv�b�:��&(�uU��wx�H���y��`�
->��x��K� +Έ���Mp��@)��j�ޣSW~f[�y�_�x��O)�:�o#�&ۅ���4E�ǝ��@��MU�
-�)���ɮ��V�zQ��c����gl��� [...]
-eKGB�Sy4�6�"�7J�+a8Q�	2U�L�4�$�J�c�ݲ�
���e7���
��^�
-9�D��㹐����w�/:��0j�n�2���r�ݗ}U�.��H����]����MHb �>����� ){b�.~Da{�AIM(���|~Jn����{ڛy{.��Wo��o���r�"�cA�S.7	W��{vG��
�`��X1�
*���EW�h,��ҴY���|��~%��v�B,�YQ�I���Ω$Lv}�Ì�;����
f�d
��,��
-Q�����a�����|NqC8�3��
\���;�,�8����
�ku(�)����\�&�	S���QSb�
��5wrAB
˅�\8�* |�ػH
-
L at O�k���|Z����>ƥ�ӌA\eNXQ
��qo������uI0�}��'�f`K�ל�îjM*�<3l!�yE(O�]]��?;+�uejpv�~͈د����T�~B��rJ��Y�l�6c���U�uqs��W�=.�G�K���C�:r1\>c^P�t�{x� �Dw�c�	-�،��I��8�T��$�
y>(�bA��]NLC�I�4ڀ,�� I���# ��x"FQiˎ�;6N
�ۋdpP�QJ�xW�y�k�'�KI�c  r��8�p
-�
��.k}P�����JPc��\ڋ��
��m�F�\�{���8q!�)�6��, l���Mmއ
�۱CR���w& 0�
-M������
BȖf�u��y&|0�<�\S?z�&��
ɢ����q��'̶�gl܆3�)(T��ȉX�х�7s�
�>^�R� vF�l8��6
-�
�d�e-��Dc�s�Y=�WP����T=f�O��v;�bj6��Ca{.�.O�� ��|l�>�eE�q/Rh]x��v‡�X܇�ו�U��C=x�e�Ltk
_�S1�>`�Trl#L��ٌ�:�@>�a��
���w�3�{ ���±�!�
�R# ��X~a�>�g��z'D/��XE
�
V�q8@?B���*��X
ܝ�Ǫ|�ǯE�sk��H4����k�nF,D~��tL�F��f�=g�oz5"緖�����n�Y�7�
����#ܦ��[;��S����G�3��|.���j�姬���^��/=t
n5�b0u ]��`�:/�]Q�[��#��4VX\
 
S�Q�f�e�T�s��
��Vj at Y���_�V �b�	gX���b��~���k=��¤��H
��"m5�w�oZ��Ǫ�yGuT-%O���������� V���N�1
��X�:���\�f'�J�a 
-��
-�ʸj�*~�RͦR=Kd��b�Jӧ�)O�oYm���}�q�4#��m~ YCs9<��;u
-c�9��l�)F6?
%)��a~]��R(i��h:Niw%��T� ����ʎ*�G�w"�����% �ᶢ*��=T��7�LS�Tӡ����)��
95��z��~G�}��O�%hs{�{z�Ӓrb�;(
+Ys��}d0�,�`�
���oPaƇ&�s0+@끘�]-|�U����T�c
�I@�w���
��������{r�'�@̾0
���π�
���� �N�U��/8�_n@���`� ��� ��h(���0��?�ៈ���M^�i����񻬼s��5�U�e[
-��;H�G��<(�5�o���m��ˬ!��I�m�uqqO�rW����~��8�|.L~��vU����������+�c�
-endstream
-endobj
-6023 0 obj <<
-/Type /Page
-/Contents 6024 0 R
-/Resources 6022 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6015 0 R
-/Annots [ 6021 0 R ]
->> endobj
-6021 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6025 0 obj <<
-/D [6023 0 R /XYZ 90 757.935 null]
->> endobj
-6022 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F1 542 0 R /F8 504 0 R /F11 418 0 R /F7 505 0 R /F23 340 0 R /F31 472 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6029 0 obj <<
-/Length 2250      
-/Filter /FlateDecode
->>
-stream
-x��Y�v����+������;��c�g&��X���><�"� E�_��'� HS�,��hTWWߺ����e���Wo�n�E,HQ�(�
R
�A���~|��(���x�aJ�$k���Ô�I]�Wb�d�M��_�z���r<����V_~����d"�\����hB)�~�������?W|�Qs�Ō����
,���F,M���B��
��u���ื��aAL�׋�VB�Ԉv[vE�ԷK�wa�S�'OS�'���G����V��,*ci�5YY�R�u����`y7���D1Ga���ʛg=�s;A$	��h�
-�]�`�f�Q�"`�'����l�)���{?H	�q�<�&F���Ʈ�x�7�3�YٚEo[qX��x�Q̚"{(E���"
�(�1Q�C
�C��ڡ_���,
~��9������,���ccwr,sc����(A15����?�eYK�w$y�0/ە~���P?�<n��+�J���� M���y#������,�E�U
ߵ#��� ���;c4B)�&‘�T�����D�uu3�۷�X�.[/�#�U+�NX&�|S��Si
���
���5{�G�&DqB���g=џ����a5�%���+_=+T
��O�%K���f$H��C��6�F��=� �1���D�?������]���Ћ���$�>�z*3�
:-��g�{	�X2i��ф*�4��+���:�@T�rA�B�4S���	
-6�Q�'��	���@�`��
�7A	0�ɕ�ǖBR��d�@�҄\j �^���8���YbW
E����8xH��x�BgLQ�)$�h4
�z$�"R���c�bDR�w+
�x��t
���WEi��@��g	
N�h!��P \�r1Z������Ռ�1���
*��Gg�L�g���=��f�Qh:
�h�Fn��<�ح�m��w+Q�+I&�fxһO��ˡ���SD�0s�RTy3e�D�'
�Z�?98J�A
-g!	%ӌ��j�"�v�:�����F�D�[Y����EbM��N4�Rd��<�lJ0�T^=PE ��ZЗ}NQF�!�!����
�F��4�2�h�'�Jk�w�e�P�YaJ���<�t��`���.�2w;Π���B�.��^�O�� r�RwQ%e�ȝ<Y��rџ�ԗ�gQ<J#p� ����� <�R�����쒳B�r�%���[��o��l��_�*}I��d�$5�	� �VB'���|x�wS_�q��c�)J�X|Y��~ڏ���/h���}��
h8�&�K�^"���
�o8]���-�`�d
��Hړ�C��/J`�� [3MM
Jo�>5�p7�6�J�c�(�b��$�dy�U�
V ��g�H���:1ڍ12F<q��O-va��)�E����D20*��Q�(=
��3�׬�+Y%���̢�#��ݩ�q�Y�"̿Og��m�JɐN����B�7ul,�dgZ��
-%��re.��j&:#�$��l��;�P�?Q���߯��
���)���V9����k}��mk��C&�^ׅ��l�e�j�!je?�]��;��?蟷���η������4D,L=��E
8ۇ#4չ�ͻ�ƀ<�0B�ˡj�>†��怩��%x�T��qȳ���
�^k
��m���[�ԭ	1�-U8�Y2��ߊj12%X�#z��6�y��?�����툥0FɁB�ǀ�}**�5���-�e�Xt_�4�Ġ��u���0����j�C�r�I8<
W_-��g��0#7�䊮��,b�����+�A6A�{����#H���u�=sDS�כ6�O��QNS�!��aD�6���G*W�����͌�3���,�N-�2D�w���8b

)l[=~sm��0M�G�h��-�$f U�y$� µ�Bj[̹�H�z!
z}��*E��Vs�4Z��!!�!��'
-sD���q���3~����;�d��*b1���b�]�޷9������6*!����$:�p��؞~�3�@�}.�G߂
-���������?�) �Pd:͗c�*q�z���tq�H���sL�
�g)�ڞ*72^{��fHk�ާ��EF��p��>�#/�eѵG{��'(�0i�1?�����-�څ���;�`�����>H�Kh�[�-}k �o~�����O����U����KΒ�[8F�]%�aZwB�E��ث����_�Ĉa�ѫ�ۼ����v(o��AEw�ٔ7�tѳ";��ȣ��u����p�ʮ����Yy^
-endstream
-endobj
-6028 0 obj <<
-/Type /Page
-/Contents 6029 0 R
-/Resources 6027 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6015 0 R
-/Annots [ 6026 0 R ]
->> endobj
-6026 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6030 0 obj <<
-/D [6028 0 R /XYZ 90 757.935 null]
->> endobj
-6031 0 obj <<
-/D [6028 0 R /XYZ 90 352.762 null]
->> endobj
-5608 0 obj <<
-/D [6028 0 R /XYZ 90 330.451 null]
->> endobj
-6032 0 obj <<
-/D [6028 0 R /XYZ 90 330.451 null]
->> endobj
-5609 0 obj <<
-/D [6028 0 R /XYZ 90 166.649 null]
->> endobj
-6033 0 obj <<
-/D [6028 0 R /XYZ 90 152.113 null]
->> endobj
-6027 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F65 376 0 R /F1 542 0 R /F8 504 0 R /F7 505 0 R /F23 340 0 R /F31 472 0 R /F72 471 0 R /F95 1788 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6037 0 obj <<
-/Length 1226      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~����*5͋HI~[��h���=���ȴ#L������H�dKQ\7i�͓)��}�;������w�7���\0'D��™��;� �S�̗ΕK�d<!c�bL��,Z\�)v�tw+�*Z��ܨH�f�w*Y�'�c�,���,��+��$pe
K8I0"\J�������|�yD���6��ϸg��k�,��#�]�+s<��7u.G���?O"�=ǧᙘl
Q&�T�v���<�ǐ �8t&�95��������+TPxRo��J��rWj��u�2�q��նʏ��R~˜�I�6׺y{
F=��x'L��'΄R$Ba�����F'E����-���^�f����v!�*Ա�}����CWŘr�.71$��]��ЦG�y%�f�e�ɼ��6�;(�ނ
�B�rY��E�I�����8"-J�Mۍ�5d��$�Ҫ%�n�������h��
���9>kK���Ȩ
�b�蔅1�BX��z���O��5xFC
--��T.�盭
8y�<�(Pr%��Yn�l7`�a�y��A��z�Am���i���JN��T�`�G��}�MҦ��
���Rɸ*8��6HtRsյ�:�懽e��J��>���ҵ�n�=t�x�bBÚ��߇�ؓ���d����L:LL�a�	��}��͑�&�V�Xo�9!�ݙ�7�u��=&na7U�U�c�\7�.�m��!�=�?�ƑG[����~�<j�h
-��(�I
d�k���X���ui�`%� +r{k����V�Ŕ�]���H�
"���� �2�2��� *�zԅ5�gu��$��8��
��!ҦC�  ��0u��+y�I�8у\�� �	
Q�Cǹ:.6UJv'2�
��ejk���lj���TI�����DA����PQ&����(M��H��P+},!	t�TN��P� T�^�&�ٳW_�|��

��-�w�H~t(Q"�u��
��i�vi�?�f}
6R�ϭ��G�6p+;�Z+���'	m�"�B�� ��C��q��e�����Ӳ2��Y�[�\m~ �붳�s#��mz�Ѧ���k���M������2�?�Ÿqڵ��?|
-(		N��Y���o},��m9hr�'�*�jR��fT�K;/��_�T�Ɯ�6֏QU6�j~~��mY��D��d��RJ���o�Y�6�˲��>b���֛�tzww��m�d�P���M:}���S*$���
-��Y�dU��Ez(�� ����
-endstream
-endobj
-6036 0 obj <<
-/Type /Page
-/Contents 6037 0 R
-/Resources 6035 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6015 0 R
-/Annots [ 6034 0 R ]
->> endobj
-6034 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6038 0 obj <<
-/D [6036 0 R /XYZ 90 757.935 null]
->> endobj
-5610 0 obj <<
-/D [6036 0 R /XYZ 90 656.296 null]
->> endobj
-6039 0 obj <<
-/D [6036 0 R /XYZ 90 642.257 null]
->> endobj
-5611 0 obj <<
-/D [6036 0 R /XYZ 90 472.264 null]
->> endobj
-6040 0 obj <<
-/D [6036 0 R /XYZ 90 458.225 null]
->> endobj
-5612 0 obj <<
-/D [6036 0 R /XYZ 90 288.232 null]
->> endobj
-6041 0 obj <<
-/D [6036 0 R /XYZ 90 274.193 null]
->> endobj
-5613 0 obj <<
-/D [6036 0 R /XYZ 90 89.441 null]
->> endobj
-6035 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6045 0 obj <<
-/Length 1531      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~����&3CR$%ۀ�h�t햭
��-
Efla�M����P"eIV�d���$Z&��|ߡ��q��j�l9�x)<'D���Y�:!v|A��Y��.!����`���9�nTe��zN�[���\W��MrSE����U���
ʱ�<��]�.oe5'�+�X�$��R�矖�g/���gl�its�
w�l��v�������]�+s��:�f���Y?����=?E�)�X�D�1�q��j����c�J沊TQ��
j%�v�7ڳ��!��
Q.��ƚF�jS�;�{
1�m��l�[0"Pg~����!��$�߁`�ܗi'�S{���y
}$(k>�%�ڤ+j��v��!�7�-��Y����1�����6�Sil]n��D�oe�(c���2��r�d2��"*�v:�6�JE{�Q
-�#���4SQ&������AzI�|
��œ��wn��ÁMv���v�4��1�y���y�y��N��DzT�':

˯V�0I>g��
��
Q��A�Թ�
�����S�ޙ'�?&0�y�j2+ա]��^ߙ�ۨ��>�"�U=����Ek�����Ne�Qە�*(�3��
Q�?��i�3�<A�|���6�'Z;�
5�9�.�V��m�E�$ۙXFi�"��7
�@���,@$��`����k��
����I�e
^h
��� �
��IA���C���U^�Ԅ܅�)b#�P��e�a
-��� �AP@��7�=�:�T�O�J�:���W�~\�j���_�
-�W6��HE�ZU�X�*Y�V��%�I����>�A�<��en<�#[W��E��U���ɸМj�G��y�!WQ�� �`��V#̈�I�����x��W�U���*`U�)%o�fK�~�c�x��џ�J_鯡?H��?�Y���n�7���Ƴ�~?��C�c5u(eH�1߽ʕ�YA�5�N�Lj��6��|��Xfw<���
�ke����OXA�J���
�q�/�{���|�� x���05O���pSh]�)A
��f
-	^@��>Q�U{>u
w&T0�|ѩ�a�G���y�z����7/��Z���`N
-�cF2Q
q�\xX���pz�gd1 at f�"��qS쇣�o �X�F����Ű�"�Q���(�j
��-��mc=YQ�M%0sR�ا������n-{������?8y���NA�B�w
-�4��(F���Pk2��xF�
�-�!����a��{���h�eɨ�2exz���&/*�ј>�tS@�m
��j��c��3/� ��'�Ά������s,|X�vJ�_������D�t�q���~a�M�뵛���"v��yb�x<ʎ�:�s-����t���\��YF�2�,��<1��֧�.*�o�"@!	
����4	>	�0_��&y��Q]k�4����|۟���Բ�vιk��m��l�iF��Etw/�4�i�77�wR'[��r���Y����$�HᎽ�J��www(��.O�
-%�,Ӌ�b�I��;!��җA���$��"5� ��ұ
-endstream
-endobj
-6044 0 obj <<
-/Type /Page
-/Contents 6045 0 R
-/Resources 6043 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6015 0 R
-/Annots [ 6042 0 R ]
->> endobj
-6042 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6046 0 obj <<
-/D [6044 0 R /XYZ 90 757.935 null]
->> endobj
-6047 0 obj <<
-/D [6044 0 R /XYZ 90 733.028 null]
->> endobj
-5614 0 obj <<
-/D [6044 0 R /XYZ 90 558.496 null]
->> endobj
-6048 0 obj <<
-/D [6044 0 R /XYZ 90 543.926 null]
->> endobj
-5615 0 obj <<
-/D [6044 0 R /XYZ 90 347.949 null]
->> endobj
-6049 0 obj <<
-/D [6044 0 R /XYZ 90 333.378 null]
->> endobj
-5616 0 obj <<
-/D [6044 0 R /XYZ 90 133.546 null]
->> endobj
-6043 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F11 418 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6053 0 obj <<
-/Length 1915      
-/Filter /FlateDecode
->>
-stream
-x��Y�o�6��B�6�R"));�&=��]���V���Ȍ-T���I��=^:
�Ͳt�}�I���ݿG	;k;�''���3�9!
-�˝ťb��1�8���nJr�lN0�ӳ�Ө̢�����"�وU-_&eT�
?/��l�2<=M�����ĥ(g$��<��{�O]��>,^L�.&�&d�Qg3�
s�l��vV�����
�JQeu=�O��ɯ|P�C���
�E�ѥ�6�j!�8zFHok@�<y�����0ih	ꛭȣ
T�@�7#
Ct2�?�0$�$�w����<�=f8.��ӓ'��M�
�ͥ
�!=��P�1}�0`ߙ�UC���z����!R�-��j��
��x4�3��i��I}�ԑv�q�Q�y1n7�� m�[��`(�᭔�y�<}�����?~Z�
�x�ܒ�s�K0]ຖ�]��I.@=��m��I�A�c�o|�ȃ����T�?i�te.��6��6���E��+����˙˦��:E�J�烈�(���F���<�&�F�I]��Z�r��bC�J2�WI��'J�>�ɓs��v�B�>�U�:m����
ѶqR�e�CQF��4N���q��"Y	#��-/;��C���  [...]
S
-�Ä�}���Fܨ��$J��&�Ӧ��K����Y�z��6U�r6=�^��Tu�P��O�c��!���o�.���v*�u�Y��,�CV�r}��ZY����� �/��1J�j0�S�6R|<�B�����@K[/B���Yt�dM�'Q�j9�On�5W�6w1E�4�J;n�2��r:�BM����xN�
 =D�O�����>��;�R2�^�N=��R��q
��<J��~�sMoX��b>G�C�=�O}v�aD�/t0=�HO@����ƀ��C=��]�
��u,���?
��� ��
0�A��\솈�B���m��Ev���Y�0�!{HM�òMk��
L���oH��t�S�>��v���~x|���@=,uP?ء�~�{������"���ၰ_��^��P���L�����f���
���[���n���n�|�n@]�����"J�/^���\�}%�Z�Y��	Z/
-y���L`��6�H���1����J�"[�*f���B�^����P�ڮ�,�bZz/�
L�Q�=���k��v�#Sr��e
G��"j
L\�,�,�-��� ��l��ܦ����^�D��JD�o�[Q�gQ��k6�J=5�6
-��0Do�
-��
��oDn�Z)�V�:I���K��kb��'����
%���}*��g�E6��?<�h��α���K�����GW� �@�鍦*ra�5�)`�1v��Q*M���љy�P��
� 	��(;tP�a{Uq�l�+�wZI 5��۷$��PO��ܶV@�Ԕ�����Z2�v,+W�D
5���MXӱ	�~l�C���Sc�d�
��
Ҙ#:�B�jM
cc*A#
.�n%��b
@�#a�w �q@�+8`F�0$ӖSg#�.+
M�K�T'��R\�֌�<��L�U#�Ɣ�MZ�
)�I�^�� ��]��{l�B�;+VM|�C��'Q+��r4���Ȼ4��a߭uH���m��&{o��N��Ý����ڭ��}Zxpst�~��ڥE��C��裂t+�m�U�Q6q]�[��ue7�L4� z?5;w�ݯ:<P���QG}��dS
-�
�1��-��
��I��>�Lm#����ғ7�(��Ai3������dwe��
\���
ٕ��9�(�5�����մt��G
n_�l�z{|ttuu��
-���%J��6=���
h���ɥ�A�!����v�}��	��%�
-endstream
-endobj
-6052 0 obj <<
-/Type /Page
-/Contents 6053 0 R
-/Resources 6051 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6058 0 R
-/Annots [ 6050 0 R ]
->> endobj
-6050 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6054 0 obj <<
-/D [6052 0 R /XYZ 90 757.935 null]
->> endobj
-6055 0 obj <<
-/D [6052 0 R /XYZ 90 733.028 null]
->> endobj
-5617 0 obj <<
-/D [6052 0 R /XYZ 90 538.7 null]
->> endobj
-6056 0 obj <<
-/D [6052 0 R /XYZ 90 524.13 null]
->> endobj
-5618 0 obj <<
-/D [6052 0 R /XYZ 90 308.228 null]
->> endobj
-6057 0 obj <<
-/D [6052 0 R /XYZ 90 293.657 null]
->> endobj
-6051 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6063 0 obj <<
-/Length 2356      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�8~ϯ�Ӭ
�
/")fчm����tg��:�!۴-T�4��$���P�nm'�>�aKyx��\>�� �^�^]�,PH	*��M�p A���v
|
-	A���c
~�
&�>Y|�Q
��N��d�!]VI�ps�J׳9�8|�%um�]�H
�|�A�`D���������^�yE@
�vn.�d<X�>}���
0b*��^� �
~�෫]a�|r=�BG���5��_�I���i�8�r�V�#�U0'�ĹQ7뛛L��f��UUTA�o9
	�
Q)�K;�vW3�û|6g��������i�P��J۶u��y
��/��L+��Q��/�{�i�%(�����
z][�nn��t���$ˬ�zm���Q�ln�	�H�x� ��
�2�F"Ebȑ���4�E8��d�z�T�Hk��@ ��k�/�a�1q1�"�#�*�&Isg�In |�/MQY�MW �k*J�f_�|]#
�ED��%����N�ޗYҸ�U�@v��7��s�_�]��.���=*�y�+�$@ϯ麛��kSt[��[۴�ͮp�z<�HILZlb$ q��v
��.���0Z{Y�_��
��Һ� ?累P�ts�:��e�ܣ�}s���Y�^5��_��(+�~���m�*]V��Ӯa�p�we�m'�zQ`N�eQd��^�=4� ����0"�HMu�> cŤ�n:�whyg��橸�]���J��x7�����͓04덅p �c��Ydŝ��,}f���5p@�q����o!���`�Pԥ�ׅ�l�U
-��F�N��/�'��
-"��A�����@����GZ
�X�
�J8��
S���q�$��VE�^��n��]��f�/�H�}����B����Ί�
$��f�(R���g�J�Y��kMk;M^4v�v�[���MU���R��7<�}c8����i1�&Os�u'�Z�
�M��^wR(��2������Kg,
�L���!"$I?�Z�g�[wp�^�2�y�ԹP�{	��=�/@�~W�'��^������]ǚ	�#zy���*��8�6��3��w�O|9�Q�&�[��
�l{kY at z��0&!�:{q���4t��y{�tbό�
x�m 6��cl�n�KW
1"/'c(����FY��v�#q�|��'�����B*m��(��
���xfR�VW�q
!_�y0�^���<o�r�PV;�)����"!�
G�U���6
-l�deN(
U$C����_���#
�x�ﵕ�Fw&;��z40ϖ7B���]��~��pF��Us�d��#�L�[+�HC�s֚�%�����
-s���BĐ��tZ�W̱
u,�R��9�9�·S������y�"��]b�ޖ[Y��ª�*���	Cۦ=��[ۏ'f�#�(ڟ��i~���sI+5vbuq�&�t:D�?�
�W��#���I<ځWyf�
}a
ى�C��yp@��>i�A��T
)?�dj��U�
��������4�4�3#'X��f,4��Xh|���#�f�i:�Vz���S,4Y��I�Xh�*��B� �
u,�QPq������_���B̤�\��b8��O�2P��4:U�D;JO�as����8y6MҰ� ��1����L�����
���e��a�&��U*�[*
PsCx��F�D�")L�	h{gzt��餻��켻=���<�p��Xs�x�!�Ys`��3��,��9WE
�9����q�
o�l�:
eJ!�~���Fj+²��r�њ`��c��R>�}�6������;_�������� (��
-�ǣ 

���}����?~x����{��
�H��-'�8�!c�?��2.�|�r�
�gp���f��	87�w�+d���O�ۚ����]

H�ٶ��f�w��v
��-����%��
�:��C�ž[���"wu�W���]��|~Ӧf���b��i�m�HbjtR<#TP�����3��i�g
-ӈ51C>h
O�?���
4-���6��M�CO at r�d�=��8
0�]��l�c������x�vӨf;��I?ʚ_tT��	iy-m�/�G%�Ռ�8��i�@��R�&�;
����5p�g�:c�!Œ�8U|#
�ߣ꛾��4 ���3�S�F
-�a/n��ÑSv����	H��Z�"������1�T|�Ŷ��ppFf�T�'F�W�ۊϸ
-|�d��
W�E�Vz�X�o��������?%@D��ػ>����^��l_]r�/��u���[��I~踎I֮Z5����&?��	���n�ve_���'{
0�Kb�����)o�����ЪF�<-+�6�e�]?����Ͳ�銘���]H1�Y�m�#����
-endstream
-endobj
-6062 0 obj <<
-/Type /Page
-/Contents 6063 0 R
-/Resources 6061 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6058 0 R
-/Annots [ 6059 0 R 6060 0 R ]
->> endobj
-6059 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.645 647.573 184.245 658.477]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-6060 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6064 0 obj <<
-/D [6062 0 R /XYZ 90 757.935 null]
->> endobj
-5675 0 obj <<
-/D [6062 0 R /XYZ 353.169 325.422 null]
->> endobj
-6065 0 obj <<
-/D [6062 0 R /XYZ 90 308.361 null]
->> endobj
-5676 0 obj <<
-/D [6062 0 R /XYZ 90 104.748 null]
->> endobj
-6061 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F11 418 0 R /F8 504 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6069 0 obj <<
-/Length 1485      
-/Filter /FlateDecode
->>
-stream
-x��X�n�F}�W𩕀j�w����N�\7Q�i P��bKqU���~}g/�D���@��/��ܝ�9s��,qp
�������dA�bIe0�
-b
�� AI0� JFc�1
^�
&�2�^�(
�|�P�2���feRn�ϟ��|4��IU���Օ*G$�"U`I2"��F���g��������ؽE�B&�t9x�
sx�,���Qpcg-N�σ7���N?(CX�
?E�}�3�K����j7ܾ��xr�$;��(���cv����9!G��f�7���b�X/W������!xh
SN�ui��g�1
#�0����H|�gv�""����N�zy����&o{�F
�H6��&	��yLP{�I�$8j�*�Y�:f�ze��[X�uZ�r$�s`�-�Ǟ,T�ʸ<"bhݶ�K���R�{�y�eׅ.�
��0�E��
i��R-g@[k�ɺH�Ln�N�>�}�OJ9b<�BM�̴���9�U�Z�t���4���4�u�|fZ�=������Z�벨z"��QKC��F%�%sv�A/��t��8�+����,8�l�.�����8jw�Yu�>‰��Ã�[��U�sC{�R
������JR�X8& [...]
-�O
��6�q�ͫB��-
fXm�Z-�̛E�.�Q
-CV�8�̔�If��Bk~��2Y���j�
�N69Զ7E����+hj�jZ�m�j�A�;x�{	��R��>!~_ڻ&�A�0��QLai�@�U%
�"f|�.���g�1e	䎲�}�l�ͣ���x�2ѐ�ETm#|��n\1?!O�<e(n���<QF5[��Ϻ<}LD
-]w�V�h�f��TB��D�!4� VwG� .��Mt�\`yj���Wm':Mf�,�`�(cI�����
�oRN/nW� V�εk�^�׶^aԖxel�(D���wJD7�!�yk�]V�p��}Z"�&�g�d��	����N�0~(jv�	:A�x��o� �ʅ޻��Ű�R���ư8S�K��GT
CBH#^��Yk�I�o��u�-wI�G�MH�`�%�$��W�,A�
���<�/E�����p�$
P�l��
UW�����N����~2�$�C�O�"FB���fo�7~�$���q��+U~m>�zO^&�:ɷ��s�ܶ9APCj7Ȳ7Jy'�gͯ���yI"���X���������Z٪DY}�Z�g�J�c�p�F��O�K�RV�å��{����k�
-endstream
-endobj
-6068 0 obj <<
-/Type /Page
-/Contents 6069 0 R
-/Resources 6067 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6058 0 R
-/Annots [ 6066 0 R ]
->> endobj
-6066 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6070 0 obj <<
-/D [6068 0 R /XYZ 90 757.935 null]
->> endobj
-6071 0 obj <<
-/D [6068 0 R /XYZ 90 733.028 null]
->> endobj
-6072 0 obj <<
-/D [6068 0 R /XYZ 90 659.361 null]
->> endobj
-5723 0 obj <<
-/D [6068 0 R /XYZ 90 637.05 null]
->> endobj
-6073 0 obj <<
-/D [6068 0 R /XYZ 90 637.05 null]
->> endobj
-5724 0 obj <<
-/D [6068 0 R /XYZ 243.423 584.296 null]
->> endobj
-6074 0 obj <<
-/D [6068 0 R /XYZ 90 567.796 null]
->> endobj
-5725 0 obj <<
-/D [6068 0 R /XYZ 90 479.503 null]
->> endobj
-6075 0 obj <<
-/D [6068 0 R /XYZ 90 465.16 null]
->> endobj
-5726 0 obj <<
-/D [6068 0 R /XYZ 335.617 402.488 null]
->> endobj
-6076 0 obj <<
-/D [6068 0 R /XYZ 90 385.988 null]
->> endobj
-5727 0 obj <<
-/D [6068 0 R /XYZ 90 297.695 null]
->> endobj
-6077 0 obj <<
-/D [6068 0 R /XYZ 90 283.352 null]
->> endobj
-5728 0 obj <<
-/D [6068 0 R /XYZ 90 166.456 null]
->> endobj
-6078 0 obj <<
-/D [6068 0 R /XYZ 90 152.113 null]
->> endobj
-6067 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6084 0 obj <<
-/Length 1835      
-/Filter /FlateDecode
->>
-stream
-x��ZKs�6��W��R3����$��錛�Ӄ�����H�������_1��i��X��
���
{o=�=�}=�x&��HP�]��{� �S�]���D�|A0��՜`?.���՜b?O�7jUķ/��".�//��j��
�OҸ,��Z�bN����I��S��\��=���9#`
����C2�-���7�[��/<�X$��ٵ���5�^�~�a�
�GF��
�@D֧��jW%yV^#��\<�xG�(đ� ��VDY�./�l
`�]�&�۸x�ߪ��	�x�q7�
E>0�7E>��?d6L�Z��(b���z�+잞T�,���g+��v�@�aX��
c6�
E��Sm��BY�W	�^BDI�̷��J�R����%
�0�y
�p��2�P�2�.�ӹ�:-�./���d����a
�x	�[Y/�L���S
?�������ʚ�;o&)�r �=G +�hN��"��$_��
��
$$
i�F�!�t��41a�
�3V�-���l@;��"���CԞ�4���*X
+`\
)p�2"�A�Ѡ��9��v at t�ᅵ�ȉ�iO�4/�\��o�,��|3��
ƒ��"!�U�+U틬

 64GX{5��m�B�.����"��{���Ww\ F
��:F�Vc�Wv����5�TE��&�HD�c%w�>[)��ȷN�]>'���(�lx0$�B@υ��y�|d�TՇM�����ū�Wx˸t at Um��P:?��;��q�w&e���ݾR+t��}D�(�$G��(t�oU����2a���I�5�	
X�Q����;�V��@Lz:�}�s�k�\ա��]-�f���F!��C$v�T�=�m
"h��8��'B2�'�ɠSq����i�q�<��ؾ��Xpb�Je�6ɾ����k_����;C�x�
��
FR.jkE�Z�/5��مM��/T���T
��l�9�$�hR
PP����<��l	hLp��|ب!#�6e�jg�vȨ��2t�&>
�'~c�_A�ۙ�Im�E]@��	�R����-I�R�[�����K3��l��z��
ϼ���
hy�.-dӀ�p��4/���.kJ���	PV�������x�벱
���0�0���(��l��?�:܀�&��WX�f��")Xo��f�����9�����=(�Nm ����ݻ�'a�
��s�lgx:���Mk],bC28��0��C�̟�8pkd�Ӝtk)'[�a.�V��.a,
�h�c,=����Q7�������Y��u�����Ё�x�����Սh��JD�ьW���i"!�Dy�#
�\FM*�5��:��UV������$�#�
'�O���QB
vy�5
9D.2�#�I��M �
���5���O��#�>K�ŧQjs��Y��Yڑp`��
?j�������)h {���!!��e���?2�/���#��Sz�H�?�ҟ)L���P�
\�
�~թ |>�!5�
��w��r�Ԫ�a�@ϓ4��ׯ�䭡F�ɾ��D`��Q �?;\p�9��i
IU�&�u���`~��1��D���Ǜ��M�D�%-�g%a=vO)��`�
��ͤ���h�6��^4�0���EE<?�		��{��
��^�觑�
#E��!=3�.B>R���0 �?�
��_5
�z
A��*
8
�\DH�-b~
v +
�t�v��lyp4�]�[������>����K������t�g����\��X>W��:̼Q��u'�>�Z)����^�hg��^"C�Z꾩������p@��dW�����ҋSL�H!p�u=�n��
�
�ܚVw��4}�
-endstream
-endobj
-6083 0 obj <<
-/Type /Page
-/Contents 6084 0 R
-/Resources 6082 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6058 0 R
-/Annots [ 6079 0 R 6080 0 R 6081 0 R ]
->> endobj
-6079 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [338.247 515.886 386.177 526.79]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-6080 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [338.247 231.68 386.177 242.584]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-6081 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6085 0 obj <<
-/D [6083 0 R /XYZ 90 757.935 null]
->> endobj
-5729 0 obj <<
-/D [6083 0 R /XYZ 90 694.089 null]
->> endobj
-6086 0 obj <<
-/D [6083 0 R /XYZ 90 679.519 null]
->> endobj
-5730 0 obj <<
-/D [6083 0 R /XYZ 211.842 423.995 null]
->> endobj
-6087 0 obj <<
-/D [6083 0 R /XYZ 90 409.27 null]
->> endobj
-5731 0 obj <<
-/D [6083 0 R /XYZ 216.764 121.791 null]
->> endobj
-6082 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6093 0 obj <<
-/Length 1978      
-/Filter /FlateDecode
->>
-stream
-x��ZK��6��W��@��[d�i3�
6� �I9L
�M��+K^I����)�z7��qv`N�$��`�W�Q��� o&_�On��,�HK*��U�qJ�%��2x?%Q2����nF�4�7��݌�i�<��2�
�Əy�?�޾���lN��J��p�wfe�QS�.
�$�S�����������N�R�!
-����8X��o��V����	8e�?N~��vP��=;C���1���8Ϫ��M�ƛ�w�^�
��Ңt�o��D���߶�Ң���=���y�=�"H
-
-�W��Z5k`Q�J�L�j6�N_es;5�3
3	
�`���f�
�t��t��I�!Œ5����!�H�
����^egI��P�%,} ̔
Ih�ſ0��V�jKv��0O���^���17}��D��������(po✆�es"I���Δ�<-|�B������x֤)�Zg�@U��Q�t�,M��
UoӾ�B"�xg*f
=8ҪSc
��(��4+��l��S��s!��|
�g�x�v�����lS�6I6�b���
-��c=��]�
1��2���k�+��d���:�E���n�X��qj��gu��5$Jv�Ӣ���vW�%����Q,�1�ZB�qD�����)M^�^�$`I�m�*�
nRK(o��1-��΍͌�),�
� s����8��P�
�me;׳�Z"F�5b�����:�xW���@L���BD�z�t�1yTf���ՙ�qBC'�)HF�zPC�D�@��K�f�/��щ�;���l%G����`2D��b
�Lh�/�J��� {�����"J��G�~s-�6Fݻ��#
-�
-ܹ ��l.���3�	�����W'8E����
�Nگ�OI*������C�`�[�`�����7��; ��Q`�OW6�a�]��U�
��g�2~���V;k���a�K���mb���߽���wuז
ӵ�rj!�䍬$+v�M�hS8l)"��^�X�K�&7�o��&���Ia��;��I��:��bN���f[�^�S�(�gE9�%��!�?,��1��iځE��omm�~�#�d��
��{b>tax�6�/,o /�m���il��p=�=��/�B��V�~�g�t�>2�o�Xț
��ܳ� ����]Z����8;h�-{ᚭ�v�lI9�A?�x5k͕
l�t�x%ac�y�!7R����q��J���~�S*
�qDM�B��
-f�! 
8�`M�b�sPy�Yհ�K�lg�
�0�y��ܢ-�C�J�
-�.g�B�>k�k
`����7b
-
����V�)�<*8c2��2Ԫ��,��UɞK�~����I��ꁅ�IG�Τ���oL�6�<4���^U2�ژ��0�w�
-�
~
��,�^�ra�I0�3�L�_@���v͔
�j�z6O)�|����Y]�k�k�
�Z�>��h�X�8����8y�{*�".N��d�.����/b��""�c��Oc�����+2q�����L�Dƀ42L���:�Ә����
�>�Fe���n�0fY|U�8I��
��?���rH���M~J9,����,wg�@���
r��
�/?� �:������0��ц��2�;*��O����6R��H�K���U�M�-2i[d2h�
``�:�
<� =&���/���_�
�p|��j�<�8o�%������p�~
�Gt=�9t $T�^~
-�5�� d��
�{
-d��ⴆ���{<������L-B����Q�#�}��~l
�
�4��9�#2W�4s�F����9�PpȜ�����u��(��#��,���1S
-���m*����
-t���3r��v`^R]R}ZW���#�B��O��<���mg��4�B�a��D��|}�$���3�]�T��˙�:��]�t(�]
-h{ۤ�cDm#ە����F:��4��
w��%*D�;�^�����f�ߣE�vi��Q\�l�����B8��Ȫ!��,o� ��T��3���:hZ
-endstream
-endobj
-6092 0 obj <<
-/Type /Page
-/Contents 6093 0 R
-/Resources 6091 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6058 0 R
-/Annots [ 6088 0 R 6089 0 R 6090 0 R ]
->> endobj
-6088 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.58 578.09 424.51 588.994]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-6089 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.58 300.233 424.51 311.137]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-6090 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6094 0 obj <<
-/D [6092 0 R /XYZ 90 757.935 null]
->> endobj
-6095 0 obj <<
-/D [6092 0 R /XYZ 90 733.028 null]
->> endobj
-5732 0 obj <<
-/D [6092 0 R /XYZ 211.842 489.098 null]
->> endobj
-6096 0 obj <<
-/D [6092 0 R /XYZ 90 474.634 null]
->> endobj
-5733 0 obj <<
-/D [6092 0 R /XYZ 216.764 193.824 null]
->> endobj
-6097 0 obj <<
-/D [6092 0 R /XYZ 90 177.98 null]
->> endobj
-5734 0 obj <<
-/D [6092 0 R /XYZ 90 89.441 null]
->> endobj
-6091 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6102 0 obj <<
-/Length 2342      
-/Filter /FlateDecode
->>
-stream
-x��YKs���W�HU#o��$��ڝ�We3��
&S.��$�P�������4��K�e9�%'`��/|��mgt������ﵘ�$�\��7���"͈�lv��}�3F8[,�t���yR퓇_����ig�U��s�������}��K����<�k|�`7�Z03�Ej��LϹ`�O�?�|w��
Y���UD"�f����':[���3JDlf��j?�\�o>���7�
\��@"�A�UY拥��uj���M��M��E�dE�_��*
-;u�f�&p/����>V��Q ���POH2\�;`��C�Kab"��-A�Xm?fE��~���
-��p���`�c��s�v�4��Np�H�Z�l�.O�e�?���_�J.t�,rH��f��/��z
-O��u�Z+b4?�ƈ�"qdZ�C����-93D�
�2�O����C����F�LF�,"
-,X���n ��b!��K�g뇤�
��hN��
��b���\p5,.�Brr�+��\�"���D���
�:�T_g�w
�\fEZ�I��rK&nx��@l	z1eN@@h���'M�lƆ�DD]��e�
@*���<
l��APh�C�8��ylɧ�3�~��	��#DK�9�\��`ւ�!r����d�UVl��83P2�l�
��+Z�!�7�8�]D$f�m at v.:�\a����s��8�@��̕���#I�Tc�
@1	� �����u� {Q���{�56��fg۳L9s(��v�ߔ��eӂ�7�ˬhʩ[
-^�Eoϯ�
��#�t��D3̠Zr��q��t�C�:�m�
-�o$��m��r����	I|���
����VI~����M�
nu`BK����;[��%G<�%x��t���
|䔦�K�I
QL^6)�$��m��M�[w����
-��&�W��!I-��s�*l8��:��
Xg��U��\U6r���/s�$&�ǵ�'"w)�HQ��F�K�
-  vv�Iot��[}��6�#��G�#�5�b=4
��^f��1M`'�`�1o\Ȝ+��
�D�πF�i^֣->?�u��apKy�`Ye۬xL	bh���Ǭ�!� ��ɜ���;�S̒�
r
*W�c��֏x����Z�������qL��N�u
�
��C���A|�� � ����C	n��y��$�qu���	
�����̊%�K�&K���@nݡ.����x��V�=U-�v� ���x����K���ςD���1E���L�d$�'�
9��#�
�����
[٢l���
��v���#�7���%��%(�B����e�Ί�
n�!C��.Jd�
��	y�q�<.M�����Q[=��a8�.
-�g�4��0
ʱ�ep��L�A�&F�2�@�5�����z&(T]1{̄��r
���=�[N��@!���p�)�d�5c�	�b��M|
�N�[h��i�}�M
-�c
= ��A�n.2��h�a���i~���^�G�ǝh��E���5�*~VV?�{B�j��O�݈�چYχ�7��^��bt�¶��B.������,8Th��~TB�_����{�
�{��e��߻sIt�����h��X_9���O}_�?>o!��ސueW����� I�a4�Y� �tJ�u�t��~�����N��pu��ؚ�;Ni��5߂ȟ�.fp$��'W(��G�*K0�9��c5�����v}
��b>+��yz���3�y~�h���m u[	���Q��x����D5J�f!��N�S3C�[�d��6s���}�a�
��9�4�����6���g
^�
-�-��l19���N����M��&�-�����*k��VQp4��'^�����'�����!:oG��sw�߹����Y���X���b
L����|�¿�p+��p�FC&֏��G߮�
� ���$ס�r �O��V�b<�����D�h��s΂�'*�ų�{�����};
�&���|��6��meE~����P@*ɱ��m
t9f#�ݵǬ��뽈�Ð��w�ձXNV��ޗ�̕��Ŋ[�-�c�bE
-����B½��d��3k�p�ͱ���T���3�__ڤ�x������y���U��3��KV������0
ja����hl�cm7Ǽ���s��X
ʶz.CJ\ە+��mW@�#��3�9��R?
-���J�?%�
�3&�O� ��p^j�k��l�\��ƒ[����R󀘿$�1��Z�m
���7Kw��~�m���}��O?!���2��w�4������G����CE���p�o���&I�1���/��8qw3i|�~b�� �҄
-endstream
-endobj
-6101 0 obj <<
-/Type /Page
-/Contents 6102 0 R
-/Resources 6100 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6058 0 R
-/Annots [ 6098 0 R 6099 0 R ]
->> endobj
-6098 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.525 392.731 163.126 421.797]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-6099 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6103 0 obj <<
-/D [6101 0 R /XYZ 90 757.935 null]
->> endobj
-6104 0 obj <<
-/D [6101 0 R /XYZ 90 733.028 null]
->> endobj
-5775 0 obj <<
-/D [6101 0 R /XYZ 90 635.762 null]
->> endobj
-6105 0 obj <<
-/D [6101 0 R /XYZ 90 621.192 null]
->> endobj
-5776 0 obj <<
-/D [6101 0 R /XYZ 90 338.16 null]
->> endobj
-6106 0 obj <<
-/D [6101 0 R /XYZ 90 323.59 null]
->> endobj
-5777 0 obj <<
-/D [6101 0 R /XYZ 280.943 129.745 null]
->> endobj
-6100 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F11 418 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6114 0 obj <<
-/Length 1237      
-/Filter /FlateDecode
->>
-stream
-x��X[s�F~ׯ੕f���a�����iڸ���z4X�d��
-(���sV
�e׽L�':{��w`g�`�l��b4{+����T:�����J�%�"p.DŽ J&S�1
�O
�y�/�'��hw���_��s?���gyL�T����/
-{y��:�o���M�9��N��Fo��G|���.r�pV���
-;<�`Ĕ���b�S���q���eKъ1DD�'Lj�u�<-�����*M6��c����gEio_�����9{�D�9N0����}[m�L7 �1�%��d�z��($=�L!<%�P/�$
-}e�:�A�E�r+�*�"��g�f&;{���MH�>0����1K8�\�"ejEh;\�N���l�G�kdʛ��EW�B�.�ۤ�b�E7�3��Y1{��+��!Tt�9|��SK�!+����*�z%L&
�̏�`��m����M�q�4i\��鄊�mbK�r�)b�Yr&��!?	N�;��z�e�sm�!���O�d�ƙ_�בF�R�"�]��y�eYA�:M#PM��`����q��q��q�6��Z���p��,�MXC at gaO5IRD`���I$��+�e��Ֆ7U�Ů(u|�f��1`�zH1q
-�k�o��\�U�lz���F����.�������&��!���N�
-
‚ڣk?*��PxvG�a��Yi�`EQ�Y�O�Y��H� �	���e6#�DfD��٬�l���jϹ�K�ѱn�ә]�V~��#����*_���N�}p.���q����n�^K~g�6�M#u��}�t�i^t��G���5��#��
�hL��p����X��qަt��/��"b��k������VO
�p+��k�,�w
�)A��ڍ���ޣ��1�����F1Xv�ku;ms�
ޏ���:�p
���1ĉ�<\�X����E����Rn���a���l^��:,a���	�����k�P����~Ҟ�=��
��84��$-;���0)�y����&:�#:������Y��ł2�⼁͵π�vX��^/G�'@�)�€���aI���L�/k���x��O 7��/u�o
�?�»���?����.D
}�2���
] ��V�snX����
�������B�_O`�����l��^���ɨ�y�Ď��Bi�2
�[9�����W?X&����c�i훲�����-Zh��Y��r�e��dZZ��m���
���h���x_���z��	
-endstream
-endobj
-6113 0 obj <<
-/Type /Page
-/Contents 6114 0 R
-/Resources 6112 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6120 0 R
-/Annots [ 6107 0 R 6108 0 R 6109 0 R 6110 0 R 6111 0 R ]
->> endobj
-6107 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 461.569 138.508 472.448]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000012) >>
->> endobj
-6108 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 441.479 314.566 472.448]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-6109 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 117.842 138.508 128.721]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000013) >>
->> endobj
-6110 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 97.752 314.566 128.721]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-6111 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6115 0 obj <<
-/D [6113 0 R /XYZ 90 757.935 null]
->> endobj
-6116 0 obj <<
-/D [6113 0 R /XYZ 90 733.028 null]
->> endobj
-1250 0 obj <<
-/D [6113 0 R /XYZ 90 637.074 null]
->> endobj
-6117 0 obj <<
-/D [6113 0 R /XYZ 90 622.622 null]
->> endobj
-5778 0 obj <<
-/D [6113 0 R /XYZ 90 433.168 null]
->> endobj
-6118 0 obj <<
-/D [6113 0 R /XYZ 90 418.716 null]
->> endobj
-1251 0 obj <<
-/D [6113 0 R /XYZ 90 305.302 null]
->> endobj
-6119 0 obj <<
-/D [6113 0 R /XYZ 90 290.85 null]
->> endobj
-5779 0 obj <<
-/D [6113 0 R /XYZ 90 89.441 null]
->> endobj
-6112 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6126 0 obj <<
-/Length 1360      
-/Filter /FlateDecode
->>
-stream
-x��XK��F��WpJ���A7��f����5�q��de�@ۃ������S

�g�d�Q��l�����U��X�z7�r9����/���k�ǖ+�X�к�	A�Lgcl�L	�e���͔b;��*�����!��a�x�G�tF9�_Dz(꿷j��)�l�
-4	F�M�~X���YN~��[�z7w�˸$���
-�����=k_I%�C������	~����b��ƙ�ڙ���ȵ�B��*��M���h	��
�aQ֪^��Ww��TI}���w���
#�5�|nl
6E-��0D=�D�]��t���F�>J�(UjA�;��D0���HP���&W��	���ǡ�������cs�q����1�
����Z�z�P�
0�ȔY-B{�cD
r
 f#/s��2�c4�.�|�
-�����|F1E>�]�K8~��)��R�Ţ�ਨ�a�!�na�z��<�3D�hs	�T�(5�)�0�
Y���Q
��
�0T�2���M�v}�
n��a9��ĉa.�A��ļ�=P�2
^�����xC
;�
2�•�7�D��S��9Ic��1Ϧ���Ԁb,h�E�Y@�[!��c�s�
 �Z=�)�0�
��,J�,��2z������f��n�n)>�[�0��o��
�X
ȷҤٷC�3m�X�:E>��C.'��������}aؕ��<z�	c0�^���JOk���枆!a.b�y~$�
���H��S�-��k
���H�8��u_�َ�6c��uU�	���@��C��\S�S*=î�E���6��"W��k�uL
q���k���@�� p?O�:�i�n��M�����,�uɸ�
S�.��]_��di�
�C�
�y�!ەc�(����[b�m�7� �Q�w��1�ϕ���Hin������������0�1X)X�I4h)�Z�A�*J�;=
�!�+�9�����!��P���EcJ�
v�T�*��(��PF�q�izc{ș��;
�_j��{�d!P��=�*�\D��x�:W�ї�	�����D�i&_4�
�����\��|��
-`,�ʭ�QE'ŐL�3m{-�B�X����Mdb�)��Y�`-Z�:an�+ ��f��}�����O'���^7�\������O��u��������vd��9r��ښmL�*<���SG��)e�
�`�W����>+U����:��J�X�Ie�9��U�,���ד"
~�@�Ļ�d��<���e����}Ĺ3XPn4���o.����4�����P��S�m���d���t���U���C�
O�d�c
c\{��������ăM�(,��b>���((�.��9���v�O������*YW��dy���*_'��QҠ�
-endstream
-endobj
-6125 0 obj <<
-/Type /Page
-/Contents 6126 0 R
-/Resources 6124 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6120 0 R
-/Annots [ 6121 0 R 6122 0 R 6123 0 R ]
->> endobj
-6121 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 152.166 138.508 163.046]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000014) >>
->> endobj
-6122 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 132.077 314.566 163.046]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-6123 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6127 0 obj <<
-/D [6125 0 R /XYZ 90 757.935 null]
->> endobj
-6128 0 obj <<
-/D [6125 0 R /XYZ 90 733.028 null]
->> endobj
-5780 0 obj <<
-/D [6125 0 R /XYZ 90 592.061 null]
->> endobj
-6129 0 obj <<
-/D [6125 0 R /XYZ 90 577.49 null]
->> endobj
-1252 0 obj <<
-/D [6125 0 R /XYZ 90 373.459 null]
->> endobj
-6130 0 obj <<
-/D [6125 0 R /XYZ 90 358.888 null]
->> endobj
-1253 0 obj <<
-/D [6125 0 R /XYZ 90 123.111 null]
->> endobj
-6124 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6138 0 obj <<
-/Length 1434      
-/Filter /FlateDecode
->>
-stream
-x��Xَ�6}�W評���E)��i4���E��!K�G��h������(ْe{&	�ȋ���]�=�R��Y�z5�v5�y�2�C�K]k��<l	� N��
-�[�D�|A0���9��_$��͜b;��w*,���Ѧ��r������rl?���l/ߪ�*�D�*
��2�ڔ9���׳�ه[�E���@�q+Hf�����F̓�C3*�
��?���~��~P��ˏ�@
Qj��dY
2�H��K?
׭#�>�U��tW�ڭr��:��(��V�30k{z�����y?~�n_V*i�
���G�̐#u`����l
|$����
���0�E�Q�ȥN;�Y��Tw��8r�}�fˡ]	BO��I1j�Ԍ���N�������bbw*���V��&�g�#}�i�+TXQ��R���+�`��(�
*
�	`���[U� n��r<{`�D{}�0��ܭ�j�pF^gxdB�2!I�I�v�
��DP%y���ܾ�
'K9t����J#��x��4�8�2p�R������p鰴1�$Uؿj"J�9x%5��� ��R��n
�/Dh��ڑ.DZ<�t?�P��\C?��ʨ@\zü��+Pye��s���;�XY�w���8
-�~���V��q��wHt��)��
̧�s�\�9��"��t-MЊ��xRb��$$���"��� Kr��6���'�#W�aj~ו귌4��R8㼴P�#	�� �u�d����ľ��&��Ӎ����2�6Y]MEIR�J~5L��T���e
@q��:6f�s�
�P雗��V3�a3xV��GU�D���vAA+�džz�UL�oUG��*+�
T�~\>mR�L'��4k&��9�N��+���k�{���9���m�~��sV�NF��}��J�o�}$���_rU�UV
)�!���B7
�8��ػ����^G2�
�T>����L��F;WwG�Cs�|<`�Gr�;�y%��Á�uN;���Õ#��Fi
���Ʊ��I/5%A�A��
�d�iL6-��C
ir��?~��y �G���p��t�(�#�Ʌ<��e���Ɣ�'5���Ȱ�bQr���
Pg�+�HDtI�[����z��!r��O���"�Q�^B�DҕC-��ii���
�t��5

��#�Y�+~�1�h�U� [...]
-q���6 ќ�u_
-�
&�	�$�� -H�8
-endstream
-endobj
-6137 0 obj <<
-/Type /Page
-/Contents 6138 0 R
-/Resources 6136 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6120 0 R
-/Annots [ 6131 0 R 6132 0 R 6135 0 R ]
->> endobj
-6131 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 481.443 138.508 492.323]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000015) >>
->> endobj
-6132 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 461.354 314.566 492.323]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-6135 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6139 0 obj <<
-/D [6137 0 R /XYZ 90 757.935 null]
->> endobj
-6140 0 obj <<
-/D [6137 0 R /XYZ 90 733.028 null]
->> endobj
-5781 0 obj <<
-/D [6137 0 R /XYZ 90 453.826 null]
->> endobj
-6141 0 obj <<
-/D [6137 0 R /XYZ 90 439.514 null]
->> endobj
-1254 0 obj <<
-/D [6137 0 R /XYZ 90 287.425 null]
->> endobj
-6142 0 obj <<
-/D [6137 0 R /XYZ 90 273.113 null]
->> endobj
-6136 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6148 0 obj <<
-/Length 1327      
-/Filter /FlateDecode
->>
-stream
-x��X[s�4~ϯ�83D���%o˲�ò@i��P:�V��/¯�Ȓ��u�X��IJ|tt��'[���;^�N޺�
-P�R�Zm� [�K��ZEօM�d� c�tN�-�T�O��y��ʨ��U)��r������rl�NDU����rN|[f�M.#�M�_���ެfgl�i��
���tvq����[���v�Tj9��3��g?Ͱ���Tz�k��l�C?@;�G]D\G{��,����e�Z6V}��#-�G
��)ε�s)�ұ�E�W:"?�ԣ<��zk&�M�D�2�E
w��H��B����j`(�������f-����
e1D�I�'��\e�	���\�(Z�yVե����k�
���ձ_����������B[�#K1�J�
�	o|D� $[	؊h�AjZH9�R��WQdʱ��z��1��3���}
-|���۸��������lTݛ���&�S��@�{��)
�UM�لE�O�}��n�"R#�%3.�
��9��KL1�Tֲ���4� �}s�svlܭ���wF�n�B�+# (��}b࿯�����
�B5�#�Q�n:��� )�H�h-��F5�]^
��e��2�A�� ���Da:
1�=Gaz����Y4UN>b.������jJ�m�bp���.�,����*�o@K^�n���#����� *�S(yȱC��?��ѵ�ۆ��4�)�,7�r��T$�^�VMQ�b]m�Qw^�<�)�0���P��]>�]���U�'��⧂�R�N�,N�?��t�`��N �rd
-�@���?��9&ȧ}}^�Yg�r
-�	q��
������+���:ήG���j��	 &�N?�
��Mx8�:�k7"���"������
s��Z-�L�1�S��~��{��}�yً~F���:{�������w��+Ը&

��
��i(�?9��7qrC�&j�0�7.Sn��7	{�է�`t��[��{Ӈ�7�( w�ϐ�����>��Ş���?�[@N�]G�1��EK��Uy��t�0O :�L<G�����Ch�u��p
'���t��tK9Nwޅ���&-
9�{��
��L]�E���H̉}Lc�M=�G0����q;@VSt�WM0Ym��XZ�g��]�	�T7��M����}��#m�	\$���cƪ�Fv��$�@� o?���Į��?�����_�������m
 Ν�*e�׎���!n��s%�/�ۦ<�Y�FƊ�?)U���#�b��Հ�ᠣ=���F��K��^�{����u],ONv�

-+�dqQ��>)���fm
iQ�^ɦM��뼔
��d�
�n��O�2�
-endstream
-endobj
-6147 0 obj <<
-/Type /Page
-/Contents 6148 0 R
-/Resources 6146 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6120 0 R
-/Annots [ 6133 0 R 6134 0 R 6143 0 R 6144 0 R 6145 0 R ]
->> endobj
-6133 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 723.145 138.508 734.024]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000016) >>
->> endobj
-6134 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 703.056 314.566 734.024]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-6143 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 327.185 138.508 338.064]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000017) >>
->> endobj
-6144 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 307.095 314.566 338.064]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-6145 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6149 0 obj <<
-/D [6147 0 R /XYZ 90 757.935 null]
->> endobj
-5782 0 obj <<
-/D [6147 0 R /XYZ 90 698.311 null]
->> endobj
-6150 0 obj <<
-/D [6147 0 R /XYZ 90 684.501 null]
->> endobj
-1255 0 obj <<
-/D [6147 0 R /XYZ 90 540.762 null]
->> endobj
-6151 0 obj <<
-/D [6147 0 R /XYZ 90 526.951 null]
->> endobj
-5783 0 obj <<
-/D [6147 0 R /XYZ 90 302.351 null]
->> endobj
-6152 0 obj <<
-/D [6147 0 R /XYZ 90 288.54 null]
->> endobj
-1256 0 obj <<
-/D [6147 0 R /XYZ 90 89.441 null]
->> endobj
-6146 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F95 1788 0 R /F23 340 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6158 0 obj <<
-/Length 1467      
-/Filter /FlateDecode
->>
-stream
-x��XIs�6��W��J3�� 	��4�4��D�
܌&!�S.
-����D���N�H ��[��� �l
�|�|��ܼ��#���,׎����)q��s7%Q2����vF�T�\��(���a��B�~��
Y
�E
�����D��i~RkU�H0UY�`&�oJ�7���8y��|��;�Y���g�	����D������oz��K�'����|������!Xg��<���X�(ZG�C��h�YY2Ϊr%�h��Y���*��5�5����9~��_}>��JM����o�
~j�C)L�
Kӥ�a�(Dw���t� ��4wq�ę�b:r|�l
�)4|�Q�
xE6�Un�S
C�ǎ&`6b��D@�>�6.GV�
rq�	º)j����Z�3�Ӄ���ʪ�(�U�q��"�Ƃ�{��0�=�l�l���l6�q��[��N*� ��� [��E^@uy�0RU
��Ӭ\
G�L��$�ę��I�FLg1_���kc"��4�,9��Gݰ�ا��0���w� 
}�lY�TU��w�G<�'=��Ɉ~�tI��.�B
�{�jYEh6g`�
)�QI�ߵPa�Y��� 0 M �Ax�O�vU�g/
�8RGY� �]<}�I
�d��S]g�"8��"׵���c!t�W��c�5��GA�Po��<~���v���
��z	��Y��;Y��	|s����_I&�/X@T�J3�lX}�\�G��~����~��~
e���R��EXֻ]^T�V��aP��nK��V8�@y��ֶ?u�JC2�\����#}�rݖ7�;{�6�6��VV�J���JeԴ�T��u5J�Ц�|Z\Ă,��]��C�#�u�X
�ߔs[w�~,4�ځMRz�Ǖ1�ԃ&�D����绔k�&0R��\S�a�F�+o>=Η
�)a��vVdH��q�x.k���#�8w��o���j���~Lw��,#m�u����N�ʋ>E�hD�hi��P��t����A�2נIp�43΢�Z��j�:�3��_M��Ƿ��c�Up���f�'
_"��%"
"A���`��
��޶k��DJN
1��E'�Z���溝:j7��FwLr��>�q0$�8=�����ˮ"8�@ol�R��"oLptx��u��X�É�^-���^��
V&���
����T�Y{
4��А��x%+���`��
a+~
�*�L=��'t����.�;N�pR;�h�;O����
P@�kQ���

'�|�
#sm�"N��֜v)�;S��۵8�|F��c5/�����!1T4�`5��a��z(������1�Y��$��b��PSt:��B�
Ĺ; ɭۚ��cKz��2�y��/��q>�p�Efu#ϡ�	�AO(��&FTs�=�u���o�m�d�L������$Ƕ�v����~���Y�+P\��v��c����M�nN�� oSg�2m4�����Z�
-endstream
-endobj
-6157 0 obj <<
-/Type /Page
-/Contents 6158 0 R
-/Resources 6156 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6120 0 R
-/Annots [ 6153 0 R 6154 0 R 6155 0 R ]
->> endobj
-6153 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 462.296 138.508 473.175]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000018) >>
->> endobj
-6154 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 442.207 314.566 473.175]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-6155 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6159 0 obj <<
-/D [6157 0 R /XYZ 90 757.935 null]
->> endobj
-6160 0 obj <<
-/D [6157 0 R /XYZ 90 733.028 null]
->> endobj
-5784 0 obj <<
-/D [6157 0 R /XYZ 90 433.24 null]
->> endobj
-6161 0 obj <<
-/D [6157 0 R /XYZ 90 418.67 null]
->> endobj
-5829 0 obj <<
-/D [6157 0 R /XYZ 90 272.198 null]
->> endobj
-6162 0 obj <<
-/D [6157 0 R /XYZ 90 257.628 null]
->> endobj
-5830 0 obj <<
-/D [6157 0 R /XYZ 90 111.155 null]
->> endobj
-6156 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6166 0 obj <<
-/Length 1465      
-/Filter /FlateDecode
->>
-stream
-x��ݯ�6���+�4|�;6o[�V�V�[���V�71
��2��
���C�N��'q���;>��Y��׽�ƽ�W�
-)AE0�
-� �S���c�D�`H0��w���X�ɻ��|����Г_��B���u�&�!��b���
7SS
��,6��`D�)���oz/ǽ/=���{�E����3x�&��)l�Y� �
���}�
>�e
~�b�5�|���V^&��T��
�0���l�j>��
-�f�]H�?a��gn���Q�;���+�D
	G�+P��4vSZڄ�i]O�-������aH�C������4��]�|euݺ�|���4�w;1%%�#�#I[RH
-�L�r�h�M���C�G!���aֱo���,:Oˎ��ي4sP
\Mt
sHxv"Hq> ��T�(G�����F$����$œ
�����
-��7"�;,^߯K� ���g�ԿJ�+��?Й��/k�H��@���o6�b�F�~�t��IΚ�JDȑ�^��U�����G�(+H�4�� p2��l�4.؞4G���V����y:���"&�AE.� ��&�,�J
-�dt}N�»!IA��9L�8_�t�>.
��~�Ey� � �m���E��J�����
i����0y�-+�t:v⎡������%�J^�
��&	>�v�3��3��
�En�C ѡ��#�?	v�#��R�0D��'�{q����zM�0���_�Qw�*�]���:r'���Aݓy��;��7����-d��N'�d���d��U^����uj������f�=07�Ɯ��
-��z���L��0w��y�E�X�3�m(�ۧ<�I#���yW�L�4
�s��0�'
g�h(��@�
-8W^�ٞ�':�k�����*�$��ɕNa�
-�
�Q�$���K;#���#D‹	���c��Ƕs�a?/�$ѭ a�����uk���
-��[ ���Rm�ZK��]],���x��ǹ���I�o�
m�Y��s���
c:�
�0�V��b�;�#uK�s��x/LG�X�������ू�(
��

�P��d�DŻ���P!a7��Y�l�Y]��
���
��Y����j|�SC5V�.P
T	�*��g����2d��7��Ro��&
ޯ��B�Ð��ȥϨv��|\�k��3���.��=�E�.�s�4���&��!��!�y�غ�.���v����<��?z�-u�G�1_w�<���K&brg���ٸ\DZ)��z�E,��Xe����ea�u�?�k�����x�A]Љ��	���U=5
�@���?�;���9��@H�Vy����`�L$s�p�7<��;������)���WXw�4�����&ou���dn��W�@�9
bD0���y0�7�+�4�3hF��j���%2B
��7�����a�٠�D�,](�
V���iP
�bσ�E�
�����

.�u�����
-��
-endstream
-endobj
-6165 0 obj <<
-/Type /Page
-/Contents 6166 0 R
-/Resources 6164 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6120 0 R
-/Annots [ 6163 0 R ]
->> endobj
-6163 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6167 0 obj <<
-/D [6165 0 R /XYZ 90 757.935 null]
->> endobj
-6168 0 obj <<
-/D [6165 0 R /XYZ 90 733.028 null]
->> endobj
-5831 0 obj <<
-/D [6165 0 R /XYZ 90 603.144 null]
->> endobj
-6169 0 obj <<
-/D [6165 0 R /XYZ 90 589.239 null]
->> endobj
-5832 0 obj <<
-/D [6165 0 R /XYZ 90 453.85 null]
->> endobj
-6170 0 obj <<
-/D [6165 0 R /XYZ 90 439.945 null]
->> endobj
-5833 0 obj <<
-/D [6165 0 R /XYZ 90 292.601 null]
->> endobj
-6171 0 obj <<
-/D [6165 0 R /XYZ 90 278.695 null]
->> endobj
-1257 0 obj <<
-/D [6165 0 R /XYZ 90 89.441 null]
->> endobj
-6164 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6180 0 obj <<
-/Length 1596      
-/Filter /FlateDecode
->>
-stream
-x��Xے�6}�W��U�F�o���V6�ͮ�<l�\�m*�x&��O
	l0c�3N�RyB�.ݧ��������7�/����
sx�s�k'����)q���qJ�d6'���SY�r�nF�4O
�**��������b񦌣ٜr<}�Ȫ2��j��S��
-f�񦔉٧��ɫ���	[�C����|Ɲ0�|�����u0b�p�^��R���0�q�O�A�
?�1ĸu�6�hW<ͯ�BF�j��Fe��u^V+�E�4��4�S��~�
�yV��A����[3�L�7��Շ��V���3���u�� D �r����L���	�=`qb�p|�gN��� ��G]��E�I��BC�`��y�[e{��{�Ysz&3���M�C\亝�u>X�:@�5b�6|o楇P����=��X�@�n�m<f!�N����,Y�h��f`m��]R�&��|
�hN	ׅAXP3�{U�0�4���=D�q �s;v-�J���(b~�
[� K-jYb��Gݰ?-�*-ꇙǧ����)�w�֔LU�ʁ�y�s~��9��#���/�qV���z+���q��֭�
%�,T��J`$�ճ�tL�����W����<�0 �����
-���;� ��r�KUV��S�Q@[���2�Q>��fsF���c�\�|������օ0BY>�B�f,��B(Kel�bp�@�q�i!��6Q��Ӽԝh��&��/�^��^Ք��]���#^������;b
�+�,�rF����y��֝���]w�,�8�+4HK�
-ʍ��� U� ˿R����U�H��=I�J١C#����/����j�u���i�(]R��#���A:��>v��A�=�{�@�x=i#`g�@�X�
�D��9����d�Tڀ;K�J���a� xL�\�^�\�Χ=��x�\_��K��	���0!�&�ra�<J��Ti�h\��H]׃DO�!�e�b� ��EE�)��?{E�ʇ���
-u�5�sF�`]����
YC��jH0&kl
����\C�xMٞ�5p���
���m���9�$��
�8����K��'k�8,&
]��hɪڥ��O�ݪyh��~���Rٖ��s2�w����6
�!�D�Ԯhׯva��j�K���y*�s����,5�ځ
��
��'�9҈<���틼J�U˙��j�>}t��4����
-��g�k�(�
-�;
e��e=QD��֧�#��E�ϳ���XB��� ��֥�
�ʱͰ�PqN1
�WA/�vw���0C#�h at t��I�Ee
�DC{֦���
���I��%�H�����zk< )P������YR�+���yk��t��#��i죀�y�R�)'�d��jal�i��5�8��HP�_��=�?��p�MIb�,�C�
-�"w�	�~�넄�Row9sPSg�衎Ǟ/
�\����	�s�=~ޖ�
/Z��^�r��
^�{��O��on�a-
aP��v�p�wY�N3��j��r�y��m^~�T������;��d�g�;=�IF ��kE�~�3��洭o�Iio/>b���m]�����{Vh��E����(���:�D��M�n�i��8��i��G��D�y�
-endstream
-endobj
-6179 0 obj <<
-/Type /Page
-/Contents 6180 0 R
-/Resources 6178 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6185 0 R
-/Annots [ 6172 0 R 6173 0 R 6174 0 R 6175 0 R 6176 0 R 6177 0 R ]
->> endobj
-6172 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 538.126 138.508 549.005]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000019) >>
->> endobj
-6173 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 518.036 314.566 549.005]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-6174 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 258.445 138.508 269.324]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000020) >>
->> endobj
-6175 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 238.356 314.566 269.324]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-6176 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.4 183.964 212.124 194.868]
-/Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-6177 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6181 0 obj <<
-/D [6179 0 R /XYZ 90 757.935 null]
->> endobj
-6182 0 obj <<
-/D [6179 0 R /XYZ 90 733.028 null]
->> endobj
-1258 0 obj <<
-/D [6179 0 R /XYZ 90 513.637 null]
->> endobj
-6183 0 obj <<
-/D [6179 0 R /XYZ 90 499.889 null]
->> endobj
-5834 0 obj <<
-/D [6179 0 R /XYZ 90 233.957 null]
->> endobj
-6184 0 obj <<
-/D [6179 0 R /XYZ 90 220.209 null]
->> endobj
-5835 0 obj <<
-/D [6179 0 R /XYZ 90 89.441 null]
->> endobj
-6178 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6193 0 obj <<
-/Length 1349      
-/Filter /FlateDecode
->>
-stream
-x��X�r�6}�W�%g" 	��[�&��7�v��d4��hy+IYU��
�wQ�{z��@\��svIl�Z�:�}s5;y绖@§�uuc	lq� F�u���mB%Μ`��s�`;��pq�Pl���N��p�Z�a�;==��ڙS��7QXfy!od����J�%�%�M]�|�z?{{5�cF�l��ٌ#�2kϮ?ak
��-�\X��Tlyԅ�Ⱥ��2�G�.�>�Ł\�u0�:�T��y\h���d�&E��*��a�#f��2f>8��.#Y,.e������`=]A�=p��LK���ּ�o^
VG�{�\����@��=p��C
���Ss‘O=s�Mg�RB�|L��NV�19�o��\�ͬk8@�C���T���G��*,U����|T'���h�O�1Ă��ح����!��;ULCa�[���3���t*o˴
��(d�4�U�E����*�I�.Q��
�X@a���
��P�X4�^� o�m��[sY���&*��tW�!�s�V	ҜA���JnN1EPE�j�V3)�e)��tp{gf@T8��3�Gw��������UZ�k�й�6L����utX�ݪ(2�e}t��qD�{���Ɵ��d�I�x�����T��
-#�^���(���
(y�Pfo��������<���C%�#���Ta��">W h��n�N��
{�*M�-�3~\��!��ݱU����
���� �H\!��)�*�*����|H�\���ar�Պ� C� ��F%���쑍J%�}4��0�b��5,}�u��
�C��� vAx���M��a��A�y]yU
Q4�C4xE�rĽ��M�;�Z��w�C��3���"L�v���G�� ���3C.
��E䙤��i-������ ��R!��]d�i�t��"s��;���5ݗi
-��e�����JT��r�-��
��eE}����B�x4%�Ըx�
��/*��*�כա��
��B��\��c�{[KDoz�	�BN���yK"Ue|�ZA8<���\d��;�g� �m
�!�E�)�A;������������x o��W� O$�R
� �����SZʦG��]�ER�7
����ϙ��2͋�z`��	�x�y������2�@���3�U�{x�(`��ϒ}��
��U$��
-���Ocv�
(�����A*����0�/����'�
-<��g��<�!�nP�d1�>}��έ���l��\ւa.~-d��Ø]���0لQ'���H��a!ՄG0K�$uk"��jVߛi��
������2;=9�n�hU�M��
��$ˢ��
-�Y!
�ҍ����o���T�q%�{��
4Խ�
-endstream
-endobj
-6192 0 obj <<
-/Type /Page
-/Contents 6193 0 R
-/Resources 6191 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6185 0 R
-/Annots [ 6186 0 R 6187 0 R 6188 0 R 6189 0 R 6190 0 R ]
->> endobj
-6186 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.573 690.333 216.297 701.237]
-/Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-6187 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.024 589.072 483.212 620.041]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6188 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 285.174 138.508 296.053]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000021) >>
->> endobj
-6189 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 265.084 314.566 296.053]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-6190 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6194 0 obj <<
-/D [6192 0 R /XYZ 90 757.935 null]
->> endobj
-6195 0 obj <<
-/D [6192 0 R /XYZ 90 733.028 null]
->> endobj
-5836 0 obj <<
-/D [6192 0 R /XYZ 90 568.997 null]
->> endobj
-6196 0 obj <<
-/D [6192 0 R /XYZ 90 554.427 null]
->> endobj
-1259 0 obj <<
-/D [6192 0 R /XYZ 90 462.764 null]
->> endobj
-6197 0 obj <<
-/D [6192 0 R /XYZ 90 448.194 null]
->> endobj
-5837 0 obj <<
-/D [6192 0 R /XYZ 90 256.118 null]
->> endobj
-6198 0 obj <<
-/D [6192 0 R /XYZ 90 241.547 null]
->> endobj
-1307 0 obj <<
-/D [6192 0 R /XYZ 90 150.732 null]
->> endobj
-6191 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6207 0 obj <<
-/Length 1460      
-/Filter /FlateDecode
->>
-stream
-x��X[��6~����3�Vwо�m�IzK�)�xX[�2�V�����
�0��^����!O$���;��������瓫�y
-)I�7_{
-{�$HP��W�{�D�tF0���)�~T���͔b?O��zUF�_�2*���/�x5�Q��������^�rJB_gK
�$#ҧ
O?�_O��'�N�=��-0�-����[���
FL�ޮY�z�2x&޻ɟ|�������Θ�<O`H~�]��ۢ���&�f�Xo�E�4��4�O;ac��yV��>P�"%�������^(q�3c(��q�ڽ]ѳ�#k}� v"v��Gkf,D$��q�$�v�F_���hO4G4<����_��W!mט۸ٟJ�1�i�i�#�I3l
i��7�0_�h�B�
�ȓ�����!�A0�O�@�[�ջԫ�2�6η������AM��i:��R�$���ʊ}���E�Yu=���-��@�C�������#j3�X�z�k�at�|���X�&]��0���i�A8
��=�_����дN�3QuT��8�r��EI
�Xn����@���
-�FY4�-�)�.;=R�2I���
�� F���*�+p�,ΖyZD&�I4����r�0��H�
2�ŸuaA{�z X=G��Nk��P�}c�3k���m*�UZ$��oT��)��� <�L^V==A4��5.�{31��=�^{�!�����>Z+�k
ͫk!
m�D�z���z�pH�� ���W��(q�A��0l��q<�N^�K�
-
��eA�l�	l�5x:��k�>+k�
�^9'�#��-�O���[���֊�n�f�eh���r����%�9�A݇���)�>#iA���4�c�0
 VB�o��e!�cܦ( �>d��]
_yK;��U�>"�Ϭ�c��G�ĈJ��Vr�1�8�x���x
�'���2�)	~l>���0�b�|U����M։ �y��1o��
-���
hfo��i�uK+���~��{��ݴi�Wi�$�ɾ�^��&��X��kAIb�O�y���~\�yjG�vr����Fp�:=�̮0�σ�˰a�
:?t�>d���Y��V��~�� uN�{��'�=��>a��X`���I��Ay�ː=
td�x�*��fV��S�w����,�@�� 0�SX3
-��C��2�����w�������n��{ҡ	�._�@Y���i�Hm at G�D�8�cA{��Q�Q�3��L(DhK
���PS�Xx8=�"���yHc�9�|�#�/�>�9.��N�	���C���L��y�o�=쳳yi���ѵq
����<��E��V����ܛ��l���,t7��wB�������Z�ڂ�}u�k_���~*���(�FI�S�jQ���̅BBZ�$L�n(�e�x��{���K��1|ϭ1����n�C�
-m��(Ql��"��8��@��sw�����cڀ�G�����(
-endstream
-endobj
-6206 0 obj <<
-/Type /Page
-/Contents 6207 0 R
-/Resources 6205 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6185 0 R
-/Annots [ 6199 0 R 6200 0 R 6201 0 R 6202 0 R 6204 0 R ]
->> endobj
-6199 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 575.512 138.508 586.391]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000022) >>
->> endobj
-6200 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 555.423 314.566 586.391]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-6201 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.334 368.402 240.823 379.306]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Difference) >>
->> endobj
-6202 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.275 221.481 293.971 232.385]
-/Subtype /Link
-/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
->> endobj
-6204 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6208 0 obj <<
-/D [6206 0 R /XYZ 90 757.935 null]
->> endobj
-6209 0 obj <<
-/D [6206 0 R /XYZ 90 733.028 null]
->> endobj
-5838 0 obj <<
-/D [6206 0 R /XYZ 90 546.456 null]
->> endobj
-6210 0 obj <<
-/D [6206 0 R /XYZ 90 531.886 null]
->> endobj
-5839 0 obj <<
-/D [6206 0 R /XYZ 90 419.217 null]
->> endobj
-6211 0 obj <<
-/D [6206 0 R /XYZ 90 404.647 null]
->> endobj
-5840 0 obj <<
-/D [6206 0 R /XYZ 90 284.252 null]
->> endobj
-6212 0 obj <<
-/D [6206 0 R /XYZ 90 269.682 null]
->> endobj
-5841 0 obj <<
-/D [6206 0 R /XYZ 90 143 null]
->> endobj
-6205 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6218 0 obj <<
-/Length 2040      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�F~ׯ�S����/.�i�n�M�/Ia�%�H-E����=�^Eɔc���!q4s��
��U��ד�o&W?Jd$���208P� AIp�>�� J�3�1�N	�|ݾ�R
f��u�ȣ�7�]
��ׯ�d1�Q��6�~ᄒ��q>%:��y
�$#2��L��i��f��	Yp at J�B!�D0�N>�����`Č��]ۀS�����	>�eK��1ĥW�U&��
-.ǩv}
-?aL��6�F��
U�',�SC�x�mb��ՏF��a
#��إ,���m�HL����-H	6
-�Y�/
�7IG���

f��.�3P����윥��$K����GbD�x��Ԁ<QIZ	��Y\�`��iq[�QR쯯K)o
붳�9!�R5�E�f�$��lH!ִ����h�ӈ��w+�2q�eil�dH3L�$�:����k�1FX(0�B�r��%�v���f,,2w����c
�
q�����
-�:�@%�MD�Ҟ�*���̻ד�c)L��R�������;���o͖")	Y�/��.���k�tyH煋>X�F�]����g+`'K:.��(K�@&��rY�{�,��D����
����i�e���%�Rv�0 �4�
s�A}cq\���!�%�J�̇=)�uA
��B
b$Ԡ%�����E۸���u�|C���)l���T�
Ǵ�t�,�F�ś�3w�_��΃��u2_��jwϏ�����U�[LT&e���'WG��lF2��S�@��
�
�q^:�|�t�L��rz�m9{qqJ\h�B�#qۧ�&�[�%5���6�\Y�W`����L�u�uY��aS�#`s�
����J�=��07U��ǥ
�i%{�<I�
d�6��6ʽ
-glk����3��=X�D�
T.rdj�xM�Ƶ%�G
l�	��N2
F
+F
-ic���|��s��.�<v�/�����S���K�|:϶��H�BQ���!�o��u�,�|`FU��U�T���2`,���l���c��@:e���j���TҪ#H˨��z�葭�0
-ق�Ņ�VV[˦l�(� l�#�V�?	�2bN [(Íᾬ<`3
-�ZY��ɮ@[Ķ���\5I#�[rK{��h
��O5����_�D=R� 7m���\6)�G�v������Y��Ka�� ��q��b���.dx"�%��^�Ua��p�/��P�B��r�K�
�K��|��&�O��po�Q�_�����
���#���a�/Ľ��F�X໊S(e���w�KF�_���\���QΥ�xo"����w�f���ݍ��x��p�0$���)���!�6���}X����Dh�j
��}�瀵O��V)�)c@��|$��mx>���n��'cn{sϩ��*�ln���9쇒�ih~�71]4T�r{VC``�cSx))Oݗ�S��P*8��r�H{�(����_�`e�}�1�����
-H�uQ��}��·
���N��6��z�kߺ����4U��
-VE
-Z�DF1틔�:`�>���զ&�5km�a�Z��
���}��y��%�#%�4�g_�1�o�;��]_�aC�"�
W�I��4�S�5ޖ�	�
�}y�l�z	� U�fS��f�+�M��H`mq�����r��1:�����j���)����W�N
�I���~ӫ_��?X$��Mw���k]VP�C&(���^h�ײ��+�~ȓ���c�Bo'%��Q����]k�Z���N�ֻ�}}�t&(
�U�o���f��]��VW�0|�^F�"ۂ�烓]�
-@
�XH�
�V�?eB��v> D}
��AT� z�*����|���
Y�y��
97��oI�H�Q�
��_
ѫM^���7��#���
n��V���@����%e��7]H���d|kc�N��7ܣ�9�Ç}��c
-���(=T�	��|���
��
#����-�1�X��
-58�~�o�������2\�uQ쮯�����|�i��QR\�v���kQ!
��H]�YUI��e�;��#�'d
-endstream
-endobj
-6217 0 obj <<
-/Type /Page
-/Contents 6218 0 R
-/Resources 6216 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6185 0 R
-/Annots [ 6203 0 R 6213 0 R 6214 0 R 6215 0 R ]
->> endobj
-6203 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.643 690.333 229.737 701.237]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Affine_Transformation) >>
->> endobj
-6213 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.089 473.499 246.767 484.403]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Affine_Transformation) >>
->> endobj
-6214 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.79 231.477 434.212 244.395]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-6215 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6219 0 obj <<
-/D [6217 0 R /XYZ 90 757.935 null]
->> endobj
-6220 0 obj <<
-/D [6217 0 R /XYZ 90 733.028 null]
->> endobj
-5898 0 obj <<
-/D [6217 0 R /XYZ 90 536.27 null]
->> endobj
-6221 0 obj <<
-/D [6217 0 R /XYZ 90 521.7 null]
->> endobj
-5899 0 obj <<
-/D [6217 0 R /XYZ 90 319.437 null]
->> endobj
-6222 0 obj <<
-/D [6217 0 R /XYZ 90 304.866 null]
->> endobj
-6216 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R /F13 540 0 R /F7 505 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6229 0 obj <<
-/Length 1908      
-/Filter /FlateDecode
->>
-stream
-x��Y[��F~�W��5R=;��P�!��Hm���K!��*j�n6��g<ccH7�5������w�8�	p�|�����d�FZR\/�%	����]H�d
�q�rLp���d�rLq�Y�/�<O�/�y��O&��t>����U�۹��fa�1�C��
H��Ȑr:~������[p at J�B!�D0[�޽��
��
`�t
ܕ���
���7�W#������a�E%"�;��~��m�n�ݤ4�+��
$F
-� "�H'bW�'�4s
�&�t>M���dEK��3���HS���p��7c*»l
qn�����M�\ &d���d�u�%�&wg[ҥF���ӝ�ɀ�"!�4�HpD�^6�}�B��ա$��3���Ŕ����1�s
�VV,�ֳ�r㬟��
�.����X at v�!;i6۬�I�~XW��y���y�P
ב�Mz}LjSތ��m
-w���m2�kC�}�	�H��\$Ҥ�r�A������E�""�F�"����{k�wc[4�n�LnLfr(�O�|	���n]C����Xi
2-𘄿�5�)\&6����n�X!J�Q�[�h\
��e�C
-Dه�L�6��v������fգ/�Ӻ�^nV��u�F(7B*#J�g���X��E��$�>��}߹��Z����% ���qG�N�PI�Z�lL�Y
-�2-�$-v�Ii�ԗ=���j��D۞�s��
D��u�Ť>���~1���'k�"uFo2c+�H�ۘ ي6�T���� ��u��7��j����1Œ��,�D!C�ইXO����� �թVkGձ�I��<�ں�,� l�
��
1L���Hj�1N�6�Z��t�,�
	��-�K��3!7�����������jׅ���
����w�X�7�����*�1:�:n�N�H�z�ݎ�
+�",�H+{�q
0(f��bw�)M !)
��!_p�!�F�1碍���(K	
��nN�I�1���T�FM��(k	Qd ��DL�W"�6�.l���C9c,��l�
��TS՚h�T�GX���"!��~t%kS��3�8W��g�кV�sc_�}e~�/�
-��~:����z��
V���_T�E*���TE�cǾ�K�70"ޝoC^1��|���y�fiy}�4�?��
�[��>~�ש]Ƿ櫋j��� �M�w,�r'K{����
¾D9;�1��</
�?-yz�<���$�1�j�ŭ���65S�i�!o`
�[��\j�
�?�����Ϝ?����>k�c?k��Ƒ�4��$J�ʿT�_�tʗ
b��e~#Hgi
�d_l֐�Y�IV�N���p&� ֆfC~(�0��a��� �7�{DU
�S�"\-��G�>_�����O�s��^��<�%���8>:�WG��&�x�ܴsP�����H}_ok�i��I j
��뇳g��=c��q����hm�=
��g�\�r��ify�y�Kng�K>��SJ���bMA_cѤ`��
���I���.�{G��|z�%bsC���}�tWg�UV�/�,�����SC���|�)�.u�o�^��x�E,S�c�TP�c6�2��,�� �A#�SB�h�U�ۀ+��1��]]~q�n\Zj�iM�$�
�)�i��w���J9��I����I��"ʨ��b�`��b0��`��ZUMծ!J��٨�����h
27 )?���[��i.�T�߸X~&�P�1�~ �BgY���H�WK���ؚ�k{��|Ɍ��f�D��lՌ���x�.3ҳ��iˣ�p�P׫o��}��y룅�
��k�^8��4
pn����̖_7���,0Ѕ�
0xi{�.���ڤݭ_���۝ɿC#����d��#�
g�V̕=1�?Q�Yf�󍩆���Ϡ��eTƯ1{c��Ӿ,��������vh���
���v��:.Ȇ��k^o*$O3x�.��(����
-endstream
-endobj
-6228 0 obj <<
-/Type /Page
-/Contents 6229 0 R
-/Resources 6227 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6185 0 R
-/Annots [ 6223 0 R 6224 0 R 6226 0 R ]
->> endobj
-6223 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [331.477 594.175 436.256 607.092]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-6224 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [348.955 310.54 459.226 323.019]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-6226 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6230 0 obj <<
-/D [6228 0 R /XYZ 90 757.935 null]
->> endobj
-5900 0 obj <<
-/D [6228 0 R /XYZ 90 682.134 null]
->> endobj
-6231 0 obj <<
-/D [6228 0 R /XYZ 90 667.564 null]
->> endobj
-5901 0 obj <<
-/D [6228 0 R /XYZ 90 385.266 null]
->> endobj
-6232 0 obj <<
-/D [6228 0 R /XYZ 90 370.695 null]
->> endobj
-5902 0 obj <<
-/D [6228 0 R /XYZ 90 140.203 null]
->> endobj
-6227 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F8 504 0 R /F13 540 0 R /F7 505 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6238 0 obj <<
-/Length 2175      
-/Filter /FlateDecode
->>
-stream
-x��ZKo�F��W�KQ����b�`f��;�8{�-Q6���({�_��>��dv ���$U]]U]��#G��>̾��]��,�HK*��u�q�H�%��*��(�/�8�4'8N�mz�iNq\n
�U�^�o��z���P���
-
�I�{w�S�Ϊ9QqV,3�$�1�l�����wW���؂#b�	J����ٗ_q����G1��+��8e�w}��8�'��
a)z~ �D�̽q�4�J��s���6+�*��e��t�
ƴȮwλ|��fF���/�b_;��"K����]�-Zx����/���/��ߌ��{-z�H�0N`�]���;��gBQ���
��C�7i
��??no�̈́n�MH���6���z� B�P������<�%��^��}�}��p�����gE��`�!
�᭫4������kgV?
'�� ۚ
���9L���i{
o�D_�B����Ν��eUi��)�q�����NJ�TEX1�6A�r'�"~[@�q��t�h_;O�S�ل�
�H��.�O ɠ��2��j��ܕ�	��髛��wn�*��e�F�����=s����-���蕶Y!�t=�"v5�(v����s�^�OOS�(�)a�D:a��)e|�M�b'����XF���(%ɚ:�������m��-�LU
~0����$�l�	�]2��Az.�YfɄ��{�۬Ϊ�e����B	�`;�4�VoI`%d:��y_��3�e��kwu�~����5<E�$�C�r���
#~�H9��
e��Ff���
t��^?�e�z�����s��ݣ܏ѺQ�_�.+��m�:�A�������'NBA�ѱ�����wn���^{>f*LjwC˛*ڕpc۔}X7��a61��w�AP\��oO�3��]��*_�u��:�����
W�q>�YjG��a
��g��{6�>��C]n�ؗ���D=�
|̝u�Zw�� [...]
@*/L��C� UyN
�0n�S���S��|j� �`�5���FܖsS��
,6I�ȋe��A�o6Y�Dƛ��Tr4�� ]-��2P�z0J�
��a�Ԍ
}x�L
-DQ.8A�&�LG(Y@�>���$�@��<�>H���h1#��sMAS����AK(����>��@��J�ᨛ�
-Z����:�Q���UC E�"����,���i���`,l�{��n|8�1C��ÍC�
�`��րTH�s 2'�������EZ�S�	aA�i�,�L.��$J&H�$J��lP��d���
�A��i
�J6��b�JLCd`2L$g�O�� ��-D6&ԥ�)�l}Q;��4����㤏|��s�@_.��j���$�]خ�@_C\��i*#|��aliH-c�A��z���1����}��߭U�8�cG?� `��;�hN��1ʇ�#
���
7�.�
Г�}��>x�ZA��iۓ�v�;d�
ܨh�-��=f� R/;
B����%g��P�X<:��qd#֞�h8P��
-��5y�_�д
�i�����O��H��o
�`
��C�~� X��Q�c2H��. �U�D��Z�q�-�ۖ�����E�#�3
���w���.N8k'y~�� ���F��ݖ����
�к���e��2+,�3Ͻ����J~��C���9�}g�~��<r�<AwV�ږ�aSO
b��
0
AlN L��Q �����$�hu�\��?���(���a�5��Gdؠ
�̈́F�a��Ip�$Hq�<k�I���Jc>\�0�^����K�Sܯi��$ ֙T#Vs�6|�(��E�~�.�洍j
�э�#J�4!O0K�I�h�Y���Z���eD+�o/F�Y�R���y�R�KMal���+�<B.�:B.��Wy3
�������'���O0p�
v{I70&��:~	&X~i�q�_�`�/Az ���s�e%'w��/��
� `R���_zU���a�ᗐr<9�_b$�|����@�0���9�R���H`1���$�uO��0��0�W���a�vb�_l�R4Q��[&Aɂ
-��|��'c��p���p��9w��>��>"�����84����{�
-��A#���Y��9kf���?Qs�ϙ�c�w�	t��wu����xxx@�=:��By}��m.�g��B�,���-V��pk�
��P�P�
-endstream
-endobj
-6237 0 obj <<
-/Type /Page
-/Contents 6238 0 R
-/Resources 6236 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6185 0 R
-/Annots [ 6225 0 R 6233 0 R 6234 0 R 6235 0 R ]
->> endobj
-6225 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.773 678.378 462.606 690.857]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-6233 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.059 433.397 422.924 448.112]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-6234 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.333 175.03 425.662 189.746]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-6235 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6239 0 obj <<
-/D [6237 0 R /XYZ 90 757.935 null]
->> endobj
-6240 0 obj <<
-/D [6237 0 R /XYZ 90 733.028 null]
->> endobj
-5903 0 obj <<
-/D [6237 0 R /XYZ 90 509.345 null]
->> endobj
-6241 0 obj <<
-/D [6237 0 R /XYZ 90 494.831 null]
->> endobj
-5904 0 obj <<
-/D [6237 0 R /XYZ 90 250.979 null]
->> endobj
-6242 0 obj <<
-/D [6237 0 R /XYZ 90 236.464 null]
->> endobj
-6236 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R /F13 540 0 R /F7 505 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6252 0 obj <<
-/Length 1607      
-/Filter /FlateDecode
->>
-stream
-x��Yˎ�6��+�jm���)�.�H�$@�i2Y%�!۴-Ė=ƙ~}/II�d�q
-/�bV�(��>�=�����r������<��O}�~�)�>A��~�}�(�L	�x�fB�8����̈́�q�{��U�_G�,�
g��Y��L����va��۷z��	�c
/5H��ǔ�ɧ�W����/#�`�ؽE�&��~���V0��È)�
쬽�)���{7�k�+;p�
%Z�
	����3j��d�a�dV�z��
�[kApxc�oA{F��#x���I
wČ�D;i]���]2�b|Й[�+7^����.�2^E񦚱6
>bL�J��1��f:ϣ$Ώ�$���M�@��)�M����;��FbS�u\��CTl��J�m��]�����J�
�1�
�I�)�ȧ�ӑϕ���ץN�����(�0���u� /V�YO8���<�*.DO	��1x�s<�rpb�6KA����8��KzIғ�+$U=5ʝԿ5�b�L���#8
-�v����lꨠ�Ä���$R�8o2�</� �YK$qj�d��i'��"��$$r
R�1�؂KN��>�qp�U��� �&��Q
���E��U�#�uБ�1�|Y
|�l�9�hBe��I�䡻�i��Si�
p
!��=y�'�[>aH�f�����ASN�̈!�+t~0ś� |V�f�:׻0��
;�TF;����IG`��)�)Y�P�M
l��ؼ;�Ĕ� �$ �r7��ժ�Z�
ĂsD%�"ߗ��ͦPu
$B2ثIӲ�Pm����L�6UC{�r�}p��S��fU��8h
%����o�g�ګ
�[O>�AЋc�%$�N����r$���7�6�t����<�.�ݿ�w�����A
��B�9�!�C������MVv7?Db'F'FR
Ṇ����p��
X�W��O��p z�{ͪ��z������wt	?��"
P�M|��D������_�M�[𨠑�3�ȸ:�>��n��� �G�i
��K
�f��V�K�h�U� S�K�>F�Y�1���n�
#�k���Z.vd�e���X'5W�vG���?��痑#-���U��{]��;�U",X˜�
-@&j��9�4Ġ؆�sL�S7
c_�Ő�	:��B�-6.��Ԯ������[dw� �y��68�J$�9cAO�md8�8����g��#B�
��I�
h^A%����ڠ�
uDz,
-
I��9�Q
�׎��h\�N"w��}�N@�;
-(��&���Y0��SB�x�X�;�on]��D�n�i�{��5�;���K+`R��D���їR�O�O|�����B��#
��
��uv5\D4�o,1���B��ȍ�
�ك��7�a�=I�M��Z�
:\��u������s\�H��E0��77�,!B^.�@�1�������h�Q�2�zJ�
�vJB�(ɿ�$䉓<q�'N�mN�8��
-�Iy�O(��	4�
-��~�	���?G�GYa	L�X3�X���>�ُu�����c*���\m>Scd���8��蝮��Y�٫�~Y�
�%ν��Ҷ(�����p@�
�q�f(*�N�%���k��/���E��>4�}�� C


-endstream
-endobj
-6251 0 obj <<
-/Type /Page
-/Contents 6252 0 R
-/Resources 6250 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6257 0 R
-/Annots [ 6243 0 R 6244 0 R 6245 0 R 6246 0 R 6247 0 R 6249 0 R ]
->> endobj
-6243 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 590.616 322.446 601.52]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Time_Elapse) >>
->> endobj
-6244 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.39 473.275 343.198 484.179]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Widening) >>
->> endobj
-6245 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 389.723 268.34 400.627]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Widening_with_Tokens) >>
->> endobj
-6246 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.778 272.382 336.884 283.286]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Widening) >>
->> endobj
-6247 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 190.887 268.34 201.791]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Widening_with_Tokens) >>
->> endobj
-6249 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6253 0 obj <<
-/D [6251 0 R /XYZ 90 757.935 null]
->> endobj
-5905 0 obj <<
-/D [6251 0 R /XYZ 90 641.431 null]
->> endobj
-6254 0 obj <<
-/D [6251 0 R /XYZ 90 626.861 null]
->> endobj
-5906 0 obj <<
-/D [6251 0 R /XYZ 90 536.045 null]
->> endobj
-6255 0 obj <<
-/D [6251 0 R /XYZ 90 521.475 null]
->> endobj
-5907 0 obj <<
-/D [6251 0 R /XYZ 90 335.152 null]
->> endobj
-6256 0 obj <<
-/D [6251 0 R /XYZ 90 320.582 null]
->> endobj
-5908 0 obj <<
-/D [6251 0 R /XYZ 90 136.316 null]
->> endobj
-6250 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6267 0 obj <<
-/Length 1634      
-/Filter /FlateDecode
->>
-stream
-x��YK��6��W���@��C��-zH�$h�i✒`![\[�,9�����;|�A[�n�m��/k��3�o��V�������o���
��E�
-ov�E�
A�o�xƄ J&S�1
��<��u|�fB���+�����t^�����e�&�)�x�,���\������p,󅄕#bL}>�4{5z>}�{D��0�-֣�����+#��N[�=�2�ͼw��G�l
�!,x/�l0w*�B����B��ޥ���|yѥ�\=�?b�E^�f)���
-��E�{~1�Q�vkoL
�}�S�1x2���?��j?�s�C�|��Ę
l ��M����S�pD�țB�"n�����""�f��޿~=��>"=�81F
��d�6
�����S�X
����G4d��:>�(
-i�*�����tF�lZ�j��溸5��b���p��/�U�5�-��o_��ڠ+�1����Z�e��2��b�B!
$�� �<X�
A�Y���3@� ��Es|/3�Ŕ�^�z�����)d�4�&�T�7_�[Cj\X���e�Ͱ�W�\ۅ��y��P�v�U�X٩ۃm��e:��h�
������7}���҂e�i��������<]���98,?��Hx�P��
KJ�Zֲ���ǻe�:'!
-���aN{�{�9�����}j<^��Wqm��>��I
6O��U=�<���&�)���SEdz��_0�y�W$���r�'mЕBb�?�`��i�T��F���S�>��ŦN�<���o�4�5�ᖆL�ִ�t={7�
�:��4�+���!�6��|���}�o��U�2
�Y�@]|V ��M��S�	n��.3�[&�I�m9K�M�8��J_��US$�Cl��,��U��*O�l�j
����@>�[7Ͽ.�>�o���#���n��!�q�&7q�ܮe^��%�N��٪,ԑ�r
�ۡ^F���ΰ�8��!���R\�B�ds���u
-CC��� �8���Wx���
*�2 �Z&7]���_�2�Y�κ�dl�hNs
h ~
ާ�XO�q�y�Y�Y��;�oN�E@ A���j`;�@�
lwN:��
�zV
b�5�.x�
-�L�B����x�N���!�މ4��4s��p�D�;nͻ'N<`�'�XQ��g��{�_�U����mQ.
j���qPyX�+�?�� �g�h\B�}��6�
-�
-�� 
�i��F�dYG��Bw���ǐ# �}?x
����p���(���d��$��I���:d��
Mv�q�n)X���کK�Օ�<���h�k&r�.+]�. �u��>��_�=@A.�� ���Ґ� h�a

iH�o�HrB��Ud�baXDª��z�>m�%:/"CA��."��4$H���2�XD2*U��T׊J���WOj�h��N��20Ha":)&��#&Մ�c�׈Iu��fc%&$�Q�
T��"N�EE�@�N~T�.*�"/o/"�""�����{2�KD‡~N֟�������32���ټQd��
6o-�ЊN3x_���	�R4�?�|���NY��H0���M�SP'�R1�}���?F:���$T_zۃ^�����j�ۡE��y�)QZ_A!^
C��
-�@'�n��7�%�h�"URd���Q����
-endstream
-endobj
-6266 0 obj <<
-/Type /Page
-/Contents 6267 0 R
-/Resources 6265 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6257 0 R
-/Annots [ 6248 0 R 6258 0 R 6259 0 R 6260 0 R 6261 0 R 6262 0 R 6264 0 R ]
->> endobj
-6248 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 690.333 334.351 701.237]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Widening) >>
->> endobj
-6258 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 589.156 268.34 600.06]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Widening_with_Tokens) >>
->> endobj
-6259 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.711 471.815 344.79 482.719]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Widening) >>
->> endobj
-6260 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 372.323 268.34 383.227]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Widening_with_Tokens) >>
->> endobj
-6261 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [299.628 254.982 360.629 265.886]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Widening) >>
->> endobj
-6262 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 155.49 268.34 166.394]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Widening_with_Tokens) >>
->> endobj
-6264 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6268 0 obj <<
-/D [6266 0 R /XYZ 90 757.935 null]
->> endobj
-6269 0 obj <<
-/D [6266 0 R /XYZ 90 733.028 null]
->> endobj
-5950 0 obj <<
-/D [6266 0 R /XYZ 90 534.586 null]
->> endobj
-6270 0 obj <<
-/D [6266 0 R /XYZ 90 520.015 null]
->> endobj
-5951 0 obj <<
-/D [6266 0 R /XYZ 90 317.752 null]
->> endobj
-6271 0 obj <<
-/D [6266 0 R /XYZ 90 303.182 null]
->> endobj
-5952 0 obj <<
-/D [6266 0 R /XYZ 90 100.919 null]
->> endobj
-6265 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F23 340 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6278 0 obj <<
-/Length 2006      
-/Filter /FlateDecode
->>
-stream
-x��YK��D��W�vU<;o���(�*$�)P.�5k
�0�
��zz
zZ��'8y<j�t���=2v^/��]\��,�P$�
n��$HP�&��%!��՚`��oV/�*�7oV/���Ionһ*���ׯ�4Y���˯������Պ��.�V���%�r���w�on,��b�!
-������8H`�� #��d��S�Y�n��?eK1�1$��	�4��P=/���,��F'����C��MZ5�f�p�
x[u��u���g&ޫW�8ɉDXI��xv&�88r�Z�� Xs���Q���"��Z��bW

ܛw�ѹ���P�ˆ�lw���!�z��;&f�8s:rY!"�������!�!mm��ܮQ�y�����������Y(�GgC����5ep
��!��;�o�CU��0DKm��Բ�k7�t}�7.����Ԏ�������E������)Mt�;o�Xl�B8��pl,�����}�Y]��.��jk~�7.k�׶;{�qZ� �B8R�.�}�
��aޝ�>��ƕv<d��c
��x
�N���=|�Y�C
ʴh�J ��L"�"&�K*���(R=���l,C
��Ƭ	�@<��U/q�]�ף���3K���j
-aA�=�y!ރ�ҁ���ԢoÂ��n\�R-?��\�q��y�(M��)�4�/b�|j����0�
�B
-�D�����t�1�ݼm�U�Ϧ��z�
0q�[��#1N�	gm�?1��D4εa0N�
��B���|i �(F
b�@�����jY�a2���0��+*��i|�i��n��	<va�lq��܊�as���n�4�h��M6�v��9'�#�yTa�זY"Qb,�ᐝ�/
�ճ��3?�;=�Ρ����Dg�W�Fo�E��Q�B�p
� 
i�7��
����h �
��h
`��4�����yT�9$��
܄9��s�	���%'m_<����+3q�̬=�
-;����A�
En��|.&)�WÉ���M�<�R4��)�� C�;!�㞐\�D�Ma�$��C��9To ֍�����#⛔�l7����:$P��7�g��VY<��(�Y�{���$�gN��r>����,�e�[��X�Ěc��G=�2K��.-&6���,oA�;?�͌O��f
}ʒ�?_˻��i�.M1k�p�Р�sjzX+X�R�2]��FW@�H��@4��
-%�Q(�	��~w�:�9��q֙��`іu0
!(����e<����[:Z�`Ĥ�ji�?� �>�ׄ�
����m�@���&Gwj����a�M燹% Y�QK
,�Pf��]C$T8$
'�x��0?���R۪���s��
L�][��0|wh��>����lZ$���d'��.
"6�_�!��!���o�o�{��-�j�缦�k�4]���?�$��q�'�s�p��CO1��
3W���^�	9�����k;K�Ra����fGг5b��<s�7�7��~
� d�2�g�� w㪱�ðZ�We�歧f�
-��eK����0V�
-��a���t9��_M���)W�H$S[��t&���
��+[+��^.��q@Z%nƓ��vP{ |�QwC7���f�΃�M��R���J�F�!��PpX����,��ۍ5����~�ኰP�I��/�۱�p�ɥ�"�^.N9R�]��!�fa�!��q;s�
-/VsGm.��'=ڊ]""
-=��|oY

n�����K2��xD��S\�y� ��ؿ� h�Z�̰'�+ 	�� d&�q�z��
!y0�"0"t��ҋ��G*��
����-���[۶h]��7�]Ǜ��{��lM��s��l��
\��������o�����%	M�s�O��#�f}�%D���R�1�)�_[-u_���/?׺�|ݜ'�qq���p�;��v��a
#�^R���n_���~�����_�B�p����9\_]�N'��ѱHJ���!���x�
-��{澕��l_������Gq��_v8>
-endstream
-endobj
-6277 0 obj <<
-/Type /Page
-/Contents 6278 0 R
-/Resources 6276 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6257 0 R
-/Annots [ 6263 0 R 6272 0 R 6273 0 R 6274 0 R 6275 0 R ]
->> endobj
-6263 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.97 690.333 252.675 701.237]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Widening) >>
->> endobj
-6272 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 590.841 268.34 601.744]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Widening_with_Tokens) >>
->> endobj
-6273 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.639 374.884 300.161 385.165]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_fe613a3da3edc3cb4506f70d409f061d) >>
->> endobj
-6274 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.639 118.508 300.161 128.789]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_fe613a3da3edc3cb4506f70d409f061d) >>
->> endobj
-6275 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6279 0 obj <<
-/D [6277 0 R /XYZ 90 757.935 null]
->> endobj
-6280 0 obj <<
-/D [6277 0 R /XYZ 90 733.028 null]
->> endobj
-5953 0 obj <<
-/D [6277 0 R /XYZ 90 536.27 null]
->> endobj
-6281 0 obj <<
-/D [6277 0 R /XYZ 90 521.7 null]
->> endobj
-5954 0 obj <<
-/D [6277 0 R /XYZ 90 284.074 null]
->> endobj
-6282 0 obj <<
-/D [6277 0 R /XYZ 90 269.503 null]
->> endobj
-6276 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F23 340 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R /F31 472 0 R /F7 505 0 R /F1 542 0 R /F8 504 0 R /F11 418 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6291 0 obj <<
-/Length 2253      
-/Filter /FlateDecode
->>
-stream
-xڵY[s۸~���SKͬ`\��v:�v6��Mg��ݗlFCK�ĮDjI*���{@ $AB�Ӻ�H�8��;���6��ۛ���ܾ,�P&����
GR�)��7ѧ�D�bI0����q^����q���Ԧ�W:�/wwo�b�XR����1�ԣ�$�U�V��`D�4����?��p��
]pD���D��h}���GX�)ˆeit�QB|7���c;8��A‚;�wp6MH\���Y��9�k��)�l��l�����Ѓ�hwUc/w�v���ܺ����۝jZ�Z�� <�����-�6�������%�ϻb����g׻��׭�������e�Z�pтI����Ҵ�`��G��m}ұĥQ(�K�nI�E���E��w���,��
�괝>5�(��T��Tn��iԴu^�a���� ~?�{�����Œa�ю�j�����Ν
�S�����c]
&�AКܾ��Ҡ� Ft�uz�a�ƿbJ�0#ca�X`e?		�I�j�H�#��v�]�,(Y�
I���(�o6�
��¢�\Ol�m�v�
-�8���k՜���\[ܖ w.���Ec�IB��Z�4f�_1�F0
	J�H88��̜
�rd�#�$�ů�k��1$9���mI�dF�8�=���)J�����@�S���#�P�3�����6as�ID��" 
K\
p�*��}��i
-�D��~�s?�=�}��
h�z��ā]��
��DYB"/	X�QJ���3R
��1�_B�)�Jb�;h6�
a����� ��y�J�[���<���ᘹ
��FAH�Q0D
-�!��/��d

�LR$t�J����N)K�����$	��(��&����Y��J8�
-H2u�rc���ZN���&��)3��Ȋ���P�<b��m�7i�at��
�v��
|g�����G�T(J���
CUo��<F�ٳ�%P-PY�
b�4g��u���c͝�𰉗Z$E�@Fd�7-��^��v�Ru
��+��'9����{�����$�(.
��04���vK箬N��]��
-ۧ��<�֭fj��%�N�2"�oZ+�1�=�]ɱI ���f>�
��U��.[W]�\B��I�
LJ�=!(M�	�$s�a�K�t·JKw��
:�X�!l��"�}���Z����
'��C�Z�VjUw�s�M�01 �g�
-�*�ūIJ���-���
}��
պ����g>��6n��8��
෧K�
p�+@�������"�|ڑײN$x6��
c��:��� ����ÿ�7�{몆��X���4�1
�i)�w��M�����S�rd��髢
@1��_�}�Y���Z�O9=x'Y�(��/���W�ҞW
o�@oY���p����;��\U�]�&<.�cb�\n�>7�1�$���R@��Ll���vs�.�P��A��<0������
�+0�g0�S�.�{��f�z��U�o/�j/G@V�?���Z���c�)�B�6��5H%L"����1�q[�07�̢O"ܤN��
-_8����m�����i�DK���)aѾB���(�%�1�$��yK���/
�������v�x���ډ4���I���$=6����d��
a qJ�B��V����.��@k�p�%�W=F8���'�5zy/
-g��
�
a�U��
L
̛i�����O�3 ��/�Q��L
�E�_�9��OG�
	�Y

-���6�����
���z	���6h��!�dz��Ύ��D�6�b:�e��sg槢��|�!��y���I73�Ր�sݣmO��/�;����h\g��QB����q�.#<�1T�"T����QH�>��r�fUu����I�W�۝*'�Ԫ��b�XW�eq�H���M��e!�୳H�K?=~�C-s�)\����������ͤ�Ϊ��p	�J��
�ƫb�&�s{
j�V^^WP�
-ʾ�$(\g�$�訧��t�t�#�n�<

T��4��-$��E&�)s���3�X�c6�
?ڌ�2�.�ޘ
-8-2,�
8�P����`�@�f�2�j�R6��Z�A�al��0�
3��e��
H��^(ɋ�*�~q�2\�Ι�R�@Fҗ�P�~ 
�b�<C�'�k=5��[Ǩ��Ҫ��g��?��z6����'�͝�B�!�0*����VǏ��_Ʋ�"w��y�5�KR���k������|F����X���=
���v!�&�ɣ#�CU�����}�����O��
-endstream
-endobj
-6290 0 obj <<
-/Type /Page
-/Contents 6291 0 R
-/Resources 6289 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6257 0 R
-/Annots [ 6283 0 R 6284 0 R 6285 0 R 6286 0 R 6287 0 R 6288 0 R ]
->> endobj
-6283 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.334 604.544 236.659 615.448]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Concatenate) >>
->> endobj
-6284 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 547.869 256.157 557.767]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_fe613a3da3edc3cb4506f70d409f061d) >>
->> endobj
-6285 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.708 432.38 250.895 461.445]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6286 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.024 387.037 483.212 418.006]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6287 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [322.376 176.932 385.519 187.836]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Map_Space_Dimensions) >>
->> endobj
-6288 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6292 0 obj <<
-/D [6290 0 R /XYZ 90 757.935 null]
->> endobj
-5955 0 obj <<
-/D [6290 0 R /XYZ 90 657.469 null]
->> endobj
-6293 0 obj <<
-/D [6290 0 R /XYZ 90 642.946 null]
->> endobj
-5956 0 obj <<
-/D [6290 0 R /XYZ 90 539.165 null]
->> endobj
-6294 0 obj <<
-/D [6290 0 R /XYZ 90 524.642 null]
->> endobj
-5957 0 obj <<
-/D [6290 0 R /XYZ 90 367.225 null]
->> endobj
-6295 0 obj <<
-/D [6290 0 R /XYZ 90 352.701 null]
->> endobj
-5958 0 obj <<
-/D [6290 0 R /XYZ 90 239.655 null]
->> endobj
-6296 0 obj <<
-/D [6290 0 R /XYZ 90 225.132 null]
->> endobj
-6289 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F31 472 0 R /F7 505 0 R /F1 542 0 R /F8 504 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6306 0 obj <<
-/Length 2616      
-/Filter /FlateDecode
->>
-stream
-xڭZ[�۶~�_��T��0.@ng:�fb�i2��ۼ8
W�viS�JR��߃
/��Kl?�
-$!����A��C���7���y�F�(C��"��F�� �S�m�
B%˘`��/�f���-)^��ˣ�4���ɛ��۷M�YƔ���e޶v��ڪfI҅��
-V��M��w?��pw������D��h�����6p��#��ѳ����ೌ���r��zp<Ӄ2��z�=*+N�v�2���z���]W���͡ZwE]�'�C��Ѿ����bӯ�/��˲^R�x.��5�=֛E{I�O0;�$�$&Z\�"��(�nI+�}]��X���vbw/�u��wyQ��9�?b���
-$�mfF��e���.ۨ��T��B�ә�;���kRp���b��Y*y����*_�dL���7�UU��ܽ����&�W�q���4��ao{�-Q �^-ㄒEѹ���:h�M����g��2�!�3���Pm���Jm�]�2�R��9��Ȑă	�8��z�R�Q�׆H�2�R���s���{e?�yY���{��w�Z.��.(��/�՞dA����NS���qH�/^�HW
[!��_n����g"#�奈d(��I\ՕK�z;�Th.�G�K����c�l+P�0�ǩiS�T�Ž��e�l���ϫ���tN}�ʼn�VI=����ag/��~yyP����#�{�����1晾�v�
٫/z�B�d)?�7LrDd6��Alò���$(�B��Dm;u�
箐�꾤�Е�s.c�K��v�ѻ|�j1C�.^�O��w���/��?)7��ijA ���l�AڦI?����H2+҄O��P��B�j���`�䮓���P�
�dl<�=�񋛠+8N�ކ�� ��F2� [...]
0!=Zz��

�(O$���^�D�g�� �6/ېEr��	3�=��z��w��z	�L����6Xm$Fi6U�jW��ԏ�
-a�Z��jT8�X��[:E�$���>?�8�œuW7����k��JY���� �ơ(�HBJ$ �G���
-���O/Z̃P�#�#�
:�u�
9�M�צVn��v����I�ۏl��{t�ܫ Dg��
j(}�)�᫱��֩�[��ܯoo�4,EL�0[XY۽Z��;�����Z�\{iڣM�����W
u�@�a��1�'��kMR	��:B{{�>�.�L��&akSy[f�)���Er�!e����Oy�0�Ic
0A�P
�a��f �x;�'$�(�P8N.�X���E����
�|����'�8a]�Mh�?I�Y��rk_W�17C͇d����}Ў�.L�kf/�	�1�fą3w4�'�������\C��Bo�ԓn�_���P�����
�3ƹִ�Ԟ� ,
HR���L:O�؉�*����>РF��T�ݽj��p2�a	�&7�
� I��>���0�?�l����� E(�S^�U�<
���9�3 lG6�vV�(��Q
"���
-,��a�1��.�·�T8q1A'+U��=�T��gc
� �2h*!�����7&ҏ�&�!�g��������?,�g
�h�
-nd�C������u3��`�Y�_��
VQz
-D�ڸ���f~�
���8I ��)����)>�� E�.�p�"��g=����1�<�
-f��F�Ȼ:�B�@>e�c%
�{K��3�
4�
��<!	�)�h�O���d@c�����$
-R0
������n�0Ӂ:����dʧ�~
}
-:�	:�I���ٟ���5=�	,�`$F�u�<���z�3�b''��p*t�~����|6C'��
��
eW����h�m�8 i��
.[<`^xNg
���$� ����-,42�;���|����Ђ��K
�
�'����h���'�����xor)�C�Ҁ#�Y���hJzDSXB�e)[
Tuy�S4�K��)�|�,:�,��r��
�	<����^��F��%�LM
XN
sP�I�j;��+8�)��"��7:�A��
-<���~JG�L11�c`P�E.
@Cƴ;CU�TE�oCU��TB�?�&�D��ߪn �g��oK��4\�u���@��:�s�ZX��'>NA��\C�oF�T��#u�!q�>ݜ^
�7�pf�9��9�Ll���8]Q�G/0����
��۔����Y�%P�c�D�s,�(�x�:%
�B��	p����kp��&���)��j]��`N�f�lĝ~E`T�/�@2��o
+�����
����Q
�s3�Ο��TL20�?V]^��pq�z����Փ �&�T$/�Q��ݡ�����y��
B\��Rf������a}�p1S��53��R�՝T�q���T��6CT�Hz�
2��1:CY�^�ᖪ��ٽ��s��z�a/
ְ�mU�%�
W>ΫC�~5�0ý@0bn� ^Q�^���^�e5����Xn;�KR	Tc�;]��}�����[t��}����~_�>.
�U�L�a�m��3�O�v7w�b��?vp\1
-endstream
-endobj
-6305 0 obj <<
-/Type /Page
-/Contents 6306 0 R
-/Resources 6304 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6257 0 R
-/Annots [ 6297 0 R 6298 0 R 6299 0 R 6300 0 R 6301 0 R 6303 0 R ]
->> endobj
-6297 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 491.218 239.856 502.122]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Map_Space_Dimensions) >>
->> endobj
-6298 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.639 306.219 300.161 316.5]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_fe613a3da3edc3cb4506f70d409f061d) >>
->> endobj
-6299 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.144 269.173 182.164 280.077]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Expand_Space_Dimension) >>
->> endobj
-6300 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.502 167.377 241.69 196.443]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6301 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 98.244 163.823 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6303 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6307 0 obj <<
-/D [6305 0 R /XYZ 90 757.935 null]
->> endobj
-5959 0 obj <<
-/D [6305 0 R /XYZ 244.439 494.372 null]
->> endobj
-6308 0 obj <<
-/D [6305 0 R /XYZ 90 478.206 null]
->> endobj
-5960 0 obj <<
-/D [6305 0 R /XYZ 400.69 272.326 null]
->> endobj
-6309 0 obj <<
-/D [6305 0 R /XYZ 90 256.16 null]
->> endobj
-6304 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F11 418 0 R /F8 504 0 R /F95 1788 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6317 0 obj <<
-/Length 2072      
-/Filter /FlateDecode
->>
-stream
-x��Ymo�6��_���U�
_DIL�z���z/����"Pl:�/%����7)�T���.ZwK
-5��<�3C
-�^��z9;��Y ��i
\���$&�S\����D�|A0��9�a����՜�.�7r����7*S���/U��~!U��Ř.�V����E�5��|-�R�I�j	�%��5��������]����
�[	OP�x�,gW�p����1��nTD��o���8Ç^q<�2�cn���Z�wvA
��z�n8��xg
!�c�Mޘ1�d4FQ��6Y�y6�l��#
Wy)�&�+�6!o��Iҿ]y�sXC��gڠ�y��آ
1�F[
*h���
�#�hp
{�t�~�	
G8�������h\��K:�%������_�"������
-�(����}�Ѷ�����Xɕ�V!*�%���[���`��� Ȁ���fԇ9���<�)dc���
�2���]i�{��'��Ί�6O��}�n2;�V�|��
-�}�Eј�Y��D�R���I�p��QLên�m8KY�He=Y{�Z�(��N��T	�� �
Fu�$����̅���
b��{.k�d���U^���j�;I�~�W�(1�b!NG]:�9S��V#��֪�뗳છq�3(�*��&čU^��Qq��C`0
-�Rt���:
P��� [<�� 0')"`
R���cy"�Atl��52z�{'��s�����^�U��
�1wKHd��	X�ʫ"��;��
3pA��
-۝�lE�����ܮ[/���_պV
�#@�t$�#U�>U�h�Q&���]��t:D�P��<�A��a�~) 1J�=�OQ60�n��Q��2��!��p�����7�-�c��bCz5�,�a�wh�҈"g:π�
 �@ 4N6
�Ak�+��!
"˅
��jea�-�v`4f��bW-[['p�]��۬�5V� Y$
���n�0��[���V�ўD�:ݭ&����qF8�O1J� ��wҀ,8�y��X'�M�51oIˢ>+.@	J�@��u]/�i��ԥMOy��0�CKҪ�<�S��i����紮�{s���ɡa?��5+��-d��]�Y����V>Ji�����CefC|3�V��Z��Xu|�9�%]���۷r�F6�&�1�@��ߕH�� ����`Z��J8T
��ʯ#1��� [...]
-~�Q
�pwM��=��J�X�ʁ��q!��ʧ�3kU����\j�~�#NQ���Ś���:�� L8��\O�.��r-%t֥�4'��%����2��2�O�
�msߴ�4���^�܂��R�)t߂i��2>���D>	�DNp��
��IT�����r���j�n�\*�[��
-��u8��
-�m���Ɗ��V�?o|*���Ȏ�A���6(I��.��$ff�X�����5B+X�p-(�A���N�7tB���F�k�'~��[��D��,c$	�}�5W��'�6��>zj�ؘ�S��i�g��e :�+��h��8 �hW�z�7[�̳JR�/���]�n�x��JD:=��Ћ�^�=�V��w8p����
�c컰ۛ[YɃ��Vu9A�.
-S��C at S0-�{�Q��r��M�[J�;���@�͐)�?��3à߁��w���0	���!�P���m��|
���pʃ<<r�9��I��\�+Y
q�AO`�]�|�V�V��Nf�=��DC;t�/��T���'����hS�
��i������u
N���-��#�B��p�l^���]$ꅈ�Ȟ����
����[�к���I�Yͥ�T��d;2���R����$=�sc���+	�|f5�|�.�4�5��m�7skIgn~j��RCӲ�_Y�냤�L��2���j=F�Ⱦ�}~�g���?f
<���$��i�����~�G��.b�Pޞn�
���
-�6�
t-���+xXv�����_
��
-endstream
-endobj
-6316 0 obj <<
-/Type /Page
-/Contents 6317 0 R
-/Resources 6315 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6257 0 R
-/Annots [ 6302 0 R 6310 0 R 6311 0 R 6312 0 R 6314 0 R ]
->> endobj
-6302 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [486.549 696.002 513.996 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Fold_Space_Dimensions) >>
->> endobj
-6310 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.635 202.484 249.889 213.388]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6311 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 130 177.053 140.904]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Grid__Certificate_1_1Compare) >>
->> endobj
-6312 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.989 115.38 217.919 125.285]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6314 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6318 0 obj <<
-/D [6316 0 R /XYZ 90 757.935 null]
->> endobj
-6001 0 obj <<
-/D [6316 0 R /XYZ 213.427 687.2 null]
->> endobj
-6319 0 obj <<
-/D [6316 0 R /XYZ 90 670.473 null]
->> endobj
-6320 0 obj <<
-/D [6316 0 R /XYZ 90 603.652 null]
->> endobj
-6002 0 obj <<
-/D [6316 0 R /XYZ 90 580.718 null]
->> endobj
-6321 0 obj <<
-/D [6316 0 R /XYZ 90 580.718 null]
->> endobj
-6003 0 obj <<
-/D [6316 0 R /XYZ 498.315 527.964 null]
->> endobj
-6322 0 obj <<
-/D [6316 0 R /XYZ 90 511.237 null]
->> endobj
-6004 0 obj <<
-/D [6316 0 R /XYZ 199.738 436.61 null]
->> endobj
-6323 0 obj <<
-/D [6316 0 R /XYZ 90 419.883 null]
->> endobj
-6005 0 obj <<
-/D [6316 0 R /XYZ 489.249 369.167 null]
->> endobj
-6324 0 obj <<
-/D [6316 0 R /XYZ 90 352.44 null]
->> endobj
-1488 0 obj <<
-/D [6316 0 R /XYZ 90 254.047 null]
->> endobj
-222 0 obj <<
-/D [6316 0 R /XYZ 90 247.447 null]
->> endobj
-6325 0 obj <<
-/D [6316 0 R /XYZ 90 148.974 null]
->> endobj
-6315 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R /F11 418 0 R /F8 504 0 R /F95 1788 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6345 0 obj <<
-/Length 1482      
-/Filter /FlateDecode
->>
-stream
-x��Xێ�6}�W(��@L��(�FQ�I�iӦ�&ۗf�@+ѶYr$����Ë���`����̙�3Cag�`�����lyx�@"��s�vv€ F�s�8o\B��
�1v/��Q���]�)v�촕I��=�)��Z=/���SY��5�4�j�Z=-v�������2쾮�C\��+���Y
��rυ��۫���ff���j��
s����[�$������9�];ǧ
�g��ٟ3|���C8`����M��F��rw���!���+�N#oy�pO	��qgA)��-�R6x��Pn�1��Ϝ7
��6xv)E�1��##��>!u8��J�#� ����<���Y�c0H{� �	qѤ�[�]4�� �/g���>���)aS�?ڔ�:�i��j��Bl�?Բ2��[�����L�X�7�;��Q�����3Є`�;��K+�>���'�
{t�4�O�0���O&
��h
w�=l�;8
-x��͞ϟ��@��3�Kc�'�X��W��..
J�Wm~k�Ӫ�mr�rХ�9
T�{��b�O�6^���$��W<�°K&�M���I�i5���'41ͦcZo?���`cQ�+8��T�"
J�
�ۧ�s��("��z&�(�db��̎�t��i0H�狳X��>v��暆kc:���P�=(f�i"�4�1�^��b#�
0JS���mսEA
�R̬�H׃C���ܭ
��B�Fy�k`��
O~�bJ�e��s�ܣjj��Y����
cdr7�������Ƹ�5� �ls9@�&#J���VB���
ZR�4G��s6	h_�&��(�۾�S����~af_�9�!5��n�"�q���[��(�����k�a�l$X]���B�#jN.�ӛL6P�l1
*��kn
��i|ȀH@�Ƿ���WF�(�%��� YB8�?$�=&t��Ԧ��m��@v2�����g9-�������ps���5N	�j��N�
�	���yֳ�ң����8>2w9[	L#,I
-8
z��H�dا��Y���G{q~%�C��)��i9h i鵥���|�F���	�}$ ��� ����Ӎ����L_��p�N
"��y�U
�qkxA�= C�)�� n1�� jPh�qkkj�n�.�2�r�?6C��ev��k]; ���w&4"��Q@bH���V�j/!�T0�AS!
À��qIO
0�ڍ�qUv�
]d'@�_��b]�Q�ZYfjS�?�
٨�t@�|8�����3�ݶ�n��2�b<	�+�oO��R?5�Q7�R��,����1A3��jx���wi
g�ĪLH?Ƞ�m��0!k�!}w
�xДm8�8P{�Y.�����*�������|�c16f�K���v�x�L����J�߫F���(o�Y�)��Tm�`DFUYA��k�xc�{��6�v�
"������j�<
�(��!O�%J�%@�<o�zR�V��d������9,�tr�1��ma1
-endstream
-endobj
-6344 0 obj <<
-/Type /Page
-/Contents 6345 0 R
-/Resources 6343 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6357 0 R
-/Annots [ 6313 0 R 6326 0 R 6327 0 R 6328 0 R 6329 0 R 6330 0 R 6331 0 R 6332 0 R 6333 0 R 6334 0 R 6335 0 R 6336 0 R 6337 0 R 6338 0 R 6342 0 R ]
->> endobj
-6313 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 697.922 180.649 708.453]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate_c03d43b46ab7f9e5d0ea3c46a5eab7b3) >>
->> endobj
-6326 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 659.298 180.649 670.202]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate_cf34edb23c376600051bbc563e4122c4) >>
->> endobj
-6327 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.986 659.298 228.24 670.202]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6328 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 621.046 180.649 631.95]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate_67cbe06cd666025c2ff64652d5824a2f) >>
->> endobj
-6329 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.986 621.046 274.725 631.95]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
->> endobj
-6330 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 583.169 188.398 593.699]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate_df9fc5ac7e45f36bc03af31b98b31a72) >>
->> endobj
-6331 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 544.544 163.215 555.448]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate_869306ea4afb6453b8e9cee36c96f46e) >>
->> endobj
-6332 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.552 544.544 257.291 555.448]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
->> endobj
-6333 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 506.293 163.215 517.197]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate_3b727ab728f8758af9fb217eca9d791a) >>
->> endobj
-6334 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.552 506.293 210.806 517.197]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6335 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.635 424.419 249.889 435.323]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6336 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 340.691 173.456 351.595]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
->> endobj
-6337 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.43 340.691 253.684 351.595]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6338 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.588 103.913 187.842 114.817]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6342 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6346 0 obj <<
-/D [6344 0 R /XYZ 90 757.935 null]
->> endobj
-6347 0 obj <<
-/D [6344 0 R /XYZ 90 716.221 null]
->> endobj
-6348 0 obj <<
-/D [6344 0 R /XYZ 90 716.221 null]
->> endobj
-6349 0 obj <<
-/D [6344 0 R /XYZ 90 678.089 null]
->> endobj
-6350 0 obj <<
-/D [6344 0 R /XYZ 90 639.838 null]
->> endobj
-6351 0 obj <<
-/D [6344 0 R /XYZ 90 601.587 null]
->> endobj
-6352 0 obj <<
-/D [6344 0 R /XYZ 90 525.085 null]
->> endobj
-6353 0 obj <<
-/D [6344 0 R /XYZ 90 469.546 null]
->> endobj
-6354 0 obj <<
-/D [6344 0 R /XYZ 90 327.388 null]
->> endobj
-6355 0 obj <<
-/D [6344 0 R /XYZ 90 305.076 null]
->> endobj
-6356 0 obj <<
-/D [6344 0 R /XYZ 90 305.076 null]
->> endobj
-1489 0 obj <<
-/D [6344 0 R /XYZ 90 156.41 null]
->> endobj
-226 0 obj <<
-/D [6344 0 R /XYZ 90 148.875 null]
->> endobj
-6343 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F23 340 0 R /F99 2117 0 R /F95 1788 0 R /F8 504 0 R /F11 418 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6382 0 obj <<
-/Length 1317      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~��0 ����E�%�dm�k�,���"�e�&K�$�5���
^$[��8mZ��)�<��;��PؚZ�:��>�
�\f(p�k�� [�K��M��D���`��>�vX�û�>�v��fbR�wo�q����"�ܝ�Ta����~��e����^}��"��$�c6��a�w:�}��
-[DY�=�1nE���lM��k
#��R��[e�X�{��^�(C��ڣ��8�#mѥ���1�l�FU���2��7<�xCq��|k@)rk�����
�f��q�%����
-�2�5R��c��m)r�����j�(�KQT�-�4
-+�%���
���I\)�Ջ�(z��Eב(J�
j
����(^�jQh�@���aD �^W
��E2q[/��Ea:у,MVzSU8
�`��s�|���
�l.LL��=D:�l�%6@��ջV
b9�h2�ht�h
P���5p"���
M��U'¸�J�Q�2����� �A�	����ʪ01�Q������
-�h3�J�TM$�&�F�Xb�3{
�PN�8/�$V��
'B
-I�>�C��6��ʧ}��|���m������L��
]�
-d5)R=*!��q
-�1k��ܸ
��E��-Ee"*3�;۶�rj��^2ɢ�\��V�^��u��pJѐ2�Q�T%�LLu������^QKK��O��l"@����6jMY����<O�lf��Y�b��
D|�[@�&�$B��8���a�EU
����<��
-5E��d�̟�4Jc!+9Դ�)�tȂ#�5
6�m�a
�nS�~�p|x�!����
R�*�g<p�
'
|4T��F
�-`E$p
�ӣ��ث\<��,��|�_����ʮj����o.ޞn;��1j�\�\��N�������Q���~�Y���L8ɡ"�I�J�o;�X��o�+�{�`�hI�J�Wv\{
M4uO �j+&�Y���|5P�ɂ:	!;8�ݠV�B@�nxF7���i��-f�����Ԕ��0?,�JT
+�q�7&���aw�_�ǡxR��4��F����_	����	�S���`G	���>
-wBS�a${������u���R7�D�
f�^=��0�J�ꪂʉ��
�[�=̺n|��M�S-x�U� N�����l2q�~!��=�N"�
��7go_�Q��A���w&h���
b��W+��
-vQ�AK��V� q�݉5m�y�{m�hn��W)�������0]Էy��')J����`D%��?`��{Q�=�۪G��k{ឆn��̪*?
��%�J�H�@q5����aK�!��k�4w�yV�7.�m> �� H�
B
-endstream
-endobj
-6381 0 obj <<
-/Type /Page
-/Contents 6382 0 R
-/Resources 6380 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6357 0 R
-/Annots [ 6339 0 R 6340 0 R 6341 0 R 6358 0 R 6359 0 R 6360 0 R 6361 0 R 6362 0 R 6363 0 R 6364 0 R 6365 0 R 6366 0 R 6367 0 R 6368 0 R 6369 0 R 6370 0 R 6371 0 R 6372 0 R 6373 0 R 6374 0 R 6375 0 R 6376 0 R 6377 0 R 6379 0 R ]
->> endobj
-6339 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 697.247 175.937 708.151]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Grid__Certificate_1_1Compare_92edb0b8b1e2097c5d20795e576517cf) >>
->> endobj
-6340 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.274 697.247 270.013 708.151]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
->> endobj
-6341 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [311.746 697.247 378.485 708.151]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
->> endobj
-6358 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.588 614.801 187.842 625.705]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6359 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.305 597.176 305.559 608.08]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6360 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.93 448.217 274.835 459.121]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-6361 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 393.358 160.207 404.261]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_10e7c95784e356487a6a6263a89cec66) >>
->> endobj
-6362 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.977 393.358 192.655 404.261]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_10e7c95784e356487a6a6263a89cec66e9cf46c5e08ead7689807e1c8ba30642) >>
->> endobj
-6363 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.643 393.358 257.053 404.261]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_10e7c95784e356487a6a6263a89cec664ac3b90df83c2e43249ccfa2702640de) >>
->> endobj
-6364 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.042 393.358 291.364 404.261]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_10e7c95784e356487a6a6263a89cec6625b86c6f0633416506503de2bf693876) >>
->> endobj
-6365 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 312.595 178.976 323.499]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_b1db3272b7beca7b1d9d17f23d22ecbd) >>
->> endobj
-6366 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.313 312.595 271.378 323.499]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6367 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 274.114 186.725 284.645]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_00017ad58d66a7948b0355b3e02c750b) >>
->> endobj
-6368 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 234.886 178.976 245.79]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6369 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.715 234.886 230.522 245.79]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_1177f236d8c66c01bbb43b37ff90bc7d) >>
->> endobj
-6370 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.859 234.886 322.925 245.79]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6371 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 196.032 178.976 206.936]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6372 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.715 196.032 230.522 206.936]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_c05ff6bef376a2835adbb0ca123a8e79) >>
->> endobj
-6373 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.859 196.032 299.682 206.936]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-6374 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 157.178 179.554 168.082]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-6375 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 157.178 250.666 168.082]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_60d9658ef91fbd3a1b0064253246f36b) >>
->> endobj
-6376 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 118.324 135.579 129.227]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_55b76ba0041601d8da38ab5ad619eed5) >>
->> endobj
-6377 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.077 118.324 155.225 129.227]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_1aabacaac0806d617f53db4b34b3349e) >>
->> endobj
-6379 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6383 0 obj <<
-/D [6381 0 R /XYZ 90 757.935 null]
->> endobj
-6384 0 obj <<
-/D [6381 0 R /XYZ 90 716.221 null]
->> endobj
-6385 0 obj <<
-/D [6381 0 R /XYZ 90 716.221 null]
->> endobj
-6386 0 obj <<
-/D [6381 0 R /XYZ 90 659.927 null]
->> endobj
-1490 0 obj <<
-/D [6381 0 R /XYZ 90 535.028 null]
->> endobj
-230 0 obj <<
-/D [6381 0 R /XYZ 90 528.428 null]
->> endobj
-6387 0 obj <<
-/D [6381 0 R /XYZ 90 410.428 null]
->> endobj
-6388 0 obj <<
-/D [6381 0 R /XYZ 90 331.569 null]
->> endobj
-6389 0 obj <<
-/D [6381 0 R /XYZ 90 331.569 null]
->> endobj
-6390 0 obj <<
-/D [6381 0 R /XYZ 90 292.834 null]
->> endobj
-6391 0 obj <<
-/D [6381 0 R /XYZ 90 253.98 null]
->> endobj
-6392 0 obj <<
-/D [6381 0 R /XYZ 90 215.125 null]
->> endobj
-6393 0 obj <<
-/D [6381 0 R /XYZ 90 176.271 null]
->> endobj
-6394 0 obj <<
-/D [6381 0 R /XYZ 90 137.417 null]
->> endobj
-6380 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F11 418 0 R /F23 340 0 R /F99 2117 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6426 0 obj <<
-/Length 1423      
-/Filter /FlateDecode
->>
-stream
-x��Z]o�6}���Sg3CR�(}ق�h�Y�mI!0��D�����~��ۑ
'U�a�C,�&/����tft�~>
��]'��}���	�C}F�y�\
���px2Bp�Tʢ��C�,ox�X�I\)����{%��=ϸb�T�1&px��<������
-�<�rm��
b�G��?~9| �tP����ę����Љ��
�0p��V��aW_�l�� V���\�
Axn�P���%Ƥ
���\���Jʤ����f�c�e
�ȣDd|��������z*��XkV_��Q��A�3b
|;c�����X�,7�5Pd��
�遶]��6Z7��f�H\[�X��%K{�*{��Jo��@��}	���|4n܈�a7*:0{)���t����cD���댵�� �)��B���DT�� Z�!thl
�"�^1�y�Zw�3���̖"+^��Ym��o)��l~��I���G����F.
��<+v�������8��z���
O��/*E>���F�h�RO���t��6�l53��,fL	v�tʾ۞9WZ*n���@k�6��u'B�����`>ny�u�/�>��7(�=�(��%y
c�V��4�:ʱ�c�a��

�h`�
��'������
�R�J��r�G�r��U�H,���"����_�Z�Ȼ�^�E]�
�d鮽5�VU>�:����w�V?N����qݫ���|@ށ'�����윩=��4~��RvX^4�=
�e̜����N�Q �Í]��O��/
[x�K��-���
-��Q
��,_�V7���� ��i�|HU0�)����X�l��q�.
F�9�*D} =��NQ{�k���y
Z`L�b�涒�3�lZ�
/��,��G�$�.��OT4����gE�TbE��g����w
M���b#W��3��Ԝ�^���P[nD�l�a�@oEV�X5`-6�
�ۮȺe�U_g恵6
-iO
gI��T�4��"��K�)
}�J�w�e�`7�	��le
-�&;�o�-�����j��#�u&~�D�aim�G���:�o�-�m(���O���E:f��D�ϻ���ckf[^ēɔ+յ�@���|�6:;��a�1+L�N�Po����`:J��}a[fY��,��y��-
-��sp�s��
"=�<W�6b�Ȼ�D<�|��#��
-�I��cҽ+�"٬Úѧ
�伕j:�`�{�.Z
��m�T�ۮ�����3
i_[+;��❳^t��������:X��=����AH�6���BB at Hŧ�zm?)7�*�N�N�]�c���}�#��!ê��ƲF9��n�)��hy6����������F��S��:(����
-�VS��|rttww�9Xdb��(����h-mQ#�m˱���9��9��_�e�����`��
-endstream
-endobj
-6425 0 obj <<
-/Type /Page
-/Contents 6426 0 R
-/Resources 6424 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6357 0 R
-/Annots [ 6378 0 R 6398 0 R 6399 0 R 6400 0 R 6401 0 R 6402 0 R 6403 0 R 6404 0 R 6405 0 R 6406 0 R 6407 0 R 6408 0 R 6409 0 R 6410 0 R 6411 0 R 6412 0 R 6413 0 R 6414 0 R 6415 0 R 6416 0 R 6417 0 R 6418 0 R 6419 0 R 6420 0 R 6423 0 R ]
->> endobj
-6378 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 720.286 162.677 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_2a0bc130f7cf6a0678ee3b982fcc7ab6) >>
->> endobj
-6398 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 681.058 187.563 691.962]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_41227446c918730e97998799bfe04da6) >>
->> endobj
-6399 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 642.204 220.768 653.108]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_76fce1702224700691a26cf5e780a1dd) >>
->> endobj
-6400 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 603.349 168.216 614.253]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_c915c8d26a7dbcdbbd0c4985ec5b7d4b) >>
->> endobj
-6401 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 564.495 226.308 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_811f6f947785240bcb76bfca023fed17) >>
->> endobj
-6402 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.933 526.014 297.728 536.545]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_f4e7705af87f5eb64d2ebdc60cd7a36e) >>
->> endobj
-6403 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.544 526.014 336.732 536.545]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6404 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.933 487.16 283.353 497.69]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_cdc0aeddab3d98e336719f42e6e5b06c) >>
->> endobj
-6405 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 447.932 191.718 458.836]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-6406 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 447.932 288.852 458.836]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_13419c5d820bde20af5eabd23e479ec8) >>
->> endobj
-6407 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 409.078 191.718 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-6408 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 409.078 303.079 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_c3e03bc2df621903d136c689c38bdb6f) >>
->> endobj
-6409 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 370.224 201.471 381.128]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ba6b40a4b9708e94d6cd10f54144ed70) >>
->> endobj
-6410 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.808 370.224 293.874 381.128]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6411 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 331.369 182.044 342.273]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_1f0828932daf26d10e94120c1f4a4d6b) >>
->> endobj
-6412 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.381 331.369 274.447 342.273]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6413 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 292.515 227.981 303.419]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_68e8cef74c6b4b5a56e2c791f41566e4) >>
->> endobj
-6414 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.797 292.515 297.44 303.419]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-6415 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.943 292.515 407.008 303.419]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6416 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 253.661 272.783 264.565]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_77a904793c99cfb1d61fadd277d59471) >>
->> endobj
-6417 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 214.806 181.845 225.71]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_164c38a51c8718e6ac3a3f3e4af77bf0) >>
->> endobj
-6418 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 175.952 181.845 186.856]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_77123fc17c8bc6d59a76802c0592a2c6) >>
->> endobj
-6419 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 137.098 154.727 148.002]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_0f19da4c46bb8b3be01875eff4c00538) >>
->> endobj
-6420 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 98.617 176.505 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_58b86510b9c4dc05004c0fc01622430b) >>
->> endobj
-6423 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6427 0 obj <<
-/D [6425 0 R /XYZ 90 757.935 null]
->> endobj
-6428 0 obj <<
-/D [6425 0 R /XYZ 90 733.028 null]
->> endobj
-6429 0 obj <<
-/D [6425 0 R /XYZ 90 700.151 null]
->> endobj
-6430 0 obj <<
-/D [6425 0 R /XYZ 90 661.297 null]
->> endobj
-6431 0 obj <<
-/D [6425 0 R /XYZ 90 622.443 null]
->> endobj
-6432 0 obj <<
-/D [6425 0 R /XYZ 90 583.588 null]
->> endobj
-6433 0 obj <<
-/D [6425 0 R /XYZ 90 467.026 null]
->> endobj
-6434 0 obj <<
-/D [6425 0 R /XYZ 90 428.171 null]
->> endobj
-6435 0 obj <<
-/D [6425 0 R /XYZ 90 350.463 null]
->> endobj
-6436 0 obj <<
-/D [6425 0 R /XYZ 90 311.608 null]
->> endobj
-6437 0 obj <<
-/D [6425 0 R /XYZ 90 272.754 null]
->> endobj
-6438 0 obj <<
-/D [6425 0 R /XYZ 90 233.9 null]
->> endobj
-6439 0 obj <<
-/D [6425 0 R /XYZ 90 195.045 null]
->> endobj
-6440 0 obj <<
-/D [6425 0 R /XYZ 90 156.191 null]
->> endobj
-6441 0 obj <<
-/D [6425 0 R /XYZ 90 117.337 null]
->> endobj
-6424 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2117 0 R /F97 2175 0 R /F98 2120 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6474 0 obj <<
-/Length 1637      
-/Filter /FlateDecode
->>
-stream
-x��Y�r�6}�W�ɥf, ���Ğ4I���S���$dq�[Iʊ��]\H�(�J�i��'Q�X�=8�
b���������ڵ� .u���`�s	r(1�#�I��pD0���`��)��)6�d5�Qɦo㇒���䦌��
�x��
���ͫ�U�z��g�
��Y��&�<ˤ�5�|���������A���<�1�t��36"��W#+�
�6��31������ܡG
v��b����G-�]G��m�"�K�Y9�
3O�S���1Ӷ�ŒrN�Fl��i;�e���wW�_�Gj�C�3y�>*�լ�s=�v0�Nʉh�H��()x�G�Ӈ���QZfU��h��NUG�I^�j!�^��D
-󬪵-����e�r���al���.
-�����VR����z
wa5�\�lL
 
-�@����:���d5t

G�eVu��y��S�\��
�A���͠x�(Y-W�l�\vm���{����
 -Z�y=��2��D��	������GoD1F�����|��S��k��a|���%`o�����
-z�p÷}6����$E�M!V6��
Ws

-!���w*K� P�����'V�,��h�ȩ� �2Q
�����dOR���8l�R�\q����
�����7U��[���LR8??~$���2��
����v�U�Y�B�3 ٜ3�a�gC�Lh��N����{�o���uW���Ii߽�}�V����i�	Y�¸��; [eψ�$�#�䱫C"�s�L�.
���
O��o�Y(�x������l�M���3�R�
��.
��(�$q�Q3
����r��kQB��K�1�?r
�4�
^�
-�N2Q����ȘB�R��U�����~R�\@��?9�A�+Y�k��E�`��
-�Tغ�/��M&�x�7ń,� Y��z(�ta}�'�u�⺚L�s�R��
�A}�?!�x�L_^��gm+ݼ
E��q<�`�E48J0�RJ��@�k���g�c��|
u
!��Q�bڞ&�?HY�>��0GjP��Y��3���Y0�<ga���?UC�]퐅�C;�˖i�Δ�Y-Ϣ�J'� �;�NuNS���N�U���”}�VP"�i;�h�t�\���"�b �noDǶo	 �@I2mm�|OOzBUm�K���8��%Z�
����nBq)�oBHGv~ ��\�ۤ8�[��Cѣ���d
7 ^
��,s0���?�+��OpJ���#�4*��K}��u�s����5D�A���8 at O�c�;����S7F��(T7���C^����<�h|v(����,�!@�[^�V� U��
�Y��L7��Y�ڋܺ�9�y���^�3����)/�L��͞
d�4�����C����o\Ѯ]�.�yN
��|@d���~Q

	B�d!�?yE���Wt��8�r�Ƴ�/:�_|�<�o�=���g�Zڪ#�����M"�(�(4m�(yY-��bn��_ݷ�>�3���:G����vp�Ջ)'���V��7��"��6�����^}����O�JH��;�-!�y�x�.�0
pD��
�
o����yz3����%����<�뺘�����ZdqQ��
E2�׍
+F�52k^��y�ެÏ�|��
��/9|ˎ
-endstream
-endobj
-6473 0 obj <<
-/Type /Page
-/Contents 6474 0 R
-/Resources 6472 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6357 0 R
-/Annots [ 6421 0 R 6422 0 R 6443 0 R 6444 0 R 6445 0 R 6446 0 R 6447 0 R 6448 0 R 6449 0 R 6450 0 R 6451 0 R 6452 0 R 6453 0 R 6454 0 R 6455 0 R 6456 0 R 6457 0 R 6458 0 R 6459 0 R 6460 0 R 6461 0 R 6462 0 R 6463 0 R 6464 0 R 6465 0 R 6466 0 R 6467 0 R 6484 0 R 6471 0 R ]
->> endobj
-6421 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.408 720.235 450.955 730.141]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_77123fc17c8bc6d59a76802c0592a2c6) >>
->> endobj
-6422 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 685.469 150.493 695.999]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_081718c23b5785da17c63ffec13536cc) >>
->> endobj
-6443 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 646.346 156.281 657.25]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_0fafb66fa4df451fd3e2f0392329f27b) >>
->> endobj
-6444 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.097 646.346 225.162 657.25]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6445 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 607.596 203.065 618.5]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_e1887d907ab06bddeaa2682bdf94d268) >>
->> endobj
-6446 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.881 607.596 271.946 618.5]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6447 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 526.985 202.497 537.889]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6448 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.995 526.985 240.962 537.889]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_edf9116549ffcced7a39f4596e65e5d0) >>
->> endobj
-6449 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.3 526.985 345.549 537.889]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6450 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.88 488.235 209.945 499.139]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6451 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.891 488.235 259.714 499.139]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_c061731c4fec7f60c48e02ed9806b4bb) >>
->> endobj
-6452 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.948 488.235 379.197 499.139]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6453 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.543 437.53 209.608 448.434]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6454 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.218 437.53 260.724 448.434]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_065895a1428f9dc6b3002818686eff0f) >>
->> endobj
-6455 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [302.284 437.53 379.534 448.434]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6456 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 386.826 203.075 397.729]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-6457 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 386.826 296.324 397.729]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_c74dafaa0b06e9cd3d15ea0d2af1b213) >>
->> endobj
-6458 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.005 372.257 337.637 382.162]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6459 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 348.449 194.297 358.98]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_041afb1a2cc7277572fb7235cf08cf64) >>
->> endobj
-6460 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 309.7 188.759 320.23]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_e94a99f8e8d290b5791baa01fd540a14) >>
->> endobj
-6461 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.953 270.576 226.019 281.48]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6462 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.758 270.576 301.843 281.48]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_f00dd6aeffc847b73a3aee11d6d169b6) >>
->> endobj
-6463 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 162.844 226.034 173.748]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_082a74ad0ce931ec2e517bf0f009daa2) >>
->> endobj
-6464 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 162.844 386.241 173.748]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6465 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.599 124.094 160.965 134.998]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_1a15765e7fd1f486a9ee12a061dc4c76) >>
->> endobj
-6466 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [169.464 124.094 345.612 134.998]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6467 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.361 124.094 513.996 134.998]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6484 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 112.139 155.733 123.043]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6471 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6475 0 obj <<
-/D [6473 0 R /XYZ 90 757.935 null]
->> endobj
-6476 0 obj <<
-/D [6473 0 R /XYZ 90 704.136 null]
->> endobj
-6477 0 obj <<
-/D [6473 0 R /XYZ 90 665.387 null]
->> endobj
-6478 0 obj <<
-/D [6473 0 R /XYZ 90 545.907 null]
->> endobj
-6479 0 obj <<
-/D [6473 0 R /XYZ 90 405.867 null]
->> endobj
-6480 0 obj <<
-/D [6473 0 R /XYZ 90 367.117 null]
->> endobj
-6481 0 obj <<
-/D [6473 0 R /XYZ 90 328.367 null]
->> endobj
-6482 0 obj <<
-/D [6473 0 R /XYZ 90 289.617 null]
->> endobj
-6483 0 obj <<
-/D [6473 0 R /XYZ 90 208.887 null]
->> endobj
-6472 0 obj <<
-/Font << /F63 374 0 R /F72 471 0 R /F65 376 0 R /F99 2117 0 R /F50 339 0 R /F102 5156 0 R /F34 2406 0 R /F11 418 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6500 0 obj <<
-/Length 2477      
-/Filter /FlateDecode
->>
-stream
-x��ZYs��~ׯ@^6d�
�	`�u���:�l*�WI
�[.�
�H@�@
���9 � ���*U�T^`������pt����חg���,�H�4�.�#��$&HP]n�w
B���/�,	^d�>{�fI�*
vj[g�ȯ�~X�_����kU�:k�z��/�)����oյ��$]�r��'a	[P��?_~������SመS�%LD��ٻ�q����#��L�;C��8ep-���z��DؗL`O2�c�Y%�!

+�O�
-�}�]�n%@ԫ�*ܺ>O}���Pha����������OX�MU6��LF
-�a���
����� #���z�]B��s�-JQ�i�"
Iέ�ު�X���
P#<j�[aK��Ge�B�
�:���ʕ�[{S�Ń��W�-x�R0���~��bJ{�s��1��
-U����fx�0�ݧ3���hV�
ԭ��G+^����o����f̕U�	�K��s��Q�"��I�k��z]5m���=���ў�� �2طW̗_�s�d*;Z�♣4�
���r����A͂�=�+�"�e�ο
���W�cI�¨��F�v�$�i��0�����˺ߪ6�
���j6u~h�zT���
18�a���bTN������U.Mw�z�=Ty�4[�����U龹���t�;�jw����_;:��J��6�UQTK*wyy�y��W4A"M�F6��^kɹa�)W0���
K�Ĉ��ļ	
���y�A�J��K��
8�Nl|��1�
q�J�96�ZbyD �8Y��%����\�E���n�!���
��� �������1�4�H�TG�w��U'��đ]Π=F$�A�Eh�T�;�'A`p�@M�{���"1��)|�G�A!8�
�LA�F]
*�FR�

�j��)�ED\B���D�
����M�
�IbDa'��(N܎��Z��,>x3�c�A��v�s�ˑ��J����!U�LQ�2�
Qj�R�0�hPg+ɟ�!��$�աB��{:|��3�d�^~r44y`����Ü/$�?�/�_�@0Ѿ
���U�@Ѿ t��O���_��$>I�'���
-:�������p���"+p����ՌUi
'�ҹb
����k��0��{U6�L�/\�C�Q};�f��5���OOPϝ��D�^��^����&㠶ă� �O����ۼ�
1�u'5.�
�nCtx��8����J��y���E�M_-Bm<�5l+ �`]�Òp�z�mv���E�sg,�on�Fb�v'jݣ�a%;
�(9
��c���Z5����ﮏ妵8��! B���R�.z4���@.(C��/f��~rT̈́��o����
XA{ޗB
M��;��B�%I�s��PN��916�G-]V�{����hN;̅^�N�������;�i�
�oC�l�?S
-iiz(x��z~��
N�@�a���c�������
	���h�b�-~x���܏�95�6��k'�}�,�/8�6��Xl����
-�cR.vվ�UG؈c;=�J}�Ka:�L�.��vI��ۇ��(,�f�W�|(܇�MY�j�-R&"]�c�J��
�(Hg=[�邝�7�N�>d�9!��bڞ�9���8�G�l�M��u��nr3��D��@�
�n�-6��F7�`un�wu��~���}��\)z�os���"CV1���/ܡ
���f|��’��|}T�ͱ�-�t�\������ao����5S�
=�C������o����F)��uI"T��Ǔ����/�QBR+�� F-�����3��r��]����l;VY H�gW�˙�L�
?�2I��2���޸���`�q?�O����&=��������*l֏M�d�`b��1�RIj2)��l��S�r����聵�_t�
-�ݏ,!�
c2��s�5-�i-0�R4�v����ń�ɕBWX>��M�U�r�y�^19�����+�j�xa��A�D�0GYP�I<S�l�
�nĄ��&�)�A=��.�J����C��֣z��{���v���N�.����r�B�E��h���������k+����c���]�nt�
Q�8���!��\C��(�Uu~���2L~j�&ަ��$L��څ������F�${������7�������!�>��μ�J«�|�˱�$1$5���4V�ϊ�L�ʰtz�/�X�ߴ�W�$^����8k�[�x���DRO�${j

���,�c2~��w18��I�H���
cr2;����l2?-HA�xfZ�E0Tn$PK��_�����o��%fX�qa�l��u��uK�
����h ���92,��D$��͇�Ӆ�0'�N<��8�Е�����[

-�C��G�>��1?��{��t�Fb���؇�5���
/8�����̕���3�aʂ؉��Ck�G���g%�W����F+oޗ&�
�Y����>?���C�
��P��=���|<.�D����Wuo
-X�g��G��7�&��
-endstream
-endobj
-6499 0 obj <<
-/Type /Page
-/Contents 6500 0 R
-/Resources 6498 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6357 0 R
-/Annots [ 6468 0 R 6469 0 R 6470 0 R 6491 0 R 6492 0 R 6493 0 R 6494 0 R 6495 0 R 6496 0 R 6497 0 R ]
->> endobj
-6468 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 719.912 180.54 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_3075c67d9868fc0b483db13256fb4e0c) >>
->> endobj
-6469 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 719.912 272.942 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6470 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [314.676 719.912 379.741 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6491 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 681.058 178.239 691.962]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_8ab7b9abebd48fe0ad129a237338aa96) >>
->> endobj
-6492 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.576 681.058 270.641 691.962]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6493 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.374 681.058 377.44 691.962]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6494 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 642.204 226.034 653.108]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_6fb154017052c68b63121cef49c568ce) >>
->> endobj
-6495 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 642.204 411.457 653.108]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_10e7c95784e356487a6a6263a89cec66) >>
->> endobj
-6496 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.82 542.133 242.885 553.037]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6497 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6501 0 obj <<
-/D [6499 0 R /XYZ 90 757.935 null]
->> endobj
-6502 0 obj <<
-/D [6499 0 R /XYZ 90 604.884 null]
->> endobj
-6498 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F11 418 0 R /F78 539 0 R /F8 504 0 R /F7 505 0 R /F10 473 0 R /F13 540 0 R /F6 538 0 R /F9 568 0 R /F12 622 0 R /F23 340 0 R /F31 472 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6509 0 obj <<
-/Length 2414      
-/Filter /FlateDecode
->>
-stream
-x��Z[���~�_�[P������'q�w����;y�}�0����5�_��
�FH���y�]�����
-a���އ�on��
�I$��ړ�
A��a����h��%c��`?.7����~�
^�U?�=}*��p��LW��<)�(��c��Y\U���d��
�I�L`L�B�S��<�p�������
ѫ�!
-�����~��
-��0b2��Zj���5�>����

�f��
�
1Q;$$D4���2��Gos�r��l.6�m\ƛ�Nʟ1ǯ���\�� ߨ=ݽ縧�[�8�wKA�B�y�YԠ	*�_���;u+�]���*]ۮ,͓����^������/�x�?�/�>��u�dY�Et⫴L�uZ��X7���-�A���L�eR%y�����Am�
'�$fg�}8�e��w��A�>����e��hq�`�/���
T�錐 	,ap=���F(�@j	iӈ ��D^�#��L�v�����v�mW���Uc5\Ю���� hW�J�>r�Rܨ��$�h�")A�
-Cy��4��
fꢙ΂sh��ޥp�v7�B�B'�|� �V
te����~m�F�X��6^Z9���#�}�y�T`ߎ_�8�����E�

-F��Ϧ�bRK�����u%
-���d��p?�4�:&���I`mG$`�h
-#����鏺'@aD�^�k{6�E���-	�$�c
-�S��5�l3
d6x�E)�+��β*�1�'"vi��3(ŚP�����&�e���ֈD�͇��
P%�s_i�!��$b!i��9


�FM?
!@2�= Ugb7�	@�̊#�C�4Z42�9ے
�'E�#�;
���x<S��71�@;��L��<
@��4̷�ՙ?��nO	p
�
΃q��f��d.�L zK2���2�^���i�G�M��q�ǁ#Y+
YC ��=�2+P<�q������Z��'��-�ӹc{
Q$!�^�I�2�O�&��2;,�b�h�F��~�(bC[
�X Ek������e
��6/ƺ��ѩ~︓�i�s�7^OcA�DW|6<��(RhV�N�h�����bw$WY�W�����ärm�1S�&��
㬞ւ�c'b9���s��ǧ���y
�AA�~
U/���<b��*�(v�E�K��q��mM��+!%��uk�98��0b��1����V��P�/	��3D^�|�
��d���i_*$���$£�Wi�9v��x5i�h�-O�I*E
�nE�*;�&K�T��)�n��jgn�>t��M�W6���,|Br>M��O��&��9��!�@x� �����Ц����*Y��4.�*1w{�kR�mV����׺�l��ڼ�
-��(+����n�
Rɩ�t��&�?�]� �6w�qtg�`���n�
:�uϦ�9T��7�)Ʀ�cS����B�#��3���c�����
~:��@pA�&��#�W0;��}K�QcaT�L�8d
�
�P��	m"Qm����h�3�
��
��\�Ba�
 f���t*wO�
.$�
Dž�}�=	���~��I��GyF�=";�F�N�z8ۖfUi�l�ʋ�v��e6F��&��]�A�llU�X�8;mQ���Gѡh�8R8�6�)��3�R
�ӪP�23H�����
�ke��l"�9/Gl���_���䢴�_O8Ů��
B����^5P
w�y��J���´h�ZL�Vfe:�@��
؇
G�Du,x�T�)�zJm����.U��Ȳ(�U��uR!�
k�^
؀<ͫ:Ηɻ�K3�aiƉ̼/@�j7=V׫݌E� u��>
-DagZd�xs< E�h��O
@�Vص+�׮�^�2U��
-X�
-XWe�nD�Vޤ������p��o�%��Q(��r��l=
h��s��A5�L�>�_	>�`���u�߯�����QPs����ʺ�思Ҽ�V[�������V�#�NJ��Rf�Q-��I�aU�i?��ֻF����ʣ�[mIWG���" "�9t�8t5�A����H�r������Z��)
i�S3NNV��H7����~�II$ @M9)�
I��uS!b<<�S6W"(���ʃ����d��̗'z���w���V�gP<g��z�_ /Q��6
J�lCl�BZG-������C��<;�N	;�1��15��Dj�j�u�ډ
��9O@ �dg<A�x����ld��ES��^K�ȵ��^K�����E�I�[|u���N~v�X���.2����3]p����-�
a��,FH�E�${$�]��H
j�7*�K�����������^x0��i���2��͟�̣�G�y�O��P�Œ���.�̽ҿ�jQ�lNQ	�ݻ�sЧ$��4;��k��fѭ�Dr�������n�ߣe�vy�-QZ�m���1��^��>mqhS��_�rh�hW����/
Q�
-endstream
-endobj
-6508 0 obj <<
-/Type /Page
-/Contents 6509 0 R
-/Resources 6507 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6357 0 R
-/Annots [ 6506 0 R ]
->> endobj
-6506 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6510 0 obj <<
-/D [6508 0 R /XYZ 90 757.935 null]
->> endobj
-6507 0 obj <<
-/Font << /F63 374 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R /F78 539 0 R /F8 504 0 R /F11 418 0 R /F7 505 0 R /F23 340 0 R /F31 472 0 R /F75 541 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6517 0 obj <<
-/Length 2265      
-/Filter /FlateDecode
->>
-stream
-xڵY�s��_��CJ�"����\Rǽ4�^}n�p���$H�"�:�����vI����	 �X��o�%�V
�n.�����6R^��HF���K�G��Rxw
�/��d*8�����~Vo��7���x\�E������q6������.u��U=�ʐ��Y���V/u=��˹�B�ʗa4y��������➰R�1�U��7��so��8Si�=X��Hcώ��j�F�#��X*ƣ�z�D�2
~�u��E>���1o:�s~
�|Y�����Q���z��U�jװ
>��jىy`��HX�So*��e�[e��@�H��l�z�:ү��4�m�n����*${��Vm�0(
����v]-|�jm&�c���%d�l������ɗ
䳬�r1\��j+
��]/�LE;�`�e84��M�JF~�6Fg�p�׫�fs�yv��V���
-4��Vw]tn�7�Y�bG���`m^�V��&��+�4k~�\�s]v�g��/tY�)����~R��\�-�[�\D�Y9��UQ ��r���'̌��?5����!oi���
-<~(���
��|�"��|���+h�#�"���a��L
��Zn�x`B
L �
��T1�$�*�H�Xg�9�B�b�;���A�
��uf��G�[
jT�¸T7�O2t�
-X^ Q~�!G"!��$:�
	b/bi��=d2�@R��q	X{�+��Q����w����l&c��٭$25 
X*ý^��
1	��86�`
q���X$:��3b"�T&!�i-�"�Rٴ�nNNĀ4���
R��Gp$H�
Grdc Q�W�Yؘ*�O�
�' ���I�D�7 ���L���(�4�C��E�'�Sp=SJ&Գ+?f� H�_�Ϥ��
�/ȧ�H�v"����LJ��+n_�c�)���~t��@��g��,
�xs�ga l�ME��0&��QA
k��,o�m�6�FD+�%�Ֆ)
�����<�8�j�"ŗ_��ٍ��fJ9�LWbF�]�p�u�(�����C:~�SV�_��p(ڂҒ;�$��R�V}}s��y���U'���}OکE��)N����ًC����ы���Ц/p�cċ 
1�U���<�:x
���۳���wV���0�X ������	�B9`p�pL{x�����9�����_�6^���0�֘�G ��?ah�P���4=��o#[�ѿ�� H�RȌeEK3�����؇���B&���Aܗ���k�ޗ������� ��3R�?��~n�>{HDa�K!
-�!
-Z���?!��G'X.^*=��/�:ك�Ж��r��@&{0�jW�ݪm��f=,�
ݮ����s-
�-|:kn)lȮ)gIx�)^:f���2�7Ɯ���1p�(�ѩ`u�� !�d�
-��
-.�������(~
��֟0�g�
fdJp�B��y��'̬���X
l֘�V����b�A��
-|���L���|���!RD,�aF�[5rXV��/���R$�����`ݭ�zY`�$fa�ܺ���^��$�5����\&p�k����iOn:�Fj��/j��w���
^��e�H��^s�Z_�э�m9@���P��K�B&�a�Zo>t���r�1I�7�_�9�)[|E��	� ux1A�4p���lD�fw�8�MUtlS�0�Y$����J�DO�`8K����u:�'�e:�D�R��J*_�p�T�L/c����څԚ�J9Mi�����$ԛI�/o_�����}J�bcY8S��-{���
-G�]���ꇻ'M�O~�ɰ���&x
�k,�t�չi�`kZ���
Idz����ܷ7޻�!�yˣ=��6t�B>�j$
�ݕ�gǢ�cq��o뢂��x��|
�k�/ �ۘO��"n,$��3�
Q�4��R/F�2,�}w�]^�fj�����ES��Y
���V���l��^߮���k=��8�&�wL��Q�SO at 8�3&$�o�Uݮ�����	�
x�MGg���z��-��s:�:�
���,�����JsV5�l����v1�Aep�cV�Y��x*Q��
-��E�#����HU��զ2I��5�Y��j��l�I ������Tkc[��0ܷ��U^����
C����u���(��s�u����
`B�	��q��%�A6��ÿ]�ɤ
-��Y��R�U�7�>�p& B
��Do�&%Q���n�w����P�)��aݶ�������7lW�ۚ���v[\
�e�;���M�Ud�?VG��/�P�
-endstream
-endobj
-6516 0 obj <<
-/Type /Page
-/Contents 6517 0 R
-/Resources 6515 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6523 0 R
-/Annots [ 6511 0 R 6512 0 R 6513 0 R 6514 0 R ]
->> endobj
-6511 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.445 227.366 329.35 238.27]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_55b76ba0041601d8da38ab5ad619eed5) >>
->> endobj
-6512 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.558 136.271 211.623 147.175]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6513 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [212.121 136.271 438.779 147.175]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_edf9116549ffcced7a39f4596e65e5d0) >>
->> endobj
-6514 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6518 0 obj <<
-/D [6516 0 R /XYZ 90 757.935 null]
->> endobj
-6519 0 obj <<
-/D [6516 0 R /XYZ 90 380.291 null]
->> endobj
-5246 0 obj <<
-/D [6516 0 R /XYZ 90 357.98 null]
->> endobj
-6520 0 obj <<
-/D [6516 0 R /XYZ 90 357.98 null]
->> endobj
-6395 0 obj <<
-/D [6516 0 R /XYZ 107.713 283.02 null]
->> endobj
-6396 0 obj <<
-/D [6516 0 R /XYZ 107.713 268.628 null]
->> endobj
-6397 0 obj <<
-/D [6516 0 R /XYZ 107.713 254.236 null]
->> endobj
-6521 0 obj <<
-/D [6516 0 R /XYZ 90 214.489 null]
->> endobj
-6486 0 obj <<
-/D [6516 0 R /XYZ 90 192.177 null]
->> endobj
-6522 0 obj <<
-/D [6516 0 R /XYZ 90 192.177 null]
->> endobj
-6487 0 obj <<
-/D [6516 0 R /XYZ 90 89.441 null]
->> endobj
-6515 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F8 504 0 R /F11 418 0 R /F7 505 0 R /F10 473 0 R /F13 540 0 R /F72 471 0 R /F95 1788 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6539 0 obj <<
-/Length 1471      
-/Filter /FlateDecode
->>
-stream
-x��X[��F~���))
υ��$JVJS)M�}٬VČר68��f��{��Ř�z����<X6x8��wa�޵���ً���`�DRPᝯ<��H�)��3��'�0����. �O�mz�.��/7�k�U����S�V�IrV��ՙ*T�6e�)���MZ���{�RU at b_K1	��Oy\����:�}��
-{�d�#1�-���K�ep�����wgVm��2��xf���ъ(CX�AE�!�'Mh���J��Q���1�˲���ۼPiu����T�yY����z�%$��DBJH��쒽<I��튟݊a#&�v�Ka�zsqD"�AW��T��M-I����U��L�
G�K��L�/K���1]�h��*͛:IL'�l�Ñ
�Mb�d��M��!�Ѻ9�}
��*�	��:ZA�tM�F��f���]��
}���I�|yi��xp5��"$hh/{����pxo����I�+���Z685`�#���:F��K����j"

Q�{�-���P�d
����-�u�ú����'��_o4�-y�k���g3��,q̮��=�$�8����q�h�:���<���s)
���
��jx(#Nh>Xy3֘C�e��(��Ę(�pz�_�'0�
��#�
�� �2l�˝c��GNk^_�l������� ���
��
�f����]��F�OB�;�ġ:
�b���>
�pZ#mN���6����8!��&��u��} �eCc$4s9
-�
�Nz�ʴ�NFpo#�tEX���S��,I�"��n�
ie�1Jeo��#�Q�|]������1_M�%��*��2�i�
���9!�5���G���
�\�_듻2/�'�.{�t#
=f�8~�t���=�.?j�I�g�L� M���u`1�#z�9��(
�)�qB��`觘>⧰��~zpM�
��7
�d���*H�?d������
5�?
�aGm��O�y�����>I���@G��;�R4L���|�~�Lz�A�&�NU�
~�#&x�L�
�@a�tV2�
 Ҹ�	;���nB%0C��?�>�(����}�����j̦ ��ݧY��ĭ(C��'I�)p�a�ҍ�H��|���E���|���s���=���p`|�G
�R�ٲ��.�ҝQ�o���?˽��_�ҥK0ˡ`��:L��1 ��
u�ޛ
��tN�3�Z����F�(��`U��#���K@�DcB0&I�,F�Ia�hr�^��ˊ�-�u�ۼn�av�wT���%�*�[z�e�9�d&!�(��� �P64�C����Х�Zf\�|����`2���~i�O�q�X$�[v'���A $�O}�n^�C�pX�^�s�8�8�v���6a{貶�ת�)��w-�5-�ƶ����US}#m�vK0g��J�"mez�_ff�}�f��̺iv�bqww��5�)�]��f��m��D��t�Y�
ݖ�+?/��6Ռ8��_7|
-endstream
-endobj
-6538 0 obj <<
-/Type /Page
-/Contents 6539 0 R
-/Resources 6537 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6523 0 R
-/Annots [ 6524 0 R 6525 0 R 6526 0 R 6527 0 R 6528 0 R 6529 0 R 6530 0 R 6531 0 R 6532 0 R 6533 0 R 6534 0 R 6535 0 R 6536 0 R ]
->> endobj
-6524 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.118 660.753 217.183 671.657]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6525 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.461 660.753 330.896 671.657]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_c061731c4fec7f60c48e02ed9806b4bb) >>
->> endobj
-6526 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [358.522 660.753 435.772 671.657]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6527 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [316.086 631.174 422.655 642.078]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_6f8cd8fbee64faaa5e47c8e41ba7662e) >>
->> endobj
-6528 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [439.486 631.174 511.506 642.078]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_66438955854cf73ddaf27a40a69fec7b) >>
->> endobj
-6529 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.579 472.298 216.644 483.202]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6530 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.653 472.298 331.771 483.202]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_065895a1428f9dc6b3002818686eff0f) >>
->> endobj
-6531 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [359.128 472.298 436.378 483.202]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6532 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [316.086 442.718 422.655 453.622]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_6f8cd8fbee64faaa5e47c8e41ba7662e) >>
->> endobj
-6533 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [439.486 442.718 511.506 453.622]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_66438955854cf73ddaf27a40a69fec7b) >>
->> endobj
-6534 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.445 230.278 329.35 241.182]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_fceefab91d648d188e42e5a75a3a977e) >>
->> endobj
-6535 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.445 97.315 329.35 108.219]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_eff190ba56f86d3425859043689d499a) >>
->> endobj
-6536 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6540 0 obj <<
-/D [6538 0 R /XYZ 90 757.935 null]
->> endobj
-6541 0 obj <<
-/D [6538 0 R /XYZ 90 733.028 null]
->> endobj
-6488 0 obj <<
-/D [6538 0 R /XYZ 90 564.772 null]
->> endobj
-6542 0 obj <<
-/D [6538 0 R /XYZ 90 550.202 null]
->> endobj
-5270 0 obj <<
-/D [6538 0 R /XYZ 90 376.317 null]
->> endobj
-6543 0 obj <<
-/D [6538 0 R /XYZ 90 361.747 null]
->> endobj
-5285 0 obj <<
-/D [6538 0 R /XYZ 330.844 233.431 null]
->> endobj
-6544 0 obj <<
-/D [6538 0 R /XYZ 90 216.704 null]
->> endobj
-6442 0 obj <<
-/D [6538 0 R /XYZ 330.844 100.468 null]
->> endobj
-6537 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6550 0 obj <<
-/Length 1651      
-/Filter /FlateDecode
->>
-stream
-x��Xێ�6}�W�(��@��]��H/�hڢ���	�M��ʒ#�q�_�!)ɒL;v[$/}�E���̙!���a�f��ltu-��HR�͖^��@$(�f
��'Q1����jL����՘b?O�VjQ��$o��x�No�d�p�2U�U^<�=��Z�'T`��4.K�x�����W�\�'A�T��7���g�w#�a�]D�&��zt�{
��aĢ�ۙUk�S��w7�}�O�E�R���!Y��6�Sx$��fN�I���m��{�m���ʵ� �_c��yVV�|��D�
���D�T+�:�+���:
;��s��|�dW�,��z�,���f50��,�@�#�"����nU�-����ݟ1��v���*�L*ǤY�,�q��y�>�'xe��]G�ɽ�9��(
-�
�UR~T
���
"Q����˰R(��	8p�1��MKd"
n�(�a��a��X�i��ю��
y�
-.7�\5o�*+h��F�,��i�
H�1�H��)�)a��'&h���j	���DgC��7Z5�p��w��W.�R�<�;`n��p�36mJ)�
�3 at H/�.�VA#��)
-�a���r���9��I$ϲ�\n�پZհˋ�1��&���TOc)�&��>ǼH�8S�<W�
m7�_ӧ�7����O�y�]�1����
-K�d�r��\�i
-��y늹@����e
-ŧ�'D�$��'�#
cF
ڍZ (�����nf\Bq ����E�V�*�0���M�i�f"�t)
-Q��l�LjV�(j'
�9O�^���T��\(I��E�F0��<�k
x͒��ۢ��ES�nUW����l^]���|�m��T�h��QO>"�e��N�=S

U����囚@��`N��
hk�g
�L
���v;d�P��C:��*:�E¶1R�%��N�s$�1tրN��5��	'�!�'�}ac���/�m�Ͷg�x!���+t6�UR���()3!���Z.�1"P�n�p�o�"Ύ��I�3P�����xT�c�,��^9���	����T0'�A�45O�4�K��]
 FZ�&7L�
�(<�&�"�z��-��?���1��A��%.7SF�Z��0@:A����D����}€2A��L#$���]z[��.έ��N�
�!)���͢�Ap�tB������x�Ǥ
E�z��
E���@����nY��$^��G��
B����A�b��8�
	���������s�B��p�{!��!���g�c����Y�[dk����l
p�i��oID��=�\�@F��'j�]Ьm�{M��Z6͂i��Qrihe鯗E�

,�y�����NE�E�jj��{B}��Y�H4��kJE��D �6��V�������Z
��=
?�ͩ34݃ċ� ���,�X$
�� 
��}i�ʑa��癋$P�[8v�ٓ�
-e{h��E�Q ���m�O�JIUց����c}�|kB���8�:�
��ǀEt;1�����$<���\P�Uh�c/��1̔V�z��m���v�G���u��p�5ζͭ����Z�*�6�t9FT3볮�Tm���O�y�yd��ח���:��j3����vh^�m�l
-�TW櫞�V�Q�
-i)`�7W�I�kC����>k
-endstream
-endobj
-6549 0 obj <<
-/Type /Page
-/Contents 6550 0 R
-/Resources 6548 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6523 0 R
-/Annots [ 6545 0 R 6547 0 R ]
->> endobj
-6545 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.93 111.131 309.156 122.034]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-6547 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6551 0 obj <<
-/D [6549 0 R /XYZ 90 757.935 null]
->> endobj
-6552 0 obj <<
-/D [6549 0 R /XYZ 90 733.028 null]
->> endobj
-6485 0 obj <<
-/D [6549 0 R /XYZ 351.108 675.861 null]
->> endobj
-6553 0 obj <<
-/D [6549 0 R /XYZ 90 659.134 null]
->> endobj
-6554 0 obj <<
-/D [6549 0 R /XYZ 90 567.781 null]
->> endobj
-6489 0 obj <<
-/D [6549 0 R /XYZ 90 545.469 null]
->> endobj
-6555 0 obj <<
-/D [6549 0 R /XYZ 90 545.469 null]
->> endobj
-6490 0 obj <<
-/D [6549 0 R /XYZ 90 496.228 null]
->> endobj
-6556 0 obj <<
-/D [6549 0 R /XYZ 90 481.657 null]
->> endobj
-6503 0 obj <<
-/D [6549 0 R /XYZ 90 434.453 null]
->> endobj
-6557 0 obj <<
-/D [6549 0 R /XYZ 90 419.883 null]
->> endobj
-6504 0 obj <<
-/D [6549 0 R /XYZ 90 372.679 null]
->> endobj
-6558 0 obj <<
-/D [6549 0 R /XYZ 90 358.109 null]
->> endobj
-6505 0 obj <<
-/D [6549 0 R /XYZ 90 310.905 null]
->> endobj
-6559 0 obj <<
-/D [6549 0 R /XYZ 90 296.335 null]
->> endobj
-1491 0 obj <<
-/D [6549 0 R /XYZ 90 197.942 null]
->> endobj
-234 0 obj <<
-/D [6549 0 R /XYZ 90 191.342 null]
->> endobj
-6548 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F11 418 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6591 0 obj <<
-/Length 1380      
-/Filter /FlateDecode
->>
-stream
-x��Y[s�6}�W�)�gb���K:}��6�n��4�O�c�B<56�M2��~�d��H������tt�wEؘظ�}
���.3��5F�
�%�Sb
�ƝI�ܲ	�ؼ�6�|�-��,Y<�q
�Gy�/..��x<����2ˇ���S˦
�?'aQ��� r���H#aٞ�������/��?=ذA*,�C
�F4��}��~�j`��x�FM
�2�&�m��
޹/�v��W�Gբ�[�K�W^!.r�oؔ"��k��X}Ǹ�9PU�S$�|��pS
�ێ��(�q��iM�~�_z����H �C
�8( ȧT�)�7�9�_2�ғ��Bu)V��
�uj�;�����	����6
�
�S�$�����tTC���Q
{�
l!��c)C���%��c��C�lq;����E<�󤴖������l܍���d�M>�j��\�P� 
��g�h��}�9*�վw}{����&��A�����G����I"�,�d �a�� �|�,�q����
-pD}��'jH
$G`�����1İw嶊f��H
��a�����a�{)�&�h�ipw��;��I-

�q^�
���!}n�|g��-1��b
��Bk��W��E1O���t5+��q�Z�{̰��N�GI
��(o[�qzn5������
?��Do�5��"��t��З1���[y*fa$��ض� ���k��<O׳�r�V�m�?���=+�:��Q��L�\/Z�G��-
���� 7Z>�EGԦЪ��a�y�3�=�zOU���?a~�z�FLu]_��$Y�aW�|�-�����W6rp��
�eQ�
ņ�kFRfꊏ�`	����\��Z��M��Mwq(�
���x/y
�k&
-�I{�k�S�
�ٷ$>�7UŃ��oVM�˞���ej5izH*�X�38Y�]-.�dk%���n��^����� ��q/��Z� h;>�q
�A��F�̊qW��2D���t-E0,�Qm�����6:���FY��68ՙ����e�
#š�[�q/
-_s��-�x�Q��]�}�J��1�Z�����G8E
c��ο���<�$>a��Tޱ�����ц瘳
"�v9G�N�z\*Jץz�!4��jtm"-�)����
����z�i���
�Gy��˟�BH(��7<J��5C���1,J[�)�wQ�!�@
-x�D;[��}���i
�X?��9m�[�|&��\�²�Vu�ԃ�<��βx�8פ�
\Wp�.��:�U�ҩ/Af���,|
�y�;J��J�ˎ"1FT
-��ǭ��W��o����W9�/�=�0mbcY�.����gh�Ƴ
�e6K��'C+���^3�CݬN�\�)~���i��fb
F
-endstream
-endobj
-6590 0 obj <<
-/Type /Page
-/Contents 6591 0 R
-/Resources 6589 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6523 0 R
-/Annots [ 6546 0 R 6560 0 R 6561 0 R 6562 0 R 6563 0 R 6564 0 R 6565 0 R 6566 0 R 6567 0 R 6568 0 R 6569 0 R 6570 0 R 6571 0 R 6572 0 R 6573 0 R 6574 0 R 6575 0 R 6576 0 R 6577 0 R 6578 0 R 6579 0 R 6580 0 R 6581 0 R 6582 0 R 6583 0 R 6584 0 R 6585 0 R 6588 0 R ]
->> endobj
-6546 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 698.25 192.544 708.178]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
->> endobj
-6560 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 616.587 213.297 627.491]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_6c21214d11e4dc9738dad1f72501a286) >>
->> endobj
-6561 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 577.786 213.297 588.69]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_642db539e09ba9a9746d490390097d73) >>
->> endobj
-6562 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.634 577.786 305.699 588.69]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6563 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 538.984 213.297 549.888]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_72f8cca084e83cace83223ea0ea42bca) >>
->> endobj
-6564 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.112 538.984 282.755 549.888]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-6565 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 500.182 213.297 511.086]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_998804f094e131a7f06d05c6e9eb5f5c) >>
->> endobj
-6566 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.634 500.182 340.02 511.086]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-6567 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 461.38 221.045 472.284]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_8f29bc3aa01b8f5c67a3323189f9cf9e) >>
->> endobj
-6568 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 422.579 213.297 433.483]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-6569 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.036 422.579 264.843 433.483]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_8a0c95f43fd48c07a63db5efa3564769) >>
->> endobj
-6570 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [292.18 422.579 391.566 433.483]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-6571 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 383.777 179.554 394.681]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-6572 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 383.777 250.666 394.681]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_c485f37c083be7bc0238a3f5c6c112e3) >>
->> endobj
-6573 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 345.349 155.265 355.879]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_023dc725ab60578fb2161f06211fa023) >>
->> endobj
-6574 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 306.174 158.044 317.077]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_465d046e2570dea82e57ab6af9b179e9) >>
->> endobj
-6575 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.382 306.174 250.447 317.077]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6576 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 267.372 199.947 278.276]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_2d0bc3adc78e64aafdab0dd9a292db1f) >>
->> endobj
-6577 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.763 267.372 268.828 278.276]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6578 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 228.57 199.947 239.474]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a2e9eec4ddeaf5dca3afa1976d36b703) >>
->> endobj
-6579 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.763 228.57 303.149 239.474]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-6580 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 189.768 161.013 200.672]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_9e847f0bfafeac6438cecb2d2114e665) >>
->> endobj
-6581 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 150.967 195.165 161.871]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_ce4c05e99016850c16c2bdaff5914afd) >>
->> endobj
-6582 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.492 136.372 224.161 146.277]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
->> endobj
-6583 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.215 126.081 209.885 135.319]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
->> endobj
-6584 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 101.58 187.563 112.11]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_bba3cc93433c6564ba34c1fdd360bde9) >>
->> endobj
-6585 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.482 86.612 271.151 96.517]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
->> endobj
-6588 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6592 0 obj <<
-/D [6590 0 R /XYZ 90 757.935 null]
->> endobj
-6593 0 obj <<
-/D [6590 0 R /XYZ 90 716.221 null]
->> endobj
-6594 0 obj <<
-/D [6590 0 R /XYZ 90 635.535 null]
->> endobj
-6595 0 obj <<
-/D [6590 0 R /XYZ 90 635.535 null]
->> endobj
-6596 0 obj <<
-/D [6590 0 R /XYZ 90 596.853 null]
->> endobj
-6597 0 obj <<
-/D [6590 0 R /XYZ 90 558.051 null]
->> endobj
-6598 0 obj <<
-/D [6590 0 R /XYZ 90 519.249 null]
->> endobj
-6599 0 obj <<
-/D [6590 0 R /XYZ 90 480.447 null]
->> endobj
-6600 0 obj <<
-/D [6590 0 R /XYZ 90 441.646 null]
->> endobj
-6601 0 obj <<
-/D [6590 0 R /XYZ 90 402.844 null]
->> endobj
-6602 0 obj <<
-/D [6590 0 R /XYZ 90 364.042 null]
->> endobj
-6603 0 obj <<
-/D [6590 0 R /XYZ 90 286.439 null]
->> endobj
-6604 0 obj <<
-/D [6590 0 R /XYZ 90 247.637 null]
->> endobj
-6605 0 obj <<
-/D [6590 0 R /XYZ 90 208.835 null]
->> endobj
-6606 0 obj <<
-/D [6590 0 R /XYZ 90 170.034 null]
->> endobj
-6607 0 obj <<
-/D [6590 0 R /XYZ 90 120.273 null]
->> endobj
-6589 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F23 340 0 R /F99 2117 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6636 0 obj <<
-/Length 1513      
-/Filter /FlateDecode
->>
-stream
-x��YKs�6��W�J3
��\�L�I�L�؝
�
&!
�B�Q�_�%RS���vz�����oX,�uka�b�����k[
-\�Z�3+����(��c��D�dJ0���	�c^�<��P<Γ�\�%�ɛ�����R���Dɫ�
����dJ
�J�Rz�A�D9!�Xd��L=��œ��oG�]���Ȇ-���<��̊����؊��[
#;�E;+�
j�3��F���k׳՗�5}	v�c��G0"�Q��qV�<������8e I,S�)�ga�,��4��Y��e>�l�P��O�a��V�g��b��g�=j����4�P�\�ZS� ��"DU������I'�
X�
�3�,'�
3�ᶱvc�	a�ƞͻZ	&�-��57�u%���Nhj#�q�
-���<�(
�P�A��V���=ʉ�ď���15��yb���k�UX�2��
-0 ����fې !�b=�*k�'m��l�$i��Yl�Β��x���`�����O�r8��~/�\�{� @*.;/�3c��x@
-�����lM�]�>���
-�ך'a�����wp�l��X���s�A<D�wr��]��"�d��� wFviG�
�͐�/��>b�{*7���G���"j
-�/��i
�I��@!�:x����7)L�Z�:�+	��"~�4���Je�6�")øN�G���RVݖ3�k6Lv�ΗT��G�,�|#�ϛ�l_�\�z���
�P�� w����@
|���g
Ԇ�ʼ�5n
s��Rps4y�NTmj�8=�R�,��
`hzd��䁓h;ۧ�sQ�.�ȇ�˲�Ƕ0�"0:��Ԡ����Q+��p#�^�`^�����Ko#l�n����� �����| Ɓ�0��'�Q��<��r ��w�V�.���9
����
�7�
8v����x��q��w�7rZ���D���,��ԫd��۵x�„0�F��w��*1/6vQp��nj�9��10
- �iܢH��1x=
@w���X=o=�:�:��R�:�yH

-�^�O� � <c�PH�
	3	;4�0F���g�T��h*��8�t_��^
��›e%����Jb�:l��X]��P
o�����"R~�&t��.����;��s��[��^�2{:����
o�g�����>{��w��n���|�NY�E���Y
�>��p�ɯ���"�9�l�������klݫL	aP{�ִ)�c̫f?��^�7I7~/V
��u5E�f�m_c�[�����(��^?9����*x$žzo~8iR��eZ�ڮ�b���iJ<���]z�q�;�͡ J�ٻ�m�5OyX��LV�'M�<��s��o["jn���}���Zp�y�%_w�E�>�/-Y�3^w�\�V,Sn^�K�j�-��_J�?5��Q�=�ꮲh��ְ�ʓ0��6�Z�Jt at k;X���Q�^V��C6�w�yU�gg��E
-ՙ,J$���H�������3������>�m�`�
���Mx9l
-endstream
-endobj
-6635 0 obj <<
-/Type /Page
-/Contents 6636 0 R
-/Resources 6634 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6523 0 R
-/Annots [ 6586 0 R 6587 0 R 6609 0 R 6610 0 R 6611 0 R 6612 0 R 6613 0 R 6614 0 R 6615 0 R 6616 0 R 6617 0 R 6618 0 R 6619 0 R 6620 0 R 6621 0 R 6622 0 R 6623 0 R 6624 0 R 6625 0 R 6626 0 R 6627 0 R 6628 0 R 6629 0 R 6630 0 R 6631 0 R 6633 0 R ]
->> endobj
-6586 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 707.027 179.554 717.931]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-6587 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 707.027 223.857 717.931]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a09a1ddc7936a5377e838cb44610548e) >>
->> endobj
-6609 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 668.306 179.554 679.21]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-6610 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 668.306 248.444 679.21]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_c53b2bea17ae404e291cbcb7033dbaf2) >>
->> endobj
-6611 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 629.585 179.554 640.489]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-6612 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 629.585 223.558 640.489]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_102ffa79248502b4998a70fba5f13d98) >>
->> endobj
-6613 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 590.864 178.727 601.768]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_8cf170e729ac4e4576624d6ed7d4b44d) >>
->> endobj
-6614 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 552.143 182.044 563.047]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_494a5dcf815a292978b1864d2d7f77ae) >>
->> endobj
-6615 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.381 552.143 308.768 563.047]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-6616 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 513.795 150.493 524.326]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_6a5f64baba3ae5704d9645db684434d3) >>
->> endobj
-6617 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 474.701 181.845 485.605]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_c5764ede75697ec70757c5e208945ca2) >>
->> endobj
-6618 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 435.98 181.845 446.884]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_3ddc697f9236b117382c35d7f7da5419) >>
->> endobj
-6619 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 397.259 154.727 408.162]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_dfc60b971ed974350d241482f15f46ac) >>
->> endobj
-6620 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 358.911 176.505 369.441]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_63fd965105d740ff7003037964ec7d10) >>
->> endobj
-6621 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.408 343.983 450.955 353.888]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_3ddc697f9236b117382c35d7f7da5419) >>
->> endobj
-6622 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 308.857 191.718 319.761]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-6623 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 308.857 288.852 319.761]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1f0983add75d3a9c3663fbf925739212) >>
->> endobj
-6624 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 270.136 191.718 281.04]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-6625 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 270.136 303.079 281.04]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_4254da492e5eeb1c12d8d87b997cd229) >>
->> endobj
-6626 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 231.415 156.281 242.319]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a8e33c8dd37c45144bf92a6984c7706a) >>
->> endobj
-6627 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.097 231.415 259.483 242.319]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-6628 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 150.846 203.075 161.75]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-6629 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 150.846 296.324 161.75]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_8530a0719104225bd022dbe9529ae527) >>
->> endobj
-6630 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.005 136.292 367.019 146.197]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-6631 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 112.498 194.297 123.029]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_62e7b71f72659356d1d732236ed5f330) >>
->> endobj
-6633 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6637 0 obj <<
-/D [6635 0 R /XYZ 90 757.935 null]
->> endobj
-6638 0 obj <<
-/D [6635 0 R /XYZ 90 726.054 null]
->> endobj
-6639 0 obj <<
-/D [6635 0 R /XYZ 90 687.333 null]
->> endobj
-6640 0 obj <<
-/D [6635 0 R /XYZ 90 648.612 null]
->> endobj
-6641 0 obj <<
-/D [6635 0 R /XYZ 90 609.891 null]
->> endobj
-6642 0 obj <<
-/D [6635 0 R /XYZ 90 571.17 null]
->> endobj
-6643 0 obj <<
-/D [6635 0 R /XYZ 90 493.727 null]
->> endobj
-6644 0 obj <<
-/D [6635 0 R /XYZ 90 455.006 null]
->> endobj
-6645 0 obj <<
-/D [6635 0 R /XYZ 90 416.285 null]
->> endobj
-6646 0 obj <<
-/D [6635 0 R /XYZ 90 327.884 null]
->> endobj
-6647 0 obj <<
-/D [6635 0 R /XYZ 90 289.163 null]
->> endobj
-6648 0 obj <<
-/D [6635 0 R /XYZ 90 250.442 null]
->> endobj
-6649 0 obj <<
-/D [6635 0 R /XYZ 90 169.753 null]
->> endobj
-6650 0 obj <<
-/D [6635 0 R /XYZ 90 169.753 null]
->> endobj
-6651 0 obj <<
-/D [6635 0 R /XYZ 90 131.151 null]
->> endobj
-6634 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2117 0 R /F98 2120 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6668 0 obj <<
-/Length 2026      
-/Filter /FlateDecode
->>
-stream
-xڵXߓ�
~߿BO���\R��M
�$wӴiӽm�p��p-,9�|��_��d�+���܃Ǥ� ��(�=y�{{�׻��7I��"O�Ļ{�r饉q����{�+%�x�TRJ�����n6���E ��|Y�������n^nn�6��k*��n�߽���,�A,��Jݶ4�5��Y��7��,�i� Q�ᄑ�����+�IO9[�T�a�6W��^Ͽ�����;��!��޻�_I�K�����?%�����ILN����}��{����ӝ]���˶`9��ybCo�
-��Aʠҥ��
룷��������ߤ����I���H��[�H�2 ;�,�ط���٭

V`1����$�~
E�䗇bUWmw>�H�	�g���b������]eA
��	�zk�]S
���Si������N�
-h^W�˥�X��ǘ�܀ox��߶�U7�(Nx6��e�
�y�(J%
�ƚ�h'ˏ����!�΃࡮��~�[:�/�8uP�+x���	��{`	����#�P
-�L�\��
	MU��o/d�=]#���z�E��
N�W?��Oᐃ^ վV�b��	/'�
�Y���9c
SA���e�U���L1{kJ�v�ͮZu��:A��F"�k8`�ug�,�ݐ�-?�
��_n���Ѝ����
�$Q�}�R77u�5Fs��천!��t+�
����fr*�,�e1
3���"c��KSf�g"��i��k�mw|"��D.�R��ki��*�c��;ڳ=V�^b�O�G�3a��,�m�eq��n��5�(�p+�ǜ)�͂�V�XU��߻�YY�,35+�����u�m��#���|_Xa�\��Q�q�V(f�_��e_p�6�[,�KN����55��d?Aly����P��~	�"
s�~�ɬ:
?�F\8rw(r�a��mI�&ս�}s6ލ�n���0����lveg[�MU�;��1���B��̴��cޡ�ԻW	���V�*#��1�iZڍz(�昖+Xb�����ME�l՚�#ZK���V���)r�]��+3�
ȝ�Z�–�T܄d��]Wo�떮���]K�ښ�r/�%e�?b%�3���:`s�ua�=�6R~�jD�
}��I1?��9
Q�j
-��� ';,�����F���]�I���UGî���\�����l���{D�ǖ��jU�
-C�����v�Y]�
���
�dG%K|袭
U�:k��F{4$��`� l��*c����v���=�p
nM�Ҵ?�?\���'�m
s$7����N�3bB&�`2�;➅�;`��=Wx�}�
-*����
��W�`;�[�ճ�l��
k��[�CE�m��|`s����Q7q�,QQ�I
ǎ��Q�ɝ(K�#
-|FI�+�y�|`fY�e���ۛS]+V��R�Qȋ���"`��_�z�L ۞�����s0)����-� {�W���u�X���!��,��������}�� 8��!����}�Z�rϋ\Bѣ�F���׎D�N9%��T�$�A��
��xht'p�V��e�0�}���-�D�*}��δV;��G4
U:ZE�g���
���eN�%�������c/�b���#Q���e(
�����'>�!ʞ�9$>���*�
k�=
+N�iٟ�ϑhO�Vq�(aζ�ѽ�D���c����*����I�J"Zx�2иN!s_?�X����y�-����L2��g���WuӘv[�7'�Z��h�w(\
޻M"����o�nɚ
xX�֬�bu�$��}�;R.�9����Ƞ���Q���9�7��Tv�����,S��si��a��4K�8͘]�{꫙ 뢘l �ӕjJ.�J
]u
.`L7(�������>�j��
śTvML�Iu�!;�{��.����>d:��19�Qiŭ��O��M��G����Xı������ΌIyдC�BI0S����ɳ�{���T=�b#_.�]�������bՊ]e�����v[^�n*#-p�L%�5���}ǵ<D]W�8��<�Xp
-endstream
-endobj
-6667 0 obj <<
-/Type /Page
-/Contents 6668 0 R
-/Resources 6666 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6523 0 R
-/Annots [ 6632 0 R 6652 0 R 6653 0 R 6654 0 R 6655 0 R 6656 0 R 6657 0 R 6658 0 R 6659 0 R 6660 0 R 6661 0 R 6662 0 R 6674 0 R 6663 0 R 6664 0 R 6665 0 R ]
->> endobj
-6632 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 720.286 188.759 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_864a52992178820135a7ae3a75e65377) >>
->> endobj
-6652 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.953 681.141 260.339 692.045]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-6653 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [271.079 681.141 333.146 692.045]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_90e26e60ccfbe3c6ab8d91b5bf06dab5) >>
->> endobj
-6654 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [290.965 666.562 419.427 676.467]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_f00dd6aeffc847b73a3aee11d6d169b6) >>
->> endobj
-6655 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 600.499 180.54 611.403]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_e64d3d01d4baab5102f00046f941188f) >>
->> endobj
-6656 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 600.499 307.263 611.403]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-6657 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [348.996 600.499 448.383 611.403]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-6658 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 492.703 226.034 503.607]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_8e247a33c9eb40439c706a98c5d363d0) >>
->> endobj
-6659 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 492.703 420.562 503.607]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-6660 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.325 453.932 166.691 464.836]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_d85c523fefc56e289bd9fdf878bb339a) >>
->> endobj
-6661 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.917 453.932 391.386 464.836]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-6662 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.021 453.932 513.996 464.836]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-6674 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 441.977 248.713 452.881]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-6663 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.243 341.985 281.629 352.889]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-6664 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.609 330.029 202.675 340.933]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6665 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6669 0 obj <<
-/D [6667 0 R /XYZ 90 757.935 null]
->> endobj
-6670 0 obj <<
-/D [6667 0 R /XYZ 90 733.028 null]
->> endobj
-6671 0 obj <<
-/D [6667 0 R /XYZ 90 700.193 null]
->> endobj
-6672 0 obj <<
-/D [6667 0 R /XYZ 90 619.431 null]
->> endobj
-6673 0 obj <<
-/D [6667 0 R /XYZ 90 538.789 null]
->> endobj
-6675 0 obj <<
-/D [6667 0 R /XYZ 90 404.736 null]
->> endobj
-6666 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F11 418 0 R /F31 472 0 R /F7 505 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6682 0 obj <<
-/Length 2221      
-/Filter /FlateDecode
->>
-stream
-x��Y�s��_��J�	�I����$7M�L�s���
-B2[�TH�l����?DK:�]�>h.��b���ۀo������6AJҘ���&Hi cF"΂�<�y���r�(����.�f���a��.�T�d��^�7Y�|s�)��oU��������N�+
��_ʬmM�'�Q͒%
U��r%h�/���꛻�߮�F�e�$�"
-ֻ���A��JD��z�.���2xw�������}F�$��
�ɘ$\&��P�ћݶ��Z�t�Јnq3����E�F#�i���I�=!�	��*�}e��tX+e��ϰ&��-�_с�V,LA
�fƻBk��3�̋��ڢ����vd���e]����ْ�
�`���=ء��,�%��E�5�u������
-��Oi��m�
�ܨuw�
<���,)�bToB��56��j�O���`��[�����j�,�
W]��
(G�(6�����C��F���6�6�1Q�a�+�ʱxD�e�8��}XB���/��ʰ����Ee��Y�T�]��Л���oV$��4��z���$B��S�j��D�.$����Ul��ԇ���hC�ɀ�d�q��r"!,�n��1���<q�ڨf�
b8M"q<�@��Y9��.F
���}���%�⤠��-���R��t��Q)�,G+�K|4-���s�T�
�^�,���H5܃9W
��W�ϕ���S�ۗ�������`�����N�3*� 
-H��u�nt(ʼ5���E��& ��u7W�4�j�u�{��U�߭��7
!ڢ��P�|r2�Я��Z�t�MڒR�w�c'��JqrڋY�^�᤽u<�δ�ւ���n�м+�ͳG���msP��iT	CAd#���c��8���|Fg�|&��
 ��$�ǯ�``���e���P3�Fi0�1Z�Ϩ	��w@G�;"�J��NbBpN”���H/�{dE���P'
�W��X��I�%
C
6
�����$	���"��QJ�d#�{!�D�ڶ�N;��x�VܩN5�1��k�]�c���
��Y��b���b�&��C�
��� �x
0C�2f&
0C���'3d�@�
-�0÷��<S?���qK�5�o���m�'
Q��ʁ��ckN���z|Gdޜ��LJ�� Y7 @֩i
��H�4aw(����- ȥ�s�����������)N��H\s�����nv"S�z^�⿨�3� N�j��B�אc
-.�֤@�����w� �S�Q�O�ߙ�hBԉLq
�D�F��:�LåK�9&5E�qmle���pr�d��l�рr�����0گ���rF����S�Ϯ�[JcA��ٙ:o��{;Z�h0�T�}R]�>�`�a��q ��q/Z3wh��Gz �B�mW�Bo�җ6i�0A\�Y*6QJ��
s�M���
� T1�"4��������m�����8W�Ta>Q��0�4�n�L/��6�c�ք.�*��2$4�㶝��dr���@�3lX
��ٰ9>���/uY6(!�|
�G�GH6�s�R���#E�**�cz�V�*>MV�e��а�S��^dp�����E(@L>97���y�_ �a���p�0�4DG�0i��I��ׄ�$
�$
r�4@[��r�4�IҀ�*��^��D$7
��[��1N(�N(f.��Rɨ�s�.��P��s�U3�B�?-ێ�')���fX`�_��@�ޗ1���Lfk�xu%~�����0Jx��,�ƃ���zhBI���������vا�
����
�+��g�<�a��7�
�o�����&
����@��ȧ�A�͘[��v}�����l�n'�:�Qw�R(�|p�]�����`�h��s�(�u���%Զ������u7�
-�Ǝ�d]�1
Ƙ]r�p
%��Nz���q�jT�&)�%��b�HM�8��򍁹�*-�Y�9�1/�o��CV�jN�0$"��a��3��z�� �,�j�!���ev_B�
����i:Vͣ5BfSl�����`q%���5��+U�
-v��4����8�j���M�6��v�þ����9v���3�2�.���8🾁�	xgr��~���(
,",q�Ë6����~η��=�|�G}��O�?,�hau���:8=�6�z|h��c���$�t��;��&���
���
���DA����u������G�nɡ*�
)�����>F��Ѥg�q��}�
�;]�;�� �IL
-endstream
-endobj
-6681 0 obj <<
-/Type /Page
-/Contents 6682 0 R
-/Resources 6680 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6684 0 R
-/Annots [ 6679 0 R ]
->> endobj
-6679 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6683 0 obj <<
-/D [6681 0 R /XYZ 90 757.935 null]
->> endobj
-6680 0 obj <<
-/Font << /F63 374 0 R /F65 376 0 R /F50 339 0 R /F11 418 0 R /F8 504 0 R /F7 505 0 R /F23 340 0 R /F31 472 0 R /F1 542 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6692 0 obj <<
-/Length 1947      
-/Filter /FlateDecode
->>
-stream
-x��XKs�F�ﯠrpv���y���8�ˎ]v,�r�]*����_����ؕ��!'^�LO��_=8�p�z�����dA�bIep�	b
�� AIp�KB�5�/?�^&�6����xYw7*k��w�U�4w����<�|�J�$]�\�ݵ�ڮ�T���"i[{�ImT�"�R��Z��n�d�/�o��/�Z�
��"B2����
d��m����֌��2����>�/��b�/D��ޫ��d�{�+�.�J��s���
-L��ה#���D�����N��

yL���ӼlUәI��38�ʶs��ֽ5`A,ܶ�D��gz�ɫX
<
��k;b�+���`mb�<��@"`�I���7�h��*�#
M
"��~v̜��M��X@%��J�iUk��٧jc�ݍ�7��=�׌9�LN�2ZQ�8��?�L��yy=Y���!����I�>g9��L��rCJ�2�![�m�$���]��l�G��c�G��n@�M4�y�L�b��j*��N�d���x�Q9�����y8����vn
�߮Q��I���s�w�}�0&��
�S_8�
-�fg��"���� þ��)�p�xx�������`�M<f2�eWUUX;��=~��k�1��R�������
��F�N@
��dG^���J*��<){�Hz��@�-���0Y��vM��8�1��c�٩�1�c��|��M�.���X
�(��8L�1���y��3��]^�dXT��$��� ��[g|i?;��e;�ٮ���`5]�mn�]%��z\�a��� ��
-d��G���Øo�B�
-�2�MSm��`p-
�g0=�sfL
�ggTȟ�QI���eQ%z�!3��v����R(���*6'E�C���CQ(
*ٜ�HF�K�D���;0�7�9B��������e�
-Y�8{�捽mTݨ֫(�N� q
�M��R x��;~`
��l���+p#��c+�ij�0���6s�U];[mBD	D��R|���x�$I�VM�hF
-��|�Ӡq
?�������v���m7�⇙������$E;73$� ��Is���W)q�M���Q:�u���6���}iD\�&s�wNL�p�ub�
��z�somD�&��ݶto�
} �:�1'�Э�r8�}�E0o^�]�9ڬ����D�ȧ�	|ҩv�
{
-�T'�
1�}���jW%���KO�~�|I=�q�!$졍�	PGhdZ���,�s��&We�\�w�'U$��'5~�7~�J� �kk����9�o��.>ͱ?�!�Q�z�]�|JJ���[��W� S�B1D���Ҝ��eg4�#�޾��	ė9�$Q.�A��?�}J��|3ώ���끶jP����K�͞?�
��W�y��Ӥ�o����l+�|+�k���h��Qjg'dh�������ZKP9�=>��}��0����HǤ��f�th9"@�P���#	� ��j��%�/Gz#7�î�w��^�~!��
�M���
sǀ��5;d� �3�N�2��p���$�K���^�p���^��%�Zn�Z�e��2��&�� 9�
-r��1�Uq|_6~Ú.\�������7UQ�t�M��I�.��cf��
W�^�s�E�=�p�ҵ?Q����6��
79��#Y=�\�0H��HSnH��1r�!������ۏ�g
"cd¨O�K~�cY���A�4�Lg�J{�7���Ļ�P��܌�b�
S�E0A�����w�H�X�U�Ӻ�@+ݟ�ߚ�#y9jc�����"�kK}S�ӱ
����[@���W>S*&bm- �u]���ї�Y���\~�Q�9�GJH:0�
�k�|�./4�c@��Ph~oU�fd��I�K��i��z*hD��1"Q�0�Ý)�6iw�g����0��K"�����������-ڕyݠ�;ǝ��6�5��$
���^n
V�����^��
-endstream
-endobj
-6691 0 obj <<
-/Type /Page
-/Contents 6692 0 R
-/Resources 6690 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6684 0 R
-/Annots [ 6685 0 R 6697 0 R 6686 0 R 6687 0 R 6688 0 R 6689 0 R ]
->> endobj
-6685 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [485.444 568.961 513.996 579.865]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6697 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 559.063 130.826 567.909]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6686 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.445 539.381 363.671 550.285]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_6b57cf93153051d3aa63c33e34ee4127) >>
->> endobj
-6687 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [310.804 477.607 445.257 488.511]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_3ddc697f9236b117382c35d7f7da5419) >>
->> endobj
-6688 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.445 418.448 363.671 429.352]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_37abf9e26c109cf608ec7829284883ec) >>
->> endobj
-6689 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6693 0 obj <<
-/D [6691 0 R /XYZ 90 757.935 null]
->> endobj
-6694 0 obj <<
-/D [6691 0 R /XYZ 90 733.028 null]
->> endobj
-6608 0 obj <<
-/D [6691 0 R /XYZ 90 716.221 null]
->> endobj
-6695 0 obj <<
-/D [6691 0 R /XYZ 90 716.221 null]
->> endobj
-5425 0 obj <<
-/D [6691 0 R /XYZ 195.633 639.557 null]
->> endobj
-6696 0 obj <<
-/D [6691 0 R /XYZ 90 622.83 null]
->> endobj
-5426 0 obj <<
-/D [6691 0 R /XYZ 365.165 542.534 null]
->> endobj
-6698 0 obj <<
-/D [6691 0 R /XYZ 90 525.807 null]
->> endobj
-6699 0 obj <<
-/D [6691 0 R /XYZ 90 404.874 null]
->> endobj
-6676 0 obj <<
-/D [6691 0 R /XYZ 90 382.562 null]
->> endobj
-6700 0 obj <<
-/D [6691 0 R /XYZ 90 382.562 null]
->> endobj
-6677 0 obj <<
-/D [6691 0 R /XYZ 90 333.321 null]
->> endobj
-6701 0 obj <<
-/D [6691 0 R /XYZ 90 318.75 null]
->> endobj
-6678 0 obj <<
-/D [6691 0 R /XYZ 121.143 244.124 null]
->> endobj
-6702 0 obj <<
-/D [6691 0 R /XYZ 90 227.397 null]
->> endobj
-1492 0 obj <<
-/D [6691 0 R /XYZ 90 129.004 null]
->> endobj
-6690 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R /F11 418 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6721 0 obj <<
-/Length 1305      
-/Filter /FlateDecode
->>
-stream
-x��Xmo�6��_�b�&�0�W�ۀlm�v+�%ާ����ɒ*�K��w")ٲ']���!�D
ɻ�
�
[

[g����ѩˬ .u���
-��	J��̺�	A�u�clO
��X���b;K6K9+��_�",6��YϮ�d*��ʊ�MY��x
eiY]Ǖ
v�T`��$,K�x.�p�o�4��ܦ.w�O�^Ot�Q�	yLX�jp�
[3ka�ߺUR+�S��u1�}���k!hc(e���
e�C��������]�����T�
w
�I�#�=�$��u�
"��Ҍ���T����]�橱�Dz d�?u=�R�7q%�є�
I��^�Z�����s`���-�=�0�|�f�~��$�'�hƵ�t)��RH4]��������T�Njx�c{�z�?�ҚQ�e����("�V��MG�wru�x�t�FU
�w�ܳ���3\O��
_�(�9��
-��QݕWX`�#{�5�x��A�׺�.�!��
W��J��uRi��v�:��"�hpV���a�<
H���1UI�(����<��
-�y�,N�I�
�f�����2:����w�cw��9R��l���2H
�c�8�
J?1���G�,��?|^��zR��"]���Pk�B�g��86ݬ����
찔p��
�bv,4B ,[a�ƭS
���PH51M
d���_U�|U���r�����èq7�G�����F���|ơ��������y��b�Ȝ��N�-e"��h���s$艆�N?��1���b�˿F&N�DŽډ��.e�Šs�e�s�#�ӧ��>f��j]��U�[i�am�i���K�]�%�Pl�$aj�$Y��"
->�ِ���a��i{zp�ⶢ��qy������oA+��Y�����2�2�πGq&�F�s��Y���|����ķ�
-�Bw�ݹxI@�!/rȏ>�ij b��dƉ4xA
q^_C{n��
�&��4���g&���6�MI�������
�%/��p2��B���fN�F���R���c2�����[
�"�g���f�T�n�T��
�I�s�
ե�`�7%z�w�����@"����c��y�P󑇃�R��9�ӥ��<K�̡¾��Ef�c^@V6m����K����v�b�a�� �m=�(z�k�3"㎥��DN$��NTmD��E��|�E����(��&��t��i9�?JY|�a(ޅ�:L�6:��U��T
B�Ĉ�1��/d�Nm�_V���@�՗�
b�
<˪�ǣ���-�J�N�@q5��dtH��U �oo�&
����|)
��:��}����p
-endstream
-endobj
-6720 0 obj <<
-/Type /Page
-/Contents 6721 0 R
-/Resources 6719 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6684 0 R
-/Annots [ 6703 0 R 6704 0 R 6705 0 R 6706 0 R 6707 0 R 6708 0 R 6709 0 R 6710 0 R 6711 0 R 6712 0 R 6713 0 R 6714 0 R 6715 0 R 6716 0 R 6717 0 R 6735 0 R 6718 0 R ]
->> endobj
-6703 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.93 646.367 369.479 657.271]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
->> endobj
-6704 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 592.03 170.687 602.56]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_41cb3496510a68512516cf65f8d214c2) >>
->> endobj
-6705 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 552.958 170.687 563.862]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_9af54d524de94ada872d460c1dbd5cc0) >>
->> endobj
-6706 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 514.634 178.435 525.165]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a82cf61e903a201fe8892501b209ab8e) >>
->> endobj
-6707 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.426 475.563 222.233 486.467]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_9571074ab0249afc1e440c8c5eb5d429) >>
->> endobj
-6708 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 436.866 202.497 447.77]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6709 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [213.237 436.866 253.406 447.77]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_61b27b2ed8bbc9a128f9001d160b078d) >>
->> endobj
-6710 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 398.168 202.497 409.072]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6711 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.467 398.168 260.599 409.072]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_2be2c8b9d00f81fc24dcbc36ad05afea) >>
->> endobj
-6712 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.426 359.471 227.852 370.375]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a6e183ba7e931dc88e16fb9ecfa8b3c7) >>
->> endobj
-6713 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 320.773 217.61 331.677]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_47def4dcb522c046a6f3a432d72008ed) >>
->> endobj
-6714 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 282.076 180.54 292.98]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_ffa77e724493813cddf9740767c2473e) >>
->> endobj
-6715 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 243.378 178.239 254.282]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_26673943182a6efc6cc6e3aad8c731a7) >>
->> endobj
-6716 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [99.68 143.456 156.456 154.36]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
->> endobj
-6717 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [485.444 143.456 513.996 154.36]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-6735 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 131.501 165.147 142.405]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-6718 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6722 0 obj <<
-/D [6720 0 R /XYZ 90 757.935 null]
->> endobj
-238 0 obj <<
-/D [6720 0 R /XYZ 90 733.028 null]
->> endobj
-6723 0 obj <<
-/D [6720 0 R /XYZ 90 610.551 null]
->> endobj
-6724 0 obj <<
-/D [6720 0 R /XYZ 90 610.551 null]
->> endobj
-6725 0 obj <<
-/D [6720 0 R /XYZ 90 571.973 null]
->> endobj
-6726 0 obj <<
-/D [6720 0 R /XYZ 90 533.276 null]
->> endobj
-6727 0 obj <<
-/D [6720 0 R /XYZ 90 494.578 null]
->> endobj
-6728 0 obj <<
-/D [6720 0 R /XYZ 90 455.881 null]
->> endobj
-6729 0 obj <<
-/D [6720 0 R /XYZ 90 417.183 null]
->> endobj
-6730 0 obj <<
-/D [6720 0 R /XYZ 90 378.486 null]
->> endobj
-6731 0 obj <<
-/D [6720 0 R /XYZ 90 339.788 null]
->> endobj
-6732 0 obj <<
-/D [6720 0 R /XYZ 90 301.091 null]
->> endobj
-6733 0 obj <<
-/D [6720 0 R /XYZ 90 262.393 null]
->> endobj
-6734 0 obj <<
-/D [6720 0 R /XYZ 90 206.207 null]
->> endobj
-6719 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F11 418 0 R /F72 471 0 R /F23 340 0 R /F99 2117 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6752 0 obj <<
-/Length 1438      
-/Filter /FlateDecode
->>
-stream
-x��Xێ�6}�W�)�JMM�"��n4i7A� ۬��

�L�Bu�$���w(R���g�)�C�4$g�9C/&��٥�
�u�����:qJ���xg��kM	�ؼ�6�"	�W�f�bU���m�����/����n0�aP	kJ96��AY��o�Z�L����;&u��~�j��b�τ�c� �#�E.�F�L޽��
-��20b�g�k�İ)�kl\O��`
��䆋|$!.D�.eÛ:�0K�ʚ:�"Z-_�TA���CY��z�)��}[�McX�`��G~����Sَ��_g�!�F��k�Q�
+�\�n�&J��~�W�
r|����lʥHWñ���cw��Z9L�{�$���S�#B�^Ha��	������(w�0�~�X����Q��8j��WX3��6���ƩCq\��E���.��We��bmQn�EX��0H՟[m��VA����K�B?���Q)�6��]����Zծ���Z]�ƛ���yM�!�����)���=,��,?��wy3B	�0+�BI�Ë>[�Js	�6tC��>��^
a��ަPo�
a\e�.iTQ�a��Ee7���"��uH��<4Ю�, ���8��ط�J}�E.�8�f�I�s��7��ջ)���<Fۭ
-�T��ֱ6�0�ln�*z7��j#f�j�_[�[66��7��R����; �'�F Z���f�k���D:'��ԯC5��Gi�V�qB:��!�
+Ë���#@Xڠ�Bo
Ƒô���%}�4�����C�w��%	A
'&	��I��=��������Q͒<(Ĩp
]p��
����ӱ�sb�"�!��*�5(��\s%�#L� �
�%:%^��1aߦ�n�W��8
-ՔoDr+4m.wi(K��|�H�h�d��V� U�J�N�w2�Ly�X��jKH�
-�%���#�
TP�.w
��`�A�n�;[�C?�c
��u�
-(�m+�7����3
r������Ȍ6G�{�Ab�
��A�"j=&��K��q�=<	���u���܂Z�&��j�x+m'���*>��i%H�O������8B< 	�4I�/V*���+ݚ@7F&�`��0�欹
>����w~�f���uz"x�
��ȍA�V��KQ>�
_:-�9Q�:�#[�/G�#)�˭v�
��vׯ7
���9۔�J���r?�_���a�h��4��;�\[�E��zv���!�C�{,m�F��Fn�R�Uv �uHc����y}����Ng��T�n�[��K>�[���Ba~�`�A8���_
-�7n����ԁi`�q�!h}�	�r at T�J��r��(�U�+y �!�
��V�F���JQ� �����M���L�(}�P�ڍDL%I���]���*������|��/�\�0m����|>���{�h�Fy��j����"ޙh涓�h
O�
&��S���ƣ

-endstream
-endobj
-6751 0 obj <<
-/Type /Page
-/Contents 6752 0 R
-/Resources 6750 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6684 0 R
-/Annots [ 6736 0 R 6737 0 R 6738 0 R 6739 0 R 6740 0 R 6741 0 R 6742 0 R 6743 0 R 6744 0 R 6745 0 R 6746 0 R 6747 0 R 6748 0 R 6749 0 R ]
->> endobj
-6736 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 474.264 177.053 485.168]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare) >>
->> endobj
-6737 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 396.237 179.543 406.768]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_061c4c3b4f1eef970794b274dae62504) >>
->> endobj
-6738 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 346.683 179.543 357.587]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_51b29c5dffc073c2d350471ae9bb879f) >>
->> endobj
-6739 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 309.458 179.543 320.362]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_b8bee5e53740adc193668686030bb4bb) >>
->> endobj
-6740 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.881 309.458 254.811 320.362]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-6741 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 272.233 179.543 283.137]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_ab939414cdbcf1ba174334859443a72c) >>
->> endobj
-6742 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.881 272.233 272.514 283.137]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
->> endobj
-6743 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 235.381 187.292 245.912]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_517f4965fd423413531cd1d2058748de) >>
->> endobj
-6744 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 197.782 163.215 208.686]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_7e6d252ce9557b9d73833ef594f6276b) >>
->> endobj
-6745 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.552 197.782 256.185 208.686]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
->> endobj
-6746 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 148.602 163.215 159.506]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_efeb88699fb82bb331a2d24ce724bb07) >>
->> endobj
-6747 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 111.377 163.215 122.281]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_553c3b19a36235d228039a6bb3452918) >>
->> endobj
-6748 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.552 111.377 238.482 122.281]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-6749 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6753 0 obj <<
-/D [6751 0 R /XYZ 90 757.935 null]
->> endobj
-907 0 obj <<
-/D [6751 0 R /XYZ 90 599.288 null]
->> endobj
-242 0 obj <<
-/D [6751 0 R /XYZ 90 590.163 null]
->> endobj
-6754 0 obj <<
-/D [6751 0 R /XYZ 90 492.423 null]
->> endobj
-6755 0 obj <<
-/D [6751 0 R /XYZ 90 414.023 null]
->> endobj
-6756 0 obj <<
-/D [6751 0 R /XYZ 90 414.023 null]
->> endobj
-6757 0 obj <<
-/D [6751 0 R /XYZ 90 376.917 null]
->> endobj
-6758 0 obj <<
-/D [6751 0 R /XYZ 90 327.737 null]
->> endobj
-6759 0 obj <<
-/D [6751 0 R /XYZ 90 290.512 null]
->> endobj
-6760 0 obj <<
-/D [6751 0 R /XYZ 90 253.286 null]
->> endobj
-6761 0 obj <<
-/D [6751 0 R /XYZ 90 178.836 null]
->> endobj
-6762 0 obj <<
-/D [6751 0 R /XYZ 90 129.655 null]
->> endobj
-6750 0 obj <<
-/Font << /F63 374 0 R /F65 376 0 R /F50 339 0 R /F11 418 0 R /F72 471 0 R /F35 2018 0 R /F23 340 0 R /F99 2117 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6771 0 obj <<
-/Length 1538      
-/Filter /FlateDecode
->>
-stream
-xڽXmo�6��_!`@'5CR$%À�][t됥ٗ�E�Ht,T�\I�����bIVҬ+��I��
>���8�	p�b��jq�\DA�RAEp�R
Ă NIp�oCBM�+�1/�����K�ú�ݨ��~/��ܞ����OU��0�������z��͒$�Z�(�ᛮ�g�_��2kU˂
R!��^-~�Z|Z�����(�x�mo�� ��WFQ��~�6`4��2x��s�F
~�0F���Lu�(Un
|�ڬ)v]QWک��
,�`E�Xj
�b��`/��?K�Cݍ	�_
�c��uc��� �fp(rUՍy�w��
��<D�
� ����8���/'��˭���]ܷ}�Iv��)���UW7a�x�'/�Ƒ��UK�ÃfF�|4ӭ�!�g��$̕�~e�
��'\�#(���N!�
�]�;��VYf��VU���„+��T�FH��|�8;yit�$A1N��aN�KWΩ{O�^?�3Y��,{
at=%������U�Hsc����"xۯ?yy	g5N�Qt�=2�
C��I�"�H:�j���^+{*��U֧�ə:�oU�I�5�<��|�
��W�K6�ifp
�Z�'���G&j��5#
Q������3�0d4�� _"}|+FR$:&�qbV5�I;`���h
���>�y�0�s���Ru�F�j�<��x�&�d���<fd&^�R��nx|j@���g
Ĉ�� �pb�`'��02�����Z��i͏�H	�49
;ȟ��+�nS�3nP�����p��e������O{Y����9�4
-��ΌGD`[L�<r��4N�g�[kT�S�<-�F��ۥp%gq
h�6@�$v�GsW�3�1�(�<]��)�n3c�B���	��t�۞
Q�Bi~����G	�s���æ�6f��Ͽ�7Sݴ��-��1��zP[�Y��Ә��Ys�;=���1��F�rF�.)�m�W�|��S���Y)[;�˼�P�t�v�h��ۉ;�,M�>�4D��Q��^���6�(�R��P,v�m6^�
:�-k&b�8b~���������fG���S���	���Z�~(�����B���P�z��4ck$�C�Gv"������!��̓�����,2�\����t9~P$��q]���M��4u��J�Њ��k"�5u�\��z���o�������f�C�x	`(X/��
�

-H-c�f�j=��#�ܵ� 7{K��I��8V3���*wt��я`��,Fɱ.|�����tG�u�V�(՜�d3���Y�"���Ƅ�8���@�!��@Y����©���XEڦ�$�5*/2�$aq�w#����q����+�u%u����R	��
-����z��MVe�����pQ��nG7�aݓ���j.����j�|���b���{T;��j�W���`6I
��H�w�Q@N��Cx�8�6�����>:�ͣ����V5?�%,V�e�;W���B�z�A]0�Z��>����D�1p��}���Ҏ"�ua�u���ဲ�bנ�;��NK��
-���F������h�����?
-endstream
-endobj
-6770 0 obj <<
-/Type /Page
-/Contents 6771 0 R
-/Resources 6769 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6684 0 R
-/Annots [ 6764 0 R 6765 0 R 6766 0 R 6767 0 R 6768 0 R ]
->> endobj
-6764 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.821 624.275 440.832 653.341]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
->> endobj
-6765 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 280.669 175.937 291.573]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare_bf5e694ab674c48a452893f021986318) >>
->> endobj
-6766 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.274 280.669 268.908 291.573]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
->> endobj
-6767 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [310.641 280.669 376.274 291.573]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
->> endobj
-6768 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6772 0 obj <<
-/D [6770 0 R /XYZ 90 757.935 null]
->> endobj
-6773 0 obj <<
-/D [6770 0 R /XYZ 90 733.028 null]
->> endobj
-6774 0 obj <<
-/D [6770 0 R /XYZ 90 610.701 null]
->> endobj
-6763 0 obj <<
-/D [6770 0 R /XYZ 90 588.389 null]
->> endobj
-6775 0 obj <<
-/D [6770 0 R /XYZ 90 588.389 null]
->> endobj
-1493 0 obj <<
-/D [6770 0 R /XYZ 90 404.715 null]
->> endobj
-246 0 obj <<
-/D [6770 0 R /XYZ 90 398.115 null]
->> endobj
-6776 0 obj <<
-/D [6770 0 R /XYZ 90 299.643 null]
->> endobj
-6777 0 obj <<
-/D [6770 0 R /XYZ 90 299.643 null]
->> endobj
-6778 0 obj <<
-/D [6770 0 R /XYZ 90 243.349 null]
->> endobj
-496 0 obj <<
-/D [6770 0 R /XYZ 90 118.45 null]
->> endobj
-6769 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F95 1788 0 R /F23 340 0 R /F8 504 0 R /F65 376 0 R /F11 418 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6797 0 obj <<
-/Length 2054      
-/Filter /FlateDecode
->>
-stream
-x��Z�n�6}�W(�����E��(�-�"��&��na�6��%W�7q��C��Zr�T�M/�u!�
�̙3�uga����م�,�.u��[�ǖp	�X7+�M��tF0���)�v�n���)�v��r���E�����8��j�hM�ysvAHC>�|�9
^H�R�h̀`D�_�x����rn1�Q����vJ���Hw��+�~5 �)|Y���L}j��6
-r��\�[��g�x�
QLm�
-%s�����	1�"Œq���r3y�
�V�����=�h��
��7��'?Mpg�a�}�i���!����L��Ry�M���#,���X�-�sAmzh�A����m#@Gk�0C
���|�S�h[��ㆍg�C
w�us|��km�;�4\W���\ȥ̲ 
��~���L�L�m�e�|��,�\��P��� A����1

�ȥƢ���2ڭd��r���umӔn�T���Fh���8��wl�^"_ �P33G7��װ6���6n�m�ӌ���A&QO���"����Q�����ذ�����<L��26:&.r�&��-c�=����z7�Xy���peީM�L�^�԰�}$ۮ��=�x���T����=�'�7�V�Z
h�::��(+8���
-���6ӫ��Ͷ
^��=Ƭ򏺑�\\9P������e.)݇��G��j�}��X5��u��3�W<�i�d
C��6���p	���v��9 at Jx������B���<�1�B�;�'٩�K����B��v�	[��}�A %{�Az_�h#7I��g�r����^Z�
�e���|��ev�ZZK �������.�
���z&�R�P"����*.��NG=y�r��m�2,�}ы�
o��vF��
�
QR��o2v� ��
���
�	⠈<�悔��!<
(6�Ls3�z��@����oȩ�?o���
 �u;*���e�1�.�^�
�K
l̚^�ɦG&���Q��
-��N����"����>*�ƣ��l0
��W���l~
�w�̓�����tq��-1�/��E[D��ܰ���mҬ��Wm��GG�9
�
�3=�"��PK�ݾ�ڗ�+��G�����c��Zv�pj�/���[�¢ʁZC��P
-
S�sk"�p*� �"��
�Q��&�"Y��˜�p$q
�1�J\e>��D���$�j1�bS��z�Kj
�=���ot�ī>�ˁ�Vm
F��%�#	�SA�I���=|O{%�s�Fތ L:B���-�0
?�ჽ�6���&����1P���`͟��'�RaܫW'�
-?&�c3�1, `�s���/�ƶ1
�n��Y#����T�Q��c�T����	c
K��f
�I�S5l�Ou[9�ڿ�s���W_4+�X=q��?�s[s��ܾ4��
-�Sr��F�Q�B��Ռ;J5C�e�)���҆h>�u�@�_\~
Oˁb��Ō�@T�x�˸
%j�{��g�K�C�
Nl�i�n��>��<QP ���9������R�0�2�_Q�@�9��P�����Z��;�4�ۋ$��?b쎴3x�
;
�
���|�A6��4��C �� ��*��|	�:��I��_�6�h�!'����^P�]����D ��FW��
-�����n�2o/gk� A�G�~�{6/�TQJ�,�[�0�f�gb�E��
{�7	�QGYr��
V&����R�x�n5�RW�Cӌ��5���Al��0����~�m�!�	�ցA!�.���H�.�N����px���{<�!�
���h U��`p����.2oU{��b��+�Q������2'�̩�g|�/?e�Ϛ�m|��v-qÔ������ղ�t�Jׅ��p��.�S�xL,��.��MM�,�q
���:~��JF�H��oI��TF�;���q��
 F�SO��Ga�\D@;}x���s��7eQZ
�3��y>}k�雟�'~��z2�c���W��%
-ҙ�hx��:R�TS8
�x-K�i�~�ʫ�'���%
��:��|{~vv�����6Ea~��Fg��א�ΓVBns�p���)x��8Pw��uz�
-endstream
-endobj
-6796 0 obj <<
-/Type /Page
-/Contents 6797 0 R
-/Resources 6795 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6684 0 R
-/Annots [ 6779 0 R 6780 0 R 6781 0 R 6782 0 R 6783 0 R 6784 0 R 6785 0 R 6786 0 R 6787 0 R 6788 0 R 6807 0 R 6789 0 R 6790 0 R 6791 0 R 6792 0 R 6808 0 R 6793 0 R 6794 0 R ]
->> endobj
-6779 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 591.507 156.281 602.411]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_b5160fe536bd1bc8d42c12de33f40493) >>
->> endobj
-6780 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.097 591.507 192.824 602.411]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-6781 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 552.653 244.38 563.557]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_fb730d60db4b7e1ddd4c9994ec077cf6) >>
->> endobj
-6782 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 513.798 191.718 524.702]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-6783 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 513.798 288.852 524.702]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_348c6523b219aee93545bb401dc0b813) >>
->> endobj
-6784 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 474.944 191.718 485.848]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-6785 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 474.944 303.079 485.848]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_aeb70a45d5ee0c7fac5f5d6c659fc69e) >>
->> endobj
-6786 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 412.18 185.919 423.083]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_e34390c17dbd12de9906817c4b6cf479) >>
->> endobj
-6787 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.794 349.081 456.803 361.036]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_241f107b045949a58b49469a6a09caf9) >>
->> endobj
-6788 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.269 286.316 513.996 298.272]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_5915be624de343f1598d246ee4f1bc42) >>
->> endobj
-6807 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 274.695 249.012 285.599]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_5915be624de343f1598d246ee4f1bc42) >>
->> endobj
-6789 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.317 223.886 462.143 234.79]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_a71726a7725f9269553ed9e594b0d74a) >>
->> endobj
-6790 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.037 197.31 313.023 207.215]
-/Subtype /Link
-/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
->> endobj
-6791 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.082 161.121 438.335 172.025]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_ca669c9659132e9fa6adc7a9afbef642) >>
->> endobj
-6792 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.02 99.019 513.996 110.974]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_6a869e3c010e87dff868fb410d4f0a20) >>
->> endobj
-6808 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 87.397 156.709 98.301]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_6a869e3c010e87dff868fb410d4f0a20) >>
->> endobj
-6793 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.525 87.397 232.265 98.301]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-6794 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6798 0 obj <<
-/D [6796 0 R /XYZ 90 757.935 null]
->> endobj
-250 0 obj <<
-/D [6796 0 R /XYZ 90 733.028 null]
->> endobj
-6799 0 obj <<
-/D [6796 0 R /XYZ 90 610.481 null]
->> endobj
-6800 0 obj <<
-/D [6796 0 R /XYZ 90 610.481 null]
->> endobj
-6801 0 obj <<
-/D [6796 0 R /XYZ 90 571.746 null]
->> endobj
-6802 0 obj <<
-/D [6796 0 R /XYZ 90 532.892 null]
->> endobj
-6803 0 obj <<
-/D [6796 0 R /XYZ 90 494.037 null]
->> endobj
-6804 0 obj <<
-/D [6796 0 R /XYZ 90 455.183 null]
->> endobj
-6805 0 obj <<
-/D [6796 0 R /XYZ 90 392.419 null]
->> endobj
-6806 0 obj <<
-/D [6796 0 R /XYZ 90 317.699 null]
->> endobj
-6795 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F21 2111 0 R /F50 339 0 R /F65 376 0 R /F72 471 0 R /F99 2117 0 R /F35 2018 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6822 0 obj <<
-/Length 2444      
-/Filter /FlateDecode
->>
-stream
-x��ZYs�~����D��` zS��
3�M65�q�f�T�ٜP���|�קq�)kj��M�<��`����
�A�9�����5�A�bNxp�	�0
#Fpp�>�0F$�/p���s
Βr�,��I8+��;�.���ӛ2)�./��Z�zѽY������5�
�X�(d����g�����_�]���@|���|� ,�]�9a�b�:(����	�_�}�T�%z=��LmwYR+;�Nm�a�L�+=EB2#\j�g?^��z��L`#2&��,Xm�>�k��)�e�`Vm��P�͂�g�<
����F
���a���d E!g��w�c�\U�x���H�)�竝��$�T���d�*�9�u��ڃ�W���IBim?�U��:��I�q�E>ˆf<��oS�l���lXyH�1J�Y�8B��
�L	��5
;ư �!
Q= n-����
�@� ��GE�1�ڛ��
-,�]G�"9��
%��
���ʓ���؎�d���$�2X����Y̏yr����f�eh��$�lv\��6.{U-߃�d��z�c`��N�=h�
��������E�./�5$$��i�t}�p$[�}�4B�!F��
�9�#�E�a�;���22�Z�S�>�Ǡ�-��@[��{�j孃�wo΂
J	8���B�
4��[��f" �����k|	(i���pr/ 8
+��Oۛb� ���"��ӘѫG��B��"�  ��Q� lՠi��L�o���N� .�����T��(������7B�HBb;����-�CgV���Ȧsؕ
d
�	���\�K��9`��� ��CV�8�"
c�����g��
O�q�ի��(�1N4�`
-�Գ��)�Y��2�V
T
<�jf��c�	��?p��c�S ��*�
B����>[B�����h��jsqqL?:4��W��6�j��r�la��
~O��B�

j`�+�~Eޯ����+�*F��b��U��O@^�ɗ"/G�0��C^��k[�L�oUJ}���E_]��y�;�<��" �(A8nz9T׎�>_���9wh��p�z�Q�VU[[@	Q�ɤt��p/�j{e�o�^�0Xhh�
�!G�`�4���U�)F���g�A�	ܮ�7��t=md�E���4<wC���׺ou�l{��Ԏgw��o��
��?���*7]U�XGp}��H���V��s�qQ�}���	�A9�{�g
�s����x��w;̣�ex\=��P�
��XuZ��f��N��C��Z���W�
ؘ��Q���~\��
j��$b1l�ǔ��c�x,@�����m.���x���\4D'ɱ�k�j��
�8�q�-���_-�[��2]��:W+UUI�f�VYQ��[�+ ���W��j ����&�ۊn�gfצ��^�zX�7�IU3�%%�Z��7��~�kq6bIXB$ۆX�v���k������f�{((��=n�v��t+�Y��ݱ��n��
C~���w ��I4���=ˮ��,��.zN7���-�]�1�v�w�"�
-��Cs���;���(��r"�
-�C/ )$�̭$����v�V%�Q���tc�-K�x���V�z�C��%�B#Z(B7M��g �bDیP�W�
���r�8d�!6O�V4���hE�3���QM�1���wA9��1�x�\�#ĩ|�Ǚ՗��a%
��O��
-���X�$
lń=�wmE�ލ��z�����{o}��kӥy�	?< w'dl2 4r&UR6�w>B�ݶۼ.�PvO�����r\̢�OZ����쨼)Z�S�[����
(���Ҿ(M��#��Ǩ�N��Bx�6�n��b�x��1�gcՁG����o�Ą&��LԪ`����b��'q19����gPow�N��^v�`��<�>�ٰDy�(�%�qJ���%�xd���5�\�z9�����u�v*��P��e�����4@�
���F%��T�k;˜.��t ��	50�p�������n>F�E�&�$&L=����nW���
H��Zw���?c�����:p���
�֚
����v�Wt#}�
��:���r����0�0;��Xv��
�v�u�%��9��Hx���	�Z
�����`kw ��-1��iH>�~�6�垦E�90p�*�mA�{�
w5�&��v�A|���K4���9
�
�E
-��iy�u��n�M�v���w�ƫ�W�-�z�,\0���@�

-P[�uݶ:�
���W�o>�U�7;��7��
 l��
�[��O�v��Y�@�"S��O2���^ j�̪A�Fq��W�n at Ir�+�K�9�$����X��,l�{��+7���7��J��5�;��I����Z���N��� ����ʷ����
����LPh��Rt3ϻ��]^\<<<�U��y�+QZ_�v��a��CGH4D6������

^��@����K
-endstream
-endobj
-6821 0 obj <<
-/Type /Page
-/Contents 6822 0 R
-/Resources 6820 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6829 0 R
-/Annots [ 6812 0 R 6824 0 R 6813 0 R 6814 0 R 6815 0 R 6816 0 R 6817 0 R 6818 0 R 6826 0 R 6819 0 R ]
->> endobj
-6812 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.02 683.713 513.996 695.668]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_c3abadf1d96bef1880657113014d46dd) >>
->> endobj
-6824 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 672.092 152.027 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_c3abadf1d96bef1880657113014d46dd) >>
->> endobj
-6813 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.843 672.092 227.583 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-6814 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.029 608.993 436.411 620.948]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_1c76acbe653414cc28fac54c69622446) >>
->> endobj
-6815 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.069 560.176 435.432 572.131]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_f3699ea93d8ec71859566480bede9332) >>
->> endobj
-6816 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.942 454.461 160.308 465.365]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_79370159de3dc1738441b20eff866329) >>
->> endobj
-6817 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [168.15 454.461 311.959 465.365]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-6818 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.021 454.461 513.996 465.365]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-6826 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 442.506 182.054 453.41]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-6819 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6823 0 obj <<
-/D [6821 0 R /XYZ 90 757.935 null]
->> endobj
-6825 0 obj <<
-/D [6821 0 R /XYZ 90 512.669 null]
->> endobj
-6827 0 obj <<
-/D [6821 0 R /XYZ 90 428.932 null]
->> endobj
-6828 0 obj <<
-/D [6821 0 R /XYZ 90 368.413 null]
->> endobj
-6820 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F65 376 0 R /F50 339 0 R /F35 2018 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6838 0 obj <<
-/Length 2039      
-/Filter /FlateDecode
->>
-stream
-x��Z[s۸~ׯ��V�Y���t6��nv��vR�}J3J�l���T
��
\D�
-�N����I"
���"�n#
�2��ft�Z�H#-��nV��Q,	�D7��ݘD�dJ0��7���v���L(
���,�����|�l���Wye�v�G73������5!
�Di�l����hi at 0�Lf�X��%�1�~2����Մ�q�#]�uX����a�_��,�Л��c��dIe�ȵYYc���
;D1
S�����7�����q.1����ѻ�8Z���FL����ZG�2�̢����I�S��
�#�Y�A'���]���"�O?����U�@E�?�
1�[�	�����;Q�2�N���u������ں��c�ܓ�g�)'�G����3$��q�
�?ъ�.�ź/��+
���y2��l�b2e�[�y4�phb|���&F�t
E�թ~U��Hq>\�	7�i|2P-�^^�vr��r</�>���6n ���݉A!��;�@J�ý�nQ>αB�Ɲ8��{�
7�L!���~�+��v�(��O�
�YzZ¿��0^V�_
b鞾�[h�
)�H���}�
�6�&�$�i���C�.ͳ47��D��� �/٪�~�_�	�+W�Y��GT5���G
������ҲG*?�p�:�o����ۯE�*kc��fkJ��.���0�
-tQw޺���Ū��)�T
0�<ʈ���󪁦���~lI�'��h�t\�j��ɋ)�2
��"��%צ�A։q^^vW�2F��@(`�/]%YizTbAm
tJW޼$_�/E�����O�]�s�ɉ�` =\}���zj?��|�C����r ���)|0�1�X!&C#�!5�x��o �}�?J=���?�c�e�.��_�s���+
M �c2�M�z>�w-`�ZkJ� _�DIİ>�|�A���&T }�}%
�~^��؝��Οm� 3��]b�( =<��{�
��G
��8%�H
[� ��r@�Y ��,ұ�+vY�u^��Y�Bk|^R!�,�N�$�ʦ�}�Y�Fx�t����QT�
�-��
8�O��һ�ұ� |v���/�6uN.-���b���_�r�:Ck&xox����,Ғ^�ߓ,;�l�%-+8=������C��t�y���].���jQ�Ϙ���6��gq&��)fG,g�Y,g
-��<�� ��I��f��!�jzˠ<�d�4��݊�c�����㘞�ߒR6 �-TCf*z�B"EB�An��OA�vlӱ�܇=�L|u���ݳk�
����ڔ���K�$S��)T�M9C�<Na>��_���

/@�0�n݂���\�!�!7�c���M������'�sSۤ9���\�̝�go����~��W$
k�[��7,k/j�)FLo�򣸒�?n���*�H�ޏ �d0�u=r
�W�Hn��Fd s�.�d�(���6V����j3N�b!��:��A����:8m��|���(�
W������,#m�Y:գ*pM��J
��P$�r�<0G�dp#��͢X�~B%�6���p�[,LY�vALpr�&��|;�Kf\vJҳ}�
-�Te�׷��^
&i^�n|�w�M
��T}�"�^Tu���$�nߥu$��Y�M$`����ck�=�����X�5'�`
�
I�(8=�
�$`礮u�ťW%�J�c7���s�D\�S
-C���po�г�{.Ory*��
�9{Sw�пz���8AƄ�1�q�?(�Bc_h�
��fi��}h���4��
�c��೎P��]��Ƙmi�Y6�������͊g`�eM_��4|����d�õу��h�/D�
��Ņ
�q�WḪ�q�V����[��w��a�ۃ�Mt�%��#��}�ӹ/mq�zE��0���V�{
��P� ��m0�]��U����U��ox<��
H��U��,
���[��]�bԡ��o�ado�m�G@! �����':|���#��/Q1 at i�rwU�������G�A��lQZ]l6���nH��t䞫"��.���4���kШ�����}
-endstream
-endobj
-6837 0 obj <<
-/Type /Page
-/Contents 6838 0 R
-/Resources 6836 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6829 0 R
-/Annots [ 6834 0 R 6835 0 R ]
->> endobj
-6834 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.583 654.028 295.607 664.932]
-/Subtype /Link
-/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
->> endobj
-6835 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6839 0 obj <<
-/D [6837 0 R /XYZ 90 757.935 null]
->> endobj
-6840 0 obj <<
-/D [6837 0 R /XYZ 90 733.028 null]
->> endobj
-6809 0 obj <<
-/D [6837 0 R /XYZ 90 716.221 null]
->> endobj
-6841 0 obj <<
-/D [6837 0 R /XYZ 90 716.221 null]
->> endobj
-6810 0 obj <<
-/D [6837 0 R /XYZ 90 606.434 null]
->> endobj
-6842 0 obj <<
-/D [6837 0 R /XYZ 90 592.32 null]
->> endobj
-6811 0 obj <<
-/D [6837 0 R /XYZ 90 461.282 null]
->> endobj
-6843 0 obj <<
-/D [6837 0 R /XYZ 90 447.168 null]
->> endobj
-6830 0 obj <<
-/D [6837 0 R /XYZ 90 276.079 null]
->> endobj
-6844 0 obj <<
-/D [6837 0 R /XYZ 90 261.965 null]
->> endobj
-6831 0 obj <<
-/D [6837 0 R /XYZ 90 89.441 null]
->> endobj
-6836 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F106 2750 0 R /F8 504 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6848 0 obj <<
-/Length 2164      
-/Filter /FlateDecode
->>
-stream
-x��[IoG��W��Cb�b�06���@��9'�h�e�i6�&I�>�z/�z�D�0���R��۾����O~
|?
LN%

2��`z
(I��$�.��!!��ј`��oGg�jv�vD�p
�]��dv���c2K�NN�6��
-��}�b�a��䔐u�9����)��d[
F��b��C� �d��u	^lx�Mv��hLj���u4ۆ����e���
��
�$zH�D?L,�8 �^�B��`�����
-0bF7�U�)��Q�n�n�1eKQ�D����-X�/��p
k���K�m��x�Ɍ"����׻x���x�%�8[q��,�
Q1\�LI"D��A!Nt�K�TL!�
-�c�	�F 2"��ij����Ƃ+��z-E���
�a�X�P�*
�`����>F��٥�� 
�-�{,�� ��-�OQ�]�
�<��*��R�G�
ieڤ�
��<9�+��.7&�o��\z���
b	�Q��<���x����P"��q�
3��s\�u�]jR�yȋ=�D�@X���Q�|���q�9��tTi��c?��
�.~7�h닦
�g���
������٭C"$��=ER�+��Gu!l����8�
1f��j]�6��x4�(,��x����
x�o_d�p\@�����z����R/3�s����Ux~���/�����D�����n�
��q�'HW��|G�8��m�
e4�	�W!Is~��
bv�q^�#;�_xM��K�>��
[�`�0f���"1����uF
�~��Ұ;�@�=|)x�_�I�DI�n�M����\� 6T�[���҅0��	*
AU�j��U[���|yX�P�a��~�
 ����ecnT��Жm��k���U�}.��*&Rlݧ�Į����Η}�C�� J>2��u�T��m'��"�ta���E����/����L%�-�9"�,�
�v1{0L����KA���㴪�� )pG��e�������"�0W��[�&��=�u�����Dr��hVz�H�U��5Eo�
S�e��� L����Щ�v&ݐ�˥��} uJ~l�iӀw�mY��H}pw��[��
wڙ��Sý-+ӧ�`��V�ض�~�B�
dNJ��T����0���z|���
A�^
-?�m^#J��*M����V�a�U͗?�先�Hƍ7�
��:�9��71��������yb�<1��&��'�ˎ���71$
�Q�e�|93`���\�^x���!�T}�?cf�{N=
�����:G��;�NS�)�'�)�: �R�*k��O�yX7^��St�8����-
kF��Xo��L;;�W>�����EV�	�$m�&޾�3ą:�N��
J�Fr}t�@_��S�'�:����
j���W
~.19`�>IU
fH�OY�ƛ��}�$�.��.�[��������q?�C�����F��o��¦-l���`Q��A�5��������I�cJE�8O
���4Y��b���ŋ�v�m?��]<�.�hO�ެ�Uog�u&h�)��`�:}D�`�.1V��}�,�prN��P��mU�p(-C��EFys3�ΞlM�T̎�y/T7����C
-]�Q��I]�o��eԴ)Bj��/�����U*AU��T�ҪF
K���H(��R͘	(G5s;�םwW�*���t�ӬO=]��<�P�-��BTq���^�_�ӥ�u�=l��y4�Gлd�7��Oa
&Ux�L֫�OÂX��Vo��ϖ�cL��$�_[\���i 4І�IH�������u���J�eP���胉�G��
^U;�-��h�=Pb��.0�d�
̽��C�=���
��WI����0Ynsk�rD����9MmB�2��5��Q�M��-��Gބ�y���O�߸�te}?Cd
-�����]w�+(oj��-xb
���
��
�A��N�c��_����\�<1���F����#��C�؎V
@v:R<�X*�z9��5�Hwz�
�6����!��Q�
� p����&�,ؔ.��m
(X
�}���~	���(p��K ��I�d--��^s&���o��_��ȥ�u�>�}]�,�0ٔ����Y
ٛ�x�.
s!3�����iү����Zf�����d2���A�
����-�@��Q۞Ԅ@P(���_��\�e
��4*������~�
-endstream
-endobj
-6847 0 obj <<
-/Type /Page
-/Contents 6848 0 R
-/Resources 6846 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6829 0 R
-/Annots [ 6845 0 R ]
->> endobj
-6845 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6849 0 obj <<
-/D [6847 0 R /XYZ 90 757.935 null]
->> endobj
-6850 0 obj <<
-/D [6847 0 R /XYZ 90 733.028 null]
->> endobj
-6832 0 obj <<
-/D [6847 0 R /XYZ 213.955 609.8 null]
->> endobj
-6851 0 obj <<
-/D [6847 0 R /XYZ 90 595.229 null]
->> endobj
-6852 0 obj <<
-/D [6847 0 R /XYZ 90 471.189 null]
->> endobj
-6833 0 obj <<
-/D [6847 0 R /XYZ 90 449.211 null]
->> endobj
-6853 0 obj <<
-/D [6847 0 R /XYZ 90 449.211 null]
->> endobj
-1494 0 obj <<
-/D [6847 0 R /XYZ 90 354.45 null]
->> endobj
-254 0 obj <<
-/D [6847 0 R /XYZ 90 347.849 null]
->> endobj
-6854 0 obj <<
-/D [6847 0 R /XYZ 90 289.313 null]
->> endobj
-6855 0 obj <<
-/D [6847 0 R /XYZ 90 240.749 null]
->> endobj
-1538 0 obj <<
-/D [6847 0 R /XYZ 90 189.426 null]
->> endobj
-258 0 obj <<
-/D [6847 0 R /XYZ 90 182.826 null]
->> endobj
-6846 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F23 340 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F21 2111 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6869 0 obj <<
-/Length 1490      
-/Filter /FlateDecode
->>
-stream
-x��X�n�F}�W(В@��
�K
-E��I�����ڗ8hie1�H���_��
)��%ٍ� }�LQ�ٙ3g��;�v~
��'/�D(
-h��N�
�)q�3�Kb���{����2��{�yz���"��N�����^�'o�2Q�nԇ��+&g
9���ͼ��W'/i�G��(����'�������Z1�1!‚j��M\��fZzC�1���+��4.���^�e�Е�T��E�RA������ˀ�
�
H0�L���3���
�X:�z���)���s1�}���N���N��?�e����v�\O�dU&y���C�#�G�Ѳ�f'&d��V
ʻ���%��B�����5��r޳�!
-oR�fۤ�mR���D;@+�Qģ��jm�07jX�L ��ˆۼ��,��
=�r��4UB{��-|z�E����a���80^X2���f)�2�lѷ�ya.�E�6W�FA�j���2�p�2o^���YYYK�ܣܽM�ks�c�ʑ.���	��B�e(�������Cl_�R�X�������|�)2��k��0 ����6��(�HT�
-\�0ڭ����"��Hyĵ�
`�DH �"�b��
�0(K��X _f
Y$%��g\A�-����y�GV� e��Pkc�
�5�{7�r��Q�����P$<~�q�F!
x_q)9�s6�(��tc=����]��ӧ
k
�߅���0�������G�jJ{�9�QC�E�xd�Z
q��hc��A"�|
L%�oQ�ң��J@����)���]�',��k��ϳ�*��j���b��!�Z��P][��v3B��
h�-L�
�I�L�
�C�����Vh3��n���V�:�d\L���2
k��q9K���o����_�S��m����lPUo�h��wI6M7��:�
���uZ�Ze݄�;-��~2E
���tꃪg�}o��Wc�{�;�\���X#����_l��b�ő�JV�� }�=�2'���
���Lk��2�CGCg��tLV���
�; <��)(���}$ f��39�7���)ģ�-/Fp� �
�,7Ef���+�h�ݺ'
-�{��ʖ�d4�����_��N@��<�"��`O�����h���|T�l�{�q�%�z��a#w
!�?�3�p>�
�3|O����3
�
��C�
���Xg��+QR�i�@C��E
�6�N
-���݋z$�7�I�ٺ�'��zS�Z+���*�fu?-�$[��\��k=|d2�T��bY7����+�^v$mE�
[���)
!w�x�
ޫ
xq�T�q��o:�7
ϻ��	1���|ӟ8=2s�`.������3-�q���z>�I`��h ����ȗ��e(��H ���P
!���]<�k5�x����|�c-�<�]K�7q��S����X(��H
 Th�
�����S]�6����KB������\�NNnoo�t�6Y�*PR��0x�;?5�(��F��2/j���K}|@]��*}�A
-endstream
-endobj
-6868 0 obj <<
-/Type /Page
-/Contents 6869 0 R
-/Resources 6867 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6829 0 R
-/Annots [ 6856 0 R 6857 0 R 6858 0 R 6859 0 R 6860 0 R 6861 0 R 6862 0 R 6863 0 R 6864 0 R 6865 0 R 6866 0 R ]
->> endobj
-6856 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 278.75 191.16 289.654]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_b82fb79015a9e4959fe801e608b2a0ae) >>
->> endobj
-6857 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.258 264.31 364.14 274.215]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_6f8cd8fbee64faaa5e47c8e41ba7662e) >>
->> endobj
-6858 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 240.257 191.16 251.161]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_701574facbfd5461d399dccbc88a2999) >>
->> endobj
-6859 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.497 240.257 295.747 251.161]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6860 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 201.765 198.909 212.669]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_e9cc837bbae1745ada3780634c73858f) >>
->> endobj
-6861 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 163.273 191.16 174.177]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_e7df198cd5bdd6e9f87192fb3170261f) >>
->> endobj
-6862 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 124.781 191.16 135.685]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_9a14be758de0e77faef8de4a11bd8e8c) >>
->> endobj
-6863 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.976 124.781 230.163 135.685]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6864 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 86.288 191.16 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_5a74ca4d6d20b677bd8e4bf05dd45760) >>
->> endobj
-6865 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.497 86.288 262.003 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-6866 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6870 0 obj <<
-/D [6868 0 R /XYZ 90 757.935 null]
->> endobj
-6871 0 obj <<
-/D [6868 0 R /XYZ 90 733.028 null]
->> endobj
-6872 0 obj <<
-/D [6868 0 R /XYZ 90 678.303 null]
->> endobj
-1539 0 obj <<
-/D [6868 0 R /XYZ 90 628.139 null]
->> endobj
-262 0 obj <<
-/D [6868 0 R /XYZ 90 620.977 null]
->> endobj
-6873 0 obj <<
-/D [6868 0 R /XYZ 90 519.077 null]
->> endobj
-6874 0 obj <<
-/D [6868 0 R /XYZ 90 470.513 null]
->> endobj
-1540 0 obj <<
-/D [6868 0 R /XYZ 90 420.638 null]
->> endobj
-266 0 obj <<
-/D [6868 0 R /XYZ 90 413.476 null]
->> endobj
-6875 0 obj <<
-/D [6868 0 R /XYZ 90 297.542 null]
->> endobj
-6876 0 obj <<
-/D [6868 0 R /XYZ 90 297.542 null]
->> endobj
-6877 0 obj <<
-/D [6868 0 R /XYZ 90 259.17 null]
->> endobj
-6878 0 obj <<
-/D [6868 0 R /XYZ 90 220.677 null]
->> endobj
-6879 0 obj <<
-/D [6868 0 R /XYZ 90 182.185 null]
->> endobj
-6867 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F21 2111 0 R /F23 340 0 R /F65 376 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6911 0 obj <<
-/Length 1668      
-/Filter /FlateDecode
->>
-stream
-x��YKs�6��W��J31���'�Ɠd��S7v�C���$$sB,V�_���L9�,�ӓ \���� ���ޏ�\�N�9���PǺ�Y>�\� N�uY_Ƅ �&�c<��<�4�^L(
�dy#�"����EP,OO��L��폼�o,�2���r<>K��l���L4�P(����ԥ�oWGo�F��(�-���.r��t���"x��ˆ���гR˦
~�r���6��.�<0Ա����{�K�o�}S�Id��nD3H�Q�X(��u�]�.��y��,����!��YY��|
�Y����e(�AM�Cؼ^ӕ#��v�6;O�q���1eaJ� �ү��
!����x�������+xkW?�Iʸ��cm�y9 KM{/2Q�,�d
�A
-�l��"�{��|�ހ�%6�����A���lJ�lD�ߕ�9��]��;����#����5�F�\
�f� ��R�,�F��Y��������6.[A��I��M w0�o�%�XD��$����s����s����AG$�� �`<D$%C6�s�یv��q����}��)
�d��8�uRQ��X����6�m���:���x���f����Xg2���GC�
-ê�W����%q���� S0ݯ����k�{0xQ��LY:�����7��2B1�����/����YTu�m�֯������[V����5g*�+5
-�����!�q�h�l O9�����xR��Ⱦx2�)̹?
xgR�&�+Ui���VEW�����P
�J0m�3��
ѭb�M!В��u2��O�m4��-+��d{��v0�;���q6@Q��D!Аc�9yg72�s���.�P��	�F
UE�"�9J�5��#
�ܥ; �� 
�7�C�&�&�T��XN��_�]�*H���8�^/+Q>'z���r!LV����~V
-i�V�$o0���|�uN����e֪
j� u|����`ă�d��}�����.��Ңn�� 
�dpڪ�c�yY���G
�;��[}�[�{�rP�q<��4b��.�ٻ�c6�:וU�E��9
-FN���_/�>|h�M��v�P��j����C����(4�?��
���,�B��
������Z�g��)+����H��"��v(|/
-}�5PmD
���`��"�j��]3D'��wl4�q;zɼ?�
�U�¬c���C{p1���{�w{���p-e�K�'2��
�x ��d�9����!�Y1��X�C
`����hw)[�v��F�C�G;LSvF��Q"�C]��ISϷ�
$�ir-%ꅂ��D�C"�9�3��9X��Pa�A>=���9٘���a(���)YN8*B������j���UQ�m��ojMCU�a(�rV'��̀v���I9(�Zt1-Z��K�_>0�0F��D�z�lzv#B�ڿ��غ4H�;�Չ
u@
�4�
jVw��P�0(��\D�8�=H
*�j1�	�N��G�Ǥ��E��/��az�� Y��̀ =M���Q���w������JB at Fra��Θ��s㯫����H�&���0n��[��ϟ�(~Qi��� �ۭ�"��%���#�_��rЉ�R�{�Ʋ�V;�4Ү��%�����OON�
-KTgq^��:���d͍V�H�3kO}a�� <Lu�Y����ŧ�
-endstream
-endobj
-6910 0 obj <<
-/Type /Page
-/Contents 6911 0 R
-/Resources 6909 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6829 0 R
-/Annots [ 6882 0 R 6883 0 R 6884 0 R 6885 0 R 6886 0 R 6887 0 R 6888 0 R 6889 0 R 6890 0 R 6891 0 R 6892 0 R 6893 0 R 6894 0 R 6895 0 R 6896 0 R 6897 0 R 6898 0 R 6899 0 R 6900 0 R 6901 0 R 6902 0 R 6903 0 R 6904 0 R 6908 0 R ]
->> endobj
-6882 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 696.002 191.16 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_4124a10b953c4c49984524875a257f3a) >>
->> endobj
-6883 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.497 696.002 260.32 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-6884 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 646.189 191.16 657.093]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_04aff92d245522832391c1704f455992) >>
->> endobj
-6885 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.497 646.189 283.563 657.093]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6886 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 596.376 191.16 607.279]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_158df02c8c54fa5a9286836fb01563cd) >>
->> endobj
-6887 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.497 596.376 268.629 607.279]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-6888 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 557.521 179.554 568.425]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-6889 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 557.521 250.666 568.425]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_c1b93dcadc82e52690114301554801b0) >>
->> endobj
-6890 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.933 519.041 297.728 529.571]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_0ed481e43baf024d4a5b5e86e85c4a87) >>
->> endobj
-6891 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.544 519.041 336.732 529.571]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6892 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.933 479.813 342.261 490.717]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a8f43e35dec15be4374b207a9440eb2c) >>
->> endobj
-6893 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 440.958 191.718 451.862]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-6894 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 440.958 288.852 451.862]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_bca5613972564c8ec5c832bc8ff200d6) >>
->> endobj
-6895 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 402.104 191.718 413.008]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-6896 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 402.104 303.079 413.008]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_3a808cf2742df02d856a8d9882845861) >>
->> endobj
-6897 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 363.25 181.845 374.154]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_b48b93c69098ab1dccd8d063f9c41575) >>
->> endobj
-6898 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 324.395 181.845 335.299]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_0912217f15a36eb486b243ee592f3379) >>
->> endobj
-6899 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 285.541 154.727 296.445]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_e1dfbc8be3858f2423df19c32e043110) >>
->> endobj
-6900 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 247.06 176.505 257.591]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_298a32e26d8133869f28560cca4ba73b) >>
->> endobj
-6901 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.408 232.066 450.955 241.971]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_0912217f15a36eb486b243ee592f3379) >>
->> endobj
-6902 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 197.247 150.493 207.778]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_5bb7f6903958069b19f70d1391987a51) >>
->> endobj
-6903 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 158.019 156.281 168.923]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ede3aa1f7d5925d31d3f66faf655dc66) >>
->> endobj
-6904 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.097 158.019 237.346 168.923]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6908 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6912 0 obj <<
-/D [6910 0 R /XYZ 90 757.935 null]
->> endobj
-6913 0 obj <<
-/D [6910 0 R /XYZ 90 576.615 null]
->> endobj
-6914 0 obj <<
-/D [6910 0 R /XYZ 90 537.76 null]
->> endobj
-6915 0 obj <<
-/D [6910 0 R /XYZ 90 498.906 null]
->> endobj
-6916 0 obj <<
-/D [6910 0 R /XYZ 90 460.052 null]
->> endobj
-6917 0 obj <<
-/D [6910 0 R /XYZ 90 421.197 null]
->> endobj
-6918 0 obj <<
-/D [6910 0 R /XYZ 90 382.343 null]
->> endobj
-6919 0 obj <<
-/D [6910 0 R /XYZ 90 343.489 null]
->> endobj
-6920 0 obj <<
-/D [6910 0 R /XYZ 90 304.634 null]
->> endobj
-6921 0 obj <<
-/D [6910 0 R /XYZ 90 265.78 null]
->> endobj
-6922 0 obj <<
-/D [6910 0 R /XYZ 90 215.967 null]
->> endobj
-6923 0 obj <<
-/D [6910 0 R /XYZ 90 177.113 null]
->> endobj
-6909 0 obj <<
-/Font << /F63 374 0 R /F72 471 0 R /F65 376 0 R /F50 339 0 R /F99 2117 0 R /F98 2120 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6977 0 obj <<
-/Length 1044      
-/Filter /FlateDecode
->>
-stream
-x��_s�8���z���!K!��u���3��w/Iǣ`�a�p��ӟ$ �]���S��	��v���v�� �߬_G��,�@��`t
"X�!%�&���z��b��}�`d�"��s� ;O�Ĥ��w�M�����]"/�o>M
��(�$��K(�_��,�慸��2Z4a�M��|��ތ�-�� 6��
2��8��> 0Q���(s3*>��3�֟ڨ� 
-h��eū$�Wt>�I��{�ݨ���LƕR�4Kke�(Z��{!p	��z�ׄХo��K��z���a�Q�ŒѓN�LHm�q�0KR�~��O�r�c1~�zuz=�Q�~xEh�# Tj�VK���bF�Q�BT�B6n���N�d���U8ˊ�]�Y�Ev<ֲӡD��w\NR�`j�N����m5S4������|��d�Y�D&U���8�~���Xo�>�!"�oV������6E��C�3���i��ϢȟoCk�jFm��]��f�)��粪{�Y�R$v�"0}b��f�9�=�Fk<�i@��NXk�|*
-^�ūu�?�����D	r���&#53�m����Z��.�ƈAĨ��H�
�4=V�2��W
RBH"�Q钁 
��m}��;�m��G%��D�_��:��&��jwT��IU���q�oQ�
J"5>>ފ��
>����q�Pzd��
�
�tH�P���#�b�p��9

S���?r����]N����;c��%�&���;��~�����1�yHڈ�V!���}'g����tO�~� b޻]4`=DN|=�l_�%C
-�q��E���[3$}m�!C��x�8h�?h�t��g0�>ҳOfC�$��_p����C_���p�/�{у{�ho�G�_����m܋d�ıh�
�F�
kѦ�p
`�ta�Ԡi)m8
�v:�EL]Xo�me�i�g��u�R?;�ڍ��s9��S��^��S.������.t\#�R�L՚����1��zq�s������|��d2-`R
��t�e�fA��=
-�� ��h�O�z�q]i_����',�R
-endstream
-endobj
-6976 0 obj <<
-/Type /Page
-/Contents 6977 0 R
-/Resources 6975 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6829 0 R
-/Annots [ 6905 0 R 6906 0 R 6907 0 R 6927 0 R 6928 0 R 6929 0 R 6930 0 R 6931 0 R 6932 0 R 6933 0 R 6934 0 R 6935 0 R 6936 0 R 6937 0 R 6938 0 R 6939 0 R 6940 0 R 6941 0 R 6942 0 R 6943 0 R 6944 0 R 6945 0 R 6946 0 R 6947 0 R 6948 0 R 6949 0 R 6950 0 R 6951 0 R 6952 0 R 6953 0 R 6954 0 R 6955 0 R 6956 0 R 6957 0 R 6958 0 R 6959 0 R 6960 0 R 6961 0 R 6962 0 R 6963 0 R 6964 0 R 6965 0 R 6966 0 R 6967 0 R 6968 0 R 6969 0 R 6974 0 R ]
->> endobj
-6905 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 697.274 203.075 708.178]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-6906 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 697.274 296.324 708.178]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_0651bfc78898bf691898cdb599198ea9) >>
->> endobj
-6907 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.005 682.679 346.908 692.584]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6927 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 658.845 194.297 669.376]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_baf335015f8c71026d2bee65ce4d109f) >>
->> endobj
-6928 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 620.044 188.759 630.574]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ea20a64dc7e9dd789fb069c7b8faca16) >>
->> endobj
-6929 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.953 580.868 238.203 591.772]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6930 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.942 580.868 268.08 591.772]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_6f8cd8fbee64faaa5e47c8e41ba7662e) >>
->> endobj
-6931 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 500.182 191.16 511.086]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6932 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 500.182 232.465 511.086]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_62b7a88cefba86a6731c6b46487fc28a) >>
->> endobj
-6933 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.802 500.182 337.051 511.086]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6934 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.208 500.182 460.457 511.086]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6935 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 461.38 191.16 472.284]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6936 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.557 461.38 232.364 472.284]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_49574f120ec3f9fbfda58d6f826587e9) >>
->> endobj
-6937 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.305 461.38 486.554 472.284]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6938 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 422.579 191.16 433.483]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6939 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.557 422.579 232.364 433.483]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_0308fb71a28c28f4e33aabfa9c5d3781) >>
->> endobj
-6940 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.5 422.579 336.75 433.483]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6941 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 383.777 191.16 394.681]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6942 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 383.777 232.465 394.681]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_9dd6ce1cb02b58fd3b973e40867362ac) >>
->> endobj
-6943 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.28 383.777 271.468 394.681]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6944 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.803 383.777 382.052 394.681]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6945 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 344.975 191.16 355.879]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6946 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 344.975 232.465 355.879]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_4d372c4dff7d328d3da118817ed3d8b7) >>
->> endobj
-6947 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.28 344.975 271.468 355.879]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6948 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.281 344.975 316.469 355.879]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6949 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 306.174 191.16 317.077]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6950 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 306.174 229.964 317.077]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_72b6b45299672d85c7984392454296d6) >>
->> endobj
-6951 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.301 306.174 334.551 317.077]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6952 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 267.372 191.16 278.276]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6953 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 267.372 229.964 278.276]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_2e4d2efe88475a75dab18c7f9fe5e217) >>
->> endobj
-6954 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.301 267.372 334.551 278.276]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6955 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.707 267.372 457.957 278.276]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6956 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 228.57 191.16 239.474]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6957 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 228.57 229.964 239.474]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_114f91c420cc8060d6834730c8e55721) >>
->> endobj
-6958 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.78 228.57 268.967 239.474]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6959 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.781 228.57 313.968 239.474]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6960 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 189.768 191.16 200.672]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6961 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 189.768 229.964 200.672]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_41cdb256f546f09bd317deef44ac0009) >>
->> endobj
-6962 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.287 189.768 484.536 200.672]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6963 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 150.967 191.16 161.871]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6964 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 150.967 229.964 161.871]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_b4396e8bfbdd5831fd37d13c19194cc4) >>
->> endobj
-6965 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.301 150.967 334.551 161.871]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6966 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 112.165 191.16 123.069]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6967 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 112.165 229.964 123.069]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_9075dd07574234cc124e6076c272e987) >>
->> endobj
-6968 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.78 112.165 268.967 123.069]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6969 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [302.302 112.165 379.552 123.069]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6974 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6978 0 obj <<
-/D [6976 0 R /XYZ 90 757.935 null]
->> endobj
-6979 0 obj <<
-/D [6976 0 R /XYZ 90 716.221 null]
->> endobj
-6980 0 obj <<
-/D [6976 0 R /XYZ 90 716.221 null]
->> endobj
-6981 0 obj <<
-/D [6976 0 R /XYZ 90 677.539 null]
->> endobj
-6982 0 obj <<
-/D [6976 0 R /XYZ 90 638.737 null]
->> endobj
-5269 0 obj <<
-/D [6976 0 R /XYZ 90 599.935 null]
->> endobj
-6983 0 obj <<
-/D [6976 0 R /XYZ 90 519.13 null]
->> endobj
-6975 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7041 0 obj <<
-/Length 1232      
-/Filter /FlateDecode
->>
-stream
-x���s�6���+�ړ �-�����r3�k�&�/�M��x
-6�
\��W��#��	c�+��O�kI�>7~�4Z�� t�@! ��`��k
cH���!����rá{{ad���
�ۯ�]膏��W��nx���(��c�(��n���7���K���s���D:��������i���fp�t0\BI9�����_ �T9`��F��
��Ɵ
�+���hNA�d��P�ϴ�!�����O���\~n��&76�S1W���D�`�C7��nͅW�7��n�Gq�p�����N��z)�c�IϽ�*	3
��Y��:�8ƚ�%�$
-F@3�ˌy��q��Ύtv1HG�]��
	$TZ35
�|N4F"�M��T�5Y�]BApѠY!�CB����B��|+�)����X�h�~
���a�jB�'.�
-R)
-en�
2��/�$�k���@�m“I��~|��G�v��m���l�&#�ϒ_i�1k��3k��M�3�A,_����R��+��$F at g-��:���NA.�����	?2�y��s9>@������ݎ�+����U at x������M�&>˜��DL0��
-4�)�P��i��J�V����1��ϻ/���\���_�C׏�4�[2L(���΃A�G��jq���@^
-+���[֖�$U��{'5�0|F�6���ȧ�sK>���cA���z��-Ķ� ��Q�P����rІ�A
^^����`)S�?��8�A-��ҭ!�X�"
-
-N�.�,�`�pJ��Yʛ&�C��[^'�	�/�����
�
2d gb^�u��:������nQ[�`�)W@b]�ÍK�D�M7,<��zx�so����. �6�L;�{卮��&��,u�`��c�0�O�|
�
^�@�!R5�E�����nQ
jwh??�<�w�MtDe���aݦ�&�:�BC�v�)�q&UdII3��?��h���6�Vj�$�<�d����E��܅�[�4Mj�����"U#=��tǪ}8e�|�	˛t����L$V7e
�]j\���Kq��G=z5�]�
x��b�2�#
FS>�if�%�̌oX=/�vF
v6=�R
nPI ��;\A^�%�"(�F��������?��W�ßlέ<����cw`��w�����d2
��Z�nRޕ.�m��?�����Zu6^�HHQY�=���jM�S؍���F!���h4h=�sR�e)���w��盛C7)��a��?�?�

-endstream
-endobj
-7040 0 obj <<
-/Type /Page
-/Contents 7041 0 R
-/Resources 7039 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7045 0 R
-/Annots [ 6970 0 R 6971 0 R 6972 0 R 6973 0 R 6995 0 R 6996 0 R 6997 0 R 6998 0 R 6999 0 R 7000 0 R 7001 0 R 7002 0 R 7003 0 R 7004 0 R 7005 0 R 7006 0 R 7007 0 R 7008 0 R 7009 0 R 7010 0 R 7011 0 R 7012 0 R 7013 0 R 7014 0 R 7015 0 R 7016 0 R 7017 0 R 7018 0 R 7019 0 R 7020 0 R 7021 0 R 7022 0 R 7023 0 R 7024 0 R 7025 0 R 7026 0 R 7027 0 R 7028 0 R 7029 0 R 7030 0 R 7031 0 R 7032 0 R 7033 0 R 7034 0 R 7035 0 R 7036 0 R 7037 0 R 7044 0 R 7038 0 R ]
->> endobj
-6970 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 719.912 191.16 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6971 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 719.912 229.964 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_8d443d5098921978efd7b625000f3b68) >>
->> endobj
-6972 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.301 719.912 334.551 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6973 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.205 719.912 387.392 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6995 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 681.058 191.16 691.962]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6996 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.623 681.058 231.792 691.962]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_32a44c95ae4348ff889b48c309f9eab3) >>
->> endobj
-6997 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [408.979 681.058 486.229 691.962]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6998 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 642.204 191.16 653.108]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6999 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.623 642.204 231.792 653.108]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_6ea3cf85efb71cf62fa3e233c9e9cf7b) >>
->> endobj
-7000 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.058 642.204 336.307 653.108]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7001 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 603.349 191.16 614.253]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7002 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.9 603.349 248.325 614.253]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_2666c570468f53609bf420024a12628d) >>
->> endobj
-7003 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.141 603.349 329.39 614.253]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7004 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [375.547 603.349 452.796 614.253]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7005 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 564.495 191.16 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7006 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.9 564.495 248.325 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_385e4d3cfe442f4fcbeefd9acf5c10eb) >>
->> endobj
-7007 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.141 564.495 329.39 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7008 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.044 564.495 382.231 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7009 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 525.641 191.16 536.545]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7010 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.9 525.641 248.325 536.545]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_98b5ccd1157e6ec8beec7702af9acb36) >>
->> endobj
-7011 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.141 525.641 329.39 536.545]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7012 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 486.786 191.16 497.69]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7013 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.9 486.786 245.824 497.69]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_80d43634ca26fd76dcb1fdede6363dc5) >>
->> endobj
-7014 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.64 486.786 326.89 497.69]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7015 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [373.046 486.786 450.296 497.69]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7016 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 447.932 191.16 458.836]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7017 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.9 447.932 245.824 458.836]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_691b91bcd9b5c336892574e975235de5) >>
->> endobj
-7018 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.64 447.932 326.89 458.836]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7019 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.543 447.932 379.731 458.836]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7020 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 409.078 191.16 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7021 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.9 409.078 245.824 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_65766b549090f6b52281c99cfba9eed3) >>
->> endobj
-7022 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.64 409.078 326.89 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7023 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 370.224 191.16 381.128]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7024 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.9 370.224 247.687 381.128]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_0dddfc1f0ff6f55a90c4ea8829b9752b) >>
->> endobj
-7025 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.503 370.224 328.753 381.128]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7026 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 262.182 191.16 273.086]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7027 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 262.182 232.465 273.086]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_f5bbfb14fef626aee9f34e71a78c0d7d) >>
->> endobj
-7028 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.802 262.182 337.051 273.086]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7029 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.705 262.182 389.893 273.086]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7030 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 223.328 191.16 234.232]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7031 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 223.328 232.465 234.232]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_920af28903c20a4a4962761b834d577f) >>
->> endobj
-7032 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.802 223.328 337.051 234.232]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7033 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 184.474 226.034 195.378]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_37de3f55cf5e917e32f7f2f9c6d34840) >>
->> endobj
-7034 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 184.474 398.426 195.378]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7035 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.91 145.62 156.276 156.524]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_3fc6b9758fbac86e0592d37c23f14b1e) >>
->> endobj
-7036 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.086 145.62 348.418 156.524]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7037 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.62 145.62 513.996 156.524]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7044 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 133.664 160.176 144.568]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7038 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7042 0 obj <<
-/D [7040 0 R /XYZ 90 757.935 null]
->> endobj
-7043 0 obj <<
-/D [7040 0 R /XYZ 90 308.435 null]
->> endobj
-7039 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F23 340 0 R /F99 2117 0 R /F11 418 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7067 0 obj <<
-/Length 2284      
-/Filter /FlateDecode
->>
-stream
-xڝY[s۶~����9�q�ʋ3yh���6��>�3�v<4Yl)R%��ί�. RE+N��]���B4�h����7W�D"HI�(�Y)
��Yp�
->��!KF)
�/
�f�ݾ_p���F����]q�d�������Ys��a�,X�-�j�䊆�ˬm��g��v��5��q�X-~�������_
Gf�b
�ۋ��`����4	�jH.�[�\����U�
B#5R�0���eE�W��ot�7Ů��á��QtĉK.���e��S��X/�
-�� y�.��K��٥��C����h;ȍ��,�
ͽ3���^
����ܖܚ�5WuյO���h�4	�͒��D�
	�hd��	ňP��+�o~�Z�xD�㞄9
#�WH��8Ig��Ϝ	�$*F8sdũ4NXu�^�㰱<$*
- (b�<�͈S�G
��Tz�<f�#��YV,ϰJF�Qb��rF�D���L�.��$i�0����n�
;
�$�=���O��;�„��CJ��b����KӢ_��G
3���
�.��

�t�o�A����?p�wrE��Ӟ~t����=�׍��k�^p�a�����`ղj�E� qt���Q�b�ڲ�X�QT��]9�W�0�7}QP�7CV�f�NR��F��Ts��H��ب�,31*
�usB������t���fK�l6��KJR0��O���X��Cm�wX��E�{6����5��g+\� ���zN��d��Nf���/
�ݰ��?
�5

V�*�{GT��1 ��k��&s���*ZM�%#��0��
-�H{�@2��v6(�bt��%O���dp_[�{$O���k�8	��uӻڝv
��n����R�x�XJ�L!����,�՝
��f���sf����:ci'Ÿ
45:�c�r3OO�`υ�.-U�m�6�'7����
e�Ky�ݕ���dp,���]�t��uSo�|���κҎ��pLi�C;�L��ƛ��A
='���cl���P9�s���41^/��B�B��<V���!�wC�Ϣ���ʭ�+@����M
؍��`�YxW
)�ժ0�l8Ό����H�Xp�GP��$<h�.��3i�ݗ]�+�<�l�����؟'��4/ҙ"fiG�W�8�ٟ}X�x�
Y�u
��2?��p�=���κ��W�{|ɎY73I�~��!
�m�m�d��Y��I��0��}	��
�����i��"r��ӡ	uA�K�"1�29A02U>�^Q
�l6z�!W%| G�Xa6�
v�f�@�H�PA_X9xeNhfr����V�`?���o��iPZҍ����Fk
-�0��L
-���O��tS?��
-�R�&�}�L<S8*P �,=ʺ��d]�e��
lJ��^�I����e
�Y
-�~�CW�j�I��‾hr��$O�q�9!��B��N��@�!�?��"&<����y��L��/x�(�#hp�?ԏ��})4�l�]�]����^�xW�
SfBMDк��FB�8�[�wQ� �ye?F]8�Ob��"u��?fEBɃ��ݷ�� B
!�3v?z�?�ϥ�0�r<3��^S�����z�|0���,�=f�l��kaSx�,�DE�y�gs�g`�(}��_�|��{��H��=��KE>ΉT�E
-O䧗}m~�i��'DXD��2��t�q�/_��^�����Xs�
G�Ou���R���)v��c��s���!�2��\��xH���chE=.Њ�c?��Sl�IdD��� �a����p�j�6
��'�$X�,�����lkGe�1������iژ�}vd*:|����
�#	��:�>z
�D�b�h��zw(��)���j��`u�(�8yt�Z���
C�7��0eݟ�A��
��apQ����������צ���H4���f�M��s�k����������
�Ͼy��u=�����w� f�?��DB��G@����R$\��c��
1��]
|]� �;}�q�L��0�7R�L��<A����{
mr��`����!��}��R��'sгo���u���ns����
v���\n6�Ū�mI
�ێ�ہk��a���\v��:g/(bx��n˵^=��O3�$�
b��\_Cy��͝�x�O�B��.}�s�SF�㫻���<Qb��3��1��'�PX�夭x���K�~��z��;1W���_��/�
-݅�1��Yy��6�7Nji��ޯ$�_t��X��
���!�Rb"� �7]����:
$oɾ*v
)��ݮ�:5�
��𨺭��U&�&���owK�
-endstream
-endobj
-7066 0 obj <<
-/Type /Page
-/Contents 7067 0 R
-/Resources 7065 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7045 0 R
-/Annots [ 7060 0 R 7061 0 R 7062 0 R 7063 0 R 7072 0 R 7064 0 R ]
->> endobj
-7060 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.82 677.939 255.069 688.843]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7061 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.521 495.239 182.709 506.143]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7062 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 459.373 124.191 470.277]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7063 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.542 151.596 513.996 182.564]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_0651bfc78898bf691898cdb599198ea9) >>
->> endobj
-7072 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 140.263 232.246 150.161]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_0651bfc78898bf691898cdb599198ea9) >>
->> endobj
-7064 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7068 0 obj <<
-/D [7066 0 R /XYZ 90 757.935 null]
->> endobj
-7069 0 obj <<
-/D [7066 0 R /XYZ 90 733.028 null]
->> endobj
-7070 0 obj <<
-/D [7066 0 R /XYZ 90 257.794 null]
->> endobj
-6880 0 obj <<
-/D [7066 0 R /XYZ 90 235.482 null]
->> endobj
-7071 0 obj <<
-/D [7066 0 R /XYZ 90 235.482 null]
->> endobj
-6881 0 obj <<
-/D [7066 0 R /XYZ 90 131.297 null]
->> endobj
-7065 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F10 473 0 R /F13 540 0 R /F7 505 0 R /F1 542 0 R /F11 418 0 R /F8 504 0 R /F65 376 0 R /F23 340 0 R /F95 1788 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7076 0 obj <<
-/Length 2515      
-/Filter /FlateDecode
->>
-stream
-x��Z[o��~���S+!���/^�@7��n�t�}J��h��L*�T'��=s!9�Ɣ
�E
�x9�9s�;��f�8��p���˳�eIevy��)I��$�\ef� ��
�1���<˛������Y��z[������S�7_/.~.�"o�~��i�Dϊ����
-<{�η[�Kq]��ղ�MS�gT���˟�~�<�|F�9��PH1�-��>|��
-���a���]�)��u��������(CX�h`�"���=8fi��X�e]mw������&/��
)�� ����><kD�3�Hi��b�-��S�@$�
Z!HS�}(�l���}�G�
�f
<SHB��?���*����k7l]̉�����^�
�o�jUV7�u�*���YJ9҄��<pR �tk�\,�A�

����+�T��e�+�[���b�!Q�!-�qבt�E��uhar!��vj0v�r$��	@�{�>�
g�t�xA

q�ngV3�qd���]��U��D��ք$�� $�d
��	ޖ��P��.�q"h�;g)2:�,Ot'��'�>�l�C
�}I6Y�jJ���[z�r
#����4_0�YD���a�� �J��Ƈ�Ӣ�p�I�
-��w MCf��ES��B��>��u��!���FC�h��:1���1�� �wi�}�+[~t@*
hD��,��H�MQ
To�3��c!X��r�3��-�m��S���
-
�J���A�`,���
�G2T����Y2��
Փj�g(uj�3T���*���H���
���-=����>CS�=��^�ٟ�St(������
b
����� ���|]��{K����	o
;��j�	 34�1
--xw����J��u"8������S��0%d(*��!���gSo�]D���`$p_����ES����k������
�w�G@�@�"f$��ˈ,�I'��P
��wEU4�u�ݦ��H{�$�UTl��=MY�4fC��)�
-�
��������W7����J1U_-�c1����Ǧ�n}gy�
-����)b
p��z�AVnۆ��HU�Z�Ơ��|,�MY�l�Q'�#A:�u\�
�
�`(렎�Q ��N���:�]R���� �Š�J
�!�@���>\�Ñ`Xua��:9�W:n�3��H$A�
!	��J2S

-8gr@��G���|�<,��%������
�#
Ziuȏq�`ȏ� {"��)$�A�D)�N�&B��R�ZE!�
DLɰ�p��m�.�Yg�wde1�D�w
�>
�4l�3���ɿn��}ȁ���P�S2 �wv�J#�(R
-����IPep���ն}Y���_�c�
~X��1��€�\�ߔ��(��|��2��,�����(�񲺭�j[���6��W�u+ك��T�����k�r��W��j�{' ���?��p�#��� Φ�O+9|�C��5��
�И�#�r�g�D�<ϩ�e�~��`=���6���K�ʿL�"U �@E�ZE�9�g��o�M�/��@�%���Y
�тD
�����k���"�~,A٦D�P��
�Ո
-萫4b�r:4��4���F�U���n $�jJ-Z�Pt:i8��j��H
B�����
-�c���,W��<��!�ù+��e��(>J/�
-���W� �T���Ў�ɝ�2��A�(f�iG>�
��)�
)0V��=I;R�M�� �%�C�Q��x� ��I<.
G�-�oU��z4V�DVA{�;b1�{2GE�	�Ueɓw����X��v��);�/����Ae��y���D�mht
-�n�xWN�=�����
��Gp�x��DƔoo���M�w'��vȖ�y�%�<!�6Y�<�|�lQ ��宗6�������8��7E��B'Fx1܏�fz�ŨT���|�y�A�����1e�9�ر�6����`����7
0o<`Hl���ŶN��'
mܥ���0�����5�vn��M
��x���}x�x�)��mo
G�|���
$~��9�CRrP?G���	�l�K�6eQ���G�pr�Ϭ�]n����?���]Q��]��%@jW�f�>"���V����
z�o#���L�,5&�*,�1����?�{��
��\_����k7M'3�/�n�T����:>�,����d����hX�
�PL�
-Ĵ�1ŒN�L
�L�7uq
%�.!��+{t��^\8(\����
�2c
-���U	��iL�5Bi�f�����F����R���f���>�b�9%A����\����� 
���.5�6��fi��G�4�
5����̺��fS�n�Գ�c�&�)��֞�
�'cM`_6\�@y{*֪���}<:�U�M}�'�ncH����@	t��位�]
��v9�oÚ���}[4���!�ͫ}���𫯦�DPt@>�-��U��E�G�Ϭ��˙
]$)aa�p���nsq~~��[���M����f�>�m4j�� _�;�wu�_V���I����&��{
-endstream
-endobj
-7075 0 obj <<
-/Type /Page
-/Contents 7076 0 R
-/Resources 7074 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7045 0 R
-/Annots [ 7073 0 R ]
->> endobj
-7073 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7077 0 obj <<
-/D [7075 0 R /XYZ 90 757.935 null]
->> endobj
-7078 0 obj <<
-/D [7075 0 R /XYZ 90 733.028 null]
->> endobj
-6924 0 obj <<
-/D [7075 0 R /XYZ 250.019 649.92 null]
->> endobj
-7079 0 obj <<
-/D [7075 0 R /XYZ 90 633.193 null]
->> endobj
-6925 0 obj <<
-/D [7075 0 R /XYZ 118.164 520.721 null]
->> endobj
-7080 0 obj <<
-/D [7075 0 R /XYZ 90 506.051 null]
->> endobj
-6926 0 obj <<
-/D [7075 0 R /XYZ 291.124 417.412 null]
->> endobj
-7081 0 obj <<
-/D [7075 0 R /XYZ 90 400.684 null]
->> endobj
-7082 0 obj <<
-/D [7075 0 R /XYZ 90 311.388 null]
->> endobj
-6984 0 obj <<
-/D [7075 0 R /XYZ 90 287.019 null]
->> endobj
-7083 0 obj <<
-/D [7075 0 R /XYZ 90 287.019 null]
->> endobj
-6985 0 obj <<
-/D [7075 0 R /XYZ 90 237.778 null]
->> endobj
-7084 0 obj <<
-/D [7075 0 R /XYZ 90 223.207 null]
->> endobj
-6986 0 obj <<
-/D [7075 0 R /XYZ 90 176.003 null]
->> endobj
-7085 0 obj <<
-/D [7075 0 R /XYZ 90 161.433 null]
->> endobj
-6987 0 obj <<
-/D [7075 0 R /XYZ 90 114.229 null]
->> endobj
-7074 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F11 418 0 R /F8 504 0 R /F1 542 0 R /F10 473 0 R /F13 540 0 R /F7 505 0 R /F23 340 0 R /F6 538 0 R /F9 568 0 R /F12 622 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7089 0 obj <<
-/Length 1204      
-/Filter /FlateDecode
->>
-stream
-x��Ko�F���<�R�vf�>6H
-�)�&j/�a06]
�)�����w(�)�$mY�
�dR^���ۙ�]�����������o������ML����
�P�Q�Qz]�I���כ�*�.�O?�Q�����4�����ߋt�.����<�H���,Z.���u��?��3�d]H��'�o&���ʉ 7�h
V���vpv.�+��] @z�7�nE��΂��_��0� ��Ta�C�K
�8�V��U��Ih����b}�ř��^W&#� �eU6s}ɇ��Q����p��/��r�OҢ�w
"i@]����c�S����Ag��4N���ZT��!�jH�|�WwiRDyu���%�s<D
�I�9M8 ��
W�ہ2�
�A��=O�h�vhp�� '�J�{��^��*/�ړc�1�h֡C�2���t� ԀQ��
-r,����١0��J�v`�K^�~ܴ�ɫj`Z��+y�0���n~5)B
-��]+׵I
-���dۣ$	��$��Q�F�|�
%����=(�+K�p=��H<�æIY*�@�WFl�ׅō%B�u~�u)r8/ͱ�A������+Si�M�n�u�?[i��Sʹ�'��b����b��P,̷,�����Cp���t�D�f4|;F�KDF�h���ן��K���b�F����d�,.r���~��4 vT'
�k��W�Aim���N�Q�~o�����%�nZշ�`��ơDN
��`��g at NՑCѕ���t��-��|�%����s­�e)��0��W�6�K����_�e����{

�� Q
��`�#��
]���ui�U����Qu�j��4����AI�u�?ȇ�-��
y������K$ғ���,�8��
RATWg�yoߛ�煆���d����vjjK�F8U�����.B6��9�)C�A�G�d(L��2��{2�{N��d��=Y-�5Z+�����,
x$�أ���#�:~&�,y� ��x-:�m�63c�V�v�mL�VN��[��g�5�����d���8N������ƅ�2<�tō
;K�bQOJ��f�Ȯ����
�<�\&�/�-�����a��_��.��NJ�d��t��x��f#
2p�G~����ܲ?������w;}�Y�b뽛�jq2
��k�\�]2]�0]��ٸ�=��Bp=/ �����ӄ��V��=��NY�>
-endstream
-endobj
-7088 0 obj <<
-/Type /Page
-/Contents 7089 0 R
-/Resources 7087 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7045 0 R
-/Annots [ 7086 0 R ]
->> endobj
-7086 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7090 0 obj <<
-/D [7088 0 R /XYZ 90 757.935 null]
->> endobj
-7091 0 obj <<
-/D [7088 0 R /XYZ 90 733.028 null]
->> endobj
-6988 0 obj <<
-/D [7088 0 R /XYZ 90 703.284 null]
->> endobj
-7092 0 obj <<
-/D [7088 0 R /XYZ 90 688.714 null]
->> endobj
-6989 0 obj <<
-/D [7088 0 R /XYZ 90 653.465 null]
->> endobj
-7093 0 obj <<
-/D [7088 0 R /XYZ 90 638.895 null]
->> endobj
-6990 0 obj <<
-/D [7088 0 R /XYZ 90 603.646 null]
->> endobj
-7094 0 obj <<
-/D [7088 0 R /XYZ 90 589.076 null]
->> endobj
-6991 0 obj <<
-/D [7088 0 R /XYZ 90 541.872 null]
->> endobj
-7095 0 obj <<
-/D [7088 0 R /XYZ 90 527.302 null]
->> endobj
-6992 0 obj <<
-/D [7088 0 R /XYZ 90 492.053 null]
->> endobj
-7096 0 obj <<
-/D [7088 0 R /XYZ 90 477.483 null]
->> endobj
-6993 0 obj <<
-/D [7088 0 R /XYZ 90 430.279 null]
->> endobj
-7097 0 obj <<
-/D [7088 0 R /XYZ 90 415.708 null]
->> endobj
-6994 0 obj <<
-/D [7088 0 R /XYZ 90 368.504 null]
->> endobj
-7098 0 obj <<
-/D [7088 0 R /XYZ 90 353.934 null]
->> endobj
-7046 0 obj <<
-/D [7088 0 R /XYZ 90 306.73 null]
->> endobj
-7099 0 obj <<
-/D [7088 0 R /XYZ 90 292.16 null]
->> endobj
-7047 0 obj <<
-/D [7088 0 R /XYZ 90 244.956 null]
->> endobj
-7100 0 obj <<
-/D [7088 0 R /XYZ 90 230.386 null]
->> endobj
-7048 0 obj <<
-/D [7088 0 R /XYZ 90 183.182 null]
->> endobj
-7101 0 obj <<
-/D [7088 0 R /XYZ 90 168.612 null]
->> endobj
-7049 0 obj <<
-/D [7088 0 R /XYZ 90 121.408 null]
->> endobj
-7087 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7107 0 obj <<
-/Length 1364      
-/Filter /FlateDecode
->>
-stream
-x��YMo�F��W�H����4p
-�)�:j/�!0��&*�*E�ο�KJ�D�r��6��@�ܝ��y���{�
�~�6
����3�H*���3�S� A�7�y�>!��`H0��y@���pr
P�'�o7v����ї4L��F�؆���~�D�v���8R��w�p�v�vn��xjs�Ti~�����l<�o@�9����b›.�W؛��
F�h�h��8ep]x�
pg`�!,E-0�et�gT�o��M�,Iߞ�ǟ��{I���7��5m���	K\����c^��5JC�i��gn��A��7dX!a�7���(cm�`�j�����[9�0C���jt9O#Ϯ\C�k
�q�������6�M�ٍu7�"<wo"|�s�Q%vg�16�sY5y�b���&��FϜ��躊 ��H��!�D�v��RV6A-R����Mbv�,������]�P��w@��j�2GLm�j[܅)+�f�d�� ��4
-�,l�U.�������Q	dG���l[#.u(��L
6�hD�
 �Q���
���H����$7����Ԯ2�����yk�II)��
	�L���h���uv3�i��;^4�U�|��M�T�w9s�G���]B��U8���,Zڸ�nx���R�)�Rte�mi�����ٺt:�i�uY�.�I��8�|��j�ѡl4Z�����yʠVM�/�lb�u�@M�Ib:I�p�(��'B�p��)���.���h;�@��:҃���Q���;��1�d�,
�l=�e5���a
-�O�S�ܪ
����oR��@b��Gs�0�VR�x���
��g*Le��w�{Jh�J�l�
0�Oݫ�2Z,�6<��S�\�Bf�l���#�1"lG#>N�cpK�F����W��+i�_����5��~����_��(��ͨ�pi�]�cU $&/M�T����{E�l�ڏ@`�ԁO�u�z(�сR:P�=��_u
�=ۨG!�&
?N�\��&�˥��e��>[1`+�~�BI�yQK�)�b
�d&65	�Y+N���r�lw�N
�5���YT
�5���������tϵ<��(��[V� V8a��G`B	�l���q�W��

� ���� �u��Ě?��L�"��CF
-
-5�*��䌱0�c�Y�����
I
/�&�‹��ɴ�E0v4`� ��^U�9�
dz��ѤF��c��_�`(	0]~=j�W��
�<#�$X���	V�+>
�?�m�K �_N˟a|.�I�����6���y��<��O֖A������?����K�B��jrn�l5:9���C�5���U���d�Z�����l	{���[&i~��e�on���+pG�
-endstream
-endobj
-7106 0 obj <<
-/Type /Page
-/Contents 7107 0 R
-/Resources 7105 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7045 0 R
-/Annots [ 7102 0 R 7111 0 R 7103 0 R 7115 0 R 7104 0 R ]
->> endobj
-7102 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.542 594.909 513.996 625.878]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_0651bfc78898bf691898cdb599198ea9) >>
->> endobj
-7111 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 583.577 232.246 593.475]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_0651bfc78898bf691898cdb599198ea9) >>
->> endobj
-7103 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.542 354.02 513.996 384.989]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_0651bfc78898bf691898cdb599198ea9) >>
->> endobj
-7115 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 342.687 232.246 352.585]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_0651bfc78898bf691898cdb599198ea9) >>
->> endobj
-7104 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7108 0 obj <<
-/D [7106 0 R /XYZ 90 757.935 null]
->> endobj
-7109 0 obj <<
-/D [7106 0 R /XYZ 90 733.028 null]
->> endobj
-7050 0 obj <<
-/D [7106 0 R /XYZ 90 691.329 null]
->> endobj
-7110 0 obj <<
-/D [7106 0 R /XYZ 90 676.759 null]
->> endobj
-7051 0 obj <<
-/D [7106 0 R /XYZ 90 574.611 null]
->> endobj
-7112 0 obj <<
-/D [7106 0 R /XYZ 90 560.04 null]
->> endobj
-7052 0 obj <<
-/D [7106 0 R /XYZ 90 512.214 null]
->> endobj
-7113 0 obj <<
-/D [7106 0 R /XYZ 90 497.643 null]
->> endobj
-7053 0 obj <<
-/D [7106 0 R /XYZ 90 450.439 null]
->> endobj
-7114 0 obj <<
-/D [7106 0 R /XYZ 90 435.869 null]
->> endobj
-7054 0 obj <<
-/D [7106 0 R /XYZ 90 333.721 null]
->> endobj
-7116 0 obj <<
-/D [7106 0 R /XYZ 90 319.151 null]
->> endobj
-7055 0 obj <<
-/D [7106 0 R /XYZ 90 271.324 null]
->> endobj
-7117 0 obj <<
-/D [7106 0 R /XYZ 90 256.754 null]
->> endobj
-7056 0 obj <<
-/D [7106 0 R /XYZ 90 209.55 null]
->> endobj
-7118 0 obj <<
-/D [7106 0 R /XYZ 90 194.98 null]
->> endobj
-7057 0 obj <<
-/D [7106 0 R /XYZ 90 147.776 null]
->> endobj
-7119 0 obj <<
-/D [7106 0 R /XYZ 90 133.205 null]
->> endobj
-7058 0 obj <<
-/D [7106 0 R /XYZ 90 97.957 null]
->> endobj
-7105 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7146 0 obj <<
-/Length 1959      
-/Filter /FlateDecode
->>
-stream
-x��Yko����_A�@B�z��ˇnR I��m
��j�$hqm��C%);N��~g_)Qv��(
-����<��١�s�`����bt�ܧN�"��Ņa'�	�
q���%Q6���;��U
/�c�ev{%�*^�Lϫ���NO���y5&�[�g"O<��gY\����gQ�(���^��/~��_G��Qf� �;�|��=vX����F�s��r�y>3�l����%�"��KQ�Y��&�N˺Ѧ�`�Ϩ�@~0�\�*n�J�x��b�S�

��>z�ez�{E8�"�0LJNS{#��(��[h�(
|+�-��B�ʢn��/�B��r�q�O��,HX�xk�8�!
s�
12]-F"�C\&鈛���D7"y�wp�فA4@>��DO7�z�hȴ���E�V�!�斛�^K̖i2�� p�x��d&������C�*�mx>�/
-I'a!�=d�D���(
Y?���(C7�a�%�Zp��)SB��]�����	>[�Ug�'Q(R�*W�򶯜S@;0�HNj`��L��&\�+�c���M.�&n�0] ��Cs��>�ڶ��
��R�"1;�2�[�U�e����MZ\�w{���
g���h� ⑉�;Pۓz;� ��:CWWm�4
<
\��J��/�؃���L���M'��1�
�q���RT6"
g
-�
-^jm^��U��m�֕�
 d�]|��l����ȣ]�1,��H��P�B�m��
T�$
-#�ߍ��,]i〹�k��6�;�la�!���!X�b��uɘե���JB�,��� ���+Q-_��>)����每�
�z1�����ֵ�sBp�g��%&9Z 3�����;�s��1���CS������R�)�$�k4hʁhO�Mp;���D�0

��cB�g����M�ݥ�oþ<[�f���b9���l����r�7�{��x�nC�NM0!b~�g��a�7O�
��G�� f���Y<==���!�Cg>��c	l �`��1�wz��
Jo�R
t�D�?���*N�fy&~��v;����2m�7���
�=d�i:�4Q?[��
a��1
�*�L�"��K�
-��Җo�]�b-n剐|Y�4�eVw��O���"GP���4Bz+��p�ߠOD~n���X���7��|��k�լ;P�#&�MR��ț�Reh`?H<����%x�I��$%6���k��
��?�T�
�L�
ݫ

7"_�{�fc��l�< c���=M>�a;�� ��}e@##�'�wHͮ��~s�+�����~����b*�0�W���*���3���҆Ū4�khQ��ٞ�@��ky�����F�6��u��`c���?(�y����t�IT�
�,�{X�tݤy�I
˓2��
��<ys|r�?C�ǧ�>����˖�ٍ!%,0%%:%���k��s������EC{��
��=Ă��>�Y����ǚ3U畧Ԇ����Ͻ�-EӢ�
� �Lj
-5
-:L<
� �%�!�(�a�*
���B|;b�g@%C8j\���
�ϊ,��(� ��n��/�Z}�1|0�0B^������
X��H�Ҳ�<}j^�)�D��m��
-�SI'�60~���q��J���؟d-IWz0�i�N�	��[���Pc:JP�AW] :����#��[lX|�6`GǦ4��� MG�5��W �[չJ5���&���ѿl�n)
�*6�PP��x�yGk�l�]5l$��!
)����rC�Z�.��K�Tˆ�F��'
�P��
�
���F���=�b
�2��gCg0H%�
��z/Ov���f|�B���kF�%�ȇ���_2 at 3܎a��Y��$7�ܾ��_�[K��ZT�fF9����Md%_�W���u8F�O���΄-]���>�8R���K� Q��i�ӣ�����ѦH�J���:;�狎��UҎ�yY	Kh��������?&a��
-endstream
-endobj
-7145 0 obj <<
-/Type /Page
-/Contents 7146 0 R
-/Resources 7144 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7045 0 R
-/Annots [ 7120 0 R 7121 0 R 7122 0 R 7123 0 R 7124 0 R 7151 0 R 7125 0 R 7126 0 R 7127 0 R 7128 0 R 7129 0 R 7130 0 R 7131 0 R 7132 0 R 7154 0 R 7133 0 R 7134 0 R 7135 0 R 7136 0 R 7137 0 R 7143 0 R ]
->> endobj
-7120 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 454.693 244.968 465.223]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_0f5e373c7067f61d03e3a90724a6983a) >>
->> endobj
-7121 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.738 454.693 294.581 465.223]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_0f5e373c7067f61d03e3a90724a6983ac4528dcb9794c502cf7c9bd65e9c54ae) >>
->> endobj
-7122 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.585 415.839 255.909 426.369]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_abc43ede7fd0577eaeb7255a0eca232d) >>
->> endobj
-7123 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.774 415.839 448.819 426.369]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_abc43ede7fd0577eaeb7255a0eca232d6a4badcfd0bb8d6e536fa16b2d5108d0) >>
->> endobj
-7124 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [463.855 415.839 513.996 426.369]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_abc43ede7fd0577eaeb7255a0eca232dfb044a16e827afb114b4a2b9ba86fcbb) >>
->> endobj
-7151 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 403.883 232.286 414.414]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_abc43ede7fd0577eaeb7255a0eca232dfb044a16e827afb114b4a2b9ba86fcbb) >>
->> endobj
-7125 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.275 403.883 335.777 414.414]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_abc43ede7fd0577eaeb7255a0eca232d4d21924dceed7aac6368d4bc5affeccf) >>
->> endobj
-7126 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.764 364.656 350.54 375.56]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_dda1de457524bc20064ace508201876c) >>
->> endobj
-7127 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 283.893 172.361 294.797]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1ee38be62a49852994bf906003b0c23c) >>
->> endobj
-7128 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.176 283.893 241.819 294.797]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-7129 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 233.084 172.361 243.988]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a682606a24cf76b2d13ef9d70b0b4dde) >>
->> endobj
-7130 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.603 233.084 242.246 243.988]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-7131 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.937 233.084 407.714 243.988]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-7132 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 233.084 513.996 243.988]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7154 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 221.128 160.176 232.032]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7133 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [296.334 221.128 379.133 232.032]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gac82e7e0179442ef589f2fc61302d654) >>
->> endobj
-7134 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 148.401 172.361 159.305]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_ee0ae23c1027e709991811b8398b9f46) >>
->> endobj
-7135 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.91 148.401 244.553 159.305]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-7136 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.12 148.401 448.369 159.305]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7137 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.485 136.446 275.283 147.35]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gac82e7e0179442ef589f2fc61302d654) >>
->> endobj
-7143 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7147 0 obj <<
-/D [7145 0 R /XYZ 90 757.935 null]
->> endobj
-7148 0 obj <<
-/D [7145 0 R /XYZ 90 733.028 null]
->> endobj
-7059 0 obj <<
-/D [7145 0 R /XYZ 90 691.329 null]
->> endobj
-7149 0 obj <<
-/D [7145 0 R /XYZ 90 676.759 null]
->> endobj
-1541 0 obj <<
-/D [7145 0 R /XYZ 90 578.366 null]
->> endobj
-270 0 obj <<
-/D [7145 0 R /XYZ 90 571.766 null]
->> endobj
-7150 0 obj <<
-/D [7145 0 R /XYZ 90 471.39 null]
->> endobj
-7152 0 obj <<
-/D [7145 0 R /XYZ 90 383.749 null]
->> endobj
-7153 0 obj <<
-/D [7145 0 R /XYZ 90 302.867 null]
->> endobj
-7144 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R /F35 2018 0 R /F97 2175 0 R /F98 2120 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7198 0 obj <<
-/Length 1573      
-/Filter /FlateDecode
->>
-stream
-x��Y[s�8~���)��Z� q�L�n�I�l��wgg�C at N�bpq���=B��׉��
0����\$�\+Xy7z5
M�Z��"��-e:S\��AT'�4T>�� ���c��k�~6��sM�j�߰0��U�g��ǧ'��y�GM�b6��:�����\�~b3V�fI�`R]w�
-?������t�mD at -��B
j#۠J0}�����W02\G�+F�S7�+�?F�4	7M��a�2
G�ua�J�.u��W�
��u�ȧw#����8iX�xmW����7'P�h�
����/�����\ۄ�A��w�B�k1$�$�.�yޥ��
|�?F	�3���EƸP�=��L�U�����;J���������R�
����B�y4�~��p�in8F
����/�>9=��F������b�5��u���A]ײ�t� �M䚦���m���������]�`�i&��
n�e�\�Q|�
��5�B
XD�)Ԧ���B

��ښ9�bR��I�����I�r�d�*��/y���X�F�6��%#��Ր�bB��f��_Y�G����6	�n
�&�1mp,J�r>���Pé
��P���V#�!�1a�Z���A-!:�,R�:���H+. 7,�ڎ2����0J,���?1�'�
��Jx]G���	�i�
4L JKW��~,�u�iV���y��0�M���t#�J��%6���%	Ҁ�Tcv�����l�Ӷ�~cC9dh
m�O�`�j��U)���u!3�j���vH�ޒ�{�SD~��{�W�����O,�͒�j���Aޮ�ޜ�
��
n�lx��܁[�Y�&ܻ`�#H�	�\��[Ã������9�gY%��q�Dz���VZI
J��7���<+3d����V��X���C��BA/�e��m�u�ʽ+�\��@ُ��8M�2�	C���rv��%�z&:
�w`T>
�����z�|
�M
-쀬
u��ƠZ;<`
��cp�U��� ��ۭl5�A��#����=���aۭj����Su)���f����l?��K]�\�7�[���g�>�����P�O�(J�-���(�γ ��[�w;�p��ns0E���
-lt�&�p�W�7QW�
>���w]O�^��'��Y������c��(�K��
?
7�(�s�ͯXo��W�ƽ��0�
��ՖG�6��,]�$�r��/��<T��
-�a�J��oZ��,���������b/sX>���{��?�"�߇+,�}��{w�r�S��e�o�ȥ���|�DF�}ʃ�
4LD��R���d�j>0��(
4�
����=��z�$G�ށ�YL���m`�Fj+�=Qe#-
�}�DX7^ߍ�~�z$���Q���Y�G����E�v���0~Rh)E������R~�
D
�{����@�Sͺ��9�����`�4҂i���adu�(� K�sU�B at .��V�����%�ϫCU��8Y���,{�Q���:�����Jܳծ �F���
H/�*̤e�*�݇Q�Е�ı��uֺ����drww��n�h��(�,���5�	 mד̪�g�fu���s�����W|�
-endstream
-endobj
-7197 0 obj <<
-/Type /Page
-/Contents 7198 0 R
-/Resources 7196 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7209 0 R
-/Annots [ 7138 0 R 7139 0 R 7140 0 R 7141 0 R 7142 0 R 7164 0 R 7165 0 R 7166 0 R 7167 0 R 7168 0 R 7169 0 R 7170 0 R 7171 0 R 7172 0 R 7173 0 R 7174 0 R 7175 0 R 7176 0 R 7177 0 R 7178 0 R 7179 0 R 7180 0 R 7181 0 R 7182 0 R 7183 0 R 7184 0 R 7185 0 R 7186 0 R 7187 0 R 7188 0 R 7189 0 R 7190 0 R 7191 0 R 7192 0 R 7195 0 R ]
->> endobj
-7138 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 719.912 172.361 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_5da8e430d26c6471590e2c7ae5f7d82e) >>
->> endobj
-7139 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.849 719.912 245.492 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-7140 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.932 719.912 379.759 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-7141 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.747 719.912 513.996 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7142 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.57 707.957 332.369 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gac82e7e0179442ef589f2fc61302d654) >>
->> endobj
-7164 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 658.144 172.361 669.048]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_3805575c5d920cbc808cf34e44c11fee) >>
->> endobj
-7165 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.698 658.144 258.148 669.048]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
->> endobj
-7166 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 619.663 180.109 630.194]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a4a79e7bb87171b31d49429f9d875dcb) >>
->> endobj
-7167 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 580.435 172.361 591.339]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
->> endobj
-7168 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.1 580.435 223.907 591.339]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_40f18b846fb1fe73b63da7fa7cbbbbca) >>
->> endobj
-7169 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.244 580.435 309.694 591.339]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
->> endobj
-7170 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 541.581 179.554 552.485]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-7171 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 541.581 250.666 552.485]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_ff27d012a01487b7c9c14a9a3b40d9b1) >>
->> endobj
-7172 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 502.727 194.208 513.631]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-7173 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.948 502.727 311.935 513.631]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a9f9e9fbb372e1f21bd0472b2db20567) >>
->> endobj
-7174 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 463.872 170.687 474.776]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_dda1de457524bc20064ace508201876c) >>
->> endobj
-7175 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 463.872 243.314 474.776]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_8ccc13c9fa8f27701c935b481a371f89) >>
->> endobj
-7176 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 425.392 170.687 435.922]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_dda1de457524bc20064ace508201876c) >>
->> endobj
-7177 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 425.392 235.712 435.922]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_f46e579954688eec46ac0a43029fdaa1) >>
->> endobj
-7178 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 386.164 214.681 397.068]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7179 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.421 386.164 301.724 397.068]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_3800cc1eb2fb15d0c42dd71740bb661a) >>
->> endobj
-7180 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 347.31 196.709 358.213]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gac82e7e0179442ef589f2fc61302d654) >>
->> endobj
-7181 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.207 347.31 276.688 358.213]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_162d95e1149e222a317370e2fa25a120) >>
->> endobj
-7182 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 308.829 155.265 319.359]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_4d480f0b906eef0c0094c8fabc69a3b3) >>
->> endobj
-7183 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 269.601 278.681 280.505]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_3aa58c4d8ded71e574db9d1c59533300) >>
->> endobj
-7184 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.497 269.601 348.14 280.505]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-7185 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 230.747 273.002 241.651]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_0bf7e46a624f9d9df1528ae0b47ad55d) >>
->> endobj
-7186 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.34 230.747 357.116 241.651]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-7187 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 192.266 194.567 202.796]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_e60e06beac90231262189084333bda57) >>
->> endobj
-7188 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.904 192.266 265.411 202.796]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-7189 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 153.038 198.443 163.942]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_3a010e69cfabe1a026ee21f7639207e3) >>
->> endobj
-7190 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.78 153.038 303.607 163.942]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-7191 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 114.184 226.268 125.088]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_ea40406b8f95d9ca4f61f23598448cd5) >>
->> endobj
-7192 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.605 114.184 330.855 125.088]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7195 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7199 0 obj <<
-/D [7197 0 R /XYZ 90 757.935 null]
->> endobj
-7200 0 obj <<
-/D [7197 0 R /XYZ 90 677.237 null]
->> endobj
-7201 0 obj <<
-/D [7197 0 R /XYZ 90 638.383 null]
->> endobj
-7202 0 obj <<
-/D [7197 0 R /XYZ 90 599.529 null]
->> endobj
-7203 0 obj <<
-/D [7197 0 R /XYZ 90 560.674 null]
->> endobj
-7204 0 obj <<
-/D [7197 0 R /XYZ 90 521.82 null]
->> endobj
-7205 0 obj <<
-/D [7197 0 R /XYZ 90 482.966 null]
->> endobj
-7206 0 obj <<
-/D [7197 0 R /XYZ 90 444.111 null]
->> endobj
-7207 0 obj <<
-/D [7197 0 R /XYZ 90 405.257 null]
->> endobj
-7208 0 obj <<
-/D [7197 0 R /XYZ 90 366.403 null]
->> endobj
-7196 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F23 340 0 R /F99 2117 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7251 0 obj <<
-/Length 1862      
-/Filter /FlateDecode
->>
-stream
-x��Z]w�6���ળϩI 9��r��n�5�v��p,'�<��z�~�����8mo
�~?� {�
�^
~�
���}/F1�ܻ�z1�BN�Ļ�x�� ?�	�xx>"x(��H�G�|y#'�H�dW�����o_�'�ՈD��*��ј2<<�E]7���T�۲H%�4�C��ߗ�
~�
�;  ����(���������ȏ#�ά�y��{��ت��UcxM5�9
-��
��0g�~)e�}���a�@�[�a6���Lյ�Y���Jʹ�f�Bee��ʉ�&�~�
�$5|�N���4�!�����!�"P�ZUJ�7&�����B*�u#��u�G
��Ԍ :�]�C
X�����u��k�Sޕ�.FƑ7�d����2�NjP���1��<c�j�Ҳ�U_
���T��'k�5�Y���5��1Y
���|D;��#����`�F�d�ӓ���}�=����ik���ɅjQ~���oG�
��9cr ws2�Fk����r3f#OM+~�qD�^ʆ"_%�������[+�.���v��~\[m�V;������*+�[2d�u2/�B��M4�txVʩ~H�}��B9���^:���^
-�
8'�����d�}�b"�
q�BBߑ6
�j	
Z��>0��.��E��� �!2u	:� �W�f��=��04�HCD�������h��(@)$
����56��
2��2k��&K���c!G����p8�0��,��VٜT#?
�z����%
uv���m#q�!��[{�A��Y��zqgwy���#�p�K��OT��VG�Nؚ����T�:�
�R�3�{�Ua�m`S������U��`
�^_6L��=Z!��Ο�ZՏ��A����m�6B����Xk+E�`:���c�Cj��*�kvJ�*�cr8XnM��/�fH{�~Uu�0⬪<�����e���`Y]�c��
w�U���*C������*�$@�A�̻O(�1�WW׻\��)��

{w��~ �ّ&�w�~᙭M"Ϸl�� �-�L�$-�~ekܓ�'
�H,�N�,�,f�g��_U���ʵa�(�]J����4�U�b��+T74�8{��9m,=�
"d(����J
���_i��0S�,<f�8�\c�V�v�E�T���
�0'�5J����8��U������z���\�
6�����6�QȻ*�
�Q=:E,j=ާN�aǰ��:iP1Z�
�߅��߻
-+t�>�|x���`������
��o��:'�i�
�\! Mq��{H�
����;,�z	+�mH&�TN���{l�W�r#)Fb��B݇�����n1
�Z:��c�bz�f�s��3��rZc�4-����|9b
Bq��M_����:~U����v>�"Me]O�K�«am*��IY��+BU�e���y$�0Fa�z�I�䬬�I��'��ˇ�H�R�Pf�͊�j�K������Hb�:t}�96b���Fx{3M�̀�<�����X}�^���D�JGv����JV�7������B�7���g��I(���m���Q��Ǟ�μ��?~e��s�c���wb��"�P6��]�n\["�ww̖��
-�Q?O���=S�YY��̓s�CQ��,&�!���vz�Z�$���-�>�i.a~���V�?k*�5p�hk:�v�UTF�N�{[bJd���*����kp�}�?�h?π�)��k�<a1b̚���:cf� ����4��ۓ��ZV����Z�(m՞oޝVu7Ob��N�
Յl]�h��k�~
���%Q�|��F�������
Jk�(�y�2u2��'f�Қ@�
�Cn�è�* �LS�������D
-endstream
-endobj
-7250 0 obj <<
-/Type /Page
-/Contents 7251 0 R
-/Resources 7249 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7209 0 R
-/Annots [ 7193 0 R 7194 0 R 7217 0 R 7218 0 R 7219 0 R 7220 0 R 7221 0 R 7222 0 R 7223 0 R 7254 0 R 7224 0 R 7225 0 R 7226 0 R 7227 0 R 7228 0 R 7229 0 R 7230 0 R 7231 0 R 7232 0 R 7233 0 R 7234 0 R 7235 0 R 7236 0 R 7237 0 R 7238 0 R 7239 0 R 7240 0 R 7241 0 R 7242 0 R 7243 0 R 7244 0 R 7245 0 R 7248 0 R ]
->> endobj
-7193 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 719.912 229.446 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_fc1e5cbd96d9c2819ba1ec2151f3897e) >>
->> endobj
-7194 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.261 719.912 316.06 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gac82e7e0179442ef589f2fc61302d654) >>
->> endobj
-7217 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 681.432 187.583 691.962]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_49625522da117289c0312c67060210f2) >>
->> endobj
-7218 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 642.577 201.7 653.108]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gdf9d6f17d8974c81e3499f170e7762a2) >>
->> endobj
-7219 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.198 642.577 225.072 653.108]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_21e9dae374ecb009d8f7f268f5e673e7) >>
->> endobj
-7220 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.29 603.349 249.272 614.253]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_22183a1ac7a9af9929c6153e2a7a659b) >>
->> endobj
-7221 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.358 603.349 321.181 614.253]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-7222 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [403.975 603.349 449.992 614.253]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-7223 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.029 603.349 513.996 614.253]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-7254 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 591.768 135.27 602.298]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-7224 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 552.54 179.255 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-7225 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.994 552.54 248.434 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_485bfce228009ebec2a7bd83d695eddd) >>
->> endobj
-7226 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 513.686 179.255 524.59]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-7227 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.994 513.686 260.629 524.59]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_3601b97efe162fca1df11d70b0b3d607) >>
->> endobj
-7228 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 474.831 192.664 485.735]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_7f2b2dce631b12fb46f6f1fa719e6c84) >>
->> endobj
-7229 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.48 474.831 242.497 485.735]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-7230 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.44 474.831 319.457 485.735]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-7231 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 436.351 150.493 446.881]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_b5ff957e959947c6016cd28be6e2fadd) >>
->> endobj
-7232 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 397.123 181.845 408.027]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_bd1a41cf267b29ebf81851eb096dc6de) >>
->> endobj
-7233 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 358.268 181.845 369.172]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1ef2a882e1f0a3121f94eea90a9a16fe) >>
->> endobj
-7234 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 319.414 154.727 330.318]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_8a238e31c3b4acf8a023a6346bbf752f) >>
->> endobj
-7235 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 280.933 176.505 291.464]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_abfec033a504656ea05620f485442b1e) >>
->> endobj
-7236 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.408 265.939 450.955 275.844]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1ef2a882e1f0a3121f94eea90a9a16fe) >>
->> endobj
-7237 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 230.747 191.718 241.651]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-7238 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 230.747 288.852 241.651]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_25be5d5e126674d8aca8b9ec828e289f) >>
->> endobj
-7239 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 191.892 191.718 202.796]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-7240 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 191.892 303.079 202.796]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_b151aa3732a4737e63c5142b42159dc3) >>
->> endobj
-7241 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 153.038 156.281 163.942]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_623847fa141f97cd59f3d85627536379) >>
->> endobj
-7242 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.097 153.038 218.547 163.942]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
->> endobj
-7243 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 114.184 219.234 125.088]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_abc43ede7fd0577eaeb7255a0eca232d) >>
->> endobj
-7244 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.732 114.184 311.916 125.088]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1e73b39b2848f8141aa58219cf97dead) >>
->> endobj
-7245 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [315.731 114.184 422.161 125.088]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_0f5e373c7067f61d03e3a90724a6983a) >>
->> endobj
-7248 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7252 0 obj <<
-/D [7250 0 R /XYZ 90 757.935 null]
->> endobj
-7253 0 obj <<
-/D [7250 0 R /XYZ 90 733.028 null]
->> endobj
-7256 0 obj <<
-/D [7250 0 R /XYZ 90 455.07 null]
->> endobj
-7257 0 obj <<
-/D [7250 0 R /XYZ 90 416.216 null]
->> endobj
-7258 0 obj <<
-/D [7250 0 R /XYZ 90 377.362 null]
->> endobj
-7259 0 obj <<
-/D [7250 0 R /XYZ 90 338.507 null]
->> endobj
-7260 0 obj <<
-/D [7250 0 R /XYZ 90 299.653 null]
->> endobj
-7261 0 obj <<
-/D [7250 0 R /XYZ 90 249.84 null]
->> endobj
-7262 0 obj <<
-/D [7250 0 R /XYZ 90 210.986 null]
->> endobj
-7263 0 obj <<
-/D [7250 0 R /XYZ 90 172.131 null]
->> endobj
-7264 0 obj <<
-/D [7250 0 R /XYZ 90 133.277 null]
->> endobj
-7249 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2117 0 R /F36 7255 0 R /F98 2120 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7285 0 obj <<
-/Length 1939      
-/Filter /FlateDecode
->>
-stream
-xڥXI��6�����C��b�N.ٜ�L2�cwr��� j!�f����
-
E�%��b)���W��#ޏW��_ݼNV^
�I�x�[/'^�� �w_z�|J�U�XRB����g}��w���m���e�ֿ�M�����_�[��
�����b����bR����z�7�a�?����?_�p��ZģZ�8
�U��ջ?�W���
	Vy����ڋ��V�۫�]k����i�$A�ʼ4\$��}��0�׻s޻e
�~��Ү�N��U�ޅI��Eۨ���
�Y�x$7�'19+��Ί Ǿ��}A)�Y5�SA�X/�h:��~o^�����I��a�D���Q�G���-W64ڊECT����M��q�*Ȳ
.҂>95�/M�,�ݮ��3��y�%���V�WVSŔ(�jwær�_y������J���]s��%��s ��ҋ(E�	���SǏ
<s�f�kٱ�����@�%�}���76�j��rQ69���!�5����ѹ~B��YY;֔G8�
�< ���hK�/O�(�Bg�6������;'05�C�I��A���z���+x��� Σ�a���m��9��u��m�{�Z�{�Θ
<CB�V_}�i�gc
-�?N�"�G��%�?�WU�R�.�,� P3��wP�`�.�$�n at 2<
�3�/]N ��~)�gY�˽.�ݱ�,�
�[j��y�n�t)������Z�D��/Q �>J��4�cK}�"���@B�h�:*-
/��_\��
Q�:Pj@ʽ��������ygɼ��N&�����+&*G(�sY�S��/S�7��G��S�4�=8�@<T���n4��o��עy�Uָ_���@�&�
�7����n�䅲���1������!tUm��3냖8+�Z�ı�8�M�D!���4!�=V�`�L�����1�I��{BB����T�(��ίc};�c�Y����Q �
J�Ws��<����;��I.0_�q1�p=���̕c�s`!a#\���r��DȌ���J=�2]���,��Ea�‰�F��= �3��/0��/��V��V��b�͇���tߘӧ���{�����5V�A��Mo�
'����-��3�E��;h������}��j̀岒�%G�[:1/u���Nj�����݆N�yis�3�r��E�e��c�sy����-e-�bjL�x��z\�����l��;��q�j8py*�
�#٭h>�
�4.ʡ��^��-^��5
@�DS�
�A��Н>�V�Q�4�N�i�Ù���c�$FE�h��|�5}&�+S  ��E�/��8e�]ku��@��P�b����
ܪ�Ů.���$��� ��RV���,


`n����CH�ɨ���ba��f|�B��o��4S�>,�7o�;\��U���e���``�U*3�ٖ
XG����h<^7�3C�X
�\D3�0K
��,u �f��J�g*����Ӹ
x�)
�쨧�� �2�������͘�5L
��
�T(mk7�4M�ŪC�B���z^�]J��^�gGB���� �EƲyI�y�di�[���C��ʠ��\��R�L4
^���� ��a7��#�����h��n���k����lkV{>H;�1MC4�L�)��7:�N!��h��"�*�:%��d~�6�*���
o�
*l�I����#&
p��χI������"�r��
�
-�5��U!M��F1SVA
&9�Ǵh�����GR����*�I��߭��?p���I�s|�ؙ
$L��TqN��ޤ;��<u*��*��Qs�?ho!���oP��g�)�Q�n
ϡxZK�[Ľ�{8.l�_���7��-bh��Ӈ5ÔNl�
�nP�&q���
i�>xn��+�4<�K�4X
���)����������Ј��������
)�MG!۱�hݟ=���ZG����`u
-endstream
-endobj
-7284 0 obj <<
-/Type /Page
-/Contents 7285 0 R
-/Resources 7283 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7209 0 R
-/Annots [ 7246 0 R 7247 0 R 7271 0 R 7272 0 R 7273 0 R 7274 0 R 7275 0 R 7276 0 R 7277 0 R 7278 0 R 7291 0 R 7279 0 R 7280 0 R 7281 0 R 7282 0 R ]
->> endobj
-7246 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 719.912 224.993 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_42acbf3b42263a3dc137395dc8fe1421) >>
->> endobj
-7247 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.808 719.912 334.132 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_abc43ede7fd0577eaeb7255a0eca232d) >>
->> endobj
-7271 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 639.15 203.075 650.054]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-7272 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 639.15 296.324 650.054]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_28dfc886a103ede666395ab45fc7950c) >>
->> endobj
-7273 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.488 624.529 334.373 634.434]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
->> endobj
-7274 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 531.109 226.034 542.013]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_30c23ab257a58da3708591becad2bf1f) >>
->> endobj
-7275 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 531.109 379.626 542.013]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
->> endobj
-7276 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.284 492.254 162.65 503.158]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_6ba0be34c122032442a7409f194e157d) >>
->> endobj
-7277 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.835 492.254 342.367 503.158]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
->> endobj
-7278 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.909 492.254 513.996 503.158]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
->> endobj
-7291 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 480.299 149.666 491.203]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
->> endobj
-7279 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.411 270.947 342.66 281.851]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7280 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.006 177.607 322.456 188.511]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
->> endobj
-7281 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.912 148.028 329.362 158.931]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
->> endobj
-7282 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7286 0 obj <<
-/D [7284 0 R /XYZ 90 757.935 null]
->> endobj
-7287 0 obj <<
-/D [7284 0 R /XYZ 90 733.028 null]
->> endobj
-7288 0 obj <<
-/D [7284 0 R /XYZ 90 658.124 null]
->> endobj
-7289 0 obj <<
-/D [7284 0 R /XYZ 90 658.124 null]
->> endobj
-7290 0 obj <<
-/D [7284 0 R /XYZ 90 577.361 null]
->> endobj
-7292 0 obj <<
-/D [7284 0 R /XYZ 90 442.979 null]
->> endobj
-7283 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F11 418 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7300 0 obj <<
-/Length 1976      
-/Filter /FlateDecode
->>
-stream
-x��Xio�F��_�O-��spx���T	�Ʊ7V��i ��H�"U�����}�$)ъ����D����3������g/fg�B�%(	i��V^��($�S�͖��Ăј`����~Zm��͈b�̿lIJJ�o��*��L&W�7�jDb����v4�
�/���;�jY
D)��Oc6�8��l:;��X�#J

��qo�=��{K���È%�w�vm��2�����?��I�(C8�
�5J]��
������&+
=�S�����S %�� �'=Z�j(��5�d�,=���t����o�+���⸣�B"�@�"wC�+�
�gW)&��z����ܬY>5R���<0��$	A}�B��5XYMzG[	Q�9F�3M�����˷����
b��!�����e��X�A�����
&�$�8 ��2�_u�o���i���nʺ΀���ruиrUVþ�~Ĺ_�o�s~;�No���������7ף �R��)_��"�P���F����ј��˵���r �n���`3_��? [...]
-~g 90P��+L`�Ƞ�}C
�xH��������/'��"8vi:�@���CsW��
{0k	�#Z
�6�mf�2�n������آ?��
-�\~8�z!PP���Λ/;Sz6g1�X���k@���=7;�d@����h�O��n�=@e
@ �1������k�����}���H��4U&C�s���U
Y�t+�l���a�Ї��
��įğ��R�R
*�w�>d��0��S��K,MW���^틅���Wq��!G�
Z�g�Q0�٠�PL�G31��z�.��{_,��-��
թ*T�6QHJ
-ݯ��ԃ4�'P� ���*[gE�Ş,0���of�f��lk}V��^�����'�h&NLS���x��P��6A
@p��|k <�KUH��)��g���6�0H� 0���f��aCC`��J,�^�쩪)kU���}�l�r�5��p
��S0Pt*�{�u���
�!��&(�
�����6��f9��X7���*p�	�G
Ѷ��6U)-po�����B��Q0QL��-�X�Fy9����N��W��#w
j�\����t�-���R0+�
�H}�D��e�6b�����!
1�K��?���W�d�
����1\���b�"�IF�C�1@�@�q��7Z�ޠB�k=��F
E�t�#s�� ĊX��Ca
-e�[h�m�b�'t]��ͰEY�ȩ&}!|}
���U�o���n��7G
Z��sZ�L!�)9��MV���Ov��_�z�u��:kP��E4�!�w���>rT:ri�&���*�yd^`t4%������W�(�W�r(��M�
ݺ]}h&g��5��xyu�������P�d�y0/40/+r0��o�V-�
�P�� ���	����&�y�Y~�h�\j{�nI��#eZ��%�*�����C
�P�2�i���l_���88W��z���)���8����y�B��u�c�T���ޭ���@�.�dq��e|���m��̛�PҢ���[�� q��K�l׌��b_OvB��&B�m��>�BZ#AlЭ��v.L̵��.E�e�%��{�A(���vِ!�S�<�w=)9x��2��{sѱ$�Y��~��M�50Phbm
b;�����?����7��E��G������G�y?j�p�X\8���g�~F;�
k��I�������ܩ\��H��UȂ�G�&ؠ��
��X7cj,���{�
-�/�a
����
�A@�̓?O��A���Ȕ��
-��C�;���ZT�֫���{�
:ȫ6
0��O��I]�o�0Jj�>y��}ih�%q�X
37M������ߣE��E��P֜�v���;T 3uZ�uζ�++`r�
�������
-endstream
-endobj
-7299 0 obj <<
-/Type /Page
-/Contents 7300 0 R
-/Resources 7298 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7209 0 R
-/Annots [ 7295 0 R 7297 0 R ]
->> endobj
-7295 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.651 282.035 406.173 312.879]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_28dfc886a103ede666395ab45fc7950c) >>
->> endobj
-7297 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7301 0 obj <<
-/D [7299 0 R /XYZ 90 757.935 null]
->> endobj
-7302 0 obj <<
-/D [7299 0 R /XYZ 90 733.028 null]
->> endobj
-7155 0 obj <<
-/D [7299 0 R /XYZ 90 716.221 null]
->> endobj
-7303 0 obj <<
-/D [7299 0 R /XYZ 90 716.221 null]
->> endobj
-7156 0 obj <<
-/D [7299 0 R /XYZ 107.713 637.39 null]
->> endobj
-7157 0 obj <<
-/D [7299 0 R /XYZ 90 625.271 null]
->> endobj
-7304 0 obj <<
-/D [7299 0 R /XYZ 90 610.701 null]
->> endobj
-7158 0 obj <<
-/D [7299 0 R /XYZ 107.713 533.907 null]
->> endobj
-7159 0 obj <<
-/D [7299 0 R /XYZ 107.713 506.012 null]
->> endobj
-7160 0 obj <<
-/D [7299 0 R /XYZ 107.713 490.072 null]
->> endobj
-7305 0 obj <<
-/D [7299 0 R /XYZ 90 473.345 null]
->> endobj
-7161 0 obj <<
-/D [7299 0 R /XYZ 90 451.033 null]
->> endobj
-7306 0 obj <<
-/D [7299 0 R /XYZ 90 451.033 null]
->> endobj
-7162 0 obj <<
-/D [7299 0 R /XYZ 90 273.068 null]
->> endobj
-7307 0 obj <<
-/D [7299 0 R /XYZ 90 258.498 null]
->> endobj
-7298 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F95 1788 0 R /F65 376 0 R /F8 504 0 R /F23 340 0 R /F11 418 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7313 0 obj <<
-/Length 2123      
-/Filter /FlateDecode
->>
-stream
-x��Z[o��~���SC�x.
�M
l���IܸY(���m��(��������p8#Q��E
���v����>�8z�p�ϋo�..ߤ,�H�4���#�#��)��ѻ�Ēɔ`���	�q^�����x�zZ�:��P~��������vv[OHo>���dJ9��]�Mc>�T�z���
Ji�c�%�w�]�������Z8"Z
.�`<��/�}��ƿ�0b2�
��u�P�U����ؚ�}�$�L#$,�!�rc_Y��Oy�h���o8�6�
)`F�[ƚ�h͇ͽy~�P��9�|e��jQL�?�?�š]�vk^��曪i뼬��]����{�
���
 GO�jW4hτ����aJ$Db,�|�ߘ�D��
�
��y[*���Qf�~W��2o�1Ǜ�z�W����v뢲�?���|Z�ڵv�v�*����ӊ&`A�i�͂@�Ɍt
@2�
MJ��X�Xo�6T B�!6`��-�����<�D ɝ�޼�����ϯ��� >�@\�d�)K9�$��H����y��i���GP&X�0��M���Z�C��u��� 
Q��`�Qx<Z���T�X��\��,(F&��5&R�E����E��MJ?il|��L��������bŠ�tԥ+�G���9�3�*�[�~o�H��$7�W�b��֫F�J�$
�%Px�87�.;�v�2ӭr|5���LR�Ӎy�fl-�n'�
ۧI���`ʬ4�
;�flQN��T$c
-��ޅ,��5i8�:�W_g5���.�-�Tڬ
�P�`(�����Ԣ���33��@���X��v#��*qh�s��ʴ��Z`$�V
s�'��Py�톢T
�����GT
-�X���I�J�>�&�	Ȝ}s�b��h��v���`�t"�
�*qA�>m�*_
P���j�D�j����!�$w!����
�nL��C«V��{��7��/����|�
�;���I���?8�=��!��
:2�n��]� m_;
*�|�<
��i*i��������5�bcB �,�ˀP�1�����4�B%J��������p�[
l�aP|���)��nWW������ҡ���ǐ�����
-��o�9Z8��nMp:M��l�6h�Ry�9��9���:/{WV+���@b�2�<�nZھ�]��
-;M�4��O
C���mm��]�*�>�Ճ��uAM��q g�R�gJ?��q_o�F�ίJB_�԰J�j�/+ւ���W���@�:�
�
�"?�ཇ��/HPЛ`�.�o�'&�H2?���
-ӳ���s���<���+��m��i��j1� Ȁ4����
-Eȱ�i��@�䄫[�t�)
�T�6�œ�u�+ ;�
-ϕws�vc��}��r�iTThLh�l|�3�u6��
�]��1tɉm)�P�e�/��r�p�d����j�����a�H���m^�G ��ן�����jA��մ��<�г�WF�6MA�i�E�
��2�>g�f�g�f���_p��ᙛG��մ]fh��;$=��
��;
���*���

��^�d8���a�%�k�/
���a�'V,Hjj�OjzQ�
�v�[�
0~��1ӎ{p�S�x"}�����b#
�� ��_�|��8?��2
���V�̲F��$�%.@�[���OMkXE6H#e��e�y3�B����R:ުN=�k/:&��e\>C]�OF�+F��<5N���X	�,Ӏ&�$9�#��p�
p�K�iϐV�5��DR�ᎊ�R��yj*J�GEըOE�{׎�q*���P�H�{���sMH�D�k��o��z��O7�C���R�2�Kj�@�!�2Fl
���A
	S�P���RbH��p�r�)�vF
�^K�l��M߬�fe����ț�}
^�z
�>C��g�t�Mg�t�M��	K�b�i���#"ҥ*;��Lcޠ� �첎1�3}�
�:�1
����b����폝_�#��e��
:��N�fP��S��H���J�d���c���d/��* S��
U2��/���4E��h�E�&�v]zSX,��� ��I:�`q�����엨���^_���Ӳm�W�����hޠ]UnkT��������ST��?�t-�zS��ap�s������
-endstream
-endobj
-7312 0 obj <<
-/Type /Page
-/Contents 7313 0 R
-/Resources 7311 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7209 0 R
-/Annots [ 7296 0 R 7308 0 R 7309 0 R 7310 0 R ]
->> endobj
-7296 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.651 647.797 406.173 678.642]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_28dfc886a103ede666395ab45fc7950c) >>
->> endobj
-7308 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.651 373.994 406.173 404.838]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_28dfc886a103ede666395ab45fc7950c) >>
->> endobj
-7309 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.651 115.299 406.173 146.144]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_28dfc886a103ede666395ab45fc7950c) >>
->> endobj
-7310 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7314 0 obj <<
-/D [7312 0 R /XYZ 90 757.935 null]
->> endobj
-7163 0 obj <<
-/D [7312 0 R /XYZ 90 602.936 null]
->> endobj
-7315 0 obj <<
-/D [7312 0 R /XYZ 90 588.89 null]
->> endobj
-7210 0 obj <<
-/D [7312 0 R /XYZ 90 329.132 null]
->> endobj
-7316 0 obj <<
-/D [7312 0 R /XYZ 90 315.087 null]
->> endobj
-7311 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F50 339 0 R /F8 504 0 R /F65 376 0 R /F11 418 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7321 0 obj <<
-/Length 1696      
-/Filter /FlateDecode
->>
-stream
-x��XKs�6��W��J� ��zjӤӴ�qc��$��EX�T"����ŃH���1��F  .���
�h�跋_n.._�8RH	*���H�(qJ��,z7!�l:#��Ք�IZm��Ք�I�ٯuV��?��*�����߯WՔ�Iy����r<y�I��
��;m�u�� �R�'T�釛�/o.>^P
GĪ���<Zn/�}�Q�#�b%�G�k1��&�����5��
>0	�F���[P����X6yY��_���VMj�@E�?�
^V� D���2�����[��r�S��{�1��9��s�

-�X%���&/������Y�uF$(s/�յnj���D%�8n��8
9�!%I��Y��ȹT ��M�3�V���>ݸa�Ԭ�ZS�S�'y�|���:	�8̸BRro��M+�ޥK?�r`�E4�8��
:�r�?�	���x���
��i���)�|�5	C�C��4���Egj�H�laP����c�m\9��.��N;��0�	E��}�� 79��"5ğĈ�I����
Cu<�vD�DL�vC�
N
O�G\�Qg�Q���d�0�p)��B��D/��ha��q�!& 
-�:c���c�nu��z
���	�C$J��J�9
xl�B�:ጻ����﩯�w`�� �'l#�1�;�Q���OK�3��|���z��M6�ot�j�
]U��3f&
�D�fV�
��������%y�� ����<M�!B[�0�0;L��[���2���N�+P
-�Y��m��;}R� �P�vOw�K��V+_R�ژ\�Ƽ38�tH%�*t[
2W\(�
-������b�{�Ŝ�ƚ�����c�ٸ�[�f�uY����p䃉�_j��Z׍�̹͋κ�v;Lb�
-Y20��
~��v�{��Vz�]�"o�xm�.k�� c�*�
-���	��
�C|�QP�>�>4�"/���Q�8U ��΄��™y
-��u[7�J���iU��
-����A`�z�kӹ���`"���

H
���rY�C�7��1�#��1{Uc�b.N�;�����T���J	�]gP8>�\m�8dWp7��<[��ʶ��^q �Q���#Y	
Vn���"��<����3<��MBVڀ�Тl�`YV���J[��gO�O�_�z)B�4
�@�y�K�PPF�F�
�<�B&`�`�"L�
��"��3	��(Ù�},���g�?ʻ*�
1�ԫ���g O!M\��A��2��-˝1t�.3� ����@��
���d�&r2c	�&?��X�&��g�����hJ�yQ
���vBSwΗ�?����ٻg����)���a�_�Z�a޺J^�vH�M��0�qm-^U:mZn��as�� ����?���\�3?b!�3A��
��<�T�������ioO�4C��'�Xw U�)��a����,��;��w#���b���a

a`�k1��u|丹0W�o��~��.�
#>�	"*~ʧ�/'eр��Ʌ�u}�=�S�Q`H)f�^��Z>1]�w��J~�
|6��|B�S�M�.���X`���~b��V�(�TK�i��sv�e��DȰ�l��=zr׺�qj��ϖ���qw��
P �`�� H�k���β�v������w�^7�n~y�����5�/�]���r��\
��@
-�3�ܵ��e��ɭ�n|��� �7
-endstream
-endobj
-7320 0 obj <<
-/Type /Page
-/Contents 7321 0 R
-/Resources 7319 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7209 0 R
-/Annots [ 7317 0 R 7318 0 R ]
->> endobj
-7317 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.639 503.642 300.161 513.923]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_28dfc886a103ede666395ab45fc7950c) >>
->> endobj
-7318 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7322 0 obj <<
-/D [7320 0 R /XYZ 90 757.935 null]
->> endobj
-7323 0 obj <<
-/D [7320 0 R /XYZ 90 733.028 null]
->> endobj
-7211 0 obj <<
-/D [7320 0 R /XYZ 90 716.221 null]
->> endobj
-7324 0 obj <<
-/D [7320 0 R /XYZ 90 716.221 null]
->> endobj
-7212 0 obj <<
-/D [7320 0 R /XYZ 227.842 663.468 null]
->> endobj
-7325 0 obj <<
-/D [7320 0 R /XYZ 90 647.047 null]
->> endobj
-7213 0 obj <<
-/D [7320 0 R /XYZ 184.963 468.335 null]
->> endobj
-7326 0 obj <<
-/D [7320 0 R /XYZ 90 451.915 null]
->> endobj
-7214 0 obj <<
-/D [7320 0 R /XYZ 90 342.602 null]
->> endobj
-7327 0 obj <<
-/D [7320 0 R /XYZ 90 328.338 null]
->> endobj
-7215 0 obj <<
-/D [7320 0 R /XYZ 90 215.02 null]
->> endobj
-7328 0 obj <<
-/D [7320 0 R /XYZ 90 200.757 null]
->> endobj
-7216 0 obj <<
-/D [7320 0 R /XYZ 90 89.441 null]
->> endobj
-7319 0 obj <<
-/Font << /F63 374 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R /F95 1788 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7332 0 obj <<
-/Length 1629      
-/Filter /FlateDecode
->>
-stream
-x��X�r�6��+�J��ƛ�vm&�4M&n�Ҍ�� �
E�$���^��c'��F"��>��[{�g�\�.^I�)�$����S�
$A��z�}��_�c<�\<��}��\P<ϒ������m|�G��r�����e� �<�I�~�S��/��(����մN��R�9
����������3ja�Tj� Lx����'�m`���S�w�V�=N�'����>
�2���@B
I닁�ś��X�h��e��Uv�^���[�ӫ�1��,�R�����(���8�Q��
p����p��z�6*�j�1�3���
X#"8�v�vM:�`BZ�%�]$pg�P����ܮ�ҥsZ�����H��(�n�Z�Μ]U		#b�kO
8]1V�AUL�N
��	
�܃#�am��>M�eos+�g?�)�
-d���E�Y.�t���QoVQ~{��
h�S\	�_���X�d�^���_9+�@q���q�h�dX�m�L�*xp�tB��5q�N*�x]&wV�m�����*wQZ?i;?��Ʀ)���!�f�3�*����:�&�q�BR�)w��.�!��F�
-�%>���~�.�o�,��>>��bUDe\ 
-���cҹʦ��&�X}�O�;��쒪#3N���5C!	~�5�1�`m���A���$�0��!['V���N����T���F�*W�
Q�q�Hg�z�)F�(�p�;�&
�7ѓq�9"�O�M��f
��2*��S#����#��C}�����k��.FJI���A���t׷���j'�����w�e�L�F���<N7����ڹ
-��Ȏ�:�k;
-�P
�Y3`�G�՘��,��P�'|L�:*b0�s�j~L';�MvL7�����;�nz�4
���J@�t����(�2�x��%G��giFuF�3&p�֩Σ�F<E*�s	ސ
-��:\�:dqZNB*DT�z�������d�:6��~#�l�Dz�O���;��ލN�䃷Z��OM9�Y����:
�nL%M囐U2`# #9
	)2 at Q%O�@�I���L��
P�ӭ����T&�i
gx8(`�P��N$J"��qӨ�9 ��HX�8�
>�
-��.�Ii��
Ӗ��O
��MS��;��HK'�O1F��I1d��c��*�7��;ȮTD{
��t�S��T����[
-q]w��uc�����S��8q<�����7C[� �NG�������=5�ާ����׸
�i_Fq: Gt�f6�"#v�
��A9
-����vax���@��>N �~\3(~LT�����Z�I7����
gH7}�tK���w�
U^�L>ʵ�\'�8"u !��s�d{�3�vD����m���J����Q6D��Q�4sau��$Ѣ� S�L�`G�ܷ.x�r��w��U�H�����u#�
]��*�a�i�CZ
��mm�^ �W�}�{޿V�EÕ��,
�r������&�C�Z�<��/�C��P�Y��
c��cs���
���~��H��"! X��K��X���־�Q������.J�Q�^0m/���5�C��V�3H�+�
H��W?�f��
@�Tޕ�ayqq:�к@�4>�(./��b춎��A#d[w�}�;�q
-���7����uœ
-endstream
-endobj
-7331 0 obj <<
-/Type /Page
-/Contents 7332 0 R
-/Resources 7330 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7339 0 R
-/Annots [ 7329 0 R ]
->> endobj
-7329 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7333 0 obj <<
-/D [7331 0 R /XYZ 90 757.935 null]
->> endobj
-7334 0 obj <<
-/D [7331 0 R /XYZ 90 733.028 null]
->> endobj
-7265 0 obj <<
-/D [7331 0 R /XYZ 90 626.773 null]
->> endobj
-7335 0 obj <<
-/D [7331 0 R /XYZ 90 612.289 null]
->> endobj
-7266 0 obj <<
-/D [7331 0 R /XYZ 90 522.338 null]
->> endobj
-7336 0 obj <<
-/D [7331 0 R /XYZ 90 507.854 null]
->> endobj
-7267 0 obj <<
-/D [7331 0 R /XYZ 90 407.949 null]
->> endobj
-7337 0 obj <<
-/D [7331 0 R /XYZ 90 393.466 null]
->> endobj
-7268 0 obj <<
-/D [7331 0 R /XYZ 90 205.732 null]
->> endobj
-7338 0 obj <<
-/D [7331 0 R /XYZ 90 191.249 null]
->> endobj
-7269 0 obj <<
-/D [7331 0 R /XYZ 90 89.441 null]
->> endobj
-7330 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F10 473 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7354 0 obj <<
-/Length 1757      
-/Filter /FlateDecode
->>
-stream
-x��X�n�F}�W(�P���
�!)�8v�I]��4�����G���^H�夭Q��Hq9;s�̙Ya����������ˬ .u��`�s	�Xױuc����ؾ�l�e..��E�Y��
�&�eXn��w�N��ķ�|:�
�'iXU��R,�z&�HH�^������LN�'Nx�-���
���lr�[1���ˆ�u�Ve�C|�����	~02�v�629�^T�U=��گE.ʰ.�'�����=�X\�xoS���źN��k��-�E��0��!2Rps>������g
����<�RG/�uS��Ѐ�v
S}c���ˢ�i	B8��ee��L�h��
��]S��j�7�3 ݢ#�i�4��	1%���Tu�T����gF
���X�b��m�~���/o�}���<
��`
lU��y\da�/DYjHz�Q
�]��bJ�}/qf�N��^� �@
�����]�ʟJV�z��P�^����%�B?RT�'[���df [...]
-��F��%#�?�~X�`�\��J�d#� �|lKA��P��⣄�PzgS��ئ<@o� �M�S���
(���Ӓ��
�s�&��$Gxc���J�ՈM(5
�3�5FZ�՚0�������}�NU�h�Uh�%�rQ�1_-��<���W��
{
	\
�⮇(8�@�=̻^�z�`K��P�d�$�|q ~�
f�)��p���"m���Z�<6�
n������Rr
Z�r�ǓY"���}l�e��kl;ם��D�aߋ<n��4��}Ϛ<���U5�����e�6��}ԎV�EU�/��sTO}k=k�&}�q�����ٳq�Ō�4�m_c=��׽[�Xg J�7�pB�AQ�i6�w"�E
w����^0�r2���NIi��NҨ�3Wv�!�Lf~k�uS�b���
�
%
��˞K��>\�+���ۥ��c�1B#ݰ�e��A�C���>��t�1�l4��vػCM�@f
?7���:ֿO*aЗ	���k%a�|c
�� �κ*��}�A'�Z92���ސ��mzP<P���aU�Ѣ���^�����cV+2˲�vzܲHS���r9�a��a���ف������᪛ޮ�)Z��TiP��1<'���7'��3__N_�~."QUa����jQu�:]ߒG��X�]*r4B<L�OI
�M,F4yH�g#�@ǶCf�
Ƒ�v����9��~��D��It�'��Όr�*�2�
�N�~�.:$v��=*x�ܦI�!}+�[Q;d����єB`�hL���[�\�I�Q�{;N�R+pqQo�b�}��ݪ�9>z d�ۯ��"^��R�͈�OI
?�����˫�VG�L�Z>��:jN�
�}�����M����H@&�
�h��,-�9�pdꖈl]��H��1u�m
-dϽ9��~R��3ޣe��jw�;L�����^\m�Zdc��D�c����t �V�՝���̬ڽ��FX����/���{�?z8�"��o�T,�s9�����,��ep�?S�H����T
cy�
&8̌��������VZ���W}��S9X��
���R©�SYucL�p&���)Lgؾ�F��>Y��/�pz�nF
܍8��^Ϗ����QT!P�u���:��8�� ӽ�H7�dEi�Or�1S����/�
�
-endstream
-endobj
-7353 0 obj <<
-/Type /Page
-/Contents 7354 0 R
-/Resources 7352 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7339 0 R
-/Annots [ 7340 0 R 7341 0 R 7342 0 R 7343 0 R 7344 0 R 7345 0 R 7346 0 R 7347 0 R 7348 0 R 7351 0 R ]
->> endobj
-7340 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.93 218.534 280.942 229.438]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-7341 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 163.778 187.853 174.682]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_60ae86027d4480aec07a5eed85f6977a) >>
->> endobj
-7342 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.511 163.778 257.154 174.682]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-7343 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.035 163.778 426.424 174.682]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g616fcdc7600a3a11a8a9152e75730899) >>
->> endobj
-7344 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 125.033 187.853 135.937]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_16829d6b83d0c21f3d3e1f87c46ac239) >>
->> endobj
-7345 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.19 125.033 293.017 135.937]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-7346 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 86.288 187.853 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_f5aee1171c6c67b9c57f3949b7b75be8) >>
->> endobj
-7347 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.668 86.288 269.495 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-7348 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.024 86.288 350.969 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-7351 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7355 0 obj <<
-/D [7353 0 R /XYZ 90 757.935 null]
->> endobj
-7356 0 obj <<
-/D [7353 0 R /XYZ 90 733.028 null]
->> endobj
-7270 0 obj <<
-/D [7353 0 R /XYZ 90 626.411 null]
->> endobj
-7357 0 obj <<
-/D [7353 0 R /XYZ 90 611.89 null]
->> endobj
-7358 0 obj <<
-/D [7353 0 R /XYZ 90 491.601 null]
->> endobj
-7293 0 obj <<
-/D [7353 0 R /XYZ 90 467.232 null]
->> endobj
-7359 0 obj <<
-/D [7353 0 R /XYZ 90 467.232 null]
->> endobj
-7294 0 obj <<
-/D [7353 0 R /XYZ 90 417.991 null]
->> endobj
-7360 0 obj <<
-/D [7353 0 R /XYZ 90 403.47 null]
->> endobj
-477 0 obj <<
-/D [7353 0 R /XYZ 90 305.515 null]
->> endobj
-274 0 obj <<
-/D [7353 0 R /XYZ 90 298.745 null]
->> endobj
-7361 0 obj <<
-/D [7353 0 R /XYZ 90 182.697 null]
->> endobj
-7352 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R /F95 1788 0 R /F10 473 0 R /F11 418 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7406 0 obj <<
-/Length 1392      
-/Filter /FlateDecode
->>
-stream
-x��YmO�H��_�O\"5�ݵw�Fד
-��^

䤫���c�u~����ov�6I0�sJ�/�
��3��<;�����Ƈ�ް38�� �Sn
�
��(1�c�K2Y�O0���
�]7���i��n�o�q�>W���ww����n���M�^�2����8=�}uϏ=_��ӥ���:��y?�|��DY�&3��s�c�������ƭ��
��p
���_
�=[=*O5l�[�SB
�mCPa�
-o�fA8�V��pp�8IK�,Vy��L�����D?W
��i�G�yr]
�$���9�A�O�r�1��
/ ӧq���D��R��CF-���}�}���Sm?ؾ�
HH�.1��>}�F����~��I6:/
�Q�3��6R��
-�S�B�e�O���hm�'2��
-pB^�>
E�m��4cx�{2 ����(Ngy���,��/
-�f���X����O�I6�d���Z�ʫ���J�u��bz���6���*ڙ��K"�I��/�
����Y��yK�o�
�� �hq�#�a���?�|���?G�/m3 �'�|���o|݇�>FA#�m�)"��y���Bd�L�L���a��k�W=%�#0�O���NC7�
��?���YVe��Ē&��-*M�ԏ�H��(���{�š��fb�|�G�i�[�D�a�Iќ��Eڤ��K�V����r9�K�Xo2� O��jL
{�� B̥�4�ݹJ�*ұ���£�ا� ,S��d���jJ�8���@��;P��f]ϳ
�bez ���=ˊ�x��-��?����Qha$�ؔ��Q
�[Q
��
��o��o�=���0Kd$w���}E	�M���t�\5�=��lGh�c�1��m�Jb�@��
-%�����W+�[��;�rw��nآJG�q��"���*����e_�z���i�b�]�HO�Қ���⯫H���ܴPX=�`�v�0���\
U��0
��Vs�T�8�m�#O�d=b7���s:�[�3OmD�z T
Ys/��Ŧ��'�-��l�,�}Xί�	�$�����tq
PE�o��ݟ�!�۽n��*��c�f�����Ӛ����E7
׍�
ȕ4M�qZ	x%1\iW��9
���2��<�*�
�Pn�bD`d�-nv�@�m7�ީ��̞'5�c���#6J���f8��v�es�i9���.~C,��
-��kZ��U�
�&Ҷ�rdQk��䬫�*I����nfa8*�l\���������o�
�H춟Z�'U�f��x,7��*g�*��"�.�v�K��X��S?���XW��g7��ݑ
�w���$+bD0�*�?�˖���_�<���
-��^b
d�1���tw0���E��� �P��4
<�=�@��J�5�2,J2�~�w����o��
-endstream
-endobj
-7405 0 obj <<
-/Type /Page
-/Contents 7406 0 R
-/Resources 7404 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7339 0 R
-/Annots [ 7349 0 R 7350 0 R 7365 0 R 7366 0 R 7367 0 R 7368 0 R 7369 0 R 7370 0 R 7371 0 R 7372 0 R 7373 0 R 7374 0 R 7375 0 R 7376 0 R 7377 0 R 7378 0 R 7379 0 R 7380 0 R 7381 0 R 7382 0 R 7383 0 R 7384 0 R 7385 0 R 7386 0 R 7387 0 R 7388 0 R 7389 0 R 7390 0 R 7391 0 R 7392 0 R 7393 0 R 7394 0 R 7395 0 R 7396 0 R 7397 0 R 7398 0 R 7399 0 R 7400 0 R 7403 0 R ]
->> endobj
-7349 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 696.002 187.853 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_7358056031cb08692ae07044715987cd) >>
->> endobj
-7350 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.19 696.002 291.333 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-7365 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 657.148 187.853 668.052]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_89d5bd03139c8fcaf1ab035208d680dd) >>
->> endobj
-7366 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.668 657.148 267.812 668.052]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-7367 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.899 657.148 349.844 668.052]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-7368 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 618.293 187.853 629.197]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_d5c6d64b009045df8248bcb8ffeea69e) >>
->> endobj
-7369 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.19 618.293 299.642 629.197]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-7370 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 579.439 187.853 590.343]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_42e87760e6f69306e6322cc77f20d162) >>
->> endobj
-7371 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.668 579.439 276.121 590.343]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-7372 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [302.631 579.439 362.576 590.343]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-7373 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 540.585 187.853 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_8ee7e3364443dc8cd55f3f6388c81ecf) >>
->> endobj
-7374 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.4 540.585 298.956 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-7375 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.756 540.585 419.222 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-7376 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 477.82 187.853 488.724]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_9bb0903a2b33f94b096f71e604f07648) >>
->> endobj
-7377 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.965 477.82 245.565 488.724]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-7378 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.699 477.82 292.426 488.724]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-7379 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.973 477.82 425.44 488.724]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-7380 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 427.011 187.853 437.915]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_691bb5ef88a4c9638034de4c1b9532cc) >>
->> endobj
-7381 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.19 427.011 235.444 437.915]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-7382 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.724 427.011 340.19 437.915]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-7383 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 376.201 187.853 387.105]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_25b59f3491de4996c701bbf044746fe5) >>
->> endobj
-7384 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.508 376.201 272.668 387.105]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-7385 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.702 376.201 425.168 387.105]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-7386 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 313.437 187.853 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_5d2426c9804102311d41fd445b122cf9) >>
->> endobj
-7387 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.334 313.437 292.602 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7388 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.289 313.437 428.755 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-7389 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 262.627 187.853 273.531]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_163f5dff452c6cf2e3a0c929eb2b8187) >>
->> endobj
-7390 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.919 262.627 307.862 273.531]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-7391 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [346.496 262.627 421.962 273.531]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-7392 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 211.818 187.853 222.722]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-7393 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.592 211.818 239.399 222.722]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_91cfad066b0e12cdaf7454fe4585cfc5) >>
->> endobj
-7394 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.736 211.818 340.678 222.722]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-7395 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 172.963 187.853 183.867]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-7396 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.592 172.963 239.399 183.867]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_2f41d86c5a949d903179e82072854ef4) >>
->> endobj
-7397 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.736 172.963 326.292 183.867]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-7398 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 134.109 195.601 145.013]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_9dc9e3a464def0e2d929fab9cae6e360) >>
->> endobj
-7399 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 95.255 241.112 106.159]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_ee8ba0ffc68e00046b55e12427c582cd) >>
->> endobj
-7400 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.449 95.255 342.392 106.159]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-7403 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7407 0 obj <<
-/D [7405 0 R /XYZ 90 757.935 null]
->> endobj
-7408 0 obj <<
-/D [7405 0 R /XYZ 90 281.72 null]
->> endobj
-7409 0 obj <<
-/D [7405 0 R /XYZ 90 230.911 null]
->> endobj
-7410 0 obj <<
-/D [7405 0 R /XYZ 90 192.057 null]
->> endobj
-7411 0 obj <<
-/D [7405 0 R /XYZ 90 153.202 null]
->> endobj
-7404 0 obj <<
-/Font << /F63 374 0 R /F72 471 0 R /F50 339 0 R /F65 376 0 R /F35 2018 0 R /F11 418 0 R /F99 2117 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7429 0 obj <<
-/Length 1884      
-/Filter /FlateDecode
->>
-stream
-x��XK��F��WprP�������u�N���sY�T�V#�yD�}z
 ����媜������ǀ�{;�N^�N.ބ��8��s�rb�� F�s�t�\B�Ϧ
����I�I���E�_�e����2)����ի��)��"�z�a�U�T���+�߉<J7�c�F��������˄�u�!�����n&w�����wF~
9;-�q��5sn&N�Ev|�H9u"@
-)�1‘é�p�
ڷ+��Gn��&v���[7Yf֋����M
��
q
�.Z�G�}#JB
-a3+S�eed� a�BI�
�C��Nf?����w�2�
��IZX�6��u�Bh�}.�}1�2oQ�����F<��EZN})�sX�B��p�;Y���"�H�JVIV�m���B
9dE1�{[��["M�s,�x�p/�<JQP��(�	��R6���y
�oQ�]W�Q����ʌf��|Q4�rn:����f"�T}�3�yU?�Y��i��E�����b?���Lq`0�$a\�X������ �
VV��Й
��u�{���{U
[�^�:��f?SOUZ�m-
ң�aV =/�'yQ����JJ���B�U�
=
���
-�����ƣ� 
��:�*������)q�Ia�J\q[�l�
-��8�G�JJ�-E%�2ړ..��0�rƀ���E��cpH��a�LH+:8*88��
e�K
�C��K
�5f��>�R��i]���&��q��
-C�z�M�F�`'D1�#SXI�
��n1��T7�zRC�
�3ˆ�`:e���\��
}5؄D���F��&��n�4
U��
�
�������^�L2�-�dןhZ����pߩyn���ʥ{�hi8��������1N��yFb�� La[����j����6���3S��;E!?��/k�8K�̡�i�V_�@�)jM#Њ
F�d�*��"���*Ò�ȍ��Z\
-h�4��}W�Tީ�KYM#w)WS�\�� K͒�QT�릤�ub_|vY�v�Q�ه��z�y�
Y'%�gQ�o�ݠ~�7�s����0�T*$#��f��
���|n�����RyJ?f��*k�5��V܍����wUєP���i���T'y�IP�$^�6Y6�:�k���E�t6��T�h�۪��wN�M��|�
K�H^��z��%�
�Y��y��w�T#n�E���~�Ʃ�D�H�xD
v��!�L�_S�j1�4�5�P�i�,�����b�C�d�>\������rDS S4�w(2�
|���y&s�B�$lQ�4�#����u��_62[Z.
�FV�붑5�T)ckZeW�c1��֖���g�
�qh���e'
h������5��Xw:�ֹ��!7b�:��E
-�Gt��kO�`���o���ו����|d� �g���e��saڇ
m!�lE*U
�n-�O��$J��E�����z�� ���u?�U.��B������T�r6�D~_��,�#��=z����΂���4
h�
+r�
���f�H�hS�c�&�*7��F ˌ!�ߣZ����Ч��D�
 q��pH��ͪ.�hk?'�
($��Fz	�T�h�����^��M�|:K���;$�?�h����s<�zX�h�t3���(n�U-6m�>m2pF�_
-�X� ݣ�4�
�!�Q�?��D?�UYl$�z����v^��'NvTtOh�C]��q&�q�LE>l�7��M��:?�+�v"e:"'����I�
�C���ǿ=��$z�_O�w�����ň�����*�U���	
m.���(�2�ZL$y�d���Q[<�h�Q#j~��u#�i�}vڻ�&:e���#w9������b�ۡ�BP��%���v�]������wJVm4��`X�������l��/
-endstream
-endobj
-7428 0 obj <<
-/Type /Page
-/Contents 7429 0 R
-/Resources 7427 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7339 0 R
-/Annots [ 7401 0 R 7402 0 R 7422 0 R 7423 0 R 7424 0 R 7425 0 R 7426 0 R ]
->> endobj
-7401 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 685.043 255.488 695.947]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_6b1f2d6606a0b4d4fc8bbde3b24ce553) >>
->> endobj
-7402 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.826 685.043 356.768 695.947]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-7422 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.841 584.972 252.783 595.876]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-7423 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.44 529.315 513.996 558.381]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-7424 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [335.826 517.36 409.768 528.264]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-7425 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [302.324 505.405 361.88 516.309]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-7426 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7430 0 obj <<
-/D [7428 0 R /XYZ 90 757.935 null]
->> endobj
-7431 0 obj <<
-/D [7428 0 R /XYZ 90 704.136 null]
->> endobj
-7432 0 obj <<
-/D [7428 0 R /XYZ 90 647.723 null]
->> endobj
-7433 0 obj <<
-/D [7428 0 R /XYZ 90 479.876 null]
->> endobj
-7362 0 obj <<
-/D [7428 0 R /XYZ 90 457.564 null]
->> endobj
-7434 0 obj <<
-/D [7428 0 R /XYZ 90 457.564 null]
->> endobj
-7363 0 obj <<
-/D [7428 0 R /XYZ 480.093 277.647 null]
->> endobj
-7435 0 obj <<
-/D [7428 0 R /XYZ 90 260.92 null]
->> endobj
-7364 0 obj <<
-/D [7428 0 R /XYZ 90 142.427 null]
->> endobj
-7427 0 obj <<
-/Font << /F63 374 0 R /F72 471 0 R /F99 2117 0 R /F65 376 0 R /F50 339 0 R /F31 472 0 R /F10 473 0 R /F95 1788 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7439 0 obj <<
-/Length 1312      
-/Filter /FlateDecode
->>
-stream
-x��X�r�6}�W�f*� ��x�L�&������,sʋJRq��] E2�-;q��� ������C`o�a����rv�*d�D2�����$�DH��[��s���|A0���`_���<�S���F�Ju�{rU�rw|�����ӜD~���c�$UUe��k�|�y���BJ�J<�X���\����{���
$��lv~����0b2�n�Q�P��;��1��zF�!�y�(b_���^,C����ȫ�TI^_��Zg�Q�r&H����t
���g2�HDF6#��x!*���
|�]���7�f[O,+�sI�I�m��&VfoG��
XHPD��Γ<Mr}ar�� �"h��Nx�Mҕ�
-�഍�ó͠R�s�}p-��n�}Tզ]\�g܁^�o���{y���I�]&���n�U��*�t^%�v�n�~�y�]~��^`$e�- A��@��*ӵ.�����*�|�����洟5����/"m�L� 
�LX�L_P۱�0�y
�^��}D�|
-濩���̋�]"NU�W�|����7�O�c�G]^�Xm+�Db
�x�Z-�
X0�n
=pk��R��gjgWz�y`��u�F�so�x�}����`��� ���@�4������_]R6��j=���嵊�$Vi�ks�zN�D��:Q�n
H
E�"yW@���:�W�����3D ^Q�!��żQD�IӼ�ֹ.Xy��b߳
�L1q�� ]2���8��S�X;�M��I=ɞa �

�Q乏�=��nAQf�����=���{cF,0��p:z�y [
]��M	����S�75 �He��V��I>��Q���R��-�����^B,o�°�m���
�NK<Mq0
�m�]�f]���F��uU~��p��M�.��P,
��I��N�KKG�#�"��AR� �"I=
-��ͤ�����WUz��-&��ҋ����i��B/j��	=8�'�ЋZ��+�"�r��
9��yQ���P灠�~���yw&8a�"���T�\E�CWO$sJ��"_�[s+3R��STr<YŚ?�Ǖ���1�E�%�
-)�C�ט����"?Pe"DC:T�r_eL�q�=Hm�@
KWfLcPfn�̇�ʹ�Q>Pfb�>Xgh�7��3�nukh�΄�ê߫ΌoK�4�:s�eisI
-�H
-����K��8�O���}�kK?��q�}�����s�}��;�oUjۆo>�� ��Lj`D
@xd���I���^��m�Duo/1Q�]To�zs|tt{{��
-m�dS��>�lңϳ��
-��}j\�r.+Jݞb�̔)a���/ٽ$
-endstream
-endobj
-7438 0 obj <<
-/Type /Page
-/Contents 7439 0 R
-/Resources 7437 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7339 0 R
-/Annots [ 7436 0 R ]
->> endobj
-7436 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7440 0 obj <<
-/D [7438 0 R /XYZ 90 757.935 null]
->> endobj
-7441 0 obj <<
-/D [7438 0 R /XYZ 90 733.028 null]
->> endobj
-7412 0 obj <<
-/D [7438 0 R /XYZ 90 597.974 null]
->> endobj
-7442 0 obj <<
-/D [7438 0 R /XYZ 90 583.841 null]
->> endobj
-7413 0 obj <<
-/D [7438 0 R /XYZ 90 427.031 null]
->> endobj
-7443 0 obj <<
-/D [7438 0 R /XYZ 90 412.898 null]
->> endobj
-7414 0 obj <<
-/D [7438 0 R /XYZ 90 229.164 null]
->> endobj
-7444 0 obj <<
-/D [7438 0 R /XYZ 90 215.031 null]
->> endobj
-7415 0 obj <<
-/D [7438 0 R /XYZ 90 89.441 null]
->> endobj
-7437 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7448 0 obj <<
-/Length 1626      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~����&3ËHI�h�vH�v��+�"Pd���'э��w(R�$�nҤ}ؓ(���;~��Y:��u�|>9y)��PP��o�;� �S��ΥKb|:#c�bJ��Ytu1��-��\����二����۷g�_S�E>�Q�ݳ4�*3�S�����c�u�a�ҐL?�_M^�'�N����p��;q6����|�`������2ǣ
���n����2��X�(�g�a��G���"_�km�ջm�d���3@r��;���e�;�	F~�d-/+#ӳ�0D��� �b��x���<_�ՈbL�I�u�mGT3�<O4R`	1B
w�f�rb>�3���I��юl���`e��dF)�)�. N�c
�qW=.n�3n�Y�֑zi����
_&�oe�(�J5b�*��p�d2��fB�b+�[�
�F�����3��P8 ���6ѢL*YV���;5�L��C04@��^>t���T�&z�+a�s)�k��q����0��	��f�Χh:�8sϕ��ؙy� [...]
|���^���b�M�kG���0QԫD*��Y0cD Z{��R�:V�Rڨg��
��0� ��va%��i<H��
���ElF	 lo���
�ȣ~c�3���,"Z�AV�\E�J�(M�M�L)w�ae��H�b}P���MYd�
-�m����h���
ϙy
�)5�Z��q^S��x���zo��gE�J�&Q�+S��!�ex3al�|�.���~	-�go�_�����������G�
���g�JpL@�p)7�4��q��)��{�!��Dۗ
�	���������[[�1%1L���YڡM
"�>�:��>V
(o��Q�1�4�O�C��Q����CT��J�����I�y�>JB�8�l��� �l ug�jB���MZ�v��4�4�^�
-j��9
�y�y�t;��Ou4�q�T���2�GQ��v>��lA"A�<h�z,4Fj,�
���،XH
u��w|v�0�ѣ~���Q���V��km�y(�x�JއJC���{Q)0%9J�!��T*>C�3�� 6h<.�
�Y	f
-��c�:h_D��Z�[U�7_�~o�}���l@/��ъdEeᮠ�J��3����t��վ�o�c��t>�g�PJ�
���(%X[�^�9ܨCQ�ӂ���"��%��
����6��.3�mD��y�%@F���8u^c�3E\ _A��
��M,W
-2�a�DŽ��i*󥺽�eY�Ǽ�CM�5
�۲����&rN]��ɌS�����
�`�tfPA9���f�3�l�y-���Rj�Њ��
�;�$[g�+

R
��EF�-Z肉�Yԣ���12~
 �����
��L��X��0C!n+�R
��(��w5�v�G1�u�t\r���Cg���n=�@�b���#��J��KU
��T�Z{�S����59}��h�9��{c��Ox���?V��5���{�R׷�`1��|��i�)������Ӿ6�i^-����*Y~?�ܵ&���uc�&�OZdX�3004���H�wRZ#�e�8��IM;�D_���V�������
�+�ΓU�u�Z�'�q�h�S��&�(��W�f���,R�0����)<Y�
-endstream
-endobj
-7447 0 obj <<
-/Type /Page
-/Contents 7448 0 R
-/Resources 7446 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7339 0 R
-/Annots [ 7445 0 R ]
->> endobj
-7445 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7449 0 obj <<
-/D [7447 0 R /XYZ 90 757.935 null]
->> endobj
-7450 0 obj <<
-/D [7447 0 R /XYZ 90 733.028 null]
->> endobj
-7416 0 obj <<
-/D [7447 0 R /XYZ 90 592.145 null]
->> endobj
-7451 0 obj <<
-/D [7447 0 R /XYZ 90 577.575 null]
->> endobj
-7417 0 obj <<
-/D [7447 0 R /XYZ 90 460.767 null]
->> endobj
-7452 0 obj <<
-/D [7447 0 R /XYZ 90 446.196 null]
->> endobj
-7418 0 obj <<
-/D [7447 0 R /XYZ 90 244.307 null]
->> endobj
-7453 0 obj <<
-/D [7447 0 R /XYZ 90 229.736 null]
->> endobj
-7419 0 obj <<
-/D [7447 0 R /XYZ 90 93.246 null]
->> endobj
-7446 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F11 418 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7459 0 obj <<
-/Length 1757      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~��0`����E��`+�$���u�ia(�

�%O�����P$u��d[�>lO&e�眏�wH��8��yr6��<�	Q(�pf+'�N �8��s����zc�^N	v�b�/��yz���E4�\Qqz�:�����E��������3B:�)�H�V�M����'Q�� �O=ʱ{AG�1�$�C�<d�<��R[�MC�ƛmU���6^�ŔH7��a_�4��<�M��0�
RG�(`�Yl&W�����/
�X(��z���)���y7�u��F�2�o#�E��pWv������?Hؤ�D����Y���}?b1 �
��͈֔�������
-o���2�xDJ�K
X�skx8g��$p?b�yVV�+ܳ���u�

��=
���,*�qpu,|��yo�op�
1�Z̎ ����y9���~��o9�(��w�f��
->ėr;�G3�g
�P�˟^���yu���o�gF�I��v8d�����0���z�di��� h�w�4Y$�'=���|
$����vI�4'7�? !���(��~��Lc՛pv�K�T�Ϯb�7[+*�c�3	�$[�ER��W�a�6Z��2��Y��	��ݡ��jJ
׺eKc}hw�+��)�ER������Y��e\�/b������AF=��P8
$ �ݣ
|Q�Eyڛޚ�]&Cu�洋�Ό^���B�A��0S��+�nU���V�`a>��m�>�6뙵=���'c��Ю�Q��]'�5U�� 	����&�
�@Tv
�79�k����C�OY�I�T��>����^w��A������zƒ����f 0B�]�Q�7�*�ɳ(=�3�"vTe|���Q�aH�\��
��� �I3"/�xI A�4�3��! C壴�c$�<�5 �4�bc��BU�@0�
-Q<$DD��z� y U
}��g2d���:(G~��蛆~G��W�aV��ٕ#��[���A�4D
M�Jj��y�Jj?�*��G�ݖQ�j���_A��19(Np,���1�5��[�/hI
-��F1#P���5\�j��v��W�a��
��US��WZ�C�^���<U%���¢ܜ�wi:���͓�<���.�[��
��3nS�2F� \m({��G��9`�>�)b�}jy�R��

喧��] ��퉽�(&�j���-�P{!���wDj��g������3"� ��A
��x������5���U��#N�%̾��U���!CG����z��C"�[����@�[����
[f\-9��
��
��P�ӻE�U��/�tع�T���$����
��r
����_�I[�+�)��9k���Hf����oOɁ�
$���urTnd��~�NM��Q(�(u< .��l-{\YZ�ey��E�@v[3����Y\�%�����7�X�i���d7���q?��u_I�9M�?R����<t�ݦh�nhO�je4f���
��+%�����=R�wƨ�/��~�P�7�@��k�A{�����c%|y�L�L���ł�]��<d�
uu��R9���
��D�5t�]4���P����
���*�j~Y�j��&J24r:e�7��
�9q��Ps�]P�x�"s$������W . at x
��[��B��	 ���..���z�"�k���kp�;�˸�nʹk��*�v��R�ge
-
-�&;�gpU����d��c���wǶ~��l�
�
1� w]U�ӓ���[�(�.K�J���>w��5h�4��ڒ
>njvB���	>
?�
-endstream
-endobj
-7458 0 obj <<
-/Type /Page
-/Contents 7459 0 R
-/Resources 7457 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7465 0 R
-/Annots [ 7456 0 R ]
->> endobj
-7456 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7460 0 obj <<
-/D [7458 0 R /XYZ 90 757.935 null]
->> endobj
-7461 0 obj <<
-/D [7458 0 R /XYZ 90 733.028 null]
->> endobj
-7420 0 obj <<
-/D [7458 0 R /XYZ 90 580.19 null]
->> endobj
-7462 0 obj <<
-/D [7458 0 R /XYZ 90 565.62 null]
->> endobj
-7463 0 obj <<
-/D [7458 0 R /XYZ 90 402.669 null]
->> endobj
-7421 0 obj <<
-/D [7458 0 R /XYZ 90 380.357 null]
->> endobj
-7464 0 obj <<
-/D [7458 0 R /XYZ 90 380.357 null]
->> endobj
-1542 0 obj <<
-/D [7458 0 R /XYZ 90 214.462 null]
->> endobj
-278 0 obj <<
-/D [7458 0 R /XYZ 90 207.862 null]
->> endobj
-7457 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F21 2111 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7475 0 obj <<
-/Length 1567      
-/Filter /FlateDecode
->>
-stream
-xڵX[o�6~��0`����U�a��,ڵ��)-
E�ca���/�~��([�lgh�����s��s(�<9�y3�u1��x̑Hz�s+Gb���8��yp	A̟��ؽ��e.o��E��Vq.�H
˰|���U�S����~
n���������J�y>
�H��,�i at 0��.X�Ȑ�0a�|I�oi��NgT`&���MV��ܩ�*�$pU
��L�T2-s��b�eB@
vH��#����g��0�������5�2�S�S�~���u1e{�hx[?�Idz��GШ��yT%E�mԱ��7��!�gF)����R��cl(�Zc��L�����~(�w*��cz;�V�~d �j�S' M<nB�<N��Hrn4�V��N+cO�T%
V��	qѨ�vάx�$'�l�zn�3��w#�ku6e�-_������(�}L~4�kjg�׸f�ns0��Ԍ�)��.
�T���)���sڱ��7�0_�=i��	3l �;	����[f�7äzE
0�F`�"���C�%�kU�I��6�j���Z "g�#ƥ�ZY9f'�#�s��U��Qy�i򁤽�IƘ7��#"�؟t�%cvEd��y�ɇ!
�8�����KF��0��E�g��=�zy6��b���
�i
��!�Ī��,��>�2U��6⫢
,�NJ�pkx���E&9�9A|�QqhN{�pf4k4�wa��l�mR
����O�
üJLq�%Z��
;nf(aK���x���w<�h�o��Bxڄ%d[dc")|�|bʻ��$�����8�H`ُ�h���*/F���;�H�A ED�pM[\�U�6�ETg*��!�EON�g@�.�.�^
�ާ��%�g��\_�B��Еѳ���Kz�x������L����A�1��
�
�=bh���г�#ӫ�M�͵��i��~\΍()z���D�{LF�kFvh�ۍ�!�	y)i���^i�� �D��[��i���#@�Q�!���t��8�3�
C��nC
SlG��8"�
z�߰r�y��a
����?�ڱ�.V�VA��)/�����
���v�?,#<�kp�><�\��6
����cU�i1���%��MALSu��殅HX;��n6)Z��,2��M�1�ou{�

B}�<<��
�!�W,Ƥ �1��2��
-lp��s����2�O��?�ľ��\�F��@;��)~����0�[�4���6�$��:
��QC�SU�0�}V(�s�8�>�����=s1��
����mb����~���p��%���޽|
�����ܪ2UZk��p��
���A'�6��[���>֊И�����
y�
������i3��R��G��T
��)[�~�{�X
�1��EVhJz��L��v��N�R_�0M��v���&�
����@
��x`9	^�q����������:�cb詶G����Үyl��<��U�� ����ڲ�v��u��V�^J�
�k
v�
���oǎ�M���Kh!q�R��js5��v;mQ�'�%�
(h~�R ;�}hW=����9LfM�����/��
�
-endstream
-endobj
-7474 0 obj <<
-/Type /Page
-/Contents 7475 0 R
-/Resources 7473 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7465 0 R
-/Annots [ 7454 0 R 7455 0 R 7466 0 R 7467 0 R 7468 0 R 7469 0 R 7470 0 R 7472 0 R ]
->> endobj
-7454 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 697.621 174.015 708.151]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction_77067a656a3aa9381a93a23dfba036e4) >>
->> endobj
-7455 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 658.393 197.875 669.297]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction_f38e352895f910cc9556dc7ac0d8f39d) >>
->> endobj
-7466 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 619.912 181.763 630.443]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction_5a0edbc51074f6e9e1a908fa292abe13) >>
->> endobj
-7467 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.418 483.163 391.839 494.067]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-7468 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.857 179.274 243.473 190.178]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_96bae54a01fe00bad4306bec61bb4687) >>
->> endobj
-7469 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.279 140.419 155.464 151.323]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-7470 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.962 140.419 221.894 151.323]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_891529f721ff485fe2ec90ac48952cc6) >>
->> endobj
-7472 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7476 0 obj <<
-/D [7474 0 R /XYZ 90 757.935 null]
->> endobj
-7477 0 obj <<
-/D [7474 0 R /XYZ 90 716.221 null]
->> endobj
-7478 0 obj <<
-/D [7474 0 R /XYZ 90 716.221 null]
->> endobj
-7479 0 obj <<
-/D [7474 0 R /XYZ 90 638.632 null]
->> endobj
-7480 0 obj <<
-/D [7474 0 R /XYZ 90 582.219 null]
->> endobj
-7481 0 obj <<
-/D [7474 0 R /XYZ 90 521.176 null]
->> endobj
-7482 0 obj <<
-/D [7474 0 R /XYZ 90 459.691 null]
->> endobj
-7483 0 obj <<
-/D [7474 0 R /XYZ 90 435.322 null]
->> endobj
-7484 0 obj <<
-/D [7474 0 R /XYZ 90 435.322 null]
->> endobj
-479 0 obj <<
-/D [7474 0 R /XYZ 90 317.268 null]
->> endobj
-282 0 obj <<
-/D [7474 0 R /XYZ 90 310.668 null]
->> endobj
-7485 0 obj <<
-/D [7474 0 R /XYZ 90 196.345 null]
->> endobj
-7486 0 obj <<
-/D [7474 0 R /XYZ 90 196.345 null]
->> endobj
-7487 0 obj <<
-/D [7474 0 R /XYZ 90 159.513 null]
->> endobj
-7473 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F23 340 0 R /F65 376 0 R /F95 1788 0 R /F21 2111 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7522 0 obj <<
-/Length 1838      
-/Filter /FlateDecode
->>
-stream
-x��Y�r�6}�W�ɕf"$=If��8Mb7r�f���� ��R���~}H�Eˎ/}HD��b����������z��{�ǂY
�������8%�����'1g0$��ـྟE��l at q?Y��r����E�g���Ӡ�gI�/ƣ������7�DŽl���CB80yi��
��`D�j�y�
ƫ/o�p���|0�
�1��e�.�B�;�Tf��e
�-�1ާ��l���{����)��
���A���[���ˆy�uU��,�2�]X��=�b�\{x��X��v蝌.����xE��y�Neo���͵
-d3�R�,�4��R�x��<��e�Z81�Ժ��Y�r���σ0
O�Qz݆z�s
��v1 �ư���\pS�w$lj
��<̴�ea!
4Ebp�/1�«�̋��A �L�l��XU
�cm�����D_f��e�r�
-�~�L�A��0�����_0f-��H`�S�ü�3
-�DjC�5V[�
RF�N]��xp�0'y�I?��˟�p:�r�$@;; M�3q=� I��4
����L͑�Ĕڈ�>b�4�zPe<D�{����x�b
@N=a���/c
����P�YM���[&�P�u��e����3��t�"I�$�"�'�I�$�
���R�.H�
l�O�6
-0Dl֝�e�t�U�
�=�a�Z�o�H��e '��Ū#f`y](E��ȏ�L
-��S��|�؏'��\��
-�yԹ�N3d�"@#��&hA��^O��Հs���}�e�-�9�f��Rޘ��T�&_����r�m.��z�S��Z�g������*����6�0F�û���*�"%�j����q��j��-��
-����0
_�T�{�B\!�
�����
-�A_��j����|Q;o
�2
ˤ)�j���`�v�Z+q��&�t�`���^�,��`~w�#?���n���ě��ŮxZ�D�@.�I&�)����&9���8H&�1����Ë��~T�L
P�Z�4���9w�#'�z��M�@��~0d.b�9<8T�ʖh�����y
��Z��1��S����WY�չ�e�ܕTB��o��-'
̅픠o�
�SXDj��z�
��x��a�
�l;��[Փ����㣅Tqj��튀�>@�q��oa<y���ɟGFG��6�$q��#���p1��i��2/�	�C��
O�(-L�8
m�0y*��I����~`�Ց�e櫜"%�.��~q'��%�)�b
-�9;����:��B�D�B7��X��qU���1�ū���C5�A	���wgo��>9�t'>h#��n�&$�j��z %���m�d�K�
P��^`Uª����k=�: D�kg�
K�u�Ry������6�ǵ6���KtlPƴ��7p�f�.�Sú,];(@!�-�BY�>����&��8�����j x����+v"�Z�V΃����埤}[\w|�]���R�Zhz�2��u��ѩ�h~����F_&�&&l��#
��;�#L�����"���j�V >(��h�C���
nw�@nn[UG�O��%�K�i麦��ϵ��q�f}��I)�{;��{�QD��8>j3��ǁ�Dmv7�n��߉�q4�6���M��$�
-�#Ź3;�0�:A�ޏ��I� ���7�mI"�#v��#��M��qg�(��63{�K�	��M�)[;i��k���&5�(�mԠ6��}f:�9j\�@+�
-qw�>[~�n	P{�f�wY�!��W��j]g%��ԡ
-v���mD$��_����;?^V�p�V�ʔ��Z`�>V+�̩�HV��+�fUW���p��%���ļ(҃����+��mi��b?M�?��
+��S�V��(��$���L��n�� 
-endstream
-endobj
-7521 0 obj <<
-/Type /Page
-/Contents 7522 0 R
-/Resources 7520 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7465 0 R
-/Annots [ 7471 0 R 7488 0 R 7489 0 R 7490 0 R 7491 0 R 7492 0 R 7493 0 R 7494 0 R 7495 0 R 7496 0 R 7497 0 R 7498 0 R 7499 0 R 7500 0 R 7501 0 R 7502 0 R 7503 0 R 7504 0 R 7505 0 R 7506 0 R 7507 0 R 7508 0 R 7509 0 R 7510 0 R 7511 0 R 7512 0 R 7513 0 R 7514 0 R 7519 0 R ]
->> endobj
-7471 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 697.288 181.845 708.192]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_3b9f6fbac96e03a00d061a2cd2ca2baf) >>
->> endobj
-7488 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 658.516 181.845 669.42]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_7dcb9b448c8c0171e18f29551077d133) >>
->> endobj
-7489 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 619.744 154.727 630.648]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_04704288741dbaf6f50e8fc09c43f737) >>
->> endobj
-7490 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 581.345 176.505 591.875]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_afdd0083c1c10d49e06f4718a826ae1b) >>
->> endobj
-7491 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.408 566.392 450.955 576.297]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_7dcb9b448c8c0171e18f29551077d133) >>
->> endobj
-7492 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 531.24 191.718 542.144]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-7493 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 531.24 288.852 542.144]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_1091bf4d0e8ce7672f907cf5e7921120) >>
->> endobj
-7494 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 492.468 191.718 503.372]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-7495 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 492.468 303.079 503.372]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_f9503f2a0fd1535ce7cb9465908006dc) >>
->> endobj
-7496 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.635 454.069 188.679 464.6]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_6f9c769f48ed91cd71bec247b7733430) >>
->> endobj
-7497 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 378.657 197.363 389.561]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_b38e5d3ce8cc120ce4b534bc43d90d34) >>
->> endobj
-7498 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.062 378.657 290.706 389.561]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-7499 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [428.607 378.657 513.996 389.561]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g616fcdc7600a3a11a8a9152e75730899) >>
->> endobj
-7500 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 331.915 197.363 342.818]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_0a8906c6b7e5b785bd457641007d1359) >>
->> endobj
-7501 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.198 331.915 312.466 342.818]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7502 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [348.112 331.915 423.578 342.818]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-7503 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 273.217 197.363 284.121]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_c5f6c7896e64b8750e2cd9729c19d66e) >>
->> endobj
-7504 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.468 273.217 300.736 284.121]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7505 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.977 273.217 429.443 284.121]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-7506 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 226.475 197.363 237.379]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_e37107ec8d1402bb69ac6462d7f4646d) >>
->> endobj
-7507 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.7 226.475 302.527 237.379]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-7508 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 191.687 197.363 202.591]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_5e74729a5f7cabef57fb795cc728869c) >>
->> endobj
-7509 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.7 191.687 309.153 202.591]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-7510 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 156.9 197.363 167.804]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_8a329c1ea10527cde394abab15b67356) >>
->> endobj
-7511 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.7 156.9 300.844 167.804]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-7512 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 122.113 197.363 133.017]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_46797ad634dc267c1264aa046c69f9f8) >>
->> endobj
-7513 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.572 122.113 295.502 133.017]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-7514 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.425 122.113 419.891 133.017]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-7519 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7523 0 obj <<
-/D [7521 0 R /XYZ 90 757.935 null]
->> endobj
-7524 0 obj <<
-/D [7521 0 R /XYZ 90 716.221 null]
->> endobj
-7525 0 obj <<
-/D [7521 0 R /XYZ 90 716.221 null]
->> endobj
-7526 0 obj <<
-/D [7521 0 R /XYZ 90 677.568 null]
->> endobj
-7527 0 obj <<
-/D [7521 0 R /XYZ 90 638.796 null]
->> endobj
-7528 0 obj <<
-/D [7521 0 R /XYZ 90 600.024 null]
->> endobj
-7529 0 obj <<
-/D [7521 0 R /XYZ 90 550.293 null]
->> endobj
-7530 0 obj <<
-/D [7521 0 R /XYZ 90 511.52 null]
->> endobj
-7520 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2117 0 R /F98 2120 0 R /F35 2018 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7579 0 obj <<
-/Length 1826      
-/Filter /FlateDecode
->>
-stream
-x��Zms�F��_�'W������qiәڎ3I����L3qF�$d�J� ����.܁Ao�b�C>a��ew�g�v�uca�U��8>�RH	*���Rؒ� N��X��� &[m�1n^�n����^�(n����7���[�������Ľ	wԽ�u'^�K���9!K�)UH	ϴ��EJ���
tjt(D�~ߤ�t��q�M9e�6��d�&��s�
��E����S�7�����N�k��l�,,\"	���`k ��X1�X�Ljlٔ�ud]5�j`b�
j���$	X!)CXpm�5�����l�DJb�.r�-�ܷ$w&�ض��ٶ�Ĺ�I �B�|��؄�u�x�]��;����@CG)�1�|Uu���[m �����~[����5�q��1���E�!дy_	^�9�rĄ]��fӉ�
R��U�b9�Th�F�Q/���I������Z�7��d��̮�Y�$������T��(�UN?��x���םOlRR��MR��<m9�
�P�0�ZN��h`�
��Õ�����14�.���ȿD"J��	\	r�Z�1���P�6�-�h
��b�"P���~x�~�6(�r5(�T
�
)����5P��IԲy3���Pb�p��GN�@��c�B#I�N�H
-�[�cb��d��FE��q
-!��FbYa���X��Bns��֭����:�;�ٮl���ʖDD��.[C� ��O��5�� c�
-v����/r�0z�귍�+C�A�sk����c/ȷ�Iڭ��
�!�6#�nMT��T+��b��Ƙ�^�/��H�E���c-S6�Af[�
j�@RU��k���^!�Ϲ�3�|p3�à�i"����ɀ�H�F2"1��flsȪrk8u����~��x�5��U�Y�����j�N���#b
��N����֐�Jc��iv`X��� �hA��<v^X�X
oAc����I�Q��b�by|N���Rq����`�[�[���rV �QMY3U�yqM��2�.,
��)���Pr�0iPn���7�A��l<�������Y���Cs�]8��\�@�.
-Վ�!�g{��d�=��L7��6�ɪ���{�b�Z�L3��ն/0ƗK/�F�0V�^
m���
߅��O/���nj�8P5�^R� NԢ��Ԣ �8�;��#�t��@
���	`-��a�K�
#ŠB�k�[�����!
-)���{ߐ��d��! 0/����nJƦ�}u��k�y@�8�*�k�k�v8���4fX!l;���4>M��~�t��1���1�_,�����kSKI���͙YU/�xE
��Z�C�!��O�������7�
I3ef�V�F6Q���7�]"�|�7�4=��5-Ͳ�Y�^�D���
�ɼ���L��8�4gBo^�R�Rz脵%Rꉁ-��SC,y����H�+�2�%�����2� Q�7eb��P�
��X��de'����� ~+u�� �f��F���-�n4O_�v`�rP�
]�!g/
G��&@2�:
?ɱ�)�t�Yj~Ka/7�0�z�����N`�T��k�b��>�XF��D���cv:�Pɍ'�[��t����ݟ�:4�r(Z�$xE3WHJ��Ћ�M�]~
�u�O�v��(
�$סȵ��WW��������U��)�?��E�
-Z��7r��!�J�DF��u
'�bȫ�_
����2q���'��G %!���S�1ܮ�ĺ�F�hl�����)���vʼ�����Ҝ˺�4k*MD�RU^�8t�C+�Oֳ7W^��ڳ���?����.�v�$���dz�
�c4
�I���x2
{���HJ����8���~ 7�ڨ���=Dc
-endstream
-endobj
-7578 0 obj <<
-/Type /Page
-/Contents 7579 0 R
-/Resources 7577 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7465 0 R
-/Annots [ 7515 0 R 7516 0 R 7517 0 R 7518 0 R 7539 0 R 7540 0 R 7541 0 R 7542 0 R 7543 0 R 7544 0 R 7545 0 R 7546 0 R 7547 0 R 7548 0 R 7549 0 R 7550 0 R 7551 0 R 7552 0 R 7553 0 R 7554 0 R 7555 0 R 7556 0 R 7557 0 R 7558 0 R 7559 0 R 7560 0 R 7561 0 R 7562 0 R 7563 0 R 7564 0 R 7565 0 R 7566 0 R 7567 0 R 7568 0 R 7569 0 R 7570 0 R 7571 0 R 7572 0 R 7576 0 R ]
->> endobj
-7515 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 707.957 197.363 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_c720d2c0875eba7d87a4068876092025) >>
->> endobj
-7516 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.851 707.957 252.452 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-7517 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.274 707.957 298.001 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-7518 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.285 707.957 426.751 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-7539 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 661.23 197.363 672.134]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_fa8decb7c7093c9cde1255a6c1af62d4) >>
->> endobj
-7540 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.7 661.23 244.954 672.134]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-7541 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.234 661.23 349.7 672.134]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-7542 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 614.503 197.363 625.407]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_dc326b7c8687b685c42817f7fec425e0) >>
->> endobj
-7543 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.394 614.503 279.555 625.407]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-7544 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.014 614.503 426.48 625.407]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-7545 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 567.776 197.363 578.68]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7546 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.103 567.776 248.909 578.68]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_0a7f222ac228554b369d460087815b87) >>
->> endobj
-7547 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.246 567.776 348.515 578.68]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7548 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 531.109 167.466 542.013]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_5e4f3b53b4dd4f7f57a13df638b162e4) >>
->> endobj
-7549 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.281 531.109 243.55 542.013]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7550 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 494.443 205.112 505.347]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_f1921cd40fb0920e1173cf67418c63fe) >>
->> endobj
-7551 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 421.564 190.738 432.467]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-7552 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.236 421.564 261.85 432.467]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ed38463ae788879580d6372653452603) >>
->> endobj
-7553 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 384.897 190.738 395.801]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-7554 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.236 384.897 262.159 395.801]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_8b99abb6e15eedbdb94e2466e8304c52) >>
->> endobj
-7555 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.225 371.37 390.082 381.275]
-/Subtype /Link
-/A << /S /GoTo /D (main_Affine_Independence_and_Affine_Dimension) >>
->> endobj
-7556 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 348.23 202.922 359.134]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-7557 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.42 348.23 248.58 359.134]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_b5dfec17f683d1cbe01cfc71d601108c) >>
->> endobj
-7558 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 311.563 202.922 322.467]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-7559 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.42 311.563 296.181 322.467]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_f14ea5b6122685afd62a3df786512d77) >>
->> endobj
-7560 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 274.896 209.547 285.8]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-7561 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.045 274.896 261.831 285.8]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_f7fd07f1f8d91c830130c061da7b6c56) >>
->> endobj
-7562 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 238.229 209.547 249.133]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-7563 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.045 238.229 309.432 249.133]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_b7c86f7ff6b09ff72e3ee3382b4c933b) >>
->> endobj
-7564 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 190.604 180.496 201.508]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_e85fbe787fa3e172ecf6a63b2847d69a) >>
->> endobj
-7565 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.834 190.604 280.102 201.508]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7566 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 155.832 213.153 166.736]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_f2c70f89a472f7fa34ba64817693776a) >>
->> endobj
-7567 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.49 155.832 312.759 166.736]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7568 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 121.06 213.163 131.964]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_0d1677ef76c939ca2025722d2ee249e2) >>
->> endobj
-7569 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.501 121.06 312.769 131.964]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7570 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 86.288 205.692 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-7571 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.19 86.288 261.312 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_81c8a26a02090eb4fb9255dd814514a8) >>
->> endobj
-7572 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.65 86.288 332.156 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-7576 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7580 0 obj <<
-/D [7578 0 R /XYZ 90 757.935 null]
->> endobj
-7581 0 obj <<
-/D [7578 0 R /XYZ 90 584.828 null]
->> endobj
-7582 0 obj <<
-/D [7578 0 R /XYZ 90 548.162 null]
->> endobj
-7583 0 obj <<
-/D [7578 0 R /XYZ 90 511.495 null]
->> endobj
-7584 0 obj <<
-/D [7578 0 R /XYZ 90 436.593 null]
->> endobj
-7585 0 obj <<
-/D [7578 0 R /XYZ 90 401.949 null]
->> endobj
-7586 0 obj <<
-/D [7578 0 R /XYZ 90 365.282 null]
->> endobj
-7587 0 obj <<
-/D [7578 0 R /XYZ 90 328.615 null]
->> endobj
-7588 0 obj <<
-/D [7578 0 R /XYZ 90 291.948 null]
->> endobj
-7589 0 obj <<
-/D [7578 0 R /XYZ 90 255.281 null]
->> endobj
-7577 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F35 2018 0 R /F72 471 0 R /F99 2117 0 R /F65 376 0 R /F23 340 0 R /F97 2175 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7634 0 obj <<
-/Length 1630      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�6~���S'	CR�.Ű�m��E�$�K[�M��t�$9n��wx�b9�%��4��D��9G����"�&���~�Ᵹ�]+B�O}�jlE�
-|�%����b���9%c��!��E����v��LŨ��������ן���O��S>η�g�Y2Oi�|? �����K+���W
6"D\Vw�m��7	/K�2
�"j�t��J�;b,
-���Ȇpˍ\f�ȗ6{o�z����Q�� �x���|����0r��Z�^��Q��u����
īWy@���=��B3�.�>�a_�j^d&�jj�-
7�����<��D��j!D�1��e'n�6�}��5ȱ�^
�q��j��O+\�Rw��h%�!�V���qVu8���M~�
.r�����ͳw
/e���/�A!dC�,�lŊ�i11ɽx߳��2�p�t�M��/
��Si1������
1
�b�.��5v��+.vy5��
��r'4�����uJ(
-��ȵ�Њ����E
�&
�A���
-\D�R�P�x*j�gQ�*/:��7���N����$FJ�
N���#���
X����B.C�A�'��
�}�窛u��'� �j��B�b����V��ݚ�x�#jr�gɍn�_w�����5�]��DQ�Q諆Q5?_�/��Q((���
 ��,v(��%GEQ�����W_ �k9�]�C$�;@�Gq9,DuL�Ts�C�3:���H��	�s��8�$��gy�O�!O��&yy���9֠JE6��4��]���L��:�Z
e�;��po�{ކ�W�.��V�LDџ�fm|$�}�Rc�4XqC�D��.��^]�^(�T=�
�z�5
X����C�y�A�Y$\��^�=��i��]KzX"�dUNZ�P�r�]kLXy�!;S	b$z�����*�����K͔e\�i�r	�^4챃�p�E���Y!�ru��IP
-]^
���veG�2.
��yj���v-6p2�(zjF��;Ԏ�2#fxШųa��b�(s����(�	������N��8�����.�va�4��}�S�>Y��l0����\�� ��0wkCe�����FKlK��4:q�5b�,���E5�_)����	�{
 W}=�2�"/l
���
3���]����0%�r����n�[�&��}d�0a�Gr��ۑ
?�F��4�H
�k@�(t����՗��/��P�_}���f�Wr
�O4�����[�zZ���Y��d^ϔMi����SC��5��4��5�䱿P�(8*У*кz���OS��]�\L�~��]��륺M������8���>Z���AV�nD�4κ�0rwC0�]
�Ӯb��p	��^��x��h�jKR
��
*	�#T$�E�ܶ��r����%gn[ip���ur G;��
'k��vi�A�"
�)c��۪dq&��SWQG��M8X[8�Au����
�z"��.�ӏ*�V�����1`u�4�GQ��5������s�ݹ�XQ����x�c�;�k��R�8����>�lΓۏb�!)��&F�L�
��kP�_�Zt���cխ?z*��R�i
ﴪf�����h�ų���l���`\yk24F��'�4/���T�l����K�
-endstream
-endobj
-7633 0 obj <<
-/Type /Page
-/Contents 7634 0 R
-/Resources 7632 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7465 0 R
-/Annots [ 7573 0 R 7574 0 R 7575 0 R 7597 0 R 7598 0 R 7599 0 R 7600 0 R 7601 0 R 7602 0 R 7603 0 R 7604 0 R 7605 0 R 7606 0 R 7607 0 R 7608 0 R 7609 0 R 7610 0 R 7611 0 R 7612 0 R 7613 0 R 7614 0 R 7615 0 R 7616 0 R 7617 0 R 7618 0 R 7619 0 R 7620 0 R 7621 0 R 7622 0 R 7623 0 R 7624 0 R 7625 0 R 7626 0 R 7627 0 R 7628 0 R 7629 0 R 7631 0 R ]
->> endobj
-7573 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 698.089 205.692 708.993]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-7574 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.19 698.089 261.312 708.993]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_2d266342acc104c59dc0046242ccdac8) >>
->> endobj
-7575 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.65 698.089 338.781 708.993]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-7597 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 663.41 205.682 674.314]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-7598 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.18 663.41 261.302 674.314]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_46a4105c8476e5f5260a775777398586) >>
->> endobj
-7599 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.64 663.41 330.462 674.314]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-7600 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 628.73 183.824 639.634]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_353fe86259fbb2dd09d451e9dd468676) >>
->> endobj
-7601 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 592.622 192.272 603.152]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aae8e418bb3d7a1432117530eaea7ec4) >>
->> endobj
-7602 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 556.14 189.901 566.67]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_e3be22e7dcdf54fdc0fb976fd755d0c7) >>
->> endobj
-7603 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 519.657 193.229 530.188]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_74d2b64496aa448a85ec0b370cee0977) >>
->> endobj
-7604 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 482.801 241.935 493.705]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_3905c42e02befd8a894c57abd9f972f5) >>
->> endobj
-7605 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 446.319 238.459 457.223]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_22b6ac7ec1477dc82d6db22900b59be2) >>
->> endobj
-7606 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 410.211 187.689 420.741]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_d423a6ddce01a2f2efb34b826d0de921) >>
->> endobj
-7607 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.505 410.211 226.693 420.741]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7608 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 375.157 228.895 386.061]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_7ae373e57180f03b09aa0e38d1f19811) >>
->> endobj
-7609 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.232 375.157 333.482 386.061]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7610 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 340.478 229.503 351.382]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_1ae372d4f3b58cfa4af6edd51d845209) >>
->> endobj
-7611 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.84 340.478 334.089 351.382]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7612 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.98 305.799 187.264 316.702]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_0e90a75aac44c14997804b8911ff7bbb) >>
->> endobj
-7613 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.963 305.799 293.213 316.702]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7614 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.131 305.799 371.148 316.702]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-7615 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.711 305.799 455.727 316.702]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-7616 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.98 248.205 187.264 259.109]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_cb19de0243a618e9bf3d62e2ee04ae01) >>
->> endobj
-7617 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.963 248.205 293.213 259.109]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7618 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.131 248.205 371.148 259.109]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-7619 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.711 248.205 455.727 259.109]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-7620 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.235 236.25 220.058 247.154]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-7621 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.717 190.611 186.348 201.515]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_cfec639e917dfd6eb63c4006ac55b807) >>
->> endobj
-7622 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.523 190.611 293.772 201.515]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7623 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.35 190.611 373.367 201.515]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-7624 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.82 190.611 456.837 201.515]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-7625 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.717 133.018 186.348 143.922]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_217e4addfae235df12c449320e65f891) >>
->> endobj
-7626 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.523 133.018 293.772 143.922]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7627 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.35 133.018 373.367 143.922]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-7628 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.82 133.018 456.837 143.922]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-7629 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.581 121.063 218.404 131.967]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-7631 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7635 0 obj <<
-/D [7633 0 R /XYZ 90 757.935 null]
->> endobj
-7636 0 obj <<
-/D [7633 0 R /XYZ 90 645.736 null]
->> endobj
-7637 0 obj <<
-/D [7633 0 R /XYZ 90 609.254 null]
->> endobj
-7638 0 obj <<
-/D [7633 0 R /XYZ 90 572.772 null]
->> endobj
-7639 0 obj <<
-/D [7633 0 R /XYZ 90 536.29 null]
->> endobj
-7640 0 obj <<
-/D [7633 0 R /XYZ 90 499.807 null]
->> endobj
-7641 0 obj <<
-/D [7633 0 R /XYZ 90 463.325 null]
->> endobj
-7632 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F99 2117 0 R /F65 376 0 R /F50 339 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7691 0 obj <<
-/Length 1757      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�6~���S'3CR�(À�[���5�^��P$�*K�('��ߡ(ٲ#�v"7)ڇ�sD��wn$�5���������Kϱ
��ˉ%��=�%�ed��	A���>l�,�)��dy-�<�_�A�|��MX�,
���u0�Ï���^Ҙ�R�<�����?�
Fԭ	.[��8�&�y�
/�@��2
�	j��<	
-iF�ʉ̇ķe#
fS�����/�
L�-R��q�a�p6x�[���0r�oݖT3˥�&����T���f��&�ȃ/8u��a���\���z?b���,K�q�O>�{[RhY޼��N�~�
�1�Y��
����%���y���\b�����+M^�P��S��xb~�$1�u��8
�ؾ	�8H��:ȇ�+���1�je�.{
9
��s8b��.�A(G��3��8K�B�ƺJ[8�ө�[ή`�|~�H��P�AQ��!���rK��7�ݴ��\f�(A���v�)=+��m
DѸ�e
�i���Mk��E�$��:��"����Kն��7���Mx�0�f
��
-A8�}94+kZٖ��Rrֵh�b$5
S
�r
!k#V�VJ��Wy�_qr
�n�����[ Q� L��p�z����O�@���jK?w��)V&
یn��7�%�N�X�!C�.�a"��O�'�u�	�ق#
��l
1�('�I�|Qe
-I
�<
�=Ţ��:P�:�'����� �ִY����M�����6u��
-a�P�i�1��0q)r�ӡD���H3U_\Z��@��<�
ȴF@z�{���O���!�3E}η��Ttr|�O��
-�wJ��y�u�?��2]����NM����F��%���E�#�B�
��W���$�{�E�Q��]����BZk������ �Yx,�A���A�o

��{�w�D��4x�p��;)(����HT
R8Q:0��p��������)=Br��b��MÿCB��OF���
<�����l�(4�
�)-�S
M.�8��X�2
�I�6_��=R�}��E
�R�vvýA��˰���̯��=�����̧�i0"��in�|G��Z�G���v�T<M�!���Q��&O�d��]Ռ������4�Q�������,Mp�"�7��lo��l|%Ǎ%eԏ0�w�s��CO��?|DD/1�C.�t��{hf�{�R�JÚA3`
G�
G�yg�j��`�	!�:
a�7��a��n��p�297��eWi��c;w?|���`}��vdX�+Y�J���
�d]յ�-�GUrصM�@c��a��]��}��
�W:���<	���1�F����+�e�,
�=�X�yey [...]
-dF[��$>�O�M�}p� ��.8�J�� VF�o0�.��k�R�02�$�b���ՇEd]�?$^kI�1�В��+�"qJ��r`��6Vm;�Zಙߨ�&A�Z�M+ŪY"�%�sBF�{�H�ݷNd^n�<R�ؾ����|�جohB��!��˰L at q�V�Q�~^��jg缾	k^���坒�C�lU�)L����ō�
-��U��v#�EC #�i.d-���U?�
��Z�
�.r֞x]��gg���(Tr�<Gqq6�'gwo+6f!.Z{�$��Iβ|Un���ж���;�P
-endstream
-endobj
-7690 0 obj <<
-/Type /Page
-/Contents 7691 0 R
-/Resources 7689 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7465 0 R
-/Annots [ 7630 0 R 7651 0 R 7652 0 R 7653 0 R 7654 0 R 7655 0 R 7656 0 R 7657 0 R 7658 0 R 7659 0 R 7660 0 R 7661 0 R 7662 0 R 7663 0 R 7664 0 R 7665 0 R 7666 0 R 7667 0 R 7668 0 R 7669 0 R 7670 0 R 7671 0 R 7672 0 R 7673 0 R 7674 0 R 7675 0 R 7676 0 R 7677 0 R 7678 0 R 7679 0 R 7680 0 R 7681 0 R 7682 0 R 7683 0 R 7684 0 R 7688 0 R ]
->> endobj
-7630 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 720.286 161.677 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_35518da8c480784110d40b680256bd61) >>
->> endobj
-7651 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 646.871 205.752 657.401]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ae058fd9619a17e121c3aab9b0612d81) >>
->> endobj
-7652 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.089 646.871 276.595 657.401]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-7653 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 611.628 209.627 622.532]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_dc269190695c1745ab086168fcf35835) >>
->> endobj
-7654 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.964 611.628 314.791 622.532]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-7655 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 576.759 248.202 587.663]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_0e09e7efc2f63aba534614086427bf49) >>
->> endobj
-7656 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.018 576.759 329.845 587.663]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-7657 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 541.889 212.377 552.793]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_0e9ecea59dea0ccb1cc3600bc11f1056) >>
->> endobj
-7658 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.714 541.889 289.846 552.793]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-7659 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 507.02 216.252 517.924]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a493e3939364ce0db66b42f0ef6511d0) >>
->> endobj
-7660 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.59 507.02 328.042 517.924]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-7661 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 472.151 254.827 483.055]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_1cd37a76428add108f267548ae76664b) >>
->> endobj
-7662 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.643 472.151 343.096 483.055]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-7663 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 437.655 236.745 448.186]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_594973c5284386e52b8c33b206a47907) >>
->> endobj
-7664 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.082 437.655 307.588 448.186]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-7665 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 402.412 243.37 413.316]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_580264341ec83f4bf3d6da1205939b0a) >>
->> endobj
-7666 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.708 402.412 320.839 413.316]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-7667 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 367.543 240.62 378.447]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_c6376a87e99d3cdabaa6ee7542474849) >>
->> endobj
-7668 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.957 367.543 345.785 378.447]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-7669 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 332.674 247.246 343.578]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a317313059bdf973567d2fcf5e030212) >>
->> endobj
-7670 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.583 332.674 359.035 343.578]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-7671 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 298.178 193.577 308.709]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_fea57a711a6b7a5d501112b84b246759) >>
->> endobj
-7672 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.393 298.178 232.581 308.709]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7673 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.059 285.176 248.845 295.082]
-/Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-7674 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 252.35 193.577 262.881]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_6ff5e78b07441619f850114578ca48d5) >>
->> endobj
-7675 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.915 252.35 277.691 262.881]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-7676 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.892 239.348 252.677 249.254]
-/Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-7677 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 206.148 223.465 217.052]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_bfde1aac87d8218fce0fa9b4ea8a5eb1) >>
->> endobj
-7678 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.802 206.148 323.07 217.052]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7679 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 171.279 229.552 182.183]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ec298ee7df246c945e6a56442e04176d) >>
->> endobj
-7680 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.89 171.279 329.158 182.183]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7681 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 136.41 266.673 147.314]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_bfb434e3d574f4bd53314ac8749c4731) >>
->> endobj
-7682 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.01 136.41 366.278 147.314]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7683 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 90.582 217.109 101.486]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_72782e7d9a6612efd73b253b0f862c6b) >>
->> endobj
-7684 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.446 90.582 316.714 101.486]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7688 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7692 0 obj <<
-/D [7690 0 R /XYZ 90 757.935 null]
->> endobj
-7693 0 obj <<
-/D [7690 0 R /XYZ 90 733.028 null]
->> endobj
-7689 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2117 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7760 0 obj <<
-/Length 2722      
-/Filter /FlateDecode
->>
-stream
-x��[�n��}�W�i"�v�/�l�d�d�A&3N^f-�6�R(�
��S�&)��D�b��eR�����SUGl�4���n���j8�4���]�h`4#���f
|
1F�O�t�n��(L���ݘ��j����p�S|�������e��*	��:�r���[���s��ϵ�֋�,`�pY
-ܴ�p�	U
-��KÛE�ٌ'\QP��(Z�a�;(
3;���N�wu^�ps��+jh�r�(C

<[^}��s��c@�p6xʥ���>����]���������27W����P��ٿ�l���0<[�Y:������r�?S*
-O�=I4��L�o�LmxV|'T�f�
�h����,�>���1[%Y'qr_�X=���;�,:X��������0k�v��t�Y�	�y�
�`�J�E�"������z^�Ut/�&�[B�
&��L1�UMK�q�`GݮV��>FYz_���\"wg
��=O����
��}ʦa
"M����TQ���;��e�65�z]��M�s�%
&��x3��>� �
��0�Q.����)�(�&k��(}�Q�T�m0���,^
:
n�_Xu���y�����u4˼��?k#(E�
�m�.�'R�џ��6��=P��
���\G��0���m�$��O���I�
@g�\�6I?b��f3�K��
$�Ξ�J��)�����=�'��Ϗ��nލ��u�I4������Q�oģzF�3� ������q���1h�n<ь�:v5��S�Da:���:�`�
1j~�Ad����*�&5��$�fig�ׯ�Q��|!-���*�'U��R̢;��G�j'a�J�?ԹJ"�
-�J_ha�%D-�-���b�
fGrn��Q��1a��|dx� <�܉�Z!�`U��H�h5�m2�����Px�M���W�p��/
�³	Bj��
�-�3�EYY�{���.��nuu��pW~*1{Sb���߸}n1�JREB�Z����
g�L5/�!8���`x%t� Z!
/�,ah��s]��cvB
-5!
u�uP
qv���
S�+�zAS�,�Sl��ȅr���3�4
-�ʽ�PعC.���
/N"'R�N�b�ב�6vr��S^ ���.E.n��>J�4\�����[u	��5;�G���h��	���۪��ْF����q.�Փ��
P�eM\�P���/
-�
�؜6�T<�j�S8h
�������+>�
��CCj�
��WE�w� �mO�C��7��Ш:Q��I6wy���ʼ����}�)%BT�
+3*�QX�
�=�Ɖ�G��(�h�J��Nד=)2f���
�rO�D(J�U�DgM
��t
�
6B���v�
4�%G	��b�r��6j��B����DJ��̩,B��uO����}�iԜPS[������ث��Sd�<�9Nf���l	�0W5�
�Z����_�����0Lc6�D?L�>�'�`��͉\ ������(Ҵ��3��҇� ]5��JTXܡhg����60o�c�"�!3���`�:���
����_4�l�Y�hN�A4sP��B�
��mS]��2�(<ׇ����9Lڼ	�$T%S2����I�{vk�e����J�B��Xe��J)��v�}R�D�
Je|���KK�J\|��P���v�(l�S���@����_]A} ��8���������=
-�ְa~�S�6�Z4�ZP�ւu����v��
��/�L�W��+�3��,n�	��^��Ӗ"�׺f�_/~!ȉ�P����/)~
U�A�.̑ⷾ�0C�_Q.'�-���#�_�F��yj7j����BL,�w��-��+^�E� �˓� M��2g��kB�K2��29T�њ�i���Z�K��ُ�1Zu�稬*ύ�]��/L4�mõ<J�0:PK`m�%�A[�h�F�'��
(��S$���l��<٠wN&h�J�&��]e?���@̌"�3�%1R�ɍ��L��%A	&��*uVj*uA��˒�%Č6'�����$SoO�	��M��P��
�
oCHq>��C=%y��@WA���� ��� M@��G=^���,�z��ц�_M
��U�!Q�
�2~ӊ��aq�{���P
N]hϩ��9ul�����.�v������%��FCE_���~�h�f��k�h�!%>p�������!R�@2���p��������R��π�J�a��&�A��g!�Q�
�
�@j٨�
��ϓH-厬A�:KyYFB�ه���5�N��
c/+�+]��Й�kT�zn7]3D�]���g�mB@��8�ڰKi\}���B�soS��޻I�/'n
'F
��0��h
-�f����#�+9S��v�U�Y�1��6����t�Ļ��K�Q�EI�Q#`W
6�
��3��uTAD
̫�j���g���j�M����`����#�4���i
�\Db>o_��sOJXG��L8&�X�7o�.j5(��\߄
�kUֆ��� ����Ӱ�-��j���Zvp���w�L8���5�O.�Ŀ�Z��P.�y��)�	b����O 6�bM�l�s�yQ�塁�\�����wS.ػܹ)����<;.�������&J�Ǥ���K�lKx������t�22:P[bD|W��>D����3(���U�˝��'
-Z%��,[���~zz"�
�&�:%qv�^/�Eym�
ʱݹ��U�
[���`�\�U_�� �8��
-endstream
-endobj
-7759 0 obj <<
-/Type /Page
-/Contents 7760 0 R
-/Resources 7758 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7766 0 R
-/Annots [ 7685 0 R 7686 0 R 7687 0 R 7710 0 R 7711 0 R 7712 0 R 7713 0 R 7714 0 R 7715 0 R 7716 0 R 7717 0 R 7718 0 R 7719 0 R 7720 0 R 7721 0 R 7722 0 R 7723 0 R 7724 0 R 7725 0 R 7726 0 R 7727 0 R 7728 0 R 7729 0 R 7730 0 R 7731 0 R 7762 0 R 7732 0 R 7733 0 R 7734 0 R 7735 0 R 7736 0 R 7763 0 R 7737 0 R 7738 0 R 7739 0 R 7740 0 R 7741 0 R 7742 0 R 7743 0 R 7744 0 R 7745 0 R 7746 0 R 7764 0 R 7747 0 R 7748 0 R 7749 0 R 7750 0 R 7751 0 R 7752 0 R 7753 0 R 7754 0 R 7757 0 R ]
->> endobj
-7685 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 697.994 271.126 708.898]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_0a0d8c78069019f44dc34ebab82ecfc6) >>
->> endobj
-7686 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.463 697.994 370.731 708.898]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7687 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.863 685.366 326.259 695.272]
-/Subtype /Link
-/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
->> endobj
-7710 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.984 652.166 201.742 663.07]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ccc6c6488ea9d8555ea8e978cf188749) >>
->> endobj
-7711 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.442 652.166 243.629 663.07]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7712 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.079 652.166 371.329 663.07]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7713 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.562 627.583 267.759 637.488]
-/Subtype /Link
-/A << /S /GoTo /D (main_affine_relation) >>
->> endobj
-7714 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.288 594.383 212.768 605.287]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ba9abb279871c30a4f0c6cbb188fecc1) >>
->> endobj
-7715 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.771 594.383 252.959 605.287]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7716 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.896 594.383 375.145 605.287]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7717 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.657 569.8 275.748 579.705]
-/Subtype /Link
-/A << /S /GoTo /D (main_affine_relation) >>
->> endobj
-7718 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.443 536.6 250.099 547.504]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_934cc1f45a6d438f5d468276140cd5a8) >>
->> endobj
-7719 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.258 536.6 289.446 547.504]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7720 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.772 536.6 379.512 547.504]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-7721 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.747 536.6 513.996 547.504]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7722 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.255 512.016 484.66 522.972]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-7723 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.091 478.816 250.748 489.72]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_196d1efc79437ca1d96b79b7cd60387f) >>
->> endobj
-7724 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.068 478.816 357.317 489.72]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7725 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.405 478.816 456.145 489.72]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-7726 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 466.861 202.344 477.765]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7727 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.359 454.233 470.793 465.189]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-7728 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.933 421.033 239.984 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_b499fba7b7be2932147748248180e057) >>
->> endobj
-7729 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.633 421.033 280.82 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7730 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.855 421.033 405.104 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7731 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 421.033 513.996 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7762 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 409.078 171.361 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7732 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.257 395.241 432.092 408.399]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-7733 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.207 362.047 266.586 372.951]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_702b00ff42a88c23ab25eecf0e9acef0) >>
->> endobj
-7734 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.509 362.047 309.697 372.951]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7735 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.494 362.047 408.234 372.951]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-7736 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 362.047 513.996 372.951]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7763 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 350.092 171.361 360.996]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7737 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.141 336.255 414.324 348.42]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-7738 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.017 304.264 265.396 315.168]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_25f104e58f88e05dfcb905bcd66e493b) >>
->> endobj
-7739 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.568 304.264 375.818 315.168]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7740 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.239 304.264 478.979 315.168]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-7741 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 292.308 225.866 303.212]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7742 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.222 279.68 466.67 290.636]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-7743 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.436 246.48 251.209 257.384]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_0d4db6f54c7332e1a2e0bc85e16ba176) >>
->> endobj
-7744 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.361 246.48 290.549 257.384]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7745 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.719 246.48 409.969 257.384]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7746 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 246.48 513.996 257.384]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7764 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 234.525 171.361 245.429]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7747 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.114 220.688 456.992 233.846]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-7748 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 187.494 224.57 198.398]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_44e10aa0180433db7d19fb8e473dc829) >>
->> endobj
-7749 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.908 187.494 324.176 198.398]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7750 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 174.866 347.869 184.771]
-/Subtype /Link
-/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
->> endobj
-7751 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 152.625 255.564 163.529]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_d8d04d80653fb850dd92468af1995f97) >>
->> endobj
-7752 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 115.763 257.637 126.667]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_1d780ef5b99cc9752eb322353b7b6b08) >>
->> endobj
-7753 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.974 115.763 357.242 126.667]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7754 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 103.135 378.454 113.04]
-/Subtype /Link
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-7757 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7761 0 obj <<
-/D [7759 0 R /XYZ 90 757.935 null]
->> endobj
-7765 0 obj <<
-/D [7759 0 R /XYZ 90 169.726 null]
->> endobj
-7758 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F99 2117 0 R /F65 376 0 R /F50 339 0 R /F97 2175 0 R /F38 342 0 R /F98 2120 0 R /F34 2406 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7819 0 obj <<
-/Length 2060      
-/Filter /FlateDecode
->>
-stream
-x��ZYs�F~��S�
-Gs` �k�U�v������!v�C	�X ����	^e;y��c�3�����`���η�o�'�}�$|�;�KG`'�	�8ױ��%�`:#c��`7*�h�vJ����w2.����M��W�~Z��m�E���]T����_�&�'�R�|?�ɵ�!����
�
�!a��C.WQUMg�c&�+�b��\y'�����.1��K�P2'����B@
v�6
P /���_����
���G=*u<��w�\M�3��ĸoj���$�ቀ2�}n���R��o��H���B��a�[�(�m k��� y�ذ�@��x跒օ̢Ԛ�Z�Q��#r9,����5�Ȝ@Gp�փL[ՔI�[k�w�N��3ʰ{y�s9%���.�"ݒ<����l`� ���"Ϫz��\$��/�S��_���u��[0�eU�{^�
, ��ܸ��*elLB���Cc�@6b8���)� 
���D@	��=����a��6��}��ل�=�BԹ�[��!w`�K*3 [...]
-
cW�d#T�<�
5k��e�aB�u�iH �A�
��rd˨�6Ʃ�P���j~m�s��҆>(r�R�b�S !
�:Vޓ�C)@��Oco�3D[�>Kţ��,*�|J9p�G��c�!�~I�NVu�D���4�����|_:U�'ݪ<�Q�
��X��:���6iYjZ�U����
BT�d�oW'�0��1z.2��礶W=x$ � $�������=(�맞�
3���J7\ ��G���t�1b��i;�0�7� =(��
�k��-�ǣ�f�v�㊭կI;�h#�l�Qw�V]
O;>x%����Y3h�_t�1��b��a����4
\ۇ3" 'B
�<��F����Ҩ��>[h
-i�l��&�&x���r�a�&���F��k��
PĮ\��%�pUD
����Bd�؜33Fq<�Ԭ�Yl5��m���w�ǝ2�V�\�0�=�>''~
��N(F$h��
�~���Gc�No
�̢[[��pY��w�2���|c�@�6�:?-� �y,�(�.���������z�u�W[�yS|ey�Åu~݀�O�
P
-�
����ܕ;Ҍ;��ьp��>�͵f�&�M�F2��t�$r]
��!'��Bg�̥LsT�ܢ�g �g�_T&��JV�+9ʍ_���F·ˈ��𥽽�Ѻ�*�"�`��O�Y{)�%�w�<�-��2@����f9�Z���I�oV�#{��>�Iv_���]� 7��e�h$
���S{$�}p9
���
��5�~�|���ou�S�	$��4�#��P�}uM �z'��V�MT�H:��n�X����>%VL�ݨ؄�&T����^�Cf�XX���?Y�G�-S��U�?=Ӹ�����K�
-�
/�NQ��1���"(�=
�v�^��4l19ZZ
⃥u����܅�
��a
���X�� \#�L at Q��%=D��޹�O#9�z���ZB����5���<A�
�>i�!�r�.WG �jK�`�j�޾�c	O}>�����H �8#�6�
�C��#?
k>�!qAQn���qn�x^�
�^���<sj��3'��d�7���j6������L�VvQ	]5FԼ��1(��d
��oNs��D۳[/�L�p�r��u������-*t�%E����(VۥCO�jZ!�&%�y)x��Tw]C��� �	�
-endstream
-endobj
-7818 0 obj <<
-/Type /Page
-/Contents 7819 0 R
-/Resources 7817 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7766 0 R
-/Annots [ 7755 0 R 7756 0 R 7778 0 R 7779 0 R 7780 0 R 7781 0 R 7782 0 R 7783 0 R 7784 0 R 7785 0 R 7786 0 R 7822 0 R 7787 0 R 7788 0 R 7789 0 R 7790 0 R 7791 0 R 7792 0 R 7793 0 R 7794 0 R 7795 0 R 7796 0 R 7797 0 R 7798 0 R 7799 0 R 7800 0 R 7801 0 R 7802 0 R 7803 0 R 7804 0 R 7805 0 R 7806 0 R 7807 0 R 7808 0 R 7809 0 R 7810 0 R 7811 0 R 7812 0 R 7813 0 R 7816 0 R ]
->> endobj
-7755 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.897 707.957 257.434 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_047e2a717168ae129338109f1afc9a7a) >>
->> endobj
-7756 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.367 707.957 356.635 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7778 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 683.374 378.454 693.279]
-/Subtype /Link
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-7779 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 661.133 257.786 672.037]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_9b7061aa20aa4b513216bcdb1a905ce7) >>
->> endobj
-7780 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.123 661.133 357.392 672.037]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7781 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 648.504 375.773 658.41]
-/Subtype /Link
-/A << /S /GoTo /D (main_BHMZ05_widening) >>
->> endobj
-7782 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 626.263 214.06 637.167]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_173628da404c1dc2c4d423cad7f9f960) >>
->> endobj
-7783 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.398 626.263 313.666 637.167]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7784 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.525 589.402 308.768 600.306]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_fa62abe41a99d6a01cca319ed860bb5b) >>
->> endobj
-7785 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [340.956 589.402 413.224 600.306]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7786 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [462.191 589.402 513.996 600.306]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-7822 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 577.447 156.427 588.35]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-7787 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.489 564.818 302.72 574.724]
-/Subtype /Link
-/A << /S /GoTo /D (main_BHMZ05_widening) >>
->> endobj
-7788 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 531.618 245.911 542.522]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_46d5dc7df45abdea275f0295fee58c23) >>
->> endobj
-7789 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.248 531.618 345.516 542.522]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7790 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.346 518.99 393.257 528.895]
-/Subtype /Link
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-7791 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.84 496.749 291.592 507.653]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_87aadd3a9d47e978a32c9867b13220a4) >>
->> endobj
-7792 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.409 496.749 392.678 507.653]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7793 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.169 496.749 513.996 507.653]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-7794 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.622 472.166 310.533 482.071]
-/Subtype /Link
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-7795 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 400.42 289.866 411.324]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_703f57855b17ef63b28f88fe13a51870) >>
->> endobj
-7796 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.681 400.42 359.324 411.324]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-7797 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 365.551 290.971 376.455]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_204fb0538d07ee8ac3d5f2724419928b) >>
->> endobj
-7798 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.787 365.551 360.43 376.455]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-7799 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 330.681 224.003 341.585]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_f41476c22751c8d79e8599443aea93da) >>
->> endobj
-7800 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.34 330.681 323.608 341.585]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7801 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.695 318.053 272.49 327.958]
-/Subtype /Link
-/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
->> endobj
-7802 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 295.812 254.15 306.716]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_1169e57865dfa83ffc8cc23071248340) >>
->> endobj
-7803 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.487 295.812 338.263 306.716]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-7804 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 260.943 284.585 271.847]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ba8ba56b075b2be7b6309cfaed039070) >>
->> endobj
-7805 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.401 260.943 354.044 271.847]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-7806 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 214.119 241.726 225.022]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_34dbbfe20e987a3d55c7a3f2d08f1aed) >>
->> endobj
-7807 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.617 201.49 407.658 211.396]
-/Subtype /Link
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-7808 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 179.249 249.318 190.153]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_100662089d61a01ea43a28a944da266c) >>
->> endobj
-7809 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.134 179.249 288.321 190.153]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7810 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.875 179.249 371.519 190.153]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-7811 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 144.38 240.62 155.284]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_128413fc4c3051aaa9033a8030509ae5) >>
->> endobj
-7812 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.958 144.38 324.734 155.284]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-7813 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [390.537 144.38 425.724 155.284]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7816 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7820 0 obj <<
-/D [7818 0 R /XYZ 90 757.935 null]
->> endobj
-7821 0 obj <<
-/D [7818 0 R /XYZ 90 643.364 null]
->> endobj
-7817 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F35 2018 0 R /F23 340 0 R /F72 471 0 R /F99 2117 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7874 0 obj <<
-/Length 1635      
-/Filter /FlateDecode
->>
-stream
-x��ZYs�6~ׯ`_\i&�p�'�CӸ3i�����d44	ɜ�PI���}$H
�(�㫍<���b�@`kfa��������f��\���xj�ؒ6A�k
X��� &C�1��{Y�M���hy��̛�
^e^�<=���,M�hry�������茐5���ȶ%L^j]�lX at 0����pa��i������!�����y��zr��*��
1��>�X�����P�-R�EH$ab?�}��� ���0b�cݔR��)���u����;CL¶�,�,�"�+��WQ=���+��
�-��$/M�u��^��F�9֐R��Q��R����P at .�j���a63�^�2z� �U�ì�bYe�Ѳ�7�w;�瞯&ͯ���b_���G���nIj9�ͫ5�lN�!���r�B�,1y-�M:a�0^�ՇҊ��#��WT#�<�tY����^Dj at D���#��VȯK�@9�U�Fݹ �&��EK?R�B�yaRL�e^�8�0O�(7
� ���d�
��:4�A�yM\��Hd&���^�/KW�gڝ��|�-4N�n\��-�\Dp�3D�1�,
U�
��G:W�W�ٛ7��^��n%-
j���.C$E���N���N� !�V�ڭ����ZAܟ#���~G���g�'+'�C�`�0���A��Ś<��ݿ�e\	mVC at bj�pZ�}P
�$Z����L�%r�)����ٔ�Z�]%D�W�	�
J�*ҭ~�{���o; 燕,�؊m���a��'h�[��P�
1�����.�����
؉��˴�
�Y+�H��`��O"WbR-Gn7���)]�,��
��s���_I�H8M�j��41�($t8�*��dȁ�Bٹ�����i
-]Ny���
�vm�#��Ƨם
�;M�t[,�vl�g�>� ��`ܡ.E��M���(�
�~u
-JR��  � L𿺪�J����c5mغ���{ݓ�m�T][�η&��k�M�T�$��010��D��!B �:<�z8��jl��~xq$¤�	%
��5��cڇ
ZFa��l�����3/��ٝS�I	8;��^+��&Y*�|\�䥣>)v���>��	�*P
:���S3��<��>z��RƄڰ,��B�S5u�
x�
=S'*
�p��[q?�$ ���#��W��
�����E���2��fmM4��9plI�&�y���y��Y�95��k�t�Ԍ?x	l����-U	�3U�(���,%����`-k�q${�y��Mb}��	���	� Ҥ���0��!���� ��Ѯ+�߹�;�\:T�͸؇ѐ��0�!J
��`��nv���@ڤ[K�jXwR�s\�ׇ.6"@6R�Y�Z��j�
=�@ ��t�;;�8�g��~�K�b<�o��Hb�	
-�V
�Ky,�î��7fZ�<̴��˕���B����s��M]
�DPXO�>`%O��!ʟ!�>���O�/
{�+�>W��ð�/�ـ��9�Xy?
�cN �V��􎯾i1�;�y�6*�=�W}4���*�q D?o�‹V��o�Je�+Q鎨]C3��KU��ʳoV=��W6���H%�
E�.���htss��
-�p�������.��i�^(%�zo�Ys
ƞ~�������׼
-endstream
-endobj
-7873 0 obj <<
-/Type /Page
-/Contents 7874 0 R
-/Resources 7872 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7766 0 R
-/Annots [ 7814 0 R 7815 0 R 7836 0 R 7837 0 R 7838 0 R 7839 0 R 7840 0 R 7841 0 R 7842 0 R 7843 0 R 7844 0 R 7845 0 R 7846 0 R 7847 0 R 7848 0 R 7849 0 R 7850 0 R 7851 0 R 7852 0 R 7853 0 R 7854 0 R 7855 0 R 7856 0 R 7857 0 R 7858 0 R 7859 0 R 7860 0 R 7861 0 R 7862 0 R 7863 0 R 7864 0 R 7865 0 R 7871 0 R ]
->> endobj
-7814 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 697.247 203.075 708.151]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-7815 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 697.247 296.324 708.151]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_38da38d0fab7eed9ee09fdb11f88fd15) >>
->> endobj
-7836 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.636 658.393 287.856 669.297]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_51fb0220102e525b11cdb06dcbe322c7) >>
->> endobj
-7837 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.636 619.539 294.481 630.443]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_2f13e4ffe7b47ec50721791877b41622) >>
->> endobj
-7838 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 538.776 180.54 549.68]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_1c59e94611b71ddd67acd033a05bbbc7) >>
->> endobj
-7839 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 538.776 280.145 549.68]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7840 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [348.444 538.776 420.713 549.68]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7841 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 418.78 226.034 429.684]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_137dcf52993d2ff3dd6e4678b45baf56) >>
->> endobj
-7842 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 418.78 393.444 429.684]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7843 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 367.97 178.239 378.874]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_1c2f0ae89d7bf247a76c40282f31758e) >>
->> endobj
-7844 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.576 367.97 277.844 378.874]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7845 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [346.143 367.97 418.412 378.874]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7846 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.625 317.161 245.522 328.065]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_c2cd6705bce0af4bd9880b990baf1198) >>
->> endobj
-7847 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.848 317.161 325.229 328.065]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-7848 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 305.206 186.179 316.11]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7849 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.478 305.206 326.746 316.11]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7850 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.876 305.206 430.433 316.11]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-7851 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.625 254.396 245.522 265.3]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_025902247d9c8b46d92c514c1646ff69) >>
->> endobj
-7852 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.848 254.396 325.229 265.3]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-7853 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 242.441 186.179 253.345]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7854 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.456 242.441 330.724 253.345]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7855 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.075 242.441 437.631 253.345]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-7856 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.92 179.677 243.605 190.58]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_af0214aee8884dc52be4e061d6b4df94) >>
->> endobj
-7857 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.226 179.677 323.607 190.58]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-7858 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 167.721 186.179 178.625]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7859 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.478 167.721 326.746 178.625]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7860 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.876 167.721 430.433 178.625]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-7861 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.92 116.912 243.605 127.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_2560fe5ce16277c4b4db17e951047028) >>
->> endobj
-7862 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.226 116.912 323.607 127.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-7863 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 104.957 186.179 115.861]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7864 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.456 104.957 330.724 115.861]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7865 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.075 104.957 437.631 115.861]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-7871 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7875 0 obj <<
-/D [7873 0 R /XYZ 90 757.935 null]
->> endobj
-7876 0 obj <<
-/D [7873 0 R /XYZ 90 716.221 null]
->> endobj
-7877 0 obj <<
-/D [7873 0 R /XYZ 90 716.221 null]
->> endobj
-7878 0 obj <<
-/D [7873 0 R /XYZ 90 677.486 null]
->> endobj
-7879 0 obj <<
-/D [7873 0 R /XYZ 90 638.632 null]
->> endobj
-7880 0 obj <<
-/D [7873 0 R /XYZ 90 557.75 null]
->> endobj
-7881 0 obj <<
-/D [7873 0 R /XYZ 90 476.988 null]
->> endobj
-7872 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F35 2018 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7904 0 obj <<
-/Length 2793      
-/Filter /FlateDecode
->>
-stream
-x��ZY��6~�_�'�T�08H�
om��N\�c���>�)G�H\�2IY���m
<Q�d��C�H��Fw���C³�
�^_}{wu�=g�������,�3�	�)��mf�� &K�1��]<��4Z�]P<ϓǝܔ������Ǜ�7�:��Y��nwQ!���p�=!=����s�k�7$	F�k�
<BD����
��ITU�%�10
�\�E�Ҭ���\�`.�5,���s���y���է+l�h��	�x�^���6���
#���Jg
epMf�W������6��� ��l����
a�[�����
-^לּr�N⍌2󸉫:Ғ��{Y�̬A��>E��|1$!�4Q�qrA<li

L|��M�6�)+\��މ-)f�
)�0��f�R�E%P(0Q_��a�_�
�
��y^0�'���u����Y���ipus��
Lj�x�@ L��G�J�Ac��з�~���Xy]������������<Y���i׏���W���6����>>�q�r'�UT���_��
�ah�a�b��dž�
E��.z���j>���}�e�i7Z�͓x� ~�I���Y�S
n��\x���V�<��SZ/��  C�;�����'�p��`R9��Z��}��7��{M��0�O�9M:9��Jk�g�
��1M��.�g�8ۮ^��ا
����	0#DZ� A
�ד��$�a$>ܞ�O6���Pn@�
-�"��d��DP{�����9C�'b�&E�����L?	�O�u�y �d�E '���������N��3h�b�6e�?��=ؙ�vF��;C��!�#�Rs
-ٕ�����u��ݳ:-����q(h��%�A���s
�7��i�fӇ�;�q&}�Y����_��I��!
�
���/
-���g�(Ǜ�a̫�ts]��B�����
-jMW~QG~2	xD��S�V��h��6]�x( <iB�Щ�Ң@H��F��)������%���%,�x�a	{[�u
%� C�q�Q��V�����T�\#�
DyjC�!�8�Σ��*�S�Uq��T����4@;Yʬ�bi#�g|q5*`.h�&�qsH�	Ӓp�j҃o5*C��^�:��1��JV�2.j�L�.V9
1�p
H6�+`���	$:�s"ـ���.
������c�GB�|���o��T�?>��
�t�8��?��,o�4��5�BTR�!v��n���
�m{P�����IP

�K_ޏe'�d&�&�'I����`E~�K+{��|P�U���!��b)�R�D+��S��?�k�PUu�k����#�aKؠˠR	a��u^� "8�6^���pP߭����z�N� 
-�Z���U�[��żh��r�
��H! ^W)gВX��/�CT������˜7���01FVbT���j 0
�Ɖ[�@��S];��C��f�V��>���&{С�����h�Z��y����\�Uֵ���"҅"ܪ�T���#���Ue��
-A/˶�_+낍��!�w����敽��vgo�x#+m����������Q떙��]�<,�m��7T�`�`YB

���Z�fL~�Lϵ�(7�\��
��(�j��6W�+�p�
-� *��(��jb�m�!xC�m�TG^h���P}pF>#�
�7N ����]{�l�_CD� WB(zD0�\*B��5�]�K�9�C+
T�v%4-�G/ arp@���ek�t
-!��x>�
��Z�ı�� 5ۋc
�h
3�r)��g�`����G-��4��2&N���g��?G�Rjhor_f&C^;;����~P�&�N )4�Ht��Jۨ���,�s���A��9@�6[��62A+�\cx��MXh�����/t]��
��T�f���~K���0d �j�ۣ}n�G�56���cJ��n�ƌ��cn+�>��
j�}�Ԗi�1����unV��(�/�m~T��� BS�9g�6܃
���|+3��+�N���ӲQ�&��
*�V��NV��H/���
^����3`�y�uS_�Ņ�M崑���\'�KPRv���#�T]5ƃ��`T�)��*��A&�&�
��qhxZ����v���Q�`b.
;r�|�E�<U��E�ƭ�ܠ�I�e�SB�7�זz�����N�z�S�'sk<�/
!�'���
��
-� p�
��e0�I��a"Λ�ȲM�
-���dK"O
���D�h7msi�+k�J%�̶�Q�]Vk_��r��*�$ڢ�.��
�t�Y���U�4!���N�D
�D�Xq�͊��c�ғ�نr��XMD�H�o7$Y��cf[�:������ �l�!n���5Rk�M��O\�H��i���D��l`�#��KWbU&�)5����8�=_���3g��ӜJx�kc.-~]����U
�Ω.��t���mϬ6I{
�s�A�e&De���)����/��H��34���2��(�����-�ȒT1�ڨ�/*שׁX��^m>�i4�(�MT���],!�@�M7��T��Nϖ^���|���|8m�z��/�<�
�H>
���Õ��S�E�qƾ(�u��P��2�VB�Bx������5��}�^�������eG�UK
o��^����*�,HG���NO����h��'�8BMC�i%q
�J�	G-j[A��N�}\8��p;�;�A�t�����A��gPf�����y�}�U������ ������U��(�7z(K��K*� [...]
-endstream
-endobj
-7903 0 obj <<
-/Type /Page
-/Contents 7904 0 R
-/Resources 7902 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7766 0 R
-/Annots [ 7866 0 R 7867 0 R 7868 0 R 7869 0 R 7870 0 R 7889 0 R 7890 0 R 7891 0 R 7892 0 R 7893 0 R 7894 0 R 7895 0 R 7896 0 R 7906 0 R 7897 0 R 7898 0 R 7899 0 R 7900 0 R 7901 0 R ]
->> endobj
-7866 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.138 684.266 242.189 695.17]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_6f27f62cf5d65574cbb44025b1b3e585) >>
->> endobj
-7867 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.028 684.266 322.409 695.17]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-7868 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 672.311 186.179 683.215]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7869 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.478 672.311 326.746 683.215]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7870 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.876 672.311 430.433 683.215]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-7889 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.138 621.94 242.189 632.844]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_715054228bad30a232707ed0357cdd98) >>
->> endobj
-7890 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.028 621.94 322.409 632.844]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-7891 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 609.985 186.179 620.889]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7892 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.456 609.985 330.724 620.889]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7893 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.075 609.985 437.631 620.889]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-7894 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.084 547.658 163.45 558.562]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_62d44847fe22abb82cbac84a776a9c72) >>
->> endobj
-7895 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.434 547.658 357.784 558.562]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7896 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.021 547.658 513.996 558.562]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7906 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 535.703 221.595 546.607]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7897 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 497.287 179.554 508.191]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-7898 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 497.287 243.314 508.191]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_09eda1d1953d8f83e4352c6fe78cbded) >>
->> endobj
-7899 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.651 497.287 336.294 508.191]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-7900 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [110.861 167.604 170.418 178.508]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-7901 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7905 0 obj <<
-/D [7903 0 R /XYZ 90 757.935 null]
->> endobj
-7907 0 obj <<
-/D [7903 0 R /XYZ 90 483.911 null]
->> endobj
-7908 0 obj <<
-/D [7903 0 R /XYZ 90 435.347 null]
->> endobj
-7902 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F65 376 0 R /F50 339 0 R /F35 2018 0 R /F98 2120 0 R /F38 342 0 R /F10 473 0 R /F8 504 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7919 0 obj <<
-/Length 2768      
-/Filter /FlateDecode
->>
-stream
-x��Z[w�6~���Ӯ��`\��휶Iz��n��ۗ�LJ�(��D�$[��; .$(X���ټX48���|��#<�������7!	$B��#�GQH�dt5}
�X4�������qR�������jw�ͫ�����J��ӧ��&Y�E����I6�䷫�.��SO�@a��V�s%�̀`D#p��!a��<��URד)��	:�֛U�dj�C�Ȫ	��Y�����R��뫳?���#Һ�G(�����ox4��F1�n[��(�
~W�˳��ᾋ9
��2�C�f�*�d�</�0��Zȹ�qs���u�ܔ�s�
ok+�(��,�J���W�Ɨ�V-L�K�D^�ߢlԭr���d�ک�z�ٔU���ݙ
���k0'�+�B�K��W+��,�J]��j��з'����

�z�4�Y�]5�:����	s�)�:��S�r	�T�
n5���*���ӛMUށ�4��#L�y�
Wr�(95�k=�пZ�&�r�Cp�(��&u��l�U��'�
��D
�Q�D�b)�
�*�)��a��h���
-�G�3{�8#}U�̼�z����	��z��}�@
��'�&$���YQ<��'��R�P��V���Y
6�۔d�{���(���N����'L�R�bn��)��qP at m&}q
B�<�b# ��K�+H�H`�$��c	b)��$�:���z��M��I�rl���>[�C>�@��+YDy�i3�R�@9���bB�
��Y��j�ަ7�M�
�2�x����ł�վP�þ
�%vQPxX�������ڋ��bF���
�9�-����T� LFn���jP�8n��j�����VpU�`D׿�-�0�k?�Q%
-��Y)�E��z�2'��">�R3�?��>�O��UI%��N{��~��F��t Fg��j��T(���sQ��h?��������	��R�'oH���(G!��1bd4i�~&(��d�����
Z����q<�(

����ԅ�;�6u.Ӏ�ޔr�� Z.԰}6�)��(��U�$-u]n�Y��U��P 
��v����Kl�N�_�`X�E
�*s]R�kMw`ai^��j� y߭���3C�5�
-���͐qi
-զP��|��MO���9(K���x?���
K�ǒ�i���^r fd���[�����v��AJ�z(
-l:�y�y
�R��y�/L��@!ނD6�v|~�
�t���l���ߔbXSD��z>�rGn���8⦨s��v���=r7��G���G$q(���ƛV�����m17^6�z�kw
�ц�n�=�IDP
���r�㷽%Q�pBƉ��3$(�m�۞N�f�#
-|�謅������1g4qp�~XR'�|���/��'��ZV!ӎ���ل�0�?���i{�Y
�;�B?�9F$;�7�
7g:��ٻ�
�A<�����2�g(uX��'B���Xv/b)gB���6��#�ӄf���6}aVHۣ*IJ{�Ң�減D�$~��E�?JL�2ɝ��$�y�~�,�v���������iz��e����
�)u��;I�����:P�c7�p%[c�a� ��ʵ�
�KՇ�F?s�I
��"���"y}?/=��h�L�.�1�x�uǾ4!�]
�T}(1݁1�b�t��������N������C��?�4)]C���ܐ*͕�Ef�:�eQV6R�c ���p�h[�l
�z9�[	=f �r�R]��&@�
�j [...]
|�_�,���)2��� ��	��*XԢ��q��+FQ{�#�g=��l&�
�o�d1��y���K#YAݔ�m�ܫ�)���4z����IQ
���7BD�P�B�﯅A�
�=)����Ñ
��_���\묷�;Cx�$I��<��(�5M����6"�<�}JkY#�d�wJ��
���Ò���!vX��v�Xڝb��)��>���5���2mդ�}px4Gdm
��y[X�����޻��U�c/)��:�/T=gW����UA
=�zp��
����S`�[~
-l�S`�O���M�3�x<���І��ހt��7<X
W&�4�..Ԡ�����"Q�,;�3zB��]���
�����+�g
���2�[r0�7��M �z߮ ��^Q��MÖ��~^e��2m��j5�
�s�@8jъ��~{�c�
���yG+)q��Su�����K$ K���/:�������8>�
-צo�� �&�Uyy�#��Ƙ���K��uw &\r
=M��P�]_�gj�a(*8�P
���m&�G��
-�#[fEVD�_����qgK��E�t)�|��3t�ݩ�o���1J\?��﷿��p�ڣ2�����lN|
'}��y��
��E�fv�Y�i���+�\�P�e�����P�E��U���� kv.�5�ϖ�z����JLSRoS��#����
-c$H���̇]
��^΃g/W%cP�k�P��#Q��
dٿO8k��+)��W��8Ȟ�A��U�I��,ӋT+�<2W?+>�;��*�g7M�yzqq{{� �Îl*�7���b�]��Cy�Jf��ee;	�9T��U���|(��
-endstream
-endobj
-7918 0 obj <<
-/Type /Page
-/Contents 7919 0 R
-/Resources 7917 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7766 0 R
-/Annots [ 7913 0 R 7914 0 R 7915 0 R 7916 0 R ]
->> endobj
-7913 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.857 641.63 313.363 652.534]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-7914 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.725 600.095 193.232 610.999]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-7915 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.433 517.562 336.939 528.466]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-7916 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7920 0 obj <<
-/D [7918 0 R /XYZ 90 757.935 null]
->> endobj
-7921 0 obj <<
-/D [7918 0 R /XYZ 90 171.722 null]
->> endobj
-7532 0 obj <<
-/D [7918 0 R /XYZ 90 148.481 null]
->> endobj
-7922 0 obj <<
-/D [7918 0 R /XYZ 90 148.481 null]
->> endobj
-7917 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F23 340 0 R /F10 473 0 R /F8 504 0 R /F72 471 0 R /F65 376 0 R /F7 505 0 R /F31 472 0 R /F95 1788 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7927 0 obj <<
-/Length 1789      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�H~���iז�x�
ً�Fm��v�m\i����=�Qm������08�8i�݇>a�p�;��3`g�`����d0~!��#_R�L.
;�$HP�L����ļ�K0����� ]����x�]�yL_�i�n��Nfy���`5=[�
}��� �!�RI����_�%-#ʫ�>"LT
~�K��*Ȳ�Ka>
�u�
-r]>y�/u:"j��<b>C���9x>|
�
R�Exȃ�g���G����+#�+�X�v8ep]9g��ؚ�jj�#���Q���%Zk�`�s�fG�}I��hj���}Dž+�m��y��Q�Q֒2~!p�mO ����,�a@�X��
_�׆���z�ˈ����}1K���
컊�0Z�rr��
��n���a�J���hާe�
-V�t��Y�c�-쫥���= �(
QaUH3�4�_ѓo+��uX�y\^/��
�$�p���u9����`�ۊdCQ�py�7�@q�<֗G�ܯ��DGU X(ՙV��<E��
-
+<Z�x6 >h�T��=�p�%�P@��
y;��En�s�G���3��܂�Ё#��^F㈳>C��^J3"�M~*W�i `Ԗ��a���xbA��q
���|;-��C0�r �g�
{jQs�ov�h{�e���(W>������������1y�!X1$����H�l��vf<�U���C��@+��!I-����0��-�w'&��n
�`5!�E.��Wk�,�c8�0P�,(
-�b䙗OBK�"�S=�؀Q��=b`ߒ�'���C���R����Ӄ
t��C���5o�wc����«.���M�$��3(S��w7�]��I��T��t�)F�<�9��`?
z�;@}��^
k���1���Wl;���,���CF�mV9�ܠ�qz�q�<���

X����1p����*��y'��>[Iڦ�gЌ�-�aE�N���'�
��%We���[I������Q�v���ve{�Q ߫�U��K|���C��G��=�.�[����a�O϶��|�EK�괜e]�3�zH�pP�1�	�z2-j�
�i�ޛ*����T5�m�u�������J�4���ȣ��0�LHa����
t�0���
�wc-����=1�"	A�R�����
���ˬ���sZ��ӑ�8�]f~�1Λ.;�ܗ-'K���1/o�T��8�����ta
޾
8��U��ب�ۮ��Z,oL��
�G�2�,�El($�׮���ؒ�:�V#��RN
�y�o��큸7~L>��
&e	MU��ϯg:1E�~.�w�e���(�F
	V�|����D�
>�w�%il
ze� ������0�?g�⻴˃4�� :�U�0ҟ7�Z
���z̢�kWC�>��Ǯ��tcN(ﮆf{Y�d��*�-:{�r�9R�?�
�IcM��p�_�E�_�$�ǬO�ی 
����Av�
-� Z���͕6��q}u���z����v�i�E7����?ᔗ:�i���
6�N������$�"�{��zQY��������w��&i}��'���-&�����J����TU5/?�4�'6
����6�4��Ղۋm��K$1��.�������t�tj�4�n;�쮐�=3.�;���
-�2u�w��;
�%�����<����NMk���VLP�Z:(o�e:��
ۘ|DӬW�W}V��
F�#e��<|��U���S��sP�q��&Κ;�y�
��WWWh��M&)
-�q���7kFC
-��;���t��TW%
�'=7��/���4
-endstream
-endobj
-7926 0 obj <<
-/Type /Page
-/Contents 7927 0 R
-/Resources 7925 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7766 0 R
-/Annots [ 7923 0 R 7924 0 R ]
->> endobj
-7923 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.997 375.253 408.311 404.319]
-/Subtype /Link
-/A << /S /GoTo /D (main_Octagonal_Shapes) >>
->> endobj
-7924 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7928 0 obj <<
-/D [7926 0 R /XYZ 90 757.935 null]
->> endobj
-7533 0 obj <<
-/D [7926 0 R /XYZ 90 681.007 null]
->> endobj
-7929 0 obj <<
-/D [7926 0 R /XYZ 90 666.559 null]
->> endobj
-7534 0 obj <<
-/D [7926 0 R /XYZ 240.245 591.933 null]
->> endobj
-7930 0 obj <<
-/D [7926 0 R /XYZ 90 575.328 null]
->> endobj
-7535 0 obj <<
-/D [7926 0 R /XYZ 240.245 500.702 null]
->> endobj
-7931 0 obj <<
-/D [7926 0 R /XYZ 90 484.097 null]
->> endobj
-7536 0 obj <<
-/D [7926 0 R /XYZ 90 310.091 null]
->> endobj
-7932 0 obj <<
-/D [7926 0 R /XYZ 90 295.644 null]
->> endobj
-7537 0 obj <<
-/D [7926 0 R /XYZ 90 178.516 null]
->> endobj
-7933 0 obj <<
-/D [7926 0 R /XYZ 90 164.068 null]
->> endobj
-7925 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7937 0 obj <<
-/Length 1823      
-/Filter /FlateDecode
->>
-stream
-x��Y�۸��B��d ��!R�
ФI���u]��$Xhm�-�,��|���w����z�C�;��$��
����q�	p�f�b9�x-X��T��@� qJ��:��X<_�q�aNp�T�����
�z]%�?�7UR=\^�_5ɦȓ��j��z�y���kB�)UH��[�r$#
F4j	�<"��ϟ��2K�z��
3EC�+������VWs"C���)�C�#�s�j9��� 
k
��v���q����������e�̂��O3�M�5�T�(��@DDN�W�+]6i�חV�C.��T��`A�sǢn֗�i>�p�k������w:oF
/^s<�)G�vF�VŜ��.wVJoݳ�z��u�wn]����*i��;�ϼh�
�<��	��?�&
�{�E�75�p��c�"��p9QDQ�M���Б����>�q�Z���y��[�09��B�$���2��ζ_!����Jy�c�Sz/""�������)�
뷠1?a�W�ƥ1	�W3�U��;�~
�ql����|6�ȓ<�/8'��������ڥ�1k#�E�ݪ�`BD$`ٕ�?{�3�.r�����_����W�z��y���8��h0�`	>�j(���<Ks
������U�|vߏ�ÇpE�kNj}��}.%>u�_��mU�����
�F"�p_D[���{�=��WP��i��f|�����<�f�	a�$i��)50���
	�EǾ6���lSTi��y�w֭ۢP
s�C�l]hOhK�Y8���k���3�"���ԫ�ƴ%�y�r4���d;
�ѭ8ԕX��]0�·���B��Ǣ|�TPDU�ki=�
��σ�01
��3X�X)�Vn��Ÿf��G
#t�.�2m�쬕��d�,LOs16�{�0�d� `��� ���,�BB)'۝xX�N(���o��mޘV	�
-�`�Tc&�'UOa�•���?���$TB��5E>��&���o�G���/��)u!����W�
��GO�����L�xSY�S��
E|P
-@�u*HZ|8�1 ��@����i '���o������q�0����h���N|#]�;��c�]ڂ�bǀ�0ͷ��v�M��.��v�f�:�����zR�D-�-s9�杬�Uux�I��')+�����7�ĿN�U�_�zJ�xxm��kB���am��I�Ô�2F�����	z8IE?;��5nQi�u
�mLF-؋�z�6~���	,{xo5n+�hh������1�#(5=.���vݏ��1.��Ee�
KV\�k��v_���pg�ͼإP����<<�ba�#r>�_wV�t�i�׺���� ii
O
ɌS;$���1>��� �̛b����s�����A	������i�{�,�%��n�s��R9Mm�j��V3
-���L�|0q0�x�'%�
#~�Ǎ���$�{L�
�a�a�o�tmV�4�sSF煍!�@vc�
 ;!�Y��P��y�#�|C�S�Mp�
pr�MYV�'�E=sc�1�GCL�
�2�� ͩ�J�q��
�9l-�ó#u� �i˝��|(�>���9�z8����7�jvp~,����l
��x(�\�#0��
@[���l�L|u����5�n
�Bo����{��c�Ə�73�"9����HQ6
߸�o<�o|߸�o<�oh!����,�k�����a�ŀ;�Eb&�F
�Σ���`ng��o[|u[�n��ZW��9}��K�}j�~5� �]9�C��_<����px������/A����z�חHhtp$ۦ)//.���ЪF�<-+�6e�]
GӀ
��=��B�Y�v�f>�r8�?e�� �;�
-endstream
-endobj
-7936 0 obj <<
-/Type /Page
-/Contents 7937 0 R
-/Resources 7935 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7942 0 R
-/Annots [ 7934 0 R ]
->> endobj
-7934 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7938 0 obj <<
-/D [7936 0 R /XYZ 90 757.935 null]
->> endobj
-7538 0 obj <<
-/D [7936 0 R /XYZ 90 694.089 null]
->> endobj
-7939 0 obj <<
-/D [7936 0 R /XYZ 90 679.519 null]
->> endobj
-7590 0 obj <<
-/D [7936 0 R /XYZ 107.534 580.982 null]
->> endobj
-7940 0 obj <<
-/D [7936 0 R /XYZ 90 564.877 null]
->> endobj
-7591 0 obj <<
-/D [7936 0 R /XYZ 90 362.365 null]
->> endobj
-7941 0 obj <<
-/D [7936 0 R /XYZ 90 347.795 null]
->> endobj
-7592 0 obj <<
-/D [7936 0 R /XYZ 90 143.848 null]
->> endobj
-7935 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7946 0 obj <<
-/Length 1814      
-/Filter /FlateDecode
->>
-stream
-x��mo����W�S+5CR"Em���nq/��nr@ۅ��L��,�$����E�͡�x�\q���SÙ��3#�ػ����٫���[
xIN�wu�I�E� F�w��>��� �/���0'؏�M��0��/���Z����ˇ���I
�y�-/��V�?_}s����xJ%�<���6CF�h��rȐ��
��c.����
�0��W�m�����nT9'�Wy�0?�L˜����4# {�q
�P'�٧��[��o<�)��f��
i �̻��c�']L�9�QD��s����v!al8�>P2���a��x����͈!!��I	����n`�ȗ���K7��@<]�C��Oz� 4ԁ� �Kf�B�����K&b:z%�S&���X�E@��/�pR�Um._�>�3��tv�$T��d�i�,0#$�`���z�Ҝ�#�4_p����Mݧ�C���#L�xM�?��Š�.>�N�c����w��;b(
<ٙ���X^���7�����8 .x;
�8 [...]
-id��Z�i]����Y��6N��U�Qy���,n̈���L�1�.B��i�u΂	�ެ��m��ٖ*I�=-�ulN�$ۭT�7#���{+��HJp90�`:"`�Veu>z�3N�"��W ��0
O�V��H�}ItjnNw�Z���0�֩����������\�9��P�J�CچQ�zm�6"�B{���͝���6/�V���4�n
���f��u;t
�ϋMg���9'�ot�̟^W
�y8^�7�����'.��C��W���o��R�eQNy
�FQﵲ�S��5Y
�|c��)��96�9�䜃3G}h�d�o����
O3o��t�ۘ�8ˌ�fM
�e�Mq��v�0���ANh��L�1��MR`;�wjs
�[��owyR[���H���[6�i���CA�<�ق�d�
�ġ��s�H8��(B�+�E�i��z�
-�IsƳ�,X�0&�
����V�8�m���F�[�:d���g�Q�7��&�w���["i[�%�e�{��g��0�22.�U�+��%8@��l�˝r�0;��0Fw��E�=X@[�С�,D�To+
z@�
������a�<��$�����>��
���|@�4����9���2.m͛��ũ��R�$�ӓ����Q=8Ѥ��ta
��rw�i��d`�u��ȧ��H��A�G��QMG�/��.Ӥ�
��-�E��:��@
�6?�^�!j���
[~�n#���!�sm }&�S�o K�"}��N�/Hpʩ�

����{A���Z�s���b�}����L��U�V�
0��鴝�*�~,Ҽ^�4o��~��\��2�-s=�`ս��;�'h
��p����
���_��N
b��(i��u�-���aDk?��D'B"�#7��$z��=9��ӟ!(���s����ȗUf���' �"�p�8�n� ��'
-���{�7�1��˻�^;�~�OK��쵓�P9	�K�5<���id��n:�ђu�/\Zc��u������z��N��Jm
���]c���Տ'��9��.��F�jʂ_u#L^�v
_&grj!ղ�
�<��.��<��@�s��&c�އ�z�^��^�43�i���J��3�۬y����F��Z�*�n?
#M*��h� ��JY#�e��ڳog�o{}��J��`X��������%���Di}��fg�j ���O؛��m�v)�
nn<�� 
_�
-endstream
-endobj
-7945 0 obj <<
-/Type /Page
-/Contents 7946 0 R
-/Resources 7944 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7942 0 R
-/Annots [ 7943 0 R ]
->> endobj
-7943 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7947 0 obj <<
-/D [7945 0 R /XYZ 90 757.935 null]
->> endobj
-7948 0 obj <<
-/D [7945 0 R /XYZ 90 733.028 null]
->> endobj
-7949 0 obj <<
-/D [7945 0 R /XYZ 90 531.811 null]
->> endobj
-7593 0 obj <<
-/D [7945 0 R /XYZ 90 507.442 null]
->> endobj
-7950 0 obj <<
-/D [7945 0 R /XYZ 90 507.442 null]
->> endobj
-7594 0 obj <<
-/D [7945 0 R /XYZ 90 411.728 null]
->> endobj
-7951 0 obj <<
-/D [7945 0 R /XYZ 90 397.976 null]
->> endobj
-7595 0 obj <<
-/D [7945 0 R /XYZ 90 304.299 null]
->> endobj
-7952 0 obj <<
-/D [7945 0 R /XYZ 90 290.547 null]
->> endobj
-7596 0 obj <<
-/D [7945 0 R /XYZ 90 196.87 null]
->> endobj
-7953 0 obj <<
-/D [7945 0 R /XYZ 90 183.118 null]
->> endobj
-7642 0 obj <<
-/D [7945 0 R /XYZ 90 89.441 null]
->> endobj
-7944 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7957 0 obj <<
-/Length 1605      
-/Filter /FlateDecode
->>
-stream
-x��Ko�F���<�P����
$�M��4him�C%)+��,�����ZN� ��TV3�����,)
\8x9��|t�B�� #�
�/�%	����ݘ��dJ0�����a������Y|���<��
]�a~3���(ë,
���U������^�c�R��T༲�}=d���v��džA��v��Yx�E1�R����c��㰴�'o��'D�m����ab̰t6G��G����d
-)p�HF���`	��
-0bF�jTp��o
�
�6�%�
a)v$F
�F�
���5�z#7��fm�0��q��Zœ(&Ť��N�6��gY:c!�(Kk�����L	�$.2�Q��ʑS���3o6�+���|���h��/��(�[P�*���
���H�.�ŕǹA
w#���՞��&�D��]��Qj���V8g 3���/���&O��Q����f���,^F�U}sa˭�i��P����c�	�#��1�**<�B�y_�a�܋o�k}ہ��^�V����d;U�]�{�R�����a.�<����J���˽�a�5R؀��[�(��l����a
-�a~�IlZ�E3�d:��Wy6�b�MkU�KOR8EL�#rB
���v�DZ���s��n��y��eS/@�i�.�d
�w[�YS
-jJ�픓�� ��s��K{jx�������2��ӥ��ه�A��
�#�K@�U����PJb_�u�O����tS2��&i�)
�Mb>nޛ!��<���ԏ���H���r�P��
5��P)�� C%R}q^dY\[;�i�#!Ng��7�R"e:hc� d��<�Zd84��(a
��?

G�v�^��/b��~
-(
�IC1���0C\w[J	m۽�dk�X�4����z�2yK���x��EŎN{�x�|t��1#N�
:�
z�>#|���@J�~JҬ�	��O��|k���m
���I���#F@�ǽ�_)�1)z�m�e1����,����ҵ��z{ΟaՇ����uݣ}e��O
-��k����g�QI�]}T�ε���n/�!�"���2�2ϒƳK�pImҼ@&��A�#Y�ɕ�/�G%�;�S�Ɨ�?���&�����|�����
W ޞ���8�>��_c�;��/��U�
E�ᮤ�T�=��@\ֶ��+y?q�|z
���W�F��
�
������'��էB/�ʃ�
x?)z��C�D���B����AZ�_ާ�JX�H��d��{f/�(�"rk�NʽU�*�ج���e��SyX�=0a�<TUQ=Wg��j�
�b��L��M�{6�bO�9i@
9�ݛ�s����i�rnob��{����&w�}t*���i0�EQ����
�Ky�G�y�
��G�
'�
�n�=��3<�T
-��I�ۯ<F��
-)�QZ�ޮ�Ū�VM�s��-�",���X
�uZ�]��+�7�Q�{(��7�]w���AH
��cQ��fj+�K��a���J�(^;q
��ۖ�m�XA�������!�M࿄�&�����S�����[n�!'%
����d=�����Q��>^�ao����\��ζ�-Zh�F�
E��z
���v����<��
�$˻�.|�T��n��/��~
-endstream
-endobj
-7956 0 obj <<
-/Type /Page
-/Contents 7957 0 R
-/Resources 7955 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7942 0 R
-/Annots [ 7954 0 R ]
->> endobj
-7954 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7958 0 obj <<
-/D [7956 0 R /XYZ 90 757.935 null]
->> endobj
-7959 0 obj <<
-/D [7956 0 R /XYZ 90 733.028 null]
->> endobj
-7643 0 obj <<
-/D [7956 0 R /XYZ 90 636.968 null]
->> endobj
-7960 0 obj <<
-/D [7956 0 R /XYZ 90 622.506 null]
->> endobj
-7644 0 obj <<
-/D [7956 0 R /XYZ 90 520.941 null]
->> endobj
-7961 0 obj <<
-/D [7956 0 R /XYZ 90 506.479 null]
->> endobj
-7645 0 obj <<
-/D [7956 0 R /XYZ 90 404.914 null]
->> endobj
-7962 0 obj <<
-/D [7956 0 R /XYZ 90 390.452 null]
->> endobj
-7646 0 obj <<
-/D [7956 0 R /XYZ 90 288.887 null]
->> endobj
-7963 0 obj <<
-/D [7956 0 R /XYZ 90 274.426 null]
->> endobj
-7647 0 obj <<
-/D [7956 0 R /XYZ 90 172.861 null]
->> endobj
-7964 0 obj <<
-/D [7956 0 R /XYZ 90 158.399 null]
->> endobj
-7955 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7968 0 obj <<
-/Length 1931      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�6~ϯ�Sk5ë(f�}�b�h;Eg;)�av(6
kW�\In&��{(RWS�3�,�@^&�L�sx���1

|��۫�!
R!
��u�p C�%��*�8#19_������Y\l��s�gy��ѫ"�{��q�ts�˲��,N�>l❞����-!=�*���ҿ�[�(o6�zd(D�h6�����Ҹ,�
*0St���4��}�^�bN���)&f
K#������W���nIP��^}�����1���(x�wmN�M�W����x�ՑB�@���[k��㭮tQ�Ԇ�%]�U��I���łZ1��|�����00�k��q�H�LDž]�93��2�3�����{�N�ɟze�����j�֑���(	�Q�O���_�D
��4{�MR�=��v�_Fg
��X��G �]V���]v�A
-Eر���Vq�;�kw��s�[��~k���S1�ӽ>a��e
��[�����V:˷I����}u�A��[� �H�6�U�׾(���6���6�\B�Y�dW��$����GS�Fc��Y�P�$4��B��qo>/���RxfU�+!\T���M��9���..
 ���X�x�v�.rs�Ǭu��|(b��Np����b
Q$�%ju��h�5����H�e���Ur��Ȁ�F�`��HD�~����L��"����]Q��b��yQ=�%��G� u��F4����
-�����tQ�v]�[���sӄ�0��o<�	1�͎5�����t&c텮�Ef��.
-B󭝵m��4˨���P���ŬN��7h�q�L7"PX�A;��
�.�m�z���>���p
� �����QD��W#"�!U
�8�*0�����`
-�fO������"�܋}B������hCv�穕v�Ɛ���'��N���W��'�����"�:x	͸���j�r�Ɣ��s��������Y����j���
I��
)��\����eb��I�)�y4P�K$����_C�;:
uV�m�)^�tPN^�a$�6�����*��'�B��Y6��C���'
|��-
�O�0���������c�p���" ���fVC������c������FuS����6fa��Y%��&�B���
�}+J�Ҏ
L���,;�!!��
(�Qҍ4xp#���4��;�Ch��>��G��̪~�$ˍ+��B��aWZƥ>@��kl���$ss�q�
��u��,�V�&����S��6���h��b���:��}���W�������%E
-����2DX���6�TS
qe�6V/�Z�ʺ
��c�������+1Tۃ��9�n�,Mh�g�4/���s�~�ͱ���Q)v��@GR��Q� xD &�x
��0�|e��,߰>q	+�`�@r9 DT���\��}�k�e�xȼ�xȬNS|���$�'(
-�����&(>���x�<I��ü4c�Ym@�!^�p��
i��}I �g\�K1�$�����K�$k.	
\P5yI���%C\��^�Pxc
-?�A����6[�/	 ��<��7�A�5x/	��w��i�Y1e: 5"L����
*_�{��+�O��Kr��T
�L��q��@P2A�I�/3P�f8 TO�
��4/{���PG;�h;���:���<FS�]"
�!�&�ƒqg�
񠇸'�)�)��@���3FJ����
�3���`Φ�襘�ԙ�`��	�Mr�E����Tz���*x�<5�_@����Z����פ'�3G� /F�GG9Ɵ���x���a)��;��wp��l���|����
8r�
:��"ه�J]|=b�N�s���Ԯ
(�x��*@8Lj3��tx�AkwH{���'��^��mqn�jws}�����%�gɮ@Iu�ۥׇiٓB8� ��I�m^�A����:����8C��
-endstream
-endobj
-7967 0 obj <<
-/Type /Page
-/Contents 7968 0 R
-/Resources 7966 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7942 0 R
-/Annots [ 7965 0 R ]
->> endobj
-7965 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7969 0 obj <<
-/D [7967 0 R /XYZ 90 757.935 null]
->> endobj
-7648 0 obj <<
-/D [7967 0 R /XYZ 211.842 575.144 null]
->> endobj
-7970 0 obj <<
-/D [7967 0 R /XYZ 90 560.42 null]
->> endobj
-7649 0 obj <<
-/D [7967 0 R /XYZ 192.853 284.896 null]
->> endobj
-7971 0 obj <<
-/D [7967 0 R /XYZ 90 268.792 null]
->> endobj
-7966 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7975 0 obj <<
-/Length 2138      
-/Filter /FlateDecode
->>
-stream
-x��Zێ��}���S"QO�/�`�İ�l��z�<8ƀCQ#&�%)�N�>�l��5��݇<��ZU}�:�TQx���oo�ts�N��AFR���.
^(I��dq�Y|\��Z�	�x�~E�2�������,y�E�<x�>~̃���
��4H
>�C��t���;Bz�)5HJ�+�pC3 Q�
���0�0�
�f�›$(�՚
-
�
]F�C��{�c�����(
�3L,��������n��
Rm�PH��p��^l��w
��ы�j�~�)��d���o7��b<��� ��BQ���n�o�CgiqWMbl�����j��Y�	<™(���]��8^~�x��O�}�������@����˳����R��7��S�d���C��
���8&͠ ݸ1tpXi��?1f>g���N���ygy}ě�^����4������Y�5eI��¢�?o}�Ľ垙%���B��^�f�۠,_�e�{,
�0��mkZ�M�Y�.
�c��6�f�g��q���^I����7!
-���6H���1$	{ϣ򘧍�6���k�-N��oui��Q��J at -�7����Bk�5��W�˫}�����c�sĺ
j#/����:�ev
,�������B���.b�t5��
n��!�l�9H��
̗C�{����
��#"�Y�H�v��,q֮�
	)�2���ok��`����ۚ�����X.`�\���f5���4
-�6�,gV���8�CpV
qAN�v���$]\��1�7Y���alq{҃�D�=�3�@)"\�x��MzP��z ���ȃ�������LΙα�
��_����6J�<(1�,�l��
�'�����g�
�)60`�.`>�iA��
-k�!���S�z�?VxX�
3dT�q�1�s\���vڢXu��ɋ��}
&@hh~
��O�p>+��5�5S;�Q%�v��hI��8�
�$�����
-aI���pT��e�X��L�wq�s�i�H�
#<
��
�]}�6m�W���B��X��^��C�5�<�<�1��V�U�,� �Z(ǵ��ʬp:�5�4���H� ��le�� �2�/W��i�dt��)�
-GByO�6\!���VD,�L��d��
�������_QX�c=Ael��k�
�v��G�
b'�>���`�ZZ���#���
�P
�P4�^�3St��
�>&gN�Lp�
���Xy̰�?�(C���8�˭x;J��]iuv)q�� ����f��Y�"�
-:����u��j��]d厔M��@P9�0��Ma�� �I⾰�eUx��*{羬��>��k?�$+�yt���1
-�/���`'`g
�eQ�5ǐU#�?Z�,I���

�ť=�ReO��K{r���*U������ϔ���Sט�@�k���%����ҞC1cf�ךfcӕ�"}UDZUD�h����d��'=����
-{2)�$FD]���ӳ��efZ�;]̓n�R1C�+
6��<ր����� �;�n
�Qk�_�s��k
��ր�m
t.?[���g�J��g�����桪
�U�&��}3�������6�޲�S>(K}�9�)���`�ԥh�j��fS
*�0;��y���r} ‘�ㅜ$@�{��⥀��X4�rp�O>��2[v)v5~��)d��"�+�:�y=�1?Q��
�5�s�հ����
-ƕ����q� `��������
�\��K8���_q�5�/V?+�
-Mf]UMx�du�S�v��Q��.���A�T$��p��)�_F�Ç:)�=l����A��i�G�%��Z�,k3����^�2�}]�7,<3А��������������FV��k8��Y�>
���w5�/�Z�jF�a����BZ�9H'
yO';V�Y�^Ia ���u3Ux��(�(v�ּ�^�NT-
-a��@v�}\ݢ�4gQ%&8��
_�
¢��(���}��u�a��W�}�ׂ��ܫ	���3ٵ�>���p��ҿ�T�]��(������4yo�֖~�ۆ�mMB���E��v%IJ^�_��$
��� ���7�Q��Ⱦ���QT/ҭ�ߋ��/��͗h��.�vey���}~~Fa��i|�Q\�
��i����w=�m���gy������x���ڻ �
-endstream
-endobj
-7974 0 obj <<
-/Type /Page
-/Contents 7975 0 R
-/Resources 7973 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7942 0 R
-/Annots [ 7972 0 R ]
->> endobj
-7972 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7976 0 obj <<
-/D [7974 0 R /XYZ 90 757.935 null]
->> endobj
-7650 0 obj <<
-/D [7974 0 R /XYZ 211.842 671.203 null]
->> endobj
-7977 0 obj <<
-/D [7974 0 R /XYZ 90 657.295 null]
->> endobj
-7694 0 obj <<
-/D [7974 0 R /XYZ 192.853 404.696 null]
->> endobj
-7978 0 obj <<
-/D [7974 0 R /XYZ 90 389.409 null]
->> endobj
-7695 0 obj <<
-/D [7974 0 R /XYZ 90 245.991 null]
->> endobj
-7979 0 obj <<
-/D [7974 0 R /XYZ 90 232.237 null]
->> endobj
-7696 0 obj <<
-/D [7974 0 R /XYZ 90 89.441 null]
->> endobj
-7973 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7983 0 obj <<
-/Length 1559      
-/Filter /FlateDecode
->>
-stream
-x��Y[��F~��ੵ�zv��XU�6J*�����CY��zQ18�w��3\
�{7N�yY/0��w��f����Ώ�棫W�9iI�3�s4v�$HP��}����dJ0���	�c����zB�8���������mj��l����2�M���7�`�n���!-�j$���o�%

F��
�=24"L�
�;%�Ed�l2��0M��j
�<(���鄸� ���L��V���|�~D@
vH����j��
v|�����i�y,V�
N�F����

1eK�
-1b��*�ym�ﮆ�|(|`$���|�b��\,{�)9"ZFS �v�~�HB��xD0�]9���}^L9��	�L!�Z���t�3��_� �^�
/��<5a�W��
�bwsq�� =壯J�Z��c��^�c���ޙ �I��-�p)��
�(��w�B�۞S�e<WH�����������caܣWs��d��w4�8�-ɓ==Y+@����L;i�1��
9��nM~�Y�һ5�(��R1�#E�
#�
-7��n� �f
��Nډ��Ip�
���0B�O�i:
g
��j-�7�w�z�]$�G��A��OC�҈KzY�:_�m��4�&D��:
�*�
���jU/���u
��O�(�����l�q<~0Q�/L�ܬ��@��@�6yN�	��|R��B�)�.�6�$��6���i��=��T�I��v?�3�4��d�6yx�؇b��}��B���Ǖ5
4�s at VVj4�ܜ�7!��2��ݶߩ���л�`Y�3N�g	�ae���Y�Y��4�K�v����ܔ�~��������=��8����� �#�D�E0B�Il-���٬
-L�k���|♸��zie���(���Dfp�
�6�R�m</Ȳ�MT)HKk�i]t�z��&�^�	����a�|b�/M\��6�E��r4wA�<?��'�qo� �"�H
��ۥ^�L�%NQ/�N�䓨T�2ݔ�&[�8)/_�=�#\D�nE4�]�h�у���H����o3vfG��;:�;+M?g�oB;d
�����
-O@�@���v[B�vϣZ at T%��Zd�i-{)G�A�������π]
T�Ҍ�F�l�At�`��
�^�
-v�M3
-���)���%q;��J=�:��X�=s�'u�]�J/!�
-�����.H����D�_Fԧ
Qىu�� Fn��.�N�}�9���{: ��9
��m�3����@�
-W
D�[�v��?�{�����6@��$+{�ĒH[k>�%ؑ����q�B����b�o/�(A��(����R�� j�Iښ��Ui���)l�d������%~�L�_fڧ�i�'އ�)SͶy�/4��ہ	���_��j�]��[D����Ȝ+vՉ�M��g�x���.���m��&	�X2���$Ԕ|/;�V�mw�e���˪��gA��D�q�_L���~uKy�� ^�i�����Pk�A� ��,=�˩��iT����0?����<_Ϯ�
���M
�S�W�utuɖ�aW
���ְU�ub���Xrt� Ѿ�C
-endstream
-endobj
-7982 0 obj <<
-/Type /Page
-/Contents 7983 0 R
-/Resources 7981 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7942 0 R
-/Annots [ 7980 0 R ]
->> endobj
-7980 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7984 0 obj <<
-/D [7982 0 R /XYZ 90 757.935 null]
->> endobj
-7985 0 obj <<
-/D [7982 0 R /XYZ 90 733.028 null]
->> endobj
-7697 0 obj <<
-/D [7982 0 R /XYZ 90 528.165 null]
->> endobj
-7986 0 obj <<
-/D [7982 0 R /XYZ 90 513.847 null]
->> endobj
-7698 0 obj <<
-/D [7982 0 R /XYZ 90 359.634 null]
->> endobj
-7987 0 obj <<
-/D [7982 0 R /XYZ 90 345.316 null]
->> endobj
-7699 0 obj <<
-/D [7982 0 R /XYZ 90 191.103 null]
->> endobj
-7988 0 obj <<
-/D [7982 0 R /XYZ 90 176.785 null]
->> endobj
-7981 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7992 0 obj <<
-/Length 1488      
-/Filter /FlateDecode
->>
-stream
-x��YK��F��+�j��y?P�E�ܪi���T]$�5��Mls)���=c��\�	���
-<
��936��
�~��8�
�$�
2�Jo<�
��$HP⍧�{��T@0���>�~���ɻ>�~��-�iL~�� ۍFo�"��I���/�u��8~3�#��<�I�`���vJ�����q�
�����,�Zy�P����~�Z/�"�#D�(��GIC�0�3�K����ާ
3�#UZ�B
-W���7��7
F�ho[�Zy�2�]z���{إ�M�6c�)*��z���0Zq��ʉc+�;##�Ha�

	aM��t4��>��c���� �oVQR�
�>̩@�6I_di�
-�@J��M2=�s�ai�����ġ
ݘ-qn紖�
-q��3H�
v�B�zN8�C纱�E��i
���A���j
��2z7��Ӭk1��$׬��q�&E'�]2(�{�)�� 0�Tfγ�m����8\ؿ�k�$-�:a,�;{�o��4+���|p��™z{o��
-|AG�n�ހC�Ty0I��_}) m}"�$N棧ڥ��ƕ��iRy
��mVU;��bvN����*�Fv&w5 F�RI08Քd���?��Q��6K�bf׊�hk��f�̹W��j�a�#����D�j�;fQ]�i� ,��]4E
�5�6W�Au("B
0b�b��E�`�����\aހ�ح�$XA�5��T+9"F>ɵ)ՠ���.����M�!��z��+�'1q�ė��3Yi n�I4���b�"�
D?`��1{����wv�6g
-�لv�Ժ0X�t!� MD���e�D;`1�=��KR��y��&�?a���Ϭ
m��p 3D0=����F\�-�F3��#��w9tv{���cw�Q�)`����!,�-�!�d�i^e����+�R��� ���g
-�FXЃ
�p�=��3�@����]f���2����6^�)n�x���㷳i���Y��>U4�[��$W4��X ������\��Р������
-+���N�e�Z���o:�U�Pky�C��]:D����=U�-V�r!b�|���*Q
P���>���cM��?Ԣ��)���	S�t�l��7� �$�
��쩀#��ȡ��}�E�6@�Ů<��F���V�T�ȍT���M��cN
-D�x�>K���-�:s �W
-��$D����@�_8M�X�S�A��6y�?Q��$z� 	��>�lT���cq�

Nk~
���QW��̭��J��R-o�U�0�g�
-D?q^:Mr]�Za6y)/���:N�{]T�PM{��z�"5�S,���&X'��8��R���5�$���Ԑ
}��[ �"�QL��.%	~Ԑ����b��Z2��
{��}��w=�[�l�&+I��4x�oca��CII�����i#�۫��ҫ����h���˟EQ�G��v�Ea�6I��P\
�����@TcdV���Vi��WA��'���-�
-endstream
-endobj
-7991 0 obj <<
-/Type /Page
-/Contents 7992 0 R
-/Resources 7990 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7997 0 R
-/Annots [ 7989 0 R ]
->> endobj
-7989 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7993 0 obj <<
-/D [7991 0 R /XYZ 90 757.935 null]
->> endobj
-7700 0 obj <<
-/D [7991 0 R /XYZ 90 624.575 null]
->> endobj
-7994 0 obj <<
-/D [7991 0 R /XYZ 90 610.004 null]
->> endobj
-7701 0 obj <<
-/D [7991 0 R /XYZ 90 463.532 null]
->> endobj
-7995 0 obj <<
-/D [7991 0 R /XYZ 90 448.962 null]
->> endobj
-7702 0 obj <<
-/D [7991 0 R /XYZ 90 302.49 null]
->> endobj
-7996 0 obj <<
-/D [7991 0 R /XYZ 90 287.919 null]
->> endobj
-7703 0 obj <<
-/D [7991 0 R /XYZ 90 141.447 null]
->> endobj
-7990 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8004 0 obj <<
-/Length 1586      
-/Filter /FlateDecode
->>
-stream
-x��Y[��F~�W��)���3���FI��U�,��f���e݂Ml���3
��%Z�V�>���s��w������7��ǽ�גyiI�7��4�|I���ϼ�>!���!���
��2��P�Oۇp��_��4H�����<�'q��\?�pp;~{����zJ5�҇���"�#�+�q������4�\Y6R�A���p�Zyhϼ��t at T?��p�i&�����j���#�{����.{7�؛���
FL+oSH-=N
�u�
>b���b�ee����}ߕY~,|`$ו@�]�q������
-�FS ߯��hj �fV�E*�!��ъp,��bȉDLo��B
��	�hd��	c��M�?L�I<Oצ
ʪ����Yn����O���ʞ��>K��k�"���i�y��
$^U"�,Rʴ�S��J�&�Q
�ZA��q��@+���$����CV���4Y��m���
󇰺��(�2�)$����1�b�,�՗��yn֊geTRPmZ��A�i3�*����
[J
�t]�:
�H+R��u����eP�*���s�1dKi��j���
- at 1�l�(h9�C�	$R!,���
�� Jem�x?��a�2rW^[g�
A#$�BϪ<%�����3M��u��򨮻�h
'�yı2��q�
�WO�U
A��(x��Y>���9�?�q�I����0Ώ�T
ȻnB�&*����澣� ���SjN"��J(�g] �H��d��*��� ��(�&�U�Gw�u��!�
I_BmSD�����Ϥ-q���3m�I[�n�
I}4�M�F��������� ��lD/�ӲQ��K��un:{M��3cV:/��oz�M!0
���#fidZ�40]��l)�t��@�R~
�)8�H�jfV�
�a�
-�y�Nb��*(�g�

-�|/'n[��f5~_
 ��C-�RC{u+k֋Ƙ��
�YQ߭��R��ӿR0��=���F��
��L��w�n-;$٠�Gen�
*�N�]�lg0N����I�/5��չ�#h�Z��&���2�&��n��Mt��:��`Dh$��'��p����e���J&�I�]���	JL�$A��N
LP�%H~bylM��ZC��[ʼn,��uűl�Z���(v�����l)���XGn
�}(�fg}Q���K�}���rQڏ�����o�^R㠊��vy 
�:$���Z����:���\��I�?�/�K �Eߥa���g�Y�_I\��)��##�q@i��6Th���Af�J8L�PeR!����ï�A\J�i�L
��v'��������T���(6

Jjtb�p'���h�$���,0}�ӂ<�i�Q�9q`�Zbۡ��_�
/�Y��t
w����dv��8�E�_�-U͝��
�}�Wޕm;�@�nNѰ@��痔	��>���
e
�ݯt��5Q�~�+>΁%fKg��8gV�wƚwf7���[�Z����χ,L��/��[��㦭=U ���b:A���:�H�z��W���WĶ��(�.\y�]]m64��:�V)���jq�_A--�#�Vr��ְeR������:���
��+
-endstream
-endobj
-8003 0 obj <<
-/Type /Page
-/Contents 8004 0 R
-/Resources 8002 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7997 0 R
-/Annots [ 7998 0 R 7999 0 R 8000 0 R 8001 0 R ]
->> endobj
-7998 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.4 529.29 212.124 540.194]
-/Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-7999 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.573 358.295 216.297 369.199]
-/Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-8000 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.024 257.034 483.212 288.003]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8001 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8005 0 obj <<
-/D [8003 0 R /XYZ 90 757.935 null]
->> endobj
-8006 0 obj <<
-/D [8003 0 R /XYZ 90 733.028 null]
->> endobj
-7704 0 obj <<
-/D [8003 0 R /XYZ 90 592.061 null]
->> endobj
-8007 0 obj <<
-/D [8003 0 R /XYZ 90 577.49 null]
->> endobj
-7705 0 obj <<
-/D [8003 0 R /XYZ 90 421.065 null]
->> endobj
-8008 0 obj <<
-/D [8003 0 R /XYZ 90 406.495 null]
->> endobj
-7706 0 obj <<
-/D [8003 0 R /XYZ 90 236.959 null]
->> endobj
-8009 0 obj <<
-/D [8003 0 R /XYZ 90 222.389 null]
->> endobj
-7707 0 obj <<
-/D [8003 0 R /XYZ 90 118.771 null]
->> endobj
-8002 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8015 0 obj <<
-/Length 1858      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�6~������
�"�v��bZ��E���/Ӂ��tL�-��<I�}E],G�L�SL;}I,�"�s��91��#
}=�����+�"���2�]EG�$HP�.��cB�'S�1
��<6���_N(
����]�f����M�4�}�(�}������dv���ۛ��;�R��������Ö
��͆ہ34"L4�u�/7�(&S*0
���n��)mX�Ѯl>!jl�,1�Ę��
��
�:"p
�H��.^lG���h	��F1���j�6���M�j���T1eK��b�m�\6�ˮ4��� �n6�O�M�DSX*SrD�<�M����[��[���
q%OzD��SN$bBDSP��4=��f�,���.�%�9���O�c��^�IQ��
���
-gĸ�c�#lТ�!V�xOGpĻ#@JR��B������%��7a���j��>���I8�z�ߕ
�+��
��*֡�l GZ�֑׮ @%�t��.�f����^�P֦^˖Ƶ��`y±wq1���cX�%.��"]
�C���
�!�$�I�CƑH��{��c�l at U.k�с3L��
)���/
6+A�b�{�;��r
-�N �
��\�f.(�l
�V~��ڤ< Ӄ�wk��u�N�?�zwCz�1yu/:�vyJ�
-qن��k�Z:�� mN]�H��)��Ƣ�ȜRBQ
q7����>(9�� �hs�]�n�iW"!�����a�Vs�h��e�@
v�!�>G�
EtG
㈳�.�z	E0L��Q�[\���?T�+�����VCt�kD}�O�G�>FJ�SQ�m��=�@
�*��瘏]��U���P��r�"	������E�2�ٳ
-kd�m��A�Z�L�?���t��o/WfS
]� �w��j�n�;�k�.}�Bԟ���GSOxbS����]���,�j��}�Ƈ(�(e�Z��5����4�������)l�D�ʧ&�0
9��P�6fU�_��p
�X�o�C�D
D��
�x��
yA���	7<�bN(
�٭��r�ܧ
�X��P
�->M�An`P���
����u�wJ7u�S���
g���(z]A�Z[N��6��/ �0>3��X���$��Wr��̞�\h�4�U�����#��
cJ��
��y5
�gp�^�Rm�"J���J��
\�*
�����
�]^���ȱ�| 
�O)�P
 *ۏ����'8���T0	��4�QO>������G^�Y�I�z���1��-
�S
̍���Ƞ�d�ؑ|Pv�����Ҭ|FL��mͽW*+J���[���x?��TG�oM>�Ox�-�2���ji<������Y�ڊ"�@0�x���Z����
-�9����Vb.
���̍+�٬�2w������SH��__�$ݺĔ�!/bUAJo��W. L�M����Ҁ I��f�$�Hjv���ѮO�q�uFy]�Qn�`L������8x���c}�"���wɲ��6M���%5���ɲ��o����[O���C^} d�

�
��SU�i	�U
 ��8
v}�T���둪V��\�p�4 ؐ�<"߳/{X��o�e�1�g��W`���|Q�NՃ����Lr�N觡ۦ꙽��T��n�>b�]�*�LՔR���P#�LV���o�c� AQN�	�@��WFj�*��4��� T:�1�"c�gx�߾����H����4�Wh ������+4PE
�p��|�Q?6EFx�+���t<�M��>�?��̦kt÷ ��y���N�s�

�mRi���Q�鿣*h;�DAц[�X�e6��yxx@����ȕ7Y��yn��S�"�J�Uc�m���,n����݅i
-endstream
-endobj
-8014 0 obj <<
-/Type /Page
-/Contents 8015 0 R
-/Resources 8013 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7997 0 R
-/Annots [ 8010 0 R 8011 0 R 8012 0 R ]
->> endobj
-8010 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.275 328.874 293.971 339.778]
-/Subtype /Link
-/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
->> endobj
-8011 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.332 175.84 235.598 186.744]
-/Subtype /Link
-/A << /S /GoTo /D (main_affine_relation) >>
->> endobj
-8012 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8016 0 obj <<
-/D [8014 0 R /XYZ 90 757.935 null]
->> endobj
-8017 0 obj <<
-/D [8014 0 R /XYZ 90 733.028 null]
->> endobj
-7708 0 obj <<
-/D [8014 0 R /XYZ 90 635.92 null]
->> endobj
-8018 0 obj <<
-/D [8014 0 R /XYZ 90 621.364 null]
->> endobj
-7709 0 obj <<
-/D [8014 0 R /XYZ 90 508.799 null]
->> endobj
-8019 0 obj <<
-/D [8014 0 R /XYZ 90 494.243 null]
->> endobj
-7767 0 obj <<
-/D [8014 0 R /XYZ 90 391.63 null]
->> endobj
-8020 0 obj <<
-/D [8014 0 R /XYZ 90 377.074 null]
->> endobj
-7768 0 obj <<
-/D [8014 0 R /XYZ 90 250.551 null]
->> endobj
-8021 0 obj <<
-/D [8014 0 R /XYZ 90 235.995 null]
->> endobj
-8013 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8028 0 obj <<
-/Length 2047      
-/Filter /FlateDecode
->>
-stream
-x��Z[���}�W�ic����eWJV3+m6�d������4V����=��>_�|+cs�!�n�-�������1��� ?��|7���,0�H*��U`p�$A���n|
	AL�'c
�
F�6��S
�6/�x�E��,�^f��-��a�F���u��ǟ�~��%��=�I���b�?�%�#ʫw={D��|n�6��0�P�a3C�x��Dy쮼�Wq6&:��\b���f�
���2"�
H�������O8X�������s�jp��u|�}����Pk�0恢ɝ�o>/�}���ì0����mO5R���p[
��l��c�çh�,�Q�����p�V�vL2��:ۍ����CޓU���\ &du�2Nw�$��]��z�K���On�_c8ޑn>Hp�7�n�?��N�
-ic�EQ�tk(��T]8�˜�������`��ò�Y�L �����L��i�!Mv�t���<�ߔ5h�����+���#����o�=)�=���M�^j��SW=�a)o!�
���
�P�!�
N!��6�!FK�ɫv=�h��)$�~�u��}�F[�ƲW$��'�E �TГ��]�t;�
�Z�Gς>/ �:�Svߟ
�l� �4��{���6z��-T�����eId
���G"�]p~T���
Q]-��H1
 v�;��$��l��si��ի�꛾3�V0��� ;mO%���..�]$���<���0������� ȆGgW{h
���z:���qB �Y����v�0
�,Y�W��y��6/�Gzg A�����U^	Ҵ6�c�n �zzB!��۪RH�2�=�p��Q8G�,_�(I,�Eq9��p�
�)���Q��!a����3o��ݞ���04)anez]���2�ʈ�
�H�zL��f�����$}p_=Y?���(J�:; d�wI
-������f�T��<&"�&���Α�>^$��x�.ܿ�	�zn�Kd�h���J�ե��Rpo��Oga��;����X	�04�8�����F ���!����ݺd^ދ+E���y�,��ju���J_�*jpx�?�I����nT<g&�m�:��Kސ?0(�G��@A�"Q��΃ӆ��z�v�c�^`�B�#{�w��b���Q��z��On���I�J�_������
ɿ8G��+����?�)��&�5̨�@� g) �a6_' c��r
�9���mzv�ʤ��-�7��m��Й�tw/Յ�a@]د��������R�!�~Oi�K�N~?J�\�$� Hd9%�;J��!%찙�_��xJ�8�*v9 �_���ӫ�N�;hp��{=%t�0a�q�
>-)�Ȣ�`+��Tk
�h�$M'=��
�v���(��vZ
�l�J@�40��*4&R�S�V�6�0��R8���0N��,L#SV��Oe�d���Ń����Nڜ\Bi@�ns&�w�<����As�b�y_
-��4�;�k™�@Y�x���x�X�`��m�[C=�@�!g4���B�
œ}�f*
b_)��E�&^��gmY��S�
�TG���~��t��Tu�:�#O�
9�(:օ}Ep��b��%
�Z�e���D�o��ؗ+<�
-���W��?��7' �y'=��eR�K�]n���o�<K�x���<�
-�����[R���
Z�T�~*���Ĝ}� ��ެ}���Լ�KT���P�z}Zl�|r��̄�C�Gmy�9j�×Z�d�~�,���#��T}����
�~���BO�H��9{hY:T�=G��ٍ�Nr_�Yj=gMp���`A���#��<*/�s��G��k9K�)x��	-'�T4�U���~�M�J�y<`mӕߺ6�0��ڠ�zC�
-���b���VE�Jv�n�s�?�� ���RY]DŽ��X%5@�����
-�&��;�AB���
v$����>���}��!��0",��Q��`ϓ�
-�^WF���,v��A^>�Uc;��
T��2*��i �
װ����l:}~~F�zL�}��|��o�ljj�B�4�MV�����$���(�� �:�
-endstream
-endobj
-8027 0 obj <<
-/Type /Page
-/Contents 8028 0 R
-/Resources 8026 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7997 0 R
-/Annots [ 8022 0 R 8023 0 R 8024 0 R 8025 0 R ]
->> endobj
-8022 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.151 608.453 244.345 619.357]
-/Subtype /Link
-/A << /S /GoTo /D (main_affine_relation) >>
->> endobj
-8023 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.2 383.189 480.931 394.828]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-8024 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.852 141.059 466.489 153.539]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-8025 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8029 0 obj <<
-/D [8027 0 R /XYZ 90 757.935 null]
->> endobj
-7769 0 obj <<
-/D [8027 0 R /XYZ 90 683.019 null]
->> endobj
-8030 0 obj <<
-/D [8027 0 R /XYZ 90 668.609 null]
->> endobj
-7770 0 obj <<
-/D [8027 0 R /XYZ 90 457.755 null]
->> endobj
-8031 0 obj <<
-/D [8027 0 R /XYZ 90 443.344 null]
->> endobj
-7771 0 obj <<
-/D [8027 0 R /XYZ 90 215.626 null]
->> endobj
-8032 0 obj <<
-/D [8027 0 R /XYZ 90 201.215 null]
->> endobj
-8026 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F8 504 0 R /F13 540 0 R /F7 505 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8039 0 obj <<
-/Length 2208      
-/Filter /FlateDecode
->>
-stream
-x��Z[��~���Skk��6@�HRt�;��vahl�*K�,�d��{HQi˗��&}��`l�:7���Q��:��w��܏��I�(�TF��(Ƒ�	J��e�iLbj2%���	���&����e��I�U2�1{���y6�ۢN�e���d�N>���O<�1�R�r+��͒�����1"L�
��&��<��'S*0��8���N�+�UZM�
��.���1#��
���gD@
��
�PH���v��3��p��#��ɮ�F�2��GGab�:�� ��HQ����U�ր�ɻw{�1�H��s
K�,�o ��ё�@�Ԋ��b�4o�����������n>n�b��gKw;YM��
cZ�+鄈�O�*����c�}�2�b
VR�$��oZ�;��~<{�O0[�
�K��x_/g���p<~L�l9O��a��%�c���~UǞl��8[5iH}�9��a�#�rշ�[ݚz��5�j*Ǻ]����
L61�fŢ��`�r䧬�
(#�D�+�|3�
#�Y]VCb0R�l�T7I	�J�!Lq'���#�S���V�~+3WډK������8�2hI
�
���=����m�8�G�8�/�4�s�yX?��"��Ni,����
�p)���Gӗ�l�H|�.���b�,�bʉ���pþ����<��r��y�M�.�c�"��i�xRe�Iw+-�xA����1���g�v���p5^@S�=?fE�T�Ш�x�ͪ���!�
Öu>���<y��a����y��<�R;
-�Q
�A�`�S��:���!%�g�dz�m���/2��J�z?�YC�vr�F2�d��6+��
�@@g]s��@�����7���ư�HMJ�I�-�[%�D���:˧��a/>�"
+�ԭ�3�ú0�H�q]M����0	��I�����RW T�q94��id�u&�]_�S� �|���
&@�PlR7P
���J}�n}�
]�7�����x8�U�@1�Lw�ch�
q.������I$��͛�
����e"@ $�1䪙��E� �x�-����`HB�
WH�A1�}`'��.R�,�~�D�Jy���H�

CBk�'��
�*��z�z��CS��#��i
 Q�
g`#4�/ۆ
��"`X�mB+0����
�UlCƙ��2x��������	7�a��i�� V#,X0�.Auy
-�M��s�^9� i
hxn�כ�ؽ��?\dN��-��x�֘
'F �+�!�+���ȼ�᩻o[JV�oc��p�~
n���������X��p���� �+zTk�`�X lc[v��5
H��V퇺}��&�e��s�|�ݶ+�����}oN�k���N�wmҤk��PZ��^ϓ�e���y�k�Z�
:1�^)x
�@���UA
�a����k�t#
�|�H�9-�����z��\ ��fk��Gn�`
�f@"�a���P$A�� 
Z3M2�ξ)��`q�
-_��8��T.�.���[
�f��L��sB�)
���uH�w��؜�O����f��$C1�
�s`�L��\
�s�z�k��uZ�$˳�}���#"������Pa_�ԥ����?�S��Z �'���
-r,ݱq���1 at 3l�j'�i3x6����
B�7�, �l�n��X�����kqp�����7��ᎂ�c
-.�Y
-�u��q.C
-J��,\��)40�J��\
�p!<&Xn�q����c�y�x��ӟc���"�d�3фH5�;��� V��ȿHס<�p ��΋�z+
-�ӏ�"����1���MZ
�tM��~zއ��	⫇O��K��
y ���(����y����mk)��}y t��S2���
��N��	a���9�
�دZZ�:�z��U��۽��u��
Q��u_��a脳�uo�
=v�k�������J�UX%�gY%����J�i at +A����4��"����S����A�a��b=r~ɔ��g����Ñ��9��_H���
�\`�����i�p��_�^��/�����=�=?���n���p���?��&����D'� B�0�Q{yoz���kK���6_��O��O �9�����l� �G#
-Fi�F�0�ɕ=U���`����Q�金���j6�jS׻�����Z�ѡ�v���.�;������=ޖ��GV��mr:!��ؼ,
-endstream
-endobj
-8038 0 obj <<
-/Type /Page
-/Contents 8039 0 R
-/Resources 8037 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7997 0 R
-/Annots [ 8033 0 R 8034 0 R 8036 0 R ]
->> endobj
-8033 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.059 549.487 422.924 564.202]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-8034 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.382 289.76 394.782 302.678]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-8036 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8040 0 obj <<
-/D [8038 0 R /XYZ 90 757.935 null]
->> endobj
-7772 0 obj <<
-/D [8038 0 R /XYZ 90 637.446 null]
->> endobj
-8041 0 obj <<
-/D [8038 0 R /XYZ 90 622.876 null]
->> endobj
-7773 0 obj <<
-/D [8038 0 R /XYZ 90 365.765 null]
->> endobj
-8042 0 obj <<
-/D [8038 0 R /XYZ 90 351.194 null]
->> endobj
-7774 0 obj <<
-/D [8038 0 R /XYZ 90 121.036 null]
->> endobj
-8037 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R /F7 505 0 R /F8 504 0 R /F13 540 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8049 0 obj <<
-/Length 2192      
-/Filter /FlateDecode
->>
-stream
-x��Z[��~���S#k�"�
����d�}�,
�-��ڒ+�3���
��ђ�I��S�F���s?�G


|3�����d�FZR�o��H$(	�7��Ģ��`�Ïs�ø8ī�s��|��K6E��.}(��e��纊�,ޯ>��c2�r���Bz�)�H�6����x�(o܏�Ј0�,��5	_�㲜/�� L�09
�q��'?$ۤ�&�
1�DȈ02g��g���b�""������
l���FL��ٮ:�2��>;��IS��=#���jt
ڮ4,�S�%�nT/�$�`��rԙ�#��7����O&�t�$�$#�JNf����
N$bB
p��5�{���$K�x���lV��G�i���.%�C�h�B��G,�:���ܲ�4K�b���zeY�y�V���E�D�
�n�ߕc6RDT�w�E$$�'��^}z9<���J"�[�E�/_#�)(@ԙtg, �1��=�]0Ҕ͘��!M��.ƍd��ʂOI��/TP�4�>��
���
-܏9!a��"B
-޾�WP�13�hX��=�W����S�%8Ҫաڥ���T"J�5���X4yC	��Pr<���i�sIyL֕S <�<���7sݬx����̂�vA���vNE�*��*�l���v�A��� �0�:a�D:b�Nu� L�M�ᑒHH
-�ݭBs"��έU~��a�y���c��yg
��.)�Z������9��/
�H�F���q)���]�J�^���7��p��2V
L"���~�{*0��l���yE��>���+��
�+u'�YQ%E��t���'
-EĈCXP/�7|GA�]#o
�O�����Y�2�Կ�%�qۜ�ڒkI<���qQo�����/��(�]W��
-��� o�+.R�Fd�u��{���r�t�u���i�
���,t7>�j�\�ٜ��	�
-����tH�j�z
~"=�����z���X7�{E;���)�ڈ�bnR�ٸp�B�
�� ��Ƕ��,o`1h��n�n�Ř
�V�t_3bXO��'_ Gu��,���gP�iiq�wU����5�FF?�T$�ċ��
��W"_q
��ߑ�+��C~�6�7����p��Hc��C�G�۪y��
��>ea��a�Kh~��w��X%���
#ݍ��.j�!�ș:a1�0f*Z�~��C��$�
-���u
-�qUqZ�˥Ut�v����͒M��4��|L=���y�Q�V���m�:��,1���>�&H�k�
���b>��@�����"��B�b
�,R��6 -����`
�~��-���;�*X�o
2��aa]�n�h��/ ��ޣȎh��7��ݭ��Ea�����:���̅kհ�CHi�&^$o�^�K�V�7
X
��G�u@�@O&�(R>B>0DvC�u�}�Ð�@���g=ޮ5���v���������@(��M��
p�FB�D���إ x��9�>�L���@̰�� �4L���}fSO�)�.� �?�
-k��}r:n �t�ϧ�C
ߔ������\�HsL
-
�X0������|%��'�ﶧ���-�Z����
��EC `��r:
#�6�`�e�%;`��t����O�<�S�aO�]�m.��^���6����3ۮ��6��f��:���M�6z5�|��#��"���u��^m��-�Ӿ���T;�s�T<l�G�w��~
�JǸ+'�r2n�G.7O��H�>;5RN`{e�q�QDG��mM��
6(������1��$Hq�B��I���[0��I���VN�:8.�Ě"�M�'�̜#��R��q`�W>�>��su�>5t
�!�oA�栞xG��!��!�ꌬ��?S��d��
Y8��*�ȥJﻔ��n�I,~�ﯣ
��kf/#"�^P~�/E�
�%*i0�(�䈪�
-�JZlW���'�
���L3:� 2c�2ÛM��I��$�XC1��m>C�{l���PI���,�>�l�U�/V L�fC_�C�?C���I5�w9�w��ԯ
�~X��?B*�+��
aɡGTA�0��������]�6����-����L���B�uU�#�N
5��Ɉ؎Z�L�r0�B�OISFβ����gַ=B�`�6J��:.��ѺD�,=(�����0zRH�m�qțP�<<X8��� �/�-
-endstream
-endobj
-8048 0 obj <<
-/Type /Page
-/Contents 8049 0 R
-/Resources 8047 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7997 0 R
-/Annots [ 8035 0 R 8043 0 R 8044 0 R 8046 0 R ]
->> endobj
-8035 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [334.883 678.378 440.282 690.857]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-8043 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.333 436.355 425.662 451.071]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-8044 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 189.863 322.446 200.767]
-/Subtype /Link
-/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
->> endobj
-8046 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8050 0 obj <<
-/D [8048 0 R /XYZ 90 757.935 null]
->> endobj
-8051 0 obj <<
-/D [8048 0 R /XYZ 90 733.028 null]
->> endobj
-7775 0 obj <<
-/D [8048 0 R /XYZ 90 524.315 null]
->> endobj
-8052 0 obj <<
-/D [8048 0 R /XYZ 90 509.744 null]
->> endobj
-7776 0 obj <<
-/D [8048 0 R /XYZ 90 252.633 null]
->> endobj
-8053 0 obj <<
-/D [8048 0 R /XYZ 90 238.063 null]
->> endobj
-7777 0 obj <<
-/D [8048 0 R /XYZ 90 135.292 null]
->> endobj
-8047 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R /F13 540 0 R /F7 505 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8063 0 obj <<
-/Length 1573      
-/Filter /FlateDecode
->>
-stream
-x��Z]��F}�W������Q)��4i��Y��M��0�X��&d�}�g���&�Z�����{�{�� vn
�<�
.�K��ȗT:��ǎ�	J��ܹ���c<|;"x$�`�vD�0^�-�<	����I�܍�ofYpG�rz��z�a���9!
���HJ/7��&�F���>"L��yx�
�t�R���O�z�^��#��NF��hC�gbȈ�}�M��`�����x�\}��
�_91�s��j�p��t.
po�)CX�F�C
u������`���Ar�4���:
-V���eg1%Gė��H��ޟs
���z|D@��ED+��,\N$bB8.�b6���O�*9�_�$X�P�0�� ��6|H6|���Q�������C�f��8�� �p��E��'U�w
>8�h5?�\��p��5�-sIJJ�����*$qe���D�*�_
-��Q�J
w��W^
� 
N ^
�U-�H��7�Ô@D��
'�j
xl P�Fw��#���hE���Ѫ
�0��J���f����n���
���,^�7Y�q-
 ���ۂ�޽8W� Ƕ�GD
��.���TX^�l�uԑ'�
-a*�H���hͻ�M"O�
Զ��&�rف�ˀ�}
-�@*���+`�L'��|��I
R�W,h#���}ȳ��Ǒ��7���MK�f��i��&ͺ*H�(����%*�,�5�a�,J|Ab�
-�W�V�\�0�
-�0g�I	�
-G(���U9�n��Q,�;>\�aSg���4�AaZї�<��:
���~�fqb������fum=r�j0䫙u.kY�1�6� ���`�v>`l�� �p��-�
ogi
-�����
�:�̷a�(��
-����z��z���O�f�p
L�l���}�i3'��_g�f���ɡ��2�O��v��Q��K��
-��E�S�-z*��"f
-Pp^�+�GW
��� )Zv
B�)T�
��ԁ�b�c�
AS�J�B^Dx;��|C�(�'�,H�:a��=�AX}eh/��箔%��
a-is��$�kZ�e�gh���'�]tH�!��jXu
D�z<^�2̛*7�=B�2�a���h��T��T��r�r��0�Ԙ�6�Zoa�'��B�r}n�+A!�MI
���3`�*zئv:尟�;N�u:��A��������~�Njj��:�b
-�(l2(?��N��tz�N�j�ޠ�}Ń
1'��
K��kh>�^�i��C�6s}=5��Q�oF]���E��ԃ�l^uR���ϛ��fH�7C����n���f��OϿ����__��Ŵl����í�s�
ut�����B��
��?:�aϞ����s%{��qP�7�:���_��������/	r
k�ZgNV�D����:V��v�V�������Y&����2�L�
-���
�A�y��a��Q"�@��+��!`m��e����&�m�m)��m���͟�N~
	�#{�:�6�/�UH�sW������(?z��s��R�8��}t�O�
Lm�x����YZd�z|q��n�,E�(\'(�.��.���pT�ޔ[�U\NE���
Rݫ�����]
-endstream
-endobj
-8062 0 obj <<
-/Type /Page
-/Contents 8063 0 R
-/Resources 8061 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8068 0 R
-/Annots [ 8045 0 R 8054 0 R 8055 0 R 8056 0 R 8057 0 R 8058 0 R 8060 0 R ]
->> endobj
-8045 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 678.378 355.512 689.281]
-/Subtype /Link
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-8054 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 606.781 268.34 617.685]
-/Subtype /Link
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-8055 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 477.484 355.512 488.388]
-/Subtype /Link
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-8056 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 374.007 268.34 384.911]
-/Subtype /Link
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-8057 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 244.711 355.661 255.615]
-/Subtype /Link
-/A << /S /GoTo /D (main_BHMZ05_widening) >>
->> endobj
-8058 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 173.114 268.34 184.018]
-/Subtype /Link
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-8060 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8064 0 obj <<
-/D [8062 0 R /XYZ 90 757.935 null]
->> endobj
-8065 0 obj <<
-/D [8062 0 R /XYZ 90 733.028 null]
->> endobj
-7823 0 obj <<
-/D [8062 0 R /XYZ 90 552.21 null]
->> endobj
-8066 0 obj <<
-/D [8062 0 R /XYZ 90 537.64 null]
->> endobj
-7824 0 obj <<
-/D [8062 0 R /XYZ 90 319.437 null]
->> endobj
-8067 0 obj <<
-/D [8062 0 R /XYZ 90 304.866 null]
->> endobj
-7825 0 obj <<
-/D [8062 0 R /XYZ 90 118.544 null]
->> endobj
-8061 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F23 340 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8076 0 obj <<
-/Length 1826      
-/Filter /FlateDecode
->>
-stream
-x��Z�n�F}�W𩕀h�w�
-m��Hڦ
���K�@���M�"�����,�W��H��O�-�3g�\%��z��e��rt�\2O#-��.o<�=_$(�.��՘��ɔ`�ǯ'��t�_O(
'���,�`�Gx��n6{�ȃ�$���]�6�w�/Ξ�O�FR���B�nIG��Ղ�
&�?
I8��,�L�� LӱY�� 7��sc�	Qc/��L���ѳ�ч1�#,�G>|x�]�����0bZy�b����1�.F��Q�)CX�Ĉ!�J��J���+
k�1�@I���nm�`�),{��
-��)���x�
H¥�� � ˕<ʈ�}VL9��	�ML-�ak:��fQ�
-s��?����X�ͧ<
�	�&�
������[,�"���^��	v)�4aL��
��z��-߹Z�WD	�V�zdp�wy2�J�ؖ���4
�8�O��ޔ1��b]�/v�ֹU�
�!��ۼ�zQ��35��Ml��,�r��[!"kt�b�z>�#�����CѢ^�c�Bt�j}��H��QD�
!����Zt�Q�wn��m.�JI�eIؙ��V�4�a
P���h�
�wƝ�&�D�;On�Qm s,�-Cٛ_F�U�Б~�
�&��r�
[�E�Zo��
���;Q��3�$�¾_~5�J�5sJuø��Q�ό&�C譗�wA�ȱBXȒ��=�2�g�w��@��F�<
�(r'?8Y'��p��'�>5l��‘V�Q3��&�"�A}�WS"$�
h�$D��2�BP�M��:�7b�!@!�b���@�z���F
���������̡�

�e:�0Z��dy��b}�J�%���
XR�RŒ�H"O����!�;���a�
v��mv
0D�8pYq+kE��7��-׀��2?OJ�
�G��i�W^]
R�ն�Eƒvж� ��
�u
�@�T<*t��A�����ݏ*��ap
�<˓�E
x�l���fu�$r�
l]��Q# O�[?0q�����Vp���l�L�)[:*�-��h�t)�=
3+����0��v�Vh?��ӥ��2��fq�6�����!�S����>-L�������Y�����8 D�r
������!�Cj3aK�v���}�SD�c��
��NG�B��Q'��}�YBzVCI�5���2`�2�2ؑi�t	I���%i
PqzU��Yy�ˉ��H�ԩ;��,�|`�ni�&\�Up56���n"����cТ1��G�=���Q��}9���hTk�Pӝ������-]�_���M0�r`�7��ʚ*�pѸ�ʺ܁7�f#S��4Y�|C($�
�1R5��
��ťOiZ��-��OFIŋ����f�65��h��}	�f�pQ<�JX	퓭>��"�,^{v�ux���zj� �f�f��{5�MDj&�d���d8��rȥu7��Z�7��fRj
iz(���T�o�����?��3쳗'XA�����-��S;���ѽ���ͨi�>g�G0�����q�P��
Y
�}_{ܧ��N�q�*G
-j�uU'g�{S?U���~
-w�~����O�<
-��5�S?·�~�q�7\0�o|��e�?���?c?�8�{�^�%<����z��~��0~�~�C= �/28fS��v`����.�~-|���?�6��	�,e�V�>h)섰S�

��M��k��H�S��P���$�3U��A؟��^|mC���˪ap�e��.��L��D@�p�/�xD�t�E�4s%	���VrΛ�
|��T>�,{�Ug���=h�%
-�
׼������l�ݢE�6q�NQ��A�8��-)�>��������	m��*ʨ{����

-endstream
-endobj
-8075 0 obj <<
-/Type /Page
-/Contents 8076 0 R
-/Resources 8074 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8068 0 R
-/Annots [ 8059 0 R 8069 0 R 8070 0 R 8071 0 R 8072 0 R 8073 0 R ]
->> endobj
-8059 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.008 678.378 276.143 689.281]
-/Subtype /Link
-/A << /S /GoTo /D (main_BHMZ05_widening) >>
->> endobj
-8069 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 578.885 268.34 589.789]
-/Subtype /Link
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-8070 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [290.456 449.589 371.442 460.493]
-/Subtype /Link
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-8071 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.062 276.716 276.047 287.62]
-/Subtype /Link
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-8072 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 177.224 268.34 188.128]
-/Subtype /Link
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-8073 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8077 0 obj <<
-/D [8075 0 R /XYZ 90 757.935 null]
->> endobj
-8078 0 obj <<
-/D [8075 0 R /XYZ 90 733.028 null]
->> endobj
-7826 0 obj <<
-/D [8075 0 R /XYZ 90 512.36 null]
->> endobj
-8079 0 obj <<
-/D [8075 0 R /XYZ 90 497.789 null]
->> endobj
-7827 0 obj <<
-/D [8075 0 R /XYZ 90 351.442 null]
->> endobj
-8080 0 obj <<
-/D [8075 0 R /XYZ 90 336.871 null]
->> endobj
-7828 0 obj <<
-/D [8075 0 R /XYZ 90 110.698 null]
->> endobj
-8074 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F23 340 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8088 0 obj <<
-/Length 2085      
-/Filter /FlateDecode
->>
-stream
-x��ZY���~ׯ�S"VO�&[	$�z��v<�}�%�H�J���F�����xH�1��H ?�"[�b��u|]
�
|?�����`�DRP<<� �S<���1!�E�)���O
'�6���P<.6�k����o٢L����ݲNVE�l���d�&�
~�{KHG=�	�ˍ�?Z��#z��
ƽ���i��&��ɔr
�$
��n��ʮ|P����x��%,1����X�
}�0�uD@
���G(�/����p���FL���Hm��2������E�)CX�Ĉ�P8�ko����|`d(�@��Sy��b,�!"R\D��(j�~�1Pd���*���bD�,�b����������l����%K5O��ʫ�ȫy��s�]���Ϙ��۹��ꕼ��
e�k���/ J����cJ���,�d��d9�zLv
GH@�����ՀV���Z��b���
�jB��`�oq�� ��0��z��ظo����,��#��z>2	�3��)�HB�L)E
�4&���ЮUY�zϷzz;Db�+F��
�
$�B�7�=4�����y�8��w�˸>`�ڇq̻*c�nz����m6�j���uQ�K���D��S���WNf��֪��M��jB����OU~�葞��߸ׯ��ھ,sO.� �p�~3)�M{�����4��깂�"����R�G�u�@�Tv�X���pi���'m[Rf�L��(�D��s뻑-������+���/��Kuk�1J��M�`���� [...]
���QSM�@[`(n���?@{� x��:67b�۩rH�X��:��*��IX�)��3�HaКZ��������
%��Q�
�	��>b9����}��q
��� �B��L�_�)�bȍ
�D���!N@��^��Z�~	"���
�#�}#j�3Dmg�{�/��_D�8� �*t��F�(D���jt�}yb�T��PN�vAO�
�=�{M�
-�c�X�W`q�2��P8y�k��|!���[b���7���D�b���R��M_�'���j�^�<���1��Z��0ӣX"�.�
�Y�G��71=~��P�-��]�&6TO��pTVzT/
-۝i��p�mR��\�O 7�?���j�q�w�Z$�ZF��iK�bpJ��&���
o ~���{!��_|�#�?اi�ߏU��H��5�#~7?��K@:�󤪲U��<S�]E���

^=3ym�,�͞[����x�<���#����
�	
�-�9��0D4�X�ـ!P��[AϨ
��
i��ckz�^��x�����1��nh9=b��{
�
f׭%/�V������h{Zl�u~D���Sя�Z>��m(�)���<���k�q�w��j�{��
zW���F�z=Wei^�Hu�nђ�0$
\bq4�
����^/���,
L���i�]&��	����c�s���`�
s�p2��|x�Tj��r&Ǝ6r��$�/I����AS�����
�&_�Pk!�#" w���[���Z�vk���m
�qM��{�O�wD���+�<T�)�Pu�
)�
5/�+�
�t�NA�h{��Q!���=+��;~b�0�j��T��G���:���_��s�)�9�
� *�o���oI?M!~�[�BO�
�ˢ��Ѯ�����
�ܤa�L�{�]:֤[��~�~ M
-ΥO�&K�I�ڃ��%�%4>"����xX�J,�鸶�v��4˗�v�G����k{U�n�΁�k
%�Q�DL�$!�w��T��O),8���*ц�����
�
ǽԘu��
�W$��/�_0���3
��Xex�R�u���n}K���/؛V���f;.���v�ʭ
��4s����ֺ�
�{屷����m�o�%1�X��к�w����ဖ��ٮDY}��m�N����W�(y,��p[���",n
�9���"�� 
-endstream
-endobj
-8087 0 obj <<
-/Type /Page
-/Contents 8088 0 R
-/Resources 8086 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8068 0 R
-/Annots [ 8081 0 R 8082 0 R 8083 0 R 8084 0 R 8085 0 R ]
->> endobj
-8081 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.334 312.156 236.659 323.06]
-/Subtype /Link
-/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
->> endobj
-8082 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 258.3 256.157 268.198]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_38da38d0fab7eed9ee09fdb11f88fd15) >>
->> endobj
-8083 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.708 148.957 250.895 178.023]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8084 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.024 106.435 483.212 137.403]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8085 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8089 0 obj <<
-/D [8087 0 R /XYZ 90 757.935 null]
->> endobj
-8090 0 obj <<
-/D [8087 0 R /XYZ 90 733.028 null]
->> endobj
-7829 0 obj <<
-/D [8087 0 R /XYZ 90 566.778 null]
->> endobj
-8091 0 obj <<
-/D [8087 0 R /XYZ 90 552.762 null]
->> endobj
-7830 0 obj <<
-/D [8087 0 R /XYZ 90 376.528 null]
->> endobj
-8092 0 obj <<
-/D [8087 0 R /XYZ 90 362.513 null]
->> endobj
-7831 0 obj <<
-/D [8087 0 R /XYZ 90 252.416 null]
->> endobj
-8093 0 obj <<
-/D [8087 0 R /XYZ 90 238.4 null]
->> endobj
-7832 0 obj <<
-/D [8087 0 R /XYZ 90 89.441 null]
->> endobj
-8086 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F31 472 0 R /F7 505 0 R /F1 542 0 R /F8 504 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8101 0 obj <<
-/Length 2542      
-/Filter /FlateDecode
->>
-stream
-x��ZKs���W贑+#$�T����fS��8�L�T4[ܡH�����ƃAA�f�{I�"�"t���
���/~��������-$������B�E*�,�6�KBK�Wc�|{M�2�v���5�˦zުM��.ﻼ{���{��M�W��ۼU��~������J$D
-����h��h2
���!a|�f�������&�t�vm�����N=��dKU���/�zΫ���sE`� ��.vW>��~�i����Ɍ�-��Z����>
1e
>�1ıùd<�=�069��a@�ܪ:߁jQ0E��g��(MG��6Д;�XCI&�ZD AL�UBb�/V ����6<��v�w��è����q�����
�ޔ;U�˦v&�o����Z�kא<PI βa�Z=�y""�P2���4���(
}(몬�G;��)
̟��H� ?0/�3:r�#_*�L�un`U��s���08�g�uj���~t#5b��*7u�
�.;[ �%#8wr�@�v��!㶃��@�(�MYQ@�����B��V�6x�Ol,H�b	�Jod�~s{[��	h�W�f�w���I.9��f�m����Sm*"�$1A.&��գ��n+;Q������d���q"��-!���.f1���FU�-�r,.� I�m��^��
��H)��N�N!Y<p}y6p&H��:��J��+Es�/!�~��~4�`	Ba*_7=��U �
#�da���
@C���h�SW�mH"09��,���6���(_�]�o�8�f�7��с# �a�l�}�#2��g^�s��\�aiH�؟��?���� ���鎂C^M��~�2D�"��Kݣ#N�~�Z|0�[��
�01�1H���怫��
�D�/��R8�mϩ�M�l�
q�
`�(�=L#�jIS��
b��b;�
d�-(
V`-)�3������k
٭~�;�]2o;�
ʍ����T��K�
- ����	��fS$S�509No�@aD�o�J`M
�k�^ͦ��e�}Θ�yn�/b��	7m��CW�|�T2C��*�} .���B�]�,]���^4u�l��G"}ѩ8�z�Ǝ�o�9�;�x��~��倁��H�H�7c(Y��[}x��&�d��yo�KD�4�Ƈz� '�Zm4��z�Sa��'!�%F�l�1z�R�2c�&�2�X c�\f��^��"�*���WM�~�(Å��a�3�k���;���>Hp�b�)�icY�9ڛs
K"L�
����E3�Y��EN����nju"T����C4���C�0�_�ŀ-����~<��������~Mw�����a7$'�/�j^�h���}���9��Eq��Wv:�F
-G�|c��g���R]j�Y�Q���)�C�l�)F�4֒
�d8�v4��|�u��O�Tcx�]�f��U�[
k61�P
y�*#k@��N
-E���LJ��
e�4;R�V���.���2��9��觨�|��6�Ħ�
QߵqRf��|B*q��@�/�>Ŧ�Ǵ4W �+�	`�����vq�w�H��Yu";�h�������ň
-Q��� ��F�B�5��֗&q�H���'��e�:^D�a�U�sB�z�޹�j������iL:�0*���l2Ȣ��c�
#��@W� �s�<P��(�M��Qn��q��¸�&�_�v�̈́vM^���J
�У��U��03��+�G�ݛ�eJ��fEX���.C�5E�O;'�<ֶ#�ւ�Ċ�A����
���]�����;�s
�h�<�
�郆�+��*�&@�'d�׼��ϐ�g�}~D"3��q�wqE8y�V3��x����[�e�r_���f��C�P4m�N�'N�*��� �6uС��)�tW�]y=p<�.�0S(�8I~�����Tw�Rqܝ�����p.�vz?
 �U	�Nm�0�n���Hb������P Y�H�����׃E8�q	
c���dp��q27c��=��$U[T�s����N
\�,D�m�kȒ�(
d����Zu]s��S ���X	a�5�;�S?�-���=�M���PS��e�H�69�C������w#-Zp��fp��
��	��kq0@�ʐp'@�27�a�5P��ش�q�3������2b	D��u���C#�8��Ȉ�td�O�&��M�I� [...]
-endstream
-endobj
-8100 0 obj <<
-/Type /Page
-/Contents 8101 0 R
-/Resources 8099 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8068 0 R
-/Annots [ 8094 0 R 8095 0 R 8096 0 R 8097 0 R 8098 0 R ]
->> endobj
-8094 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [322.376 569.426 385.519 580.33]
-/Subtype /Link
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-8095 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 305.429 239.856 316.333]
-/Subtype /Link
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-8096 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.639 122.605 300.161 132.886]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_38da38d0fab7eed9ee09fdb11f88fd15) >>
->> endobj
-8097 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.144 86.288 182.164 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (main_expand_space_dimension) >>
->> endobj
-8098 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8102 0 obj <<
-/D [8100 0 R /XYZ 90 757.935 null]
->> endobj
-8103 0 obj <<
-/D [8100 0 R /XYZ 90 733.028 null]
->> endobj
-7833 0 obj <<
-/D [8100 0 R /XYZ 90 643.459 null]
->> endobj
-8104 0 obj <<
-/D [8100 0 R /XYZ 90 629.581 null]
->> endobj
-7834 0 obj <<
-/D [8100 0 R /XYZ 244.439 308.583 null]
->> endobj
-8105 0 obj <<
-/D [8100 0 R /XYZ 90 292.548 null]
->> endobj
-7835 0 obj <<
-/D [8100 0 R /XYZ 400.69 89.441 null]
->> endobj
-8099 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8112 0 obj <<
-/Length 2736      
-/Filter /FlateDecode
->>
-stream
-x��Z[�۶~�_��!�f,,�6�g���$m�޴�G��k�THʻ��{@�WA���δ~�H�8���ē�	��p���גM4Ғ���j��$�	J&�����Ăٜ`��ofO�|.��(�f��u
���o�M
�WW�,��6K����:�ų�?]�&�#�R��
`�J�s;������k�
����c�ۄE1�S�A���x�ۄel���Wq>#j�Kx�4SF��y�����
b�T�� 0�r{���D���	FL��]5j;��u3yw��>	1eKс1$�ù��x���0����u=�|��i���^0%GD˓h
-
ޟ�
dId%>�E0ĕ<i����s"b20�ǵ��su��Qˎ�.\Ƌ(��i�d���a��pW��
-�$�����]�
m�Ѣ�H�F�2[�ċU�&�#��E<��
�fs��3zf��xӧ0���U�P��1]9������t���;P�.�
L���/�^x=#��r�ܫ��
"���ePX���:���pD)�'i��DHkv�PO�ÚYQ������S�˸��(����he�W=������F���Ǎ��~o�@F\�>� ^�d�ro��o
����b�ޙ2!�kY�Dn at v��xY��Zfy
�,����mrv�f�co��vK����g��n����&�%���	#@Y�㵦�
���%��ڍ�Ձg�:����c������2I�ҍ�f�#��nR�w����6�$��ܫ�e�3�>��tK�E]]�r
�n�h�{д<��Hw �3�]Z��i���E���QB[��㦰ɪq�r
�
�)
���3؛9�͙'�2�� �j��wI��q��M�$CEm�����W��I�����#.7gX"�X?<�vA%;.��lZ���Ѭ��ϟ��T��'�|���A4�~�)2;C��\��zs{3J��Q$1�o��7#������h'Y����8@��$U�=�*�`,e��'�@ �p+��
d?�
0��)�WB�o�+r
Z�T
��d~
I�`�z�g�N�@��8@?��,�V֜B��%յ'��a�3eO�g
\��y�v�����Ҽ�ѳ}
-q,���#*�d
�E�H\t�Ȍ���;.���CΨ�	��ƴ���:+�
m��d����^���I
ԡ�yx��3rn��>�$�}n�:���ֈ?�B%�_yФa�F�F`�GQMӬ�ktpn��M�;M|
L���(�U5��&j����7?�9#l��T�e�:�\��K�hMj}��)ެ9���	��qu��V�B�O�XU�w�

D[)����q������I�)o`M��xX4
-���̒Z���갤��X���%5���[�0�(�����p%�Ɋ���3*jyvE
�^,�(n+��tu���-Y3D�=8U�nB����۸��u��
���CfM����=�� �(�Έ�t,�3�� � lt��}����obֽG:5٬�ϡ�*h��aTH^�q��v�зY�v��~6��`/^���h����
-/�A<o��{ԘSkH��<|>�x��ӈ!S��,��Zs5��Γ8��
ߦQ�C4��n^�ӥ�����lYT� 4&�!�䈁�t�#rM�km#��?���?!n�
^����,�Xi�l�r�	��t�d��q�"�)G�I���}��ل���ץ#κ�|(c��Ε�-���Q ��8 ����.�Wy�˔
�@yފ8�:lz��|�O��X��S��`f����e����Tmq��\�}3K7���Y�8�Y}����l�8�ܴZ�5�:Z�Ĕ������Y�dg�jۡ�ctچ�߱�L������U�)�ԭư��
�	񦶀~����y��3>C���
� 8��/������%��g$l)���� ��I������^V���+�Z�_�
k8�G�ƥۄ��o��-aM 86�!� ��PW����D�t���Ϻ
1�� �

9�
��69J��
Nl~ٗ�}}TP��.Q�}��g��U!ʄɮ�`���羬Z�y
mr�ꙷ�&@P
� ��7_i{̙y{�`�c��+r��9�l&N�;P���vP�!���c[��X ���>ڹj.K��)�!��c2,����91��7^}
<��TX=�4�B{٧�!�Of���4��`W�9�A=�x(fĐ���Z�p�\9��u�M��ij:!�6d�m�q|�l��

���.���i����cw�Ѓ��D{��
�6ѿq�+����
�3�r$��X�d�J��}#�f�?�0���웿�I�%T�b$�Wmp>��w>x9*�H����v�5��\�j����i�N����d�35U����d��|��{s}����Ӫ�?��g&��	A�t�?']�~���߲��у
B�����j �N���8��/��4Y�|%E��xEr�څ��n
/?�~t
�Ǯ� D
��:c�t�E�D���
a�0(9}u�;������,|p�
c�Qz9:��$������Ha�md [...]
-[�� %���$��}�m㆟�J;���:��*X�|YĔ�*�
\���|Q��d��@���'R��
Kٛߊ8���"
��=Lݑ�=����?���(�!�]\�JZ�>N�_��0j�KT `Һ,wW��wwwhY �Rv9J���nsy�9SG
-1��4��Y7�n�:p')<�z>���A�4�
-endstream
-endobj
-8111 0 obj <<
-/Type /Page
-/Contents 8112 0 R
-/Resources 8110 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8068 0 R
-/Annots [ 8106 0 R 8107 0 R 8108 0 R 8109 0 R ]
->> endobj
-8106 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.502 649.079 241.69 678.144]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8107 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 579.005 163.823 589.909]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8108 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [486.549 518 513.996 528.904]
-/Subtype /Link
-/A << /S /GoTo /D (main_fold_space_dimensions) >>
->> endobj
-8109 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8113 0 obj <<
-/D [8111 0 R /XYZ 90 757.935 null]
->> endobj
-8114 0 obj <<
-/D [8111 0 R /XYZ 90 733.028 null]
->> endobj
-7531 0 obj <<
-/D [8111 0 R /XYZ 213.427 509.198 null]
->> endobj
-8115 0 obj <<
-/D [8111 0 R /XYZ 90 492.911 null]
->> endobj
-8116 0 obj <<
-/D [8111 0 R /XYZ 90 414.576 null]
->> endobj
-7882 0 obj <<
-/D [8111 0 R /XYZ 90 391.641 null]
->> endobj
-8117 0 obj <<
-/D [8111 0 R /XYZ 90 391.641 null]
->> endobj
-7883 0 obj <<
-/D [8111 0 R /XYZ 491.351 326.932 null]
->> endobj
-8118 0 obj <<
-/D [8111 0 R /XYZ 90 310.646 null]
->> endobj
-7884 0 obj <<
-/D [8111 0 R /XYZ 203.822 224.064 null]
->> endobj
-8119 0 obj <<
-/D [8111 0 R /XYZ 90 207.777 null]
->> endobj
-7885 0 obj <<
-/D [8111 0 R /XYZ 485.373 145.106 null]
->> endobj
-8120 0 obj <<
-/D [8111 0 R /XYZ 90 128.819 null]
->> endobj
-8110 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8124 0 obj <<
-/Length 1948      
-/Filter /FlateDecode
->>
-stream
-x��Zے�6}�W��U�Z$m�R�{��N�6[S��١b��qf���c���d7�'�,7}Z����
-h��쳫��W!
1!
�����@�@$��j���@)�?[ �G�&�~�`t����*����o�({x��e
�J�h}��.���˫o/�80Ϙ!a�����吖@	Հ�
� �ՀO�,|��v����6���:�m�󋽵���&K���9g�lξ���14C(�"Q���f��%
V��m@	7:�/Fm�8^�����3zbI;!f��Pz��v�[�d~�}��2��qb�����J�����.��(�N(�V��K����[�����)�(S��u9��&"�Dɪ��D����cD�t5���
%��(��}s����nZ�]G�̵N#�Qer�!R�h�͇����;���R���G��f�����ߢ�_��,}
o�<N}W��ǹ�&y��ƈA
�l
-4�|�%�
�\)�%�l 1�'c��m�q�W��=e�K"�^��z�g�3��:�R���>�Y�+���O��U�6Vq�$.����Z;�@��د���.c7Uv�W�C�"�@��� ���e
-g�
��d;�?]�B�|Y��­]�e�����6�6�-�����Uy��I
G7k����k������.wmW�?�776�N��Pv�
-IN��~5F3Zr3��un�Um����|I8�v=K��r�Z?�M@��
~�	X�(S<r�;�
��
��
\�w���;܍�̝g��Ӈ��Ї�*2�%}��i�A��졨�[.�;�(�Bcک����#k6�D#�.Dz��WZ��-P��!�r��9�6��j
Z�0:B��!����P�k�
Jc Zԡ�I�ui��5w^W�YO�شI
�u��q�R�8��C��-�����IIu�E..�x�H�����
�
����3�#L�=��tȳe���C�~j0�Vq��䂣��u�#L�hT�Pa�"K�\�kIX��{aS�4t�Ö-�[
;�-L	13a�`�XD�p�lX�D1��X1�ap�[Pz�����PI��
-9�����[Fr�9�����fnpA�sW��E�o���6�Th��߷
o�6*
���-}DQ����2V�ۋ�:�^���
�s�ю�e��t~���}��
֖΅������vM��[��L�β���= $���
}zj?�1��_*n	qLJs8�!�co`X1���e�d�m�
�E�,����w�#�>�#0�!�
-"Tw�Q�
v��~��W6J%\�]�sW�z��8��9��NWS����w͈ZK
�+�%*-=��Q�2����Ƅ����KB	�$!&+�pNL����� ;E�
�-+&
bYۑ;�P�����GN*b3��%�ĵ?����)�xH��I�����;o�O�zɟ�� 4X �1a�'��:[�Q���
�����6���U4)�
�b�0�X[F
-��<�u�A-��o�����B� *'�\���S��
�l
-���i텛#�zEL�s�

-�
-�6M
H<J at N�x���
�\>��<����GyX��F�_���T���S�����X22��H2�4*�l���a�{���j���K��jh�ZO��Q�����D��t�Nחe��:���M>bѴ�<�f�6�u%c�̺
l��Gj
!�9�+B����I
(��X<�PM��2|
�ũ�*J��Y�`����[((1����H9r�v`�?Vm�R�p��l�l�1��ې���(7�����c��iޢ��+l�ξ�Q:��ʸ�z�N:ay�
-��[��'��F%��~Z}	�p
�_�JC�슧gnOv��f��m��ۖ�_w6�p!�|W�P�usr��3e�]��p)�RtSNN̟[�A��~���fE��q��*8wy�}ryyO�;�O�mF��r�]_���A
�(�֞���&�^�lj�Y�;��_��(�
-endstream
-endobj
-8123 0 obj <<
-/Type /Page
-/Contents 8124 0 R
-/Resources 8122 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8068 0 R
-/Annots [ 8121 0 R ]
->> endobj
-8121 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8125 0 obj <<
-/D [8123 0 R /XYZ 90 757.935 null]
->> endobj
-7886 0 obj <<
-/D [8123 0 R /XYZ 125.554 569.498 null]
->> endobj
-8126 0 obj <<
-/D [8123 0 R /XYZ 90 552.771 null]
->> endobj
-7887 0 obj <<
-/D [8123 0 R /XYZ 438.998 418.986 null]
->> endobj
-8127 0 obj <<
-/D [8123 0 R /XYZ 90 402.259 null]
->> endobj
-7888 0 obj <<
-/D [8123 0 R /XYZ 125.554 191.689 null]
->> endobj
-8128 0 obj <<
-/D [8123 0 R /XYZ 90 174.962 null]
->> endobj
-8122 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F65 376 0 R /F95 1788 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8132 0 obj <<
-/Length 1993      
-/Filter /FlateDecode
->>
-stream
-x��Zmo���_�O�
\��L���]���ަ�v�b3�p��J�:��P��Ӓs�= �LR�pf8|�J8xp���og��Ih�%���}�qJ�%��:�4'�pqE0��
��Q���ϳ�ic�y��!�ˣ�����2z��(Y~�D;��r���w�t�S���!,^I����Ӏ`Dy3��#C#�D3�ݔ��IT�+*0�tn��$*���ܛ|A�ܤ+b��9��ʜ}{;����
��-"D!,���>}��ƿ0bZ�j�6��o|��s��.x�b���i��{P��y�1�a��$^�(u�u\�Q�%l~gʃ1im����6�?�)��"X7�t�"� ���4%$.j%�g�ij��@��yQf���5�D�]�=�ۨ��z(�wVť��i���
-��i�%�U�rS����1š?���x��6i�����\q
-�ł+8Z�[x~��x���·�p�T3+�H�qa�[QR$ �H�$�;�:��qnV�C�[9~�����0��ؙUl�ͬ��ݓ��	���)X�c ���qj�)�`V�x�?$�[l�mw��R��'�k�w&���m�־�Ӈ�Y%��̢��~]P�������� N�
.�;<������6
-A�	��c2y�T(;��9mHϧ��b�+hPD4�@6�Hհ]6�w
-��~�14���cU>�Lma

�f�
�^©N8]���P���7[�[u�e��,���|Z6��t�R7�3��Ƭ~��ʬ�Wu
2�H��G�����=2�8�P6&lS�u8@(9���4��v�D����Ha5��R�q3t�oj����zR8}i�+��Ogm�Jۘ��'>!H����>zd�Nh��*��H갎��M{ �(��H[��c*=H��
i�p���� t���{BC at wBOн�A�UρSF|��K��>��b����lf�Ee?����)Z�?�!P0!�>�����tȔ�!�E �#���lE�άDzy�,�
-��M�S,.�s��G�أٔ� �@�{N�ܑ1~�]�,d��K����0�AgV�.������`9�.`��rQc�!�KH�R]Bʄ<R��RT�����=�����R���!�*U�Q+n��*�R�R>*���|�w�(Wd�G�H�Gm��Gm�棶��Ր���Z.�Z]Jr�v at nR
RLϨ
�](�h�'��&>�$���ґ�'?b02�R畨
�l5��<�吉_�L�
�����R�Y�2�j�Lv�B&ۨ�iA�V3;R��m��UA��l�2p�@͟�M!�m6��~�C'�aR�WF����ƪ�b��Y�b�ܽ��=b�y�S��	��JCe��dqA�E�7ZT���P�W��٦a�}6r�ʭi��i1M){f1M��jk�wgVR瓵��X�����D^RJc��|�j��8n#�ݔG�ک��h��
]�	�T?&^��&�
-=z�`��x
ݓ�JU��B:�<=UH�|vI!]�mQ�	�՗CvhSv{yٓ
ɖ+��e�W�M�ɦ�
W
2�}Ћ��K���
���+�]x��o
��ÿ�����"��nw��,�.�dD0D�;�s�[
�WK��x�$��*xE�_��
-����R���L�L+��x�4��^X���L�B_�` ��L9���5rjk�a�$�|��*�&�>t~��%��H�C�#G�E������CآF�'�zKkB^�xk�O��ĻfvH�֤@��ݏX��l�|"TB��6�v\TG�y�*�𨵷@�ո�鱏	C���&�m*�V{й�JHCM�i���|�P
̺�`R��%���v���$�l�:
�;���>�j���ف�R�h��3��?�S�
�]�6�ޓ�gZRA
Q�~��|��rVa#��]쥔���������:�*L�ۅx��[�q��_�(�G�k,�;��Zl�ј�Hg�OA���
-�V_g��c�o�rws}}8
Ъ@�4��(.��q�=�
�&Ė�G����6kHJ�Z�R�
-����&�H
-endstream
-endobj
-8131 0 obj <<
-/Type /Page
-/Contents 8132 0 R
-/Resources 8130 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8138 0 R
-/Annots [ 8129 0 R ]
->> endobj
-8129 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8133 0 obj <<
-/D [8131 0 R /XYZ 90 757.935 null]
->> endobj
-7909 0 obj <<
-/D [8131 0 R /XYZ 438.998 675.861 null]
->> endobj
-8134 0 obj <<
-/D [8131 0 R /XYZ 90 659.134 null]
->> endobj
-7910 0 obj <<
-/D [8131 0 R /XYZ 125.554 448.565 null]
->> endobj
-8135 0 obj <<
-/D [8131 0 R /XYZ 90 431.838 null]
->> endobj
-7911 0 obj <<
-/D [8131 0 R /XYZ 438.998 298.052 null]
->> endobj
-8136 0 obj <<
-/D [8131 0 R /XYZ 90 281.325 null]
->> endobj
-7912 0 obj <<
-/D [8131 0 R /XYZ 90 234.121 null]
->> endobj
-8137 0 obj <<
-/D [8131 0 R /XYZ 90 219.551 null]
->> endobj
-498 0 obj <<
-/D [8131 0 R /XYZ 90 138.783 null]
->> endobj
-8130 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F65 376 0 R /F95 1788 0 R /F13 540 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8175 0 obj <<
-/Length 1474      
-/Filter /FlateDecode
->>
-stream
-x��Yk��F��_�Ti��0��@�T꾢��f��T���b1k�bp1����w`�̲N'���0�Ν{Ϲg�ؚX�z�;
���Y
�$�����$CX����6!��}�`���>������y�b;�W�p����U�g�Ǐ�A
�q�]��e�G�Y��v
-/y����������<���T��b"Q�U��Qߡ�����hq��<Q�����n�b�(�
�
���<��P7�
�ҵ
 ����:,
�����E�6.e�s�d���G�+�H/W���
-f���5���-���Z7�����3�.{��p��"A+�(�'����d�GFR�m��aC$r�����(��?.�
K1�B׆�Ô@���媛��0�

N�(����r(G�{���Դ�W蔯Y	��/+1*^����hL��ſZ��Q�,��Gl�!�$5��%A�
�-�,RP

�7})|���<F�i�&�+e�$
O!�:�"��ϗWq�I�
gW�h��t���U^�ia(�@9�"Y)�
��֦�F61�xڳ�:�,b�V���\��D��~�6l���ѬO��(_��V�r6��l�?�ӡC�T�q�Ü�I�A�N��6�s��@
�E����g��\\�@ܤ�I����ړ�xrDO�<�Q<6�S�W�UyN�Q21%Z�b
�;��mE�A��<�òb�����]N�	��t�,�P5�P�wfGi2ɖZ����"gm���bW�4
�E
�ո��C�m�� ����EPm���>|����CA=�3e��*��k��V�z������T�n����W�����+��~��.�fG�s��M�67�iǴ��
L�J���?F�jT�3[<5�'���9�v�e�?z�����φo>k��^9yk�L\�_f5�#cm�),�K7�r����Y�L�{g�؉p��W$\~>�f
�|a��~��]H;b?͢q� [...]
-J�ܻ�<I$��i�ޓ%���Q�%y�}�S(��ŷ�og[�n&�1$<Q���F%�S�j���c��~��\Lj�ܟ���&Dw���	k������8�J?v��
�6^����Y�
-|�9�,���c���ȧ
�ݷ�^�8����]e�8R���po'ـ����r�7g��q5�l�
�(]#���@
J^B%u�����jܥ	�w��إ	�0#���o���c�}(����WȗV�J��Jگ�ܟ���/J=@�wI�b�oO�[��!�u��R�q�.�V_U�kš
F�	j�v�ƚ�.}T�@�>�/H��J�>HBT���:���%�+s�-�^		޸�0�73�T�#�j
-a�c_�d��O�U�"?hWa���ˏ��3
6�;
Ҿ
�,3�˪~��+.+n�%�B
���i��777(X�e�3��<
l�^��۱�:5��43�G	|����b
� OG�
-endstream
-endobj
-8174 0 obj <<
-/Type /Page
-/Contents 8175 0 R
-/Resources 8173 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8138 0 R
-/Annots [ 8139 0 R 8140 0 R 8141 0 R 8142 0 R 8143 0 R 8144 0 R 8145 0 R 8146 0 R 8147 0 R 8148 0 R 8149 0 R 8150 0 R 8151 0 R 8152 0 R 8153 0 R 8154 0 R 8155 0 R 8156 0 R 8157 0 R 8158 0 R 8159 0 R 8160 0 R 8161 0 R 8162 0 R 8163 0 R 8164 0 R 8165 0 R 8166 0 R 8167 0 R 8168 0 R 8172 0 R ]
->> endobj
-8139 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 609.148 225.331 620.052]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_6713cca018bed4091ffafb98ca4833d0) >>
->> endobj
-8140 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.425 609.148 310.068 620.052]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-8141 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [428.607 609.148 513.996 620.052]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g616fcdc7600a3a11a8a9152e75730899) >>
->> endobj
-8142 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 558.355 225.331 569.259]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_28f6854a94a3a7d58034cb1d51ae9c7c) >>
->> endobj
-8143 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.669 558.355 337.121 569.259]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-8144 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 519.518 225.331 530.422]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_4857c775f03d5b4ff084723eed2b5e31) >>
->> endobj
-8145 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.147 519.518 313.6 530.422]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-8146 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 480.681 225.331 491.585]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_1daec40615d5a93ce0de360865d93497) >>
->> endobj
-8147 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.669 480.681 330.496 491.585]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-8148 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 441.844 225.331 452.748]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_bc31d844172a202d43d08e299e26322f) >>
->> endobj
-8149 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.147 441.844 306.974 452.748]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-8150 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 403.006 225.331 413.91]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_d3eb603756ab7be783cd92410ac7aed7) >>
->> endobj
-8151 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.456 403.006 320.013 413.91]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-8152 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.967 403.006 427.433 413.91]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-8153 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 352.214 225.331 363.118]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_dca9874a75b5ba09114b8495a23c4edd) >>
->> endobj
-8154 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.976 352.214 328.918 363.118]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-8155 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.707 352.214 430.173 363.118]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-8156 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 301.422 225.331 312.326]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ef3ebc0ed74af80cd3653321153360bd) >>
->> endobj
-8157 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.214 301.422 296.468 312.326]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-8158 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.088 301.422 419.554 312.326]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-8159 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 238.674 225.331 249.578]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_2b4e2b95a505c70e40370e121cd179a4) >>
->> endobj
-8160 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.104 238.674 272.705 249.578]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-8161 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.669 238.674 314.396 249.578]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-8162 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.143 238.674 430.609 249.578]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-8163 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 175.927 225.331 186.83]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_b95eae83384d8c6b41b9ed8f9fd16704) >>
->> endobj
-8164 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.646 175.927 299.806 186.83]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-8165 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.872 175.927 430.338 186.83]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-8166 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 113.179 225.331 124.083]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_2b3eb71543b3284872781f0b4481fe39) >>
->> endobj
-8167 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.099 113.179 345.367 124.083]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8168 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.53 113.179 513.996 124.083]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-8172 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8176 0 obj <<
-/D [8174 0 R /XYZ 90 757.935 null]
->> endobj
-286 0 obj <<
-/D [8174 0 R /XYZ 90 733.028 null]
->> endobj
-8177 0 obj <<
-/D [8174 0 R /XYZ 90 628.113 null]
->> endobj
-8173 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F21 2111 0 R /F50 339 0 R /F65 376 0 R /F72 471 0 R /F35 2018 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8226 0 obj <<
-/Length 1621      
-/Filter /FlateDecode
->>
-stream
-x��Z]s�8}���
3����ݙm�t�m�l��N��Llf
x�����B;��&�L��A����ܣ+6F6�t^�;��
�
��+�Æ�0�忡��$1au	��<�6�,�g�f:Y��a��G���-^��
�ȟL��p8
���,��0S�SX_��z'��
H]ͳ��r�_U��O#ʼ��k���R���T�8o1k3�y�������G?ϕ���Q3���e7�˘��#�.��:0��UXN,L���ax�M2j�۝�~����� exmQ�� �|���!�g`�<a��V�aS׉q����5T��%�
7&� �	�
-�/��ҝe�O6Ҏ�����\���@��M@�=f~�
i�WO[
C;��e���p�
���1l���r��|�
�̣p
�0ߢb1P�6�	d;�F����N/��ip�������o��`nd-n��;q)X�
�.�n#�20l#�Qe�cf1�
F	$��V�N�2TL4�b�V��q�v)E�M�ʐ�
��\乘�NjҚ��
-�{'����.�m���
K�­--�a�ǡ��1QW��k閇-��A�D#�[�_�q<�
�x/FS��e���k
H���f�ꄁ`��q�y@��R�SŬa�y��ؚ�m�zkN�!� ;oɪ.�.r�x��z5�&C-�~�YI
f�~]�r�D�M��B�z:�,���(��i�n�Wz��#�6r�:Z
դ�
�űz�gc�\aߒ��#�r�϶�,0
3�e[�]ҁ��bWT��J��X��1%q�V=�ҕ��vQ�PB���=д���1k���
\]����
 ���9�'�6Jq�P��Q�F�n����z����m�Q"�
(|�2
�P�GA�b$�V�(�	w�����g%��S"]gj�7謪��A䄷�ui�Q�u)��.�,�B�F�a|	�)�;�%��-.��פz���T�8M��բj��٩ �a���"AB�}�f�@�������S?u���� tP�C���+f�2�댮����:,뤥��'ݓ4��QKB! ��Hi�8�x�i`�,�����_Y�����a��$�g�v� !/���l��t
V�?����GYT-�;�c.�r��Ro�V��Y34���?�ف{�ܣ�Q�	�
���ۮ�
-{%qz淔
-�4���<$�Vj�¯����+7��T�P�k�I�3���<o ;���wbd�(�=�L�(�!�~� ﭠG�6�X
.9�zwѠ�?B�s�i#�ʣ���j����@���k�|ò�
�X	�۳�1-W��?(Ş��]����U9(�Zu�*��f�(�I!�7�u��ڣC1�`\�=vF��Խ�Lh#���}�tn���9V
-�d� �'�<n'�3�z0���
����I��T�]�H*�j"��8�
�V��0L���@�o��zh�ÙU�	�OA�CŃ`d���e���v����s�>�+��L �?���dЛ�#�s�V=��Fw���w�X!b�W�իvy.�k	�!��W�UH�����S	�W/������/����Of�ĪYt-M���#��:�/�k\������cT����\�K����9.��^o>�� G�$�f(*z��w�z�
-���-�Uu<�YX���(�����? `�
-endstream
-endobj
-8225 0 obj <<
-/Type /Page
-/Contents 8226 0 R
-/Resources 8224 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8138 0 R
-/Annots [ 8169 0 R 8170 0 R 8171 0 R 8189 0 R 8190 0 R 8191 0 R 8192 0 R 8193 0 R 8194 0 R 8195 0 R 8196 0 R 8197 0 R 8198 0 R 8199 0 R 8200 0 R 8201 0 R 8202 0 R 8203 0 R 8204 0 R 8205 0 R 8206 0 R 8207 0 R 8208 0 R 8209 0 R 8210 0 R 8211 0 R 8212 0 R 8213 0 R 8214 0 R 8215 0 R 8216 0 R 8217 0 R 8218 0 R 8219 0 R 8220 0 R 8223 0 R ]
->> endobj
-8169 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 706.973 225.331 717.877]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_3b5db50d397654bd1a8d4067d90f7419) >>
->> endobj
-8170 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.434 706.973 390.855 717.877]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8171 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.53 706.973 513.996 717.877]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-8189 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 644.232 225.331 655.136]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_8cdc72dfa85aed4e613f780b02e69e92) >>
->> endobj
-8190 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.333 644.232 363.754 655.136]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8191 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.53 644.232 513.996 655.136]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-8192 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 593.446 225.331 604.35]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8193 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.071 593.446 276.878 604.35]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_187bdab1051f58af280af66645ce1fed) >>
->> endobj
-8194 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.215 593.446 415.636 604.35]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8195 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 554.989 162.657 565.519]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_b3ad0a7ad694f4a7724504544aff49fa) >>
->> endobj
-8196 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 479.315 190.738 490.218]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-8197 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.236 479.315 261.85 490.218]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_38a5f3efb1fe599046d2ed48223bfa41) >>
->> endobj
-8198 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 442.5 190.738 453.404]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-8199 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.236 442.5 262.159 453.404]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_46f912e8b181561f68062e183005c8bc) >>
->> endobj
-8200 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.216 428.899 279.072 438.805]
-/Subtype /Link
-/A << /S /GoTo /D (main_Affine_Independence_and_Affine_Dimension) >>
->> endobj
-8201 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [313.187 428.899 391.232 438.805]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Affine_Dimension) >>
->> endobj
-8202 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.523 406.059 210.384 416.59]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_c2583843b139ce11b842155b35d60332) >>
->> endobj
-8203 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.523 369.245 210.384 379.775]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_294875fd6b469d8949f08c24b5893b6e) >>
->> endobj
-8204 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 332.057 202.922 342.961]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-8205 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.42 332.057 248.58 342.961]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_1dc5b9db43a16365ba0773a96fe1b799) >>
->> endobj
-8206 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 295.243 202.922 306.147]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-8207 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.42 295.243 296.181 306.147]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_2fe458f016db5eeeb95bee46f1800533) >>
->> endobj
-8208 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 258.429 209.547 269.332]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-8209 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.045 258.429 261.831 269.332]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_6bd361a7c7e187c0ff63c62894e741f8) >>
->> endobj
-8210 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 221.614 209.547 232.518]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-8211 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.045 221.614 309.432 232.518]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_425f248891aec4ed7800bd92334fd7c1) >>
->> endobj
-8212 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 184.8 205.692 195.704]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-8213 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.19 184.8 261.312 195.704]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_cc8d0378d1cb13b5ddc04dd12cf18ebe) >>
->> endobj
-8214 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.65 184.8 332.156 195.704]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-8215 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 147.986 205.692 158.89]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-8216 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.19 147.986 261.312 158.89]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_3be7b3a04406453631aef24b817565a5) >>
->> endobj
-8217 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.65 147.986 338.781 158.89]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-8218 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 111.171 205.682 122.075]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-8219 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.18 111.171 261.302 122.075]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_d3e2a76d26bef272d0a13fa3bae9a5c2) >>
->> endobj
-8220 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.64 111.171 330.462 122.075]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-8223 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8227 0 obj <<
-/D [8225 0 R /XYZ 90 757.935 null]
->> endobj
-8228 0 obj <<
-/D [8225 0 R /XYZ 90 726.054 null]
->> endobj
-8229 0 obj <<
-/D [8225 0 R /XYZ 90 612.528 null]
->> endobj
-8230 0 obj <<
-/D [8225 0 R /XYZ 90 573.697 null]
->> endobj
-8231 0 obj <<
-/D [8225 0 R /XYZ 90 494.381 null]
->> endobj
-8232 0 obj <<
-/D [8225 0 R /XYZ 90 459.589 null]
->> endobj
-8233 0 obj <<
-/D [8225 0 R /XYZ 90 422.775 null]
->> endobj
-8234 0 obj <<
-/D [8225 0 R /XYZ 90 385.96 null]
->> endobj
-8235 0 obj <<
-/D [8225 0 R /XYZ 90 349.146 null]
->> endobj
-8236 0 obj <<
-/D [8225 0 R /XYZ 90 312.332 null]
->> endobj
-8237 0 obj <<
-/D [8225 0 R /XYZ 90 275.517 null]
->> endobj
-8238 0 obj <<
-/D [8225 0 R /XYZ 90 238.703 null]
->> endobj
-8239 0 obj <<
-/D [8225 0 R /XYZ 90 201.889 null]
->> endobj
-8240 0 obj <<
-/D [8225 0 R /XYZ 90 165.074 null]
->> endobj
-8241 0 obj <<
-/D [8225 0 R /XYZ 90 128.26 null]
->> endobj
-8224 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F35 2018 0 R /F65 376 0 R /F99 2117 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8280 0 obj <<
-/Length 1850      
-/Filter /FlateDecode
->>
-stream
-x��Z[s�6~���i
3E�N���L��I�i_vw<��	�
.�x�_ߣ
l|IB6�L
2�B:�pΧOBعt��~�����]�
�d@�b�H�CX��8�\B�	��g
�n�ϣ�G���n��I

?$�<�o^��
�$��n���d9�'ó�#���G�}����
!
�4o҇p��M�VL#�d��
y�P��7�^�w����Wc~�a�v�z��v�I����,*c5�9a,D<�	$Cr���x��ӱ��c�0ܶ&�y��b�π@+v�N�"*�3�>}���q0bR8+�k�������q�� �R�f�8n>	Q #B
-�
����Z��8��	���lf�U<��
�\�PϟCx��fs���s
�dj��E��V�?}RG@���kLQ��C��U��e��0�ћaDX��2_ƦS�$Ca@�N��D�s���sU݊��
-
-f��6h��d���8-���v)e�%���V>?c�:��Q�E
�UR

>�=�6�z�]ԙ�u�[��q��R-��4�(w�=��8/⇂C�8pe����@QH��C
�Z�
v�����
Ap�
�Qf�l�]&cM��YVē�H(��G>�M|0J
>ԅ����e���]
u�ć�qr
Y����
-�ƇI�A�–�hꡃ+��"6��E�l��1�,��K��:
��e�b��8[���h�eIZ�y6߅�&�v�:S�ҡPju�i���}�K����E����FU5�I�›k�M��E�tWO�URئ�	�Ah�P�D���q
��E�F��-x�#���Q�u��
�]�F���G�e�t�kړ.���cVYW.����*�
���B���h4��k�����\;�n�
����
�@L������6Ic�-I;� K
��h�z���R2��}���+�h��4�W�{����(�����H��S�h��.O
{1<�am~�:�_�{,Ё��=�F1� 	���
�� 
#G_�y���1"���2qc�S�1����=Y���>d���r�
��0�k�cIK���
Qe
����Vۿ��Z��0M��HȎ�&Lo�&��i;M��N���x����i�
�0>Ӭ4f/�m�G@&��|�p����c
-��n6��FzK�:�)� ��,H�,�}>�oa�(D{_]%c�����FE{�f
�� J�6�3-��lio��|�,o�«��gy$y��~�q
�-���z��S��A�<��3
U,$��B�(����r����}��
F��1�n�4c,2�[�K���-�;P"�( ��;2I�y�vs�dGq"�8̉��XN�8�� �I:�ˉGZ�ƒ�D5b?'�d�[U
�h���Hc�K1�
,�eX14u3�D���dD6����a4֌fC�d4I�CS��ɚ���HkMjР^JW6]d9��e

�e�x��x#
-*�$U�}`9<SǷ���DNq��bm9����-����o�Q��r
-�"�<��ONm9�)�p�<���Qˇ�Q|����A=w�Pa���P�JB������v
��>��/�
-
�q4Ζ�_ՑÀ�!UZ��e�<����$I/�F�u����<GL�m3�����٢̓q��S=Y��u)v+h��a}
[�
{P
�����W�{'x)@�>��lU�*�
-��9<�;�܎ۜ��>��6}se�ķz��{�r F���甫s��!x4G��]]�
-������s�f�U��=��I&7?�(��u�2�oQ��f^=�өJ��F�G���2���~�+-l��o���u�S���X�q}v�,�NOW�h�&�
%��b1;m�q�	(��62��ͳ�^͡q
�s�
��� 5
-endstream
-endobj
-8279 0 obj <<
-/Type /Page
-/Contents 8280 0 R
-/Resources 8278 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8138 0 R
-/Annots [ 8221 0 R 8222 0 R 8243 0 R 8244 0 R 8245 0 R 8246 0 R 8247 0 R 8248 0 R 8249 0 R 8250 0 R 8251 0 R 8252 0 R 8253 0 R 8254 0 R 8255 0 R 8256 0 R 8257 0 R 8258 0 R 8259 0 R 8260 0 R 8261 0 R 8262 0 R 8263 0 R 8264 0 R 8265 0 R 8266 0 R 8267 0 R 8268 0 R 8269 0 R 8270 0 R 8271 0 R 8272 0 R 8273 0 R 8274 0 R 8275 0 R 8277 0 R ]
->> endobj
-8221 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 719.912 183.824 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ad10819182a33870e4b0a7e3b2bca564) >>
->> endobj
-8222 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 683.628 192.272 694.159]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_1190fcf4794305386f8475f9ac51ce00) >>
->> endobj
-8243 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 646.597 241.935 657.501]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_41c9a9dc63e253ac5ed21cbdad4e2640) >>
->> endobj
-8244 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 598.981 213.163 609.885]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_db466cb206f1d16d24257a838d130cf2) >>
->> endobj
-8245 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.501 598.981 351.922 609.885]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8246 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 564.588 189.901 575.118]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_df7bd95cb0014251d60d1fd82c1d3932) >>
->> endobj
-8247 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 527.93 193.229 538.461]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_fb7b94b681c4d195080fa81ed1480cc2) >>
->> endobj
-8248 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 491.273 187.689 501.803]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_e386245235cada70fc797b0747b0d326) >>
->> endobj
-8249 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.505 491.273 226.693 501.803]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8250 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 456.132 228.895 467.036]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_99dc4fb442b60dc9c694d7abc853a3dc) >>
->> endobj
-8251 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.232 456.132 333.482 467.036]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8252 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 421.365 229.503 432.269]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a8128b9910f31bc963842e48c44a863e) >>
->> endobj
-8253 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.84 421.365 334.089 432.269]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8254 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.98 386.598 187.264 397.502]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_3a03cd3ea1b11c1c8dbdf462959d79df) >>
->> endobj
-8255 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.963 386.598 293.213 397.502]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8256 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.131 386.598 371.148 397.502]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8257 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.711 386.598 455.727 397.502]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8258 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.98 328.917 187.264 339.821]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_6d33d9f1d987efe6e333c7ad1993dd5a) >>
->> endobj
-8259 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.963 328.917 293.213 339.821]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8260 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.131 328.917 371.148 339.821]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8261 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.711 328.917 455.727 339.821]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8262 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.235 316.962 220.058 327.866]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-8263 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.717 271.236 186.348 282.14]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_b73df10027395d3b2c9fbd3f3e77944e) >>
->> endobj
-8264 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.523 271.236 293.772 282.14]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8265 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.35 271.236 373.367 282.14]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8266 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.82 271.236 456.837 282.14]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8267 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.717 213.555 186.348 224.459]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_5358c9f367ad37e650d411ab5e558e50) >>
->> endobj
-8268 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.523 213.555 293.772 224.459]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8269 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.35 213.555 373.367 224.459]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8270 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.82 213.555 456.837 224.459]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8271 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.581 201.6 218.404 212.503]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-8272 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 155.874 180.496 166.778]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_888509fe116790d0b9a267e614be10ec) >>
->> endobj
-8273 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.834 155.874 319.255 166.778]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8274 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 121.107 213.153 132.01]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_78e60691cfc6b6b52a34cc7952380a84) >>
->> endobj
-8275 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.49 121.107 351.912 132.01]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8277 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8281 0 obj <<
-/D [8279 0 R /XYZ 90 757.935 null]
->> endobj
-8282 0 obj <<
-/D [8279 0 R /XYZ 90 733.028 null]
->> endobj
-8283 0 obj <<
-/D [8279 0 R /XYZ 90 700.305 null]
->> endobj
-8284 0 obj <<
-/D [8279 0 R /XYZ 90 663.647 null]
->> endobj
-8285 0 obj <<
-/D [8279 0 R /XYZ 90 581.264 null]
->> endobj
-8286 0 obj <<
-/D [8279 0 R /XYZ 90 544.606 null]
->> endobj
-8278 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2117 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8337 0 obj <<
-/Length 1814      
-/Filter /FlateDecode
->>
-stream
-x��Zmo�8��_�O�2P3|�T
�k��})6�d�K�0�I��%�(7��CQo�e�n�6�C`I�Ùg�����{����rr�N2/D��һ��B�)��w���'�`:#c�|J��h~>��ϖ�[
�����*����ו@�D��v�AǛ������~7�������Y�*X-�N��?�ȎN#��Z�-y5�Q�������3-g(
E=�fm�}���q�]NC���z��f�)$d�����
�A_�rc:]89����Ք�J�x��ɟO�GJ�r�h ��j��w����G#�])��8e��.&�Np�*�u��ݍ�$�P,)�[���\�
�}�	��U�-��V���R�C)a���O��٧����G��Yj�
���읢^ �I^z�"�	X��Ue�[�����2xr�~4���)���(O�����|ʔ_	��H�'���Q�:���``�$��
�,w����3A��6Y��$Y�n
���~����>��{���g�̻M�(`�q��mT���Ѷ�� [...]
-���fF�`��hN�a\Dq</��GIZ
�H&z38�w�f�`��q�����t 
-�~��^t�� �7��p;
ذ"�@�9�0�H��UK Y�:
I
4��&�g%� �.�P��g�>GT���\ۘJ��.)n��ө��oF�#��/
-�:���0%�8�����9?�<�/��H�Ԉ��o�T������c@�F~Tc`�uW�u����������{q���T�&��@A1�ٓ��s� �îW6U��\�b�@J��S�=�( �_lM�W�`�)	CLLS�P�h�*�\F蛞�@1A��+���
-}�5��HD:��qpx1�p���.'r� �8�.��(.98��AFK!'B#Ĉ�c�A��)v��c���yy`�d
��yt��L���
E8����Ѷ�0/�¤�&����8�;j
j=�FB���Q�Ɠ�J at Q
����~�x&�����1�7��:�B�a�
f�DB5f9�I���M	!�=_�Z�6��x*
�d����ec����X��v��q���^D�(��^V
-RҾ�	F���ϑ�
�XNv�;�1k�(��d�׸Csƨ7��}�DA��Q�e����_�����1�MZ���5�p�(�Y����eF7���ߔy �x0&/
Gd˝P0�
�P[d�+=�,�����68W��!�<"8�4��R�#8$�t76�;�a���Q�|`t1�,͔���&�k��E�Ї��f��I��R���qQ�.$`��0+Slf;Y�f�?��,��o~��%F�/��:7�|�7wzD�����
��
�:䶏jkJ}̀�X�9��[[���j��:-�Ӽ�-�+�ʨM���
q�FW/J� H��̶g�ژ9��X~�^�|~�m����<����v�4� e�(�����d�5��Y���uy���4nx��Is*��H��8
?���>~���\[ �-� f�fy̡��`(h�8�f٢Y�h���yM�Y��4��ͲB���,��,w�<c4��v��	8��Y�B���:I[�-�B:*n� �k&/5
��~�;	�,Y�� [...]
-�`�y��{��l�|
-M�R!�p�K
��o� ��o��d��DNB�A�v_5��B����X�Ī:�=�?it��w���7���B��f�G�&�>X����NubS�@����ba	�΅����?���Ii�V_�T����������
Z�I�u���l�^��֙�p�{㫬�w�,o
-1x�*��]����b5m
-endstream
-endobj
-8336 0 obj <<
-/Type /Page
-/Contents 8337 0 R
-/Resources 8335 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8138 0 R
-/Annots [ 8276 0 R 8297 0 R 8298 0 R 8299 0 R 8300 0 R 8301 0 R 8302 0 R 8303 0 R 8304 0 R 8305 0 R 8306 0 R 8307 0 R 8308 0 R 8309 0 R 8310 0 R 8311 0 R 8312 0 R 8313 0 R 8314 0 R 8315 0 R 8316 0 R 8317 0 R 8318 0 R 8319 0 R 8320 0 R 8321 0 R 8322 0 R 8323 0 R 8324 0 R 8325 0 R 8326 0 R 8327 0 R 8328 0 R 8334 0 R ]
->> endobj
-8276 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 720.286 161.677 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_41d30675a3c28980af0f087b06a1f4c1) >>
->> endobj
-8297 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 634.916 205.752 645.446]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ffd7d0678df82882b006ea7b02771f98) >>
->> endobj
-8298 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.089 634.916 276.595 645.446]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-8299 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 600.046 236.745 610.577]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_c6434b8a020aeda5828830fd4b639277) >>
->> endobj
-8300 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.082 600.046 307.588 610.577]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-8301 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 564.803 212.377 575.707]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_d3a8f10409a9fd73afb6691686d6862c) >>
->> endobj
-8302 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.714 564.803 289.846 575.707]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-8303 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 529.934 243.37 540.838]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_201ee4c814267695f31b30be833917bf) >>
->> endobj
-8304 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.708 529.934 320.839 540.838]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-8305 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 495.065 216.252 505.969]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_1d52cb88936eb0f5bde559b39f8ec42c) >>
->> endobj
-8306 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.59 495.065 328.042 505.969]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-8307 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 460.196 247.246 471.1]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_faf0bc4f0e0a036dbc3852b3e4490243) >>
->> endobj
-8308 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.583 460.196 359.035 471.1]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-8309 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 425.327 254.827 436.23]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ea7119974f9313e4c93908a2955c4186) >>
->> endobj
-8310 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.643 425.327 343.096 436.23]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-8311 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 390.457 209.627 401.361]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_0c2c96efcf10102068f754c608a12427) >>
->> endobj
-8312 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.964 390.457 314.791 401.361]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-8313 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 355.588 240.62 366.492]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_3a031a8e65176b8bd80d2857bd9a68b6) >>
->> endobj
-8314 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.957 355.588 345.785 366.492]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-8315 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 320.719 248.202 331.623]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_afc9294d3fb5f2c0fd8d4e4d22c283b6) >>
->> endobj
-8316 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.018 320.719 329.845 331.623]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-8317 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 286.223 193.577 296.753]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_7ea45b608af772cd69e2c23d7d62a3cf) >>
->> endobj
-8318 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.393 286.223 232.581 296.753]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8319 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.059 273.221 248.845 283.127]
-/Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-8320 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 240.395 193.577 250.925]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_3ad1db1c5141d2815c0d849d12548e4c) >>
->> endobj
-8321 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.915 240.395 277.691 250.925]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-8322 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.892 227.393 252.677 237.298]
-/Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-8323 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 194.193 223.465 205.097]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_676b331ee61606b74be4cd1f90756839) >>
->> endobj
-8324 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.802 194.193 362.223 205.097]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8325 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 159.324 229.552 170.228]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_0ea21bf85aa2e90c449435cfedcef181) >>
->> endobj
-8326 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.89 159.324 368.311 170.228]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8327 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 124.455 266.673 135.359]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_db0fa15c5f30fc4be6a94ce2606208ef) >>
->> endobj
-8328 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.01 124.455 405.431 135.359]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8334 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8338 0 obj <<
-/D [8336 0 R /XYZ 90 757.935 null]
->> endobj
-8339 0 obj <<
-/D [8336 0 R /XYZ 90 733.028 null]
->> endobj
-8335 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2117 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8406 0 obj <<
-/Length 2792      
-/Filter /FlateDecode
->>
-stream
-x��[[o��~�� �!���x[��l
-l�E�x��,Z�m����d;��ΐ")�d�u�[$�sΜ���s���6��_/�ruq�V�� #�
�n�%��j|
-	ALO�c
��
F�U4{?�8L�Ow�b��%��h����o�O���i�!^������vBt���~��Տ�o	)	�
-��d���Tt"Qf�oȷ�)8|C��
�r���;j���2��\oWC�x�YF�ؾLSHH
L�Fx�|�o�l`�z��q��ǾKF��}���ů��d��
-Q-�����/8X������c�jp���2�x�
�
-��L��@�B�P,)����R����
>M��C6s��?�:mo�r�V���fBE#����m��u�;��3x��w���`a���Q,�z����gRy���|�h�a�g�"�	�
E�k7�?g���ܧn�)��4��L}Ƙ�"Jm8�X�m�w�ε�JgHI�7��Nd��l'\��d���No�Fw�����S�H���x��'��aa��e�����<�	�D�:q,��~�@�m�z��s�8����,�)���)�7����3a�-c�	]�3�����/�qk?�?'�X�It�<~
�<XL8�$�aώ�2�%�8��~���ưZ�uSϯb�o�l�}��Š�I�����(��^�ΤΦi�
�򈰍�v��,^��d
���w�}���Z�n¡�pDkوL���	�0c'r*=4���o���-�V�S����[��h��������E� ݊Aޯ���I�������� Iַ��Ci��w#3�

���
‰AB

��$W
��j�I؇��F�^l��]��܂u���};^��O
�j�
-��m/c�Oi7ᐁA<�(A���DL֐�|#نg�S�F̘>0�2{��6�����e�Um^�A��q��� 0��T�����F��$�f�K�1R��>
�[��ܲ�
ܲ����w
ni$JȚ�$7��
���ǭ�#���x
o�e�o����)�k�0+�`��2s�g�V��I�m��=�l������
@VGE���P��&-৐Q#�D��2�eB�X�ZЋ�,�
I���c��s�x,  �;52l�f��ih�t_۸�h�)\5 /��Z�3�*ϕ�*�|��hq��)Q.ȧH�
i�
{��J�E9$<�B�Hx�{�
�)�@��VA�jʂK!
	���(o��!o�ѴH]d����C_
),��!
�Q�0�j~��^a�
�������AH�b��D�=�]-f�L��?�o��颓R����wՠP�(����ث-wiw��y����ZOBCd�D
-"6�g�r������FK��a!+s
))�X�vV������l{�B��s�����^#q���� `��c0�E��@&��dž'���$CB���q�dթВ���Rf�.Z�
w�}P�������Z��K)��Ҕ	�_���FuQr�2� *�Y̔w����Ҕ��EA�p��@�hZ�21��U
-b0�9٧ً
-WO�3ET���S�聈l��D�ږ&;Z��Q9؛�#�����X$�k#�w�91Lb�*'���Ԍ���ݮ����}4e{)hʶ�T���z�̨i{�'�q�ؘ����<�j'Zb�i	bd	�GS��0��1
h��0�*�1
4lq
��khN�a*�%X�MDxI0
8��(�b�u(n�����ì7$I'Bæ��uԲH_7X`�C5#���
D��l<VᏳ�c�� H�(�A_=�,��d�K��@��0�����2c2�OH����o
�uj�
-4[�֝�G�}��΃:�0EE
ь�*Dg�I݃��$4lv��͚�M�C�A�Pg�h��)̆B4AҘ� �!����;/���O�����S[]�;��g$w���)׸H�K�@j�Z^�j�Ӻn���H���H�Yb�*��5�
"X{!B+2·UB�
�^�`���
-��o׺��Yg��‹J
`y]
��N"�
l�5��9
����8b2`X��yW.�oN�T���KɚϘ��2Hѳ�^��s�ZOy�l"���Wۛ&B�âo��=>�E�@J�1rf�ج�y^��4�`R2Z�`+����$��*o��
*K�N�n�
j�	U��!�a\��
0B�T�Nhśq������) ��8����A
-�
-��k�I��
-%e�P;�8��j� � \�U���r		�L���$�)�s ���7f#b!��g���ȹddg�� ��gVp���e�~>����l������%���խ��
ŝf�/�3�
���W=���������g�V��|D6
S7
Gf�����c
��Nb(��
)pa���Bz���� g�}��1��I1d�������
X�_�i�M�Lo�y��͗��~۷yN^怄y��N��4)
7s
��M7n��]ڜhanV5X�1#�	�.췯�a)r�~m��~����?p��
`T1
+f`����?�{7t�L������q0���� Y:�V�rB�|2��Y��Q�ϡ
f�r>tʨ f�&����~�W��W�`�����"�
y��=��"�y���
�z�~*bH�k��^��M4��o�L�u}�
z�4?B*�w#�S�€w��*W�o@�V�e~�w�kKٹ_w��.��a"D��m�����n��U�=��9p�
�d�oKLn�nd�
-�_�Ȧ����2\�߻�~�������w�~�l�(�_n6��Z�Q5��p2�&7�*���'k��Np����J�
-endstream
-endobj
-8405 0 obj <<
-/Type /Page
-/Contents 8406 0 R
-/Resources 8404 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8138 0 R
-/Annots [ 8329 0 R 8330 0 R 8331 0 R 8332 0 R 8333 0 R 8355 0 R 8356 0 R 8357 0 R 8358 0 R 8359 0 R 8360 0 R 8361 0 R 8362 0 R 8363 0 R 8364 0 R 8365 0 R 8366 0 R 8367 0 R 8368 0 R 8369 0 R 8408 0 R 8370 0 R 8371 0 R 8409 0 R 8372 0 R 8373 0 R 8374 0 R 8375 0 R 8376 0 R 8377 0 R 8378 0 R 8379 0 R 8380 0 R 8381 0 R 8382 0 R 8383 0 R 8384 0 R 8385 0 R 8386 0 R 8387 0 R 8410 0 R 8388 0 R 8389 0 R 8390 0 R 8391 0 R 8392 0 R 8411 0 R 8393 0 R 8394 0 R 8395 0 R 8396 0 R 8397 0 R 8398 0 R 8399  [...]
->> endobj
-8329 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 719.912 217.109 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_15b21e990e26976e615a7d3244ed843e) >>
->> endobj
-8330 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.446 719.912 355.867 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8331 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.984 685.05 201.742 695.954]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_8b2ee24610cb804238f33581093948c1) >>
->> endobj
-8332 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.442 685.05 243.629 695.954]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8333 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.079 685.05 371.329 695.954]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8355 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.458 660.47 271.379 670.375]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-8356 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.288 627.274 212.768 638.178]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_7999968db9fb568980215d2c84393358) >>
->> endobj
-8357 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.771 627.274 252.959 638.178]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8358 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.896 627.274 375.145 638.178]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8359 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.401 602.694 277.928 612.599]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-8360 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.443 569.497 250.099 580.401]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_bb5709426ac80aa0bcf907b4f1d4a577) >>
->> endobj
-8361 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.258 569.497 289.446 580.401]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8362 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.772 569.497 379.512 580.401]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-8363 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.747 569.497 513.996 580.401]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8364 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.304 543.708 439.335 555.874]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-8365 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.591 533.959 459.505 543.864]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-8366 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.207 511.721 266.586 522.625]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_c7b41dba5d22086cb9715c3f51248f98) >>
->> endobj
-8367 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.509 511.721 309.697 522.625]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8368 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.494 511.721 408.234 522.625]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-8369 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 511.721 513.996 522.625]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8408 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 499.766 171.361 510.67]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8370 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.237 487.141 480.87 498.097]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-8371 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [427.125 474.973 513.996 486.554]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-8409 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 465.483 155.212 475.129]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-8372 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.091 442.986 250.748 453.89]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_97cc0d02a88d52e79cbb6615a3bbab42) >>
->> endobj
-8373 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.068 442.986 357.317 453.89]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8374 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.405 442.986 456.145 453.89]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-8375 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 431.031 202.344 441.935]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8376 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.005 418.406 446.071 429.362]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-8377 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [342.547 407.447 438.461 417.352]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-8378 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.017 385.209 265.396 396.113]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_2c47f2f619b1d0f322b742891920735f) >>
->> endobj
-8379 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.568 385.209 375.818 396.113]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8380 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.239 385.209 478.979 396.113]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-8381 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 373.254 225.866 384.158]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8382 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.222 360.63 466.67 371.586]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-8383 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.37 349.671 462.285 359.576]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-8384 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.933 327.433 239.984 338.337]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_e274e65fc3f012ab21bcffa3177228c5) >>
->> endobj
-8385 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.633 327.433 280.82 338.337]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8386 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.855 327.433 405.104 338.337]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8387 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 327.433 513.996 338.337]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8410 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 315.478 171.361 326.382]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8388 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.257 301.644 432.092 314.802]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-8389 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.436 268.454 251.209 279.358]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_732e7355673aa63a2fc22a470a36f707) >>
->> endobj
-8390 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.361 268.454 290.549 279.358]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8391 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.719 268.454 409.969 279.358]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8392 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 268.454 513.996 279.358]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8411 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 256.499 171.361 267.403]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8393 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.114 242.665 456.992 255.823]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-8394 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 209.475 224.57 220.379]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_77a2a8e38120a21ac0d5f19eb6e1668b) >>
->> endobj
-8395 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.908 209.475 363.329 220.379]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8396 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.27 196.85 344.597 206.755]
-/Subtype /Link
-/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
->> endobj
-8397 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [463.2 196.85 506.527 206.755]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Time_Elapse) >>
->> endobj
-8398 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 174.613 255.564 185.516]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_940db627ef73d29e63fed31acc7553f7) >>
->> endobj
-8399 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 137.765 214.06 148.669]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_99247c74022e8d51cd0a2d93a87bcfe5) >>
->> endobj
-8400 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.398 137.765 352.819 148.669]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8403 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8407 0 obj <<
-/D [8405 0 R /XYZ 90 757.935 null]
->> endobj
-8412 0 obj <<
-/D [8405 0 R /XYZ 90 191.71 null]
->> endobj
-8404 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F99 2117 0 R /F65 376 0 R /F97 2175 0 R /F38 342 0 R /F98 2120 0 R /F34 2406 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8458 0 obj <<
-/Length 2130      
-/Filter /FlateDecode
->>
-stream
-x��Z[o��~�� 򰑀�x��
cQ ݍ��	��n�49���V��������*J�lyӇ>욗�3��+��G?\�����ڱ
��c:���`�p

aq�g� ˛/�xv3'x�i���M<˓�Ge��
?�A����
�8H��ˣu�#���o��M=�����kBz�.��l`G��A-�D02-֬�D��&ųO���� k[�1����
�������93g<-���b���,Q�3�
F�bn��K�x�u6��ך�ez������� �D��v��Q#L/>�����d`d1���U�a��M����_`m*�7�}A��
�ᚠI��ӿ�&��7���

-6|���#�N�T>j�n�*�� ���B�Gqʳ*γ�������tŎ/��4g-��|j
-��E����5
�ul�96[�`
���.�*ma�_�q[�jŀ�P��,�����F�@J�.;�{Ѓ�����^
�i�g<���|��e�w.a6"�4'�ؚ��F��5�*�&$ ��NK(�F�
dz�a��}��
�Tz����
j'.\�+�M�V���\Ō��
^�\?���g��搠��Y�Y�7�>���1ۇXYՇ���&rR���t�m_S�C�+t�Y��_��

����H�U�<���[�W錱Y�A�H2!״UĦ�� �8�("2Y�"��7�Q �ߨ��������Q� �Ȍj
aL���6'���磨�iF��.
B�k�k�T(����ĝ��sB�F��vF��PrI�D���uh��Lgvǹz$U~�t��3K��6�̽�8���E9md�G���"ؒ.�
Ŕ�?��
-��NM*ڏ�AJ��B�'��I/�'��v
-�8xHx����R����lD��+����M^H�Q`�
-
����0N%�rn��Ѿs�}
�o`�U����ц|Mm �ф�؝r6�Y�UZJ"u�7��qu��1��ֵ��̛uA=ڡ��:Qqa�q
�X̙��'>bb"���g����@� 4�Px����˞	r�������!���Z�w���ho��"�f�Vs@�A�k��@H��Mz����º�}p��
5�C	 C��Iݰ
�iP����"U���c!N�8p�a9
�q4=�R8
tTT
C�u:ê��k�P��H׳��R^���߅�nFV<=�
2���'������l�q��Q#��ɾ�A��l�Զ�a^�|�����-*�:��>�&*=hr]ڲ�:�e�8�tC��e{2��Y�<���:G
Σ�'P<��פ�kȵP�$;S�
v<��fP̷��9��
�2�
a�Q�a�󠲏�T���T�
1���!j�a�/q�$	2���ؿ���MJ�v�lo�h!�>S������7��_��'��.I�ܾ
|
!�2
C[ck/�ī�\�ܤ�%
1$�����F�ԋ���ט{��v�E�n�nRt�X�=iι�땂n�z���2|�ul�.�o��u$��p���$�;kp9��`�:�=�c�"��$�xtE_'�|���!�9'��*�c?Z��An��U�RT�Z�uS,Le�F^k�����B^NEf��Z�)���}��Gu���B�<���ƞ�]1���OQ�u�%
-
��Vj9�(�=�xW������\��U��
af��z�x
�bpw>;%�9o�7�ɤm�c����$d2��b]���!�q[o�
^��P"z}�-������T�h#ˢ/�|،ّA�!ϓc�>Ƀ���^�Bl�
g��ۦٍ5'0��A��g}$	��Ë�}/�	��DW���x�ݯ3񾋔���Z���!�P�М���6�V�o������P�y�����f0�I�sJ�J���2�j�]��w����߶u�_�ÐW�r���b�4���e�T����vK9�6���Ջ߂���Mb at xV�Ӽ��U��;z��mu^���ƙ��Փ�7�ō)�m��D�d~qVlMj��e����h�
-���On��j	��$�׵��ּ��c��
ON���1R��#1�-T�^�2D�V��j8-O}��XL��_���T��VD�f2d�UB
�	��fy��n�FF��T	�$��h��v!1��K<Y�E��������f��
-���(Q\_Er�;
�Q��٥�e3��> S�+�X���*�R
-endstream
-endobj
-8457 0 obj <<
-/Type /Page
-/Contents 8458 0 R
-/Resources 8456 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8469 0 R
-/Annots [ 8401 0 R 8402 0 R 8424 0 R 8425 0 R 8426 0 R 8427 0 R 8428 0 R 8429 0 R 8460 0 R 8430 0 R 8431 0 R 8432 0 R 8433 0 R 8434 0 R 8435 0 R 8436 0 R 8437 0 R 8438 0 R 8439 0 R 8440 0 R 8441 0 R 8442 0 R 8443 0 R 8444 0 R 8445 0 R 8446 0 R 8447 0 R 8448 0 R 8449 0 R 8450 0 R 8451 0 R 8452 0 R 8453 0 R 8455 0 R ]
->> endobj
-8401 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 719.912 289.866 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_2f90e70dbef264e99b7015c0ce7e16fd) >>
->> endobj
-8402 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.681 719.912 359.324 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-8424 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 685.043 290.971 695.947]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_19a2fb28254bc142e01f3ee00c27ea89) >>
->> endobj
-8425 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.787 685.043 360.43 695.947]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-8426 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 650.174 224.003 661.078]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_c5ec610fb42e16beaac59b537a71f187) >>
->> endobj
-8427 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.34 650.174 362.761 661.078]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8428 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.582 626.587 443.167 636.492]
-/Subtype /Link
-/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
->> endobj
-8429 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.201 626.587 513.996 636.492]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Concatenate) >>
->> endobj
-8460 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 617.354 161.686 625.533]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Concatenate) >>
->> endobj
-8430 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 593.387 254.15 604.291]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_4c7c04e76c758c53feeb8c5cf58638a6) >>
->> endobj
-8431 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.487 593.387 338.263 604.291]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-8432 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 558.517 284.585 569.421]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_dfe66b5a34b84fcf63d1a48777f68e4d) >>
->> endobj
-8433 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.401 558.517 354.044 569.421]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-8434 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 500.734 241.726 511.638]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_1ae424886d05361c1a78c89dbdd5b7db) >>
->> endobj
-8435 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.617 488.106 407.658 498.011]
-/Subtype /Link
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-8436 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 465.865 249.318 476.769]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_7a1f9b31c3ed7dc3e7691b9110ddbedb) >>
->> endobj
-8437 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.134 465.865 288.321 476.769]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8438 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.875 465.865 371.519 476.769]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-8439 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 430.996 240.62 441.9]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_966dadd4ba398fb77b77584e5af698af) >>
->> endobj
-8440 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.958 430.996 324.734 441.9]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-8441 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [390.537 430.996 425.724 441.9]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8442 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 357.581 244.265 368.484]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_cbcc65a843515d547f055b687d1e6d5f) >>
->> endobj
-8443 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 320.719 167.466 331.623]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_9bd884fea397d9d6cde6426e6f47cc4e) >>
->> endobj
-8444 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.281 320.719 282.702 331.623]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8445 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 283.857 193.029 294.761]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_57fc3d9d838fd7e20e80806307452a91) >>
->> endobj
-8446 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 246.995 193.029 257.899]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_9a864135634ed49de1aeae3b38ed933a) >>
->> endobj
-8447 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 210.133 165.911 221.037]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_885e896b320d1f4285b5dc92a20f8884) >>
->> endobj
-8448 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 173.645 187.689 184.176]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_804363984fe210abe47624522dfb7a92) >>
->> endobj
-8449 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.557 159.647 476.544 169.552]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_9a864135634ed49de1aeae3b38ed933a) >>
->> endobj
-8450 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 125.451 202.902 136.355]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-8451 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4 125.451 300.037 136.355]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_dea57326388915780370a677453778b3) >>
->> endobj
-8452 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 88.589 202.902 99.493]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-8453 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4 88.589 314.263 99.493]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_8eb19423295d8af4d69f144fc227128f) >>
->> endobj
-8455 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8459 0 obj <<
-/D [8457 0 R /XYZ 90 757.935 null]
->> endobj
-8461 0 obj <<
-/D [8457 0 R /XYZ 90 374.562 null]
->> endobj
-8462 0 obj <<
-/D [8457 0 R /XYZ 90 337.82 null]
->> endobj
-8463 0 obj <<
-/D [8457 0 R /XYZ 90 300.958 null]
->> endobj
-8464 0 obj <<
-/D [8457 0 R /XYZ 90 264.096 null]
->> endobj
-8465 0 obj <<
-/D [8457 0 R /XYZ 90 227.234 null]
->> endobj
-8466 0 obj <<
-/D [8457 0 R /XYZ 90 190.372 null]
->> endobj
-8467 0 obj <<
-/D [8457 0 R /XYZ 90 142.552 null]
->> endobj
-8468 0 obj <<
-/D [8457 0 R /XYZ 90 105.69 null]
->> endobj
-8456 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2117 0 R /F35 2018 0 R /F23 340 0 R /F98 2120 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8494 0 obj <<
-/Length 1325      
-/Filter /FlateDecode
->>
-stream
-x��XIo�6��W�4����"jt
-�������{�

Ybb�Z<=���K��l+��I�(��-�ۨ�:�~���>q"��w��N��' ��Թ"H��p8q
Ƽ�g�a�o,����l�c�y���,���솥����	wQ8��p�N?����)-�:���4ɞNL"Kq�~tG���6��
�
QD힟pm�~���ܦn���X�`j�3"$ ���#��v��X�h:� �׆%��z<�m:�6@�)tP� 
R')w_����
H:놪p<L�5wn
�qU�ڸ.�N(
�� OZ$����Ԫ)V�4��Ӌ:�׬�R_��
Uuߡ.XQ�Y�e�����Xj7k|�hW�P��p|��/�
*�0�4b�՚f�0� E��A��!X���8y��B��X�[�1���܍(T`�g¼R���q7
�2v׋YR���A��)�?�qI����v-����
0
�{<�
��y&�V+&5���x�'d�� x#Ot�l��@����
r��ފXd�Vz���v��s�V��zU&"���8��#a���n�e
un����Й�,YǾ{��qV/����GC��x�;O���X&K�Y�*LZ+-�}C,}fv.��QS�u�ĥ
�2͙�虎%���}��R/X"lm���7�X^ʋ�/)3%�
-
w�UU�Y�NT��ЇZ��E�	��")�
-sUk�kU,������o���
,�9X�c��E�d�Kς�eA��e�{s����h&9����#�*��åB'
-?*�M�u��.	�Z�6���t�z�w
T5o�	�[&�"z
�yU����j��+âHO�Ǿ$޶~�b}����G�(3)�4��ܜ��g`o�e��"F�
��U�!x6W1��?�ZNz�n���S]$�\yF�x�L�K�x����v� ����z�`2Kx'_Z,��_o=�L�L,v_�KfOvV4�U�
Y��f��\��1Q��/n��<cez��;�C�ɰZ2
�����O0n��n
=�d���c�3�
S��*H�f�[
��
3���0C-z�D!�
3�rm��

�g����ܑ
~����f�Am�=	�E����S
��O �e�ns��(� ���/��
S�}��٭ ��T�( ��G� ��U@	��B��4�Lp�d�-㌯��ܱo�8?^���0_JAṓ�f�%��(��B+i(�:���ta�&;�Էf\�o������
�?ǥ4�m�^�+Ʒ_���2�T\�c���2;'Ж�����쭾jB`
�B����x�^���2[r���r�����
.2F�����I@�ۙ�|XĪ���C���[9
-endstream
-endobj
-8493 0 obj <<
-/Type /Page
-/Contents 8494 0 R
-/Resources 8492 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8469 0 R
-/Annots [ 8454 0 R 8478 0 R 8479 0 R 8480 0 R 8481 0 R 8482 0 R 8483 0 R 8484 0 R 8485 0 R 8486 0 R 8487 0 R 8488 0 R 8489 0 R 8490 0 R 8510 0 R 8491 0 R ]
->> endobj
-8454 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.819 699.062 199.864 709.592]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_f191b9781c37da15b49810d47a838823) >>
->> endobj
-8478 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 622.369 203.075 633.273]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-8479 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 622.369 296.324 633.273]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_4a53183970490595ac39c8c070601c6f) >>
->> endobj
-8480 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.944 544.057 200.017 554.961]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_343e039e48425126b187827066d12bf2) >>
->> endobj
-8481 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.944 506.893 200.017 517.797]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_4ac4e4131c756f0ffce85b9dec7d2b3a) >>
->> endobj
-8482 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 428.581 211.703 439.485]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_b3b8f7e6fdd123f510ba85f4527bdee3) >>
->> endobj
-8483 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 391.417 203.414 402.321]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_269f357fca785afae3774b1e084d9b93) >>
->> endobj
-8484 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 354.627 179.265 365.157]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_21a9e355a53ec45a5a60213fa8c24f2e) >>
->> endobj
-8485 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.575 277.999 140.53 286.845]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_43ab45399b7e22ffcd6403b7e59a473c) >>
->> endobj
-8486 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.575 240.835 140.53 249.681]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_2d12805af932544a4fc1575f8db62a3d) >>
->> endobj
-8487 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 203.67 167.639 212.517]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2a8683afd33a1d57db43c9db16de1f5) >>
->> endobj
-8488 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.839 123.301 181.264 134.205]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_de7792cb469ddf1d5d8944bbe7f1f55a) >>
->> endobj
-8489 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.05 123.301 321.471 134.205]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8490 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.251 123.301 513.996 134.205]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8510 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 111.346 146.896 122.25]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8491 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8495 0 obj <<
-/D [8493 0 R /XYZ 90 757.935 null]
->> endobj
-8496 0 obj <<
-/D [8493 0 R /XYZ 90 640.498 null]
->> endobj
-8497 0 obj <<
-/D [8493 0 R /XYZ 90 640.498 null]
->> endobj
-8498 0 obj <<
-/D [8493 0 R /XYZ 90 560.283 null]
->> endobj
-8499 0 obj <<
-/D [8493 0 R /XYZ 90 560.283 null]
->> endobj
-8500 0 obj <<
-/D [8493 0 R /XYZ 90 525.141 null]
->> endobj
-8501 0 obj <<
-/D [8493 0 R /XYZ 90 446.71 null]
->> endobj
-8502 0 obj <<
-/D [8493 0 R /XYZ 90 446.71 null]
->> endobj
-8503 0 obj <<
-/D [8493 0 R /XYZ 90 409.666 null]
->> endobj
-8504 0 obj <<
-/D [8493 0 R /XYZ 90 372.501 null]
->> endobj
-8505 0 obj <<
-/D [8493 0 R /XYZ 90 294.07 null]
->> endobj
-8506 0 obj <<
-/D [8493 0 R /XYZ 90 294.07 null]
->> endobj
-8507 0 obj <<
-/D [8493 0 R /XYZ 90 257.025 null]
->> endobj
-8508 0 obj <<
-/D [8493 0 R /XYZ 90 219.861 null]
->> endobj
-8509 0 obj <<
-/D [8493 0 R /XYZ 90 141.43 null]
->> endobj
-8492 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F99 2117 0 R /F65 376 0 R /F50 339 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8529 0 obj <<
-/Length 3171      
-/Filter /FlateDecode
->>
-stream
-x��Z[s��~ׯ`^\rF\a�
%�Lc�N��qmu��d<	YhH���ʯ��
XpAQvҧ<᲋����sv��>̒�˳o��.^:KQ*��]���d&E�~Z���1FT-�8I���N�Y��޿^�d^m
��u���GqSg��奛��f���M�ޯ������y�����.^`<X�HX-e��Y�+;%�	'�д�q��K“�q7o"dEiʻo�<A�/�|�5��v�H�<��6Y���fKJ%�B͖���;ż�os#X^��<�(���#Ii�_������3
o�6�e�g��ٻ���7KM�������p��ޞ��,9j*���H���R�ؗ�����JΓ���lI�,������Ušۻ����ƽ�jwSVnp�oo@~sۭ��6Bw\ϰ@���G�m$��
�2��?����n��xA�`
��15򜀒@\IO�a����Ir�����h�
|a��EF�h}�%FK�F�hM������γ�bɨ�?s���Rp~�T�����u�Vu��SF���ա [...]
-l�
g
B��B߇���0�!q�
Zq�+��A�k�L��h��-�G�AS�:�B{<[����\p�Tf�bK
-�3��C����n�BD[�hE[
c<GQ�Z�#p�`)�G�#禪6�>	������!&�Q��8���鎝@
-zı1xP��T(��Tȸc
$�1m�޶�>:��,��&A"	d�Q�����g������Θ8��!�g���R%HeԲK���2)d�~:��G��޻`
hB K��IŭK����U�y�w�$^{�������֕&�m��!�b��� ˆg@/
�‘H���	">L�z�?.
-vYQ�]ѐ���6O�<��R����A��_L�]��%c>o�M!�ÞN��&�� @�������ϟ��R���ey�GY�tY
Of�D
�MU
�pZs�Z/��=�Ep/5���y�b0T!��� �c ��		_�˰�y��W z�k
�I���1�fso�sD�A0c��`(h�������Lw�tз"�:׫�͊M�]�ͪ.v�e1F
�C!���L�D�c����!�&��w�������"jU,��|����W�ʶ�����.�S�0De���5��+�?��#��̈
-�z���]'�}��,n̅k�l-�0�\־�)s��(�C��e��}/`x��Bh��HQ�ˣ��B��%�i^��!�&4�e�qQ[-���~��j��
���d�� ��o�1��#/�
^W۬(݀��>�`�r��V���/H���佋@� C��#��� 6�}��Q���
-��rP
N;	�ˉ,0�J^��h~�s�ō)��M=H���C��4��թk)
-u����^־��� �X
-��]��U�}��l���]��A�J���,��zT����&�
�����^�\�d� k�Q�5%d
��g
�
D
$���o��Ѥ�RJ~>ì�u5��(�|Q� ]�����hi����LL�6k
�B`)�:��U[c
@��Nw:��D�R����"}]�
����U������$�%=V�K�E�B�4⚂
Z�A��F�b���
��Ɂ`
��D
����g�`׭9����\C�a���@�چ2e�Ν��dnSÙǢq��?$	)u�<��<�TmE�C
$�-�wO8��C�y�*�&�Ӕk
��m��չ����6�u�s52����ʶ�:�����YI �s��¸�r~�b���q���	
���>uN���h���UU��-~͜9�?_���0�$�����P
�0��L��2#���NF}�uH�%,���$�a����u �
֒P`��vn\F�Y;�r0�W8U�$�F�[�1��t�F��
 4����O�'G�tn���h�	n���_4N� �P�w��ʡ 6%�M����D�Mg5p}ܷ�W�� �9�>�u��B|�C
���4ǗK���)���̖�`�������J�«��	�M�Ѝ$�dt?���Ʈ�9�!�E
-`9�3�M�T�.H<~0
�O`�����W/��AL�D�4���	]�A:?���эկ�>ԀΙ�w\("�ߺ<(��[�u��Ɓ
�;
���%t��Rz��`�

�h��v9��/	脧����H�Ժ�|hqG�Hb2<��)Ɏ�ª/Ha��u�����s��O`�$�?�V�P����,�H��"�Ɯ�S���Ӌ]ư�p�,��
M��7��݌���D����������a�2�~�:b����v����`g��Z�����*�n�py��!V���
�lwղ�#
F[w(�R��u���X�����Dx(�|5�6u����>�+۫�<n���rs�:��
&4J����+��W
����LQ��o�z���V�<��}�B��c�����ƖD
jN�G�ˮQ7�|xR���=�D�
7�����1%�#]��s��.�>fZݝ&����d�<������qp�v�����|�@~�>P���m'�*��m��:�ڃ}���
z�&PN����wϟ���щ�/�"�(uP|[�J�
���-�8��,0l!b8
ȳ�8��k�zu�a>�������J��P��Q�s�?Z�ț�C�bLq
�s��1���1p�%6�]�
-cx�ow-�c~v����l�^��o��t���4��#h)-o
G�3C�'�Ƣ�Lz����
�,�!��h֒�����5����͋�]{u�-�"�۟J��}4��&����� κ�8�`7wV�@�[:/`���އBn�a
���:�sO!�#"�q��}I�"��݅=AD��0�sp{���0n7A��Ď���
),u�'5�v��_�E�KW��>�I��d8�Vc�\�w`��(E2��U3
WC=C�
8��];L�Ԝױ>pXszaF�o��;��,b/
d�YmJgR�b7s���l����)���oƧ$/�ـ�Y�C����:7��D2[|��r�,�����pg�n4�j��Pg�� [sp؄�������	�e	
��@���]
���p��R�N�#��	·�:��)蚍κ��,�;����>����?- p\��gV�^G��Ѫ�G���ED�$�Go��	i%�i����
@��b%��z׶�ˋ���{�jо,v5*�
��/O&T �C����U��zQ�#S������6
-endstream
-endobj
-8528 0 obj <<
-/Type /Page
-/Contents 8529 0 R
-/Resources 8527 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8469 0 R
-/Annots [ 8513 0 R 8514 0 R 8515 0 R 8516 0 R 8517 0 R 8532 0 R 8518 0 R 8519 0 R 8520 0 R 8533 0 R 8521 0 R 8522 0 R 8523 0 R 8524 0 R 8526 0 R ]
->> endobj
-8513 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.064 658.284 229.749 669.188]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_3a18eff42a557fd87d59895399c7a13f) >>
->> endobj
-8514 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.784 658.284 444.205 669.188]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8515 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.053 595.655 179.177 606.559]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_7a9afaf958c6f9dd09c89bd706dc09b0) >>
->> endobj
-8516 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.391 595.655 319.812 606.559]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8517 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.251 595.655 513.996 606.559]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8532 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 583.7 146.896 594.603]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8518 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.762 533.025 158.127 543.929]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_0e39243c24d99f8d374f9c14e3da8d98) >>
->> endobj
-8519 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.789 533.025 386.293 543.929]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8520 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.4 533.025 513.996 543.929]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8533 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 521.07 306.128 531.974]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8521 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.525 345.227 253.249 356.13]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-8522 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.782 345.227 341.46 356.13]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-8523 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.993 345.227 369.896 356.13]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-8524 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.352 151.733 304.232 162.637]
-/Subtype /Link
-/A << /S /GoTo /D (main_CC79) >>
->> endobj
-8526 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8530 0 obj <<
-/D [8528 0 R /XYZ 90 757.935 null]
->> endobj
-8531 0 obj <<
-/D [8528 0 R /XYZ 90 716.221 null]
->> endobj
-8534 0 obj <<
-/D [8528 0 R /XYZ 90 483.879 null]
->> endobj
-8535 0 obj <<
-/D [8528 0 R /XYZ 90 421.492 null]
->> endobj
-8527 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F35 2018 0 R /F72 471 0 R /F65 376 0 R /F7 505 0 R /F8 504 0 R /F23 340 0 R /F31 472 0 R /F10 473 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8544 0 obj <<
-/Length 1851      
-/Filter /FlateDecode
->>
-stream
-x��Ymo�6��_!�f3�Q�����]�-Ȓ�_��P,��*K�$'���E�d˩�b
�}hIS����;s;o/�G�=�(��\Ϝ ;��V�"�fHbb4&��ň�aX,��ň�a��2*�ɯ�m��c+P�a��'�2ZMe4�(FD
3�Q�>^�;zMHkA��j�
���N�H�&�eA-��8S�����\��u
-^�y�Gk��i���v=
-�P.�$�������3g�:�RΤޘL�F��a�lU2F����z�׀�(v�v��#*�3]n>b'��wF,ν�Z:.e�&����n���PQp��m���@
�4R
���  �B��'�%�eVqf��EXٞ,��tgYa��U��Ҏ��l�D�_�jUX�3
���h4v9���(�K��݈�!x��ÍM�����|[�qkvi��m즍	6tU����Lk��,M��Of�Q&�H�s��7*9x2�!@���	�x�L�s
���cB�/���j��ڷY�0�i�̳T������PGw݂7��c�(�E�[�Ϩ
-Hb:z��#�7B��,�H\���
;�,WK��6:�Vrl9�b��IU��]�"�nt�h���=�
�h��&�O���6��Ձin�E<�X�G�z�����G��\�������b�߅�M5靂vX��
-Į��#�m���c�@��v�m�zH�~-����¦D��4�6y������ ���LZ�2�9`�-tgY�*(�{�M�Q�c�
�" �q����L�
�=:�~�)!�m�>ٵ�%�l{��a0�Q߅C	��̤��ǣ�M�J�M��u���8��!
-�
ُ�� ]�IT�ߡ��BN+3����?����s���qԱ׎k:T���O�paOw�k-=��]*`E!K���n�
�̶�^�γ2�Z�n��: ,'�i��5���ø(�oì��`�q��:����0�,�0�k
�I�lm	���<�1�wh�r])ڃfV�y:ֆ����'
-D�v��h�\�E����0�ⴔEe�#�`�{nZsF��i�N��t��\����N�A}��j� 9٠�
l��I��_��ff!���G�2���hܒ�
-�h�*�"ص<����>��N^��tޡ����.��5����6�t.Ce����w�着#���wH�Y��E�A�j��G�n
���"j�ʖ/�����"8
�A��S�����>Vb�+��>�r�r�
�ɳ~v
-��9��`�|q�
��߇�$��K�”����)��^��귔����lU��''���S
?�jU�YWJ�Q�{Xsdb��OZ/ͪCޛ
�Gs�!���ɠ7��͊o���ɞ<�8�;��<;9O[nˌ W��b%��\y�}
���;�{[7���W�t��i֕�m���=�E�*�@:��6%��bf�
-Q�s����l�����wG�y��T�)���ȷf�U@)�8lJ�%P���v_ywܪ�R�}�}U�p�8��K��S�a
1�_����/�:��ؾ;18�v�|`�-�����
-�Q
������)]-'�Բ�"�nb����#��q�
-���x
-��IʹLU�WN��@�cr ���⦐�:�=�{�`�ޟ��pvyu֣	�#h�V��j�nE�B7q�ĩ��/�$���Ǟ����;bL|�Q�O/[�о��?e��Y�
-�w�	�y
�r�JX]�7Q/�X��j�v��( ��]�߼�@tnt��
U�P)j�9j~�d4?������C����t&�z^]U��R4F�/"* ��诤��4;��Խ_�y��W�n𱨪������
MK�J�@qu�����E�����o��j~^fu�1Nap�yz������
-endstream
-endobj
-8543 0 obj <<
-/Type /Page
-/Contents 8544 0 R
-/Resources 8542 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8469 0 R
-/Annots [ 8525 0 R 8539 0 R 8540 0 R 8541 0 R ]
->> endobj
-8525 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.372 707.957 302.073 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_1190fcf4794305386f8475f9ac51ce00) >>
->> endobj
-8539 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [309.149 597.512 329.403 628.48]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-8540 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.563 597.512 422.493 628.48]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-8541 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8545 0 obj <<
-/D [8543 0 R /XYZ 90 757.935 null]
->> endobj
-8546 0 obj <<
-/D [8543 0 R /XYZ 90 171.722 null]
->> endobj
-8178 0 obj <<
-/D [8543 0 R /XYZ 90 148.481 null]
->> endobj
-8547 0 obj <<
-/D [8543 0 R /XYZ 90 148.481 null]
->> endobj
-8542 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F65 376 0 R /F31 472 0 R /F7 505 0 R /F95 1788 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8551 0 obj <<
-/Length 1476      
-/Filter /FlateDecode
->>
-stream
-x��Y�r�6}�W�fJ$�Nrq�I;���S���lq�[I(���
�H���I�
?������9

-;wv~�=��-�s$��
-��֑��C��Z;o� ,\�1�_,��e�.��d�Q�2\�ߔa�?;�/�8L���Zo#�^]�
�s���W�����>�&=p�^�敁O#�d��
��¥
�_P{�f¬ǐ������ݲϓ��kW
I�*-�P+3�q����[`ި[U���y����ؚd����˫�_3��!5���h��(������_918�����(�k�\���a�U��a�9>��Y��D�*���vdliy ����%i����l���q��*γj`ey�qo���~��F5`������o�k��`\��>,��H�vbU��}`'ygw�)E�?��D�Z]��d��|g�SAQ�(gmP����wSe
�m8`�
��6����ʺ�Ff6��������&�vu�\o��Sm�8�h�� 
\��{��i����H�`��
�!��^��%*�ӛ�*K�4�{iP���
;��u�_ӣ�	�N��q����
-��
1�u5ʈ4�����$�#j}/����I���)Ծ��
)"��%Fݣ�
T6;�n>���PT��
(�3W6��B���C>x�&)�R�<&Nr"G��=��n�)��h�勴�� q~Z
$�'
hao� ���!-�����)�C�<���
G�����
-����yvWn�L�.��J�w�5^
��í�]5�Rо��������8K�LB�U},�8���Du��B�)��HP�3 ����
myxn%8�
�ؾcf�Z�
����ã�K�lV�F�q��8����Ƨ����
�;v�P1�bȧ_��l���X^��������(�
���r��~B<��O���>�:�g&�>�I�^����R�HO�I���2p�m|0���5n06�

ĕ��FyZ�:�I��]�7vrf���fNny����C� �
-�lP at h$	�
�?�����Y���c�z�c��S2M@�9���i�0�yޤ8�vmvg3:g��gT
-
���S��$P>��m����\�)�0<�q*�67S�s���dxL��G���Z�{��f��"��`�1�'�_�k���C}X�K���G�	6��
6�|��=0�
P��[��V�y_��fJ#ؼņ��eP;�jkj
�Эt	��-[�i��/ z��t�
f[\
�r�G��g�
����O-�S���kİe�Z��eOG��G}��0��G}遟���T� y'�W;�����

yзh|۾�.z�o��&���'~������<���	�u:�0lf���l˪�i���g�����m�4�&���]��?0LV�. ��R)d�{��{=����/	�qWZ����r�ۡ�B�,.J�eQ$���ѳb2�3r�~�N�R��	��Ǵ|���o32�L
-endstream
-endobj
-8550 0 obj <<
-/Type /Page
-/Contents 8551 0 R
-/Resources 8549 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8469 0 R
-/Annots [ 8548 0 R ]
->> endobj
-8548 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8552 0 obj <<
-/D [8550 0 R /XYZ 90 757.935 null]
->> endobj
-8179 0 obj <<
-/D [8550 0 R /XYZ 90 638.659 null]
->> endobj
-8553 0 obj <<
-/D [8550 0 R /XYZ 90 624.405 null]
->> endobj
-8180 0 obj <<
-/D [8550 0 R /XYZ 90 416.526 null]
->> endobj
-8554 0 obj <<
-/D [8550 0 R /XYZ 90 402.271 null]
->> endobj
-8181 0 obj <<
-/D [8550 0 R /XYZ 90 180.38 null]
->> endobj
-8555 0 obj <<
-/D [8550 0 R /XYZ 90 166.125 null]
->> endobj
-8549 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8559 0 obj <<
-/Length 1574      
-/Filter /FlateDecode
->>
-stream
-x��Xے�F}�W𔠪0�
3
[I��7e�N6��*.ۥb��nd��>=̀�E�����'�K���s�s�`�ك���B0'D��¹�qB��!����K����#c�rN��i���S���~��e�|_�Q�?;��8J���ZoWj��,�D�9����W������`Ns��f��&�ea;�g��ܣ
�?S;x6���P�v͏Gv�=O��2�]�CꪴH�Z�e��X����`���Lݨ�1���<K��ݒ1��
^���x�
����J������Y���F,�ή��:>epM��?f؆
-
�
ƾP�����6Q�jUVg�!� P�
���
j�YU���
��+8Һ{�Q�j_�*5���\WyV�eg������.������0_�7{;�ݷ��rι�F&
���H��#��e�V��c0�� ��ݢ��ggq6���&J��2*o����S�
�� O��)ww��c���6��A
�
��� �fU{MWyZDu|��廸��ř��
���������6���8T��
`�Q�Nt%�o~�De��f��2/OapD�`
-��}�1ݪ�Vv���
-�hn�9S҃�1��nw����g
/�9�.��ZW����q���3c�I��vYP)���
��mF��	F
ϧ�p٣[D��[��h�p��`�x3@���f�/T|0�$�@���\`�P��K�{�/�$�R"���l������x=¥d���R q~Ze�}>P��Q=�r�C:r��A
��v��}�9>��2���<���7ƀAɂD�kb( ��
���d����h'���$ΔF�T�I������A3!!5< A-e<����*A�cw�W+�Z��ܯ���ķ�KSi`�9����9���F�q'G�x�����s8��z8�o�iu�Д#N��X��(����R�6�_��sKu0�j�U�?�TsD�n�TK��T���� ,Ň�� HFKuS����k�Nذl�6�h��0N	7��
)��OX���b,� `�D���~i>j��
�>�
-k�-�8�U}�
��D!K$eW�?��by����'�zt�b�� �Q8�k���5$��sHr
�Ǜ��	��5n�<
�>��l�,'tMŨ�a���b�57�5��_�\��.��
�G��`�VM'Ԝ���лlR{�n�W�=T��J
���:Wvb�[�dj����(
�B��W�;0��g�hd0����$�C#�K���<DAС�t���hR/$B�ӦP8�wS�jj7
"Ne�`�a�B�0��]�mߣ]�򆴨��C:����O�R Uٹx��CB=�K>�$��S���3n;tŭ��1
������r`��t����0���n�`��7��Ӎ�=�ߘ
����~����=�ycQd㹋�Č���;t`�>
*���(վ�vt��>_;�a2��,d������1��]e���
-���0�.�w�鳷m�gnm{gn��T���س��4ʶ��8���[A-w|ԋ��oy�R�I���N;�uք�`/�b����uq�X�v;���6�����(���T���
�Mnr�K �K�r <�:���_�IiD
-endstream
-endobj
-8558 0 obj <<
-/Type /Page
-/Contents 8559 0 R
-/Resources 8557 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8469 0 R
-/Annots [ 8556 0 R ]
->> endobj
-8556 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8560 0 obj <<
-/D [8558 0 R /XYZ 90 757.935 null]
->> endobj
-8182 0 obj <<
-/D [8558 0 R /XYZ 90 612.595 null]
->> endobj
-8561 0 obj <<
-/D [8558 0 R /XYZ 90 598.024 null]
->> endobj
-8183 0 obj <<
-/D [8558 0 R /XYZ 90 382.122 null]
->> endobj
-8562 0 obj <<
-/D [8558 0 R /XYZ 90 367.552 null]
->> endobj
-8184 0 obj <<
-/D [8558 0 R /XYZ 90 127.739 null]
->> endobj
-8557 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8566 0 obj <<
-/Length 1819      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�6~����f3û�`+�ކvm��
��-�V
a��IJ���
�ԅ���k��aO��<<�����:��/�Nj��s����2X��d��U�aJbj6'��ь�i�o����lsu����Ur�G��ᡛP&�fsu�6^�/���Q>#j��C9��xy�Ά4��4u��~�S<�F��z�S��lN�>����Xΐ֢^�h��f�'��(���L�i��m�26˂9c!Rsp��1o�Ӹ2,N�v
�
-av"�����b����[
�ʽ<DT�`��|����`Ĵ
-.�YۀS�M�n��������
-Q�p�
#z�Q
�cc>Q���W�8���l�(� �+������A�� 
�q&G#%�捶�P8��,皯B(
-	1�P�4� *�� 57Cv
�'cf{!���s����,-��7Oj�PF+;<�t}XIJgsq��*)�*uAbZk�;N*�� ���'�0�Lʫc�f�%+� n�u�,����f���
OR*�'������^�z����y
-�R
��{d@$xL�&X�t���1�,��m�eR~��3�.�
���Pv���d�r�&��]^E�ճ�<ۺ��^!�n�
U��*��"	���5��ʼn� �2J�$]���_� 0'��#�
#��YgyR�m��gYכ�pΈ�V!�ޭ��ML3������}.���,u7�.^&1�0�B4aP�i�#��j�6�8�� �(4
-��
�YM_�	UHB[��PH
*��I1$
#B�n=�>n9�k�3�� �=xub
`Q��-
`,)z��-��ps��m��
-��|?�b�s(5t
J���~fP�F���<$�Y
�r9S�s�]�t��d�E��|�N{S{y�t�^1�
h
J$�+�5
�be����V��!#��e�:����X�����z;�2{=q��
u�l�ͯ��U�t�ɾݞ�s���@��>Źd�k���ު��^$����ҿkQ[��x�d�u�����ܕ��/��nq]����M��˳�8ϳ|��P ���y6�bzQE
���^],t�X�#V�U-�t8�E0ָ�u^��yJη����iAs]��1`���>�5:��F:gI�
���qR�?'m8��'N��(���q_M�M�� ��7&�4]Rj
ɓ����ؠn�X�C�
)��}��9�Y%s�I݂{��ۍsO	쇏sO�P����t� ކ{��b5�5���;�(ׄ/����A��Bc��vC� ԅw�
֣Mȫb�Z�]�,�KV`7�[V���%�4��������z�����;��w��V-_`b���yiZ��T
������)�mm4|��
����ῴ�E
-�d��iM
�!�
g}���f� 6�
ǞL�����
�r�B"n '
-,9�ڑ���A�M�D�DNj�B{Ĕ�N���4����r���(o���
-��;c�m
!��
�9ȣ���X$3�]I��o�F  �Hr�%"Xߎ9i��p�9"T��m�ӜC����Av
j�4}!���K�N�I'٥O�ķ�L'5�� u��{�L���)��z��k)��罼	p{���mo�x��E���)�O��$�V�y�
���m�{pԉ?��&hE��`�8R���]�fd�:q�C�g%ݓ`�<�no֒'��#Of�ь�f5s��c�Wl��~h���B�������M�';����|�
�Lww�u{����ۇ?�8�~&��A�u��G��4��F�kS
02?PM�uU�]
;#�e�ݯ�*P��D���bV��Ã���
�,�y��r������:�:R ��x����B*�^�GА�����B
-endstream
-endobj
-8565 0 obj <<
-/Type /Page
-/Contents 8566 0 R
-/Resources 8564 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8571 0 R
-/Annots [ 8563 0 R ]
->> endobj
-8563 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8567 0 obj <<
-/D [8565 0 R /XYZ 90 757.935 null]
->> endobj
-8568 0 obj <<
-/D [8565 0 R /XYZ 90 733.028 null]
->> endobj
-8185 0 obj <<
-/D [8565 0 R /XYZ 90 512.901 null]
->> endobj
-8569 0 obj <<
-/D [8565 0 R /XYZ 90 498.972 null]
->> endobj
-8186 0 obj <<
-/D [8565 0 R /XYZ 90 307.149 null]
->> endobj
-8570 0 obj <<
-/D [8565 0 R /XYZ 90 293.22 null]
->> endobj
-8187 0 obj <<
-/D [8565 0 R /XYZ 90 89.441 null]
->> endobj
-8564 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8575 0 obj <<
-/Length 1771      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�6~����&3û�`+�4�Ю]�&V�E��L,̖<Ii��C��ٴ�uMۇ>����|�pp
�������d�BJR�_
-�d��,x�X<��qx:&8L�erq:�8�ws=+����e�w����J����╞�L����8�aQ�ߟ?;xBH�@�i��8�y?[��L#�TCqL~O���1u�W
��!�D�����IYZn�cEC�\-�J�m���	0��0������q
#
�
KƄy<:9�3"��6/��E0]�޾��
�?
0b*nk�e�)�q���
ᝮ�`<)z�B��U��X3O��v=Bom^ݭt�,�x"���F�B0DX�%<<���~I�v�<E	ET�g�&��lW

��O�굇߄�����N�l��a2�c�3SRԙ"Id3�L|�
u�}��fqC�M�K��v����jM�;,�4��z)ã㋳y��9�����t�iC��"��bO��x�`)�|
("֚�r�abf-�@�
-���cZ�]���ZE�t�j�n�
��p�_
�@N�i5���7�_�8}~����7
�1C2n�
~!
�N�ѡWߦ�"��{�A��
�Qm���&]�\uM�*\8�E~�L�DG�v,Mp�:���~�!Ȫ$����k*��>
h�*�#A�	��?�k�Yi6�EZ9i���\%S7��K��i�
�mI7�m���� ��E =�P��U*Z���p��c4
�ʔ7Ӻh��
C�p�x[�Ͻ��i�W�.uV�5
���x�^^��	���M0�|��@�P���g�
-�ET�
��1a��:չ3���B�v;EF0�C��|��U>���P]�����p���j~��"/v�A���N�"S��!���ʎ���N5�Ne�ӓ2L"���k�k�9��fi��e�1]�,�Z��S��r��B1G�1q�����MT-F�|&�\�$�
$}I�H�
�D�$�|9���<K۱�N�h�MJ�;���|ϵ�c�EJ�g���h]��$!��Iq�8�'N�+V��}8)F�o&�O�I
�hBc+\�.5��zpi��_5Y{lEM
�,ހ
>�
x��X��
;}y��O�/�����N��U��Nf���0YI͈�/}���
q�kj\> v2��lj5�>0b,���n�f#5#5��E������ک1��>3R�3�P�L^y�&�)��~�9��}t�P��
���M�I��6m�;��i�i'�M|n倬���M���Eg�.2��	��d�,&dlE�N؆ܠ�����M�������>/pbJ"�
.��?��4�|�
�t+*��,N��`�tR�f�`j�v�/nV�6�fn�
-Z<T����܊�3�3"B{�:�ń�U�^��X-�Z�a{��D8�w	���כ�F5�Y��
`�|��n�
b
-�6��\;�,w�umҮ�.i&y�&�JO�wӆ����
:db
���к`Ȩw�`�S��$�7��
0���FcZz�Ao&�R`��N�����d"KET��9�e�2���rv�}P.�
���֖6��m0Z7���
A
�R���aowc)��05�r؉����Mн�"��M�=�
X�z���6]��N��}��D^�x�����غ����)Hn�7�y�SH]!���F�ܲ�Av���]�����X�Ѕً$�i�qA�_tA��t �gZ;%�f���Q�
��$��m��W�������MKt������j�8��W�
\/�nqw�Z�%\Κā���l��_��
-endstream
-endobj
-8574 0 obj <<
-/Type /Page
-/Contents 8575 0 R
-/Resources 8573 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8571 0 R
-/Annots [ 8572 0 R ]
->> endobj
-8572 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8576 0 obj <<
-/D [8574 0 R /XYZ 90 757.935 null]
->> endobj
-8577 0 obj <<
-/D [8574 0 R /XYZ 90 733.028 null]
->> endobj
-8188 0 obj <<
-/D [8574 0 R /XYZ 90 524.688 null]
->> endobj
-8578 0 obj <<
-/D [8574 0 R /XYZ 90 510.118 null]
->> endobj
-8242 0 obj <<
-/D [8574 0 R /XYZ 90 294.215 null]
->> endobj
-8579 0 obj <<
-/D [8574 0 R /XYZ 90 279.645 null]
->> endobj
-8573 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8583 0 obj <<
-/Length 1575      
-/Filter /FlateDecode
->>
-stream
-x��YM��6��W���@M�Q��&[ M�m��%

���jeɕ�x��w(J�镽I���^l����7����8�q���hz!Y���TWׁƁ�
a�J��!!�E�	���c�ø\���1�a�ݮLR��颌��٬
P�q���_�d�4���
�(,�Q��]��^r0!U0���N3߷n����2ݍxF�O���3�^�
0��Zt�|w�j?�Y\U���X�Ь7Y\�X0aL!!�``h���\�fa&_�q
G���$c�v��_��
��i��
-�H����;
$��"���(�5���
������nC�O�,�c
(*��M��fi6uZ�լq�����9�"B
-kX t	�LTu2�e&_��,��34�����*�-�jUc*�]>�0������+�.�M�l/�tm�
-<u��
��
�~�p�x�C�͘�0Iu4�:�I�۵k@�:7Mr�V�ܚ��SLS�������H2� M"�A`\:-�V٦Y횛�m����)�������B�_wV�2�l��,֛"�g�~�]�THr~B����h`�L�^��Š)"Z
0b-G�2�E���6_�Md��Z,��i
7]8
9b\{�iM���hwG�f�8C!����o�x
x	��@�_��Cr}xSYRq��M
����P��	=�4
qڏXE�̝��6�<'�����	q�k	\z\�	w\k/��Ju/�YZ͓���H�z~�<�[2"�oX�%�V�Ë�%
'ҧ�� 0����5{�_�>c��	�3��S�f �D��o����`���m�gin�
��	�
�oB�!(�ԭޖy5d�9�S�.�f���
&ݠ�e�8OZ�ʳۖ�Z���K
В��b6�G:�g�Wiu�v�m�(�+�/F�˞��uwi�vu9����'Q�����`d��z��c��q�&�|��9��@�tH����Z����\�#0��a��`��
-�4����,23(U��CV��@{���'�y\��đ��Na�)�Q�ݧ0�^aZ,�4�`$]���q�Ɛ3
��z#�_�rg�$l��$a�j�9G�

-h0�"����)|���g��v�]5�co���
 y�as���}$�K���$�R�[)UG����S"��"v�9ǣT��@�
����C�X
���pq��|�fO��x�
W��Ɛ��0��TaL�������I՟	�񢰋�`l�B��	�6_������ƽ����t	�5::��[ykg N��䟨��@�-����{4�MђL���/d�qD#>��� @	[�;�\�:�֦^��ޥ�R5��p56!
�}O4��
��@^�y�!�O��䓂����`x���h�?��8P��6�'�IO
UO�<���	;�'T}��4;V���!}-Q�i	cGh5�Oj�e�IS�[ӈ��jB
HL��ߩI��G<
��~�k�ف+iŢ�3��
C�_�.mVX�n�
S�fKɮ�Keʯ�B�m����m��kKl.����#���
���1�"������F
�{I��=����̦��n�����Di=�l���,:�B8R����N�.�P�9t��/Dw��
�5�c
-endstream
-endobj
-8582 0 obj <<
-/Type /Page
-/Contents 8583 0 R
-/Resources 8581 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8571 0 R
-/Annots [ 8580 0 R ]
->> endobj
-8580 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8584 0 obj <<
-/D [8582 0 R /XYZ 90 757.935 null]
->> endobj
-8585 0 obj <<
-/D [8582 0 R /XYZ 90 649.939 null]
->> endobj
-8287 0 obj <<
-/D [8582 0 R /XYZ 90 627.628 null]
->> endobj
-8586 0 obj <<
-/D [8582 0 R /XYZ 90 627.628 null]
->> endobj
-8288 0 obj <<
-/D [8582 0 R /XYZ 90 510.864 null]
->> endobj
-8587 0 obj <<
-/D [8582 0 R /XYZ 90 496.294 null]
->> endobj
-8289 0 obj <<
-/D [8582 0 R /XYZ 90 381.568 null]
->> endobj
-8588 0 obj <<
-/D [8582 0 R /XYZ 90 366.998 null]
->> endobj
-8290 0 obj <<
-/D [8582 0 R /XYZ 90 235.624 null]
->> endobj
-8589 0 obj <<
-/D [8582 0 R /XYZ 90 221.053 null]
->> endobj
-8291 0 obj <<
-/D [8582 0 R /XYZ 90 89.679 null]
->> endobj
-8581 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8593 0 obj <<
-/Length 1991      
-/Filter /FlateDecode
->>
-stream
-x��Yo���ݿ�O�D���C�M�M
l7.��Y�8Z1�H���u}���)���Y ~����w�$>8�����o%

2���z
(�vWQ�nAbz�"�ś%��0߅7o�/��~k�<��G|�����U����$��yk���F7o�%ы
.����ח��CH`3
ȩ���o�D0��4;�!_.WT��7�^�� �2F4g�>�E�u��v�4taw�$,�;�SHH
�@FԂyk7�b̦k��c�0<�A�)w����ů��T��
-Q-�����{
Dp�u�3:��v�N�'�����'UEAxR�T����
#�h��)�+�x+��~o�pg�+!
( �^��%7���)�orA�ÓS��Nj���C��;n�,����qU�
�	%k��Bz�����m�04Uf�7UfĴ�� N�?����.�����L������,-Jw)��Ԇ�ͫ�{o�Eg����
^�#WI$X�'�
�`J#*I��K/^N1�
��uf7?aLױMK�OSh�A�`q�ߤh)G���J�U��AJ$��c��10aF���f�պN���n4'Ht��D<L�+� W"�i�]�&���~����+j(K�+$E
��C�S�9¸%��v(� �{���t��_dir�W�:M��
-��X�l�
Хn������T
e��~��(;ơ0RX
�Hn�Cٚ�M��j<�ْ��o���H'$@0�[Ş#H\=W�(&
�
-��6^o��)�$
�uXXoe�^����Yhu�ے�E�
�q���n(m����d��A�0dT��T �
a
D!��6/��;0È�AG.j�dI���˄�ք�ޒ*���u0M�������z8�F4�?�u��ЪQ��gh�<F�
�:�����@����|
�P>��
v6ˬQ�9�6
 ���=@�G�E6�vq�;�<}�(J��{�Dȃ]蘏�
�~�<���a:��܆�mc�MP�D��%�sL�S�
���_}\�}	N�H�5]�/���
-X��u���M� �K�SFa at A�3�<s򺫅Ԥ���(b]2�{:j��Я%�J~���G�7�
�.����ְ�o�|�
#	E$h	����7�I���	��BZ�A�3�M�F.�|� �i�'A��
���
-wo�'���B��y
��[D�0)�\�1�����*�<r����w�蕴G�Z볩�խ�TNӳr�$|X���H�p�[SN�ΐ���.b��jwU_1�Mͨ!�/
�KC��4�TO7��դ>�!���gb����'R=�P7�3���(��mHk��ٴ-��v��Y��S����. <��RzV�˔@:yWׁd^��?}�+���V����[r�����N���T��8}Y_7�q��M��u�CҔ���~鵻^�|������
IFbH�t �6y��N�����Z�m�),��Q����F�{F��.N��b�������
���t߅@�0)T�B��fH7��B u!�h(���0G��Qor���Q�CM�k��0�e��y34�ݛ��Dw056��)eM�䖓�
r�����*2�h�&(�gf	.��
�oWfgЋweZ�O7�pW3�

�G=���]U�|0�#
�	"B
��4��ר��f,A��Ӈ"Q cr(�^�"�PDt�j*‰�S�������"�7��f,��c���蹱t�}M���X7�$��
�hz� �^ӷ�T19�}��Yo��Yo��{��᪷�����]ݷ�51�jԪ&�C��|���e���CD�~)�͓m.�s��}N%���{9�Փ�*��W\�A<����{�̂<rfA��f��YT�j<�#����<�md�Թ���Џ?-�H��~YV}Q�Id��e��.v��7��w!��lb�������wa�,�XԄ�3La�.��R�
�Lj:�Cn��?Z[3�9�%hV?�F���h�X��e�������C�
�x��������ڽ�5#-�M� ﲼU��U�ב��*�3�
-endstream
-endobj
-8592 0 obj <<
-/Type /Page
-/Contents 8593 0 R
-/Resources 8591 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8571 0 R
-/Annots [ 8590 0 R ]
->> endobj
-8590 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8594 0 obj <<
-/D [8592 0 R /XYZ 90 757.935 null]
->> endobj
-8595 0 obj <<
-/D [8592 0 R /XYZ 90 733.028 null]
->> endobj
-8292 0 obj <<
-/D [8592 0 R /XYZ 211.842 492.907 null]
->> endobj
-8596 0 obj <<
-/D [8592 0 R /XYZ 90 478.182 null]
->> endobj
-8293 0 obj <<
-/D [8592 0 R /XYZ 216.764 192.761 null]
->> endobj
-8597 0 obj <<
-/D [8592 0 R /XYZ 90 176.656 null]
->> endobj
-8591 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8601 0 obj <<
-/Length 1993      
-/Filter /FlateDecode
->>
-stream
-x��ZKs����W��U�h�%���]W�N�f�T�-DE� @��e�ק�אCJԲ�9i
�{��n'	N��������d�AFR��.�%�n�H>NALOgc<y?%x�V������I�?��J��z��i�Y��Ow�b7����Ք�I	�z�����[BF
�n��8
�?�#�L#�Lw�k��tF�|M�ŇYΐ1�{�/G��l�����S��:��M��ֽ��SHH���F���`��Q�s�c�0�ܒd`7x|����+OqB�r���|}��N��]�3:ylN�N�͓��~�[W�.�a�E%"�{�'ҵ�m��i٧t�
4��F
-P�iA=�˦
-޽~+��y
l�:�oW֛0�
-�V~m�DL���n��������oϯ�"[g��
�����,���w4𝑈�1�Ƭ��X#��&ݙz�m��}
L�O{���Q��,$��Ŀ�˻⤉"T��حm��ek�r�j����]��~��I���3"zf^�A��I%�
��E	~�����X���@&|-t%GZ�������R"�{M���������|ՅdVD��/ω0��$
mc!�?xGr�_y���nj�;g^cx$�'��77���<[ܥ��_Q��
�CXT���ck$0n�Q�zkt�㤏�b��i�.q�CfU����,+��z���}n�O��a$k�Э�����GꞐ�>'�B���
-�̘��O~YVʂ4E�k;�r�tQ�~q_
q�YV�}ls���/b�O2�/��4���#�(&l�{e�]Ut\�H������}�
ҺO�1A!�P1&�xV̸@3W�%�-�k�&�+6����.۲�+�r��
�@�Y���QD�!1�P���F�?^7��RH�
Q�O[ T�΄4����`ϙ�f��r��r?����aԁ��RG�C��'��2����Y���=�d�ς�Dh$�i(J )� �rb<u�(u���7�8�����- �<��_��w
��{�.�C�-�r?���ˁHF�D��FT��"A
R�DSIF����KWE癫
�#�\�A����
�R�n���uv�AF9H�4ᑫ
rp��{
|#�1�8�^	nx@�A�ٗ�[��e$��>#mʬ��bc>TA<=�ɉI�������O��W ����:Aɶ�q�x�
�e@��A�(	7�˘&�6��ȟ�*��P���2�~,���l*�[�մ퐇�h��q���Q��E�y�Q��
@�!��p�>C�A&D##ıl$y\e�U�35 at 4��;=O��,������f�����!��F�����mW��
�R�ۮn��QD
�1W$(�A�x��
�W���7���9�����������5&���x�4��h�/�'��d�ϕm2���TZ�[O�S2����a1�v�uIC����i���)\և�'|٤@x�0����2",�eDj��
s�%G����[4��P��<r:�t�
$�j���W�!ȅ�Ĝ?� ��C\���
��`�Su	)�����2 '���!�@�<;�p��>���1�"=�"�:6��
v=:� #���
��(&��
-�
L!8d�g�/#�
��z
�����mԎ��
���Q#:�0��
�v��>��P_�y���3=2�p=�9�
�[�4+����`�A��U�0>3@�
-����/�ѹ
FC��!����7���h�χ ?��쒭�#U\����C~|�������w6 T�>�,l� ��I:����'�C�hw^V�r�T��x8)�A;"�a`eH��13�
;�_����e!Ⱥ�7��������
��[b��� 8�K��7_�A	�g��
-a�����]��
-@����~��y����V�
-1i�oi�Ks�v��gG�V�� p
-$$�D�K�x򽵭�^��n��oy�V�
��U]on���|�vE��PV_o6��a ��������uY�
&<\7
ׁ���~�E
-endstream
-endobj
-8600 0 obj <<
-/Type /Page
-/Contents 8601 0 R
-/Resources 8599 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8571 0 R
-/Annots [ 8598 0 R ]
->> endobj
-8598 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8602 0 obj <<
-/D [8600 0 R /XYZ 90 757.935 null]
->> endobj
-8294 0 obj <<
-/D [8600 0 R /XYZ 211.842 577.147 null]
->> endobj
-8603 0 obj <<
-/D [8600 0 R /XYZ 90 562.422 null]
->> endobj
-8295 0 obj <<
-/D [8600 0 R /XYZ 216.764 277.001 null]
->> endobj
-8604 0 obj <<
-/D [8600 0 R /XYZ 90 260.896 null]
->> endobj
-8296 0 obj <<
-/D [8600 0 R /XYZ 90 145.547 null]
->> endobj
-8599 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8608 0 obj <<
-/Length 1533      
-/Filter /FlateDecode
->>
-stream
-x��Y[��F~�W��5R����QU��$��VJ��Fȋ��U��1�����gl<`X��D����
�Ϝ��
�qp����/���ɂE��`r
D8P�!lfI�1$1=
�q�nHp��x�nHqX,��4)����U����	TY�Xl���d3K��rHtX��~���xCH�T��"����ъx6�(��W��
-
��n�G-g(�D󟟎hm{���k�m2�h�.W��J�߂c
-	��8#�1���>X�Ϭ
�a�v*�����d���*H�^��"�-?� ���F,��]-�
8e�>
�
����<):�B
��UuN��

!�N:]!�[�W�U���t8�B�/�_D��$����7RC���HQ�V�(V۱|
��� .l�I��U"4�t���r�c��f�%Oy�
�x���lV�ٳ"��,��e
-�c�ae]�i�	�s(("�w���3��_�PwZ���OB��

ْ��M��c�eŻ��D|��Y�����#8"��
-
-I�
զ���(fH�]U���G)�H��!�[��<1�bk��
-�x6�+�b�*�4�촸���N�#j�
�z,�P��5t���5�I�ƒ&3���<m��2]��I��ؽ#6{�@�J$ $
o{l��V-T���ˉ�Q�b
���o���
�b��u���;�6FE�ZW�x��C���x�%Ӹ��,��|[<�#0���ɼ,�T�w��Ҭ/�����i��q+d��P�H+�W`���l�
���<���kp�(�M��*�Z���@G@^Q k�:��<+�1�h̒٧;zt�
a4 
y���_���,��`5¿4�q at 9������
���a�8I�5"� 
�R�.�����v/(�%�
gv��G=���c�\�
	8ɟ�d�ak��c�@��؃�ڥmч覓}, .&�<�$�15�
������|$|��[�������Oz&~���S����#A��k�c�6Ƽ��s~ڷQHe��ӻ��{hjZ���V�ro�M#�x$�6���v%a;��PU�M��zP�U��y=p��D}i��Cx;v� �e(P�����z�v|rN��M
n#�v��7�4����
j���Q)�nO*��D����5��$r/��o�M ݔ�"@c�&�D��8A\����o�M}�9�Rt��˺� [...]
-�ix��૟��g]�
CZ��]�Mz���N~����}�����&�l�⡾�WM���
�5*�i
v���N ���B������M��cSA�F8
��.�'��GC�
~HSwH{��f�۠Ε��D+�p�-�Z�/.����l�6y�*QV]�V���Hu�@�T��u��h�$�aq�>�����מ
-endstream
-endobj
-8607 0 obj <<
-/Type /Page
-/Contents 8608 0 R
-/Resources 8606 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8571 0 R
-/Annots [ 8605 0 R ]
->> endobj
-8605 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8609 0 obj <<
-/D [8607 0 R /XYZ 90 757.935 null]
->> endobj
-8610 0 obj <<
-/D [8607 0 R /XYZ 90 733.028 null]
->> endobj
-8340 0 obj <<
-/D [8607 0 R /XYZ 90 615.796 null]
->> endobj
-8611 0 obj <<
-/D [8607 0 R /XYZ 90 601.525 null]
->> endobj
-8341 0 obj <<
-/D [8607 0 R /XYZ 90 492.123 null]
->> endobj
-8612 0 obj <<
-/D [8607 0 R /XYZ 90 477.851 null]
->> endobj
-8342 0 obj <<
-/D [8607 0 R /XYZ 90 328.431 null]
->> endobj
-8613 0 obj <<
-/D [8607 0 R /XYZ 90 314.16 null]
->> endobj
-8343 0 obj <<
-/D [8607 0 R /XYZ 90 202.756 null]
->> endobj
-8614 0 obj <<
-/D [8607 0 R /XYZ 90 188.484 null]
->> endobj
-8606 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8618 0 obj <<
-/Length 1407      
-/Filter /FlateDecode
->>
-stream
-x��Y]o�6}����&3�oR�0`k��dM�=t��Ht"L�<In��+�r$G��6ڡO?|�{��2�n=��8��z2���
Q(��^�=%�M+���� ��)����~T���e@�_d�;��������|�&�i�e���lb�,.ˀh��F
��~=� �� U�Z�a;�z��)�=�(
�/�7��
-쿤��͈Y�P��7�
��[�EU��v
��7�uզ��7eL!!�70B�yc��u�䱝DZF��I�q�=yu=�kB�{���+D������;�%���È�ڻog�<N<3�j���P�!�!˜{�JD$����;6�:-�j�nb�����a���!8]BXU���i
p쿏�4YD��fe�z`pv!p?}
-i���]YT���E6]�0���9El��3���8
-��j}�Vv�`e�c�M��d��H��b����)Qi�֓<� �i���j
��Mf�HZM)�)!�S��+#Ġ��R�˰�ԅx2�dA(���
�����
-6*(��O(
�� ��98�F��b��|��(d��f�o�Hk�_L]YքWV.�>�K n$�1.	C6�ƹ���8�H$�S 
�1�GI������4� �¨��:��i
-��n|q�� ,&�o��&_�%�����C*Wc�2 �P[���A��&�M�,�ͻ�ʘ2�t؄K!I
�|�$�6#���u��mK���L7܃��|lO
#��#�� �ᖖ��s�
Deg��^�c�LA*�tt�
�V��LFn4�p8Ľ0��
�>�ܶ+�n6.�}޸1�\�<��(TĺI��jC�IlHx�ڜ���F�����r$Aլި=��'�8�7��7�?�*��ٕvgW:�7 � g�=�B6��,���n�dz�/?T���L;��H���S��
W�����'�г���H5��*�A2�A=SeZs�{�a@%9Q��0�k�p�R�J9_q��S��̦2�}[�ц�O �E>q�Q������>�
����$!K[j^�`p	>. at zx�"o���]$T�?#��X�럓���Ϲ���@�9ey�rCS���#*9"$L!��	Jɉ��.$Qm�V�v8�4q@�ߦ闛ο�4ճ|X;|�<%��?�
HV���i~;?�k�Q�	��iA� [...]
��_B�����M��S���) 5]�Ĩ��F0P z��+c��ֳ?���I܇�
�w�|W���lv��
-m�t]�������qr��@�<\Jv��U�UL�C�*j��� :�d�
-endstream
-endobj
-8617 0 obj <<
-/Type /Page
-/Contents 8618 0 R
-/Resources 8616 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8623 0 R
-/Annots [ 8615 0 R ]
->> endobj
-8615 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8619 0 obj <<
-/D [8617 0 R /XYZ 90 757.935 null]
->> endobj
-8344 0 obj <<
-/D [8617 0 R /XYZ 90 694.089 null]
->> endobj
-8620 0 obj <<
-/D [8617 0 R /XYZ 90 679.519 null]
->> endobj
-8345 0 obj <<
-/D [8617 0 R /XYZ 90 521.092 null]
->> endobj
-8621 0 obj <<
-/D [8617 0 R /XYZ 90 506.521 null]
->> endobj
-8346 0 obj <<
-/D [8617 0 R /XYZ 90 348.094 null]
->> endobj
-8622 0 obj <<
-/D [8617 0 R /XYZ 90 333.524 null]
->> endobj
-8347 0 obj <<
-/D [8617 0 R /XYZ 90 117.537 null]
->> endobj
-8616 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8628 0 obj <<
-/Length 1572      
-/Filter /FlateDecode
->>
-stream
-x��Y]o�6}�_�S�H
���QU��/i�Ji�m���'Ae`
-̦��{�

23�f��R�0`�}Ͻ>��`���ޛ�O����$����kOb�G
as�x�>!���`���)��*�jq:��/�ͭNJ��%�*U���]�:UY�Y��d
�dqZN��
����/ޞ�&dk@�a4�t��]s"Q&�
/�w�
�����وـ!)���
��
�"SUe�]L%��r��Z�ϼc
���f �

0g�Z7��<��,���$
�y<yu1�{B�)�Ho��/'�ﱗ��
FL
-�����y��&xo�(��[�B
�6^��;���
:G<�0�7+�����B� �
-�
^R�ʃ/�h�(����� �h{|0IV����PN�\�H�H@\�
P��$(
嫤b���E6_!���5Bޛ�����*Iq�Wu�Ҽ��eD��7�����|SA:���X�<z�3
-��h�T\�LD *�������6F%m��4��\��
C<#BaT�"X�M��ĭEe/q�2��ػ��^�[ݾnݴ���մ�|lv�D�g����� q��K˺�]�=!=��� )hg�6

���
԰F��w��Q3/@�!Έ���1,�Z��|`�74�7��ea(�nð������8z���^����:��
�ܓC�^��U��8��K�I\��|y`����d�ʛ�R��>we!���e1������
I��"
��P:.�:�<K�	�gpG)�taHR�@gi
˕�ӫL����&P�4c�^d�#3�H�	Ɍx���$3f,>�� r2D�(
-!F��̈^f����zq�ַC�	 [��m�q�P
-�Ctη�bL�`�I���P�`�+�3J�&���jM�G`/�ӗ�Z�
��󧠗�ՆDcn� q��/Fm�q�YW:���
"j�8�W�|�/Z|(�
-Ň
T�U9
�\�E�/r(��#��9V��M�靊�����e��
�D@���I
���A��(
=Fi6�@��U
��8���~f��`��k�j��)��Rm��J
OI�7I�\}^�
�B{
-o	r#���٪4����f�7���&\�E�mlKU�z��޻��V�ܣ+��R%����u=��6=x��D�z�\��XW��:sS,�UgۄT�e��u�>L��̙��x�04�08	�
]�k���hX�Es����}� T�6	�y��o�3�G
��8]�
][�fK�9�We�`]�*>m~q�@�
����d�%
@�pX`� �Y��
�„��[1�
-������Ļl:X�!�25eM���f
׳�g��S�Xr$�bԜ
XJ]�t\;w
-{�V*֦�z�
������eHW
�~
iN:�0����alg�����d�h ���U�Nr������Cn�ўf�M���@w�5wi��T����������`#������yGHr&���P6�3���Y���m�|��Q��yW���i�n�����*�i�1�w�cd(̬}d��`�\�K�z��׶~�4��ϗ%R�1�u������ݡ�B�<]�(�OV���~��� o��Hw��,��L���eC���
-�g_
-endstream
-endobj
-8627 0 obj <<
-/Type /Page
-/Contents 8628 0 R
-/Resources 8626 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8623 0 R
-/Annots [ 8624 0 R 8625 0 R ]
->> endobj
-8624 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.4 138.024 212.124 148.928]
-/Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-8625 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8629 0 obj <<
-/D [8627 0 R /XYZ 90 757.935 null]
->> endobj
-8630 0 obj <<
-/D [8627 0 R /XYZ 90 733.028 null]
->> endobj
-8348 0 obj <<
-/D [8627 0 R /XYZ 90 585.86 null]
->> endobj
-8631 0 obj <<
-/D [8627 0 R /XYZ 90 571.635 null]
->> endobj
-8349 0 obj <<
-/D [8627 0 R /XYZ 90 422.988 null]
->> endobj
-8632 0 obj <<
-/D [8627 0 R /XYZ 90 408.763 null]
->> endobj
-8350 0 obj <<
-/D [8627 0 R /XYZ 90 200.449 null]
->> endobj
-8633 0 obj <<
-/D [8627 0 R /XYZ 90 186.224 null]
->> endobj
-8626 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8639 0 obj <<
-/Length 1815      
-/Filter /FlateDecode
->>
-stream
-x��Z]o�6}����f3�O�
�[�
�6 K��d���L�͖<I���K��LGv��m: O�$��<���{)��&��Ͻ�.z�ӘE����u�q$c����F�}BS�!�����b�������������H���ߡJ���~|n�ˉ��ϊQ�
.����ףSB6�F�
�S����̉`D�^�xI�
�����7�;�r�������j3�YR����@Ӿ�/fIe�ߢ!c�XEC C
̹�6��L6q�8V�co�qjo�^]�����#R��%�JD�y��
��p�u��*Zս��
~gћ�=�
-��2��<�4F$�n�W�'fQ�yV�ԓض2:p6�PHb

�[B8e5=9I����d�N�Iq����
-
�N�t�4]#pq[�*���!�^�m�
�S����u	�R�x�U�ߧ,�\#q?�"������Y���e�ǥ����Ǫ��ƬkvH+��S���
�Wk��O2� .CX,j#�C���6�n˛a���#IބHu�0Y24e0��Eh<�D;�����#
�
,
-N��-����Sgq�
}��'>Ҽ#~� �H���B��y@/�qG/��I/���l���2�@0VE5dZ��	\�r�o-�$E�\�L9~c��o��0Xc�8k ���i ���� n�m�
S�U�� HG$�AE�оL�X{�CI�-�HS�G/��bY�S$�I�rbq�����^t	
H2 �#L�"�N�e��=���	%�m�XlC���UZݺ�\p�z�U�.��Q�j��]���>k����)�[���
U�ck��KY�����.�����]�Ӷ
X�r�I��W�Q�?enJȝS��0)[�x" ��Lq��Y^�M7�}��Ni�n��b
Z��^e
ѡ�6�}W�l�ZW�k0���X��<!��'G���C����N(��1�2�	d
�0<�
�
�S���m噿�L��#������m�-]�
tP�H%��i�E°���1�
e
��X��_�y~�;���ă�
-)P��ă
�x����x|L�7�se
Y�5�n�y���w���H�M��#~�:���Z�G�Z������g�'�O\�ufOI�
{�a�#W
'"5K��Џ�>�{��s�ّhoȱ�K�@�Y�JK�f��S��ML#.�ѧ�d�.�c�d��[� �L%$������M�S7YL��|
��܇��jpO��'�Nm�@ג�MrK���6=mQ,�Y	��Y	�	B���>�&^,L1�ʗٴ�&ɂ��^�+\K�� ��V/cD������K���4�6��^��kS�ɯ�
-_
Y�أER H��)���l�ĝx���m�ړ��gy6m��F���*b����g

�UǨ�1�
-�ױ·t�����t���U�Ϝ�4
��
k�Fd@�(�x�nua I"��dl�^���Ğ��7�ր@�y���R��yD2i_:��
--~���CԌb�❕û�
4���O��妚�1��٦W3��V3	����j�x1J 
��u,
�Y=}�8�fZo��}��fC
��/��AZ�����p���l
.��EЦ|�dr��>�h�}�+�5��X'ؤ=X�J�4�J���fa�e�����
�X�u��A�`���:��]�0��6��
f��l�A���'�6(�?#�!>�:�+����I��d��!t�����3yV���Z�ݥ�lw�gi�oB�C��d�Ŀװ�wgM��}�
-�a�
8��ؽ1��t���u��^�m;_���pC·U�8�V���h�����h���
zІ�Cdc�:���</�S0�9�_7>��?_��b
-endstream
-endobj
-8638 0 obj <<
-/Type /Page
-/Contents 8639 0 R
-/Resources 8637 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8623 0 R
-/Annots [ 8634 0 R 8635 0 R 8636 0 R ]
->> endobj
-8634 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.573 619.364 216.297 630.267]
-/Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-8635 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.024 518.103 483.212 549.071]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8636 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8640 0 obj <<
-/D [8638 0 R /XYZ 90 757.935 null]
->> endobj
-8351 0 obj <<
-/D [8638 0 R /XYZ 90 694.089 null]
->> endobj
-8641 0 obj <<
-/D [8638 0 R /XYZ 90 679.519 null]
->> endobj
-8352 0 obj <<
-/D [8638 0 R /XYZ 90 498.028 null]
->> endobj
-8642 0 obj <<
-/D [8638 0 R /XYZ 90 483.458 null]
->> endobj
-8353 0 obj <<
-/D [8638 0 R /XYZ 90 367.885 null]
->> endobj
-8643 0 obj <<
-/D [8638 0 R /XYZ 90 353.315 null]
->> endobj
-8354 0 obj <<
-/D [8638 0 R /XYZ 90 238.589 null]
->> endobj
-8644 0 obj <<
-/D [8638 0 R /XYZ 90 224.018 null]
->> endobj
-8413 0 obj <<
-/D [8638 0 R /XYZ 90 97.337 null]
->> endobj
-8637 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8652 0 obj <<
-/Length 1818      
-/Filter /FlateDecode
->>
-stream
-x��Z�n�6}�W評���E�H��{�[ ͦ}I�֖c���Jr���w(R�)˗d�fQ��M�Ù33���޵��7��.g��R�
-�r�)셂!��fޕObr8"c�|H��hr>��ϖw�x�G�w��<���c;�L���nr�6�x69χD�ܔ��o�^��!
a7�9�~ߙ)�M#�T=�%�f8�
�/����Y6`H)^?�ÞU�m_,��0�]���z��~�1".�7g(n
s���`q:5�,���,`zx��r�׀�(�H�� DTro�\}��
��z1%��j��
(�ϥ�~�� 
�	�*�6^��):�
-���C��˻u�F�x8�A�'��+�|I!*{�d���8�3
���zƍY��̊�09��#"�����,�.���8q�ʘ2xe�
�
-ȃ^p2
ϒ� ' ��:��)���
O��(�-��Oi
DA �?�
����>M���~ef�#Ό��p׳D�LfU�K��q!H��xWI�L���������
	�	�$���0�JRf�1��@�o�Y�R���\$E����E��3Z���S���$�C�ܚ���E�#���L�f�4��DU�~n�|�u�'�O�i��/�0��Y�#�N at U��+f'���c0
7
�W���Z��;϶k��(�
-B��l)��x��CH�h��&Q~�Y�i�1�1[��M�/y��k��9>���6{�.�]�@4��q�"8w�
%�4[���1�����
R(�p.��N
�;��v08NX`*����
-*����9������5����j]�k�I���(N��(�; ���FK!��%�6Gy��@"��q�Ok�]������ަ#8`��@�~��
m2ݲ� ��Y\�`�@���y���x\�91{w(f�BW�ƣ�8�VI�Y�	
��j�~ߗ��>ۓh��1-Kc
����6f��G��(��)�<9^>�_���Y��Y��3�8�����m�TrM��k��/�
��ʘ�j���<�@o�;�n��I�@|{�lڤ3@�q��n:ߤS��axD I��͍6��(7�@>Y
�&�\�~�����u��!�>�C\4i N�
���)�:�&z�xf>���*
-��M�Ϥ;��yrv� ���|�2��Fm�4t�2��I5���Nd��
-��\�tω~ML���E2]t�a'�0��
Vb)��
��ێ]�QFְ�z��	ݾÀ.��9L
-�*����m���P��1��̅��[:Ҙ����
6c��fQ�����3X�i����z�y�Ͳ܆�rcw �F�1%-S
qd9�-Yv�<4��M̑�V at K��5���ǰ
\_Gn�F\�ar�
�H���)G��X��y��ij��o��-��D��l�v
�ܕ$n�bH��m#h_��e#�,0���GӮ�8 B	P�8"8q
-��P�SrB�P�
�"���S�j�Rt^5��U��*`'*VX�B9?I�h�����
- ��+�]��\>�/R�t�2���h��<N���$��mq	�
�ѫX�w��WQ��xl˭��������F�5�F�
5
zDx�9D��4�控L���-q	��k�� 6���sŌ���	N3��L=��!��2�?�2��cQ&�<I�G%��f�S��`5���j��o��#i���̳�q�L���3
-�B��S��P�� �H�L��
pU�s�B��l����"��Z5`n~+���!ph��_�tS�] n�R�`�a�پIv���הŜ�O���yP�����1܄wQ�������-�h�&�
%��z�<�MޭU@��"�O���,Ia������ !$�/
-endstream
-endobj
-8651 0 obj <<
-/Type /Page
-/Contents 8652 0 R
-/Resources 8650 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8623 0 R
-/Annots [ 8645 0 R 8646 0 R 8649 0 R ]
->> endobj
-8645 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.643 537.126 229.737 548.03]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-8646 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.089 296.382 246.767 307.286]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-8649 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8653 0 obj <<
-/D [8651 0 R /XYZ 90 757.935 null]
->> endobj
-8654 0 obj <<
-/D [8651 0 R /XYZ 90 733.028 null]
->> endobj
-8414 0 obj <<
-/D [8651 0 R /XYZ 90 623.807 null]
->> endobj
-8655 0 obj <<
-/D [8651 0 R /XYZ 90 609.237 null]
->> endobj
-8415 0 obj <<
-/D [8651 0 R /XYZ 90 383.063 null]
->> endobj
-8656 0 obj <<
-/D [8651 0 R /XYZ 90 368.493 null]
->> endobj
-8416 0 obj <<
-/D [8651 0 R /XYZ 90 142.32 null]
->> endobj
-8650 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8666 0 obj <<
-/Length 2147      
-/Filter /FlateDecode
->>
-stream
-x��ZYo��
ק�S+��܇�.�f�v[�uܾd��(�(E�$
����?��14)+����

���~
�G8�q�����;�"���2��FGJ2���&�0'1�X���zA�<.���zA���=�M���~*��i��
�4�M�y�K6��bA�� ����OW���
-������<�(3͊�w�%x��77#�r���7�O�ڒ}��e�v�]:O��,��Y�dL!!u�e�s�l�Z�$�s�8���~Kƹ}={{;����[
�Z�\!�Et��}���
��)ˆ
=֫��
�Y�~��>i*
-ʓ�g*�5�^UO��z�AL�T�B��:���I
��RPpWP�0$���U&�d�����
'-EA�Y��:�!ݸ
�|r�MG8"�x�yE}�������#nt�Js�J�Q-�������
�Z�'yR�Y�p
o����:����j���,�?�+�Eʼ@H����׬�k\���Բ��S*�	lB��$�j�!_��:d#�D��f�"�ʧ�E�!�#��R��yY-����'q�~��х_YU����nLHj��-��~6"�FTҀ(��9$�b��$��U�U�Zլ�
�A
-���N��&�N�m�Q:�_~اy\
Ƹ�I�Z�O~E��FD��a�ަ��C�XO�́I�~�[�A��4�!�30�G�P��¥�(��d
-��%�3X�>��U�yup��@>���q��
�2Q��r�*!6���K
Q���
�/(RR�:�Ǵ�9�ER
H'�
-�uW;��U��ޗ��g�X �w_��s���.��F�T\�Ӂk3D4�ҧ����Id�>�؎�G�������*� �ϯ�Z������q.��
�"������.�da�������}��NRB�o�nY����4��g��
��K��j
-�jښ=�G@
�^�6ᦾ�pn
-7�1�����
�aS{<|z�Q&�4r,�,���Qlj(O>���	���C�OB����wH��[��M�\�����
�P�j}���J�r|��f]�Tm8ۍѠ��>	�d���
Y����.ν�e���~��7ŵ~�%4��������%�𡅧�b�g2���i��6�2D�ahJ)g�H�{І��qm����.Y@; �������aJMR�*������V
{��^
{��wN
{�c߄�w6BGk�8���-�=(3���:����U���X�p��s���k��
�
C5w�I����wI��F��F��ڬVi��L%��^��0`�^�+�#h��ēn�
-�觼��@�i?C�mK�
ܑ�5�$!�#�;�084�m��~�e1%��G�K�HH
�W��&-[k�$Jat���Ps�GHu~c0IX��uTx-(�φ��
h$��k�n�*w�Ky��<ŖQ��X�F������-Ҋ0�6 
-
-#F�F�hi��J��:l�~������.�n�"����e��E�/���%��*һj�����ci����X��
_��o
^@*���ăm�f� P\�ׂ~����,
C)ĺ��1�ĸ�� ���	À?��(C�p����Ї�}-�0@��{5\i��8��\�i
�.
� �"l}��/�c��/�1�4���
�!^�1��p��0	r
-�0�1e��� �݈�g#�2d��Oa
��@�ٱ
-Y��!�"
-z�h�����.ȷ�..����_]�
tq�..���@0K�
r�.�-t6P�
���
{3
-]��w�4]���])��}��}��85�eX
$�k���q��{� |���ė>�Ѓݽ���	TcJ H�0fv��D�@�9�=9g�g�N|db��\L
P ��0A�
-@�9� �SȫUK~0�[����w=y>���� _
��z�3�'�����u8���ڣB�:� �w��U�`�C��
�Ժ^8[A>�}�
-}b�V�y��z�!5J3 �.�u�vxVRjd �yT�FQ@�
��#a��s�v\���?6�Icu�r�(���
!��B��؛����
-��V��1�N�Z��&��d�����g��zn�b����:���
�]�
��X���:
���sFo𰮫�6S��Px��
^�k�<�� �)�e
-endstream
-endobj
-8665 0 obj <<
-/Type /Page
-/Contents 8666 0 R
-/Resources 8664 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8623 0 R
-/Annots [ 8647 0 R 8648 0 R 8657 0 R 8658 0 R 8659 0 R 8660 0 R 8661 0 R 8662 0 R 8663 0 R ]
->> endobj
-8647 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.899 665.144 431.977 678.061]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-8648 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [338.748 654.467 444.511 665.371]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-8657 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.44 493.804 513.996 504.708]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-8658 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.617 386.202 476.603 397.841]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-8659 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.893 372.968 498.655 385.843]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-8660 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.44 212.305 513.996 223.209]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-8661 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [323.631 116.658 429.297 129.137]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-8662 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.215 104.703 409.977 115.606]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-8663 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8667 0 obj <<
-/D [8665 0 R /XYZ 90 757.935 null]
->> endobj
-8668 0 obj <<
-/D [8665 0 R /XYZ 90 733.028 null]
->> endobj
-8417 0 obj <<
-/D [8665 0 R /XYZ 90 472.883 null]
->> endobj
-8669 0 obj <<
-/D [8665 0 R /XYZ 90 458.312 null]
->> endobj
-8418 0 obj <<
-/D [8665 0 R /XYZ 90 191.383 null]
->> endobj
-8670 0 obj <<
-/D [8665 0 R /XYZ 90 176.813 null]
->> endobj
-8664 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R /F13 540 0 R /F7 505 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8680 0 obj <<
-/Length 2233      
-/Filter /FlateDecode
->>
-stream
-x��Z�n��}�W�)+�v_�n�$�3
l��q�2�DYD$R�({�_��
�n���hv�
�d�l֭�N�iG����������E
-�����:R8Jb�����>MALNgc<��<I�]���R<)�ϛlU�����UZ=��nA������6[
��jqSM����~����!�B��6��
��wvI`��2լ��|;�Q�'�Qwq; �3��h��È�V�mz8XiwSE'�n�M�L��K��e4�`(�s��3�XV,�:�%��؉d\��W���uE�.��	/O�"Z�>}��
-��aĔ��̪]�)�����ՏW�m
�2��<Jh�H̭r��.���07��%]� y�(�
-��^P+f�9�^�%���w��Fp��k{�I���:�+�4]O���cZ�;ٔ�ɗ}�
yY���10r�TΈ@���ʶ���9CE��Lx-�A�3�yw_n�+7b�j����HDz�8�\ �S$Ì�HI��
-se5�������7f�Š8ԫ�</�
O
�m�Z���q��9�D�s�*�cO:�N�-J��)¤}b�\���q�[So�]��b�4i��s���:���X��=���V���S^o�*!�Z�\E���`SVCb0�I���•'f<N�5��Wĉ�&N�'�xI�@G�x.R��Ǫh��_E�L��[ܸ� %�'�{�3��Fɐ�]\�J��DL�۩E�ҩ�|Y�5@��	��E3H9"���C���W{���a vYr�o%(鶳~�g��t&(�&f�B�)4�чl��Q���6;
-���ˣ�e��������p��E-�8��	"
t�����Y��[~�&�E!ؐ��!+�
-��'�8][�]�mS�w�D���K�%`g�
-p��Ҫ��
I(� :�8)�m*��� m�!��	��w��v�N	H�[�勏&�DK=�ɡ�
-�Sh�
�8��Ym�s���L��
=b����K(N�b���؂!���3�J�dSח�v>��r��0�5]�g�5�U	��%edR!x�O���6���`X�g��
�&;��+	�FoY-†�_F���&,��$a�%6( yS6x��L�@�[��$N&�v�
s'�;,�
�/�)��d�UC ?c
-��ù?P
-�(Q�ߣ�s��`Yen�
*��b��&��@� � �5~
�f��
��}<L��yt0�B]���S�2����?d+��dE��dE���5\+�u؊�V�B~�|�8�_HW����+�e�0���7��u�%��K�#,아E�DX�/GXȋ�%�U1�=`,�(�X8
9����W0���X�|���ii����eZ�F���\`�L����g�)�lp�J����.� MP	��
��/2��)
#�|�)
7�
�V��i��*>�+f(�0�Q���Lܗ94�E]�y}�ύ9-
T��`d�����{�q��ոʊr�i]Y'�
N�~�iKG[��e��4�HWx"N �
5�Иc.ƨ��05�6��ї�Ԥ�`;��҆�I1�����V�ѣf`@G��C�t(�R3X�j߮��\�x��%>㒚yǚrq��^kw��F���.��0�e�^M��98�s*V��K�~� �n8���}��։R9R
a�@C�	V���C��"�N���Z
U���3�OTC>oh��[�i�ݙq
�$2�)�E�D� ��l�>D�gAX^���$�!#��>��Y��Y �z���QT~�oX�˝�<��7�G]_M'5w���U
K��8I~�"Z�>I���(G�)t�e
�8����-4rk	M�Dɋ��Au�E�w��+
�
�ow���,NXk���e��"A��`�`����ݮ,L35�1�D�h�\��k�>�7
�������s۬���C��9徙����`�����S�Ԍ+�5�;��	����q[��=�����8�Kh
���)9���a���#��Z =��P�LPK�)-�J���
�Q2<(�h���ܰ�1з�2�hE˜�Y0
3[VL{�8��
-��ى�6�i�k�@D��C��@��~O�O�<���E@ڋ���>]��iqj��C��t_p.�gR�t��~F���$��V���LL��!��!2�h\����l�w�Ȑl��o���f*����iql�E����
�S���k�f&���3j��|e��϶	L}mVm�z?��~zzB�:��By}��o�O���B�z[7�+���
��3}�$���6�
-endstream
-endobj
-8679 0 obj <<
-/Type /Page
-/Contents 8680 0 R
-/Resources 8678 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8623 0 R
-/Annots [ 8671 0 R 8672 0 R 8673 0 R 8674 0 R 8675 0 R 8677 0 R ]
->> endobj
-8671 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.549 615.519 195.105 626.422]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-8672 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [334.883 531.827 440.282 544.306]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-8673 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [315.008 519.871 420.77 530.775]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-8674 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.549 386.73 195.105 397.634]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-8675 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.059 289.804 422.924 304.52]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-8677 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8681 0 obj <<
-/D [8679 0 R /XYZ 90 757.935 null]
->> endobj
-8419 0 obj <<
-/D [8679 0 R /XYZ 90 606.552 null]
->> endobj
-8682 0 obj <<
-/D [8679 0 R /XYZ 90 591.982 null]
->> endobj
-8420 0 obj <<
-/D [8679 0 R /XYZ 90 377.764 null]
->> endobj
-8683 0 obj <<
-/D [8679 0 R /XYZ 90 363.193 null]
->> endobj
-8421 0 obj <<
-/D [8679 0 R /XYZ 90 106.082 null]
->> endobj
-8678 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R /F8 504 0 R /F13 540 0 R /F7 505 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8690 0 obj <<
-/Length 2304      
-/Filter /FlateDecode
->>
-stream
-x��Z[o��~ׯ ��J at 4�;I�l�� ɶ�n��l-�l"ɐ�z�_�394��k��y0D��~���8��p���o���W�E)J%���.JqK����F�� �,�c<� x�Շl�fA���ݨm��_�WuV߭VnC�g������
7j�~S/H2/�]�����!�4n)q
�?�-�L#��n����Œ
-<�����d9Ci*�w�z��g��>kK�r�ҹ:T��U��h�X��L�%#�0o�N�T���8N�ǎ$�R/�^^�~�X�1��1���6�ٻ�8����F,M�[��q��w}?��
�u�I1pb�q�v���<I�X|��1���y{W�";��RP
��`~���!��|�&=E1
�z��ٓn�
de��O��ҹ�pD8q�s�zR�� !Κ.5��p��
W�8�T�
����Uy,� l��cZ�ue�1?d�J�!��������yv�wa I1PFY�M��S�ټ�A.�|SM�L�2�p96q��z���i�Я��&�Hcx�v<�Wk�_�/
-�l 
Ĺt� q�X�2���x�1C��c�_�ʘ���]�u���je����)J�( �l��1���I��(y���tB �x����RK�>z�ػ�
-]J�	���I�$������T�ˋ=x��(�`㒒I.�1��Y�8���'��Qf�
+X�MH�Q�x!ڛ���
-����eZ�>op:/w"@O�c� �CD��t��7V�Z5���cD +XkܘИ��Q_�.���Y��lte���v
*�
X:����3�����U
I��,1΋!���
q.���r��$��
�vÐ���l�Ea��X�nS���ldH&�7A����<))���ȑ0� �x��d�s"�vc�Ad�l��wU�����G��8D�'�
- jd���:�g�1�E
#E4�]9��C���y!%�@�����	N�(�P⦝?����� �"3�>K���vR�Ic���� )ZU7����NX���Nb�ݰ�
^	��T�jri
-`�:��vjV�����\��߶�?�HX�2�O#��K�~I (���xJh�CH��8
Tm
bn���B�K-�r�MIɋ�S�s�����z8��z
���?^�cU�Wt��
u�)=
z�m�`��My8��駰��fӮ�h��n�od�֮;��e�������j7�8e��ea�|p����)
d�O�]q
Lh
v&7��v�-��3:��~"�1��
� �kؿ��Q���ɞ�x�i��U^,8Ȕ�s@͵S��R������L���T���#'![@],�
-�����.�J{�$�Q<
��b��o�ݰ���	�4���'apH�
g
4b�`����
���!�}
-|��co�v�����:��y�UA�������$ �L�
B���w�)F�
���4U�����}����>O2�o~� ���Zr���G�����3O
b
����vZ at N
�(��|Ĵ���\����qK��V� LoW�������Q{8o e��L�z��g���x7A����G_bz�;����W�ɓ/G4a�q�
J��L�|�� �.��֣��gP��ki�+���jo�*��`
-n��Qþ�5��S%q<�w���R��t�|�:4�o���s�i��(
�D�+�?�n�*�f��zƛ�7����'��dפ�Hb�u�d�5��]�vM�%H8d��u
~�m�xD׼��C
�-�ʼno���=�/!�i������:4!=�����:
�`&�׋�i�x�i�S���g������	*E?ߘ�IL�G�����
�/�┳_k�%
-
B�7��w��s��z�au�w�F�u��=j{m-C�Ŋ��h�ژ��m�V�O�ms�@op��
-*��s0GC��&�ܸ�݈���fS�W��ఞx�}t(�p�Ȼnd��c>�l/�m+|��!�Em��N�0�cY:p�IH���
+qU�J�7s5��`ւ��c�NA}�R]vm��|7/��
1I�#k�5�S�a��4
��xr�
`��$}�P��*?�#|^�yњx�G&J`1s[}%7��A8<o �m(�cŰZ
W�"�!��EDX��'Ж?�R�D�v�h���� 5�v���#P�$"<�fU��{��e���<s �ıf
0����M��|T���o�{C��%G&�y�C�#�|
��	��~�x���8��9�[��������G���Yq��:>hRPY�X#�|l�>�Z%�f?E��w3c����$F
{/ݴm������E�
���Q�^@]܏�2�C�I��\��x0������(�e
-endstream
-endobj
-8689 0 obj <<
-/Type /Page
-/Contents 8690 0 R
-/Resources 8688 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8695 0 R
-/Annots [ 8676 0 R 8684 0 R 8685 0 R 8686 0 R 8687 0 R ]
->> endobj
-8676 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.333 665.144 425.662 679.859]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-8684 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 406.696 322.446 417.6]
-/Subtype /Link
-/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
->> endobj
-8685 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [457.18 406.696 505.099 417.6]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Time_Elapse) >>
->> endobj
-8686 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 176.223 268.34 187.127]
-/Subtype /Link
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-8687 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8691 0 obj <<
-/D [8689 0 R /XYZ 90 757.935 null]
->> endobj
-8692 0 obj <<
-/D [8689 0 R /XYZ 90 733.028 null]
->> endobj
-8422 0 obj <<
-/D [8689 0 R /XYZ 90 481.422 null]
->> endobj
-8693 0 obj <<
-/D [8689 0 R /XYZ 90 466.851 null]
->> endobj
-8423 0 obj <<
-/D [8689 0 R /XYZ 90 352.125 null]
->> endobj
-8694 0 obj <<
-/D [8689 0 R /XYZ 90 337.555 null]
->> endobj
-8470 0 obj <<
-/D [8689 0 R /XYZ 90 121.653 null]
->> endobj
-8688 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F7 505 0 R /F8 504 0 R /F13 540 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8706 0 obj <<
-/Length 1846      
-/Filter /FlateDecode
->>
-stream
-x��YYo�F~ׯ ��J@��{I�(��(����yI��6�TI:��}g^-˱м�A�rw8�s~3K
\8�u�����dA�"Iep~D8P�!l���Ô��ٜ`���3��q������b}w��2^��^�qy�Xx�:����NnV:Y��3N
x�g�ߞ�!��!U�[��8v�
��L#ʢ���a6�O_Q?8a��"Ѽ��=\�m_��r��g��l��km^
�)$d�A��9ӗ�
-���8D�=Kƕ���>��;!0�b����V���G
$0�6��Eapk���S������	�k*
-ʓ�g*�S�^uO�-����U�B��:��6:�3=�
����/"2X�`�{٨�(� �^KQP{�P|6NV���x�Oν�G�o:��'�+!b��(FDɁ�
)�v4�"%�>=
L�X�I��6�J/�4�y�y���d��
�8����l(��X�������
⥷E*l��Ə#HC <���s�mCJ�i�Ns��
-�#�G1�A�����$�F��Ӌ�i6�-D\����[�Van�i�=������O�מzUd�"�y��K�/
X
NO딂���9�����uZ�H@%��n�o�f D���U]�=�M>M��2ݜ�ILa@���ŇDk��j1`�1x	���j&�ўAz/
�XV���[yn@�e��Q�ԅ�S����9�F"�C���/+��
�ljuQS��b���U}��e	��#���S��,��������$I������pIծ����a8Р4&uެ���o*O�

_r��.ڐ�>�
CG�F�
�n�d����(xfm6	� ��u��l&g59�~���
�Fr֜bp
-�z�$
-r��>#�8r��9!�T��
99n���q�T���1�s��G;
~2D)y����gRh?�uR@ԣ�
�8��O�8�!�

-q� �ۣ�G�]_ʯ�;�T��OC;���g�;2�E��x��g������[
�����)�A�
;�[�
-,��oWUz1	Xi!
֪�=�
�uC!=p��C�
b�t)���|7��@��vۻ&���P�)4�CT�v�$ŸK�E.%�	�ii�bf��J]mh�I:�4-����-�:��
y at OJ
�I���XG�O��s2H]/ڣ8�,����
-y�\������
�/U���A
-xJ��l��D��q0*'[�4�"P���Y9 K��D�����
N�2�:AH�s�z��[��Uq�,�������i��X��\�2t h�ʇ���L]���a��n�`a�t&�ޥˣv�,T�na�������T��0���0+��a�a|�ai
-Gҫ1��#ˉ�`���Y�)U�[T@\@l������^>�^��&
���X�`Xe�R�}��
-#�U���M�	�u������i|��U[_P��PC5�Ӿs
Cq*Q���.�zY��mɈ� ��C��
���q�.�oB�C4m�z���V�J

6-�v�wY��;_���{��w���^�ߗU�DR�t�Ucc��(d���!��l�epa�l��^�4���t�6�~}K��:b2^���*�>��4Y���Mf�=J�����M���[=A{!�Q'J�U��r;�z����� E�5��mZ_�Tx~p�����8�z�9T�
�z�
-�ʷK˼�!Г�"jWpA��R�I�s�l��$L
`�=��a����~�߁a/	�%
�w`YX�שqX�N��-��!��W���M��c�8��}�2)��~iK;��i�L�"�W�:!�d��f�+W��P!�[ϼ���������*t������f�>���
 W�2�l�bV���"Lf�V����)@�
-endstream
-endobj
-8705 0 obj <<
-/Type /Page
-/Contents 8706 0 R
-/Resources 8704 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8695 0 R
-/Annots [ 8696 0 R 8697 0 R 8698 0 R 8699 0 R 8711 0 R 8700 0 R 8701 0 R 8702 0 R 8703 0 R ]
->> endobj
-8696 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.639 588.675 300.161 598.957]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_4a53183970490595ac39c8c070601c6f) >>
->> endobj
-8697 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.639 417.895 300.161 428.177]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_4a53183970490595ac39c8c070601c6f) >>
->> endobj
-8698 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.347 326.885 435.546 337.789]
-/Subtype /Link
-/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
->> endobj
-8699 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.45 326.885 513.996 337.789]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Concatenate) >>
->> endobj
-8711 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 316.987 113.133 325.833]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Concatenate) >>
->> endobj
-8700 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 264.507 256.157 274.405]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_4a53183970490595ac39c8c070601c6f) >>
->> endobj
-8701 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.708 146.207 250.895 175.273]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8702 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.024 105.059 483.212 136.028]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8703 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8707 0 obj <<
-/D [8705 0 R /XYZ 90 757.935 null]
->> endobj
-8708 0 obj <<
-/D [8705 0 R /XYZ 90 733.028 null]
->> endobj
-8471 0 obj <<
-/D [8705 0 R /XYZ 90 584.166 null]
->> endobj
-8709 0 obj <<
-/D [8705 0 R /XYZ 90 570.398 null]
->> endobj
-8472 0 obj <<
-/D [8705 0 R /XYZ 90 413.386 null]
->> endobj
-8710 0 obj <<
-/D [8705 0 R /XYZ 90 399.618 null]
->> endobj
-8473 0 obj <<
-/D [8705 0 R /XYZ 90 259.997 null]
->> endobj
-8712 0 obj <<
-/D [8705 0 R /XYZ 90 246.229 null]
->> endobj
-8474 0 obj <<
-/D [8705 0 R /XYZ 90 89.441 null]
->> endobj
-8704 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8718 0 obj <<
-/Length 2596      
-/Filter /FlateDecode
->>
-stream
-x��Z[s۸~����V��`\�t���Ͷ��7��%�hh	��H�JQq��{p!HP����K_,�q�����a�'?]�����m�&
-��擻�D��¦��������	�xz;#xZ4�bq;�xZo�6z��_���h�nn���,�ۧ�;�:.�jq�̈���ig�~�~K��B*�6�9��?�%M#�T���f6�
O���.qlƐR���3��k����;�n��T��ۢ�f�dΘ@<��9����^k�0]-ݺ
K�a��2i��~�����Q<!�L *�d��z�OV0��#���Ѯ�M2��w;����W�"�(����C��j��#b�"��,`�>�uU��l�)�_��+MR���I�����"�(�.������ʝxN&�u$C$#�u
��J^	����Q�r�+Ʌt�j[)$C�\�!��͍�]m�`1ыM�����/�z�*w�:�uupPPA� 5����8,\f��AuS$d �ҏ��	2�
Q�
�_4<h��t�ޗն�������9�$,͡! լS>�nn�ͧ�(.��v�M#�:�� ۯ�n�_�
�l��MX��ԡ�.�ѮF�۶�
��nS>},�[7�)�D��G�$a [...]
-�����ȈYs���
���<�g��e�����&�۟��H`#W���C���)�Y �r�(��#P܎���V
� �ݦ�g�O+��d�r� -M�u"��CɇRW
���#i�O,�������
�
u���4��Zq�8�`��
)(i7e�\�"���(�e��(�4��w��a�U��3p��Iza2e ������Œb�?

6��5�
-A3�r�b���X-۠�q�Aa9}ƧQ������^qDuL��qVD�u\
�8�c����+�֮�TA�h&bTO��
ʌ�ZB�u�!���w	�E�5�H�m�������Fyⷊ���/��պ���EA�3H�,�˺Y9?d��~؛Yr6>�|���佝�;����@��e�
t�<w����
-�'Ѝ�`�/𠇡��O�Y�N�A Q����5
o�2<X��=���$zw�{?�o��,��X�{���4˹���$.b� tM���1
ɘ�Lg�| ��\b7����)%�9�,g�2��2fC�(h:���<�yL���U�I9�z
&A���I
m>n���d�y���{��b6��2�
(2�U�s*
e��h��	G��A��]��1|�1�p
-T�ޓ�c8UH���L�S4(����08N��2V4�2�w..��I�NђV�[H�,�O�]
����J>�2����ĺx�̀�𜹵�bDNGloi

-��9��v��N��$",<~w�̌̀ʕ
�q]o�.t�m���aP(���ຌ
x
�gx���	����!
��<�}Z,�U�+��8g�.�s�)�(Q�}�^��cS��b��Ѷ�Q�m�ȃ�)���bZT+�p�Ŵ�)g����=qHH�_��tzi2=xqw����w��3H�H#�2J�e�o��o��xg��r1�
�@�j��2�J�
��/�[I;�)W�Q�
�9E�P��4oNH�U�r1&�4��{�~�:$al]7~ܻ��]�‹��
�2�g��i���>�I$}�/�*[��Vp4�Dbȱ�s9��<�U]�
l:A;tn���Lp��
+0W�z,FuW��+�,��5�y�	_�1
8��
w��ټ��
u���VL˼�z��֣3z=3=�c4
��t:PAo��g�	��P}@j1�2?��
d	��ۣN���
�
�7建3�u��/c.Dk\d�l�	��=;W�q���wn��72�W���� ���uʻ��	1�5+�s"���&|h��g�|�R�S�
������go
H(yb�� ��
O��W�@g!{��5��ÈGq9P
���LU!8���
�b��0:U<@X�#"e��Aŋ�TMɾP�)u?ͽ#r�X���0�|8��8e֜�n�Q&�1)�/��� `}�	� 
Q*Ee捣����n����$
-yr� `0<-`����y���Rl q��Q�b]l:��
�30�m��`.
�~,�K��Ҭ�Ic#0����T,
�
�*�-����ԏ���&1�.
-Q&��r�~��
]-���D�dZr$y�Rs\k6>G���F��,��@L��f,�CHk&�
ĝ�*F}\�������� M�����	�ao�
�v�ZvX 9�^Æ�d��My��.��`��2}�@Xf���k�.��<�MJ�4CKaD U�%������_��O���O�pg��:�kWB7�wi�/{}A	]كo慨M�
��?��,Ϲ$����
?M�!l�����k��g�
C����]�y���� �ز}P���~�K&u`dr9�nl���z�EJ�S�#��
��}]E���+�:�&NX!
迂�����M �QD��M����]9ĮL��1��
-}\�5���v��^�\���a�������:vU;#�>����4#�

��7��#��>M��/./��5NcӶ������G�<�cU�T��������88�X�C֝W���+���h����� �Fz�
-endstream
-endobj
-8717 0 obj <<
-/Type /Page
-/Contents 8718 0 R
-/Resources 8716 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8695 0 R
-/Annots [ 8713 0 R 8714 0 R 8722 0 R 8715 0 R ]
->> endobj
-8713 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [322.376 539.129 385.519 550.032]
-/Subtype /Link
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-8714 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [488.213 185.186 513.996 196.09]
-/Subtype /Link
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-8722 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 173.231 219.384 184.135]
-/Subtype /Link
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-8715 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8719 0 obj <<
-/D [8717 0 R /XYZ 90 757.935 null]
->> endobj
-8720 0 obj <<
-/D [8717 0 R /XYZ 90 733.028 null]
->> endobj
-8475 0 obj <<
-/D [8717 0 R /XYZ 90 613.854 null]
->> endobj
-8721 0 obj <<
-/D [8717 0 R /XYZ 90 599.284 null]
->> endobj
-8476 0 obj <<
-/D [8717 0 R /XYZ 223.966 176.384 null]
->> endobj
-8723 0 obj <<
-/D [8717 0 R /XYZ 90 159.657 null]
->> endobj
-8716 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8732 0 obj <<
-/Length 2663      
-/Filter /FlateDecode
->>
-stream
-x��Z[s�~���S+MW0���Τ�8�4�l�n^vw4�D�l$R!����s@�P���8�>xD�����|�!��~�'�_�����J��FZR9���h<�$C����|�����	�x�nF�4.���݌�i�y~H�E��1�-��y�p�4�l����z�J��wŌ�i�T�O7?\^�[�F���N��k;�Ӊ`D�nf�%�fs*��-u���!�E�̛����ei���4�&��&���d�X��T�9C
g���.�7�d+;�c�0
;��ks�⻛�_.��R��G�*1Ym/>|“5��a��j�X��N8e𻙼���vG�G�Li�1�DT""�]ܝD�M��(�"CI�W`��=���M�]P+�s\x�^^	�?B%m6|�X
~�Q������Y�E���<[�ٽ�U��y���+w�N�IV�y�O�u�E�ۤ+8��_�y�;��D ͉Ur{t?E�
�'�oo�����ӡ
k�*�
,�
ۜ�9�G�\�5�{Z%�
-v��g���"�j�X�ٌ�Aět����=س:�s
&�
d��#|t�O�\���1I�G��
�R��+�s�y�̕���/|;�A?hl_u�F�4YUy�s!t�'�1wNѳ�&�eR�Q���Q4���T�o��=��l�CoM�
M!I[�YRK�B����2Ƣ�̀x����
^���ʹƂ
�X���� %1S���M|�q8@����P��LZ+�]~�����٩M���iY/�l�|��9
�	ږ dգXC�p�YEv��Y�WՐm���1
94Ҫ���!-C-�j~�ZK¥g�AIR��d������0�>��C�jB�纓5g"j���#Pu�p`Mo�n�8[
D)R���x%��X���A�.�|Ĕ�Ȃ���$�
-��	�	����B[/���mA��Qr,�l�-Gbj�
���چ��8><6�
-
O8\�Ä3R�ˀq4X���-
0/�Ӂ ��Htx�(���:q~�J
@�2�?r�	d ��)���S=`=�V:@������	!��
�0��@4�3
-*�
�G
��#U�W#�cH>Bo��z�% ��\P���B<
-M�A
-Pt��?�Pv�Q�O!
[]>��3][�cDg�B�� ��B�7� �Jzj�
�$�iG��(	�]6~s�@�;��f=��&��hjJ�
-�3���O�)9�_.�'���'����(T��=�U��6Y�ն߸�6PP ^�z�7����q(�
�j
�oN�]H	ʜ
-^3�l�fɧ@l�	e�*��"@onwW&[þ�3����f!5(�ѡsg���||��N�pM��
����a���T�2 ��\�+9(�)h�G�`���oeR��h}�i���X����t��H�g�'z�Ѻ
���9��&adH�=�
L�54�nN���G.����s��{f&e�fq��RK��3��ݢ0�K�z�	�,�6�b
N|5w&/D��B0
�
�З�#d�6�ӳ>Ğ��*�����1���O�	j����=�	�#[��U��E�	�J�І�R�/�P�^ *.�U1�dCza,�<�|���M�E����D�o7enW��l6F$$/y�&E���G��#	�r���p$y�0F��RRu$��Y��b�2��G���d۴���E�$�FM�
e���v�\��5�S7�
B}h�p���gZ��YB4(_���h40޾A�"u�=�h/��
�v���[�d
��m
*S�8<A����~�Kg�m��n�[{?h�z�.����{���=�sn��9�i��>��[
���JkĿ�I%���������7�j:����6iZ�ڡ��R�M �	��O�Y��uV���
g{s�GE��!
���o���V0ERHm���ӎ�x�s\$�ѬxwBMo�"�Q
�[4x�Pq��Nt��$k{J#�2��^��<�y�;�y5��y�
N��qM�GI�Ȃ�HD���'��{]VV�):���?����4́��C�xX��s�����!��"����^�W���g��I�/����0:�M
3:5
-�[�S��^����(��B`82�:D@��Nw�C
�
���
O�����M �v���B��>�WM�C�%h?{=��b��o���I���MP�D�����P�N�#y�&��
-�V��K8s�
���Ȧ
yU�IִV�m�^'&����٪j{�o�UM�,5.��rĚv�����
��'�Ob��(uf��׶'��uf4�����T�ޱ���FQG�n�|c��D;/�����

�yϥJ
-���S�y91��>��pG�v
�:%
-�lJ#ۇ ��3oNJ
�&a���S@��
�G��'0:�������k��=8�'��Py5�j  ?��q*'8\G%3�/ݫ���'#IJO��r nE�m�ۏ�����d���4<�`�})2V�UA~yU��i��4o�!�a�����J�l��/�1����~�3ܴZ�_����f۫�L�W���i<b@
(��V�;�w!ǁY,�'����=�O����������
�6�L���w�~��7�ߙ7	��k�uP����2)�<b��W�9~j��
-���9��J�� F��ٝ�<i��i����%
-r�^�W�nqy����V%�g�@iu��m.�=)���r�|̳�O3��
4����H�
-endstream
-endobj
-8731 0 obj <<
-/Type /Page
-/Contents 8732 0 R
-/Resources 8730 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8695 0 R
-/Annots [ 8724 0 R 8725 0 R 8726 0 R 8727 0 R 8728 0 R 8729 0 R ]
->> endobj
-8724 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.639 616.141 300.161 626.422]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_4a53183970490595ac39c8c070601c6f) >>
->> endobj
-8725 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.144 575.976 182.164 586.88]
-/Subtype /Link
-/A << /S /GoTo /D (main_Expanding_One_Dimension_of_the_Vector_Space_to_Multiple_Dimensions) >>
->> endobj
-8726 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.502 458.546 241.69 487.611]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8727 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 385.046 163.823 395.95]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8728 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [486.549 321.593 513.996 332.497]
-/Subtype /Link
-/A << /S /GoTo /D (main_Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension) >>
->> endobj
-8729 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8733 0 obj <<
-/D [8731 0 R /XYZ 90 757.935 null]
->> endobj
-8477 0 obj <<
-/D [8731 0 R /XYZ 400.69 579.129 null]
->> endobj
-8734 0 obj <<
-/D [8731 0 R /XYZ 90 562.402 null]
->> endobj
-8511 0 obj <<
-/D [8731 0 R /XYZ 213.427 312.791 null]
->> endobj
-8735 0 obj <<
-/D [8731 0 R /XYZ 90 296.064 null]
->> endobj
-8736 0 obj <<
-/D [8731 0 R /XYZ 90 217.288 null]
->> endobj
-8512 0 obj <<
-/D [8731 0 R /XYZ 90 194.354 null]
->> endobj
-8737 0 obj <<
-/D [8731 0 R /XYZ 90 194.354 null]
->> endobj
-8536 0 obj <<
-/D [8731 0 R /XYZ 472.811 117.69 null]
->> endobj
-8730 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F8 504 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8754 0 obj <<
-/Length 2190      
-/Filter /FlateDecode
->>
-stream
-x��Y[o��~ׯؠ��
hGs�B
���©����>؆@-G�Br����g.��h�q��O$��33���
�ŧ^���۫��7[D(
-h���]Dx!�%��d�~Ib�jM0����˸������2{�SI
_�Ko�~8=��i�6�us�'�����ǫ�N�2Z�2�������v�d?#ʢn���G
-ሐ^�7O
-y��M�ZS��W��.U^eq��ȅ�U���KUl`�!�L`-������G��1�I&����G�H`��}��{3+_p��-.��u��*�2�1(=D
Q�������C�}�=����C��8��q*�gD_��1\$��
�g�N2/���
�
"�����@�A7�i��Ӳi����J~aW/+U�mY���1��3���0I`�X�.#���
���6�
+#c�a��ޯ�*
�Rt@Ol�)���B]��i�e�*�nTr}nV.��D��
-qxH��c��u7>�p��H<#�N}�	2역�
}��"(��91��t���J;v���xlCF	�J����ܶ��)�wR�%�X;��?u�*뱽@����ƙ
�UU�Fmܦe���v�"�v[O*Ϟ�8��
�<b4��[M�@���ϻI"LB�"D">E
���A�0��������{^zQCF |�>ׄ������̬���_���:����i�{�i.5���"SF���B膓�����{�/��)�
I�F&E!�g�������?d�T\�/D*�a�����>lb�TkN"���O�"Յj�u�xD3�xػR[o�G
ǽ��[�bE� ��
�]���s
fS�UY �5{�
�
-�9�d�%A�E��GH P�4�GH�vX���8����
�����T���T�?�
Ok��֧�ш����cg���$�U�@2Y���$��L�j6	�*��ݱ7q���?� ��s��5o�:́�.�i�T�7�0�	uye�F�3��q��+��Ĉ�����y��q�=By���Yc`�&v��>��p�V
�|��¹�4����/�	�?�@&�r����-��/
��=�^�L�zѕ��~U��<<�v�k.%�3��g�у�Ljt�[����� M:�yF���RPu�_�KP�'��I�f��U
&��UX(ɧ�}�[Rn���n��w����f(��g��O�ЬO�,x[��
8o�,+5xާ�';�c�X�]�Q�3�/T �A� ��Y�MQWU���Me��:�Z1�#��4M�^-Ie�"
��hP λ&S1`
L=m����7�;}��&#��
m�X�N#�����
Q`᎘��Kemi���
����������������N��p�y
!���H�_ �g�ė즮��G�$ٍ}h"��0�c�TA�6�ӝ�-�����Wݓ�?��ԅ�\����v��/�N0�g��7]:[_���3ժ:O
?3 �M*�Z�VCb\+�#~3�عP	�(�[Lk����oo�tc�^�7�!ԛma
�ٻh-���ن�ߌq�I��d�Ws�6yb��ɴa��w��� ��q�U��9�혴e���G�s�`�6�v}��x���Ӷ2�v���[�DWL.Ue/�4`�h$0*�!1b��G�P��|��3
-'��)vt��iך{K!�
��c۾g9�+�?��
mjL����v�_ffFHj�i���ع�!=s���5�N!����
:�����2�S�q0Bl��v����J����;�=Cx��o�ɂ�*��>|����4)�����A�z��
]�
��= ��W\,�9{\�!���p�Cub�
$v�
���
��s�n�݄������
���(�?r�Bq�
�
���2�m
'��
-����͚�4a� V
9�m6��u
�=ؿ�94o��.��;t|��f�l���j��mv�;F�pП�6����bB(�lێ�'�hp�����P�]o�UG��z?�b�t at B
���׉th���֌OcPP㬏:���ֽ(��b�_�Ӛ���q��j[.ό>�
-��u�t�<m;��~�Oi�����~}q�z!�?���h����_5(B����EdzS�:��
�cW �GW%؇U�U{��
��E�7N+��v�YF�6�Gsqr�:�ۓ�����qd�{�/��ܵmuzrr�6
�iU��=���d��FR Ie/��W�e��N
�
ԡ���BE,/
-endstream
-endobj
-8753 0 obj <<
-/Type /Page
-/Contents 8754 0 R
-/Resources 8752 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8695 0 R
-/Annots [ 8738 0 R 8739 0 R 8740 0 R 8741 0 R 8742 0 R 8743 0 R 8744 0 R 8745 0 R 8746 0 R 8751 0 R ]
->> endobj
-8738 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.93 356.674 372.559 367.578]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-8739 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 301.814 181.845 312.718]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ebb4df2fa553f9a75fc23f4a3d8aa084) >>
->> endobj
-8740 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 262.96 181.845 273.864]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_64edddaeda5b87632fc0d37fd0f56749) >>
->> endobj
-8741 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 224.105 154.727 235.009]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_9cbdb37b93b7d66e66a19df8f46a71f7) >>
->> endobj
-8742 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 185.625 176.505 196.155]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_def9cf2f5c18bf5fc72e2648e848f8e2) >>
->> endobj
-8743 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.408 170.63 450.955 180.536]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_64edddaeda5b87632fc0d37fd0f56749) >>
->> endobj
-8744 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 98.885 200.451 109.788]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_9846bc1d16b42521b6cda0e8a4799115) >>
->> endobj
-8745 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.2 98.885 292.843 109.788]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-8746 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [428.607 98.885 513.996 109.788]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g616fcdc7600a3a11a8a9152e75730899) >>
->> endobj
-8751 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8755 0 obj <<
-/D [8753 0 R /XYZ 90 757.935 null]
->> endobj
-8756 0 obj <<
-/D [8753 0 R /XYZ 90 733.028 null]
->> endobj
-8537 0 obj <<
-/D [8753 0 R /XYZ 260.509 675.861 null]
->> endobj
-8757 0 obj <<
-/D [8753 0 R /XYZ 90 659.134 null]
->> endobj
-8538 0 obj <<
-/D [8753 0 R /XYZ 466.833 584.508 null]
->> endobj
-8758 0 obj <<
-/D [8753 0 R /XYZ 90 567.781 null]
->> endobj
-497 0 obj <<
-/D [8753 0 R /XYZ 90 457.433 null]
->> endobj
-290 0 obj <<
-/D [8753 0 R /XYZ 90 450.832 null]
->> endobj
-8759 0 obj <<
-/D [8753 0 R /XYZ 90 320.788 null]
->> endobj
-8760 0 obj <<
-/D [8753 0 R /XYZ 90 320.788 null]
->> endobj
-8761 0 obj <<
-/D [8753 0 R /XYZ 90 282.053 null]
->> endobj
-8762 0 obj <<
-/D [8753 0 R /XYZ 90 243.199 null]
->> endobj
-8763 0 obj <<
-/D [8753 0 R /XYZ 90 204.344 null]
->> endobj
-8752 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F21 2111 0 R /F72 471 0 R /F99 2117 0 R /F98 2120 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8804 0 obj <<
-/Length 1869      
-/Filter /FlateDecode
->>
-stream
-x��Zms�F��_�'f��pw�i;ӤM��I\[�i'�h0�6�Pl���
!�m���X�v�ٷ[��^N��&�/�|�
*�ٕ�cK
-�8%�la��	A�w�cl�9�A�
-�g�v���D�<��_�A�y�������J�F�r�0��:���!��QF��%����y�����2�^qv�C�����ȗ�<_E�L)����
��ePF��yt���(	a��mƉ":�f6�cB�
���H2n��ɻ_�����,
��[�je�����.&?N�� ���­v
å�
a�+�������
T�:�?(n�]��c��4��Ti^���r�]s��e����Ϊ-��fo�/'�;�����U7��K�j�
�u&v��
�t2�	��H���{|O)�!��W��0�:��L���ԧT�6L��ܿQ�l4���#��d?5�}l?O��"�p�..7���z���u_|���T�cp�gM~>�n߾>�ᛟ_�~i�mW�;v��d@�跹ä��@lea�m�ZD�:,�`!�Ko�.�K��R�C�ɲ�/`j��J�����P�{���ɢ$X<��mEW �#
�ѣ��=zq"�J
&GY
��+T����}R ��}�t��l�W
�KE��Ď
 r���=� XC��#Q@
�4q\l��3�[��O���vycLI��-�M�b$���ȷ��qL�%�!XS^��o�$,�s����E�֠
�}����+EM�J�.�`}���W��r;]����
�]�1��Q��<\��a7�ϸ"�l��~J���0C\�>ԭ�!Je�Տ�+��W`ٙ�W��q�\n���b
F��Y��Š�*����񑷵��J��ʫ�ա���y
E�A�I�gC��w��L���Kǟ��p1
����+
��8����݀z��TK�Р�P�CVMj�„g�nb���x���.�j
�H�!V���Ҭ��Tu�|��S�ؿ037��8�T�l�d���xUɤ��Z|?2� �Nܿ$����\�}*~@t~�)�u��:	���U�n�aU���rx��m\�t�����,�h�톮JU)rՎ��#)�z��
b�q*aq�D���O�h��*8����n5FH��`��ɃAV}&�r�ǚ��;�_j2Pw�16� �����}B�>q��9Sb�
� �Q���mT�z�<���բ����k4�p�*�U�WR���|r-
�%cL�s���͐
(B'ِ���}
-E���S|��M�$�������e
/z#�u�j�'��͘�
'/n�[
� �I�j�C�A��>���
yR>�E��Q��Z�6,��4	�󋛠��oN������ⷑˬ�R�[jMuH���  �tG@mt�/���k>�xg�^
-JR+��LN����5�B��|
j���G��C�{-`2�6l\����xQ4��\.� #�
%���!>G0G�&��'H^%e�P
n�>m���C��3�}���QՍ�~��
"�"0��0�`>�k$�+�}�bA�8 �ݓ��nP�����bHr�)��P��0��
uN�L �����k6�:Z]F�
���"�`Au� 0
|�V��L�N��f��p��}'
����"^E�:d�ׇH��hW�a4o��W/lO�۰�
2U�yT��w0U������H�o�5�$��Vm

�o���!�mԼǘ��s\���9���n���=ݜ�?5���6�G
�Ch�<�<�W����}f[s��*+c�u5nn�1��OE��@�4B~
$�:7S���H�6��H
�*���$�"�M����V}��D�o�/��kmO
o�2{zzz{{����8�Q\�f���ͷ���va�jM��<�O*aRu�v
j���
�E
-endstream
-endobj
-8803 0 obj <<
-/Type /Page
-/Contents 8804 0 R
-/Resources 8802 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8695 0 R
-/Annots [ 8747 0 R 8748 0 R 8749 0 R 8750 0 R 8765 0 R 8766 0 R 8767 0 R 8768 0 R 8769 0 R 8770 0 R 8771 0 R 8772 0 R 8773 0 R 8774 0 R 8775 0 R 8776 0 R 8777 0 R 8778 0 R 8779 0 R 8780 0 R 8781 0 R 8782 0 R 8783 0 R 8784 0 R 8785 0 R 8786 0 R 8787 0 R 8788 0 R 8789 0 R 8790 0 R 8791 0 R 8792 0 R 8793 0 R 8794 0 R 8795 0 R 8796 0 R 8797 0 R 8798 0 R 8801 0 R ]
->> endobj
-8747 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [290.341 720.235 358.056 730.141]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-8748 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 697.994 200.451 708.898]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_bb6956f4cc086675f02d421fef46122d) >>
->> endobj
-8749 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.18 697.994 316.536 708.898]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-8750 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.165 697.994 424.631 708.898]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-8765 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 639.215 200.451 650.119]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ff1c6d17be391cb22a9c4d4e0fa0feb8) >>
->> endobj
-8766 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.868 639.215 303.224 650.119]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-8767 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.821 639.215 431.287 650.119]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-8768 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 580.435 200.451 591.339]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_9f616c59b2d80aab9f11db8f3c63883c) >>
->> endobj
-8769 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.975 580.435 338.396 591.339]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8770 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.53 580.435 513.996 591.339]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-8771 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.717 554.856 245.433 564.761]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-8772 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 520.659 200.451 531.563]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_c4e8228056b829aa7e0e05e1b292d2c3) >>
->> endobj
-8773 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.788 520.659 305.615 531.563]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-8774 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.796 507.035 243.512 516.94]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-8775 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 483.798 200.451 494.702]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_e315cd842b8a3bd48d730eba070969b0) >>
->> endobj
-8776 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.788 483.798 312.241 494.702]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-8777 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.796 470.173 243.512 480.078]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-8778 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 446.936 200.451 457.84]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_440d3df9ebc23e058ec03d5606cecda9) >>
->> endobj
-8779 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.054 446.936 304.611 457.84]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-8780 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.228 446.936 422.694 457.84]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-8781 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 400.112 200.451 411.015]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_bcfc281c9ef2a45bcfad5ed4a1109b8e) >>
->> endobj
-8782 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.574 400.112 313.516 411.015]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-8783 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.968 400.112 425.434 411.015]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-8784 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 353.287 200.451 364.191]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_82341fbea6e1c21a80058424c0ccf2d0) >>
->> endobj
-8785 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.788 353.287 248.042 364.191]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-8786 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.173 353.287 344.639 364.191]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-8787 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 306.463 200.451 317.367]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_45243459137b3c9e917bde090a48ba01) >>
->> endobj
-8788 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.761 306.463 302.03 317.367]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8789 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.874 306.463 430.34 317.367]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-8790 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 247.683 200.451 258.587]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_b6db0040a47381b41656b2846ce782fc) >>
->> endobj
-8791 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.866 247.683 281.026 258.587]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-8792 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.822 247.683 427.288 258.587]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-8793 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 188.904 200.451 199.807]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ddf613a0448b642291d5e60910983a81) >>
->> endobj
-8794 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.088 188.904 254.688 199.807]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-8795 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.084 188.904 299.811 199.807]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-8796 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.711 188.904 427.177 199.807]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-8797 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 103.533 190.738 114.437]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-8798 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.236 103.533 261.85 114.437]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_6a10411642132d2a11144719a8cec9fb) >>
->> endobj
-8801 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8805 0 obj <<
-/D [8803 0 R /XYZ 90 757.935 null]
->> endobj
-8806 0 obj <<
-/D [8803 0 R /XYZ 90 609.491 null]
->> endobj
-8807 0 obj <<
-/D [8803 0 R /XYZ 90 537.76 null]
->> endobj
-8808 0 obj <<
-/D [8803 0 R /XYZ 90 500.898 null]
->> endobj
-8809 0 obj <<
-/D [8803 0 R /XYZ 90 118.612 null]
->> endobj
-8802 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F50 339 0 R /F35 2018 0 R /F65 376 0 R /F99 2117 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8856 0 obj <<
-/Length 1765      
-/Filter /FlateDecode
->>
-stream
-x��Z]o�6}���S&1�Q�a+�]dm���0�N�ɒ'�q�_�K���X�H��m�� �L]^�s��I�\9�y3��bp�:`�D2��s1u$vD@�Ĺ�8]B�ސ`��s�`7�g��ܣ�͒յ����]|�G���
�8N�B���~e�rx�}�x{���Vg�Q�s�T}�l�l�C0�L�-�?tX!>"�1��A#/��(�!�ؽ�$u�l�D�2Oޫ��=�*
�#F8w��������3�!U��@�qg<|���	<�`�W�,�V3ǧ
�'·�l����m��@X��?Q�+w��k�+���7��^�x��"��Q�������GS�r��4U���ƻ��'�1��q��.���ׂ:!�)�+�)
-|�
	C�fH�U��S�Iym�X�^�f�[�ߨq��溘Gc��K�"N�
�luN����
-
�Y��V+8�۔�qa�lr�4�B�#_G`�!eq��P�"���2��|dq1
-��Gi;^
#‚&`�Bu
L�n[0�tb�M��������
-i�nڍƋ���R�
-cu9ϖZ�Y����SPj�e=��Hc��7
ᮖ�g��
t�
e6��'
-T��!1-X�����Aj ��Т���1dIv��$Y����ӡ��)I�&���E:.-�qڥ�$@X��H�8
�
�A}�
��
o�
���
�
�2[������{9�)bAx��9`�|G��@T�=
-��	]u��y6ۅy�
�Λ�=��ͺl�m�d�Q��;��޷��I�6�#���fY
�
�"��"���D�q������3G]T!��-�]B����B)�b�.Dw����B��qt�t�F+H���:�	�'n 7�{ !b��&�h���왮HҐ��R�}IF5;դ4�.3
�	�)�
�1�G���sU�Z�8�r
�<�}��c��Q
�6uX�Ls��.���˪t�Q{8))�ߚ��@�z_���*1U����ɲQc�<�D~\���S���,�������y
�����Ӎ�y>vO�d��2S���8֫"]��|��ď�$��ɩW�QG
���mH����I���
	���C�j��@I?�H Al��M ��.0C���l�Q�>Ӭ4�R�um���"L��L��d��p��d�Wk^�!�����f
}'��5�R����ǚ����f������м2�
-uk�	hijt���i��E=S6��l�(��c��YC
MC�M
9�?��Q��#���5�_=T���=��'������OS�E�E\o^,��]5�Z~��
�V�f�Ef�^k��m,P�S
1G��k�I���[
%;J
��a1�FNJ�O�#$
�;���^1<�5���7�T:X�TP��9c�r���
�3��%glSip���]r�G��V';�l�i�G�$�_G��^)�*Y�j�~�UԳp�K8~�*�Yv�e��� 
�c���*��ȯ�
�0z���*��(Ik�>/�Ά2?(	>���-	
׬��J�~�-	���8q��ƕ��i�c���
s<��'!�zG�kǙ#�����lKַS�W��q�	#���S�� ��S{2à�ʺV��O��Z�p�>�e�?��������"ە����H�uq}xdM�l�y�H"����`�#���$ ksÇ�����/j�<��$�
�y}�۳��qns�g��<�]�a�G�"J��U�9���>m���4���Aե��?N}�۠���_�����uY�_��-�K4.�"��9�˳�<9��Q(DcdZ�ey3A��YT�ϛx@��[eg(
-endstream
-endobj
-8855 0 obj <<
-/Type /Page
-/Contents 8856 0 R
-/Resources 8854 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8864 0 R
-/Annots [ 8799 0 R 8800 0 R 8818 0 R 8819 0 R 8820 0 R 8821 0 R 8822 0 R 8823 0 R 8824 0 R 8825 0 R 8826 0 R 8827 0 R 8828 0 R 8829 0 R 8830 0 R 8831 0 R 8832 0 R 8833 0 R 8834 0 R 8835 0 R 8836 0 R 8837 0 R 8838 0 R 8839 0 R 8840 0 R 8841 0 R 8842 0 R 8843 0 R 8844 0 R 8845 0 R 8846 0 R 8847 0 R 8848 0 R 8849 0 R 8850 0 R 8853 0 R ]
->> endobj
-8799 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 708.189 190.738 719.093]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-8800 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.236 708.189 262.159 719.093]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_d850947fe33d1adad7b33c58ab859ce0) >>
->> endobj
-8818 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 671.79 183.824 682.694]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_cecce63184c4367b7e48cd7f35b29adb) >>
->> endobj
-8819 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 635.766 192.272 646.296]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_112cc024004bb7146ddccaa837664bf5) >>
->> endobj
-8820 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 598.994 241.935 609.898]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_062e6c821cbe563825968a30a108f14d) >>
->> endobj
-8821 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 562.969 193.229 573.499]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_f4f6e42cf5b4be24e73efab004e22a34) >>
->> endobj
-8822 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 526.197 213.163 537.101]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_cd523ec773dc09fcf2c3ebbbd70b3bc5) >>
->> endobj
-8823 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.501 526.197 315.857 537.101]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-8824 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 491.933 189.901 502.463]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_d43b1f8f4b622041e8719a0b26c4a2d2) >>
->> endobj
-8825 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 455.534 187.689 466.065]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_345c97f889e2b3dae5f12fcc130a8b75) >>
->> endobj
-8826 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.505 455.534 226.693 466.065]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8827 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 420.523 228.895 431.427]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_085c8cf54c180f7eaf693904cb6ce68b) >>
->> endobj
-8828 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.232 420.523 333.482 431.427]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8829 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 385.886 229.503 396.79]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_302728bb407aa3c4137332e3275d21fe) >>
->> endobj
-8830 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.84 385.886 334.089 396.79]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8831 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.98 351.248 187.264 362.152]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_5468429667edd0199d41c11d79d3d9b7) >>
->> endobj
-8832 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.963 351.248 293.213 362.152]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8833 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.131 351.248 371.148 362.152]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8834 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.711 351.248 455.727 362.152]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8835 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.98 293.697 187.264 304.601]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ef0c072f344fd2a732e792578091cc9d) >>
->> endobj
-8836 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.963 293.697 293.213 304.601]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8837 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.131 293.697 371.148 304.601]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8838 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.711 293.697 455.727 304.601]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8839 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.235 281.741 220.058 292.645]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-8840 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.717 236.145 186.348 247.049]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_d9bdf9f5b0e6b90d5c0c173ada762067) >>
->> endobj
-8841 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.523 236.145 293.772 247.049]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8842 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.35 236.145 373.367 247.049]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8843 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.82 236.145 456.837 247.049]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8844 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.717 178.593 186.348 189.497]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_2e81b3aeb6ec2e74bee0cf690d44cd69) >>
->> endobj
-8845 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.523 178.593 293.772 189.497]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8846 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.35 178.593 373.367 189.497]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8847 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.82 178.593 456.837 189.497]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8848 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.581 166.638 218.404 177.542]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-8849 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 121.042 232.76 131.946]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_23d4da5a4d3ccbef1d32597a77661ab9) >>
->> endobj
-8850 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.097 121.042 335.454 131.946]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-8853 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8857 0 obj <<
-/D [8855 0 R /XYZ 90 757.935 null]
->> endobj
-8858 0 obj <<
-/D [8855 0 R /XYZ 90 725.174 null]
->> endobj
-8859 0 obj <<
-/D [8855 0 R /XYZ 90 688.775 null]
->> endobj
-8860 0 obj <<
-/D [8855 0 R /XYZ 90 652.377 null]
->> endobj
-8861 0 obj <<
-/D [8855 0 R /XYZ 90 615.979 null]
->> endobj
-8862 0 obj <<
-/D [8855 0 R /XYZ 90 579.58 null]
->> endobj
-8863 0 obj <<
-/D [8855 0 R /XYZ 90 508.544 null]
->> endobj
-8854 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F99 2117 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8912 0 obj <<
-/Length 1771      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�6~���Sg5ËHI�0`˖b�eI���"3�V]\I����
��l9�%��E�,�����>���������_�{'g�Y
�����a�qJ����Ob�`H0����� O�b at q?�9����&�ś7�q���,�1ꕹ��������3BV&��"�;�J5׏zHK�e�qq�!�؈�F�O;���AQ
�������}�L㠔�ɥ�����}������3%���u�K��l��P�A�V��>|�����0�˵�ըIJ)��غ���õ���9^Փ8H�e
���H)��7�Y�
иɲ�~���ǵb������Y�Q��—_fA\�KR�>b��,-���.d��+���{� �D�sUn{�'g�\X��+.P$lb
	E�c�_�r��E�(_�0�D�|&���H w͠�4��~����gi�Џ��m�[y���M�y�#ƬC	��PN�b���s�v�*@Z�
-%=��:&��L�a���8b�d�����#$��Qu+K(�ˉ�72��|k��V޷����n�}9D ��;d�A�
�
F
��H ]D�f�^!\Ab����Ev���Q'O�|m�ա!,%ȵ�c�j��7�?	��'CkZ�4��S���'\��d*
O��(*�����a�
"�1Hy\�ڜK4d���R�m��6!��\{�}���'*�1c(#.(�
����T%D��\}I\5�
���E�Î�ၹ�;��6-ı����B�X�~��7q�1��x_�u
��\*���RÌiv�֥�R,���*��|`lשN�jF�)�ٴ
-��
�d�_��
-�4K�K	y~���_S���h
��G��S5$6p�U�X���Lk�<��9�z!��,
E�X���r.�z�4��҉R��p"KG�Xb��$��He�\mXc��IT�'g�H�胰W�W���h�V>�`f�e�w�n��u�Y��U*5�j�O ڤn�#�"�KŻguwcf�{���3o��[1���*���94�"
��Kd��
����~����(Wfe���Q��,JY<UB�E�:+�+�5?�YJ�N�n�s�B�	�ֽ�Th^�+��
��42��͢�nTxP�����x�]vh�u#����R���#��hb
Ά$H�wt��J
-N��I��jٕ��
���QG������|
-t7E�]F�7Q]�(=�4��[������
癁 #��w����?�?��:��P}�\��$A
�m�BP2�y�n��úi�Qf�r��fK�Z��L �~̩~+���AX��5JdZ��Iw��נB'wM&q.��
�TOe�q�S��F?�F��bm�;?�m�,[c/\w;�wz��v����ozC[s?����}5������~
��ƥv�<1�
�}�Xu��Br����C&�+2�w��<o϶����[�
�lV
��ii��,: W��c^�3�u8���?M7��
�⨨�R��TV%�����B
��q���
-�2���8]<��k��
�9��x�w��PY�I�F��L_�
�`���&��:���o�E1��*��3�;$lGa��(J�t��S4����\��X�l�
�?ԉ�
�1)�)��tr�
-.[A���v��
g�����Cj�w�3j�L�@�.M䐹�:�_/�e�<���
sP��G�
`��0�_��(��N��НEOSsa�N�): u���	cze�-s��W�s�/q
ĖPM�r���d>���@�4��(*O����~��"���i��N�v�Yޔ��0���m<�����3
-endstream
-endobj
-8911 0 obj <<
-/Type /Page
-/Contents 8912 0 R
-/Resources 8910 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8864 0 R
-/Annots [ 8851 0 R 8852 0 R 8874 0 R 8875 0 R 8876 0 R 8877 0 R 8878 0 R 8879 0 R 8880 0 R 8881 0 R 8882 0 R 8883 0 R 8884 0 R 8885 0 R 8886 0 R 8887 0 R 8888 0 R 8889 0 R 8890 0 R 8891 0 R 8892 0 R 8893 0 R 8894 0 R 8895 0 R 8896 0 R 8897 0 R 8898 0 R 8899 0 R 8900 0 R 8901 0 R 8902 0 R 8903 0 R 8904 0 R 8909 0 R ]
->> endobj
-8851 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 719.912 232.511 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_786d96ab353d022f56f211fa26e76766) >>
->> endobj
-8852 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.848 719.912 335.204 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-8874 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 674.237 180.496 685.141]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_2282182b70472430c77106aecf3c8029) >>
->> endobj
-8875 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.834 674.237 283.19 685.141]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-8876 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 639.521 213.153 650.425]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_0f1e6f6f630698056d7e35149796f3e1) >>
->> endobj
-8877 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.49 639.521 315.847 650.425]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-8878 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 604.805 238.459 615.709]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_77ae7142afc112b5cc786f24875cc336) >>
->> endobj
-8879 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 568.25 205.692 579.154]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-8880 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.19 568.25 261.312 579.154]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_75b26365a17a571d891fe7d0b5ded447) >>
->> endobj
-8881 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.65 568.25 332.156 579.154]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-8882 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 533.534 205.682 544.438]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-8883 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.18 533.534 261.302 544.438]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_5ef6af0a8b11cc47f885ffc74e7be5b8) >>
->> endobj
-8884 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.64 533.534 330.462 544.438]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-8885 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 498.818 205.692 509.722]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-8886 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.19 498.818 261.312 509.722]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_374c1462c19381ba7d0f27f4bbd94a72) >>
->> endobj
-8887 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.65 498.818 338.781 509.722]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-8888 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 464.102 202.902 475.006]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-8889 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4 464.102 300.037 475.006]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_632c2bfa8f851855c68d4c919e1cd237) >>
->> endobj
-8890 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 427.546 202.902 438.45]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-8891 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4 427.546 314.263 438.45]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a34fb5a16a8af56089e3a09b86263a08) >>
->> endobj
-8892 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.819 391.365 199.864 401.895]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_98d288c85ce5c2e32cee27f20c6ce7ac) >>
->> endobj
-8893 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 356.648 161.677 367.179]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_453d3ceee367754b17c722b66cb03e69) >>
->> endobj
-8894 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 283.702 198.011 294.606]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_cbcd7cd19d71e22f0a8deb3dfc536462) >>
->> endobj
-8895 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 249.36 205.752 259.89]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_61834f7d3b6629c2aafc5011c258961b) >>
->> endobj
-8896 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.089 249.36 276.595 259.89]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-8897 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 214.644 236.745 225.174]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_1af6f8ca3539ffa5cff895d30c7d4d7e) >>
->> endobj
-8898 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.082 214.644 307.588 225.174]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-8899 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 179.928 267.938 190.458]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a04426c5a10bb84d277c580d8377a8ca) >>
->> endobj
-8900 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.275 179.928 338.781 190.458]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-8901 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 144.838 209.627 155.742]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_123c8d12181469abfa5dce562831a218) >>
->> endobj
-8902 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.964 144.838 314.791 155.742]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-8903 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 110.122 240.62 121.026]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_7ba29a874c71bb8631504b25945713d3) >>
->> endobj
-8904 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.957 110.122 345.785 121.026]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-8909 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8913 0 obj <<
-/D [8911 0 R /XYZ 90 757.935 null]
->> endobj
-8914 0 obj <<
-/D [8911 0 R /XYZ 90 621.829 null]
->> endobj
-8915 0 obj <<
-/D [8911 0 R /XYZ 90 481.126 null]
->> endobj
-8916 0 obj <<
-/D [8911 0 R /XYZ 90 444.571 null]
->> endobj
-8917 0 obj <<
-/D [8911 0 R /XYZ 90 373.299 null]
->> endobj
-8910 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2117 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8972 0 obj <<
-/Length 2080      
-/Filter /FlateDecode
->>
-stream
-x��Zms���_�Oj&��B���v���u��7v��.��%Hf+�*I٧��� EJ�L�x�8�˂�]`��gwRg�P�ݍ���‰H�s߹[8u�əs7w޻��'�R�ތu�|
OoƜ��j���y<�!���|w}m���,Ti��#O*���/w�]�c���
N<�R��?�)��0J���7�
R�G����Y!oWqQ�'\R�n
qW�7��Tf�G�P����Jg0$����

-
}s7�ψ��0m(�@Hg�
���:s�Ρ`��yҳ֎�|����?G��6�/is�, ><pA�/�r?p.���9��D�7�le�q=��.�G=����Y�e
�O�q:���4Y'�U�q�*��^��Z��vW�j�%�ͬ q��S�y�.�N��=�N|�9�Ih��mZ��[�YY�FQ��D���
-�u٘��ְ(+��[�{5�))

��c�1����L�u!����Y�6�a�W3�6��C�ty�9��U�vU�N+���Є���ҙpʂ�z4;e��Aqr�y3{͈i�@����uH�D��y���$��C�;W`��)���x~�)��6G�T��=�@@��7�]�
-�Kk'�Y3"�m� i����OD��
-zF�
bm9`���@Oz$�a_B�l����?_�(���"cY���r�€������Yb���K��!b$��K���,4�䔳>��;�>��
_ev	�ޥ�K�K1|v�c�'/'�S���>o���a�i���I��cƘ�I|���
�:��&y��7��#��&<��0ۭ�t�'H��L��m�l�;�)�v�w�s��^w���}�����g���q���<Y����>Ѝ+da���8?�¼��ܸ(�e����X�
�\`�^ұi&<��%�P]z]l!`Q��y�
���
�ي�bz��N�,�齚6T��0�!��||H��(�D|��Er�� ���@�����bxT��xZ-�
����:p���	$�^o_4�&8��KB��b;23Z��؂�<j1l���{�CW���B>�u/�-N����Uf�l�-�Y���VY�͡ֆ:k/�����Zrq��"$�?��[�ER�:q�X��-�:C�[� �B_�0"���-�Cx$�
�/�g\у�n�� [...]
ֲt o���3���|
�G��d� Y�ܜ˾6
-�D�. U��r/�`W�qjt�9b��s�u��*����?���L��&{��>&kSe�9qa����M�T���Bf�iO``���Z��<��X��)fj�����Q�-��P�쭚ff&	��ԌX`!bA����OU�������Gؠ�/%�"YoV�b7�P��T�
���+�/"�dp��s�K�#,�Q��>,e� ��A���t��6?����'���ECm��|
Զ9mOͬC��$ڟʞ�x��e&
tz�.��Ń`�
�P]+�����Es��6�^��)dD�cIZ��A�7�n,_Z�W�
&�I��Nx�2(y�����N�P�=��$h��Yq�	o��4�q>���&WE�u
��6�4e��T��Y��r��zY\_k�������xѶ�����& �fP��e���Xf���%��.�BU :�F!Y7�x�X��g��Ka1�N~��F ��X7������H'���a������
�˘��.p�倩(`x
���D��� �!=@eΥ|��4"<�7K-�-c� *
�h��ˆ�XQvQ���k57������+P(e�⡁�.�� ��\���`0��W+t�N���D@�JD�st�:��+�tHW(�U��q1Г��uGף�DЋ�p1m��`lhgy
��.�)	8|����
�:����5oᗳ�ڹ�
o�P������@���x���c�#�}��z��'Q -�y�[b-��wU=x��u���y�oy���Uo��'(��������mՕb?�(�vjGP�obc\|�����B��ٿ���Gڮ��2h]������\_]===�YA�i��IR^m6���v̀,���"��Ew���0
������� 3��
-endstream
-endobj
-8971 0 obj <<
-/Type /Page
-/Contents 8972 0 R
-/Resources 8970 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8864 0 R
-/Annots [ 8905 0 R 8906 0 R 8907 0 R 8908 0 R 8930 0 R 8931 0 R 8932 0 R 8933 0 R 8934 0 R 8935 0 R 8936 0 R 8937 0 R 8938 0 R 8939 0 R 8940 0 R 8941 0 R 8942 0 R 8943 0 R 8944 0 R 8945 0 R 8946 0 R 8947 0 R 8948 0 R 8949 0 R 8950 0 R 8951 0 R 8952 0 R 8953 0 R 8954 0 R 8955 0 R 8956 0 R 8957 0 R 8958 0 R 8959 0 R 8960 0 R 8961 0 R 8962 0 R 8963 0 R 8969 0 R ]
->> endobj
-8905 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 719.912 271.813 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_1773f4a296b1e34a24fc238f84d615c7) >>
->> endobj
-8906 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [299.15 719.912 376.977 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-8907 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 685.345 212.377 696.249]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_1fbcf2de5cd0eeca6b521e70b7d731a7) >>
->> endobj
-8908 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.714 685.345 289.846 696.249]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-8930 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 650.778 243.37 661.682]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_6f42f2d4a41b935d5441c51351faffa6) >>
->> endobj
-8931 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.708 650.778 320.839 661.682]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-8932 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 616.21 274.563 627.114]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_f6ef577d2302b2baac4689f8766cfb2f) >>
->> endobj
-8933 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.9 616.21 352.032 627.114]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-8934 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 581.643 216.252 592.547]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_6069a2503278c2ba8d0f3c5b80dba198) >>
->> endobj
-8935 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.59 581.643 328.042 592.547]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-8936 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 547.076 247.246 557.979]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_1760892eb5a3f38323cff257495f1711) >>
->> endobj
-8937 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.583 547.076 359.035 557.979]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-8938 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 512.508 278.438 523.412]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ac2ae1578a08e1613a4e7ddfa0f4b711) >>
->> endobj
-8939 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.776 512.508 390.228 523.412]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-8940 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 478.314 193.577 488.845]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_60b58548061b148441614897071b152f) >>
->> endobj
-8941 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.393 478.314 232.581 488.845]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8942 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.059 465.464 248.845 475.369]
-/Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-8943 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 432.788 193.577 443.319]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_451da71733ac3915319b8bd36744d415) >>
->> endobj
-8944 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.915 432.788 277.691 443.319]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-8945 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.892 419.937 252.677 429.843]
-/Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-8946 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 386.888 255.564 397.792]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_d00fd827006fff19ba3d2bec4da28267) >>
->> endobj
-8947 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 350.63 223.465 361.534]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_7ba23c56994f511973d468959040f4a6) >>
->> endobj
-8948 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.802 350.63 326.158 361.534]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-8949 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 316.063 285.651 326.967]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aaf96fa77980ed96433261f5dd4c8f5a) >>
->> endobj
-8950 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.988 316.063 388.344 326.967]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-8951 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 281.496 217.109 292.4]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_5c527292c276945f5ce0bdc9b41ed37c) >>
->> endobj
-8952 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.446 281.496 319.802 292.4]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-8953 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 235.969 271.126 246.873]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_16579a075dfcd1fa22ac02bcc859353b) >>
->> endobj
-8954 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.463 235.969 373.819 246.873]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-8955 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.863 223.492 326.259 233.397]
-/Subtype /Link
-/A << /S /GoTo /D (main_Powerset_Meet_Preserving_Simplification) >>
->> endobj
-8956 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.984 190.443 201.742 201.347]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_cab49f11748c7473f15388191159a798) >>
->> endobj
-8957 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.442 190.443 243.629 201.347]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8958 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.079 190.443 371.329 201.347]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8959 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.306 166.011 269.939 175.916]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-8960 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.288 132.962 212.768 143.866]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_1be27ff4f03e00236044253c3ddd43da) >>
->> endobj
-8961 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.771 132.962 252.959 143.866]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8962 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.896 132.962 375.145 143.866]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8963 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.401 108.529 277.928 118.435]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-8969 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8973 0 obj <<
-/D [8971 0 R /XYZ 90 757.935 null]
->> endobj
-8974 0 obj <<
-/D [8971 0 R /XYZ 90 403.838 null]
->> endobj
-8970 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F99 2117 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9030 0 obj <<
-/Length 2940      
-/Filter /FlateDecode
->>
-stream
-x��[mo����_�OW	�����C�w�%Hs��sS�w�@K��V��:����}!ER�D���)���Dwggg�gfH������zs{u�N��FZR9��i<R� A��v1�8&1=����fB�8L���fB�x�z\F�4��ߥa����;
'y�^�\��R80�����w�T&��".�b�����C0�L7ZF!
R���Aޮ�,�L���ۉ��h�]�y���G��(��!F�3!̠W��^�zE`<"�PB!��h����

-���#
�
-F{+�
q��s5�p���F�U�
\Փ($�
-E�R8u?Q�/�}�
-؍���
��>x�~�R4��(��p�;Z���	�O�$����!j�Ks^��1�?O!�qx�j�����p<��j������&�}x\�mVm���*{\5���M��W�C�Da:��me�]4@\�)��޺��	c�w
-[x��JK��(�gy�y���Ua�q�a�Q�Y�I�o�?
_�I"cQ�#毦P�y�NQPNK�
�V
�Hh���3,�!1n��8�8'׺rSH+Y89(�|$��G�L��3'S�
����P�&�1��`��C�}�-zp�;�
�8_:E�	S�(�F�ܩ�pfYF'���	p�Qn�
y�I����
V��{%1ҥ��'B緋a�H��(ڰ�pC�N{�������)4!������2"�H 28�:2n|T\j�2R#@�#�R��V����e�6g1��qpQ;m��[v��(jb��-,�"F
����/w����[��P^��f�ڌ���b�Gz��𥶱�H���~���,�W�����%�"�i1�C�-�ڨ�m����S5�R0I [_�k�sy at J�����T %{�9�Q���
��J*PR��#�`j����8���O
�A
�F��i
�r�+�9�.���E�N�!衵q�`ԩq���p���)n0��` [...]
E��&���	�E��`.��\���z�Zf'�)~��(%
����`�Y=-��l����PKƮ&t�L9`���ä͌]莌]V�t05|�^�e���6a7V9���`{�W6vퟰ���Z�3�2�鑭3�N@�O
P
-p\�Ų�~�=L��h�P��@A'��e=��] �3c ��
����3csQ@��3�@�D�D3J�
���	l��	+cr��欦��{ �:�HP#�z+�����QSÜl�[A�a�����H�D
#�m6��I�4��i��c�폑8�#�9��Ha�#	�Z_���o%|�Vg||��%�^���~F�\^�!Ly��!���,��W��Y�ʿl���vG���3�j:H6L�(�F
-ˎ�ά��
(2c=�Mg�l:3�tf�� ���I7�Vv��\��%����]ݕ
8�IDx�l���1҇v��GL�����������j	ԷV�j
�O����H�g5W����a�fgEڍ��"'�kۈ 
��k��}��n�5Dk�
����1����2usw��x��ts��ne����zd�A+�PM/���?�=G�
�m������5��M���f�w���%�Z/�U������FYP܇�@I@CA�
�gB��<�'��Ͻk�� ?e�HH�f�j_����
pN�(�d^�/�F�@ ��H'�璑�}�N�)XE<���XLC}X�C:
-�;r
i����L��D�6�f��6���(2b7�SS���'����/�Bq)����I�΄>��
����tQ2g�U�~����f���q�p(����f��(�GQҲ>����VXȄɢ��H
��ǖA���'U��l�ԥ�a��c��4Z��Q�??�k��
��+=
���
�j�p�,̝��R��Y�9Z�h��k�NzpN��/��4��Q;�vƴ��v
8����y��k��naا��k�ڒ
8���V�ш�µ�
Nũ?�S��q���y�T����n��ѓ.g/2��ޖ{L�ZlC񰥣 Q��7�u�Y��HJ�2���m������fc`�;�cKp�C��u9v��Ң��M������ͷ7Z�����7��Y�4b��O��{��|�8��d�
�-����?�K�FE�x
��
	�-=>:L�H����B��B��<�
���`�ݮ
]�s\v{����c�j/�����w�}�R�.
P"� ��&�#�
����r��s��9K�0@%+�~{�r& ���z���%0��ۺ���aZ]M
����d��8,��
_nV��ǐ��@����X	����܆
-U/(�F�O�|���7�:���c�Kq�L��`6+��&�
>�L�E���Ayw�-��y-e��m��A�q�דn~�:�?�}�=j��'�n
!�zʤ����[
�$�M���sZB
����N=�a�(k<m��8��z ^Y/�!JcӢ��?l  L�}�I��\4����%���S��n1��Ѐ]�gqr��ڋ7�

3�T
-����.���;o�2o
=<����o�}s���/����EY��
�2�>l�FA�|��!n�)��: ��9|	ҜF,�Dض�
m%@��|zw�,K�o�
EI_M�J�[ As���5�(��)D0�^
0�uW�
��Ɖ�M���V��M.|�	�
-�[J����]ˈ\"
�ݷ�]s��P���� �����c�v�aX����D��ܩ>HKx6_ at 4]T�}��x�P��Bb�^�P��fH���Mס�Y��9�ω��=ݏ�eQ���㬀�dW4�~|6C��K��*��gʀ�>D.���kT|��
⃾��?v�
�y�}}}����<C�$ަ(ί���>���(��
j���֛�/?N����v�i��  m�
-endstream
-endobj
-9029 0 obj <<
-/Type /Page
-/Contents 9030 0 R
-/Resources 9028 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8864 0 R
-/Annots [ 8964 0 R 8965 0 R 8966 0 R 8967 0 R 8968 0 R 8986 0 R 8987 0 R 8988 0 R 8989 0 R 9032 0 R 8990 0 R 8991 0 R 8992 0 R 8993 0 R 8994 0 R 8995 0 R 8996 0 R 8997 0 R 8998 0 R 8999 0 R 9000 0 R 9001 0 R 9002 0 R 9003 0 R 9004 0 R 9033 0 R 9005 0 R 9006 0 R 9007 0 R 9008 0 R 9009 0 R 9034 0 R 9010 0 R 9011 0 R 9012 0 R 9013 0 R 9014 0 R 9015 0 R 9016 0 R 9017 0 R 9018 0 R 9019 0 R 9020 0 R 9021 0 R 9022 0 R 9023 0 R 9024 0 R 9025 0 R 9026 0 R 9027 0 R ]
->> endobj
-8964 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.443 719.912 250.099 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_7153c25dfa21af48271dd46e7e7cde7f) >>
->> endobj
-8965 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.258 719.912 289.446 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8966 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.772 719.912 379.512 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-8967 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.747 719.912 513.996 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8968 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.304 694.477 439.335 706.642]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-8986 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.207 662.843 266.586 673.747]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_c3d56f02e252446c5844465d94068227) >>
->> endobj
-8987 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.509 662.843 309.697 673.747]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8988 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.494 662.843 408.234 673.747]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-8989 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 662.843 513.996 673.747]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9032 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 650.888 171.361 661.792]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8990 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.237 638.616 480.87 649.572]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-8991 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.091 605.773 250.748 616.677]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_f4416e25871d6e2ee1fd5a09a1f9c343) >>
->> endobj
-8992 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.068 605.773 357.317 616.677]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8993 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.405 605.773 456.145 616.677]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-8994 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 593.818 202.344 604.722]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8995 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.005 581.547 446.071 592.503]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-8996 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.017 548.704 265.396 559.608]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_53fb6133be52cbd02a3fc7573900a95d) >>
->> endobj
-8997 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.568 548.704 375.818 559.608]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8998 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.239 548.704 478.979 559.608]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-8999 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 536.749 225.866 547.652]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9000 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.222 524.477 466.67 535.433]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-9001 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.933 491.634 239.984 502.538]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_96712b6e1b0c6ef2ef36177eba8a5f7b) >>
->> endobj
-9002 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.633 491.634 280.82 502.538]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-9003 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.855 491.634 405.104 502.538]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9004 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 491.634 513.996 502.538]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9033 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 479.679 171.361 490.583]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9005 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.257 466.199 432.092 479.357]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-9006 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.436 433.362 251.209 444.266]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_2d82b566c9bebad2adaaa3b5ba0e923b) >>
->> endobj
-9007 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.361 433.362 290.549 444.266]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-9008 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.719 433.362 409.969 444.266]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9009 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 433.362 513.996 444.266]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9034 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 421.407 171.361 432.311]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9010 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.114 407.926 456.992 421.084]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-9011 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 375.089 224.57 385.993]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_723455890ff6a03f145169e411c83289) >>
->> endobj
-9012 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.908 375.089 327.264 385.993]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9013 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 362.818 347.869 372.723]
-/Subtype /Link
-/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
->> endobj
-9014 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 340.934 212.377 351.838]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_6f68d17132551d9a40f661fcd911b482) >>
->> endobj
-9015 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.95 283.864 264.574 294.768]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_32c9572669f8c0490cd714af2731b62a) >>
->> endobj
-9016 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.611 283.864 368.968 294.768]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9017 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.92 259.638 413.759 269.543]
-/Subtype /Link
-/A << /S /GoTo /D (main_pps_bgp99_extrapolation) >>
->> endobj
-9018 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 214.84 248.929 225.744]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_52fc679f0d74857dacafb72b57ab5c37) >>
->> endobj
-9019 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.267 214.84 351.623 225.744]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9020 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.801 202.568 367.562 212.474]
-/Subtype /Link
-/A << /S /GoTo /D (main_pps_certificate_widening) >>
->> endobj
-9021 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 133.678 200.451 144.582]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9022 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [211.191 133.678 251.997 144.582]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_57be1b41dad904bf9936df4560df720b) >>
->> endobj
-9023 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.334 133.678 354.691 144.582]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9024 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 86.288 200.451 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9025 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [211.191 86.288 251.997 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_280aacebc757d7ab2a23ff2e282aa10b) >>
->> endobj
-9026 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.334 86.288 354.691 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9027 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9031 0 obj <<
-/D [9029 0 R /XYZ 90 757.935 null]
->> endobj
-9035 0 obj <<
-/D [9029 0 R /XYZ 90 148.399 null]
->> endobj
-9036 0 obj <<
-/D [9029 0 R /XYZ 90 114.987 null]
->> endobj
-9028 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F99 2117 0 R /F65 376 0 R /F97 2175 0 R /F38 342 0 R /F98 2120 0 R /F34 2406 0 R /F35 2018 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9079 0 obj <<
-/Length 2162      
-/Filter /FlateDecode
->>
-stream
-x��Z�r��}�W����Ѭ@�JUr+�ʱ]�?\�X�p�% (Z��B��D�΃D,����ӧ�
��';������Սǜ 
����`Gz	J������X0���{7!�
�4��M(v���2��p�m�X�������du׶�zd�pa���7W7�t:��".$�����4��C0�,hZ�ݏX!
�5�׃F>�ª�L����$�n����͕��".'�w�l��e�SF/��p�
f�C�D	�$�<���3v"����a�|g�[��
~W����N��WAR�=nFá�
aOX��l±����n���r��`��,����ž[/cs�~)b;�k���t�pk��=�(��i�/���r�T���y���{n�
�W���0���y�o�ۀ}%��F�BͶ�th�0��
7O��|D�?��
���FA�im|�m��Hg
yx�U��w;�2AB��@�q�Ec�
��1�2bM"�Ҧ�<�
,-<��b?M�y�a�<�b A��a��F�NBL� O�3�	aS�'JEψ�e* �MVG���d��n�<�6�
��u�	����ݖ1�	
����E
tt��I�ay�@@�͟�MXTc0�
y ����M�MR/��/�_ &��yZP�@Ӝ	*=GP�(�UE8�g[�U3@�,N���Po��n>��'���jd�)F��fq:2��(�7
�xB ��L���ʜ׹�UT���y���XO�:�˳:L�${�
��{���r](p�9�

�q
��x��x
s�3 �ﰇh[���
���)}�4�⿝|�)z>���<h��;�AQ�  �_2*�b_&HD1���Y/Թ���C��6�E�	�p&x
h��dC���7_���
�r��0��<Tyh���2!��O� �9h�
�fFp�yhY���}d��HJ��M+����e>:� �W�m$�93Z
.���uC
-���F��"?��
-
1�)�A`Y$��2Ns�g�/ޡ�w`�?B,f��s5��u>{�g}7�w�򳶤Vq��j5 ����	�����@_�Wo$�"�L��qyt��S� i���)
d$
B�� $w͈�Euح��Y�7υ���Y�V�U�K���&Q��=��C�#��`��3ٖ��lj���c�o�L�&����7&�${R\?#a����k���m�n1�iG%�<l�,�Vh	[�#
S�w
-�aY'�jv���v�>|8��^Q�p�a50%����"
�9�u�
�
8?�j#L�!ߨUo�azJ�T�~����O8���VK��jn��Œœ,�P�AUg)"Z@�Z(�>����+c�?+r
-K�Sw�߭�X���d�2mtE
 ��� �n%�</��5����F ���<�aflc|[��a
-G��<D�[�	��R�g�"_E�&Q����	���
@���)\p�:�M2V�k��;�(��QA��0*�K�c����m
�GV�SNQX%q_�Ο[B_?�������riC��n�켬�g�&B��8�L�o�=���c��$�P��Z$��:��2:O�uz�]¦x��wN����������@f
��xr�~�gDGk�"z&�q������ڳ������>�>�J?E#� 	+�C��[����=�ѫvޫ����&Dno�
�6��B;1oA�aI

�
�cu�H�Wt��E�D�{U�
4u�D���'Q���"��B�e�&��#�o5o��j
-D)��8��{�n��3,`��oS�������q��_�2$�
�v���7e��i�2Թ�V�^��u�vhz�wI�;��]��[>r,M�5�}:���B��˖`66�MB��<j��@�.z�=T[�oP���j/����H����o~��.`@��RK"���e�&i�6;6�Q�_�/���ǻ�}��xv4���u�@>zb^*�qi	���
�8&-W�s��܄>u|�W�&ջ�{���<٫_]�]	*�aP��'㙂�8e0j�ۭ�C�z�[EE��h΀E��kEte�
�?�?���x���Eiꩯ#|��� N�
�a��NI��|�cN�?���U\�e"�k��0[7[ �j��l�F�L�o�
 y7�Ԍ�Ns�
��[�/��uY�����f�A�
-���(QR_��j�1;VT�F�VG�7�'��b��^���P�
�
-endstream
-endobj
-9078 0 obj <<
-/Type /Page
-/Contents 9079 0 R
-/Resources 9077 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8864 0 R
-/Annots [ 9047 0 R 9048 0 R 9049 0 R 9050 0 R 9051 0 R 9052 0 R 9053 0 R 9054 0 R 9055 0 R 9056 0 R 9057 0 R 9058 0 R 9059 0 R 9060 0 R 9061 0 R 9062 0 R 9063 0 R 9064 0 R 9065 0 R 9066 0 R 9067 0 R 9068 0 R 9069 0 R 9070 0 R 9071 0 R 9072 0 R 9076 0 R ]
->> endobj
-9047 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 686.402 167.466 697.306]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_0c8b9e21e6308b5841acc2f1ffef10e6) >>
->> endobj
-9048 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.281 686.402 246.638 697.306]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9049 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 650.265 289.866 661.169]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_91dc05df4b7c844f1f6c9c5419db5635) >>
->> endobj
-9050 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.681 650.265 359.324 661.169]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-9051 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 603.169 290.971 614.073]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_3b8a6c571be95e78b20207f732cd0848) >>
->> endobj
-9052 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.787 603.169 360.43 614.073]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-9053 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 556.073 224.003 566.977]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_c878ab15837984ba2930ef42fa81dc5a) >>
->> endobj
-9054 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.34 556.073 326.696 566.977]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9055 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 521.566 254.15 532.47]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_e45ed9165f98258083b2337c3872acee) >>
->> endobj
-9056 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.487 521.566 338.263 532.47]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-9057 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 487.059 284.585 497.963]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_02a568a0ea643d33f943fb6ab98271c7) >>
->> endobj
-9058 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.401 487.059 354.044 497.963]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-9059 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 429.639 241.726 440.543]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_df9133b519b04cad51e09ebb9332cddd) >>
->> endobj
-9060 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 395.132 249.318 406.036]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_d64b9c9ef7488b49c4f9a4acd3f57491) >>
->> endobj
-9061 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.134 395.132 288.321 406.036]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-9062 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.875 395.132 371.519 406.036]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-9063 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 360.625 240.62 371.529]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a944a73dab7e82a786f12d860def325e) >>
->> endobj
-9064 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.958 360.625 324.734 371.529]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-9065 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [390.537 360.625 425.724 371.529]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-9066 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 282.38 203.075 293.284]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-9067 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 282.38 296.324 293.284]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_25717d92bb71e83e73c686fb6f231efb) >>
->> endobj
-9068 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.914 163.453 289.556 174.357]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_cb90cd62d5a91523a0f7f7d17a7d380b) >>
->> endobj
-9069 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.022 113.006 271.198 123.91]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-9070 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.26 113.006 341.902 123.91]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_0b63a885009bef951c4a57e878b81698) >>
->> endobj
-9071 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.426 113.006 501.602 123.91]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-9072 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.178 101.051 203.354 111.955]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-9076 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9080 0 obj <<
-/D [9078 0 R /XYZ 90 757.935 null]
->> endobj
-9081 0 obj <<
-/D [9078 0 R /XYZ 90 703.321 null]
->> endobj
-9082 0 obj <<
-/D [9078 0 R /XYZ 90 667.184 null]
->> endobj
-9083 0 obj <<
-/D [9078 0 R /XYZ 90 620.089 null]
->> endobj
-9084 0 obj <<
-/D [9078 0 R /XYZ 90 301.173 null]
->> endobj
-9085 0 obj <<
-/D [9078 0 R /XYZ 90 301.173 null]
->> endobj
-9086 0 obj <<
-/D [9078 0 R /XYZ 90 220.936 null]
->> endobj
-9077 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F65 376 0 R /F99 2117 0 R /F50 339 0 R /F35 2018 0 R /F98 2120 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9125 0 obj <<
-/Length 2274      
-/Filter /FlateDecode
->>
-stream
-x��Zms�6��_�O.5�x% �]f./�\�M�ؽ��d<�D�l$�!�:��_
Q�����$
-X,v��g �n<�9zqqt�}�<�t@����ؓA��b��	AL��c����|
^��(����m�����<��OO��qRQiǘ)wQf/~8����b�QąU���^�C0�L7#��
RG��B���r�lN�/f���:[�eT?y]G��(?J�!|&�z�����1�#���D�	o�>z�{Kx����^ʻ�F�=N|���_��5�����gʓ�� �Z���J�f^5I"-11��A�ײ�\eеG%�\�l?� �Z���Y��kk����!��lh.%�s�*-D=�(���Y��B|�cd"$4���5�qQ~c}��͑�~N�����LgT�"�ǵJ#)�8���bͤ�o_�r5X�dj1ɑ��=�U*?�oMJQA3w'Q�_fa^�e<Z���x�&Ei�	�K����3�����'���9�v��<�
��`�n�B@� �
R%��
`o��L��R�YX��$&+Dٍ}�G
�JP�
����:F��~TdѢ���C� ��6�2�x�X�<rns��^�����
ql�/�C at v�J����������%��
�d
%�X��yu�,����
-:�n!���.q0�`\1 Eŕ 3�>��u\�@!0����a�C��j*i
��8+�
�9�8���{=�]Tnrw�cD��Y���H@�͠���0Y�_�du_k�*om��$&
ԣ���%�/�5ٌ?�����b��m��
-���!�[g٨-v�̅�:��
-�uCv�Z�u
U���a�*��:EY
�0�6A���z���Ѳ��1�ǟ�@��i�
WwPF2�c3F��lF�m|�Y��_�52�)�Q�O�3J8
\M����ό}(cN�@
-�9b�gu�W���v������<!�vc�
�) bR�Huj!	��d�^
�ъ�¤'���R]T�c�C�	R7T�Py����豓�kew��
-�*�*��V�-��|A%�6f�”�/ {
�u��jU$��S���K%B@,�͸d�nK0��[�y�2�*Sc�
`�oc�<	4
-~
p���;$��a�Ǟ�
-C�
y�/����7��b�v��T�A�c��S}���J�Z�����r�
S�C�qW
~fc�*V��[g�SSaOM
'�C��)6	� �.����g�X
9�2�h%������^,���7����Ʃ�~�LE(����~�q�r
��?"����
�,�BW�l�*�~�Q��o��N��1��i����L3h���
�:��[���{;��
%�>��VA
�}ϑ���#�9�1�G�j�ȣ
�9���A�dj���"�n�U
ZE�<_E�"���MU��]�44�DX��!�\�Xs��@��s��P�0�����wQ��f�����]#�
-h^Yms뭋�@����U��f�k��A��1�����I�~l��ۮ-ӵ)P�((�1���A�����V���6
y$qrs�0��
yks��E�?a}����Q��H^c�q�ɲ4�6a~v۪J���u���I�_��o�da%�;�Ca
��_Tq�
�m�?�
�
��h�"�=����
�ٙ�h֘�tk
�')t�j�<2PY�Y
�g�-ő��?'�k)9+x�Z�����L�!=�̔�?/��&M����m��R�����b��ڌ��M@���z����Z�ū�BDAv��0��m�j������Ѫ�΋�+�A���.=���\Th*)
�
��I j��e�QMr�����_���)j�mDiŶ,;A��
p�]ĩ'��r3�T�j�)椸ߌ<=_bh��S����è�y��B��mo[�1�� ^��b��RZ�Vp�Y_�s
-���n�?
q!Ⱥ�8�1t�E"������(7�(�WQSN��%��n��)N�.��
5�t�K���:�׷����w�
"9dW��*Q1*��A��ļ�`x�}�V�".?�j"ٚ�.��7p�f6�jY
.6Il��MIb�<kO��4�t��!�`�cyߍ�J�2]���G��=h����,� �%<�ү�
E���m
ϭ�@T���V� �*ʇ�c=��s���]j,�pa����*-�<
M�W��9~Q+�
��}��j��
-���/�A��G;mO=��&��?mګ�ZD�w3!|k���d���i���12��	%d^C��y�M�;��5��]�E��D��۲�NON���Т@�Y���$�V'�ۓ��l�\7�Y�yԴ	�p]���O��ʗ
-endstream
-endobj
-9124 0 obj <<
-/Type /Page
-/Contents 9125 0 R
-/Resources 9123 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8864 0 R
-/Annots [ 9073 0 R 9074 0 R 9075 0 R 9095 0 R 9096 0 R 9097 0 R 9098 0 R 9128 0 R 9099 0 R 9100 0 R 9101 0 R 9102 0 R 9103 0 R 9104 0 R 9105 0 R 9106 0 R 9107 0 R 9108 0 R 9109 0 R 9110 0 R 9111 0 R 9112 0 R 9113 0 R 9130 0 R 9114 0 R 9115 0 R 9116 0 R 9117 0 R 9118 0 R 9119 0 R 9120 0 R 9121 0 R 9122 0 R ]
->> endobj
-9073 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.573 695.499 248.929 706.403]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9074 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.529 695.499 331.472 706.403]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-9075 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.509 695.499 416.93 706.403]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_d6f64ccc36541cf23baca88a68ad06d7) >>
->> endobj
-9095 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.287 645.677 218.748 656.58]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_d7e1698be31b1b95dc7e28d13ec162d5) >>
->> endobj
-9096 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.431 645.677 330.373 656.58]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-9097 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [393.898 645.677 469.254 656.58]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9098 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.674 645.677 513.996 656.58]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-9128 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 633.721 161.84 644.625]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-9099 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.589 595.854 177.843 606.758]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-9100 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.809 595.854 257.166 606.758]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9101 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.195 595.854 286.449 606.758]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-9102 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [309.772 595.854 400.312 606.758]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_17e25309469009012f40ed891a2c3f01) >>
->> endobj
-9103 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [429.213 595.854 449.467 606.758]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-9104 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.742 595.854 513.996 606.758]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-9105 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 546.031 213.576 556.935]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_3f4e612db0eea52c329f5a6be95197b9) >>
->> endobj
-9106 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.913 546.031 261.167 556.935]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-9107 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.881 546.031 383.238 556.935]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9108 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.484 546.031 411.738 556.935]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-9109 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 496.209 213.576 507.113]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_c262e9c3acc2920c3e3df6fab7852753) >>
->> endobj
-9110 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.698 496.209 376.055 507.113]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9111 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.791 446.386 162.157 457.29]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_74dabf047d8ef99e4088e5c410d34e6f) >>
->> endobj
-9112 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.848 446.386 358.287 457.29]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9113 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.021 446.386 513.996 457.29]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9130 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 434.431 224.683 445.335]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9114 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.74 384.608 215.202 395.512]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_69571f990b874f16d0f62235088427ca) >>
->> endobj
-9115 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.791 384.608 305.347 395.512]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-9116 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.345 384.608 432.702 395.512]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9117 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [442.575 384.608 502.131 395.512]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-9118 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.525 237.112 253.249 248.016]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-9119 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.782 237.112 341.46 248.016]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-9120 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.993 237.112 369.896 248.016]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-9121 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.68 127.523 333.036 138.426]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9122 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9126 0 obj <<
-/D [9124 0 R /XYZ 90 757.935 null]
->> endobj
-9127 0 obj <<
-/D [9124 0 R /XYZ 90 664.276 null]
->> endobj
-9129 0 obj <<
-/D [9124 0 R /XYZ 90 564.631 null]
->> endobj
-9131 0 obj <<
-/D [9124 0 R /XYZ 90 359.523 null]
->> endobj
-9132 0 obj <<
-/D [9124 0 R /XYZ 90 310.959 null]
->> endobj
-9133 0 obj <<
-/D [9124 0 R /XYZ 90 212.65 null]
->> endobj
-8764 0 obj <<
-/D [9124 0 R /XYZ 90 189.715 null]
->> endobj
-9134 0 obj <<
-/D [9124 0 R /XYZ 90 189.715 null]
->> endobj
-9123 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F35 2018 0 R /F72 471 0 R /F65 376 0 R /F95 1788 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9143 0 obj <<
-/Length 1767      
-/Filter /FlateDecode
->>
-stream
-x��Yَ�6}�W評���E)w�A�6�2�@�$(�<V+K�,w�����t$E�DQ��]�=��s�`�у���Ϝ >����	�#|�8%�l�r	A,O�ؽ��:��S�f�n-���I����tj���D�]���EL���
_<"�uey\�*���̒�>#ʂj�����!Bj!?�r����xB9vg〺�:O�223�E˨�F�
���e\*������#b�C���@�qg�
�z���?v0�K:wz���(�k�\�^��u:n;?�
=A a��
a�u��Ӆ>��w���2�:���k�idM�[E�
-L�702�m�)w���٬�
\S��0��J=�
-�ef�o�*��8)�@,&
����
�,CQ�ie��hK��c)>��`��<J�5hF�/�HHĤ<�@�*�C�0FX�cF�42c�)7
-ϙ�5���9
�Rw�w_c��Y����k 	$��;Z�
y�
�
] ���B��ʬ薘�0��b7 �C
�5���^f��ѻ����ؗ
&�F��0p�p�ڐ��
-ލ%
 ܉��^�\>z�����^�
�үC�Ȁl�(i}��8M�4zcv�epı
���y��S�rS��,W��Mtr�y	��+�0[=�uV��q��
� =jԽݮ���Kl�%�M�"Z
�	
��?�va�}T��A!����&��(��9��<�܋���7	y�r� n��:a�!�g��toq
XS\�Ёbr����=w`��{T����q

%�
�쵼3{
Iq�X{:�
�ǁ
�o��i(#gA��#�{Ǡ��V�
�� ��Ȉ��I<��A<�4@ҧ]T��ұ�k*í���H�h�*�!��˦�d�� ���x�$[��"���M�e�i��&�����w/�#`�5/�l=�2�q��K�*��KP��v�!�LM(p��t� �]�����n�K$t�J��7I�DC��ZźO�{�Ou��h�{b����4Ҳ��
�1db��G
��!�<h�|ߤu�.^���>\�T����9'�Y����1{���>��0�����O��
ⷻ����X�X��4�0�Y(��zAM{����7o Wqj�纑��{���a�<^M�e<�L ,iw���p
-�]�
�4<@B|�N#��2�
-Ul�����#U�-{mk>�j��m��t���2�w3�\9}L���4�b�:��75��`�J�xi�
0 Q�,�d,�m��k3sը
K�H�r=�ٓ ��0N�o��6�GUݱ6��0ϋLac	`� VE4*~
���%<ZoU٨Q�&;3�n�lj��]���5��u
-�#
��ٛ���}�m���բiG�X�Bp�#4� �5��װ���ь^�
l���ݜ�q�P�#�ŕ�5��������fn��d���8��,��F�!dk^B��g���6�b:M��\�DEu|��#ڼ��V�q�_�jX���J�ds���@�d�{s�.֧޼iDM�nz'�l��&L�
�a�l�؃W�^{W:�,�S>#�4��Y�F������u?&x�g�D��l�hj��ęD�J﬏��3I@�
�r,�h�n$˻�e�I�ΏS,��b}����)��(V���/Q@乿d�/X0K�~&��o 
���,�T6�~eo��enm�27�o��k��F�i�n+���s�K!F��*6d>^G�5�X��S�~
i�k�%R ��aU��������7h��y���"ϓ��`�� ���e�x�Q��0�
-�������5�
-endstream
-endobj
-9142 0 obj <<
-/Type /Page
-/Contents 9143 0 R
-/Resources 9141 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9149 0 R
-/Annots [ 9140 0 R ]
->> endobj
-9140 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9144 0 obj <<
-/D [9142 0 R /XYZ 90 757.935 null]
->> endobj
-8810 0 obj <<
-/D [9142 0 R /XYZ 90 712.404 null]
->> endobj
-9145 0 obj <<
-/D [9142 0 R /XYZ 90 698.096 null]
->> endobj
-8811 0 obj <<
-/D [9142 0 R /XYZ 240.245 623.469 null]
->> endobj
-9146 0 obj <<
-/D [9142 0 R /XYZ 90 607.004 null]
->> endobj
-8812 0 obj <<
-/D [9142 0 R /XYZ 90 481.739 null]
->> endobj
-9147 0 obj <<
-/D [9142 0 R /XYZ 90 467.431 null]
->> endobj
-8813 0 obj <<
-/D [9142 0 R /XYZ 90 246.587 null]
->> endobj
-9148 0 obj <<
-/D [9142 0 R /XYZ 90 232.279 null]
->> endobj
-9141 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9153 0 obj <<
-/Length 1637      
-/Filter /FlateDecode
->>
-stream
-x��Ymo�6��_�O�
L4_%*�
-�];�k�l�](��h�eM�����(�z��$}]�~"E
O����
I�Y9��q�p>�=��Ч�3�tB�>A�g�t^�� N=�1vO��Q���O�����*^���䢈�����dUWFFm��,L�̟͞�yeq ��Y�j�

�e��8=�B8"�Q��V%�Ҩ,�
؝OC���<��X��_�ŔH7��Ĉ.�R:y<��=!�;�v�P���XO^���֟9�%�]-�v8e0����	6N�]燢���!�

w�|�uR�� ����;[y������1g
]'�(�ZӔ��V�m.�ej�,F�jS$��ڸi[�K4xz�����;
�H����z�U��ʓ��VG�x�
:
�%al/���Ig���<.�Mq��@4Z�)�.S6�nr��J�&t�<Z��2Y�Y	H�%�D��
<棰ў_i�
 8��51Ў^��
<��v�/�4�8��8.O=	<�9���� 39�

�ψ�q���d2��7�\�s��Q��(;��pNy�P�M
g�@���$
$b��H�R�
�<�����1����rc0�<t\O@���/ [�K��X$K}�+���->F����b�DR�V������rr�
��0 ���~�<ʎl+�wcyC��J|���G/_�>�����1�
��y6����(����D��¯�,M�
��x��y�,���H�b�6R�7>�&�Ҕ�H�
Un�S�����jP:���xչ8T�T�In�&�:�j��z�6d#x�*P4d�:#�Dz�82U�dI��	����.���m�0�</6�-T͞
44���+澵��q��8l�O���%e�T�mO�M2M*��
-6��+t��F�q���Q��ej
T�
-�ܯII�!�:�w�+"��9ʆ�
/���أ00��ȡ�=Ԟ��ޅW$6Oj���BXl͝d�m�/|��l}�,����C��x��2�%
�r�*��ct~���cl������+�W/Vo�t�e���[G���V%���c8>����q_.�h�ɢ���*��"G����
��
��G-���[
A#�)og[u`9PJQ�N`����qJ���|���@��5��ww�偗�(��K�,'��ɐu��|L�|�Ab��UM:;fz���z���A���3%��}��F��5���gj��Z��ϔ�T�GČI-~ƭ��I�[Ƭ0�MMpA�K۔���5�
��So��BC���J�����!�4�

�'�u:�����
�D<O~�y�����~�_h�G�y���yl~�{
�v�wgy$�<u����N���C&�c�NBn��
�i�v����X���~�
-�1�9a0(�r���<*���G�\5� ��.��]�c����DmQ�eu԰:X�:N��D"=
���X]+ذ:�cuJ`��bDc_ں�kx����~\�f<�i�C�y�f�?28^��B���"DB��:UmU�^si���4UV_�V���S!\c�(�Z¦��?J���
-FT�q�Y
#�e9v�ӤN�/�b��UU�'��n�C�m�$/PR��<��s����(�£��1�Eu�L����_C���
-endstream
-endobj
-9152 0 obj <<
-/Type /Page
-/Contents 9153 0 R
-/Resources 9151 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9149 0 R
-/Annots [ 9150 0 R ]
->> endobj
-9150 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9154 0 obj <<
-/D [9152 0 R /XYZ 90 757.935 null]
->> endobj
-8814 0 obj <<
-/D [9152 0 R /XYZ 90 657.608 null]
->> endobj
-9155 0 obj <<
-/D [9152 0 R /XYZ 90 643.233 null]
->> endobj
-8815 0 obj <<
-/D [9152 0 R /XYZ 90 431.01 null]
->> endobj
-9156 0 obj <<
-/D [9152 0 R /XYZ 90 416.634 null]
->> endobj
-8816 0 obj <<
-/D [9152 0 R /XYZ 90 192.456 null]
->> endobj
-9157 0 obj <<
-/D [9152 0 R /XYZ 90 178.081 null]
->> endobj
-9151 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9161 0 obj <<
-/Length 2109      
-/Filter /FlateDecode
->>
-stream
-x��Y[��~���Sc��H�r� ��N�i6�f�A��b��i[Yr$y���{(R7�c�&�
P�I2I
����� �L^\O..�(HP�8�^	DL�$�^濾�(��c<��<M�Mzs5�xZdwjY�7���2-�s;��R�[c>�W%
��_{qI�`3Qĸ U����KF��h��+��z���|uV��,��YH9�^�:U�m��ʎ��V��9U��"��4��:yu=�uB@
H�(.��x��L޽��ƿ
0�K�ͪM�h�,x;��;��G�/�1
���3�:=ݨ�8o9�tq��	�!<1�V��}zq���I[]�9g�.�K�n�.ܔ�����`��}��v��-f��\@����2!��{�I�u�p�
-� �yo�vaN���w��v����(��P�QT�X�;
B�Q�]X^�j[�"�Ȑ�h؈���|��|]�ݨ�,�S�	���i��f)��T��3��6�6m�Ɩ̮@S;S���%�
Ҋ�d�쪑��I���"5#|
-^P�Y�d�y4ݤ{��m�h�e.�K;۩FA��l��H
�H��6�
��#��p�{�B�pU��2$���)܁��:Ĩ�*�8
F� $�p�O��@$�;��+	��o��u^���
ld
���>�.rhk��(r��  ����.E��,� "�S&v�:�f��x�/��N�����{+G������"
~&^�6��]1F�d�mz���IbH2֮��F����~���-�Ǜ�1�A���e1q��_= %Q�_�����\}����׿x�Ip��"G|��W��3���ga
ȡ��L/t���!�I���S���զ�w.����N��e5���7hZY�ؼ6˒��Rx���E�:y���scqp�}
vKR�8�F ��T�:_[�na��o����� �n� >��o���Y�Xһ�)��5�"��;p����{])dh�Y��R��R]W��U�:(�C�wK[�?���'��^f

�G�d
���Y��+Rfu������α2�XoY�Y�2�+cq����2�X��cR�[RƇ���2ޓ2>"ePX��XRD�9Y�����z�����Iw �V,�<H�!�
-�� D>!�����8F�$��C1(�E�d=�}<"19�/@�~�ך�g
-6�W��4������ͪ9��Ɔo���Ϗ�}2���س��D	#!�^�����Ec�5������.t,�O+p
�ƅ�GU�ʼ�	���"u�S�
�A�d#wU��3W}��:4�C*E�#�

%�ۡ6�~N
���b${$}�H���
gOˮ�ۄ<]+����OT,t>c���L/o��ճE#�p��Ռa$�N�����$Opp|��ɑ��b[d��!Թ)� з��*�r5Z�-D��ۭ���1��?�����J�T=��d��i�S�c�L@�
�!-}*CT姀K��L`����h�1\v�壥���[֮s
�	{
�sp
����4n�=���7?&"yQ�.�'o�ǡ"�#bɞ�t>=V |"�8V����i��H�6�������7#�=�a�
-wV�6���������mW
9T	����ejo}b�\�U����D���6�� ��*���BY���^�RAh�k�	'�ReZ5�ks���a6�T�Z/�4(�[ �(;�`�y٤v����
-�>FRc��Y��``�ʝ�UYl�۟L�
->�K���Ue��Z#���m5��|azY��(�
�Lb}����O¬�[
�ƣCBƼpJ]�m���u���� �vNbP�����H��a�n�k�t�bX�O6�
��Bn�O���_�S�
�F;��,��g3�H�Qh�G٣�|�"A��Q�R��
Ȳ� �.���Ηr� ��!�>��lc�(ۻӘf-P���l�d�R���h9��lQ����$c ?�[9�����*7�"�	 �"��/|� ޖ��]xeT1���l9��鈫���J���8�:�ߤyg�a�֪�/��˵!x��*匴��'h��>i�`�/��\��wu��_\��ߣE�v�ޖH��mvq\�R�
�NȪ���h/2:��MZ�ݫ���
4�@�
-endstream
-endobj
-9160 0 obj <<
-/Type /Page
-/Contents 9161 0 R
-/Resources 9159 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9149 0 R
-/Annots [ 9158 0 R ]
->> endobj
-9158 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9162 0 obj <<
-/D [9160 0 R /XYZ 90 757.935 null]
->> endobj
-8817 0 obj <<
-/D [9160 0 R /XYZ 90 635.818 null]
->> endobj
-9163 0 obj <<
-/D [9160 0 R /XYZ 90 622.093 null]
->> endobj
-9164 0 obj <<
-/D [9160 0 R /XYZ 90 413.696 null]
->> endobj
-8865 0 obj <<
-/D [9160 0 R /XYZ 90 389.327 null]
->> endobj
-9165 0 obj <<
-/D [9160 0 R /XYZ 90 389.327 null]
->> endobj
-8866 0 obj <<
-/D [9160 0 R /XYZ 90 293.909 null]
->> endobj
-9166 0 obj <<
-/D [9160 0 R /XYZ 90 280.184 null]
->> endobj
-8867 0 obj <<
-/D [9160 0 R /XYZ 90 89.441 null]
->> endobj
-9159 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F113 9167 0 R /F8 504 0 R /F1 542 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9171 0 obj <<
-/Length 1600      
-/Filter /FlateDecode
->>
-stream
-x��Z[��F~�W��)��}lZ��Q5M�mB���[_�mB���g<�c�%�xY�f|��}�,��{;/F?�Gw�%s<�I*����$A�g�vގ	A̛L	�x|?!x집���P<N‡�^���U�L��a6���8�t^�1�
t
-7&��/��RFE\(0�����ұ�`D�W�3 �pDH-�O
-y�Y6�R���G�:څ~���z��	q�:^�-F�3I��ѳ��1�!E��B�	g�޾���t0��uŮ���g��>�g�N�R���be����c�][ٹ����=��؏�3���pJ�0;M�h��2I�R�Ջ�r�br�8��fǠ7Sn���3�OO��nu�4�-�}�����h�/
s?�?e���^%q���WA��t����P�Il�����D�?�� u$�yl�EQY���h���m�L"޸�6�C���(p;0T��"�$����:ߧq6$�!��ҽ
JA{��`cm��]$q�`W�ձ
-�d�8 �T��Ȗ.�l�$*5��	�4Q%-��P��0m��ـy
yn�8�ِu
y�
T�Fu�{���sĩ
�s��G�}\�]u��:7B:5ա0� pKH+"�׳xɡX�0X/���>�q޳�c�'�W�?ߦɄ��!>�,N�#se�` ��W�}WYZ�{
���$N�x�D;?��FGmJFR0��r������_
/uh��/��.F��a�M�p�0�(��`Iյ@�bp���PX�P��(�uQX�P���p�
��_3	�
���蚯�@�(	�>
-t�L�J���Do�@�*0��e��:+�~��4 at D="��a=��4E{�)�8Rv�11��[g���>�ǍU�s�
0'��<
usjN�G�6O1L-O���)����ZB"F��Y
�&3�$�
@���1�X����
@��i���Ksa���
[� 
S�l�.gB@3�<)��aT��`�-�եp"i�ZW~V�|�-pRm곸�`h����U���^�'h�<Ov�V �
��q�",h7S��bB9k�4?,����i��yR�<����u��_z��{��)X�kO�?�|���X�L*�d���'�!�s�C���yR�(�\V
�����
�1��#��:N� �
2ލ`
����I�D��+���<�N�fIocej���G�#�>��:�ֹ�,��.Q��_6�\��C���@�ͩ*�L�%'��LIn��T�Uq�{�-��-�nɖ���݄@��c�?t�`����E�c��
�0r��^�.�V'8 �DCy��a��
�����w�ƎLMj�Ӻ�B�)�j��~�-ɺ��SF�]Uwb����6��&��'6�'฼�q������H��܆�k��D o
��ߎ��Y�^0

�i�a�s
�u�ۏ�AW�<lu���� �T�j�R�{��oP*�y�I�b`3�m���F��(�5��
E�72�v=#](/��7q�7p�-�a-�}GxH�Kн9U�#,/�������
���N��1.=�͏�~��Bi<mN'T9F��22��o�.�����T�_m�{��k�X���nvww8
�*C�8إ(��v���([R��T�\Ta����p3��<������z�
-endstream
-endobj
-9170 0 obj <<
-/Type /Page
-/Contents 9171 0 R
-/Resources 9169 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9149 0 R
-/Annots [ 9168 0 R ]
->> endobj
-9168 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9172 0 obj <<
-/D [9170 0 R /XYZ 90 757.935 null]
->> endobj
-9173 0 obj <<
-/D [9170 0 R /XYZ 90 733.028 null]
->> endobj
-8868 0 obj <<
-/D [9170 0 R /XYZ 90 637.302 null]
->> endobj
-9174 0 obj <<
-/D [9170 0 R /XYZ 90 622.87 null]
->> endobj
-8869 0 obj <<
-/D [9170 0 R /XYZ 90 521.639 null]
->> endobj
-9175 0 obj <<
-/D [9170 0 R /XYZ 90 507.208 null]
->> endobj
-8870 0 obj <<
-/D [9170 0 R /XYZ 211.842 264.816 null]
->> endobj
-9176 0 obj <<
-/D [9170 0 R /XYZ 90 250.229 null]
->> endobj
-9169 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9180 0 obj <<
-/Length 1922      
-/Filter /FlateDecode
->>
-stream
-x��ZIs�6��W��J3�� 5�C3I�i:�&��f<�Yl��$U���} �J�$;j&_,ߊ�|~�Ν��7�oFW�sR�
-�f�(�x� N�s�t>�	ALM�c<��<��ȿ��P<N���^���`����lf��8�t^�1��t
-
�O7o�^�bFE.�@���s��#��2U���C�����ȋ�D^�~�M�����Dѱ�6��k��^�t:!r��,1���	j��^݌�
 �
R�{�c�YD��������{IgW�
�2�
��_G�4:n_�@�0ǣ
a���w�ꥫ�
��W�R����A
�Ƒ�9���<H`����b��2{ft"�]���\�W�&�]��v5_���N{����"L�m�}n�wk
���m��QI�?oR���	l��V%��b�3�#�3�3e.A��N��}��&��6���gB���홭s �.F�zΔ��.f	����c�l�y���u�D
V �jɒ/g� �� ��[?��F:Ώ��#E+�o�ibT��V�`�cQ�"v�=]L�M~��{h'.��^
9`���!%k:�:�N3K�`Z�{��"�6p
��
���8�
�X邟V=RJ$���
NX�v��	���\Js�{s�5o
ٺ�r���<��KXfu�&����
9
X�����&X!�dEw凙�a��B�sOu�Mc�U6��0Ⲷ,��mܧ�BR����{�Mf�h2u(2�!�)���jt�@���~�CM"�1^}pC����6Γ-��%�+�1��H �P����ʪ�W��rI�}��?�n}������d�쯅B��9Z
-]T�j�$aI��
�l2��I�
��L]cLo/�8e��,
-bS�Lgr�
H�NQ5~��Oo_�X6�>�l����Y��<�1hR�a
-�j#�9�SA�2�+HXt�Hp�=q��WU
v8P���� �
r��
�}
��k�X��
�!�!P�:
*�_o�D�l
Nl�Y��PW�~
�|��/)xPD���
�R��E���2���^�[=Б4

-�� ��v(�����jqhz�{����쉊�B�V�v�|����!��pѺp�:�-���p��:
�dqGԧ��W���t�A�����b]��z"h#:�p�geB����b.��b�4��c���e�l"1RJt{�2�B��!5��G�["�i�KC
#؄�����ZEb��ڴ@��n��;/�WYrio���O���=^U&��%��j��=e�)r#d04��e�^�
����6��
O�<)͔��<'D�̬�r/�J(P�}k�:N�1���֑����g��K(���D����R^�(�6QZ0sT�*���M�vV�>���
P�h�GJ�'���p�G.���%R�Q�{��V�KR
t 
:6G
-:ȪL��^��	��$�6��>����^�[/��^
-�
|4-��'�
tZ��so��� z��4�Dh�B(��"���/���ջG��MHC�1ЃaZ�z/L�O0�	�}m�v��7Ӏ� y��v����
&b��-
~I�G\Ӛ� �O � ��
-�� �nZ}�S�?��x��ޞzP�֌7�D%�����>	�����
�'{ŸO��	��?���D9힛��\ڝ�2!�8����"��\ūi.<0�e^iMs͝}X�ja����o=��{><���g�$�g��pk��!���a7t����駦�/���	���8��>�B��+

��q��s��<W
�sO�|3�%�s�c�\ud��] �1�I�
���
F�{�\�5��u��#$D�<����;
C@hJ[�W�ݽ�zm�"����
-����ۛ�2�~?����/~��C{m���l m�+�>�G������֥�V�����g[ey��k�A������j�ۡE��q�IQ�_m6��a�kQ!.j���$��-,FE;�����n
-endstream
-endobj
-9179 0 obj <<
-/Type /Page
-/Contents 9180 0 R
-/Resources 9178 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9149 0 R
-/Annots [ 9177 0 R ]
->> endobj
-9177 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9181 0 obj <<
-/D [9179 0 R /XYZ 90 757.935 null]
->> endobj
-8871 0 obj <<
-/D [9179 0 R /XYZ 192.853 628.477 null]
->> endobj
-9182 0 obj <<
-/D [9179 0 R /XYZ 90 612.598 null]
->> endobj
-8872 0 obj <<
-/D [9179 0 R /XYZ 211.842 371.627 null]
->> endobj
-9183 0 obj <<
-/D [9179 0 R /XYZ 90 357.128 null]
->> endobj
-8873 0 obj <<
-/D [9179 0 R /XYZ 192.853 89.441 null]
->> endobj
-9178 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9187 0 obj <<
-/Length 1685      
-/Filter /FlateDecode
->>
-stream
-x��Z[��6}���/-����"�t��Lҙ��Iw��f<�-�i18����'$����s��.���]�9c����ϣ�f��'
sx�sf+'����8����%�`<!c�٘`7�6��٘b7��k������mf���
GI����ѷ�T�W��7O9،2���`J��fJ�
�eA5�ً�UG�ԋ�8�ȣ8���
-���u�f��2#��Jec�*Y�#B��cz��������2�!e��D�	g��|��%�?u0��wv嬍�)����b����2�=qt�P��2��y��T�A��׾��J�
x�q�;���0�&G���6Mc��Ջ�r�c�[
`I3�ӛ	���ܙ��@��n��4�ީt��,Z�q��/J[���^S*a�i�����
a��s�kf�=C��
Kp�C�mb<6Λ��1�&�/�$���L�094�!$G"�rs�sU�gI޵0C�4��ݫ�E��zդh�2��R_p7M���ʻ顫�!!E�+f
vp�u��(4�UMf{]RB��(K�t_ ������(������ҍ�B�g}����n��%j�uG��S
-zT����J
-�i
�U�}D@��g��X�%QnS穞�LX !���
MmUf�>KW�ښ	W�e#
�]�$D O\%� Ǥ��JB���]&�
$8���Β��oj[D�2�ֽ���ĺ1�&4y��N!a
�(���<���u��i�
@��p=[g�
-w���u� ��)ܞ����
:��!���/!��-f6����!��(Y��mXD����
-%
I��2+�f��cO���A�(�����+'�ud�`��ŭE%I[� �Ԏfc�TUbAG�Ŀn+�M{���������'�%$r�˂��$�@J%Q>\J��R�A�Nrb�༭&�C� �
�sۤ
�gt]!zy�eջ���=���������VO�A=
䐞��,�9�1j�c��	=ԭ'$⾼�j3Z\��<�ڠ��̷E���L�!]!t��奍�.�b�춆��]�Lk!cX<�
-!��r�^�
���U�c	���*�#K�����+�;�
�\�����^�}>1Q@���/SrH��* o!
-ć�3�OB
X��� #L�/[pn��2������dE�͉�� s�`��<���u�H���ɢh?�����A�A����V��FTd��{�h
�ί"M��eOƌ��я�}sxҡ核.
-�
2
-:u@�P�$�
�T�
I�,�-/�m�w�	ꯤ�ffJC�� �b�@�|�p�I2�1r�[�Wn��ܒ�炢<��&���(������
#}����瘪���8�!{ό�a$@9�-�+N���+�\�q؅�#��?e
ν3�C���C��������;!&v�Q��#��|'֊�0Π��T8�$�f�8=�Eź��
��,�_ u���ϯu=/�+����Ƞ
��GF�u֎��x%wՑ@�S���ik0� o-<�X����ALېE���
$C�
G�����|%�c��q46��#O}���/Ў����ҟ��?sK<}��۟�� 	���J�Q��X!��h��|�#W�wc!\�P��Iy�]�H�:�U=���1��H���/��N��q��_Fel{�/��jB\�vzs����"G�I��PT�l���iE
�(ٰ�Jby2�V��ܔ0q�� ��M�
-endstream
-endobj
-9186 0 obj <<
-/Type /Page
-/Contents 9187 0 R
-/Resources 9185 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9149 0 R
-/Annots [ 9184 0 R ]
->> endobj
-9184 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9188 0 obj <<
-/D [9186 0 R /XYZ 90 757.935 null]
->> endobj
-9189 0 obj <<
-/D [9186 0 R /XYZ 90 733.028 null]
->> endobj
-8918 0 obj <<
-/D [9186 0 R /XYZ 90 592.843 null]
->> endobj
-9190 0 obj <<
-/D [9186 0 R /XYZ 90 579.151 null]
->> endobj
-8919 0 obj <<
-/D [9186 0 R /XYZ 90 433.46 null]
->> endobj
-9191 0 obj <<
-/D [9186 0 R /XYZ 90 419.768 null]
->> endobj
-8920 0 obj <<
-/D [9186 0 R /XYZ 90 314.802 null]
->> endobj
-9192 0 obj <<
-/D [9186 0 R /XYZ 90 301.11 null]
->> endobj
-8921 0 obj <<
-/D [9186 0 R /XYZ 90 196.144 null]
->> endobj
-9193 0 obj <<
-/D [9186 0 R /XYZ 90 182.452 null]
->> endobj
-8922 0 obj <<
-/D [9186 0 R /XYZ 90 89.441 null]
->> endobj
-9185 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9197 0 obj <<
-/Length 1598      
-/Filter /FlateDecode
->>
-stream
-x��[��F���~jA*�s�
j*�Q5m�4�Oi��ػ���d�}�x|�f0����h���p�\�93�ޭ��7�_���גyiI�7��4�|I��ě���!!��ј`���F�l�ލ(
���Ef����:
�����I���r���.�``�i���5!{�QF>�R�����҇`D��f���B8"���I!/��f3S��ӑ��h�^ydG�G7Q6"j%sbD�!��
����=R8J��g›�?a/��
)oW�Zy�2�\zp��)CX�=�#�/=�W:
Z�`���\J����~
%�
-L�\��))�X���"��U2��D��}z�iR�Pƌ�Rޘ�`>�� -��"�����������&�5z���ͣ����4���\eA�f��;+W���A��ce����X�Xav;}_ � ���c�,�$�d'
-�7qL%C
S�z$)�x��,)
%_�������t�ɭ}���]%������}�(6j��,�
��I�Ëx�0�� \O
-����m
�C��rR���[��~���AUН04@n%���7_}�G��q���dP�'�T�&'�8q<�
�q8
���*J�.-�5�M�
�.2�2F�# �"&��ţ/
B�\��qY�'��І18b�
��<]�!E��r�L�H1,�y���LފS�U_��/�g�
�-��6��=�8p��U��.�jHa�$���T}�ȝ7ap0�����#�Ky�&��u�7R �z�x�‘�P}���	��w�G�D�N��2���������K�� �Ecn<
-���H]��l��Q��Ө�8_��:�-�T�.������F�J�J���g���6�&�=�CO��m�t���p��޸�	^����"��<�}�j�wv%n��EE��,��p�h7�Pn/^�O�:L %ks~���8�z%�����tj���c¡vFU+�-%�j��:T�*����8�~/����{g���a)�\��A
�5Z`�] �}�kg[���%�Yo��&��٬�rǛ4(<�����}.v�A�ҳp�}]a��ê+K
z��]�@��n�j�9�Bӂe�=�R2���Q�0�0/�(��>J~3}�)Z�]ϡі����RW��0N}ی��N@�/8� �8�P��y���u#�e��� r��!
9�t
-��No��I��Wya$���jN�{^t�S *�?u`Tg���-��O���"�����pt�w�E�ho
���K�
��-��y�N���}
z�'94��fJF�}�A'�n9N2�(=r�����
-zB{��K���Ż@5�|A�Rs�_���Mtxv��|��n O
���,o��\��@��Or�a�B�6Lˤ��0ʃ��&5.9
-N�6o�y��c/�J��v��}B˟����R���RA���n�/r�X���&^*�:�E|�
4���g�|����K�Ģ o�X��>���P���#!��A� �ˆewFTB��
bd^�!s�����4�Z��W}�mP��ї(8㺄y��\]�v;4ߠm�3�W����0�����į��հJ�P�	
�����;q|=
-endstream
-endobj
-9196 0 obj <<
-/Type /Page
-/Contents 9197 0 R
-/Resources 9195 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9205 0 R
-/Annots [ 9194 0 R ]
->> endobj
-9194 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9198 0 obj <<
-/D [9196 0 R /XYZ 90 757.935 null]
->> endobj
-9199 0 obj <<
-/D [9196 0 R /XYZ 90 733.028 null]
->> endobj
-8923 0 obj <<
-/D [9196 0 R /XYZ 90 644.514 null]
->> endobj
-9200 0 obj <<
-/D [9196 0 R /XYZ 90 630.731 null]
->> endobj
-8924 0 obj <<
-/D [9196 0 R /XYZ 90 536.712 null]
->> endobj
-9201 0 obj <<
-/D [9196 0 R /XYZ 90 522.929 null]
->> endobj
-8925 0 obj <<
-/D [9196 0 R /XYZ 431.18 460.258 null]
->> endobj
-9202 0 obj <<
-/D [9196 0 R /XYZ 90 444.941 null]
->> endobj
-8926 0 obj <<
-/D [9196 0 R /XYZ 90 350.299 null]
->> endobj
-9203 0 obj <<
-/D [9196 0 R /XYZ 90 336.516 null]
->> endobj
-8927 0 obj <<
-/D [9196 0 R /XYZ 90 232.544 null]
->> endobj
-9204 0 obj <<
-/D [9196 0 R /XYZ 90 218.761 null]
->> endobj
-1308 0 obj <<
-/D [9196 0 R /XYZ 90 89.441 null]
->> endobj
-9195 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9211 0 obj <<
-/Length 1433      
-/Filter /FlateDecode
->>
-stream
-x��Y�n�6}�W評��!)�f��n�����)

�f���JJ\��;iْ�K�m�>ْFÙ3�sH
-{�
�~|7
\�ᡧ��{�;OaOp�%�x�]���PC�1�/����Ǔˀb?OWzVē��".V����dU�+gc^Y�n7�wo���EL@(�X_[�V<#����U�!B'�
u�*��2R��q����4����A��" ���n��1?��8
�
�
p�=R�!����
�fp���/�-k���~S�j�� ��s�:
-��j
�n�
EtB2j��V
��sH�E�O
!
ʃx�К1o�<u�C���`FԆ#p��&���� MZ��5�
� �~c��k6ų�d�geU��$�f�y�%��oǙ�1õ��|����/���RbH�
d�E�,yj�8�m7������$K�L�XC�����
M�q��f���Ӫ�����q.6�'�)ٌ_=$e�ؔ�7Fˤz��T�
�=#�8�
�Z�R���+��(��;c�|L+T����� ?�9��!
-�j�t����Y9��*�D+p"f�}�.NK�9��P4LK�l�@0�'�ҕ��~�I�=t�
zD�
-8�g��R��{��T/�$���zsT��TV��(ɂ�Oq��&qq�8׶�[�Z (�]S��C����,ʐ��wYɠ9E�`%`O��c�w�P��A��Y
�F^�<��W�$���E\%�i�H�yaMf	`S�C����
��Z�i�u�)�Ѡ�މч�2��KE����ն)h�lO��	B�I��WZ�7�!x�5��t�9_kj�u���LnĆsΨK�_����([qB ��Y��&Lو"�dGFɧ�Qu����2J�1��
��̹<]Jk�<i�:*�Q
��EG�#�9�Z�P��J�BB6��eOQ%O�Pz��R�N ���P,��ݡF��@֞���P
-V��8teK�\�
����8ɤ۱�mK at S�э}T�
W#{i�;�X ����h�$gRH��$�i{$�"�Y1
 
=&�E��H at J����hK$M�{DRpZ��1��\�#"�SL�xH�4��4���
���A�6T�]�����OV�0��LO�
=�VP�2W�U+��w��RTۖ����I�Ũ����W8@{�D�PD�"M!t����ŋ׋[g�Xj��3-iQӷ�����=
؍pr��K����x�k
1�o�
-P@Ӵ�~?�
��m�n
^�[��3�㽟3Dpx����)
-�"�z?�?��r���&>�ح#	O��'>u�~+ �SD�����D As�����YQ���a��	���K���>�/�|�Oq�����d\G�#�̇3
�����~lfx��m=6�)P����CU-F��MK�%�%��b�^�*ז����F���Z �
n��c�
���C�M
-endstream
-endobj
-9210 0 obj <<
-/Type /Page
-/Contents 9211 0 R
-/Resources 9209 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9205 0 R
-/Annots [ 9206 0 R 9207 0 R 9208 0 R ]
->> endobj
-9206 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 563.557 138.508 574.436]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000031) >>
->> endobj
-9207 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 543.468 314.566 574.436]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-9208 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9212 0 obj <<
-/D [9210 0 R /XYZ 90 757.935 null]
->> endobj
-9213 0 obj <<
-/D [9210 0 R /XYZ 90 733.028 null]
->> endobj
-8928 0 obj <<
-/D [9210 0 R /XYZ 90 534.501 null]
->> endobj
-9214 0 obj <<
-/D [9210 0 R /XYZ 90 519.931 null]
->> endobj
-8929 0 obj <<
-/D [9210 0 R /XYZ 90 365.528 null]
->> endobj
-9215 0 obj <<
-/D [9210 0 R /XYZ 90 350.958 null]
->> endobj
-1309 0 obj <<
-/D [9210 0 R /XYZ 90 208.511 null]
->> endobj
-9216 0 obj <<
-/D [9210 0 R /XYZ 90 193.94 null]
->> endobj
-9209 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9224 0 obj <<
-/Length 1456      
-/Filter /FlateDecode
->>
-stream
-x��X[��6~��੅�Z��$����6�v�޶����xX[�e��
w��{�67q۴O6B
���

�
�|;�z6���	Q(�pfN��@�)qfK��%��7&c��#؍�u4��(v���Q-�h�}|�G��tj��,Ti��Ov*�����䆐�èO��R�����҇`D���q��G
-a��FȳA!ϓ�(�1�؝y!u�z�D�2+�Ճ�="]�.`�'���Z���l�ۈ���Q<@�ϝ�zt�;KX�`�tvծ�è���f��[��Η!˜9�fM6N�֪7N+E��&7!?4W� ��~1�F̢h}9����
QY�g�h}��Ң�#
O�Pf�VtH�y���#�o�nD����|&�1/~_�M��(X�܈(��t�
���(���(_m�*-��rҽ�y�Q��Ro
y��&}���"ΛO�b��
;ԏ����S>ƅ��:���&S�t�#����޳�.�9+ʕ֝Bt6Y����q��֛�����ľ�rc�2����
!�
�	p,�;���?G�����W�
-^ǚa$h �9�E`�}�6��Ph��n�xn�1o���vup�D����Y]�Yj�N�P�JgH�3�nz�l�i����vɀ�[�@��`7A���DPT�BgY��1|A��;��p kЫ|ڨ��sP�C8�gT�͙�5�d�Ҋ��!�.z(� �s�[*��.&��Z��l�c�i�\��V�֠��[�qp��y��gFj� F�X��9�!��)8�p�����8M�T��sH~�V9&�%��5�=P��OW�*� ��M�N��t,XH$���%�w���9�00�� ��`� W�
���O��A��D�qHա��	?	��Z��
Q����*��[���Bǣ��,
5!Ė� M���T��4
aC��T�5 \B)���\����K0�\���
�Y���R�埭&I��>ҹݮ �H�>9����#F��>�:�RF�vo��
ҹ_���/`��`�2��۽}�ji�=T�s�R��w�P|��oS��AAkru"�s�d
'8o�g�Aȧ�MW�~�b>�|ك�L��|�q��Y�XqW�@
K<����&�u�������z�J�C�2�
�kx�-��w��
	"{PC}�F�
P��:g��&� ����*�@���c7 ���%��x�!{�c{�6=lu=O�
�����'����|��8е��8�K_�6&�k�$��260l��a��;Mܤ=jҚ��'H?��	z��	r ��3ɏ�3u"�i������.�!����!3X,�TQ�	?�ӌ���הfkN3��������
�-��t%{�x�E�6�c�G������~u�����Kd ��d�cYn���n�C�m�x����l6���@&�S�i'�Y���),��x
��OG�;
-endstream
-endobj
-9223 0 obj <<
-/Type /Page
-/Contents 9224 0 R
-/Resources 9222 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9205 0 R
-/Annots [ 9217 0 R 9218 0 R 9219 0 R 9220 0 R 9221 0 R ]
->> endobj
-9217 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 624.47 138.508 635.349]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000032) >>
->> endobj
-9218 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 604.38 314.566 635.349]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-9219 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 118.216 138.508 129.095]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000033) >>
->> endobj
-9220 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 98.126 314.566 129.095]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-9221 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9225 0 obj <<
-/D [9223 0 R /XYZ 90 757.935 null]
->> endobj
-8975 0 obj <<
-/D [9223 0 R /XYZ 90 595.696 null]
->> endobj
-9226 0 obj <<
-/D [9223 0 R /XYZ 90 581.176 null]
->> endobj
-8976 0 obj <<
-/D [9223 0 R /XYZ 90 467.013 null]
->> endobj
-9227 0 obj <<
-/D [9223 0 R /XYZ 90 452.494 null]
->> endobj
-1310 0 obj <<
-/D [9223 0 R /XYZ 90 306.866 null]
->> endobj
-9228 0 obj <<
-/D [9223 0 R /XYZ 90 292.347 null]
->> endobj
-8977 0 obj <<
-/D [9223 0 R /XYZ 90 89.441 null]
->> endobj
-9222 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9235 0 obj <<
-/Length 1536      
-/Filter /FlateDecode
->>
-stream
-x��YY��D~����Uxv��(� $Tµd
^��Kkk�*d�H�����}�H�
	O�ƣ��[�������f���Yr$����r��$A�k��nmBs��1����n�v��c��(�?x�؝����n��N�e?L/-��Gv^

㷳WW/i
FE\(P%;��|KK�eN���f@
-ሐJ�7'�<
�$O���l�P�[o7���޽����pK�a3�������1�"PB!ń�X�n�bk	�,
xik��Z[�2�
���o#|t���:b����Աo���������~��L`� ��#��Q<A5Z��h|
��B�A2&��q�(*��IK�A�&��
-XM���}-ĦSw��/�poMP���4�}V�?��'�|��\�#��@8j^�b�
����E�=MA`����t뇁zo�7-��!	a9!
-I�){�e��iq>m��1�R�
-`6� G�&Ud=����T"��M;?}ȑI���!
��?�Q���Y�(0�a�܃��-���h
�@@Ů�]H�̴%��r&�Ha��CXЖv�G�jjDe��A
Ҩģ�S~k <n��Q�0-?���
o���g[��KH��t
-���~t9w��v��1S
�
�Ԧ�ј
-{�'RKۿ<A H}��c��d��r@
%P4��
)Uyˍ�\�4�DA��O�p�7n���_ʎ�|��x�|bĂ;�DJ�v�i>����@2b��@���?�����_�P��77�yQ����㲅H�-
-
�$��n�H�?r
#^;��{q�@�`qrvbP��e
��VQ}O� ���|��+6lo�_ݛ���T�w`��"��B����VCv��e�C�DZ�3⛵8�(_�I�څ��h�9��)�4��a`'i Wi}EA!��s$���'�?�8��
e��C���}p�W��[\
U���?�Ʊ�]�?�YapT�=\l�*V��W�cc/��)z�٩M�x�[h�ݭ�]��Y��
o���S��
�_��)M�E��2Q�Y��"ݏ�8A}�'7��f�.�
�f[��D�󉳜����D�􌬣�%���NNJ���S�A��%���AII�
JfKP� J���1���U�b�u�Ϧ@Q�J��M޶/�/�\�mĺ3��Ov5�n��6��_���bv��%0v֐�&�M���u��n��d);�^%z"|�U`�)[��zb�
0C~��6̺���úA�ݼ�vc�5	����e��?� HϚ��k�g�����^��=�f����
�Xƾ?y��9�
U9���\��Q�t=3�ͅ9xq�qFfN��&7{�ﰺ:
A	����#�%���T�n���0k5JKm2�.��2a0
-h����������Cjت��ޑ}瀣�,	�B��C K�a�k#&Ë�2���"��7�9�.��g7ܺA�D�F$~UL12_L* �97�vnٟVy�cޗ��
�$� |H����j�ۡE�������^m6�U��RG5wV��:*�@?��u�=��Q;ݹ
-endstream
-endobj
-9234 0 obj <<
-/Type /Page
-/Contents 9235 0 R
-/Resources 9233 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9205 0 R
-/Annots [ 9229 0 R 9230 0 R 9231 0 R 9232 0 R ]
->> endobj
-9229 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 189.635 138.508 200.514]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000034) >>
->> endobj
-9230 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 169.545 314.566 200.514]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-9231 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.4 98.244 212.124 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-9232 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9236 0 obj <<
-/D [9234 0 R /XYZ 90 757.935 null]
->> endobj
-9237 0 obj <<
-/D [9234 0 R /XYZ 90 733.028 null]
->> endobj
-8978 0 obj <<
-/D [9234 0 R /XYZ 90 581.211 null]
->> endobj
-9238 0 obj <<
-/D [9234 0 R /XYZ 90 566.708 null]
->> endobj
-1311 0 obj <<
-/D [9234 0 R /XYZ 90 421.341 null]
->> endobj
-9239 0 obj <<
-/D [9234 0 R /XYZ 90 406.837 null]
->> endobj
-8979 0 obj <<
-/D [9234 0 R /XYZ 90 160.948 null]
->> endobj
-9240 0 obj <<
-/D [9234 0 R /XYZ 90 146.444 null]
->> endobj
-9233 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9248 0 obj <<
-/Length 1908      
-/Filter /FlateDecode
->>
-stream
-x��Z[s�F~ׯ੅�j�w@��L�Ɲ�77v��d4HZۤT�v�_߳� ��4��v�b�ju���|��Υ���&ߜM��%sBJ*��
'Ď/	�8g+��%�Л��{��F�:��x�Yrw�Vy4�1^�Q~7���8-
U�9�'�*���٫�cBZ�QF>�R���L��C0�,�g��H!
���A!/��(�)�=�B��&�JeF^�
�{$pU��!F�p�
���˳�b�C*���|&��zr�;+�`�+pn�Yk�S��s:�u�-�x� Dsǧ��
��Z� �R�/��8���ǡ3�O,�s坟


��	��F��ʢQl��}\�k�q����**��m�$�ia�^��,-�<�S�B�e;�2�B�8S
-� gX����RmJX�#w
CBE������6�īy�_^���.
B��y�Q�����֮�Ks��$�O,�=�#c՜�^�Y����´c�`�2�Է�!�P4ڕW���z
��
4�;�P�LY��-Z@
1b������U3��rrp#޸gy�Q)��7��A��
a?���
Qڬy�}(�WV�4�wo&
}*v2YG��}M�����g(���:��f-�3V�
\
��7��<��*��a$w�I�H4ؖ�|��
�
�&��	��FA�������4i�LrJ�@
@�G�Z
|��7ץ����5+�ʚ��KKʯ��8�0��K���X�1�]F�Q:�_ͤ#�A������C��9�۸�2;�U�Q�ҫ�-��me�vէ%�]CŀJw����TO�L�pk��R���v����^���,kE|���e

,w���k\�����
I�yxk4�PLX��1�*�A���� ���� [��>�G��:|`.�����KuI8
v�&�v�®8�gJ��n`���Oc�s�� �4���OYj�̑���HOx�Bj
-��P%i�
�0�J�������LF��[ĥ���\���=|{0�� �6��^�{F�P��^�Я �F�&�{��){' ��NM��熝�����'
ţTh
4�i	F~Ьr7 �C����p�W��A�W�;��
&/r­I�v��9�| �
\�(]
a*Q�����H��N@��(�
��W�B"c��#3�lQ��
]ܙ�- :�#*Z^�9��xQ��g E!���y>0�y�h�Y(��.(�L���ϣ�̒d
�p#�
L�'(����	S1`N��c]�!I���>'��`��كĿM�Y�Xq�\��A�ǏG�s���:N�u��:�S������h� ͹1�������1Ȏ���t꧔lKHx��rJ[ԯG5�W�v�_��տؒ��9D��v3�O������:��
�~ ����a�
q����
�&
-0�D@�,SmE��Q��ua�3N�֖�a��|���\�c��eߜZ��3^DI��`x�#��s��,M�x����B+�<)z����\�PnUL�n_�6�a	qq5RJ����R�T�'���h�sV_\l[v�{��JW�Q�1��~٨<*��蕤#� �!�G:���]
�P�uk�F�b3x_��Z
B��	��T�{�t�jP�`�t$%`���	v�`�#A�6�5�iF�Xm���vZ�d�po��8�i���هxm�I�FVy+dcZo��
���0��V�߲uu�eݛ
-Bl����j�,We�����y��5���M�;c�	'8�]W�	t#�@>˟l��v][���8��!�(���;�����e X���W�������b��˄�3���?�Χ��}�Ëy�1Ƽ�V��KO�&$?E�u��˭o/0�
��
�R������w�~���Y[}I d��*�������-
t�ƛ
���f�
ݷ���q�r��F�u�79#
����_�ϗ
-endstream
-endobj
-9247 0 obj <<
-/Type /Page
-/Contents 9248 0 R
-/Resources 9246 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9205 0 R
-/Annots [ 9241 0 R 9242 0 R 9243 0 R 9244 0 R 9245 0 R ]
->> endobj
-9241 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.573 594.665 216.297 605.569]
-/Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-9242 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.024 499.87 483.212 530.838]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-9243 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 236.891 138.508 247.77]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000035) >>
->> endobj
-9244 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 216.801 314.566 247.77]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-9245 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9249 0 obj <<
-/D [9247 0 R /XYZ 90 757.935 null]
->> endobj
-8980 0 obj <<
-/D [9247 0 R /XYZ 90 656.853 null]
->> endobj
-9250 0 obj <<
-/D [9247 0 R /XYZ 90 642.865 null]
->> endobj
-8981 0 obj <<
-/D [9247 0 R /XYZ 90 483.028 null]
->> endobj
-9251 0 obj <<
-/D [9247 0 R /XYZ 90 469.039 null]
->> endobj
-1312 0 obj <<
-/D [9247 0 R /XYZ 168.903 393.566 null]
->> endobj
-9252 0 obj <<
-/D [9247 0 R /XYZ 90 379.478 null]
->> endobj
-8982 0 obj <<
-/D [9247 0 R /XYZ 90 211.068 null]
->> endobj
-9253 0 obj <<
-/D [9247 0 R /XYZ 90 197.079 null]
->> endobj
-8983 0 obj <<
-/D [9247 0 R /XYZ 90 89.441 null]
->> endobj
-9246 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9261 0 obj <<
-/Length 2210      
-/Filter /FlateDecode
->>
-stream
-x��Zے۸}�W�iCUE�I*��d���ͦʱ'yq\*��X�H��F�~} o�(�&����O)��ht�9G�
=��0�����d^�"I�w��"�� A�w����� Mgc쿙���6^��R���q�VE��9y(��8���IV�����G����?ݽ&�7eq�+f���!�?#ʢfěw#VG��F�����Ӹ,�3*�?�����4����V�U1%���%�bD��H�����{B�
��	�P����N���
-���a�W�
̨��)���{7��_
:eK�
:b��:�U����C�K!'y���SY���	
��Sr�Yx1�
Q�����im�%	2%>
#Q�#pg<M 6!���htY3��
-���g$���9��������}�d��e�U�c��$J
3�5�������/�ΐ��\���pG��	�lJ��lR�q�R�
z�di��v���-a���3ؒ I��2��J���s�q�����/8�BҦ�&)G
��xbS嶼�Ǻ���0��W�JU�]�JU<A"X�lr�
tWI��&l����5�QD����,�ݓCRm�k��N-+7��u����vl
mJ!0E���=�v��qZ�s��!e�QI�8Z�L�~
���2�	#���$r*~�U��
ji�n��m
�eu�J
��c��3؀Hz3�]�5���R��r�<ڙp�%D�����V�y�M9���4Y-��q�UY5��	L�n��~S�S*�,+d�O��G@���
j ����Ո
JQ@/�	l?#�Lq���U�����8K�e��A�<��'(��Y%�">�{N1E
�������HW�\JF̧.E��DQ��ϡh�,��v�'�y��M^�� �ע
$z@��Q��`4^�.��E��u	Sip����E��C$�B��ɧ�8�wkh#\R��c�?�����ǝ�vei[x0
-���I��3��G�~�+��e���8���ܸ��s�����3h�G��_�,�&Y\�c��p���?��o�o���ub
�3�����.] H��fhO�dԠ��=hG� �4>������v&^�&l�ֺg3w����Q��ps���
-RȆkS;��g5
�m����/��"��rwpDrqR^�����/�$wv'P�
-;= n5%���	T�"�f(�=����p
q���i=i��2�� �%'e�ؓ�w����<��1���m���Lh�r5��Q
�&1gG��
�7���usG��<l�妾Ռv3�0���jؕ>j���_n#�
�ʌ�;wn1=���b2�O��%s	��2�/;ZOj
e��q�_���cޭ����;�;U�6��s;j:i���}3��$�>��9�����ߗ��3$�TFLnD�;��3bL.� 
j��3�⎀�о�fQ0
|#����Z&a�u#��Qtҍ�A��V ћL�o���Z3��,�@��l��vt��F�H��F�c�M���:/���˦`G�r	�H���b�ZN_?i�J�3.'�+�xNN�_�� �N���c�J�/XQԴ�\���8/:�{����o���猲�?�*
 L�K������h�s�Vr�x���z<=�9_�6��*6�5b�B5�=#6�9�!��78�Nk��w�
-��
rFnD�r�[{ި
��}�
�W�
-�M<xVl����џ|Llp(�/Tl/���+���&6����El�+��j�F�u�
s
- ���/.��ǣ� ��}e�:�qv��X��DG���V������q���#�C�ݦ*-���P��
�׊F�ጢ�?}7���'
���$lhon����L������|U� =u��9!��‘�ͱ!
�b�l^���Ѯ)(
-dx��k��v'l ��%mE��{Uk�"c8==�q�:tr�!���k*��T/ �DQ�ºzEz
�<҃
-�Xf�QhJd��ٱA� ��
�7���s"�����$X�fp�T���
L3��3֖� �%�0
Ȼ\d�3��a
�Y��;Կ
6�2Xh�
�q���}H��[��n�E~�/-����(��}���	�)���1A�=%h6��vL�
-�����5�֗
���m���KU�f*�_��q�oh��jO��n5��Y1K�Avc��j�̮�_^��/�^�b���MU��ww��-K�ϒ]���n�K�N9y�
-�3'�'n�=�7�f�O�����T
-endstream
-endobj
-9260 0 obj <<
-/Type /Page
-/Contents 9261 0 R
-/Resources 9259 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9205 0 R
-/Annots [ 9254 0 R 9255 0 R 9256 0 R 9257 0 R 9258 0 R ]
->> endobj
-9254 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.275 690.333 293.971 701.237]
-/Subtype /Link
-/A << /S /GoTo /D (main_Powerset_Meet_Preserving_Simplification) >>
->> endobj
-9255 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.269 541.145 238.02 552.049]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-9256 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.089 319.694 246.767 330.598]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-9257 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.899 96.965 431.977 109.883]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-9258 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9262 0 obj <<
-/D [9260 0 R /XYZ 90 757.935 null]
->> endobj
-9263 0 obj <<
-/D [9260 0 R /XYZ 90 733.028 null]
->> endobj
-8984 0 obj <<
-/D [9260 0 R /XYZ 90 615.539 null]
->> endobj
-9264 0 obj <<
-/D [9260 0 R /XYZ 90 601.301 null]
->> endobj
-8985 0 obj <<
-/D [9260 0 R /XYZ 90 394.088 null]
->> endobj
-9265 0 obj <<
-/D [9260 0 R /XYZ 90 379.85 null]
->> endobj
-9037 0 obj <<
-/D [9260 0 R /XYZ 90 172.637 null]
->> endobj
-9266 0 obj <<
-/D [9260 0 R /XYZ 90 158.399 null]
->> endobj
-9259 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R /F13 540 0 R /F7 505 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9275 0 obj <<
-/Length 2010      
-/Filter /FlateDecode
->>
-stream
-x��Z[��F~�W�i�RԽ�diw4)���ݗ�y�4V�㞞ίϩ�/e
-�'�Z��~�)��V��}��$8�n����dI�RIer�NR�(I��$�^%�Ƅ �N�c<��<Ϊ]���P<�o�7���?������rQ�Ǽ�{�#wy
�������SFE\(0������C0�,mv\��H!
�
-��A!����8�R��ד����a�չ[�%_�Մ�q^.a�!�La#t��z�����(��b"Y�F���d��'⥓;�k�p��Mގ~
at|6�:E�DQ����e�l��ƹ5d(i�&}w5R8M�pł:1�*xt�F��*i�덏�6_��n��+ww,V�ۏ*��"���+���֍���̫l[������y�W�i�T9D�ؗ_�
\�z�D J}h�����[�_�ĩF�w�~�a���܊	T��I����.ow�z_�	WU�l.�4x���1ؒ����������(�I܁D��TO�㐹��u�;琹

2+�Cn�W,��`�,���l��@4K/���7�Qk[2�[�r���B���pu�`Sw{��H@A��9�I�l�N��O�����u	K‹8֫��('
�	�d��*�օ�HJ{�Z�7w-]�X��W�b�;���@�L����������#cs�g	hƬ���L�ա�N�~l���,
S��)�bn�T���
����*w֯
-��ɱ��J��ui�O�(������p
��q�\��+�m��[��
�4���q�v7��
��kl
��c���"�>S�H����@)���:�ct�aH2_f�V7~����(yg�~��� "ӯ8J,�>dx�m����j�C7P�sD�˧��!�����e}~��"��
i�`.zX
�p�
49= Xבc�	�	oӾ�?�%`��T�]Q%9�J_�Q��&�M��+/��pBƏ���k�a`Rԯ)7q�X���C��{�e��ݐZ

8,vٍ��v:����	Y�a�W
5;i
'�����d*%4��i��fRD���NH,��Pb�
�/ap�Ή�2Ϫ��O�?7}]c���� |��y����i��,�C���}n�,`�-�*+��|n�[8{��<�YH�U��t

a�
�7�� M\vdL[ΰ}���6X!J2�$��a�+0�?m�W�[���H˙2I� &m ���
sSB����}�+�	��c !�۔;� �|�O�i�(҂=�	����i�>
-pe�³�l
��Yѧ��w�t�&

O��

-9n�l�ɣ`��zZ'
��
��W��{�ЄH5����'�^
-

-�8!
rS�Y@*Px�=Ś�
�2Ҿ�F������\3Ns&�7��n�W�9Ơ
�`���zKʆ��D�<A�j���XE2�d�c�c [v�^"
����V����ɿ0�&��L^�0�&����FL^~�L��L��&��2y�bx�(�'��c�
ۯb��r�d�
��c�=(1�{���,�{@�k���V���5E��<�a��8j>�h�P���V���c|&����b�=L�8Áati�
�LB�9�Q�S��F������s��@�CFFkK�}���\ <<1@�V��h�T7��tɯ�?|�M׎�_�$ϴ�+`�:�ܽ�is/�>
����q��T]�9�<��p�z '�tJCBh�r�H��@IH@���%�Њ��L�4>�U~>��
�|�4�B�	H��ڧ���)Yf��ڌ���O{�iIc��F
�r2���S)Ud=l>
�e���H�R󦘝4�P���PxD�o�.��1�eF&��3�(�Ce$���3�q���,=����qD�!O��? �֜�|��4Տ��}{
-��^��D�І��̯L���?6�}�@�}��1���1�~������,�~4����~ad���ނL���y
�g�%��#�����p���>�g���;�<�۲8T��g��vvZ�=)00;Ⱥn^����w�(aqg��$�$ړ

-endstream
-endobj
-9274 0 obj <<
-/Type /Page
-/Contents 9275 0 R
-/Resources 9273 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9279 0 R
-/Annots [ 9267 0 R 9268 0 R 9269 0 R 9270 0 R 9271 0 R 9272 0 R ]
->> endobj
-9267 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.44 591.936 513.996 602.84]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-9268 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.617 498.402 476.603 510.041]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-9269 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.44 330.234 513.996 341.138]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-9270 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [323.631 236.7 429.297 249.179]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-9271 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.549 96.617 195.105 107.521]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-9272 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9276 0 obj <<
-/D [9274 0 R /XYZ 90 757.935 null]
->> endobj
-9038 0 obj <<
-/D [9274 0 R /XYZ 90 572.805 null]
->> endobj
-9277 0 obj <<
-/D [9274 0 R /XYZ 90 558.557 null]
->> endobj
-9039 0 obj <<
-/D [9274 0 R /XYZ 90 311.104 null]
->> endobj
-9278 0 obj <<
-/D [9274 0 R /XYZ 90 296.855 null]
->> endobj
-9040 0 obj <<
-/D [9274 0 R /XYZ 90 89.441 null]
->> endobj
-9273 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F8 504 0 R /F13 540 0 R /F7 505 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9287 0 obj <<
-/Length 2300      
-/Filter /FlateDecode
->>
-stream
-x��Z[o��~ׯ�SK�x�3T/@��
���6��e�h���J�J�v�_�3^�"e�r�4�)rxns.�74��"
}=�����dQ�Iet��
)I��$�^G�cBK�
�1�?�	��j��>�)����}���շ�M�V�˥���!����SV�����o�>�SFE\(0����[�C0�,iV|�4"�pDH+�/
-y�M���
-
_�g��6�3w�l�Us�㬸�[�3E�����ٿf���@	���n��
��p��C�t�dW�"N��F�f��A�
a)zAG
q�#_76
{�a��BF����y��\��h<%GX��d��V���2_{��&ɜ�g�	GQq2O�F�ZpW���&BL�Dl��ˊ�J����z�n�ǘ�j�$ߥw&O���ߖš6?Y�m^di�z��_y8�e�V���LD�GH&�*��Ɯ����ɯ�
%$d,d�^}z�ݔ��Z"����l{xލH�` ���!X
-X��
Do�ISIcN&
%]�V�N�N��BL�_ӗ&hJ�E��b
v|q
��9!	�TÅBľ�'0�0=�Ѹ.�{�oCigf#Fp��ֆ�>?��Ҳ[�9�����H\nF
�"��
x��{gA�
��m�
��H��3s
���g�g��W�t3�"v�dU>� ��>���i�#̎R��H�D1�S
���I5<R�	I���UhN����Z
�
>μ V�yL�^P&����P
�P�z�#�C���u:�ȥ\�q�����5
�rm?n�Ǫ�I$9V�	L -�eh�EA.�� &HZ��f�ڪ��0>jh��@@'(�x��"F
‚�{#
�!����&@�lS������8�k�t��&ls"bhK�%�n�1�q�U.�@	q�N�.��ק6�v/(��B�4��
����/��鄀
3��惯��?�f{���R!��ǡ^/� 8����x��
vYQ��>�8�^����T����uS!&o��UPŠs���&��
�u����چ�\�
�Y�!玛`�
pkD�jLF���}�H�t�̴�0��@�s%{�rBI r
��:���V=�
L��d����3?�%j�rrؕS_:u����e�F�˂ {Ҍ�P��&��L@/^����
�P�H�z��K��7�C���y�N,���a�i������,	Ֆ�cZM���ӄp���3�ͣ1�L8��Q��Uf�<��0J���/J���0�G��Q� ۩hu=L��ݵ;�I2
�+3��
Z���Ҽ>,��Е��'�c����9�Ίr�i]�Y `p�ւ?��
�O�)ضɝee���葑�t�@~��@�&Hj���Oq-'8
��a^6�!k�
e�b����B�������
�H
�`I�	�I�
}���
�'��sm(�4d���Z��u�»Y�r
�r���6>M���J
�U"�KP	=����t���=U�kkE1�B'J$� ��@��N&�]�|�KE�q! ���cHh
�
D铸��"
-ճ���
Zp

AP	�F4
gd#4җmCB_�4AB$��B+	ֱ�M���ƌ3yQ�
-������%<
'!Q�S�
��<�
-k&���_��l�|�iIS�/�6��O�z#q���:f����n��	�-4r�8F�۞�woA>�E�r4G'
�
�w�a��I�p��7c��S~@�~0B�a�nWv��=
H��6�Eݼ��'�e��w�\vn����y���3��7�I�F�%���?�I-f�D���3L6�8�u�\�>�ĸ�B�����T�V�[pq:F�9�a�! 0�#��-�.��>93R�@��2�?�G ���X9춦���
��������1���Y ��-Q����-	��2��q��5yFa�����$�
��#�3<bp��
]�uH�����O�
F��{�%��|w �����G�
pYޮ���z?�A/�K>�
���G8u
w���D���k�m�L}�S�
jwD��}\o��!���s�/0w�3wq6qC����F��KZ?
���8�J{�q2�6��ŗtZc�
pw����`���&'�;,�;�
 Tx|wW�~-0�]���
T�j�`�'�2��EIH}uu����
ꎑ �U�]NSw�����
���N�Wh�ހ�aʞ�����S�_!u����[���e,Hv!�	����`����`7��8����\��C�C�C��{4� �Z����o8�2-��5M�y�Ϩ������A�B
�ys_��������=��"�W(�������>���>5�4�+��psg�
��o?

-endstream
-endobj
-9286 0 obj <<
-/Type /Page
-/Contents 9287 0 R
-/Resources 9285 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9279 0 R
-/Annots [ 9280 0 R 9281 0 R 9282 0 R 9283 0 R 9284 0 R ]
->> endobj
-9280 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [334.883 678.378 440.282 690.857]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-9281 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.549 533.281 195.105 544.185]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-9282 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.059 436.355 422.924 451.071]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-9283 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.333 164.674 425.662 179.389]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-9284 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9288 0 obj <<
-/D [9286 0 R /XYZ 90 757.935 null]
->> endobj
-9289 0 obj <<
-/D [9286 0 R /XYZ 90 733.028 null]
->> endobj
-9041 0 obj <<
-/D [9286 0 R /XYZ 90 524.315 null]
->> endobj
-9290 0 obj <<
-/D [9286 0 R /XYZ 90 509.744 null]
->> endobj
-9042 0 obj <<
-/D [9286 0 R /XYZ 90 252.633 null]
->> endobj
-9291 0 obj <<
-/D [9286 0 R /XYZ 90 238.063 null]
->> endobj
-9285 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R /F13 540 0 R /F7 505 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9301 0 obj <<
-/Length 2637      
-/Filter /FlateDecode
->>
-stream
-x��Zm�����ŸR8s�"JԶ
��K���(����-z��,9�|����Me�宛��'��3�<34�<M�����7��C6�Q
�p��x�qJ&��qJb�lN0����Ӥ�&����2�ȴJ�g�*������hj��1꓃������w��	�MFE�@=��O�e�q�vD
-	!��//
-�S���lN9�>�b:��]�4�<�I�e5#b*�<b��)��z�����7��	ц�����7���$���M0�KLz�vP����͏7�
��sOOH�$�
�u�˅��������
��cEw�{�ص�������m�6��{���}�,�E�O�.Y�(��cZءrF���u�����x��[m愣80*��(�Y�u9��'�o
�P��U�ݖ\�
{����h�gy�Vq���")R��.[]v��#�e�����N�r7W
��r�KP��506ɭ)�3=�N�yrȚ��J�ZG�>��>���|o�N�r��`�c��BM`8
-��L��Ǖ�)
�;���E`�p
+���Mzw�� tJ�,]$�]™݋a�i�y�11�`�lm�?u��G�''Hc$��j#��f�Wj�O�����]<
� u⨝Cm3l���Hc���O�$H�'�5�3����N��7��	
��Ţ]T��
OOC���Ie
+�`/�Gϳk�4�2��
Z��0�X(���ؚ)F�ڭ�`TZ'O�O�KVCuZ�:6

E�Y�M�%�0�vI�
b h
PD��eB�`�m:l\�8NIv at 6�� ��՚�,�-����G�
h�#q6�1Di;��,e�Z�Wf��^�����g����� �����_^���]N��y����y�d��$�������� ����&����f��
�����Y�A�H������"�
-�n$*�<,��AJ�y�+mX�M9�A��`W��AU�Q �������}Ӳ5֤%�˪'K�~zs3y4�U��U��e_/es����"|	��q؁��U!Q4�p�
Az
pTA
-p
�m�� �Y/`��Y�lp���-��oߦ0�qvIV
����a�����ռk#Q&���J����X9��v�+a
E�϶�u�bIXO
֩c�
>fvNǐC�|��
3l>%��N4H8��7��q�G����)ӽ�/*㜀_�A�5�K00����/�"N�/A/
a
��+z�+,�
-ly�j_ՙ"�T�$�g�miO���~2`�U� ��wN�2h��v!XI�MY���h���<4K��#
-ܐ
�0�Aj��y�m��,�O��mY�&[��m_ 5��}`����Y��ܮ
iN�|Pc�E
�\
�nG��G��s�Wc����G$S
�.{��.sײjKҾ��Cb�EAL^�[

��6��c�ScK�����8���O)
��D��|&�b-�-���X�Lj�p ���

�hgkN�`�Bz0���W�t���d�!�@�i�<�
� ;|�nW�A�� �Xt
�_֒
'
���ǵk�j�p
�����K���˗��	.
���+2��o��x!?6U�+a� ��(^	G�O��
-�+�W_�j��V�O�BK!փ�u�f�L�ع�a="U]
��
eg��H
"]od�|\t�z,��PEFהo�*� �
�����5J!���%
-���zB��(�\� �,���g�v��g�75\��ko���rg݃�C�[5Uu�t��>��� %��T D=Oc�N���B _$�x�<8'7\D9�2̱
�[x��>e�H
-��r|:�J�4+�<k����M���[W5�LD��`�e�ɾ7RUo��m��L�vu�[�@6�۞�-n(�[���2<w̠���$���~��P������͘?An��>�ԧY�2���|ģU���/���� )"
��
�W�,w
qݨ�a��a
�·�;`�����V�
�čع4o���\
Ǣa8�scF����m���u��qk�r��ʪ��3 �V�����F#=����i6ej�UsE����
�Գ���1�zحW��Wg(�qݬ'�l�Z��E%װl���*�f�@	��ӥ��'��	��i� �BtM5��F��/��eqw�m/�)
�r<=
U�2�` L��N�*���*϶=�Bi�3&��"���FA�M	U���9���8��5�tar���"�v1��P����v�57�~��g�p��,���:�x%{eR
-�f*sbn�4<�`l$a_"A�y<��AU;�r�R��,r՞�D@�H
�u�T��r���*Jб�?t�L��, X�7Z)}�l���3C/VR�2U�iȧu��!3�ag��J�X�L#�D�2
�QAs��W��kjn��gH�hV��"r�y_��/�Z3��I3y��f��4�.}�K
�M'_���.
��F?%E����G�O_���w�`5����vM�<�'q#$Z�s$6�k�]8Zy����ر��͹o��f����7��M�)�������ӫ$΄���^��?˴Y��v�B���kn�V��w3��_�פػޡ
-@Ӿ��m����1�O���]���5qW�����K w0���ivw�����j�/�]���
-����I!��@���m�|/+���"���� *��1
-endstream
-endobj
-9300 0 obj <<
-/Type /Page
-/Contents 9301 0 R
-/Resources 9299 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9279 0 R
-/Annots [ 9292 0 R 9293 0 R 9294 0 R 9295 0 R 9296 0 R 9298 0 R ]
->> endobj
-9292 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 562.721 322.446 573.625]
-/Subtype /Link
-/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
->> endobj
-9293 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.409 545.096 332.425 556]
-/Subtype /Link
-/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
->> endobj
-9294 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.187 368.058 399.221 378.962]
-/Subtype /Link
-/A << /S /GoTo /D (main_pps_bgp99_extrapolation) >>
->> endobj
-9295 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [292.22 135.599 330.187 146.503]
-/Subtype /Link
-/A << /S /GoTo /D (main_BGP99) >>
->> endobj
-9296 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.562 135.599 391.059 146.503]
-/Subtype /Link
-/A << /S /GoTo /D (main_BHZ03b) >>
->> endobj
-9298 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9302 0 obj <<
-/D [9300 0 R /XYZ 90 757.935 null]
->> endobj
-9043 0 obj <<
-/D [9300 0 R /XYZ 90 625.491 null]
->> endobj
-9303 0 obj <<
-/D [9300 0 R /XYZ 90 610.921 null]
->> endobj
-9044 0 obj <<
-/D [9300 0 R /XYZ 111.798 536.294 null]
->> endobj
-9304 0 obj <<
-/D [9300 0 R /XYZ 90 520.19 null]
->> endobj
-9045 0 obj <<
-/D [9300 0 R /XYZ 448.074 444.94 null]
->> endobj
-9305 0 obj <<
-/D [9300 0 R /XYZ 90 428.213 null]
->> endobj
-9046 0 obj <<
-/D [9300 0 R /XYZ 395.641 138.752 null]
->> endobj
-9299 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F8 504 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9314 0 obj <<
-/Length 2480      
-/Filter /FlateDecode
->>
-stream
-x��Z[���~ׯ�SJ��܇T���IS���	P�(iVbJ�,I����gfx_�Z����aAjxx�̹|�����
Ͽ����ݽ�l
�@R9��x�$A����n��#�`�$c�݂`/̏��݂b/��z����M
�O��[����eEc^9�
�{CHg3�(�B�(v�?9��<#ʂ��݇.�#B&���u
�bI����1��R����A�
�{:��#BxL1�t����?3l�XE	���q����`��9}��:�9ep��f��I�S��
�#���4_�2>?���O�����˧L'��&�?�Oɐ|R� +�
���1�������yi��k���8�~2F�v:����S(�(������S�hg�K�9�?_�)Q�����1�ǟ��$��_ A&����j���?1[�+�!�}�
`�_X�m���I�ށ�N5�q�`����e>�p�ec�+G�>�j�FXp����|�n=�"�����Ws�p=��F����%?FI
%��#�C�$ Ҍ
-�QHR�^�����6
xe�ޣ���Ƞ��)��~#Dy���@A�["�6�uq�Kw�>��6=f�����u�H1s0��+<}��l�qI��^-�g<ty��Aϊh�˳���)�����&�1�I@�3�� �:�D��NEO�@�pt�D��]�1�c��5�<��m�Ɉ4L ȡ���!��F�"�w.�m����7�
�
<
-�eƽK��a������v�D�5^o!}D�
�-P�ڃ�!��ᖔB��=\��P��z
ZF}
���|��X��BO� q,j�k嘣'Q];d邊 +�ׯu%�f�6o<F�*H�W
Z�ڟE�3d��}WiNѮ���X�x*F�K�����Z긲�N�0�GBIr���������8�s�0K�(�ɼ
	,��|�6@p�3���k�~�6j�3 G{�T���������ټR���T� �
�^�
h-�_{��cź��� �Y��\攀��6�t>DV+�O��|Hw�	Hs�0�<�;����3�I{ߞϐX~kX[������A� �/���G�~a|��h���ta���O<����1�	���{��J�wU��&��[
k�6
����j}��*���m��Q�40��Kb��Ba�6��_�<���F`%#h at B���e\"�2�b���� �  y�:���ՙ��3�+h�V���*r0
��n
����z� 1�6fr�]�Dc�EL�[��LL��U_M&V����U��^�:�Qb�L�������"��T~Z at T���㱫I ���M�35e^��L��[�9��
-8�Z�.Y�f5Y
�83	ʂ4_0�
-�w;�<��ղ���B�/Q[�]��
-�uc�␞�c��
�y'�E���U�
-�z�kF�A� |�����;�l�B/c�%-��Qv�T�)h�
�K"'k���L��A��
�7u{Y
��[vv��x�����~#��W��I�Xxo
C�"eҨ�29���QV�nkix�JXp)��W��-�&3�����l�*��<�iJ�ݾg�V#�z��^��Jz������|=,۪
TA���i>��݀��
-����CA�
�@�
�\��\ĵ��?2� ��G.�;�0��m�m���g�% I�h�xlխ�ʅ��Z��s��=ڒժ�a_0� P1M�Q���QP{�ϛ���8�6��_d
�_�C�M
�P}�Kӗ�N
8�z��Y��_Vfn��t����Ք��T��
Uh�@�d��a�+��
����!(��maVm�
���~�5�,�lF��D��W�ptll.���wW�:�pcS�f�^�z]���m�^
Fĩ�	i�+��?kQ]G=ҔP$�U��=�=/Ցd��3H
����;C�b��!
-X�rB�8C��4G+�=�^Y���	(FSƏ�O�G!t��C=�iJ1�rc�t���E
]Ae
�݈�� ���!7�@*��'Eu�0�#�"��ހ�jh�+��FA o2r#�č]��F
�@����������
BHm�g�hl~�۲�SS=�qX�R�P�#���n��sN�܇dmL�U���M
-H0>*PG�6��
�ۜ	�w��Y�M�.M�%���:�����j|�f&¡y ?�a`L��/e'A��9�<�H�ӀRv�3����U�Ψ~��w��%��O�:D���'V��6�M���p��-����<�_��苒�/v�y5)5X�|7�c�r����
w���:�
B�N��c�"@�dB����"�s3���7�h(bZ�)f
�!au�
��y�밴6'vLUmX}���U�%
m��Hq�/R>:�� 6��y�����
�N��="�>�ʖw�G
�U?k�s?+�s?�Q��
!�*F�&�0n���M���@�(��~hft�d���w�Y����7(p(�luww>�Ѷ@�$�r�wY�=w�
c�Ďv�`Ǵ
�G	,
m��L���?�=
-endstream
-endobj
-9313 0 obj <<
-/Type /Page
-/Contents 9314 0 R
-/Resources 9312 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9279 0 R
-/Annots [ 9297 0 R 9306 0 R 9307 0 R 9308 0 R 9309 0 R 9310 0 R 9311 0 R ]
->> endobj
-9297 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [271.268 678.378 343.546 689.281]
-/Subtype /Link
-/A << /S /GoTo /D (main_pps_certificate_widening) >>
->> endobj
-9306 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [428.986 468.609 513.996 479.513]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
->> endobj
-9307 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [117.507 457.63 183.14 467.557]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
->> endobj
-9308 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.559 371.523 345.883 382.427]
-/Subtype /Link
-/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
->> endobj
-9309 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.708 258.322 250.895 287.388]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-9310 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.024 216.303 483.212 247.272]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-9311 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9315 0 obj <<
-/D [9313 0 R /XYZ 90 757.935 null]
->> endobj
-9316 0 obj <<
-/D [9313 0 R /XYZ 90 733.028 null]
->> endobj
-9087 0 obj <<
-/D [9313 0 R /XYZ 90 452.248 null]
->> endobj
-9317 0 obj <<
-/D [9313 0 R /XYZ 90 438.323 null]
->> endobj
-9088 0 obj <<
-/D [9313 0 R /XYZ 134.214 362.721 null]
->> endobj
-9318 0 obj <<
-/D [9313 0 R /XYZ 90 346.639 null]
->> endobj
-9089 0 obj <<
-/D [9313 0 R /XYZ 90 199.814 null]
->> endobj
-9319 0 obj <<
-/D [9313 0 R /XYZ 90 185.889 null]
->> endobj
-9090 0 obj <<
-/D [9313 0 R /XYZ 90 89.441 null]
->> endobj
-9312 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9329 0 obj <<
-/Length 2532      
-/Filter /FlateDecode
->>
-stream
-x��Zے�}���S"U,
�$W�
���TMv'��fKő��)�T���n�Hq���}I�������gO3<���7�w��R����n��,�	Jf���9!��Œ`���
��Q~���
�����s�ͣ�O�c
�V+�8I�".���9�����Ï�w�t&��".P���k3�ч`D��Gܿ�H!
���U!�X,��󇅢��p�Gel���wq� �<N7�!�,�Z��w7���g�r�P��ls�y�϶�����s5�0���~���7x��!,E��!A���Z�K�C�1���1��t��� �IJ����Z�12��hD+���*g�V&�~}wJ7e����1,��+���r�d���^�7gK�r��EP�.�+�H�8
],��6�w�03���ju����m��69�in�3N���o�Է���j��,JtfYR
X=O
w�G'�w�$�����a���I�O���(pwn&,
L
�/7���`�
����s�d}��z 
b
o�,7����e��d�6I��+�}l~��S�fg݅*
a���ɻ��/�*���?�\������jĽY���y�$�<���!�����	�?&�u�& �����68+�S+΂�'
�b@�h:*y�Zr�W��	�<F鶿�:
�%)ʓ�q{���0����|@���_�+q'�z�<�	I�~��7DL�`:%�)�'B��y
�,<��L�=�
�!��MvL⡐�xo ��8f��
3�j�
-�B`�bM�FN��\
3A�E�� �4U�B?X	`^9ZA.<B`N
�Ѯ�f��l��͋T48
q�T��C��y|�'X��{ڹUƪ������,��=�2vaOz:<ƹ��C��pS�q;�p� �h�͢���������5#`�j�HQnW+�j
�!�'�u�?�����J{H���^³�����"�0��.����J���
o���`ZF���E�}�>���8ϳQ�A��JJ��7�VP��[ ����l�/�4���u���ӜH=B��~k��D�Ž4ނ
�[���� %�C ���4��qXA�V�vU��H(P��
�}�0]��0
��Y('#�6R!�AE�m��E+uh��3��
-@��I�C�Da��*�k<	��s�-t�A�6S�x�d��2���|��"����^[u�!��gNm6�M
-m��A�v{���}
��]H,;��>��V/�3�Ij�s)�c$C�S�'�A�֬c�!�!`'�C�d2m1����]���N??�q`ఓ۟6�
����
�i��=�qo��%�CDTx��_����zu��9_�ꆘ]H���[�=ރ+�[ �ۄR]�c|9�#�
�9q�EC�"�����
P\���� jÈj8 <�"i�Nh��zvfj&hwf�m��w�}�ۖ���a�z���1^�*��m��i&��	X�.^��
*W;���|���j�
�x�S)�UL�!vL��Ԡ���=�u
�6�
p�D! ϛ�����n�!҉
�1���0D�DF�z8 �6a
�*jHf������SX��=�����(� �3+:�7���� ��F�
��
s`P���}�cjs�Y����D���K02.�$�J;���
�M��¿�8����an+��X���-�-���נ
䨦�վg�x����pV��k�}7%@IV�^�I���4��X]e��D/1k;]_�A3����I��!�N�0��$e�I�?����?��O��ib���o��x5C�%㠀w�BB���*�	ڶ����#��T_�ל���G{`�T�X�
�
�*�|���]��d�9|���
���lg8N�8��%��
-5Hxbm����^�S;l߽􋀖�_��R�u��c��Ȱ��r��
-qŹ��f�xA碜T�-����O�C��[�N�0�v��j�XWݨ]�笰N;D���`�{�Y�c&�7��	�Ϡ��QfS0�ǿ�̧6��cXJ!�2�J2�C�[~3�
���Z�-QU{��{��6F�� �@
(��N^�?��
��#Ԕ|}a}�/��������v���<��H�?���s
x!ot��x�K�3�.�P��B��WU��4��,����fY��3�U��v��}t�[�}�'qZS�o�]������ڮ���m��(�O<�O��#}AW>�r<^ki�
���O��@DF�<Pk�����>N�l��6v�T-�zHn{8�7�2L���Z�N��
�ٵg@�V�5���	}}�f��;CO�fCU[S�
��
����� Oi
Y�m%hH�	�%Wn!	۔v�}&L�e�8r�s/�'a�tOK��7�8��������mk2��شs�4�.���NRb&���n��A
��[�|�p�ޚ��V
�`����W��_E��q!�ܚ��(=�K,��
�}cF�D��?�W'L��Ʋ_g���͗�V_��vs�,�������6:��1GIy{<�o/�XG
-@!h���ow�,�땁����:�2
-endstream
-endobj
-9328 0 obj <<
-/Type /Page
-/Contents 9329 0 R
-/Resources 9327 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9279 0 R
-/Annots [ 9320 0 R 9321 0 R 9322 0 R 9323 0 R 9324 0 R 9325 0 R 9326 0 R ]
->> endobj
-9320 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [124.42 660.753 272.524 671.657]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_787615432c9f1d6aac5a6394aea8cfa9) >>
->> endobj
-9321 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.639 466.653 300.161 476.934]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_25717d92bb71e83e73c686fb6f231efb) >>
->> endobj
-9322 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.144 426.552 182.164 437.456]
-/Subtype /Link
-/A << /S /GoTo /D (main_Expanding_One_Dimension_of_the_Vector_Space_to_Multiple_Dimensions) >>
->> endobj
-9323 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.502 321.153 241.69 350.218]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-9324 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 247.743 163.823 258.647]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-9325 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [486.549 184.355 513.996 195.259]
-/Subtype /Link
-/A << /S /GoTo /D (main_Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension) >>
->> endobj
-9326 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9330 0 obj <<
-/D [9328 0 R /XYZ 90 757.935 null]
->> endobj
-9331 0 obj <<
-/D [9328 0 R /XYZ 90 733.028 null]
->> endobj
-9091 0 obj <<
-/D [9328 0 R /XYZ 277.106 663.906 null]
->> endobj
-9332 0 obj <<
-/D [9328 0 R /XYZ 90 647.191 null]
->> endobj
-9092 0 obj <<
-/D [9328 0 R /XYZ 400.69 429.705 null]
->> endobj
-9333 0 obj <<
-/D [9328 0 R /XYZ 90 412.99 null]
->> endobj
-9334 0 obj <<
-/D [9328 0 R /XYZ 90 158.838 null]
->> endobj
-9093 0 obj <<
-/D [9328 0 R /XYZ 90 136.526 null]
->> endobj
-9335 0 obj <<
-/D [9328 0 R /XYZ 90 136.526 null]
->> endobj
-9327 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9345 0 obj <<
-/Length 2629      
-/Filter /FlateDecode
->>
-stream
-x��ZKs�F��W�KV��ycF��C\k;Y������v� ��� 
����o� �R
���'�{zz���> xv;óWg�]����l���Tή63�g�$HP2�Z�>�	AL/�c<�\<O�]z}��x^n��e�*�~��Ti���΋���y�>�������/	�
FE\$�
��?#�t{�����!���'��ئu�XR��W
M��n�M�̝y�m�jA�<+Vp�!�,���?��>�0�g�J$(ab�ڝ}��gk8��
C����޵�q�`���?��
����Wa�g	��H�삞��xa
[:�E�
-%Xϖ�ł:3�����/�?�KT��;��|�yq����r�"�]�aM`+���9�#곧i��p�[�T@�y��͗}V@@K�����>s���ф7q2�1	A�;�仼���?���1�~y(VM^�(CT�ɼ6�.�_?��)$%�rwɉ@
^BԵ~͍�כCq�2z���#�7�Ue�^{x���™�úш`ю�c�#�h�GcqUuc�s
d��
̑:�.13]{K{�P��m��c�@�D>�wϠ<b�����xu(��
�6�G���H�.�VuļBT��^�A�h7�Ufjg���9(^�:���ْj�vO�\�{�r��l]/m��]�۴�n�ʛ_�U�Fh2�F����F� (�m�q�RDx� �N�|<��KouId��Q<��W�6��"��/5�b��έf
�q�5��q�e�vYo��
�'���.��f}q�O�*�z�S�	홺|��;�D��^�z��ŀ�h�v�D#Ba}�c7f��!to�"K��}Z5y��>���� [...]
���@�����N�p20_.Q� �)j�Q�#�bLı��&��&��>ź4��Q��0��s�Mdaa�"p��0P'+J%��2�����$��-��
-L�l]
ʓtt��ô��}V5_zK�X�v����G�m�ˊ�(�ZPR�y��y�K�1���MU�"Qd��R��S

#�	.O�JԴ4 ��
*p	%@U�J��䡰Ycv�YC �`L�(�
-2�$ƨ������=>(�Gs��E' %�t��T�3m1��Cʁ����(x�m�
e�Y�r.� |`*�C
P&�8��*�C�ःZ#:�f p	?U���DpP�P�
VW�!��ߐ`S,��ej�`�����K��|mE�x2��$cO*������s����H��L�{G����`��F-1���o�n[��nl�O��{�>@���єۛ�)��q���8�Ï�trOu<
x/�1Ğ<��+m9�����.=�\�
g���:��'�(��"ߌ�cYl}�m/NǷ��k�
-���'��I!!O&��F$a'hO�Dȭϧ�!�(	B�Q�D��ԉsG�� -�s�E���^�<���U\D0HZ.��D��3ED���F0� ��S�A>J:(�2Ay� ��
~�r��{Ht.�������9��M
'�bs��8��a9�� �j�@�L���+e|��X��@�XhH�<��F#`D�'������i6z��
_P�80��2-�t`9V�1�
-�h�h漓p�
-4s�'!�hf'4sSPb�&Ӄ
�>*� �U2�5�
@g
���w��M�V��h�i�	�=�d�����`ԩ[�qE����=:h�X��4��B�G�/r at LS��q�
#E�T��[��A���f��Cz�T_��0C���k�>�v�_���
���\���d9�.!��?:�BaJ6�0�3��pbc?um[O
��T���6kl��վ��; ݚ4���&�؟��n 2y����\�ֹ�j��ŀ�/'
-a�<����F꩸����G>YM�Z��+r�����]����/�w����vU�Ҽ2
 {�s%�% �N6��K�)J�G�>{<-��
��8q%
m��J���
-�^�̡��}�H�&��e��	�
�
�'(����
����5��ꉂ%Tx#؆oȀ`��[�	��"��a�	:�咬����o�4��4�1�m�d��ҡ���_ ����A��&_ׇ��18�Q��e~'��w����E���+#8���f����U��7ܢ<4�V����-\ۖ��2�������3&�wW�x���s�8p�ж�gmv���*��{�Qe�a��w��߽�r�,6�b���9M�cu����*Jh�L��
-�FB��/�U��S�v����Y��]g�_Mg�����8����/Tݕ�| �,,�}�e~�nf��ڽ:��%�JY���4������{����Bys��o��n�
-�Zx�)+�
-e�)P8��T�A��
}p=�
-endstream
-endobj
-9344 0 obj <<
-/Type /Page
-/Contents 9345 0 R
-/Resources 9343 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9279 0 R
-/Annots [ 9337 0 R 9349 0 R 9338 0 R 9339 0 R 9351 0 R 9340 0 R 9341 0 R 9353 0 R 9342 0 R ]
->> endobj
-9337 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [452.228 490.681 513.996 501.585]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9349 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 479.349 138.817 489.63]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9338 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.573 479.349 230.252 489.63]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-9339 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [452.228 326.595 513.996 337.499]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9351 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 316.407 138.817 325.544]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9340 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.573 316.407 170.476 325.544]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-9341 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.674 105.465 513.996 134.53]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-9353 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 93.509 154.647 104.413]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-9342 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9346 0 obj <<
-/D [9344 0 R /XYZ 90 757.935 null]
->> endobj
-9094 0 obj <<
-/D [9344 0 R /XYZ 90 700.89 null]
->> endobj
-9347 0 obj <<
-/D [9344 0 R /XYZ 90 687.202 null]
->> endobj
-9135 0 obj <<
-/D [9344 0 R /XYZ 90 570.195 null]
->> endobj
-9348 0 obj <<
-/D [9344 0 R /XYZ 90 556.506 null]
->> endobj
-9136 0 obj <<
-/D [9344 0 R /XYZ 90 406.108 null]
->> endobj
-9350 0 obj <<
-/D [9344 0 R /XYZ 90 392.42 null]
->> endobj
-9137 0 obj <<
-/D [9344 0 R /XYZ 90 208.159 null]
->> endobj
-9352 0 obj <<
-/D [9344 0 R /XYZ 90 194.47 null]
->> endobj
-9138 0 obj <<
-/D [9344 0 R /XYZ 90 89.441 null]
->> endobj
-9343 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9373 0 obj <<
-/Length 1568      
-/Filter /FlateDecode
->>
-stream
-x��Ymo�6��_!`@'5CR�(��-X��+�5
�!-
Ebb���Ir<���(R�e+�Ӹ)�ɒ|<����
%l�Y��e��tt��w��>���b��1J�ib]ۄ ;c�1�'�vT-��ġ�.��\$U4�5���j}~�=�]��Ȣ&-rgL�/�����{q+*���c!U��.����7�����G��i�a
q�Y�bt�[	<ca䆁�j��G]�ͬ���#|�1�"�3�"�ڹF,J0XH+�^��4�@T��.�P=�`�vͺy� ����'W}�83
~��1��$�e�4Q*�UT����#QI����KV���F��!�
a�2b��ΐ��J<D?�*F�5�x�$B֗�F�

-�	�t��x�>".�#p�@X�'���z0*%Z��2�ϯ���]W2YE�QI2����C�bXs�튫R�i����z@�ǑKh��n����ڙ
��$��A	w����)��{�㹈?��"o�4_����I�)�n��e���B%�"N}�41/�ø1��A��o�-����!���#2��`�!1א�r6�2����8���}���dY~J����� ����!���3t:��$E��D��F�E�.�y��R�iP��r�;��Jn�WVŢ[*:eYV8�٫4�S�>`L3q�v��%Y�G�
�P�X������u[��2C�
��T��V�B)	�3u���cp�"��~����Ѭ��7��)�I�L�'��ۜ� {4�
-�Q��.��l�
��~i���k��!��q
-|v(#�!G
�;U�4�&˛,��K���FhʽZ�
P��}'��+��g�r�
-K����Su�'���T�:N�Y�\��:an�p�@Olc&������,�`�~C[
=���U�M��0Q�,�~�k��*%�S��o�H��ǫ�ׯ5�
�ۢT?u?ŋ[]��-�a����Y��3!6�i
ľe�3���^�
�vL�%0��
�����ri%"]�^���h�|��g~���`&A�8pD�|��
-��WN߉ܣ
�)T{�9�<%�P�}��)"J�GW�e-�6 ��fâ����ڠAlYc�f����B�n�G&>,��q���ɐ�y5�Ct�&�&{C����k�0fWK=&��;Ϳȳ��k�}0��͉�d��
-�.iD<�s��s�����w*"���+��K8R�����.�vFa8�xP̢*�dQR�l��xV��X$�s�����12����)˿
��mȪզOȧ��PU�A�Ҝ뀁�^T���̣�d�q�� �eMo|��b�z���_��:�S#ٝ^
��{'��<ߍ'zYj2�M�۵9-�U��#������<�?��qK�~��#n�g��Z�������>��r�����w�h�5��51�S�?�o�Ɵg��>Г|�ݯ>8��/ڏ ��B}I}�`!bl7�֜j�ߘL��<�V��Q7@��^�^��wQ��2ǀr/UA>�ހ�|�'�B�؅\�B;�<�duWoG�д��
�،i�)���V��k��ӲBisV���~_���s�ļ�[�3��%g���+��
-endstream
-endobj
-9372 0 obj <<
-/Type /Page
-/Contents 9373 0 R
-/Resources 9371 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9388 0 R
-/Annots [ 9354 0 R 9355 0 R 9356 0 R 9357 0 R 9358 0 R 9359 0 R 9360 0 R 9361 0 R 9362 0 R 9363 0 R 9364 0 R 9365 0 R 9366 0 R 9367 0 R 9370 0 R ]
->> endobj
-9354 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 471.944 181.845 482.848]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a4b60ce3ac62aee15faac1b5035fdb4d) >>
->> endobj
-9355 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 433.089 181.845 443.993]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_b92b75d150bd5fbfc03cadec75d59e0f) >>
->> endobj
-9356 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 394.235 154.727 405.139]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_4cc725a9fe3bdaded2c131bb8bb47ed8) >>
->> endobj
-9357 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 355.381 165.446 366.285]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a317e5d2d782c3589c48cb3b45d6790d) >>
->> endobj
-9358 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.784 355.381 273.381 366.285]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-9359 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 316.9 150.493 327.43]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_80b9d602f99df76039d58032b20041d7) >>
->> endobj
-9360 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 235.764 218.029 246.668]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-9361 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.527 235.764 250.965 246.668]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_553ae81ae234cedad36e72b32c967e65) >>
->> endobj
-9362 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 196.91 218.029 207.814]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-9363 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.527 196.91 262.043 207.814]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_62827195c6aeacf38a8fb3df6df8ff2e) >>
->> endobj
-9364 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 158.055 218.029 168.959]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-9365 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.527 158.055 290.804 168.959]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_9f09728ae53c8e3dadeb202f28bb6fdb) >>
->> endobj
-9366 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 119.201 218.029 130.105]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-9367 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.527 119.201 266.456 130.105]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_1dd09c87a931132dbee52ea24266866a) >>
->> endobj
-9370 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9374 0 obj <<
-/D [9372 0 R /XYZ 90 757.935 null]
->> endobj
-9375 0 obj <<
-/D [9372 0 R /XYZ 90 733.028 null]
->> endobj
-9139 0 obj <<
-/D [9372 0 R /XYZ 90 691.329 null]
->> endobj
-9376 0 obj <<
-/D [9372 0 R /XYZ 90 676.759 null]
->> endobj
-1543 0 obj <<
-/D [9372 0 R /XYZ 90 595.99 null]
->> endobj
-294 0 obj <<
-/D [9372 0 R /XYZ 90 589.39 null]
->> endobj
-9377 0 obj <<
-/D [9372 0 R /XYZ 90 490.918 null]
->> endobj
-9378 0 obj <<
-/D [9372 0 R /XYZ 90 490.918 null]
->> endobj
-9379 0 obj <<
-/D [9372 0 R /XYZ 90 452.183 null]
->> endobj
-9380 0 obj <<
-/D [9372 0 R /XYZ 90 413.328 null]
->> endobj
-9381 0 obj <<
-/D [9372 0 R /XYZ 90 374.474 null]
->> endobj
-9382 0 obj <<
-/D [9372 0 R /XYZ 90 335.62 null]
->> endobj
-9383 0 obj <<
-/D [9372 0 R /XYZ 90 254.738 null]
->> endobj
-9384 0 obj <<
-/D [9372 0 R /XYZ 90 254.738 null]
->> endobj
-9385 0 obj <<
-/D [9372 0 R /XYZ 90 216.003 null]
->> endobj
-9386 0 obj <<
-/D [9372 0 R /XYZ 90 177.149 null]
->> endobj
-9387 0 obj <<
-/D [9372 0 R /XYZ 90 138.294 null]
->> endobj
-9371 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R /F99 2117 0 R /F98 2120 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9408 0 obj <<
-/Length 1381      
-/Filter /FlateDecode
->>
-stream
-x��YKs�F��W��U�hހk���Ʃ����*�-�˅��M�@
�Z����
���!l��������v�
��2�i:�
I�(�T:�K'Ď/	�8ӹs��8��c�
{�Q��Ώ=��,��V�<:�5�ȣ����~}�.K�OT�q�zc*��.����<Q�*�H�t��iB��|�;�~�<
}
�
vH5�#�	g���ag�p0baଫQ
�S���i����p;@�[,g��S��u�_(�{��s:qQB3�D�(�2S;���p��n��Z��<*U���~��陪?'G>uHr
�Hr�	G!�u<�kU�zi��q��RĦq:KVs5�w�gi_-TY_d��V����j�
.D�^�ޜeiQ�O�
�#���,D8pƜ!"X
�Q
�t��O��u-�:w��"˒��̖
-*��o��I�S�`
|�����0x�$�xB��ʔ/6��R�,Mn�G�j'Z�D�P�U��V������f���d،��a���
�]3�$Ӎ�*�E������o�D��<�	ŀC�(�B�\���P�)@�Y�������i�=r��<8��!��s7Vɼ�mN��6��{��6T%�$!>�qP
-��y�@�� `|o�z)|i�7~���sE��
��qym
$�6U��W샞Ĉrqo�בi_�M-N��B�=
�}NG�@4

�3Y��aI�YxE�h
8b<4P ����&���,l��~�
�� �Q]_Z_h��
)��]�`~x��UѢ�|p?P���-F 3�ل޼�Kv}�
��10�⹗H~�%2ġZ�5�Ǫ\���X*# ���ʀ�D)"F��We'R�U1�㥍g?���w��*�J�����옆�Dm��
��e�(2+�f%
/��Z�FU��������b�﫵g�W�QDBѮ 5�J���;��M���J����_c��qŵǒ�H�{��`��;� �ȃ:,a�I
�zk'r at s��VX]���}�G�$�^��9�O4�2'M�n�
-NB$�#
-S��˪g����(,Ag&�c�@$�s��;h2
�B
�
����=F��m�q�
-�F����~!�&ż�2�E��m�VݷQ&���{ĵe���@È��A@�,�8m<�
@�k����#�%�
r�9S
,��
�Vݷ0�o��9F%��A���rX�}�D �58d��5�~h2 M*�S�	>����IX#Ht�����bX�S���ޅ��(@�wP���9h���=5���Rk���
 B��|\�|a8ñ�
��5?�7c�^g�d��(]ټj(�hS*/������k��1��I)d
�?���8����/4	�6D��,����z�F���x����,��d�a�� u�#��Q��v�8�/����/M�E�
-endstream
-endobj
-9407 0 obj <<
-/Type /Page
-/Contents 9408 0 R
-/Resources 9406 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9388 0 R
-/Annots [ 9368 0 R 9369 0 R 9389 0 R 9390 0 R 9391 0 R 9392 0 R 9393 0 R 9394 0 R 9395 0 R 9396 0 R 9397 0 R 9398 0 R 9399 0 R 9400 0 R 9401 0 R 9402 0 R 9403 0 R 9404 0 R 9405 0 R ]
->> endobj
-9368 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 719.912 218.029 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-9369 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.527 719.912 255.378 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_c8b0d22ea3470020b35240f778c34a94) >>
->> endobj
-9389 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 639.15 180.54 650.054]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_825bf274e880e1c8d51b42d32c69004e) >>
->> endobj
-9390 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 639.15 288.474 650.054]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-9391 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.207 639.15 410.804 650.054]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-9392 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 600.295 178.239 611.199]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_f7184f692efc0672e3213f6be9d5cf4c) >>
->> endobj
-9393 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.576 600.295 286.173 611.199]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-9394 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.906 600.295 408.503 611.199]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-9395 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 561.441 194.507 572.345]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-9396 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.005 561.441 245.695 572.345]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_d1bc9d7804925b15f8205df0b3efc8a4) >>
->> endobj
-9397 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.032 561.441 353.629 572.345]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-9398 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.362 561.441 475.959 572.345]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-9399 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 522.587 194.507 533.491]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-9400 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.005 522.587 233.312 533.491]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_b9da0d811233cfb64481a7fe08b7f645) >>
->> endobj
-9401 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.649 522.587 341.246 533.491]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-9402 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [382.979 522.587 463.576 533.491]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-9403 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 414.546 226.034 425.45]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_f00b427f47054a80d236d124443c580c) >>
->> endobj
-9404 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 414.546 401.773 425.45]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-9405 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9409 0 obj <<
-/D [9407 0 R /XYZ 90 757.935 null]
->> endobj
-9410 0 obj <<
-/D [9407 0 R /XYZ 90 733.028 null]
->> endobj
-9411 0 obj <<
-/D [9407 0 R /XYZ 90 658.124 null]
->> endobj
-9412 0 obj <<
-/D [9407 0 R /XYZ 90 460.798 null]
->> endobj
-9413 0 obj <<
-/D [9407 0 R /XYZ 90 377.226 null]
->> endobj
-9414 0 obj <<
-/D [9407 0 R /XYZ 90 300.901 null]
->> endobj
-9415 0 obj <<
-/D [9407 0 R /XYZ 90 278.589 null]
->> endobj
-9416 0 obj <<
-/D [9407 0 R /XYZ 90 278.589 null]
->> endobj
-9417 0 obj <<
-/D [9407 0 R /XYZ 90 229.348 null]
->> endobj
-9418 0 obj <<
-/D [9407 0 R /XYZ 90 214.777 null]
->> endobj
-9419 0 obj <<
-/D [9407 0 R /XYZ 90 167.573 null]
->> endobj
-9420 0 obj <<
-/D [9407 0 R /XYZ 90 153.003 null]
->> endobj
-9421 0 obj <<
-/D [9407 0 R /XYZ 90 105.799 null]
->> endobj
-9406 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F11 418 0 R /F95 1788 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9442 0 obj <<
-/Length 1456      
-/Filter /FlateDecode
->>
-stream
-x��Xmo�F�~��R
-Ro�/��ZQ��j�$���WU�Y�|4
\y���}ga��lǵ�O�����<��غ���j��bv�R0K")��KKb�qJ�Ed]ڄ �8s�1��
�� _W��v��V*ʃ����<�w����W*�������ԙS��$(����Z��!���PiՄ�6�|���������Ejg��<ƭp=����޿�0bҷ����r)�kb]�~��[7F‚�7�En�9��Y���ag�e�;̳���?b��,-�F��bn?��:y)y��	b
�=���x�"�V�'g.�k�i�Xs�b.��A��f�� y�lm�&�p��
-����h!ȧ����<Vi��'8�
���<$@m-��ù
�$2�(W����|��m\�̇$�BX��Ұ4*�唗�D��Q����]4�UP{�1�f�M�N �r�F�
��Hz~+�&�
�I��QD�����(��Ӭ(�
-� 
�@~��@��ҏ ��si����
P���G
�c����H�][Lhg��x҄{^�i��e��H
�I `��t�w=�K$>
��e��I,�!��W�2��R ����	���QVk��=�\�:���9��润_�p�RmHEfe��Gu�̒$s(��Io�W1��:���eJ��2_�qiv�R>���s@�f��ժ�s/Z�U�\D|�5���P�q��kUn�2As��Z� ��M�{�
�h��4L�HM�"gȓ]�=��=��Ȩ�
Ƒ/:t�<�)҃
�!��W�I
6�z���ʀ�f�Xd?��vh�P��v�|�3G�����i�j����8����f���,�uݶ\-�/�wӣ����2�ꊆFꚌ��ǥjM�E}����{@�}��
�
�s
�o��g�_�飂�4�bX�m����PB��rOT�M��"��}���	�(�݈
�X
I�J༥o�$�&�]����~���N�����g�]���#��ai&>
 #���M
��WﹶQL���1B
-�,���$b$���j��
-݁�A��

ޠ?������m`B�`��b,ۺ��Y�܎�x�IbU
�CG4�
&t=�=����9)��Q���d�}:��@�����
�5>"�C�n
-|���8Qc�~
�n ��Ĝp�R�&���(wC"
m.�Y��A�N�AC��C8+��XE�;���
J���W�s���
���!�h���z:�
Fޕa��I|h�
���w�
-g��_�k��}h�	�XT�Lz�S��Eu�]�=j�qE��n)���UI4��j�U�6KFzڑ�q9������7��{����A��
 ��]�%�|���zO0F:]J�9�y4�d�� �G��G
-����J�E>�FT���lؾP�l���g��{;�Yy�/̼����rszr��nQX�*�79���N
��r�uJ���,�x
^�k�
���P�O�
-endstream
-endobj
-9441 0 obj <<
-/Type /Page
-/Contents 9442 0 R
-/Resources 9440 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9388 0 R
-/Annots [ 9423 0 R 9424 0 R 9425 0 R 9426 0 R 9427 0 R 9428 0 R 9429 0 R 9430 0 R 9431 0 R 9432 0 R 9439 0 R ]
->> endobj
-9423 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 454.319 181.845 465.223]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_8ede6a8a55e35d1c41065b01afac0342) >>
->> endobj
-9424 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 415.465 181.845 426.369]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a303fa28c55c391afe4f067f91db36ce) >>
->> endobj
-9425 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 376.611 154.727 387.515]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_4f7df2a0b66616d7672e562fa8c4e8f6) >>
->> endobj
-9426 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 337.756 165.446 348.66]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_419ea78710f4b45c1542647e1212a3f7) >>
->> endobj
-9427 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.784 337.756 273.371 348.66]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-9428 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 299.276 150.493 309.806]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_0ca2fc9566495b3d4ac6b970a301d9a1) >>
->> endobj
-9429 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 218.14 218.019 229.044]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-9430 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.517 218.14 250.955 229.044]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_af9d682418e536d9a1f6bd24991e1c56) >>
->> endobj
-9431 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 179.285 218.019 190.189]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-9432 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.517 179.285 259.253 190.189]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_f78754c1ef47797c0acbd31cf48f9caf) >>
->> endobj
-9439 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9443 0 obj <<
-/D [9441 0 R /XYZ 90 757.935 null]
->> endobj
-9444 0 obj <<
-/D [9441 0 R /XYZ 90 733.028 null]
->> endobj
-9422 0 obj <<
-/D [9441 0 R /XYZ 90 691.329 null]
->> endobj
-9445 0 obj <<
-/D [9441 0 R /XYZ 90 676.759 null]
->> endobj
-1544 0 obj <<
-/D [9441 0 R /XYZ 90 578.366 null]
->> endobj
-298 0 obj <<
-/D [9441 0 R /XYZ 90 571.766 null]
->> endobj
-9446 0 obj <<
-/D [9441 0 R /XYZ 90 473.293 null]
->> endobj
-9447 0 obj <<
-/D [9441 0 R /XYZ 90 473.293 null]
->> endobj
-9448 0 obj <<
-/D [9441 0 R /XYZ 90 434.558 null]
->> endobj
-9449 0 obj <<
-/D [9441 0 R /XYZ 90 395.704 null]
->> endobj
-9450 0 obj <<
-/D [9441 0 R /XYZ 90 356.85 null]
->> endobj
-9451 0 obj <<
-/D [9441 0 R /XYZ 90 317.995 null]
->> endobj
-9452 0 obj <<
-/D [9441 0 R /XYZ 90 237.113 null]
->> endobj
-9453 0 obj <<
-/D [9441 0 R /XYZ 90 237.113 null]
->> endobj
-9454 0 obj <<
-/D [9441 0 R /XYZ 90 198.379 null]
->> endobj
-9440 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F11 418 0 R /F72 471 0 R /F99 2117 0 R /F98 2120 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9468 0 obj <<
-/Length 1397      
-/Filter /FlateDecode
->>
-stream
-x��Ks�6����ťf*o���6uf�>\G=d
���`�-E*$e���
|���Zi��\l>�]��Ů��[;�G?LGǧ�9
-)I�3�qv<I��ęΝ
���xB0��٘`7H��٘b7�
��<
�~�� }89�
_���չ��<L��
-��YV^�������x��hB��<5����4
}
X
vH��!�	g�]\bg��81�;�b������y7�}�wF�R�������Y���u|*pk
-��3ߙP�d5���3ǹ���u�D��YyzkM8/F���N�<I_���7o?`�gI�廅�mxw@�ѧ�JOL�,�t�4.���$7.3��ԙ��˦c!�t��5�7�� ��I
=ԯ@�M�$J�������
���!II5���B��
�EH�%H��s킣�`΂�Z���
-�H�9t��&�b�}CC�

-�o���*N�������v��Q ���0 ߏ=�:��-����z�\ų�
L��$�CBx��I��8��ȗ��K��m�LY1�ʘ�sY���u���Q�Zї�bObD�؛��.��k8���A�������s*�J9���Z�Cۃ����!� �We ��$ו+��Y���o�B/���-�o*]h#�M
)�P�ԑY>?9I�<����|�_P�[�U�b�
��/v�
R���
,%;�I��"�#����V�re�a�0&�-|Aٓ"����2T�<�jz^�<�
-�W:��Ჲg7T�j��V�Z�k��MP�[�f�S3����m���),3ʈٙ�R�m>kZ�p�����l�8jrB7�T��^.�
6�1����8P��_+D}_�
��6T�leL����ʯ#]T��x�U�{�:f��[�\3�4
vyc�~Zb��a;��~�aa�.���5�#���mOa�5W���I��78QH��\"H	Y��)q9�Ad]��'��0O ��K��:HR
�D���d�;��u
�Q���p�͟�:���!�`b)]�h�2!��[qߦLx�����;�

#�'�& enQ��(����Ф�/��V3xp�X���`P�p�}�As�c��JXœ��2�ݦ�(��4�1`݁�����b M*�s��~���@�],ߛ�n�MܳEl�,}�R���
-(Ի��r��>�
ߍ
#M�3���<m�̈���0u� &�B
Ԕ��J�������`&��S����f�[n�� 
c�SPb�w�lw�;������4J���ABA�}��
@�4��o��὚��h6҅-nϪ�!��$R������z�� ^U�ߠoD�4�#��mC�@�
��}��5���/��z;*�׬�2Ě��.ϗ'�����2���e���x���7���h��Z�Mb��ERE0����)���;�8
-endstream
-endobj
-9467 0 obj <<
-/Type /Page
-/Contents 9468 0 R
-/Resources 9466 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9388 0 R
-/Annots [ 9433 0 R 9434 0 R 9435 0 R 9436 0 R 9437 0 R 9438 0 R 9455 0 R 9456 0 R 9457 0 R 9458 0 R 9459 0 R 9460 0 R 9461 0 R 9462 0 R 9463 0 R 9464 0 R 9465 0 R ]
->> endobj
-9433 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 697.247 180.54 708.151]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_306699ac7d5f2c2c909c3a3baf303009) >>
->> endobj
-9434 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 697.247 288.464 708.151]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-9435 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.197 697.247 410.784 708.151]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-9436 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 658.393 178.239 669.297]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_5740d23d50b9aa7c95e8b6b51242258d) >>
->> endobj
-9437 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.576 658.393 286.163 669.297]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-9438 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.896 658.393 408.483 669.297]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-9455 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 619.539 194.497 630.443]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-9456 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.995 619.539 245.685 630.443]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_6d5d2010157ae8f712e4a3e551d355d7) >>
->> endobj
-9457 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.022 619.539 353.609 630.443]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-9458 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.342 619.539 475.929 630.443]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-9459 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 580.684 194.497 591.588]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-9460 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.995 580.684 233.302 591.588]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_d99eb5124bfcd9c75379efdde73d1a1a) >>
->> endobj
-9461 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.639 580.684 341.226 591.588]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-9462 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [382.959 580.684 463.546 591.588]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-9463 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 472.643 226.034 483.547]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_de82782e3363de460caad677b3583559) >>
->> endobj
-9464 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 472.643 401.763 483.547]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-9465 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9469 0 obj <<
-/D [9467 0 R /XYZ 90 757.935 null]
->> endobj
-9470 0 obj <<
-/D [9467 0 R /XYZ 90 716.221 null]
->> endobj
-9471 0 obj <<
-/D [9467 0 R /XYZ 90 518.896 null]
->> endobj
-9472 0 obj <<
-/D [9467 0 R /XYZ 90 435.323 null]
->> endobj
-9473 0 obj <<
-/D [9467 0 R /XYZ 90 358.998 null]
->> endobj
-9474 0 obj <<
-/D [9467 0 R /XYZ 90 336.686 null]
->> endobj
-9475 0 obj <<
-/D [9467 0 R /XYZ 90 336.686 null]
->> endobj
-9476 0 obj <<
-/D [9467 0 R /XYZ 90 287.445 null]
->> endobj
-9477 0 obj <<
-/D [9467 0 R /XYZ 90 272.875 null]
->> endobj
-9478 0 obj <<
-/D [9467 0 R /XYZ 90 225.671 null]
->> endobj
-9479 0 obj <<
-/D [9467 0 R /XYZ 90 211.101 null]
->> endobj
-9480 0 obj <<
-/D [9467 0 R /XYZ 90 163.897 null]
->> endobj
-9481 0 obj <<
-/D [9467 0 R /XYZ 90 149.326 null]
->> endobj
-9482 0 obj <<
-/D [9467 0 R /XYZ 90 102.123 null]
->> endobj
-9466 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F11 418 0 R /F95 1788 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9511 0 obj <<
-/Length 1508      
-/Filter /FlateDecode
->>
-stream
-x��Xے�F}�WP�*���\6�<�ɺ��N�V��.
�2 +�ק��N
��E��==}N��`���γ�w���:`N����|�D�A�g�:�.!ȧޔ`��_=�ݸ��ů
�n�ޯdZŋ���*��WWǟ=�e�M)���u\���\J�?Y$�2?�.
��f�|��|�vB 3��	H0�$���
vR�����E���V��Sϵ�j��_�e�0+�(�vfu�^]�uc2�so��}�
0���⦬T��kB��
!�SU�}����ƦQ�&�1��FӾ?�!
-���#�
-o

�t�nRuc�o!Y<���F��&S���p(����7"L�X��0S�D(�3�JG�V��R���������@���/�f�m
e��s�"��۸�4�i�lsY4v�����f�Y
-&6�4��˽,�@2��U����
�^�
��.+�ͧ�ӵ���m�� �,t� ����5��ou;�@��f�V��Φ^T�
�|DB��8�
��A���Z���+6����#ܕ�ϟ������f��WY����
i;ΐ���z2
tR��%��a
�A��oG�?�(���b%�L�PJݻ�V�Vuo��FC
L�-P� =�>B���
�2.ҏ��˧�i�9G
y~d4����("Q뼽[g�v�	��od݋3(f�T�_n���ry~֚�%X@;�&L2h�^��n��m�F����kA�f�V�_��G��Z� 
�����FƖ�ath�n��=(��EC�|�g�������w�-%��h`�&��qw��[%��4ϗ���L��~��#�s�
�z3��J���(��%ir_C�c�A��ĉ\t�C�Q�X�l�����NYA�
Xa�r#�mu�d�Pu�������L�VKu��'h���cV��hp�H
�
-�.�����G�S/�ڦ?
���N<�{��/��	��܊��x�]/��A
Y3�
�����0xl�ɖc�$p�_ 
-�e at Z�v$�M���2�W�2X�aKas�<&�!}/�q�	[qB�<��I�
!��<f����c��c&�]����3Xk^��F�c�xt9F�Ũ?��%ѪM�Ŭ���{dgW��ba��5����Y���_2]|ն}�˚��y�ǝ�n�4.�1׏���{�9g�տ��
Q��{
�{��*-]c�z�{����_L��IW�D ������h�W[u�
��Z`�
��<jH�v��f���Ӹ�MV�
B{�b��M@!8Y�ͬ/�����V�O��pbBc�
��#��Y�*���f��3
�>��bf�
-	� ���L���>n@e�@%1P������U�:ʨ
-A�0����Z�ﺛ��4Ź�ui�k
�1�3�B��d޵�>��U��b�n	P$Xh��y�8ކtS����2���ʼ�^��ku�k��E\ ��b��C9ᨅU4D 
H�+ٞP���p�_?Mt=��P �����fs5��v;��h[d�
-e�l�Y�No/���.Hw�����~V��\_H����
�M�
-endstream
-endobj
-9510 0 obj <<
-/Type /Page
-/Contents 9511 0 R
-/Resources 9509 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9388 0 R
-/Annots [ 9483 0 R 9484 0 R 9514 0 R 9485 0 R 9486 0 R 9487 0 R 9488 0 R 9489 0 R 9490 0 R 9491 0 R 9492 0 R 9493 0 R 9494 0 R 9495 0 R 9496 0 R 9497 0 R 9498 0 R 9499 0 R 9500 0 R 9501 0 R 9502 0 R 9503 0 R 9508 0 R ]
->> endobj
-9483 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [159.289 553.329 329.928 564.233]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-9484 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.591 553.329 513.996 564.233]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-9514 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 541.374 136.934 552.278]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-9485 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.279 486.514 192.296 497.418]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-9486 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.794 486.514 258.726 497.418]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_5dfef947c46e234a1ffd4707312332ec) >>
->> endobj
-9487 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 383.834 190.738 394.738]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-9488 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.236 383.834 261.85 394.738]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_43cd840b1ec99350c222b3f217739cea) >>
->> endobj
-9489 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 346.972 190.738 357.876]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-9490 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.236 346.972 262.159 357.876]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_97ddb3b93ac699eebaca7e79f691b0ad) >>
->> endobj
-9491 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.225 333.347 390.082 343.253]
-/Subtype /Link
-/A << /S /GoTo /D (main_Affine_Independence_and_Affine_Dimension) >>
->> endobj
-9492 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 310.11 226.443 321.014]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-9493 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.183 310.11 282.343 321.014]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_7b8d597a3c23af1fce9d8d3e1d36e11d) >>
->> endobj
-9494 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 273.248 226.443 284.152]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-9495 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.183 273.248 329.944 284.152]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_b7a35f8df974c9e932df6291754859fb) >>
->> endobj
-9496 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 236.387 224.76 247.291]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-9497 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.499 236.387 278.986 247.291]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_2bf7987a6ee3547c1e125e83e432ee2a) >>
->> endobj
-9498 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 199.525 224.76 210.429]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-9499 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.499 199.525 326.587 210.429]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_e1c5216e2ba5c80d77e128daea25b46e) >>
->> endobj
-9500 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 162.663 209.547 173.567]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-9501 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.045 162.663 261.831 173.567]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_6fb94f0e966e97bfb9dcf43dddcf12ba) >>
->> endobj
-9502 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 125.801 209.547 136.705]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-9503 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.045 125.801 309.432 136.705]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_c6ea1802e6a6cfb32e5af6d6d26eb424) >>
->> endobj
-9508 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9512 0 obj <<
-/D [9510 0 R /XYZ 90 757.935 null]
->> endobj
-9513 0 obj <<
-/D [9510 0 R /XYZ 90 733.028 null]
->> endobj
-1545 0 obj <<
-/D [9510 0 R /XYZ 90 640.14 null]
->> endobj
-302 0 obj <<
-/D [9510 0 R /XYZ 90 633.54 null]
->> endobj
-9515 0 obj <<
-/D [9510 0 R /XYZ 90 503.585 null]
->> endobj
-9516 0 obj <<
-/D [9510 0 R /XYZ 90 503.585 null]
->> endobj
-9517 0 obj <<
-/D [9510 0 R /XYZ 90 424.725 null]
->> endobj
-9518 0 obj <<
-/D [9510 0 R /XYZ 90 398.912 null]
->> endobj
-9519 0 obj <<
-/D [9510 0 R /XYZ 90 364.073 null]
->> endobj
-9520 0 obj <<
-/D [9510 0 R /XYZ 90 327.211 null]
->> endobj
-9521 0 obj <<
-/D [9510 0 R /XYZ 90 290.349 null]
->> endobj
-9522 0 obj <<
-/D [9510 0 R /XYZ 90 253.487 null]
->> endobj
-9523 0 obj <<
-/D [9510 0 R /XYZ 90 216.626 null]
->> endobj
-9524 0 obj <<
-/D [9510 0 R /XYZ 90 179.764 null]
->> endobj
-9525 0 obj <<
-/D [9510 0 R /XYZ 90 142.902 null]
->> endobj
-9509 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R /F99 2117 0 R /F97 2175 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9565 0 obj <<
-/Length 1561      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�6~���S'	MR�.}\��: K���� ۴�MO��z�~�7�9�7i�<�l^����ᡰ5��u������V�"����؊��1J�����&y�9'c��!�N�<��
��2[N��J��J��۷�?;$���9�
�YRתx��\�Nj!�~]�g���͇޻�޿=�a�HKX��Yü��+�F��
#7
-����[
u�;�>���a=+�:;�WfGH�|hPa��)~�����ڋ�6���g}>g �e���K^�*i�*�����o*�=M'�i��HW���Q@
ˢn6�V����B���9Q�|�X %��@M�7�А'�k^��zl�\�R+�e�
;���$�
-�
�la�l�:M�3m
�sc|G�{B��H��?�?
��K�
-�p|Q�5ϒ&�e|蕮
/�f�
�Uxw�s!�TIZ4]��>�W��
�j��7������oZf�����o��fF�<f+���h� y�B��/0vU-P��Z
�q`�4ӴVu֧�"PhS))F�HLw4���r��;v
������KB��|N	/x�`�?�Z�����w��n[�:��1��ɉ��ȥ�y��'y�j.c�N�{4��K׼�6����w`�O�
�i�
�2��i
�|�,�(J���ň�~�
�t�7R
��^)�l�J��6+� ��?��!�h�01�f��������0
-'�'�:ƿ
:�ٷB%yU�':	�DW�
-�,�7%�SN�a��3�ʚ�^��#��@N��j���5ԼY?d��-�EU�%�o�r|n�����b�x\��#��+��� ��DZ/�eb��nC~DM�eG'�
L'*�R��
ɭ�G�c{�QGrkX�*�C�G"(=��j1(���u+9ܡd�^b�<Q�����&I�:�����*��;�b�>��
�6F�Oj"Z�%ڞ�gT��k��٠��;S�;��9�ؗ�d�u� ��H�T'N2<֩�Ɵۤ���p�ߒ��ĩу�+����
%���a�
-`,8U�A�`-C�8�uF}D �pL��ݷY��:��Jm�*/�}
fu�n��
���?ġ�
NF �s3����`��i4j�Ӱ��X6
-_,�01
- .ғ
�\�y�M^'o�vIt�D{�'*����=
��}Q�X 0
�|;*�
��Y\��;��H�4:sd
�8��C`<��|��	�<�"
"�{����ݿ�D\������Rw0"����f�j̢lT�d��i
ga����A�V2<��d1�ʾ" p������O���Ĩ��9�b���5�4
���[X^ߨ(>19�6��T�r����%���mh���
=�%�Gog�r���u
9{���WzF�O�����i�JAS���]���C�^��Tg��ײ����2��Z���J�;��K󦥏��
�{�0
�t����u%��U�1W�Q�I�
��y��Ø�g�{R̓�iC~s����L!�ƈ�U�@b�V��Q[5�,S��'1�����o�&��M3{��/
4�ѼHgJ��l���`ۘ5��N��)/���?��E�-���
��
-endstream
-endobj
-9564 0 obj <<
-/Type /Page
-/Contents 9565 0 R
-/Resources 9563 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9388 0 R
-/Annots [ 9504 0 R 9505 0 R 9506 0 R 9507 0 R 9526 0 R 9527 0 R 9528 0 R 9529 0 R 9530 0 R 9531 0 R 9532 0 R 9533 0 R 9534 0 R 9535 0 R 9536 0 R 9537 0 R 9538 0 R 9539 0 R 9540 0 R 9541 0 R 9542 0 R 9543 0 R 9544 0 R 9545 0 R 9546 0 R 9547 0 R 9548 0 R 9549 0 R 9550 0 R 9551 0 R 9552 0 R 9553 0 R 9554 0 R 9555 0 R 9556 0 R 9557 0 R 9562 0 R ]
->> endobj
-9504 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 719.912 224.481 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-9505 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.979 719.912 289.497 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_cb75fd68aa10bd15e590e8e8954c5002) >>
->> endobj
-9506 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 683.05 224.481 693.954]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-9507 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.979 683.05 337.097 693.954]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_0d69bc8c9bd9843262551c7e3e33f5a2) >>
->> endobj
-9526 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 646.189 205.692 657.093]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-9527 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.19 646.189 261.312 657.093]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_9f3c5474494eb306717bc3da7c109307) >>
->> endobj
-9528 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.65 646.189 332.156 657.093]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-9529 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 611.319 205.682 622.223]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-9530 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.18 611.319 261.302 622.223]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_0514c2e57ac8154666e9fe6bb56c0e18) >>
->> endobj
-9531 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.64 611.319 330.462 622.223]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-9532 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 576.45 205.692 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-9533 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.19 576.45 261.312 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_6187dbe974649c7bd4de8e66f70d3e46) >>
->> endobj
-9534 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.65 576.45 338.781 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-9535 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 541.581 183.824 552.485]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_d909d5b60cab5d1a6816577c97b60fcf) >>
->> endobj
-9536 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 505.093 192.272 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_8c33b9ea975535b5aa0882241cf78986) >>
->> endobj
-9537 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 467.857 241.935 478.761]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_8ed700f662722cbebdc9328344ba2839) >>
->> endobj
-9538 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 430.996 213.163 441.9]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_c251eb38d1b24b8b570d874ee11df424) >>
->> endobj
-9539 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.501 430.996 288.431 441.9]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9540 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 396.5 189.901 407.03]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_0d9abbf681b7b0724963d97596286ae5) >>
->> endobj
-9541 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 359.638 193.229 370.169]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a0ac997a15935821583174de968e5bff) >>
->> endobj
-9542 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 322.403 238.459 333.307]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_bbb7562de97ccf13bd97b57bb5e3ac94) >>
->> endobj
-9543 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 285.915 187.689 296.445]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_e3be29eddce8f41019e7dcb731c8ba7b) >>
->> endobj
-9544 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.505 285.915 226.693 296.445]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-9545 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 250.672 228.895 261.576]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_f740303d5461c838735ec53c5c1f8855) >>
->> endobj
-9546 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.232 250.672 333.482 261.576]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9547 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 215.803 229.503 226.707]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_31d70a625e092dfdaed4f3232701f35d) >>
->> endobj
-9548 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.84 215.803 334.089 226.707]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9549 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.98 180.933 187.264 191.837]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_c5c7acc50141a9104ef5b9b7598c1438) >>
->> endobj
-9550 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.963 180.933 293.213 191.837]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9551 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.131 180.933 371.148 191.837]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-9552 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.711 180.933 455.727 191.837]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-9553 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.98 123.15 187.264 134.054]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_e680437fdc213b7174c581caa2e0c0d3) >>
->> endobj
-9554 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.963 123.15 293.213 134.054]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9555 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.131 123.15 371.148 134.054]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-9556 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.711 123.15 455.727 134.054]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-9557 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.235 111.195 220.058 122.099]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-9562 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9566 0 obj <<
-/D [9564 0 R /XYZ 90 757.935 null]
->> endobj
-9567 0 obj <<
-/D [9564 0 R /XYZ 90 733.028 null]
->> endobj
-9568 0 obj <<
-/D [9564 0 R /XYZ 90 700.151 null]
->> endobj
-9569 0 obj <<
-/D [9564 0 R /XYZ 90 558.682 null]
->> endobj
-9570 0 obj <<
-/D [9564 0 R /XYZ 90 521.82 null]
->> endobj
-9571 0 obj <<
-/D [9564 0 R /XYZ 90 484.958 null]
->> endobj
-9572 0 obj <<
-/D [9564 0 R /XYZ 90 413.227 null]
->> endobj
-9573 0 obj <<
-/D [9564 0 R /XYZ 90 376.365 null]
->> endobj
-9574 0 obj <<
-/D [9564 0 R /XYZ 90 339.504 null]
->> endobj
-9563 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F99 2117 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9621 0 obj <<
-/Length 1735      
-/Filter /FlateDecode
->>
-stream
-x��_��6���)x��X'	$ 3}h�If�d��OI��a�fb�
�
��w��1��w8�v�	!��J�i�+�����7�_oz���c(�[7c+���	b�X7#�Mri@0���>�v����>�v:[O�(
����,��/_ֳ�ķӤ?�
�W�0�u�
�M$� ��˙������m��M��
ͰE�&�C�ìh���[#�ka���R��K
xά�ޟ=lz��z�p���x���PD0�]�L)S���OݿMәɗ�e��GU�	�=��x
�#�����?c��4ɋ�"�ʼn��o�L�y
#�#���O�
E�.�_��R߾JŸO��i��hS�"N���񒨖4z�W5��|�r� Lcz�/�`-�0.D�Q�퉻|�Q�p�Ys�
GA���(�Y���@4��v �
U�ȖB�I
�NY(
�F
���d� ȳ�΂O�v�j�>b�-k��8-z����8�_�\����VC��z��n�r�����$��Fn�e2��c ����|�te���t? �8��`xH%�l��&�N�i
I짊���x�q
�F�B�TLM"N$���~�
g��K^b7_,
1B��m�2
Jw	<aā�g���
ǁF崾���"͚�ɏ�g��lv����ɕ	�X�qR��j
-���٢���}��1�xYF�
-���X�ش��
aI�!�w���f
a��Rs�
ae����5~jѯ��K;�==b��߿����Z�u.̢g���|ʻY�55���
���[D1�T�Oe#��G��2�Y
������������n�f�<�<hQ����+�����PRuuG�"�:�ms�v̟�*^��ⱨg�
-���k^M����lg���]��aR�-?�8�[�}F���1�����>�k��E���s�(/T�%
��2���d��ߋ�-���eP#/����}h at z�����Ֆ3�z���\v
wJp<:�E8
դfa��؞`n�
-��C��(�r:�ta�1
��̤�P��X���vѲT�QJU�H��B�5�Ww
��f~�JN�*.����f"���J�z�嬐3q�)�a]��m�`����g�~<�v���;�8�YA�-��PP}$h����l"7 ���u�E5�+�d�5zj����a�<�������<,���U�ue��"y��MG�C���M ��V��d��&��ek�7i
�I����
7p�1��-�r��c�I�Xh��2��>#�#'h
�&(�5�	���p�j�@��Dӷ��ѝ	;�er��C��
��fr;�	Ϗ+���*\���ߋ+��މg����yL��W����6�2�+o�����
�L�/o�jt,�o���Dqf���3�Ǜ�.�
z��>�k�e��?�7u���и;�+�e�c������d�&
-�]P]
Dmlaǭ;	[��N�LkMx���a�ts	�"oӓ-7U�^�J���g����կ�}<�w=
��P1�h&��v���H�?�,�B黈m��v&�L�<X�~���S�_��(����

��>�NB�q������x*���.y�g
���
#y6�g��r_w����
�㛟YY���Qj�l��`escVʛ^�j~g�/�"��Nt^^F%��\�I�(�m��0?�j�?p��E����W�L��S#�ї�
r6�?-������j��
-�x����\,f��w\5)��y��qj���iV�B�<��m����/�F̏
-endstream
-endobj
-9620 0 obj <<
-/Type /Page
-/Contents 9621 0 R
-/Resources 9619 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9623 0 R
-/Annots [ 9558 0 R 9559 0 R 9560 0 R 9561 0 R 9584 0 R 9585 0 R 9586 0 R 9587 0 R 9588 0 R 9589 0 R 9590 0 R 9591 0 R 9592 0 R 9593 0 R 9594 0 R 9595 0 R 9596 0 R 9597 0 R 9598 0 R 9599 0 R 9600 0 R 9601 0 R 9602 0 R 9603 0 R 9604 0 R 9605 0 R 9606 0 R 9607 0 R 9608 0 R 9609 0 R 9610 0 R 9611 0 R 9612 0 R 9613 0 R 9618 0 R ]
->> endobj
-9558 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.717 708.953 186.348 719.857]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_d914801461cad05325559e95b9c4d9c6) >>
->> endobj
-9559 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.523 708.953 293.772 719.857]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9560 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.35 708.953 373.367 719.857]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-9561 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.82 708.953 456.837 719.857]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-9584 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.717 651.17 186.348 662.074]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_6e73a7d462d6a9a3891fff6c4a923495) >>
->> endobj
-9585 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.523 651.17 293.772 662.074]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9586 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.35 651.17 373.367 662.074]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-9587 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.82 651.17 456.837 662.074]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-9588 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.581 639.215 218.404 650.119]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-9589 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 593.387 180.496 604.291]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_5df26655af3ae7844569d7086edf8332) >>
->> endobj
-9590 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.834 593.387 255.764 604.291]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9591 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 558.517 213.153 569.421]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_c2182f38e9f8acede601c3dcfa71c3b3) >>
->> endobj
-9592 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.49 558.517 288.42 569.421]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9593 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 523.648 161.677 534.552]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_13f15417d90174f6c2d3648e83d9fcf5) >>
->> endobj
-9594 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 450.607 205.752 461.137]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_0a5c586d872f15baf7fd70941fc16c41) >>
->> endobj
-9595 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.089 450.607 276.595 461.137]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-9596 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 415.737 267.938 426.268]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_1c64e09d6022054690f7d2bdf4e02138) >>
->> endobj
-9597 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.275 415.737 338.781 426.268]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-9598 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 380.495 204.078 391.399]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_5d53d09dcc839672fedd4ab5d4142d57) >>
->> endobj
-9599 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.415 380.495 273.238 391.399]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-9600 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 345.625 266.264 356.529]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ec640128c6492defc09c4d6ad5d3ea19) >>
->> endobj
-9601 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.601 345.625 335.424 356.529]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-9602 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 310.756 212.377 321.66]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_7df62db3bf13024d4ee9f8aaf0d27dc6) >>
->> endobj
-9603 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.714 310.756 289.846 321.66]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-9604 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 275.887 274.563 286.791]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_eb30e6558c9efffc62d5765b3bfe5e4f) >>
->> endobj
-9605 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.9 275.887 352.032 286.791]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-9606 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 230.059 209.627 240.963]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_f60c3f345fb8ec8c708e49e8fa33f737) >>
->> endobj
-9607 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.964 230.059 314.791 240.963]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-9608 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 184.231 248.202 195.135]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_4f9a47ba1b29f1e07a32542584d50686) >>
->> endobj
-9609 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.018 184.231 329.845 195.135]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-9610 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 149.361 271.813 160.265]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_304e74729ca34fc67648cbc995e1dfc7) >>
->> endobj
-9611 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [299.15 149.361 376.977 160.265]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-9612 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 114.492 310.388 125.396]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_e6eef0ed4aa8b3690f01f774dd0722fc) >>
->> endobj
-9613 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [314.204 114.492 392.031 125.396]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-9618 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9622 0 obj <<
-/D [9620 0 R /XYZ 90 757.935 null]
->> endobj
-9619 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2117 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9671 0 obj <<
-/Length 1663      
-/Filter /FlateDecode
->>
-stream
-x��[��6���+xJ�L��	�[�i2��3��/IƃA�ej�
8���	
^��1��M�	,d�\�st$����֛ѯ���ׂY>����c�qJ����`�
:���}>&��e0=Sl��͵��`�G<˂l��e�yL<;M�ʱ�j乾}'�d�L&��q�#��<6�t�v�����ɰEJI��\ƭp9��	[���0b�gݔ���C\���6Z�v
7�#�E��R���Zŏ��r��և	u?��đy�d��F�we/�PEӹLdi�z|�
�i��zS
2���\v
�b��h������v�偪�Q�R��C�	��ƙ�D�rfv�.���F7�W�Z\K�h���Dn+��o��8Q 9�1!!
q�r�y���dY��V]�tg�\�ݒ�C
R�}�9|�9�R���#ƬCX	��:�a����M\\��BϾ��x�'s-�Q��٘���׋B�
-u:k���1�Å ��C��PYo.�!������@ڞp�K"<�$lȄ��D�LZ$6��I����;��!��ˇ!�r7�0{�Ħ'��9"�9��Y�.�I�� ��Fl�$r�RA_L�l�����!�#���v���|0��fIaʇd�'G
�s��1)���
�ZCڛgkU
�RM��Gه^8{�S�F�U�Jܪ����Z��HT�u�v��!����Q�a���H�o�WF��b���$����
-�/AX,6���oe�I!#�s�Q‽=�<O�
F>��$f)ZU{-��^�Hz�?�K�
�Zߟ)��(��l}�_��: s��
-�zeO�z��B��}�
-�hA� Z����� �+���h�&h�
4�+��,��ٝ�
��m�Kv�#��
-���ۧ��3	�������iY\dA���{y����\�u��u(wOF�]��|�wq��֮M�L[��v�:� ܽp'�x��A<�������>�I{�OHc�]:<�qg����?	>|���@�A2���1�gN�t�N)��&}0p�Z����8C��G�>`?���]
�!Α�4J�^t��\��Yv1�I�CrEg�������1!��8�-:W!��=;�W�r�.�������f'Q+7�A���R����)��C,.�FE����+F�T_�U��H`��Q��In�7Fī��
d]p
D�F�ϸcy
ϓ��Vs�1�*�Z��v�P���]�����Dy�8 ]�B!�^�H�39mL)�a��;����8 8�0=��AṀ�
ڎ
5k+6��*6*�ʆ\�J@ݠ�F5�Q�w��˛ը��ـ2�v�6�-�t�  ���٦6b�g�j
tŘ�$�߸���4��ГY>�L��N�ssZ�v�bs�9O)\��G
�4b����9)MU������R�c1��
AuEG¯�l:F�h
�᲏��X8IM�|
�=�_�i�יl� ��X��d�W�
,����G��
F� ��H��uz�^,
i�}$\*3M��� �]��3�
O-��~
-@$�
�mt�-4�z3����>��V��ἔ/[�Ӏ�>��|���e�Ә�꫞?�d
W*�?�� _�	�NQ�1bi�
Y�l��?Vu�����V^�t!����(V/��nnnP��u�2g���e�
�	q�[r�f��iVgJh\���-��� ��
-endstream
-endobj
-9670 0 obj <<
-/Type /Page
-/Contents 9671 0 R
-/Resources 9669 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9623 0 R
-/Annots [ 9614 0 R 9615 0 R 9616 0 R 9617 0 R 9634 0 R 9635 0 R 9636 0 R 9637 0 R 9638 0 R 9639 0 R 9640 0 R 9641 0 R 9642 0 R 9643 0 R 9644 0 R 9645 0 R 9646 0 R 9647 0 R 9648 0 R 9649 0 R 9650 0 R 9651 0 R 9652 0 R 9653 0 R 9654 0 R 9655 0 R 9656 0 R 9657 0 R 9658 0 R 9659 0 R 9660 0 R 9661 0 R 9662 0 R 9663 0 R 9664 0 R 9665 0 R 9668 0 R ]
->> endobj
-9614 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 719.912 207.953 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_9a45b4b8f148a20359a2f3e2b1c2cb2d) >>
->> endobj
-9615 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.291 719.912 311.434 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-9616 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 685.224 246.528 696.128]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_b1b315e7f04c051a36f48d344dd34052) >>
->> endobj
-9617 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.344 685.224 326.488 696.128]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-9634 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 650.536 270.139 661.44]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_be643d7919aa34a2c1112702878f5536) >>
->> endobj
-9635 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.477 650.536 373.62 661.44]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-9636 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 615.848 308.715 626.752]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_7a8abcefdfb125b7c9ef5f96d352c1df) >>
->> endobj
-9637 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.53 615.848 388.674 626.752]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-9638 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 581.16 216.252 592.064]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_96e902093a55f87f0aebc2bb13a8d740) >>
->> endobj
-9639 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.59 581.16 328.042 592.064]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-9640 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 535.513 278.438 546.417]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_7e4bbfa6f481ead40e3ca6231e0f69be) >>
->> endobj
-9641 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.776 535.513 390.228 546.417]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-9642 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 489.866 254.827 500.77]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_3569a428ad758dc9ac8273e0f1f77772) >>
->> endobj
-9643 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.643 489.866 343.096 500.77]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-9644 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 444.219 317.013 455.123]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_2aaf9117efebc52a8b45b787075a9647) >>
->> endobj
-9645 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.829 444.219 405.282 455.123]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-9646 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 398.945 236.745 409.476]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_d6a8cc7029bad7ad7ad116c90ff59aec) >>
->> endobj
-9647 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.082 398.945 307.588 409.476]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-9648 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 363.884 243.37 374.788]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_236a18fe8cc922d00ee92a6c6e42f923) >>
->> endobj
-9649 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.708 363.884 320.839 374.788]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-9650 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 329.196 240.62 340.1]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_bfd98397c137d81dcc27111fba3ccd54) >>
->> endobj
-9651 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.957 329.196 345.785 340.1]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-9652 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 294.508 247.246 305.411]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a26e1a5815b7a0c3b610395c854594bf) >>
->> endobj
-9653 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.583 294.508 359.035 305.411]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-9654 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 260.193 193.577 270.723]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_3c1e5a2419a5f4a5cf89133606ed1680) >>
->> endobj
-9655 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.393 260.193 232.581 270.723]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-9656 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.059 247.282 248.845 257.187]
-/Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-9657 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 214.546 193.577 225.076]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_9ca6b6eed07fd3b72119b8ea58328e5e) >>
->> endobj
-9658 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.915 214.546 277.691 225.076]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-9659 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.892 201.635 252.677 211.54]
-/Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-9660 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 168.525 223.465 179.429]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_8132d1a9b329271fb4f7faeb59c89c39) >>
->> endobj
-9661 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.802 168.525 298.732 179.429]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9662 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 133.837 285.651 144.741]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_1956a63a72283d208851d3fe2b11989b) >>
->> endobj
-9663 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.988 133.837 360.918 144.741]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9664 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 99.149 215.176 110.053]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_4b428098e57a9101473a54cd71a0753f) >>
->> endobj
-9665 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.513 99.149 290.443 110.053]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9668 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9672 0 obj <<
-/D [9670 0 R /XYZ 90 757.935 null]
->> endobj
-9669 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2117 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9738 0 obj <<
-/Length 2569      
-/Filter /FlateDecode
->>
-stream
-x��Ko�����<�J���
��N����xs�]�E[D$J�${�_�*6I�)R1�A�bYT������G�4x
h�׫��^]��"p�i��ۇ���hFg��,�<b�H>�0J��Ø�Q�.��1����e
��p�s|��������1��U2�pEG?,�����1z��ߢ�>�Bj5V������۫�\1Ќ,�Db�
-�W���
��P"�
��V�@r�����?�h>���l��
��1C4H0�ɜ򯜫L����D���V�E~
�KsE?f-ppk�t�[,�0��1���l���x�7���~��ޯ������M��
B޽�V����~ox`a�Z�p9'Z�`��"�3M��ٮP��{���X
�q(��Vm$��m��x��T{�־Q4.�6A�����`
P!���ASD���K�ED���^�|���1�d1�t,�(��[�8E�����	s�)�	g0.uzi>e/��^F��:J�w�
�J�@�ҚDp��)\��
7�Ɲ�Jf]�gԢ3���
a�L�Y�0�jdC��A۾���i�	Z���6�#,��c���M2��'\��1��8��d�_x܅�$t���Y9W��]T!N4;s
��3J
ɕ7����r��
h��M�\/⇗�nf
-&�F�<�l��8��G�e=6��ڴ�0�Pl�cU�Q����]�O�k;�����6n0	����@=��x;��˵]G�[�ka�JJ'�\�Ҍ���D8	
K=
��&j������7��nwi;ǻ����
��)W���.Ű�S�360иH 
- at F���e��蕻q�)	�Ȉ�
e�FI4���㑫†�
[E��5f�AJ�w��ۅCm�
�c���f|Ա��ϟ�$
-��_�i;�x��w� �C�?��r\�q�l��4��������$�K���D2��ܘi���O�,JV���*�ӱ�U�U,}��pS��Ś�")�Z�'�>�
*f��D�
��e�k��
�3��
�pB� ��_R��b�l�\��]�o7��
�댉���`y��"We�-:g\��x�Z�cyT K�UTD�-��ޔd@ f�.¤��E�$�J"�;X�M�u�dH{�(td��� X at +�B#�����ր%����	,lT��6��
m��8ä0N�~�����	c��$���FnYJ
g�#�Vf�y��[x��~9�-��nYm�!�*=7pKP�pk�����c�Di��<wZaX#��U� 
;� �D!F�E�$L?�,����K-6/K,B��d
:� a��T���
T�}�G[�5a�3՝�>�:��
.��K*B�\�<�E��
�+;�upxݓ�׆�M�%� ^v�8�ba��p�4�ʔZ>��8�D�Ic�Q	'
-n��|Jin<[�.9֬Z�13lt�K�!*U��DgxqՃ �
����QbA��ih_�Q²��e>�>KYV�e JH\�5��E����P"]-�}��%�����{�S1L�G *����
-��z_���3��~5;�Sd�̕��GT���_�a���h��
A[0
�%� ���
�V]� ����h��
�}�
ZC��h9+�}k~Ax��x �> �����[�>#]��6{-��nhm�s at u*��@���s����:���9C�5C9H���
�6 �U0�ā
-'�BK
��Y�q�{(D1C�0����9�,�����D?G�ڌ@AT)�P�
<�5>� �wR �
�٧�h]�7'܁0��
���
`���5��S�����0!��Pc��2>L�l�����zȮ\KȮX:�y�^��A
k��]K�w�"vh�?b���a16ٟ�tF�|Y+���Jm���&����
>��I¦���k5�o�������2
v%Ώ��
@T��8JY
@�Lw�@l	w{
e]*
-�G[pD-'O��aN��0b�y�:>�j��q+h4
�+yF
-����l��?�>.�����;k�hB��HG�d=������/#aO;w
#�(%|�R�r�=�+t�����ꁘ���dxS'ɰѻ�ݴ��'�����Q�o��,X�Îj�#7ek!�8�:����5�<�z����TcX�W�EW�Y�b��ֵ�U��4Wsk� ���{w� ��4a�$۴�nL�~�-%c!���%�N�.�碔�P�\�N�?�Ē�(���w��W������zeEg1��x�a�4��}�<����S��`
9Di��
��̜�x4X��!�2�N[��7\t�)j�����D�F��
?������ZOSj�ǻh-I�N�+�B��
a at uj��k5C�V�'3)�
[ײ�RpJd�x q!�$��[  "Kuᡥ�� V��\��
�=`_�
����6!��e_Đ �pBZ=����;8�����\�Ր�޾ȶ�������}�{,�k���l��8��p�/�|�R��Py�?�����������Q�<i�G���<3D>>��(�?�V�e�_�� [...]
-endstream
-endobj
-9737 0 obj <<
-/Type /Page
-/Contents 9738 0 R
-/Resources 9736 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9623 0 R
-/Annots [ 9666 0 R 9667 0 R 9685 0 R 9686 0 R 9687 0 R 9688 0 R 9689 0 R 9690 0 R 9691 0 R 9692 0 R 9693 0 R 9694 0 R 9695 0 R 9696 0 R 9697 0 R 9698 0 R 9699 0 R 9700 0 R 9701 0 R 9702 0 R 9703 0 R 9704 0 R 9705 0 R 9706 0 R 9707 0 R 9708 0 R 9709 0 R 9710 0 R 9711 0 R 9742 0 R 9712 0 R 9713 0 R 9714 0 R 9715 0 R 9716 0 R 9717 0 R 9718 0 R 9719 0 R 9720 0 R 9721 0 R 9722 0 R 9723 0 R 9724 0 R 9725 0 R 9726 0 R 9743 0 R 9727 0 R 9728 0 R 9729 0 R 9730 0 R 9731 0 R 9744 0 R 9732 0 R 9735 0 R ]
->> endobj
-9666 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 709.266 277.362 720.17]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_97011210c7f0b2efa0f837ef2da6c5b3) >>
->> endobj
-9667 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.699 709.266 352.629 720.17]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9685 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 675.022 229.552 685.926]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_7e68bea365fe939d08c91ec4edc61a2b) >>
->> endobj
-9686 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.89 675.022 304.82 685.926]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9687 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 639.411 239.804 650.315]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_672b0568e7a27c37b3afde649f7c0171) >>
->> endobj
-9688 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.141 639.411 315.071 650.315]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9689 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.695 627.095 275.476 637.001]
-/Subtype /Link
-/A << /S /GoTo /D (main_Convex_Polyhedral_Difference) >>
->> endobj
-9690 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 605.167 217.109 616.071]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_eb14f5522982b3874f2cd19586813421) >>
->> endobj
-9691 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.446 605.167 292.376 616.071]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9692 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 569.556 271.126 580.46]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a809bff4b85d09cd801e5e5cde1b8c06) >>
->> endobj
-9693 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.463 569.556 346.393 580.46]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9694 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.863 557.24 326.259 567.146]
-/Subtype /Link
-/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
->> endobj
-9695 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.984 524.353 201.742 535.257]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_c93800b9ec7aae75937598e1f2209b1f) >>
->> endobj
-9696 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.442 524.353 243.629 535.257]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-9697 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.079 524.353 371.329 535.257]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9698 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.306 500.082 269.939 509.988]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-9699 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.288 467.195 212.768 478.099]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_f47944944e16e786df5c0671e7baa995) >>
->> endobj
-9700 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.771 467.195 252.959 478.099]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-9701 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.896 467.195 375.145 478.099]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9702 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.401 442.924 277.928 452.829]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-9703 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.443 410.037 250.099 420.941]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_4f514edad990412bd66cc666347103ab) >>
->> endobj
-9704 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.258 410.037 289.446 420.941]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-9705 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.772 410.037 379.512 420.941]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-9706 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.747 410.037 513.996 420.941]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9707 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.304 384.557 439.335 396.722]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-9708 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.207 352.879 266.586 363.783]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_08e91d11b3deb5b694356b5573d2547a) >>
->> endobj
-9709 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.509 352.879 309.697 363.783]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-9710 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.494 352.879 408.234 363.783]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-9711 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 352.879 513.996 363.783]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9742 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 340.924 171.361 351.828]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9712 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.237 328.608 480.87 339.564]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-9713 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.091 295.721 250.748 306.625]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_50e1047c49fffb06bc5089a06a051a3d) >>
->> endobj
-9714 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.068 295.721 357.317 306.625]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9715 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.405 295.721 456.145 306.625]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-9716 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 283.766 202.344 294.67]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9717 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.005 271.45 446.071 282.406]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-9718 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.017 238.563 265.396 249.467]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_cbc86683af6afc0818cc9e980a84fcb8) >>
->> endobj
-9719 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.568 238.563 375.818 249.467]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9720 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.239 238.563 478.979 249.467]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-9721 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 226.608 225.866 237.512]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9722 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.222 214.292 466.67 225.248]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-9723 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.933 181.405 239.984 192.309]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_e89cd985111a1a27c60a6fcc28ae9788) >>
->> endobj
-9724 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.633 181.405 280.82 192.309]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-9725 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.855 181.405 405.104 192.309]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9726 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 181.405 513.996 192.309]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9743 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 169.45 171.361 180.354]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9727 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.257 155.925 432.092 169.083]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-9728 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.436 123.044 251.209 133.948]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_371deb67f73bf27ac9a7ff6f2216db9c) >>
->> endobj
-9729 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.361 123.044 290.549 133.948]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-9730 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.719 123.044 409.969 133.948]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9731 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 123.044 513.996 133.948]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9744 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 111.089 171.361 121.993]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9732 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.114 97.564 456.992 110.722]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-9735 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9739 0 obj <<
-/D [9737 0 R /XYZ 90 757.935 null]
->> endobj
-9740 0 obj <<
-/D [9737 0 R /XYZ 90 691.81 null]
->> endobj
-9741 0 obj <<
-/D [9737 0 R /XYZ 90 621.955 null]
->> endobj
-9736 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F99 2117 0 R /F65 376 0 R /F97 2175 0 R /F38 342 0 R /F98 2120 0 R /F34 2406 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9801 0 obj <<
-/Length 1769      
-/Filter /FlateDecode
->>
-stream
-x��Z�s�F�_�S*�T���#3}hҦ���qm7M2
g�F�
-(����
I�Ƶ��������o�{��-l�2zq1:ye3�C�Mm������	J���z?&q:����tB�8���?�P<N��f��[t���������d2��_΃</o����d2���q[��+&/ތ~��="02l=� �	k���V���0b�k��Tlq��:��G����j�U[+p�ZB
d��PD�]����r8U;��T����uQhީ1f�f�gZJXD���<X�����d[������I^�Wvj&3�T�l
jH�Mu=y�P�;m��ٜXS0�Ƴ?����Rs������\ԕ��1+elѐ���n%S�Dy)��!��FH�}f�e���szU^gi�XQrm��g|Z�x�,]�b%e�aq�|0
+� 	;��l�V2�%1ǫP�[7�m�x���BkJ	�;��E:O��Y0�g�4_f��|4��`���Oe�"8m�A��[�tBđ>q=�:�9"��ȋ�gb毢P&
�.���˙X&�/i�M�+u0D����tp�
-X��-�=`�_)y�N�VN=��<����9���`0��ݡL`:�GqT��7q�C��"
 Ѓ"J�
��� %�;�&� p��ɂ()��u^ȸ���$d�0|�l��O�!��=“�)<�cxWt2!���c�p>Dxr�`�
-O�i3<ճ
-Oum��
۾�TC��T�) �(����
��(����Xٌ�X	�v�2�31��:�
.��r�lۃ�҅,��H�Jȑ
Q�
��||�.��x��X�1!�b_'bG�!�
�9;�J�+������
���0��0ost��R.���&G����hg`TJ����r�%.��
A���*ڷ8b��h�P��
�
�t�v���qC<���`�J�����_z�����
k.მ�'�&�m���60�|���'$�E{��5;[��Al��@�5
뉨m(��;��\��vu�bI
�o"����)���)�����qm� ��L|�L�@+;2{����1f��A<K��U�7^5A�}9%��\�(�P�zЄ�M�mM�u�=�
�	�T��6;��i�򢷫����u�.~�+&����S4ه�&1D�40El �:��P@�B
	nǷ2�庛W�d�
S 7�I��ks����z��뛟�XBU�U�^�7!�=r��8_��1���-C|Ѓ� 
�\���`s��+��]y�N��Z�_��'��m�0�@$ň85��D���:>Mޫrε���f
-L

��7z2�-�s�vQ
�sQ�Gɖt���
���}�U0g��E��~:`��Xs�
�r{��0��]�
t���A�� ��L��~���lz�`�m7�����'��RU��'���E���A��P�)�����2�*�>������}A�s��粓9��)��0����gZ���j��Ϸ�%_�Y�m��U�f�V��h�j�Ã7����z;�>��4���2�ۘ瘂nJ�����Գ.>�•�ԽY��mZɩ���bSϔ�y��*R���`��rk

��۹{"3��!6���������Q������Gy�X~�)��f����.&�8���'�h>�,��e����̫R YV�N)����6�?�%�r�S��BWi�'���u��v3^�B����ڛ�X<?9Y�Vh��e-2'����v��ТX�VrUEt�f�"m�1�
S�0��=F�\
-endstream
-endobj
-9800 0 obj <<
-/Type /Page
-/Contents 9801 0 R
-/Resources 9799 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9623 0 R
-/Annots [ 9733 0 R 9734 0 R 9755 0 R 9756 0 R 9757 0 R 9758 0 R 9759 0 R 9760 0 R 9761 0 R 9762 0 R 9763 0 R 9764 0 R 9765 0 R 9766 0 R 9767 0 R 9768 0 R 9769 0 R 9770 0 R 9771 0 R 9772 0 R 9773 0 R 9774 0 R 9775 0 R 9776 0 R 9777 0 R 9778 0 R 9779 0 R 9780 0 R 9781 0 R 9782 0 R 9783 0 R 9784 0 R 9785 0 R 9786 0 R 9787 0 R 9788 0 R 9789 0 R 9790 0 R 9791 0 R 9792 0 R 9793 0 R 9794 0 R 9795 0 R 9798 0 R ]
->> endobj
-9733 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 708.953 224.57 719.857]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_98c785602c5af8f7e0c1be92bb5e8b71) >>
->> endobj
-9734 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.908 708.953 299.838 719.857]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9755 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 696.325 347.869 706.23]
-/Subtype /Link
-/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
->> endobj
-9756 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 674.084 255.564 684.988]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_e10fbc38125e63858549f5ec8a25e046) >>
->> endobj
-9757 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 637.222 255.574 648.126]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_7366f9b91109b63f078e963bccd9f5b4) >>
->> endobj
-9758 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.912 637.222 330.842 648.126]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9759 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 624.594 373.782 634.499]
-/Subtype /Link
-/A << /S /GoTo /D (main_BHRZ03_widening) >>
->> endobj
-9760 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.609 602.353 306.641 613.257]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_281b8db6a8e0014ab2c41dd15f8c0708) >>
->> endobj
-9761 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [338.997 602.353 386.927 613.257]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9762 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.169 602.353 513.996 613.257]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-9763 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.079 577.77 390.169 587.675]
-/Subtype /Link
-/A << /S /GoTo /D (main_limited_extrapolation) >>
->> endobj
-9764 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 566.811 208.508 576.716]
-/Subtype /Link
-/A << /S /GoTo /D (main_BHRZ03_widening) >>
->> endobj
-9765 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.637 544.57 311.746 555.474]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_1a3647877302fc6e0e583b8b881a7a4f) >>
->> endobj
-9766 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [342.158 544.57 390.088 555.474]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9767 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.169 544.57 513.996 555.474]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-9768 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [308.894 519.986 392.558 529.892]
-/Subtype /Link
-/A << /S /GoTo /D (main_bounded_extrapolation) >>
->> endobj
-9769 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 509.028 208.508 518.933]
-/Subtype /Link
-/A << /S /GoTo /D (main_BHRZ03_widening) >>
->> endobj
-9770 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 486.786 236.197 497.69]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_f074d4d4d406dd065812b32cc8714222) >>
->> endobj
-9771 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.534 486.786 311.464 497.69]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9772 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 474.158 359.338 484.064]
-/Subtype /Link
-/A << /S /GoTo /D (main_H79_widening) >>
->> endobj
-9773 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 451.917 214.06 462.821]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_6e9d9dd7740b414d407c16687c99a88e) >>
->> endobj
-9774 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.398 451.917 289.328 462.821]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9775 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.871 415.055 284.525 425.959]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_cf531d280805472a54c22fed0f689932) >>
->> endobj
-9776 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [311.405 415.055 359.335 425.959]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9777 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.78 415.055 477.607 425.959]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-9778 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.079 390.472 390.169 400.377]
-/Subtype /Link
-/A << /S /GoTo /D (main_limited_extrapolation) >>
->> endobj
-9779 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 379.513 192.566 389.418]
-/Subtype /Link
-/A << /S /GoTo /D (main_H79_widening) >>
->> endobj
-9780 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.197 357.272 291.929 368.176]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_9764ef2f159cfdcca3f151e899bd43ef) >>
->> endobj
-9781 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.46 357.272 369.39 368.176]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9782 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [414.041 357.272 491.868 368.176]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-9783 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [308.894 332.689 392.558 342.594]
-/Subtype /Link
-/A << /S /GoTo /D (main_bounded_extrapolation) >>
->> endobj
-9784 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 321.73 192.566 331.635]
-/Subtype /Link
-/A << /S /GoTo /D (main_H79_widening) >>
->> endobj
-9785 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 260.943 289.866 271.847]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_527e7c81841bbcf1963c6e260dadfe01) >>
->> endobj
-9786 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.681 260.943 359.324 271.847]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-9787 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 226.074 290.971 236.978]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a6b6fed08414c86d33fc4a44c59e9e22) >>
->> endobj
-9788 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.787 226.074 360.43 236.978]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-9789 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 191.204 224.003 202.108]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_87ebe6f7cd176227f61c6d0fe47a4f68) >>
->> endobj
-9790 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.34 191.204 299.27 202.108]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9791 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.695 178.576 272.49 188.482]
-/Subtype /Link
-/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
->> endobj
-9792 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 156.335 254.15 167.239]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_4c11206af59b0f6a5471aded55d20961) >>
->> endobj
-9793 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.487 156.335 338.263 167.239]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-9794 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 121.466 284.585 132.37]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_dee3b5c0c3800ce2214e68a156cbcf77) >>
->> endobj
-9795 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.401 121.466 354.044 132.37]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-9798 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9802 0 obj <<
-/D [9800 0 R /XYZ 90 757.935 null]
->> endobj
-9803 0 obj <<
-/D [9800 0 R /XYZ 90 691.185 null]
->> endobj
-9804 0 obj <<
-/D [9800 0 R /XYZ 90 469.018 null]
->> endobj
-9799 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F99 2117 0 R /F65 376 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9846 0 obj <<
-/Length 1891      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�~�����6
)��,
-��i��H7i��[�D���VQ����
��Ŏ�؆��K"K�pf��|$�����w��=̮o�c(`6�
VV�-�Dmb=�և9!ȵWc<�[<�U�û���E�]����ɲ����f�zA�y�/�l��oS.�~|/V��&�H�\�et��l�����of�h�-�hB=�9Ԋ�ه߱���-����
�Q����O����3l��C�(
XG����laF��m�6˷�I

-<L�$�̇��Zde�k�&\߂n�8�C����;��>�$mK��Lh��o)��Nx�n�N�yO��������[�7��6¶
����A&���ʿ�'����ͬ�/CY�H�q��\�r�3f�GLq��	ݛ/�����dGL�h����
:."��,@^h��
P��N�6�h��.V{>��.*���y�[��'3�0��=Sj���� ��k�h�ȝ��01���<��",O!�O(
�*y
�xă��.! j—��*)�.���V��"T!?&+;6BZ�A���co<d��� Y= �m�dzĎDUH; *�D
��A
�~m~BPi-dY�;��T#�Ap�N�����J���e��a�
\2�VE�X&��Ė
�E=&�U]�K��E����z~��B���byDX�1I> 8 at N_‡F�DcM)4��|<� \���r����';� "�E��֕]������4�(6��D�����@>m���� �6�2�@�>����
��ӥ?b��Fлo�w��
���F
����A�j����6MR�yfg���\"��cC�������^m�Ȩ���?�����c)"��;#1���.�։
�y y�e�A�I��AY�ե�b,Gp�N�vD2����!��l������?�h�cu�"�) [...]
�[<�Lb��rEB��&}=�>�4��늧rT2��v�
�V����D��$9Ӆu4Tbe"+�m(�������V5OC37����
��`)n���17�T��n����>x��7�hS&*k�z���@�
q%H"�
-�K慱���������񜫽�'�gn(U��
s&�aȧ�Q�	x�c��
���\�Q�� �;�ځ���}�L��Ң]$60�:
-��y޿��Q$
z�bBĜQݫ�����2m�O?����h>L�3
�ԋ�{2>qG�ױ��'1%��"/���O�M�܁8OM}�#�c9��
��n��w���̾Yݙ��KzV�ն*��q�iu�y�͂ja%"��6JE�dc�!�C�����K�4�iň8���/�I&wk^�O��1.2�tȶ`��?ogu`iz)�
*U�\���iz
�&
O��-j�'�O5���]'}?�"uG>���qk�������6�����~ JM�~X��Eg��G�槹��?~���Jq���盖�)_}V�D՗J�l}�ذ�{�:Z[���>�0k"��WwwDl]�������#�$��IY���.���iHQxtBV�51P����ˬٱ�����[
D
-endstream
-endobj
-9845 0 obj <<
-/Type /Page
-/Contents 9846 0 R
-/Resources 9844 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9623 0 R
-/Annots [ 9796 0 R 9797 0 R 9817 0 R 9818 0 R 9819 0 R 9820 0 R 9821 0 R 9822 0 R 9823 0 R 9824 0 R 9825 0 R 9826 0 R 9827 0 R 9828 0 R 9829 0 R 9830 0 R 9831 0 R 9832 0 R 9833 0 R 9834 0 R 9835 0 R 9836 0 R 9837 0 R 9838 0 R 9839 0 R 9840 0 R 9843 0 R ]
->> endobj
-9796 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 707.957 241.726 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_787615432c9f1d6aac5a6394aea8cfa9) >>
->> endobj
-9797 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.617 695.481 407.658 705.386]
-/Subtype /Link
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-9817 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 673.391 249.318 684.295]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_6b737abc8f33b2a2362e3f9c9ab08d58) >>
->> endobj
-9818 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.134 673.391 288.321 684.295]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-9819 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.875 673.391 371.519 684.295]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-9820 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 638.826 240.62 649.73]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_dd7b66394e6c54bc1ae03a4ed9a33c9e) >>
->> endobj
-9821 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.958 638.826 324.734 649.73]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-9822 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [390.537 638.826 425.724 649.73]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-9823 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 566.777 180.773 577.681]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_0c58bbc8bf8db5f570da3db42a0ae2f7) >>
->> endobj
-9824 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 530.522 167.466 541.426]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ca90e7afe251a0d4174dcf538b34006b) >>
->> endobj
-9825 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.281 530.522 219.211 541.426]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9826 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 495.957 193.029 506.861]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_547a8d96908afe5a7f9e4ba2e10d7ac8) >>
->> endobj
-9827 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 459.702 193.029 470.606]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_efab726809c553c136e5d8fda50c276e) >>
->> endobj
-9828 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 423.448 165.911 434.352]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_1d7db8ee4d8972c1818a36d6517ebbff) >>
->> endobj
-9829 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 387.567 187.689 398.097]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a38fbbd15d5dc2e98d5b24c92b06c290) >>
->> endobj
-9830 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.557 373.872 476.544 383.777]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_efab726809c553c136e5d8fda50c276e) >>
->> endobj
-9831 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 339.98 202.902 350.884]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-9832 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4 339.98 300.037 350.884]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_6c7c72e56241da463eaeccdff79b6d49) >>
->> endobj
-9833 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 303.725 202.902 314.629]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-9834 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4 303.725 314.263 314.629]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a78179b1d8478dce6cf572af8e0b9cb4) >>
->> endobj
-9835 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.819 267.844 199.864 278.374]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_86d2bbceaa288f2f605ac88516d313cb) >>
->> endobj
-9836 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 189.141 203.075 200.045]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-9837 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 189.141 296.324 200.045]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_73cb0d61cccb259e06b68d4f83deb6d7) >>
->> endobj
-9838 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.377 174.672 355.085 184.577]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9839 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.636 150.59 287.856 161.494]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_3b49993a1cd4fc6891da88a6259b9f93) >>
->> endobj
-9840 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 112.413 194.297 122.943]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a39bdf85d6db02629fa73bbcaddab6d5) >>
->> endobj
-9843 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9847 0 obj <<
-/D [9845 0 R /XYZ 90 757.935 null]
->> endobj
-9848 0 obj <<
-/D [9845 0 R /XYZ 90 583.606 null]
->> endobj
-9849 0 obj <<
-/D [9845 0 R /XYZ 90 512.906 null]
->> endobj
-9850 0 obj <<
-/D [9845 0 R /XYZ 90 476.651 null]
->> endobj
-9851 0 obj <<
-/D [9845 0 R /XYZ 90 440.397 null]
->> endobj
-9852 0 obj <<
-/D [9845 0 R /XYZ 90 404.142 null]
->> endobj
-9853 0 obj <<
-/D [9845 0 R /XYZ 90 356.929 null]
->> endobj
-9854 0 obj <<
-/D [9845 0 R /XYZ 90 320.674 null]
->> endobj
-9855 0 obj <<
-/D [9845 0 R /XYZ 90 207.963 null]
->> endobj
-9856 0 obj <<
-/D [9845 0 R /XYZ 90 207.963 null]
->> endobj
-9857 0 obj <<
-/D [9845 0 R /XYZ 90 169.532 null]
->> endobj
-9858 0 obj <<
-/D [9845 0 R /XYZ 90 130.981 null]
->> endobj
-9844 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F35 2018 0 R /F72 471 0 R /F65 376 0 R /F23 340 0 R /F99 2117 0 R /F98 2120 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9897 0 obj <<
-/Length 1542      
-/Filter /FlateDecode
->>
-stream
-x��Y�o�6��B��I�̐��G�X��h�G�x���0�v��UIn���;��l���.I���a=��{��x��R�ڳɓ���̱4���h���c�u�&�f��N'٦1%c�� X�4��&��fQ�_�WeP6''��
��yfLM���$�*qy��}Dz�_�v�ny��a�b�t6�4! �H+	u�kQ-L'�>`-��/4�,��nZ�T�M
��r��K��vohG��l��\�BءB���I�ϫuڻ)u�:��P����,�$
��\JA/���=�f$�?l��xK1�H��?>sM�A
�
j�ȱMmJl�R_�yf�T�i������[
r^�g������ƚ�*ϓ�f�l^�� To„��<[�+��y�T5K��4���ի2k9CH�
b
#A��"H*&��,}Dl���,�C�9[*C�����<
b�r�K�Ұ\��\u������rp�{Ȣ�6�M�{���\dT�šE��+�^A2��g�,��<�v;�E�s��
���A�� 8��
Y��}3Ã,)�$_6�Z�����)�*�}^7�`�d�t�QU���x�-Y�ʠf�	���ۏ��$�U�D2�W(�TU�w
|ވ#U�˜�rf!���c��|�B W�~��gr� �
w��E�:�6���(��
���^����yu�����go� o�č a�F%n�L[��UX琁��ߗkv��B�C�;m� ��-8�/��`ؑy�wi�P
q�/6�*y p����C��
�\lT��Y���h���ûs];���|:6ɞ�j�������A1�dK��s�[����?B��t��j�̳�"�.&|��l�W
6HU$П�N
��5��"���#A��� �
'h� �}��f%��@�d�7�4�r�;<���o!�Sp
A>���=���C��m���

`�$��2'!��<�M�g�����e�E����-
,@�����=��o��`T�V����b�X�!f�/_�	B�׺��4�~@�h?���������fj��/�v�ɽ��'�ZD�,b��7X���
-M�sYC9�Üv�?0"��h�&Ȣ6�"�7M3��E�ٍ�@�ҕԴ��N�G~P�W"�7���\d�����m40-�
-H
�h#����(~����9��{Jyэ@ҍ��B}
}
-끄�<�
�AE''94�,�72���}��"��ӣG{�&P><
?�R�odLq=6e���?�6����"��������?= ��ޛ�o0���ۅ2�A�l�8�;f��u�� ���3;���@�#�Q,��B�T�)?� ���<
�.	���q�xxP�8�^ݴG�6�N����
��3���A��k�\��o�EW���G�@�s���a �L�׭w��Ս��k[���=�}�� �=�Q�<t�PL�!o�������F�4����b����l_�
-z��>sV��Z<����E�mF.��e
�>j��Ikյ��`wIy]�������
-+���Dq}\��uj�
�b�d�����<�<L^��� ��
+i�
-endstream
-endobj
-9896 0 obj <<
-/Type /Page
-/Contents 9897 0 R
-/Resources 9895 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9623 0 R
-/Annots [ 9841 0 R 9842 0 R 9863 0 R 9864 0 R 9865 0 R 9866 0 R 9867 0 R 9868 0 R 9869 0 R 9870 0 R 9871 0 R 9872 0 R 9873 0 R 9874 0 R 9875 0 R 9876 0 R 9877 0 R 9878 0 R 9879 0 R 9880 0 R 9881 0 R 9882 0 R 9883 0 R 9884 0 R 9885 0 R 9886 0 R 9887 0 R 9888 0 R 9889 0 R 9890 0 R 9891 0 R 9892 0 R 9893 0 R 9894 0 R ]
->> endobj
-9841 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 720.286 188.759 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_e58a861a42c5216a2267e3f94ecaec8c) >>
->> endobj
-9842 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.636 681.426 294.481 692.33]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_f496ec55802726ee3b39e52458ab0647) >>
->> endobj
-9863 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 601.198 161.84 612.102]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_b6ab1820f2fdf444d1431ff3af424451) >>
->> endobj
-9864 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.559 601.198 297.202 612.102]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-9865 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.765 601.198 456.154 612.102]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g616fcdc7600a3a11a8a9152e75730899) >>
->> endobj
-9866 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 562.713 161.84 573.617]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_b4959b3da46291de301d9150f5afc3aa) >>
->> endobj
-9867 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.178 562.713 237.107 573.617]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9868 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.672 562.713 330.138 573.617]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-9869 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 524.227 161.84 535.131]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_858e0030826ee6c29545a934166874ef) >>
->> endobj
-9870 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.08 524.227 332.907 535.131]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-9871 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 485.741 161.84 496.645]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_1cecffe684d1faa9b0f6b8d4f227e9ae) >>
->> endobj
-9872 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.559 485.741 309.386 496.645]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-9873 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.915 485.741 390.859 496.645]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-9874 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 447.255 161.84 458.159]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_d6d1e866b7ba9bf4233f3a5254cda0f9) >>
->> endobj
-9875 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.08 447.255 331.224 458.159]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-9876 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 408.77 161.84 419.673]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_fc2a04d2049183cddbcf70316fdf40e7) >>
->> endobj
-9877 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.559 408.77 307.702 419.673]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-9878 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.789 408.77 389.734 419.673]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-9879 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 358.329 161.84 369.233]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_dad834921ba7c139b0cb10c507b4070a) >>
->> endobj
-9880 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.33 358.329 274.93 369.233]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-9881 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.471 358.329 316.198 369.233]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-9882 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.567 358.329 431.033 369.233]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-9883 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 307.888 161.84 318.792]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9884 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.58 307.888 213.387 318.792]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_f15f956dac6d4b19ecd8fee0f9718f29) >>
->> endobj
-9885 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.724 307.888 288.654 318.792]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9886 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 200.934 226.034 211.838]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_d84befb6d0ded481871cbef1b7306824) >>
->> endobj
-9887 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 200.934 369.106 211.838]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9888 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 162.448 178.239 173.352]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_8af124edba7c75bc76ec394405aa893e) >>
->> endobj
-9889 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.576 162.448 253.506 173.352]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9890 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.239 162.448 343.169 173.352]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9891 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.071 123.962 160.437 134.866]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_67a7d08f3cda46f7a743d46f3a6f33b5) >>
->> endobj
-9892 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [168.409 123.962 327.421 134.866]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9893 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.984 123.962 513.996 134.866]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9894 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9898 0 obj <<
-/D [9896 0 R /XYZ 90 757.935 null]
->> endobj
-9899 0 obj <<
-/D [9896 0 R /XYZ 90 733.028 null]
->> endobj
-9900 0 obj <<
-/D [9896 0 R /XYZ 90 700.336 null]
->> endobj
-9901 0 obj <<
-/D [9896 0 R /XYZ 90 619.988 null]
->> endobj
-9902 0 obj <<
-/D [9896 0 R /XYZ 90 326.797 null]
->> endobj
-9903 0 obj <<
-/D [9896 0 R /XYZ 90 246.449 null]
->> endobj
-9895 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F35 2018 0 R /F11 418 0 R /F99 2117 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9922 0 obj <<
-/Length 2458      
-/Filter /FlateDecode
->>
-stream
-x��Y[�۶~�_��R��	��u�sR'�I�����/N�Db%�ɐ�e��gP$��lӗ�E��`.�Bqo�q���_�on�����,c���˸���a���?X�����
-��ڃ��vr�ޟw�h�ǿ��V�绻��*H��Z�C��W{�u4|��Y�U����b�4]�x���7�7?� �#�LX"��n>�Ƚ��8Y�
���BϽ���7��V�`<�#�X`��Z����$�Zwy[6}	҃P��J>�Ľu1e��~�i�Fuv�_�}�[;�"�^�����gC�G!� aq���Ϳu���=���8�
���Z��{}�}0$o�)��`&���՝�z+�z��ηe5�v�ӽkx�XR#K
-�@("�(��H��,KD�$	
2�	�oK
�
1�
Q�1�BF,����]�
-�J���+;�hzv���8
,`Bu��%h��9z YU�n������[Ⱦ���U%�S[]�V�Q;�C�N�6ˤU�=�
|��	!����
-i����9
_-�
�
��
G(M@,TUm�ۧ��=N&��;Zk�+7{Mo}m��k�o�U�+.9�㸝HΖ,p�S�dp�
ġ_�
c@�§�^��1��#�Kk����g�9&�$��FV$hkˠߡ���cw�g�5ی�@Qh�E/�,�;u��	������ܒ�K��:�W���:z!�pPWV5xiuq�
-U��zЇ
��d�ֆ��}d=/��K	�6�6�Tu�D�9�Uy l�x{�FR�Uj�W� ��	��Q0���-7�����h�8��qD85rheD�{�����ޖ�
+�������(��5�Nۀbxاe��vX~��JhG�%k�+�!L�ys���lB�K�;h�@6�
-�f�(��Jc/XA����
-aD���)"L �f�K�$
g��%Q�
4���
�,�
��������P��뎼���FO4���N�0�,
bƅM�?����SB���Y=�bs}hz{)�Jw�2��c���ۢ����+iN>'�}�n�=� �]U�S�^|9U ��1�E�C��6�5�(��;����	�Ij�gj�
�K&
J$�K��%M�tnf5v�\b��1)��lzk���:Dk̐�DD��R�{�<F�xQm� �u� ��n���Jt=��w��H���YP��5գf�|p;4
�&�=����<�s��OL�q�oj
�
*�`�z���Ѐ�(g	
��9��T�%yFm;
�&0il
-υ�dA����
�k��g�,��э�7#
7h���!\b6%����2�w����%� Q�Q
��
�ZJ�����S�������V�n*�EX����v���G6�땦�W�Hw�&h�&�−e���(�X�e�M��l��(�!�K�I�ɴ��s����
-���=d���q��2~�ߧ���.�~�[�P��[��"x\Ҝve����� <��rWf+SN�
N܆L1�W�v9��SE��g{�p�Fa�ҨFl|i�e^�
)W,�#�:i�9{[�QE
�Ah�|.
���Y_J���B?�_^Sl
,��u ��'5�#ͺ
����5�
�򼊥�0�4�
-|�ϓ)���ih��(f)�|\.��{��� �9x��-���=@����P>��o,�O4m“��'~�m�


�ėa�SW���Č�p	��
�c����拙���QXj���fR��+F.Y�d��
-��B
�o
-|���r�I�ɸ]I�J��E��X� dPv&x��J}g����3�N
��P����`w<�b~)&)
-�]
҄E�t���`
�u�#@'-p�&C~�U&�P
�_�R8Q޻�

�ζ�0z����S���-�܈� 
 �`$���OL{��eM�Z����@|���Mċ�g�

W� �
�x
-�{B��!ϒ"��P@���<�ցw2�F0�4N�ua�%Yw���1)T̆*�������*�v at c�ӑ��*��~+L#Ɠ��
t_��I�6���aGTX	�oG1�J�:��*徱�ؔBF��j�%CA&Q�}�yt����7�����{{:�"�w��:�bͿ��D��h�Oo���$���d����t~�I�/������v�
��f�ZC�,G�#,G��2,N�
��
�%
G\�A̫
=��]�޲�U�gR�h6�e��6$����B�3��Ù��qH�D~�`��.�?��O��p�m������M
�6A�Z�����Ld����BĒ4�F���P3D��9�1�^")�H0���\1��IrIL1���b^�������_��SAf�=λ��I��O��Q������f����ˋ���&��W��(��,�������W��}�F5\�;�x�����,�����
�B���.�ba'������=�N
�;�M����i�������dh��+��
-��_����<��^
-endstream
-endobj
-9921 0 obj <<
-/Type /Page
-/Contents 9922 0 R
-/Resources 9920 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9926 0 R
-/Annots [ 9914 0 R 9915 0 R 9916 0 R 9917 0 R 9918 0 R 9925 0 R 9919 0 R ]
->> endobj
-9914 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.82 677.939 225.75 688.951]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9915 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [122.445 648.359 277.732 659.263]
-/Subtype /Link
-/A << /S /GoTo /D (main_representation) >>
->> endobj
-9916 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [443.233 594.869 502.79 605.773]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-9917 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [100.734 582.914 174.677 593.927]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-9918 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [402.44 513.666 513.996 524.57]
-/Subtype /Link
-/A << /S /GoTo /D (main_representation) >>
->> endobj
-9925 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 501.711 156.301 512.615]
-/Subtype /Link
-/A << /S /GoTo /D (main_representation) >>
->> endobj
-9919 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9923 0 obj <<
-/D [9921 0 R /XYZ 90 757.935 null]
->> endobj
-9924 0 obj <<
-/D [9921 0 R /XYZ 90 733.028 null]
->> endobj
-9920 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F31 472 0 R /F10 473 0 R /F11 418 0 R /F23 340 0 R /F72 471 0 R /F7 505 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9930 0 obj <<
-/Length 2010      
-/Filter /FlateDecode
->>
-stream
-x��Y[��~�_����ë.��@��
�v�iv��H��l�cueI�z�_�Û,�r�ɾ�I"yxx��9�p��蛻�<�ݿOX��<�I�r
�	A���i}�8],	�8~\
ݾx~\P
7�i'7]���r����a<� Y�ԋ%8~[J����V�5Y�%�e<1��ŏO�޽{��鎀d8"F����h����G
m`��#�g��P�#N<����?��
-_�.��<Ji�H­��^�}[I+
5rx��
�&Jq
-	L	aw?�`'#"�6U�,���e�b����-��ae�Qz�㢶�z�
���a�l�ԞA�I�6�f��7�Y�Ǯ��K�wek��V��=##�O�sPɈ��%I��)�4E�H."��Ԣ�&P�#�F��8�����j�w�H'x������
�{	�4XN�T/�����>�M
�eݫ��g�$��SLL�"c��e�l�,�?��ݵ��Ȃ�e����Z��V����Z�?}m��H�I\ߴ���}��*
~+�?��Q��Ϗ��Ѥ�N�^�a�ěKg;
-�N�Q0�<�3�S�zq
�z���T�wo�@�$���Ū�abcE��
�ޱ苮wg�]����&M��܋�eW�M��e�8k�ܞ,S�1�J�
5�5v`E���R�19�J���7��v]q��a����D틚s��8z�B]�`C�Ds�P����GiF���khv7e('�l>�:#
H�<�[��'�91��f	�iz�:��
���y-�^Ι4v븺,i�h
-0G9b$�)/�W�����L��HX
2Vz�+Y�%((�D�,,�)(mUԞ�����G�`�rdg�K����ҡ
ՌN]I��bF�L8�ˋ���M��$&ﵘ����!0���j��t
�oGn~��|@n>An�Q���'��
r��c��r����
�o���!��Q�E��3}M�hƾ4�<	a�u
#���hۮi����Ĩ ���f�c�����Ĥ������v:�)9CYzk ���w
�����
����濠�����Z9�zN^����3z:���`�\��0��ޘ ���8:����w��e�
E�Cv*��L�e"�;1�K
��ۻ?��1�l��D
_v@�����B�t�R��� D�:T�9���b�����?��IÌ�T�n!D�,�:�-�m���WҮ뛏
{4`c�GWx���l_�tjPݜ�{e�X�ê�
;�u6��d�#2%��3��˺ܗ�+��X>�R�5`bc�4�K�|
-Ȥ�j':��a�2�j�n�S?`L;�
��
�Kw`���5�;���W꫎���
l\�:�^ײu�j\S
�:���u���nN s��4Lg:��Ά��&(X�qZ��-p��l�?���I�
��Ԥ/��H�\����Leyޔ{Y+ؤ����~��L����■_`�����`�jS:�/8����
�k6��
}��K'�������C���L����/
0.�`��r���V�)P4Ĥ����� [��:�ܑGw�O�b��ՇC�U��S�����
QAQ�M��3:��
:$�\�0o�;#��	��\�6�=V��oQ��j�q�Ҝ��
�o-I4�yF�:�a�	�D�_�X C�\?�w�_���m/�@9W��g�4B��\�����,}�Z��h7俭\�\\)�0�@`��S
q�xD%��n)�)�K'�9���B�,�"��Z,I�ƧK~9J8��w���
��;��r�9�
L��j�Q�'��o��LH` �R�a�v�
r�J��YಞA�P [...]
-endstream
-endobj
-9929 0 obj <<
-/Type /Page
-/Contents 9930 0 R
-/Resources 9928 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9926 0 R
-/Annots [ 9927 0 R ]
->> endobj
-9927 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9931 0 obj <<
-/D [9929 0 R /XYZ 90 757.935 null]
->> endobj
-9928 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F31 472 0 R /F7 505 0 R /F65 376 0 R /F23 340 0 R /F8 504 0 R /F1 542 0 R /F11 418 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9935 0 obj <<
-/Length 1937      
-/Filter /FlateDecode
->>
-stream
-x��Y�o�6���B�f�1CR"E�ۀ�h�u-��ـ�-
&�ca��JJ���
I=�8NC�}��8
�����ޥG���~:;:y.}/"���;[z�BɈ��;[xo'���Og�R:9�2:��Z�O��N��f/
-=����y��;<ej�g�t�4�ei���el���"�~ �ď���ً�ggG�HF=f$!	}�]��޾���_x����j�܇��{s���j%hG+F����JaU;[� >&�(�EYaGL�-j�ۙ4���6������ԅ[_ՌJ�v-]Z�$��g�z�I�d`�y�Z����<��
-A#�^,��F_��E���2ɳr���|�K�����1E�������3R�j�� E\Vp
�h�؀Ӫ\
�-T�Q��}�Wi�d���q
P�~R�K M㪞/��J˺�*E�Pz���
-��2j�T�NŘ7�	�
�.CE����Ov��q(pa�&�$�B_�<��ɤs�]�%aJ"74r;V���#B��;�}�s]"X��w�
-	�zB�yd��:T�D\
2�,0
(#J�|\��}��qb<59Xߏ7EB
-�1�n�r��i>� �6.c��8��N
}�
8b3���.*���XbQD(��`Z.����Z_�#6
-$V?��ױ� �G!e�N
r%�VShۥO秝��97+�Ƕ����ٟ�a�
��,��qѻY
��8�
]�.��IVa���X at B�)�B�eߚW��
_�
�?�
r`�1s���t�ExXy�O�W��(���w�ݿz���������x�}	!�����
��Wv�������K�B��z'dQ���]#� ��� 3�,�e�
�a� k`5�Ô�IS�͔k��.l5�^��a�^�
�+�p*��
r���.J��
�ߊ}� Y��~��85%�絆 �n]d���s=��"�u�C���\z�!��b����GCTb��:�@TU�@
��S7��� ծ�L�.ށ-m
-��%
��Ё��.32r���#7Ӆ��TWht�ϻ�p��rU��_�E��>�����)�p�Қ.
�䑳�+�M��Y�A�
p�ZWI
�V�
Z=���
-�=������������n�h�A$���A@�����
:bP�?-U�
�sl�H�u5_�]
�MF�6�@w�
��q�_zm��I��4
�U��e�18d��s;��aJ�S��N�~��6�ݬ���������z�
-
O
�a��~��
s�9>�):� 
3�9�<
ciƏ��B�-B)(�X/0�ψ�u/r����X�	#:���Z�p���j��"��X�Ig��-�[w<@�
�S��7���0H�#ƋBH��
��8t��3~�8�_d�����"їy��2z����^��J\��{+
-��r)�K
�m�"�&��me���Ew܅�@t9����i������߹���v����o������t?Bs��М 4��(4:�ڰ<
�G)H���G]��]�5;P}�n�	��x�v�-�,_'^�
I���flEb4aG�y�4j
���f��C�^%���P �.��R�+
��)�$��P.k�������4=l��s7>(�.��r���UL��;K�m�t
o
-0-��xS݅7y�
 '!0${�p�Y8I�-8	SS6y`�R�(����H�	D������M�
]<p™���>���a����J��U
�
-`�ɳE
��ֶ�V�\?؋��Z�~���.���>���q��ѷ��z��CT��28Vף˃\�
W7Q�Ѽ��)����i��ѵ�m�
~���DL
�ݲ�^�>	
�ן��[�)�
���n�	�v�wX�����o�BL��_�쪾��.�M��3 ��P��8vJZ����֯�ȭ�L��o1ܪ�6�ON��-�(�U�l
-�T'�Mz��;
.���0i��:/��I�dD2��?E���
-endstream
-endobj
-9934 0 obj <<
-/Type /Page
-/Contents 9935 0 R
-/Resources 9933 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9926 0 R
-/Annots [ 9932 0 R ]
->> endobj
-9932 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9936 0 obj <<
-/D [9934 0 R /XYZ 90 757.935 null]
->> endobj
-9933 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F1 542 0 R /F8 504 0 R /F11 418 0 R /F7 505 0 R /F23 340 0 R /F31 472 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9940 0 obj <<
-/Length 2223      
-/Filter /FlateDecode
->>
-stream
-x��Yms�6��_�O-u�`� �����M;}���{s�$��)HfK�*I�Q�-^H�+���� ,v��ϳ�p�p����ۋ˯
�*��U�� qJ��e�:$Et6'��zFp�֛tq=�8����Z������N����~��Ȱ*gs�qxU�Mc�?��2�T�)��"�C�����o/^�^�qA at 3
�	�Q�x�m.^�����
0b�

̨MQ�"�����Vq�YE0",�)CXpk��:����f��y��]Y�t�{����v�v�kT�їծ��
l�`w��G� �)hi4�զz��6��b�oT����N
�bI�M|n����{��b��9sFJ(
�:���kU�:m�zq�oZ����vݼ�"A�<AQ�C��e���
�x[�i03RD��
�
�7�!B������.�}��6��D��s��9�B� �fB�9�@q���9�ȒXZkݘ�ŵ�]
�z��w�
&��?i��w�j7��S�jq�ֱ��
��`����S���������
�,=m �1
-7�a�9�(���.LFaӦuk2E�m�=��yc��
�����7�SfA⇷OrH�c��L�
'�q
I��s��|�I�gˋcA��쾓	d
}D@�}ǟ(�׀jG�1q I3y��!A:�:�:��6H��9'���@��d�w�ځl�

-����|�U�H2�*�� PH�jިg�yD���>/� D"��fWL��IVS$��P�S+.o&�#������E�	|(�n�3|}؇�}�<2"�r�S�N�0�
t���8��^�d���Z�
-��ݪJۭ�eFx������$�;rDX��y��3�
-��iQ�'t�$�hq�1׈3���D��=�tH��;�h���ڤm���LW��t��������8Tiv�:��f�7
� �O
��% �	"$�� �HJ�M����g��3g\����J�=�~���� �k�}���6�}Vwm���3�j�_��Um���)�,$2K`��v��hhڄ�ƨ�2K��J�
��.'�]���5ߚe��"�~�x���5�j�1�)�\<����N�7y���9�|LNq�c��G+�ĥ����C�:%ly@ �e��⼩�4�����0��N, V
���yc�$�7� ��g��F֘v(o|5 at y�X�)]ᙆBx�am��s�IB�a�CmBE)�}�b �$���f�΁8I��B�;�$.�&�O@'��^�
c�=4^Y�v�)������eZ؎C��r8 ������U=p6�|�/�J���̙���
��W�	�4�����5�+�Uk�Rm�U
H
���x�aH��gN�^S�<�i̙�p���9�m������Sټ��	<�|���=8��%M+m:��Uu�7��ۮ���CnG�\����]�kܻ&A�E�(�ֻL�����>�T��/�lg���@�1�
�B��ȧ��L�ʰD�%:|��Z��*񣇁2�Ӭ�#'�DC�d�(�N)����~�&�C���Q����Q`֊�>T|�tŧ7vm�5��Ua�ʼn������=/�҉D4��� ��[
�$�S����<���)6$��L�	A
Ͼ����Ecj�9Z�ߧ�m�u�
�\�c�+:3�����A�Bh
��C��/�����d�ͩ:j���C1����� [...]
�$��A�Lc�y��Ɂ�M�ID²���&�2уE�{�%7	��U���}�����x��t�#S�O�ZV�X���?��D���׿]\����������⠄;?���LL�g`)��D�?�˼v�[���<���'CN����bμy��q���j��eU���x��{�0<���*�MČ	
��W"B2:�>��p�n��l�2����l���A��)���y4��3tUW����3����ph���%@g�6G��#~�'�ⰴ���

?
�������	�"�������p�<����m�
t���.U��W��K���5�8����;}z�m��
#�
շ��܃ }x��R�Hk��A���^G
�%2F��O�}�n�_^><<��A@�����v[\
�ē�S���HzSժ�R�ܘ���� �M�
-endstream
-endobj
-9939 0 obj <<
-/Type /Page
-/Contents 9940 0 R
-/Resources 9938 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9926 0 R
-/Annots [ 9937 0 R ]
->> endobj
-9937 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9941 0 obj <<
-/D [9939 0 R /XYZ 90 757.935 null]
->> endobj
-9942 0 obj <<
-/D [9939 0 R /XYZ 90 440.883 null]
->> endobj
-9904 0 obj <<
-/D [9939 0 R /XYZ 90 418.571 null]
->> endobj
-9943 0 obj <<
-/D [9939 0 R /XYZ 90 418.571 null]
->> endobj
-9905 0 obj <<
-/D [9939 0 R /XYZ 90 287.822 null]
->> endobj
-9944 0 obj <<
-/D [9939 0 R /XYZ 90 273.512 null]
->> endobj
-9906 0 obj <<
-/D [9939 0 R /XYZ 240.245 210.84 null]
->> endobj
-9945 0 obj <<
-/D [9939 0 R /XYZ 90 194.372 null]
->> endobj
-9938 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F1 542 0 R /F8 504 0 R /F11 418 0 R /F7 505 0 R /F23 340 0 R /F31 472 0 R /F72 471 0 R /F95 1788 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9949 0 obj <<
-/Length 1374      
-/Filter /FlateDecode
->>
-stream
-x��XM��6��W���@������I����{J�W�m���Jr���
I�,i�o��6'S�8�Ǚy�#
l
��=_�.^Id$��r

(I��$X���!!����`�ë9���{}5�8�vǭ[�����&����?=':����
-
��٢h������si��.�R�������������p at jO�B�� Jf�?�`�o����m�Vp��w���:�
�3���`0HX�(CX�bTԛ��.^	�_���G��r�ű(]Ҍ�u�eiQ�6NK�u�>`L�8�4�e�z��(K�h�A,� �M k��q��_�ۗ1�u9X{�1D���`����ruy�s��Ov��m�9$.-:#���sȳ9�p�
!,3��m��	�e at 7����v&�(��#�e�J��5N�,��2����n�r;��fHh���ibj��]���3
WH
,8D��^i ��?/�钑���˹�a{��W��2�� 7p�b�5k�z�
-%�]�^/�E�P`$�����]/˿��3�&9��`��ѽ��8 :F;w�&��	��@�w��:$�q�2��
.��J2�4�L���Y�ҭ>N���H����@!I�<?Ļ�O<;.��9wќ�0u�nϢ�:���fC>��6q�uyܒKWj��F~������]����u߽�9#c䐂|��ĕ.$
i���}�S�)�p�
n��\x��֡ ���l) �"]��j���ZPM�z.��C-X@��o��دL��5�l�ViN
P�:Ub��D�35�UÍ��� ��Q�![ږ�h\� �Qyȝ����@ܸq5��>`����r:[G7�
F�c���� �T���R�j������1-mTƑ��m]�+���
�dl�6��"e��Z�Y2B��(��
_�W��0_v����/�Z�	3�,��
1)����e�#@'9��

��K]n!E�?'��°��ʹ�k!�T���%3���Sa> ͛�W�n�o�<)̛�	�f�5i�?U�< ���hL4T
�
B&���{���Y6*�1UScT]�6�j����9����g�E�̼�L���)�
.��H�Nz@�lh���sU���c���緶{�M��B'C
0������:�wԜ?�{�R��k
�c���4��W���y��Va�+Ɠ7��)���(��(S��:j�:�'U���Q���u����Q��Q���~�s�����Q
-2�8�qT��dC�!�~��q�
Y�q<�3r���KdĬ�(.L�
���bm���v�蹻y��p��s��<�bӃ�5㊯?U��$���
#Z1D�Aռs΃l�����fuPO���
sm�ryqq{{��
�x������wws�g��:#��,w-��db����
^F=
-endstream
-endobj
-9948 0 obj <<
-/Type /Page
-/Contents 9949 0 R
-/Resources 9947 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9926 0 R
-/Annots [ 9946 0 R ]
->> endobj
-9946 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9950 0 obj <<
-/D [9948 0 R /XYZ 90 757.935 null]
->> endobj
-9907 0 obj <<
-/D [9948 0 R /XYZ 90 665.701 null]
->> endobj
-9951 0 obj <<
-/D [9948 0 R /XYZ 90 651.163 null]
->> endobj
-9908 0 obj <<
-/D [9948 0 R /XYZ 90 443.914 null]
->> endobj
-9952 0 obj <<
-/D [9948 0 R /XYZ 90 429.376 null]
->> endobj
-9909 0 obj <<
-/D [9948 0 R /XYZ 90 237.996 null]
->> endobj
-9953 0 obj <<
-/D [9948 0 R /XYZ 90 223.458 null]
->> endobj
-9947 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9957 0 obj <<
-/Length 1669      
-/Filter /FlateDecode
->>
-stream
-x��YY��6~���Sk5����$�$H������!۴W�W������C��v7iRA�LQ�p曙o�26��
�Fg�%
bK*��:�qJ�%�l��8�L	�x|9!x�Ty2��P<.��+�����tQ%���yzB�qYL�T��E��vv�R��y�����K1f1���==����
�h"B2,�ћ�8X��� #G��Y��2�͂W�_G�Y���Ţg
� �� �
a)���}�ߚ�g���b0�Y��bw�a�lܠ���ۢN�u�L�̭Y��	c0^u����J
0e��U�7/�T	���e�����.�
:Pz�ȩ�0�.$ylut�T�:烽��!\
-q
L	L	�֮^���ń��$KW���s0���@1m �]U���ZGc@��Zs��eVnn�t�֒���#9�cو������#����>�X��6��E���uZ_y���U���9��(��f�7Z"�}շL6�	�]��]��a�D
ʤCy�
-U%����M�em*��.�:��n�*iW��m��
��a1��SNa/�E��yPw��p5�	��!Yc�w� �x��v��$$d����"C*�O~�Z�?x��EL�@N^�2>!�D�1�iO�
<��t܄�Qi�0
T�'f�S�x�z1�eh[G
?,o<p��0<7���hV�a&���I�"��
+D�&�ԇ���q~`��b�n��vnk�]��(�}�v����j�'�C��<���������t��#@v����G�9ʈ��MZdi��J	9���Z-k�z�!
;C$)�;��l�R8i2�hSM��,��߭,���
)��̎�;ME }R؉$۔0`�V^��
-������ۼnj��2O'6)Vv�%#���[��.�Z�L���I��P�ݠsf�Z�ô͸a!��K3�XuA�9-�b��SX�.�o|�����t&�A��:��
-�r�=kq����
��p&�"~�������A��y�����N��@u�w���N�/�wt�H�A�����.��
Ul�o-T��Y}Zo��՛����<FT��l�rb���;�e�V��+%�#��P m�e���P����
n��ӏ�Ҝ��)�.*rbN"m�nK���,�/Uf7N9�V:mo��m�jY�H�R��0o2C
��w�Ѿ����;v�dO�N��A�!C�T��*vaV9���U���X\��Z��x`������:U1������1�O�)��"˹}5��� �)~
1z��@< ԑ�iVcz;�{?�ۅN���%:3$�t
9�!)�S���W[G$�j�� ����0^f�p���Z{�F���D��� �
�u���s�����/�}>����a����A{����($�ޡ��t &���|$6 �gE�� �	�n�O�T�%�hH�l6��~<�
��~�p��bp�x> Gp}�| �7�zA'�?����a�������@4�=h�9��.#�&���u�=
4�
-!S�"��2?��]��2�c����}�m���'B�]6�H���� c��(�$�7
ɂ�Nh4�2��WJ9#�e�觑��ӗD!b����z{~vv}}��;�/�m���l����FTO
-�(l����%/W�L�#���71�~d
-endstream
-endobj
-9956 0 obj <<
-/Type /Page
-/Contents 9957 0 R
-/Resources 9955 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9926 0 R
-/Annots [ 9954 0 R ]
->> endobj
-9954 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9958 0 obj <<
-/D [9956 0 R /XYZ 90 757.935 null]
->> endobj
-9910 0 obj <<
-/D [9956 0 R /XYZ 90 653.386 null]
->> endobj
-9959 0 obj <<
-/D [9956 0 R /XYZ 90 638.816 null]
->> endobj
-9960 0 obj <<
-/D [9956 0 R /XYZ 90 459.925 null]
->> endobj
-9575 0 obj <<
-/D [9956 0 R /XYZ 90 437.614 null]
->> endobj
-9961 0 obj <<
-/D [9956 0 R /XYZ 90 437.614 null]
->> endobj
-9576 0 obj <<
-/D [9956 0 R /XYZ 90 332.805 null]
->> endobj
-9962 0 obj <<
-/D [9956 0 R /XYZ 90 318.235 null]
->> endobj
-9577 0 obj <<
-/D [9956 0 R /XYZ 90 215.464 null]
->> endobj
-9963 0 obj <<
-/D [9956 0 R /XYZ 90 200.894 null]
->> endobj
-9578 0 obj <<
-/D [9956 0 R /XYZ 90 98.123 null]
->> endobj
-9955 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F11 418 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9967 0 obj <<
-/Length 1653      
-/Filter /FlateDecode
->>
-stream
-x��YI��6��W���@��.qzk�M[ M�������X�W�g����q��
r��d���{i�}��������K�<���һZ{
-{�$HP�]��wSB��9�O_���y.^�(�f��F��p�st�����e����,�ͩ���qXv�F�u��N��2.Ŕ)>{�j��j�ׄ�e�#�%�G>�2��{����a�T��V��S�c����	>�eK��
-1�kϮ�,��Y�
���eT,VQ�1��r��o+�,�2K���� ������K%z6s"
-<�L��[
�8��W@1{�9'
-ɀzspS��ekE%C�

�|$)����r��E��o�p��V�;="�J�1i6Ek��0]�E���vUߦ}G���!�F��H��r�a���!�?�#%@\��\[˛L��d��dbJP��7�PgJY/�z[F��K�˝�H�|�@�Ҋ(��[:�xz��j�v�Nˁ5�#J EG�6y6�bz���p�
V���;uB��CV{.�mg��Q�̒mXF�q�Q�79 �
����Ȝ
-�������������z+��9����AQh���n�8b�m��01�0D��+�Zy�8t2�O�ю
-��[/]
�њ='MLu�	�~1$
�O@
�b0�Z/��6eQ�W���}c��k�O�G��u��b.����vB0�$~l���0A
&������tZ�`�
����.]�_�יsc��J0�O�J��P�a��Wc������򢢋�-��7���p�Jr9\$�&�-���,}?1�p�b�b��
SQ�t��_ֹ!m�f�JaR)����������oH�:�xB�9)W-�pC�1�\2��
�M�m��6� m�:�\븂��
-Yp�432-�W_
��/l�L��y h$�υ4'C�@��_���5�5��!M�EI�"z
�<֘2���|
P�$�x6�
��y��k��La
(��#z��.��C�����a5��uW5���P9&�)���M�]2v�c.���@W� �8]��tl�0�vmj��AiT�j\�j��G"F��h=#
-��:���N��}gؾ
-f��
�����̓��J�K(� ��<T��>�B=‘Ȩ�T�n����� ����)����a���l��}�M}VO7{�x�p��Ğlw�^
�*�fҝ)5N��.u��s%@XP7S�FĄr�͐����4��&C �ϋʬ����&4���l��dU����>'|7�Չ�������x0>
-� ؋O
-�9���-[�V�guY�� \����}+�fI�~
���.�=��W��D�D
g`��
i�.��l��1�u�xc*�#���'c{=~g�0��?�^�a 
�9̴7��9��vF��\��
����;n#�
E�9
��Y	o�Y	+gV>�Y�8m�c
�?�ep��
����Zف�/4�!�{h݈
�č�0�#f�4�8�]�
�etdrS=|��b����.-��r3
�ß_e �&8����WW���ς�WW��|�دMn͹�~l&��>�؇�
-�;bZc�/a�
��W[&y7�a�aD
MF����[�k'�gz��'�ޝ�$��(�,�����hY�]ms��m|��]=)02��<���dy{�/����^�����
-endstream
-endobj
-9966 0 obj <<
-/Type /Page
-/Contents 9967 0 R
-/Resources 9965 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9974 0 R
-/Annots [ 9964 0 R ]
->> endobj
-9964 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9968 0 obj <<
-/D [9966 0 R /XYZ 90 757.935 null]
->> endobj
-9969 0 obj <<
-/D [9966 0 R /XYZ 90 733.028 null]
->> endobj
-9579 0 obj <<
-/D [9966 0 R /XYZ 90 642.262 null]
->> endobj
-9970 0 obj <<
-/D [9966 0 R /XYZ 90 628.277 null]
->> endobj
-9580 0 obj <<
-/D [9966 0 R /XYZ 90 543.961 null]
->> endobj
-9971 0 obj <<
-/D [9966 0 R /XYZ 90 529.975 null]
->> endobj
-9581 0 obj <<
-/D [9966 0 R /XYZ 90 433.704 null]
->> endobj
-9972 0 obj <<
-/D [9966 0 R /XYZ 90 419.719 null]
->> endobj
-9582 0 obj <<
-/D [9966 0 R /XYZ 90 323.448 null]
->> endobj
-9973 0 obj <<
-/D [9966 0 R /XYZ 90 309.463 null]
->> endobj
-9583 0 obj <<
-/D [9966 0 R /XYZ 211.842 89.441 null]
->> endobj
-9965 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9978 0 obj <<
-/Length 1951      
-/Filter /FlateDecode
->>
-stream
-x��ZIs�6��W��J3�
�{k'�t�I[wzH2
Z�,���T����� W���(�
z�x�����C���W��^]'Y�HRܮ�J$(	nW��!����`�g����b߽�S<���*⻟��".>����I8˳��
-<�6����k]���R]ƥ��H����p�����+��Ԓ��r{��-V��� #��c�jp���v��>�eK��
-19���<�/$�����f�O��?ڒx�^�YY��OI�������ջ,c��
���w�艊�H	'�6��U�H��4��}e�Pr�m��o0��Dg�����B)�۽�~w�y8P�""/�a���D8�`�b�0�`o��v�o=��qa6��Rg����8"�@���i��np���'n��	.XD���X_'Y
-~��nx� 
-I���_u�/��C�q�q�cU쵇�p�Q�(Y�

/�Vv�g�;�W�n��UH�z�b�c`�j��R�V��r����vW}�;d�0R�=�.$�i����l����"�:>�����;�G;d
,�$�ЧL ٦�
8˚��&Yn�
�BdS�-�._ƥ��ڸU���׳ws*fq�w/����.OL����FڣQ���m̻�.t��h��� .��|��Wz������Q0-(fHJ�(s>�p�Օ.ʛ��� n!!*l�,DXС�=�#��
��ƴi���X2M֮� �����&������S/�v�ǩ"cy���;��#]�1� �H)1J���P����&��i�>�7�����Q�8" ��t�o��H��
-P���(��r�t���U�
����u�
�$q��e>Z؈z�Ɗ����<
;3jꏍ6EM��U
C
��K�We���1IS��*�
c����h��LCs���2��}1|o�Oe:�&�jF�0���*]��.�`>���u<
r
_
���K�3;3F=Y���
��i�����ݬ:z��W�o7EnTx�Z��d*h��Y��-�ü6W�2�F�YS�V	�n��"�Lu�O�ɀ���`0P�(f�~�k�B��%��b�~��s�^�D�qpa�nה�}��v��m["�ԶDf4h���8B���`
IƗ�A�
�܋���\É6OB���L�R؃
>E=��d�j
A�i@�a�k8�����x��z��}V�{�E��:�
z E��.��+ ���.,��s2;	�&����D}�kO@^��W�2#<j,�� ���\2[�/��
1�^ �]\:�8��2���F��]X�!(�=��2H������
i���NäА*�t��
���1���vLa�ݎ������2U�/���u��]&nD�����Hqȣ������c��bk�� UK�I )���dHc�� �$3a2�H���4P�QI�
�������~<"t��
Dh.Z�ᩐ�C���7�4mv���G�|P8�O�h�
H�^'%ȥ��
-�)b�m
�<=	
9
-�d�p��1\�d=������
-qhE~$Z�n�N�+�RxE^"?�p�W���ɋ��B
����U����^�"�0O�CCZ�I�bt��0q���q[0�������!��,
 
s� ��M@'G=��Xr���~�
|:��4����Xg�����
d8�#� u|~`���#�� ܏ �Eg�
�Y� �����8	o%
ޘ���W~&�p�{_�&�fH�'����;2��b�% 7Է�е�c>C/�	�SØ�|X�P�T�X#�1%/�a�AQ����G*2��᩿Q���$8
�oS�$�G�zeLd���6��N�圝�^��˹3�2?��>v�J�Z�;ݢ35F�R�^��<�Mk���쯠�h�K'/	b]ϳ��������#Z�h�%�%��n�^�H�
-ᨻ�]7�l�m ��m�����/V)#*
-endstream
-endobj
-9977 0 obj <<
-/Type /Page
-/Contents 9978 0 R
-/Resources 9976 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9974 0 R
-/Annots [ 9975 0 R ]
->> endobj
-9975 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9979 0 obj <<
-/D [9977 0 R /XYZ 90 757.935 null]
->> endobj
-9980 0 obj <<
-/D [9977 0 R /XYZ 90 733.028 null]
->> endobj
-9624 0 obj <<
-/D [9977 0 R /XYZ 192.853 466.919 null]
->> endobj
-9981 0 obj <<
-/D [9977 0 R /XYZ 90 450.89 null]
->> endobj
-9625 0 obj <<
-/D [9977 0 R /XYZ 211.842 218.338 null]
->> endobj
-9982 0 obj <<
-/D [9977 0 R /XYZ 90 203.688 null]
->> endobj
-9976 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9986 0 obj <<
-/Length 1890      
-/Filter /FlateDecode
->>
-stream
-x��Y[��~�_��Ff8�S��/
��I�n�)��Y
d����%W�u����ɒ�
o6�yI�����CG�G������7�E)J%���6Jq�$A���1��Ƅ NWwc
�Y
g�!{z��8�������{������a<�"I\��;*p�U�5�o�������F]ƥ�Y*W�
������78�q����p��
�r�6ˆ�Itr��
�E���78H��ҥb$
�@��HQ��^DSn�J�����G��B�&��M�k/J�
t��U������)Ƙ
���~XQgE����5��.lvGJ����E%�\0��:���Y�ۍY�m�%3]&��8G��=�m�i;�R�IL�7+� @Y<ί�b��eES�f����AT��Ȼ�,b[��?{
����[��e��܈��n��:on����d���Xk�"��J����y�L��k[��U�����i���9{p��9�K�PH�A�Zg��n<a�6vAt�8F�sPA��jٳ��E��s�$U�a
��zJ_���G���a��#�"	R8f�33M�?<�rŁ��0�SV� xAE/�LM�1UWV�S9�ߥJ9E�B'n
�͡c5���9�G��J��N�7����

�ހF�L��Gp�u�-cU6��nM�(���6$ɫp)P�>f��i����7�z��@*���E�e��ƺ��܆��l���u፽�P�]؛�����Y�2F���k�vu��9�B^bD��zCz�˖�$�����c2�g�����ݱ� "T�9��'
�[�� .�
�-����l��(G��G��
`�"�㵫d��ʙuU�R&?��yx�Te����&������).TB0�������^�� ��9��������`Uk
-�P�G�z�R.`�'�S�%X��
_
�#,%�<��) x5��ˉ�$	�$s�%y�;�L	��Ǵ��k`5��"}M�P��赤w�#Ӵd9o�cUT��IV���+r�s�
-�
-CDc1/=fImnL�"ɠ~8�x5E6E%>
��6��X��&��i�ʶJh�����Z�
�q�C1JEz
7�7��8��L��G`2�#��`���,L��-����A��qA'�6��I(?$}%����B����		��ʿ���=�8R
�0�χ��f������O�
-�@I��q��T�A1H�B�<��Ou
��BM�����H�^d�X=�/p
�Υ��ʶ�0�k����Cl�1?��PgLά�VD��+���ę�
-&RL�0U	S�#!
-G�D8���ׁ0�C�U�x.���	�f��\͐��	�*��/���ܼm�a�n9�%
-g�dt溤���ҫG7(������Ig!,Aa�4��6ՎS]pGwV�
/2
H_vF���t�$zd���W&��c���o�	�>!ǓY��}��C��6�omCZ��s����4�k�EI���rF�'ҥ��]0+�ѳ����a$֡s%
��86�.u
��,�I5ż6�^����p�(�kw�h���r�e����V��],°�%��Y��m���k?����i�b6v��Ƨ;H:����v�>U��}��Z��Q�"$LS�� �x݅L�g��<
���ސ���@�Oc]f�Gn}��X׵�����4��a�]V���ıl��U�TN�e�|]Ŵ�K
�
���-6Y�=�Ŵ3�惩���9�i&4A,�[�b��ݤk�
)n�_�����`
=}���
�n�ce��7���_hd�R �O|�q2�. NŒ��$ ��=]����<��W<��}�K��o��+!‘���.
����K
-p��Q�Q[kX
C ��u�K�>�[�y@;�K��`�}�
��O��4�+ͱF��?
����yD��s}:��P�Cqbc�=\������
-endstream
-endobj
-9985 0 obj <<
-/Type /Page
-/Contents 9986 0 R
-/Resources 9984 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9974 0 R
-/Annots [ 9983 0 R ]
->> endobj
-9983 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9987 0 obj <<
-/D [9985 0 R /XYZ 90 757.935 null]
->> endobj
-9626 0 obj <<
-/D [9985 0 R /XYZ 192.853 580.2 null]
->> endobj
-9988 0 obj <<
-/D [9985 0 R /XYZ 90 564.096 null]
->> endobj
-9627 0 obj <<
-/D [9985 0 R /XYZ 90 460.702 null]
->> endobj
-9989 0 obj <<
-/D [9985 0 R /XYZ 90 446.132 null]
->> endobj
-9628 0 obj <<
-/D [9985 0 R /XYZ 90 331.406 null]
->> endobj
-9990 0 obj <<
-/D [9985 0 R /XYZ 90 316.836 null]
->> endobj
-9629 0 obj <<
-/D [9985 0 R /XYZ 280.943 111.036 null]
->> endobj
-9984 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9998 0 obj <<
-/Length 1297      
-/Filter /FlateDecode
->>
-stream
-x��XK��F��WpJPU4;o at 7gc��8�f��6.+f�Tx��קa,�*�R���c��~|�u7�Z[�z;�v1�z#��!ORi-
,[�$HPb-��&q:���}3%����_�L)��h����_��s?�����S��i2�Q����/
-}{�
T������Ka3ϙ~\���^L���
[��D8�a�Zœ���
-��;
#�ֶ�[�2�Fև�/|�*���cb�cڧʴ4
@I"�1t>��`�J����0)��߰�����׃�*���x��*ǕZ
�5]�-=k8(ϛ
p�{��q� �Z3� 	�뽯����חU�U���S�мm�ԇw�#�#G���".�fC�j���7Ů(U|�Ģ]��Ү݄B���p�F���si{�cX�(H%�#H�mX>��R
�I���z�z��MTV
G5^�
�3��A
�!�=}���R�ż'`/���"{CaA;�|�3��DcעQ����
��m�(�w�f/�Xf��"G8�q/:��6rǣ�E��:
-&�_��RY���, �JE��a2��~K?_ob���`` b�<�Rao�
v8�2� ��	
#σ�� ?	�G�\x���X�{��+-�L�4J׻Y���8���>�����zK��
-����
-�������ݯ�Θ�$0�
H�g���p�}��=�^�ϗล!���ɽ2�M�
��Ճ�)q>��%�!���
���oN���] ��
��w���­*7���
���#��B��� �N�s��LM��G��dT�4 �Y4TqV���
��
�/u�˯[�8U#M�6���Ӡs
��������KH����̫O�q����r��uW���Oi�T��}�E���_A���3��e�==�T
�
��!�@w�Ne�_��*Ѫi9ݡ

��W�g2��e
��h����L"��Y�zo�X����c�>�R�
/� [&����#��~��A��B��g�
�R~�V]&.A�"���*
z
^��1pA��M4���C�
-K5���)�V�A��i�d
u�#�f_�u �q?���63��pc�Ց,%�����90I�
?d)�QR���
��Vu{s�B^�RsQ-��`t�
-X�?Ƕ�ٹ�"${���=�^~,�г��rb�qvB?������7�t�[���Ϡ4��s��ghL�����M�}�I?�hrP?�Z������G?��Ѿ��T��ٳm�0"Q]a\6P[�������ח�b���cYf��v�V�$a����ʲ��i��H!
9���&��47�	������Cx5F
-endstream
-endobj
-9997 0 obj <<
-/Type /Page
-/Contents 9998 0 R
-/Resources 9996 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9974 0 R
-/Annots [ 9991 0 R 9992 0 R 9995 0 R ]
->> endobj
-9991 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 358.813 138.508 369.692]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000001) >>
->> endobj
-9992 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 338.724 314.566 369.692]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-9995 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9999 0 obj <<
-/D [9997 0 R /XYZ 90 757.935 null]
->> endobj
-10000 0 obj <<
-/D [9997 0 R /XYZ 90 733.028 null]
->> endobj
-1313 0 obj <<
-/D [9997 0 R /XYZ 90 592.061 null]
->> endobj
-10001 0 obj <<
-/D [9997 0 R /XYZ 90 577.49 null]
->> endobj
-9630 0 obj <<
-/D [9997 0 R /XYZ 90 329.757 null]
->> endobj
-10002 0 obj <<
-/D [9997 0 R /XYZ 90 315.187 null]
->> endobj
-1314 0 obj <<
-/D [9997 0 R /XYZ 90 212.416 null]
->> endobj
-10003 0 obj <<
-/D [9997 0 R /XYZ 90 197.846 null]
->> endobj
-9996 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10009 0 obj <<
-/Length 1575      
-/Filter /FlateDecode
->>
-stream
-x��X]��6}�W���� �m��t��4�J���&�x�O�Mm����^Y2Xưٔ�t�'۲tu��=�H�������ww�ɭd�BJR��-<�=_$(��������hL0�÷#��a�goG�t���E8�)y(�b?���G$��hL
ޤaY��w�"���Y�]ƥ2�>޽���9 ��H��τ���7��7
F���ս�
�
���~�� ۨ����0�O%"��_}��M��Y9���Z��*�2A�c�	4	aL��|:M����0M泰Xn�qV9'��3-���p�*��
d�Q>Lz�䖶��
�
;���t�m�8Ri�T��4}����SM�0��I�qa�=fE��lF,{l*D�������*��i�܏�,�כ�J
R�
����2UB��ڪ7��G�R�09f�=���$=^?{S�K�|v�TI��Sb�8��
�7�޼nl�75��z:%!
_\J�NtН0�+k��-�*ԩW��bi���u�����S/I���㍁cV��
 
�� �>��Ю�}��K��/y�ճi�V���&�5fB�E�i�����h�8
- �k'^($�0o�)"�o��EP��
5��	@��K(n:
��Y�g�bkHM�����2�7���
f�n�G˞�Tc��)���4�qd����K���|�Cݻ�nE�W���@YQ_����'���#��5�ɐ"�N/\6p=gH�
ǣ�����OaT�6c�&.�\4��ІPG:5� 
-�Lr�ŒD��HD�I�gxVCK���,enK���bAJ�p��2
8���
5�+,�0�$�gLj���
4ɧ�yS-E�v���{�J��-�F
�(�p
-�
-�U-�#�P�hT��>��p�D��z)�)$�L�-e>�y:KůA�3X��:ɒu�W���w��5�(�77���1����'ktB���H;��z��$K�,��Ǹ ��r�C�APg
-ʅ����֋�
i��܀��(W�k1n�p�%���i��˷���o���-4�|�{��
���eK*ɖ~DI}�}�ަ�e��H)	<
Z"X�W�B{�%�n:,A
;t�eܓH�ܱ8n&����721�Da��@�C�4�_��c$�
z�	�k"��B��
��
`�5&'�@���%,

+Km��O0�����l��r��}Y�����r�`�=��*���FP�I���u�ٖZh�WZ�*@��n ��AG���~��D����f�ò�Iˉ���>N##F�g�}����>A/���o+3{K&�
9ѫpY;@k�T�Ť��p
Wq�<iidT^R�zk���YAN���d�B+��$M�3
��9��+�6T���uXv���$UP#�]��{yU� ]b�+�t_�~I�
A�P� a�����ڡ�>�_ĹB�SGµ�gn7}I��I���vs0%]nw׵{#.�e���8"��$���b�Y
[�o�.Vˆ�lt�|Z�0��q��H������lZ(izyԦ ��H_�&3 ��ؚ�������/	|ؓ
2����t2��v(*�6K6J��f�NN+�ex��‹fG��
~�A�:<ݒ@���V�
-endstream
-endobj
-10008 0 obj <<
-/Type /Page
-/Contents 10009 0 R
-/Resources 10007 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9974 0 R
-/Annots [ 9993 0 R 9994 0 R 10004 0 R 10005 0 R 10006 0 R ]
->> endobj
-9993 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 665.586 138.508 676.465]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000002) >>
->> endobj
-9994 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 645.496 314.566 676.465]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-10004 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 307.79 138.508 318.669]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000003) >>
->> endobj
-10005 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 287.7 314.566 318.669]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-10006 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10010 0 obj <<
-/D [10008 0 R /XYZ 90 757.935 null]
->> endobj
-9631 0 obj <<
-/D [10008 0 R /XYZ 90 636.53 null]
->> endobj
-10011 0 obj <<
-/D [10008 0 R /XYZ 90 621.959 null]
->> endobj
-1315 0 obj <<
-/D [10008 0 R /XYZ 90 507.233 null]
->> endobj
-10012 0 obj <<
-/D [10008 0 R /XYZ 90 492.663 null]
->> endobj
-9632 0 obj <<
-/D [10008 0 R /XYZ 90 278.734 null]
->> endobj
-10013 0 obj <<
-/D [10008 0 R /XYZ 90 264.163 null]
->> endobj
-9633 0 obj <<
-/D [10008 0 R /XYZ 90 105.736 null]
->> endobj
-10007 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10019 0 obj <<
-/Length 1313      
-/Filter /FlateDecode
->>
-stream
-x��Xے�6}�W�@U����f���f�Lf���f˥yL��x
�����a�-'�l��F���:�%l�[��v��rv��c�@£��\[[�G��ZF�;��RgN0���C�-�T��
��<9lTT�������a��vH`�3�
�/Y���Z����B�2��6�y�|3{���1#��H�	��ϸ��w���7FL־�J-�2�&����>e{�b���}С�q��]F>&��BFѪ�,<���Va��U!�*����
s��{�����9x#����PV*mr��6�z-x/�!�x�Wm
��� � QH���9Ic�q�f�)�ą�}�Q��}E�j���A
�E���N	��S�	��\�3���<e/�|����
���%�$�p1�p�E"�l�M<�!���{q���M�����8����8��^�r�T:Ϩ.�
-G�̩��
�
y�hf1�&SU��\
�?�3(  
 .@��~�{
S�v��|��CZx�-����O��^�Dg��9��,�W��@�G�#oMRy�[��!ܮW�iLf��b�?C��bp�y��#
�U�X at t.0�L�h%��]� �8
��,7E�Pn���xj� 	p~	���[#�E�P`9���E �vs�Bi�)��6O���<��<��ʁx��5/��TB�^�S��hސ^��李u1�?D�W�J�82 ���U7k]Ɍ��Yrh�@wi]-ͳ�m��4o�����&RL|��w��9�`��n�N\��P��z��	
-}%��Ѷ-��BU����x޹
�'���6
 )�Z%fF
-x�I�`���+�0��"ƒ��3��wy�����J�����п�9?�ա����ğSsN��g�\�Ss�)�=&���m�ڡ�>S�	c�������u�')�9%�������ˤf�r��9M_ˤTSTKk�1��&}�r��e�Z�דa��&�
-��Y�tt��� �l�B�ݻ�ª�B���
�}�$�Z�K�%��L�{��d�q�r`�O���Oi>��r��k>�
oqo��7OkG�Q[�ᔕ�
��lSr���u�����M���W�����.�&JW�l�Iy�i�
-Y��p��U~R���λ�g^�/�e�Ur�~ltX�M�9�'L �"�{.�I>����D�z�T\@��gQ�:�N$ȧ"1>2�p7x�i}R
-�xZ
sR�A�;�Zϯ��<��<�m
~)U�ùmr��v29��=TW'�9cD��:�GIj"��j�oV��_���.����.����=
-K���m���j�M�
Vdoȿ�
�֪^�G^�Wx���� �h��

-endstream
-endobj
-10018 0 obj <<
-/Type /Page
-/Contents 10019 0 R
-/Resources 10017 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9974 0 R
-/Annots [ 10014 0 R 10015 0 R 10016 0 R ]
->> endobj
-10014 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 289.299 138.508 300.178]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000004) >>
->> endobj
-10015 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 269.209 314.566 300.178]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-10016 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10020 0 obj <<
-/D [10018 0 R /XYZ 90 757.935 null]
->> endobj
-10021 0 obj <<
-/D [10018 0 R /XYZ 90 733.028 null]
->> endobj
-1316 0 obj <<
-/D [10018 0 R /XYZ 90 522.546 null]
->> endobj
-10022 0 obj <<
-/D [10018 0 R /XYZ 90 507.976 null]
->> endobj
-1317 0 obj <<
-/D [10018 0 R /XYZ 90 260.243 null]
->> endobj
-10023 0 obj <<
-/D [10018 0 R /XYZ 90 245.672 null]
->> endobj
-10017 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10029 0 obj <<
-/Length 1465      
-/Filter /FlateDecode
->>
-stream
-x��Y[��6~����3�,	I���4'��&��!�x8 �L���㺿�+$0`�����N&O!�V{���[
[�'�.'�;�X>��rm��rA�kYolB����/��A���S��<9neT���"(��EwzJ<;Ϧ3ʱ�4	�R_ɵ���,� �a��
����ɳ��	ͰEjM��\�[a:y�[̿�0r|�:ԫR�Q���z���[�o��cf�T "��᳿C���<+�C)�;�wD�طf�8�"�*Z,�lʰ�.H�h�}*��'p~�q��
�>���"�Rn�b`;^���;�՞S�y���
�Ht�c��H���ƥ^�;���n�(Ȣ9� �u�5�0g�YA!��Ԯ�]���,��<���s���y�o�`��>S���
�	0,9������1{��1�uA
G�l�}
-�@�q;����3Ƽ�܂����G��������
�/a`f�;4�Z	#&�Q(.��#,Z��w���>
eY���9�PObKu�&��վ0!
���q_}�ԯ=B<Q��=Rk���r9�ea
�p�$�J�bcr�չ��+�1_
�N�46�A%���Q����l
�`���~���9��
58Um����.�*���z�z�藝,�*/ʞ�� 2�����8��u�9�r���1�8�_ه �bD�j#�F7%�Xp
�A�Vf�y�f�3�
��XV2�7�J_���́����)G��!��\q2�3j.��#���'Q���Ua���3=Y{��0�^W-�G����c�P�~81D}�Eϼw����&
%�g����M >ݮ-
�n�tsQ�:F����J���Y��� �
T/d�O*��8J}��^^�8
RY��=i�C8�c�S�A�Ӻ�i�g� �z֮?(S�C�$zto�B" ��e�@Nى�&���G=I}�"�ހ����v�e�8�$��
�})[�([6��l�H�����?n!�C>��
���k��z8SB�r�Ce�zPg��2AM�LP�N&��(�w�esDOK=���*ՙ1ν�����
����
C���&��qV��L��H8�0�;`Zqƴ��?�hM�r
�g]g(t~�e���e/��(��1�<ƣ��
��}	�2߹	�
-�0�Q8�ǣ]կ�Q�C�:��G�g�=wA�q�
�@]�-��h|)](�=��`l3$
���2T?��~��1F|��chX|��/4����U��&m���
�t8>�1��
3�ՍpM�t�砨�v�F�
-b~ehU*��mJTc��S��X���/���H���")ЏN+b�)ti�P�J׳֭K(qk��檺��v�����n����b��wU�lP��T���׼6�_M
��JY|=��6&�)����+�p}�DA��v1"Q]��˩��o��Ռ~��F>�K<9�5�v���p8��D�,�(��]2?�ǎ���n
-�4/d�0�֝�3��
S�	
-endstream
-endobj
-10028 0 obj <<
-/Type /Page
-/Contents 10029 0 R
-/Resources 10027 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10034 0 R
-/Annots [ 10024 0 R 10025 0 R 10026 0 R ]
->> endobj
-10024 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 608.026 138.508 618.905]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000005) >>
->> endobj
-10025 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 587.937 314.566 618.905]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-10026 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10030 0 obj <<
-/D [10028 0 R /XYZ 90 757.935 null]
->> endobj
-9673 0 obj <<
-/D [10028 0 R /XYZ 90 578.97 null]
->> endobj
-10031 0 obj <<
-/D [10028 0 R /XYZ 90 564.4 null]
->> endobj
-9674 0 obj <<
-/D [10028 0 R /XYZ 90 394.017 null]
->> endobj
-10032 0 obj <<
-/D [10028 0 R /XYZ 90 379.447 null]
->> endobj
-1318 0 obj <<
-/D [10028 0 R /XYZ 90 151.505 null]
->> endobj
-10033 0 obj <<
-/D [10028 0 R /XYZ 90 136.935 null]
->> endobj
-10027 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10042 0 obj <<
-/Length 1486      
-/Filter /FlateDecode
->>
-stream
-x��Xے�F}�W�HU��\`��8�+�ͱ�ʃ�R�`���-��Q�>=̀ ����VŮ�s��t����;�y=�f=�z�1G �Q�Y�
�
�#�S�#�Ü��Œ`��o�e������<9^�����m)��j�� �<�K���E"��
ߩ�j�T*8��
���,>���^�g�X�
�X�}�3����G�D�����sӬJ
�2�&���/3l�·z�����C�s���T} ��<�V��v��{{I�|,�%\1�f�N&�қ�^q�[�(b��S�U���.��
�,9�Q;U_+3(UuHj;i1SiQ����m�	�A��ĉg^mC&SU�r���
q��}5z��[�P����yV�8�F��U�JY�e7!��7q���֮�Q�,Tu>:�:V�J-����y�LJ
-��f��13�Qv�H�������R�D���0Nu�0(/�
-UQ�y����#��U
�Vq�p���L�h#��!UY}W�G��v���|A��j*^g�9f`=��
��
�1�ᵋt!��C	>k�짎��A/K�m��$E����2��<- ���mbg��x� P�/����i
 KN��'��� �\��1�F���z���;Aݔ>�Ӕ~34�S
-�AW0nj���87�x>��k����u�2 %��Vs��N^�n�����!�E
gu�F%�����
�\�<�
�[U���ZE���й��z���:������s�.?�jy|DNߥE�tJ]�C���\���R��_-�0���ה��μ�sM�.�7=z���X �a���)y6�v�4��4����5Q�ڔ��u�|���_w\&�\�`�w�
��ciN&r��0���Q�ɟGѥ��y^
�"��K��]�<]S"ҙ=ySzf^i�g�I�qw� ���4���>w���3��>K��j�mZ
M��A*OеGBg� ���J��
-��V*�CoK�|kx���q�h�E�Hi��K-:�Z�\j�Wg����Hg�GU���*
�C
Y��j��#��
ɪ:���F��
�gB����nJe�m��g�X���E�P���!
UU��}Ai�Q�Ӗ/��,uóul��dv<4�h�8� @��r��;���HU5��q�k�5�E���|1
-ؽE
��?i(�J��G��0���A����I������/���r��[/�_��/
9���haI s��³���o ����0/�
3�0m`0pV��l��5�0�6Y#����*��|/�K*t�(C�w�'�󱁠�vZ��
l�
-S�2��S	��*H�Fe�G�R��
2O�c�5ɔgw-6a{�I��:� ;��<r&;���&6�.���zA#7�����)
�yZ���3��ݑmou`t�۶�ͭ-es�k�ʯ
:���Qfi*�
-���p;J���Ⲳ�D}Ƴ?�v���9�K�0�]�^�u������Aa�Y\�(���"�:H�����ٵ�?�K��ix�64z��?����
-endstream
-endobj
-10041 0 obj <<
-/Type /Page
-/Contents 10042 0 R
-/Resources 10040 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10034 0 R
-/Annots [ 10035 0 R 10036 0 R 10037 0 R 10038 0 R 10039 0 R ]
->> endobj
-10035 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 566.629 138.508 577.508]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000006) >>
->> endobj
-10036 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 546.539 314.566 577.508]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-10037 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 235.637 138.508 246.516]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000007) >>
->> endobj
-10038 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 215.547 314.566 246.516]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-10039 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10043 0 obj <<
-/D [10041 0 R /XYZ 90 757.935 null]
->> endobj
-1319 0 obj <<
-/D [10041 0 R /XYZ 90 537.706 null]
->> endobj
-10044 0 obj <<
-/D [10041 0 R /XYZ 90 523.16 null]
->> endobj
-9675 0 obj <<
-/D [10041 0 R /XYZ 90 206.714 null]
->> endobj
-10045 0 obj <<
-/D [10041 0 R /XYZ 90 192.168 null]
->> endobj
-10040 0 obj <<
-/Font << /F63 374 0 R /F65 376 0 R /F50 339 0 R /F95 1788 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10051 0 obj <<
-/Length 1481      
-/Filter /FlateDecode
->>
-stream
-x��XKs�6��W��R3�'��i��;M����h`�8�$G��]�DҴ-���|A
-\�.�o��s�`��w���ǜ�
��ˍb���8��s��8�/��}7'ؕU&����E�ߪ���_��JV�ժ�xN���
*��&�um���F���<R`�qO�
���˟fo/g��x�
�z"|�3�D���vbx���
綝�9�2��·�3l���F�c���C��&·_"U6I�׫։���E(z&H�|
:
��0&�&^��|α�Y�I����.Sy30����i�B
-�.�U1�½��1"�d�_]^о��!O�33����Q
�6ۤ6s��>���&�<��C| ��c�ͤ
���L���q�א�E�GEV�&�N�+����
l��Vu�9�|I���܅��ukA� Q߇9.�=�a�.?�g XVE	l�Q��T;�D}�M��&��J���ƚh�)��f?쾲��
0�T2N"�,d�/�����
NA�m�!�-宋"�/��ȷZ�8^��װ��,ɓ,�W���0�n�
-��������}ݨ����	gH
�[J��2��0D�#~��
A%ݤ�$O�\}�X��QxwP��e��8�+���CX�Rgno
j��+���c�O����P.
aF��y��	F���A`��C�4�eTw��clSЏQ-s3��3
�dԤ6O�*+UCS���73e��� Ӑ[�xƑҢ��-),Ԓ��gk��wi�F�q���Ѓ/	���|�jv�vu\������ (Fͻ��j"�
��.�m5���
��M���� ��BeeӖ��cP8�`�%��T��3{Q/N����L�^��q%�� ~�뵝 �D��<�d��i��Ks}i��7���t�n��|� n��
Q�=T�V�FR�i��itG~Pʾ:���j�~m���hTW\F%�ǬL�ƶl#3��u�wH�l�j�sp`Rf �|¬��G2�X��Yמ"����@<]k�,�T
��@\x����
�<����	� ��M
-
�!��J��a���
���5�=�L�S$�@CPS8t FC<��0��3�p0�z��Z7��\x����R�
ݒ��,ɓ�%Z�t�I�l{����JE:�-u�J�%��fIx~����S�,��z�K�=�ў�V�Җ��X=B�"E�o~�ip����]V���4[��=����-M&���Ȁ���
5خ4�
�zi����R�M
|�,�%��Vz�b�K�>�s
�L��n�HH%�$�ܨnK�����-�ݟ����������G���<�С������ 1��^��S�@h� p�A��@�2$�Y�
-�e/�8�S��dȓn�,���F��#I�N��yco;�[�
s�g��o�B��6�*�][(,
>kS�i @FT��J��F�D��Ӎ~6'!GI�#��6M�Z.oooQT�]��J�eY�˻Źg����֦kYQ��

f�p������8�
-endstream
-endobj
-10050 0 obj <<
-/Type /Page
-/Contents 10051 0 R
-/Resources 10049 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10034 0 R
-/Annots [ 10046 0 R 10047 0 R 10048 0 R ]
->> endobj
-10046 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 436.931 138.508 447.811]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000008) >>
->> endobj
-10047 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 416.842 314.566 447.811]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-10048 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10052 0 obj <<
-/D [10050 0 R /XYZ 90 757.935 null]
->> endobj
-1320 0 obj <<
-/D [10050 0 R /XYZ 90 682.134 null]
->> endobj
-10053 0 obj <<
-/D [10050 0 R /XYZ 90 667.564 null]
->> endobj
-9676 0 obj <<
-/D [10050 0 R /XYZ 90 407.875 null]
->> endobj
-10054 0 obj <<
-/D [10050 0 R /XYZ 90 393.305 null]
->> endobj
-1344 0 obj <<
-/D [10050 0 R /XYZ 90 177.318 null]
->> endobj
-10055 0 obj <<
-/D [10050 0 R /XYZ 90 162.748 null]
->> endobj
-10049 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10061 0 obj <<
-/Length 1453      
-/Filter /FlateDecode
->>
-stream
-x��X˒�F��+X%�*��'��%����r�Iea��hITx(�,��s�n 4��h�EV@ӏ�8�������O�ng7�<�H$=�9�+Gb���8����%q:_���vN��Yx�vN�[��������
��r�o���-���
-�Hê2���J5�T
)��qO�
����7����f,�i,>�p�l��vbh�`�d��^��)�g꼟�1��+|ֻ@"���S�ߩz	7����p+zcI�|,�<��f�*L+�ݼ�חQ�|	�4����=�c�R�������2/��vimژ�l[�'4����B����!
oV�
3U�r��qy��h]�V
x
]�G[oo[W�"_�;�g�G]���Ʊ��|����u�l�2��_Yx�)U�su�R=�p0I��ppil{�%R�:)�'���
iU��e��9v?�i߅�z�-~(BR �
PY̩p��v]h
4�}�9�$�v�Gl2�$G2覭7I5E�#�������<��w��l��t
�)��=N��
-�H�ȶa�ܧ�;�Ɉ[�:�'��
�t�$��3#܅���d�>��cΘ��N��>�mYl�ڌ�h���$�
y��D�h�i1��"-�
�����a��.�8�4�
�$TV,F��K�
�
-�����
����˶���
�v�587�9q7am>�07���,��i)�Ip`$�p`��C�n�.\퀭.�j�K���Y� ��1�?K]��yMV���rh�� l�� ��N�p��2���A�9�ˆ�rmU��i�ڠ�������Z�gj���Y�+e��mp>4vo����U�
#�x�mM�
m�u����,�
Vq0 �|��%�Yp���{� �cv/�Y�H��1����ri����nԻ"A��$�ʹ��M��|q��ӎ�����2,�ˠ��h�[�/�
�@���k"�Q�ܟU+k]�6 � �<�f�`:�o�v���9�
-hi�6�L N�k�C�c��JK|��ʥ�n�&���G��\
-��8&}��
���K��T�I��3
	|�����,�W$t'�, -�A4�uˋ��b at h+lG���6l�q���	�%�C\�6�@Hn�͟��ֻ)nK��`l�P��p�kg7
���gv�+��ȯ���A�p�	x�=Tķ�F���ͅ��bWv�fOh�Q����Ze��-9�X��Q5�9
���ݘ"�س^���=75�&wʌ� 8��
-������S�B�t���]]%<|��бdXjyu)�J��
�.�ÑUr�����q�����e�i`pvgBnt�/��7z�_f�xJ��1����F��k��L��Q,���B"!����>�l?۪l>mi6P��o�B������9Eû.���T���P�A#�U�޸
�Ƴ����gs�y�� ��9eS�����~�GQ�vy�-QR�l���)�z�@�n�U{��m*�
�� {����
-endstream
-endobj
-10060 0 obj <<
-/Type /Page
-/Contents 10061 0 R
-/Resources 10059 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10034 0 R
-/Annots [ 10056 0 R 10057 0 R 10058 0 R ]
->> endobj
-10056 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 520.623 138.508 531.503]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000009) >>
->> endobj
-10057 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 500.534 314.566 531.503]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-10058 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10062 0 obj <<
-/D [10060 0 R /XYZ 90 757.935 null]
->> endobj
-9677 0 obj <<
-/D [10060 0 R /XYZ 90 491.568 null]
->> endobj
-10063 0 obj <<
-/D [10060 0 R /XYZ 90 476.997 null]
->> endobj
-9678 0 obj <<
-/D [10060 0 R /XYZ 90 374.226 null]
->> endobj
-10064 0 obj <<
-/D [10060 0 R /XYZ 90 359.656 null]
->> endobj
-9679 0 obj <<
-/D [10060 0 R /XYZ 90 256.885 null]
->> endobj
-10065 0 obj <<
-/D [10060 0 R /XYZ 90 242.315 null]
->> endobj
-9680 0 obj <<
-/D [10060 0 R /XYZ 90 95.843 null]
->> endobj
-10059 0 obj <<
-/Font << /F63 374 0 R /F65 376 0 R /F50 339 0 R /F95 1788 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10072 0 obj <<
-/Length 1520      
-/Filter /FlateDecode
->>
-stream
-x��XK��F��WpJDU4;����*'�r��/�K�J��D�*ʯO3<F �j-;�	�����3�[y�{=�i6�y%��PR���{J$(�fK��ĩ?!��[��q�o��[��q�><��<�����Q~�N��>	�Y�O����(���>����"��K1���goF/g�?G,�
�,
-)&��f��3����������6
�
�k�v�����2���x�bҺ��]˒%I�
O�S��'�i��I�0_d�*�iO�J1
��jQj��	X
-kՋF|~{(�xcB����y��C`4"�����Ū0B�ׄ!�"�gbd�Ȁ
q��F!I�~_�6_��,����<e��Z>��뮣����
�h �ÞюACj�����m\���%�պ����9
-�(}H��P�Ƞ� �:
-�R�(Sp#����M���8/���V��� )��X0',�O
+A�JZ�	%SFIZ<��]/��qD�/�N��i�
-6�ߔE��"�}�D0(�~�$��_�x[&`��I ����Ģ\N�P�
�!Z'�y��v�8-�e&`vSݳ�<��-&C1� $�5B&ǍP�.��O�@�
���a�۪X&�|�$�"�l�2�[�h s�֐Jz�u�����?nwiS�F���~HAS�y�	l�8k0�1ʟ
�L�P5����7�]�{����L�h:�W��޽
y+��O���N�e��f\D�h����
G�B�_�z
-H㲦.�A
�xQZw2s-��fn��,�
�M�^�]0S(dM���C�c��U���6��5�ukL? �P��ѥ�� �z�o$�_��%���@Zة�ܤ�����������Y�NS��'�W�P���A^7��W�
��%�4+���t����`$�Uh��"�	�	,zX�px,fw��Ji���ml��&[���D;��'ը<��Nk��s�`b C���)4�R'�\�'�\br!�kU�e��%c,}�,�s��o0��j0�ݪ���k몫-k��)�b�$��z��AVl�X@��s�6�1�~����優�ZNp�՚�dۏk���xw�)�U65�nt{<��1&�����չB�
V�YȯD��.�љ0|*�Nԉ�ڼ3ͫ��.����x�>����(܅�J��� ��T�a��ԅ�\�;��=� 6����<�d��� g� ����J>��`;
�!���
�m
�2��`}���t����)>2B
�XYX��:�a�¯��l���3��ٿ��=
h�fo�NfC���V;�kp��आ�M�&��易�b�
��sr��0�	�}��5�9��O'�H�s�$
�vCV
O
��'�l�����E��,7��Hk0O�4�G��;�hby|8
8¦�³��L|ћ&�3i"!�;�Ճ�3�X��y��f
�q��/����Q����iȣV=�4,F@�T��m�۸���^}��JNk/	��I�CYn�77��
-
-�K�m���f�]��K��R���^�j�,oP7��܋�?�Q6�
-endstream
-endobj
-10071 0 obj <<
-/Type /Page
-/Contents 10072 0 R
-/Resources 10070 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10034 0 R
-/Annots [ 10066 0 R 10067 0 R 10068 0 R 10069 0 R ]
->> endobj
-10066 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.4 541.245 212.124 552.149]
-/Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-10067 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.573 370.25 216.297 381.154]
-/Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-10068 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.024 268.989 483.212 299.958]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10069 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10073 0 obj <<
-/D [10071 0 R /XYZ 90 757.935 null]
->> endobj
-10074 0 obj <<
-/D [10071 0 R /XYZ 90 733.028 null]
->> endobj
-9681 0 obj <<
-/D [10071 0 R /XYZ 90 592.061 null]
->> endobj
-10075 0 obj <<
-/D [10071 0 R /XYZ 90 577.49 null]
->> endobj
-9682 0 obj <<
-/D [10071 0 R /XYZ 90 433.021 null]
->> endobj
-10076 0 obj <<
-/D [10071 0 R /XYZ 90 418.45 null]
->> endobj
-9683 0 obj <<
-/D [10071 0 R /XYZ 90 248.915 null]
->> endobj
-10077 0 obj <<
-/D [10071 0 R /XYZ 90 234.344 null]
->> endobj
-1345 0 obj <<
-/D [10071 0 R /XYZ 90 118.771 null]
->> endobj
-10070 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10086 0 obj <<
-/Length 1184      
-/Filter /FlateDecode
->>
-stream
-x��Xے�6}�W�@U�u��IvS��6���d���C<���i���a<7We�j��Bju�i�����~�|;�L?Hf(�TZ�`˓	J�yd]ڄ N
�`��O�vXl��'�b;K��**����U�٬;���Rǥ��%aY6�j��o*]*�˸6���2�8y?��=!��H��DŽ��L.�`+��F,�]=kcq��X�'�O�ɨ(CX�NT�!�MhWY���>cO�r6��J�ZVq�. �x
�4Zl�4���*

���Ɓ0N��^fiY5��+y_����Ńщ�
���9��	�i�ܙ�
	H�K<$av=�]�A�ʚe�g�#H��6ff��?�i;���ˑ�� �q�j6���V#nx�C� ��@�C$�=o�����o�
�q�6�l#,T�M*T�|[��\�bԇ�[�k
_�j
�!촜
W����G WaA���0)Ո�
΁緞ǫ�C��&�i�7��F�0M��M^�
8ҧ�b������5�Ў6����*�H�D�c�&L�h��F����^� G�6��u�9T�;�<�I
���
a� ���ӥG)���#
�#��j<��<K��ލ�e���*�J�O��͔(�䔐q��'(9�,�,�]��h�.ֆ�/n��1�g`����U���2�Tt�� ;H#��2+�.X�u
�k��׬Rm
���M�(]
a�g��~�UVYQ����j��\ ��@i�Q�-/Y��
�'�
 �_\o��(�6�{rR[
��N�"x��p�H�4�4@�)z����t�	�y��}8�&�>59p2r\U2?Żif�۰A at Ut�x��R=MR�i�&@�
|�7�~

=�H2bx�x��:`	�w9��!��BK�L�
��� K����#,vaI���^X�����
�o�޺�7n}�ݯw��W�����~�O|F�ū�=ҡ�F;}p�Gk�
����1�e����a�h�x����rh�OVP�A�d������_wk� ��E����4��gg��ߟ���C�~x7-}Ȥ�Ы��J�P��7W��%
�B��k`hp4'��-)6?
36?�(U�#�m
-��0݆�k�,x�M��<0<����f(s�J�D��վ��4UG��A��\WU>�Nw�
Z�h��y��j����v�u� ~G�W��$e���7�*�����/n
-endstream
-endobj
-10085 0 obj <<
-/Type /Page
-/Contents 10086 0 R
-/Resources 10084 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10034 0 R
-/Annots [ 10078 0 R 10079 0 R 10080 0 R 10081 0 R 10082 0 R 10083 0 R ]
->> endobj
-10078 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 571.245 138.508 582.124]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000010) >>
->> endobj
-10079 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 551.155 314.566 582.124]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-10080 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.007 239.645 138.508 250.524]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000011) >>
->> endobj
-10081 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 219.555 314.566 250.524]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-10082 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.334 150.842 242.487 161.746]
-/Subtype /Link
-/A << /S /GoTo /D (main_Convex_Polyhedral_Difference) >>
->> endobj
-10083 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10087 0 obj <<
-/D [10085 0 R /XYZ 90 757.935 null]
->> endobj
-10088 0 obj <<
-/D [10085 0 R /XYZ 90 733.028 null]
->> endobj
-9684 0 obj <<
-/D [10085 0 R /XYZ 90 544.752 null]
->> endobj
-10089 0 obj <<
-/D [10085 0 R /XYZ 90 530.643 null]
->> endobj
-1346 0 obj <<
-/D [10085 0 R /XYZ 90 421.042 null]
->> endobj
-10090 0 obj <<
-/D [10085 0 R /XYZ 90 406.933 null]
->> endobj
-9745 0 obj <<
-/D [10085 0 R /XYZ 90 213.151 null]
->> endobj
-10091 0 obj <<
-/D [10085 0 R /XYZ 90 199.042 null]
->> endobj
-9746 0 obj <<
-/D [10085 0 R /XYZ 90 89.441 null]
->> endobj
-10084 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10099 0 obj <<
-/Length 2039      
-/Filter /FlateDecode
->>
-stream
-x��Z[���~ׯ�)AUQO�����u�v�6�c��]*Fj�P�@4��_����V;�J�0OМ���� ��#
�0�����dQ�RIet��R
)I��$�]EcB������Y�������A��l�s~We��|�?=%I\�8�~�յ��^��������Ks,����8ys;�τ�e8"���b"Zn'��
-��a��$z����
~7чɿ&��W�!,E�+��޵���Lgi������η�M�~^�뼸_,ˢџ�x��^�oX`�P7�U�sF��t*r1�oަ�猤�H��nE�.G.,v�%n���53)�H�
-�$�n�w�^�)��tw�@2��i'3�^�ӄ�k���
QO%Š��2�~������&�Gk�V�f��t��G�����
L�ˬ�!`N�+c�
�p�R"/p�^��!�Oy��LKwzلq
�K
9L9
d
��C������zD�v��٦�#�EP�n
m�U�W�C��Mm�͘H
�.��̡��<��:�}{��y�BK� 
���AR͠%,��7��zg����ND�$A
-��M;��f5��Ŕ��1��EV�ﷺh��I!Ї<�>T唊�	�J����
a����ʻ
(V#r(E���H?#MY���M�+7���,/��v
r����)*�d�Clj����b�D,œ�oG#P3c)���_�0!�
-�}�T�|�1�fk��^���^;AR������,�
Ç�x̪'C4i�@/�$q��3�R$�4���y��j����ͳ�����|�P;U��m�1$�^&=KR��ߗ���̡�M��M=�[�Nu�
k&00u�J�6/��
�@H�t ��HE�?r(Zc�:w��2b\ ���,�IV7��4EI�|n`�Unb���b ��K!���L,�E�H��YƘlm��լ3��`J�
�S*a�qu���
-�Ņ����
���6���5�Ɖ����X(�8�� �|�KHR�=�o7������� �a�!k	�^�w�c�*  �q�
'9��<h
%O�Q O
-�����aH1X�R?��bd��f�~�HL`Գ #���ś����=Ⱥ=c�f~�
��?ծ+ݲ��d�
�qb��f`W���6#�%���;�
��rv�L��i���l_f�yC�Rg(-�S���Ft�`o��Y���--��6�>;%<%r�t��j]ۊ�o�~
l�^1�|����)��䬎��h4L-&.��)N�dڈ�C��G,�:� �0�9<�N�#<���Ե&DO�����!?d�EYr��r�e;꼂��U'��ȃ��i��fւ�l;�5��/#�"Ʉ]c�ǀ �~�ी�3Ή�'\|%'��Sc#�j
cVu.��v}j�H�z��^jLNQc���5�X�19b�p�89&'�qj����-7&-;%7&}nL.�ƀ8�Ԙt��R��1j̡�+7~7&��˩1��R�zW7y�o.b�$$��c��`���옽��"�9&�+;~e�!;�׈�W�cuĎ�R/c��� h��hh���c��!E��x�"r��_� ��L	<x��^o�˪Ň��]��gp�ɕ����1^��9�

��}d
�A����Q
-N�AJJ/��4Pʿ���Ծ�=`�o(5IU��
?7tV%��y������y
-N0A�|��!`s'O�Q��	�H^�}��*}�����/�0��~?9Ak�*�����"P(�^�;C�
-�
���y����,�
-��KX$Q�X��W���A�}�a��od���*4%R�7n��	�h((E�8�z|���
C�l�_��΁y�v�:�O
��$�J��\2����� ��3��==�J�Ą{� 
!��H�l8���L7�
6:�tuvC��o���m��I9��~x"�bɥߝ�d��. PM>`��
5s����
�i�~�u�ש���?�b�RUV�FlQ�� �#���8���.s��;j��4�1�5@��dh�������	-k�/�]���f���
�ʞ�{/��-�ٖ��8���>���7,�
-endstream
-endobj
-10098 0 obj <<
-/Type /Page
-/Contents 10099 0 R
-/Resources 10097 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10105 0 R
-/Annots [ 10092 0 R 10093 0 R 10094 0 R 10095 0 R 10096 0 R ]
->> endobj
-10092 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.275 690.333 293.971 701.237]
-/Subtype /Link
-/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
->> endobj
-10093 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.269 541.145 238.02 552.049]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-10094 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.089 319.694 246.767 330.598]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-10095 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.899 96.965 431.977 109.883]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-10096 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10100 0 obj <<
-/D [10098 0 R /XYZ 90 757.935 null]
->> endobj
-10101 0 obj <<
-/D [10098 0 R /XYZ 90 733.028 null]
->> endobj
-9747 0 obj <<
-/D [10098 0 R /XYZ 90 615.539 null]
->> endobj
-10102 0 obj <<
-/D [10098 0 R /XYZ 90 601.301 null]
->> endobj
-9748 0 obj <<
-/D [10098 0 R /XYZ 90 394.088 null]
->> endobj
-10103 0 obj <<
-/D [10098 0 R /XYZ 90 379.85 null]
->> endobj
-9749 0 obj <<
-/D [10098 0 R /XYZ 90 172.637 null]
->> endobj
-10104 0 obj <<
-/D [10098 0 R /XYZ 90 158.399 null]
->> endobj
-10097 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R /F8 504 0 R /F13 540 0 R /F11 418 0 R /F7 505 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10115 0 obj <<
-/Length 1863      
-/Filter /FlateDecode
->>
-stream
-x��ZIo�F��W��J at 5�}Q�C$�H������J�J�v�_�7
)E�v,A����m���'�?\.^I�d$���"18Q� AIr9O>
	A���c<|7"x���t�nD�p��[f�2���?�iy7��o��
n�ј
-<|�Jw;��%[d�YV�2�˸C����7�����,�	q���l=��N�p�M�3:�u��	�
������^��i�0扢ɽ���t�UY��8C��.^�C4R�$c�bA�����^�x%p�
-���͗�̇c�-*�Z��ܯv�<<�Q����U��Y�kU
�ʊ�LW��Yx;]ؗ~ǘaK���*��v�\�D ɴ7��ݭO��("N�
-�;w돛�i�NL�:��=O���@uq��pT��H���jy"���FD
��l��7��&��ͳb��
g�	w х�;Ĩ�mw�:d�U�#8d��!���U쐽;�����l푥���+�f���ղ6j�J�zUY����_!�o�
\}9��]]�0PAP'Qi�9F�*�"G�/��Y��zd]�-!��]5�L�bġ��N�Ӵ
n�8#�ik����B�8��|a_�۪�@
|ǽ�ޑ.
R���ؿ3P+2��}T������2�V�Bژz��
���8XL�z��s
�(��`����[?�!�6��!K(EL��&�t�b�Yo�[��
u��k��J#B�(���5� 
]�]+��T~���n�΂���`��/X�RD�3E�4.t���B����I�StC��
-�ö�
-S��׃�{�b�.�r�L�V�(�����Q6Y�G$�Jժ��;Gt�|� �П�2�U�g

-z�vb8�0�ǜ�\-0��: ���69�M����ɤ5����w���C�|�^eV�p-����z���{�8�MvG~�1Mr3
JS��L߻p��
1�{
-�p�B��g�}]���m^di9}�)�F�}�U�V(U$0;�U�u��(}��\,g9t�iU�y��L�)S��
#U��Ԉ��-G���n���'���Ȧ�Y�7pSd�����$��r�+*�1 R���L�`����A:�6=]��>GgpL�~S�Tyl��펊"-��M��j���l
Q�+s
�`vc���
y����`@�m��8�	z3rX�&�
-�PY��JSh�08� �p�E�d@ЕZ�ЈH5��[UK
ta�	��.���I!�5�4_͚7��Q���FER���Yk��L4%l{��2+�� 0��M4#�c„�2�;�S
# v��
}��IL"��LJ��"���B���e�. (��PK����Z>�Z��)����Z>S�gj�%SKs at -)���2�q�J]w����A�@
ek����
i¹Z���
���m�����'޳�G�O���O�X�,���z(�=��z/3c@
�`G�z��̠�ju�"���13�J�L�eogpZܜ��D����ZZB௧h岃+�4r��eD��͸�ט�YPN�G.NP28\ȉqkWDK"���'�&�b<΀/�V[�O�!E��t�
Ң;3�K�ED)�A/mؓh���N�(+�f"�#Y��@zP����=�y���W�f�$`f��e=�ʜN	�2�q���
0N΄ʼn���5��
yL�yz*�*�%��1|�����S��~�d�0ֆ�?�4�$i��ʇ�9
(b?���
?J���C~%]�q��c�pv���0����_���9ݟAH
i��+�ILk}�É0Іy���٪��4�Y��m9d���u��_���~J��4L
Bo�(h�_A>QO��
�����޳?�z���E�5��B
7y����������v�ȷ%ʫ��vuqX�-)00��jQ�Yo��~^�͵;�����a��
-endstream
-endobj
-10114 0 obj <<
-/Type /Page
-/Contents 10115 0 R
-/Resources 10113 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10105 0 R
-/Annots [ 10106 0 R 10107 0 R 10108 0 R 10109 0 R 10110 0 R 10112 0 R ]
->> endobj
-10106 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.44 589.661 513.996 600.565]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-10107 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.617 494.906 476.603 506.545]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-10108 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.44 323.43 513.996 334.333]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-10109 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [323.631 240.63 429.297 253.109]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-10110 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.549 97.651 195.105 108.555]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-10112 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10116 0 obj <<
-/D [10114 0 R /XYZ 90 757.935 null]
->> endobj
-9750 0 obj <<
-/D [10114 0 R /XYZ 90 569.496 null]
->> endobj
-10117 0 obj <<
-/D [10114 0 R /XYZ 90 555.061 null]
->> endobj
-9751 0 obj <<
-/D [10114 0 R /XYZ 90 303.264 null]
->> endobj
-10118 0 obj <<
-/D [10114 0 R /XYZ 90 288.83 null]
->> endobj
-9752 0 obj <<
-/D [10114 0 R /XYZ 90 89.441 null]
->> endobj
-10113 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F8 504 0 R /F13 540 0 R /F11 418 0 R /F7 505 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10125 0 obj <<
-/Length 2113      
-/Filter /FlateDecode
->>
-stream
-x��ZIo�F��W�4#�r�U�`I�
 � ��g.�@�-�&F"5e���y�p).���&@�L�ŷ�W�W4��"
}?��zv�N�(F��2��F1��$HP]o��sB��%���/�'�>Y�_P</vO��L�?f7eR>�V��
��E�XR������]��nS�,�oS�˸s����fo�g���
G�Z"RLD�����p���?D�XG�v�>���]�a��
���2���x�ػ�`\+���H����]��e���H7�d�+�4O��l�O��W,�m�+�3�kb�-�1�Ӥ\��ݿx<fu�f�_��E�1�b�@�}ywtk�	ED�z͛�R`��]R������M��!^Tׯ������N"D��;��՟��a"��
1D�z	���5w�,�H�UHR���rS��۽G��9D���1���FrkR����~��vM�T
ʺ(#�b;b�䈫@_` i��U�΄2=
���Y !p� M��+�|���,�ht�۽�lT�] [...]
**T��SŔ���}Z�#��
�N�uй��P8F*n���$t5M�쯣�G{
3��؀Ï���B L"˱.
L`i�,C�͵�a�� hE^�������*-��@@+(le�1��6�&��F(�%����.��ar��>�l��
-фmA�
捛5��i
l\z�K"����Eq�PF�ちc�<��
r�eP��A҈*2ԝ��_��%Uf&^Po�M��O��#��c�Y��|�a����fywڧyu��X���	}Y�
s7����
-[=&�6�U�Ƞs���&��
�u���ٙ���
i[�!��9jÈ��Ӣ
���$��h��$�{��{��@��dJ";q06�3������
f�6�ܔ��F�.��`*jt�?��;U��VӍ�F�ɒ v�
@
�Um��T�~?
l��|��
V()-���"�=��S�C�ű�
5U�0��7.�
��l�
�p�I���8܃��[���Y��͡-
�8�XNi��N�%0���\�;M��em�z�����m�j]�IV
W+k�z�K

$Y
��Y��?#�1�xlҼ�gyRc��ź1�c}�Zr`��f��"OM���9�;&0V��K at A�l��ZN l -�l+!B�
Jk|��8� ��+�~���`�	`�P�ذ�7�[�ۭ���V]ܬ
-�8sQ�Scw�c;��nAWC\7���9 �8�2�G�t��e���[n��֊b at S�D݇cH��D�E�Gq?QM[��Z�<Id at 8B^f�Բ����uhɡ�c��e
@��f$�gҠΧ!az ���K�PK�1�5�$!�~hc�&�$�9o�4
��"N��T���
^�t��L����s:l��öB�6�uK>C0���`t��I�ajhH�r�ǥ͈�	.�r��p�ۡ��w����EU9����tGN��q�Yd�W�S����#������'�
$�E����_�$ʼa����6���vE�y
�}l�)5
-v�;�Sf*6��
�E"�s�;~Ƈ�m�Ӯ�6���N����<��K��F��q
�>�6�1��!�5
-!�	
�Db�t�u��F�)h�W&��zGj
 ��ִ_�a�3Л�4�3v
܆"��p�<kféh��|�a����M����$�6c��@f����ٰ�dP���B�wHn��4�j�7
�
�_�i�y>	��g1
1s3J1�b���
�e���4Lj&��2Ϳ
-Ӕ���l�jb=�-��T�Q÷������

O|́��8��`L�=�	6�lL�l�D�,ۄ�-ۄ�=H�_�6�����6�slT�j
-%.�lӋ���elJ���lӜ���b�����!�$�BJ��$�W��l�+�|�m��l��6�g����#����3)�� B�Hޫ���q����<���b����cZ�}!��ӊ���T{oB�`D��i�F�kP盍���޸�g����,h�
�*�p3j�갺�z||D�GtʳC����p�]
�#�t���}Qӱ,��{;z��L�-
-endstream
-endobj
-10124 0 obj <<
-/Type /Page
-/Contents 10125 0 R
-/Resources 10123 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10105 0 R
-/Annots [ 10111 0 R 10119 0 R 10120 0 R 10121 0 R 10122 0 R ]
->> endobj
-10111 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [334.883 690.333 440.282 702.812]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-10119 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.549 546.589 195.105 557.493]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-10120 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.059 462.189 422.924 476.904]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-10121 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.333 204.579 425.662 219.294]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-10122 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10126 0 obj <<
-/D [10124 0 R /XYZ 90 757.935 null]
->> endobj
-10127 0 obj <<
-/D [10124 0 R /XYZ 90 733.028 null]
->> endobj
-9753 0 obj <<
-/D [10124 0 R /XYZ 90 538.106 null]
->> endobj
-10128 0 obj <<
-/D [10124 0 R /XYZ 90 523.623 null]
->> endobj
-9754 0 obj <<
-/D [10124 0 R /XYZ 90 280.496 null]
->> endobj
-10129 0 obj <<
-/D [10124 0 R /XYZ 90 266.013 null]
->> endobj
-10123 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R /F8 504 0 R /F13 540 0 R /F11 418 0 R /F7 505 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10141 0 obj <<
-/Length 1657      
-/Filter /FlateDecode
->>
-stream
-x��Y[��F~ϯ�S�Hd2Wۓ�������KE�dvc_�'�M}�x|���@���%���g��;�c�\;�y1yr1Y<w�#�t��\\9;�K��Ĺ�8o�� Ngs�1���<
�(X��Q<Mvǭ�d���2
��r�^��ij9x�t�=}��TqO�kzwŔc9{�r��b�qB�2���!�	g
M޾���_:1�;�B*r8ep�9o&Mp�
�Ηc�x�E����g�k��0��eaD_��-�G
���VE�7�e�8���p�
-��}�b�Q�x.p;�I
-7
-
�,�Q1=@�8���<
-ַ����T�lT�Da
�$��
�D��D��j�W�.�<3���ȫ-�]��m:���(��a�3���рB*�ݏk$�o�@%�V��J�v2�(T�
���
�l(v`k��BDN���ฎo�)[��R�C���x�Di���]y���
�HC̭Ct
�L1�5\g��mO{��`�7���j 4�`�����hL�}1aH�Z�Zzi���9�����!�J�1����s?J�K
���.Hs�@	�c�����WW�P���w�w��8�o秨��(ͭМxȥ%�<.,,󩓁,q���
��O+\�-+�q��u�GS�{
�ץ] k1�@nv]b������m�;`V޾T��T<T�*�=Gv����n�����J�8����;e���^=S�|�Bo���)�~�)�3�F�N��1��xF����S�Cq'�
����r���.�>� �g^�F��]���O��6l��ap��e6y=l�'��=�y�����`�:�0���j|2
-[��=V����@}�4Zܘ���~�Yu�
������"54I�tH��LgW�&�:
���u�
(��>x at E�M���PI)K��'��e4���� �pI���+�a���e#��*�D���e�(�������RZ�vՃzh�
4@�!L$k��}��"	X��KU�E���4�e�C�t
y��(WC�*�_z��D�t(s�r�ۭ>?��M��D̼^�2ؙ+�
cȠ��Y,�h
K��oA�a��
�ol��m�k��K���^3o	W��p�(��SG��7hl�6��ϭ0Z����E���M�����{�n��Jo+p�
h�
��c)���8��W��|�z�}�7�^���|9c'����Xvaj�Y��E��, S2} (�-��c�
��i"�P����9� 8���1�*ߋ�k�:��GT�o�%y��$�>�İDB�#$	��I���9(p����m6�H�97�m�-�T�u���r���j�k��F��T���;B�|�or'�`�I�OY���̙/����0�$UY�����3
|��Aξ%rF��6����4��t0oag�RAk�
-UR"�2e�0̡�n̏jXP�v�G�$��Ra���
��s�A�U���0݄9�7�r��
��a�6�;� W��Ma$44e=d��
3)(��~��
-��Ո�PV@��u.��\"�?�{]�}
q��0���(���C�Wq
�-/+�k/K�k/��U���h%������4�����#�E?g�*oT�jֳNu����Mc/�.�N�Z����p8�u��q�f(�
h��i	�������R�T_����ݜ��?�
o�
-endstream
-endobj
-10140 0 obj <<
-/Type /Page
-/Contents 10141 0 R
-/Resources 10139 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10105 0 R
-/Annots [ 10130 0 R 10131 0 R 10132 0 R 10133 0 R 10134 0 R 10135 0 R 10138 0 R ]
->> endobj
-10130 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 619.364 322.446 630.267]
-/Subtype /Link
-/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
->> endobj
-10131 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 490.067 353.45 500.971]
-/Subtype /Link
-/A << /S /GoTo /D (main_BHRZ03_widening) >>
->> endobj
-10132 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 418.47 268.34 429.374]
-/Subtype /Link
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-10133 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [286.885 289.174 373.57 300.078]
-/Subtype /Link
-/A << /S /GoTo /D (main_limited_extrapolation) >>
->> endobj
-10134 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 277.219 167.927 288.123]
-/Subtype /Link
-/A << /S /GoTo /D (main_BHRZ03_widening) >>
->> endobj
-10135 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 189.682 268.34 200.586]
-/Subtype /Link
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-10138 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10142 0 obj <<
-/D [10140 0 R /XYZ 90 757.935 null]
->> endobj
-9805 0 obj <<
-/D [10140 0 R /XYZ 90 682.134 null]
->> endobj
-10143 0 obj <<
-/D [10140 0 R /XYZ 90 667.564 null]
->> endobj
-9806 0 obj <<
-/D [10140 0 R /XYZ 90 552.838 null]
->> endobj
-10144 0 obj <<
-/D [10140 0 R /XYZ 90 538.267 null]
->> endobj
-9807 0 obj <<
-/D [10140 0 R /XYZ 90 351.945 null]
->> endobj
-10145 0 obj <<
-/D [10140 0 R /XYZ 90 337.374 null]
->> endobj
-9808 0 obj <<
-/D [10140 0 R /XYZ 90 123.156 null]
->> endobj
-10139 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10157 0 obj <<
-/Length 1552      
-/Filter /FlateDecode
->>
-stream
-x��YI��6��W���@��"���
� 
�H�饓��X��Kr$9��}Ej
yi�ô�eƢ����v�
�=�
]��#���\�9;�#�S�\��͘��ɔ`���&��,��&���n��,���fA�������d2�
����<7߫;U~��������%x��������ˈ�e�!�%\ ����G7����#&}g[JŎK�_9F��A�(C��-�Cܳ�}ծ�QF2)�����6�$�
-��^��
���Vd�:]E�&�v���ђ[3 *ѽ��G��"M��<�
�OZ��K�[��#����Ժ3"� ���x2�r�u�s�1
����兊
F=�I}�"8�GT��i�D��B#N;���x��G������V2�z�T�uI%��
�Z��
I�7�pbd8n�L=XB*E�R�i�J(r��"
�҃rc��X�"��.�(0�
-�ݖ�2�f*߬
-����;��H�����{k��>3
���N{�j�ܔ�l	i5!|�.b��4Y�C[��)8�?�az�ÕL��j�0��(���uj7�)1�2��.�mZ���m�Dk�E�M�VYP�ل�1���m�����PMz�X*�g�ݍ�s^��A��ֆ^,\\'�����
-h�eP�0B۵�P'��c�ɋ����u��*�� �������b
=G�0$�
���N�DB?3���w۰�/~�!Z��zi��[ȩ��l��οM^� a���T��W�GUѷ�2��49:�Qi_��{�� �54=� ��k���J?�p68�����
+Z�{��uB9�pܮ��>�f(;Nm|��d���	�z�ѪQP��u_(��Z\OKc7�k6���]D��{3w�^�-6�{��-���e��ڠ �*�YA�X&ї����0�����o
U��"�l
΋p6�fs!��*
-�Av��UR
D(
�T8(dd
�悍���!�c~��}2�D"��!��t{���A1�
GY
��{C�L��0��M�D�W��e�rE��0���5���&10��
ioG\d�`d1eA�G\�C�ʽ�㭯��We>o(�ץ��%
ഃ�#��c����2F�&�RKy�0�Y0�
(���Q
��.aԇV��;�j�x<�kg�C,��
|���
~�!_
�:���a�. �� 5���G��.<��s��s|�
�
�"�3��0����P�� �q#��Q��{8��D�Q�����W`~N��?�(�����8*T8��{�f� ��+5	���멌�Gn�ؿ�FM
�G�����k�=����G�\���=zDZ�ZzD��
CU2�Uk�
�O�;&F��;��0
���U ���bB5e��À5�u����j��8�ܬ]�#`�
\���?Wku.�o�="����|�
�x�j�o_,s /��!�;�8���NJ�G�t���~�����A�)���6�i��"8
����A�|PU��>;է��27������:Y�zvu��n�"G�$Zg(*����
�pK
��h��΍6,N3U� X�K�� ��>�
-endstream
-endobj
-10156 0 obj <<
-/Type /Page
-/Contents 10157 0 R
-/Resources 10155 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10105 0 R
-/Annots [ 10136 0 R 10137 0 R 10146 0 R 10147 0 R 10148 0 R 10149 0 R 10150 0 R 10162 0 R 10151 0 R 10154 0 R ]
->> endobj
-10136 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.644 690.333 376.001 701.237]
-/Subtype /Link
-/A << /S /GoTo /D (main_bounded_extrapolation) >>
->> endobj
-10137 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 678.378 167.927 689.281]
-/Subtype /Link
-/A << /S /GoTo /D (main_BHRZ03_widening) >>
->> endobj
-10146 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 590.841 268.34 601.744]
-/Subtype /Link
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-10147 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 461.544 335.736 472.448]
-/Subtype /Link
-/A << /S /GoTo /D (main_H79_widening) >>
->> endobj
-10148 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 389.947 268.34 400.851]
-/Subtype /Link
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-10149 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.631 260.651 359.783 271.555]
-/Subtype /Link
-/A << /S /GoTo /D (main_limited_extrapolation) >>
->> endobj
-10150 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [491.531 260.651 513.996 271.555]
-/Subtype /Link
-/A << /S /GoTo /D (main_H79_widening) >>
->> endobj
-10162 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 248.696 128.077 259.6]
-/Subtype /Link
-/A << /S /GoTo /D (main_H79_widening) >>
->> endobj
-10151 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 161.159 268.34 172.063]
-/Subtype /Link
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-10154 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10158 0 obj <<
-/D [10156 0 R /XYZ 90 757.935 null]
->> endobj
-10159 0 obj <<
-/D [10156 0 R /XYZ 90 733.028 null]
->> endobj
-9809 0 obj <<
-/D [10156 0 R /XYZ 90 524.315 null]
->> endobj
-10160 0 obj <<
-/D [10156 0 R /XYZ 90 509.744 null]
->> endobj
-9810 0 obj <<
-/D [10156 0 R /XYZ 90 323.422 null]
->> endobj
-10161 0 obj <<
-/D [10156 0 R /XYZ 90 308.851 null]
->> endobj
-9811 0 obj <<
-/D [10156 0 R /XYZ 90 94.633 null]
->> endobj
-10155 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F23 340 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10169 0 obj <<
-/Length 2062      
-/Filter /FlateDecode
->>
-stream
-x��YK��F��WpZ����ހ
>�:<���F�gzOc���k	d@���f=���t�}�EE������W� �/�~��y#Y��TR��)bI��$�̓!!��eD0���%�aV���%�a���T^g�wuV_V+zI��*�8�v�5�
�S��<S�F�^ƥ9!˟oX|w��uA�2
c��Q�D�9,>���
�0bi���!��u�_����zE�Rx^!�D�\��]��
�$1�
OW���T�*_�#N��S[g�j��EU���b[j��O�3�',�*��F� �M�{�&#�!:XF��J����$�^-#�z�}��uV�����i������ӵifVKM��j�R;�r+NG�%��^�'��̺1�1�d��̪#��(|�$��.w����8
�����D
��,6/F�j�_�m��f��m5�DB�k'Gr�&��hf
�1�Rv�Z5�}��"���ܦ:
OmQn�] �k�U�u����E������J�%����] [...]
N@�6���0�9�
����%��Ev�W�y�`�M?���ly:�Y��
�2��b?(h�_t](
�Z\7Jk���s.�0s�Y8I"Ƶ�
�������A8��ߋ��v��^o�
 �j�]������דҽ�q0��I<B��>m�ن߉��p����f�"_g��tPe�(B@��!�!AaGΰ�"faq?��,^�r_�(I��c8�-�݂b�~��3D����d��޷�a��DE�{+�E��x" ��
�o��,��r&'M�
���A�b҂""�1S����2N>��fy�n��F�{Û5�m��>�xj/�n/G5�� Uٷ���
��J0,vT˭�:ϛ�M
-O�dő�q�#w�LV;����!
-�^g��x4����|-ʉ�h=������F�|
[��҅���C��z����4t]��{�7HlN�7f0�E�o��m�[���`?�g,
���zTJ�z�
-�8�7�>�w���٧}��>P�e
G!�ZBW��d<�d����&
F�4�f6@
-��7�ճ>i����~�'Nќ���>MQD�DW�'����a9Ą��"M����<I����Y2	
�v��[�;'���
w�j��"m�}Wlwʜ�ᦀÐ	�	qcEMem�Nx^�	t���:�a��j�|4���j���
�	�.����@3��9��uD3���P_���={J�9��9��TZ��oZH��v��(�z�mL���j�<��S pz��
O��,k�6+7J�
h��o�L�������`G6�0�0w��	���V��0�J�04�љ��w�sG�@�4f�mV��8��L�K� RF��m
`��
;֗D3��=��}p_�Z�!s�ޙ_#kw����;���i�|�	P
-�
��t호�#���:�L*�T�:A�p���5��:�E�n~��N9J��_G�m��9"�9T���fzRs[����;.���u�bD��a5"�+�-)O�
��99���t4�u4�����I�t ���8�"�N`�$
F9AȌ��(yVs�z0�[!
��|O|��'Z��0�=Z��BO�S�_�G�ߎ��aɘ�r��>0PfLJ��/���h���b�,V���>� {��32�R~,�������?ɏ{��?dp�$�����1�
�T�	�'I�VGG�������:��7�iT�������Yy�
+��ڽ�M�$F�O�u
�
��U�M�z�KЍ�i#<�K��Q_���=�nn��3�4�T���񸿹���p4��t�!ϡ�U�X0y0�\��%@[
-endstream
-endobj
-10168 0 obj <<
-/Type /Page
-/Contents 10169 0 R
-/Resources 10167 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10105 0 R
-/Annots [ 10152 0 R 10153 0 R 10163 0 R 10164 0 R 10165 0 R 10166 0 R ]
->> endobj
-10152 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.644 690.333 376.001 701.237]
-/Subtype /Link
-/A << /S /GoTo /D (main_bounded_extrapolation) >>
->> endobj
-10153 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 678.378 148.55 689.281]
-/Subtype /Link
-/A << /S /GoTo /D (main_H79_widening) >>
->> endobj
-10163 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 590.841 268.34 601.744]
-/Subtype /Link
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-10164 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.639 362.928 300.161 373.21]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_73cb0d61cccb259e06b68d4f83deb6d7) >>
->> endobj
-10165 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.639 92.605 300.161 102.887]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_73cb0d61cccb259e06b68d4f83deb6d7) >>
->> endobj
-10166 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10170 0 obj <<
-/D [10168 0 R /XYZ 90 757.935 null]
->> endobj
-10171 0 obj <<
-/D [10168 0 R /XYZ 90 733.028 null]
->> endobj
-9812 0 obj <<
-/D [10168 0 R /XYZ 90 524.315 null]
->> endobj
-10172 0 obj <<
-/D [10168 0 R /XYZ 90 509.744 null]
->> endobj
-9813 0 obj <<
-/D [10168 0 R /XYZ 90 258.171 null]
->> endobj
-10173 0 obj <<
-/D [10168 0 R /XYZ 90 243.6 null]
->> endobj
-10167 0 obj <<
-/Font << /F63 374 0 R /F95 1788 0 R /F23 340 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R /F31 472 0 R /F7 505 0 R /F1 542 0 R /F8 504 0 R /F11 418 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10182 0 obj <<
-/Length 2099      
-/Filter /FlateDecode
->>
-stream
-x��Y[��6~���Ӯ
�
^%�)�.�� i2ۗ4042�VkK�$�q}E�BI�i��"3���C��w>�8�8�f�����e��TD���1P8�#�%��6x�8]��8|�$8L�c�y��8,׽ޖ����L��z=
^�rE�sH��޾֏�y��T�^�#rB���]|}��mA`e8 �JD�b&��x�[�6��)\�c�)��!x��q��V	<��2�#a�����4"a��T��@�ꔤn|�
u^eE^��Kv8X�'Q����c��,�Y��վ�v{]��!˷zID���ӕ��V������|Y�_�
^�Y�w꜆t��f��� ����)��L�Z���z�\1.Ç��&���Z��h��G{M��L����Y�����m�X��YkRf��A;���#�`Y�w�W�7�<

mT&��J��3u�36ј�ua�M\�;'��+b*%
_��}���r�xVb0O��
���%|�XG�m�f�bx����bnr�Y��c��)�Œ
�)��o#��J�A�T̤�Q"`("�|��K�QL��@*ɝs���Y�MЭY�m<�bCI��mk J�
���: nJ]���w�wz$6���r�)b�
  �Yd��lE�g
�i���T��	'G�:��h����K�&�E�b��(�.Nt���%�"
-8"�9�	���Rs�V�c�L�����kifdX-�o�D�*��GK�(����O�8��@,��
hu}�!W%T�4q $D^62c� 9���Jy����2�#"��
��j;�{���lk!�#��z
��&���o�0��V�	Bj摅�-��ah�/~���8�=��!��ce�V$���7+t=pt4�����k$�镤�
 O53=��2H/�*`9@�sd��7��m��ޏ����;�d3)�D�O��������!d}7�uF���N����W�W�q�,o�4sa(�-P'!B�=�h�@��
�Z�����X��>�x�UpV��Po�kX�jH�v���34�z��w���C�{�M�oM���)��|6���G�SR�=���V쮫,O��	r�8,�G��a
Í�u�ԃ�w�~����Ό�p4�L&c�L�F�f��_(�Х���akE��\9a�Ud��iZ�d^8>��VIJ�T7��;�p�pG>7H˄r����|�4Sm:m[ĺ�B
�9�'�@j�	tX9x6x"��8��ۚca�m��I�S�c�
��i�hG�7o�#Zs
 ��ڠ�̓ޔ�
-�
�v�%���b�\S 
 �	Ӡ-���;\JZ�1���
J�6$}H%�'�U�&���{�0R@�<�s�K�6>
�) 
yړ��0�P$8���
��I���OKBH�٦��
��y/-J��"w�޶�q�<��e::����ϥ!}�9=�l�K|���ODY��a�� ��`�]�zo��
�
��>Cx��r#�r���|x�x�\�[fK-�v
��(�b��C�^��g����^6��F�˧�Z)�ɀ�9y)��;���;�M}=�9��(�]���e�u�1�7�3�6����CX~
aa�j��E�@���^Y�s�P,j�����xU��
}e7�X�d�Q�n�a�
x5�G���,�`kE��y+w ��x���y3�M��v7�Jp��B�����H�����|�&��l��!���ă$м+50@~���Mhc
7mp��z#<��"#Aħ��
�g/���)̅�
�&
z��x:��3��돃��� �w�d�>�`����,9l^����ћ�@��:��_3�0H�.���2A;W
T� �z��$
��
�T\
�����5o�x&c
-	�5��#|1c*DUb2�=�E���6�И���#�6��k�첃��T��Θ����
�t�565�Q��|�d]��� ?�9���+E�Q���Ў�������k���Va�{�]���w�D����W�
��?��O�cO�*��W>2�Y��6�ؖ�}tue�[����e�I~n]c*�&TYu
ˆ`DMʛ� �ot�լe���wvCܯ��1���}]��ww���:�٩DY}w:
�Q
h!��:%�m����"�a�؜L����
6
-endstream
-endobj
-10181 0 obj <<
-/Type /Page
-/Contents 10182 0 R
-/Resources 10180 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10188 0 R
-/Annots [ 10174 0 R 10175 0 R 10176 0 R 10177 0 R 10178 0 R 10179 0 R ]
->> endobj
-10174 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.334 580.208 236.659 591.112]
-/Subtype /Link
-/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
->> endobj
-10175 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 508.469 256.157 518.367]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_73cb0d61cccb259e06b68d4f83deb6d7) >>
->> endobj
-10176 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.708 394.18 250.895 423.245]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10177 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.024 349.388 483.212 380.357]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10178 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [322.376 129.177 385.519 140.081]
-/Subtype /Link
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-10179 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10183 0 obj <<
-/D [10181 0 R /XYZ 90 757.935 null]
->> endobj
-9814 0 obj <<
-/D [10181 0 R /XYZ 90 644.989 null]
->> endobj
-10184 0 obj <<
-/D [10181 0 R /XYZ 90 630.565 null]
->> endobj
-9815 0 obj <<
-/D [10181 0 R /XYZ 90 500.315 null]
->> endobj
-10185 0 obj <<
-/D [10181 0 R /XYZ 90 485.891 null]
->> endobj
-9816 0 obj <<
-/D [10181 0 R /XYZ 90 330.126 null]
->> endobj
-10186 0 obj <<
-/D [10181 0 R /XYZ 90 315.702 null]
->> endobj
-9336 0 obj <<
-/D [10181 0 R /XYZ 90 203.757 null]
->> endobj
-10187 0 obj <<
-/D [10181 0 R /XYZ 90 189.332 null]
->> endobj
-10180 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F31 472 0 R /F7 505 0 R /F1 542 0 R /F8 504 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10198 0 obj <<
-/Length 2637      
-/Filter /FlateDecode
->>
-stream
-xڭZ[�۶~�_��T��0.H�3�i3q�4�q�m^���+A��)R%�]����B�@I���K� �s��� ���/~������7�-2�	*��E�� �S���-�/	A1]Ec�|�"x�7�|�vE�.??�]�o~.
����^��W$]��*�
/�/�5�_�^�>Ym%��b��1a��������w$�
�%�	J_lw�Nj
<�i���ŋ
uXĔ��\����
v��x�e
n���F�N
�e�ٻ�('��A׮��͛S��^�é�L���j�s��g���eY�(_�գ}MvO��EZ�^��
-��	�L��4E"���x���\E��)o7 v�y��w�!/��0��GL���@BXfb�h�6F��̴��NM՚� �8�/�f\לd`N
-$D?�د"�&˼ڙF]��M���&R�F
�ʪ�v��X�����;и��\�������)KH�W�(�dYtv���R�����Z�E�3D�d��g��ǩ���0���)��U�����N"C	
LpasέG(E����E at R����,�ʬ{��n����qr_7���24���#�S� �ўd	F|��a�I��Y�8�l����'�V�[!��_n
���

���5�d(��J\Օ
�z?�T�h6�G�[�
�æm�l+P
3ǩiW
d�Š���Q��=�6E�U��Ƌ�%U�/���yV���I���δ���c�n=�c�3u���uѫnz�B�d)���pD�lp~c�ȸe���
�$(�"������@��m"?�}J��*ݶ��!�po�
}ȏ�3���+s���3?|a
�Yڡ���H���La��� �V��UF�I�&��˪>B�,
-q
-���c`UP���U
U��P�
%�Xxkp�/v���8^�s�7�@n6��% �P!���Ss��d����#�
-���@8!S_�a*�y�9J>�&

3^	�8�0S�8���nEL�Pb?�?=#%C)�˛L��V���e4�mvT�;�Ɍ7�%�]���M� �����ɮ���W�
���@9���e2�(m5c����cȗJ~�lȗ�L�K5�n��&�(���P�a�0����D��R��$�$�e��NQ�OU���v�����ܷ�|k����u; �ᕣe:����I�	p��h� �4z*;������ts��A��J���f. ���.R�vUP��Yirs!�Yj)�'н
- at w�^�Cl�M�0_�i�P��GK�~��L�R�D����=�m��ͻ�
��z
�@	���r+�N��~.�Ő}��ZĐ��>+d]J
��_�q�k���j�}f�x��P��_W�I��(�{g
|�*�
���7M�B5&�s1Ő2&@i�:Η΢�C�k���J5���=����@���
�.�ɚ�
l����38�9	�m�@�
�j7l�"��@�87��L �16b��&����/�p�f8��'֛rH��i�3����E�'LN=�W|1S �C��S��QM�]�qn5m?��B �bV��2��S(��E$�ʜ����h�A��tx���V�6,�V;����Ar�c������i�۳l���ۭא�7?�e�����	��]�<�ldc�hu�w����Ő!b�����n���(��K(��c�ԱX)���i#������i�M%�>mR�|�=��l	���b2t����� L�G4�(�
-nNi�S�3����ڑ�Z���Ϧ��H5<P��
�G3�j��.�S?��s�lO��K����X�,�8CDp� ����;\F��cQ�,��(�X��iݧ�9k28��$4=�L�dʑ=�
-3��ee@
5

-�2;�4b<Y���YA��8
X�S�.�?����φ|�鷱���Fb��� A
g���'0i����F
);�m�R�T���h��7�@ǧ�|&B
zp`����ϘpfJr0@6�����d�ԓ�dC��D�t<҅�F�}u�5 at q���X�C*�ˮMH��
����iE�`h:^���*�$�Z���
-�G$3�%���䌵P�e?ͭ�{�cuyF\t1�DS��R�(7f���
]��w�b��l#d���z� 7{-i#hb�9qv;⠢�`�AA*

�
j�Ԑ�A$�ּQ!�7�e;�
�JP:B<k
�>ȉ�_�gU8� I����7u���
�!>�	m�
��	�G�0���w4s*<��]A��2�����a��1��av�2-�
-z���G|�02%z����Εk{}�czu�[��}�c�1��Qg>]Q��40B�w�R�.J�9MaO��)�@���q_���7"`�	�K+�"jc`"��נ��]❮�@-*�m}8�9�6�����Qվ�
If�-���n���ҹ
�
-��i����p"0U�/V]^��s1�=������IPœZ�Ξ�+�ڬй�1�9|U?[��`;I2��]���>*����� ��/���fUe
��g~�M?��2���MM�-��P��oi�!r~f�_�
���
��[
D��[��i��Ҧ���)�?�+�a�99F ����A�x'{�2�}\��;�K���H���~����m[t��c�����X�>O
�,���a�}�qП\�r�d��?Mn�
-endstream
-endobj
-10197 0 obj <<
-/Type /Page
-/Contents 10198 0 R
-/Resources 10196 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10188 0 R
-/Annots [ 10189 0 R 10190 0 R 10191 0 R 10192 0 R 10193 0 R 10195 0 R ]
->> endobj
-10189 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 491.218 239.856 502.122]
-/Subtype /Link
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-10190 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.639 306.219 300.161 316.5]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_73cb0d61cccb259e06b68d4f83deb6d7) >>
->> endobj
-10191 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.144 269.173 182.164 280.077]
-/Subtype /Link
-/A << /S /GoTo /D (main_expand_space_dimension) >>
->> endobj
-10192 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.502 167.377 241.69 196.443]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10193 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 98.244 163.823 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10195 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10199 0 obj <<
-/D [10197 0 R /XYZ 90 757.935 null]
->> endobj
-9859 0 obj <<
-/D [10197 0 R /XYZ 244.439 494.372 null]
->> endobj
-10200 0 obj <<
-/D [10197 0 R /XYZ 90 478.206 null]
->> endobj
-9860 0 obj <<
-/D [10197 0 R /XYZ 400.69 272.326 null]
->> endobj
-10201 0 obj <<
-/D [10197 0 R /XYZ 90 256.16 null]
->> endobj
-10196 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F11 418 0 R /F8 504 0 R /F95 1788 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10208 0 obj <<
-/Length 2293      
-/Filter /FlateDecode
->>
-stream
-x��Ymo���_�^�V�
_%1�=���
z}����"�m:No'���~}�"�&vz��6M
g�3�<3�޽���Y\��'�
h���<��0 HP��l�[���rE0���%�~\e�݇%�~���j[�wK�U\���Ͳ�uTU��嗛��2�O$C,�pz+���2Q�`D��v|�"Q�"�=+��i\��ؿYJꫬL�F���j��%�|�o`)���p-t�����1�#�gD�B&�M�����-���a�d�
�]��)���������,��˔!
��_v�:�
-D1�l��1����
�d��i�Im�L��a�m�ǭ+B�.�M���&����
��8
-H�=�;�
���(�c��
��@L�A֊�m���&A���Ž3'v�q8F 
�n�׸r�#>hn�
~	_��
�!����(w�F��{���Mq�Vw�"ݪ�CV���J�
���m��[1) ʙ��ܗ�Fh�3��.� 
H�u�j{�������Iv�̺3����8�
���Z���2+��C����pE����,D�����MJ��ٸ8�z1��1:Zwf*[��Z�s
�b<���|�	\�(�W�j�)p#T3_����������MQU�.�|������|�.W/%��KL�@�ˣ.�9�T��T�{��Xx�퉃�
@�WE4$S_%yS�v?
F!��):��>uV�X��>l��:�1�" 
� )�rI��dk�W]
�dk^XAͲ.JE~}]��<�
�x���wFE9�'�^H����
-�LŲ %������n�m��I��8ܹb"@��BPn
�tl�.kFR
��"G/(rC�l�O�Һ�p�qx�{����tJ�[p�}$�W*׃%n�"��A/���נǨMl�d=�U�o����R
��G�̛�<�P4u�C)�4�ب��s=yx2�J�K�9�r�l��k8dL�&ۻ��?���L�)������f_����ą�:7�޷�����sΗc�3 U at 0����]�B"�"�+З�h-�B
��wͯ@�<��M�U������}6���a~
ح8���C�[>
�FW��Z���4�4��#�T�h�ֿ=�dH�ȅ��}��'HDh�1uyB�1U6��Ʈ�t\|�� "��;��:J{>�
�p� �������4D��8dž�
-���F��xTz5�4������x_%*��0�c��=������I��]�i'n,�
V`!�`��G�bVQ7�{�5��p�Q����.l��_ at U�}H�u���h����:�q��{�vHgc �+�B�to�:)��I
-��U��͸�/����'8F�0�����)@z׃U���1��J���r����oԒ��i;
�^�Xr�&'�'
�z�.:LC�ށ8�aP�{2
-�t%0�w�!)-����q
�u>�]���:�@
������|
��\�`�fN����e
b�@3T=@C�`B�{�(cn』ˀ=o
�߶n M!��C�h�UG�
_�?�f‚�vgI�d�/-����T7*3��2c&���tm�и�i��.�B�Ry^:��8
��:&�zc�y�,:wf���"߫�i�E�"�Ʋ*[nTW��O��[&�q�5vuH`�E�uQ�Ӽ�ͻ��t��2�����g�3�ot�a�<M�5A��]ֳć��ͫ
��2�K�J�Iۑ�,?�
-g���g�� ��	ڂJ�;U�a���
�ӳ6cs�(��a�y���
W�JF�U�qC�r:'$�OF�u���
�\�ɘ��n��c���p���nři�~|ת�3$ <39���
(�bd:�
-�vE���E�dѥjcTm���>�D
�h�"9��dDB12���@F�st�����9��(d��}�ʢ1� L�ԅ�*��L�ī��u4����N�6	t�(�@ց�=����3�a(�Ѽ�2Mڛ}���޷��_�"n3��1c(��^�jT�vU�
�D+,MM�k礦"a���C�gQ;]+�R1�u���L�~��&��à���W{�w;:�Bn��ߺ4�Œ�^�M��׀>~������s�

B�a���à4wdL
q��>�a
�����^�ETL9�Oc� ��a�9O���C�����1�]O��o'�4-@!ѥo%���4np�m���Q�k?h�萳?��3?m���U�{�p�k�{�ۗ6��u�����;Z3pl���T�^�X���}����/�bC�o�����x<�M��ŗJ�+p�����H
-�|��CGVt�"�a1k����_�'�O
-endstream
-endobj
-10207 0 obj <<
-/Type /Page
-/Contents 10208 0 R
-/Resources 10206 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10188 0 R
-/Annots [ 10194 0 R 10205 0 R ]
->> endobj
-10194 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [486.549 696.002 513.996 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (main_fold_space_dimensions) >>
->> endobj
-10205 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10209 0 obj <<
-/D [10207 0 R /XYZ 90 757.935 null]
->> endobj
-9861 0 obj <<
-/D [10207 0 R /XYZ 213.427 687.2 null]
->> endobj
-10210 0 obj <<
-/D [10207 0 R /XYZ 90 670.473 null]
->> endobj
-9862 0 obj <<
-/D [10207 0 R /XYZ 90 579.657 null]
->> endobj
-10211 0 obj <<
-/D [10207 0 R /XYZ 90 565.087 null]
->> endobj
-10212 0 obj <<
-/D [10207 0 R /XYZ 90 498.266 null]
->> endobj
-9911 0 obj <<
-/D [10207 0 R /XYZ 90 475.332 null]
->> endobj
-10213 0 obj <<
-/D [10207 0 R /XYZ 90 475.332 null]
->> endobj
-9912 0 obj <<
-/D [10207 0 R /XYZ 264.215 398.668 null]
->> endobj
-10214 0 obj <<
-/D [10207 0 R /XYZ 90 381.94 null]
->> endobj
-9913 0 obj <<
-/D [10207 0 R /XYZ 161.222 319.269 null]
->> endobj
-10215 0 obj <<
-/D [10207 0 R /XYZ 90 304.544 null]
->> endobj
-1546 0 obj <<
-/D [10207 0 R /XYZ 90 204.149 null]
->> endobj
-306 0 obj <<
-/D [10207 0 R /XYZ 90 197.549 null]
->> endobj
-10206 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R /F8 504 0 R /F95 1788 0 R /F21 2111 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10243 0 obj <<
-/Length 1820      
-/Filter /FlateDecode
->>
-stream
-x��ZYs�F~��SV��9q�6��ī�
�(���N� bh# �0�~{.\)Q��d$��AwO��_�
��w
��=��z��
��8��w��b�A��:���� ��
�1����I�MVWs��2?��i��~�n��:\\�a5�VV�l�?_��$�'��
���v-�f���e���bBH����ս"�ɓ��/����<�����f���jN"_k
-�>'B	���z�aF@
����QȄ�������ƿ�0bq���Y[�S��{=�i�Oz�2�a,�����ڙr����6��X^
-�_` a�����V�[J����B@��ʍ��5�J��Z5�j]�d�p��`�͌�w���4��k�a�=:\�@�(�A
����[�@����
�� �
X
�H����u�?�,�ـ<}�߀��i�����d�.�"?��=,@�,ͪ9
}�n��H�.s"|�=R�ڼ��L���}�n�m�gڄ� ���yso�t��D��B͑��ʢA��n��E
#��
-99wk���q`�i�=}����aHQ��܂���Z:m/� G�>3u�^\TrN���Z��)o��C!9I��&��F
蓀sjQg�X�(�ص����
�1�QN��S|��e�j΅_n����@�0���/vN��H�4�O)|F���( �!�%P4�w�Ҩ�Z�a(Y
�-L��[/��F�5\*�ʭ'{�"2�u��TVV�5�g�6)Rs�B�oN�r
q2�����OzMa��T��1a���9�t� C����${�u�ԋ���.�i=*A7e�@����rׯ2=�:�Ya��C�H+B-#C�苑4���]�jՏ���"
>F$ږ�D�#�ã�9��wb9'��MW�42��ҧ��ۍ�&��D�͵u<�h�CPҶ�E��1�Ő�\&$'�� ȳ�����a`	9�?e�@��W����S�x$A�z�V�f�ɭ�@@"D��E����9B�k��b��]W7����99��PTG�wFb
�9�1�W��<]hl���\��P��L��a�;-z�Ǜ_`���Zc��,��T�ʷ�
-t~XI�����ױ�ck�+��+S�GI�0b]N
-�D�A+��Hfy%���i�A�	]\s�S�>��U��7�!�~��#�A�����F��"ԭ��I�z�1�l�~�D��m���,5���.���N���um��� /M����B�

[0�Z̦�XXĦ�
��+s~z�m˞�޳M_���L����s��R���iE�>
��!��CY�j���J�1I`� 
�i/7���N��&@�M‹���y�oFmt���n���ƞ�X�6�i�.�L��׿���;�<���sg.5(�v��i�Dć���}���'v�ρ?���� �N�:�=A�
{d!7d���jh��"*�@0��C3j�]V)wGu/�9�-����l'��W���P�j�aQ=4�"�Ba�`������	�
����n��r[V�U��!W��ާ��e��+�lV�n��?~���\G�n����)G.��Z�Bmɲ������B��z��e2uOM�� Ȝ��`Z����
@0�X�}ZD����U�w��ѰM�DQ�;��4( ���6(0F�>W����c1�Ϻ�HI��]��p_n�O rSt��~��< ��o���rX{�Z�Ⱦ-1b|8}�I��Z�\�$���W	��kY}>·�x�{�(j��
=s/��k^D
�룕��%�Yٯ���~����K���0�fw�\��ޢu��s�U(k��]���W�IQ���4 �E<
nu������];(
-endstream
-endobj
-10242 0 obj <<
-/Type /Page
-/Contents 10243 0 R
-/Resources 10241 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10188 0 R
-/Annots [ 10202 0 R 10203 0 R 10204 0 R 10216 0 R 10217 0 R 10218 0 R 10219 0 R 10220 0 R 10221 0 R 10222 0 R 10223 0 R 10224 0 R 10225 0 R 10226 0 R 10227 0 R 10228 0 R 10229 0 R 10230 0 R 10231 0 R 10232 0 R 10233 0 R 10234 0 R 10235 0 R 10236 0 R 10237 0 R 10238 0 R 10240 0 R ]
->> endobj
-10202 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.034 697.417 264.203 708.321]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_d25e2d27e5d731e6b63fb84a65700faf) >>
->> endobj
-10203 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.941 697.417 305.705 708.321]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ab7519865a52fbbc8dc2031135a9fb41) >>
->> endobj
-10204 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.01 682.858 391.568 692.871]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-10216 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.046 658.901 290.215 669.805]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_d25e2d27e5d731e6b63fb84a65700faf) >>
->> endobj
-10217 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.953 658.901 357.729 669.805]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_dab8b3f43dd9a5e707b95e15a9c282f8) >>
->> endobj
-10218 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [311.435 644.45 345.993 654.355]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-10219 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.8 620.386 266.564 631.29]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ab7519865a52fbbc8dc2031135a9fb41) >>
->> endobj
-10220 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.301 620.386 341.41 631.29]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_36becc8c3ace976043199807351d5b04) >>
->> endobj
-10221 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.817 605.934 323.613 615.84]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ab7519865a52fbbc8dc2031135a9fb41) >>
->> endobj
-10222 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.8 581.87 292.576 592.774]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_dab8b3f43dd9a5e707b95e15a9c282f8) >>
->> endobj
-10223 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.313 581.87 393.434 592.774]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_6f4469416e02c586de17284317f8a92e) >>
->> endobj
-10224 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.817 567.419 347.024 577.324]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_dab8b3f43dd9a5e707b95e15a9c282f8) >>
->> endobj
-10225 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 480.563 163.361 491.093]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_900663a0e97525c064ccf31152fa8ae7) >>
->> endobj
-10226 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 444.005 163.361 454.909]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_1c71c9b7d1de1b77eeb054e1c0ac935e) >>
->> endobj
-10227 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.698 444.005 228.964 454.909]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-10228 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 408.195 163.361 418.725]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_f60bb41867a12ce28144596e3cc1406a) >>
->> endobj
-10229 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 372.011 171.11 382.541]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_c3283cf8fd0dd8ff2a319cba1dead1f2) >>
->> endobj
-10230 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 300.086 215.923 310.99]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_411d42e5b59a492742793834efeeabc1) >>
->> endobj
-10231 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.26 300.086 281.526 310.99]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-10232 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 252.943 171.65 263.847]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_66e3e2f2433738665eb748d2f6c5878f) >>
->> endobj
-10233 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 206.173 187.151 216.704]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_e006881831b298f0af5031e99df2bc6f) >>
->> endobj
-10234 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 158.657 202.902 169.561]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-10235 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4 158.657 300.037 169.561]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_5a36a32ab46d46f574f3091e931e2bd2) >>
->> endobj
-10236 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 122.472 202.902 133.376]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-10237 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4 122.472 314.263 133.376]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_cdc1e9b5ac338be9d0584d50d275226e) >>
->> endobj
-10238 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 86.662 161.677 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_8c82df1de8703aefeab268dc9ffc557f) >>
->> endobj
-10240 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10244 0 obj <<
-/D [10242 0 R /XYZ 90 757.935 null]
->> endobj
-10245 0 obj <<
-/D [10242 0 R /XYZ 90 714.318 null]
->> endobj
-10246 0 obj <<
-/D [10242 0 R /XYZ 90 677.825 null]
->> endobj
-10247 0 obj <<
-/D [10242 0 R /XYZ 90 639.31 null]
->> endobj
-10248 0 obj <<
-/D [10242 0 R /XYZ 90 600.794 null]
->> endobj
-10249 0 obj <<
-/D [10242 0 R /XYZ 90 520.404 null]
->> endobj
-10250 0 obj <<
-/D [10242 0 R /XYZ 90 497.001 null]
->> endobj
-10251 0 obj <<
-/D [10242 0 R /XYZ 90 460.937 null]
->> endobj
-10252 0 obj <<
-/D [10242 0 R /XYZ 90 424.753 null]
->> endobj
-10253 0 obj <<
-/D [10242 0 R /XYZ 90 388.569 null]
->> endobj
-10254 0 obj <<
-/D [10242 0 R /XYZ 90 314.995 null]
->> endobj
-10255 0 obj <<
-/D [10242 0 R /XYZ 90 269.874 null]
->> endobj
-10256 0 obj <<
-/D [10242 0 R /XYZ 90 222.731 null]
->> endobj
-10257 0 obj <<
-/D [10242 0 R /XYZ 90 175.588 null]
->> endobj
-10258 0 obj <<
-/D [10242 0 R /XYZ 90 139.404 null]
->> endobj
-10259 0 obj <<
-/D [10242 0 R /XYZ 90 103.22 null]
->> endobj
-10241 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F23 340 0 R /F99 2117 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10294 0 obj <<
-/Length 1685      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�6~����&3ë.�0`[��
-tm���bщV[r%9n��wx�%E�����C&E������C{�
����z699
���$��w6��E!A��,���� ΂)������Z����rqs%�*=�3������3S�ZmdU�&�p��䔐N�$a��
F���d��L Q���G:IP�]�����i]S*�$ԗ��"m��y#�
-H��bU����$T�N~?�|��{D##"1�͖�w��A�
#���F�Zz�2x.����&آ<|j�#��`/@���`0��(C8��+9S�~���s�L
󧹲sȋ�c�:��hl�
-X��u���{��̐��]��� �)
N<#�qb�{%� �
�t]̚�,���
-��f>�
гƔ_�E�Z�+�CSS�]���c�3��Tஓ�›R�B
��S*z�x��{���g��rgui��F�ң/e@�?=�d�B
:S��c��G��3�t3���ǔ�� !�(�%wp j�1�����D
n����ֆ���0R��#]

�:H�
�$B� 
`V-�ӊ�ǮMs�צM�z�DD\#MA5����EYL���|��7r!��p�ե�Sڌ���xtt;s;��N5���0J�e��J�.2��n�
88u^�4���:�W�77+�����c�(�:y#�u����Xo�ز�
a�0�nX.�r����Ar�v
#�–w�Z��Nu��
�Ef�,7�(�w#t/\� �6̏I'��cH�}�.���V��u��@��*m`���Z�pa´��NJ<X!��'���1���ͪ̋&/.���4�FJ�G���J��ƴp��ACłW� 
=�+��^TF�5F��G�37y-��ں����Vi�L�d�)��֏�ґ��!��r$J)��I�hW�mA|�ġH�y�|@T
Ȁ��yl��JR�o%�JJ���3���%��t$�1
�$b
|�*ڟ��,�%&6�T�$9�-Ie]O�j:j^F�z>�hnSl����m�0+�*���W]�����@(��Y7��RibI��� [...]
�r���0r��c��ť
���2X��kHvZ���Q<�$����;��Ym{�s��S��;�y^���A6|
ˑ�DIRuδ/�*H��ϳ�:�zQ80(�!�Hl�a�A̙-dZ�{O0��
a�$��{��(�`]07ސ�	aEp�
�Z+�Z��讻M��y��ߵ������bs�Z��9�D����H�P�!�`��tW>ff=���D;}k/�#��y�iV�NN6�
��h]�
-���j�8�}y��p����]��;e�\�Y4��?�-endstream
-endobj
-10293 0 obj <<
-/Type /Page
-/Contents 10294 0 R
-/Resources 10292 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10188 0 R
-/Annots [ 10239 0 R 10262 0 R 10263 0 R 10264 0 R 10265 0 R 10266 0 R 10267 0 R 10268 0 R 10269 0 R 10270 0 R 10271 0 R 10272 0 R 10273 0 R 10274 0 R 10275 0 R 10276 0 R 10277 0 R 10278 0 R 10279 0 R 10280 0 R 10281 0 R 10282 0 R 10283 0 R 10284 0 R 10285 0 R 10286 0 R 10287 0 R 10291 0 R ]
->> endobj
-10239 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 661.255 204.985 672.159]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_7607ef1c8ef6b668dd2be62c39330406) >>
->> endobj
-10262 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.214 615.607 182.698 626.51]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_277ba920e188477bb301196b19d63770) >>
->> endobj
-10263 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 579.105 172.198 590.009]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_754f66ed06474d4b68a93131af02a86f) >>
->> endobj
-10264 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 542.603 155.859 553.507]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ab7519865a52fbbc8dc2031135a9fb41) >>
->> endobj
-10265 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [156.357 542.603 180.337 553.507]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_dab2c45cbec19ad11bf34db42b794508) >>
->> endobj
-10266 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 495.516 155.859 506.046]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ab7519865a52fbbc8dc2031135a9fb41) >>
->> endobj
-10267 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [156.357 495.516 172.735 506.046]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a215867508a89858bcc7ab025f8d20f1) >>
->> endobj
-10268 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 458.64 181.871 469.544]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_dab8b3f43dd9a5e707b95e15a9c282f8) >>
->> endobj
-10269 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.369 458.64 206.349 469.544]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_272424f5d0df282c6d1ee63a5c84e3e6) >>
->> endobj
-10270 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 411.553 181.871 422.084]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_dab8b3f43dd9a5e707b95e15a9c282f8) >>
->> endobj
-10271 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.369 411.553 198.748 422.084]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_04aed5c92cf15c71ce85b8cc173a893b) >>
->> endobj
-10272 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 374.678 189.204 385.582]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_36becc8c3ace976043199807351d5b04) >>
->> endobj
-10273 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.702 374.678 216.999 385.582]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_b66151b86ac8c495eba1a3209501928a) >>
->> endobj
-10274 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 327.591 189.204 338.121]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_36becc8c3ace976043199807351d5b04) >>
->> endobj
-10275 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.702 327.591 209.398 338.121]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_241c65ff3d32769cbb9badd2c8e00ca5) >>
->> endobj
-10276 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 290.715 215.216 301.619]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_6f4469416e02c586de17284317f8a92e) >>
->> endobj
-10277 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.714 290.715 243.011 301.619]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_9fb86f09111d4ac21fdc7c7baa86e622) >>
->> endobj
-10278 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 243.628 215.216 254.158]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_6f4469416e02c586de17284317f8a92e) >>
->> endobj
-10279 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.714 243.628 235.41 254.158]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_5eb3117d3d7d0566a99f9f5807276864) >>
->> endobj
-10280 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 206.753 198.011 217.657]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_44b0a622563e60fe28b91b7e9ff76364) >>
->> endobj
-10281 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 170.251 155.859 181.155]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ab7519865a52fbbc8dc2031135a9fb41) >>
->> endobj
-10282 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [156.357 170.251 213.143 181.155]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_386fa9c84bc37468f1a3a2b860a0bc3d) >>
->> endobj
-10283 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.959 170.251 247.723 181.155]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ab7519865a52fbbc8dc2031135a9fb41) >>
->> endobj
-10284 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 122.79 205.762 133.694]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_37703f96495cf4bcb8ced3ff20e4c396) >>
->> endobj
-10285 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.577 122.79 240.341 133.694]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ab7519865a52fbbc8dc2031135a9fb41) >>
->> endobj
-10286 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.322 122.79 292.086 133.694]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ab7519865a52fbbc8dc2031135a9fb41) >>
->> endobj
-10287 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 86.662 166.449 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_2edf5fe7007a3e91a404546ca2f2d98c) >>
->> endobj
-10291 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10295 0 obj <<
-/D [10293 0 R /XYZ 90 757.935 null]
->> endobj
-10296 0 obj <<
-/D [10293 0 R /XYZ 90 632.617 null]
->> endobj
-10297 0 obj <<
-/D [10293 0 R /XYZ 90 596.116 null]
->> endobj
-10298 0 obj <<
-/D [10293 0 R /XYZ 90 559.614 null]
->> endobj
-10299 0 obj <<
-/D [10293 0 R /XYZ 90 512.153 null]
->> endobj
-10300 0 obj <<
-/D [10293 0 R /XYZ 90 475.651 null]
->> endobj
-10301 0 obj <<
-/D [10293 0 R /XYZ 90 428.19 null]
->> endobj
-10302 0 obj <<
-/D [10293 0 R /XYZ 90 391.689 null]
->> endobj
-10303 0 obj <<
-/D [10293 0 R /XYZ 90 344.228 null]
->> endobj
-10304 0 obj <<
-/D [10293 0 R /XYZ 90 307.726 null]
->> endobj
-10305 0 obj <<
-/D [10293 0 R /XYZ 90 260.265 null]
->> endobj
-10306 0 obj <<
-/D [10293 0 R /XYZ 90 223.764 null]
->> endobj
-10307 0 obj <<
-/D [10293 0 R /XYZ 90 187.262 null]
->> endobj
-10308 0 obj <<
-/D [10293 0 R /XYZ 90 139.801 null]
->> endobj
-10309 0 obj <<
-/D [10293 0 R /XYZ 90 103.299 null]
->> endobj
-10292 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F50 339 0 R /F99 2117 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10337 0 obj <<
-/Length 1819      
-/Filter /FlateDecode
->>
-stream
-x��Z[s�6~ׯ�SK�D0.Az��I��N���7q�Ҏ�a�-o%����=�ѢB�r�d3�>�������� ?̾�����Y��4�qpy
�81A���2ޅ����c
^�	��ʖs�æ���y�-�[\uYww~n�����z��\�t���-�$e���n���.�@0�,�+�� ��8H|� ��Y�����r��PVm�)ig^�k��I�zS��(���Dg����>#@� ���j��
�0�S�K�`cVUAD<����3�P�}�
����F�0
e�ܝ��G<lZ�zV�v�n
�y����W�fW�oE}c�H�m�$B$N<
?c�
h|kU�b<�Q�Eo׌�D��d���Twv�6�&A��`��ܑ܂��T
#�ڍ^��
-Ț
^�M�{02eG/3���&/��v��@5�쫫_�J��<{��&1�`A�$�p�Q�w�����q����Y�n���4sʷla����r����M+�L5�7S���9^
�0�Y�BdRR���(���8u*z��+n�J�X����P�?'����a��K?c�v�{#�"?�C�1Ϋ��ޯ?��=՛M��&K9X�+�1X�m
-u;A�`hXt7A�#&�8Y����'�e)�^-�-���Y��Ҫߗg&N��
{�c5�f	J�S�gr�ș�A�
lvh�s�z=�T���Г+aV�S:ȏ����T��	zR�kE	��_����#4.N��'��k
�sj�>�qWMS>Vۖ��R��G�R��_��At�t��Ἓ3J���~�;�8
j$խ�{�Ւ�
�4�(�
�����JJ�ņ�/E�5HT7�&�/�AI�Q�r�O�^��,!ٖ�t�)j��, ��4^$���B+�a�h=`l(�aN�@&. �`qX�U;�Q�Q��Q���,�.�4{��n'_�dn_���}�E}SJ���ms����kixuggWMծ�B�
-}��� O�R�*~�ǰ��(� 1/������#�qӁ����'%�̿0]�Fɕ���
�(�ke�c��^�-��A�U@,������ˢ�j�	�ȽWq]���5���	��7o��k�%;l�#�]�h��D(��>��Ydg
-�X������|�A�9��S��#z
:S��D�������P�Qs����˝�G��
�X
��۱���,J�	�Kg
zߡ)c��g7�Cٗ�Dr�φ���OCu��Ax^@
-����h�'z"��pER�˦2p�����΅�C��
�������|���d��|w��>z
�.]۸�L�6����F:����b�����U�GQe�S�
�	Ɯ��ϑP�k�+{��3,CxT���o[m`��[%г	yAPO�8��"$��
��6�����}
�b8f��h���3�b��c[�_/��!?��W�;���:���)�i�Y����
��1����
e����|���\�����0I�k�cO���qXZS���"�-�Ր	�݋>����O�M掏�C4χ�f�ОشǢ�<_��/mJ> �l;���v�ҺZs�E����}|�?{��O�9�Ĵ��(�Y��b���\�H�NW�*n���Њ�q�
{z)LwY�J���Xk9���l]
�cz�� =�ظm܀a`y(��u���u0�u��l�kڬS��nx�
-�z�Ûl1�zZ����Uy
,����)77�`w1J��M��x�8�v./L��U���B�?�?쏷`2_�9{A\
L��5��\�P�hEE�9��3}l�'�-��̌���%	H]�[����f�V=Z�EۡB��my�a��E�^
D�$�j:w����*�P
���X8�
-endstream
-endobj
-10336 0 obj <<
-/Type /Page
-/Contents 10337 0 R
-/Resources 10335 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10188 0 R
-/Annots [ 10288 0 R 10289 0 R 10290 0 R 10311 0 R 10312 0 R 10313 0 R 10314 0 R 10315 0 R 10316 0 R 10317 0 R 10318 0 R 10319 0 R 10320 0 R 10321 0 R 10322 0 R 10323 0 R 10324 0 R 10325 0 R 10326 0 R 10327 0 R 10328 0 R 10329 0 R 10330 0 R 10334 0 R ]
->> endobj
-10288 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 661.584 163.361 672.488]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-10289 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.1 661.584 214.907 672.488]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_b955487a974e74224f3d72d743ee78a4) >>
->> endobj
-10290 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.244 661.584 280.51 672.488]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-10311 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 625.229 167.466 636.133]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_fe22acf3f8e5b6c20880acd443350482) >>
->> endobj
-10312 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.281 625.229 209.547 636.133]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-10313 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 588.874 252.795 599.778]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_113964ab3d7ea36326ce962629a322ce) >>
->> endobj
-10314 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.132 588.874 318.398 599.778]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-10315 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 552.519 229.552 563.423]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_def4c62b5cdf5186801c592cc62dccea) >>
->> endobj
-10316 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.89 552.519 295.156 563.423]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-10317 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 517.903 266.673 528.807]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_01b873b0e820222e07789c3ba5fa48ae) >>
->> endobj
-10318 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.01 517.903 332.276 528.807]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-10319 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 483.287 196.347 494.191]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_d3bda090e4ac93d937ac4dd775c20919) >>
->> endobj
-10320 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.684 483.287 261.95 494.191]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-10321 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 446.931 179.739 457.835]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_1ee74f5687635ddbb9729be31a37e2d3) >>
->> endobj
-10322 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.79 357.823 245.959 368.727]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_d25e2d27e5d731e6b63fb84a65700faf) >>
->> endobj
-10323 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.256 319.222 295.178 330.126]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_5534b8f8fbd973bfb7051cf5fb31f19d) >>
->> endobj
-10324 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.269 280.621 347.203 291.525]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_5c3bee913efb87e4661df746e184e1e1) >>
->> endobj
-10325 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 200.226 210.607 211.13]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_30e0b0c2c668e73566cb1720d72cdac2) >>
->> endobj
-10326 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 161.625 168.555 172.528]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ee126cc2eef44ab1d2055d0d15bc3169) >>
->> endobj
-10327 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 112.065 144.674 122.969]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ab7519865a52fbbc8dc2031135a9fb41) >>
->> endobj
-10328 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.173 112.065 332.409 122.969]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_0a660ed1cfae2599d7f9236f2084d499) >>
->> endobj
-10329 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [387.143 112.065 417.907 122.969]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ab7519865a52fbbc8dc2031135a9fb41) >>
->> endobj
-10330 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.888 112.065 469.652 122.969]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ab7519865a52fbbc8dc2031135a9fb41) >>
->> endobj
-10334 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10338 0 obj <<
-/D [10336 0 R /XYZ 90 757.935 null]
->> endobj
-10339 0 obj <<
-/D [10336 0 R /XYZ 90 676.536 null]
->> endobj
-10340 0 obj <<
-/D [10336 0 R /XYZ 90 642.203 null]
->> endobj
-10341 0 obj <<
-/D [10336 0 R /XYZ 90 605.848 null]
->> endobj
-10342 0 obj <<
-/D [10336 0 R /XYZ 90 500.261 null]
->> endobj
-10343 0 obj <<
-/D [10336 0 R /XYZ 90 463.906 null]
->> endobj
-10344 0 obj <<
-/D [10336 0 R /XYZ 90 374.767 null]
->> endobj
-10345 0 obj <<
-/D [10336 0 R /XYZ 90 338.189 null]
->> endobj
-10346 0 obj <<
-/D [10336 0 R /XYZ 90 299.588 null]
->> endobj
-10347 0 obj <<
-/D [10336 0 R /XYZ 90 219.073 null]
->> endobj
-10348 0 obj <<
-/D [10336 0 R /XYZ 90 219.073 null]
->> endobj
-10349 0 obj <<
-/D [10336 0 R /XYZ 90 180.591 null]
->> endobj
-10335 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F99 2117 0 R /F65 376 0 R /F50 339 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10372 0 obj <<
-/Length 2041      
-/Filter /FlateDecode
->>
-stream
-x��ZYs�F~���8`�9��`p��������X{e퓝b
���
� (����s� �C��J*y8GOO_�t
;�v�9y};����8���Ή�1�8����%�t:#c��`�W+>;��[d��T|�C��x�����r�FT�h�?�~wqMH�>�)���+�_�%F
�튫"1
-����O��6�u=�y
����sŪ�x#�ȍ�ՔD�ȗ02�w}I���N>N��Q�a!
-)s���������wF4���Z�r|����y7��)㾴
��x#'�(���~�<������3�T�M3'y��
s7j��O�y^��E�4�j�����������E�8%��J$�e���9������F
�J�y��8��/�Cω�R�W�������Q���N���h�)��⸿%!��S�T�[� GvM��z��l��|�EF�V
-cT)�h`w$#4��/5=���*����a�����g�F,ya�����E&V"7+x�菲���Uj����7+1��{�gz���*�S��*g$
A(�3q��U�M!�CL��A{�ƺ��=xL��
��G;�?� �-�m)r�22y�� 4�7��xST�Wu���#���t#vn�Lj�jg�q13�w���<�6i-�,�휷l
�����S��@s�̋�4`��A��a�\g'%!�qVEᘿ�E��~���^g��;c�R��nF��mLh�0��-�V��]�>h�Έ"�GD˃�g�.���t���'�'�
-
0�A��ш"83 BŒ�U�hIJl^5M�.�w�Q�#A/��6�q�`Lu�މ�k�O��\�㫟
�n��[���n��
��Ȓi�b#���Jbn=���A�e��	-�";'*���s��1GCa��j-�,�Gw!s�i|�G��}��ґ(��`xH��p#d,3~p-����HH��?Q?�c�߅M4�ޅx�8�;�%V
kow�,�睗1�7��Q��!IQ�G�q�*�a0>m�	��|�[D�ݷ
�g��/��}�
!�◗-=�5 �c8���؞���M �8t#�ue
n���%��H�D�w;It�g[���·L���_��
�o�a˄����gQ���3��������" r�i�B��A��/�pw���������u�\^uS	n�*/΃�1��v���G�C�y�{ 2<�I��N,����_����1b^4��7�\�G)�W�U* ����"O$�>�X2�ި�}� aN���ݲ��L����
��`���C [...]
-Ou�Z-��ӳ��"�Nv��Sp~�(N1('
�1��X���.^U��dr%�<�.��,r��=e�#S�x��R�D&7m-Nr�N~�,�;8ZOq��^�J�zM
-��joܲ��q�����a�_�
�P�U�4���c">`���lC�N��V�hT����axWS��L�	bZ�<
��5�h/�

-׬~-�4�aH}�W�Y6aTW��ˉG�8#_dfx%��"1$����l���K�K�=r}Xv���

�%@�ؚ�d1�
�UV�����v�4I+-{����I.mt�'�{�-��Q<�4?z⮨��Ӛ�
J���aN�W�5>�l%���^Ľ�|~�֍����<2����RU؄��S����
�\��(>��
<Uy�w	x�Q�z�~c�d�
@�.A��>��5��t%ӎo` 0��~���°�5���Tir���}���JZ�9m��[�u�LCF�Iߚv�D2_g��m�>���F�%d�v�mza~Z��?
����E�Ք1�>���kn at RfgF
u
�����_ʄȎ�m���د�'*�w�B�B��ȇ�)//.6�
Z�h��e���,���4�G2��	��CV�
[�Ns\���3���e�i
-endstream
-endobj
-10371 0 obj <<
-/Type /Page
-/Contents 10372 0 R
-/Resources 10370 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10381 0 R
-/Annots [ 10331 0 R 10332 0 R 10333 0 R 10353 0 R 10354 0 R 10355 0 R 10356 0 R 10357 0 R 10358 0 R 10359 0 R 10360 0 R 10361 0 R 10362 0 R 10363 0 R 10364 0 R 10365 0 R 10366 0 R 10367 0 R 10380 0 R 10368 0 R 10369 0 R ]
->> endobj
-10331 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 719.912 321.152 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_86f44d9d38638be46ef23422783f847e) >>
->> endobj
-10332 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 669.103 226.666 680.007]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ba65a2c1a6d563f5058479bc07181b9a) >>
->> endobj
-10333 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.004 669.103 292.27 680.007]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-10353 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 588.34 154.079 599.244]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_d25e2d27e5d731e6b63fb84a65700faf) >>
->> endobj
-10354 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.578 588.34 193.083 599.244]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_5d2c2fc2c077e77db657af49d332c9b5) >>
->> endobj
-10355 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 551.543 167.639 560.39]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_d34bafd07f582c558936f9ea8892abd6) >>
->> endobj
-10356 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 429.49 180.54 440.394]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_057c4f38d0e8b8a146af731dbd91864f) >>
->> endobj
-10357 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 429.49 246.143 440.394]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-10358 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [315.548 429.49 353.814 440.394]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-10359 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 378.68 178.239 389.584]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_2a7c225e4f50e2287216dcd77eaf27d5) >>
->> endobj
-10360 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.576 378.68 243.842 389.584]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-10361 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [313.247 378.68 351.513 389.584]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-10362 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 327.871 226.034 338.775]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_8691a3facce4d6f973b48743fa42ec42) >>
->> endobj
-10363 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 327.871 359.442 338.775]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-10364 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.167 277.061 156.533 287.965]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a55b32c299b7d7bec303f636b66ef624) >>
->> endobj
-10365 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.599 277.061 309.948 287.965]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-10366 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [356.899 277.061 506.247 287.965]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-10367 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.185 140.686 513.996 151.59]
-/Subtype /Link
-/A << /S /GoTo /D (main_powerset) >>
->> endobj
-10380 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 130.788 125.865 139.635]
-/Subtype /Link
-/A << /S /GoTo /D (main_powerset) >>
->> endobj
-10368 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.08 111.106 366.346 122.01]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-10369 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10373 0 obj <<
-/D [10371 0 R /XYZ 90 757.935 null]
->> endobj
-10374 0 obj <<
-/D [10371 0 R /XYZ 90 607.314 null]
->> endobj
-10375 0 obj <<
-/D [10371 0 R /XYZ 90 607.314 null]
->> endobj
-10376 0 obj <<
-/D [10371 0 R /XYZ 90 568.579 null]
->> endobj
-10377 0 obj <<
-/D [10371 0 R /XYZ 90 487.697 null]
->> endobj
-10378 0 obj <<
-/D [10371 0 R /XYZ 90 227.786 null]
->> endobj
-10379 0 obj <<
-/D [10371 0 R /XYZ 90 177.065 null]
->> endobj
-10370 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F99 2117 0 R /F65 376 0 R /F35 2018 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10391 0 obj <<
-/Length 1724      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�6~ϯP_6����i�nY�ֵ���lщZITE*�7��P�$˖
��{1��|�J[��~<������X�|�[K+�V��Qb]$���:�)��/'�q�dz��m���XRų��yW��S=�vݰJ09yw���!k�I� �w������2`�`D���q>B$B~ؑxr'��X�ɔzؾ�D�fy�Œ�Wlɪ		mV,`*�k�$RD�~�8�xD�
�H�����E~��
��na�D�u���-�:�f��_�� eoe� 
�
��dU,y�E���V7@!%�(��4q`?�صS%v�
��3�g%�mR�R���,�M����$�x?!v
:����
o��
ݕ��nlnm�Q`�q��y���^��o1�,���	�l0��� H	mM��S0��3�<U�Ԏ
�2u�6�)�}b�^��kF��/�B�,���\�,���7iq��dojC],$0�)+���ˊ�Wjk�=Ъ�z���VWp~[��E��[�,3��l�:@�/B��`̛�ȫXj��Q���,�ëX���X��ق�_��.��0g�+��ۡ�K
0j�U�f����833�Y1��\a�
-��@�(�
�t
Ӷ
� �a�NL
�QD8��c����C�:���qn��Mx b��w��<M֧
�J�3Q�E��D��K�u}v��M�Ǻ� ��
-�������
�����Ke�j��>dt���ޞ�R���-
h�.�B�P7
7w9ro N)f�H6��Tr���n�:���h3�pA^�&]�¤�'	[�p������L�7nP�ȬA҆�M-���|�!�N?�\lC�2�v�~�05�h�����5b��3p�a]�n!cѧ�s��0
UV\9�u��
�ڌ?��W<�>�����sa|5�l��IC(����YK��|%�hU�n���O�[�Px�d]F�X7YM
�ua�O;:�vtW1�{i� �ml��Z��X�eʒ
a+q�&}�S:�d`�g�7�L��3�7�-�c�*FV5�I}��.��]@���
��0L̢��R9���:Ix
��a����%,
v���`�����r~Yx�c�H�Z}~�v��.�DH���CM�:=�j���n��I-��1"�0C<�<�]��Q��}2���G:�0���el��M�?
���F���uy�ġ���'��%”�z��;�<�:>Ȣ�F冥�pw��@R��tK!d�N���	�N��k���y�[@bM�WÝNf���zIS�5_�%�fM��ANO/��^r�k<m(�Q��'v��v��vnݯ5�F
-q�
@p�ܳ�.<�]o�6{`s��ׁ�Z9��?�,i��ođ�P$
rw�
����ʎ�忶Ƌ[�.D*d��@A��6+��oJB��]��F(
�jP�F��
x6Bh�QݏT���/���=�AЇ�&i�䓋Җ��3eB&��\ȊŹq�=O���x��U�U�q+�~��m)_��bB������	�Sr �����g
-V�E
G���
�v7���]_�HݾƒZ��|�vGn��e<�tܕ�{"�Q8�X�ʭ��O�u�����lqx�Fo���_S��W^,�ږ�گ��O�~�"
����2���p'4_ƽ2�f�~�����
�?�����	ViV����▲���z#���*���kƌ�Z�V�{�
�痄r��Ε�������
ZTiY�T��ev2�mCjB��׾6i�W](�ɼ	�[��
m"�c
-endstream
-endobj
-10390 0 obj <<
-/Type /Page
-/Contents 10391 0 R
-/Resources 10389 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10381 0 R
-/Annots [ 10388 0 R ]
->> endobj
-10388 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10392 0 obj <<
-/D [10390 0 R /XYZ 90 757.935 null]
->> endobj
-10389 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F65 376 0 R /F50 339 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10399 0 obj <<
-/Length 2594      
-/Filter /FlateDecode
->>
-stream
-x��ZY��6~�_��]����$ȩ�V9�8�ɦ�ijO�KE��7"������:
���E"�f����u�A<{����7���ܾ
�,BQ@����,�3$(�ݧ�sBg�%���-��U
��-(����F�U��w����pwg�5�^U�j��}KȈ?�b��
�o,�D�eQG���$BAس��E���u�XR������U��ƍ�#��U-H8WECRP>�k�7����qC�
�c!�db��7>�Y
-�?�0bQ8��|�)������/7���)C8#+#������ �X��a�R�`ޔI������,��0Œr�x4ᅈ��t�>�c�E��Z����crq�
��wa����DHJ1fh~u���m���5�@A\-�O4�Ƞ�)�z�zW0�BqN�5|R/9(�r��e��8-�� ww����hK)Ƌ�A���î*�4*�hi
������(�ܾ��z�\PѩoF2ex��N�R;����;��]�<[�wj�y��ө|���f��&K�m\��/ILh�U9���y�֍�lw��r7�u �o�$�I�`
-"��2��Ž�ł���M_�YG��'ّ�:N~�������Y����S�C�%2FP���/�"�^?W����&
	A�D�f�5����Z5�*)
o��l&��E������u'E%�B�.Ւ1i��džd�B��	O�q��/�	��4�^o�.Fʪ
V󶤣�9G���\-���8]�����cX	�Q��4� i����NN
��o6Ҭ�o[$M=
-#؍��գKϿ~3�`
�㒥�y�=w8caf
-�h
-p�
t!��:+
�e��য��88���277b뱑��6���l��ڑ�R>�U�iTḬ�G�M7�r��M�T*1J}��T� WͦL��;Jx}��dZ��U��oX��
@���ŏ��Dq�;�Fϫ��
�:���c�Š
-L��Uu��J;�
j���X�����7��9j�d[�Ҫ����|��Ҟoo6��������,��B��e��69���8���<%�[m��
�+�G������_?�+{]a��4�Yj9>K�:�!�}sQ�@AΧ��j����qB��sߠZ�A�p����8��>�N�F�Q"���t�[�Y�	��(�ba4��\_����Pt�a��zt�{�6+�\tb<���>��bb
����@�S�)�0�*��gu2��,�y�9�c���/������'���~����̜q�tn�#�(�S�� P�q���æҎB���:�wc�J�:���H�J#��F~3��Q�Dk��m�s
��Q:��tS�Ya��qcg�c��4>���Gem���� �ԉ��ԮR�>��-���=�u �t	y����i
E����(�U˔%�v�'���U��q��r�	�P���>
�
!N.����B`A���"�@��n�
-�����(�G!�.!"Wq]g�ŀ�6�l�y�n �G����������ĔB
���G���ϖGG��	)�&���z\d�6�taӔ� `
�s at 0�x0�N�z�]��=%R �����$��o_%P$�u��2U	(U���6���omU�9��H�� �� �֑_f�cХ��&̏��EQW�B]v�g��>"�e��ܞ
q�
������C�U��R��n�'�7��8�`z���S�{z�5�K��^�,��_z�i���x�w�	�1��M[�O2H��7jS��R����Sc��AK�N�������������;�Ius3��� 6o
�?��
"�z4-�s-�Pw(��7�m¹T�y�s�̀�EW��[��y
�\fER�;�t��ʟUtc at w�9��4���)�����ւ⳥<`ø~C؈�=��p�	E����C��(z�[��x(_�[O��S!��:�i�*�b�.������jg�>��d6[-��{Av��i4Ά�����e��1K��?����n����<a�qɤ�����IX�7��4q0b/�
٧�$F}hݬ��Ա����Z���@!45vLL�T�O|"ꞅ|��	�:���O<�����$��
-�.�u?C�T]��nJ{B-@�s
%0���ќyPL��{�k׌�76w�y��Q�9*�g��2A�?:��׃��L���?0����v[%�u��A���F��%O50
>��>k6�
-�j;{T 7�[��к4�
��
�Ԗh���R�Gi؀C*�
�����M�9�'*϶���M�ٸ���H��yke��r
27��ө5d{�tj��}�Vv8�S��)Sk���c�^���Ð�ogSK�>G�u| �{�	lAP���v��.OX7 ��լ��gУ�k��w�U0c��}�
i��>N��z.�K�u; 6t:aGIX���������+ at M�N�V/��
FE7�Lj�0����Z�f'����6IT]?��qM����qȤob'���ߎ!DCx�c�10c ��B�ɘ �����N;�.��mW�[W�؛�@!���s���).��$^��<�������Χȶ��+唴��>�~�g���$��
M�M���no��=Jj�ٮBYs��mo�n+F\ �˞I�iB^v�yV�`
��`l����E6
-endstream
-endobj
-10398 0 obj <<
-/Type /Page
-/Contents 10399 0 R
-/Resources 10397 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10381 0 R
-/Annots [ 10393 0 R 10394 0 R 10395 0 R 10404 0 R 10396 0 R ]
->> endobj
-10393 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.255 574.928 379.521 585.832]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-10394 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [156.603 545.349 349.878 556.253]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_386fa9c84bc37468f1a3a2b860a0bc3d) >>
->> endobj
-10395 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.519 545.349 513.996 556.253]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_37703f96495cf4bcb8ced3ff20e4c396) >>
->> endobj
-10404 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 533.394 216.526 544.298]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_37703f96495cf4bcb8ced3ff20e4c396) >>
->> endobj
-10396 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10400 0 obj <<
-/D [10398 0 R /XYZ 90 757.935 null]
->> endobj
-10401 0 obj <<
-/D [10398 0 R /XYZ 90 733.028 null]
->> endobj
-10260 0 obj <<
-/D [10398 0 R /XYZ 90 714.318 null]
->> endobj
-10402 0 obj <<
-/D [10398 0 R /XYZ 90 714.318 null]
->> endobj
-10261 0 obj <<
-/D [10398 0 R /XYZ 111.081 639.557 null]
->> endobj
-10403 0 obj <<
-/D [10398 0 R /XYZ 90 625.186 null]
->> endobj
-10405 0 obj <<
-/D [10398 0 R /XYZ 90 520.118 null]
->> endobj
-10310 0 obj <<
-/D [10398 0 R /XYZ 90 497.806 null]
->> endobj
-10406 0 obj <<
-/D [10398 0 R /XYZ 90 497.806 null]
->> endobj
-10350 0 obj <<
-/D [10398 0 R /XYZ 305.44 409.187 null]
->> endobj
-10407 0 obj <<
-/D [10398 0 R /XYZ 90 392.759 null]
->> endobj
-10351 0 obj <<
-/D [10398 0 R /XYZ 321.092 330.087 null]
->> endobj
-10408 0 obj <<
-/D [10398 0 R /XYZ 90 313.659 null]
->> endobj
-10352 0 obj <<
-/D [10398 0 R /XYZ 90 214.205 null]
->> endobj
-10409 0 obj <<
-/D [10398 0 R /XYZ 90 199.934 null]
->> endobj
-10382 0 obj <<
-/D [10398 0 R /XYZ 360.931 89.441 null]
->> endobj
-10397 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R /F23 340 0 R /F95 1788 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10413 0 obj <<
-/Length 2163      
-/Filter /FlateDecode
->>
-stream
-x��Z[��6~�_��]�9��5h
-��M��"�d�)	
�D���%U�㺿��"u�Ж�d�}ؗ]��s�΅�΃��﮾���~�3'D�O}�n��	|�8%�]�s	A��X���zA�U�h�zA�[d��L�h�Sz_E���捌q&W���Y,)��ۦ�����\�jA�+�XM"�ڣd���]�rE�+쐖

��q'�^�������`�B���U[ǣ
�g�۫_�Q����b���-�����뗄�>
��h?�Z��
��[�
J�G[�y̽��
q�[���
0Gҭ��^��&8�~�X��˪���"(�AxN�)
6)F>9+�D-77Q���"_-�Rg�
+}< �ܘ�h�b�J����<nV���Zy
֚�+�,�J�\;�{�q\��[��+�T�GLQ
�_w\%�=�^r L�>U��=�wi���|�X��JeU42nd�A����%��N�K �z���$�5�M�?�c�C���0�����9j6imٝ���dX$����mT
-���	M��@t
�i�Q]�i�`#�!��	��=�Ԩ%/�e{����k�ɭ�͊(O�EY)����h�_AL�>,�-����F0P�0f1����b�
�1�7E����
�n˖T���{/�E%��(���|�@P1
G: ��b�߷��O���	��ڴѯ�i�u��軻��W��X��z�u˚]eޭ+P|�5� ��-�@����S,���)��X
�%³`�
{�;�

 �x��i�zU�*j�j���Ӈ���q��9
҇���>:�9b��Ć��Zh�;�`O at J?�Z�)�R�RK��>��**�찊����&���нD��"o͓"x�'�T
�Ta���`MU������Γ�,� ���z���&[�D�UP��J-,�,~A�$$]*����e�̹��y��'̘�Zv�I8
-z�ģ|Ϟ�D �39��i6���
#:��%��@���"�ܢ�C ��5�����>�䱧��{��!#SߵB21��Z���^�ł�.��%�m�mTI��}�
��*թ����h�E�f�
-��`aX���MR?������4��*�����-����Z.U�U�*j���R��7�7��YQ%�@���Q�$���箭~X_���2�kS_V�̻��EW��*y������[��"�)��J��U�C�
�G�)���e
-�M�\�Z�/�LS+
�?��ǝ��.ʇ,D8�3�p���|��,��L:$���׹�
�
-����Y�v�1���#ʏ
-&�ȪQ���a3��
m�lpY�tX�����`��i+��B�Ro���vr1��Q�V������e
�{�����3���)�[�/;G�'� �`���<+!��`�𩞆ε4��GX�H�{����^_���c1�����y�����!������
-�/�
-����E��Z�,�E`�.
����ф�K�{B����j�/�w�P���~�&��)�FOc�������!�
"@Ȁ��X�
C�(:���u�e�-�X��žx!3qoz���!g���Wй��(�������n_V0���

M_��ܧwn/�����<�95�(t�T�[�Ne�b��Ju���/qFCU��͝�С.?Qu"~3K�D�-<�	�TO�)d`�(���ٕ�a;>i�\��5#�Sq&��dK��H��P{

se�oҖq!�0B'pݺ��g��S�	"֡�;L�e=z(�n<՝��YT��}kzs� s�
]�-���u�ez��߼ǘf�=&��yU�� eЧ����OW�[r5h,3���ҎI�<A��"�O~��� G��F��H��bb<5���<�v�<q�>���)�
�j��\��"�2
�G�A���d����&J����������.T5�ʸ[�,c�v�Ƞ�Q�9�(I��k���������|�je�����Q�IT2V*e�H�&�k�ǻJ���:�T�Ւ�u��6�juPǩ�®2J�o:�F��&����h�(������P�
Bƾ����(�
>
-��;
-
"Ώ�R��sۅ��5q�o�S���"0h�(�E�p���U�#
F
-��"}��VJ#���g������_" q����)o����=�k��ӲBis
�~=Qۑ�j~:��z��]����p��c���r�+
-endstream
-endobj
-10412 0 obj <<
-/Type /Page
-/Contents 10413 0 R
-/Resources 10411 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10381 0 R
-/Annots [ 10410 0 R ]
->> endobj
-10410 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10414 0 obj <<
-/D [10412 0 R /XYZ 90 757.935 null]
->> endobj
-10415 0 obj <<
-/D [10412 0 R /XYZ 90 733.028 null]
->> endobj
-10383 0 obj <<
-/D [10412 0 R /XYZ 140.132 663.906 null]
->> endobj
-10416 0 obj <<
-/D [10412 0 R /XYZ 90 649.743 null]
->> endobj
-10417 0 obj <<
-/D [10412 0 R /XYZ 90 544.883 null]
->> endobj
-10384 0 obj <<
-/D [10412 0 R /XYZ 90 522.571 null]
->> endobj
-10418 0 obj <<
-/D [10412 0 R /XYZ 90 522.571 null]
->> endobj
-10385 0 obj <<
-/D [10412 0 R /XYZ 90 473.33 null]
->> endobj
-10419 0 obj <<
-/D [10412 0 R /XYZ 90 459.265 null]
->> endobj
-10386 0 obj <<
-/D [10412 0 R /XYZ 90 412.062 null]
->> endobj
-10420 0 obj <<
-/D [10412 0 R /XYZ 90 397.997 null]
->> endobj
-10387 0 obj <<
-/D [10412 0 R /XYZ 90 350.793 null]
->> endobj
-10421 0 obj <<
-/D [10412 0 R /XYZ 90 336.729 null]
->> endobj
-1547 0 obj <<
-/D [10412 0 R /XYZ 90 242.836 null]
->> endobj
-310 0 obj <<
-/D [10412 0 R /XYZ 90 234.492 null]
->> endobj
-10422 0 obj <<
-/D [10412 0 R /XYZ 90 159.46 null]
->> endobj
-10411 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10430 0 obj <<
-/Length 1587      
-/Filter /FlateDecode
->>
-stream
-x��X�n�D}����
����m��E,�v�Sv9�N�—��I������L�" 
���.WU�s�qt������7	�2�%4�.n�
G2!HP]�eL�b�"��|Ip�wu~u��8n���*����˻���u��\�W�~ݗm��t���
!����
^n�k��2 QV����+*p|Fg��h��[�ݳ�~����ƻXf4V���{e��W7�[�4V�.Β�S���O���E8"�GB"�D����pT���F,K�{���8e�>,~_�a���2�a3�ظl�v��U�禓��M�ك~S�*v}����f{܍[ըJ+ܣ][�g��VU풊��ln��J���}�Igi
�ȸ��#�b��r% !�m�6��
 �L��\�0�#���l��%T��
-q�����t/�E��8 ����4
� ��d
0xJ�%LB/�xj��μ`�KQ*8�#�3���#��]�$"�+
���u�fNk�o�� Tn�m�y�ZE[�e�\�b�
�j$J��e������`H=&{3��C(�9/P�$�8��$�A�("�#����*׶�w��V��7��tf7��d(J<S8`š�u*�>�b�C�X�	
d�'#i�B2	7(�$8��s@��������ۭ5Tct���٨O����A�2r��w��e��͔�p�+�2 TOUFl�_�wW�?iMPԝ�LJ%���V�P�y�	��햠�6�u
����
'��Z��J5:Y�*�5}���:��q�_�fT�њ GyS��!�1YXSй0�@���	�7s� /f됡)�I(�#fxF���xe
-���2���
-
�`Ϣg�6�i���v������w��r�+��9T�~0-��'��m��ت&��
j�CF���"$C4��X���n 逯�����q�>V�k3Õ�1�7U���ݝ-�W8��[����)k%
���
pj3��I޹E���
���_�|ț���W�ب#
΍4v�HU=�
TE�w�Fx�g�'���Ch�6�]j�U�P�1V��c�Z�~/�z�6ZS�
V��XnR��9�x:��3Lu�͏07��2�
s�C�
-,c=�ௐdzs�`�$gG�KQ�ϝ����&�
	������T�7��A&%M���~#I<=���q�Ə
:*���"�N��Og}�W�
�3��Q9��O���m⚉�CXtY6��Ӝ�ф!�sZ"�أCk4k��_�
��Aѧ
�r�8O���Ⱥ����0�CC�G;AB�c����e]B1�
�ͤ�ϭ�p�$N��4�;0\]v��Q��4�[�2��U�X� �v����11�MS�DR��q�`R��:�Y�U�;}�w�٘"0C8I�]{���6zK�;��%l��ܬo&!G9�\�n�Y�v�_HŒ�DH�D�>��oE��_|*/�T�L?�%`�I��ol��Z�2	I�ok"CBL:3S����9{ꆝ=�c����BĮW��f�W�3�N�؆�c�g��j�}����V��?#���0�1_�J�
�Mm�~{zrr��;�o�m���wr�A��
A�s�
\�
V�H�2
-endstream
-endobj
-10429 0 obj <<
-/Type /Page
-/Contents 10430 0 R
-/Resources 10428 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10381 0 R
-/Annots [ 10423 0 R 10424 0 R 10425 0 R 10426 0 R 10427 0 R ]
->> endobj
-10423 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 549.723 188.41 560.254]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction_a4959b6198e090d37abbd07085b74a30) >>
->> endobj
-10424 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 510.495 197.875 521.399]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction_8041e8b3420a554e9637e4dfcf43c2b1) >>
->> endobj
-10425 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 472.015 196.159 482.545]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction_a3b0210cf6bc4dc319d24d429518c61d) >>
->> endobj
-10426 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.911 335.266 391.332 346.17]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-10427 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10431 0 obj <<
-/D [10429 0 R /XYZ 90 757.935 null]
->> endobj
-1548 0 obj <<
-/D [10429 0 R /XYZ 90 687.344 null]
->> endobj
-314 0 obj <<
-/D [10429 0 R /XYZ 90 680.744 null]
->> endobj
-10432 0 obj <<
-/D [10429 0 R /XYZ 90 568.324 null]
->> endobj
-10433 0 obj <<
-/D [10429 0 R /XYZ 90 568.324 null]
->> endobj
-10434 0 obj <<
-/D [10429 0 R /XYZ 90 490.734 null]
->> endobj
-10435 0 obj <<
-/D [10429 0 R /XYZ 90 434.321 null]
->> endobj
-10436 0 obj <<
-/D [10429 0 R /XYZ 90 373.278 null]
->> endobj
-10437 0 obj <<
-/D [10429 0 R /XYZ 90 309.737 null]
->> endobj
-10438 0 obj <<
-/D [10429 0 R /XYZ 90 287.425 null]
->> endobj
-10439 0 obj <<
-/D [10429 0 R /XYZ 90 287.425 null]
->> endobj
-1549 0 obj <<
-/D [10429 0 R /XYZ 90 99.766 null]
->> endobj
-10428 0 obj <<
-/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F21 2111 0 R /F65 376 0 R /F72 471 0 R /F23 340 0 R /F95 1788 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10456 0 obj <<
-/Length 1349      
-/Filter /FlateDecode
->>
-stream
-x��X�n�6}�W�C�Ӽ��m�n�)��i��K�0d����V]�u���Hʒb��t�>�"r83眙��ugA��ٻ�lq�+��=kyk���=(F�2��m���9s!�/
�ʢՅ��]��
K�hu��UT�NN���A�]�u�h�2g�)�OӨ���%�e����-">!����y�a��r��
	Ǡ�:G�|B�8�]�V"���������Ve��*���i��
N����b& z�+D%BY�Q8H*����
���bu��X���F[i6���Ź���ܼ�
-S{�x�������ox
�m�}Ah���B���D҅�zAY�`�9`�P�mz��ΐJ��.�֜`�|ͧ�v��XE��ek���6�^�u��$��.	D21�ĵ3x�1
��T�zϫ��Re��C�'z��Wu��v�mey���I��R(��G8ۨ���h��{[���s���kW�� D�{�-���vʁ��H�n �9K�#��|�Y)�5d8�ÑL΍3BA@�����[��!����
/n �1�ز'����c�F�ep�ƙ�r|�
r"auS�qS�"d�#�ǔ&!�°K �᠖ ���{�D<5`�gu\q�Ѳ@߮*L��r�;3X�UDōzZG5Sw��bخ7E�&z�~�ǣ��Q�̛��6��ؐ\�6�<My~���J�R����Q�7D�R�Z�W�;e�R N)�<�#�
-��H�
��ᙾ�K�kA*'�ry�~��RG����꒪���	�"Iz4����L800|[T�Y�ь�MC�]?ܱ\
dxs[�$��"M�:�R��d,��FR����
�qÜ3��#{����WN(���[4�u��y� �>E�l�)Z"����[v)co�U�{�	�YU�f�dc{��^De��f	�c���Sy/�1��%��W��5��W�C�I�`�%W]�1�8��b���ٕ�����n�ƭ�i2m=�#
�E� ��"O�N+�iT5��[E_L4��y���^Vߤ
�1��#�) �0_8�x b��� >��QU����+q�dM[�S��>\1�B$�N�}Cz nO	D�0y~��w}`��
�O��i��Ӿ�LE-5�	 
��  ���GmH�
�u�
"���?
-_)&�J��♱��v����^�h�%Vz/�W�]3�o�k���~%c�'M=�J����/�-�њ^���h:n�/�=��
����L�Ë`����H��

��a�B�
9=�G3>����.?����N��(�?�$�j����
,AΜ�)�3�R��a��_f]�����b��MӔ'��v�q
ڜ���BLy�����������=?�?��K�A��J�!
-endstream
-endobj
-10455 0 obj <<
-/Type /Page
-/Contents 10456 0 R
-/Resources 10454 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10381 0 R
-/Annots [ 10440 0 R 10441 0 R 10442 0 R 10443 0 R 10444 0 R 10445 0 R 10446 0 R 10447 0 R 10448 0 R 10449 0 R 10450 0 R 10453 0 R ]
->> endobj
-10440 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.418 623.503 204.56 634.034]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Throwable_14c081beabe1e165b1dc44b2a84b6c2b) >>
->> endobj
-10441 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.413 584.702 194.963 595.232]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Throwable_5024cc2b142473f5f733a8808cb09162) >>
->> endobj
-10442 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 298.294 177.053 309.198]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Variable_1_1Compare) >>
->> endobj
-10443 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 217.609 149.098 228.513]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_8dfe38ded52523b20209cce599411c4c) >>
->> endobj
-10444 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.914 217.609 218.557 228.513]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-10445 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 178.808 179.554 189.712]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-10446 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 178.808 189.795 189.712]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_bb6a26c12f7bdee7504d577ca81992e0) >>
->> endobj
-10447 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 140.007 179.554 150.911]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-10448 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 140.007 250.666 150.911]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_44e2225e59844067e005297572cd9ca5) >>
->> endobj
-10449 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 101.206 191.718 112.11]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-10450 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 101.206 288.852 112.11]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_7102c6fe85d4c8e6939d29a047becbdb) >>
->> endobj
-10453 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10457 0 obj <<
-/D [10455 0 R /XYZ 90 757.935 null]
->> endobj
-318 0 obj <<
-/D [10455 0 R /XYZ 90 733.028 null]
->> endobj
-10458 0 obj <<
-/D [10455 0 R /XYZ 90 642.077 null]
->> endobj
-10459 0 obj <<
-/D [10455 0 R /XYZ 90 642.077 null]
->> endobj
-10460 0 obj <<
-/D [10455 0 R /XYZ 90 603.395 null]
->> endobj
-10461 0 obj <<
-/D [10455 0 R /XYZ 90 547.059 null]
->> endobj
-1550 0 obj <<
-/D [10455 0 R /XYZ 90 422.373 null]
->> endobj
-322 0 obj <<
-/D [10455 0 R /XYZ 90 415.69 null]
->> endobj
-10462 0 obj <<
-/D [10455 0 R /XYZ 90 317.242 null]
->> endobj
-10463 0 obj <<
-/D [10455 0 R /XYZ 90 236.556 null]
->> endobj
-10464 0 obj <<
-/D [10455 0 R /XYZ 90 197.875 null]
->> endobj
-10465 0 obj <<
-/D [10455 0 R /XYZ 90 120.272 null]
->> endobj
-10454 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F11 418 0 R /F72 471 0 R /F23 340 0 R /F99 2117 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10487 0 obj <<
-/Length 1991      
-/Filter /FlateDecode
->>
-stream
-x��YYs�6~ׯ�SB�D4 �N^�3q�r�83N^&)D�6wx��|̯��HJ���N�>��f����qn
��������"��K#9W�NJ�8�^Ȩs�;\J� ^�(!Ľ\R�����%#nS>ފ���_�Mǻ���?�)��oJ�\����K��8|'�E���+�
Vi�
X�����W��d"�2�����U�'���
��i��k��	���y��mA�>ǞZϐ��$�?qbJ<JT�O�B-��{%Owc{�����
-�����q���Z>���W�bIC�A����ڰ(���Q�~����IB
�5u/g���"fN�E�ҍ1/
-�&�����N�mWW�[�
%?���(�
6�3j�،y��q�Q�Dn?V�]��H�$
I"mL��TQ8�
-��ĖF�=�L�R���x-�����+�G^�j�􈷍o7MS��#~|�����[���h\QW����N]-
5�~�ZsY�`t&�h2#���	��ȅ�N�C�?m�f+ۭ\_o�LM�E#��2??oz�	^�
_�����N,)�,
��;�����2\%�$hP=
[
{��
^�)ċ�
-|��>��^�3�v�ݔv���6 �z|aw�l2�=D=�\��'���O�6/*Q��w�?���gb=|�d8�O6/��9EZ��TB/<R7�ny���_}���?��^��,��y�X��]��Ѽ8a� ?�
-��PK�>׹+F�BA2q�{!�=s��1	�Pn{���>mWԲ�o^��f�����A����te�cQ2w�-g��P�
>�y��y�g)	=5�3�m�?�?��l�aҫ������N�\�3�ٙ��0�� ��ɿ)��\b���j3�9TY��2ǞIwP
zaz����܊�K�
�#��q�
�!ñ��'�M
!��N��Q._����&g����((��vP�~1?]q��?�!
���Q�~�B�߿$K��6�m��m|Kn*�F�u.:��8c@����eU0jn=j��7B�a�F�YW����{
ԝ:N�
l�����^1�X����{`�DZI'f|�O�N
2�\u�GO;O��D���A�s|�49���
�6 ��55[&M-�|��w�_����"���KCf��0D����dp=��̆�*/��M�dʹjl�\��
-UՔ�
�LKۢ�q�[�
YS�X�=�RYԂw����j=����<��u(���%�����zEV/�3:��Y?9>�^�z���B�B1�#�W%D�
�A���`�Q
0�ZE�ZQ��z�t�i������a�%T�=.(�>TZt��s/�,�6��
z'].��$t�t���-́|
U�
-�
	�����6vs��`X��%����xnR�����|~@ߑ�X�'
�n�:rwej�PM,�#��Ė�����VC�Zl"�#Tͷ��:��A�4����Z��T����
�x͠��'����tމ�_. L�P{�ԇ:f('L)P���x�f��&����`�[2"a}��z�s��L�_6���f'P���B=2S���J�<� 'u��S�z� ?Z8����# !/�kR���޷"�!������c�1#W�!���v'NCE�������۪`;���3ݓ��A�܉�m�d�
3@*�VE_
-n�#`R���W8(y}��7�v�Ċ-�T�Yi�^(QUTi�@*^��v�x���<�@�X��b~o���d��Ɣ��
Ր;�{�ѹK��v7����
YhIx��i�X6�4���
 c2��^	�D�d�.��l���W��
���}P�J&2�p@��
���
b:�d@|Ʀ^�t;jņ����R1�mU�Bښ֕�("(li��_(�/ |
]���^hk�++ҥ�9�ʔ—�g|5������^B�a��W^omݬ�3&�n��:7��|
�{/,`�f
;�y���&1xo �[)����{/�m]��Wȳ�-���8u�;���k/�ІɊ���`������
-endstream
-endobj
-10486 0 obj <<
-/Type /Page
-/Contents 10487 0 R
-/Resources 10485 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10498 0 R
-/Annots [ 10451 0 R 10452 0 R 10468 0 R 10469 0 R 10470 0 R 10471 0 R 10472 0 R 10473 0 R 10474 0 R 10475 0 R 10476 0 R 10477 0 R 10478 0 R 10479 0 R 10480 0 R 10481 0 R 10482 0 R 10483 0 R 10484 0 R ]
->> endobj
-10451 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 706.961 191.718 717.865]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-10452 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 706.961 303.079 717.865]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_49b4a338d3d82bfb7a404ea87481fc4d) >>
->> endobj
-10468 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 668.48 150.493 679.01]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_ed0f237309569c2bfbf9e6f60740974e) >>
->> endobj
-10469 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [166.284 629.252 254.064 640.156]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_0431b025f2e3c1b5d3cef06c4054f726) >>
->> endobj
-10470 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.206 629.252 384.393 640.156]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10471 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 548.49 203.075 559.394]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-10472 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 548.49 296.324 559.394]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a5f2c0410e128e2f082d761ef36820da) >>
->> endobj
-10473 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.005 533.869 309.384 543.774]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10474 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 509.635 239.129 520.539]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_5012c55d8fdb1420b80a3bfbe5a5b843) >>
->> endobj
-10475 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.206 495.015 329.585 504.92]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10476 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.182 470.781 315.981 481.685]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_75683687bda865c93db529b76271bed2) >>
->> endobj
-10477 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 362.74 226.034 373.644]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_56a9fd5bee6f87ae9079aed0bc3de31a) >>
->> endobj
-10478 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 362.74 356.363 373.644]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10479 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 324.259 151.051 334.79]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_d71d7986fdfd19215fc87726ebacf555) >>
->> endobj
-10480 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.866 324.259 190.054 334.79]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10481 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.867 324.259 235.055 334.79]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10482 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [184.141 223.815 219.329 234.719]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10483 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [296.006 146.414 331.193 157.318]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10484 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10488 0 obj <<
-/D [10486 0 R /XYZ 90 757.935 null]
->> endobj
-10489 0 obj <<
-/D [10486 0 R /XYZ 90 726.054 null]
->> endobj
-10490 0 obj <<
-/D [10486 0 R /XYZ 90 687.2 null]
->> endobj
-10491 0 obj <<
-/D [10486 0 R /XYZ 90 648.346 null]
->> endobj
-10492 0 obj <<
-/D [10486 0 R /XYZ 90 567.464 null]
->> endobj
-10493 0 obj <<
-/D [10486 0 R /XYZ 90 567.464 null]
->> endobj
-10494 0 obj <<
-/D [10486 0 R /XYZ 90 528.729 null]
->> endobj
-10495 0 obj <<
-/D [10486 0 R /XYZ 90 489.874 null]
->> endobj
-10496 0 obj <<
-/D [10486 0 R /XYZ 90 408.992 null]
->> endobj
-10497 0 obj <<
-/D [10486 0 R /XYZ 90 286.566 null]
->> endobj
-10485 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F99 2117 0 R /F65 376 0 R /F23 340 0 R /F11 418 0 R /F8 504 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10509 0 obj <<
-/Length 1562      
-/Filter /FlateDecode
->>
-stream
-xڽXɎ�F��+H$����Eq��pldb+��
�#�FD(R&)K�ק؛HNK^�
�d���իW��޽��������u���
��ʋ�qJ�y�ݎ	A~4����fB�8�6��fB�̏k�V��uvW%�q6{?�),Ȓ�\�f���6�&$�ɔr<~�T�e��+VB�+��:q8�)�|�����>�8�="
�!
-�����G������#o/Wm<�2��޻��#��^U��
�Fd�1�!
/d����i !>`�1�!�����i�|�Ʊ�خ%�:�~�h�uV��Z�8l+Q�YY��Q�ߴo��H����!�3t��"

h1UHME$�O���xV��oY�
��.�E���r�ۈ�I��
�2���YD~�u�;�Gx�b�f�i���9n��0�Y��"�Fz�9@�(
��6uzI�
-8Qb�fEx,Ü��#���<PK�a�gˬ���q�1��T��t��i�Plֺ�>O(�
O�e�ޖE��zu9��YR5�ΒB�&�L�-W���
{#�
�
"��C�Y��,jS�Cbр���E�����Rl[�Գ��'#�ܑ��
qM��Ig�\��z!�
-�����/d��
�����u���V|�X`3�="(FJ�T�%�K! �ʗVߪ{-to_�[0���~��R|�
�6Y��euKqC�sA��#�y/-�l���.tޭH�����	]�׻b)��{J���
��4��z�1!��i�B�n��>9�u=�^�^*G��hvU1�GR��:�
-$'9����e��ܛ���`D���`�$�#��f��.J2�
 E,F����̍Ǖ�S�]��w�e��T�i�TK��+�q��	���%�"`������u�����EjƐ<iLl?�f߲Y*N	�N�5ɦ�˭��F���5!ݺ������<q��OͩE��n;[�������X]x<��h��E
��3�D05�6ş
��]5��@-��ʏ�
���(����k��f�9�N�`'_�DsW��2����k����B�ȩƾ
-���+V� �a���a*���7�\B���8��\���Bh43^4�F��RQٹÔRwH������Z�I{U'��VJIS3N����e��7��hSn
-zU������<W��zن��/E$@>��T�������I�d��
��6%��P��6�@&���#��u��iV��S8
����IPi>͏�ȴ��v��SMo�
-�,r���J��-8B0zA7	=;�{����y���%������`��r�<��Q˰�����αGʌ��Š���i�V��Zq!�t�e����e�j�F-u ѓ�cl�J�Af@��	
.�ߟ�L�O�L@��x�I�7	��L�z�JL�/���`�?}
�Q;h

�[���,7F	�D�R,

���Dn���0
�y�>.
���F0B�o�iD�L
�|;��{8���p�i��V��Q&u��I��S�ꗶ�j,�$�ΨDKK5�V���m	�&S�NN������A��/�(
bl
-�M��]]��{��Ѯȶʚ+����ٱ�
��`6ee��
nd�������y
-endstream
-endobj
-10508 0 obj <<
-/Type /Page
-/Contents 10509 0 R
-/Resources 10507 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10498 0 R
-/Annots [ 10501 0 R 10502 0 R 10503 0 R 10504 0 R 10505 0 R 10506 0 R ]
->> endobj
-10501 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.651 550.451 465.948 581.295]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a5f2c0410e128e2f082d761ef36820da) >>
->> endobj
-10502 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.628 447.64 201.531 457.483]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_bb6a26c12f7bdee7504d577ca81992e0) >>
->> endobj
-10503 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 148.353 175.937 159.256]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Variable_1_1Compare_f6c069432956f215967c61be24a40939) >>
->> endobj
-10504 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.753 148.353 214.94 159.256]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10505 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.401 148.353 260.589 159.256]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10506 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10510 0 obj <<
-/D [10508 0 R /XYZ 90 757.935 null]
->> endobj
-10511 0 obj <<
-/D [10508 0 R /XYZ 90 669.41 null]
->> endobj
-10466 0 obj <<
-/D [10508 0 R /XYZ 90 646.168 null]
->> endobj
-10512 0 obj <<
-/D [10508 0 R /XYZ 90 646.168 null]
->> endobj
-10513 0 obj <<
-/D [10508 0 R /XYZ 90 536.877 null]
->> endobj
-10467 0 obj <<
-/D [10508 0 R /XYZ 90 514.441 null]
->> endobj
-10514 0 obj <<
-/D [10508 0 R /XYZ 90 514.441 null]
->> endobj
-10515 0 obj <<
-/D [10508 0 R /XYZ 90 434.066 null]
->> endobj
-10499 0 obj <<
-/D [10508 0 R /XYZ 90 410.693 null]
->> endobj
-10516 0 obj <<
-/D [10508 0 R /XYZ 90 410.693 null]
->> endobj
-10500 0 obj <<
-/D [10508 0 R /XYZ 90 373.407 null]
->> endobj
-10517 0 obj <<
-/D [10508 0 R /XYZ 90 358.837 null]
->> endobj
-1551 0 obj <<
-/D [10508 0 R /XYZ 90 272.399 null]
->> endobj
-326 0 obj <<
-/D [10508 0 R /XYZ 90 265.799 null]
->> endobj
-10518 0 obj <<
-/D [10508 0 R /XYZ 90 167.326 null]
->> endobj
-10519 0 obj <<
-/D [10508 0 R /XYZ 90 167.326 null]
->> endobj
-10507 0 obj <<
-/Font << /F63 374 0 R /F65 376 0 R /F95 1788 0 R /F50 339 0 R /F23 340 0 R /F11 418 0 R /F72 471 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10545 0 obj <<
-/Length 1647      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�6~��0�����E�%+��aY�uma(��%���f�~G"E۲�ܓ�!�-Q������wDl�Y��m��dt��eV������
-��qJ����2&9�=!��M�8��pzdS<�Ӌs�p�!9���8<�l$�i*�鱨�	�x�*
�R}�$fB���,`�r0�P��v�n�����ǰEZG��<ƭh>��
[1\ga��Z���C|����޻(�v�jQ>"zY�E&�����Eɤ��<k�:x��%lM���(C/�
�
,���(������,�����\ߨ�*L��\�B�0a���)7QD�ʹ�C.uԴ'��8��Ȫ�u��4�e7a��^V��4�C}�LdB��z�3��{���4����fY�8l�Bn9̇��zTy��R�9�˄C��"E��*� �pN��N:3�!��0�R�_d]
��ò����z��%Y,l��?�@X(ߜc
Ο�,J�X{C��Hΐt�j��[�"�
�
�
;�#
��~1�_��
r��Ĉ��>M�H�룘�
-ͭ7u5�+7��Er�>��	���Lg�'Ò�6!d�
�9�?ҳ��T���i���,�0��t�I�=ҋyQ��F\{��5��y˅
��t��g��/4@��
0�
�06d����\B1IEՕ�� ��U]�u@�n�i��i�� �p{��x�=E�3���5Q#b
���f�|������wσ]��ԁ�;ؐd=;�)�!�v�n㒶�ǰ�
�%p�ݫ�nl��
%�D/�C�k�/`��oƾ8�PB͞V�����"���<�� o����$�Zf}��f�`ʊC�0�h"-DTu��^Wt�`��Hx�g�O���;�J�ycѣ�M�k����@��heO���$+��Y]v>{y
��V�������@%X�b(1E�3�;�e��29�d��[u�z�[�9W��4����e�$�4�]�j3�.B�ȟ��	���	�K�F�!�.n�``=j�������۷�W:V�Q��r�1�aͺB�D�����=���Ş��e���&>9ħ�(�?�%
m��+s;�b�*p@�0�
4vQ@
���aC�B.6%�m��c5a.��Z :
�O�Q��^Ǎ��9�] 476�o{6�C�q�t��A
��!�N���"Q��:}6�
zb��Y��������C�eR�=�5�
���n����<��2�G\c
k��~6ɦ��(e#[���5l�ʭ�
N9�oFQ]$]��`
-
v
�
�'7+��,�
k�vWBf��o��<��F�*I�n�C���
��+�Mo�6s���
폿��g�^����
߻�b�Kn�#Y5$ K���敘�Y�v�{��_21$
l��e�
�ڭ:R0�c��`CO��NO���=��g;9+��U�@-z�{Pl�"�+��{�
'��=�<����
ʅ�^垓���cH�Rg]d�&s!z�&��c�.�_��G+yZ4'�����
f�4ϟLH
����U.��e]�=�BA��1_R� q�?�9j_n�y�v�
�>�P?���i�R�l�fu�9-�#	�z���&���nB�E���ʾ[ݷ��6�+��!�M�WUqxp�\.QT�:K
-���(҃�C�5+r�1�W���
�mA����/��B
-endstream
-endobj
-10544 0 obj <<
-/Type /Page
-/Contents 10545 0 R
-/Resources 10543 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10498 0 R
-/Annots [ 10520 0 R 10521 0 R 10522 0 R 10523 0 R 10524 0 R 10525 0 R 10526 0 R 10527 0 R 10528 0 R 10529 0 R 10530 0 R 10531 0 R 10532 0 R 10533 0 R 10534 0 R 10535 0 R 10536 0 R 10537 0 R 10538 0 R 10539 0 R 10542 0 R ]
->> endobj
-10520 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 528.366 170.687 538.896]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_da205f4442f845f797fb108c121fe371) >>
->> endobj
-10521 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 491.473 170.687 502.003]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_6faffe6889615dc0491bf86dd601172c) >>
->> endobj
-10522 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.024 491.473 233.211 502.003]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10523 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 454.58 170.687 465.11]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_5842c4add70aabcc093269aea7a348e5) >>
->> endobj
-10524 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.024 454.58 233.211 465.11]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10525 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.297 454.58 309.485 465.11]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10526 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 417.313 179.554 428.217]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-10527 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 417.313 250.666 428.217]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_3d49b2488d36bda4fef0109bedf6b0cc) >>
->> endobj
-10528 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 380.794 158.044 391.324]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_7176b36adef9683aae06961175ad94cb) >>
->> endobj
-10529 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.86 380.794 197.048 391.324]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10530 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 343.901 176.505 354.431]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_4090b6696c19cb93c705d9a9e06f4915) >>
->> endobj
-10531 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.408 329.887 450.955 339.793]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_4c3c15515e1335fb69130aad4f371a1c) >>
->> endobj
-10532 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 295.676 191.718 306.579]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-10533 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 295.676 288.852 306.579]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_32b7f9e0a2f54d199ad55bc008bfa62e) >>
->> endobj
-10534 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 258.783 191.718 269.686]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-10535 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 258.783 303.079 269.686]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_4e8f85cded8a6be1916c2cc0bb31c540) >>
->> endobj
-10536 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 222.263 150.493 232.793]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_3a5d4b3fb638414792155bcef8b54c1c) >>
->> endobj
-10537 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 184.997 181.845 195.9]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_0b93ff227453cf62d922dab902055f8b) >>
->> endobj
-10538 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 148.104 181.845 159.007]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_4c3c15515e1335fb69130aad4f371a1c) >>
->> endobj
-10539 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 111.211 154.727 122.115]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_ca3690ce9d77a85740cdf8a508edf127) >>
->> endobj
-10542 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10546 0 obj <<
-/D [10544 0 R /XYZ 90 757.935 null]
->> endobj
-10547 0 obj <<
-/D [10544 0 R /XYZ 90 733.028 null]
->> endobj
-1552 0 obj <<
-/D [10544 0 R /XYZ 90 653.216 null]
->> endobj
-330 0 obj <<
-/D [10544 0 R /XYZ 90 643.575 null]
->> endobj
-10548 0 obj <<
-/D [10544 0 R /XYZ 90 545.986 null]
->> endobj
-10549 0 obj <<
-/D [10544 0 R /XYZ 90 545.986 null]
->> endobj
-10550 0 obj <<
-/D [10544 0 R /XYZ 90 509.212 null]
->> endobj
-10551 0 obj <<
-/D [10544 0 R /XYZ 90 435.426 null]
->> endobj
-10552 0 obj <<
-/D [10544 0 R /XYZ 90 398.533 null]
->> endobj
-10553 0 obj <<
-/D [10544 0 R /XYZ 90 361.64 null]
->> endobj
-10554 0 obj <<
-/D [10544 0 R /XYZ 90 313.788 null]
->> endobj
-10555 0 obj <<
-/D [10544 0 R /XYZ 90 276.895 null]
->> endobj
-10556 0 obj <<
-/D [10544 0 R /XYZ 90 240.002 null]
->> endobj
-10557 0 obj <<
-/D [10544 0 R /XYZ 90 203.109 null]
->> endobj
-10558 0 obj <<
-/D [10544 0 R /XYZ 90 166.216 null]
->> endobj
-10559 0 obj <<
-/D [10544 0 R /XYZ 90 129.323 null]
->> endobj
-10543 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F11 418 0 R /F72 471 0 R /F99 2117 0 R /F98 2120 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10567 0 obj <<
-/Length 1297      
-/Filter /FlateDecode
->>
-stream
-xڭW[s�6~���ik�E��Iv7M��n�&�d3
b�1S..�x��{t�@��t�� aq.����;�v~�|XLf���(i�,6N��($�Q�,��͔ĮG0��K��iR���ҥxZf�[����o�]�T���7�� M�2Q/�E�z����,�k=�Q��OE�`�20�Ƚ]|�����3!v�
-�E(��'7��Y��OF~̝�Z�;��9ד?'�dR�G8d:��&iҕ��r���g��Axj|�/VMZ�
-�ڞ]0�1LB���(E�5��R��ƹ��Wk���auoR�Rk��u������q'zV��&O�-�]����{��+f����M+����@�%�	�� �A�Ӻ;*L��p��4��z��p���ir:�/.!�O��
V���M�u&\¦�lz���a(R�#�|�M�4b=R�A�17@~�������0$M
Hm^&���1��jc}�'�8��!�Ȧ�|^�M%�����;Q%MY�
	�2������I�G(�]+�	��AV�h�����k���
P�
y��7����BrG�!}�g)mDĨ�h�4��:��Jw�ٍ�Y��[!Y[�,7���R��~�k����F�G/b��SD,�t���Q�گ$�=6����r���,�K'2
ݘmQx�1zlq���	�h�]�߼�YC�Ǭ}N�����0ҧ�Z DDG�j<BT1��������6�P�9c�0�<ee��CF���&�PHM �i�
��K\alZ�ƾ
ث���
7U���� [...]
Ϲ"8D1�_-�G��	6>m��E�
�i?��'�ƈ��VC��L�*��U����^�� �3��l����:g��^ґ���o�,+�D
���5L31?т�[��.C�m��
.�����^���
�2F���1��
�T

tfj�
=5����U��{~N�}����A�cu��`$�$I#����tf;v��Dq�/���?v�ۦ��g���V5��Bi3�fO[�h]��H˃��7������
-��/��
-endstream
-endobj
-10566 0 obj <<
-/Type /Page
-/Contents 10567 0 R
-/Resources 10565 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10498 0 R
-/Annots [ 10540 0 R 10541 0 R 10561 0 R 10562 0 R 10563 0 R 10564 0 R ]
->> endobj
-10540 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 697.247 203.075 708.151]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-10541 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 697.247 296.324 708.151]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_587efac6e5a2fbde0a1866dbe4427224) >>
->> endobj
-10561 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.005 682.627 328.312 692.532]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-10562 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 589.206 226.034 600.11]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_d7bdf8849f22908ce11574a04ba875df) >>
->> endobj
-10563 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 589.206 377.952 600.11]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-10564 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10568 0 obj <<
-/D [10566 0 R /XYZ 90 757.935 null]
->> endobj
-10569 0 obj <<
-/D [10566 0 R /XYZ 90 716.221 null]
->> endobj
-10570 0 obj <<
-/D [10566 0 R /XYZ 90 716.221 null]
->> endobj
-10571 0 obj <<
-/D [10566 0 R /XYZ 90 635.459 null]
->> endobj
-10572 0 obj <<
-/D [10566 0 R /XYZ 90 551.886 null]
->> endobj
-10573 0 obj <<
-/D [10566 0 R /XYZ 90 495.243 null]
->> endobj
-10560 0 obj <<
-/D [10566 0 R /XYZ 90 470.874 null]
->> endobj
-10574 0 obj <<
-/D [10566 0 R /XYZ 90 470.874 null]
->> endobj
-10575 0 obj <<
-/D [10566 0 R /XYZ 90 377.483 null]
->> endobj
-10576 0 obj <<
-/D [10566 0 R /XYZ 90 355.171 null]
->> endobj
-10577 0 obj <<
-/D [10566 0 R /XYZ 90 355.171 null]
->> endobj
-10565 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F11 418 0 R /F95 1788 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10640 0 obj <<
-/Length 737       
-/Filter /FlateDecode
->>
-stream
-x��]o�0���+|�H
��mB/ۭQ�nC].*U�倛�S�dk��k��4	߬h�
-$p��
�����`>�[�'����"�M��B�@�"4=
���\�~�i���MGg�rf�
L1�a�׋�PA��� :���ʄL�_�S��8��$"	ce�� ��0S�,����w�O��x��o&��/_=1@���@����\O1�c6�1�wKÅ1�J�;�:܋��2Ђ_�K-������d<2��7�R�T?c�|lD�]�������Ӵd׬��T�`~��qAR1B[��k�(��j�uU+��ʗ�2{��wEUv�<�2D|_
a�~����tڨ~�~"V��D�
ݦ���$������V�Kl�T
��Ӄ� #��
,Nm��� �g�M��" ��R@�_Ūh,��g���Ss�Q��(��r�VJ
�~����:�a[*�o��F�,��)/�!y�����SY�b�_��:�y*�����D���K�z���ߝ{�O-�2��7�Ѧ&Q���/7�u��϶� ��"�tF��[l�iC��R'́J�OeZ�����;`�Lڵ���ܩ\s�m�ɰ�����[Sa���
-�@%�����ѭ����ܜ�P6�Q�eV�-e�h����p�EwK=���zE�z���$|%��"��sl�㲸���t�g:F"VF*H�K|��
�h]=\+	��<kN��љ��Z�2}%�,^�Y?{O�ZyO���Y�~ 5�$
-endstream
-endobj
-10639 0 obj <<
-/Type /Page
-/Contents 10640 0 R
-/Resources 10638 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10498 0 R
-/Annots [ 10578 0 R 10579 0 R 10580 0 R 10581 0 R 10582 0 R 10583 0 R 10584 0 R 10585 0 R 10586 0 R 10587 0 R 10588 0 R 10589 0 R 10590 0 R 10591 0 R 10592 0 R 10593 0 R 10594 0 R 10595 0 R 10596 0 R 10597 0 R 10598 0 R 10599 0 R 10600 0 R 10601 0 R 10602 0 R 10603 0 R 10604 0 R 10605 0 R 10606 0 R 10607 0 R 10608 0 R 10609 0 R 10610 0 R 10611 0 R 10612 0 R 10613 0 R 10614 0 R 10615 0 R 10616 0 R 10617 0 R 10618 0 R 10619 0 R 10620 0 R 10621 0 R 10622 0 R 10623 0 R 10624 0 R 10625 0 R 10 [...]
->> endobj
-10578 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 672.615 208.774 682.802]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-10579 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 638.09 145.791 646.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.157) >>
->> endobj
-10580 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 612.84 145.791 623.026]
-/Subtype /Link
-/A << /S /GoTo /D (page.210) >>
->> endobj
-10581 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.78 612.84 165.716 623.026]
-/Subtype /Link
-/A << /S /GoTo /D (page.211) >>
->> endobj
-10582 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 588.212 280.116 599.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.93) >>
->> endobj
-10583 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 576.257 258.537 587.161]
-/Subtype /Link
-/A << /S /GoTo /D (page.127) >>
->> endobj
-10584 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 564.302 260.191 575.206]
-/Subtype /Link
-/A << /S /GoTo /D (page.231) >>
->> endobj
-10585 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 542.329 145.791 551.295]
-/Subtype /Link
-/A << /S /GoTo /D (page.309) >>
->> endobj
-10586 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 517.198 221.606 527.385]
-/Subtype /Link
-/A << /S /GoTo /D (page.339) >>
->> endobj
-10587 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 493.288 187.046 503.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.366) >>
->> endobj
-10588 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 480.615 287.867 491.519]
-/Subtype /Link
-/A << /S /GoTo /D (page.398) >>
->> endobj
-10589 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 456.705 280.116 467.609]
-/Subtype /Link
-/A << /S /GoTo /D (page.93) >>
->> endobj
-10590 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 444.75 260.191 455.654]
-/Subtype /Link
-/A << /S /GoTo /D (page.232) >>
->> endobj
-10591 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 421.557 187.046 431.744]
-/Subtype /Link
-/A << /S /GoTo /D (page.366) >>
->> endobj
-10592 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 408.884 287.867 419.788]
-/Subtype /Link
-/A << /S /GoTo /D (page.398) >>
->> endobj
-10593 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 384.974 280.116 395.878]
-/Subtype /Link
-/A << /S /GoTo /D (page.95) >>
->> endobj
-10594 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 373.019 258.537 383.923]
-/Subtype /Link
-/A << /S /GoTo /D (page.127) >>
->> endobj
-10595 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 361.064 260.191 371.968]
-/Subtype /Link
-/A << /S /GoTo /D (page.232) >>
->> endobj
-10596 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 339.091 145.791 348.057]
-/Subtype /Link
-/A << /S /GoTo /D (page.309) >>
->> endobj
-10597 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 313.96 221.606 324.147]
-/Subtype /Link
-/A << /S /GoTo /D (page.340) >>
->> endobj
-10598 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 290.05 187.046 300.237]
-/Subtype /Link
-/A << /S /GoTo /D (page.366) >>
->> endobj
-10599 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 277.378 287.867 288.282]
-/Subtype /Link
-/A << /S /GoTo /D (page.401) >>
->> endobj
-10600 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 253.467 280.116 264.371]
-/Subtype /Link
-/A << /S /GoTo /D (page.96) >>
->> endobj
-10601 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 241.512 260.191 252.416]
-/Subtype /Link
-/A << /S /GoTo /D (page.233) >>
->> endobj
-10602 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 218.319 187.046 228.506]
-/Subtype /Link
-/A << /S /GoTo /D (page.367) >>
->> endobj
-10603 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 205.647 287.867 216.551]
-/Subtype /Link
-/A << /S /GoTo /D (page.402) >>
->> endobj
-10604 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 181.736 280.116 192.64]
-/Subtype /Link
-/A << /S /GoTo /D (page.93) >>
->> endobj
-10605 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 169.781 258.537 180.685]
-/Subtype /Link
-/A << /S /GoTo /D (page.126) >>
->> endobj
-10606 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 157.826 260.191 168.73]
-/Subtype /Link
-/A << /S /GoTo /D (page.234) >>
->> endobj
-10607 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 135.973 145.791 144.82]
-/Subtype /Link
-/A << /S /GoTo /D (page.285) >>
->> endobj
-10608 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 112.063 145.791 120.909]
-/Subtype /Link
-/A << /S /GoTo /D (page.308) >>
->> endobj
-10609 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 684.571 438.087 694.757]
-/Subtype /Link
-/A << /S /GoTo /D (page.339) >>
->> endobj
-10610 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 660.66 403.527 670.847]
-/Subtype /Link
-/A << /S /GoTo /D (page.364) >>
->> endobj
-10611 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 647.988 504.348 658.892]
-/Subtype /Link
-/A << /S /GoTo /D (page.396) >>
->> endobj
-10612 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 624.078 496.597 634.981]
-/Subtype /Link
-/A << /S /GoTo /D (page.93) >>
->> endobj
-10613 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 612.122 476.672 623.026]
-/Subtype /Link
-/A << /S /GoTo /D (page.234) >>
->> endobj
-10614 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 588.929 403.527 599.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.364) >>
->> endobj
-10615 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 576.257 504.348 587.161]
-/Subtype /Link
-/A << /S /GoTo /D (page.397) >>
->> endobj
-10616 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 552.347 496.597 563.25]
-/Subtype /Link
-/A << /S /GoTo /D (page.94) >>
->> endobj
-10617 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 540.391 475.018 551.295]
-/Subtype /Link
-/A << /S /GoTo /D (page.126) >>
->> endobj
-10618 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 528.436 476.672 539.34]
-/Subtype /Link
-/A << /S /GoTo /D (page.235) >>
->> endobj
-10619 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 506.583 362.272 515.43]
-/Subtype /Link
-/A << /S /GoTo /D (page.285) >>
->> endobj
-10620 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 482.673 362.272 491.519]
-/Subtype /Link
-/A << /S /GoTo /D (page.308) >>
->> endobj
-10621 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 457.422 438.087 467.609]
-/Subtype /Link
-/A << /S /GoTo /D (page.340) >>
->> endobj
-10622 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 433.512 403.527 443.699]
-/Subtype /Link
-/A << /S /GoTo /D (page.365) >>
->> endobj
-10623 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 420.84 504.348 431.744]
-/Subtype /Link
-/A << /S /GoTo /D (page.398) >>
->> endobj
-10624 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 396.929 496.597 407.833]
-/Subtype /Link
-/A << /S /GoTo /D (page.94) >>
->> endobj
-10625 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 384.974 476.672 395.878]
-/Subtype /Link
-/A << /S /GoTo /D (page.235) >>
->> endobj
-10626 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 361.781 403.527 371.968]
-/Subtype /Link
-/A << /S /GoTo /D (page.365) >>
->> endobj
-10627 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 349.109 504.348 360.013]
-/Subtype /Link
-/A << /S /GoTo /D (page.399) >>
->> endobj
-10628 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 313.96 403.527 324.147]
-/Subtype /Link
-/A << /S /GoTo /D (page.364) >>
->> endobj
-10629 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 289.333 504.348 300.237]
-/Subtype /Link
-/A << /S /GoTo /D (page.397) >>
->> endobj
-10630 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 265.422 504.348 276.326]
-/Subtype /Link
-/A << /S /GoTo /D (page.397) >>
->> endobj
-10631 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 241.512 504.348 252.416]
-/Subtype /Link
-/A << /S /GoTo /D (page.400) >>
->> endobj
-10632 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 217.602 504.348 228.506]
-/Subtype /Link
-/A << /S /GoTo /D (page.400) >>
->> endobj
-10633 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 193.691 476.672 204.595]
-/Subtype /Link
-/A << /S /GoTo /D (page.232) >>
->> endobj
-10634 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 169.781 476.672 180.685]
-/Subtype /Link
-/A << /S /GoTo /D (page.232) >>
->> endobj
-10635 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 145.871 476.672 156.775]
-/Subtype /Link
-/A << /S /GoTo /D (page.237) >>
->> endobj
-10636 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 121.96 476.672 132.864]
-/Subtype /Link
-/A << /S /GoTo /D (page.237) >>
->> endobj
-10641 0 obj <<
-/D [10639 0 R /XYZ 90 757.935 null]
->> endobj
-10642 0 obj <<
-/D [10639 0 R /XYZ 90 696.969 null]
->> endobj
-10638 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10708 0 obj <<
-/Length 1161      
-/Filter /FlateDecode
->>
-stream
-x��Z]S�8}ϯ��&3���H�y[(����t�t4�-�[��4��~�ء��b')��SbْϽ:��+Y
g��~��of��0п.6Ð
��m�_�9��|�]�@D��7��%n��:��ma݊ ��6�-
-��u��@��Z�Ɠ�b�%����u�}
UH��rX
��F��0q�C1���%L�	��@� �
����S��mO�
��Ӄ��/������e��'J�
���o
�= �	��^Hg_�O҄R�Ҙa�e���gR�B~+^%���Wa�L
�l���{i���X�\�5�����/���G"�~�
�H$��!2��o�����5�\6�m���q�����?�a���U�w��i�Ek
���r�r���B/�����Yf������fDO�g�x������4YGmDR�{I��0	��?QO�{�����-���
�+酉�w���ncɮ����X⬒,�F,��b	�[,�UJ�X2��
c�
Da���8ܭ��H��T*󺕓q�C��m���u�P���G�e���,�-8��i �3����E��J��'�v�~��� �5Q���
���y��
�H��8�Ц��Q���kͰlպ��y��2�~��--si����:0�!c�YO�YoI뱞6c�m�-w�z��z����VԂ^T�v&]0�rn�(	��~T�T?�F�2�&�=y^�����\�0�R�MLL�/��!D����z�6-�ݝ.Q-�� ����f����Pb5��G�V`�`��b��b2�
f�I�{�a�~m��=mͱ���o���*���?ywٻ8�9�zY^�
~rs3�4�}���2� `���3]�?jm+-� ���ϛ*{e%3���0�Q��0�Mw)�V-�M�^��=@�2)��<
&\�,�
��� ��W�x��K�2;0}i��:��N���K�K�L��&{
�Ե����q�}G��Z,�i;&��z��'�G%�,��Bۼ���K�Ր8Y��?���	
�'LO!0�ږS���.��["�?����ϦV�S{������c.�
J�yy}�%#/*��!����X�b���a�����2���+����8�A��
Z� [...]
-endstream
-endobj
-10707 0 obj <<
-/Type /Page
-/Contents 10708 0 R
-/Resources 10706 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10498 0 R
-/Annots [ 10637 0 R 10643 0 R 10644 0 R 10645 0 R 10646 0 R 10647 0 R 10648 0 R 10649 0 R 10650 0 R 10651 0 R 10652 0 R 10653 0 R 10654 0 R 10655 0 R 10656 0 R 10657 0 R 10658 0 R 10659 0 R 10660 0 R 10661 0 R 10662 0 R 10663 0 R 10664 0 R 10665 0 R 10666 0 R 10667 0 R 10668 0 R 10669 0 R 10670 0 R 10671 0 R 10672 0 R 10673 0 R 10674 0 R 10675 0 R 10676 0 R 10677 0 R 10678 0 R 10679 0 R 10680 0 R 10681 0 R 10682 0 R 10683 0 R 10684 0 R 10685 0 R 10686 0 R 10687 0 R 10688 0 R 10689 0 R 10 [...]
->> endobj
-10637 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 721.97 145.791 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (page.157) >>
->> endobj
-10643 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.627 707.957 296.564 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.211) >>
->> endobj
-10644 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.266 684.047 278.203 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.420) >>
->> endobj
-10645 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 660.136 280.116 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (page.96) >>
->> endobj
-10646 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 648.181 258.537 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.127) >>
->> endobj
-10647 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 636.226 260.191 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.233) >>
->> endobj
-10648 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 614.253 145.791 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (page.309) >>
->> endobj
-10649 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 589.123 221.606 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (page.340) >>
->> endobj
-10650 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 576.45 287.867 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (page.402) >>
->> endobj
-10651 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 552.54 280.116 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.96) >>
->> endobj
-10652 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 540.585 260.191 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (page.233) >>
->> endobj
-10653 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 528.63 287.867 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.402) >>
->> endobj
-10654 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 504.719 280.116 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.94) >>
->> endobj
-10655 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 492.764 258.537 503.668]
-/Subtype /Link
-/A << /S /GoTo /D (page.126) >>
->> endobj
-10656 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 480.809 260.191 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.235) >>
->> endobj
-10657 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 458.956 145.791 467.803]
-/Subtype /Link
-/A << /S /GoTo /D (page.308) >>
->> endobj
-10658 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 433.706 221.606 443.892]
-/Subtype /Link
-/A << /S /GoTo /D (page.341) >>
->> endobj
-10659 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 421.033 287.867 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.398) >>
->> endobj
-10660 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 397.123 280.116 408.027]
-/Subtype /Link
-/A << /S /GoTo /D (page.95) >>
->> endobj
-10661 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 385.168 260.191 396.071]
-/Subtype /Link
-/A << /S /GoTo /D (page.235) >>
->> endobj
-10662 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 373.212 287.867 384.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.399) >>
->> endobj
-10663 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 349.302 287.867 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (page.400) >>
->> endobj
-10664 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 325.392 287.867 336.296]
-/Subtype /Link
-/A << /S /GoTo /D (page.401) >>
->> endobj
-10665 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 301.481 260.191 312.385]
-/Subtype /Link
-/A << /S /GoTo /D (page.237) >>
->> endobj
-10666 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 277.571 260.191 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.238) >>
->> endobj
-10667 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 253.661 285.097 264.565]
-/Subtype /Link
-/A << /S /GoTo /D (page.105) >>
->> endobj
-10668 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 241.706 258.537 252.609]
-/Subtype /Link
-/A << /S /GoTo /D (page.135) >>
->> endobj
-10669 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 229.75 260.191 240.654]
-/Subtype /Link
-/A << /S /GoTo /D (page.246) >>
->> endobj
-10670 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 207.897 145.791 216.744]
-/Subtype /Link
-/A << /S /GoTo /D (page.285) >>
->> endobj
-10671 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 183.987 145.791 192.834]
-/Subtype /Link
-/A << /S /GoTo /D (page.317) >>
->> endobj
-10672 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 158.737 221.606 168.923]
-/Subtype /Link
-/A << /S /GoTo /D (page.346) >>
->> endobj
-10673 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 146.064 287.867 156.968]
-/Subtype /Link
-/A << /S /GoTo /D (page.411) >>
->> endobj
-10674 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 122.154 285.097 133.058]
-/Subtype /Link
-/A << /S /GoTo /D (page.105) >>
->> endobj
-10675 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 110.199 258.537 121.103]
-/Subtype /Link
-/A << /S /GoTo /D (page.135) >>
->> endobj
-10676 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 98.244 260.191 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (page.246) >>
->> endobj
-10677 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 710.014 362.272 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.318) >>
->> endobj
-10678 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 684.764 438.087 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.347) >>
->> endobj
-10679 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 672.092 504.348 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.411) >>
->> endobj
-10680 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 638.283 362.272 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.285) >>
->> endobj
-10681 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.656 600.361 396.593 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (page.172) >>
->> endobj
-10682 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 576.45 496.597 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (page.99) >>
->> endobj
-10683 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 564.495 475.018 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.131) >>
->> endobj
-10684 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 552.54 476.672 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.240) >>
->> endobj
-10685 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 530.687 362.272 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.312) >>
->> endobj
-10686 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 505.437 438.087 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.343) >>
->> endobj
-10687 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 481.526 403.527 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.369) >>
->> endobj
-10688 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 468.854 504.348 479.758]
-/Subtype /Link
-/A << /S /GoTo /D (page.406) >>
->> endobj
-10689 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 444.943 501.578 455.847]
-/Subtype /Link
-/A << /S /GoTo /D (page.100) >>
->> endobj
-10690 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 432.988 475.018 443.892]
-/Subtype /Link
-/A << /S /GoTo /D (page.131) >>
->> endobj
-10691 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 421.033 476.672 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.241) >>
->> endobj
-10692 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 399.18 362.272 408.027]
-/Subtype /Link
-/A << /S /GoTo /D (page.313) >>
->> endobj
-10693 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 373.93 438.087 384.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.343) >>
->> endobj
-10694 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 350.019 403.527 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (page.369) >>
->> endobj
-10695 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 337.347 504.348 348.251]
-/Subtype /Link
-/A << /S /GoTo /D (page.406) >>
->> endobj
-10696 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 314.154 425.255 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-10697 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 278.288 403.527 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.375) >>
->> endobj
-10698 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.656 241.706 396.593 252.609]
-/Subtype /Link
-/A << /S /GoTo /D (page.207) >>
->> endobj
-10699 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.656 217.795 396.593 228.699]
-/Subtype /Link
-/A << /S /GoTo /D (page.263) >>
->> endobj
-10700 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 183.987 362.272 192.834]
-/Subtype /Link
-/A << /S /GoTo /D (page.155) >>
->> endobj
-10701 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.935 148.057 447.89 158.961]
-/Subtype /Link
-/A << /S /GoTo /D (page.75) >>
->> endobj
-10702 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 124.146 496.597 135.05]
-/Subtype /Link
-/A << /S /GoTo /D (page.87) >>
->> endobj
-10703 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [499.586 124.146 511.541 135.05]
-/Subtype /Link
-/A << /S /GoTo /D (page.89) >>
->> endobj
-10704 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 88.998 403.527 99.185]
-/Subtype /Link
-/A << /S /GoTo /D (page.372) >>
->> endobj
-10705 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10709 0 obj <<
-/D [10707 0 R /XYZ 90 757.935 null]
->> endobj
-10706 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10775 0 obj <<
-/Length 1130      
-/Filter /FlateDecode
->>
-stream
-x��Z]s�8}�W�ma�I�d;��4I7lBg2%
�0<�eV6���+c�Cl�43},[�GG�\�+����Z�Wk}"���AD�4h�:FP�
�~�����}�[�f[��~�����i��_
�V��Eol閁5/���m(�?k at 7
[�/�
-5�;��j���s$� Cg��W_v���q��]���/�A�
a�	�����n�:!u�Q�8aCA�K �x<9it�&t��^L!�.��$n�jZ��0�C`�d 出�/��Ӡ��<Y
؀d�p�pt�է��_�Q�Q@�l�x'&p
-�6��>WB����<�Y�6�/�Ս��L��*�R`v���
]:J~  q��!
�#���o*+؎~V
o���g�V���7����'�6^��L|�%�vˆ3OzFWD�G����
y��{3�
)l�H�QjS�^Cmhww�Cm�ݫ
�Q�;W[�:����D�i��;�As�%�s���a�
T���HD�KQj�G�q��倣F/t�\ٯ
�r�0 �M���?��F/^-z�Y&4�.�
���k��D��"+~KD�r�0t��
E��
T�q�*��ҍ��?PA�
-���"/vZߕ�#�
-Z�·������gi����	�u�U鞀�ܽ��"��P[F��ʥUXzXL�+93UΒ:
�(dY�!V@�^���j�䋱vJ��d��u��
*���*��Bd�c�19FQl
�(ƻ������������T�D_���^@:�}O���#�gဉ�ąU|�K��^����d7��J���i)M6H�c��F끕 2*v�wu�Ms�A�­�l`�˛�/��n��⺷[Zq�84�D��
[E_A�s����Ƙ: GP8}]�Z��.[�e���sZ�/z����߻�6Y�J��C(�+�c1c�,��Y�e>%I��b�Qi���
I�Ֆ6�����-��~�� �l+�0����0K�W:ߌ[�(����
q�;�a�/ı#�Ӽ(�M�扄�r�D^etd_b&�j`\���+�g4�~? 
�cK��?k::����hr1��'��컶��O�W�
/�-� h���I�LOZ��|�{�>��T�~ҚN��
-m�YCh��� �Hd��H����l
�^���ޅ�
-endstream
-endobj
-10774 0 obj <<
-/Type /Page
-/Contents 10775 0 R
-/Resources 10773 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10777 0 R
-/Annots [ 10710 0 R 10711 0 R 10712 0 R 10713 0 R 10714 0 R 10715 0 R 10716 0 R 10717 0 R 10718 0 R 10719 0 R 10720 0 R 10721 0 R 10722 0 R 10723 0 R 10724 0 R 10725 0 R 10726 0 R 10727 0 R 10728 0 R 10729 0 R 10730 0 R 10731 0 R 10732 0 R 10733 0 R 10734 0 R 10735 0 R 10736 0 R 10737 0 R 10738 0 R 10739 0 R 10740 0 R 10741 0 R 10742 0 R 10743 0 R 10744 0 R 10745 0 R 10746 0 R 10747 0 R 10748 0 R 10749 0 R 10750 0 R 10751 0 R 10752 0 R 10753 0 R 10754 0 R 10755 0 R 10756 0 R 10757 0 R 10 [...]
->> endobj
-10710 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 707.957 285.097 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.103) >>
->> endobj
-10711 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 686.104 145.791 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.316) >>
->> endobj
-10712 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 660.136 287.867 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (page.409) >>
->> endobj
-10713 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 624.988 187.046 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.372) >>
->> endobj
-10714 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 600.361 285.097 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (page.101) >>
->> endobj
-10715 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 588.405 258.537 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (page.133) >>
->> endobj
-10716 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 576.45 260.191 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (page.243) >>
->> endobj
-10717 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 554.597 145.791 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.314) >>
->> endobj
-10718 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 529.347 221.606 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.345) >>
->> endobj
-10719 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 505.437 187.046 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.371) >>
->> endobj
-10720 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 492.764 287.867 503.668]
-/Subtype /Link
-/A << /S /GoTo /D (page.408) >>
->> endobj
-10721 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 468.854 285.097 479.758]
-/Subtype /Link
-/A << /S /GoTo /D (page.102) >>
->> endobj
-10722 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 456.899 258.537 467.803]
-/Subtype /Link
-/A << /S /GoTo /D (page.133) >>
->> endobj
-10723 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 444.943 260.191 455.847]
-/Subtype /Link
-/A << /S /GoTo /D (page.243) >>
->> endobj
-10724 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 423.09 145.791 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.315) >>
->> endobj
-10725 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 397.84 221.606 408.027]
-/Subtype /Link
-/A << /S /GoTo /D (page.345) >>
->> endobj
-10726 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 373.93 187.046 384.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.371) >>
->> endobj
-10727 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 361.257 287.867 372.161]
-/Subtype /Link
-/A << /S /GoTo /D (page.408) >>
->> endobj
-10728 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 337.347 287.867 348.251]
-/Subtype /Link
-/A << /S /GoTo /D (page.409) >>
->> endobj
-10729 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 313.437 287.867 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (page.410) >>
->> endobj
-10730 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 289.526 280.116 300.43]
-/Subtype /Link
-/A << /S /GoTo /D (page.90) >>
->> endobj
-10731 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 277.571 258.537 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.123) >>
->> endobj
-10732 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 265.616 260.191 276.52]
-/Subtype /Link
-/A << /S /GoTo /D (page.228) >>
->> endobj
-10733 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 243.763 145.791 252.609]
-/Subtype /Link
-/A << /S /GoTo /D (page.306) >>
->> endobj
-10734 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 218.512 221.606 228.699]
-/Subtype /Link
-/A << /S /GoTo /D (page.336) >>
->> endobj
-10735 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 194.602 187.046 204.789]
-/Subtype /Link
-/A << /S /GoTo /D (page.360) >>
->> endobj
-10736 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 181.93 287.867 192.834]
-/Subtype /Link
-/A << /S /GoTo /D (page.394) >>
->> endobj
-10737 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 158.019 280.116 168.923]
-/Subtype /Link
-/A << /S /GoTo /D (page.90) >>
->> endobj
-10738 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 146.064 258.537 156.968]
-/Subtype /Link
-/A << /S /GoTo /D (page.124) >>
->> endobj
-10739 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 134.109 260.191 145.013]
-/Subtype /Link
-/A << /S /GoTo /D (page.228) >>
->> endobj
-10740 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 112.256 145.791 121.103]
-/Subtype /Link
-/A << /S /GoTo /D (page.306) >>
->> endobj
-10741 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 87.006 221.606 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (page.336) >>
->> endobj
-10742 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 708.674 403.527 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.361) >>
->> endobj
-10743 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 696.002 504.348 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (page.394) >>
->> endobj
-10744 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 672.092 475.018 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.120) >>
->> endobj
-10745 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.007 672.092 494.943 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.123) >>
->> endobj
-10746 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.91 650.174 419.865 661.078]
-/Subtype /Link
-/A << /S /GoTo /D (page.60) >>
->> endobj
-10747 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 616.366 362.272 625.212]
-/Subtype /Link
-/A << /S /GoTo /D (page.143) >>
->> endobj
-10748 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.261 616.366 382.197 625.212]
-/Subtype /Link
-/A << /S /GoTo /D (page.146) >>
->> endobj
-10749 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.569 590.398 511.506 601.302]
-/Subtype /Link
-/A << /S /GoTo /D (page.102) >>
->> endobj
-10750 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 580.5 362.272 589.347]
-/Subtype /Link
-/A << /S /GoTo /D (page.103) >>
->> endobj
-10751 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 555.25 362.272 565.436]
-/Subtype /Link
-/A << /S /GoTo /D (page.315) >>
->> endobj
-10752 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.261 555.25 382.197 565.436]
-/Subtype /Link
-/A << /S /GoTo /D (page.316) >>
->> endobj
-10753 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 530.622 501.578 541.526]
-/Subtype /Link
-/A << /S /GoTo /D (page.104) >>
->> endobj
-10754 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 518.667 475.018 529.571]
-/Subtype /Link
-/A << /S /GoTo /D (page.135) >>
->> endobj
-10755 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 496.814 362.272 505.661]
-/Subtype /Link
-/A << /S /GoTo /D (page.317) >>
->> endobj
-10756 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 470.846 475.018 481.75]
-/Subtype /Link
-/A << /S /GoTo /D (page.134) >>
->> endobj
-10757 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 437.038 362.272 445.885]
-/Subtype /Link
-/A << /S /GoTo /D (page.156) >>
->> endobj
-10758 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 399.833 403.527 410.019]
-/Subtype /Link
-/A << /S /GoTo /D (page.375) >>
->> endobj
-10759 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [406.516 399.833 423.452 410.019]
-/Subtype /Link
-/A << /S /GoTo /D (page.376) >>
->> endobj
-10760 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 365.307 362.272 374.154]
-/Subtype /Link
-/A << /S /GoTo /D (page.155) >>
->> endobj
-10761 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 329.442 362.272 338.288]
-/Subtype /Link
-/A << /S /GoTo /D (page.285) >>
->> endobj
-10762 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.304 303.474 498.241 314.378]
-/Subtype /Link
-/A << /S /GoTo /D (page.198) >>
->> endobj
-10763 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.304 279.564 498.241 290.468]
-/Subtype /Link
-/A << /S /GoTo /D (page.199) >>
->> endobj
-10764 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 245.755 362.272 254.602]
-/Subtype /Link
-/A << /S /GoTo /D (page.158) >>
->> endobj
-10765 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 220.505 425.255 230.692]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-10766 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.613 195.877 506.55 206.781]
-/Subtype /Link
-/A << /S /GoTo /D (page.166) >>
->> endobj
-10767 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.988 183.922 499.924 194.826]
-/Subtype /Link
-/A << /S /GoTo /D (page.180) >>
->> endobj
-10768 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.304 171.967 498.241 182.871]
-/Subtype /Link
-/A << /S /GoTo /D (page.199) >>
->> endobj
-10769 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 150.114 362.272 158.961]
-/Subtype /Link
-/A << /S /GoTo /D (page.257) >>
->> endobj
-10770 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 114.249 362.272 123.095]
-/Subtype /Link
-/A << /S /GoTo /D (page.258) >>
->> endobj
-10772 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10776 0 obj <<
-/D [10774 0 R /XYZ 90 757.935 null]
->> endobj
-10773 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10837 0 obj <<
-/Length 1214      
-/Filter /FlateDecode
->>
-stream
-x��Y[s�8~�W�maf��b�v�Z�M�M�4�;�M;
��[c��)�߯|!��1�[��>��wα .;o������0��p
,�
���{u{~���<|Lh�25/`�
w.��;H�B����2,B�7�<~��W��4�c�y�������w>t�*
-W� ��1&d�Xu�C��儻�8\<
_r�:x�\.����R>�#
���|*~����Dxw�(��	B�CK����8!�aS���O�\�\����|'�������=�>���/d|�{<ݎ��S�EU�Idx.e�zknB�P�B���w�� c&�+��"C�-Hn?�I��~�k����Q*䨇`�{u�`�&5�uCxq��/R?W�ў>t^�ۥw��j�kֈ�Չ'
�gnW#����� ��FU�0
x.v���g��݁��EZ�bZM�m+�ND�� �aڝ
�^�d�怊�8�Y�DxW��z4�3y�Y�p���y?�����/�TL�
�1��V,P���p/��_DA4�JX�P�nj�SKRɃ(i�9
�*qb�.qb���Y� �&�=�
�$�'#N�F��15j��2�ҽ)��_��6�te�=�<
�KV�)��M��|U�(�c�t3�Rj��h�TD��T�A���pd����j	fP�ad0��IM�5��<5�𲢖Tơ[��'B�e����&:���d�z
-wTK���m��jnB�gO��]
����q\�ʽ
do���XDBf��ZE�&�V�\���OGB�g��d-�n�
[n��E���"c��b?z��Zdܜ�K��i��
-�$�#7]L�a�i$B?�6�uk����*�5���:���䠂$��!�,-�uaڄ���+m$gji����`����t	1���Bl"�4��cys4���C�ُ=v�\?U�-��@��,G�f3/
|�#����ʡ���nm��t( Qu1�4Z����2l�x�J��O/i��j���ҋ���b�VЄ;�Ey��LeZ�
�n]�b-|#��oVS�_�
܌��.K�݇}k:���w���:���X�\=�ev�p4�k���p,b�'��Q}�Y�>�^�e���R	�m����c"�/=J�Iqã��O���Ae��|X=BF�(C�
Qn������=;�+x�m��9�s�N�NO���%�,
-�����4<]S[e����"d��
�$����H
NxPFU��;
'�
-endstream
-endobj
-10836 0 obj <<
-/Type /Page
-/Contents 10837 0 R
-/Resources 10835 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10777 0 R
-/Annots [ 10771 0 R 10778 0 R 10779 0 R 10780 0 R 10781 0 R 10782 0 R 10783 0 R 10784 0 R 10785 0 R 10786 0 R 10787 0 R 10788 0 R 10789 0 R 10790 0 R 10791 0 R 10792 0 R 10793 0 R 10794 0 R 10795 0 R 10796 0 R 10797 0 R 10798 0 R 10799 0 R 10800 0 R 10801 0 R 10802 0 R 10803 0 R 10804 0 R 10805 0 R 10806 0 R 10807 0 R 10808 0 R 10809 0 R 10810 0 R 10811 0 R 10812 0 R 10813 0 R 10814 0 R 10815 0 R 10816 0 R 10817 0 R 10818 0 R 10819 0 R 10820 0 R 10821 0 R 10822 0 R 10823 0 R 10824 0 R 10 [...]
->> endobj
-10771 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 710.014 145.791 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.322) >>
->> endobj
-10778 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.339 672.809 192.276 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.111) >>
->> endobj
-10779 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 650.239 145.791 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.250) >>
->> endobj
-10780 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 626.328 145.791 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.266) >>
->> endobj
-10781 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 601.078 208.774 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-10782 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 576.45 285.097 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (page.106) >>
->> endobj
-10783 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 564.495 258.537 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.136) >>
->> endobj
-10784 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 552.54 260.191 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.247) >>
->> endobj
-10785 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 530.687 145.791 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.318) >>
->> endobj
-10786 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 505.437 221.606 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.347) >>
->> endobj
-10787 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 481.526 187.046 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.373) >>
->> endobj
-10788 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 468.854 287.867 479.758]
-/Subtype /Link
-/A << /S /GoTo /D (page.412) >>
->> endobj
-10789 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.132 444.943 290.068 455.847]
-/Subtype /Link
-/A << /S /GoTo /D (page.165) >>
->> endobj
-10790 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.175 409.078 180.112 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (page.172) >>
->> endobj
-10791 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 385.168 260.191 396.071]
-/Subtype /Link
-/A << /S /GoTo /D (page.244) >>
->> endobj
-10792 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 361.257 280.116 372.161]
-/Subtype /Link
-/A << /S /GoTo /D (page.92) >>
->> endobj
-10793 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 349.302 258.537 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (page.123) >>
->> endobj
-10794 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 337.347 260.191 348.251]
-/Subtype /Link
-/A << /S /GoTo /D (page.228) >>
->> endobj
-10795 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 315.494 145.791 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (page.306) >>
->> endobj
-10796 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 290.243 221.606 300.43]
-/Subtype /Link
-/A << /S /GoTo /D (page.336) >>
->> endobj
-10797 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 266.333 187.046 276.52]
-/Subtype /Link
-/A << /S /GoTo /D (page.360) >>
->> endobj
-10798 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 253.661 287.867 264.565]
-/Subtype /Link
-/A << /S /GoTo /D (page.394) >>
->> endobj
-10799 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.506 229.75 283.443 240.654]
-/Subtype /Link
-/A << /S /GoTo /D (page.180) >>
->> endobj
-10800 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 195.942 145.791 204.789]
-/Subtype /Link
-/A << /S /GoTo /D (page.155) >>
->> endobj
-10801 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 169.975 280.116 180.878]
-/Subtype /Link
-/A << /S /GoTo /D (page.91) >>
->> endobj
-10802 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 158.019 258.537 168.923]
-/Subtype /Link
-/A << /S /GoTo /D (page.125) >>
->> endobj
-10803 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 146.064 260.191 156.968]
-/Subtype /Link
-/A << /S /GoTo /D (page.230) >>
->> endobj
-10804 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 124.211 145.791 133.058]
-/Subtype /Link
-/A << /S /GoTo /D (page.305) >>
->> endobj
-10805 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 98.961 221.606 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (page.338) >>
->> endobj
-10806 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 708.674 403.527 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.363) >>
->> endobj
-10807 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 696.002 504.348 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (page.396) >>
->> endobj
-10808 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 662.194 362.272 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (page.283) >>
->> endobj
-10809 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 626.328 362.272 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.283) >>
->> endobj
-10810 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 591.115 425.255 601.302]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-10811 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 566.488 496.597 577.392]
-/Subtype /Link
-/A << /S /GoTo /D (page.99) >>
->> endobj
-10812 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 554.532 475.018 565.436]
-/Subtype /Link
-/A << /S /GoTo /D (page.130) >>
->> endobj
-10813 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 542.577 476.672 553.481]
-/Subtype /Link
-/A << /S /GoTo /D (page.240) >>
->> endobj
-10814 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 520.724 362.272 529.571]
-/Subtype /Link
-/A << /S /GoTo /D (page.312) >>
->> endobj
-10815 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 495.474 438.087 505.661]
-/Subtype /Link
-/A << /S /GoTo /D (page.342) >>
->> endobj
-10816 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 471.564 403.527 481.75]
-/Subtype /Link
-/A << /S /GoTo /D (page.368) >>
->> endobj
-10817 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 447.653 425.255 457.84]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-10818 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [472.208 423.026 489.145 433.93]
-/Subtype /Link
-/A << /S /GoTo /D (page.270) >>
->> endobj
-10819 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.304 399.115 498.241 410.019]
-/Subtype /Link
-/A << /S /GoTo /D (page.199) >>
->> endobj
-10820 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 377.262 362.272 386.109]
-/Subtype /Link
-/A << /S /GoTo /D (page.257) >>
->> endobj
-10821 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 342.049 425.255 352.236]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-10822 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [472.208 317.422 489.145 328.326]
-/Subtype /Link
-/A << /S /GoTo /D (page.269) >>
->> endobj
-10823 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 294.229 425.255 304.415]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-10824 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.988 269.601 499.924 280.505]
-/Subtype /Link
-/A << /S /GoTo /D (page.179) >>
->> endobj
-10825 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 245.691 501.578 256.595]
-/Subtype /Link
-/A << /S /GoTo /D (page.109) >>
->> endobj
-10826 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 233.735 475.018 244.639]
-/Subtype /Link
-/A << /S /GoTo /D (page.140) >>
->> endobj
-10827 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.569 221.78 511.506 232.684]
-/Subtype /Link
-/A << /S /GoTo /D (page.201) >>
->> endobj
-10828 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 211.882 362.272 220.729]
-/Subtype /Link
-/A << /S /GoTo /D (page.202) >>
->> endobj
-10829 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 187.972 362.272 196.819]
-/Subtype /Link
-/A << /S /GoTo /D (page.321) >>
->> endobj
-10830 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 152.107 362.272 160.953]
-/Subtype /Link
-/A << /S /GoTo /D (page.286) >>
->> endobj
-10831 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 116.241 362.272 125.088]
-/Subtype /Link
-/A << /S /GoTo /D (page.157) >>
->> endobj
-10832 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.109 102.229 513.045 113.133]
-/Subtype /Link
-/A << /S /GoTo /D (page.211) >>
->> endobj
-10834 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10838 0 obj <<
-/D [10836 0 R /XYZ 90 757.935 null]
->> endobj
-10835 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10905 0 obj <<
-/Length 1187      
-/Filter /FlateDecode
->>
-stream
-x��Z]s�8}�W�maf1�l�v��&K�MRJ�Lf��F�x��&$��W�&�l���
���=�H��+�L��[F��_DS,�"�(��b� P�*#G�i�]��^w��>+:0U����A�P��:
�~��h
-\�ƆjhX����w�8���T�2���)_ё&�=���V�`��q��b M�V
��,�
���;1���]��ǣ�'�j�"��X�(�І��r�E�!0�r��
�ja)�î�=��Ǯ�c|�����b�l���̸'�k�Z7�]{�H�/~L]�y���XW�L
�3��Cq(.�
�heF���|X�i��0
���9��c� ����0�aK��&[x��l=�<Φ��~?R7�w�)O~y�+L��)�t h�i���w<��� &�RԿг ]�6y�|6l�		���
�9K�;��([ϙ��uq6��ůD	2˔h�jb���- ZƔ%�;	�!�;wd��m:=�&�9u\��I=��
{3�N��
Pح�J���
�8�Q;
g!��3��n�@c	����At�)�o�S��	V��
��%�<f�����@	��>���h6]���i��6"��`�"B::�^C{�)I�ȡ��M&1R=���
�z���"�b�@C%��Zi�"f[D�&���E��bu�
E1/)iB�`���Q"�p��V*��*�K��z*QJ�UUB��xoW6�ޣ���-u�Lm��h*��s��L��S��L�?���صK�3��ه��
�W�I��p�
�sƼw�^{	��
���g��.|hnihPjɦb_���>�y5���›�h�%�Y�
�ʬ͢��`
-#���qB�
��!=��m��ut�>>�mpN?^_�<�z0{W�'FU8�OǗ�K�� �0h.�гB�!���� �$�e�eg!����2�T*F�˧�d_�p�� n��W�p>���W���/
+
���3e	
�@d�L$�EMH��.��8�".}7`�N.,(���T$;��=����:Ц���i�6��o؉��V����D�
�,^�cKl׋m�h�;
�O.�K�������[��?:������^̯o���
����H��NW�t�y�l��ey�w�����������4M��^o>��v��7�U7�E��[���5��j<
2�
�ƅ�n }�
-���@���
��
-endstream
-endobj
-10904 0 obj <<
-/Type /Page
-/Contents 10905 0 R
-/Resources 10903 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10777 0 R
-/Annots [ 10833 0 R 10839 0 R 10840 0 R 10841 0 R 10842 0 R 10843 0 R 10844 0 R 10845 0 R 10846 0 R 10847 0 R 10848 0 R 10849 0 R 10850 0 R 10851 0 R 10852 0 R 10853 0 R 10854 0 R 10855 0 R 10856 0 R 10857 0 R 10858 0 R 10859 0 R 10860 0 R 10861 0 R 10862 0 R 10863 0 R 10864 0 R 10865 0 R 10866 0 R 10867 0 R 10868 0 R 10869 0 R 10870 0 R 10871 0 R 10872 0 R 10873 0 R 10874 0 R 10875 0 R 10876 0 R 10877 0 R 10878 0 R 10879 0 R 10880 0 R 10881 0 R 10882 0 R 10883 0 R 10884 0 R 10885 0 R 10 [...]
->> endobj
-10833 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 719.912 285.097 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (page.107) >>
->> endobj
-10839 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 707.957 258.537 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.137) >>
->> endobj
-10840 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 696.002 260.191 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (page.248) >>
->> endobj
-10841 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 674.029 145.791 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.319) >>
->> endobj
-10842 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 648.899 221.606 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.348) >>
->> endobj
-10843 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 624.988 187.046 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.374) >>
->> endobj
-10844 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 612.316 287.867 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (page.413) >>
->> endobj
-10845 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 578.508 145.791 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (page.156) >>
->> endobj
-10846 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.627 564.495 296.564 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.210) >>
->> endobj
-10847 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 520.724 145.791 529.571]
-/Subtype /Link
-/A << /S /GoTo /D (page.286) >>
->> endobj
-10848 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 484.859 145.791 493.705]
-/Subtype /Link
-/A << /S /GoTo /D (page.156) >>
->> endobj
-10849 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 458.891 285.097 469.795]
-/Subtype /Link
-/A << /S /GoTo /D (page.107) >>
->> endobj
-10850 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 446.936 258.537 457.84]
-/Subtype /Link
-/A << /S /GoTo /D (page.137) >>
->> endobj
-10851 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 434.981 260.191 445.885]
-/Subtype /Link
-/A << /S /GoTo /D (page.248) >>
->> endobj
-10852 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 413.008 145.791 421.974]
-/Subtype /Link
-/A << /S /GoTo /D (page.319) >>
->> endobj
-10853 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 387.877 221.606 398.064]
-/Subtype /Link
-/A << /S /GoTo /D (page.349) >>
->> endobj
-10854 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 363.967 187.046 374.154]
-/Subtype /Link
-/A << /S /GoTo /D (page.374) >>
->> endobj
-10855 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 351.295 287.867 362.199]
-/Subtype /Link
-/A << /S /GoTo /D (page.413) >>
->> endobj
-10856 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.454 327.384 231.409 338.288]
-/Subtype /Link
-/A << /S /GoTo /D (page.76) >>
->> endobj
-10857 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 283.613 145.791 292.46]
-/Subtype /Link
-/A << /S /GoTo /D (page.157) >>
->> endobj
-10858 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.627 269.601 296.564 280.505]
-/Subtype /Link
-/A << /S /GoTo /D (page.211) >>
->> endobj
-10859 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 235.793 145.791 244.639]
-/Subtype /Link
-/A << /S /GoTo /D (page.157) >>
->> endobj
-10860 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.627 221.78 296.564 232.684]
-/Subtype /Link
-/A << /S /GoTo /D (page.211) >>
->> endobj
-10861 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 197.87 285.097 208.774]
-/Subtype /Link
-/A << /S /GoTo /D (page.100) >>
->> endobj
-10862 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 185.915 258.537 196.819]
-/Subtype /Link
-/A << /S /GoTo /D (page.131) >>
->> endobj
-10863 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.526 185.915 278.462 196.819]
-/Subtype /Link
-/A << /S /GoTo /D (page.132) >>
->> endobj
-10864 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 173.96 260.191 184.864]
-/Subtype /Link
-/A << /S /GoTo /D (page.241) >>
->> endobj
-10865 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.179 173.96 280.116 184.864]
-/Subtype /Link
-/A << /S /GoTo /D (page.242) >>
->> endobj
-10866 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 152.107 145.791 160.953]
-/Subtype /Link
-/A << /S /GoTo /D (page.313) >>
->> endobj
-10867 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 126.856 221.606 137.043]
-/Subtype /Link
-/A << /S /GoTo /D (page.343) >>
->> endobj
-10868 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.595 126.856 241.531 137.043]
-/Subtype /Link
-/A << /S /GoTo /D (page.344) >>
->> endobj
-10869 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 102.946 187.046 113.133]
-/Subtype /Link
-/A << /S /GoTo /D (page.369) >>
->> endobj
-10870 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.034 102.946 206.971 113.133]
-/Subtype /Link
-/A << /S /GoTo /D (page.370) >>
->> endobj
-10871 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.569 719.912 511.506 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (page.406) >>
->> endobj
-10872 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 710.014 362.272 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.407) >>
->> endobj
-10873 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 684.047 501.578 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.101) >>
->> endobj
-10874 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 672.092 475.018 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.132) >>
->> endobj
-10875 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 660.136 476.672 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (page.242) >>
->> endobj
-10876 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 638.283 362.272 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.314) >>
->> endobj
-10877 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 613.033 438.087 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (page.344) >>
->> endobj
-10878 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [441.076 613.033 458.013 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (page.345) >>
->> endobj
-10879 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 589.123 403.527 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (page.370) >>
->> endobj
-10880 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 576.45 504.348 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (page.407) >>
->> endobj
-10881 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 552.54 476.672 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.244) >>
->> endobj
-10882 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 517.392 403.527 527.578]
-/Subtype /Link
-/A << /S /GoTo /D (page.362) >>
->> endobj
-10883 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 481.526 403.527 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.363) >>
->> endobj
-10884 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 456.899 476.672 467.803]
-/Subtype /Link
-/A << /S /GoTo /D (page.231) >>
->> endobj
-10885 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 432.988 475.018 443.892]
-/Subtype /Link
-/A << /S /GoTo /D (page.138) >>
->> endobj
-10886 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 409.078 475.018 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (page.138) >>
->> endobj
-10887 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 385.168 475.018 396.071]
-/Subtype /Link
-/A << /S /GoTo /D (page.138) >>
->> endobj
-10888 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 361.975 425.255 372.161]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-10889 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 338.064 425.255 348.251]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-10890 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 313.437 476.672 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (page.223) >>
->> endobj
-10891 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [479.661 313.437 496.597 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (page.227) >>
->> endobj
-10892 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 279.628 362.272 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.256) >>
->> endobj
-10893 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 243.763 362.272 252.609]
-/Subtype /Link
-/A << /S /GoTo /D (page.257) >>
->> endobj
-10894 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 207.833 501.578 218.737]
-/Subtype /Link
-/A << /S /GoTo /D (page.105) >>
->> endobj
-10895 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 195.877 504.348 206.781]
-/Subtype /Link
-/A << /S /GoTo /D (page.410) >>
->> endobj
-10896 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.719 171.967 507.655 182.871]
-/Subtype /Link
-/A << /S /GoTo /D (page.191) >>
->> endobj
-10897 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 148.057 501.578 158.961]
-/Subtype /Link
-/A << /S /GoTo /D (page.108) >>
->> endobj
-10898 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 136.102 476.672 147.005]
-/Subtype /Link
-/A << /S /GoTo /D (page.249) >>
->> endobj
-10899 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 114.249 362.272 123.095]
-/Subtype /Link
-/A << /S /GoTo /D (page.320) >>
->> endobj
-10900 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 88.998 438.087 99.185]
-/Subtype /Link
-/A << /S /GoTo /D (page.349) >>
->> endobj
-10902 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10906 0 obj <<
-/D [10904 0 R /XYZ 90 757.935 null]
->> endobj
-10903 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10967 0 obj <<
-/Length 1187      
-/Filter /FlateDecode
->>
-stream
-x��Y[S�8~ϯ��&3��Œm�
-e)]�)Iw�ҎG8"h�K*+M�_�N �$vlvg�%�e]��Α NZ����� ��f�
<
�,���u�����U�k�=��kA�̸��MH��:��i� 壩c9�� j]�``��h���WlL�z��-8���9$�gL���-V�vmsq����wb��&oW��D�:����l<{Y
��O:��'B�n���
�j8�����0�m��i���hل�MI\�����E�
6k!�XKƣ�~�n���N�:����G7B�D�LJD�|ij\����q*���
-�$
����F{��T���K��z;Qr��X(��f�y:��@�$�y��a\OՇo��
�T���@Y���2%�|���qJ���4&1K�Z�q�P�P|Ԓ�����q`����P��f�^!~����pU�,q1��?����/�*��m��_�F�?�i�����*
-��:$l
�����J��
�orB<f۵h�R���q$�N�'��c���Ýy:�H5O��<���i
Zf��U�#3Fd?<��uR3�O�T+nTX�m�~��2�
s<�|�e����.�~��2
aҤ豮MxMk�;Q�*���q<�����0a�

��x�-�t���Uj�
�٣
��P�#�6��
���q�H���nJk�h��q��s��&��!ZG*	�a�&�
7
�
XʵL3�M(�qx~���3>ڈ<�j�i>�I�
e�Újn
����s��d4ܤ�A��bP�����"*]���`l�3�xI�G��\�*&ͳ���c1��5�6k#�PH_�7�
V���^6�
r6�"#�;*�H'W�9a52�Ʃ�S!{[�����!����Ye(Ҵ
uB��6�R����
�z��K��cF�
�o�V��3���*��m6���̩
-�����j^��t(#����ϐ������l|�� {�s#Ɏݘ�׫��]~��)�����@�GG{-e�[=$��s�Z����^�Vxv�,�!��^�z�v��':���3�ש �˧T��:�������c�y��_ �?��L
-cS4B
A
�O�����=!���}��?�{t:���E �ݖ�i=:�ߟL&V�Z�X��%��h�?�oAj�l�y��֤g9�(QS�el�ܘ�'��4cR�
-endstream
-endobj
-10966 0 obj <<
-/Type /Page
-/Contents 10967 0 R
-/Resources 10965 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10777 0 R
-/Annots [ 10901 0 R 10907 0 R 10908 0 R 10909 0 R 10910 0 R 10911 0 R 10912 0 R 10913 0 R 10914 0 R 10915 0 R 10916 0 R 10917 0 R 10918 0 R 10919 0 R 10920 0 R 10921 0 R 10922 0 R 10923 0 R 10924 0 R 10925 0 R 10926 0 R 10927 0 R 10928 0 R 10929 0 R 10930 0 R 10931 0 R 10932 0 R 10933 0 R 10934 0 R 10935 0 R 10936 0 R 10937 0 R 10938 0 R 10939 0 R 10940 0 R 10941 0 R 10942 0 R 10943 0 R 10944 0 R 10945 0 R 10946 0 R 10947 0 R 10948 0 R 10949 0 R 10950 0 R 10951 0 R 10952 0 R 10953 0 R 10 [...]
->> endobj
-10901 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 708.674 187.046 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.364) >>
->> endobj
-10907 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 696.002 287.867 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (page.414) >>
->> endobj
-10908 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 652.111 145.791 661.078]
-/Subtype /Link
-/A << /S /GoTo /D (page.159) >>
->> endobj
-10909 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.175 614.308 180.112 625.212]
-/Subtype /Link
-/A << /S /GoTo /D (page.172) >>
->> endobj
-10910 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.175 590.398 180.112 601.302]
-/Subtype /Link
-/A << /S /GoTo /D (page.263) >>
->> endobj
-10911 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 566.488 280.116 577.392]
-/Subtype /Link
-/A << /S /GoTo /D (page.98) >>
->> endobj
-10912 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 554.532 258.537 565.436]
-/Subtype /Link
-/A << /S /GoTo /D (page.130) >>
->> endobj
-10913 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 542.577 260.191 553.481]
-/Subtype /Link
-/A << /S /GoTo /D (page.239) >>
->> endobj
-10914 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 520.724 145.791 529.571]
-/Subtype /Link
-/A << /S /GoTo /D (page.311) >>
->> endobj
-10915 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 495.474 221.606 505.661]
-/Subtype /Link
-/A << /S /GoTo /D (page.342) >>
->> endobj
-10916 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 471.564 187.046 481.75]
-/Subtype /Link
-/A << /S /GoTo /D (page.368) >>
->> endobj
-10917 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 458.891 287.867 469.795]
-/Subtype /Link
-/A << /S /GoTo /D (page.404) >>
->> endobj
-10918 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 434.981 280.116 445.885]
-/Subtype /Link
-/A << /S /GoTo /D (page.98) >>
->> endobj
-10919 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 423.026 260.191 433.93]
-/Subtype /Link
-/A << /S /GoTo /D (page.239) >>
->> endobj
-10920 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 399.833 187.046 410.019]
-/Subtype /Link
-/A << /S /GoTo /D (page.368) >>
->> endobj
-10921 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 387.16 287.867 398.064]
-/Subtype /Link
-/A << /S /GoTo /D (page.404) >>
->> endobj
-10922 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 363.25 260.191 374.154]
-/Subtype /Link
-/A << /S /GoTo /D (page.228) >>
->> endobj
-10923 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 339.339 280.116 350.243]
-/Subtype /Link
-/A << /S /GoTo /D (page.92) >>
->> endobj
-10924 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 327.384 258.537 338.288]
-/Subtype /Link
-/A << /S /GoTo /D (page.126) >>
->> endobj
-10925 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 315.429 260.191 326.333]
-/Subtype /Link
-/A << /S /GoTo /D (page.228) >>
->> endobj
-10926 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 293.576 145.791 302.423]
-/Subtype /Link
-/A << /S /GoTo /D (page.305) >>
->> endobj
-10927 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 268.326 221.606 278.512]
-/Subtype /Link
-/A << /S /GoTo /D (page.336) >>
->> endobj
-10928 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 244.415 187.046 254.602]
-/Subtype /Link
-/A << /S /GoTo /D (page.360) >>
->> endobj
-10929 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 231.743 287.867 242.647]
-/Subtype /Link
-/A << /S /GoTo /D (page.393) >>
->> endobj
-10930 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.132 207.833 290.068 218.737]
-/Subtype /Link
-/A << /S /GoTo /D (page.166) >>
->> endobj
-10931 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.506 183.922 283.443 194.826]
-/Subtype /Link
-/A << /S /GoTo /D (page.180) >>
->> endobj
-10932 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.823 171.967 281.759 182.871]
-/Subtype /Link
-/A << /S /GoTo /D (page.200) >>
->> endobj
-10933 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 150.114 145.791 158.961]
-/Subtype /Link
-/A << /S /GoTo /D (page.257) >>
->> endobj
-10934 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.132 124.146 290.068 135.05]
-/Subtype /Link
-/A << /S /GoTo /D (page.166) >>
->> endobj
-10935 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.506 112.191 283.443 123.095]
-/Subtype /Link
-/A << /S /GoTo /D (page.180) >>
->> endobj
-10936 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 710.014 362.272 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.155) >>
->> endobj
-10937 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 674.149 362.272 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.155) >>
->> endobj
-10938 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 638.283 362.272 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.155) >>
->> endobj
-10939 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 602.418 362.272 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (page.155) >>
->> endobj
-10940 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 566.552 362.272 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.155) >>
->> endobj
-10941 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.613 540.585 506.55 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (page.166) >>
->> endobj
-10942 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 506.777 362.272 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.286) >>
->> endobj
-10943 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.613 480.809 506.55 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.166) >>
->> endobj
-10944 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.988 468.854 499.924 479.758]
-/Subtype /Link
-/A << /S /GoTo /D (page.180) >>
->> endobj
-10945 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 444.943 476.672 455.847]
-/Subtype /Link
-/A << /S /GoTo /D (page.228) >>
->> endobj
-10946 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.748 421.033 494.684 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.420) >>
->> endobj
-10947 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.569 387.16 511.506 398.064]
-/Subtype /Link
-/A << /S /GoTo /D (page.109) >>
->> endobj
-10948 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 377.262 362.272 386.109]
-/Subtype /Link
-/A << /S /GoTo /D (page.110) >>
->> endobj
-10949 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 363.25 475.018 374.154]
-/Subtype /Link
-/A << /S /GoTo /D (page.140) >>
->> endobj
-10950 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.007 363.25 494.943 374.154]
-/Subtype /Link
-/A << /S /GoTo /D (page.141) >>
->> endobj
-10951 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.304 351.295 498.241 362.199]
-/Subtype /Link
-/A << /S /GoTo /D (page.202) >>
->> endobj
-10952 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 329.442 362.272 338.288]
-/Subtype /Link
-/A << /S /GoTo /D (page.322) >>
->> endobj
-10953 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 293.576 362.272 302.423]
-/Subtype /Link
-/A << /S /GoTo /D (page.157) >>
->> endobj
-10954 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.109 279.564 513.045 290.468]
-/Subtype /Link
-/A << /S /GoTo /D (page.211) >>
->> endobj
-10955 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.669 255.653 491.606 266.557]
-/Subtype /Link
-/A << /S /GoTo /D (page.425) >>
->> endobj
-10956 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 232.46 425.255 242.647]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-10957 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 208.55 425.255 218.737]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-10958 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 183.922 501.578 194.826]
-/Subtype /Link
-/A << /S /GoTo /D (page.103) >>
->> endobj
-10959 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 162.069 362.272 170.916]
-/Subtype /Link
-/A << /S /GoTo /D (page.316) >>
->> endobj
-10960 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 136.102 504.348 147.005]
-/Subtype /Link
-/A << /S /GoTo /D (page.409) >>
->> endobj
-10961 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 112.191 501.578 123.095]
-/Subtype /Link
-/A << /S /GoTo /D (page.104) >>
->> endobj
-10962 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 100.236 475.018 111.14]
-/Subtype /Link
-/A << /S /GoTo /D (page.134) >>
->> endobj
-10964 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10968 0 obj <<
-/D [10966 0 R /XYZ 90 757.935 null]
->> endobj
-10965 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11038 0 obj <<
-/Length 1283      
-/Filter /FlateDecode
->>
-stream
-x��Z[s�H~�W��jՊ}�H�K��d�I����d�(�
C
������\L��4`�>X\���9}��
 ��['�V�##�P
���!�b�Sp��>��t~�?�
-�Lܗ��59�:��i!q��M5E#L���O���' b��1��*&b�Q�K
�"�p	�bS�a�@F�Q�
D�V�Z��w|Z�}Z����j[3߳
s�`��_,����[ %��"�47L��_��]b(:E�W9�k�|jN|oι7�&O=š��۾gZQdϼ4f(sa��N�C{��mS��*- �4��<<�
�f�����=�kƞ!�|(I�
&�����S�W2���`�q��՜��<�yk���M&�,i�1eR������<��gOA�E�5307�}����ʸ���]z�l���
-c;���з�8��O�~��#�e%�I��g�XDzfе3
-,Q ��˽$�����
]?���֌��j�շ߬��Ǫ�W�gl[��ؑd�|:��Z2
}�S�g��
{��'�#%_��Dq�<��_��wB�q�j��a�
�������}���f	&#Ů�$:���rۀ��!Am��-���N�.JbiU"Pk̹�R��5g�^僡��1T	�p��
3�5�E��?�Q&#`���	�2�w [���`�Uǀ��ߞd�
V��{^$��(�Ze!�)~���6�ʮTB�@qs@�BH%D��?L��p��������J��uR�C�*�ܸ��
�V<��W��	k��;w^�U�i?�;�*�)

-��
�>�j�h^�~5k��O~%A�
��;
V�oD��1�jM�r~94�`����y%�0�����B��ɵ
׺���yU{~`̶z���E�|�W����:6���/�4�}|�����Eqh	r�ͳ&���b
g�[��&_�/C�d���U�����
-�����RS�3��Z�[��Z6(#�W���ֺ�\�Q��V�R �k�DIо��79̪8��;&A1��d�#F4ôS���3�T ?�b�\����ʛKBd<�(�+�b��fkU��f�e˺۸�Wr
�5|{���"���+mĨ�F߸�2�����r[�V��i��T`�� S
����
-�P(U3���I��"?\��
��d_#
�ѡ�
eǗ�7��l���wbJ�F��)=	,�BJ�K�t�8ϝ�<��{���+�
-^�k�(���~����{||T&�2�� T�No-|�R��Ƚ�P
-����}ۻO��䅙�fH��?성�
-endstream
-endobj
-11037 0 obj <<
-/Type /Page
-/Contents 11038 0 R
-/Resources 11036 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10777 0 R
-/Annots [ 10963 0 R 10969 0 R 10970 0 R 10971 0 R 10972 0 R 10973 0 R 10974 0 R 10975 0 R 10976 0 R 10977 0 R 10978 0 R 10979 0 R 10980 0 R 10981 0 R 10982 0 R 10983 0 R 10984 0 R 10985 0 R 10986 0 R 10987 0 R 10988 0 R 10989 0 R 10990 0 R 10991 0 R 10992 0 R 10993 0 R 10994 0 R 10995 0 R 10996 0 R 10997 0 R 10998 0 R 10999 0 R 11000 0 R 11001 0 R 11002 0 R 11003 0 R 11004 0 R 11005 0 R 11006 0 R 11007 0 R 11008 0 R 11009 0 R 11010 0 R 11011 0 R 11012 0 R 11013 0 R 11014 0 R 11015 0 R 11 [...]
->> endobj
-10963 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 710.014 145.791 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.317) >>
->> endobj
-10969 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 684.047 260.191 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.245) >>
->> endobj
-10970 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 660.136 260.191 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (page.245) >>
->> endobj
-10971 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 636.226 260.191 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.245) >>
->> endobj
-10972 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 612.316 285.097 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (page.105) >>
->> endobj
-10973 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 600.361 287.867 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (page.410) >>
->> endobj
-10974 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.823 576.45 281.759 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (page.198) >>
->> endobj
-10975 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 554.597 145.791 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.256) >>
->> endobj
-10976 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.823 528.63 281.759 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.198) >>
->> endobj
-10977 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.109 492.764 195.046 503.668]
-/Subtype /Link
-/A << /S /GoTo /D (page.275) >>
->> endobj
-10978 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.034 492.764 214.971 503.668]
-/Subtype /Link
-/A << /S /GoTo /D (page.276) >>
->> endobj
-10979 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 457.616 187.046 467.803]
-/Subtype /Link
-/A << /S /GoTo /D (page.375) >>
->> endobj
-10980 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 423.026 285.097 433.93]
-/Subtype /Link
-/A << /S /GoTo /D (page.106) >>
->> endobj
-10981 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 411.07 258.537 421.974]
-/Subtype /Link
-/A << /S /GoTo /D (page.136) >>
->> endobj
-10982 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 399.115 260.191 410.019]
-/Subtype /Link
-/A << /S /GoTo /D (page.247) >>
->> endobj
-10983 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 377.143 145.791 386.109]
-/Subtype /Link
-/A << /S /GoTo /D (page.319) >>
->> endobj
-10984 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 352.012 221.606 362.199]
-/Subtype /Link
-/A << /S /GoTo /D (page.348) >>
->> endobj
-10985 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 328.102 187.046 338.288]
-/Subtype /Link
-/A << /S /GoTo /D (page.373) >>
->> endobj
-10986 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 315.429 287.867 326.333]
-/Subtype /Link
-/A << /S /GoTo /D (page.412) >>
->> endobj
-10987 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 292.236 208.774 302.423]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-10988 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 267.608 280.116 278.512]
-/Subtype /Link
-/A << /S /GoTo /D (page.90) >>
->> endobj
-10989 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 255.653 258.537 266.557]
-/Subtype /Link
-/A << /S /GoTo /D (page.124) >>
->> endobj
-10990 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 243.698 260.191 254.602]
-/Subtype /Link
-/A << /S /GoTo /D (page.229) >>
->> endobj
-10991 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 220.505 145.791 230.692]
-/Subtype /Link
-/A << /S /GoTo /D (page.306) >>
->> endobj
-10992 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.78 220.505 165.716 230.692]
-/Subtype /Link
-/A << /S /GoTo /D (page.307) >>
->> endobj
-10993 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 196.595 221.606 206.781]
-/Subtype /Link
-/A << /S /GoTo /D (page.336) >>
->> endobj
-10994 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.595 196.595 241.531 206.781]
-/Subtype /Link
-/A << /S /GoTo /D (page.337) >>
->> endobj
-10995 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 172.684 187.046 182.871]
-/Subtype /Link
-/A << /S /GoTo /D (page.361) >>
->> endobj
-10996 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 160.012 287.867 170.916]
-/Subtype /Link
-/A << /S /GoTo /D (page.394) >>
->> endobj
-10997 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 136.819 208.774 147.005]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-10998 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 112.909 208.774 123.095]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-10999 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 88.281 280.116 99.185]
-/Subtype /Link
-/A << /S /GoTo /D (page.91) >>
->> endobj
-11000 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 719.912 475.018 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (page.125) >>
->> endobj
-11001 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 707.957 476.672 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.229) >>
->> endobj
-11002 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [479.661 707.957 496.597 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.230) >>
->> endobj
-11003 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 684.764 362.272 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.307) >>
->> endobj
-11004 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.261 684.764 382.197 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.308) >>
->> endobj
-11005 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 660.854 438.087 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (page.337) >>
->> endobj
-11006 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [441.076 660.854 458.013 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (page.338) >>
->> endobj
-11007 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 636.943 403.527 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.362) >>
->> endobj
-11008 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 624.271 504.348 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.395) >>
->> endobj
-11009 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 589.123 362.272 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (page.283) >>
->> endobj
-11010 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.261 589.123 382.197 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (page.284) >>
->> endobj
-11011 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 565.212 425.255 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-11012 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [472.208 540.585 489.145 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (page.269) >>
->> endobj
-11013 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 495.474 362.272 505.661]
-/Subtype /Link
-/A << /S /GoTo /D (page.156) >>
->> endobj
-11014 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.261 495.474 382.197 505.661]
-/Subtype /Link
-/A << /S /GoTo /D (page.157) >>
->> endobj
-11015 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.109 482.801 513.045 493.705]
-/Subtype /Link
-/A << /S /GoTo /D (page.210) >>
->> endobj
-11016 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 448.874 362.272 457.84]
-/Subtype /Link
-/A << /S /GoTo /D (page.289) >>
->> endobj
-11017 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.261 448.874 382.197 457.84]
-/Subtype /Link
-/A << /S /GoTo /D (page.292) >>
->> endobj
-11018 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.988 423.026 499.924 433.93]
-/Subtype /Link
-/A << /S /GoTo /D (page.179) >>
->> endobj
-11019 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.613 399.115 506.55 410.019]
-/Subtype /Link
-/A << /S /GoTo /D (page.167) >>
->> endobj
-11020 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 375.922 425.255 386.109]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11021 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 331.434 362.272 340.281]
-/Subtype /Link
-/A << /S /GoTo /D (page.302) >>
->> endobj
-11022 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.261 331.434 382.197 340.281]
-/Subtype /Link
-/A << /S /GoTo /D (page.304) >>
->> endobj
-11023 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.656 293.511 396.593 304.415]
-/Subtype /Link
-/A << /S /GoTo /D (page.207) >>
->> endobj
-11024 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 281.556 476.672 292.46]
-/Subtype /Link
-/A << /S /GoTo /D (page.231) >>
->> endobj
-11025 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.656 257.646 396.593 268.55]
-/Subtype /Link
-/A << /S /GoTo /D (page.263) >>
->> endobj
-11026 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 245.691 504.348 256.595]
-/Subtype /Link
-/A << /S /GoTo /D (page.396) >>
->> endobj
-11027 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.748 221.78 494.684 232.684]
-/Subtype /Link
-/A << /S /GoTo /D (page.420) >>
->> endobj
-11028 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 187.972 362.272 196.819]
-/Subtype /Link
-/A << /S /GoTo /D (page.158) >>
->> endobj
-11029 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.988 173.96 499.924 184.864]
-/Subtype /Link
-/A << /S /GoTo /D (page.182) >>
->> endobj
-11030 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 150.049 501.578 160.953]
-/Subtype /Link
-/A << /S /GoTo /D (page.108) >>
->> endobj
-11031 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 138.094 475.018 148.998]
-/Subtype /Link
-/A << /S /GoTo /D (page.139) >>
->> endobj
-11032 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 116.121 362.272 125.088]
-/Subtype /Link
-/A << /S /GoTo /D (page.159) >>
->> endobj
-11033 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.613 102.229 506.55 113.133]
-/Subtype /Link
-/A << /S /GoTo /D (page.167) >>
->> endobj
-11035 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11039 0 obj <<
-/D [11037 0 R /XYZ 90 757.935 null]
->> endobj
-11036 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11104 0 obj <<
-/Length 1095      
-/Filter /FlateDecode
->>
-stream
-x��ZQ��6~�W�)L��J�,���p��M�$��v:s�a|�
��M�)�_a�p�m,se�Oز��v�[iw1A�����հ�{#r�#�@�/�!��94����ۏ�7v>�!�HL����,�7í�a��Q� ~���f
�筻�M��;D0s$Zdz�ȢL��Р�[�<G��3$@�5�Ȧ
������Q?�=M�$tGg�
�..~��p���ucȰYA�. vx���i��1�t����t�Bw]�Il�NH��%r�*��B��2Y2#�Ԓb��E*�
-`�U�¹绑*�@}�o��B7
-�!�%�)!�R��_ɳ%�,�a5u%�1�Л�I��|����ʝ�ki.��nԜ�����{�r���|[�j���
�-MC�������s
#�i��8rߝ�Sw���(1�>�<w6{*��'5Y��dc%}Q�i�l�
���H�߅�fnT�fGO
FGO`�&�l�JeY`�߮�A���Z�KU�m�
Wt @?�\
}��xC���A�r����
ɖ���{�,Ec
�÷�Ɍ�$N炖��ps�Kp�Ir�j�������j���;\�o���9���4
-�r�4�9Xr�铟r|���}6�o8��E�ǚ�,�'ȩ)�
-ӄ&p��G�A�ޓ�R0%ʿSF^;e��8Ӭ~v$dX�
5�
�,���zo�������6���	Xϳ���b���Rq�C&���������
-��ӹ�T�6_J��zJ��8K
٦`�#^� iL�:�ؿvuTJ�3�cB�W����m��-�
-i�����
-���eM8W�%͓
���ǫ�[���1�T��o�4��S�4]��+yY�X�$9dLo���1`���N
���yýv^���kw�
��^;?U��W�1�&z��=fn�c>�,��
�q`�w
���r�x�	PΫW�2��1g���p at H쀬����{�
�����`�Ӣ}8U�X�N��v�kr�*����T��
��������Yr}O8�{����V:$���N���f�T�l��W���e��������4���z���%^��"�^�[,f�=�e����[䋮b`� L��|=8�
�����= �{
-endstream
-endobj
-11103 0 obj <<
-/Type /Page
-/Contents 11104 0 R
-/Resources 11102 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10777 0 R
-/Annots [ 11034 0 R 11040 0 R 11041 0 R 11042 0 R 11043 0 R 11044 0 R 11045 0 R 11046 0 R 11047 0 R 11048 0 R 11049 0 R 11050 0 R 11051 0 R 11052 0 R 11053 0 R 11054 0 R 11055 0 R 11056 0 R 11057 0 R 11058 0 R 11059 0 R 11060 0 R 11061 0 R 11062 0 R 11063 0 R 11064 0 R 11065 0 R 11066 0 R 11067 0 R 11068 0 R 11069 0 R 11070 0 R 11071 0 R 11072 0 R 11073 0 R 11074 0 R 11075 0 R 11076 0 R 11077 0 R 11078 0 R 11079 0 R 11080 0 R 11081 0 R 11082 0 R 11083 0 R 11084 0 R 11085 0 R 11086 0 R 11 [...]
->> endobj
-11034 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.175 707.957 180.112 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.173) >>
->> endobj
-11040 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.506 696.002 283.443 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (page.183) >>
->> endobj
-11041 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.175 672.092 180.112 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.186) >>
->> endobj
-11042 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.237 660.136 291.174 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (page.191) >>
->> endobj
-11043 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.088 648.181 295.024 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.200) >>
->> endobj
-11044 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 638.283 145.791 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.203) >>
->> endobj
-11045 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.175 612.316 180.112 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (page.207) >>
->> endobj
-11046 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 600.361 260.191 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (page.249) >>
->> endobj
-11047 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 578.508 145.791 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (page.258) >>
->> endobj
-11048 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.175 552.54 180.112 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.263) >>
->> endobj
-11049 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.109 528.63 195.046 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.278) >>
->> endobj
-11050 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 506.777 145.791 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.287) >>
->> endobj
-11051 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 482.866 145.791 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.320) >>
->> endobj
-11052 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 457.616 221.606 467.803]
-/Subtype /Link
-/A << /S /GoTo /D (page.349) >>
->> endobj
-11053 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.598 433.706 184.535 443.892]
-/Subtype /Link
-/A << /S /GoTo /D (page.378) >>
->> endobj
-11054 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.598 409.795 184.535 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (page.379) >>
->> endobj
-11055 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 397.123 287.867 408.027]
-/Subtype /Link
-/A << /S /GoTo /D (page.414) >>
->> endobj
-11056 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.266 385.168 278.203 396.071]
-/Subtype /Link
-/A << /S /GoTo /D (page.421) >>
->> endobj
-11057 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.188 373.212 275.124 384.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.425) >>
->> endobj
-11058 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.776 361.257 296.713 372.161]
-/Subtype /Link
-/A << /S /GoTo /D (page.427) >>
->> endobj
-11059 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 327.449 145.791 336.296]
-/Subtype /Link
-/A << /S /GoTo /D (page.158) >>
->> endobj
-11060 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.088 313.437 295.024 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (page.181) >>
->> endobj
-11061 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 303.539 145.791 312.385]
-/Subtype /Link
-/A << /S /GoTo /D (page.182) >>
->> endobj
-11062 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 267.673 145.791 276.52]
-/Subtype /Link
-/A << /S /GoTo /D (page.158) >>
->> endobj
-11063 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.506 253.661 283.443 264.565]
-/Subtype /Link
-/A << /S /GoTo /D (page.182) >>
->> endobj
-11064 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 219.852 145.791 228.699]
-/Subtype /Link
-/A << /S /GoTo /D (page.160) >>
->> endobj
-11065 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 183.987 145.791 192.834]
-/Subtype /Link
-/A << /S /GoTo /D (page.158) >>
->> endobj
-11066 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.506 169.975 283.443 180.878]
-/Subtype /Link
-/A << /S /GoTo /D (page.181) >>
->> endobj
-11067 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.109 134.109 195.046 145.013]
-/Subtype /Link
-/A << /S /GoTo /D (page.277) >>
->> endobj
-11068 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.109 98.244 195.046 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (page.278) >>
->> endobj
-11069 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 710.014 362.272 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.156) >>
->> endobj
-11070 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.59 684.047 411.527 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.276) >>
->> endobj
-11071 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [414.516 684.047 431.452 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.278) >>
->> endobj
-11072 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.59 648.181 411.527 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.277) >>
->> endobj
-11073 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [414.516 648.181 431.452 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.278) >>
->> endobj
-11074 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 614.373 362.272 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (page.156) >>
->> endobj
-11075 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.59 588.405 411.527 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (page.277) >>
->> endobj
-11076 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.08 565.212 401.016 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.377) >>
->> endobj
-11077 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.08 541.302 401.016 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (page.379) >>
->> endobj
-11078 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.59 504.719 411.527 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.278) >>
->> endobj
-11079 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.613 480.809 506.55 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.167) >>
->> endobj
-11080 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.613 456.899 506.55 467.803]
-/Subtype /Link
-/A << /S /GoTo /D (page.166) >>
->> endobj
-11081 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 432.988 501.578 443.892]
-/Subtype /Link
-/A << /S /GoTo /D (page.108) >>
->> endobj
-11082 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 421.033 475.018 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.139) >>
->> endobj
-11083 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 399.18 362.272 408.027]
-/Subtype /Link
-/A << /S /GoTo /D (page.158) >>
->> endobj
-11084 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.613 385.168 506.55 396.071]
-/Subtype /Link
-/A << /S /GoTo /D (page.167) >>
->> endobj
-11085 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.569 373.212 511.506 384.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.181) >>
->> endobj
-11086 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 363.315 362.272 372.161]
-/Subtype /Link
-/A << /S /GoTo /D (page.182) >>
->> endobj
-11087 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.656 337.347 396.593 348.251]
-/Subtype /Link
-/A << /S /GoTo /D (page.186) >>
->> endobj
-11088 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.719 325.392 507.655 336.296]
-/Subtype /Link
-/A << /S /GoTo /D (page.191) >>
->> endobj
-11089 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.304 313.437 498.241 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (page.200) >>
->> endobj
-11090 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 301.481 476.672 312.385]
-/Subtype /Link
-/A << /S /GoTo /D (page.249) >>
->> endobj
-11091 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 279.628 362.272 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.258) >>
->> endobj
-11092 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.656 253.661 396.593 264.565]
-/Subtype /Link
-/A << /S /GoTo /D (page.263) >>
->> endobj
-11093 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 231.808 362.272 240.654]
-/Subtype /Link
-/A << /S /GoTo /D (page.320) >>
->> endobj
-11094 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 206.557 438.087 216.744]
-/Subtype /Link
-/A << /S /GoTo /D (page.349) >>
->> endobj
-11095 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.08 182.647 401.016 192.834]
-/Subtype /Link
-/A << /S /GoTo /D (page.377) >>
->> endobj
-11096 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.08 158.737 401.016 168.923]
-/Subtype /Link
-/A << /S /GoTo /D (page.379) >>
->> endobj
-11097 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.748 146.064 494.684 156.968]
-/Subtype /Link
-/A << /S /GoTo /D (page.421) >>
->> endobj
-11098 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.613 122.154 506.55 133.058]
-/Subtype /Link
-/A << /S /GoTo /D (page.167) >>
->> endobj
-11099 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.08 87.006 401.016 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (page.377) >>
->> endobj
-11101 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11105 0 obj <<
-/D [11103 0 R /XYZ 90 757.935 null]
->> endobj
-11102 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F23 340 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11200 0 obj <<
-/Length 1569      
-/Filter /FlateDecode
->>
-stream
-xڽZ]s�J��Wpwt��,�i/CS[�ҙ�igg#����ks~��L�IX@�F!˳�����P�
-P.;�n��-�[���w��@1T

*���v���M��^�K������H��8n�g�@��Ն��������7�x��{��m)�|T��5�ʬ�
31�#&�ߚ����d�Nz��<�����#��v��8�/i�Or�P\��U�(��Ҁd~
��s/H�e�~z�QnO4tu�.��V-��I�$��z'��i�ݑ����<a�]@�i=g�f�U$Q1j,H���V�ث 9���
����E�.�S����G�9���
^
�887u����|�\�}*q�
?Z�$��)bh1T'��Y�n�l����_�����F)���^㣠U�J��6~J1I^q$M�eԎ�$���,��$�}
��7F����e�S�3zNH�P6 ��Z��Oz��=��]9�3mG�����?�H7
�f��̄0R^��j¯�4�(��*z�(�OB��FC��$�p� �p���;
\<�>2��pw�Չ�6�/�q0�>M
<�]!۪4t�M<�4�g��F�sS���䩏Qm�<�P�8�b����>d�}Y�xe
�/ed,�ڠ�\Ǚ83;�vn�D�
ܶ�
-��h�Ӎ.O5��
p��|<���ipd�ٞ�<�~G���a)�L���E��s��ޑ
-���\�@�չ�h�+��Dc��u���%�2D{���A�?Y&��~*��u�0��%Y���`ߐt�=���Idݺi��x
��ђ�i$m���r���$�p�G�^�!����A��-MA:T���R�F�i#�r�
��%�
ޯ�]`�/�
X6�
�W����y@��F>r2�Os�ӑ
���:I����C	)-�)��d�h	���;��1R�����
-�Q�d)��]��,u ! ��5�}[��U�Ћ�t-�2y��]}��
��BVl7HM��;�,�Dl�v`s������)^�8��.��K���
-�
{G�bc�0���D�h�x�'q��Z7t�~��
6z�&"��5H�j��*6'���. ��(�[M���A�Ne��sxAY�2ձP�Jt=x
���h��ڰTkD�j���=���շq�T��\�7�_�Z�h^[����i7����IW�!��̪�h�g)_�k+���Q�"AOE
|;͹�
V�����g��֖\oau�=Ͽr�n�T��v��֚~-KDַ����
I�\`��w���b�4�֋8���y��Gxu]���}���u1d����ms;��@��-��n�l	�ys��0�
�Q�W�ոñ%\J���٪����
-5=2l���
-�-Y��-�]�
�ь��zv��+ʎ]�{�
=��$��x���_�,�j���� +�\���#H�M�*_b1l�0�kwE{�����v��8,�0��O)e��
���W$Z������/N-NU���j�D��;��4��쇲��A�tc<�
-SՁ�չU�%�NO7��:O�u�'L���$	Nwܷg5�}�| Yp�͉�1+��#~2��Y����D6�M
-endstream
-endobj
-11199 0 obj <<
-/Type /Page
-/Contents 11200 0 R
-/Resources 11198 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11202 0 R
-/Annots [ 11100 0 R 11106 0 R 11107 0 R 11108 0 R 11109 0 R 11110 0 R 11111 0 R 11112 0 R 11113 0 R 11114 0 R 11115 0 R 11116 0 R 11117 0 R 11118 0 R 11119 0 R 11120 0 R 11121 0 R 11122 0 R 11123 0 R 11124 0 R 11125 0 R 11126 0 R 11127 0 R 11128 0 R 11129 0 R 11130 0 R 11131 0 R 11132 0 R 11133 0 R 11134 0 R 11135 0 R 11136 0 R 11137 0 R 11138 0 R 11139 0 R 11140 0 R 11141 0 R 11142 0 R 11143 0 R 11144 0 R 11145 0 R 11146 0 R 11147 0 R 11148 0 R 11149 0 R 11150 0 R 11151 0 R 11152 0 R 11 [...]
->> endobj
-11100 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.598 708.674 184.535 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.379) >>
->> endobj
-11106 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 674.149 145.791 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.287) >>
->> endobj
-11107 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 648.899 208.774 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-11108 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 624.988 208.774 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-11109 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 590.463 145.791 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (page.286) >>
->> endobj
-11110 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 554.478 145.791 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.159) >>
->> endobj
-11111 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.266 518.667 278.203 529.571]
-/Subtype /Link
-/A << /S /GoTo /D (page.421) >>
->> endobj
-11112 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 483.519 187.046 493.705]
-/Subtype /Link
-/A << /S /GoTo /D (page.372) >>
->> endobj
-11113 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 448.993 145.791 457.84]
-/Subtype /Link
-/A << /S /GoTo /D (page.256) >>
->> endobj
-11114 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 413.128 145.791 421.974]
-/Subtype /Link
-/A << /S /GoTo /D (page.256) >>
->> endobj
-11115 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.763 387.534 180.7 398.064]
-/Subtype /Link
-/A << /S /GoTo /D (page.179) >>
->> endobj
-11116 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.155 375.579 252.092 386.109]
-/Subtype /Link
-/A << /S /GoTo /D (page.179) >>
->> endobj
-11117 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [213.576 363.623 230.513 374.154]
-/Subtype /Link
-/A << /S /GoTo /D (page.179) >>
->> endobj
-11118 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.611 340.057 210.547 350.243]
-/Subtype /Link
-/A << /S /GoTo /D (page.198) >>
->> endobj
-11119 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.595 328.102 153.532 338.288]
-/Subtype /Link
-/A << /S /GoTo /D (page.198) >>
->> endobj
-11120 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.24 316.146 160.177 326.333]
-/Subtype /Link
-/A << /S /GoTo /D (page.198) >>
->> endobj
-11121 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.895 304.191 150.832 314.378]
-/Subtype /Link
-/A << /S /GoTo /D (page.198) >>
->> endobj
-11122 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.595 280.281 153.532 290.468]
-/Subtype /Link
-/A << /S /GoTo /D (page.256) >>
->> endobj
-11123 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.327 268.326 190.264 278.512]
-/Subtype /Link
-/A << /S /GoTo /D (page.256) >>
->> endobj
-11124 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.24 256.371 160.177 266.557]
-/Subtype /Link
-/A << /S /GoTo /D (page.256) >>
->> endobj
-11125 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.761 232.46 170.697 242.647]
-/Subtype /Link
-/A << /S /GoTo /D (page.283) >>
->> endobj
-11126 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.125 220.505 292.061 230.692]
-/Subtype /Link
-/A << /S /GoTo /D (page.283) >>
->> endobj
-11127 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.963 208.55 289.899 218.737]
-/Subtype /Link
-/A << /S /GoTo /D (page.283) >>
->> endobj
-11128 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [212.42 196.595 229.357 206.781]
-/Subtype /Link
-/A << /S /GoTo /D (page.283) >>
->> endobj
-11129 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.528 183.922 211.484 194.826]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-11130 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.018 172.684 152.974 182.871]
-/Subtype /Link
-/A << /S /GoTo /D (page.75) >>
->> endobj
-11131 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.008 160.012 200.963 170.916]
-/Subtype /Link
-/A << /S /GoTo /D (page.76) >>
->> endobj
-11132 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.825 148.057 233.78 158.961]
-/Subtype /Link
-/A << /S /GoTo /D (page.75) >>
->> endobj
-11133 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.636 136.102 278.591 147.005]
-/Subtype /Link
-/A << /S /GoTo /D (page.76) >>
->> endobj
-11134 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.679 124.146 216.634 135.05]
-/Subtype /Link
-/A << /S /GoTo /D (page.75) >>
->> endobj
-11135 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.235 112.191 260.19 123.095]
-/Subtype /Link
-/A << /S /GoTo /D (page.77) >>
->> endobj
-11136 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.195 100.236 191.15 111.14]
-/Subtype /Link
-/A << /S /GoTo /D (page.93) >>
->> endobj
-11137 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.182 88.281 253.137 99.185]
-/Subtype /Link
-/A << /S /GoTo /D (page.93) >>
->> endobj
-11138 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.552 719.912 411.507 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (page.95) >>
->> endobj
-11139 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [461.539 707.957 473.494 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.96) >>
->> endobj
-11140 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.051 696.719 401.006 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (page.93) >>
->> endobj
-11141 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [451.038 684.764 462.993 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.93) >>
->> endobj
-11142 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.926 672.809 404.882 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.94) >>
->> endobj
-11143 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.913 660.854 466.868 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (page.94) >>
->> endobj
-11144 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.127 648.181 450.082 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.96) >>
->> endobj
-11145 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [500.114 636.226 512.069 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.96) >>
->> endobj
-11146 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [431.501 624.271 443.457 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.94) >>
->> endobj
-11147 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.488 612.316 505.443 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (page.95) >>
->> endobj
-11148 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [473.165 600.361 490.101 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (page.105) >>
->> endobj
-11149 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.271 588.405 491.207 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (page.105) >>
->> endobj
-11150 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [382.157 576.45 394.112 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (page.99) >>
->> endobj
-11151 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.879 564.495 411.816 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.100) >>
->> endobj
-11152 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [373.559 552.54 385.515 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.87) >>
->> endobj
-11153 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [388.503 552.54 400.459 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.89) >>
->> endobj
-11154 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [441.086 540.585 458.022 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (page.103) >>
->> endobj
-11155 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.45 528.63 438.386 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.101) >>
->> endobj
-11156 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [434.172 516.674 451.108 527.578]
-/Subtype /Link
-/A << /S /GoTo /D (page.102) >>
->> endobj
-11157 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.995 505.437 423.951 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.90) >>
->> endobj
-11158 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.603 493.481 424.558 503.668]
-/Subtype /Link
-/A << /S /GoTo /D (page.90) >>
->> endobj
-11159 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [440.936 480.809 457.872 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.102) >>
->> endobj
-11160 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [460.861 480.809 477.798 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.103) >>
->> endobj
-11161 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [429.21 468.854 446.147 479.758]
-/Subtype /Link
-/A << /S /GoTo /D (page.104) >>
->> endobj
-11162 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.302 456.899 424.239 467.803]
-/Subtype /Link
-/A << /S /GoTo /D (page.106) >>
->> endobj
-11163 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.79 445.661 382.745 455.847]
-/Subtype /Link
-/A << /S /GoTo /D (page.92) >>
->> endobj
-11164 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.597 433.706 375.552 443.892]
-/Subtype /Link
-/A << /S /GoTo /D (page.91) >>
->> endobj
-11165 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [400.408 421.033 412.363 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.99) >>
->> endobj
-11166 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.084 409.078 453.02 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (page.109) >>
->> endobj
-11167 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [432.617 397.123 449.554 408.027]
-/Subtype /Link
-/A << /S /GoTo /D (page.107) >>
->> endobj
-11168 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [423.92 385.168 440.856 396.071]
-/Subtype /Link
-/A << /S /GoTo /D (page.107) >>
->> endobj
-11169 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.056 373.212 449.992 384.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.100) >>
->> endobj
-11170 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [445.778 361.257 462.714 372.161]
-/Subtype /Link
-/A << /S /GoTo /D (page.101) >>
->> endobj
-11171 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [419.497 349.302 436.433 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (page.105) >>
->> endobj
-11172 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.444 338.064 389.38 348.251]
-/Subtype /Link
-/A << /S /GoTo /D (page.108) >>
->> endobj
-11173 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [406.764 325.392 418.719 336.296]
-/Subtype /Link
-/A << /S /GoTo /D (page.98) >>
->> endobj
-11174 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [468.751 313.437 480.706 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (page.98) >>
->> endobj
-11175 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.264 301.481 408.219 312.385]
-/Subtype /Link
-/A << /S /GoTo /D (page.92) >>
->> endobj
-11176 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [434.45 289.526 451.387 300.43]
-/Subtype /Link
-/A << /S /GoTo /D (page.109) >>
->> endobj
-11177 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.375 289.526 471.312 300.43]
-/Subtype /Link
-/A << /S /GoTo /D (page.110) >>
->> endobj
-11178 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.643 277.571 506.579 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.103) >>
->> endobj
-11179 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.151 265.616 491.087 276.52]
-/Subtype /Link
-/A << /S /GoTo /D (page.104) >>
->> endobj
-11180 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [468.054 253.661 484.99 264.565]
-/Subtype /Link
-/A << /S /GoTo /D (page.105) >>
->> endobj
-11181 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [425.026 241.706 441.962 252.609]
-/Subtype /Link
-/A << /S /GoTo /D (page.106) >>
->> endobj
-11182 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.684 230.468 381.639 240.654]
-/Subtype /Link
-/A << /S /GoTo /D (page.90) >>
->> endobj
-11183 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.03 218.512 379.985 228.699]
-/Subtype /Link
-/A << /S /GoTo /D (page.91) >>
->> endobj
-11184 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.084 205.84 396.021 216.744]
-/Subtype /Link
-/A << /S /GoTo /D (page.108) >>
->> endobj
-11185 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.824 193.885 391.761 204.789]
-/Subtype /Link
-/A << /S /GoTo /D (page.108) >>
->> endobj
-11186 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.295 181.93 455.232 192.834]
-/Subtype /Link
-/A << /S /GoTo /D (page.108) >>
->> endobj
-11187 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.221 181.93 475.157 192.834]
-/Subtype /Link
-/A << /S /GoTo /D (page.109) >>
->> endobj
-11188 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [426.67 169.975 438.625 180.878]
-/Subtype /Link
-/A << /S /GoTo /D (page.97) >>
->> endobj
-11189 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.545 158.019 442.5 168.923]
-/Subtype /Link
-/A << /S /GoTo /D (page.97) >>
->> endobj
-11190 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [420.044 146.781 432 156.968]
-/Subtype /Link
-/A << /S /GoTo /D (page.96) >>
->> endobj
-11191 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [423.92 134.826 435.875 145.013]
-/Subtype /Link
-/A << /S /GoTo /D (page.97) >>
->> endobj
-11192 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.522 122.871 395.477 133.058]
-/Subtype /Link
-/A << /S /GoTo /D (page.92) >>
->> endobj
-11193 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [467.885 110.199 484.821 121.103]
-/Subtype /Link
-/A << /S /GoTo /D (page.106) >>
->> endobj
-11194 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [437.449 98.244 454.386 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (page.106) >>
->> endobj
-11195 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.226 86.288 466.181 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (page.99) >>
->> endobj
-11197 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11201 0 obj <<
-/D [11199 0 R /XYZ 90 757.935 null]
->> endobj
-11198 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11317 0 obj <<
-/Length 1528      
-/Filter /FlateDecode
->>
-stream
-x�͚Ys�6���+�ViZ� I���~���M�L��3�:DA^I+�/x9-��NlK�a��˄�V�ګ�����K��\�Z���n4j�� ֑v����?���ş����5: bK|���4��������
��PC己
lk~8������Z��p
m_�j�n����~��

K��$��:�l� ��ժiƙ�Ϗ���(���Z�ok1޽�iwK
ù�ןW��_K����~��$
-B����z4 IJ=��lɀ�[�<�	]��2�nP�P��<Z�I�:�y�S<���!�X����O
-뱍GϿ?���S�U�s���FxH��qp��5'ޯl�	?\^>���_��n(��u�dOkd������O*�ӻ�8L�R�C�,��5O4���Q���s[�-X���"�'�u�<��/[�>)��tZu�3)��K�Ҭo4N��>?�Sk�F����&ħ�Z�(e�\�
��Z7�0x��OTy���B���E�c!�J}�@����Q��-ʰ+L6 at X�Sس`e�ة��q�U\8�}�K

Թ+ą�{)��d*=��>���s��KO������"�y� ����ġKi�ٽ;"RI(?�@K�BO:�+M�w�ٚ��������:�N����H$�V�u��]�V%WRD�VX�
-ܝ 6q�8ҎdniD9	D�9(x����~C&�rȓ�3O�S��
6	����񭩽��<��G�JUS�����<4
1-N˧X�� ?�0	�5J
��0�ʝ��.
хe��� ]�b�8 }����$��p�
��J�(˰�]�,R��wI�⦋�
�$
 7#�gϪ[N�����"ݘv�j:�r��]]�ŵL'�لl"l�,ۣ=q;��	j:ˋC����\����WӑLG�,aOK7���@�gٮO_�H�8�M��sv��VícP�
Y�q
��ގmw"�L
�Z�LLO'��
��I�6/O���(Y��?M��w�*K�����A}`*
;�'��zc�T���H�s�v�pQ^��닓Ś�����њݎ#J���˃`�V���rG��ſ
D��&W��]�ܒd�*�����<�Vm�TC�;C�O��@��>(0��P�L(�wvF
���$�<8��+E���pu�<"��4�"�x�C&/:p��X�F
�i����(,@����Ǣ$��֕u���‘G�dU	}K�H�0�'�S����b�H)"�iI0�x�N�Qe���/��Z��ۖ��Jm`��jS�K�4'�me��v��P�d�s��n����^�ף�e�)�u�/۫u����
���|9��jd������I �^ݳ��ш�=�L�h�T!�•s����WӕΪ�I�'��
>;�j?�e9�E��SZ��Ypm�.��
����\��}��6=T��n��7����x�V�#QN����a5y�Ÿ���@!�Xb��SZ+[i�Yk^�R<׆��E�

�7!c�e����~�~
-�%
��"I����ki��	��F
�R0a�Z}��a9�' ��� ��
-endstream
-endobj
-11316 0 obj <<
-/Type /Page
-/Contents 11317 0 R
-/Resources 11315 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11202 0 R
-/Annots [ 11196 0 R 11203 0 R 11204 0 R 11205 0 R 11206 0 R 11207 0 R 11208 0 R 11209 0 R 11210 0 R 11211 0 R 11212 0 R 11213 0 R 11214 0 R 11215 0 R 11216 0 R 11217 0 R 11218 0 R 11219 0 R 11220 0 R 11221 0 R 11222 0 R 11223 0 R 11224 0 R 11225 0 R 11226 0 R 11227 0 R 11228 0 R 11229 0 R 11230 0 R 11231 0 R 11232 0 R 11233 0 R 11234 0 R 11235 0 R 11236 0 R 11237 0 R 11238 0 R 11239 0 R 11240 0 R 11241 0 R 11242 0 R 11243 0 R 11244 0 R 11245 0 R 11246 0 R 11247 0 R 11248 0 R 11249 0 R 11 [...]
->> endobj
-11196 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.772 719.912 191.727 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (page.92) >>
->> endobj
-11203 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.284 707.957 151.22 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.110) >>
->> endobj
-11204 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.389 696.002 208.325 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (page.102) >>
->> endobj
-11205 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.396 684.764 172.351 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.97) >>
->> endobj
-11206 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.371 672.092 208.326 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.98) >>
->> endobj
-11207 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.357 660.136 270.313 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (page.98) >>
->> endobj
-11208 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.292 648.181 245.247 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.99) >>
->> endobj
-11209 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 626.328 145.791 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.110) >>
->> endobj
-11210 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.211 612.316 165.148 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (page.111) >>
->> endobj
-11211 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.401 588.405 234.337 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (page.112) >>
->> endobj
-11212 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.675 576.45 238.612 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (page.112) >>
->> endobj
-11213 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.195 564.495 196.132 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.127) >>
->> endobj
-11214 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.071 552.54 200.007 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.127) >>
->> endobj
-11215 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.57 541.302 189.506 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (page.126) >>
->> endobj
-11216 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.445 529.347 193.382 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.126) >>
->> endobj
-11217 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.646 516.674 238.582 527.578]
-/Subtype /Link
-/A << /S /GoTo /D (page.127) >>
->> endobj
-11218 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.02 504.719 231.957 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.126) >>
->> endobj
-11219 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.684 492.764 273.62 503.668]
-/Subtype /Link
-/A << /S /GoTo /D (page.135) >>
->> endobj
-11220 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.789 480.809 274.726 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.135) >>
->> endobj
-11221 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.676 468.854 182.612 479.758]
-/Subtype /Link
-/A << /S /GoTo /D (page.131) >>
->> endobj
-11222 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.398 456.899 195.334 467.803]
-/Subtype /Link
-/A << /S /GoTo /D (page.131) >>
->> endobj
-11223 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.968 444.943 221.905 455.847]
-/Subtype /Link
-/A << /S /GoTo /D (page.133) >>
->> endobj
-11224 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.69 432.988 234.627 443.892]
-/Subtype /Link
-/A << /S /GoTo /D (page.133) >>
->> endobj
-11225 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.514 421.75 212.451 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.123) >>
->> endobj
-11226 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.122 409.795 213.058 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (page.124) >>
->> endobj
-11227 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.518 397.84 147.454 408.027]
-/Subtype /Link
-/A << /S /GoTo /D (page.120) >>
->> endobj
-11228 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.443 397.84 167.38 408.027]
-/Subtype /Link
-/A << /S /GoTo /D (page.123) >>
->> endobj
-11229 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [212.729 385.168 229.665 396.071]
-/Subtype /Link
-/A << /S /GoTo /D (page.135) >>
->> endobj
-11230 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.112 373.212 226.049 384.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.134) >>
->> endobj
-11231 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.821 361.257 207.757 372.161]
-/Subtype /Link
-/A << /S /GoTo /D (page.136) >>
->> endobj
-11232 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.308 350.019 171.245 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (page.123) >>
->> endobj
-11233 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.115 338.064 164.052 348.251]
-/Subtype /Link
-/A << /S /GoTo /D (page.125) >>
->> endobj
-11234 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.927 325.392 200.863 336.296]
-/Subtype /Link
-/A << /S /GoTo /D (page.130) >>
->> endobj
-11235 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.603 313.437 236.539 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (page.140) >>
->> endobj
-11236 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.136 301.481 233.073 312.385]
-/Subtype /Link
-/A << /S /GoTo /D (page.137) >>
->> endobj
-11237 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.439 289.526 224.375 300.43]
-/Subtype /Link
-/A << /S /GoTo /D (page.137) >>
->> endobj
-11238 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.574 277.571 233.511 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.131) >>
->> endobj
-11239 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.499 277.571 253.436 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.132) >>
->> endobj
-11240 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.296 265.616 246.233 276.52]
-/Subtype /Link
-/A << /S /GoTo /D (page.132) >>
->> endobj
-11241 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.252 253.661 178.189 264.565]
-/Subtype /Link
-/A << /S /GoTo /D (page.138) >>
->> endobj
-11242 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.389 241.706 200.326 252.609]
-/Subtype /Link
-/A << /S /GoTo /D (page.138) >>
->> endobj
-11243 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.639 229.75 200.575 240.654]
-/Subtype /Link
-/A << /S /GoTo /D (page.138) >>
->> endobj
-11244 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.283 217.795 207.219 228.699]
-/Subtype /Link
-/A << /S /GoTo /D (page.130) >>
->> endobj
-11245 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.782 205.84 196.719 216.744]
-/Subtype /Link
-/A << /S /GoTo /D (page.126) >>
->> endobj
-11246 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.969 193.885 234.905 204.789]
-/Subtype /Link
-/A << /S /GoTo /D (page.140) >>
->> endobj
-11247 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.894 193.885 254.83 204.789]
-/Subtype /Link
-/A << /S /GoTo /D (page.141) >>
->> endobj
-11248 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.67 181.93 274.606 192.834]
-/Subtype /Link
-/A << /S /GoTo /D (page.134) >>
->> endobj
-11249 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.544 169.975 225.481 180.878]
-/Subtype /Link
-/A << /S /GoTo /D (page.136) >>
->> endobj
-11250 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.202 158.737 170.139 168.923]
-/Subtype /Link
-/A << /S /GoTo /D (page.124) >>
->> endobj
-11251 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.549 146.781 168.485 156.968]
-/Subtype /Link
-/A << /S /GoTo /D (page.125) >>
->> endobj
-11252 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 134.109 179.539 145.013]
-/Subtype /Link
-/A << /S /GoTo /D (page.139) >>
->> endobj
-11253 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.343 122.154 175.28 133.058]
-/Subtype /Link
-/A << /S /GoTo /D (page.139) >>
->> endobj
-11254 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.416 110.199 214.353 121.103]
-/Subtype /Link
-/A << /S /GoTo /D (page.129) >>
->> endobj
-11255 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.292 98.244 218.228 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (page.129) >>
->> endobj
-11256 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.814 86.288 238.751 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (page.139) >>
->> endobj
-11257 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [426.67 719.912 443.606 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (page.128) >>
->> endobj
-11258 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.545 707.957 447.482 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.128) >>
->> endobj
-11259 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [420.044 696.719 436.981 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (page.128) >>
->> endobj
-11260 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [423.92 684.764 440.856 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.128) >>
->> endobj
-11261 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.522 672.809 400.458 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.123) >>
->> endobj
-11262 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [467.885 660.136 484.821 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (page.136) >>
->> endobj
-11263 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [437.449 648.181 454.386 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.136) >>
->> endobj
-11264 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.627 636.943 393.564 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.138) >>
->> endobj
-11265 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.226 624.271 471.162 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.130) >>
->> endobj
-11266 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.254 612.316 413.19 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (page.126) >>
->> endobj
-11267 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.87 600.361 424.806 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (page.134) >>
->> endobj
-11268 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.877 589.123 393.813 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (page.129) >>
->> endobj
-11269 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.852 576.45 429.788 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (page.130) >>
->> endobj
-11270 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [449.773 564.495 466.71 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.130) >>
->> endobj
-11271 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [479.113 552.54 496.049 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.141) >>
->> endobj
-11272 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [387.955 540.585 404.892 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (page.143) >>
->> endobj
-11273 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.881 540.585 424.817 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (page.146) >>
->> endobj
-11274 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.397 528.63 452.333 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.146) >>
->> endobj
-11275 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.937 516.674 510.873 527.578]
-/Subtype /Link
-/A << /S /GoTo /D (page.146) >>
->> endobj
-11276 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [373.559 504.719 390.496 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.157) >>
->> endobj
-11277 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.148 492.764 412.085 503.668]
-/Subtype /Link
-/A << /S /GoTo /D (page.157) >>
->> endobj
-11278 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.597 480.809 380.533 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.155) >>
->> endobj
-11279 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.665 468.854 391.601 479.758]
-/Subtype /Link
-/A << /S /GoTo /D (page.156) >>
->> endobj
-11280 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [360.827 456.899 377.763 467.803]
-/Subtype /Link
-/A << /S /GoTo /D (page.155) >>
->> endobj
-11281 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.547 444.943 364.484 455.847]
-/Subtype /Link
-/A << /S /GoTo /D (page.158) >>
->> endobj
-11282 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.914 433.706 383.851 443.892]
-/Subtype /Link
-/A << /S /GoTo /D (page.155) >>
->> endobj
-11283 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [398.615 421.033 415.552 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.157) >>
->> endobj
-11284 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [439.262 409.078 456.199 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (page.156) >>
->> endobj
-11285 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.098 397.123 396.035 408.027]
-/Subtype /Link
-/A << /S /GoTo /D (page.156) >>
->> endobj
-11286 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.665 385.168 391.602 396.071]
-/Subtype /Link
-/A << /S /GoTo /D (page.157) >>
->> endobj
-11287 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.69 373.212 403.626 384.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.157) >>
->> endobj
-11288 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.875 361.257 367.811 372.161]
-/Subtype /Link
-/A << /S /GoTo /D (page.159) >>
->> endobj
-11289 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.809 349.302 387.746 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (page.155) >>
->> endobj
-11290 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.534 337.347 386.471 348.251]
-/Subtype /Link
-/A << /S /GoTo /D (page.155) >>
->> endobj
-11291 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [400.149 325.392 417.086 336.296]
-/Subtype /Link
-/A << /S /GoTo /D (page.155) >>
->> endobj
-11292 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.572 314.154 416.508 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (page.155) >>
->> endobj
-11293 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.398 301.481 409.335 312.385]
-/Subtype /Link
-/A << /S /GoTo /D (page.155) >>
->> endobj
-11294 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [375.223 289.526 392.159 300.43]
-/Subtype /Link
-/A << /S /GoTo /D (page.157) >>
->> endobj
-11295 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.516 277.571 391.452 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.156) >>
->> endobj
-11296 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.441 277.571 411.378 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.157) >>
->> endobj
-11297 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.336 265.616 388.272 276.52]
-/Subtype /Link
-/A << /S /GoTo /D (page.158) >>
->> endobj
-11298 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.084 253.661 396.021 264.565]
-/Subtype /Link
-/A << /S /GoTo /D (page.159) >>
->> endobj
-11299 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.954 241.706 393.891 252.609]
-/Subtype /Link
-/A << /S /GoTo /D (page.158) >>
->> endobj
-11300 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.336 229.75 388.272 240.654]
-/Subtype /Link
-/A << /S /GoTo /D (page.158) >>
->> endobj
-11301 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.084 217.795 396.021 228.699]
-/Subtype /Link
-/A << /S /GoTo /D (page.160) >>
->> endobj
-11302 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.954 205.84 393.891 216.744]
-/Subtype /Link
-/A << /S /GoTo /D (page.158) >>
->> endobj
-11303 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.206 193.885 386.142 204.789]
-/Subtype /Link
-/A << /S /GoTo /D (page.156) >>
->> endobj
-11304 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.705 181.93 383.642 192.834]
-/Subtype /Link
-/A << /S /GoTo /D (page.156) >>
->> endobj
-11305 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.824 169.975 391.761 180.878]
-/Subtype /Link
-/A << /S /GoTo /D (page.158) >>
->> endobj
-11306 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.856 158.019 372.792 168.923]
-/Subtype /Link
-/A << /S /GoTo /D (page.159) >>
->> endobj
-11307 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.487 146.781 388.424 156.968]
-/Subtype /Link
-/A << /S /GoTo /D (page.161) >>
->> endobj
-11308 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.23 134.109 361.166 145.013]
-/Subtype /Link
-/A << /S /GoTo /D (page.158) >>
->> endobj
-11309 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [375.223 122.154 392.159 133.058]
-/Subtype /Link
-/A << /S /GoTo /D (page.158) >>
->> endobj
-11310 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.6 110.199 411.537 121.103]
-/Subtype /Link
-/A << /S /GoTo /D (page.157) >>
->> endobj
-11311 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.765 98.244 367.702 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (page.161) >>
->> endobj
-11312 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [425.036 86.288 441.972 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (page.155) >>
->> endobj
-11314 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11318 0 obj <<
-/D [11316 0 R /XYZ 90 757.935 null]
->> endobj
-11315 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11429 0 obj <<
-/Length 1421      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�6~����0XhR�nAӇ^R�]���iA0��(���z�~�%�∤��{�-���wϕttތ^�G���sbn��o�:a���"g�:W��z������3��~����a�E�ף����R�Bm�� �|'�GW������9xq�6�rg�z�=s.G��]&>��A������ 
�F�O0)K��m�7�Ţe���ȹ:q}8F~�.h$8'�<A�~
x1A�����"[��T�;�D�OO_|!*����]Y�D%������n�(�ZЎpς��
�JL�V$cr}(���I�KV��ThKQ,�����ZHI*Ydł%$;��q2���U؋S�Hd!�E�s��D���۠{��Y�(>���j��R9�E ������*tpΎ����l S�r,P�����WJ�<
�O�j��,�0Q_�
�2$�\����� ��.���H��3�EQ��U�	OUJȪ��:C�0�����1^R!�y�tz}� ��{`GT\|��:��M [...]
����	���f��
��$���R�:�� =O�h
z�g��<i�#��G�����vc�4C�Q��w8�gJ���U"Y��{�N�
E�Q�r��E-B
-F��j��ʀ9�D��� �%����M��H�W�|���r�:12�F�"�b4h�=��e�u`��jS�+s�
�;3�"W^�/����/���E��E��[�B�����n7rv)؏o(7�]Q;�m�IV���xY4�q�k>�B���aX�ڏD�$c)%
���'�xgt��B�n�c
7.��25��f�L��u�g�1�M�q��
-�a�g(��@�S�;�-�� �Cw��AUP�,��bo�A��ΰ�
xlr�g������9��C�2a
gI�h�g��? �	������m������W��-��^��z����]��1��c
�����z^e�����&߉�;ڎaHX��\�9�
�VU_�%-m
ց^$�0
PK�H�m���㍣
�_��]
��m�T�c��@Z�_�
��
  �]��<�eH��i�r
�R���qw�~��mn�匳\���\
�rX4;��6�&�wg\of�s{�eE�YoO�͎�
z�|
/
'q���
�O�����
-�Z�W��:լ���E�������X�E��m
@
zQ����o���t���#?���$�\��������׉�����ɚϟ��C������~B`r⩖���V�F�/������:�_����/��ry:��V+����l) ���2��5B3� �Q3†�*3����ԏ�ԇ�`H��?�ܘ
-endstream
-endobj
-11428 0 obj <<
-/Type /Page
-/Contents 11429 0 R
-/Resources 11427 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11202 0 R
-/Annots [ 11313 0 R 11319 0 R 11320 0 R 11321 0 R 11322 0 R 11323 0 R 11324 0 R 11325 0 R 11326 0 R 11327 0 R 11328 0 R 11329 0 R 11330 0 R 11331 0 R 11332 0 R 11333 0 R 11334 0 R 11335 0 R 11336 0 R 11337 0 R 11338 0 R 11339 0 R 11340 0 R 11341 0 R 11342 0 R 11343 0 R 11344 0 R 11345 0 R 11346 0 R 11347 0 R 11348 0 R 11349 0 R 11350 0 R 11351 0 R 11352 0 R 11353 0 R 11354 0 R 11355 0 R 11356 0 R 11357 0 R 11358 0 R 11359 0 R 11360 0 R 11361 0 R 11362 0 R 11363 0 R 11364 0 R 11365 0 R 11 [...]
->> endobj
-11313 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.271 719.912 181.207 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (page.156) >>
->> endobj
-11319 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.207 707.957 270.143 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.161) >>
->> endobj
-11320 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.713 696.719 172.649 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (page.166) >>
->> endobj
-11321 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.049 684.047 178.986 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.165) >>
->> endobj
-11322 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.636 672.092 174.572 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.166) >>
->> endobj
-11323 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.137 660.854 190.074 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (page.166) >>
->> endobj
-11324 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.438 648.181 219.374 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.166) >>
->> endobj
-11325 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.579 636.226 189.516 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.166) >>
->> endobj
-11326 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.75 624.988 170.687 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.167) >>
->> endobj
-11327 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 612.316 179.539 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (page.167) >>
->> endobj
-11328 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.875 600.361 166.812 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (page.167) >>
->> endobj
-11329 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.494 588.405 172.43 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (page.166) >>
->> endobj
-11330 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.343 576.45 175.28 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (page.167) >>
->> endobj
-11331 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.023 564.495 177.96 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.167) >>
->> endobj
-11332 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.339 552.54 192.276 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.166) >>
->> endobj
-11333 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.638 540.585 200.575 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (page.167) >>
->> endobj
-11334 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.284 528.63 151.22 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.168) >>
->> endobj
-11335 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 506.777 145.791 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.168) >>
->> endobj
-11336 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [230.99 493.481 247.927 503.668]
-/Subtype /Link
-/A << /S /GoTo /D (page.172) >>
->> endobj
-11337 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.37 480.809 213.307 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.172) >>
->> endobj
-11338 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.047 469.571 152.983 479.758]
-/Subtype /Link
-/A << /S /GoTo /D (page.172) >>
->> endobj
-11339 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 456.899 179.539 467.803]
-/Subtype /Link
-/A << /S /GoTo /D (page.173) >>
->> endobj
-11340 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.284 444.943 151.22 455.847]
-/Subtype /Link
-/A << /S /GoTo /D (page.173) >>
->> endobj
-11341 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.498 421.033 240.434 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.173) >>
->> endobj
-11342 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [246.581 409.078 263.518 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (page.174) >>
->> endobj
-11343 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.713 397.84 172.649 408.027]
-/Subtype /Link
-/A << /S /GoTo /D (page.180) >>
->> endobj
-11344 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.424 385.885 172.361 396.071]
-/Subtype /Link
-/A << /S /GoTo /D (page.180) >>
->> endobj
-11345 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.274 373.212 196.211 384.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.180) >>
->> endobj
-11346 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.137 361.975 190.074 372.161]
-/Subtype /Link
-/A << /S /GoTo /D (page.180) >>
->> endobj
-11347 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.579 349.302 189.516 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (page.180) >>
->> endobj
-11348 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.854 337.347 171.791 348.251]
-/Subtype /Link
-/A << /S /GoTo /D (page.182) >>
->> endobj
-11349 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 325.392 179.539 336.296]
-/Subtype /Link
-/A << /S /GoTo /D (page.183) >>
->> endobj
-11350 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.473 313.437 177.41 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (page.181) >>
->> endobj
-11351 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.398 313.437 197.335 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (page.182) >>
->> endobj
-11352 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.854 301.481 171.791 312.385]
-/Subtype /Link
-/A << /S /GoTo /D (page.182) >>
->> endobj
-11353 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.473 289.526 177.41 300.43]
-/Subtype /Link
-/A << /S /GoTo /D (page.181) >>
->> endobj
-11354 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.343 277.571 175.28 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.181) >>
->> endobj
-11355 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.268 277.571 195.205 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.182) >>
->> endobj
-11356 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.284 265.616 151.22 276.52]
-/Subtype /Link
-/A << /S /GoTo /D (page.183) >>
->> endobj
-11357 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.587 253.661 150.523 264.565]
-/Subtype /Link
-/A << /S /GoTo /D (page.179) >>
->> endobj
-11358 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.578 241.706 297.515 252.609]
-/Subtype /Link
-/A << /S /GoTo /D (page.183) >>
->> endobj
-11359 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 229.75 179.539 240.654]
-/Subtype /Link
-/A << /S /GoTo /D (page.186) >>
->> endobj
-11360 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.343 217.795 175.28 228.699]
-/Subtype /Link
-/A << /S /GoTo /D (page.186) >>
->> endobj
-11361 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.284 205.84 151.22 216.744]
-/Subtype /Link
-/A << /S /GoTo /D (page.186) >>
->> endobj
-11362 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.498 181.93 240.434 192.834]
-/Subtype /Link
-/A << /S /GoTo /D (page.187) >>
->> endobj
-11363 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 160.077 145.791 168.923]
-/Subtype /Link
-/A << /S /GoTo /D (page.188) >>
->> endobj
-11364 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.878 146.064 192.814 156.968]
-/Subtype /Link
-/A << /S /GoTo /D (page.188) >>
->> endobj
-11365 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.312 134.109 271.249 145.013]
-/Subtype /Link
-/A << /S /GoTo /D (page.189) >>
->> endobj
-11366 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.706 122.154 235.643 133.058]
-/Subtype /Link
-/A << /S /GoTo /D (page.191) >>
->> endobj
-11367 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 110.199 179.539 121.103]
-/Subtype /Link
-/A << /S /GoTo /D (page.191) >>
->> endobj
-11368 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.343 98.244 175.28 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (page.191) >>
->> endobj
-11369 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.284 86.288 151.22 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (page.191) >>
->> endobj
-11370 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.623 719.912 506.559 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (page.192) >>
->> endobj
-11371 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 697.94 362.272 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (page.192) >>
->> endobj
-11372 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [461.379 684.047 478.315 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.192) >>
->> endobj
-11373 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.628 672.092 401.564 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.199) >>
->> endobj
-11374 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.194 660.854 389.131 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (page.199) >>
->> endobj
-11375 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.818 648.899 374.755 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.199) >>
->> endobj
-11376 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.084 636.226 453.02 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.201) >>
->> endobj
-11377 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [456.009 636.226 472.946 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.202) >>
->> endobj
-11378 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.756 624.271 412.692 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.200) >>
->> endobj
-11379 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [434.45 612.316 451.387 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (page.202) >>
->> endobj
-11380 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.335 601.078 362.272 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (page.198) >>
->> endobj
-11381 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.084 588.405 396.021 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (page.200) >>
->> endobj
-11382 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.01 588.405 415.946 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (page.203) >>
->> endobj
-11383 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.824 576.45 391.761 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (page.200) >>
->> endobj
-11384 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.875 564.495 367.811 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.199) >>
->> endobj
-11385 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.114 552.54 360.05 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.198) >>
->> endobj
-11386 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.295 540.585 455.232 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (page.200) >>
->> endobj
-11387 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.221 540.585 475.157 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (page.201) >>
->> endobj
-11388 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.765 528.63 367.702 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.200) >>
->> endobj
-11389 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.068 516.674 367.004 527.578]
-/Subtype /Link
-/A << /S /GoTo /D (page.198) >>
->> endobj
-11390 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [495.7 504.719 512.636 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.203) >>
->> endobj
-11391 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.79 493.481 387.726 503.668]
-/Subtype /Link
-/A << /S /GoTo /D (page.207) >>
->> endobj
-11392 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.778 481.526 361.714 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.207) >>
->> endobj
-11393 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.084 468.854 396.021 479.758]
-/Subtype /Link
-/A << /S /GoTo /D (page.207) >>
->> endobj
-11394 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.765 456.899 367.702 467.803]
-/Subtype /Link
-/A << /S /GoTo /D (page.207) >>
->> endobj
-11395 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [439.979 432.988 456.916 443.892]
-/Subtype /Link
-/A << /S /GoTo /D (page.207) >>
->> endobj
-11396 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [476.183 421.033 493.12 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.209) >>
->> endobj
-11397 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [373.559 409.078 390.496 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (page.210) >>
->> endobj
-11398 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [393.484 409.078 410.421 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (page.211) >>
->> endobj
-11399 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.148 397.123 412.085 408.027]
-/Subtype /Link
-/A << /S /GoTo /D (page.211) >>
->> endobj
-11400 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [398.615 385.168 415.552 396.071]
-/Subtype /Link
-/A << /S /GoTo /D (page.211) >>
->> endobj
-11401 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [439.262 373.212 456.199 384.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.210) >>
->> endobj
-11402 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.665 361.257 391.602 372.161]
-/Subtype /Link
-/A << /S /GoTo /D (page.211) >>
->> endobj
-11403 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.69 349.302 403.626 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (page.211) >>
->> endobj
-11404 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [375.223 337.347 392.159 348.251]
-/Subtype /Link
-/A << /S /GoTo /D (page.211) >>
->> endobj
-11405 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.516 325.392 391.452 336.296]
-/Subtype /Link
-/A << /S /GoTo /D (page.210) >>
->> endobj
-11406 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.487 314.154 388.424 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (page.210) >>
->> endobj
-11407 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [375.771 301.481 392.707 312.385]
-/Subtype /Link
-/A << /S /GoTo /D (page.211) >>
->> endobj
-11408 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [375.223 289.526 392.159 300.43]
-/Subtype /Link
-/A << /S /GoTo /D (page.211) >>
->> endobj
-11409 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.6 277.571 411.537 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.211) >>
->> endobj
-11410 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [425.036 265.616 441.972 276.52]
-/Subtype /Link
-/A << /S /GoTo /D (page.210) >>
->> endobj
-11411 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [439.81 253.661 456.747 264.565]
-/Subtype /Link
-/A << /S /GoTo /D (page.212) >>
->> endobj
-11412 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.676 241.706 412.613 252.609]
-/Subtype /Link
-/A << /S /GoTo /D (page.231) >>
->> endobj
-11413 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [457.663 229.75 474.6 240.654]
-/Subtype /Link
-/A << /S /GoTo /D (page.232) >>
->> endobj
-11414 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.552 217.795 416.488 228.699]
-/Subtype /Link
-/A << /S /GoTo /D (page.232) >>
->> endobj
-11415 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [461.539 205.84 478.475 216.744]
-/Subtype /Link
-/A << /S /GoTo /D (page.233) >>
->> endobj
-11416 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.051 194.602 405.987 204.789]
-/Subtype /Link
-/A << /S /GoTo /D (page.234) >>
->> endobj
-11417 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [451.038 182.647 467.974 192.834]
-/Subtype /Link
-/A << /S /GoTo /D (page.234) >>
->> endobj
-11418 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.926 170.692 409.863 180.878]
-/Subtype /Link
-/A << /S /GoTo /D (page.235) >>
->> endobj
-11419 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.913 158.737 471.85 168.923]
-/Subtype /Link
-/A << /S /GoTo /D (page.235) >>
->> endobj
-11420 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [408.408 146.064 425.345 156.968]
-/Subtype /Link
-/A << /S /GoTo /D (page.232) >>
->> endobj
-11421 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [470.395 134.109 487.332 145.013]
-/Subtype /Link
-/A << /S /GoTo /D (page.232) >>
->> endobj
-11422 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.284 122.154 429.22 133.058]
-/Subtype /Link
-/A << /S /GoTo /D (page.237) >>
->> endobj
-11423 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.271 110.199 491.207 121.103]
-/Subtype /Link
-/A << /S /GoTo /D (page.237) >>
->> endobj
-11424 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.127 98.244 455.063 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (page.233) >>
->> endobj
-11426 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11430 0 obj <<
-/D [11428 0 R /XYZ 90 757.935 null]
->> endobj
-11427 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11540 0 obj <<
-/Length 1609      
-/Filter /FlateDecode
->>
-stream
-xڽZYs�F
ק�Ҵ^��.�I��4q��qڨ3�q2���M���"����!�"�]�.��}�i�
Ӹ��:���ƶ�[ؘ/
�4\
��1_7ӫ����g�y��pL����?
�/O^�'�&P
5
X^�\������g�X��o
ؾgl˳bñl�'Ṅ� �'Д�-d��
L�*�d�8
gMwaDA�&+��IHE@�E����_�K�\�_���u91`���3��jT˶��+f�-g��9',�ţ�n�,dJ蘀��'։tV��7�PN��p��
�
y�	i�`1M�Z,i���.T�9X��V�_h��_�,4�d�VB���֎��q��	;
|�n����	�ڝ̶k3��-�%O�ܦ�w~/ޔ����{K���|;S�}Hr��W@�`�D)����c�e
��d�
�t��!C��"�:0v��/X�:K�Ka5e�Ƥ���eE�7"_	�-�2�~L&1�4��zR|6�f�����G�юjKC\YU���n.��}���mz�tO�	{)+�2P�
>Y~�"yAw쯉XKYjU����]�B�8饚J��N�Z��9
-x!�J���Cs|��%�
��~8\�fi��XH�h�Q*ԝ�5�:ˏz��\2?Kb���
��	{Jc�7���'"���u�wZ�ku��n4a��ZQ?�ߞ��j�H��f�I�!|0��6�>�O�ϞU�
O{8rD�O雰�
`�>�h������ӺtmY�~eJ��`�ظ�$�D�C�FN��6X�՚򱣳Addt��,b�]�E�Pt�u����fa^��qze��AsJ��}A.�Јd���{m��[)%�.��LPNh�u,�OÂ8�e`�̰�<Ff�6��-�H4�N0�mn]�|(x#<&��4ڭ邓�
���..�8xIyΊDR��}���a�3•P�
���rj��C���#�..^��V����}ä�;4z��a^
U�*6
�@7� O1��ߙА�;��{ʈ%j{a5N���uv?(�o�J��D���t �=��ۣ5�W�hV{Ө��� ���r��-8�k�g�9�e���Ĵt����q'r�����
��E�X�D9�b[�2mQO.
-��3*��
GE��E!��7���_x|7��(;�@��Zu
;C���߯��H�TjUy<8�
�[t���
?p�[�W���OJj�Z�uA��H]��>��]p��+64�h
��@]u�L�E�3
M��y���$u�P�����cM�*|�d�n寮��L��n���:1/��������嚆_
U�Ǐ��M��6B�

i���� F�Q�
6x��oi[�u-`{^84����g�g�#�o)��6n=`c�?�Eu�6X���[�tF������=��jp�U@������LDx��.�T���t5�������O�����\�G�WQ��G���naɑ>
�9jf![�����罕����}����� ��l>ۆ=�CO�Ѷ�#m�����! To�k��Wu�?�qX������
�~�!4��?H�!Q�����}��QU
4A�'�_��l�6>RZ
[I���{[<
�
�
=ئ���:ϳ����v
Bd{�q���,�Ώ�אB���t���8��,����
8���в�
-endstream
-endobj
-11539 0 obj <<
-/Type /Page
-/Contents 11540 0 R
-/Resources 11538 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11202 0 R
-/Annots [ 11425 0 R 11431 0 R 11432 0 R 11433 0 R 11434 0 R 11435 0 R 11436 0 R 11437 0 R 11438 0 R 11439 0 R 11440 0 R 11441 0 R 11442 0 R 11443 0 R 11444 0 R 11445 0 R 11446 0 R 11447 0 R 11448 0 R 11449 0 R 11450 0 R 11451 0 R 11452 0 R 11453 0 R 11454 0 R 11455 0 R 11456 0 R 11457 0 R 11458 0 R 11459 0 R 11460 0 R 11461 0 R 11462 0 R 11463 0 R 11464 0 R 11465 0 R 11466 0 R 11467 0 R 11468 0 R 11469 0 R 11470 0 R 11471 0 R 11472 0 R 11473 0 R 11474 0 R 11475 0 R 11476 0 R 11477 0 R 11 [...]
->> endobj
-11425 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 710.014 145.791 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.233) >>
->> endobj
-11431 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.02 696.002 231.957 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (page.235) >>
->> endobj
-11432 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.007 684.047 293.943 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.235) >>
->> endobj
-11433 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.378 672.092 251.314 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.237) >>
->> endobj
-11434 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 650.239 145.791 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.238) >>
->> endobj
-11435 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.684 636.226 273.62 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.246) >>
->> endobj
-11436 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.789 624.271 274.726 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.246) >>
->> endobj
-11437 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.676 612.316 182.612 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (page.240) >>
->> endobj
-11438 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.398 600.361 195.334 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (page.241) >>
->> endobj
-11439 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.968 588.405 221.905 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (page.243) >>
->> endobj
-11440 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.69 576.45 234.627 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (page.243) >>
->> endobj
-11441 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.514 565.212 212.451 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.228) >>
->> endobj
-11442 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.122 553.257 213.058 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.228) >>
->> endobj
-11443 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.821 540.585 207.757 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (page.247) >>
->> endobj
-11444 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.777 528.63 248.714 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.244) >>
->> endobj
-11445 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.308 517.392 171.245 527.578]
-/Subtype /Link
-/A << /S /GoTo /D (page.228) >>
->> endobj
-11446 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.115 505.437 164.052 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.230) >>
->> endobj
-11447 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.927 492.764 200.863 503.668]
-/Subtype /Link
-/A << /S /GoTo /D (page.240) >>
->> endobj
-11448 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.136 480.809 233.073 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.248) >>
->> endobj
-11449 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.439 468.854 224.375 479.758]
-/Subtype /Link
-/A << /S /GoTo /D (page.248) >>
->> endobj
-11450 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.574 456.899 233.511 467.803]
-/Subtype /Link
-/A << /S /GoTo /D (page.241) >>
->> endobj
-11451 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.499 456.899 253.436 467.803]
-/Subtype /Link
-/A << /S /GoTo /D (page.242) >>
->> endobj
-11452 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.296 444.943 246.233 455.847]
-/Subtype /Link
-/A << /S /GoTo /D (page.242) >>
->> endobj
-11453 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.478 432.988 240.415 443.892]
-/Subtype /Link
-/A << /S /GoTo /D (page.244) >>
->> endobj
-11454 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.551 421.033 202.488 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.231) >>
->> endobj
-11455 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [132.172 409.795 149.108 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (page.223) >>
->> endobj
-11456 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.097 409.795 169.033 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (page.227) >>
->> endobj
-11457 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.962 397.84 172.899 408.027]
-/Subtype /Link
-/A << /S /GoTo /D (page.249) >>
->> endobj
-11458 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.283 385.168 207.219 396.071]
-/Subtype /Link
-/A << /S /GoTo /D (page.239) >>
->> endobj
-11459 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.27 373.212 269.206 384.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.239) >>
->> endobj
-11460 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [156.52 361.975 173.456 372.161]
-/Subtype /Link
-/A << /S /GoTo /D (page.228) >>
->> endobj
-11461 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.782 349.302 196.719 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (page.228) >>
->> endobj
-11462 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.554 337.347 225.491 348.251]
-/Subtype /Link
-/A << /S /GoTo /D (page.228) >>
->> endobj
-11463 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.334 325.392 297.271 336.296]
-/Subtype /Link
-/A << /S /GoTo /D (page.245) >>
->> endobj
-11464 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.436 313.437 246.372 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (page.245) >>
->> endobj
-11465 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.035 301.481 288.972 312.385]
-/Subtype /Link
-/A << /S /GoTo /D (page.245) >>
->> endobj
-11466 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.544 289.526 225.481 300.43]
-/Subtype /Link
-/A << /S /GoTo /D (page.247) >>
->> endobj
-11467 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.202 278.288 170.139 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.229) >>
->> endobj
-11468 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.549 266.333 168.485 276.52]
-/Subtype /Link
-/A << /S /GoTo /D (page.229) >>
->> endobj
-11469 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.474 266.333 188.41 276.52]
-/Subtype /Link
-/A << /S /GoTo /D (page.230) >>
->> endobj
-11470 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.296 254.378 145.233 264.565]
-/Subtype /Link
-/A << /S /GoTo /D (page.231) >>
->> endobj
-11471 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 241.706 179.539 252.609]
-/Subtype /Link
-/A << /S /GoTo /D (page.249) >>
->> endobj
-11472 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.343 229.75 175.28 240.654]
-/Subtype /Link
-/A << /S /GoTo /D (page.249) >>
->> endobj
-11473 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.189 217.795 227.125 228.699]
-/Subtype /Link
-/A << /S /GoTo /D (page.236) >>
->> endobj
-11474 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.064 205.84 231 216.744]
-/Subtype /Link
-/A << /S /GoTo /D (page.236) >>
->> endobj
-11475 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.563 194.602 220.5 204.789]
-/Subtype /Link
-/A << /S /GoTo /D (page.236) >>
->> endobj
-11476 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.438 182.647 224.375 192.834]
-/Subtype /Link
-/A << /S /GoTo /D (page.237) >>
->> endobj
-11477 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.404 169.975 268.34 180.878]
-/Subtype /Link
-/A << /S /GoTo /D (page.247) >>
->> endobj
-11478 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.968 158.019 237.904 168.923]
-/Subtype /Link
-/A << /S /GoTo /D (page.247) >>
->> endobj
-11479 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.745 146.064 254.681 156.968]
-/Subtype /Link
-/A << /S /GoTo /D (page.240) >>
->> endobj
-11480 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.772 134.109 196.709 145.013]
-/Subtype /Link
-/A << /S /GoTo /D (page.230) >>
->> endobj
-11481 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.284 122.154 151.22 133.058]
-/Subtype /Link
-/A << /S /GoTo /D (page.249) >>
->> endobj
-11482 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.389 110.199 208.325 121.103]
-/Subtype /Link
-/A << /S /GoTo /D (page.244) >>
->> endobj
-11483 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.396 98.961 177.332 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (page.238) >>
->> endobj
-11484 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.371 86.288 213.307 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (page.239) >>
->> endobj
-11485 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.839 719.912 491.775 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (page.239) >>
->> endobj
-11486 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [449.773 707.957 466.71 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.240) >>
->> endobj
-11487 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [397.36 696.002 414.296 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (page.244) >>
->> endobj
-11488 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [486.295 684.047 503.232 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.249) >>
->> endobj
-11489 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.693 672.092 381.629 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.250) >>
->> endobj
-11490 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.882 648.181 450.819 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.250) >>
->> endobj
-11491 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.622 636.226 501.558 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.251) >>
->> endobj
-11492 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.194 624.988 389.131 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.257) >>
->> endobj
-11493 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [397.549 612.316 414.486 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (page.258) >>
->> endobj
-11494 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.818 601.078 374.755 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (page.257) >>
->> endobj
-11495 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.366 588.405 383.303 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (page.256) >>
->> endobj
-11496 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.906 576.45 388.842 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (page.257) >>
->> endobj
-11497 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.756 564.495 412.692 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.257) >>
->> endobj
-11498 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.084 552.54 396.021 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.258) >>
->> endobj
-11499 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.824 540.585 391.761 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (page.258) >>
->> endobj
-11500 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.222 528.63 387.158 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.256) >>
->> endobj
-11501 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.765 516.674 367.702 527.578]
-/Subtype /Link
-/A << /S /GoTo /D (page.258) >>
->> endobj
-11502 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.068 504.719 367.004 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.256) >>
->> endobj
-11503 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.656 480.809 396.593 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.258) >>
->> endobj
-11504 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.79 469.571 387.726 479.758]
-/Subtype /Link
-/A << /S /GoTo /D (page.263) >>
->> endobj
-11505 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.528 457.616 369.465 467.803]
-/Subtype /Link
-/A << /S /GoTo /D (page.263) >>
->> endobj
-11506 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.778 445.661 361.714 455.847]
-/Subtype /Link
-/A << /S /GoTo /D (page.263) >>
->> endobj
-11507 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.084 432.988 396.021 443.892]
-/Subtype /Link
-/A << /S /GoTo /D (page.263) >>
->> endobj
-11508 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.824 421.033 391.761 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.263) >>
->> endobj
-11509 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.765 409.078 367.702 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (page.263) >>
->> endobj
-11510 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [439.979 385.168 456.916 396.071]
-/Subtype /Link
-/A << /S /GoTo /D (page.264) >>
->> endobj
-11511 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [485.189 373.212 502.126 384.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.265) >>
->> endobj
-11512 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.693 361.257 381.629 372.161]
-/Subtype /Link
-/A << /S /GoTo /D (page.266) >>
->> endobj
-11513 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.882 337.347 450.819 348.251]
-/Subtype /Link
-/A << /S /GoTo /D (page.266) >>
->> endobj
-11514 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [452.283 325.392 469.22 336.296]
-/Subtype /Link
-/A << /S /GoTo /D (page.267) >>
->> endobj
-11515 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.762 313.437 389.699 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (page.270) >>
->> endobj
-11516 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.652 301.481 453.588 312.385]
-/Subtype /Link
-/A << /S /GoTo /D (page.269) >>
->> endobj
-11517 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [375.781 289.526 392.717 300.43]
-/Subtype /Link
-/A << /S /GoTo /D (page.269) >>
->> endobj
-11518 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [398.864 278.288 415.8 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.269) >>
->> endobj
-11519 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.182 266.333 411.118 276.52]
-/Subtype /Link
-/A << /S /GoTo /D (page.269) >>
->> endobj
-11520 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.226 253.661 471.162 264.565]
-/Subtype /Link
-/A << /S /GoTo /D (page.269) >>
->> endobj
-11521 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.765 241.706 367.702 252.609]
-/Subtype /Link
-/A << /S /GoTo /D (page.270) >>
->> endobj
-11522 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [476.323 229.75 488.278 240.654]
-/Subtype /Link
-/A << /S /GoTo /D (page.76) >>
->> endobj
-11523 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.983 217.795 389.938 228.699]
-/Subtype /Link
-/A << /S /GoTo /D (page.77) >>
->> endobj
-11524 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [468.482 205.84 485.419 216.744]
-/Subtype /Link
-/A << /S /GoTo /D (page.270) >>
->> endobj
-11525 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [469.294 182.647 486.23 192.834]
-/Subtype /Link
-/A << /S /GoTo /D (page.270) >>
->> endobj
-11526 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [385.076 158.737 402.013 168.923]
-/Subtype /Link
-/A << /S /GoTo /D (page.271) >>
->> endobj
-11527 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.806 146.064 513.742 156.968]
-/Subtype /Link
-/A << /S /GoTo /D (page.271) >>
->> endobj
-11528 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [405.649 134.109 422.585 145.013]
-/Subtype /Link
-/A << /S /GoTo /D (page.275) >>
->> endobj
-11529 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [425.574 134.109 442.51 145.013]
-/Subtype /Link
-/A << /S /GoTo /D (page.276) >>
->> endobj
-11530 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.084 122.154 396.021 133.058]
-/Subtype /Link
-/A << /S /GoTo /D (page.278) >>
->> endobj
-11531 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.568 110.199 385.505 121.103]
-/Subtype /Link
-/A << /S /GoTo /D (page.277) >>
->> endobj
-11532 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.187 98.244 391.123 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (page.278) >>
->> endobj
-11533 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.206 86.288 386.142 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (page.276) >>
->> endobj
-11534 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.131 86.288 406.067 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (page.278) >>
->> endobj
-11537 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11541 0 obj <<
-/D [11539 0 R /XYZ 90 757.935 null]
->> endobj
-11538 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F23 340 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11662 0 obj <<
-/Length 1542      
-/Filter /FlateDecode
->>
-stream
-xڵZ]��6}�����f%���d_�MҤ�v�l;�&�
����\g��+
�Y��H��
�^IW��{
�6�^�^\��^y�ڡ�<�zm���=hc����8s��˿���Z.l�=������������W�Oc��
lE���g`���[
�NX��]��"G
�����	w<�@~G��c7V�	Z������b���zf}\"
����|�����	`-!�C�1�@`�4�އu>ұr��`N
%Lx
-�����]- �S�Rr�'7[
J~�+A�ͳg��\�+����;��5�h
�(��JP�U*� ���)X9ZYЈ���,+�D&4�	KW,� �ʉt�ճ�a➭���Q1�"�*�'����J:z)�J`�a`����pN��`��o�@x�_�!�h�H��¢�7��IFֻL^�3�%��Қђ��@�\'~��xIJZ�� �JБp[�;�j�
\=v�7�����;�
C|�!ϟ7���>�]�,�[��t�v��:��OiB�Q�LQ�
P���<�L��%��i�6.�
�f��� �Y��������}u�1D
���Bޣ�Q�zg����v�$��%�d��Ɂ���H:]�ә��,�i�R��C�
-��hDԠʨ
-����
Ut�gr�~����`O�;�)��P��h��i��j"�D:h�E�Z��c�Qw��z�MP�9�V&�MR�^1��:�Aƈ�`e�B�X���_o����? �=�YVgĆ䔠��f��X���p{��A`��j�K�yJ�*��Y+�:���]�$�=ߏļ��6
�}&S����aÊQ��o2*D36�0�ߟQ�e�e���f�*@�z�G�R${���+4=

�DW�\P	Ti���p�c]O[�=�~�a�(��@3ɒeE�q�]�fE��o;$�t�?
��$6m�U��ɮ(�߇��)w������d��!WaR�����--�2S�J
�[߬b�d�	AU3-C�Kݛ
hs�h-��q�:^��p��Hd#Y��i��`F����c�~�Mi1��I鷺�6Ο�|��Oy�g�76ܟ̚
 �V�O������=Rh��C��#9F���Qa����"#����=���(�A�l9�1w5�Ӂ���mY��5%~�
�)��w
-�园���*;F�Bo��i���
ٕu!^�mʘ�
��̣*�!���ʤ*Wr�����d۠�.�
��̮�4Hm����{
�D��������z���
��>)˓��f'�
;`��\b
��L�s&U�\���	�	�T�\�d�� hm������ޓ�nj�%����s�P�bs`m��H�s�@�{
s����)N�4��L�8�
-�i�2��+Cnػ��!���{�u�	Uڛ�5�O�3���:S'Ύ��Ko^`�0�}�����g���o���Ƹlq�[C���B�9m����ϒ�����
�v4i�4'�m.ɟ��Xʦj���v�������~���w���o; 
[�mU������
��.ㅰyuV����uF
�k�� �\4���h��3y1=ts�	����=���
-endstream
-endobj
-11661 0 obj <<
-/Type /Page
-/Contents 11662 0 R
-/Resources 11660 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11202 0 R
-/Annots [ 11535 0 R 11536 0 R 11542 0 R 11543 0 R 11544 0 R 11545 0 R 11546 0 R 11547 0 R 11548 0 R 11549 0 R 11550 0 R 11551 0 R 11552 0 R 11553 0 R 11554 0 R 11555 0 R 11556 0 R 11557 0 R 11558 0 R 11559 0 R 11560 0 R 11561 0 R 11562 0 R 11563 0 R 11564 0 R 11565 0 R 11566 0 R 11567 0 R 11568 0 R 11569 0 R 11570 0 R 11571 0 R 11572 0 R 11573 0 R 11574 0 R 11575 0 R 11576 0 R 11577 0 R 11578 0 R 11579 0 R 11580 0 R 11581 0 R 11582 0 R 11583 0 R 11584 0 R 11585 0 R 11586 0 R 11587 0 R 11 [...]
->> endobj
-11535 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.343 719.912 175.28 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (page.277) >>
->> endobj
-11536 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.268 719.912 195.205 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (page.278) >>
->> endobj
-11542 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.224 707.957 167.16 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.277) >>
->> endobj
-11543 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.843 696.002 172.779 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (page.278) >>
->> endobj
-11544 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.284 684.047 151.22 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.279) >>
->> endobj
-11545 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.525 672.092 278.462 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.279) >>
->> endobj
-11546 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.57 660.854 189.506 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (page.285) >>
->> endobj
-11547 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.445 648.899 193.382 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.285) >>
->> endobj
-11548 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.684 636.226 273.62 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.285) >>
->> endobj
-11549 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.005 624.271 267.941 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.285) >>
->> endobj
-11550 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.267 613.033 150.204 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (page.285) >>
->> endobj
-11551 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.348 601.078 235.284 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (page.283) >>
->> endobj
-11552 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.242 589.123 234.178 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (page.283) >>
->> endobj
-11553 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.899 576.45 242.836 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (page.286) >>
->> endobj
-11554 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.358 564.495 187.294 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.286) >>
->> endobj
-11555 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.386 553.257 182.323 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.286) >>
->> endobj
-11556 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.368 541.302 187.304 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (page.283) >>
->> endobj
-11557 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.293 541.302 207.23 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (page.284) >>
->> endobj
-11558 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 528.63 179.539 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.287) >>
->> endobj
-11559 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.667 516.674 187.603 527.578]
-/Subtype /Link
-/A << /S /GoTo /D (page.287) >>
->> endobj
-11560 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.552 504.719 199.489 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.286) >>
->> endobj
-11561 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.27 492.764 221.207 503.668]
-/Subtype /Link
-/A << /S /GoTo /D (page.285) >>
->> endobj
-11562 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.792 481.526 151.728 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.286) >>
->> endobj
-11563 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.284 468.854 151.22 479.758]
-/Subtype /Link
-/A << /S /GoTo /D (page.287) >>
->> endobj
-11564 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.017 456.899 293.954 467.803]
-/Subtype /Link
-/A << /S /GoTo /D (page.287) >>
->> endobj
-11565 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.86 444.943 202.797 455.847]
-/Subtype /Link
-/A << /S /GoTo /D (page.289) >>
->> endobj
-11566 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.785 444.943 222.722 455.847]
-/Subtype /Link
-/A << /S /GoTo /D (page.292) >>
->> endobj
-11567 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.916 432.988 235.852 443.892]
-/Subtype /Link
-/A << /S /GoTo /D (page.292) >>
->> endobj
-11568 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.179 421.033 280.116 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.292) >>
->> endobj
-11569 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.878 409.078 192.814 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (page.293) >>
->> endobj
-11570 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.343 397.123 292.28 408.027]
-/Subtype /Link
-/A << /S /GoTo /D (page.293) >>
->> endobj
-11571 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.195 385.168 196.132 396.071]
-/Subtype /Link
-/A << /S /GoTo /D (page.309) >>
->> endobj
-11572 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.071 373.212 200.007 384.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.309) >>
->> endobj
-11573 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.57 361.975 189.506 372.161]
-/Subtype /Link
-/A << /S /GoTo /D (page.308) >>
->> endobj
-11574 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.445 350.019 193.382 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (page.308) >>
->> endobj
-11575 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.646 337.347 238.582 348.251]
-/Subtype /Link
-/A << /S /GoTo /D (page.309) >>
->> endobj
-11576 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.02 325.392 231.957 336.296]
-/Subtype /Link
-/A << /S /GoTo /D (page.308) >>
->> endobj
-11577 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.684 313.437 273.62 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (page.317) >>
->> endobj
-11578 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.789 301.481 274.726 312.385]
-/Subtype /Link
-/A << /S /GoTo /D (page.318) >>
->> endobj
-11579 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.676 289.526 182.612 300.43]
-/Subtype /Link
-/A << /S /GoTo /D (page.312) >>
->> endobj
-11580 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.398 277.571 195.334 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.313) >>
->> endobj
-11581 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.604 265.616 241.541 276.52]
-/Subtype /Link
-/A << /S /GoTo /D (page.316) >>
->> endobj
-11582 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.968 253.661 221.905 264.565]
-/Subtype /Link
-/A << /S /GoTo /D (page.314) >>
->> endobj
-11583 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.69 241.706 234.627 252.609]
-/Subtype /Link
-/A << /S /GoTo /D (page.315) >>
->> endobj
-11584 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.514 230.468 212.451 240.654]
-/Subtype /Link
-/A << /S /GoTo /D (page.306) >>
->> endobj
-11585 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.122 218.512 213.058 228.699]
-/Subtype /Link
-/A << /S /GoTo /D (page.306) >>
->> endobj
-11586 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.455 205.84 241.391 216.744]
-/Subtype /Link
-/A << /S /GoTo /D (page.315) >>
->> endobj
-11587 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.38 205.84 261.316 216.744]
-/Subtype /Link
-/A << /S /GoTo /D (page.316) >>
->> endobj
-11588 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [212.729 193.885 229.665 204.789]
-/Subtype /Link
-/A << /S /GoTo /D (page.317) >>
->> endobj
-11589 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.18 182.647 192.117 192.834]
-/Subtype /Link
-/A << /S /GoTo /D (page.322) >>
->> endobj
-11590 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.821 169.975 207.757 180.878]
-/Subtype /Link
-/A << /S /GoTo /D (page.318) >>
->> endobj
-11591 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.308 158.737 171.245 168.923]
-/Subtype /Link
-/A << /S /GoTo /D (page.306) >>
->> endobj
-11592 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.115 146.781 164.052 156.968]
-/Subtype /Link
-/A << /S /GoTo /D (page.305) >>
->> endobj
-11593 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.927 134.109 200.863 145.013]
-/Subtype /Link
-/A << /S /GoTo /D (page.312) >>
->> endobj
-11594 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.603 122.154 236.539 133.058]
-/Subtype /Link
-/A << /S /GoTo /D (page.321) >>
->> endobj
-11595 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.136 110.199 233.073 121.103]
-/Subtype /Link
-/A << /S /GoTo /D (page.319) >>
->> endobj
-11596 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.439 98.244 224.375 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (page.319) >>
->> endobj
-11597 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.574 86.288 233.511 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (page.313) >>
->> endobj
-11598 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [445.778 719.912 462.714 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (page.314) >>
->> endobj
-11599 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.444 708.674 389.38 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.320) >>
->> endobj
-11600 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [406.764 696.002 423.701 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (page.311) >>
->> endobj
-11601 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.264 684.047 413.2 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.305) >>
->> endobj
-11602 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [434.45 672.092 451.387 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.322) >>
->> endobj
-11603 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.643 660.136 506.579 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (page.316) >>
->> endobj
-11604 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.151 648.181 491.087 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.317) >>
->> endobj
-11605 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [425.026 636.226 441.962 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.319) >>
->> endobj
-11606 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.684 624.988 386.62 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.306) >>
->> endobj
-11607 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.609 624.988 406.545 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.307) >>
->> endobj
-11608 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.03 613.033 384.966 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (page.307) >>
->> endobj
-11609 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [387.955 613.033 404.892 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (page.308) >>
->> endobj
-11610 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [400.667 600.361 417.604 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (page.302) >>
->> endobj
-11611 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [420.593 600.361 437.529 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (page.304) >>
->> endobj
-11612 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.084 588.405 396.021 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (page.320) >>
->> endobj
-11613 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.824 576.45 391.761 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (page.320) >>
->> endobj
-11614 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.295 564.495 455.232 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.320) >>
->> endobj
-11615 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.221 564.495 475.157 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.321) >>
->> endobj
-11616 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [426.67 552.54 443.606 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.310) >>
->> endobj
-11617 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.545 540.585 447.482 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (page.310) >>
->> endobj
-11618 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [420.044 529.347 436.981 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.310) >>
->> endobj
-11619 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [423.92 517.392 440.856 527.578]
-/Subtype /Link
-/A << /S /GoTo /D (page.310) >>
->> endobj
-11620 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.522 505.437 400.458 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.305) >>
->> endobj
-11621 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [403.447 505.437 420.383 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.306) >>
->> endobj
-11622 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [467.885 492.764 484.821 503.668]
-/Subtype /Link
-/A << /S /GoTo /D (page.318) >>
->> endobj
-11623 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [437.449 480.809 454.386 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.318) >>
->> endobj
-11624 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.226 468.854 471.162 479.758]
-/Subtype /Link
-/A << /S /GoTo /D (page.312) >>
->> endobj
-11625 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.254 456.899 413.19 467.803]
-/Subtype /Link
-/A << /S /GoTo /D (page.305) >>
->> endobj
-11626 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.765 444.943 367.702 455.847]
-/Subtype /Link
-/A << /S /GoTo /D (page.322) >>
->> endobj
-11627 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.87 432.988 424.806 443.892]
-/Subtype /Link
-/A << /S /GoTo /D (page.315) >>
->> endobj
-11628 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.877 421.75 393.813 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.311) >>
->> endobj
-11629 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.852 409.078 429.788 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (page.311) >>
->> endobj
-11630 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [449.773 397.123 466.71 408.027]
-/Subtype /Link
-/A << /S /GoTo /D (page.312) >>
->> endobj
-11631 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.31 373.93 398.247 384.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.323) >>
->> endobj
-11632 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.676 361.257 412.613 372.161]
-/Subtype /Link
-/A << /S /GoTo /D (page.339) >>
->> endobj
-11633 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.552 349.302 416.488 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (page.340) >>
->> endobj
-11634 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.051 338.064 405.987 348.251]
-/Subtype /Link
-/A << /S /GoTo /D (page.339) >>
->> endobj
-11635 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.926 326.109 409.863 336.296]
-/Subtype /Link
-/A << /S /GoTo /D (page.340) >>
->> endobj
-11636 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.127 313.437 455.063 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (page.340) >>
->> endobj
-11637 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [431.501 301.481 448.438 312.385]
-/Subtype /Link
-/A << /S /GoTo /D (page.341) >>
->> endobj
-11638 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [473.165 289.526 490.101 300.43]
-/Subtype /Link
-/A << /S /GoTo /D (page.346) >>
->> endobj
-11639 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.271 277.571 491.207 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.347) >>
->> endobj
-11640 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [382.157 265.616 399.093 276.52]
-/Subtype /Link
-/A << /S /GoTo /D (page.343) >>
->> endobj
-11641 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.879 253.661 411.816 264.565]
-/Subtype /Link
-/A << /S /GoTo /D (page.343) >>
->> endobj
-11642 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.45 241.706 438.386 252.609]
-/Subtype /Link
-/A << /S /GoTo /D (page.345) >>
->> endobj
-11643 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [434.172 229.75 451.108 240.654]
-/Subtype /Link
-/A << /S /GoTo /D (page.345) >>
->> endobj
-11644 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.995 218.512 428.932 228.699]
-/Subtype /Link
-/A << /S /GoTo /D (page.336) >>
->> endobj
-11645 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.603 206.557 429.539 216.744]
-/Subtype /Link
-/A << /S /GoTo /D (page.336) >>
->> endobj
-11646 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.302 193.885 424.239 204.789]
-/Subtype /Link
-/A << /S /GoTo /D (page.347) >>
->> endobj
-11647 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.79 182.647 387.726 192.834]
-/Subtype /Link
-/A << /S /GoTo /D (page.336) >>
->> endobj
-11648 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.597 170.692 380.533 180.878]
-/Subtype /Link
-/A << /S /GoTo /D (page.338) >>
->> endobj
-11649 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [400.408 158.019 417.345 168.923]
-/Subtype /Link
-/A << /S /GoTo /D (page.342) >>
->> endobj
-11650 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [432.617 146.064 449.554 156.968]
-/Subtype /Link
-/A << /S /GoTo /D (page.348) >>
->> endobj
-11651 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [423.92 134.109 440.856 145.013]
-/Subtype /Link
-/A << /S /GoTo /D (page.349) >>
->> endobj
-11652 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.056 122.154 449.992 133.058]
-/Subtype /Link
-/A << /S /GoTo /D (page.343) >>
->> endobj
-11653 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [452.981 122.154 469.917 133.058]
-/Subtype /Link
-/A << /S /GoTo /D (page.344) >>
->> endobj
-11654 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [445.778 110.199 462.714 121.103]
-/Subtype /Link
-/A << /S /GoTo /D (page.344) >>
->> endobj
-11655 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [465.703 110.199 482.639 121.103]
-/Subtype /Link
-/A << /S /GoTo /D (page.345) >>
->> endobj
-11656 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.444 98.961 389.38 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (page.349) >>
->> endobj
-11657 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [406.764 86.288 423.701 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (page.342) >>
->> endobj
-11659 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11663 0 obj <<
-/D [11661 0 R /XYZ 90 757.935 null]
->> endobj
-11660 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11782 0 obj <<
-/Length 1458      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�6~���Sg3MJ"%�K�6[wA�f�������VJ����Q�c눲������9�?
-+���7��{f
�Ɍ���a�aQ�7�q;�����5�t�����0e���m�������넨�� ���A�E�0��~�F��00�<���O%�mZ�?6>N��৖P���ձI
Ǵf�iU~$�ϙHK)���چ�q�j�����s��e�����3'y��K��/� �
-5�i!��� m��&�/׵�v
-��t7,�~
;�
w�8˹
�LV-��$����Gw)��u��~�)�Un������M��.b����
z�F�gW3B��,E��5�6!��+����9��i��/�h�1��al��ߊr�Y����p��A��8�z�E)5l�6����%�q�7ɪh�S�p-Vk.�����kddt�	�*Q�WJ���q]lgO�
��݉P���<��AQ�U
-����7�c�u�ރ`��4��[��l�F};cvw��/�>��[ �
��OE���9i��c���U?�y$�Wq/�pqqU��/ս�I�[.Չn
k5�"
�c�����}g�S��r1�����N螤�l
0=3u�a�>�١�JAC��T����\VC���D�`ۼ����`��T��
-�*�J5�A�N��^^y^�}*DyjO�r����Oc��$D��^k�V�~�
��7r}��z���O�0#po�{
7�bv��y�eWϨ2���0x�w�	]�
�
O�<�3Vw�v�S���U
�'u�-�l��^}dݕc3��^j\�y�Ը��H�l>��Fx�S�\��0d �d����Isz?Kx�R�״��/�T25���M���련Vy��:�
���R4ԘO�
?��WO �B�Y
�&a�vM�Yb��4��r��{���e_5
�Gz����!�B�ce-�Y=
[+9���/�*+���s^DU�a��� ͮ-a+\]*��`!1����35- �I
�僿)����y���8,��������f0��fp��fƴ� �k.�Im.u��
�=&Z1-�J%�j�^���d���\J���� �U36�&��w��q�m��'vmL<���N�
 xå'ЫW�@�~�G���E�=��XQ�Ɗ�7FԫKp��
S�Y��
!z�K��Z��
gc�R����Ui���*�9::�8��J{
�
-jx
��1�Q�y
NN����
��aE.a��F�����u�ؖٳV�6��
1�OA���{휟M
D�K-�QN5>O�y�����>sp�
-�וLm̎JU��1y���
���1�<�r�/٨�(m���5���?���FhN�B�9�����Ӣ9�-H7A�
�a�w��ris#���n4�[j%���MϾ��_�/��{�� 
��ro]���b��nQX�M*r�D���x�羃^b#�d�*�ڰ$�m�E�.&u��������h�8
-endstream
-endobj
-11781 0 obj <<
-/Type /Page
-/Contents 11782 0 R
-/Resources 11780 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11202 0 R
-/Annots [ 11658 0 R 11664 0 R 11665 0 R 11666 0 R 11667 0 R 11668 0 R 11669 0 R 11670 0 R 11671 0 R 11672 0 R 11673 0 R 11674 0 R 11675 0 R 11676 0 R 11677 0 R 11678 0 R 11679 0 R 11680 0 R 11681 0 R 11682 0 R 11683 0 R 11684 0 R 11685 0 R 11686 0 R 11687 0 R 11688 0 R 11689 0 R 11690 0 R 11691 0 R 11692 0 R 11693 0 R 11694 0 R 11695 0 R 11696 0 R 11697 0 R 11698 0 R 11699 0 R 11700 0 R 11701 0 R 11702 0 R 11703 0 R 11704 0 R 11705 0 R 11706 0 R 11707 0 R 11708 0 R 11709 0 R 11710 0 R 11 [...]
->> endobj
-11658 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.782 719.912 196.719 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (page.336) >>
->> endobj
-11664 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.544 707.957 225.481 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.348) >>
->> endobj
-11665 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.202 696.719 170.139 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (page.336) >>
->> endobj
-11666 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.128 696.719 190.064 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (page.337) >>
->> endobj
-11667 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.549 684.764 168.485 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.337) >>
->> endobj
-11668 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.474 684.764 188.41 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.338) >>
->> endobj
-11669 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 672.092 179.539 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.349) >>
->> endobj
-11670 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.343 660.136 175.28 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (page.349) >>
->> endobj
-11671 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.339 648.181 240.275 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.331) >>
->> endobj
-11672 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.264 648.181 260.201 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.335) >>
->> endobj
-11673 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.189 636.226 227.125 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.339) >>
->> endobj
-11674 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.064 624.271 231 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.340) >>
->> endobj
-11675 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.563 613.033 220.5 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (page.339) >>
->> endobj
-11676 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.438 601.078 224.375 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (page.341) >>
->> endobj
-11677 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.404 588.405 268.34 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (page.347) >>
->> endobj
-11678 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.968 576.45 237.904 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (page.347) >>
->> endobj
-11679 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.772 564.495 196.709 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.338) >>
->> endobj
-11680 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.284 552.54 151.22 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.350) >>
->> endobj
-11681 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.389 540.585 208.325 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (page.346) >>
->> endobj
-11682 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.396 529.347 177.332 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.341) >>
->> endobj
-11683 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.321 529.347 197.257 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.342) >>
->> endobj
-11684 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.371 516.674 213.307 527.578]
-/Subtype /Link
-/A << /S /GoTo /D (page.342) >>
->> endobj
-11685 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.292 504.719 250.228 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.342) >>
->> endobj
-11686 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.878 492.764 197.815 503.668]
-/Subtype /Link
-/A << /S /GoTo /D (page.346) >>
->> endobj
-11687 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.431 480.809 295.368 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.350) >>
->> endobj
-11688 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.195 468.854 196.132 479.758]
-/Subtype /Link
-/A << /S /GoTo /D (page.366) >>
->> endobj
-11689 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.182 456.899 258.118 467.803]
-/Subtype /Link
-/A << /S /GoTo /D (page.366) >>
->> endobj
-11690 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.071 444.943 200.007 455.847]
-/Subtype /Link
-/A << /S /GoTo /D (page.366) >>
->> endobj
-11691 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.057 432.988 261.994 443.892]
-/Subtype /Link
-/A << /S /GoTo /D (page.367) >>
->> endobj
-11692 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.57 421.75 189.506 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.364) >>
->> endobj
-11693 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.557 409.795 251.493 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (page.364) >>
->> endobj
-11694 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.445 397.84 193.382 408.027]
-/Subtype /Link
-/A << /S /GoTo /D (page.365) >>
->> endobj
-11695 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [238.432 385.885 255.368 396.071]
-/Subtype /Link
-/A << /S /GoTo /D (page.365) >>
->> endobj
-11696 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.829 373.212 181.765 384.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.364) >>
->> endobj
-11697 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.676 361.257 182.612 372.161]
-/Subtype /Link
-/A << /S /GoTo /D (page.369) >>
->> endobj
-11698 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.398 349.302 195.334 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (page.369) >>
->> endobj
-11699 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.457 337.347 219.394 348.251]
-/Subtype /Link
-/A << /S /GoTo /D (page.375) >>
->> endobj
-11700 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [230.542 325.392 247.478 336.296]
-/Subtype /Link
-/A << /S /GoTo /D (page.372) >>
->> endobj
-11701 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.748 313.437 232.684 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (page.372) >>
->> endobj
-11702 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.968 301.481 221.905 312.385]
-/Subtype /Link
-/A << /S /GoTo /D (page.371) >>
->> endobj
-11703 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.69 289.526 234.627 300.43]
-/Subtype /Link
-/A << /S /GoTo /D (page.371) >>
->> endobj
-11704 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.514 278.288 212.451 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.360) >>
->> endobj
-11705 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.122 266.333 213.058 276.52]
-/Subtype /Link
-/A << /S /GoTo /D (page.361) >>
->> endobj
-11706 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.379 254.378 208.316 264.565]
-/Subtype /Link
-/A << /S /GoTo /D (page.375) >>
->> endobj
-11707 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [211.304 254.378 228.241 264.565]
-/Subtype /Link
-/A << /S /GoTo /D (page.376) >>
->> endobj
-11708 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.821 241.706 207.757 252.609]
-/Subtype /Link
-/A << /S /GoTo /D (page.373) >>
->> endobj
-11709 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.308 230.468 171.245 240.654]
-/Subtype /Link
-/A << /S /GoTo /D (page.360) >>
->> endobj
-11710 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.115 218.512 164.052 228.699]
-/Subtype /Link
-/A << /S /GoTo /D (page.363) >>
->> endobj
-11711 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.927 205.84 200.863 216.744]
-/Subtype /Link
-/A << /S /GoTo /D (page.368) >>
->> endobj
-11712 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.136 193.885 233.073 204.789]
-/Subtype /Link
-/A << /S /GoTo /D (page.374) >>
->> endobj
-11713 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.439 181.93 224.375 192.834]
-/Subtype /Link
-/A << /S /GoTo /D (page.374) >>
->> endobj
-11714 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.574 169.975 233.511 180.878]
-/Subtype /Link
-/A << /S /GoTo /D (page.369) >>
->> endobj
-11715 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.499 169.975 253.436 180.878]
-/Subtype /Link
-/A << /S /GoTo /D (page.370) >>
->> endobj
-11716 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.296 158.019 246.233 168.923]
-/Subtype /Link
-/A << /S /GoTo /D (page.370) >>
->> endobj
-11717 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.379 146.064 216.315 156.968]
-/Subtype /Link
-/A << /S /GoTo /D (page.362) >>
->> endobj
-11718 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.13 134.109 216.066 145.013]
-/Subtype /Link
-/A << /S /GoTo /D (page.363) >>
->> endobj
-11719 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.962 122.871 172.899 133.058]
-/Subtype /Link
-/A << /S /GoTo /D (page.364) >>
->> endobj
-11720 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.283 110.199 207.219 121.103]
-/Subtype /Link
-/A << /S /GoTo /D (page.368) >>
->> endobj
-11721 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.27 98.244 269.206 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (page.368) >>
->> endobj
-11722 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.782 86.288 196.719 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (page.360) >>
->> endobj
-11723 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.82 719.912 408.757 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (page.375) >>
->> endobj
-11724 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [425.026 707.957 441.962 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.373) >>
->> endobj
-11725 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.684 696.719 386.62 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (page.361) >>
->> endobj
-11726 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.03 684.764 384.966 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.362) >>
->> endobj
-11727 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.676 672.092 412.613 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.372) >>
->> endobj
-11728 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [403.755 660.854 420.692 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (page.357) >>
->> endobj
-11729 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [423.681 660.854 440.617 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (page.360) >>
->> endobj
-11730 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [426.67 648.181 443.606 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.366) >>
->> endobj
-11731 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.545 636.226 447.482 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.367) >>
->> endobj
-11732 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [420.044 624.988 436.981 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.364) >>
->> endobj
-11733 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [423.92 613.033 440.856 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (page.365) >>
->> endobj
-11734 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.522 601.078 400.458 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (page.363) >>
->> endobj
-11735 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [403.447 601.078 420.383 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (page.364) >>
->> endobj
-11736 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [467.885 588.405 484.821 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (page.373) >>
->> endobj
-11737 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [437.449 576.45 454.386 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (page.373) >>
->> endobj
-11738 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.226 564.495 471.162 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.368) >>
->> endobj
-11739 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.254 552.54 413.19 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.363) >>
->> endobj
-11740 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.765 540.585 367.702 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (page.375) >>
->> endobj
-11741 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.87 528.63 424.806 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.372) >>
->> endobj
-11742 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.877 517.392 393.813 527.578]
-/Subtype /Link
-/A << /S /GoTo /D (page.367) >>
->> endobj
-11743 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.802 517.392 413.739 527.578]
-/Subtype /Link
-/A << /S /GoTo /D (page.368) >>
->> endobj
-11744 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.041 505.437 405.978 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.374) >>
->> endobj
-11745 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [408.967 505.437 425.903 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.375) >>
->> endobj
-11746 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 482.866 362.272 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.376) >>
->> endobj
-11747 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.084 468.854 396.021 479.758]
-/Subtype /Link
-/A << /S /GoTo /D (page.378) >>
->> endobj
-11748 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.705 456.899 383.642 467.803]
-/Subtype /Link
-/A << /S /GoTo /D (page.377) >>
->> endobj
-11749 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.824 444.943 391.761 455.847]
-/Subtype /Link
-/A << /S /GoTo /D (page.377) >>
->> endobj
-11750 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.088 432.988 396.025 443.892]
-/Subtype /Link
-/A << /S /GoTo /D (page.377) >>
->> endobj
-11751 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 411.135 362.272 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (page.378) >>
->> endobj
-11752 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.084 397.123 396.021 408.027]
-/Subtype /Link
-/A << /S /GoTo /D (page.379) >>
->> endobj
-11753 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.705 385.168 383.642 396.071]
-/Subtype /Link
-/A << /S /GoTo /D (page.379) >>
->> endobj
-11754 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.824 373.212 391.761 384.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.379) >>
->> endobj
-11755 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.088 361.257 396.025 372.161]
-/Subtype /Link
-/A << /S /GoTo /D (page.379) >>
->> endobj
-11756 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [467.486 349.302 484.423 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (page.380) >>
->> endobj
-11757 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.676 337.347 412.613 348.251]
-/Subtype /Link
-/A << /S /GoTo /D (page.398) >>
->> endobj
-11758 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [457.663 325.392 474.6 336.296]
-/Subtype /Link
-/A << /S /GoTo /D (page.398) >>
->> endobj
-11759 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.552 313.437 416.488 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (page.401) >>
->> endobj
-11760 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [461.539 301.481 478.475 312.385]
-/Subtype /Link
-/A << /S /GoTo /D (page.402) >>
->> endobj
-11761 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.051 290.243 405.987 300.43]
-/Subtype /Link
-/A << /S /GoTo /D (page.396) >>
->> endobj
-11762 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [451.038 278.288 467.974 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.397) >>
->> endobj
-11763 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.926 266.333 409.863 276.52]
-/Subtype /Link
-/A << /S /GoTo /D (page.398) >>
->> endobj
-11764 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.913 254.378 471.85 264.565]
-/Subtype /Link
-/A << /S /GoTo /D (page.399) >>
->> endobj
-11765 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [387.378 241.706 404.314 252.609]
-/Subtype /Link
-/A << /S /GoTo /D (page.397) >>
->> endobj
-11766 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [449.364 229.75 466.301 240.654]
-/Subtype /Link
-/A << /S /GoTo /D (page.397) >>
->> endobj
-11767 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.253 217.795 408.189 228.699]
-/Subtype /Link
-/A << /S /GoTo /D (page.400) >>
->> endobj
-11768 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [453.24 205.84 470.176 216.744]
-/Subtype /Link
-/A << /S /GoTo /D (page.400) >>
->> endobj
-11769 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.127 193.885 455.063 204.789]
-/Subtype /Link
-/A << /S /GoTo /D (page.402) >>
->> endobj
-11770 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 172.032 362.272 180.878]
-/Subtype /Link
-/A << /S /GoTo /D (page.402) >>
->> endobj
-11771 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [431.501 158.019 448.438 168.923]
-/Subtype /Link
-/A << /S /GoTo /D (page.398) >>
->> endobj
-11772 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.488 146.064 510.425 156.968]
-/Subtype /Link
-/A << /S /GoTo /D (page.399) >>
->> endobj
-11773 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [429.828 134.109 446.764 145.013]
-/Subtype /Link
-/A << /S /GoTo /D (page.400) >>
->> endobj
-11774 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [491.815 122.154 508.751 133.058]
-/Subtype /Link
-/A << /S /GoTo /D (page.401) >>
->> endobj
-11775 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [473.165 110.199 490.101 121.103]
-/Subtype /Link
-/A << /S /GoTo /D (page.411) >>
->> endobj
-11776 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.271 98.244 491.207 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (page.411) >>
->> endobj
-11777 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [382.157 86.288 399.093 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (page.406) >>
->> endobj
-11779 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11783 0 obj <<
-/D [11781 0 R /XYZ 90 757.935 null]
->> endobj
-11780 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11882 0 obj <<
-/Length 1547      
-/Filter /FlateDecode
->>
-stream
-x��Z[��H~�W�Z��t74�T�0I܉���ٚd��b�Uv�p���n�)e��Ìr��w�}N
�V��Zo��?4E2dCC�4_J�t
�AinI���]��}�ARAWXc�%T�ӭ޼���Y ��i�˺����z�$��� Y1��6�˕T��OG��>��>
��@��#,�H���S�沃p� ȣ$��+�{B$e�2*ӻ��p�0h�@�nHE�W��0߼�~
-���loE�(�W^)�Q��o<�Z䀰�nu`aK�ag�
��?��
|njm�kh�P�{ݨ-�rE"�
}���>��Wf �P�q��slb.|oa��c�ʣ2��Y�����b!��ߩ�ӳH�
J,ۥ^Ĝ]��R�o�;/ ���+���t���n���'�zt�3���`��W�zk3Z��o�2�ja��^LÈ.�ԝ�p>�HxP��g���M�#��_>��Ҭ)D�q�/W�sR.X�]3����06\���ꛠ�Œ?�-���
����t��{M��������ի��>	�*k��[�fݕڕ5C9$��y+�7KRo!�4\�x�q��p�8\�t.ƞ0�5���UJ1`��CH;�Pi�4��[;��[��R���F��M���.�V
ۜnV�8n�
Rw��$k{���ي�q!gF�l7p���D��-_��'E���E���L�d��@�6���EF+f�#,���g!�x�!Z�����{X~���5ɮ�d`?�f�ts3I���U
qL�iY�c)���1�lx��y��0
��d y\�G��I��2.
�\�5~q�V�/�nǫ3#IҦ��p�FP`��z��*\~
5�pk�T��b	q
-3s��Z�J�.��%nf+����
��Jj��E��|�!��b/���\���C�2L�_~Z8��`7�[����g��p��#�(�\�
M4a�@=)Ta��Z�D٣S.R�o�?;Bvծ#蘵
���_����E
+j(��ն�P��Q��i�
���y뻁҆.��YyC������Q�
DE
5uqgƶ�u/�d�"����wD*�!�^Ӕ�r���b�ꐩ�Y1�.�9�����d_W��]�3YާA�[?��B�"咎�a�� �l���
�H�DX;O�{�zĞ�N_�B�z��Ӏ@��b��v��5/֣���,���EI
lw��
O��
t���%
��8T��s�hT[:2�H�}�`��[u��F/6�N�(�J����xؿ
����dл�Ͽ�v���vO��g�I#^��k]��z
�$��ї=������pRQ��\�'�������ݴw��O�ޔ���R�����fp��lvf�	df�G����a�k�l<� �atN�ј�j~N��'sΰ��
�2�r��AoX���3���֕
�}Kh�v�&����S†�q��2_�N"��\f����
f�3=�
����(=
���t��� �gȧ��$�!���Ε�
=�4S6��oi��#�
-��]]V �
E�8n���ۭ���g�l��A�\�/�5���?�,ـ�s�0S���I7��C> b���DW!
-endstream
-endobj
-11881 0 obj <<
-/Type /Page
-/Contents 11882 0 R
-/Resources 11880 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11884 0 R
-/Annots [ 11778 0 R 11784 0 R 11785 0 R 11786 0 R 11787 0 R 11788 0 R 11789 0 R 11790 0 R 11791 0 R 11792 0 R 11793 0 R 11794 0 R 11795 0 R 11796 0 R 11797 0 R 11798 0 R 11799 0 R 11800 0 R 11801 0 R 11802 0 R 11803 0 R 11804 0 R 11805 0 R 11806 0 R 11807 0 R 11808 0 R 11809 0 R 11810 0 R 11811 0 R 11812 0 R 11813 0 R 11814 0 R 11815 0 R 11816 0 R 11817 0 R 11818 0 R 11819 0 R 11820 0 R 11821 0 R 11822 0 R 11823 0 R 11824 0 R 11825 0 R 11826 0 R 11827 0 R 11828 0 R 11829 0 R 11830 0 R 11 [...]
->> endobj
-11778 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.398 719.912 195.334 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (page.406) >>
->> endobj
-11784 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.393 707.957 239.329 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.409) >>
->> endobj
-11785 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.968 696.002 221.905 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (page.408) >>
->> endobj
-11786 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.69 684.047 234.627 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.408) >>
->> endobj
-11787 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.027 672.092 293.964 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.409) >>
->> endobj
-11788 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.65 660.136 274.587 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (page.410) >>
->> endobj
-11789 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.514 648.899 212.451 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.394) >>
->> endobj
-11790 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.122 636.943 213.058 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.394) >>
->> endobj
-11791 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.821 624.271 207.757 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.412) >>
->> endobj
-11792 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.308 613.033 171.245 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (page.394) >>
->> endobj
-11793 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.115 601.078 164.052 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (page.396) >>
->> endobj
-11794 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.136 588.405 233.073 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (page.413) >>
->> endobj
-11795 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.439 576.45 224.375 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (page.413) >>
->> endobj
-11796 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.574 564.495 233.511 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.406) >>
->> endobj
-11797 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.499 564.495 253.436 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.407) >>
->> endobj
-11798 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.296 552.54 246.233 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.407) >>
->> endobj
-11799 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.015 540.585 219.952 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (page.410) >>
->> endobj
-11800 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.962 529.347 172.899 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.414) >>
->> endobj
-11801 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.283 516.674 207.219 527.578]
-/Subtype /Link
-/A << /S /GoTo /D (page.404) >>
->> endobj
-11802 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.27 504.719 269.206 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.404) >>
->> endobj
-11803 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.782 492.764 196.719 503.668]
-/Subtype /Link
-/A << /S /GoTo /D (page.393) >>
->> endobj
-11804 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.95 480.809 287.886 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.409) >>
->> endobj
-11805 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.573 468.854 268.509 479.758]
-/Subtype /Link
-/A << /S /GoTo /D (page.410) >>
->> endobj
-11806 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.544 456.899 225.481 467.803]
-/Subtype /Link
-/A << /S /GoTo /D (page.412) >>
->> endobj
-11807 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.202 445.661 170.139 455.847]
-/Subtype /Link
-/A << /S /GoTo /D (page.394) >>
->> endobj
-11808 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.549 433.706 168.485 443.892]
-/Subtype /Link
-/A << /S /GoTo /D (page.395) >>
->> endobj
-11809 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.296 421.75 145.233 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.396) >>
->> endobj
-11810 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 409.078 179.539 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (page.414) >>
->> endobj
-11811 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.622 397.123 223.558 408.027]
-/Subtype /Link
-/A << /S /GoTo /D (page.405) >>
->> endobj
-11812 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.994 385.168 198.931 396.071]
-/Subtype /Link
-/A << /S /GoTo /D (page.405) >>
->> endobj
-11813 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.981 373.212 260.918 384.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.405) >>
->> endobj
-11814 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [159.848 361.257 176.784 372.161]
-/Subtype /Link
-/A << /S /GoTo /D (page.391) >>
->> endobj
-11815 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.773 361.257 196.71 372.161]
-/Subtype /Link
-/A << /S /GoTo /D (page.393) >>
->> endobj
-11816 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.189 349.302 227.125 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (page.403) >>
->> endobj
-11817 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.064 337.347 231 348.251]
-/Subtype /Link
-/A << /S /GoTo /D (page.403) >>
->> endobj
-11818 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.563 326.109 220.5 336.296]
-/Subtype /Link
-/A << /S /GoTo /D (page.403) >>
->> endobj
-11819 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.438 314.154 224.375 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (page.403) >>
->> endobj
-11820 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.04 302.199 183.977 312.385]
-/Subtype /Link
-/A << /S /GoTo /D (page.393) >>
->> endobj
-11821 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.404 289.526 268.34 300.43]
-/Subtype /Link
-/A << /S /GoTo /D (page.412) >>
->> endobj
-11822 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.968 277.571 237.904 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.412) >>
->> endobj
-11823 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.745 265.616 254.681 276.52]
-/Subtype /Link
-/A << /S /GoTo /D (page.405) >>
->> endobj
-11824 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.772 253.661 196.709 264.565]
-/Subtype /Link
-/A << /S /GoTo /D (page.396) >>
->> endobj
-11825 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.284 241.706 151.22 252.609]
-/Subtype /Link
-/A << /S /GoTo /D (page.414) >>
->> endobj
-11826 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.389 229.75 208.325 240.654]
-/Subtype /Link
-/A << /S /GoTo /D (page.409) >>
->> endobj
-11827 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.396 218.512 177.332 228.699]
-/Subtype /Link
-/A << /S /GoTo /D (page.404) >>
->> endobj
-11828 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.341 205.84 258.277 216.744]
-/Subtype /Link
-/A << /S /GoTo /D (page.414) >>
->> endobj
-11829 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.464 182.647 188.401 192.834]
-/Subtype /Link
-/A << /S /GoTo /D (page.420) >>
->> endobj
-11830 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.682 170.692 159.618 180.878]
-/Subtype /Link
-/A << /S /GoTo /D (page.420) >>
->> endobj
-11831 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.803 158.019 188.739 168.923]
-/Subtype /Link
-/A << /S /GoTo /D (page.420) >>
->> endobj
-11832 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 146.064 179.539 156.968]
-/Subtype /Link
-/A << /S /GoTo /D (page.421) >>
->> endobj
-11833 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.343 134.109 175.28 145.013]
-/Subtype /Link
-/A << /S /GoTo /D (page.421) >>
->> endobj
-11834 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 122.154 221.605 133.058]
-/Subtype /Link
-/A << /S /GoTo /D (page.421) >>
->> endobj
-11835 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.087 110.199 169.023 121.103]
-/Subtype /Link
-/A << /S /GoTo /D (page.420) >>
->> endobj
-11836 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.284 98.244 151.22 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (page.421) >>
->> endobj
-11837 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.371 86.288 213.307 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (page.420) >>
->> endobj
-11838 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [449.773 719.912 466.71 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (page.420) >>
->> endobj
-11839 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [479.501 707.957 496.437 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.421) >>
->> endobj
-11840 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.056 696.002 510.993 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (page.422) >>
->> endobj
-11841 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.359 684.047 409.295 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.422) >>
->> endobj
-11842 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.358 672.092 481.294 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.423) >>
->> endobj
-11843 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.744 660.136 471.68 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (page.423) >>
->> endobj
-11844 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.335 648.899 362.272 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.425) >>
->> endobj
-11845 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.084 636.226 396.021 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.425) >>
->> endobj
-11846 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.014 624.271 415.95 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.425) >>
->> endobj
-11847 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.587 613.033 380.523 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (page.425) >>
->> endobj
-11848 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.805 600.361 513.742 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (page.425) >>
->> endobj
-11849 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [476.332 588.405 493.269 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (page.426) >>
->> endobj
-11850 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.084 576.45 396.021 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (page.427) >>
->> endobj
-11851 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [385.175 565.212 402.112 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.427) >>
->> endobj
-11852 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 529.347 438.087 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.331) >>
->> endobj
-11853 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [441.076 529.347 458.013 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.335) >>
->> endobj
-11854 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.304 504.719 498.241 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.198) >>
->> endobj
-11855 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 482.866 362.272 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.256) >>
->> endobj
-11856 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.304 456.899 498.241 467.803]
-/Subtype /Link
-/A << /S /GoTo /D (page.199) >>
->> endobj
-11857 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 421.75 403.527 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.357) >>
->> endobj
-11858 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [406.516 421.75 423.452 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.360) >>
->> endobj
-11859 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 397.123 504.348 408.027]
-/Subtype /Link
-/A << /S /GoTo /D (page.405) >>
->> endobj
-11860 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 373.212 504.348 384.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.405) >>
->> endobj
-11861 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 349.302 504.348 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (page.405) >>
->> endobj
-11862 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 315.494 362.272 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (page.146) >>
->> endobj
-11863 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 291.464 362.272 300.43]
-/Subtype /Link
-/A << /S /GoTo /D (page.292) >>
->> endobj
-11864 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [492.078 265.616 509.015 276.52]
-/Subtype /Link
-/A << /S /GoTo /D (page.391) >>
->> endobj
-11865 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 255.598 362.272 264.565]
-/Subtype /Link
-/A << /S /GoTo /D (page.393) >>
->> endobj
-11866 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 230.468 425.255 240.654]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-11867 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 206.557 433.106 216.744]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-11868 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.155 194.602 376.11 204.789]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11869 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.647 182.303 375.602 192.834]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11870 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [432.279 170.348 444.234 180.878]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11871 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.871 158.737 419.826 168.923]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11872 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.7 146.438 422.655 156.968]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11873 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.292 134.826 398.247 145.013]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11874 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [405.091 122.871 417.046 133.058]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-11875 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.216 110.916 413.171 121.103]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-11876 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [388.703 98.617 400.658 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11877 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.401 87.006 470.356 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-11879 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11883 0 obj <<
-/D [11881 0 R /XYZ 90 757.935 null]
->> endobj
-11880 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11967 0 obj <<
-/Length 1386      
-/Filter /FlateDecode
->>
-stream
-x��Z[s�H~�W�P�!� �f�X�(8���f���v�Z.n��q~�6�Ɖ���̼��;߹��� 7�]���kU�tQW%��8
p��9���m����=���>W^����t��{�� =
8X>�
ā�p��w�pKz�=DY׸���K2�F�����Lp��/)�@�E�*�ԙ3  �'ۙZ�	9��ļ��O�l*dU�q�=��BR �j��J
���Pԕ���w涁
G��/�	o��ێk�
�v�]٦i�ƹP糎Hj��Y��捹}U�2
4�fhV���SV�ks�Y�ܸ֍�z�N�A�y�����&(�ʰn��f�`G,u�e~de36�|V˾FC�(��*
�j�j�l�W��'�]ކ�7�:��f�O��g"��
B�Q�~�ͬ�m��#�;i�T]�s�xg��>��Z��1k0��h�����M^9��b�f��k�m�iD;�=�����Vm��
��6;��N�f�٤�r�
��v6����-
-�
�:C���s�k�}�,�a*��
N�P��kq��"�7�<��4��&�Q�
-�� H�'9��F�XTq�
EA���Q��p�I�cdF8n��u�e���w�6��8N�e�ŵV3+�B��S-�G
�et����8�^F
-��K�W�p1hZNc�*m��t��q�gٝ���\��b���Q�oߧ�	gۈ1Q�t�,�d�������K���d?ִ�*���$����e�
��T�**TGU�EUꟈ��)�g�T[E=m�}�D{���Ȳǧ�= q�fi�[�%	�$�'ٽ{wPOry�͒&Q�uQS��]����|dc���b�
�?���N�
����gS���8~G�nH��.rD0��n
Gt �I@�(C'��[H(�AC�AMkS�^#d��Yڋ~��6C�k��8��
��%���6�J��b(�۾���oM���u���糒��UBHPHyD_�i?��]|���/����1yS&B�F�x:C�Rղ�ix� h�2��N���d\-N�&.P�Zp!��Ҩ=E0M�(Lp@�2�� Y`DWs�*������
$(�U
�#zw��*:k���9Y}A��(�h�� �f�}����,�`�&A�༗�e�=�ʬ�[T}���	�_����I
Q��,j	��bS1Q���'z���
�^"��R��a�.:Ԋlq�u�i��5}�=a��@�!I�l2��v��Cud�G�k�=��je�o��{��[����_��.c�嫿�B���b��^��V�:�g��!(
-�U�� �Ҙ/�?�󀎂�I B J��
�(�a\+[i����P�K at 9�
��(i�_�u�o�]^>>>��L���!b�_n6��3�
i
a_
<�<��"��V?L�ɸ|u#>�����ߟ
-endstream
-endobj
-11966 0 obj <<
-/Type /Page
-/Contents 11967 0 R
-/Resources 11965 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11884 0 R
-/Annots [ 11878 0 R 11885 0 R 11886 0 R 11887 0 R 11888 0 R 11889 0 R 11890 0 R 11891 0 R 11892 0 R 11893 0 R 11894 0 R 11895 0 R 11896 0 R 11897 0 R 11898 0 R 11899 0 R 11900 0 R 11901 0 R 11902 0 R 11903 0 R 11904 0 R 11905 0 R 11906 0 R 11907 0 R 11908 0 R 11909 0 R 11910 0 R 11911 0 R 11912 0 R 11913 0 R 11914 0 R 11915 0 R 11916 0 R 11917 0 R 11918 0 R 11919 0 R 11920 0 R 11921 0 R 11922 0 R 11923 0 R 11924 0 R 11925 0 R 11926 0 R 11927 0 R 11928 0 R 11929 0 R 11930 0 R 11931 0 R 11 [...]
->> endobj
-11878 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.947 720.63 259.902 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-11885 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [184.545 708.674 196.5 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11886 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.539 696.719 203.494 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11887 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.807 684.764 230.762 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11888 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [166.642 672.809 178.598 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11889 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.71 660.854 237.665 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-11890 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.324 648.899 263.279 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-11891 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.122 636.943 261.078 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-11892 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.165 624.988 175.12 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11893 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.823 613.033 207.778 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-11894 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.383 601.078 186.339 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-11895 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.365 588.779 151.32 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-11896 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.365 577.168 151.32 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-11897 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.365 565.212 151.32 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-11898 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.726 553.257 201.681 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-11899 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.85 541.302 197.805 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11900 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.358 529.347 182.313 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11901 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.848 517.392 211.803 527.578]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11902 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.524 505.437 199.479 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11903 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.259 493.481 150.214 503.668]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-11904 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.452 481.526 157.407 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-11905 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.342 469.571 149.298 479.758]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-11906 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.923 457.616 191.878 467.803]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11907 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.365 445.661 151.32 455.847]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-11908 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.034 433.706 217.99 443.892]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-11909 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.833 421.75 215.788 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-11910 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.406 409.451 188.361 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11911 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.23 397.84 275.185 408.027]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11912 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.028 385.885 272.983 396.071]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11913 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 373.93 206.672 384.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11914 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [212.968 361.975 224.923 372.161]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-11915 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.96 350.019 165.915 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-11916 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.897 338.064 187.853 348.251]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-11917 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.227 326.109 217.182 336.296]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-11918 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.607 301.481 262.562 312.385]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-11919 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.935 290.243 169.89 300.43]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-11920 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.384 277.571 199.339 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11921 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.307 265.616 209.262 276.52]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11922 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.561 253.661 189.516 264.565]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-11923 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.725 241.706 201.68 252.609]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-11924 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.708 230.468 211.663 240.654]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-11925 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.716 217.795 206.671 228.699]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-11926 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.225 206.557 191.18 216.744]
-/Subtype /Link
-/A << /S /GoTo /D (page.65) >>
->> endobj
-11927 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.969 194.602 229.924 204.789]
-/Subtype /Link
-/A << /S /GoTo /D (page.65) >>
->> endobj
-11928 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.411 182.647 229.367 192.834]
-/Subtype /Link
-/A << /S /GoTo /D (page.65) >>
->> endobj
-11929 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [230.692 170.692 242.647 180.878]
-/Subtype /Link
-/A << /S /GoTo /D (page.65) >>
->> endobj
-11930 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.658 158.019 195.613 168.923]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11931 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.374 146.781 151.33 156.968]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-11932 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.474 134.109 183.429 145.013]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11933 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 110.916 208.774 121.103]
-/Subtype /Link
-/A << /S /GoTo /D (page.65) >>
->> endobj
-11934 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 87.006 208.774 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (page.65) >>
->> endobj
-11935 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 708.674 425.255 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.65) >>
->> endobj
-11936 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 684.764 425.255 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.65) >>
->> endobj
-11937 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 650.239 362.272 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.283) >>
->> endobj
-11938 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 614.373 362.272 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (page.283) >>
->> endobj
-11939 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 578.508 362.272 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (page.283) >>
->> endobj
-11940 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 542.642 362.272 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (page.283) >>
->> endobj
-11941 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.273 505.437 408.209 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.188) >>
->> endobj
-11942 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 482.747 362.272 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.293) >>
->> endobj
-11943 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 459.055 362.272 467.803]
-/Subtype /Link
-/A << /S /GoTo /D (page.422) >>
->> endobj
-11944 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 432.988 475.018 443.892]
-/Subtype /Link
-/A << /S /GoTo /D (page.129) >>
->> endobj
-11945 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 409.078 475.018 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (page.129) >>
->> endobj
-11946 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 365.307 362.272 374.154]
-/Subtype /Link
-/A << /S /GoTo /D (page.161) >>
->> endobj
-11947 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.109 351.295 513.045 362.199]
-/Subtype /Link
-/A << /S /GoTo /D (page.210) >>
->> endobj
-11948 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.304 327.384 498.241 338.288]
-/Subtype /Link
-/A << /S /GoTo /D (page.198) >>
->> endobj
-11949 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.304 303.474 498.241 314.378]
-/Subtype /Link
-/A << /S /GoTo /D (page.198) >>
->> endobj
-11950 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.569 279.564 511.506 290.468]
-/Subtype /Link
-/A << /S /GoTo /D (page.108) >>
->> endobj
-11951 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 269.546 362.272 278.512]
-/Subtype /Link
-/A << /S /GoTo /D (page.109) >>
->> endobj
-11952 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 255.653 475.018 266.557]
-/Subtype /Link
-/A << /S /GoTo /D (page.139) >>
->> endobj
-11953 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.569 243.698 511.506 254.602]
-/Subtype /Link
-/A << /S /GoTo /D (page.200) >>
->> endobj
-11954 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 233.8 362.272 242.647]
-/Subtype /Link
-/A << /S /GoTo /D (page.201) >>
->> endobj
-11955 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 208.55 362.272 218.737]
-/Subtype /Link
-/A << /S /GoTo /D (page.320) >>
->> endobj
-11956 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.261 208.55 382.197 218.737]
-/Subtype /Link
-/A << /S /GoTo /D (page.321) >>
->> endobj
-11957 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [472.208 183.922 489.145 194.826]
-/Subtype /Link
-/A << /S /GoTo /D (page.269) >>
->> endobj
-11958 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [472.208 160.012 489.145 170.916]
-/Subtype /Link
-/A << /S /GoTo /D (page.269) >>
->> endobj
-11959 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 136.102 496.597 147.005]
-/Subtype /Link
-/A << /S /GoTo /D (page.97) >>
->> endobj
-11960 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 124.146 475.018 135.05]
-/Subtype /Link
-/A << /S /GoTo /D (page.128) >>
->> endobj
-11961 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 112.191 476.672 123.095]
-/Subtype /Link
-/A << /S /GoTo /D (page.236) >>
->> endobj
-11962 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 90.338 362.272 99.185]
-/Subtype /Link
-/A << /S /GoTo /D (page.310) >>
->> endobj
-11964 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11968 0 obj <<
-/D [11966 0 R /XYZ 90 757.935 null]
->> endobj
-11965 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-12036 0 obj <<
-/Length 1128      
-/Filter /FlateDecode
->>
-stream
-x��Z]s�8}�W�maf�H�%�yl`3t�@��I;���D6��_��m҄ 64I'�e�\�{�s��	@��aX;�����6�(����I1$����;��U���#0���s��0Tw�5��ְ�E ��&&4uܠv������m
,ҷ`h���`P�TC�� 	F��`j:D�d����
8��wS>;�n�#�NN����
;JQce��#��Mr#}>��|�z"����ԏ�1�=�����FP]����
�����v`�&1O�`�E
��\�׊ Q�|@YW�e }�X$�fc	�!-�l�%S�F�D�y�����dt�l0uf� �m>��v"�Q`
kVu�g���tZ�~�M�I:~A��-

�mˇ�
�
�ڈf���
D��H����g�g���^��&�f��Ň%�4�h+��_��+#Z��N�E!�7���^읳ӫ+&��Ÿ�Q�q��^����9 ��Ö��a٭���ʚ���BDI
Z���.�B���r�0'��IXm�]�X[�K�3�(�c\S��}W�8�z�),�I겑�0��;��bt���9�eM5
��+�0�����jƾ�NV��*1�Ք�<o�X&��RHu�5�gG���b�D2Z!�f��K�F�7���i�;�~#��I$8��?U��h
��pR�h��2U}��s?�\.U)���q������N�5�
��?w6G`oE�F
�N��zI��jY��j�����ݐ\�^ 9
X��ftM�Vfx�o��%�������|%��_��we��7/���UMt�/wO����<t���Z�.�=�(7>v>�ZMi�
-��"��]�k|+�l]O�3l�'�2�U�Z�oi�p.s>GB��K��xRq�N����(+��<�ٲ1\7��Xۦ1��iea$!���yz��cJ�֠}�;o]��nzm��o�*�G/������c���(ߝ�H�l�P���a+v�v_�z��Zi�.y�`y��B�ԭ�4�!!��x8�t�{���҇�6w$������AH=��/�p.Su�����PI'�D#��G6�t�
���f�}�����y�[&ԑ�<c1M�����b��n
�7�K�g3��Q�V��؀��{2`�,G����T意
����L��
-endstream
-endobj
-12035 0 obj <<
-/Type /Page
-/Contents 12036 0 R
-/Resources 12034 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11884 0 R
-/Annots [ 11963 0 R 11969 0 R 11970 0 R 11971 0 R 11972 0 R 11973 0 R 11974 0 R 11975 0 R 11976 0 R 11977 0 R 11978 0 R 11979 0 R 11980 0 R 11981 0 R 11982 0 R 11983 0 R 11984 0 R 11985 0 R 11986 0 R 11987 0 R 11988 0 R 11989 0 R 11990 0 R 11991 0 R 11992 0 R 11993 0 R 11994 0 R 11995 0 R 11996 0 R 11997 0 R 11998 0 R 11999 0 R 12000 0 R 12001 0 R 12002 0 R 12003 0 R 12004 0 R 12005 0 R 12006 0 R 12007 0 R 12008 0 R 12009 0 R 12010 0 R 12011 0 R 12012 0 R 12013 0 R 12014 0 R 12015 0 R 12 [...]
->> endobj
-11963 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 708.674 221.606 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.339) >>
->> endobj
-11969 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 684.764 187.046 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.366) >>
->> endobj
-11970 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 672.092 287.867 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.403) >>
->> endobj
-11971 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 648.181 280.116 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.97) >>
->> endobj
-11972 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 636.226 258.537 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.128) >>
->> endobj
-11973 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 624.271 260.191 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.236) >>
->> endobj
-11974 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 602.418 145.791 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (page.310) >>
->> endobj
-11975 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 577.168 221.606 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (page.340) >>
->> endobj
-11976 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 553.257 187.046 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.367) >>
->> endobj
-11977 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 540.585 287.867 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (page.403) >>
->> endobj
-11978 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 516.674 280.116 527.578]
-/Subtype /Link
-/A << /S /GoTo /D (page.96) >>
->> endobj
-11979 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 504.719 258.537 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.128) >>
->> endobj
-11980 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 492.764 260.191 503.668]
-/Subtype /Link
-/A << /S /GoTo /D (page.236) >>
->> endobj
-11981 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 470.911 145.791 479.758]
-/Subtype /Link
-/A << /S /GoTo /D (page.310) >>
->> endobj
-11982 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 445.661 221.606 455.847]
-/Subtype /Link
-/A << /S /GoTo /D (page.339) >>
->> endobj
-11983 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 421.75 187.046 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.364) >>
->> endobj
-11984 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 409.078 287.867 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (page.403) >>
->> endobj
-11985 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 385.168 280.116 396.071]
-/Subtype /Link
-/A << /S /GoTo /D (page.97) >>
->> endobj
-11986 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 373.212 258.537 384.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.128) >>
->> endobj
-11987 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 361.257 260.191 372.161]
-/Subtype /Link
-/A << /S /GoTo /D (page.237) >>
->> endobj
-11988 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 339.404 145.791 348.251]
-/Subtype /Link
-/A << /S /GoTo /D (page.310) >>
->> endobj
-11989 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 314.154 221.606 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (page.341) >>
->> endobj
-11990 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 290.243 187.046 300.43]
-/Subtype /Link
-/A << /S /GoTo /D (page.365) >>
->> endobj
-11991 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 277.571 287.867 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.403) >>
->> endobj
-11992 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 254.378 208.774 264.565]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11993 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 229.75 280.116 240.654]
-/Subtype /Link
-/A << /S /GoTo /D (page.92) >>
->> endobj
-11994 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 217.795 258.537 228.699]
-/Subtype /Link
-/A << /S /GoTo /D (page.123) >>
->> endobj
-11995 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 194.602 145.791 204.789]
-/Subtype /Link
-/A << /S /GoTo /D (page.305) >>
->> endobj
-11996 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.78 194.602 165.716 204.789]
-/Subtype /Link
-/A << /S /GoTo /D (page.306) >>
->> endobj
-11997 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 170.692 187.046 180.878]
-/Subtype /Link
-/A << /S /GoTo /D (page.363) >>
->> endobj
-11998 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.034 170.692 206.971 180.878]
-/Subtype /Link
-/A << /S /GoTo /D (page.364) >>
->> endobj
-11999 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 158.019 287.867 168.923]
-/Subtype /Link
-/A << /S /GoTo /D (page.393) >>
->> endobj
-12000 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.627 134.109 296.564 145.013]
-/Subtype /Link
-/A << /S /GoTo /D (page.211) >>
->> endobj
-12001 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 110.199 285.097 121.103]
-/Subtype /Link
-/A << /S /GoTo /D (page.106) >>
->> endobj
-12002 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 98.244 258.537 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (page.136) >>
->> endobj
-12003 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 86.288 260.191 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (page.247) >>
->> endobj
-12004 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 710.014 362.272 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.318) >>
->> endobj
-12005 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 684.764 438.087 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.347) >>
->> endobj
-12006 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 660.854 403.527 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (page.373) >>
->> endobj
-12007 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 648.181 504.348 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.412) >>
->> endobj
-12008 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 624.271 501.578 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.106) >>
->> endobj
-12009 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 612.316 475.018 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (page.136) >>
->> endobj
-12010 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 600.361 476.672 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (page.247) >>
->> endobj
-12011 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 578.508 362.272 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (page.318) >>
->> endobj
-12012 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 553.257 438.087 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.347) >>
->> endobj
-12013 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 529.347 403.527 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.373) >>
->> endobj
-12014 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 516.674 504.348 527.578]
-/Subtype /Link
-/A << /S /GoTo /D (page.412) >>
->> endobj
-12015 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.935 492.764 447.89 503.668]
-/Subtype /Link
-/A << /S /GoTo /D (page.75) >>
->> endobj
-12016 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 469.571 425.255 479.758]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-12017 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 445.661 425.255 455.847]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-12018 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 421.75 425.255 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-12019 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 397.84 425.255 408.027]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-12020 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 373.93 425.255 384.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-12021 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 350.019 425.255 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-12022 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.748 315.429 494.684 326.333]
-/Subtype /Link
-/A << /S /GoTo /D (page.420) >>
->> endobj
-12023 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 291.519 475.018 302.423]
-/Subtype /Link
-/A << /S /GoTo /D (page.138) >>
->> endobj
-12024 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 257.711 362.272 266.557]
-/Subtype /Link
-/A << /S /GoTo /D (page.285) >>
->> endobj
-12025 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.935 231.743 447.89 242.647]
-/Subtype /Link
-/A << /S /GoTo /D (page.76) >>
->> endobj
-12026 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.935 207.833 447.89 218.737]
-/Subtype /Link
-/A << /S /GoTo /D (page.75) >>
->> endobj
-12027 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 174.024 362.272 182.871]
-/Subtype /Link
-/A << /S /GoTo /D (page.158) >>
->> endobj
-12028 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.613 148.057 506.55 158.961]
-/Subtype /Link
-/A << /S /GoTo /D (page.166) >>
->> endobj
-12029 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 124.864 425.255 135.05]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-12030 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 100.236 496.597 111.14]
-/Subtype /Link
-/A << /S /GoTo /D (page.99) >>
->> endobj
-12031 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 88.281 475.018 99.185]
-/Subtype /Link
-/A << /S /GoTo /D (page.130) >>
->> endobj
-12033 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-12037 0 obj <<
-/D [12035 0 R /XYZ 90 757.935 null]
->> endobj
-12034 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-12105 0 obj <<
-/Length 1217      
-/Filter /FlateDecode
->>
-stream
-x��Zms�8�ί𷃙�#ɖl�[��
���@nr��x
P��~��(����r�:X�B�/`˒�ٕ��]�@�k@��N:���9�C�&��4�@
#�Mf�}w0<����L>i&�u���=0M�6w��η�@��hl閁�iع���h���plm��
-5�?�Ɲ�
���-$�k�5
: 8�:�A��X蹣8X?���K��yl}rr��ٟ�

��n.:�� �LPt�Ŋ�#u��?�8e�{H�������)��q����[�E��@dwb�]�GU����~��ݣl�wƓb|�ZaE��Vc	����8��e\%
��J��{*���
n��j0rG,~h�he�MJ�
G�1,�[xS����F�G�B$��A�S�(�l��l��q�K
�����~�AХ3w�
(kd<��ߢ����zp�g�G|��ʘ���eU�@������l���ϩqn{&�~�
L�ii�8J8������#�
�<X��8�b֤
���"�19�=e��?�4F���2�� {W�p�_Mz�6�}/�]A��$7t��
-�'.j�߰�[(2�,�s�8��Q,��O����lI�i��AbɀZ>��2�-tO6to�K�_�*y��� �
-)�j�%p���뾌����R���x��=I�&*��|Ե
%�
)�*�Du�ϩ(�B?�x�2;P!�҈2�ǵ�
�+Q�+�%S�:��t~�ު��K)/��AD�AP'�i�f�������;>P�o)�r�~D�J��E��X0��`-
GUi��
ZKUt���4���>�D%��Jy/�v��{���V$���n�@'����q��K�~H]x����Β�n ��f��0[š�mZ�]����qe�(s�+�2z;W�D:�c.�<�a�֮�kN�v^ִx��=B��XM�F c ���J�l���I�������z�Q�*Y@�V#J����h��t;<��
����,�I�|�O/�W/�~t���	���c�Q[^K
��7s�p
��uи��o�ڿ+.��K�#�;����z�]�@�הp�������@pG�<.�;##����<�
˰�o�#J}��
O���~V�����F�on���a�M��+/ZzA~�/� ?�e�h�tt$
A�wd
SZ(�k�U�\��~Ӏ��B��
�6_.<q�89>^�V�4ї��`�Ϗ��x�l%�!4u�y�ǘ��D�S��G��>>�����1x��
-endstream
-endobj
-12104 0 obj <<
-/Type /Page
-/Contents 12105 0 R
-/Resources 12103 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11884 0 R
-/Annots [ 12032 0 R 12038 0 R 12039 0 R 12040 0 R 12041 0 R 12042 0 R 12043 0 R 12044 0 R 12045 0 R 12046 0 R 12047 0 R 12048 0 R 12049 0 R 12050 0 R 12051 0 R 12052 0 R 12053 0 R 12054 0 R 12055 0 R 12056 0 R 12057 0 R 12058 0 R 12059 0 R 12060 0 R 12061 0 R 12062 0 R 12063 0 R 12064 0 R 12065 0 R 12066 0 R 12067 0 R 12068 0 R 12069 0 R 12070 0 R 12071 0 R 12072 0 R 12073 0 R 12074 0 R 12075 0 R 12076 0 R 12077 0 R 12078 0 R 12079 0 R 12080 0 R 12081 0 R 12082 0 R 12083 0 R 12084 0 R 12 [...]
->> endobj
-12032 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 719.912 260.191 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (page.240) >>
->> endobj
-12038 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.727 707.957 272.664 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.269) >>
->> endobj
-12039 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 686.104 145.791 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.312) >>
->> endobj
-12040 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 660.854 187.046 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (page.368) >>
->> endobj
-12041 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 648.181 287.867 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.405) >>
->> endobj
-12042 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 614.373 145.791 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (page.286) >>
->> endobj
-12043 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.188 588.405 275.124 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (page.425) >>
->> endobj
-12044 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 554.597 145.791 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.158) >>
->> endobj
-12045 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.627 540.585 296.564 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (page.211) >>
->> endobj
-12046 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [105.611 529.347 117.566 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.77) >>
->> endobj
-12047 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.506 504.719 283.443 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.179) >>
->> endobj
-12048 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 480.809 280.116 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.92) >>
->> endobj
-12049 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 468.854 258.537 479.758]
-/Subtype /Link
-/A << /S /GoTo /D (page.126) >>
->> endobj
-12050 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 456.899 260.191 467.803]
-/Subtype /Link
-/A << /S /GoTo /D (page.230) >>
->> endobj
-12051 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 435.046 145.791 443.892]
-/Subtype /Link
-/A << /S /GoTo /D (page.305) >>
->> endobj
-12052 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 409.795 221.606 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (page.338) >>
->> endobj
-12053 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 385.885 187.046 396.071]
-/Subtype /Link
-/A << /S /GoTo /D (page.363) >>
->> endobj
-12054 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 373.212 287.867 384.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.396) >>
->> endobj
-12055 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.132 349.302 290.068 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (page.167) >>
->> endobj
-12056 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 315.494 145.791 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (page.157) >>
->> endobj
-12057 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.627 301.481 296.564 312.385]
-/Subtype /Link
-/A << /S /GoTo /D (page.211) >>
->> endobj
-12058 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 277.571 285.097 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.110) >>
->> endobj
-12059 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 255.718 145.791 264.565]
-/Subtype /Link
-/A << /S /GoTo /D (page.161) >>
->> endobj
-12060 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.132 241.706 290.068 252.609]
-/Subtype /Link
-/A << /S /GoTo /D (page.168) >>
->> endobj
-12061 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.175 217.795 180.112 228.699]
-/Subtype /Link
-/A << /S /GoTo /D (page.173) >>
->> endobj
-12062 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.506 205.84 283.443 216.744]
-/Subtype /Link
-/A << /S /GoTo /D (page.183) >>
->> endobj
-12063 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.175 181.93 180.112 192.834]
-/Subtype /Link
-/A << /S /GoTo /D (page.186) >>
->> endobj
-12064 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.237 169.975 291.174 180.878]
-/Subtype /Link
-/A << /S /GoTo /D (page.191) >>
->> endobj
-12065 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.823 158.019 281.759 168.923]
-/Subtype /Link
-/A << /S /GoTo /D (page.200) >>
->> endobj
-12066 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.175 134.109 180.112 145.013]
-/Subtype /Link
-/A << /S /GoTo /D (page.207) >>
->> endobj
-12067 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 122.154 260.191 133.058]
-/Subtype /Link
-/A << /S /GoTo /D (page.249) >>
->> endobj
-12068 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 100.301 145.791 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (page.258) >>
->> endobj
-12069 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.656 707.957 396.593 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.263) >>
->> endobj
-12070 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [472.208 696.002 489.145 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (page.270) >>
->> endobj
-12071 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.59 672.092 411.527 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.279) >>
->> endobj
-12072 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 650.239 362.272 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.287) >>
->> endobj
-12073 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 626.328 362.272 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.322) >>
->> endobj
-12074 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 601.078 438.087 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (page.350) >>
->> endobj
-12075 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 577.168 403.527 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (page.375) >>
->> endobj
-12076 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 564.495 504.348 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.414) >>
->> endobj
-12077 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.748 552.54 494.684 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.421) >>
->> endobj
-12078 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 518.667 501.578 529.571]
-/Subtype /Link
-/A << /S /GoTo /D (page.102) >>
->> endobj
-12079 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 506.712 475.018 517.616]
-/Subtype /Link
-/A << /S /GoTo /D (page.134) >>
->> endobj
-12080 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 494.757 476.672 505.661]
-/Subtype /Link
-/A << /S /GoTo /D (page.244) >>
->> endobj
-12081 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 472.904 362.272 481.75]
-/Subtype /Link
-/A << /S /GoTo /D (page.315) >>
->> endobj
-12082 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 447.653 438.087 457.84]
-/Subtype /Link
-/A << /S /GoTo /D (page.346) >>
->> endobj
-12083 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 423.743 403.527 433.93]
-/Subtype /Link
-/A << /S /GoTo /D (page.372) >>
->> endobj
-12084 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 411.07 504.348 421.974]
-/Subtype /Link
-/A << /S /GoTo /D (page.409) >>
->> endobj
-12085 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 377.262 362.272 386.109]
-/Subtype /Link
-/A << /S /GoTo /D (page.155) >>
->> endobj
-12086 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.109 363.25 513.045 374.154]
-/Subtype /Link
-/A << /S /GoTo /D (page.210) >>
->> endobj
-12087 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 329.442 362.272 338.288]
-/Subtype /Link
-/A << /S /GoTo /D (page.156) >>
->> endobj
-12088 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.988 303.474 499.924 314.378]
-/Subtype /Link
-/A << /S /GoTo /D (page.179) >>
->> endobj
-12089 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.304 291.519 498.241 302.423]
-/Subtype /Link
-/A << /S /GoTo /D (page.198) >>
->> endobj
-12090 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 269.666 362.272 278.512]
-/Subtype /Link
-/A << /S /GoTo /D (page.256) >>
->> endobj
-12091 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 234.453 425.255 244.639]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-12092 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 209.825 496.597 220.729]
-/Subtype /Link
-/A << /S /GoTo /D (page.97) >>
->> endobj
-12093 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 197.87 475.018 208.774]
-/Subtype /Link
-/A << /S /GoTo /D (page.129) >>
->> endobj
-12094 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 185.915 476.672 196.819]
-/Subtype /Link
-/A << /S /GoTo /D (page.238) >>
->> endobj
-12095 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 164.062 362.272 172.908]
-/Subtype /Link
-/A << /S /GoTo /D (page.311) >>
->> endobj
-12096 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 138.811 438.087 148.998]
-/Subtype /Link
-/A << /S /GoTo /D (page.341) >>
->> endobj
-12097 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [441.076 138.811 458.013 148.998]
-/Subtype /Link
-/A << /S /GoTo /D (page.342) >>
->> endobj
-12098 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 114.901 403.527 125.088]
-/Subtype /Link
-/A << /S /GoTo /D (page.367) >>
->> endobj
-12099 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [406.516 114.901 423.452 125.088]
-/Subtype /Link
-/A << /S /GoTo /D (page.368) >>
->> endobj
-12100 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 102.229 504.348 113.133]
-/Subtype /Link
-/A << /S /GoTo /D (page.404) >>
->> endobj
-12102 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-12106 0 obj <<
-/D [12104 0 R /XYZ 90 757.935 null]
->> endobj
-12103 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-12157 0 obj <<
-/Length 984       
-/Filter /FlateDecode
->>
-stream
-x��Y[s�6~�W��L#$ےq� 
�`lh�tG�!���
-S6���/�@.����3}`,������
tC`
-hUn�J�����U(p&�@@�g

���h>�_�O at C5��%/4��͕�S�Z���|Mt�����/�E�'��j��:�5����
ؕ�
-�eB��DY!@WT�(IQ{��?<0?�<>�1�ܑ�kB$e���~�
��$Z�ާH�
-���0��
���ٷ���ou8
-Y/��Z,<Ξ�U0f�r�O��9ȘH.����^��1wY��.���m0��]�q2�@-~˱�U��"
��?�����Q�N�����HO�
��5��೗���f/���(�{����
E!�QDՔ���^(+DZ{|��i
-:*��+�s?���?^)�}� ,*�?a^���
E���O'���Jp���(����m��C��N�
�ϯ���ĔI
�א5�C�G�/kH�N;e�o�_�nP[�2|m9e���;v�h��2���� ;9�^����(
z�9Sz�շ�e��)%�:M��
�P�RR\xQ��7�{ݶ��B
逪�ߩu��y��%��bzױd�H���x8#��e�A��þ��IN,�iu�
�5��zo^`l���}N���:Y��[�^	�2�X,x}�i��Ѫx�D�]�Kf{�	�%vr�Ҭκms`��j�l;���'Sgf
�7���wl�߽��v�sq�
[-5���^�&��qor\T�B�J� ww���u񍦪k����/sP5`��}
-��~0}u��#�B�����;)�E��-#.4:.��
w��/s���+��;ZK���檀BCWk٥1 !Z��y��~�FV���V3���`��_dB�eZ��ʝ��?AǦD\�a�6"�T�+
�+U$��y���g�M�s|�Bv��U�l�R��hq]���k8Z�U�/8��b1���w�5�ԷF&!O��C����q�F�3�3$��?Em�
-endstream
-endobj
-12156 0 obj <<
-/Type /Page
-/Contents 12157 0 R
-/Resources 12155 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11884 0 R
-/Annots [ 12101 0 R 12107 0 R 12108 0 R 12109 0 R 12110 0 R 12111 0 R 12112 0 R 12113 0 R 12114 0 R 12115 0 R 12116 0 R 12117 0 R 12118 0 R 12119 0 R 12120 0 R 12121 0 R 12122 0 R 12123 0 R 12124 0 R 12125 0 R 12126 0 R 12127 0 R 12128 0 R 12129 0 R 12130 0 R 12131 0 R 12132 0 R 12133 0 R 12134 0 R 12135 0 R 12136 0 R 12137 0 R 12138 0 R 12139 0 R 12140 0 R 12141 0 R 12142 0 R 12143 0 R 12144 0 R 12145 0 R 12146 0 R 12147 0 R 12148 0 R 12149 0 R 12150 0 R 12151 0 R 12152 0 R 12153 0 R 12 [...]
->> endobj
-12101 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 720.63 208.774 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-12107 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 696.719 208.774 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-12108 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 672.092 280.116 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.98) >>
->> endobj
-12109 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 660.136 258.537 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (page.130) >>
->> endobj
-12110 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 648.181 260.191 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.239) >>
->> endobj
-12111 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 626.328 145.791 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.311) >>
->> endobj
-12112 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 601.078 221.606 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (page.342) >>
->> endobj
-12113 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.266 588.405 278.203 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (page.420) >>
->> endobj
-12114 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 564.495 280.116 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.98) >>
->> endobj
-12115 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 552.54 260.191 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.239) >>
->> endobj
-12116 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 528.63 280.116 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.99) >>
->> endobj
-12117 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 516.674 258.537 527.578]
-/Subtype /Link
-/A << /S /GoTo /D (page.130) >>
->> endobj
-12118 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 504.719 260.191 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.240) >>
->> endobj
-12119 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 482.866 145.791 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.312) >>
->> endobj
-12120 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 457.616 221.606 467.803]
-/Subtype /Link
-/A << /S /GoTo /D (page.342) >>
->> endobj
-12121 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.266 444.943 278.203 455.847]
-/Subtype /Link
-/A << /S /GoTo /D (page.420) >>
->> endobj
-12122 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 411.788 208.774 421.974]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-12123 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 387.877 208.774 398.064]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-12124 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 363.967 208.774 374.154]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-12125 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 340.057 208.774 350.243]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-12126 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 316.146 208.774 326.333]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-12127 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 292.236 208.774 302.423]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-12128 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 268.326 208.774 278.512]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-12129 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 244.415 208.774 254.602]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-12130 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 220.505 208.774 230.692]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-12131 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 196.595 208.774 206.781]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-12132 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 172.684 208.774 182.871]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-12133 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 148.774 208.774 158.961]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-12134 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 124.864 208.774 135.05]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-12135 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 100.953 208.774 111.14]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-12136 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 720.63 425.255 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-12137 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 696.719 425.255 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-12138 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 672.809 425.255 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-12139 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 648.899 425.255 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-12140 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 624.988 425.255 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-12141 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 601.078 425.255 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-12142 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 577.168 425.255 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-12143 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.669 552.54 491.606 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.425) >>
->> endobj
-12144 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.258 528.63 513.194 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.427) >>
->> endobj
-12145 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 505.437 425.255 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-12146 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 481.526 425.255 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-12147 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 457.616 425.255 467.803]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-12148 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 433.706 425.255 443.892]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-12149 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 387.877 403.527 398.064]
-/Subtype /Link
-/A << /S /GoTo /D (page.374) >>
->> endobj
-12150 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [406.516 387.877 423.452 398.064]
-/Subtype /Link
-/A << /S /GoTo /D (page.375) >>
->> endobj
-12151 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 363.25 476.672 374.154]
-/Subtype /Link
-/A << /S /GoTo /D (page.244) >>
->> endobj
-12152 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 340.057 438.087 350.243]
-/Subtype /Link
-/A << /S /GoTo /D (page.346) >>
->> endobj
-12153 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.248 315.429 508.203 326.333]
-/Subtype /Link
-/A << /S /GoTo /D (page.77) >>
->> endobj
-12154 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 56.166 391.275 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-12158 0 obj <<
-/D [12156 0 R /XYZ 90 757.935 null]
->> endobj
-12155 0 obj <<
-/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-12159 0 obj
-[511.1 460 421.7 408.9]
-endobj
-12160 0 obj
-[642.5 589 600.7 607.7 725.7 445.6 511.6 660.9 401.6 1093.7 769.7 612.5 642.5 570.7 579.9 584.5 476.8 737.3]
-endobj
-12161 0 obj
-[722.2]
-endobj
-12162 0 obj
-[525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525]
-endobj
-12163 0 obj
-[611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 351.8 351.8 351.8 935.2 578.7 578.7 935.2 896.3 850.9 870.4 915.7 818.5 786.1 941.7 896.3 442.6 624.1 928.7 753.7 1090.7 896.3 935.2 818.5 935.2 883.3 675.9 870.4 896.3 896.3 1220.4 896.3 896.3 740.7 351.8 611.1 351.8 611.1 351.8 351.8 611.1 675.9 546.3 675.9 546.3 384.3 611.1 675.9 351.8 384.3 643.5 351.8 1000 675.9 611.1 675.9 643.5 481.5 488 481.5 675.9 643.5 870.4 643.5]
-endobj
-12164 0 obj
-[571 571 856.5 856.5 285.5 314 513.9 513.9 513.9 513.9 513.9 770.7 456.8 513.9 742.3 799.4 513.9 927.8 1042 799.4 285.5 285.5 513.9 856.5 513.9 856.5 799.4 285.5 399.7 399.7 513.9 799.4 285.5 342.6 285.5 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 285.5 799.4 485.3 485.3 799.4 770.7 727.9 742.3 785 699.4 670.8 806.5 770.7 371 528.1 799.2 642.3 942 770.7 799.4 699.4 799.4 756.5 571 742.3 770.7 770.7 1056.2 770.7 770.7 628.1 285.5 513.9 285.5 513.9 285.5 2 [...]
-endobj
-12165 0 obj
-[513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 799.4 513.9 799.4 513.9 543.7 770.7 777.7 733.6 847.5 756.3 656.2 804.8 850.1 449.3 566.3 870.4 699.4 992.9 821.6 782.1 656.2 810.6 777.6 627.8 599.6 699.1 599.4 970.5 849 596.5 699.2 399.7 399.7 399.7 1027.8 1027.8 424.4 544.5 440.4 444.9 532.5 477.8 498.8 490.1 592.2 351.7 420.1 535.1 306.7 905.5 620]
-endobj
-12166 0 obj
-[799.4 285.5 799.4 513.9 799.4 513.9 799.4 799.4 799.4 799.4 799.4 799.4 799.4 1027.8 513.9 513.9 799.4 799.4 799.4 799.4 799.4]
-endobj
-12167 0 obj
-[761.6 489.6 761.6]
-endobj
-12168 0 obj
-[826.4 531.3 826.4]
-endobj
-12170 0 obj
-[556 556 167 333 611 278 333 333 0 333 606 0 611 389 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 278 250 389 555 500 500 833 778 333 333 333 500 570 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 570 570 570 500 832 667 667 667 722 667 667 722 778 389 500 667 611 889 722 722 611 722 667 556 611 722 667 889 667 611 611 333 278 333 570 500 333 500 500 444 500 444 333 500 556 278 278 500 278 778 556 500 500 500 389 389 278 556 444 667 500 444 389]
-endobj
-12171 0 obj
-[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600]
-endobj
-12172 0 obj
-[686.6]
-endobj
-12173 0 obj
-[1083.3 458.3 1083.3 736.1 1083.3 736.1 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1361.1 736.1 736.1 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1361.1 1361.1 1083.3 1083.3 1361.1 1361.1 736.1 736.1 1361.1 1361.1 1361.1 1083.3 1361.1 1361.1 875 875 1361.1 1361.1 1361.1 1083.3 441 1361.1 944.5 944.5 1222.2 1222.2 0 0 805.6 805.6 944.5 736.1 1013.9 1013.9 1083.3 1083.3 875 1113.5 919.3 782.1 1083.9 770.8 988.2 850.4 1194.5 819.5 958.3 1055 964 [...]
-endobj
-12174 0 obj
-[722.2 888.9 611.1 1000 1000 1000 1000 833.3 833.3 416.7 416.7 416.7 416.7 1111.1]
-endobj
-12175 0 obj
-[1109.9 1007 867.4 1064 1110.4 626.7 772.9 1138.9 955.6 1284 1075.7 1047.5 875.4 1082.2 1030 856.3 832.3 943.9 827.8 1279.2 1112.9 824.3 943.1 597.2 597.2 597.2 1361.1 1361.1 597.2 774.4 633.3 649.4 739.7 677 684 700.6 827.6 533.6 588.2 758.1 480.3 1228 880.8]
-endobj
-12176 0 obj
-[458.3 458.3 416.7 416.7 472.2 472.2 472.2 472.2 583.3 583.3 472.2 472.2 333.3 555.6 577.8 577.8 597.2 597.2 736.1 736.1 527.8 527.8 583.3 583.3 583.3 583.3 750 750 750 750 1044.4 1044.4 791.7 791.7 583.3 583.3 638.9 638.9 638.9 638.9 805.6 805.6 805.6 805.6 1277.8 1277.8 811.1 811.1 875 875 666.7 666.7 666.7 666.7 666.7 666.7 888.9 888.9 888.9 888.9 888.9 888.9 888.9 666.7 875 875 875 875 611.1 611.1 833.3 1111.1 472.2 555.6 1111.1 1511.1 1111.1 1511.1 1111.1 1511.1 1055.6 944.5 472.2 8 [...]
-endobj
-12177 0 obj
-[575 575]
-endobj
-12178 0 obj
-[892.9 339.3 892.9 585.3 892.9 585.3 892.9 892.9 892.9 892.9 892.9 892.9 892.9 1138.9 585.3 585.3 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 1138.9 1138.9 892.9 892.9 1138.9 1138.9 585.3 585.3 1138.9 1138.9 1138.9 892.9 1138.9 1138.9 708.3 708.3 1138.9 1138.9 1138.9 892.9 329.4 1138.9 769.8 769.8 1015.9 1015.9 0 0 646.8 646.8 769.8 585.3 831.4 831.4 892.9 892.9 708.3 917.6 753.4 620.2 889.5 616.1 818.4 688.5 978.7 646.5 782.2 871.7 791.7 1342.7 935.6 905.8 80 [...]
-endobj
-12179 0 obj
-[632.9 520.8 513.4 609.7 553.6 568.1 544.9 667.6 404.8 470.8 603.7 348.1 1032.4 713 584.7 600.9 542.1 528.7 531.3 415.3 681 566.7 831.5 659]
-endobj
-12180 0 obj
-[1027.8 402.8 472.2 402.8 680.6 680.6 680.6 680.6 680.6 680.6 680.6 680.6 680.6 680.6 680.6 402.8 402.8 1027.8 1027.8 1027.8 645.8 1027.8 980.6 934.7 958.3 1004.2 900 865.3 1033.4 980.6 494.5 691.7 1015.3 830.6 1188.9 980.6 1027.8 900]
-endobj
-12181 0 obj
-[446.4 446.4 569.5 877 323.4 384.9 323.4 569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 323.4 323.4 323.4 877 538.7 538.7 877 843.3 798.6 815.5 860.1 767.9 737.1 883.9 843.3 412.7 583.3 874 706.4 1027.8 843.3 877 767.9 877 829.4 631 815.5 843.3 843.3 1150.8 843.3 843.3 692.5 323.4 569.5 323.4 569.5 323.4 323.4 569.5 631 507.9 631 507.9 354.2 569.5 631 323.4 354.2 600.2 323.4 938.5 631 569.5 631 600.2 446.4 452.6 446.4 631 600.2 815.5 600.2]
-endobj
-12182 0 obj
-[833.3 777.8 694.4 666.7 750 722.2 777.8 722.2 777.8 722.2 583.3 555.6 555.6 833.3 833.3 277.8 305.6 500 500 500 500 500 750 444.4 500 722.2 777.8 500 902.8 1013.9 777.8 277.8 277.8 500 833.3 500 833.3 777.8 277.8 388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 277.8 777.8 472.2 472.2 777.8 750 708.3 722.2 763.9 680.6 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.6 777.8 736.1 555.6 722.2 750 750 1027.8 750 750 611.1 277.8 500 2 [...]
-endobj
-12183 0 obj
-[592.7 662 526.8 632.9 686.9 713.8 756 719.7 539.7 689.9 950 592.7 439.2 751.4 1138.9 1138.9 1138.9 1138.9 339.3 339.3 585.3 585.3 585.3 585.3 585.3 585.3 585.3 585.3 585.3 585.3 585.3 585.3 339.3 339.3 892.9 585.3 892.9 585.3 610.1 859.1 863.2 819.4 934.1 838.7 724.5 889.4 935.6 506.3 632 959.9 783.7 1089.4 904.9 868.9 727.3 899.7 860.6 701.5 674.8 778.2 674.6 1074.4 936.9 671.5 778.4 462.3 462.3 462.3 1138.9 1138.9 478.2 619.7 502.4 510.5 594.7 542 557.1 557.3 668.8 404.2 472.7 607.3 3 [...]
-endobj
-12184 0 obj
-[777.8 555.6 722.2 666.7 722.2 722.2 666.7 611.1 777.8 777.8 388.9 500 777.8 666.7 944.5 722.2 777.8 611.1 777.8 722.2 555.6 666.7 722.2 722.2 1000 722.2 722.2 666.7]
-endobj
-12185 0 obj
-[500 500 167 333 556 278 333 333 0 333 675 0 556 389 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 214 250 333 420 500 500 833 778 333 333 333 500 675 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 675 675 675 500 920 611 611 667 722 611 611 722 722 333 444 667 556 833 667 722 611 722 611 500 556 722 611 833 611 556 556 389 278 389 422 500 333 500 500 444 500 444 278 500 500 278 278 444 278 722 500 500 500 500 389 389 278 500 444 667 444 444 389 400 275 400 541 0 0 0 333 500 556 8 [...]
-endobj
-12186 0 obj
-[517.7 444.4 405.9 437.5 496.5 469.4 353.9 576.2 583.3 602.6 494 437.5 570 517 571.4 437.2 540.3 595.8 625.7 651.4 622.5 466.3 591.4 828.1 517 362.8 654.2 1000 1000 1000 1000 277.8 277.8 500 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 500 777.8 500 530.9 750 758.5 714.7 827.9 738.2 643.1 786.3 831.3 439.6 554.5 849.3 680.6 970.1 803.5 762.8 642 790.6 759.3 613.2 584.4 682.8 583.3 944.4 828.5 580.6 682.6 388.9 388.9 388.9 1000 1000 416.7 528.6 429.2 432.8 520.5 465.6 489 [...]
-endobj
-12187 0 obj
-[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600]
-endobj
-12188 0 obj
-[556 556 167 333 667 278 333 333 0 333 570 0 667 444 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 278 250 333 555 500 500 1000 833 333 333 333 500 570 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 570 570 570 500 930 722 667 722 722 667 611 778 778 389 500 778 667 944 722 778 611 778 722 556 667 722 722 1000 722 722 667 333 278 333 581 500 333 500 556 444 556 444 333 500 556 278 333 556 278 833 556 500 556 556 444 389 333 556 500 722 500 500 444 394 220 394 520 0 0 0 333 500 500 [...]
-endobj
-12189 0 obj
-[638.9 963 638.9 963 963 963 963 963 963 963 1222.2 638.9 638.9 963 963 963 963 963 963 963 963 963 963 963 963 1222.2 1222.2 963 963 1222.2 1222.2 638.9 638.9 1222.2 1222.2 1222.2 963 1222.2 1222.2 768.5 768.5 1222.2 1222.2 1222.2 963 365.7 1222.2 833.3 833.3 1092.6 1092.6 0 0 703.7 703.7 833.3 638.9 898.1 898.1 963 963 768.5 989.9 813.3 678.4 961.2 671.3 879.9 746.7 1059.3 709.3 846.3 938.8 854.5 1427.2 1005.7 973 878.4 1008.3 1061.4 762 711.3 774.4 785.2 1222.7 883.7 823.9 884 833.3 8 [...]
-endobj
-12190 0 obj
-[472.2 472.2 472.2]
-endobj
-12191 0 obj
-[777.8 277.8 777.8 500 777.8 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 500 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 1000 777.8 777.8 1000 1000 500 500 1000 1000 1000 777.8 1000 1000 611.1 611.1 1000 1000 1000 777.8 275 1000 666.7 666.7 888.9 888.9 0 0 555.6 555.6 666.7 500 722.2 722.2 777.8 777.8 611.1 798.5 656.8 526.5 771.4 527.8 718.7 594.9 844.5 544.5 677.8 761.9 689.7 1200.9 820.5 796.1 695.6 816.7 847.5 605.6 544.6 625.8 612.8 987.8  [...]
-endobj
-12192 0 obj
-[556 556 167 333 611 278 333 333 0 333 564 0 611 444 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 180 250 333 408 500 500 833 778 333 333 333 500 564 250 333 250 278 500 500 500 500 500 500 500 500 500 500 278 278 564 564 564 444 921 722 667 667 722 611 556 722 722 333 389 722 611 889 722 722 556 722 667 556 611 722 722 944 722 722 611 333 278 333 469 500 333 444 500 444 500 444 333 500 500 278 278 500 278 778 500 500 500 500 333 389 278 500 500 722 500 500 444 480 200 480 541 0 0 0 333 500 444 1 [...]
-endobj
-12193 0 obj <<
-/Length1 761
-/Length2 1188
-/Length3 0
-/Length 1725      
-/Filter /FlateDecode
->>
-stream
-xڭ�iTS��A�#��<�
0B	�	���BMD@mHn��$7$!!
QA�29Q\LVA|
��
�	EEE[���PY]O��uχ����������ރ��ALD$Ó$`��$" �D:�Ɔ!�82yrd
���̀	��tќ�4"c�X)��#d �ش(r
BHs9"���" !ڃ� ?�
C2%x�w��BRH"�x
�x0W pX�qXd����.͋�/�!���%�M ��!"�� >Ɓ��� �����asf�@���/9�Q�#��?�P
%�$��� ��C�.�


|4�K��\Q� �w)Xʄ�!�,�F >G ����!j���6O���|���ӥ������.��b��1���D�^*D�����mq
,
-��(�#�p������%X�;D�
=PK��`/�L�ZL��?1�YJ|�[t:
�wDQ��9$
-Pɔ��Qr�$H$[z4�;�c>�z	A���>�u9��tUR�jkAo���6=�:�]��S�"�?S[P��U�����ْ���!ݡOsң�q;��c#3���ɿ
ʍ����e)_��f���Suwj�I{{��΢Ao���e8����J���Vc�����!�s 3W�3�p�������Ȣr���Y:OzU��
n��#�Q�f

�;>�W�
W/5U����F�F-��k+��T��$��W�yUE׻YW,�/w?��c2�5�!47+��j<���X�v�9	�[Z�ܫ��\����9=��kP��@����m�
�-�����ve.�z�I®-�q{�7��kg��~Mi�,�L���V��n
}��8A�
-yq#<��_�R����_�Ҳ(��)��
�V�������MRq�ֵ<Ƈ���~�y�87��F-B��a�4�1���4ǣG2�)Ky��@�f�
K~z�u���U;r��I?�
�-["�Z���uL!_Ǽ�;y{�Rj~������?���������z�ny��a�~V���Ҏ,�����?��@��bw�REλ�>s��)ƿ�c�{ܲ��{TH�-�t7�~�gד�@Ř&�y�8��K{�֩�
���/'�za{Vçf�]#�Y�XϷ�3:+M����
-��Hz5�$�E��JQVjwgu�b��?N�^c;�<�'�6{Άa��M%��M-D<l3��V���V3j�v�J��ԭ�#���k��{f#g[kt�s��+�I��u׍uM�o>��e]�����\hx����Ws�o|2B�p�s�;-�<_�V�sO�yEk�W?�m�U���ƍ����l�L��_�CZ�q��!���7[���2�>;
�����}:��_�|c���)16�s~�QS���]��_���bm�VC��<�
�g��
$RPL��O���7���
-1�b��Ğ��:�q���W�ł�Fu7k��賩j�u�
]�_삂��M|��i�K�6L�j��U9U/��n������Ṻ��k����9���O�n���"��hĹ䃼UW�6��!7
�6�D_��fj{7��F9)Ҥ1-8�dU�j�2Uɤ��U��1kè��ν�����0)bw���#]��e�U�����w[��2��z�8�n��9�#�]3?r����G��(���4����Io�m��7�I�2�ܩ�.��a�~ؼVj�-`�Y�9ի�o;�U�I_
�V�6x��71��_��C�
-endstream
-endobj
-12194 0 obj <<
-/Type /FontDescriptor
-/FontName /LDBHLR+CMBX10
-/Flags 4
-/FontBBox [-301 -250 1164 946]
-/Ascent 694
-/CapHeight 686
-/Descent -194
-/ItalicAngle 0
-/StemV 114
-/XHeight 444
-/CharSet (/one/zero)
-/FontFile 12193 0 R
->> endobj
-12195 0 obj <<
-/Length1 1440
-/Length2 5130
-/Length3 0
-/Length 5893      
-/Filter /FlateDecode
->>
-stream
-xڭ�e\����AR
]�AI钆��`�`l
PB:�Ai��F����RJ��A��C�o����:�s��ݹ��~1M
n��%D���� ����
�|  
�cg�
-���@A�@11~���=�_ ���%`<vtrw�Y۠ �9~%� d
 �0+
8@�eq��aea�q��AP�< {{���
H�6	qFC�<@  
�B,!�08�/%e8� �0���?
qF^I�Yr �
��p{w %��p�j�R��������������?��f���
G'����8��N5��KN
��8�M�Q�0+��=���
� s��5a(+ ��
	�
���K\M�������*׿��o�i��tݝ�[�W��5���|�an c�����>����f�p+G0
n
�X8;[�\�����9 ��!n �ە1/�u�p5O �љ����Z:[XA�Ү�����_A{%
��/�
�CD��k;�� ��ƅ�Wr���� |
���I�
~�?��&� ����?�5�?��a&r�\S��;Z�:�p0�t��p�G��9Y8C���Z�����up��z�k�KP�Z���D�
�����?Z
�A�������b����WVH�߯��g"�w
^����� ��~up�G��g�W�}�~u琰�w����'+�����_��/vuҀ�B� ~�?2�\���Q�_nW���®�^]��Ę��C����|/�̡
NLY��(���#���Dc���"8�+
O
-�n�,�,�w=��
m���W�郈J�XF�/'=��k������x�F�X�yo]�ɧ��q���[�k��r�+x�0Z��U����"�
-I�zA�
�d	��`��)W���A?/� �:��m�&��L���
��������!F��e)�

�4�#3�.nȣ��i�<؛>��Tn��.?(�p�;BUz%!�aTk
�z�W�ַh��|�ٻs�aAM��!��
�xEI�
��⧗x�w	n�
-T�36{[�����B6����8�'���QT�l ���^m���
Rø
-I����<h%n�txcu��Z�~��>)R���uWɇ= kۄ�rsr�o��=b2m]e�g�Y	�E�O�᭕_j�
0
Z��152����r�e��)3dLS&��C�� 
-V�������̂���q���Ŵ���+R(�+5ݤ��
����Q���TRb��X�

�)Q�~kj�R�4	��N� ��2AI���ph�i�܏��f�d�3;�Zѳ4��0�7���N�)SKE����q�N�f���ޝ��L>B[*��v��r�Y(�ݒ�� �U�O�YJ:d�T&A9>q����)�6�Mm�@��Up�i.��xC���f��3ż��7�ԭE�LU3b��3i*�XA67����Jni{��{�#?O�O�@3�X�aR�	��b��M�z�0�^
�p���`�e}3z�]P,~�
>`MM>��T2�kE�S��1rٟ0����#V��pk7Ë�,ɥ��(�i�����]
/��jj����
a�*�g�W�<��,3��VUm^@�6����6��
-�0�
}F|^�
Q���Z����
y���v��M�zeՀ+�OKz�H����k,͗���-MO-H��2u���t�:>#��n��s��~KHf��PB��Ab����Y�����ҁ��
U��X3��:7e�F�/� �KQ����>d�D��
�Ño�J� �}f��O}B�LwRVs
� ���ï�K1:|�L�O�Ph��oK���X��dV*��|���N at yK��I�Ui#�V�x�ޟ#ɚ��S�2�53����4B�(J��!��m�i��{�d./	[����,��kfZ
�3���I�!l�>�e*�	�2�
*8�m���@���?ĺG�����V�=�d�}a��p6ˀ�Jc��	�
� ��qntD&G9i����6�
a��������1����9-����{��0��_���A�L��i�g����YƁ�)Z��]%�3"L��1�i|3����/��z�%
���+�����<��}�RP)6A})0��6#-kfv�\Yͣjݦ�n�6�����<N
"#�D�
��ȝ
��_�b
;���G
-���/���
-]� Vf7�Um���'$̖�ry)c�Tr
�^YjT]���D*�B��U~�K�!��d��b�b�c�_��Y��#���Мȼ@��
�~([��Pҝh�'�U�ZV�.J�oÉ@�H��yЭ��}�LQ&�$ָ�Tq�@ۚ��w
�C[�}�E`����e
�0Y�*.N�6�*�_��2�,2��i�)�{<�
���w��nv��� �)A�	�7
rF�o�(��C�2�H	χ��
t�ѻ�+0{����y��=����[��CbZ�\��Hm�[�TFM���܏��*\��N&��D ���N�zVO��D���
-�ha�B���n��>���Y�s!������$�x����m��l�^�M��j���sC"��it��[f�\��곹�f����)��`

���
"{�r�,������6�h(���+�ep�ڱ��>4�
-�.
i�D�Z �$�U�h�Ĕ��Mur6���v����V0�p���.\�x�������ё�BF�9k9<��*eUAzޛ/f�"q%b�E{>�ל�)f�������p�/U����^t�9�@��"�<��9�
����hf��g�u��X\�zJ�w�����ۑk �gc}ahS/��d�ׯػ��Ϻ^��
'"=�0x���cY��|�U� 
�� �F��r�ϣ��5
���|�6i��2`����x1�o�:be;b/�m�LS�تsV5����a旷s|��4��scK�D}U�%��
b���N�}Vt���O912
GĘ��3�D�ICD��ie:w��ag�Ɠ��2p�
w��2n��O�ϒ&Z���LY���{h)ـ+��.p$
ɂ5�\sq
I�0�Z�X[�����8��
�np���ꗗJt���r�����
��Y��'��soɲ�
�h����"�G�3j�6��ao�=��yXU���ٞ0��59)��pQ2�[o��e�&E��_��	�>ɝ�H��
c]���<-'ծ�R�)Q<��Е>�|�y��r=P*��7���
>}��-k;f�<Y�k]]CbZ>r
qvA$�σ�6���d���� �2h[z�D �yQ at 8UF֣%#;cN���ygF��!���@1ȉ�V�N��r��W����
���A
�Q?
�O�wZp�D�
�XVwrTeyn>(��tY��V$.1Ď|�4`S��T،-�%��K/Ӆ�LsHO�^�"16���+R��h���6��j�w��X��ZPw�OUf��xr���k� �SO�	��}�'a0+���d����}
3슧���x�,�
<�aM9�=K�T���og4R�<k�o
������MDX�(�Y�) �^�g���$s��32E�t��&9v��RO�ϖ���J��ۍ��'��sً�"L*��G8���u�㏽'�R�hB	)	��ܸi�G���e�~�g-�f�Էz�_�.�����[�%�޴¦8JM6�^%�,
����k
�wp�;�M-[Lm9~Ěp©��t�O���כn�Rdc�p�*�e:G�
-x��ޝ�"O�f{S	g�F���O�
J��r��,�
��1�������b�|N3��V��-o,��	3���}R�{�Ū�գcB�kG�Ҵ�x�x�9c�G���Z���(����b����W������
�{}o1yV�\��̘�K�~��(D_n#�,���F1]p��9�$���L���p�Ȼ�_3�(N��֎�$��#p��:Uϩ����H
[q�[Om��?��
<���:���A�N�~���Ugl_P�����t
��u�	�P5����A�0��"l$�d�G%�w}��M̈́sZ!�Q���|(�P���h�oy��z|"I���C�q��ڬi> nU�� ����O����(��� ���*���s���aֶ���'��j�)I�P�S"	�$0��g|:'�����Y�ϥ������T�u���R��.�b��-�
⚼L4�)�
�lO?'�R��ٻyC��{
��y��kv�3g��
-gy�T��G��M�"�%^,�NL���a�@�Dr:}<v���kh�wx
w"�ߨ�������+��Dj�ݨ
&^����T��d���4��
?�2
�>k� 9�h��`6��K�3���0��R���"�
�z/���
���Ja2��c�I@˓���υC��È�4��M�X��F��?��
-ry�
^b�L�P*H|�'Q
J
��ω����XG_Eq̊Fͧ�ֽ,0�]����4.�z��)G�A0��f�*}�z�.�nȄ2�>åiw�����~N�e~o$�Z[���c��7�J
Ί9�`��w��_���i:B��Խ_'k_?�q
���欄��
-��o_i7������ֺ
=6����Ôi�@T�-�
f�@[�
/��=TA�
E��V>,�DCn�zU��41��o_����e��vnz�0���c0�1���eH��!#�,;'�s����7Z}3oA��aϦ��X
�D����t��m�tU�H�Խ��lJ7�*g�+�
Yd�u�#��B���<���#(��y���F��q��~x�e�$b�s��%��
Ps��P�4Ӿ���
-�/�I�9j���U�_�`��Q"N�r0uQ�4���yM~�V\�
k�f�B	�n$�=�FvB���U����Q�c�b5]r
^;���F�!V4���N���"��M5v�z,��N��:�1A�4��2�3�Lj>�$����/�0L�R_
���Ʋ	(~aM\�6��a�%u��#�-�4;%��[�t��3��Ex4y����|��ՅC�X���V$�����f�H=����ѭ�ew�������~ǎd)b�B����lX�p�'�{�w�F�
`w��ēH�aIo��eɠ��ѭ�Q���� �x��Մi�1ݷ&��Q�`=��� �*�>d���v
�%%^�GJ�1���tC�mI
j�L.osݚ�&�v���ɏ�Ȝ��dJ�/�+�6��Q�R�}�\�,JY�)N3ep�'���Y�'��;���P�IT}\D�g"�wJ���P�����S�WC�rRdT[�\� 5���
�gs�(�c���� ;�W�YH:t.��pV8�b{��ΎI=�Ѳx�����y����$�-���B�%tt�9\X���-9�Щz,:R�F��[Ռ��\ל���+�r\�睪WL�T�9���<�������
-�M���L�pe����f�\�K=:U�!�Y�V����Kհ+_�F��@�K���e?Q(�
weM�#7�vJ��W� ��K��Q�G��_����O��Ii���տ�����e6-��|�
���DZ{�g
���V�����p�
-�
�b)�
ᬼ���X�Y� 
����2����J /��ݤ1�`��&ѷ�-Wq�K"�O.���1�`�����z���m#3S}Q��1m��X(}'2r�a5P}(�
R�:�\6�+j��NqZ�Q<���� 
y0Kv>�A�_-�(��3���(
3C���[tQ*B	��z��گE�m��B�[t��/%zg|�%���qR5X7f��
~L7�D�9��<PqX �h�1C��
���/
��7Ġ��2
S�L˱29d�T"/Km3��9b�,� E;�����<<��=�Rs��'
E��$l�y�#�G�8nny���'�H�D�ft�����'4>12���Ir�f(�B�8W�G`7��Jgtm披o�݉�����h�OG
�9/Y�oD���	����s6�o˖�I�y[��牢�`tP��r�'/ԉb*!��B��~�
-�~ &�8�H�L�L׾�75.�X�#���
-endstream
-endobj
-12196 0 obj <<
-/Type /FontDescriptor
-/FontName /XBGHAK+CMEX10
-/Flags 4
-/FontBBox [-24 -2960 1454 772]
-/Ascent 40
-/CapHeight 0
-/Descent -600
-/ItalicAngle 0
-/StemV 47
-/XHeight 431
-/CharSet (/braceex/braceleftBig/braceleftBigg/braceleftbig/braceleftbt/braceleftmid/bracelefttp/bracerightBig/bracerightBigg/bracerightbig/bracerightbt/bracerightmid/bracerighttp/logicalanddisplay/parenleftBig/parenleftbig/parenleftbt/parenleftex/parenlefttp/parenrightBig/parenrightbig/parenrightbt/parenrightex/parenrighttp/summationdisplay/summationtext/unionmultidisplay/vextendsingle)
-/FontFile 12195 0 R
->> endobj
-12197 0 obj <<
-/Length1 1501
-/Length2 10189
-/Length3 0
-/Length 11074     
-/Filter /FlateDecode
->>
-stream
-xڭ�eT��Үqwwww'hpw��	
�5x �wwA��܂k�û����������\]�UwUw�ZCC���"n�h�v�����
 $��� o�llH44�. S7G�;S7� ���� �n����
-ps
-p�"� $
��\l��� �
�8��
@.6�`����5��-���=@������
-�������r�x�,X���6�n 3��
	��&9��#�����N�k� ������K&�M��#��
`�D*9�e�i��!뿃K���+�:��_���6�^�������r(:Z�\���
��8E�����[��L�m���V�  
;+׿�m\�m<A*6n�� KS{Wп�A`��V�ֿ� �HJ�J+3����˨bjv��r��x�����[�\l<�l�ll�o�o���2��dR`sG
����`��b��v�ވ���[�< �7�@V�����[g� ��.H��+7 (��ҿ� ��C� ��� ���x�@�?�	 ��!. P���T��u��EQ�C
 ��z���z�B@�?�������!�������M -�·����-��_�����C�G�ys��g8߮ןMom��
�j��
����9��ۛ:�Y��M�=���OIo�]�]l���
-�V�ß0o:
��X�.�����4�aNo���
�o�N����T����T��&����/�[�����jo�j������.��?cd��S�ÿ�?1���]ћh������M���ۃ��b�W��9�
-��
ߤy��o}����C+!������`��~"6.> /7����h������a|��eK�����#-�;�
�ئ5���KL��2��d���v�6d�
�
bͺ4Oh��.1C1mm�1RO�W-,�6����C1Qq�>�ß�A
�|�Cw���D����t�Lu���[�p�ΛOxS�0�|�o�q��r��n*�aN�B
-H�`#���/�ǥ�!|��7�/K�}k�v����9��s�O�l
���cH�v�K:����$<�Z� "a�

�֖����S
��(�rA~���r���eyX����2E����>�npo�N�j�]�$�p2�Ss
-����g�K�X�k������h��3s
-�*(m&�LQz�c�Q6Bؙ�A
-]S�}7qQ�ud���㢛���� 
�� ���TK
H��
�r����Z?HyB�����6�Ϗ���39��%��M:4��*{
-�aW���HKP� 8.nK�S�`��b��h ��z�=~Yw�bq?�&-��2�$�;��9�|R�C��Ll��K�ч���}���$_E��0
]���/�j�]y���0�
~Ĕ2��sv�\��k��
�@5���7�
�i�G*.�0T
�MX]tE;���.���>


��܂V/�"%j�E>��.�H#���7��	���S�_Cneܑ1�ZF����ek�?m���;
1ݩ�u*iE�	������'sj�5o��v�j��%/�:���-�s��L>�†|ĞC���]�G	靲�*T�2eՑh{��?ҨZ�wT��d�Q�����@�̯:s�|�QCt 9�9��s
��Su��$b"�ͯ�r��z��*LN�ȸ�LGY~�a�w�G�?�1�{\'�,a�2�VrxC�o�=/�hcS���
��1�4)�eڝ
Q��d��.[Ԗ ��1N)Pt���%��燐BC��,�9F��ɀU�{����*�75����*�N*�j��7����O۲�
�V	k�
P�#�Jdf��=k�i�\W��D����) 
Hbpß�G�z&�aD5y9�#oF�r�#��$�3c�<�=7MͿ/�c�H���[r<�I��

#�צ���Y�Y�z�~I�%L�X-��L�.綔�j9��fb��-[���{�ˣ�`ڰ/���~���ܓ������ʅKhsx������G�4�>9���=8���Ҏ�r|	-:g࠳w+_���_�}4
�s�V�`�/�^@T��J��f����,�aB��R˥�����}ta��;N����,٪V����E^��ԅ�����P�
-���T�
}NWD�q�ޛ�x���x������w[c������&}w+�t�1�E��7���#���3Y��~{ߌ ��x��f��J�w�t��ԧkmҌ�`�))�gQ����_R2N^RQ��꺻�=�^���@�����aQ���Byl�E�ꮑ�ݼV	�"ސ����)��^���s�~�:��d0���I�٩،
xR����L$���9G����
�:����4��<�� /j�b���M:�vu���#��}�W���Ⴔ�P�z:L���I..4Q�Y�J��ݤ����.�9�I.�l+��=3S��Q�}��Od.U����=��ei�A���+,_#
�bW�8��f�^�CsۿJ}sc���
�@�/!3��+L
�n��!����L��;��'}d-�*L��$���N���%����q'pؐ�Z1<���Fv	>f��m���Q���T�˹�JS��X�:/��O�Mp̂�2�-�ɓ� �Ɓv/z�WYo'�K� ��]�ࠍ���P�%,�su�GP�w �%q�c�{+����
-`�v�
��@2[^��J1Rx�bՉ��+������X��ӊ�|#������>����j��=�A��yX��y_M�G�s,�����@fB(�!�:A�eЙ�ڙ�;����)e�#���ծ�܏P킑q�=l�Rojv��*�!јn����� ���}%]G(��T���[�漃���#!q9��M�=p��龍!)����0+h� 
+flrG0�Qp�a�啝[;5��W}AUΘ�����Q�{�Z�����I4)c�J.,���Zl2�ք���a1>�o܋M�Y�� ~�
-�,^GZ�/�I�%�mP��)�=P��:��ԓ
v��]�7�B��3�7�
-����Z��yR6<��e��&��
g;�%�����^Jl�v9�������F�P9����U�̹�?�-�D_[
�"!XТQ`
��g���ٸ/Ȇ"M�
�;r2��
A�:f�x���!-=� �E��
�q���XY���.�
-��-�n�d}�K�6�����Q��IH��{
̝�r�`(z�=Z�)�(�L O�c�v�oe���"c�Š�q<����V=� /�s�7�;�:r����d�e���f2�����G��(:ċ3
��ζ[a\xhzf�&�wkt�����(CU�����P�p��i��L���4��΂�Z��B
ȼ�ݨx�2��������ۜ��m5��8F��1�
8��#C*�k?�w���+5WzZhGI��C	:�A� $/FD{T��+:0�ғ=�
V�fMA�h�갉&F�.�A��#!Cc�H�> n�e��8�
��~
�&
��p�o�0��7*`�
-v^�^*~x<�
i&�Y��G�ԋ	泂���"�2�S<}�w�y1�9�Ѵ��*
-�qL��Ps
�<��'�>� �M��oU�x ���#��̎"��kM`�7^�c�V��s�ڍ��X6��kJ�;D��E ����W-���P�Ɇ�Z,�j� �2���@~���v��4̞*�1#C3�w
�s�9?��]4��V �����Eۗ�s��ב�a�)�+���@����`G�������wXɃ��,�U�(;�\x�c���¾������y@��ר^l��G
-����[�O��C�Y��
-�U�VԜ��(x����qn(�5� &�l�W��Y�=����=��3F9'�Lw3��2�H3�׳l�W��v�}����C���j�pu+ʒ��v���<����$������LТX
�3b�.���Kvb�^|�w�@����'L4{�\5̜ƲtLg�{�����|�u��
�V���<Z�2%v	�
]G	�
-�}��Y�6�?]3��]�9����w���"�Ue�퍊,�o�q��rJ
-uw�W�8"��8���hZ�-ʨO�
��M�+��͌xlj�)�

R�C�N��\�J��Llf����d�d�n�1K���垴q������z=7Q�����G����\�Hv��M�JN���^F����
���I�xx���Q�z�^ijtY�*����ƈzd���T�9�`'��D��Pw�*�&�$��X���=Ϙ��L4�˧����;3�t��:�K�~�<d���v�k�GAb%�kڨևG![|���/A�ʡ�
(��RMD������t\�sԳ��6�k�s���u��ۙ�!w�9D�VDݕ����(��O��+�L���\��P$���.'+��Ѓ�3&��
�%�	�$
�Z`_����נ��f���b�
X
4�O�����P��!c��nȴ���W�S#�I�I�I�y��GH�_���g�xoGX��b5R7����4�JCM���(�	
�BZ���b
�
��[�ī�Np�OL�
,��Ȇ�d�:�d�G�q��.�pP_&
7V9.�ڴ�U�`��;��w����-����´���=��Hۙ׵Qi��Zz8�E�vR�:��X���qX�yi�_NP����N�
xk��y���NB��Ԯ{�=u��������t�I�&˛5���zɥŪ��v����W����Kƣ�l����e�
���'�l�7�
��� �}�,b�B�fp��^�Q`*���,C+�
-�ˏw$(k�$��~4-,���nR��暳R�6����=�������N��a5L��Q�c��G�>�o�Y�5=���
��X��:��zl15!�'AE�<���NQ]��ѭ�
[���Q��*11�
�}^z����=��
o������3
?E����фdi�[�
����Bx/G�Y�9�pyE����i��E�T0R��.��_���kJ��q
P�O+����Ͼ x͛�C�T��aPw̯Odp�
r��Ť
��fQ��|���aQzo�7�JlF�ڵo�Ċ��UED��-9r��e�-��xG�s���kNgo>h�9C���Q����9.�r>�.�c�,P�"��0��C#
-|�ĭ{+��B�&�N����iz� 
q�\��e�Q9�<#5
-&� �ޛ��4�<>��c�d�!F�]p�~��l:
a
�`�z/ʊ���d�K�����aq���Apg��Τ
!B���A+Y��X�s���u��9B �u�
'�1� J$�E�6��7~�eC���G'��6�x!Z��&
w.]
�c�g2Am��S�um
%6�Y�C���W��]�Y�ϙ�f��
Yj;<�&3���q(_���Q�n(Ĺ���5�@�V�yTr�b�*ZOj���;�m���֠B$�����}�;�'t����:�e�y���0�Y�^�0�9������_���+?$�����h$�D��������;
Նu�P�
--s[-��_K2��5��Q/a�?
�l[=ҷ�ϫ���Fe���p�E��%խ/yk��C�̉��[K~���0g=���
�rm7
��яm�<&�pFV�\�?>=h��nƑ�|1���4��.�
-��S�_�"­((�kn���=�)
[����r AK�v< ��8��"%Q���<4$6 x��L�$��y-
�s�^���c}����¢Q�y��9��˔�:�c�
����\�iG-늟O�Uc����<%��R�³	Ŕ:��JM�
}�er�<�ʢ�A�~m�Y9��1
OB�bS�����J�m�M�wN�^Q��ԁ�h�7Nɚ�� �7�{B���u���f���%�ewU���-��-6�w��Ik�;��f�����8Qن#]�ݒ��p��d�5,�K%��y7$���e�o�y�A�
�I#rQ�	�Yx�M�G���79&�H�N��,����99/"����iL��BӮ(�*��y�5K��^$xn�%v> P[��l~�4��uGꐲr�0xp�o��C�U6�mk	����W�^m,��
-�F�D
sƁ��掍����Ȝ�X0�~�q�@�� bQ�8����%
�9��zyT����K�\�-�]ӍBT�<�gS�c�[��������0���	o��[B��}�]�AO�w�=�ѣ�m&���j}ea�^�O�Vz��P/��of��w�7h�90�^Y8�X7�p&N�
Z����O����1E�	��=�Y&���� ]�b���
���8zO��<2U��l �b
�HF46�%&
\[�˂+�b=b%ԋ��,�v�ީ�h��?�w��,39���1z�l����ϒ��]��>�
�P�C+E�
�r
o�l�
{—�t���E��1��
������j���Ru [W'nkm[�n�R1��R�+����%)C@���
G�,ŹjNA�,y�ciuI	;I
�z���B��NW��װ�D�_,=�
n�
�O�HᏖ?5!
��W\���ħ�� ������0$�7��I�$�\X_�J�Vxi��7I-t���\�W�_��
�%��0� FXU�
���)��~�|Q?A�}��R����dO�Ae�l
4� H}�R�
����.�ٺ�=֫j�[��E�(〈?���-	�	g�DL̛����Yk�ͮ��2
��t��~4�FӀ�atH�O�V�$�ߞ���� ��>⋕��5t�C�A�Ec~h�����F<�G�2[��R\e�0b��N�+Bϭ�A�-�?��9�d�O_�U�_,"q6�lHU���� s��r�_O��(�~� �΀M��0��U�8\�����d��W�_�FPE��|k7��*��RL�^Ԫ
-K�@|/0�b���$bqcD�f$��o]�콱�31/���3��x�����[
�Vr@�E�t����n��G��^vq� CMYC+��P��g��C\��+�S~��v�Dw/�z�N����!
_��oB���:�t�l
Tg����Q���YM
sNiz��v&�N���h8l  ag�i���"�Y�p�w�E\SyOq�%���p�U�J*��:��=�i\�V?�҈ӵ��E�o^F+��z������h
kdQ��B��
�O޼Ъ��;5��^~u�.(��#DŽ��O��}����0'!��$>�(�����WS�����W��;���g�,�dIm�D4�Ξ�=?�G*�ʺ���
��|C�-��`����!�E� |icNA�MY_��|�FaV��9؜n�uOb��M֎@��`�=��
(/�H�ӠN(�9q#�5�`5ɪ[�Vơ�V�‰���d�>e�
W,�,���*��Cn]�
�V���έC�*�BOޚ���"��}���J�(��r�'Ӄqs<8\P��"�)t�IZ�l�6���^"��j�@\�~���YZ#���
�-�*�%�Bp͸�7v'�࣡�8Y;����lmk��u��һB
���
o����� RY�$
���u�"we��
$F�YS�Ÿ���s&��]�
��H�ޗ��am]GP~���������o� �L]X��-��نp^�܏�����e��9�n]7T'�l��\Vz�3#5�~u��v� ��-�
���+��*�7�MV�ĴF����
N? t/�j�NzP`,i��<��8M{��;;s��?�
����`p_LJ�K��y*�ӷ�|(n�N!��A�I	����'�Z>�fa�xǝ�U�S�-��`Z�[
�������
,�νY^��K

��ǧ��Y.��v}uc����w�������!)�"z�74�����'	y*�����5���Q}H�x�	-��F�T
��Qs�a������H��xJQo[،��K�o�%�6�Vp��D�$f1β����\�
x���
��tj����{� Gj�M�,�ISX�m
|�Q`b 6�d���SI��X׏�?�K�Y�5X��&2F=����_\&��bK�F)
��
ye��򷽞g�����Ԗ�K���\^��Loy��ũk�����5�`�xA
-��R��w��чE�����!o0 ��z�1��5Z��
9��w
o��⡽�j�[�ס�y-����Q�FJ������Ŏ�Py��
-�2-$��T�Pv�Մ�K�)�ް�w?
?��p��@�؏���Oy�Y=�%�<�d��3"�)�2*�
7�}Z�0�`�N5��WE�B�9���X����i�D�'�n�zO
��#�hΝף{[�;�tX�qL�Z�k�
I�W�hl�M�T�J������L.$�f�0;0F
�GU�h���Zǃ|��;���2LuN�*+�1B��
-����!�m1Q�>W�ZJ�Ԉ=�C��<��&r�;�>ڋ��^w��#d7��ĩ�Ā�
�:lJ�}��m���aa�@~W��/�;��:��^�@6�&��lt�T\[��
������(��e}�kJ�$6o��$D�!x�Ӡ
X�35���I[D4����M
��!����
+�
k��d잾�X��!�����t �pL�Gڱǭ�81%1v��i#
*�|~�U$
����m%�sԺ@�%n���;�u��T�*��Mm)�G
�+̟Y�ڿ�t�!�ᚳ:}�o��ָo�h�H{]`u4
(
-
RKP|�}��<�3�H�#p�(�纹� $h�e�˶�=ٖ�'shΣI�p�
G'`
���2�7��O��Μ �4����
|�:�ևT/�X5��/�]L��
�VUN��4g��"�~R��׊�贤��K\_
���
�*�Y^bf�'ғ�iW%�~¾b� �0�76+\��f�?�UY��Ʋ
�`~����3R��ӵ�p�P��t�ɌЮz�@/��j;t^3�3m�-'�_t	)\l*�sp9�a����4	�
��4R3
�vZg0[}1�Wzq'92Lb)��	�z��o!�!�
�i@>���J^RF���>S��Q
-�Q�4��R@= �U�<��r}X?9��w/'�Ꞟ�Z���������9gS�&	����FȊ!�b=(=�	�
-w�ś��OC��®N5��f��p9K��t+1�2)2���rk�ª��g��RE���Ǣ.�
\���__�%v���]Εe�*�0e�:M��	�/ �9M⹐`Έv�ѨkZ�`{_ ,t"��D\� 
�Où��a+Z�3�
t7i�4�;�D\�%:��kQ��R.^?�j���<���>WC�ڈp����֋��?%��}@��!�"N�ӯ\��
-��Tl����"�*
0��
r

�Wi+���vޠ������NQ]K�K� ��.�dmS��/XHv=���_D�κ�WK̥C@�}Y���5!G;�Ш���ys�7V�4�*{��y���=j�B��(�:�����Fw/���b�g6���55k	>��W�tл(�A��,䖢��oy	
/i�����S�u��:cy���pAA�٪9��컷L�g}PV����jh�έ���b�$��Wb[F�~|�kɌU�UOT�MKi�Ko�xh'�N� �C�WwTu�ol�;�
l�����y��
K��g��S¤�3�m웼�����3Հ=��������%ߑ��e�,�#V9\��l0rM|�s1&Խϫ��@ �z|�~�<P����\|%�N�vT���d($�Ī��w��r .F���<���'e�X��Xg�y���+d��s��

-#�v
-J��9{���O�u��V���
b�����[~���L���v)
/h3�~'SVg��r��H�.�%B���&��
b�
\������j;�L���a�d�b���������`3���N��
lQ
-�z����’�u.nm
�M)�ȊɆ��<��z�h�;F@�I��e����<�R�u��� )���
"���
�5���<�P>N
���/ �z�I��u
0*5����z���p��1����W���$?�"��
�
����R3��0��s��1Z��Qu��-�E��%��P�x�]
ar�Њ�=�~8�t(��\�R�Ę'<,m���c�^Mw�$�h
N*� ��m̐�
���Vb�p�.*Zn����]�^9SP�=���6|���a�Ł��D at S�
���a'�?ƍ�aįU�Wo
-{�y�R _��q����ŋǁ��C�Lc\dp;�Ȑ�|�e�<���_�T|�$�"
Mt�����[h&TA�Բ������p|�
ݧJVrwQ2f`i!%BI��ą�x��
-�|��b����@��CKL'�v%�V��' 
�R�bԣ��j�5N��/ݙ�C�"�}�x]C0�w�,F�<��_<���"�
ؠSbL�@�3���-���2+�뀅�Tp���xF�
O1��%�R���X�L~e쑛I
"a�<�l�b*|���R
z.X��>�Gt�i� I���n
-u���n
�7u^V��К���H�	ŗr(r�2
-63
-���E��|L�V35AwY=�¸�&2�H+D�hHh�]%n���6x?���/���
!e�_
��ya�cB�`�-(&���0�}#�ZY�{K)��x��.�%ܡ��[�h6R�-|z�e���J["W�D&΂j�[�7��4g���R
-$�m�ҽ<�S��I��bL�(_�2ʐj���d��*ۀ�^�2ȆHv/� ڗ�+c!���O�z�����4��l��_���&��bT$�ں�l�!HMu��:j��	�'Mss)��|�l��w�~��_/Q�U�!E�]��jd�d�)PP����X]'�3�D�z�4�J����H��4���N��
-\F]��C����s�/�I.NOY ��S!w	YM��
$�
�-t*�Ѵ�<(~���{jr1V^�
� h�h�t�}�S���"ɇ��9�� #�1�g�It���՞#ؽ�һx[��H�6��)5

�i���R�t㗕4`���@����=tq3lԾ�
e��
O���
�ݍ�MO%� ������40 v"�4B���С>lO��߼IL3A����^	��ji�4���p�f��a�F���@����h���a�����r��,�43���q���t#
�
CL9��|�ߐa�1-H�1��oV
ũ;�vU�y�~+l+
F�X��I;��Ռ,@��0��9L�IV*�?��+]uݠ�!
'�U�D����Έ;˂_�!T(Jߗ�Ei�{
2��k^a��M�]E18�]�<�x�{��� ɠJ�V����f)��b�m�T���� ��h
-endstream
-endobj
-12198 0 obj <<
-/Type /FontDescriptor
-/FontName /PCFYFO+CMMI10
-/Flags 4
-/FontBBox [-32 -250 1048 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 72
-/XHeight 431
-/CharSet (/A/B/C/D/G/I/J/L/P/Q/R/S/a/b/c/comma/d/e/f/g/gamma/greater/i/j/k/lambda/less/lscript/m/mu/n/p/period/phi/q/r/rho/s/slash/triangleleft/triangleright/u/v/w/weierstrass/x/y/z)
-/FontFile 12197 0 R
->> endobj
-12199 0 obj <<
-/Length1 771
-/Length2 1151
-/Length3 0
-/Length 1696      
-/Filter /FlateDecode
->>
-stream
-xڭRkTS���2ȳ"����U*�!%H1��T�hxHE.!g�&�`0�@�](
-�C

�PA[
-"�*��UQ��X�b�F�{���J��5��{����3��a|7��� 
S����l������h$
-%@
-�
-�too/�U�0X��9��b3�$
-�U2T�� K�N�X�#�2T(� O�H�R��P |\�B��
p$�v�
��r(K��;�N*T�x(F1u�S0&��=�$%~���LN�K�l.�I�$*�@��� ���akz�$�$T �l?��?x����T���$�
�@6]ߛ�AM�Ng�	*�`b	ntOw��{
��J���
-a	$r8�C
���o��k.7t͗����Sd� ��Dh��j�_5�
U��4w�N��a�aڰ��GPL
L/ ��*�h�`2A*
�� *	�Tw
WG �L�2��z1 U<�Ո��=FT	�˧�^��W��yЀ�I��1� �IK��P�$�AL1�}��>�"��B%��]��g����
�+KoT�Z*w,�v��Fmm����/>��e��á�s��F����U�Q�>�����ʧj��d1oiI��p0&vF{q[���H�c�K_b�g#w��Mn�U2 at g
%�6���7�o�\��7/@?:H�P|6$F��fw�
�⥸���>���G��-�:7,
-���fv
{��[�7���U�c(��~�6�ԉ<�Ս�����V��>���Ζk�R��tC��˽�3����
�,�M�ת<`hըf�f�_ݨ/�k�[�/�S�Q���[�t��m~=a�T�|��q4����Y���.����Ő���T��f|�S{t�� ����&���ھ��)Li��gI9��QUP���hW�~�nAIMY.3�է���
/���ώ���u<��`���Q��,��M�!�!)c�G�


��/<�w��*)�%
�O�:�ȩZ����i���On9�ɢ�Ԛf}������W]㪗���.��a^��$�}�N�ӧ~͸G�E�]m��zm��60��͓g
�F��#�\�:s�W:xfXe��r��iyv�H>e_$k�
J
7�����[�=�s��

u
�J��y1h�m��u)x{�팜�n����A��/�������3IpI�N��ՙ����}���k��3�5
*�~m���$�^d����i
E�'C4��Ʋd;�ji}TaՎ��u��|�brmٍ�9�2
Q5 [...]
q���
����2�k��b"ۆbj���d@���|��^ק5�+�����'��c/t���b�ƻ���)��b�B�	?����E�I�ܸ��G8���s�=}
-ճ,
.�
�
��y᪪�Cu�
��'e�
-M�w���|p9��+�|�ɶ>C|�2���N!����[����o2�Ù�q'
-t�zT�]^�.�t�]�>ͯ�f���5���N�OV�+2�Ϭ�zS�w�`�s�jeq�'
�m�z�d
�N�9�]H�5^��=
�9���2��~^��vM�� �b=�
-endstream
-endobj
-12200 0 obj <<
-/Type /FontDescriptor
-/FontName /ZGGNQH+CMMI12
-/Flags 4
-/FontBBox [-30 -250 1026 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 65
-/XHeight 431
-/CharSet (/greater/less)
-/FontFile 12199 0 R
->> endobj
-12201 0 obj <<
-/Length1 789
-/Length2 1882
-/Length3 0
-/Length 2433      
-/Filter /FlateDecode
->>
-stream
-xڭR{<�{ϵ,���?4�
c8�	��:Qn���څي:.唈!ʥB������	EE)r�O����������t�}^�������|����3$�Yᨬ0Н��X��Q��6<�H�H$���
��J怎 ����q# $@b
�(G�TlcEűi�
 ��lYd� �F!3<�	2�=(d:�Ǣ�@N�5�����1�/��Tk
-PiFИIJ%Of8
��Z�r��Q@v�� _�iHMRYLz
@�!K:
�z�����;�N'��헃�Mf��q��Q\��,*�f�(�
~���4.�G֓C��(8f
�P��HۯuZ�;-�i
J$N�ǀ+u�I�щ4����
$���]�d�C���w�
-F}�҈شX`/��DI����)�YnL
-�JcF h�
@f��q���� �
-�`��0š��H� �`�p��U;,�p].� �F�� @оC��e����Ņ{��
�Bc��ml
 {
2�t.�
29+�4�o8�&�cA
-d��Eq�u_��xE�[�+��R�)�.�\����M���j��AwS�
Ie(�p�~j3nw�p$a�ޱ��P؜wIVpB�01<8�|� ������
t�rV9(�mH,�z��s��L�p�垏�p�<�=a
|YU��
-�8����z�n�.�$ㅦp�i�eA�Q�z��p�"6o���CY�<�+m�������#ρ�HV�t��aQ��Iõ���=���j����ha���"s�>�vDƽP��Ǿ����gM���Us�њsNC5{&�ƒ6����sCkn<O� ���W
mM*��k_���N E�"�W��������A�%C�w�
KT��_?u�wz��z�h�ӫ�·{����U�U��^7�ZmQ�ڂ�&�oׄ��qF�wz�W�cm�Q��7𰰎�X�F�cwPK���\�
�
-����[�1Swn��9��Ɔ�֫��>��ܾ����K[���
�N��i|�`�`�p��Y6�IpVK�h��ϲ�nF�l�({�3��O��	2����NnQ�B�o�\}Ty� �M5��t�s�
2�9s��g�j�fv��ǿҾ�_*@�L`��b�hF����L�9hG����S�^d���j���:��D��{�my�'p��� o��z��,�`m���v�L��g�,=�>V��,��Tm�
�U�F�:���e���]�
ۢ��|�_�N1�5�E֨�qiV��T$v&���Cz}��Z��B
������OaZ�g���B��²(L����k��v���:�
-j��?Lh��i"��T��L�ǿkPV>�?A#�1n`�c)f
�X�&����0��Z�.{�G��[@�d�y7�[g���=��	{a-%2�*x��!���w���ة���'�n��*���)�JJ���rk
&&�K�uQ7�<D��U���(�ک��|3�*�
o
-�Ϥ7	��8Ǹb�u�*Ok���L�w�=#�{�`r��я��ܞ�ˋ#-$��3C���B�N��Q���9��֜�l+���y��q����?�=��s������3����Y�ӓG��7&k�wl	3���ͩ=�-��IΖ?���D�m
���2�u�����:��\g��iSX�)�ԝF�>՝4�W��l
y
������Ȋ�v
�^�9ߪ3�"X�

�W
����sؔ�nT�;d>�� X��EZcs]��X��.�z�{d���ބ�WkM�
��gU�k�gg�E���.Z�u�C�Y.�f�j�L\R�B�O���)�JӞ.��Ť?~JP�׭�ˇV��^��QR�~=�
�ERυJ*_�7���4$&E���Q��]T�-T�c<����U��a����S���W�ўG�l�rj��w�nr�l�
X��*�\6.�=�����;"ڗ詝z|$)\AE?�R|�)�a-�}�����3�: �Rm?6b��|ꐦ
�(g}���J�/�
"�v�
��C�yr�����[�}4JlG
�������!4�;??���u���j
-��rqf"�����y��0ImEZ6P�B��+;���4M�1_"�&L���`8�$�"rw��/�V�bT�9�{dj.�0��
>d����X���9M|�걟���'�kJ>춊��9�����y
~i��n���b-��
ue��j�
'�q�<��%b�a��br�c�.�xlhY���v�s�yC��|7}@�
���B�O��x,�{"¼[�I9��Ij��6����Rk�$4�=��"߬S���0�䌛?�5\'�%�x��Z1nx�WcJ�f5?�1yo;��uɪ��ڙhK#��gǠ�
�KD��7��X9���:��U��
-�4��P8���%��5�n�֋^~�f���
�Ûe�>(ĦSg/*Ό�:��j{=�@��-]����atФ^�Z����/�$�j&4/�UF��2��+�7F���
-endstream
-endobj
-12202 0 obj <<
-/Type /FontDescriptor
-/FontName /WNXLJT+CMMI5
-/Flags 4
-/FontBBox [37 -250 1349 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 90
-/XHeight 431
-/CharSet (/D/d/i/n)
-/FontFile 12201 0 R
->> endobj
-12203 0 obj <<
-/Length1 805
-/Length2 2096
-/Length3 0
-/Length 2657      
-/Filter /FlateDecode
->>
-stream
-xڭ�y<�k�OQ���Gf�0dKvٲ/M3�0��
������}�H��J�=:�d_B�^1�%$������v�}?�?��~�u��}�JY�*�a��Ac"����#4

35��TV����@G$�(�&���P����S�����)MU�,`@�p�^ j ;0�z� 	�F 
�
�e�@��-�)48���6;Ȁ
HI A  
M.��8D� Ɍ�%�����Z �̀��0a C$�i �B�,���@�������x�%��`�AP�j�|qxڟ���?$D
H"�hu ��Y����]3
-
-�C�<� ��@•���8�1�
-b�p��E���:H��Hˆ���
�
��_췞
-G����@@�o�7��[3""ᨀ�2\Y�02��Vn?�eD@18�'����H$
�����
-! 
R�� V����L�%� �ʸC@	sP�S" %�RP��["f�?�:���M������� ƳRTQe� ���r�����$H�|{a���X
#w��h�P?��}��P����#0�DjQ��ߣ��j��cZ|���N;��*o�7��'e��\	�U� Z��d�5���) �I�eYB�]��f�n��͸53$9�W��4,�1
������\х��%��k�>a����cd>�@ܲ��'�����۾̛�C�®i�{C�
��>�9S5��,����]L*���%ͨ�����7l�
�U#T�
-�h�p�^��҈'�Ū�"�B��}3nx8��W�
����q�Ԅ�e��
V�� �����;�M��,a�Ԥ����4��5KťB�Gc��}�+��~�D�6/����f���7	�O-'�Z�y
�����{:���&�
�a��"�|۬ΫL�<WHg�������bV�!B<e��k\X.Y��'5��5��q�
��!��9�ٲj�_)�_^Zl�n$��\z��Ԯ*?|FPk���
C�ZL(/3��Ǣ����o�;
-��j�]�e|��\��c���z77" ��1��<���9��k}�6?S��N{7��"|��vD����0��_C�;�ܳ���
^��^
������J��I��Y�I���w
��aYa2*{��-	���n�I�7���h��x<Ӻ8 �^XT���U�M�Iȑ��+r
�:.��Yw�ʩ5	gk�e�E��s�#��r2oaЈ�>T�q7�p��b}���e�?ö٩�
�����1�<�+�˧X%�DC�c9%֌ՙ�m�$fq�p�uj�&[ϗ�64n��y}v����z
r~�1�M����.w��T��jm�N�vӂܸ�/�6��}��,���������ݚ��
-�P����'�'�����ᨖ/�h���l;��m�O.EY�ݬ�A��4�5�ެsm��>P�:���s�ZgX[#E�g���vU쐽=B�^��F'�+%���t����_�L�~�w�a����L4a����4^��gzˉl�|;��LS��ә��>���ʲ9�:7�:��?~��W6>���'�ƣ�{��fE8k#�
�����%Ӑ1m��z��N�iɻ�$(S'<v�#�gS[�|
��;����Qq��
<�ˤw�Q��#Z��
:�*�ש�-Sw#�C^�a�,5U>�>C��

O��9^^���3
����F����$sU�Wy�{�����#z��
Zsz{x�x?���<����b4�����
�6���ިW
]שe?��X׼�W�i��ߣu��bs����?-�w��9qh��l,d�E0�49�����M�X�
[Ŭ�P�1���sQK�{O9�j{�G�
�$K�}�ٓ4���;��A'f��x��ad3zP`�`=������E�����
�:�q���
��|���
rY��k(�i�fK3�I�O/M5oX
v]>1j
~�
-{H��g����y�ԩ>ֲG�\����.S�.��"�S��{i�]g�$�9�az˥ڛO�</ϪLvj�M����ۺ���6M�
-plz�!�94�����]W�s���T���y
�
�.6��|)���W�)���NwDGb�G�����6��x���S�z�B���f6���OL�d��5<l�z5K;�b=����Yr�
�L�J���^Oᰩ�v��<&��
n�o���r�ӯ�c�����'��nL
b��s2���1s&G��A{�C�)T�;lE��E��J�|�݅M`��n+؆P}��rϓD=0��øM?��0?��l���ȗ�n�y1=���eO6�q3Z�Tp�A��;���w��b-�M�:*�;L%�g��?L`R�= 8��`�,�
b�OZO$��'J�/\
h󯽷����H[�<:,]�z�5*�q񹧩�\:�|3S����aiz9Xg��
���ҵ����+�Nij��_�=a3��7b��������L��pL��T�ĕ�r]=�B�D�
s�-�"E�ޗ�جgc���~s����D�N{�$�\sU�~Kv3G�j�>a�f	�WU�S�g5=�Dαt\Ҡr
�?ɬE��縒�
5nN���s�\� [...]
-
!.6��0۷d�r=Ђm�J�
)��^[9
hw]f򽑂���b6b3l�M�!ɗ[ܤ[3��ə�3��UM����k��\5n�r��:_���#��~�Ew��إ>��}G��
�ڕ����d�$E�@w�8կ$����F�fb��k�0���d�
-endstream
-endobj
-12204 0 obj <<
-/Type /FontDescriptor
-/FontName /OMWOOP+CMMI6
-/Flags 4
-/FontBBox [11 -250 1241 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 85
-/XHeight 431
-/CharSet (/d/e/m/n/u)
-/FontFile 12203 0 R
->> endobj
-12205 0 obj <<
-/Length1 1006
-/Length2 4498
-/Length3 0
-/Length 5158      
-/Filter /FlateDecode
->>
-stream
-xڭ�y<T��Ǒ-��לȝ}flٲd��%"�`03�-d)[�d'[Ⱦ��R�!�N�,ٷ�%䙺��W����y���y_��u]�s^�ﲾ��2k�T�b�D��PY@Ӻ�!
->>��
-�Q�tC�P)@�� �d%��7��u�vA�ڹ�*?���h�
���,��h|
kKG�k�B�y�ʎ����
W� �t�@"D)�P ��v���(
��$-�
������������) �E"�Go ��� �b�ݐx-���]\���Q�����A����r��� ,���
����
�ߡ��k�!(w�Zn��(ke��#�J�B$���\�Q^H�>�����ttE��#1�+�����������ߋ��ӷDa�ny;!���_
������ S�(���������@al1I)����қ�/%&)	<�(
� �����>�����P�ܪ�$ V�i��� ��~i`��$���C�?	�F���O F��P ��� ��������@|g�ߪ�
������
]�]PNn���#������P
_���������&o��z=� "b����P�$����Y��� 1n�^�i��mP��Dz!�)&ǰ�r��kB
-��r
-I\9���4=�J�ݘ��qy�
y�
�1�
UD��u�����g�Q��|`~<�f�J1$۱�03'�et�Т��W&�����L�~��h")�Y�^�fۊ .;��wx�;?I���]N���Q��4^����}S����ű��|c�1��23�0M�,�$va�Cf�^���lZ�>7��>A��𮶄�^
�[x�Ko�PZ��H�=(����~x����2>O������)4�h��j7�(�XU�su��z��h�
��p�ȥ
gMO
��Lϼ�+?��'����;"#�Q�a��q;������c�4��Ṣ�.��
Q52n��b�;�B�T�b�G˚?����Wk
-�}4���Ԥ
-���������鯹�����F�d�NUă��v8	�F�� ��D'B^�u��d����&����2�{{
�<
%��
9
�q>&�&ˬw���;EYp�F�����L?gP���r5�L���9x���� G���
-�Q2��;��0F҂�[��W+1n#�ߔ=��N�Q� }Bq߷��6�tfx��K'��A��
8e�o}�4N
�COd]�wš��WRu�
(.��i7`����_�j���'�ܒ	��x7Z�z5�*dv֞)�<�/��/����G��p�y��N&]��o���
��c��oU{���ݧ�;
-��)7�yc2�e�nx}�~��2��2/Ţe�݈� �M:�	QP��b����
�Y'�
4��	?2�P
��l�VXY���Q��N}���R��/)�`w�lGq2=$�,�i�=
ң� ���i{X7����b�2�z-��i�&p�g&R�J��ө2��v�S4�kSC�������CBxZ��+��yM��C)��N�}�h��t��I���A,���n�����']��=&$
s

�S�30��;��hDI%|���
-��b��b��Xk32n�

�ʞtkG~
�H����AZ��iŧ������p�l��i{/B��eyK�3������o
��ܝCZKL.H"������T�Í�A�U���j���z���E�D6
�v����x&����Tv�YlZs��^��^�$�3b�u�D��BESԷ<���a���R1a�*p"E����������*����`ys���gv'�+�=U��.V������U��
eq�H�j�VmJ(~UѾ[�����dp�ew�!<`%���

I��E��6�ɓp?��nn��*�g�����B�km�tcDh��0"�V����uU����t�
.�v,�pDҗ��ۍ�!�ܾ�G��z*���\-)�o��B�Ya�C�4��t������䳺#>=���ݙT��z|��i[�1r���z�9RR!w at H$~Q�ݥ=�J-Bq��k{�Q�1�������H
��5�֯�7T!z:E:;�xzj��5���(z����A=���>��'��ֿ۶��r�����"�i	�ω�7pFPqr^�M�G���ۘ�/	]�[qd?�g��e�2t�Kmy�]WОb�uA��z���\;	�����٭����wU�1]e#�
<�Z�E��L���Y*�]M�8�f8Ƹ7��QƁ����r�w��CE����ր@�9����/���U��s��=��o����jL�r%�/&�RY�
�N�k��v�
���0����"x�6\=D�*�M��T8��V�NP���.�􏘐�p�R6/��i8Q
���{�ɼ�$%�;jέB�f%t?? [...]
��s.�(“�
-N������ie>[e=vм���Ft���ѡ
�O�cz�`$;
OwP��r�E�׾��`���ش�繓g�ycMJ@)|oT�7w�Q+7�ؼ �\�#W?V[l7ϳQ������]P��W�B��#�kv5oq�����5�d�{�����m�t�ϓK%Y3
-�7?�Z�"���)�
-����� {�l�~�����ʞ89��m������š�ߨ1���I�ê0_rt�n��Ȭ~ ��Uxi�UQ�nz@�:'�>H̗3����v�U���1X�6����<�?�>�"�pQs#��[��.Q���@YA�b�Sj��9�̨��uRF���
7;
1�=�~��4��4mU�P�؀Sbg:��/\�����_3��&7�X��//t!K��gь����4�4o�h]
׷�O�>�]�A��x��a=�/]�v3W=��
&��|;쳟
k���:E���f�fj���6fkR�ir���$��Z��v�ba��C��5m�z�c��=�{t�,i�վ�����-����-�1Y"������
k���ԡo%���aJpU�k�IJ����^�V����A�;���`���q�ᆵ��:�M1�%wQW�԰ISb�Ө�����I
Y�U��3��t�7O-B�Rض��"��V]�����|>�Ɨ��/�m�@G��ͮ�CUMT�Z_���>���
욹���o*F2��z~�E�
-\qb��ඊiO
u��aM_ݷ�/��l���2��I"3��'����l[��>W�h��.�h�G=�����]��,"�P22'�5 � �-� Й�Y�{�FOyM�z7et�S�� H0�C���#sv�� 
-U�>�7ۨ�H��X
Uvg6��{s��\�]��z���A��ÇJW8
f
R�P�����J

���O4��L_��}���wI/L5yMo��r�
-5�ZTT��ѣ
~�#�.Sۛ�͐���h���V�w$�|.�[O��.�o
�,v�R�rD��3c�=�	����@a4�z,.+�
X�"%O�RU�-�Y.�ހ�M�~~�ሌ�H$��S�R����ٓ���|��0���EK7/��!�l[l��T:�
�^Z˵�������G<)��[\	����x�A�����2�S�MbQ�_ZE��,�̎�3����-*^��e
c��JC�T���
];�}#{�I5i3��`�
�8e_����
EH���[>�[Ҳ+����)��Q�Rͅ��s��T
T���3����a	ZRj�������Ԫ�ۈ=�wn��'(���ЊW��JW}����!�DS�Լ�#��ᇰ�g�
�a��r�
-����zW_��fs�O
>����mDz��ͧ	n�^�*�3v]�5��5�
���S at 7r�L�Y� �kI��3�k�4�v�Y��E
B ��
���pa
I����žL*]�P.�2��-�Ƌ�T�zIT�W
���nܺϧӺ��P4r�1��2[y�+F�@���3���م�r��]�`O���D����
-�~���o��d�;�g�o���R��"�)�] 3 \��V(��~;����Α�-eű�mM9n�מM�y��E�풑��m�Snl�)xK�j�|%�T?�P�����1V��s��d�Y�,��nr�b>-��>�5���k��n�
�Q���Me�^��"�L��* O7�.����<șlF������W�[�.)J��,7o�ʜT_��|�B�"�䱬�)�n�h�EׅΌ
��)�����e�����
�sx6{-��ᣬ���0���F���lm�k+�O���)� 9﫞
ќB��t���tb�Rѐꤗ�!�\�!����	�ͳQR�>�&G�'v�d��!�~U�5�����zaD�E��
-4'П��5sv�I���fuwء�����p��v?uQ��-�t�P�������5�D��ǻ�?<y����s=�<�f-��`�����ƶ.��/2�m�J�

�&2�*��4�30���07
-9��W�
��]5e�Α���<���a�;�����5<��_��o$��O�"2d8��Y	����g.�%"4L��m.���#�[�™w�7�gV'pŢ��J�<ǧ}~�{e~�L��0�
ӻ��EɚC�qO)}9�ٝ$��=y�$G��x�ƸO�'$�ڎF�$[�a྾wi�����*}�n�+	��l�H,޾�Mةq�`W�ak���BZ���aK�8��
W�}/J'î�e�2ی��Fۨ?�P
-����W���P
�m^&������A����K�9��i��R-�x��V
�f�3�Ri�4�j�ې����h��d�Ѽ��ǭ��+ZU)&�����e����A�QӲ��0Z"�!�=
Q�X
47\S���79
ٴ#-���`R��6V
,�U=,zeя;�<$�@:�SJP4 Ga�㥿$�Iye9��4��2�����.�/	���Mr�b;ɚ-{#��"��2��
�:r�/�*l����O^�䓃�|�������L
Y��7C�{_�$�o���'L�D��.wU
_��
��
-endstream
-endobj
-12206 0 obj <<
-/Type /FontDescriptor
-/FontName /VFEGCR+CMMI7
-/Flags 4
-/FontBBox [0 -250 1171 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 81
-/XHeight 431
-/CharSet (/A/B/a/c/comma/d/e/f/i/j/k/less/lscript/m/n/q/rho/u)
-/FontFile 12205 0 R
->> endobj
-12207 0 obj <<
-/Length1 768
-/Length2 1151
-/Length3 0
-/Length 1695      
-/Filter /FlateDecode
->>
-stream
-xڭRkTSWU
-R����փ�yA�&AB(���Kr	�\�I0��j�By
�
-
X��aFD@��
-h(�*���PFe
-����w��s�����}�9Ύ�|���Q�҃J�2��
���B!8;s0R"�< R�L@��e�m*)�y�7��ɤ{���`�$V	\9�Eހ%�1D�R��2���>*B`��XR)��?� ��a1�@�1"R�hX��	�yK��x/�bU�[*��)�`s#�M�Q�T�p
�
���`�������*�4
�ͷ��4$C���
-PY�J	c���aL�T	/z��bD%[�+!)"b�%RxP�H�E
Q"jX
�(E� �*�
���:��[�A��#8�m�a�p�+�xP~/���k<"
Q���BŅ�z��Z2k�\�����
 a�!P�V4:
h� ��a5�ոa2I�*�# &Ġa�U4@��4<+�X�(�,���7c�Q�փ�<ht|�J�tJ��E*
��ʅσ��A�HaX
��^T�w$��˩��u��mT��[r�V��\?����M7v�S 8e���Cʭ�	ѓ�1��/����|��u3q��o��擢�={MZ
-�V�
-�=6����6����Pb�Ye���9�_�����}~`�����+s�=�&Dֆf�Ÿ�N��Lp�"�x�eힼ��sF���;�����'
-y��~�l7�2kҵ��cNc�tD���0�gm71��Tm3�c�=�8�A�yi�sN�

-0���j[`���yC}z�%_�޳�4���ԙ��*\���Q��
�n~Ms7
-�QvRO���/3�����
�F?�����р]6��k�F�n�9X�v���Aڝ�̎�NR�?t}I����sKXSܦC��G����gnY��䴒�
w�$/*����f=��!�
T]��ݕ��{o��f��ڸj���{	$��hj��+�ǰ�(�-����Ư2�骦�S#��A�є�Ɛȱ��"�������!�m�+�4���ϻ��[��o����^n�om�y
-�Qm�j���LglX���|�l��uf���h���g?��ɘ���s�S�R�g��辪"S�ˈ�	Fc��
q�/������j�����<v��*�%����"�a�3�s_h_�߷:�y��g�u�W���/
2}�
�Pg
--����"�H$��3�:���qz
S��fy	�����g��"���b��f��w�����h������Z���[��
���%���5��T
-����w9�2���{(ͩ3��Nu��Υ��Ww��6��8���
7�d��M�~�¥��MQ�X�u6����.�Mʏ�$�\
-��q^��٭��X1��iO�D��=�/�N/{��i�q�꽿���<�xy
��oď���\�z��*�����1�L��)Xwh�*�lzf�I�	ƒ�_�7�
$����#[-�D�q�7���^M)�#�Su����6��
���琼�7śMwەz��9�y���
�
-��8l�7<��t�����d}��û���5��
��H?[�Pq@�>p��^
�)Q!�;3��R���W���n�$
���<k���a���o3L�6��8��D2�
-��R��g[�	1�	��o��Uw�
j�SkΘ7�����t�8���d͚��G�.h��]���3�׆T@�gR�
r���P2�s��`DX����͢te�\{eר�
��3�
-endstream
-endobj
-12208 0 obj <<
-/Type /FontDescriptor
-/FontName /ZRLUIR+CMMI8
-/Flags 4
-/FontBBox [-24 -250 1110 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 78
-/XHeight 431
-/CharSet (/greater/less)
-/FontFile 12207 0 R
->> endobj
-12209 0 obj <<
-/Length1 881
-/Length2 2068
-/Length3 0
-/Length 2668      
-/Filter /FlateDecode
->>
-stream
-xڭRy<�k.E�����[�a2��q�gb�,Y�h̼���;c���2�BQ�娄('�Z�%kC���
qrl}��S�����{�y�뺟����u��\
,ilЎ
�
0H�	`M$��F�tu�� ��`C6>h`�x#`��	`
��	������l���8���z�Iƀ%
�2� R��@����\�T�"K&pY~�\@
�
iH�T>�0 jY���0M���
-�<�( �E�
 IcCL!@�0�[�
�h��������t����/�/��b0��M`�8>��lȅ~L� �j#�4���#K�S�
�%��n$z�W���c��4�O=�)L
�!ڏJ$�}с��v���B|
��Da@|7!�ߓ�Ę��".#�A#�h�$Qr����e
Q�4 `qF �˥ahI),
� 
�� `�D0
-	���'�Ęp���–�jl�
��/��l��
�H���o�@,���o@1A
����������;�e?� ���0�N|]�e��VZY�C�`�'�������Hp� ����������`H����TӨ�FgG�f5ޖ��i�ފ�/=U�j�
�6]��-z�n�R>�|�qG)�C�F���=�
�9�:�Z�Fa���4�5�c��H�fTW*��c��[�9E�
�3=��ҹ�#�kj��Vg��-~�<��+��D�
H��3J
���=�̍۳�����|�f6,��*���(���3��ZS�.ȡ�B�}
0����b�_��\Md5��f���wN���߲���!Ϻi��b\��/;=x��9��
+�h�Z����
����K*�]�/W$��|dZ}���:F�!w+��	+r3�L^ih�/稜iᅯP1�%�Tlor�;��a��3���Ń�\�'7��B�:�c��wd?S'Y��d�9���G�Uq�㴺><�Z�au��[��:E������b�M�zjݜ�$ظ�_9���|P�����^w.�ֺ\��ھU���d��/4NZ	n���9Q>�l�Jm�A�v�=�8�UO��c���]O���m����O�m�M'i^�
-ё�w7���6#�D��6�q�iC
^�������j����[h�/���q�[�H+�MJ�]��ܛ��}W�S\��wl+�H��\�K�S�
e;n��qj���_��)�G�e��TO:,'��Vurj�x^=��סdjM���6uw>��q�8���e��z����R%�����ن�K2��1�~,[��Ҡ�*��*�H$����������/z[a�tRf�V���a��‹J��k�V?[�o{�6�m�V����
-Mŕf��$��p���:�~�XB�|���Gi�5���w�F꜅%+#�_U���_��+���yƞL��<tE�F8�E��CD��z��!�\�H6N�$�i��zj�����`;�d��
޴��;�R�����V��]!R��!�2�� J~�>����ˤ�z��@"wL�k��ͪ��`��zP��i��(�
-���
r�	#�zf��ɗ�b&�i��=����2��<2H#����j��-Wɛ��]Z�

Ƚ7��������ٔ1
/��������%��`���@zku�:�SM<�
E�_����:`o���Giݙ��'#Gw�y��u.{M"�}����Ŀ��[4�
�کf}G�׿�B^y���J�\�,�4h'�^����2�D�#�ԗ��Y�͕Us�98T�ή�r�v>�l� �~��`~�K�SDZ�&wY2!g���ŵ��"er��7 
-?�����0}��0ѱ�O�}g��UG��éjݫ,���!��R�������@K��5Eye�#e���e:�n��w�0!����j�2��CЖ·(E|h$5�V�h���jd��g)v���鎊�6J�=�7�˚�&k��]�U�MK|��u5�L=	-�})��pD{��J=�w��>�&J&�����[�����\��+Ȁ���օ���U5R/�c���&OR��u�B8�um_p?fM�ʦ��B
�v�MQg���xO8�0��u��$Ժ#�$<�T��`��Ӊ��(M�
��ശ-km��
�4��e�d��="8�$��;��X|�h�����G��w�S�c�e.����y��d9��9.����`�f�O
��@�i%�%�����f�+m��uD��~��M�
%ٗ
鎜7�(g��έ��L��sY���5�}�7�}C�	zJ9��xv鶉Q_gq�`�!/sռ"�,)���c��O9��N��h���Ú�L�J��ۮgO��e�t�Oy
(����J�`_��*qBN�� [...]
I6M �x����)_�:���KIR�����+�M�
-|��O����X���d�H�['��
-��R�T��ҡ|�e�:���������R߰���)S��=��Ӯh�vw��d��`��η��Ǩk�Z��F;C��;�g���t�᦮^]�
��I�Ox�?A!xFoy����1:�[0�
z�yOHᄓ�Y�һW~�ؗ�}�2}b��e�m�
�.�[���s}��O_�GG�w
x���_p�p[
�-��
7YZ-=��$�/A�S�E�`��4�
"�?��S.Ln���Xnn�wi�63C�]���K?���2wz9#fg����+M���Ɉ��s9�ï�"kֺth
4���|!�
-endstream
-endobj
-12210 0 obj <<
-/Type /FontDescriptor
-/FontName /XZSFAY+CMMI9
-/Flags 4
-/FontBBox [-29 -250 1075 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 74
-/XHeight 431
-/CharSet (/L/comma/e/greater/less/n/triangleleft/triangleright)
-/FontFile 12209 0 R
->> endobj
-12211 0 obj <<
-/Length1 912
-/Length2 3316
-/Length3 0
-/Length 3922      
-/Filter /FlateDecode
->>
-stream
-xڭ�y8���Ǚ�,e+��e'��SYF��(�}�
�1��D�JT��%[b(��G��ʒ%ɾ�BD~S���O����=���y}���^�y��qK�Z �1D�
�@���aꀎ��!
� ��IH萰(2�H��"c�عs*��
PP����J�?E��;��ss'�:2?E�����C��)�����@�� ���a�A`@��~�����X�?f�� 
M\�n8�)C�+P�+����{�K��ٔ�&1D>�`]� fDz5,�����'�����P^?��ժ���p��������X`J�`I�Km�����Uǐ�����7<��)��J�q�z�@,�GF��(�/�W
K����}�\@lLL���G�k��#����� ��/����&�p��

���B����ÿ���D
��((� (	�F�DtR(0 G�`l �2L ��[ zcB W"���\飁�~��"5 ��� ��%�>�ҵ�� @�CE ��* [...]
-�k�$j����O&;
qxM�w�e�4
�ʈ����Sn���-�&
0՜��w������׻Ƈ�S1b3�l��M��W�����.�s��ym��雼?�O6��z~�L;�i�`
�4+���{[�mr&]�ѻ�
��[�D�,��&���lW�]��!l݄�T�2�:�m:�s8����T\�3 .yhꀍ繥͖��e���W����š���ZB�
�R�z�4޾[q�ќ׫*N�q�&.ARk�Ϋ��Z܏,9�7wRߐ��@��#��z�$"{������&�
�7iM:L�e���{�@Ҷ�M
�E�i�>
-]`�4Q���������N\�w�yQY�ZܽG���������G.
-tM�r����
�r�NOCC�:�J�=*��u'�����R�\��Y� Gg
���̡�~�i�S$K�B/K���Zﳖ��T;��S!���vG��[�Ė���vx�2&����(��x�
-f������*��g���
6ϲ��
=/V�ݯ���{$W�5@$�g�pd�����~[zD�g�
Q2KN#�2n���J��&}{�o��u<���E@Į�*G
��.�0xg�a:��kaQ��Ռ™������
��@�g�m�����2"GR�ś��r�ɳwd�d�0�;W�}�|�����Y�Jұݘ�����7Ǯ
6o�V�����Ds]*��b�<�,ݷ
�;��=��Ҕ��ˢ��
%�S.ۢ�(o
]	��/U�?��ȇ%{��e��{d�\[�qjte����
��8{7s�sbK�������z��oUS�ur�t��U~''�I}->�
���-���6��
-���ȳmD����R����*��g}8W�4��[�J{^�~�(OS��
���\���ꦦsKe+%��2�/��2�%�����
�Gj�"�G�4��E��?��c긎��*����3��\fcL�I_}0p4õU5P;�y��ҏ��A[���/�2+�Y�p�',���`k�*�g>5|��4���S	ł }�&QZ%7�t�s�q�@�Eہ�f�K�g�
|�&Hm*|h1O$�5Eo�P������&�Q�p�
�
�T�������"-Z��z&q�8�y���������²
� ��k�F��}���0�%iy搖_,t5x�
-=�Fm�>�&_��Т$0���
�"�a
g���}Q:r�$
->cf�o6��֝:�x�!2�^s)F<���Χ���
��w� 3-
�R��	_(���!��Q���,���MU^�w�N��~q8�L���&��|4��ؕܓ�4�6�ˑ��S��::f&�+����=-i�
-���:Xx%�X�.�hȾflcJ��Rɱ.S�,4)pR��q��ܶ�������U����{̫$� �`Τ�F��|��e���l>�#�d���m�ݽ!e�8/����U_��d���݇ŌM��js7S
�31c��횿
�R\9zu��yJ���
�lw�A��2���s��[�w��&K�c4�*6���
�
��U���:�A�@Q�<؃�
N<��+�d͑
Pk
nP�xQ�4
-/�5���������{)��Èg�7��W�.Ϋ�����)��LH(�xy�JbBf
fJ�f%��G�a����.F�x1�����G�x3$:m��w�*��
�0B���O�K+�w4+�)W�O�U�p�r�^ܬ�%�
�h�?�
���Q�WE��v�>��!O��}:Q�E.=v�K�T�eY��P�\=u5�qS�q��e���F�	
�us52�NJ�US��<�8V��_SاN9~�}
z���)]�S�};5�	,c����k��xA\�b��\���F����0ϳ�ȑW2��M���I,�!�
p��l�g�~��c�
��E\%��.*���i�`� qiO
��˳�ӌM�K
-n寿\��o�˳|5R\�q��w��8��)��i/_͡��I�e%����
��⸺t#��״�^�������%G��s%�=k�W�3�s��?��-�#��K�'���Y3Ghf�~(�jd���
����Qd��Ŋ���Cy��#LJ'��NzU~���9��4�]��4ִ|�ne'3��n��$#���W䵧,Wi]T�*]���u
S
�#����8vzt�nT���
�/c��_��*�a�
["Z�*g4�(C
i9T����/�~
�
�"ߢ�K?�`[-X�t`wCv%��8�񶜇��<Bb�6�I�-؏��՗�r�3�2��m����qy��Z:�Q%��Zue�m<���8e9������S,��/�R���hZV�g��
�Н���6v߄�b��L�-��շ_5�
/z�r�'�$P5�v��+Mx��E�lzA�����&���:��DwgP6t��hu2��2W��-
3+j

�e5��U1-H�Z�xT"88�P��i'|<�?I2�>�\�v�Z�ϱhP�Z���ڤ���IF
A�\y�h������=�f,g��M�	���̰{���z��琾�~���Nε�_`�/��TV5]/4a2
�u�?4�}m�uv�RT�Ϋ-+��kI�zp�x!P�1
�V
-K�����:R��m��Ah��Me�G�UwA���CD������|�7nU�\B�R�[A���}�(�YjR�DD�.����ni��~i�}[c�hL�N���(2*6�
'Θu(���V�	:(f]=��e辙}�@���
��#j��+	w���n������\3�ه{���c��"�w��D�)!g)����u�3|��
w�b��U�-8�e����'�X������A����jZ�ï�hvJ31���0OӐ��>ܔ7Ϟk�\tq|��I�
.��\_4'Yye̛%�I1'�'��'N�qm��?JLYԀ�G�P�7�t��F�9�*�,��i�`�rK=�1Bf�36���Ka*�B$�ƷtQ.O��k��	�*�c|��/m���
*�Om.��8
�RA;��cC��;9�5C
Ͽ\߰vKh)�I�<���pڬϭqt����$B�*l^v����&��&M
�N��o>�H�Zݢ�
i�N�\�<o}i�=.�"�/U�?/
������Ɣ
�P#b;�=�۬�]t�9��'30�T�ˀp
��H�g(�&�%�`�[s4�R^��G��8�j
��8��፯��!��zD�y����/�S{dT+1��f;���c��*��1�昫�i>��:�|�&��~5�o:�7
-�/���ea�
-t۾�3>��-E�)���
C{Xg��u��f
-��Omlgc�S��N�.6"=ݵ�Oֆ���h���e�i��9����t$@�v�^�i� �i�璌K� C��
-endstream
-endobj
-12212 0 obj <<
-/Type /FontDescriptor
-/FontName /WLMXSH+CMMIB10
-/Flags 4
-/FontBBox [-15 -250 1216 750]
-/Ascent 694
-/CapHeight 686
-/Descent -194
-/ItalicAngle -14
-/StemV 113
-/XHeight 444
-/CharSet (/a/b/c/e/l/p/q/r/u/v/w/x)
-/FontFile 12211 0 R
->> endobj
-12213 0 obj <<
-/Length1 808
-/Length2 1232
-/Length3 0
-/Length 1791      
-/Filter /FlateDecode
->>
-stream
-xڭRiX���E"zA����~P#$P�#�^�
A�֐L`t���D�,
-.T4(���&�"�i�ʭ�
x+���HA��t@}�T��g�|����=�
#o?s&
�\07�Qh
�b��
m �JDT*�Ȉ%��8��N\
b ���5� ����0��tXX�P�C"�����O
� ��G!>�'
�"|�L_�<���)����
la���m 3�<.
-�\<�$����x0��(�� �w�C
|!1$: �)$
�a
 p%Y,��
-0`�&͗ߕ@"1���vE2 �c("#�
-H�1"��?��O�"AOn�2���Թ�0"{�����C�7�
1�1�8�yL4
��9͊B�FS��.��{�8/��Z�C(�}!��+2,8>^��|M���Jћ
���L�_蕘�WLx$�� �J!�&������0g���a4
XҭW$��HT�ʒN�4 �|H
- )�؂�b8�cb�#��,�f	,��9҇K8:b�h*0�����V��N���'� _�ˆw� &̃ )�#��`���{�ՇK�/��*�R��i�zd(��k����t�!d_�X��m\��tc�ƝND
��7!���3�>���8
s��q�띙�vQ8I��ބ�zC�Dž��EV
ي
ŧ��:ʲ����1��K��g
CJ��S���E��%B6H{5���{��V�K3Z'ҹ�̾��{�k�z��i7.e�+�?oI9�R�H��nJ���qI�'���9��d7iV��G݂�B��q¾�*�<+})�Ƀ�ĥ{43u
-�F>
�#��P�
����!����1��m7�9�[W�b$9y�U�3�9?�Em���̅#~פK�^B�쑦�q���
�M������g��zdH��(��/�k���gkS
~"]ৰ
E�u����*�<����۴iڕ]���\Q��l0s:����Ԣ�}ђ��㳙�Z�<_����ٴy�NgH}P5L�g���.?��yG���4oI��78���R�ʙ�e8��D��F��&
m
-*�(:v�`,��G,��;	�=p����Fɲ�K���eM=�Q
ܣ�a1����&Ys%���f�›���~�v�a���]3��U�vt.�R���_J��=���}(]]�~���Z�<�'�v^3#��7�]��t�Y�%}�z|7���X8���oI~騇�̆�?	�����a!����v�u,���8!�+c�5�*]��>ݞ��F�&������~���@�-�'����NƏt>����*N���^�É�3lr~�:�����%߽�գ5��cu;7��o�)Ff{q��%�{��i��i�8�a��Nڵ���)z���)��#9�&��u�n�U�i��i[3A�)yN{�E�G)������<��7��_��~��'�|gý��A{a�z1#8m�h2������e�:�	Q
e��BU
����vӛ����O��8���+V��
��]xF��Ѭ��))#[������O�7gZ$�5'.F�W�Xs��-�Ҙ��B�����N\�A��(8���n0��>f�u�qW���]��Zs�3�
W.�ۜ�Y�
qf����u�4����m*�[��܋n!����ft*.��񁐹v��wKv��Mq�V��y`��Z�`W���L�E�>Z��&���b�°A��
-�5X⠫�5g
b�qv
�ɫ��^��cYG�������k.��*�_c�Q��O)$7D��t��q��<�~�������
�1��G~d?�z�n�yt�á���_8N�����Ϳi<��nB�U�S����Ѧ��u�ԟBs"
-endstream
-endobj
-12214 0 obj <<
-/Type /FontDescriptor
-/FontName /UQOYSR+CMMIB7
-/Flags 4
-/FontBBox [0 -250 1294 750]
-/Ascent 694
-/CapHeight 686
-/Descent -194
-/ItalicAngle -14
-/StemV 63
-/XHeight 444
-/CharSet (/p)
-/FontFile 12213 0 R
->> endobj
-12215 0 obj <<
-/Length1 1432
-/Length2 8965
-/Length3 0
-/Length 9817      
-/Filter /FlateDecode
->>
-stream
-xڭwuX�5"��1t��H�tw��9tw� ��) 
�tJw7������;�
����=3�<�v����N�P����Y8����
�X8X9 �j
� Vvvq$	0�����Q��
$ ����H�� o On.nN$����7����
@/��;� � ۘ�:MݬA��� u's��7+@��
��;��r�=@�H

 
s7������7%YGK' �����vy���R �h2  $-�
� K$6%'H7���Z�]\���^���w��B��������898���� E'
��C�A����qw�o����������=��/������B����`ij�
-��r��o��������� ����S1�qt��v�O����`�?���
����y������r4w��q�pr� L�`So$�� n�/���� yA��::�AR M��N`��
� �I���L[�e`�);���X kc�
���� H�����f�t�c����qCr̝�!�OH�� ��O<���[x~�]�!g�?)\ 6KK�?���@n�o��W��~'w�_=!!VAHA� 7�����j�����-ڟ�!�9�8��
��rtw0�}k��r�؜�� 5�����=��7���)�������+���Pp��A��B�u�ww��d�������q9����q��y���@��B�2�����
!�f
��	� n�N%@Ⱥ�!R{��WH���\�����{��ŝ�|Y8!M!/쿏?�����E���!�������Ɩ6��y�̑����l�["*���V�2��jMTj�4ۍ
���ʾlTޅq�Q�gu6�����kL����y�Kb��ˁ��A�O;��U����3�]�7�Ζ��S�W�3c�)�%���
-U�%5��(���=����xxu���5#�i�j.�Q\��)�a֧Bl#ژV/��ܱ~#$����4�"��0�
��V�Db���?\/�
�R`W�FeC�#�s}����/�'��=Ιۻt(�ix
7����L��%rK��j��
|^N i��E]�Ɂ�[A�~��n��Z
z���T�zY�_q|8�nr4���(�ER~���f����"��b��gx
-P6CF�|�r�����LA�_
�F� z�-���Z�e��2����4����K����c�!�V^��"V���6�mI,�+R�����k���.tPW��$����q��̘E]�%�0��#�R�|�?�蠡��՟g��n_���i?w�@}��m
ղ&P�,2B�Iw[��g.�G,1
�f�`�_|�RX���r�\�Ҿ�r�x[��8-~�Vg������|	�#�����Y��\��]���a:cu\Q��=A�K��M�J�I�e�_��x�l�xr,>F�3����Lw5R�IΕ�p��?ATcX��+)��.��'P{q�Q�O��K��P��A�l���h?�B�Y�
*
u07`�dw&A��̰ߡ��~#J���v�Z��Ƿ��Q4���w��'
-r����UP�Ϝf�i��!�W6��>L$q��^-��
��=LC�����Ǻӷ���.Vyj��RN���/�K��l��/�
�MS�e�oɊ�
-'������&��ٶ
-��;KhwCv�p;�0��,�϶���U-8����
��J��o{�s|�MG�I/-b"�i�F�)	��S��#
-^�%��z��PtC�q���f�w@�,!™���g6
�5�����
-��T��<,+x����Z[\�r�nՑ$4�	~��:���L���b��O��|�7<F���{u���>���G�l�S���C+�x����x7�wIw��
-A'C��ƨ���阎$"��YߺO<}�~��DD��E�� ��7�wi���b�]�LX��cb���zO}�ܻ��l��_�d��Y�Mz�i�&�"�Ϩ� F�̂���)�?��V
H/�Q_�/�fd�
Gr�y�l<�����c��4��k
|s�>���]Aw=���Z6B�� �˓�0�<x���}�@Z�U��9@�`$ϗ��
P�V$�m�#1p���+:����t0I
�#�b��� ���m~��&}p�$Nh���Q�/ rN
SX���lB���?��j�{��۱ż}���3P�I�e��Uc��ٳ팏GgH(
�l�2z���V�KT��������RK]/�+XlQ̥u.��
Ɓ0B��u�|���>5���A�,�+�a󮚰4{��
%Y��:
��< Dc��S�|�����YH_-Y:��Y3�dl.�딭���s�D�tr+����MLþ
��]�͓�P�/��O�*�xgB��������ݚ5�`W�RLMԕzd���~��
�-�

5��W�kP�OF��.��ε��Q]5kmú�tȋ�;�[8�]�����Gb�[7^�;@5 '�

���B)�ہ�{�����C9��J��N.5�%S��'��v��/�%�����ļW�T��e�,����0U�8��dƘ���:��]���k����s
-��:zF�_~�2�h��NR˼SEK̠��
-
��਑����
!T#�w�Աs��
-���2&I�̌BtOmv׋�N6rW�B�:�U���Q��4N���G
-lS�,w�x4�~,��a�����$Mч��{YQ��:��u}�¿��ͷh^�Zri?��'��M�0."�uI���A1)��7��tq�o1N�*WPo�ؓ��S
���J
��9�@��
�3�j�j�0���
-���X���P�r��21Q>�	�F�4�X`<cO�
��)rјX�;�ۧ�m��#
��L%}�8���Nh��5�KH�c��~���
�n�7Y�̮X���a62���
-��;��W�8��Cx�as�P�2}
�2�b�
-�f*�$?
 a#�ɹe
-�^�����B��N��~�1�o��i
z�=8f�������G�zAM'7M�U���d���g���dl	
\�J�N�»���)(
-�1��ݢܠ ����
�\󈾉��n���J��t��ټ8U+�%Tt_G�c��>�nd�
jb85�
ޏH��O��N�
�}M%��=��N)6�3m��z�n�o#l��;.�.�&�~e�km���>�o=���ғ��c��0�6�h�:�_K�b�S����}F���\�$Y��l��_w�ma���Ć�8H����P�>w���0��
�
���� &❨7�m�%>�Te�_�A�Z�
:��w��Q�O��t���~�f
�jkW�ɫ[�F��6=�`
.e)d�Eդ�.Sq,�G�0���C����| k<SW������W�t�YYپ3g���|D8��0l��\i���k�=+bU:{��n2)��xDq�ܭ��� 537��L�z=%�C���fO+�i�d.�Z 
}�	�Q����\ f��!���
��25��ɔ�E
/n��E���œ	\��'5/g	�f.P.��!w.���H���m�BO��!a��f����#�ˣ��i�s^���7as�P�_A4%&D�8k�\ۨ�g��mXJ�˥t
+��
���4)�AZ�]���)m��eK7�?�/ [...]
-���5�W+"׺k��U�6�����K��&w��51�[J�I�WY�}R*���=bB�@����:��)
/'�@�/rH� P�}^pC��Q�T�ޭ�5���h���
�����T	>������"'��7�NJ7��EI���Zeժ�hǝsTj�6t�NK�w��Jo���΄������?��|ګoo���+�6�5;Cz^H��)
�~��������l0h
������
�N��bi��]��Z.`%�
g
���N2��r��t�_��;�#rh�FE>��9�X1_�B�
z`�wRW��k�F[<o�9ʺ��T�tZ�@�Нe����sKL�bA�,��ݹ~P:�Ϭ(s�]��n���	�O�\-�;�E���;��#��9K��q0�&Y�$�b��UFO��$�>vvb����
-ls�1]VZ�<�j��c9d?6m���xWP��e	K�����P�
e�xT
�
Dr�~��MĹh1\*�h�<k�?���<\��rq����VRJJ�¢;
yp���bsHv��?XY2��Ņ�|�iԳy9��%�X��I6
��N��TK�Z�\���E#e�a"��b��%q����v2֍u�`�Y�Ͼ��"K��L:e%�e�S�:K�ߦR3)p���g�y�eL* ���f_7I�+TWZ���
��������mZf7rMJ��p�Ʈ�m�}��
]K�_ܴ�
��
��nQ�_ހ+�\�㑄�ʯB�J��3>�
+e��\��38?�3����
-']\'��ve7X
��P
̟ ����v�
9CO������Q���|�0 iX��T��$�]n�դZg���ݳ
Q|��魽�ef+���O�#����
��D�ǐQ!NO�?n*C�y���$i��Y���ϟ��6�|
olS�~P���{�:����H5O���.��Nb 0���[�g�c!cF.$Ӝ�;��>��C���-
�F�� �Y�
-t��E��Y�����H3�D{�
m�d}�z����w�Zn_�EIMw���8�KlfƄY�����L����1�Lr3������2W�KͿ�`ӊ���W�+Ec��z����\�[dZ��I�T�z
���q��ouFG����2<~4��_DG}Y˔w	����A�WZ,�lR�I��\ C:�b��Yp\�(	1T�7�4�hz7X�uL���C~m��
����/���,`��a�8C#�	w�֨��[KM-���
7t����������]�6��ç3���! }��9
k�s•�æQ��p;[�|�w6P��KA��)��<�����{d��z�y�Z;���<w?l�(/p�[)7�����(��/
'▕7R�
U�R>�{�f@��C���S�hK/{X�jέ;���Dq�c���U ��z�yۧ�F
���%��|`�l�´b?K��T���#�ܪz��ض`^��!�����(R9k���֫Q��aKR�����ˑ�r?
������Sm�6�u�is߾ь���ę:�B{��/"���%?�0��;��P
�v����r�pi�E��r�y�q,����V
�1�e�2�u��Vl%��·��h
�W�;k#�B�Y֏���/C
B�]ra6���ċ�%j�RhϮ��_gn	�9��P�uk�#|<��!��
��'�/�P���^�}�7��
�9g+�����T�ƳP
�J�|��#
gU
!�`�S�Y�a���]Y4���j2:�u��~̭u��rk�
�Yڭ�u+��5���?۽����|��7��=־y�s�E���KD
'�2��h�3=�Vx5�F��XYF�� -ә��D�9ʰj.�J�=k�p�*�>O��o����$�<qܫ�iZī9��z�	�k�W�
�mm��
-�
-��ǘ���B�X�3V�6�V������W�G_�q<,��v�ʍ
qy��߰��6}e*���C����� +?K0#{n��u:P�KWML(s�
eԂg��=l`ߎ�~m�=�m�
4V\��s�&C��6���x
-���O-�{
ߩQ���	��H��GT

��S��$)=��8��_F�dw�Z|p0A���

M��;��
�b��h��Z� (*Y\��[����o�p�~
��9�M�
��,
��H�������{k�h�y�G��q
Q-�������\q*����A���O,����OJ�
���Ik1�=�u8���mW�l]��
�c���_|H3_� s�Iu+��6z7� �>�X��N©}�_�����
e��Y(��{P+D
v�o����Rg�11�p�v��p}Q��޻6Z��1]�$��V
>�P(��1��*��
-��И
+XH�U�E`�!�����wގH�l^u�x��	�
4�48v�XFc�	NH���Q�
��,l�x�G'~�ާ@eb���$�\>�B
�L�*Vi
H=�
;��_�2Y3��/8v:5-$?��d/
-�B2���y��S�~�S����}�2�(	ݷ��厕��T���Z�տ���O���Q)U�
,�KW�x^qyR��3����<x���b�A4`_���<1g����S�fF�<��E�u'i
�/#�$^���[�����k��t+7������X�GNO��ʨ	s0�)ˏՏK	0�'��f�H
̈4k$��ve��<�0��y�ET%�
�%��h
�}a��K,{�航�U��ɲ-S FFZG�wA�
�
�<�
ҝ%�|��w�udX��0��K�a.~��n��(ۍ�9+��K�P�0��f^�_&c��cԭdN>
�I[y
-�;��"ϟJ�����9
-�N��M=�(d;J��T׻�X�ͅ�
b�[#��D
�)���AY@�K(v�D�x 9�DﷹD9B���԰���kЁ\mi��,�4MA}'Գ�+�z*6��ö���Ҹ����9���d[�M��l~믷��|&�Tn?�W�Xr�\vK��P����R���f}_w���/L���#�����W>�ZmD%[Y�"
��f�Z�����$�W�Bȣw��:�@7�� �9�M��'�p(�noK�h���?I.r�0m�{#M���N�f�
�Fo� ͥ_�qn�,g3k�����s�x
����
ۦ�e�ϼ8���
�ܙh:��Wo��+�$�Ux�9��iNq-T�����@��5��6Y�qʞ�h�u~��k��^�������en흯	.Π�%\�&
S��J<�
�/�)��;H�s߉����+CBz
"�ɨc�M�oi�����P	�iW���
�p\]��a
)Ԣz�
-hSWG�0|��},..� 
�e��fD�>�ą�q�����;���W�<1�c,�+�� 7�K��( 
�S
RFqF��E 1nc��GZ�����+q��%W�F.	��Tj3�����k&��'�F[
J���M�5��e�ؤ��Tk����n�B
���wb�z
��:��|�-C��ci�o&&&s�j�
�r��P���
�D����l��^A�
0���^�ܟ��."��Cx���')�#w�b���^�q��`~[�X�4���!v h�^�����l���?V��x��6K4v�BC��lbg+D׫�g��SB�%����X���?�!��t�<$�������
��}4�tK�5;�P���I���Jۻ��b�ID��B2�^��w~��Z�f�	�r��W�x_Wj>cCm*�Tn�]|����e�Rz�+�#�
�GN�	�����Kn+�o��0�����E�	��bH<k��A�ٟ�
}��0ٗ?P��j���7�Kz|��]{j|!��������
搫�a�����k��	3�5���]L/B��o��R��>�E�����.\6�i1��ּ�a�
s�>qA��q}]O4��9��2���
I
��
����b7)=�N�!/����:����H��R
�a-���)~����>�2�q"X��WaT�q����}�B;9�P�	V½W���o>��n��T���`�}�i���K����>�~m“N
ݒ³_ ��$E��=Nia���d �H�Ys��
����p3��+!K�#
-[{��,B)���/o+�kj�!���?��E����7�}S�@FD���d�<d�+�'�{V�{l!o��tG�$���DA���Q����
z�1'�{�j��O��w��\k+"���/���������jE�߀�-���e|p
{��C@�I{I��O
-����ovk����u[�]�`o�
P"zd�ӚB���5���
,��v�Y�.�78hƄ��؂��X��;��\���?������5xM,5��y�0�*Vrr\����
��]	#��/IP�Y�8���x��r�����6�HG/�ō���M�"#�Z
-��oG�s�;m�^š9��t#���MѾ���B7�� �����icI��1"��,�iqedR����lKp��N��
^� I+C~0�x�X��MS�q��5�ޒضZ%doO�\,1@[��=�����|m�O���~E�s!%Y�����<x���s����l2>����xT
�")|�de��
-V��BF�6�]�~��Vș2���4x[2(���ŕ
9������M�~��Tg��$(I�����W߻�z��
W��(:�і�H.�/O�l�y�ǣ
�5�ʺCY��cX�ƇNw�5OraS��A�
����
s7�kYG����r65o�
��Im�b�96�~���@�~���f{-՜F1�����;��9'V���œ�X�gwU�ff���-��vF��KZ:�����
��Bx�

;q�F,��ɑ<�x�O���IEd]C �8P+ߖ��9?Iw�5'H��
H�8A�	F
��g��S*5�,��T,f�#�	w�|>T��/�7�n7��IW�
�,0���
-id�U��
S�II�[Xl��?d�ا��1^�R/f"��UyuA(|����{Kc� 
�O��!�K�D�M��&c����0`i=�3�q���z�_�
�3��@�����'��m���Oj�F�̥
>B���0�o_�7
���/�e�V&P��n�Έ��@&0QZŇǡƚd��q^q0V
�l�I�Cj/G��zXy7g�&���c�-��K�ˋ�>L��DvRIS�ۊ:d�̶��7��&�
�̍ͧq�&�0W��[G�2l�����%��8(�s��� �M�
31�vĮ4��͡G�� M�%�b ��@DŽ���kW,֫
%�&�/!9��hP>qc�
YW4'og�"��sf�
��J��
��mtyS���D���Vn���ރ:>FW��
-]
_>'e�mi����WB�\�@TA���
-x6^��
DQ�0�9�
��h�
FY��n��I�QƏ�
w�Tu��M�;���cg�����O��'%ӣ���H3��(�i�~Vd�X�\�"�
V�8~I�w�	��`�꒼�G5�Y�
-�
ѫ��l�)�sI�r�W$h,ZUև�
�~%ֳ�ˏ�����~P�g�T)�߽V�~�&�(�J},G���Ҟ�D�@�GZ��9d�N,�J�:��
-XM˪
Ʃ�QC�VO��Ȫ��\u�Jd�&W�cXݚ����#Y5Xբ������"�B�s{nFecy��;�C�.�*������[�
��M
u��

-M�L�Թ�'Ɣ���=�[7�����lM	\#��̃=\u`���X{�?� D���?D0���v�s
��#eMA�eGi:���E 2rUJ4�oxR��J��μ��]rE?���z���Z�)6{��Jl�xc?/!f�N�}^��2!�v�%��Y^�ܐ���5��ܑ��
��f^I�_��X�(�*^���be��=�-Nϫų��)��Ø�2��)G���3]�)����0�_
_�T��(�Z����;��G�o�
yc._ȔG�[�=�96JJ�i.=��ܾ*��r�
_�� s
-{{q#-�V��� j��Q4z~W��^ �C��x߀jy�Yn����Dž�
?�)LN�1��)��=��E
��
-�=FP�E�FA�nk{�� ?�a��oV��U�����0E��=f�e��B?^�����N���n�
-�J[ُ�=(�W���P?���m:�����6��-7�q�9QuB��O�רh��vV
mź�K�
X)zo���
��?G��
-endstream
-endobj
-12216 0 obj <<
-/Type /FontDescriptor
-/FontName /QLYQLD+CMR10
-/Flags 4
-/FontBBox [-251 -250 1009 969]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle 0
-/StemV 69
-/XHeight 431
-/CharSet (/Delta/Omega/a/b/bracketleft/c/colon/d/e/eight/equal/ffi/fi/five/four/g/h/i/l/m/n/nine/numbersign/o/one/p/parenleft/parenright/percent/plus/r/s/semicolon/seven/six/t/three/two/u/v/x/zero)
-/FontFile 12215 0 R
->> endobj
-12217 0 obj <<
-/Length1 788
-/Length2 1456
-/Length3 0
-/Length 2013      
-/Filter /FlateDecode
->>
-stream
-xڭ�yX��E�"Z�,Ḛ	�@ l"��(D�MB2$)aB
-ʍ�R��
-��R*�+֠E�EEYJm�

�&�
�z}���>3�����߼g���w�p$H�!�9�� �R� o�ù(�rA�
Cn4
� ���-�,�ׁ@p�Y*�p���f�x����r�-@��l:
(4

�Af�i
`7Lg�<�@�p ��x�
-ƃ\ȰP����"A&R�.yBQ0`��f�c?� 7
�LW0� �C
!� ���;a�4a�`}=���pv�b��#9��J�as����1�|
�(0�B_����( �͏���ɣq�t"�� �Ŏ'�A�7�GgQ4N<���k$�� u;u�ʍ���il��+����������l��D ���G���*쫣�!:�`CL��`и\�P	���$��x�
1�D LDx��C� H$�@�UZ�N;
��^�V��=��!���
~���&�\x���7����{ͭ��%���Y�6�����\��QHt�u	A�R�S������U���v��C˸0%�;���\+�Γ����C\	���+�
��u�j������q�ǻ����:���P�������:'F2�
�V

*k<5��������B���������6��$1�/=��&+}���
���գ���?����X��w
��͖*�9�:���w�Z��Z��r��ٲtU��Kw[.:��\`X�"���������6��y4���=�"�b���/ۄ
�\Zڱd\3LQ ��;�1�[���cc*F��g�>��$z	G�F�9s�/c�SK�<<�z�u��H�����Y���r;�T�$d��$j�
��l�I��>�r��h~����\�mfN����/���T7�"nZ��Ԟ���Ь��� �m�S��i�y����j��O1wp�f�5Q�צ(�ki�8���l
�`��yqTd�'�T����7��f��”���N�Ý�!d
�,>�y-���𘄑�5"J㘜�j�u`A�龋���4���{���W�kf$>�S��<{�8��-��r��T(�9��Rp��`��
5tn˾be��۝���*��$�4���p��t�/Uŋ��T���ͱ������s8F�@f�c2�#�)�ɜJ��
Qĺ��2���ME�Zg.�|tΈ�5-��8�71��=
P��ok�$�\��@��ZW����b�j�aq	�
�sVj�)@y�tғ������&�
�
��W�����
�֪�
�U�sp\�[eP��L�T��� �6�_��W�����N?e��jQ����0�e�|
Ŀ�b���w'.���l}

3�6���b�_�obZ�y8*��E���߶�y_�q��khl�9�"�wo�:e����掛�ő�x�Izɀ4��gT��4ܱ_t�<'|S��w���?'�O_�o
����5Z�0���_��E�3����B�j�v�z�<_؆N:\�FzL�
^��
�d�\0�4����֦%X���);�����L��`��cp
��t�}ُ�r��zoi�/�Ste������k����f�R�
3�ְ�w���<.t7V��BF�3�n �ؒ
V�\!���!��~��4t�����N����[�$�J�{^K-���P��g9�j��(n@�Ll$�u傌�[h'�T�L�L�E�8}۷�sB��TQ�h/)k7���������H�D•cM@�ʅ��8�g4њ�WE�_�tql��h.�
�x���#Fތő;x�Z_ꈶ� =;�E�����PUnՃj�M�̳Ǻ��[���Ϻ2���?nލ��-�Vٜ(n�D�tM!e���J��L�+�
-߲ێ�4
�++�'�j���7�'k3Y��N�
��D;��
	�7�%���X܊z-zl_r`�]�U}�6�m�a��r2K�N��� =M/���6��O$��J{��f�ʼ�-mS)mW�
-uqAP��\���{y�H!?�÷JA��%7N��	������]=�/'ۭ�LܪW���^�ڭ�Z
-endstream
-endobj
-12218 0 obj <<
-/Type /FontDescriptor
-/FontName /LYFRJR+CMR5
-/Flags 4
-/FontBBox [-341 -250 1304 965]
-/Ascent 694
-/CapHeight 680
-/Descent -194
-/ItalicAngle 0
-/StemV 89
-/XHeight 431
-/CharSet (/P/one/plus/zero)
-/FontFile 12217 0 R
->> endobj
-12219 0 obj <<
-/Length1 976
-/Length2 3441
-/Length3 0
-/Length 4077      
-/Filter /FlateDecode
->>
-stream
-xڭ�y<�{��E�Vv�趕%3�2�}��Xʒm̌
�0FȾ+��A�N٥ɾUٷI"�%"�:�sN�y�}^�?��Z>��}]�[Ln-��"���	x�4Qtͬ� $�$&�KD#H
� �U ��2����� ������,��K�$b�x� q]��E��6M� x�
A�@�H�& 1hR ��b��
���M��F��  �A� 7�
�	�ӏޝ (�F�y����&�RM�T� �"���(�;؜@=
Mu�0�oq}?,�
��)O��e8
6�����	M�(4��R[����(���Y#�Aj�`р̟!��>& ��cHH�
��E���������=\��&�k��RpO�	��[�g�/�����1�e��
�ZH}�zs��Qzx$��S��@��@&꽠�0x: @P��Ax��PG��L?�I��3�')`��	"#�Q�! �C ��
����P ��AU
-�R��<����M"
��Cy L�
� ��7*P�I�����O����	8���.�������ttA��iY�.�,(*Ȅ�G!ҏHD�I�����bw
����h$����S[
�W2\A/yD�JC�����権�#�;}&>�����U�9O.�/�������
l�B=�'5w�`���2��c~��d�����;QY�ԏm�*
�y�_�i_�S����.�yw|N����Շ
y�PE;}2�b\��srBVl�>���q�����P�8�F��MB��^	CaƁ�����<��P'������HH4��?�X����i�:�9,W.5?������5����-�?,E΍����
���.9�5<{,\xF

0����������	������o��k������[>������J^�ϻ���n����)����נ��i��;�p���/�Sh���7p.���
L;
��
_�KC�_�]���my$D��
��)=`cE�Q���Tj�n��/6}�� �_��0r�_8t�z�zV [...]
��&�����+�&����&3I�/,��G�&|գ�X^;�(�	Bo�yϖp_���Y�
�����.
8�y�|ȟ_�R��"Q��_��n[D	�p�a�{to�����|��}���:��
s�u�&��#gX�n6�
��9�$
�Q�n��Uaĥ7��g�_3(�3�1^���~�~K������^/�
 |�b�J~���� �#ǩ���W�B
>���O�h��_T]/�?��KhV�=� ��9�H5��C�G�ɻ���vcu�B�{��)�Oz
�/�L���н���J\k����/� �F�A�G�2��J���ގ�s5��Aݜ��7���1B�jS~WgS,cwq�:>e����U�=8�'r�˙�kۧ
Z��o�^%7
-��.�B2�F�(%�b�ȸ��
�O�M
+"ɉ�E�
L�
�v�^wk<�|hWN��f\��Y����vN��/����g�ү
}�����7
�ݿS�ښ�޺�w�5�Fj'�A�+7}�����@�f�����\E�ك�
-d����Y�ۘ�w����S��#�s�,�Z5f��
*2Z
6z��6
C����4��><k�8T�
�8ޗ|ue0��
-]�Yk��h�y=r��N���[v��1
؎�� ��
&
�mUf]%��y!4�'��ǒaѫF'g]�w/
-��0/Z�D�����Nq�u�o
a�b����BE��2�e�x_#l�ۙP�c�_�U���r�uPm1�'�B���ꦛ8U�����
N�;��4��kX�4��S�60ٖK6ڧl��IKR�
V{�����i=97n��FW�%����Q�������5ڮ�����N�6�LT:E��Ծ�j�Rz
뒛��&��kl�f������^��6�G�VoPҀ
�%?��<�^Y�j�V3Ǖ3@
-}Oo@��Z�X�g�`'d���f�{:#��""��o���
[�	F	��ǩY�UY�)Ɖ%S�wǮ܋�*�19(I�U۳��g�����a��RV����|�-;����5
�
�\��kHU`
ύ��s/=���k;5
-d�Q
�EuWoC��t��]��*���\� 8s�������.t�iN5�~�zv��aJ(S�C;�E�L
�c�R�D�fpB�҇n� GJ�[�
����/j���x��
���+��Ľ�yL���eG��%�8��W%

�H�Ta�=u��C7�ى�<у�����#RR��mZ]��v���_o���>��,�%����n�J���G�钥
��(S���9����}�F�3���.&�s� |s+�o].1E�\�i'�5���z��}����/Y�#5�|sk(�dy��td��
Wt,�B�[u���S	�X�M����>�x�����6�
bu���[WhX8V������\E(�{N7쾾k�Un���jV�|u�2��bT��d#u��3H820�(h�h�~����h:L+@`�
Z��G��ydh����6T�1Ww��W��U߱�#����^����<�
�n�aE[�n칄2�����`�m2ϦJ�ď��*�e��KH�v�B*,�1��U)��6
V?^�Ƈ�
Z�Ýy�i��J�w1n4
+ܤk�i"¢D�br'��{i;�_��z��BZ�*��_�۔2�y�x�,��%���y��
�3�든�xF�=_s������C6�J;�{�F�����`�Л�5���\��U�}
�ѰiAg�ćO��Ϲ����
�
�^;=���]
ɬK�	/S�0���N/p,��¸,�����q�F�_P7R?u"�ب��H�\!�	���Us(O�	ѕgl���m
�?b=Ґ͓��56���B���El��*t`2�ٽ0���oI�n��c�E|��^H��BdEEd��fǃ�B���
[�(�{_�%i�
s៳]p� �|x
�Ū�������	
vf`!��
-�J����4��5�nyd׀t4�t�'mh�kf��FԈ������aߚb�]�!��oCe配�
��]����,hӠ�6�w$k~�`�}��y���+�
���q>C;
�Ś�r?\��r.$uxfIM�_����'v:��=m����b��U]/�\<L?AS�
��϶�"��E�Χ�G�=�&��
Zm��N���F�ͺ1������J}T*/�s���~� �L�6;ǐ�zGS����s�#,T�f�_���e7IA�;�mŨ���'[{�%�B
T۶�Q�o͌��� ��td��5à[P��Ι�\
�R�e�翅�GfɃ`WxX�Ϝ�W�	�f�
� ���$ި�D��m\gr
C(F&R�!tX�(e������Q7�՞n������G��kl�=���?h����0��wK��ş��[��|	���A�A����

�Ο_>��z :�tBi�~���Stl�E��jF�z�UP�@؂�k�6�H��aW�+��m.؞k�)�Xɔ��G�F
Dk\%�|ɾ'��L�ƄX���Q4���8��e;
1�:�b.�D��"
@vm�ig��l��ؿ��Xp32�e�
̝�[��s�_�T�.`	R�
�/�x`��<ٵ^WS�����So("���ZT��D�Nr� [...]
-����%�kv�Ő
t7YȒ�
)�
&��_
-�:4������V)5lf[_�c�ډkh)����	6x��%.�,h>ʗ�����췛����֪ԶٲԬ�.֮h	b����:͇�M��n�iO7���Κ⯇��R���`T%"•��Unx'�s"���޼�Ӻ���FÏ�7�Q
-���
�obw*�G���Y-�8������ȪK
��������]]w���æ�,���!��O��{.��� ���
yu���������K%�[�4
κ���䙬OW� ��~J
K��VC͂���@oB�/��nz>~�^C�������v>����qA��Ȗ7�
-�‘�
f�\����rf���z��� aj��
-endstream
-endobj
-12220 0 obj <<
-/Type /FontDescriptor
-/FontName /YPFGSD+CMR6
-/Flags 4
-/FontBBox [-20 -250 1193 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle 0
-/StemV 83
-/XHeight 431
-/CharSet (/a/b/d/e/i/l/m/n/o/one/p/r/t/two/u/x/zero)
-/FontFile 12219 0 R
->> endobj
-12221 0 obj <<
-/Length1 1183
-/Length2 5354
-/Length3 0
-/Length 6087      
-/Filter /FlateDecode
->>
-stream
-xڭSe\�k���C�F``hDi�Nif���a�T��n�.	A	)�F�%$��9�{�����ˬ��^�z���\�:�w�p[�*���P(P�ғ �D�����w(�E��
" JK
-(�� (!#&-#
-$�(�]��PGw ��/�$@����ٸ �l�
!�h;@n��{
`0�ޯ7�
�
�􀀅��@ j���8@]���Qw��$�.�Q���< H7t( /:$ 

w�y�{"�Gp�Yt���P�6WE�`�l�٣g�Xg(��?<���A��`���Rc��Ѵ `(��߬��

j��� � D�.A�T�^����`os��U����
=��"khh>0���5��tl�.�ޮ��������1z6H�ై��-D�����_G�����P�:�K l�Ho"�^��8����!^ �:���
�
�@���
�$���R �����_�>�6��@��7�����"" a���%~!
-���� a���A=~w����(�
h��P
 
���������\~{�o�u�������� t3���0��i���
��ػ���S�{��)�S��Pn��'�ǵ� ��rq���#�� Ч�{��h@�G���^���q�1�@����**½|�J}��H��<�_B;}
��>o�&��C�{�xA��f�v��NiM���U
-�*p�1
^�?j�|G
4��	+�@�/כ|�̤&���b�br�|�TwX�K ">}�f��z+��
��I���'W��=�֦��}qL����dӢ���޽|
^e�m�Ev���
��Y��&��0ð�zn1v=�tDy8(lɓ"9gi4�SA���1�-��{!A^ҍ�Y�@k���x�F��g}�lC=��꧞blI�Ե�F���Y�kG��
-+���e����(�՘�H�WԬB̒�_�n�7����R���3�;�7�`5c���l<E���>��@7��CO8yOj����ݤ̾σ(P���n %�
ot����Azo�]�Z�B�@C;\"�s?�����=�9�����g�gDV�!k�&�l}Gd��çv���Q����U'�_�l�K��?
-F�u$FJ�sX�;��v��
~W�~p�_s���I;�7wWF�6�����Hl̐�����pA�Fbຓ�V4mV�	ϻ��������l:J��T���{�B�3�5���������X64{O4�SM��-�ʭ�1hJ�yg��ɽN�>�ڠ�N]��ą��D������:b��c���|�.����o4ȼ�Y�ϐS-��Q��mΥK�]�����*wU�i
�����"�,��ݛ��~\�I3�ѩX;N	�>q�-`5�|�����<�Q�H�9�R���é'S$Y�{��(�we"O�����U>�=�w�FYݕ�ZATx
-
�/q>9Ή=}]
-�
'����Vǯ������L^�d�������.b��k�3m����oк72+����2�Ưٓ�Р\D��4�����پlٍ�HOkϨ�c��W��D�^4�� }D�)q�Ԝ��pDP'�.�A�����]Rq1���7�;���#GŢ����\$(�?X���~��ַ{��;7Ú��Q�bj�*TV/�p_�"�4u�?�S��ޭ�C�
(��H|X[�����r�
��
Z�լ0=&�S[�;t�+�<K�hͻL�m6�7۫���-�-�_��٘�]l2��M$�D⢠�v�L,�"5mmu�H��sv~^��@ԫ�*	-�ƥ��3ՙ���w���?$�鬷_��p`,{
�
b
r^+�>'y5��':J�O
���y�r]���n���F�u�*���&�4#.c�T�%C����ګ�!�5
����
xv')Gq:RX��@��x@�.
�������i�CD/�5�q滷2�J_wC�N��{��G��)X&�R���9�~$ܸ<���MA�;��Y�ł�$�Jr��A[�hB���Oo6A�w��N��'
'��w)&�+�^��ٌE�]+�,���VZ�qV�qb���2[[�ݚ5��d�!�z�t��#�g���^��!��_DoUQ�m��8�9�����X��@P��o�U�=�o]
b��g�����w�ſ
;�nNJO`�)�qp!8�JB�ɩ<Ca�����|J�e4Rc�6�7����v���3
��
�>]�ܾ�8���d���7�mڸ��b�JO�$>�K��*��,����\׬��c�Fn�w`�B9I�y�X	��%��W����,q��<��2�����y��"���A7!%���/-p+D�&�j��f�j�c��KTue[�-52��*�� 'h�<��m�� �R8�ޭ<k3��{��I����٪	Xi�~�]��׍��;�{J_QG�c+ [...]
-��$v������W�\��m���wBWN�yn�o3��c=��8�/��Ngv� �X;ku�}�p{{3(��V�t�j���
�����{D&=]�����c�#
&�#p�(�U
O��:��,�C��#qM��q	
-g��*
-~� <���F|'���vb;�G�"¯qur�tj�:�<*5�0M���'��03�eg&�G3rqdtݼwH��3h�^�0��f�
|{>�E�A�m��r�w��L7�\����kҐ��M"iŊ��c�rɠI��G���Z�9�A]$9�J[����w�/;ʰ���Io��ćq��(6�s�t� y�
�aMb�N9u��vg..�O�cn�M�:y*�D�I
z�Wx�wS�i�L�-'��v�o`��^���'X�W�bL-w�Y]�V�@
̔�qb�w[�
�Ӯ�s6W�lҎ�$=
-��]Iі:9)�`�_
~F�d?V�P���!69��n��
�Z�Ǣ€�<vB��Y��
&�ً��O�0*�-�U�<��:�R�=�w���Q�ş��؅F?���
-D��Q

�D�g��6.�Pb&5_^{���j�����ٯ�ԧt
���
��e��&�c̤H�ר�I��E�k�,//�D�
�>��a>��6����
8H]S��Ot&��j�s�<۷�u'��b��,mD<��(��ɚ58��W�a��A��L~<�� Wm ���۾��L+�[����U\��8�L�q�w{���Y�Ut�BH:H�$���T|��/��>�:��t�?�Zsߊ!P����g��D����R��4�yYב��֙��`H$<s�UP� �W�'�}���,�yJ�
�`԰!ā`���}��g���|`~�1B����xԀA�����툷V���<5\_���K��S�H��ʦ;�&ځ� *��8IK�F�����Ɲ�G|
-�.SD?V�2���o���w;^�oͩ�t8��E�%�
�H�k|�C%�r�7Oß�fY��u��֐қҢ���ȵ�4��S���ݴ*��A�so"D��1uB�N'M+~���Gϧ��|�V�8��K(�5�LU���u!E-��l/|$ ���ȷ/um=�ͨvkd�s�����I�
���v���
-�~�k_�pK?�H���o�4Qk��y���%���OCA�9�t��o ���&�>�K�
��S�Kj�?�1�:�G�&W�cdg
� �Yy}�^ef�o��{
�q˟��y~�_I�"��Z��
ށճw�u��,݄�N�k|�U�1\��tjܹ)*j`�:T
	�X-=��Y��� ~�s���[��p����������Y}��t'�y=��YB��
�θ��?�<Е������WP��S��	��^��D�f����soF�
�3�ė��<�J�C�.���yC��:
:0��Fћ$��2vݿ��9٩�
�)�Y)��*p7
�/M�m����乞�K��&:���}���
U'���e=܊�0����'R��
c^�e�=f<K�%���ltz�O��b[̟���d9���g�
;�~�3��ז}�P�!]Fr�-z��u��a/�+����D��阭
%i%�ef��I!y-e6t�cy����)���Sz*�3��/ll�+��(�M�b^bt���
q�ݟIL�O	'���|�8���(�}R
NI��E|:-����@��z6�`k������Cj�������c��ait��F"�E��5�#NwH�
Xv������"�%
oW��z�7H{_X���6�x*��ջ/Y�����{�A���._h�
����Q ����M��V�� [...]
-��q�w�bXc/� >�*���L��k�B2G,tOv�e�
\�m
-
��
����L��*"��(�ރ&8L�#�_m_�L�pG�2�̭����!f�
�
�z�gf}��-
^�mf
m�#��g�W9V�⎕P�
������C�
����]=�5���g��2�Y
�1?<��WL�m���+?��-y��~l��%��,^t �~��c�"��i�X'�('}%�~7�z�?��r$���vu��-B�[���h1(�_+����
�C���WΕu/��;�Mp�
�<���>�n�H�P
��,I�d�?�B0����[�5�(�
r�x���H�D�,�����
%H�9;�2<��h��y�"��QڀK�P_�:g�Z'�s�V�B#~��������`z�8T{��K�?��U,{5�b����ᛯ���`�ń���χa��y�W1�
�5f%%q�\�O	�H�Vn��n(�q��)�o�Ʋ>�[�pJt���e��?��o��&���^�i�#�i�}�ܚ��]Z�(�P�/�]81;��)
8�%��C�V7�-�<L&"�s+8���l�֗f�+��Q��џ֚*Ae��T�ى
�N�k�	;���n��ئ��F�9�{�,��b
�j��*��� ��
�{��Ϩ����8�v*I��Ĥ��z~2d�ī`9䇤�}l��X�kT�&��,>Zi~�c܃���'8�J<o� �ѝـ�V�TӇ����x�sv��D
7�I�
�[b��&D�8��FZ�
��<dt��竆���y�bmI�F���̴X�y���锃N!��ݻ��zPj�G
��}q�S��J��Z�Š�۝��9��$'q����%:Q/	���߱�J�$�X����YN���ܣ5����o��[>�` �]�g�a[ݽ��K�7\~�o�KgoB�O�Gg�\96�Z,��yv�	Q>��A��{)�e>�e{O�q�vQt�.V!��:���jK>05,6)'&:=bL�$Jt~�#ʮ
q���hq��q2��ma�e*�h��t���Kq��j��ih;ƙW��k�b������AZ	���"?�d��������J}d&޼c�݉*����'/�s�VWj�n�P��67�Ϥ_�sL�۽����5�'o�{B��s#��
�h����*0��
���[cٔ�R;�]�):��sa&]���d�cF�{�ć,�
=�9iE=��Ŷ�-�@��*<�
:q���z�ހ�T��2�%�����u
-3����Ⱦ2M.t�h{���.�����
i�Ҋ�5U��Q����l�*S������(�vXZM8��|�.���mr	*���o!QXR�ޟ�2 �9z,�Y�qGt�G�,�*��[Q��`���ܞ�s�i����nm�օc_fa�}Ҵ�9DD摒+�FY���!	��K�
�G�er:�<܊f̮�EӋD�����q�u������im��
ޜSL7}���"7��8\{A��1"�i�?�|���(����g/�[ ��|��L�r'��Ԩb����/'&���a�:�3o讑�=26���1���k�Qj�_�Zp���K[+�d{o���7aA���b
/���d�;|�#[T^p���j�ۼqٯ\-�
�I���d0��LFPT���}�QC�?¹
-d�2����Q�܌���ڐ����� ���0
-endstream
-endobj
-12222 0 obj <<
-/Type /FontDescriptor
-/FontName /KKLHYL+CMR7
-/Flags 4
-/FontBBox [-27 -250 1122 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle 0
-/StemV 79
-/XHeight 431
-/CharSet (/T/a/b/c/d/e/equal/f/five/four/g/i/l/m/n/nine/o/one/p/parenleft/parenright/plus/r/t/three/two/u/x/zero)
-/FontFile 12221 0 R
->> endobj
-12223 0 obj <<
-/Length1 1034
-/Length2 3716
-/Length3 0
-/Length 4388      
-/Filter /FlateDecode
->>
-stream
-xڭVy<�}�&Y�N���}fl��%K(���13����e�V!ٷH����"*KH����I�$Y��o��y�}�����:��=���s���6���F����x
Q*Ut�-T�
�ILL��F1x�.��V���P@���� Pe5U5%U&1@�L�xx	
�"��&`�
`� z��)9�,`�Gb��`9@�,~��,�~hB %��(
���=08&�?�8w< �F���M�	~S�Ť$@����� 
-��6�Sj�)N�?L�;��?k�����ң�a�l�x���?M ��(4�o�E�/k�h���߬!�� �q
X4 ����c��(3
�	�#�~�q4�o���� ��0׵4��9͟��#Z�����'��Ɣ�0A�D�R����7����!�(
��J� �@@3Q�����P(����A :��,��)G JK.�xӏaR&F��BP �F@ ��D,ڝ�O

-� `�?P�"C��S���@
 �c��+`�?�
- �C
Q�޿!e����"���п1�������#E�����w.Ja�P	 ����o�%31�Mi����:�wE
-
-A~��w�g��BeTYyJ^(DA�)A.���O�8&���(K�7v�PV
�B#�ތ��KY
q�z�/+i���z4�4��i;=�B�-�;�+5Sg�_��ɲD�$������0���(ߛ٣�K�K�!$ۭ\��E�oѫ�-
��?)Q����H�+y���l������2��0U�C��μe��~.�:>�N\A؂-۷�b�t [z�����K�
Mғ��V��b�´C�o����V!�9).�e�OwK��Xk�w����<,	��[�>��θ��!�z.�<�zW��eH���d1e���i���R�Fj1��!xȶ�<�(H
�"�Zs�K~��h�&
J���\
4��#"�O�Ȋ���8& <3*Os��#�#UpB��7=���K/�B{����ͣL�rַ��,y�<
-v��>�����B2�mJ�y$6p�\��Vp�H�}����4�=W�gW^���ռ'��Z�U0}���5é"S1Ĝt�ިZ#�Z4��@r'sy��$ok�e��R��
8"U/�x�6w��<�U��Z��˜�a�=�$�\L	T�Oj���T�
��Sݓʹ%��4�!<�PY��鹂�({��朗�"/�~8yq#�� \��r~6ߧ��N�Ɛ0,����o��W�_*�yo�s3M���S��/-���F'��$�8��9��2a�}��-��]��
��M!��c�Y�A'z
�yYj|
-/઼��\��+J�R�^S�x��n��	@~O�
�$��	)1 ۖ���y�� ���?���l(gA���dX�S�sLA�HK��kywb,��i�p"f�#מ��Gb�,,������
-��:׋Z���F�*co�憃bd/������
PŽ� Z��V�nAn$݂Ϲޘ|+ݵD��X`�"�^� l&�n���]�
-�ϨT����7�8��eK
gCa<��q,�~�3
-|�& �[��c^�ߧw��
�<���4W��g���~���jȜ�`�_�����	g�d/��X�o��&��|�&L�d0&Į-�|Ci�ʂڎF�9��
�hW���8z�
�m�2/~�E�<�����:ʉ1$9B�K�?v�jX���.��
�^�6F݃�p.
�u����C]\ٌu��P��(Gx���uP@��f���6ѭ}m��X���B���f� ��q����+���\�}�Z3Q�;�i6��[�F��I.痏I �ܛ�(��]#�N��6�KR�S*��jMP�����TI�j���2�ވ�|��pI����sdw�Ͳ!��q�ԗMR �
��q?g�#Y�
p
;H���R8(׶��FV,l�Î0z�Q��z��ܶcv/v�n�0Ү��0���OZNa3��zn/dR��H�i�
��x`u�r�ZB���v��/
�v�ںv W-2��iß�g^4*�6�H��
v������
>��������1�43ꦲZ��MD��9��^-�ht�{
�>�n����5�>p��M��>�x�i'3#
-�����Ĥ�E��
j�3uY�9��?֗��7e�
��n��9����\��ő�/}����
|ja�k0�*�+<w�e at H���v�7�*���0ۂdX����U$A�
-^�s�;��N/i�4�ӑ��Zm����
��
Ɣ���l��C�k�� ]���}�j ��C��qa������c���c7�3�H�x���^�L��f3��p�݉����YI�^
-����g��JVEU�
�<�U'
$�t�и�5�Úv~�m�����.6�dZ4��!�׾'���$����y�-��"��gŨl,�+V�U�M���>٥ËO
���f���oYVk�Io*��>S�j�5��@#�K��]~v�q��
-�.s�q|9Z���:����n���-&��x�{v�ʚ��:��f���i~(a��2V�^ݎ�3,��h�`��k�
SU�%w��MG6�$��fT�R�z���^5��-j��Zi|���
qGr��^���b��/�i,t�j49c�:��rZ�h�������#�M��
��
�iY/��ZA���f�I
L��.b���2|)�p�	<8ސ5�g�����ٓ��xfpտ��$+������85i�;86!l��
W��$�kļ#|������'�o��FUl0&T|U����sI��-Ң�e	J�N��c^�;��3*H���9�œ���~�EW^{����Y��r�Qf��6f��Vk0�W^.�n�g� �Œ�Y��=ɩ�-0$H�|YK�m�07I��G��f
���Β���r�og)[�Ӎ�� ��ȓƝ�]z:#6b��~�T���|��S��y]d�ip𖎤a���7���M~Ev��!ĉ���J�D8X��0O����W��N���ٖ���p2��
-������E%�(����nD�����\��Qk�
�n���`��,�v��|��E������†�=?
f�2v�l��|�$_0nH�>��<@<�����gf
�P6*ӏ`<�6�V�S���|�D	==?s��Jc-�Ww[re��v��j
4zl;ӓ��uM1�=/��x;�S�+0��D�b/�z�E�J���j�᳉��6��
�%ϰw�{w���d���
+7�h�W��Xƙ4��t�տ`4/Ud6Q��R��wh_�Q�,=nyA/�p
��p�4�IJP��o��Vn���"u�qٚ�d��+h&�R��� k����B#�^��tK��p��2�~��iA�*%o��A���H�*�<�"χ֤�O*z_�����+��
-*-��7�%
����;
-���ӎ�e�&�[�w	�
���T��Uکx��?�>��v]�F�k��xZê,�2�%�KN2���Ő�z٫㠿�DvI�'����Ä��~�4��{i��J�T�9�Q�҆҅��R%��}�kz����;j߬����29(�M(���S�ׄ�+��[D�3��
�|��6��[�
�}*L�\M<;Odl�_i����V��ݝ��$� #����eU�ln�@�Z�p=
9wyPrjQ��&�A�������w&O�4�$��T���i3Y?�|}�ŦP�l�A��z���I�vs>+
�t���=�e��s������pO�[��F>	_D���lEx_�����T��>���l��[�]�̼ɷ���k���wIn�fr��Ι\��z|R`���
-d��L�0{7G���A��qƏ
>���
�����Yg�?�
S	�
��'��?>t��z$J�@��
Q��i6�5K����
�G��2
���L�f-r��K�µ
f�IѱbF��d<�3Q�A����~4��,�?|��Ƴ��������W�
��V�	$pC�,��X�7;��� �ߎ0��f1�U���%�;
m����h�"��.���5m�u�
���w
-_��{�����0Q{mͰ�X����i��
��}���3���
&28E��h��Y�TT5��X�o�Gg�8�_��y�>��#w|iy����i��C�~E"�r��#�xBi=��w32��
Z�)[|��ZX�|ݗ7�c8)9���B��J����q�"����)�>=-�\6__8��&íU–�r_��
�hs�iX��̮��V:Mh�hLh����֧�(���^F�	���k}�%�i����/���V+��[����g|�ϳ-�
�
(�
��-*>���zq��‹��h��v��~
5���x����C�5\�O�b,�
��I�HΊ�S8�I��]�b�]��1�M'�]#�{mW���!�2{���t�u.����v�ŀn7�&�L��Zk�c���@J2�/�(�Q�eU������(��Y�!��� -��K��{s���GR�|��t�
-endstream
-endobj
-12224 0 obj <<
-/Type /FontDescriptor
-/FontName /SRQDSN+CMR9
-/Flags 4
-/FontBBox [-39 -250 1036 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle 0
-/StemV 74
-/XHeight 431
-/CharSet (/a/bracketleft/d/equal/fi/h/l/m/o/one/parenleft/parenright/r/s/t/two/u/v/zero)
-/FontFile 12223 0 R
->> endobj
-12225 0 obj <<
-/Length1 1666
-/Length2 7374
-/Length3 0
-/Length 8359      
-/Filter /FlateDecode
->>
-stream
-xڭte\�[�6!")��PR
-
�H�t�8

L�)
ҍ��H���"%]"��t
��x�������/����^k���n`|W���
��G�
-e *�Ɩ@a PP���[��npU
-" JKJh' P
 ,)#",#.I�
Pqs�A@��Q ^�_N� %W
-�� �3��
����P�G���~E F$�	q$P0
-`q�‰�~)҂;�$��
��S�+
-����Jtp��| Gb!=7l-V��Q�M�����@����ѥ�Ã\�0��<�\��(��� A���j�S�.��v�/����`%�
�
���"ա�(
-�
p���?p��R���C���������_s��4 A�(w@���6���
�b
�����)��9@�N q	 � �co��P�� ��*����! lk �n�_c�� )����$B*��$� !�ߖ@H󷅍��ے��ϒ���Y
[�,F�-Q����,��@w�G��� (��N��ܟ��oR
[{t7/{ؿ�Ā����J�����	B�����OEb/�{�+�NV�
�
-	!�
K��� �G�%򟃉���ܯ�`(
���a(�;v�S�X
-����;�<4��������po(V8
�>��qlg�~m�B
;J(�
-��~W��b}���;
V
-
�D�;�4v�07�_o
�}
�X_W(
��
��{8 
��@���
�8��
��d��;�on`�/u�ߵ��w������
E�aC�h{$�ݓ! �0��	��į�P"XUH(v��c���(4�DAa�
3v{
���l���_�-�}X�?�_{�����墬���wWDpWZ�؁@	���x��
�h۔?�7vE�m;b� o�xz�
,��Q
�V4\A Dt��rs��ES`6�!�X<ϐ�	U��`�U|'ݣzm�l*��!N�Ƀ�B��W1��O��;���|Bc�Ȯx�iuz�e�/1�t ���9�Lq���9l([��.L�P�%�s0JN������̯f;h
-J��~���e@�T��qT �?���:z���)��X�w�A�����{�%�#�{�˸��8&��o�ߝ�n4j+���_����E�{~�3�gI(!X���>sﲨ�c��^���(^�Z�G���j`��
Bƒ��RУ��),�۾
�[�OM��u3,��v�L�� �ǦUΟ�
\��E�:Ikr���[���(^v�!e��7�}M
�R��
�nu!��
���׋w��"�?Nu�Y����;I�K���d�X� ��-I�������	OM�J���ߢwcc�
I:4ޜ0�
����sg[(�my�䮤Fl&�?��遽���Oh���'J{v>L��uzG�?�L��Kq��k.�yƷVaN̔����K��Z^w]M%�^=�������$��m��3Ѕ�َ4�e���ɛ�T�$�j��~A�Wc�=w�G�����/�K*!���>�����ҫ⺦CUܰ늧�����yF�jǑ�����%�r�T�ǭ���b~Ϝ��BեlPuK�
�M[���-
��c%�]�E#ׇ��2�|����u��FB��y1���/�g}#7[��ϳ�V��T��ʟ��>����8P8�nN��8#��p�q�ϳfVT��V�C����c���ی,+�ë�?7&�)rj"��sS�s�&_T�N�0��)�,���(r���?��묮f�Ͽ�u�ݙ&kQgU�ٴ�N ��jg��B����)�CM��"d�
���u��N*��W�-{0x��)�DD���Y���q�6�ZM�]�,�s
-�D �
Z]��;�{���#����?*v�gh��km}��$���H��a [...]
-o�<�_N��
�KY���k��#��c��t
�9�S��޿2�M�d�i�5�\P�
-w���b�^������k
-�
}u��w�]Ƹ{e/ ���Kz��1�v{}�Wb�׻
��6�7��@��9I��b��}�Z8e�,�Ze󫏶>� �I�47x�hy)��ܽL��ۭU`g�\Ő�SI�y8-<������)�UU~G��tbS w����qq��֫��̴��Ѻy�ˉ`<b<�:;��Bl��m�o
��&�+�F�����Jϊ���SN������{F�X* ����h2;u����(5�c�s������<A8G�+ٻ[���~`��I4gΔt��SMk�i��8��s^2˿rO�)
�W���*{�twa+ಢ�s�m���v
-kC�G4kWA�b`SҏV+�!�Cq9��
|����lǛ��/�yOFY�2���ϱ�{2-�5��h��M�H�]5	����{�����V�a��G�zj7����0[�J)f�¶��9ͧm��fI9u|mÇr�J��^��

J�Q�=y��0�!+{���=�0��9M���`� �@�؟�'�.��R���}���z�T�jd�ڞ�r����^mޙσ�v-I��}���{+�"��/s��Y��p�]I
 �53 W�H�@u�(�?�����9F��z�G3<{��1�_!6Hw�m
���a�ǔ�W)������Q�4���y���}�"~����<[᩿ij���$=��x�Z}�B��R�aE��}�Y�mǑkS�Y���sNу�WK7�n�Ҥ_>8�@�2"���ތ>�4*9�
-w6�ݑ��Έڠ�=k��a˕KB�Ov�[Q�?
Hd�D�9�-V��;,w��}�ˍ󌻬E�N�a.�.tX�`}���8�����v�����eG���
Gߚĺl�L�X�?���6?L�pFdf|>;���2��� �l�NR'}���	�FH5��
2ُD��=��:
,��I����ys'&��
�K�?A�I;���9��Ed��x�f7���;p��
F�*�}	I��M�s|��i��n@�S��2�MM���a����E�|�(��z�bq���m�c$�
-4��R�ڊ�2�Ƒ�6R�0ʥ��:�,&Ղi��%9y�ݸϛ�e�'[
/Қw[�&u'�Uu"�Ù��@t'��њ�O����mc|� q:YrRV	��d1
��0JЃM��Z�����'A�c����Ń{m�\a��,	�|�
��<�	^���t{� ���sS�VT���Պ�1��M�'��zዧ����
z�ov�d�~�*�z�˘�K�Q�3�-Hua. ��-]�0�cܳ��L���.�L�]�_
�`L|��)���U$N���z�g ��-�`��+��� ���ר�w	^��S�y���L���õ��S[f��c'��O�fR�,�-�����}�u��s�����
<��f�����K	�
a�n�ੑ{{z�n�Bh[��&�ښi�q������=��2��w󌻭�

�Z+?[LOD��^��������
8��O��Ɠ,}ٵ<[<vdg���o�y��8z1Í���1����%F�K�N&�?��>aj��pnw�Y���L,c��Z�z�2H;	Uv�s�V"T�L��!|v����܊0_�����H�g�3Hx#�s�#W��
�������nQ����L4
�f�0wp�V�yG ���B�4�	���X*,z�e���*�yI�:C5C��[U8����ȪӪ�V#i�:��{�)}���}��͍
�R�uUՍ'!�-V����,����L2�QV�F����L�7�H��k�b{�����|�E~�������p��уr%6tGL�I�t>���1-�8�\
-���f��䉅tٻ��U�`��
x,'5
�{��)t]�#�>�

-kE
��~��+�FU�r
�����_

޻='!Dym%���
ެ���Z���yvs�Is0F�/a��]����[GZ��n��>���A�mV��IT�"�j1�j��j��R
v�!wn�BE���h�Mr*�6��(<~s+ 0�x�[iPe�--��\j�M5٨3O"�-�� q#a�jL{�J�e��F#�4˞E� �TSY���t����&�-w����M jܺ�l���>�ߓ�=aL&�t�g���Iͩ]��
��]�gִ����g�Y�#�B{�cFjTFet�\w'���I
��*���ឿol�%���u�F�V>_a�Iw�&���8\�{���tR��yW������G������04^0�i)զE�+Sj�G/E�7��bju��6&�u�|��7���s!0:�.n>���In��RA��B˧����9vR8���O3V7�[x��;�
u*�v ����dҚS��>����g���rI~7ҪeϺ?a$�
?�RNV �jFcN�MgxO�W��Е?>�pHWq�B��If�
��=�I��9u=�m,�ˀ�;�*�����V�V8�NJ�	��s�WEq
�������A+���@~�Æ������\��e��۹�fOV'�>�@N�?�w:3����9tw��`��*2G�R|�	����MTka z�%���i�
H�I������77k��7����kH˶8o>�R���>"��܆��_G̙.��KT�Xmf
��ΗM��j��}3�`�����HF~mgL��Dd:�G
-�K�����։��u��꛰�{��
���9�<��{w�k����(�3 ZwV��󪠜1��Ă"�~��ev.��c��4Տ�I"���ѥ�1uh�$|
��^ J�Y[�/pT��f�����4O�n .+R
'�vA
-o�;^���֐�y�)��	l}<�oZp�[�E��1�
�A��g�u�QtM��FBb���%�����R[��P��w�6Tܞ?'B����R|yї��;��|��"}�`�ɜ5JsD��8�@U!z�|��������w��Yݹ��*��} d������<KV�r}M�؈ojMo�w�6
�nzH:*@
!s�,�OB=�uTv
B�ř&#Cg�}o�}��t��yG����
 �&��� Z`O�[6�㽙�Q���N�/��_�l����6���#�(��m�_&�M������W6rRD��D�
.�緦�
�q��
qމ�m��gR�t%eXa�m��y8���8Nt��0�+Udi;��g����_��۽�����@�ѩ
-�� �jyYBv��±2ݬ�����
j*���2*Qq�a�X�X
��ғ��$"�J8�t�G����ތֳ�
-����`Q*u2h�>�O�n;�j#̩J9cR��;�����[�!||j��(��y�*
�ˊ�������ǭK
���[����ڄ8��r7��e7��F�
�UO��rv�	������re�/��@R	��}��h��Uxf[.~؎C��>	<v��L��o3e
���ǎ���/&�l�@e��f�y`“�}j���9�p���O�b��EcÞ�y�t�[�1Α��W�]���>��(����x�����hJ���Mke���C�K����L�o�4B�+pCtv;n�����ĝ�R5-�v)**nʙ�9�_h���μ���%,�‡���z/+f���2�zƘ�����;~�U_|�1�;�������?U)��a*�J�IK�5�$Tij�{ۧu �Gɔ�|�.�kr�s����Q�L�^x!��e�M�$��hZ�h�[O%���)���@�!���2��c�-�/���D��P�@R�+���V9Ƀ���4 ����
��\
-�%[��qo�T�o.7���RF<�dL�l�q�O�p�
�����$^�$��e��qS��&��_C�OA���
暌;���>���T?��\;���_�9q;s�S� f�)W?�`��F
cy��ʭ�]��O�
~X%`���tz����I�����;���Ң�e]Mm��~�fN�Ҝ?�D��W�%�Qm⟬ڧՊ���y|*�t_i��A�ӝ@�6��T��{
ORf�dD�!��)C�
����$ُ
�褒R
Wm��>eԜ>��8�c?´��
]������!d�*.����rh�Pc�4���td�
Nxk�GAL���0��<�M1L��.Sף7θ��s~0��h�W�v��s	�P⵼u9񤝴0��)�\
�/=
�e��n8:�������qM�DFY��Cߠ�ʅ>Q
ʔ�^#������^��үI,��:S2/�Պ���;!���M��ZV�n���)�ҏ��+�ycV���i�|�2J�{[T��Uf�(�iu�q�xr�Ʃ�h
���l�n�mN��� ~:yT�*�}��us�*�9 ��s���-ML�3���m��`�$��P
u/nL�Yb���
�BE�#Pnq���
=��/�Z��
-�0
A
cz=�����x�v�	�:��	I��
U-��J�"�k&�ǽ�d%7�h����5қ�/�:� �(���p�� �_Cs��q�	���"1���ϩ�sΔ��*Z���
�T-��Is�%�J�������S�
�$��!���tn
Fg����B�~���G�c�����x��l��å��9�@�6lǏ�c��;7�?0��'��*ỳ�T�6h9��{������ț�{��{�w��N��
�2�0S�jl,.�����(Qs�uӓ�{�^�����1ֵ8}�s���&��g1��_��Y�ޗx�w������������ٷ&���
^�A<
�ӯ
/&eeF�Z�vV�ao�)E9EKy����ߔr�P
-d~�L��np���ң��H���g��,xy�U�5��=b���D+>�R}���eC~m\LT#7,h���i�EC�� b-�6v��h��c/
N��^�'�P���G�'�����#>x�]��
�c�x�]LTC�E�o�xm��q���x�դ�tv��<�����4,*־��sE��[2[4tsO��gd�B$�3�ҦX/�%�[��p"�z����� SwcΙ#KM۷(s��
	I�&���[#��>�Y~1���n�d�|�Z���-�����uNG�.�>!�nvv��>�4Z>d��d^�o��L���Xd��E��)E
=l��b8��c�5J�yOQɺ�����4ڜ6AyA|@W���x���u�P>�ڬm�%�NI=�O�����Ÿ�d��ؽ�~/�gc����հ�Cۮ��N-�ɱ�,�0�B�cX���yÆ�͗�dt$q�.aA�V�O���sU.;W�B_oT��"Z�t#Wh��
𙶐�mO�O�V�Ӧ�+�w�LU���p}�`s2Y
���q0g�,�P��=$����楣v���f�����
��\�}}'C��9����X�S袥l��tM}����
��
2�b�PPz�a5�x�a�鈤��-�r<1��śjE�2�|�����������pPĵ;�}vZz���w�	\	+�
Q���\f�Y���䞦�'R�K$ٚv;V��$}0Z-�K�[;�����)������I}9�D1��.�_p#HB�Ee
>�N�MX���U�?qW�;JI�
��q�

��&!��m����雛b�D
��tA"�f��4�cU�*M��
��2�;ތ��RK�%��`�?� ��:
2Qi���}����(C
�<����~�V�ŝ 3�D�0��P�iU�]�{�o\4a&�W������<o��X߉�\b��"�X'�Y�jD^g��s�+2"nƍIxV{dC���e�nR����]jhJ�f�L&����G�3l8<m�}�_9��$ұ����L��Y��%��1��d�HU���\,>#kZ�[]�g� �Sn��$��K���
�٪D��1�2��s��D.+�U�1�
	:��%O`Rэ
��M�[i:t��6����j�%ݥ<m7�U�
-�*T�^���+!��QJe�I��t���mQ�4
��ے!���TZ�q�pUS��Vj2b���&�B��
��
OēV�z���^q���9�,2�o�mь��@Yo�r�DZ{�h5�˻�"罐H�bڑ߆����#ҩ%e�X�u<�Ӡ��+�r�o��Z)�/�tc�8=��ִЫ���� ��[�5��S�QAo{������<��6�V#�y�҉o�
I_7<�
�q�w]�|.UL��{�s�c�@��-
��O
�=b�� ��O
-endstream
-endobj
-12226 0 obj <<
-/Type /FontDescriptor
-/FontName /NXBSDN+CMSY10
-/Flags 4
-/FontBBox [-29 -960 1116 775]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 85
-/XHeight 431
-/CharSet (/B/C/G/H/L/O/P/Q/R/S/angbracketleft/angbracketright/arrowdblleft/arrowdblright/arrownortheast/arrowright/asteriskmath/backslash/bar/braceleft/braceright/circlemultiply/element/equivalence/existential/greaterequal/infinity/intersection/lessequal/logicaland/minus/multiply/nabla/negationslash/periodcentered/plusminus/propersubset/reflexsubset/reflexsuperset/similar/turnstileleft/union/unionmulti/universal)
-/FontFile 12225 0 R
->> endobj
-12227 0 obj <<
-/Length1 788
-/Length2 771
-/Length3 0
-/Length 1315      
-/Filter /FlateDecode
->>
-stream
-xڭ�kPW��^��# ��`w��d!!$�"!� (�'dO���n�l0)bm��KiՊ:XPDE�.r���P�P�hQ�����W��8ſ��g��}�{���qw���D
%p�a")^���pw!���\$��  |>�u
-�p�'�E�?�
��)��
-Yd2�@���L��H)��j:C&U1!� e`�`�
-ĘvhA
�B2�L� �Q 	*0��2��r�&ۨN3%�BRKC/r�QW 
-�
�*�>
�$����P�J�J�6ś��,Uc*ÿB��Q��
-I|��
8�	QL����QR&
�*|��ǝ0m(��hFɔ@.Ui�D��tzz �بp�x���NhQR
�b
�o�5�gDbz���d��H����ig-�e��
-���R��l:ʗ�i�p����,&NP�@O&
�	�a�T6`�1\�5u'� �Ґ
?����#q-���
-ʩ	��?
-	}�/|�
@8t�����'ӑ$ĩ�'E�m���� B=�1z:	ْ��]Uه7/����������Y
���{04]�-�vVPe�K�����˫�˖�#����>qx߼�g�J�%[�p��b;CF��9cޞ��S���9��A=�_���iϰ��-���=a��
�7;-l�l_����94��l����x��g���1�j�Ŝ\8^U�
-��n�oY�12
-8��/Ʈ�/��tYk����s�}If
x��|RԚ�>
VrUJ��#V��o������h�Yr"�?9m���Nc.�"���{�s��8���6�am�'[��R����;^=-�[�r����ҋ#�]

�%{�\�jS�ƪ���_)��GGl����ѿ���0b���<�R��s��&
J4��?\VaWQWx�X����Gq
���E��U}#��`�)
��fMZD���F���@+�SY��]G���/_�mq��{�;^�^�I����MRW�H~����=������xE at jUb|k��|������c��
��ywp�����r���lO�֮`�ǃ�C-MN-�R�����_�rH
�7�Gu���y�o`��}ՠ����۫C��~b�(�G�
~���s��ٹ�3k���v���#\v�������<�
-�cۍ7�A��5k�K��)[I�$�-Z!Z�#Zq��ͼȵ
z��F�I��
llE�
i��*������ځ�e�9~͠ڪ�Id�
[��"��-h��uy����D4�D^23a��1�xaǺa�>�X��s�M�W�G�5��
��
=r�����O�Kv^�O~b��
t �h����iq�W�0�����FW߮&}�?�}�
-endstream
-endobj
-12228 0 obj <<
-/Type /FontDescriptor
-/FontName /TPJSSH+CMSY5
-/Flags 4
-/FontBBox [21 -944 1448 791]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 101
-/XHeight 431
-/CharSet (/minus/prime/turnstileleft)
-/FontFile 12227 0 R
->> endobj
-12229 0 obj <<
-/Length1 854
-/Length2 1837
-/Length3 0
-/Length 2429      
-/Filter /FlateDecode
->>
-stream
-xڭRy8�kNY�E!�OȖY�a���nj���1���,L�MYҕ=KG�A(�$тϮE��Q�9*�(:C__����������y��~^=�}x[23tb2�&Hػ��HBNO�
�l*��@d�8 ia�l9 �X

-�C�����p
D���{�e����Dd �Dv(H� i �I��l

��� ���
�@�
�arH$@���@0H�2��ˆ�!L �
&s�P\b�Mb����"�ɠ� 2"�`���N��~
�ġ�<�����!��&ҩ4�Lz8�
B�;�
B�_�����A2�C��ufiT�-�B�)
��|'�,'jH�Ge�B�"��� ���qz+F�.nx{'��[]���
6������gQ� 
�@�������[�
�LeP �
 B�'��Ba0 	Pd0
- �Ć�0�-n���&$��T4 '��IQYa❄.�+8��d"�"�'�����i��M- 8�BePټ��9 ���
~v# 8
$-�����1��&�����
�FY Xs3���H
�O)�G
B/
�@��@?�dy�p��eG
��/I�eE����i�u4�J�1y^�v�����Vհ
5��ie�Z=�#9�C�ryMb�E�SјF�S�*/.��uK���έ�Ϝ���5B/�&��
��s�B
y����H��F#�
��[��2��UyÓ¯ڲqy�ޣ7�/
���;�
Ԉ�T2�U�J�;�K���g���W��
�zʱE������V�G>$gO?TӚ�*���fcߢeŝ�G����Z��I�ؠ�pM��/��=��U���F�"	���)�������b��4t�(��Rޮ��W��M2=u�魈��Q�s�_{��
uE�Ӳ+�Y"�����X`�u�C��/.L�9t&rn
�
��;��lj_�Q�w�ı-�U�n�}6yg�s��Ͱ�_�6�M�j��($ [...]
-��G�}s�ڜ�S�y�'�V^���p���B��8'
Y�f��n�T�>���X-�L�h>���x�'��v���o��˃ԛ��~��{��!%�T�s�Ct����f
b1�qlB��t�;=M�U�K��Cn�G
.��<�+�wlx���� �-|v���鯟S8�M������Bv�kZ�EM��$����A��N��KC	���W�5Ԭ�I�4�]��N���K��R�8a~��1}��!��'s�Iu�S�w3�Y�F^��#�~��
-U�g�nq:/g�eE
�J34\e+&�'8�z�{۹����㰋���O?7�k�5�Ȅ�^�=��dǂ��7	��Ս��L������[c}��6v�k���<�
m�ͫx'�����_������Nh`��lbFw+�1
&�f̈c�B�kGV٥�
-�*׍���
�G����ҳ�*��
���'�D�����.�W��@�sJ *02�(\Ǒ�+�?�LJ�:�ww��#��K�w%\9�j�@�|�z���g�!�������w�ey��H��_
jR�ߖ��(<IS?S�{fs�%p
���� /�/�樼:B�(q��r?��={{�㲵=҆�EF�C���j͛:
�\
������j��®K��U5�B��c��1s'���w]KKZr�o	��'k�vdh{�d��w�I_�n����t㛷/���?i��8b/��A`"j��wb�X#�X�>K)
��Z���5}I�[54��Ƨ�*����7
S��
��*+��f��YY�m�1UѾ�U=%�O�2+�
�y��+�FH1㶯��D]�W�^ʙ$�0��T������.���L
V�k�gD�x��i�-Umɪ�k|�Ũ�~��n]E{�|�
3j�G{�q뺠۔�>�/-ˇu��Z��w��qF��N;�8-�
}�[tJoO��jWL"�t�t�ੜx�r�"k2ٞ�T�6�08Z�����5mtD���h�-R�+d�m�~.�ª��-ߞjxB���j��?����0�@=�lB@ܴ^��U�f.8�N���.
W�0�|*r��I3����{V�^y�:t�r����}�ac<
v�|,5��1=8U +p��
4eVO� [...]
-���t��8x�)�h��4r�
6k�%Q6�v�B\ɬ�'�g�O�z�I�=�e�V�bSҋ
-���]�f�j���✿��dN����"�Fh�w�0�����=���{^�S�[��n����3r��}�A�X{�ʚ�rQ��U@@�x�JF�*�&G�S}k�t/b��{9w�>�&'�����
�m���foBd���/���J�9���z�$^wQPq���>���2�L������C���O��$-�(� ~e���q6ϕj�*�Y^%���w�^Կ�}����k
;�8
A�DGd2����pg�V���lӉ���*
-=��
������k
��A��In�O�
T4��
-endstream
-endobj
-12230 0 obj <<
-/Type /FontDescriptor
-/FontName /JLSCDF+CMSY6
-/Flags 4
-/FontBBox [-4 -948 1329 786]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 93
-/XHeight 431
-/CharSet (/asteriskmath/dagger/daggerdbl/infinity/prime/section)
-/FontFile 12229 0 R
->> endobj
-12231 0 obj <<
-/Length1 875
-/Length2 1387
-/Length3 0
-/Length 1993      
-/Filter /FlateDecode
->>
-stream
-xڭR{<T����3C��>��}n̠�)��A!��5�Xk����I���K�$*6
��/��{���ˮ���t�h'�H�,�N������?�{��}��{��d�
r`
%Ѱ��
hd
p��6;�J �82X�!t� �Y��d� [!4�:��4�N �D��!�X
Xsl�D΀
�H�?
��= �I �Td��A�T�
�rX�
�
ѰA	�)C�h�8��
-�
���)`����E����!P��.w��0�}s/�X��O���_hA<"V�)��K,~!,C����_���BD�=�	��FEb8�
�ԕ��"�B����`P,����4����ӛ6B		
-�
\g�5�i�'@Pl�J
-�7�����H�(�J�Ri��f�"��k-
-I�*t��d����3@M*�� V�)dT��% �L���S�:2Ac�TS�4H�������
�t�Q�h*7����#�B��b
���ud�(,�^g�X ��/��(R�k
-��
==%J���L
��
:pv�'��R�d0�Mo*���9��a%

?�@���]I.ٱ��޹��O-��
kօV�8����f"��g�*����_��
](�l��M�
-Xx�����Ќ]�Zrg��j�l�/vV���sr�ַ�U+�?q�������|�Kϰš�O�m�ؚ�8?��f�lC#U��� o�Z�$�T_�/i�0����a�?\nWX$7��+�=",~x�;��а���:�3b���8��j�m����r�{�'�}J$j�U=�
���g�[r]�2�
9�%1�"����>�����2s�V�,�Q���\=x�*�_}Uc�,
o��_���}��5g�CJ�o�g�'�,�g�&�u��؍�X0��4�y绍�Q'�76�
p�p�*�q�n]�z�CeP�פ.��
�ԉ
#�]�:�-j�v����}�������}��9��K�8��yT'��.��R���qlۿ�.�?O�IU�k��.�)��٥�p"�c{��V�� �q.]�8�w���]
%G
����
Ӹ��7~wd�t��Q����/���6]2
��RJ>�vnz>��hM���o��Y���:��V�1�҈fy%�,Ķ�ٝ-m�?o
]z����|h�aNr��n��]�ɸ<�=Z&!�>Y��e�{ޙ�.��uD1~�[h�Z�a�.[S��-(1?�uUH�U�2��l���Ze�
ֹ��$d����\�.g��yM���;�z�ϵ�)��no��tw
�"�Z=+�z�0���=��v��9�`�4���Z���^O9U7biR�<Hwd
�����u��j�~�3��r
-���G�q��$2sݯ��'Cߘn����i�}K�Ф�mF���"X59�6_=�"����?@س�0��¹���-YS9j+:�6w{o�hp�e�iz�mU�xa*k����V�*�x�k8Tm��9�.X�2�یчe��?�Y��"!���,�F����2հp���L�m�ݸ�H��(qΤ�P��Q�{55c�-N�,��#��E�7|�p�E0�V��G٣�}��vA{����+�b��f�/4�������=J#o�*�0>�hE*��� �b���G�oS�w�?�MxzppIӽypy��D�9��
D(�+�̣��2�|t�
-.��v�3l�
�ZƘe9T�+N�r�|�K�onpX�b�xۯ�t��
�fe���q�fjy`/��9�Z�d�?S�̽wo_{��Xr���i���,Å����
��ckϣ�}�_����;g�P�ԹsB�4=�+'�,���#s�l�w%��͵[�]6�y�-��Iq��Y܁��'����MN��_���x�R���qV�;����q#��",�^�J�ݘ?穁��򌟲Xㅺ�y-���D�OU�!<�?��Ҽ�L{��fm)fd~��?�~Y�3���MF���:I��.�z۪R�R�Pn
0�9�
0u�-*�^�W
p�ՏO���K?rœ澴WE����4��
-endstream
-endobj
-12232 0 obj <<
-/Type /FontDescriptor
-/FontName /WSWKRG+CMSY7
-/Flags 4
-/FontBBox [-15 -951 1252 782]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 93
-/XHeight 431
-/CharSet (/infinity/lessequal/logicaland/minus/multiply/negationslash/prime)
-/FontFile 12231 0 R
->> endobj
-12233 0 obj <<
-/Length1 792
-/Length2 1349
-/Length3 0
-/Length 1899      
-/Filter /FlateDecode
->>
-stream
-xڭR{<�i-��䐴y�03�0�X�&�:��Ҙ���2ޙf�)�i�-
_QZi��9�
*�ՆVZ2j�7�(ہ
rh���~����=�<�u]�}_��<�z^�fT�
�8�1�
"@6���7p
�$%CC'.B�Q6�

Gl dm
*�	 
- Yِ�6�T��
eF���iӂ�
-P�.J�a���G ��
t
���(�
��b��<���>&(A�Q:�&�)
�b
6���|�gj��IMc��M at jfc,��у-��H��?L-m��g�<h�
�B�M�FY���hG���
#\l�4 ���
�Q~�R���P:c�`YH�O�sFc�
���Ac�E
��V��-!�����2���
��H�k��Z���$�I���y�d�v�ΆQ�	�K@�ri%���B�@1�H��0���q� MFl��£Bda�)
KJ���?cp8�` ��—\�yiGGvL��9	�YK�C�
-��������r
_�V��>�
T7�� t%Q�n�y��HI�����/���w*�E
-�w��e������
G�$���ZQ�׺�mO���h�x$�
�_S^��{a׉xJ
��WKp()c���#��{�<wX�c��}v6��T4n�����
Ǡ���'=�j�}�6믳+��ij	�Cݳ:z����}�^�|@'45.)7Xuĩ�x�Vl�{&���,2P^Ϣ��겣:t�ߋE]���7͍��Hz����
䶹)K�|}�����w������*[��;��;;��;Ӎ]8��3}Z��ӻ�oy�͘�
�0
�~~}*\�zk[X8ggR{
���k�s������<�e��=5�{�8�m{���e��;˕��N��ҫ�lk iL��5�kЏ5L�	�������h;���
��f���N
3)��|:�/B[F�"*���*��
r�;�D�N�p�z�a������o
9�W0��_�X�n�d&�M����O���O�vN
�[�q��i�m=�7��[��N��N.z��Ko�\��w�^|

��>�g��`*���J�}[����"s��Ɠc��YhȃW4-��
^���^)�O} [...]
-�7
��~��
���c���e��#s�M��[�k~��y7��,�Л,��M.s�uc��^�^?A�C�����e�*�F;��p<&�����;�XW��e�M��
�[��ÇOn\�g8%9<K�<h}�u�
!��\�/O���5C]�:f�s�y$�Gu��jKO�x:�cJ��Q�e�̡�C�F�a�o~I%
wz}mT��M�U� nj�D��*ir
����Q��OB���Z���ު5M�8:�TR����2�[� 	�/ʋ�&�h{��ִ$v�
e��2g���!�
Fn���	{��/�
N��]�=�<Nm����5ٍw)�k]e���+��浏dMSm�Z��o�o��[G�J�+d���l��9�s�N�o���U�.kť�m;�|-~>�Q��Da@����w�Y���������]b��W*�D~b��!f��!�bD�;j���]���
+��
�QΚ֙v�dy����w���.@�
-�s
-��Ņ�����{�M\��m���έ�r�
-M��J��+�0������Qy���%3B,3���1A���S�1|�'k��j�WU�UP��ګ���0����j>:�Uꚤ�7�TOQU�W%
����I*�N5g�&e�����Ip� ���-��x
]7���Il�
��˃'��L�?v(	M��>m\�Ferb����g$�]��ݰ��ڇѼ���s��:�k���܎x����萕�l���
�I�3��K�G�3��B,E#�������\�O��qE�����銻�������'=�1
-endstream
-endobj
-12234 0 obj <<
-/Type /FontDescriptor
-/FontName /JRVZXP+CMSY8
-/Flags 4
-/FontBBox [-30 -955 1185 779]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 89
-/XHeight 431
-/CharSet (/dagger/daggerdbl/section)
-/FontFile 12233 0 R
->> endobj
-12235 0 obj <<
-/Length1 791
-/Length2 945
-/Length3 0
-/Length 1491      
-/Filter /FlateDecode
->>
-stream
-xڭR{4�i
.
����K��W��b���k�2�4�B5�{g|��>����q9$I%tSQqd+{�*G�
%e�T{j'+�.ZuJ�h+�a����=�?��y���>��{
l�"_��8�ra�Y��/D����L����*ǖ�U��<<X�W-,`r=]]=]���iT���
GE\ી*c D���
-��D,"\�B��|�r:zB	B�	�SX,����2�0F
�1)��0���� �$M�ŤIG at ZDpL��R��
�N�S����r�X1�~4��h��k��8�
- G �M���qo!AՊ�,_%��_L&����Fg�9��
@!"DU� ˕p
�2�
-�ޘƊЀ`A m|�c�P�b�0M
�oⱚ��&3"�D��3�,RH��]Ԥ��1	���
�r܁� �
-�l���$@1&�Hf�1\E
d2Z �	��Pـ!V�I��Xr&1����
9T*a��
�J�
-S+ǀ�����I.l&p��,,��;�r���%j���j�W��M�R�L�D(��
����Te���_�vJ�1}���_gX��J�aъ8ūle���{.�n���k,Y�ϔ�8w� w��	�3�r����K����Yh2r��-z�o�_s�ȶ
+�:��h���n�.�yf1򜷾����3L�B����*
;�α�t<�?�JꁛޒW��V�ʀ�Ew�>3�����(Q҄�iZ���q�6ez�W����o�j�FӨ0kYM/:�!�V�=p\1d�*z���6�4�^z�}B���0�^�%5���"Ex��n{��ٙ��Ȗ��`kE?gas?�g'�'-�s�>?T��=e~e{S�ܢ��
��o�w�\�ձ׽J��h&TE�|#ߺ,��&`�C5:��RGy���n����+
��'�y7�t�Z�0̓F�{�
���4[p.�Piـ17�3��s�*�~��-�}B*GT�Iޥ�|�n.Q�d=�]��9�G��%V��.�-�?�=F�V�2�Jx���Mr�6�w]���}��o|��\l�kˈ}�d���ba�V�s��ܷ}��/w|h�~5(�
�9����__������U�VD<�a�����^w\W�����5�B��ڦ��������tk�l�4's��/-ihhw�=�"<9(c����{�M)F�	���zXv�kx��N��3������ھ�_/�}���I�׾]���GǤc�<:a�q��̌��&UmZ�
p�������b���d�ɸ���C�54\�h4�9͛�EO�#p�|s(�TV����r�28��O}'�K����
��?�8kkե���-�g�
�?�5�Q�eX��9�Į���>�6����D��:���!�:����Y�{Zf'}�kξ�t�{��*N{$��,�P�6���Kc���l�v^ ����;��o���J���{�"\_>7M�	�L��#ҩ3?|�skp�`s�nIk������>UYgӜ^r��|��0w$'�<�����6�Hpi�Ӓ�k���uկ9�l��?G��v
-endstream
-endobj
-12236 0 obj <<
-/Type /FontDescriptor
-/FontName /LRFJNF+CMSY9
-/Flags 4
-/FontBBox [-30 -958 1146 777]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 87
-/XHeight 431
-/CharSet (/asteriskmath/lessequal/minus)
-/FontFile 12235 0 R
->> endobj
-12237 0 obj <<
-/Length1 765
-/Length2 1314
-/Length3 0
-/Length 1852      
-/Filter /FlateDecode
->>
-stream
-xڭRiX�W���&"��  "� Y> ĀZ!���! T�4&_�,�Q�,j�(;(
P�d��T+[`J
�"
��hY;��3��<����9�9��&F�>X��$�,�� �(4�H @
��21�� �
-�Xb� �d+�:�8(�
���E� a�D��3
-f�D
��f� �%���
l��aH,�<
@ߨ� �P$��88
�-NB�� ����&�
-һ0'2�C*
-E(Df�21�B$G(�I �E�=��i�B��C���Α<�'���~ө��Y|�'y���#Ő�	9�H��z
z'�q�H�֬��Ń��`
`A
��]
�p�c �7,f� \/ڌC�V%
-�6u��=�ǽ,�?�fқ
�
I8�dob�O�0I� '
-�AQ�>��[�Ql!VD[�%�$(�'R "
��� P�B1
'�%�™� W(Bm�+Z���{H���wrt��bA[k kET
ml�-���0ّ"$o~
�50V�	A1%��B����
���wHL�~NiR����
{ܫQ{�Q}/�?���
-��gN���s��qݻg�c}����{0��>*��W�AJ
m�j�_���^o1��xq,����%H*ҝ��������saq=�2t6��?�(f�}�
�oj��e���X(+��	�]�Z����6��C�\@S
�9������N���0C�>�����jF�Ψ!�aOURi驇����H-��Fr[�J�|���Q�cv%<
����6�;DqӧzC���A��k�}��SO���-�
�Mu�>�����Z
�I_(�~rLj�k�����u��܉9�źn-��J��vF�#�����&�
�3-�����
���8�Œ��[qG&u|e����v�R�ґOŕ�ۓ��}�ߋ�0o)
+~.wI�nF_����S�?��s������]A�
��j߅n�
-� I��T��
�N�l��.���
?�ki5�vF��ܽ�hf��P"
->�.+F�hcNO�ſ���7��}�&�f�G�^K��Wnz;���k��(�
�B�3�+9�<�jT7�i�x�=y�ԓ
��ڹzUm4_�<�L��*�WKji�%�|'�0
4��zW5�E�q
-���q�un���H�K�i��np(H�kA�5f�l�]���P��$�o���Ji8��H��c
-����R�fw�m�|LE}���|,1p�"Ϩ�{o���]WS���.�/kSFVGc��M�V���Y��	�w&S*�zk�����s�N%���%[�W_#����Z��l5z�m�ů���'��DɝЬ�\�>{qK-��r�c�zN�P#��܋~�j0��L]
F
�
����tߣC��>ϙ{��s��n��Q
~����e��
-���c�K͔=9p�HI=�#$Q����F�.���B��JY��B��]��[H�J�%��$m�����k�O�

��h���eӝ<�L�N�e/����p!���h�������
�z����������V�L�f���2�U�U�����]���ts�����7I)Jv��v��
*}�B)QS����C;��<?6�d>]d��i��޹�XV�x���2
������,�K�����Ci�`g5�(K��%��z[<5�Xo["�t��'~��y��>{�8�
'k�x3'F
-�.Y�P,Z:L����]��T�\�6l[(
��7ۋ�{k?�
Q5�v��و:��v�ŨVH�|d:���o(��G�RjG�
��r�`��qP����I���!v��I����7�YM2���8^�-�Sr����3�ɠB3�E/,i��7��<��R\o��9S3��6d;}���4�e���� ޷�_/�z�
-endstream
-endobj
-12238 0 obj <<
-/Type /FontDescriptor
-/FontName /KNYRWO+CMTI10
-/Flags 4
-/FontBBox [-163 -250 1146 969]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 68
-/XHeight 431
-/CharSet (/p/s)
-/FontFile 12237 0 R
->> endobj
-12239 0 obj <<
-/Length1 831
-/Length2 2352
-/Length3 0
-/Length 2910      
-/Filter /FlateDecode
->>
-stream
-xڭRy<�k��첖/������}_���,i̼f33b,�X�TR�q�$e�9Q�J�e)D1�
��M�9�9_����<<�}_��\���
����hA$P��.`j�₀8܄KNΔ
��X"�
Eu���*`L"�� ���ʼ\r�)�D#c��� �T�;I
0ƃd,E �PT��F� g"
Ri*�18}�� N $�1*\������%p��k�&��?˜`�_�� ��@�d* L�"G0�/̞��
dj�����E0g��o��Կ�(<G��Aē�� �#b at 2�G���8;�
������pX�1��?BX�6�8b�h�J�� ��s{
-`&��&�Ju/���.4��~g�a�ߘi
-x���"�D������g�4�%��� �LFѸ���D@8�0`( �2�TD*�`z	��\�'�`v���cBm ��2wF�T`�@M F���X�? ����m��	14
�@U�4 -5�
�G�

L&����1-�
�b�� �P�54HD��
���R�󼞢���&~57�5�=�y�̊��f�8V��ZL��?#�-N��4�T��矃n��̜?7C{"�\��ѦI2�1��
��-h�:�k/L9s�ŝ��3�O��Y�<�W5e�jj!-���q��դ��Ӄ
-/�Ǐ���d펹����oħ��_�8rn�x�l�$F��d���Џ�C�h�z��m�^�X
�o���d�6e�&����ևz&�k+�h,�ۓ�>��G>������P�ً-x���u�kJ��)?=�����>0_;�b��*Ÿ߻-_P%�+a�#Y��8�pZO=6��h�oV.5��b�d���
a�\���Q֧&n;�ejk
�d�]����v�
��ϛ�V!��rSr[��/@:4�|�2	�4f�Ď��S�*��x���U���fв���X���p�q��
-���D�%�\['�ߌ�\k�lg�gY�~,$f�>=�ER���1M���8ln����%=�
�&��a�zI�
t �v�o� �w_yL�
"��X6�c�$�����6����Dn��.��5
Xǒڶ��H��
�`��fWqQb~c�
$�e�,A���,���q1��J��L���Z�k�OC���0a�&�~��<���mn+Q`JUf���@��f-ܡ���2���AD�͔��r"�f�ֹ)Ӊt:ס�s����kk��2+|,y]<g~
B|���a�:{w�Иb�{���yD퉲��� oˠ��N�W��ft�A��إ
�Aqr�K(��v+g�9Yo��Z
ɭΰ� ��o�鲗�*5� �8G�
i�~

v���ܵ~ߎ���	�B
�5R��J̗�֭���”Onz=m���mE������O0ek#�"+��R���B�c��g͛��
�`�,���/)�x=ʎ،�q�v��u��բ���2�$���X�Xf4��#�� ���\�����$�#�j
��L*=�#��R��K9Ti"�
�b�J&S���"(�WJ��D!<�ή�\\�^D���<��?�!~7��������>ӏ
���k�Ao
�����
�x�\%�u��W8�!�-��D��w���
BMn��}
������S��5�(�e;&�և���1�4pf�(=8q�DM�p?����#m6%�p���J�`����[�>�]^�T
^���p����c+��h=��`�A
��e�_yX
S�M]�g�G
��~,�G�]�S�����C�G�z��8��>;? �[{�Fi�[�1�ǎܨ�?�x�[Zd��w3�}t*
S��a��v(֑P��8��}>b��s�mC��
�����` h��S�f(��N�Y���U
��F�$��Y b�
5k�ήY�� <��
V�
�$V-߮� J��뫜u�[?/��U�%�c�B	����
�/��9f_���̴(
�xQ)��X
&�^9י�
�{@�
F����F����ܢ�PRc��>/�
-e��B��<�Cͫ��Fqm5�ZZjރJ�ƶ��'ґl�
!T��
��Z��q��7֪���5qF웈���o�z��T����p�4!)>�gb�#�F�t�ң�c�'T��a����J�}!�~�^`	��|�H�μ�c
�e,5K��ٺ�?���u�ﲿ�#yM�s=�
cH$˜�ܠ�
����/1�h1�[Ǝ6]�h��r����)���������>(�X��2��c;5���;��Z��e�Hαofã�������MՒ����	���
<�8_�]�fT�Z+.��a-�W(�'�7��m�U>�Afa�q��a��~K�~V�L�yxtu�;����&�L c���Bf���j
5a��f�U�wi���ux��se״$6���5v�t���R�z�c��A.��ĩ���0��3��<�X
m#���+;�r�O
�7n$/O\�:���g�q�hp"�����i�&k!�y���5��T
K�xeS`L樕�.�dr Zd�d%T��
?j�q�iBFf_��䑌�\����
-9Ĕ�ᅫ�
z-�q´2rW�䚀�I�
:vM>���!�pIsi|�G��+y�]�V��#��w: 5��糺C'/N/q��
�?��
-��rP�����"��1�
�Qm�ڢ_
-��|s��5iYH�]Ӽ%�
&��<
ڶ
��
a�
?ЖCڈѬ�
T1q�
~
��Pw�飅�[�T��ܾ�NI�z�~�X2�ݵ�;�Ϭ��X���������u���6�(�)\���Q�%�]��_��n��A���
l�nĴ'*<y��X
1<L!'��FL�J)s/Ż�n�MVk�E���9�����H�٩Tg��SAsd��݂���g��;K�3�%�I*��C�����v�H�
-���Z{�;*b�6qP����nB���E�ؐ��ԛ�7rI9Z�?�z��
-endstream
-endobj
-12240 0 obj <<
-/Type /FontDescriptor
-/FontName /BKKFBC+CMTT10
-/Flags 4
-/FontBBox [-4 -235 731 800]
-/Ascent 611
-/CapHeight 611
-/Descent -222
-/ItalicAngle 0
-/StemV 69
-/XHeight 431
-/CharSet (/e/l/o/r/t/x/y)
-/FontFile 12239 0 R
->> endobj
-12241 0 obj <<
-/Length1 832
-/Length2 1188
-/Length3 0
-/Length 1759      
-/Filter /FlateDecode
->>
-stream
-xڭR}8��N��vv�U�v���Q�sf�03��1Wb(T(���;�m�
3�0��%�QH�u��B����|��Dm�h#
��V[�΋m�:���Ϲ����羟��=D�m^d�@ʃ9R	J�Qh,��bsiT`N��DG
��T��0
Ь�-�
h��j͢2XT*���T�<�1
9�e0�rD$���h
���
�C�y>
���!1��UQ0
Gi�J���P`�h<gf�?j [,�sr�	�aY,��h4 @�(��"D�3���E"�˅�@�
-�erl8`�
k
�QR�X�5.ę�K1/�����bq�B,v��1��m�
���j��òń]�BK\X�(��.($F�l�H
�B
-�s%,؆��  ��rx>K���u����x�;o7��
��m"A�U!�α�c�_1����*������"3g	_*@$"`�`H&�T8*&e�`�H@$X	`%ֱE"E��@�cG&��=�9�aU�pB�
������a4>,�O�}F�2�
-��L
�lA4*�b���
-�
���W�-�c,D��°��z
H�6q��*�K����i�h8����/6t�}�0]C��m�P�>��Ty.?�9�m���<�6j{g<&4-���PX�PnD����\�j0D�m��W+�'�34<����
�-����e�p�������zKw�]j̋cZ�pr�;�
,�<��CK�zõ�[�{'6z_Š+��^Ik���Vd��y����_�.A�2����^��
���2�h��O��t�.\w���N�ӷ�7X�bH��K��ϖ�
c&�A��a�e|�A߁��
-˶#n �3�\��(���'}*R	Q��l����d/��>uk��s+e�*?�h8y�R��ޭ���m�P����ro�Ov����i9V�O��:=��t�k�c�Nt�3GM�l
��U,��mb�e�C~�
�a]$��s)��ܒr��u���M���3g6��%�;GG�/�4��ރ��
ޔ����Wc�v��9J^{�
�����j�j>~�K
8�*�2��н&
1[B)���y֬2�k�ٺ�l���hfg8fBq:���GN�EDn<{	ve,��W~[[�L1V�W��Q����
UJ�v��;I�
�i��z�
�X��
x��f��(u5�����O�?�b�\���w*�	�aG>�>1Ja���q�O C�;R^8��?�E�xʮ��m
�W��\f���CY{���2��]��nnA
Z�����I5�
/Ѯ&��=�r|�
맯��"��c�Mk|�lv��ʻŦ`s���s��
�~8[t�
�����xAW�9��p5�|�뻷�]�/��i��=?m�� ���s�!v
�"
-C+�l�Kwy��ƒI����^�N�[9ͤ����

$��9o
Z���=��W�
7�s�)<��E��*ʿ߰0Rt)�&�Y�a:+y�W?�����N�C;+��~�ש�7����7���5Ļi���zL�{WFĬ�٭�fOܔ�._od(�$Z�ɇ��h�Tf�/n=�n��0��he�
!�h�/c\�����]�
��
����4
��\�H�W�����Q��O$m�2L��|B�أ��P���L��3��j�Ē�ÓaO�;J�S�w�u�h׏י�]E���l�v��7zW4Mh�q��a���� ws�Cn�̸h;��i?���k��U��訖���<N\���[u��y+�8x���w�۲��A�&���jP5�v�
��<�]�y"��7
-��
���l�3
����K�tޫ
Y|g�q�s��I���
-�����c�
-endstream
-endobj
-12242 0 obj <<
-/Type /FontDescriptor
-/FontName /NIRNEQ+MSAM10
-/Flags 4
-/FontBBox [8 -463 1331 1003]
-/Ascent 692
-/CapHeight 550
-/Descent 0
-/ItalicAngle 0
-/StemV 40
-/XHeight 431
-/CharSet (/arrowtailright/forces)
-/FontFile 12241 0 R
->> endobj
-12243 0 obj <<
-/Length1 920
-/Length2 3636
-/Length3 0
-/Length 4260      
-/Filter /FlateDecode
->>
-stream
-xڭSy<���F�A��"���a�lYƖe� d��h�X&��5!dɮP�-�X�){�%�)e�q�:�9����?����{��u_��HK�����֘D�(B� �K��%DPQ�pHK��h
-�D4BS�����*��� 
 9Q>���!
X�)^ �Jp#����%c
��I�b 7*@���,�&��c	t]w4
@��qX
-U��cH�q�^@�P�g2��#�����? ��Ò�%���)��G� ��̌�A4�4c�}�r`�~�� Yz�r �U
����
�� [�蹰�J�?�����?
o�&�������
��'�ǒ�M����$K,�O��׌�������x,���	�g�
�b�8�����aٱD̿S���+1������P�����)�T��e�a�?�>2.@)+)+C�D�����_�`DwG�T��4���r(ӥT�Ԁ`�#b�A 6�^1X�H��C J���
?ר��
�~!
 6���w�7:�
��� :����� U ��i��.����>,��B��R~�{t��`Ez��P�O�
-U4U�C��ݟL�)���������.,6���n����[
-+
�b9�h��8ͪ�s�7Ψ��������gg�
��sy��Y��N�%�]�0ފ�M�;\p]ν���v�%u���n�G�֦�oj���3����e=��,��ٮ�MI0t����5
�s�vq1ugT%<9���и�@��t��7Q��q�f��_Hm�'�KAE�N;�}���
e

�c��*1C�c��{r��&C2؅Ă��r!��1�yG������F*��m�"�I�����V���8k{�U�#�Kwy\o
Q�>W��މ�xҢ��J��VO�<G�n
¿އ���w�,�llp��9�.��V�)W<
�/�2~.��Q �6F
��L(�:�f�.�2'�E��E͑m���+�� �l���}9.��*m�c��D�p�!I�l��UgY���{�=�G6�W-O�=Ͳ�u�)n��	
�;q�����o�� O]���&�� C�c��
+E��2�}ܥ���j;�.�צE��ᾙo�A��dȪ��z��"�F�):�V���]��U��8;���cK��|n�푛
�i���o~}e
a^�!d]о�hgm��ȲW:�R൨ƕ!�R�y���?q�Y%W>6&��v�#
�O�A��'x�3�c�����Nze�`p���Jev%���mC�K��� {f�b�Q��TcV2���jya~��;�
�q�^�"w;�1�Q���q	N	Dž�*K�#�E�z�[��few$�vf#s�<�,h"*������U�կ4wk�q���q��y� �с��X��|X��x�Kk�z$)�-稑C��Ī���K�J�I��Qmv=݅����OO�J`�����g��|kpM�XĜѣ������[-b�W�v6��L+-�jhR3��z&�f.cjn�K��cR(ԁ9dh
O<\g\K�
�d	�$�;�
E�	H��aOs��̈́�����1�
-�2Ńo
J]���ݩ|a�	ߜ��7�&��q��Gv#�?˔!���X7,h�x1��*Sӥ�R�c\%�>=
-T�"��=f].��n�^�+-
-dz���D�ߙS��I���?�CnQ�v��>��<7=+~�
�9�D�8�r^PL:��|
Ɩ�����#���Z���� 7F���ݢ

ό�n�<���$�^4Ϙ�D�]:��g��m����G�K�-�+�:��<xnX�����C�8ȷW�Š��^�3��-=O$������W-��\ϑ�í����]��)�Ƀ<dUEy�*<�*�d�s}K�7>h��/�dz�b�v�#���rC
���':��ə�LA6��B��>�l��
ô�IS�z��>��Q�|'�;�*\d�
#\{1�mvS�B����S�S,	��>����wA{�SD����M\��WL�m�
誧�&����=�	��z���;��9��?�SQ�[�����K�������8Ns�Ye�W
-�mpc���me�P~��Ͷ*
VJ�"e���6���Jq�d�����c�5?_a���ح��>��e�k�4h��l�'��9�Ă���|X�*G�եF�3{l�����7�6�6�!pTX�x����#w�h�Ί��?Y�no�Cq|4�5s��(i&x��y�+��T�Ӡ�������^�Z'���wd/���罴��{ 
9�
�;�DZIb���~�
}��un(2e29�i1�XQ�|��T,�<c���ͅj��FIB���� �}6�h����œ{d��|5]���~.i
��k��.��f��}:�3o�����^�l�X�N�uW�V
,��C�g�JZ�K�l���I�q��^gn�0]f�
�?�ot���˒��OM�׻u��t��98V���E���x$|}N���@Yi�>C�[���j�B��ps��¾��wJ�+��E@��Ʒ)9�[i�\�ֺ����Z'g֬
��;`�5���|Ot{Wj6oD����IB�x��i�w�
-��g�ߧ)L�_�⦍n���ǦW�
��~`�-KK
���+��:���+�<�0�5�ځX�Z���Y�cę�O�b_Q�f�舄�(�v���yt񀲢���#}�{߮���@*�|k
6�/����G�5��4U�|/
&��t�X7����u1�S���b��?O�$�Sj�
�H�7��cr�O��U��J��
��[尫�Ih��3��P�0a/�&h����{����.�jU9
;[S0	�C�O2��nK@ϪV3I��fX3�xm�%����|h�d}�e�'�;mm��EI��
�C���&���O��B3"l�ɝ�WS�����cC׼��*4x�=\���Ȋ����_9�z<H���ny�
vs)W†�Y9�&�����
0�`�jԶ����-O���^�ja�m�{J�Y@�4�\fw��f#��8�3��o
$p�o䗏����I�i
�hU��6�u1�z5�$������B��+�O̓ro~��o-���DR�.j�����u�����T��D��e�|E �ܣ�G��MQ��8l��h�������
���.�>�!M�*���
�㩺�Ia���?�����{(�3��F<ew6�����5�8)oR���#�fr��������:j5WX2�{,�7o2
��T��e!��vW(eB��+��=Ȣ^鬩�x���=��L�_j�����
W�m��˄��9|�f��,�ҲL({фpi�\Q�ZR"<���򚑭���Z�c�]�h��Dǂ���Kh��qFɽ9s��a
C`8E�Ku֬Jԯ���k��E�ne�[��e?���%��N�f�#� ��IF�V����k��$��'����?����I���9qSԵ��O։B,�}
��w�X{�h����C��>
H�gy�P
�_���~y��M��R��̭+l7�Y�pG5����Ĩ���fg�ԑrȎ��k��(͕U��±�? J�s{.4U>���)9��ã(e&�>�l��L�����ȅ�ON~޻>�
����"Š��(�B�ݜ/�Ae(
�r���A;��v���y�g����F��v
�U�����rLy
}�c,F�^�53�^�4�]�
��z#��]�~}3�
"G��(��y�p͢��}���!;|�4$qх�������oJ��TfQ�m�����!�
�����ꌓr�y^���
���gfP6�?���8���3�bѾvY0,�Oem�!cjb��h���]�M)��R�L�
-��Ó��꼂?|�%*�3{��ӌ�Π
{J
֫)�Q8 at v�C�X����э@���\�_�%��4��r��
��
�?UR�L���Z|_T�n4bL�%I����	
-��Јqǜ,uPa8_��c��Qy-� g7��d�����WgtJr;�C]���RVĝfY�W�s���]�J��.��L�Y�e�����k*�d���֠@Ղ�n��¦�LIׄ�Fۏ�B
FB�;��6���V���""A.-#:����r�T�˾�մ���l��^o�;ܴ��q��,������&��&o٪���ּ=u��3����(��uz at x��b��fd����R�ގ�wڕ� ;��k���$���/���1�����-�j��ޏXꡬ��gi�'�d���,*h��–�
���3|�P��`.�|/2��b<lK�F�����S:�w/�{�WBv�3��W���t��:6Z!��2���
U�K�"Pg��b�h��G�?��v�]�!�
-endstream
-endobj
-12244 0 obj <<
-/Type /FontDescriptor
-/FontName /NUYYNC+MSBM10
-/Flags 4
-/FontBBox [-55 -420 2343 920]
-/Ascent 473
-/CapHeight 689
-/Descent 0
-/ItalicAngle 0
-/StemV 40
-/XHeight 463
-/CharSet (/C/G/N/P/Q/R/S/Z/emptyset)
-/FontFile 12243 0 R
->> endobj
-12245 0 obj <<
-/Length1 1612
-/Length2 18915
-/Length3 0
-/Length 19754     
-/Filter /FlateDecode
->>
-stream
-xڬ�ctf��&�v�ضmTl��m�*��m۶͊��m�Իww=�����c���k��\cQ�(�2��9��K:ػ2�02��v&n.
-��
*�n��B8
-
-1gscW������9/@��
 nn
-`e�����Q �

����V� juM::����c0������. at K{ ��ws[G;s{׿�׎��� W+s���
 �MI[FQ
- at -���2�7w6�(���M�@Ss{s���3���������\�b�� �.����n枦�������v@��� �
������o\
 @{S[7��+�p�WB��-�����)9����:
]�*�K�;OW+c�b� ��-�
L��)�_��0���@{�����?�L�f@G[c�����9:����
���2�8�[;�ٚ�������Ow��N��V�����׿�
�e��r ����Z0±���i��7�%�
��A���p �0�[n���?u����j�?3C�7	c3{[/���
����ߐ ��;���H�o������z�����
�o����}�OhI7[[Ec������a
 �v��������h��p�OCM�'���#�j��"��	afd���"	�47S��Z,�m�v�_ru{3sg[���_F��L 
3��Ԭ��6������*s{��L�/I�J�IAG[VR��?w꿬��r����7��Q�����:��!* [...]
-Ʈ�@O��ߒ�Y�U��x���0��f�̊��������_�Ԧn��Y�׍�[��<�k���=�M�V�
L�B�S3�\k�s�'�u�{Y���
K�
-��
zR�wx*��k��y?ۼO
?�eiF{�l�z��/���h��Q7);����
J��4�}��!t8�5v'�U
�ߡ�;؜a��h���1�
��MS�c0;QA�j
N�(��
��F��zn ����c`)��!)����t�+|"h�Қ�oگ>�5�}
r)���#��_�,������!�څ���[�+���禣�E�y~�|��QH�`�7L����ڐ��d@�
?�]S������UӾ�!�̏�(w��{�@�S03�D�U"��:�Px�-��Y���f���$
>.h�t����9�7��w���Qb<m�q�y��Y`�x#>0%?
�t��8!MVt�����ޏO
W�	����
_�z��X���"?���8�]Ԇ�f���%A�ϓ�N
K��e2�9�C��t�(�s�
-��$���� )��|�y�%-vy
����V�Se�]�[�/޲d��5ENo#�Hә��A1X��;^����9��s��I�� m�t�m^������-�~�w���y��l�w"V��v�� H^�՘�E�v�-��
�
�6��
�%��Gr?+I'�'����[�H�sh���?���%�@�1<}^�m
�nD�NjZ	�P�ga8GP���6�}�f'��Y9��_��A2F�,�R���j�
-_�����w5���D���WS�~������!��!��R���
�y�Oh��\!���"�*�dd�'�Y��^��2;l\
�q�k�(N����ml��1AN��;^�D!Z�M�A������ϗ�]M�ޫ��@�V�АG]W�ȷ�b�W�Vf���_�h��H�0��~#�&O�,�c�%���֘Β)ih�9zd#^�?0
��(R	
-r�X��4ˎC(w��3��׌[
-�8�G,��F2}<��z�z[��(
]$7�/F��}`�"��4���'��
*N��Up���#Q�\m�k0�Y�ㆲu_�20m�c�	Dw1O� �\�0]4�I;�ﲒou_��?b���62�Sٳ\���R���4�P�x�ß�����
-��43n�Up��ZQIA��4�+�I�.	�d�.mҵ(��OÑP���Fh;wGu��vg&��mF��vXf���e2��4��A�|I[ N{�<��
��p<���
�l
SW���um�p��/v̌�q�6��jO�r�y��
-��<g,e��5P
-����?�~�-��.ɽ
qYw	?��M&��$��j���
�Ү2�����/�N��T����w��`g�P���*H��b�)�#�P�
��x�L�+���>S��_��""�=�z�`�u�Rz
u/��l�	���ꏗ+.�&̍�(�)l�x��/��C̱&�g
B���-
e ���ߥ���qc6�*�
c$W(��.߯3�y�&�~���^&S��TA�
��^3���"v{B��B�>�Ev�m4���k��T�x�&��z�%�s�0�k�Q��8.�;;$�@WU��P��1N@�7l����OlSO�{�ƶZC�����(�*2M���f��h�!G]��L�p�ʄ�^q�f�ݹ�*������K�5-*��S�}�+02��K�
-�nql{q}G�_ at K�a짂�Pv�.���.����rn�d��A3\
-F��놧����wW�{�-�;#L�\�h���h
�Rn���w,rFOdi��Lh�Wɩk
�}�N�<9�-
[`�
-
��EU]�NQ�ǭ|�����Б�d���n��9��iʑTw\�?ǷQ���ǹ��
�
6�q��F�P��M9f�B��Q TQ|w|�����/�St���rJ�4
)2�}�N����>=~����ь��S8%'���
-�$���Q��S���=E�
�DŽ�@��>����H
\��h�ŭ)~��!���M-օ�cl���\�
��?}1Y��>*4�J&�
*s�Dp�� �F�6@�(g�
�(���g�q�����k
�w�T0v(ܽ������挦dB"�
�Ƀ�]I;1iLl��/� ��0�������o4Ҽg�М�ݺM�
-��b4r�>��߃du�u�2���W{'���c&�%�h
�&�'%�9)9�;m���N�N������ hh�,��x
-�`��~��z�wfP
/���_�=µZ_r�H���2�����<+]"��|
gS/W:s��V����!�z}���Vp�m`~+R�3=� j
-j�y���#��iK8
�
-]���
��B���Z���l��M�@ [��K�r*�I92=<��H#���e
̡�s���+kti�=l�W��Int�Q���~8xG�O9
��J�T�
Ծ�&Ǭ��MR�vl6�n�2/�S���b���=G/n�V�u2F�R�B��Yc�^�Y���=��zT���&/xJ:�gԢ,$yͽç���RG
��o�0m��+ѽQ�N�
%-wfa9@�]�d4QKa}�Z��S��U�!Y
L�j�=��p�4iG?Xh�j���,�DGi����hm��:���#ГYC��
� �Q�E����9i���tk�H�&�|ԥl;9��HӼ��7�B�n����+�ȁ���d��Opu at Yԝ�����ׇjE��*�|��b�x~=���#&c���7\�Dˈ�'pKC�����ŧ}����1�z��s<��9��Z���������[ɭ������<W���C�HL�d�W�O.] m:F*|�<t��U�O����?0�ɥ*��<J��#���v���M�@�e%����
�2�ޭ��L<?D�����c����Ӕ�d�b�&Y�v7O��t��p�ә���[����q8d���K}{yE���٬�9n�ȡ0�ê�(��C�@�P82	ɗA�~�9�������rjp��:x�oc�LQ"�ڄb�A�S��A�K��
}��)���N_��P^�+�o,��noЧ�w53h� ���ˠ�g�.���� '��ew0�G�l
��ǝ�N"�#CШ<(ؔ�i�J�/0~��D�8m�J�x�8�}G9
����,j
�%i8�J
�K��<���
�@�c� ck-I����r\���2�Z��M~�>!��*������U����R���@ũ�M�
6�9)պe�c2���&�S=��u�
�gb�/�m�h��<
-��ˍ�P��3
O�
�o�kx��o5ݳ�#��&R�P��#Q����/u:�2��� �BN�c�V�`�e��b�p��� *J�V���7�ӘP����:��~*_����8:�_�h��(I&��Y*&��:�h���依�{۪f�v<��ƣ:�;�룙w>_ۑ^�vKٖ�
L����
Y���;���詃��t��ag�۳�	6Ԩh�^����7
�Dġ�xʞ�Z�&�����w��^�a���x-�Щ�l�֞�TS�V�
۸��t�a�݋���h�!3AB�ؕԇ��� �P
~l�n1N](b��k����uڳ�o�}$��+I�|�P�M@֚6����)k�w�4L:p�
�M&%�:�򀟘ˁ�T7����.
��_3U��+�Y�}ۤ�ǒ�A��#�X�b(@�-j��~F���^@���
N�����p��������A�
�̩����N��rJ X�]>��
-��zo�
s�GEv��o�毟�j*f��c]�o���,��䙟�a
vY��iO���HV��{P
;�'5RI����
L�bw7ytm�i
���� G�J?ޱˁ��H�z����C��EZZ{��8KW2Fێ~V��S���D=[%�YG'���2���'�O5A��)��qAƷJ�t�|���D�[^Ew��ů?�����,6�r��B�;xBD�
j{.3E^g-�ѥZ+����
-N=2��%IWh3���۟�oC��Xw�G�j
˹u�����a�����%���*H���Η���
��,
��&z\A�&��(HC��7�{�{��
9G�{�f�ƏͶ���?C�
�Sr�NAK�����).���]���øv��Bi�"��
�w���T�
-x��;�B�Q�������Z�-yE���s��'v���݆�"�2�$�����؀
ճUF18�EDR2�G�v�.$�#E��RX�
�A at s��e7����bC n�;�2�3O.x,��ʄ0��0�=jy����̭P���o�R��;:]K��ezo*�i�x��y�z�\V���e�?�D�R�N-'����0f�
����/~�'���x�M���C���P�yQ�Ե��y���j-�U��\�#�հ�-]�W�����ٌ��њv��v{Òp-M<ŧH[=<��Y�p�Y
-� /�\��X�<�?���4�g�E->�y!�]3ĭI���27��{/��vÊ��Z���
-��7[X�6��/�3vj�U����Y,DR��p].J�hT
-
���I �NJ;�V�
��$�zar>��ȷ읱쑪�RG<�3�χWq�]�-A_��U�Y7k
��,�ު����iu��#$bޥX�ȹd����,�Lo�X�֊�]&^%���ڻ�
i�à��; +T�����1D�`B<�1^#��}�ɅȔ��.�w��()B/�#V����ݻE�n�O�l����I���H�O�P�5q
-�;ُ]Vn���Ӂ�ٟ�g6.�I&���j��X��6e�=�83�[�d��Ra���N˞��=��t���UZ��m���	뾧`ci�F���GE�~l
����y���%�C���,,No�
-B�����٬!��
�B�mI�@�J%����ߍ��WJ��I�2�����I��uX� ���c��?E�8�l�N�Um
1\o
E��NB���V}�\��dk���|�;��!�g<tm!�(�%�[$��)9���0�b�N��ھ�;��eN+���6����g7��X"ک��y��h;r�%�B�~J��)/�
�����=��%z�fGS�
2�d�*��<�Z�

�a��
����ڟˣ 
!���&u0���E�X�]�`��
m���:�^o�,�`
-O!�0#�
<�l��L0(�� �C��W#;�X �3���5���F'�~q�����{Q���Ι)4���
�����t��좳"�D�����c�dO��vc�ܠwz�S�
I�B6!}I����
->AY�w4�?�>$�&Y ILȝ
C?p|�篇�@&,O��"�:���E( 
�����3<�TN}��
-2|
-���&��a�ǂ��V��v�̛����S���[)(o?R��'�?���z@�S���
�+���L^C�މ�JW�
TM��P��]�Q},�ф��j�(ǘ����[�����*X�#V;B��&�o�ŧ�݉���c�^�z����^{��0	��~�����
?���������.��E
���Sku[�ى�3�E2�&0
΅���.g^�G]~�/��7��

��g��|����g�B��[�҂��߯�j>ksR����q��:�̵��f鶓�X#b�'�yJعG�(��� 84�	BZ�z�,rY ֮��M�<e6���ɚ�&��y��Wu�(��6�Ò��}8�m���@�N,>~��L�j�!<`�y�I�Y`Ӊ���)aU(�!�礔�(�K��
������%��c���D����8n������N0�S~�s,#�λ*`k�l�:���`�?r,��ó�߈,/�N�����>/i/�=�%���6T�c�+�#�p]R���a9W�.ʗ���{!��`������	x-oR	����D�^�����]��o�PA޴
�����	ɐ�"��
��a�)K\ӊ��.�b��_���4
b��O�<E� weZ�T�2��.e̯o
-��"�$?�C"��|V�޹#)��Al-�����ʡ��,��,�,.��P� m.Eo�����С]f�
�.�2�԰5��=�1�����es
ط�8L��O)}˨XH���;��r�'
���?_v���������REU�L�ض`��)��,{�P=�i��_��#fBoe�c�CE
hW*���S��w��BP
�nL�e�I%e竑8��6)]%��XȓR[{R��`��oh�7���J��# k�EQ�P���e#��9
ڷ�R�ңU��y��ܺ�B��ƿ��l����7H��An�bu����
8fy.W*�:������$�qH�\�Q)�Z"�W�/�"��{��in	�:ồ�k��
o�m�l�Җ
Xtu���y�n���h??C��x6jO��U�G�,y�/�������v�ҫ�'g��{���d7��;/U/�2Tl���3��AA@�

����h�|�#�7Ѳf�C���^-������%<Iǫ=��~ex&KFę4�
�d�������:%�#
�
~ �.��3'��ύd]��g��_�iji!�T�LLQ14bx8���Q
����^GE�x^NJ=�WZrf8���W� 4��B�s�{H~�	��)�t�À?�ZN�{0B�rW����Ԝ�!�}��w�S%�m�XA���

_zb
Q�֖x�
�h�>�Nz��]�6�h������fn�"-��������m��S�հgќ�9.�Dy�R�h�b�Q�1U���ḣ�҇�عx$s�ƴ�~a~
0(�R$"�{C2]�މ�b���ws���k�7Q���๏�z	�
����j��7�ڽ�~D±ƨʼ^^G���կߡ��y&�̶��K\����7�{��
ڒ5DO��2��-!8���ce|��u�P}����H�k�J��;WxQh}Q�"��x1�b�
-�{m6�޻<��?g<�\I ʟ��6q�W�
����
-�
{
���J�Y�<��R֠�\1�
9N�hg�\�=B�=�>�����/?�kܚ8"]��M�
��Ȍ�64�/~9������D�k�0X����T)��Q�tGQ8�LҚ�@'��F�^�^�"G�FjXU�}�t\��p+�
-�]O�G at c�2/]�W��A�`K��dgıדY/�J�3o��9�	����oi��g
-�r�r��
*���׏�t)̟��]6�c�O���m�2w�,Z�<ZIN𡳓]� n���� 󲆟��
�堑��
r��������9H�����
��m)�c�1��t6�1w�
����V0'�V�b#�ɂ�
-�=�J�%Mt���
%L7�z��
�K��
n�֧����;�^�3����b��5+���B�if�9�����a�4S�xu�5�>�
�–���t�w�9c�}Պzm켢'�6�o,��4�a����*�Bp˝���Le��6����2ƅ�9��p!9{3�!J�-���+o��י������J*ap>�b˶nu��/��*���#��Sō�}���g�
-����9�8O�s�@����.nL�>��}>)�sb(��P�%/�K��
��(���J�g}j��?C���6U�LvX*����Jaa�
1��aE�#�ϸ������^Q�[Ѓ�R���e;�\h
������_� �tk��a�r �K�V�τAvvQ��T_���ހ[l��A���*�
v^��O@��	���RB���^��:o���`H
¸,k_b!�}^���2�'�Y�4rÅx�ҏ��C��bn�Ț5���N��灊V�
F7��8�T2@��'���u+j�W4	b	ڟ��_�R
iˈ�XJ��� �_�
P;
 (͞F�N��&
2�
���
�y���������|�b��*
����k�̰T�R?�hH��Z�������eF�>�C�Q��= dDTb=bp�
T}C����󫴨�ńl�1J��/�(R`�	0��]\s�D��i)��������ʴ=DMo�W��.�/�xԠ�
�2��P
��g�l�8z���Ԁ��
�I�+�m�=���{�i|w�Q���=̚�:���`�M*��`��}�A�֠��mvd�$zH(^Fv��]��0�y�F�TK����>�y
<�;��m��O�7���
�L�`}'馓ָ���]O��L�	M��P�C�@Iq(���2Iq�p��t��+��dg�FH{��
�k	��'S��.H��+!
�% 
�İ
Pdx�ny|x��^o��ҿ.��rOW�3n�hY6���^;�|��r���4��_7�x�6�>T�����������Ax�*�����i�������K����\̡�ϧ)q�����P���� �+㢭�BO�PO����M���Yए�H�c :��^�pCJ4?�Q�؜�(,��It
q.��!��P��<[��H��5r�26@ܴ�'q�h_ at 3(":L��6Ca�����n������������艦Qw��)ޅ e�
�yLKD�)������uӣ��|�H��FÈCiS�ɣ�W�����Y���B2�B�ٖ���X�j�N��"�nr����
k�ZW���

�7
Ӓ��I���ܵ�
Ė���N��h

>��
�l[�Qb�.�����o�L��>X_�
� ��4b
-MŬ(�ªku�:ܬ��*�!^�
�+��!�Z��
�
�v
-��	�G�!-��.J���!X|w�} c�f��
-j�s�!������}NgQ�����8*�]<��ôi�Sr��p��*Z����7:����5�A
�/AϤl�Rx��q��{_��,Y����|0|�JB�-�QX�#�dn�yO=�x�m���l�:I$
^�����q�
_���4�Zp� �*=0��
/x���r��]ʆ V�
��J�b��^�	�6�#��q�����1�0~Қ���W8!��F.
V������=#,��?'L�}
����_��\�����2Oc�m�^�
.�~��\�M��mt!��rFgn�p�(�Qr)J�n�5L��{uЩ[&_�g�cՃ,H$k-�kO�N�Z���n�fI�6�v9NC}U6��u��c�A�����߸2T����EaU~FL0�G��?^w7���]�U�
Q�Ȋ�m�BP�qb�S�H����?*���d
c�X��#��y���1GP��.L����Y�攈g
�;t�=9 at 4Z�>>��b4�H��@�jo����c���dqƳ��6w����
\
?%=�D��\��񞕻� Y�? �D�Q��u|Q��`�8�'S�2�Ad:�W)��ՀF�o�v��z�c�k�[r�
yq�w�I����E����0.��g�
�“O��_buL(+����_a���P��
�׌�
-�g.��)�<���BK
 ����^�8��ѵ~a.�U��Z{�����*]m��i��!s�_��W!<�\��4�w�Ì�Bl03����b����1 .c��
�\U��Dk�Z��xFET��{�
-|���@Ԓ�����S���G�����������aIJP/�K*��|�Ir�_�a�
�mRѤ���WT:�Y�]�F����B�	]�}������y��u/N��-�d�[Huۋa_��k�:}� ���U�x
,;����
�qn�h�J���o	;_��Wh<���+1|����B�Z�������6��q�m|,���q��:�;�X���K�1;���X�g�Z��$M���~/f�bd���OP�s�ʏr-��CT_���
+�2	���7EL�U�֤	�i����
��?&F
�p���B���P�.7 TYy����yx�i���_�/z,��0�}�@���̈�93�-��B�p
q�/�z�3
��jQ&�C��o�*q��3��a]�xѲ��!y��9k/;�ƺJ&}!��V5���������;j��M��ڕ��テw��
���E�4e�u{�ߧ� R�)�����5�ns��3��
p���4EU� ���#,���С���F��^�ٱ��-
���J�?g`��K�v��_�{��a
O��B:�"8�
-F�~��ǥ�d �E�y[/���`�%��]a��>җ0	!'d��
cM� :̥�?^��4�:Sr �ju6��=K��N��^��-���3\>
������rT�m:��D����*,�B��K4���Ş�����G���n#{m��YR@��F����Z���B �[��͓s�:�k�x�|Za�
�����y}��Wwv��Z���є��B���Zr�ޏ�Bk���%�R�1PSG��~�����X��.
Qػ�-�҄�-�y���g�N�Ij�����ct%��}g>,�ؗaY{q(�gN!b�e�n��
-3�*#�*@�D
�Ƅ��ٶD��KϾ
�
E�{�5b6R�O���[F�E+:"�%H��w"�ԋ��&0�LN��Ԕ)nR�O
 �.�JU�|6�ھ�jFs�iq
�� ��8�c�4��C��*��f?�f�!��^���hC�����?q�����ãCL�4���6��������SԬ\!�x�"�K樖���pd�m��~Ƌ{�/�

*,��FC�Ǧ�犀Ɵ*�
-S ;��^Cb��:��+�m�c*���JB�����\IE"�f�Z���*d�FEo+Ṽ-�)�H����ΩO�ɯ5�J+�_)�~��R���G$ˎ�C�?��\�*�C��,����z/
)S2LL�������r����s������s�K�
�K�׍V�!u��f" �(Y҈�n�)G��QqC� �c��X���6.=
-�*��
�M��`��^�bC��ҿ��f�8�*.��1e|0�d.�7��{��P��W�.Z�1�c�D#�.boPT�ް�h$�8KH=6B2Qx��p���x�V�XE���
��%����Zy�Z�Dk
�8��+�v���=(c����X@�U�l>�2|�n�z#VZƷl'���J�X��l�̹�&�0����#�jؑ�.�	�k�p�,~��_��u5(:��)�,��ID�7	���
��ǽa6x�%/�
��@�P��F��q!6/�Ib4rS����E�OmT����C�n.6�xM7�
-�D��Њ�zUX�c��� ^)z�a�
sp�`?
t�2h�
R��t��N�� �@fw+w&�6���%��Eb	�t!M,����gI;��Qͨ]��U~�=.Ͳ>��\��qO@�F�8x��';���$�l.�N�S�I5��� FX��
ɪ��޴�%
���A?��ޠL
���Q's�Ut�p��]�}P
���x5��CS�[h���T�Lë*=��^NL��
�,hz"$�E�"���s-�<���,��]��|qF���Eݗ��,��P
=‚�/:�\�G�|vXdO�b��0{��}�>�\��أ��{{uգR56���'+�@�r���N�^�=�M���a�Z
�hϩT�*�5���
Z������s�G��1ugf�ߥ��"�Ɛ�vZ��3,#������4:��ο*�(��ӵ����_ڳP�G���Ϻ�'�M��
�L-TXE���O1�V���f�lAS�T��������-*1q
-�	��9"g��1�h��Ƚ���k�Jtβ�G�d����[	4�V�k�zI�
'��ԕa���
��}�Z��oJkp���oP��
-��N|�ž��Fܧ^ţ�e,�f����[�
�U�n]Ε�c�s9
��=WE��WR�l,�9�v�Z���,���O�˳�#ӯ���Wi!�f��
<��eMa�0�����z��__�{�\�_.�yG�O�'$t����*�(��O��g��Ӄ\�6���p\��J��>���=�X �q��z���F�~��si|S�5ӭ��Q!Zc3����d�6
!
J}�F������1U��*�~u�@�U&�,9I��
�8���2HK�D�ә�C/E�H����_�ۻe�3צ�)�yۏ.T��Ё��$��ҫt|Ww!v��s�׽�������1�|�����qDm�՟s�^�2���J�
�Ӹtc�l�~��&a�Z4���^�
r_
Uq�71�RKv_G4����3�u-F/
�
-�٫�l��EbO�9��P�0`�˷1�Vz��2M�6"M�`;���5��A9�m
-9PSE�����;̄N���j�Ӯ�o����[�A�
-a�����"a����ַ��y;ڵ�\P�Һ���X��H�"���*d᪷mv��⢷M�X/�zu�ͷ�Nj��G�
p�(�� �g14ty
�� O�yӂT�Hc�C�M�&��^m
c��f�Nw��C�5�͕�MD��<����y�*�L
9�����ř�	F���3)��0���_-��3:@�<V'�Q^߀%���ʗi�&}a`��	��2�e(E�>Б?\/�E�[�9�AW4��u�)�@�w7���)�H
������"��!�������#�|W�cF��}�k8j��.���
xȂ���{�Ğ6+䟧��@y�^�G�	n���T{�Q�-/�#��)����B0É6o
��u��*�*�E6�
&�G��b��P�$P����q�@0�����of�
-J��������-fӢf��/w�S2��g�r�4�6���h�_毎^��@*2g����%�*��p��eE�WG#56}vm�k��`j�#�㕃����2
�2�'� �I,k0���JG`��O-v���a� ���U<��*���Q���P�p�[]
�����Ux9�'��� 3ϛ s�������P�o��<O�6V�B�nZ�^b���:YE�萧
-��u�i���_4O*@3��������f�
a$.�̕7Ӄ��+�B{�s�6xt�
&N
8G	�R�m����$R������&y������+�*u5���I)
-�Z�E��G�Ŗ]��]��[��?
U�
�D�HэX��B����I1څ�w�qU`,��X�Z�|��(�on �e_�����H���f,ُ6Gd �
�g�"�%�N2��L�c����_n>�Գn�H�C��1k��W�øL=���
M|zl�0*�8N� �?V��!�W��a�
-���Ӣ��
ф��
"�os��ٯڭ��i�����_�RP4��\|��
��LI] �*g������&��$L
�3?3�+�>|����T*�D��CT��E֌�S
�g�6~��2�ߟuU迻�"�S�GC]xփBϪ~�^mH���`�:T	�
-ٶH��Rk�6̪��J_p�L�3����d+L!��^�	�o �VXh�vi�]������ڍ��V�)w��E�^2�*W���
-��
-W� ~������N�[yU����Gg�med
����v_]�;�tڲN��u�� ���a�
T��9�U�����hQ��.�%!���h��	8D��r(��
/�
q���Č6E&��繊���[�����W1��Md��Z|�^�m
�����¶���t�	Dz�p<���(��g�>�ݢ^9R|m��o
C�EIYK^֭�[��"�KT
-��?Y��bg��]5q�Fѧ�@�^�Ww�r�o��=����
���N��.���>M���BB��
-��і:���4���@�˼qg��qx�)���9��Xf}���B.F���sJOB�����9�(T
z=8dvYNS҂o6�'�zŁ5[�e�jc-�e"�3�xp����}�����r��V-
-�F?0a�]���h�c��.,"���e_�K'�B׋�
�6&L9z�`<�W5�-!f�#�hݰ��
y�j
-)�	l���a<��+>���Z����q8���b8W����^
�.Ꮅ��Y�Om)9 � Ӯ���9
z�FSa�����1�s�P����|�8tAN:A��5�#\b#���mR��A*�y�JϠ�֌�p�m�*\�YK��賉���ۂ�Ѕ���
K�x=�2�.�s�i���7���-m1�'%�^3�-G��X���g.������������6;���ó
��i���S��9��z�9�l5�Xxv�I�èTA��1�;������L���w!c�)
��O
7��:�<ƕ$@k��N�;��t�]�YX�b��ɟy�Dx�D�9O�G/��r��v['��]n�Js��R'
'Lpm_��YLT{
-��a��
-7���Vc4�~���BQڨ7#daKH�+�hx�g�*��1��b��e&�
�S�]�$��*���������
���h(��XB�
� ?���uŠ��mx�B�U���Y�@Z	��y���l��\�gSXs��>]��Ӵ�~/�a!p�P���X�\=>���f~�< 
�Ɗv�!׀��X�tZ�1ɤr�YC�f�o-�����Yx�[c����)T�k�
�0 [a��4

-Qaᄎ�\�Q�^�e%qC�+�+�-}�N�o���!��j�
6
���D�z������´��
�n
=fXJþ_�2+9 at f?Oׂ;������r.����rY����Mx�W��?ڹW��.���c��ȸ���^1�j��f��Lu���^�a쐤�>ϛ|�P"��hYK��7�`�'!qıQ8�M롣��xG'��]��V�]J�n-m�>
�"pg}?����^:��[��Mk#��,��c�_�^���FD�Rt�I�-�-�X�
-�Z
�����4��d[h�
-?�A?끹
K�]W�k'<�f����	^2	M�ƑO��˱T0;�ƥc�!3��S
E3����i$��1+���|�V�ɰH�ŗ:�@���hy���^��Uɠf�
s�������-;���z��襩Y-�ܴ-��6��L�`�A���B�����
ڪ�T���+��(v]\Mx���MMm�� z2�\��
-��e�W�`�1\��݁��R��l���t�6+����z�5��
w�T���U�M?s��PIR�^�VP�.�7��R��A�"����
�{��)aa�dT�T� ʹ%�{VC���J��1�h�_Ļ[4r봆�k�Y�-�:3gڇ����}��v
�
a�$���Vu��s��F�<�#\u|�֢��+��g4gS?�C���Ƀ:R_]��Ӻ\�m��ڎ�k(�2�
�=�0[ٰ4�����z2�)�%8Nl�%�{��LER�Va�3�0x���ﷇ�K"\�T�K���?��V��S%��,�^�KJy�-��'^E-e��,��g�^�sd
῞qf]pլ�jxW�Ա�x�"�$�>Z�
吾]#�"��,ѐ�2�ow0��.��12wq� r<�c���)
ep�
6�c�9.l5Q��x/��~�T�ĸ7
-�%�b��8c���
iM��$.��q�!��Zh��>\\�?�$�x;�������b8B.,
-��~�5E���v�h�D:?!|o)�(�y�OT�����j�
E��
y��d�
��c�������@4Z7����d8�B�����w$Yp������9|7�,�w
-jpU[
L�G�d���[�ms�qxq|!�����Kf����@���k\���^2{�czR	̠�Nd�GvC���3�\yj8���'d�' !���QզZ뤯
4
�)�%S�҂~{>
"Yghl�[����cK�Td
�P����q.
-�wљD������nO|�����6��Ϳb�j<�iī���az<���(�
���������~�o�����Ө�W$
-c%N��,�
�
-�f�a
r�a�]<%������
�ԳE�"�#�8��0�O��o��
/�D�����Y.g�����
6!�\dnaHFU��_��g˶��/�
��,�I�k��>e��6�nK�����U
S���Im$�^@��$;�Z;��5ppd*�E4��hdZ!�M���j�8��q�
���)
-M��r"~�-X�O�"�rV���%�Ui!:��*��Y\�|�u�| ��S��+�`��m�Z#SLp���z�`�l��#�

��fj�Z*�9X^��5��䶿I��w胲�[�iI�`�,�n#Ëp⿯�b�ܫ���G�8X�ޔ�O�O\�o��)�JpA3�y��%n&���Q���{x��ڣ���a]�)�P`
-5'G�{,�'
����bI�&yN)֒IA~�g��"��f�
�'0�~�BJ0�r �OYB �է=�C���+5�Q�FW��AF&�%�P���^<YۨI�Iiv���O���HS�h7)o
�G�<M��N&3
$�`�,
�
d
�F���;0�p��݉��#
Q�%� CK���0n���Vrgp�y����5p|:,�$�?���
 �
(���}\�/�v�0�����Ï��ϐv,X]?]
1�<��%&���\DE���2bZ-�W\�W�
��(�%3�"���2�m5����])K��=༉������1��hz�g����
)��Ffd!|E��+����"*p�qU�'�v�'HD���i��÷Hrf��������3Ǚ�w���I
�Pa����I�A����(4�Vs�oT:� ������	��2�1�-��PB]Yo"�}ư��:��Kc%�}�&6b�&]�
v��=
 ��&��u,Q�.1J��o�$��Ӗn�?�uR�tnIm�&2�������y
y���3�+#�2E�,�W��#�#�
:��s�f6$~�u� q�&��]�
���/�� ��4�WWGCq��
ǀ�����Y����_',P�^b(ں��3����i�랰�l��
�DX隍ʵ����*�ԝ���,�ukX���W�^��ѽ�K�P�`�C�
-�:�вr1uk,���`:h�+CjK�V됁@����߷l��l/��U�~"��(�G�p(�|�œ�ă΂ᙑA��u+� �{{)�^��?���=�B?!��d��VO�R�l11n3_��$�I��� Z&�ʾ��:�ހ$V%�)��{��<������%(�L����X����[-`�����y� �|��E�'iK#��(�o)/�{(��&�8�,��E�����÷�>/�srm� l�J2�\�@č
x�
}4pF����������hƓ�� Fb�V޾r������j�n� \�_�\���>?�VȈ�y���u$����a/E�O��OЙ�8z1v�$D�I1KCыr�EՌ֌ĥ=l�G`�W��b-����f\�9�hh��R5P�5�Ʋ���9H~���\V_U���a[`�ih�F|�)
��[��6�
-nQX�굴h�]�,��d���wk%P1y
rĢ�,dx3�j�A�M1b�U���W�<*e5O
��'�*ET��Ǚ�g*q�7�!"���'��[�M����{��vCxƒ��6Z�0���e'��Ul�����(�"��
2�4��_��j�,��(C��\t���X�P��(dw"��
t�Һl+>�����S+4��a<q,B+~�z̋u]��_�!�B4r����ye�V�>�s��gGK�I(�+�飆���
����h��YT?�D�A2x�� �h�j�
�

Wn���g9�r����d�I��X�s��笿k��=1����
���z	�*؟�,���o��!�P���ǥw[��>�t�
��d;�!(�8��r���r5���a�@���p&��������E�곽��B��㙸FxaS�o`n�PUb`
�7_!�
'�(��i���(
��
_��*<�`��|?
�tP�#


�kq�
���4P��������\`@�kKj{wz|R���͇���:D��9���ъ�����a��@
c:�c"<qۡ��Jw�a	�Z��Ü�
@��9�g,`�K�+�GG��&�����4��v�A�7`�
vm�
D�J$ 8u*�a-�m���j��˞[8��s�+����yR
��C�|	�)�aY�Œ�A�q]�A;"X��8��'R��mvK���
��m�����2
;���
�'>E��8X���Z}`L���W�������D�lN�E�~x}�쀣�g�/±�t16�t�78 at dA!�f��h P��b�+�>�S�P�Vw�g��@��j3�/J1�o���QǶ{C�K��N�\
-n�fZ�
Cץ3a�����������'e;߶�
�$N�|��ݏ'��̡ڵ�j��Zk"���
��x�{���j��B�
)z=����O4,�1~ҭ��r
5��]��(���v��G{}�T"��A _��
�=8�8�{���"��4���1�~+�7�=��&�Ѳi L�O�U�t:GSzp�C����Zp�ߖ�[�5!�]"-*��
o��la
-&
[I�'#��m"P^��޸p���=YV�p	�f��
��ى�#�6��	��i�P���G��P������L-��
-j��]� ���bS�z��@����
��f��77
������`T8G[���t
O��۹r7,������.�	��3�	dXeK)�-�
�ۤϺy��8��:w��:z��:�<�;�b^
�7r�i���3'����d
ݛe5���k�#�����x�� @�t5(�
I
�d>��+�OP���
t��ʄ<�67 �[@��#�6���3�
��d��%e~�e�E]�M$1�ס�7"vs�s�_yi��O=�]=��B�eK��W�n��Tт2:$�,eF�L%x5��
J�$��^���ҳ��5�h��
Z at L��p�����$p��� 8���<��w��Q�ݦr	Z:?����=m��n9�p�&a���cd�0⢅�U%hC��ַ?
-n�@���#�� NDR�>��ѱ���<`�M��d�ǢZ��VR)�G�:�(�m������/x
-~H��8�P���Ъq]�ϫ@۫c�о
��
�`�A$z2& ��RS��@]�GN�RNl�����t�(v��׈�iJ	�w�
�8����/{5�y}\[/��^E��5g-J��m�m�J���/y)F���>
��r%��I��|(в<E�\w�����
��}=��/�x�f�{���!!��.���I7~�x�f7~���2�Qe!
�h"y_�GJ!'^��e��^�~�?hj0�n�	���
���7��u��צT�
EV}��,&/

-�&��
h`���s��������MK`�g� Gw�"F��I/1��6I��.�v���űR1
-a-��VQj�=��T���5
-l�bv‘

��Ao��9B
ӦC�؞M�Y���\��L�S��܂���z٣������
�Tn*�349bm�"�11�
)�v��
-endstream
-endobj
-12246 0 obj <<
-/Type /FontDescriptor
-/FontName /MZYJFE+NimbusMonL-Regu
-/Flags 4
-/FontBBox [-12 -237 650 811]
-/Ascent 625
-/CapHeight 557
-/Descent -147
-/ItalicAngle 0
-/StemV 41
-/XHeight 426
-/CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/a/ampersand/asciicircum/asterisk/b/backslash/bar/braceleft/braceright/bracketleft/bracketright/c/colon/comma/d/e/eight/equal/exclam/f/five/four/g/greater/h/hyphen/i/j/k/l/less/m/n/nine/numbersign/o/one/p/parenleft/parenright/percent/period/plus/q/question/quotedbl/quoteleft/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
-/FontFile 12245 0 R
->> endobj
-12247 0 obj <<
-/Length1 1630
-/Length2 7267
-/Length3 0
-/Length 8102      
-/Filter /FlateDecode
->>
-stream
-xڭVeXܶ�AJi$��.%���f`��n��G@%����[�C@@�C��w�9����u��1��^�Z�w��

��>��=���z���K���v�MT�G��m� |y8��
�*�z�$� {�HHH� �an�p�����PϘ����_��. ;� w��#�z��
�����
w��@}��8�! �������2�]Y��
������]+@��"@
 
 ��   ��߭!x�� [ �
߅�|� ��7�
w#w�`�n
����
 �!���
��;�����y��awd:0��y ��((�U��������

�9�y�À��[����ܡ
�`(�������#� ��w������?ex"�P�U�
��
m��qGs��{:���?��us��������g
`���/ x��q��
����,�P@��/����?0/�π��
�]��0(�`r��ӂyܥ���T��ω���?"�D������\���}�;��'�e�z� =2��W� �~g �p������l]���wGc�_��7��aUۻ��A
������
F(�}@�:`���r7�?vC�=CAw���]?��0'0��[�� ��������x>5mSEy�����Թ�_7��k���y�������#* ���	��M�?4�:k�z��> s~^~~���?>�:Y��F
-����
}[��ݲ���z��w���wM���g�A ��

(᜙��QE��gH���M �'ҭ���MaH�583fY���2��vD��wz���75���6J[�K�^] 3G{!�+J�k=�Ϫ�(k�8�Jc	�L��h}eHWϪ��~%��?�a�*
!|�F
���H��������k���3���ޞ��C��o�\��{,R^XD��!�HZ3�r�X�5��u��)�DmI
��.�#(�C3���u]

�D�����b�E��6�N�)P9�r�q�~]�,��t�����\��#����?�dD03~i��R���a�����X�эZ��L�^S(M
���U��
�]�5
-��X
��8M�u��7K�uꉨ�wZd;���b����m,�V=�C�B�IG#Z�R%6�Q��̷�7Ei�Lgϡ�������!��T�/��R��՜��$󩲷�
ˢJ�4x�5�s����W�'+�_}�CxOX��G�s�Ԕ���=�# F&�U>��u��Z
���n����\��Yc�t��͡=�iǵ/���3+,M�9|}A���{3dܲT��/�&�7��
��w�_�KW�E%W��n�u��p֎
k�>O��>�G6*�K��x�pwa��.0�ۘw>��#����
�D?�{��ȑ����,�u�fT�*�l�^X;�V�[M�׷��� 
lpy8M
��@���1a��h��Fl
����p/�[H��c{E��#>��'d�uu��C�fF��L���d�ɐ��IJ�i���gR�i/ړm��a��6I��U�ܬZ_������%��7�{�,w����v�IV��r��q�a^�r�&Sz�bZo3���%�8*L5�c�X`p���i�k [...]
-'�cR���uQ!�©�J���S�ѕ��G̓�a��F
{�_?[�T/F߯S�1n$���م��196s�����-	
F•��
-�#K����f������ۤ�^tgN�>
-.i�i'J*<r�
�����_��+s��w[�0�[�~�j� "lĔk�(l7}�-��׍6�\)L�
�
q,b}���Iq�)	�Hq�7u�3�;�\
I�����y"K��:%�]KrÙ|���p��a�૬3{�ۗ�
-e���
�x��i�\t�F�G
�Ͱ��L#����+V��~!:��"m[։�}���u>O����h2r�[�
�'�õイQb��n��]\���L/'|�{����s�aʾ���4^rI�
���� ��<���¹/���V1ZO�L�]R
 )�B����n��'� 
���'�4�f���`O�m���+_d*�GO+��F����[|V�ib�4p���
*��ܼ;d<,�=Y�r{uh��Ӥ��2DM5��������G�a���'r����ϝ��MH����CS�/fZ:�Xee��#���Y�ىT��4�Om(V�},�G�޶
��
ꎑϪ��南��H�曲$v�Ҋ:�E0�ޫ6
�
-����*]8SV��V:�ox��v�2�	?„%j�{��iE{~0C���R�R� �O~������).��寅�l
(��D!�
-����pk�x[�I��b����z=Ʃ
E"�jYùִg��CjV�I�Z���,��fcJU���B��ڳy[��+�L�_�����bd�W�6�.���Q�t ���?R��2N��Ӟ��Q����1��w�َ��I�iEW,��E$����|��%Q�Y�;�3������䧂ki#N l�Ă(܇�r�a����F!��^
-
B��ϫV3��(��vY���}G�!�T���x���Fq��p풭w�jHEMV�|�
K��4� ���#�6i�!F�
�ޖ�-%e�hc���ɐC`YS[���e
�ڋH�P,�l$��\�`+��ț��v����K�g�j�	�6@�c��=J���O��� ��"��9_^W�ܺ�-��
�~t�s8��[��:��+S
�V�6n�̰�Ya
Õ�]|�g������J�P���t:9��4.v�I���#2��L����jߜs9�����}�՛x\���9��M8�w퉪K���{��)�&�|�NZX�Jv�H��y_�<~c�<����
ˤLh����F2����n�g�
ʧ��
?��Kfm&L�׹A���(ʇ]R`��  }��9�L��Aj�Y������-_PI� �[c�A��xa�^���84&�l"w3��%+3���l�#�ԭ"*{�n�/y�ɳ5�`.�P

Ǩ����
z
-�'G쉪gQP�i#��q���Ӫ���g����>�����'�W({�F�
}@B܃�H��s�ذ��2��4��5R��
L-�$-P�-�-&�!��H�&O��{S�,�
	�օ_�
p)�=��ސz��z��@Ss">`\8�QG�d����*<�Q��ךv�;�:-��f��5j>=��>o	��s�]�1��cJ?��rI�t�#�\���$���I6�c�������%m�zkf����&�T�{�,*�o_��{8I|�&��-QQ��J($Ī;�`�T5��0[��h�
-���5Y
�d,���--��/k��
��sv�L�m͉��UN!���l�O�H�D�D�.3W
�S**��F��
��ه/����p
-�?1y�2N��~��eB5�	9,���VU|	‘x
�*S���$���/� l@�p��.]򧱁��5�
�o��cD����� %����[���BO�)۸�w(���Q�qrb�ti�=9�X�
�%C1&m4�x���IkRL8�DZ!���{D�`�V�Qt����۶�X�
�(QC���Þ��JQ��G���2g>�,ސ�@k�o�����Ҋ
��CI`p��V�2��s����
�9d*��U �4z~|T���֕O��q-z�$��+���/�G�-H�@h���3���Xc��W1C{	��u~��,M{K����o���Z� ��y��4k�0`"m�^� ��b���6
�
�����/a�+W�6��t��>J>��y9�������O�V�fJ�͓Z�v��q�G9 p��=�;;"��7����O	���F���{�ũՋ��N��_ݑ� �S��_
-e7"
��=ۥ��`�+�_���ޭԸ�B��
qi��:�)�^��,3
h��P
U�0�kT%#Y�b�
.�| �T>5@�� ��䙼T�x�Q����H�j�� O��9%��"\o�}b���)�J�x�GK���e:~��X�e��~�w�tӈ棇b�.
Y�*�Wʍ��#��1]\O�8U�d5SPJ�S������B鮻Q�a�cp�/
<�<[�
\��p25��U�e�kn�E[kX�%r����+a�TdH��a%��e�d���6*
-�qQ�@{6"/Q�\��

8�`e ��ɍ�LИB��o��ex�RW�V,s�,��e�f]NV2�L�y_f�.O���L�`��+ڥx�Z�L|
��� Շ���g�
7�h��0o�Qm;�ȧ��*8����J��f�o���3>���>{���c��!�X�Jrg]�����d�Fse9g��?34����a��"��;j�SW�R�w����
g$�V�9���EC'?*�;
-LRi���&�$���@Q��Z�����r[�
���֮[�@������{���~���X�]�Fl��F�
���m*��-�}ȿ���p�f�Zu�BD�>ˠ�b�8?�wByV�L��ӵ�����y#�L�-�΢��n���P��0,��g{>��N
Z�
�
�	4�V�ȵZyZ�}R]آxtg�I�3�m6�Y�Lُ	�‡U[[Ʒ��f��Ol�m��N1���ܨ�p�����vl9��d�E��M�ӂ@�t��(�$%�o\"�`�rĘɊv�Q��YѰ�b�:�\jb�����KAz?�^�2�>iL}λ��3b
�/�~�r�ھ�2t�
��û��i Wܞ�EQ�{����R
�x!�fȤ������Ps�#r���P����\8!�E���>
V�3�8z�@�L��
�_={��d�'&��D �fҰaY��!��
-��S�k�V#]+���,�	�{SBy�_���פrN
�Z
;k��:UĞ�`�dBo	$`����xюρ�u�
D
-_θwc,
��ji2�>4cܜ��5k�r���O�?B|���X�l��B	��_�>�f��+�,=�uߠ�k��s��[@	$�/��;��ji#�Sl���%U�i��|ǀ'h�Nj8��yW�C��J
-nkz�b���W�
+�6��k�_E�!PR<�k�<��8!�^��V�"�4D"+��8؇R�ᶡUF}�-k�a�����c�8�'��D�b���HeJ�:e����W	S��Z0��2�]�A���Պɦ¸��%�������pӬ�{M�.ѝ��|��Z�-���F���~}�����bX���m������M?�x
'�*A
gi)�*�6��ӛ�%�b�&��w.����	'0�y�t��\��5_1J�)t*�B���z|��}y�g[��~���
��7E�,�\5T����~�v'�ˬD�	�&�Z#��
��;�RQ�<��r.޳ˋ,�5��Z�΅d/�Lg���t5��yK�����}
2��<�eH��C�(+�(M�{�Q=���qm�2�L�8�9C�Ye�;>+&�&J��W�r��
O�L;� �u�A8�����7�����F�r��Ԇ�Bb���dM-KxN?c[�Nbţ��GN�_���H�+|��=�Z�-�e�E��%�b
��7�C�9$]�컖��s2b~�G��5���?+
[���b�Vi���p�Gs�#EfC$��%y0p�4��M�[��ɠlI(���F����uU�Ո���%���0��A���l*W�GL��g�N��챱���sK #��BIBj�3��Hq���]����~
Z����.�<���*�1[-��ilT�
я�i�
u!G�8,g��dQ�?*SȽѨsZ2�<YIj��覤^��_F�)Ғ��������l�k���'o��@C>:z����i�E&����W'�7�_��!P6�&f6�otd�5ig�|��(
����ܤ���
,sJğ�3�;�����Qû�7��
6����3�	�
O���
-B
�x����
-f"��nH�C��Cþ���+|J��t���A�T׽�
��C�~
-	�e!�<�]�9�X��ؾz1씯Ax��M�+�5���y�
-��qu͕!9�LV��3g o4)����*:�׀�F�qU�C�����;����o�˫�M�A�*�]R�D�"X��P�6
�H�M����E���z�+
�g�8�t��|����ع�ǩ��e����k�������{��2�<�hK�ӳW#^�A6;I��D�v��P.� �pG��Rp$���"^���R�Eǀ ��I���B�-����Y�^�ߥś�?�`�w϶i�;���>R�E5
-� 1׼��ߦ�
�+R�x����dҾ�U�"i>�d�o{6�Z��&[��th>�D}F���ok
������o>G�.���$e��R��'��D1��U�U^�љ�_R�h��6>M��2[��O��3��8
]��.J��OH���|KON�q����b>�홾(R��#u�x����f���J���#���0aĞ��x!�Ѕ6CWy�(#oF
��FQ���-����NAF����b��&����~�<HG�(z�}!ca�z$����yx'��� ۜX�Q�*9��/O����NC�-E�wfD�t/
cP	�����>K�ʡ��ܣI��^p��t��-Y����K�
;eS����zVٶ-��n��\�q6�l2�u�<���[�VE��Pىi�vX=��Yt^�{�23���{��^*�
��-�
�	��B��O����C��U�.��T@��7��(�����
fZN�ʪ�$�
��9^�'���� ɢ���N��A���&{ �ހ!{
L��
���)��1M��޳����ߋ#_�����
���
-��ͷة���ĮX�Z��鄇��y�Fu\Un&�|Y�e��R����q�k����E>��i_���OG����5��uS�/|�
y�7%�C#FA�2�x�ƭX�3�n^����A@�;t��.�MRy;�p��'q�H�N}������sl2	�q6 �:ȡ�5ǽ��
3=I�f�Pk/��JZ�Ck��8� ms.�U�}m�)*
�z��l��]r@��&m���Ƈ�\��A��g鯞MFl�$�ml��s��UP�=�Tb��1��S�P;9�G��t�r���4����9RGu~�7�X/[_AK��g��a#�#�X��U�$��ۆ�	�k��_em�;��bhd����~a
A���=	��s�N|��6�K�e�oFV���m�i��\U+��Ic�雷G��&����I���7�W�r}ۆ˯�R�2c�	�>P��
�G�x��
-���������ҚԀ��s�������vp\R� \�)�lm��Q����i�˜���p#=csm�����!���o}K?�ӷ
�zI�B!�b$�����?Z࣭f'_��l؊
��
��U'+k����<L_�5rA�j"�I�˪c^U1�
\��h�ǰw
��/���|��}e�=�F���9y�CMS$�����h��ssU���'/��@Ҿ��@��IGx�pu	��A��y،�)�~
R�ʗ��媰���­��2�A�1�
|��sO�z��\
I23
J&L/���+�����G��K�~�
o��Y�
⼞��&�����5��!R�"�-z��I�Y^g�e��0=E
-V{��
��>���^J#��< "ؐxLt�t�
��?�$
�#!u&�ce��j/X	LJo�t[�BQ��?�"��
-�bʦ[Im� ~�&1|P���1����α��SʦZ<�X�ttHV�ldJzCRO���y
qy��
*͟P�T=�[ǰ��W�J��m|�7�;��e/d5�R�]��{��範��N��X�|�%Oy��*��+�B�Ζ�D�=ꁉd�Z��}���+�\2����jC�J
��D
-�eܢ��u^7:>O��NSt���t��S�0�<>ay쏆<��
�ͷ)X��NF��&�6D�g���q�R�����D64>�|e��k[%{Xg�Y�&e����&��s˕�ۛ�7�so�� ��z�̗���Y�4��aPFL�nق��X�ꍄ���Q�K@�lbb�561"P�|x(�3�{hp��^
�2���>oƠJk�
	��/t?R3�����׋�����2�M�ˈ
-�M����
�e�����^P��T��N?�%TJ���8�[��{m��NO���u�
�ט���
�J�9g�Ο-��n�`�HZ]m��c��c�w��%�E4Q���(cb�.j&���U��_�YZ�
-endstream
-endobj
-12248 0 obj <<
-/Type /FontDescriptor
-/FontName /JOTYEC+NimbusMonL-ReguObli
-/Flags 4
-/FontBBox [-61 -237 774 811]
-/Ascent 625
-/CapHeight 557
-/Descent -147
-/ItalicAngle -12
-/StemV 43
-/XHeight 426
-/CharSet (/a/b/d/e/f/g/h/i/l/m/n/o/p/period/quoteright/r/s/t/u/v/w/y)
-/FontFile 12247 0 R
->> endobj
-12249 0 obj <<
-/Length1 1626
-/Length2 18386
-/Length3 0
-/Length 19237     
-/Filter /FlateDecode
->>
-stream
-xڬ�ct���&��8Ol��c��۶mvl۶m�
w�Nr���̼����e���^�._UW���XA�����P��֙���� gac��dg#g�%C/
4� �ճÑ�
;
�-�lE
��� u�	@h
`a0sqq�����=
-�̝T�J�Դ�t����`��?-#�,�l\��v�6@[�)����@��9`ja
�+hJʉ���T�@[���5@����� ca
�uRL�
�� �v�&�����7�'�!��
hl�7
�n
���D�:�X89��X8�

m�����`akl�b���zS��w���a���7����������3�oU��t67t�����_3�������?-���7�_���������O-# ��������o���
-��������
�f��&�@'��i���g:��'��������_�v���_,���֦
p�,k;��mfa
��ϮHښ�����7q���6W��D���P�ahbgk�0��1��9�-	���c�῏����[�o���������������L-�bm-gh�w�}c ���-��� �94.6��C
k������V�������$�
��䇭�_Z�����p�p�(X8�L
����_zU[����-�/��)�����?l*��V����o���?����_�eU�4�h���_�
-��Y���/��ъ�����I#$d��g��г�1�}{qq0��J�+�ɲ�Ύ� �}31���������iDm��L�YegC[��������]

��������)�k�@w�1����1O�ezV�sݷܑ)�>f���F����^���=�J�?�!
M3ܟ�
��GR4�c}X֔����||R���m���ǁ�z���ԣ�n�dv!�8�Ԏ����J�@�t�:��<S����c�=�#��5�av�4���^��H:{~�

�?£͉�%�q�@���w���R����R����F�y��z��cl�3���̥�
=��V*4t��B�x���
���߫*�A*�
�����p�W��.f6�Q�2�1@���#
ژ�J�
J��
���m�Tm
�M(%!Zn-��.9CP:hU�����5
d
k��B��p�
�1Ed�_�M�i8S��G�p*�C��z��Icu6J_{
3z���b���&���,>/��E<"Zm񝲆��yF�5ߗ1�t`jl����Ŵ0P�Ҍ
�e�G24Y�
c�͟Ə�
�����i
rj.�Q����� ��-����II��TxSV�0%-�CG^-U��_�W���y���rȝ�#v���P�@1 �G�Р!@dZh~}�B#{etZ��<o�kY9�i	
���k�
-����UW�A�8�>q?�}���7��ͧ�7�k�˙Wq}fY
�@�ٻR�7���(L��
�4L§c�C]�L�2I�g�/�<�2�u�ڲv
b��]�e�(�q�뢰-�c}e���h���Ӝf%wJCT���xY�@m��!�
	�:����f̿ 
4d��Oy�"iF at A�OI�{"kO�+%��q~��
1v`"��\[���vě�hX��w��ԁN���1PT��M�����)�+r_�x��R�;G�gVԈA�I��[jў�K��Ѯ>R��������>�W��"N~j��7�%	Y�
	I���'�`O��U���YS[5�DNq��X\�x�h~�&�b��
�X�Ya
��jPC��E}���i	��ߔ§�����v

4c�
_�{�c��tEp;�0��H��T
�[%
�o�bl���ť�
:Zt��&0Z�.U�t��X2��O^��
�Q��1�w����ZƯ�Ws�@�Ӑ�*�������Mh�4������K���\��"#3op�z����w^NE(��f��"���{j��fZ����?��t�x�w��~/4
�MѾe��r�Gf#�c�{�T�W��>��
�lVnn_qk˪�Iu 
ܷiܗ�f14���G��=& "�.�����A�TZ�����D�&�d
Cb~ƯS�J��IZ���e��#�Zn�]W��W`S��(�+d�n��S%(]�R
1$#p�^��8��P�D�
Np҇rZ-���+�F�?�|.��GꂘK�Ȫ=���:����6\�9.���Z���c��8��S��Ϻ�U
֠�m�H*�*=b5��wb���i؝�V��2U	��� N��"�!7���b�5ˤ�kc�C��s:p�\�
-U#&|����Ǎ�2Vm��J�Z�;���ԴS����ѐ
,���>F��)��JW�A�m��A�6#	N8���t��f�<~
[֟������hn���Y7 	�-�7��P�G�U���zE�7|p~jJ�"N4��[�Y$�4N��F5��@,�"
M�ˡy~ڶg��A_���;)?�D)�P���hG�4�=ss�g�
����Jv��WsK�_ň�LqD/ڂB���!{�bwo�)�Vǧ�d����`����6��E�N`Tz��y0
��9��|d�E���<�AV���<���
[ N��rQ*c�;e���|l�n3�8�{�&���/%�w�DZ��!f��e'��
�ϵcv3о��J�ݶ'�
�9��&HZ�;R,�и|ۅ��9cJ
���5ȊV��!�� �H��h�ǡ���7(�l;B�������a���9��1��i���L8#�lz�zm�U�#����,/�h��쥫���~}
�%����4��E��]}}�N�F [...]
�z�qI?c�	j޾*�X}h��?[�ν�g��|��]�]�eko�@��ڌ�DFa���FQ��N�Í̯�v��zPxg�}m�
�~s�Z��X�����>s�
�
�8��5���uU^�O��d$�ͮ͠5�@}G#�1Q�����#N_3��(ze
���O5́NY�9��Fn��/7e[�'��5bi�9��[fLF�~�Q��Eٜ4��T�n�u��{vm�8i
D��p|a�5���Gښ��*kU�d�xkFE~�	�� e�N�Ű���ѳ���v��-�>�G�
�N =�	���#��\��	~��W�E,�D�kf�N�^�T
o'{�=>�ّ�?�/Ǽ��y7
r{A��j���'�
A2�A��<ucGM�})����%�g�mUS�j��E���.�ق4r��"��uw�z�Xh����
51u�KST�W��g���g�
��d��|2��JÓ営�2��bI�b�x4Z�<r;+�um��L�
\u�
֭�j��r��z�y�7qJYv#��BhT�L-�=C�`�j
��s�`hu�QW���/�3�m�p����j��׽��X"0�� ��h�iϽ��L�Nmm �)X��_y��ov{�9�#
�T��r�g�쳚
&W�N�A
� �ܮ,
�ߕ�▰����f�V��߇��Uu
MI�ޱD�>#"��ඡ�PQW�:%��z���Ah��7�˒��k�Ci�cx�Xq+F�6N7�
����Ju��ي��B5[^ѺG%+�
�H�/hwإL
-
�"�o0������N�.��e��z�L��x�̉�f
���f�d��`����Q�z]�1�`U��\�(x%ٔe�eꊍ٭ۇ
��T�~t5��ɩrG�����9~k�Y6{}�[�����Ӎ.&]!l@�׊�)����lRz�"N�(�|p(�U �hr���SY?��C���f
�D
�}c�,�����d�rŝJv�E3
�
�H�� �n�V"�:�+*�YO�Ģo�hL*�b_L�*������$"�����W�l���
�j�<x��`�?¦��:Q���f�Q�
�)�tW�����P,s�:L_��/��J�ʗ�|��"�tɪ{AL$������a\�]��@V��n��0�i���7��r'�-@�
-R 0����ZtG
�r+3ƴ�ۥ�������9PRJ�ߝn�����'mцF��xNs(����3sw���
�
�=_�G/��|W�%<����]Vt`�&��
%rrpx�?���w�f8౗�^���o%���Wk�)M�'!Pq"�Ctٹ�LI9I��*^���غ�bcGnt�T�y����5��e���M�7�o�:}�}
����L`<nw��%ڕ�
�v�c���DH�5��h�D�[�,C���'j:SM��i��vZt�>�J��8<�X����z�>�	�:�S��g(�j�u_f���Sc޽�=+�����–kV��X
�[�����
`p���ot�J�U*P�/�y�{PZ�jM��;�A{����q��5������#���|�7Yb��37���K��5G<�l<MUu=ppY�#��
5�>=�Pc`����j� ��5
��
<:�
s�w���ee�n
N#Ǣ�c
��ʖ�}'��
���}�H8=�;B`�ӊ�(�������t
-98��/�2=�>I5�y�t��w��N��X��#��H��~~���J�Q1q��JF{@����Kc>}���^���OF!>��낺H}b 
����
J�x�:���߻u���@��Sf\׃>X��1�1
���+�e.l
ƚ����3�f��>�{V��*���B_�����f՘��[_����ț�K�E��(I�,܂
x����󏆠K�ln ���
�X���2
{�(,�x}��]̥�όWN'6�ĂR����	�WA!�� �=�x�8Ԙ�(��a�sl�q& ��h������d<
�ܵgQ�R:�ͮ��
<
-�v?1��^�@h�uId�_X
-.�%ʎ�d_HY�����խ|�'�����GQ�٢�]�q��V3X���
g��@FLF�E����1x�Q�*
%�
Aw�0����{9���n�ɦ��Y��'_.Լ\�ٌaZ�[�y��z�n��pP�07S#yX�cX� �u����s����	
-�1�
­X��ܳ�FIXt�K�
��OwC�'�J
���Gx-��ꟲ�7j�$��K^���'�J���:g�n]���"#"�j��s԰�v���43I��=�
�E��R�)s���ܟ6M��8�=5�W��צfW%��d3�͔�^��r�?W
-	�"~�i�Q#��uu��� L�Թm��������Ց����(
-�9�܈D0�H{	���fȣx��Q�d�b�ŝ��
)o�U�yy�~.�]�a�A��=]�P�����3��a��Y��%}�gA�=On�q���ff��˾ߔ� CX�V������!�6��]��
i���P\��&en�����2���1��޽�"���k�!]i���9�=���eq�2��&$��l��B�$<
-���HvXMa[{;.�}���x�t�������+�����L�xZ=Y%���@�0�#"���@�X�Ʃ�JB�L�v/Ȳ�@7��Ϝ=����ll �<}s��'�n�G�T���H���:���DL��
ʢ��a����_�E�f
�:���2M
Xժ#!�跞�l����BH���z%{�ϣ�
��7*iIՔX�Y�	���ވjP���웠_fuTO
}�����=;
bh�����F�
����`6���!A_��
-�{��Ev��<׳2�Q,��v��ɱ��_$)��Zc���|�"㘿d�8]�U`Uf
-$
&7��#��bZOQ��	<j#��B��Ě;�X�)�S���t���#E_K,08�>��[
��C�H�>�
�Q]2P�׎���d�inV�e��/���݀��;?<��N��ĚhY0я-�#�%cNl� �O
L�|>1��r�XĔM�@�z�*��M΂!�JWN��>�uw�2=`�U�)��D�4p�ke�#�I8$"��s��v���d*&���
��.!�6��#�`�t�j`�w 
&g%��>r9��N�Ъ;k��A
��(�K�
���4�w���o�i�`k
��cjS/7�]�FY �ve����ꨤ
X����������Iz�eX|���F����d�s�5a��U��F�LE�Ȯ�Թ��
��c�"��Y��h���kм�47�ڍ԰�!@7��';��bIJ�"���n��u*�Sm�ğ�;��%����
��n�\�
2	��x���H.uƵ��1:��r$�|J�P�Q1�o��27t�S�)M��K�zť��@r#�y^e��޻B!۽ø,n�D [...]
�# 	PUk,7@�Da��b�I��
�o�wل���������Ǎ<�&"�S>"<�s[�>_�NYHо�I(��Dm}�iK�5$���X]9Z�
���]7.*�r�MO�xM��Pk�R�нL���ም
�s�[�hs,ͭ�RT
�<�|l�c9�@�vV��O�0�+L��R	
-p��_ d�e,n'��-�&;��0����M�������f���ͳ���
��V%Y�E�VbŐ��R�����i~9ጚ�b1��ǀ}E>!�dE��^$,����=w���
��_ʼn�>�sq�ԙs=Ia�ߋ@�FV]h� <��p5[O˘��
-I
�T�ኢ��e$.���1>+�-6�m. �8RD9B��WS#ц��+3T�
z�+Vq�����

�&i��5;�D���
2
�ԇ�q��r`k&�Sh;-f W��{���
��xP������j�a�6Q� �!�������R�5飙�!�2s2���*1
���Š�
Q�O���X=�3��H`^׻��AdhrI��:
��4�]�~��y3#��iz��}�+NA�x-�'
Y�I��(m/gim��
�3����/g�S����"w�2@�,���o�t})�+1�"����&
uU�u�[�&m��L�D��cH;��R�"IJ��
�-G���p����"6�P�a��5G�&�`���R:a��`U�V��e
��g}�m�@��2Y��������
C_!hY��)�>��3�?�~�R�
�͵
-��4��6�O�t
�wBvJs�04mC�`&�� CqU�
-T
�TWC�
�\ y"��A�.�� &G�#k�ڳ/qRW/�%��=�܉�詾N��n�����S邻io�('
-1ٖ�؈�<�Q"�o�I���i���א��	��P-E��1�k��?������6�@:ƬZ�a}���˺ۍ:���[J`�G�rS�����I&�f��Y;�5&�s�6����᫣Q��7��v�|
�̵�Ⱦ����N��H1��=W�m��/���r�F�ܯU��}w�>wT��	���M��rU2�6��׺h
�;��J��*BQ�~��
g��r��'&b�S�9&U'����zO̦�G��߶�y�d
�c���
i!��g�
a[[U�3�۸�����L��?���5ȍ'�P��i�zw��~7mTS�~
��4��+��$1N'�'�\)
-t�����,p}鵃0��eq,���%�NY��F�eV�eYp�����tsJ7����N�QqS鏝�׀H�4]�R3]R9�
�[�MC�j�I"]rE!��
�NR�3��[z���?�F.�����JX/ˤ©���Ʉn��*�|��`a���!
�ȏ��1���&����	Vj����*�?n 	��`9@�������|n��
�:3u�����˙7���(_fbF��-��?��~|�nH�,*)x%.��\7�65�(
!���V
-�0A��J�ҏuvߛ��s�SG��uAZ�e&���|D6�ʡ3߰Nl�7�p𻾷&�;�-#OC~i���<�._/�=�#�L��R)�lT��&���{
�oy�f
����/cB��8���v�o��8~�(t�c^
�l{f��l-���
h:�����>�;��4�ǽ���Q��?��'�7�����b�<�vNq
��WaC6Q�[ �`��ZPUo�`]��-�U7/�ҚԪ��on� ���K~�]AY�X%�Πin���ܖ%&�=�ZK���#�x���tQV��w8�VN���
�cL}�l#��(��
Jˬ���e;�nD�!��cr�0�K�T[f��3������.>��6�O9��y8{��*Ŀ�|�0��?B�M\�?d�yҕB5Zd�fC>�j�ͭ�]��"vHL['7��YWSr�	_�[|�h�BG�Ժw2W��� ��H�@ \e���^�Z�O�f�
���	u%�'���n�vK��H�t�Ľ��`������E?
��C�r��_���zʞ�5�د�$�:�
u��w�W�
44�ݥ��:��
�Sc�J�ɤl12���NFw���0�+� ��
�!��)�����r�
��
�ȝ���C�B����
�
��o?��p=׽���N��u�$z;�N�q8�f�a#V1��@{
-�4��b
�|rV�v� IF>	�t�ϮvF�S7�Q5����J�W��
K˦��'��_��Gm!zx�qV��c�t�����iH
b��F1%
-%�bp��=����ɤR�'׏ax��>!g1����
@�t�X��޲�XKr�N�F~V�}�i<6�
ew�:�>���7�lp�F1Q���wޢ�Sx�W���TY#W@���N�b87���`۷��{�9w�ttѭ�TGb�
Y��g@+�q�%h8W�{' 1��!�'�4�gC꥙��`���H�EyS�����}6#.!�/g��@�@�$�V���:�I���)�"�C���,����jY�d��2&��	,�FkXp��
C�J��Jp�4Y;�^woM�C�.
-+

Uu
-4����1�><$�N��bɝsN/.�R�M��Vy��
4���UW8/�|��K �
%�b���n�W\�� �ɷ���$= �Z����(�m^�%S%�o��@�"�N�"��6��Y91���d`
-WD-��װ��~8Ȃ��v�dLZ/宮y=��['Z� 
H
����7��>�
�Y�JZ���ʔ6�|ӿ�Il�|���~rF��1��Q�{���p{�n���TA����/���*ʰW��
�/�Rz���GP�; n��{���7�Oϡ"��~s��+��+�
�J/�}~��-��!*��j�TfS
J:���#O�ҡ�ep�&�^��C�"�0�,د�T�v� #��D�ȟ蓣!�\��:�2����]�'�J��_�'�~
̭1���C�A60�A�����=���B��?#|��vY��=oUs"��Z�k�jz��OJؗc���mT0Ҽ�#���U!�� �_��H�u3�W�:J�zxv��ߘj�4!ϬnZ�T����i��AA�����v��.���!
�
-
�K��j�ޟ��
]m4?sN��JW���
..�����=#/�d�VSCO.���U
L�{3�C
��uO��
]�x�ƭ���槺"� �����8S��j��
lcԴ����St��W�~C-
����H�O�,iy���;��BL@��!E��/ߕ�w�G�F*��F�٫�Z.
��[�M�.j��LF4(����o�+vl����Ή�m��42�x<G��W2�0�X�����wֶMހ-��?�]���S�TMB���W��4�$\<
�?�"i�O�z��O־c�Rv}U�� A���JS�յ\|+2���g�c{4;xy?��∷o$,9�m7�
&��9�޳��1�k����a�����'��?��@�-]��R߃&�Dz�#E_��;7����*,�	i�icqgd�'}�H�:md��LQD����M�co�P.�g#4jDF���<��G>�<� #���k�Y>C�F�M[09]���f�	F���(Rg�#wՙ����
^��l�� n��)3,
GX��c�"My�e2�s���^�����D扂�s�lC�D/�����P�\�R�2�[�@\ө�X��v4���l���w�ck�́9T��0����6�S�Q�����H�V���"
-��K�Q^�'9�y�=����(t�&'/�����l���u�H�	j�r
-�
3�ʭ[r��29�Q�X?�n��
�H0��ٞJ{�3Α�,�;$���B ��yt���/�E����D����? M��9�*�^��Ri'Zz.����
4P�cPz��ѷEo~��5�@���#Q
#�K��X���'Y�
-�-	:�X��n]\�Z��df0���E/YsWX�� <7]�O"o<(��v�vv���n���olq��=���
S�8�W)���Ċ��
9���y���-+w�c
O�S"vv
�����*��'W�?ܘt��G%�_��;4\^
��)�4�=�j�o�j�������a(�ɨ
��'�x��}���bl� 
�_g�[��
��8�u�
-**ҖLIk��^y����j�N9��/�n��x�����8�Ć�0�0�5�� 㻪��<�r��6ũ�9G�A.7��F5t�
��
�6Xk�X���[��j�y_PΕh~�-�(!
t�ۂ~J�D��
-��O�0/V
�Ϙ����(4���:���R"!��e�
����$Y��+��H��%�^�m�k?��!Ǭ�I�:C�
w��Ҹ|!��'��
d�'J��;���[`/�.�c��{�y��7j��O�O>

�
T�
�s��X�z
-���j�5�pcp�ϓ����0��96���J��烙�wm��jz
�W|� ��~
+�֊R�WF!���z
�1��C`_��L��h�8
X9�,n��9���3=
*��}����z�4r��4���O�dH�c�*�A
���&>�$v�w�g�v�W�8dm��?���X�%�`~/���ũ�o�\	x�����c��ܳ��������ڐo��#1ܒБ�tM��d���%�"\��
��a�Ȕ$�U�1�ji梼|}|�T�!<��s�b��A�g`N�Ҥ�0'2s
-1mI��S+�	�q{���+���-���k�h��GI����B�x��3���.X���L;�3�`�E g}�x\/�ڨzq�1
��Ks�S`BS��"dAKkK&
�-�2Q���J�����\sXǺou�X(;�H�cÄ�b���0�
B+�یޑ%�
�k�y��G`�a�FA�{�j�"Z����T�Hwe{-�(�ڍ\�p
/����X+�O�n��0	�u/��y7(��ŚJ?�~�*����
-T
.݀�����WcT�]6,/_e�����Ǎs[\ϟ?��:�q
-8��l�
��6[�a���S��:d~,��8�?����I�iJ��9a��b�h�,Y�놬ˑx�q���#
8�쁫V�_:��{{V ¨���Iy��%Ry폟
��bץG/�Fk��#��&b��������ي�ɨ�yBn׾9��X�RY��\�Fa~����
�x�����Z�}k�a+�fp!��If���������D��Bq�g
�=g��[�{�9�j��
3�W�(�9-�1��h�}�ǒR	� ��
"��Y2H �xk�~��r�ĸG���%`�Y<�Xn��R2�j�X*�� 
-F�
3�=�^�J�	���;�;���c��\Ǡ"B�Z�1J>	l�4O�+w�Xi�����:
-,�T*�g%�YM��u'�Ί�ʼ�C�.�d���1�S���@�b�_㍱��d�9|���B��U���i��_8Gp�R�z�@�[5I���S�Qy�9=}����fa��
����ߔ��iQ��3DqCD�KJ\7���~^o�m�=���
�ud����|%뺺6$��硓7��r�r;���_��#�)
-#.Eb��'A
�
4�ԏ��G%CF��F*�l[��.�W�
��� m�.�l�!Q��H�R�����V�s"�!W;�_LY~�;�	��)m����)�Ax�W�&4

���cXuɣ
��
8kK��
�IY��3J������@x1�|��&�*I�	[��u�I�J36�
�bA��9C���	���km��ߑog	��}x���^����B K�Ju��,c����x�=J�H��⊩
-&���_T9/��Hco�]鄄TTLf7V����
f���s�Ho�rc�Ǔ�SB%ؒ�,���,#�J��M
r�Q����J*(���6K�=Q�+�ξ3{�M]��}�k�WgS,� �<�
S��O���ǂ�w1̜)nx���O]F��/�^V�PTZ��z����)���T�Х�ؗ9]��0�|R6m�3�ؒ��
��|]t&� ��->�_]WՒ|��M�s���qM��C�`k`.I�(6�h�����wV�̜eg߯Wv��E~��
-
���������Ac)b��ZO�~��J����C�����:�Bqc��r�s��#tpZFha�1%I�����f��'�m�@)\H��.uƿ�_�T�yEZ!�
V+\Y6C�WR��
ᛎa�����i�Aǥ�ٜ<�+vh�a�*G�Z������4TC$�S��!
чҔ(\
{4�-�2]��a�cV1�i/`ܱ�	�
��)���9Vl'(�D��zRo���ԩt��Q_��p5�?�
�#!��\n�<tf���ۈ�bһ~>��ԑLM�϶�	7��
-�����������bS���}�1*R#+��ӻ�y&�
+�4
����&�G�7b�7RR����z
�:��I>ð9����D㺃��]�
tX�;a�2�9��t�
-��M2/^ڈ����4:9�Q4��s9f�Ga��и0��y�Q��+B5��~�֟Z4���2�����yy����@
K�+�u�.�<BZ�|�)t� �G ~���:ˇv9�9O�� �T_�n������?�Ū�齧��xU9*����O,V9���
v�NbVJ��p����BV	\j
��/�����l�ᲊ�H�u� 4��׏���\
��TF
-��UY!%b���Q!�:B���Z���(��e�IoQ.�F�]{�`���w
ổ��(�%�
���Z�3T�M4�;�y�-�WB�ꤕ�C
�v�ט���^m�[����d@���
ؼ�s�rf��l ��:��*x5(t�A��w�
������-��S�����c�Ȫ���U�
-Q>i]8����
�+���;��WE\ߌ�й�
�=rO�9��b��'%*��"0�%�"c�\�ukLQ��X-��U��1�tE.S�^κ�t�e��>�5��� %l/������K0Oz��o�$λ$iTY������ڠW��
�N����8+~�9��=;�Tԝg��EJ?w
-}��r�+ɉ{8���{$<�L�
-���F��w���o�6G���[�Ӌ�v!Y��)Kއ
�N�p�~E�zn��/r+M"�a9s��
��Y��@<��
T®5��$l��&V�Y���e
�@���_�B�~�)�5j���.u��`��X�A�Z
�E�K�>���sK�O��:��
%��)�0��U�$���:�Io؉�b?�c�y�
^��"<q�#l]������hB���Q�d�R�R��WA
m�ku �{e}ڤe�B��e��"�=r�0�xh�q`����v�ΞX�����`~ZD��Vظ�U�p$�V�nܴm�f��^-W���]c�
j�D���S�=�܋�MpT��P�}ةƊ
�р�.�]�;�Z�����Wq��N
-:��R����/
-��3�
���Q��P�!��Y���Jׇ>V�bXa��P��}���4ѥ����ֽ�	���@.ԧ5jԼ�ة=���L���y��{ ��D	�
�'��O)[_;z�v0(9BD!骲���4�
�
�:�2�~�/�ݛ�Nk�N�
��`߫p����%m7s�5�"�I`�
���J˖���ĿC�G{���G�^݊
��D��1k�歹qg}�ǣ*�#6��ˋ���_#���f�jv����c+�@��jgH�T���nT�����b���	�A=�$���%l��x/�%qm�3FRG�
-�rЙdD���RVfx��r�Xd���rj_a�_-'a|ý+ˁ+�Gw�H���e�g��������d���	֦*�9x��]����1�&���}��5u���cm�L�J��g��q �|�n+�K�2ڗ6��=�<P�&<���D�쎉1,T9�"'.�/K}uB��+�;왔��?��2�Z���T&��%R.|�U�-߆�u���J�#Gg�ˬ�j���80r�S9y)47�>���U??�A�5�E��ȫzxQ�R
r�?�Ǧ��H���
6D���=0�v�
y
lBg�0�/ ;�ܞN�C��M��]
��K�#K&z�!
-m�5�j�
�0,H̲dDQ�
�R�

-9l����"���TL٤�l�r
d��2m. $�Η
�ֽ
-���5Sq�b���O$��|^?�0
� /�
-�*����`����m�D.��x=X��'�U�
�u
m~m-��
����C�.YU�9o�QjC���3��g�{����i�r&����?��*���,.���o�B�
]�
U���)��#��W�
���*1�
���5L���a��$�ܗ�N���.�FM9���Z��h�[/�ӷ�>�ab��
�S��M����f���+�W��}�
C�]q@�q4���$��ۍ��"�8q3�r�}'vq;���D�8Q�C$���:\�d��v��ytHq�%B��`v�y������,�G��s���k�oWJu���n�u�4�%�`
��}[� X
��g�S�
�[
���4�
�'�d�0�E�"N����C
v8���V��=��<�
�0%������0KgV2�
wI�
::���0�
�
��3Gr���<�		�Xq�E��5��`����蟡�$I����8'�b���΋
��������?G.�j��^ym&4�s5*&�}<�}�?�7�
q 
�^:=�!Mx�&h=4�Ί�BȪ�
�6QeF���<���
�

0D�lk&]VN�!r���҅
=�(�x�w�@����6|�� N$�x7�
t I���k��7�[��"8+
ﻮ����g��-�:/aXr�|�#d�H�}��>��M�I=bd����S��P"�_y)ɥѹ?
��;a�T#����"���G�L|�L&<Y|P���$�a3S�9r=��&i�yU�5|vfFEl KW��"�מ�C�M�7�k����>�4"}��
��i��u���!l+$�
uP�1b<u�,�~���H<q
<��X疭������~��tu�
aZ��� [...]
-�f]�Ĉ�S���k�f4�c�E��[%�
-T���
���3�2��o�P��@�qDZ�e�Zqil�X�v��.y$�3�D�aT{!�SMK�$���ٙ+o�r.���1�/�z	M#��P���D�4	�Zf&���ސ�Hʌ�z)�qI��1��:T�M�x?_P���r��N��M}&}��Y����B��&�����
��R�F�̋�a�l+�W�/�vƹ���AsZ��nE�?E=(��!j(��)n��x�+�,�L��B��1�c�'�n�M�
p�ɧ���Xg��VP�k��xmOo�e�ߜ����a����hᆜ7�w�7�C�{����Y��6A�H^< d��U����sK�I/�-:1_�b�H����jW��@Q�r"������zYj�����|eOn,95���R�	�y���f�F<GGk
���{��RX�j���jE
-ڬl�TR�����&�*G31���9���$jP�yYe�l�g4�$���-5��T	k���乲�3@]�a�H:ͤq�\a-�x�:/�U#�1=�d������fgu��̑�E�Ϡ'
�N�?� ��LB�=�۽g�
]V�hS~I
�J\���-iCЅ���撩�
�������UO�r{H���yAN�_$K�;���͞���Jr����O�̝9^z:�����n������"�J�nz�䢶���b�p�p؎[e/X��w��T1
J�H���/%&��f
?B�i(�V���;f����<�-�)IՕ�DS����CB�d>�p�[��Db����_�㡭�Dۦ�x��1���j��qQ at 0S��]�*�
��QP�_���j�(
Z�����6z�
����
�AA+L�S��y;����T
�a�����g��Y��wJ,F�N�AL��ܻn�M85�Eʺ�*�_����U�bG��<���q��'�o���@gE�ɓxc{t��mlƈ'�N��E���V
�bۥ�R#
zK��u�)�f��õs
�C�
�ࢧ��Ǯ@_�ܪ>!Mz�`�t>�
)���횩1q�=W������El�m8Ї<a~�2cD���
oo�_�3l2'"1�d����Q�4T$[t]ǭ-t�[��y�'V0�Z����̥8O����K���8'�4'|� �b��Kj�G*��be�1���텰ߥ���;4��e�ϒʕ7��%�)�0�A��w4�bC�
xw}�<���d��^���ڍ��[��|�nE��B ���9����ϑ�ܘ2$�@y��n����B8_�Y;WyQ�Q�?�'�$:(ȝ臆Fn�
L1C�w�+N����G+*,�ϩu�䥑�;0��
[��(�U;X0�?z��}�l�=
z~gDC�z��*�:�ҍ�uBy
=�D̀���%E7���
��8�:��'�����I��O '
-��}����۞U.�j4�
-�u"��BܤD&��wyI�,'�0wg:S��H���,��iK)�����W+��0?�ou���!s
��v�S���҈P.`:k������
-�_a����*1ݴ��RihN�j�|Y��7^�Rvow�e��cOmܒJ�QuPK���,R!�`�J��Z܌�p�sv����\�zL_b;&z�|h�'o��Q?�/��
�w�k��%}\ćż�S� �P�޽�,1�<2o��r�KIV���R��?�XD���p���5	�4wx=�Yv� �6�%~����`���A�@1��Z��W-�Jz����`yw`ʸ�p���7�!����Sej�R�F�>nտ�;mW�ٚM��4qc?!u˃��P�uk�#�����0�Yr����섕���;��2�����aψk�k��3��I�/��̊�{"�u
-x<��
�������EW�jYuA�De���
-����x��\=n7@�E]�=�]
 '�����fin�E���~Aw�+@�T��
-������	h�q���k�Q6��€)
Mv��{��6GLOvD����P1[rQ��
6����u_��t<�a8��P9+l�r�s
��~Qb=
!�R$Fr�e锛X�:!�8�0�i�\Z�rP�����R
$�n�&[�F��u��!*.?����|�Ɓ��/j����e��|l��'">�.6���/���
-C�9��&Z�F
�Hȸ^
d���]}�BqCN
zl��>n:���-Q���љ��Z�3������@P��mW�
��G�.��,���@s
��^;��ķʳ��-���|	b9W�L\��v�z��
`�yylL �B�0"u++��{/?�I9-�ʍ��5�m�._�S!���;�]̳��Ѵ�ZTE��

�\t�KJ��OJh�-d
�Dk�M�G�iښ,a-�ѬV�̧�3(b���a���>5���
Q6r>,�ۜ%D����Ww��`Η�qFy�T�
�u�J�<~
�*&�H�?_VF?���$d|N�V��y��%��QE �Cb����@\x�f�J�V=p��'�:J����N�Y`˶Y�߱�n=�����<�T

�#�G0�����΃���
�#7��+<:����`'�<P�J���V(�fo���	��h�v ��2�V��Q�V[
-ؼ�RoKU ���VK*{��h��F��*-ǧ�9�� u�\�
JnSŶ^%�:�d6�gl
-���V��DRӔ�\�����S���A
�CY��D���ct@�]�9=	@K̀/^����Q�	���H���$G���ӯ0�ɫ�����P��DUvsǎ3�S�����ʓ;`gʅ:x9�6���|p���O$/��cwfg��S�<���8�~$�O	�Й��R
=��k���*�[܉�
����O�
�1��F�,ә�n��عQ{
�Aܗ3��\\z �]b"kuJ^�j�|��a�"X g#SB�>IÛ�͟퐫Y�Z�mx8�Te� a y��<''~�.d#�>Q
6y��Z��Z�e�j��za���/��´M١?��#n>�:5��=�s��C�[Eu��+E`�cG�\����ݬ�pQǁR�B�r�~�'qg?�%�m�Lw�r���Ԃc�Te��/i���A�!D0����՘%�Ȩ�Y$�\#�����j�������l��䯦9/b?}�*�iM��x/��:�Aa;(T��
��
-\Am|Q՚�?!#�?�b�
X���:B��0�q at z�+H��4�~��^��Rְ��t���<@�ir9;�Q"}��E�@@Z͏�e\�I]��O���`�5C�n
-o�%�ԙ�(��Ke,<�j�� ��!�C�}�]�̵
K#!
�D�c[�
�,6"���mk{X�S�M��X�i6LE\�H�� �
���.�"iA�5'T�&^�
�7�_��}�_�9�
-;s\��#�
Ja:є�p�dm����L�:;)��ua���\8Pʵ]����L_"�n�7����pX��/�9硱rP<��ٖ��~�x��
��
gʘ���F�����>Dp���+4m���X<A��Vo �?�	;>�Ӽ|.Vu
���5�%���Qf�=��pTr���fp�攉��@�W�0p3��1jr�g��+���
��H�K�3�Q3;��
-���?,��*y
L������c
j��U��]Ѯ��7\�m��v� �[������;
�w���#z�%8����IB�k;��7R���lz3�Bg�9��첬'
Dc`|��G��VoP7F�"^��5��o�?�-Kh�f�6P�04x��WA�IH&��HM�_�
˃��EIqW�^�z �@yC~Y��bdsI����P!q�,��lƨO2��o�m{ L�e�H���cȬV����9krO�Y��ф��B٧�H��
>��h�(<A�ҟ��F�6sY`ρ܉�y�����ؒ��Z��$��%�Y:��:
��C���� {�F1�HA�����뜰@s�z)�V�k�u��
U���9�Cc����Z�Q�?Z/q�2|V?��ԡ��H�8m���ܟ�a�G�2���%4�Og"#��^t�6��5�-x��uBԲ�NM�q�H��
d���
-endstream
-endobj
-12250 0 obj <<
-/Type /FontDescriptor
-/FontName /MUQVXJ+NimbusRomNo9L-Medi
-/Flags 4
-/FontBBox [-168 -341 1000 960]
-/Ascent 690
-/CapHeight 690
-/Descent -209
-/ItalicAngle 0
-/StemV 140
-/XHeight 461
-/CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/a/ampersand/b/bracketleft/bracketright/c/colon/comma/d/e/eight/endash/equal/exclam/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/numbersign/o/one/p/parenleft/parenright/percent/period/plus/q/quotedbl/quoteright/r/s/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
-/FontFile 12249 0 R
->> endobj
-12251 0 obj <<
-/Length1 1642
-/Length2 14402
-/Length3 0
-/Length 15264     
-/Filter /FlateDecode
->>
-stream
-xڭ�eT�]�-��n�����N�@'@�����Op	�����������>c�{���t�^5�fU�YO=�i(T5X�- � i��3
+� @lk���U�(�(�,�r�f6��
��#��
��4s	t@ I��	�@�H@�=
�V�� z-u
&&�����0���o���@���+�bo
�s�K�
���A K�
 ���'�,��Q�Ȁ�@��Pu1��` ��	� ��8l�}  !v�Zsb��%�08ك��a w ���`r�;9��
 ;�
���ށ3 �ڸX�S�_�%�_�;B�z������B�����`{g�߬������������N�0 b���t���ai���f`;'�3����\� �������o�d����������
-�� +3G
���_�������	�_�7�����W4�_^�Y��	dcɊ���7'��on+�
�?�"gg	p���n�b��+��_D���0�-��bg�� Y"�)C���������?'�����#����'���y��o���N-�bc�lf�w ��g ��
��(�Y6.���
���4��x��b�����E��X�w����vV�a��a����$
vY����� K3���/�����l�+���o;��4����v�(��odg����ٿ�gS�W�Sa��l�9���gM{��ͤ�����?T�?C�^,�Ka����x�}�������JfΎ`w�;+;;���|��d��h���FH��������������W�-������_����H+��P��
���y����
��!�e��Ņ�5�.���-�Jӗ�ֆI��V��c��]yƽ�n<��T�y�CO!�m;�^ �qjƉN��ż��}^v���j�ƥ/��\�/
��\
�q����|�iuq�?1���
��&
>����

t]���3��!��~@���w�%�ת�%5rb~��ة[�=I!�#�U���!"\!�z�ԓ�@�\���)iS�ƥq���d^�Ht�c6���<�o�-�i��c �����#F�>9V��9TB|1��ʌ�e�|J%\*۫n��2���}�(c�����l �n�*d��<��.2g�zҚ��nLi �p�Lk�4�ַXk��+�R��S/���.SLt
E�e�9=`Aӆ���q��4w���
�S�`���H
���J�I�t�H
��k��Ϋ�D#�j��k�MV�@2�d���݆��o��}��u;u�F���*�+�
#
g,Ju/��\�|����G=~S
�e�&���]�;H�sX�
d&\���HH����z����V�0M���^��&�]���ҧ~�{

�����������F��T(	�{�{�[>jj�����FW?������l�(��O��`�Aq�������#�3/��d�
��Wƥ�Ӿ3g
��z��f���z��|��]d.?��'�!���O�e��Se<�p�m���PeY���o���E���
sm��Uٿ�\���	��#
�B�\;f�t��]�~�CW�bܶ�h��0{
k�{������"7z0VH�7t}�⋼�� d�
F40n��c[#�5��U� 1��|����N���v*�
i�Jɓh��ax��
��
sy2�
F��G8���7��
]�x��3�������WLr��AĹ���78�0YLo~����1�ջRf+�����~�{����@�Z�xs�7��Y��y#T��T�؟}3�!Ri;�
U�wn�BХ�����̈��$	�no]�&��
ltx�(��w��i����L�Ke�6���
��5�f��|�Q�jjN�oE6ˎ��b�22�,%*_*�!��l�N�(	~�
E�d(�\\1!���;�j�‰�5%OM`y�z�1��i*D�!��ʰ�m�
�m���d�
�n�EC����t���ו;��t��5B���܌0xe�vD��(Q�b��L��ׄ"x��\2
��FUf�My̪%JbIJ9�Yc���m
y����a���%x�=����(�q�n����o[{�
���刞�9-h<�G�I}20�"��t��?m������k_�L���j����X�,��dp��:���
��
��V2�����y8�
v��O�II6�݀>Km��S�����̓���|�	�Wh��:Ǻ{���M�键M緬���=�W�����"�S�.j���"��Nw���� �
����x�LI���2��u�����eI��L���=��b��)��'9<��K��@5Z5�ؑv�sWE&�r��մ=t������u(�ߐ�5�:Un�}\�
��E�o"s�~�v�?�;�_P�_Ocx�{�4�2��nX
n�Po���3h���8<?|�[�/�edC�^�jf�
�g�d6�n�
-]�2���%<{l{�UYu�X�Y3���E�3
I�P�||h�Ŭ!4Xg
-��H_<��z(���
aj(�v�
�l.�k��W��4�>Ę^�;��D��ڐ": ��q�$��ޭM��b̼�MŨ�̦��
�4�,��4�Q�r[2��L�\����^�NOLJ))����*;|hX���oW0]W�߃�M
���o_Pú��S
WG���hr�Z�y�
�A�T���`J��P�S�;�Cԕ��^��U�I��Io�8���Vk���'�č�F�PoN��x��G'���-
�j�ӚhId����߅�^���ɡ��L���В4�0.�n�Qh�'/�;7˘��q��\�l
.rD�&�d;~������х+�

_� �
�]^��+}��@
��e��
�F��(Qo��
��_>��P��47�������G
�����^H���m9#�v�g�O����~
��\��?
�[Pg��;Ĉ~���	�#gdc�����9���@��V�kdx���n���(� ��o��~��
�����-���'%�w�
���P�/G�,�\�às}��A����N��;,L=��0
�)?Νנ����k�
����n�

��3�
-�yI
M\����]1�u�s���Y�Z:�M&��鳿匪_��n%%������e8��|2�C�3��M��X�'�S��1.��t��՗ŘJ�8z���憖#��0��|�}
->����������w�Ͽ��/\~���*�
��ĩ�R�ܽ/ZZ�:��2��3�d�hE
-���mľ�}杖2
�����*Q�M%�a^[A
i�
-�����;�*�%&���jH N
�7����s��v���6_M
�+0� ��L8u)}
-���
�����RFx�T��FH/|
-m�2"��#9���TGR�h�a���^%&��6�%�jv?�s�ҝ&�z�; ��$�s).5s�Y���p�T͘�6̘i��4��� �Pi|��u�,�b���~�q��EP�l�8��]~�
Dp��uT�Z(+�h��re�v���ș��agsk<Y�f���9���aI���B3��K���=X8�����lE�'E�Rk��w���U$.�V���ݻy���8w"��e��"�#tԲJ(d^�
Pq�
��6M�T4�eꦿ���o�~r%�L��:TK�Yp
�?
Gפu
-��fd��2`��.�������0���0+[��:��
�>���ń�hDeTcV.z�:7$6���}3탊����ב[E�-

-E�
�C�����0�Jx�)0x&�rk+C �jW
,�p��e���T��D�;Z���2ϝ
S�.q�=��e=`�O�=����%K1�.H�G���Ɓ_W˧7?I��|͙�*g]�%���Н���&DZ^p�_��$�ڰT|O���ǯX�MiP~��.�h�]o����?tj��=q~�WÝ�j7sHɤU*��5`##|9�����
�|�q'K�ȿ�P at PBj��;�)�?��t
����
_���4��e�
��ȇ �a������#��.]��)�6%tmɱGY�^T�
��븃]Y
#8G���v�I�5;
-�x�q�!�	܎�
������b
�)��dR=D!#,�
�8�3�{�#i�SCU��e!����.w7�}��ugX~g�aR�:A�<Niqq���Oe)�:�*n�yXBغ8�_�=�gf|�L�
�����1��\��|ؿ�~�,s
��s^�h#���?��s�����5�@5��V��lJ�?2�i�a�~8��z�aiT��(�V

�G/
y���S:

-�4�B�H}ZZ{
M�Q�e�=�Ԍ\݀uD�ͨ;-�?�k�	��������S
-�ҹ�"�r�P��3vk�.6d��o����:��"ǜ�����9;��Q9D��@���[�~%�5��t���>�7p
�N{K/��7�����w��i����"�e]|�U��&�v�~m�On����F���it?�����C-:�g�J`�'Q�P��z�嗃�ajeI�|���N���z[�@�W�.�_sш�_,�CL
4O��Llh
�5�n��1���`t�+�J��!1*���Z6�2."ˍB��e�7t�ST5�U�|69����&��4��_���<r�+Z�.J��W��(� �P�0S3z��f�?�"���hִ�1zX��v���
-{G᠌:��m�@e'N
-�c�1��ǡ�ppG5����
E�P7�������E��'�uxa{'�ڞ�H�19i`o<��ݯ�e��e
�P�`R:tfy~�2�k�
��]�ޣ u�0���)I�M��b���qh�h��&��c�I��tQ<d��i��[p�B%(b�;�"l9��}(�f�
-+ݐb�>�|2�ɐ���H&�$4�}����X$����3��:TN���E�>1���?����
.��\t����!*7���Kw��
�	۳_���ױ����@�L|8s�>[k�_�]f}wWA��2����H�
�1z��k�B!
ڡ��gk�����J%��e���@��M�X�&�X�Ȫhw%�Zu(u���p��սR�V�x&%���.��S�'��m�۷h�O,�0���P	tѓ9ڴ���bX3���
�4��R.N����s�>j
�����A3�oE��q!L"1µ��T��}~��Yp�.��b�
��ʳ8ߗy5Ik�T�P}�����Z���Sg�b���CY��$�"H�D�����E�8E6�7���Z�܆K�獵�;O4�
-er?�nJ\��a�a�e�f�*,�@�|z��l�F��%R�X�<�����-ğaR�*+��LW[[`��BQQ9gX�!�'� �$*�C-�i�
{���1A:**G���R[�"*K�A�F
����QlV����;e�H����'	�=SSL���w��\������K��cSY�23�c�Qp��E�8e�R��Qi�������
���t=4}�l	d���.�f�>�o�_v+t+� �[IT�#�.b7��2}�����t�1؊�
��tvA���p��G����΍
ܘ#(s0�6�R��ݦYt����?�E�=�D�  �o"�$���,��>d�xe#u�˺���>�[���\���$�E�_�����Ɵͪ"��c0*�]P-A�-+p@
�ȴY����\#~����b*������OU��Mm�����P[�>�qd����wF�
7���8�����l�!�|,��öw�"�d���9��������a��Wi�("���4`����0L�ޯ�N=t���(��TKd�����<�m*���OirH��f^`u���KlY�h��yQ"��n�J�g�d"u
�b*�t4x⸩�
-&Œ��L��g�������{��S����:�]Ѳm̾��r
-�*/���[��x�)L�5^�
��]�f�
8�r�
��wD~�y�J�wh���:�4+Q�O�JFuK���l���Š'̖�DF���<D���#����K㛭UK���x���9��m(�
ՉӠ_xn���w��YY������S&�}�-��9Ndy8ë�����@5(e�
�!H�v�n,}O:w /
�j��/�9>`��M������Fc�Cs�� ,DXH����0�p�J�Q�)ټSD,ǧ�U���An���7��չ�t)�
;ĩ9  �	���I�Dq0��~���j�
��3��)~F�kf��$ô�(/�׬����x#�[�M���8b8�i�7#�iwa�^�t�؛pz�`TA����g�6��L��c.>,�)��YC�b(X�|zy]���z �v�8{�ч�A���`��3�:Ԝ�����<�81sKƒ\����$AB�)�J2�����
'$�=4
>4'R��Ni�	S|�*����};E�G�J.��V�{]�NJ��rHT��
-�|��F]PM�
����q=�ZX�?{*)�}�ZԞM'��.
�
-V��|
zJa��n�F�@jVj�S ����uΎ���"�#��
-�N��Ϥ&j�
¯P
�jH��
m��,ޕ��%C�?��bjߥ��h<U�D��	t��Y��~�b�˲B$�>nAz�-趐���z���%��
��ƥ��p9���u�T�[�
-O��*��o�l����'c���
|F�l7����y&��`В
BRk�q �%��*��rË�y�"��7K�|-���:�G-��7�t�+�IK��ݽ��,W#?�0�gY5gh|�P>�ZD\���mo�;� �qY��96��B�ԇ�����X/
�N���B9��%��ҧ�f�v:]�aAO���Y����gq��)��uc^!—\MJ�7z�1
�%��
*���)��2���(F]b�����Ol����T���
7��>ӿ�J�RZ(%[|MHM��L��� ��>�&�x�V� i m^�֒��`\3v����d`F��@��W^�t�b�
���N�h��G>��~��2��u�8Z�o�j�h;�
G-p
���Z�
-�I��Z]����r�/!/��Ө1_�ޑsw�)���B�7�)�8\
�m�S���S(m��r�K�M4
fs��y�>�x��-
����ۋ��2��]�i�G>���L��6��R����," 4t0�(_��UPPG�������@�N��u�,O��R��$
s��t�nMĻ.R,����V�����U�����~�⾪���/�/(�!�r�*y`k�DX��V^�tG��)'

��[�)�	�z塮�M�w�DEm��ś�=��걹���
��!VF#���H%�I||���y�,�܁Oؓ�FaW}t;������h� PFTEm�����xDm2J�ry�	Z�ĕ/(Ue�x��-��X
9{߶
k�8�\v��i٠<Bu��XB��+)��9m���v
�d6�Y�4l.r�'�$	�*�͒�-!�y�P������g)c듺N�\2�1����d3$�7؀<F!�t�a��J�:,u_n���8~-���Zo�y�#CC�-y;��6+�L�� ��\�
"Xg��
~��x�jђ����1�Д|-/\a
���]�3zĢv�N\
-֏��&�VSp�����w��b�� ���Q1�ScF�%ӯ�v��`�ɺ��\������r���~#��¹���C3�׵�̎G�
C�(�e����>{
����l2�<�F��WL�X�忞���)�K�"k��Q�c|n��7A0��D�iYpvM�	R\-a�
&1h,�Prf��J�:��BO��8�`�y��
�
-y�gMIJ�-�����nF���Ҷ��{�jw�{q���X������!��YG?��'�$�D�gΌo���c�e%�.�-�),ŦU��
��k뺐��m!� (.r���C���I��?�\k�a+��N��H�`X���ʭw�P�v�o�D�
���0���?ȍO,���T��m̿f:�w\
k�I�,���m�i3Q1��Sd
0�K\�:X�F��]J�/F�}T��� �Q��Y3���DhaTT�w��ۉ��#�i&���v�Hm�DkQ�6��^�Z��j�/I���0z�����f
�@��"��qENpY���0ʸ��w_���ۥD�x*��N�ߗ6At��G���2R���U��0r-z4�����
`[�SI�-���*�����ͽT9Ad�G
��d
_
-����㥦�p�G����̎<I�\��,\v�Hci�$�Y�[i՟�����¾����}m���.�h��N;�wR%Bz&����pn��Y�rzC��ɦ
5;�R�-�o1�T�)��z�M�v�$Q2�
�a�#��
���O��~
�|�E񔨵՛/��Iw��eN�w*�B��恦���{��zg�0y0���;]�'�D�.�]��
-��Ô]DvkK"�����_ᷭ�Ԃ^�j����U�|x��s��)�x:����R�v�<=ߥ>L��o�J=|(�
���[��@F�WX��BJ*��P
܈7��a���)�l���aq���|�14�<�7OH0��O
��B�H5�RG�5�;r$��{]O��%����7�]�$Wi5D��hщ�2
�$�`�
`�";l+.$�2�ň]V௑`���<�#��P;�u���#�E���~��Ƚ ���UܑGl�E�I`
�Yh�
�C��
-f~[���-7
-���t&'`�X����U���W=��CV9t��Y>�i�O��&�㦹�7��gD^7F}�,�����*n˘����[8�����44���)H����^��=<j�ց��2l���
���ֶV��^��&��]��s�R��a�-�>eV�O��X�å��_zVʙ���~��`��hFپE����C0
����~u='��.����[�e��r�5�t[�̩�S�/�Ԟ�8�����w�?
*qn��0�o�p���!�����=)
�s��9&��0�����T?�y�$խ
�E�oĝ�#��\v���^���u��ؾy��]�����N������%���5�0O����5�������a���(�yr)�� �:b�;�j�����:E�(���%zo�U�g -rF�5Xs�vjI�W��a�D
5��]���WA5�v���G�s�ט�^ph��Fn	*)��ɀIE��F-����l�ԏ	[#ٯb:����W�|�O��w���tVm���
�!�s����]I��kW@��*�Jo��ue [...]
-K
2�
-�6n�p�i+�4xP��6\�b[c���H��C����v��1�t�n�,v�~��AwAR;m���ۀ�H|Mg�{�?
�(�D����
X���9X��j|���kQ���%��0S�i7)��V<HU���J`߄"�����#N匇/
��:>�>?1��N�d~%(��C9A����Z��Ī��1AG+ס��������q_t�/ji��~�/ H&6c����7į&����it*,3
h��N�dž���
-i��h��=S'�#����GKGb��8=P�1�<��mq�j�5���P�C7����u��7�u�gz'������F�OL5 6�9� ��
&҂Ɍ��~j
��T��5�ɰ���'�m}7i�O��3Q��Gm�SNw��+�)�bs�$'{�mt�|J�
��s
+Gұ�k�T�V��m��Q9���(�+5���ϔ�o���L�
񁃶R���O�3�'����cH���u��C,X=�i�zI̢BC����ҳ�p��n78�{��t>���o�,���əG,{��kq�+��`�����R�{ݩ`�%|'%�77&�wɃ�޾�
<,�D,\˘��3�dsE�P��m��C��7QѦ|���G�
=X�I��tt^���x��,R��}1𧨱/��&�
-
��B <��;
-���;\g����x]H�I���^�����Q
�~
�����c�!�(�E�,iW9
/�c7��d"�ȶ��{fWr�d�
-h���Ia
u��E�V��1y
�xr�e:#9�]^�����
�3��rG�瓔�	n���}&�R�<����I�߼&��5�WVf!?gʴ5��-��U�����gݗpI��׆;o;$��
�kr�o_����&��8t�����;�}�H�7��|�\k
v��H&1�4��Ʋ�;t�v�a�ٚ22 at J�3Gu�>�\D!(�_��Z䒮�~&x�4�ނ�
�!�t!42H�2Z���'艢�7��8������e
��
���(ݜI� 5��'���[W#�$�z�w##��f��T����VP�,�7�*9E��K�h��gζ4졦��y�y^76h�
|~?�mm�����O�nܼ")�K
��>�6� q�U�_T.�DI�V��������	m{�η�&����
-�f�E�`��O΁Xy���J�y���-I`�g�1o���ė�O�D�A��Ʊ��
-N��5 �7-�����:�־�!nK]�D�.A��R��a��O��>�O(X!o�G��-r8��R���FW�-v!��&�C�h*E�"}�pP%Vϖ��uG<af�GH��y��<�L���?=>��6�j3zw�N�|�{`�'��H[����Z�a���Ac��w�����l�*̻�^4�xŻ��L���\�S��+��[��XL�Ʉ��H�I.�<���җ�0��'���]~~&�8����&�+>

�|�n
�໱��֙U�ɩ?sG/������\�̿5�fe����!f >���K^�zк�a]8h[�F�V��H��7C�1��λ
��[�oF�����
�i�L@�,�
L�u�z��N�)��P@�O.{|ŃX$���(�{X�P��
{� �
2�R�Z�#yXRko�xj
1���� �
0=x.�PT�K����d:�˜��T�n�z�jOf�S=�k.���V�
-Drxb
176�k.�z���jO�쥍��w��w\��<��
p�{�c��O{1 �Y��1+z>�ƿ6���]fC`=lPX;_��:��v�YSd��?L�MG�Y
-$ڨP����1��4u��G���u
��*w���W�R��a�pw�5�����c$3�JQV�j�<V[Dp�

�v���Ќ�s}-s�P:��um�,���w�k�$ya^���(ϒ�;h��H�T�8~0
+s=��
`!i�!�������|��Z���B"��,���u`��}��e2��'
�m��5;k
��NI�ˀ�}�����ϧ���
g�*�1����������h
���
ߙ�!�ړ�c�2�X��^��|݈�o3�rW���u2 /P��gY�V�+	�7�����b�2!+R���q	S���uH���Ω�T�/�@�B_F*^����U�-CG١7�(�|�"�T
���Q<���Lw��R?LB/W��g�<ȏ��hf���~3�)��P��Y�dS$'8n!���td
Ę���w��>�қF�DK!н5L7�qTZ�'���KM������l�dP��3�~aS�MC�S�p�����@�ߵ�1pZ^99��n��)�l�]��V�D�0�F���?��'hu
�a
�n���o"���N��M�:t�!��+�{+6y&Ype��#T���z�cK���kA��� \���7�8^�`s��S�)5WO�7��b4F����^? �5GW
�j
-����3�V~�$����_=L6�c���7�
}���{��2A���P���m�e�n�ͷŒ����Y��-�V�mw���1}�t0��9���U:=ھ>�B�K�qg{��eF���d�w\�I�C-��~j�ؗYN��R���n)�ƿow�xpTi`z���8��u���F)J@"#��3�osV����N�S�o{�V�����@vX�U,����O�i�c 	랒�D�=u�Uҁஆ�4Mc�J��w�a�21T�;�)R/�K�wR�\k��\�ABȉK+���֟�9�gKZ
-L�������#�1���Z`ib��^�'����Q�e�@c����/p��^���GiV��+
��,��
	Q[C��*�
�S6���d����X��I
x8�S[U�|Zf@ y�t�;�6�W�����Ps̓��Md���x�
̶�}€���0���n/�"Z�N��UQ��$A�Y�	X�z�^���⡳��k1�D��o��d���XFL�q�O�8��/����x��ϰ
�cMa&�/�5��sMWc����C��*m���h�ٲ3=}�̓��x)�0-4��1���]�U����	��@KsgE�s©%��)��
N�����R�2���/8�^�<5#�<��~fV�
�,'YZ���3]�c�����%
�9d
-"X�~�w�a�T
+Eqz�]��ʀ�m�F��T��Y��m
R��8e��
9�^v�'QfBbN��e��T���I�PZ�h��{�7Sdݚ\�4T2{ ۘe~
󂅻���-������7҄OĤ �PrU��&�>q5�|�Rt��<ڍ�?]�'���Ϙyyk�
�x�2��aywݞ&��Q7��\�Ca%<4����?�nq�$��-
���4X~���8�#�^"�VE��j~� ����Rh�@�
_A�X0����a��4M�����Y�<V����T�.�E�|
Ǣ*-.	\�a[xJ�em��;!����7�Nok#��Z�ԠOh
�멒������(؝Z=Z�5�o�|�MPh4]�g��p��.Ӏ�b�;mJ�W�WB�n�:�i���
��	�P�O[�d��~��N���I�B߶���r2a
���c�r:��&�LX/i
����&O-IfP:�#�Ofz�@|��y��,2N�
�~��
`EIY���#I���
 JT~�����1.�.�b�,�ׅe�yT+�>E��ynH�<lX=���^
���
�����"��r�����'����
-��Η��\2�5��f�5]/�?V��O���9����U�#x�y���ց%�hR��7ZσF�&ONw�wο�ث��/��%�
`�S*|�n!��m#�J�06Lpq���
7��zSf8�T���ɵ2�͐
�
-U����
�k�ago�;�1~>DP�ӽA+��E$��~;Q�8���V�a� C�")�M��
-��ؓ�6Yyָ�Cû�p{[RM�k1�'^RFY��ѕd7�B��p*����Q�7�Ȩ=:�u�,���+�2z�kt(���TS	:
�
-�j;O�=�~A���:>I�w}%���	aK�Й٬�'�J,�e8�� 1��<���M]�
-yU �=;MK�f�)%���w�){l5Kj�ʹ4
�����N��N,��i�O8_�lOƤ�94L΂;nH��������,\�P}��7�K�'M$/�P���oulI�8�
-�X�,���9y

-���
�Aޣ'�#���q�o�"#R��y���k��2�f�d�*����-c�M����iG�cS��%���ͭ]��y��Ϗ�H��d�\�o�M��蕯M��Cz/�%��G�����U<Z?6[��b�9���ݗ���_Y|�>`U�x
3]4�8��
�!j�
vC~��w�rLjouf@��
����.ڦ� ��ìM�PҀ�y��N�oT���eS�P���$�������� ����Ky�Ȓ��u�I�)0�
�*�
Gm����\��.11P�a���
-�t���|%kO�
��4�`{]V��e��x�%��m<)=r�|���<�˽���J�-���1)���ЄW\?��es�W>�/w)(0�d��6T��"~�n�p&��C�E��@�!�R���Ff�B��Mc�g����b��e�d�V:�
ѹ�l~�Q���1]m�T0�d�23����  ���jH�5��\#mؾE�(I�V䉖O�6��l����45i��8`e�X��5�;L��
�z�/���D{�?��Q}��:�Ӧ4pS�?�J]K<��~0G�<�9�Ϊ5+m��l@�6 at k�K���e�x�'������g&�����k�ô���#v���S��}�o�r��1T�
�eq
��J"zk�)�q:O2*(�ZR�E���k�I4U�LJIM�n9�R
ͷvQ���Y��*xB��>V�!%Օ�n��g���K7�	KE�?7�j�~�=��#
cq�I�9f�
-t� 6�F��ꠐҤ��"��p9ei	-�?�$�Մa��o����A&J�bgp'j+����+7�L|{�!>��qM�n�m�=�%J{��3�Цqa#�ʝ�O�
����XEߤ�wj���7�>80��p������H<��r��qLOn�/�_�ǔ9�C�v��3�j+��⁝{/Ɨ�/Z7���jl�6)��ٍ �V���>��k/�]�%��;��>�5�kw}��A姀�i5i�����A\�&^�|0��E���=�4��

��o��ċq�[j6�ݭ|1
��Y��+sL0;6��u0N(����O,=.Q(��5���%_)�����W�Of!���>!�GT�Ḽ�)�ϙ%?�9�-��s�1-}R��o�
 ���A�kQ}f�.,�vƱ�����$ׯ��]�K�����}i���P�F�>c�J��`f���$��7��88N8qr�
�_3��ޏ�R�د�\�S���Ƶ5���Q�RP��\di$�Bڶ2d���z(�H�[�. [...]
-ԯ6��<�:7G������{#M^T��=��Z�U#`�K�~���1�*�E�s���(�}�v�}�:0Y��U�4[�R��yr�Aa��ꮰ��!��g���4D�Z%����*ܹ����!I�	��aH�OUS�#ʍp�P̹�H at tw]
>��D�bZ�����)��\rz6+X���Qट��>Nڔ�
u'z�x�~�������
��
-g��<��%
�� 
�U�m
M�tяϦ��0apα��Q�z;��?�T&���+]�Aޥ����Oxo��Q�V���1Jfx(��&��7�[�s��Us0D)�M.H�$(��qw)s��ṕ�
s�h�L��ơ򜟢��^6
���<>,F+��y��Dr�͢��9��e
	���3�!
�
� ����p�v�<R�w����GL�
���o��P70�8��ikbe�9��O�9w����p�f�v�$cC�Q��M7��K.�u͹&E�R���+�<_�iêUi}��rP#J�<�D���U' ͚˽�
+B�UҚ�.ݸ�E)��dec���
)�J�q�;t�M��'�;݈��ɨ�e����g��q��L?!�`
�
"�udz�c
{���[s����)��9���s�	'h4�N��)b"
-endstream
-endobj
-12252 0 obj <<
-/Type /FontDescriptor
-/FontName /RYALYO+NimbusRomNo9L-MediItal
-/Flags 4
-/FontBBox [-200 -324 996 964]
-/Ascent 688
-/CapHeight 688
-/Descent -209
-/ItalicAngle -15
-/StemV 120
-/XHeight 462
-/CharSet (/A/B/C/D/E/F/G/H/I/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/a/b/c/colon/d/e/f/fi/g/h/hyphen/i/j/k/l/m/n/o/one/p/q/r/s/t/two/u/underscore/v/w/x/y/z/zero)
-/FontFile 12251 0 R
->> endobj
-12253 0 obj <<
-/Length1 1630
-/Length2 21092
-/Length3 0
-/Length 21942     
-/Filter /FlateDecode
->>
-stream
-xڬ�ct�]�%
�F%�c�VŶ�;6*�8۪8۶m۶�����ӧ����t���^�
s�5�&'VT�6�7��۹�330� �-m�]���m��e镁殀�rv8rrQ'������w# @h
-�4�� ��������
N��. *5e
jZZ����c0���_OgKs; �ߟ@{[���_��kG �b�Y� �
-�ZR� *	y5���ddPt5��4�Z� 휁� 3{'�Ϳ {;S�Jsf��%�
08; M,���M���� @'[Kg�� Kg�������
��,�Ll\M�I����_	98�������
�h���l�d���U����t�0r�'���_5��쯥����?%�K��������tw�'�1`j��`c��7�_0'����lig������FN�6 at g�0�����	�_�7rp���������g�.�@38f��1M\��6���c�gV�����L����:�����_
��gf��&adjog�0��1�ۻ�
	���c�῏����[�o���������r��_���w���7��; ��1��K���w� d�,#������������Zk ����L���o[����R����o�����;�T����`fd�g���ٙ�l,���W[��LL�E�jaibm�	��V�L�k��W����Z�*ʴ���/Cſ�����7��Q�����<�#"b��g��гp1���fa��߄����\�,�:�fb�W����ϓ���3�7�gtT\��L�N����6qur�K��ߪ�����݁&p+��&�AV�i.�ؿǿ��v3�;ש��U�w���ns��W3�O�|�x,�:|�K�

wc�Pv%/s���R��nP�q�
0�#��iDz]��nAhs0��+)��CL��:�\=Q������ {t@�i�R�َR�V�zF�p��H�?248�uٳ�O�
K���"��1_P[��+�F� V8^�v��H��@F��b��"�W����2Z� [...]
�/
A��^
�Q(�tY��pp����z[?|v�S��WW�Ϯk��+)��+C(�fGr��Cba����ڮ�~����V<B��
^AYT~��ȚA��Hh�#���mδo�����'N�0\�C#g��Ґ�9��
_]��}��
-3�`=��U�!W�=�6����ICD��z'a]�~SOXl��YQ��C�wIP��hO����m�L�0�%
=����=�pc�`p�qF�
�7yv��Ȋ��Z�'ٞ�u��d�'�A��)��r�)��m���N�,��hgS�����I�+�,��m�:���s��kqh�pS$'`|oײ��{�i����4
�HAl ���؃���jRk
N7	5=���u�.⛚��,u�GY"�P)��
�#,��.\kE<9��(� �R��G��ze��/:N҆7�����?������$:9AZչ,��q`��*��R�C�����!�'~rg���
"���:�֜��u��6��ͫ���-��֭�
��JN��
�Q���
-]�m��d��#���/��EN>�&�׭H��Z�0��1�}5m���h6
-�W�6ܖ�P
��n1�����z��E�`�h�i-`�D��aAֲ��L���3��
IOO�F <\c�f5�ֵ6��*n�R8�ffy�֥$�B&oԪG_����P�c��'��$�������#/�{݂\V1;��
gUW7V:�MH�[M��J��W�J�\f#?2#u�B���0�%0l���g�e���	�=&�Y

H�'��%�n2'�� RI�Ȭ
n�v]AGr,�����{s� �#���(��:�;m����8+�9fN�L򇆗
�4q����^��E� '
	�p>��=9�p �锧�E�A�૚�[辙.��PH����,d�l�g�x��O�Ro��8����"8�1��<e��m=�K��
L:#�+�̙�g��e��_���_\�6�"��.c!5 \	��׺�<]��k*�G�T��p|
lo�����ˠ4��}���]N%O-�ץ-͟C
��S �ͱ�%����)
6����k8/Lm�V���!�DayLl�>x][r�
z���~��>�\7c��;�@m�\�_�5Q�*k����$��HM��n� �+|I�tBFX��-T�1��
SI@\	�Κ]
�#G�I���~���=�Z!Q�Cu\�H��>Y��;H�3G��Ş��aǘO�z�Q���r��/�Q�R�I:�K~�<$�ᜤ��
-��h���$[E �a��
.���򩺔�4���e��^�q-a��^g5)iק�-*R�@b�9�^L	����3��+(URy�s��;a�䚨�YD��RU�l����:�4�V�R���Lᶢ��$l���G����v���&��� ����	K��[I�|�cf�%�T�����k����UD��؂~k���w��n��i#�H1;��
n&��ɻ"ˮ��7���M��-�֗D�����´
-na�),�S<�G[�(@y/�`:��^�@#��Uj����I�a�f�3��t�"PY
d�>x?�$fg5=���L����(ck�T� An����k$j�a�[f�)������RUG
��d�_Ĝ��9��|��W�!�h��x�I�0?�T���st&�X���)��oR�㌆L�-(?S����Ԙ��
��	�7Ls[�K�M�����
k�u���*���P�4�'�HRB��2��'.b���W�~��'���	�0H#&׉�*�ĥ#�9�uS���-U44(�&A
M��S�l���o$��T���etˑ4z8&�
ȅ�m��s�$��
=��k<m(� dp��p7Ǔd���p�K����9M{�n&�\-�+"���C��7��.{�x�Uh^[Hk�K��I�0��{5I�F�S�F�n0��;?J�R�w�0�����M��	�Px�����N�Up�L!�@"�mCf:�\����ѷ)�BGl����{kM���A�
-a�Q*m"�o�*K��J���*I�.�0~��:��m�dщj �{�X�cD��i�����L��J�옡���͊��C�ĕ��sl����g�j>y��L�
�Jz�G�a��C��G���#��Ir� ���M�-
��-a8�
R(3�Ycw?*GMO�/���WJ62�_�f
-���k
�

p+_��A�o�h�O:�
��a�������@���a��bRT�sQ�5^"��"
-�^|̶������
Yt��\zڳzi�'c� �n��O�9
`F�Wr���
-5�	�)��Qz�j).�n���nm��%��Ai¢��K%��-~n`D�i4�d��S��aA�{ڛ�����
����֭߯��_C�R˷���V� O��>�D�E�4�oڮA����?�|آR�pb����
�d-�❥�zN
`� 
d��[��q���Ԭ���s��:�Rǭ1	�Y�I啚@�韬��������oO�"5�[���V�^İ��0a�HJ�T�:,p�����j��_"
���+|넛����3)�"U�r/�L
�R��X���f��}�j3,�f<��'�
\�K}�|��\0�/p7�%�V
�{�eM�%.���
�8��J��I����B�I
�B�v�>�Ϭ
�ś��]��{w_v��7u
�M1�V����
�m��(7�?F�b�p��

^�d��T���� �%
��rP��4F)��6 at Q@�)�S@���7m�M�f$��87��[�JT
nv���';�J|�
��]�CT%�۫'�?��Wuک����
��D
]-���R
�R�fc[
-���a���jf��/K��p�O1���7f�RVI݁Y�<(�~^BT��
�6vV�
��!`	'6���}pO��lo�Pex���=�{5sf��4	�F3k�?w�T��Go;�P3c�
Хm�);c���>bcB,��5��E�7�=�G��с �����GVA����@����A�+�
������0�Z~K�{���q|$L l0
�N���ZU���r'��yք����lU��Ȉ�g1%u^^�P+��(I_��΁#X���(��)�(
[�=�@a"���i�T�K�7N��Db�u���($�U�%���pc`7s�R߷1�m<�Ci,��d?�e!���g�<%�fIԕù�fZ����&Ap[[��V�@�B�$a��L��o~q�[&A
`�2��T�@!w���	�bwh�B�Ln^�[�������I�f 22H<&+��a�i�- 5���rZ��Z>[�gyf}<3��h]��x�W{䫤{�e��$��
-��4�ͱ�a�m	�oX�B���zļYζ�Q�S�Xz�e��U��*��+ݍz4�Z*�(�&�z��,"x��q��"�	�є���omL��n�$B�������*]����B�·�֐~%��z�� k`k�[��J������Ӕe����QY'���ٻ���2��ۓ�9ȕ5e�:
>�Q?s��W()�\�Mƽ�v+G�t�ߋ�U2��^C G�|�8�=_����#.V.Ac��
K�p�Xs�qO���f#��Q�44�
{�x���l�<��K.��fe� �p}�
�p^�S�9E�h��#=t���
!�=`a�4�D4ٺ�-�77��!��
O���p��u��?��)i+
�k-�
,k��vՑ�^�N�4�y�]�3�\���76�(����Rsԟ��{��&[����I��:���8a�?pmТl7�W	�$�b.\u�Y�_x���jʃZw�@�U
�F{�+���W���
s�+��(���뱺�L����@
K�v���=�Hwx$����'SJ4tu����#
V0�bqk#3`����W㝙K<���.�>&����;'BnI�����	�୶!J���48_	���;�ФF싄@�s1��L|)��Ū��8n���2��a�y�
v�wF#w�
�ӗ��a��|�w}!K$q9qs�a�X:��e�?�޵	l�I���+r?O�C �
^r�?�~�uSl/������k�vݺ�q��B���7x�Y���=� ���ą��,��SO�D�G���??�&���n [...]
-�]��L��ͬ�lQ"UEu����<����b=���U���6����-���c�F}��g�絒�ά�ʹ2��YN�~u?o��t�+굶��n;4�U��jK�e����a��V��+痱��z�3$���O���a�co�Yp�Pw�q�7�7����jx��s�
vVˆ5r��F�U�
�KR��e�vmĬM���t,b���hI�wj���B
���r���hFp
b�Lfv؎�2�8�A-uV[������UKk6�q��;��\[=l؄k�nݞ�y���9�kkؘ�]�~|�L'��NZ,SY$���W�
-R�՚dI�s�9ȴ�ׁ:h��M�i�u�d�y0��0zX�$��d�ģ��I�	� `H����[{�
��ȍʒ5��}
�8����8�1�Rh�ԏ�*�ol�K�Ո7q9�=X	�y.;)��Jf<X�-DO�.%4G�f����F+៹w�?��y�W�wO&�����8K�
">¯��'>�~�J9fm�������+e�r��}
	�]��R���=���.'^p�A>�߇���v��Uu߷��� ��7{����L�>G���R���L�*cQ��b
�j
[t�R����ۀ:����')��e,�J�ă�S�_b�G����
_�:�� ��!�I����Xz7�(�"�E��D�����i��Ӡ�|�4	�1Ծ�����"]>�
{.��Î%+�u|���c&�-ZPh�
�ܶ|:�yhU�jd��7�@7}k	�s*�ۦ
��%�k쨚�?J�V��S
��)��Fw����b�K��
IUb.�˻9�M�0��Q
��N�~}[��"՛�g/#	p�Z�]�i>�|�F�
�x
��٘A����gu-
�d#�X���Z�.�z�udA��_Y��
-M6�ۡ � 
|
���~lL_
�
- G��0��6{2��+7vp��"�;A)2t�G�
��q����
t�2�7�����%�Ffa�� �ļ�'��"���LuQ�O>�	�5e`��;�|�K
u�
���M'�3,�Y��
�o6J?�s]�\���cjqBT�LJ�|M�Yu^վyV|��
��
-|cA_�.
i=k���G,.
�=1
c^��|G�
*��A�3�ǥY%�c��U�Hn�Ҵ窝�
E�_=*7oq[j�����U���,P6vc0�
-l���%��5/#����/��ˮ��z�G6���T"��o�V���� Ќ��	��|ؿ�
����$��c��m��������%S����p��n\���d

�Ӝ<�;�ۂ�
��,�J7�NA�
DL�$3�-���٭���
�e�
�W�UR����
[9c���#�g٤h�����5���o.�?�o�^�@���
y�y�-�J0���d�إ��.@��wC�v	?(
���E�x&��A��u�r�}p
��ϯ�鏐n��y3EJL�6�Ycs^p����
胞
�\UJ:'��Ʋ�G5c`��l�K
�g�Jb�7Egk<��CCZ�����y'�G*�R�J�_k��
+|���rT��P��	�y���
-�{���s�0�G�!f���5N���"��H���'
Fg}4/G���8	���I�M?�����k��;\�yN!��UR�_�&h(���#��k{�,.����z�B���r��]j1���Z��FH at KH������E�9��U��L�����\�9ȭ�ݢ�K��|�!vZ\����W�D
��㶒56��ܖ��%��W�>�J�:��tg/�j�HȪ���J
ʬ�����)�hzG}��#� �ՒӏdU�g;z�@"���27�
�w�c�%
�R�re������7ԛ�S�s��Ͳ�b�Mk�܂a}:�i��d�a�$퍕
�I�k�_Q|�$I�	�|' ��qt~z��4<O�
�<
�J������0~^`,��*H���&��3-'��~@���$�
5����Dm���W���/	���<Hc�ꐥQ�c���T�F�o$�ώ�墸�l�K��&_JU�&��scn�i�$�ѡ��|�L�!����E=��I��=�x_��	u:
�>]�����6�G�
���4��E$��-M_��:��d�Ú�N�~���Qo�g/+򫠥.ڶ3�@Z��n#���Z��>�	�����ň����9|?�A3����=E���8Y�.�3����>���p��
��(�ϟ��P�R��O�w�Z�coO�H�Xqe�
-1yJU���X�y*SA��+
��]�V>�l��S�]�h�(s��'������W0Eϡ�J�}�p�D���F��3FtJ*XH�f����J�8q�~��o���^��g�D;�D�ھ4�aJ���i
�g�؟}5Y�]"����[u7S�m���2F
��Jw�;��J��ٌ�By)+ru����9�h�߁
!U�?U!���[ЄgS��H������~{����j�n��
>e
��
	�<�E���y�*�mx�,{f���Ιk�`(܉LY��r=}�i9��L)�
-	��܉07��nDC��(�ˏ�_�3v��;w�Z<]2�3Y�]�H57��U�҉���/�yRt�����>��X<h��P�
E[$^7$�<�֋��8	/�W�"UZ��1[D�hG�m�W���O�[;�'+�W�c�lɿ�I ��<���|9i$���t�,��g�TiF:�+ӑ)� $7p��
�3��/�r����N5N�檏(�&�C���Z�B%%�P�Z �
w��^X��Z�R�^0��s��L1�5s�No�15ve�^$g�x���$���A��D8�aB�UƄM ~G;����ϲ��j�(�	��������
��k�5W
�,�-��o�
-\Baع��ij�
u�q�fW[�ه!�UR�-�3��E��%����e�tu@�WLE�s��Ԡ�"�`
~�&���	/�j�F\Ñ״Z
V܋=�aj扅q��+�]��J,|�k�(��Q�S@?y���]��U��c�\
�^��*o�Q;9��,_
)Y�5J%H������T�'>B�}�
��E�A��,�"a�� �
-{R
-��Ԇ�b�Ъ�����$�B�ee3���
p;��Œ�0�h�jB�a��f�
�<n��'T6]ͪ9��'��g�M�Ʀ8�,��@^�5�I�p}q�2l��,?����^���]�`� u@VYwP�sj�V	m3�����MA�5i�:J����>Y�ݑz)�
�����VR]����&��B��S�5tP1��ǔ9=��]��uu��
XW>�š�����x
��f[�3��Q%� �2i��= J@�ut�B��)�R����6B�cjQ�:�?��x�p�Ȉ ���r�
G���mJ�����]ZґW���|�}n:wv�'$숕�|�42�X"��Z��؟Vx��M9j+����}WxON\/-
*�I�ӝ����l5��k�x�繋>�
�D�@�J�e
G�;�LpDRE�U!ea�"�O���c��2��cZ�w\���t��63�
�>a�
�� 
-�k���Ò����쎶���d��1R��E!#�M�H���w��|I��~��p'TG��
�269�W�܌E;{��b����a|��-?�aT�P���@u�� ���~�Q��ԯZ���	
%�j~!���>Fs�B����-Y4B���}�粦���E:�z��ѕ<U6whW6�b��)-�!j���K�v�7��Q�_)A�M>x�������۩��
�GA�'g��8�G�U����
-3	���T�|:��R�y�FI��ZU_q	C���XP�|kr�ѹ�X�Pt	��܏e�ȧf50�Au3��>��J�2�
h��}vCW{���e��hoh|���K	�cv���#8���uc�`Ny�
��N
c3	_�=r��
e '%!�vPX�-a�r�'hֲ��װ���4����h��v7Z�PѲռ��(��
-�����6�c��!���9��I���CZ�ӑ��v;5�H�v���׽_jh���(��]D�h�e�Sn�I���
��x�ũ���9%�e|�uThG�Pډ��n׃X�{ʢE=���}ia6Y;��ݻ�A`V=e�cؼ	#��C<�K�����O;��.��{3+{�h�zڦ��n��
�$�Zl6�pl��¿�t;�]�sX�,��'	�c"�f�
Ch�iJJ��U ���W����Cw�A3���.s��2���ǹ9��&�����cI�*���g8�t
-А(JD}s)?�~W��*%�h]�
���+�,��-{	G��M��X6��
�-G�V���Ҩ�R�g����c�t�0�3�)V��u��Yດ�H��
�Ng� �[�4p��Nl�6��s|�
�	94�/�a��
w��N���|Rb���;2s����3�'�׾�J�ٙ����"QBu��]hP���b	
������Wrf1���v�o�4˓o
s�0r䅽z�VM ���Vg���h
>
�dxݓ�N����
�
#��Ɂ��̶�#��/7�_�Xӿ�6Z!�ݣ�Px���?Y�u�J^S���
���ES ~+�),�Q�tvz
iw
��
�����0X�
��};9(kW����5�u�Y�[8dsRY���!�d�P���$�Px(��β�3VN�sc��уSۇ!��::�"/c^������@�%����P+��E����dY�㯟�^�w9�ց�Ƈ�(������U�����o�C5�[骫�
��JSϧ�r���!=�-m�	ֶW�B��	�޴(���Y���d�آY�\$r�Ј31�͊|�(�Y��_Z�v\�t�g��*���؋��!����\��TG����
|�Yn���;{Bb��O��&@���A��A1��K2���#��NW<n
k'*�a6�q�Y��G/�M���3�7t��/�up���7�Ꮽ�0/��>�^�Z�7���g��BLe���
2U�C���pd4m$�od��,�	 [...]
⩃���*�9�[knY��.3"���Ң�NZ_�(`�L
�_�L��3�R�Ш�n�͟��
����
w�|�s���q
'��*n
GY�#�4�P������Sl�i���f�
Zu�=Gz�r�KU��U$ͮ�3����˫�
�Y�2�
*��t�~Ό�ձ�l��2+��.���r=��φ&,~I�V���vH�uJH�����5����C�z��h�����Jݞ㭗>單v�(���Ӻk���6�ac+�j��ڱ��Q�lm� �~��7}x���2�8��:y<�v���P��^V��Y>a�Ta�(xM����/RȬ�� 
fxf T���O@�
��za�a��-a.��@NJD���~ө&�5�]1N]ɏ�#f@$�W��]P�D]���D�DCK�4���s�9�ȅ�«>⣙�c!~؏�f%C|����7��3�l>S��ܭ�n�
-����n
X �(ȕT�c���B4\9�$zm���G��ߖ|���
-Pr8:��P�YZ�19�_#�D���
����9��h�~�T�͸^�\i��Μ�\�\�,f�܎l�{�{U�sH-����
�`�v^���q�v]�
��
�����'��>WABW�mnE��w���52��KqC�?.
;�d�����V��W���3�ޟ����F
\V�Ԛ������F�sϜs7�G���5?ւ�,�[>��C�q�4
�6�R�z)M��K�b�t��)
55h:��Uǝ8F�a]j��{7�te��!s=n���׎���
Z8��w�õ���t/����	���1
-1��;�W��7X6ڮ�u��c�l?�����Q��ߋ�r�3��==�6;;��
:>;޴81��M&g����7Q:�16U[�o.$l��_!�R;�h��j��u޸�Yc�T��Ѫ��3�9�A!$RF�Uw�3���\������Ŕ�������@�g'ޫʡ~X7T�Yq���4��l�
մ�q�[آ_9��H]���Ƴy�{�~ ��L0Q��&�K�-Ś����v����z2�$���m��x^3
�
N�b�(/g?@\1��P��7 L���!���*Q�<~�����9#��v���q�E+�2��8��a5dR���iW��v�-P��I�;�/<���F���A#.�|:÷Uc倞@��-"���ǽ�^�$z��4�8�A��,:X�A���
�I[����.N�"C��ȩF�%���ȀH���sBvG<�G���aT-�'E)�8�zK�_i,�c����vx1_v�|��d.���ͷ�z[�%�Ğ�g���7mC{Ob"�Mh)�c��=�����
}g��I��vc��|�
}6�㯟�t�)��R���d�GW0o�]�v
�JRJAb�
-N[��6��c�����Gm�����@l����	ɝ"c�kVR
�_�r
dJ�����=�(��m�@�2����	��YW���.�ln5v�-�Sq����=��ַ�=�[~�U�z�H;H
.)�e��9#C*v
�sd����_�j��``���\�i�,;V�u^:���qy
R˙Ξ2r]����Yu���c���aLy?P���
H
�e"c:���3�K�^;-�B��i:�`Iy�v��J�bm.Z���g{�7ғ8TO���Lh+����

���=���ى
��O�-
t���
-RPU4
4󫻟��s@
<P��,v�~h:�0?'��ɼ�
�2�-ΫX��k�.��6�G��е��#��j6u�#�D�N{mׇ)�n�!p� ��!(Mj����&Z��v�t��|:�A2%�>��O���vy#bS��|�bf�sr*�F폶6ezŐ�!���
-��G�=�a�>M9^�9�hV����BR�k��Mi�b�;4u�.�
����J�oQ)+�B�0�h��ةa�v3p��Yv.x^@
���8k�Uy^>�ΐ#f��9�8I����Ơ_�p���/G��Ï����-��qP?�E��̧�Bχ��D73��,�{͘ѷۃ�!���A5E�S#�~����8�ؾ��I:ꉚx��g�^ ���f����cF��z����U�
}z<>\:FIK��f���*<��}̄B(�)9U���EV��p��?�L	)�|8��!}�����<}���a�uoJ��S|�H|����!Ձ�Ս�*~�
~��\��kv�i�2y�����
#�4X�����X�:ˢՠ��<-��U�z�(� ^�6hc
8��}�ijIp��r�xb���&6C�����$�`
>��{kS�#��I'�剩�A��ә�H��	|��?�iOMJ�~D�,�
-ĚF��W��֠�ǻD
�;�Kq�ҡ9�eJ��-��W�p��e-�uds��Ry~��v����g���0���7�
7i�.�|/�Em�%��n���.QLPm�J����?��M��	Q��
A����O�S�
LT����Ȝ��lxc>���ƾ>EJ\�6+�Qn��<�
�-w3"9Qq���ꐗs/�bcș�A���Gb�w�+/�Mo;�FEBց����+��`'�kk� lO�*�
��)�	�9¨l⨋a=ev�ꋟF3CļZ�W	g��y��
��D&�
����
�}~<N9�{q�/��}/
�x.���� ��'M��g"Qx��`��l�a���O�S�C묵�v��}jt��ش�|�u�|J�*x�S��P�ʺX6qX0�Mm֞x��
��.e��˨Z��*0�.��o�
���k
�������g7����w�Bc	|�kVy�w�
1��y^8M��r��*U�)�&��7w1�#���UP�)��:�U�M#f�ŤRA�
��@��3����
�-�J:oEΎ�
-��S�x��U�S|��eu�NI7�X������j]NM۸���J<x��Ai���yCM
�5ǖ�,�AM
*�^D��A�# OP%1�yi�1*�L����
e���z�l�$V�/�4I↿�
-A�ڥ,4R$�ȑ!�������!�
�Ԁ.
K6i��;�J>҈C
����˱m$��S�j8��G���7�O
3R.U
~�g��0���{�6niZ+J[]u $3;�#�`a�
��ß�����C�+�<4Bb�3�Y������Ӛ[�!�
ێ�ͥ��#�;h�z(	d�����=<@�+�*��Z �s29���"a��֨�UFp�wx�M�.�'q�)���X:�Liѣ���P�e@>���8y֘�"#�S���)��]�y�+�Uϰ��K��{
��P�9Șz�ߢEݗ{�w���)��O^0H���t�,�@�Q���b�� �1�?w���	��'���zh�0��m��N���?Df?�7`
;��>
�L��u��"G������&	�%*͓���jb6��{���$�N�@P�W�M��� �zTOhL�%��N��ANt���@_�+q{�C�-��ws~q�C3���U����#�9�k�3M� �q��ˍ����׾N�t�=�[v�r�q�)|�V#! [...]
-�
�E
f�ԭا
�>F�h���r|���&�*��WE��Z,�Q]���>�Z����C�
K���X����U���������������� sR����_��0r�n��)�߳�\Dž"]�
 �ۚ����\��5�LcOH��m
��
��k�_�D{���{[�P�:6�!6^ߢ�%�
-9� ^�ov2��۾�jZ���x[֕~
�5
-����v!��ׁD&�8�`��,���[L��*�E	(*�w��c)N���K
s\ ӝ~��ܩ�cS�-��t�|'qqV�,���)����c�&l
'�M�_���	��Jm��D?A^t�%�Zj�4��DF���� ��&��FMC|�a�#�����te�#��4���=���煔T
2�����Zw9_��O�S
5���׉YX�}9�+J����AU���#�k���M���I=
x+�o�!
-c�?S
��&�m�!��b���o�}�}���
4Ō��x�b9��*�7gݜL4�w�Q�5X�Ş�ʋOKWf>�b
�$�c�S�{^�T��#��q�l�A3N��8
k&q�*��jnj�
�n.mOZ�b%��
��G���V�q�E�sQ,?�,�A{�������s��_�~�X�K>�A
/�)'Py����d�p
���SO�v+��tf[�����^*��S{�:sӒU�R�y�,��Q��
3��~3ȴ�&���~4�d$�Z�� _������m�S�^�ߧ"3t����j,aw1�
�lɅ^}˝�F�	:�x�C>$q�f��0g�7}���QT֧�|��L�냡Í&)�����`&"M���8o�9q���S-n��'���s�0�ط�
o\��8�-��BZ^Ve���}ba��^�
�
��X缸���T���:�o�I���
B8�Py��-���B[����aż��{t�ݹQ�(�n8R��`9E��~խ�Ϗ#<1dcmF��ˎS��N�]ª0���\?��Q�NA򱍼�D�P��Un��;\��� ,�E�|X
-���<�ud�N��E.���Mse��_ y�?�#���0u>��rT(��)28M�4v��N�
-<�gS�tB8�IY`z�IGs�u�=�
��ٽfB��}�]�ϣ,�l
F�X��.�a�oR5txG ��]P0���T��+J�
����	3":mx�F���E��ȭ�+���v�<~Ia�+v{��a%y�N`Gi�`���
��8y��r
0�Q�[�s���͓-A��J��Gv|��b ;m�M�L��J:��
�� تk�M�X
-L^��d���
�K�8�-�}��*ovv�]DG�{ ����1{ľ��`���x�&�����d��ok�����ܑZ*8��z�[�6�������&��Z#
�;�n��\,(�(�	���Ew��i���e�j�0V��D�q�kL�)s�
�'@�_�O=�f�<f���1Y��
-0AH�
?m8��G=+7�k��
��q����=x�x�����-�r
�i�-x�ZN�4�2�
KL�b]�v�C�A�b�"4v��Ej�,)����ۋ�B�~���
���z����
��
�q����Y����*��A��X���-Y�
\�ԇ@�x��X����1�Ԏ�wW�����������C�daGV7�(�V���K�� &�f�HdK��aN��\��f<�>&��(�
U�A!�9�F�[���Up����	2�}C։C2�T�r0-���ˆ��# Š��wGI���=�E�y3a.�'�_��l����k��w�$�)��_<�Ϻh�g�@G�,�Xk�
ʮiR�qo�5rxj~
-����a(��
������Bp�X�B�q�o���!	7�%���j&�?�Z:�w�ǑF��-r
�W&��P
Ԯ�%3c�<�Bqvc�������}ٛ
�[���:�W�����ܫ|.��i�tD$@��!)a���S�
-���=y?wu4F��<
�> i���F�����+�Νi&�K eq�4�;
�s�b���Z6
J@@9�O�9=�����AxI�"Z���Z�m�cdž�5�
�M��X�%���4m� ��$<�0D�i"�A��~�0[���4�V��R����=���막�|�B��1��?5ݔ��
������O��߈~��e#�[���<���7:xVP������:1-�l&t��6�����y����y�t�]�. at _s�C�$����ڪN��q~y�*�]��އ�ܥ�]?�1
�����z������Nf+E�0~Ē���_ �Q�e�Ea��)x�T��
L`�72�����踂���"X�B�7��
-
r�0�)
-e�VD��
aht�h�
V��=UE��e�_��J.� pb/&R�mq��7�V�V����qAc
ʌ�G��{�ƻ
��Sm.����0�9wk��᜶e/�$�\a�[y�w���
��	�M+�<��^��#�;J
�k��D�k��v��&������4'	Bh?f[��1#�,W�(��Ե��a���C�
^������Q=mA�c@��G�L��a�qT��w�����אت�sU<l ���7��^_n^�R�2��=CMl�r���C�6j�F�+�ֲxd�fI,,d(��ɧ��e3�.�^��ĿC��?ÌZXeI%}���#�����QPzj����
�h��H�ɮj�p�؅��Db�
hWዜ�V��>�w
b�݆�xX,������j�,L�Dq�P[G��awO���6�y�����c���I���e
��9lM�$�z��R��A
1
3�>��9����2�Yf�ү-H�2чo��� ~�].r���� ���H�X��z�,� F7j�#ZV�Ql�����'�A���3�����2�E���A���
���[���ZuR���wG<��_+p�$�,��w�o�@�1A�A�V,����Q�����D-G�K"OeJ•�����~�""��g���Y#���O���|c�:FUU@��O��/�?U�n.�����x��@*�|�w<�nJ��ն0�� ,IS�#��_�Rd��a��nNۉ?|�f�Ud�+XE
���	4���Rʪ��L
-Ukè���#V�,T�(G;,�/ܲ'��[2WP,�����A�	�������e�Ѱ!��������(.M��3�ܑ�����{;%�G{�


t�Q["� ���/z�Vǒ����oOV��=�v�MM�O�R��_c�o��'�
(3��ZEg�`�
�k���m����$v��e�&�eT�����+���
ؐ�l�<
 �}'Մd�,�Z��I3l�y^�ja��
����I�^�
-�[x@�H$��
$˴GB��[�QD�v^:G/s`ȍ<+:yQH<E��������v�P]�VN+dy�~�j��=��t�J?�9�V��y�T&��@��U�{�4�J5s�m������J.�0�jD+iQcj�t��K��
'Om�x�碐�]�v�
�|;
��C�W�5H]Ԉ7*�	�)�w
���ir��_
2�����k_1���ԻBz��xt�~���
�V�f
fxV-�
��,'��c�9�;���/%�i�fC��;����%�Qm
Q����
uq
p-��x�%��vP�a�9���l4`ߧe0����.ɸI
�)��jw��5��X��1�
[��*�@���9R�������W{���0�^u@�Y��md)�܌��qR�H��דゃ�(��j
-^��۔V���uZ��������������� 3e��
-����B����._���P�k�Æ��a�	c��a9�ς��^ Ŷ�×�
-�|;�\�K��w��֎����h���
�G�\�M?B�'B9@�C�����?�b��v�T��\�r�[��e�+���ҷ#E��H�,f�`��t���L�
��t����

!�x�ݫ֭�e�x�)�	H�ȳ�
���*** ��'��[����J�;5ԗ������Ez?���_;�G�hS�T'I��o����ś�������0��8� �C��?�������
Ta�3��hV��}�Tb�28ի�j�ON�a7K�>�ͼkq4�rK�Lj��	Cu?�@�j⒝O�ԓ��fF��n0u���0�Z��j��R����C<�/�:�&vM5�����r�1E8��Ͳ{���"3�Vɔ�����w�d�!��x��[��p͜�	i����%��Ҽ�.B�L������)��>R��}|�'M8�9!��(X�ǡT/��s�0{�=�z�4��۵�i2�/7a�qwԘg�`��eeR(?!��jf.��
0�*��X/��'�ܹ8�m�D�ɶ5>���F~V�ىI��[
&�w�7\n��-P+��C��{�9������� Z�>
4N�
�q{#���`�2�tf:8
��H�mˌ�O��
)��O�k�� lP3�
+.H�S%
"�]���q	�d7MK
-t�����ױ��c�(�,�O_��t�S�Yn�}fL�&���n�Ɂ���.N�|���:�*��R�n0��Y�����Q����Җ�b?.	eh{L<���?�
4C�VsM�`i��:nfI	��5
���������ޕ�c�c�t��sE�]$����+�cz��@ ��pq�r�$�
,���
q����
-?S��S�$�S�0��q�5A��HmH$)��+��r��q
�(I`aL'U�[z���~��<�
-L�&��yK%�玮Kl-�WQ���8�F�=
g�*�h�"b ~QѤ��R;&A�,�g�n�3c�ur�:��`��.�|2�a
�7�
�� �,�r
�
-C��+�P�O���R;����W2��/���ē�f�!Z=U��AT Gy]i.�NFz��2���~�j�hK�#�h
��Ə̰��D�5�p%PҊ
-����
���15�Һ� "����T�X*��S�В��A9�R>�!Iu�
%� 
Q��N3�|`�y`���S7��ԣVz˄�I;�z��6����$�NU��D�
�hJdd�9M��b|ͻ���
�,&��&������ڲ��Z
��ۋ��x�	O ł��Z�^�t
�Z�J�!�0�N��ɥ�������x7�V��Į
ps����{��h�I�d ��}��p�:'~(p�
7~��|A�͘
Ro
�<�2��G@�:� Ѧ�g�U�&�
-A
�*�����ў�B������Ž
{	��aZ/]0��7I2Y � e�
�f���W�6�k��m�� 9r!�����
6p��NG�}��6�ח yĄ��[K���7$�_���c�.W�L�����
-��s/�	�+1����:��$�+ 5<��O�_6=y�*R��N�5�<=Rd�
->���g��g#��U
��
��=Y����5�4�#�PU�EL�j�jT��� �Y�к�yM�8i�2毺���LT�۹�Q����l\M�M�j�
���������sW_�+1�+�U��J���(�֪�
Lt�t 7ߊy�uG�]mh��f �מ�d�G#���y�I��h����']{����&�*{6�T�}�IKT#|%M���-Mr��eSY��
-
	p&���HWb�x�ݝ%�4ꅛG-u%Mt>�vY�n������6�g��Ž�Ij [�=�;
-2�Or���K�
-@��0�]n�z���GI�$2�Z�Bu��J�xxVƠ!�)�{��
���\�`��H��#�g!x��f��0"
��7y���x�
t3��$�'�!^��d[~$�֩DFu�
�Ý^*2K�j��XPo=�"@����.���E����(�\�z��:oVjo� Z���a���]�{��=󼥲�#�6bCB�)`����B�P����6�,�����0-z��o�I�"���oy.LN�٬�� �
�D��tM�8Òc�a��5p��刳�x*�����[�֛�u?�s-
����:��N�Ɉ�k�B
-��NE�g��ⴜ����z�D�!?s<ݸjP�[b���V�H� �� &b�Z����etҼ{��q�
Zx�܅	
�H��^-���A��A/	�9PS����n���n�����W�C�*�n�b
�ϫ���1"r�
��˙E<Y�C\��	�B ]���%؀��I�
Dp��Y��A:@)� ���!���b%�V�E=3L�iz�)U�VJi٨k��]�vFU�+���t���I$��{B_�L�^���,��DQo�e\�1JC��ǯxf��!���5T%>r��
�o'}��'��T���P���fk��r�_o�h�J_���s�ō)�޵�y��0�(�����!/�ל��Hۻ�]�Zj8�v�G�ᐈԲ��L
��
��
΃�}�hՍ�mg��"�S��l�i�H�Ic��,�Z
Fy��1n}�#�Y�.���Z���s����
H�
�w{��^�آh�#~UXE$�jᮃ��t�`�_��}\ �U���08�V��9:A8��-B_N+W0�'Vh�^��
]�n}�f��V�������n���nx����Ā��p�>0�?i��^��'��V�ˇB��0a��*��#\���?x�:��i�*O
��z{w|S����;��A�+��Z�PS鎾&�2�V��ex&dm9Ϝ�,	3���t�w�ޤ(��t+N=x[���L�keV���N�V���I�
Ӱ��1<��D��Z�cy��H����-f1�
)
�HgJ��|a_��I����"�/xx�
S�g
�+�Q�#�D�2���
�G��[�׿�ؕT��R��*1)�w�

�]��>�,+�?�5������ِ
�.���z��6�A	�DŽ`�S�|0$�9d˨�a
�>6�
dP����� ��%?q{�|'���2A�R��F�z=c��&!�	>oZ��`v8t����5��;���9��
�y�3��
-�5��
���ۇ�*6+ܘ1q�'��C-M�:E���z��/����D�\�qFު�G!缒O&S�U��`���� X��= � |��}�Ұ���)ȶ鿦|1*�����ͤݾ�:ŋ#ʤ
-x��
�6Ű-�N��}��
�bA+�f$�}R�S��<پq}�qvg���
8n
D�X'��?!�Ҵ�4`��L�;1\�*��ܷ�1H4v�,�J^U�v\��9�<�@�#9���3g1Z�,ϣ$.
�H-��أ
�:�%�XܚOć��u�z����0z��F$�ܸ
-��9�
#�,s�m*�ӆ��u4!�
q	�I
13b���Z���?r[8�U<�2u�{Pu9�����hd�1���<}9��q�KM�<�ddpj*
-������
��צ����#�[� >�Rm4���A
�)�|! r�Y��@�{CDf��Rf����������j"L
� h~ #�t����)c�^�<q2=��w�=�D�A�}��"`���˶��
�2�|d� ��)�cၛ�u:��-�[�xs32���I#��G��Jfi�8��5 X������V(P&�E-(��	�k|<�k�jQ6_�瑠��M/ǚ7�l��J�J��1]8� xL�#�
�\��8>C�4*!��xfF�kr4�c8@�/����!2��B�
-endstream
-endobj
-12254 0 obj <<
-/Type /FontDescriptor
-/FontName /LVYLSR+NimbusRomNo9L-Regu
-/Flags 4
-/FontBBox [-168 -281 1000 924]
-/Ascent 678
-/CapHeight 651
-/Descent -216
-/ItalicAngle 0
-/StemV 85
-/XHeight 450
-/CharSet (/A/B/C/D/E/Eacute/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/a/aacute/adieresis/agrave/ampersand/at/b/braceleft/braceright/bracketleft/bracketright/bullet/c/colon/comma/copyright/d/e/eacute/egrave/eight/emdash/endash/equal/exclam/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/numbersign/o/one/p/parenleft/parenright/percent/period/plus/q/question/quotedbl/quotedblleft/quotedblright/quoteleft/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
-/FontFile 12253 0 R
->> endobj
-12255 0 obj <<
-/Length1 1647
-/Length2 17999
-/Length3 0
-/Length 18864     
-/Filter /FlateDecode
->>
-stream
-xڬ�cx�m�&
�c{Ŷ͎:��^q�ضm[
۶ѱmt����gϱ�o����}�Wᬪ묪�(I�TEMm���� 'FV&>���cgGe�
-��r��@sg'#�_
'%������$a��h M@ ����� nk��`in��QS֠��g�O�?& c�����t�4��~� ml�~ AN!��
U�@��`fi�+*i�(Hh�� R@��oJ��6�& 9K �H
0�u ��� 0��Z�S�#�_,QG���hb��
�f��G� �:��tt��
�t�;���ށ�-�db�l�O�f��J�����ŏ���`J��N�&�vN��Q�$$�������?�
-���f-MmM��)�_��0�NF� G����X�@������������
,�����%��?3` 8 ͍
Lm���a�b�s;�Y'��������_޶���_9X:9m̘X���4q������O�Ȁ�l�,���:������
���gh�&adj
�q���l�����߱���G���-�����F������y��В�66
-F?�6���
��1���
�ecc� �g�X��\�~Xڸ��������Y�O����wQ��_�Y9�8�-�t��t�*Y:�X ̌l�^޿�j S���%�����_'���S��4����U@����/o���Y[ENTF����m�e��+�T�퀀�IC���
���ux2�r�ٸY���q�e����	�/ ��<�99X�tX�XXX�����I��|�ؚ��G*NF ӿ�����M�

�2��m���8�k�@7�	�꒭	�UZf�S-N��N/+�p�]i�jQ�_�m�oZ�o��{M0S�4ߟ6��3��Y���^l��U>�79m_�&U7�a �~)R��F�����6�6�����we��w��v��'Z?r�?L�G;d���X�N�F0��³s�ē�G����ᡞ���XxJ~($�H?�
am�
-�
y����_Ük`��
}i�/m�`4e�;P��+g�
���� ��䞋��������*�<sϏڒJ
��&ź�]iu9@���ķL;�?Wi�[8�~��Q�]���9�X��z@�G`��A� E&W%���{5���Q�j���K�!҂@1q�d!I�&w������i��%$��)�
�,-�X(�Mi�I~spvp����J

��N�� ������s����Y�= �+|��[!A���GhV/t!8�(�mh��2;�B�'	
E
�_���l�I��~-�!^�ȯ�z�S
-fʺ��
c�"�w���&���C�"�5�$�I︣,x��a��R�i.䛀9��j�'73���
q0��3:�N�
�>�5	"��y��E��(�u�܍]�1*���lv*���;�o��yj_}ރc��roO���Q���ZUZ��[w 9�-\�Q����OfT�M6%],~��:�

��bݠ�:�s�G��d���/��bb���[��4	�(Ί�
�
CtP��
ȱ[C�Z�
.A����~��ʃ^Ĉd��yW5Wx�)����Ŀ�/	��߫w#.4����q�7�
�����Yq�<��s8t�GDs��U��W��ov�h��a�еNrQE
-��%y4��;g
f�on����1좄�̻��ȀnV>�!0��4��t�w��
�|_
ݕ��D��Y��q�m����K-��'T'<�����:s��F����
-z]9��1��iD���ѐ�(li��� u�=�r��� �Y���x0oO��p���a
#k��an0װ�^�4|�m���$1#
���߭&�Kp���Չ��t�8��1ۮ^�YY,kKf��B���2�z�+k�?��n�$y���<�9��>2G�
�
2�KP(�D��A9�}E�ӫ
-n�F�e��Fː6�n�9c#�����~�����0
}��
�P`۲ۛ� _�̽�g(�
E�$��P��d��d�yԀʉ��|kۣX��2�cn���L�
3�S���-�����kK
]gL%F8��*����`\8v���`f�mnL�ޑd���ܒ�<H	��9R�
/7��\Hg\�g|��l�"P����~�t����Zl�k�������Ll�>.�C���՞g͘�eм򣊂vIX�b%J����h
_X��31/��4�xv
��p "ofܘ���\�~|�wh���]�yqLs237�^!e�'�
�6����Yx':����_�S����ꂼr�����$�󽋒8�K7��`�2+���L�
����|����yF���UK	�g�
ˆډAgGq=:oX�Ӯ��PՏXQC]2����c��E�����8ϙKO�yGuю�s�{
-�UC_���Ȓ &~|��i;Eq"�/fs��K�
k�}v�HI_z*���\��l	��Q��|eo�db!�uE����.��]��g�H�j�˚\I�ȳ�E2�"���
s����<�������1�a� �ĖY����^%6L�;�k5y�߹�~�=�dF���
�A
N��ZTAV����~毶��Őh���m`|����G��ؽ)Wp��Tfq��iԩ
>���1i
�|�/
-pPyb �ݰ-�$�
$ 
��<��pY�4�-���?�՛
�� �9H!��o�
�ؿ���@
_5���0E{��K��I�#D
� <l��
-�^'h�aX/_��O���;�5���U�/�����e�����ɮ��F��Ԃ�WW��� �Ɖ���2�zČ�a&s��55�O0}�Nw�R�M����9�U���Ro��&������['���
�S˂��:5k̖͔$�p�����
@�Xw
�8�l�W�q�6ML�l��Bw
�pHmS<���ȭo�*���=������Ө��g1oy�����i���'B�
K�ٍ���<�Z5~f��_'R\(�:ĸc�(nڌ��M�o�1�	nsQ���װ�gH�=���c$�w(<
-�
��S�)
�OƗ���Ȫ͍�~'6p-S'h�.c��N��n�
�qV�n��K��m�b��0@�8
G�/"��3 ��9��] b7��g�e�:
���U
����U"��֌[�\���"��_i���
�^,��Oo �0�C�e@��;��Pm](�=f}q	C7�tYv���ͱ^F&�}i�9Ǯ錅��{�Q�L:��G
Le~���b�t�,:R���а#O�;�F[�Cv�E�q���ֈ^%���[�xQ5�5�XF�k�A�
-wH�bkP�
-��Rnu�)��4Qv�r׬��.`0q��C�amdz
����_-Y���{s	�u�~/�--J��Iz�S3c�a�
-�$vF�=�/���/� hz���t ܦB<��b��m�!v����=*LR!��W-V3zmA�*�&z��eؚ��4u��]����z�:+}#W��E�
6�pHG����Ί�Ǒv5<M��`��O�V�;^R��t	��r����7a~O�$/�ʯ+w
�?
G��
�H�/S
-�\�����'�\�O,VP{�_�a`	u��L�%u
�<���a�x�Cg�!��÷Y���¦�
-��c�x<0�t�0Nl�F��o�'.ꈤ�~�%������\�����~	�zm�ݕXN�^)��{P��m,/O[0�T���'D��}p$#�f{��:��m��j/��
�>�m$��f%F��9O��-G�6�D�x ~�ۖ�
E6�m��7{��G����p)}�Pv�2�O���`uD��8=ߢ����/�V$k�?A�`���%�we�\\��<�OY���j�-p
��:J1���v��Q��;
1JAҘ�^/(�-�<5��$�X�
X
�D�E�z�5��#�c$������iO"/@BAב�NO����J���6nX�3�9�bg˜7��b��8��
��vVs.ηo(���{���_0����}O�?����:-�zЈ���8�jh�]��YD��7�=Y��
�l�6�e�WՌ�G
-�ւ��
�{8���3�|�]Z���DV�:�7F���~�.����$�>�dYT�5X���l�n�Xnl�|�����%���&���2��c�Y����w{��
��=1���"
-���]@��1W�W���fNu�s�
�����BI�rMc��r�ŷ58W�
���R��x(a��ޱ�g��`fǪ���,S;�B�j�]��7@���������N�nʱ�s�9��G
��f�7sO#by�KN�۞O���"�t@�>�vM����1�zH�B��n<	1o.Ο�?x���O��
i�0��c5��!I��<�G(s�U��̽\i�=v��w�;�A�
jx§��i��ӕ�D/^�˔���2��x
-8r�Y\�;*7(�]�b��Lf���%PH)��ɀ0��m+�v��9 ��;��
-����d~��St���T!&
-I'�dΖ��Yu���L�����X���?_�M�b~��y�������-z��f%�1e���ʰ�99�ā׃�DqW��6D ��
ܣ��E�nj�V��Y
-[���b��/�B��1֦pA~��c1�����
��V��%*��_��_��{��4�&<��R/����
B?�Pُ���m$��n�'�����έ�����&�k[��gҨ�����!7$B0S�\=[�L�N)y��a
OO�����Vp�R����]+�[F��À���l�����#2���
-
X�cx���X�ߧ�^,:�e͕'a��`�����X�Dq�u��	3!r���Ԓy�����_>�t����o��愭�x,����`�u��&8F�;��;鰩����,3��e
Ak#�d�_ĮDF�H�5^���> ��w��P=Bf(<W����ܧV��+�z�F��tR��Y�O���j��.�"�֝|�+��q��
E_�&sc��j}<��ȷ�|
�������:f�6{�����⹙�{���`K�Ö?~a*
��r5t܋`ͳ�����_��)~0��.@$��uG����ͷkq�
�}�Y�hc��ҝ(T�#U�W^�,/���5]w�S�@�RQ�3�
-H�ߛ��t�rZJ�
76O��b&���!�����'=
�,
��P�9�آ~���l�#��G W�*�|	��s��*c�t���.���Y�+�ڋ�1���x1S�=v�@V�xn]b[���so�"{i��h�
eo�޺[*��ݒ{[]�%�N:������ɸC.0C�HX��SR
�
-֪�;1��QE���
-�2�Q2�5��7_����L'�T�z�i$O��,��
��@O]u"�Y�s�Y�*�m��O�S��&#RƉ<m��u�fђ+k
�P?f��NP��6Y���A�L�w�릖0{�V���#�
�13֚r
���i��C�N��2b����ǢW��T����TCXp��
���
-��K��.�t5�����e
B���wڳ�M�#�F�a����վ�o �;q�
m�X���y(�N���򮎞.�
eջ��dTf
r�����&�Q9����
�2%{�D�
-�� *rrT3όtB�0!t�V��̏Pv�X����
��c��S�{�;
-�0^�����r��F���xhc�8�i3lt!��(?N�\$����ѫVo����-�i��� �Ұ6q/fܙ�
-�����������3�vy������Kf�Y\5��Z���V�5�4O����|��K~��B�S9����˵�$���i������E(�j��THr�S��$Z��b��q>�˟PA��CχIƧ�q��l�e��52�Pl|&���
x��/8��F�I=�x���þգK}�����T�q��h
m�H|Y>|���իGqTa�t����s;�/�����^�T	�vZ�4sPvL��޹A�$�} j�%-���z��d�9��4ٺ�p�Z�H����C#�`0ϊ�N&.�f�cʈ��Rs.�o��c��jown��4mQ�^k�>K����|\8�{�{��s� P�\�/9q鰜��܃
-�۔��/h�C\@�)J�@^��(�K��P~�ќM�nYE+mY���y~��9�햂ə
���(�)i+UL\�B|c��
o
[C�1y�X�vX�����gSU� ��0�9�f����_+�2v�R���6�����Fs���[�&�H����ED�T�g�B=x�	�R<�W��$z
-e��pv�}��E���$jTY���y�z[.�
�z+�~ UvG��`�R�<J��k
�e��&�-VSnh��O|o�����FO����l-@@애�ԖxO���zuZ��t�	x��]���T�E.*v^���D���g���']qI'܇�U�Dv�
����f��P
-S`�Q�W&G�Y$��dž�r7w�:xѺdD�ʯ�q�P��6u�
�r�=��%xr�
-�O	�=�5WZ�����Řh��<��{t�Y
U��3����E7\�[�6���‘V9�Z�Y�/��/b`�
���AUƎ`Ƭ
-5K����5P�y5��1�汿ܜ~[E��l4lT6$<6���J�p��<��2���*������bF�� ����E�L�/eF�����,�4;݉����ȁ��A�h�u���y�X]j�S��$��
�����"3<A���
���
H���]�aJ�홃�w�
��F7���AK��S
�^�
�	��ۻ]� ���n
�am�.wO���/E��<���ݼïk�3;海wk�[+��d����𠘡n���С8
�7f�U�����h3J�\���~�H�D�<���5�������`�39��/��Yq���?{i2~2��._�����؇�	���f*����������R=}�0�?͜ùR�+Rr^��޴|]�s��ه�Դŋ���.�^�_�>`�iϐ'4U�HHݷ/l�x�*��>�A_�q�`V��L�W�K&��G�7
>A��aN�@�b;|�*n��

N�
s֒
|}�)*ۅ�"�w4]|6�5d{9���zl����
�1��q���b������(v��c_�$����p�c���
�N�=��r�&-�[$R�`��_;���h��Lp
e��@$��aew�mLG��[���;=��@n�O����_հˋ�����yH�>��ȧI
�Pۖ��l_2	de����W(��~1QJ꒐��E�v|�|?��1:����֩ �R
-�J
���}< ~�yh�2W����e����l;YsSuy��N�@∩Ю6�ҳ��ix�U�g�R������RXW
g����

-���O��B��P-ϻ�[,��=�f�Ս�I�����H� ��8
-�Qi���ot}\
W����(���0��;j��4
��<yG�[e6s�V�S��_Hr�3�{t
��8���pB�$����	�7$�Y(.�CjiL��0��ᪧ�__9
-;�egȳX�똨E9�|�i1�T�b�o�������⾦d�D__�-��j4I������!1�Rye�I� ��8��3C��$V�
d�lN���RK���f
�F.ծF0��Ԁ���|�vhn�ɏ�MZ�N�Q�����X';��+
��6H�Ɲ�R#�Ñ;j�޴8�Ml�8�)-;��l�!���b[a�^R�z�d�*��9�:؀�{"��ғؒ(i��4�4ɾ�
7�$ɇ8�,���k����@
���uɅM��b�sy�C�g�f�J���F&hz��L��MDž���Ͻ.^�Bd��[3���<?P"��A�5T�
��r"�k����n�'�cL?�NUg_�"%<�����é��L�t�uw���C��ޮ/�f�������4G�������10o]
j��m��R�)N�"�̭�
�0��fL��VǙ�u���H-�D���Ce����
��z
-�m�6���f��o���%aÈ�ޫwo�

-j�8E�����`�_�#gO
-�G�a׎Nr
-��4T\m����7VB n �leO��[���}CH~�[ .x����޼sqZy���+ ��u
?��/�z
��S�S��
s�	��5
-
�LZZ��|1��<݆�����wQ>OE���d
4SԏN�t�ٯo�����Ɣ���UX�i��v�|*�9f7��0�'�~ml�k�.}ߔ������w,�ip$�:��E�|A��"�ƖI��)�|
�+��
�O�m,�z�%�����1{*�����Xk:J!���ޒ����Uw�9$O/.N�*C����{��ћ�2��J�Uo�ǟ{g�h=�
f����
��{��[�+����6���.;�|�
k�!3RR� y���
;fT
��w�wP����f
�#�
�.sC�F{��X��>��DZp+s�5F>K��ʤ:B���+�ay��W���9m�t�D�d�
Qe�����9���J�Pn�)���O0ڄgDi�a�ݪ�X�S��If%)�
�����,N�;N��&6��h��Q�~�Dl�����
jp~B?���TJ��=�:���~��S�Ň=Ky�4�:���7�HL���]�O%"���(�zr��P)c׶%�hpp�a���4�<y�
擆b��ǓTw�U��Z�"I�
�$���z����͹*ζ(�2�I��|���Dq|�qƍ?Tw�����{�yoz�C�}�M��``)���"A�]��>�_�eT��q|Rl����
��b��ذ�Qh��V��-�'j�[7_�>t�(N�f��V�jL���NN��}��ld;rC�oQ�����4���tRZ�Hb��E�1���=��/Ɉb���^y��KD]�)uk㵫p���'pU
�-$��H
۰W
Ҏ�?R���%���^��5o��r��Όgh�FH��ܟ��"�0)�Q��u(��<#�0(y���Za9�	d��n`�%ol[�a�%�dԃ��H��w�]��u�b&u~w>y��h(f�
-�A�I4
-�x�{�V��+d%K�G�
WV������W��U��[�l�S�,>��
��2j=5^�ݸ��߾D����+xh��&PÃ�?Pk
�ؿ�:9�� M�)drȢ�\�Nd�6��c�&������X�y��[VI�}j�"g��`5Y��
��4"��f 4&����ďÀr�s
@�|�R��4�1��~�#u�%�c�Bm�9�i<�F��j�>��U����\YH���6iY�x{\(�S���l znA(��K�!)�H��
J׉�v�a��}
�)�
-��|�6�N��=h
-
I
�T�C�V%��w����QAɯ��:%W5̅���`�Zڳ�#�;�L
��+wX:�3���O
3q����O�rQ�㋑����GQ+�E�^G�����j�V��Eh�V5�8 �G�84�.O��	a2L���"sDž�/y�{��
���q���u����� �H!���u��dJ�d.��j�,��RZ�j�l�("L+x���ܕ&k��u��v>���cJ�}H!�Z��^���ߊF�Y)tr^���H�
-�h��iǀX���!��`/��|)�S��\���Q�
�1'��W�s�Y�
-U�-��
b��K�����������x�̃fdzV��#��r�
��k0���
��G�]�6#l�p��Us.qM81�Ö"��&��q�����_-��D�
�� ��ɴ
�R�7WD����
��&4���꬗`�դ^�y����'�v
���6���
��B�{ʷ]>�(ӴG�R{�٬XB4�
�\�ݻ>ބ��ڝe2��S�\g�)^��z��I�^�	�
-ޟ*Y���
3� �N��VX��&�_�G
ѵ�%÷qA�J��^���|;��c��ݻ/$juF��r�ZjDEq�6��T��&(�H��%g�T@�''F�
����t,P֋bIScs~U��z�M�R��
Z�!�X�({�
�[�8!4
-�t�����~P���II����__�
�-��9G�����͌!����b�V��߯A��AύU`�b ��UNaH�I��-����O`���s"Ց� ��'DQMo�ڨ�r\����^�v�����k�E�EAk9��c¬
-��_��e������L�WTk�K]	��:^t��l0H��UCg���Ln;'
W��
w O��
	מ�ƌsqL��Sd	I��/���õ%�
�b��iT���+9��n��r6��z*N����Z��'>���q%��ݨ>R�[H�k︟ޕ�4�r��.�nj�ˋ�(�
�*�P�=���\&7��H��h�V�U�AE�k�h��z�cY�]]�Lu�Od�]D(qY�!6lta5�w��UuL�<�,�-�5�$��
�6<z��nD#�+P���q��.x&l�t�I)x���Tr�k�i	��{���u��k���
�

lj#~�ĄȚ>�L�:ֶ����f�:��X�~Y�cN� �竺cvt72�����8N� 
��tՌn��<�81��̢J[��%G���;�����
q�v͓7�ӹ�֒���h,�V���
A��U�oEn��<ϰ?Sޙ.E'
�
-��Ng�����-Zc�
t at +��[q
���+����6�����@�� e<��۷��0�� 7��@ȵ�[Z�(�(�23Qw�4��6
YZ���|�u�H��:|���Z=br��9h=��|~D���ɼ����ږ�|!Yd�*}��/=�;�Z�L&�nh*���TJ$0��Dnг���ZdߋT�g�
���;���!��F���*�x�+�T���V>�.XK M� �E���r9
-
�
8h]c>_�����
�:!���T�Ƿ�ҫ�'
o+NQ��s������dG�Q��V�F$�TX�C�R�_�P���Zq��q~E�<�5�'��q{0�
�<J2ʁO"[%}~2Ž˕"<�K��{/׊GKd��uV�������Q4�|ʵs)��ڶ�<�|��M:�I�

���xc�]��/me�i(��ζ)hj9�	�Q�,+Y�mv�z>����j�ϒ���.;I�~��ޛZL���B$�Q[q����v$ ���h��A���$Ʃf�����A��k�.ج���g$�=
g������e3�1�9b�pͰ�KϏ
O<�(]��k/�jw��������E��L���U���=��bɜ����xm���8�HA�lH��ޜ�O�j�	K�(�Y��5o�~�X�K��Wq
���ED�Fcq ���������� �M�ug�5%1��0��t������P��ҊLӭv����W�
�<����k���'�.�iG��}+GM̙�T����
��n
-c��y���5C*~f���v7�R��jli$׮kM�-��µ_����{&��N�P�fcM�Q�v��6�D_��qZ
	��9�*���}��cn
���]a�2:�T
��r붚.9
fm���
#��p�Ur�d}��<rOm>���H,~
6%_~��0�]G2��i
�h�‘�'
y�>��L�>:.�{jx�� �8~~���U80����?F?�7-i�A�!��q�
�H�
��`�߃)_���jUU��Ǩ�]#��Hi#|�I�,7ĥ��6��*����w����
c�Ϲ�ŀ��S�4CB�`�|f��h� K��
�92��pA�����;�䮃�3ѥ�(�2����O!8߹N�lâN(���ru�@\�
m�fF��O����K�� �ʘ
d�A�X�ǿ�����d��Y��'���6_��V��6S�����a�E�"42_
꾃,�u���ny��"�Wn���#!
�����m�\o+=�2��LK?�'\�9
�����R�
�"oT�!|��)a�,�
-���������U8��
���
	���R�6:oy
�2�zTF���
�`
K�3�Q1d�6�8�$���2���i���b9z���
�&͑
�e�6���?��P6
��[�g�H�-�z��Y����!�F��b#�>a��_����_}"K�<
-�ڊT+Ƥ�g�x�
�������v�
�
-2+�e_\"����(H`�2ٹ��sN�`@��:.g��Х� 8�1�w�X�'��fm'
�p���6���_d�ulaY���x�+����bP�eB�%B�Dd
]
/�6�cX~5�2��j�N*�����N�7ۡ5HM��Y@�5�H��g�[M
�$�+u
TB��7���JG�������8/3B����W��n��iyT�pR����=�u�C�Q
�VsM��b�	��@��4�R�W%Qg���zi�i[C���]��꣋8�
����魭/�$?���
b�v.��
�/\~@$���)
O
��������F��Y���|UR�}�m߯Q� 1�4�m
�N at k�v�pY�Y�;��$�?ļlmk	}Ԟ���4L�_
�;\so42�ػ�gC��?J�� �=N�D騄�4���o������Q-�|WZ�A�6���Ä���\_���"��FO���i�3�5���N�����}2�n��m��$�O�P�[G�u����A�SI���\ٛ�;l8S2�"��a�
PGO����k� �i�k��4=V�d�@Cj�:1nm���'�ͫ
��˭U���OO[����b�i�������h�
��߹�9��}[���K�
�NS���C^��*�A� �g
�!m��J,�AT��PateL~8C$ݞϓ��R8���pi�W�]�|�ݮ�
��a�
̷���&g��6��jHf��ʚ<4�iΨ43��r�zR����q}�wmhCw���
_�+۟��{����x7H���=�7,�N8-!�K�ߕ�ߴ5���Yv#'��5��[�đW�d�U�


��bD�y����5�ತ����Y�X~���� �~Y��
-�F���<H��ǐ<%�e`.��u��s�B��r��������D��ӨÙ~q�b~dx��k2:�r�4Ua�퍪��霆�
-:q?4wc�3�
g&��^�S�ު����Qy
��]����f)�>��veh�Q!I�
�g�
{_�u!`U	{��Q}�yNNJ͔_
�ʬ3����ɏi%AjTb�[�����F���/����VokO����ʎٵ�1T=���֘h|��@����\=��R"JoվG?�|�1�n7�]1DZ���bg6�ꮕ���
�2V���^��
-��CT!�:H�ZTp�~�:�I �_��8S1J����#9��b���}�7�bh�����Gi��~���
-�o�
�n$Ȟ����NV��J]�i��e�R�${
���{�<˵����C�d�QL�n<�ء�w��۴m	b≵)`f��������W�����,����
*F��
%|�s|{�x`�mu��흎t���D�*��O�P���rJ�6>~�V�í%/qs�k�^�
5��ͩ
-SJtIE�7a)'H�1)f7E͝j
���+)$���vg�D�j����60���r�3C`�
�N��
��s���y�"A�eG!5�+��`F,s=n�)}��pz�-%|�G��]�b
F����(�O_ at g�p������<�dL
.9��
�a
o�V�}�/o���3���:
������
�����8��q��(D �[�b�v~L|�YVLԨIZ�7�X��tL��׬8^���{�
Yj#�-��uTH�B҃�:�HSM}��fF�(~�XLjD�v/ߟ(E��+3��
-=�X���0������k%��Ӣ���<���Owޡ��&z�_�@��[�
#���	V����*8g�L�p�p��j�
�f�/ Lf��� 4���Дʉ�oם��X})HL%�ߗ�Q3���i霉@옄1�M�m�PY�*�r�
*�@����X�����@ �
-o��X�@(�3���R�5��
-O
�*vt�ߓ��B�
������Jv��_޾(�=|�4�A��.kf���}{}�Ƃ�a����W�1�]OA�$56����,��]\�S9��ё��c/ˋ.A����Cɇқ$�Jn�
`�Ė��yZ&�
���]B�
��.J6jkneN?z�R��DC�Y�RC{�#� ϳ��ׁ-z�~�� I���d��}�H���`(�./#����(�y���B;\3k�M�~�'�wJ�t�m^Dd����`:F����}4
�m�4�G��	
����
Qz�Y�M�������}�g}�c΢�7.,<u׊Լ`����q7誢� UP/k
�3]~���j�:���o��a��HR:C��(-�P�I�v�%���+<�^��l�H��z������K��-�L���`�stE䮼R�v����Rt2?�A�ƃ�kR
Hl���a5��W|xT������6�%�[
-kO�:5��2fjZ<�<$ԍ�٦� �2�{c���ZK�l��K�C����
�;\ӯ�.��8�S��=#e
�#rgi��_�����}��wڮ
-����R�.��$�w��r�{E�2\�C�8�8��]�V�
-��r�L�L?�n��(��Ѯ����Eƈ��
�_8�z)
F?Z���8l�{)\��!�R�
-6��kO��^S�) �2+_m¼{��;:���)n��TS�q�:���E%�`�~(�-��R�ַ���D=f�b�-�|�|-zT�3����`�?��
9�=�q�q��ް/���{֎ֲWk�߂���S�E+��{BVQ��.��3�1KB��	3�����2`O����� ��
c�1��3�Oa�[�E��5㕝q( @R���4]�0o�"}�8-3�Ò_��"�� 
���+H<P�q�m

��\�
I��-� n��
68$�
g����+N	����Ԅ�>ɾ���'�E��
��ڢ���νd9sss& ��,xX:eP�)^�7]���G���\Hأ�O�Ǐ��>ظ����n�3
*!
C�9�ar7�#�

J#˕��=U2m�E�OG�e�)�ǁ�#�W�-8�&���.��z6L"b��
�,Kq5�sJ��S��~�xo
�
��S+�a�M����L�Ew�N��ȠF����q�G��c�#��~6��	�T�������)��ټ{��!˓Q����F
��:Y+�"ט�Hx�!�#c�1 �j�"೾
�3��x|�����07����b������e;AG��ʊ��)��6��|	��w�tYx���7v�f:�g���X���Z*
{B�l�/�%3FW��Z)�.P��6���ٜ�
w~0}�,�A�E��ȑ�7[^<�f!T�M:��OoF���'ÒiȜ2;G;��9?��D�2����O�J�����~5ۗ�A�(�
}�k�z��X���݃ǐ�
-���I���['��CX�X�xX��~D
�a
 �wG�H��#ž�
Tx�畫�	��m\�,
q�;���
Lx��r=6�
8�]�i��4v��K.J��հM����0�3��8�q���q�b
-�|��Y�
ݥ��9y
<��DJ`;�*T��C���ZfH���=�"M�Z�s�-u����Oa�k���j8��������i�z�
P����<PmM$���m��X����
-��|�U�*�Z
=M4�Q�;�u��'ȡL�5�bYϾ������}˖w��[��'ƻ����%V-�w
)�J,�\Z>� ,��KS�k�O�r<ڄ�́#YJB�?���KQy
�#�%�:��ĉ���D���z ��봳��J?�=��g��I�iS�56�w���
-�J"]/�8�G;88|dǠ�����4{���P
���/��=Q�c��&/‘l����M����<0�_����b��qv�Я���m浖dn9�
-�:����?0T��
��k�3�ҟ~�}q���6�m+�w
�H����%��ncP�I ���� �!��>�$��`�}��As��d��3�|�
-č�D��w�>s��1(w0둪bxK�D��ŝ%��e����]R�P�
-
F��z�U��c�̃�1m21��UM6#w�Ct���wn�:�����J��ϭ���X��ߤ����Q
�wiNa$
~
z`�"��g�~�g��#>�?����u�N�
�as��<VP�2�!,8���m ��BGxkG�};��c�p�u�~ʗ�����ߵ`c�q�L��iѥ��6�+E���1]!B���G��=y��ڏ�霙��cT�MY��0$�</���]�;��ϗY��(J!n��
-
�5I�-���]��`##���
T��x0%��J6�EY��
�je���{��1�w�!Ħ<�-{��j�g7�����AjK5
N�TX6����m��K
ɾ֥�җ�
9�<�����jH
�9�'�{��r�ϔ��V��s
v�د�mV��4<if�7�^�V%���O4E!�@��VĒ%���
u:
�{�L�<�$�
{%g��Y[V@���-/�Rq;��긯��5*� �
-b�����f&��&sћ���5��{�&
�N��X{��	�܆�z%q�I��qg|>|_�b�~�����{y	j���G�
����To�f)�$�
S��zs7\��~�3.��Rнd�[��Z&L��7r���Tv�7D��Y�7��~�}jQ�e=N���ΛG���~LN(�0�V]����
�N5+��YO}U�J�
׺5�`��� �; `�M��v0m(��}�A�ab��"g�!�Ā�ƌj����
g�Х/��t9u
-wi-�ڬv.{>��{�\�ԆŠx�XP
�2{^���1
}���oz/�p��Y�
�{�/A�ǩ��d�gu�m�U?�#*��?�2}Oy��L_�+��=%�
�ƥ�"_�i�
����bu!lzc�؝�,R�!>��:�*N�����A[|R�$��#��E/�Х�1�ǁ����&��8\�Terw
���o�#�
'��Y�Ҥ��J>n��@:�|�6�*
-�H&3"��dM�-�r��3}�S�J
HQP�9�N�Ue��?]o��(r��`։�y
F{
��D
��!��^b�VȨ������e}���~�c
;vI4
j�%�v�j�:�zŜoom�U�́Ԫ1�F���Z�1���^
-lB���C�[ʜ�.�F�N#7�[���jr�J��H�\��Yx�U�&�N�u���e���������7��o��-�]+�� j��/X��ϖ����s��
a\�>0�C�[ �<�S(�`�z�2��mm]T��)%��3sS��,��mk��9�Rt�Dy?{P$yⱥY���Ɏd�(`tc/�{K9F���Iu���(��#81io�
u�Za(�k���UD�д9�Yk�T�� �险4
/�v[h��
˕I
-onuֽ�>�b�uw�)ҏ��1���ܚRE2�Bq.?)
-֬�`�f�%�d�ɺ�ݟ����J vHm��<�
-��0?��Y�6_��ߢ�$
-��ݶlHF$��2\78�,m�<k7�
���zgy
,�W��y"E��Љ̸
jJ{�Ʋ�\7rn�n
T|�ݟ�p}���y$W�S�<F�0��ẹ��/ŅB����j��bڮqQ������Z�Y�.W�`����5&�ٲ�?����i���͊�L�ş*wF�6�V.<i!�`��R�=`� '�@Q��A�縼f�
�
l�l4�mNuJ"_�*�Q|F50���61�^��q�aݟ�+�
I'[d���~��A��
���@ �ފ~�A1�Tx�� ‚��]
����fzm~�rD��
,t�
��b��rQ/�3dضq�����r�R���X�,oqT�֬����W�V�}}\�~�.�,e"�i�wE�Uuaa��L�_JRBN�c��0f;GTsKy!�e��z�dD!��y^��Ga�2���\5��l��M`gO!�n�����q �(�C���)� ��pY:0�7��WK�U�C���r} ��}R�5Q���F�xtK�s�b�Rn�����!�\�HK�}���_䳭T\�LM��%��"��9@� {�v���GU9r�o�ۉ�6W��+�~����ؖ
�~�Ѳ�3���>C5�}�78R�l�5���=�y۬�\��}h
-oTz�Ea�:�S�
]	�K��<�uNO�
�6ۊ�𰛴a�q��oB�W��g�����/|�ԭmE
-�#�k��8�U�7ik��(
�1��v�9����5�����N6��U,���f��G m lRsf'/���A{\�2�=/���!��l�	 %yZ`6
r�9:��έ3$��)ց��\5uc�����v�8����Y#?
-�Sq��8��q�@gG/���zA`ǧ�hz�
-̫�

�I�D���:Q��c5�T"4:j����s�U�
��G�j���uT�ܺq�-ީ$�zF� ��Z���KH���2�{ɟ!�gA�H^T#ͭz��B�ؠ?��pC��Qm�F��Z3yy g1�+��g$���[gN��#�?x����z�q�M6��y��J����*���Yy�^�C�}��b�R�)PW�.���D`��% ێ�y=%"�&�{�����* ��dx1
Of{	4�;�$�Ubm.5���*i�
��(#���!�[-S&Q�^
�ֵ��zh��
�y4W=1b�?x�{9}X��!�G�ȡ�c
�/�+'��>Z7��$ZE^|P_8�d1c/�6w)s����9�	�K�G*��O›���⊸ˬ�r~�
*�i�ͺ
)�~�OLې�G���M5�l��r��|?���=�=
�*�����8�c2�Ka�ں_���8[�x�\��{������t��i���Z� �b�ZyS"�ڂ�0^��S���[e�
-�,��-��Ư@�M�q������y;�.>����{�f�Z�Kѯ��(�۱[�ÙC%�D�bW��-c�X(���
q�J�����m 4�I�4[�rѧ�L����odJv#���:@O�g�i��a\?���s��t11�
�$HU�7�&��Ұ�T�㏔IY�x�<�_��L4K�6A� �\�9'��2�����^�>���7�o$8
-endstream
-endobj
-12256 0 obj <<
-/Type /FontDescriptor
-/FontName /ZSLAIS+NimbusRomNo9L-ReguItal
-/Flags 4
-/FontBBox [-169 -270 1010 924]
-/Ascent 669
-/CapHeight 669
-/Descent -193
-/ItalicAngle -15
-/StemV 78
-/XHeight 441
-/CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/Y/Z/a/agrave/ampersand/b/bracketleft/bracketright/c/colon/comma/d/e/eacute/eight/equal/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/parenleft/parenright/period/plus/q/quotedbl/quotedblleft/quotedblright/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
-/FontFile 12255 0 R
->> endobj
-12169 0 obj <<
-/Type /Encoding
-/Differences [2/fi/fl 33/exclam/quotedbl/numbersign 37/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright 147/quotedblleft/quotedblright/bullet/endash/emdash 1 [...]
->> endobj
-541 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /LDBHLR+CMBX10
-/FontDescriptor 12194 0 R
-/FirstChar 48
-/LastChar 49
-/Widths 12177 0 R
->> endobj
-542 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /XBGHAK+CMEX10
-/FontDescriptor 12196 0 R
-/FirstChar 0
-/LastChar 111
-/Widths 12176 0 R
->> endobj
-418 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /PCFYFO+CMMI10
-/FontDescriptor 12198 0 R
-/FirstChar 13
-/LastChar 125
-/Widths 12186 0 R
->> endobj
-2111 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /ZGGNQH+CMMI12
-/FontDescriptor 12200 0 R
-/FirstChar 60
-/LastChar 62
-/Widths 12167 0 R
->> endobj
-568 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /WNXLJT+CMMI5
-/FontDescriptor 12202 0 R
-/FirstChar 68
-/LastChar 110
-/Widths 12175 0 R
->> endobj
-7255 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /OMWOOP+CMMI6
-/FontDescriptor 12204 0 R
-/FirstChar 100
-/LastChar 117
-/Widths 12160 0 R
->> endobj
-473 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /VFEGCR+CMMI7
-/FontDescriptor 12206 0 R
-/FirstChar 26
-/LastChar 117
-/Widths 12183 0 R
->> endobj
-2018 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /ZRLUIR+CMMI8
-/FontDescriptor 12208 0 R
-/FirstChar 60
-/LastChar 62
-/Widths 12168 0 R
->> endobj
-2120 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /XZSFAY+CMMI9
-/FontDescriptor 12210 0 R
-/FirstChar 46
-/LastChar 110
-/Widths 12165 0 R
->> endobj
-539 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /WLMXSH+CMMIB10
-/FontDescriptor 12212 0 R
-/FirstChar 97
-/LastChar 120
-/Widths 12179 0 R
->> endobj
-762 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /UQOYSR+CMMIB7
-/FontDescriptor 12214 0 R
-/FirstChar 112
-/LastChar 112
-/Widths 12172 0 R
->> endobj
-504 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /QLYQLD+CMR10
-/FontDescriptor 12216 0 R
-/FirstChar 1
-/LastChar 120
-/Widths 12182 0 R
->> endobj
-538 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /LYFRJR+CMR5
-/FontDescriptor 12218 0 R
-/FirstChar 43
-/LastChar 80
-/Widths 12180 0 R
->> endobj
-2406 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /YPFGSD+CMR6
-/FontDescriptor 12220 0 R
-/FirstChar 48
-/LastChar 120
-/Widths 12163 0 R
->> endobj
-505 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /KKLHYL+CMR7
-/FontDescriptor 12222 0 R
-/FirstChar 40
-/LastChar 120
-/Widths 12181 0 R
->> endobj
-2175 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /SRQDSN+CMR9
-/FontDescriptor 12224 0 R
-/FirstChar 12
-/LastChar 118
-/Widths 12164 0 R
->> endobj
-340 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /NXBSDN+CMSY10
-/FontDescriptor 12226 0 R
-/FirstChar 0
-/LastChar 114
-/Widths 12191 0 R
->> endobj
-622 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /TPJSSH+CMSY5
-/FontDescriptor 12228 0 R
-/FirstChar 0
-/LastChar 96
-/Widths 12173 0 R
->> endobj
-342 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /JLSCDF+CMSY6
-/FontDescriptor 12230 0 R
-/FirstChar 3
-/LastChar 122
-/Widths 12189 0 R
->> endobj
-540 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /WSWKRG+CMSY7
-/FontDescriptor 12232 0 R
-/FirstChar 0
-/LastChar 94
-/Widths 12178 0 R
->> endobj
-341 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /JRVZXP+CMSY8
-/FontDescriptor 12234 0 R
-/FirstChar 120
-/LastChar 122
-/Widths 12190 0 R
->> endobj
-2117 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /LRFJNF+CMSY9
-/FontDescriptor 12236 0 R
-/FirstChar 0
-/LastChar 20
-/Widths 12166 0 R
->> endobj
-9167 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /KNYRWO+CMTI10
-/FontDescriptor 12238 0 R
-/FirstChar 112
-/LastChar 115
-/Widths 12159 0 R
->> endobj
-2750 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /BKKFBC+CMTT10
-/FontDescriptor 12240 0 R
-/FirstChar 101
-/LastChar 121
-/Widths 12162 0 R
->> endobj
-621 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /NIRNEQ+MSAM10
-/FontDescriptor 12242 0 R
-/FirstChar 13
-/LastChar 26
-/Widths 12174 0 R
->> endobj
-472 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /NUYYNC+MSBM10
-/FontDescriptor 12244 0 R
-/FirstChar 63
-/LastChar 90
-/Widths 12184 0 R
->> endobj
-5156 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /NUYYNC+MSBM10
-/FontDescriptor 12244 0 R
-/FirstChar 82
-/LastChar 82
-/Widths 12161 0 R
->> endobj
-376 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /MZYJFE+NimbusMonL-Regu
-/FontDescriptor 12246 0 R
-/FirstChar 33
-/LastChar 125
-/Widths 12187 0 R
-/Encoding 12169 0 R
->> endobj
-1139 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /JOTYEC+NimbusMonL-ReguObli
-/FontDescriptor 12248 0 R
-/FirstChar 39
-/LastChar 121
-/Widths 12171 0 R
-/Encoding 12169 0 R
->> endobj
-374 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /MUQVXJ+NimbusRomNo9L-Medi
-/FontDescriptor 12250 0 R
-/FirstChar 2
-/LastChar 150
-/Widths 12188 0 R
-/Encoding 12169 0 R
->> endobj
-1788 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /RYALYO+NimbusRomNo9L-MediItal
-/FontDescriptor 12252 0 R
-/FirstChar 2
-/LastChar 122
-/Widths 12170 0 R
-/Encoding 12169 0 R
->> endobj
-339 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /LVYLSR+NimbusRomNo9L-Regu
-/FontDescriptor 12254 0 R
-/FirstChar 2
-/LastChar 233
-/Widths 12192 0 R
-/Encoding 12169 0 R
->> endobj
-471 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /ZSLAIS+NimbusRomNo9L-ReguItal
-/FontDescriptor 12256 0 R
-/FirstChar 2
-/LastChar 233
-/Widths 12185 0 R
-/Encoding 12169 0 R
->> endobj
-343 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12257 0 R
-/Kids [334 0 R 371 0 R 415 0 R 451 0 R 464 0 R 486 0 R]
->> endobj
-507 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12257 0 R
-/Kids [501 0 R 510 0 R 520 0 R 532 0 R 552 0 R 565 0 R]
->> endobj
-585 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12257 0 R
-/Kids [577 0 R 588 0 R 598 0 R 614 0 R 632 0 R 641 0 R]
->> endobj
-662 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12257 0 R
-/Kids [650 0 R 671 0 R 693 0 R 708 0 R 726 0 R 741 0 R]
->> endobj
-770 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12257 0 R
-/Kids [757 0 R 775 0 R 790 0 R 805 0 R 816 0 R 831 0 R]
->> endobj
-868 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12257 0 R
-/Kids [851 0 R 878 0 R 899 0 R 910 0 R 924 0 R 948 0 R]
->> endobj
-984 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12258 0 R
-/Kids [971 0 R 988 0 R 1007 0 R 1028 0 R 1050 0 R 1071 0 R]
->> endobj
-1084 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12258 0 R
-/Kids [1078 0 R 1087 0 R 1096 0 R 1102 0 R 1108 0 R 1115 0 R]
->> endobj
-1129 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12258 0 R
-/Kids [1122 0 R 1133 0 R 1144 0 R 1150 0 R 1155 0 R 1160 0 R]
->> endobj
-1169 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12258 0 R
-/Kids [1166 0 R 1184 0 R 1230 0 R 1290 0 R 1338 0 R 1380 0 R]
->> endobj
-1420 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12258 0 R
-/Kids [1417 0 R 1473 0 R 1534 0 R 1573 0 R 1597 0 R 1616 0 R]
->> endobj
-1676 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12258 0 R
-/Kids [1661 0 R 1738 0 R 1777 0 R 1791 0 R 1799 0 R 1822 0 R]
->> endobj
-1850 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12259 0 R
-/Kids [1847 0 R 1868 0 R 1929 0 R 1955 0 R 2003 0 R 2038 0 R]
->> endobj
-2071 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12259 0 R
-/Kids [2061 0 R 2077 0 R 2108 0 R 2167 0 R 2229 0 R 2280 0 R]
->> endobj
-2341 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12259 0 R
-/Kids [2338 0 R 2403 0 R 2461 0 R 2520 0 R 2542 0 R 2553 0 R]
->> endobj
-2570 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12259 0 R
-/Kids [2562 0 R 2573 0 R 2581 0 R 2591 0 R 2598 0 R 2611 0 R]
->> endobj
-2628 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12259 0 R
-/Kids [2622 0 R 2635 0 R 2648 0 R 2658 0 R 2671 0 R 2684 0 R]
->> endobj
-2702 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12259 0 R
-/Kids [2697 0 R 2707 0 R 2719 0 R 2733 0 R 2745 0 R 2758 0 R]
->> endobj
-2778 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12260 0 R
-/Kids [2771 0 R 2786 0 R 2795 0 R 2806 0 R 2816 0 R 2835 0 R]
->> endobj
-2877 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12260 0 R
-/Kids [2868 0 R 2917 0 R 2974 0 R 3037 0 R 3094 0 R 3164 0 R]
->> endobj
-3226 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12260 0 R
-/Kids [3219 0 R 3279 0 R 3300 0 R 3313 0 R 3323 0 R 3333 0 R]
->> endobj
-3352 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12260 0 R
-/Kids [3345 0 R 3355 0 R 3363 0 R 3373 0 R 3382 0 R 3392 0 R]
->> endobj
-3411 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12260 0 R
-/Kids [3403 0 R 3417 0 R 3429 0 R 3438 0 R 3451 0 R 3463 0 R]
->> endobj
-3479 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12260 0 R
-/Kids [3472 0 R 3488 0 R 3497 0 R 3506 0 R 3517 0 R 3547 0 R]
->> endobj
-3599 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12261 0 R
-/Kids [3591 0 R 3608 0 R 3617 0 R 3626 0 R 3641 0 R 3691 0 R]
->> endobj
-3751 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12261 0 R
-/Kids [3732 0 R 3780 0 R 3831 0 R 3894 0 R 3947 0 R 4005 0 R]
->> endobj
-4053 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12261 0 R
-/Kids [4048 0 R 4064 0 R 4081 0 R 4096 0 R 4110 0 R 4124 0 R]
->> endobj
-4136 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12261 0 R
-/Kids [4133 0 R 4153 0 R 4193 0 R 4244 0 R 4277 0 R 4288 0 R]
->> endobj
-4305 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12261 0 R
-/Kids [4295 0 R 4308 0 R 4339 0 R 4381 0 R 4427 0 R 4449 0 R]
->> endobj
-4467 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12261 0 R
-/Kids [4457 0 R 4481 0 R 4513 0 R 4554 0 R 4613 0 R 4685 0 R]
->> endobj
-4718 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12262 0 R
-/Kids [4714 0 R 4725 0 R 4732 0 R 4744 0 R 4760 0 R 4788 0 R]
->> endobj
-4849 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12262 0 R
-/Kids [4830 0 R 4868 0 R 4885 0 R 4908 0 R 4931 0 R 4960 0 R]
->> endobj
-5021 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12262 0 R
-/Kids [5005 0 R 5029 0 R 5056 0 R 5094 0 R 5144 0 R 5205 0 R]
->> endobj
-5228 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12262 0 R
-/Kids [5224 0 R 5231 0 R 5239 0 R 5260 0 R 5274 0 R 5288 0 R]
->> endobj
-5300 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12262 0 R
-/Kids [5295 0 R 5311 0 R 5351 0 R 5385 0 R 5400 0 R 5412 0 R]
->> endobj
-5454 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12262 0 R
-/Kids [5441 0 R 5503 0 R 5533 0 R 5551 0 R 5602 0 R 5658 0 R]
->> endobj
-5722 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12263 0 R
-/Kids [5716 0 R 5772 0 R 5826 0 R 5891 0 R 5944 0 R 5987 0 R]
->> endobj
-6015 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12263 0 R
-/Kids [6011 0 R 6018 0 R 6023 0 R 6028 0 R 6036 0 R 6044 0 R]
->> endobj
-6058 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12263 0 R
-/Kids [6052 0 R 6062 0 R 6068 0 R 6083 0 R 6092 0 R 6101 0 R]
->> endobj
-6120 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12263 0 R
-/Kids [6113 0 R 6125 0 R 6137 0 R 6147 0 R 6157 0 R 6165 0 R]
->> endobj
-6185 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12263 0 R
-/Kids [6179 0 R 6192 0 R 6206 0 R 6217 0 R 6228 0 R 6237 0 R]
->> endobj
-6257 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12263 0 R
-/Kids [6251 0 R 6266 0 R 6277 0 R 6290 0 R 6305 0 R 6316 0 R]
->> endobj
-6357 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12264 0 R
-/Kids [6344 0 R 6381 0 R 6425 0 R 6473 0 R 6499 0 R 6508 0 R]
->> endobj
-6523 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12264 0 R
-/Kids [6516 0 R 6538 0 R 6549 0 R 6590 0 R 6635 0 R 6667 0 R]
->> endobj
-6684 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12264 0 R
-/Kids [6681 0 R 6691 0 R 6720 0 R 6751 0 R 6770 0 R 6796 0 R]
->> endobj
-6829 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12264 0 R
-/Kids [6821 0 R 6837 0 R 6847 0 R 6868 0 R 6910 0 R 6976 0 R]
->> endobj
-7045 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12264 0 R
-/Kids [7040 0 R 7066 0 R 7075 0 R 7088 0 R 7106 0 R 7145 0 R]
->> endobj
-7209 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12264 0 R
-/Kids [7197 0 R 7250 0 R 7284 0 R 7299 0 R 7312 0 R 7320 0 R]
->> endobj
-7339 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12265 0 R
-/Kids [7331 0 R 7353 0 R 7405 0 R 7428 0 R 7438 0 R 7447 0 R]
->> endobj
-7465 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12265 0 R
-/Kids [7458 0 R 7474 0 R 7521 0 R 7578 0 R 7633 0 R 7690 0 R]
->> endobj
-7766 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12265 0 R
-/Kids [7759 0 R 7818 0 R 7873 0 R 7903 0 R 7918 0 R 7926 0 R]
->> endobj
-7942 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12265 0 R
-/Kids [7936 0 R 7945 0 R 7956 0 R 7967 0 R 7974 0 R 7982 0 R]
->> endobj
-7997 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12265 0 R
-/Kids [7991 0 R 8003 0 R 8014 0 R 8027 0 R 8038 0 R 8048 0 R]
->> endobj
-8068 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12265 0 R
-/Kids [8062 0 R 8075 0 R 8087 0 R 8100 0 R 8111 0 R 8123 0 R]
->> endobj
-8138 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12266 0 R
-/Kids [8131 0 R 8174 0 R 8225 0 R 8279 0 R 8336 0 R 8405 0 R]
->> endobj
-8469 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12266 0 R
-/Kids [8457 0 R 8493 0 R 8528 0 R 8543 0 R 8550 0 R 8558 0 R]
->> endobj
-8571 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12266 0 R
-/Kids [8565 0 R 8574 0 R 8582 0 R 8592 0 R 8600 0 R 8607 0 R]
->> endobj
-8623 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12266 0 R
-/Kids [8617 0 R 8627 0 R 8638 0 R 8651 0 R 8665 0 R 8679 0 R]
->> endobj
-8695 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12266 0 R
-/Kids [8689 0 R 8705 0 R 8717 0 R 8731 0 R 8753 0 R 8803 0 R]
->> endobj
-8864 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12266 0 R
-/Kids [8855 0 R 8911 0 R 8971 0 R 9029 0 R 9078 0 R 9124 0 R]
->> endobj
-9149 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12267 0 R
-/Kids [9142 0 R 9152 0 R 9160 0 R 9170 0 R 9179 0 R 9186 0 R]
->> endobj
-9205 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12267 0 R
-/Kids [9196 0 R 9210 0 R 9223 0 R 9234 0 R 9247 0 R 9260 0 R]
->> endobj
-9279 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12267 0 R
-/Kids [9274 0 R 9286 0 R 9300 0 R 9313 0 R 9328 0 R 9344 0 R]
->> endobj
-9388 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12267 0 R
-/Kids [9372 0 R 9407 0 R 9441 0 R 9467 0 R 9510 0 R 9564 0 R]
->> endobj
-9623 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12267 0 R
-/Kids [9620 0 R 9670 0 R 9737 0 R 9800 0 R 9845 0 R 9896 0 R]
->> endobj
-9926 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12267 0 R
-/Kids [9921 0 R 9929 0 R 9934 0 R 9939 0 R 9948 0 R 9956 0 R]
->> endobj
-9974 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12268 0 R
-/Kids [9966 0 R 9977 0 R 9985 0 R 9997 0 R 10008 0 R 10018 0 R]
->> endobj
-10034 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12268 0 R
-/Kids [10028 0 R 10041 0 R 10050 0 R 10060 0 R 10071 0 R 10085 0 R]
->> endobj
-10105 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12268 0 R
-/Kids [10098 0 R 10114 0 R 10124 0 R 10140 0 R 10156 0 R 10168 0 R]
->> endobj
-10188 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12268 0 R
-/Kids [10181 0 R 10197 0 R 10207 0 R 10242 0 R 10293 0 R 10336 0 R]
->> endobj
-10381 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12268 0 R
-/Kids [10371 0 R 10390 0 R 10398 0 R 10412 0 R 10429 0 R 10455 0 R]
->> endobj
-10498 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12268 0 R
-/Kids [10486 0 R 10508 0 R 10544 0 R 10566 0 R 10639 0 R 10707 0 R]
->> endobj
-10777 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12269 0 R
-/Kids [10774 0 R 10836 0 R 10904 0 R 10966 0 R 11037 0 R 11103 0 R]
->> endobj
-11202 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 12269 0 R
-/Kids [11199 0 R 11316 0 R 11428 0 R 11539 0 R 11661 0 R 11781 0 R]
->> endobj
-11884 0 obj <<
-/Type /Pages
-/Count 5
-/Parent 12269 0 R
-/Kids [11881 0 R 11966 0 R 12035 0 R 12104 0 R 12156 0 R]
->> endobj
-12257 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 12270 0 R
-/Kids [343 0 R 507 0 R 585 0 R 662 0 R 770 0 R 868 0 R]
->> endobj
-12258 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 12270 0 R
-/Kids [984 0 R 1084 0 R 1129 0 R 1169 0 R 1420 0 R 1676 0 R]
->> endobj
-12259 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 12270 0 R
-/Kids [1850 0 R 2071 0 R 2341 0 R 2570 0 R 2628 0 R 2702 0 R]
->> endobj
-12260 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 12270 0 R
-/Kids [2778 0 R 2877 0 R 3226 0 R 3352 0 R 3411 0 R 3479 0 R]
->> endobj
-12261 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 12270 0 R
-/Kids [3599 0 R 3751 0 R 4053 0 R 4136 0 R 4305 0 R 4467 0 R]
->> endobj
-12262 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 12270 0 R
-/Kids [4718 0 R 4849 0 R 5021 0 R 5228 0 R 5300 0 R 5454 0 R]
->> endobj
-12263 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 12271 0 R
-/Kids [5722 0 R 6015 0 R 6058 0 R 6120 0 R 6185 0 R 6257 0 R]
->> endobj
-12264 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 12271 0 R
-/Kids [6357 0 R 6523 0 R 6684 0 R 6829 0 R 7045 0 R 7209 0 R]
->> endobj
-12265 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 12271 0 R
-/Kids [7339 0 R 7465 0 R 7766 0 R 7942 0 R 7997 0 R 8068 0 R]
->> endobj
-12266 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 12271 0 R
-/Kids [8138 0 R 8469 0 R 8571 0 R 8623 0 R 8695 0 R 8864 0 R]
->> endobj
-12267 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 12271 0 R
-/Kids [9149 0 R 9205 0 R 9279 0 R 9388 0 R 9623 0 R 9926 0 R]
->> endobj
-12268 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 12271 0 R
-/Kids [9974 0 R 10034 0 R 10105 0 R 10188 0 R 10381 0 R 10498 0 R]
->> endobj
-12269 0 obj <<
-/Type /Pages
-/Count 17
-/Parent 12272 0 R
-/Kids [10777 0 R 11202 0 R 11884 0 R]
->> endobj
-12270 0 obj <<
-/Type /Pages
-/Count 216
-/Parent 12273 0 R
-/Kids [12257 0 R 12258 0 R 12259 0 R 12260 0 R 12261 0 R 12262 0 R]
->> endobj
-12271 0 obj <<
-/Type /Pages
-/Count 216
-/Parent 12273 0 R
-/Kids [12263 0 R 12264 0 R 12265 0 R 12266 0 R 12267 0 R 12268 0 R]
->> endobj
-12272 0 obj <<
-/Type /Pages
-/Count 17
-/Parent 12273 0 R
-/Kids [12269 0 R]
->> endobj
-12273 0 obj <<
-/Type /Pages
-/Count 449
-/Kids [12270 0 R 12271 0 R 12272 0 R]
->> endobj
-12274 0 obj <<
-/Type /Outlines
-/First 7 0 R
-/Last 135 0 R
-/Count 11
->> endobj
-331 0 obj <<
-/Title 332 0 R
-/A 329 0 R
-/Parent 135 0 R
-/Prev 327 0 R
->> endobj
-327 0 obj <<
-/Title 328 0 R
-/A 325 0 R
-/Parent 135 0 R
-/Prev 323 0 R
-/Next 331 0 R
->> endobj
-323 0 obj <<
-/Title 324 0 R
-/A 321 0 R
-/Parent 135 0 R
-/Prev 319 0 R
-/Next 327 0 R
->> endobj
-319 0 obj <<
-/Title 320 0 R
-/A 317 0 R
-/Parent 135 0 R
-/Prev 315 0 R
-/Next 323 0 R
->> endobj
-315 0 obj <<
-/Title 316 0 R
-/A 313 0 R
-/Parent 135 0 R
-/Prev 311 0 R
-/Next 319 0 R
->> endobj
-311 0 obj <<
-/Title 312 0 R
-/A 309 0 R
-/Parent 135 0 R
-/Prev 307 0 R
-/Next 315 0 R
->> endobj
-307 0 obj <<
-/Title 308 0 R
-/A 305 0 R
-/Parent 135 0 R
-/Prev 303 0 R
-/Next 311 0 R
->> endobj
-303 0 obj <<
-/Title 304 0 R
-/A 301 0 R
-/Parent 135 0 R
-/Prev 299 0 R
-/Next 307 0 R
->> endobj
-299 0 obj <<
-/Title 300 0 R
-/A 297 0 R
-/Parent 135 0 R
-/Prev 295 0 R
-/Next 303 0 R
->> endobj
-295 0 obj <<
-/Title 296 0 R
-/A 293 0 R
-/Parent 135 0 R
-/Prev 291 0 R
-/Next 299 0 R
->> endobj
-291 0 obj <<
-/Title 292 0 R
-/A 289 0 R
-/Parent 135 0 R
-/Prev 287 0 R
-/Next 295 0 R
->> endobj
-287 0 obj <<
-/Title 288 0 R
-/A 285 0 R
-/Parent 135 0 R
-/Prev 283 0 R
-/Next 291 0 R
->> endobj
-283 0 obj <<
-/Title 284 0 R
-/A 281 0 R
-/Parent 135 0 R
-/Prev 279 0 R
-/Next 287 0 R
->> endobj
-279 0 obj <<
-/Title 280 0 R
-/A 277 0 R
-/Parent 135 0 R
-/Prev 275 0 R
-/Next 283 0 R
->> endobj
-275 0 obj <<
-/Title 276 0 R
-/A 273 0 R
-/Parent 135 0 R
-/Prev 271 0 R
-/Next 279 0 R
->> endobj
-271 0 obj <<
-/Title 272 0 R
-/A 269 0 R
-/Parent 135 0 R
-/Prev 267 0 R
-/Next 275 0 R
->> endobj
-267 0 obj <<
-/Title 268 0 R
-/A 265 0 R
-/Parent 135 0 R
-/Prev 263 0 R
-/Next 271 0 R
->> endobj
-263 0 obj <<
-/Title 264 0 R
-/A 261 0 R
-/Parent 135 0 R
-/Prev 259 0 R
-/Next 267 0 R
->> endobj
-259 0 obj <<
-/Title 260 0 R
-/A 257 0 R
-/Parent 135 0 R
-/Prev 255 0 R
-/Next 263 0 R
->> endobj
-255 0 obj <<
-/Title 256 0 R
-/A 253 0 R
-/Parent 135 0 R
-/Prev 251 0 R
-/Next 259 0 R
->> endobj
-251 0 obj <<
-/Title 252 0 R
-/A 249 0 R
-/Parent 135 0 R
-/Prev 247 0 R
-/Next 255 0 R
->> endobj
-247 0 obj <<
-/Title 248 0 R
-/A 245 0 R
-/Parent 135 0 R
-/Prev 243 0 R
-/Next 251 0 R
->> endobj
-243 0 obj <<
-/Title 244 0 R
-/A 241 0 R
-/Parent 135 0 R
-/Prev 239 0 R
-/Next 247 0 R
->> endobj
-239 0 obj <<
-/Title 240 0 R
-/A 237 0 R
-/Parent 135 0 R
-/Prev 235 0 R
-/Next 243 0 R
->> endobj
-235 0 obj <<
-/Title 236 0 R
-/A 233 0 R
-/Parent 135 0 R
-/Prev 231 0 R
-/Next 239 0 R
->> endobj
-231 0 obj <<
-/Title 232 0 R
-/A 229 0 R
-/Parent 135 0 R
-/Prev 227 0 R
-/Next 235 0 R
->> endobj
-227 0 obj <<
-/Title 228 0 R
-/A 225 0 R
-/Parent 135 0 R
-/Prev 223 0 R
-/Next 231 0 R
->> endobj
-223 0 obj <<
-/Title 224 0 R
-/A 221 0 R
-/Parent 135 0 R
-/Prev 219 0 R
-/Next 227 0 R
->> endobj
-219 0 obj <<
-/Title 220 0 R
-/A 217 0 R
-/Parent 135 0 R
-/Prev 215 0 R
-/Next 223 0 R
->> endobj
-215 0 obj <<
-/Title 216 0 R
-/A 213 0 R
-/Parent 135 0 R
-/Prev 211 0 R
-/Next 219 0 R
->> endobj
-211 0 obj <<
-/Title 212 0 R
-/A 209 0 R
-/Parent 135 0 R
-/Prev 207 0 R
-/Next 215 0 R
->> endobj
-207 0 obj <<
-/Title 208 0 R
-/A 205 0 R
-/Parent 135 0 R
-/Prev 203 0 R
-/Next 211 0 R
->> endobj
-203 0 obj <<
-/Title 204 0 R
-/A 201 0 R
-/Parent 135 0 R
-/Prev 199 0 R
-/Next 207 0 R
->> endobj
-199 0 obj <<
-/Title 200 0 R
-/A 197 0 R
-/Parent 135 0 R
-/Prev 195 0 R
-/Next 203 0 R
->> endobj
-195 0 obj <<
-/Title 196 0 R
-/A 193 0 R
-/Parent 135 0 R
-/Prev 191 0 R
-/Next 199 0 R
->> endobj
-191 0 obj <<
-/Title 192 0 R
-/A 189 0 R
-/Parent 135 0 R
-/Prev 187 0 R
-/Next 195 0 R
->> endobj
-187 0 obj <<
-/Title 188 0 R
-/A 185 0 R
-/Parent 135 0 R
-/Prev 183 0 R
-/Next 191 0 R
->> endobj
-183 0 obj <<
-/Title 184 0 R
-/A 181 0 R
-/Parent 135 0 R
-/Prev 179 0 R
-/Next 187 0 R
->> endobj
-179 0 obj <<
-/Title 180 0 R
-/A 177 0 R
-/Parent 135 0 R
-/Prev 175 0 R
-/Next 183 0 R
->> endobj
-175 0 obj <<
-/Title 176 0 R
-/A 173 0 R
-/Parent 135 0 R
-/Prev 171 0 R
-/Next 179 0 R
->> endobj
-171 0 obj <<
-/Title 172 0 R
-/A 169 0 R
-/Parent 135 0 R
-/Prev 167 0 R
-/Next 175 0 R
->> endobj
-167 0 obj <<
-/Title 168 0 R
-/A 165 0 R
-/Parent 135 0 R
-/Prev 163 0 R
-/Next 171 0 R
->> endobj
-163 0 obj <<
-/Title 164 0 R
-/A 161 0 R
-/Parent 135 0 R
-/Prev 159 0 R
-/Next 167 0 R
->> endobj
-159 0 obj <<
-/Title 160 0 R
-/A 157 0 R
-/Parent 135 0 R
-/Prev 155 0 R
-/Next 163 0 R
->> endobj
-155 0 obj <<
-/Title 156 0 R
-/A 153 0 R
-/Parent 135 0 R
-/Prev 151 0 R
-/Next 159 0 R
->> endobj
-151 0 obj <<
-/Title 152 0 R
-/A 149 0 R
-/Parent 135 0 R
-/Prev 147 0 R
-/Next 155 0 R
->> endobj
-147 0 obj <<
-/Title 148 0 R
-/A 145 0 R
-/Parent 135 0 R
-/Prev 143 0 R
-/Next 151 0 R
->> endobj
-143 0 obj <<
-/Title 144 0 R
-/A 141 0 R
-/Parent 135 0 R
-/Prev 139 0 R
-/Next 147 0 R
->> endobj
-139 0 obj <<
-/Title 140 0 R
-/A 137 0 R
-/Parent 135 0 R
-/Next 143 0 R
->> endobj
-135 0 obj <<
-/Title 136 0 R
-/A 133 0 R
-/Parent 12274 0 R
-/Prev 119 0 R
-/First 139 0 R
-/Last 331 0 R
-/Count -49
->> endobj
-131 0 obj <<
-/Title 132 0 R
-/A 129 0 R
-/Parent 119 0 R
-/Prev 127 0 R
->> endobj
-127 0 obj <<
-/Title 128 0 R
-/A 125 0 R
-/Parent 119 0 R
-/Prev 123 0 R
-/Next 131 0 R
->> endobj
-123 0 obj <<
-/Title 124 0 R
-/A 121 0 R
-/Parent 119 0 R
-/Next 127 0 R
->> endobj
-119 0 obj <<
-/Title 120 0 R
-/A 117 0 R
-/Parent 12274 0 R
-/Prev 111 0 R
-/Next 135 0 R
-/First 123 0 R
-/Last 131 0 R
-/Count -3
->> endobj
-115 0 obj <<
-/Title 116 0 R
-/A 113 0 R
-/Parent 111 0 R
->> endobj
-111 0 obj <<
-/Title 112 0 R
-/A 109 0 R
-/Parent 12274 0 R
-/Prev 103 0 R
-/Next 119 0 R
-/First 115 0 R
-/Last 115 0 R
-/Count -1
->> endobj
-107 0 obj <<
-/Title 108 0 R
-/A 105 0 R
-/Parent 103 0 R
->> endobj
-103 0 obj <<
-/Title 104 0 R
-/A 101 0 R
-/Parent 12274 0 R
-/Prev 95 0 R
-/Next 111 0 R
-/First 107 0 R
-/Last 107 0 R
-/Count -1
->> endobj
-99 0 obj <<
-/Title 100 0 R
-/A 97 0 R
-/Parent 95 0 R
->> endobj
-95 0 obj <<
-/Title 96 0 R
-/A 93 0 R
-/Parent 12274 0 R
-/Prev 87 0 R
-/Next 103 0 R
-/First 99 0 R
-/Last 99 0 R
-/Count -1
->> endobj
-91 0 obj <<
-/Title 92 0 R
-/A 89 0 R
-/Parent 87 0 R
->> endobj
-87 0 obj <<
-/Title 88 0 R
-/A 85 0 R
-/Parent 12274 0 R
-/Prev 79 0 R
-/Next 95 0 R
-/First 91 0 R
-/Last 91 0 R
-/Count -1
->> endobj
-83 0 obj <<
-/Title 84 0 R
-/A 81 0 R
-/Parent 79 0 R
->> endobj
-79 0 obj <<
-/Title 80 0 R
-/A 77 0 R
-/Parent 12274 0 R
-/Prev 75 0 R
-/Next 87 0 R
-/First 83 0 R
-/Last 83 0 R
-/Count -1
->> endobj
-75 0 obj <<
-/Title 76 0 R
-/A 73 0 R
-/Parent 12274 0 R
-/Prev 71 0 R
-/Next 79 0 R
->> endobj
-71 0 obj <<
-/Title 72 0 R
-/A 69 0 R
-/Parent 12274 0 R
-/Prev 67 0 R
-/Next 75 0 R
->> endobj
-67 0 obj <<
-/Title 68 0 R
-/A 65 0 R
-/Parent 12274 0 R
-/Prev 7 0 R
-/Next 71 0 R
->> endobj
-63 0 obj <<
-/Title 64 0 R
-/A 61 0 R
-/Parent 7 0 R
-/Prev 59 0 R
->> endobj
-59 0 obj <<
-/Title 60 0 R
-/A 57 0 R
-/Parent 7 0 R
-/Prev 55 0 R
-/Next 63 0 R
->> endobj
-55 0 obj <<
-/Title 56 0 R
-/A 53 0 R
-/Parent 7 0 R
-/Prev 51 0 R
-/Next 59 0 R
->> endobj
-51 0 obj <<
-/Title 52 0 R
-/A 49 0 R
-/Parent 7 0 R
-/Prev 47 0 R
-/Next 55 0 R
->> endobj
-47 0 obj <<
-/Title 48 0 R
-/A 45 0 R
-/Parent 7 0 R
-/Prev 43 0 R
-/Next 51 0 R
->> endobj
-43 0 obj <<
-/Title 44 0 R
-/A 41 0 R
-/Parent 7 0 R
-/Prev 39 0 R
-/Next 47 0 R
->> endobj
-39 0 obj <<
-/Title 40 0 R
-/A 37 0 R
-/Parent 7 0 R
-/Prev 35 0 R
-/Next 43 0 R
->> endobj
-35 0 obj <<
-/Title 36 0 R
-/A 33 0 R
-/Parent 7 0 R
-/Prev 31 0 R
-/Next 39 0 R
->> endobj
-31 0 obj <<
-/Title 32 0 R
-/A 29 0 R
-/Parent 7 0 R
-/Prev 27 0 R
-/Next 35 0 R
->> endobj
-27 0 obj <<
-/Title 28 0 R
-/A 25 0 R
-/Parent 7 0 R
-/Prev 23 0 R
-/Next 31 0 R
->> endobj
-23 0 obj <<
-/Title 24 0 R
-/A 21 0 R
-/Parent 7 0 R
-/Prev 19 0 R
-/Next 27 0 R
->> endobj
-19 0 obj <<
-/Title 20 0 R
-/A 17 0 R
-/Parent 7 0 R
-/Prev 15 0 R
-/Next 23 0 R
->> endobj
-15 0 obj <<
-/Title 16 0 R
-/A 13 0 R
-/Parent 7 0 R
-/Prev 11 0 R
-/Next 19 0 R
->> endobj
-11 0 obj <<
-/Title 12 0 R
-/A 9 0 R
-/Parent 7 0 R
-/Next 15 0 R
->> endobj
-7 0 obj <<
-/Title 8 0 R
-/A 5 0 R
-/Parent 12274 0 R
-/Next 67 0 R
-/First 11 0 R
-/Last 63 0 R
-/Count -14
->> endobj
-12275 0 obj <<
-/Names [(Doc-Start) 338 0 R (GFDL) 1147 0 R (GFDL_GFDL) 378 0 R (GPL) 1074 0 R (GPL_GPL) 379 0 R (Item.1) 516 0 R]
-/Limits [(Doc-Start) (Item.1)]
->> endobj
-12276 0 obj <<
-/Names [(Item.2) 517 0 R (Item.3) 523 0 R (Item.4) 524 0 R (Item.5) 525 0 R (classParma__Polyhedra__Library_1_1BD__Shape) 478 0 R (classParma__Polyhedra__Library_1_1BD__Shape_00b832cc0784b7b30f4d4a2f738a3032) 2465 0 R]
-/Limits [(Item.2) (classParma__Polyhedra__Library_1_1BD__Shape_00b832cc0784b7b30f4d4a2f738a3032)]
->> endobj
-12277 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_033967c42f02b6029fc4d6153eb8072a) 2122 0 R (classParma__Polyhedra__Library_1_1BD__Shape_0442c5079b3de8dcac61c224ee7a2e6f) 2349 0 R (classParma__Polyhedra__Library_1_1BD__Shape_07cc48290e435dfb739fb565ff1aa3fa) 2354 0 R (classParma__Polyhedra__Library_1_1BD__Shape_0acf1147e3f81830606dec4cc8faddd4) 2412 0 R (classParma__Polyhedra__Library_1_1BD__Shape_0badc932380dcb7f72ea50ca922d9d4b) 2478 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_033967c42f02b6029fc4d6153eb8072a) (classParma__Polyhedra__Library_1_1BD__Shape_0cc08ca5d72d5cf465eb7812ffbb156a)]
->> endobj
-12278 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_128b2fafec11e096e41f78710ba2ff0a) 2180 0 R (classParma__Polyhedra__Library_1_1BD__Shape_12dc6df3a06f4c97c6bb2264bbad05ac) 2114 0 R (classParma__Polyhedra__Library_1_1BD__Shape_15b3e8152862a6b98ecf1c4f4a142634) 2181 0 R (classParma__Polyhedra__Library_1_1BD__Shape_16f61fdba7e14a67990a84e93be00efb) 2246 0 R (classParma__Polyhedra__Library_1_1BD__Shape_178a6a88143f44b43939d36024af6162) 2416 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_128b2fafec11e096e41f78710ba2ff0a) (classParma__Polyhedra__Library_1_1BD__Shape_1a02b17cbccf348192f3e7f776b3b3fd)]
->> endobj
-12279 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_1a6088f536e9340145630576cfd6e6b9) 2121 0 R (classParma__Polyhedra__Library_1_1BD__Shape_1cb059d74161d8458f18b02e33efe434) 1197 0 R (classParma__Polyhedra__Library_1_1BD__Shape_1d00782cbab77286295552af7dba7ed8) 2240 0 R (classParma__Polyhedra__Library_1_1BD__Shape_1e645f35cbeedf3341428988157f71ab) 2176 0 R (classParma__Polyhedra__Library_1_1BD__Shape_20814dec69b3a6602b70a9ad50db9b2a) 2289 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_1a6088f536e9340145630576cfd6e6b9) (classParma__Polyhedra__Library_1_1BD__Shape_221657648a7e456dba61589e37765cd4)]
->> endobj
-12280 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_242d9bf0b5b215d4aa771e9f8595baea) 2283 0 R (classParma__Polyhedra__Library_1_1BD__Shape_24d2b69146ab1b2216e437468a818cea) 2419 0 R (classParma__Polyhedra__Library_1_1BD__Shape_24fbe68af11e373092f23f59b6cfd3e1) 2177 0 R (classParma__Polyhedra__Library_1_1BD__Shape_25a2d683973c6c6901e47c4fe90cf2b1) 2185 0 R (classParma__Polyhedra__Library_1_1BD__Shape_25c5ef784f17646705c76a5be6c724a3) 2123 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_242d9bf0b5b215d4aa771e9f8595baea) (classParma__Polyhedra__Library_1_1BD__Shape_2626176104b632be36dc614e1d5536ea)]
->> endobj
-12281 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_28b268e37d25a0cfa2b5bf39e85c758d) 2291 0 R (classParma__Polyhedra__Library_1_1BD__Shape_29212d49685544d8a3c71993bd30f467) 2287 0 R (classParma__Polyhedra__Library_1_1BD__Shape_2af430cd70ac416ca0907312b65812e6) 2469 0 R (classParma__Polyhedra__Library_1_1BD__Shape_33daeddebffc6eb847edd92c3ba045dc) 2239 0 R (classParma__Polyhedra__Library_1_1BD__Shape_35f19d0e7190c5a18aebc9ced95d554e) 2345 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_28b268e37d25a0cfa2b5bf39e85c758d) (classParma__Polyhedra__Library_1_1BD__Shape_3825b4905d72422089bf28d3c95c2964)]
->> endobj
-12282 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_396bd79b5d57d54685d9c1b9d970c00e) 2286 0 R (classParma__Polyhedra__Library_1_1BD__Shape_47a21a1c8a88c306877d15d4dbc697b4) 2531 0 R (classParma__Polyhedra__Library_1_1BD__Shape_4882da0200ef4201f3adb0f6d7731526) 1248 0 R (classParma__Polyhedra__Library_1_1BD__Shape_4aef1a4f6e9bed5d473e98320401e0e5) 2245 0 R (classParma__Polyhedra__Library_1_1BD__Shape_4b7615a8ec5120dc083f368ecfe2d1da) 2350 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_396bd79b5d57d54685d9c1b9d970c00e) (classParma__Polyhedra__Library_1_1BD__Shape_4e04c3a6c835332c31dfbb928b31144e)]
->> endobj
-12283 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_5049b85730d6720536be440753b11ed8) 2527 0 R (classParma__Polyhedra__Library_1_1BD__Shape_535090b407c713681228d6ab2b835e36) 2292 0 R (classParma__Polyhedra__Library_1_1BD__Shape_54f33edf5fdf4c6f606136b882be9f1d) 2284 0 R (classParma__Polyhedra__Library_1_1BD__Shape_5a66e6f883c7310ddbc312f78bb0970f) 2417 0 R (classParma__Polyhedra__Library_1_1BD__Shape_5d71f71f50ba04fe5f810acf0cf1e294) 2470 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_5049b85730d6720536be440753b11ed8) (classParma__Polyhedra__Library_1_1BD__Shape_5e972fbb672e9b2faec34b949c9a2918)]
->> endobj
-12284 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_620d5cdb01b8b20848ca01f4e4c05b4f) 2234 0 R (classParma__Polyhedra__Library_1_1BD__Shape_641b55dd6c26bce06bd8041b38aec873) 2236 0 R (classParma__Polyhedra__Library_1_1BD__Shape_668cbd7cea86f47c4e2b303468083712) 2346 0 R (classParma__Polyhedra__Library_1_1BD__Shape_6a3dd351c33d66250d2b4ac639768f07) 2241 0 R (classParma__Polyhedra__Library_1_1BD__Shape_75188bcee0bfc88a4c8571acc04a1826) 2244 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_620d5cdb01b8b20848ca01f4e4c05b4f) (classParma__Polyhedra__Library_1_1BD__Shape_794dad01f1995c73b887effa026ac32e)]
->> endobj
-12285 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_79a586ca093d218e5603380ac0475717) 2235 0 R (classParma__Polyhedra__Library_1_1BD__Shape_79acafbe4f67eb7e2710287bcd60db96) 2414 0 R (classParma__Polyhedra__Library_1_1BD__Shape_8101d965bc32e4ab1df6aa445730769b) 2173 0 R (classParma__Polyhedra__Library_1_1BD__Shape_82b35fc075e1e9542d4cc5cff2e236f8) 2118 0 R (classParma__Polyhedra__Library_1_1BD__Shape_84a9c57aa31433a277d9be6b0077065a) 2352 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_79a586ca093d218e5603380ac0475717) (classParma__Polyhedra__Library_1_1BD__Shape_86dd59c40a3c9867c2979ff24ba342c2)]
->> endobj
-12286 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_8921d611a6be878bd8ad66a9af6f405e) 1246 0 R (classParma__Polyhedra__Library_1_1BD__Shape_894e92407922be006a76577cf47b8589) 2351 0 R (classParma__Polyhedra__Library_1_1BD__Shape_8a87935278cb7b1290301e96cb82fcb1) 2242 0 R (classParma__Polyhedra__Library_1_1BD__Shape_8c73e2c464d5e93dc55862d00d5478f8) 2285 0 R (classParma__Polyhedra__Library_1_1BD__Shape_8c89ddcd2fc4311af0e358477630d7d9) 2523 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_8921d611a6be878bd8ad66a9af6f405e) (classParma__Polyhedra__Library_1_1BD__Shape_8d6c186583503c4394603550b50edf59)]
->> endobj
-12287 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_8e13e7d3536de2745bc9e58a25b75b77) 2344 0 R (classParma__Polyhedra__Library_1_1BD__Shape_8ede75fbd470fa30f11d4c02672883f5) 2342 0 R (classParma__Polyhedra__Library_1_1BD__Shape_8f0bdfca2a6993bfa08358319d589ab6) 2232 0 R (classParma__Polyhedra__Library_1_1BD__Shape_93728c0f0afcd949c391940be93455a8) 2347 0 R (classParma__Polyhedra__Library_1_1BD__Shape_93c1c491c0035f6c38b9ee036184aa7e) 2119 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_8e13e7d3536de2745bc9e58a25b75b77) (classParma__Polyhedra__Library_1_1BD__Shape_9507085c5b0efd13c80f08a22b0f5529)]
->> endobj
-12288 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_988ff507806fa8126649f463ef6a1f31) 2413 0 R (classParma__Polyhedra__Library_1_1BD__Shape_9bf45a32e428970068f654258dd7fb0c) 2171 0 R (classParma__Polyhedra__Library_1_1BD__Shape_9c0703b2311336754e28a7f739b7e685) 2472 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a07f93a685253eb04edab43b5ebd27b2) 2184 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a78a6abbbb3c425992ca644f732e69e8) 2172 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_988ff507806fa8126649f463ef6a1f31) (classParma__Polyhedra__Library_1_1BD__Shape_a7b3a5c12ea008b78eed88a621c1fab1)]
->> endobj
-12289 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a85819690f928a46e3f437bfe629e976) 2294 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a8e2f5b70168ac89a3f47639e7d9a4f9) 1249 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ab3964a5c29992e6476852c9d246fe6f) 2125 0 R (classParma__Polyhedra__Library_1_1BD__Shape_b054f67fb31ea4e860dd7c24c0b56676) 2476 0 R (classParma__Polyhedra__Library_1_1BD__Shape_b0a670aeef72d808d620bbc33a5e8cd7) 2474 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a85819690f928a46e3f437bfe629e976) (classParma__Polyhedra__Library_1_1BD__Shape_b464aec35ab7fb9fe0a8a50e05ad6f99)]
->> endobj
-12290 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_bb521f4ff8e2e40318bd06b0ff4d7617) 2479 0 R (classParma__Polyhedra__Library_1_1BD__Shape_bee6d42dd6f94979bcc7fb3d51102864) 2170 0 R (classParma__Polyhedra__Library_1_1BD__Shape_c20541d40c7629b278584406ce554eaf) 1195 0 R (classParma__Polyhedra__Library_1_1BD__Shape_c65231748a66ac5c074502cc8e652e10) 2477 0 R (classParma__Polyhedra__Library_1_1BD__Shape_c7f89b09f6755cdcd97daa3a92522b00) 2178 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_bb521f4ff8e2e40318bd06b0ff4d7617) (classParma__Polyhedra__Library_1_1BD__Shape_c91aac77237c2405df039c4fcfa08ab0)]
->> endobj
-12291 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_caa538c9c00b2f69301365d916bb49e8) 2233 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ccbd8986577794cea90edef63e859ab1) 2471 0 R (classParma__Polyhedra__Library_1_1BD__Shape_cda762f8c081fed2862260211618fce0) 2415 0 R (classParma__Polyhedra__Library_1_1BD__Shape_cdc537f0aa5117fe3749d3c50b7dc4fd) 2528 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ce010a880cb8574335f1be294907de89) 2343 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_caa538c9c00b2f69301365d916bb49e8) (classParma__Polyhedra__Library_1_1BD__Shape_cf4dc2de16f4a54ca03daa6ac1d31ce2)]
->> endobj
-12292 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_cfed8bc19e046453778c9d99d84df283) 2113 0 R (classParma__Polyhedra__Library_1_1BD__Shape_d09a9ccc89ace499a888b6b1a1f4ce44) 2174 0 R (classParma__Polyhedra__Library_1_1BD__Shape_d0a9267e420144cacfb867076d00a803) 2533 0 R (classParma__Polyhedra__Library_1_1BD__Shape_d369744c43a49ebac904bc3e17de0478) 2288 0 R (classParma__Polyhedra__Library_1_1BD__Shape_d80989353ea3738abdb6b605d27cc8fa) 2410 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_cfed8bc19e046453778c9d99d84df283) (classParma__Polyhedra__Library_1_1BD__Shape_dbf2609849c95cfb7277df1edc69534f)]
->> endobj
-12293 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_df3cfc56df68bc8063e6e9eb3d0ad3f1) 2422 0 R (classParma__Polyhedra__Library_1_1BD__Shape_df78023ac662762ffc808902b970597b) 2186 0 R (classParma__Polyhedra__Library_1_1BD__Shape_e0a1b4b4a344cad01c58e8e006a7ff16) 2124 0 R (classParma__Polyhedra__Library_1_1BD__Shape_e0ba85e8cab7e4e95ec001bde5bdd99d) 2411 0 R (classParma__Polyhedra__Library_1_1BD__Shape_e5c66812ab981ee2d1ab96ce218a7782) 2532 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_df3cfc56df68bc8063e6e9eb3d0ad3f1) (classParma__Polyhedra__Library_1_1BD__Shape_e61fdcc22d1e0fe43b94194f2eadaa1a)]
->> endobj
-12294 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_e68d61763922cee018cbba3834b2085c) 2467 0 R (classParma__Polyhedra__Library_1_1BD__Shape_e748c3f5082b158453fbb3ccf57c8f70) 2468 0 R (classParma__Polyhedra__Library_1_1BD__Shape_eda87d46bc3b54b420a475934e0e1cb6) 2421 0 R (classParma__Polyhedra__Library_1_1BD__Shape_edabe8ecd0866b972e97709e17f94681) 2116 0 R (classParma__Polyhedra__Library_1_1BD__Shape_f4b0f891a6911d7784216f537fa3e473) 2529 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_e68d61763922cee018cbba3834b2085c) (classParma__Polyhedra__Library_1_1BD__Shape_f6351727d099ad178db8b8e742507f4c)]
->> endobj
-12295 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_f8cd5fb701a14bc509872aeb3617b0b4) 2475 0 R (classParma__Polyhedra__Library_1_1BD__Shape_fa8a10ff4b09f8a87e3c558a39f5888e) 2473 0 R (classParma__Polyhedra__Library_1_1BD__Shape_faa5d6b3c1b3b83161b619c28c5f9936) 2183 0 R (classParma__Polyhedra__Library_1_1BD__Shape_fad498a5802a7928442fd0d4b8c6183f) 2179 0 R (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) 906 0 R (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_35ea0c10995c8 [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_f8cd5fb701a14bc509872aeb3617b0b4) (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_35ea0c10995c89f8a11a2e8bb5dc7f17)]
->> endobj
-12296 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BHRZ03__Certificate_5ebec8f5ff32009c4cf98dead90f4a3c) 2840 0 R (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_67b4e0eba7692bced073431cd3cc22ae) 2839 0 R (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_6ab41afc79135511037718442fcad4d4) 2843 0 R (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_97b2101d371edae52746a53cf34e4b67) 2842 0 R (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_f2ec3c62388f9aef1414a527e82cd1a7) 284 [...]
-/Limits [(classParma__Polyhedra__Library_1_1BHRZ03__Certificate_5ebec8f5ff32009c4cf98dead90f4a3c) (classParma__Polyhedra__Library_1_1Box)]
->> endobj
-12297 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_025c54a0d06e882346b74c0624ee6e71) 3287 0 R (classParma__Polyhedra__Library_1_1Box_04732c1c89db2f6d76b3b9479ec2fb99) 2986 0 R (classParma__Polyhedra__Library_1_1Box_055f3030915a1b7de0cc50761d9a3245) 3041 0 R (classParma__Polyhedra__Library_1_1Box_06c2ce3f0789aba0294da43628b50226) 3173 0 R (classParma__Polyhedra__Library_1_1Box_070e05c80af78d7c91bee958b9848080) 3233 0 R (classParma__Polyhedra__Library_1_1Box_0cb0abcc152d2d7c95a116efd3ea989a) 3 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_025c54a0d06e882346b74c0624ee6e71) (classParma__Polyhedra__Library_1_1Box_0cb0abcc152d2d7c95a116efd3ea989a)]
->> endobj
-12298 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_1039be5680ea8eceb903367e1e7aa13f) 3051 0 R (classParma__Polyhedra__Library_1_1Box_161c87c94b78fd1111365e185d0a3ae7) 3171 0 R (classParma__Polyhedra__Library_1_1Box_17182f3f0d9242d5821ba59b2773ae55) 3176 0 R (classParma__Polyhedra__Library_1_1Box_1915597423b1aa0dbed55312b2308efd) 3288 0 R (classParma__Polyhedra__Library_1_1Box_1d20ad17015746b2d9e0290631fc175b) 3283 0 R (classParma__Polyhedra__Library_1_1Box_1d8eb71bd67ae50436968e7323bbeb7e) 2 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_1039be5680ea8eceb903367e1e7aa13f) (classParma__Polyhedra__Library_1_1Box_1d8eb71bd67ae50436968e7323bbeb7e)]
->> endobj
-12299 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_22f9ceb879f1c8d892f60fb3d9577d81) 3106 0 R (classParma__Polyhedra__Library_1_1Box_286412c3f05e82abdf69c5e5562ff949) 2979 0 R (classParma__Polyhedra__Library_1_1Box_2d20e2dc8d4d0fbbdf87bd01a51dc01e) 3291 0 R (classParma__Polyhedra__Library_1_1Box_2ebf93b52454102cd99eaa211ad6ff71) 3055 0 R (classParma__Polyhedra__Library_1_1Box_2f516cd923f94296daf57c8ace328af9) 2992 0 R (classParma__Polyhedra__Library_1_1Box_2f964d43c2798bde1924e82d88971ea2) 3 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_22f9ceb879f1c8d892f60fb3d9577d81) (classParma__Polyhedra__Library_1_1Box_2f964d43c2798bde1924e82d88971ea2)]
->> endobj
-12300 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_319084c6ac93db482a8742a58e2e01f3) 2922 0 R (classParma__Polyhedra__Library_1_1Box_339a341a2f7d60de83e4feb3e8986558) 2983 0 R (classParma__Polyhedra__Library_1_1Box_36e39f75a5b973533a044d606444db4f) 3046 0 R (classParma__Polyhedra__Library_1_1Box_3c8e578089e8420dc286b27411fde2fd) 3045 0 R (classParma__Polyhedra__Library_1_1Box_3d107d8f8a78a3925031545c8e1d1a73) 3180 0 R (classParma__Polyhedra__Library_1_1Box_3daaa36a6bf749e0b4d66ce57878e2d0) 3 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_319084c6ac93db482a8742a58e2e01f3) (classParma__Polyhedra__Library_1_1Box_3daaa36a6bf749e0b4d66ce57878e2d0)]
->> endobj
-12301 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_3f2210364b954a8d532905d09bcb7149) 2933 0 R (classParma__Polyhedra__Library_1_1Box_40ab06947d065a171792da1ce6ed2505) 3049 0 R (classParma__Polyhedra__Library_1_1Box_438eaa92ba7d9f7d8ec085fe9b00ec0b) 3292 0 R (classParma__Polyhedra__Library_1_1Box_4aa52c6b939cf0076740afb33dd454e5) 3232 0 R (classParma__Polyhedra__Library_1_1Box_4b050985a103d89eaa5627c16f4f4257) 3110 0 R (classParma__Polyhedra__Library_1_1Box_4b5e1306956d46f1ee477428b451b44b) 3 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_3f2210364b954a8d532905d09bcb7149) (classParma__Polyhedra__Library_1_1Box_4b5e1306956d46f1ee477428b451b44b)]
->> endobj
-12302 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_4e6787c98290a49ce80b90c008aac5a8) 3225 0 R (classParma__Polyhedra__Library_1_1Box_5659d55fb93c1fe31b82a674e2630c13) 3282 0 R (classParma__Polyhedra__Library_1_1Box_573ac186b0da77408bcb80531ca0090c) 3043 0 R (classParma__Polyhedra__Library_1_1Box_597f9740fbc8534391d2c8cb6381660c) 3236 0 R (classParma__Polyhedra__Library_1_1Box_5b6323dfa423ea57b8d845237d9b576d) 3286 0 R (classParma__Polyhedra__Library_1_1Box_5c02cdac1cee4eda75e568ef9f550da9) 2 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_4e6787c98290a49ce80b90c008aac5a8) (classParma__Polyhedra__Library_1_1Box_5c02cdac1cee4eda75e568ef9f550da9)]
->> endobj
-12303 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_5f1ce9b2af5f6ba550cd9080ff83077c) 2923 0 R (classParma__Polyhedra__Library_1_1Box_6592baa6045a08fe1eb0ba33e8ed2942) 3290 0 R (classParma__Polyhedra__Library_1_1Box_685232ed211cce61f5d27727d979df94) 3107 0 R (classParma__Polyhedra__Library_1_1Box_6919ec5aef8459ad9c65bc36e8100d58) 3222 0 R (classParma__Polyhedra__Library_1_1Box_6d2f7819b7359865679b24e683231303) 3104 0 R (classParma__Polyhedra__Library_1_1Box_6d5097ef9a821f98cb97571eb52a49aa) 3 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_5f1ce9b2af5f6ba550cd9080ff83077c) (classParma__Polyhedra__Library_1_1Box_6d5097ef9a821f98cb97571eb52a49aa)]
->> endobj
-12304 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_6df8193213c66dcf70814c097d7b2fcb) 3227 0 R (classParma__Polyhedra__Library_1_1Box_70638e55ff0529f6f481db703645be05) 2984 0 R (classParma__Polyhedra__Library_1_1Box_736577ec65f40b0637f13486e64f051a) 3102 0 R (classParma__Polyhedra__Library_1_1Box_7ded037fa4c26b2e12565d3aa2c6b70b) 2935 0 R (classParma__Polyhedra__Library_1_1Box_7e1a00f36570e89ee95817d898587743) 2980 0 R (classParma__Polyhedra__Library_1_1Box_7e3ffa1dd9894e6418bd153a4cd2de12) 2 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_6df8193213c66dcf70814c097d7b2fcb) (classParma__Polyhedra__Library_1_1Box_7e3ffa1dd9894e6418bd153a4cd2de12)]
->> endobj
-12305 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_7fff251a8cd2ecd8b928175af94d7069) 2934 0 R (classParma__Polyhedra__Library_1_1Box_818b1050a44c6fb4d635a6fc088eeeca) 2926 0 R (classParma__Polyhedra__Library_1_1Box_84a324ad469ad76c235789823cf4e0f4) 3053 0 R (classParma__Polyhedra__Library_1_1Box_84d340c4e2a8a35e81d0fb91ff2c466e) 2927 0 R (classParma__Polyhedra__Library_1_1Box_852ebcee0de832c12a87ad15d37570a2) 3293 0 R (classParma__Polyhedra__Library_1_1Box_8653fd3779f7a28930872b1f885f25ee) 3 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_7fff251a8cd2ecd8b928175af94d7069) (classParma__Polyhedra__Library_1_1Box_8653fd3779f7a28930872b1f885f25ee)]
->> endobj
-12306 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_87e906459b095e23114ee8f0025086cb) 3109 0 R (classParma__Polyhedra__Library_1_1Box_8e45baf04a16a09cfa25bac864515832) 3044 0 R (classParma__Polyhedra__Library_1_1Box_8ed22a325737be112cad6864b2a7ef59) 3234 0 R (classParma__Polyhedra__Library_1_1Box_901382835b88fb9969d88eea101ae7cf) 2982 0 R (classParma__Polyhedra__Library_1_1Box_90cc17398be6745eb507339397381d7a) 3050 0 R (classParma__Polyhedra__Library_1_1Box_91546e88fe3474f55bc6f0eceffa7251) 2 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_87e906459b095e23114ee8f0025086cb) (classParma__Polyhedra__Library_1_1Box_91546e88fe3474f55bc6f0eceffa7251)]
->> endobj
-12307 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_929caef76be87459ac964105f4c75cf4) 3235 0 R (classParma__Polyhedra__Library_1_1Box_92ef9a99d160f55e3fc44a4bd1ae78f2) 3101 0 R (classParma__Polyhedra__Library_1_1Box_944e2c41213d3ea40e74930a90de97bf) 3105 0 R (classParma__Polyhedra__Library_1_1Box_94dd083371c61a3f54521caed75e2820) 3054 0 R (classParma__Polyhedra__Library_1_1Box_96038eb89649898faa9a4355206b72d3) 3170 0 R (classParma__Polyhedra__Library_1_1Box_9de293fc5ed59d0122ccd78839b1a668) 2 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_929caef76be87459ac964105f4c75cf4) (classParma__Polyhedra__Library_1_1Box_9de293fc5ed59d0122ccd78839b1a668)]
->> endobj
-12308 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_9e6044d3d1b8cd66b7e150763a0cce2a) 2878 0 R (classParma__Polyhedra__Library_1_1Box_9ffb692c7f3bd8af9b81135e38b38dd7) 3052 0 R (classParma__Polyhedra__Library_1_1Box_a18b052380a4cbb9db236d690f932eda) 3108 0 R (classParma__Polyhedra__Library_1_1Box_a366a38561684a64bc0a042702534a07) 3099 0 R (classParma__Polyhedra__Library_1_1Box_a7961325727c376428ef2f9431e0c204) 2881 0 R (classParma__Polyhedra__Library_1_1Box_ac61a0c0f3a687ef1d79d9014238554c) 2 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_9e6044d3d1b8cd66b7e150763a0cce2a) (classParma__Polyhedra__Library_1_1Box_ac61a0c0f3a687ef1d79d9014238554c)]
->> endobj
-12309 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_ace7b1f85601837554656295b9c90dce) 3177 0 R (classParma__Polyhedra__Library_1_1Box_acf7b2a7e0bb5007ce8cd9506d06137d) 3098 0 R (classParma__Polyhedra__Library_1_1Box_b4b097033191e38bbb59add2ebba3e70) 2930 0 R (classParma__Polyhedra__Library_1_1Box_b76731fc33f60619d339fd146af90e7f) 2920 0 R (classParma__Polyhedra__Library_1_1Box_b85f80c281c840eedb4f228757b8515a) 3100 0 R (classParma__Polyhedra__Library_1_1Box_ba476c1ff2b0f1cd58f6e76b981cafac) 3 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_ace7b1f85601837554656295b9c90dce) (classParma__Polyhedra__Library_1_1Box_ba476c1ff2b0f1cd58f6e76b981cafac)]
->> endobj
-12310 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_bb6e0e38bda55fc988819da21f2689eb) 3048 0 R (classParma__Polyhedra__Library_1_1Box_bd266a7d827fb77e09de63dfea2f9d58) 3175 0 R (classParma__Polyhedra__Library_1_1Box_bd6b88d6fd6e0259faa544106b08aeaa) 3040 0 R (classParma__Polyhedra__Library_1_1Box_beb3e0b3cafb96de2ab53e985c574bb7) 2929 0 R (classParma__Polyhedra__Library_1_1Box_c5eb33b72a86a33d7ae4685d376b50a6) 3097 0 R (classParma__Polyhedra__Library_1_1Box_c72c231542712976d1f9223d0537f5d5) 2 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_bb6e0e38bda55fc988819da21f2689eb) (classParma__Polyhedra__Library_1_1Box_c72c231542712976d1f9223d0537f5d5)]
->> endobj
-12311 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_c86971c152fbb8d2d486d7396ad6b142) 2981 0 R (classParma__Polyhedra__Library_1_1Box_c8a2f81fc1c5b99600d406300792119f) 2977 0 R (classParma__Polyhedra__Library_1_1Box_cbf26ad2a67dbfbd24eb9c89448a793b) 2875 0 R (classParma__Polyhedra__Library_1_1Box_cddbfcdd0e7dd70c2258493ef67d0911) 2931 0 R (classParma__Polyhedra__Library_1_1Box_ce7b6bb6c1aabdf57f1643e88a834aac) 3047 0 R (classParma__Polyhedra__Library_1_1Box_d02ce2da26b1d9dcd0d45042b9f5c3e5) 2 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_c86971c152fbb8d2d486d7396ad6b142) (classParma__Polyhedra__Library_1_1Box_d02ce2da26b1d9dcd0d45042b9f5c3e5)]
->> endobj
-12312 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_d4d12fdbf775bc0ad0bb248bbaa19370) 3238 0 R (classParma__Polyhedra__Library_1_1Box_d9dba7a094763a47be44e246c1120fa7) 3113 0 R (classParma__Polyhedra__Library_1_1Box_db355a57fc1949b2ef9627d45be5f9bc) 2989 0 R (classParma__Polyhedra__Library_1_1Box_dcd50fc4fa1b8e5533d7af0513d1a833) 2925 0 R (classParma__Polyhedra__Library_1_1Box_ddca3baab772ce17fb5133b0c4e60c33) 2987 0 R (classParma__Polyhedra__Library_1_1Box_df00a3a6522cd0b27a52ba3e2ab5c8ab) 2 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_d4d12fdbf775bc0ad0bb248bbaa19370) (classParma__Polyhedra__Library_1_1Box_df00a3a6522cd0b27a52ba3e2ab5c8ab)]
->> endobj
-12313 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_e1186868176c9fb31d7293bc2fe55e52) 3230 0 R (classParma__Polyhedra__Library_1_1Box_e1509738a054a1ffeb070a35c41db257) 3174 0 R (classParma__Polyhedra__Library_1_1Box_e627d4ce07125a5bf6dbe4c4464bfacf) 2924 0 R (classParma__Polyhedra__Library_1_1Box_e70fafb10013762e436a434564d7e931) 3112 0 R (classParma__Polyhedra__Library_1_1Box_e862a635387c2458da51889c20465f0c) 3103 0 R (classParma__Polyhedra__Library_1_1Box_e8b96392adb007f1c59758cba8cbc886) 3 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_e1186868176c9fb31d7293bc2fe55e52) (classParma__Polyhedra__Library_1_1Box_e8b96392adb007f1c59758cba8cbc886)]
->> endobj
-12314 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_f5edabe0fbfa14196208041ded356c65) 3229 0 R (classParma__Polyhedra__Library_1_1Box_f623edfed6d4816ac5573f42a6a1e801) 2990 0 R (classParma__Polyhedra__Library_1_1Box_fb683aefdda7a1c5dcf92ee2a03daf81) 3172 0 R (classParma__Polyhedra__Library_1_1Box_fb9fe84fabd3625d37c47e517034d88b) 3228 0 R (classParma__Polyhedra__Library_1_1Box_fd20bc6142cb1206b51b0b449ebf4273) 3179 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron) 476 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Box_f5edabe0fbfa14196208041ded356c65) (classParma__Polyhedra__Library_1_1C__Polyhedron)]
->> endobj
-12315 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1C__Polyhedron_09726be54fe2a591787de59eeffdd2ea) 3596 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_2b220dabc613a89a062968101429e58c) 3554 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_33d58476db85f48e4ad680c69bca524f) 3553 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_4b841053fdf5718c17a018ff650b550a) 3552 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_59d06e9b429faef7a632d58e4a0b12bd) 3594 0 R (classParma__Polyhedra__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1C__Polyhedron_09726be54fe2a591787de59eeffdd2ea) (classParma__Polyhedra__Library_1_1C__Polyhedron_5eb7f86790ada6549123a0225d68a4de)]
->> endobj
-12316 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1C__Polyhedron_6424da8931d774f6a2e403c1e2f0d09a) 3597 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_68e25304a250a8c739927adfb90043d1) 3600 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_6b286c9e001bf126a0ab85aac675786d) 3602 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_6f581bf46ab0488f444977453ba2ea2d) 3595 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_8a6c3f01edb04382620066f17b63b20c) 3556 0 R (classParma__Polyhedra__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1C__Polyhedron_6424da8931d774f6a2e403c1e2f0d09a) (classParma__Polyhedra__Library_1_1C__Polyhedron_9720487deabf813a31afd4e9cfe695aa)]
->> endobj
-12317 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1C__Polyhedron_c3126925bcd3349b150771d52c19639d) 3558 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_c86d25d06285c9a2e890770fed084574) 3603 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_c98ed1378829f72aee73c40dff16f269) 3555 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_e46f7a91b9fac1a62ef875ec5c72aab6) 3557 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_e9a2b78be6811d666fb9d145078d796d) 3601 0 R (classParma__Polyhedra__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1C__Polyhedron_c3126925bcd3349b150771d52c19639d) (classParma__Polyhedra__Library_1_1C__Polyhedron_faae25a26dbecf9341c7fb2c2575f81f)]
->> endobj
-12318 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number) 1422 0 R (classParma__Polyhedra__Library_1_1Checked__Number_00f887bfb5c61faba29a67def563c786) 3787 0 R (classParma__Polyhedra__Library_1_1Checked__Number_02949da26a3761489d2fb98018010990) 3796 0 R (classParma__Polyhedra__Library_1_1Checked__Number_06c0a4ba25cbc3d59797bf1c73c49497) 3846 0 R (classParma__Polyhedra__Library_1_1Checked__Number_0803532e7523865597c394e1371d2b16) 3847 0 R (classParma__Polyhedra__Library_1_1Checked__Num [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number) (classParma__Polyhedra__Library_1_1Checked__Number_08ceb442794b5f60c1ad09ce744371e1)]
->> endobj
-12319 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_0acb1530838a14041c43002dd8ee3541) 3902 0 R (classParma__Polyhedra__Library_1_1Checked__Number_164f8732d5fe6b526a34e168145a95ad) 3746 0 R (classParma__Polyhedra__Library_1_1Checked__Number_16b12775a696c6e304cf9ee7ffe2213e) 4054 0 R (classParma__Polyhedra__Library_1_1Checked__Number_1a79ab4c49d7ae4406b56dc2b3d94463) 3842 0 R (classParma__Polyhedra__Library_1_1Checked__Number_1bdc1023fb4478270594d0e965eb90c9) 3704 0 R (classParma__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_0acb1530838a14041c43002dd8ee3541) (classParma__Polyhedra__Library_1_1Checked__Number_1d723d4d200b4a6a694b141c7b6f408e)]
->> endobj
-12320 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_2024878c4c26cb836d454e2e93f40c8f) 3700 0 R (classParma__Polyhedra__Library_1_1Checked__Number_24e90bb8bb38d248aca79c76a1717d9d) 3740 0 R (classParma__Polyhedra__Library_1_1Checked__Number_268aa30d717cdc7d07e60cf7c56712e6) 3788 0 R (classParma__Polyhedra__Library_1_1Checked__Number_2857ee1039a41cfab001c0ba21c69ac3) 3795 0 R (classParma__Polyhedra__Library_1_1Checked__Number_298300b8f88eb674c317b99ad09a474b) 3699 0 R (classParma__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_2024878c4c26cb836d454e2e93f40c8f) (classParma__Polyhedra__Library_1_1Checked__Number_2b39d89b5938161bd8922b7c1f28f637)]
->> endobj
-12321 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_2ee8a6019070192609b3ea6e5dfa3018) 4057 0 R (classParma__Polyhedra__Library_1_1Checked__Number_2f03dea4f9d5f0e15e18785cf3dd58a3) 3910 0 R (classParma__Polyhedra__Library_1_1Checked__Number_2f9c525f46f4ff5707b505a88c82aee0) 3952 0 R (classParma__Polyhedra__Library_1_1Checked__Number_307453961ae9779ce9e1e3ebcc94496d) 3959 0 R (classParma__Polyhedra__Library_1_1Checked__Number_33a5462cd5398fdbd61989d17aeeaa72) 3649 0 R (classParma__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_2ee8a6019070192609b3ea6e5dfa3018) (classParma__Polyhedra__Library_1_1Checked__Number_356bd3ccfaa76c0ef4452a34ce767897)]
->> endobj
-12322 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_3cb9b031ec4e6fd7e53e53da5b0f04a1) 3844 0 R (classParma__Polyhedra__Library_1_1Checked__Number_3de2c410fab852f07f89df5be3d4c118) 3735 0 R (classParma__Polyhedra__Library_1_1Checked__Number_3f5e732694ad7d879ac7eaef0668073a) 3956 0 R (classParma__Polyhedra__Library_1_1Checked__Number_404beea19c04f4e7bbcfe81aae0d6a7d) 3711 0 R (classParma__Polyhedra__Library_1_1Checked__Number_461dbfcb8f68886137794e4a408fc55e) 3705 0 R (classParma__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_3cb9b031ec4e6fd7e53e53da5b0f04a1) (classParma__Polyhedra__Library_1_1Checked__Number_4bed59d493c4fd91537602efb267c938)]
->> endobj
-12323 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_4cca5e272cecc038189aac8b2fc8ace2) 3900 0 R (classParma__Polyhedra__Library_1_1Checked__Number_4ced0eee2a4a2c50779c2d01ef022500) 4059 0 R (classParma__Polyhedra__Library_1_1Checked__Number_4f3206ab2d3c47e2014e5b306167c7c0) 3701 0 R (classParma__Polyhedra__Library_1_1Checked__Number_55e9dfdf5da9a55b7523bda6b7f56c78) 3741 0 R (classParma__Polyhedra__Library_1_1Checked__Number_59638854527a5bebee3676750668c63a) 3794 0 R (classParma__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_4cca5e272cecc038189aac8b2fc8ace2) (classParma__Polyhedra__Library_1_1Checked__Number_6133c234bff425e6feac34cef06b74b2)]
->> endobj
-12324 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_627ac77a4752fde3c10792ee9f1673a4) 3789 0 R (classParma__Polyhedra__Library_1_1Checked__Number_65b1cc4ac0c0c8a2efcbf3d36d4ac0ac) 3783 0 R (classParma__Polyhedra__Library_1_1Checked__Number_6957dba3dbf92459a364893d7ecfb897) 3707 0 R (classParma__Polyhedra__Library_1_1Checked__Number_6a2d561ac8088ed64a0bb51d8fffcd9b) 3839 0 R (classParma__Polyhedra__Library_1_1Checked__Number_6afe848ad84ff68d48142caf0599760a) 3784 0 R (classParma__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_627ac77a4752fde3c10792ee9f1673a4) (classParma__Polyhedra__Library_1_1Checked__Number_72ef8379745ed9575b39216ba1e51d18)]
->> endobj
-12325 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_74b0a8cfdec7831e7a3e296b3e3751dd) 3706 0 R (classParma__Polyhedra__Library_1_1Checked__Number_755f1ffc7dbac4ff01984c02774c9bc6) 3904 0 R (classParma__Polyhedra__Library_1_1Checked__Number_761744f24a8e2faed19912950cf13baf) 3835 0 R (classParma__Polyhedra__Library_1_1Checked__Number_76b5e4c5b9628c14a7d227517b8fb349) 4018 0 R (classParma__Polyhedra__Library_1_1Checked__Number_77a2c5c27e9c0838fea6e6447b20c320) 3710 0 R (classParma__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_74b0a8cfdec7831e7a3e296b3e3751dd) (classParma__Polyhedra__Library_1_1Checked__Number_798df1392d067294fc936bcfa19745c4)]
->> endobj
-12326 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_79a5a323f582c4260790552d3be140fd) 4016 0 R (classParma__Polyhedra__Library_1_1Checked__Number_79f64d099a652834da74cc8fd68f2452) 3745 0 R (classParma__Polyhedra__Library_1_1Checked__Number_7ce6dfd81e04c3eb8d196bf13a96ebe6) 3836 0 R (classParma__Polyhedra__Library_1_1Checked__Number_7e90d52413515d81ad9b68fb1740d869) 3841 0 R (classParma__Polyhedra__Library_1_1Checked__Number_80993a2a72759ec030dd3cde21c8a00d) 3791 0 R (classParma__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_79a5a323f582c4260790552d3be140fd) (classParma__Polyhedra__Library_1_1Checked__Number_80f6de87ec43c33fac3832b14a507c0b)]
->> endobj
-12327 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_84ea81a9b4eed51ac13029dbccf67662) 3903 0 R (classParma__Polyhedra__Library_1_1Checked__Number_8772f767006f16e376d8eca9b1578b73) 3793 0 R (classParma__Polyhedra__Library_1_1Checked__Number_8abdf2e292960e1fb216ce3c2c0816ff) 3742 0 R (classParma__Polyhedra__Library_1_1Checked__Number_91459c49e4f7d7fc2dea0347e0489ce5) 3785 0 R (classParma__Polyhedra__Library_1_1Checked__Number_956de4112c520bb87767ce894b4d512d) 3786 0 R (classParma__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_84ea81a9b4eed51ac13029dbccf67662) (classParma__Polyhedra__Library_1_1Checked__Number_95ac9759a14fe23bf8d02a621e4e9e5c)]
->> endobj
-12328 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_98dae78cdd16f7127a4b3e18c3976562) 3747 0 R (classParma__Polyhedra__Library_1_1Checked__Number_9a28ec8161898b61530de9bbb4a3251d) 2083 0 R (classParma__Polyhedra__Library_1_1Checked__Number_9b45abd63e1255df8341775c8f42b842) 4013 0 R (classParma__Polyhedra__Library_1_1Checked__Number_9c4298d04019ab7b5233ddceb430be03) 3834 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a355ae6b2a2a704e88060541fbaa6562) 4055 0 R (classParma__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_98dae78cdd16f7127a4b3e18c3976562) (classParma__Polyhedra__Library_1_1Checked__Number_a3de5a2fe7f06d0aa3e4972be2023933)]
->> endobj
-12329 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a7885d402d5653321f316029ca0af517) 4061 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a831d9698f64ff610fa1b3341025603a) 3960 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a8f66682c527ff5a5a2496de0e3fb2ec) 3951 0 R (classParma__Polyhedra__Library_1_1Checked__Number_b19be1f26efb21370e8460b325a7f57c) 3750 0 R (classParma__Polyhedra__Library_1_1Checked__Number_b1b19ff2b88ffca75ac27208cdd877a2) 3954 0 R (classParma__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a7885d402d5653321f316029ca0af517) (classParma__Polyhedra__Library_1_1Checked__Number_b45faf2ccad8057c7b27e0c999eb063b)]
->> endobj
-12330 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_b4d4a0ebee3fcc93490aa029028a810b) 3703 0 R (classParma__Polyhedra__Library_1_1Checked__Number_b65697a5fab14ca76c391a3aa523e3f6) 3898 0 R (classParma__Polyhedra__Library_1_1Checked__Number_b733c7c83da19667a83c2a3abafa5d05) 4015 0 R (classParma__Polyhedra__Library_1_1Checked__Number_b74908b692bc6f8112f5d27b96141431) 3650 0 R (classParma__Polyhedra__Library_1_1Checked__Number_bb6ca6c02bde2f04d412129e4be9743e) 3909 0 R (classParma__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_b4d4a0ebee3fcc93490aa029028a810b) (classParma__Polyhedra__Library_1_1Checked__Number_be0aef8acc1101523cfbf50ebce7528e)]
->> endobj
-12331 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_bf60cc7fa60d33c4fe958126d55cbac2) 3709 0 R (classParma__Polyhedra__Library_1_1Checked__Number_c0ef828e81a5c7625db3abadcafc8438) 3695 0 R (classParma__Polyhedra__Library_1_1Checked__Number_c32024703f8ac04b6b68ff1761575d2d) 3958 0 R (classParma__Polyhedra__Library_1_1Checked__Number_c62afeb287031d74441101af60be319a) 3950 0 R (classParma__Polyhedra__Library_1_1Checked__Number_c95c1fbaee07d3a9cead4d07683f6168) 3837 0 R (classParma__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_bf60cc7fa60d33c4fe958126d55cbac2) (classParma__Polyhedra__Library_1_1Checked__Number_cca11ef67e39b711f96604b6bf806feb)]
->> endobj
-12332 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_cdce8391d61c3090aa51f9d0656524a2) 3906 0 R (classParma__Polyhedra__Library_1_1Checked__Number_d3d8562d66aeed544d8ef75b941e807c) 3957 0 R (classParma__Polyhedra__Library_1_1Checked__Number_d5c5cd5266cf95dcdc0f03d0108168b5) 4056 0 R (classParma__Polyhedra__Library_1_1Checked__Number_d5ff0dd1267079af85d9938bb4a975de) 4011 0 R (classParma__Polyhedra__Library_1_1Checked__Number_d6c64cb3cfad6b8d7fb952e3f85347aa) 3905 0 R (classParma__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_cdce8391d61c3090aa51f9d0656524a2) (classParma__Polyhedra__Library_1_1Checked__Number_da7d59af059bdfb2e485d341213e6d19)]
->> endobj
-12333 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_dda98cdf0bda436acac3193162fa53b0) 4017 0 R (classParma__Polyhedra__Library_1_1Checked__Number_de4a5582f82333f20fd6a8be13ff8d7f) 3845 0 R (classParma__Polyhedra__Library_1_1Checked__Number_dfb768d4ea63e2eb5d58aec03b999f17) 3907 0 R (classParma__Polyhedra__Library_1_1Checked__Number_e179c684a9ed7eafbbac1825d17f7daa) 3843 0 R (classParma__Polyhedra__Library_1_1Checked__Number_e3a660d2b2a34f69d2d0cb1cc77f6f69) 3736 0 R (classParma__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_dda98cdf0bda436acac3193162fa53b0) (classParma__Polyhedra__Library_1_1Checked__Number_e4bfe4a80fb074c50ec17657eee225e8)]
->> endobj
-12334 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_e6fa6e27a794dc71b88169df7f08fcac) 3911 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ed795d57d70d782ccf2a584cce183050) 3737 0 R (classParma__Polyhedra__Library_1_1Checked__Number_f0647cd431d30a9658d4bdc77e32d9e4) 3749 0 R (classParma__Polyhedra__Library_1_1Checked__Number_f1952cf5da3ecbadd8401b948e899a31) 4014 0 R (classParma__Polyhedra__Library_1_1Checked__Number_f2441164b4c23a8203f399f561c9a7c7) 3696 0 R (classParma__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_e6fa6e27a794dc71b88169df7f08fcac) (classParma__Polyhedra__Library_1_1Checked__Number_f47ee9cf59cfac8a346660698c61d113)]
->> endobj
-12335 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_f9af63978105e142642222864ce7c3be) 4058 0 R (classParma__Polyhedra__Library_1_1Checked__Number_f9d7eaecf113e25020c55ed0bf79eb03) 3743 0 R (classParma__Polyhedra__Library_1_1Checked__Number_f9daca45c3c1d0d1afd57ab47c6cacd4) 3748 0 R (classParma__Polyhedra__Library_1_1Checked__Number_fad3fbdebb1ba319083c56fa2ae679e6) 3744 0 R (classParma__Polyhedra__Library_1_1Checked__Number_fc3433d8ec297e2d1fbdf559d93f9080) 3840 0 R (classParma__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_f9af63978105e142642222864ce7c3be) (classParma__Polyhedra__Library_1_1Checked__Number_fcb46dd5c0701130f067f577f99ef27f)]
->> endobj
-12336 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_fcba1dd5e579752d6dcc40ef4d5799b8) 3694 0 R (classParma__Polyhedra__Library_1_1Checked__Number_fed617fd6598839b510b46a3857387d4) 3908 0 R (classParma__Polyhedra__Library_1_1Congruence) 1423 0 R (classParma__Polyhedra__Library_1_1Congruence_0ff04e47054c14b2edf29096ecc95ab7) 4199 0 R (classParma__Polyhedra__Library_1_1Congruence_146b211f83e22bd011d3de2e5975073b) 4202 0 R (classParma__Polyhedra__Library_1_1Congruence_29c63b939ed830a0 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_fcba1dd5e579752d6dcc40ef4d5799b8) (classParma__Polyhedra__Library_1_1Congruence_29c63b939ed830a0395170835e60beaf)]
->> endobj
-12337 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Congruence_29c6deef0eb3911adbb08d36a8f0b3f2) 4211 0 R (classParma__Polyhedra__Library_1_1Congruence_2c93e938cd478716c7c9e5e9988f7a98) 4163 0 R (classParma__Polyhedra__Library_1_1Congruence_2ca2446f563956eb2b92ddd17e5c0b2c) 4247 0 R (classParma__Polyhedra__Library_1_1Congruence_2cb39e7c88e9e724e7970d0e953f2c81) 4259 0 R (classParma__Polyhedra__Library_1_1Congruence_33e6005a1fe40cb202eb619912c25c3c) 4204 0 R (classParma__Polyhedra__Library_1_1Cong [...]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence_29c6deef0eb3911adbb08d36a8f0b3f2) (classParma__Polyhedra__Library_1_1Congruence_39b6f38fff55dd953ec509b3739dd17d)]
->> endobj
-12338 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Congruence_3a4c3af6146717b3302f467368eafe46) 4166 0 R (classParma__Polyhedra__Library_1_1Congruence_3c9879f0c9dcb81fe1bbf78828509ef6) 4165 0 R (classParma__Polyhedra__Library_1_1Congruence_43983a6ee447e480f8700915bccb4811) 4200 0 R (classParma__Polyhedra__Library_1_1Congruence_484373d269a31c21efae44a83f8be6f0) 4198 0 R (classParma__Polyhedra__Library_1_1Congruence_54cdd6074f90a5623c8ae7ddcfedc5c2) 4284 0 R (classParma__Polyhedra__Library_1_1Cong [...]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence_3a4c3af6146717b3302f467368eafe46) (classParma__Polyhedra__Library_1_1Congruence_57362a4d56c397575a6d043cdbcec0f9)]
->> endobj
-12339 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Congruence_584cb5084fe5479b0c373e3d17fe5ffd) 4164 0 R (classParma__Polyhedra__Library_1_1Congruence_5a207ecd92e9fd8f3b1937a5064746a9) 4206 0 R (classParma__Polyhedra__Library_1_1Congruence_5b3db7ba1765b3a04f8d320968f70447) 4252 0 R (classParma__Polyhedra__Library_1_1Congruence_6609e54e84d50cd074c2dd65f38b47da) 4212 0 R (classParma__Polyhedra__Library_1_1Congruence_6a24743a95176da13995bb6c17151c9b) 4255 0 R (classParma__Polyhedra__Library_1_1Cong [...]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence_584cb5084fe5479b0c373e3d17fe5ffd) (classParma__Polyhedra__Library_1_1Congruence_7415de7b412a5e297810ff35a97a2849)]
->> endobj
-12340 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Congruence_79c648d88214174287e3763b804f4aaf) 4167 0 R (classParma__Polyhedra__Library_1_1Congruence_7facb7a06ac72f1af2bc514c788f1a38) 4250 0 R (classParma__Polyhedra__Library_1_1Congruence_8aab82f7118966662582f88725ce4735) 4249 0 R (classParma__Polyhedra__Library_1_1Congruence_94b3624c208219e401569cd289049b38) 4203 0 R (classParma__Polyhedra__Library_1_1Congruence__System) 1424 0 R (classParma__Polyhedra__Library_1_1Congruence__System_044dbf5931 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence_79c648d88214174287e3763b804f4aaf) (classParma__Polyhedra__Library_1_1Congruence__System_044dbf593127c9e8cbbbe2a0d169c30c)]
->> endobj
-12341 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Congruence__System_067b4c27cf8643f8ded50ebda77da8aa) 4398 0 R (classParma__Polyhedra__Library_1_1Congruence__System_0a4f8e3f3469f021594ea9311c21aadd) 4397 0 R (classParma__Polyhedra__Library_1_1Congruence__System_0bf701759fc56f8fb215c273e53b46ae) 4389 0 R (classParma__Polyhedra__Library_1_1Congruence__System_11de7a0cc309058d6aee273d613c9432) 4439 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1685b5eb65ba36a9e715a8e3344dbcd8) 4390 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_067b4c27cf8643f8ded50ebda77da8aa) (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator)]
->> endobj
-12342 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_0ac88c873a13c4afa6f99d3d436e13a3) 4517 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_12f3d0ee3885355092a65262f24d46af) 4489 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_192ff11375b59075c9ea19a8c2b5511e) 4494 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_400c02f876d8f4e3f6aef2bfc5fb16cb) 4493 0 R (classParma__Polyhed [...]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_0ac88c873a13c4afa6f99d3d436e13a3) (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_97586e332fd16ccf6e7d642bb4bbf83e)]
->> endobj
-12343 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_dca809f9ebacacf70bc610d41bbaff47) 4491 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_e575efc6c01c4bf9968c7e27bb94951b) 4492 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_e7c03963759dfdb937135a7f99165361) 4488 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_f0ea51d59b5026db43b2edd4cee928ba) 4490 0 R (classParma__Polyhed [...]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_dca809f9ebacacf70bc610d41bbaff47) (classParma__Polyhedra__Library_1_1Congruence__System_2e45b62cb223f5a21ced82480712e64f)]
->> endobj
-12344 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Congruence__System_339fab488002bb5b341e1bb82edee103) 4444 0 R (classParma__Polyhedra__Library_1_1Congruence__System_37857f2dfb7b17609b671f9070be15ca) 4399 0 R (classParma__Polyhedra__Library_1_1Congruence__System_39867871dd0a4fbe2f3cef2695881345) 4351 0 R (classParma__Polyhedra__Library_1_1Congruence__System_3fe60e1a76b2a92143004e52ccfcb7c7) 4387 0 R (classParma__Polyhedra__Library_1_1Congruence__System_535895e2351f7618e9107a38d9285d73) 4352 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_339fab488002bb5b341e1bb82edee103) (classParma__Polyhedra__Library_1_1Congruence__System_548ae200545f7d25b875f190b5611368)]
->> endobj
-12345 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Congruence__System_562fa08178e809398402920e5e674ff8) 4392 0 R (classParma__Polyhedra__Library_1_1Congruence__System_5c85932f5fb67a78d1faf8165783d5d3) 4391 0 R (classParma__Polyhedra__Library_1_1Congruence__System_5cd2538767045bd89360588c37d2aedb) 4454 0 R (classParma__Polyhedra__Library_1_1Congruence__System_6b5016000dff8b0c774381316acc0a11) 4348 0 R (classParma__Polyhedra__Library_1_1Congruence__System_6e742d7ffa4f4b7037760cf3ebf62348) 4437 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_562fa08178e809398402920e5e674ff8) (classParma__Polyhedra__Library_1_1Congruence__System_77c72d8473dc3e9856d7ff6c05ce7b07)]
->> endobj
-12346 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Congruence__System_7f5a110ccdfd8efa5e0eac984f90d753) 4443 0 R (classParma__Polyhedra__Library_1_1Congruence__System_99161b46c175aa485608154dbcc866cb) 4388 0 R (classParma__Polyhedra__Library_1_1Congruence__System_9d7fe3b07d9e1d35c04fa2d81e32bf34) 4350 0 R (classParma__Polyhedra__Library_1_1Congruence__System_9e8a61b2b759dde8f65219688548ffaa) 4393 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a341843d5eadfc196441cad0af63ac9d) 4431 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_7f5a110ccdfd8efa5e0eac984f90d753) (classParma__Polyhedra__Library_1_1Congruence__System_a83361b2264ca8ed30599dca32447874)]
->> endobj
-12347 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Congruence__System_b30ab523e337d72baa4edc802452e532) 4346 0 R (classParma__Polyhedra__Library_1_1Congruence__System_cf4cf2f1d8c3e1d339b1eddc94139272) 4349 0 R (classParma__Polyhedra__Library_1_1Congruence__System_d05bc9046303661aa532423ac5a5c16d) 4395 0 R (classParma__Polyhedra__Library_1_1Congruence__System_dd39af06cea8afa45c772e94db8a1309) 4434 0 R (classParma__Polyhedra__Library_1_1Congruence__System_ddf5f330215fb1878018673eff609704) 4385 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_b30ab523e337d72baa4edc802452e532) (classParma__Polyhedra__Library_1_1Congruence__System_e4a4890ceb257496b788e0d31dbf6d7f)]
->> endobj
-12348 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Congruence__System_ea6d543c90be52299d6ffc57fc9ba5d1) 4396 0 R (classParma__Polyhedra__Library_1_1Congruence__System_ec5860620ae92988c1740dc393064fe7) 4433 0 R (classParma__Polyhedra__Library_1_1Congruence__System_f97f2d43a487ec81e040aec36bbc6ebe) 4438 0 R (classParma__Polyhedra__Library_1_1Congruence__System_fefca839fc7b4d2d166e7a1fe6196fd5) 4384 0 R (classParma__Polyhedra__Library_1_1Congruence_a03b119140132112557907b772102b33) 4208 0 R (classP [...]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_ea6d543c90be52299d6ffc57fc9ba5d1) (classParma__Polyhedra__Library_1_1Congruence_a948df90fc7880e7e52ceef297ee9bbf)]
->> endobj
-12349 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Congruence_af7dc46b2cfbd6650ac1d2035d331f15) 4261 0 R (classParma__Polyhedra__Library_1_1Congruence_b45e800217e1c61d8595e2ffc51a83ad) 4162 0 R (classParma__Polyhedra__Library_1_1Congruence_b917a480b6afe7e2750aa2862c6783cf) 4207 0 R (classParma__Polyhedra__Library_1_1Congruence_ba7dbedd485eab91821f129132a04723) 4161 0 R (classParma__Polyhedra__Library_1_1Congruence_c26379e5f82fd0223682b11b9e052ea5) 4210 0 R (classParma__Polyhedra__Library_1_1Cong [...]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence_af7dc46b2cfbd6650ac1d2035d331f15) (classParma__Polyhedra__Library_1_1Congruence_c53e4323b140cdd4ba1ac96e7204d93a)]
->> endobj
-12350 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Congruence_c8652f34bdfa731c02c1900f62bd5e88) 4285 0 R (classParma__Polyhedra__Library_1_1Congruence_d07dc0dabac5685f9db8d9dc11e513f1) 4248 0 R (classParma__Polyhedra__Library_1_1Congruence_d67d37524d1fb7f31766c0b02cb8591a) 4197 0 R (classParma__Polyhedra__Library_1_1Congruence_deee840f3313b6050d439dbe5fe2fdd7) 4260 0 R (classParma__Polyhedra__Library_1_1Congruence_e0c9395c1ac4d96e245be43fcd76424c) 4282 0 R (classParma__Polyhedra__Library_1_1Cong [...]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence_c8652f34bdfa731c02c1900f62bd5e88) (classParma__Polyhedra__Library_1_1Congruence_e96eebded76c559c95910dc233c68f06)]
->> endobj
-12351 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Congruence_fcf86304f17dc474e1e5bbe0486c1b59) 4257 0 R (classParma__Polyhedra__Library_1_1Constraint) 1477 0 R (classParma__Polyhedra__Library_1_1Constraint_047a99eb91872d19730f4fd14a81f55c) 4627 0 R (classParma__Polyhedra__Library_1_1Constraint_09c8fc0753a389cc42f84c12f7920832) 4620 0 R (classParma__Polyhedra__Library_1_1Constraint_0ab383f3930179982937f7733a283a03) 4566 0 R (classParma__Polyhedra__Library_1_1Constraint_0ab38d6ea061e7c2cb1595ba9c [...]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence_fcf86304f17dc474e1e5bbe0486c1b59) (classParma__Polyhedra__Library_1_1Constraint_0ab38d6ea061e7c2cb1595ba9cf2fd42)]
->> endobj
-12352 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint_0d50a5df6b31c6de90fe366e18e750ff) 4616 0 R (classParma__Polyhedra__Library_1_1Constraint_182ea33f63c0eea708e02a32b0904f30) 4721 0 R (classParma__Polyhedra__Library_1_1Constraint_239b0622fbcfe1638b4246deab2caa29) 4559 0 R (classParma__Polyhedra__Library_1_1Constraint_2679da4dbd5b8c33ef607aee49690c2a) 4570 0 R (classParma__Polyhedra__Library_1_1Constraint_29202eb817eb5c9d59433abeeb4f2eea) 4571 0 R (classParma__Polyhedra__Library_1_1Cons [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint_0d50a5df6b31c6de90fe366e18e750ff) (classParma__Polyhedra__Library_1_1Constraint_2935fff040a5b31930fff594a0b2596d)]
->> endobj
-12353 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint_2fb9117b8937e3d9a9b4d3ae397bb79a) 4703 0 R (classParma__Polyhedra__Library_1_1Constraint_340e8b886fb185bed798dcbc1391c126) 4701 0 R (classParma__Polyhedra__Library_1_1Constraint_36a0c8ccab7923610bd27f637af63e1d) 4521 0 R (classParma__Polyhedra__Library_1_1Constraint_3c1dcd74ba0b2509f45aad45a5d922ce) 4558 0 R (classParma__Polyhedra__Library_1_1Constraint_3c920e734593812d8529bc12be6f503e) 4699 0 R (classParma__Polyhedra__Library_1_1Cons [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint_2fb9117b8937e3d9a9b4d3ae397bb79a) (classParma__Polyhedra__Library_1_1Constraint_423e3bb0d9886c630c3c227def9f2073)]
->> endobj
-12354 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint_442aecbe0ce384a7c1add146fb125ed6) 4563 0 R (classParma__Polyhedra__Library_1_1Constraint_448b4387171ec166085eb46aacedaad9) 4629 0 R (classParma__Polyhedra__Library_1_1Constraint_4b4c0277d3b6c85ab6633ae9f5e235c6) 4719 0 R (classParma__Polyhedra__Library_1_1Constraint_54742578f3ff98e32e7e15d6b554f13f) 4700 0 R (classParma__Polyhedra__Library_1_1Constraint_600a652347fb8718e0bc05f7230b8d8a) 4631 0 R (classParma__Polyhedra__Library_1_1Cons [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint_442aecbe0ce384a7c1add146fb125ed6) (classParma__Polyhedra__Library_1_1Constraint_61208276a246a505bd753ffbb568bfe7)]
->> endobj
-12355 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint_61bc4f536e4c04b9594e1b6c7e13d76e) 4630 0 R (classParma__Polyhedra__Library_1_1Constraint_66a2134e0f7fc74d62b14f46631dc2c7) 4720 0 R (classParma__Polyhedra__Library_1_1Constraint_6742bd7f3f2cb079b96900dda0147940) 4617 0 R (classParma__Polyhedra__Library_1_1Constraint_745ac1cdddf74c6f387cfbbbc566dc78) 4560 0 R (classParma__Polyhedra__Library_1_1Constraint_78c24741e21a4406ea8ad1588c768147) 4565 0 R (classParma__Polyhedra__Library_1_1Cons [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint_61bc4f536e4c04b9594e1b6c7e13d76e) (classParma__Polyhedra__Library_1_1Constraint_7bdaff085ea6859cdec9b27bffb6de4b)]
->> endobj
-12356 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint_852f422dfdf14a1e8a97b4dad77f7e36) 4698 0 R (classParma__Polyhedra__Library_1_1Constraint_89943bdfa5424bf7acecc51a7b6949c8) 4697 0 R (classParma__Polyhedra__Library_1_1Constraint_8fb8b2fe343e5afa80edc06bfa31460b) 4527 0 R (classParma__Polyhedra__Library_1_1Constraint_93d5d6abf06ec551294c4c18abb4349d) 4569 0 R (classParma__Polyhedra__Library_1_1Constraint_9960963fb1f8fb56631e0402557065ae) 4564 0 R (classParma__Polyhedra__Library_1_1Cons [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint_852f422dfdf14a1e8a97b4dad77f7e36) (classParma__Polyhedra__Library_1_1Constraint_9dc926136daee1f47975434ee45298ec)]
->> endobj
-12357 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint__System) 1478 0 R (classParma__Polyhedra__Library_1_1Constraint__System_1097cf7cb41f29a02ba271abd2f00f5e) 4839 0 R (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) 1479 0 R (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_311a973ff993328d8cb3627f3af31129) 4916 0 R (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_3e8a8932563dfdc292fde93931f0bf2e) 4917 0 R (classPa [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint__System) (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_4fa3c4bbfb1c6905d95c08c2d90af526)]
->> endobj
-12358 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_641015af4c3d3b84184e8ca8dd128b10) 4912 0 R (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_6ba82ff86685d87dd34f4d441a7d769b) 4920 0 R (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_a02f5903786b4da29daecddcb0db6cbf) 4915 0 R (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_b404db5180176140a7600b31616f9a07) 4919 0 R (classParma__Polyhed [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_641015af4c3d3b84184e8ca8dd128b10) (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_f3c5bf7dd0135194b6c180dcb232ef54)]
->> endobj
-12359 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_fc81dafc5cf15ca9acd8f6a03f66c788) 4914 0 R (classParma__Polyhedra__Library_1_1Constraint__System_2552e7a194f5fb0d591bafb591b91968) 4844 0 R (classParma__Polyhedra__Library_1_1Constraint__System_257775ae01cfcd011aca9bcbccb03da7) 4797 0 R (classParma__Polyhedra__Library_1_1Constraint__System_2b451e6b09162c7c19b0a2ad36545c69) 4846 0 R (classParma__Polyhedra__Library_1_1Constraint__System_314eb5fed86c6bbe4a7223c [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_fc81dafc5cf15ca9acd8f6a03f66c788) (classParma__Polyhedra__Library_1_1Constraint__System_3410a53827de9155ac7d6cbd84263364)]
->> endobj
-12360 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint__System_3badc2f43376aa26f481af4800a3515b) 4882 0 R (classParma__Polyhedra__Library_1_1Constraint__System_50423c4391d0c3064787f19661914973) 4798 0 R (classParma__Polyhedra__Library_1_1Constraint__System_5a79ce2b52efebd42da2736164a043ad) 4845 0 R (classParma__Polyhedra__Library_1_1Constraint__System_5cebd3d6d6ec070c47682e77b0248f22) 4842 0 R (classParma__Polyhedra__Library_1_1Constraint__System_61e02a6ed1b9dd0d6d306d76f5da55a2) 4799 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_3badc2f43376aa26f481af4800a3515b) (classParma__Polyhedra__Library_1_1Constraint__System_6293b813e42a59a9795cafe0efa762cc)]
->> endobj
-12361 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint__System_67f95ed6867827f03a6af0a7334376e3) 4843 0 R (classParma__Polyhedra__Library_1_1Constraint__System_6aec148aa41935a4072c64a43c51c577) 4835 0 R (classParma__Polyhedra__Library_1_1Constraint__System_70e9ad42674d62ed9bd73268e3af7064) 4873 0 R (classParma__Polyhedra__Library_1_1Constraint__System_78a4d5f5e4702a16d6aae656293ec7ad) 4847 0 R (classParma__Polyhedra__Library_1_1Constraint__System_809a4546135123a08f12c0a65fb22241) 4834 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_67f95ed6867827f03a6af0a7334376e3) (classParma__Polyhedra__Library_1_1Constraint__System_8388d0d6d7ff68c627d516ec17f56b4c)]
->> endobj
-12362 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint__System_92333180e0163e9c87f2220dceef012d) 4800 0 R (classParma__Polyhedra__Library_1_1Constraint__System_964e4bcbbfde58f43977d0a8e686ec35) 4801 0 R (classParma__Polyhedra__Library_1_1Constraint__System_c3223cf8c7d19b02b5e3c04038024b47) 4872 0 R (classParma__Polyhedra__Library_1_1Constraint__System_c92d2324f8ddea454926272e5ccc6dad) 4848 0 R (classParma__Polyhedra__Library_1_1Constraint__System_cd7d1ed2a688f0c6af96e1cff336f933) 4840 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_92333180e0163e9c87f2220dceef012d) (classParma__Polyhedra__Library_1_1Constraint__System_d350b84c25b7c37693d2e7a08d3165ca)]
->> endobj
-12363 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint__System_dd9738866968b13e938d5669dd94a55e) 4881 0 R (classParma__Polyhedra__Library_1_1Constraint__System_dfa7b03e2ac3a6666a7538431f1bdee9) 4833 0 R (classParma__Polyhedra__Library_1_1Constraint__System_ea9a4fb9807eb61cda3eedf8e5a7acae) 4874 0 R (classParma__Polyhedra__Library_1_1Constraint__System_f882ff84afd3c2507e17ffa62ffd20a0) 4880 0 R (classParma__Polyhedra__Library_1_1Constraint_af207e746f4a3dc2722e254612dab3b3) 4622 0 R (classP [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_dd9738866968b13e938d5669dd94a55e) (classParma__Polyhedra__Library_1_1Constraint_b0f18894c8f97fa0cd38736462f36132)]
->> endobj
-12364 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint_b3186208850238a080373f035cd532cc) 4562 0 R (classParma__Polyhedra__Library_1_1Constraint_b6976f576e6e50941ee7a7b1a737c0eb) 4561 0 R (classParma__Polyhedra__Library_1_1Constraint_bbde4b86cfca3e29a917650f4c9c62d5) 4624 0 R (classParma__Polyhedra__Library_1_1Constraint_bdd61469bc5c6dfc6e97f306a751035c) 4693 0 R (classParma__Polyhedra__Library_1_1Constraint_c7bf9d127644aa14a09eab633e87f544) 4522 0 R (classParma__Polyhedra__Library_1_1Cons [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint_b3186208850238a080373f035cd532cc) (classParma__Polyhedra__Library_1_1Constraint_c9b8aa34a8ed8e2c3c38d0435adff6ab)]
->> endobj
-12365 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint_c9b8aa34a8ed8e2c3c38d0435adff6ab7491a8ba26958c3e27bed23b7eef1a7e) 4526 0 R (classParma__Polyhedra__Library_1_1Constraint_c9b8aa34a8ed8e2c3c38d0435adff6abb5b32713c840499d9e29facf95a17f41) 4524 0 R (classParma__Polyhedra__Library_1_1Constraint_c9b8aa34a8ed8e2c3c38d0435adff6abc1539389d3643cf986ef5bb99697d1cc) 4525 0 R (classParma__Polyhedra__Library_1_1Constraint_cc5c5125e7237c5913981b99a502f332) 4694 0 R (classParma__Polyhedra__Library_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint_c9b8aa34a8ed8e2c3c38d0435adff6ab7491a8ba26958c3e27bed23b7eef1a7e) (classParma__Polyhedra__Library_1_1Constraint_dba3d929f4317a38ad387c5b45a91199)]
->> endobj
-12366 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint_e3cacddb2450b8b685b8f39936a2b69d) 4689 0 R (classParma__Polyhedra__Library_1_1Constraint_e615df068adfbb40a0b0b7a993579d22) 4690 0 R (classParma__Polyhedra__Library_1_1Constraint_e86d21a6490f299af6229d70cf20c3ba) 4702 0 R (classParma__Polyhedra__Library_1_1Constraint_ea0fedb82a525e6ada13cd7fd2d03225) 4572 0 R (classParma__Polyhedra__Library_1_1Constraint_f06b2331eb3d080794682080b7f7eb1d) 4691 0 R (classParma__Polyhedra__Library_1_1Cons [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint_e3cacddb2450b8b685b8f39936a2b69d) (classParma__Polyhedra__Library_1_1Constraint_f245f065572b31c8ca97e196e45f9cf9)]
->> endobj
-12367 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint_f2eb5d22ef23937a261cfe3f6bc435e6) 4628 0 R (classParma__Polyhedra__Library_1_1Constraint_f8fcee7f8582b0afc9115eb1304c24f9) 4573 0 R (classParma__Polyhedra__Library_1_1Constraint_fa6ba487c08199e83a970fc49b53d3d0) 4618 0 R (classParma__Polyhedra__Library_1_1Constraints__Reduction) 1480 0 R (classParma__Polyhedra__Library_1_1Constraints__Reduction_383574ff4028da9048235b061a613b99) 4940 0 R (classParma__Polyhedra__Library_1_1Constraints__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint_f2eb5d22ef23937a261cfe3f6bc435e6) (classParma__Polyhedra__Library_1_1Constraints__Reduction_87f25b7a2988f918a20b3d09047b08ab)]
->> endobj
-12368 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraints__Reduction_898fefd81641cf4f6b854e85412a415c) 4936 0 R (classParma__Polyhedra__Library_1_1Determinate) 1481 0 R (classParma__Polyhedra__Library_1_1Determinate_12f9c11414ff84c5f98e089fe1671e4b) 5011 0 R (classParma__Polyhedra__Library_1_1Determinate_162dc548ba77c3b8b0c09b83740b0add) 4968 0 R (classParma__Polyhedra__Library_1_1Determinate_46a0e4adbfa5f07c11b1cefeaeab50a9) 5010 0 R (classParma__Polyhedra__Library_1_1Determinate_6742290bc [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraints__Reduction_898fefd81641cf4f6b854e85412a415c) (classParma__Polyhedra__Library_1_1Determinate_6742290bcbdcb397c3a65f92541850c7)]
->> endobj
-12369 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Determinate_68155a8dd4748908068c4f06816ced9e) 4969 0 R (classParma__Polyhedra__Library_1_1Determinate_6a570635ea948e8b83a131c1433f558a) 4967 0 R (classParma__Polyhedra__Library_1_1Determinate_6d81efe6a6302e1b6296be157faeb73e) 4973 0 R (classParma__Polyhedra__Library_1_1Determinate_6e192bab4a848124e98adc8e04f1b780) 4964 0 R (classParma__Polyhedra__Library_1_1Determinate_6e1f5c74ae6b2a7fda7094889aa46300) 5022 0 R (classParma__Polyhedra__Library_1_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Determinate_68155a8dd4748908068c4f06816ced9e) (classParma__Polyhedra__Library_1_1Determinate_766f30dae23752bf497bca855ef8b259)]
->> endobj
-12370 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Determinate_7698afbb74c4d9ef4a404fd200b9226c) 4966 0 R (classParma__Polyhedra__Library_1_1Determinate_81788a9e6af2cd17a632e4008b4b5634) 5016 0 R (classParma__Polyhedra__Library_1_1Determinate_8a354fa2b600043e51e8556864b69dbf) 5008 0 R (classParma__Polyhedra__Library_1_1Determinate_947140ae6a3b18452b6e69dfcf3daf51) 5012 0 R (classParma__Polyhedra__Library_1_1Determinate_97f31ca582bbc0a736ce5f3167021638) 4970 0 R (classParma__Polyhedra__Library_1_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Determinate_7698afbb74c4d9ef4a404fd200b9226c) (classParma__Polyhedra__Library_1_1Determinate_a76dc794cd0a663bebbf8fc0d11d9714)]
->> endobj
-12371 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Determinate_a894183e37c6f3614ed4938d94a3a7ee) 5014 0 R (classParma__Polyhedra__Library_1_1Determinate_b482b0092b8947168a9cc650e7f5a666) 5013 0 R (classParma__Polyhedra__Library_1_1Determinate_bdd1d97c66bb40b6b396982cc6dfc182) 5041 0 R (classParma__Polyhedra__Library_1_1Determinate_c7a892d14bca002fc1a03f9b8a950850) 4974 0 R (classParma__Polyhedra__Library_1_1Determinate_c8977c97bf04a9145308585bf0f79110) 5023 0 R (classParma__Polyhedra__Library_1_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Determinate_a894183e37c6f3614ed4938d94a3a7ee) (classParma__Polyhedra__Library_1_1Determinate_d56183741949b698e9781549d3da5fa5)]
->> endobj
-12372 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Determinate_de012d0e50f285077169741e9940f414) 5009 0 R (classParma__Polyhedra__Library_1_1Determinate_e1b84de453a8ba7224dbc5e378011e9b) 5043 0 R (classParma__Polyhedra__Library_1_1Determinate_ebaa837f2ff5fafb87e1e9ceaa9ccfa1) 5018 0 R (classParma__Polyhedra__Library_1_1Determinate_f724448826bbc00406f8f680b31fcaad) 4965 0 R (classParma__Polyhedra__Library_1_1Domain__Product) 1482 0 R (classParma__Polyhedra__Library_1_1GMP__Integer) 1487 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Determinate_de012d0e50f285077169741e9940f414) (classParma__Polyhedra__Library_1_1GMP__Integer)]
->> endobj
-12373 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1GMP__Integer_01c5bdd401e8bc17ea983d941be2aa49) 5547 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_11810ad660a4aa63766e8ebb0334b7d6) 5514 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_29b14636d21c90e28ee1821666dc1d64) 5515 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_2f220b5f73e79a2e6feab3a97a7e2445) 5516 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_38ab8dc3ca19cacef112ca316bc7ce09) 5546 0 R (classParma__Polyhedra__Libra [...]
-/Limits [(classParma__Polyhedra__Library_1_1GMP__Integer_01c5bdd401e8bc17ea983d941be2aa49) (classParma__Polyhedra__Library_1_1GMP__Integer_4039bbdc92a28fade431cb98f20b0fa6)]
->> endobj
-12374 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1GMP__Integer_6d5c75bcc32f8aea006e8da4b3f736b2) 5536 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_6e613e3f02e896503d38da788ad593b8) 5507 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_7f9dc23eef0ab2ef9d07f4d53177afce) 5517 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_83b02e8cbb5d14a2ebf2843e6551391d) 5545 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_84565fd9471a52f83618d0d5ce461c3c) 5548 0 R (classParma__Polyhedra__Libra [...]
-/Limits [(classParma__Polyhedra__Library_1_1GMP__Integer_6d5c75bcc32f8aea006e8da4b3f736b2) (classParma__Polyhedra__Library_1_1GMP__Integer_952922658abcdfb880fcf0a8483c9620)]
->> endobj
-12375 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1GMP__Integer_9a22818e12d0abab8d8a8e0d3346f51a) 5511 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_aaa520f25230108e6839b82747cae794) 5509 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_b2dfd07539bfb516c7ca2d04460064fa) 5510 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_b8dbbfce1fd68d57df6b05d5cc74c012) 5508 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_cf54a358f4ddf09f56364da87de68a49) 5512 0 R (classParma__Polyhedra__Libra [...]
-/Limits [(classParma__Polyhedra__Library_1_1GMP__Integer_9a22818e12d0abab8d8a8e0d3346f51a) (classParma__Polyhedra__Library_1_1Generator)]
->> endobj
-12376 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Generator_0c26ae11a4146369ff86288347cc54db) 5212 0 R (classParma__Polyhedra__Library_1_1Generator_0fb144e5f3fb6815e4c28c89883607be) 5217 0 R (classParma__Polyhedra__Library_1_1Generator_10cab5245f80aacd8000d0312730ec03) 5210 0 R (classParma__Polyhedra__Library_1_1Generator_13c726daa7d565ded0b177e24b6d1104) 5109 0 R (classParma__Polyhedra__Library_1_1Generator_1c884f5152f75040139ec3d9ec8ac293) 5101 0 R (classParma__Polyhedra__Library_1_1Generator [...]
-/Limits [(classParma__Polyhedra__Library_1_1Generator_0c26ae11a4146369ff86288347cc54db) (classParma__Polyhedra__Library_1_1Generator_2aba27eb7310045e1a35c7e68af01ab2)]
->> endobj
-12377 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Generator_303b4ed4262469c1834228e0f88dba74) 5209 0 R (classParma__Polyhedra__Library_1_1Generator_3bc88b2886b0b86865186d142e5ee414) 5153 0 R (classParma__Polyhedra__Library_1_1Generator_3f29f8b40d09b17eaa4cbaac069f72a0) 5098 0 R (classParma__Polyhedra__Library_1_1Generator_42867df59ec40173391b76074f9f0fb2) 5113 0 R (classParma__Polyhedra__Library_1_1Generator_4fb7d78e7b37d7f4b99babdc5cc84783) 5100 0 R (classParma__Polyhedra__Library_1_1Generator [...]
-/Limits [(classParma__Polyhedra__Library_1_1Generator_303b4ed4262469c1834228e0f88dba74) (classParma__Polyhedra__Library_1_1Generator_5363ddeed325652ee6c064a8936cfe57)]
->> endobj
-12378 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Generator_55b76ba0041601d8da38ab5ad619eed5) 5063 0 R (classParma__Polyhedra__Library_1_1Generator_55b76ba0041601d8da38ab5ad619eed505abaa6ff4aa204c25c94719e8a2b6f4) 5065 0 R (classParma__Polyhedra__Library_1_1Generator_55b76ba0041601d8da38ab5ad619eed54312979a12cae5ebb0791496e1ccce7a) 5064 0 R (classParma__Polyhedra__Library_1_1Generator_55b76ba0041601d8da38ab5ad619eed5b7fe867b1243e111ef4364e3ef5b5329) 5066 0 R (classParma__Polyhedra__Library_1_1G [...]
-/Limits [(classParma__Polyhedra__Library_1_1Generator_55b76ba0041601d8da38ab5ad619eed5) (classParma__Polyhedra__Library_1_1Generator_584f3fd5a19536644a66818169b16ac6)]
->> endobj
-12379 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Generator_5c56451d80b8c02636854053de9e0440) 5161 0 R (classParma__Polyhedra__Library_1_1Generator_600c942b0a2e94b550ccd84ef9c30928) 5155 0 R (classParma__Polyhedra__Library_1_1Generator_6804f93015ae6e1dc0c2e42e726380c4) 5157 0 R (classParma__Polyhedra__Library_1_1Generator_6b8dae6436867a53e27720ee211f1cc7) 5160 0 R (classParma__Polyhedra__Library_1_1Generator_75190def344d4c1ba6c59a6f0fcf7420) 5219 0 R (classParma__Polyhedra__Library_1_1Generator [...]
-/Limits [(classParma__Polyhedra__Library_1_1Generator_5c56451d80b8c02636854053de9e0440) (classParma__Polyhedra__Library_1_1Generator_775a8cec41b0fcc88689a171f5be8546)]
->> endobj
-12380 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Generator_77fc44f44b1bdda486e19e30310634e2) 5108 0 R (classParma__Polyhedra__Library_1_1Generator_7c502c8d46ed2f68679404fdfdf8e0bf) 5102 0 R (classParma__Polyhedra__Library_1_1Generator__System) 1485 0 R (classParma__Polyhedra__Library_1_1Generator__System_02b52b4ef5b1806566495cb7b6d35abb) 5391 0 R (classParma__Polyhedra__Library_1_1Generator__System_02e5a05e31a64af8bb2652645f74190d) 5367 0 R (classParma__Polyhedra__Library_1_1Generator__System_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Generator_77fc44f44b1bdda486e19e30310634e2) (classParma__Polyhedra__Library_1_1Generator__System_071ec60375df0a0f5051dc431f445e37)]
->> endobj
-12381 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) 1486 0 R (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_032aca0bd08a3c854d46b4a7c567b41b) 5449 0 R (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_16e25a87d3f2f1a0a454883b84bcf177) 5444 0 R (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_28cff68f198562b6921add86c58008af) 5451 0 R (classParma__Polyhedra__Library_1_1Generator__System_1_1c [...]
-/Limits [(classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_47e2d2f9114f640ca24b3dc68b701152)]
->> endobj
-12382 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_83d49cacc2666db32082dabdac76acc4) 5446 0 R (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_a2b418d948cce672416e77deb99b45b8) 5447 0 R (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_b2c21b4ce7f4f822e98343689525f1b8) 5448 0 R (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_ead8142c94d4974534e7f0fe10ed63a7) 5450 0 R (classParma__Polyhedra__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_83d49cacc2666db32082dabdac76acc4) (classParma__Polyhedra__Library_1_1Generator__System_25fce97f25e1814c62ec46b7a04ee942)]
->> endobj
-12383 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Generator__System_2b29f5668213f9171cfdc666ef4142ea) 5360 0 R (classParma__Polyhedra__Library_1_1Generator__System_37abf9e26c109cf608ec7829284883ec) 5369 0 R (classParma__Polyhedra__Library_1_1Generator__System_605b7611d045e0ea0ff47c2ec36c2268) 5318 0 R (classParma__Polyhedra__Library_1_1Generator__System_6135986b7669c295a1855279a9347433) 5354 0 R (classParma__Polyhedra__Library_1_1Generator__System_6b57cf93153051d3aa63c33e34ee4127) 5368 0 R (cla [...]
-/Limits [(classParma__Polyhedra__Library_1_1Generator__System_2b29f5668213f9171cfdc666ef4142ea) (classParma__Polyhedra__Library_1_1Generator__System_6e9c19c25562f9d1a71523d00b337450)]
->> endobj
-12384 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Generator__System_7072dc2f1979eb1198aea49e10bcd59d) 5366 0 R (classParma__Polyhedra__Library_1_1Generator__System_71a39e295673dabbc4661c7c0a2c3445) 5397 0 R (classParma__Polyhedra__Library_1_1Generator__System_7b9d70f9508c08b9a86272878ca03b5f) 5363 0 R (classParma__Polyhedra__Library_1_1Generator__System_804b0e848b19f18d99664d5bbd57a3f1) 5355 0 R (classParma__Polyhedra__Library_1_1Generator__System_9db5a39fe27d6c659e9c6ce626e83dfa) 5319 0 R (cla [...]
-/Limits [(classParma__Polyhedra__Library_1_1Generator__System_7072dc2f1979eb1198aea49e10bcd59d) (classParma__Polyhedra__Library_1_1Generator__System_9fe4a78fa5899317f5a060d7b607b5c1)]
->> endobj
-12385 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Generator__System_a33b89d7143376193110dde339707b0d) 5357 0 R (classParma__Polyhedra__Library_1_1Generator__System_ad63aea0771a124cfb70c8e8e80779a3) 5359 0 R (classParma__Polyhedra__Library_1_1Generator__System_af6afcf59d181946f02b27418d9b651a) 5356 0 R (classParma__Polyhedra__Library_1_1Generator__System_b0063024b3761b3ff89c3f259ebac6fe) 5365 0 R (classParma__Polyhedra__Library_1_1Generator__System_b174d3f8d008aca83801ae0de294528d) 5361 0 R (cla [...]
-/Limits [(classParma__Polyhedra__Library_1_1Generator__System_a33b89d7143376193110dde339707b0d) (classParma__Polyhedra__Library_1_1Generator__System_cce6ad80815e7d09970ed92968967585)]
->> endobj
-12386 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Generator__System_d53075833d1bde0c9e36dd70afb4b967) 5389 0 R (classParma__Polyhedra__Library_1_1Generator__System_dcd147a1c5474a820c7379514f629fda) 5396 0 R (classParma__Polyhedra__Library_1_1Generator__System_ed024de0dc1ad69e380f706d25740cb0) 5320 0 R (classParma__Polyhedra__Library_1_1Generator_a40eabb29ea4abe082c3a2e6dc820276) 5110 0 R (classParma__Polyhedra__Library_1_1Generator_a98511973ca14e8904e4e2c1f774bd3a) 5215 0 R (classParma__Polyhed [...]
-/Limits [(classParma__Polyhedra__Library_1_1Generator__System_d53075833d1bde0c9e36dd70afb4b967) (classParma__Polyhedra__Library_1_1Generator_b339ccb929a7255295ad19a5b168d5d0)]
->> endobj
-12387 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Generator_b36bf020da4fb4583e6e1a6b94197cb4) 5159 0 R (classParma__Polyhedra__Library_1_1Generator_bc8ae851f2a0a6260d954b3bd8505249) 5148 0 R (classParma__Polyhedra__Library_1_1Generator_d593d3aa49a632911d8d49c83b3f4985) 5152 0 R (classParma__Polyhedra__Library_1_1Generator_d7552a414d66f92897d12767579fa3ca) 5211 0 R (classParma__Polyhedra__Library_1_1Generator_d8cee05f88ad5aea288c1f6b8bf7cdc7) 5103 0 R (classParma__Polyhedra__Library_1_1Generator [...]
-/Limits [(classParma__Polyhedra__Library_1_1Generator_b36bf020da4fb4583e6e1a6b94197cb4) (classParma__Polyhedra__Library_1_1Generator_de2531310fd7806c9e4f745cab145926)]
->> endobj
-12388 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Generator_de98f4e320d7d21e223afb83240b3800) 5107 0 R (classParma__Polyhedra__Library_1_1Generator_e5902ab7e2d3304037a56ecda7fc22a4) 5104 0 R (classParma__Polyhedra__Library_1_1Generator_e6206985cd5536c4dac181de5fb21247) 5213 0 R (classParma__Polyhedra__Library_1_1Generator_e67eb83f2626818420b3201db09e3d58) 5218 0 R (classParma__Polyhedra__Library_1_1Generator_ebb212a14f52ed934059925c1f5f2010) 5154 0 R (classParma__Polyhedra__Library_1_1Generator [...]
-/Limits [(classParma__Polyhedra__Library_1_1Generator_de98f4e320d7d21e223afb83240b3800) (classParma__Polyhedra__Library_1_1Generator_eff190ba56f86d3425859043689d499a)]
->> endobj
-12389 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Generator_f1827b1f7a42393a2526944530559c5a) 5105 0 R (classParma__Polyhedra__Library_1_1Generator_f1bf8c762c6f36b30f2abcaffe591acb) 5149 0 R (classParma__Polyhedra__Library_1_1Generator_f4abff14e1b88cbb929f0733432477ff) 5216 0 R (classParma__Polyhedra__Library_1_1Generator_fceefab91d648d188e42e5a75a3a977e) 5111 0 R (classParma__Polyhedra__Library_1_1Grid) 495 0 R (classParma__Polyhedra__Library_1_1Grid_0047a6aa4f26d9133b9d741f68384f38) 5721 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Generator_f1827b1f7a42393a2526944530559c5a) (classParma__Polyhedra__Library_1_1Grid_0047a6aa4f26d9133b9d741f68384f38)]
->> endobj
-12390 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_0262a2b32220536d8bc60d84ad8dac4c) 5608 0 R (classParma__Polyhedra__Library_1_1Grid_042613c3f4ad30b298d70143c935d7cd) 5729 0 R (classParma__Polyhedra__Library_1_1Grid_0441c9c3b0ab0d55165bb6b4fd107f64) 5903 0 R (classParma__Polyhedra__Library_1_1Grid_071aa57e439ba4f358c7fd43b03a6a49) 5840 0 R (classParma__Polyhedra__Library_1_1Grid_07bdac3717a59f64634da7d9b1cfaefd) 5947 0 R (classParma__Polyhedra__Library_1_1Grid_092f5c04d267ab5709dda2d3e51aa [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_0262a2b32220536d8bc60d84ad8dac4c) (classParma__Polyhedra__Library_1_1Grid_092f5c04d267ab5709dda2d3e51aaeb9)]
->> endobj
-12391 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_0c02302b6281fa91ef9275bd37e43efc) 5611 0 R (classParma__Polyhedra__Library_1_1Grid_0d8ed7a0e48fe76e7221842c780192b0) 5731 0 R (classParma__Polyhedra__Library_1_1Grid_10e3116398b920cb137cf576a073cc68) 5953 0 R (classParma__Polyhedra__Library_1_1Grid_1287b254a91451368e7e2e456f448114) 5777 0 R (classParma__Polyhedra__Library_1_1Grid_145cc7c23d407576222e5af347f401c1) 5783 0 R (classParma__Polyhedra__Library_1_1Grid_1522764599cd8547bfe4ef7e88d8b [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_0c02302b6281fa91ef9275bd37e43efc) (classParma__Polyhedra__Library_1_1Grid_1522764599cd8547bfe4ef7e88d8baec)]
->> endobj
-12392 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_18ec2da355442e02ae67313ed5b48933) 5960 0 R (classParma__Polyhedra__Library_1_1Grid_19422844125a988daaf489cbaff3835b) 5832 0 R (classParma__Polyhedra__Library_1_1Grid_19623ff8cea2239d66331f29c1d0268d) 5615 0 R (classParma__Polyhedra__Library_1_1Grid_1a26d0018999e56d94a7e96db2b6e553) 5992 0 R (classParma__Polyhedra__Library_1_1Grid_1a5606b64a035977b9d76b1932227246) 5720 0 R (classParma__Polyhedra__Library_1_1Grid_1b528a2e8d4d096f62535454e05b7 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_18ec2da355442e02ae67313ed5b48933) (classParma__Polyhedra__Library_1_1Grid_1b528a2e8d4d096f62535454e05b74ba)]
->> endobj
-12393 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_1ba0bd59426889233904d052224cab76) 5614 0 R (classParma__Polyhedra__Library_1_1Grid_1ba97c180500b43954b09532151f6c9d) 5661 0 R (classParma__Polyhedra__Library_1_1Grid_1cb88a546d32e7b5c07dc25055e33235) 6003 0 R (classParma__Polyhedra__Library_1_1Grid_1d51ba9ca3c3e0bf0042502f40d2e11b) 5990 0 R (classParma__Polyhedra__Library_1_1Grid_214e376adb9dc271c61b58f8b2c927f0) 5833 0 R (classParma__Polyhedra__Library_1_1Grid_2528b5f433e743dda827b1028b6c7 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_1ba0bd59426889233904d052224cab76) (classParma__Polyhedra__Library_1_1Grid_2528b5f433e743dda827b1028b6c74cd)]
->> endobj
-12394 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_2581586de73769088ece60dc01409a08) 5897 0 R (classParma__Polyhedra__Library_1_1Grid_26f845c3192c71f59cf1c81cd35072c5) 5835 0 R (classParma__Polyhedra__Library_1_1Grid_2a66994a33d910d0fe8daccc6cc017ed) 1256 0 R (classParma__Polyhedra__Library_1_1Grid_2f31170286d3abc2f4867d0b193ae8bc) 5674 0 R (classParma__Polyhedra__Library_1_1Grid_31603d81a2b0571a82c4c79b8c6e4564) 5610 0 R (classParma__Polyhedra__Library_1_1Grid_323efbe5d43695cc65f8cd5935da9 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_2581586de73769088ece60dc01409a08) (classParma__Polyhedra__Library_1_1Grid_323efbe5d43695cc65f8cd5935da94dc)]
->> endobj
-12395 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_3628b6d6e250d4c6b8301173c6ecc777) 5998 0 R (classParma__Polyhedra__Library_1_1Grid_36cc3783cdc92ab5fc69904c298ed12c) 5675 0 R (classParma__Polyhedra__Library_1_1Grid_3ac47497148e61f3d7a3da09d17a03bf) 5726 0 R (classParma__Polyhedra__Library_1_1Grid_453e51570268eb4d63fc529130a54440) 5667 0 R (classParma__Polyhedra__Library_1_1Grid_470e6a581b91bc6d5a4a6388d1ddde99) 5616 0 R (classParma__Polyhedra__Library_1_1Grid_4d6e94fc9839cd5d455f195f46fc2 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_3628b6d6e250d4c6b8301173c6ecc777) (classParma__Polyhedra__Library_1_1Grid_4d6e94fc9839cd5d455f195f46fc2dcf)]
->> endobj
-12396 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_508103dc808fc747a90b573083a60461) 5949 0 R (classParma__Polyhedra__Library_1_1Grid_527ffa31e1581a8beb83a832244dada8) 5612 0 R (classParma__Polyhedra__Library_1_1Grid_53b24395ac61f8b2b2accc5a3900bf69) 5664 0 R (classParma__Polyhedra__Library_1_1Grid_53f980fb1ac8fa21265bec985bd1382f) 5732 0 R (classParma__Polyhedra__Library_1_1Grid_59634a195948ff0617177d0a41e30602) 5719 0 R (classParma__Polyhedra__Library_1_1Grid_596fc5b3ee0d04895aca9139cb6cb [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_508103dc808fc747a90b573083a60461) (classParma__Polyhedra__Library_1_1Grid_596fc5b3ee0d04895aca9139cb6cbcb6)]
->> endobj
-12397 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_59af9a947f610641fe02639f76cfc90e) 1259 0 R (classParma__Polyhedra__Library_1_1Grid_5f6fcc1dab2b08eff20b41d1412d1e2d) 6001 0 R (classParma__Polyhedra__Library_1_1Grid_60138f2b5d41fd62c862fdcd7c4a1e61) 5958 0 R (classParma__Polyhedra__Library_1_1Grid_621d377682c2c67051c24b1cc8a03497) 5724 0 R (classParma__Polyhedra__Library_1_1Grid_68665d093308c111817eca341b98d70a) 5838 0 R (classParma__Polyhedra__Library_1_1Grid_6ae1850664122e9917f174d10fd3b [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_59af9a947f610641fe02639f76cfc90e) (classParma__Polyhedra__Library_1_1Grid_6ae1850664122e9917f174d10fd3bf06)]
->> endobj
-12398 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_6f703ba611b9e5ff613f4df35347ee95) 5672 0 R (classParma__Polyhedra__Library_1_1Grid_726484f44f6e6653f9c0126e94e51ab0) 1252 0 R (classParma__Polyhedra__Library_1_1Grid_727dc2405cfc5f2252e6f21aa0f18074) 5609 0 R (classParma__Polyhedra__Library_1_1Grid_732d3b59f8a0ba21a72877d5fa4b98a5) 5613 0 R (classParma__Polyhedra__Library_1_1Grid_75df0f78d7598dafa946251a04cb5d90) 5956 0 R (classParma__Polyhedra__Library_1_1Grid_7704df6970b9563ef9e51793126c0 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_6f703ba611b9e5ff613f4df35347ee95) (classParma__Polyhedra__Library_1_1Grid_7704df6970b9563ef9e51793126c0ae2)]
->> endobj
-12399 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_7fc86a6331f34f34a506ab2b0609ac37) 5997 0 R (classParma__Polyhedra__Library_1_1Grid_7ff92e5d40e6faf667a0b1f6b8fad791) 5957 0 R (classParma__Polyhedra__Library_1_1Grid_803035024ab9670971868f4b1092f7c5) 5671 0 R (classParma__Polyhedra__Library_1_1Grid_82b76e3f18679ea161b53bfa80349009) 5830 0 R (classParma__Polyhedra__Library_1_1Grid_85b2560352485ac05d10aab0ee483252) 5780 0 R (classParma__Polyhedra__Library_1_1Grid_8688fd38682b19e97422816d72524 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_7fc86a6331f34f34a506ab2b0609ac37) (classParma__Polyhedra__Library_1_1Grid_8688fd38682b19e97422816d72524790)]
->> endobj
-12400 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_87d004db7f8febf6f9c96b4a2a1c85e5) 6002 0 R (classParma__Polyhedra__Library_1_1Grid_87e253a2b1d8e1696c2ebf3feb11dc5f) 5775 0 R (classParma__Polyhedra__Library_1_1Grid_880344de195aef75a6b3f2a4db4787b4) 5665 0 R (classParma__Polyhedra__Library_1_1Grid_880be9febc6dab2cdccbec8814c9a952) 1251 0 R (classParma__Polyhedra__Library_1_1Grid_8865893c48cc07adae5dca6b35081751) 5668 0 R (classParma__Polyhedra__Library_1_1Grid_8d2cc5d18d050975101f2860f2919 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_87d004db7f8febf6f9c96b4a2a1c85e5) (classParma__Polyhedra__Library_1_1Grid_8d2cc5d18d050975101f2860f2919da8)]
->> endobj
-12401 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_8edc85ba3e8a09593959814eaad72499) 5776 0 R (classParma__Polyhedra__Library_1_1Grid_8f97dbc7a7c307fa72f7e904b2cbf21b) 5831 0 R (classParma__Polyhedra__Library_1_1Grid_8fa02815bb561135934f91c9adcd0cb5) 5730 0 R (classParma__Polyhedra__Library_1_1Grid_901082d5c6de5ec4b457df69e41bb70c) 1307 0 R (classParma__Polyhedra__Library_1_1Grid_90ca2b1613fda31a2ac7e79d9388680d) 5663 0 R (classParma__Polyhedra__Library_1_1Grid_90e87cbe8ae0717fa09ff51b70d64 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_8edc85ba3e8a09593959814eaad72499) (classParma__Polyhedra__Library_1_1Grid_90e87cbe8ae0717fa09ff51b70d64b47)]
->> endobj
-12402 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_943c42b0d1b3580e54b3ab60aa55255f) 5782 0 R (classParma__Polyhedra__Library_1_1Grid_953a608f6f9d413870fb3eee5cc6ad1e) 5784 0 R (classParma__Polyhedra__Library_1_1Grid_9831db06919c6ee05360b08e84cccbb7) 5837 0 R (classParma__Polyhedra__Library_1_1Grid_9bdab8408169307fbd899ec3670cb2bf) 5952 0 R (classParma__Polyhedra__Library_1_1Grid_9e17201a9a12235a9a96cc31cfffd38f) 6004 0 R (classParma__Polyhedra__Library_1_1Grid_9e4e32230b187284ac0b9ca8efba8 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_943c42b0d1b3580e54b3ab60aa55255f) (classParma__Polyhedra__Library_1_1Grid_9e4e32230b187284ac0b9ca8efba8f82)]
->> endobj
-12403 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_9e87405c740d202951ba788f9e52cbf7) 5781 0 R (classParma__Polyhedra__Library_1_1Grid__Certificate) 1488 0 R (classParma__Polyhedra__Library_1_1Grid__Certificate_3b727ab728f8758af9fb217eca9d791a) 6352 0 R (classParma__Polyhedra__Library_1_1Grid__Certificate_67cbe06cd666025c2ff64652d5824a2f) 6350 0 R (classParma__Polyhedra__Library_1_1Grid__Certificate_869306ea4afb6453b8e9cee36c96f46e) 6355 0 R (classParma__Polyhedra__Library_1_1Grid__Certifica [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_9e87405c740d202951ba788f9e52cbf7) (classParma__Polyhedra__Library_1_1Grid__Certificate_c03d43b46ab7f9e5d0ea3c46a5eab7b3)]
->> endobj
-12404 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Certificate_cf34edb23c376600051bbc563e4122c4) 6349 0 R (classParma__Polyhedra__Library_1_1Grid__Certificate_df9fc5ac7e45f36bc03af31b98b31a72) 6351 0 R (classParma__Polyhedra__Library_1_1Grid__Generator) 1490 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_00017ad58d66a7948b0355b3e02c750b) 6390 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_041afb1a2cc7277572fb7235cf08cf64) 6480 0 R (classParma__Polyhedra__Library_1_1Grid__Ge [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Certificate_cf34edb23c376600051bbc563e4122c4) (classParma__Polyhedra__Library_1_1Grid__Generator_065895a1428f9dc6b3002818686eff0f)]
->> endobj
-12405 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_081718c23b5785da17c63ffec13536cc) 6476 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_082a74ad0ce931ec2e517bf0f009daa2) 6489 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_0f19da4c46bb8b3be01875eff4c00538) 6440 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_0fafb66fa4df451fd3e2f0392329f27b) 6477 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_10e7c95784e356487a6a6263a89cec66) 5246 0 R (classParma__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_081718c23b5785da17c63ffec13536cc) (classParma__Polyhedra__Library_1_1Grid__Generator_10e7c95784e356487a6a6263a89cec6625b86c6f0633416506503de2bf693876)]
->> endobj
-12406 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_10e7c95784e356487a6a6263a89cec664ac3b90df83c2e43249ccfa2702640de) 6396 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_10e7c95784e356487a6a6263a89cec66e9cf46c5e08ead7689807e1c8ba30642) 6395 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_1177f236d8c66c01bbb43b37ff90bc7d) 6391 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_13419c5d820bde20af5eabd23e479ec8) 6433 0 R (classParma__Polyhedra__Library_1_1Grid__Gen [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_10e7c95784e356487a6a6263a89cec664ac3b90df83c2e43249ccfa2702640de) (classParma__Polyhedra__Library_1_1Grid__Generator_1a15765e7fd1f486a9ee12a061dc4c76)]
->> endobj
-12407 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_1aabacaac0806d617f53db4b34b3349e) 6394 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_1f0828932daf26d10e94120c1f4a4d6b) 6435 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_2a0bc130f7cf6a0678ee3b982fcc7ab6) 6428 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_3075c67d9868fc0b483db13256fb4e0c) 6503 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_41227446c918730e97998799bfe04da6) 6429 0 R (classParma__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_1aabacaac0806d617f53db4b34b3349e) (classParma__Polyhedra__Library_1_1Grid__Generator_58b86510b9c4dc05004c0fc01622430b)]
->> endobj
-12408 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_60d9658ef91fbd3a1b0064253246f36b) 6393 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_68e8cef74c6b4b5a56e2c791f41566e4) 6436 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_6fb154017052c68b63121cef49c568ce) 6505 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_76fce1702224700691a26cf5e780a1dd) 6430 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_77123fc17c8bc6d59a76802c0592a2c6) 6439 0 R (classParma__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_60d9658ef91fbd3a1b0064253246f36b) (classParma__Polyhedra__Library_1_1Grid__Generator_77a904793c99cfb1d61fadd277d59471)]
->> endobj
-12409 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_811f6f947785240bcb76bfca023fed17) 6432 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_8ab7b9abebd48fe0ad129a237338aa96) 6504 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System) 1491 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_023dc725ab60578fb2161f06211fa023) 6602 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_102ffa79248502b4998a70fba5f13d98) 6640 0 R (classParma__Polyhedra_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_811f6f947785240bcb76bfca023fed17) (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator)]
->> endobj
-12410 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_26673943182a6efc6cc6e3aad8c731a7) 6733 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_2be2c8b9d00f81fc24dcbc36ad05afea) 6729 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_41cb3496510a68512516cf65f8d214c2) 6724 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_47def4dcb522c046a6f3a432d72008ed) 6731 0 R  [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_26673943182a6efc6cc6e3aad8c731a7) (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_9571074ab0249afc1e440c8c5eb5d429)]
->> endobj
-12411 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_9af54d524de94ada872d460c1dbd5cc0) 6725 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a6e183ba7e931dc88e16fb9ecfa8b3c7) 6730 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a82cf61e903a201fe8892501b209ab8e) 6726 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_ffa77e724493813cddf9740767c2473e) 6732 0 R  [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_9af54d524de94ada872d460c1dbd5cc0) (classParma__Polyhedra__Library_1_1Grid__Generator__System_2d0bc3adc78e64aafdab0dd9a292db1f)]
->> endobj
-12412 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_3ddc697f9236b117382c35d7f7da5419) 6644 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_4254da492e5eeb1c12d8d87b997cd229) 6647 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_465d046e2570dea82e57ab6af9b179e9) 6608 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_494a5dcf815a292978b1864d2d7f77ae) 6642 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_62e7b71f72659356d [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_3ddc697f9236b117382c35d7f7da5419) (classParma__Polyhedra__Library_1_1Grid__Generator__System_63fd965105d740ff7003037964ec7d10)]
->> endobj
-12413 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_642db539e09ba9a9746d490390097d73) 6596 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_6a5f64baba3ae5704d9645db684434d3) 5425 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_6c21214d11e4dc9738dad1f72501a286) 6595 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_72f8cca084e83cace83223ea0ea42bca) 6597 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_8530a0719104225bd [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_642db539e09ba9a9746d490390097d73) (classParma__Polyhedra__Library_1_1Grid__Generator__System_864a52992178820135a7ae3a75e65377)]
->> endobj
-12414 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_8a0c95f43fd48c07a63db5efa3564769) 6600 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_8cf170e729ac4e4576624d6ed7d4b44d) 6641 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_8e247a33c9eb40439c706a98c5d363d0) 6677 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_8f29bc3aa01b8f5c67a3323189f9cf9e) 6599 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_90e26e60ccfbe3c6a [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_8a0c95f43fd48c07a63db5efa3564769) (classParma__Polyhedra__Library_1_1Grid__Generator__System_998804f094e131a7f06d05c6e9eb5f5c)]
->> endobj
-12415 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_9e847f0bfafeac6438cecb2d2114e665) 6605 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a09a1ddc7936a5377e838cb44610548e) 6638 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a2e9eec4ddeaf5dca3afa1976d36b703) 6604 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a8e33c8dd37c45144bf92a6984c7706a) 6648 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_bba3cc93433c6564b [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_9e847f0bfafeac6438cecb2d2114e665) (classParma__Polyhedra__Library_1_1Grid__Generator__System_c485f37c083be7bc0238a3f5c6c112e3)]
->> endobj
-12416 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_c53b2bea17ae404e291cbcb7033dbaf2) 6639 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_c5764ede75697ec70757c5e208945ca2) 6643 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_ce4c05e99016850c16c2bdaff5914afd) 6606 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_d85c523fefc56e289bd9fdf878bb339a) 6678 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_dfc60b971ed974350 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_c53b2bea17ae404e291cbcb7033dbaf2) (classParma__Polyhedra__Library_1_1Grid__Generator__System_e64d3d01d4baab5102f00046f941188f)]
->> endobj
-12417 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_b1db3272b7beca7b1d9d17f23d22ecbd) 6389 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_ba6b40a4b9708e94d6cd10f54144ed70) 6442 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_c05ff6bef376a2835adbb0ca123a8e79) 6392 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_c061731c4fec7f60c48e02ed9806b4bb) 6487 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_c3e03bc2df621903d136c689c38bdb6f) 6434 0 R (classParma__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_b1db3272b7beca7b1d9d17f23d22ecbd) (classParma__Polyhedra__Library_1_1Grid__Generator_c74dafaa0b06e9cd3d15ea0d2af1b213)]
->> endobj
-12418 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_c915c8d26a7dbcdbbd0c4985ec5b7d4b) 6431 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_cdc0aeddab3d98e336719f42e6e5b06c) 5285 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_e1887d907ab06bddeaa2682bdf94d268) 6485 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_e94a99f8e8d290b5791baa01fd540a14) 6481 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_edf9116549ffcced7a39f4596e65e5d0) 6486 0 R (classParma__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_c915c8d26a7dbcdbbd0c4985ec5b7d4b) (classParma__Polyhedra__Library_1_1Grid__Generator_f00dd6aeffc847b73a3aee11d6d169b6)]
->> endobj
-12419 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_f4e7705af87f5eb64d2ebdc60cd7a36e) 5270 0 R (classParma__Polyhedra__Library_1_1Grid_a033cfca735240b3699b523d60ad692a) 5727 0 R (classParma__Polyhedra__Library_1_1Grid_a26f672c32271db69ed68fc60eee8cff) 5779 0 R (classParma__Polyhedra__Library_1_1Grid_a28d735beef86789b73b41dbbde71abf) 5676 0 R (classParma__Polyhedra__Library_1_1Grid_a598904833b374d50efc72c51914112c) 5948 0 R (classParma__Polyhedra__Library_1_1Grid_a9c12ecd84df4ed86b [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_f4e7705af87f5eb64d2ebdc60cd7a36e) (classParma__Polyhedra__Library_1_1Grid_a9c12ecd84df4ed86b5676a09fa39208)]
->> endobj
-12420 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_b602d97b867b5d2ea800ea7ceef4c6b5) 5900 0 R (classParma__Polyhedra__Library_1_1Grid_b6bba83ceaafdb71df04b77e43bed022) 5906 0 R (classParma__Polyhedra__Library_1_1Grid_bb10ea556dd34e0c1e13f7e99b9efe70) 5841 0 R (classParma__Polyhedra__Library_1_1Grid_c009459805692e582a00d4b5954ab8e5) 5905 0 R (classParma__Polyhedra__Library_1_1Grid_c4e1b49845e553ff84dc73e710def76c) 5954 0 R (classParma__Polyhedra__Library_1_1Grid_c587faeb0edfd2582564b9a8fa333 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_b602d97b867b5d2ea800ea7ceef4c6b5) (classParma__Polyhedra__Library_1_1Grid_c587faeb0edfd2582564b9a8fa3335bd)]
->> endobj
-12421 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_c9d9eaf8b76024bc20ce524e13bf86a6) 5836 0 R (classParma__Polyhedra__Library_1_1Grid_ccb5584441a7c7c84de73810cc6afbc4) 1250 0 R (classParma__Polyhedra__Library_1_1Grid_ce98c3e57a1237e6dd5042b5a0919193) 5673 0 R (classParma__Polyhedra__Library_1_1Grid_d09e4e3f9a9da562c6cdb73dd7b47fbe) 5778 0 R (classParma__Polyhedra__Library_1_1Grid_d14942b33fb82bb3e6a13e5e92ada475) 5670 0 R (classParma__Polyhedra__Library_1_1Grid_d42265530a9e3b2f3bda9ab40d4a8 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_c9d9eaf8b76024bc20ce524e13bf86a6) (classParma__Polyhedra__Library_1_1Grid_d42265530a9e3b2f3bda9ab40d4a835b)]
->> endobj
-12422 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_d452407f89cb560e83fb81938c12a585) 6005 0 R (classParma__Polyhedra__Library_1_1Grid_d743f8b71eb68f6b41f7ea7b5d21dc22) 5733 0 R (classParma__Polyhedra__Library_1_1Grid_dc7cdee1981f44b5db23f6c28c79d0a6) 5723 0 R (classParma__Polyhedra__Library_1_1Grid_df002bbcc4dcae5efdb56bae2971a64b) 5617 0 R (classParma__Polyhedra__Library_1_1Grid_e47fdbff76383891b3896ac5fc213d5d) 5950 0 R (classParma__Polyhedra__Library_1_1Grid_e5955a311fc4fde1edf2d5460f0a8 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_d452407f89cb560e83fb81938c12a585) (classParma__Polyhedra__Library_1_1Grid_e5955a311fc4fde1edf2d5460f0a8356)]
->> endobj
-12423 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_e5dc5003b3652660bc4ff4a15e4060af) 5834 0 R (classParma__Polyhedra__Library_1_1Grid_e8d42fcd571a9c9d64f0e7ffe67e995e) 5907 0 R (classParma__Polyhedra__Library_1_1Grid_eb9b562373b4d288c03549bdba93fede) 5994 0 R (classParma__Polyhedra__Library_1_1Grid_ee33974909cfc1cba605734a57d44df0) 5991 0 R (classParma__Polyhedra__Library_1_1Grid_f1ab967a6606266f7e583fc9752667fe) 5829 0 R (classParma__Polyhedra__Library_1_1Grid_f306aa1f4e34bf045cd07e5ac11d8 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_e5dc5003b3652660bc4ff4a15e4060af) (classParma__Polyhedra__Library_1_1Grid_f306aa1f4e34bf045cd07e5ac11d8f68)]
->> endobj
-12424 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_f39e1b0519a47aafb9dba4121dc41a9c) 5993 0 R (classParma__Polyhedra__Library_1_1Grid_f6df34e5e4ab9beab41cd76897d64c72) 5959 0 R (classParma__Polyhedra__Library_1_1Grid_fa7b390fb34934e419263a5fc694c946) 1254 0 R (classParma__Polyhedra__Library_1_1Grid_fb9d83c4e182f640833116dc2f725076) 5902 0 R (classParma__Polyhedra__Library_1_1Grid_fc06f600e94b7bedb91d0371a51f4c38) 5662 0 R (classParma__Polyhedra__Library_1_1Grid_fde364ce088f82cf2b9a231e7d9f2 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_f39e1b0519a47aafb9dba4121dc41a9c) (classParma__Polyhedra__Library_1_1Grid_fde364ce088f82cf2b9a231e7d9f2abc)]
->> endobj
-12425 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_fe613a3da3edc3cb4506f70d409f061d) 5996 0 R (classParma__Polyhedra__Library_1_1H79__Certificate) 907 0 R (classParma__Polyhedra__Library_1_1H79__Certificate_061c4c3b4f1eef970794b274dae62504) 6756 0 R (classParma__Polyhedra__Library_1_1H79__Certificate_517f4965fd423413531cd1d2058748de) 6760 0 R (classParma__Polyhedra__Library_1_1H79__Certificate_51b29c5dffc073c2d350471ae9bb879f) 6757 0 R (classParma__Polyhedra__Library_1_1H79__Certificate_553 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_fe613a3da3edc3cb4506f70d409f061d) (classParma__Polyhedra__Library_1_1H79__Certificate_553c3b19a36235d228039a6bb3452918)]
->> endobj
-12426 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1H79__Certificate_7e6d252ce9557b9d73833ef594f6276b) 6763 0 R (classParma__Polyhedra__Library_1_1H79__Certificate_ab939414cdbcf1ba174334859443a72c) 6759 0 R (classParma__Polyhedra__Library_1_1H79__Certificate_b8bee5e53740adc193668686030bb4bb) 6758 0 R (classParma__Polyhedra__Library_1_1H79__Certificate_efeb88699fb82bb331a2d24ce724bb07) 6761 0 R (classParma__Polyhedra__Library_1_1Interval) 496 0 R (classParma__Polyhedra__Library_1_1Interval_1c76acb [...]
-/Limits [(classParma__Polyhedra__Library_1_1H79__Certificate_7e6d252ce9557b9d73833ef594f6276b) (classParma__Polyhedra__Library_1_1Interval_1c76acbe653414cc28fac54c69622446)]
->> endobj
-12427 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Interval_241f107b045949a58b49469a6a09caf9) 6805 0 R (classParma__Polyhedra__Library_1_1Interval_348c6523b219aee93545bb401dc0b813) 6802 0 R (classParma__Polyhedra__Library_1_1Interval_5915be624de343f1598d246ee4f1bc42) 6806 0 R (classParma__Polyhedra__Library_1_1Interval_6a869e3c010e87dff868fb410d4f0a20) 6811 0 R (classParma__Polyhedra__Library_1_1Interval_79370159de3dc1738441b20eff866329) 6833 0 R (classParma__Polyhedra__Library_1_1Interval_a7172 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Interval_241f107b045949a58b49469a6a09caf9) (classParma__Polyhedra__Library_1_1Interval_a71726a7725f9269553ed9e594b0d74a)]
->> endobj
-12428 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Interval_aeb70a45d5ee0c7fac5f5d6c659fc69e) 6803 0 R (classParma__Polyhedra__Library_1_1Interval_b5160fe536bd1bc8d42c12de33f40493) 6800 0 R (classParma__Polyhedra__Library_1_1Interval_c3abadf1d96bef1880657113014d46dd) 6830 0 R (classParma__Polyhedra__Library_1_1Interval_ca669c9659132e9fa6adc7a9afbef642) 6810 0 R (classParma__Polyhedra__Library_1_1Interval_e34390c17dbd12de9906817c4b6cf479) 6804 0 R (classParma__Polyhedra__Library_1_1Interval_f3699 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Interval_aeb70a45d5ee0c7fac5f5d6c659fc69e) (classParma__Polyhedra__Library_1_1Interval_f3699ea93d8ec71859566480bede9332)]
->> endobj
-12429 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Interval_fb730d60db4b7e1ddd4c9994ec077cf6) 6801 0 R (classParma__Polyhedra__Library_1_1Linear__Expression) 1540 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_0308fb71a28c28f4e33aabfa9c5d3781) 6986 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_04aff92d245522832391c1704f455992) 6925 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_0651bfc78898bf691898cdb599198ea9) 6980 0 R (classParma__Polyhedra__Library_1_1Linear_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Interval_fb730d60db4b7e1ddd4c9994ec077cf6) (classParma__Polyhedra__Library_1_1Linear__Expression_0912217f15a36eb486b243ee592f3379)]
->> endobj
-12430 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_0dddfc1f0ff6f55a90c4ea8829b9752b) 7055 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_0ed481e43baf024d4a5b5e86e85c4a87) 6914 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_114f91c420cc8060d6834730c8e55721) 6991 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_158df02c8c54fa5a9286836fb01563cd) 6926 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_2666c570468f53609bf420024a12628d) 7049 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_0dddfc1f0ff6f55a90c4ea8829b9752b) (classParma__Polyhedra__Library_1_1Linear__Expression_298a32e26d8133869f28560cca4ba73b)]
->> endobj
-12431 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_2e4d2efe88475a75dab18c7f9fe5e217) 6990 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_32a44c95ae4348ff889b48c309f9eab3) 7047 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_37de3f55cf5e917e32f7f2f9c6d34840) 7058 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_385e4d3cfe442f4fcbeefd9acf5c10eb) 7050 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_3a808cf2742df02d856a8d9882845861) 6917 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_2e4d2efe88475a75dab18c7f9fe5e217) (classParma__Polyhedra__Library_1_1Linear__Expression_3fc6b9758fbac86e0592d37c23f14b1e)]
->> endobj
-12432 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_4124a10b953c4c49984524875a257f3a) 6924 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_41cdb256f546f09bd317deef44ac0009) 6992 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_49574f120ec3f9fbfda58d6f826587e9) 6985 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_4d372c4dff7d328d3da118817ed3d8b7) 6988 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_5a74ca4d6d20b677bd8e4bf05dd45760) 6881 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_4124a10b953c4c49984524875a257f3a) (classParma__Polyhedra__Library_1_1Linear__Expression_5bb7f6903958069b19f70d1391987a51)]
->> endobj
-12433 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_62b7a88cefba86a6731c6b46487fc28a) 6984 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_65766b549090f6b52281c99cfba9eed3) 7054 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_691b91bcd9b5c336892574e975235de5) 7053 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_6ea3cf85efb71cf62fa3e233c9e9cf7b) 7048 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_6f8cd8fbee64faaa5e47c8e41ba7662e) 5269 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_62b7a88cefba86a6731c6b46487fc28a) (classParma__Polyhedra__Library_1_1Linear__Expression_701574facbfd5461d399dccbc88a2999)]
->> endobj
-12434 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_72b6b45299672d85c7984392454296d6) 6989 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_80d43634ca26fd76dcb1fdede6363dc5) 7052 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_8d443d5098921978efd7b625000f3b68) 7046 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_9075dd07574234cc124e6076c272e987) 6994 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_920af28903c20a4a4962761b834d577f) 7057 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_72b6b45299672d85c7984392454296d6) (classParma__Polyhedra__Library_1_1Linear__Expression_98b5ccd1157e6ec8beec7702af9acb36)]
->> endobj
-12435 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_9a14be758de0e77faef8de4a11bd8e8c) 6880 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_9dd6ce1cb02b58fd3b973e40867362ac) 6987 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a8f43e35dec15be4374b207a9440eb2c) 6915 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_b4396e8bfbdd5831fd37d13c19194cc4) 6993 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_b48b93c69098ab1dccd8d063f9c41575) 6918 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_9a14be758de0e77faef8de4a11bd8e8c) (classParma__Polyhedra__Library_1_1Linear__Expression_b82fb79015a9e4959fe801e608b2a0ae)]
->> endobj
-12436 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_baf335015f8c71026d2bee65ce4d109f) 6981 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_bca5613972564c8ec5c832bc8ff200d6) 6916 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_c1b93dcadc82e52690114301554801b0) 6913 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_e1dfbc8be3858f2423df19c32e043110) 6920 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_e7df198cd5bdd6e9f87192fb3170261f) 6879 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_baf335015f8c71026d2bee65ce4d109f) (classParma__Polyhedra__Library_1_1Linear__Expression_e9cc837bbae1745ada3780634c73858f)]
->> endobj
-12437 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_ea20a64dc7e9dd789fb069c7b8faca16) 6982 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_ede3aa1f7d5925d31d3f66faf655dc66) 6923 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_f5bbfb14fef626aee9f34e71a78c0d7d) 7056 0 R (classParma__Polyhedra__Library_1_1MIP__Problem) 1541 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_0bf7e46a624f9d9df1528ae0b47ad55d) 7213 0 R (classParma__Polyhedra__Library_1_1MIP__Prob [...]
-/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_ea20a64dc7e9dd789fb069c7b8faca16) (classParma__Polyhedra__Library_1_1MIP__Problem_0f5e373c7067f61d03e3a90724a6983a)]
->> endobj
-12438 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_0f5e373c7067f61d03e3a90724a6983ac4528dcb9794c502cf7c9bd65e9c54ae) 7156 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_162d95e1149e222a317370e2fa25a120) 7208 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_1e73b39b2848f8141aa58219cf97dead) 7264 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_1ee38be62a49852994bf906003b0c23c) 7161 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_1ef2a882e1f0a3121f94eea90a9a16fe) 7258 0 [...]
-/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_0f5e373c7067f61d03e3a90724a6983ac4528dcb9794c502cf7c9bd65e9c54ae) (classParma__Polyhedra__Library_1_1MIP__Problem_21e9dae374ecb009d8f7f268f5e673e7)]
->> endobj
-12439 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_22183a1ac7a9af9929c6153e2a7a659b) 7267 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_25be5d5e126674d8aca8b9ec828e289f) 7261 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_28dfc886a103ede666395ab45fc7950c) 7289 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_30c23ab257a58da3708591becad2bf1f) 7293 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_3601b97efe162fca1df11d70b0b3d607) 7269 0 R (classParma__Polyhedra__Libra [...]
-/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_22183a1ac7a9af9929c6153e2a7a659b) (classParma__Polyhedra__Library_1_1MIP__Problem_3800cc1eb2fb15d0c42dd71740bb661a)]
->> endobj
-12440 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_3805575c5d920cbc808cf34e44c11fee) 7200 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_3a010e69cfabe1a026ee21f7639207e3) 7215 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_3aa58c4d8ded71e574db9d1c59533300) 7212 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_40f18b846fb1fe73b63da7fa7cbbbbca) 7202 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_42acbf3b42263a3dc137395dc8fe1421) 7287 0 R (classParma__Polyhedra__Libra [...]
-/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_3805575c5d920cbc808cf34e44c11fee) (classParma__Polyhedra__Library_1_1MIP__Problem_485bfce228009ebec2a7bd83d695eddd)]
->> endobj
-12441 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_49625522da117289c0312c67060210f2) 7265 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_4d480f0b906eef0c0094c8fabc69a3b3) 7211 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_5da8e430d26c6471590e2c7ae5f7d82e) 7210 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_623847fa141f97cd59f3d85627536379) 7263 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_6ba0be34c122032442a7409f194e157d) 7294 0 R (classParma__Polyhedra__Libra [...]
-/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_49625522da117289c0312c67060210f2) (classParma__Polyhedra__Library_1_1MIP__Problem_7f2b2dce631b12fb46f6f1fa719e6c84)]
->> endobj
-12442 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_8a238e31c3b4acf8a023a6346bbf752f) 7259 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_8ccc13c9fa8f27701c935b481a371f89) 7205 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a4a79e7bb87171b31d49429f9d875dcb) 7201 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a682606a24cf76b2d13ef9d70b0b4dde) 7162 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a9f9e9fbb372e1f21bd0472b2db20567) 7204 0 R (classParma__Polyhedra__Libra [...]
-/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_8a238e31c3b4acf8a023a6346bbf752f) (classParma__Polyhedra__Library_1_1MIP__Problem_abc43ede7fd0577eaeb7255a0eca232d)]
->> endobj
-12443 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_abc43ede7fd0577eaeb7255a0eca232d4d21924dceed7aac6368d4bc5affeccf) 7160 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_abc43ede7fd0577eaeb7255a0eca232d6a4badcfd0bb8d6e536fa16b2d5108d0) 7158 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_abc43ede7fd0577eaeb7255a0eca232dfb044a16e827afb114b4a2b9ba86fcbb) 7159 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_abfec033a504656ea05620f485442b1e) 7260 0 R (classParma__Polyhedra__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_abc43ede7fd0577eaeb7255a0eca232d4d21924dceed7aac6368d4bc5affeccf) (classParma__Polyhedra__Library_1_1MIP__Problem_b5ff957e959947c6016cd28be6e2fadd)]
->> endobj
-12444 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_bd1a41cf267b29ebf81851eb096dc6de) 7257 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_dda1de457524bc20064ace508201876c) 7152 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_e60e06beac90231262189084333bda57) 7214 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_ea40406b8f95d9ca4f61f23598448cd5) 7216 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_ee0ae23c1027e709991811b8398b9f46) 7163 0 R (classParma__Polyhedra__Libra [...]
-/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_bd1a41cf267b29ebf81851eb096dc6de) (classParma__Polyhedra__Library_1_1MIP__Problem_f46e579954688eec46ac0a43029fdaa1)]
->> endobj
-12445 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_fc1e5cbd96d9c2819ba1ec2151f3897e) 7253 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_ff27d012a01487b7c9c14a9a3b40d9b1) 7203 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron) 477 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_163f5dff452c6cf2e3a0c929eb2b8187) 7408 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_16829d6b83d0c21f3d3e1f87c46ac239) 7363 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_25b [...]
-/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_fc1e5cbd96d9c2819ba1ec2151f3897e) (classParma__Polyhedra__Library_1_1NNC__Polyhedron_25b59f3491de4996c701bbf044746fe5)]
->> endobj
-12446 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_2f41d86c5a949d903179e82072854ef4) 7410 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_42e87760e6f69306e6322cc77f20d162) 7415 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_5d2426c9804102311d41fd445b122cf9) 7420 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_60ae86027d4480aec07a5eed85f6977a) 7362 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_691bb5ef88a4c9638034de4c1b9532cc) 7418 0 R (classParma__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_2f41d86c5a949d903179e82072854ef4) (classParma__Polyhedra__Library_1_1NNC__Polyhedron_6b1f2d6606a0b4d4fc8bbde3b24ce553)]
->> endobj
-12447 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_7358056031cb08692ae07044715987cd) 7412 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_89d5bd03139c8fcaf1ab035208d680dd) 7413 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_8ee7e3364443dc8cd55f3f6388c81ecf) 7416 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_91cfad066b0e12cdaf7454fe4585cfc5) 7409 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_9bb0903a2b33f94b096f71e604f07648) 7417 0 R (classParma__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_7358056031cb08692ae07044715987cd) (classParma__Polyhedra__Library_1_1NNC__Polyhedron_9dc9e3a464def0e2d929fab9cae6e360)]
->> endobj
-12448 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_d5c6d64b009045df8248bcb8ffeea69e) 7414 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_ee8ba0ffc68e00046b55e12427c582cd) 7421 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_f5aee1171c6c67b9c57f3949b7b75be8) 7364 0 R (classParma__Polyhedra__Library_1_1No__Reduction) 1542 0 R (classParma__Polyhedra__Library_1_1No__Reduction_5a0edbc51074f6e9e1a908fa292abe13) 7479 0 R (classParma__Polyhedra__Library_1_1No__Reduction_77 [...]
-/Limits [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_d5c6d64b009045df8248bcb8ffeea69e) (classParma__Polyhedra__Library_1_1No__Reduction_77067a656a3aa9381a93a23dfba036e4)]
->> endobj
-12449 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1No__Reduction_f38e352895f910cc9556dc7ac0d8f39d) 7483 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape) 479 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_025902247d9c8b46d92c514c1646ff69) 7886 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_04704288741dbaf6f50e8fc09c43f737) 7527 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_047e2a717168ae129338109f1afc9a7a) 7823 0 R (classParma__Polyhedra__Library_1_1Octagonal__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1No__Reduction_f38e352895f910cc9556dc7ac0d8f39d) (classParma__Polyhedra__Library_1_1Octagonal__Shape_09eda1d1953d8f83e4352c6fe78cbded)]
->> endobj
-12450 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_0a0d8c78069019f44dc34ebab82ecfc6) 7767 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_0a7f222ac228554b369d460087815b87) 7581 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_0a8906c6b7e5b785bd457641007d1359) 7533 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_0d1677ef76c939ca2025722d2ee249e2) 7595 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_0d4db6f54c7332e1a2e0bc85e16ba176) 7775 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_0a0d8c78069019f44dc34ebab82ecfc6) (classParma__Polyhedra__Library_1_1Octagonal__Shape_0e09e7efc2f63aba534614086427bf49)]
->> endobj
-12451 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_0e90a75aac44c14997804b8911ff7bbb) 7647 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_0e9ecea59dea0ccb1cc3600bc11f1056) 7697 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_100662089d61a01ea43a28a944da266c) 7834 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_1091bf4d0e8ce7672f907cf5e7921120) 7529 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_1169e57865dfa83ffc8cc23071248340) 7831 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_0e90a75aac44c14997804b8911ff7bbb) (classParma__Polyhedra__Library_1_1Octagonal__Shape_128413fc4c3051aaa9033a8030509ae5)]
->> endobj
-12452 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_137dcf52993d2ff3dd6e4678b45baf56) 7883 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_173628da404c1dc2c4d423cad7f9f960) 7821 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_196d1efc79437ca1d96b79b7cd60387f) 7771 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_1ae372d4f3b58cfa4af6edd51d845209) 7646 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_1c2f0ae89d7bf247a76c40282f31758e) 7884 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_137dcf52993d2ff3dd6e4678b45baf56) (classParma__Polyhedra__Library_1_1Octagonal__Shape_1c59e94611b71ddd67acd033a05bbbc7)]
->> endobj
-12453 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_1cd37a76428add108f267548ae76664b) 7699 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_1d780ef5b99cc9752eb322353b7b6b08) 7777 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_204fb0538d07ee8ac3d5f2724419928b) 7829 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_217e4addfae235df12c449320e65f891) 7650 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_22b6ac7ec1477dc82d6db22900b59be2) 7641 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_1cd37a76428add108f267548ae76664b) (classParma__Polyhedra__Library_1_1Octagonal__Shape_2560fe5ce16277c4b4db17e951047028)]
->> endobj
-12454 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_25f104e58f88e05dfcb905bcd66e493b) 7774 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_2d266342acc104c59dc0046242ccdac8) 7642 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_2f13e4ffe7b47ec50721791877b41622) 7879 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_34dbbfe20e987a3d55c7a3f2d08f1aed) 7833 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_353fe86259fbb2dd09d451e9dd468676) 7636 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_25f104e58f88e05dfcb905bcd66e493b) (classParma__Polyhedra__Library_1_1Octagonal__Shape_35518da8c480784110d40b680256bd61)]
->> endobj
-12455 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_38da38d0fab7eed9ee09fdb11f88fd15) 7877 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_3905c42e02befd8a894c57abd9f972f5) 7640 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_3b9f6fbac96e03a00d061a2cd2ca2baf) 7525 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_44e10aa0180433db7d19fb8e473dc829) 7776 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_46797ad634dc267c1264aa046c69f9f8) 7538 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_38da38d0fab7eed9ee09fdb11f88fd15) (classParma__Polyhedra__Library_1_1Octagonal__Shape_46a4105c8476e5f5260a775777398586)]
->> endobj
-12456 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_46d5dc7df45abdea275f0295fee58c23) 7826 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_51fb0220102e525b11cdb06dcbe322c7) 7878 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_580264341ec83f4bf3d6da1205939b0a) 7701 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_594973c5284386e52b8c33b206a47907) 7700 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_5e4f3b53b4dd4f7f57a13df638b162e4) 7582 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_46d5dc7df45abdea275f0295fee58c23) (classParma__Polyhedra__Library_1_1Octagonal__Shape_5e74729a5f7cabef57fb795cc728869c)]
->> endobj
-12457 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_62d44847fe22abb82cbac84a776a9c72) 7911 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_6f27f62cf5d65574cbb44025b1b3e585) 7909 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_6f9c769f48ed91cd71bec247b7733430) 7531 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_6ff5e78b07441619f850114578ca48d5) 7705 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_702b00ff42a88c23ab25eecf0e9acef0) 7773 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_62d44847fe22abb82cbac84a776a9c72) (classParma__Polyhedra__Library_1_1Octagonal__Shape_703f57855b17ef63b28f88fe13a51870)]
->> endobj
-12458 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_715054228bad30a232707ed0357cdd98) 7910 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_72782e7d9a6612efd73b253b0f862c6b) 7709 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_74d2b64496aa448a85ec0b370cee0977) 7639 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_7ae373e57180f03b09aa0e38d1f19811) 7645 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_7dcb9b448c8c0171e18f29551077d133) 7526 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_715054228bad30a232707ed0357cdd98) (classParma__Polyhedra__Library_1_1Octagonal__Shape_81c8a26a02090eb4fb9255dd814514a8)]
->> endobj
-12459 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_87aadd3a9d47e978a32c9867b13220a4) 7827 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_891529f721ff485fe2ec90ac48952cc6) 7487 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_8a329c1ea10527cde394abab15b67356) 7537 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_8b99abb6e15eedbdb94e2466e8304c52) 7585 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_934cc1f45a6d438f5d468276140cd5a8) 7770 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_87aadd3a9d47e978a32c9867b13220a4) (classParma__Polyhedra__Library_1_1Octagonal__Shape_96bae54a01fe00bad4306bec61bb4687)]
->> endobj
-12460 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_9b7061aa20aa4b513216bcdb1a905ce7) 7824 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a317313059bdf973567d2fcf5e030212) 7703 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a493e3939364ce0db66b42f0ef6511d0) 7698 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_aae8e418bb3d7a1432117530eaea7ec4) 7637 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ae058fd9619a17e121c3aab9b0612d81) 7694 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_9b7061aa20aa4b513216bcdb1a905ce7) (classParma__Polyhedra__Library_1_1Octagonal__Shape_af0214aee8884dc52be4e061d6b4df94)]
->> endobj
-12461 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_afdd0083c1c10d49e06f4718a826ae1b) 7528 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_b38e5d3ce8cc120ce4b534bc43d90d34) 7532 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_b499fba7b7be2932147748248180e057) 7772 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_b5dfec17f683d1cbe01cfc71d601108c) 7586 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_b7c86f7ff6b09ff72e3ee3382b4c933b) 7589 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_afdd0083c1c10d49e06f4718a826ae1b) (classParma__Polyhedra__Library_1_1Octagonal__Shape_ba8ba56b075b2be7b6309cfaed039070)]
->> endobj
-12462 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_ba9abb279871c30a4f0c6cbb188fecc1) 7769 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_bfb434e3d574f4bd53314ac8749c4731) 7708 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_bfde1aac87d8218fce0fa9b4ea8a5eb1) 7706 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_c2cd6705bce0af4bd9880b990baf1198) 7885 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_c5f6c7896e64b8750e2cd9729c19d66e) 7534 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_ba9abb279871c30a4f0c6cbb188fecc1) (classParma__Polyhedra__Library_1_1Octagonal__Shape_c6376a87e99d3cdabaa6ee7542474849)]
->> endobj
-12463 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_c720d2c0875eba7d87a4068876092025) 7590 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_cb19de0243a618e9bf3d62e2ee04ae01) 7648 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ccc6c6488ea9d8555ea8e978cf188749) 7768 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_cfec639e917dfd6eb63c4006ac55b807) 7649 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_d423a6ddce01a2f2efb34b826d0de921) 7644 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_c720d2c0875eba7d87a4068876092025) (classParma__Polyhedra__Library_1_1Octagonal__Shape_d8d04d80653fb850dd92468af1995f97)]
->> endobj
-12464 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_dc269190695c1745ab086168fcf35835) 7695 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_dc326b7c8687b685c42817f7fec425e0) 7592 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_e37107ec8d1402bb69ac6462d7f4646d) 7535 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_e3be22e7dcdf54fdc0fb976fd755d0c7) 7638 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_e85fbe787fa3e172ecf6a63b2847d69a) 7593 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_dc269190695c1745ab086168fcf35835) (classParma__Polyhedra__Library_1_1Octagonal__Shape_ec298ee7df246c945e6a56442e04176d)]
->> endobj
-12465 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_ed38463ae788879580d6372653452603) 7584 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_f14ea5b6122685afd62a3df786512d77) 7587 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_f1921cd40fb0920e1173cf67418c63fe) 7583 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_f2c70f89a472f7fa34ba64817693776a) 7594 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_f41476c22751c8d79e8599443aea93da) 7830 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_ed38463ae788879580d6372653452603) (classParma__Polyhedra__Library_1_1Octagonal__Shape_f7fd07f1f8d91c830130c061da7b6c56)]
->> endobj
-12466 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_f9503f2a0fd1535ce7cb9465908006dc) 7530 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_fa62abe41a99d6a01cca319ed860bb5b) 7825 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_fa8decb7c7093c9cde1255a6c1af62d4) 7591 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_fea57a711a6b7a5d501112b84b246759) 7704 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) 498 0 R (classParma__Polyhedra__Library_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_f9503f2a0fd1535ce7cb9465908006dc) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_0c2c96efcf10102068f754c608a12427)]
->> endobj
-12467 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_0e39243c24d99f8d374f9c14e3da8d98) 8538 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_0ea21bf85aa2e90c449435cfedcef181) 8353 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_1190fcf4794305386f8475f9ac51ce00) 8283 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_15b21e990e26976e615a7d3244ed843e) 8413 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_0e39243c24d99f8d374f9c14e3da8d98) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_19a2fb28254bc142e01f3ee00c27ea89)]
->> endobj
-12468 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_1ae424886d05361c1a78c89dbdd5b7db) 8475 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_1d52cb88936eb0f5bde559b39f8ec42c) 8344 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_1daec40615d5a93ce0de360865d93497) 8181 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_1dc5b9db43a16365ba0773a96fe1b799) 8235 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_1ae424886d05361c1a78c89dbdd5b7db) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_21a9e355a53ec45a5a60213fa8c24f2e)]
->> endobj
-12469 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_269f357fca785afae3774b1e084d9b93) 8503 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_28f6854a94a3a7d58034cb1d51ae9c7c) 8179 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_294875fd6b469d8949f08c24b5893b6e) 8234 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_2b3eb71543b3284872781f0b4481fe39) 8188 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_269f357fca785afae3774b1e084d9b93) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_2c47f2f619b1d0f322b742891920735f)]
->> endobj
-12470 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_2d12805af932544a4fc1575f8db62a3d) 8507 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_2f90e70dbef264e99b7015c0ce7e16fd) 8470 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_2fe458f016db5eeeb95bee46f1800533) 8236 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_343e039e48425126b187827066d12bf2) 8499 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_2d12805af932544a4fc1575f8db62a3d) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_3a031a8e65176b8bd80d2857bd9a68b6)]
->> endobj
-12471 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_3a03cd3ea1b11c1c8dbdf462959d79df) 8291 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_3a18eff42a557fd87d59895399c7a13f) 8536 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_3ad1db1c5141d2815c0d849d12548e4c) 8351 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_3b5db50d397654bd1a8d4067d90f7419) 8228 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_3a03cd3ea1b11c1c8dbdf462959d79df) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_41c9a9dc63e253ac5ed21cbdad4e2640)]
->> endobj
-12472 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_41d30675a3c28980af0f087b06a1f4c1) 8339 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_425f248891aec4ed7800bd92334fd7c1) 8238 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_43ab45399b7e22ffcd6403b7e59a473c) 8506 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_46f912e8b181561f68062e183005c8bc) 8232 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_41d30675a3c28980af0f087b06a1f4c1) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_4a53183970490595ac39c8c070601c6f)]
->> endobj
-12473 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_4ac4e4131c756f0ffce85b9dec7d2b3a) 8500 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_4c7c04e76c758c53feeb8c5cf58638a6) 8473 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_5358c9f367ad37e650d411ab5e558e50) 8294 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_57fc3d9d838fd7e20e80806307452a91) 8463 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_4ac4e4131c756f0ffce85b9dec7d2b3a) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_676b331ee61606b74be4cd1f90756839)]
->> endobj
-12474 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_6bd361a7c7e187c0ff63c62894e741f8) 8237 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_6d33d9f1d987efe6e333c7ad1993dd5a) 8292 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_732e7355673aa63a2fc22a470a36f707) 8421 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_77a2a8e38120a21ac0d5f19eb6e1668b) 8422 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_6bd361a7c7e187c0ff63c62894e741f8) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_7999968db9fb568980215d2c84393358)]
->> endobj
-12475 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_7a1f9b31c3ed7dc3e7691b9110ddbedb) 8476 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_7a9afaf958c6f9dd09c89bd706dc09b0) 8537 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_7ea45b608af772cd69e2c23d7d62a3cf) 8350 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_804363984fe210abe47624522dfb7a92) 8466 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_7a1f9b31c3ed7dc3e7691b9110ddbedb) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_888509fe116790d0b9a267e614be10ec)]
->> endobj
-12476 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_8b2ee24610cb804238f33581093948c1) 8414 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_8cdc72dfa85aed4e613f780b02e69e92) 8242 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_8eb19423295d8af4d69f144fc227128f) 8468 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_940db627ef73d29e63fed31acc7553f7) 8412 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_8b2ee24610cb804238f33581093948c1) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_97cc0d02a88d52e79cbb6615a3bbab42)]
->> endobj
-12477 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_99247c74022e8d51cd0a2d93a87bcfe5) 8423 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_99dc4fb442b60dc9c694d7abc853a3dc) 8289 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_9a864135634ed49de1aeae3b38ed933a) 8464 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_9bd884fea397d9d6cde6426e6f47cc4e) 8462 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_99247c74022e8d51cd0a2d93a87bcfe5) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a8128b9910f31bc963842e48c44a863e)]
->> endobj
-12478 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ad10819182a33870e4b0a7e3b2bca564) 8282 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_afc9294d3fb5f2c0fd8d4e4d22c283b6) 8349 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_b3ad0a7ad694f4a7724504544aff49fa) 8230 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_b3b8f7e6fdd123f510ba85f4527bdee3) 8502 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ad10819182a33870e4b0a7e3b2bca564) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_b95eae83384d8c6b41b9ed8f9fd16704)]
->> endobj
-12479 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_bb5709426ac80aa0bcf907b4f1d4a577) 8416 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_bc31d844172a202d43d08e299e26322f) 8182 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_c2583843b139ce11b842155b35d60332) 8233 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_c5ec610fb42e16beaac59b537a71f187) 8472 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_bb5709426ac80aa0bcf907b4f1d4a577) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_c7b41dba5d22086cb9715c3f51248f98)]
->> endobj
-12480 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_cbcc65a843515d547f055b687d1e6d5f) 8461 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_cc8d0378d1cb13b5ddc04dd12cf18ebe) 8239 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_d3a8f10409a9fd73afb6691686d6862c) 8342 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_d3e2a76d26bef272d0a13fa3bae9a5c2) 8241 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_cbcc65a843515d547f055b687d1e6d5f) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_db0fa15c5f30fc4be6a94ce2606208ef)]
->> endobj
-12481 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_db466cb206f1d16d24257a838d130cf2) 8287 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_dca9874a75b5ba09114b8495a23c4edd) 8184 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_de7792cb469ddf1d5d8944bbe7f1f55a) 8512 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_dea57326388915780370a677453778b3) 8467 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_db466cb206f1d16d24257a838d130cf2) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_dfe66b5a34b84fcf63d1a48777f68e4d)]
->> endobj
-12482 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_e274e65fc3f012ab21bcffa3177228c5) 8420 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_e386245235cada70fc797b0747b0d326) 8288 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ea7119974f9313e4c93908a2955c4186) 8346 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ef3ebc0ed74af80cd3653321153360bd) 8185 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_e274e65fc3f012ab21bcffa3177228c5) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_faf0bc4f0e0a036dbc3852b3e4490243)]
->> endobj
-12483 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_fb7b94b681c4d195080fa81ed1480cc2) 8286 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ffd7d0678df82882b006ea7b02771f98) 8340 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset) 497 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_02a568a0ea643d33f943fb6ab98271c7) 9089 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_062e6c821cbe563825968a30a108f14d) 8861 0 R (classParma__Po [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_fb7b94b681c4d195080fa81ed1480cc2) (classParma__Polyhedra__Library_1_1Pointset__Powerset_085c8cf54c180f7eaf693904cb6ce68b)]
->> endobj
-12484 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_0b63a885009bef951c4a57e878b81698) 9094 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_0c8b9e21e6308b5841acc2f1ffef10e6) 9081 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_0f1e6f6f630698056d7e35149796f3e1) 8920 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_112cc024004bb7146ddccaa837664bf5) 8860 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_123c8d12181469abfa5dce562831a218) 8928 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_0b63a885009bef951c4a57e878b81698) (classParma__Polyhedra__Library_1_1Pointset__Powerset_16579a075dfcd1fa22ac02bcc859353b)]
->> endobj
-12485 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_1760892eb5a3f38323cff257495f1711) 8978 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_1773f4a296b1e34a24fc238f84d615c7) 1309 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_17e25309469009012f40ed891a2c3f01) 9136 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_1af6f8ca3539ffa5cff895d30c7d4d7e) 8927 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_1be27ff4f03e00236044253c3ddd43da) 8985 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_1760892eb5a3f38323cff257495f1711) (classParma__Polyhedra__Library_1_1Pointset__Powerset_1fbcf2de5cd0eeca6b521e70b7d731a7)]
->> endobj
-12486 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_2282182b70472430c77106aecf3c8029) 8919 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_23d4da5a4d3ccbef1d32597a77661ab9) 8873 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_25717d92bb71e83e73c686fb6f231efb) 9085 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_280aacebc757d7ab2a23ff2e282aa10b) 9036 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_2d82b566c9bebad2adaaa3b5ba0e923b) 9042 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_2282182b70472430c77106aecf3c8029) (classParma__Polyhedra__Library_1_1Pointset__Powerset_2e81b3aeb6ec2e74bee0cf690d44cd69)]
->> endobj
-12487 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_302728bb407aa3c4137332e3275d21fe) 8868 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_32c9572669f8c0490cd714af2731b62a) 9045 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_345c97f889e2b3dae5f12fcc130a8b75) 8866 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_374c1462c19381ba7d0f27f4bbd94a72) 8923 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_3b8a6c571be95e78b20207f732cd0848) 9083 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_302728bb407aa3c4137332e3275d21fe) (classParma__Polyhedra__Library_1_1Pointset__Powerset_3f4e612db0eea52c329f5a6be95197b9)]
->> endobj
-12488 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_440d3df9ebc23e058ec03d5606cecda9) 8812 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_451da71733ac3915319b8bd36744d415) 8980 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_45243459137b3c9e917bde090a48ba01) 8815 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_453d3ceee367754b17c722b66cb03e69) 8917 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_52fc679f0d74857dacafb72b57ab5c37) 9046 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_440d3df9ebc23e058ec03d5606cecda9) (classParma__Polyhedra__Library_1_1Pointset__Powerset_53fb6133be52cbd02a3fc7573900a95d)]
->> endobj
-12489 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_5468429667edd0199d41c11d79d3d9b7) 8869 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_57be1b41dad904bf9936df4560df720b) 9035 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_5c527292c276945f5ce0bdc9b41ed37c) 8982 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_5ef6af0a8b11cc47f885ffc74e7be5b8) 8922 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_6069a2503278c2ba8d0f3c5b80dba198) 8977 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_5468429667edd0199d41c11d79d3d9b7) (classParma__Polyhedra__Library_1_1Pointset__Powerset_60b58548061b148441614897071b152f)]
->> endobj
-12490 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_61834f7d3b6629c2aafc5011c258961b) 8926 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_632c2bfa8f851855c68d4c919e1cd237) 8915 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_64edddaeda5b87632fc0d37fd0f56749) 8761 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_69571f990b874f16d0f62235088427ca) 9139 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_6a10411642132d2a11144719a8cec9fb) 8809 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_61834f7d3b6629c2aafc5011c258961b) (classParma__Polyhedra__Library_1_1Pointset__Powerset_6f42f2d4a41b935d5441c51351faffa6)]
->> endobj
-12491 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_6f68d17132551d9a40f661fcd911b482) 9044 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_7153c25dfa21af48271dd46e7e7cde7f) 9037 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_723455890ff6a03f145169e411c83289) 9043 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_74dabf047d8ef99e4088e5c410d34e6f) 9138 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_75b26365a17a571d891fe7d0b5ded447) 8921 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_6f68d17132551d9a40f661fcd911b482) (classParma__Polyhedra__Library_1_1Pointset__Powerset_77ae7142afc112b5cc786f24875cc336)]
->> endobj
-12492 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_786d96ab353d022f56f211fa26e76766) 8918 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_7ba23c56994f511973d468959040f4a6) 8981 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_7ba29a874c71bb8631504b25945713d3) 8929 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_82341fbea6e1c21a80058424c0ccf2d0) 8814 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_91dc05df4b7c844f1f6c9c5419db5635) 9082 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_786d96ab353d022f56f211fa26e76766) (classParma__Polyhedra__Library_1_1Pointset__Powerset_96712b6e1b0c6ef2ef36177eba8a5f7b)]
->> endobj
-12493 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_9846bc1d16b42521b6cda0e8a4799115) 8764 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_98d288c85ce5c2e32cee27f20c6ce7ac) 8924 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_9cbdb37b93b7d66e66a19df8f46a71f7) 8762 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_9f616c59b2d80aab9f11db8f3c63883c) 8806 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a04426c5a10bb84d277c580d8377a8ca) 1308 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_9846bc1d16b42521b6cda0e8a4799115) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a34fb5a16a8af56089e3a09b86263a08)]
->> endobj
-12494 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a944a73dab7e82a786f12d860def325e) 9092 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_aaf96fa77980ed96433261f5dd4c8f5a) 1312 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ac2ae1578a08e1613a4e7ddfa0f4b711) 1311 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_b6db0040a47381b41656b2846ce782fc) 8816 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_bb6956f4cc086675f02d421fef46122d) 8810 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a944a73dab7e82a786f12d860def325e) (classParma__Polyhedra__Library_1_1Pointset__Powerset_bcfc281c9ef2a45bcfad5ed4a1109b8e)]
->> endobj
-12495 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_c262e9c3acc2920c3e3df6fab7852753) 9137 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_c3d56f02e252446c5844465d94068227) 9038 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_c4e8228056b829aa7e0e05e1b292d2c3) 8807 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_c878ab15837984ba2930ef42fa81dc5a) 9087 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_cab49f11748c7473f15388191159a798) 8984 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_c262e9c3acc2920c3e3df6fab7852753) (classParma__Polyhedra__Library_1_1Pointset__Powerset_cb90cd62d5a91523a0f7f7d17a7d380b)]
->> endobj
-12496 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_cbcd7cd19d71e22f0a8deb3dfc536462) 8925 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_cd523ec773dc09fcf2c3ebbbd70b3bc5) 8865 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_cecce63184c4367b7e48cd7f35b29adb) 8859 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_d00fd827006fff19ba3d2bec4da28267) 8974 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_d43b1f8f4b622041e8719a0b26c4a2d2) 8863 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_cbcd7cd19d71e22f0a8deb3dfc536462) (classParma__Polyhedra__Library_1_1Pointset__Powerset_d64b9c9ef7488b49c4f9a4acd3f57491)]
->> endobj
-12497 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_d6f64ccc36541cf23baca88a68ad06d7) 9135 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_d7e1698be31b1b95dc7e28d13ec162d5) 9127 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_d850947fe33d1adad7b33c58ab859ce0) 8858 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_d9bdf9f5b0e6b90d5c0c173ada762067) 8871 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ddf613a0448b642291d5e60910983a81) 8817 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_d6f64ccc36541cf23baca88a68ad06d7) (classParma__Polyhedra__Library_1_1Pointset__Powerset_def9cf2f5c18bf5fc72e2648e848f8e2)]
->> endobj
-12498 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_df9133b519b04cad51e09ebb9332cddd) 9090 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_e315cd842b8a3bd48d730eba070969b0) 8808 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_e45ed9165f98258083b2337c3872acee) 9088 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ebb4df2fa553f9a75fc23f4a3d8aa084) 8760 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ef0c072f344fd2a732e792578091cc9d) 8870 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_df9133b519b04cad51e09ebb9332cddd) (classParma__Polyhedra__Library_1_1Pointset__Powerset_f4416e25871d6e2ee1fd5a09a1f9c343)]
->> endobj
-12499 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_f4f6e42cf5b4be24e73efab004e22a34) 8862 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_f6ef577d2302b2baac4689f8766cfb2f) 1310 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ff1c6d17be391cb22a9c4d4e0fa0feb8) 8811 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation) 1543 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_1dd09c87a931132dbee52ea24266866a) 9387 0 R (classParma__Polyhedra__Librar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_f4f6e42cf5b4be24e73efab004e22a34) (classParma__Polyhedra__Library_1_1Poly__Con__Relation_4cc725a9fe3bdaded2c131bb8bb47ed8)]
->> endobj
-12500 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Poly__Con__Relation_553ae81ae234cedad36e72b32c967e65) 9384 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_62827195c6aeacf38a8fb3df6df8ff2e) 9385 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_80b9d602f99df76039d58032b20041d7) 9382 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_825bf274e880e1c8d51b42d32c69004e) 9415 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_9f09728ae53c8e3dadeb202f28bb6fdb) 938 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Poly__Con__Relation_553ae81ae234cedad36e72b32c967e65) (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a317e5d2d782c3589c48cb3b45d6790d)]
->> endobj
-12501 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Poly__Con__Relation_a4b60ce3ac62aee15faac1b5035fdb4d) 9378 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_b92b75d150bd5fbfc03cadec75d59e0f) 9379 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_b9da0d811233cfb64481a7fe08b7f645) 9421 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_c8b0d22ea3470020b35240f778c34a94) 9410 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_d1bc9d7804925b15f8205df0b3efc8a4) 941 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Poly__Con__Relation_a4b60ce3ac62aee15faac1b5035fdb4d) (classParma__Polyhedra__Library_1_1Poly__Con__Relation_f00b427f47054a80d236d124443c580c)]
->> endobj
-12502 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Poly__Con__Relation_f7184f692efc0672e3213f6be9d5cf4c) 9417 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) 1544 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_0ca2fc9566495b3d4ac6b970a301d9a1) 9451 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_306699ac7d5f2c2c909c3a3baf303009) 9474 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_419ea78710f4b45c1542647e1212a3f7) 9450 0 R (classParma__Polyhedra__Lib [...]
-/Limits [(classParma__Polyhedra__Library_1_1Poly__Con__Relation_f7184f692efc0672e3213f6be9d5cf4c) (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_4f7df2a0b66616d7672e562fa8c4e8f6)]
->> endobj
-12503 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Poly__Gen__Relation_5740d23d50b9aa7c95e8b6b51242258d) 9476 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_6d5d2010157ae8f712e4a3e551d355d7) 9478 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_8ede6a8a55e35d1c41065b01afac0342) 9447 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a303fa28c55c391afe4f067f91db36ce) 9448 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_af9d682418e536d9a1f6bd24991e1c56) 945 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Poly__Gen__Relation_5740d23d50b9aa7c95e8b6b51242258d) (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_d99eb5124bfcd9c75379efdde73d1a1a)]
->> endobj
-12504 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Poly__Gen__Relation_de82782e3363de460caad677b3583559) 9482 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_f78754c1ef47797c0acbd31cf48f9caf) 9454 0 R (classParma__Polyhedra__Library_1_1Polyhedron) 1545 0 R (classParma__Polyhedra__Library_1_1Polyhedron_0514c2e57ac8154666e9fe6bb56c0e18) 9576 0 R (classParma__Polyhedra__Library_1_1Polyhedron_08e91d11b3deb5b694356b5573d2547a) 9750 0 R (classParma__Polyhedra__Library_1_1Polyhedron_0a5c586d [...]
-/Limits [(classParma__Polyhedra__Library_1_1Poly__Gen__Relation_de82782e3363de460caad677b3583559) (classParma__Polyhedra__Library_1_1Polyhedron_0a5c586d872f15baf7fd70941fc16c41)]
->> endobj
-12505 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_0c58bbc8bf8db5f570da3db42a0ae2f7) 9848 0 R (classParma__Polyhedra__Library_1_1Polyhedron_0d69bc8c9bd9843262551c7e3e33f5a2) 9568 0 R (classParma__Polyhedra__Library_1_1Polyhedron_0d9abbf681b7b0724963d97596286ae5) 9572 0 R (classParma__Polyhedra__Library_1_1Polyhedron_13f15417d90174f6c2d3648e83d9fcf5) 9628 0 R (classParma__Polyhedra__Library_1_1Polyhedron_1956a63a72283d208851d3fe2b11989b) 1345 0 R (classParma__Polyhedra__Library_1_1Poly [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_0c58bbc8bf8db5f570da3db42a0ae2f7) (classParma__Polyhedra__Library_1_1Polyhedron_1a3647877302fc6e0e583b8b881a7a4f)]
->> endobj
-12506 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_1c64e09d6022054690f7d2bdf4e02138) 1313 0 R (classParma__Polyhedra__Library_1_1Polyhedron_1cecffe684d1faa9b0f6b8d4f227e9ae) 9907 0 R (classParma__Polyhedra__Library_1_1Polyhedron_1d7db8ee4d8972c1818a36d6517ebbff) 9851 0 R (classParma__Polyhedra__Library_1_1Polyhedron_236a18fe8cc922d00ee92a6c6e42f923) 9678 0 R (classParma__Polyhedra__Library_1_1Polyhedron_281b8db6a8e0014ab2c41dd15f8c0708) 9807 0 R (classParma__Polyhedra__Library_1_1Poly [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_1c64e09d6022054690f7d2bdf4e02138) (classParma__Polyhedra__Library_1_1Polyhedron_2aaf9117efebc52a8b45b787075a9647)]
->> endobj
-12507 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_2bf7987a6ee3547c1e125e83e432ee2a) 9522 0 R (classParma__Polyhedra__Library_1_1Polyhedron_304e74729ca34fc67648cbc995e1dfc7) 1316 0 R (classParma__Polyhedra__Library_1_1Polyhedron_31d70a625e092dfdaed4f3232701f35d) 9581 0 R (classParma__Polyhedra__Library_1_1Polyhedron_3569a428ad758dc9ac8273e0f1f77772) 9676 0 R (classParma__Polyhedra__Library_1_1Polyhedron_371deb67f73bf27ac9a7ff6f2216db9c) 9754 0 R (classParma__Polyhedra__Library_1_1Poly [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_2bf7987a6ee3547c1e125e83e432ee2a) (classParma__Polyhedra__Library_1_1Polyhedron_3b49993a1cd4fc6891da88a6259b9f93)]
->> endobj
-12508 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_3c1e5a2419a5f4a5cf89133606ed1680) 9681 0 R (classParma__Polyhedra__Library_1_1Polyhedron_43cd840b1ec99350c222b3f217739cea) 9518 0 R (classParma__Polyhedra__Library_1_1Polyhedron_4b428098e57a9101473a54cd71a0753f) 9684 0 R (classParma__Polyhedra__Library_1_1Polyhedron_4c11206af59b0f6a5471aded55d20961) 9815 0 R (classParma__Polyhedra__Library_1_1Polyhedron_4f514edad990412bd66cc666347103ab) 9749 0 R (classParma__Polyhedra__Library_1_1Poly [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_3c1e5a2419a5f4a5cf89133606ed1680) (classParma__Polyhedra__Library_1_1Polyhedron_4f9a47ba1b29f1e07a32542584d50686)]
->> endobj
-12509 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_50e1047c49fffb06bc5089a06a051a3d) 9751 0 R (classParma__Polyhedra__Library_1_1Polyhedron_527e7c81841bbcf1963c6e260dadfe01) 9812 0 R (classParma__Polyhedra__Library_1_1Polyhedron_547a8d96908afe5a7f9e4ba2e10d7ac8) 9849 0 R (classParma__Polyhedra__Library_1_1Polyhedron_5d53d09dcc839672fedd4ab5d4142d57) 9630 0 R (classParma__Polyhedra__Library_1_1Polyhedron_5df26655af3ae7844569d7086edf8332) 9626 0 R (classParma__Polyhedra__Library_1_1Poly [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_50e1047c49fffb06bc5089a06a051a3d) (classParma__Polyhedra__Library_1_1Polyhedron_5dfef947c46e234a1ffd4707312332ec)]
->> endobj
-12510 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_6187dbe974649c7bd4de8e66f70d3e46) 9577 0 R (classParma__Polyhedra__Library_1_1Polyhedron_672b0568e7a27c37b3afde649f7c0171) 9745 0 R (classParma__Polyhedra__Library_1_1Polyhedron_67a7d08f3cda46f7a743d46f3a6f33b5) 9913 0 R (classParma__Polyhedra__Library_1_1Polyhedron_6b737abc8f33b2a2362e3f9c9ab08d58) 9859 0 R (classParma__Polyhedra__Library_1_1Polyhedron_6c7c72e56241da463eaeccdff79b6d49) 9853 0 R (classParma__Polyhedra__Library_1_1Poly [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_6187dbe974649c7bd4de8e66f70d3e46) (classParma__Polyhedra__Library_1_1Polyhedron_6e73a7d462d6a9a3891fff6c4a923495)]
->> endobj
-12511 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_6e9d9dd7740b414d407c16687c99a88e) 9804 0 R (classParma__Polyhedra__Library_1_1Polyhedron_6fb94f0e966e97bfb9dcf43dddcf12ba) 9524 0 R (classParma__Polyhedra__Library_1_1Polyhedron_7366f9b91109b63f078e963bccd9f5b4) 9806 0 R (classParma__Polyhedra__Library_1_1Polyhedron_73cb0d61cccb259e06b68d4f83deb6d7) 9856 0 R (classParma__Polyhedra__Library_1_1Polyhedron_787615432c9f1d6aac5a6394aea8cfa9) 9336 0 R (classParma__Polyhedra__Library_1_1Poly [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_6e9d9dd7740b414d407c16687c99a88e) (classParma__Polyhedra__Library_1_1Polyhedron_7a8abcefdfb125b7c9ef5f96d352c1df)]
->> endobj
-12512 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_7b8d597a3c23af1fce9d8d3e1d36e11d) 9520 0 R (classParma__Polyhedra__Library_1_1Polyhedron_7df62db3bf13024d4ee9f8aaf0d27dc6) 9631 0 R (classParma__Polyhedra__Library_1_1Polyhedron_7e4bbfa6f481ead40e3ca6231e0f69be) 1320 0 R (classParma__Polyhedra__Library_1_1Polyhedron_7e68bea365fe939d08c91ec4edc61a2b) 9740 0 R (classParma__Polyhedra__Library_1_1Polyhedron_8132d1a9b329271fb4f7faeb59c89c39) 9683 0 R (classParma__Polyhedra__Library_1_1Poly [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_7b8d597a3c23af1fce9d8d3e1d36e11d) (classParma__Polyhedra__Library_1_1Polyhedron_858e0030826ee6c29545a934166874ef)]
->> endobj
-12513 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_86d2bbceaa288f2f605ac88516d313cb) 9862 0 R (classParma__Polyhedra__Library_1_1Polyhedron_87ebe6f7cd176227f61c6d0fe47a4f68) 9814 0 R (classParma__Polyhedra__Library_1_1Polyhedron_8af124edba7c75bc76ec394405aa893e) 9912 0 R (classParma__Polyhedra__Library_1_1Polyhedron_8c33b9ea975535b5aa0882241cf78986) 9570 0 R (classParma__Polyhedra__Library_1_1Polyhedron_8ed700f662722cbebdc9328344ba2839) 9571 0 R (classParma__Polyhedra__Library_1_1Poly [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_86d2bbceaa288f2f605ac88516d313cb) (classParma__Polyhedra__Library_1_1Polyhedron_96e902093a55f87f0aebc2bb13a8d740)]
->> endobj
-12514 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_97011210c7f0b2efa0f837ef2da6c5b3) 1346 0 R (classParma__Polyhedra__Library_1_1Polyhedron_9764ef2f159cfdcca3f151e899bd43ef) 9811 0 R (classParma__Polyhedra__Library_1_1Polyhedron_97ddb3b93ac699eebaca7e79f691b0ad) 9519 0 R (classParma__Polyhedra__Library_1_1Polyhedron_98c785602c5af8f7e0c1be92bb5e8b71) 9805 0 R (classParma__Polyhedra__Library_1_1Polyhedron_9a45b4b8f148a20359a2f3e2b1c2cb2d) 9673 0 R (classParma__Polyhedra__Library_1_1Poly [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_97011210c7f0b2efa0f837ef2da6c5b3) (classParma__Polyhedra__Library_1_1Polyhedron_9ca6b6eed07fd3b72119b8ea58328e5e)]
->> endobj
-12515 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_9f3c5474494eb306717bc3da7c109307) 9575 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a0ac997a15935821583174de968e5bff) 9573 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a26e1a5815b7a0c3b610395c854594bf) 9680 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a38fbbd15d5dc2e98d5b24c92b06c290) 9852 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a39bdf85d6db02629fa73bbcaddab6d5) 9858 0 R (classParma__Polyhedra__Library_1_1Poly [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_9f3c5474494eb306717bc3da7c109307) (classParma__Polyhedra__Library_1_1Polyhedron_a6b6fed08414c86d33fc4a44c59e9e22)]
->> endobj
-12516 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a78179b1d8478dce6cf572af8e0b9cb4) 9854 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a809bff4b85d09cd801e5e5cde1b8c06) 9746 0 R (classParma__Polyhedra__Library_1_1Polyhedron_b1b315e7f04c051a36f48d344dd34052) 9674 0 R (classParma__Polyhedra__Library_1_1Polyhedron_b4959b3da46291de301d9150f5afc3aa) 9905 0 R (classParma__Polyhedra__Library_1_1Polyhedron_b6ab1820f2fdf444d1431ff3af424451) 9904 0 R (classParma__Polyhedra__Library_1_1Poly [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a78179b1d8478dce6cf572af8e0b9cb4) (classParma__Polyhedra__Library_1_1Polyhedron_b7a35f8df974c9e932df6291754859fb)]
->> endobj
-12517 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_bbb7562de97ccf13bd97b57bb5e3ac94) 9574 0 R (classParma__Polyhedra__Library_1_1Polyhedron_be643d7919aa34a2c1112702878f5536) 1318 0 R (classParma__Polyhedra__Library_1_1Polyhedron_bfd98397c137d81dcc27111fba3ccd54) 9679 0 R (classParma__Polyhedra__Library_1_1Polyhedron_c2182f38e9f8acede601c3dcfa71c3b3) 9627 0 R (classParma__Polyhedra__Library_1_1Polyhedron_c251eb38d1b24b8b570d874ee11df424) 9578 0 R (classParma__Polyhedra__Library_1_1Poly [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_bbb7562de97ccf13bd97b57bb5e3ac94) (classParma__Polyhedra__Library_1_1Polyhedron_c5c7acc50141a9104ef5b9b7598c1438)]
->> endobj
-12518 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_c6ea1802e6a6cfb32e5af6d6d26eb424) 9525 0 R (classParma__Polyhedra__Library_1_1Polyhedron_c93800b9ec7aae75937598e1f2209b1f) 9747 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ca90e7afe251a0d4174dcf538b34006b) 9861 0 R (classParma__Polyhedra__Library_1_1Polyhedron_cb75fd68aa10bd15e590e8e8954c5002) 9567 0 R (classParma__Polyhedra__Library_1_1Polyhedron_cbc86683af6afc0818cc9e980a84fcb8) 9752 0 R (classParma__Polyhedra__Library_1_1Poly [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_c6ea1802e6a6cfb32e5af6d6d26eb424) (classParma__Polyhedra__Library_1_1Polyhedron_cf531d280805472a54c22fed0f689932)]
->> endobj
-12519 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_d6a8cc7029bad7ad7ad116c90ff59aec) 9677 0 R (classParma__Polyhedra__Library_1_1Polyhedron_d6d1e866b7ba9bf4233f3a5254cda0f9) 9908 0 R (classParma__Polyhedra__Library_1_1Polyhedron_d84befb6d0ded481871cbef1b7306824) 9911 0 R (classParma__Polyhedra__Library_1_1Polyhedron_d909d5b60cab5d1a6816577c97b60fcf) 9569 0 R (classParma__Polyhedra__Library_1_1Polyhedron_d914801461cad05325559e95b9c4d9c6) 9624 0 R (classParma__Polyhedra__Library_1_1Poly [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_d6a8cc7029bad7ad7ad116c90ff59aec) (classParma__Polyhedra__Library_1_1Polyhedron_dad834921ba7c139b0cb10c507b4070a)]
->> endobj
-12520 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_dd7b66394e6c54bc1ae03a4ed9a33c9e) 9860 0 R (classParma__Polyhedra__Library_1_1Polyhedron_dee3b5c0c3800ce2214e68a156cbcf77) 9816 0 R (classParma__Polyhedra__Library_1_1Polyhedron_e10fbc38125e63858549f5ec8a25e046) 9803 0 R (classParma__Polyhedra__Library_1_1Polyhedron_e1c5216e2ba5c80d77e128daea25b46e) 9523 0 R (classParma__Polyhedra__Library_1_1Polyhedron_e3be29eddce8f41019e7dcb731c8ba7b) 9579 0 R (classParma__Polyhedra__Library_1_1Poly [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_dd7b66394e6c54bc1ae03a4ed9a33c9e) (classParma__Polyhedra__Library_1_1Polyhedron_e58a861a42c5216a2267e3f94ecaec8c)]
->> endobj
-12521 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_e680437fdc213b7174c581caa2e0c0d3) 9583 0 R (classParma__Polyhedra__Library_1_1Polyhedron_e6eef0ed4aa8b3690f01f774dd0722fc) 1317 0 R (classParma__Polyhedra__Library_1_1Polyhedron_e89cd985111a1a27c60a6fcc28ae9788) 9753 0 R (classParma__Polyhedra__Library_1_1Polyhedron_eb14f5522982b3874f2cd19586813421) 9741 0 R (classParma__Polyhedra__Library_1_1Polyhedron_eb30e6558c9efffc62d5765b3bfe5e4f) 1315 0 R (classParma__Polyhedra__Library_1_1Poly [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_e680437fdc213b7174c581caa2e0c0d3) (classParma__Polyhedra__Library_1_1Polyhedron_ec640128c6492defc09c4d6ad5d3ea19)]
->> endobj
-12522 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_efab726809c553c136e5d8fda50c276e) 9850 0 R (classParma__Polyhedra__Library_1_1Polyhedron_f074d4d4d406dd065812b32cc8714222) 9809 0 R (classParma__Polyhedra__Library_1_1Polyhedron_f15f956dac6d4b19ecd8fee0f9718f29) 9902 0 R (classParma__Polyhedra__Library_1_1Polyhedron_f47944944e16e786df5c0671e7baa995) 9748 0 R (classParma__Polyhedra__Library_1_1Polyhedron_f496ec55802726ee3b39e52458ab0647) 9900 0 R (classParma__Polyhedra__Library_1_1Poly [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_efab726809c553c136e5d8fda50c276e) (classParma__Polyhedra__Library_1_1Polyhedron_f60c3f345fb8ec8c708e49e8fa33f737)]
->> endobj
-12523 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_f740303d5461c838735ec53c5c1f8855) 9580 0 R (classParma__Polyhedra__Library_1_1Polyhedron_fc2a04d2049183cddbcf70316fdf40e7) 9909 0 R (classParma__Polyhedra__Library_1_1Powerset) 1546 0 R (classParma__Polyhedra__Library_1_1Powerset_01b873b0e820222e07789c3ba5fa48ae) 10351 0 R (classParma__Polyhedra__Library_1_1Powerset_04aed5c92cf15c71ce85b8cc173a893b) 10301 0 R (classParma__Polyhedra__Library_1_1Powerset_057c4f38d0e8b8a146af731dbd91864f [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_f740303d5461c838735ec53c5c1f8855) (classParma__Polyhedra__Library_1_1Powerset_057c4f38d0e8b8a146af731dbd91864f)]
->> endobj
-12524 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Powerset_0a660ed1cfae2599d7f9236f2084d499) 10352 0 R (classParma__Polyhedra__Library_1_1Powerset_113964ab3d7ea36326ce962629a322ce) 10341 0 R (classParma__Polyhedra__Library_1_1Powerset_1c71c9b7d1de1b77eeb054e1c0ac935e) 10251 0 R (classParma__Polyhedra__Library_1_1Powerset_1ee74f5687635ddbb9729be31a37e2d3) 10343 0 R (classParma__Polyhedra__Library_1_1Powerset_241c65ff3d32769cbb9badd2c8e00ca5) 10303 0 R (classParma__Polyhedra__Library_1_1Powerset_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Powerset_0a660ed1cfae2599d7f9236f2084d499) (classParma__Polyhedra__Library_1_1Powerset_272424f5d0df282c6d1ee63a5c84e3e6)]
->> endobj
-12525 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Powerset_277ba920e188477bb301196b19d63770) 10296 0 R (classParma__Polyhedra__Library_1_1Powerset_2a7c225e4f50e2287216dcd77eaf27d5) 10385 0 R (classParma__Polyhedra__Library_1_1Powerset_2edf5fe7007a3e91a404546ca2f2d98c) 10309 0 R (classParma__Polyhedra__Library_1_1Powerset_30e0b0c2c668e73566cb1720d72cdac2) 10348 0 R (classParma__Polyhedra__Library_1_1Powerset_36becc8c3ace976043199807351d5b04) 10247 0 R (classParma__Polyhedra__Library_1_1Powerset_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Powerset_277ba920e188477bb301196b19d63770) (classParma__Polyhedra__Library_1_1Powerset_37703f96495cf4bcb8ced3ff20e4c396)]
->> endobj
-12526 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Powerset_386fa9c84bc37468f1a3a2b860a0bc3d) 10307 0 R (classParma__Polyhedra__Library_1_1Powerset_411d42e5b59a492742793834efeeabc1) 10254 0 R (classParma__Polyhedra__Library_1_1Powerset_44b0a622563e60fe28b91b7e9ff76364) 10306 0 R (classParma__Polyhedra__Library_1_1Powerset_5534b8f8fbd973bfb7051cf5fb31f19d) 10345 0 R (classParma__Polyhedra__Library_1_1Powerset_5a36a32ab46d46f574f3091e931e2bd2) 10257 0 R (classParma__Polyhedra__Library_1_1Powerset_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Powerset_386fa9c84bc37468f1a3a2b860a0bc3d) (classParma__Polyhedra__Library_1_1Powerset_5c3bee913efb87e4661df746e184e1e1)]
->> endobj
-12527 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Powerset_5d2c2fc2c077e77db657af49d332c9b5) 10375 0 R (classParma__Polyhedra__Library_1_1Powerset_5eb3117d3d7d0566a99f9f5807276864) 10305 0 R (classParma__Polyhedra__Library_1_1Powerset_66e3e2f2433738665eb748d2f6c5878f) 10255 0 R (classParma__Polyhedra__Library_1_1Powerset_6f4469416e02c586de17284317f8a92e) 10248 0 R (classParma__Polyhedra__Library_1_1Powerset_754f66ed06474d4b68a93131af02a86f) 10297 0 R (classParma__Polyhedra__Library_1_1Powerset_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Powerset_5d2c2fc2c077e77db657af49d332c9b5) (classParma__Polyhedra__Library_1_1Powerset_7607ef1c8ef6b668dd2be62c39330406)]
->> endobj
-12528 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Powerset_8691a3facce4d6f973b48743fa42ec42) 10386 0 R (classParma__Polyhedra__Library_1_1Powerset_86f44d9d38638be46ef23422783f847e) 10382 0 R (classParma__Polyhedra__Library_1_1Powerset_8c82df1de8703aefeab268dc9ffc557f) 10259 0 R (classParma__Polyhedra__Library_1_1Powerset_900663a0e97525c064ccf31152fa8ae7) 10250 0 R (classParma__Polyhedra__Library_1_1Powerset_9fb86f09111d4ac21fdc7c7baa86e622) 10304 0 R (classParma__Polyhedra__Library_1_1Powerset_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Powerset_8691a3facce4d6f973b48743fa42ec42) (classParma__Polyhedra__Library_1_1Powerset_a215867508a89858bcc7ab025f8d20f1)]
->> endobj
-12529 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Powerset_a55b32c299b7d7bec303f636b66ef624) 10387 0 R (classParma__Polyhedra__Library_1_1Powerset_ab7519865a52fbbc8dc2031135a9fb41) 10261 0 R (classParma__Polyhedra__Library_1_1Powerset_b66151b86ac8c495eba1a3209501928a) 10302 0 R (classParma__Polyhedra__Library_1_1Powerset_b955487a974e74224f3d72d743ee78a4) 10339 0 R (classParma__Polyhedra__Library_1_1Powerset_ba65a2c1a6d563f5058479bc07181b9a) 10383 0 R (classParma__Polyhedra__Library_1_1Powerset_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Powerset_a55b32c299b7d7bec303f636b66ef624) (classParma__Polyhedra__Library_1_1Powerset_c3283cf8fd0dd8ff2a319cba1dead1f2)]
->> endobj
-12530 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Powerset_cdc1e9b5ac338be9d0584d50d275226e) 10258 0 R (classParma__Polyhedra__Library_1_1Powerset_d25e2d27e5d731e6b63fb84a65700faf) 10260 0 R (classParma__Polyhedra__Library_1_1Powerset_d34bafd07f582c558936f9ea8892abd6) 10376 0 R (classParma__Polyhedra__Library_1_1Powerset_d3bda090e4ac93d937ac4dd775c20919) 10342 0 R (classParma__Polyhedra__Library_1_1Powerset_dab2c45cbec19ad11bf34db42b794508) 10298 0 R (classParma__Polyhedra__Library_1_1Powerset_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Powerset_cdc1e9b5ac338be9d0584d50d275226e) (classParma__Polyhedra__Library_1_1Powerset_dab8b3f43dd9a5e707b95e15a9c282f8)]
->> endobj
-12531 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Powerset_def4c62b5cdf5186801c592cc62dccea) 10350 0 R (classParma__Polyhedra__Library_1_1Powerset_e006881831b298f0af5031e99df2bc6f) 10256 0 R (classParma__Polyhedra__Library_1_1Powerset_ee126cc2eef44ab1d2055d0d15bc3169) 10349 0 R (classParma__Polyhedra__Library_1_1Powerset_f60bb41867a12ce28144596e3cc1406a) 10252 0 R (classParma__Polyhedra__Library_1_1Powerset_fe22acf3f8e5b6c20880acd443350482) 10340 0 R (classParma__Polyhedra__Library_1_1Smash__Re [...]
-/Limits [(classParma__Polyhedra__Library_1_1Powerset_def4c62b5cdf5186801c592cc62dccea) (classParma__Polyhedra__Library_1_1Smash__Reduction)]
->> endobj
-12532 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Smash__Reduction_8041e8b3420a554e9637e4dfcf43c2b1) 10438 0 R (classParma__Polyhedra__Library_1_1Smash__Reduction_a3b0210cf6bc4dc319d24d429518c61d) 10434 0 R (classParma__Polyhedra__Library_1_1Smash__Reduction_a4959b6198e090d37abbd07085b74a30) 10433 0 R (classParma__Polyhedra__Library_1_1Throwable) 1549 0 R (classParma__Polyhedra__Library_1_1Throwable_14c081beabe1e165b1dc44b2a84b6c2b) 10459 0 R (classParma__Polyhedra__Library_1_1Throwable_5024cc2 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Smash__Reduction_8041e8b3420a554e9637e4dfcf43c2b1) (classParma__Polyhedra__Library_1_1Throwable_5024cc2b142473f5f733a8808cb09162)]
->> endobj
-12533 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Variable) 1550 0 R (classParma__Polyhedra__Library_1_1Variable_0431b025f2e3c1b5d3cef06c4054f726) 10491 0 R (classParma__Polyhedra__Library_1_1Variable_44e2225e59844067e005297572cd9ca5) 10467 0 R (classParma__Polyhedra__Library_1_1Variable_49b4a338d3d82bfb7a404ea87481fc4d) 10489 0 R (classParma__Polyhedra__Library_1_1Variable_5012c55d8fdb1420b80a3bfbe5a5b843) 10494 0 R (classParma__Polyhedra__Library_1_1Variable_56a9fd5bee6f87ae9079aed0bc3de31a)  [...]
-/Limits [(classParma__Polyhedra__Library_1_1Variable) (classParma__Polyhedra__Library_1_1Variable_56a9fd5bee6f87ae9079aed0bc3de31a)]
->> endobj
-12534 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Variable_7102c6fe85d4c8e6939d29a047becbdb) 10465 0 R (classParma__Polyhedra__Library_1_1Variable_75683687bda865c93db529b76271bed2) 10495 0 R (classParma__Polyhedra__Library_1_1Variable_8dfe38ded52523b20209cce599411c4c) 10466 0 R (classParma__Polyhedra__Library_1_1Variable_a5f2c0410e128e2f082d761ef36820da) 10493 0 R (classParma__Polyhedra__Library_1_1Variable_bb6a26c12f7bdee7504d577ca81992e0) 10464 0 R (classParma__Polyhedra__Library_1_1Variable_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Variable_7102c6fe85d4c8e6939d29a047becbdb) (classParma__Polyhedra__Library_1_1Variable_d71d7986fdfd19215fc87726ebacf555)]
->> endobj
-12535 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Variable_ed0f237309569c2bfbf9e6f60740974e) 10490 0 R (classParma__Polyhedra__Library_1_1Variables__Set) 1552 0 R (classParma__Polyhedra__Library_1_1Variables__Set_0b93ff227453cf62d922dab902055f8b) 10557 0 R (classParma__Polyhedra__Library_1_1Variables__Set_32b7f9e0a2f54d199ad55bc008bfa62e) 10554 0 R (classParma__Polyhedra__Library_1_1Variables__Set_3a5d4b3fb638414792155bcef8b54c1c) 10556 0 R (classParma__Polyhedra__Library_1_1Variables__Set_3d49 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Variable_ed0f237309569c2bfbf9e6f60740974e) (classParma__Polyhedra__Library_1_1Variables__Set_3d49b2488d36bda4fef0109bedf6b0cc)]
->> endobj
-12536 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Variables__Set_4090b6696c19cb93c705d9a9e06f4915) 10553 0 R (classParma__Polyhedra__Library_1_1Variables__Set_4c3c15515e1335fb69130aad4f371a1c) 10558 0 R (classParma__Polyhedra__Library_1_1Variables__Set_4e8f85cded8a6be1916c2cc0bb31c540) 10555 0 R (classParma__Polyhedra__Library_1_1Variables__Set_5842c4add70aabcc093269aea7a348e5) 10560 0 R (classParma__Polyhedra__Library_1_1Variables__Set_587efac6e5a2fbde0a1866dbe4427224) 10570 0 R (classParma__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Variables__Set_4090b6696c19cb93c705d9a9e06f4915) (classParma__Polyhedra__Library_1_1Variables__Set_6faffe6889615dc0491bf86dd601172c)]
->> endobj
-12537 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Variables__Set_7176b36adef9683aae06961175ad94cb) 10552 0 R (classParma__Polyhedra__Library_1_1Variables__Set_ca3690ce9d77a85740cdf8a508edf127) 10559 0 R (classParma__Polyhedra__Library_1_1Variables__Set_d7bdf8849f22908ce11574a04ba875df) 10576 0 R (classParma__Polyhedra__Library_1_1Variables__Set_da205f4442f845f797fb108c121fe371) 10549 0 R (deprecated) 1188 0 R (deprecated__deprecated000001) 1299 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Variables__Set_7176b36adef9683aae06961175ad94cb) (deprecated__deprecated000001)]
->> endobj
-12538 0 obj <<
-/Names [(deprecated__deprecated000002) 1300 0 R (deprecated__deprecated000003) 1301 0 R (deprecated__deprecated000004) 1302 0 R (deprecated__deprecated000005) 1303 0 R (deprecated__deprecated000006) 1304 0 R (deprecated__deprecated000007) 1305 0 R]
-/Limits [(deprecated__deprecated000002) (deprecated__deprecated000007)]
->> endobj
-12539 0 obj <<
-/Names [(deprecated__deprecated000008) 1306 0 R (deprecated__deprecated000009) 1341 0 R (deprecated__deprecated000010) 1342 0 R (deprecated__deprecated000011) 1343 0 R (deprecated__deprecated000012) 1236 0 R (deprecated__deprecated000013) 1237 0 R]
-/Limits [(deprecated__deprecated000008) (deprecated__deprecated000013)]
->> endobj
-12540 0 obj <<
-/Names [(deprecated__deprecated000014) 1238 0 R (deprecated__deprecated000015) 1239 0 R (deprecated__deprecated000016) 1240 0 R (deprecated__deprecated000017) 1241 0 R (deprecated__deprecated000018) 1242 0 R (deprecated__deprecated000019) 1243 0 R]
-/Limits [(deprecated__deprecated000014) (deprecated__deprecated000019)]
->> endobj
-12541 0 obj <<
-/Names [(deprecated__deprecated000020) 1244 0 R (deprecated__deprecated000021) 1245 0 R (deprecated__deprecated000022) 1293 0 R (deprecated__deprecated000023) 1189 0 R (deprecated__deprecated000024) 1190 0 R (deprecated__deprecated000025) 1191 0 R]
-/Limits [(deprecated__deprecated000020) (deprecated__deprecated000025)]
->> endobj
-12542 0 obj <<
-/Names [(deprecated__deprecated000026) 1192 0 R (deprecated__deprecated000027) 1193 0 R (deprecated__deprecated000028) 1233 0 R (deprecated__deprecated000029) 1234 0 R (deprecated__deprecated000030) 1235 0 R (deprecated__deprecated000031) 1294 0 R]
-/Limits [(deprecated__deprecated000026) (deprecated__deprecated000031)]
->> endobj
-12543 0 obj <<
-/Names [(deprecated__deprecated000032) 1295 0 R (deprecated__deprecated000033) 1296 0 R (deprecated__deprecated000034) 1297 0 R (deprecated__deprecated000035) 1298 0 R (group__PPL__CXX__interface) 1537 0 R (group__PPL__CXX__interface_g00a906832c41c42a70a5c9d194e07a7d) 1772 0 R]
-/Limits [(deprecated__deprecated000032) (group__PPL__CXX__interface_g00a906832c41c42a70a5c9d194e07a7d)]
->> endobj
-12544 0 obj <<
-/Names [(group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) 1761 0 R (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) 1754 0 R (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) 1709 0 R (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) 1682 0 R (group__PPL__CXX__interface_g616fcdc7600a3a11a8a9152e75730899) 1751 0 R (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) 1681 0 R]
-/Limits [(group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783)]
->> endobj
-12545 0 obj <<
-/Names [(group__PPL__CXX__interface_g79bd3696a302bb721ef8168fa5d650fb) 1679 0 R (group__PPL__CXX__interface_g7a529f51bfebdd4b3e69c866dced9bc1) 1664 0 R (group__PPL__CXX__interface_g8458e58a5e857de11c35ce3076a70ab8) 1677 0 R (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) 1680 0 R (group__PPL__CXX__interface_ga88e9b9cb2588cbf5914695fc14e69a8) 1683 0 R (group__PPL__CXX__interface_gac82e7e0179442ef589f2fc61302d654) 1765 0 R]
-/Limits [(group__PPL__CXX__interface_g79bd3696a302bb721ef8168fa5d650fb) (group__PPL__CXX__interface_gac82e7e0179442ef589f2fc61302d654)]
->> endobj
-12546 0 obj <<
-/Names [(group__PPL__CXX__interface_gbadfeba0a415d210cdd6d7309365e800) 1678 0 R (group__PPL__CXX__interface_gdf9d6f17d8974c81e3499f170e7762a2) 1768 0 R (group__PPL__CXX__interface_ge19dfe022c51c874d905e2a7c81c18f1) 1621 0 R (group__PPL__CXX__interface_gg113f1e845cba6b1c3c5705d0e14f1cc140409716eac06f7ee5c44a200d3702f0) 1764 0 R (group__PPL__CXX__interface_gg113f1e845cba6b1c3c5705d0e14f1cc171c9b0459dc8ba8cc0c8178b6cf4f017) 1762 0 R (group__PPL__CXX__interface_gg113f1e845cba6b1c3c5705d0e14f [...]
-/Limits [(group__PPL__CXX__interface_gbadfeba0a415d210cdd6d7309365e800) (group__PPL__CXX__interface_gg113f1e845cba6b1c3c5705d0e14f1cc1b39e3c667ce455313f8ff578722af2e9)]
->> endobj
-12547 0 obj <<
-/Names [(group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae079e4b80f17b0095497103a52cffa3ab) 1758 0 R (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae3e4424ce8e7ebe86e125541b561fc300) 1757 0 R (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae556cc08f48e769b9c15bea83d5d883a1) 1755 0 R (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae8191bdbdcd041a9859ed465d16062ab1) 1760 0 R (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae94 [...]
-/Limits [(group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae079e4b80f17b0095497103a52cffa3ab) (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312aed8db7109fb4bb50360b05800dd245416)]
->> endobj
-12548 0 obj <<
-/Names [(group__PPL__CXX__interface_gg25ea3a289eadef732f4c7fd823387fb20f182c5824807f7bc66d2d2033810feb) 1712 0 R (group__PPL__CXX__interface_gg25ea3a289eadef732f4c7fd823387fb2a57b0c1a34eced57ca8437eea92a4328) 1711 0 R (group__PPL__CXX__interface_gg25ea3a289eadef732f4c7fd823387fb2beee33de6f8542b0228161d044640eaa) 1710 0 R (group__PPL__CXX__interface_gg25ea3a289eadef732f4c7fd823387fb2eafcc7ca16bda73dc6b0f7deaf9470dd) 1713 0 R (group__PPL__CXX__interface_gg616fcdc7600a3a11a8a9152e757308990e [...]
-/Limits [(group__PPL__CXX__interface_gg25ea3a289eadef732f4c7fd823387fb20f182c5824807f7bc66d2d2033810feb) (group__PPL__CXX__interface_gg616fcdc7600a3a11a8a9152e75730899c7753e1dd51e1b7b3fdfafa9f8332370)]
->> endobj
-12549 0 obj <<
-/Names [(group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8057025d0ff550a2226a0a1273c84b4f6) 1698 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a805e540f453fd070a4e4c0fdd887f4b7a) 1695 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a80905d51325862cb4db00635875efcff8) 1706 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a80d808c2d0d6514c33e06445d7aa34270) 1691 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a820 [...]
-/Limits [(group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8057025d0ff550a2226a0a1273c84b4f6) (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8261922c7bb53bf71459671df868e55da)]
->> endobj
-12550 0 obj <<
-/Names [(group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a85912e00d1de38a643d48af1f0e5dd35f) 1700 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a86c817c11198882f3864d8ace4ec326dd) 1690 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8930a62d56d7231cdb1ed57e1d3eff0f7) 1702 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a89606fc251d767040929d3e2645dbb446) 1696 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a896 [...]
-/Limits [(group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a85912e00d1de38a643d48af1f0e5dd35f) (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8979f37a289d4cb316643f1dcc07ec7cd)]
->> endobj
-12551 0 obj <<
-/Names [(group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a89f5dce9506b72773425c0504845d8e4e) 1687 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8a0f28596ac7d4a43766fab174c28ccab) 1704 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8a1bf7bec2cb0d949e45c3cd0e25874a6) 1699 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8a7ce2ad16ee907ff9d31eeb1cda41834) 1693 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8b3 [...]
-/Limits [(group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a89f5dce9506b72773425c0504845d8e4e) (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8bd1bad185f4622d07b171767dafc78b6)]
->> endobj
-12552 0 obj <<
-/Names [(group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8bd640c30f757e4ecccd08ac527536ca6) 1692 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8c77955fc77a169347da8820b46c3247b) 1689 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8d5e386c6a05c9656eac42fe9e2cdd8b5) 1688 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8e0c660bfcbcd3d10c3e764e22f41d0a1) 1697 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8e7 [...]
-/Limits [(group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8bd640c30f757e4ecccd08ac527536ca6) (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8fda2f32e2fc3f61357ce0d9d7813f5fc)]
->> endobj
-12553 0 obj <<
-/Names [(group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8fdd3365de1a07c7f7bdd1dc330bba8f4) 1708 0 R (group__PPL__CXX__interface_ggac82e7e0179442ef589f2fc61302d6540e1a601a53491f60c89282fde55b5352) 1767 0 R (group__PPL__CXX__interface_ggac82e7e0179442ef589f2fc61302d654324bf568397fdfc332a4c06e7a4facf5) 1766 0 R (group__PPL__CXX__interface_ggdf9d6f17d8974c81e3499f170e7762a253f4353b82f1a10a08b1e756bb7c84ad) 1769 0 R (group__PPL__CXX__interface_ggdf9d6f17d8974c81e3499f170e7762a278 [...]
-/Limits [(group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8fdd3365de1a07c7f7bdd1dc330bba8f4) (group__PPL__CXX__interface_ggdf9d6f17d8974c81e3499f170e7762a2b2bc77b49f9450faf5b5f8ca5374421d)]
->> endobj
-12554 0 obj <<
-/Names [(index) 467 0 R (main_A_Note_on_the_Implementation_of_the_Operators) 902 0 R (main_Adding_New_Dimensions_to_the_Vector_Space) 609 0 R (main_Adding_a_Disjunct) 859 0 R (main_Affine_Hyperplanes_and_Half_spaces) 543 0 R (main_Affine_Independence_and_Affine_Dimension) 593 0 R]
-/Limits [(index) (main_Affine_Independence_and_Affine_Dimension)]
->> endobj
-12555 0 obj <<
-/Names [(main_Anc91) 928 0 R (main_BA05) 929 0 R (main_BCCetal02) 719 0 R (main_BDHetal05) 752 0 R (main_BDHetal06) 931 0 R (main_BDHetal07) 932 0 R]
-/Limits [(main_Anc91) (main_BDHetal07)]
->> endobj
-12556 0 obj <<
-/Names [(main_BFT00) 933 0 R (main_BFT01) 934 0 R (main_BGP99) 893 0 R (main_BHMZ04) 935 0 R (main_BHMZ05_widening) 734 0 R (main_BHMZ05a) 738 0 R]
-/Limits [(main_BFT00) (main_BHMZ05a)]
->> endobj
-12557 0 obj <<
-/Names [(main_BHMZ05b) 951 0 R (main_BHRZ03_widening) 682 0 R (main_BHRZ03a) 685 0 R (main_BHRZ03b) 952 0 R (main_BHRZ05) 953 0 R (main_BHZ02a) 954 0 R]
-/Limits [(main_BHMZ05b) (main_BHZ02a)]
->> endobj
-12558 0 obj <<
-/Names [(main_BHZ02b) 955 0 R (main_BHZ03a) 956 0 R (main_BHZ03b) 894 0 R (main_BHZ04) 843 0 R (main_BHZ05) 957 0 R (main_BHZ06a) 958 0 R]
-/Limits [(main_BHZ02b) (main_BHZ06a)]
->> endobj
-12559 0 obj <<
-/Names [(main_BHZ06b) 959 0 R (main_BHZ07a) 960 0 R (main_BHZ07b) 974 0 R (main_BHZ07c) 961 0 R (main_BHZ08a) 975 0 R (main_BHZ08b) 976 0 R]
-/Limits [(main_BHZ06b) (main_BHZ08b)]
->> endobj
-12560 0 obj <<
-/Names [(main_BHZ09a) 977 0 R (main_BHZ09b) 978 0 R (main_BHZ09c) 979 0 R (main_BJT99) 980 0 R (main_BK89) 981 0 R (main_BRZH02a) 982 0 R]
-/Limits [(main_BHZ09a) (main_BRZH02a)]
->> endobj
-12561 0 obj <<
-/Names [(main_BRZH02b) 545 0 R (main_BRZH02c) 983 0 R (main_Bag97) 930 0 R (main_Bag98) 842 0 R (main_Basic_Geometric_Descriptors) 491 0 R (main_Bounded_Difference_Shapes) 715 0 R]
-/Limits [(main_BRZH02b) (main_Bounded_Difference_Shapes)]
->> endobj
-12562 0 obj <<
-/Names [(main_Bounded_Polyhedra) 557 0 R (main_CC76) 718 0 R (main_CC76_extrapolation) 735 0 R (main_CC76_interval_widening) 703 0 R (main_CC79) 991 0 R (main_CC92) 992 0 R]
-/Limits [(main_Bounded_Polyhedra) (main_CC92)]
->> endobj
-12563 0 obj <<
-/Names [(main_CH78) 737 0 R (main_Certificate_Based_Widenings) 891 0 R (main_Che64) 993 0 R (main_Che65) 994 0 R (main_Che68) 995 0 R (main_Collapsing_a_Powerset_Element) 862 0 R]
-/Limits [(main_CH78) (main_Collapsing_a_Powerset_Element)]
->> endobj
-12564 0 obj <<
-/Names [(main_Combinations_and_Hulls) 569 0 R (main_Concatenating_Polyhedra) 607 0 R (main_Congruence_Relations) 744 0 R (main_Constraint_Geometric_Descriptors) 493 0 R (main_Constraints_Representation) 560 0 R (main_Convex_Polyhedra) 555 0 R]
-/Limits [(main_Combinations_and_Hulls) (main_Convex_Polyhedra)]
->> endobj
-12565 0 obj <<
-/Names [(main_Convex_Polyhedral_Difference) 605 0 R (main_Cylindrification) 657 0 R (main_Dan63) 996 0 R (main_Double_Description) 582 0 R (main_Expanding_One_Dimension_of_the_Vector_Space_to_Multiple_Dimensions) 624 0 R (main_Extrapolation_Operators) 698 0 R]
-/Limits [(main_Convex_Polyhedral_Difference) (main_Extrapolation_Operators)]
->> endobj
-12566 0 obj <<
-/Names [(main_FP96) 997 0 R (main_Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension) 627 0 R (main_Fuk98) 546 0 R (main_GDDetal04) 628 0 R (main_GJ00) 998 0 R (main_GJ01) 999 0 R]
-/Limits [(main_FP96) (main_GJ01)]
->> endobj
-12567 0 obj <<
-/Names [(main_GR77) 1000 0 R (main_Generalized_Affine_Relations) 655 0 R (main_Generator_Geometric_Descriptors) 506 0 R (main_Generators_Representation) 573 0 R (main_Generic_Operations_on_Semantic_Geometric_Descriptors) 514 0 R (main_Geometric_Comparisons) 882 0 R]
-/Limits [(main_GR77) (main_Geometric_Comparisons)]
->> endobj
-12568 0 obj <<
-/Names [(main_Gra91) 1001 0 R (main_Gra97) 1010 0 R (main_Grid_Add_Space_Dimensions) 786 0 R (main_Grid_Affine_Dimension) 769 0 R (main_Grid_Affine_Transformation) 808 0 R (main_Grid_Concatenate) 784 0 R]
-/Limits [(main_Gra91) (main_Grid_Concatenate)]
->> endobj
-12569 0 obj <<
-/Names [(main_Grid_Difference) 782 0 R (main_Grid_Expand_Space_Dimension) 797 0 R (main_Grid_Extrapolation) 836 0 R (main_Grid_Fold_Space_Dimensions) 799 0 R (main_Grid_Generalized_Image) 810 0 R (main_Grid_Generator_Representation) 760 0 R]
-/Limits [(main_Grid_Difference) (main_Grid_Generator_Representation)]
->> endobj
-12570 0 obj <<
-/Names [(main_Grid_Intersection_and_Join) 780 0 R (main_Grid_Map_Space_Dimensions) 795 0 R (main_Grid_Minimized_Representations) 763 0 R (main_Grid_Relation_With) 820 0 R (main_Grid_Remove_Space_Dimensions) 793 0 R (main_Grid_Space_Dimensions) 767 0 R]
-/Limits [(main_Grid_Intersection_and_Join) (main_Grid_Space_Dimensions)]
->> endobj
-12571 0 obj <<
-/Names [(main_Grid_Time_Elapse) 812 0 R (main_Grid_Widening) 822 0 R (main_Grid_Widening_with_Tokens) 834 0 R (main_Grids_Double_Description_Grids) 765 0 R (main_H79_widening) 681 0 R (main_HH95) 1012 0 R]
-/Limits [(main_Grid_Time_Elapse) (main_HH95)]
->> endobj
-12572 0 obj <<
-/Names [(main_HHL90) 1013 0 R (main_HKP95) 1014 0 R (main_HLW94) 1015 0 R (main_HMT71) 663 0 R (main_HPR94) 1016 0 R (main_HPR97) 664 0 R]
-/Limits [(main_HHL90) (main_HPR97)]
->> endobj
-12573 0 obj <<
-/Names [(main_HPWT01) 1017 0 R (main_Hal79) 684 0 R (main_Hal93) 1011 0 R (main_Images_and_Preimages_of_Affine_Transfer_Relations) 637 0 R (main_Integer_Combinations) 748 0 R (main_Intersection_and_Convex_Polyhedral_Hull) 603 0 R]
-/Limits [(main_HPWT01) (main_Intersection_and_Convex_Polyhedral_Hull)]
->> endobj
-12574 0 obj <<
-/Names [(main_Intervals_and_Boxes) 702 0 R (main_JMSY94) 1019 0 R (main_Jea02) 1018 0 R (main_KBBetal06) 1020 0 R (main_Kuh56) 1021 0 R (main_LW97) 1032 0 R]
-/Limits [(main_Intervals_and_Boxes) (main_LW97)]
->> endobj
-12575 0 obj <<
-/Names [(main_LeV92) 1022 0 R (main_Loe99) 1031 0 R (main_MRTT53) 1040 0 R (main_Mapping_the_Dimensions_of_the_Vector_Space) 619 0 R (main_Mas92) 1033 0 R (main_Mas93) 1034 0 R]
-/Limits [(main_LeV92) (main_Mas93)]
->> endobj
-12576 0 obj <<
-/Names [(main_Meet_Preserving_Simplification) 661 0 R (main_Meet_and_Upper_Bound) 856 0 R (main_Min01a) 1035 0 R (main_Min01b) 1036 0 R (main_Min02) 1037 0 R (main_Min04) 1038 0 R]
-/Limits [(main_Meet_Preserving_Simplification) (main_Min04)]
->> endobj
-12577 0 obj <<
-/Names [(main_Min05) 1039 0 R (main_Minimized_Representations) 580 0 R (main_NF01) 1041 0 R (main_NJPF99) 1042 0 R (main_NO77) 1043 0 R (main_NO80) 1044 0 R]
-/Limits [(main_Min05) (main_NO80)]
->> endobj
-12578 0 obj <<
-/Names [(main_NR00) 1045 0 R (main_NW88) 547 0 R (main_Octagonal_Shapes) 717 0 R (main_On_Const_Correctness_A_Warning_about_the_Use_of_References_and_Iterators) 915 0 R (main_On_Object_Orientation_and_Polymorphism_A_Disclaimer) 913 0 R (main_On_Pointset_Powerset_and_Partially_Reduced_Product_Domains_A_Warning) 904 0 R]
-/Limits [(main_NR00) (main_On_Pointset_Powerset_and_Partially_Reduced_Product_Domains_A_Warning)]
->> endobj
-12579 0 obj <<
-/Names [(main_Operations_on_Convex_Polyhedra) 602 0 R (main_PS98) 1054 0 R (main_Pairwise_Merge) 885 0 R (main_Points_Closure_Points_Rays_and_Lines) 571 0 R (main_Points_Parameters_Lines) 750 0 R (main_Powerset_Extrapolation_Operators) 888 0 R]
-/Limits [(main_Operations_on_Convex_Polyhedra) (main_Powerset_Extrapolation_Operators)]
->> endobj
-12580 0 obj <<
-/Names [(main_Powerset_Meet_Preserving_Simplification) 683 0 R (main_Pra77) 1053 0 R (main_QRR96) 1055 0 R (main_QRR97) 1056 0 R (main_QRW00) 1057 0 R (main_RBL06) 1058 0 R]
-/Limits [(main_Powerset_Meet_Preserving_Simplification) (main_RBL06)]
->> endobj
-12581 0 obj <<
-/Names [(main_Rational_Grids) 746 0 R (main_Rational_Polyhedra) 595 0 R (main_Relation_With_Operators) 677 0 R (main_Removing_Dimensions_from_the_Vector_Space) 617 0 R (main_Ric02) 1059 0 R (main_SK07) 1061 0 R]
-/Limits [(main_Rational_Grids) (main_SK07)]
->> endobj
-12582 0 obj <<
-/Names [(main_SS07) 1063 0 R (main_SW70) 1064 0 R (main_Sch99) 771 0 R (main_Semantic_Geometric_Descriptors) 469 0 R (main_Sho81) 1060 0 R (main_Single_Update_Affine_Functions) 644 0 R]
-/Limits [(main_SS07) (main_Single_Update_Affine_Functions)]
->> endobj
-12583 0 obj <<
-/Names [(main_Single_Update_Bounded_Affine_Relations) 653 0 R (main_Space_Dimensions_and_Dimension_Compatibility) 591 0 R (main_Sri93) 1062 0 R (main_Syntactic_Geometric_Descriptors) 489 0 R (main_The_Powerset_Domain) 840 0 R (main_Time_Elapse_Operator) 659 0 R]
-/Limits [(main_Single_Update_Bounded_Affine_Relations) (main_Time_Elapse_Operator)]
->> endobj
-12584 0 obj <<
-/Names [(main_Topologies_and_Topological_compatibility) 562 0 R (main_Upward_Approximation) 535 0 R (main_Vectors_Matrices_and_Scalar_Products) 536 0 R (main_War03) 1065 0 R (main_Weakly_Relational_Shape_Interface) 730 0 R (main_Weakly_Relational_Shapes) 714 0 R]
-/Limits [(main_Topologies_and_Topological_compatibility) (main_Weakly_Relational_Shapes)]
->> endobj
-12585 0 obj <<
-/Names [(main_Wey35) 1066 0 R (main_Wey50) 1067 0 R (main_Widening_Operators) 679 0 R (main_Widening_and_Extrapolation_Operators_on_Boxes) 712 0 R (main_Widening_and_Extrapolation_Operators_on_WR_Shapes) 732 0 R (main_Widening_with_Tokens) 696 0 R]
-/Limits [(main_Wey35) (main_Widening_with_Tokens)]
->> endobj
-12586 0 obj <<
-/Names [(main_Wil93) 548 0 R (main_affine_relation) 636 0 R (main_bibliography) 927 0 R (main_bounded_extrapolation) 701 0 R (main_convex_polys) 474 0 R (main_expand_space_dimension) 623 0 R]
-/Limits [(main_Wil93) (main_expand_space_dimension)]
->> endobj
-12587 0 obj <<
-/Names [(main_fold_space_dimensions) 626 0 R (main_intervals) 711 0 R (main_limited_extrapolation) 700 0 R (main_pointset_powerset) 844 0 R (main_powerset) 838 0 R (main_powerset_domain) 839 0 R]
-/Limits [(main_fold_space_dimensions) (main_powerset_domain)]
->> endobj
-12588 0 obj <<
-/Names [(main_pps_bgp99_extrapolation) 887 0 R (main_pps_certificate_widening) 890 0 R (main_pps_geometric) 881 0 R (main_pps_pairwise_merge) 884 0 R (main_preamble) 468 0 R (main_ps_add_disjunct) 858 0 R]
-/Limits [(main_pps_bgp99_extrapolation) (main_ps_add_disjunct)]
->> endobj
-12589 0 obj <<
-/Names [(main_ps_collapse) 861 0 R (main_ps_meet_upper_bound) 855 0 R (main_ps_operations) 854 0 R (main_rational_grid_operations) 779 0 R (main_relation_with) 676 0 R (main_representation) 559 0 R]
-/Limits [(main_ps_collapse) (main_representation)]
->> endobj
-12590 0 obj <<
-/Names [(main_sect_rational_grids) 736 0 R (main_use_of_library) 475 0 R (namespaceParma__Polyhedra__Library) 1347 0 R (namespaceParma__Polyhedra__Library_03c487cbbb8731e1c7c9131a7a1faeae) 2011 0 R (namespaceParma__Polyhedra__Library_03ed91fbbeb6d32952c5d2a30bfd3830) 2009 0 R (namespaceParma__Polyhedra__Library_05dd6b345e96427a50b45f9756e302ab) 2010 0 R]
-/Limits [(main_sect_rational_grids) (namespaceParma__Polyhedra__Library_05dd6b345e96427a50b45f9756e302ab)]
->> endobj
-12591 0 obj <<
-/Names [(namespaceParma__Polyhedra__Library_077909c2e2a30e356b03d74e287d2545) 2020 0 R (namespaceParma__Polyhedra__Library_0adf6106892886dc859985042b8a7433) 1959 0 R (namespaceParma__Polyhedra__Library_19b0ebdb3476fe1feb0f51d9328fd384) 1974 0 R (namespaceParma__Polyhedra__Library_1_1IO__Operators) 1348 0 R (namespaceParma__Polyhedra__Library_1_1IO__Operators_9ccf426c9d89537e0351aac50a333e95) 2072 0 R (namespaceParma__Polyhedra__Library_20874a85120477d5cf11da451870d497) 2012 0 R]
-/Limits [(namespaceParma__Polyhedra__Library_077909c2e2a30e356b03d74e287d2545) (namespaceParma__Polyhedra__Library_20874a85120477d5cf11da451870d497)]
->> endobj
-12592 0 obj <<
-/Names [(namespaceParma__Polyhedra__Library_215d809846aabbfafa5754ce051d1603) 2007 0 R (namespaceParma__Polyhedra__Library_31f5a518ab35f859aafd220bc3e38dfd) 2015 0 R (namespaceParma__Polyhedra__Library_3504c6384a7e40501e2cfc49ba870ad5) 2045 0 R (namespaceParma__Polyhedra__Library_3aa0f8a865cbe18e6202b99d388af956) 2042 0 R (namespaceParma__Polyhedra__Library_3e6dcd6f5d8e3ea263c9205b21a83e48) 1968 0 R (namespaceParma__Polyhedra__Library_4bef34d0d723e765fc4ae7dbd2d195b5) 2006 0 R]
-/Limits [(namespaceParma__Polyhedra__Library_215d809846aabbfafa5754ce051d1603) (namespaceParma__Polyhedra__Library_4bef34d0d723e765fc4ae7dbd2d195b5)]
->> endobj
-12593 0 obj <<
-/Names [(namespaceParma__Polyhedra__Library_5604f97d216583cdf012a50d2f8cdbde) 1961 0 R (namespaceParma__Polyhedra__Library_563b92eac806093d3e743ea4dfcc0594) 2048 0 R (namespaceParma__Polyhedra__Library_56eb4e32ec57658bc9e7823cd42ecbae) 2008 0 R (namespaceParma__Polyhedra__Library_5e801a56c2c3dcec13d2d87adf07ac47) 1970 0 R (namespaceParma__Polyhedra__Library_63bd7c7767faf3c219f9c2762095e2dd) 1972 0 R (namespaceParma__Polyhedra__Library_66438955854cf73ddaf27a40a69fec7b) 2014 0 R]
-/Limits [(namespaceParma__Polyhedra__Library_5604f97d216583cdf012a50d2f8cdbde) (namespaceParma__Polyhedra__Library_66438955854cf73ddaf27a40a69fec7b)]
->> endobj
-12594 0 obj <<
-/Names [(namespaceParma__Polyhedra__Library_6a54c55d8b52ef353df7cefdfa632d8d) 1969 0 R (namespaceParma__Polyhedra__Library_6c841f33162c2419bd53a078e6c788ee) 1973 0 R (namespaceParma__Polyhedra__Library_729bdafa0ec2ae7a6664cbdf38c09755) 2047 0 R (namespaceParma__Polyhedra__Library_74074a5ed3718745a4d82bacd5b381ed) 1967 0 R (namespaceParma__Polyhedra__Library_75dfd397f7fab1fe9da3eb150911853c) 2049 0 R (namespaceParma__Polyhedra__Library_93c37cc32a1f50c36ec15d67fdbec3aa) 2013 0 R]
-/Limits [(namespaceParma__Polyhedra__Library_6a54c55d8b52ef353df7cefdfa632d8d) (namespaceParma__Polyhedra__Library_93c37cc32a1f50c36ec15d67fdbec3aa)]
->> endobj
-12595 0 obj <<
-/Names [(namespaceParma__Polyhedra__Library_99e9dc5df3cf7c0ab581e602d1176e41) 1963 0 R (namespaceParma__Polyhedra__Library_9bfba21dd2d808e2eabd2348e92cb96a) 2044 0 R (namespaceParma__Polyhedra__Library_9c118832fed4c0b9b40547578459dad4) 1965 0 R (namespaceParma__Polyhedra__Library_ca6003248d614d68c07f5330b468a242) 2016 0 R (namespaceParma__Polyhedra__Library_ce0cdceaa0c7eea84cc1c38cf5bea680) 1964 0 R (namespaceParma__Polyhedra__Library_d0719a31106af8ca454d1d1d77dbde4e) 2051 0 R]
-/Limits [(namespaceParma__Polyhedra__Library_99e9dc5df3cf7c0ab581e602d1176e41) (namespaceParma__Polyhedra__Library_d0719a31106af8ca454d1d1d77dbde4e)]
->> endobj
-12596 0 obj <<
-/Names [(namespaceParma__Polyhedra__Library_d11992da5c89caef7922c215278d03a8) 2019 0 R (namespaceParma__Polyhedra__Library_d31eeb0067d6cad2eb2ea5ab5bd0a2b2) 1966 0 R (namespaceParma__Polyhedra__Library_d4f28a7482372281b01b4221b8543bdc) 2046 0 R (namespaceParma__Polyhedra__Library_e2684e5d6c84a8e156f58121be0dbd03) 2043 0 R (namespaceParma__Polyhedra__Library_e6a8e238a8400e68173c88d38dd8a8da) 2050 0 R (namespaceParma__Polyhedra__Library_ec4c213c066101e1cd926125ccc4c81c) 2041 0 R]
-/Limits [(namespaceParma__Polyhedra__Library_d11992da5c89caef7922c215278d03a8) (namespaceParma__Polyhedra__Library_ec4c213c066101e1cd926125ccc4c81c)]
->> endobj
-12597 0 obj <<
-/Names [(namespaceParma__Polyhedra__Library_ee4e9b54e65780ac3010fda40ea235a6) 1971 0 R (namespaceParma__Polyhedra__Library_f127b16b1a8e300aa97caca515284b6f) 1962 0 R (namespaceParma__Polyhedra__Library_f9dd9190c5f29dbbfa3d6e442dea7e7d) 1960 0 R (namespaceParma__Polyhedra__Library_fb314bce856c60de821bc388a02571f5) 2017 0 R (namespaceParma__Polyhedra__Library_fbd401e5de5c3b3b7bcef22ffbfd6fb3) 2021 0 R (namespacestd) 1349 0 R]
-/Limits [(namespaceParma__Polyhedra__Library_ee4e9b54e65780ac3010fda40ea235a6) (namespacestd)]
->> endobj
-12598 0 obj <<
-/Names [(page.1) 337 0 R (page.10) 579 0 R (page.100) 2699 0 R (page.101) 2709 0 R (page.102) 2721 0 R (page.103) 2735 0 R]
-/Limits [(page.1) (page.103)]
->> endobj
-12599 0 obj <<
-/Names [(page.104) 2747 0 R (page.105) 2760 0 R (page.106) 2773 0 R (page.107) 2788 0 R (page.108) 2797 0 R (page.109) 2808 0 R]
-/Limits [(page.104) (page.109)]
->> endobj
-12600 0 obj <<
-/Names [(page.11) 590 0 R (page.110) 2818 0 R (page.111) 2837 0 R (page.112) 2870 0 R (page.113) 2919 0 R (page.114) 2976 0 R]
-/Limits [(page.11) (page.114)]
->> endobj
-12601 0 obj <<
-/Names [(page.115) 3039 0 R (page.116) 3096 0 R (page.117) 3166 0 R (page.118) 3221 0 R (page.119) 3281 0 R (page.12) 600 0 R]
-/Limits [(page.115) (page.12)]
->> endobj
-12602 0 obj <<
-/Names [(page.120) 3302 0 R (page.121) 3315 0 R (page.122) 3325 0 R (page.123) 3335 0 R (page.124) 3347 0 R (page.125) 3357 0 R]
-/Limits [(page.120) (page.125)]
->> endobj
-12603 0 obj <<
-/Names [(page.126) 3365 0 R (page.127) 3375 0 R (page.128) 3384 0 R (page.129) 3394 0 R (page.13) 616 0 R (page.130) 3405 0 R]
-/Limits [(page.126) (page.130)]
->> endobj
-12604 0 obj <<
-/Names [(page.131) 3419 0 R (page.132) 3431 0 R (page.133) 3440 0 R (page.134) 3453 0 R (page.135) 3465 0 R (page.136) 3474 0 R]
-/Limits [(page.131) (page.136)]
->> endobj
-12605 0 obj <<
-/Names [(page.137) 3490 0 R (page.138) 3499 0 R (page.139) 3508 0 R (page.14) 634 0 R (page.140) 3519 0 R (page.141) 3549 0 R]
-/Limits [(page.137) (page.141)]
->> endobj
-12606 0 obj <<
-/Names [(page.142) 3593 0 R (page.143) 3610 0 R (page.144) 3619 0 R (page.145) 3628 0 R (page.146) 3643 0 R (page.147) 3693 0 R]
-/Limits [(page.142) (page.147)]
->> endobj
-12607 0 obj <<
-/Names [(page.148) 3734 0 R (page.149) 3782 0 R (page.15) 643 0 R (page.150) 3833 0 R (page.151) 3896 0 R (page.152) 3949 0 R]
-/Limits [(page.148) (page.152)]
->> endobj
-12608 0 obj <<
-/Names [(page.153) 4007 0 R (page.154) 4050 0 R (page.155) 4066 0 R (page.156) 4083 0 R (page.157) 4098 0 R (page.158) 4112 0 R]
-/Limits [(page.153) (page.158)]
->> endobj
-12609 0 obj <<
-/Names [(page.159) 4126 0 R (page.16) 652 0 R (page.160) 4135 0 R (page.161) 4155 0 R (page.162) 4195 0 R (page.163) 4246 0 R]
-/Limits [(page.159) (page.163)]
->> endobj
-12610 0 obj <<
-/Names [(page.164) 4279 0 R (page.165) 4290 0 R (page.166) 4297 0 R (page.167) 4310 0 R (page.168) 4341 0 R (page.169) 4383 0 R]
-/Limits [(page.164) (page.169)]
->> endobj
-12611 0 obj <<
-/Names [(page.17) 673 0 R (page.170) 4429 0 R (page.171) 4451 0 R (page.172) 4459 0 R (page.173) 4483 0 R (page.174) 4515 0 R]
-/Limits [(page.17) (page.174)]
->> endobj
-12612 0 obj <<
-/Names [(page.175) 4556 0 R (page.176) 4615 0 R (page.177) 4687 0 R (page.178) 4716 0 R (page.179) 4727 0 R (page.18) 695 0 R]
-/Limits [(page.175) (page.18)]
->> endobj
-12613 0 obj <<
-/Names [(page.180) 4734 0 R (page.181) 4746 0 R (page.182) 4762 0 R (page.183) 4790 0 R (page.184) 4832 0 R (page.185) 4870 0 R]
-/Limits [(page.180) (page.185)]
->> endobj
-12614 0 obj <<
-/Names [(page.186) 4887 0 R (page.187) 4910 0 R (page.188) 4933 0 R (page.189) 4962 0 R (page.19) 710 0 R (page.190) 5007 0 R]
-/Limits [(page.186) (page.190)]
->> endobj
-12615 0 obj <<
-/Names [(page.191) 5031 0 R (page.192) 5058 0 R (page.193) 5096 0 R (page.194) 5146 0 R (page.195) 5207 0 R (page.196) 5226 0 R]
-/Limits [(page.191) (page.196)]
->> endobj
-12616 0 obj <<
-/Names [(page.197) 5233 0 R (page.198) 5241 0 R (page.199) 5262 0 R (page.2) 466 0 R (page.20) 728 0 R (page.200) 5276 0 R]
-/Limits [(page.197) (page.200)]
->> endobj
-12617 0 obj <<
-/Names [(page.201) 5290 0 R (page.202) 5297 0 R (page.203) 5313 0 R (page.204) 5353 0 R (page.205) 5387 0 R (page.206) 5402 0 R]
-/Limits [(page.201) (page.206)]
->> endobj
-12618 0 obj <<
-/Names [(page.207) 5414 0 R (page.208) 5443 0 R (page.209) 5505 0 R (page.21) 743 0 R (page.210) 5535 0 R (page.211) 5553 0 R]
-/Limits [(page.207) (page.211)]
->> endobj
-12619 0 obj <<
-/Names [(page.212) 5604 0 R (page.213) 5660 0 R (page.214) 5718 0 R (page.215) 5774 0 R (page.216) 5828 0 R (page.217) 5893 0 R]
-/Limits [(page.212) (page.217)]
->> endobj
-12620 0 obj <<
-/Names [(page.218) 5946 0 R (page.219) 5989 0 R (page.22) 759 0 R (page.220) 6013 0 R (page.221) 6020 0 R (page.222) 6025 0 R]
-/Limits [(page.218) (page.222)]
->> endobj
-12621 0 obj <<
-/Names [(page.223) 6030 0 R (page.224) 6038 0 R (page.225) 6046 0 R (page.226) 6054 0 R (page.227) 6064 0 R (page.228) 6070 0 R]
-/Limits [(page.223) (page.228)]
->> endobj
-12622 0 obj <<
-/Names [(page.229) 6085 0 R (page.23) 777 0 R (page.230) 6094 0 R (page.231) 6103 0 R (page.232) 6115 0 R (page.233) 6127 0 R]
-/Limits [(page.229) (page.233)]
->> endobj
-12623 0 obj <<
-/Names [(page.234) 6139 0 R (page.235) 6149 0 R (page.236) 6159 0 R (page.237) 6167 0 R (page.238) 6181 0 R (page.239) 6194 0 R]
-/Limits [(page.234) (page.239)]
->> endobj
-12624 0 obj <<
-/Names [(page.24) 792 0 R (page.240) 6208 0 R (page.241) 6219 0 R (page.242) 6230 0 R (page.243) 6239 0 R (page.244) 6253 0 R]
-/Limits [(page.24) (page.244)]
->> endobj
-12625 0 obj <<
-/Names [(page.245) 6268 0 R (page.246) 6279 0 R (page.247) 6292 0 R (page.248) 6307 0 R (page.249) 6318 0 R (page.25) 807 0 R]
-/Limits [(page.245) (page.25)]
->> endobj
-12626 0 obj <<
-/Names [(page.250) 6346 0 R (page.251) 6383 0 R (page.252) 6427 0 R (page.253) 6475 0 R (page.254) 6501 0 R (page.255) 6510 0 R]
-/Limits [(page.250) (page.255)]
->> endobj
-12627 0 obj <<
-/Names [(page.256) 6518 0 R (page.257) 6540 0 R (page.258) 6551 0 R (page.259) 6592 0 R (page.26) 818 0 R (page.260) 6637 0 R]
-/Limits [(page.256) (page.260)]
->> endobj
-12628 0 obj <<
-/Names [(page.261) 6669 0 R (page.262) 6683 0 R (page.263) 6693 0 R (page.264) 6722 0 R (page.265) 6753 0 R (page.266) 6772 0 R]
-/Limits [(page.261) (page.266)]
->> endobj
-12629 0 obj <<
-/Names [(page.267) 6798 0 R (page.268) 6823 0 R (page.269) 6839 0 R (page.27) 833 0 R (page.270) 6849 0 R (page.271) 6870 0 R]
-/Limits [(page.267) (page.271)]
->> endobj
-12630 0 obj <<
-/Names [(page.272) 6912 0 R (page.273) 6978 0 R (page.274) 7042 0 R (page.275) 7068 0 R (page.276) 7077 0 R (page.277) 7090 0 R]
-/Limits [(page.272) (page.277)]
->> endobj
-12631 0 obj <<
-/Names [(page.278) 7108 0 R (page.279) 7147 0 R (page.28) 853 0 R (page.280) 7199 0 R (page.281) 7252 0 R (page.282) 7286 0 R]
-/Limits [(page.278) (page.282)]
->> endobj
-12632 0 obj <<
-/Names [(page.283) 7301 0 R (page.284) 7314 0 R (page.285) 7322 0 R (page.286) 7333 0 R (page.287) 7355 0 R (page.288) 7407 0 R]
-/Limits [(page.283) (page.288)]
->> endobj
-12633 0 obj <<
-/Names [(page.289) 7430 0 R (page.29) 880 0 R (page.290) 7440 0 R (page.291) 7449 0 R (page.292) 7460 0 R (page.293) 7476 0 R]
-/Limits [(page.289) (page.293)]
->> endobj
-12634 0 obj <<
-/Names [(page.294) 7523 0 R (page.295) 7580 0 R (page.296) 7635 0 R (page.297) 7692 0 R (page.298) 7761 0 R (page.299) 7820 0 R]
-/Limits [(page.294) (page.299)]
->> endobj
-12635 0 obj <<
-/Names [(page.3) 488 0 R (page.30) 901 0 R (page.300) 7875 0 R (page.301) 7905 0 R (page.302) 7920 0 R (page.303) 7928 0 R]
-/Limits [(page.3) (page.303)]
->> endobj
-12636 0 obj <<
-/Names [(page.304) 7938 0 R (page.305) 7947 0 R (page.306) 7958 0 R (page.307) 7969 0 R (page.308) 7976 0 R (page.309) 7984 0 R]
-/Limits [(page.304) (page.309)]
->> endobj
-12637 0 obj <<
-/Names [(page.31) 912 0 R (page.310) 7993 0 R (page.311) 8005 0 R (page.312) 8016 0 R (page.313) 8029 0 R (page.314) 8040 0 R]
-/Limits [(page.31) (page.314)]
->> endobj
-12638 0 obj <<
-/Names [(page.315) 8050 0 R (page.316) 8064 0 R (page.317) 8077 0 R (page.318) 8089 0 R (page.319) 8102 0 R (page.32) 926 0 R]
-/Limits [(page.315) (page.32)]
->> endobj
-12639 0 obj <<
-/Names [(page.320) 8113 0 R (page.321) 8125 0 R (page.322) 8133 0 R (page.323) 8176 0 R (page.324) 8227 0 R (page.325) 8281 0 R]
-/Limits [(page.320) (page.325)]
->> endobj
-12640 0 obj <<
-/Names [(page.326) 8338 0 R (page.327) 8407 0 R (page.328) 8459 0 R (page.329) 8495 0 R (page.33) 950 0 R (page.330) 8530 0 R]
-/Limits [(page.326) (page.330)]
->> endobj
-12641 0 obj <<
-/Names [(page.331) 8545 0 R (page.332) 8552 0 R (page.333) 8560 0 R (page.334) 8567 0 R (page.335) 8576 0 R (page.336) 8584 0 R]
-/Limits [(page.331) (page.336)]
->> endobj
-12642 0 obj <<
-/Names [(page.337) 8594 0 R (page.338) 8602 0 R (page.339) 8609 0 R (page.34) 973 0 R (page.340) 8619 0 R (page.341) 8629 0 R]
-/Limits [(page.337) (page.341)]
->> endobj
-12643 0 obj <<
-/Names [(page.342) 8640 0 R (page.343) 8653 0 R (page.344) 8667 0 R (page.345) 8681 0 R (page.346) 8691 0 R (page.347) 8707 0 R]
-/Limits [(page.342) (page.347)]
->> endobj
-12644 0 obj <<
-/Names [(page.348) 8719 0 R (page.349) 8733 0 R (page.35) 990 0 R (page.350) 8755 0 R (page.351) 8805 0 R (page.352) 8857 0 R]
-/Limits [(page.348) (page.352)]
->> endobj
-12645 0 obj <<
-/Names [(page.353) 8913 0 R (page.354) 8973 0 R (page.355) 9031 0 R (page.356) 9080 0 R (page.357) 9126 0 R (page.358) 9144 0 R]
-/Limits [(page.353) (page.358)]
->> endobj
-12646 0 obj <<
-/Names [(page.359) 9154 0 R (page.36) 1009 0 R (page.360) 9162 0 R (page.361) 9172 0 R (page.362) 9181 0 R (page.363) 9188 0 R]
-/Limits [(page.359) (page.363)]
->> endobj
-12647 0 obj <<
-/Names [(page.364) 9198 0 R (page.365) 9212 0 R (page.366) 9225 0 R (page.367) 9236 0 R (page.368) 9249 0 R (page.369) 9262 0 R]
-/Limits [(page.364) (page.369)]
->> endobj
-12648 0 obj <<
-/Names [(page.37) 1030 0 R (page.370) 9276 0 R (page.371) 9288 0 R (page.372) 9302 0 R (page.373) 9315 0 R (page.374) 9330 0 R]
-/Limits [(page.37) (page.374)]
->> endobj
-12649 0 obj <<
-/Names [(page.375) 9346 0 R (page.376) 9374 0 R (page.377) 9409 0 R (page.378) 9443 0 R (page.379) 9469 0 R (page.38) 1052 0 R]
-/Limits [(page.375) (page.38)]
->> endobj
-12650 0 obj <<
-/Names [(page.380) 9512 0 R (page.381) 9566 0 R (page.382) 9622 0 R (page.383) 9672 0 R (page.384) 9739 0 R (page.385) 9802 0 R]
-/Limits [(page.380) (page.385)]
->> endobj
-12651 0 obj <<
-/Names [(page.386) 9847 0 R (page.387) 9898 0 R (page.388) 9923 0 R (page.389) 9931 0 R (page.39) 1073 0 R (page.390) 9936 0 R]
-/Limits [(page.386) (page.390)]
->> endobj
-12652 0 obj <<
-/Names [(page.391) 9941 0 R (page.392) 9950 0 R (page.393) 9958 0 R (page.394) 9968 0 R (page.395) 9979 0 R (page.396) 9987 0 R]
-/Limits [(page.391) (page.396)]
->> endobj
-12653 0 obj <<
-/Names [(page.397) 9999 0 R (page.398) 10010 0 R (page.399) 10020 0 R (page.4) 503 0 R (page.40) 1080 0 R (page.400) 10030 0 R]
-/Limits [(page.397) (page.400)]
->> endobj
-12654 0 obj <<
-/Names [(page.401) 10043 0 R (page.402) 10052 0 R (page.403) 10062 0 R (page.404) 10073 0 R (page.405) 10087 0 R (page.406) 10100 0 R]
-/Limits [(page.401) (page.406)]
->> endobj
-12655 0 obj <<
-/Names [(page.407) 10116 0 R (page.408) 10126 0 R (page.409) 10142 0 R (page.41) 1089 0 R (page.410) 10158 0 R (page.411) 10170 0 R]
-/Limits [(page.407) (page.411)]
->> endobj
-12656 0 obj <<
-/Names [(page.412) 10183 0 R (page.413) 10199 0 R (page.414) 10209 0 R (page.415) 10244 0 R (page.416) 10295 0 R (page.417) 10338 0 R]
-/Limits [(page.412) (page.417)]
->> endobj
-12657 0 obj <<
-/Names [(page.418) 10373 0 R (page.419) 10392 0 R (page.42) 1098 0 R (page.420) 10400 0 R (page.421) 10414 0 R (page.422) 10431 0 R]
-/Limits [(page.418) (page.422)]
->> endobj
-12658 0 obj <<
-/Names [(page.423) 10457 0 R (page.424) 10488 0 R (page.425) 10510 0 R (page.426) 10546 0 R (page.427) 10568 0 R (page.428) 10641 0 R]
-/Limits [(page.423) (page.428)]
->> endobj
-12659 0 obj <<
-/Names [(page.429) 10709 0 R (page.43) 1104 0 R (page.430) 10776 0 R (page.431) 10838 0 R (page.432) 10906 0 R (page.433) 10968 0 R]
-/Limits [(page.429) (page.433)]
->> endobj
-12660 0 obj <<
-/Names [(page.434) 11039 0 R (page.435) 11105 0 R (page.436) 11201 0 R (page.437) 11318 0 R (page.438) 11430 0 R (page.439) 11541 0 R]
-/Limits [(page.434) (page.439)]
->> endobj
-12661 0 obj <<
-/Names [(page.44) 1110 0 R (page.440) 11663 0 R (page.441) 11783 0 R (page.442) 11883 0 R (page.443) 11968 0 R (page.444) 12037 0 R]
-/Limits [(page.44) (page.444)]
->> endobj
-12662 0 obj <<
-/Names [(page.445) 12106 0 R (page.446) 12158 0 R (page.45) 1117 0 R (page.46) 1124 0 R (page.47) 1135 0 R (page.48) 1146 0 R]
-/Limits [(page.445) (page.48)]
->> endobj
-12663 0 obj <<
-/Names [(page.49) 1152 0 R (page.5) 512 0 R (page.50) 1157 0 R (page.51) 1162 0 R (page.52) 1168 0 R (page.53) 1186 0 R]
-/Limits [(page.49) (page.53)]
->> endobj
-12664 0 obj <<
-/Names [(page.54) 1232 0 R (page.55) 1292 0 R (page.56) 1340 0 R (page.57) 1382 0 R (page.58) 1419 0 R (page.59) 1475 0 R]
-/Limits [(page.54) (page.59)]
->> endobj
-12665 0 obj <<
-/Names [(page.6) 522 0 R (page.60) 1536 0 R (page.61) 1575 0 R (page.62) 1599 0 R (page.63) 1618 0 R (page.64) 1663 0 R]
-/Limits [(page.6) (page.64)]
->> endobj
-12666 0 obj <<
-/Names [(page.65) 1740 0 R (page.66) 1779 0 R (page.67) 1793 0 R (page.68) 1801 0 R (page.69) 1824 0 R (page.7) 534 0 R]
-/Limits [(page.65) (page.7)]
->> endobj
-12667 0 obj <<
-/Names [(page.70) 1849 0 R (page.71) 1870 0 R (page.72) 1931 0 R (page.73) 1957 0 R (page.74) 2005 0 R (page.75) 2040 0 R]
-/Limits [(page.70) (page.75)]
->> endobj
-12668 0 obj <<
-/Names [(page.76) 2063 0 R (page.77) 2079 0 R (page.78) 2110 0 R (page.79) 2169 0 R (page.8) 554 0 R (page.80) 2231 0 R]
-/Limits [(page.76) (page.80)]
->> endobj
-12669 0 obj <<
-/Names [(page.81) 2282 0 R (page.82) 2340 0 R (page.83) 2405 0 R (page.84) 2463 0 R (page.85) 2522 0 R (page.86) 2544 0 R]
-/Limits [(page.81) (page.86)]
->> endobj
-12670 0 obj <<
-/Names [(page.87) 2555 0 R (page.88) 2564 0 R (page.89) 2575 0 R (page.9) 567 0 R (page.90) 2583 0 R (page.91) 2593 0 R]
-/Limits [(page.87) (page.91)]
->> endobj
-12671 0 obj <<
-/Names [(page.92) 2600 0 R (page.93) 2613 0 R (page.94) 2624 0 R (page.95) 2637 0 R (page.96) 2650 0 R (page.97) 2660 0 R]
-/Limits [(page.92) (page.97)]
->> endobj
-12672 0 obj <<
-/Names [(page.98) 2673 0 R (page.99) 2686 0 R (page.i) 373 0 R (page.ii) 417 0 R (paragraph.1.1.2.1) 492 0 R (paragraph.1.1.2.2) 494 0 R]
-/Limits [(page.98) (paragraph.1.1.2.2)]
->> endobj
-12673 0 obj <<
-/Names [(paragraph.1.1.2.3) 513 0 R (paragraph.10.1.2.1) 2055 0 R (paragraph.10.1.2.2) 2064 0 R (paragraph.10.1.2.3) 2066 0 R (paragraph.10.1.2.4) 2067 0 R (paragraph.10.1.2.5) 2068 0 R]
-/Limits [(paragraph.1.1.2.3) (paragraph.10.1.2.5)]
->> endobj
-12674 0 obj <<
-/Names [(paragraph.10.2.2.1) 2081 0 R (paragraph.11.1.2.1) 2557 0 R (paragraph.11.1.2.10) 2578 0 R (paragraph.11.1.2.2) 2558 0 R (paragraph.11.1.2.3) 2565 0 R (paragraph.11.1.2.4) 2566 0 R]
-/Limits [(paragraph.10.2.2.1) (paragraph.11.1.2.4)]
->> endobj
-12675 0 obj <<
-/Names [(paragraph.11.1.2.5) 2567 0 R (paragraph.11.1.2.6) 2568 0 R (paragraph.11.1.2.7) 2569 0 R (paragraph.11.1.2.8) 2576 0 R (paragraph.11.1.2.9) 2577 0 R (paragraph.11.1.3.1) 2585 0 R]
-/Limits [(paragraph.11.1.2.5) (paragraph.11.1.3.1)]
->> endobj
-12676 0 obj <<
-/Names [(paragraph.11.1.3.10) 2604 0 R (paragraph.11.1.3.11) 2605 0 R (paragraph.11.1.3.12) 2606 0 R (paragraph.11.1.3.13) 2614 0 R (paragraph.11.1.3.14) 2615 0 R (paragraph.11.1.3.15) 2616 0 R]
-/Limits [(paragraph.11.1.3.10) (paragraph.11.1.3.15)]
->> endobj
-12677 0 obj <<
-/Names [(paragraph.11.1.3.16) 2617 0 R (paragraph.11.1.3.17) 2625 0 R (paragraph.11.1.3.18) 2626 0 R (paragraph.11.1.3.19) 2627 0 R (paragraph.11.1.3.2) 2586 0 R (paragraph.11.1.3.20) 2638 0 R]
-/Limits [(paragraph.11.1.3.16) (paragraph.11.1.3.20)]
->> endobj
-12678 0 obj <<
-/Names [(paragraph.11.1.3.21) 2639 0 R (paragraph.11.1.3.22) 2640 0 R (paragraph.11.1.3.23) 2651 0 R (paragraph.11.1.3.24) 2652 0 R (paragraph.11.1.3.25) 2653 0 R (paragraph.11.1.3.26) 2654 0 R]
-/Limits [(paragraph.11.1.3.21) (paragraph.11.1.3.26)]
->> endobj
-12679 0 obj <<
-/Names [(paragraph.11.1.3.27) 2661 0 R (paragraph.11.1.3.28) 2662 0 R (paragraph.11.1.3.29) 2663 0 R (paragraph.11.1.3.3) 2587 0 R (paragraph.11.1.3.30) 2664 0 R (paragraph.11.1.3.31) 2674 0 R]
-/Limits [(paragraph.11.1.3.27) (paragraph.11.1.3.31)]
->> endobj
-12680 0 obj <<
-/Names [(paragraph.11.1.3.32) 2675 0 R (paragraph.11.1.3.33) 2676 0 R (paragraph.11.1.3.34) 2677 0 R (paragraph.11.1.3.35) 2687 0 R (paragraph.11.1.3.36) 2688 0 R (paragraph.11.1.3.37) 2689 0 R]
-/Limits [(paragraph.11.1.3.32) (paragraph.11.1.3.37)]
->> endobj
-12681 0 obj <<
-/Names [(paragraph.11.1.3.38) 2690 0 R (paragraph.11.1.3.39) 2691 0 R (paragraph.11.1.3.4) 2588 0 R (paragraph.11.1.3.40) 2700 0 R (paragraph.11.1.3.41) 2701 0 R (paragraph.11.1.3.42) 2710 0 R]
-/Limits [(paragraph.11.1.3.38) (paragraph.11.1.3.42)]
->> endobj
-12682 0 obj <<
-/Names [(paragraph.11.1.3.43) 2711 0 R (paragraph.11.1.3.44) 2712 0 R (paragraph.11.1.3.45) 2722 0 R (paragraph.11.1.3.46) 2723 0 R (paragraph.11.1.3.47) 2724 0 R (paragraph.11.1.3.48) 2736 0 R]
-/Limits [(paragraph.11.1.3.43) (paragraph.11.1.3.48)]
->> endobj
-12683 0 obj <<
-/Names [(paragraph.11.1.3.49) 2737 0 R (paragraph.11.1.3.5) 2594 0 R (paragraph.11.1.3.50) 2738 0 R (paragraph.11.1.3.51) 2748 0 R (paragraph.11.1.3.52) 2749 0 R (paragraph.11.1.3.53) 2751 0 R]
-/Limits [(paragraph.11.1.3.49) (paragraph.11.1.3.53)]
->> endobj
-12684 0 obj <<
-/Names [(paragraph.11.1.3.54) 2761 0 R (paragraph.11.1.3.55) 2762 0 R (paragraph.11.1.3.56) 2763 0 R (paragraph.11.1.3.57) 2774 0 R (paragraph.11.1.3.58) 2775 0 R (paragraph.11.1.3.59) 2776 0 R]
-/Limits [(paragraph.11.1.3.54) (paragraph.11.1.3.59)]
->> endobj
-12685 0 obj <<
-/Names [(paragraph.11.1.3.6) 2595 0 R (paragraph.11.1.3.60) 2777 0 R (paragraph.11.1.3.61) 2789 0 R (paragraph.11.1.3.62) 2790 0 R (paragraph.11.1.3.63) 2791 0 R (paragraph.11.1.3.64) 2798 0 R]
-/Limits [(paragraph.11.1.3.6) (paragraph.11.1.3.64)]
->> endobj
-12686 0 obj <<
-/Names [(paragraph.11.1.3.7) 2601 0 R (paragraph.11.1.3.8) 2602 0 R (paragraph.11.1.3.9) 2603 0 R (paragraph.11.1.4.1) 2800 0 R (paragraph.11.1.4.10) 2821 0 R (paragraph.11.1.4.2) 2801 0 R]
-/Limits [(paragraph.11.1.3.7) (paragraph.11.1.4.2)]
->> endobj
-12687 0 obj <<
-/Names [(paragraph.11.1.4.3) 2802 0 R (paragraph.11.1.4.4) 2803 0 R (paragraph.11.1.4.5) 2809 0 R (paragraph.11.1.4.6) 2810 0 R (paragraph.11.1.4.7) 2811 0 R (paragraph.11.1.4.8) 2819 0 R]
-/Limits [(paragraph.11.1.4.3) (paragraph.11.1.4.8)]
->> endobj
-12688 0 obj <<
-/Names [(paragraph.11.1.4.9) 2820 0 R (paragraph.11.10.2.1) 4729 0 R (paragraph.11.10.3.1) 4736 0 R (paragraph.11.10.4.1) 4738 0 R (paragraph.11.10.4.2) 4739 0 R (paragraph.11.10.4.3) 4740 0 R]
-/Limits [(paragraph.11.1.4.9) (paragraph.11.10.4.3)]
->> endobj
-12689 0 obj <<
-/Names [(paragraph.11.10.4.4) 4741 0 R (paragraph.11.10.5.1) 4748 0 R (paragraph.11.10.5.10) 4757 0 R (paragraph.11.10.5.11) 4763 0 R (paragraph.11.10.5.12) 4764 0 R (paragraph.11.10.5.13) 4765 0 R]
-/Limits [(paragraph.11.10.4.4) (paragraph.11.10.5.13)]
->> endobj
-12690 0 obj <<
-/Names [(paragraph.11.10.5.14) 4766 0 R (paragraph.11.10.5.15) 4767 0 R (paragraph.11.10.5.16) 4768 0 R (paragraph.11.10.5.17) 4769 0 R (paragraph.11.10.5.18) 4770 0 R (paragraph.11.10.5.19) 4771 0 R]
-/Limits [(paragraph.11.10.5.14) (paragraph.11.10.5.19)]
->> endobj
-12691 0 obj <<
-/Names [(paragraph.11.10.5.2) 4749 0 R (paragraph.11.10.5.20) 4772 0 R (paragraph.11.10.5.21) 4773 0 R (paragraph.11.10.5.22) 4791 0 R (paragraph.11.10.5.23) 4792 0 R (paragraph.11.10.5.24) 4793 0 R]
-/Limits [(paragraph.11.10.5.2) (paragraph.11.10.5.24)]
->> endobj
-12692 0 obj <<
-/Names [(paragraph.11.10.5.25) 4794 0 R (paragraph.11.10.5.3) 4750 0 R (paragraph.11.10.5.4) 4751 0 R (paragraph.11.10.5.5) 4752 0 R (paragraph.11.10.5.6) 4753 0 R (paragraph.11.10.5.7) 4754 0 R]
-/Limits [(paragraph.11.10.5.25) (paragraph.11.10.5.7)]
->> endobj
-12693 0 obj <<
-/Names [(paragraph.11.10.5.8) 4755 0 R (paragraph.11.10.5.9) 4756 0 R (paragraph.11.11.2.1) 4889 0 R (paragraph.11.11.2.2) 4890 0 R (paragraph.11.11.2.3) 4891 0 R (paragraph.11.13.2.1) 4941 0 R]
-/Limits [(paragraph.11.10.5.8) (paragraph.11.13.2.1)]
->> endobj
-12694 0 obj <<
-/Names [(paragraph.11.14.2.1) 5037 0 R (paragraph.11.14.3.1) 5039 0 R (paragraph.11.14.3.2) 5040 0 R (paragraph.11.14.3.3) 5042 0 R (paragraph.11.14.3.4) 5044 0 R (paragraph.11.17.2.1) 5243 0 R]
-/Limits [(paragraph.11.14.2.1) (paragraph.11.17.2.1)]
->> endobj
-12695 0 obj <<
-/Names [(paragraph.11.17.3.1) 5245 0 R (paragraph.11.17.3.2) 5263 0 R (paragraph.11.17.3.3) 5264 0 R (paragraph.11.17.3.4) 5266 0 R (paragraph.11.17.3.5) 5268 0 R (paragraph.11.17.3.6) 5277 0 R]
-/Limits [(paragraph.11.17.3.1) (paragraph.11.17.3.6)]
->> endobj
-12696 0 obj <<
-/Names [(paragraph.11.17.3.7) 5278 0 R (paragraph.11.17.4.1) 5280 0 R (paragraph.11.17.4.10) 5314 0 R (paragraph.11.17.4.11) 5315 0 R (paragraph.11.17.4.2) 5281 0 R (paragraph.11.17.4.3) 5282 0 R]
-/Limits [(paragraph.11.17.3.7) (paragraph.11.17.4.3)]
->> endobj
-12697 0 obj <<
-/Names [(paragraph.11.17.4.4) 5283 0 R (paragraph.11.17.4.5) 5284 0 R (paragraph.11.17.4.6) 5291 0 R (paragraph.11.17.4.7) 5292 0 R (paragraph.11.17.4.8) 5298 0 R (paragraph.11.17.4.9) 5299 0 R]
-/Limits [(paragraph.11.17.4.4) (paragraph.11.17.4.9)]
->> endobj
-12698 0 obj <<
-/Names [(paragraph.11.18.2.1) 5416 0 R (paragraph.11.18.2.2) 5418 0 R (paragraph.11.18.3.1) 5420 0 R (paragraph.11.18.3.2) 5421 0 R (paragraph.11.2.2.1) 2847 0 R (paragraph.11.20.2.1) 5539 0 R]
-/Limits [(paragraph.11.18.2.1) (paragraph.11.20.2.1)]
->> endobj
-12699 0 obj <<
-/Names [(paragraph.11.20.2.10) 5557 0 R (paragraph.11.20.2.11) 5558 0 R (paragraph.11.20.2.12) 5559 0 R (paragraph.11.20.2.13) 5560 0 R (paragraph.11.20.2.14) 5561 0 R (paragraph.11.20.2.15) 5562 0 R]
-/Limits [(paragraph.11.20.2.10) (paragraph.11.20.2.15)]
->> endobj
-12700 0 obj <<
-/Names [(paragraph.11.20.2.16) 5563 0 R (paragraph.11.20.2.2) 5540 0 R (paragraph.11.20.2.3) 5541 0 R (paragraph.11.20.2.4) 5542 0 R (paragraph.11.20.2.5) 5543 0 R (paragraph.11.20.2.6) 5544 0 R]
-/Limits [(paragraph.11.20.2.16) (paragraph.11.20.2.6)]
->> endobj
-12701 0 obj <<
-/Names [(paragraph.11.20.2.7) 5554 0 R (paragraph.11.20.2.8) 5555 0 R (paragraph.11.20.2.9) 5556 0 R (paragraph.11.21.2.1) 6032 0 R (paragraph.11.21.2.10) 6056 0 R (paragraph.11.21.2.11) 6057 0 R]
-/Limits [(paragraph.11.20.2.7) (paragraph.11.21.2.11)]
->> endobj
-12702 0 obj <<
-/Names [(paragraph.11.21.2.12) 6065 0 R (paragraph.11.21.2.13) 6071 0 R (paragraph.11.21.2.2) 6033 0 R (paragraph.11.21.2.3) 6039 0 R (paragraph.11.21.2.4) 6040 0 R (paragraph.11.21.2.5) 6041 0 R]
-/Limits [(paragraph.11.21.2.12) (paragraph.11.21.2.5)]
->> endobj
-12703 0 obj <<
-/Names [(paragraph.11.21.2.6) 6047 0 R (paragraph.11.21.2.7) 6048 0 R (paragraph.11.21.2.8) 6049 0 R (paragraph.11.21.2.9) 6055 0 R (paragraph.11.21.3.1) 6073 0 R (paragraph.11.21.3.10) 6096 0 R]
-/Limits [(paragraph.11.21.2.6) (paragraph.11.21.3.10)]
->> endobj
-12704 0 obj <<
-/Names [(paragraph.11.21.3.11) 6097 0 R (paragraph.11.21.3.12) 6104 0 R (paragraph.11.21.3.13) 6105 0 R (paragraph.11.21.3.14) 6106 0 R (paragraph.11.21.3.15) 6116 0 R (paragraph.11.21.3.16) 6117 0 R]
-/Limits [(paragraph.11.21.3.11) (paragraph.11.21.3.16)]
->> endobj
-12705 0 obj <<
-/Names [(paragraph.11.21.3.17) 6118 0 R (paragraph.11.21.3.18) 6119 0 R (paragraph.11.21.3.19) 6128 0 R (paragraph.11.21.3.2) 6074 0 R (paragraph.11.21.3.20) 6129 0 R (paragraph.11.21.3.21) 6130 0 R]
-/Limits [(paragraph.11.21.3.17) (paragraph.11.21.3.21)]
->> endobj
-12706 0 obj <<
-/Names [(paragraph.11.21.3.22) 6140 0 R (paragraph.11.21.3.23) 6141 0 R (paragraph.11.21.3.24) 6142 0 R (paragraph.11.21.3.25) 6150 0 R (paragraph.11.21.3.26) 6151 0 R (paragraph.11.21.3.27) 6152 0 R]
-/Limits [(paragraph.11.21.3.22) (paragraph.11.21.3.27)]
->> endobj
-12707 0 obj <<
-/Names [(paragraph.11.21.3.28) 6160 0 R (paragraph.11.21.3.29) 6161 0 R (paragraph.11.21.3.3) 6075 0 R (paragraph.11.21.3.30) 6162 0 R (paragraph.11.21.3.31) 6168 0 R (paragraph.11.21.3.32) 6169 0 R]
-/Limits [(paragraph.11.21.3.28) (paragraph.11.21.3.32)]
->> endobj
-12708 0 obj <<
-/Names [(paragraph.11.21.3.33) 6170 0 R (paragraph.11.21.3.34) 6171 0 R (paragraph.11.21.3.35) 6182 0 R (paragraph.11.21.3.36) 6183 0 R (paragraph.11.21.3.37) 6184 0 R (paragraph.11.21.3.38) 6195 0 R]
-/Limits [(paragraph.11.21.3.33) (paragraph.11.21.3.38)]
->> endobj
-12709 0 obj <<
-/Names [(paragraph.11.21.3.39) 6196 0 R (paragraph.11.21.3.4) 6076 0 R (paragraph.11.21.3.40) 6197 0 R (paragraph.11.21.3.41) 6198 0 R (paragraph.11.21.3.42) 6209 0 R (paragraph.11.21.3.43) 6210 0 R]
-/Limits [(paragraph.11.21.3.39) (paragraph.11.21.3.43)]
->> endobj
-12710 0 obj <<
-/Names [(paragraph.11.21.3.44) 6211 0 R (paragraph.11.21.3.45) 6212 0 R (paragraph.11.21.3.46) 6220 0 R (paragraph.11.21.3.47) 6221 0 R (paragraph.11.21.3.48) 6222 0 R (paragraph.11.21.3.49) 6231 0 R]
-/Limits [(paragraph.11.21.3.44) (paragraph.11.21.3.49)]
->> endobj
-12711 0 obj <<
-/Names [(paragraph.11.21.3.5) 6077 0 R (paragraph.11.21.3.50) 6232 0 R (paragraph.11.21.3.51) 6240 0 R (paragraph.11.21.3.52) 6241 0 R (paragraph.11.21.3.53) 6242 0 R (paragraph.11.21.3.54) 6254 0 R]
-/Limits [(paragraph.11.21.3.5) (paragraph.11.21.3.54)]
->> endobj
-12712 0 obj <<
-/Names [(paragraph.11.21.3.55) 6255 0 R (paragraph.11.21.3.56) 6256 0 R (paragraph.11.21.3.57) 6269 0 R (paragraph.11.21.3.58) 6270 0 R (paragraph.11.21.3.59) 6271 0 R (paragraph.11.21.3.6) 6078 0 R]
-/Limits [(paragraph.11.21.3.55) (paragraph.11.21.3.6)]
->> endobj
-12713 0 obj <<
-/Names [(paragraph.11.21.3.60) 6280 0 R (paragraph.11.21.3.61) 6281 0 R (paragraph.11.21.3.62) 6282 0 R (paragraph.11.21.3.63) 6293 0 R (paragraph.11.21.3.64) 6294 0 R (paragraph.11.21.3.65) 6295 0 R]
-/Limits [(paragraph.11.21.3.60) (paragraph.11.21.3.65)]
->> endobj
-12714 0 obj <<
-/Names [(paragraph.11.21.3.66) 6296 0 R (paragraph.11.21.3.67) 6308 0 R (paragraph.11.21.3.68) 6309 0 R (paragraph.11.21.3.69) 6319 0 R (paragraph.11.21.3.7) 6086 0 R (paragraph.11.21.3.8) 6087 0 R]
-/Limits [(paragraph.11.21.3.66) (paragraph.11.21.3.8)]
->> endobj
-12715 0 obj <<
-/Names [(paragraph.11.21.3.9) 6095 0 R (paragraph.11.21.4.1) 6321 0 R (paragraph.11.21.4.2) 6322 0 R (paragraph.11.21.4.3) 6323 0 R (paragraph.11.21.4.4) 6324 0 R (paragraph.11.22.2.1) 6356 0 R]
-/Limits [(paragraph.11.21.3.9) (paragraph.11.22.2.1)]
->> endobj
-12716 0 obj <<
-/Names [(paragraph.11.24.2.1) 6520 0 R (paragraph.11.24.3.1) 6522 0 R (paragraph.11.24.3.2) 6541 0 R (paragraph.11.24.3.3) 6542 0 R (paragraph.11.24.3.4) 6543 0 R (paragraph.11.24.3.5) 6544 0 R]
-/Limits [(paragraph.11.24.2.1) (paragraph.11.24.3.5)]
->> endobj
-12717 0 obj <<
-/Names [(paragraph.11.24.3.6) 6552 0 R (paragraph.11.24.3.7) 6553 0 R (paragraph.11.24.4.1) 6555 0 R (paragraph.11.24.4.2) 6556 0 R (paragraph.11.24.4.3) 6557 0 R (paragraph.11.24.4.4) 6558 0 R]
-/Limits [(paragraph.11.24.3.6) (paragraph.11.24.4.4)]
->> endobj
-12718 0 obj <<
-/Names [(paragraph.11.24.4.5) 6559 0 R (paragraph.11.25.2.1) 6695 0 R (paragraph.11.25.2.2) 6696 0 R (paragraph.11.25.2.3) 6698 0 R (paragraph.11.25.3.1) 6700 0 R (paragraph.11.25.3.2) 6701 0 R]
-/Limits [(paragraph.11.24.4.5) (paragraph.11.25.3.2)]
->> endobj
-12719 0 obj <<
-/Names [(paragraph.11.25.3.3) 6702 0 R (paragraph.11.27.2.1) 6775 0 R (paragraph.11.29.2.1) 6841 0 R (paragraph.11.29.2.2) 6842 0 R (paragraph.11.29.2.3) 6843 0 R (paragraph.11.29.2.4) 6844 0 R]
-/Limits [(paragraph.11.25.3.3) (paragraph.11.29.2.4)]
->> endobj
-12720 0 obj <<
-/Names [(paragraph.11.29.2.5) 6850 0 R (paragraph.11.29.2.6) 6851 0 R (paragraph.11.29.3.1) 6853 0 R (paragraph.11.33.2.1) 7071 0 R (paragraph.11.33.2.2) 7078 0 R (paragraph.11.33.2.3) 7079 0 R]
-/Limits [(paragraph.11.29.2.5) (paragraph.11.33.2.3)]
->> endobj
-12721 0 obj <<
-/Names [(paragraph.11.33.2.4) 7080 0 R (paragraph.11.33.2.5) 7081 0 R (paragraph.11.33.3.1) 7083 0 R (paragraph.11.33.3.10) 7097 0 R (paragraph.11.33.3.11) 7098 0 R (paragraph.11.33.3.12) 7099 0 R]
-/Limits [(paragraph.11.33.2.4) (paragraph.11.33.3.12)]
->> endobj
-12722 0 obj <<
-/Names [(paragraph.11.33.3.13) 7100 0 R (paragraph.11.33.3.14) 7101 0 R (paragraph.11.33.3.15) 7109 0 R (paragraph.11.33.3.16) 7110 0 R (paragraph.11.33.3.17) 7112 0 R (paragraph.11.33.3.18) 7113 0 R]
-/Limits [(paragraph.11.33.3.13) (paragraph.11.33.3.18)]
->> endobj
-12723 0 obj <<
-/Names [(paragraph.11.33.3.19) 7114 0 R (paragraph.11.33.3.2) 7084 0 R (paragraph.11.33.3.20) 7116 0 R (paragraph.11.33.3.21) 7117 0 R (paragraph.11.33.3.22) 7118 0 R (paragraph.11.33.3.23) 7119 0 R]
-/Limits [(paragraph.11.33.3.19) (paragraph.11.33.3.23)]
->> endobj
-12724 0 obj <<
-/Names [(paragraph.11.33.3.24) 7148 0 R (paragraph.11.33.3.25) 7149 0 R (paragraph.11.33.3.3) 7085 0 R (paragraph.11.33.3.4) 7091 0 R (paragraph.11.33.3.5) 7092 0 R (paragraph.11.33.3.6) 7093 0 R]
-/Limits [(paragraph.11.33.3.24) (paragraph.11.33.3.6)]
->> endobj
-12725 0 obj <<
-/Names [(paragraph.11.33.3.7) 7094 0 R (paragraph.11.33.3.8) 7095 0 R (paragraph.11.33.3.9) 7096 0 R (paragraph.11.34.2.1) 7303 0 R (paragraph.11.34.2.2) 7304 0 R (paragraph.11.34.3.1) 7306 0 R]
-/Limits [(paragraph.11.33.3.7) (paragraph.11.34.3.1)]
->> endobj
-12726 0 obj <<
-/Names [(paragraph.11.34.3.2) 7307 0 R (paragraph.11.34.3.3) 7315 0 R (paragraph.11.34.3.4) 7316 0 R (paragraph.11.34.4.1) 7324 0 R (paragraph.11.34.4.10) 7338 0 R (paragraph.11.34.4.11) 7356 0 R]
-/Limits [(paragraph.11.34.3.2) (paragraph.11.34.4.11)]
->> endobj
-12727 0 obj <<
-/Names [(paragraph.11.34.4.12) 7357 0 R (paragraph.11.34.4.2) 7325 0 R (paragraph.11.34.4.3) 7326 0 R (paragraph.11.34.4.4) 7327 0 R (paragraph.11.34.4.5) 7328 0 R (paragraph.11.34.4.6) 7334 0 R]
-/Limits [(paragraph.11.34.4.12) (paragraph.11.34.4.6)]
->> endobj
-12728 0 obj <<
-/Names [(paragraph.11.34.4.7) 7335 0 R (paragraph.11.34.4.8) 7336 0 R (paragraph.11.34.4.9) 7337 0 R (paragraph.11.34.5.1) 7359 0 R (paragraph.11.34.5.2) 7360 0 R (paragraph.11.35.2.1) 7434 0 R]
-/Limits [(paragraph.11.34.4.7) (paragraph.11.35.2.1)]
->> endobj
-12729 0 obj <<
-/Names [(paragraph.11.35.2.10) 7453 0 R (paragraph.11.35.2.11) 7461 0 R (paragraph.11.35.2.12) 7462 0 R (paragraph.11.35.2.2) 7435 0 R (paragraph.11.35.2.3) 7441 0 R (paragraph.11.35.2.4) 7442 0 R]
-/Limits [(paragraph.11.35.2.10) (paragraph.11.35.2.4)]
->> endobj
-12730 0 obj <<
-/Names [(paragraph.11.35.2.5) 7443 0 R (paragraph.11.35.2.6) 7444 0 R (paragraph.11.35.2.7) 7450 0 R (paragraph.11.35.2.8) 7451 0 R (paragraph.11.35.2.9) 7452 0 R (paragraph.11.35.3.1) 7464 0 R]
-/Limits [(paragraph.11.35.2.5) (paragraph.11.35.3.1)]
->> endobj
-12731 0 obj <<
-/Names [(paragraph.11.36.2.1) 7484 0 R (paragraph.11.37.2.1) 7922 0 R (paragraph.11.37.2.10) 7948 0 R (paragraph.11.37.2.2) 7929 0 R (paragraph.11.37.2.3) 7930 0 R (paragraph.11.37.2.4) 7931 0 R]
-/Limits [(paragraph.11.36.2.1) (paragraph.11.37.2.4)]
->> endobj
-12732 0 obj <<
-/Names [(paragraph.11.37.2.5) 7932 0 R (paragraph.11.37.2.6) 7933 0 R (paragraph.11.37.2.7) 7939 0 R (paragraph.11.37.2.8) 7940 0 R (paragraph.11.37.2.9) 7941 0 R (paragraph.11.37.3.1) 7950 0 R]
-/Limits [(paragraph.11.37.2.5) (paragraph.11.37.3.1)]
->> endobj
-12733 0 obj <<
-/Names [(paragraph.11.37.3.10) 7964 0 R (paragraph.11.37.3.11) 7970 0 R (paragraph.11.37.3.12) 7971 0 R (paragraph.11.37.3.13) 7977 0 R (paragraph.11.37.3.14) 7978 0 R (paragraph.11.37.3.15) 7979 0 R]
-/Limits [(paragraph.11.37.3.10) (paragraph.11.37.3.15)]
->> endobj
-12734 0 obj <<
-/Names [(paragraph.11.37.3.16) 7985 0 R (paragraph.11.37.3.17) 7986 0 R (paragraph.11.37.3.18) 7987 0 R (paragraph.11.37.3.19) 7988 0 R (paragraph.11.37.3.2) 7951 0 R (paragraph.11.37.3.20) 7994 0 R]
-/Limits [(paragraph.11.37.3.16) (paragraph.11.37.3.20)]
->> endobj
-12735 0 obj <<
-/Names [(paragraph.11.37.3.21) 7995 0 R (paragraph.11.37.3.22) 7996 0 R (paragraph.11.37.3.23) 8006 0 R (paragraph.11.37.3.24) 8007 0 R (paragraph.11.37.3.25) 8008 0 R (paragraph.11.37.3.26) 8009 0 R]
-/Limits [(paragraph.11.37.3.21) (paragraph.11.37.3.26)]
->> endobj
-12736 0 obj <<
-/Names [(paragraph.11.37.3.27) 8017 0 R (paragraph.11.37.3.28) 8018 0 R (paragraph.11.37.3.29) 8019 0 R (paragraph.11.37.3.3) 7952 0 R (paragraph.11.37.3.30) 8020 0 R (paragraph.11.37.3.31) 8021 0 R]
-/Limits [(paragraph.11.37.3.27) (paragraph.11.37.3.31)]
->> endobj
-12737 0 obj <<
-/Names [(paragraph.11.37.3.32) 8030 0 R (paragraph.11.37.3.33) 8031 0 R (paragraph.11.37.3.34) 8032 0 R (paragraph.11.37.3.35) 8041 0 R (paragraph.11.37.3.36) 8042 0 R (paragraph.11.37.3.37) 8051 0 R]
-/Limits [(paragraph.11.37.3.32) (paragraph.11.37.3.37)]
->> endobj
-12738 0 obj <<
-/Names [(paragraph.11.37.3.38) 8052 0 R (paragraph.11.37.3.39) 8053 0 R (paragraph.11.37.3.4) 7953 0 R (paragraph.11.37.3.40) 8065 0 R (paragraph.11.37.3.41) 8066 0 R (paragraph.11.37.3.42) 8067 0 R]
-/Limits [(paragraph.11.37.3.38) (paragraph.11.37.3.42)]
->> endobj
-12739 0 obj <<
-/Names [(paragraph.11.37.3.43) 8078 0 R (paragraph.11.37.3.44) 8079 0 R (paragraph.11.37.3.45) 8080 0 R (paragraph.11.37.3.46) 8090 0 R (paragraph.11.37.3.47) 8091 0 R (paragraph.11.37.3.48) 8092 0 R]
-/Limits [(paragraph.11.37.3.43) (paragraph.11.37.3.48)]
->> endobj
-12740 0 obj <<
-/Names [(paragraph.11.37.3.49) 8093 0 R (paragraph.11.37.3.5) 7959 0 R (paragraph.11.37.3.50) 8103 0 R (paragraph.11.37.3.51) 8104 0 R (paragraph.11.37.3.52) 8105 0 R (paragraph.11.37.3.53) 8114 0 R]
-/Limits [(paragraph.11.37.3.49) (paragraph.11.37.3.53)]
->> endobj
-12741 0 obj <<
-/Names [(paragraph.11.37.3.54) 8115 0 R (paragraph.11.37.3.6) 7960 0 R (paragraph.11.37.3.7) 7961 0 R (paragraph.11.37.3.8) 7962 0 R (paragraph.11.37.3.9) 7963 0 R (paragraph.11.37.4.1) 8117 0 R]
-/Limits [(paragraph.11.37.3.54) (paragraph.11.37.4.1)]
->> endobj
-12742 0 obj <<
-/Names [(paragraph.11.37.4.10) 8136 0 R (paragraph.11.37.4.11) 8137 0 R (paragraph.11.37.4.2) 8118 0 R (paragraph.11.37.4.3) 8119 0 R (paragraph.11.37.4.4) 8120 0 R (paragraph.11.37.4.5) 8126 0 R]
-/Limits [(paragraph.11.37.4.10) (paragraph.11.37.4.5)]
->> endobj
-12743 0 obj <<
-/Names [(paragraph.11.37.4.6) 8127 0 R (paragraph.11.37.4.7) 8128 0 R (paragraph.11.37.4.8) 8134 0 R (paragraph.11.37.4.9) 8135 0 R (paragraph.11.38.2.1) 8547 0 R (paragraph.11.38.2.10) 8577 0 R]
-/Limits [(paragraph.11.37.4.6) (paragraph.11.38.2.10)]
->> endobj
-12744 0 obj <<
-/Names [(paragraph.11.38.2.11) 8578 0 R (paragraph.11.38.2.12) 8579 0 R (paragraph.11.38.2.2) 8553 0 R (paragraph.11.38.2.3) 8554 0 R (paragraph.11.38.2.4) 8555 0 R (paragraph.11.38.2.5) 8561 0 R]
-/Limits [(paragraph.11.38.2.11) (paragraph.11.38.2.5)]
->> endobj
-12745 0 obj <<
-/Names [(paragraph.11.38.2.6) 8562 0 R (paragraph.11.38.2.7) 8568 0 R (paragraph.11.38.2.8) 8569 0 R (paragraph.11.38.2.9) 8570 0 R (paragraph.11.38.3.1) 8586 0 R (paragraph.11.38.3.10) 8610 0 R]
-/Limits [(paragraph.11.38.2.6) (paragraph.11.38.3.10)]
->> endobj
-12746 0 obj <<
-/Names [(paragraph.11.38.3.11) 8611 0 R (paragraph.11.38.3.12) 8612 0 R (paragraph.11.38.3.13) 8613 0 R (paragraph.11.38.3.14) 8614 0 R (paragraph.11.38.3.15) 8620 0 R (paragraph.11.38.3.16) 8621 0 R]
-/Limits [(paragraph.11.38.3.11) (paragraph.11.38.3.16)]
->> endobj
-12747 0 obj <<
-/Names [(paragraph.11.38.3.17) 8622 0 R (paragraph.11.38.3.18) 8630 0 R (paragraph.11.38.3.19) 8631 0 R (paragraph.11.38.3.2) 8587 0 R (paragraph.11.38.3.20) 8632 0 R (paragraph.11.38.3.21) 8633 0 R]
-/Limits [(paragraph.11.38.3.17) (paragraph.11.38.3.21)]
->> endobj
-12748 0 obj <<
-/Names [(paragraph.11.38.3.22) 8641 0 R (paragraph.11.38.3.23) 8642 0 R (paragraph.11.38.3.24) 8643 0 R (paragraph.11.38.3.25) 8644 0 R (paragraph.11.38.3.26) 8654 0 R (paragraph.11.38.3.27) 8655 0 R]
-/Limits [(paragraph.11.38.3.22) (paragraph.11.38.3.27)]
->> endobj
-12749 0 obj <<
-/Names [(paragraph.11.38.3.28) 8656 0 R (paragraph.11.38.3.29) 8668 0 R (paragraph.11.38.3.3) 8588 0 R (paragraph.11.38.3.30) 8669 0 R (paragraph.11.38.3.31) 8670 0 R (paragraph.11.38.3.32) 8682 0 R]
-/Limits [(paragraph.11.38.3.28) (paragraph.11.38.3.32)]
->> endobj
-12750 0 obj <<
-/Names [(paragraph.11.38.3.33) 8683 0 R (paragraph.11.38.3.34) 8692 0 R (paragraph.11.38.3.35) 8693 0 R (paragraph.11.38.3.36) 8694 0 R (paragraph.11.38.3.37) 8708 0 R (paragraph.11.38.3.38) 8709 0 R]
-/Limits [(paragraph.11.38.3.33) (paragraph.11.38.3.38)]
->> endobj
-12751 0 obj <<
-/Names [(paragraph.11.38.3.39) 8710 0 R (paragraph.11.38.3.4) 8589 0 R (paragraph.11.38.3.40) 8712 0 R (paragraph.11.38.3.41) 8720 0 R (paragraph.11.38.3.42) 8721 0 R (paragraph.11.38.3.43) 8723 0 R]
-/Limits [(paragraph.11.38.3.39) (paragraph.11.38.3.43)]
->> endobj
-12752 0 obj <<
-/Names [(paragraph.11.38.3.44) 8734 0 R (paragraph.11.38.3.45) 8735 0 R (paragraph.11.38.3.5) 8595 0 R (paragraph.11.38.3.6) 8596 0 R (paragraph.11.38.3.7) 8597 0 R (paragraph.11.38.3.8) 8603 0 R]
-/Limits [(paragraph.11.38.3.44) (paragraph.11.38.3.8)]
->> endobj
-12753 0 obj <<
-/Names [(paragraph.11.38.3.9) 8604 0 R (paragraph.11.38.4.1) 8737 0 R (paragraph.11.38.4.2) 8756 0 R (paragraph.11.38.4.3) 8757 0 R (paragraph.11.38.4.4) 8758 0 R (paragraph.11.39.2.1) 9134 0 R]
-/Limits [(paragraph.11.38.3.9) (paragraph.11.39.2.1)]
->> endobj
-12754 0 obj <<
-/Names [(paragraph.11.39.2.2) 9145 0 R (paragraph.11.39.2.3) 9146 0 R (paragraph.11.39.2.4) 9147 0 R (paragraph.11.39.2.5) 9148 0 R (paragraph.11.39.2.6) 9155 0 R (paragraph.11.39.2.7) 9156 0 R]
-/Limits [(paragraph.11.39.2.2) (paragraph.11.39.2.7)]
->> endobj
-12755 0 obj <<
-/Names [(paragraph.11.39.2.8) 9157 0 R (paragraph.11.39.2.9) 9163 0 R (paragraph.11.39.3.1) 9165 0 R (paragraph.11.39.3.10) 9190 0 R (paragraph.11.39.3.11) 9191 0 R (paragraph.11.39.3.12) 9192 0 R]
-/Limits [(paragraph.11.39.2.8) (paragraph.11.39.3.12)]
->> endobj
-12756 0 obj <<
-/Names [(paragraph.11.39.3.13) 9193 0 R (paragraph.11.39.3.14) 9199 0 R (paragraph.11.39.3.15) 9200 0 R (paragraph.11.39.3.16) 9201 0 R (paragraph.11.39.3.17) 9202 0 R (paragraph.11.39.3.18) 9203 0 R]
-/Limits [(paragraph.11.39.3.13) (paragraph.11.39.3.18)]
->> endobj
-12757 0 obj <<
-/Names [(paragraph.11.39.3.19) 9204 0 R (paragraph.11.39.3.2) 9166 0 R (paragraph.11.39.3.20) 9213 0 R (paragraph.11.39.3.21) 9214 0 R (paragraph.11.39.3.22) 9215 0 R (paragraph.11.39.3.23) 9216 0 R]
-/Limits [(paragraph.11.39.3.19) (paragraph.11.39.3.23)]
->> endobj
-12758 0 obj <<
-/Names [(paragraph.11.39.3.24) 9226 0 R (paragraph.11.39.3.25) 9227 0 R (paragraph.11.39.3.26) 9228 0 R (paragraph.11.39.3.27) 9237 0 R (paragraph.11.39.3.28) 9238 0 R (paragraph.11.39.3.29) 9239 0 R]
-/Limits [(paragraph.11.39.3.24) (paragraph.11.39.3.29)]
->> endobj
-12759 0 obj <<
-/Names [(paragraph.11.39.3.3) 9173 0 R (paragraph.11.39.3.30) 9240 0 R (paragraph.11.39.3.31) 9250 0 R (paragraph.11.39.3.32) 9251 0 R (paragraph.11.39.3.33) 9252 0 R (paragraph.11.39.3.34) 9253 0 R]
-/Limits [(paragraph.11.39.3.3) (paragraph.11.39.3.34)]
->> endobj
-12760 0 obj <<
-/Names [(paragraph.11.39.3.35) 9263 0 R (paragraph.11.39.3.36) 9264 0 R (paragraph.11.39.3.37) 9265 0 R (paragraph.11.39.3.38) 9266 0 R (paragraph.11.39.3.39) 9277 0 R (paragraph.11.39.3.4) 9174 0 R]
-/Limits [(paragraph.11.39.3.35) (paragraph.11.39.3.4)]
->> endobj
-12761 0 obj <<
-/Names [(paragraph.11.39.3.40) 9278 0 R (paragraph.11.39.3.41) 9289 0 R (paragraph.11.39.3.42) 9290 0 R (paragraph.11.39.3.43) 9291 0 R (paragraph.11.39.3.44) 9303 0 R (paragraph.11.39.3.45) 9304 0 R]
-/Limits [(paragraph.11.39.3.40) (paragraph.11.39.3.45)]
->> endobj
-12762 0 obj <<
-/Names [(paragraph.11.39.3.46) 9305 0 R (paragraph.11.39.3.47) 9316 0 R (paragraph.11.39.3.48) 9317 0 R (paragraph.11.39.3.49) 9318 0 R (paragraph.11.39.3.5) 9175 0 R (paragraph.11.39.3.50) 9319 0 R]
-/Limits [(paragraph.11.39.3.46) (paragraph.11.39.3.50)]
->> endobj
-12763 0 obj <<
-/Names [(paragraph.11.39.3.51) 9331 0 R (paragraph.11.39.3.52) 9332 0 R (paragraph.11.39.3.53) 9333 0 R (paragraph.11.39.3.6) 9176 0 R (paragraph.11.39.3.7) 9182 0 R (paragraph.11.39.3.8) 9183 0 R]
-/Limits [(paragraph.11.39.3.51) (paragraph.11.39.3.8)]
->> endobj
-12764 0 obj <<
-/Names [(paragraph.11.39.3.9) 9189 0 R (paragraph.11.39.4.1) 9335 0 R (paragraph.11.39.4.2) 9347 0 R (paragraph.11.39.4.3) 9348 0 R (paragraph.11.39.4.4) 9350 0 R (paragraph.11.39.4.5) 9352 0 R]
-/Limits [(paragraph.11.39.3.9) (paragraph.11.39.4.5)]
->> endobj
-12765 0 obj <<
-/Names [(paragraph.11.39.4.6) 9375 0 R (paragraph.11.39.4.7) 9376 0 R (paragraph.11.4.2.1) 3306 0 R (paragraph.11.4.2.10) 3328 0 R (paragraph.11.4.2.11) 3329 0 R (paragraph.11.4.2.12) 3330 0 R]
-/Limits [(paragraph.11.39.4.6) (paragraph.11.4.2.12)]
->> endobj
-12766 0 obj <<
-/Names [(paragraph.11.4.2.13) 3336 0 R (paragraph.11.4.2.14) 3337 0 R (paragraph.11.4.2.2) 3307 0 R (paragraph.11.4.2.3) 3316 0 R (paragraph.11.4.2.4) 3317 0 R (paragraph.11.4.2.5) 3318 0 R]
-/Limits [(paragraph.11.4.2.13) (paragraph.11.4.2.5)]
->> endobj
-12767 0 obj <<
-/Names [(paragraph.11.4.2.6) 3319 0 R (paragraph.11.4.2.7) 3320 0 R (paragraph.11.4.2.8) 3326 0 R (paragraph.11.4.2.9) 3327 0 R (paragraph.11.4.3.1) 3339 0 R (paragraph.11.4.3.10) 3359 0 R]
-/Limits [(paragraph.11.4.2.6) (paragraph.11.4.3.10)]
->> endobj
-12768 0 obj <<
-/Names [(paragraph.11.4.3.11) 3366 0 R (paragraph.11.4.3.12) 3367 0 R (paragraph.11.4.3.13) 3368 0 R (paragraph.11.4.3.14) 3369 0 R (paragraph.11.4.3.15) 3370 0 R (paragraph.11.4.3.16) 3376 0 R]
-/Limits [(paragraph.11.4.3.11) (paragraph.11.4.3.16)]
->> endobj
-12769 0 obj <<
-/Names [(paragraph.11.4.3.17) 3377 0 R (paragraph.11.4.3.18) 3378 0 R (paragraph.11.4.3.19) 3379 0 R (paragraph.11.4.3.2) 3340 0 R (paragraph.11.4.3.20) 3385 0 R (paragraph.11.4.3.21) 3386 0 R]
-/Limits [(paragraph.11.4.3.17) (paragraph.11.4.3.21)]
->> endobj
-12770 0 obj <<
-/Names [(paragraph.11.4.3.22) 3387 0 R (paragraph.11.4.3.23) 3395 0 R (paragraph.11.4.3.24) 3396 0 R (paragraph.11.4.3.25) 3397 0 R (paragraph.11.4.3.26) 3398 0 R (paragraph.11.4.3.27) 3406 0 R]
-/Limits [(paragraph.11.4.3.22) (paragraph.11.4.3.27)]
->> endobj
-12771 0 obj <<
-/Names [(paragraph.11.4.3.28) 3407 0 R (paragraph.11.4.3.29) 3408 0 R (paragraph.11.4.3.3) 3341 0 R (paragraph.11.4.3.30) 3409 0 R (paragraph.11.4.3.31) 3410 0 R (paragraph.11.4.3.32) 3420 0 R]
-/Limits [(paragraph.11.4.3.28) (paragraph.11.4.3.32)]
->> endobj
-12772 0 obj <<
-/Names [(paragraph.11.4.3.33) 3421 0 R (paragraph.11.4.3.34) 3422 0 R (paragraph.11.4.3.35) 3423 0 R (paragraph.11.4.3.36) 3432 0 R (paragraph.11.4.3.37) 3433 0 R (paragraph.11.4.3.38) 3441 0 R]
-/Limits [(paragraph.11.4.3.33) (paragraph.11.4.3.38)]
->> endobj
-12773 0 obj <<
-/Names [(paragraph.11.4.3.39) 3442 0 R (paragraph.11.4.3.4) 3342 0 R (paragraph.11.4.3.40) 3443 0 R (paragraph.11.4.3.41) 3454 0 R (paragraph.11.4.3.42) 3455 0 R (paragraph.11.4.3.43) 3456 0 R]
-/Limits [(paragraph.11.4.3.39) (paragraph.11.4.3.43)]
->> endobj
-12774 0 obj <<
-/Names [(paragraph.11.4.3.44) 3457 0 R (paragraph.11.4.3.45) 3466 0 R (paragraph.11.4.3.46) 3467 0 R (paragraph.11.4.3.47) 3475 0 R (paragraph.11.4.3.48) 3476 0 R (paragraph.11.4.3.49) 3477 0 R]
-/Limits [(paragraph.11.4.3.44) (paragraph.11.4.3.49)]
->> endobj
-12775 0 obj <<
-/Names [(paragraph.11.4.3.5) 3348 0 R (paragraph.11.4.3.50) 3478 0 R (paragraph.11.4.3.51) 3491 0 R (paragraph.11.4.3.52) 3492 0 R (paragraph.11.4.3.53) 3493 0 R (paragraph.11.4.3.54) 3500 0 R]
-/Limits [(paragraph.11.4.3.5) (paragraph.11.4.3.54)]
->> endobj
-12776 0 obj <<
-/Names [(paragraph.11.4.3.55) 3501 0 R (paragraph.11.4.3.56) 3502 0 R (paragraph.11.4.3.57) 3503 0 R (paragraph.11.4.3.6) 3349 0 R (paragraph.11.4.3.7) 3350 0 R (paragraph.11.4.3.8) 3351 0 R]
-/Limits [(paragraph.11.4.3.55) (paragraph.11.4.3.8)]
->> endobj
-12777 0 obj <<
-/Names [(paragraph.11.4.3.9) 3358 0 R (paragraph.11.4.4.1) 3510 0 R (paragraph.11.4.4.2) 3511 0 R (paragraph.11.4.4.3) 3512 0 R (paragraph.11.4.4.4) 3513 0 R (paragraph.11.4.4.5) 3514 0 R]
-/Limits [(paragraph.11.4.3.9) (paragraph.11.4.4.5)]
->> endobj
-12778 0 obj <<
-/Names [(paragraph.11.4.4.6) 3520 0 R (paragraph.11.4.4.7) 3521 0 R (paragraph.11.4.4.8) 3522 0 R (paragraph.11.4.4.9) 3550 0 R (paragraph.11.40.2.1) 9416 0 R (paragraph.11.40.2.2) 9418 0 R]
-/Limits [(paragraph.11.4.4.6) (paragraph.11.40.2.2)]
->> endobj
-12779 0 obj <<
-/Names [(paragraph.11.40.2.3) 9420 0 R (paragraph.11.40.2.4) 9444 0 R (paragraph.11.40.2.5) 9445 0 R (paragraph.11.41.2.1) 9475 0 R (paragraph.11.41.2.2) 9477 0 R (paragraph.11.41.2.3) 9479 0 R]
-/Limits [(paragraph.11.40.2.3) (paragraph.11.41.2.3)]
->> endobj
-12780 0 obj <<
-/Names [(paragraph.11.41.2.4) 9481 0 R (paragraph.11.41.2.5) 9513 0 R (paragraph.11.42.2.1) 9943 0 R (paragraph.11.42.2.2) 9944 0 R (paragraph.11.42.2.3) 9945 0 R (paragraph.11.42.2.4) 9951 0 R]
-/Limits [(paragraph.11.41.2.4) (paragraph.11.42.2.4)]
->> endobj
-12781 0 obj <<
-/Names [(paragraph.11.42.2.5) 9952 0 R (paragraph.11.42.2.6) 9953 0 R (paragraph.11.42.2.7) 9959 0 R (paragraph.11.42.3.1) 9961 0 R (paragraph.11.42.3.10) 9981 0 R (paragraph.11.42.3.11) 9982 0 R]
-/Limits [(paragraph.11.42.2.5) (paragraph.11.42.3.11)]
->> endobj
-12782 0 obj <<
-/Names [(paragraph.11.42.3.12) 9988 0 R (paragraph.11.42.3.13) 9989 0 R (paragraph.11.42.3.14) 9990 0 R (paragraph.11.42.3.15) 10000 0 R (paragraph.11.42.3.16) 10001 0 R (paragraph.11.42.3.17) 10002 0 R]
-/Limits [(paragraph.11.42.3.12) (paragraph.11.42.3.17)]
->> endobj
-12783 0 obj <<
-/Names [(paragraph.11.42.3.18) 10003 0 R (paragraph.11.42.3.19) 10011 0 R (paragraph.11.42.3.2) 9962 0 R (paragraph.11.42.3.20) 10012 0 R (paragraph.11.42.3.21) 10013 0 R (paragraph.11.42.3.22) 10021 0 R]
-/Limits [(paragraph.11.42.3.18) (paragraph.11.42.3.22)]
->> endobj
-12784 0 obj <<
-/Names [(paragraph.11.42.3.23) 10022 0 R (paragraph.11.42.3.24) 10023 0 R (paragraph.11.42.3.25) 10031 0 R (paragraph.11.42.3.26) 10032 0 R (paragraph.11.42.3.27) 10033 0 R (paragraph.11.42.3.28) 10044 0 R]
-/Limits [(paragraph.11.42.3.23) (paragraph.11.42.3.28)]
->> endobj
-12785 0 obj <<
-/Names [(paragraph.11.42.3.29) 10045 0 R (paragraph.11.42.3.3) 9963 0 R (paragraph.11.42.3.30) 10053 0 R (paragraph.11.42.3.31) 10054 0 R (paragraph.11.42.3.32) 10055 0 R (paragraph.11.42.3.33) 10063 0 R]
-/Limits [(paragraph.11.42.3.29) (paragraph.11.42.3.33)]
->> endobj
-12786 0 obj <<
-/Names [(paragraph.11.42.3.34) 10064 0 R (paragraph.11.42.3.35) 10065 0 R (paragraph.11.42.3.36) 10074 0 R (paragraph.11.42.3.37) 10075 0 R (paragraph.11.42.3.38) 10076 0 R (paragraph.11.42.3.39) 10077 0 R]
-/Limits [(paragraph.11.42.3.34) (paragraph.11.42.3.39)]
->> endobj
-12787 0 obj <<
-/Names [(paragraph.11.42.3.4) 9969 0 R (paragraph.11.42.3.40) 10088 0 R (paragraph.11.42.3.41) 10089 0 R (paragraph.11.42.3.42) 10090 0 R (paragraph.11.42.3.43) 10091 0 R (paragraph.11.42.3.44) 10101 0 R]
-/Limits [(paragraph.11.42.3.4) (paragraph.11.42.3.44)]
->> endobj
-12788 0 obj <<
-/Names [(paragraph.11.42.3.45) 10102 0 R (paragraph.11.42.3.46) 10103 0 R (paragraph.11.42.3.47) 10104 0 R (paragraph.11.42.3.48) 10117 0 R (paragraph.11.42.3.49) 10118 0 R (paragraph.11.42.3.5) 9970 0 R]
-/Limits [(paragraph.11.42.3.45) (paragraph.11.42.3.5)]
->> endobj
-12789 0 obj <<
-/Names [(paragraph.11.42.3.50) 10127 0 R (paragraph.11.42.3.51) 10128 0 R (paragraph.11.42.3.52) 10129 0 R (paragraph.11.42.3.53) 10143 0 R (paragraph.11.42.3.54) 10144 0 R (paragraph.11.42.3.55) 10145 0 R]
-/Limits [(paragraph.11.42.3.50) (paragraph.11.42.3.55)]
->> endobj
-12790 0 obj <<
-/Names [(paragraph.11.42.3.56) 10159 0 R (paragraph.11.42.3.57) 10160 0 R (paragraph.11.42.3.58) 10161 0 R (paragraph.11.42.3.59) 10171 0 R (paragraph.11.42.3.6) 9971 0 R (paragraph.11.42.3.60) 10172 0 R]
-/Limits [(paragraph.11.42.3.56) (paragraph.11.42.3.60)]
->> endobj
-12791 0 obj <<
-/Names [(paragraph.11.42.3.61) 10173 0 R (paragraph.11.42.3.62) 10184 0 R (paragraph.11.42.3.63) 10185 0 R (paragraph.11.42.3.64) 10186 0 R (paragraph.11.42.3.65) 10187 0 R (paragraph.11.42.3.66) 10200 0 R]
-/Limits [(paragraph.11.42.3.61) (paragraph.11.42.3.66)]
->> endobj
-12792 0 obj <<
-/Names [(paragraph.11.42.3.67) 10201 0 R (paragraph.11.42.3.68) 10210 0 R (paragraph.11.42.3.69) 10211 0 R (paragraph.11.42.3.7) 9972 0 R (paragraph.11.42.3.8) 9973 0 R (paragraph.11.42.3.9) 9980 0 R]
-/Limits [(paragraph.11.42.3.67) (paragraph.11.42.3.9)]
->> endobj
-12793 0 obj <<
-/Names [(paragraph.11.42.4.1) 10213 0 R (paragraph.11.42.4.2) 10214 0 R (paragraph.11.42.4.3) 10215 0 R (paragraph.11.43.2.1) 10402 0 R (paragraph.11.43.2.2) 10403 0 R (paragraph.11.43.3.1) 10406 0 R]
-/Limits [(paragraph.11.42.4.1) (paragraph.11.43.3.1)]
->> endobj
-12794 0 obj <<
-/Names [(paragraph.11.43.3.2) 10407 0 R (paragraph.11.43.3.3) 10408 0 R (paragraph.11.43.3.4) 10409 0 R (paragraph.11.43.3.5) 10415 0 R (paragraph.11.43.3.6) 10416 0 R (paragraph.11.43.4.1) 10418 0 R]
-/Limits [(paragraph.11.43.3.2) (paragraph.11.43.4.1)]
->> endobj
-12795 0 obj <<
-/Names [(paragraph.11.43.4.2) 10419 0 R (paragraph.11.43.4.3) 10420 0 R (paragraph.11.43.4.4) 10421 0 R (paragraph.11.45.2.1) 10439 0 R (paragraph.11.47.2.1) 10512 0 R (paragraph.11.47.3.1) 10514 0 R]
-/Limits [(paragraph.11.43.4.2) (paragraph.11.47.3.1)]
->> endobj
-12796 0 obj <<
-/Names [(paragraph.11.47.4.1) 10516 0 R (paragraph.11.47.4.2) 10517 0 R (paragraph.11.49.2.1) 10574 0 R (paragraph.11.49.3.1) 10577 0 R (paragraph.11.5.2.1) 3612 0 R (paragraph.11.5.2.10) 3631 0 R]
-/Limits [(paragraph.11.47.4.1) (paragraph.11.5.2.10)]
->> endobj
-12797 0 obj <<
-/Names [(paragraph.11.5.2.11) 3632 0 R (paragraph.11.5.2.12) 3644 0 R (paragraph.11.5.2.13) 3645 0 R (paragraph.11.5.2.2) 3613 0 R (paragraph.11.5.2.3) 3614 0 R (paragraph.11.5.2.4) 3620 0 R]
-/Limits [(paragraph.11.5.2.11) (paragraph.11.5.2.4)]
->> endobj
-12798 0 obj <<
-/Names [(paragraph.11.5.2.5) 3621 0 R (paragraph.11.5.2.6) 3622 0 R (paragraph.11.5.2.7) 3623 0 R (paragraph.11.5.2.8) 3629 0 R (paragraph.11.5.2.9) 3630 0 R (paragraph.11.5.3.1) 3647 0 R]
-/Limits [(paragraph.11.5.2.5) (paragraph.11.5.3.1)]
->> endobj
-12799 0 obj <<
-/Names [(paragraph.11.6.2.1) 4068 0 R (paragraph.11.6.3.1) 4070 0 R (paragraph.11.6.3.10) 4084 0 R (paragraph.11.6.3.11) 4085 0 R (paragraph.11.6.3.12) 4086 0 R (paragraph.11.6.3.13) 4087 0 R]
-/Limits [(paragraph.11.6.2.1) (paragraph.11.6.3.13)]
->> endobj
-12800 0 obj <<
-/Names [(paragraph.11.6.3.14) 4088 0 R (paragraph.11.6.3.15) 4089 0 R (paragraph.11.6.3.16) 4090 0 R (paragraph.11.6.3.17) 4091 0 R (paragraph.11.6.3.18) 4092 0 R (paragraph.11.6.3.19) 4093 0 R]
-/Limits [(paragraph.11.6.3.14) (paragraph.11.6.3.19)]
->> endobj
-12801 0 obj <<
-/Names [(paragraph.11.6.3.2) 4071 0 R (paragraph.11.6.3.20) 4099 0 R (paragraph.11.6.3.21) 4100 0 R (paragraph.11.6.3.22) 4101 0 R (paragraph.11.6.3.23) 4102 0 R (paragraph.11.6.3.24) 4103 0 R]
-/Limits [(paragraph.11.6.3.2) (paragraph.11.6.3.24)]
->> endobj
-12802 0 obj <<
-/Names [(paragraph.11.6.3.25) 4104 0 R (paragraph.11.6.3.26) 4105 0 R (paragraph.11.6.3.27) 4106 0 R (paragraph.11.6.3.28) 4107 0 R (paragraph.11.6.3.29) 4113 0 R (paragraph.11.6.3.3) 4072 0 R]
-/Limits [(paragraph.11.6.3.25) (paragraph.11.6.3.3)]
->> endobj
-12803 0 obj <<
-/Names [(paragraph.11.6.3.30) 4114 0 R (paragraph.11.6.3.31) 4115 0 R (paragraph.11.6.3.32) 4116 0 R (paragraph.11.6.3.33) 4117 0 R (paragraph.11.6.3.34) 4118 0 R (paragraph.11.6.3.35) 4119 0 R]
-/Limits [(paragraph.11.6.3.30) (paragraph.11.6.3.35)]
->> endobj
-12804 0 obj <<
-/Names [(paragraph.11.6.3.36) 4120 0 R (paragraph.11.6.3.37) 4121 0 R (paragraph.11.6.3.38) 4127 0 R (paragraph.11.6.3.39) 4128 0 R (paragraph.11.6.3.4) 4073 0 R (paragraph.11.6.3.40) 4129 0 R]
-/Limits [(paragraph.11.6.3.36) (paragraph.11.6.3.40)]
->> endobj
-12805 0 obj <<
-/Names [(paragraph.11.6.3.41) 4130 0 R (paragraph.11.6.3.42) 4156 0 R (paragraph.11.6.3.43) 4157 0 R (paragraph.11.6.3.44) 4158 0 R (paragraph.11.6.3.45) 4159 0 R (paragraph.11.6.3.5) 4074 0 R]
-/Limits [(paragraph.11.6.3.41) (paragraph.11.6.3.5)]
->> endobj
-12806 0 obj <<
-/Names [(paragraph.11.6.3.6) 4075 0 R (paragraph.11.6.3.7) 4076 0 R (paragraph.11.6.3.8) 4077 0 R (paragraph.11.6.3.9) 4078 0 R (paragraph.11.7.2.1) 4292 0 R (paragraph.11.7.3.1) 4299 0 R]
-/Limits [(paragraph.11.6.3.6) (paragraph.11.7.3.1)]
->> endobj
-12807 0 obj <<
-/Names [(paragraph.11.7.3.2) 4300 0 R (paragraph.11.7.3.3) 4301 0 R (paragraph.11.7.3.4) 4302 0 R (paragraph.11.7.3.5) 4303 0 R (paragraph.11.7.3.6) 4304 0 R (paragraph.11.7.3.7) 4311 0 R]
-/Limits [(paragraph.11.7.3.2) (paragraph.11.7.3.7)]
->> endobj
-12808 0 obj <<
-/Names [(paragraph.11.7.3.8) 4312 0 R (paragraph.11.7.3.9) 4313 0 R (paragraph.11.7.4.1) 4315 0 R (paragraph.11.7.4.2) 4316 0 R (paragraph.11.7.4.3) 4317 0 R (paragraph.11.7.4.4) 4318 0 R]
-/Limits [(paragraph.11.7.3.8) (paragraph.11.7.4.4)]
->> endobj
-12809 0 obj <<
-/Names [(paragraph.11.7.4.5) 4319 0 R (paragraph.11.7.4.6) 4320 0 R (paragraph.11.7.4.7) 4342 0 R (paragraph.11.7.4.8) 4343 0 R (paragraph.11.8.2.1) 4461 0 R (paragraph.11.8.3.1) 4463 0 R]
-/Limits [(paragraph.11.7.4.5) (paragraph.11.8.3.1)]
->> endobj
-12810 0 obj <<
-/Names [(paragraph.11.8.3.2) 4464 0 R (paragraph.11.8.3.3) 4465 0 R (paragraph.11.8.3.4) 4466 0 R (paragraph.11.8.4.1) 4485 0 R (paragraph.11.8.4.2) 4486 0 R (paragraph.9.1.2.1) 1749 0 R]
-/Limits [(paragraph.11.8.3.2) (paragraph.9.1.2.1)]
->> endobj
-12811 0 obj <<
-/Names [(paragraph.9.1.2.2) 1750 0 R (paragraph.9.1.2.3) 1780 0 R (paragraph.9.1.2.4) 1781 0 R (paragraph.9.1.3.1) 1783 0 R (paragraph.9.1.3.2) 1784 0 R (paragraph.9.1.3.3) 1785 0 R]
-/Limits [(paragraph.9.1.2.2) (paragraph.9.1.3.3)]
->> endobj
-12812 0 obj <<
-/Names [(paragraph.9.1.4.1) 1787 0 R (paragraph.9.1.4.2) 1794 0 R (paragraph.9.1.4.3) 1795 0 R (paragraph.9.1.4.4) 1802 0 R (paragraph.9.1.4.5) 1803 0 R (paragraph.9.1.4.6) 1804 0 R]
-/Limits [(paragraph.9.1.4.1) (paragraph.9.1.4.6)]
->> endobj
-12813 0 obj <<
-/Names [(paragraph.9.1.4.7) 1805 0 R (paragraph.9.1.5.1) 1807 0 R (section*.1) 377 0 R (section*.10) 1099 0 R (section*.100) 6000 0 R (section*.101) 6325 0 R]
-/Limits [(paragraph.9.1.4.7) (section*.101)]
->> endobj
-12814 0 obj <<
-/Names [(section*.102) 6347 0 R (section*.103) 6384 0 R (section*.104) 6387 0 R (section*.105) 6388 0 R (section*.106) 6478 0 R (section*.107) 6483 0 R]
-/Limits [(section*.102) (section*.107)]
->> endobj
-12815 0 obj <<
-/Names [(section*.108) 6593 0 R (section*.109) 6594 0 R (section*.11) 1105 0 R (section*.110) 6649 0 R (section*.111) 6672 0 R (section*.112) 6673 0 R]
-/Limits [(section*.108) (section*.112)]
->> endobj
-12816 0 obj <<
-/Names [(section*.113) 6723 0 R (section*.114) 6754 0 R (section*.115) 6755 0 R (section*.116) 6776 0 R (section*.117) 6799 0 R (section*.118) 6825 0 R]
-/Limits [(section*.113) (section*.118)]
->> endobj
-12817 0 obj <<
-/Names [(section*.119) 6828 0 R (section*.12) 1111 0 R (section*.120) 6855 0 R (section*.121) 6872 0 R (section*.122) 6874 0 R (section*.123) 6875 0 R]
-/Limits [(section*.119) (section*.123)]
->> endobj
-12818 0 obj <<
-/Names [(section*.124) 6979 0 R (section*.125) 6983 0 R (section*.126) 7043 0 R (section*.127) 7150 0 R (section*.128) 7153 0 R (section*.129) 7288 0 R]
-/Limits [(section*.124) (section*.129)]
->> endobj
-12819 0 obj <<
-/Names [(section*.13) 1112 0 R (section*.130) 7290 0 R (section*.131) 7361 0 R (section*.132) 7477 0 R (section*.133) 7481 0 R (section*.134) 7485 0 R]
-/Limits [(section*.13) (section*.134)]
->> endobj
-12820 0 obj <<
-/Names [(section*.135) 7524 0 R (section*.136) 7876 0 R (section*.137) 7880 0 R (section*.138) 7881 0 R (section*.139) 7908 0 R (section*.14) 1118 0 R]
-/Limits [(section*.135) (section*.14)]
->> endobj
-12821 0 obj <<
-/Names [(section*.140) 8177 0 R (section*.141) 8496 0 R (section*.142) 8498 0 R (section*.143) 8501 0 R (section*.144) 8505 0 R (section*.145) 8509 0 R]
-/Limits [(section*.140) (section*.145)]
->> endobj
-12822 0 obj <<
-/Names [(section*.146) 8531 0 R (section*.147) 8535 0 R (section*.148) 8759 0 R (section*.149) 9084 0 R (section*.15) 1119 0 R (section*.150) 9086 0 R]
-/Limits [(section*.146) (section*.150)]
->> endobj
-12823 0 obj <<
-/Names [(section*.151) 9132 0 R (section*.152) 9377 0 R (section*.153) 9383 0 R (section*.154) 9411 0 R (section*.155) 9412 0 R (section*.156) 9446 0 R]
-/Limits [(section*.151) (section*.156)]
->> endobj
-12824 0 obj <<
-/Names [(section*.157) 9452 0 R (section*.158) 9470 0 R (section*.159) 9471 0 R (section*.16) 1125 0 R (section*.160) 9515 0 R (section*.161) 9517 0 R]
-/Limits [(section*.157) (section*.161)]
->> endobj
-12825 0 obj <<
-/Names [(section*.162) 9855 0 R (section*.163) 9901 0 R (section*.164) 9903 0 R (section*.165) 10245 0 R (section*.166) 10249 0 R (section*.167) 10344 0 R]
-/Limits [(section*.162) (section*.167)]
->> endobj
-12826 0 obj <<
-/Names [(section*.168) 10347 0 R (section*.169) 10374 0 R (section*.17) 1126 0 R (section*.170) 10377 0 R (section*.171) 10379 0 R (section*.172) 10432 0 R]
-/Limits [(section*.168) (section*.172)]
->> endobj
-12827 0 obj <<
-/Names [(section*.173) 10436 0 R (section*.174) 10458 0 R (section*.175) 10462 0 R (section*.176) 10463 0 R (section*.177) 10492 0 R (section*.178) 10496 0 R]
-/Limits [(section*.173) (section*.178)]
->> endobj
-12828 0 obj <<
-/Names [(section*.179) 10518 0 R (section*.18) 1127 0 R (section*.180) 10548 0 R (section*.181) 10569 0 R (section*.182) 10571 0 R (section*.183) 10642 0 R]
-/Limits [(section*.179) (section*.183)]
->> endobj
-12829 0 obj <<
-/Names [(section*.19) 1128 0 R (section*.2) 1075 0 R (section*.20) 1136 0 R (section*.21) 1137 0 R (section*.22) 1138 0 R (section*.23) 1187 0 R]
-/Limits [(section*.19) (section*.23)]
->> endobj
-12830 0 obj <<
-/Names [(section*.24) 1576 0 R (section*.25) 1619 0 R (section*.26) 1620 0 R (section*.27) 1665 0 R (section*.28) 1666 0 R (section*.29) 1746 0 R]
-/Limits [(section*.24) (section*.29)]
->> endobj
-12831 0 obj <<
-/Names [(section*.3) 1081 0 R (section*.30) 1825 0 R (section*.31) 1826 0 R (section*.32) 1871 0 R (section*.33) 1932 0 R (section*.34) 1958 0 R]
-/Limits [(section*.3) (section*.34)]
->> endobj
-12832 0 obj <<
-/Names [(section*.35) 2052 0 R (section*.36) 2069 0 R (section*.37) 2112 0 R (section*.38) 2115 0 R (section*.39) 2466 0 R (section*.4) 1082 0 R]
-/Limits [(section*.35) (section*.4)]
->> endobj
-12833 0 obj <<
-/Names [(section*.40) 2524 0 R (section*.41) 2525 0 R (section*.42) 2547 0 R (section*.43) 2822 0 R (section*.44) 2838 0 R (section*.45) 2871 0 R]
-/Limits [(section*.40) (section*.45)]
->> endobj
-12834 0 obj <<
-/Names [(section*.46) 2874 0 R (section*.47) 2876 0 R (section*.48) 3224 0 R (section*.49) 3284 0 R (section*.5) 1083 0 R (section*.50) 3285 0 R]
-/Limits [(section*.46) (section*.50)]
->> endobj
-12835 0 obj <<
-/Names [(section*.51) 3304 0 R (section*.52) 3551 0 R (section*.53) 3648 0 R (section*.54) 3897 0 R (section*.55) 4052 0 R (section*.56) 4160 0 R]
-/Limits [(section*.51) (section*.56)]
->> endobj
-12836 0 obj <<
-/Names [(section*.57) 4205 0 R (section*.58) 4253 0 R (section*.59) 4254 0 R (section*.6) 1090 0 R (section*.60) 4280 0 R (section*.61) 4344 0 R]
-/Limits [(section*.57) (section*.61)]
->> endobj
-12837 0 obj <<
-/Names [(section*.62) 4345 0 R (section*.63) 4435 0 R (section*.64) 4440 0 R (section*.65) 4442 0 R (section*.66) 4487 0 R (section*.67) 4519 0 R]
-/Limits [(section*.62) (section*.67)]
->> endobj
-12838 0 obj <<
-/Names [(section*.68) 4520 0 R (section*.69) 4619 0 R (section*.7) 1091 0 R (section*.70) 4625 0 R (section*.71) 4688 0 R (section*.72) 4795 0 R]
-/Limits [(section*.68) (section*.72)]
->> endobj
-12839 0 obj <<
-/Names [(section*.73) 4796 0 R (section*.74) 4871 0 R (section*.75) 4876 0 R (section*.76) 4877 0 R (section*.77) 4911 0 R (section*.78) 4934 0 R]
-/Limits [(section*.73) (section*.78)]
->> endobj
-12840 0 obj <<
-/Names [(section*.79) 4938 0 R (section*.8) 1092 0 R (section*.80) 4963 0 R (section*.81) 4972 0 R (section*.82) 5020 0 R (section*.83) 5032 0 R]
-/Limits [(section*.79) (section*.83)]
->> endobj
-12841 0 obj <<
-/Names [(section*.84) 5035 0 R (section*.85) 5060 0 R (section*.86) 5062 0 R (section*.87) 5097 0 R (section*.88) 5151 0 R (section*.89) 5208 0 R]
-/Limits [(section*.84) (section*.89)]
->> endobj
-12842 0 obj <<
-/Names [(section*.9) 1093 0 R (section*.90) 5316 0 R (section*.91) 5317 0 R (section*.92) 5388 0 R (section*.93) 5393 0 R (section*.94) 5422 0 R]
-/Limits [(section*.9) (section*.94)]
->> endobj
-12843 0 obj <<
-/Names [(section*.95) 5506 0 R (section*.96) 5605 0 R (section*.97) 5607 0 R (section*.98) 5995 0 R (section*.99) 5999 0 R (section.1) 6 0 R]
-/Limits [(section*.95) (section.1)]
->> endobj
-12844 0 obj <<
-/Names [(section.10) 118 0 R (section.11) 134 0 R (section.2) 66 0 R (section.3) 70 0 R (section.4) 74 0 R (section.5) 78 0 R]
-/Limits [(section.10) (section.5)]
->> endobj
-12845 0 obj <<
-/Names [(section.6) 86 0 R (section.7) 94 0 R (section.8) 102 0 R (section.9) 110 0 R (structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare) 1421 0 R (structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare_98c515b16e12424b273eaff073b31f3b) 2872 0 R]
-/Limits [(section.6) (structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare_98c515b16e12424b273eaff073b31f3b)]
->> endobj
-12846 0 obj <<
-/Names [(structParma__Polyhedra__Library_1_1From__Covering__Box) 1483 0 R (structParma__Polyhedra__Library_1_1Grid__Certificate_1_1Compare) 1489 0 R (structParma__Polyhedra__Library_1_1Grid__Certificate_1_1Compare_92edb0b8b1e2097c5d20795e576517cf) 6385 0 R (structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare) 1493 0 R (structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare_bf5e694ab674c48a452893f021986318) 6777 0 R (structParma__Polyhedra__Library_1_1Is__Checked) 1494 0 R]
-/Limits [(structParma__Polyhedra__Library_1_1From__Covering__Box) (structParma__Polyhedra__Library_1_1Is__Checked)]
->> endobj
-12847 0 obj <<
-/Names [(structParma__Polyhedra__Library_1_1Is__Checked_3_01Checked__Number_3_01T_00_01P_01_4_01_4) 1538 0 R (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) 1539 0 R (structParma__Polyhedra__Library_1_1Recycle__Input) 1547 0 R (structParma__Polyhedra__Library_1_1Variable_1_1Compare) 1551 0 R (structParma__Polyhedra__Library_1_1Variable_1_1Compare_f6c069432956f215967c61be24a40939) 10519 0 R (subsection.1.1) 10 0 R]
-/Limits [(structParma__Polyhedra__Library_1_1Is__Checked_3_01Checked__Number_3_01T_00_01P_01_4_01_4) (subsection.1.1)]
->> endobj
-12848 0 obj <<
-/Names [(subsection.1.10) 46 0 R (subsection.1.11) 50 0 R (subsection.1.12) 54 0 R (subsection.1.13) 58 0 R (subsection.1.14) 62 0 R (subsection.1.2) 14 0 R]
-/Limits [(subsection.1.10) (subsection.1.2)]
->> endobj
-12849 0 obj <<
-/Names [(subsection.1.3) 18 0 R (subsection.1.4) 22 0 R (subsection.1.5) 26 0 R (subsection.1.6) 30 0 R (subsection.1.7) 34 0 R (subsection.1.8) 38 0 R]
-/Limits [(subsection.1.3) (subsection.1.8)]
->> endobj
-12850 0 obj <<
-/Names [(subsection.1.9) 42 0 R (subsection.10.1) 122 0 R (subsection.10.2) 126 0 R (subsection.10.3) 130 0 R (subsection.11.1) 138 0 R (subsection.11.10) 174 0 R]
-/Limits [(subsection.1.9) (subsection.11.10)]
->> endobj
-12851 0 obj <<
-/Names [(subsection.11.11) 178 0 R (subsection.11.12) 182 0 R (subsection.11.13) 186 0 R (subsection.11.14) 190 0 R (subsection.11.15) 194 0 R (subsection.11.16) 198 0 R]
-/Limits [(subsection.11.11) (subsection.11.16)]
->> endobj
-12852 0 obj <<
-/Names [(subsection.11.17) 202 0 R (subsection.11.18) 206 0 R (subsection.11.19) 210 0 R (subsection.11.2) 142 0 R (subsection.11.20) 214 0 R (subsection.11.21) 218 0 R]
-/Limits [(subsection.11.17) (subsection.11.21)]
->> endobj
-12853 0 obj <<
-/Names [(subsection.11.22) 222 0 R (subsection.11.23) 226 0 R (subsection.11.24) 230 0 R (subsection.11.25) 234 0 R (subsection.11.26) 238 0 R (subsection.11.27) 242 0 R]
-/Limits [(subsection.11.22) (subsection.11.27)]
->> endobj
-12854 0 obj <<
-/Names [(subsection.11.28) 246 0 R (subsection.11.29) 250 0 R (subsection.11.3) 146 0 R (subsection.11.30) 254 0 R (subsection.11.31) 258 0 R (subsection.11.32) 262 0 R]
-/Limits [(subsection.11.28) (subsection.11.32)]
->> endobj
-12855 0 obj <<
-/Names [(subsection.11.33) 266 0 R (subsection.11.34) 270 0 R (subsection.11.35) 274 0 R (subsection.11.36) 278 0 R (subsection.11.37) 282 0 R (subsection.11.38) 286 0 R]
-/Limits [(subsection.11.33) (subsection.11.38)]
->> endobj
-12856 0 obj <<
-/Names [(subsection.11.39) 290 0 R (subsection.11.4) 150 0 R (subsection.11.40) 294 0 R (subsection.11.41) 298 0 R (subsection.11.42) 302 0 R (subsection.11.43) 306 0 R]
-/Limits [(subsection.11.39) (subsection.11.43)]
->> endobj
-12857 0 obj <<
-/Names [(subsection.11.44) 310 0 R (subsection.11.45) 314 0 R (subsection.11.46) 318 0 R (subsection.11.47) 322 0 R (subsection.11.48) 326 0 R (subsection.11.49) 330 0 R]
-/Limits [(subsection.11.44) (subsection.11.49)]
->> endobj
-12858 0 obj <<
-/Names [(subsection.11.5) 154 0 R (subsection.11.6) 158 0 R (subsection.11.7) 162 0 R (subsection.11.8) 166 0 R (subsection.11.9) 170 0 R (subsection.5.1) 82 0 R]
-/Limits [(subsection.11.5) (subsection.5.1)]
->> endobj
-12859 0 obj <<
-/Names [(subsection.6.1) 90 0 R (subsection.7.1) 98 0 R (subsection.8.1) 106 0 R (subsection.9.1) 114 0 R (subsubsection.1.1.1) 470 0 R (subsubsection.1.1.2) 490 0 R]
-/Limits [(subsection.6.1) (subsubsection.1.1.2)]
->> endobj
-12860 0 obj <<
-/Names [(subsubsection.1.1.3) 515 0 R (subsubsection.1.10.1) 841 0 R (subsubsection.1.11.1) 857 0 R (subsubsection.1.11.2) 860 0 R (subsubsection.1.11.3) 863 0 R (subsubsection.1.12.1) 867 0 R]
-/Limits [(subsubsection.1.1.3) (subsubsection.1.12.1)]
->> endobj
-12861 0 obj <<
-/Names [(subsubsection.1.12.2) 883 0 R (subsubsection.1.12.3) 886 0 R (subsubsection.1.12.4) 889 0 R (subsubsection.1.12.5) 892 0 R (subsubsection.1.13.1) 903 0 R (subsubsection.1.13.2) 905 0 R]
-/Limits [(subsubsection.1.12.2) (subsubsection.1.13.2)]
->> endobj
-12862 0 obj <<
-/Names [(subsubsection.1.13.3) 914 0 R (subsubsection.1.13.4) 916 0 R (subsubsection.1.3.1) 537 0 R (subsubsection.1.3.2) 544 0 R (subsubsection.1.3.3) 556 0 R (subsubsection.1.3.4) 558 0 R]
-/Limits [(subsubsection.1.13.3) (subsubsection.1.3.4)]
->> endobj
-12863 0 obj <<
-/Names [(subsubsection.1.4.1) 561 0 R (subsubsection.1.4.10) 601 0 R (subsubsection.1.4.2) 570 0 R (subsubsection.1.4.3) 572 0 R (subsubsection.1.4.4) 574 0 R (subsubsection.1.4.5) 581 0 R]
-/Limits [(subsubsection.1.4.1) (subsubsection.1.4.5)]
->> endobj
-12864 0 obj <<
-/Names [(subsubsection.1.4.6) 583 0 R (subsubsection.1.4.7) 584 0 R (subsubsection.1.4.8) 592 0 R (subsubsection.1.4.9) 594 0 R (subsubsection.1.5.1) 604 0 R (subsubsection.1.5.10) 645 0 R]
-/Limits [(subsubsection.1.4.6) (subsubsection.1.5.10)]
->> endobj
-12865 0 obj <<
-/Names [(subsubsection.1.5.11) 654 0 R (subsubsection.1.5.12) 656 0 R (subsubsection.1.5.13) 658 0 R (subsubsection.1.5.14) 660 0 R (subsubsection.1.5.15) 674 0 R (subsubsection.1.5.16) 678 0 R]
-/Limits [(subsubsection.1.5.11) (subsubsection.1.5.16)]
->> endobj
-12866 0 obj <<
-/Names [(subsubsection.1.5.17) 680 0 R (subsubsection.1.5.18) 697 0 R (subsubsection.1.5.19) 699 0 R (subsubsection.1.5.2) 606 0 R (subsubsection.1.5.3) 608 0 R (subsubsection.1.5.4) 610 0 R]
-/Limits [(subsubsection.1.5.17) (subsubsection.1.5.4)]
->> endobj
-12867 0 obj <<
-/Names [(subsubsection.1.5.5) 618 0 R (subsubsection.1.5.6) 620 0 R (subsubsection.1.5.7) 625 0 R (subsubsection.1.5.8) 635 0 R (subsubsection.1.5.9) 638 0 R (subsubsection.1.6.1) 713 0 R]
-/Limits [(subsubsection.1.5.5) (subsubsection.1.6.1)]
->> endobj
-12868 0 obj <<
-/Names [(subsubsection.1.7.1) 716 0 R (subsubsection.1.7.2) 729 0 R (subsubsection.1.7.3) 731 0 R (subsubsection.1.7.4) 733 0 R (subsubsection.1.8.1) 745 0 R (subsubsection.1.8.2) 747 0 R]
-/Limits [(subsubsection.1.7.1) (subsubsection.1.8.2)]
->> endobj
-12869 0 obj <<
-/Names [(subsubsection.1.8.3) 749 0 R (subsubsection.1.8.4) 751 0 R (subsubsection.1.8.5) 761 0 R (subsubsection.1.8.6) 764 0 R (subsubsection.1.8.7) 766 0 R (subsubsection.1.8.8) 768 0 R]
-/Limits [(subsubsection.1.8.3) (subsubsection.1.8.8)]
->> endobj
-12870 0 obj <<
-/Names [(subsubsection.1.8.9) 778 0 R (subsubsection.1.9.1) 781 0 R (subsubsection.1.9.10) 811 0 R (subsubsection.1.9.11) 819 0 R (subsubsection.1.9.12) 821 0 R (subsubsection.1.9.13) 823 0 R]
-/Limits [(subsubsection.1.8.9) (subsubsection.1.9.13)]
->> endobj
-12871 0 obj <<
-/Names [(subsubsection.1.9.14) 835 0 R (subsubsection.1.9.15) 837 0 R (subsubsection.1.9.2) 783 0 R (subsubsection.1.9.3) 785 0 R (subsubsection.1.9.4) 787 0 R (subsubsection.1.9.5) 794 0 R]
-/Limits [(subsubsection.1.9.14) (subsubsection.1.9.5)]
->> endobj
-12872 0 obj <<
-/Names [(subsubsection.1.9.6) 796 0 R (subsubsection.1.9.7) 798 0 R (subsubsection.1.9.8) 800 0 R (subsubsection.1.9.9) 809 0 R (subsubsection.10.1.1) 2053 0 R (subsubsection.10.1.2) 2054 0 R]
-/Limits [(subsubsection.1.9.6) (subsubsection.10.1.2)]
->> endobj
-12873 0 obj <<
-/Names [(subsubsection.10.2.1) 2070 0 R (subsubsection.10.2.2) 2080 0 R (subsubsection.10.3.1) 2082 0 R (subsubsection.11.1.1) 2546 0 R (subsubsection.11.1.2) 2556 0 R (subsubsection.11.1.3) 2584 0 R]
-/Limits [(subsubsection.10.2.1) (subsubsection.11.1.3)]
->> endobj
-12874 0 obj <<
-/Names [(subsubsection.11.1.4) 2799 0 R (subsubsection.11.10.1) 4717 0 R (subsubsection.11.10.2) 4728 0 R (subsubsection.11.10.3) 4735 0 R (subsubsection.11.10.4) 4737 0 R (subsubsection.11.10.5) 4747 0 R]
-/Limits [(subsubsection.11.1.4) (subsubsection.11.10.5)]
->> endobj
-12875 0 obj <<
-/Names [(subsubsection.11.11.1) 4879 0 R (subsubsection.11.11.2) 4888 0 R (subsubsection.11.12.1) 4922 0 R (subsubsection.11.13.1) 4937 0 R (subsubsection.11.13.2) 4939 0 R (subsubsection.11.14.1) 5034 0 R]
-/Limits [(subsubsection.11.11.1) (subsubsection.11.14.1)]
->> endobj
-12876 0 obj <<
-/Names [(subsubsection.11.14.2) 5036 0 R (subsubsection.11.14.3) 5038 0 R (subsubsection.11.15.1) 5059 0 R (subsubsection.11.16.1) 5061 0 R (subsubsection.11.17.1) 5227 0 R (subsubsection.11.17.2) 5242 0 R]
-/Limits [(subsubsection.11.14.2) (subsubsection.11.17.2)]
->> endobj
-12877 0 obj <<
-/Names [(subsubsection.11.17.3) 5244 0 R (subsubsection.11.17.4) 5279 0 R (subsubsection.11.18.1) 5395 0 R (subsubsection.11.18.2) 5415 0 R (subsubsection.11.18.3) 5419 0 R (subsubsection.11.19.1) 5452 0 R]
-/Limits [(subsubsection.11.17.3) (subsubsection.11.19.1)]
->> endobj
-12878 0 obj <<
-/Names [(subsubsection.11.2.1) 2844 0 R (subsubsection.11.2.2) 2845 0 R (subsubsection.11.20.1) 5537 0 R (subsubsection.11.20.2) 5538 0 R (subsubsection.11.21.1) 6014 0 R (subsubsection.11.21.2) 6031 0 R]
-/Limits [(subsubsection.11.2.1) (subsubsection.11.21.2)]
->> endobj
-12879 0 obj <<
-/Names [(subsubsection.11.21.3) 6072 0 R (subsubsection.11.21.4) 6320 0 R (subsubsection.11.22.1) 6353 0 R (subsubsection.11.22.2) 6354 0 R (subsubsection.11.23.1) 6386 0 R (subsubsection.11.24.1) 6502 0 R]
-/Limits [(subsubsection.11.21.3) (subsubsection.11.24.1)]
->> endobj
-12880 0 obj <<
-/Names [(subsubsection.11.24.2) 6519 0 R (subsubsection.11.24.3) 6521 0 R (subsubsection.11.24.4) 6554 0 R (subsubsection.11.25.1) 6675 0 R (subsubsection.11.25.2) 6694 0 R (subsubsection.11.25.3) 6699 0 R]
-/Limits [(subsubsection.11.24.2) (subsubsection.11.25.3)]
->> endobj
-12881 0 obj <<
-/Names [(subsubsection.11.26.1) 6734 0 R (subsubsection.11.27.1) 6773 0 R (subsubsection.11.27.2) 6774 0 R (subsubsection.11.28.1) 6778 0 R (subsubsection.11.29.1) 6827 0 R (subsubsection.11.29.2) 6840 0 R]
-/Limits [(subsubsection.11.26.1) (subsubsection.11.29.2)]
->> endobj
-12882 0 obj <<
-/Names [(subsubsection.11.29.3) 6852 0 R (subsubsection.11.3.1) 2873 0 R (subsubsection.11.30.1) 6854 0 R (subsubsection.11.31.1) 6871 0 R (subsubsection.11.32.1) 6873 0 R (subsubsection.11.33.1) 7069 0 R]
-/Limits [(subsubsection.11.29.3) (subsubsection.11.33.1)]
->> endobj
-12883 0 obj <<
-/Names [(subsubsection.11.33.2) 7070 0 R (subsubsection.11.33.3) 7082 0 R (subsubsection.11.34.1) 7292 0 R (subsubsection.11.34.2) 7302 0 R (subsubsection.11.34.3) 7305 0 R (subsubsection.11.34.4) 7323 0 R]
-/Limits [(subsubsection.11.33.2) (subsubsection.11.34.4)]
->> endobj
-12884 0 obj <<
-/Names [(subsubsection.11.34.5) 7358 0 R (subsubsection.11.35.1) 7432 0 R (subsubsection.11.35.2) 7433 0 R (subsubsection.11.35.3) 7463 0 R (subsubsection.11.36.1) 7480 0 R (subsubsection.11.36.2) 7482 0 R]
-/Limits [(subsubsection.11.34.5) (subsubsection.11.36.2)]
->> endobj
-12885 0 obj <<
-/Names [(subsubsection.11.37.1) 7907 0 R (subsubsection.11.37.2) 7921 0 R (subsubsection.11.37.3) 7949 0 R (subsubsection.11.37.4) 8116 0 R (subsubsection.11.38.1) 8534 0 R (subsubsection.11.38.2) 8546 0 R]
-/Limits [(subsubsection.11.37.1) (subsubsection.11.38.2)]
->> endobj
-12886 0 obj <<
-/Names [(subsubsection.11.38.3) 8585 0 R (subsubsection.11.38.4) 8736 0 R (subsubsection.11.39.1) 9131 0 R (subsubsection.11.39.2) 9133 0 R (subsubsection.11.39.3) 9164 0 R (subsubsection.11.39.4) 9334 0 R]
-/Limits [(subsubsection.11.38.3) (subsubsection.11.39.4)]
->> endobj
-12887 0 obj <<
-/Names [(subsubsection.11.4.1) 3303 0 R (subsubsection.11.4.2) 3305 0 R (subsubsection.11.4.3) 3338 0 R (subsubsection.11.4.4) 3509 0 R (subsubsection.11.40.1) 9413 0 R (subsubsection.11.40.2) 9414 0 R]
-/Limits [(subsubsection.11.4.1) (subsubsection.11.40.2)]
->> endobj
-12888 0 obj <<
-/Names [(subsubsection.11.41.1) 9472 0 R (subsubsection.11.41.2) 9473 0 R (subsubsection.11.42.1) 9924 0 R (subsubsection.11.42.2) 9942 0 R (subsubsection.11.42.3) 9960 0 R (subsubsection.11.42.4) 10212 0 R]
-/Limits [(subsubsection.11.41.1) (subsubsection.11.42.4)]
->> endobj
-12889 0 obj <<
-/Names [(subsubsection.11.43.1) 10378 0 R (subsubsection.11.43.2) 10401 0 R (subsubsection.11.43.3) 10405 0 R (subsubsection.11.43.4) 10417 0 R (subsubsection.11.44.1) 10422 0 R (subsubsection.11.45.1) 10435 0 R]
-/Limits [(subsubsection.11.43.1) (subsubsection.11.45.1)]
->> endobj
-12890 0 obj <<
-/Names [(subsubsection.11.45.2) 10437 0 R (subsubsection.11.46.1) 10461 0 R (subsubsection.11.47.1) 10497 0 R (subsubsection.11.47.2) 10511 0 R (subsubsection.11.47.3) 10513 0 R (subsubsection.11.47.4) 10515 0 R]
-/Limits [(subsubsection.11.45.2) (subsubsection.11.47.4)]
->> endobj
-12891 0 obj <<
-/Names [(subsubsection.11.48.1) 10547 0 R (subsubsection.11.49.1) 10572 0 R (subsubsection.11.49.2) 10573 0 R (subsubsection.11.49.3) 10575 0 R (subsubsection.11.5.1) 3598 0 R (subsubsection.11.5.2) 3611 0 R]
-/Limits [(subsubsection.11.48.1) (subsubsection.11.5.2)]
->> endobj
-12892 0 obj <<
-/Names [(subsubsection.11.5.3) 3646 0 R (subsubsection.11.6.1) 4051 0 R (subsubsection.11.6.2) 4067 0 R (subsubsection.11.6.3) 4069 0 R (subsubsection.11.7.1) 4281 0 R (subsubsection.11.7.2) 4291 0 R]
-/Limits [(subsubsection.11.5.3) (subsubsection.11.7.2)]
->> endobj
-12893 0 obj <<
-/Names [(subsubsection.11.7.3) 4298 0 R (subsubsection.11.7.4) 4314 0 R (subsubsection.11.8.1) 4453 0 R (subsubsection.11.8.2) 4460 0 R (subsubsection.11.8.3) 4462 0 R (subsubsection.11.8.4) 4484 0 R]
-/Limits [(subsubsection.11.7.3) (subsubsection.11.8.4)]
->> endobj
-12894 0 obj <<
-/Names [(subsubsection.11.9.1) 4518 0 R (subsubsection.9.1.1) 1747 0 R (subsubsection.9.1.2) 1748 0 R (subsubsection.9.1.3) 1782 0 R (subsubsection.9.1.4) 1786 0 R (subsubsection.9.1.5) 1806 0 R]
-/Limits [(subsubsection.11.9.1) (subsubsection.9.1.5)]
->> endobj
-12895 0 obj <<
-/Kids [12275 0 R 12276 0 R 12277 0 R 12278 0 R 12279 0 R 12280 0 R]
-/Limits [(Doc-Start) (classParma__Polyhedra__Library_1_1BD__Shape_2626176104b632be36dc614e1d5536ea)]
->> endobj
-12896 0 obj <<
-/Kids [12281 0 R 12282 0 R 12283 0 R 12284 0 R 12285 0 R 12286 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_28b268e37d25a0cfa2b5bf39e85c758d) (classParma__Polyhedra__Library_1_1BD__Shape_8d6c186583503c4394603550b50edf59)]
->> endobj
-12897 0 obj <<
-/Kids [12287 0 R 12288 0 R 12289 0 R 12290 0 R 12291 0 R 12292 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_8e13e7d3536de2745bc9e58a25b75b77) (classParma__Polyhedra__Library_1_1BD__Shape_dbf2609849c95cfb7277df1edc69534f)]
->> endobj
-12898 0 obj <<
-/Kids [12293 0 R 12294 0 R 12295 0 R 12296 0 R 12297 0 R 12298 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_df3cfc56df68bc8063e6e9eb3d0ad3f1) (classParma__Polyhedra__Library_1_1Box_1d8eb71bd67ae50436968e7323bbeb7e)]
->> endobj
-12899 0 obj <<
-/Kids [12299 0 R 12300 0 R 12301 0 R 12302 0 R 12303 0 R 12304 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Box_22f9ceb879f1c8d892f60fb3d9577d81) (classParma__Polyhedra__Library_1_1Box_7e3ffa1dd9894e6418bd153a4cd2de12)]
->> endobj
-12900 0 obj <<
-/Kids [12305 0 R 12306 0 R 12307 0 R 12308 0 R 12309 0 R 12310 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Box_7fff251a8cd2ecd8b928175af94d7069) (classParma__Polyhedra__Library_1_1Box_c72c231542712976d1f9223d0537f5d5)]
->> endobj
-12901 0 obj <<
-/Kids [12311 0 R 12312 0 R 12313 0 R 12314 0 R 12315 0 R 12316 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Box_c86971c152fbb8d2d486d7396ad6b142) (classParma__Polyhedra__Library_1_1C__Polyhedron_9720487deabf813a31afd4e9cfe695aa)]
->> endobj
-12902 0 obj <<
-/Kids [12317 0 R 12318 0 R 12319 0 R 12320 0 R 12321 0 R 12322 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1C__Polyhedron_c3126925bcd3349b150771d52c19639d) (classParma__Polyhedra__Library_1_1Checked__Number_4bed59d493c4fd91537602efb267c938)]
->> endobj
-12903 0 obj <<
-/Kids [12323 0 R 12324 0 R 12325 0 R 12326 0 R 12327 0 R 12328 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_4cca5e272cecc038189aac8b2fc8ace2) (classParma__Polyhedra__Library_1_1Checked__Number_a3de5a2fe7f06d0aa3e4972be2023933)]
->> endobj
-12904 0 obj <<
-/Kids [12329 0 R 12330 0 R 12331 0 R 12332 0 R 12333 0 R 12334 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a7885d402d5653321f316029ca0af517) (classParma__Polyhedra__Library_1_1Checked__Number_f47ee9cf59cfac8a346660698c61d113)]
->> endobj
-12905 0 obj <<
-/Kids [12335 0 R 12336 0 R 12337 0 R 12338 0 R 12339 0 R 12340 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_f9af63978105e142642222864ce7c3be) (classParma__Polyhedra__Library_1_1Congruence__System_044dbf593127c9e8cbbbe2a0d169c30c)]
->> endobj
-12906 0 obj <<
-/Kids [12341 0 R 12342 0 R 12343 0 R 12344 0 R 12345 0 R 12346 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_067b4c27cf8643f8ded50ebda77da8aa) (classParma__Polyhedra__Library_1_1Congruence__System_a83361b2264ca8ed30599dca32447874)]
->> endobj
-12907 0 obj <<
-/Kids [12347 0 R 12348 0 R 12349 0 R 12350 0 R 12351 0 R 12352 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_b30ab523e337d72baa4edc802452e532) (classParma__Polyhedra__Library_1_1Constraint_2935fff040a5b31930fff594a0b2596d)]
->> endobj
-12908 0 obj <<
-/Kids [12353 0 R 12354 0 R 12355 0 R 12356 0 R 12357 0 R 12358 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint_2fb9117b8937e3d9a9b4d3ae397bb79a) (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_f3c5bf7dd0135194b6c180dcb232ef54)]
->> endobj
-12909 0 obj <<
-/Kids [12359 0 R 12360 0 R 12361 0 R 12362 0 R 12363 0 R 12364 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_fc81dafc5cf15ca9acd8f6a03f66c788) (classParma__Polyhedra__Library_1_1Constraint_c9b8aa34a8ed8e2c3c38d0435adff6ab)]
->> endobj
-12910 0 obj <<
-/Kids [12365 0 R 12366 0 R 12367 0 R 12368 0 R 12369 0 R 12370 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint_c9b8aa34a8ed8e2c3c38d0435adff6ab7491a8ba26958c3e27bed23b7eef1a7e) (classParma__Polyhedra__Library_1_1Determinate_a76dc794cd0a663bebbf8fc0d11d9714)]
->> endobj
-12911 0 obj <<
-/Kids [12371 0 R 12372 0 R 12373 0 R 12374 0 R 12375 0 R 12376 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Determinate_a894183e37c6f3614ed4938d94a3a7ee) (classParma__Polyhedra__Library_1_1Generator_2aba27eb7310045e1a35c7e68af01ab2)]
->> endobj
-12912 0 obj <<
-/Kids [12377 0 R 12378 0 R 12379 0 R 12380 0 R 12381 0 R 12382 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Generator_303b4ed4262469c1834228e0f88dba74) (classParma__Polyhedra__Library_1_1Generator__System_25fce97f25e1814c62ec46b7a04ee942)]
->> endobj
-12913 0 obj <<
-/Kids [12383 0 R 12384 0 R 12385 0 R 12386 0 R 12387 0 R 12388 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Generator__System_2b29f5668213f9171cfdc666ef4142ea) (classParma__Polyhedra__Library_1_1Generator_eff190ba56f86d3425859043689d499a)]
->> endobj
-12914 0 obj <<
-/Kids [12389 0 R 12390 0 R 12391 0 R 12392 0 R 12393 0 R 12394 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Generator_f1827b1f7a42393a2526944530559c5a) (classParma__Polyhedra__Library_1_1Grid_323efbe5d43695cc65f8cd5935da94dc)]
->> endobj
-12915 0 obj <<
-/Kids [12395 0 R 12396 0 R 12397 0 R 12398 0 R 12399 0 R 12400 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_3628b6d6e250d4c6b8301173c6ecc777) (classParma__Polyhedra__Library_1_1Grid_8d2cc5d18d050975101f2860f2919da8)]
->> endobj
-12916 0 obj <<
-/Kids [12401 0 R 12402 0 R 12403 0 R 12404 0 R 12405 0 R 12406 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_8edc85ba3e8a09593959814eaad72499) (classParma__Polyhedra__Library_1_1Grid__Generator_1a15765e7fd1f486a9ee12a061dc4c76)]
->> endobj
-12917 0 obj <<
-/Kids [12407 0 R 12408 0 R 12409 0 R 12410 0 R 12411 0 R 12412 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_1aabacaac0806d617f53db4b34b3349e) (classParma__Polyhedra__Library_1_1Grid__Generator__System_63fd965105d740ff7003037964ec7d10)]
->> endobj
-12918 0 obj <<
-/Kids [12413 0 R 12414 0 R 12415 0 R 12416 0 R 12417 0 R 12418 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_642db539e09ba9a9746d490390097d73) (classParma__Polyhedra__Library_1_1Grid__Generator_f00dd6aeffc847b73a3aee11d6d169b6)]
->> endobj
-12919 0 obj <<
-/Kids [12419 0 R 12420 0 R 12421 0 R 12422 0 R 12423 0 R 12424 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_f4e7705af87f5eb64d2ebdc60cd7a36e) (classParma__Polyhedra__Library_1_1Grid_fde364ce088f82cf2b9a231e7d9f2abc)]
->> endobj
-12920 0 obj <<
-/Kids [12425 0 R 12426 0 R 12427 0 R 12428 0 R 12429 0 R 12430 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_fe613a3da3edc3cb4506f70d409f061d) (classParma__Polyhedra__Library_1_1Linear__Expression_298a32e26d8133869f28560cca4ba73b)]
->> endobj
-12921 0 obj <<
-/Kids [12431 0 R 12432 0 R 12433 0 R 12434 0 R 12435 0 R 12436 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_2e4d2efe88475a75dab18c7f9fe5e217) (classParma__Polyhedra__Library_1_1Linear__Expression_e9cc837bbae1745ada3780634c73858f)]
->> endobj
-12922 0 obj <<
-/Kids [12437 0 R 12438 0 R 12439 0 R 12440 0 R 12441 0 R 12442 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_ea20a64dc7e9dd789fb069c7b8faca16) (classParma__Polyhedra__Library_1_1MIP__Problem_abc43ede7fd0577eaeb7255a0eca232d)]
->> endobj
-12923 0 obj <<
-/Kids [12443 0 R 12444 0 R 12445 0 R 12446 0 R 12447 0 R 12448 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_abc43ede7fd0577eaeb7255a0eca232d4d21924dceed7aac6368d4bc5affeccf) (classParma__Polyhedra__Library_1_1No__Reduction_77067a656a3aa9381a93a23dfba036e4)]
->> endobj
-12924 0 obj <<
-/Kids [12449 0 R 12450 0 R 12451 0 R 12452 0 R 12453 0 R 12454 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1No__Reduction_f38e352895f910cc9556dc7ac0d8f39d) (classParma__Polyhedra__Library_1_1Octagonal__Shape_35518da8c480784110d40b680256bd61)]
->> endobj
-12925 0 obj <<
-/Kids [12455 0 R 12456 0 R 12457 0 R 12458 0 R 12459 0 R 12460 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_38da38d0fab7eed9ee09fdb11f88fd15) (classParma__Polyhedra__Library_1_1Octagonal__Shape_af0214aee8884dc52be4e061d6b4df94)]
->> endobj
-12926 0 obj <<
-/Kids [12461 0 R 12462 0 R 12463 0 R 12464 0 R 12465 0 R 12466 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_afdd0083c1c10d49e06f4718a826ae1b) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_0c2c96efcf10102068f754c608a12427)]
->> endobj
-12927 0 obj <<
-/Kids [12467 0 R 12468 0 R 12469 0 R 12470 0 R 12471 0 R 12472 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_0e39243c24d99f8d374f9c14e3da8d98) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_4a53183970490595ac39c8c070601c6f)]
->> endobj
-12928 0 obj <<
-/Kids [12473 0 R 12474 0 R 12475 0 R 12476 0 R 12477 0 R 12478 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_4ac4e4131c756f0ffce85b9dec7d2b3a) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_b95eae83384d8c6b41b9ed8f9fd16704)]
->> endobj
-12929 0 obj <<
-/Kids [12479 0 R 12480 0 R 12481 0 R 12482 0 R 12483 0 R 12484 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_bb5709426ac80aa0bcf907b4f1d4a577) (classParma__Polyhedra__Library_1_1Pointset__Powerset_16579a075dfcd1fa22ac02bcc859353b)]
->> endobj
-12930 0 obj <<
-/Kids [12485 0 R 12486 0 R 12487 0 R 12488 0 R 12489 0 R 12490 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_1760892eb5a3f38323cff257495f1711) (classParma__Polyhedra__Library_1_1Pointset__Powerset_6f42f2d4a41b935d5441c51351faffa6)]
->> endobj
-12931 0 obj <<
-/Kids [12491 0 R 12492 0 R 12493 0 R 12494 0 R 12495 0 R 12496 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_6f68d17132551d9a40f661fcd911b482) (classParma__Polyhedra__Library_1_1Pointset__Powerset_d64b9c9ef7488b49c4f9a4acd3f57491)]
->> endobj
-12932 0 obj <<
-/Kids [12497 0 R 12498 0 R 12499 0 R 12500 0 R 12501 0 R 12502 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_d6f64ccc36541cf23baca88a68ad06d7) (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_4f7df2a0b66616d7672e562fa8c4e8f6)]
->> endobj
-12933 0 obj <<
-/Kids [12503 0 R 12504 0 R 12505 0 R 12506 0 R 12507 0 R 12508 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Poly__Gen__Relation_5740d23d50b9aa7c95e8b6b51242258d) (classParma__Polyhedra__Library_1_1Polyhedron_4f9a47ba1b29f1e07a32542584d50686)]
->> endobj
-12934 0 obj <<
-/Kids [12509 0 R 12510 0 R 12511 0 R 12512 0 R 12513 0 R 12514 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_50e1047c49fffb06bc5089a06a051a3d) (classParma__Polyhedra__Library_1_1Polyhedron_9ca6b6eed07fd3b72119b8ea58328e5e)]
->> endobj
-12935 0 obj <<
-/Kids [12515 0 R 12516 0 R 12517 0 R 12518 0 R 12519 0 R 12520 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_9f3c5474494eb306717bc3da7c109307) (classParma__Polyhedra__Library_1_1Polyhedron_e58a861a42c5216a2267e3f94ecaec8c)]
->> endobj
-12936 0 obj <<
-/Kids [12521 0 R 12522 0 R 12523 0 R 12524 0 R 12525 0 R 12526 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_e680437fdc213b7174c581caa2e0c0d3) (classParma__Polyhedra__Library_1_1Powerset_5c3bee913efb87e4661df746e184e1e1)]
->> endobj
-12937 0 obj <<
-/Kids [12527 0 R 12528 0 R 12529 0 R 12530 0 R 12531 0 R 12532 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Powerset_5d2c2fc2c077e77db657af49d332c9b5) (classParma__Polyhedra__Library_1_1Throwable_5024cc2b142473f5f733a8808cb09162)]
->> endobj
-12938 0 obj <<
-/Kids [12533 0 R 12534 0 R 12535 0 R 12536 0 R 12537 0 R 12538 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Variable) (deprecated__deprecated000007)]
->> endobj
-12939 0 obj <<
-/Kids [12539 0 R 12540 0 R 12541 0 R 12542 0 R 12543 0 R 12544 0 R]
-/Limits [(deprecated__deprecated000008) (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783)]
->> endobj
-12940 0 obj <<
-/Kids [12545 0 R 12546 0 R 12547 0 R 12548 0 R 12549 0 R 12550 0 R]
-/Limits [(group__PPL__CXX__interface_g79bd3696a302bb721ef8168fa5d650fb) (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8979f37a289d4cb316643f1dcc07ec7cd)]
->> endobj
-12941 0 obj <<
-/Kids [12551 0 R 12552 0 R 12553 0 R 12554 0 R 12555 0 R 12556 0 R]
-/Limits [(group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a89f5dce9506b72773425c0504845d8e4e) (main_BHMZ05a)]
->> endobj
-12942 0 obj <<
-/Kids [12557 0 R 12558 0 R 12559 0 R 12560 0 R 12561 0 R 12562 0 R]
-/Limits [(main_BHMZ05b) (main_CC92)]
->> endobj
-12943 0 obj <<
-/Kids [12563 0 R 12564 0 R 12565 0 R 12566 0 R 12567 0 R 12568 0 R]
-/Limits [(main_CH78) (main_Grid_Concatenate)]
->> endobj
-12944 0 obj <<
-/Kids [12569 0 R 12570 0 R 12571 0 R 12572 0 R 12573 0 R 12574 0 R]
-/Limits [(main_Grid_Difference) (main_LW97)]
->> endobj
-12945 0 obj <<
-/Kids [12575 0 R 12576 0 R 12577 0 R 12578 0 R 12579 0 R 12580 0 R]
-/Limits [(main_LeV92) (main_RBL06)]
->> endobj
-12946 0 obj <<
-/Kids [12581 0 R 12582 0 R 12583 0 R 12584 0 R 12585 0 R 12586 0 R]
-/Limits [(main_Rational_Grids) (main_expand_space_dimension)]
->> endobj
-12947 0 obj <<
-/Kids [12587 0 R 12588 0 R 12589 0 R 12590 0 R 12591 0 R 12592 0 R]
-/Limits [(main_fold_space_dimensions) (namespaceParma__Polyhedra__Library_4bef34d0d723e765fc4ae7dbd2d195b5)]
->> endobj
-12948 0 obj <<
-/Kids [12593 0 R 12594 0 R 12595 0 R 12596 0 R 12597 0 R 12598 0 R]
-/Limits [(namespaceParma__Polyhedra__Library_5604f97d216583cdf012a50d2f8cdbde) (page.103)]
->> endobj
-12949 0 obj <<
-/Kids [12599 0 R 12600 0 R 12601 0 R 12602 0 R 12603 0 R 12604 0 R]
-/Limits [(page.104) (page.136)]
->> endobj
-12950 0 obj <<
-/Kids [12605 0 R 12606 0 R 12607 0 R 12608 0 R 12609 0 R 12610 0 R]
-/Limits [(page.137) (page.169)]
->> endobj
-12951 0 obj <<
-/Kids [12611 0 R 12612 0 R 12613 0 R 12614 0 R 12615 0 R 12616 0 R]
-/Limits [(page.17) (page.200)]
->> endobj
-12952 0 obj <<
-/Kids [12617 0 R 12618 0 R 12619 0 R 12620 0 R 12621 0 R 12622 0 R]
-/Limits [(page.201) (page.233)]
->> endobj
-12953 0 obj <<
-/Kids [12623 0 R 12624 0 R 12625 0 R 12626 0 R 12627 0 R 12628 0 R]
-/Limits [(page.234) (page.266)]
->> endobj
-12954 0 obj <<
-/Kids [12629 0 R 12630 0 R 12631 0 R 12632 0 R 12633 0 R 12634 0 R]
-/Limits [(page.267) (page.299)]
->> endobj
-12955 0 obj <<
-/Kids [12635 0 R 12636 0 R 12637 0 R 12638 0 R 12639 0 R 12640 0 R]
-/Limits [(page.3) (page.330)]
->> endobj
-12956 0 obj <<
-/Kids [12641 0 R 12642 0 R 12643 0 R 12644 0 R 12645 0 R 12646 0 R]
-/Limits [(page.331) (page.363)]
->> endobj
-12957 0 obj <<
-/Kids [12647 0 R 12648 0 R 12649 0 R 12650 0 R 12651 0 R 12652 0 R]
-/Limits [(page.364) (page.396)]
->> endobj
-12958 0 obj <<
-/Kids [12653 0 R 12654 0 R 12655 0 R 12656 0 R 12657 0 R 12658 0 R]
-/Limits [(page.397) (page.428)]
->> endobj
-12959 0 obj <<
-/Kids [12659 0 R 12660 0 R 12661 0 R 12662 0 R 12663 0 R 12664 0 R]
-/Limits [(page.429) (page.59)]
->> endobj
-12960 0 obj <<
-/Kids [12665 0 R 12666 0 R 12667 0 R 12668 0 R 12669 0 R 12670 0 R]
-/Limits [(page.6) (page.91)]
->> endobj
-12961 0 obj <<
-/Kids [12671 0 R 12672 0 R 12673 0 R 12674 0 R 12675 0 R 12676 0 R]
-/Limits [(page.92) (paragraph.11.1.3.15)]
->> endobj
-12962 0 obj <<
-/Kids [12677 0 R 12678 0 R 12679 0 R 12680 0 R 12681 0 R 12682 0 R]
-/Limits [(paragraph.11.1.3.16) (paragraph.11.1.3.48)]
->> endobj
-12963 0 obj <<
-/Kids [12683 0 R 12684 0 R 12685 0 R 12686 0 R 12687 0 R 12688 0 R]
-/Limits [(paragraph.11.1.3.49) (paragraph.11.10.4.3)]
->> endobj
-12964 0 obj <<
-/Kids [12689 0 R 12690 0 R 12691 0 R 12692 0 R 12693 0 R 12694 0 R]
-/Limits [(paragraph.11.10.4.4) (paragraph.11.17.2.1)]
->> endobj
-12965 0 obj <<
-/Kids [12695 0 R 12696 0 R 12697 0 R 12698 0 R 12699 0 R 12700 0 R]
-/Limits [(paragraph.11.17.3.1) (paragraph.11.20.2.6)]
->> endobj
-12966 0 obj <<
-/Kids [12701 0 R 12702 0 R 12703 0 R 12704 0 R 12705 0 R 12706 0 R]
-/Limits [(paragraph.11.20.2.7) (paragraph.11.21.3.27)]
->> endobj
-12967 0 obj <<
-/Kids [12707 0 R 12708 0 R 12709 0 R 12710 0 R 12711 0 R 12712 0 R]
-/Limits [(paragraph.11.21.3.28) (paragraph.11.21.3.6)]
->> endobj
-12968 0 obj <<
-/Kids [12713 0 R 12714 0 R 12715 0 R 12716 0 R 12717 0 R 12718 0 R]
-/Limits [(paragraph.11.21.3.60) (paragraph.11.25.3.2)]
->> endobj
-12969 0 obj <<
-/Kids [12719 0 R 12720 0 R 12721 0 R 12722 0 R 12723 0 R 12724 0 R]
-/Limits [(paragraph.11.25.3.3) (paragraph.11.33.3.6)]
->> endobj
-12970 0 obj <<
-/Kids [12725 0 R 12726 0 R 12727 0 R 12728 0 R 12729 0 R 12730 0 R]
-/Limits [(paragraph.11.33.3.7) (paragraph.11.35.3.1)]
->> endobj
-12971 0 obj <<
-/Kids [12731 0 R 12732 0 R 12733 0 R 12734 0 R 12735 0 R 12736 0 R]
-/Limits [(paragraph.11.36.2.1) (paragraph.11.37.3.31)]
->> endobj
-12972 0 obj <<
-/Kids [12737 0 R 12738 0 R 12739 0 R 12740 0 R 12741 0 R 12742 0 R]
-/Limits [(paragraph.11.37.3.32) (paragraph.11.37.4.5)]
->> endobj
-12973 0 obj <<
-/Kids [12743 0 R 12744 0 R 12745 0 R 12746 0 R 12747 0 R 12748 0 R]
-/Limits [(paragraph.11.37.4.6) (paragraph.11.38.3.27)]
->> endobj
-12974 0 obj <<
-/Kids [12749 0 R 12750 0 R 12751 0 R 12752 0 R 12753 0 R 12754 0 R]
-/Limits [(paragraph.11.38.3.28) (paragraph.11.39.2.7)]
->> endobj
-12975 0 obj <<
-/Kids [12755 0 R 12756 0 R 12757 0 R 12758 0 R 12759 0 R 12760 0 R]
-/Limits [(paragraph.11.39.2.8) (paragraph.11.39.3.4)]
->> endobj
-12976 0 obj <<
-/Kids [12761 0 R 12762 0 R 12763 0 R 12764 0 R 12765 0 R 12766 0 R]
-/Limits [(paragraph.11.39.3.40) (paragraph.11.4.2.5)]
->> endobj
-12977 0 obj <<
-/Kids [12767 0 R 12768 0 R 12769 0 R 12770 0 R 12771 0 R 12772 0 R]
-/Limits [(paragraph.11.4.2.6) (paragraph.11.4.3.38)]
->> endobj
-12978 0 obj <<
-/Kids [12773 0 R 12774 0 R 12775 0 R 12776 0 R 12777 0 R 12778 0 R]
-/Limits [(paragraph.11.4.3.39) (paragraph.11.40.2.2)]
->> endobj
-12979 0 obj <<
-/Kids [12779 0 R 12780 0 R 12781 0 R 12782 0 R 12783 0 R 12784 0 R]
-/Limits [(paragraph.11.40.2.3) (paragraph.11.42.3.28)]
->> endobj
-12980 0 obj <<
-/Kids [12785 0 R 12786 0 R 12787 0 R 12788 0 R 12789 0 R 12790 0 R]
-/Limits [(paragraph.11.42.3.29) (paragraph.11.42.3.60)]
->> endobj
-12981 0 obj <<
-/Kids [12791 0 R 12792 0 R 12793 0 R 12794 0 R 12795 0 R 12796 0 R]
-/Limits [(paragraph.11.42.3.61) (paragraph.11.5.2.10)]
->> endobj
-12982 0 obj <<
-/Kids [12797 0 R 12798 0 R 12799 0 R 12800 0 R 12801 0 R 12802 0 R]
-/Limits [(paragraph.11.5.2.11) (paragraph.11.6.3.3)]
->> endobj
-12983 0 obj <<
-/Kids [12803 0 R 12804 0 R 12805 0 R 12806 0 R 12807 0 R 12808 0 R]
-/Limits [(paragraph.11.6.3.30) (paragraph.11.7.4.4)]
->> endobj
-12984 0 obj <<
-/Kids [12809 0 R 12810 0 R 12811 0 R 12812 0 R 12813 0 R 12814 0 R]
-/Limits [(paragraph.11.7.4.5) (section*.107)]
->> endobj
-12985 0 obj <<
-/Kids [12815 0 R 12816 0 R 12817 0 R 12818 0 R 12819 0 R 12820 0 R]
-/Limits [(section*.108) (section*.14)]
->> endobj
-12986 0 obj <<
-/Kids [12821 0 R 12822 0 R 12823 0 R 12824 0 R 12825 0 R 12826 0 R]
-/Limits [(section*.140) (section*.172)]
->> endobj
-12987 0 obj <<
-/Kids [12827 0 R 12828 0 R 12829 0 R 12830 0 R 12831 0 R 12832 0 R]
-/Limits [(section*.173) (section*.4)]
->> endobj
-12988 0 obj <<
-/Kids [12833 0 R 12834 0 R 12835 0 R 12836 0 R 12837 0 R 12838 0 R]
-/Limits [(section*.40) (section*.72)]
->> endobj
-12989 0 obj <<
-/Kids [12839 0 R 12840 0 R 12841 0 R 12842 0 R 12843 0 R 12844 0 R]
-/Limits [(section*.73) (section.5)]
->> endobj
-12990 0 obj <<
-/Kids [12845 0 R 12846 0 R 12847 0 R 12848 0 R 12849 0 R 12850 0 R]
-/Limits [(section.6) (subsection.11.10)]
->> endobj
-12991 0 obj <<
-/Kids [12851 0 R 12852 0 R 12853 0 R 12854 0 R 12855 0 R 12856 0 R]
-/Limits [(subsection.11.11) (subsection.11.43)]
->> endobj
-12992 0 obj <<
-/Kids [12857 0 R 12858 0 R 12859 0 R 12860 0 R 12861 0 R 12862 0 R]
-/Limits [(subsection.11.44) (subsubsection.1.3.4)]
->> endobj
-12993 0 obj <<
-/Kids [12863 0 R 12864 0 R 12865 0 R 12866 0 R 12867 0 R 12868 0 R]
-/Limits [(subsubsection.1.4.1) (subsubsection.1.8.2)]
->> endobj
-12994 0 obj <<
-/Kids [12869 0 R 12870 0 R 12871 0 R 12872 0 R 12873 0 R 12874 0 R]
-/Limits [(subsubsection.1.8.3) (subsubsection.11.10.5)]
->> endobj
-12995 0 obj <<
-/Kids [12875 0 R 12876 0 R 12877 0 R 12878 0 R 12879 0 R 12880 0 R]
-/Limits [(subsubsection.11.11.1) (subsubsection.11.25.3)]
->> endobj
-12996 0 obj <<
-/Kids [12881 0 R 12882 0 R 12883 0 R 12884 0 R 12885 0 R 12886 0 R]
-/Limits [(subsubsection.11.26.1) (subsubsection.11.39.4)]
->> endobj
-12997 0 obj <<
-/Kids [12887 0 R 12888 0 R 12889 0 R 12890 0 R 12891 0 R 12892 0 R]
-/Limits [(subsubsection.11.4.1) (subsubsection.11.7.2)]
->> endobj
-12998 0 obj <<
-/Kids [12893 0 R 12894 0 R]
-/Limits [(subsubsection.11.7.3) (subsubsection.9.1.5)]
->> endobj
-12999 0 obj <<
-/Kids [12895 0 R 12896 0 R 12897 0 R 12898 0 R 12899 0 R 12900 0 R]
-/Limits [(Doc-Start) (classParma__Polyhedra__Library_1_1Box_c72c231542712976d1f9223d0537f5d5)]
->> endobj
-13000 0 obj <<
-/Kids [12901 0 R 12902 0 R 12903 0 R 12904 0 R 12905 0 R 12906 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Box_c86971c152fbb8d2d486d7396ad6b142) (classParma__Polyhedra__Library_1_1Congruence__System_a83361b2264ca8ed30599dca32447874)]
->> endobj
-13001 0 obj <<
-/Kids [12907 0 R 12908 0 R 12909 0 R 12910 0 R 12911 0 R 12912 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_b30ab523e337d72baa4edc802452e532) (classParma__Polyhedra__Library_1_1Generator__System_25fce97f25e1814c62ec46b7a04ee942)]
->> endobj
-13002 0 obj <<
-/Kids [12913 0 R 12914 0 R 12915 0 R 12916 0 R 12917 0 R 12918 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Generator__System_2b29f5668213f9171cfdc666ef4142ea) (classParma__Polyhedra__Library_1_1Grid__Generator_f00dd6aeffc847b73a3aee11d6d169b6)]
->> endobj
-13003 0 obj <<
-/Kids [12919 0 R 12920 0 R 12921 0 R 12922 0 R 12923 0 R 12924 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_f4e7705af87f5eb64d2ebdc60cd7a36e) (classParma__Polyhedra__Library_1_1Octagonal__Shape_35518da8c480784110d40b680256bd61)]
->> endobj
-13004 0 obj <<
-/Kids [12925 0 R 12926 0 R 12927 0 R 12928 0 R 12929 0 R 12930 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_38da38d0fab7eed9ee09fdb11f88fd15) (classParma__Polyhedra__Library_1_1Pointset__Powerset_6f42f2d4a41b935d5441c51351faffa6)]
->> endobj
-13005 0 obj <<
-/Kids [12931 0 R 12932 0 R 12933 0 R 12934 0 R 12935 0 R 12936 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_6f68d17132551d9a40f661fcd911b482) (classParma__Polyhedra__Library_1_1Powerset_5c3bee913efb87e4661df746e184e1e1)]
->> endobj
-13006 0 obj <<
-/Kids [12937 0 R 12938 0 R 12939 0 R 12940 0 R 12941 0 R 12942 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Powerset_5d2c2fc2c077e77db657af49d332c9b5) (main_CC92)]
->> endobj
-13007 0 obj <<
-/Kids [12943 0 R 12944 0 R 12945 0 R 12946 0 R 12947 0 R 12948 0 R]
-/Limits [(main_CH78) (page.103)]
->> endobj
-13008 0 obj <<
-/Kids [12949 0 R 12950 0 R 12951 0 R 12952 0 R 12953 0 R 12954 0 R]
-/Limits [(page.104) (page.299)]
->> endobj
-13009 0 obj <<
-/Kids [12955 0 R 12956 0 R 12957 0 R 12958 0 R 12959 0 R 12960 0 R]
-/Limits [(page.3) (page.91)]
->> endobj
-13010 0 obj <<
-/Kids [12961 0 R 12962 0 R 12963 0 R 12964 0 R 12965 0 R 12966 0 R]
-/Limits [(page.92) (paragraph.11.21.3.27)]
->> endobj
-13011 0 obj <<
-/Kids [12967 0 R 12968 0 R 12969 0 R 12970 0 R 12971 0 R 12972 0 R]
-/Limits [(paragraph.11.21.3.28) (paragraph.11.37.4.5)]
->> endobj
-13012 0 obj <<
-/Kids [12973 0 R 12974 0 R 12975 0 R 12976 0 R 12977 0 R 12978 0 R]
-/Limits [(paragraph.11.37.4.6) (paragraph.11.40.2.2)]
->> endobj
-13013 0 obj <<
-/Kids [12979 0 R 12980 0 R 12981 0 R 12982 0 R 12983 0 R 12984 0 R]
-/Limits [(paragraph.11.40.2.3) (section*.107)]
->> endobj
-13014 0 obj <<
-/Kids [12985 0 R 12986 0 R 12987 0 R 12988 0 R 12989 0 R 12990 0 R]
-/Limits [(section*.108) (subsection.11.10)]
->> endobj
-13015 0 obj <<
-/Kids [12991 0 R 12992 0 R 12993 0 R 12994 0 R 12995 0 R 12996 0 R]
-/Limits [(subsection.11.11) (subsubsection.11.39.4)]
->> endobj
-13016 0 obj <<
-/Kids [12997 0 R 12998 0 R]
-/Limits [(subsubsection.11.4.1) (subsubsection.9.1.5)]
->> endobj
-13017 0 obj <<
-/Kids [12999 0 R 13000 0 R 13001 0 R 13002 0 R 13003 0 R 13004 0 R]
-/Limits [(Doc-Start) (classParma__Polyhedra__Library_1_1Pointset__Powerset_6f42f2d4a41b935d5441c51351faffa6)]
->> endobj
-13018 0 obj <<
-/Kids [13005 0 R 13006 0 R 13007 0 R 13008 0 R 13009 0 R 13010 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_6f68d17132551d9a40f661fcd911b482) (paragraph.11.21.3.27)]
->> endobj
-13019 0 obj <<
-/Kids [13011 0 R 13012 0 R 13013 0 R 13014 0 R 13015 0 R 13016 0 R]
-/Limits [(paragraph.11.21.3.28) (subsubsection.9.1.5)]
->> endobj
-13020 0 obj <<
-/Kids [13017 0 R 13018 0 R 13019 0 R]
-/Limits [(Doc-Start) (subsubsection.9.1.5)]
->> endobj
-13021 0 obj <<
-/Dests 13020 0 R
->> endobj
-13022 0 obj <<
-/Type /Catalog
-/Pages 12273 0 R
-/Outlines 12274 0 R
-/Names 13021 0 R
-/PageMode/UseOutlines/PageLabels << /Nums [0 << /S /D >> 1 << /S /r >> 3 << /S /D >> ] >>
-/OpenAction 333 0 R
->> endobj
-13023 0 obj <<
-/Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.3)/Keywords()
-/CreationDate (D:20090418071519+02'00')
-/ModDate (D:20090418071519+02'00')
-/Trapped /False
-/PTEX.Fullbanner (This is pdfTeX using libpoppler, Version 3.141592-1.40.3-2.2 (Web2C 7.5.6) kpathsea version 3.5.6)
->> endobj
-xref
-0 13024
-0000000001 65535 f 
-0000000002 00000 f 
-0000000003 00000 f 
-0000000004 00000 f 
-0000000000 00000 f 
-0000000015 00000 n 
-0000054024 00000 n 
-0002882772 00000 n 
-0000000060 00000 n 
-0000000248 00000 n 
-0000054193 00000 n 
-0002882700 00000 n 
-0000000298 00000 n 
-0000000416 00000 n 
-0000073168 00000 n 
-0002882614 00000 n 
-0000000467 00000 n 
-0000000597 00000 n 
-0000073285 00000 n 
-0002882528 00000 n 
-0000000648 00000 n 
-0000000758 00000 n 
-0000078462 00000 n 
-0002882442 00000 n 
-0000000809 00000 n 
-0000001020 00000 n 
-0000097149 00000 n 
-0002882356 00000 n 
-0000001071 00000 n 
-0000001257 00000 n 
-0000134868 00000 n 
-0002882270 00000 n 
-0000001308 00000 n 
-0000001436 00000 n 
-0000135213 00000 n 
-0002882184 00000 n 
-0000001487 00000 n 
-0000001637 00000 n 
-0000144992 00000 n 
-0002882098 00000 n 
-0000001688 00000 n 
-0000001788 00000 n 
-0000155178 00000 n 
-0002882012 00000 n 
-0000001839 00000 n 
-0000002015 00000 n 
-0000176730 00000 n 
-0002881926 00000 n 
-0000002067 00000 n 
-0000002225 00000 n 
-0000181804 00000 n 
-0002881840 00000 n 
-0000002277 00000 n 
-0000002511 00000 n 
-0000182432 00000 n 
-0002881754 00000 n 
-0000002563 00000 n 
-0000002739 00000 n 
-0000192912 00000 n 
-0002881668 00000 n 
-0000002791 00000 n 
-0000002909 00000 n 
-0000202382 00000 n 
-0002881595 00000 n 
-0000002961 00000 n 
-0000003048 00000 n 
-0000241208 00000 n 
-0002881506 00000 n 
-0000003094 00000 n 
-0000003260 00000 n 
-0000275804 00000 n 
-0002881416 00000 n 
-0000003306 00000 n 
-0000003492 00000 n 
-0000295995 00000 n 
-0002881326 00000 n 
-0000003538 00000 n 
-0000003643 00000 n 
-0000318018 00000 n 
-0002881199 00000 n 
-0000003689 00000 n 
-0000003779 00000 n 
-0000318075 00000 n 
-0002881138 00000 n 
-0000003830 00000 n 
-0000003892 00000 n 
-0000318132 00000 n 
-0002881011 00000 n 
-0000003938 00000 n 
-0000004043 00000 n 
-0000318189 00000 n 
-0002880950 00000 n 
-0000004094 00000 n 
-0000004194 00000 n 
-0000318246 00000 n 
-0002880822 00000 n 
-0000004240 00000 n 
-0000004325 00000 n 
-0000318302 00000 n 
-0002880760 00000 n 
-0000004376 00000 n 
-0000004482 00000 n 
-0000332384 00000 n 
-0002880627 00000 n 
-0000004529 00000 n 
-0000004615 00000 n 
-0000332442 00000 n 
-0002880562 00000 n 
-0000004667 00000 n 
-0000004748 00000 n 
-0000352626 00000 n 
-0002880428 00000 n 
-0000004795 00000 n 
-0000004926 00000 n 
-0000352743 00000 n 
-0002880363 00000 n 
-0000004978 00000 n 
-0000005122 00000 n 
-0000406923 00000 n 
-0002880229 00000 n 
-0000005170 00000 n 
-0000005316 00000 n 
-0000407040 00000 n 
-0002880150 00000 n 
-0000005369 00000 n 
-0000005624 00000 n 
-0000458571 00000 n 
-0002880057 00000 n 
-0000005677 00000 n 
-0000006005 00000 n 
-0000461841 00000 n 
-0002879978 00000 n 
-0000006058 00000 n 
-0000006207 00000 n 
-0000468439 00000 n 
-0002879857 00000 n 
-0000006255 00000 n 
-0000006381 00000 n 
-0000468555 00000 n 
-0002879778 00000 n 
-0000006434 00000 n 
-0000006801 00000 n 
-0000634618 00000 n 
-0002879685 00000 n 
-0000006854 00000 n 
-0000007192 00000 n 
-0000645687 00000 n 
-0002879592 00000 n 
-0000007245 00000 n 
-0000007633 00000 n 
-0000645980 00000 n 
-0002879499 00000 n 
-0000007686 00000 n 
-0000008035 00000 n 
-0000801855 00000 n 
-0002879406 00000 n 
-0000008088 00000 n 
-0000008396 00000 n 
-0000822338 00000 n 
-0002879313 00000 n 
-0000008449 00000 n 
-0000008889 00000 n 
-0000927043 00000 n 
-0002879220 00000 n 
-0000008942 00000 n 
-0000009237 00000 n 
-0000965666 00000 n 
-0002879127 00000 n 
-0000009290 00000 n 
-0000009623 00000 n 
-0000995449 00000 n 
-0002879034 00000 n 
-0000009676 00000 n 
-0000010092 00000 n 
-0001001442 00000 n 
-0002878941 00000 n 
-0000010146 00000 n 
-0000010441 00000 n 
-0001055149 00000 n 
-0002878848 00000 n 
-0000010495 00000 n 
-0000010828 00000 n 
-0001080227 00000 n 
-0002878755 00000 n 
-0000010882 00000 n 
-0000011298 00000 n 
-0001085027 00000 n 
-0002878662 00000 n 
-0000011352 00000 n 
-0000011812 00000 n 
-0001091035 00000 n 
-0002878569 00000 n 
-0000011866 00000 n 
-0000012250 00000 n 
-0001108879 00000 n 
-0002878476 00000 n 
-0000012304 00000 n 
-0000012729 00000 n 
-0001109113 00000 n 
-0002878383 00000 n 
-0000012783 00000 n 
-0000013124 00000 n 
-0001109289 00000 n 
-0002878290 00000 n 
-0000013178 00000 n 
-0000013468 00000 n 
-0001166997 00000 n 
-0002878197 00000 n 
-0000013522 00000 n 
-0000013850 00000 n 
-0001190733 00000 n 
-0002878104 00000 n 
-0000013904 00000 n 
-0000014315 00000 n 
-0001206562 00000 n 
-0002878011 00000 n 
-0000014369 00000 n 
-0000014672 00000 n 
-0001226280 00000 n 
-0002877918 00000 n 
-0000014726 00000 n 
-0000014991 00000 n 
-0001396182 00000 n 
-0002877825 00000 n 
-0000015045 00000 n 
-0000015373 00000 n 
-0001402033 00000 n 
-0002877732 00000 n 
-0000015427 00000 n 
-0000015805 00000 n 
-0001409397 00000 n 
-0002877639 00000 n 
-0000015859 00000 n 
-0000016177 00000 n 
-0001448029 00000 n 
-0002877546 00000 n 
-0000016231 00000 n 
-0000016587 00000 n 
-0001485315 00000 n 
-0002877453 00000 n 
-0000016641 00000 n 
-0000017080 00000 n 
-0001491086 00000 n 
-0002877360 00000 n 
-0000017134 00000 n 
-0000017457 00000 n 
-0001494993 00000 n 
-0002877267 00000 n 
-0000017511 00000 n 
-0000017884 00000 n 
-0001501705 00000 n 
-0002877174 00000 n 
-0000017938 00000 n 
-0000018370 00000 n 
-0001514058 00000 n 
-0002877081 00000 n 
-0000018424 00000 n 
-0000018806 00000 n 
-0001514293 00000 n 
-0002876988 00000 n 
-0000018860 00000 n 
-0000019359 00000 n 
-0001518875 00000 n 
-0002876895 00000 n 
-0000019413 00000 n 
-0000019851 00000 n 
-0001519110 00000 n 
-0002876802 00000 n 
-0000019905 00000 n 
-0000020238 00000 n 
-0001574330 00000 n 
-0002876709 00000 n 
-0000020292 00000 n 
-0000020595 00000 n 
-0001618892 00000 n 
-0002876616 00000 n 
-0000020649 00000 n 
-0000020967 00000 n 
-0001641459 00000 n 
-0002876523 00000 n 
-0000021021 00000 n 
-0000021436 00000 n 
-0001645811 00000 n 
-0002876430 00000 n 
-0000021490 00000 n 
-0000021892 00000 n 
-0001807913 00000 n 
-0002876337 00000 n 
-0000021946 00000 n 
-0000022447 00000 n 
-0001945966 00000 n 
-0002876244 00000 n 
-0000022501 00000 n 
-0000022918 00000 n 
-0002091062 00000 n 
-0002876151 00000 n 
-0000022972 00000 n 
-0000023308 00000 n 
-0002102957 00000 n 
-0002876058 00000 n 
-0000023362 00000 n 
-0000023698 00000 n 
-0002116749 00000 n 
-0002875965 00000 n 
-0000023752 00000 n 
-0000024047 00000 n 
-0002280182 00000 n 
-0002875872 00000 n 
-0000024101 00000 n 
-0000024465 00000 n 
-0002324991 00000 n 
-0002875779 00000 n 
-0000024519 00000 n 
-0000024837 00000 n 
-0002328291 00000 n 
-0002875686 00000 n 
-0000024891 00000 n 
-0000025321 00000 n 
-0002333325 00000 n 
-0002875593 00000 n 
-0000025375 00000 n 
-0000025665 00000 n 
-0002333688 00000 n 
-0002875500 00000 n 
-0000025719 00000 n 
-0000026004 00000 n 
-0002345003 00000 n 
-0002875407 00000 n 
-0000026058 00000 n 
-0000026393 00000 n 
-0002352059 00000 n 
-0002875328 00000 n 
-0000026447 00000 n 
-0000026760 00000 n 
-0000028156 00000 n 
-0000028389 00000 n 
-0000026812 00000 n 
-0000028275 00000 n 
-0000028332 00000 n 
-0002863356 00000 n 
-0002861015 00000 n 
-0002861598 00000 n 
-0002861307 00000 n 
-0002863718 00000 n 
-0000030794 00000 n 
-0000030960 00000 n 
-0000031112 00000 n 
-0000031278 00000 n 
-0000031576 00000 n 
-0000031751 00000 n 
-0000031902 00000 n 
-0000032058 00000 n 
-0000032215 00000 n 
-0000032371 00000 n 
-0000032526 00000 n 
-0000032682 00000 n 
-0000032839 00000 n 
-0000032996 00000 n 
-0000033152 00000 n 
-0000033309 00000 n 
-0000033467 00000 n 
-0000033625 00000 n 
-0000033781 00000 n 
-0000033939 00000 n 
-0000034096 00000 n 
-0000034247 00000 n 
-0000034396 00000 n 
-0000034546 00000 n 
-0000036919 00000 n 
-0000034695 00000 n 
-0000034982 00000 n 
-0000030455 00000 n 
-0000028500 00000 n 
-0000034868 00000 n 
-0002862993 00000 n 
-0000031428 00000 n 
-0002862634 00000 n 
-0000034925 00000 n 
-0000275919 00000 n 
-0000241324 00000 n 
-0000037075 00000 n 
-0000037225 00000 n 
-0000037382 00000 n 
-0000037533 00000 n 
-0000037689 00000 n 
-0000037839 00000 n 
-0000037996 00000 n 
-0000038147 00000 n 
-0000038304 00000 n 
-0000038456 00000 n 
-0000038614 00000 n 
-0000038772 00000 n 
-0000038930 00000 n 
-0000039081 00000 n 
-0000039238 00000 n 
-0000039396 00000 n 
-0000039553 00000 n 
-0000039711 00000 n 
-0000039869 00000 n 
-0000040027 00000 n 
-0000040185 00000 n 
-0000040343 00000 n 
-0000040499 00000 n 
-0000040657 00000 n 
-0000040816 00000 n 
-0000040975 00000 n 
-0000041134 00000 n 
-0000041293 00000 n 
-0000041452 00000 n 
-0000041610 00000 n 
-0000041769 00000 n 
-0000041928 00000 n 
-0000044325 00000 n 
-0000042086 00000 n 
-0000042316 00000 n 
-0000036516 00000 n 
-0000035080 00000 n 
-0000042259 00000 n 
-0002858952 00000 n 
-0000044484 00000 n 
-0000044643 00000 n 
-0000044802 00000 n 
-0000044961 00000 n 
-0000045120 00000 n 
-0000045278 00000 n 
-0000045436 00000 n 
-0000045595 00000 n 
-0000045754 00000 n 
-0000045913 00000 n 
-0000046072 00000 n 
-0000046389 00000 n 
-0000046548 00000 n 
-0000046706 00000 n 
-0000046864 00000 n 
-0000047023 00000 n 
-0000047182 00000 n 
-0000047341 00000 n 
-0000047658 00000 n 
-0000047817 00000 n 
-0000047976 00000 n 
-0000048134 00000 n 
-0000048292 00000 n 
-0000048451 00000 n 
-0000048610 00000 n 
-0000048769 00000 n 
-0000048928 00000 n 
-0000049086 00000 n 
-0000049244 00000 n 
-0000052539 00000 n 
-0000049403 00000 n 
-0000049576 00000 n 
-0000043930 00000 n 
-0000042427 00000 n 
-0000046231 00000 n 
-0000047500 00000 n 
-0000052699 00000 n 
-0000052861 00000 n 
-0000053050 00000 n 
-0000053239 00000 n 
-0000053424 00000 n 
-0000053616 00000 n 
-0000057082 00000 n 
-0000053794 00000 n 
-0000054368 00000 n 
-0000052344 00000 n 
-0000049687 00000 n 
-0000053967 00000 n 
-0000054079 00000 n 
-0000054136 00000 n 
-0000054249 00000 n 
-0000054311 00000 n 
-0002863535 00000 n 
-0002862339 00000 n 
-0002859544 00000 n 
-0000073224 00000 n 
-0000192850 00000 n 
-0000801797 00000 n 
-0001618834 00000 n 
-0000468497 00000 n 
-0001645753 00000 n 
-0000645922 00000 n 
-0000057261 00000 n 
-0000057446 00000 n 
-0000057640 00000 n 
-0000057843 00000 n 
-0000058429 00000 n 
-0000056911 00000 n 
-0000054531 00000 n 
-0000058016 00000 n 
-0000058073 00000 n 
-0000058135 00000 n 
-0000058192 00000 n 
-0000058254 00000 n 
-0000058311 00000 n 
-0000058373 00000 n 
-0001217319 00000 n 
-0001495228 00000 n 
-0001945908 00000 n 
-0001799185 00000 n 
-0000061282 00000 n 
-0000061568 00000 n 
-0000061143 00000 n 
-0000058553 00000 n 
-0000061455 00000 n 
-0002860284 00000 n 
-0002860722 00000 n 
-0000061512 00000 n 
-0002863837 00000 n 
-0000064377 00000 n 
-0000064897 00000 n 
-0000064238 00000 n 
-0000061729 00000 n 
-0000064550 00000 n 
-0000064607 00000 n 
-0000064664 00000 n 
-0000064726 00000 n 
-0000064783 00000 n 
-0000064840 00000 n 
-0000067738 00000 n 
-0000068139 00000 n 
-0000067599 00000 n 
-0000065008 00000 n 
-0000067911 00000 n 
-0000067968 00000 n 
-0000068025 00000 n 
-0000068082 00000 n 
-0000072268 00000 n 
-0000072423 00000 n 
-0000072576 00000 n 
-0000072728 00000 n 
-0000072881 00000 n 
-0000073578 00000 n 
-0000072097 00000 n 
-0000068263 00000 n 
-0000073054 00000 n 
-0000073111 00000 n 
-0000073341 00000 n 
-0000073402 00000 n 
-0002860430 00000 n 
-0002859986 00000 n 
-0002861453 00000 n 
-0002858658 00000 n 
-0002858805 00000 n 
-0000073459 00000 n 
-0000073521 00000 n 
-0000215394 00000 n 
-0000220352 00000 n 
-0000236501 00000 n 
-0000237500 00000 n 
-0000077752 00000 n 
-0000077940 00000 n 
-0000078636 00000 n 
-0000077605 00000 n 
-0000073828 00000 n 
-0000078113 00000 n 
-0000078170 00000 n 
-0000078229 00000 n 
-0000078286 00000 n 
-0000078343 00000 n 
-0000078400 00000 n 
-0000078517 00000 n 
-0000078579 00000 n 
-0000088625 00000 n 
-0000083033 00000 n 
-0000083619 00000 n 
-0000082894 00000 n 
-0000078873 00000 n 
-0000083206 00000 n 
-0002859248 00000 n 
-0000083263 00000 n 
-0000083324 00000 n 
-0000083381 00000 n 
-0000083443 00000 n 
-0000083500 00000 n 
-0000083562 00000 n 
-0000088157 00000 n 
-0000088744 00000 n 
-0000088018 00000 n 
-0000083868 00000 n 
-0000088330 00000 n 
-0000088387 00000 n 
-0000088449 00000 n 
-0000088506 00000 n 
-0000088568 00000 n 
-0000088687 00000 n 
-0002863956 00000 n 
-0000092449 00000 n 
-0000092971 00000 n 
-0000092310 00000 n 
-0000088956 00000 n 
-0000092622 00000 n 
-0000092679 00000 n 
-0000092740 00000 n 
-0000092797 00000 n 
-0000092859 00000 n 
-0000092916 00000 n 
-0000096800 00000 n 
-0000097680 00000 n 
-0000096661 00000 n 
-0000093196 00000 n 
-0000096973 00000 n 
-0000097030 00000 n 
-0000097087 00000 n 
-0000097205 00000 n 
-0000097267 00000 n 
-0000097324 00000 n 
-0000097386 00000 n 
-0000097443 00000 n 
-0000097505 00000 n 
-0000097562 00000 n 
-0000097623 00000 n 
-0000101993 00000 n 
-0000102148 00000 n 
-0000102886 00000 n 
-0000101846 00000 n 
-0000097892 00000 n 
-0000102321 00000 n 
-0000102378 00000 n 
-0000102435 00000 n 
-0000102492 00000 n 
-0000102549 00000 n 
-0002862192 00000 n 
-0002861162 00000 n 
-0000102605 00000 n 
-0000102661 00000 n 
-0000102717 00000 n 
-0000102774 00000 n 
-0000102830 00000 n 
-0000220409 00000 n 
-0000107322 00000 n 
-0000107479 00000 n 
-0000107937 00000 n 
-0000107175 00000 n 
-0000103149 00000 n 
-0000107652 00000 n 
-0000107709 00000 n 
-0000107766 00000 n 
-0000107823 00000 n 
-0000107880 00000 n 
-0000113170 00000 n 
-0000113519 00000 n 
-0000113031 00000 n 
-0000108187 00000 n 
-0000113343 00000 n 
-0000113400 00000 n 
-0000113462 00000 n 
-0000117799 00000 n 
-0000117952 00000 n 
-0000118105 00000 n 
-0000118863 00000 n 
-0000117644 00000 n 
-0000113744 00000 n 
-0000118278 00000 n 
-0000118335 00000 n 
-0000118397 00000 n 
-0000118454 00000 n 
-0000118509 00000 n 
-0000118565 00000 n 
-0000118626 00000 n 
-0000118683 00000 n 
-0000118744 00000 n 
-0000118801 00000 n 
-0002864075 00000 n 
-0000225611 00000 n 
-0000225728 00000 n 
-0000122803 00000 n 
-0000123176 00000 n 
-0000123329 00000 n 
-0000123482 00000 n 
-0000123635 00000 n 
-0000124331 00000 n 
-0000122624 00000 n 
-0000119112 00000 n 
-0000123808 00000 n 
-0000123865 00000 n 
-0000122990 00000 n 
-0000123922 00000 n 
-0000123979 00000 n 
-0000124036 00000 n 
-0000124093 00000 n 
-0000124155 00000 n 
-0000124212 00000 n 
-0000124274 00000 n 
-0000182488 00000 n 
-0000225259 00000 n 
-0000208623 00000 n 
-0000128379 00000 n 
-0000128532 00000 n 
-0000128685 00000 n 
-0000128837 00000 n 
-0000129006 00000 n 
-0000129171 00000 n 
-0000129810 00000 n 
-0000128200 00000 n 
-0000124531 00000 n 
-0000129344 00000 n 
-0000129401 00000 n 
-0000129458 00000 n 
-0000129515 00000 n 
-0000129577 00000 n 
-0000129634 00000 n 
-0000129691 00000 n 
-0000129748 00000 n 
-0000134981 00000 n 
-0000134330 00000 n 
-0000134482 00000 n 
-0000134638 00000 n 
-0000135448 00000 n 
-0000134175 00000 n 
-0000129959 00000 n 
-0000134811 00000 n 
-0000134924 00000 n 
-0000135038 00000 n 
-0000135095 00000 n 
-0000135152 00000 n 
-0000135269 00000 n 
-0000135330 00000 n 
-0000135386 00000 n 
-0000215508 00000 n 
-0000202666 00000 n 
-0000139204 00000 n 
-0000139356 00000 n 
-0000139511 00000 n 
-0000144605 00000 n 
-0000139663 00000 n 
-0000140364 00000 n 
-0000139041 00000 n 
-0000135648 00000 n 
-0000139836 00000 n 
-0000139893 00000 n 
-0000139950 00000 n 
-0000140012 00000 n 
-0000140069 00000 n 
-0000140131 00000 n 
-0000140188 00000 n 
-0000140245 00000 n 
-0000140302 00000 n 
-0000220011 00000 n 
-0000203121 00000 n 
-0000144762 00000 n 
-0000145524 00000 n 
-0000144458 00000 n 
-0000140552 00000 n 
-0000144935 00000 n 
-0000145048 00000 n 
-0000145110 00000 n 
-0000145167 00000 n 
-0000145229 00000 n 
-0000145286 00000 n 
-0000145348 00000 n 
-0000145405 00000 n 
-0000145467 00000 n 
-0000202722 00000 n 
-0000149627 00000 n 
-0000149779 00000 n 
-0000149936 00000 n 
-0000150695 00000 n 
-0000149472 00000 n 
-0000145749 00000 n 
-0000150109 00000 n 
-0000150166 00000 n 
-0000150223 00000 n 
-0002860135 00000 n 
-0000150280 00000 n 
-0000150340 00000 n 
-0000150396 00000 n 
-0000150458 00000 n 
-0000150515 00000 n 
-0000150577 00000 n 
-0000150634 00000 n 
-0002864194 00000 n 
-0000236972 00000 n 
-0000154652 00000 n 
-0000154829 00000 n 
-0000155710 00000 n 
-0000154505 00000 n 
-0000150922 00000 n 
-0000155002 00000 n 
-0000155059 00000 n 
-0000155116 00000 n 
-0000155234 00000 n 
-0000155296 00000 n 
-0000155353 00000 n 
-0000155415 00000 n 
-0000155472 00000 n 
-0000155534 00000 n 
-0000155591 00000 n 
-0000155653 00000 n 
-0000159494 00000 n 
-0000160183 00000 n 
-0000159355 00000 n 
-0000155922 00000 n 
-0000159667 00000 n 
-0000159724 00000 n 
-0000159781 00000 n 
-0000159838 00000 n 
-0000159900 00000 n 
-0000159957 00000 n 
-0000160014 00000 n 
-0000160070 00000 n 
-0000160127 00000 n 
-0000165529 00000 n 
-0000165706 00000 n 
-0000165881 00000 n 
-0000166405 00000 n 
-0000165374 00000 n 
-0000160433 00000 n 
-0000166054 00000 n 
-0000166111 00000 n 
-0000166168 00000 n 
-0000166225 00000 n 
-0000166287 00000 n 
-0000166344 00000 n 
-0000170279 00000 n 
-0000170436 00000 n 
-0000170956 00000 n 
-0000170132 00000 n 
-0000166655 00000 n 
-0000170609 00000 n 
-0000170666 00000 n 
-0000170723 00000 n 
-0000170780 00000 n 
-0000170837 00000 n 
-0000170899 00000 n 
-0000175417 00000 n 
-0000175582 00000 n 
-0000175735 00000 n 
-0000175888 00000 n 
-0000176040 00000 n 
-0000176205 00000 n 
-0000176957 00000 n 
-0000175238 00000 n 
-0000171168 00000 n 
-0000176378 00000 n 
-0000176435 00000 n 
-0000176492 00000 n 
-0000176549 00000 n 
-0000176611 00000 n 
-0000176668 00000 n 
-0000176786 00000 n 
-0000176843 00000 n 
-0000176900 00000 n 
-0000202609 00000 n 
-0000209022 00000 n 
-0000182371 00000 n 
-0000180311 00000 n 
-0000180621 00000 n 
-0000180799 00000 n 
-0000181119 00000 n 
-0000181517 00000 n 
-0000182607 00000 n 
-0000180116 00000 n 
-0000177181 00000 n 
-0000181690 00000 n 
-0000181747 00000 n 
-0000181860 00000 n 
-0000181917 00000 n 
-0000181974 00000 n 
-0000182031 00000 n 
-0000182087 00000 n 
-0000182143 00000 n 
-0000182200 00000 n 
-0000182257 00000 n 
-0000182314 00000 n 
-0000180466 00000 n 
-0000180960 00000 n 
-0000181318 00000 n 
-0000182550 00000 n 
-0002864313 00000 n 
-0000186418 00000 n 
-0000186570 00000 n 
-0000186723 00000 n 
-0000191595 00000 n 
-0000191765 00000 n 
-0000191931 00000 n 
-0000192081 00000 n 
-0000186877 00000 n 
-0000187791 00000 n 
-0000186255 00000 n 
-0000182830 00000 n 
-0000187050 00000 n 
-0000187107 00000 n 
-0000187164 00000 n 
-0000187221 00000 n 
-0000187278 00000 n 
-0000187335 00000 n 
-0000187392 00000 n 
-0000187449 00000 n 
-0000187506 00000 n 
-0000187563 00000 n 
-0000187620 00000 n 
-0000187677 00000 n 
-0000187734 00000 n 
-0000203007 00000 n 
-0000208965 00000 n 
-0000192233 00000 n 
-0000192427 00000 n 
-0000192620 00000 n 
-0000193196 00000 n 
-0000191408 00000 n 
-0000187965 00000 n 
-0000192793 00000 n 
-0000192968 00000 n 
-0000193025 00000 n 
-0000193082 00000 n 
-0000193139 00000 n 
-0000634560 00000 n 
-0001491028 00000 n 
-0000196819 00000 n 
-0000197282 00000 n 
-0000196680 00000 n 
-0000193320 00000 n 
-0000196992 00000 n 
-0000197049 00000 n 
-0000197106 00000 n 
-0000197163 00000 n 
-0000197225 00000 n 
-0000201175 00000 n 
-0000201372 00000 n 
-0000201569 00000 n 
-0000201734 00000 n 
-0000201909 00000 n 
-0000202091 00000 n 
-0000203178 00000 n 
-0000200996 00000 n 
-0000197406 00000 n 
-0000202264 00000 n 
-0000202321 00000 n 
-0000202438 00000 n 
-0000202495 00000 n 
-0000202552 00000 n 
-0000202779 00000 n 
-0000202836 00000 n 
-0000202893 00000 n 
-0000202950 00000 n 
-0000203064 00000 n 
-0000206938 00000 n 
-0000207122 00000 n 
-0000207306 00000 n 
-0000207489 00000 n 
-0000207672 00000 n 
-0000207837 00000 n 
-0000207991 00000 n 
-0000208173 00000 n 
-0000213068 00000 n 
-0000213251 00000 n 
-0000208336 00000 n 
-0000209306 00000 n 
-0000206735 00000 n 
-0000203289 00000 n 
-0000208509 00000 n 
-0000208566 00000 n 
-0000208680 00000 n 
-0000208737 00000 n 
-0000208794 00000 n 
-0000208851 00000 n 
-0000208908 00000 n 
-0000209079 00000 n 
-0000209136 00000 n 
-0000209193 00000 n 
-0000209250 00000 n 
-0000214882 00000 n 
-0000213416 00000 n 
-0000213569 00000 n 
-0000213752 00000 n 
-0000213917 00000 n 
-0000214072 00000 n 
-0000214256 00000 n 
-0000214440 00000 n 
-0000214595 00000 n 
-0000215565 00000 n 
-0000212857 00000 n 
-0000209417 00000 n 
-0000214768 00000 n 
-0000214825 00000 n 
-0000214939 00000 n 
-0000214996 00000 n 
-0000215053 00000 n 
-0000215109 00000 n 
-0000215166 00000 n 
-0000215223 00000 n 
-0000215280 00000 n 
-0000215337 00000 n 
-0000215451 00000 n 
-0002864432 00000 n 
-0000219464 00000 n 
-0000219668 00000 n 
-0000220695 00000 n 
-0000219317 00000 n 
-0000215676 00000 n 
-0000219841 00000 n 
-0000219898 00000 n 
-0000219955 00000 n 
-0000220068 00000 n 
-0000220125 00000 n 
-0000220182 00000 n 
-0000220239 00000 n 
-0000220295 00000 n 
-0000220466 00000 n 
-0000220523 00000 n 
-0000220580 00000 n 
-0000220638 00000 n 
-0000224763 00000 n 
-0000230095 00000 n 
-0000230284 00000 n 
-0000224967 00000 n 
-0000226139 00000 n 
-0000224611 00000 n 
-0000220819 00000 n 
-0000225141 00000 n 
-0000225200 00000 n 
-0000225317 00000 n 
-0000225375 00000 n 
-0000225434 00000 n 
-0000225493 00000 n 
-0000225552 00000 n 
-0000225669 00000 n 
-0000225786 00000 n 
-0000225845 00000 n 
-0000225904 00000 n 
-0000225963 00000 n 
-0000226022 00000 n 
-0000226080 00000 n 
-0000230437 00000 n 
-0000230589 00000 n 
-0000235808 00000 n 
-0000230742 00000 n 
-0000231858 00000 n 
-0000229916 00000 n 
-0000226251 00000 n 
-0000230916 00000 n 
-0000230975 00000 n 
-0000231034 00000 n 
-0000231093 00000 n 
-0000231152 00000 n 
-0000231211 00000 n 
-0000231270 00000 n 
-0000231329 00000 n 
-0000231387 00000 n 
-0000231446 00000 n 
-0000231505 00000 n 
-0000231564 00000 n 
-0000231623 00000 n 
-0000231682 00000 n 
-0000231741 00000 n 
-0000231800 00000 n 
-0000235960 00000 n 
-0000236114 00000 n 
-0000236268 00000 n 
-0000237558 00000 n 
-0000235638 00000 n 
-0000231983 00000 n 
-0000236442 00000 n 
-0000236559 00000 n 
-0000236618 00000 n 
-0000236677 00000 n 
-0000236736 00000 n 
-0000236795 00000 n 
-0000236854 00000 n 
-0000236913 00000 n 
-0000237030 00000 n 
-0000237089 00000 n 
-0000237147 00000 n 
-0000237206 00000 n 
-0000237265 00000 n 
-0000237324 00000 n 
-0000237382 00000 n 
-0000237441 00000 n 
-0000240811 00000 n 
-0000240975 00000 n 
-0000241440 00000 n 
-0000240659 00000 n 
-0000237670 00000 n 
-0000241149 00000 n 
-0000241265 00000 n 
-0000241382 00000 n 
-0000244951 00000 n 
-0000245361 00000 n 
-0000244807 00000 n 
-0000241539 00000 n 
-0000245125 00000 n 
-0000245184 00000 n 
-0000245243 00000 n 
-0000245302 00000 n 
-0002864555 00000 n 
-0000248370 00000 n 
-0000248837 00000 n 
-0000248226 00000 n 
-0000245460 00000 n 
-0000248544 00000 n 
-0000248603 00000 n 
-0000248662 00000 n 
-0000248719 00000 n 
-0000248778 00000 n 
-0000252390 00000 n 
-0000252681 00000 n 
-0000252246 00000 n 
-0000248936 00000 n 
-0000252564 00000 n 
-0000252623 00000 n 
-0000256432 00000 n 
-0000256724 00000 n 
-0000256288 00000 n 
-0000252780 00000 n 
-0000256606 00000 n 
-0000256665 00000 n 
-0000260046 00000 n 
-0000260397 00000 n 
-0000259902 00000 n 
-0000256823 00000 n 
-0000260220 00000 n 
-0000260279 00000 n 
-0000260338 00000 n 
-0000264096 00000 n 
-0000264447 00000 n 
-0000263952 00000 n 
-0000260496 00000 n 
-0000264270 00000 n 
-0000264329 00000 n 
-0000264388 00000 n 
-0000267855 00000 n 
-0000268324 00000 n 
-0000267711 00000 n 
-0000264546 00000 n 
-0000268029 00000 n 
-0000268088 00000 n 
-0000268147 00000 n 
-0000268206 00000 n 
-0000268265 00000 n 
-0002864681 00000 n 
-0000271277 00000 n 
-0000271453 00000 n 
-0000271863 00000 n 
-0000271124 00000 n 
-0000268423 00000 n 
-0000271627 00000 n 
-0000271686 00000 n 
-0000271745 00000 n 
-0000271804 00000 n 
-0002862811 00000 n 
-0000275198 00000 n 
-0000275375 00000 n 
-0000275571 00000 n 
-0000275976 00000 n 
-0000275036 00000 n 
-0000271976 00000 n 
-0000275745 00000 n 
-0000275861 00000 n 
-0000279796 00000 n 
-0000280029 00000 n 
-0000279652 00000 n 
-0000276089 00000 n 
-0000279970 00000 n 
-0000283866 00000 n 
-0000284099 00000 n 
-0000283722 00000 n 
-0000280128 00000 n 
-0000284040 00000 n 
-0000287594 00000 n 
-0000287827 00000 n 
-0000287450 00000 n 
-0000284198 00000 n 
-0000287768 00000 n 
-0000291334 00000 n 
-0000291510 00000 n 
-0000291743 00000 n 
-0000291181 00000 n 
-0000287926 00000 n 
-0000291684 00000 n 
-0002864807 00000 n 
-0000294052 00000 n 
-0000294271 00000 n 
-0000294465 00000 n 
-0000294685 00000 n 
-0000294878 00000 n 
-0000295096 00000 n 
-0000295290 00000 n 
-0000295510 00000 n 
-0000297667 00000 n 
-0000297887 00000 n 
-0000298081 00000 n 
-0000298301 00000 n 
-0000295703 00000 n 
-0000296404 00000 n 
-0000293836 00000 n 
-0000291842 00000 n 
-0000295877 00000 n 
-0000295936 00000 n 
-0000296052 00000 n 
-0000296111 00000 n 
-0000296170 00000 n 
-0000296229 00000 n 
-0000296287 00000 n 
-0000296346 00000 n 
-0000573037 00000 n 
-0000573273 00000 n 
-0000576313 00000 n 
-0000579413 00000 n 
-0000298494 00000 n 
-0000298714 00000 n 
-0000298907 00000 n 
-0000299127 00000 n 
-0000299321 00000 n 
-0000299536 00000 n 
-0000299730 00000 n 
-0000299945 00000 n 
-0000300139 00000 n 
-0000300354 00000 n 
-0000300548 00000 n 
-0000300763 00000 n 
-0000300957 00000 n 
-0000301169 00000 n 
-0000301363 00000 n 
-0000301577 00000 n 
-0000301771 00000 n 
-0000301985 00000 n 
-0000302178 00000 n 
-0000302393 00000 n 
-0000302586 00000 n 
-0000302801 00000 n 
-0000302995 00000 n 
-0000303209 00000 n 
-0000305668 00000 n 
-0000305883 00000 n 
-0000306077 00000 n 
-0000306306 00000 n 
-0000306499 00000 n 
-0000306728 00000 n 
-0000303401 00000 n 
-0000304400 00000 n 
-0000297271 00000 n 
-0000296503 00000 n 
-0000303575 00000 n 
-0000303634 00000 n 
-0000303693 00000 n 
-0000303752 00000 n 
-0000303811 00000 n 
-0000303870 00000 n 
-0000303928 00000 n 
-0000303987 00000 n 
-0000304046 00000 n 
-0000304105 00000 n 
-0000304164 00000 n 
-0000304223 00000 n 
-0000304282 00000 n 
-0000304341 00000 n 
-0000583062 00000 n 
-0000583298 00000 n 
-0000589492 00000 n 
-0000589728 00000 n 
-0001337919 00000 n 
-0001338155 00000 n 
-0001340834 00000 n 
-0001340952 00000 n 
-0001343590 00000 n 
-0001346504 00000 n 
-0001346739 00000 n 
-0001352046 00000 n 
-0001355282 00000 n 
-0001358439 00000 n 
-0000306921 00000 n 
-0000307150 00000 n 
-0000307344 00000 n 
-0000307572 00000 n 
-0000307766 00000 n 
-0000307995 00000 n 
-0000308189 00000 n 
-0000308410 00000 n 
-0000308604 00000 n 
-0000308824 00000 n 
-0000309018 00000 n 
-0000309238 00000 n 
-0000309432 00000 n 
-0000309652 00000 n 
-0000309846 00000 n 
-0000310066 00000 n 
-0000310259 00000 n 
-0000310480 00000 n 
-0000310673 00000 n 
-0000310894 00000 n 
-0000311088 00000 n 
-0000311308 00000 n 
-0000314253 00000 n 
-0000314474 00000 n 
-0000314668 00000 n 
-0000314889 00000 n 
-0000315083 00000 n 
-0000315304 00000 n 
-0000311500 00000 n 
-0000312558 00000 n 
-0000305272 00000 n 
-0000304499 00000 n 
-0000311674 00000 n 
-0000311733 00000 n 
-0000311792 00000 n 
-0000311851 00000 n 
-0000311910 00000 n 
-0000311969 00000 n 
-0000312028 00000 n 
-0000312086 00000 n 
-0000312145 00000 n 
-0000312204 00000 n 
-0000312263 00000 n 
-0000312322 00000 n 
-0000312381 00000 n 
-0000312440 00000 n 
-0000312499 00000 n 
-0001358675 00000 n 
-0002040991 00000 n 
-0002043758 00000 n 
-0002046928 00000 n 
-0002049969 00000 n 
-0002053696 00000 n 
-0002219969 00000 n 
-0002220206 00000 n 
-0002223380 00000 n 
-0002226037 00000 n 
-0002226158 00000 n 
-0002228965 00000 n 
-0002231941 00000 n 
-0002234645 00000 n 
-0000315498 00000 n 
-0000315656 00000 n 
-0000315834 00000 n 
-0000315993 00000 n 
-0000316188 00000 n 
-0000316347 00000 n 
-0000316503 00000 n 
-0000316662 00000 n 
-0000316821 00000 n 
-0000316979 00000 n 
-0000317136 00000 n 
-0000317294 00000 n 
-0000317452 00000 n 
-0000320056 00000 n 
-0000320213 00000 n 
-0000317608 00000 n 
-0000318359 00000 n 
-0000313938 00000 n 
-0000312657 00000 n 
-0000317782 00000 n 
-0000317841 00000 n 
-0000317900 00000 n 
-0000317959 00000 n 
-0002234887 00000 n 
-0002240948 00000 n 
-0002243931 00000 n 
-0000406981 00000 n 
-0000458512 00000 n 
-0000461782 00000 n 
-0000320371 00000 n 
-0000320529 00000 n 
-0000320688 00000 n 
-0000320847 00000 n 
-0000321006 00000 n 
-0000321165 00000 n 
-0000321324 00000 n 
-0000321483 00000 n 
-0000321642 00000 n 
-0000321801 00000 n 
-0000321959 00000 n 
-0000322118 00000 n 
-0000322277 00000 n 
-0000322434 00000 n 
-0000322593 00000 n 
-0000322752 00000 n 
-0000322911 00000 n 
-0000323070 00000 n 
-0000323229 00000 n 
-0000323387 00000 n 
-0000323546 00000 n 
-0000323705 00000 n 
-0000323863 00000 n 
-0000324022 00000 n 
-0000324181 00000 n 
-0000324340 00000 n 
-0000324499 00000 n 
-0000326968 00000 n 
-0000324658 00000 n 
-0000324891 00000 n 
-0000319651 00000 n 
-0000318471 00000 n 
-0000324832 00000 n 
-0000327126 00000 n 
-0000327285 00000 n 
-0000327443 00000 n 
-0000327602 00000 n 
-0000327760 00000 n 
-0000327919 00000 n 
-0000328078 00000 n 
-0000328237 00000 n 
-0000328396 00000 n 
-0000328555 00000 n 
-0000328714 00000 n 
-0000328872 00000 n 
-0000329031 00000 n 
-0000329190 00000 n 
-0000329347 00000 n 
-0000329534 00000 n 
-0000329693 00000 n 
-0000329890 00000 n 
-0000330048 00000 n 
-0000330257 00000 n 
-0000330415 00000 n 
-0000330596 00000 n 
-0000330754 00000 n 
-0000330944 00000 n 
-0000331102 00000 n 
-0000331295 00000 n 
-0000331453 00000 n 
-0000331641 00000 n 
-0000331799 00000 n 
-0000331994 00000 n 
-0000334890 00000 n 
-0000335105 00000 n 
-0000332151 00000 n 
-0000332499 00000 n 
-0000326545 00000 n 
-0000325003 00000 n 
-0000332325 00000 n 
-0002864933 00000 n 
-0000639906 00000 n 
-0000822279 00000 n 
-0000926984 00000 n 
-0000965607 00000 n 
-0000335263 00000 n 
-0000335451 00000 n 
-0000335610 00000 n 
-0000335806 00000 n 
-0000335965 00000 n 
-0000336180 00000 n 
-0000336339 00000 n 
-0000336539 00000 n 
-0000336698 00000 n 
-0000336887 00000 n 
-0000337045 00000 n 
-0000337238 00000 n 
-0000337397 00000 n 
-0000337595 00000 n 
-0000337754 00000 n 
-0000337941 00000 n 
-0000338100 00000 n 
-0000338294 00000 n 
-0000338452 00000 n 
-0000338664 00000 n 
-0000338823 00000 n 
-0000339012 00000 n 
-0000339171 00000 n 
-0000339353 00000 n 
-0000339512 00000 n 
-0000339707 00000 n 
-0000339889 00000 n 
-0000340048 00000 n 
-0000340255 00000 n 
-0000340436 00000 n 
-0000340594 00000 n 
-0000340787 00000 n 
-0000340946 00000 n 
-0000341147 00000 n 
-0000341306 00000 n 
-0000341526 00000 n 
-0000341685 00000 n 
-0000341879 00000 n 
-0000342038 00000 n 
-0000342244 00000 n 
-0000342403 00000 n 
-0000342589 00000 n 
-0000342748 00000 n 
-0000342938 00000 n 
-0000345680 00000 n 
-0000345913 00000 n 
-0000343097 00000 n 
-0000343330 00000 n 
-0000334332 00000 n 
-0000332611 00000 n 
-0000343271 00000 n 
-0000995390 00000 n 
-0001001383 00000 n 
-0001055090 00000 n 
-0001074874 00000 n 
-0001084968 00000 n 
-0001090976 00000 n 
-0001105135 00000 n 
-0001109054 00000 n 
-0001109230 00000 n 
-0001166938 00000 n 
-0001190674 00000 n 
-0001196629 00000 n 
-0001396123 00000 n 
-0001401975 00000 n 
-0001409338 00000 n 
-0001447970 00000 n 
-0001479473 00000 n 
-0001494934 00000 n 
-0001514000 00000 n 
-0000346071 00000 n 
-0000346273 00000 n 
-0000346432 00000 n 
-0000346627 00000 n 
-0000346785 00000 n 
-0000346975 00000 n 
-0000347134 00000 n 
-0000347326 00000 n 
-0000347485 00000 n 
-0000347676 00000 n 
-0000347834 00000 n 
-0000348027 00000 n 
-0000348186 00000 n 
-0000348390 00000 n 
-0000348549 00000 n 
-0000348745 00000 n 
-0000348904 00000 n 
-0000349097 00000 n 
-0000349255 00000 n 
-0000349448 00000 n 
-0000349607 00000 n 
-0000349794 00000 n 
-0000349953 00000 n 
-0000350139 00000 n 
-0000350298 00000 n 
-0000350491 00000 n 
-0000350650 00000 n 
-0000350843 00000 n 
-0000351002 00000 n 
-0000351189 00000 n 
-0000351348 00000 n 
-0000351531 00000 n 
-0000351688 00000 n 
-0000351886 00000 n 
-0000352044 00000 n 
-0000352234 00000 n 
-0000354412 00000 n 
-0000352393 00000 n 
-0000352801 00000 n 
-0000345194 00000 n 
-0000343442 00000 n 
-0000352567 00000 n 
-0000352684 00000 n 
-0001514234 00000 n 
-0001518816 00000 n 
-0001519051 00000 n 
-0001574271 00000 n 
-0001641400 00000 n 
-0002091004 00000 n 
-0002102898 00000 n 
-0002116691 00000 n 
-0002280122 00000 n 
-0002324931 00000 n 
-0002328231 00000 n 
-0002328838 00000 n 
-0002333628 00000 n 
-0002344943 00000 n 
-0002351999 00000 n 
-0000354602 00000 n 
-0000354833 00000 n 
-0000355035 00000 n 
-0000355228 00000 n 
-0000355415 00000 n 
-0000355613 00000 n 
-0000355805 00000 n 
-0000355990 00000 n 
-0000356188 00000 n 
-0000356382 00000 n 
-0000356578 00000 n 
-0000356789 00000 n 
-0000356977 00000 n 
-0000357173 00000 n 
-0000357366 00000 n 
-0000357580 00000 n 
-0000357767 00000 n 
-0000359768 00000 n 
-0000357963 00000 n 
-0000358255 00000 n 
-0000354106 00000 n 
-0000352913 00000 n 
-0000358137 00000 n 
-0000358196 00000 n 
-0000359983 00000 n 
-0000360171 00000 n 
-0000360371 00000 n 
-0000360591 00000 n 
-0000360783 00000 n 
-0000360979 00000 n 
-0000361188 00000 n 
-0000361380 00000 n 
-0000361586 00000 n 
-0000361783 00000 n 
-0000361970 00000 n 
-0000362160 00000 n 
-0000362355 00000 n 
-0000362537 00000 n 
-0000362728 00000 n 
-0000362921 00000 n 
-0000363103 00000 n 
-0000365275 00000 n 
-0000363288 00000 n 
-0000363521 00000 n 
-0000359462 00000 n 
-0000358380 00000 n 
-0000363462 00000 n 
-0000365456 00000 n 
-0000365642 00000 n 
-0000365836 00000 n 
-0000366030 00000 n 
-0000366230 00000 n 
-0000366421 00000 n 
-0000366626 00000 n 
-0000366815 00000 n 
-0000367000 00000 n 
-0000367196 00000 n 
-0000367386 00000 n 
-0000367581 00000 n 
-0000367737 00000 n 
-0000370431 00000 n 
-0000367941 00000 n 
-0000368292 00000 n 
-0000365005 00000 n 
-0000363646 00000 n 
-0000368115 00000 n 
-0000368174 00000 n 
-0000368233 00000 n 
-0000390207 00000 n 
-0000370635 00000 n 
-0000370839 00000 n 
-0000371043 00000 n 
-0000371247 00000 n 
-0000371451 00000 n 
-0000371655 00000 n 
-0000371859 00000 n 
-0000372063 00000 n 
-0000372298 00000 n 
-0000372533 00000 n 
-0000373005 00000 n 
-0000373242 00000 n 
-0000373476 00000 n 
-0000373712 00000 n 
-0000374184 00000 n 
-0000374421 00000 n 
-0000374656 00000 n 
-0000375128 00000 n 
-0000375364 00000 n 
-0000375837 00000 n 
-0000376073 00000 n 
-0000376310 00000 n 
-0000376780 00000 n 
-0000377016 00000 n 
-0000377250 00000 n 
-0000377485 00000 n 
-0000377954 00000 n 
-0000378191 00000 n 
-0000378426 00000 n 
-0000378662 00000 n 
-0000379132 00000 n 
-0000379604 00000 n 
-0000379840 00000 n 
-0000380044 00000 n 
-0000380281 00000 n 
-0000380516 00000 n 
-0000380752 00000 n 
-0000381220 00000 n 
-0000381630 00000 n 
-0000369864 00000 n 
-0000368417 00000 n 
-0000381394 00000 n 
-0000381453 00000 n 
-0000381512 00000 n 
-0000381571 00000 n 
-0000372769 00000 n 
-0000373948 00000 n 
-0000374892 00000 n 
-0000375601 00000 n 
-0000376545 00000 n 
-0000377718 00000 n 
-0000378896 00000 n 
-0000379369 00000 n 
-0000380986 00000 n 
-0002865059 00000 n 
-0000390325 00000 n 
-0000390443 00000 n 
-0000393619 00000 n 
-0000393796 00000 n 
-0000393912 00000 n 
-0000394030 00000 n 
-0000394207 00000 n 
-0000394325 00000 n 
-0000394389 00000 n 
-0000394453 00000 n 
-0000394517 00000 n 
-0000396740 00000 n 
-0000396804 00000 n 
-0000396868 00000 n 
-0000396932 00000 n 
-0000396996 00000 n 
-0000397060 00000 n 
-0000397124 00000 n 
-0000397188 00000 n 
-0000397252 00000 n 
-0000397316 00000 n 
-0000397380 00000 n 
-0000397444 00000 n 
-0000397508 00000 n 
-0000397572 00000 n 
-0000397636 00000 n 
-0000397700 00000 n 
-0000397764 00000 n 
-0000397828 00000 n 
-0000397892 00000 n 
-0000397956 00000 n 
-0000398020 00000 n 
-0000398084 00000 n 
-0000398202 00000 n 
-0000398266 00000 n 
-0000398330 00000 n 
-0000398394 00000 n 
-0000383611 00000 n 
-0000383814 00000 n 
-0000384051 00000 n 
-0000384287 00000 n 
-0000384490 00000 n 
-0000384726 00000 n 
-0000384963 00000 n 
-0000385199 00000 n 
-0000385436 00000 n 
-0000385672 00000 n 
-0000385909 00000 n 
-0000386113 00000 n 
-0000386586 00000 n 
-0000387059 00000 n 
-0000387295 00000 n 
-0000387499 00000 n 
-0000387972 00000 n 
-0000388209 00000 n 
-0000388412 00000 n 
-0000388885 00000 n 
-0000389358 00000 n 
-0000389594 00000 n 
-0000389797 00000 n 
-0000390502 00000 n 
-0000383224 00000 n 
-0000381742 00000 n 
-0000389971 00000 n 
-0000386350 00000 n 
-0000386823 00000 n 
-0000387736 00000 n 
-0000388649 00000 n 
-0000389122 00000 n 
-0000390030 00000 n 
-0000390089 00000 n 
-0000390148 00000 n 
-0000390266 00000 n 
-0000390384 00000 n 
-0000398458 00000 n 
-0000398576 00000 n 
-0000398640 00000 n 
-0000398704 00000 n 
-0000401068 00000 n 
-0000401132 00000 n 
-0000401196 00000 n 
-0000401260 00000 n 
-0000401324 00000 n 
-0000401388 00000 n 
-0000401452 00000 n 
-0000401569 00000 n 
-0000401633 00000 n 
-0000401697 00000 n 
-0000401761 00000 n 
-0000401879 00000 n 
-0000401943 00000 n 
-0000402007 00000 n 
-0000402125 00000 n 
-0000402189 00000 n 
-0000402253 00000 n 
-0000402376 00000 n 
-0000392944 00000 n 
-0000393134 00000 n 
-0000393327 00000 n 
-0000394580 00000 n 
-0000392782 00000 n 
-0000390627 00000 n 
-0000393501 00000 n 
-0000393560 00000 n 
-0000393678 00000 n 
-0000393737 00000 n 
-0000393854 00000 n 
-0000393971 00000 n 
-0000394089 00000 n 
-0000394148 00000 n 
-0000394266 00000 n 
-0002863172 00000 n 
-0000396507 00000 n 
-0000398763 00000 n 
-0000396363 00000 n 
-0000394693 00000 n 
-0000396681 00000 n 
-0000398143 00000 n 
-0000398517 00000 n 
-0000400586 00000 n 
-0000400776 00000 n 
-0000402494 00000 n 
-0000400433 00000 n 
-0000398901 00000 n 
-0000400950 00000 n 
-0000401009 00000 n 
-0000401510 00000 n 
-0000401820 00000 n 
-0000402066 00000 n 
-0000402317 00000 n 
-0000402435 00000 n 
-0000404527 00000 n 
-0000404721 00000 n 
-0000404911 00000 n 
-0000405142 00000 n 
-0000405344 00000 n 
-0000405537 00000 n 
-0000405723 00000 n 
-0000405921 00000 n 
-0000406113 00000 n 
-0000406298 00000 n 
-0000406494 00000 n 
-0000408632 00000 n 
-0000406690 00000 n 
-0000407216 00000 n 
-0000404284 00000 n 
-0000402620 00000 n 
-0000406864 00000 n 
-0000407098 00000 n 
-0000407157 00000 n 
-0000408820 00000 n 
-0000409017 00000 n 
-0000409212 00000 n 
-0000409399 00000 n 
-0000409594 00000 n 
-0000409780 00000 n 
-0000409981 00000 n 
-0000410173 00000 n 
-0000410370 00000 n 
-0000410563 00000 n 
-0000410760 00000 n 
-0000410948 00000 n 
-0000411139 00000 n 
-0000411329 00000 n 
-0000411523 00000 n 
-0000411705 00000 n 
-0000411896 00000 n 
-0000413893 00000 n 
-0000412086 00000 n 
-0000412319 00000 n 
-0000408326 00000 n 
-0000407341 00000 n 
-0000412260 00000 n 
-0002865185 00000 n 
-0000414075 00000 n 
-0000414261 00000 n 
-0000414441 00000 n 
-0000414628 00000 n 
-0000414822 00000 n 
-0000415016 00000 n 
-0000415216 00000 n 
-0000415407 00000 n 
-0000415610 00000 n 
-0000415803 00000 n 
-0000415992 00000 n 
-0000416177 00000 n 
-0000416373 00000 n 
-0000416563 00000 n 
-0000419313 00000 n 
-0000416767 00000 n 
-0000417059 00000 n 
-0000413614 00000 n 
-0000412431 00000 n 
-0000416941 00000 n 
-0000417000 00000 n 
-0000419517 00000 n 
-0000419721 00000 n 
-0000419925 00000 n 
-0000420160 00000 n 
-0000420397 00000 n 
-0000420634 00000 n 
-0000420871 00000 n 
-0000421107 00000 n 
-0000421344 00000 n 
-0000421581 00000 n 
-0000421818 00000 n 
-0000422054 00000 n 
-0000422290 00000 n 
-0000422527 00000 n 
-0000422764 00000 n 
-0000423000 00000 n 
-0000423237 00000 n 
-0000423474 00000 n 
-0000423711 00000 n 
-0000423947 00000 n 
-0000424184 00000 n 
-0000424421 00000 n 
-0000424658 00000 n 
-0000424894 00000 n 
-0000425131 00000 n 
-0000425368 00000 n 
-0000425841 00000 n 
-0000426077 00000 n 
-0000426279 00000 n 
-0000426515 00000 n 
-0000426752 00000 n 
-0000426989 00000 n 
-0000427461 00000 n 
-0000427665 00000 n 
-0000427902 00000 n 
-0000428138 00000 n 
-0000428342 00000 n 
-0000428578 00000 n 
-0000428815 00000 n 
-0000429052 00000 n 
-0000429289 00000 n 
-0000429525 00000 n 
-0000429762 00000 n 
-0000429965 00000 n 
-0000430201 00000 n 
-0000430437 00000 n 
-0000430909 00000 n 
-0000431111 00000 n 
-0000431346 00000 n 
-0000431581 00000 n 
-0000431784 00000 n 
-0000432021 00000 n 
-0000432258 00000 n 
-0000434521 00000 n 
-0000434732 00000 n 
-0000432494 00000 n 
-0000432786 00000 n 
-0000418656 00000 n 
-0000417171 00000 n 
-0000432668 00000 n 
-0000432727 00000 n 
-0000425605 00000 n 
-0000427225 00000 n 
-0000430673 00000 n 
-0000434943 00000 n 
-0000435153 00000 n 
-0000435364 00000 n 
-0000435574 00000 n 
-0000435783 00000 n 
-0000435994 00000 n 
-0000436205 00000 n 
-0000436416 00000 n 
-0000436627 00000 n 
-0000436838 00000 n 
-0000437048 00000 n 
-0000437257 00000 n 
-0000437468 00000 n 
-0000437679 00000 n 
-0000441090 00000 n 
-0000441293 00000 n 
-0000441504 00000 n 
-0000437889 00000 n 
-0000438889 00000 n 
-0000434233 00000 n 
-0000432898 00000 n 
-0000438063 00000 n 
-0000438122 00000 n 
-0000438181 00000 n 
-0000438240 00000 n 
-0000438299 00000 n 
-0000438358 00000 n 
-0000438417 00000 n 
-0000438476 00000 n 
-0000438535 00000 n 
-0000438594 00000 n 
-0000438653 00000 n 
-0000438712 00000 n 
-0000438771 00000 n 
-0000438830 00000 n 
-0000454362 00000 n 
-0000454480 00000 n 
-0000458143 00000 n 
-0000458266 00000 n 
-0000441708 00000 n 
-0000441919 00000 n 
-0000442123 00000 n 
-0000442326 00000 n 
-0000442537 00000 n 
-0000442741 00000 n 
-0000442952 00000 n 
-0000443163 00000 n 
-0000443373 00000 n 
-0000443583 00000 n 
-0000443786 00000 n 
-0000443997 00000 n 
-0000444208 00000 n 
-0000444419 00000 n 
-0000444629 00000 n 
-0000444832 00000 n 
-0000445043 00000 n 
-0000445245 00000 n 
-0000445447 00000 n 
-0000445648 00000 n 
-0000445849 00000 n 
-0000446051 00000 n 
-0000449655 00000 n 
-0000449857 00000 n 
-0000450059 00000 n 
-0000450261 00000 n 
-0000446253 00000 n 
-0000447312 00000 n 
-0000440721 00000 n 
-0000439014 00000 n 
-0000446427 00000 n 
-0000446486 00000 n 
-0000446545 00000 n 
-0000446604 00000 n 
-0000446663 00000 n 
-0000446722 00000 n 
-0000446781 00000 n 
-0000446840 00000 n 
-0000446899 00000 n 
-0000446958 00000 n 
-0000447017 00000 n 
-0000447076 00000 n 
-0000447135 00000 n 
-0002859691 00000 n 
-0000447194 00000 n 
-0000447253 00000 n 
-0000458389 00000 n 
-0000450463 00000 n 
-0000450665 00000 n 
-0000450867 00000 n 
-0000451069 00000 n 
-0000451280 00000 n 
-0000451482 00000 n 
-0000451693 00000 n 
-0000451897 00000 n 
-0000452100 00000 n 
-0000452304 00000 n 
-0000452508 00000 n 
-0000452712 00000 n 
-0000452916 00000 n 
-0000453103 00000 n 
-0000453307 00000 n 
-0000454538 00000 n 
-0000449349 00000 n 
-0000447451 00000 n 
-0000453481 00000 n 
-0000453540 00000 n 
-0000453599 00000 n 
-0000453658 00000 n 
-0000453717 00000 n 
-0000453776 00000 n 
-0000453835 00000 n 
-0000453894 00000 n 
-0000453953 00000 n 
-0000454012 00000 n 
-0000454067 00000 n 
-0000454126 00000 n 
-0000454185 00000 n 
-0000454244 00000 n 
-0000454303 00000 n 
-0000454421 00000 n 
-0000456991 00000 n 
-0000457412 00000 n 
-0000457623 00000 n 
-0000457851 00000 n 
-0000458746 00000 n 
-0000456811 00000 n 
-0000454690 00000 n 
-0000458025 00000 n 
-0000458084 00000 n 
-0000457202 00000 n 
-0000458207 00000 n 
-0000458330 00000 n 
-0000458453 00000 n 
-0000458629 00000 n 
-0000458688 00000 n 
-0002865311 00000 n 
-0000461664 00000 n 
-0000460969 00000 n 
-0000461147 00000 n 
-0000461372 00000 n 
-0000461958 00000 n 
-0000460807 00000 n 
-0000458885 00000 n 
-0000461546 00000 n 
-0000461605 00000 n 
-0000461723 00000 n 
-0000461899 00000 n 
-0000926630 00000 n 
-0000464170 00000 n 
-0000464390 00000 n 
-0000464583 00000 n 
-0000464803 00000 n 
-0000465023 00000 n 
-0000465242 00000 n 
-0000465462 00000 n 
-0000465682 00000 n 
-0000465901 00000 n 
-0000466104 00000 n 
-0000466324 00000 n 
-0000466527 00000 n 
-0000466747 00000 n 
-0000466967 00000 n 
-0000467187 00000 n 
-0000467391 00000 n 
-0000467595 00000 n 
-0000467815 00000 n 
-0000468002 00000 n 
-0000471662 00000 n 
-0000471882 00000 n 
-0000472069 00000 n 
-0000468206 00000 n 
-0000469202 00000 n 
-0000463855 00000 n 
-0000462071 00000 n 
-0000468380 00000 n 
-0002859100 00000 n 
-0000468613 00000 n 
-0000468672 00000 n 
-0000468731 00000 n 
-0000468789 00000 n 
-0000468848 00000 n 
-0002861746 00000 n 
-0000468907 00000 n 
-0000468966 00000 n 
-0002859838 00000 n 
-0000469025 00000 n 
-0000469084 00000 n 
-0000469143 00000 n 
-0000627973 00000 n 
-0000555488 00000 n 
-0000555606 00000 n 
-0000472273 00000 n 
-0000472493 00000 n 
-0000472689 00000 n 
-0000472909 00000 n 
-0000473105 00000 n 
-0000473325 00000 n 
-0000473520 00000 n 
-0000473739 00000 n 
-0000473926 00000 n 
-0000474129 00000 n 
-0000474348 00000 n 
-0000474528 00000 n 
-0000474712 00000 n 
-0000474915 00000 n 
-0000475135 00000 n 
-0000475317 00000 n 
-0000475521 00000 n 
-0000475741 00000 n 
-0000475934 00000 n 
-0000476138 00000 n 
-0000476325 00000 n 
-0000476545 00000 n 
-0000476732 00000 n 
-0000476950 00000 n 
-0000477137 00000 n 
-0000477357 00000 n 
-0000477561 00000 n 
-0000477780 00000 n 
-0000477984 00000 n 
-0000478204 00000 n 
-0000478393 00000 n 
-0000478588 00000 n 
-0000478805 00000 n 
-0000479001 00000 n 
-0000479220 00000 n 
-0000479414 00000 n 
-0000482867 00000 n 
-0000483063 00000 n 
-0000479632 00000 n 
-0000480336 00000 n 
-0000471167 00000 n 
-0000469369 00000 n 
-0000479806 00000 n 
-0000479865 00000 n 
-0000479924 00000 n 
-0000479983 00000 n 
-0000480041 00000 n 
-0000480100 00000 n 
-0002860868 00000 n 
-0000480159 00000 n 
-0000480218 00000 n 
-0000480277 00000 n 
-0000555724 00000 n 
-0000558590 00000 n 
-0000558713 00000 n 
-0000558831 00000 n 
-0000558949 00000 n 
-0000559067 00000 n 
-0000561511 00000 n 
-0000561628 00000 n 
-0000483283 00000 n 
-0000483503 00000 n 
-0000483699 00000 n 
-0000483919 00000 n 
-0000484114 00000 n 
-0000484333 00000 n 
-0000484529 00000 n 
-0000484733 00000 n 
-0000484937 00000 n 
-0000485155 00000 n 
-0000485350 00000 n 
-0000485553 00000 n 
-0000485756 00000 n 
-0000485943 00000 n 
-0000486163 00000 n 
-0000486359 00000 n 
-0000486562 00000 n 
-0000486765 00000 n 
-0000486985 00000 n 
-0000487181 00000 n 
-0000487384 00000 n 
-0000487587 00000 n 
-0000487774 00000 n 
-0000487993 00000 n 
-0000488179 00000 n 
-0000488398 00000 n 
-0000488583 00000 n 
-0000488803 00000 n 
-0000488990 00000 n 
-0000489187 00000 n 
-0000489406 00000 n 
-0000489593 00000 n 
-0000489790 00000 n 
-0000490009 00000 n 
-0000490196 00000 n 
-0000490392 00000 n 
-0000490610 00000 n 
-0000490795 00000 n 
-0000491014 00000 n 
-0000493799 00000 n 
-0000491234 00000 n 
-0000491644 00000 n 
-0000482354 00000 n 
-0000480516 00000 n 
-0000491408 00000 n 
-0000491467 00000 n 
-0000491526 00000 n 
-0000491585 00000 n 
-0000564136 00000 n 
-0000564254 00000 n 
-0000564372 00000 n 
-0000564489 00000 n 
-0000567192 00000 n 
-0000567314 00000 n 
-0000567437 00000 n 
-0000569569 00000 n 
-0000569687 00000 n 
-0000569803 00000 n 
-0000569921 00000 n 
-0000570039 00000 n 
-0000494019 00000 n 
-0000494239 00000 n 
-0000494459 00000 n 
-0000494678 00000 n 
-0000494898 00000 n 
-0000495084 00000 n 
-0000495304 00000 n 
-0000495522 00000 n 
-0000495710 00000 n 
-0000495928 00000 n 
-0000496114 00000 n 
-0000496332 00000 n 
-0000496520 00000 n 
-0000496740 00000 n 
-0000496926 00000 n 
-0000497144 00000 n 
-0000497340 00000 n 
-0000497558 00000 n 
-0000497754 00000 n 
-0000497974 00000 n 
-0000498169 00000 n 
-0000498389 00000 n 
-0000498585 00000 n 
-0000498801 00000 n 
-0000498994 00000 n 
-0000499214 00000 n 
-0000499410 00000 n 
-0000499629 00000 n 
-0000499846 00000 n 
-0000503413 00000 n 
-0000503633 00000 n 
-0000500041 00000 n 
-0000500569 00000 n 
-0000493385 00000 n 
-0000491783 00000 n 
-0000500215 00000 n 
-0000500274 00000 n 
-0000500333 00000 n 
-0000500392 00000 n 
-0000500451 00000 n 
-0000500510 00000 n 
-0000570157 00000 n 
-0000572919 00000 n 
-0000573155 00000 n 
-0000576078 00000 n 
-0000576195 00000 n 
-0000579530 00000 n 
-0000583180 00000 n 
-0000503829 00000 n 
-0000504047 00000 n 
-0000504235 00000 n 
-0000504451 00000 n 
-0000504638 00000 n 
-0000504855 00000 n 
-0000505051 00000 n 
-0000505269 00000 n 
-0000505465 00000 n 
-0000505683 00000 n 
-0000505869 00000 n 
-0000506033 00000 n 
-0000506251 00000 n 
-0000506443 00000 n 
-0000506608 00000 n 
-0000506826 00000 n 
-0000507013 00000 n 
-0000507233 00000 n 
-0000507420 00000 n 
-0000507638 00000 n 
-0000507823 00000 n 
-0000508043 00000 n 
-0000508230 00000 n 
-0000508450 00000 n 
-0000508635 00000 n 
-0000508853 00000 n 
-0000509040 00000 n 
-0000509260 00000 n 
-0000509447 00000 n 
-0000509626 00000 n 
-0000509846 00000 n 
-0000510032 00000 n 
-0000510228 00000 n 
-0000510407 00000 n 
-0000510626 00000 n 
-0000510811 00000 n 
-0000514809 00000 n 
-0000514988 00000 n 
-0000515208 00000 n 
-0000515394 00000 n 
-0000515598 00000 n 
-0000511006 00000 n 
-0000511239 00000 n 
-0000502927 00000 n 
-0000500708 00000 n 
-0000511180 00000 n 
-0002865437 00000 n 
-0000583415 00000 n 
-0000585903 00000 n 
-0000586021 00000 n 
-0000586139 00000 n 
-0000586257 00000 n 
-0000586375 00000 n 
-0000589374 00000 n 
-0000589610 00000 n 
-0000593181 00000 n 
-0000593299 00000 n 
-0000593417 00000 n 
-0000593535 00000 n 
-0000596469 00000 n 
-0000515794 00000 n 
-0000515970 00000 n 
-0000516190 00000 n 
-0000516386 00000 n 
-0000516590 00000 n 
-0000516786 00000 n 
-0000516963 00000 n 
-0000517183 00000 n 
-0000517369 00000 n 
-0000517573 00000 n 
-0000517965 00000 n 
-0000518142 00000 n 
-0000518362 00000 n 
-0000518558 00000 n 
-0000518762 00000 n 
-0000518958 00000 n 
-0000519135 00000 n 
-0000519355 00000 n 
-0000519540 00000 n 
-0000519736 00000 n 
-0000520128 00000 n 
-0000520315 00000 n 
-0000520534 00000 n 
-0000520719 00000 n 
-0000520914 00000 n 
-0000521305 00000 n 
-0000521492 00000 n 
-0000521709 00000 n 
-0000521896 00000 n 
-0000522065 00000 n 
-0000522283 00000 n 
-0000522499 00000 n 
-0000522684 00000 n 
-0000522850 00000 n 
-0000523070 00000 n 
-0000523257 00000 n 
-0000523424 00000 n 
-0000523642 00000 n 
-0000523829 00000 n 
-0000523993 00000 n 
-0000524213 00000 n 
-0000524400 00000 n 
-0000524596 00000 n 
-0000524759 00000 n 
-0000524975 00000 n 
-0000528374 00000 n 
-0000525160 00000 n 
-0000525452 00000 n 
-0000514188 00000 n 
-0000511378 00000 n 
-0000525334 00000 n 
-0002860575 00000 n 
-0000517769 00000 n 
-0000519932 00000 n 
-0000521109 00000 n 
-0000525393 00000 n 
-0000596587 00000 n 
-0000596705 00000 n 
-0000600054 00000 n 
-0000600172 00000 n 
-0000600290 00000 n 
-0000603613 00000 n 
-0000603731 00000 n 
-0000603849 00000 n 
-0000607253 00000 n 
-0000607371 00000 n 
-0000607489 00000 n 
-0000611364 00000 n 
-0000528708 00000 n 
-0000528928 00000 n 
-0000529115 00000 n 
-0000529311 00000 n 
-0000529478 00000 n 
-0000529696 00000 n 
-0000529883 00000 n 
-0000530043 00000 n 
-0000530260 00000 n 
-0000530447 00000 n 
-0000530667 00000 n 
-0000530854 00000 n 
-0000531050 00000 n 
-0000531209 00000 n 
-0000531427 00000 n 
-0000531631 00000 n 
-0000531849 00000 n 
-0000532052 00000 n 
-0000532270 00000 n 
-0000532454 00000 n 
-0000532625 00000 n 
-0000532842 00000 n 
-0000533034 00000 n 
-0000533252 00000 n 
-0000533456 00000 n 
-0000533674 00000 n 
-0000533865 00000 n 
-0000534083 00000 n 
-0000534269 00000 n 
-0000534473 00000 n 
-0000534690 00000 n 
-0000534882 00000 n 
-0000535068 00000 n 
-0000535272 00000 n 
-0000535492 00000 n 
-0000538545 00000 n 
-0000535710 00000 n 
-0000536179 00000 n 
-0000527897 00000 n 
-0000525673 00000 n 
-0000535884 00000 n 
-0000528541 00000 n 
-0000535943 00000 n 
-0000536002 00000 n 
-0000536061 00000 n 
-0000536120 00000 n 
-0000611482 00000 n 
-0000615242 00000 n 
-0000615360 00000 n 
-0000615478 00000 n 
-0000615596 00000 n 
-0000619309 00000 n 
-0000619427 00000 n 
-0000619545 00000 n 
-0000619661 00000 n 
-0000623787 00000 n 
-0000623909 00000 n 
-0000538765 00000 n 
-0000538984 00000 n 
-0000539171 00000 n 
-0000539358 00000 n 
-0000539578 00000 n 
-0000539765 00000 n 
-0000539985 00000 n 
-0000540172 00000 n 
-0000540359 00000 n 
-0000540579 00000 n 
-0000540772 00000 n 
-0000540958 00000 n 
-0000541143 00000 n 
-0000541346 00000 n 
-0000541565 00000 n 
-0000541757 00000 n 
-0000541943 00000 n 
-0000542130 00000 n 
-0000542333 00000 n 
-0000542551 00000 n 
-0000542743 00000 n 
-0000542929 00000 n 
-0000543114 00000 n 
-0000543317 00000 n 
-0000543536 00000 n 
-0000543729 00000 n 
-0000543914 00000 n 
-0000544100 00000 n 
-0000544302 00000 n 
-0000544522 00000 n 
-0000544715 00000 n 
-0000544899 00000 n 
-0000545082 00000 n 
-0000549460 00000 n 
-0000549680 00000 n 
-0000549873 00000 n 
-0000550059 00000 n 
-0000550246 00000 n 
-0000545283 00000 n 
-0000545693 00000 n 
-0000538095 00000 n 
-0000536345 00000 n 
-0000545457 00000 n 
-0000545516 00000 n 
-0000545575 00000 n 
-0000545634 00000 n 
-0000628155 00000 n 
-0000628273 00000 n 
-0000628396 00000 n 
-0000628519 00000 n 
-0000631029 00000 n 
-0000631152 00000 n 
-0000631274 00000 n 
-0000631397 00000 n 
-0000550449 00000 n 
-0000550669 00000 n 
-0000550856 00000 n 
-0000551229 00000 n 
-0000551420 00000 n 
-0000551608 00000 n 
-0000551794 00000 n 
-0000552145 00000 n 
-0000549208 00000 n 
-0000545859 00000 n 
-0000551968 00000 n 
-0000551043 00000 n 
-0000552027 00000 n 
-0000552086 00000 n 
-0000634314 00000 n 
-0000634437 00000 n 
-0000555008 00000 n 
-0000555196 00000 n 
-0000555787 00000 n 
-0000554855 00000 n 
-0000552349 00000 n 
-0000555370 00000 n 
-0000555429 00000 n 
-0000555547 00000 n 
-0000555665 00000 n 
-0000558124 00000 n 
-0000558298 00000 n 
-0000559130 00000 n 
-0000557971 00000 n 
-0000555976 00000 n 
-0000558472 00000 n 
-0000558531 00000 n 
-0000558654 00000 n 
-0000558772 00000 n 
-0000558890 00000 n 
-0000559008 00000 n 
-0002865563 00000 n 
-0000561219 00000 n 
-0000561746 00000 n 
-0000561075 00000 n 
-0000559256 00000 n 
-0000561393 00000 n 
-0000561452 00000 n 
-0000561570 00000 n 
-0000561687 00000 n 
-0000563844 00000 n 
-0000564611 00000 n 
-0000563700 00000 n 
-0000561872 00000 n 
-0000564018 00000 n 
-0000564077 00000 n 
-0000564195 00000 n 
-0000564313 00000 n 
-0000564430 00000 n 
-0000564553 00000 n 
-0000566959 00000 n 
-0000567500 00000 n 
-0000566815 00000 n 
-0000564750 00000 n 
-0000567133 00000 n 
-0000567255 00000 n 
-0000567378 00000 n 
-0000569277 00000 n 
-0000570215 00000 n 
-0000569133 00000 n 
-0000567639 00000 n 
-0000569451 00000 n 
-0000569510 00000 n 
-0000569628 00000 n 
-0000569746 00000 n 
-0000569862 00000 n 
-0000569980 00000 n 
-0000570098 00000 n 
-0000572262 00000 n 
-0000572433 00000 n 
-0000572627 00000 n 
-0000573331 00000 n 
-0000572100 00000 n 
-0000570354 00000 n 
-0000572801 00000 n 
-0000572860 00000 n 
-0000572978 00000 n 
-0000573096 00000 n 
-0000573214 00000 n 
-0000575421 00000 n 
-0000575592 00000 n 
-0000575786 00000 n 
-0000576371 00000 n 
-0000575259 00000 n 
-0000573470 00000 n 
-0000575960 00000 n 
-0000576019 00000 n 
-0000576137 00000 n 
-0000576254 00000 n 
-0002865689 00000 n 
-0000578391 00000 n 
-0000578562 00000 n 
-0000578756 00000 n 
-0000578927 00000 n 
-0000579121 00000 n 
-0000579647 00000 n 
-0000578211 00000 n 
-0000576510 00000 n 
-0000579295 00000 n 
-0000579354 00000 n 
-0000579472 00000 n 
-0000579588 00000 n 
-0000581884 00000 n 
-0000582102 00000 n 
-0000582273 00000 n 
-0000582466 00000 n 
-0000582636 00000 n 
-0000582829 00000 n 
-0000583533 00000 n 
-0000581695 00000 n 
-0000579786 00000 n 
-0000583003 00000 n 
-0000583121 00000 n 
-0000583239 00000 n 
-0000583356 00000 n 
-0000583474 00000 n 
-0000585507 00000 n 
-0000585670 00000 n 
-0000586433 00000 n 
-0000585354 00000 n 
-0000583672 00000 n 
-0000585844 00000 n 
-0000585962 00000 n 
-0000586080 00000 n 
-0000586198 00000 n 
-0000586316 00000 n 
-0000588366 00000 n 
-0000588531 00000 n 
-0000588717 00000 n 
-0000588888 00000 n 
-0000589082 00000 n 
-0000589787 00000 n 
-0000588186 00000 n 
-0000586572 00000 n 
-0000589256 00000 n 
-0000589315 00000 n 
-0000589433 00000 n 
-0000589551 00000 n 
-0000589669 00000 n 
-0000592167 00000 n 
-0000592338 00000 n 
-0000592532 00000 n 
-0000592711 00000 n 
-0000592889 00000 n 
-0000593653 00000 n 
-0000591987 00000 n 
-0000589926 00000 n 
-0000593063 00000 n 
-0000593122 00000 n 
-0000593240 00000 n 
-0000593358 00000 n 
-0000593476 00000 n 
-0000593594 00000 n 
-0000595881 00000 n 
-0000596059 00000 n 
-0000599231 00000 n 
-0000596236 00000 n 
-0000596764 00000 n 
-0000595719 00000 n 
-0000593792 00000 n 
-0000596410 00000 n 
-0000596528 00000 n 
-0000596646 00000 n 
-0002865815 00000 n 
-0000599408 00000 n 
-0000599585 00000 n 
-0000599762 00000 n 
-0000600348 00000 n 
-0000599060 00000 n 
-0000596940 00000 n 
-0000599936 00000 n 
-0000599995 00000 n 
-0000600113 00000 n 
-0000600231 00000 n 
-0000602778 00000 n 
-0000602965 00000 n 
-0000603152 00000 n 
-0000605961 00000 n 
-0000603321 00000 n 
-0000603908 00000 n 
-0000602607 00000 n 
-0000600524 00000 n 
-0000603495 00000 n 
-0000603554 00000 n 
-0000603672 00000 n 
-0000603790 00000 n 
-0000606128 00000 n 
-0000606295 00000 n 
-0000606461 00000 n 
-0000606629 00000 n 
-0000606793 00000 n 
-0000610240 00000 n 
-0000606961 00000 n 
-0000607548 00000 n 
-0000605763 00000 n 
-0000604084 00000 n 
-0000607135 00000 n 
-0000607194 00000 n 
-0000607312 00000 n 
-0000607430 00000 n 
-0000610404 00000 n 
-0000610572 00000 n 
-0000610739 00000 n 
-0000610906 00000 n 
-0000611072 00000 n 
-0000611599 00000 n 
-0000610051 00000 n 
-0000607700 00000 n 
-0000611246 00000 n 
-0000611305 00000 n 
-0000611423 00000 n 
-0002862042 00000 n 
-0000611541 00000 n 
-0000614353 00000 n 
-0000614514 00000 n 
-0000614682 00000 n 
-0000614841 00000 n 
-0000615009 00000 n 
-0000615654 00000 n 
-0000614173 00000 n 
-0000611778 00000 n 
-0000615183 00000 n 
-0000615301 00000 n 
-0000615419 00000 n 
-0000615537 00000 n 
-0000618254 00000 n 
-0000618426 00000 n 
-0000618645 00000 n 
-0000618831 00000 n 
-0000622724 00000 n 
-0000619017 00000 n 
-0000619720 00000 n 
-0000618074 00000 n 
-0000615855 00000 n 
-0000619191 00000 n 
-0000619250 00000 n 
-0000619368 00000 n 
-0000619486 00000 n 
-0000619603 00000 n 
-0002865941 00000 n 
-0000622915 00000 n 
-0000623105 00000 n 
-0000623325 00000 n 
-0000627200 00000 n 
-0000627385 00000 n 
-0000623495 00000 n 
-0000624031 00000 n 
-0000622544 00000 n 
-0000619908 00000 n 
-0000623669 00000 n 
-0000623728 00000 n 
-0000623851 00000 n 
-0000623972 00000 n 
-0000627571 00000 n 
-0000627740 00000 n 
-0000628641 00000 n 
-0000627029 00000 n 
-0000624182 00000 n 
-0000627914 00000 n 
-0000628037 00000 n 
-0000628096 00000 n 
-0000628214 00000 n 
-0000628337 00000 n 
-0000628460 00000 n 
-0000628582 00000 n 
-0000630796 00000 n 
-0000631460 00000 n 
-0000630652 00000 n 
-0000628792 00000 n 
-0000630970 00000 n 
-0000631093 00000 n 
-0000631216 00000 n 
-0000631338 00000 n 
-0000633813 00000 n 
-0000636744 00000 n 
-0000634022 00000 n 
-0000634735 00000 n 
-0000633660 00000 n 
-0000631586 00000 n 
-0000634196 00000 n 
-0000634255 00000 n 
-0000634378 00000 n 
-0000634501 00000 n 
-0000634676 00000 n 
-0000636973 00000 n 
-0000637202 00000 n 
-0000637390 00000 n 
-0000637619 00000 n 
-0000637816 00000 n 
-0000638045 00000 n 
-0000638274 00000 n 
-0000638470 00000 n 
-0000638699 00000 n 
-0000638886 00000 n 
-0000639083 00000 n 
-0000639965 00000 n 
-0000636501 00000 n 
-0000634887 00000 n 
-0000639257 00000 n 
-0000639316 00000 n 
-0000639375 00000 n 
-0000639434 00000 n 
-0000639493 00000 n 
-0000639552 00000 n 
-0000639611 00000 n 
-0000639670 00000 n 
-0000639729 00000 n 
-0000639788 00000 n 
-0000639847 00000 n 
-0000642153 00000 n 
-0000642395 00000 n 
-0000642592 00000 n 
-0000642789 00000 n 
-0000643002 00000 n 
-0000643216 00000 n 
-0000643402 00000 n 
-0000643616 00000 n 
-0000643802 00000 n 
-0000644016 00000 n 
-0000644220 00000 n 
-0000644424 00000 n 
-0000644628 00000 n 
-0000644842 00000 n 
-0000645046 00000 n 
-0000645250 00000 n 
-0000648516 00000 n 
-0000648711 00000 n 
-0000645454 00000 n 
-0000646215 00000 n 
-0000641865 00000 n 
-0000640130 00000 n 
-0000645628 00000 n 
-0000645745 00000 n 
-0000645804 00000 n 
-0000645863 00000 n 
-0000646038 00000 n 
-0000646097 00000 n 
-0000646156 00000 n 
-0002866067 00000 n 
-0000787307 00000 n 
-0000787430 00000 n 
-0000787548 00000 n 
-0000787663 00000 n 
-0000648925 00000 n 
-0000649120 00000 n 
-0000649334 00000 n 
-0000649529 00000 n 
-0000649743 00000 n 
-0000649938 00000 n 
-0000650152 00000 n 
-0000650355 00000 n 
-0000650569 00000 n 
-0000650771 00000 n 
-0000650984 00000 n 
-0000651198 00000 n 
-0000651412 00000 n 
-0000651626 00000 n 
-0000651840 00000 n 
-0000652054 00000 n 
-0000652258 00000 n 
-0000652462 00000 n 
-0000652676 00000 n 
-0000652857 00000 n 
-0000653061 00000 n 
-0000653275 00000 n 
-0000653456 00000 n 
-0000653660 00000 n 
-0000653874 00000 n 
-0000654070 00000 n 
-0000654283 00000 n 
-0000654478 00000 n 
-0000654670 00000 n 
-0000654883 00000 n 
-0000658435 00000 n 
-0000658649 00000 n 
-0000658844 00000 n 
-0000655077 00000 n 
-0000655899 00000 n 
-0000648084 00000 n 
-0000646354 00000 n 
-0000655251 00000 n 
-0000655310 00000 n 
-0000655369 00000 n 
-0000655428 00000 n 
-0000655487 00000 n 
-0000655546 00000 n 
-0000655605 00000 n 
-0000655664 00000 n 
-0000655722 00000 n 
-0000655781 00000 n 
-0000655840 00000 n 
-0000726292 00000 n 
-0000726410 00000 n 
-0000726528 00000 n 
-0000729283 00000 n 
-0000729406 00000 n 
-0000729524 00000 n 
-0000659037 00000 n 
-0000659251 00000 n 
-0000659447 00000 n 
-0000659661 00000 n 
-0000659857 00000 n 
-0000660049 00000 n 
-0000660263 00000 n 
-0000660450 00000 n 
-0000660654 00000 n 
-0000660868 00000 n 
-0000661062 00000 n 
-0000661266 00000 n 
-0000661480 00000 n 
-0000661668 00000 n 
-0000661872 00000 n 
-0000662086 00000 n 
-0000662268 00000 n 
-0000662472 00000 n 
-0000662686 00000 n 
-0000662891 00000 n 
-0000663094 00000 n 
-0000663275 00000 n 
-0000663489 00000 n 
-0000663670 00000 n 
-0000663882 00000 n 
-0000664063 00000 n 
-0000664267 00000 n 
-0000664480 00000 n 
-0000664683 00000 n 
-0000664896 00000 n 
-0000665085 00000 n 
-0000665299 00000 n 
-0000665511 00000 n 
-0000665725 00000 n 
-0000669106 00000 n 
-0000669320 00000 n 
-0000665939 00000 n 
-0000666643 00000 n 
-0000657958 00000 n 
-0000656066 00000 n 
-0000666113 00000 n 
-0000666172 00000 n 
-0000666230 00000 n 
-0000666289 00000 n 
-0000666348 00000 n 
-0000666407 00000 n 
-0000666466 00000 n 
-0000666525 00000 n 
-0000666584 00000 n 
-0000729641 00000 n 
-0000732459 00000 n 
-0000732577 00000 n 
-0000732695 00000 n 
-0000732813 00000 n 
-0000732936 00000 n 
-0000733059 00000 n 
-0000735654 00000 n 
-0000669533 00000 n 
-0000669747 00000 n 
-0000669933 00000 n 
-0000670130 00000 n 
-0000670343 00000 n 
-0000670530 00000 n 
-0000670726 00000 n 
-0000670938 00000 n 
-0000671124 00000 n 
-0000671321 00000 n 
-0000671534 00000 n 
-0000671720 00000 n 
-0000671934 00000 n 
-0000672130 00000 n 
-0000672344 00000 n 
-0000672539 00000 n 
-0000672752 00000 n 
-0000672948 00000 n 
-0000673152 00000 n 
-0000673356 00000 n 
-0000673568 00000 n 
-0000673763 00000 n 
-0000673966 00000 n 
-0000674169 00000 n 
-0000674356 00000 n 
-0000674570 00000 n 
-0000674766 00000 n 
-0000674969 00000 n 
-0000675172 00000 n 
-0000675386 00000 n 
-0000675582 00000 n 
-0000675785 00000 n 
-0000675988 00000 n 
-0000676175 00000 n 
-0000676389 00000 n 
-0000676570 00000 n 
-0000676784 00000 n 
-0000676964 00000 n 
-0000677178 00000 n 
-0000677359 00000 n 
-0000680237 00000 n 
-0000680449 00000 n 
-0000677573 00000 n 
-0000677983 00000 n 
-0000668584 00000 n 
-0000666810 00000 n 
-0000677747 00000 n 
-0000677806 00000 n 
-0000677865 00000 n 
-0000677924 00000 n 
-0000735836 00000 n 
-0000735954 00000 n 
-0000736072 00000 n 
-0000736190 00000 n 
-0000736308 00000 n 
-0000738744 00000 n 
-0000738861 00000 n 
-0000738979 00000 n 
-0000741686 00000 n 
-0000741809 00000 n 
-0000741932 00000 n 
-0000744412 00000 n 
-0000744530 00000 n 
-0000680637 00000 n 
-0000680849 00000 n 
-0000681045 00000 n 
-0000681257 00000 n 
-0000681453 00000 n 
-0000681663 00000 n 
-0000681849 00000 n 
-0000682061 00000 n 
-0000682256 00000 n 
-0000682468 00000 n 
-0000682664 00000 n 
-0000682876 00000 n 
-0000683064 00000 n 
-0000683275 00000 n 
-0000683471 00000 n 
-0000683681 00000 n 
-0000683868 00000 n 
-0000684080 00000 n 
-0000684276 00000 n 
-0000684488 00000 n 
-0000684676 00000 n 
-0000684888 00000 n 
-0000685084 00000 n 
-0000685296 00000 n 
-0000685482 00000 n 
-0000685646 00000 n 
-0000685858 00000 n 
-0000686050 00000 n 
-0000686215 00000 n 
-0000686426 00000 n 
-0000686606 00000 n 
-0000686818 00000 n 
-0000686997 00000 n 
-0000687210 00000 n 
-0000691188 00000 n 
-0000691400 00000 n 
-0000687388 00000 n 
-0000687621 00000 n 
-0000679769 00000 n 
-0000678122 00000 n 
-0000687562 00000 n 
-0000744648 00000 n 
-0000744766 00000 n 
-0000744884 00000 n 
-0000747202 00000 n 
-0000747320 00000 n 
-0000747438 00000 n 
-0000749523 00000 n 
-0000749641 00000 n 
-0000749759 00000 n 
-0000749877 00000 n 
-0000752207 00000 n 
-0000752324 00000 n 
-0000752442 00000 n 
-0000752560 00000 n 
-0000755325 00000 n 
-0000755443 00000 n 
-0000755561 00000 n 
-0000691581 00000 n 
-0000691795 00000 n 
-0000691976 00000 n 
-0000692155 00000 n 
-0000692369 00000 n 
-0000692555 00000 n 
-0000692751 00000 n 
-0000692929 00000 n 
-0000693142 00000 n 
-0000693327 00000 n 
-0000693522 00000 n 
-0000693701 00000 n 
-0000693915 00000 n 
-0000694101 00000 n 
-0000694305 00000 n 
-0000694501 00000 n 
-0000694678 00000 n 
-0000694892 00000 n 
-0000695078 00000 n 
-0000695282 00000 n 
-0000695674 00000 n 
-0000695850 00000 n 
-0000696064 00000 n 
-0000696260 00000 n 
-0000696464 00000 n 
-0000696660 00000 n 
-0000696837 00000 n 
-0000697051 00000 n 
-0000697247 00000 n 
-0000697451 00000 n 
-0000697647 00000 n 
-0000697823 00000 n 
-0000698037 00000 n 
-0000698222 00000 n 
-0000698418 00000 n 
-0000698810 00000 n 
-0000698997 00000 n 
-0000699211 00000 n 
-0000699397 00000 n 
-0000699593 00000 n 
-0000699984 00000 n 
-0000700171 00000 n 
-0000700381 00000 n 
-0000700561 00000 n 
-0000700730 00000 n 
-0000704094 00000 n 
-0000704306 00000 n 
-0000704487 00000 n 
-0000700942 00000 n 
-0000701234 00000 n 
-0000690594 00000 n 
-0000687760 00000 n 
-0000701116 00000 n 
-0000695478 00000 n 
-0000698614 00000 n 
-0000699789 00000 n 
-0000701175 00000 n 
-0000755678 00000 n 
-0000755796 00000 n 
-0000759528 00000 n 
-0000759646 00000 n 
-0000759764 00000 n 
-0000762758 00000 n 
-0000762874 00000 n 
-0000762992 00000 n 
-0000766620 00000 n 
-0000766738 00000 n 
-0000770367 00000 n 
-0000704654 00000 n 
-0000704866 00000 n 
-0000705047 00000 n 
-0000705213 00000 n 
-0000705424 00000 n 
-0000705605 00000 n 
-0000705819 00000 n 
-0000706000 00000 n 
-0000706196 00000 n 
-0000706363 00000 n 
-0000706575 00000 n 
-0000706756 00000 n 
-0000707090 00000 n 
-0000707302 00000 n 
-0000707506 00000 n 
-0000707717 00000 n 
-0000707919 00000 n 
-0000708131 00000 n 
-0000708310 00000 n 
-0000708521 00000 n 
-0000708713 00000 n 
-0000708925 00000 n 
-0000709129 00000 n 
-0000709341 00000 n 
-0000709532 00000 n 
-0000709743 00000 n 
-0000709928 00000 n 
-0000710131 00000 n 
-0000710342 00000 n 
-0000710534 00000 n 
-0000710720 00000 n 
-0000710924 00000 n 
-0000711138 00000 n 
-0000714054 00000 n 
-0000714268 00000 n 
-0000711317 00000 n 
-0000711727 00000 n 
-0000703617 00000 n 
-0000701428 00000 n 
-0000711491 00000 n 
-0000711550 00000 n 
-0000706923 00000 n 
-0000711609 00000 n 
-0000711668 00000 n 
-0002866193 00000 n 
-0000770485 00000 n 
-0000770603 00000 n 
-0000770721 00000 n 
-0000774353 00000 n 
-0000774471 00000 n 
-0000774586 00000 n 
-0000778578 00000 n 
-0000778695 00000 n 
-0000778818 00000 n 
-0000778936 00000 n 
-0000783077 00000 n 
-0000783199 00000 n 
-0000714482 00000 n 
-0000714695 00000 n 
-0000714876 00000 n 
-0000715057 00000 n 
-0000715271 00000 n 
-0000715452 00000 n 
-0000715633 00000 n 
-0000715846 00000 n 
-0000716026 00000 n 
-0000716239 00000 n 
-0000716431 00000 n 
-0000716611 00000 n 
-0000716790 00000 n 
-0000716994 00000 n 
-0000717207 00000 n 
-0000717399 00000 n 
-0000717578 00000 n 
-0000717756 00000 n 
-0000717959 00000 n 
-0000718170 00000 n 
-0000718361 00000 n 
-0000718541 00000 n 
-0000718720 00000 n 
-0000718924 00000 n 
-0000719137 00000 n 
-0000719330 00000 n 
-0000719509 00000 n 
-0000719687 00000 n 
-0000719890 00000 n 
-0000720104 00000 n 
-0000720297 00000 n 
-0000720475 00000 n 
-0000720652 00000 n 
-0000724182 00000 n 
-0000724396 00000 n 
-0000724589 00000 n 
-0000724769 00000 n 
-0000724948 00000 n 
-0000720854 00000 n 
-0000721323 00000 n 
-0000713595 00000 n 
-0000711893 00000 n 
-0000721028 00000 n 
-0000721087 00000 n 
-0000721146 00000 n 
-0000721205 00000 n 
-0000721264 00000 n 
-0000790993 00000 n 
-0000791111 00000 n 
-0000791234 00000 n 
-0000791357 00000 n 
-0000791475 00000 n 
-0000794088 00000 n 
-0000794211 00000 n 
-0000794334 00000 n 
-0000725152 00000 n 
-0000725331 00000 n 
-0000725512 00000 n 
-0000725691 00000 n 
-0000725882 00000 n 
-0000726591 00000 n 
-0000723957 00000 n 
-0000721462 00000 n 
-0000726056 00000 n 
-0000726115 00000 n 
-0000726174 00000 n 
-0000726233 00000 n 
-0000726351 00000 n 
-0000726469 00000 n 
-0000801675 00000 n 
-0000728677 00000 n 
-0000728834 00000 n 
-0000728991 00000 n 
-0000729759 00000 n 
-0000728515 00000 n 
-0000726771 00000 n 
-0000729165 00000 n 
-0000729224 00000 n 
-0000729347 00000 n 
-0000729465 00000 n 
-0000729582 00000 n 
-0000729700 00000 n 
-0000732226 00000 n 
-0000733122 00000 n 
-0000732082 00000 n 
-0000729885 00000 n 
-0000732400 00000 n 
-0000732518 00000 n 
-0000732636 00000 n 
-0000732754 00000 n 
-0000732877 00000 n 
-0000733000 00000 n 
-0000735362 00000 n 
-0000736366 00000 n 
-0000735218 00000 n 
-0000733248 00000 n 
-0000735536 00000 n 
-0000735595 00000 n 
-0000735718 00000 n 
-0000735777 00000 n 
-0000735895 00000 n 
-0000736013 00000 n 
-0000736131 00000 n 
-0000736249 00000 n 
-0000738452 00000 n 
-0000739102 00000 n 
-0000738308 00000 n 
-0000736505 00000 n 
-0000738626 00000 n 
-0000738685 00000 n 
-0000738803 00000 n 
-0000738920 00000 n 
-0000739043 00000 n 
-0002866319 00000 n 
-0000741453 00000 n 
-0000741995 00000 n 
-0000741309 00000 n 
-0000739241 00000 n 
-0000741627 00000 n 
-0000741750 00000 n 
-0000741873 00000 n 
-0000743939 00000 n 
-0000744120 00000 n 
-0000744942 00000 n 
-0000743786 00000 n 
-0000742134 00000 n 
-0000744294 00000 n 
-0000744353 00000 n 
-0000744471 00000 n 
-0000744589 00000 n 
-0000744707 00000 n 
-0000744825 00000 n 
-0000746910 00000 n 
-0000747556 00000 n 
-0000746766 00000 n 
-0000745081 00000 n 
-0000747084 00000 n 
-0000747143 00000 n 
-0000747261 00000 n 
-0000747379 00000 n 
-0000747497 00000 n 
-0000749290 00000 n 
-0000749936 00000 n 
-0000749146 00000 n 
-0000747695 00000 n 
-0000749464 00000 n 
-0000749582 00000 n 
-0000749700 00000 n 
-0000749818 00000 n 
-0000751752 00000 n 
-0000754682 00000 n 
-0000751915 00000 n 
-0000752617 00000 n 
-0000751599 00000 n 
-0000750075 00000 n 
-0000752089 00000 n 
-0000752148 00000 n 
-0000752266 00000 n 
-0000752383 00000 n 
-0000752501 00000 n 
-0000754847 00000 n 
-0000758525 00000 n 
-0000755033 00000 n 
-0000755854 00000 n 
-0000754520 00000 n 
-0000752756 00000 n 
-0000755207 00000 n 
-0000755266 00000 n 
-0000755384 00000 n 
-0000755502 00000 n 
-0000755619 00000 n 
-0000755737 00000 n 
-0002866445 00000 n 
-0000758704 00000 n 
-0000758881 00000 n 
-0000759060 00000 n 
-0000759236 00000 n 
-0000759881 00000 n 
-0000758345 00000 n 
-0000755993 00000 n 
-0000759410 00000 n 
-0000759469 00000 n 
-0000759587 00000 n 
-0000759705 00000 n 
-0000759822 00000 n 
-0000762171 00000 n 
-0000762348 00000 n 
-0000765778 00000 n 
-0000762525 00000 n 
-0000763051 00000 n 
-0000762009 00000 n 
-0000760057 00000 n 
-0000762699 00000 n 
-0000762816 00000 n 
-0000762933 00000 n 
-0000765955 00000 n 
-0000766142 00000 n 
-0000766328 00000 n 
-0000766855 00000 n 
-0000765607 00000 n 
-0000763227 00000 n 
-0000766502 00000 n 
-0000766561 00000 n 
-0000766679 00000 n 
-0000766797 00000 n 
-0000769299 00000 n 
-0000769468 00000 n 
-0000769634 00000 n 
-0000769802 00000 n 
-0000769968 00000 n 
-0000770134 00000 n 
-0000770839 00000 n 
-0000769110 00000 n 
-0000767031 00000 n 
-0000770308 00000 n 
-0000770426 00000 n 
-0000770544 00000 n 
-0000770662 00000 n 
-0000770780 00000 n 
-0000773605 00000 n 
-0000773773 00000 n 
-0000773939 00000 n 
-0000774120 00000 n 
-0000774645 00000 n 
-0000773434 00000 n 
-0000770991 00000 n 
-0000774294 00000 n 
-0000774412 00000 n 
-0000774528 00000 n 
-0000777914 00000 n 
-0000778100 00000 n 
-0000778286 00000 n 
-0000778994 00000 n 
-0000777752 00000 n 
-0000774861 00000 n 
-0000778460 00000 n 
-0000778519 00000 n 
-0000778636 00000 n 
-0000778759 00000 n 
-0000778877 00000 n 
-0002866571 00000 n 
-0000782020 00000 n 
-0000782211 00000 n 
-0000782401 00000 n 
-0000782615 00000 n 
-0000786534 00000 n 
-0000786719 00000 n 
-0000782785 00000 n 
-0000783321 00000 n 
-0000781840 00000 n 
-0000779195 00000 n 
-0000782959 00000 n 
-0000783018 00000 n 
-0000783141 00000 n 
-0000783262 00000 n 
-0000786905 00000 n 
-0000787074 00000 n 
-0000787786 00000 n 
-0000786363 00000 n 
-0000783472 00000 n 
-0000787248 00000 n 
-0000787371 00000 n 
-0000787489 00000 n 
-0000787606 00000 n 
-0000787727 00000 n 
-0000790701 00000 n 
-0000791598 00000 n 
-0000790557 00000 n 
-0000787937 00000 n 
-0000790875 00000 n 
-0000790934 00000 n 
-0000791052 00000 n 
-0000791175 00000 n 
-0000791298 00000 n 
-0000791416 00000 n 
-0000791539 00000 n 
-0000793855 00000 n 
-0000794457 00000 n 
-0000793711 00000 n 
-0000791737 00000 n 
-0000794029 00000 n 
-0000794152 00000 n 
-0000794275 00000 n 
-0000794398 00000 n 
-0000796928 00000 n 
-0000797115 00000 n 
-0000797338 00000 n 
-0000797542 00000 n 
-0000797746 00000 n 
-0000797969 00000 n 
-0000798165 00000 n 
-0000798388 00000 n 
-0000798584 00000 n 
-0000798777 00000 n 
-0000799000 00000 n 
-0000799195 00000 n 
-0000799418 00000 n 
-0000799613 00000 n 
-0000799806 00000 n 
-0000800025 00000 n 
-0000800217 00000 n 
-0000800439 00000 n 
-0000800634 00000 n 
-0000800825 00000 n 
-0000801047 00000 n 
-0000801239 00000 n 
-0000801442 00000 n 
-0000801972 00000 n 
-0000796586 00000 n 
-0000794596 00000 n 
-0000801616 00000 n 
-0000801738 00000 n 
-0000801913 00000 n 
-0000813498 00000 n 
-0000813616 00000 n 
-0000813739 00000 n 
-0000813857 00000 n 
-0000815845 00000 n 
-0000815962 00000 n 
-0000816080 00000 n 
-0000816197 00000 n 
-0000804462 00000 n 
-0000804685 00000 n 
-0000804866 00000 n 
-0000805052 00000 n 
-0000805256 00000 n 
-0000805479 00000 n 
-0000805666 00000 n 
-0000805870 00000 n 
-0000806093 00000 n 
-0000806287 00000 n 
-0000806490 00000 n 
-0000806713 00000 n 
-0000806895 00000 n 
-0000807099 00000 n 
-0000807322 00000 n 
-0000807512 00000 n 
-0000807715 00000 n 
-0000807905 00000 n 
-0000808129 00000 n 
-0000808319 00000 n 
-0000808509 00000 n 
-0000808733 00000 n 
-0000808925 00000 n 
-0000809148 00000 n 
-0000809371 00000 n 
-0000809561 00000 n 
-0000809785 00000 n 
-0000809976 00000 n 
-0000813013 00000 n 
-0000810167 00000 n 
-0000810695 00000 n 
-0000804066 00000 n 
-0000802124 00000 n 
-0000810341 00000 n 
-0000810400 00000 n 
-0000810459 00000 n 
-0000810518 00000 n 
-0000810577 00000 n 
-0000810636 00000 n 
-0002866697 00000 n 
-0000818510 00000 n 
-0000818627 00000 n 
-0000818744 00000 n 
-0000818862 00000 n 
-0000821989 00000 n 
-0000822163 00000 n 
-0000813206 00000 n 
-0000813915 00000 n 
-0000812860 00000 n 
-0000810887 00000 n 
-0000813380 00000 n 
-0000813439 00000 n 
-0000813557 00000 n 
-0000813680 00000 n 
-0000813798 00000 n 
-0000815553 00000 n 
-0000816255 00000 n 
-0000815409 00000 n 
-0000814028 00000 n 
-0000815727 00000 n 
-0000815786 00000 n 
-0000815903 00000 n 
-0000816021 00000 n 
-0000816139 00000 n 
-0000818218 00000 n 
-0000818920 00000 n 
-0000818074 00000 n 
-0000816368 00000 n 
-0000818392 00000 n 
-0000818451 00000 n 
-0000818569 00000 n 
-0000818685 00000 n 
-0000818803 00000 n 
-0000821044 00000 n 
-0000821270 00000 n 
-0000821472 00000 n 
-0000824218 00000 n 
-0000824444 00000 n 
-0000824670 00000 n 
-0000821697 00000 n 
-0000822514 00000 n 
-0000820873 00000 n 
-0000819046 00000 n 
-0000821871 00000 n 
-0000821930 00000 n 
-0000822046 00000 n 
-0000822104 00000 n 
-0000822221 00000 n 
-0000822396 00000 n 
-0000822455 00000 n 
-0000903334 00000 n 
-0000824863 00000 n 
-0000825088 00000 n 
-0000825280 00000 n 
-0000825483 00000 n 
-0000825675 00000 n 
-0000825901 00000 n 
-0000826105 00000 n 
-0000826331 00000 n 
-0000826535 00000 n 
-0000826761 00000 n 
-0000826964 00000 n 
-0000827190 00000 n 
-0000827394 00000 n 
-0000827619 00000 n 
-0000827822 00000 n 
-0000828048 00000 n 
-0000828252 00000 n 
-0000828478 00000 n 
-0000828682 00000 n 
-0000828907 00000 n 
-0000829110 00000 n 
-0000829336 00000 n 
-0000829540 00000 n 
-0000829766 00000 n 
-0000829969 00000 n 
-0000830195 00000 n 
-0000830398 00000 n 
-0000830624 00000 n 
-0000830828 00000 n 
-0000831053 00000 n 
-0000831256 00000 n 
-0000831482 00000 n 
-0000831686 00000 n 
-0000831910 00000 n 
-0000835085 00000 n 
-0000835311 00000 n 
-0000835515 00000 n 
-0000835741 00000 n 
-0000832112 00000 n 
-0000833405 00000 n 
-0000823741 00000 n 
-0000822694 00000 n 
-0000832286 00000 n 
-0000832345 00000 n 
-0000832404 00000 n 
-0000832463 00000 n 
-0000832522 00000 n 
-0000832581 00000 n 
-0000832639 00000 n 
-0000832698 00000 n 
-0000832757 00000 n 
-0000832816 00000 n 
-0000832875 00000 n 
-0000832934 00000 n 
-0000832993 00000 n 
-0000833052 00000 n 
-0000833110 00000 n 
-0000833169 00000 n 
-0000833228 00000 n 
-0000833287 00000 n 
-0000833346 00000 n 
-0000835945 00000 n 
-0000836170 00000 n 
-0000836362 00000 n 
-0000836553 00000 n 
-0000836779 00000 n 
-0000837004 00000 n 
-0000837230 00000 n 
-0000837455 00000 n 
-0000837681 00000 n 
-0000837906 00000 n 
-0000838132 00000 n 
-0000838357 00000 n 
-0000838583 00000 n 
-0000838808 00000 n 
-0000839034 00000 n 
-0000839259 00000 n 
-0000842676 00000 n 
-0000842902 00000 n 
-0000839485 00000 n 
-0000840658 00000 n 
-0000834761 00000 n 
-0000833544 00000 n 
-0000839659 00000 n 
-0000839718 00000 n 
-0000839777 00000 n 
-0000839836 00000 n 
-0000839895 00000 n 
-0000839954 00000 n 
-0000840012 00000 n 
-0000840071 00000 n 
-0000840129 00000 n 
-0000840188 00000 n 
-0000840246 00000 n 
-0000840305 00000 n 
-0000840363 00000 n 
-0000840422 00000 n 
-0000840481 00000 n 
-0000840540 00000 n 
-0000840599 00000 n 
-0002866823 00000 n 
-0000843128 00000 n 
-0000843353 00000 n 
-0000843579 00000 n 
-0000843804 00000 n 
-0000844030 00000 n 
-0000844256 00000 n 
-0000844449 00000 n 
-0000844675 00000 n 
-0000844868 00000 n 
-0000845061 00000 n 
-0000845287 00000 n 
-0000845479 00000 n 
-0000845703 00000 n 
-0000845895 00000 n 
-0000846088 00000 n 
-0000846313 00000 n 
-0000846515 00000 n 
-0000846708 00000 n 
-0000846932 00000 n 
-0000847124 00000 n 
-0000847348 00000 n 
-0000847540 00000 n 
-0000847731 00000 n 
-0000850922 00000 n 
-0000851124 00000 n 
-0000851317 00000 n 
-0000847954 00000 n 
-0000849013 00000 n 
-0000842307 00000 n 
-0000840810 00000 n 
-0000848128 00000 n 
-0000848187 00000 n 
-0000848246 00000 n 
-0000848305 00000 n 
-0000848364 00000 n 
-0000848423 00000 n 
-0000848482 00000 n 
-0000848541 00000 n 
-0000848600 00000 n 
-0000848659 00000 n 
-0000848718 00000 n 
-0000848777 00000 n 
-0000848836 00000 n 
-0000848895 00000 n 
-0000848954 00000 n 
-0000851542 00000 n 
-0000851735 00000 n 
-0000851961 00000 n 
-0000852153 00000 n 
-0000852346 00000 n 
-0000852572 00000 n 
-0000852774 00000 n 
-0000852967 00000 n 
-0000853193 00000 n 
-0000853386 00000 n 
-0000853612 00000 n 
-0000853805 00000 n 
-0000853998 00000 n 
-0000854224 00000 n 
-0000854426 00000 n 
-0000854619 00000 n 
-0000854844 00000 n 
-0000855037 00000 n 
-0000855262 00000 n 
-0000855455 00000 n 
-0000855648 00000 n 
-0000855873 00000 n 
-0000856075 00000 n 
-0000856268 00000 n 
-0000856491 00000 n 
-0000856684 00000 n 
-0000856909 00000 n 
-0000857101 00000 n 
-0000857326 00000 n 
-0000857519 00000 n 
-0000857745 00000 n 
-0000857938 00000 n 
-0000858164 00000 n 
-0000859222 00000 n 
-0000850463 00000 n 
-0000849165 00000 n 
-0000858338 00000 n 
-0000858397 00000 n 
-0000858456 00000 n 
-0000858515 00000 n 
-0000858574 00000 n 
-0000858632 00000 n 
-0000858691 00000 n 
-0000858750 00000 n 
-0000858809 00000 n 
-0000858868 00000 n 
-0000858927 00000 n 
-0000858986 00000 n 
-0000859045 00000 n 
-0000859104 00000 n 
-0000859163 00000 n 
-0000861704 00000 n 
-0000861906 00000 n 
-0000862132 00000 n 
-0000862334 00000 n 
-0000862560 00000 n 
-0000862760 00000 n 
-0000862984 00000 n 
-0000863186 00000 n 
-0000863412 00000 n 
-0000863614 00000 n 
-0000863839 00000 n 
-0000864040 00000 n 
-0000864242 00000 n 
-0000864467 00000 n 
-0000864671 00000 n 
-0000864873 00000 n 
-0000865076 00000 n 
-0000865301 00000 n 
-0000865504 00000 n 
-0000865705 00000 n 
-0000865909 00000 n 
-0000866134 00000 n 
-0000866337 00000 n 
-0000866538 00000 n 
-0000866742 00000 n 
-0000866967 00000 n 
-0000867169 00000 n 
-0000867395 00000 n 
-0000867588 00000 n 
-0000867781 00000 n 
-0000868007 00000 n 
-0000868200 00000 n 
-0000868425 00000 n 
-0000868618 00000 n 
-0000868844 00000 n 
-0000869037 00000 n 
-0000869241 00000 n 
-0000869465 00000 n 
-0000869658 00000 n 
-0000869851 00000 n 
-0000870077 00000 n 
-0000872774 00000 n 
-0000872967 00000 n 
-0000873193 00000 n 
-0000870270 00000 n 
-0000870562 00000 n 
-0000861191 00000 n 
-0000859374 00000 n 
-0000870444 00000 n 
-0000870503 00000 n 
-0000903511 00000 n 
-0000903629 00000 n 
-0000903746 00000 n 
-0000903864 00000 n 
-0000903982 00000 n 
-0000904100 00000 n 
-0000904218 00000 n 
-0000904336 00000 n 
-0000904454 00000 n 
-0000926748 00000 n 
-0000926866 00000 n 
-0000904572 00000 n 
-0000906761 00000 n 
-0000906879 00000 n 
-0000873386 00000 n 
-0000873610 00000 n 
-0000873803 00000 n 
-0000874029 00000 n 
-0000874222 00000 n 
-0000874415 00000 n 
-0000874639 00000 n 
-0000874832 00000 n 
-0000875058 00000 n 
-0000875251 00000 n 
-0000875444 00000 n 
-0000875668 00000 n 
-0000875861 00000 n 
-0000876084 00000 n 
-0000876275 00000 n 
-0000876466 00000 n 
-0000876690 00000 n 
-0000876883 00000 n 
-0000877107 00000 n 
-0000877298 00000 n 
-0000877489 00000 n 
-0000877712 00000 n 
-0000877905 00000 n 
-0000878131 00000 n 
-0000878323 00000 n 
-0000878515 00000 n 
-0000878741 00000 n 
-0000878934 00000 n 
-0000879127 00000 n 
-0000882536 00000 n 
-0000882762 00000 n 
-0000882954 00000 n 
-0000883147 00000 n 
-0000879320 00000 n 
-0000879553 00000 n 
-0000872342 00000 n 
-0000870714 00000 n 
-0000879494 00000 n 
-0000906997 00000 n 
-0000907114 00000 n 
-0000907232 00000 n 
-0000907350 00000 n 
-0000907468 00000 n 
-0000907586 00000 n 
-0000907703 00000 n 
-0000907821 00000 n 
-0000910109 00000 n 
-0000910227 00000 n 
-0000910345 00000 n 
-0000910462 00000 n 
-0000883340 00000 n 
-0000883566 00000 n 
-0000883759 00000 n 
-0000883952 00000 n 
-0000884145 00000 n 
-0000884371 00000 n 
-0000884564 00000 n 
-0000884757 00000 n 
-0000884950 00000 n 
-0000885143 00000 n 
-0000885529 00000 n 
-0000885755 00000 n 
-0000885948 00000 n 
-0000886141 00000 n 
-0000886334 00000 n 
-0000886559 00000 n 
-0000886752 00000 n 
-0000886943 00000 n 
-0000887136 00000 n 
-0000887362 00000 n 
-0000887555 00000 n 
-0000887748 00000 n 
-0000887950 00000 n 
-0000888152 00000 n 
-0000888341 00000 n 
-0000888531 00000 n 
-0000888756 00000 n 
-0000888958 00000 n 
-0000889160 00000 n 
-0000889349 00000 n 
-0000889538 00000 n 
-0000889764 00000 n 
-0000889964 00000 n 
-0000890164 00000 n 
-0000890352 00000 n 
-0000890541 00000 n 
-0000890765 00000 n 
-0000890967 00000 n 
-0000891169 00000 n 
-0000891356 00000 n 
-0000891544 00000 n 
-0000891768 00000 n 
-0000892001 00000 n 
-0000881978 00000 n 
-0000879706 00000 n 
-0000891942 00000 n 
-0000885336 00000 n 
-0000910580 00000 n 
-0000910698 00000 n 
-0000910816 00000 n 
-0000910934 00000 n 
-0000911052 00000 n 
-0000913488 00000 n 
-0000913611 00000 n 
-0000913729 00000 n 
-0000913847 00000 n 
-0000913965 00000 n 
-0000894860 00000 n 
-0000895062 00000 n 
-0000895264 00000 n 
-0000895452 00000 n 
-0000895641 00000 n 
-0000895865 00000 n 
-0000896067 00000 n 
-0000896269 00000 n 
-0000896458 00000 n 
-0000896648 00000 n 
-0000896874 00000 n 
-0000897075 00000 n 
-0000897300 00000 n 
-0000897502 00000 n 
-0000897703 00000 n 
-0000897928 00000 n 
-0000898129 00000 n 
-0000898333 00000 n 
-0000898559 00000 n 
-0000898762 00000 n 
-0000898988 00000 n 
-0000899181 00000 n 
-0000899383 00000 n 
-0000899586 00000 n 
-0000899812 00000 n 
-0000900016 00000 n 
-0000900242 00000 n 
-0000900435 00000 n 
-0000900785 00000 n 
-0000894473 00000 n 
-0000892167 00000 n 
-0000900609 00000 n 
-0000900668 00000 n 
-0000900726 00000 n 
-0002866949 00000 n 
-0000914083 00000 n 
-0000914201 00000 n 
-0000914319 00000 n 
-0000914437 00000 n 
-0000918095 00000 n 
-0000918213 00000 n 
-0000918331 00000 n 
-0000921460 00000 n 
-0000903042 00000 n 
-0000904631 00000 n 
-0000902898 00000 n 
-0000900965 00000 n 
-0000903216 00000 n 
-0000903275 00000 n 
-0000903393 00000 n 
-0000903452 00000 n 
-0000903570 00000 n 
-0000903687 00000 n 
-0000903805 00000 n 
-0000903923 00000 n 
-0000904041 00000 n 
-0000904159 00000 n 
-0000904277 00000 n 
-0000904395 00000 n 
-0000904513 00000 n 
-0000906469 00000 n 
-0000907880 00000 n 
-0000906325 00000 n 
-0000904770 00000 n 
-0000906643 00000 n 
-0000906702 00000 n 
-0000906820 00000 n 
-0000906938 00000 n 
-0000907056 00000 n 
-0000907173 00000 n 
-0000907291 00000 n 
-0000907409 00000 n 
-0000907527 00000 n 
-0000907644 00000 n 
-0000907762 00000 n 
-0000909817 00000 n 
-0000911110 00000 n 
-0000909673 00000 n 
-0000908006 00000 n 
-0000909991 00000 n 
-0000910050 00000 n 
-0000910168 00000 n 
-0000910286 00000 n 
-0000910404 00000 n 
-0000910521 00000 n 
-0000910639 00000 n 
-0000910757 00000 n 
-0000910875 00000 n 
-0000910993 00000 n 
-0000913196 00000 n 
-0000914495 00000 n 
-0000913052 00000 n 
-0000911249 00000 n 
-0000913370 00000 n 
-0000913429 00000 n 
-0000913552 00000 n 
-0000913670 00000 n 
-0000913788 00000 n 
-0000913906 00000 n 
-0000914024 00000 n 
-0000914142 00000 n 
-0000914260 00000 n 
-0000914378 00000 n 
-0000917803 00000 n 
-0000918449 00000 n 
-0000917659 00000 n 
-0000914646 00000 n 
-0000917977 00000 n 
-0000918036 00000 n 
-0000918154 00000 n 
-0000918272 00000 n 
-0000918390 00000 n 
-0000921227 00000 n 
-0000921518 00000 n 
-0000921083 00000 n 
-0000918625 00000 n 
-0000921401 00000 n 
-0002867075 00000 n 
-0000923655 00000 n 
-0000923875 00000 n 
-0000924063 00000 n 
-0000924283 00000 n 
-0000924471 00000 n 
-0000924691 00000 n 
-0000924878 00000 n 
-0000925099 00000 n 
-0000925287 00000 n 
-0000925490 00000 n 
-0000925711 00000 n 
-0000925932 00000 n 
-0000926118 00000 n 
-0000929557 00000 n 
-0000926338 00000 n 
-0000927454 00000 n 
-0000923394 00000 n 
-0000921681 00000 n 
-0000926512 00000 n 
-0000926571 00000 n 
-0000926689 00000 n 
-0000926807 00000 n 
-0000926925 00000 n 
-0000927101 00000 n 
-0000927160 00000 n 
-0000927219 00000 n 
-0000927277 00000 n 
-0000927336 00000 n 
-0000927395 00000 n 
-0000953216 00000 n 
-0000955864 00000 n 
-0000929778 00000 n 
-0000929965 00000 n 
-0000930186 00000 n 
-0000930407 00000 n 
-0000930628 00000 n 
-0000930849 00000 n 
-0000931070 00000 n 
-0000931290 00000 n 
-0000931492 00000 n 
-0000931679 00000 n 
-0000931882 00000 n 
-0000932103 00000 n 
-0000932306 00000 n 
-0000932527 00000 n 
-0000932748 00000 n 
-0000932969 00000 n 
-0000933190 00000 n 
-0000933411 00000 n 
-0000933630 00000 n 
-0000933834 00000 n 
-0000934055 00000 n 
-0000934243 00000 n 
-0000937494 00000 n 
-0000934463 00000 n 
-0000935401 00000 n 
-0000929206 00000 n 
-0000927620 00000 n 
-0000934637 00000 n 
-0000934696 00000 n 
-0000934755 00000 n 
-0000934813 00000 n 
-0000934872 00000 n 
-0000934931 00000 n 
-0000934990 00000 n 
-0000935049 00000 n 
-0000935108 00000 n 
-0000935167 00000 n 
-0000935224 00000 n 
-0000935283 00000 n 
-0000935342 00000 n 
-0000955982 00000 n 
-0000956100 00000 n 
-0000956223 00000 n 
-0000956341 00000 n 
-0000956459 00000 n 
-0000937715 00000 n 
-0000937903 00000 n 
-0000938124 00000 n 
-0000938312 00000 n 
-0000938533 00000 n 
-0000938720 00000 n 
-0000938940 00000 n 
-0000939135 00000 n 
-0000939330 00000 n 
-0000939517 00000 n 
-0000939737 00000 n 
-0000939932 00000 n 
-0000940120 00000 n 
-0000940341 00000 n 
-0000940537 00000 n 
-0000940758 00000 n 
-0000940979 00000 n 
-0000941198 00000 n 
-0000941385 00000 n 
-0000941605 00000 n 
-0000941793 00000 n 
-0000941980 00000 n 
-0000942200 00000 n 
-0000942388 00000 n 
-0000942608 00000 n 
-0000942796 00000 n 
-0000942984 00000 n 
-0000943205 00000 n 
-0000943393 00000 n 
-0000943581 00000 n 
-0000944286 00000 n 
-0000937080 00000 n 
-0000935541 00000 n 
-0000943755 00000 n 
-0000943814 00000 n 
-0000943873 00000 n 
-0000943932 00000 n 
-0000943991 00000 n 
-0000944050 00000 n 
-0000944109 00000 n 
-0000944168 00000 n 
-0000944227 00000 n 
-0000956582 00000 n 
-0000959121 00000 n 
-0000959244 00000 n 
-0000959426 00000 n 
-0000959544 00000 n 
-0000959667 00000 n 
-0000959785 00000 n 
-0000947200 00000 n 
-0000947421 00000 n 
-0000947609 00000 n 
-0000947796 00000 n 
-0000948016 00000 n 
-0000948212 00000 n 
-0000948408 00000 n 
-0000948595 00000 n 
-0000948815 00000 n 
-0000949011 00000 n 
-0000949232 00000 n 
-0000949420 00000 n 
-0000949608 00000 n 
-0000949793 00000 n 
-0000950144 00000 n 
-0000946939 00000 n 
-0000944426 00000 n 
-0000949967 00000 n 
-0000950026 00000 n 
-0000950085 00000 n 
-0000959903 00000 n 
-0000960021 00000 n 
-0000960139 00000 n 
-0000965489 00000 n 
-0000952924 00000 n 
-0000953334 00000 n 
-0000952780 00000 n 
-0000950372 00000 n 
-0000953098 00000 n 
-0000953157 00000 n 
-0000953275 00000 n 
-0000955572 00000 n 
-0000956646 00000 n 
-0000955428 00000 n 
-0000953510 00000 n 
-0000955746 00000 n 
-0000955805 00000 n 
-0000955923 00000 n 
-0000956041 00000 n 
-0000956164 00000 n 
-0000956282 00000 n 
-0000956400 00000 n 
-0000956523 00000 n 
-0002867201 00000 n 
-0000958829 00000 n 
-0000960197 00000 n 
-0000958685 00000 n 
-0000956847 00000 n 
-0000959003 00000 n 
-0000959062 00000 n 
-0000959185 00000 n 
-0000959308 00000 n 
-0000959367 00000 n 
-0000959485 00000 n 
-0000959608 00000 n 
-0000959726 00000 n 
-0000959844 00000 n 
-0000959962 00000 n 
-0000960080 00000 n 
-0000962236 00000 n 
-0000962451 00000 n 
-0000962679 00000 n 
-0000962907 00000 n 
-0000963093 00000 n 
-0000963320 00000 n 
-0000963505 00000 n 
-0000963733 00000 n 
-0000963927 00000 n 
-0000964155 00000 n 
-0000964349 00000 n 
-0000964577 00000 n 
-0000964772 00000 n 
-0000965001 00000 n 
-0000968535 00000 n 
-0000968738 00000 n 
-0000965197 00000 n 
-0000966194 00000 n 
-0000961966 00000 n 
-0000960347 00000 n 
-0000965371 00000 n 
-0000965430 00000 n 
-0000965548 00000 n 
-0000965723 00000 n 
-0000965782 00000 n 
-0000965841 00000 n 
-0000965900 00000 n 
-0000965958 00000 n 
-0000966017 00000 n 
-0000966076 00000 n 
-0000966135 00000 n 
-0000989901 00000 n 
-0000968967 00000 n 
-0000969196 00000 n 
-0000969392 00000 n 
-0000969620 00000 n 
-0000969849 00000 n 
-0000970078 00000 n 
-0000970266 00000 n 
-0000970495 00000 n 
-0000970683 00000 n 
-0000970912 00000 n 
-0000971108 00000 n 
-0000971337 00000 n 
-0000971533 00000 n 
-0000971762 00000 n 
-0000971991 00000 n 
-0000972206 00000 n 
-0000972420 00000 n 
-0000972649 00000 n 
-0000972864 00000 n 
-0000973093 00000 n 
-0000973322 00000 n 
-0000973551 00000 n 
-0000973780 00000 n 
-0000974009 00000 n 
-0000977187 00000 n 
-0000977390 00000 n 
-0000974238 00000 n 
-0000975238 00000 n 
-0000968157 00000 n 
-0000966400 00000 n 
-0000974412 00000 n 
-0000974471 00000 n 
-0000974530 00000 n 
-0000974589 00000 n 
-0000974648 00000 n 
-0000974707 00000 n 
-0000974766 00000 n 
-0000974825 00000 n 
-0000974884 00000 n 
-0000974943 00000 n 
-0000975002 00000 n 
-0000975061 00000 n 
-0000975120 00000 n 
-0000975179 00000 n 
-0000990078 00000 n 
-0000990196 00000 n 
-0000990319 00000 n 
-0000977619 00000 n 
-0000977821 00000 n 
-0000978049 00000 n 
-0000978252 00000 n 
-0000978481 00000 n 
-0000978684 00000 n 
-0000978913 00000 n 
-0000979142 00000 n 
-0000979338 00000 n 
-0000979567 00000 n 
-0000979771 00000 n 
-0000979975 00000 n 
-0000980204 00000 n 
-0000980400 00000 n 
-0000980629 00000 n 
-0000980858 00000 n 
-0000981054 00000 n 
-0000981283 00000 n 
-0000981503 00000 n 
-0000981732 00000 n 
-0000981925 00000 n 
-0000982154 00000 n 
-0000985703 00000 n 
-0000985932 00000 n 
-0000986127 00000 n 
-0000982350 00000 n 
-0000983348 00000 n 
-0000976827 00000 n 
-0000975378 00000 n 
-0000982524 00000 n 
-0000982583 00000 n 
-0000982642 00000 n 
-0000982699 00000 n 
-0000982758 00000 n 
-0000982817 00000 n 
-0000982876 00000 n 
-0000982935 00000 n 
-0000982994 00000 n 
-0000983053 00000 n 
-0000983112 00000 n 
-0000983171 00000 n 
-0000983230 00000 n 
-0000983289 00000 n 
-0000990437 00000 n 
-0000995150 00000 n 
-0000986517 00000 n 
-0000986711 00000 n 
-0000986899 00000 n 
-0000987191 00000 n 
-0000985505 00000 n 
-0000983487 00000 n 
-0000987073 00000 n 
-0000986323 00000 n 
-0000987132 00000 n 
-0000995268 00000 n 
-0000989609 00000 n 
-0000990560 00000 n 
-0000989465 00000 n 
-0000987353 00000 n 
-0000989783 00000 n 
-0000989842 00000 n 
-0000989960 00000 n 
-0000990019 00000 n 
-0000990137 00000 n 
-0000990260 00000 n 
-0000990378 00000 n 
-0000990501 00000 n 
-0002867327 00000 n 
-0000992505 00000 n 
-0000992752 00000 n 
-0000992999 00000 n 
-0000993246 00000 n 
-0000993493 00000 n 
-0000993680 00000 n 
-0000993927 00000 n 
-0000994115 00000 n 
-0000994363 00000 n 
-0000994611 00000 n 
-0000998053 00000 n 
-0000994858 00000 n 
-0000996038 00000 n 
-0000992271 00000 n 
-0000990748 00000 n 
-0000995032 00000 n 
-0000995091 00000 n 
-0000995209 00000 n 
-0000995332 00000 n 
-0000995507 00000 n 
-0000995566 00000 n 
-0000995625 00000 n 
-0000995684 00000 n 
-0000995743 00000 n 
-0000995802 00000 n 
-0000995861 00000 n 
-0000995920 00000 n 
-0000995979 00000 n 
-0000998300 00000 n 
-0000998548 00000 n 
-0000998763 00000 n 
-0000998958 00000 n 
-0000999179 00000 n 
-0000999432 00000 n 
-0000999685 00000 n 
-0000999938 00000 n 
-0001000158 00000 n 
-0001000345 00000 n 
-0001000565 00000 n 
-0001000753 00000 n 
-0001003731 00000 n 
-0001003918 00000 n 
-0001004139 00000 n 
-0001000973 00000 n 
-0001001736 00000 n 
-0000997792 00000 n 
-0000996190 00000 n 
-0001001147 00000 n 
-0001001206 00000 n 
-0001001265 00000 n 
-0001001324 00000 n 
-0001001500 00000 n 
-0001001559 00000 n 
-0001001618 00000 n 
-0001001677 00000 n 
-0001040950 00000 n 
-0001041068 00000 n 
-0001041132 00000 n 
-0001041196 00000 n 
-0001043748 00000 n 
-0001004325 00000 n 
-0001004528 00000 n 
-0001004749 00000 n 
-0001004968 00000 n 
-0001005188 00000 n 
-0001005409 00000 n 
-0001005629 00000 n 
-0001005849 00000 n 
-0001006070 00000 n 
-0001006291 00000 n 
-0001006477 00000 n 
-0001006698 00000 n 
-0001006901 00000 n 
-0001007122 00000 n 
-0001007325 00000 n 
-0001007546 00000 n 
-0001007767 00000 n 
-0001007988 00000 n 
-0001008209 00000 n 
-0001008397 00000 n 
-0001008618 00000 n 
-0001008839 00000 n 
-0001012249 00000 n 
-0001012470 00000 n 
-0001009060 00000 n 
-0001010059 00000 n 
-0001003362 00000 n 
-0001001888 00000 n 
-0001009234 00000 n 
-0001009293 00000 n 
-0001009352 00000 n 
-0001009411 00000 n 
-0001009470 00000 n 
-0001009529 00000 n 
-0001009588 00000 n 
-0001009647 00000 n 
-0001009706 00000 n 
-0001009764 00000 n 
-0001009823 00000 n 
-0001009882 00000 n 
-0001009941 00000 n 
-0001010000 00000 n 
-0001043925 00000 n 
-0001044043 00000 n 
-0001044161 00000 n 
-0001044279 00000 n 
-0001012690 00000 n 
-0001012911 00000 n 
-0001013132 00000 n 
-0001013320 00000 n 
-0001013524 00000 n 
-0001013745 00000 n 
-0001013932 00000 n 
-0001014151 00000 n 
-0001014372 00000 n 
-0001014560 00000 n 
-0001014781 00000 n 
-0001014969 00000 n 
-0001015188 00000 n 
-0001015375 00000 n 
-0001015595 00000 n 
-0001015791 00000 n 
-0001015987 00000 n 
-0001016174 00000 n 
-0001016394 00000 n 
-0001016580 00000 n 
-0001016766 00000 n 
-0001016953 00000 n 
-0001017173 00000 n 
-0001017369 00000 n 
-0001017556 00000 n 
-0001017776 00000 n 
-0001017972 00000 n 
-0001018159 00000 n 
-0001018379 00000 n 
-0001018575 00000 n 
-0001018771 00000 n 
-0001018957 00000 n 
-0001019176 00000 n 
-0001019361 00000 n 
-0001022311 00000 n 
-0001022498 00000 n 
-0001022718 00000 n 
-0001019546 00000 n 
-0001020368 00000 n 
-0001011781 00000 n 
-0001010199 00000 n 
-0001019720 00000 n 
-0001019779 00000 n 
-0001019838 00000 n 
-0001019897 00000 n 
-0001019956 00000 n 
-0001020015 00000 n 
-0001020074 00000 n 
-0001020132 00000 n 
-0001020191 00000 n 
-0001020250 00000 n 
-0001020309 00000 n 
-0001046301 00000 n 
-0001046419 00000 n 
-0001046537 00000 n 
-0001046655 00000 n 
-0001046773 00000 n 
-0001046891 00000 n 
-0001022914 00000 n 
-0001023100 00000 n 
-0001023319 00000 n 
-0001023514 00000 n 
-0001023701 00000 n 
-0001023921 00000 n 
-0001024117 00000 n 
-0001024313 00000 n 
-0001024500 00000 n 
-0001024720 00000 n 
-0001024916 00000 n 
-0001025103 00000 n 
-0001025323 00000 n 
-0001025519 00000 n 
-0001025706 00000 n 
-0001025927 00000 n 
-0001026123 00000 n 
-0001026319 00000 n 
-0001026506 00000 n 
-0001026727 00000 n 
-0001026913 00000 n 
-0001027099 00000 n 
-0001027286 00000 n 
-0001027507 00000 n 
-0001027703 00000 n 
-0001027889 00000 n 
-0001028109 00000 n 
-0001028304 00000 n 
-0001028491 00000 n 
-0001028712 00000 n 
-0001028908 00000 n 
-0001029104 00000 n 
-0001029291 00000 n 
-0001029512 00000 n 
-0001029708 00000 n 
-0001029895 00000 n 
-0001030116 00000 n 
-0001030312 00000 n 
-0001030532 00000 n 
-0001030720 00000 n 
-0001030908 00000 n 
-0001031129 00000 n 
-0001031317 00000 n 
-0001031505 00000 n 
-0001031691 00000 n 
-0001031910 00000 n 
-0001032095 00000 n 
-0001035403 00000 n 
-0001035589 00000 n 
-0001035809 00000 n 
-0001035994 00000 n 
-0001032280 00000 n 
-0001032572 00000 n 
-0001021717 00000 n 
-0001020535 00000 n 
-0001032454 00000 n 
-0001032513 00000 n 
-0001047009 00000 n 
-0001047127 00000 n 
-0001047245 00000 n 
-0001047363 00000 n 
-0001047481 00000 n 
-0001049417 00000 n 
-0001049535 00000 n 
-0001049653 00000 n 
-0001049771 00000 n 
-0001049889 00000 n 
-0001050007 00000 n 
-0001050123 00000 n 
-0001050241 00000 n 
-0001050359 00000 n 
-0001050477 00000 n 
-0001036179 00000 n 
-0001036400 00000 n 
-0001036588 00000 n 
-0001036776 00000 n 
-0001036996 00000 n 
-0001037183 00000 n 
-0001037403 00000 n 
-0001037623 00000 n 
-0001037810 00000 n 
-0001038102 00000 n 
-0001035151 00000 n 
-0001032711 00000 n 
-0001037984 00000 n 
-0001038043 00000 n 
-0002867453 00000 n 
-0001050595 00000 n 
-0001054737 00000 n 
-0001054855 00000 n 
-0001054972 00000 n 
-0001040658 00000 n 
-0001041259 00000 n 
-0001040514 00000 n 
-0001038316 00000 n 
-0001040832 00000 n 
-0001040891 00000 n 
-0001041009 00000 n 
-0001043456 00000 n 
-0001044395 00000 n 
-0001043312 00000 n 
-0001041435 00000 n 
-0001043630 00000 n 
-0001043689 00000 n 
-0001043807 00000 n 
-0001043866 00000 n 
-0001043984 00000 n 
-0001044102 00000 n 
-0001044220 00000 n 
-0001044337 00000 n 
-0001046009 00000 n 
-0001047539 00000 n 
-0001045865 00000 n 
-0001044596 00000 n 
-0001046183 00000 n 
-0001046242 00000 n 
-0001046360 00000 n 
-0001046478 00000 n 
-0001046596 00000 n 
-0001046714 00000 n 
-0001046832 00000 n 
-0001046950 00000 n 
-0001047068 00000 n 
-0001047186 00000 n 
-0001047304 00000 n 
-0001047422 00000 n 
-0001049125 00000 n 
-0001050654 00000 n 
-0001048981 00000 n 
-0001047665 00000 n 
-0001049299 00000 n 
-0001049358 00000 n 
-0001049476 00000 n 
-0001049594 00000 n 
-0001049712 00000 n 
-0001049830 00000 n 
-0001049948 00000 n 
-0001050065 00000 n 
-0001050182 00000 n 
-0001050300 00000 n 
-0001050418 00000 n 
-0001050536 00000 n 
-0001052513 00000 n 
-0001052728 00000 n 
-0001052954 00000 n 
-0001053182 00000 n 
-0001053370 00000 n 
-0001053598 00000 n 
-0001053794 00000 n 
-0001054022 00000 n 
-0001054218 00000 n 
-0001057896 00000 n 
-0001058091 00000 n 
-0001058320 00000 n 
-0001054445 00000 n 
-0001055620 00000 n 
-0001052288 00000 n 
-0001050780 00000 n 
-0001054619 00000 n 
-0001054678 00000 n 
-0001054796 00000 n 
-0001054914 00000 n 
-0001055031 00000 n 
-0001055207 00000 n 
-0001055266 00000 n 
-0001055325 00000 n 
-0001055384 00000 n 
-0001055443 00000 n 
-0001055502 00000 n 
-0001055561 00000 n 
-0001058516 00000 n 
-0001058719 00000 n 
-0001058948 00000 n 
-0001059177 00000 n 
-0001059406 00000 n 
-0001059634 00000 n 
-0001059821 00000 n 
-0001060050 00000 n 
-0001060279 00000 n 
-0001060494 00000 n 
-0001060709 00000 n 
-0001060938 00000 n 
-0001061153 00000 n 
-0001061382 00000 n 
-0001061611 00000 n 
-0001061840 00000 n 
-0001062069 00000 n 
-0001062298 00000 n 
-0001062526 00000 n 
-0001062729 00000 n 
-0001062958 00000 n 
-0001063161 00000 n 
-0001063390 00000 n 
-0001063618 00000 n 
-0001067057 00000 n 
-0001067261 00000 n 
-0001063813 00000 n 
-0001064990 00000 n 
-0001057509 00000 n 
-0001055772 00000 n 
-0001063987 00000 n 
-0001064046 00000 n 
-0001064105 00000 n 
-0001064164 00000 n 
-0001064223 00000 n 
-0001064282 00000 n 
-0001064341 00000 n 
-0001064400 00000 n 
-0001064459 00000 n 
-0001064518 00000 n 
-0001064577 00000 n 
-0001064636 00000 n 
-0001064695 00000 n 
-0001064754 00000 n 
-0001064813 00000 n 
-0001064872 00000 n 
-0001064931 00000 n 
-0002867579 00000 n 
-0001067490 00000 n 
-0001067686 00000 n 
-0001067915 00000 n 
-0001068144 00000 n 
-0001068339 00000 n 
-0001068567 00000 n 
-0001068788 00000 n 
-0001069016 00000 n 
-0001069204 00000 n 
-0001069390 00000 n 
-0001069619 00000 n 
-0001069815 00000 n 
-0001070043 00000 n 
-0001070238 00000 n 
-0001070628 00000 n 
-0001070819 00000 n 
-0001071005 00000 n 
-0001071710 00000 n 
-0001066742 00000 n 
-0001065130 00000 n 
-0001071179 00000 n 
-0001071238 00000 n 
-0001071297 00000 n 
-0001071356 00000 n 
-0001071415 00000 n 
-0001071474 00000 n 
-0001071533 00000 n 
-0001071592 00000 n 
-0001070433 00000 n 
-0001071651 00000 n 
-0001074511 00000 n 
-0001074629 00000 n 
-0001074752 00000 n 
-0001074219 00000 n 
-0001074931 00000 n 
-0001074075 00000 n 
-0001071860 00000 n 
-0001074393 00000 n 
-0001074452 00000 n 
-0001074570 00000 n 
-0001074693 00000 n 
-0001074815 00000 n 
-0001076737 00000 n 
-0001076984 00000 n 
-0001077231 00000 n 
-0001077478 00000 n 
-0001077726 00000 n 
-0001077914 00000 n 
-0001078162 00000 n 
-0001078349 00000 n 
-0001078595 00000 n 
-0001078842 00000 n 
-0001079089 00000 n 
-0001079336 00000 n 
-0001079584 00000 n 
-0001079798 00000 n 
-0001079994 00000 n 
-0001080991 00000 n 
-0001076467 00000 n 
-0001075107 00000 n 
-0001080168 00000 n 
-0001080285 00000 n 
-0001080344 00000 n 
-0001080403 00000 n 
-0001080461 00000 n 
-0001080520 00000 n 
-0001080579 00000 n 
-0001080638 00000 n 
-0001080697 00000 n 
-0001080756 00000 n 
-0001080815 00000 n 
-0001080873 00000 n 
-0001080932 00000 n 
-0001083463 00000 n 
-0001083695 00000 n 
-0001083928 00000 n 
-0001084160 00000 n 
-0001084365 00000 n 
-0001084547 00000 n 
-0001084735 00000 n 
-0001085557 00000 n 
-0001083265 00000 n 
-0001081143 00000 n 
-0001084909 00000 n 
-0001085085 00000 n 
-0001085144 00000 n 
-0001085203 00000 n 
-0001085262 00000 n 
-0001085321 00000 n 
-0001085380 00000 n 
-0001085439 00000 n 
-0001085498 00000 n 
-0001087750 00000 n 
-0001087972 00000 n 
-0001088194 00000 n 
-0001088416 00000 n 
-0001088638 00000 n 
-0001088827 00000 n 
-0001089048 00000 n 
-0001089236 00000 n 
-0001089437 00000 n 
-0001089657 00000 n 
-0001089860 00000 n 
-0001090082 00000 n 
-0001090299 00000 n 
-0001090521 00000 n 
-0001093865 00000 n 
-0001094087 00000 n 
-0001090743 00000 n 
-0001091741 00000 n 
-0001087480 00000 n 
-0001085723 00000 n 
-0001090917 00000 n 
-0001091093 00000 n 
-0001091152 00000 n 
-0001091211 00000 n 
-0001091270 00000 n 
-0001091329 00000 n 
-0001091388 00000 n 
-0001091447 00000 n 
-0001091506 00000 n 
-0001091564 00000 n 
-0001091623 00000 n 
-0001091682 00000 n 
-0001104486 00000 n 
-0001094283 00000 n 
-0001094504 00000 n 
-0001094699 00000 n 
-0001094920 00000 n 
-0001095108 00000 n 
-0001095330 00000 n 
-0001095550 00000 n 
-0001095738 00000 n 
-0001095958 00000 n 
-0001096147 00000 n 
-0001096367 00000 n 
-0001096556 00000 n 
-0001096776 00000 n 
-0001096964 00000 n 
-0001097135 00000 n 
-0001097357 00000 n 
-0001097546 00000 n 
-0001097768 00000 n 
-0001097957 00000 n 
-0001098177 00000 n 
-0001098366 00000 n 
-0001098587 00000 n 
-0001098776 00000 n 
-0001098965 00000 n 
-0001099187 00000 n 
-0001099376 00000 n 
-0001102818 00000 n 
-0001103040 00000 n 
-0001099564 00000 n 
-0001100563 00000 n 
-0001093469 00000 n 
-0001091908 00000 n 
-0001099738 00000 n 
-0001099797 00000 n 
-0001099856 00000 n 
-0001099915 00000 n 
-0001099974 00000 n 
-0001100033 00000 n 
-0001100092 00000 n 
-0001100151 00000 n 
-0001100210 00000 n 
-0001100269 00000 n 
-0001100328 00000 n 
-0001100387 00000 n 
-0001100446 00000 n 
-0001100504 00000 n 
-0002867705 00000 n 
-0001104663 00000 n 
-0001104781 00000 n 
-0001103229 00000 n 
-0001103451 00000 n 
-0001103640 00000 n 
-0001104017 00000 n 
-0001105193 00000 n 
-0001102620 00000 n 
-0001100715 00000 n 
-0001104191 00000 n 
-0001104250 00000 n 
-0001103829 00000 n 
-0001104309 00000 n 
-0001104368 00000 n 
-0001104427 00000 n 
-0001104545 00000 n 
-0001104604 00000 n 
-0001104722 00000 n 
-0001104840 00000 n 
-0001104899 00000 n 
-0001104958 00000 n 
-0001105017 00000 n 
-0001105076 00000 n 
-0001107045 00000 n 
-0001107227 00000 n 
-0001107419 00000 n 
-0001107639 00000 n 
-0001107891 00000 n 
-0001108143 00000 n 
-0001108394 00000 n 
-0001111311 00000 n 
-0001111530 00000 n 
-0001108646 00000 n 
-0001109406 00000 n 
-0001106838 00000 n 
-0001105346 00000 n 
-0001108820 00000 n 
-0001108937 00000 n 
-0001108995 00000 n 
-0001109171 00000 n 
-0001109347 00000 n 
-0001147576 00000 n 
-0001147694 00000 n 
-0001147758 00000 n 
-0001147822 00000 n 
-0001147886 00000 n 
-0001111716 00000 n 
-0001111935 00000 n 
-0001112121 00000 n 
-0001112341 00000 n 
-0001112528 00000 n 
-0001112731 00000 n 
-0001112951 00000 n 
-0001113169 00000 n 
-0001113388 00000 n 
-0001113607 00000 n 
-0001113827 00000 n 
-0001114047 00000 n 
-0001114267 00000 n 
-0001114487 00000 n 
-0001114673 00000 n 
-0001114893 00000 n 
-0001115095 00000 n 
-0001115314 00000 n 
-0001115515 00000 n 
-0001115733 00000 n 
-0001115953 00000 n 
-0001116140 00000 n 
-0001116360 00000 n 
-0001119751 00000 n 
-0001116580 00000 n 
-0001117638 00000 n 
-0001110942 00000 n 
-0001109545 00000 n 
-0001116754 00000 n 
-0001116813 00000 n 
-0001116872 00000 n 
-0001116931 00000 n 
-0001116990 00000 n 
-0001117049 00000 n 
-0001117108 00000 n 
-0001117167 00000 n 
-0001117226 00000 n 
-0001117285 00000 n 
-0001117344 00000 n 
-0001117403 00000 n 
-0001117462 00000 n 
-0001117521 00000 n 
-0001117579 00000 n 
-0001153554 00000 n 
-0001153672 00000 n 
-0001156688 00000 n 
-0001119971 00000 n 
-0001120191 00000 n 
-0001120411 00000 n 
-0001120631 00000 n 
-0001120850 00000 n 
-0001121035 00000 n 
-0001121222 00000 n 
-0001121442 00000 n 
-0001121638 00000 n 
-0001121825 00000 n 
-0001122045 00000 n 
-0001122241 00000 n 
-0001122428 00000 n 
-0001122648 00000 n 
-0001122844 00000 n 
-0001123029 00000 n 
-0001123248 00000 n 
-0001123441 00000 n 
-0001123643 00000 n 
-0001123861 00000 n 
-0001124047 00000 n 
-0001124265 00000 n 
-0001124485 00000 n 
-0001124672 00000 n 
-0001124892 00000 n 
-0001125079 00000 n 
-0001128404 00000 n 
-0001128624 00000 n 
-0001125299 00000 n 
-0001126122 00000 n 
-0001119364 00000 n 
-0001117777 00000 n 
-0001125473 00000 n 
-0001125532 00000 n 
-0001125591 00000 n 
-0001125650 00000 n 
-0001125709 00000 n 
-0001125768 00000 n 
-0001125827 00000 n 
-0001125886 00000 n 
-0001125945 00000 n 
-0001126004 00000 n 
-0002862486 00000 n 
-0001126063 00000 n 
-0001148009 00000 n 
-0001148127 00000 n 
-0001153318 00000 n 
-0001153436 00000 n 
-0001128811 00000 n 
-0001129031 00000 n 
-0001129218 00000 n 
-0001129405 00000 n 
-0001129623 00000 n 
-0001129807 00000 n 
-0001129993 00000 n 
-0001130212 00000 n 
-0001130398 00000 n 
-0001130584 00000 n 
-0001130802 00000 n 
-0001130993 00000 n 
-0001131179 00000 n 
-0001131366 00000 n 
-0001131570 00000 n 
-0001131790 00000 n 
-0001131983 00000 n 
-0001132168 00000 n 
-0001132354 00000 n 
-0001132557 00000 n 
-0001132776 00000 n 
-0001132969 00000 n 
-0001133155 00000 n 
-0001133342 00000 n 
-0001133546 00000 n 
-0001133765 00000 n 
-0001133958 00000 n 
-0001134144 00000 n 
-0001134331 00000 n 
-0001134535 00000 n 
-0001134755 00000 n 
-0001134948 00000 n 
-0001135134 00000 n 
-0001135321 00000 n 
-0001135525 00000 n 
-0001135745 00000 n 
-0001135938 00000 n 
-0001136124 00000 n 
-0001136311 00000 n 
-0001136515 00000 n 
-0001136735 00000 n 
-0001136955 00000 n 
-0001137247 00000 n 
-0001127873 00000 n 
-0001126291 00000 n 
-0001137129 00000 n 
-0001137188 00000 n 
-0001156869 00000 n 
-0001156987 00000 n 
-0001157105 00000 n 
-0001157223 00000 n 
-0001157341 00000 n 
-0001159824 00000 n 
-0001159940 00000 n 
-0001162404 00000 n 
-0001162522 00000 n 
-0001162640 00000 n 
-0001166820 00000 n 
-0001140342 00000 n 
-0001140528 00000 n 
-0001140690 00000 n 
-0001140982 00000 n 
-0001140180 00000 n 
-0001137413 00000 n 
-0001140864 00000 n 
-0001140923 00000 n 
-0002867831 00000 n 
-0001143714 00000 n 
-0001143947 00000 n 
-0001143570 00000 n 
-0001141220 00000 n 
-0001143888 00000 n 
-0001146655 00000 n 
-0001146880 00000 n 
-0001147065 00000 n 
-0001147284 00000 n 
-0001148185 00000 n 
-0001146484 00000 n 
-0001144135 00000 n 
-0001147458 00000 n 
-0001147517 00000 n 
-0001147635 00000 n 
-0001147950 00000 n 
-0001148068 00000 n 
-0001438902 00000 n 
-0001150264 00000 n 
-0001150450 00000 n 
-0001150670 00000 n 
-0001150856 00000 n 
-0001151294 00000 n 
-0001151523 00000 n 
-0001151734 00000 n 
-0001151921 00000 n 
-0001152360 00000 n 
-0001152589 00000 n 
-0001152800 00000 n 
-0001153026 00000 n 
-0001153736 00000 n 
-0001150003 00000 n 
-0001148374 00000 n 
-0001153200 00000 n 
-0001153259 00000 n 
-0001153377 00000 n 
-0001151076 00000 n 
-0001153495 00000 n 
-0001152141 00000 n 
-0001153613 00000 n 
-0001539295 00000 n 
-0001444395 00000 n 
-0001156170 00000 n 
-0001156396 00000 n 
-0001157459 00000 n 
-0001156017 00000 n 
-0001153862 00000 n 
-0001156570 00000 n 
-0001156629 00000 n 
-0001156752 00000 n 
-0001156811 00000 n 
-0001156928 00000 n 
-0001157046 00000 n 
-0001157164 00000 n 
-0001157282 00000 n 
-0001157400 00000 n 
-0001444513 00000 n 
-0001159591 00000 n 
-0001160058 00000 n 
-0001159447 00000 n 
-0001157611 00000 n 
-0001159765 00000 n 
-0001159882 00000 n 
-0001159999 00000 n 
-0001162171 00000 n 
-0001162699 00000 n 
-0001162027 00000 n 
-0001160197 00000 n 
-0001162345 00000 n 
-0001162463 00000 n 
-0001162581 00000 n 
-0002867957 00000 n 
-0001165050 00000 n 
-0001165251 00000 n 
-0001165465 00000 n 
-0001165692 00000 n 
-0001165919 00000 n 
-0001166106 00000 n 
-0001166333 00000 n 
-0001169599 00000 n 
-0001166528 00000 n 
-0001167349 00000 n 
-0001164843 00000 n 
-0001162851 00000 n 
-0001166702 00000 n 
-0001166761 00000 n 
-0001166879 00000 n 
-0001167055 00000 n 
-0001167114 00000 n 
-0001167173 00000 n 
-0001167232 00000 n 
-0001167291 00000 n 
-0001169826 00000 n 
-0001170020 00000 n 
-0001170246 00000 n 
-0001170441 00000 n 
-0001170644 00000 n 
-0001170872 00000 n 
-0001171100 00000 n 
-0001171328 00000 n 
-0001171515 00000 n 
-0001171743 00000 n 
-0001171970 00000 n 
-0001172184 00000 n 
-0001172398 00000 n 
-0001172626 00000 n 
-0001172840 00000 n 
-0001173068 00000 n 
-0001173296 00000 n 
-0001173523 00000 n 
-0001173750 00000 n 
-0001173978 00000 n 
-0001174206 00000 n 
-0001174409 00000 n 
-0001174637 00000 n 
-0001174840 00000 n 
-0001175068 00000 n 
-0001175295 00000 n 
-0001179073 00000 n 
-0001179276 00000 n 
-0001175488 00000 n 
-0001176546 00000 n 
-0001169212 00000 n 
-0001167501 00000 n 
-0001175662 00000 n 
-0001175721 00000 n 
-0001175780 00000 n 
-0001175839 00000 n 
-0001175898 00000 n 
-0001175957 00000 n 
-0001176016 00000 n 
-0001176075 00000 n 
-0001176133 00000 n 
-0001176192 00000 n 
-0001176251 00000 n 
-0001176310 00000 n 
-0001176369 00000 n 
-0001176428 00000 n 
-0001176487 00000 n 
-0001190134 00000 n 
-0001190252 00000 n 
-0001179503 00000 n 
-0001179698 00000 n 
-0001179926 00000 n 
-0001180154 00000 n 
-0001180349 00000 n 
-0001180577 00000 n 
-0001180797 00000 n 
-0001181025 00000 n 
-0001181219 00000 n 
-0001181446 00000 n 
-0001181641 00000 n 
-0001182030 00000 n 
-0001182224 00000 n 
-0001182410 00000 n 
-0001183056 00000 n 
-0001178785 00000 n 
-0001176699 00000 n 
-0001182584 00000 n 
-0001182643 00000 n 
-0001182702 00000 n 
-0001182761 00000 n 
-0001182820 00000 n 
-0001182879 00000 n 
-0001182938 00000 n 
-0001181836 00000 n 
-0001182997 00000 n 
-0001190434 00000 n 
-0001190552 00000 n 
-0001185497 00000 n 
-0001185730 00000 n 
-0001185353 00000 n 
-0001183206 00000 n 
-0001185671 00000 n 
-0001188061 00000 n 
-0001188434 00000 n 
-0001188668 00000 n 
-0001188896 00000 n 
-0001189130 00000 n 
-0001189350 00000 n 
-0001189596 00000 n 
-0001189842 00000 n 
-0001190968 00000 n 
-0001187845 00000 n 
-0001185917 00000 n 
-0001190016 00000 n 
-0001190075 00000 n 
-0001190193 00000 n 
-0001188248 00000 n 
-0001190316 00000 n 
-0001190375 00000 n 
-0001190493 00000 n 
-0001190615 00000 n 
-0001190791 00000 n 
-0001190850 00000 n 
-0001190909 00000 n 
-0001478811 00000 n 
-0001478933 00000 n 
-0001192921 00000 n 
-0001193167 00000 n 
-0001193413 00000 n 
-0001193600 00000 n 
-0001193847 00000 n 
-0001194034 00000 n 
-0001194281 00000 n 
-0001194528 00000 n 
-0001194774 00000 n 
-0001195020 00000 n 
-0001195267 00000 n 
-0001195479 00000 n 
-0001195867 00000 n 
-0001196688 00000 n 
-0001192660 00000 n 
-0001191120 00000 n 
-0001196041 00000 n 
-0001196100 00000 n 
-0001196159 00000 n 
-0001196216 00000 n 
-0001196275 00000 n 
-0001196334 00000 n 
-0001196393 00000 n 
-0001196452 00000 n 
-0001196511 00000 n 
-0001196570 00000 n 
-0001195673 00000 n 
-0002868083 00000 n 
-0001198713 00000 n 
-0001198935 00000 n 
-0001199125 00000 n 
-0001199348 00000 n 
-0001199538 00000 n 
-0001199742 00000 n 
-0001199963 00000 n 
-0001200153 00000 n 
-0001200357 00000 n 
-0001200578 00000 n 
-0001200768 00000 n 
-0001200989 00000 n 
-0001201179 00000 n 
-0001201400 00000 n 
-0001201590 00000 n 
-0001201779 00000 n 
-0001201999 00000 n 
-0001202189 00000 n 
-0001202408 00000 n 
-0001202597 00000 n 
-0001202786 00000 n 
-0001203007 00000 n 
-0001203197 00000 n 
-0001203387 00000 n 
-0001203576 00000 n 
-0001203797 00000 n 
-0001203987 00000 n 
-0001204177 00000 n 
-0001204367 00000 n 
-0001204590 00000 n 
-0001204779 00000 n 
-0001204969 00000 n 
-0001205159 00000 n 
-0001205349 00000 n 
-0001205539 00000 n 
-0001205760 00000 n 
-0001205950 00000 n 
-0001206140 00000 n 
-0001208871 00000 n 
-0001209092 00000 n 
-0001209282 00000 n 
-0001209472 00000 n 
-0001209662 00000 n 
-0001209883 00000 n 
-0001210073 00000 n 
-0001210263 00000 n 
-0001206329 00000 n 
-0001206679 00000 n 
-0001198227 00000 n 
-0001196827 00000 n 
-0001206503 00000 n 
-0001206620 00000 n 
-0001213212 00000 n 
-0001213330 00000 n 
-0001213448 00000 n 
-0001213566 00000 n 
-0001213684 00000 n 
-0001213800 00000 n 
-0001213917 00000 n 
-0001216250 00000 n 
-0001216368 00000 n 
-0001216485 00000 n 
-0001216603 00000 n 
-0001216721 00000 n 
-0001210452 00000 n 
-0001210673 00000 n 
-0001210863 00000 n 
-0001211053 00000 n 
-0001211243 00000 n 
-0001211463 00000 n 
-0001211652 00000 n 
-0001211841 00000 n 
-0001212063 00000 n 
-0001212252 00000 n 
-0001212441 00000 n 
-0001212630 00000 n 
-0001212803 00000 n 
-0001213976 00000 n 
-0001208547 00000 n 
-0001206804 00000 n 
-0001212977 00000 n 
-0001213036 00000 n 
-0001213095 00000 n 
-0001213153 00000 n 
-0001213271 00000 n 
-0001213389 00000 n 
-0001213507 00000 n 
-0001213625 00000 n 
-0001213741 00000 n 
-0001213859 00000 n 
-0001216843 00000 n 
-0001216961 00000 n 
-0001217079 00000 n 
-0001217196 00000 n 
-0001215958 00000 n 
-0001217376 00000 n 
-0001215814 00000 n 
-0001214116 00000 n 
-0001216132 00000 n 
-0001216191 00000 n 
-0001216309 00000 n 
-0001216427 00000 n 
-0001216544 00000 n 
-0001216662 00000 n 
-0001216784 00000 n 
-0001216902 00000 n 
-0001217020 00000 n 
-0001217138 00000 n 
-0001217260 00000 n 
-0001219366 00000 n 
-0001219570 00000 n 
-0001219785 00000 n 
-0001219999 00000 n 
-0001220202 00000 n 
-0001220406 00000 n 
-0001220620 00000 n 
-0001220816 00000 n 
-0001221030 00000 n 
-0001221225 00000 n 
-0001221418 00000 n 
-0001221632 00000 n 
-0001221828 00000 n 
-0001222042 00000 n 
-0001222237 00000 n 
-0001222430 00000 n 
-0001222644 00000 n 
-0001222845 00000 n 
-0001223059 00000 n 
-0001223259 00000 n 
-0001223452 00000 n 
-0001223666 00000 n 
-0001223847 00000 n 
-0001224033 00000 n 
-0001224237 00000 n 
-0001224451 00000 n 
-0001224638 00000 n 
-0001224842 00000 n 
-0001225056 00000 n 
-0001225250 00000 n 
-0001225454 00000 n 
-0001225668 00000 n 
-0001225849 00000 n 
-0001228851 00000 n 
-0001229065 00000 n 
-0001229253 00000 n 
-0001226047 00000 n 
-0001226512 00000 n 
-0001218925 00000 n 
-0001217502 00000 n 
-0001226221 00000 n 
-0001226338 00000 n 
-0001226396 00000 n 
-0001226454 00000 n 
-0001311345 00000 n 
-0001311463 00000 n 
-0001313467 00000 n 
-0001313585 00000 n 
-0001313703 00000 n 
-0001313821 00000 n 
-0001316041 00000 n 
-0001316159 00000 n 
-0001316277 00000 n 
-0001318895 00000 n 
-0001319010 00000 n 
-0001229456 00000 n 
-0001229670 00000 n 
-0001229852 00000 n 
-0001230056 00000 n 
-0001230237 00000 n 
-0001230451 00000 n 
-0001230633 00000 n 
-0001230837 00000 n 
-0001231051 00000 n 
-0001231255 00000 n 
-0001231470 00000 n 
-0001231640 00000 n 
-0001231836 00000 n 
-0001232049 00000 n 
-0001232245 00000 n 
-0001232459 00000 n 
-0001232655 00000 n 
-0001232870 00000 n 
-0001233066 00000 n 
-0001233281 00000 n 
-0001233482 00000 n 
-0001233696 00000 n 
-0001233896 00000 n 
-0001234109 00000 n 
-0001234306 00000 n 
-0001234520 00000 n 
-0001234707 00000 n 
-0001234904 00000 n 
-0001235118 00000 n 
-0001235310 00000 n 
-0001235507 00000 n 
-0001235721 00000 n 
-0001235907 00000 n 
-0001236103 00000 n 
-0001236316 00000 n 
-0001236502 00000 n 
-0001239969 00000 n 
-0001236715 00000 n 
-0001237769 00000 n 
-0001228356 00000 n 
-0001226651 00000 n 
-0001236889 00000 n 
-0001236948 00000 n 
-0001237007 00000 n 
-0001237066 00000 n 
-0001237125 00000 n 
-0001237184 00000 n 
-0001237243 00000 n 
-0001237302 00000 n 
-0001237361 00000 n 
-0001237419 00000 n 
-0001237478 00000 n 
-0001237537 00000 n 
-0001237596 00000 n 
-0001237651 00000 n 
-0001237710 00000 n 
-0001322259 00000 n 
-0001322382 00000 n 
-0001240184 00000 n 
-0001240398 00000 n 
-0001240613 00000 n 
-0001240795 00000 n 
-0001241010 00000 n 
-0001241225 00000 n 
-0001241440 00000 n 
-0001241655 00000 n 
-0001241841 00000 n 
-0001242055 00000 n 
-0001242250 00000 n 
-0001242465 00000 n 
-0001242660 00000 n 
-0001242874 00000 n 
-0001243070 00000 n 
-0001243274 00000 n 
-0001243478 00000 n 
-0001243692 00000 n 
-0001243888 00000 n 
-0001244092 00000 n 
-0001244296 00000 n 
-0001244483 00000 n 
-0001244698 00000 n 
-0001244894 00000 n 
-0001245097 00000 n 
-0001245300 00000 n 
-0001245515 00000 n 
-0001245711 00000 n 
-0001245914 00000 n 
-0001246117 00000 n 
-0001246304 00000 n 
-0001246519 00000 n 
-0001246701 00000 n 
-0001246916 00000 n 
-0001249717 00000 n 
-0001249930 00000 n 
-0001250111 00000 n 
-0001247097 00000 n 
-0001247507 00000 n 
-0001239510 00000 n 
-0001237909 00000 n 
-0001247271 00000 n 
-0001247330 00000 n 
-0001247389 00000 n 
-0001247448 00000 n 
-0002868209 00000 n 
-0001324641 00000 n 
-0001324757 00000 n 
-0001324880 00000 n 
-0001324997 00000 n 
-0001325120 00000 n 
-0001325238 00000 n 
-0001328168 00000 n 
-0001328286 00000 n 
-0001328408 00000 n 
-0001331483 00000 n 
-0001331606 00000 n 
-0001331728 00000 n 
-0001250297 00000 n 
-0001250512 00000 n 
-0001250725 00000 n 
-0001250913 00000 n 
-0001251128 00000 n 
-0001251314 00000 n 
-0001251527 00000 n 
-0001251720 00000 n 
-0001251935 00000 n 
-0001252128 00000 n 
-0001252339 00000 n 
-0001252532 00000 n 
-0001252744 00000 n 
-0001252939 00000 n 
-0001253154 00000 n 
-0001253350 00000 n 
-0001253565 00000 n 
-0001253761 00000 n 
-0001253974 00000 n 
-0001254162 00000 n 
-0001254377 00000 n 
-0001254565 00000 n 
-0001254777 00000 n 
-0001254972 00000 n 
-0001255187 00000 n 
-0001255382 00000 n 
-0001255595 00000 n 
-0001255791 00000 n 
-0001256006 00000 n 
-0001256202 00000 n 
-0001256414 00000 n 
-0001259528 00000 n 
-0001259741 00000 n 
-0001259937 00000 n 
-0001260150 00000 n 
-0001256602 00000 n 
-0001256835 00000 n 
-0001249267 00000 n 
-0001247633 00000 n 
-0001256776 00000 n 
-0001334962 00000 n 
-0001335080 00000 n 
-0001335196 00000 n 
-0001338037 00000 n 
-0001338272 00000 n 
-0001340717 00000 n 
-0001343472 00000 n 
-0001346386 00000 n 
-0001346622 00000 n 
-0001349291 00000 n 
-0001260338 00000 n 
-0001260550 00000 n 
-0001260746 00000 n 
-0001260959 00000 n 
-0001261160 00000 n 
-0001261373 00000 n 
-0001261574 00000 n 
-0001261788 00000 n 
-0001261989 00000 n 
-0001262203 00000 n 
-0001262403 00000 n 
-0001262616 00000 n 
-0001262802 00000 n 
-0001262967 00000 n 
-0001263180 00000 n 
-0001263372 00000 n 
-0001263537 00000 n 
-0001263750 00000 n 
-0001263932 00000 n 
-0001264147 00000 n 
-0001264329 00000 n 
-0001264541 00000 n 
-0001264721 00000 n 
-0001264936 00000 n 
-0001265117 00000 n 
-0001265332 00000 n 
-0001265513 00000 n 
-0001265726 00000 n 
-0001265906 00000 n 
-0001266069 00000 n 
-0001266283 00000 n 
-0001266464 00000 n 
-0001266643 00000 n 
-0001266858 00000 n 
-0001267044 00000 n 
-0001267240 00000 n 
-0001271005 00000 n 
-0001271220 00000 n 
-0001271406 00000 n 
-0001267413 00000 n 
-0001267646 00000 n 
-0001259024 00000 n 
-0001256988 00000 n 
-0001267587 00000 n 
-0001349407 00000 n 
-0001349525 00000 n 
-0001351693 00000 n 
-0001351811 00000 n 
-0001351928 00000 n 
-0001355400 00000 n 
-0001355518 00000 n 
-0001358321 00000 n 
-0001358557 00000 n 
-0001361582 00000 n 
-0001361700 00000 n 
-0001361818 00000 n 
-0001361936 00000 n 
-0001271602 00000 n 
-0001271776 00000 n 
-0001271990 00000 n 
-0001272175 00000 n 
-0001272378 00000 n 
-0001272573 00000 n 
-0001272744 00000 n 
-0001272959 00000 n 
-0001273145 00000 n 
-0001273349 00000 n 
-0001273740 00000 n 
-0001273911 00000 n 
-0001274126 00000 n 
-0001274322 00000 n 
-0001274526 00000 n 
-0001274722 00000 n 
-0001274892 00000 n 
-0001275106 00000 n 
-0001275301 00000 n 
-0001275504 00000 n 
-0001275700 00000 n 
-0001275870 00000 n 
-0001276085 00000 n 
-0001276270 00000 n 
-0001276466 00000 n 
-0001276857 00000 n 
-0001277044 00000 n 
-0001277259 00000 n 
-0001277445 00000 n 
-0001277641 00000 n 
-0001278032 00000 n 
-0001278219 00000 n 
-0001278431 00000 n 
-0001278613 00000 n 
-0001278778 00000 n 
-0001278990 00000 n 
-0001279203 00000 n 
-0001279384 00000 n 
-0001279545 00000 n 
-0001279756 00000 n 
-0001279937 00000 n 
-0001280097 00000 n 
-0001280309 00000 n 
-0001280491 00000 n 
-0001283722 00000 n 
-0001283937 00000 n 
-0001284119 00000 n 
-0001280652 00000 n 
-0001280944 00000 n 
-0001270411 00000 n 
-0001267772 00000 n 
-0001280826 00000 n 
-0001273545 00000 n 
-0001276662 00000 n 
-0001277837 00000 n 
-0001280885 00000 n 
-0001365222 00000 n 
-0001365337 00000 n 
-0001368344 00000 n 
-0001368462 00000 n 
-0001368580 00000 n 
-0001372066 00000 n 
-0001372184 00000 n 
-0001375409 00000 n 
-0001375527 00000 n 
-0001375645 00000 n 
-0001375763 00000 n 
-0001284315 00000 n 
-0001284475 00000 n 
-0001284690 00000 n 
-0001284872 00000 n 
-0001285068 00000 n 
-0001285230 00000 n 
-0001285444 00000 n 
-0001285626 00000 n 
-0001285822 00000 n 
-0001285984 00000 n 
-0001286197 00000 n 
-0001286401 00000 n 
-0001286613 00000 n 
-0001286815 00000 n 
-0001287027 00000 n 
-0001287207 00000 n 
-0001287371 00000 n 
-0001287583 00000 n 
-0001287775 00000 n 
-0001287988 00000 n 
-0001288192 00000 n 
-0001288405 00000 n 
-0001288578 00000 n 
-0001288791 00000 n 
-0001288977 00000 n 
-0001289181 00000 n 
-0001289393 00000 n 
-0001289585 00000 n 
-0001289771 00000 n 
-0001289986 00000 n 
-0001290199 00000 n 
-0001290381 00000 n 
-0001293229 00000 n 
-0001290592 00000 n 
-0001291001 00000 n 
-0001283263 00000 n 
-0001281124 00000 n 
-0001290766 00000 n 
-0001290825 00000 n 
-0001290883 00000 n 
-0001290942 00000 n 
-0001379169 00000 n 
-0001379287 00000 n 
-0001379405 00000 n 
-0001382927 00000 n 
-0001383042 00000 n 
-0001387043 00000 n 
-0001387161 00000 n 
-0001387279 00000 n 
-0001387397 00000 n 
-0001391755 00000 n 
-0001391878 00000 n 
-0001293442 00000 n 
-0001293655 00000 n 
-0001293870 00000 n 
-0001294085 00000 n 
-0001294289 00000 n 
-0001294502 00000 n 
-0001294706 00000 n 
-0001294919 00000 n 
-0001295134 00000 n 
-0001295338 00000 n 
-0001295553 00000 n 
-0001295734 00000 n 
-0001295948 00000 n 
-0001296163 00000 n 
-0001296377 00000 n 
-0001296559 00000 n 
-0001296741 00000 n 
-0001296956 00000 n 
-0001297137 00000 n 
-0001297352 00000 n 
-0001297533 00000 n 
-0001297715 00000 n 
-0001297930 00000 n 
-0001298112 00000 n 
-0001298294 00000 n 
-0001299175 00000 n 
-0001292860 00000 n 
-0001291154 00000 n 
-0001298468 00000 n 
-0001298527 00000 n 
-0001298586 00000 n 
-0001298645 00000 n 
-0001298704 00000 n 
-0001298763 00000 n 
-0001298822 00000 n 
-0001298881 00000 n 
-0001298940 00000 n 
-0001298998 00000 n 
-0001299057 00000 n 
-0001299116 00000 n 
-0001395458 00000 n 
-0001395638 00000 n 
-0001395756 00000 n 
-0001395879 00000 n 
-0001396001 00000 n 
-0001301959 00000 n 
-0001302140 00000 n 
-0001302307 00000 n 
-0001302477 00000 n 
-0001302769 00000 n 
-0001301788 00000 n 
-0001299328 00000 n 
-0001302651 00000 n 
-0001302710 00000 n 
-0002868335 00000 n 
-0001305107 00000 n 
-0001305340 00000 n 
-0001304963 00000 n 
-0001302932 00000 n 
-0001305281 00000 n 
-0001308170 00000 n 
-0001308403 00000 n 
-0001308026 00000 n 
-0001305514 00000 n 
-0001308344 00000 n 
-0001311053 00000 n 
-0001311581 00000 n 
-0001310909 00000 n 
-0001308577 00000 n 
-0001311227 00000 n 
-0001311286 00000 n 
-0001311404 00000 n 
-0001311522 00000 n 
-0001313234 00000 n 
-0001313879 00000 n 
-0001313090 00000 n 
-0001311782 00000 n 
-0001313408 00000 n 
-0001313526 00000 n 
-0001313644 00000 n 
-0001313762 00000 n 
-0001315749 00000 n 
-0001316336 00000 n 
-0001315605 00000 n 
-0001313992 00000 n 
-0001315923 00000 n 
-0001315982 00000 n 
-0001316100 00000 n 
-0001316218 00000 n 
-0001318603 00000 n 
-0001319128 00000 n 
-0001318459 00000 n 
-0001316462 00000 n 
-0001318777 00000 n 
-0001318836 00000 n 
-0001318952 00000 n 
-0001319069 00000 n 
-0002868461 00000 n 
-0001321845 00000 n 
-0001322026 00000 n 
-0001322441 00000 n 
-0001321692 00000 n 
-0001319254 00000 n 
-0001322200 00000 n 
-0001322323 00000 n 
-0001324290 00000 n 
-0001325356 00000 n 
-0001324146 00000 n 
-0001322579 00000 n 
-0001324464 00000 n 
-0001324523 00000 n 
-0001324582 00000 n 
-0001324699 00000 n 
-0001324821 00000 n 
-0001324939 00000 n 
-0001325061 00000 n 
-0001325179 00000 n 
-0001325297 00000 n 
-0001327561 00000 n 
-0001327748 00000 n 
-0001327935 00000 n 
-0001328472 00000 n 
-0001327399 00000 n 
-0001325482 00000 n 
-0001328109 00000 n 
-0001328227 00000 n 
-0001328350 00000 n 
-0001330820 00000 n 
-0001331005 00000 n 
-0001331191 00000 n 
-0001331786 00000 n 
-0001330658 00000 n 
-0001328598 00000 n 
-0001331365 00000 n 
-0001331424 00000 n 
-0001331547 00000 n 
-0001331670 00000 n 
-0001334489 00000 n 
-0001334670 00000 n 
-0001335260 00000 n 
-0001334336 00000 n 
-0001331912 00000 n 
-0001334844 00000 n 
-0001334903 00000 n 
-0001335021 00000 n 
-0001335138 00000 n 
-0001336898 00000 n 
-0001337069 00000 n 
-0001337263 00000 n 
-0001337434 00000 n 
-0001337627 00000 n 
-0001338330 00000 n 
-0001336718 00000 n 
-0001335399 00000 n 
-0001337801 00000 n 
-0001337860 00000 n 
-0001337978 00000 n 
-0001338096 00000 n 
-0001338214 00000 n 
-0002868587 00000 n 
-0001340060 00000 n 
-0001340231 00000 n 
-0001340425 00000 n 
-0001341011 00000 n 
-0001339898 00000 n 
-0001338456 00000 n 
-0001340599 00000 n 
-0001340658 00000 n 
-0001340776 00000 n 
-0001340893 00000 n 
-0001342815 00000 n 
-0001342986 00000 n 
-0001345423 00000 n 
-0001345594 00000 n 
-0001343180 00000 n 
-0001343708 00000 n 
-0001342653 00000 n 
-0001341137 00000 n 
-0001343354 00000 n 
-0001343413 00000 n 
-0001343531 00000 n 
-0001343649 00000 n 
-0001345788 00000 n 
-0001345959 00000 n 
-0001346153 00000 n 
-0001346797 00000 n 
-0001345243 00000 n 
-0001343834 00000 n 
-0001346327 00000 n 
-0001346445 00000 n 
-0001346563 00000 n 
-0001346681 00000 n 
-0001348634 00000 n 
-0001348805 00000 n 
-0001348999 00000 n 
-0001349584 00000 n 
-0001348472 00000 n 
-0001346923 00000 n 
-0001349173 00000 n 
-0001349232 00000 n 
-0001349349 00000 n 
-0001349466 00000 n 
-0001351401 00000 n 
-0001352104 00000 n 
-0001351257 00000 n 
-0001349710 00000 n 
-0001351575 00000 n 
-0001351634 00000 n 
-0001351752 00000 n 
-0001351869 00000 n 
-0001351987 00000 n 
-0001354097 00000 n 
-0001354268 00000 n 
-0001354462 00000 n 
-0001354633 00000 n 
-0001354827 00000 n 
-0001354990 00000 n 
-0001355576 00000 n 
-0001353908 00000 n 
-0001352230 00000 n 
-0001355164 00000 n 
-0001355223 00000 n 
-0001355341 00000 n 
-0001355459 00000 n 
-0002868713 00000 n 
-0001357313 00000 n 
-0001357478 00000 n 
-0001357664 00000 n 
-0001357835 00000 n 
-0001358029 00000 n 
-0001358734 00000 n 
-0001357133 00000 n 
-0001355702 00000 n 
-0001358203 00000 n 
-0001358262 00000 n 
-0001358380 00000 n 
-0001358498 00000 n 
-0001358616 00000 n 
-0001360582 00000 n 
-0001360753 00000 n 
-0001360947 00000 n 
-0001361111 00000 n 
-0001364410 00000 n 
-0001361290 00000 n 
-0001361991 00000 n 
-0001360402 00000 n 
-0001358860 00000 n 
-0001361464 00000 n 
-0001361523 00000 n 
-0001361641 00000 n 
-0001361759 00000 n 
-0001361877 00000 n 
-0001364585 00000 n 
-0001364760 00000 n 
-0001364930 00000 n 
-0001365455 00000 n 
-0001364239 00000 n 
-0001362117 00000 n 
-0001365104 00000 n 
-0001365163 00000 n 
-0001365280 00000 n 
-0001365396 00000 n 
-0001367770 00000 n 
-0001367941 00000 n 
-0001371230 00000 n 
-0001368111 00000 n 
-0001368639 00000 n 
-0001367608 00000 n 
-0001365618 00000 n 
-0001368285 00000 n 
-0001368403 00000 n 
-0001368521 00000 n 
-0001371401 00000 n 
-0001371588 00000 n 
-0001371774 00000 n 
-0001372302 00000 n 
-0001371059 00000 n 
-0001368802 00000 n 
-0001371948 00000 n 
-0001372007 00000 n 
-0001372125 00000 n 
-0001372243 00000 n 
-0001374343 00000 n 
-0001374507 00000 n 
-0001374668 00000 n 
-0001374841 00000 n 
-0001375003 00000 n 
-0001377875 00000 n 
-0001375176 00000 n 
-0001375822 00000 n 
-0001374154 00000 n 
-0001372465 00000 n 
-0001375350 00000 n 
-0001375468 00000 n 
-0001375586 00000 n 
-0001375704 00000 n 
-0002868839 00000 n 
-0001378037 00000 n 
-0001378209 00000 n 
-0001378370 00000 n 
-0001378543 00000 n 
-0001378705 00000 n 
-0001381871 00000 n 
-0001378877 00000 n 
-0001379464 00000 n 
-0001377677 00000 n 
-0001375961 00000 n 
-0001379051 00000 n 
-0001379110 00000 n 
-0001379228 00000 n 
-0001379346 00000 n 
-0001382032 00000 n 
-0001382205 00000 n 
-0001382420 00000 n 
-0001382635 00000 n 
-0001383160 00000 n 
-0001381691 00000 n 
-0001379603 00000 n 
-0001382809 00000 n 
-0001382868 00000 n 
-0001382985 00000 n 
-0001383101 00000 n 
-0001385885 00000 n 
-0001386050 00000 n 
-0001386265 00000 n 
-0001386450 00000 n 
-0001386636 00000 n 
-0001386810 00000 n 
-0001387515 00000 n 
-0001385696 00000 n 
-0001383361 00000 n 
-0001386984 00000 n 
-0001387102 00000 n 
-0001387220 00000 n 
-0001387338 00000 n 
-0001387456 00000 n 
-0001390590 00000 n 
-0001390763 00000 n 
-0001390976 00000 n 
-0001391152 00000 n 
-0001391337 00000 n 
-0001394484 00000 n 
-0001391522 00000 n 
-0001391999 00000 n 
-0001390401 00000 n 
-0001387703 00000 n 
-0001391696 00000 n 
-0001391819 00000 n 
-0001391941 00000 n 
-0001394659 00000 n 
-0001394841 00000 n 
-0001395044 00000 n 
-0001398297 00000 n 
-0001395225 00000 n 
-0001396299 00000 n 
-0001394304 00000 n 
-0001392150 00000 n 
-0001395399 00000 n 
-0001395520 00000 n 
-0001395579 00000 n 
-0001395697 00000 n 
-0001395820 00000 n 
-0001395942 00000 n 
-0001396065 00000 n 
-0001396240 00000 n 
-0001398524 00000 n 
-0001398751 00000 n 
-0001398932 00000 n 
-0001399158 00000 n 
-0001399352 00000 n 
-0001399579 00000 n 
-0001399807 00000 n 
-0001400002 00000 n 
-0001400230 00000 n 
-0001400412 00000 n 
-0001400594 00000 n 
-0001400789 00000 n 
-0001400970 00000 n 
-0001404019 00000 n 
-0001404259 00000 n 
-0001404454 00000 n 
-0001401152 00000 n 
-0001402091 00000 n 
-0001398027 00000 n 
-0001396463 00000 n 
-0001401326 00000 n 
-0001401385 00000 n 
-0001401444 00000 n 
-0001401503 00000 n 
-0001401562 00000 n 
-0001401621 00000 n 
-0001401680 00000 n 
-0001401739 00000 n 
-0001401798 00000 n 
-0001401857 00000 n 
-0001401916 00000 n 
-0002868965 00000 n 
-0001404649 00000 n 
-0001404831 00000 n 
-0001405012 00000 n 
-0001405198 00000 n 
-0001405424 00000 n 
-0001405682 00000 n 
-0001405940 00000 n 
-0001406198 00000 n 
-0001406423 00000 n 
-0001406616 00000 n 
-0001406841 00000 n 
-0001407032 00000 n 
-0001407257 00000 n 
-0001407449 00000 n 
-0001407641 00000 n 
-0001407867 00000 n 
-0001408054 00000 n 
-0001408257 00000 n 
-0001408483 00000 n 
-0001408702 00000 n 
-0001411943 00000 n 
-0001408928 00000 n 
-0001409926 00000 n 
-0001403668 00000 n 
-0001402269 00000 n 
-0001409102 00000 n 
-0001409161 00000 n 
-0001409220 00000 n 
-0001409279 00000 n 
-0001409455 00000 n 
-0001409514 00000 n 
-0001409573 00000 n 
-0001409632 00000 n 
-0001409691 00000 n 
-0001409749 00000 n 
-0001409808 00000 n 
-0001409867 00000 n 
-0001439018 00000 n 
-0001439081 00000 n 
-0001439145 00000 n 
-0001412169 00000 n 
-0001412395 00000 n 
-0001412621 00000 n 
-0001412847 00000 n 
-0001413073 00000 n 
-0001413299 00000 n 
-0001413485 00000 n 
-0001413709 00000 n 
-0001413912 00000 n 
-0001414138 00000 n 
-0001414341 00000 n 
-0001414567 00000 n 
-0001414793 00000 n 
-0001414986 00000 n 
-0001415212 00000 n 
-0001415405 00000 n 
-0001415631 00000 n 
-0001415834 00000 n 
-0001416027 00000 n 
-0001416253 00000 n 
-0001416478 00000 n 
-0001416704 00000 n 
-0001416930 00000 n 
-0001420481 00000 n 
-0001420707 00000 n 
-0001417155 00000 n 
-0001418212 00000 n 
-0001411583 00000 n 
-0001410078 00000 n 
-0001417329 00000 n 
-0001417388 00000 n 
-0001417447 00000 n 
-0001417506 00000 n 
-0001417565 00000 n 
-0001417624 00000 n 
-0001417683 00000 n 
-0001417742 00000 n 
-0001417801 00000 n 
-0001417860 00000 n 
-0001417919 00000 n 
-0001417978 00000 n 
-0001418035 00000 n 
-0001418094 00000 n 
-0001418153 00000 n 
-0001444636 00000 n 
-0001420933 00000 n 
-0001421158 00000 n 
-0001421350 00000 n 
-0001421574 00000 n 
-0001421765 00000 n 
-0001421958 00000 n 
-0001422184 00000 n 
-0001422378 00000 n 
-0001422570 00000 n 
-0001422796 00000 n 
-0001422992 00000 n 
-0001423184 00000 n 
-0001423409 00000 n 
-0001423604 00000 n 
-0001423808 00000 n 
-0001424034 00000 n 
-0001424227 00000 n 
-0001424452 00000 n 
-0001424675 00000 n 
-0001424867 00000 n 
-0001425092 00000 n 
-0001425318 00000 n 
-0001425511 00000 n 
-0001425737 00000 n 
-0001425930 00000 n 
-0001429972 00000 n 
-0001430197 00000 n 
-0001430390 00000 n 
-0001426315 00000 n 
-0001427020 00000 n 
-0001420085 00000 n 
-0001418366 00000 n 
-0001426489 00000 n 
-0001426548 00000 n 
-0001426607 00000 n 
-0001426666 00000 n 
-0001426725 00000 n 
-0001426784 00000 n 
-0001426843 00000 n 
-0001426902 00000 n 
-0001426961 00000 n 
-0001426123 00000 n 
-0001447198 00000 n 
-0001439268 00000 n 
-0001439386 00000 n 
-0001444277 00000 n 
-0001447380 00000 n 
-0001447498 00000 n 
-0001430583 00000 n 
-0001430809 00000 n 
-0001431002 00000 n 
-0001431194 00000 n 
-0001431420 00000 n 
-0001431646 00000 n 
-0001431838 00000 n 
-0001432130 00000 n 
-0001429747 00000 n 
-0001427188 00000 n 
-0001432012 00000 n 
-0001432071 00000 n 
-0001447616 00000 n 
-0001447734 00000 n 
-0001447852 00000 n 
-0001435021 00000 n 
-0001435254 00000 n 
-0001434877 00000 n 
-0001432381 00000 n 
-0001435195 00000 n 
-0001437973 00000 n 
-0001438191 00000 n 
-0001438384 00000 n 
-0001438610 00000 n 
-0001439444 00000 n 
-0001437802 00000 n 
-0001435455 00000 n 
-0001438784 00000 n 
-0001438843 00000 n 
-0001438960 00000 n 
-0001439209 00000 n 
-0001439327 00000 n 
-0002869091 00000 n 
-0001441438 00000 n 
-0001441631 00000 n 
-0001441857 00000 n 
-0001442053 00000 n 
-0001442282 00000 n 
-0001442493 00000 n 
-0001442686 00000 n 
-0001442912 00000 n 
-0001443108 00000 n 
-0001443337 00000 n 
-0001443548 00000 n 
-0001443767 00000 n 
-0001443985 00000 n 
-0001444700 00000 n 
-0001441186 00000 n 
-0001439633 00000 n 
-0001444159 00000 n 
-0001444218 00000 n 
-0001444336 00000 n 
-0001444454 00000 n 
-0001444577 00000 n 
-0001446712 00000 n 
-0001450075 00000 n 
-0001446906 00000 n 
-0001448087 00000 n 
-0001446559 00000 n 
-0001444826 00000 n 
-0001447080 00000 n 
-0001447139 00000 n 
-0001447262 00000 n 
-0001447321 00000 n 
-0001447439 00000 n 
-0001447557 00000 n 
-0001447675 00000 n 
-0001447793 00000 n 
-0001447911 00000 n 
-0001450294 00000 n 
-0001450527 00000 n 
-0001450759 00000 n 
-0001450951 00000 n 
-0001451184 00000 n 
-0001451388 00000 n 
-0001451621 00000 n 
-0001451821 00000 n 
-0001452053 00000 n 
-0001452253 00000 n 
-0001452487 00000 n 
-0001452687 00000 n 
-0001452890 00000 n 
-0001453124 00000 n 
-0001453358 00000 n 
-0001453592 00000 n 
-0001453785 00000 n 
-0001454019 00000 n 
-0001454212 00000 n 
-0001454445 00000 n 
-0001454645 00000 n 
-0001454879 00000 n 
-0001455113 00000 n 
-0001455333 00000 n 
-0001455553 00000 n 
-0001455785 00000 n 
-0001459224 00000 n 
-0001459427 00000 n 
-0001456003 00000 n 
-0001457121 00000 n 
-0001449688 00000 n 
-0001448226 00000 n 
-0001456177 00000 n 
-0001456236 00000 n 
-0001456295 00000 n 
-0001456354 00000 n 
-0001456413 00000 n 
-0001456472 00000 n 
-0001456531 00000 n 
-0001456590 00000 n 
-0001456649 00000 n 
-0001456708 00000 n 
-0001456767 00000 n 
-0001456826 00000 n 
-0001456885 00000 n 
-0001456944 00000 n 
-0001457003 00000 n 
-0001457062 00000 n 
-0001478693 00000 n 
-0001459661 00000 n 
-0001459863 00000 n 
-0001460096 00000 n 
-0001460299 00000 n 
-0001460533 00000 n 
-0001460767 00000 n 
-0001461001 00000 n 
-0001461202 00000 n 
-0001461436 00000 n 
-0001461670 00000 n 
-0001461903 00000 n 
-0001462137 00000 n 
-0001462371 00000 n 
-0001462605 00000 n 
-0001462808 00000 n 
-0001463042 00000 n 
-0001463244 00000 n 
-0001463477 00000 n 
-0001463711 00000 n 
-0001463912 00000 n 
-0001464115 00000 n 
-0001464348 00000 n 
-0001464549 00000 n 
-0001468368 00000 n 
-0001464783 00000 n 
-0001465841 00000 n 
-0001458855 00000 n 
-0001457260 00000 n 
-0001464957 00000 n 
-0001465016 00000 n 
-0001465075 00000 n 
-0001465134 00000 n 
-0001465193 00000 n 
-0001465252 00000 n 
-0001465310 00000 n 
-0001465369 00000 n 
-0001465428 00000 n 
-0001465487 00000 n 
-0001465546 00000 n 
-0001465605 00000 n 
-0001465664 00000 n 
-0001465723 00000 n 
-0001465782 00000 n 
-0001468602 00000 n 
-0001468803 00000 n 
-0001469037 00000 n 
-0001469263 00000 n 
-0001469496 00000 n 
-0001469697 00000 n 
-0001469898 00000 n 
-0001470132 00000 n 
-0001470333 00000 n 
-0001470567 00000 n 
-0001470768 00000 n 
-0001471169 00000 n 
-0001471370 00000 n 
-0001471563 00000 n 
-0001472091 00000 n 
-0001468089 00000 n 
-0001465981 00000 n 
-0001471737 00000 n 
-0001471796 00000 n 
-0001471855 00000 n 
-0001471914 00000 n 
-0001471973 00000 n 
-0001470969 00000 n 
-0001472032 00000 n 
-0001479115 00000 n 
-0001479233 00000 n 
-0001479350 00000 n 
-0001474688 00000 n 
-0001474921 00000 n 
-0001474544 00000 n 
-0001472241 00000 n 
-0001474862 00000 n 
-0002869217 00000 n 
-0001477326 00000 n 
-0001477711 00000 n 
-0001477939 00000 n 
-0001478173 00000 n 
-0001478401 00000 n 
-0001479532 00000 n 
-0001477137 00000 n 
-0001475108 00000 n 
-0001478575 00000 n 
-0001478634 00000 n 
-0001478752 00000 n 
-0001478875 00000 n 
-0001477519 00000 n 
-0001478997 00000 n 
-0001479056 00000 n 
-0001479174 00000 n 
-0001479292 00000 n 
-0001479414 00000 n 
-0001481346 00000 n 
-0001481559 00000 n 
-0001481809 00000 n 
-0001482061 00000 n 
-0001482313 00000 n 
-0001482566 00000 n 
-0001482758 00000 n 
-0001483010 00000 n 
-0001483203 00000 n 
-0001483456 00000 n 
-0001483709 00000 n 
-0001483961 00000 n 
-0001484212 00000 n 
-0001484465 00000 n 
-0001484682 00000 n 
-0001485082 00000 n 
-0001486081 00000 n 
-0001481058 00000 n 
-0001479671 00000 n 
-0001485256 00000 n 
-0001485373 00000 n 
-0001485432 00000 n 
-0001485491 00000 n 
-0001485550 00000 n 
-0001485609 00000 n 
-0001485668 00000 n 
-0001485727 00000 n 
-0001485786 00000 n 
-0001485845 00000 n 
-0001485904 00000 n 
-0001485963 00000 n 
-0001486022 00000 n 
-0001484882 00000 n 
-0001488014 00000 n 
-0001488220 00000 n 
-0001488446 00000 n 
-0001488672 00000 n 
-0001488898 00000 n 
-0001489086 00000 n 
-0001489312 00000 n 
-0001489506 00000 n 
-0001489732 00000 n 
-0001489959 00000 n 
-0001490153 00000 n 
-0001490380 00000 n 
-0001490607 00000 n 
-0001490795 00000 n 
-0001491675 00000 n 
-0001487753 00000 n 
-0001486233 00000 n 
-0001490969 00000 n 
-0001491144 00000 n 
-0001491203 00000 n 
-0001491262 00000 n 
-0001491321 00000 n 
-0001491380 00000 n 
-0001491439 00000 n 
-0001491498 00000 n 
-0001491557 00000 n 
-0001491616 00000 n 
-0001494816 00000 n 
-0001493641 00000 n 
-0001493838 00000 n 
-0001494077 00000 n 
-0001494271 00000 n 
-0001494465 00000 n 
-0001495285 00000 n 
-0001493461 00000 n 
-0001491841 00000 n 
-0001494639 00000 n 
-0001494698 00000 n 
-0001494757 00000 n 
-0001494875 00000 n 
-0001495051 00000 n 
-0001495110 00000 n 
-0001495169 00000 n 
-0001497882 00000 n 
-0001498101 00000 n 
-0001498287 00000 n 
-0001498505 00000 n 
-0001498708 00000 n 
-0001498927 00000 n 
-0001499130 00000 n 
-0001499349 00000 n 
-0001499566 00000 n 
-0001499785 00000 n 
-0001500222 00000 n 
-0001500440 00000 n 
-0001500618 00000 n 
-0001500837 00000 n 
-0001501270 00000 n 
-0001501472 00000 n 
-0001502235 00000 n 
-0001497585 00000 n 
-0001495449 00000 n 
-0001501646 00000 n 
-0001501763 00000 n 
-0001501822 00000 n 
-0001501881 00000 n 
-0001501940 00000 n 
-0001501999 00000 n 
-0001502058 00000 n 
-0001502117 00000 n 
-0001502176 00000 n 
-0001500004 00000 n 
-0001501054 00000 n 
-0001510325 00000 n 
-0001510443 00000 n 
-0001510560 00000 n 
-0001505166 00000 n 
-0001505602 00000 n 
-0001505806 00000 n 
-0001506025 00000 n 
-0001506244 00000 n 
-0001506463 00000 n 
-0001506648 00000 n 
-0001507018 00000 n 
-0001507428 00000 n 
-0001504941 00000 n 
-0001502415 00000 n 
-0001507192 00000 n 
-0001505384 00000 n 
-0001507251 00000 n 
-0001506834 00000 n 
-0001507310 00000 n 
-0001507369 00000 n 
-0002869343 00000 n 
-0001510678 00000 n 
-0001510796 00000 n 
-0001513702 00000 n 
-0001513882 00000 n 
-0001509854 00000 n 
-0001510033 00000 n 
-0001510854 00000 n 
-0001509701 00000 n 
-0001507580 00000 n 
-0001510207 00000 n 
-0001510266 00000 n 
-0001510384 00000 n 
-0001510502 00000 n 
-0001510619 00000 n 
-0001510737 00000 n 
-0001513410 00000 n 
-0001514351 00000 n 
-0001513266 00000 n 
-0001511020 00000 n 
-0001513584 00000 n 
-0001513643 00000 n 
-0001513764 00000 n 
-0001513823 00000 n 
-0001513941 00000 n 
-0001514116 00000 n 
-0001514175 00000 n 
-0001516310 00000 n 
-0001516536 00000 n 
-0001516763 00000 n 
-0001516990 00000 n 
-0001517186 00000 n 
-0001517414 00000 n 
-0001517641 00000 n 
-0001517868 00000 n 
-0001518054 00000 n 
-0001518279 00000 n 
-0001518465 00000 n 
-0001519462 00000 n 
-0001516076 00000 n 
-0001514504 00000 n 
-0001518639 00000 n 
-0001518698 00000 n 
-0001518757 00000 n 
-0001518933 00000 n 
-0001518992 00000 n 
-0001519168 00000 n 
-0001519227 00000 n 
-0001519286 00000 n 
-0001519344 00000 n 
-0001519403 00000 n 
-0001555561 00000 n 
-0001555679 00000 n 
-0001521715 00000 n 
-0001521942 00000 n 
-0001522128 00000 n 
-0001522355 00000 n 
-0001522548 00000 n 
-0001522775 00000 n 
-0001522963 00000 n 
-0001523166 00000 n 
-0001523395 00000 n 
-0001523624 00000 n 
-0001523810 00000 n 
-0001524039 00000 n 
-0001524242 00000 n 
-0001524471 00000 n 
-0001524674 00000 n 
-0001524903 00000 n 
-0001525131 00000 n 
-0001525360 00000 n 
-0001525589 00000 n 
-0001525817 00000 n 
-0001526046 00000 n 
-0001526275 00000 n 
-0001526504 00000 n 
-0001529404 00000 n 
-0001529608 00000 n 
-0001529837 00000 n 
-0001526700 00000 n 
-0001527580 00000 n 
-0001521364 00000 n 
-0001519614 00000 n 
-0001526874 00000 n 
-0001526933 00000 n 
-0001526992 00000 n 
-0001527050 00000 n 
-0001527109 00000 n 
-0001527168 00000 n 
-0001527227 00000 n 
-0001527286 00000 n 
-0001527345 00000 n 
-0001527404 00000 n 
-0001527462 00000 n 
-0001527521 00000 n 
-0001558972 00000 n 
-0001559094 00000 n 
-0001559217 00000 n 
-0001530033 00000 n 
-0001530262 00000 n 
-0001530491 00000 n 
-0001530687 00000 n 
-0001530915 00000 n 
-0001531109 00000 n 
-0001531338 00000 n 
-0001531534 00000 n 
-0001531730 00000 n 
-0001531923 00000 n 
-0001532151 00000 n 
-0001532346 00000 n 
-0001532540 00000 n 
-0001532769 00000 n 
-0001532962 00000 n 
-0001533156 00000 n 
-0001533385 00000 n 
-0001533570 00000 n 
-0001533766 00000 n 
-0001533960 00000 n 
-0001534189 00000 n 
-0001534374 00000 n 
-0001534560 00000 n 
-0001534754 00000 n 
-0001534983 00000 n 
-0001535179 00000 n 
-0001535373 00000 n 
-0001535602 00000 n 
-0001535798 00000 n 
-0001535994 00000 n 
-0001536187 00000 n 
-0001536415 00000 n 
-0001536599 00000 n 
-0001536784 00000 n 
-0001536978 00000 n 
-0001537207 00000 n 
-0001537403 00000 n 
-0001537597 00000 n 
-0001537826 00000 n 
-0001538022 00000 n 
-0001538216 00000 n 
-0001538445 00000 n 
-0001538630 00000 n 
-0001541414 00000 n 
-0001541608 00000 n 
-0001541837 00000 n 
-0001542033 00000 n 
-0001538826 00000 n 
-0001539412 00000 n 
-0001528846 00000 n 
-0001527720 00000 n 
-0001539000 00000 n 
-0001539059 00000 n 
-0001539118 00000 n 
-0001539177 00000 n 
-0001539236 00000 n 
-0001539354 00000 n 
-0001559399 00000 n 
-0001559517 00000 n 
-0001559635 00000 n 
-0001559753 00000 n 
-0001561772 00000 n 
-0001561890 00000 n 
-0001562008 00000 n 
-0001562126 00000 n 
-0001562244 00000 n 
-0001562362 00000 n 
-0001562480 00000 n 
-0001542219 00000 n 
-0001542413 00000 n 
-0001542642 00000 n 
-0001542838 00000 n 
-0001543032 00000 n 
-0001543261 00000 n 
-0001543457 00000 n 
-0001543651 00000 n 
-0001543878 00000 n 
-0001544073 00000 n 
-0001544269 00000 n 
-0001544463 00000 n 
-0001544690 00000 n 
-0001544885 00000 n 
-0001545071 00000 n 
-0001545265 00000 n 
-0001545492 00000 n 
-0001545687 00000 n 
-0001545880 00000 n 
-0001546106 00000 n 
-0001546299 00000 n 
-0001546494 00000 n 
-0001546688 00000 n 
-0001546915 00000 n 
-0001547109 00000 n 
-0001547295 00000 n 
-0001547489 00000 n 
-0001547716 00000 n 
-0001547910 00000 n 
-0001548104 00000 n 
-0001548331 00000 n 
-0001548527 00000 n 
-0001548721 00000 n 
-0001548950 00000 n 
-0001549146 00000 n 
-0001549332 00000 n 
-0001549526 00000 n 
-0001549755 00000 n 
-0001549951 00000 n 
-0001550180 00000 n 
-0001550376 00000 n 
-0001550603 00000 n 
-0001550798 00000 n 
-0001551187 00000 n 
-0001551479 00000 n 
-0001540838 00000 n 
-0001539524 00000 n 
-0001551361 00000 n 
-0001551420 00000 n 
-0001550992 00000 n 
-0002869469 00000 n 
-0001562598 00000 n 
-0001562714 00000 n 
-0001562832 00000 n 
-0001562950 00000 n 
-0001565968 00000 n 
-0001566086 00000 n 
-0001566203 00000 n 
-0001566321 00000 n 
-0001566439 00000 n 
-0001566557 00000 n 
-0001566675 00000 n 
-0001566791 00000 n 
-0001566909 00000 n 
-0001574153 00000 n 
-0001554186 00000 n 
-0001554381 00000 n 
-0001554567 00000 n 
-0001554752 00000 n 
-0001555210 00000 n 
-0001555738 00000 n 
-0001553997 00000 n 
-0001551631 00000 n 
-0001555384 00000 n 
-0001555443 00000 n 
-0001555502 00000 n 
-0001555620 00000 n 
-0001554981 00000 n 
-0001558680 00000 n 
-0001559812 00000 n 
-0001558536 00000 n 
-0001555939 00000 n 
-0001558854 00000 n 
-0001558913 00000 n 
-0001559035 00000 n 
-0001559158 00000 n 
-0001559281 00000 n 
-0001559340 00000 n 
-0001559458 00000 n 
-0001559576 00000 n 
-0001559694 00000 n 
-0001561480 00000 n 
-0001563009 00000 n 
-0001561336 00000 n 
-0001560050 00000 n 
-0001561654 00000 n 
-0001561713 00000 n 
-0001561831 00000 n 
-0001561949 00000 n 
-0001562067 00000 n 
-0001562185 00000 n 
-0001562303 00000 n 
-0001562421 00000 n 
-0001562539 00000 n 
-0001562656 00000 n 
-0001562773 00000 n 
-0001562891 00000 n 
-0001564761 00000 n 
-0001565219 00000 n 
-0001565676 00000 n 
-0001566967 00000 n 
-0001564581 00000 n 
-0001563135 00000 n 
-0001565850 00000 n 
-0001565909 00000 n 
-0001566027 00000 n 
-0001564990 00000 n 
-0001566145 00000 n 
-0001566262 00000 n 
-0001566380 00000 n 
-0001565447 00000 n 
-0001566498 00000 n 
-0001566616 00000 n 
-0001566733 00000 n 
-0001566850 00000 n 
-0001569458 00000 n 
-0001569681 00000 n 
-0001569936 00000 n 
-0001570159 00000 n 
-0001570414 00000 n 
-0001570923 00000 n 
-0001571178 00000 n 
-0001571399 00000 n 
-0001571621 00000 n 
-0001571825 00000 n 
-0001572047 00000 n 
-0001572251 00000 n 
-0001572443 00000 n 
-0001572834 00000 n 
-0001573038 00000 n 
-0001573260 00000 n 
-0001573463 00000 n 
-0001573658 00000 n 
-0001576850 00000 n 
-0001577072 00000 n 
-0001577276 00000 n 
-0001577472 00000 n 
-0001577668 00000 n 
-0001573861 00000 n 
-0001574564 00000 n 
-0001569134 00000 n 
-0001567093 00000 n 
-0001574035 00000 n 
-0001574094 00000 n 
-0001574212 00000 n 
-0001574388 00000 n 
-0001570669 00000 n 
-0001574446 00000 n 
-0001574505 00000 n 
-0001572639 00000 n 
-0001603561 00000 n 
-0001603679 00000 n 
-0001603742 00000 n 
-0001603860 00000 n 
-0001603924 00000 n 
-0001603988 00000 n 
-0001604111 00000 n 
-0001604229 00000 n 
-0001607776 00000 n 
-0001577871 00000 n 
-0001578093 00000 n 
-0001578283 00000 n 
-0001578505 00000 n 
-0001578694 00000 n 
-0001578915 00000 n 
-0001579105 00000 n 
-0001579308 00000 n 
-0001579531 00000 n 
-0001579723 00000 n 
-0001579946 00000 n 
-0001580168 00000 n 
-0001580391 00000 n 
-0001580613 00000 n 
-0001580836 00000 n 
-0001581032 00000 n 
-0001581255 00000 n 
-0001581457 00000 n 
-0001581679 00000 n 
-0001581902 00000 n 
-0001582125 00000 n 
-0001582328 00000 n 
-0001582551 00000 n 
-0001582742 00000 n 
-0001582965 00000 n 
-0001583153 00000 n 
-0001583376 00000 n 
-0001583571 00000 n 
-0001583794 00000 n 
-0001587268 00000 n 
-0001587491 00000 n 
-0001583990 00000 n 
-0001584753 00000 n 
-0001576400 00000 n 
-0001574745 00000 n 
-0001584164 00000 n 
-0001584223 00000 n 
-0001584282 00000 n 
-0001584341 00000 n 
-0001584400 00000 n 
-0001584459 00000 n 
-0001584517 00000 n 
-0001584576 00000 n 
-0001584635 00000 n 
-0001584694 00000 n 
-0002869595 00000 n 
-0001607893 00000 n 
-0001610608 00000 n 
-0001610726 00000 n 
-0001610849 00000 n 
-0001610972 00000 n 
-0001611090 00000 n 
-0001611207 00000 n 
-0001587694 00000 n 
-0001587917 00000 n 
-0001588118 00000 n 
-0001588341 00000 n 
-0001588563 00000 n 
-0001588750 00000 n 
-0001588954 00000 n 
-0001589360 00000 n 
-0001589546 00000 n 
-0001589768 00000 n 
-0001589954 00000 n 
-0001590176 00000 n 
-0001590399 00000 n 
-0001590602 00000 n 
-0001590805 00000 n 
-0001591028 00000 n 
-0001591251 00000 n 
-0001591474 00000 n 
-0001591697 00000 n 
-0001591920 00000 n 
-0001592143 00000 n 
-0001592346 00000 n 
-0001592569 00000 n 
-0001592772 00000 n 
-0001592995 00000 n 
-0001593218 00000 n 
-0001593408 00000 n 
-0001593630 00000 n 
-0001593853 00000 n 
-0001597342 00000 n 
-0001597565 00000 n 
-0001594076 00000 n 
-0001594897 00000 n 
-0001586836 00000 n 
-0001584892 00000 n 
-0001594250 00000 n 
-0001594309 00000 n 
-0001589158 00000 n 
-0002859395 00000 n 
-0001594368 00000 n 
-0001594426 00000 n 
-0001594485 00000 n 
-0001594544 00000 n 
-0001594603 00000 n 
-0001594662 00000 n 
-0001594720 00000 n 
-0001594779 00000 n 
-0001594838 00000 n 
-0001613550 00000 n 
-0001613668 00000 n 
-0001613786 00000 n 
-0001613904 00000 n 
-0001614022 00000 n 
-0001618423 00000 n 
-0001597788 00000 n 
-0001597991 00000 n 
-0001598213 00000 n 
-0001598403 00000 n 
-0001598626 00000 n 
-0001598816 00000 n 
-0001599038 00000 n 
-0001599228 00000 n 
-0001599607 00000 n 
-0001599802 00000 n 
-0001599992 00000 n 
-0001600182 00000 n 
-0001600710 00000 n 
-0001597072 00000 n 
-0001595051 00000 n 
-0001600356 00000 n 
-0001600415 00000 n 
-0001600474 00000 n 
-0001600533 00000 n 
-0001600592 00000 n 
-0001599418 00000 n 
-0001600651 00000 n 
-0001618599 00000 n 
-0001618717 00000 n 
-0001603046 00000 n 
-0001606874 00000 n 
-0001603269 00000 n 
-0001604347 00000 n 
-0001602893 00000 n 
-0001600835 00000 n 
-0001603443 00000 n 
-0001603502 00000 n 
-0001603620 00000 n 
-0001603801 00000 n 
-0001604052 00000 n 
-0001604170 00000 n 
-0001604288 00000 n 
-0001607097 00000 n 
-0001607320 00000 n 
-0001607543 00000 n 
-0001608011 00000 n 
-0001606703 00000 n 
-0001604498 00000 n 
-0001607717 00000 n 
-0001607835 00000 n 
-0001607952 00000 n 
-0001610093 00000 n 
-0001610316 00000 n 
-0001611265 00000 n 
-0001609940 00000 n 
-0001608162 00000 n 
-0001610490 00000 n 
-0001610549 00000 n 
-0001610667 00000 n 
-0001610790 00000 n 
-0001610913 00000 n 
-0001611031 00000 n 
-0001611148 00000 n 
-0001613258 00000 n 
-0001614080 00000 n 
-0001613114 00000 n 
-0001611403 00000 n 
-0001613432 00000 n 
-0001613491 00000 n 
-0001613609 00000 n 
-0001613727 00000 n 
-0001613845 00000 n 
-0001613963 00000 n 
-0002869721 00000 n 
-0001616283 00000 n 
-0001616470 00000 n 
-0001616695 00000 n 
-0001616899 00000 n 
-0001617103 00000 n 
-0001617328 00000 n 
-0001617523 00000 n 
-0001617746 00000 n 
-0001617940 00000 n 
-0001621134 00000 n 
-0001621359 00000 n 
-0001618131 00000 n 
-0001619009 00000 n 
-0001616058 00000 n 
-0001614219 00000 n 
-0001618305 00000 n 
-0001618364 00000 n 
-0001618482 00000 n 
-0001618540 00000 n 
-0001618658 00000 n 
-0001618776 00000 n 
-0001618950 00000 n 
-0001633330 00000 n 
-0001633448 00000 n 
-0001633570 00000 n 
-0001621553 00000 n 
-0001621778 00000 n 
-0001621973 00000 n 
-0001622166 00000 n 
-0001622391 00000 n 
-0001622586 00000 n 
-0001622811 00000 n 
-0001623007 00000 n 
-0001623200 00000 n 
-0001623425 00000 n 
-0001623614 00000 n 
-0001623818 00000 n 
-0001624042 00000 n 
-0001624222 00000 n 
-0001624407 00000 n 
-0001624609 00000 n 
-0001624834 00000 n 
-0001625015 00000 n 
-0001625218 00000 n 
-0001625443 00000 n 
-0001625630 00000 n 
-0001625834 00000 n 
-0001626058 00000 n 
-0001626251 00000 n 
-0001626454 00000 n 
-0001626679 00000 n 
-0001626872 00000 n 
-0001627076 00000 n 
-0001627268 00000 n 
-0001627494 00000 n 
-0001627687 00000 n 
-0001627879 00000 n 
-0001628105 00000 n 
-0001628296 00000 n 
-0001628521 00000 n 
-0001628746 00000 n 
-0001631736 00000 n 
-0001631962 00000 n 
-0001628938 00000 n 
-0001629406 00000 n 
-0001620648 00000 n 
-0001619174 00000 n 
-0001629112 00000 n 
-0001629171 00000 n 
-0001629229 00000 n 
-0001629288 00000 n 
-0001629347 00000 n 
-0001635625 00000 n 
-0001635743 00000 n 
-0001635861 00000 n 
-0001635979 00000 n 
-0001638294 00000 n 
-0001638412 00000 n 
-0001638530 00000 n 
-0001638648 00000 n 
-0001641107 00000 n 
-0001641282 00000 n 
-0001632155 00000 n 
-0001632348 00000 n 
-0001632538 00000 n 
-0001632730 00000 n 
-0001632920 00000 n 
-0001633629 00000 n 
-0001631538 00000 n 
-0001629572 00000 n 
-0001633094 00000 n 
-0001633153 00000 n 
-0001633212 00000 n 
-0001633271 00000 n 
-0001633389 00000 n 
-0001633512 00000 n 
-0001635333 00000 n 
-0001636037 00000 n 
-0001635189 00000 n 
-0001633795 00000 n 
-0001635507 00000 n 
-0001635566 00000 n 
-0001635684 00000 n 
-0001635802 00000 n 
-0001635920 00000 n 
-0001638002 00000 n 
-0001638706 00000 n 
-0001637858 00000 n 
-0001636150 00000 n 
-0001638176 00000 n 
-0001638235 00000 n 
-0001638353 00000 n 
-0001638471 00000 n 
-0001638589 00000 n 
-0001643526 00000 n 
-0001643749 00000 n 
-0001640815 00000 n 
-0001641517 00000 n 
-0001640671 00000 n 
-0001638832 00000 n 
-0001640989 00000 n 
-0001641048 00000 n 
-0001641165 00000 n 
-0001641223 00000 n 
-0001641341 00000 n 
-0002869847 00000 n 
-0001643973 00000 n 
-0001644196 00000 n 
-0001644401 00000 n 
-0001644628 00000 n 
-0001644821 00000 n 
-0001648528 00000 n 
-0001645048 00000 n 
-0001646046 00000 n 
-0001643319 00000 n 
-0001641670 00000 n 
-0001645222 00000 n 
-0001645281 00000 n 
-0001645340 00000 n 
-0001645399 00000 n 
-0001645458 00000 n 
-0001645517 00000 n 
-0001645576 00000 n 
-0001645635 00000 n 
-0001645694 00000 n 
-0001645869 00000 n 
-0001645928 00000 n 
-0001645987 00000 n 
-0001648755 00000 n 
-0001648981 00000 n 
-0001649208 00000 n 
-0001649435 00000 n 
-0001649662 00000 n 
-0001649864 00000 n 
-0001650090 00000 n 
-0001650293 00000 n 
-0001650520 00000 n 
-0001650745 00000 n 
-0001650972 00000 n 
-0001651176 00000 n 
-0001651380 00000 n 
-0001651607 00000 n 
-0001651801 00000 n 
-0001652005 00000 n 
-0001652232 00000 n 
-0001652426 00000 n 
-0001652630 00000 n 
-0001652857 00000 n 
-0001653051 00000 n 
-0001653278 00000 n 
-0001653472 00000 n 
-0001653697 00000 n 
-0001653888 00000 n 
-0001654115 00000 n 
-0001654303 00000 n 
-0001657713 00000 n 
-0001657940 00000 n 
-0001658121 00000 n 
-0001658307 00000 n 
-0001654507 00000 n 
-0001655152 00000 n 
-0001648132 00000 n 
-0001646212 00000 n 
-0001654681 00000 n 
-0001654740 00000 n 
-0001654799 00000 n 
-0001654858 00000 n 
-0001654917 00000 n 
-0001654976 00000 n 
-0001655035 00000 n 
-0001655094 00000 n 
-0001792524 00000 n 
-0001732532 00000 n 
-0001735274 00000 n 
-0001735392 00000 n 
-0001735515 00000 n 
-0001735638 00000 n 
-0001735756 00000 n 
-0001738282 00000 n 
-0001658511 00000 n 
-0001658737 00000 n 
-0001658916 00000 n 
-0001659117 00000 n 
-0001659344 00000 n 
-0001659531 00000 n 
-0001659734 00000 n 
-0001659927 00000 n 
-0001660153 00000 n 
-0001660346 00000 n 
-0001660571 00000 n 
-0001660764 00000 n 
-0001660991 00000 n 
-0001661195 00000 n 
-0001661421 00000 n 
-0001661625 00000 n 
-0001661852 00000 n 
-0001662040 00000 n 
-0001662235 00000 n 
-0001662459 00000 n 
-0001662655 00000 n 
-0001662881 00000 n 
-0001663075 00000 n 
-0001663300 00000 n 
-0001663496 00000 n 
-0001663723 00000 n 
-0001663950 00000 n 
-0001664144 00000 n 
-0001664371 00000 n 
-0001664564 00000 n 
-0001664790 00000 n 
-0001664983 00000 n 
-0001665178 00000 n 
-0001665402 00000 n 
-0001668711 00000 n 
-0001668908 00000 n 
-0001669134 00000 n 
-0001665587 00000 n 
-0001666351 00000 n 
-0001657227 00000 n 
-0001655319 00000 n 
-0001665761 00000 n 
-0001665820 00000 n 
-0001665879 00000 n 
-0001665938 00000 n 
-0001665997 00000 n 
-0001666056 00000 n 
-0001666115 00000 n 
-0001666174 00000 n 
-0001666233 00000 n 
-0001666292 00000 n 
-0001738400 00000 n 
-0001738523 00000 n 
-0001738641 00000 n 
-0001741217 00000 n 
-0001741335 00000 n 
-0001741453 00000 n 
-0001741571 00000 n 
-0001669321 00000 n 
-0001669517 00000 n 
-0001669742 00000 n 
-0001669927 00000 n 
-0001670153 00000 n 
-0001670380 00000 n 
-0001670605 00000 n 
-0001670832 00000 n 
-0001671059 00000 n 
-0001671286 00000 n 
-0001671513 00000 n 
-0001671699 00000 n 
-0001671926 00000 n 
-0001672122 00000 n 
-0001672349 00000 n 
-0001672544 00000 n 
-0001672770 00000 n 
-0001672966 00000 n 
-0001673170 00000 n 
-0001673374 00000 n 
-0001673600 00000 n 
-0001673796 00000 n 
-0001674000 00000 n 
-0001674204 00000 n 
-0001674390 00000 n 
-0001674617 00000 n 
-0001674813 00000 n 
-0001675016 00000 n 
-0001675219 00000 n 
-0001675446 00000 n 
-0001675642 00000 n 
-0001675845 00000 n 
-0001676048 00000 n 
-0001679258 00000 n 
-0001676235 00000 n 
-0001676821 00000 n 
-0001668243 00000 n 
-0001666531 00000 n 
-0001676409 00000 n 
-0001676468 00000 n 
-0001676527 00000 n 
-0001676586 00000 n 
-0001676645 00000 n 
-0001676703 00000 n 
-0001676762 00000 n 
-0001741688 00000 n 
-0001744008 00000 n 
-0001744126 00000 n 
-0001744244 00000 n 
-0001744362 00000 n 
-0001744480 00000 n 
-0001747127 00000 n 
-0001747249 00000 n 
-0001750108 00000 n 
-0001679485 00000 n 
-0001679710 00000 n 
-0001679898 00000 n 
-0001680123 00000 n 
-0001680319 00000 n 
-0001680544 00000 n 
-0001680740 00000 n 
-0001680965 00000 n 
-0001681153 00000 n 
-0001681377 00000 n 
-0001681571 00000 n 
-0001681796 00000 n 
-0001681992 00000 n 
-0001682217 00000 n 
-0001682405 00000 n 
-0001682629 00000 n 
-0001682817 00000 n 
-0001683041 00000 n 
-0001683237 00000 n 
-0001683462 00000 n 
-0001683658 00000 n 
-0001683883 00000 n 
-0001684069 00000 n 
-0001684234 00000 n 
-0001684458 00000 n 
-0001684649 00000 n 
-0001684814 00000 n 
-0001685039 00000 n 
-0001685232 00000 n 
-0001685457 00000 n 
-0001685650 00000 n 
-0001685876 00000 n 
-0001686068 00000 n 
-0001686292 00000 n 
-0001690323 00000 n 
-0001690550 00000 n 
-0001690744 00000 n 
-0001686485 00000 n 
-0001686777 00000 n 
-0001678799 00000 n 
-0001676960 00000 n 
-0001686659 00000 n 
-0001686718 00000 n 
-0001750231 00000 n 
-0001750354 00000 n 
-0001750472 00000 n 
-0001752746 00000 n 
-0001752864 00000 n 
-0001752982 00000 n 
-0001755186 00000 n 
-0001755304 00000 n 
-0001755422 00000 n 
-0001755539 00000 n 
-0001758381 00000 n 
-0001758498 00000 n 
-0001758616 00000 n 
-0001758734 00000 n 
-0001761668 00000 n 
-0001761785 00000 n 
-0001690923 00000 n 
-0001691149 00000 n 
-0001691334 00000 n 
-0001691529 00000 n 
-0001691693 00000 n 
-0001691920 00000 n 
-0001692106 00000 n 
-0001692302 00000 n 
-0001692464 00000 n 
-0001692689 00000 n 
-0001692873 00000 n 
-0001693075 00000 n 
-0001693269 00000 n 
-0001693445 00000 n 
-0001693671 00000 n 
-0001693866 00000 n 
-0001694069 00000 n 
-0001694265 00000 n 
-0001694442 00000 n 
-0001694669 00000 n 
-0001694854 00000 n 
-0001695050 00000 n 
-0001695442 00000 n 
-0001695629 00000 n 
-0001695856 00000 n 
-0001696042 00000 n 
-0001696246 00000 n 
-0001696638 00000 n 
-0001696814 00000 n 
-0001697041 00000 n 
-0001697237 00000 n 
-0001697441 00000 n 
-0001697637 00000 n 
-0001697812 00000 n 
-0001698038 00000 n 
-0001698223 00000 n 
-0001698418 00000 n 
-0001698809 00000 n 
-0001698996 00000 n 
-0001699220 00000 n 
-0001699414 00000 n 
-0001699583 00000 n 
-0001699808 00000 n 
-0001700033 00000 n 
-0001700227 00000 n 
-0001703529 00000 n 
-0001703756 00000 n 
-0001700393 00000 n 
-0001700685 00000 n 
-0001689720 00000 n 
-0001686916 00000 n 
-0001700567 00000 n 
-0001695246 00000 n 
-0001696442 00000 n 
-0001698613 00000 n 
-0001700626 00000 n 
-0002869973 00000 n 
-0001761903 00000 n 
-0001762020 00000 n 
-0001765326 00000 n 
-0001765444 00000 n 
-0001765562 00000 n 
-0001768904 00000 n 
-0001769022 00000 n 
-0001769140 00000 n 
-0001772645 00000 n 
-0001772763 00000 n 
-0001772881 00000 n 
-0001703950 00000 n 
-0001704117 00000 n 
-0001704342 00000 n 
-0001704536 00000 n 
-0001704699 00000 n 
-0001704923 00000 n 
-0001705117 00000 n 
-0001705344 00000 n 
-0001705538 00000 n 
-0001705929 00000 n 
-0001706092 00000 n 
-0001706317 00000 n 
-0001706511 00000 n 
-0001706677 00000 n 
-0001706903 00000 n 
-0001707097 00000 n 
-0001707293 00000 n 
-0001707460 00000 n 
-0001707684 00000 n 
-0001707887 00000 n 
-0001708112 00000 n 
-0001708315 00000 n 
-0001708540 00000 n 
-0001708733 00000 n 
-0001708904 00000 n 
-0001709128 00000 n 
-0001709320 00000 n 
-0001709545 00000 n 
-0001709749 00000 n 
-0001709974 00000 n 
-0001710164 00000 n 
-0001710389 00000 n 
-0001710575 00000 n 
-0001710779 00000 n 
-0001711002 00000 n 
-0001711193 00000 n 
-0001713985 00000 n 
-0001714189 00000 n 
-0001711378 00000 n 
-0001711670 00000 n 
-0001703034 00000 n 
-0001700892 00000 n 
-0001711552 00000 n 
-0001711611 00000 n 
-0001705734 00000 n 
-0001776263 00000 n 
-0001776379 00000 n 
-0001776497 00000 n 
-0001779930 00000 n 
-0001780047 00000 n 
-0001780165 00000 n 
-0001783783 00000 n 
-0001783901 00000 n 
-0001784019 00000 n 
-0001784135 00000 n 
-0001788252 00000 n 
-0001788370 00000 n 
-0001788493 00000 n 
-0001714416 00000 n 
-0001714643 00000 n 
-0001714870 00000 n 
-0001715095 00000 n 
-0001715288 00000 n 
-0001715481 00000 n 
-0001715707 00000 n 
-0001715900 00000 n 
-0001716126 00000 n 
-0001716319 00000 n 
-0001716512 00000 n 
-0001716739 00000 n 
-0001716932 00000 n 
-0001717124 00000 n 
-0001717317 00000 n 
-0001717520 00000 n 
-0001717745 00000 n 
-0001717936 00000 n 
-0001718129 00000 n 
-0001718323 00000 n 
-0001718527 00000 n 
-0001718752 00000 n 
-0001718944 00000 n 
-0001719137 00000 n 
-0001719331 00000 n 
-0001719535 00000 n 
-0001719761 00000 n 
-0001719954 00000 n 
-0001720147 00000 n 
-0001720341 00000 n 
-0001724451 00000 n 
-0001724677 00000 n 
-0001724869 00000 n 
-0001725062 00000 n 
-0001725256 00000 n 
-0001720545 00000 n 
-0001721131 00000 n 
-0001713553 00000 n 
-0001711836 00000 n 
-0001720719 00000 n 
-0001720778 00000 n 
-0001720837 00000 n 
-0001720896 00000 n 
-0001720955 00000 n 
-0001721014 00000 n 
-0001721072 00000 n 
-0001792706 00000 n 
-0001792824 00000 n 
-0001792947 00000 n 
-0001793070 00000 n 
-0001795751 00000 n 
-0001795874 00000 n 
-0001795997 00000 n 
-0001725460 00000 n 
-0001725686 00000 n 
-0001725878 00000 n 
-0001726071 00000 n 
-0001726265 00000 n 
-0001726469 00000 n 
-0001726695 00000 n 
-0001726889 00000 n 
-0001727276 00000 n 
-0001727479 00000 n 
-0001727706 00000 n 
-0001727910 00000 n 
-0001728101 00000 n 
-0001728452 00000 n 
-0001724145 00000 n 
-0001721270 00000 n 
-0001728275 00000 n 
-0001727083 00000 n 
-0001728334 00000 n 
-0001728393 00000 n 
-0001798698 00000 n 
-0001798821 00000 n 
-0001798944 00000 n 
-0001799067 00000 n 
-0001731677 00000 n 
-0001731864 00000 n 
-0001732052 00000 n 
-0001732240 00000 n 
-0001732650 00000 n 
-0001731506 00000 n 
-0001728656 00000 n 
-0001732414 00000 n 
-0001732473 00000 n 
-0001732591 00000 n 
-0001734876 00000 n 
-0001735041 00000 n 
-0001735874 00000 n 
-0001734723 00000 n 
-0001732852 00000 n 
-0001735215 00000 n 
-0001735333 00000 n 
-0001735456 00000 n 
-0001735579 00000 n 
-0001735697 00000 n 
-0001735815 00000 n 
-0001738049 00000 n 
-0001738700 00000 n 
-0001737905 00000 n 
-0001736000 00000 n 
-0001738223 00000 n 
-0001738341 00000 n 
-0001738464 00000 n 
-0001738582 00000 n 
-0002870099 00000 n 
-0001740866 00000 n 
-0001741746 00000 n 
-0001740722 00000 n 
-0001738826 00000 n 
-0001741040 00000 n 
-0001741099 00000 n 
-0001741158 00000 n 
-0001741276 00000 n 
-0001741394 00000 n 
-0001741512 00000 n 
-0001741629 00000 n 
-0001743716 00000 n 
-0001744598 00000 n 
-0001743572 00000 n 
-0001741885 00000 n 
-0001743890 00000 n 
-0001743949 00000 n 
-0001744067 00000 n 
-0001744185 00000 n 
-0001744303 00000 n 
-0001744421 00000 n 
-0001744539 00000 n 
-0001746894 00000 n 
-0001747372 00000 n 
-0001746750 00000 n 
-0001744737 00000 n 
-0001747068 00000 n 
-0001747191 00000 n 
-0001747313 00000 n 
-0001749875 00000 n 
-0001750530 00000 n 
-0001749731 00000 n 
-0001747511 00000 n 
-0001750049 00000 n 
-0001750172 00000 n 
-0001750295 00000 n 
-0001750413 00000 n 
-0001752454 00000 n 
-0001753100 00000 n 
-0001752310 00000 n 
-0001750669 00000 n 
-0001752628 00000 n 
-0001752687 00000 n 
-0001752805 00000 n 
-0001752923 00000 n 
-0001753041 00000 n 
-0001754953 00000 n 
-0001755598 00000 n 
-0001754809 00000 n 
-0001753239 00000 n 
-0001755127 00000 n 
-0001755245 00000 n 
-0001755363 00000 n 
-0001755480 00000 n 
-0002870225 00000 n 
-0001757576 00000 n 
-0001757738 00000 n 
-0001757903 00000 n 
-0001758089 00000 n 
-0001758793 00000 n 
-0001757405 00000 n 
-0001755737 00000 n 
-0001758263 00000 n 
-0001758322 00000 n 
-0001758440 00000 n 
-0001758557 00000 n 
-0001758675 00000 n 
-0001761034 00000 n 
-0001761213 00000 n 
-0001761376 00000 n 
-0001762138 00000 n 
-0001760872 00000 n 
-0001758932 00000 n 
-0001761550 00000 n 
-0001761609 00000 n 
-0001761726 00000 n 
-0001761844 00000 n 
-0001761961 00000 n 
-0001762079 00000 n 
-0001764577 00000 n 
-0001764741 00000 n 
-0001764916 00000 n 
-0001765093 00000 n 
-0001765680 00000 n 
-0001764406 00000 n 
-0001762277 00000 n 
-0001765267 00000 n 
-0001765385 00000 n 
-0001765503 00000 n 
-0001765621 00000 n 
-0001768308 00000 n 
-0001768495 00000 n 
-0001771820 00000 n 
-0001768671 00000 n 
-0001769199 00000 n 
-0001768146 00000 n 
-0001765856 00000 n 
-0001768845 00000 n 
-0001768963 00000 n 
-0001769081 00000 n 
-0001771997 00000 n 
-0001772184 00000 n 
-0001774969 00000 n 
-0001772353 00000 n 
-0001772940 00000 n 
-0001771649 00000 n 
-0001769375 00000 n 
-0001772527 00000 n 
-0001772586 00000 n 
-0001772704 00000 n 
-0001772822 00000 n 
-0001775136 00000 n 
-0001775304 00000 n 
-0001775471 00000 n 
-0001775639 00000 n 
-0001775803 00000 n 
-0001778805 00000 n 
-0001775971 00000 n 
-0001776556 00000 n 
-0001774771 00000 n 
-0001773116 00000 n 
-0001776145 00000 n 
-0001776204 00000 n 
-0001776321 00000 n 
-0001776438 00000 n 
-0002870351 00000 n 
-0001778969 00000 n 
-0001779137 00000 n 
-0001779304 00000 n 
-0001779470 00000 n 
-0001779638 00000 n 
-0001780224 00000 n 
-0001778616 00000 n 
-0001776708 00000 n 
-0001779812 00000 n 
-0001779871 00000 n 
-0001779988 00000 n 
-0001780106 00000 n 
-0001782723 00000 n 
-0001782894 00000 n 
-0001783119 00000 n 
-0001783305 00000 n 
-0001783491 00000 n 
-0001784193 00000 n 
-0001782543 00000 n 
-0001780376 00000 n 
-0001783665 00000 n 
-0001783724 00000 n 
-0001783842 00000 n 
-0001783960 00000 n 
-0001784078 00000 n 
-0001787184 00000 n 
-0001787374 00000 n 
-0001787564 00000 n 
-0001787791 00000 n 
-0001787960 00000 n 
-0001788555 00000 n 
-0001787004 00000 n 
-0001784381 00000 n 
-0001788134 00000 n 
-0001788193 00000 n 
-0001788311 00000 n 
-0001788434 00000 n 
-0001791695 00000 n 
-0001791880 00000 n 
-0001792066 00000 n 
-0001792232 00000 n 
-0001793193 00000 n 
-0001791524 00000 n 
-0001788706 00000 n 
-0001792406 00000 n 
-0001792465 00000 n 
-0001792588 00000 n 
-0001792647 00000 n 
-0001792765 00000 n 
-0001792888 00000 n 
-0001793011 00000 n 
-0001793134 00000 n 
-0001795518 00000 n 
-0001796120 00000 n 
-0001795374 00000 n 
-0001793344 00000 n 
-0001795692 00000 n 
-0001795815 00000 n 
-0001795938 00000 n 
-0001796061 00000 n 
-0001798465 00000 n 
-0001799243 00000 n 
-0001798321 00000 n 
-0001796246 00000 n 
-0001798639 00000 n 
-0001798762 00000 n 
-0001798885 00000 n 
-0001799008 00000 n 
-0001799126 00000 n 
-0002870477 00000 n 
-0001801352 00000 n 
-0001801589 00000 n 
-0001801793 00000 n 
-0001801997 00000 n 
-0001802234 00000 n 
-0001802430 00000 n 
-0001802667 00000 n 
-0001802861 00000 n 
-0001803098 00000 n 
-0001803294 00000 n 
-0001803531 00000 n 
-0001803727 00000 n 
-0001803963 00000 n 
-0001804153 00000 n 
-0001804356 00000 n 
-0001804593 00000 n 
-0001804786 00000 n 
-0001804990 00000 n 
-0001805227 00000 n 
-0001805409 00000 n 
-0001805613 00000 n 
-0001805850 00000 n 
-0001806031 00000 n 
-0001806217 00000 n 
-0001806421 00000 n 
-0001806657 00000 n 
-0001806843 00000 n 
-0001807046 00000 n 
-0001807283 00000 n 
-0001807477 00000 n 
-0001810345 00000 n 
-0001810582 00000 n 
-0001810787 00000 n 
-0001807680 00000 n 
-0001808030 00000 n 
-0001800938 00000 n 
-0001799382 00000 n 
-0001807854 00000 n 
-0001807971 00000 n 
-0001881290 00000 n 
-0001883494 00000 n 
-0001883612 00000 n 
-0001883730 00000 n 
-0001886006 00000 n 
-0001886124 00000 n 
-0001886242 00000 n 
-0001888764 00000 n 
-0001888882 00000 n 
-0001888999 00000 n 
-0001891472 00000 n 
-0001810990 00000 n 
-0001811227 00000 n 
-0001811432 00000 n 
-0001811635 00000 n 
-0001811838 00000 n 
-0001812075 00000 n 
-0001812279 00000 n 
-0001812517 00000 n 
-0001812721 00000 n 
-0001812958 00000 n 
-0001813160 00000 n 
-0001813396 00000 n 
-0001813585 00000 n 
-0001813755 00000 n 
-0001813992 00000 n 
-0001814230 00000 n 
-0001814426 00000 n 
-0001814662 00000 n 
-0001814858 00000 n 
-0001815095 00000 n 
-0001815291 00000 n 
-0001815529 00000 n 
-0001815725 00000 n 
-0001815963 00000 n 
-0001816158 00000 n 
-0001816393 00000 n 
-0001816578 00000 n 
-0001816774 00000 n 
-0001817010 00000 n 
-0001817196 00000 n 
-0001817393 00000 n 
-0001817630 00000 n 
-0001821417 00000 n 
-0001821655 00000 n 
-0001817816 00000 n 
-0001818873 00000 n 
-0001809886 00000 n 
-0001808183 00000 n 
-0001817990 00000 n 
-0001818049 00000 n 
-0001818108 00000 n 
-0001818167 00000 n 
-0001818226 00000 n 
-0001818285 00000 n 
-0001818344 00000 n 
-0001818403 00000 n 
-0001818461 00000 n 
-0001818520 00000 n 
-0001818579 00000 n 
-0001818638 00000 n 
-0001818697 00000 n 
-0001818756 00000 n 
-0001818815 00000 n 
-0001891590 00000 n 
-0001821893 00000 n 
-0001822131 00000 n 
-0001822369 00000 n 
-0001822574 00000 n 
-0001822812 00000 n 
-0001823049 00000 n 
-0001823287 00000 n 
-0001823473 00000 n 
-0001823711 00000 n 
-0001823907 00000 n 
-0001824145 00000 n 
-0001824340 00000 n 
-0001824577 00000 n 
-0001824773 00000 n 
-0001824977 00000 n 
-0001825181 00000 n 
-0001825418 00000 n 
-0001825614 00000 n 
-0001825818 00000 n 
-0001826022 00000 n 
-0001826209 00000 n 
-0001826446 00000 n 
-0001826641 00000 n 
-0001826843 00000 n 
-0001827045 00000 n 
-0001827283 00000 n 
-0001827479 00000 n 
-0001827682 00000 n 
-0001827885 00000 n 
-0001828070 00000 n 
-0001828308 00000 n 
-0001828513 00000 n 
-0001828750 00000 n 
-0001831957 00000 n 
-0001828953 00000 n 
-0001829481 00000 n 
-0001820958 00000 n 
-0001819026 00000 n 
-0001829127 00000 n 
-0001829186 00000 n 
-0001829245 00000 n 
-0001829304 00000 n 
-0001829363 00000 n 
-0001829422 00000 n 
-0001893927 00000 n 
-0001894045 00000 n 
-0001894163 00000 n 
-0001894281 00000 n 
-0001894399 00000 n 
-0001897105 00000 n 
-0001897228 00000 n 
-0001899942 00000 n 
-0001900065 00000 n 
-0001900188 00000 n 
-0001832195 00000 n 
-0001832431 00000 n 
-0001832619 00000 n 
-0001832855 00000 n 
-0001833043 00000 n 
-0001833279 00000 n 
-0001833467 00000 n 
-0001833702 00000 n 
-0001833890 00000 n 
-0001834126 00000 n 
-0001834321 00000 n 
-0001834555 00000 n 
-0001834749 00000 n 
-0001834984 00000 n 
-0001835179 00000 n 
-0001835415 00000 n 
-0001835611 00000 n 
-0001835846 00000 n 
-0001836042 00000 n 
-0001836278 00000 n 
-0001836474 00000 n 
-0001836710 00000 n 
-0001836896 00000 n 
-0001837061 00000 n 
-0001837297 00000 n 
-0001837489 00000 n 
-0001837654 00000 n 
-0001837890 00000 n 
-0001838095 00000 n 
-0001838331 00000 n 
-0001838535 00000 n 
-0001838773 00000 n 
-0001842921 00000 n 
-0001843157 00000 n 
-0001843362 00000 n 
-0001843599 00000 n 
-0001843784 00000 n 
-0001838977 00000 n 
-0001839269 00000 n 
-0001831516 00000 n 
-0001829620 00000 n 
-0001839151 00000 n 
-0001839210 00000 n 
-0001902437 00000 n 
-0001902555 00000 n 
-0001902673 00000 n 
-0001902790 00000 n 
-0001904913 00000 n 
-0001905031 00000 n 
-0001905149 00000 n 
-0001905267 00000 n 
-0001907727 00000 n 
-0001907844 00000 n 
-0001907962 00000 n 
-0001910862 00000 n 
-0001910980 00000 n 
-0001911098 00000 n 
-0001911216 00000 n 
-0001843979 00000 n 
-0001844157 00000 n 
-0001844395 00000 n 
-0001844581 00000 n 
-0001844777 00000 n 
-0001844956 00000 n 
-0001845194 00000 n 
-0001845380 00000 n 
-0001845584 00000 n 
-0001845780 00000 n 
-0001845957 00000 n 
-0001846128 00000 n 
-0001846366 00000 n 
-0001846552 00000 n 
-0001846756 00000 n 
-0001847147 00000 n 
-0001847323 00000 n 
-0001847665 00000 n 
-0001847902 00000 n 
-0001848097 00000 n 
-0001848300 00000 n 
-0001848496 00000 n 
-0001848673 00000 n 
-0001848844 00000 n 
-0001849082 00000 n 
-0001849278 00000 n 
-0001849482 00000 n 
-0001849678 00000 n 
-0001849853 00000 n 
-0001850023 00000 n 
-0001850261 00000 n 
-0001850446 00000 n 
-0001850642 00000 n 
-0001851034 00000 n 
-0001851221 00000 n 
-0001851459 00000 n 
-0001851645 00000 n 
-0001851841 00000 n 
-0001852233 00000 n 
-0001852420 00000 n 
-0001852655 00000 n 
-0001852860 00000 n 
-0001853027 00000 n 
-0001853189 00000 n 
-0001853425 00000 n 
-0001853660 00000 n 
-0001857016 00000 n 
-0001857252 00000 n 
-0001853865 00000 n 
-0001854156 00000 n 
-0001842282 00000 n 
-0001839408 00000 n 
-0001854039 00000 n 
-0001846952 00000 n 
-0001847494 00000 n 
-0001850838 00000 n 
-0001852037 00000 n 
-0001854098 00000 n 
-0001911334 00000 n 
-0001914242 00000 n 
-0001914360 00000 n 
-0001914478 00000 n 
-0001918836 00000 n 
-0001918954 00000 n 
-0001922899 00000 n 
-0001923017 00000 n 
-0001923135 00000 n 
-0001926912 00000 n 
-0001927030 00000 n 
-0001857456 00000 n 
-0001857692 00000 n 
-0001857895 00000 n 
-0001858131 00000 n 
-0001858335 00000 n 
-0001858507 00000 n 
-0001858837 00000 n 
-0001859072 00000 n 
-0001859264 00000 n 
-0001859500 00000 n 
-0001859704 00000 n 
-0001859940 00000 n 
-0001860131 00000 n 
-0001860367 00000 n 
-0001860553 00000 n 
-0001860757 00000 n 
-0001860990 00000 n 
-0001861180 00000 n 
-0001861364 00000 n 
-0001861602 00000 n 
-0001861838 00000 n 
-0001862043 00000 n 
-0001862279 00000 n 
-0001862515 00000 n 
-0001862751 00000 n 
-0001862989 00000 n 
-0001863227 00000 n 
-0001863431 00000 n 
-0001863667 00000 n 
-0001863869 00000 n 
-0001866672 00000 n 
-0001864103 00000 n 
-0001864806 00000 n 
-0001856575 00000 n 
-0001854363 00000 n 
-0001864277 00000 n 
-0001858672 00000 n 
-0001864336 00000 n 
-0001864395 00000 n 
-0001864453 00000 n 
-0001864512 00000 n 
-0001864571 00000 n 
-0001864630 00000 n 
-0001864689 00000 n 
-0001864748 00000 n 
-0002870603 00000 n 
-0001927148 00000 n 
-0001931418 00000 n 
-0001931536 00000 n 
-0001931654 00000 n 
-0001931772 00000 n 
-0001935681 00000 n 
-0001935799 00000 n 
-0001940277 00000 n 
-0001866910 00000 n 
-0001867114 00000 n 
-0001867352 00000 n 
-0001867590 00000 n 
-0001867828 00000 n 
-0001868066 00000 n 
-0001868304 00000 n 
-0001868542 00000 n 
-0001868779 00000 n 
-0001869016 00000 n 
-0001869253 00000 n 
-0001869491 00000 n 
-0001869695 00000 n 
-0001870103 00000 n 
-0001871157 00000 n 
-0001866393 00000 n 
-0001864986 00000 n 
-0001870277 00000 n 
-0001870336 00000 n 
-0001870395 00000 n 
-0001870454 00000 n 
-0001870513 00000 n 
-0001870572 00000 n 
-0001870631 00000 n 
-0001870689 00000 n 
-0001870747 00000 n 
-0001870806 00000 n 
-0001870865 00000 n 
-0001870923 00000 n 
-0001870981 00000 n 
-0001871040 00000 n 
-0001871099 00000 n 
-0001869900 00000 n 
-0001940399 00000 n 
-0001940581 00000 n 
-0001874819 00000 n 
-0001875057 00000 n 
-0001875262 00000 n 
-0001875500 00000 n 
-0001875705 00000 n 
-0001876112 00000 n 
-0001876350 00000 n 
-0001876555 00000 n 
-0001876961 00000 n 
-0001877151 00000 n 
-0001877342 00000 n 
-0001877523 00000 n 
-0001880392 00000 n 
-0001877676 00000 n 
-0001878086 00000 n 
-0001874549 00000 n 
-0001871296 00000 n 
-0001877850 00000 n 
-0001877909 00000 n 
-0001875910 00000 n 
-0001876758 00000 n 
-0001877968 00000 n 
-0001878027 00000 n 
-0001940699 00000 n 
-0001945662 00000 n 
-0001945785 00000 n 
-0001880630 00000 n 
-0001880811 00000 n 
-0001880998 00000 n 
-0001881408 00000 n 
-0001880221 00000 n 
-0001878288 00000 n 
-0001881172 00000 n 
-0001881231 00000 n 
-0001881349 00000 n 
-0001883261 00000 n 
-0001883847 00000 n 
-0001883117 00000 n 
-0001881559 00000 n 
-0001883435 00000 n 
-0001883553 00000 n 
-0001883671 00000 n 
-0001883788 00000 n 
-0001885773 00000 n 
-0001886301 00000 n 
-0001885629 00000 n 
-0001883973 00000 n 
-0001885947 00000 n 
-0001886065 00000 n 
-0001886183 00000 n 
-0001888472 00000 n 
-0001889057 00000 n 
-0001888328 00000 n 
-0001886427 00000 n 
-0001888646 00000 n 
-0001888705 00000 n 
-0001888823 00000 n 
-0001888941 00000 n 
-0002870729 00000 n 
-0001891180 00000 n 
-0001891708 00000 n 
-0001891036 00000 n 
-0001889183 00000 n 
-0001891354 00000 n 
-0001891413 00000 n 
-0001891531 00000 n 
-0001891649 00000 n 
-0001893635 00000 n 
-0001894457 00000 n 
-0001893491 00000 n 
-0001891834 00000 n 
-0001893809 00000 n 
-0001893868 00000 n 
-0001893986 00000 n 
-0001894104 00000 n 
-0001894222 00000 n 
-0001894340 00000 n 
-0001896813 00000 n 
-0001897351 00000 n 
-0001896669 00000 n 
-0001894596 00000 n 
-0001896987 00000 n 
-0001897046 00000 n 
-0001897169 00000 n 
-0001897292 00000 n 
-0001899709 00000 n 
-0001900247 00000 n 
-0001899565 00000 n 
-0001897490 00000 n 
-0001899883 00000 n 
-0001900006 00000 n 
-0001900129 00000 n 
-0001902145 00000 n 
-0001902908 00000 n 
-0001902001 00000 n 
-0001900386 00000 n 
-0001902319 00000 n 
-0001902378 00000 n 
-0001902496 00000 n 
-0001902614 00000 n 
-0001902732 00000 n 
-0001902849 00000 n 
-0001904680 00000 n 
-0001905326 00000 n 
-0001904536 00000 n 
-0001903047 00000 n 
-0001904854 00000 n 
-0001904972 00000 n 
-0001905090 00000 n 
-0001905208 00000 n 
-0002870855 00000 n 
-0001907272 00000 n 
-0001907435 00000 n 
-0001908080 00000 n 
-0001907119 00000 n 
-0001905465 00000 n 
-0001907609 00000 n 
-0001907668 00000 n 
-0001907785 00000 n 
-0001907903 00000 n 
-0001908021 00000 n 
-0001910278 00000 n 
-0001910443 00000 n 
-0001910629 00000 n 
-0001911392 00000 n 
-0001910116 00000 n 
-0001908219 00000 n 
-0001910803 00000 n 
-0001910921 00000 n 
-0001911039 00000 n 
-0001911157 00000 n 
-0001911275 00000 n 
-0001913593 00000 n 
-0001913771 00000 n 
-0001917120 00000 n 
-0001917297 00000 n 
-0001913950 00000 n 
-0001914536 00000 n 
-0001913431 00000 n 
-0001911531 00000 n 
-0001914124 00000 n 
-0001914183 00000 n 
-0001914301 00000 n 
-0001914419 00000 n 
-0001917468 00000 n 
-0001917658 00000 n 
-0001917835 00000 n 
-0001918006 00000 n 
-0001918196 00000 n 
-0001918373 00000 n 
-0001918544 00000 n 
-0001919072 00000 n 
-0001916904 00000 n 
-0001914675 00000 n 
-0001918718 00000 n 
-0001918777 00000 n 
-0001918895 00000 n 
-0001919013 00000 n 
-0001921752 00000 n 
-0001921943 00000 n 
-0001922120 00000 n 
-0001922290 00000 n 
-0001922480 00000 n 
-0001925936 00000 n 
-0001922666 00000 n 
-0001923194 00000 n 
-0001921563 00000 n 
-0001919248 00000 n 
-0001922840 00000 n 
-0001922958 00000 n 
-0001923076 00000 n 
-0001926123 00000 n 
-0001926290 00000 n 
-0001926452 00000 n 
-0001926620 00000 n 
-0001927207 00000 n 
-0001925756 00000 n 
-0001923370 00000 n 
-0001926794 00000 n 
-0001926853 00000 n 
-0001926971 00000 n 
-0001927089 00000 n 
-0002870981 00000 n 
-0001929540 00000 n 
-0001929778 00000 n 
-0001930016 00000 n 
-0001930188 00000 n 
-0001930516 00000 n 
-0001930754 00000 n 
-0001930940 00000 n 
-0001931126 00000 n 
-0001931830 00000 n 
-0001929324 00000 n 
-0001927396 00000 n 
-0001931300 00000 n 
-0001931359 00000 n 
-0001931477 00000 n 
-0001931595 00000 n 
-0001930352 00000 n 
-0001931713 00000 n 
-0001934818 00000 n 
-0001935009 00000 n 
-0001935389 00000 n 
-0001935922 00000 n 
-0001934647 00000 n 
-0001931969 00000 n 
-0001935563 00000 n 
-0001935622 00000 n 
-0001935740 00000 n 
-0001935199 00000 n 
-0001935863 00000 n 
-0001939007 00000 n 
-0001939245 00000 n 
-0001939459 00000 n 
-0001939644 00000 n 
-0001939829 00000 n 
-0001940044 00000 n 
-0001940762 00000 n 
-0001938818 00000 n 
-0001936073 00000 n 
-0001940218 00000 n 
-0001940340 00000 n 
-0001940463 00000 n 
-0001940522 00000 n 
-0001940640 00000 n 
-0001943410 00000 n 
-0001943595 00000 n 
-0001943824 00000 n 
-0001944052 00000 n 
-0001944281 00000 n 
-0001944510 00000 n 
-0001944738 00000 n 
-0001944966 00000 n 
-0001945167 00000 n 
-0001948937 00000 n 
-0001949133 00000 n 
-0001949362 00000 n 
-0001949557 00000 n 
-0001945370 00000 n 
-0001946319 00000 n 
-0001943185 00000 n 
-0001940913 00000 n 
-0001945544 00000 n 
-0001945603 00000 n 
-0001945726 00000 n 
-0001945849 00000 n 
-0001946024 00000 n 
-0001946083 00000 n 
-0001946142 00000 n 
-0001946201 00000 n 
-0001946260 00000 n 
-0002021062 00000 n 
-0001949761 00000 n 
-0001949990 00000 n 
-0001950186 00000 n 
-0001950390 00000 n 
-0001950619 00000 n 
-0001950824 00000 n 
-0001951027 00000 n 
-0001951223 00000 n 
-0001951452 00000 n 
-0001951648 00000 n 
-0001951843 00000 n 
-0001952072 00000 n 
-0001952268 00000 n 
-0001952464 00000 n 
-0001952692 00000 n 
-0001952882 00000 n 
-0001953085 00000 n 
-0001953314 00000 n 
-0001953507 00000 n 
-0001953711 00000 n 
-0001953940 00000 n 
-0001954122 00000 n 
-0001954326 00000 n 
-0001954555 00000 n 
-0001954748 00000 n 
-0001954951 00000 n 
-0001955180 00000 n 
-0001955367 00000 n 
-0001955571 00000 n 
-0001955800 00000 n 
-0001955981 00000 n 
-0001956167 00000 n 
-0001956371 00000 n 
-0001956575 00000 n 
-0001959730 00000 n 
-0001959934 00000 n 
-0001956803 00000 n 
-0001957271 00000 n 
-0001948451 00000 n 
-0001946500 00000 n 
-0001956977 00000 n 
-0001957036 00000 n 
-0001957095 00000 n 
-0001957153 00000 n 
-0001957212 00000 n 
-0002023559 00000 n 
-0002023677 00000 n 
-0002023800 00000 n 
-0002023918 00000 n 
-0002026258 00000 n 
-0002026376 00000 n 
-0002026493 00000 n 
-0002029305 00000 n 
-0001960163 00000 n 
-0001960391 00000 n 
-0001960620 00000 n 
-0001960849 00000 n 
-0001961078 00000 n 
-0001961307 00000 n 
-0001961503 00000 n 
-0001961732 00000 n 
-0001961961 00000 n 
-0001962147 00000 n 
-0001962376 00000 n 
-0001962572 00000 n 
-0001962800 00000 n 
-0001962994 00000 n 
-0001963222 00000 n 
-0001963418 00000 n 
-0001963622 00000 n 
-0001963826 00000 n 
-0001964054 00000 n 
-0001964250 00000 n 
-0001964454 00000 n 
-0001964658 00000 n 
-0001964845 00000 n 
-0001965074 00000 n 
-0001965270 00000 n 
-0001965473 00000 n 
-0001965676 00000 n 
-0001965905 00000 n 
-0001966101 00000 n 
-0001966304 00000 n 
-0001966507 00000 n 
-0001966694 00000 n 
-0001966922 00000 n 
-0001970137 00000 n 
-0001970366 00000 n 
-0001967118 00000 n 
-0001967704 00000 n 
-0001959271 00000 n 
-0001957424 00000 n 
-0001967292 00000 n 
-0001967351 00000 n 
-0001967410 00000 n 
-0001967469 00000 n 
-0001967528 00000 n 
-0001967587 00000 n 
-0001967645 00000 n 
-0002871107 00000 n 
-0002029482 00000 n 
-0002029600 00000 n 
-0002029718 00000 n 
-0002032072 00000 n 
-0002032189 00000 n 
-0002032307 00000 n 
-0002034950 00000 n 
-0002035073 00000 n 
-0002035196 00000 n 
-0001970562 00000 n 
-0001970791 00000 n 
-0001970986 00000 n 
-0001971215 00000 n 
-0001971410 00000 n 
-0001971639 00000 n 
-0001971835 00000 n 
-0001972062 00000 n 
-0001972248 00000 n 
-0001972445 00000 n 
-0001972673 00000 n 
-0001972859 00000 n 
-0001973056 00000 n 
-0001973284 00000 n 
-0001973471 00000 n 
-0001973675 00000 n 
-0001973902 00000 n 
-0001974105 00000 n 
-0001974331 00000 n 
-0001974560 00000 n 
-0001974789 00000 n 
-0001975016 00000 n 
-0001975241 00000 n 
-0001975427 00000 n 
-0001975654 00000 n 
-0001975842 00000 n 
-0001976071 00000 n 
-0001976259 00000 n 
-0001976486 00000 n 
-0001976682 00000 n 
-0001976908 00000 n 
-0001980360 00000 n 
-0001980589 00000 n 
-0001980784 00000 n 
-0001981011 00000 n 
-0001977104 00000 n 
-0001977573 00000 n 
-0001969696 00000 n 
-0001967843 00000 n 
-0001977278 00000 n 
-0001977337 00000 n 
-0001977396 00000 n 
-0001977455 00000 n 
-0001977514 00000 n 
-0002037601 00000 n 
-0002037719 00000 n 
-0002037836 00000 n 
-0002037953 00000 n 
-0002038071 00000 n 
-0002040397 00000 n 
-0002040515 00000 n 
-0002040633 00000 n 
-0002040755 00000 n 
-0002040873 00000 n 
-0002043522 00000 n 
-0002043640 00000 n 
-0001981199 00000 n 
-0001981425 00000 n 
-0001981613 00000 n 
-0001981841 00000 n 
-0001982026 00000 n 
-0001982253 00000 n 
-0001982448 00000 n 
-0001982675 00000 n 
-0001982871 00000 n 
-0001983100 00000 n 
-0001983296 00000 n 
-0001983523 00000 n 
-0001983709 00000 n 
-0001983874 00000 n 
-0001984101 00000 n 
-0001984293 00000 n 
-0001984458 00000 n 
-0001984685 00000 n 
-0001984911 00000 n 
-0001985106 00000 n 
-0001985335 00000 n 
-0001985531 00000 n 
-0001985756 00000 n 
-0001985950 00000 n 
-0001986179 00000 n 
-0001986375 00000 n 
-0001986563 00000 n 
-0001986792 00000 n 
-0001986978 00000 n 
-0001987174 00000 n 
-0001987353 00000 n 
-0001987582 00000 n 
-0001987768 00000 n 
-0001987964 00000 n 
-0001992181 00000 n 
-0001992410 00000 n 
-0001992596 00000 n 
-0001992800 00000 n 
-0001992996 00000 n 
-0001988143 00000 n 
-0001988435 00000 n 
-0001979874 00000 n 
-0001977712 00000 n 
-0001988317 00000 n 
-0001988376 00000 n 
-0002046692 00000 n 
-0002046810 00000 n 
-0002047046 00000 n 
-0002049851 00000 n 
-0002050087 00000 n 
-0002053460 00000 n 
-0002053578 00000 n 
-0002053819 00000 n 
-0002053937 00000 n 
-0002057619 00000 n 
-0002057737 00000 n 
-0001993173 00000 n 
-0001993402 00000 n 
-0001993588 00000 n 
-0001993792 00000 n 
-0001994184 00000 n 
-0001994360 00000 n 
-0001994589 00000 n 
-0001994785 00000 n 
-0001994989 00000 n 
-0001995185 00000 n 
-0001995362 00000 n 
-0001995591 00000 n 
-0001995787 00000 n 
-0001995991 00000 n 
-0001996187 00000 n 
-0001996363 00000 n 
-0001996592 00000 n 
-0001996777 00000 n 
-0001996973 00000 n 
-0001997365 00000 n 
-0001997552 00000 n 
-0001997781 00000 n 
-0001997967 00000 n 
-0001998163 00000 n 
-0001998555 00000 n 
-0001998742 00000 n 
-0001998968 00000 n 
-0001999164 00000 n 
-0001999333 00000 n 
-0001999560 00000 n 
-0001999788 00000 n 
-0001999984 00000 n 
-0002000155 00000 n 
-0002000381 00000 n 
-0002000576 00000 n 
-0002000749 00000 n 
-0002000945 00000 n 
-0002001174 00000 n 
-0002001370 00000 n 
-0002001564 00000 n 
-0002001791 00000 n 
-0002001985 00000 n 
-0002002336 00000 n 
-0001991596 00000 n 
-0001988574 00000 n 
-0002002159 00000 n 
-0001993988 00000 n 
-0001997169 00000 n 
-0001998359 00000 n 
-0002002218 00000 n 
-0002002277 00000 n 
-0002057854 00000 n 
-0002061583 00000 n 
-0002061701 00000 n 
-0002061819 00000 n 
-0002065649 00000 n 
-0002065767 00000 n 
-0002070016 00000 n 
-0002070134 00000 n 
-0002070256 00000 n 
-0002070378 00000 n 
-0002005166 00000 n 
-0002005393 00000 n 
-0002005589 00000 n 
-0002005816 00000 n 
-0002006020 00000 n 
-0002006247 00000 n 
-0002006450 00000 n 
-0002006677 00000 n 
-0002006872 00000 n 
-0002007097 00000 n 
-0002007288 00000 n 
-0002007515 00000 n 
-0002007719 00000 n 
-0002007946 00000 n 
-0002008173 00000 n 
-0002008359 00000 n 
-0002008563 00000 n 
-0002008789 00000 n 
-0002008981 00000 n 
-0002009167 00000 n 
-0002009370 00000 n 
-0002009598 00000 n 
-0002009827 00000 n 
-0002010015 00000 n 
-0002010242 00000 n 
-0002010430 00000 n 
-0002014174 00000 n 
-0002014370 00000 n 
-0002014563 00000 n 
-0002010619 00000 n 
-0002011206 00000 n 
-0002004788 00000 n 
-0002002544 00000 n 
-0002010793 00000 n 
-0002010852 00000 n 
-0002010911 00000 n 
-0002010970 00000 n 
-0002011029 00000 n 
-0002011088 00000 n 
-0002011147 00000 n 
-0002074764 00000 n 
-0002074882 00000 n 
-0002075005 00000 n 
-0002075123 00000 n 
-0002079687 00000 n 
-0002079810 00000 n 
-0002079990 00000 n 
-0002084958 00000 n 
-0002014791 00000 n 
-0002015019 00000 n 
-0002015211 00000 n 
-0002015406 00000 n 
-0002015789 00000 n 
-0002015971 00000 n 
-0002016167 00000 n 
-0002016349 00000 n 
-0002016578 00000 n 
-0002016760 00000 n 
-0002016942 00000 n 
-0002017171 00000 n 
-0002017353 00000 n 
-0002017549 00000 n 
-0002017731 00000 n 
-0002017960 00000 n 
-0002018156 00000 n 
-0002018384 00000 n 
-0002018579 00000 n 
-0002018969 00000 n 
-0002019197 00000 n 
-0002019388 00000 n 
-0002019584 00000 n 
-0002019775 00000 n 
-0002019966 00000 n 
-0002020158 00000 n 
-0002020340 00000 n 
-0002020535 00000 n 
-0002021180 00000 n 
-0002013742 00000 n 
-0002011386 00000 n 
-0002020709 00000 n 
-0002020768 00000 n 
-0002015598 00000 n 
-0002020827 00000 n 
-0002018774 00000 n 
-0002020886 00000 n 
-0002020945 00000 n 
-0002021004 00000 n 
-0002021121 00000 n 
-0002085075 00000 n 
-0002085193 00000 n 
-0002085310 00000 n 
-0002085427 00000 n 
-0002090886 00000 n 
-0002023326 00000 n 
-0002024036 00000 n 
-0002023182 00000 n 
-0002021333 00000 n 
-0002023500 00000 n 
-0002023618 00000 n 
-0002023741 00000 n 
-0002023859 00000 n 
-0002023977 00000 n 
-0002871233 00000 n 
-0002026025 00000 n 
-0002026611 00000 n 
-0002025881 00000 n 
-0002024162 00000 n 
-0002026199 00000 n 
-0002026317 00000 n 
-0002026434 00000 n 
-0002026552 00000 n 
-0002029072 00000 n 
-0002029776 00000 n 
-0002028928 00000 n 
-0002026737 00000 n 
-0002029246 00000 n 
-0002029364 00000 n 
-0002029423 00000 n 
-0002029541 00000 n 
-0002029659 00000 n 
-0002861892 00000 n 
-0002031780 00000 n 
-0002032430 00000 n 
-0002031636 00000 n 
-0002029954 00000 n 
-0002031954 00000 n 
-0002032013 00000 n 
-0002032131 00000 n 
-0002032248 00000 n 
-0002032371 00000 n 
-0002034717 00000 n 
-0002035259 00000 n 
-0002034573 00000 n 
-0002032569 00000 n 
-0002034891 00000 n 
-0002035014 00000 n 
-0002035137 00000 n 
-0002037309 00000 n 
-0002038129 00000 n 
-0002037165 00000 n 
-0002035398 00000 n 
-0002037483 00000 n 
-0002037542 00000 n 
-0002037660 00000 n 
-0002037777 00000 n 
-0002037895 00000 n 
-0002038012 00000 n 
-0002040105 00000 n 
-0002041049 00000 n 
-0002039961 00000 n 
-0002038281 00000 n 
-0002040279 00000 n 
-0002040338 00000 n 
-0002040456 00000 n 
-0002040574 00000 n 
-0002040696 00000 n 
-0002040814 00000 n 
-0002040932 00000 n 
-0002871359 00000 n 
-0002042865 00000 n 
-0002043036 00000 n 
-0002043230 00000 n 
-0002043875 00000 n 
-0002042703 00000 n 
-0002041188 00000 n 
-0002043404 00000 n 
-0002043463 00000 n 
-0002043581 00000 n 
-0002043699 00000 n 
-0002043817 00000 n 
-0002045732 00000 n 
-0002045902 00000 n 
-0002046095 00000 n 
-0002046266 00000 n 
-0002046459 00000 n 
-0002047104 00000 n 
-0002045552 00000 n 
-0002044014 00000 n 
-0002046633 00000 n 
-0002046751 00000 n 
-0002046869 00000 n 
-0002046987 00000 n 
-0002049032 00000 n 
-0002049203 00000 n 
-0002049397 00000 n 
-0002049559 00000 n 
-0002050205 00000 n 
-0002048861 00000 n 
-0002047243 00000 n 
-0002049733 00000 n 
-0002049792 00000 n 
-0002049910 00000 n 
-0002050028 00000 n 
-0002050146 00000 n 
-0002052514 00000 n 
-0002052679 00000 n 
-0002052864 00000 n 
-0002053034 00000 n 
-0002053227 00000 n 
-0002053995 00000 n 
-0002052334 00000 n 
-0002050344 00000 n 
-0002053401 00000 n 
-0002053519 00000 n 
-0002053637 00000 n 
-0002053760 00000 n 
-0002053878 00000 n 
-0002056606 00000 n 
-0002056794 00000 n 
-0002056972 00000 n 
-0002057151 00000 n 
-0002057327 00000 n 
-0002057972 00000 n 
-0002056426 00000 n 
-0002054134 00000 n 
-0002057501 00000 n 
-0002057560 00000 n 
-0002057678 00000 n 
-0002057796 00000 n 
-0002057913 00000 n 
-0002060429 00000 n 
-0002060618 00000 n 
-0002060795 00000 n 
-0002060985 00000 n 
-0002061160 00000 n 
-0002061350 00000 n 
-0002061877 00000 n 
-0002060240 00000 n 
-0002058148 00000 n 
-0002061524 00000 n 
-0002061642 00000 n 
-0002061760 00000 n 
-0002871485 00000 n 
-0002064615 00000 n 
-0002064792 00000 n 
-0002064983 00000 n 
-0002065170 00000 n 
-0002065357 00000 n 
-0002065885 00000 n 
-0002064435 00000 n 
-0002062053 00000 n 
-0002065531 00000 n 
-0002065590 00000 n 
-0002065708 00000 n 
-0002065826 00000 n 
-0002068969 00000 n 
-0002069138 00000 n 
-0002069303 00000 n 
-0002069475 00000 n 
-0002069628 00000 n 
-0002073366 00000 n 
-0002069783 00000 n 
-0002070442 00000 n 
-0002068780 00000 n 
-0002066061 00000 n 
-0002069957 00000 n 
-0002070075 00000 n 
-0002070198 00000 n 
-0002070319 00000 n 
-0002073539 00000 n 
-0002073736 00000 n 
-0002073928 00000 n 
-0002074100 00000 n 
-0002074286 00000 n 
-0002074472 00000 n 
-0002075181 00000 n 
-0002073168 00000 n 
-0002070606 00000 n 
-0002074646 00000 n 
-0002074705 00000 n 
-0002074823 00000 n 
-0002074946 00000 n 
-0002075064 00000 n 
-0002078145 00000 n 
-0002078365 00000 n 
-0002078594 00000 n 
-0002078809 00000 n 
-0002078994 00000 n 
-0002079180 00000 n 
-0002079395 00000 n 
-0002080108 00000 n 
-0002077947 00000 n 
-0002075333 00000 n 
-0002079569 00000 n 
-0002079628 00000 n 
-0002079751 00000 n 
-0002079873 00000 n 
-0002079931 00000 n 
-0002080049 00000 n 
-0002271680 00000 n 
-0002083186 00000 n 
-0002083576 00000 n 
-0002083768 00000 n 
-0002084159 00000 n 
-0002084341 00000 n 
-0002084725 00000 n 
-0002085485 00000 n 
-0002082970 00000 n 
-0002080259 00000 n 
-0002084899 00000 n 
-0002085016 00000 n 
-0002085134 00000 n 
-0002083382 00000 n 
-0002085252 00000 n 
-0002083964 00000 n 
-0002085369 00000 n 
-0002084533 00000 n 
-0002087544 00000 n 
-0002087774 00000 n 
-0002088004 00000 n 
-0002088234 00000 n 
-0002088464 00000 n 
-0002088661 00000 n 
-0002088888 00000 n 
-0002089085 00000 n 
-0002089315 00000 n 
-0002089511 00000 n 
-0002089740 00000 n 
-0002089937 00000 n 
-0002090167 00000 n 
-0002090364 00000 n 
-0002093703 00000 n 
-0002093900 00000 n 
-0002090594 00000 n 
-0002091767 00000 n 
-0002087274 00000 n 
-0002085624 00000 n 
-0002090768 00000 n 
-0002090827 00000 n 
-0002090945 00000 n 
-0002091119 00000 n 
-0002091178 00000 n 
-0002091237 00000 n 
-0002091296 00000 n 
-0002091355 00000 n 
-0002091414 00000 n 
-0002091472 00000 n 
-0002091531 00000 n 
-0002091590 00000 n 
-0002091649 00000 n 
-0002091708 00000 n 
-0002871611 00000 n 
-0002094130 00000 n 
-0002094358 00000 n 
-0002094554 00000 n 
-0002094750 00000 n 
-0002094980 00000 n 
-0002095177 00000 n 
-0002095374 00000 n 
-0002095570 00000 n 
-0002095800 00000 n 
-0002095997 00000 n 
-0002096194 00000 n 
-0002096390 00000 n 
-0002096620 00000 n 
-0002096817 00000 n 
-0002097014 00000 n 
-0002097243 00000 n 
-0002097439 00000 n 
-0002098380 00000 n 
-0002093397 00000 n 
-0002091934 00000 n 
-0002097613 00000 n 
-0002097672 00000 n 
-0002097731 00000 n 
-0002097790 00000 n 
-0002097849 00000 n 
-0002097908 00000 n 
-0002097967 00000 n 
-0002098026 00000 n 
-0002098085 00000 n 
-0002098144 00000 n 
-0002098203 00000 n 
-0002098262 00000 n 
-0002098321 00000 n 
-0002102780 00000 n 
-0002100291 00000 n 
-0002100521 00000 n 
-0002100751 00000 n 
-0002100981 00000 n 
-0002101210 00000 n 
-0002101406 00000 n 
-0002101636 00000 n 
-0002101832 00000 n 
-0002102061 00000 n 
-0002102258 00000 n 
-0002105479 00000 n 
-0002105708 00000 n 
-0002105905 00000 n 
-0002106102 00000 n 
-0002106332 00000 n 
-0002106529 00000 n 
-0002102488 00000 n 
-0002103545 00000 n 
-0002100057 00000 n 
-0002098519 00000 n 
-0002102662 00000 n 
-0002102721 00000 n 
-0002102839 00000 n 
-0002103015 00000 n 
-0002103074 00000 n 
-0002103133 00000 n 
-0002103192 00000 n 
-0002103251 00000 n 
-0002103309 00000 n 
-0002103368 00000 n 
-0002103427 00000 n 
-0002103486 00000 n 
-0002106726 00000 n 
-0002106922 00000 n 
-0002107152 00000 n 
-0002107349 00000 n 
-0002107546 00000 n 
-0002107742 00000 n 
-0002107972 00000 n 
-0002108169 00000 n 
-0002108366 00000 n 
-0002108596 00000 n 
-0002108793 00000 n 
-0002109793 00000 n 
-0002105191 00000 n 
-0002103712 00000 n 
-0002108967 00000 n 
-0002109026 00000 n 
-0002109085 00000 n 
-0002109144 00000 n 
-0002109203 00000 n 
-0002109262 00000 n 
-0002109321 00000 n 
-0002109380 00000 n 
-0002109439 00000 n 
-0002109498 00000 n 
-0002109557 00000 n 
-0002109616 00000 n 
-0002109675 00000 n 
-0002109734 00000 n 
-0002111864 00000 n 
-0002112055 00000 n 
-0002112440 00000 n 
-0002112644 00000 n 
-0002112865 00000 n 
-0002113069 00000 n 
-0002113289 00000 n 
-0002113493 00000 n 
-0002113714 00000 n 
-0002113903 00000 n 
-0002114098 00000 n 
-0002114318 00000 n 
-0002114514 00000 n 
-0002114735 00000 n 
-0002114929 00000 n 
-0002115150 00000 n 
-0002115344 00000 n 
-0002115565 00000 n 
-0002115761 00000 n 
-0002115982 00000 n 
-0002116178 00000 n 
-0002119733 00000 n 
-0002119934 00000 n 
-0002120155 00000 n 
-0002120355 00000 n 
-0002116399 00000 n 
-0002117455 00000 n 
-0002111522 00000 n 
-0002109932 00000 n 
-0002116573 00000 n 
-0002116632 00000 n 
-0002112248 00000 n 
-0002116806 00000 n 
-0002116865 00000 n 
-0002116924 00000 n 
-0002116983 00000 n 
-0002117042 00000 n 
-0002117101 00000 n 
-0002117160 00000 n 
-0002117219 00000 n 
-0002117278 00000 n 
-0002117337 00000 n 
-0002117396 00000 n 
-0002120575 00000 n 
-0002120772 00000 n 
-0002120992 00000 n 
-0002121179 00000 n 
-0002121376 00000 n 
-0002121596 00000 n 
-0002121782 00000 n 
-0002121978 00000 n 
-0002122197 00000 n 
-0002122383 00000 n 
-0002122604 00000 n 
-0002122825 00000 n 
-0002123046 00000 n 
-0002123265 00000 n 
-0002123451 00000 n 
-0002123669 00000 n 
-0002123890 00000 n 
-0002124111 00000 n 
-0002124332 00000 n 
-0002124518 00000 n 
-0002124739 00000 n 
-0002124935 00000 n 
-0002125156 00000 n 
-0002125351 00000 n 
-0002125571 00000 n 
-0002125767 00000 n 
-0002125971 00000 n 
-0002126175 00000 n 
-0002126394 00000 n 
-0002126589 00000 n 
-0002126792 00000 n 
-0002126995 00000 n 
-0002130279 00000 n 
-0002130500 00000 n 
-0002130696 00000 n 
-0002130899 00000 n 
-0002127182 00000 n 
-0002127886 00000 n 
-0002119265 00000 n 
-0002117622 00000 n 
-0002127356 00000 n 
-0002127415 00000 n 
-0002127474 00000 n 
-0002127533 00000 n 
-0002127592 00000 n 
-0002127650 00000 n 
-0002127709 00000 n 
-0002127768 00000 n 
-0002127827 00000 n 
-0002208652 00000 n 
-0002208770 00000 n 
-0002208888 00000 n 
-0002209006 00000 n 
-0002211374 00000 n 
-0002211492 00000 n 
-0002211610 00000 n 
-0002211728 00000 n 
-0002211846 00000 n 
-0002131102 00000 n 
-0002131322 00000 n 
-0002131517 00000 n 
-0002131719 00000 n 
-0002131921 00000 n 
-0002132108 00000 n 
-0002132329 00000 n 
-0002132517 00000 n 
-0002132738 00000 n 
-0002132924 00000 n 
-0002133145 00000 n 
-0002133364 00000 n 
-0002133552 00000 n 
-0002133773 00000 n 
-0002133961 00000 n 
-0002134180 00000 n 
-0002134367 00000 n 
-0002134588 00000 n 
-0002134775 00000 n 
-0002134993 00000 n 
-0002135180 00000 n 
-0002135401 00000 n 
-0002135587 00000 n 
-0002135806 00000 n 
-0002136002 00000 n 
-0002136221 00000 n 
-0002136417 00000 n 
-0002136638 00000 n 
-0002136833 00000 n 
-0002137054 00000 n 
-0002139822 00000 n 
-0002140041 00000 n 
-0002140236 00000 n 
-0002140455 00000 n 
-0002137250 00000 n 
-0002137483 00000 n 
-0002129829 00000 n 
-0002128012 00000 n 
-0002137424 00000 n 
-0002871737 00000 n 
-0002214504 00000 n 
-0002214626 00000 n 
-0002217223 00000 n 
-0002217344 00000 n 
-0002217462 00000 n 
-0002217580 00000 n 
-0002220087 00000 n 
-0002223260 00000 n 
-0002223501 00000 n 
-0002223622 00000 n 
-0002140650 00000 n 
-0002140870 00000 n 
-0002141063 00000 n 
-0002141284 00000 n 
-0002141478 00000 n 
-0002141696 00000 n 
-0002141890 00000 n 
-0002142111 00000 n 
-0002142307 00000 n 
-0002142525 00000 n 
-0002142720 00000 n 
-0002142941 00000 n 
-0002143137 00000 n 
-0002143356 00000 n 
-0002143544 00000 n 
-0002143762 00000 n 
-0002143950 00000 n 
-0002144166 00000 n 
-0002144360 00000 n 
-0002144579 00000 n 
-0002144775 00000 n 
-0002144994 00000 n 
-0002145180 00000 n 
-0002145345 00000 n 
-0002145564 00000 n 
-0002145756 00000 n 
-0002145920 00000 n 
-0002146139 00000 n 
-0002146327 00000 n 
-0002146548 00000 n 
-0002146736 00000 n 
-0002146954 00000 n 
-0002150772 00000 n 
-0002150992 00000 n 
-0002147141 00000 n 
-0002147374 00000 n 
-0002139354 00000 n 
-0002137609 00000 n 
-0002147315 00000 n 
-0002228726 00000 n 
-0002228844 00000 n 
-0002232061 00000 n 
-0002234766 00000 n 
-0002237443 00000 n 
-0002237564 00000 n 
-0002237685 00000 n 
-0002237806 00000 n 
-0002240587 00000 n 
-0002240707 00000 n 
-0002240827 00000 n 
-0002243810 00000 n 
-0002151179 00000 n 
-0002151398 00000 n 
-0002151584 00000 n 
-0002151803 00000 n 
-0002151991 00000 n 
-0002152168 00000 n 
-0002152387 00000 n 
-0002152575 00000 n 
-0002152795 00000 n 
-0002152982 00000 n 
-0002153160 00000 n 
-0002153381 00000 n 
-0002153567 00000 n 
-0002153763 00000 n 
-0002153942 00000 n 
-0002154163 00000 n 
-0002154349 00000 n 
-0002154545 00000 n 
-0002154724 00000 n 
-0002154945 00000 n 
-0002155131 00000 n 
-0002155335 00000 n 
-0002155531 00000 n 
-0002155708 00000 n 
-0002155929 00000 n 
-0002156115 00000 n 
-0002156319 00000 n 
-0002156711 00000 n 
-0002156887 00000 n 
-0002157108 00000 n 
-0002157304 00000 n 
-0002157508 00000 n 
-0002157703 00000 n 
-0002157879 00000 n 
-0002158100 00000 n 
-0002158296 00000 n 
-0002158500 00000 n 
-0002158696 00000 n 
-0002158872 00000 n 
-0002159093 00000 n 
-0002159278 00000 n 
-0002159474 00000 n 
-0002159865 00000 n 
-0002160052 00000 n 
-0002160273 00000 n 
-0002160459 00000 n 
-0002160655 00000 n 
-0002161047 00000 n 
-0002164146 00000 n 
-0002164364 00000 n 
-0002161233 00000 n 
-0002161583 00000 n 
-0002150151 00000 n 
-0002147500 00000 n 
-0002161407 00000 n 
-0002161466 00000 n 
-0002161524 00000 n 
-0002156515 00000 n 
-0002159670 00000 n 
-0002160851 00000 n 
-0002244052 00000 n 
-0002244173 00000 n 
-0002247683 00000 n 
-0002247804 00000 n 
-0002247924 00000 n 
-0002251530 00000 n 
-0002251651 00000 n 
-0002251771 00000 n 
-0002255435 00000 n 
-0002255556 00000 n 
-0002164552 00000 n 
-0002164720 00000 n 
-0002164939 00000 n 
-0002165158 00000 n 
-0002165346 00000 n 
-0002165510 00000 n 
-0002165731 00000 n 
-0002165919 00000 n 
-0002166115 00000 n 
-0002166284 00000 n 
-0002166448 00000 n 
-0002166668 00000 n 
-0002166855 00000 n 
-0002167050 00000 n 
-0002167220 00000 n 
-0002167384 00000 n 
-0002167602 00000 n 
-0002167789 00000 n 
-0002167950 00000 n 
-0002168168 00000 n 
-0002168356 00000 n 
-0002168577 00000 n 
-0002168765 00000 n 
-0002168960 00000 n 
-0002169130 00000 n 
-0002169291 00000 n 
-0002169512 00000 n 
-0002169698 00000 n 
-0002169894 00000 n 
-0002170064 00000 n 
-0002170224 00000 n 
-0002170443 00000 n 
-0002170647 00000 n 
-0002170866 00000 n 
-0002171069 00000 n 
-0002171288 00000 n 
-0002171474 00000 n 
-0002171645 00000 n 
-0002171863 00000 n 
-0002172055 00000 n 
-0002172273 00000 n 
-0002175317 00000 n 
-0002175536 00000 n 
-0002172476 00000 n 
-0002172827 00000 n 
-0002163615 00000 n 
-0002161764 00000 n 
-0002172650 00000 n 
-0002172709 00000 n 
-0002172768 00000 n 
-0002259044 00000 n 
-0002259165 00000 n 
-0002259286 00000 n 
-0002259407 00000 n 
-0002263274 00000 n 
-0002263395 00000 n 
-0002263516 00000 n 
-0002267298 00000 n 
-0002267419 00000 n 
-0002271317 00000 n 
-0002271438 00000 n 
-0002271559 00000 n 
-0002175727 00000 n 
-0002175946 00000 n 
-0002176132 00000 n 
-0002176336 00000 n 
-0002176553 00000 n 
-0002176744 00000 n 
-0002176929 00000 n 
-0002177150 00000 n 
-0002177369 00000 n 
-0002177557 00000 n 
-0002177776 00000 n 
-0002177995 00000 n 
-0002178214 00000 n 
-0002178435 00000 n 
-0002178656 00000 n 
-0002178859 00000 n 
-0002179077 00000 n 
-0002179281 00000 n 
-0002179500 00000 n 
-0002179721 00000 n 
-0002179925 00000 n 
-0002180146 00000 n 
-0002180334 00000 n 
-0002180554 00000 n 
-0002183889 00000 n 
-0002184110 00000 n 
-0002180775 00000 n 
-0002181657 00000 n 
-0002174939 00000 n 
-0002172966 00000 n 
-0002180949 00000 n 
-0002181008 00000 n 
-0002181067 00000 n 
-0002181126 00000 n 
-0002181185 00000 n 
-0002181244 00000 n 
-0002181303 00000 n 
-0002181362 00000 n 
-0002181421 00000 n 
-0002181480 00000 n 
-0002181539 00000 n 
-0002181598 00000 n 
-0002276100 00000 n 
-0002276226 00000 n 
-0002279444 00000 n 
-0002279568 00000 n 
-0002184330 00000 n 
-0002184549 00000 n 
-0002184753 00000 n 
-0002184957 00000 n 
-0002185176 00000 n 
-0002185364 00000 n 
-0002185568 00000 n 
-0002185787 00000 n 
-0002185982 00000 n 
-0002186201 00000 n 
-0002186397 00000 n 
-0002186590 00000 n 
-0002186809 00000 n 
-0002187003 00000 n 
-0002187221 00000 n 
-0002187415 00000 n 
-0002187607 00000 n 
-0002187826 00000 n 
-0002188005 00000 n 
-0002188191 00000 n 
-0002188395 00000 n 
-0002188581 00000 n 
-0002188801 00000 n 
-0002188989 00000 n 
-0002189210 00000 n 
-0002189398 00000 n 
-0002189619 00000 n 
-0002189807 00000 n 
-0002189995 00000 n 
-0002190216 00000 n 
-0002190404 00000 n 
-0002190592 00000 n 
-0002191120 00000 n 
-0002183448 00000 n 
-0002181824 00000 n 
-0002190766 00000 n 
-0002190825 00000 n 
-0002190884 00000 n 
-0002190943 00000 n 
-0002191002 00000 n 
-0002191061 00000 n 
-0002203488 00000 n 
-0002203606 00000 n 
-0002203724 00000 n 
-0002205880 00000 n 
-0002205998 00000 n 
-0002206116 00000 n 
-0002208475 00000 n 
-0002279750 00000 n 
-0002279871 00000 n 
-0002279996 00000 n 
-0002194011 00000 n 
-0002194197 00000 n 
-0002194360 00000 n 
-0002194550 00000 n 
-0002194743 00000 n 
-0002195066 00000 n 
-0002195358 00000 n 
-0002193813 00000 n 
-0002191273 00000 n 
-0002195240 00000 n 
-0002195299 00000 n 
-0002194904 00000 n 
-0002871863 00000 n 
-0002197770 00000 n 
-0002198003 00000 n 
-0002197626 00000 n 
-0002195534 00000 n 
-0002197944 00000 n 
-0002200340 00000 n 
-0002200573 00000 n 
-0002200196 00000 n 
-0002198177 00000 n 
-0002200514 00000 n 
-0002203196 00000 n 
-0002203846 00000 n 
-0002203052 00000 n 
-0002200747 00000 n 
-0002203370 00000 n 
-0002203429 00000 n 
-0002203547 00000 n 
-0002203665 00000 n 
-0002203787 00000 n 
-0002205647 00000 n 
-0002206234 00000 n 
-0002205503 00000 n 
-0002204047 00000 n 
-0002205821 00000 n 
-0002205939 00000 n 
-0002206057 00000 n 
-0002206175 00000 n 
-0002208242 00000 n 
-0002209064 00000 n 
-0002208098 00000 n 
-0002206347 00000 n 
-0002208416 00000 n 
-0002208534 00000 n 
-0002208593 00000 n 
-0002208711 00000 n 
-0002208829 00000 n 
-0002208947 00000 n 
-0002211082 00000 n 
-0002211909 00000 n 
-0002210938 00000 n 
-0002209203 00000 n 
-0002211256 00000 n 
-0002211315 00000 n 
-0002211433 00000 n 
-0002211551 00000 n 
-0002211669 00000 n 
-0002211787 00000 n 
-0002871989 00000 n 
-0002214212 00000 n 
-0002214749 00000 n 
-0002214068 00000 n 
-0002212035 00000 n 
-0002214386 00000 n 
-0002214445 00000 n 
-0002214568 00000 n 
-0002214690 00000 n 
-0002216990 00000 n 
-0002217644 00000 n 
-0002216846 00000 n 
-0002214875 00000 n 
-0002217164 00000 n 
-0002217285 00000 n 
-0002217403 00000 n 
-0002217521 00000 n 
-0002219311 00000 n 
-0002219482 00000 n 
-0002222295 00000 n 
-0002222466 00000 n 
-0002219676 00000 n 
-0002220325 00000 n 
-0002219149 00000 n 
-0002217770 00000 n 
-0002219850 00000 n 
-0002219909 00000 n 
-0002220028 00000 n 
-0002220146 00000 n 
-0002220265 00000 n 
-0002222660 00000 n 
-0002222831 00000 n 
-0002223024 00000 n 
-0002223682 00000 n 
-0002222109 00000 n 
-0002220451 00000 n 
-0002223199 00000 n 
-0002223319 00000 n 
-0002223440 00000 n 
-0002223561 00000 n 
-0002225373 00000 n 
-0002225545 00000 n 
-0002225740 00000 n 
-0002226279 00000 n 
-0002225205 00000 n 
-0002223809 00000 n 
-0002225915 00000 n 
-0002225976 00000 n 
-0002226097 00000 n 
-0002226218 00000 n 
-0002228123 00000 n 
-0002228295 00000 n 
-0002228490 00000 n 
-0002229086 00000 n 
-0002227954 00000 n 
-0002226406 00000 n 
-0002228665 00000 n 
-0002228785 00000 n 
-0002228904 00000 n 
-0002229025 00000 n 
-0002872117 00000 n 
-0002230971 00000 n 
-0002231143 00000 n 
-0002231338 00000 n 
-0002231510 00000 n 
-0002231705 00000 n 
-0002232182 00000 n 
-0002230782 00000 n 
-0002229213 00000 n 
-0002231880 00000 n 
-0002232001 00000 n 
-0002232121 00000 n 
-0002234042 00000 n 
-0002234214 00000 n 
-0002234409 00000 n 
-0002235008 00000 n 
-0002233873 00000 n 
-0002232309 00000 n 
-0002234584 00000 n 
-0002234705 00000 n 
-0002234826 00000 n 
-0002234947 00000 n 
-0002236840 00000 n 
-0002237012 00000 n 
-0002237207 00000 n 
-0002237865 00000 n 
-0002236671 00000 n 
-0002235135 00000 n 
-0002237382 00000 n 
-0002237503 00000 n 
-0002237624 00000 n 
-0002237745 00000 n 
-0002239774 00000 n 
-0002239938 00000 n 
-0002240103 00000 n 
-0002240290 00000 n 
-0002241008 00000 n 
-0002239595 00000 n 
-0002237992 00000 n 
-0002240465 00000 n 
-0002240526 00000 n 
-0002240647 00000 n 
-0002240767 00000 n 
-0002240887 00000 n 
-0002242601 00000 n 
-0002242773 00000 n 
-0002242968 00000 n 
-0002243140 00000 n 
-0002243335 00000 n 
-0002243513 00000 n 
-0002244232 00000 n 
-0002242402 00000 n 
-0002241135 00000 n 
-0002243688 00000 n 
-0002243749 00000 n 
-0002243870 00000 n 
-0002243991 00000 n 
-0002244112 00000 n 
-0002246670 00000 n 
-0002246850 00000 n 
-0002247029 00000 n 
-0002247209 00000 n 
-0002247386 00000 n 
-0002248045 00000 n 
-0002246481 00000 n 
-0002244359 00000 n 
-0002247561 00000 n 
-0002247622 00000 n 
-0002247743 00000 n 
-0002247864 00000 n 
-0002247984 00000 n 
-0002872250 00000 n 
-0002250367 00000 n 
-0002250558 00000 n 
-0002250736 00000 n 
-0002250926 00000 n 
-0002251103 00000 n 
-0002254392 00000 n 
-0002251294 00000 n 
-0002251830 00000 n 
-0002250168 00000 n 
-0002248222 00000 n 
-0002251469 00000 n 
-0002251590 00000 n 
-0002251711 00000 n 
-0002254570 00000 n 
-0002254762 00000 n 
-0002254950 00000 n 
-0002255138 00000 n 
-0002255677 00000 n 
-0002254203 00000 n 
-0002252007 00000 n 
-0002255313 00000 n 
-0002255374 00000 n 
-0002255495 00000 n 
-0002255616 00000 n 
-0002257803 00000 n 
-0002257973 00000 n 
-0002258137 00000 n 
-0002258305 00000 n 
-0002258475 00000 n 
-0002258639 00000 n 
-0002261481 00000 n 
-0002261652 00000 n 
-0002258808 00000 n 
-0002259467 00000 n 
-0002257594 00000 n 
-0002255854 00000 n 
-0002258983 00000 n 
-0002259104 00000 n 
-0002259225 00000 n 
-0002259346 00000 n 
-0002261816 00000 n 
-0002261985 00000 n 
-0002262147 00000 n 
-0002262316 00000 n 
-0002262487 00000 n 
-0002262808 00000 n 
-0002266059 00000 n 
-0002266230 00000 n 
-0002262977 00000 n 
-0002263575 00000 n 
-0002261242 00000 n 
-0002259607 00000 n 
-0002263152 00000 n 
-0002263213 00000 n 
-0002263334 00000 n 
-0002263455 00000 n 
-0002262649 00000 n 
-0002266390 00000 n 
-0002266559 00000 n 
-0002266780 00000 n 
-0002267001 00000 n 
-0002267538 00000 n 
-0002265860 00000 n 
-0002263715 00000 n 
-0002267176 00000 n 
-0002267237 00000 n 
-0002267358 00000 n 
-0002267479 00000 n 
-0002270121 00000 n 
-0002270294 00000 n 
-0002270516 00000 n 
-0002270702 00000 n 
-0002270889 00000 n 
-0002271081 00000 n 
-0002271801 00000 n 
-0002269922 00000 n 
-0002267740 00000 n 
-0002271256 00000 n 
-0002271377 00000 n 
-0002271498 00000 n 
-0002271619 00000 n 
-0002271740 00000 n 
-0002872383 00000 n 
-0002274909 00000 n 
-0002275100 00000 n 
-0002275320 00000 n 
-0002275492 00000 n 
-0002275678 00000 n 
-0002279037 00000 n 
-0002275864 00000 n 
-0002276350 00000 n 
-0002274710 00000 n 
-0002271990 00000 n 
-0002276039 00000 n 
-0002276165 00000 n 
-0002276290 00000 n 
-0002282719 00000 n 
-0002282939 00000 n 
-0002283159 00000 n 
-0002279208 00000 n 
-0002280241 00000 n 
-0002278878 00000 n 
-0002276502 00000 n 
-0002279383 00000 n 
-0002279507 00000 n 
-0002279628 00000 n 
-0002279689 00000 n 
-0002279810 00000 n 
-0002279936 00000 n 
-0002280061 00000 n 
-0002283345 00000 n 
-0002283565 00000 n 
-0002283785 00000 n 
-0002283971 00000 n 
-0002284188 00000 n 
-0002284406 00000 n 
-0002284625 00000 n 
-0002284842 00000 n 
-0002285061 00000 n 
-0002285281 00000 n 
-0002285501 00000 n 
-0002285721 00000 n 
-0002285908 00000 n 
-0002286128 00000 n 
-0002286347 00000 n 
-0002286566 00000 n 
-0002286751 00000 n 
-0002286970 00000 n 
-0002287190 00000 n 
-0002287395 00000 n 
-0002287613 00000 n 
-0002287818 00000 n 
-0002288036 00000 n 
-0002291743 00000 n 
-0002288254 00000 n 
-0002289403 00000 n 
-0002282310 00000 n 
-0002280407 00000 n 
-0002288429 00000 n 
-0002288490 00000 n 
-0002288551 00000 n 
-0002288612 00000 n 
-0002288672 00000 n 
-0002288733 00000 n 
-0002288794 00000 n 
-0002288855 00000 n 
-0002288916 00000 n 
-0002288977 00000 n 
-0002289038 00000 n 
-0002289099 00000 n 
-0002289160 00000 n 
-0002289221 00000 n 
-0002289282 00000 n 
-0002289343 00000 n 
-0002320539 00000 n 
-0002320661 00000 n 
-0002291961 00000 n 
-0002292180 00000 n 
-0002292400 00000 n 
-0002292620 00000 n 
-0002292840 00000 n 
-0002293060 00000 n 
-0002293280 00000 n 
-0002293499 00000 n 
-0002293718 00000 n 
-0002293938 00000 n 
-0002294158 00000 n 
-0002294378 00000 n 
-0002294598 00000 n 
-0002294818 00000 n 
-0002295038 00000 n 
-0002295258 00000 n 
-0002295478 00000 n 
-0002295698 00000 n 
-0002295917 00000 n 
-0002296135 00000 n 
-0002296355 00000 n 
-0002296575 00000 n 
-0002296795 00000 n 
-0002297012 00000 n 
-0002297231 00000 n 
-0002297450 00000 n 
-0002301176 00000 n 
-0002301363 00000 n 
-0002301581 00000 n 
-0002297666 00000 n 
-0002298755 00000 n 
-0002291324 00000 n 
-0002289556 00000 n 
-0002297841 00000 n 
-0002297902 00000 n 
-0002297963 00000 n 
-0002298024 00000 n 
-0002298085 00000 n 
-0002298146 00000 n 
-0002298207 00000 n 
-0002298267 00000 n 
-0002298328 00000 n 
-0002298389 00000 n 
-0002298450 00000 n 
-0002298511 00000 n 
-0002298572 00000 n 
-0002298633 00000 n 
-0002298694 00000 n 
-0002320849 00000 n 
-0002301767 00000 n 
-0002301985 00000 n 
-0002302172 00000 n 
-0002302390 00000 n 
-0002302577 00000 n 
-0002302795 00000 n 
-0002302981 00000 n 
-0002303201 00000 n 
-0002303387 00000 n 
-0002303605 00000 n 
-0002303791 00000 n 
-0002304009 00000 n 
-0002304228 00000 n 
-0002304448 00000 n 
-0002304668 00000 n 
-0002304887 00000 n 
-0002305107 00000 n 
-0002305326 00000 n 
-0002305546 00000 n 
-0002305766 00000 n 
-0002309506 00000 n 
-0002309726 00000 n 
-0002309946 00000 n 
-0002305986 00000 n 
-0002306893 00000 n 
-0002300797 00000 n 
-0002298895 00000 n 
-0002306161 00000 n 
-0002306222 00000 n 
-0002306283 00000 n 
-0002306344 00000 n 
-0002306405 00000 n 
-0002306466 00000 n 
-0002306527 00000 n 
-0002306588 00000 n 
-0002306649 00000 n 
-0002306710 00000 n 
-0002306771 00000 n 
-0002306832 00000 n 
-0002320971 00000 n 
-0002321097 00000 n 
-0002321224 00000 n 
-0002310132 00000 n 
-0002310350 00000 n 
-0002310569 00000 n 
-0002310788 00000 n 
-0002311006 00000 n 
-0002311192 00000 n 
-0002311378 00000 n 
-0002311597 00000 n 
-0002311783 00000 n 
-0002311969 00000 n 
-0002312189 00000 n 
-0002312376 00000 n 
-0002312596 00000 n 
-0002312783 00000 n 
-0002312970 00000 n 
-0002313284 00000 n 
-0002313469 00000 n 
-0002314071 00000 n 
-0002309157 00000 n 
-0002307033 00000 n 
-0002313644 00000 n 
-0002313705 00000 n 
-0002313766 00000 n 
-0002313827 00000 n 
-0002313888 00000 n 
-0002313949 00000 n 
-0002314010 00000 n 
-0002313127 00000 n 
-0002872516 00000 n 
-0002321346 00000 n 
-0002324256 00000 n 
-0002324444 00000 n 
-0002324566 00000 n 
-0002324687 00000 n 
-0002324809 00000 n 
-0002316181 00000 n 
-0002316417 00000 n 
-0002316032 00000 n 
-0002314225 00000 n 
-0002316356 00000 n 
-0002319396 00000 n 
-0002319583 00000 n 
-0002319803 00000 n 
-0002320242 00000 n 
-0002321411 00000 n 
-0002319207 00000 n 
-0002316530 00000 n 
-0002320417 00000 n 
-0002320478 00000 n 
-0002320600 00000 n 
-0002320727 00000 n 
-0002320023 00000 n 
-0002320788 00000 n 
-0002320910 00000 n 
-0002321036 00000 n 
-0002321163 00000 n 
-0002321285 00000 n 
-0002323959 00000 n 
-0002325110 00000 n 
-0002323810 00000 n 
-0002321564 00000 n 
-0002324134 00000 n 
-0002324195 00000 n 
-0002324322 00000 n 
-0002324383 00000 n 
-0002324505 00000 n 
-0002324626 00000 n 
-0002324748 00000 n 
-0002324870 00000 n 
-0002325050 00000 n 
-0002327109 00000 n 
-0002327335 00000 n 
-0002327563 00000 n 
-0002327790 00000 n 
-0002327995 00000 n 
-0002328897 00000 n 
-0002326920 00000 n 
-0002325250 00000 n 
-0002328170 00000 n 
-0002328350 00000 n 
-0002328411 00000 n 
-0002328472 00000 n 
-0002328533 00000 n 
-0002328594 00000 n 
-0002328655 00000 n 
-0002328716 00000 n 
-0002328777 00000 n 
-0002330755 00000 n 
-0002330975 00000 n 
-0002331196 00000 n 
-0002331395 00000 n 
-0002331614 00000 n 
-0002331819 00000 n 
-0002332023 00000 n 
-0002332243 00000 n 
-0002332447 00000 n 
-0002332667 00000 n 
-0002332870 00000 n 
-0002336546 00000 n 
-0002336750 00000 n 
-0002333089 00000 n 
-0002333990 00000 n 
-0002330496 00000 n 
-0002329064 00000 n 
-0002333264 00000 n 
-0002333384 00000 n 
-0002333445 00000 n 
-0002333506 00000 n 
-0002333567 00000 n 
-0002333746 00000 n 
-0002333807 00000 n 
-0002333868 00000 n 
-0002333929 00000 n 
-0002344333 00000 n 
-0002344516 00000 n 
-0002336970 00000 n 
-0002337188 00000 n 
-0002337408 00000 n 
-0002337595 00000 n 
-0002337799 00000 n 
-0002338018 00000 n 
-0002338205 00000 n 
-0002338425 00000 n 
-0002338611 00000 n 
-0002338831 00000 n 
-0002339050 00000 n 
-0002339236 00000 n 
-0002339455 00000 n 
-0002339641 00000 n 
-0002339827 00000 n 
-0002340014 00000 n 
-0002340201 00000 n 
-0002340984 00000 n 
-0002336217 00000 n 
-0002334143 00000 n 
-0002340376 00000 n 
-0002340437 00000 n 
-0002340498 00000 n 
-0002340557 00000 n 
-0002340618 00000 n 
-0002340679 00000 n 
-0002340740 00000 n 
-0002340801 00000 n 
-0002340862 00000 n 
-0002340923 00000 n 
-0002872649 00000 n 
-0002344699 00000 n 
-0002344821 00000 n 
-0002342993 00000 n 
-0002343213 00000 n 
-0002343432 00000 n 
-0002343664 00000 n 
-0002343850 00000 n 
-0002344037 00000 n 
-0002345184 00000 n 
-0002342794 00000 n 
-0002341149 00000 n 
-0002344212 00000 n 
-0002344273 00000 n 
-0002344394 00000 n 
-0002344455 00000 n 
-0002344577 00000 n 
-0002344638 00000 n 
-0002344760 00000 n 
-0002344882 00000 n 
-0002345062 00000 n 
-0002345123 00000 n 
-0002347416 00000 n 
-0002347641 00000 n 
-0002347866 00000 n 
-0002348053 00000 n 
-0002348276 00000 n 
-0002348461 00000 n 
-0002348646 00000 n 
-0002348850 00000 n 
-0002349076 00000 n 
-0002349302 00000 n 
-0002349488 00000 n 
-0002349714 00000 n 
-0002349940 00000 n 
-0002350144 00000 n 
-0002350370 00000 n 
-0002350574 00000 n 
-0002350800 00000 n 
-0002351026 00000 n 
-0002351250 00000 n 
-0002351476 00000 n 
-0002354582 00000 n 
-0002354787 00000 n 
-0002351702 00000 n 
-0002352849 00000 n 
-0002347067 00000 n 
-0002345337 00000 n 
-0002351877 00000 n 
-0002351938 00000 n 
-0002352118 00000 n 
-0002352179 00000 n 
-0002352240 00000 n 
-0002352301 00000 n 
-0002352362 00000 n 
-0002352423 00000 n 
-0002352483 00000 n 
-0002352544 00000 n 
-0002352605 00000 n 
-0002352666 00000 n 
-0002352727 00000 n 
-0002352788 00000 n 
-0002356164 00000 n 
-0002355013 00000 n 
-0002355206 00000 n 
-0002355431 00000 n 
-0002355623 00000 n 
-0002356469 00000 n 
-0002354383 00000 n 
-0002353003 00000 n 
-0002355798 00000 n 
-0002355859 00000 n 
-0002355920 00000 n 
-0002355981 00000 n 
-0002356042 00000 n 
-0002356103 00000 n 
-0002356225 00000 n 
-0002356286 00000 n 
-0002356347 00000 n 
-0002356408 00000 n 
-0002358158 00000 n 
-0002358310 00000 n 
-0002358462 00000 n 
-0002358614 00000 n 
-0002358765 00000 n 
-0002358917 00000 n 
-0002359068 00000 n 
-0002359221 00000 n 
-0002359374 00000 n 
-0002359527 00000 n 
-0002359680 00000 n 
-0002359832 00000 n 
-0002359984 00000 n 
-0002360136 00000 n 
-0002360289 00000 n 
-0002360441 00000 n 
-0002360593 00000 n 
-0002360744 00000 n 
-0002360897 00000 n 
-0002361050 00000 n 
-0002361202 00000 n 
-0002361354 00000 n 
-0002361506 00000 n 
-0002361658 00000 n 
-0002361811 00000 n 
-0002361964 00000 n 
-0002362116 00000 n 
-0002362267 00000 n 
-0002362418 00000 n 
-0002362570 00000 n 
-0002362722 00000 n 
-0002362875 00000 n 
-0002363028 00000 n 
-0002363179 00000 n 
-0002363332 00000 n 
-0002363484 00000 n 
-0002363637 00000 n 
-0002363789 00000 n 
-0002363942 00000 n 
-0002364093 00000 n 
-0002364246 00000 n 
-0002364398 00000 n 
-0002364550 00000 n 
-0002364703 00000 n 
-0002364856 00000 n 
-0002365008 00000 n 
-0002365160 00000 n 
-0002365312 00000 n 
-0002365465 00000 n 
-0002365617 00000 n 
-0002365770 00000 n 
-0002365921 00000 n 
-0002366074 00000 n 
-0002366227 00000 n 
-0002366380 00000 n 
-0002366533 00000 n 
-0002366686 00000 n 
-0002366839 00000 n 
-0002366992 00000 n 
-0002369376 00000 n 
-0002367266 00000 n 
-0002357429 00000 n 
-0002356609 00000 n 
-0002367144 00000 n 
-0002367205 00000 n 
-0002369528 00000 n 
-0002369681 00000 n 
-0002369834 00000 n 
-0002369985 00000 n 
-0002370136 00000 n 
-0002370288 00000 n 
-0002370440 00000 n 
-0002370593 00000 n 
-0002370744 00000 n 
-0002370895 00000 n 
-0002371048 00000 n 
-0002371199 00000 n 
-0002371351 00000 n 
-0002371502 00000 n 
-0002371655 00000 n 
-0002371808 00000 n 
-0002371961 00000 n 
-0002372113 00000 n 
-0002372265 00000 n 
-0002372418 00000 n 
-0002372570 00000 n 
-0002372722 00000 n 
-0002372874 00000 n 
-0002373027 00000 n 
-0002373180 00000 n 
-0002373333 00000 n 
-0002373484 00000 n 
-0002373636 00000 n 
-0002373789 00000 n 
-0002373942 00000 n 
-0002374095 00000 n 
-0002374247 00000 n 
-0002374400 00000 n 
-0002374551 00000 n 
-0002374703 00000 n 
-0002374856 00000 n 
-0002375009 00000 n 
-0002375162 00000 n 
-0002375314 00000 n 
-0002375467 00000 n 
-0002375618 00000 n 
-0002375771 00000 n 
-0002375923 00000 n 
-0002376076 00000 n 
-0002376229 00000 n 
-0002376381 00000 n 
-0002376534 00000 n 
-0002376687 00000 n 
-0002376840 00000 n 
-0002376993 00000 n 
-0002377145 00000 n 
-0002377297 00000 n 
-0002377449 00000 n 
-0002377602 00000 n 
-0002377751 00000 n 
-0002377903 00000 n 
-0002378056 00000 n 
-0002378209 00000 n 
-0002378362 00000 n 
-0002378513 00000 n 
-0002378664 00000 n 
-0002378815 00000 n 
-0002378965 00000 n 
-0002379201 00000 n 
-0002368597 00000 n 
-0002367353 00000 n 
-0002379140 00000 n 
-0002381273 00000 n 
-0002381426 00000 n 
-0002381579 00000 n 
-0002381730 00000 n 
-0002381883 00000 n 
-0002382036 00000 n 
-0002382187 00000 n 
-0002382339 00000 n 
-0002382492 00000 n 
-0002382645 00000 n 
-0002382798 00000 n 
-0002382950 00000 n 
-0002383103 00000 n 
-0002383254 00000 n 
-0002383407 00000 n 
-0002383559 00000 n 
-0002383711 00000 n 
-0002383863 00000 n 
-0002384015 00000 n 
-0002384167 00000 n 
-0002384318 00000 n 
-0002384469 00000 n 
-0002384620 00000 n 
-0002384772 00000 n 
-0002384925 00000 n 
-0002385078 00000 n 
-0002385231 00000 n 
-0002385382 00000 n 
-0002385534 00000 n 
-0002385685 00000 n 
-0002385838 00000 n 
-0002385991 00000 n 
-0002386142 00000 n 
-0002386294 00000 n 
-0002386447 00000 n 
-0002386600 00000 n 
-0002386753 00000 n 
-0002386904 00000 n 
-0002387057 00000 n 
-0002387210 00000 n 
-0002387363 00000 n 
-0002387514 00000 n 
-0002387666 00000 n 
-0002387818 00000 n 
-0002387971 00000 n 
-0002388124 00000 n 
-0002388277 00000 n 
-0002388429 00000 n 
-0002388582 00000 n 
-0002388734 00000 n 
-0002388887 00000 n 
-0002389040 00000 n 
-0002389193 00000 n 
-0002389346 00000 n 
-0002389499 00000 n 
-0002389652 00000 n 
-0002389802 00000 n 
-0002389954 00000 n 
-0002390107 00000 n 
-0002390260 00000 n 
-0002390413 00000 n 
-0002392908 00000 n 
-0002390566 00000 n 
-0002390802 00000 n 
-0002380514 00000 n 
-0002379301 00000 n 
-0002390741 00000 n 
-0002872782 00000 n 
-0002393061 00000 n 
-0002393214 00000 n 
-0002393367 00000 n 
-0002393520 00000 n 
-0002393672 00000 n 
-0002393824 00000 n 
-0002393975 00000 n 
-0002394127 00000 n 
-0002394280 00000 n 
-0002394433 00000 n 
-0002394586 00000 n 
-0002394738 00000 n 
-0002394891 00000 n 
-0002395044 00000 n 
-0002395197 00000 n 
-0002395349 00000 n 
-0002395500 00000 n 
-0002395653 00000 n 
-0002395805 00000 n 
-0002395957 00000 n 
-0002396109 00000 n 
-0002396261 00000 n 
-0002396413 00000 n 
-0002396566 00000 n 
-0002396718 00000 n 
-0002396869 00000 n 
-0002397022 00000 n 
-0002397175 00000 n 
-0002397327 00000 n 
-0002397479 00000 n 
-0002397632 00000 n 
-0002397784 00000 n 
-0002397937 00000 n 
-0002398087 00000 n 
-0002398239 00000 n 
-0002398392 00000 n 
-0002398545 00000 n 
-0002398698 00000 n 
-0002398851 00000 n 
-0002399002 00000 n 
-0002399151 00000 n 
-0002399303 00000 n 
-0002399456 00000 n 
-0002399609 00000 n 
-0002399759 00000 n 
-0002399912 00000 n 
-0002400062 00000 n 
-0002400215 00000 n 
-0002400368 00000 n 
-0002400521 00000 n 
-0002400673 00000 n 
-0002400826 00000 n 
-0002400979 00000 n 
-0002401132 00000 n 
-0002401285 00000 n 
-0002403823 00000 n 
-0002401438 00000 n 
-0002401674 00000 n 
-0002392199 00000 n 
-0002390902 00000 n 
-0002401613 00000 n 
-0002403976 00000 n 
-0002404127 00000 n 
-0002404280 00000 n 
-0002404433 00000 n 
-0002404586 00000 n 
-0002404739 00000 n 
-0002404890 00000 n 
-0002405043 00000 n 
-0002405196 00000 n 
-0002405349 00000 n 
-0002405502 00000 n 
-0002405655 00000 n 
-0002405805 00000 n 
-0002405958 00000 n 
-0002406111 00000 n 
-0002406264 00000 n 
-0002406417 00000 n 
-0002406569 00000 n 
-0002406721 00000 n 
-0002406873 00000 n 
-0002407026 00000 n 
-0002407179 00000 n 
-0002407331 00000 n 
-0002407483 00000 n 
-0002407634 00000 n 
-0002407787 00000 n 
-0002407939 00000 n 
-0002408091 00000 n 
-0002408244 00000 n 
-0002408397 00000 n 
-0002408550 00000 n 
-0002408703 00000 n 
-0002408856 00000 n 
-0002409009 00000 n 
-0002409162 00000 n 
-0002409315 00000 n 
-0002409468 00000 n 
-0002409620 00000 n 
-0002409772 00000 n 
-0002409924 00000 n 
-0002410076 00000 n 
-0002410228 00000 n 
-0002410380 00000 n 
-0002410532 00000 n 
-0002410684 00000 n 
-0002410836 00000 n 
-0002410989 00000 n 
-0002411142 00000 n 
-0002411295 00000 n 
-0002411448 00000 n 
-0002411598 00000 n 
-0002411748 00000 n 
-0002411900 00000 n 
-0002412052 00000 n 
-0002412205 00000 n 
-0002412358 00000 n 
-0002412511 00000 n 
-0002412664 00000 n 
-0002412817 00000 n 
-0002412970 00000 n 
-0002413123 00000 n 
-0002413276 00000 n 
-0002415752 00000 n 
-0002413427 00000 n 
-0002413663 00000 n 
-0002403044 00000 n 
-0002401774 00000 n 
-0002413602 00000 n 
-0002415905 00000 n 
-0002416057 00000 n 
-0002416210 00000 n 
-0002416363 00000 n 
-0002416516 00000 n 
-0002416668 00000 n 
-0002416819 00000 n 
-0002416972 00000 n 
-0002417125 00000 n 
-0002417278 00000 n 
-0002417430 00000 n 
-0002417582 00000 n 
-0002417734 00000 n 
-0002417886 00000 n 
-0002418039 00000 n 
-0002418190 00000 n 
-0002418342 00000 n 
-0002418494 00000 n 
-0002418645 00000 n 
-0002418798 00000 n 
-0002418951 00000 n 
-0002419104 00000 n 
-0002419257 00000 n 
-0002419409 00000 n 
-0002419562 00000 n 
-0002419715 00000 n 
-0002419868 00000 n 
-0002420021 00000 n 
-0002420173 00000 n 
-0002420326 00000 n 
-0002420479 00000 n 
-0002420632 00000 n 
-0002420784 00000 n 
-0002420937 00000 n 
-0002421090 00000 n 
-0002421242 00000 n 
-0002421395 00000 n 
-0002421547 00000 n 
-0002421700 00000 n 
-0002421853 00000 n 
-0002422006 00000 n 
-0002422158 00000 n 
-0002422311 00000 n 
-0002422463 00000 n 
-0002422615 00000 n 
-0002422768 00000 n 
-0002422921 00000 n 
-0002423074 00000 n 
-0002423227 00000 n 
-0002423380 00000 n 
-0002423529 00000 n 
-0002423678 00000 n 
-0002423831 00000 n 
-0002423984 00000 n 
-0002424137 00000 n 
-0002424290 00000 n 
-0002426953 00000 n 
-0002424442 00000 n 
-0002424678 00000 n 
-0002415033 00000 n 
-0002413763 00000 n 
-0002424617 00000 n 
-0002427106 00000 n 
-0002427259 00000 n 
-0002427411 00000 n 
-0002427563 00000 n 
-0002427715 00000 n 
-0002427867 00000 n 
-0002428019 00000 n 
-0002428172 00000 n 
-0002428324 00000 n 
-0002428477 00000 n 
-0002428630 00000 n 
-0002428783 00000 n 
-0002428935 00000 n 
-0002429085 00000 n 
-0002429238 00000 n 
-0002429391 00000 n 
-0002429544 00000 n 
-0002429697 00000 n 
-0002429849 00000 n 
-0002430001 00000 n 
-0002430153 00000 n 
-0002430304 00000 n 
-0002430457 00000 n 
-0002430610 00000 n 
-0002430762 00000 n 
-0002430915 00000 n 
-0002431068 00000 n 
-0002431221 00000 n 
-0002431373 00000 n 
-0002431525 00000 n 
-0002431677 00000 n 
-0002431827 00000 n 
-0002431980 00000 n 
-0002432133 00000 n 
-0002432286 00000 n 
-0002432439 00000 n 
-0002432592 00000 n 
-0002432744 00000 n 
-0002432896 00000 n 
-0002433047 00000 n 
-0002433200 00000 n 
-0002433353 00000 n 
-0002433506 00000 n 
-0002433656 00000 n 
-0002433809 00000 n 
-0002433962 00000 n 
-0002434115 00000 n 
-0002434268 00000 n 
-0002434420 00000 n 
-0002434572 00000 n 
-0002434724 00000 n 
-0002434876 00000 n 
-0002435026 00000 n 
-0002435179 00000 n 
-0002435332 00000 n 
-0002435485 00000 n 
-0002435637 00000 n 
-0002435789 00000 n 
-0002435942 00000 n 
-0002436094 00000 n 
-0002436247 00000 n 
-0002436399 00000 n 
-0002436552 00000 n 
-0002436705 00000 n 
-0002436858 00000 n 
-0002439296 00000 n 
-0002437010 00000 n 
-0002437246 00000 n 
-0002426144 00000 n 
-0002424778 00000 n 
-0002437185 00000 n 
-0002439449 00000 n 
-0002439602 00000 n 
-0002439755 00000 n 
-0002439907 00000 n 
-0002440060 00000 n 
-0002440212 00000 n 
-0002440364 00000 n 
-0002440517 00000 n 
-0002440670 00000 n 
-0002440822 00000 n 
-0002440974 00000 n 
-0002441127 00000 n 
-0002441280 00000 n 
-0002441433 00000 n 
-0002441586 00000 n 
-0002441739 00000 n 
-0002441891 00000 n 
-0002442044 00000 n 
-0002442197 00000 n 
-0002442350 00000 n 
-0002442503 00000 n 
-0002442655 00000 n 
-0002442808 00000 n 
-0002442960 00000 n 
-0002443113 00000 n 
-0002443266 00000 n 
-0002443419 00000 n 
-0002443572 00000 n 
-0002443725 00000 n 
-0002443877 00000 n 
-0002444030 00000 n 
-0002444182 00000 n 
-0002444335 00000 n 
-0002444487 00000 n 
-0002444640 00000 n 
-0002444792 00000 n 
-0002444944 00000 n 
-0002445096 00000 n 
-0002445248 00000 n 
-0002445400 00000 n 
-0002445552 00000 n 
-0002445704 00000 n 
-0002445857 00000 n 
-0002446010 00000 n 
-0002446162 00000 n 
-0002446314 00000 n 
-0002446467 00000 n 
-0002446620 00000 n 
-0002446773 00000 n 
-0002446926 00000 n 
-0002447078 00000 n 
-0002447231 00000 n 
-0002447384 00000 n 
-0002447537 00000 n 
-0002447690 00000 n 
-0002447843 00000 n 
-0002447995 00000 n 
-0002448147 00000 n 
-0002448300 00000 n 
-0002448452 00000 n 
-0002451675 00000 n 
-0002448602 00000 n 
-0002448838 00000 n 
-0002438537 00000 n 
-0002437359 00000 n 
-0002448777 00000 n 
-0002451828 00000 n 
-0002451981 00000 n 
-0002452133 00000 n 
-0002452285 00000 n 
-0002452438 00000 n 
-0002452591 00000 n 
-0002452744 00000 n 
-0002452897 00000 n 
-0002453049 00000 n 
-0002453202 00000 n 
-0002453353 00000 n 
-0002453506 00000 n 
-0002453659 00000 n 
-0002453812 00000 n 
-0002453965 00000 n 
-0002454117 00000 n 
-0002454270 00000 n 
-0002454423 00000 n 
-0002454576 00000 n 
-0002454728 00000 n 
-0002454880 00000 n 
-0002455033 00000 n 
-0002455185 00000 n 
-0002455337 00000 n 
-0002455489 00000 n 
-0002455641 00000 n 
-0002455793 00000 n 
-0002455944 00000 n 
-0002456096 00000 n 
-0002456247 00000 n 
-0002456398 00000 n 
-0002456548 00000 n 
-0002456698 00000 n 
-0002456850 00000 n 
-0002457002 00000 n 
-0002457154 00000 n 
-0002457306 00000 n 
-0002457458 00000 n 
-0002457609 00000 n 
-0002457761 00000 n 
-0002457912 00000 n 
-0002458064 00000 n 
-0002458215 00000 n 
-0002458368 00000 n 
-0002458521 00000 n 
-0002458672 00000 n 
-0002458825 00000 n 
-0002458976 00000 n 
-0002459127 00000 n 
-0002459280 00000 n 
-0002459431 00000 n 
-0002459584 00000 n 
-0002459736 00000 n 
-0002459888 00000 n 
-0002460041 00000 n 
-0002460194 00000 n 
-0002460346 00000 n 
-0002460499 00000 n 
-0002460650 00000 n 
-0002460802 00000 n 
-0002460954 00000 n 
-0002461106 00000 n 
-0002461259 00000 n 
-0002461411 00000 n 
-0002461564 00000 n 
-0002461717 00000 n 
-0002461870 00000 n 
-0002462022 00000 n 
-0002462174 00000 n 
-0002462325 00000 n 
-0002462477 00000 n 
-0002462628 00000 n 
-0002462780 00000 n 
-0002462933 00000 n 
-0002463085 00000 n 
-0002463237 00000 n 
-0002463390 00000 n 
-0002463542 00000 n 
-0002463693 00000 n 
-0002463845 00000 n 
-0002463998 00000 n 
-0002464150 00000 n 
-0002464302 00000 n 
-0002464453 00000 n 
-0002464603 00000 n 
-0002464751 00000 n 
-0002464902 00000 n 
-0002465054 00000 n 
-0002465207 00000 n 
-0002465359 00000 n 
-0002468728 00000 n 
-0002465509 00000 n 
-0002465745 00000 n 
-0002450616 00000 n 
-0002448964 00000 n 
-0002465684 00000 n 
-0002872915 00000 n 
-0002468880 00000 n 
-0002469032 00000 n 
-0002469185 00000 n 
-0002469337 00000 n 
-0002469489 00000 n 
-0002469640 00000 n 
-0002469792 00000 n 
-0002469945 00000 n 
-0002470097 00000 n 
-0002470250 00000 n 
-0002470402 00000 n 
-0002470555 00000 n 
-0002470707 00000 n 
-0002470859 00000 n 
-0002471012 00000 n 
-0002471165 00000 n 
-0002471317 00000 n 
-0002471469 00000 n 
-0002471622 00000 n 
-0002471775 00000 n 
-0002471928 00000 n 
-0002472081 00000 n 
-0002472233 00000 n 
-0002472385 00000 n 
-0002472538 00000 n 
-0002472690 00000 n 
-0002472841 00000 n 
-0002472994 00000 n 
-0002473147 00000 n 
-0002473300 00000 n 
-0002473453 00000 n 
-0002473606 00000 n 
-0002473759 00000 n 
-0002473911 00000 n 
-0002474064 00000 n 
-0002474216 00000 n 
-0002474369 00000 n 
-0002474522 00000 n 
-0002474674 00000 n 
-0002474827 00000 n 
-0002474980 00000 n 
-0002475132 00000 n 
-0002475285 00000 n 
-0002475437 00000 n 
-0002475590 00000 n 
-0002475742 00000 n 
-0002475893 00000 n 
-0002476046 00000 n 
-0002476199 00000 n 
-0002476352 00000 n 
-0002476505 00000 n 
-0002476657 00000 n 
-0002476810 00000 n 
-0002476962 00000 n 
-0002477113 00000 n 
-0002477265 00000 n 
-0002477418 00000 n 
-0002477571 00000 n 
-0002477723 00000 n 
-0002477876 00000 n 
-0002478028 00000 n 
-0002478181 00000 n 
-0002478333 00000 n 
-0002478486 00000 n 
-0002478637 00000 n 
-0002478789 00000 n 
-0002478942 00000 n 
-0002479094 00000 n 
-0002479246 00000 n 
-0002479398 00000 n 
-0002479551 00000 n 
-0002479704 00000 n 
-0002479856 00000 n 
-0002480009 00000 n 
-0002480162 00000 n 
-0002480315 00000 n 
-0002480468 00000 n 
-0002480621 00000 n 
-0002480774 00000 n 
-0002480927 00000 n 
-0002481080 00000 n 
-0002481233 00000 n 
-0002481386 00000 n 
-0002481539 00000 n 
-0002481692 00000 n 
-0002481844 00000 n 
-0002481997 00000 n 
-0002482150 00000 n 
-0002482303 00000 n 
-0002482456 00000 n 
-0002482608 00000 n 
-0002482761 00000 n 
-0002482913 00000 n 
-0002483066 00000 n 
-0002483219 00000 n 
-0002483371 00000 n 
-0002483524 00000 n 
-0002483677 00000 n 
-0002483829 00000 n 
-0002483982 00000 n 
-0002484134 00000 n 
-0002484287 00000 n 
-0002484439 00000 n 
-0002484592 00000 n 
-0002484745 00000 n 
-0002484898 00000 n 
-0002485050 00000 n 
-0002485203 00000 n 
-0002485354 00000 n 
-0002485506 00000 n 
-0002488729 00000 n 
-0002485657 00000 n 
-0002485893 00000 n 
-0002467469 00000 n 
-0002465858 00000 n 
-0002485832 00000 n 
-0002488882 00000 n 
-0002489035 00000 n 
-0002489188 00000 n 
-0002489341 00000 n 
-0002489494 00000 n 
-0002489646 00000 n 
-0002489799 00000 n 
-0002489951 00000 n 
-0002490103 00000 n 
-0002490255 00000 n 
-0002490408 00000 n 
-0002490560 00000 n 
-0002490711 00000 n 
-0002490863 00000 n 
-0002491015 00000 n 
-0002491168 00000 n 
-0002491319 00000 n 
-0002491472 00000 n 
-0002491624 00000 n 
-0002491776 00000 n 
-0002491929 00000 n 
-0002492082 00000 n 
-0002492234 00000 n 
-0002492387 00000 n 
-0002492540 00000 n 
-0002492692 00000 n 
-0002492845 00000 n 
-0002492998 00000 n 
-0002493151 00000 n 
-0002493304 00000 n 
-0002493457 00000 n 
-0002493610 00000 n 
-0002493761 00000 n 
-0002493913 00000 n 
-0002494066 00000 n 
-0002494217 00000 n 
-0002494369 00000 n 
-0002494522 00000 n 
-0002494673 00000 n 
-0002494826 00000 n 
-0002494979 00000 n 
-0002495131 00000 n 
-0002495283 00000 n 
-0002495434 00000 n 
-0002495586 00000 n 
-0002495739 00000 n 
-0002495892 00000 n 
-0002496045 00000 n 
-0002496198 00000 n 
-0002496351 00000 n 
-0002496502 00000 n 
-0002496652 00000 n 
-0002496805 00000 n 
-0002496957 00000 n 
-0002497110 00000 n 
-0002497263 00000 n 
-0002497415 00000 n 
-0002497568 00000 n 
-0002497719 00000 n 
-0002497871 00000 n 
-0002498024 00000 n 
-0002498175 00000 n 
-0002498328 00000 n 
-0002498481 00000 n 
-0002498633 00000 n 
-0002498785 00000 n 
-0002498938 00000 n 
-0002499089 00000 n 
-0002499242 00000 n 
-0002499395 00000 n 
-0002499547 00000 n 
-0002499700 00000 n 
-0002499851 00000 n 
-0002500003 00000 n 
-0002500156 00000 n 
-0002500309 00000 n 
-0002500462 00000 n 
-0002500615 00000 n 
-0002500767 00000 n 
-0002500920 00000 n 
-0002501073 00000 n 
-0002501226 00000 n 
-0002501379 00000 n 
-0002501532 00000 n 
-0002501685 00000 n 
-0002501837 00000 n 
-0002501990 00000 n 
-0002502143 00000 n 
-0002502295 00000 n 
-0002502448 00000 n 
-0002502600 00000 n 
-0002502751 00000 n 
-0002502903 00000 n 
-0002503055 00000 n 
-0002503208 00000 n 
-0002503358 00000 n 
-0002503511 00000 n 
-0002503663 00000 n 
-0002503816 00000 n 
-0002503969 00000 n 
-0002504122 00000 n 
-0002504274 00000 n 
-0002504427 00000 n 
-0002504580 00000 n 
-0002504732 00000 n 
-0002504885 00000 n 
-0002508277 00000 n 
-0002505037 00000 n 
-0002505273 00000 n 
-0002487510 00000 n 
-0002486006 00000 n 
-0002505212 00000 n 
-0002508430 00000 n 
-0002508582 00000 n 
-0002508735 00000 n 
-0002508888 00000 n 
-0002509041 00000 n 
-0002509192 00000 n 
-0002509345 00000 n 
-0002509497 00000 n 
-0002509650 00000 n 
-0002509803 00000 n 
-0002509954 00000 n 
-0002510107 00000 n 
-0002510260 00000 n 
-0002510413 00000 n 
-0002510565 00000 n 
-0002510718 00000 n 
-0002510871 00000 n 
-0002511024 00000 n 
-0002511177 00000 n 
-0002511330 00000 n 
-0002511483 00000 n 
-0002511636 00000 n 
-0002511789 00000 n 
-0002511942 00000 n 
-0002512095 00000 n 
-0002512248 00000 n 
-0002512401 00000 n 
-0002512553 00000 n 
-0002512706 00000 n 
-0002512858 00000 n 
-0002513010 00000 n 
-0002513163 00000 n 
-0002513316 00000 n 
-0002513469 00000 n 
-0002513621 00000 n 
-0002513774 00000 n 
-0002513926 00000 n 
-0002514079 00000 n 
-0002514231 00000 n 
-0002514382 00000 n 
-0002514535 00000 n 
-0002514688 00000 n 
-0002514839 00000 n 
-0002514992 00000 n 
-0002515140 00000 n 
-0002515291 00000 n 
-0002515444 00000 n 
-0002515596 00000 n 
-0002515749 00000 n 
-0002515902 00000 n 
-0002516055 00000 n 
-0002516207 00000 n 
-0002516360 00000 n 
-0002516512 00000 n 
-0002516663 00000 n 
-0002516816 00000 n 
-0002516968 00000 n 
-0002517120 00000 n 
-0002517273 00000 n 
-0002517426 00000 n 
-0002517579 00000 n 
-0002517731 00000 n 
-0002517884 00000 n 
-0002518036 00000 n 
-0002518189 00000 n 
-0002518342 00000 n 
-0002518494 00000 n 
-0002518647 00000 n 
-0002518799 00000 n 
-0002518952 00000 n 
-0002519104 00000 n 
-0002519257 00000 n 
-0002519410 00000 n 
-0002519563 00000 n 
-0002519715 00000 n 
-0002519868 00000 n 
-0002520021 00000 n 
-0002520174 00000 n 
-0002520327 00000 n 
-0002520480 00000 n 
-0002520633 00000 n 
-0002520786 00000 n 
-0002520939 00000 n 
-0002521092 00000 n 
-0002521244 00000 n 
-0002521396 00000 n 
-0002521549 00000 n 
-0002521701 00000 n 
-0002521852 00000 n 
-0002522004 00000 n 
-0002522157 00000 n 
-0002522310 00000 n 
-0002522461 00000 n 
-0002522613 00000 n 
-0002522765 00000 n 
-0002522917 00000 n 
-0002523070 00000 n 
-0002523223 00000 n 
-0002523376 00000 n 
-0002523528 00000 n 
-0002523681 00000 n 
-0002523834 00000 n 
-0002523986 00000 n 
-0002524137 00000 n 
-0002527604 00000 n 
-0002527756 00000 n 
-0002524288 00000 n 
-0002524524 00000 n 
-0002507078 00000 n 
-0002505386 00000 n 
-0002524463 00000 n 
-0002527909 00000 n 
-0002528061 00000 n 
-0002528214 00000 n 
-0002528366 00000 n 
-0002528519 00000 n 
-0002528670 00000 n 
-0002528823 00000 n 
-0002528974 00000 n 
-0002529127 00000 n 
-0002529279 00000 n 
-0002529432 00000 n 
-0002529585 00000 n 
-0002529737 00000 n 
-0002529890 00000 n 
-0002530043 00000 n 
-0002530196 00000 n 
-0002530348 00000 n 
-0002530500 00000 n 
-0002530653 00000 n 
-0002530806 00000 n 
-0002530958 00000 n 
-0002531111 00000 n 
-0002531263 00000 n 
-0002531416 00000 n 
-0002531568 00000 n 
-0002531721 00000 n 
-0002531874 00000 n 
-0002532027 00000 n 
-0002532180 00000 n 
-0002532332 00000 n 
-0002532485 00000 n 
-0002532638 00000 n 
-0002532790 00000 n 
-0002532943 00000 n 
-0002533096 00000 n 
-0002533248 00000 n 
-0002533399 00000 n 
-0002533552 00000 n 
-0002533704 00000 n 
-0002533857 00000 n 
-0002534009 00000 n 
-0002534162 00000 n 
-0002534314 00000 n 
-0002534467 00000 n 
-0002534620 00000 n 
-0002534772 00000 n 
-0002534923 00000 n 
-0002535076 00000 n 
-0002535228 00000 n 
-0002535381 00000 n 
-0002535534 00000 n 
-0002535687 00000 n 
-0002535840 00000 n 
-0002535993 00000 n 
-0002536146 00000 n 
-0002536298 00000 n 
-0002536449 00000 n 
-0002536602 00000 n 
-0002536754 00000 n 
-0002536907 00000 n 
-0002537058 00000 n 
-0002537210 00000 n 
-0002537362 00000 n 
-0002537515 00000 n 
-0002537667 00000 n 
-0002537819 00000 n 
-0002537972 00000 n 
-0002538123 00000 n 
-0002538275 00000 n 
-0002538428 00000 n 
-0002538581 00000 n 
-0002538734 00000 n 
-0002538886 00000 n 
-0002539039 00000 n 
-0002539192 00000 n 
-0002539343 00000 n 
-0002539496 00000 n 
-0002539649 00000 n 
-0002539801 00000 n 
-0002539954 00000 n 
-0002540107 00000 n 
-0002540260 00000 n 
-0002540413 00000 n 
-0002540566 00000 n 
-0002540718 00000 n 
-0002540871 00000 n 
-0002541023 00000 n 
-0002541175 00000 n 
-0002541328 00000 n 
-0002541480 00000 n 
-0002541631 00000 n 
-0002541784 00000 n 
-0002541937 00000 n 
-0002542090 00000 n 
-0002542243 00000 n 
-0002542395 00000 n 
-0002542548 00000 n 
-0002542700 00000 n 
-0002542853 00000 n 
-0002543005 00000 n 
-0002543158 00000 n 
-0002543310 00000 n 
-0002543462 00000 n 
-0002543615 00000 n 
-0002543768 00000 n 
-0002543921 00000 n 
-0002544073 00000 n 
-0002544226 00000 n 
-0002544379 00000 n 
-0002544532 00000 n 
-0002544684 00000 n 
-0002544837 00000 n 
-0002544990 00000 n 
-0002545143 00000 n 
-0002545296 00000 n 
-0002545447 00000 n 
-0002548787 00000 n 
-0002545598 00000 n 
-0002545834 00000 n 
-0002526275 00000 n 
-0002524650 00000 n 
-0002545773 00000 n 
-0002548940 00000 n 
-0002549093 00000 n 
-0002549246 00000 n 
-0002549399 00000 n 
-0002549552 00000 n 
-0002549704 00000 n 
-0002549857 00000 n 
-0002550008 00000 n 
-0002550161 00000 n 
-0002550314 00000 n 
-0002550466 00000 n 
-0002550615 00000 n 
-0002550765 00000 n 
-0002550918 00000 n 
-0002551070 00000 n 
-0002551222 00000 n 
-0002551375 00000 n 
-0002551526 00000 n 
-0002551679 00000 n 
-0002551832 00000 n 
-0002551985 00000 n 
-0002552138 00000 n 
-0002552291 00000 n 
-0002552444 00000 n 
-0002552597 00000 n 
-0002552750 00000 n 
-0002552903 00000 n 
-0002553056 00000 n 
-0002553209 00000 n 
-0002553360 00000 n 
-0002553513 00000 n 
-0002553665 00000 n 
-0002553818 00000 n 
-0002553971 00000 n 
-0002554124 00000 n 
-0002554277 00000 n 
-0002554430 00000 n 
-0002554583 00000 n 
-0002554735 00000 n 
-0002554888 00000 n 
-0002555039 00000 n 
-0002555192 00000 n 
-0002555344 00000 n 
-0002555497 00000 n 
-0002555650 00000 n 
-0002555803 00000 n 
-0002555956 00000 n 
-0002556109 00000 n 
-0002556261 00000 n 
-0002556414 00000 n 
-0002556566 00000 n 
-0002556719 00000 n 
-0002556872 00000 n 
-0002557025 00000 n 
-0002557178 00000 n 
-0002557330 00000 n 
-0002557483 00000 n 
-0002557636 00000 n 
-0002557787 00000 n 
-0002557938 00000 n 
-0002558090 00000 n 
-0002558243 00000 n 
-0002558395 00000 n 
-0002558547 00000 n 
-0002558700 00000 n 
-0002558852 00000 n 
-0002559004 00000 n 
-0002559156 00000 n 
-0002559308 00000 n 
-0002559461 00000 n 
-0002559612 00000 n 
-0002559765 00000 n 
-0002559918 00000 n 
-0002560071 00000 n 
-0002560223 00000 n 
-0002560376 00000 n 
-0002560527 00000 n 
-0002560680 00000 n 
-0002560831 00000 n 
-0002560984 00000 n 
-0002561137 00000 n 
-0002561290 00000 n 
-0002561443 00000 n 
-0002561596 00000 n 
-0002561749 00000 n 
-0002561902 00000 n 
-0002562055 00000 n 
-0002562208 00000 n 
-0002562361 00000 n 
-0002562514 00000 n 
-0002562667 00000 n 
-0002562820 00000 n 
-0002562973 00000 n 
-0002563126 00000 n 
-0002563279 00000 n 
-0002563430 00000 n 
-0002563582 00000 n 
-0002563735 00000 n 
-0002563887 00000 n 
-0002564040 00000 n 
-0002564192 00000 n 
-0002564344 00000 n 
-0002564497 00000 n 
-0002564649 00000 n 
-0002564802 00000 n 
-0002564953 00000 n 
-0002565106 00000 n 
-0002565259 00000 n 
-0002565412 00000 n 
-0002565565 00000 n 
-0002565718 00000 n 
-0002565871 00000 n 
-0002566024 00000 n 
-0002566176 00000 n 
-0002569405 00000 n 
-0002566327 00000 n 
-0002566563 00000 n 
-0002547488 00000 n 
-0002545947 00000 n 
-0002566502 00000 n 
-0002569558 00000 n 
-0002569711 00000 n 
-0002569864 00000 n 
-0002570016 00000 n 
-0002570169 00000 n 
-0002570320 00000 n 
-0002570473 00000 n 
-0002570625 00000 n 
-0002570778 00000 n 
-0002570930 00000 n 
-0002571083 00000 n 
-0002571236 00000 n 
-0002571388 00000 n 
-0002571541 00000 n 
-0002571694 00000 n 
-0002571846 00000 n 
-0002571999 00000 n 
-0002572152 00000 n 
-0002572305 00000 n 
-0002572457 00000 n 
-0002572610 00000 n 
-0002572762 00000 n 
-0002572915 00000 n 
-0002573068 00000 n 
-0002573221 00000 n 
-0002573374 00000 n 
-0002573526 00000 n 
-0002573679 00000 n 
-0002573832 00000 n 
-0002573985 00000 n 
-0002574138 00000 n 
-0002574291 00000 n 
-0002574443 00000 n 
-0002574596 00000 n 
-0002574745 00000 n 
-0002574896 00000 n 
-0002575048 00000 n 
-0002575200 00000 n 
-0002575351 00000 n 
-0002575504 00000 n 
-0002575656 00000 n 
-0002575809 00000 n 
-0002575961 00000 n 
-0002576113 00000 n 
-0002576266 00000 n 
-0002576418 00000 n 
-0002576571 00000 n 
-0002576724 00000 n 
-0002576877 00000 n 
-0002577030 00000 n 
-0002577182 00000 n 
-0002577335 00000 n 
-0002577488 00000 n 
-0002577639 00000 n 
-0002577790 00000 n 
-0002577942 00000 n 
-0002578095 00000 n 
-0002578248 00000 n 
-0002578401 00000 n 
-0002578554 00000 n 
-0002578705 00000 n 
-0002578858 00000 n 
-0002579010 00000 n 
-0002579162 00000 n 
-0002579314 00000 n 
-0002579467 00000 n 
-0002579620 00000 n 
-0002579772 00000 n 
-0002579925 00000 n 
-0002580078 00000 n 
-0002580231 00000 n 
-0002580384 00000 n 
-0002580537 00000 n 
-0002580690 00000 n 
-0002580841 00000 n 
-0002580993 00000 n 
-0002581146 00000 n 
-0002581299 00000 n 
-0002581452 00000 n 
-0002581604 00000 n 
-0002581756 00000 n 
-0002581908 00000 n 
-0002582061 00000 n 
-0002582211 00000 n 
-0002582363 00000 n 
-0002582514 00000 n 
-0002582666 00000 n 
-0002582818 00000 n 
-0002582970 00000 n 
-0002583120 00000 n 
-0002583272 00000 n 
-0002583424 00000 n 
-0002583576 00000 n 
-0002583727 00000 n 
-0002586634 00000 n 
-0002583877 00000 n 
-0002584113 00000 n 
-0002568306 00000 n 
-0002566676 00000 n 
-0002584052 00000 n 
-0002873048 00000 n 
-0002586785 00000 n 
-0002586935 00000 n 
-0002587087 00000 n 
-0002587239 00000 n 
-0002587391 00000 n 
-0002587541 00000 n 
-0002587693 00000 n 
-0002587844 00000 n 
-0002587995 00000 n 
-0002588146 00000 n 
-0002588298 00000 n 
-0002588449 00000 n 
-0002588600 00000 n 
-0002588751 00000 n 
-0002588903 00000 n 
-0002589054 00000 n 
-0002589206 00000 n 
-0002589358 00000 n 
-0002589510 00000 n 
-0002589662 00000 n 
-0002589814 00000 n 
-0002589966 00000 n 
-0002590118 00000 n 
-0002590269 00000 n 
-0002590420 00000 n 
-0002590571 00000 n 
-0002590723 00000 n 
-0002590873 00000 n 
-0002591025 00000 n 
-0002591176 00000 n 
-0002591328 00000 n 
-0002591479 00000 n 
-0002591631 00000 n 
-0002591783 00000 n 
-0002591935 00000 n 
-0002592085 00000 n 
-0002592237 00000 n 
-0002592388 00000 n 
-0002592540 00000 n 
-0002592691 00000 n 
-0002592843 00000 n 
-0002592995 00000 n 
-0002593146 00000 n 
-0002593298 00000 n 
-0002593450 00000 n 
-0002593602 00000 n 
-0002593754 00000 n 
-0002593905 00000 n 
-0002594057 00000 n 
-0002594209 00000 n 
-0002594359 00000 n 
-0002594509 00000 n 
-0002594659 00000 n 
-0002594812 00000 n 
-0002594964 00000 n 
-0002595117 00000 n 
-0002595270 00000 n 
-0002595423 00000 n 
-0002595576 00000 n 
-0002595729 00000 n 
-0002595882 00000 n 
-0002596035 00000 n 
-0002596188 00000 n 
-0002596341 00000 n 
-0002596494 00000 n 
-0002596647 00000 n 
-0002596800 00000 n 
-0002596953 00000 n 
-0002597106 00000 n 
-0002597259 00000 n 
-0002597410 00000 n 
-0002597562 00000 n 
-0002597714 00000 n 
-0002597867 00000 n 
-0002598020 00000 n 
-0002598172 00000 n 
-0002598324 00000 n 
-0002598477 00000 n 
-0002600964 00000 n 
-0002598628 00000 n 
-0002598864 00000 n 
-0002585695 00000 n 
-0002584226 00000 n 
-0002598803 00000 n 
-0002601117 00000 n 
-0002601270 00000 n 
-0002601422 00000 n 
-0002601574 00000 n 
-0002601724 00000 n 
-0002601877 00000 n 
-0002602030 00000 n 
-0002602183 00000 n 
-0002602336 00000 n 
-0002602488 00000 n 
-0002602640 00000 n 
-0002602791 00000 n 
-0002602944 00000 n 
-0002603097 00000 n 
-0002603250 00000 n 
-0002603402 00000 n 
-0002603554 00000 n 
-0002603706 00000 n 
-0002603857 00000 n 
-0002604010 00000 n 
-0002604163 00000 n 
-0002604315 00000 n 
-0002604467 00000 n 
-0002604619 00000 n 
-0002604771 00000 n 
-0002604922 00000 n 
-0002605073 00000 n 
-0002605226 00000 n 
-0002605378 00000 n 
-0002605531 00000 n 
-0002605684 00000 n 
-0002605836 00000 n 
-0002605989 00000 n 
-0002606142 00000 n 
-0002606292 00000 n 
-0002606443 00000 n 
-0002606596 00000 n 
-0002606749 00000 n 
-0002606900 00000 n 
-0002607053 00000 n 
-0002607206 00000 n 
-0002607358 00000 n 
-0002607511 00000 n 
-0002607664 00000 n 
-0002607817 00000 n 
-0002607969 00000 n 
-0002608122 00000 n 
-0002608273 00000 n 
-0002608423 00000 n 
-0002608573 00000 n 
-0002608722 00000 n 
-0002608871 00000 n 
-0002609020 00000 n 
-0002609170 00000 n 
-0002609323 00000 n 
-0002609476 00000 n 
-0002609629 00000 n 
-0002609780 00000 n 
-0002609931 00000 n 
-0002610084 00000 n 
-0002610236 00000 n 
-0002610385 00000 n 
-0002610536 00000 n 
-0002613112 00000 n 
-0002610687 00000 n 
-0002610923 00000 n 
-0002600175 00000 n 
-0002598964 00000 n 
-0002610862 00000 n 
-0002613265 00000 n 
-0002613418 00000 n 
-0002613571 00000 n 
-0002613723 00000 n 
-0002613875 00000 n 
-0002614027 00000 n 
-0002614180 00000 n 
-0002614333 00000 n 
-0002614486 00000 n 
-0002614638 00000 n 
-0002614791 00000 n 
-0002614943 00000 n 
-0002615094 00000 n 
-0002615247 00000 n 
-0002615400 00000 n 
-0002615553 00000 n 
-0002615706 00000 n 
-0002615858 00000 n 
-0002616011 00000 n 
-0002616163 00000 n 
-0002616316 00000 n 
-0002616469 00000 n 
-0002616622 00000 n 
-0002616775 00000 n 
-0002616928 00000 n 
-0002617080 00000 n 
-0002617232 00000 n 
-0002617385 00000 n 
-0002617538 00000 n 
-0002617691 00000 n 
-0002617844 00000 n 
-0002617997 00000 n 
-0002618150 00000 n 
-0002618303 00000 n 
-0002618455 00000 n 
-0002618608 00000 n 
-0002618761 00000 n 
-0002618914 00000 n 
-0002619066 00000 n 
-0002619219 00000 n 
-0002619371 00000 n 
-0002619524 00000 n 
-0002619677 00000 n 
-0002619830 00000 n 
-0002619982 00000 n 
-0002620134 00000 n 
-0002620285 00000 n 
-0002620437 00000 n 
-0002620590 00000 n 
-0002620742 00000 n 
-0002620895 00000 n 
-0002621048 00000 n 
-0002621201 00000 n 
-0002621354 00000 n 
-0002621504 00000 n 
-0002621656 00000 n 
-0002621808 00000 n 
-0002621961 00000 n 
-0002622114 00000 n 
-0002622267 00000 n 
-0002622420 00000 n 
-0002622572 00000 n 
-0002622725 00000 n 
-0002624910 00000 n 
-0002622878 00000 n 
-0002623114 00000 n 
-0002612323 00000 n 
-0002611023 00000 n 
-0002623053 00000 n 
-0002625061 00000 n 
-0002625213 00000 n 
-0002625365 00000 n 
-0002625515 00000 n 
-0002625668 00000 n 
-0002625821 00000 n 
-0002625974 00000 n 
-0002626127 00000 n 
-0002626279 00000 n 
-0002626431 00000 n 
-0002626582 00000 n 
-0002626733 00000 n 
-0002626886 00000 n 
-0002627039 00000 n 
-0002627192 00000 n 
-0002627345 00000 n 
-0002627497 00000 n 
-0002627649 00000 n 
-0002627801 00000 n 
-0002627953 00000 n 
-0002628105 00000 n 
-0002628257 00000 n 
-0002628409 00000 n 
-0002628561 00000 n 
-0002628713 00000 n 
-0002628865 00000 n 
-0002629017 00000 n 
-0002629169 00000 n 
-0002629320 00000 n 
-0002629471 00000 n 
-0002629620 00000 n 
-0002629770 00000 n 
-0002629920 00000 n 
-0002630070 00000 n 
-0002630220 00000 n 
-0002630370 00000 n 
-0002630520 00000 n 
-0002630672 00000 n 
-0002630824 00000 n 
-0002630974 00000 n 
-0002631124 00000 n 
-0002631274 00000 n 
-0002631424 00000 n 
-0002631576 00000 n 
-0002631729 00000 n 
-0002631881 00000 n 
-0002632034 00000 n 
-0002632186 00000 n 
-0002632422 00000 n 
-0002624281 00000 n 
-0002623214 00000 n 
-0002632361 00000 n 
-0002632522 00000 n 
-0002632565 00000 n 
-0002632693 00000 n 
-0002632720 00000 n 
-0002632825 00000 n 
-0002633283 00000 n 
-0002633914 00000 n 
-0002634323 00000 n 
-0002634471 00000 n 
-0002634510 00000 n 
-0002858050 00000 n 
-0002634549 00000 n 
-0002635026 00000 n 
-0002635379 00000 n 
-0002635406 00000 n 
-0002636043 00000 n 
-0002636145 00000 n 
-0002636425 00000 n 
-0002637118 00000 n 
-0002637147 00000 n 
-0002637746 00000 n 
-0002637906 00000 n 
-0002638161 00000 n 
-0002638644 00000 n 
-0002639315 00000 n 
-0002639887 00000 n 
-0002640073 00000 n 
-0002640971 00000 n 
-0002641618 00000 n 
-0002642011 00000 n 
-0002642587 00000 n 
-0002643280 00000 n 
-0002643319 00000 n 
-0002643981 00000 n 
-0002644881 00000 n 
-0002646727 00000 n 
-0002646960 00000 n 
-0002652975 00000 n 
-0002653573 00000 n 
-0002664770 00000 n 
-0002665165 00000 n 
-0002666982 00000 n 
-0002667219 00000 n 
-0002669773 00000 n 
-0002670003 00000 n 
-0002672781 00000 n 
-0002673013 00000 n 
-0002678293 00000 n 
-0002678565 00000 n 
-0002680381 00000 n 
-0002680617 00000 n 
-0002683406 00000 n 
-0002683681 00000 n 
-0002687724 00000 n 
-0002687974 00000 n 
-0002689886 00000 n 
-0002690110 00000 n 
-0002700049 00000 n 
-0002700457 00000 n 
-0002702591 00000 n 
-0002702828 00000 n 
-0002707026 00000 n 
-0002707287 00000 n 
-0002713496 00000 n 
-0002713818 00000 n 
-0002718328 00000 n 
-0002718625 00000 n 
-0002727106 00000 n 
-0002727735 00000 n 
-0002729170 00000 n 
-0002729419 00000 n 
-0002731969 00000 n 
-0002732244 00000 n 
-0002734358 00000 n 
-0002734646 00000 n 
-0002736666 00000 n 
-0002736914 00000 n 
-0002738525 00000 n 
-0002738777 00000 n 
-0002740750 00000 n 
-0002740979 00000 n 
-0002744010 00000 n 
-0002744244 00000 n 
-0002746124 00000 n 
-0002746364 00000 n 
-0002750745 00000 n 
-0002750989 00000 n 
-0002770866 00000 n 
-0002771504 00000 n 
-0002779728 00000 n 
-0002780022 00000 n 
-0002799382 00000 n 
-0002799941 00000 n 
-0002815328 00000 n 
-0002815711 00000 n 
-0002837776 00000 n 
-0002838483 00000 n 
-0002857470 00000 n 
-0002873171 00000 n 
-0002873293 00000 n 
-0002873420 00000 n 
-0002873548 00000 n 
-0002873676 00000 n 
-0002873804 00000 n 
-0002873932 00000 n 
-0002874060 00000 n 
-0002874188 00000 n 
-0002874316 00000 n 
-0002874444 00000 n 
-0002874572 00000 n 
-0002874705 00000 n 
-0002874809 00000 n 
-0002874944 00000 n 
-0002875079 00000 n 
-0002875163 00000 n 
-0002875250 00000 n 
-0002882884 00000 n 
-0002883055 00000 n 
-0002883397 00000 n 
-0002884127 00000 n 
-0002884857 00000 n 
-0002885587 00000 n 
-0002886317 00000 n 
-0002887047 00000 n 
-0002887777 00000 n 
-0002888507 00000 n 
-0002889237 00000 n 
-0002889967 00000 n 
-0002890697 00000 n 
-0002891427 00000 n 
-0002892157 00000 n 
-0002892887 00000 n 
-0002893617 00000 n 
-0002894347 00000 n 
-0002895077 00000 n 
-0002895807 00000 n 
-0002896537 00000 n 
-0002897263 00000 n 
-0002897974 00000 n 
-0002898656 00000 n 
-0002899338 00000 n 
-0002900020 00000 n 
-0002900702 00000 n 
-0002901384 00000 n 
-0002902066 00000 n 
-0002902748 00000 n 
-0002903430 00000 n 
-0002904112 00000 n 
-0002904794 00000 n 
-0002905476 00000 n 
-0002906158 00000 n 
-0002906840 00000 n 
-0002907522 00000 n 
-0002908204 00000 n 
-0002908886 00000 n 
-0002909568 00000 n 
-0002910203 00000 n 
-0002910965 00000 n 
-0002911727 00000 n 
-0002912489 00000 n 
-0002913201 00000 n 
-0002913979 00000 n 
-0002914757 00000 n 
-0002915535 00000 n 
-0002916313 00000 n 
-0002917091 00000 n 
-0002917869 00000 n 
-0002918647 00000 n 
-0002919425 00000 n 
-0002920203 00000 n 
-0002920981 00000 n 
-0002921759 00000 n 
-0002922537 00000 n 
-0002923315 00000 n 
-0002924093 00000 n 
-0002924871 00000 n 
-0002925649 00000 n 
-0002926427 00000 n 
-0002927147 00000 n 
-0002927885 00000 n 
-0002928623 00000 n 
-0002929361 00000 n 
-0002930090 00000 n 
-0002930864 00000 n 
-0002931818 00000 n 
-0002932715 00000 n 
-0002933517 00000 n 
-0002934319 00000 n 
-0002935121 00000 n 
-0002935923 00000 n 
-0002936701 00000 n 
-0002937439 00000 n 
-0002938177 00000 n 
-0002938882 00000 n 
-0002939620 00000 n 
-0002940358 00000 n 
-0002941096 00000 n 
-0002941834 00000 n 
-0002942572 00000 n 
-0002943370 00000 n 
-0002944324 00000 n 
-0002945164 00000 n 
-0002945966 00000 n 
-0002946768 00000 n 
-0002947570 00000 n 
-0002948348 00000 n 
-0002949086 00000 n 
-0002949952 00000 n 
-0002950690 00000 n 
-0002951443 00000 n 
-0002952178 00000 n 
-0002952924 00000 n 
-0002953670 00000 n 
-0002954416 00000 n 
-0002955069 00000 n 
-0002955823 00000 n 
-0002956577 00000 n 
-0002957259 00000 n 
-0002957989 00000 n 
-0002958719 00000 n 
-0002959577 00000 n 
-0002960307 00000 n 
-0002961044 00000 n 
-0002961924 00000 n 
-0002962832 00000 n 
-0002963626 00000 n 
-0002964420 00000 n 
-0002965214 00000 n 
-0002965976 00000 n 
-0002966706 00000 n 
-0002967436 00000 n 
-0002968117 00000 n 
-0002968807 00000 n 
-0002969497 00000 n 
-0002970187 00000 n 
-0002970877 00000 n 
-0002971567 00000 n 
-0002972257 00000 n 
-0002972947 00000 n 
-0002973637 00000 n 
-0002974327 00000 n 
-0002975017 00000 n 
-0002975707 00000 n 
-0002976397 00000 n 
-0002977087 00000 n 
-0002977822 00000 n 
-0002978573 00000 n 
-0002979415 00000 n 
-0002980289 00000 n 
-0002981067 00000 n 
-0002981845 00000 n 
-0002982602 00000 n 
-0002983596 00000 n 
-0002984533 00000 n 
-0002985375 00000 n 
-0002986217 00000 n 
-0002987059 00000 n 
-0002987901 00000 n 
-0002988743 00000 n 
-0002989521 00000 n 
-0002990299 00000 n 
-0002991011 00000 n 
-0002991701 00000 n 
-0002992391 00000 n 
-0002993081 00000 n 
-0002993771 00000 n 
-0002994461 00000 n 
-0002995189 00000 n 
-0002995917 00000 n 
-0002996639 00000 n 
-0002997361 00000 n 
-0002998110 00000 n 
-0002998912 00000 n 
-0002999714 00000 n 
-0003000516 00000 n 
-0003001318 00000 n 
-0003002120 00000 n 
-0003002922 00000 n 
-0003003724 00000 n 
-0003004469 00000 n 
-0003005287 00000 n 
-0003006041 00000 n 
-0003006795 00000 n 
-0003007549 00000 n 
-0003008303 00000 n 
-0003009185 00000 n 
-0003009939 00000 n 
-0003010674 00000 n 
-0003011452 00000 n 
-0003012230 00000 n 
-0003012967 00000 n 
-0003013713 00000 n 
-0003014499 00000 n 
-0003015285 00000 n 
-0003016071 00000 n 
-0003016857 00000 n 
-0003017643 00000 n 
-0003018429 00000 n 
-0003019215 00000 n 
-0003020001 00000 n 
-0003020787 00000 n 
-0003021573 00000 n 
-0003022359 00000 n 
-0003023145 00000 n 
-0003023931 00000 n 
-0003024717 00000 n 
-0003025503 00000 n 
-0003026289 00000 n 
-0003027074 00000 n 
-0003027948 00000 n 
-0003028822 00000 n 
-0003029696 00000 n 
-0003030570 00000 n 
-0003031444 00000 n 
-0003032318 00000 n 
-0003033192 00000 n 
-0003034066 00000 n 
-0003034940 00000 n 
-0003035814 00000 n 
-0003036688 00000 n 
-0003037562 00000 n 
-0003038436 00000 n 
-0003039310 00000 n 
-0003040184 00000 n 
-0003041058 00000 n 
-0003041853 00000 n 
-0003042655 00000 n 
-0003043457 00000 n 
-0003044259 00000 n 
-0003045061 00000 n 
-0003045863 00000 n 
-0003046665 00000 n 
-0003047467 00000 n 
-0003048269 00000 n 
-0003049071 00000 n 
-0003049873 00000 n 
-0003050675 00000 n 
-0003051477 00000 n 
-0003052279 00000 n 
-0003053081 00000 n 
-0003053883 00000 n 
-0003054656 00000 n 
-0003055466 00000 n 
-0003056276 00000 n 
-0003057053 00000 n 
-0003057863 00000 n 
-0003058595 00000 n 
-0003059333 00000 n 
-0003060071 00000 n 
-0003060809 00000 n 
-0003061547 00000 n 
-0003062285 00000 n 
-0003063023 00000 n 
-0003063761 00000 n 
-0003064499 00000 n 
-0003065237 00000 n 
-0003065975 00000 n 
-0003066713 00000 n 
-0003067451 00000 n 
-0003068189 00000 n 
-0003068927 00000 n 
-0003069665 00000 n 
-0003070403 00000 n 
-0003071141 00000 n 
-0003071879 00000 n 
-0003072577 00000 n 
-0003073305 00000 n 
-0003074033 00000 n 
-0003074761 00000 n 
-0003075489 00000 n 
-0003076217 00000 n 
-0003076945 00000 n 
-0003077673 00000 n 
-0003078350 00000 n 
-0003079080 00000 n 
-0003079741 00000 n 
-0003080469 00000 n 
-0003081199 00000 n 
-0003081975 00000 n 
-0003082572 00000 n 
-0003082918 00000 n 
-0003083264 00000 n 
-0003083610 00000 n 
-0003083956 00000 n 
-0003084302 00000 n 
-0003084710 00000 n 
-0003085312 00000 n 
-0003085914 00000 n 
-0003086648 00000 n 
-0003087514 00000 n 
-0003088380 00000 n 
-0003089246 00000 n 
-0003090112 00000 n 
-0003090978 00000 n 
-0003091844 00000 n 
-0003092710 00000 n 
-0003093083 00000 n 
-0003093298 00000 n 
-0003093509 00000 n 
-0003093726 00000 n 
-0003093928 00000 n 
-0003094132 00000 n 
-0003094335 00000 n 
-0003094599 00000 n 
-0003094845 00000 n 
-0003095109 00000 n 
-0003095442 00000 n 
-0003095805 00000 n 
-0003096061 00000 n 
-0003096404 00000 n 
-0003096681 00000 n 
-0003097018 00000 n 
-0003097369 00000 n 
-0003097646 00000 n 
-0003097846 00000 n 
-0003098173 00000 n 
-0003098405 00000 n 
-0003098644 00000 n 
-0003098911 00000 n 
-0003099129 00000 n 
-0003099573 00000 n 
-0003099931 00000 n 
-0003100200 00000 n 
-0003100481 00000 n 
-0003100752 00000 n 
-0003101124 00000 n 
-0003101503 00000 n 
-0003101828 00000 n 
-0003102098 00000 n 
-0003102381 00000 n 
-0003102676 00000 n 
-0003102951 00000 n 
-0003103440 00000 n 
-0003104099 00000 n 
-0003104757 00000 n 
-0003105415 00000 n 
-0003106073 00000 n 
-0003106731 00000 n 
-0003107389 00000 n 
-0003107937 00000 n 
-0003108116 00000 n 
-0003108302 00000 n 
-0003108485 00000 n 
-0003108668 00000 n 
-0003108854 00000 n 
-0003109038 00000 n 
-0003109224 00000 n 
-0003109408 00000 n 
-0003109594 00000 n 
-0003109778 00000 n 
-0003109964 00000 n 
-0003110148 00000 n 
-0003110334 00000 n 
-0003110517 00000 n 
-0003110700 00000 n 
-0003110886 00000 n 
-0003111070 00000 n 
-0003111256 00000 n 
-0003111437 00000 n 
-0003111623 00000 n 
-0003111807 00000 n 
-0003111993 00000 n 
-0003112177 00000 n 
-0003112363 00000 n 
-0003112547 00000 n 
-0003112733 00000 n 
-0003112916 00000 n 
-0003113099 00000 n 
-0003113285 00000 n 
-0003113469 00000 n 
-0003113655 00000 n 
-0003113839 00000 n 
-0003114025 00000 n 
-0003114209 00000 n 
-0003114395 00000 n 
-0003114579 00000 n 
-0003114765 00000 n 
-0003114944 00000 n 
-0003115130 00000 n 
-0003115313 00000 n 
-0003115496 00000 n 
-0003115682 00000 n 
-0003115866 00000 n 
-0003116052 00000 n 
-0003116236 00000 n 
-0003116422 00000 n 
-0003116606 00000 n 
-0003116792 00000 n 
-0003116977 00000 n 
-0003117163 00000 n 
-0003117347 00000 n 
-0003117531 00000 n 
-0003117717 00000 n 
-0003117902 00000 n 
-0003118088 00000 n 
-0003118273 00000 n 
-0003118465 00000 n 
-0003118655 00000 n 
-0003118847 00000 n 
-0003119037 00000 n 
-0003119229 00000 n 
-0003119419 00000 n 
-0003119611 00000 n 
-0003119800 00000 n 
-0003119983 00000 n 
-0003120159 00000 n 
-0003120337 00000 n 
-0003120512 00000 n 
-0003120687 00000 n 
-0003120865 00000 n 
-0003121041 00000 n 
-0003121219 00000 n 
-0003121395 00000 n 
-0003121573 00000 n 
-0003121776 00000 n 
-0003122039 00000 n 
-0003122306 00000 n 
-0003122572 00000 n 
-0003122846 00000 n 
-0003123119 00000 n 
-0003123393 00000 n 
-0003123666 00000 n 
-0003123940 00000 n 
-0003124213 00000 n 
-0003124487 00000 n 
-0003124760 00000 n 
-0003125034 00000 n 
-0003125306 00000 n 
-0003125573 00000 n 
-0003125839 00000 n 
-0003126111 00000 n 
-0003126390 00000 n 
-0003126672 00000 n 
-0003126952 00000 n 
-0003127228 00000 n 
-0003127502 00000 n 
-0003127776 00000 n 
-0003128050 00000 n 
-0003128326 00000 n 
-0003128600 00000 n 
-0003128873 00000 n 
-0003129155 00000 n 
-0003129431 00000 n 
-0003129708 00000 n 
-0003129985 00000 n 
-0003130261 00000 n 
-0003130543 00000 n 
-0003130824 00000 n 
-0003131106 00000 n 
-0003131387 00000 n 
-0003131669 00000 n 
-0003131950 00000 n 
-0003132232 00000 n 
-0003132512 00000 n 
-0003132792 00000 n 
-0003133074 00000 n 
-0003133353 00000 n 
-0003133627 00000 n 
-0003133901 00000 n 
-0003134175 00000 n 
-0003134449 00000 n 
-0003134723 00000 n 
-0003134997 00000 n 
-0003135275 00000 n 
-0003135557 00000 n 
-0003135838 00000 n 
-0003136115 00000 n 
-0003136389 00000 n 
-0003136666 00000 n 
-0003136942 00000 n 
-0003137216 00000 n 
-0003137494 00000 n 
-0003137768 00000 n 
-0003138043 00000 n 
-0003138317 00000 n 
-0003138599 00000 n 
-0003138880 00000 n 
-0003139162 00000 n 
-0003139443 00000 n 
-0003139725 00000 n 
-0003140006 00000 n 
-0003140288 00000 n 
-0003140569 00000 n 
-0003140845 00000 n 
-0003141122 00000 n 
-0003141398 00000 n 
-0003141675 00000 n 
-0003141951 00000 n 
-0003142233 00000 n 
-0003142514 00000 n 
-0003142796 00000 n 
-0003143077 00000 n 
-0003143359 00000 n 
-0003143640 00000 n 
-0003143917 00000 n 
-0003144191 00000 n 
-0003144465 00000 n 
-0003144743 00000 n 
-0003145025 00000 n 
-0003145306 00000 n 
-0003145588 00000 n 
-0003145868 00000 n 
-0003146148 00000 n 
-0003146430 00000 n 
-0003146711 00000 n 
-0003146989 00000 n 
-0003147263 00000 n 
-0003147536 00000 n 
-0003147805 00000 n 
-0003148073 00000 n 
-0003148347 00000 n 
-0003148620 00000 n 
-0003148894 00000 n 
-0003149167 00000 n 
-0003149441 00000 n 
-0003149714 00000 n 
-0003149988 00000 n 
-0003150260 00000 n 
-0003150530 00000 n 
-0003150796 00000 n 
-0003151065 00000 n 
-0003151339 00000 n 
-0003151613 00000 n 
-0003151890 00000 n 
-0003152175 00000 n 
-0003152461 00000 n 
-0003152749 00000 n 
-0003153035 00000 n 
-0003153323 00000 n 
-0003153608 00000 n 
-0003153893 00000 n 
-0003154181 00000 n 
-0003154467 00000 n 
-0003154755 00000 n 
-0003155036 00000 n 
-0003155316 00000 n 
-0003155596 00000 n 
-0003155876 00000 n 
-0003156153 00000 n 
-0003156423 00000 n 
-0003156689 00000 n 
-0003156960 00000 n 
-0003157234 00000 n 
-0003157506 00000 n 
-0003157778 00000 n 
-0003158052 00000 n 
-0003158325 00000 n 
-0003158597 00000 n 
-0003158863 00000 n 
-0003159129 00000 n 
-0003159395 00000 n 
-0003159661 00000 n 
-0003159925 00000 n 
-0003160183 00000 n 
-0003160441 00000 n 
-0003160670 00000 n 
-0003160888 00000 n 
-0003161105 00000 n 
-0003161323 00000 n 
-0003161540 00000 n 
-0003161758 00000 n 
-0003161974 00000 n 
-0003162190 00000 n 
-0003162408 00000 n 
-0003162625 00000 n 
-0003162843 00000 n 
-0003163060 00000 n 
-0003163281 00000 n 
-0003163503 00000 n 
-0003163727 00000 n 
-0003163949 00000 n 
-0003164158 00000 n 
-0003164368 00000 n 
-0003164576 00000 n 
-0003164784 00000 n 
-0003164994 00000 n 
-0003165203 00000 n 
-0003165413 00000 n 
-0003165622 00000 n 
-0003165832 00000 n 
-0003166041 00000 n 
-0003166251 00000 n 
-0003166460 00000 n 
-0003166670 00000 n 
-0003166878 00000 n 
-0003167081 00000 n 
-0003167268 00000 n 
-0003167690 00000 n 
-0003168328 00000 n 
-0003168903 00000 n 
-0003169131 00000 n 
-0003169353 00000 n 
-0003169588 00000 n 
-0003169832 00000 n 
-0003170075 00000 n 
-0003170319 00000 n 
-0003170562 00000 n 
-0003170806 00000 n 
-0003171049 00000 n 
-0003171293 00000 n 
-0003171526 00000 n 
-0003171767 00000 n 
-0003172041 00000 n 
-0003172317 00000 n 
-0003172588 00000 n 
-0003172857 00000 n 
-0003173127 00000 n 
-0003173403 00000 n 
-0003173675 00000 n 
-0003173943 00000 n 
-0003174211 00000 n 
-0003174479 00000 n 
-0003174752 00000 n 
-0003175023 00000 n 
-0003175296 00000 n 
-0003175578 00000 n 
-0003175866 00000 n 
-0003176156 00000 n 
-0003176446 00000 n 
-0003176736 00000 n 
-0003177023 00000 n 
-0003177313 00000 n 
-0003177603 00000 n 
-0003177893 00000 n 
-0003178182 00000 n 
-0003178472 00000 n 
-0003178762 00000 n 
-0003179052 00000 n 
-0003179342 00000 n 
-0003179627 00000 n 
-0003179918 00000 n 
-0003180214 00000 n 
-0003180510 00000 n 
-0003180801 00000 n 
-0003181083 00000 n 
-0003181365 00000 n 
-0003181641 00000 n 
-0003181835 00000 n 
-0003182096 00000 n 
-0003182357 00000 n 
-0003182612 00000 n 
-0003182861 00000 n 
-0003183110 00000 n 
-0003183369 00000 n 
-0003183640 00000 n 
-0003183913 00000 n 
-0003184186 00000 n 
-0003184462 00000 n 
-0003184741 00000 n 
-0003185012 00000 n 
-0003185302 00000 n 
-0003185592 00000 n 
-0003185888 00000 n 
-0003186151 00000 n 
-0003186420 00000 n 
-0003186689 00000 n 
-0003186945 00000 n 
-0003187196 00000 n 
-0003187458 00000 n 
-0003187739 00000 n 
-0003188020 00000 n 
-0003188282 00000 n 
-0003188547 00000 n 
-0003188826 00000 n 
-0003189099 00000 n 
-0003189399 00000 n 
-0003189671 00000 n 
-0003189946 00000 n 
-0003190232 00000 n 
-0003190529 00000 n 
-0003190826 00000 n 
-0003191114 00000 n 
-0003191393 00000 n 
-0003191672 00000 n 
-0003191952 00000 n 
-0003192224 00000 n 
-0003192487 00000 n 
-0003192750 00000 n 
-0003193011 00000 n 
-0003193271 00000 n 
-0003193450 00000 n 
-0003193647 00000 n 
-0003193909 00000 n 
-0003194123 00000 n 
-0003194253 00000 n 
-0003194392 00000 n 
-0003194530 00000 n 
-0003194659 00000 n 
-0003194814 00000 n 
-0003195016 00000 n 
-0003195200 00000 n 
-0003195325 00000 n 
-0003195450 00000 n 
-0003195574 00000 n 
-0003195699 00000 n 
-0003195824 00000 n 
-0003195949 00000 n 
-0003196072 00000 n 
-0003196197 00000 n 
-0003196322 00000 n 
-0003196447 00000 n 
-0003196571 00000 n 
-0003196693 00000 n 
-0003196828 00000 n 
-0003196975 00000 n 
-0003197122 00000 n 
-0003197269 00000 n 
-0003197416 00000 n 
-0003197564 00000 n 
-0003197712 00000 n 
-0003197860 00000 n 
-0003198007 00000 n 
-0003198154 00000 n 
-0003198302 00000 n 
-0003198450 00000 n 
-0003198598 00000 n 
-0003198746 00000 n 
-0003198893 00000 n 
-0003199040 00000 n 
-0003199186 00000 n 
-0003199333 00000 n 
-0003199481 00000 n 
-0003199630 00000 n 
-0003199778 00000 n 
-0003199924 00000 n 
-0003200070 00000 n 
-0003200209 00000 n 
-0003200341 00000 n 
-0003200474 00000 n 
-0003200605 00000 n 
-0003200736 00000 n 
-0003200865 00000 n 
-0003200999 00000 n 
-0003201140 00000 n 
-0003201284 00000 n 
-0003201431 00000 n 
-0003201580 00000 n 
-0003201731 00000 n 
-0003201882 00000 n 
-0003202031 00000 n 
-0003202139 00000 n 
-0003202327 00000 n 
-0003202591 00000 n 
-0003202869 00000 n 
-0003203144 00000 n 
-0003203418 00000 n 
-0003203695 00000 n 
-0003203964 00000 n 
-0003204157 00000 n 
-0003204283 00000 n 
-0003204408 00000 n 
-0003204530 00000 n 
-0003204666 00000 n 
-0003204814 00000 n 
-0003204961 00000 n 
-0003205101 00000 n 
-0003205238 00000 n 
-0003205384 00000 n 
-0003205492 00000 n 
-0003205695 00000 n 
-0003205909 00000 n 
-0003206057 00000 n 
-0003206164 00000 n 
-0003206206 00000 n 
-0003206410 00000 n 
-trailer
-<< /Size 13024
-/Root 13022 0 R
-/Info 13023 0 R
-/ID [<A81C2A2BD06C7A881430250AE6AD0873> <A81C2A2BD06C7A881430250AE6AD0873>] >>
-startxref
-3206743
-%%EOF
diff --git a/doc/ppl-user-0.10.2.ps.gz b/doc/ppl-user-0.10.2.ps.gz
deleted file mode 100644
index e957f58..0000000
Binary files a/doc/ppl-user-0.10.2.ps.gz and /dev/null differ
diff --git a/doc/ppl-user-0.11-html.tar.gz b/doc/ppl-user-0.11-html.tar.gz
new file mode 100644
index 0000000..d5284a0
Binary files /dev/null and b/doc/ppl-user-0.11-html.tar.gz differ
diff --git a/doc/ppl-user-0.11.pdf b/doc/ppl-user-0.11.pdf
new file mode 100644
index 0000000..6a8933b
--- /dev/null
+++ b/doc/ppl-user-0.11.pdf
@@ -0,0 +1,100036 @@
+%PDF-1.4
+%����
+5 0 obj
+<< /S /GoTo /D (section.1) >>
+endobj
+8 0 obj
+(\376\377\000G\000e\000n\000e\000r\000a\000l\000\040\000I\000n\000f\000o\000r\000m\000a\000t\000i\000o\000n\000\040\000o\000n\000\040\000t\000h\000e\000\040\000P\000P\000L)
+endobj
+9 0 obj
+<< /S /GoTo /D (subsection.1.1) >>
+endobj
+12 0 obj
+(\376\377\000T\000h\000e\000\040\000M\000a\000i\000n\000\040\000F\000e\000a\000t\000u\000r\000e\000s)
+endobj
+13 0 obj
+<< /S /GoTo /D (subsection.1.2) >>
+endobj
+16 0 obj
+(\376\377\000U\000p\000w\000a\000r\000d\000\040\000A\000p\000p\000r\000o\000x\000i\000m\000a\000t\000i\000o\000n)
+endobj
+17 0 obj
+<< /S /GoTo /D (subsection.1.3) >>
+endobj
+20 0 obj
+(\376\377\000A\000p\000p\000r\000o\000x\000i\000m\000a\000t\000i\000n\000g\000\040\000I\000n\000t\000e\000g\000e\000r\000s)
+endobj
+21 0 obj
+<< /S /GoTo /D (subsection.1.4) >>
+endobj
+24 0 obj
+(\376\377\000C\000o\000n\000v\000e\000x\000\040\000P\000o\000l\000y\000h\000e\000d\000r\000a)
+endobj
+25 0 obj
+<< /S /GoTo /D (subsection.1.5) >>
+endobj
+28 0 obj
+(\376\377\000R\000e\000p\000r\000e\000s\000e\000n\000t\000a\000t\000i\000o\000n\000s\000\040\000o\000f\000\040\000C\000o\000n\000v\000e\000x\000\040\000P\000o\000l\000y\000h\000e\000d\000r\000a)
+endobj
+29 0 obj
+<< /S /GoTo /D (subsection.1.6) >>
+endobj
+32 0 obj
+(\376\377\000O\000p\000e\000r\000a\000t\000i\000o\000n\000s\000\040\000o\000n\000\040\000C\000o\000n\000v\000e\000x\000\040\000P\000o\000l\000y\000h\000e\000d\000r\000a)
+endobj
+33 0 obj
+<< /S /GoTo /D (subsection.1.7) >>
+endobj
+36 0 obj
+(\376\377\000I\000n\000t\000e\000r\000v\000a\000l\000s\000\040\000a\000n\000d\000\040\000B\000o\000x\000e\000s)
+endobj
+37 0 obj
+<< /S /GoTo /D (subsection.1.8) >>
+endobj
+40 0 obj
+(\376\377\000W\000e\000a\000k\000l\000y\000-\000R\000e\000l\000a\000t\000i\000o\000n\000a\000l\000\040\000S\000h\000a\000p\000e\000s)
+endobj
+41 0 obj
+<< /S /GoTo /D (subsection.1.9) >>
+endobj
+44 0 obj
+(\376\377\000R\000a\000t\000i\000o\000n\000a\000l\000\040\000G\000r\000i\000d\000s)
+endobj
+45 0 obj
+<< /S /GoTo /D (subsection.1.10) >>
+endobj
+48 0 obj
+(\376\377\000O\000p\000e\000r\000a\000t\000i\000o\000n\000s\000\040\000o\000n\000\040\000R\000a\000t\000i\000o\000n\000a\000l\000\040\000G\000r\000i\000d\000s)
+endobj
+49 0 obj
+<< /S /GoTo /D (subsection.1.11) >>
+endobj
+52 0 obj
+(\376\377\000T\000h\000e\000\040\000P\000o\000w\000e\000r\000s\000e\000t\000\040\000C\000o\000n\000s\000t\000r\000u\000c\000t\000i\000o\000n)
+endobj
+53 0 obj
+<< /S /GoTo /D (subsection.1.12) >>
+endobj
+56 0 obj
+(\376\377\000O\000p\000e\000r\000a\000t\000i\000o\000n\000s\000\040\000o\000n\000\040\000t\000h\000e\000\040\000P\000o\000w\000e\000r\000s\000e\000t\000\040\000C\000o\000n\000s\000t\000r\000u\000c\000t\000i\000o\000n)
+endobj
+57 0 obj
+<< /S /GoTo /D (subsection.1.13) >>
+endobj
+60 0 obj
+(\376\377\000T\000h\000e\000\040\000P\000o\000i\000n\000t\000s\000e\000t\000\040\000P\000o\000w\000e\000r\000s\000e\000t\000\040\000D\000o\000m\000a\000i\000n)
+endobj
+61 0 obj
+<< /S /GoTo /D (subsection.1.14) >>
+endobj
+64 0 obj
+(\376\377\000U\000s\000i\000n\000g\000\040\000t\000h\000e\000\040\000L\000i\000b\000r\000a\000r\000y)
+endobj
+65 0 obj
+<< /S /GoTo /D (subsection.1.15) >>
+endobj
+68 0 obj
+(\376\377\000B\000i\000b\000l\000i\000o\000g\000r\000a\000p\000h\000y)
+endobj
+69 0 obj
+<< /S /GoTo /D (section.2) >>
+endobj
+72 0 obj
+(\376\377\000G\000N\000U\000\040\000G\000e\000n\000e\000r\000a\000l\000\040\000P\000u\000b\000l\000i\000c\000\040\000L\000i\000c\000e\000n\000s\000e)
+endobj
+73 0 obj
+<< /S /GoTo /D (section.3) >>
+endobj
+76 0 obj
+(\376\377\000G\000N\000U\000\040\000F\000r\000e\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\040\000L\000i\000c\000e\000n\000s\000e)
+endobj
+77 0 obj
+<< /S /GoTo /D (section.4) >>
+endobj
+80 0 obj
+(\376\377\000M\000o\000d\000u\000l\000e\000\040\000I\000n\000d\000e\000x)
+endobj
+81 0 obj
+<< /S /GoTo /D (subsection.4.1) >>
+endobj
+84 0 obj
+(\376\377\000M\000o\000d\000u\000l\000e\000s)
+endobj
+85 0 obj
+<< /S /GoTo /D (section.5) >>
+endobj
+88 0 obj
+(\376\377\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000I\000n\000d\000e\000x)
+endobj
+89 0 obj
+<< /S /GoTo /D (subsection.5.1) >>
+endobj
+92 0 obj
+(\376\377\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000L\000i\000s\000t)
+endobj
+93 0 obj
+<< /S /GoTo /D (section.6) >>
+endobj
+96 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000I\000n\000d\000e\000x)
+endobj
+97 0 obj
+<< /S /GoTo /D (subsection.6.1) >>
+endobj
+100 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000H\000i\000e\000r\000a\000r\000c\000h\000y)
+endobj
+101 0 obj
+<< /S /GoTo /D (section.7) >>
+endobj
+104 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000I\000n\000d\000e\000x)
+endobj
+105 0 obj
+<< /S /GoTo /D (subsection.7.1) >>
+endobj
+108 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000L\000i\000s\000t)
+endobj
+109 0 obj
+<< /S /GoTo /D (section.8) >>
+endobj
+112 0 obj
+(\376\377\000M\000o\000d\000u\000l\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
+endobj
+113 0 obj
+<< /S /GoTo /D (subsection.8.1) >>
+endobj
+116 0 obj
+(\376\377\000C\000+\000+\000\040\000L\000a\000n\000g\000u\000a\000g\000e\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e)
+endobj
+117 0 obj
+<< /S /GoTo /D (section.9) >>
+endobj
+120 0 obj
+(\376\377\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
+endobj
+121 0 obj
+<< /S /GoTo /D (subsection.9.1) >>
+endobj
+124 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000\040\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+125 0 obj
+<< /S /GoTo /D (subsection.9.2) >>
+endobj
+128 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000I\000O\000\137\000O\000p\000e\000r\000a\000t\000o\000r\000s\000\040\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+129 0 obj
+<< /S /GoTo /D (subsection.9.3) >>
+endobj
+132 0 obj
+(\376\377\000s\000t\000d\000\040\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+133 0 obj
+<< /S /GoTo /D (section.10) >>
+endobj
+136 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
+endobj
+137 0 obj
+<< /S /GoTo /D (subsection.10.1) >>
+endobj
+140 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000I\000P\000\137\000T\000r\000e\000e\000\137\000N\000o\000d\000e\000:\000:\000A\000r\000t\000i\000f\000i\000c\000i\000a\000l\000\137\000P\000a\000r\000a\000m\000e\000t\000e\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+141 0 obj
+<< /S /GoTo /D (subsection.10.2) >>
+endobj
+144 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000B\000D\000\137\000S\000h\000a\000p\000e\000<\000\040\000T\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+145 0 obj
+<< /S /GoTo /D (subsection.10.3) >>
+endobj
+148 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000B\000H\000R\000Z\0000\0003\000\137\000C\000e\000r\000t\000i\000f\000i\000c\000a\000t\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+149 0 obj
+<< /S /GoTo /D (subsection.10.4) >>
+endobj
+152 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000B\000o\000x\000<\000\040\000I\000T\000V\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+153 0 obj
+<< /S /GoTo /D (subsection.10.5) >>
+endobj
+156 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+157 0 obj
+<< /S /GoTo /D (subsection.10.6) >>
+endobj
+160 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000h\000e\000c\000k\000e\000d\000\137\000N\000u\000m\000b\000e\000r\000<\000\040\000T\000,\000\040\000P\000o\000l\000i\000c\000y\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+161 0 obj
+<< /S /GoTo /D (subsection.10.7) >>
+endobj
+164 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000V\000a\000r\000i\000a\000b\000l\000e\000:\000:\000C\000o\000m\000p\000a\000r\000e\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+165 0 obj
+<< /S /GoTo /D (subsection.10.8) >>
+endobj
+168 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000B\000H\000R\000Z\0000\0003\000\137\000C\000e\000r\000t\000i\000f\000i\000c\000a\000t\000e\000:\000:\000C\000o\000m\000p\000a\000r\000e\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+169 0 obj
+<< /S /GoTo /D (subsection.10.9) >>
+endobj
+172 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000H\0007\0009\000\137\000C\000e\000r\000t\000i\000f\000i\000c\000a\000t\000e\000:\000:\000C\000o\000m\000p\000a\000r\000e\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+173 0 obj
+<< /S /GoTo /D (subsection.10.10) >>
+endobj
+176 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000r\000i\000d\000\137\000C\000e\000r\000t\000i\000f\000i\000c\000a\000t\000e\000:\000:\000C\000o\000m\000p\000a\000r\000e\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+177 0 obj
+<< /S /GoTo /D (subsection.10.11) >>
+endobj
+180 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+181 0 obj
+<< /S /GoTo /D (subsection.10.12) >>
+endobj
+184 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+185 0 obj
+<< /S /GoTo /D (subsection.10.13) >>
+endobj
+188 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000s\000\137\000R\000e\000d\000u\000c\000t\000i\000o\000n\000<\000\040\000D\0001\000,\000\040\000D\0002\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+189 0 obj
+<< /S /GoTo /D (subsection.10.14) >>
+endobj
+192 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\137\000S\000y\000s\000t\000e\000m\000:\000:\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+193 0 obj
+<< /S /GoTo /D (subsection.10.15) >>
+endobj
+196 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000:\000:\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+197 0 obj
+<< /S /GoTo /D (subsection.10.16) >>
+endobj
+200 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\137\000S\000y\000s\000t\000e\000m\000:\000:\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+201 0 obj
+<< /S /GoTo /D (subsection.10.17) >>
+endobj
+204 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000:\000:\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+205 0 obj
+<< /S /GoTo /D (subsection.10.18) >>
+endobj
+208 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+209 0 obj
+<< /S /GoTo /D (subsection.10.19) >>
+endobj
+212 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+213 0 obj
+<< /S /GoTo /D (subsection.10.20) >>
+endobj
+216 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000s\000\137\000R\000e\000d\000u\000c\000t\000i\000o\000n\000<\000\040\000D\0001\000,\000\040\000D\0002\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+217 0 obj
+<< /S /GoTo /D (subsection.10.21) >>
+endobj
+220 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000D\000e\000t\000e\000r\000m\000i\000n\000a\000t\000e\000<\000\040\000P\000S\000E\000T\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+221 0 obj
+<< /S /GoTo /D (subsection.10.22) >>
+endobj
+224 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000D\000o\000m\000a\000i\000n\000\137\000P\000r\000o\000d\000u\000c\000t\000<\000\040\000D\0001\000,\000\040\000D\0002\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+225 0 obj
+<< /S /GoTo /D (subsection.10.23) >>
+endobj
+228 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+229 0 obj
+<< /S /GoTo /D (subsection.10.24) >>
+endobj
+232 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+233 0 obj
+<< /S /GoTo /D (subsection.10.25) >>
+endobj
+236 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000M\000P\000\137\000I\000n\000t\000e\000g\000e\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+237 0 obj
+<< /S /GoTo /D (subsection.10.26) >>
+endobj
+240 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000r\000i\000d\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+241 0 obj
+<< /S /GoTo /D (subsection.10.27) >>
+endobj
+244 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000r\000i\000d\000\137\000C\000e\000r\000t\000i\000f\000i\000c\000a\000t\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+245 0 obj
+<< /S /GoTo /D (subsection.10.28) >>
+endobj
+248 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+249 0 obj
+<< /S /GoTo /D (subsection.10.29) >>
+endobj
+252 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+253 0 obj
+<< /S /GoTo /D (subsection.10.30) >>
+endobj
+256 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000H\0007\0009\000\137\000C\000e\000r\000t\000i\000f\000i\000c\000a\000t\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+257 0 obj
+<< /S /GoTo /D (subsection.10.31) >>
+endobj
+260 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000I\000n\000t\000e\000r\000v\000a\000l\000<\000\040\000B\000o\000u\000n\000d\000a\000r\000y\000,\000\040\000I\000n\000f\000o\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+261 0 obj
+<< /S /GoTo /D (subsection.10.32) >>
+endobj
+264 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000I\000s\000\137\000C\000h\000e\000c\000k\000e\000d\000<\000\040\000T\000\040\000>\000\040\000S\000t\000r\000u\000c\000t\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+265 0 obj
+<< /S /GoTo /D (subsection.10.33) >>
+endobj
+268 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000I\000s\000\137\000C\000h\000e\000c\000k\000e\000d\000<\000\040\000C\000h\000e\000c\000k\000e\000d\000\137\000N\000u\000m\000b\000e\000r\000<\000\040\000T\000,\000\040\000P\000\040\000>\000\040\000>\000\040\000S\000t\000r\000u\000c\000t\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+269 0 obj
+<< /S /GoTo /D (subsection.10.34) >>
+endobj
+272 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000I\000s\000\137\000N\000a\000t\000i\000v\000e\000\137\000O\000r\000\137\000C\000h\000e\000c\000k\000e\000d\000<\000\040\000T\000\040\000>\000\040\000S\000t\000r\000u\000c\000t\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+273 0 obj
+<< /S /GoTo /D (subsection.10.35) >>
+endobj
+276 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+277 0 obj
+<< /S /GoTo /D (subsection.10.36) >>
+endobj
+280 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000M\000I\000P\000\137\000P\000r\000o\000b\000l\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+281 0 obj
+<< /S /GoTo /D (subsection.10.37) >>
+endobj
+284 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000N\000N\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+285 0 obj
+<< /S /GoTo /D (subsection.10.38) >>
+endobj
+288 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000I\000P\000\137\000S\000o\000l\000u\000t\000i\000o\000n\000\137\000N\000o\000d\000e\000:\000:\000N\000o\000\137\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000s\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+289 0 obj
+<< /S /GoTo /D (subsection.10.39) >>
+endobj
+292 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000N\000o\000\137\000R\000e\000d\000u\000c\000t\000i\000o\000n\000<\000\040\000D\0001\000,\000\040\000D\0002\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+293 0 obj
+<< /S /GoTo /D (subsection.10.40) >>
+endobj
+296 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000O\000c\000t\000a\000g\000o\000n\000a\000l\000\137\000S\000h\000a\000p\000e\000<\000\040\000T\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+297 0 obj
+<< /S /GoTo /D (subsection.10.41) >>
+endobj
+300 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000a\000r\000t\000i\000a\000l\000l\000y\000\137\000R\000e\000d\000u\000c\000e\000d\000\137\000P\000r\000o\000d\000u\000c\000t\000<\000\040\000D\0001\000,\000\040\000D\0002\000,\000\040\000R\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+301 0 obj
+<< /S /GoTo /D (subsection.10.42) >>
+endobj
+304 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000I\000P\000\137\000D\000e\000c\000i\000s\000i\000o\000n\000\137\000N\000o\000d\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+305 0 obj
+<< /S /GoTo /D (subsection.10.43) >>
+endobj
+308 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000I\000P\000\137\000P\000r\000o\000b\000l\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+309 0 obj
+<< /S /GoTo /D (subsection.10.44) >>
+endobj
+312 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000I\000P\000\137\000S\000o\000l\000u\000t\000i\000o\000n\000\137\000N\000o\000d\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+313 0 obj
+<< /S /GoTo /D (subsection.10.45) >>
+endobj
+316 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000I\000P\000\137\000T\000r\000e\000e\000\137\000N\000o\000d\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+317 0 obj
+<< /S /GoTo /D (subsection.10.46) >>
+endobj
+320 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000i\000n\000t\000s\000e\000t\000\137\000P\000o\000w\000e\000r\000s\000e\000t\000<\000\040\000P\000S\000E\000T\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+321 0 obj
+<< /S /GoTo /D (subsection.10.47) >>
+endobj
+324 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000l\000y\000\137\000C\000o\000n\000\137\000R\000e\000l\000a\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+325 0 obj
+<< /S /GoTo /D (subsection.10.48) >>
+endobj
+328 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000l\000y\000\137\000G\000e\000n\000\137\000R\000e\000l\000a\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+329 0 obj
+<< /S /GoTo /D (subsection.10.49) >>
+endobj
+332 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+333 0 obj
+<< /S /GoTo /D (subsection.10.50) >>
+endobj
+336 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000w\000e\000r\000s\000e\000t\000<\000\040\000D\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+337 0 obj
+<< /S /GoTo /D (subsection.10.51) >>
+endobj
+340 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000R\000e\000c\000y\000c\000l\000e\000\137\000I\000n\000p\000u\000t\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+341 0 obj
+<< /S /GoTo /D (subsection.10.52) >>
+endobj
+344 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000S\000h\000a\000p\000e\000\137\000P\000r\000e\000s\000e\000r\000v\000i\000n\000g\000\137\000R\000e\000d\000u\000c\000t\000i\000o\000n\000<\000\040\000D\0001\000,\000\040\000D\0002\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+345 0 obj
+<< /S /GoTo /D (subsection.10.53) >>
+endobj
+348 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000S\000m\000a\000s\000h\000\137\000R\000e\000d\000u\000c\000t\000i\000o\000n\000<\000\040\000D\0001\000,\000\040\000D\0002\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+349 0 obj
+<< /S /GoTo /D (subsection.10.54) >>
+endobj
+352 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000T\000h\000r\000o\000w\000a\000b\000l\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+353 0 obj
+<< /S /GoTo /D (subsection.10.55) >>
+endobj
+356 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000V\000a\000r\000i\000a\000b\000l\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+357 0 obj
+<< /S /GoTo /D (subsection.10.56) >>
+endobj
+360 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000V\000a\000r\000i\000a\000b\000l\000e\000s\000\137\000S\000e\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+361 0 obj
+<< /S /GoTo /D [362 0 R  /Fit ] >>
+endobj
+364 0 obj <<
+/Length 1264      
+/Filter /FlateDecode
+>>
+stream
+x��W�v�6��+��)y��  ���D�R�v�k�]4�� �
�H_߇�l���Żo�����#���|:zw����{ӅG�
�4��� J�7�{���J!eؿ󹬹���f%��Mo˙�r|�~�AyF��—dV�c'�c~g�w��y���i��2F��
�'����_Gz�p�g(��2D6���u�+���aDl���=a��,��(F,!V�C;R���9_6
�4Gc
�<R8	~�b��(����Sa
+GbP�d(����T�,J��;d���Uu�,�bÕ[	��\
�$9�j����/��E@��QU��,?2��I*B"D(�QD��Bg�sK68-�&�V������o�;�U�\=�	�&:�)�r֫��eQ��G�:cy37{!�Q�\ʄ	{�6ec��@�3 �ɇ�7s98�^t�Pʁ)J �२
x��v�6��y���i��ɪ����j���	5ټ��q��;e���}1���������#C�/��`�3��G�>co�=
��yOU{$��SW�d�m��
� M�:�47H�����H�j�d$�F�cM��X�l���L�
4��\�jcW�~�n�2�A��`���#�J��P���ۅ��Ӯ����ͭ�Z��Q%(O
�"E'�,VN��-
+e�t�Z�w;O��s�MJ��^
+;өf���*���6�
+]
+�c�D'X���5ľ�@P�s M��w��)
I�W$"��ҹ2�UkY̽l���sm�� ]oUd6dzNIn�E�M���RTy�?>���o�93vbk!;H��Zh<�'�N�������E�(�V�5�>��ɮ�^m�r����i��˥4�[���Тw���5t��b?|��=`iO.Z9�V�{�zq��
�ևV�8^����3\-[Y��54��ݡ�`�v^�(;w��
m�?�!�u�W���ʣ
�:�uj�w�at���9�q�1s
+����z���et�8/�hJ
�	�T���ӫ�V�
e�H��}=1v"���q��#J��]�l,��
LmY-�t�u?y�x��
��0K��!e�ى���hNڅ2��K��y��ziG�)��� �Z��ܝv�j���/sA�^|V
����w�[�o�����'�X7��9y��طc�m�q�vL�[ټa�
�r-u�D�rʥ�=��3Ȇ
�N���C���'v}��oX$@vš��y`��mk�岂���UB�;�
�9ܻj��X�]I�G+n���~�7ݟ���R}���?���?��#�8�
+endstream
+endobj
+362 0 obj <<
+/Type /Page
+/Contents 364 0 R
+/Resources 363 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 371 0 R
+>> endobj
+365 0 obj <<
+/D [362 0 R /XYZ 90 757.935 null]
+>> endobj
+366 0 obj <<
+/D [362 0 R /XYZ 90 733.028 null]
+>> endobj
+363 0 obj <<
+/Font << /F56 367 0 R /F23 368 0 R /F40 369 0 R /F41 370 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+400 0 obj <<
+/Length 1874      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs�6��W�Vr&��^*;r�ԱUIn&��@K��	E�$U����\@JN,O.�}"� ���.� �qc0�m�x�9:
�ّ/|crmD�|n{�����<�8���'c����
+f
�l��u���?
2f��m/��3����̘����l'
+�ۦ�Ԡ��w��͙x~k&±�繁�řy_&7���
+��_�ǩ$�_���$��J�uN���&��X��<vE�?���̒��<ϴ����,�]
ؾpi��<���Y>].d�f0�մL��j��
+C�{f\.Ԑ�<��˙��YrU���z:��كCe�H�*�3��f�D�yS�Y-gX�&.�S��{�+9�9K��hA벖�-�fGyI�E>K��\ϵ��2Q�2��RwQ:j���_o�q���%INK)W��vn�F���f]�?K�2��+�����ܔe�j綠&�8
+�
A��J�R��E����*M�9b��+�
+���Eb~3t�ώ���L�)������K%9�ar@��@��̰�߱Sh�&�|k���3
�Af�
f,�-I��
+�c9E����ާe��ݓ
GV��ߜX3%J�.���&�����Vr
O���6uԕmu]�c��V�j��QJd�BJ��J�'�̦�r��Y}��ܥ��Rh��)Y
}\8
+\4Oy�Bͨ��!vӖb��b�Zm�j�oG
�a�/�и<��a
'2�
B�����/��4ΨP�
�Ce5=W^�nx�F��:��3�^�*�sٺ��
2�e��~��0E�,P�f\�p�Y@�8
��,�E� ^j9
���Y�����(ZN
:
���&�
�� R
�qM]�,��8��h>w
OЖ*��|c*�w�-�a�Xk�O2���!>�[4]�6�q׎���#`�G8����������lp�\bp�?�s	�F��
��A���j̨���y^H-j
��j��&iJ�+�{Y��e�J	I5U>&�..'ԭw�II-}z�Q�|�ɊD�(��o�_�eɘ�>x��F�"M�\S�7�{�=�Ct��"`���l0��:��<
L��㱪\��У���Y>3'��˳�j
^���Mc�����6�W�O�<���7b_S����M)uS�IZ�5:ym�
+֋�R�ϲ��y|Z�$
�����OI�������~�!�c�F��
f��1@��Ej=�.^
����:��(ң�q��������uWڜ���Rȿ��z�)[�5 at +;r�� �p�Zvd���m
��f�
��]�{���3�J�aa��n[��̈́@�D�!����e)���!�&�S��K>�(z\�.<�kch���l�k���P�,T�QP�(��.Y��:�N���F�,�+�;
+�
���u���濃{����Wlw�E��e���3����_:��
s�����1�Dz����5���)�
+�'^�
���

���(`��D6{"������n�-p+G�@�!���TAN"x(��5p��v�
^B˃�8���2�G+d�����ݑL7Й�x
�L��`�l�;ҁ|
߷e2��a��9�?����
�#��D�G����s�{0�9'�W߱�
��-��^m�U].�����0x����>�맙�n���0d�dvvȜd�
+�]<��
<�i�ڋ�]�8����e�:X1WL���^��Y�a��,q�\�I~S���›���H/��a��Q��:���bذ3�}�>�~��C;�^�N��m�
�i�wZZ<4��&�Rq�G��q?�e*���L�m�u�c3'��x�Vs��?�#
>���W�oG���b�����k���U.+Y��?�T��?[j��i��	f2H�����$ˇ���[��ly(lv���֚9�0�ֲ�k���n��̕$�
+endstream
+endobj
+399 0 obj <<
+/Type /Page
+/Contents 400 0 R
+/Resources 398 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 371 0 R
+/Annots [ 372 0 R 373 0 R 374 0 R 375 0 R 403 0 R 376 0 R 377 0 R 378 0 R 379 0 R 380 0 R 381 0 R 382 0 R 383 0 R 384 0 R 385 0 R 386 0 R 387 0 R 388 0 R 389 0 R 390 0 R 391 0 R 392 0 R 393 0 R 394 0 R 395 0 R 397 0 R ]
+>> endobj
+372 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [385.063 672.708 490.947 683.612]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
+>> endobj
+373 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 650.855 322.585 659.702]
+/Subtype /Link
+/A << /S /GoTo /D (GFDL_GFDL) >>
+>> endobj
+374 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [231.464 619.218 337.877 630.122]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
+>> endobj
+375 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [440.112 607.263 513.996 618.167]
+/Subtype /Link
+/A << /S /GoTo /D (GPL_GPL) >>
+>> endobj
+403 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 597.365 169.87 606.212]
+/Subtype /Link
+/A << /S /GoTo /D (GPL_GPL) >>
+>> endobj
+376 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [219.806 511.177 383.194 521.075]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+377 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 445.363 244.609 454.339]
+/Subtype /Link
+/A << /S /GoTo /D (section.1) >>
+>> endobj
+378 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 427.759 204.111 436.605]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.1.1) >>
+>> endobj
+379 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 408.077 224.216 418.981]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.1.2) >>
+>> endobj
+380 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 390.453 224.166 401.357]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.1.3) >>
+>> endobj
+381 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 372.828 202.04 383.732]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.1.4) >>
+>> endobj
+382 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 355.204 278.96 366.108]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.1.5) >>
+>> endobj
+383 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 337.58 260.699 348.484]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.1.6) >>
+>> endobj
+384 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 321.893 207.588 330.859]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.1.7) >>
+>> endobj
+385 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 302.331 234.029 313.235]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.1.8) >>
+>> endobj
+386 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 286.644 187.245 295.61]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.1.9) >>
+>> endobj
+387 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 267.082 245.904 277.986]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.1.10) >>
+>> endobj
+388 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 251.515 237.077 260.362]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.1.11) >>
+>> endobj
+389 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 231.833 292.419 242.737]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.1.12) >>
+>> endobj
+390 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 216.266 252.3 225.113]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.1.13) >>
+>> endobj
+391 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 196.585 199.688 207.489]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.1.14) >>
+>> endobj
+392 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 178.96 181.387 189.864]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.1.15) >>
+>> endobj
+393 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 153.411 229.087 162.387]
+/Subtype /Link
+/A << /S /GoTo /D (section.2) >>
+>> endobj
+394 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 125.824 252.131 134.8]
+/Subtype /Link
+/A << /S /GoTo /D (section.3) >>
+>> endobj
+395 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 98.237 165.446 107.213]
+/Subtype /Link
+/A << /S /GoTo /D (section.4) >>
+>> endobj
+397 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+401 0 obj <<
+/D [399 0 R /XYZ 90 757.935 null]
+>> endobj
+405 0 obj <<
+/D [399 0 R /XYZ 90 463.931 null]
+>> endobj
+398 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+444 0 obj <<
+/Length 1327      
+/Filter /FlateDecode
+>>
+stream
+x��Z�n�F}�W�R�f_��@#gq�خ��N@���"��$U�ߡ�X�hs����(
�{�g��[
ZoZ/�V﵀��cn�7����0�,{l]��g��3{��l��(�rdn]��h���n�ۊ����3a�hֺ�
��gA@����W�,��9N�a�Lr���o�]&�1��
�(J-�	���iP�:]lX�WS
��Jk]u�9:]�U��
9F�����n�rTꢸY], �"n�ZeB��3
,ݑ�t�i��|���L	n3�����F�p�c�D˨����
�|8F�3#*R�
�
+<��`���4��Lu"Rͩʆ�� ������}�M:�}��	��ߒ�'x#N$�!�8Q��g���?�"��V7�d1Z��<tCo1χ�J
+�f������x��Ý߮��̼B��tL�����+�~:.v_
���x��4$��͛ Q�ࢃX��g�s���O��w��޵���8�\b��F�z��
+���Ȣ��֙�֌Q ��;�K���j�G��F
�׆�$0�^�D�gՈ0P
����bYF��b I+� ���1�_k�l1���~�}��<w�$7���ߨ�Q�(�+c
U9�y^��p��^�8É�\��{��&f¬�8Mp�ŗ�� g�ϐ�	�^��#O *�b8�#`[ϖS7,L��~!襚�Ő����
+�o/����NY���đ�~Im�8¬*�
f����k�
V�ީ���)
+ at yt�	r�UB>��"¥��E�(���"�ЇA6h��2�������Q}}�Up��їhנ���jvm$~�h������4C/��5��FQ
+�O&f_�>�7��|\�
!g; * ���2g=�zj�u��-]?Ix��QX����+�����&ZBP$���>4^U(��P��)�<��JV��������x��9?P٨���b~�֥T6�����
S}o����u�q��A�g�1j8��?E����!p.��L�dߗ�[��nNV^
���jOp��" q���=
vs�#�d��Jjb�]i%��w�y����EC�Ưqjl1i,%���UPP=��ػ<B𾂉a�u'�
4a�.*٤0ܠ}��
�����h\N͒uf[��9'���^��c�`Q�TE��L~sÈ�w�.�B��4�w2
(Ad�S��L{��H�e�?�M����'��@��tk'8~p�+w���/z��/��G�5s���)u�S�㺾X�?���x#[$1�"3�I.�����
`5��>���r9�m���!
+ʶ�7�T�-���77���+������
Z�
+endstream
+endobj
+443 0 obj <<
+/Type /Page
+/Contents 444 0 R
+/Resources 442 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 371 0 R
+/Annots [ 396 0 R 408 0 R 409 0 R 410 0 R 411 0 R 412 0 R 413 0 R 414 0 R 415 0 R 416 0 R 417 0 R 418 0 R 419 0 R 420 0 R 421 0 R 422 0 R 423 0 R 424 0 R 425 0 R 426 0 R 427 0 R 428 0 R 429 0 R 430 0 R 431 0 R 432 0 R 433 0 R 434 0 R 435 0 R 436 0 R 437 0 R 438 0 R 439 0 R 441 0 R ]
+>> endobj
+396 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 721.97 163.723 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.4.1) >>
+>> endobj
+408 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 692.46 180.928 703.339]
+/Subtype /Link
+/A << /S /GoTo /D (section.5) >>
+>> endobj
+409 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 674.701 192.764 685.605]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.5.1) >>
+>> endobj
+410 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 649.151 155.484 658.127]
+/Subtype /Link
+/A << /S /GoTo /D (section.6) >>
+>> endobj
+411 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 629.49 192.714 640.393]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.6.1) >>
+>> endobj
+412 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 603.94 155.484 612.916]
+/Subtype /Link
+/A << /S /GoTo /D (section.7) >>
+>> endobj
+413 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 586.335 168.435 595.182]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.1) >>
+>> endobj
+414 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 558.728 206.393 567.705]
+/Subtype /Link
+/A << /S /GoTo /D (section.8) >>
+>> endobj
+415 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 539.067 226.298 549.971]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.8.1) >>
+>> endobj
+416 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 511.614 221.874 522.493]
+/Subtype /Link
+/A << /S /GoTo /D (section.9) >>
+>> endobj
+417 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 493.855 325.674 504.759]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.9.1) >>
+>> endobj
+418 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 476.231 385.987 487.135]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.9.2) >>
+>> endobj
+419 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 458.607 231.757 469.511]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.9.3) >>
+>> endobj
+420 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 433.057 196.43 442.033]
+/Subtype /Link
+/A << /S /GoTo /D (section.10) >>
+>> endobj
+421 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 413.395 457.458 424.299]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.1) >>
+>> endobj
+422 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 395.771 416.04 406.675]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.2) >>
+>> endobj
+423 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 378.147 389.902 389.05]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.3) >>
+>> endobj
+424 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 360.522 399.991 371.426]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.4) >>
+>> endobj
+425 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 342.898 364.449 353.802]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.5) >>
+>> endobj
+426 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 325.273 474.819 336.177]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.6) >>
+>> endobj
+427 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 307.649 384.353 318.553]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.7) >>
+>> endobj
+428 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 290.025 434.176 300.929]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.8) >>
+>> endobj
+429 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 272.4 414.799 283.304]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.9) >>
+>> endobj
+430 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 254.776 415.904 265.68]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.10) >>
+>> endobj
+431 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 237.152 355.024 248.056]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.11) >>
+>> endobj
+432 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 219.527 389.345 230.431]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.12) >>
+>> endobj
+433 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 201.903 494.067 212.807]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.13) >>
+>> endobj
+434 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 184.278 443.042 195.182]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.14) >>
+>> endobj
+435 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 166.654 441.359 177.558]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.15) >>
+>> endobj
+436 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 149.03 449.668 159.934]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.16) >>
+>> endobj
+437 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 131.405 464.601 142.309]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.17) >>
+>> endobj
+438 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 113.781 348.398 124.685]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.18) >>
+>> endobj
+439 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 96.157 382.719 107.061]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.19) >>
+>> endobj
+441 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+445 0 obj <<
+/D [443 0 R /XYZ 90 757.935 null]
+>> endobj
+442 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F11 446 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+484 0 obj <<
+/Length 1614      
+/Filter /FlateDecode
+>>
+stream
+x��Z]s�F}�W�0S���#��Cl'u�j�S��(��5�
+���WH`>d�RmC�}H�{���s�.�n<�m�
�N�(�d$����3�S� A�7y��g������2x�q‘4~�x�av�u1h����b�,��p���{#���È��-ޚx�2���~�.��>�)]�r�ysd8�eK���`Dq�D�v�CD;H&�ߋ���v����k$��^���,M�0Jg��
͇iGYN����
+��[D�%e��2�|���9����$
#H�f��v6f�<ޠ�p�N�� ���+{m
������)ڔ����z'T)$)�NHv�H��H���&�0ʚ��a�������_
��A C���`��6ʺ�x�����6��q�v�p�`��K⌴eHa��"?c9jjaL�~�GL����6�I��I��
=�~�h-�<х�8P� �wY�k@���g���#Ŵ:�7 at C8���_F at rx��֡
�GB�]�Y�K��$
�㡸:�4���2�dn)7��3���g��p�<] �
�I�	��#,
R�����L1u!���1j�z�e��3	��2M��4�М0��4ar<[���

+o����`�j����<A�X�B'^F�qIhI�"⹕�a��R4l�R�
+��
����?���o
R;*�?�����h$�އ����$3uqU��
��B��C��Z�B�^z�
��Z0�;�|
�SQĴv�	��l�0�5�R��n�\-^,aJ��#���1�YY��@�
�� A?y<
��:>��D�Ew 9E������n��Y6���g���
�S����2�C��)G��¥�ġ�%$�KvAvpo������4��YVt�T��	�:�98������u\GJJɎ��2��MW�힭nס���`X�&������"�x<�j�~7
Y�'��J�9&�i�b
+�����&���QA7�v���`�/���Ug]�\풌�\ꫜ#Pl�;8���4���`��o��-F
QE��~�E��
���Bf���0F�쐙;X��a��}�kж;��ʬ��C�ޠ���]|�*	+"�za#j1\�Ru+���P��u��ꖉ��S�e����rq_U9�/��jU���
�ڊ˘#�:`�Au��*�F\�ǁ��\��0�0�N����T��sr,L�ҋ3�iSx���;���R%���8
��������|�8�b���=���
 @ԃr������
�i�I
Ҏ8���p �;��p���3n8�u�F��:�9�O�]���BDe{�5���0H�g?���	����\62ٴ����干����pl��h:O�T"
9�j^
��p� 5��&�����#�6�*�O
Rj��A�#����$�z�%u1ۦ.܁�;)��2���M/�X���׍`]?X�O��
+;ԟ��jjb	I��XG
�Nr�D~�>W-5 �]�U/OK��Lg��ABc3�-ڿ���r|�� �_��4�SG�vƇ ����g,p�e�<l�`D< �<��%Hy��y�O�g'��Zk����ꁷi:}uzzww��34��i���t:
�n���gB8Rd5���cD�8)zFps�Py������ڶ
+endstream
+endobj
+483 0 obj <<
+/Type /Page
+/Contents 484 0 R
+/Resources 482 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 371 0 R
+/Annots [ 440 0 R 447 0 R 448 0 R 449 0 R 450 0 R 451 0 R 452 0 R 453 0 R 454 0 R 455 0 R 456 0 R 457 0 R 458 0 R 459 0 R 486 0 R 460 0 R 461 0 R 462 0 R 463 0 R 464 0 R 465 0 R 466 0 R 467 0 R 487 0 R 468 0 R 469 0 R 470 0 R 471 0 R 472 0 R 473 0 R 474 0 R 475 0 R 476 0 R 477 0 R 478 0 R 488 0 R 479 0 R 481 0 R ]
+>> endobj
+440 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 719.912 487.442 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.20) >>
+>> endobj
+447 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 702.288 439.282 713.192]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.21) >>
+>> endobj
+448 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 684.664 464.189 695.567]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.22) >>
+>> endobj
+449 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 667.039 346.715 677.943]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.23) >>
+>> endobj
+450 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 649.415 381.036 660.319]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.24) >>
+>> endobj
+451 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 631.79 361.519 642.694]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.25) >>
+>> endobj
+452 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 614.166 325.146 625.07]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.26) >>
+>> endobj
+453 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 596.542 371.631 607.446]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.27) >>
+>> endobj
+454 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 578.917 369.958 589.821]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.28) >>
+>> endobj
+455 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 561.293 404.278 572.197]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.29) >>
+>> endobj
+456 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 543.669 370.525 554.573]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.30) >>
+>> endobj
+457 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 526.044 457.744 536.948]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.31) >>
+>> endobj
+458 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 508.42 422.018 519.324]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.32) >>
+>> endobj
+459 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 490.795 513.996 501.699]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.33) >>
+>> endobj
+486 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 480.778 169.232 489.744]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.33) >>
+>> endobj
+460 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 461.216 468.653 472.12]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.34) >>
+>> endobj
+461 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 443.592 382.142 454.496]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.35) >>
+>> endobj
+462 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 425.967 363.342 436.871]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.36) >>
+>> endobj
+463 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 408.343 378.834 419.247]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.37) >>
+>> endobj
+464 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 390.718 456.891 401.622]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.38) >>
+>> endobj
+465 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 373.094 454.227 383.998]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.39) >>
+>> endobj
+466 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 355.47 443.148 366.374]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.40) >>
+>> endobj
+467 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 337.845 513.996 348.749]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.41) >>
+>> endobj
+487 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 327.947 169.232 336.794]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.41) >>
+>> endobj
+468 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 308.266 388.239 319.17]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.42) >>
+>> endobj
+469 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 290.641 360.025 301.545]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.43) >>
+>> endobj
+470 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 273.017 386.595 283.921]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.44) >>
+>> endobj
+471 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 255.393 370.725 266.297]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.45) >>
+>> endobj
+472 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 237.768 463.402 248.672]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.46) >>
+>> endobj
+473 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 220.144 385.489 231.048]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.47) >>
+>> endobj
+474 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 202.52 385.479 213.424]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.48) >>
+>> endobj
+475 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 184.895 352.822 195.799]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.49) >>
+>> endobj
+476 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 167.271 410.252 178.175]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.50) >>
+>> endobj
+477 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 149.646 367.049 160.55]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.51) >>
+>> endobj
+478 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 132.022 513.996 142.926]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.52) >>
+>> endobj
+488 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 122.124 154.847 130.971]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.52) >>
+>> endobj
+479 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 102.443 468.623 113.347]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.53) >>
+>> endobj
+481 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+485 0 obj <<
+/D [483 0 R /XYZ 90 757.935 null]
+>> endobj
+482 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F11 446 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+500 0 obj <<
+/Length 2586      
+/Filter /FlateDecode
+>>
+stream
+x��ɖ���>_�[0OC�
JrHƶ�9Q4�\$?=h�
a��hB}��� �%�Ϲ��Ծ6��a�m�_�����w����,����~�y�$n��}�y��y�s��.����f�GN����چ�8
%M^�z	���< �����o�~�����'J�$�6E}��GoS�����Y�y�M�0V���^yL3��
�5s�3.��Yn?p�8bV<7
+��Hڵ��
�����GYv���j����ٳ�c�"{��s�]���Vy�����N6��l�6o�Q8.b�~�!̲G�$%�D�&����q+7��IT�/��_�B�U_&�$LW1�
Ҋ�PZ��;9|���@���&��[,��!B7c=o+��A��Y`���_
E �nE
h�w�3F�����bX�!�cw-RG�o/
����M��O�T�d���;/�X-��F}8t궔]CK�O�Ф�Cط
M���u+#Xi�46c-;UhY"�fo��i��"~�c��&|����$��<u��� K�@jD�Z�
=�)�Է�$�	1��q�
+��[�"�ȅ����Rղ�VM>���b�Š�xNy!�
+�,�	4CH?��
7����0Z, at 4I>`�x�L
e[�Ahݣ�z����B��A�Q�
+R���ө�P����U&� V
;-xd�
�A�1O��:u������Ϭ��0�V߻]� &c\�)B ��w7G�n��W�N����OU��;kc@�{�>D$���d��/LH0�A"�^��A2�����X6
�cޕ�z;yq�o��r�h�*ZD;j8����N�"t(�(Ck�
�+uT}��Ɖ�U��Ǧ�ڍ��Q�U�کk]^�Z�7�1?Ȟ��禀��iGFn,h��V���5�3�	��m�a���y�
��h�^>^���:�?�,
��|K<2��؎���3 ��ic�j'��i��2o�՘����!�a������}�9�ݠ
+�m
-[�kd*H�
+X.e�
͵����G
P��k�(��1�i����U���l���#�ْ��V����d$+�֮EQ�wB� ��<��8��Tx	�
�aS�a�
��J{��p
�
/Li����ZR�F\4�%�D����`O���53p�>�b��)X�I������k3�ǯ��Y l)]1�n���h �a�n;�ΨG�D=�ju8�t���^�NJ�G��u
i;�zC%�t.O�e��ʪ��dO#�q�q�h@+qD��-�yU'k[��uY"�%p�z�sd��|{�V�*�ɳe�)�5�e\�����Q�5��BT1
 Î1tJ6eu~�> y�
i��SW�?�|ߍDf2=d��?���
��M��KS[�_�@��2���y3��œ�y��!��Z�khY�3ѓ��>��RKƇF��h��1�50�q����n�F`IX�F_�H���<7y�
+Vd~�cE���jj�>�n�=�b�y	К^�����0��u8�����ȁe�Ά#���
s
��:tV���M3.ጿt�]�
\uid� ��t�:5�$�0V	��BQ��,?��*}p0�d
+��%TP�Y>y�
+�4�P�N��M෡�dU��t��{�4��MG����v�
+	�d�x�����x+e����PK���L>ԊiǦ�:3�A:�n_u"� 9�j�����R�u��	����S2j��m��^���
+m1ֺ�c�!�
�Sa�{�\Zw��]mH��q�Y8s� ���

+A]��A���z���=S*�Ғ8X��6rm�j�j,���
�x1��7T��6�+:EJ�c9}C��3u���W
:�����ٲ����2���������1�E��R�C�X1�-�@^@j������߬<��w�.�`�Rڥ�]�J��=�r�3�8X�,��s�����"��8�[��������t��[ڶ��IVt�a�=T��@��� BK
�'�W
+əȌ�OtE�`0�Mj3[sb��L�P&w�l�786̏�^�-
��_�;�Ҕ�H
��l���Z8V�yJ���=u
+	����=[�7=��A����
�$��4�˅��� ��,���a'/?�����+���>Yi����_�u�0V-����NB1�xNM����
{�O�:2qa���
�w���E��s�IĢ
|a�Z���D�/������ԏ
����@:�z0�����2[�����n����zX����E��
���N�x�==<�������p��3R��msBw���$*�<��=c�{��%K��'�
��N '\׭_I+�F�MFu4�ϸ8�_�9y����)�=H�L��_�
�G�|{�)V��
r��ӏ<��ڛꂞ4��n��c�Wl݊��f�Y���Ԓ؍C���U��t�����M��ܹ�@����Z����ˢ�(n��*6���!�%��������˿!���D���B��'�Q�FQx����;���:u�Z�7������7�]4�
À�?5Q�+?�Y�I���acf#qNԊ����qNϞ>}xxp��
��\5<=�����;�"B7��|�XM%��	�R���O��
+endstream
+endobj
+499 0 obj <<
+/Type /Page
+/Contents 500 0 R
+/Resources 498 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 371 0 R
+/Annots [ 480 0 R 489 0 R 490 0 R 491 0 R 492 0 R 493 0 R 497 0 R ]
+>> endobj
+480 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 719.912 349.694 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.54) >>
+>> endobj
+489 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 702.288 340.08 713.192]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.55) >>
+>> endobj
+490 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 684.664 361.668 695.567]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.56) >>
+>> endobj
+491 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.351 567.183 427.818 578.087]
+/Subtype /Link
+/A << /S /GoTo /D (main_convex_polys) >>
+>> endobj
+492 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.548 213.746 337.122 224.65]
+/Subtype /Link
+/A << /S /GoTo /D (main_use_of_library) >>
+>> endobj
+493 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 96.365 190.125 106.263]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+497 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6 0 obj <<
+/D [499 0 R /XYZ 90 669.969 null]
+>> endobj
+501 0 obj <<
+/D [499 0 R /XYZ 90 638.04 null]
+>> endobj
+502 0 obj <<
+/D [499 0 R /XYZ 90 638.04 null]
+>> endobj
+10 0 obj <<
+/D [499 0 R /XYZ 90 638.04 null]
+>> endobj
+503 0 obj <<
+/D [499 0 R /XYZ 159.628 204.944 null]
+>> endobj
+504 0 obj <<
+/D [499 0 R /XYZ 90 188.217 null]
+>> endobj
+498 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F11 446 0 R /F72 404 0 R /F23 368 0 R /F79 505 0 R /F31 506 0 R /F10 507 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+519 0 obj <<
+/Length 2318      
+/Filter /FlateDecode
+>>
+stream
+x��YKs����W��j9� �N�*^Ŋw7����bo�@p$��h����
�H�rT:� a^����� �
=�]_����|q/a��ʻ{��EJ�P
+�n�}�	&�
�9�ݭ�|!C>�G��4z?��L����E<��|�0V39����]|�p���F,�C/�\|��{+X����ObooOm�@��,�ۋ^p�#����+��I�qß�
����x�yt�|�F��L����}��_�����Z�LU�
�
+&"վ��訷H���[���������v�n5��|/��\�X���LF�@�AG�n�BȒ(n��܂3�'O�
�n��r��5�cU�œ��	S����_H�8x4)@���o
��%����ݿ�"�Hn� i�:R��̗�U
���s�I�.F��`>; 6���_k�ߌ�!t.x��s�9oq��(촚#.F�,�G��h�g4i��
?�l]պt'7U�8aP�Ǭ7�f����H�z���gQ�TrDK�0�)}y%Ju�X��|�8J��	�*
*�Y���4Td���l���qM�X�I�Gw,	��u�,�,�9Rq�
x�-���!p�h����24N˹g�T�l֚?&	
4���f
M���Y��a7���f��.�\����.�z��L(1Pj|?�W8�2 RR�i��7Cܰ�������)����~
���O�
E�y�9�
*���U"]�����˺I��UC�|�����M0�� �0_��
���ż��Fo�Eڸ�m�2ҡ�w�1�������g�ޤe��#e4����}�e
�LFxϙ�˪Ͷڡِ��VO�E�K�a���,�����ڽ_��.k�A�N
��mt�3�sIpT]
�
h��T�EAo[��j�`�	���0���֭I�b�zQj��R�MqP�j̽60���
<D$�e��27�SD(�^��	8�xՂ�&5M�;�ԫ]�W�7����6���|w�s%~��s%���T�7�jϪ'8*.d �?�M#װ��l*Iul��
�grG��>�S4�
J8�<. ����J>K�7��~��
\
 
+l]_�j�
v��?�w�|��*�>���9�e�o��r�U[mR7�ݦ0�Ll�En�f��P��@�18X�+!@��
t��)����y�1"sD
@{G�� ���
�'�†Vm
�QjZ�գ�w���+w
l= ��@�����C��qF�Q��C�nG@ߞ��l=�]�*BM�� ��D-��B���
��
T�6N_��i��k�w���f�.�g�`��R�R@����.��h�|�\��5��3�/���N�0���! �/ |��k��{��]mtc�镽u�Tf*Ir�:���u���
-mԕZCf�d�8|6�/���x�TLLE��
+���
�^F���B���V����
+N�� B`���m����� �F�;
�t�}k�]��� ��
�G^��ǃ����W��©^�
��
��r�C�7D#@���im��	z�dAt���cB<,���� �<Ǩ���
9�q�vG�JM�ƒ'�CQ�wL`�$�'"Y[�qa�K���
��~�X �Mt�Gy���P�c�����u'Ig
t�
�5{�'�FF�]?�V�t]7 ��m��&.<c�
. X�®�X
+X��n�0�!��jkr[�����o
��xj�۶
�����x����l0
��Y�SS
�*���D'B�ė�P*Ơ�\
��v[#���a�E˃lB
��5����[l��pD�e8
��o�
4
]"q��>�
��c��E �釒�Q�&�����,��
��&����a{�
ha��3�3��2�59�:�X<
�n�1;hP
�5�-)�w�$]�q�>6�Ԧ/p6���j60h4}~lLX(+w��f��i
mf�6���$��'�w�/M}�2TTPP�����V\h
ѭ��HH����(�����ٷ?��"Y�mڶ��|��J������}d�X���a�[�JOܢ�ߒU�Ơ��
��2f���!^ڶ+/��-�m�YV����˚֋��Z����a�v���W޶γ5mP��.H`�$�
�0���3	����8�m<�sH���XarK���Tث���FJ��w`8��
��
����	Ǎư��+�c�a#3
���b���{�k�S,��R��c��0
�P��7f����q�Mɗ&5N����i
��������׃�kQ���8��PJz�~�#�������=��VĒ�+m�M�}sy���YV3����%����o
*�mG�����^'/�W�v:Q��Tba
+endstream
+endobj
+518 0 obj <<
+/Type /Page
+/Contents 519 0 R
+/Resources 517 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 371 0 R
+/Annots [ 494 0 R 495 0 R 496 0 R 511 0 R 512 0 R 513 0 R 514 0 R 515 0 R 516 0 R ]
+>> endobj
+494 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 720.535 202.08 730.433]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+495 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 701.65 187.689 711.547]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+496 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 682.764 229.532 692.662]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+511 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 663.974 169.757 674.16]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+512 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 645.088 142.304 654.891]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+513 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.957 554.546 268.261 565.45]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+514 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 496.279 247.465 506.082]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+515 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 477.299 337.129 487.197]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+516 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+520 0 obj <<
+/D [518 0 R /XYZ 90 757.935 null]
+>> endobj
+521 0 obj <<
+/D [518 0 R /XYZ 496.074 414.78 null]
+>> endobj
+522 0 obj <<
+/D [518 0 R /XYZ 90 398.521 null]
+>> endobj
+523 0 obj <<
+/D [518 0 R /XYZ 390.898 298.928 null]
+>> endobj
+524 0 obj <<
+/D [518 0 R /XYZ 90 282.669 null]
+>> endobj
+525 0 obj <<
+/D [518 0 R /XYZ 338.874 89.441 null]
+>> endobj
+517 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R /F11 446 0 R /F79 505 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+537 0 obj <<
+/Length 2400      
+/Filter /FlateDecode
+>>
+stream
+x��ZK�۸�ϯP�%T��/�&����lR��r���(�0�H-Iy��n4�4gF���\F �h��nt '\�����?��ܾ��E’HD���"	qę|q�-���劇a����J�0�k��z�:�is����^�$�&
+���n�������{�wzu�b�������E�?,B&�xpR��~��w7�	�\��,�t�F&����sY�Mklh����`�*�P���7U~lʪ�U޾��@u�X	ŤJHsg�O?�H�ͩ�l���ԭO�cY55��V|[��%��;?q�ֵ����
'�w�аD)X�{�n���W��B%
%��fj����A
"�vű��f*64�z,�~��}^ش�
�t;�x�L�H׮:�bc����)iƋ�.��C$I�M���D)E�I
z���=U�+�h��P،F����D��c2(
����eՎli�s�{�ص8T��&�4a�{Z��ug��a�#`�9
�2/��nl��
YB
Z�c�(f� d��X�6fB��
׋�U]P}i-!�<je�Lh*��+�|7+�C��=�O���r_��M���f��KlV_�f�0���l�l���R�9-7a�t6}�1�0�o��L��2����l���-Z���k̇:FOY�>0���pF�k�2�Y�� [...]
z2b:~
+�ц�#h�ͬy
�@?i_��Ⱦ�,V5�_/��B�7Xl4xS]���c!#g^3� ����3	+��wA��_ o�
ރ�|^����	A�(�y�'�A������ƶ
:m&\�Ԉ;��P�^4��� #�XW�"�H������
+{��W`���N
S�aj5 ���&�ہ1��G �#� ݎ��FE<�đ���H%<��Jx֓�!��Ȩ
���d|��\����ka^¬�?�,��ư�Nd�!��Q0�+���4��W�R8�
+�~�|6,��ac�6��
�)��<6抚I�˥9f٫v��cU
mu��T��Z?�HL�H ��٤���\}Iy�j��yo�e^�

&6V����P��/�z
��x�L��q�x�+]����J�3u�}]Rkp���3$�C��mD��ĚP�׵�ln!uCvu��A�:�9]Q��6r3�T �y�λ3�
���R���g���I)-�:��՛
�I��0J��CZ���C�wK���yf��,���[
�� �t�
K2w���7l]���K-W8�
+��#r0���3��(��c4��ڗ�� �PcH�5و���JEq ��H#��I�Wue�Q�o�7�5���EMO���`7Օ�
tf�` 6<u`�Ԓ�<8@�xjl���`/� �:ƻ�uC�������HU�v���c�T:(?�-�3�̸�R�
r�p3&��ۧ�qaG �::$lZḏth��3A��ǻ�Õ�t��{[�HJ=|�C��|Ȑ�
��_��Q�.c� �q��3��TN��)�� ��봣�笱W��4n�n��6�m��c�
�?��=It	��ڱ�k�
+OE}�!
�t����x����y.E4���V:�7�䪍="J��=u{t�)�]h�p:�u at t�>H������)��3(O�8����q�.gQ����l����E���M
+AX(��^K���=��C)#Ag[Ƈ���;���1���
+}.ph�
L:�۬JIl��@��h	]�YLp3^��%O�3
+��gH�EF���`��Q�U���f%}�Iwl
�O���/:��qt�ؼ������m
;7Vq�rzy�#
+p7��V��S�a��C&{��f�/���y�23
�A�fT�r��=�h��9�YA[[ݮ#sҢ͹�D�q�C��e�o���Ԅ�H�J����/��;��3�g:��J�}Ģ���J/�������8�����h�'�!�� ����
Z��3��Lv���4u�`�?�M4?�T.9�a<�*X�j0
��p�Se�q�C$zQ�.\��e���4Zi
z.�a���/�NV��{1}�uN�?j
N�&_e��	�'
??��v�Oq��‹��]�N�sN���z��b�u����O��
[D8I�b���0
���B8����~1�i'�L�>)H��/O�{�@���Ȼh<����d/��n6�D#^r��g9��N�d�]}]��Z�cek[462�9�ѡ�3�*Q�a�o�ϓ�>n��D��+�������[�
K����+����-��L����K�V��w{
����(t�Q��wK
[������K��ɥ�xV�8'��0
�Y�M$���h[�q	�_-7��}��7����������T�NJ��-T��h�9W,��-��+P�
��A
��P�q
+endstream
+endobj
+536 0 obj <<
+/Type /Page
+/Contents 537 0 R
+/Resources 535 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 542 0 R
+/Annots [ 534 0 R ]
+>> endobj
+534 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+538 0 obj <<
+/D [536 0 R /XYZ 90 757.935 null]
+>> endobj
+539 0 obj <<
+/D [536 0 R /XYZ 90 733.028 null]
+>> endobj
+535 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F8 540 0 R /F23 368 0 R /F11 446 0 R /F7 541 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+546 0 obj <<
+/Length 2330      
+/Filter /FlateDecode
+>>
+stream
+x��YKs���W��j����d����n2N�0���HH�.Err4ίO7 R$-s�ؗ
l�xt7�_w�;x��p�������z)I#?���^J�8b$�w�{�V����QJWw�r��C���(*�z��Õm��,YI��p&�*X�z���_�n��a��z��
c��ˎ7�~�^�?x��4�Nf��
|�����7��H��5I	���aQ`��{�Jý_v�>�FkXBb�z���o���^�b�jT�f��K���v	3DW]sZ3�*w�
L�Z
E[�n��Vn�.��J�
+����~���U&�`G�:�a@�Tvy��|���p{���m#)��lg� � T[d])�:�+`��`�����Lj���K�
�{�#Ky�(�y��	�n�q:�᝶����r�H��٫ڭ$���&	�F
w���1Q���m���u]����Yc�e=Y�uJ
�_ІEٹ1��d��GQ�F�ׇwe�ↁe3������!>��{>�J*�@:�>�V�d�I����am�Ol���%<8�/��4�P��DV��Hk�v3K���ӽ
f���o'.䱈<)8	��J�����O�6���ý̕��~��`��ST�1[���1ڝ�NZQ�Q���ƣ�8Z�z�γ'"��	8<�.
+f����I�O�
�|;���`F7�倆ndV|����97�:�����L6��;
#�
]OZ��7�ރ�����[��9���uk88��fhF#�8 ��z�h���� �(��)VB�e�TR��hC�)v��4�Bw$n
5���Жq<x��S���. �Ϟ�16�!�2�p`�� 
G�|�Z��>46��ks���0wp�A�
��p����1�LЦ��b���̏Sd[D�'éO��O�K��g
��P���s��*��!��{P�Ǧ}�����T��3�>��=�F��`e�B�Ŀ���t*�Dl�
:�3%�g�a�֔�9=T��F��L&?$)�N����'O$����
+�5
+�LC
+삥�)�A'n�g�c�>c�F$�D��I.P�!p��YT��E}(2Q�۬��
8� $N��bc1������
P�E�
+H��#�����ei1��ٷhd!��[ Iy�jk�r����1b
�,�Pi���� V��Q!^��<�XΡ�滱�"�$e����u+��Q
k� ;��
@�%��1	��jmʯ��g��� 4�)
�Ss�6��R	�
W�cY;}��C2�F��V��?.l�Nw����w8����lK����
�[!���1��O�]� �R�Q���]��7q�P���z��޹��� �Ÿ!��,#
\��|<���
+����u)�L1%�s�R�]cn���)(M'�yؙ@&+��
+e�d
�-
�V`�Ѡmo�FUW��5�5f�����nb�v�K~D�Xz5҉�
����ƤQ�]�4���� P����(��%��
+s�j�<b�["Ϸ3e�-��x�
�R(-�� �cГ�\��}J�0�8�o�ߥ@�I�.
?
^�q�A��0� �G�79
�P��_䣽�,? ��$�x1QϾ.�g1zf�9��9�g�]�
��cQ�����!�9�z�6W:繓j.�j�;�8a	�p�rWsafHT3vC1c��j�������^(ee�X���0�V
����Fp���F�
�Cr��i�����V���s�4s7ώ��
+�+
�������؊%����2�1�`7ݐ�w&����8���;7�V�8b@�,����'������������{����lOR�S��p���}����z�#�Em��·I3�0��G!u�z�7̭�xѸ�	'
/	'iS}l�+�'��y�+�js��<��qB.�rt!����P���Sr
l��"�G1�]
j��p:&=�Ҙ��H����������O�GS�}�s��c�r����t��k�f
6��x
����h�U�S������7��,��B�g��������$�%�9#�S�C��W�5������
zx��/��	
ƍ�h��[����eV��,���>��������>s,��v/
�sb�w�5����8�mT����x�޵v�eU�Ӟm۬��G� |�9��g3g2���`�@9Xŷ��� X����%1�QN�dv~|�"f_Sǘ�PG�Z��j� 
BG$�y�
�CD�`�P���y�9}����)�_��KK��uIz��^u�ZF=>���\�}��(��o��߽�����,�	��o������t"�&]U4��mӔ��_ FT T�3���Z
wT��=R�b��W
+endstream
+endobj
+545 0 obj <<
+/Type /Page
+/Contents 546 0 R
+/Resources 544 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 542 0 R
+/Annots [ 543 0 R ]
+>> endobj
+543 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+547 0 obj <<
+/D [545 0 R /XYZ 90 757.935 null]
+>> endobj
+548 0 obj <<
+/D [545 0 R /XYZ 90 674.705 null]
+>> endobj
+549 0 obj <<
+/D [545 0 R /XYZ 90 667.946 null]
+>> endobj
+550 0 obj <<
+/D [545 0 R /XYZ 292.568 538.35 null]
+>> endobj
+551 0 obj <<
+/D [545 0 R /XYZ 90 522.095 null]
+>> endobj
+552 0 obj <<
+/D [545 0 R /XYZ 90 495.672 null]
+>> endobj
+553 0 obj <<
+/D [545 0 R /XYZ 90 476.661 null]
+>> endobj
+544 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+557 0 obj <<
+/Length 2602      
+/Filter /FlateDecode
+>>
+stream
+x��ZK�۸�ϯ�-R�C|:��YW6�dON��
"��R$Ç��_�n4@��F��[[��@�э~}h@㭞V���ݟ
�
���U��ȏV��U�∳���|�a��l��y��g������A�����Z�~h7<Y�n�<L�u�������<�����
o�5�0f�W����O�*���W
i�:j��*�����ݿ�<�G��k9{�~��ľ`^҆?�>���@A�Y�� J`B����ԧ� ��G/���ⅠD�(��{��q�
�`۴�K���Y���Y?�J��,~U��w�Ð����"F�Ֆs��ዲnQ	X���HK��%��C��B��E�f�EB��������_�.FL��
�	�A�t�0^�nT���~$k�����9`\���c�-d_�UG����z�w0 �H�����0��5�Un�-��.��j�=�y��U��������&5���=�����i:MH��O�AU}GC�4��*+�
	�t-il�uW��Mw�
��H�5]#3C� �+ƍ՗�}|.� [...]
+}�
n�3Ռz#��a|W�
;jZU:R��aW���MRsUՇ��}�� ��

��ϲ��c(��bء]��P�����'�rn6�Ֆpr�C�A�.+�Oe-�+�s8��\X��s��ph�������'�l�fҼ�[T�`�5��
�qpʡ��D `�A���'ł��6���ϰ�o�
܊9�
�Jj:u�� }�{������Rv����7� �
+�d��Ñm��/,f��"��>
��DkD:��b]��
hA�����`
��8rh��T"^�� r����/�MR�d�.�
�����%+�J�B=E
3�e$;6�/m3h���
�E��T
$$N�4

 A+�w�+#
�/zV���.��;��C�q����qK�4����C?&�A�C�*�`�������d�O/@N6I\����Ј-(�D���$\)���#
T��>	u�בz��5���: �vH�������u���pV���f�����Dͽ ���i����q٘�o6[��ֻQ
��|��
09�!�t������uଋZ��u�)�����ƌ>��žad�7�+�Ŋ�.Ox�`���.AW����E�6��s��m&5���b	A�~Tמ���
+`h[mL�DU�'��-a~ .�.d��4�=��С8��ӆ��v��u5� ��9ʧ��`6��Ĵ�L�O��RTWo0��O�����A�rP�Tb����.<��F,h�a ���G�%�#uTa���EΥuݩ�a]��N�eg�Ą/O�LX���0H��:��!%��p0���ᩭ���S1U�QMFA4
+�:xf8�M�T�EC��m)�������ʥ��x��P�|���)'��JM!�U�/�b�����V#%��+�S�e�1���AoX~����	��b��$�����&9;����8.����X�b!هR��$y]͙�&1Wj�4dQ�_�t{p��w�x�Gց�씕�f_{�7j���&�`]��1|��<g�]��"bn
sE�*]���5���:ǐ�
���(�Il��8���x�����
~"~�jk�G��D������	��};V�W���H�)1"�%N� �\����a����	mJ��B���5E�C�O�e�6^RpF����/0u�����̐�1S��!����"G�V�Ck֡6ݐ�^�~(
OC7�,��g%wwV�
��\0'��+��~��}�XԝT�?1�J?����6�灀��q?f�_�p58���%D
	��$>h/P�J�2l߈��
�����X��a�<���0����m|��]`ȋAljv|V ���/u���L��p`�ͳ
L�����5�ۀ�����\
LOvԎSYݶ��ˀ}D]�*�؛�'D�
��p
���K?@��bTwP
=e��vt�h���Ҕʸ��
-v�T��<|����O5<!���
��x���[IMY
��R���n����-{%�34�躂
�6��#
ڶ,�G����#S٣�|�.�K�mU�$=8�����<��s����Ѱ~�)����)ާ�m��EB��B����b"�
�]��8|�
�t<&��y��[潫��L1��u������
Tg��4��ĄE��x
�X�7^���-;/����`g�|cqY�{�G��𱕈y�n��To�=^�w��*�+��!��G�c�8�+v�-���z�6D/Kr���k�c�JƠ�����F_��-><Hs��E0��#$�������j�d|e+���GvŜ��#��
�a�3
�`!��f�������uDȒ��9������E�_bϝ=�P��='�߳-��Z
��KOX�[��Dfpv���.ɻ�P>d��M��Dn.�]x;��v_tx��ջ��e����(�Z$��?4�dD��"1�=�,
��MrD�������uyzVyk>�^�Zٚ���S�6a����T�}hE'�_λ���1�)�щ�KOH��W��7ʌi�<����s�7o

��#�:6TEӲ�h���<)
.<�Zi���t8bQ��++��0V�
+endstream
+endobj
+556 0 obj <<
+/Type /Page
+/Contents 557 0 R
+/Resources 555 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 542 0 R
+/Annots [ 554 0 R ]
+>> endobj
+554 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+558 0 obj <<
+/D [556 0 R /XYZ 90 757.935 null]
+>> endobj
+559 0 obj <<
+/D [556 0 R /XYZ 90 613.312 null]
+>> endobj
+560 0 obj <<
+/D [556 0 R /XYZ 90 509.701 null]
+>> endobj
+561 0 obj <<
+/D [556 0 R /XYZ 90 465.865 null]
+>> endobj
+555 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R /F79 505 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+565 0 obj <<
+/Length 3092      
+/Filter /FlateDecode
+>>
+stream
+xڝZ[s�6~�����3B��-iҬ�i�����
%��ɒT\��=7���8�}�8 pn�9���W������ŋ���,���n���$�*
+�j�_��i\�����M��w��u�ޫ� �ڶ�ԩ��]
�lj��0���?6?_��\�u�a��k���D����?��
�?�|e�t�@���00�V�������Q<9�Re��F�q���="�ޮ�ɢT�q
+4y�׷]�{�U������z����8����ٝo��ZRc���Sf�Z�Fe���TԻ�v�
W��*��j���"��ۧ��J��n����ڨ,Ly�s1���-7���*����bԦ�
�C�A���1��rǽwo�
RqD�ԑ��-,�}�ˇB��l9���Vk6�ZGp��ä]Q�/�>���ݥ����LwBd�%<�9�=�Uސ�y�}��n�3�Ȥ
��j�R�ܟ��4�w��<v�
QY��j_�����CQ��ǭ #�K��K1
���C>
|yoh�b�L�������6}_n+�M��
���B��T������Ï�o޼}�i�	?}6����������W���ϰ�#�Dφ��$F�i4�����7���޼�|����s�h��]"���xsu��G`���B��]�f{�U�*s���q�ϫ����kj��1�@[t��t��^^�
�1��R�`���ll �4���O�T��b�af��}Q[��E_4iD�B�d�<Rxd�
)�!�e*��j�� ���r�����]� pF��.�J��4I�*��ǐ4
^�\@C����S�(n
+���
+�JN)�N��o�
�*�&�{�*�M*f4�@:��O���KW<B���m�w��q�0�xw(#
��
��G���á脊ނ�w�;�
���T
va]7��Zfͱ=Q:"~�$���(S��ؕ��~P연9T�k9@�4 �Uy,�
d0�m��Pn�2�!d��A�	5~io/kP�a��3P7TS�O�x%�4&j�.�b=�3�'
�(���e���Mo��:9D
G>������'?6A"�CcT2��IL{�h9$�<r�O�^�	`�/�G�;���G�2W�h�/(��H���(�3O��
+�31)%
��h���KzO�p��ɬQ�C�A�?��hR�	B��"�����>4`\
�v@i��O��sc��^�"W�F�5�ۗr/��%�g2zm�N:C�_�ׂ�BA�B��桞x*�|��R^Ծ��q!KU�X�)_�s]����9�O[0>媀��D�x���e�b
�)ϥޯ������
$��ňs�M�!׹��@�
��p}
{w]s��F�"|�j��..���|��R2#����؟U�2�*�}�*D{4Rk>
��a,�2&��k:��	Nuz��>'�[KX��Z �F�1�eH U�z]��Y�d�z�8��
x����AffFfwMU������
�m�r��
��%D���
U�ex�
=S��}�d5��ѱ��L����s���`j
�h�n!��
�V �
$2����X��RBHd
�<���fj9�3����Z��U�V��8H�9�a��$�8�m��Nf����
G����4#A�+Z�N` OH��49�y�.�6�>� ��S^a���"���S%��Xե�l�O!�9�T��"ͮ9AZ""ˊD��xN���
T��59�@�հ$(�e�+���%��Abj�&��>vN}��xÔY��-���?.#0=��s�<,���/
p��&�z��fAB̞e?�m��ᓨ�V�/g����<�����Mm�k��]�r�
��꡸�J�k�h^�F_�yil�FHq�;��(�cP�PD�
���r�e�+nqzv�t�d8Ů+[�h�u��Oω^�Q1�
eo/;qo4�gە��F
��*/�;N/S�w��e1��L�&�"�Pi1�6^�:�}h�X�	�.!�r��Mc�z(�	��149M�E=�|��	��
�3�:֗T�
SeQUָ��sX0��kǭ˫�j�}Y�\�f����%t�oy���3����а"�
p����G��01
R�_�|�[�8̪/�;��2A��?��"2��Ʒ�0�
+r[���N��� !XE|��+��i
]�a��4Lw, xx
:��ɻ̦Zgϣ�
�D��d�	����'�}״�=8�-��> �9s��yoۯ�l�ok�F���pR:co(�T��R
Ҧ΋���ţ���g�
���{Rg�W���Iy/��Wý�d�ge��J���8t~��a~�XiN��KeM�'^܅�2�X�#E�S�,cj�/�8�\F����*Z�4��i���YJ�1�a����`"�(t

�G��3�4���iQ)\�b�(B�r
��e
+� 4�����x~�K�
+�{J$�>�)�������G4}
r
z~ɯ�H�OU��d��#37~-��qt���$�
tl8蟤��s9!
sB������w��h��8��x,')
G]�DZ3Ѐa�¾��^z�o03�W
h��.H
�m�yzU�uj�d�d�x�I���k�B��p���r�Y�0]=`�%����L��!�
�r�ȼ*����T!�p�k.e8!�޶
��c8�m'���RO��0�̨���2���k[*�Q
[�&G&��XV��UH�A:���1NO
LӥS2f4�0�-@
�'@���n��uLz
�RH/fh���+{��TY��`̐+Q�갪r�BO��`��7��������,l=�k�����?bGJf|Ħ8�2y&��\��v�[�{��I.��o-���_�T�;,Zo�^#�g�
���=^��*f�d,�I���AG;�34 �.g
����R=},\ Va8,D/�R��QU���Dib�`���U�cF��*-�8��+:V؅h�~�$̅iy����c�v;գ!�&���^���O?=�[�A������Te:�����%0�	XD���p
+�t!
����й�
/¾�K^� �QKQ	��]~|��}s� .
+���se[��߲���4P~��aڗ/^<<<�]�Nu�v�
^�m��i�N��P%���tg8:6��Y
��8Թ��
�Y-�
+endstream
+endobj
+564 0 obj <<
+/Type /Page
+/Contents 565 0 R
+/Resources 563 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 542 0 R
+/Annots [ 562 0 R ]
+>> endobj
+562 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+566 0 obj <<
+/D [564 0 R /XYZ 90 757.935 null]
+>> endobj
+567 0 obj <<
+/D [564 0 R /XYZ 90 607.334 null]
+>> endobj
+14 0 obj <<
+/D [564 0 R /XYZ 90 602.727 null]
+>> endobj
+568 0 obj <<
+/D [564 0 R /XYZ 267.92 429.411 null]
+>> endobj
+18 0 obj <<
+/D [564 0 R /XYZ 90 412.684 null]
+>> endobj
+569 0 obj <<
+/D [564 0 R /XYZ 376.313 358.919 null]
+>> endobj
+570 0 obj <<
+/D [564 0 R /XYZ 90 342.192 null]
+>> endobj
+571 0 obj <<
+/D [564 0 R /XYZ 234.018 230.644 null]
+>> endobj
+572 0 obj <<
+/D [564 0 R /XYZ 90 213.917 null]
+>> endobj
+563 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R /F79 505 0 R /F31 506 0 R /F10 507 0 R /F11 446 0 R /F8 540 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+578 0 obj <<
+/Length 4011      
+/Filter /FlateDecode
+>>
+stream
+x��ɲ����B��U�8	nv|�S��Kb�3.�>P"$ѦH����_��@��xR�*'��X�F�w(�
7���O^?��,
6��'a�y}���&M��j�ܼ�=nU�Ǐa�].ݣʼ���\
Us|܆q�}�
�h�
z�֩�>���ˇO_?���`�`�o��io��7?�ƿ�~�g�+A�7:��[o^=��!pi��F����&
#?Hb&t8���r����)��m$�g�*�ڎ�Ʀ���)�W�8����!�������쇪�
���}u��Ox֗�)�����@=Q�Cd@��D��s
�2�J3/|�&��4�_�gZo"?Q	��2Ԃ-��u��:Pr�s�L�
���-��4�i�V�\��l���XxZ�� d~�5��IT���t��Ǡ�{
+�E�+�%�q��f��q�<gvw�8(X~
�`�"?K�w�A�'���C�S���V�3ː�
+
�Xj�u�>Z!G���֒
�"��f���~+jY�5I��B��ו�DP
��
+����D�o��;���Q�ރ�xA�����`E�A@?��X
+�	�Y�A|'Շ���<š
G��h>.#;A������H�������ϨC�~�.��^ஂ(��{i)h��C
�;
���u	���b�
�	����?�&?R
����^��0�M`��jyb���
�w���(���
�R��p� �rE`������ޭJB?��Kj?��{^W��ו�Y�uc���?㸜S_W�b�p��lKٽZ��ݵ�O1�
*o�^����*�x	}�o��烛ŋ��lٴ�p��0��)jbXY
<�n���z���p3�^LW�ہy�U
��

Xȷ}TZºh�Z
֯<��@C�ˣ
+<3-�5O�y��E=��:R�k<�`yU����Y䍽9�5�����������{nK#���3�BV_�f
7[�|�|�;v����}�WBn
��� ����!�!5'��oϗq���HT!�L�JP
Y|�S;
O��۳�[E�c��"�4a��
{���q��C�Մ�.a
P{g*`�E[4E��;���v[��fh!舢�3�ѧ������8��� c��q�S��
W	�pS�xr s�oaچnZ�3�M7a�VÉWK�
W{Yx�� W�e܊t����OT�ѹ�+	�/���Uu5<aN����� ���G�Ӧ��N Xi1Z8Mu0��t͸�d# /�ȻZ��"���ڍ�r
~Xʘ���iΥ1_}���w�`,�_�/m��ͻ�S
+Q���Oi��O �� 9��'v�v��
�u�
��hd�U_�x��$�,#r�ʹ�3��.��t��9 �dPdӘ���R�ۼ�T�O�!)�ܱ�&Z�-]�S�t���b^qHdZ��<g��w��&����H�	��Ut���oc���AO�'�a��U�zE���C�Oi	뜓��
�%�X%�����CWJ=?,R�oHs��7��HK��M���	�\Z���1�!�I�X;
+��5Ӎ�ހ~���K�I�cW�{
Mw��D���������A'�{^M�� �"�
��H��J'��ٻڊL�Q����K��j��#DG�����(E��>ؼ!�7��
+ҟZ
�3�����)�
,�����}E����R셬�:�
d����ȗ�߱�v�1Q�(���%�+��B��L�2����k]���0�^��KK���r_g����ʞ9H�y�^�.�Z�%�u>�Z������M�VN�1��a'\
F6�� ��j2U�|�����Aho
+��n�g�bgj�#��{����}�r���~���
/#�|XÕ�Q�.L�̼e��O�_1�b{
��Ռg���E��b�
��.+1��
�27��O�lMwI2��J�1|
��fX9X���$=�Vl�sbJ�-���`��߭J��'���b[����f�pa��z���F󥬩F�zJ�8 ���s20���]�&�~�>���rD��z�H@�v���s_�s�T��%���P�>�������t9|_�@�
��jA�B�@���6OVK��
��Z/�H�*�E���\���DϢ<\�V�B�B�+JO˝�=��rrz�`
�(،��$�7��� �-˰`v=>D$1�G�(g]a���9��l�O���q���5�xd]hcXz.f���j��s �d�|�i�d��Z,�XX,��/�3dE�Ů���
+�<��R��Y�|�Mp�z5!o˱n���<ϗ��k-���؁B��u�تj���+v8K����Q
�(��@&�5�G�/���*��iYVR��^SrC�8츊�T�����֔�� g0�a^�L+�+0��G��0��dQ	�
+~�1%#an�^hq�ϻ1pW
O���$�(1%��رJ
� ch�
[��=������:	D]�eS�Q�ת����VĹ3p�p�bv�\�@�L~8 ��魰�Q�u����8��C�,�~8U��C0GY8.�ȯM�[Ŧa��DaAi�ȉvĻ��Ρ#�|��px�ydg�`��r��b7�Ŵt�r�^
+DZ�X1���ا���j��i���\5E��OG(�
dL�4��e�����
�_
�6�R[SJ7l�ah�v\7)�����
���"#b���
��h�a-l��`�\�DG��dS
c�q���
� Z:HtE9�Dr`JÜ�M��@r�"�m•�U�\�N9��؎uo��ij~��$}�V\��W�B�.+g)z�x�v���ߋ�.1��s{ߞw .R
+��S?�e
N�����ۯ���
+bW�� �1�p�8�A<
�{���� å gd���s�T�
��wɗ��E`x
�Ҽ���6ׄ��k��
#����0��s(���IMM�ŁW�B��>�z2~k߰P��&����6n5���_A.����ly������].�E?{�I6�B�m�[`����n7<vtJ�v�>΁�T"�
+B��m5,��|���y�\��ve�`��
��ִ�\
i��7�s\0%��Y�.kѴ�2ue&*Y����>��gh������$���LL��`��L�!VݶB t��F"�DZ�JnZ_�G(�"��l�G�
���H�$彪80B����kb�����;�J�e��_��0ʬ'�!�q��!
R�t�i�f[Vp�j��1J��m��x!�hs`p6v�ջg��&]0�bWxgd\��Ϊ�#Xd�����x���̓��Y~���B��
ڣ�߾�������Τ�W�оs�7��0��q�I�JzI�X�ٶ��=�е�)�
Rչ��:�m&�%�F�'�<��U8|
���0�w���+ZM��o /���Zȉ�Ȏ��G�Z�%��ʦN����4�&�7���
1��.�N9z���A��JăXypI;O
'��S[�{	k��YN�r/J$�g�����/��7��8����7��C
{E)��?��mm�{��L=�~b���~���n�l�-�j��G�%�I/`���4�1Q)E�ˑ�/�Fi���]�)t�< j)�i�&d�u��h ����r�}�eCy-]Kf���1+�
����f�{�e�/
��,ːK3���U�{Bjs�T�0
a���i���t��­��̸������y�k
��GJ/�v�2"'��$�2�n��SF=��>�w��C|�r�gg��H�qϐ��+篣d��FШ�]��߿�:tƸ�ye�^^p�е�$�
٪
��U�5?1�`�x���}�E���6���3�
+|D~oiI�z�v%F醁�a�VR��*��n*�˂~����nՊ�\��U%
+�b��鿌�q��C�(#�c�^2wŹc�%f��1b����5��4�`<o5��hcas�]]
�A�m��t�솨�k������U������kX����vs& �[J��s!ݶ~:����ד�B���t�7
+���hF���\��a0�œEn畱G�s�����
�^?S�����P�a�|����z���?6ե����R���w�(�jz�8XS'q
e�S�ӿe�� A�
+endstream
+endobj
+577 0 obj <<
+/Type /Page
+/Contents 578 0 R
+/Resources 576 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 542 0 R
+/Annots [ 573 0 R 575 0 R ]
+>> endobj
+573 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.728 441.147 314.05 452.051]
+/Subtype /Link
+/A << /S /GoTo /D (main_SK07) >>
+>> endobj
+575 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+579 0 obj <<
+/D [577 0 R /XYZ 90 757.935 null]
+>> endobj
+582 0 obj <<
+/D [577 0 R /XYZ 90 502.672 null]
+>> endobj
+583 0 obj <<
+/D [577 0 R /XYZ 90 496.072 null]
+>> endobj
+576 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F11 446 0 R /F8 540 0 R /F10 507 0 R /F7 541 0 R /F23 368 0 R /F1 580 0 R /F13 581 0 R /F79 505 0 R /F72 404 0 R /F31 506 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+592 0 obj <<
+/Length 3844      
+/Filter /FlateDecode
+>>
+stream
+x��[Y���~�_�7�eq4�KNٮ؎c�K�S���%���H�@�6�>=�pH���O��
}|}LϮgx���ׯ/�~+�L#-�����i<�� N���z�fNP�X�����Zdx�~A���XR��/����M�n�ŒM�\-޾���ϯ/~� 0
�;*�H2>[m/޼ų5��a��jvk����2���^]���+�b�B�ܭ0�l`fL�������غ;�b��vW�J �sO/�U�o
G�ݔ���5۪��uO�n
���&��uY�M��
슪-����d�z[8�j�-�r����-���ʺja���n�� ���^���/t��6��/�E��Ի�ɻ�����]t��ۺ�W�]�ۼ+WV:N,͵����]��X��غŶ̮�<W~uYu~�۲�qWU]-���uӿ��
�:X���	�6�W"A�`���$�|�+�k�oܢVZaS�d+	�؋���^)�eI�o��0�y�
�������ޯ�����e���w~�j
�)!�ۛ��S�={�����zv: [...]
�b�v���l\��fd6o
����m�~������Y
s�
G��'~�XfX8A8��)֎����)/���[>���~N�
ͺ��r�K����fV�@=MBDe�c̣���/�}7��u�+ƴ*��z2#{g7�~��Fہ��7�`�Eq���|�������`��y���;�
�֋_T�a_���ň��h�6i��b�"�����x���$(��������,�<~�{�{�,��XSm���/
e�hI�)Vug���.�.#���#)�'����(�	�%S�Bڝ0$�pDUb	e���G*�Hn�p:�!�e�t��8'�/���8���@
�q���i����ߪUf�u
F
��
�Eu���P�.��M��*5��L�K��	� ��պ6���Z��Ƹ&i��Z��7`�H��8�Т��6��
�
�-��J��׆�qK
K�ʺ�OJ���]ZT�w�n��ͤrP�P���3`�"lT�%������LQ���ol at +��"_�$4&c���ե���i��ˁ���L̯
��UO
+����Tf[=�`�BΟ��~d��Y%�0�Ԡࠂ8��l�$F�Vr��hD�$��(��>a�RTG�+��I(8�3^��&��H�#�9���
l��
+c�
��**�0�F�O�&�]՛��2�{���v8
�)�'̘�*�<OK��'�`
�&�ɓ�M�Z&t��{�[J�.����j	.JS~����TN�R�Z�e��0
)��E�'���f,2�� ��Ή�r)&�
+'��<<�Q��Su��PE0>N�	~���l0J���n�
+�t�d��'���i2��WƦX{����G�朗Y9�!s��S33�ӡGd|~������o� �]�6޺�o��?�j����������+Gt��\���GJ��Tt��B�	g�p@�o�?�Z���e�����Ҥ�ͮ)�6,j=���5��'C�$�����)�!�G��$h���ƔZF�p$�`oU��o\�`n䫕M��m�
7��K��қ��gU�\NRs��Y��^�����C*�J�۔+���s;�˽@gs�I���!m��C�n�s7`��?ub3 �dBim���_�K��@���X��4#�d�ǽ�q�Y��Nzs�x�#�Z�!��a���Q�a%!Kv�"�.KI͍a��
c�HN-8r�n�C�v8�(:d�)�C)~?Hq$�D����$vg\kv�?�
�)�(��������2�P;�I�>�J��
�
1H
O�5�u��9�k����6�E���,�I5 )�8��XJL`1�����%S��쟉UF�� Jt$�p6�Ԙ�>O�@b��q��	�=�!F�, �M[	��
�YB�43
3^y�k�c�h����K� 
ƃʿJ���x��d�Σp=1��"&�i�ҤM��_1=s"?@��(���
�����#���]��������6��1�Hl
+��
���He��t�B_ț�Z#��
����qL�3�%TN�yb*{��m��F�<��5��$��|x��]+ql�G
ƃ��߉�82̦��8L��
���A)�ԙ�^����M�dy�o at s}�r�,Q�_f���2O}e��+�L����
�- y�M^
���7WK[z�G9>pT�9M�}:��.:�.OpEC�#�ıc��ɬf���lŇ�	aP �o/�ڃՃ��
���O��� 5
q
c�`����$jTSp��B
����Z.�cl6h��y3���ﶗ�&�icu�0���t�CHP�XRE���3�M�c�򙞤��u�-��#��I���Բ�NG�}��墏f��1����ŒMY}�j�^!/�.�9`&\�;˓���޹���
|L�ف,�T��E��]�G�vR� f<�\j�[i*��)u�
�=�
ۨ���9m
+��f�8 �EO�$�������~[,���t�
��0�!/(� �9�� u�J[�XM|�İ���'� �2��d��H�d�4�}��Mgͦ�Ҧn��QB��:#����5G����#E�8
�"1�b+�?�V���_}$_�]Q}"�~Z�Rz��
:����x�
��z
����*��	#Cy�:� ��m at T�^�Ő��A���>����$?O'�A*u��3�x���=�� ����ݶ�����=Pz��#�+�t����
 �
+;��L݈K��ܸ���C2�c!xBvF�"�
+�:B�0��&8��

+��O�W8U�$X���S 
�Mb��;��b8��l1K�ֿDƎ�ń	*�%;b
"�����#,Ǘ���PD�`�
S^��&�
��POf�0�SGC=�'�<$�e@%�w����u9�ΘIc{6�d�c�̴�zX����Bϻf_�f
��f4B��ƶ��
��=����6m���U:3�sfh?�ź��-q�.noj�Y*&�c�ȹ���iS��gq.{o��`��rD�$&�֯��������|%�ĈPJ���iV�Iq)��>,��O�E��踋��
�.�E�4
��X
�]5z�G�3�;��\7
�q)��
��w �
iU�?l}��18Qs��VV}p���_{>�Z
+�:�
E�1�%�^��枃
��ظbmJ����M�t�x�
g
;*��{�9� �m�Q�����
�`�!'6�
��|ģ}ģ��`�k��>��m
.�Q��Q��@g��l�@������ṏ���0�u���a� P�!R?`Q$GL}|=��Hӄ\Y�T',JO:mU��ǡ6E�G��Rg�!5F
/�
v�)��c�\���d LÇ#�56�|����3�A���%�&�֑w0C
�2�>E��6)���Ml�
K�)�Z@����������O�8 $׾$�:�
�q�e �L�t;\rvn�:��8e
��R
��1
�cl5VL�!Rsr��Y�gv��<;��H)E��/���o_{����C��9����jy��X�w�
C^�+�Q1�G����
Zk�U��1Akxd�֐��Z��������5�`�{-�ɠ�D�OS0.Q��	����Ri! 3�Ӏ���
 C�;���LwÌI��t!c�a1�F�{�tX��t@�Ad�� @�M
+�CT��h7Bupz(fN?=�HR��������qU0M����L���z���e��P���{[4�- �l�/��}�f �ɯi�������P��_
ߎ�}���W5_�Ґ��",���ݳ�OoooѪE���5���v���&{&&�e��t��4�d����ŃX
+endstream
+endobj
+591 0 obj <<
+/Type /Page
+/Contents 592 0 R
+/Resources 590 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 542 0 R
+/Annots [ 574 0 R 585 0 R 586 0 R 587 0 R 588 0 R 589 0 R ]
+>> endobj
+574 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [299.144 707.957 490.683 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (main_Dropping_Non_Integer_Points) >>
+>> endobj
+585 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.353 608.444 378.495 618.79]
+/Subtype /Link
+/A << /S /GoTo /D (main_BRZH02b) >>
+>> endobj
+586 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.484 608.444 415.576 618.79]
+/Subtype /Link
+/A << /S /GoTo /D (main_Fuk98) >>
+>> endobj
+587 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [418.565 608.444 453.752 618.79]
+/Subtype /Link
+/A << /S /GoTo /D (main_NW88) >>
+>> endobj
+588 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [473.618 608.444 506.753 618.79]
+/Subtype /Link
+/A << /S /GoTo /D (main_Wil93) >>
+>> endobj
+589 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+593 0 obj <<
+/D [591 0 R /XYZ 90 757.935 null]
+>> endobj
+508 0 obj <<
+/D [591 0 R /XYZ 258.486 681.531 null]
+>> endobj
+22 0 obj <<
+/D [591 0 R /XYZ 90 664.804 null]
+>> endobj
+594 0 obj <<
+/D [591 0 R /XYZ 508.248 611.039 null]
+>> endobj
+595 0 obj <<
+/D [591 0 R /XYZ 90 594.87 null]
+>> endobj
+599 0 obj <<
+/D [591 0 R /XYZ 506.258 408.851 null]
+>> endobj
+600 0 obj <<
+/D [591 0 R /XYZ 90 391.79 null]
+>> endobj
+601 0 obj <<
+/D [591 0 R /XYZ 155.86 213.447 null]
+>> endobj
+602 0 obj <<
+/D [591 0 R /XYZ 90 196.72 null]
+>> endobj
+590 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F31 506 0 R /F10 507 0 R /F11 446 0 R /F6 596 0 R /F23 368 0 R /F8 540 0 R /F86 597 0 R /F7 541 0 R /F13 581 0 R /F83 598 0 R /F79 505 0 R /F1 580 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+611 0 obj <<
+/Length 3581      
+/Filter /FlateDecode
+>>
+stream
+x��[_sܶק��RS
� H8�vlO�4M=��L�<P'J��#/$ϲ�}w�x8���郆8�v����fEWߝ��8{�mFW�h����z��*S�H�VW�_h���4y_�s�'e_6C1Tmӟ���I{m�o��\���9�I����;�0���-���Ҍ�D��z����.�~?c@]1���H���f{�˯tu�?�(Iu��3��+�Sx֫���uF}�Z��SB��,���l��4i������œ�o���G �������v��`U���=pntem��
�q<O��n��?f��2�B�5y7��	�`�p��Ese�� )ˤ�
m���2�T�I�q��v�+Et��8"#L�UJSvP!'#Z��ޠ�+���ZМ�B�֌-�̻��u�9�����\�E6b�H���u]���eل�{�'������-�^o���e;��d�r"��w��yt�=�z���7�<\�)��q�7��XJ8tj=I�̽A�|�R�\�2
T�2<��L�O�^ [...]
j���lq�"�j�δ/3A����o�Oe�ޣ/#t��0!���mb����TêQ�I���B�zەCd������b��F>�f�ۅ��7�r���I�z\\
+ ��f�����I����G
U��Sq�Rţ�L���$�~�>ΨDJ>��}
�mlL�R�>�¼���06��e
�i���@�
�V��O޶C��*t�9�P�� �l�)��p���ؾn�Ey
+�d
+��ν���["��{�k��}lu}oߴ��+�)��]���a����U�
+L�f{'�.�6���"-�4�����o�����#��x�?J�y�wu����3`�����Z;t�綸*1��
y�K��IB��PԵ8��ꪼ���*�'�e�4�b;�P�(�b^��
�v$�
�a�:N��	ל�����2��$#,�db&�=����
"�	l�7��k_M\�.���j��1x�
����z;Oa{7u	2�l__��~bT�2��B�pW�
S�����0
���J��?�m��a�*i_���ew�0����V��A�9LjEP�v
�=�/A>�M���U]���9P
˱`�"+���N���;
w���ϔ�tS�D-�ϲ?a`c�̷�mqo���ߒ�m�r|�޻n�s�z��-��Q�3��<W_Ì���]�r"�ż-_��
�qHft��m�T�= c�n�5���]����gQ+z+ʒW�
]�G���Gf[�3��K�{�r}����s����^
[mc�!
�I�ofQG�i�-Ԉ��
���ڲ;U'L�ؑ�`_����}�~���5z��;��x�2 at _���~ZD^˔%?�v� 6�p�!rԻ�$=Y�w����]�[pb��#lr	,���c
иi]�Hћ�w��E`�uY6%�`�]�� �ɺ��ǵ��f��tδ,T
+``�
�0 ]��� ¥���L}�b
+����4�r��e��C��c�����y
h�*���v'�����!�Ԅ̀��I#�2d�NďZ͌굨�D�[�Ϙ�D�p��2&&�SĎ��}����
+1$�y��}��9��}������T1���f
+�2$n�A�y�G`���eFh�a1��<3j�塦D1|
�9��&i��
է��0��g5,�f0&

#�,F�)a�,�^�,R?�Ɓ�Fl�在=`
+����&��
�Z�E?F	א>{�
��L�ºR:%]�m��0o(GQ
�ĴU^"
+Γ�
8y=�o���,y�e����v�\SJ}ۚ5���q;4
E�X�:��+I�S��H"�U[핋���<�
����h�z��dZJ�y�C �G�&�+��z�hca�>"�@8� �Ƭ��~OF%�j��� =l ��甀��{��[|�M̪Ǽ�����e�f���e�s=\��s��v`FaJm�F0�)(�~o�(��4�cBdp�a�I%�B�|i[]�qK��
�A9��0��7[2���Z2e
&��
�a����ZB3�
+6+���������S����
+��p	�4��f9@�﷥��n���}st�áUU�?óQ쇥�o�
�F�9�:Lo��

t#v,+�=�>���R���
\�6�D�	�YCF�Q�2%"�׀���T�m
�I�INTre�nS��
Z$ea H�
Ƒ�Ch`^�i-��p�\|���+�F�d�L��r骦�c�7��m
�9���plk�QL,qL�v��~(��&JMLI�E��8��{'lGo�e�9-�9�bQAݱ���� ��kg=���� ��|u��9�lʷ�pk�1�R��Y
+�(��y��h�
-W��a�fDA�Z{�^F�0>��u�ڐN��t��^��A��B��	�:����
�g�!1t�.��c\��Lb�4!��CZ �,�TZ��w��t���X;���
��N��g�^H��K��c�����a.���q�MT ����=
+�%@�E�y�I7�%LnP�A��c{"'9��R�3#��l��PI̡(/�g�d%u×I��O8N0���X��Wx�N�Y:���Zz��D3T]�%
fN�
u�<Z� 
�:(X���P�	RDb"3�)���s at 5{Ї�7<xr�sfϸ��?�hx.m��/��1y˯#o����D� F�w�u�
/W�\O�m
NN2�=&XD�idB�������'L�a\��i�z��#��Z/�K�����i�o��5ɰ�IP���H'�)�̼i�u�Y�H'�����D'&9v��I*����e��%�����uݟ�P
�[���
r�I�?Eb��<
+�g
+S�g��?
�4%���A�$
S
;��'�~��xH�o����y��̫/n[�lF�_��w��ca�:ǔ(ՙ�a�I�a��9_���'�i�-������L�o��������H�4�S9�*_U��s^.�
$����^�
��Q_������#�Ԝ��t�����١��
6�!5�������a�+/��Z�r��Fa�^��\�)��t
$^��Z��c�!q�V
��^�"�/-�c�50���9�/Ul*�Ho�����
����j�ey�V$����+�E��Q|.qL�9
S���*b�eP+_��.ӹ2e�?M�]�X�X��(��k����-���[
{<֒
�����s��p�)Z�O�Ƚ�CS�^��V6mSmb�`���X�D�l:ӎ�j��y~� �1�\�
nOxb��d͞�|��1�nq����N�21�_/Nq{z�ˇO��)�+,=�XBp�C���mn�o��	�n"��!���^�����+��f�� e�� ^��ʷˣ'�� [...]
+endstream
+endobj
+610 0 obj <<
+/Type /Page
+/Contents 611 0 R
+/Resources 609 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 621 0 R
+/Annots [ 607 0 R 608 0 R ]
+>> endobj
+607 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.096 599.473 457.668 610.377]
+/Subtype /Link
+/A << /S /GoTo /D (main_Topologies_and_Topological_compatibility) >>
+>> endobj
+608 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+612 0 obj <<
+/D [610 0 R /XYZ 90 757.935 null]
+>> endobj
+613 0 obj <<
+/D [610 0 R /XYZ 90 542.686 null]
+>> endobj
+614 0 obj <<
+/D [610 0 R /XYZ 90 538.078 null]
+>> endobj
+615 0 obj <<
+/D [610 0 R /XYZ 282.028 454.426 null]
+>> endobj
+26 0 obj <<
+/D [610 0 R /XYZ 90 437.699 null]
+>> endobj
+616 0 obj <<
+/D [610 0 R /XYZ 325.434 383.935 null]
+>> endobj
+617 0 obj <<
+/D [610 0 R /XYZ 90 367.208 null]
+>> endobj
+619 0 obj <<
+/D [610 0 R /XYZ 481.318 227.381 null]
+>> endobj
+620 0 obj <<
+/D [610 0 R /XYZ 90 210.654 null]
+>> endobj
+609 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F31 506 0 R /F10 507 0 R /F79 505 0 R /F23 368 0 R /F11 446 0 R /F6 596 0 R /F1 580 0 R /F86 597 0 R /F8 540 0 R /F7 541 0 R /F9 618 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+626 0 obj <<
+/Length 4166      
+/Filter /FlateDecode
+>>
+stream
+x��
Ys�D�=�b��N�K�)�`�
��!�A
+����+��������i��I
‹5�zZ�}����^}��/=�N�AFR�z�fe�JI�%���Wk�x�!����9#z]�e�]��۳
x��O����?�^��{��(,��]�M�%bM��o/|���G�{D �"�B!��j{���oxu�\aČ^ݺUW+N\w�_
��Nqr�eK�q��LD��r}Q��.|>��p<�N'�I"`c��]U�E�W�,�
1M�e_
�C���~yF��f�{��m�Ŵ_���f �f�s؄�%#�%�T'kpS���q2��Vn�u���Da�c"�dH�aM/χw�1�u���!���1����,�A����ǔ�~n�Ӿ�ҩ�Z�e��8C�b�-��
�6
0$`6� #ā�;�s�o��:�š#�.��⍽�cZ����Ղe�ϟD��꼪s��C&��m�}VTu�\(���r��	%�G�
+�����B�r�����
��G���
���~5XΑv
"#O(���hK�ԯyމP���
�A {��t��
^Y��IV���˲�)(�HGDa'��|�� �#�槇2
x�h��3��fm8������Y/#�A'�:g�	PΨQ�|�(��a|��h<��� �ze�NS��hr�h~�D��W��+0
��5ݿI҉�I��<��L�c�4��Aڛ�߾�,rz�4�Q�@sDF1�Ă


P�7��U�J�#�	�$
g�WH�A���}��
+��G�X����
�	)s��t� t��C��D�G�[M6���U
\��ܝIa
��m���w	k�'kC�S/RU۵�Q1�����T�
F"�y�^8V�5�B�������`( ��W�.��;�Ϛ���O�����
7��
e�j	��)����^�ڑ�``K�>���	����l1`����xC<ᇳ�9D	����=d���C���{	)��!2
P��y�r򭑈�ӼO�Dc��i��<k��Kry�F��1��E�⁄2��'���V
+�>#� R$�xPA�g�|}�ń�O�T�&6@!�yb��X�
|���"�5&`��.�7`��:k��zk���p^����-�.����7���a"�h�֣�!M�����ؖc� }�>H�C���F�����j��#/
�}��A&d�Q�,�>0�9�Q��!��p/�a�]cR��sY����s	~��/��`�P*�/2*/�o���hT���??
��
FEb��5Rئ��� �R1b�X��Uݵ��O��7�~�V��/|�
H�><��f0� �`��Í+"�X�Ғ�x��s�G*&a�$)�N���|����U��<B[[��6�'x��t;Em�,�!&,��.����l3�z�x��$�9��8��A��3���Ar����DҺZ��cu�W�"H�����ז��1@٧j�HU��(4��儨V1�!����%�6�)�h�r�g���w��y�K�l��̀��R�z-���Hb��)mrj:�\*�U�c����`�
��MS�3�)����, [...]
��M��˩���zb����_/�$9�F09�6�P��d��l�"Z�Xd�c��H�E�;��@/ĸra�+�<�=��5J�]b��
t,���v�:�� �LD~H�ɋEt�����h¢GJáϳj)�NáCg
6�g��`n�B��q�6kϋ+g�z���e��$5�]6��\
X�1Hi��db�y���νh�+E��!s�R�s$;����W�W}
������>����WW�P���~M���8�*i�l��g%�
.��''6�FW\��g��Ȥ�G�t����̅�6�
I���E O�J��
Y�h�-�z>�����8�M��†�l��k���2��_bSg�G�r2��]�i�H��uQ5~�_I�÷]Uo���|��ʱ�bHܨ���m8�V���M~�C,�p
?�̖��t�8��
+�QI�XML��J�,�ݻ��
%�0��t>��*��1?#���[�!�`c����K.{�����h�u*Z�܉<*�e:5�Je�~���V/C�� Cn+C;
+�i��Fmc��~5_"��Y�h&Si�����S��#�n G��ZOv��}�;}s9p�B�!��o�
u�dc\��9!�$
�
��sl�.M�B�y('>�~$tO�#1/G���;#����{��d�Q0'��>A8�2.�`�υ�z�;�����{���$"��G�b>���E
+��@�
�c��f���\��M�T�[��. �/�
w[��@�7v����
��Zx��99hr��X���N��rR at j��J���â7>�v�P����˦�3�����E�o
7y�y(���t�
+"HNi>�$��Aj�I=��MZ�
=ަ��Pvמ��
+!aY[� *̈�u����F�hl�<�fjT�1ԋ\�שc��E�#IN&��	���l��x�$�
'�l_��Q�R`�&~m�����3�Ό)���
��i|:^�����ޕ��0K
�~��I#���KW�i{Ќ�g�᥀g���:aPBޥ�Ռ�ȥJ0uo��0.���rQ{�v�U��[����>��9"X�'�
+c�W��`��\�lCq��
�
C��̸$9;c ��6�Aڡ�r�Ń
������
 �`���ќ��
�83�ކ�O��<?��ev�ު$��m�
�����>TW?�PϤ��h�@���F~
���ꧪ��*�ކ
����ggB�{3ps*AZ��h��а�&��TMZ��e�2
���2a`.�( ˻e�����P?4B�	��68c�R���\�l�ᆟ7�c��
��k�錒���}��uΧS���	>�q<�����O[����alW~��U�/�z��Y��Ž�.V��
�v���'N�E��Q�,H2<e�N�S�>�W>�
Lj��Zdc�hp����s
Нq�,��
���#N΄�:bL���ɶ����m ���5����<�4H`}������A��f<0y�>�
��@<���؛m�n(9�~��!S;�h�R�zyy�
���U���peLɛ�̄�x6#����Х\�233���?7��,,��6x�2Q,�~�;���4�w��Ok��9[f�<��Ĵ|�|��
����w}%� [...]
�G��ʁ5m��p�d��
�8q�7K���=2�+�Y3GW㴍W
��bZM��l�J]|a��e+���Kf+�����K2�����l6����O��׹�ɀ	9�[��i�k��񷇏��Ϥ���2�Iv�/1�_�~܂��)��H��S�<�b6˛�EHv*m��W&���y *���"���<K���
�IT$���Y'PQ�HE2��+�
���א�J��"Ik����F�����$e�YD�|eю����ݹu�Ӧ
6	\�o��p*1X�2
D3X�FxB���/�@�-�^����
F�v,�����'w��PהI��HB�(bT�o�px��,��.c?�W��_Ê
[@�!��� �-�5W!�~��J�;zu�}����l���OE}ӟ�����O��M`�� D䗲
(z�~_���e��UoMA
\v��O���ޢm�n��AU���z�dD�	������0�}��k�&lo����3D6K
+endstream
+endobj
+625 0 obj <<
+/Type /Page
+/Contents 626 0 R
+/Resources 624 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 621 0 R
+/Annots [ 623 0 R ]
+>> endobj
+623 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+627 0 obj <<
+/D [625 0 R /XYZ 90 757.935 null]
+>> endobj
+628 0 obj <<
+/D [625 0 R /XYZ 480.615 615.777 null]
+>> endobj
+629 0 obj <<
+/D [625 0 R /XYZ 90 598.716 null]
+>> endobj
+630 0 obj <<
+/D [625 0 R /XYZ 213.944 388.493 null]
+>> endobj
+631 0 obj <<
+/D [625 0 R /XYZ 90 371.766 null]
+>> endobj
+632 0 obj <<
+/D [625 0 R /XYZ 252.896 125.343 null]
+>> endobj
+624 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F8 540 0 R /F11 446 0 R /F23 368 0 R /F31 506 0 R /F10 507 0 R /F86 597 0 R /F79 505 0 R /F83 598 0 R /F6 596 0 R /F7 541 0 R /F1 580 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+636 0 obj <<
+/Length 3309      
+/Filter /FlateDecode
+>>
+stream
+xڽZ͒���S�N�
+C HڕC2��]�|��@I��)��Ǔ�O7 A�Ҏ]�\$ �F�~�`�zZū�o��ps�U�r�k�W��<^��3%��a��)����q
}o��-�"ә�/����۵Pq�<��}S�&q��-�#����0�zٛ][@�\E�������?
n~��@G��v_��T���p����j�߬b&�l�lg
V���_�>���&�z!Y��p��ߖuy(�kvD�ҡ������Wk�0������4���-ʺ﨣{�zs������L�����}�~a���l��ش�`Q��w��S��X	�>�%O�N�_���Z�24Q�`��ϒq����fy*3��Y�e�5gI�Ьz���\�Jψ��Q�o�c��4�W1�s��8
�9�)�,͔�Y>Ң�[��6G�X֝6��
�� ���*�,J��u�5�JO8˕S���hTzvz`�(�Q	`�L 3֦�@$#@A�rh���c��YU��˭V��y�Y��4z2�i��*S�/k'}P#w��)Y8&毰�N��������#����i���:�\4Sd� ����~؆/0H�L�S�ɝ��Y�`��L
�
+d%�^6�t"?g09��l0�Yi�
+&Y���ʭ��
���k
f-3�b��D_�p$x�~��#CO��tԪ�
)������z�/�7P(콬Pi�t>�'.'�R�%��Q��H8L�KbyE�
����i���d�RN����
r�1
�.�~yI�q*�/,��g�}��hx�,��>_(
�Ăfp�j1ӌ���Lg<��E���	�*��.�i�wj:�/�~ʜ))���L;�؏�K�:aûE�6
���
+
+�߰��jB�HğD���K'����L�;����tJ�c��L9 :�g
̺D9l
+S�k�Hҋz��
+p*�3�0#:�ɟD��"�3)' a�� R�h���g���o�Ӧ2RޚnۖG���@�5���-6�Z��$��R5h��8��1�n��n���+�'j�B1|�
� &�*&GKG���6a$��K|K�5��0�m��4����jQ �A.�,����4m*�I
�
�A�l��?��
�o;�E��Bk߾
{Ǡ0��	�iB�mI�%ؐ�����/VHB�}�f^ �HE2 {
=,�
�>��W1�`�}���8(v,y�M���m��2[ov f
%��6+�$��MU�?A�#T��&yTt�ش�&��?�
�R4���mQќ�t��&�0��iekQ8�C�|CcO%�b5�6���Oe�s]���BN=��o�j�uo��6��I2U=5m��F�"P/%r�p<�d�L����L� �P�m��H�6�N�UPc�Ay$�H��vq���-�ߚ�8n�5�S�+|Z�
�ұa�0�����E�dl^�8
��c
��4����8_mS��
�U�4���v
��9L�Ͳ�P��"�i[���B��8��0���][|A��S�#��1�����6CYа��lS��l���{�vdD����'������E��=�NT;���߻�iJ]��Z�[rA����c
�mi(��3^J��{S���8��m<�,R[�8�:\׭P�d���h}uS�H`��24cc����d�ޞh�8Z/��1_y���ƦS�ؙ�R��#v�#(��w<����T�Si\�$�����h���MY���+�IGrS��{�
 �M�
�O����;(�,�F�}� �\>�Z��麢-���VMgv�
�:=5�Sݴ [...]
+��iՖ� 
�<�F��;�
=YH&j
+*^�Ɂ��̶���0U�7�f;7�޺�)ׁ���m���HAy0��ق)84�o.��és���xqvGC�`
+(�c`�2�\Hp�\�?�~�/���+�d0U#���>
�ϥ�=��z���ꄘ����
�\��K^mg-Se �u����I��a 1��4fY���f3&n
����s5NS&ǻ�@�_�9���v�=K�����
h�	�1@���UEpYj:淋��Н[
lύ�3O��E��3XEa 
B~�ܙEː_]q�����Pd;0@��'q~,;�򧋲�9�4�]�g#���G���Ņ2���N�
.l�� 6�Y-�
+-��t>-We�a��Ʒ�gbq �o�~[d����[b�e��g��U".���̩�ȯ
��c¼¯
$��
;����s�,���0��[PL����u�1)�
�uH':!�Z����)��
*C�_����T@ÁǶ9P����J��y�O�1XQ C)—�bh,r۴Hн�Gjgϗ*s&
���C�����_{@���1�
�=
��~Wb���3&�{u��LD�a����5��/�+�L:�>w���
��+`
�x�Wɵ�
�L�ς0
E�3T��S�[D�"^@H����%�d�ׯ��~e6%��T�������R�d�%,
��C�]:����'�-g�R�PO�{
��ҹ�I��9o��
�Sȅ���Bͯ����'Zp�|���U�M,���R�L��j�y�H`SO9��8�J������g��<�,DϳO3�����
�롞օ�
6	j�u�r ��5���w#�a	�3��ѿ��+�F�=8��~��ޅ���3�_�Z��mQ�|������0�A��
�c��\�V��/��R�f�_
��2���������3�v�T�ǖ����X�M�6;3ǯ<��
/�|*hb
+a��������
+endstream
+endobj
+635 0 obj <<
+/Type /Page
+/Contents 636 0 R
+/Resources 634 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 621 0 R
+/Annots [ 633 0 R ]
+>> endobj
+633 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+637 0 obj <<
+/D [635 0 R /XYZ 90 757.935 null]
+>> endobj
+638 0 obj <<
+/D [635 0 R /XYZ 90 733.028 null]
+>> endobj
+639 0 obj <<
+/D [635 0 R /XYZ 175.241 645.226 null]
+>> endobj
+640 0 obj <<
+/D [635 0 R /XYZ 90 629.301 null]
+>> endobj
+622 0 obj <<
+/D [635 0 R /XYZ 198.751 487.372 null]
+>> endobj
+641 0 obj <<
+/D [635 0 R /XYZ 90 470.645 null]
+>> endobj
+642 0 obj <<
+/D [635 0 R /XYZ 316.33 173.033 null]
+>> endobj
+643 0 obj <<
+/D [635 0 R /XYZ 90 156.306 null]
+>> endobj
+634 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F23 368 0 R /F31 506 0 R /F10 507 0 R /F79 505 0 R /F8 540 0 R /F11 446 0 R /F13 581 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+647 0 obj <<
+/Length 3279      
+/Filter /FlateDecode
+>>
+stream
+x��Z[�۶~�_��JS
�A �v&I/�u�ęt��%Q+v%R&�����7 ��Ʊ;���C��\�s <����_o�~ss��
�R��ٛ�L�Y.�(������	�%���y,��T5u�X�
ϛ��
�Y</?�g����r���sB?�����on���
ψ�.�Qβ��p��g<���og1%g��0���~���w78d=#�)CXd���}�if�W'�o��9�����J��;�r�B��y��ۧ@c/�~)�b
B8�EU��pE��]�y��ۻ�ֲjZ?{m��zA�����W��h
?^����ܝ��`�KB��ܒ�U�G )[��b���͂f󇪾����
w�b]��C��U ,�%��f�Mu(��_���8YU���h?�����מA�_�z� �J�l	ʠ\Z�w�f1��eVu��d^�nIS���M�u�����1~�3�iWhk�E?)G�늃�ҲM�ḛօD9�����
�a�+F0�A�B ����R�P�
�<��% $
1�|��#NsO�!��D��*1x&'� -��緰8)竄ij���<�L�Isd�9t�
���騝v��e�˞�O�B�M����[�^
d����l�P�b��zm�S��Q��u//�`�
�k(�) n{��
�V9�V&De`��KtH,7#��e@Q�Qnb������7�iWXY@D��d}�	��{
+S��)�R���:�9�����t����)�@�$Y`�<�&h��K\�2ddAh��H,寈dT�!�%
M0ĕ�di�Kv���G�ȅ�<�3���S��X3�>�l	�#[�{oK���Q>D�-e���-��.�*r�
���RI����
T��ٗ�y>�
�Sy������Vn�L[vG�!XN�e ���
�S��{}�~�X߹SD�Z3den_i�@
�����W��;8ֳ���R�1:�y
0r�
G��\ ��������?8��i;7�VC�;̰��`Ða�j����9�ҏ�]�8��,n
�}t�6�T\n,!��:����X$��[�T�r�2\ܚ��2�)
�<^���\��@�]Q�v�C�����}�6�a����ƍu
��=����
+O-ik�g�Z��^���J�}X���
�6���
��Up_m�aLkg/�My,��ٱ�d1��@�lL�22�}��3����Si�Rs�
+kxpl�cL��j�m�(IF�&R�E�K9�I�$B
7>
9<����/�)tE�qҋr֔��$�T����Yh�9��d�g���R�!P#/��K��P���nDZŖ�@�UoA��,
�H���OJ���Qs��u@��!I�s��?_��a �C�B��\�%H�e�i�u�'ѲV �
cړ|؄�f됂��#�P�?�V�t5D@��]J���r������ǹD��h�"]�DiTG�
+����BK)
�&�!���/�	]���|�ڙ�|�,

ZX�p$W`J�$d�)�r:.Ac�hocF���R�GH
YzqE^ yG[sn���N �k�
��o�Y�]b
R �����F���a*)�
x�G-�K��>�2�%b�
/�qK
(��d�xvU�fmrhʘ�B�?ґ��n�7
[
�����i}>�J����[ݒ
R���C�pu �U���P;�,���>���UA�3*�҇
��ŏ����W��)��
���H�4�e�	�{̔��B��OS�/�d;�y�z�W�� ���N3U�y�c�^,3�שlU�| L�P�M�:%{�l���"8�@R�Ⰻ�Tq��`���tËJq��E¦٫'���3 �9�rc����qj2��$h��Z0�� X�H�rԁ
���l�';��F�5|60�V��_��7,�P}�ׄ�����H
y�7z����!�^����H�~ȯ�f� ��؛Z�Jt�ddޖ�������n��*�E��u�ߘ �M�J'[���;5��g?=Hc?�O��~�/ 
+0N��F�T� L6�7ɰ
TU#L���#>4����7ھ�l?��!�͊O��r��Tw�}��e���ZL�m�k�8#���E�`��=ƭ�h���[M�˨��?�`{��Y������iל�v���_�������{��������ؽ�Ԏ�v�R�����
�V��
n�{�O���q���G
�'j�ǁ��{�dx���Rm�1�������b@�z�&����
uYYr#�d�Ѽ�L1�*�3�y�}���-
+������T���>ٖ�䪻P�/z
T-��z2�֖?�F��E4�r�#0f����v0"�Qmh6�
�&Vj�WN����sg�;ܹ�(�U��m,�t y^�ȑ�\Rg �.oF�6�i�,��$#���F��]��ၺ�9�i
�
u-��}Y��Mg�C�u������^
c�A��{���Uf������t���

��T�����Q�/����n.PEG&�`I����*/e/�	�W��t
<�P�f�a��
�w���);���$�I�F�
3�[��L^Am����wl�<��V0
EQ�X����#P�S�\s[g�j��ڮx��*
+&��K9������@�?U�U=�
�����AwVS��x�Y���Xc��%�սq�p�+�����H}�����i���Iv%�8T�S�ٮ���G��~$�(��?��w��M�����eh��<G�Cy9馆#�����ͺrg*��ؖ
 U���G�_LN-�Ǿ�l�c�#=�Z�y������2ii�	��P���L�~��2�w���κZ
�;�\��˓�
�*�m�ng���[6���X�`+;��ذ���{a�1�{U��
�[{��rn�ݼp�mO�~��
�d�9:j�<��F�

�J������'���.���xlZ�9L�:5
�ǒ 0�j
��'
�-d'Cض�}(|�S�F��!��T
�nj���x�'�![�M�f��+\����)5���Vw���m_���Q�o崮��ߟ�֨\9�G��ʺ^�eo
����4=m�ZXp�`�ոX
O�zI��j�m��`w��0jg�~�p��t焯�֗}
+���
`ϾN|pܯ�J��=z!t���<���
�:���h�>r�^!�mD6�����g!�"򹇟���5�&��Qw��I�@w/��W�͏]��n�es'��ه
m0
&�r�Cll���i��g��o�*��.���r�C���������Zw�\W�U�[���i�
�B8��=����PU��;�+�p
+endstream
+endobj
+646 0 obj <<
+/Type /Page
+/Contents 647 0 R
+/Resources 645 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 621 0 R
+/Annots [ 644 0 R ]
+>> endobj
+644 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+648 0 obj <<
+/D [646 0 R /XYZ 90 757.935 null]
+>> endobj
+649 0 obj <<
+/D [646 0 R /XYZ 155.574 548.583 null]
+>> endobj
+650 0 obj <<
+/D [646 0 R /XYZ 90 532.384 null]
+>> endobj
+651 0 obj <<
+/D [646 0 R /XYZ 90 259.391 null]
+>> endobj
+652 0 obj <<
+/D [646 0 R /XYZ 90 252.378 null]
+>> endobj
+653 0 obj <<
+/D [646 0 R /XYZ 317.494 147.45 null]
+>> endobj
+30 0 obj <<
+/D [646 0 R /XYZ 90 131.251 null]
+>> endobj
+654 0 obj <<
+/D [646 0 R /XYZ 474.355 89.441 null]
+>> endobj
+645 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F23 368 0 R /F86 597 0 R /F11 446 0 R /F8 540 0 R /F31 506 0 R /F10 507 0 R /F7 541 0 R /F1 580 0 R /F83 598 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+658 0 obj <<
+/Length 3632      
+/Filter /FlateDecode
+>>
+stream
+x��[�w۶�_���g�OLN�l��mY�z}izrh���I�KRu���^ $
+�d����! ��w/`:����_��tq��+Mg9�3��.�g9�����b9�~�Hv�`�����ʺhWն9_pE��ֵo�A������O���9���rY���9�?\|s������,Og�.�4�Bͮ6g��@gK��fF����ގ��$Юgߞ�?��[��L�['�o��m[�My��w[,����v}ۭ�H�˯T�Jg
.���[�s��U�?a��=���b廫k׾}���Ye�j���D�ֱ�sC�,#�G��g
F$
s��A��H"�,�:���zz%-��hA��D��
V2�����&&j�`�"������m�w����I��ݪ+T	z���Kئ�YbK������28<$U3�RF�y�tb���slY~��o˥��f`�}h��=�BK���BPJ2�`#��J=�3�l
w��		&��Ԕ
�!;�z�)�+$Yv$K>�\����Mٴ�ݙ�
�պ�,�Zu0l�{/��6%�\������Hi��'i�6��k�k�QΛ�f�.���y�: [...]
W�b�D�ŦŨz�Ԁ�o���/�z��X_qxԧ)�:lϚP��
��NE'��7�H�	��11Θ���3�\{S��Ȕ����F��9`̜_�g+�B2CH + �cQ@?N��� � ^8wOc/��~

���X��Xg�|���2�a@��0��o��&�� ����&M,g2$v�l�n�pw
���f̫I��o�6%Q���lWW袄Rs�ӦA�3�i��ه�,��S�>|�,����

�0~-.+�����O]ԥ_�[�r�-ꇄ�at�t7%��}�pN�#D�O�Ɓ
9�8�]��%��w�?V��@��y�M��0�h;U\-�
1�"�+�A�=i���ACƱ4Z��^v\%��q+�
��9�yPD�v,�SS�?����y��*��6�pް��6�Εy$��Mů��<^����,�5����_2��A)N�K��P
+d��@<��5* �Ї�1
��)D%���I�
+��_9eJb
n>;��V�\�u-èHu�x�X��X��
0
+Ƥ޸��ßOq��
%�k��v��OW��>\�
���B!Yuz�B�;P�2�����>v>�K�Gڇs9�s�����B�Y��i	l�]�����jw�B~9��XU&	���,���ԔC�h�h��2Z?
�2��Y
���
+�A��Ƙ��4�4�� �
�{�H��7���=\���	�)0|�c䒲*Ac��w��Z/��"�O1	�2K�9�#�\�������.���"Xdb~[�����ݮ��ƗÞ�#eԓ��u)g���<�}3��/ƨjuY#��/��͗���<C?8�x�˻��!~?�.�ݺMA걌
����Uіۢ�=Y\E>�Z�;�@Zֆ�
3%]�M$^�n�Ͼ���H
���n]�1Wm�Mؾ�ȅb��|����j�v�~�滦�ޭ���kA�ղ�}�7���&B�{-�.���,!�����*f!v[�V5���
�l��k{5����wc5ܕv 
8�GrE`� �t�HU3 M���vฐM�H�{�Y����4
���_2A�d���� �	�W�ޤ��R��@
+������ϯ�}v@�j�G_����7��ZDb-��L��$����&C�19
c}Vv����mGsѦ4
���8���t�H�g �3iܘe�є	�'D�E0�
OF�"O0#Uy�
�UA�U�~J<-�b϶O�[���q�J'�P�e����&s��׮�SBF
�
+!R�f␬,��἗�i9�����T�5�_�iP.S&
� F��s�L0���,žH�
?�"a�,p(u�0�
�`�rm��$�e�\\k	):��삧�yt����1/����17G�M>���_���qU�Ӫ��a]SO�5Z�%8�
��ng��;��S����Ic�o�?
gؿa��O�hN8�C\�`hqr�^%
;TC~gl���
;�KH�nK�2B�0�f��/XB۔��0<x�m��·��z]�D�y�p<Vn��/7�6a��4T�J�Lǹ���I��N\��ԫ��5w���z��l@>�m 6ȶ��u� �����`%�t�
�D�������Ų�|��n���.k��r�(�ڗ�
�u�B��J�u�9YTcC	'�s�l ��
��L�*�
$��LV�L���Oaߖ�]	�K���Ո��@Wi/j��֊�h�{�'=d��rW����=��r�� ~O���ږ*��[��k�e����$
T7�6Q�ř��T�S�
��\��i-9SV�� ����P��K�����%�e���"�^�b���Ʊzl�@so��S�f�
z�}�`Ĩ0�TT
"��_9
Ki� 
jD
{�
+�ڳv�tUتZc����[K�m�katT�[��m�mDn=�w����U5���J���%����m_�_m�xNI��MPovV�Xoy��<T'��PR?�m}
��N��
>�3�^���kR������nc�J�	2
|
cf�
����a�A��7`����H

+�u܇:1�tN�#�3��j��E���#]�nb� ���vW[U˄W�����ZC��}��Z�b
+��`���Za���7#��֕����8F"�b$�)��$f��� ���W�� 	���z��^��X��벹��>:�U�j�2f�8ö}�
û�Kx�m{��%"W��
��/`4m��*_�WWk�7�ڢ����q]W�TU�8��C�j�(Oz_�����d=ʒ3p�ˎ
-.�A=�*�Q��z���zƾH���'��c��xΟ!$N2
i���;�|����hl����t"
3�
+Ѹ�-��Sr=�z�	���SN 1#�J��iɝ8)���
P�h)�/oM88gw���*����F	�(2y���HdQ%B
�@ԍ�,��
+��V�L�13Rx���`tpqN���B]4-
%��!6;
�h;\9�� ���D��?x��
�>�#pp����D
�d~I�Sb1‡�EF�Zն�
]5�K��Ux�y�tM$^���(?V�Y6��̀)]L�]
�(gmG��Id����ͽ��0� t<�
����� ���&����NB �6h�03
��
�`5�����
w��X��_4v/��ܴX؊��@�o��L���,���Ŧ
��ê�5�4
S���
]��"���.w�uV���5C�K��ؖ?�u���ns\�`,p�g�e	�� ��7eћ��	i

�W�g6e�:���$`3�P)=`3���ixM�O/�Djy
+\��
=�t,	j�\�o'�/y��'��
�_��"�'���tb*�N���K��t�����
�Cmf�)������hA�cq��t�
+KW�:^'�7�Y�����ᅲ�4e��s�� ��b��n��AN����[��DG�g����,H
Dl8��ӷm{������{rՐ�vuW�U���n�2bڈff��7��0����?b��k/5�1��mO�`
+endstream
+endobj
+657 0 obj <<
+/Type /Page
+/Contents 658 0 R
+/Resources 656 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 621 0 R
+/Annots [ 655 0 R ]
+>> endobj
+655 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+659 0 obj <<
+/D [657 0 R /XYZ 90 757.935 null]
+>> endobj
+660 0 obj <<
+/D [657 0 R /XYZ 90 733.028 null]
+>> endobj
+661 0 obj <<
+/D [657 0 R /XYZ 285.407 633.271 null]
+>> endobj
+662 0 obj <<
+/D [657 0 R /XYZ 90 616.544 null]
+>> endobj
+663 0 obj <<
+/D [657 0 R /XYZ 409.479 523.238 null]
+>> endobj
+664 0 obj <<
+/D [657 0 R /XYZ 90 506.51 null]
+>> endobj
+665 0 obj <<
+/D [657 0 R /XYZ 392.938 381.815 null]
+>> endobj
+666 0 obj <<
+/D [657 0 R /XYZ 90 365.088 null]
+>> endobj
+667 0 obj <<
+/D [657 0 R /XYZ 90 106.71 null]
+>> endobj
+656 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F23 368 0 R /F7 541 0 R /F11 446 0 R /F31 506 0 R /F10 507 0 R /F79 505 0 R /F8 540 0 R /F1 580 0 R /F13 581 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+672 0 obj <<
+/Length 3661      
+/Filter /FlateDecode
+>>
+stream
+x��[[�۶~�_��jO"��
�I�ӴN
�����+�W���HZ��_���$ �.�8>�)��|���7:����/�
<1t��\O^\N
�͈�l�b>y9eD���t���4��j�=�qE��e�~7�Nߟ3:m?�g��94��x��7Mxd���W/�?�ˋ���
O',
�
1BM.n�^���9<�~B�pvrZ�L$p���|��=(:�jՋNT�y{���_,�D�]ܴ��0���9���M���j��?�_0���j��n.Z?�O��F���DH�;�L��7���a��
H�@�y���ww^�U|�
+*^mһK?��	ҫ$��
R��y6��r�'��4������iI`��@���UD
	xv>S��<�,k	JV|h0:��a}M���#���j�h
��F_�F���(����8�dӂBҲ�6�r
?o��\��u�[Żhx�e{���.���7U��"�t3�	�a,�	�SvT�P�
�
+F	U6�ŝ�o�Q�]7�
"<hM1յ��r�t*��F���H\Aap�gc��I��^��y�>"�x�l�]�Y]z�;h-�͢y}�n���Dr4�(�~��\X�Բ��{������f֏�U�^����(�M�^_Ǜ^��[^�w�p��4��X�B)o��/a��?��N=ƒb���b�����"�^��'^�nB��Y^�^]�M���Λ<b�\A�a��
+��/�[�*�5���)JD���ɦF��zJ )�JS��-1��X���Xۮ�XFc;[���A;�5ST �m�U�a?w$!��͐$>;��{;�06^�8
��)��U�	����d�9�X��X�J�q�.���|,�!
�:
+3
�LJ��Ց��`Ds�k7]���c�w}��]-:�х���n����v�<��<�r@�y ��>�\
[�c�(�!v�
7.����# (�`
�r0΋
9"���7Ȣ��}��մi��׻^�YJ�ˀij�
�
��a��2���AzG���xl���r����������
Ř<�u��?���\(�׮fY�����
+�
�)ػ���L�
�.�m�	Q0s��%5���������U�F
�
�����:�\��v��e�$I5��Ϗ�uoT��l�"
+
��W��j�Pׯ��v� B�:�
�1D��FE)��=��g���W��	�C��r���:x�i�.co�|ۤ��r��H�������
�ʹ
�IT���
+
+�hE�hE+b���
+��asu"X����!TQr�zĶ
�
�^���ס�H�
�|��|�|�b>B��i"x�r[�vm��9�Nv)]�.�`��`���
�d�\��E ��_�X%�Aͪ���w��
���Xo>w�'�zQ���
b��@��HG�<m��
]�8/�A�OĈ8q��S4ĥf}R��h�WkƱ��ޏ�u�I0p2�F�V�X�%���h~��!3>J$W`!M��&}�p�V��s06��e�����f
W�WH���j�M��f��~,�oA�,��Ǘ�ˋݞ
�
�CF��
+>�;
���M
ba�0Q�l[al~��*@�����t�G�!�sQ�z��hD�RWUb�3I�
g�����2
H�On?``������^\����h�
aaj|<(+�,S�ŝ��)p�,��Y.vl����r�
��
+��Y	�1V!I��X
>��06@,;�<'���
��q
�����	6Ni&-�W����V
��PvLyM���w^����
��/Ȅ%ܳ�/V����)k�yǾ�O'�5��_/Qx��9�43M?��6�2+`F���Q14LZ��B^d�ż�o$c�.�1}0�ۢ�׾��e���v�[���(O�D6��h���`���U�&����3٥���f�������˸
�&X��q��1Y��
=<�w�Y͆j=�a{��GNN��P~��L��=J��o��-�m%b,U�LN�����q�����/%�V�"������I�c]MyQ$Ut�� ���MW�"I :d��VNq �ڻ��4�
_@
6�m
��Re����d�i�Y�G��Ǵ bC��
+�ף꬙"b&HE&`��TY?�ҡ|�3��Z)��
�M���S�6O}d�n4OD2*�2��;�'��
�\#�0+Q�
&�x
~La�f����T�z~gw�+n��jR���cS>��
+�À�
髀�Ě>���f�
�߲�}\/k�ͪ�i�,��3�)k��
��8��3�;*"�/߬  B�}�D!K,��y¸F
 �,o��Bp��V	v&��V��V��ú� ۏ˚��]Q����9[_���H
n�AR��z�l�<j^�IB����#v�tۭ�g5��f>�bQ �s� U���u8=1��~Ԝ"�*��	��qdE7
U��@
 ��j��F̧ S����-`�
�* {v���A<:�U��RVO�A�^}�����Gj�/����2�K�A������ 
��a��S�b�뎎�
+���i.>��(t\
�EgGI������
+��+:�MB���8�
�/��
IJ1�E >4��V�7h.V�E�0�����^�
D
A䰡1�6�Cx��B3��Vys�E#]U�?���3`����s�:c�j5j!?*_?�|�����I��
�����]�
؁
����{��z�'_uϠ�wB 
�
j��
���B�[L��
��a�?Ė��t�׼İV�k�@�4��t���d(����%O�����)�L!��Y&�_�
�L�}�����o��_�i���g&
Ɔ��rA�\���G�2ϩ��rx+�z�ҵ��a�e��v�ƿ�9 
��
p��Ƚ�����q���0 at 2@c=@�/�H
�Iy�ܖ�H3,�
/�� ������P
bS�۾!fJ
+��(
+���%9(3�6��U�

�$f(1~�9�;͔�q�a��{��Z����C���\�wh��MM�G��{�S�O�t��J��Jw�U{?|���N֩O�>�X���;��1Ph	G��Y�:�<>�<�{h#'�	5����������ˣ�=��j�������By��v[3��0g�c�͛������&/����}�m�k��|�ƯK�C�KA�A�P����M��_'���b/�p�b���=�r*?w!�A�B�����4N;xk:@����^�u׉�Q�τ�5��5�r�-`6ҿ��*PE�t��T��*a{�p>������!s(m@iq���p�R����<�HG��w00����8L)00l3l�~���š��a��m��C�o���uqY
dh�Cԇ�[���c�C5ˮ�q��
�C?�v�ߟVx��ʧ`V_�
f����e��c �
b��x$�w�)�%7���c�&�[�\`
aT��
�Qե������9�_����S	3:�U� [...]
+x]*��D����B:�W6~� {���$`J�����eE��b<
M1g^ ���X0=��ʼn_dž�baч�
�#�mX�Ot��$�&}%���Zw��~/~�c�n�t��4���f�ýߊKG1������ܶi�q^�&����ɖ�rB�,t�ۭ>xpwwG.��v�Xo�b�`��~P(��3���0W�&h��
�@
z$Ij��z�
+endstream
+endobj
+671 0 obj <<
+/Type /Page
+/Contents 672 0 R
+/Resources 670 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 621 0 R
+/Annots [ 668 0 R 669 0 R ]
+>> endobj
+668 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [235.653 225.513 290.207 236.417]
+/Subtype /Link
+/A << /S /GoTo /D (main_GDDetal04) >>
+>> endobj
+669 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+673 0 obj <<
+/D [671 0 R /XYZ 90 757.935 null]
+>> endobj
+674 0 obj <<
+/D [671 0 R /XYZ 90 733.028 null]
+>> endobj
+675 0 obj <<
+/D [671 0 R /XYZ 90 529.968 null]
+>> endobj
+676 0 obj <<
+/D [671 0 R /XYZ 90 515.398 null]
+>> endobj
+679 0 obj <<
+/D [671 0 R /XYZ 90 378.894 null]
+>> endobj
+680 0 obj <<
+/D [671 0 R /XYZ 90 378.894 null]
+>> endobj
+681 0 obj <<
+/D [671 0 R /XYZ 90 364.323 null]
+>> endobj
+682 0 obj <<
+/D [671 0 R /XYZ 90 226.51 null]
+>> endobj
+683 0 obj <<
+/D [671 0 R /XYZ 90 226.51 null]
+>> endobj
+684 0 obj <<
+/D [671 0 R /XYZ 90 211.939 null]
+>> endobj
+670 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F23 368 0 R /F31 506 0 R /F10 507 0 R /F11 446 0 R /F72 404 0 R /F7 541 0 R /F1 580 0 R /F8 540 0 R /F28 677 0 R /F12 678 0 R /F6 596 0 R /F13 581 0 R /F86 597 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+690 0 obj <<
+/Length 3783      
+/Filter /FlateDecode
+>>
+stream
+x��\�s������3�Pjj����
g�M�L�6ub���N ���BR���w��X�,;�L���qy�����
"��	�|}�����_i2ɳ\159���d��$�����͔f�tF	!��\��bW����I2]���
xdz{Jɴ|��^�2 X��*��
1���oO�qv��	��Ʉ���4������Od���o'$㹙�9��D0�����OH�u�z[g<#J���]���.��+�}G'M��̨�$���{2J&*�57��d�+��D
&\y*
Q�(�]gT0O�(/<���.��LfJhO�",Ӱ�2=�:#�����H&K�)#ag�
r�<����0O�iB H���� �g��Ou ���r&�Y~IA&R�%I����$3&�P�qƚ�����+`\�ͽ��Q�=��I
��`��9�|	B�
���˰��3�
�?rr�<f�3Ox�0�Ҍ���Dᩫ@����%c����,��P� �&2�
�.CR�;b�#��cJ1:�
+*lM�M�����`�
+Pzڬ�v�{�1���_x�l"����R�2�*�?t�������l>�k�(<5$�o��!)#z'�	Mt45\�t�
��
+c\
3n��ʈɻ�J����,���L���[DNX
�[��ۡ��f�,
X�	�̸;��	�S
qQ/�xлXo�]r�	���bxV�坙N�:Y>��'�R�~u%{dB@%Ə�p��
\A�踒�NI��HVy�0����������(�
~z�V�!6�� �
Cl�'b�a�O�G�6��""u�>�6J�3(�R7z6�#�n�Eu�'�������z&#�L=G��b�#��>��(��X.ߟ*9=�(k���b��1�f�!�Q�����z�� ;�
ܵ	`"S��"���P(��)�& B
�

�[�
�C� D��{��/(9i	.0�]������bн.Ʒ���a�/�	ܾ=}ɧ�{)���$�P+ŗcB��&S�`��10 at T\�dw��
�{�����jyF#��׻2d�vW���E֠ڽ���
�3�.�o[�P�
�͡��m
[���N3j��8
}vU5��&���{U���
Cכ��z[.��*��'>e��
���>��q߿���/�]�$�@�st�h��$�7���&Ř�!��ͪ�l�	�5d7��L�*��a��
���dzS-����^�?�C�
9�!� <p�S*�k�3k�+��	`��`T�}�pߒD�a^}
+y��zvH�
+p�TDey�FT�o��>
��$�Y��lzWz�y�����1K�H�!{>�x,1ϐg�����9Z�2/���wO+Ԁ�2Κ�&y�8
Ѳ��f�/]�
�\
A[�}S/J�� ��1�'S�BZ��4
nЛ.x��d�b��(ny
��CA��-�
~n%SZ�l��h�C �P��|�b��)�b(�:��������.��C�����dx��:�;,��03�����
��bʹ8*o��@�k
<e�x���5H�!��mz*��Pj��$Rs��x�s$�#3�*���a�T����'�T$��dޓ7�:��&��
��r@
����
R��ZU�b�D]w�h��:6��6�Cla/��j�b*��4J��!��FT���&C�LF�!f�D���\b���'D�ur��PO��כS���w��͜�Q�PC���`1��
+�?��*4� ����_
�遻�b�b��-��԰�	�ڢ���~mQ���K�9_���&گ,�j{��M�����
�����~0+�f���8�����9�����`(�H�3���I�q$�cH.� H��Cr:�� �ȿ�@7e�j��Z��S�+��GS��ɂ��Y 
֑���&
�-���ح��
�"w�Q�����7N�*�m��	P�-7�U}��wIf��VH1
��:��D�*?�$Y��� ��������}
 N��?�
�Q�a��&�$�
�ؐ�B.bN��$�
�슳Z�^�{H�]�ͬ����4n��K��zWmw�Kk��[��VK���Є���d��Zk
����6������g�¶G���a�!�:֔���'�k�!u
+o.=��y!Z���
A1z���#�8�Y{wZ[�
+�1/�
+NΚh�D
"#�Qηɍij���f�i�ż�]����!�4��C�Ѷ�0���{�R����2
s��K�B�R7�UD� �O���Sڢ
z٫{�6�^���㒊xϣ�)�.N�Q�����-���W��d�u����l���u���

�m�&�E�v=ī�GT
g�iS���M/�m+�������>>���;����¹O��ezϹ�G���n�%p:���;!����
 _Z}4
:�.�z�>{�A˨���	,�h&��>
~q�=X���B�O�N>�w$ի��i�j�[kk����嵃f��zk�c4�����:s�-��,
�^B��u&
>
�x�*�~l^lK8��ԇ���@TF�-ĩqG�h5�1�R�Q�Gy�%ȺQG�e���
t
��-q�c/}1�ɜ�ї���M=�y)`�Ǒ�_e�oi]/��!��i�2;�e�ͯ�ݦz�V&
w�?��2o�p/�l&
!�r�W͵�Ց�6{Hp��z ;�cj�qkZ�wM�])��wv�
�
�R��e
Ҁ�g��>ɘ=8 
K��U<�u��,
���c�ã�9�q�~C8t`�i�b<
�ro�#�m�5��c��� 1N*������4`�}����kt��4j~I�[�l%���V��e��4��8tD���.��w_�=��^����`x���zv�W?���vq}�����~�L����1\0x�)���L�{?��v|Qͼo#��i�ե�9�7�i�@[&�\'�g�پQ��@�-V��v&��X	�W��b��c>k��eY$U��/��
+���D8*��AD䚥`
�}�C7W���=���m�(�'$�Y��
w'zL�w��~U�ue���^��m���'�	��c�w�T�����r��� W�-���f4��@BZ{��
�F.�L�������v�L���ƀ�����nڶP ^>v�|�^Y�-�����j�(��
kxcS���U����T���D��6[�-�"нz��Yxe���ܬ�|�j��A�v�ԡ��JO�ڔ�U�m� q>�]���9��f��\8���u=���(j�
n�]��{
���M�Yl��q*'�[��8\��RfZ�Oܘ��T���|wu(a�M4
��AVeQ�Z����Zo�Am��^�
���
�3��r�}9���,��|� j
�n꫊�8�p
]�
�ք��l��z_�bӹ�7BT.�&hf˶s%��
�;�Ơ�
��_p�
��o@����\|�;���Es��.5}Ri' B.����
��K��7#��H�������p�UE�
#�,+k�a�wa�
TgH`�5$a�`Cg����
A]g~�+0��& �����u��I�yOUl瀵
��qM�
�X�۽��m�I��2,Af�lHl>^���~��7��*5\4�;�_�8�rz��~o��C��&��t;�TR<�JFGگ���?C��ͫ�F�-�ܣ���=�h�Ѕ
�}�#V�g�����&\��X-M��`\��G�.�C�H2���ձ�W��q��#�(Q�Lj�[�)�mJ�7Լ��[lVU_%$i���|Sl�
���J9
��i\)����|$�Q�__�L_�e8�?��I��O�W�X
���j��~�����]6�f7uu�ɪ�S"�&L띙�ꮀ�f�W����+>����wFK�
+endstream
+endobj
+689 0 obj <<
+/Type /Page
+/Contents 690 0 R
+/Resources 688 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 695 0 R
+/Annots [ 686 0 R 687 0 R ]
+>> endobj
+686 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [235.653 550.727 290.207 561.631]
+/Subtype /Link
+/A << /S /GoTo /D (main_GDDetal04) >>
+>> endobj
+687 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+691 0 obj <<
+/D [689 0 R /XYZ 90 757.935 null]
+>> endobj
+692 0 obj <<
+/D [689 0 R /XYZ 90 551.723 null]
+>> endobj
+693 0 obj <<
+/D [689 0 R /XYZ 90 551.723 null]
+>> endobj
+694 0 obj <<
+/D [689 0 R /XYZ 90 537.153 null]
+>> endobj
+688 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F23 368 0 R /F10 507 0 R /F7 541 0 R /F8 540 0 R /F1 580 0 R /F86 597 0 R /F31 506 0 R /F13 581 0 R /F11 446 0 R /F12 678 0 R /F9 618 0 R /F79 505 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+699 0 obj <<
+/Length 4708      
+/Filter /FlateDecode
+>>
+stream
+x��\ݓ۸��_�<�T�`|�k�n�ʦ.�T|���n����̰����ff��>�� �����D� ��n4~�@/nx�7��x���*$����E�J$(Y\\-~Z$Wk�1^�m_���5�jM^���x�x��"xY���>�(T�~�����i�$r�ϋ?���ś_��
/��N(��Xl����O����?/0b�^<�Zw
N�n?���7ؓ��!
�`�8�
E�R�q�L�����-~Z
U٬�X~Y�P�o���=?��X�m]^n+Wr�-�	cW��s���/�m6�-���o����Ȳ�ݵ�H�{��զ�c��l��F者��
v���2 y�`��2C�üo�����js����s�LH��^�	A��ܹ��(
Hm��%���|�lʻj�e%��
�by�k]Ū�ܺ����
/u��T�j�SY�* ձ�B}�Zs
��z:lI�a�8�G�&}��H��`~��Q��GW�dHai`�o$�3t`��@	ɴQr�ET����� [...]
+�%�u/ZSW�
�@�e��i�@�<彼�B�B�����
�$��pP	/�Q�#��8$��~(s�v���#�εΑ�3�1N.+C���ê�r�j<ևY޺?�]umjY�Օ�fr�����M��Ծ����
��@��&T��Ә�I�Xn��{��@�uoS�4|qwh��!;��
��`�C���#AdJ
��&�⸰bD-�J�+1)��
��}o&�1���Y��n��@�TQ'����R
S��q�3���Œ�u(uuX2v�A����`�
+ ��A�:,ӓD� �ZF_����9�%v���7�1�|�LXМ�NY'b�8O�d�y*U<�uTa���M�09Αc�'�C�L�qxb�*�@��O4�W��
+?�
�*=�=��#y�����<�V�יAy�u�<Ϯ#�PA^W�r�9�`1�b]���m�p��Z g!�YT
�}��׾�c�B{�m�����l������q�5��*����ؕ�-F�
�
*����
+�!�fϻ�LC�_��	0����1I�٨�:��1C+Ԣ`x��
++&k
!vćO�VG��@��F��E��>2��#|D��
\G22X��Nv��)��yd5s��W�]�T�㤣��>�����q0v�
�0
��}zRoy#n��vĈ���9Sr8Ҵx���'���ĄU6�]�ߜ�j!��
1#-:G�DX���+����>d�k0�&�3��ռ�W���ܪ�/3����� ��_�LO��@
�`��(ͪ2���d`r&�9����ɴ�!��ؔ���q���
+F�4��
q��9����Q���hz�lr��:��u�B���B�2�	����p�;�@�)ƽcZ��a�B��p��b��/۲������δ�ع�6|F�
9B�fw��?�F
+L0���w�M�?��C�o�����B���}sU��M[u���1A�����l�E��Xp
���Y�Tn�źT�t����}0��
���ˮ��ݦ�/{W7	������Ƒn�Z�`�P#�}��G�f[����*���C�~�o6�*��
+l"f��µ��z�%���ei~F���8
�sUZ��j8�K��
� @,���}�ު�%�qt�7!���{E1���?��T�
v�6�x#`Xf13��l��kֆ	)�Xr�Q��os"�H���e�lѱ��E�K��`���v�����V�Vd	n#Y�"*�(,,��#������
M��:i�90�����B���H-c'a��ZE��7�UnI9�Wђy9��ӪH80
+l�U)�͇�3
����\�7,C�5� )\ �W�].�H�bs]�LWь�u�q�!�����
E�+�D�S�
���&7MI�D2�Ԑ��t�`r�k
�Y�%"
+0؀G֙�@���Δ�
�L#J�)�T2S$�
+�c��h�(�
DN�S�,��6P
,�?���U%����&ei
���ʔ����߂Uގ�g�E�F�|${`��D)`ŚbƲ�F3^��1\���{��g|Z�W��
��0;Ω	1����ř�.�QbH��)��kW^��
$
%��� Q�+�����u��3>��&[�?B
�K���$X��S$�"���oB�h	�=J
+��\Ќ�:b��f��d�K�-S�O�9��̧���H0�29
[��@�ѣ��$mi��i+;6ulhos�
+Ɛ�H@�I 
q��@Aϐ@z@#�Jfb��0⒜�9�X�]|b�3̈��p�ǹs��9�#y��Whf)�Y�� �ϵE�rXL&���<R�
+�(ōM���[�� S<P`�[8n2
+x��!�ϖ�o�� |��3hLj����.P)�
�b<k�
�ſ����x- tC�30�x�iH�o-BS-�V��Ҟ��:�&��!L�����9��S9ٶb0R�+Fa}�A�r6F���0X����r���g2�z�m��ѻ�� c��ȝwwa�`�}��pT	�żx��w6��
��5)䒌[���k$F��

m�
�gh�H��.bW[�~��*�ɗ�]W����������b�q�CV�Z3�����kw
~� a�M# Q'�����]��-�����
vm�0�1����`����������8����?��Q鳀�x�+�O<�j؊cN��ȊK��	�|������f���Ϙ�l8�p

}�X�I��[���2!�R�#��E�lM�f�=������1���d�.Ϩ+�0��]@E��
ۡH�a��;%�E �g,}|�7�\��ޜ�OEY�¢�(_P������`�L�I�l�H��+��|/���f4
�r1
9 ����\`�{�s��W!��`�E�O
|����1Q5�$.ƽ��)�I��2c��
o�Jtc�r���lV��F�o�.�M�Q}�Jw�}'7��fM�o�~�=���'%fJ
���߆����3H�@��uN��:A�n���o�o1��&����8��V���5I;|z`E*���`
k�1"��X�n�C�lLZ����
��Q
¼�~Zi�k>�kd�����{A뗾�C[6���u�'��棌ݳe��}���=��7�X>��9>m��.��7
o��L��0�Ff(
���N2˨�9tS��Ѭ5;h=dA�3���L��ns�0��c��:��ǵ1�=9#Ԛ����\��oN2{&���
��K��E��	��5!YWJ�4�'!�YAcxu���g�<&�Aa��
+o�.{tTV�)g3�Tt�Х���%+.�J�� �p$�N:&燁�)J4� �W�cV/<oy������[����" ��L1�k�Y�]�aR��~��k�����d�{��N>5�<e�.A#Z�g�-I����$�3
��X��X�:�8�5%�&���5��4g}bx�����)<�>�ۭW
+
��cn�Dћ#0U�=
��SYY(]$����-��j��i˻L�B���)�l6�
�H(� bP�-�0�>ߌ;�a
�Uy
bjv,��W��'"���"��<���(asn�5$��C�j�,���B��X��k���ū�L�o��g 

N)
�ڟr��r[�7�~U�Hl��yK�X��g�0̾��>	��q���`pJ��S�r[�r|ܹ�޴�6v�t�f[7�t�����
+a��̝l�Q_3L��:��D/��:�ʀ �H ��=k��������/�P1F�Q�U���Ԙ��9�G)�����"�4D|r�
H���sp�qW��hJ�#k�Wd٣I��14	��/�d1�q�6��#7�(r2�y+e��c��c�x{d'�k�crnǗ�C���Փ��f��r�HG����
\&
+�=�Y�B�I?�T�@4=�FE���
��6���4�ͮ���d�_'9�鳌�RRLs�2qUs��H\�r�3�bjYͅW��UW��ib
���Bq2K���
���/OFX)�g�e��GX"ϻ��i�WLpxy�U�0�a\ݎ쩰���w�

:�DXR������!�J	_6�N8��
S�X��r�7�>�h�bm4A�Q
-�J�;���7q�u�T߭oǴ��=z;��g����� (�
s&�n&[
<zF���*�V��%���,G6O/���oi�=��$�X�$s=��0�ṡ�c=f]t����pl�g
_M��/v|'i�2|��7�7�!�p��7���x�ۊ�����+%
��ĕ���
+��&"I
+{`�Gaf�S�
�-w���D[
��j�E�0��0Wm�c�c@���j�ꔖ���z�#����M���
.�Q���I��"�K�tK5���W�1U�1.�
+X7��?�1Y�0?K�O@�l��fГ=�S1Г!���-��˥�x��ow�斵^�.�
� 6��4IM��Қ��5:�:>Ȣp

���N��ؒ��\���^ɹ'z����4��,y��o�&{�GĜ�K;<�۝)����x/<L��skG��B��<�d0���PlDNc"mOg삛w�0�$E��m�Y�~�]��W���E'
K����c`��+���u�/���Z�
��hEѽ����R�4�3og�oc
�M�}|j�
員�l�J�7�-v������P��X	0���_��_�̤�o'�����D��?V����E�����[�҂�
�9�����������hӡ��޷�>����}Ĵd�f
K�/�s�خ�z)�
}{A„��zi~
+endstream
+endobj
+698 0 obj <<
+/Type /Page
+/Contents 699 0 R
+/Resources 697 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 695 0 R
+/Annots [ 696 0 R ]
+>> endobj
+696 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+700 0 obj <<
+/D [698 0 R /XYZ 90 757.935 null]
+>> endobj
+701 0 obj <<
+/D [698 0 R /XYZ 395.521 576.235 null]
+>> endobj
+702 0 obj <<
+/D [698 0 R /XYZ 90 559.508 null]
+>> endobj
+703 0 obj <<
+/D [698 0 R /XYZ 199.887 105.026 null]
+>> endobj
+697 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F11 446 0 R /F23 368 0 R /F8 540 0 R /F13 581 0 R /F10 507 0 R /F31 506 0 R /F7 541 0 R /F86 597 0 R /F1 580 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+709 0 obj <<
+/Length 3736      
+/Filter /FlateDecode
+>>
+stream
+x��[Y��6~�_�����Z0 ��J\��l��=�}��U
�3�XWH�c���A��c|U�I�j4���k at xr3��gg�\�=�N�FZP1���h<�� N��r>y�$Χc���)뢭֫�|J9��+���0��='8+߹g��o�y]�G�eD��~��ٷ�g�
O�
�K$s>�-�^��'sx���\�ɝ�ZN��u1yy��
4��
ޛ��ֿ�V7�r��f^��3��v5/����ׯ1�+�Ջrᦊ����"O����i7̳�r3}���%�ffʌd��ZZ���*ꪸZ�N'!��
+��ڪ|�%�@Z��Hp$4��Hᄰ�&˥�x�0^�
�	E�[�b�-l��
+����Uh|qm��
ߗf��6u�46"�@*�0��]6;��
+~'U��I��(�pS��o����
)�:�"�>�����U#�FF��W���H�^�?R+��{��@B���>H�^d{�e�h�\�{d�����8�2��.�'�l�pبz��˳����=HN�H��)!Hs���
ALT���<����)��C�ƹ؝�B����-�k���*�j
11�,1(���?�D�"c$"J�Aj�=�+�
I��0Z�T�/�ҹ�[�&aǔ@��\�v�K%�#>��6�	�B�N�:�<�7���|��DDs|�B���1�hH
M8w	k!N�Aⓚ(�$����	��A�&S-&��T{�������Qfl��d�k��9v0�$	�!�!C�����`݉c���lʛ�_�\�Mz(X�D��Ց�
�F�j�0���!��f����X.
+��x6LS�%P��G׶���G��N��|7�Li��Ko�
a��gW�B
+��;���
�	 �MUD
�F�@�4�2
b ��qY	kO�H"(�%��X���q�PD4"C�&ᡨ�� CؽI')��G��'��s�J�06�
�oc1(�:5�GN�P�y���$
�L��]�cPD5�@���-��=+W���?����բ����`M�=`�4pݍ%�`���)B���#��``7R
Fl�< l9
n�m�S
+o�2邏�V�
+�;
��-5p
+���^�6��Ь��7�n˺�ՙSDq���D쬒��^����R�ù����
v�����Hs-�o��:�pf���i�t�����
��˞?�M x2n8��ۣ�ݫ�G����!��� �)�!��qJED�#F"��xa���''*A�`e�
+~\��8���$�ę
+|&阆��v��~j�/�֋��=	�3�6�k����
�@�/E��G6qa��|��>�
�F�a�'_�'�5��:ew�8\��l"(x6 �P�8��\�?�`�����DP�C	�<�?�1��[���'�U9��)W����
���I
3��d��JC�Hk�XF�Y�5�<I�W���}gj>=�ȳ��D\�}R��#���\�L�8mz�V�߷e"ESP)"�
�飱A���]b����5}j�!n�=(
P����,��(K�A��Q�&@.)@bc6�1�Vh@�;���jm��;E3��o�P `��U9[/��}(���c8s̶(W�SҮG5�
p۝d6=��E
�����
�����ލ�+�>���e$��e��T!�tXP��3�tN�1�}�*���M|�i�֝�A���ڞ�kS����S��к�:w�X���c�Z����TV�&�[���x�VCj�U
/��e���̄�"&�mcTr�ؒG��v��l=�m��Zc$��{��Lb���{>��!����h�
�-kP�ZP

+oI�:6�Oɲ}��
�60�A{�v3�Y��@��,$����ݙ�If��I&?6���z]w�5m�e��E��Ū�.�T�ySg���tǻqǐ"X�D+f�:L
��
k�~
�9�E0-ı��p�TB|��|���@
G�6T�98GS2�j�����D�ۢItx�"�
Ƨ��j^W&������#������ݰ�~47��Y�
$j�3�n���
+Q�/=ԐͶ-=��ӯw
�d�;#s���g�o�Ŗ����B

����?_J�����2y��ym�!
m��{4���*�Y
�o6�uҶ��k9e�20��Q7���s�U�ɲy
g
�й̾3�p]/�E���yW2�73�}�
c��4�~�6�C��q�:��y��IXlN��zjq��Ju.V��_~y�
n�5\K��
�L9T٤���cv����V�گ�1V�maAQ��pt��o޹�l)\
�g��U2'�1b'���ͭG�E�ٽ<vS�c��L���>�H�݀����g�-1�z�^,���wͣT�L� �f�&���d:�#vh�gK!�%�>��=�_��ٹs`�(����lR;��)z�[
+͎��<�՟��h��"E���p`�ZL3T��T�b����I�ݗn���%��>��2v�edt@�"��O�1T��f����
�g<
+������G�k��
'���
(n��bؚ馉"Q:I�L )'�$�c��S&m!����r�n
΄���z�c���Nx�u[Ͷ��G}�kwP4[:M�Q�w��ң��{
t�����>Ȋ���|�l�Y�婰�΁��7`>����`
��M�*��, O1*���T_��A��с��گ�=(���D

U��f�xEj�'�L��LNmm���M�
��ctyu`�:\������E�i��
�X�tv�"���S��]�j�'�aq`G9tU�f	<
+���X�� ��_}�B�1� fV�׳v�o��K at sh�}�fC�⦚w�\�w��O��M{��g��.���ݬ��U��͢��m�����HX��.���N�
1�Th�p��!*��X4k'�[Eo��� ݼ邲@fj�c&^��ƺ���� ċTA3)L������>wU>�� ]��:�\3z�{�vI!��81����,�L
���|d�O����!���p��y��\��`�w^�\�җU��
���y6�=7�/t���2V�[Cl��#�>ְB�%\"��k�ڢZ�N�o�o�S�9R���oR��br�à$v*���3}X��cnv�#
�jL�8H6i��)
 
����9'8-���P���V*�M9���+!�cB����?vWB"0�BBv����jn��S���=G�eݝ��
+�O���T��_$�`~�Jð TŇs�dۀk
��~��ź� �P_|��C
+s�5>�R
G��xW1�a�X�oR���	�IVu�t��M�������V��+p
M�N�i+{h��o���-��3��(W�g
"ǥG���w
���
�FS�r��u��{��sY�Ӌ��̲1P�����բ��n�e�
w��������b���£ޡ?u"���OR�X��{�����
������^����ItK�[ߝu��V ���Q
��\!a�)l?�5��K���N�fb�/����D�$�o�	|ih�%C ��I�8`�����U�
A��C�
,
Pٶ���}��M�
���(ℭ~�.y2�J��$g�]�יc���$�B�&��{��:��6�o*��?��1�Ӧ8����0�ޠ�C��lt0uao��Kω/�?>g?��
+>�Q��s��}��Xmm߀�k�.'�MN�����v�^�����כI��_g�L,�^�B�
������Çwwwh֠��Ԩjn6���-�0
��ul�p0yz]�g
���$A4v�� @�(
+endstream
+endobj
+708 0 obj <<
+/Type /Page
+/Contents 709 0 R
+/Resources 707 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 695 0 R
+/Annots [ 704 0 R 705 0 R 706 0 R ]
+>> endobj
+704 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.648 402.603 370.375 413.507]
+/Subtype /Link
+/A << /S /GoTo /D (main_HMT71) >>
+>> endobj
+705 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.151 254.403 315.118 265.307]
+/Subtype /Link
+/A << /S /GoTo /D (main_HPR97) >>
+>> endobj
+706 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+710 0 obj <<
+/D [708 0 R /XYZ 90 757.935 null]
+>> endobj
+711 0 obj <<
+/D [708 0 R /XYZ 90 733.028 null]
+>> endobj
+712 0 obj <<
+/D [708 0 R /XYZ 90 636.229 null]
+>> endobj
+713 0 obj <<
+/D [708 0 R /XYZ 90 621.659 null]
+>> endobj
+714 0 obj <<
+/D [708 0 R /XYZ 175.548 462.3 null]
+>> endobj
+715 0 obj <<
+/D [708 0 R /XYZ 90 445.573 null]
+>> endobj
+716 0 obj <<
+/D [708 0 R /XYZ 291.462 314.1 null]
+>> endobj
+717 0 obj <<
+/D [708 0 R /XYZ 90 297.373 null]
+>> endobj
+718 0 obj <<
+/D [708 0 R /XYZ 400.848 179.847 null]
+>> endobj
+719 0 obj <<
+/D [708 0 R /XYZ 90 163.12 null]
+>> endobj
+707 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F11 446 0 R /F13 581 0 R /F10 507 0 R /F8 540 0 R /F23 368 0 R /F86 597 0 R /F79 505 0 R /F31 506 0 R /F1 580 0 R /F7 541 0 R /F9 618 0 R /F72 404 0 R /F6 596 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+729 0 obj <<
+/Length 3610      
+/Filter /FlateDecode
+>>
+stream
+x��Z[�۶~�_��rg�X�A��v�IS'm���Ngj{2�ĕ�H�BRYo}���7A�M�N�D��w. ]lt񧫗�n�6t��Ls�xw����hFg�w����}}�(��w��ɻ�����hRW��%4$M~�f4)>���kv��b��+�	K�?�����~�b�<]0��2��X����5���Dd�����/$��-��zsE����G$0����pA�V���+�|���k�t�)%Rg��~�#Of%��aD限Wn��FC9#T�0��vys-L��
�U�^qBi?}}�L�;0i�ǻ�
����
)Q�
d�p�&(���gD
~!
.n�B]Y� �U��X
s�1��I
a43Dp
F����+?P�WVOc\��?<���M��Xu#�ӠK��ӁQ������p�˧��ǰ�r���L�љ
+�1*	e=W� �M
�ESDfTF��4�͐L�ȫulK�(&��RJ�s؈c��7Vy�.�|Wve��
 O��˪ܗ�*철g�MZ��2�n��5y	�e��) P��1\��1�3�7��
�g�t
�7Oi`�LG2q��ZW^s��b�x��32 �d���9�����uW�
+4W
+�ˑb��l���&�3��*�{vXU����!w�s���ei��~�K2�ͦ�_�{J�}�5���	���I�.װ��{to��je���֍�ҩ@?PE����w�G�`
p�c_ݍ�r�sYm\�)��׮1'��+�6���p�,�ɮ\6y��^��(i]O�
K��0����̾!	
��XQ����B�������+>����t
�\�>,؅���=���ӽ{�~����w�ΜR�.���j%5(hwl��K�
a+Axؖ��k�ӑ�2��SA�	r�^ܼ����…���Y��,��1ur��*P ��:���
�V
+(�O�TG�HG�Jq�8��P�t�P��'T�V3��)�؛���<�g
������v
C�q}˼-W���u-�O�`[tF$��\��˯�)3�?�&���75��o���hQ����:��(��e���h�@��؟��u�4V��z,�d :���>��H�����-�
���9�#�F4���8���^	F|�
��BeX
+�R�Gʄ�`�m�����
�n�
��;�m��a:.	�5�2��_�H�=u?�}��'���G�i0�Lz�3"M��nݏY�CQ�/�Z�+��^eWA�K�����
��90�C���<p���f����p��"�wD�R_����[�ҙ���:C���윛� [�n��h���+�ɚe�y�l�X�}l�b�������� B\�3�!Z�:���6ca[�O�90-M
�~*D72�,5D��M�T
+
+�
,
�Ci�(Ixě���_lL����z�Ⱦ5��"2�$������F��D�0�
�'�L��X�M��ЯH*�~&1c�����3=S����2B33�^L���^I�#��T�L�4es	�s��"*Z��Q>�.Or���}lۜ�!���u_�
�:�P��ћ3i\֏�A�I��0>*��C
�hC��{Ѵ ���c4m���\EV��64]�ל0v�m��.nZ��2o�>5��Ø �L0���<��p&���t7F
�|�􍣬�z烅v^THq���PT���
+�����~�.�� c�`�����z�g$

�E.\��܁ܩL>0!a�\
M�%3�=�a
+6%V�^8��'^8fx5�V��5_�{O4E[�cxv��}њ��2��7C=d3J����mع׮b�����~q!a�
+��A��P0�� �\u;�K��0���@�6�X�xҚ
�*}R� ��E=i�#���`,�}�N�r�=�N
�R�:M�?����K�@�$M���(#��Z�\�
$$�V*�Kl�.i�
�3��F�sZ
�<�'��L&�	No
����O�}}ӱz��>�튦��*�>3�$zF�8��Jt9��f"�\V��q]�c���7C�V�
�
+�̐���ù+����ə��*�
��ـ�+r<�	�y:7���ف±Z��m��	��z�Q�OyF
"�c���]CX�A"h�6}���e����Zy�)O^E�lՃT�8��٬ ��_�9ѓC(A��� �m�U�x(��.�
+����������u��X`���ώT=Q%)�mҰ4c��y�A��9
+Iլ^��gW�0t("?
�|���L�@�s?��LN�gz�t�8���z/�b�C�
�!	��e��z��i"�+ �
��s
��������Z��Jy��	�r�d�
+�>��f�)��JaFg)���F�B���N^�U��@��l��"V���d��Y�
+z�"Q��A-�I|��(l�<�5EJR�>{>,���*��I�F����r
�/���ꒃ
1s]�fƣ8���΂='ꘃ����g3Ɗְ
�J�ҵ
���/]������s�_Z�jt~�/Ӫ5��̆j���_
�Fmj�"�x��p���~�p�E�
+βa#���=o�
+{ȡ<N������k��_���o�
�S`-ܮ
�!��=��Gd��jzR�G�[�a����w����iK?��RA�k��_廥ey�ڶ�OU��0�d�' �[>���I�p�jʥ�7 �q���
H�޿�{�����-7F
+<�F�d��܌��p
�z8v��
�X�����8��Ԧ� ��͚�	蜒*�e�W��������]���LM��WWW1}VY�#�;x�l�aa)���@xoC&�St9Df
�x� �1Tv.��j��=���ecU�r���\�R<~��<�5�R�Am�C�
4F�" ;
��Sg �n�!pe���L�E�]ړ�U�k6v��;�5KGX�5gΗ���/r�1Hz��f8����K��_��Ǥ�d>����΀�ч�/_��Oᖑ��\ĝ�w���2���/����"�r`�90��bS>�\��#!�a�$��!�]����i��y�\:�ܵ�Nx�i��紓c~ijqu 5A;��k'�i�8��)�`�G+,)��1o�s�u�t��[�İg��
 @�X	j{���C��a+� �?A���.> 
�vV��{���{/kw���
:�W�N�Xްv��z<��,~
{v���aı��
��
+o�M���)i��t���֯v�~
R9�v�l�p���kثT�X���m�ϝ����MQ�
,׹Wȸ���z	�/~���̠�Z����ѣ�Ol.:*8�uATmoH^��g	�~z�r��0D�0�pl��`����_'��0�_�+�=����4�Y���M�
��t`��*��˝�ˑ���Zbjv��G�Hwk��̤��V�.[��7^���BdM�o&D����͏~�6���N5�&��q�͔��v�TOH��>
����S�)b�kt�,�j��Y]g-IRK6~�4A�bK���ca�W
�
��x��uVd�0~���+�B0���yc<��
�Be��M�������f�o��Mn�'.���o�>��+
&��WG�.���I�uR˜�3%�{xgʑ���qZ��wG�Y�	5���v�᷷�dՒcU
Rv�`$��r�f�&.���78C�
:����1��
%%�
+endstream
+endobj
+728 0 obj <<
+/Type /Page
+/Contents 729 0 R
+/Resources 727 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 695 0 R
+/Annots [ 722 0 R 731 0 R 723 0 R 724 0 R 725 0 R 726 0 R ]
+>> endobj
+722 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [447.267 577.717 513.996 588.621]
+/Subtype /Link
+/A << /S /GoTo /D (main_Powerset_Meet_Preserving_Simplification) >>
+>> endobj
+731 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 565.762 234.367 576.666]
+/Subtype /Link
+/A << /S /GoTo /D (main_Powerset_Meet_Preserving_Simplification) >>
+>> endobj
+723 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.859 241.089 492.835 251.993]
+/Subtype /Link
+/A << /S /GoTo /D (main_Hal79) >>
+>> endobj
+724 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.791 229.134 180.758 240.091]
+/Subtype /Link
+/A << /S /GoTo /D (main_HPR97) >>
+>> endobj
+725 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [99.388 175.644 148.972 186.601]
+/Subtype /Link
+/A << /S /GoTo /D (main_BHRZ03a) >>
+>> endobj
+726 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+730 0 obj <<
+/D [728 0 R /XYZ 90 757.935 null]
+>> endobj
+732 0 obj <<
+/D [728 0 R /XYZ 90 566.758 null]
+>> endobj
+733 0 obj <<
+/D [728 0 R /XYZ 90 566.758 null]
+>> endobj
+734 0 obj <<
+/D [728 0 R /XYZ 90 552.908 null]
+>> endobj
+735 0 obj <<
+/D [728 0 R /XYZ 130.944 312.021 null]
+>> endobj
+736 0 obj <<
+/D [728 0 R /XYZ 90 296.014 null]
+>> endobj
+737 0 obj <<
+/D [728 0 R /XYZ 400.439 256.197 null]
+>> endobj
+738 0 obj <<
+/D [728 0 R /XYZ 90 206.22 null]
+>> endobj
+727 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F23 368 0 R /F79 505 0 R /F11 446 0 R /F72 404 0 R /F8 540 0 R /F1 580 0 R /F86 597 0 R /F31 506 0 R /F10 507 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+750 0 obj <<
+/Length 3833      
+/Filter /FlateDecode
+>>
+stream
+xڝZY��~�_�o�2

�(9H ���8��zY���=#X-�Jj�οO
����:yi�,�u|,���m���W��_ݾ�rS�"����qSȍ͔H�ڼ?l>l���7JJ���\w���w�)���F�Ph\x�~r�f�͓�*�y�����>^)XJn�N��&��OW~��������F�6�6�7?^����M�,�y!�L6VgBe	��C;8Z=L�}�f�9*V���T�/��,�V�;�;.��ޗ�m��d�k�����u��v~z����֏��Е�z1NM���\��k�r����Z�(�t뺇��H,�w\17<�Q��Y��R���҆ƕ�p�ږpr���K���P
�\"zX�\�.�b�·���������]n�_��
�^k��i����U��W�57����
\��B@��3��m5,���~�`�I���X7ɶ�瞹2(�r�Ru��
���kP��"�B����h�7<d�+R�|
��
!�	��0�m�Jb�?�T>��-
�"�8�c�0Ak؍ͣ�a���q�(;�"�s������]�G�����+O<�w<����]
�G�X=�D��t\�
�$FeOd� V E!��p?F�����j�����V$2�����w��6XJ��0ߺ��EZ!M����נ࿖�Qw

ә�9�$Y������ya��k{&&
C�h��Dn��Ȼ��۠�ƥ�~���ɖr�iD
+&����C@;�����4;0Y��Y�&jþ�����\��e�*����	��h���~���{�
�*��[���Y��A	�UK-ҢX��=�_Sl��� ��vHu
+%��6��
����A��}�
e�ߡ��+�
�i����z��@~�`�8���<��Nd
���]��B�A��)���{�"O�LW�c���Ѐ
&&z�i6?�=�
�ۡ��
�D>
+�ʘ�20�Q
��6�U�#���U
�C.�#(r�2�	�,�
E�\@��L�N +��rF
a��@���y,9
�_ at EY��	 �E����|��9����T��7�i�z[W�a�D���"�����L��/�dT҆���=G�
+��n75[��{�ɑ�`�s �CE����(8}
�d�so�0d�c\"�hOUd����Ho
0X�G��
ti ��܇�	�����7҉�
�g�W� ��P"W�6�5Fc1�m4N*cW
+�j��
+p׃�e��]�:v�
(B�}[z�gP���a����W�O:(�*���
T��*Cz(x
�J�m~}l��]�zЅ	r�f���S��0�q��v]�=���P
[�|B��]ʻ�ߪ�jr�k�����\�
xe Nj��4�m�֐���O�'�
�S���޶lDM9Q�G'�$����1ar�~�N =��9:
+�A#�tn�un޷��e���K?N��7v���0�L���ܡ���v�!Ϥ[�1꼏
+-�����z�K��䓙�2��Ļ�\]>rq�<�:�`&��7
\4l����;|l󤺶$(Y�D�FwY�ux��Ujv��`M�H��@�j�vIUچ���m>M��
�p��Q͎]{�?�'�&pOM_b%c�M�Y�?v�z�
@!�̒%dz�dR�&s�
+��[,i�a�3\�z���w�In�Nk��w����]�����m�L��
�s�o������|
6R,

��Cw�n݅N|x�ͻ���e�A`�|	ʨ�W	����O2�3�B�:pi_v��mѳ?�eC
{s�{
-�;���Е.	�#f�A٥ma���
��

�V��� ;���
�4��\�h��4&
��&��\��l
�.} ��;��*�;���@n\f���\�Clk
�'��O����e���� Bfn����—[0�>P#�*�d�
�g$�
q� '���:�pr�����������������-�]���=��E~���y�<�`m
�I�n'�_�uE�NJIn�ø���Sz��t�_�cw���
���rڑN"�c,��`����.�&�+5^5�+~n�M8��-�s�������<`��1�B���Ex��*vvk����2(����}.6x�D��4�H���F.L>�
Bì^�C�%:t�z3�R�糩�`$��܁$���D0�
+M��UY)��fuq�ݑt��E��!0��k�F^�|��\![O�����£įWh(�k�����W�)/L8��,.���y��z!��
c��
+�k,���gҽ�Re]
���E:�C[�=�i��{�-&�Y��J�y�4=[
���:�]�
�X"���J�pŠ����K�P�-�w7��G ���}�8w-����\�4
� ��t����	��ؒr5x�
�"�c@���w����?`|����)��K]�o�H��03���� 
A��2)��Yo] ���-e�c�@��c���S��.ˤ�ҨRO/�ȴי���j#ӚUʄ�=�? C���q�յ��=�ȬT&����m`������+
-Ԓ�W"�S���
+�) T��`����&��d��@�?|��]ac�S��k>o�^�4i!��/s+�bu���7f=Ն��m�Ւ?Ѐ(�/�����'?��j66�8�C�
�ӽ��)&@��/Ry�tl�<��R�/�.�����X���6���`
6_�55���T1M)�]�!7h��z,�	�{�'X�4�w�����B�G��&\t��KŰ����T _�M\�;�>$TH��P7p�"|�Œ���.��=g�a�~�H��`4�����b}:X�T���k�C;��׼��̄zA�W�k>�����l��[��[�a��!	8��]&>A����6�IN7�=������b���p���̃
t� �t�Kw�#A
��G��Wܹ�̾�\
���s4T���?UK��}Ir�
"4��M|�
o	P�
��C

��D�OMV�R�Ođ��:.A�]���]�vYL,�����s�78�l�	�c����Ю��[���o2�����)4�R��	0૯lv3z��I �v{�
�^���A)�1���p�\0ɅJ�Ff�6n��' ���I'����_���i�ef����X�'P�d�;� B���X\��i���y2CP���
�7�4h;�'|hB��e��"�=�X}o�1,�!C�T����˟_����
��n<��;w]
� �:�/���IER����g$@���<-��O
r�_û��m:=�p\I8c�8�긁/�+N�\�顛<bL't.l�g�0i(�Lʌ�Һ}��%Mv[O�ʰ����1|�P2"�z���f�C9�ϲ�
|H6��
��N�pMM�~KF o�l��\A/0���cj[@
+��|�If� ���96
+�ffv%$裼=@����b��g]Z���i��yfM�y�%/�yi�_5�U����G��ѣ�P��
�����i�������B�o��� ���8�I*�^�}�
3����.�z�&���3���%�
�ıy� ��CW��2��A��F�Gǹ�&���*��DaA�#�Fd��:��(����3Ej�[����g�TH3*�.�>�L�s�D����i&֎O
b����k�X�O�~�t�*�������̴��T&�c�m;Y��޶K�˛���,��DϞ�u�y"7���blk��?F�E��"W+�N����/�Y.
+�H���SXsRE ����9�x��Rfݩ����/�����
����^�|��g��f*����e?��P�g�x���y_�mB�W􇒉[�kБ1������ۇ���ť�Ν��[���O�1;��a�xf#
9�E
+S�
4�&(2��1�A
+endstream
+endobj
+749 0 obj <<
+/Type /Page
+/Contents 750 0 R
+/Resources 748 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 695 0 R
+/Annots [ 742 0 R 743 0 R 744 0 R 745 0 R 746 0 R 747 0 R ]
+>> endobj
+742 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 475.373 138.587 486.277]
+/Subtype /Link
+/A << /S /GoTo /D (main_BHRZ03a) >>
+>> endobj
+743 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.089 293.608 416.057 304.512]
+/Subtype /Link
+/A << /S /GoTo /D (main_HPR97) >>
+>> endobj
+744 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 245.788 126.971 256.692]
+/Subtype /Link
+/A << /S /GoTo /D (main_HPR97) >>
+>> endobj
+745 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.445 204.253 242.088 215.157]
+/Subtype /Link
+/A << /S /GoTo /D (main_CC76_interval_widening) >>
+>> endobj
+746 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [302.64 204.253 327.726 215.157]
+/Subtype /Link
+/A << /S /GoTo /D (main_Intervals_and_Boxes) >>
+>> endobj
+747 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+751 0 obj <<
+/D [749 0 R /XYZ 90 757.935 null]
+>> endobj
+752 0 obj <<
+/D [749 0 R /XYZ 90 578.498 null]
+>> endobj
+753 0 obj <<
+/D [749 0 R /XYZ 90 573.89 null]
+>> endobj
+754 0 obj <<
+/D [749 0 R /XYZ 233.411 406.795 null]
+>> endobj
+755 0 obj <<
+/D [749 0 R /XYZ 90 390.068 null]
+>> endobj
+756 0 obj <<
+/D [749 0 R /XYZ 90 324.184 null]
+>> endobj
+757 0 obj <<
+/D [749 0 R /XYZ 90 246.784 null]
+>> endobj
+758 0 obj <<
+/D [749 0 R /XYZ 484.168 207.406 null]
+>> endobj
+34 0 obj <<
+/D [749 0 R /XYZ 90 190.679 null]
+>> endobj
+759 0 obj <<
+/D [749 0 R /XYZ 90 134.758 null]
+>> endobj
+748 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F8 540 0 R /F11 446 0 R /F79 505 0 R /F31 506 0 R /F86 597 0 R /F10 507 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+766 0 obj <<
+/Length 3757      
+/Filter /FlateDecode
+>>
+stream
+x��[Ys�F~ׯ�[�Zs4�
rm���*�V������DBb
+` 0���o�� 

�]Y�*O��s�t}�ngx���˫��o�e(�Tήnf�)I��dv������c<�Ϲ�"�~\�T�󮬫|}���_�团�{�)�S|���wg__��vF`<#vX��bb��?{�
����w3�X�g��~�)��z���_g8^���%R��n�˺j�&/���{�

�9ARQɒ�9
+
ǐV�'�
!�D
����
q�{�w�EH$��	����� ����N��׎z� ��ÊJ�x��ۼ\���v���\u�)�Ec�H�
�h~��	�s
='b
�:Z��g�z�?�]��0?~W��{�+���Z�/	h�l¤	I��Ա��G�
25,'��(�$
�°�Ss����g�e�X
�[:��gP�ݕdH�����3^�m�шɁ��.�zN��
C>[0
�P>[�2�5�n���y�^'�OA�� �o
ӈJ}"��q�>�өc�
+q��qZr>��х��q��o@���p�qs�a"�0„ߘ� ��E�5�N���e�i
 

�DF�$�("��	
N�� 2�n���_�m
�q
+&�̭�Ã�s
+P�v"
���0��X �kU�O�{��mW���G��a5�b��+NY���
+;<����u7�n���>%��V���#��A��H���I
�R�3�û�fG��S�L�!��uX���]R�2�A#�&�&��Ɉ_
�!ų�D+Bew��e�H��&�5��L�%`d�
?%-
+�D�=�	�Fش �BR��?]WV�)��*�;/� je�)�^��V����oۢZ���M�
+�1�7Ub�t��#Z?W�J�i����E錼Y�#?D����,��c��
���v�Nt7v&��p��Ü�#�c؁�AEL^�����*y�f����?v��p�ϯXv�7�e��_	�A҉ ���	p4QZ>���j����ՔUX�.SARp����
`;ذ�OΉ�;��-8��
�t��-M�dD�Z�7�-��N̚:w-�$;f5��Um\kw�'
>��������Y���=�u���#҄���-1y���c+�7�

��@W*x
�
�(V �
BP�~8^	�#�#
����h7u�2�_��j�C(�9��� /�V��=���� 4�;9�<�3|P�##��cOq,���Ǟ��{����F~�
�O/5
�)S�H�� n��m�����w/���z�[k�h���%�N�X�v��!!8,;���
��A`Ǝ��<�}V���\׭�>��͙��́�&!��2�
��(N7sN�܄����;58�
����\���Ѥ�y{�1t
��|��M�[w[Gd	�a&��OG
���N�7)�Q����p1>xwdLL�%��

+�8BNg�"�1�{�N��cp#���x>p�8ۅ�nx�`��p�1~nt����Q���{+�B��v��l�ЃO$d��J��A�kއAL�o;|:��q�>�-}4��ˀ7"����氓Aa?�39?:w�
o��}0B$�O��"���0��-:���F.��9�D�ǻb��)�࿒����R�5��@��2�H�!��H���'�#M�;�
�-,٦h����L�*"���]:L&�m��,u�~t��OEi]���T��2}�<��-9倹ڢsoj?U[���Sm�;����^�}
+��u�Nn�Ȏ�~�Uo��1;�&�$�
��X�n�9&ҩ+�AD-���-'�
%M	�:���R
(��d%���2�xS7�`�AC
S,l\t �S����ZW�I)`BP�AJ�,�D
�-"�ddhH9-2�#CX�"��gM��-
�d���D��KJj���V Ǒ��A�0 �M�O� !�����w
�ً2'bO�p�(ևS'��t�$��� �:i��eG�av('��4�#Z�
c���e��������p�؍c�$���
�t�!C�	Q°�I�x��26/e��TƏpu�X
�w
w^��[7S+;�m+O��B���
�\�����
C
��rUT�ߍ��
�1p8w���G
�n�
��/�wE��86��3�&�֐x�.��ܦCD6�4�9��a�����ð,�T��ݏlM̼6e��ܔ,�[���
I�pN���W;?�M��x��6��7?,�&��OB�؃�j@�E�@���X�b|���A�0�!�wV�ꕒ��}	��z
tt�Y������r��	�IP�8I�|̇�Qvg7��=Cf�v��#+��y�W}�x�Z�[ߛ�ӷg�7��Æ_<�k?�*����:�"�����# ��4g`#�csJKlE��� ���É�R}�� �����E�xdxMm
���y��U��kL���T$ưK%�!1r�.R��T%U_SU�(�LOb\
���� �9Nh
8< �����D.�Ne�9�����ȍA�|��zR/Z�qx�`	��Qk
+��w��S���t�ӌ�//07x��S�݀u���6 ݲ��l���0��-p���ES.�R�pU�<x�9�`�8�n�/����\vX�
�ܭ't�P������N�&rp�Φ��~��
8
��Q�e	���@��ه#w8`�
����C�?;|��)��W�%�P����
��W�3��7������?7��S;r�3A�O�*�'W�s���(��
}�
���[���6���uU�e�����r��t��-I�qHhǰ
�S^�vx��g;xT6V���.���>���㔭
0�]�r��ԉ҃�2vվ*on at Z������(X%�`*I\l�M�I�|��6I4�P�Nי%=Z����t 1��9W�҂��`�S��$�7�����s����ȍE'gX��.�{%�+���SmWĔ[5Mf�V��4S�~�e{گdp�R
%�<�	������w��
��uYy�q��F���H��sG&}JG�fb��t_(=����T4�b�XA�
+�`@�)	���퓯}S����)SDA�sW�ǛI��:��ڷ���[��s��d�6̎5�e�h&=������y���͆���| ћ0�bD7m��;{Zoމ�
˿Ԉ�w��F�5�?���y�9��6�?�{���>P��u`�b=b���>�����l�#��)
+FbM(�1��4D?A���h9�x���C'���d�4#H��|�)�-���7���� �R$z�k�%�>>Ђ�Ç�#4鲛��kgp�t\;S"];�q�}팏�����Y�]g��`�Θ�;
+W;3�Ic��
��15�	c�&0
w2�l�*5�
���/܏\���BT�@g�f��H��W�3w}_�8*
+�b�����

>Ϟx�s����#\ݙ���r���76��B��|Y�ky��xT��Og_�|tD�x0��P8���&��e��g&է�t�
:��
�;lO�~Zc�
+����T��S�
+'T��w.�z7t�>t�q��Oϴ�E��vC�(�
+�
+S�O�
(�?:P�O��q�)<��<0��m�Џ=���oh�<.��&�s����H�}���?�S�B�P��g
�
+�:��%Fǫy�����{G�O

̞�+]j�}���?�Gz�M�!��Y��K�����7Z^����C��`
���'�B̽5�g^m{��D�+�
z* x�	5la<���[t�z;��7��q�)����n������Z�h[�����f���H�h��J�~�AR��ޤ����X_g���cTw
+endstream
+endobj
+765 0 obj <<
+/Type /Page
+/Contents 766 0 R
+/Resources 764 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 695 0 R
+/Annots [ 761 0 R 762 0 R 763 0 R ]
+>> endobj
+761 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [212.462 484.658 244.342 495.562]
+/Subtype /Link
+/A << /S /GoTo /D (main_CC76) >>
+>> endobj
+762 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.855 472.369 194.766 484.324]
+/Subtype /Link
+/A << /S /GoTo /D (main_BCCetal02) >>
+>> endobj
+763 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+767 0 obj <<
+/D [765 0 R /XYZ 90 757.935 null]
+>> endobj
+760 0 obj <<
+/D [765 0 R /XYZ 90 566.108 null]
+>> endobj
+768 0 obj <<
+/D [765 0 R /XYZ 90 566.108 null]
+>> endobj
+769 0 obj <<
+/D [765 0 R /XYZ 90 551.538 null]
+>> endobj
+770 0 obj <<
+/D [765 0 R /XYZ 434.16 475.856 null]
+>> endobj
+38 0 obj <<
+/D [765 0 R /XYZ 90 458.795 null]
+>> endobj
+771 0 obj <<
+/D [765 0 R /XYZ 253.525 381.454 null]
+>> endobj
+772 0 obj <<
+/D [765 0 R /XYZ 90 366.784 null]
+>> endobj
+773 0 obj <<
+/D [765 0 R /XYZ 138.148 217.93 null]
+>> endobj
+774 0 obj <<
+/D [765 0 R /XYZ 90 202.546 null]
+>> endobj
+764 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F23 368 0 R /F86 597 0 R /F11 446 0 R /F79 505 0 R /F8 540 0 R /F10 507 0 R /F31 506 0 R /F7 541 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+784 0 obj <<
+/Length 3083      
+/Filter /FlateDecode
+>>
+stream
+xڥZݓ۶��Bo�͜`�$@ҞN&v�i]�>g2ӳ(	'qB�,I�r�뻋]�C❓�刏�b��?@'W��\�p���Ջ��\e"3�Y}�_er�%t�V�v��@��z����Ǽ/�*/�ס��m�뮿|�i�H�(~nA�p���OW��R0(W�1ՉH"��
�����ZIe���Q
Wq��\�^��JN��L�v4���䉳`[Wױ
�}�t`��o8�M]>
쮅i��[�c䕦B&�����:22�0RB�P{�7�DɕY��$a��J�YLt��L�Dd�	Iё�]^�Hྦ���~�\�l�,d���So��Z�`��A~���
��?
l�Yj�������-��
궇)E�ŽdGuU>Χl�l��`K��h��DJ�ZL���ֱ�`e��lk�p>2p�ڮ�;�;�� �(�޶�ݢ��H}Ϥ��,eX=�W��ƶsB��~typ��os`�{�|d5u�$U���K�^'��VI�%̀���;Q�

+6"M�3��s�je��|{F�͢�&��l�����e�I�	ٛ�^�:30Cޣ_A<uE��Q0.�:��T��|i�W
+upo[;P���UeWU^���0��0�*p���V�����L��������O޾ʏ.���3'�
��  tb���8ڎ��m}�y#a|����vb
nJC9}(m{��8�|�,�W�wW
mՑWC7t��g0j:�oY����u8$I7b����ꊝ�f'6�z=����z��hZ3�<
+��9M�TD\4~�6�U�k���h�Y��ő�
�{<���0x���l)�F?��D�m1H6GBT%~�s} 	@���
���\_C����6/K�OYC�爳0�t��i�q�Nx$d�ٞ����lD"�����,����գ�5HXR�®��^#���o;��u at .�G��{�fo�L��"
s�Dž�}�*F��[j8�HE�M{��-����r&�=6�㨓��&B�)�岢�d�<�{��i���.�H�"��<�R�v�1O+'��I9>���$
���&�
:�4$�l~S��<
R�Aߡ�,@��j7�
+<�=71a���=z8���y̺`�r�h-Ot��z�!��.(Niat6w��4�wB՛���cHH���lFD��7tj&.
Y�倂V�ߜ>tTl�Q�>���|
A:�w���4c@����ڜ*�|�
+��̰
+%�	P��8P3���B"&b��h���Vp��]��*�D
�>�6�n}8Av�4U����`�8�L!��1D��>�S	)�	O� �i�A��CfWܖ:9���ZD�>9�Cs�
� 
�
ա>�{[����A����|{��X��sop	�6����;�63��ֶ���x��d��\2!�[Ń	!V zADH���%���������P��GX�=�,W�Z�
� ���7���
*#n��]�=m�E�
B-��s�WzNw�� +&�Q`�m�
� �G=�=��g���A5ӝ��b2�A�|�t=X�
��;��?t6*l�hg��	p3�5-��b`�y����
+`
+G�B��sC�lEP7;���.X�ky�]!�A		[T�"������hs�61
�w�|r&�#8O;l�+���K�FF�xf7	��n��LF\� �v�1GP
���j���P�_B�7I�i���rpBq�
+ExgF�8A���uܭΘQ�E�k���k���e
���� ���#�cDf�����W(*�{&ڪh�?ԧ�����ָ�ɉÏ̀���=�-\r ������>e��<��zsk�I�x���\]A=�&
�"e��j��-�>��x�8��=K�1 G���
s3�k��.V��#��w�y��N����
Ө�`N�$�P��S[Qk)Y;E��!�H�
gP�f�7�G���Sq���
��� �XϠb���*��
L.O�(^�L��[� �+5̈|U�$M�"Z���y��4�g��
�
]�!
L�����$�[�����*C1
�?��,XY�i���g,z�8�G ���0�<�`U����2�_3�۾�]���9�.%C��чO�'��[_&��n�7}���\6�/�uA
+$�zW^�����pmE3�I_��37>o���L1�낐�%����s�z|D��G�"8t5�ڡ�}���,:�#��r�����է�1%��
�x]�EW�T�(N���T��Ҳشy�HK&��/�e���r9l2��0(�M!�l��
/�K�2�H1X�R��b���Y�U�����G�^���͏I��
��Tg�1P��H�|_�\:"�ù'0p_�b;�G_$�^���R�7��\ȴ�y�TzD��mN+~#�*6�!�j᰾V����,���E����E>�j�
��L!,]�����M\|�!�X��p��BatXm������U�ngWHF�p��_C��d���N��3Ok1x��UW�R��+|�ۆ2�;���O�z��P��ۮ
���>�1f��WT�y3�l 4�|�g���K�fL�Y�=:��y�~�_q��͛�,N�ޚ��H|dw
h�sf���;<?��Ij0r��l
��@��(���.]�p�5�7h�~�q�

��$n$eƅ��.{����3z���'��`3{VE��ǣւu����M�fp
+�����B_�b�
��~J]�>�
BIhQ'm��[	ڃ�%�zw"x�M��0�w;������fܭ0I=
ˆ���(����)kO;6p�{�ݏ��K�Ͻ�1�PJRg>�@t�t3�ݶ-�˜�*���NE�;5M��\p{>5Mͳ$Sܟ����tD��������_9�jߞ�/qa�I����#��z���x���=
A3�9*�rg"a��٧%���#=���~���:��
3x�q���6K7�$I2�ٗEe�v��A
�>��ǵ
o�*�
N<b��9��l'%��7��I
b����`R����w�#�����X�Lh=/b2����
Y�#����'��;��	���]^�|6A���"E
+���ԙ㗎H��u�[��	�/�i(d2x�/^<<<�m'NUѴ��_4M�b���3+�W���=�8����v����/&�"L
+endstream
+endobj
+783 0 obj <<
+/Type /Page
+/Contents 784 0 R
+/Resources 782 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 794 0 R
+/Annots [ 777 0 R 778 0 R 779 0 R 780 0 R 781 0 R ]
+>> endobj
+777 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.191 289.254 208.619 300.158]
+/Subtype /Link
+/A << /S /GoTo /D (main_CH78) >>
+>> endobj
+778 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.494 289.254 511.506 300.158]
+/Subtype /Link
+/A << /S /GoTo /D (main_BHMZ05a) >>
+>> endobj
+779 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [460.906 247.719 492.786 258.623]
+/Subtype /Link
+/A << /S /GoTo /D (main_CC76) >>
+>> endobj
+780 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [404.084 165.272 458.091 176.176]
+/Subtype /Link
+/A << /S /GoTo /D (main_BDHetal05) >>
+>> endobj
+781 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+785 0 obj <<
+/D [783 0 R /XYZ 90 757.935 null]
+>> endobj
+786 0 obj <<
+/D [783 0 R /XYZ 121.551 669.575 null]
+>> endobj
+787 0 obj <<
+/D [783 0 R /XYZ 90 654.906 null]
+>> endobj
+788 0 obj <<
+/D [783 0 R /XYZ 121.272 360.906 null]
+>> endobj
+789 0 obj <<
+/D [783 0 R /XYZ 90 346.236 null]
+>> endobj
+790 0 obj <<
+/D [783 0 R /XYZ 90 319.964 null]
+>> endobj
+791 0 obj <<
+/D [783 0 R /XYZ 90 266.34 null]
+>> endobj
+792 0 obj <<
+/D [783 0 R /XYZ 438.959 226.962 null]
+>> endobj
+42 0 obj <<
+/D [783 0 R /XYZ 90 210.235 null]
+>> endobj
+793 0 obj <<
+/D [783 0 R /XYZ 505.567 126.891 null]
+>> endobj
+782 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F23 368 0 R /F31 506 0 R /F10 507 0 R /F79 505 0 R /F11 446 0 R /F8 540 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+801 0 obj <<
+/Length 4002      
+/Filter /FlateDecode
+>>
+stream
+x��\Yo�6~�_�o�Ǝ9��
�v�	�;
L�Y�� ۲�I_i����")��Tj�
��d��M��_}U,�.�t�峿�}��
C�8������хь(�oo?,q��R���:�v�j}q�]~yX�4?���B2A�00_�����}��37邅I�!F�����?��
������1��,$�w�������I9<Q�^@�Z_�w��z{]7Q�j{/�7��7�:,',��JgO��K.��.>�
���C7����X�+������ �6˫�W/o�/`����d��8B�s:"��|��
+38�
x�H%���
+‚�D7�G�Y;	]h⌰�)�qɈt2�E
e�|�
�B���^I7�vw�Lu���x�r�
Q�_�u��x%��e�
�H��2[�F�a
;�&�#O)|�3ռ�6L%q(E'��nL�P[(���|�#0J���o�0�E����}}ɝ$\0�!��F}]�0M�U�-�W�\�륐��r&Eh�F_�~潱
��B��`����QG�k�ťd4�+�uu}���]_�h�b{2�<sj�9��;�n`?��@���^-�f-"n�%[+��(@9�����I��0�"�)b�;�Ax
�};�0(����ա�p
+l"{�_�艡&�E�9We�t^e*�&x:��L
+�[�"��ϾG,.`�
�X�&")�%2��^�
�
B��Vq'M w�L6"��FnK�l�jQ�z�7G�i�u]�˂{)�&�T8�3ItZ�z���6�^��B�e����9`��>Q�>��1Q쓛��o�H\=�p. �p���"t���nM��:O��CeF1� Vt	�n�wx���}9� �3��."
+��
�
���*H,�с+)�ɔ�G
K�.U
��Eg
�2l���;\a���Q_-��Q�
+�!�п��5���h3�'����	Sgn��w�$6�;�`��x����p\�z7@�#��z,M��T�t!��D 6��ٸ�U�C�H����w�ju�
w��
+~_�?\H`���H�=\؁3
";O��?
I:
I^�)$�<"�z�(r	����T0)���+R��P��	��c'�f�7X�l��'4�:g�}�֫���K!��
�SFTmD�
F
���˓��	O~r��jnt�e���Hi��8"2��5-�X���g��
ʼnU��o#���ӌ'LLNDZH��{����mv7���  ��aDo�,�Sz��+%��
+�V��WUSGu���5�D!�7x���.\t����v������%���yz�nuS� NL�0��j�y�$(Ex�(�7<G��D��©�c�� L1| e�s
?�f��ڌN��H{�9�[�^p�����
�|�p�_W��c��ѝ!8�|��9)�%g4��a�?+7������?�
+���Py=��H�-��	���L�
��E.�<�4�蚕�r5�
+�a�����R{�\J�
+Qϱ�g>�
��bGP4�ʐ򓰿9��t��Y�zخ<:Ŕ��ԈZ�|\�'�>�ѧ
m�M�U�\�z�?>�0�F�
|}x\5uˇ�ÎKf��[_��A��ȃ�>�9}��6z.��
*|e���kϨ�7(��9��냵g4m����@�
+�:@�Y�o�^
�7w��(Per����L���n�~����ꕷ
�m� +���
��j��b"��g�(����G�E�(�[b�.'������W��jej@���S������Z
����ԃJ_��
�
�N��D6_��V�Q��ٝ(RMx�#=���ws�
C��m��R&#M�Ozd��'�YBI�t^{~=~�#Z��#����7t�^7�S Ȇ���)�w�%��fׂZ�G+
W4`�
.���>���������au�U`��!�L	ޔ���DbZR`�*L�I
��$�p�mwF���a�¨wv
+Q����6�e�����J�b�K�2*w��Э� ��d�˳h��V���S�u�Ep�
�m�%��
��y�r����a|R�
��p��CJkD���R]n���ĬM�9����$�+ 	K^��s��l��_�E*1�
.Ϸ�ԉ>���^�H���'d",��4�6J��)"��S[�BD�zN�V�6�ѩ
�[4+P���QvPE����������ߪ�~]?o��V����
-+,�?G�#y���"e�o���A��
9�<Q5�FbUc;j1�ư��|��g��2#/U����j{-�<�HEAH�����|���%�
�E4�J*
��m�:Ϣ����|0c��
���R����h��I���	Og�>r�P蕁�g/:��b���T
6_����LˆL
+:�F��b�J��<۾�t�N����;_%�r�hcV��m�!{��&
���
$h��/�8�{W�tW��w�����b�	_�nڋ�0��-cL��Y�]o���i�|ş��h����)�*~9s�.Wa�0
n�CT�鉗�.0-+jδ��_�|�V=0��V�@�f�[9��m%��F�)�
��@�R��'+>h_]��K���څ
�9�󇑏�+�"4�t�1�%z��r&+dd������nB�<YĢ��[pB����x"�o�oy�$,|��A'Y=l�t�U k¤6�ִ���R.������^�pѦ��le�[|����Ó��ѳA@����U6ᴹ��
�J��+��W�P���qwJ9��-��ޯ��w���=��M��9E�v�E�A>�
�Z ��PW�]vu���9Vq��Dϵ٬��A)kF�O������bJ�g�� ���a	/�*E���h˫_m��]7���j�=�o��

��j�Hb�e�a�0O�(
q�'�1Lj�;�C�dE٘�'����Y�ɠ���J��Q��X�_�#Z�]BTRJLV�E^I�`*.�^٨ܝ
Q�Z��� ��nd]�&�TJ��P�?�l�eF�͸#�4%���2�L�+t�!d�.��y>G�G��<$e�ߣE��0�S	��0:<�z
�ח��1��h��S
��#9X<��͘a��`+���Zdz� �ם��<� �k�t6�U#��ÞvCO즡+��ba�A�m̟q�X�z�
A��}

Š
�f�ڵW �8�|hK
��2կ�&����
+
�|l�@����q���;���Du\h޶���r]
�S"RM
D�v��
F�6��qbt���4�g�X%%��Q�Xj`�X<����y�I�#��V ���XAB��5�:v��y���J|���
+C�.��W�E�
���7bxȇ�}�
Ȉ�i
А�6/��y�N' x.u�L���h75��8Ϗ���N#v�AD�Zv&;�-;{s�ABXy�
���Q
�M
tv���Uߎto+#��[�_O�&�W���D(��.E	
+�_q���_	྅�k��\��~�T���d��v� {�5Ge�
�cI��h���=�c0<�ݓ��O���Px�%W,;�E�I�I͞��
���ߵ���bV���,�׉�2���'���S����
��C��:}�;[�h�4��5fE l�,��x�u��
�5�����:�W�����K	7��=��e��P_y���
Ӛ
�ߝ>�7�t�
����A#A���1�����B߸��8��n�)&���A+(� ��z���
| ��E��e����Gg�y|�'�EA�`>w��;K�,�M�����M�b��s�&�F[ �{gU8�	�¤T�0�5�S�A
��[���_4ě�Uj��M�P$�¦5�H�r��Pa
�=�I��
+FTjЛ����&�BR{+T¾	�*�\!��L3�ds� ��ƛ�������
+o�Ș�"���2n�j�أ62!�O
ʎ�^����) ��J%}
�B���Bĺǁ���6�C��O9�?�G�}
S(G��Y_i��!26-]}�[?��7��#�W��ОF����Pj���Wۇ�&�s��w�O��OcZ>�m]�K���e�]�����i Y���
����/
�uC
������/����Bi�53&!䧷Ⱥ#���Pw�ܴo�
��_��a
+endstream
+endobj
+800 0 obj <<
+/Type /Page
+/Contents 801 0 R
+/Resources 799 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 794 0 R
+/Annots [ 798 0 R ]
+>> endobj
+798 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+802 0 obj <<
+/D [800 0 R /XYZ 90 757.935 null]
+>> endobj
+803 0 obj <<
+/D [800 0 R /XYZ 90 733.028 null]
+>> endobj
+804 0 obj <<
+/D [800 0 R /XYZ 393.496 557.555 null]
+>> endobj
+805 0 obj <<
+/D [800 0 R /XYZ 90 540.134 null]
+>> endobj
+806 0 obj <<
+/D [800 0 R /XYZ 322.875 341.158 null]
+>> endobj
+807 0 obj <<
+/D [800 0 R /XYZ 90 325.094 null]
+>> endobj
+808 0 obj <<
+/D [800 0 R /XYZ 222.161 241.696 null]
+>> endobj
+809 0 obj <<
+/D [800 0 R /XYZ 90 227.026 null]
+>> endobj
+810 0 obj <<
+/D [800 0 R /XYZ 90 87.437 null]
+>> endobj
+799 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F11 446 0 R /F23 368 0 R /F31 506 0 R /F10 507 0 R /F79 505 0 R /F8 540 0 R /F86 597 0 R /F83 598 0 R /F1 580 0 R /F7 541 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+817 0 obj <<
+/Length 3497      
+/Filter /FlateDecode
+>>
+stream
+xڵ[[��4~�_�*
pD��%�5E�
�@ͥ��a��I��f;��6��~�.�$GIz`x�Ȳ,�st.�9R���/^^}}s��[�*r�/nn^Ȝ A��f�x�T\/	�8{Su۔��%8{�՛��כ�0�������ޫ�\�~E�/��TH$�X�wW�~ŋ
�����j�`F��2��.�^���g	��b.&�p$��W�:ת��+����o�}wMTV�U3�4�Ͼy�^,)G�v��\+����l]6�!�;;��^"�G��
�gw���n-F��ϡMF齴C^@�dJ�)K�x���ƫE0�kw�:��/Ӧ
I��������Co;�m�
���Ae��+w�Pu�Ȭch[7U��.��\���X���\)h�.	�a�� �*.F�@G�۞v5�0��]=��r���I�ܹG�V�Pv�k��Vuc7ռ4l�
�t�M��$�k���:��M�"�<������]
��
�b�v	��-���^Sa��)r�(tح��V�'x�[�&�$ʩӈ�o�v�
+X 
�~?�n�\f��o��J(cH*:~Qv��Qp�g��Y?Q�0�gӌ�O� C9g-���2�EnƁg��B!�.)�Q�s;PE��Y1R�
�jԷc12�T19�/�g�H����k���v�
81ň�I 	�r؂�g�$��4�����Q�
��AF���O��x2����n"�_0��Z�0Dy�1w���_������=V�%#
+I��=�Wڄ���p���n�nm���p��,i
+�^܀O�D��i�~����,S{���}����v�?�$L���*��.��M9�H)��ÜҺ��
����W?�آ[z[�����Z[��8�6XQ%P{<V�X��9<�����ݒ�"{�v}_��A��W�ߛƶom�U��۾v�c�)�q��_|W
���JF��]I�~�p�
�m��x�Ǽ`���t����
!��D
zA�a��4�lڗ����$�r,�v
+�r?� �쑒�[{��WGA
L
�3��rfB������%����o�.��
,gn9��@,��q
�.>t:*
�+*�<��S����
�J��Ara�ZLn9�6#
��0����������(5�,���]fێE a��	��"`�"D�5�5�� ���1m�	Y�����o-�V!@m�}�]�U ��
�.G��
���N��X�;0�
J�#����S���8�(IpNͨ�
)"'?�DRu��T[r@������`�I>(��M����:�H�A�$�Q�ܧ�
	L���.��BJ��@G]��,��0��s� o�4�owcx�>��ƥX �Sl��t��bF�\7�W��	8*<�N	��ڄ�#�ф��~�2��ב۔@P��L
�2�Tq@*���=)��s���
<�fPOޒ׉
+�a�]bϢ=A�Ycp
+z[E�JC�+
έw���ͼ@t\�/���J�0gB&Q���@p�D�n���P5k�|
+
!�XΠM|��$��
c��0�����0���'��i�:�g&R��3gX�� uq�fd�@�J���vN�I�M����)���L��M�9�`�4�W>T�w�F�O�*^��
e��Iy��6�i��0�9�����$���^(��n���@�Mo$|x��m���7�}n�fY��ã}t�
Z�e���vm��
+�����7I��E��+�H����w]��&����f�eX-F�,�� �x��s���e0��5<#2 at U']@�
�b�D�`r!d�R8�O�y Ӱף��%HD���A�
�
@�!9��� ��tI8�(�T��
���{SFc
�by�H��u�*���E�ZXf
�C�hB��S��)_��Ը�h�g<�*�Kc�
$���1�c�<:v�OƑ��!���W�<<6��
��S
��
c3w<�7�;��D�C��H��k�{�z�2i�:U)�QT�J�5�q�x25���HA�Ҥ���
�9g�E��ŗ2$
��",,I��C9�-yy�;˧0-�b
�`.L��']�R�($
uQ�S ��}��� 
~4E�u�<jh���v0Yh��z-0R^Y�T��
*S����� ��WX֜�i3��i�!��-��|&��4m�r��\C�\�E{Xm]��Eկ�z���ߘO���
}]�� n�!�WW<����n�MWj�J�?��/O��`�.��+��0�����ư�2����r���9��]�Du ���
�iX�=��r9�� �O�H�(*
�aggա�b��ِ��|%�e�^���ɢ3��
+�z�h[AHu�G���ʦ�MSb�_]|L䳘���fTj�`)5t���-��ы�ף5
�L�ト��� ⛄簉�T;�dw��sT�S�3uo
�=��n��-��HU35���l�pߦ�	����������&�w'���?�v�d<�s�.���
�
�z����|�U�a;��G�
�So ;�ܐ0�}e�&JR�H�O�Ȋ�����ۣG{�A��S)��Z���6�mknFH���M5]R��vվ�U
7�`�W�{{U>-�wmW��޾�l at c����a�����y�5����~8 �]��3� 2�A]L��n8kx��,=AT��E���F���LJ���r�h���_��ζJ�c��1�@����j��=c�
������������޺��򈋠�ڛ�%㥓��ט�J�����M�OFn��T�
"��r���\��>{SD��^,��� V��

�<&H� }4�{K�2ی��
�fc���4?XT7����Ĺ?��>ƹ
_o3e*���3��
5C��Z<�;M^S�h3���4N�Gr��[�
�վm6�;k�k�����W� �>P�IJQ�f�&��(��c'6�dE�"6?{�  �F*�y�L����TW�
���Û	;���ޒ�S��_7W��P�x�a�f[��RG(�P�Q��ޚۤ�H��h��ׯn��x�7�j_��f4����/���4�O�7�
_��%�d�Q�W%*��ww�e���`|���'�0

�Yd‡	T����V��L���YC��p�����q��;��0'g�ܚZ��#��UK��1Q:���LY�p�!rOߓ �ٷ�r�
�	�O:�9#�BB�ܖn��?��ag��nU��k�TIgge��&�������x;�]h0�:�dP�f�ˤN).���сv�b�Oy��|�ˢ4]\жI�D�a�n�s����Q�*���
 [...]
��
+\�/(����g�


кG���w�
����g��f<�M�4�Yu�ӎ��F'&
���}�Xg
+endstream
+endobj
+816 0 obj <<
+/Type /Page
+/Contents 817 0 R
+/Resources 815 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 794 0 R
+/Annots [ 811 0 R 812 0 R 814 0 R ]
+>> endobj
+811 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [99.832 597.904 133.366 609.859]
+/Subtype /Link
+/A << /S /GoTo /D (main_Sch99) >>
+>> endobj
+812 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [238.954 597.904 292.961 609.859]
+/Subtype /Link
+/A << /S /GoTo /D (main_BDHetal05) >>
+>> endobj
+814 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+818 0 obj <<
+/D [816 0 R /XYZ 90 757.935 null]
+>> endobj
+819 0 obj <<
+/D [816 0 R /XYZ 90 733.028 null]
+>> endobj
+821 0 obj <<
+/D [816 0 R /XYZ 393.867 559.856 null]
+>> endobj
+822 0 obj <<
+/D [816 0 R /XYZ 90 542.435 null]
+>> endobj
+823 0 obj <<
+/D [816 0 R /XYZ 116.849 425.912 null]
+>> endobj
+824 0 obj <<
+/D [816 0 R /XYZ 90 409.185 null]
+>> endobj
+825 0 obj <<
+/D [816 0 R /XYZ 353.539 291.968 null]
+>> endobj
+826 0 obj <<
+/D [816 0 R /XYZ 90 275.241 null]
+>> endobj
+827 0 obj <<
+/D [816 0 R /XYZ 127.27 211.514 null]
+>> endobj
+828 0 obj <<
+/D [816 0 R /XYZ 90 194.787 null]
+>> endobj
+829 0 obj <<
+/D [816 0 R /XYZ 195.948 131.06 null]
+>> endobj
+815 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F31 506 0 R /F10 507 0 R /F11 446 0 R /F23 368 0 R /F8 540 0 R /F79 505 0 R /F87 820 0 R /F86 597 0 R /F13 581 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+836 0 obj <<
+/Length 4828      
+/Filter /FlateDecode
+>>
+stream
+x��<]��6�������Y4�
8����ڕ=��{���*�ę�F�&�Ɠ�_� H(�
�V^D��F����rq�(o_���WoT�0��T.>�,L�P�������%)Hy�"eY.��������jEE�ܷ���m����m�l��,	[R~���y��/~}A`�rA�
B���z�⧿��
��eQ��ţ�[p��]|x��e-!���RV�R<
\ ��!<����ƍ�=�����u
�n_�,�pW��}0�}��ɲ�v��۪���C�e_�|S����o��wI�=�����߹��~W5U�q=G 7��
+W�ks(tkk�f@����
^
�
gǦuպ�k�p��ѱ�i]Ӈz����v����
����O�s�%8��Op���+"�5���޿�o���MW�a
 ��ՊS��c��_Q�|t�k7�?��k����k��aI��
�	�
������m����CWDչ�u�{6C�4F��6� ��Ώ�xE`��|�}�n�<�Q|W�
w�v�p4�.���B:�BA<7|w�sY�֏����
�`	o�wWD/�ƽ;�����1�6�f��El�w�>�\����yJ�N��v[��v�����w7���*���C�v���LA�E)����溫�'R�G ?5�گ�:����D��z�Ld�R%=-��=Z��e�����.o��!�u�+�(h�U�T���m!��
+f%���7ߥ\��(���(�� [��b{���KUH�A'G ȶi����v����_���(ĸ
���'���[� ��2�\���,��Z�C�Y�,X)��dF��:AN�,��C��xA���
��+��Qb��:�Y^P5v@"�l����M}��]��G$O��c�P����"�d�^
��큦v�aܑ@���-��d2�m0����U�HA$t+�0LYf��M�XM�zd	=2�[I���
�3ɂ3���U-h�)���6׃�{��R�Sf�#	}%{C���+n�kׇ��
���̶���]�Y�)�$@�S����E �%���"�� �h4�ӳo���_O��~ߴ�c<�����_D�БnF���5o :�4��ͳ
t���T�5p��7��SQn���k3��
CŴ���C�A�Q5t�P�ĨX��q�	��cf�L�v�i�>9	�K�&B�К=Vװk�ﲳ�������8��JZ����} �����$�.��#�)-3�lE�\�@� [...]
+�ʾ:�DS!��+U���x
�d�os(#���h
��꡸� �M����c��lr�U�x
�|]Q~�fe(��r##�h!Y+#8
g��}����D
\��~�a�5@ �AE���^|��V�2��Pf��,p{F#�Q���1�ş:3���"�
~���~w�p@�����HjɹIn�-��x��eV��	uJ�u��
��]�� cH�C�#�6�`�Y�
v"�9�M<�hS�3ڤ�g܂`�9�`�P\���7h�
�Ӵ��j��K�H@
�^J������ń������	�8C-%a����^�QGk�޸ư/�< �]u�v
+qA�
S`���Y�ؘ�f��Z�~�4�o�^..w`�~J`��k�� *�e�
1��@]Z�Vk1�1R�]V�$Y�I��qD�s�E���p
b��
z������ ����՗b�bm2 	�鋔<���1��Z�P�l0�J�����z��
�o�h|�C�"�3���|Y�N���
� �9M q"hL�D�m /��@'��,k�M����P�u�|�
�X��/���'����
p�4��
Ř��Σ��`��Q
��
�����[���Q(��U��	̈*����.s!A�M� �v=�۷���%�����tnb�L|��\RL�ۏG��v�C�!�/Eb	�~{Ko'[�>6ۭ'	T�[
�g,(�s��ް����Hf
�����L�w9/@+�یDW�Ƥ����]�4b�ߔz��R��7���4�|���oT
�9T�s�����|�V�Dw�"%G�PF��s:
AV�����nq��&e^ k����hoqR{e ��x׬�
�5W@��ґ2Ih��
G�$�s.:��Ú"֧(�K��Xrp�Go ����i�"����
&22:�ˢd�-9�>1��Y���m@�_n
���/�#3��d�e�?^�,}����NM��-�
��M���=^�fGIp��m�P������P�2h�%x� [...]
+�Z!8^�s+�U�zȀ%�m�����t�_��nӀ^��;[;�7����mW��v�����)��
��ᐔ��
+��
�?ۦ�
��r�!��$
��D?д���&ꟲ��g���F�W@��)��b���u�\��
��� H� =��МB�A��
r��qz
+M�|���ҩnf6N�T(%�R�S�Eqe���2 =ŕW
��!��L!��	�
K�
�،p�u�R��[��`�Z�5Gn-t�p�����5-����J�
l78f�{(���v�[���w
e�)&�<[b9��8��d�xt
�xE��ZZ�byu������\x�>7<�y�$yi~&@��s�cs3f
0Ħ��V�� ➋V�B(��hE&A�J9(���T�owp�x�40\s۸�b|?�ģ
�Nr:X�&��Z�b�]��'�f��Z`l�b��
=��=H}�H}��rpG%9�Ly�L��S4�O��pM���6�.���5�L

��9&���o+���qx�m�̘[#`V��śĮ>�GR���H�P��V�)��:=k�
���
3f�,g,ngޤ��M�u->yw.D�w�����jʒ:#'l0r�>�"���\�!�2�<��=��0�J
�OZ%�ٓ�<�e~1~QU�
g^��JS�`�y���]Y1����}ݍ��|�1�$,h�
�j�j��G�^7u{ȺvhԥI��˒/+i�Fg�F���S�E��r�IN��?��������
�g��L$)�b�*N�
��ǥ�i��X��
��T�}pt������;8�����v� �l���f�l��Ņ�ӎ�dK��}Pz��Ζ��bH�_q�=v��g�g
��w:��Xq�]�=�w�&cc��9����|ݽ/����*	nn����;�N����������8��$
+�O�>���΅����r���9�=r��J�%XFNQ!�>jWCֽ���q9m�Ij�,s��e��؄�2e4//M>���z�Hsۻ>Se���6ns��%��hؠ׹ lw���
+L�$Rq��QL�86E�Pۘ�9W�
����#&�N�j@ą��r�~Zx�.��JK���6@�����}�����B�F.��Z��������D%�(�� ���-���S�'I���lhH�����
+h��s(;y fűޒ�G[:���q��Sj�H�/͓tF�\A}�0�~\�_�{
�^ƆA�����1+���BSZp�9��-�*N����������
-) '�R"�u��
s�
+)��/��D|��ד���
M�)�U�/]yR�##
��;�ӝ$����m�`�Htx�Z�
+
�
H�왮$3����K��YJ�Q���Q�"1
+d;��%�7�1�����X��7��OY�
+���8���
+	
R����x$�
��
go�K�m�D
���q ���`꓂��I�:��&��C�	�m��34h��$m\��YV3�6��
Fu玳0��@�S���bɨi���c��9�S׺�˷|֙���쩎��7��
f��(

++�r������%��笺��iF�K{�b�T�Y��
����� xbi�?wN����d=%
:J �L:TLq�
�}������u���Ɵ�ws&
�*�ֿ>��xx��bه���k簏_@�A�+��>u@}
p���.�3
0�c�g��'W�jX�
I7�!�o�7I�
&�6U�`ÑM�9��ό��T��<
|��1���΍
��}�� \�헦`�|�C�0�q�:DQ��fgI��l"
+� GuL��P�(I���VB����Q�7��b��
�Q�T,�]}ȖÂB�� eh��D�A�]y;���z���d��
?��Mֻ��}$��:�C��?U`�+�:2��/����4ZvC���y����V|�g>e�(�g\��J��s�!�{�
&匴G8\��s�*��
B�w^2Y#*�v)M,&�qD*&i�sⴼ%I�G�U�Sh�`��r:e �
+��˟)�g(��=H���)IŊ�g%Sq���}g�[w^

�
��M嗚�I�'�9����tc��3⤗cȹMp��~kv�
 �3�m��g:�?تd9v�A73U:79Tw��k��!�q�Ʃ8�S��Mw�ey^�g��I�f�2f4�Ň��R�&��>�t,H�z$D3Z�d��N%4�ϖI
ĩ/�j��Z�TߕX<%DX�d?�d��ݮ�A�
ߍ�x�[_w�y%��o��T����(d����
�:A��)���[�/�����j4�X �_9E2���ׯ^=>>�xh���h��h{!-Y3�a�I6�
���� `ӎI�#���m�h
+endstream
+endobj
+835 0 obj <<
+/Type /Page
+/Contents 836 0 R
+/Resources 834 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 794 0 R
+/Annots [ 813 0 R 831 0 R 832 0 R 833 0 R ]
+>> endobj
+813 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.78 683.608 389.769 694.512]
+/Subtype /Link
+/A << /S /GoTo /D (main_Operations_on_Convex_Polyhedra) >>
+>> endobj
+831 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.559 615.492 333.579 626.396]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
+>> endobj
+832 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.336 278.601 346.916 289.505]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+833 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+837 0 obj <<
+/D [835 0 R /XYZ 90 757.935 null]
+>> endobj
+46 0 obj <<
+/D [835 0 R /XYZ 90 733.028 null]
+>> endobj
+838 0 obj <<
+/D [835 0 R /XYZ 439.645 674.806 null]
+>> endobj
+839 0 obj <<
+/D [835 0 R /XYZ 90 658.462 null]
+>> endobj
+840 0 obj <<
+/D [835 0 R /XYZ 225.341 337.915 null]
+>> endobj
+841 0 obj <<
+/D [835 0 R /XYZ 90 323.628 null]
+>> endobj
+842 0 obj <<
+/D [835 0 R /XYZ 150.808 169.512 null]
+>> endobj
+843 0 obj <<
+/D [835 0 R /XYZ 90 153.168 null]
+>> endobj
+834 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F11 446 0 R /F10 507 0 R /F8 540 0 R /F23 368 0 R /F86 597 0 R /F1 580 0 R /F13 581 0 R /F31 506 0 R /F7 541 0 R /F79 505 0 R /F9 618 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+848 0 obj <<
+/Length 3428      
+/Filter /FlateDecode
+>>
+stream
+x��[K��6�ϯ�ek5�� ��n�n%�J����e�
85C["e��x��6
$�4v�ʉ"	����_7 ��_�ū��^�|+�B!��tq�](�)A����f�ے ��Wc����Y[Tes��
/��^1���{U� ń-)������on��]/��
$_��W���x��#���Ѵ�/��[�z������HZ�N����!�R$�m��;������~Ė���m�C]�w�M��O�쵵}�宸���=���XۙCӪ}5�I�|K�')U1�a
FЭmLF�DȮAV:�2���kʗ�����]�4�2�����,��˗�5��$�H�<��|A4HzA"�I�}_GzHPB��<F������)������"�/ս���r�	ZI+B��
�y�Gĥ)�T��
��aF�+����zXA�U�L
#�F���*�"���FD�(���G�ሳ~�^Z��E��(�z��+��4��b�.Vq��kL�
+/V
)!��#	�����S�㟌:1(l*H�0ᳰ�R��]�F�#�� �

w��̈
+>Pi�@^��@n
�oyZ TI���DR		PQE'�V+��W1����m�U{!f�x���{�9��2E��f��E�Տ�;믽V��5ƴ,t�O��~���}v8�
+��M��!xV-�bع���7��m\We'Jn[��@?�o�	�9T���|Sg/�%2��V�Z�ٽ��L-���7/�&�˻����w��'�3��s-���~���YcZ�K��Y�����7��֙���}mTR�
�
�	b��V���������lڬ\�/L��⡜`����+�fD�Z��\�i��ԟ@
+���%
\F�x
-01�Q	&;[P 3C�9�.�
+\�Шh��N��$�e��sq��P��WR��vJ�:���X���(��D$��zO���
�wT
f�,�N<a#%��%G��pm�
8O��﹵ؿ;f��}�:P	n ���5�8�p��oy�)K�d4р� F���Е���E��\8鵡��1�(�+6��h�z:���I
Q7o�a�ͭ��&
2� � �9�A�A@�W
�<f
~P 
| �(q���� J���]v���cG��c��S7q
��
�3��A�������7)������0w�G�+A��품� �ʷݯ#c���P$��$F�rڈ�$!�=�|qI�ܒ�.�#�y�^
���+0
+p��V�in�4�
 (�W�]�>�y�
�2}��H�W��xm⤘���Ǭ��*Q�&/�6����B�1 � #��_F�w��
+�Kf��E�/B��k��V�Ą>p���#q�0Z���;by��vD19G���ig��W��xbȼ<�u��.��`��q�`���"��
��~>s��k���:@����8qq�ӟ
t{�D�"�V$޺��
�_]����-�NB����i	��U,2R�����'ԋ��E�_�{j��z,l�g�����h�PJy5$%��Sc_W}���e��|����彽���k'�}�P�6��콸y�ًq
步$��\W�}�����@#�/",�>/
'�������
+2�:+��U���]~T���Y���ȹe/fL�R����x8T]�
+]�@j
��"
�7�0j�/V+	�'G��߱�1�C�M'3����h�Z��A�v��i�}W�:o�ի�����	�X�s���I�/+�ɀ��!'�9H�;�5�(Ū���T
+	p�+�"�w�G9OS��>_��w%�e
�ze
@v���
2���6"�
p���4pP�DSV�)���rc0)�C��m
�o+O���Ǟ���T
G�}i�wbM��0�+
�|0��LOy�`�.�I�����=�]��0�����٠c����۹�N�n�N�e�X�3[�q�4,C���0Nՙ)�:�
�
;�V�]�����x�~E��0i*p�K
+_S�Sӵ�0�EG�R�����:��)�7�
�E H
Dp[W�H����2��oRl��7
��t������X
+�qI�yS���ih*SV���?��`X���OK��h����"(Y3��puZI}���a#�����kH�
���}��;N�D�C�4$(#��9j�1�3`(�aHpC�%ź5�9��ü�E��y'����+��H8�6OM�6BS�6����Tm��-���<E�%�w��w�D|����ln�M 6�@��0��
e�nج��sv,w�n����`~�l �Gw�쥄���&���!��#*nI=���o}��v���
H4D骢`�`���1C�W��FbGQ�w�MW�	c�x�=.���sg8��"@h��ę
+���X�3ck6i+;�s�}y���sn���.Ϯ)�
9Z |������r
8�ϧ�!�fG��,�
83{z"fc�_&�M�O�
R�O
}��Tc��j����vF�c$CT�J�(G/"��"�m{]���z7��ʄˤl}aE��l:[ꛌ�0�
�P����ү$R��#�&"�bvGP�����!L�M��[i��=\�
+�DGd�
�P��P���m_��Ʃ�~|\hr��QK"o,&#�:@�%�|��=��L=�x���	^����
1�C��L��4'Pd���tJ�
^��G:�o	�*������2�/�%=�
�/����[:ߧM����zЙg3����f��*�{á�S;�
ʀ����aP5�aՀ����jf$.q�'

��3��:
�$ϯ�/Q/�X��sZ��r�ϑ�L!៖x;!݉��~N�
&�D9t/�e��f9�f����N�j[�i[S���^�
p>E�d��S�Ju.��9s��Q?I���*H�bn��]��DT�J�_8A�.��a_n9���xp���	ż	L
Z�{�3�l�)2$���e|❆SS�C����H2
��k����Ǣd(=eް�z;���O��9����4�s�
+�fE�uG���;�e�u�Op�۱ԯ��X
+����P��J׿t�eպR���҄�m��@l��g�Xt&�
+v�5j0�A
Mż�Jy!h��
5�9�0���61����j���
�#f�)��|�
:w�2}��zĪ�5?Te���J(�A������Sm`�DEK�B�Pӷ �k�4hӷ��}�J�S�tP�E��X��D�����H
o�3�j�Y�A� �b|
D��s ���2;j�̱Ξl�N˻���6�����
�I5��mP�
�F��ϩ�_F۾�


�8�ٛsI6Ú	��U2vq^�@
[��)�	07��E��_�R�������Ps�.�B�'����'C]�;��S�{����6��o����p�������|\��[7E��?��D�̥��湛����E��{��B�����/?��᫛���G�nб,5*ڛ�aw3"r��	I� ��l;x�.�-Jx�7�D�����
+endstream
+endobj
+847 0 obj <<
+/Type /Page
+/Contents 848 0 R
+/Resources 846 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 794 0 R
+/Annots [ 845 0 R ]
+>> endobj
+845 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+849 0 obj <<
+/D [847 0 R /XYZ 90 757.935 null]
+>> endobj
+850 0 obj <<
+/D [847 0 R /XYZ 453.524 637.416 null]
+>> endobj
+851 0 obj <<
+/D [847 0 R /XYZ 90 620.355 null]
+>> endobj
+852 0 obj <<
+/D [847 0 R /XYZ 90 537.037 null]
+>> endobj
+853 0 obj <<
+/D [847 0 R /XYZ 90 522.466 null]
+>> endobj
+854 0 obj <<
+/D [847 0 R /XYZ 491.236 127.673 null]
+>> endobj
+846 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F11 446 0 R /F8 540 0 R /F23 368 0 R /F86 597 0 R /F1 580 0 R /F31 506 0 R /F10 507 0 R /F7 541 0 R /F79 505 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+861 0 obj <<
+/Length 3911      
+/Filter /FlateDecode
+>>
+stream
+x��ْ��}�Bo�TV\� �ه8�7v��YO*UY�R
��a,�2I�x����A���=\�'� �n4�F�,�
�xu�����/5YY��Z��-
+�Њf����f�fI3J�W����Pu�P�M�b�,��>_��rg�^u�'(B����o�������+
+ɂRg���z��G��@��
��"_<�Y��`
����W��"�e<#Jl3���WW
u��xY��z��T�*d�b"㢰���W�+.ز�|�Y􉔙(|i�x H�)���6��U�Q���C�^S�|[o��s��t9x����+�w�J.�A<�ݮ�fr��۩w����� �-i�����WW�7fƒ'��e	���;�Zi�ꏷ}5\O�F��Xj��@2%94hVHG��P������WM����>K����a�m`��ָٷH���]��1×�*
�V�����}Z6n�}y͈[�A����j]#\��=3��~ni� Wn�h.�2�^	R,�2'����6%��'�r_�R��_+�kp��C8 yl?�ێ׽�02���/���$�z�R�;m������pWwU��)�ݷ{�FW!e7~׵��

H�hu������u�w 	��w��� ���k����uW`{}6�Йb���á�++L�	�0q�1N�0}��|��D�i������
J*+4�q� � [...]

��
�H�F�(v���)�T���ú�S�h�Ȋ|ą$���^��Uz�>�}h�xa;���
ڭ�FN�(�|�M,1�s� �d�,��\e�og4��k9X�ƅ�K	~��Po�{�4�*������C�9�)U<��ޚ$�f��q?V�2����l��ɷ(���X%a�<J��_�
E �2�Rhr�G�p̸D�X"�(��II&3��L�����2�Ԍ�g���D�J�K
6a���*@;��f&J���U�Ӟ`�
;��Yۤf��H�:�H�˂ �b�˖��ZL��A��p�>��r�ќ_bJ�x�MH ��	a�%>��#�"$���L��>�gZ�ǎ��c��cN�d��$
Mk��%E�
V��,J��YT�cQ�����h�b��3l
D��
u_�J/��O`�j�s3����9���
&�.ɨ�g�cF�"8,�F3~ʸ�U��z*��KG��������U)T$�������2r��i$�)0��$�V��tB���43�J�`lm|� [...]
+O
���;e�i�� �NJ�#����8����!:t���
amP�X��֋Ԍj

wC�<0VȔ��I�$���r=1v$���ˉ��AC�4|�aL<$D탾�%\�l�P�v>9T^
=��4T��BE;
'A�*��WZ1xR�l��19��%&[R0 ��@���8�8�Q3�"G���e_!a�
��[��ص�o�����B�zץ�خ�G��w~��~g����/0|�O��Q�ޗ������g��)�Y�W^�����`*?F�s�'��9'Ԓ ���%ӚZ�>%2�`��e�`�
/ n6��F�?
&ل��
n�f̈����=rD�g0v�lG�L��1��7�!��!zN���
���Q��8H(�,�%��
<�dV\�L
5e�Oh�k���������m�Wu�X�i
�T
kS�ʳ�E��
K^�
rb9�	X	�<v_���z�t��{�t6��2W��y�@#���)5Z���'����T��.�U��
[�0
+񙔗N|�\�R�ϐ����}L0�t�p�V+��3�L�����h�V��r��:�Dn%BD;f�+@�YP|
��d��齳/�����Χ�������'�k:`�!6I�-R)/.*.�Q.)@ ��gyP�Oƅ����i=$"![pv7#s��J�J��\��4�%f��O�
+
�p{;���|�ۭ;�r�1���u�<�]����;=j�R@�-�,�|@,I*{
+��~9{z����O�ͦ\.�S�z�-&��E*],�����6
4�I}��c�X��,���rb��BM"���"�
���>��4��VM�������m��z&�"�
�L|��Ul3)�G�"$7�Qf��Q�}-�P����8ϴ*.m�託�]W��wv�
�
jL`�{ȕ�6��X5�d4�t�B��S�@*t�]�2�Zϊ�<ߛ��M���
 �A&O�dz��g��9�@	�W~	a��0uٗ&\\��
+R\�kh����
+	;�vI&�����pj�I�&��-���C_�-' d��d���dz�܉묝���1�*pʸ��	��g�;��?ǹ�=97�s�0t�\�B������!��eN
�����
�c�F��]8DT�i��{��g��� '�k��ε�"�>���7G�
	H����y?G��~��~N�)�
���9�}��Gt$�P/'%���щ;�s�I�&�}?�hVL���1�@AYEe��]�|Yo�椨�?_U&��2���.�zE\
���4�Eá�J\���Gb����vD�|js
 z�m�}ibt���;��*#LU�<`
9V
����֮�60���i��\�t+b��]���ˢ���_��0<-��
��K���������j(wD�8�sM�JJ�W	~l�I!y��MЪjW��PM�J��1C{��X�#��zPX�'�����.��
w���:�"��.�_����C/?�:�z� �r�xh]��ٕ�rW�
�r��|z���)�W�`
�&˿�C������b��I�7
=�n¬ff�O8��Z�u~H&�I�{w_m���2���lC9kb[3��ƘQ�K�1J2�@�#B��q����}<L�u���
���
�>Isĉ�t� ��D�:��
��T��,}����bvc��=,��	K�dfL�. ��"]<���"{
+�

j
�$��*	�����
7�k��0X�6����K_r0(Z���V�ni)�S?�,.���%��~��Nx����e	ffB�
+�3�F�L?��]��BV��7Du��JS^
�S��
+�e�JS���E�Ԍ4�i��L!Ò���sW�f�H_?t�P�kypw3�0�x�<��h+&u�l���'�u
�݁��.w�o:
���A�9�.�]��\���}X��
Z���z?~ﴼ����IH�O�����m?��]Rc˪VC2�9��[%f��I�8/�ƞpg;% �^r��e�#����QYrR�\?�Yc�(7����
Tnܘc�O-ͺg�0W����5�HgcH��x�
���ֵ*r�&�2�Pj�$�?�J襁����{0� ��O��S���i8�m��6���U���Y�]����^-�r�ow֚��c¼"Y� ��
�ĺ�
+�A���cu��-6S�?�����՚�eMQ�WZf�A�E�v�����<�	�~%ؕ��Xn��Oww�_�u�'C504�r�E�*e��X�*Dl�\l��� ���A���?�~��	9$���	
+�|�q���)ޭI�x�6E
r��*_�N�i!����Uo�+�U�F�łfB�F�i�C���Ckd��~�x���+w���i���y� �����2Wfϱ|���

+��8�
i9�o:{k��1�)Y�QP9��@��O:����ܵV�bŵ;
*7
��X�f�t~v!$�mZ�^�hd�c�'
c���G��S�P�ȵ9�o��=�
��C?���?��<+h������|@�(cG�0��!i���3���]��w����7#k��?A��K՜���l��LW:�� ��R̹�•�+�W�}���^�� #c�������a8|�����C��cS��
��'���S�V����bV�����!t�36#�� �%�
+endstream
+endobj
+860 0 obj <<
+/Type /Page
+/Contents 861 0 R
+/Resources 859 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 794 0 R
+/Annots [ 844 0 R 855 0 R 856 0 R 858 0 R ]
+>> endobj
+844 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [373.077 695.563 412.698 706.467]
+/Subtype /Link
+/A << /S /GoTo /D (main_Wrapping_Operator) >>
+>> endobj
+855 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.366 367.845 371.373 378.749]
+/Subtype /Link
+/A << /S /GoTo /D (main_BDHetal05) >>
+>> endobj
+856 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.24 165.938 230.92 176.842]
+/Subtype /Link
+/A << /S /GoTo /D (main_Widening_with_Tokens) >>
+>> endobj
+858 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+862 0 obj <<
+/D [860 0 R /XYZ 90 757.935 null]
+>> endobj
+863 0 obj <<
+/D [860 0 R /XYZ 90 733.028 null]
+>> endobj
+864 0 obj <<
+/D [860 0 R /XYZ 90 430.348 null]
+>> endobj
+865 0 obj <<
+/D [860 0 R /XYZ 90 422.077 null]
+>> endobj
+866 0 obj <<
+/D [860 0 R /XYZ 90 217.179 null]
+>> endobj
+867 0 obj <<
+/D [860 0 R /XYZ 90 208.908 null]
+>> endobj
+868 0 obj <<
+/D [860 0 R /XYZ 319.418 169.091 null]
+>> endobj
+869 0 obj <<
+/D [860 0 R /XYZ 90 153.168 null]
+>> endobj
+859 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F31 506 0 R /F10 507 0 R /F11 446 0 R /F8 540 0 R /F13 581 0 R /F7 541 0 R /F79 505 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+876 0 obj <<
+/Length 4015      
+/Filter /FlateDecode
+>>
+stream
+x��]s��ݿB}�<s�� �d��ϴi�\sח&iCK��D"�����w
� ٺ^���E@p��]��|u��O�~�����s�*Yi�Y��[�|����w��Wk�����������Fj�~s-���|�X�C=��/�v��fl�Fr�gk�_�_����J��|%�
+:g�ҫ���o�j
㟭8Se�z����L*�߭�^���j��V*ƍ&l
++�ׇ���qW��_��Am�w]OO�j�@����b+[?6ۺm�{��Z�� ��a��L�:x�C��񬊀m����C�n"P �\h+)�)� �]�o�zK��)�d�Ո��Ǿ:t����kv�|s8)xQ�n�`�v��j�&*�F�{��7UK�ۚ��C���x-�ö���z_��{Rp�#��Ldӎj�+_K���z�,��<cy�{ c�yh���j��m=l���cٴV�H��{'`_~z���>��7o�,�o�$" ήo��_�X�I��*b�y��HU�h/U	�w���{<�@+�t�}��MM���0�{zV����o�
B�v4r\�kdF���#�{����ー���<�2�FI��0�����
=5�nk)
��'��^�E�̆�D�-�e��C7�
L5Z9���9@
.V�עkmQ��~��Mk�
�m_�
+���0<~��������r}
+�c]���D@�kwO4��=�nǪi-]�g��ñA�T�;7 �����
о �U��݄��p7�v��$hiW�Hز8b��l�=5���j��H���$�v|�
���O���UƄ���O6��SYIp-0e���7�S#P�(�t4�G_s.�ft�Cw-��4�l��?��‘ ���>��
�P3�
��2
+
l�}e���)���p�W^�[NZB���^Z�'h�5�;����;��6nȉ5��~h����Vؠ}
&U%t0�}�r�U�D�S��ɔF���q[;�he3 at p��
c�
�pW
��
4U�|��v�1K>��jH��^�ԡ��R7��^ݗʼnRG�RavCGp��~_��?.�k �o�̳%\���Yz3}h��[�mw��tG�a� !"����FMzs���v�鸩��㈗Ql�d
���q(�wlV��3
��'[] X�i�i���&�Ӏ ��l�I��!��M��H��P{��'�J�	'��(�{1�|��	�PLH�������L��c��y�
�,���BY±[}lv#u��nO����Z
��}
L�ͮ���.Z��$Dt�
�B����ְq0ϓ#��	�îi7��&̬5�A�mU�#?��~Q�[Z	��y%�N�
+�b��6��a��P���}_{��1IWj�
Ad�j2傲
��X�r��
�Q{g8X*���39ka�X'c����i�a����2���JP�3���ZrZ�yu�X�Q]��HG��a�&��rJ?�&���k�Z&$L�,�M�?iF�R|�<C�"_�h���T0DRd�o{�`o�j��qV
�i�iz۵7�������nA���
�`�
��:Ǡƨc=�\$%Ҁ�ˉu/K=Al���@���
�
+�)�\HD�I=����1|b��ȫ 	Hhp?�$׈�)08^N�/�h���\�+�E��V��E��
�G,���̔�`x�lu`Ɍ�"�2�@�M
+	Q,��D�{,g�>{\���}�X	! +d�c/ZR&v��:\3%0����3V`�/���HPD ��@'^���3ﵔL*҅D�W
��̺$�i��*^p�*�I���[xi���]
+�\�h�9X�P�:]$C]�.�iKlJ�|���2�Bk
���v�`� �+�[�c�la@0�1T�e�Y�Dx���ʰL9/�M�j+	�U�hc��1
gZ3	�����Q����
����^~�Dʙ(��P�+��
K!�g7m.A��yU��.�
+���ё�;]IYs~\VD\05����N����:'~"A݄���寸P��)�(Eq��Q@�� _@ܘ��}59:��7�P��U��a ���/H�d�Kue��@�c[�{!փ.�j@�����X��1���
�#���mmW��x� �S~?�{@��'V�qb
��� �$�����uI����)���
+8���
���y]�ssuä�4rI��/�oSP�;��d��ܦ�u�!���H0+�Ʉ

Y���Z�BK8�J,����V�D_���]
+ (�R. 
xj�G>���d����
NM�
�Uө//��A,�
e A)��C7���Bg���
k;ѓ<�4���
*t2�)�|i�
 �@���O�#A�q�#K�
��`�zS�1!"&

S�d����Ĕ(i&�yf�+8�4�d�4/���C�I���L;Ez!u
]�`�_.\�<�����)}9,�h+q*�堧í8GTh��H����e~��Ǻ��%'��=&s7n��c࿢���0<������D�H�����q�sI��,�����Sj��t�ӵ1i'F̤'�(-��t�ș)�sb��
2���D�B/����ja��2
�
m��]��MR�`����yI����&���4�3b�p�M؅\��������{3�?�͜������~ٔvD�2�%8����"�
�ݎ��֮��/�����̑�#���0�1Ͳٹ�	w�(!����W�`�)1����9}�z
T����;���lD���4k���Vp:��ts����8H� �wQbc�g3_�p�5�ƅ?�H�〽^͂�U�Z-�U�A4�7fpR\�B���tH�Wt)M��ED�R��26g��buF����\\����C51��b��p�w˙��O�U;Ћ�g��
b�,.I
[�T&>rӞdp+t�ҵѫS$��/!���Ȯho"���z��2����{��"���WX贋�ֆinꮢ�8�xN��
�"(�^#c��]�j$��\��g�k��vpd{�X.&$�¯�^�Nߏ�a�̍�V���𨘃�C��pA4'��tb�ݫ��n*��3�/�&�;'ڬKG�5�3�Mv��
B�����Lp4
+&�"r@ߜ=��UA���|.����Lwt���.��~[�T �T_�3��S4Q�����Gm�ps��h��	_b��36H���E�8U�m�J��~�9�"r��^8f\��j2�_�bu:g銫Y�x��*e���
�oO?w��Nh���

a���5���p�I�Z�Ps���pWߘN�o^�eM�
������`��
+��g&S�w�:J-�gs����t�����l.uVN �ټ"�'�oK���Y-��-��$�d.Xn����ILn at _����I���Rb-2V��%WS,
+�N\M���%��7�{�F��G����	�<�����EuL�
++2w�`���b�_0��k䷸��z�Tn���&�_C�d
ir*���6uﮔ�����]s�W������{�\!��s���O)ץ`"(�q%�x���� �L]nȣ�f�*J�9��2q4��ʒv
+�SA2Ys�h��
��Xع�=��
�R��C���qm�����MS�u�"�s�����M���
r�Bl$Gbۊ{�w�Tޏ���;���s=�@|�!L
&J�}}_��JFM�E2() z*Lx!*`�aS�����6�s'�:���H��Tx'lZ&�-?,O�rK/����O,p�(P�NC�ٶ�
]6��=m�7N�NueSv��{�Q�z#}��t9��
w1[����]S>>�nb[�[_�r�8�
�B�Ԯ9�o->]��v�
_��v��>䓆�3�����D��O� .�����Q=�
[
Tn�&2����H
;]������8BuȃV�a���F�M��{���k��Y煗�޳����G�dM2�֟�?�.� _�ŽM���B��:^�e���0��+]2���h��	����/7w�Q��T��#����������W\t>L˜	ᾳP��ݣ}}���]Y
�F�d|���x������G�رm=k�ׇ����%
�L!L!����������_o�^�
+endstream
+endobj
+875 0 obj <<
+/Type /Page
+/Contents 876 0 R
+/Resources 874 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 885 0 R
+/Annots [ 857 0 R 870 0 R 871 0 R 872 0 R 873 0 R ]
+>> endobj
+857 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [448.533 707.957 486.501 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (main_HPR97) >>
+>> endobj
+870 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.495 577.714 266.135 588.618]
+/Subtype /Link
+/A << /S /GoTo /D (main_Bag98) >>
+>> endobj
+871 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.01 577.714 392.525 588.618]
+/Subtype /Link
+/A << /S /GoTo /D (main_BHZ04) >>
+>> endobj
+872 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [303.467 554.178 428.905 564.708]
+/Subtype /Link
+/A << /S /GoTo /D (main_pointset_powerset) >>
+>> endobj
+873 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+877 0 obj <<
+/D [875 0 R /XYZ 90 757.935 null]
+>> endobj
+878 0 obj <<
+/D [875 0 R /XYZ 296.413 663.29 null]
+>> endobj
+50 0 obj <<
+/D [875 0 R /XYZ 90 646.587 null]
+>> endobj
+879 0 obj <<
+/D [875 0 R /XYZ 90 555.174 null]
+>> endobj
+880 0 obj <<
+/D [875 0 R /XYZ 90 555.174 null]
+>> endobj
+881 0 obj <<
+/D [875 0 R /XYZ 90 540.628 null]
+>> endobj
+882 0 obj <<
+/D [875 0 R /XYZ 90 147.926 null]
+>> endobj
+54 0 obj <<
+/D [875 0 R /XYZ 90 143.206 null]
+>> endobj
+883 0 obj <<
+/D [875 0 R /XYZ 90 87.285 null]
+>> endobj
+884 0 obj <<
+/D [875 0 R /XYZ 90 87.285 null]
+>> endobj
+874 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F11 446 0 R /F23 368 0 R /F8 540 0 R /F7 541 0 R /F12 678 0 R /F9 618 0 R /F13 581 0 R /F28 677 0 R /F6 596 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+896 0 obj <<
+/Length 2924      
+/Filter /FlateDecode
+>>
+stream
+xڽZ[w�6~����R�D0���m�m7�z�)��2m3�H�������B aIv�}"	@���7W(�n�$zy������D�8���M�%��1���m�&���'I_��5aI|�"Iܔu��;��I|_���w�./k��	��\�~�����.0PO"��1�e�fw���$���OQ�h&�{�j��³�^_��"9�9�(�l� ly�����y�m�/Z���9�(pw��ΖI�&)�ifv|Y��?�0�
u,*�^�^����v`a�a#��k�BD
e�J�����h�Q���� #
ɔD΢|�ף�9,{5�F BE�\��+n�&#���
�(���y�H*=RW��������8S
�+
߁���
"s�	�i:��)�.w&Q��E����<y
, @��
 ��r��i;�}�(h|,���n��CIW�6o�h[��@2��CfR���Q�,��&x�
q$/�XD�v�͢�Y�,�{��$�\,�$	@%E��h-a/��& �8��
+m�D%a!�H�.2u��
�&����ϲ�R{ �@>�0�52d��
+HhG�/����7`I\�8� %Or����I��x����
� �!�(P„
�����+�AޮX���b{�vf
Q��l꥽a�

+���14934�R>�
�ER�O	#�M�
HBsH�)�R��(� 
��/�G;i�n_lz'�V�V���2���5����^����Nld��v[ַ6�ۼ����M����"�v��o�ܘ��HQ���C��2<)hM
�M,��ώ�Q_��.���XW�#��)|�H�<sh3O���,�M
<�%�#t����p�����=��a�2��Gg�M78�/Q
 E�Ru��C�;El��"��d�D��A!�
��??��,;7�{��K21��P@'Iz'&�%G};>����H�4�$���MU��n�(�e�����y�oT�	�r;s'����p菲3Ϻfw�^��g&����Dei$4�f��m�A� 󔡌Ѐu�����Xɫ*��2�<ʦ��ƘH��Oߘ���G�77C�e#�ζA�k�l���jfd��w
)b	2���'�o6�J,�r!$�U���K�GB����W�h�3`#�.��
B*����a�
+�&�0Ux{k��__^Do�k6uhW�W>Q"���o@������߄��,�:r��R&�ı�6 &w�;6ua_n
i#I�Ty��;+ '��u_n��m�슾5�<�ݦ-���3�O$Ě��P� �C�YZ���^4҆��m�H��+a4*	dDl*��d����&
_�H3j�i= �wf�
���oL�t~p[ԅa
+F�ّ����%z����`����[�i�	>
+E��fK�V[�zq,�3#��ЄL�ǃ�Wl�{йz/��TͿ�6"ޱ�Ƶy�X��E8��XS���u��������mP��ꭉ«�
=�۟�f7[���*o�fXZ
qo��(����N(�'6���g��z�v�e\tL��
���r��J�7y?y�<��"��C}��y��J/���V�vͷ!RPD�Yx,�U�tVo�
m��e����71<�1��N
j�p:.�]�f`\��nh�,֮	y���G
�%/ *L��6!5@��<ju0#Wm�Z�<�g���/
���+«q���*�
�
	X���+
)�.,^	%�K�C��Jϑ�(�w�|�I�fl�Й/���gn��m��	{/�]֥c�f:�
2�v�kw��q#c�N���~�� I�
�~��-!�[5������_��N��,�2��c��o�ML�	2�7�}��B�

+B�$��v��}�ߙ��ƕ����Q
+U��X1k��!�`+W�
%W��W(X1�iK��%�3P��S�ZĈR�i\�cqJ�򄧁M��8Lg�P|8��q��b���Ƶ��x��С��
������u�'�x�U�,�1h�*�
-�L~iS&�+טul�
��=`��Q���2H�����n�
Ƭ4
4f�5��f
+w�5��j��o����MQu�?�(v4S4���0~QES�rW��oP�M2{�zy�o�3�y��@�v�����>��^ I�U��̔ؔ��7w�F�Y��&S
d��3peldv{��,�/�B���Op���Ӝ��%o�wMS�N��$T9,/F� �1��MU+p[��U�iU0_�a��]��Ī�
P�(#|����B������xX���=�ͅ�g�Н5�.U
���$�-�����,W>��c�J���`�I2
p��zk~�0f=݄��i�o��C�w�5�6$�*�pe�O� 2,�-_�
	v
+$���p&]a���Zf�G6mg�ǧ�)�κXj:7�wem1��?�.��98�)�6D+���Z&hq���#��)F��/�}D��W�V)��o)�N'X�9p�t�QL?��l���Dj��������+���dy|m����<����
+ih� `a�g�vb�ٷ60]#	�4��H��lI-h��?mƪ�^IݮL�ʺԷ}�y�@��]�����ˍڑ��i���aSY3�-�����պVt���Gi�t6��Gn�_x�Ӵ��:�Y��$���uM�>�)�X̘��N
�	(���A�
+������9|��9j�v������^i��/�M~膭oZe�l"�-.%`�ܗ��9h�f�XjD]b���;�I}�� �����}QUk�D4I�H�z�K���Ƈ6����@��Z��[��>�E�yLt�S�eX��/U��T���G�$bP��u������F��>���~�r�}�@�o+�bk�?��!�w����F��7V��B�uQ�#�s�
o���Q��7$�����]��_^��ߣM�u�oQ�_����:�Ό1W<&�&�:�i��
w�	,��?��� 
+endstream
+endobj
+895 0 obj <<
+/Type /Page
+/Contents 896 0 R
+/Resources 894 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 885 0 R
+/Annots [ 889 0 R 905 0 R 890 0 R 891 0 R 906 0 R 892 0 R 907 0 R 893 0 R ]
+>> endobj
+889 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [496.512 488.074 513.996 498.978]
+/Subtype /Link
+/A << /S /GoTo /D (main_powerset) >>
+>> endobj
+905 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 476.119 181.006 487.076]
+/Subtype /Link
+/A << /S /GoTo /D (main_powerset) >>
+>> endobj
+890 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.703 464.163 287.736 475.067]
+/Subtype /Link
+/A << /S /GoTo /D (main_Semantic_Geometric_Descriptors) >>
+>> endobj
+891 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [417.972 446.539 513.996 457.443]
+/Subtype /Link
+/A << /S /GoTo /D (main_ps_operations) >>
+>> endobj
+906 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 434.584 164.282 445.488]
+/Subtype /Link
+/A << /S /GoTo /D (main_ps_operations) >>
+>> endobj
+892 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.712 434.584 513.996 445.488]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generic_Operations_on_Semantic_Geometric_Descriptors) >>
+>> endobj
+907 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 422.629 181.684 433.533]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generic_Operations_on_Semantic_Geometric_Descriptors) >>
+>> endobj
+893 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+897 0 obj <<
+/D [895 0 R /XYZ 90 757.935 null]
+>> endobj
+898 0 obj <<
+/D [895 0 R /XYZ 90 733.028 null]
+>> endobj
+899 0 obj <<
+/D [895 0 R /XYZ 90 683.274 null]
+>> endobj
+900 0 obj <<
+/D [895 0 R /XYZ 90 683.274 null]
+>> endobj
+901 0 obj <<
+/D [895 0 R /XYZ 90 668.704 null]
+>> endobj
+902 0 obj <<
+/D [895 0 R /XYZ 90 614.775 null]
+>> endobj
+903 0 obj <<
+/D [895 0 R /XYZ 90 614.775 null]
+>> endobj
+904 0 obj <<
+/D [895 0 R /XYZ 90 600.205 null]
+>> endobj
+888 0 obj <<
+/D [895 0 R /XYZ 270.222 549.763 null]
+>> endobj
+58 0 obj <<
+/D [895 0 R /XYZ 90 533.036 null]
+>> endobj
+739 0 obj <<
+/D [895 0 R /XYZ 122.378 413.827 null]
+>> endobj
+908 0 obj <<
+/D [895 0 R /XYZ 90 399.157 null]
+>> endobj
+909 0 obj <<
+/D [895 0 R /XYZ 90 121.614 null]
+>> endobj
+910 0 obj <<
+/D [895 0 R /XYZ 90 121.614 null]
+>> endobj
+894 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F23 368 0 R /F7 541 0 R /F11 446 0 R /F6 596 0 R /F79 505 0 R /F8 540 0 R /F12 678 0 R /F9 618 0 R /F1 580 0 R /F10 507 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+923 0 obj <<
+/Length 3456      
+/Filter /FlateDecode
+>>
+stream
+xڭZY���~�_��K�U"43��$U��L6��\Y�Ip	�h �z���� h�^%z03�����P���Z��zy{���T-� OL���-r�H
�F/n���K
��z��R��}y�2�Z�\�l�����
��jy_����ͱ�j�O�Y�����7W_�^�z�aw�д[�i/6ǫ�o�b
��,T���V
�	�zX�x��+�(�&
T��FxU6Dzo�
s�Ys<m�5u�L=�2N
Jj�2QF9zU]�x�۵��%�&��=�"���Q
0|jp%�@�#a��p0ń�%�"	�4�pE�0\�t�
�i�Љ�(]8k>��kL�A;�(�@��ݪA1�,ڙ,��X�к��ա
�v��5�/�-�v_��	�ȡԝ����VDz~�|�Q
dI7:�cQ:� �a����x��T�{䔪 ���E%i>TF����������!/�
���di`t�7��1�VZቌ���U%욣�p[u���M��G��ϼ#0c>
+����w-]#w���y��\l
a� ��S�瀕 }��5Ep�#�s�
�/�΢�ze��k���@e���g���,����y������ I��b.�����{O
��G�����+�l
'�D�*`�&�+�?/��40IO-ۃ6��_���'�<͠�@�q��J� ��ݐjӁܲ�������{F����cj
�G��Mc�7�����z�l���v�,~�v_�1
���cQ��8��W��U"���Y�	�3��s?dW�]�
�%b
V
�k=́��N���#���M��_ɘ
+4��-����� S3c�wD�C��&� �p�H���G�C	���5V,S5�qf��)
��>^�<�N��l�nΔ5 ��e�����e+/���	:H��OLA
��#�{���
t��
+�1�Cn�]U�1M1�lys�
��
+��L
�d����H(oI
o����j܂���b
���vv����n�"�,��l2�0 �

��T���^��
+F����x�\CfǷ���my:@�79����%;$�h_,�D��4�n��g�,U�X��� �mS�|ז�s�9�x
+���!=71$M+�͞��a<��A�5l> M��֧�$�� j�u��������j%j�Ct烬씬٤Y��pjM����8>�� ��*
lz��2`�$3'�������|A
+\
(��lGd�/>VA��?bp������ā
q�9R�4��9�3"��Z����-N͡��`��
+���A��1�8T붠�ހk
O4�d�������?�����+�%D�Ȕ%Zg��V��&�Fi�)������R����I/�WWx(�._�|u��od5��K�*�3g�1��Ji:(��-�c	|��0�dT�dfy,���h
�U��%
����A��3,'���@W� 1
�ݩ�T?+e6"�H�f�ZԒ��H{�D/
j§
߈vqė��8k

I���]yX�
+e�~�����Ξn�F�&ry����a
�����s/�� 	�a�i4Q)R|W��������/�$
�R�ޛ�`n*���/J2'�smׄA<�|l�+�����L�O4k�
��|p�f�)jȩ�>\ޝ���,y���7p�H
I��P6��p�j��z����
�$vu�E;�J�nY�

���z	Q����t0Vղ��SǷ�IDV���X���-��M�@\|&/��%4zM
^����*z�0����L� �ge�[�.W/
BD��'����:�܉�r��f�}�+D[�r�`��
�M���'�mƖ��;8H�ej������bO�X�d�ͱ��a	+/BH�Ȣ�R
.�F����r��h���k4z
Cr4T�le0 at VhsR
�"<L�bF���u�l�3��
�1Ә�uMze?�U���!(~�"�0#�6�;bDA
�:�R|�r(u�7\{B(�'�W:�QR��yN��L�T3�#�L
p�V�"D5��� e�s�4��X%ʛ���Z��f@�� rIJ��I� o�8�uwn+(D8<kہ�%��x�1	 =NgP�����elK�q�.��q�ost��u����h�I��=��T'���о0����A�,#�S"Zh X4w%p�<�TZ�x�\�ͦi�@95��ϡ�G�
+�w
�6іX�$#�u;L�hP��P4L*�k�>�;�q�P�z�t�9o�~O��P�����?I�8L��+��$V\؁���*r�T��b4���rV1qK�dq��'\8��$ܒ|�rT��Ķ!x��]0X��)/K�2����nO=�8sh�hf��x�h��
���m0`~]� cy_� ��5`�8$�D��C�
mM�Ϝ0�|���An�$�r=����OS}	�
j&��#u�����ʒ8�ZILr�i�ibp��[�졜�	0%$��}J"��l���'�ϧ�4��N�_/t�B36�*BX��k����CSq��@�퍭=�un�QC%�?\'1a���P��a�*��
A5<B)��a����gAϬV���&�
+u6h��������P�&@�V�#k�fB]C��bT���
x��3���Ė�([k<y'L�=�`�,}_�t`�݋�U
ǴM�Qeh�
+�I�|��Re��Dz��@YCL�W|8e�S=�I��V��.
+�G�%6B��=��@%���wb
v=�I�h�:52���
�2x暺�0S�N�q�
)���̇����������?!��uC���Q/ �M�C;�8s�����6	
h�`0�M�Jm�M���cE�6�`��B��p�
��R�
�+Ζ$E~Sv7�� ��;@5?$�lLA������ȸˬ��h�G=S� �Ψt\!� ��
�lK��Y�`ӥ캖��eQK�2c�������rd���$)T���������FI��g,�c�
+�m	�:~`dQ� �9w���$nv�F�ד�p��B��+6{���
����/T9���\�{�[ۛ�Ɉ��N�����ˢ���L�{\�&]��l$W�
5Ÿ�d�Q��2
�Ԗ���Msxؗ۶�� �
���7T�B�v���;>�/��s��慝+�0�f
7������r���xs��
��`�2A9K�c�L
[
��r���F��*���"C��14N���f�m�r��0���.9 ޵�6Vk��-z^m?f��^��OW����X[ 
�a�/j�tc�o�d��!l��j�������;˜�L�c��\��N�
e������
O|��I@�??��=�d?e׍J����R8�܀�D�qH���Ү)�Y�sr/=�fp��F��l9	]�p�h�d��Ξ�$���Lqu��Q�S���<Z_��!<�
$�'T��Q�/�3}�������*К;��ʏT��-�ݷWT����*
�}ߟ^<~l��\W�6����O�6;��Q [...]
+endstream
+endobj
+922 0 obj <<
+/Type /Page
+/Contents 923 0 R
+/Resources 921 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 885 0 R
+/Annots [ 911 0 R 912 0 R 913 0 R 914 0 R 915 0 R 916 0 R 917 0 R 918 0 R 919 0 R 920 0 R ]
+>> endobj
+911 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 486.834 126.971 497.738]
+/Subtype /Link
+/A << /S /GoTo /D (main_BGP99) >>
+>> endobj
+912 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.241 439.014 327.756 449.917]
+/Subtype /Link
+/A << /S /GoTo /D (main_BHZ04) >>
+>> endobj
+913 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.811 358.559 266.307 369.463]
+/Subtype /Link
+/A << /S /GoTo /D (main_BHZ03b) >>
+>> endobj
+914 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 215.714 211.755 226.618]
+/Subtype /Link
+/A << /S /GoTo /D (main_pps_bgp99_extrapolation) >>
+>> endobj
+915 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.846 215.714 391.518 226.618]
+/Subtype /Link
+/A << /S /GoTo /D (main_pps_pairwise_merge) >>
+>> endobj
+916 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 168.451 132.5 178.797]
+/Subtype /Link
+/A << /S /GoTo /D (main_BHZ03b) >>
+>> endobj
+917 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.875 168.451 188.391 178.797]
+/Subtype /Link
+/A << /S /GoTo /D (main_BHZ04) >>
+>> endobj
+918 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 138.314 285.096 149.218]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
+>> endobj
+919 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [227.126 126.359 292.759 137.263]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
+>> endobj
+920 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+924 0 obj <<
+/D [922 0 R /XYZ 90 757.935 null]
+>> endobj
+925 0 obj <<
+/D [922 0 R /XYZ 90 733.028 null]
+>> endobj
+926 0 obj <<
+/D [922 0 R /XYZ 90 660.813 null]
+>> endobj
+927 0 obj <<
+/D [922 0 R /XYZ 90 660.813 null]
+>> endobj
+928 0 obj <<
+/D [922 0 R /XYZ 90 646.243 null]
+>> endobj
+929 0 obj <<
+/D [922 0 R /XYZ 90 556.549 null]
+>> endobj
+930 0 obj <<
+/D [922 0 R /XYZ 90 556.549 null]
+>> endobj
+931 0 obj <<
+/D [922 0 R /XYZ 90 541.979 null]
+>> endobj
+932 0 obj <<
+/D [922 0 R /XYZ 90 440.01 null]
+>> endobj
+933 0 obj <<
+/D [922 0 R /XYZ 90 440.01 null]
+>> endobj
+934 0 obj <<
+/D [922 0 R /XYZ 90 425.44 null]
+>> endobj
+921 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F23 368 0 R /F7 541 0 R /F11 446 0 R /F79 505 0 R /F72 404 0 R /F8 540 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+942 0 obj <<
+/Length 3101      
+/Filter /FlateDecode
+>>
+stream
+x��ZK���ϯ�-T�
+
|nR�������xǕ�׵QЈ^��I*c�ק��K����+�!�h6�F?�n��<n�拻�
�^~��M&�8�7�M&7I�(�7��w�/�p��޷]Q=nwA$��dh�U�ou{��/��Sr��×w{���·�Ʒ�D$*���ラ�п�H��t�d�Λ0P�,7���u'������%d
��I2O�#��c�
"�?[?�LE3y]mCɴv�ޣ�rÓ���R�cd���Hs�%�
o͏��5gS�D/:zVuO
gӿ�Q����y7�S��.u_�L���n���(KT!���"���{�w��uQ��@&{u��v�
+?M~��9A��AN
+f�
᳤���_׽�Q����ܔVG��t\0��Sw������5x�P7=
�H
�e_����hxe ��������ɧ�iZ�M��*�+�����
����'sh5�t&Ga|�v��6|ֆ�뮟SX?�`
s�+
��E�<�]Sy���6��ʠ��>��yf��i�Í���
+��U_�����,�j�<�
�I��+�>������Ǻ'>w�~�� �=�izЖڮ���E�԰@��$b^�%ؙ��n������^c`x2cxhQCvo�\W����4+IFh*cҞL�R�|%��D*��b�����.�
 �7��*~��M	�D
+Dq.�Z�Kk5��]�
���5=��
�
h�����pĢ"�3�v];^��/r�gP��c"� $�7(,���۲������:��
+�3>������e�8��yOr�W��
��d���L����
���݌�
/p|E��@�+����b^6	:*J�T�����}ކ&?	��i�^� �=�j��X@�[XN���@L�D�q���Tq�~�D&+�
���� LC��Q�J�3�¹�iL=�V�3�Mu�m��mӍ()d��N>��?���8?��}'��e��%c�Z.Ѵ�*�-���+�1�D��+QF���s*�
�ù�T_�����a��ŀS
H
U?Z5��27dӇ�9�I'S6D���XQ�)���h���V�(w�gw�� I<��S�QشqBT�/�fFvM�,�����g������c��o�� ��#�$a��%X
H��4�+�v��h(z�J,'��Mw�I�u) �� �t
��`�A0vy��i-py;P�غ;�Ho�v�#��r�Ɛ�PlU���G���q���T!+G�"B�u�BE��ˈs�f� 	�\��c. vZ��7�y[���2,�Z$����I~�I�>�xa�f[����,g�aJ��b���f�� [...]
+���
b_�t��TF�	T
+�i�걼��t
�DS`[=�ɶ���R2�Vo��7�$��sc�������(G�,_���eL�O�jab��yϙ-V�)�%�����_����s	�B�y/��4᧋4��)���,�"s�e�[�?L=��1+>۴uNiCv,;��C -p��8z��3V�{~2�G�A!r%,1#
�(C4�i��:
��Tw�d(�-�gVW�ӛ�*�Z�@4����*d����cn4�p���Hޔ�r�	����7�[m�
F _ :�G�+>����
�o�g�醨 ���MU֙���(^>a{�W�?#�CÉ�.�l
p���8��—4E5��"��y%+7��
L}��2NV��\-�]*�"罌d!�xA}
�Lv
s�J�$��
+d��8r�
'���~� �a9l��M
i��4���Zt+�&�DN��4�VA����ae�0~
:�?�e "?]:E�f;<��Դp�z��`�����Wcs��
��S����\��y~a{�{�n:,��|��SCT��
+l �,�t�e	��C��L��^,�hʾL9��b�j��Q^?|clE���v9�<f���‘-�����ʟnčΛ�
+.��`��~|
�k*���+�0
^��t&g]�L2^�S��ȣ[y�y(�.U�w����Y��aí��g@LPͶ��5��5�#�q�� �cV�-�i�΁o�5�|e3ʻ�a���4M���8UQ��VU��1W13DE�(�'�sce�p�
�%r�#�
%3�mC[��;S��d�[��om7Q������]S��Bm�ɲb-�Ceޚ#!��_:3���	oȍǺ,I���Rbo����p2kݓP����g�G#}���OeK_�����"�K80ܿ[B��,^�o�"�p;��#�t�AݯD��CH���
Ch|
����I�~�TP$"R�v���0���H�f���pdm
�6�sː�43��?TC��7�,�Y	�rE'*�$����./.���⸚��jn��4v�c��n
[@�J�h��g���]<c?Q�; +�~z��:���D����{}��C	�c�v���$�J��o�E[����^�b1M���[x�����t���I7fŰN�#>�EoyX�
�%�t
��~j����}���͆���/�Z������a��^�
+
@[D�[0�`����2wo�b���"@,���6u@��9�{]ty����
+
��@eI�x-��M{��݁�âkz��bީ����a%kk9��
����nh�+
t�"�kc:`q�Q�����
����!GP2�"ȵya���������ɡ��
��VcG����o�F?Z�`�U��u�� ��������%
�A8����n�r��#q��pih���
��y
JG8j�ᢩ�?$����SM���
�����[D���pj
Tv (:k~
�k��	��o�j���"��?uuq?.bM�Z at a%*Ȉ��G�s}ܸ�?�玻��@�dp�S�7�^�|zzy'.UѴ��_6M���M��&#�:���y��Ee�fh�b�����gb
+endstream
+endobj
+941 0 obj <<
+/Type /Page
+/Contents 942 0 R
+/Resources 940 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 885 0 R
+/Annots [ 939 0 R ]
+>> endobj
+939 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+943 0 obj <<
+/D [941 0 R /XYZ 90 757.935 null]
+>> endobj
+509 0 obj <<
+/D [941 0 R /XYZ 138.697 711.11 null]
+>> endobj
+62 0 obj <<
+/D [941 0 R /XYZ 90 696.44 null]
+>> endobj
+944 0 obj <<
+/D [941 0 R /XYZ 90 667.771 null]
+>> endobj
+945 0 obj <<
+/D [941 0 R /XYZ 90 667.771 null]
+>> endobj
+946 0 obj <<
+/D [941 0 R /XYZ 90 320.059 null]
+>> endobj
+947 0 obj <<
+/D [941 0 R /XYZ 90 315.452 null]
+>> endobj
+948 0 obj <<
+/D [941 0 R /XYZ 90 146.803 null]
+>> endobj
+949 0 obj <<
+/D [941 0 R /XYZ 90 142.195 null]
+>> endobj
+940 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F72 404 0 R /F11 446 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+953 0 obj <<
+/Length 3452      
+/Filter /FlateDecode
+>>
+stream
+xڝZ[�۶~�_���Rcq	��$�Y�k��ƛ���q 	�����
f@�Z��ɋp�`0�> ����xq�����y�/r/O�dq�_��"M�bq�[�Y
+Oī��}�ToJ�
Zy,V"^�V��}��D��a
+�,y(���_wW�_	��²�S/
�Ŷ�z��A��
�
�lqo��E�P���W������Ʌx̘�4�[?������j
D�Ry��Uc:�5{*�BQe�L��ۮi
uȖ��M�H�%��p9��`$C�^�n�t���$‰���(tt ��V�P�˗5Mrl�Ӄ�]�Y���a�J��8*ٝ׃6���z�Bxy̪)����	gL���
UM����	-;7��ި
դ���(�	��{�-s��y��QfF!��e��5өw�ի ^~@�R,�m*PZ,��f���o��,u}�27���۩��q�Q{��@GA���������,w��JvOt�������2��'�I�`+k�k��p�9Qo��C�I vt
+�6u'u]����%8S�	G�k�)��i���4�.@�������������
���徰K�}T�

�Zߤ.��
+�d�*�L��V�N��:���Hmөm��m���
��QV�+��c��������S��u[������l��2�S�:�}/�SPJ�<
`�E�`��6���mӶ+�-A�Z���H~^%1�TFM~���4}w�Ɵ
W�٠�Q��u��eͫx٩V���PS>,RN������ ��
��
ˈD��Q� �UG�
��]�hH�RGմ<�([	FQ�9�'���dȥ��6�-�*2�X��ơ�
�9a=��T���mg
�`��j������m!�uM�D�ܩ:���"9�f�;d����m

��U
/!EA�|�3���a0�#w��!�R���W���"�I;)�@j[����&�0����C��t���46�C��ۂj��Y݂��wR��s՝R�l���J�ES����(��(����
Z�(���g
u�9C��搃:*w��
�W���6��剾�
T�<��
+l�c�0:����a`ϱ�Nj�0��
^R����P�~:��bF"��Ugwm�U`w(����`yl�S�v�#����
�YӴ��;�`N��+���{�['�|Y���Х���
y� u����CC���+Q��ZSNX9ˎ6��|i����p��
Z��F �_A��d	�Tmm�-X;��=-��,
d��9l��J����t��jX��iх��>�Á��T�`�D�c�8@ɘ��eڴSl:?3
+Y���$�
QѦ�cp�Qn8!�Цʇ&�)��Ocd�����;Ht�4^��Mrې
��o�C7�)��dDZōF���B�.�2^��'�	&����oԌ]ȍr�P�4f%����&� ��qj�eK]�žd�4��g)���-{S�)�T�
�AK3nX��9�w;�y:J+� ӭ��`��DW��Ͼ�L\ơ++n�xjߔecq���e3���
�-���x��V%���CIT�)DC�f(��n�'�
�b��(.���p������׫u(�F�ǚ�bdcl��ٲ��n�`��ؼ�Ut�	�=U
��#={�=�����H^8�~��&ݿQ��P�3.���O��|1c�KvO�ع�9�#vz��`��:�z�/K�wC���&9�w�i�<t��
��W�a���ϵ
� �x�z�I����;k+�n$/gq�ֹ�'��"V
ڇ
st
±�y/t���t	�Y�uk7�{��L�q^�Bu�uޘ��x�C�o��S��>p��,�'�Ӧ+��dsN��W���ι�0�"=>�Y���"w�8*]���̋L7hP�Q��a��_~ɤ�N��&g���3�e	~)�P6��d����
+���0W}6��e

'�8|�(5�l7�&�B<(��ⱄ<{���6�
����4Ma���'�nد�iCL���w�Ѧ�
t��&'yb6��d���f9��/��:
΀�p"�)�#�=Z�2l
l/`C�.��~쪈�F)&�&m�@x
���N�$��0N�|�	�ar
+�8���.pKͣ3�� A�.
S�!=�
��o��g���
Z��-���侳�d<Eo�zX�>�8#<�t	��������ႎ@l�dHƶ~�<�K���8w��a�(F`��r�{<9��
��$�ADS�Y#��
<w�i�^��ȃ�>����M��۳:�r8�$tHL�JG�䙚���������XD��a8�.�IL m����$
kQ����֔6��j��WC�z�ш!`�
/I	�ٴól��+v=�d��^� �A���Dd�Z���3V�T���7`&Ʈ.Y0�|���5
+"�Qh��
�3���]�1��WP�%����pf㈽8g�wt�+��5P�ƨ��f��	�ۗ
���[�|�g����%B�R���D_;
Թ�Ʒ}�
�|l�U҈����
�m�l
�����mo����y��b�:���VEy"K?�%il-�B��F9qysSos��ň�g� �]���L�㚾�k�8�x��m����w��컦���x�b�S�
�P�uu4�6�
:�>�����>�=!��
���xf�tO#*��jt�
+�%��,�I�
^�c4[Y�>�(#
g]��U�l�"�
!�G�/��
�N�\����j�S�^>�����V�
4���;�<�Ǭ��!2C{L�^ܛ������z�z�?�?_{�D�
�Ok�z:��4��ɗ?0�Mm�ް~��4T��#rD�Xn ��l��lM��
x]���4;a��x�LC�VZ0!��XI��z{�O�p�OHG�n^�s�s~�Eq�T�����w,C<�&
�<�뽧~]��}���
��>EXG���c�a���74�������V`tu���!�t>��,�T�
��C sH}�E`ޭ2�xԼݼ�;Ui\��N��)���y'�砩3�C�~<��^r:?z��j ��F���d'��F�4����]h��&��5
]$C߷
�䠷맒�q�Sև^�v�M�2� e��(K�;e���F���l:?��(�����Ep������V�q���7
�JG=���@!#�O�K�R\��nz9��:6-߂�=[�k$�K
��igXGyH�� �4lָ :r	��s � x��p !�{0����{lF�7�Շ
�Uc�
yψ���e�N��NC�)���b��~1;��Q
'�!���j5<�:wK�F�HNN�-ɋ�jx��R�2������b
`�y"d�8~<xA65���Q0߈�S������ྛ�P�܋�1�m���&�vn~;�ـ^}�G��h�׽}$��m�B��'��/$���%Һ�/\�»giEx~:䗢�O����ュ������k ��}z�ED^z����|z	�{e�q|��P������
+endstream
+endobj
+952 0 obj <<
+/Type /Page
+/Contents 953 0 R
+/Resources 951 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 885 0 R
+/Annots [ 950 0 R ]
+>> endobj
+950 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+954 0 obj <<
+/D [952 0 R /XYZ 90 757.935 null]
+>> endobj
+955 0 obj <<
+/D [952 0 R /XYZ 475.551 687.2 null]
+>> endobj
+956 0 obj <<
+/D [952 0 R /XYZ 90 670.473 null]
+>> endobj
+957 0 obj <<
+/D [952 0 R /XYZ 118.403 280.208 null]
+>> endobj
+66 0 obj <<
+/D [952 0 R /XYZ 90 263.481 null]
+>> endobj
+958 0 obj <<
+/D [952 0 R /XYZ 90 235.185 null]
+>> endobj
+959 0 obj <<
+/D [952 0 R /XYZ 90 204.292 null]
+>> endobj
+960 0 obj <<
+/D [952 0 R /XYZ 90 159.739 null]
+>> endobj
+886 0 obj <<
+/D [952 0 R /XYZ 90 127.859 null]
+>> endobj
+951 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R /F79 505 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+971 0 obj <<
+/Length 3411      
+/Filter /FlateDecode
+>>
+stream
+x��Z�r�H��+x�c�R�X|�,�n�r�-y��ˡH�$�$��Ҳ���Y� 
+���̅@e-��e��,��j�'�N�oNN�F|��$�����$�(�H1�YN>�	3�	�yp��7Y�*�n=&��~�y1�B1�"�5W�'�7'��pC��E�Lۓ��d	��TOn]��DK�����N��G�)�ˡ���p�䉛��L�x�X(B_�O'�YƓYO��'7��#�OM����,2�]�9��T��/�i�h:�Jo�B���MU�5oDŽ/H�4-�!^���6󢜊8X�)՝�uY�QAҋVZ�yf��$��ҭt&c�b2�%���w�#��fSi�?��np

i��r��n�0��6�6�k[gE�e�gj��.]dv3�5宨Rb��o�+-[_as�������(}��~N�٢̠�ݸ����>Rg[�B"�t;O��癨�*>׷S�[�
7"
+~�}��4�x6���!�^�4������&�>����z�-k���տR�s��\7K8��Y��i��ꢬ
� �IK
�Y�R���e�XPw�O���ێ#/٤SɃ�Y}75&��3��*��x�U%��+��&n������'.`�
[�
b�.��u�m�;��"Oa�����������(Q&Xg�.��ڿͳ�^/��'�G}!gF$��=�
	"vfӸÇ�	��3�7:LX�:�}�.ꦜ$���n'��l�n;Xœ��;���i�D
LogW0��:��UB;F6&6`:c�3@�����|
+�4���
i��+

�

+YNɹd�i` AyX�#�
�dg/��V0��YA�V�L��v����d�R"x��:�(敃�w����j_�g�M���y���t/wz�Z_����ψ��N�shkٻ�i�
�z�>+I��Ԗ88�e��x��,�{�	���5���̪���x`�7��"ܽ��ҙ-_&�ڤZ�8���tW���2�	�_�`v
+�NQ�8I��Oℰ	�L�.'�
ۑ���u����tY�#�{��KݗV2�}�?�lc�`U\[���2i�^"��æl]׻ǧ����l�e��
�|9-�
+�~�>�5�
+J����vs
r
+�Wv��(X�4�A��� �I5�#��.�(�+�
� ���٪ vke=
@�� �_R��gRD	
�z�+��;�Y	��{�
�(���(��}�"ҰY�(�1�%b���n#��!�̭acO��
h���=�w��5�A�cx�M�B�}�k
��y�xR�Û<�t�d7�	)���'�M ��
l(uX��ck!7��2[V��Q o<�m[���"�
�bi��C�4ziX�h<{H�����l�=c���I���hH�l�y0F�d�7
](p��l1����K
z�d\��V[?��
V �Lc
ܿ��X<�̐�
����9��H��p����n
�:k�#�D
+δ�S&
�O�p�y��F)SdX����	�e�ٹCQG�(��2fx��(S��O���x剏H��Q��<[�$��MC�R�3��z����~z��QuՊi�y,�a���ѕv�J&H_A����,�
����)�0����
ʊ�̪
C�#�
��	 ����5.�E��3�@�X�j�
~�������:]�-�13zx��`��!���n I�]=k�bK!�
U�,6���B�dA�vy��=��o@��T����ox^�r���p`8.��p\�<8<2@�X�ҡ<K�mZ�w���@,���|�����m0@�n՘�߮cu��"��
W�#

-f���A��
���N��|�&I��f�t���}�ϛMm]0���	5,����
\�_04��B{��Bz�C�R����`�X��/�s�8�"_4e���Q�Uu��|`��oM>/���720Uk9a������[�!MB?�E�.`^lPÀ� pvH�)1�Bv�+��ٶ'�[�j�
���et6�H�R5�%%%K�^�l�y�+�m�ː]H�
�^�y��
閸 Z�|�XW�?�3� yM;<�60L�� �R ��b��Y'-J�$9�E�p�ݹ
B��W�>�Fh�O�$�6��{~�UW�$~���m���-#�4�*�#�$��%�K�8(���;p&�v�mj�l�fe�i�CK�B
�������Й�S����C�dҥLl�{���E�޼:�Z�"�����h@ 
��s�_디�7�t�gH%�"���DR�塽�� P%:�r���4��j]�|�}	�aN�{�D��c�
��`Q{Ʌc�
��,n"X�;���~}}v�
7.�"���p�����g��`�9\sc��W���T�<,&	P]�o$f��?
��9��� �l [...]
+����CtF��B
����\Z
c��
���o.��z�BG�
V]ѓ��_�Ud.tD�3����"���\`Ӟ���3�B�v� �ٳ#��t6ù���0@�~k�4��
T��Y)Ђlg��y)�[f�ye� ϴ��^.��|؇�bk�%�F"	C�����dɒ�q)���7ͼcYG)�%�3*fB�Q@Ώ2�g���$��> 5��fa�%�:@�Q
HE��@�8�R����������
�2V=/��b<�K#@���m�%#�w�1]���"w�:�n�d,��t�~�ޒ�`�%�(ly�"���U�]��Cf�Q���
��	F�K$@�D����U�s�*���A���o��½�
&�O�H�W�H�Y��^��ܽhK}0���K�0q�(�H�_��h�V\^�@��
���X����\}� K���E��\�����3�&mZOx�B��l��H�Ūm����
�YEa�m�.���j/M���^dۆ 
�� ��Zg*��Y@�cȑ�_�ʿ����=�:5���j��4T#����6��&���E�x�-H��u�_}b�?�{!�^�DH��6~�1e�q5�&�:5�+L,
S#�T�S)զ�
�Rә� [...]
+endstream
+endobj
+970 0 obj <<
+/Type /Page
+/Contents 971 0 R
+/Resources 969 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 885 0 R
+/Annots [ 961 0 R 962 0 R 963 0 R 964 0 R 965 0 R 966 0 R 968 0 R ]
+>> endobj
+961 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [113.91 604.968 444.67 614.866]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.comp.leeds.ac.uk/research/pubs/reports.shtml)>>
+>> endobj
+962 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [113.91 561.133 420.76 571.03]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.comp.leeds.ac.uk/hill/Papers/papers.html)>>
+>> endobj
+963 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [227.347 341.332 330.959 352.236]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://arxiv.org/)>>
+>> endobj
+964 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [348.118 341.332 511.506 352.236]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+965 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [211.932 297.496 429.117 308.4]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
+>> endobj
+966 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [123.594 142.702 340.779 152.6]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
+>> endobj
+968 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+972 0 obj <<
+/D [970 0 R /XYZ 90 757.935 null]
+>> endobj
+776 0 obj <<
+/D [970 0 R /XYZ 90 733.028 null]
+>> endobj
+797 0 obj <<
+/D [970 0 R /XYZ 90 657.148 null]
+>> endobj
+973 0 obj <<
+/D [970 0 R /XYZ 90 601.98 null]
+>> endobj
+974 0 obj <<
+/D [970 0 R /XYZ 90 558.144 null]
+>> endobj
+975 0 obj <<
+/D [970 0 R /XYZ 90 501.73 null]
+>> endobj
+976 0 obj <<
+/D [970 0 R /XYZ 90 469.85 null]
+>> endobj
+935 0 obj <<
+/D [970 0 R /XYZ 90 438.089 null]
+>> endobj
+977 0 obj <<
+/D [970 0 R /XYZ 90 394.253 null]
+>> endobj
+796 0 obj <<
+/D [970 0 R /XYZ 90 338.343 null]
+>> endobj
+978 0 obj <<
+/D [970 0 R /XYZ 90 294.508 null]
+>> endobj
+741 0 obj <<
+/D [970 0 R /XYZ 90 238.717 null]
+>> endobj
+979 0 obj <<
+/D [970 0 R /XYZ 90 182.926 null]
+>> endobj
+980 0 obj <<
+/D [970 0 R /XYZ 90 139.713 null]
+>> endobj
+969 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+993 0 obj <<
+/Length 3268      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs�F��W�`�	��dYvK.�T�[q|�@�D� hG���
��%Wy�vk/�����3d��Mޞ��=9}�I�ǁ&����M€�Z���b���>��g�y��"��u�YM��
��n�(.}&C�fĥD����ɿO8ل�:�C�'����'6Y ��	�e
M���D		�b2?����G�)��@S�_��;�'�{����6��,�H?�ә��*Y�I�����{7SιgY���S^���
�]X����Th�~�0��H�!#��̐��>�2�y���^W���:+ۤͫ�hսm_���4kff�gB�<ғ�~��
+4I��7^ZTM���Q1�
nY�?}S�lQ�xU��_��"�ˊ��i����:�$u���,o���:i�5
9M�h��Z�8Y�n���ذ�
�z
Mp&l8��6�)������	\NX۳i�@3�O�"�+2�HZ��dl�'��;��ZL�3���_������ׯ_���e����=�ق��f���lIp؂Xv��=ف�Τ�|}�8��b�e�`��J
Y���-� K�mV���,JY���";Cڅ�
�,*^ %�-��f�:wf�,�L��$Y�����ӛ0��vF*9��U�H�fuY�@��I]Wh
���-�73�$]eu�Z
a
����;#���dk��"o��16��h���[�z� �i��4��`����i��
+Wu�>k�>�v at Z�9�AT��fUm��
+={x�W�MU�fw�YC$��+l��� �k�f_��� 0�Hs���}�"���Rl�*��F�@��U��};C&�J
+��=;�<%��
����c�s���z�,��Zr�q�,�|a�?�$yi�0mV�4��XE����v}���~~uy�N�%#g3��Ll�g-�i��
+t`��%x�-��
�qi�h����e	+�'��I>�#��c3�}!��p5wAMh>�P�u��>@�L�Wٶ?a&�sK~[oK��h4
G,�<o�is+��A���rԍ@sX
3�Nv�"ȷh�I��}�9��q �l*��m+ș&���� ���`�m���u�m� �q C3_k�"�{$k�|���2�ն]%�M[�����6���>���1�� �gpx=�_�n?̰�LX8
$!D�I3whߋ���(p ��Hو
"�ȧ�
�
+3
+Ȑ�``��"+)<�h���͒4ߎ�Me0
K���Z���e��:��a��A�6�qd%,N"ﭕ�2��
!$~
!\�>x�n�F��긮YA��W�`���ݸ8�kښ<qK�˲��
EMrB/1MU.����2���
�t�I��ݮ�ES�.6�*�3�L��L�߮��.��U���L0?�.�d�i/�o�][u"�!�O.doe�؏dի,m�}� ��Wmf'��ݘ!��L�@�
">�G�47�9
�d��!��/����2�>CL�,e$��|�|S�.��`���B�di%_�G�
k�K)FP�
��`�]k)
L�@��k�� �$�Dڅ��qs��=c��iP�/C#�G1�
��C﮲�"���a�:ޯ쐇U���oP١��n�&v+;���V�F�7�U�X1�*�^��e���jN(H#G
J?Ϡ��
���t������+�BkS���j���iD9I
�3P�Wg*?
 z�GQ��[�vf]Ģ��u�"k�:�t9��Y���X  
����0|ț))�ʿـ
k�Q�<���!q
�a��<�

�/�"vGc���h9���s�s
1׍ή��T��Hй�]X�q7"�n1>�h�Ejq��M�^�wuR?@4�Ch4y��^
Oǭ���ܾ���'2�
JT5%�HN02CTF��H�4`Lx�Y4yCd;e���A������Q��c�k��N0��Ƥ� 2���M_�ԁ�
��
��$�
s�}����&��
7�f`Ƨ��
�sN�(?�̎�h*�f���c"O���1�Wz�H��_���0���)
�`�
���u��s��s���Z?u��G*�[���3��W���E����x,1��F��3+
Y�S�S4�%���g ҕ��zt�]X�x�Ne�������:=�07A���
Ȑr�|����� /�
�9Ū���g*nDp�t
�n�P~RiP6����o����X�X
IJ��B�j1��g*
Kw��ʔM���p(���
��'���9<XJ�v�[�"�����鳵��`�.�u�a��ћ n(wYf�n��Ըa�-����ΰ�Jp{��2.yMo�&+ s��w�x�Y�D��K{������ib�7L������)�᳏���

p0�k+��w8 څ��@ġw���DM.b}�T=5��+�� [...]
����
A�(;�������,���pb�6��؇�0����FבH(�� ��A
(L�
��_��1ɓC��He���k
+��BP<4�;8�:����j�i}
<{�Bƹ��q0�|sC��g�A���ZE��Ⱥ���-� HC�+��?�T�$A�O��1mۼ͗��^���"��#)�U���5}�xe��^�uG���c�x�m���%E%�����1Sx��L\x�!x����� qU��{���on�R
x5���J�x:x��C���
�
,NM ��Ԍs<o��=�^��W��,�!*�0_�?�AWž��1t�#>v�����PP�A얃
�d��um�]�>E7�]Xޑ
V��r���.��9,�
�a#�*��簂�b_��Ђ	=%����,^��<U��r9S\����"Tİ~5��vM� _q<�cl�@1<s-��b�*÷�f�R��0�d���Ҡ�3��~g=;�ԃ
R����f�z�A���TSA¸raB
+
��xS1��]1�w!�xc.��t����!x�0
!P��=)p��a�O�Wղ��/�g
����@Q`n�U7u��߷�g�{�/�B��������潛�'=�N�0�\a97z
�8��EiS����B�W>��ݕ�4�^���s僟`�ё+_�2du%$5����ƻ�x�"Hjx
G/�������E��� C=~��U�A��.}PQ>�R�U��N�4o��2~�����pu�5d0��N"����
~�m�����v�Կ!��
¼?ed�v�!rie]���f����w�;p�O{�j率�����/I�펺�hGHd>�E��,`7Z\8~���ڑ���•�~YļuU����.��7�-��
+endstream
+endobj
+992 0 obj <<
+/Type /Page
+/Contents 993 0 R
+/Resources 991 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1005 0 R
+/Annots [ 967 0 R 981 0 R 982 0 R 983 0 R 984 0 R 985 0 R 986 0 R 987 0 R 988 0 R 989 0 R 990 0 R ]
+>> endobj
+967 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [211.932 696.002 429.117 706.906]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
+>> endobj
+981 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [113.91 473.461 331.096 483.359]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
+>> endobj
+982 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [204.862 385.168 422.048 396.071]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
+>> endobj
+983 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.331 373.835 395.942 384.116]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://arxiv.org/)>>
+>> endobj
+984 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.646 329.377 426.585 340.281]
+/Subtype /Link
+/A << /S /GoTo /D (main_BHZ07c) >>
+>> endobj
+985 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [294.32 285.541 511.506 296.445]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
+>> endobj
+986 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [365.665 273.586 469.276 284.49]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://arxiv.org/)>>
+>> endobj
+987 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [216.63 229.75 433.815 240.654]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
+>> endobj
+988 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [328.196 218.418 431.808 228.699]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://arxiv.org/)>>
+>> endobj
+989 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.182 185.915 414.678 196.819]
+/Subtype /Link
+/A << /S /GoTo /D (main_BHZ06b) >>
+>> endobj
+990 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+994 0 obj <<
+/D [992 0 R /XYZ 90 757.935 null]
+>> endobj
+995 0 obj <<
+/D [992 0 R /XYZ 90 733.028 null]
+>> endobj
+996 0 obj <<
+/D [992 0 R /XYZ 90 693.013 null]
+>> endobj
+997 0 obj <<
+/D [992 0 R /XYZ 90 625.984 null]
+>> endobj
+936 0 obj <<
+/D [992 0 R /XYZ 90 569.476 null]
+>> endobj
+887 0 obj <<
+/D [992 0 R /XYZ 90 513.686 null]
+>> endobj
+998 0 obj <<
+/D [992 0 R /XYZ 90 470.473 null]
+>> endobj
+999 0 obj <<
+/D [992 0 R /XYZ 90 437.97 null]
+>> endobj
+1000 0 obj <<
+/D [992 0 R /XYZ 90 370.846 null]
+>> endobj
+1001 0 obj <<
+/D [992 0 R /XYZ 90 326.388 null]
+>> endobj
+1002 0 obj <<
+/D [992 0 R /XYZ 90 270.597 null]
+>> endobj
+1003 0 obj <<
+/D [992 0 R /XYZ 90 215.429 null]
+>> endobj
+1004 0 obj <<
+/D [992 0 R /XYZ 90 170.971 null]
+>> endobj
+991 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R /F79 505 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1020 0 obj <<
+/Length 3454      
+/Filter /FlateDecode
+>>
+stream
+xڵZ[s�6~���[���ƍ�7;q���Ӥ�Kl)R%�&�_��  	Ҵ�t�����;߹@d����ۓ�ۓ�7��T�b�n�f��dLÈ���z�9�!��
J	γe���*�o�4
+���~�	�C�%�f�s��'�'�P($3j��d(y4[�N>�Jfk(�0#!W��i��	���nN~:!ny��2�
Gv����~!��W3{���M{}"Bs���p�`2��M�V�
�%,��SJWu��<7�<H��-�pu��wswsJ�R�y
+<I�ۭ�-���j��l��o��r�OٲJ����)f��<!A�~5Vn6�xU���n�9��B)�lAi�"w
�n`$	���oq��*[�9N��tY7U�j���m��������H��:����&��}�X_a�G�C�3ma�n�zԵ.�aU}_7zW���Y����f��b�g�]��
ġѕ�]Us����ʜ�n�;� T�P�b��/���}���
+FH�5@��Q�P�|,��),�|0
+�<0FL�`ĪK�-�ޜ/�]�6�`T2
+���<��Vۦx�8ܾ�cn�W�d��M���&��r
f
f�� x
+3Xnf��3��C̘��1�$�{�dP�e�
}��c�ia5���#��+�f�6�:A	�F�6"�l!b�aG
��"r
+:�Ic\��|N�<`Ӂk/�7i���N8
l3	�X�}°m+�¶^
�
	@�c�)�%
���6�����p�GI�X�h��f}�BVQ��!]�(m��?����>��l���խ3��LF)"�4����
w��Zg�.ȰOG�n��
�}
G #βw�K���D1���,O�9eAڸ�:��Y���0a�mK����6�����ׯ_�U

�l_�YszuXv�}z
:�ې*�׭ѬiUVܩF�C[U�l��Jܿ=����hts�\$*@��Ţ�U�2�Q$� ��MZ-�u���g�F�$_���Q���
�
��1b��ߗ�-
-
+`�ߣ�po
(��D ��j���͈�8L�0�Mk�Xj]��x_�V����'�X�6�j�~{2�l�-)���`�����(�F\��G�k���LXui���LqlO
+�.\�Ir�,�.�Ȳ
v��+
�`b�]�}�.�"��
B�*�[vJ��5#v������j����&08�EZ�7��%嫷�DR��I��m��E��0̌��k}>c,8���p��:��[�gXV��<Aq�ߜe��LN�R>�W`�
�

P�=M
�9�%�&��;�@��HO��عФu�S�Xv��݁��A�^�����J熪�R�>�6����a����6����tt�~L�ƥI�MYe�vW�.
T�m��X�[Z,t=igQ�E�����6�����a.u�-�n"f,�1v�M��u�)��'!�R�e��
u��I���ga
�)��WH���j�R+���#%��,Xwi�
X��'����$Z'�eEldYS
+b�`�V\8T��1��
Y�h`��H�UA�#FLzĈ�!1N��(J���W�ю�V�;�?�Jp]@]�Kv}�`u?_��
�z0`%tN�C) D��3Oh����
qph��Q�J�rc`[�v��{�V6� [...]
+�;
�LJ[���
��=-�q"�f;&)�heQ8g87W��'����Z���g���b�
+�\��@�	
�@�~
7� �'ˣ�c at _�D�E�mU塶���
ҍ�͈<xoMA�i(�H��p%<�W
0����r�u�o��
��D��`��U�b�N9	����efe�8s���lC
+
��ڶ1�.|��
������
ݢ�@\�����찛
�0���۱	QɁ��H at c%l
+V�p�q��
��u�����c���&�c9�`.h at O�9�
�����"N\�
�t���)�o�U
+
�������`�-GQ�?2(ݠU�n���P�
+���|�rq�
af���y�ևb
�hgK����G��#2�.
+�6[�` �>�P)�"��m[k�@�>�vi��i�`�6��`��
M�5��P�����/���Y�QFш��<�����b�+3/fA��
�a.��RS{
��Ǣ\j��N��Q�:��q� �P�`0�F���pV
�yi37��^}:��D9t�;zUw�"�/%�ka���+M�'�F�����l��lC�	�{��N]`
�P�]}z�޸����]ϸodA_�1��"�+�iɖ �����,qH���Ԭ��܃,Niq�BƒQ�։5&]D�_
{�]�_��r6F�`��7g.EU���)�W�^��
����$�3
���S&c��$x�:�LF�����R�P�v5g����J7M�����
W?
�c�>?`��Д;�W��T;��-ҡ
S�g*1
+�
�� 
�C��"
A�{�P����
�tYe�qD ����D���^(��$���������&o�E��#��
"y`�������
9���q��v4!����=z���>��r2֔��
�eއ|�P��'�:�1��Y�
3���Р��*w�=6�F�8�������.W�.u��Y�׿�#��
9
c [/v�<,��V�̅�۲�b�:Yr�}�2���dh᪬�l	�5E���*/ks�d:�m<��](
<j.��
�$�WL�zc$�}�l�
�����,
:�6
d��
+d۲u��K[�������A/��(y̌�`S�D��h
�3�yoF;S��7�<K���R��eLlH�Lllt�ĶT0�W)Z�0(Rڱ�u.3PM[Ӥ���������&ǭiJ���x��b`D�$�2]ݻ��>͊�)�9�;0��
z(�˧�6|(�b ��	��Vte�mk�
�pB+z��B+Z��ЊG�V
�V
�V�xBh)��
���c`v(��
���Y��&���Ұ�)~�oi��
L���uy�-��v�$E��ē��ԛ���v
���
����T�J���<�c�tj�c�A���(e��Ԛ�Pڊ�_6)����
�b��}�D,	.����Xlc2�.g|P�#�V��Ť�0�;X:��%R�����V��'���Np�����; 9����a��+?k�_�{JC��<Ԇ��sE��zPiL���P�a�
+<��M����T��m��ʽ�1��k�*�~���e��n��r	�K�/�Qx�x�4
�X<�En%��0q��
ڦdž@���y�M��wJL*�L�!1�5�
+(�a��U8F��VopZ���*o��3�/�������([��
d��f���I�h��_��_����PI��_�E*�"��vg�cqg�W��m��u�k]�0���n-��`���g	XH�?1��@�~�4a!��/=pz��h��M�A7X׮�t���.��������i
+endstream
+endobj
+1019 0 obj <<
+/Type /Page
+/Contents 1020 0 R
+/Resources 1018 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1005 0 R
+/Annots [ 1006 0 R 1007 0 R 1008 0 R 1009 0 R 1010 0 R 1011 0 R 1012 0 R 1013 0 R 1014 0 R 1015 0 R 1016 0 R 1017 0 R ]
+>> endobj
+1006 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [188.47 608.331 405.656 619.235]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
+>> endobj
+1007 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.587 584.42 394.526 595.324]
+/Subtype /Link
+/A << /S /GoTo /D (main_BHZ09c) >>
+>> endobj
+1008 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [113.91 541.207 217.522 551.489]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://arxiv.org/)>>
+>> endobj
+1009 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [234.897 541.207 398.284 551.489]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1010 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [113.91 441.581 390.872 451.479]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://dx.doi.org/10.1016/j.comgeo.2009.09.002)>>
+>> endobj
+1011 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [294.32 285.541 511.506 296.445]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
+>> endobj
+1012 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [377.62 273.586 481.231 284.49]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://arxiv.org/)>>
+>> endobj
+1013 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.831 174.517 224.415 184.864]
+/Subtype /Link
+/A << /S /GoTo /D (main_BRZH02c) >>
+>> endobj
+1014 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [277.924 174.517 495.109 184.864]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
+>> endobj
+1015 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [188.779 142.637 405.964 152.983]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
+>> endobj
+1016 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [451.334 142.637 501.476 152.983]
+/Subtype /Link
+/A << /S /GoTo /D (main_BRZH02b) >>
+>> endobj
+1017 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1021 0 obj <<
+/D [1019 0 R /XYZ 90 757.935 null]
+>> endobj
+1022 0 obj <<
+/D [1019 0 R /XYZ 90 733.028 null]
+>> endobj
+1023 0 obj <<
+/D [1019 0 R /XYZ 90 693.133 null]
+>> endobj
+1024 0 obj <<
+/D [1019 0 R /XYZ 90 649.551 null]
+>> endobj
+1025 0 obj <<
+/D [1019 0 R /XYZ 90 581.432 null]
+>> endobj
+1026 0 obj <<
+/D [1019 0 R /XYZ 90 538.219 null]
+>> endobj
+1027 0 obj <<
+/D [1019 0 R /XYZ 90 495.698 null]
+>> endobj
+1028 0 obj <<
+/D [1019 0 R /XYZ 90 438.592 null]
+>> endobj
+1029 0 obj <<
+/D [1019 0 R /XYZ 90 382.179 null]
+>> endobj
+1030 0 obj <<
+/D [1019 0 R /XYZ 90 326.388 null]
+>> endobj
+1031 0 obj <<
+/D [1019 0 R /XYZ 90 270.597 null]
+>> endobj
+603 0 obj <<
+/D [1019 0 R /XYZ 90 214.806 null]
+>> endobj
+1032 0 obj <<
+/D [1019 0 R /XYZ 90 171.529 null]
+>> endobj
+775 0 obj <<
+/D [1019 0 R /XYZ 90 139.648 null]
+>> endobj
+1018 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1037 0 obj <<
+/Length 3503      
+/Filter /FlateDecode
+>>
+stream
+xڝZ�W۸���u�m�>l���–�.
��������NY���F�$���9X
Ici�O�M�69;8�98<�l��jrs7��D+On�?=��p:�1�8���bY&�Ք�����I��Ϥnv�
�z�����D6�e�}-��|}��_l� ����2�&v�z	�lr}��s�c{�)��*�������n&
���7CF~ ���)���3�B�]�����I���ՠ^dz׏Um�I�Ωsa�t�S����D�vI�X��)��f*��0��+����Uއ
�{��+��AB͒�i _��H�e�~Oa&a{2Г�~
:��+�"Xv�O���Q�o�
��;�J潻pc
כ�J�kz-rz^�i>O7��
������>�%�!Y�aY��S�/����0��nx
̶�ݽ��q�m�e�%�bx
+�����h�n�`���#�B�!�x�c/����(�/KS�܇P�k��
+h�CX,^������AX���!L���&)I�0��gIVXA{^乙ש=#`�r|H&���yR��X�)� 0����&�0�G�)`���䶪�d^�[�צܔ�N��8B���
�����1/��]/��k�
�
� -+X
P�=�q]�՛
Їs�-��>0�H�g�|2 �3X,x*�7��6�h��x�v7�
+��>��%+�|
�8h�r�~X���MN�"���B��|��s�wh��ֲ�-��M��
+�58T%9��)g+ƒ�>؎��'�ն�J���9����#
DB�nQ��z=OM>7;��A:�g�;�>V���u|2�o(�[B�
�l	��y

R���
��;��Y-3e�,�8\+�K

ep
#��5J����+}�3.�(���(����#���%�n� �D/��
m��9��H�y1�nj�)i&�
��!��4L(,(jE}ɺ�(��74`Q�[k�qt�!q
|��P`Ή�b���B����"�3�
�HSxWf^X҂ޭ��i,N���[xm}�[�
��[���oj��U���-{`
~�_`/���|IghF�,V�|���Ϋ"w��2�Ʀ�L�+=�#��+���(
�/`�[<bPH��غ(�=`R��
Lt�
��;ʖE�֫5M�+J��1�/�� =���䦴	C`�z�%����E>�
~p9���)~� O*�ohI+�h�ɏլQ���A�4��n�i�ﭵ�$��c�+Ѣ�
�ƿ�?r֑�~��@�	���mEc�?�z=���D��]�"��0ż�+
��oy�ݎ!�e4�2�^*�	S�z(
+E6٢H���E���X
��C�&�hQ������hQ��{Q�#{(��g�S�:
$�'�
|�M P�֩ى ."?R�n!���� B8�BC!e���it"�ġ��(XW��J�4Jv�	_�'<�ςG�
x ς'M�����K����C+S��= $YF�>*��@N��:X�r��s#����ɮw�b!
ϙ�Ԭ��Ya�YaO�
+{���H��V�ǯ��#aU�����/���#�q��J�t�:j
��;��c��
̯���]�S
�)n#�Ɛ���sP�H҂Q���M^�S���Q�����X��������	d0�c�}��o�����?�;���L�br�|����;fz������p�j�m]��Aȁ	D����t
+S�|fYR.lg�bV$���;N���f;���������t�)�}
6
��\�7L
�))04.q�;?+�
�8\*�d�`:���� %9��l\e'�n��@���HC�Ш�Yj�r���Z�1킸����H���>�6��Ϸ�p:�>����~
����"
+M���H.��!x܃@������]`�o����`b���<�(�U�
\
}�“��&C��V�
�6}���Wr:0�rn�lw.�`��g$ �D�$��@B�5>OJ+]�F�.c�_��Ak�?��{����"����@\�eY,l)EC({Rl�Ա0ռL7�t 8�U�f���-
dv��u�p�O�wL3ϕ#��f��#
WC��!��O�h䐃����!�����\(�}5�"N�K׷i��h
+j"'lt%|kJܮ���`�)��ϋ��Tb!+�MeF,��C�r��j���*%B�̕VA�wLĪ���I70���0 ?9

��qӼ6���S�Y� ���m���g��#_
�M`�+����8���,�(0
�~qǕ�@Tb��7��Qŧ
N�-��==j�0G�9|�;��|
ǎ��M����	���r{�
�v�U�k�IwQ	���e�=����"�{�k̈́���������CZUM�Y�n�����^�*��+��*�h@�{7S
�h�ʋ�X>NU�
+j���l�
��a¶�؂��0P)XN�
�/��	J�b�4K�	"�]��O��G��艏
�������?��C����~}��C�
�����t+��L2���7 +����
��N�.��y��z��;f����c�z)�U�F�����

�uAL$8>��_KG������ڌ`�[}ⓦ�`�p�`�
�'�E���sC,������}��}e6�B��p�y�O��Ÿ�E�
̌
	boQ���a���6Ъ��uR�ߍs)���յE�v8j�
+�g1N��	�
������#�yY,LV��O]�{߽X�.ɸ��EV
��K%]���U��>B��)���i�O
�Ի�s5'��B+r�"�Y��^Ot�8e��x�X=��Уk��g�3�Ǽ,�c
�
N��]�S�i���o`v�VA�HK�	
��G���V{J�!�PčCHʹɺ*��&i���g��~���
Y��{)
�X���q9Z{g	
e��}
Q	�иp�΋�KŠ��UW�D��N�w�R�H����&�ͼ���yۛgG�ȷ
OA�l�(s@~��"���踀��`�k� �����Ї�m��3w��1ɒttB}��\r�^�*�ހ3
}�A]�!�iq�rF_����V�
/�"�H�Z�!�krE>�uh*��
|�¡�;N���WH��U�/�X��dP����OQ�T�[��� <���G�����A(0��{�
+���e3<��b�ْ��:�]M�b�!J���R�`M
�5$��(�j���4�Xc�]���{
�ݗZ:����
鬻p7@�
{��
+��++E�H
����
Vg��+ {���N at 9��4�
%;B�*q@�0
��E�v�_��:$��m�kpy������ ʁP���wt�X
������
��W&]ؐ �b�n�'
+�
+����zfK�H)^�;ㅄ�����"~�?eUYe[ot���2�)�����?s��D6
+Cm��*�T
Δw��zx��UA��GVeF
R~
y��Uæ0ѯMڢ�:q�MD����2)]
�
ص�`�S5�i��ƍ�U��e�
 ��m��1�Ӎn�<�֥�n�+����O���&;|��

���n��$a]�4Mދ�M��.#��
�v��
+endstream
+endobj
+1036 0 obj <<
+/Type /Page
+/Contents 1037 0 R
+/Resources 1035 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1005 0 R
+/Annots [ 1033 0 R 1034 0 R ]
+>> endobj
+1033 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [113.91 270.224 458.396 280.505]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.ifor.math.ethz.ch/~fukuda/polyfaq/polyfaq.html)>>
+>> endobj
+1034 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1038 0 obj <<
+/D [1036 0 R /XYZ 90 757.935 null]
+>> endobj
+1039 0 obj <<
+/D [1036 0 R /XYZ 90 733.028 null]
+>> endobj
+1040 0 obj <<
+/D [1036 0 R /XYZ 90 693.73 null]
+>> endobj
+795 0 obj <<
+/D [1036 0 R /XYZ 90 627.324 null]
+>> endobj
+1041 0 obj <<
+/D [1036 0 R /XYZ 90 581.432 null]
+>> endobj
+1042 0 obj <<
+/D [1036 0 R /XYZ 90 538.313 null]
+>> endobj
+1043 0 obj <<
+/D [1036 0 R /XYZ 90 494.134 null]
+>> endobj
+1044 0 obj <<
+/D [1036 0 R /XYZ 90 461.88 null]
+>> endobj
+1045 0 obj <<
+/D [1036 0 R /XYZ 90 431.937 null]
+>> endobj
+1046 0 obj <<
+/D [1036 0 R /XYZ 90 398.119 null]
+>> endobj
+1047 0 obj <<
+/D [1036 0 R /XYZ 90 368.176 null]
+>> endobj
+604 0 obj <<
+/D [1036 0 R /XYZ 90 310.448 null]
+>> endobj
+685 0 obj <<
+/D [1036 0 R /XYZ 90 267.235 null]
+>> endobj
+1048 0 obj <<
+/D [1036 0 R /XYZ 90 210.821 null]
+>> endobj
+1049 0 obj <<
+/D [1036 0 R /XYZ 90 167.703 null]
+>> endobj
+1050 0 obj <<
+/D [1036 0 R /XYZ 90 123.867 null]
+>> endobj
+1035 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F72 404 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1055 0 obj <<
+/Length 3783      
+/Filter /FlateDecode
+>>
+stream
+xڽZ[w�8~����g�eI .ysl'v|��IΞ�<`ZvsLC�8��~�T���7���B����*�'O>�p�����}�'�|�O�'��`J���|�#�Pә�;�҇,-��x��
+�l���x�e�
`4#���zpz��@@#�3�
+X�I�<��/>�C��	gnN^��r�I�������N��/�����2��_���[���y�LJ�L�f*�p�t�z�/�O��*�->���:�ӄz�<Φ��TiE
�#=�4�qI�ȟʵ�����_�q�֩���K�ⷩTN\��CF�a;bL�U�ۼ�s9��Nτ�\�S�H�u��
+�t�
@�z�s���S��4�
+F��9���8}���ߠ&<G�Ӻ(���s��Qg�D(Y��f�;G7w��������sSN=���q򧊾`V�z����y��
v��m5}qC�4��:�z
=.�G8!7p�
��)rz�/tQn�Lˆ�6#N��Gz���KLcQˉF�o:+VK�׸
J8����zi��B	sɲ��:]/�@�q��BSJg���9ʞ��;��戢�7s�G�x"��25�R_���GG7��PtT==�g~$��2��t��/ri@ؕ���C���\�^o��;�E�Y�i:.��5�,���
���<�a8�U���w��y2�o�𣙈$HK�~W�O���m��
[Q$P�a��VejLV=���e?5#@%�� .z3�
�8�#b�':0�
+�H��≯<ja{[�����م��+]����ekT(�����"�5Fǿ�:����CU�`!�HvB����n�#6��X���M��I
%S
E�o��v T`��oq>�.��
m
'L��{��Z�}w�媨�Vw�Q�[��(#νc*V#]�E�@#�p�?0 �c���ķĭ���$Y -
�%2�� �Ic+�qc �L+[:�h[�	�<=_�1҇��x�=�e+:�� �kEn�TТĵ��ҁ�
^�dQ�1�RLE�^�|�-�4*A�
��u����k�]g���VgF���e��qJ�W��'l+�/�K,i+�". ��$#i\��ɐ3��F�߬ar"
+G�L
|P\���d����J�Ps�t�qi+�aI�ȼI�Ǣ�[���C�<E��
EA���S�ZրRf�f��Y�4�%�ig�9|(u^�h��{ �c��Hn���b�*.�E�A�k��?�x2�Cśy2Ґ��-hA-��Eck�ɓEY�ź�K�έܱ��q�.�b��kc�7v/����d�f�-�j��Io���R��a7��81J����87�Z
�
�`.�
1��d
ۈ��
*�ӛ��yTb~�E7��.y�O�Q��j|���V��#���la���2�!�.,cm,Kpi�םx�kL�u]��v�f�:��[�׭��A��=#���@
��,R?aM� sd�
����L�a��nY���ʟ�������
S��x��!Ԛ�:�J][�F	�
y"�r [TXL�
��~?&h��u\
�~��p֨B�}
�u?g�0�1~�F�����`��v
��k]s�S}����b-轋a����
+�'̒`�a�:�3�.3̦��������
+`:��%n4���EFMz$S��걗��L<���V"��I���ߚ�z��
�j�%�]F|?���-$]�^��9[��=���,@O��x�4�e@�G�w�k� �>�N�z�+W��-`��SQκ2!��
+A�p��J&����\WI��,�I��� t����v
Qh���e㖇@�VEYct�SF�|�u at nj��Iʄ� �!��j�ݾ�C#6�w?�[K+�n*s���U<O+
�F�f8`�+.�����P-�
�
\�7<-�

�.pa�| T�=d����� ��f�V�4d��?M�x\����S�7
=oS�b������|�uNsl���������\�x�u�b����_�$�U�>���
k��v/�����_�R�.m��;� {h0��՘�I��q�
�Co
?�
��>�ŒJ�$�C	��h�%B���ۯS�

?ѱ�w�tb_�
��<��8=h��]�$��� :O��
�
"�5A 8Q+��uU�
pJ``�
+�@�������!cБ����p&%����o�Y�t��x�|
с���*t�=����#[>�$,��u��:K�ڊ��
�8��AM�W`����=��@�v�a�Cu"�y&����xb�WE�l�������OC���zNG�
,+
+Z�|��5/M���1�������Ih����#ՍA��{1;+�
&i�{��P�㥵t	T8
�!��'̩����,I1�����������{�"A�%žm_9��fY�stkQ0��;�f�;�{�Kq���Y�����Rǹ
�%g"j�OK�
w��:��$M�
�C'^A��=]Rf=�	��w�����NjX��A�̕�%ӤP�
�a2
��$�<�X#	��N>l�#k�`;C�2A�)M'���'�JƷg����S �=J��Gvd�Y5x�ɪY^�M
��
+/���g�dՐ�J,)�
��r�=ؚ�g^����)5�+[ ��&����5E�Ku� 蛢���XSľ��r[��q�
+��7X���
R�+x��q6�S��1B�X�Ek���hw���;�dž@�r��g���IK`
,��&]/�� ơ��'���1Er�Az�
>^�p�I��B3��Z�
5�d��A���|�S
5
�]��cن�k\��`�Ы���6c��)J
>̫v��裀 ͌�+RX�V�(A0�Ȅҩ M4K�6��o�1����+P4T�X
V����|��
+��H�
wt�e�4���¦�<_ 3�Y��Fn���쓔p��^����UC(X������82
LvI�B0�����f�.�cx�
�
@6
�
/aϭzI���4
,�r�(���t�c"�5���u=J�x��p��$w��۷
�
�F@��2��܌Z�b^?�&��x�c��!�h8��66�-�;�6YjU̦��y��x0n��p��Z���+S�.�Z#
�ؖ�"{��ٳ���c
W*��7 ����Jŵ=���yҔ.�,eg�Wo_^^XZ�U�
�C�<��!x�H��ٳ:���
+'��2�{�.�I�K�S-W�N)1Э���B��֌

W���O1���,88��x��U�����eG�^'b�?��P��=���W��+��	���V��wmF(�����Ir���b���I��̑
�]Q�M��
`����p?R���hE���������Br��{���z���Fz����tK�{; l��R�@'E�������SW�h-��ja���@
��� ��Հ�
�
+��� r�>�;MZ3��Ne��KY׍�k�81y��|iQ�eZ؆��$�r�Em�K^��!
�	��j����
��4���;3?�tU8qP<���i��s��K�	�^(
H�bt4��f�@7Om;�La�[R��6��k�N���B?��2��&s��a]~K�#b�A���0Y荳�
+6�TQ
���,
�������#k��0ih�o>�C�
���JH?
��?��T ���Ml�C��U�;H`��+z:D��|�,�6�X7?�$Hg��,��X9�yv:��q�~`����H�����g?��������D)�B�6�d�mXƶ�$��z�xWc �.��L��*��
����$6!��1��~/��-��ց��N*���U���p��wm�3� G+ZD��.�ײ(u�؛�"����֋�
+endstream
+endobj
+1054 0 obj <<
+/Type /Page
+/Contents 1055 0 R
+/Resources 1053 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1005 0 R
+/Annots [ 1051 0 R 1052 0 R ]
+>> endobj
+1051 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [113.91 174.013 450.648 183.911]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.irisa.fr/prive/Bertrand.Jeannet/newpolka.html)>>
+>> endobj
+1052 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1056 0 obj <<
+/D [1054 0 R /XYZ 90 757.935 null]
+>> endobj
+1057 0 obj <<
+/D [1054 0 R /XYZ 90 733.028 null]
+>> endobj
+1058 0 obj <<
+/D [1054 0 R /XYZ 90 669.245 null]
+>> endobj
+740 0 obj <<
+/D [1054 0 R /XYZ 90 615.796 null]
+>> endobj
+1059 0 obj <<
+/D [1054 0 R /XYZ 90 570.905 null]
+>> endobj
+1060 0 obj <<
+/D [1054 0 R /XYZ 90 526.637 null]
+>> endobj
+1061 0 obj <<
+/D [1054 0 R /XYZ 90 483.086 null]
+>> endobj
+1062 0 obj <<
+/D [1054 0 R /XYZ 90 441.473 null]
+>> endobj
+1063 0 obj <<
+/D [1054 0 R /XYZ 90 407.939 null]
+>> endobj
+720 0 obj <<
+/D [1054 0 R /XYZ 90 376.344 null]
+>> endobj
+1064 0 obj <<
+/D [1054 0 R /XYZ 90 346.685 null]
+>> endobj
+721 0 obj <<
+/D [1054 0 R /XYZ 90 289.242 null]
+>> endobj
+1065 0 obj <<
+/D [1054 0 R /XYZ 90 257.646 null]
+>> endobj
+1066 0 obj <<
+/D [1054 0 R /XYZ 90 214.095 null]
+>> endobj
+1067 0 obj <<
+/D [1054 0 R /XYZ 90 171.166 null]
+>> endobj
+1068 0 obj <<
+/D [1054 0 R /XYZ 90 115.038 null]
+>> endobj
+1053 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1076 0 obj <<
+/Length 3571      
+/Filter /FlateDecode
+>>
+stream
+xڭZKw۶��WhW꜈ƃ ��
?R�q�k�7��
Z�%����
���
H��4�݈�������z�foO�ܟ�^i6��8���q�����ݯf�=�s5_pƘ�&}��b]%�fΕ�<����,��gR�l���H=��?���͸�Ri_K5[nO>��f+���1_����B�7�ݝ�焹���r�h�Ͽ�ڍ
+��F�^�pgX |
��f��
�b��<�+�yr�J���"�k.��<�Y�<S�$_QaY�uZ7&_҅X�cQQ!Ks�����M���� ]��NM�����Ά%|Eݎ϶�J�IN�o�f��\��
+?���~�ܝ�-,�L2�̼�"o6�3�1��|��n�W�=���
!�#�X���ݎX��?����/�

��Q�H퇢gL,`P��A����sιg�9���A��;���h\�"����Ty�4��+�?�ȟ�Jy5�H�uQ��f;u���~ �-}lA����46���L�'�^#B���ػ���;{���l���"�V��	��x��7&i�Դ�
�&�M�*WU�/MϟX
� �0��v�)L
��s޳X bT�@s/79��t�
+C�K5\�<Nd��Ӈ�[���ph���|��@��:Y�P%�3U�~aa��i�f��|��I�l
�%�۬�S	
n̪J`˱�0��$�Y��4�
+��f]��F�{��E��{l�4M���4]���.�Jꇵ�X��Iۆx �%���$sw����E��]�)
n���8�~8p�I�MR-7X�(*1*O �
�̒��Ԑ6��
���}p�)T�GV|v�����N;�R<�
�=Vkg	nߞ�>��ϟ���,�cك9�C�{�A ����`��w��1L߃3�.\�/�������bh@���a�^��O�lL��
G�
+�y�E�{zm��Xc����w(�E[!�Ѓ
_�=�,
��U=�E��,3n���<P���[S�v��t�� /a��L�P_�b!���J��
+���q6r�h��MR�N���g�

�!P��U[����h�$�Ϊ*y�֢4Ug���`�QG�$�ء�-�`��	�Z7�
V���"���"]Q`]��8v¹�������9�ןȱdi�
+��j)iQ�� Q!l6T8�K��Pe_J�t^� ����ސ�y������e���f� �.�A��pvm!f"��r
���սW�@[#1�X�)r')����ސ�<38^�g�����
+���
+��PM8�a�콳���_�+�o�ܚ��
�w7��
B�ߜ,ⰝA
�Y���	,� �
�/-\w�����j��z�����
���7_�b�s�V?�9�]�'�l;���|Yd��G �Qt��c��581S>
X�}��K����(��G#�HsƓ��
���K���	�@8#�km�H �C��+��[r�3j�0�W�6IsjyHj
�@.
i�>�L�}�y����]�Ŋp�,����x� �=;���H�[]�z��Q�{�I^?��0h	<�����K<X r��68��8�Z���薻{ޖE��[�1��qS%�{�4	�><�a��#���8�A�/>�i��F��q�1S�+}1���8:w�f�.B�$��sJ�U���Y�k	/i�U�4�2H�.��B�n�Zh=�
���aﮃNʕ3!\�YRm��U.L�M�'[��Y�����ϻ������.Fʒ�Ӳ7PI��
�j=
W-�K!vUK�bG��@�"�&Y[��ʠM2�N���;	��C���i��[�2]o�Tb��E�D�
+�=�H��H��s���pEb�ɼ�.���|
1��ܴ��O緗?�(�<�|�vt�!c�	N 
�����m��
=�Ƒ���r�G%1Y�
+\���K�_/�䕸���S�
Sn���� +�pݸ�ZOx������
��bN�b�P�R���4��LC��v�[��U��C ���VMn��/����Џt8���8!�5Y��>���
+�����&�
 ��y �
+���Yt�,x���ʾ�7�	�T��ȫ�}��q?к_��,`j�σ��
��CP(�.8�AP�
A� s{QG��0p��}��&YU��U�J�z�0�9��R��NM���/u����
;�Z�b$�u�L��>v�
Qh�@Ղ!�aL6G�(�4wsUm�hҭj�
+�m��wZ�1"�m��
+�H1�
��)���χt�K1���}���Ķ�����	���uc��#��C
��x쀂m"p�J��˖�&qGt[����������2��]xT8R.�O�Q�V�R.pग़�Jp��),�n�Na�N���v�
+�J�I^��-���ϛ�Z�
dtZӂO�^�I��*Hf�h�w��_/��M0�S�L��q��`l�z�j��j)P.��N\}
���N�� ������ �����9�+l�
�\>�"�s\F*��w@b��#�J~����J�J���{̸����wg�ڻ)���Hl`Ÿ]�m�&Բ�5�uC޻N�����Rv
�o]������,����\Pl]���b����UZ��%4nM�)V��
̋��m8��Q���#j�mA�l��=BI��/��&X}v�s�l���+D��]m���ؤ-�@
��&αl���M���_Pw������z2Q��X�
�"$w�
�m�=�2��AD�_,���S5���t`����5��J�#L?4(��������7����<E!r)֚^�"����yE�s8�
l�м�9̮��
���ϯW��l��^qB�`��i�I�J�:��U�Ԯ�up�Ū�\��>S�{G���/C�g؉*e�]���}����WV�����@
��.����ȝDU^S��_
����2u����)%f
�n�ҍ|7���J�)�ʏ�=72�6y
�xI=1�
�*�G�s�}���SD_<:�o��"����
���0�r�(�6a����(
�v�7c�
ᷗ
����D$�#�*`��a�R��n
�t�glJk�b��Q1�6���ˈR����c*v'�
+�8a�A�x>� �����	Kp>򋁀�]TGIt.7�H����R�d|_R$�Og�HG�&mw��AtAP@/-ͺ� ½u7h���Z��@��l2
+��,�E
:�����Z�I���ip3��x�d)�$O��\|܅�6�0�9u�2�߉��7_��n����NA�_i|�����P����C	��2�n��eZ��ݿ �{|�j�[	L6�`��4_��'�U� �l�:;�x��!��X���&�T�F���g�F�X�R���I�
���
vs��S�0�V�>�����
�+)b_�x$�zH\a@
�I�.|p��
jE��HW�<S�?o�� !I
^)�eR�'���=��!���[��p���Vz��t�BE\��؇��ٲ�<�_z���@�#��G���C���
������~��B�d����b�[dH6f��,��&���������T�_alp@�e_v@F��D��E�s��n1s�t��_�~�����iY�is
+>�Ŀvfၯ�5�Y1�d���K��pp���x��
+endstream
+endobj
+1075 0 obj <<
+/Type /Page
+/Contents 1076 0 R
+/Resources 1074 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1005 0 R
+/Annots [ 1069 0 R 1070 0 R 1071 0 R 1073 0 R ]
+>> endobj
+1069 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [113.91 644.819 374.71 655.1]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://icps.u-strasbg.fr/~loechner/polylib/)>>
+>> endobj
+1070 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.917 632.799 217.053 643.145]
+/Subtype /Link
+/A << /S /GoTo /D (main_Wil93) >>
+>> endobj
+1071 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 94.816 146.887 105.162]
+/Subtype /Link
+/A << /S /GoTo /D (main_NO80) >>
+>> endobj
+1073 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1077 0 obj <<
+/D [1075 0 R /XYZ 90 757.935 null]
+>> endobj
+1078 0 obj <<
+/D [1075 0 R /XYZ 90 733.028 null]
+>> endobj
+1079 0 obj <<
+/D [1075 0 R /XYZ 90 705.088 null]
+>> endobj
+1080 0 obj <<
+/D [1075 0 R /XYZ 90 673.805 null]
+>> endobj
+1081 0 obj <<
+/D [1075 0 R /XYZ 90 629.81 null]
+>> endobj
+1082 0 obj <<
+/D [1075 0 R /XYZ 90 597.491 null]
+>> endobj
+1083 0 obj <<
+/D [1075 0 R /XYZ 90 553.536 null]
+>> endobj
+1084 0 obj <<
+/D [1075 0 R /XYZ 90 521.656 null]
+>> endobj
+1085 0 obj <<
+/D [1075 0 R /XYZ 90 465.865 null]
+>> endobj
+1086 0 obj <<
+/D [1075 0 R /XYZ 90 422.029 null]
+>> endobj
+1087 0 obj <<
+/D [1075 0 R /XYZ 90 378.194 null]
+>> endobj
+1088 0 obj <<
+/D [1075 0 R /XYZ 90 322.403 null]
+>> endobj
+1089 0 obj <<
+/D [1075 0 R /XYZ 90 291.24 null]
+>> endobj
+1090 0 obj <<
+/D [1075 0 R /XYZ 90 234.732 null]
+>> endobj
+1091 0 obj <<
+/D [1075 0 R /XYZ 90 202.971 null]
+>> endobj
+1092 0 obj <<
+/D [1075 0 R /XYZ 90 147.06 null]
+>> endobj
+1074 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F72 404 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1100 0 obj <<
+/Length 3443      
+/Filter /FlateDecode
+>>
+stream
+xڵZ[w�6~����V:'b�׼��ԉ�ۜݴ4KXS��K]���7��h�n|ξ�� �e��
�#w���������
%Nz���v���(N���|�m,
L��u���u����r"�����#_HǕV3�eLԃ��?��H�%�ȉd0�V��pGs�?�\G&����Z�|O♏f�
��x���s��.?��f��p�
�8���9?8����K��e��s��
���y�Vھ�����i���t���U��y[���7i��ݔ�,U��L�~^�x�������}�	C�;�lj�˶*��.yk0�A�D�h*���
͒����D���
^~��%A����E�����G�úS�vD$�
H�5
&��ʵ����EU� �x��,uͭu��f�Ģ"��VQ�>
���q�3�vʼnC:��h�4t������	ѩŕ��ZĎ�eÌ$
��/!��v>��eYޥy�
V4�'��ͼ�u�bS �zC��M�Vܹ-+n�g�.󇥚WF���`Nڀ}�>e�b��
�K
K��l~Y��
+�G��Qܽ(�t�X��'
�������J�8]�[+��U�#���yk�\��P��R�u�Hpϋ��č����ϊ���;V
�tn�ּZ�mm�
d���vޡ}~��PмV���`����� �������-��Ս.Ҧ���(�>����YL�%#�=�-OGK$��-tnOf����:��k��D�D�ܕ�LUZYyik�'��*�X�]��
+�'������Q��,�v��@�?f�֍�_!�/U:4��~;{.�6^B��~4��O,ҐՅ`�5���DT�J�n��%��z���7���Θ���L��]�B�삵*���tA�چ��0A��%|'
�]i!d0Y],�(���ԺҴ��U��v��p�VN3�n��s�"��׈m�<o��.aһUH1��<=r���t�k*]�<���Ov��Qz����^�
��I��� ���V��T`^�������~�Pq�
����=��I��o̕-1�EM�ْ�II������;��t�ڟ�k�m)y�-�ru���{����^*}�� [...]
�`���.�2
.��J
�nsܚ��([a���"�~�,��ܮ��e�0=��$�e�pEh9�T�����zPҤ�R�B�?�d���K�J�D���o���c�'�c��5�z@�o�E��
w�B�-��mݏYJ�%d�4rRj����E�X��nƒ@nn
�V�!�ʭ�Th7Su�{�s� �g��ES7v�D�����\6p6y���7�

+s"���@�;���D��$)I��e�; "�D��y��D6��H�����}���2���Ta!$�3�OuK���z�1ư7���Qvݼ,�5�o�r�DV�N��_g,y�s�
�m�Tq�M��wә�X��B��<�Z�f�Q�8�醊�Ť	��?L�~�s�
+�/ Av5����}���ۊޛeAr=�
og����t�,����H����)�>�9�zEbO\f�
+$m��Xfo~<�B��
+HL�"F+/I�S
+ݬ�"�����j��֤$��D���rm��)ViŖF�
��k�ľ���<�ݰ�W�+Ţ��X˅My�hȭ.�5㳳_Ρ����72(��zY��J?�6�#�
�;l8�+��3��<e
a��ƞ���F��/\��xo���8�����
������M�.�%��1k�6���m�<�FJoʼ0�)���
��ů}`%�v�?�
�Qc�p�?;�љ��@N~J{G1bY�iB
	�t���w0N�
�0�̷G暟 kD9������#�5�"
�?��N��;�S��֚��i�
+�o�]ޮ+*��kYV��m�,�S���f�<�`
�n���Zu��Ϛ47��#qz�
g�f�N���,[&ɋ�[���Gr��*��!����w�MqM���n���.TZq�zH�'O����m�o�b��}���o�e�h�

�>g��)������M˓�b]��x>���J�$��C[O���Mz�^ �2=� c��������5���rC��GuR��f�RIN�Z�z=o��"Ҧ e_Ŕ�%���	����� Ս7nwO�g����7�"���dS��f��*"�#�
��x�W&~��@��>��&���<��Tc.GM̹��R-�c��I�Ǝ0���YAW�ƅ`���x�J�r/(�����.��P
]�
��az���z�3�@z�
z���qRf!�C����q
�1b�
�

b at C�#�5��Mg�uY�v�/:�pQ�
�=
+�=�.�+��J����e"$P~�,���i����]�/Db�
0�e�����hd�F�p��!����U�r��,\����
��'�le�PE�۝��~(7]��Y'�X�՝�!�D��{gT�"%" �IpU���N��0;w<�
]�ƀ*���-(tb��'���CxF|�
OJ����Sۛ�]�-�
��Bv27v�t�,� c�M���
��l
��<-�e8F�Aj4йHڢ7��UN��j�v��n�h�o
Fծw����0�3�.O#�s���	�JB'
~Z2nRN�QJL�/7AJ� ��E>9L�g37J4L�	�t�
����ݗ�A��U�H�>����m�J�6�M�����p�M��
	$k�g�� ����I�d�ol��I��2���
+����A�m�$aV�h�ϊ=��Lē	������Q�Q`�������>�2�]�H�㲸U�
2K�|%�~@�9/}��e9��^�l;��U,|�,Ө�/�W3���	���`:i�������'�<�\)�^��(H�����ޕ	���ۗ����)�c]I��ӝ�z^�2�>; aV'v��yi��K�
�Ѷ���S����-m'�e7m��pACm��;m����D�h.�;�E큖��7��Ҭ���E��A�D�`8B���,�
���W�u-������D������L����ћu@��X�
��6�K�h��b�D������Q��tJw�Ս׵��.}B����Hf�M&���-����I�G�* �7����j�h
�1N
��|�|o	���x���dy�dw坯�����=9
]h�H�O4�et��g���z�vF7z
FH/D���}��^�Y�+a��r�G��D�!<,��/)�Xk�J�2�����ɼ	�=��9��w���D2�y��0�l�p�Ul2g���|��ǧ�$��GZ�
�n�Z�m�U�Kf<.�7lgE����\eb�
6
����p_%i��Mp��?!� �<t�H��A�!�����<b�[�;��B�
:nMl�l�
m~(�<��
0���c3�R��|��Q��D��m�VĞ�n�eӬ߽}{�d��z]9�y�^�o���*G����Z��7/]�R��l��L��
+endstream
+endobj
+1099 0 obj <<
+/Type /Page
+/Contents 1100 0 R
+/Resources 1098 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1005 0 R
+/Annots [ 1072 0 R 1094 0 R 1097 0 R ]
+>> endobj
+1072 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.426 707.957 411.403 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (main_NO77) >>
+>> endobj
+1094 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.77 613.019 290.746 623.923]
+/Subtype /Link
+/A << /S /GoTo /D (main_NO77) >>
+>> endobj
+1097 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1101 0 obj <<
+/D [1099 0 R /XYZ 90 757.935 null]
+>> endobj
+1093 0 obj <<
+/D [1099 0 R /XYZ 90 733.028 null]
+>> endobj
+1102 0 obj <<
+/D [1099 0 R /XYZ 90 705.086 null]
+>> endobj
+605 0 obj <<
+/D [1099 0 R /XYZ 90 673.439 null]
+>> endobj
+1103 0 obj <<
+/D [1099 0 R /XYZ 90 641.793 null]
+>> endobj
+1104 0 obj <<
+/D [1099 0 R /XYZ 90 610.147 null]
+>> endobj
+1105 0 obj <<
+/D [1099 0 R /XYZ 90 579.219 null]
+>> endobj
+1106 0 obj <<
+/D [1099 0 R /XYZ 90 546.855 null]
+>> endobj
+1107 0 obj <<
+/D [1099 0 R /XYZ 90 515.329 null]
+>> endobj
+1108 0 obj <<
+/D [1099 0 R /XYZ 90 483.683 null]
+>> endobj
+1109 0 obj <<
+/D [1099 0 R /XYZ 90 428.724 null]
+>> endobj
+830 0 obj <<
+/D [1099 0 R /XYZ 90 396.361 null]
+>> endobj
+1110 0 obj <<
+/D [1099 0 R /XYZ 90 364.715 null]
+>> endobj
+584 0 obj <<
+/D [1099 0 R /XYZ 90 333.442 null]
+>> endobj
+1111 0 obj <<
+/D [1099 0 R /XYZ 90 279.57 null]
+>> endobj
+1112 0 obj <<
+/D [1099 0 R /XYZ 90 245.986 null]
+>> endobj
+1113 0 obj <<
+/D [1099 0 R /XYZ 90 190.31 null]
+>> endobj
+1114 0 obj <<
+/D [1099 0 R /XYZ 90 146.709 null]
+>> endobj
+1115 0 obj <<
+/D [1099 0 R /XYZ 90 115.78 null]
+>> endobj
+1098 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1120 0 obj <<
+/Length 3243      
+/Filter /FlateDecode
+>>
+stream
+xڝZY��6~�_�7SU��>9��8�73Yז���$�)R!H���o7��k8^g_F@h4�����9n��ۛo
n��$�&s�8�7�M�m��w���<���N��
"�y���ܐ�l�:��}�
+j��
+Yk	�4�f�?~�y�p�׍{y��7	�Mq�����)����s�,�<�Y�B��6�7���XN���������6�
y
�?� v�ݛ(�,�����E߻�[x·m�9r�GεR���J�e�孤)�I6��N)[l�Χ��9M����
�1���^��*q~9.J��&��
+a��9ӮJ��s���w�`����,M��
�����gln�,rc/�����E���e�y���Ȉ~Fp�N�>VJ��޵y�+�
�h�f�]�#���7��f��D��77��.l33�m ��K@��A2�����k��K�
+O8'Ic��J}c`n7�-����Ѩ'Y�93}W}�7

n����S��N3G��kZ�[���Ȓ�
�U�-ؽGh�aӆ����i;s@/“ҁ�����Yj"��_[߇W����[s,�L�6x��Y��=r
�TM�Wu�W�hv�їY���/�����%?J^��)�/������N]Ȯ���V�٩��6��R�Vݕ���Z�l[��"q�#u~�U�)�oCXD
���6�
�Y��m�_Kd�){���N䍾m�;�W�����,�b؄@p`��
n�Ώ���TU�D
x��ȕڷ6A�
���e��#5���\ u�eF?纓�
�DMS�3�2�
+R���h�h@�;�95W�l�E���.
�ۦ��+�2�EL���|'
I�
���Y�����W�n�x���Ohz at T'����w���`
ri&�R�d
�u��r%������.L҈��M�5�
+E����Q߀{rp]<	>)�P���]��^�
�������
+����˜X���l�Y� ��k��K������q ��.�`��:�:���y���Ҵ޴���7��י�m���M_��,ƻ��qE�ʧ�m��1L�饮
���u��ww}p��x����Kg{�|m�
+�!4�
��Yu1@�7�k�&�5�J�	�91�=��L�a�2К1#�ݱ
+8d�=��
j�0g���G
+r�����Z}��_7l/�����,'�h�6`�	C�Vȁ�"n������1tev[J��L�*F�pǥ
��J
� �t!�
4�#�@�,�Y�T]�VF��k5�'�9<
(�z�-4΍ ($ 4� q�\ڼ�|k#���.-|�������77�e�nE;^�rmz
X6��r}B�S�`�"A}v(Im*[�x� ����ʓ��������L����
M��dz� �.%KbdƔ�� ����|B�'\9�Y��|^h&|B�
'�6D�ɋ
+���3�B.msl���e}
-��v�@i��R�ف��>�cƑ�� 
�$ah���
u*.���6�!L	r�5�\3����^����X�4���c����z�1�~Ɓ�$ԝ��[jLO� E���K�H��&ӛ;Oc���eP[�^
��\ۊ�Q���y���Tg���N
���R%���rΗ(�p.;&��Wl��5�*�|8�4H��W8�"�OD"���D3
���aױ/A1,�m)$
B�"�WQ
��K
v4�:��i�&��&?��#��������w+P�q���)�u5���)��Ʒ;3�PE�	�MX?ɶ@r�`=�A��ZD P�~!x�� �=��V�b�2����x����
�5r:���vR3Q���.��[>{ 4���)��ds�z��#$Y�c`:b���6͡���=��Ġ�B.r���TO/x��>\�̐�Yh
+/N�u3aq}���
�����3�
1լ(D'��:6��c*]��C��$|aO4��hҚ����6WS�*%�jd�?��v[fâ���� ���ٮfDB���B�G^��
@Fc %�
�ታ�a��B�]�V4L��@�T{U���RՁ~.��4|88���A�ƅa�Pv�3_9߹)�a@��OŜ6���=�z�IB����dox&��TуT~�TF|/���V��\��e �� 
+}q"JN�

��$9�����v=�B��9���EI�so*Wh]r�i���ּ߳(HQwP�
+Į���V�I���̳X���
˩
Z -���d�e��
�YL�>�#@�5ה3VN�6ߙ��1fa�JV�!�%V#@@�}V��pmn(�
����5 ��KNS�2��	R�US�
F�
��9�������
+�}7�
+~�ͬ�~��$ۘKx��}�5Ft��#������Ṅ*2�;y�/�������o6P�2�b� +�7�b-���d4d�(% �@[0����m�H�`;�_�3�_�8u��
�T,�
����اTwgo�s[��7"
�UZ

�0��1�

����
�9��E$ӓ���2�5�.P	�._j�Pؐ
TK%t�RͶgc�
�qA�X�
�
������<�����`��&��6�e��=�%�m�
:��`�W�Zz�
0�ˌU��@2��]f�%��[��
+��T^���3.+�IP�������*���)go���8G ��Z6��7��Ez��8[�(X@��9WS�}c�>
��)*���K�l����;
����x�� z:9��Qwt7�	��B��kj̬ց�Q��LY���*�3x�Eij돧i� ��u0܊2R�L9��Ղ�>��x%7���rY��Y
������٘�ru^ڐbPk�(C����`E��p
VY"\� b��0vh7_���:u���BZ99���MQ�B�
L����98\���K���S2r�=}�J��
;�(�?��
+W�$��Bii
 �G�4���
�)�2��_/]V2�hVQ��$-^�k1��D��l�Ψ�/ �u�fLQQ'(y��<~wd�e�g�F3�jإ:�
�d
�N�zy��J��!F�N��(Y4�W��L
�����|���+Q����_	�N����>+��d�=!�xO�+�w�;�$��=~
l	��#R�S�.v|�
r
̯�j������7�����k�o���(=v�$L��4�̍"�x�����3?����
m}d?1B�w=�V��DԽ-���-=�7e��=%�����i�zI���������kui]��].��7�	_��?�7�a,���U�l�F�����u
+endstream
+endobj
+1119 0 obj <<
+/Type /Page
+/Contents 1120 0 R
+/Resources 1118 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1126 0 R
+/Annots [ 1095 0 R 1096 0 R 1116 0 R 1117 0 R ]
+>> endobj
+1095 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.082 707.957 309.535 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (main_Wey50) >>
+>> endobj
+1096 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.932 664.62 405.385 675.524]
+/Subtype /Link
+/A << /S /GoTo /D (main_Wey35) >>
+>> endobj
+1116 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [297.062 536.654 388.718 547.558]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://fsf.org/)>>
+>> endobj
+1117 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1121 0 obj <<
+/D [1119 0 R /XYZ 90 757.935 null]
+>> endobj
+1122 0 obj <<
+/D [1119 0 R /XYZ 90 733.028 null]
+>> endobj
+1123 0 obj <<
+/D [1119 0 R /XYZ 90 705.218 null]
+>> endobj
+606 0 obj <<
+/D [1119 0 R /XYZ 90 661.88 null]
+>> endobj
+70 0 obj <<
+/D [1119 0 R /XYZ 90 607.529 null]
+>> endobj
+1124 0 obj <<
+/D [1119 0 R /XYZ 90 574.884 null]
+>> endobj
+407 0 obj <<
+/D [1119 0 R /XYZ 90 574.884 null]
+>> endobj
+1125 0 obj <<
+/D [1119 0 R /XYZ 90 469.396 null]
+>> endobj
+1118 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1130 0 obj <<
+/Length 3090      
+/Filter /FlateDecode
+>>
+stream
+xڍɖ�6��_��P�u�\D����v��6ӝS���Z���K:���� �2��" �P@�E��]����_7/~H�]����{8��`�
C?���C��ŋ�wQx?~�Y:�ѽ�x�iz�L��w��͠a�Ň�;�_~�y�p��Mg��p'���ɮ�o~�5ؕ �i�q��iU�;D1�����?7����xEg��1a:0������x���8�<���}�x�� (I��o�zU��
܎�^��U�h�aT�XѦ��(���4>���S�t�m
��
�ݏ0�ù�*�״#w��izf��[�h��wa��\���؛�G�\ܨj�v�jJ�L���iO�^ь3
�O�ǻn��n+ں�F���Q�=��g�S
�L����,m�ly��g3�e�����ZS���{��:]�1���y�=O�y ����*�-�V�<<�Z���p!��n���
�*#�>�I�Y��š�z�GՓ�� $ }�gp���v��u�5T��l𝹫E�>����Gi�i%{ܵqP��d
��� $��M-��nJ|��9�-pд�
>��HO�c$�?�[�)�
@Fj�����i�Ҍ��ǧ��
>��4Or�Ҡ\�t���-�� �
+5O�Z�=��@*Y.~�MP
�0K��7�}ϛ_~x͝W?�~����{�`6)�?:��!�������ii�jr��]��
E���
+�����	l�#�R��m�
��Z>��
�yy�){%����yd��c�i@�9�^�r��r�]e����J!�ϲR�.^x	i"�Z �g�Ӕ��L�d���
ٜ<�8
��7
�6(\S1�H-�������e���ǡ���^X/X��
+hU�������JY�yT񋗼emC�,�sL�{o�p�UК=�^�(K�~A�KlX�ܥ��>"����0��S,�G5�
Z�yA�.k3lb�g�	DC��wm�yO{�h��������� �E�V<��t�c��Y<'�D��;�^�
����
���JՍ����s!X�^�H�+��W�{[u"�9�Y%���'Ӄ
[�D��%�
�H3�J��ˏV
�,CuA�Y*�@��>Q
+�]�Q$�T��=��C���9���
��aD��H��
�ȲM��ZX%�Ӷ!��@iՃ+AY���5��?*�܉K㷉{S�^�H�o!W�������1F�<{jV��Fw�B�y�ս��
+�m�+��|�:��(�$�8Ή�G��q�C)�80N($�.�k)��9�@s|�i������]TB�|J�j�Mr�������
�ȣ�W��

�a���'��4'TA-�/,{��󮵊H����d֭Bw���$.�ĊD�q>�Y����fq�Փ�Θ_�SWF�O^iv�
P@,���2��TR��W�U|�
+�p�� 	��0��-��]^�!�ݺ��U$�
�����l戓b��+�dD���6X� ކ��ʆ���i%��o� L\�
4��
�HD��L������sh�p�d̹V�uל�\��
�~|
�d#"���X�(�.�(Vh�
�HFx���-�^�Ν����Y��r��X�78�׷��z։9�
z�ot{���|���Nv��c�:!5$
+�t���@䶍=�)H�K.�'�nv	{�B&AW�J]�x�UQDPb^v��f�wDq�bȇv�H�QA�"��Y��)9�	%=3�q�"#Tq��y���f��*t@��M��^%1��`D�rj5N,��#d
B�o
.
�Qؑ�=]<B�Aŵ
�11�4ń>�я���t�B��S�
S��I�T�t9g�z����`��4[G��'"Q+k�9�-K�YO�ՙ�k!IY�(�0�.�r����`_6b̽��_˽�
=\��-���	I7 ()��e�p�l�O���Ң
4f��7 Y{�����xd�ۓ�A�{�i � 6�ŋ�OB/?l2�Z��.�
�e��\���C��KǠlx�L�+�S�?���.�y."Q��q��7BW{{ ��.)đ�b�B���ۉr�B�xՖ�;*

�C��fj 
��
�/�F\x����U�@�F�[��(����#6,W�q��\D ǭ�{T˭)	�|���onkA�7��9=�•{�8՛�o��4'��G�1hɐ�KjR�
+���^K{jK��s��5W[�2�kQ�a���O�@��hB�
��$ẜ��m�"��B�=���
���A��[�B
ң'��
+J*غ� ,1�4�DQN1UJ�R�Yh P��iRO��h�(�s�
�g0�۩�\�Tuk�ӫ��+�Y�p�����ji�F]4����2����;��+
`m�#��C�\�v�cH�
�eA��|���C�x
�����m���sWV��&J��y�5�<��4r��E�{���.��䟡�FЀ&R���1K;A:U|QO��
w��{�yp���x�E�
�
�p�
"E�
U�\��?� ��=�g��u�7�<-Jm����Ƥ�]t�r4�t�PȕJ�-�<K�bH�O�CIW�8u�s:�ا��g��HSw��ÈCm]paֲ�ڬqQ����m���q>��]!鸙�e���+nu�@��g$�9Ý
��;Jj�i�9�匳��g
*e�|���Es�W��Nր
�jP��E��]�3���EH�(
�lp��7��ϐ�O|�h �@���JF����a٢�i�
���f[�
��2_d��~J����\�㾆[��(��شJ�ʄ �~�h+�Y#�&QJd*- at 1�x@�-��r*�|�?��JWV��r� �`��n!�q	��G���q�v���].�H :����)���� 0��~���\�h>�KU�R��5�l$����qn=o>��js�u�N6�O�|�
�f�����"Cj�gI	W�2N��ݒ \�ʥ,����������L.N�y�-Z.�]�]p
�d����
aw����
+����^p��<̾���_G?O�L�U��~�
�>~~�GQ��d�V��.{e���˗��gp��� x�^5��P���շ��)����rE�ח�����-�
�� 0��q�������_
�Ԙ�������G��s
�4�-�ٶn���,�����l�=�
+endstream
+endobj
+1129 0 obj <<
+/Type /Page
+/Contents 1130 0 R
+/Resources 1128 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1126 0 R
+/Annots [ 1127 0 R ]
+>> endobj
+1127 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1131 0 obj <<
+/D [1129 0 R /XYZ 90 757.935 null]
+>> endobj
+1132 0 obj <<
+/D [1129 0 R /XYZ 90 628.52 null]
+>> endobj
+1133 0 obj <<
+/D [1129 0 R /XYZ 90 604.195 null]
+>> endobj
+1134 0 obj <<
+/D [1129 0 R /XYZ 90 280.819 null]
+>> endobj
+1128 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1138 0 obj <<
+/Length 2945      
+/Filter /FlateDecode
+>>
+stream
+xڍYI�������RUZC���9ٓ�{�t2�R�	�P�� 9
���
\��9x�
���1�<m���w�=޽y������t�x�
�M���D���r��V��Ul���gi�Fۼ���p�L���Ѝ��9D�a��������w!�lB�;��Y�l����߃M	�6�>:
6�4���*�o��x���`�g���}�&�g�6�m��(����8�f^�f���g�����(��k��i`&[mwq��.����e�
��q۴B2MQ
���H�y��~�f�$[Ǵ�W�뚗0'�[8^h-�ybY�w��F����
�.~��c"7�UQ��U���6ߩ .7�M��*ͳ�VK����k�ӟ/���@n5��K&
Mݖ� P�b��i{nmm�'���i���y�	�z��g�\�8PY(�F�[j�m{f
+K^ʨ�,޾G��$aLc�y�Ue�e�w���umS�8�c;�B6E:���z��'�����چ�~�W�ε��{�ʽ�M2Va�u�LhO �gb=L�~����
�h�7�bB�ثhKi��
�S�T��x�Wym��l=<������n8���r����z�G�*
+&�g�qLu�.Ȏ�Y0�6O
�9S��c0��
+�g�M8
?]�:ځ�j�9ʼ�yJ������XY8HB�!	
H~"����R��I��Z7
�|��\$D`iB�!Xn���0n��C�
ן��S�$G����"�l��h
P�W�1#��
������Pt�c���q��nXr�%���}
�����ζ��ŗ]��/]��
�ėz]_\�m6y��R��3�B7[!��kk��<�dӸ"��Tv�!��H�ã\_a<����Χ�
~��s`�N6Y�/�D��(>�&�V��RP�y��4�
&������l
��c�1�\�p0]�
EV�J�!���"u��h;�����f�� �����4����ޯJ��I�����>�����A�����- ��񘜖mkݣؓ#،���02I
��S���gd��%W�iW�

���FNN1݉���v-d����pT7	�Dp�n
eb�@n��z^�N�Tذa�rδ�E�0�wU���)��Ԉ(�� e��5��v9��|&�pL���S���1W7~&�\o���d�r���5Z�� F�B̗u׸I��P^���o-���G������̀��ʺ�혠Ĵ��+�Z")
+��Қ�B2����, U9�}ށ����B���Q
=�@|��i̓ !��N��3��.��
�/%�Ӽ�
��I�\�Ie��3�O��7�,��
#u�A���+�t�U�rR:��V��z�"�#�d��
wHYunh�HpiD���}�
梃�,�(]�_��҅|��(ed���Ri�"�������+��0R��;�iE����c�I X����
+tm����)_� �H���8�w
ͬ�	�q��p��36����-��THk��
�$�o�#V>��s�$@p
�!h
x�}T�9e9n�3Ә�b��?�Vt�a��k��P�z��
+N�x>���)�E�+W�WK��
�ԙ�<2�YJ�$�@a}����T�N:K �G�I�+���bW@�82R��	���u-OyՄ���uU`O'}ɫ3i�0’8��(��p�.��8�b��~xTn6ZE��9����)
-I��Lzt��5�
����y��$����]`"zg<zF�d�+zo���4��B
�[�v9��+V	:��3�:>�x[[
5ࣦ��D‰_%
Wz��J(
U��=�d��`�s��IW�F�
y
"T�/[�u#F��Z�"@W�JK�V �h�	/p�{���jp
7u������X<,�`w�k�
������o�V���z�����2y|�����!��3��L�ȟwY��
+t�S�X�e����x
O�<i��Z�~2�G����(��&p{־�&FC �K�V�>�T��
V��Bd7ɏ��?KI	�
����y���Qq~� ���0�̕��A"yxf��Y�
CYs�/�Uh����r�H�,���*ەmG��Q
 �*��_���?9<
S�@qp���r�*�
�6=�J�Q�c0p�53kc_|<ٌ s��l�5�V��/M0G2e�W�L����_`�h^Y��q/��K{���`N�u�d�Ý���	��染�Wn�SH��da�+P�
kmR)�|U!
$}���"�,\{&�	�NB�.�>n�b+���a0�#�`��Ċ�B�>�1dd

����	z��)��sC(�+���/t���9�?�
��K�a�gR���
r�(m��,`��9a`��F��˹�A��:-?Y ����{Ǣzr!K
+����_jl9��|ý�
#eRk(�5�vD�XS�2����/�Xrք
��c ��t�Ծ:��5U��=���!l�����'�	JA����+B�X����ƒ��g�G�	�

��:H4����~73ib^�f�e��I�z�Z�r�
+�
+љbh��H\
+� ����b5���~�
wH��@������H�7/����E?: `���
��xm�
1ĉ�v�A���6N�;�ZF&��	;
@�=6E
+ڰ����E�����
oؤw7����B��#���
v2�����@�pD�S�-.:�D�"j�0�1	#�0�+?9�z9:���o�-K�r�S�Ey��X0^^��rr�y�&�dǸ�7e
Bɭ���	1�����kE��

X..9��'�E4yR��W�"�#��C�_%1z�u2z������W�D��ͧ
�$,�������ť�VBXF�
h��"8k��0�Q��1�
���������t̢���N��$�����m-|<����K�������:�P�hl��7�O(�I �ٍ�
�a�d��Z��^�6��#��W3nÃ�@	��K�w~����y_��И��M�
��Bh7w�x��G��(������-�&^���0)�q
+endstream
+endobj
+1137 0 obj <<
+/Type /Page
+/Contents 1138 0 R
+/Resources 1136 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1126 0 R
+/Annots [ 1135 0 R ]
+>> endobj
+1135 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1139 0 obj <<
+/D [1137 0 R /XYZ 90 757.935 null]
+>> endobj
+1140 0 obj <<
+/D [1137 0 R /XYZ 90 577.047 null]
+>> endobj
+1141 0 obj <<
+/D [1137 0 R /XYZ 90 351.844 null]
+>> endobj
+1142 0 obj <<
+/D [1137 0 R /XYZ 90 205.945 null]
+>> endobj
+1136 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1146 0 obj <<
+/Length 3033      
+/Filter /FlateDecode
+>>
+stream
+xڭZK�ܸ
�ϯ�[�U
�$�9m\�7^�S�MU��[bw+VKmJ���� H=F3�d�Ң@�>@
�N�`�����o��d���4Jw��]�4�(��W�O^����������P�Ҳ��㡩Kj��K��
+^r�^
�������7_oBX+؅f�$�3����ͧ߂]�w�/�|�`�.�8�lvo�y���H�A��>+��{ݵ�8��
��D������A���?v�އ�W*z��� ��]�����7I:[/��F�/ₖ��>��F���H�ҭ�x
+�.�y��N!�A�f;Єa�9�5>����w�U���)��ގV��K�z
uwyq�z�C�HX��N_HUݑ�=�Ъ��*n�m�45i!l(}�W�U�;���=a㨳oue�i8ˁZ�F�АM�Q��`i�rzX�w[k��h�c�֤va��"�c��$�H��Q�,�>�&`�s��4߽�jv�����͔R�G'ХnU�=m7�%aM���5�
9/+��֒l�r��j�N"�U�L�H�v%�/E����e?��"�Iv�3ّL�c�e��Lv|u��p';���ت��P�#Heˢ!ĒO^��f�*[�{hǹ��Җ'� ��'+2�"r�
��D���{�E
�{�h�u������;0f �gDWm�BL4s��NC|1NL]�1%�v����Y�06^���U�w
x�ƞs7�;z39{{ρ
+��D��F�g��E����5�����L5�[,��`:֮Unb(��⁠&^���9
�Uߓ��<���{ܧ���
{��3�W�=�F���Er��^3ވo:sI͘�Lc���u)
�0��d�S��B��p���Q�’�z��M4r��/[�TRX��Y���Z�ԸJ=�95�����Թ�
N��ô���je�+�ȓ�0r��*:��7�d�g�+r�=>���!8>ٔ#"�L�Z��w���l.%<�c��v�-ݩf�w�G�
>[�M����;njt��ڏ�8p�ﭫ~\���ĕdp8�����GJ5Ӕ
!�+T���{��,�����B
+0J�R�����Z��Q-8.T���F1��,8���kc`��Bt��T	��&kl��=�¿〈5G5mD㙼z�?��M	��X	^���'����9_uD1�
'
�,�C��p���D�q�Dw�qsZè
!���0#����؋A�E�-�ҏCt�׺��b��qD��
�#��
8عD
��-�E�d-��!X\��X:���N,���%�F�$04�4
,S�:�
F��j���qR�/!`�0�r%
��<���%�io�b�&�a y �dY�N����O�)��b���N�\ĎF���d��P��8��FǨ��I�o�i�f�0�1�;u�C���s�&"X�k���\TU��l� �jF^%
�d;!y:�̠�Ј��@W�� ͵<!ƭ�sժ��Y9���t
�D�C��#ej9�x6���N�
+�+K
+�9�lȷ�L�jk�R�x��z`�D%2�l&�_�I��n'���p����f
�3��S�j$WM��XL$����-���)������SӟMg�<��X��B&��CD�{�e�ΰ�!w[��"w֭�P�\�B �y�12�^푋���*"?,x��������]���9���k
 ��� Lb�Ū� (
[�W,
������?��f����?�,BVM@�9�`� \N�Ԙ
t����
��|���_h!��:U�� ج� �L<��V:���k֪[�dE��_w��@�T
+*����)��]R�36���+2Jc�@5�i�j�2��3jpa_o����:�d:ih�IC�n�[�؃����Yr̩�N����
7㱇t�!v*8񴰛�F�AF�s��g���G���li�"��.
+k�����Ǟ3vc�����@0�CP�^�Qs./�}�:K@��.q�`�C�B���@��/�X�e{R ��IDϘD8���$"g�=����IDS7��цs�����
����$0�^�D
�Iج
���r.��{�I �<�ψ���,E
D�Zq���$�c�Q���)�3�T�T
��g�޴��(L��JfM���q/��
��N�r�<�iqw>�r�coP
���	��2iʢ��\}���
�)���0[ֆ`6���9*õB3	�rEa��+�
�5��It�����F�.���|�IK"wa� �j��
����hS嚓�)bD""��߁��w�ey9�l�;�i����ATh���XIh�mr/���;�ij܌T���z�*^��~��@���ֱУ�üʶpf�H�\�Cr
�h��{9&;}��Kl/-�RĦ�W���6��Wges0���d�
Ƒ�G���ުa�Y к�7����m��'l��w�?���
2�T��{U��4�������T
Z�v9�\�+�i���R�sggRE6��=��)�n�����h�V�w�dـ�C���h�OVf��\�hDגi�A���M��R��S۵r�㖵����F�`6����*z���)u�����Ƈ�VF�D�qȥ5�g��@����9��r���d��w
E(6�霙
+' �h�fs�f�ʹ�M��P9�T}}��Tx�F�<#���Sౝ�9�����]K�"���3��0m���XO����Lh��'6_��"�|��+�^^�eK�ܯ��t~���a���j7s��)6
~s?u�db��b7Mˤ�"�_��KY��i��)]����/>��Y�,�c�?�`��d������I�e�t�o��/$V-д_O�1!�8�3wS�%	�Hб
+�<��Os>�3�,�d&�߰��*��/��{�Ta�L %��
�L�3ER�I���'��c�/
�>t��YUZ�|
����]�
+�p!���Mo

�;���{\;���Hr}���?��l�a
�P��y�?��=<<�e�m}�~=�]���Bi+��0����������JL�_�����f

+endstream
+endobj
+1145 0 obj <<
+/Type /Page
+/Contents 1146 0 R
+/Resources 1144 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1126 0 R
+/Annots [ 1143 0 R ]
+>> endobj
+1143 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1147 0 obj <<
+/D [1145 0 R /XYZ 90 757.935 null]
+>> endobj
+1148 0 obj <<
+/D [1145 0 R /XYZ 90 714.318 null]
+>> endobj
+1149 0 obj <<
+/D [1145 0 R /XYZ 90 375.452 null]
+>> endobj
+1144 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1153 0 obj <<
+/Length 3404      
+/Filter /FlateDecode
+>>
+stream
+xڍ˒��>_�[4U3Z��٩�e'N6�u�`� ��Y��	r��ק_ A.���
�F��h4���Cp�����ɃCy*�(;|�
��g�)�������1z|�����?~��n��΍���wS��j�qR
���׏�?����o!�
B���<N����_�C
���).��+a�I÷9|x��C��f
�a��� ?�Q|
+���=k�kᛔG���\
��xуnG
�z���G=0�/At=�l�5C�wƼw�T���jA��0ށB�F��v��n-��o�A>>�?�̼T]�ǻi_�]U�ƌF�'$H�9
Oe*;���lj�7,3�7e���W5Z
ܬ͠��t��~����#����1t�jnt�� �P�j�Z�|b��
+�Y2�� ��zC�/�0h�wm�Swv󡛆J�
��2:�Hl�<����������
%�Bku��q�,��hi����1^�	5���A�Hf�сV���
H�c,��	�����Ѝ�Z�/Q gnunDG/�>	^ӹ�w�V�ک#q�*�Fc/w^�rjl�ʞ�깻sx.NIV�p{"a��(J�X??�訨q�����9G�?\�,D�e>+YA:Y�44{
G�
�gj��A��f�M�S��r��8���M
��ɂ�����Z�G���ǒ�c!EHf��1
P����BO��}��L��h7|bT5��e:M�S3�G�e6�0�;S�\��m�=M��p�����Om���8���T� f��%P=�E�t��E��%j�|�����=)�$E�E
Ag�zRsrN�.�G�W�T;�\���܎
����p���9�t
�p����r����-u.ô3W��o��
��4��~�Ʉ�k�:9���,J�%^��'K���CWO���$4�j#z�S�O�rG
vpBX�����
1�{Y���ʃ7�Z��Zw��3��Ű& 	�a]K��0
+&�A��
�[�Ҫ��so�(Xl�Ջ�t�� r.�fw\d�

;�v��觡}�,MĢ�dg�����ּ��7��t/�б��u�
D	tE�q�^cK�'?֯�i`M�fiV
��Z�z������y�zs�Ԅ�������0Q)��M��25<V)O�W8��M���An���MR(H�q�OD|��rN&�*����
:���<�Ɍ���ᑩ�F	x�e�~���L�|��/(Lxi�^�D����BMig냾��#��qT�:ؽ��B����Uw��iބf�/2��>U��v=�
R���"�YS�LȎj��\I"I�l������	��%����Y�6x�[���P�8���#K��!+G�	�

�F�������΂"b��

�t,��RE��^yH�1�����l�����"P
T�S�W��rv�`AG�.=$��Ce�ȡ�2m=�q��aτ�]��q�
����^�$oO]\���b��FbF����J9���h�Lp
�	�G����
~ׂ�F,d�d`1�#���Dl-6�
�5y?
��S!��>^�����=�t
���	��_��O����
�c���
�2
瀙�Av�=
+�2
h���2
E�ɨUӨy$M�w$�~ZN�B�8�̂��u���3�X��
�al&t(�z+t�׼A��
��B
	���6PВɁ���Jo�k�=��(N&�lNub�l1L�+���h�	����ej)f�������Xm7�$wa
��h	�m'�j�|zq_�8�u��@.
��+s�ǫ�RB��+5�
g�z޳Kxu��Yk�T�w��wtx�+g�;�-�U��%��y���z �S��9�ńb�@���ʤz���7 
^@6�4���
�%�()C�s�{���1�"�%Y�VH�8]UM ��
C7�r� QB�X%[�qr�0�i�E��`^�2‚ն2=r��c ;�
���p��[2�x�ڿ�K( ���
�
+��J2��^����.]x\rPVҕ�}	ڀ��D���`/ܙ�bz�5��|���]$A@)0`i0��A���@�;BP��gc��ȸ,w� ��X�Ԉ�J��Y����
�����5$

�� �l��6^���D���$��i�!�ZY�yP@�e�Z ���K0s��9��q6 4C �g͖�&4���(�Ɗ�u(�{Rg,X���%+[��F�&���161m��U |��(z�%[���ś��7<�>�%"��D0�L	��+����GԖ��ʶk_���3J�v�~��6J (߭�d����`��BC���|�ۜ��2�Z�
,�.��.{��K]�K�{_��9Ν	ϙ�|�:�١�΋����8:J�Iф��k�}��ړ�S���nٖ"�|��� 4�%��3$���|g�3	2����WU�Q|&����������e��k63��D�~�R.��8� ��M7n������Yj�Ԩ]��1)jJZ�:�
�!=��kt��x��a
<��V��05�
�g|cWu����1�ZS�%PR�й�i�d<��7Z�o
H
F�	�]��I9K��7�!�
G2~���s|<AG�21�
�6P,wfτ
�Lo�{���_��ŕ��%1/@�$�Hٿ���\���dk�
Ֆ����b�w�P�/!%&��B���=����W��W܎Dt�Ts]�1'p�,1Ɵ�I�W֊Z��w?/��h�����Z��VQ�\'^�r~�#uۼ�¦�����
-�U�����XFp#oVh��D*��I���ņF�a�'�/��3y€FqV���B��8�R�Z��2,�e�=	gl�
|��IJ��<�^^%�V�ڵx�b�DFM
ra%�ب��M��&�J���I�:^ɂ@R`EHMq�뼁�ŕ���
N�eP7
�+������!�М
�����re��
��f��V����Lνf�?���V���{�0!󜰿�S �S���|/[I1��_1(8�F��
%H�WF�N�^$$~-�U)��2�l�Ƅ�hb�N�^�b�j
+{�R�|�R�%`�v빍������1����F�bcVh/j�G��ly��/��#@�N�(��I�B0���-�J�dZǓf^<��~ގvc�S�1'1ly����?��12�শ�@��
��-���䑉�����wqG�2����П��c�WA
�Up���/�q�*�}I

�-�K^
QC�V1X��=��F#��Z�Nya�����G��b>h�Z����0�ɶ /2�˽����:Yq*��������Nv*󸐟��)M�Y�Kd at A�!ݮ�_u=���-u02��#։���j'�Qt�:ep
Na�y��Z�y_���7��S�q�) H��^DZ��w����ʞ �쇓߁�z��f��Ӥ<,
�9L`����^���� ��Z�
+endstream
+endobj
+1152 0 obj <<
+/Type /Page
+/Contents 1153 0 R
+/Resources 1151 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1126 0 R
+/Annots [ 1150 0 R ]
+>> endobj
+1150 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1154 0 obj <<
+/D [1152 0 R /XYZ 90 757.935 null]
+>> endobj
+1155 0 obj <<
+/D [1152 0 R /XYZ 90 201.692 null]
+>> endobj
+1151 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1159 0 obj <<
+/Length 2988      
+/Filter /FlateDecode
+>>
+stream
+xڭ˒��>_�[��
.�H٧M9q�]�x|H�}�Hh�Z�Ԃ�*��O���8�
|�F��&�<o���~zx��<����.�m���}��wq�%���|
��c�E��?�"��k�|�
j[���-M���*���=��𗧇�1�mb���a�f�����hS��M��bs#��F%)|����|����v�{&i�2��m��
+J�z͓4(ug:��NF�/�A網��'#x�8
+Z�)�5���c�����1®�y�/�y�u)�tU�޶
�p.Ɲm�DNo��7���
Ns�g*�8������8��p�w��-5�vg��c
� ����
['�-O<
��6�� C<v�
<�m��P����
ܿ7�<����SϠ��p`(w�b�~j���O]���6ϰ'�p"
�“T�Wɳ N#6-���#���x$v�L�0
`/i�1�xTU1m(�s/P N
+�"l0 ��qMq�ڟZg��usx=�^ݩ�+�:Q��oв�9b�DHw�\js6M� ��;:�[:*�(c��rZ�u�x��� �aV��ٯI�ͱ>>f��
��;ە��gV0 H��9���<[�Ԁ�x��[[F�pO4�#h��k
]{��l1�
0b��){�~yg�oM%��\��I�tP�E�v{Q�y};�Ɍ�G�BS����^uY�/����`Oq`a�Xڼ���|��>S��,�.���FQ�v�gtq�PF�/���v׌Ѵ=0��2;��d��{g�^d�a�do��QK9	�>��fa��a�������Al}Y�����;P��^����J�!|p��
�q"��s����5�N&�Q�cPx��[dA�Yt��*?_�7�>�Q�C��Fe��ה�]}�D��P�	���7�+�~��AS����9�?Kß<���(l��
+��h�~
%�ӯ>�
��BU
G��KۙE�l�y	�)�C�r�Kw�����
+���٥6�,�Δ�7�Tq
�3W
RJ�x|m*ʦ��teHߴRkTč',�'i�q еg�#��C�o��d �
wB��f���p٣j�
���A8����!�)%�"9��D�8�ܐ&Ũ�)2{#�F?�'�M%L���N- Lm�Pi!N�)��2��UӘ�
�i4�� a�AV��
I
�4�.��'���z�����,��,�N1@��b����,(
����hJsV� �Όa}�!Ś�
)���\`�:��
�g -|�
��i�F}LT���y���1
R
+m�(���>��Y��e.9��:[I��ۣY�ǫπ���XT
ERl�}l��g�%�y�
������ �B0�<
�~d ��yG�
� _){cT���\1Ԓ`i�d�X�'�E����q�/	\N���j��
�Yf/��B������ҽ��Z理
+N�I�@P�t��W�
 �Jd�\`Ld@���J��÷�o
�<��� <�%�$ iƩ�{C�ܖW*�WX
śB8��IǛ"lbi
�"�'d�}����s9�bz��m@�ԃ�Y�
��4�X,&� &�g��5������m٭��P�lC՚� U���N>ʼnæR��C�	s�<L��%�
�j�i�>4����`���E�U�
p
+��AJ]v�c�7�Ҭ�_��jN��f�XI�
����w�ɨpz��x��X�	��l��`O����8�mJ5I�K��]���"�Lԗ�1
+�U�vOT�r�^])�;k.]��^;F
�S'� ��,���%b"Ac�"�_���-rVR�0�D@ⰲ���v�1s�H��Z��82��F��ׂ �x�}Yy7K`1cJ��;�K�G#�f�y�����"����B$����%�+��4�D>Wt�
l$I���l��^�@�" �ñ�����?����E5��MN�E'YL7<����Xq������xx�;�I������'���VvΞB#*`R���seeY#�A!،kj��G�h|E��ϝo#��ۈ2JLvv��pl���e8z&�D� %I�T��w���}�s%u�͒�)�X<g�
c
�*�`�(TB*lm���a�f�,TTA��d���Z��'��/�
CGcߑ���ӂ��

�16e}���>VXؾ�y���;���۷?v�Lx���T���i��J<�I
cK��6�֢������y���(�)��
u]����C�����?�"¤tP�R�ŌC� [...]
���7JP� w��

��~�e��k��*uN~wX����B��;���S9$�9���D;�.���Ӄl����j�Ol��A.��T�_�E�d�o]���qJ������c��4l�'`
C�XM���LqjS��Vq����Fyb��Xb���*�i���N��^q��>�)���H^I����~�����#D��/�
+i�$���݌nA��W{{6����¥����Ȓ˯����r�¼~w*&A:g/����i\
�R\ �l"�=mq��|���"����!�]Wg<%,��-<'�o�6k�.�JEH�ҿ����\���-�kc��W���<��2$�|��G:���$"�Hg�KQC��ԛ�� ���KSPr/O���p��M4��g�Ͼ�TIW�Fvp,yFl�j��P�(5)z�}L}��Y��0s�

�C��%Q����R�����cy��Ѹj��竮9bOB�Bh��J��Z�2�����Y��bR��
�(��
/��`W������9��k�
�yZ��d�0˼M�{~@5S�m�r2�������N��Kgܟ��

����‰�c���(���?#,2_�6~���dr۸H� �����o޾��naم��^\h��У��	m�s
�0���ʠ�s���;�1
N��?^�^�
+endstream
+endobj
+1158 0 obj <<
+/Type /Page
+/Contents 1159 0 R
+/Resources 1157 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1126 0 R
+/Annots [ 1156 0 R ]
+>> endobj
+1156 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1160 0 obj <<
+/D [1158 0 R /XYZ 90 757.935 null]
+>> endobj
+1161 0 obj <<
+/D [1158 0 R /XYZ 90 285.07 null]
+>> endobj
+1157 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1165 0 obj <<
+/Length 3244      
+/Filter /FlateDecode
+>>
+stream
+xڍɖ���_�[���5�E�6I�;~�L��g��&�&2)�dd��S@P��D�P �
+�K��e�z�����/��<�y��N�2�
����������8
��~�Q�W��x�~~�t���u��Q��H�"H��/O�>|����Cw����Ύ�c�����O�������CR�+a�wi����}x��C�Y:����Y
��I��Z]������0�����Y�}T�a�ig�`x�u�������.Z�d��Y��
�
��%_��}�3\�$Ae��{b�^�g����)�V�<r2D�3p0�2��F�J��(
�œ
�^��y=\�@�M�N�8���^Lu�eY��k�u��!��j
�Ld|1åz�gA5�/�b>/��2��R�d1� �����ȘC]�Ɛ�qq
:��䐑a�0Ư��Ǥ�'^�G���@8q<N�#�	q2U?��8::At
�d|L����zrC`�?�L!�U��N3����$�-G9mD�,���P˝f���D/�5���E�p6�U�g�� l19 �#��,�@
��O'�8�H��8��U�
+Y|�C�O7
��@�zgİ�a��*".FuG�M�'|~�ʊ��vbl}�%d���BFZ�|6x�$���#1F��P�i<��9d�'3`_�y�$���k�a�e]Ng�Y���Y�0�a��wS����_"�g+g����D��F�� ~j�!�$>De�'D���{�2O�X[�n�����c@���8�߬�֕��#�۟�_Tu
A�����x��/�����.�{��:
#qd�l,Ur�e��Ƚ��;kWwu����
g!�
?���
"�������o�`?
N\�@�!�w��/&wvG^��&^�L��`����jY��K�Ѣ�yt�CRfCRfC���
X�~���]lْ�a�vjQ�K���J&���j#!�R�I�K��UO��WY��]w<�h�;t�@��q��3�	�zGΜ=,��D��b�S��tR6� 
+��d��'Ip��9���[��w�o(��Ā�`'-� �)㨦qK�lJ`�=9�\\+DZ8�aeԍ��$r}��8e;�-�(n�Ɩ->ɃoN|�}��mB`�(���-�g�=s�ͭ�M�\���1��7B��	x�
���c���-�72��
+ΆE�l�i�'>���5�4��Ӎ�:s��-���!��օ �Xi�ʅE�_��Sf�/�,
d�4�� �R&
���QƉ�m���0ћ;���C��=g�H���0z�7�(� ���� ���߄,aP��8d�
` [�yWZ��K��k����
�>@X�ey������9fa-.�qm0c���
�>Y�$�lu
�J|��
+�.�l�a�5���ơ����\Q��Tb���88W�U)�+��K�0}?�fj�> �>ms-�
�*ݏ9���Z[k{�]U����Yr�*�"�~�؜�ձ$��<�
pf_"
�D�����2�RI���#Y��E
	�9��Q,�
b(��U
��<
j/
�� �o+v���5ak��"��JjC��b����
��JU2	9/@�{3���f��"��9�<iߟӋd���n����?��|��J�0=�7�6�JN�wn��U(��8�	.�3�PHb�x'�im)
�������$`�$�6hx�,���G���₫?����nY�ʔqT���$+R+�ꐡ�~��˕�x����O��YO������s����$�?�R��&KJy%5�+`�w
�Gq��@���}��бJ�2TB��2��)���;:.~����~��Dum�����
��
+ѷ�$/���M�}mu��9�Ճؼ�U#�|��~ނ̂,��Y��������k�4.m��$'%_��u�x���DY0�R�8���t�C;�vF~o�S�OLJq��O�D���R�HX8G��/�b�Vn[l�FJ�*0Su	��Lj�
+�.�X�W����7�0�Q&��)L�=���>�]�p�s���˂GRd∆�>�GH��s�$�C�GB��H�`A<O�$��Rz
+#�/c��_~P��Ց��jսn^Zy�'�
�Xz�Zz�{nŕҊ��*+�[q���J/�ȸ�Ŕ�v
B�I�%X�D�E,-Kn���l0ޏ��O������$�4�u褆<"�$D�%�~�ڣd��PΫ֬<R����t"#U<գ1JP�vo!���x�7I�pV���b��ә�x��|��_���]ŭOJ��G�z@@�WKP��[��5W�0���Y�'����}�,	Nl<Il�xM�xí����"^.)$��>L\J���|����0�	�
]��[8q��M
 �s�� �#\ؖ��z�>����e����Q��
:ߠvR�xp��=����Е��J)p#
m�Y��]Ůb�=H#�B%���oPe�#�lE��S2u�F��.��-�Ө~8�
�j�	+�2�ڔ�0�g)V�q�c̝Ǚ�&eHߞ��@J
��
�V
u{դخ��U�d��LN��
+�����k6te�IW"���3�l鲣$1O��(
�����C����a��
�,Gƞg��ŋm!gUQ��!-�P�]�����yo�{��ܢ���6���~��k"
��m�9q�w�?�mv�������ɺ�
n�c�쮻�
+;�
����;rq�^�+�,7����}���
׭��;I�g�I�eB9���G��
�7̵r�j���
+���c����1� ���"�w8
��m,��MX���<��K�~Ά���
�K��5P�!�:
+��a��$�j��I����X�k* �_��f��h��0'CAc�Ş��f�<S�NQڞ�~ą7N�J4��D
q�XlY}�1�HΧ�,e�J�R�☎X X�p$/wg6�b�?�ğ��{�K�l)�UO�۴��y�
#����K����4�9S��o��U�竟�♙�D����'H� I�����.��<:�{��e!��3�T�L]k(�ZC[�:0�T���<�K��=����H8N��#��_�@�
+
+߭�㑟�� ���\N$֊�ȳ�L	������ܿ<��,��2*��E�?"`���<&��G$+Y&~���#Y�9K�x?t�V5��9���?@��G�q���g����/�!^����E.܆���E���Ύ����
�QB��Lm;M���}{�^�x�{}1=��\��+���
E������
������*�ý��Tc��
+endstream
+endobj
+1164 0 obj <<
+/Type /Page
+/Contents 1165 0 R
+/Resources 1163 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1170 0 R
+/Annots [ 1162 0 R ]
+>> endobj
+1162 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1166 0 obj <<
+/D [1164 0 R /XYZ 90 757.935 null]
+>> endobj
+1167 0 obj <<
+/D [1164 0 R /XYZ 90 714.318 null]
+>> endobj
+1168 0 obj <<
+/D [1164 0 R /XYZ 90 597.999 null]
+>> endobj
+1169 0 obj <<
+/D [1164 0 R /XYZ 90 376.602 null]
+>> endobj
+1163 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1174 0 obj <<
+/Length 3201      
+/Filter /FlateDecode
+>>
+stream
+xڕɲ����B7KU

�%7���3O2ϩJy|�HJB
$-+_�� �||��E�� z���.;o���_��޾K�]~̓ �=�w��K������o�������]���'�S�J
�We�
5L�0��Qr�����~�a/o���qzL�xW�O����*����a���D�� �g����'�=g����G/���uu���p?^��[
&��!��ӈ�h�!�[1���㆏//>�I�˾;D�����k�y���
�u�
L�늁����{��g��gaޘ�Q?I��
�p����KuSp�oq�8��A� �7��c�?���HY�q�lq�L��OWG�!���П5�����h^��@T�V�=/(N��X���ά���
�^0$�-���V�B���b�;
�=?Ou��C/
-�?S4�:�
�cD�ÏgC���ۤ��@;	�������9�s���.G�w
���ʘ�����Q�P8Լ�j�\�dE��%�
V�(��3���t+.`k��N���f��I�%����EW�^��{d�L��,$2�eH���/�����
�2A��з5�Ш	s��У���{Ԋt+l0ᆭ��|�
9��4^{��þ��#��"[���;/Z�@1��&$�ȣ-��`�p�F')\�7<�Y�,��C�[1���7؆W�;\��m���Y�� +Á(
�j`B�M��*��y0���֪�$���qG�^�
+1��%C t��;w+�������ո��ߡu�RG
+�@��9�J
�V�ꊱ��DBsf5��ky���������(F�;P�����,�R\���
��NB�0u�kV
�[*�.�*t� � �6��D+�Q��V�� ũ-��7�-j^R��$�Į���JA@
+��=���Z"����	��L!*_��43e��b�����
�Tm���
+�>�R�b��F��(P�= �a6an�50hɶ�$��
����4%
B1%�7y7�z�$�H��
���A���AHH5�3��:��@��<��
��o�
��U�W
2�0h�/HO�!�a
+OѯN�L��a��x��!i��>
l�yN���)� ���S������s��N2#UP��7ߊ`~-�l���g�
h)����أ������~�e0�f8���:�p��;�Ќqv�}�#�"��(��
�e$d�
BC7����^����#_�VG,����n�+�9c�&cd[#_d�|C�����d��NJ!k�m[T�˄��s�4��!��ެ�띘s��@d�V�l���F�f�
+cv�0Y����hQ/ %$�j*)��Nϲoo�)p���$<�
%
�TiǵTq[� �L]ÑP, at x
�^�P��L= �S�햶����f�O�e}��hpj���U@�v!�4����B��"���͚�C����j!6�FsWB�v������d�V�k
��
�k
5�J��Α �W�
����ٝ�ᰵ
���x�X���l���,kN��\󮌨O�M�
[$0(n�
ۊ�DE|��/gڅ:
d�=
�au� ������ 8���l�i���g�z��T�?���ox��oe�ŭlD�0�M����\a�Mc�� ��T]"���4��
���k�:A
+
2�ޤG
�
1	�5�4W\t-�`��m� �3�DUr<�+U�L�j��r��%��$����#�8?��!����e,
Ć'
+�^y ��V�Wo
jM ��x^�Y
n��Ջ-�|�'��v�ws̆^��9�|�09�e�A�S3]�OC#0.(B�95� �� �"^O���u�Y��[�4�N��	{�Vk^C��z�hg�5qO*�B���4�O1
տO5u��-w�׾�+�)���
�l�#����
RQ(0�G!��SQ)���d�<�"��n��n���
��]��Ë`!�4u92�`��{.�'3���3�"G�͛)zs��qI�v�

/A��l���+@�Q���Z�N����]�p��B&�N�g�\��+NN�h
P>-I�RbVͭQ��2[�ڵOf�Pu}�\+`�ݍJ׍ԫ"�W����0f�|M%�bk ��;{+���\S����+r�� 1A�x�8�:��qB��!5p�H��$F�I�D� 5	VW�@!�Uü)��꾸��T�7�ý,��n��͍x3�{�|��r�b�
+�f
9- B&�Ƹ
XY*
�
+PX/�,�Xee�'@HM���v���w�8Q�ټ
Rr��.;�"V���$���H�+Hb
�zh���f�Ժ!^쮬 u��[b*(I_�d�dV�aE�X
r4�`c��V�M��/|S��[��h!� p>����&��$�h�1Z��ìp^ѳ���6"��ab�
c�=��F�����B�<�;�^�aGb��9P�~�\MAK��
ݞ�3:����,s��J�b^�t#�T^�W<�>Ï$����Ha.-���ă�ei+V��-�B?��i�?9�9��L^,
!�*$��R�+C5?��" ��-���yg�� H6�#�Q���� �xdž�%��
+?Ш7�-��Aa�i" �=`$�"ZT��,e t;�'��xS��� �w��7
+\���قZg���\@ R�+�;U5t��f
+5�U��'[6�Q#
�S���Z|d�l~�/PP��.�8����ŹVVސj��\oS�/0[�tS{&c���ľϕ��C4���'���

5A>? 0×����my��CT�=$�i`���1����ԮENێ�*U�4Φ�� ��-&�"�*���Hu��e
�4���M>FTWl9��=G��\LB>3�(2)/�
"j%�L$ч��
FV΄_f�H����B&
x&
g/ޕ`c�>=��o(�c˘��2�����
��
+���x�x�" � �Ȟ+�塑�����z�|��&�E�ON�s�U��Ly�{Sϒ��z��r�U��]��"]7��<�e)���<7����L0�2G��ʙk
�?oD����J�(a,U%˙R��i��dQ��|ir�J Ȭ��r#��Lc�f���J�
s?��?��?�$�<
3��J��8rR3u$�@�[)I>��t�
��O�Т*h���iv�il���xG��K$)7>ՆE���Ό���	���Yp� ��_,�����o����
�S�n��Ʒ��.���هJ'�s���$"�,He �٪\���]��
+endstream
+endobj
+1173 0 obj <<
+/Type /Page
+/Contents 1174 0 R
+/Resources 1172 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1170 0 R
+/Annots [ 1171 0 R ]
+>> endobj
+1171 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1175 0 obj <<
+/D [1173 0 R /XYZ 90 757.935 null]
+>> endobj
+1176 0 obj <<
+/D [1173 0 R /XYZ 90 451.826 null]
+>> endobj
+1177 0 obj <<
+/D [1173 0 R /XYZ 90 323.551 null]
+>> endobj
+1178 0 obj <<
+/D [1173 0 R /XYZ 90 219.187 null]
+>> endobj
+1172 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1182 0 obj <<
+/Length 2745      
+/Filter /FlateDecode
+>>
+stream
+xڍY�w���_���9	�[��dv�������"F�"���x��[�U �ι���U�����k�Qz�=��|��=NJϖmK�z��g+���ʦ���M�I�?h�"=�WL�Y\�)u��u�DDϒ(��:C�JƠ�W�۝��s��ZJO�́<��^����/���o=E��a�$F�{��C�������ue��ˊe��Q��Қ%�cj�e��RW�jV�<���/}ӔJf�; ���*���ͷԆQ�0��+>6�[_5��(��*��q�3Д�y���E�ߘ�=�G"���h���<p��AUe�䍱���f%�
0�yAD��9 E�Y�{�Q4�-� E3�
�W)mb��m�%��ᙈϤ��<��� 
+7���)"����
�a�ӶqA�.:$)�2p���S|Y����SR��`��gߔ�JX{�]a��H���:�� I`�3wDPx �Q~��:�"�ܱ�wy��Y
��RS��1�a"-�պ0�I��1�력)�*��t�,yU��a]�U�7���Q
l�$e��ɾVS�޷�aEfչ?P$�٩&Щ�nؤ3xq<��`������Ծ�UM�F�7�Ě.<"`Kc�x�F���ѥ�����0�k����x�n8�>���r9snz<z��
]J�Q��}ښ���4u���e@��gN�Z�{C xw}��}[�F}UU%a 2]��;&��
��b���/
zY�&���2s4�<�t������D�G^�����$��!po��!&�
0�r,I��4�?���t��A��,Vw�q�L�
�?:�[d�w>���Y���H]z�,i�l�����x���߸��E%L�Μ�@��
a��Q��
vv���wۻ.4TK�ˀzu��
Dt�ܙK	kaLh��
��r�����W���+o��
�zh�
� �],!
6���%��Հ<�&�>B׌�T1ME)��:��
���uN���� �� �8}
F��[��+3XLp�"�ѩ
�Nz�3uƁ���S�����W�NG�
+�%'X�	1l6#b�! �uS��i&��kcLم�9+ף������д��gp�b
�%��LGgI�N��AD�9��Pr��!k5���C�s(�.�؇�}
sدaN
{�A�gϡ�v�Z8����0�q��7�
+�5�6�a���:bUhy�ކ4�k�ս�,�x]Lܩ(R�@�H+�ߜ�����m1�A�:8t����yO�'�ڙ���V��M��dȝ�2|%�:>�jP�-�������F3�30$�]@�!iF#Ě��sу��)4v�Bv��HLi�\��M��-�n^�Y�k�n��
� ��O�T�^��s�z[iA��B���lz�pr��tTw��X��S��ϙC��
og��+�>��JѦ:W�"�sҡS���v������<��}�[:E���l�N�_w��ʧ$�( ��V>�B=\v�R�\�V�l}�t�Q����&>�V�����
Q�D/궵t��A�%���j�^�7�>/P
�E�G=��Xq��!l_��Ϝ>	�
����R���[��Gߜ����=�/
x����bK�������֧<
+r
pBc�Oy�
ᔴuj���ͩ%�p��ŷd��pM
��� �KgyE�y�`�K����*1
+�͌91����--��bCw#C���!�I�,�1��Tl�ќ�Yܴ��f��0M�

��
$[��-<�r�S��K����4QA
E�=�å�d���2O�U|
�)<I�J�����nI�DdD4&�n;F0,�xT�e�]�?%Վ$�(@�}Os(
�4.K��<��1h
��q�h'#��� n�C�%q�"\_���q�,��<W���%��m��������oJm ��O䨖�A:q��oj�����n��p@_r4�Խ��0<�F��..y'��fw‡@���?�O��8��˟�M�Y 
7��\,�!ɲ�~D�EYs
h���c(�H��C��@/���r�'3��3!㳈�x�!/�d���(\��/���ě��pפ�Pؘ�
+��F�$�=�tJ��ɕ���ߨ�~���m3�̷WsN�$��~�:���D����U���p����|�
�Of
�桨���@���
�M�`�F�:�����>�*&������� � ��H�#ȫ�3��40ŭ�+�mn)*���uuT�g�y��UX�6�6 �{K����k柊���HфNl	�uEm
-M�4L<���
���
�ǒ>�>��|}�I��C�
|fjl0Rm��]~Ly�.Ĩ_�F���$i
�Օ5��y@o17��&�u
1�
�$k
��>��"����1�GxJ�nals�E�s�z�>N�AodA�%mpȒM���EX��v"��`��|�9;&8�~)���{��	��u�@�	��̙sG��q����Z�Z?��>*�O�q~�_lq&�J��!K�;�
*�e�b�9���ο�ݵI�>|ۉ]�XkNj�����x{�$tBJ� ӯ����� $������N���&�^P��z4�S'z
f�}72��G�O�� [...]
+p8�vUu����t:�Q)��P�I��
�
�]�YU
y�ڵ���i�7?2`��}@�v�� ��

+endstream
+endobj
+1181 0 obj <<
+/Type /Page
+/Contents 1182 0 R
+/Resources 1180 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1170 0 R
+/Annots [ 1179 0 R ]
+>> endobj
+1179 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1183 0 obj <<
+/D [1181 0 R /XYZ 90 757.935 null]
+>> endobj
+1184 0 obj <<
+/D [1181 0 R /XYZ 90 640.589 null]
+>> endobj
+1185 0 obj <<
+/D [1181 0 R /XYZ 90 500.359 null]
+>> endobj
+1186 0 obj <<
+/D [1181 0 R /XYZ 90 348.174 null]
+>> endobj
+1187 0 obj <<
+/D [1181 0 R /XYZ 90 235.743 null]
+>> endobj
+1180 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F97 1188 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1195 0 obj <<
+/Length 2576      
+/Filter /FlateDecode
+>>
+stream
+xڝY�s�8�_��K�Xѷ��S�K��K�\��M��3G�t̉$z%9^���,�j7s/&	� ���
���ї�������
�N��h���h{N�{��r�m
L�~䎿�>Q窚x�XJ�Cg�B��h�.�t�2Y��=v�h
&�?濝\�O�<�`Ow�=��3
�QV�|��
-����u�4�̬b������_'nO^���q��z
륣�8n
�����]�Vr�Q����,]o˥��R����o���qpP�WԶ����\WxJq�N�$��n䊆f�����
�
�<�rO�\4G"8Fw���m�ر��ת�U�J�T���%.U�Tj�m�?�GGY덴$+��v��z
����j���6�9����z�4����3S�
�o�ϿX��Z��M
���M���pu�(�}{��|��+lp~q}s=no�n�z~{��ȃ��������秛s&�?=��=^:����Hy�m`c�
���,e%Xa��E�����`ee*��ǥl��뿹ov�g��U5�/g���d&՛U��&ӛ�,���
]�|9ܧe}d�V�׼w�v�ZJ>3�ב���d�V��f���l��9/�����YN�g=��<F�gWQ�	iS�B�ԟ9Q2#���ZS��%uT	7StB�m�z�G�

^�i{YC�=^	v{je.���%��lR�&�A'�nW�J�9��l�&/�銰�:��㥖5�U�J�1
�� 5�
a�׉����Z�͖��0��)p5�[�)W��t��ۭ�Y�<�FTMm�բ<�
��6����<�$�م^�O��v��:\!IӾKX����0q����ܠR/k�:�?�Hl��I\'/�K��%A<.E!��$�ɪ�ͧ^:q�w���L�>���ǻ����
G�ۻ�P�F�#�{��
�c��!?>e�U�:kN��6_-۔��v2�c���ƣC
+j�ˀ��m��d�(�bʥB���ɹ��êxw@����׬'�x���|�	�\���p��6$�p��Zrr�}�=��6^����n.6`�J�FҼ
9~Cs�L��
�<��7� ��w�e������/~1:�g��ɏ�d�3۳è ��.B\�T+<�JV �|�zs8IP���&�p�¸"���4k�tV��
�Lʡ�����X
ab��
(�`H}�x�3
+
.���^dC
�F�%`�2�MІo2Ԫ�G
�ze�5�԰F
Y�C�f�u����4p�e
�� ���ј������K����n$���USLg��r�P Pj���O<6��
F�F��%�����,(t���G�-�ANm��x�9�"`��$I7����`����4�Y�����`i��/�7����0��b� �6U�u
/�9�e6d�S?p�����{�rw!R-�~
 q@�' E�
B�2��FWp�����0P���n�u dV{Z�� ~��I�͎a���R�B�(hXo8�*%�s��آ�|�H0�{�A�V&�
Q��<�
`X����j at Z��WR ��9|EC��>
:�I6(Yʩ��v?튏!�5��)���vg
+*�FGD�	}%���>^)�"8���K�8�r�h4��6��C1���f��n�X��
+V樛&��/LT�1�~U7F<0�\
+�
Ab���-/ �%?q��Z�֛��l��O�����&w�M���� T8i��ͼix���o~n��2���>mx����m|)\&Ҁ-�ߐn�>�
�z���Vc�$ \,l1 >�� �� �Q-�C at k���=��԰�r��o"�e6�-�+��_s
�
mIw�V�^�ZWL��uӲ�z�¸>�e�� "S�
�w�|��^���R��۷
�9�n�V�A(�[�i[�QT�=��vϼ[�/�J�`�H�勲��}N�,L�6������j�M�ŧ.:&������7��F�]z�C�[H5
�
S��a�	!G��#j�vjH
	K,�a��)є�jZ�2ɀl�Q
7YmKS�����LvS~O��U&�>`	�a(@�����	0�@�Prlꗥ.>!`��q�*�z[�Ly(Hٲz<%��~����
���a�����g��m�
�	���

+^Qk���5��j������$q�ziѺ�2��'m�x���GN` #%Y�Ry����ZȬk!�B���H
����<�t(���3\�Y�f�C�J �ڙE�0)Cm6D�M#�TU�� �O	B� �H�b<;
���Z�!��
�A��.j�@�c"�a���
���7 c��`9B��|�H�_���b�8�Y��5P>X;�����x�lM�
+)
x�~�E"
��~đA�I����]g�sL ۚ�„���5��`�@.��
`�H1̱S��T3 	���n�+�,�ܼ�㼍�
���!�qx���*	'��&��A�Dɏ�<���2L�{
�Hd�KLɁi՘q%�/����Đ׽���??@��IgA��D)�^�	��>c<��~-���(� �<�/��>����N}D
@�u<��ǿ���z�︇ʨ���ٖjS9�9\>P_u� ��y����k��;�w��-
+endstream
+endobj
+1194 0 obj <<
+/Type /Page
+/Contents 1195 0 R
+/Resources 1193 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1170 0 R
+/Annots [ 1189 0 R 1190 0 R 1191 0 R 1192 0 R ]
+>> endobj
+1189 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [314.956 612.712 472.963 621.82]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
+>> endobj
+1190 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [152.087 402.893 321.452 413.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
+>> endobj
+1191 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [225.562 348.78 508.501 359.684]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/philosophy/why-not-lgpl.html)>>
+>> endobj
+1192 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1196 0 obj <<
+/D [1194 0 R /XYZ 90 757.935 null]
+>> endobj
+74 0 obj <<
+/D [1194 0 R /XYZ 90 334.085 null]
+>> endobj
+1197 0 obj <<
+/D [1194 0 R /XYZ 90 302.157 null]
+>> endobj
+406 0 obj <<
+/D [1194 0 R /XYZ 90 302.157 null]
+>> endobj
+1193 0 obj <<
+/Font << /F70 402 0 R /F72 404 0 R /F56 367 0 R /F97 1188 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1201 0 obj <<
+/Length 3679      
+/Filter /FlateDecode
+>>
+stream
+xڍ�v���_���R��Z^DJL��o��n�c�M��"!
]�dx��~}���6/"0
���!�4�g��n��ܭ�Y�L�0�m��ԟ��`��l��~���M���/?p�YOk����Nu�*��d�lq<��[��_��]}�^�v���,�5��r
ų�x���,�w3���3a
g�0�o1{������7N.�FK?�y��\l|V�6�wP���~_���5O�ι�
L˭a��1%�&׍`V������J0���U�^@���	m����F_/nVA��t��Ә�;8�M,�XNXj��:ab'�k/��X
��7�Dy��n��F
�
��ȹ�UGͭg�
y<�a&2�w���A�A���(�q��:�AuSG��(,gg�	W)
D�K�
��}�0��s�a��:�h:�\�T���
�BEɔ�N���)�N
+��$
h���-
�U����ԑ�~Zİ���-r.����w��Yǝ��:�<D���Aפc�����=�\�
X�hc�Ύ��+�7�
��F� � 	�h�,�'��t3S��81>YNȭ=*{gu�����l���Fb�4z�]fz��_X*��z����@��������۷���?1��/��\}���r�����#<3%��	n��ڱ��Su]-#d�;b�|� ]~��`x��(N�ڼ �s����p�
+L-pKf0.�?�Au�2�ih�*���eU�95��@*��UA��U'�s��� vVY
\�١��E�6^_
+���9�Jsl��(5@��r�}v`�ԛ· �]eמ

;��f��&Gs� L�W��
b�	�f��ӗ�
لt7�����*bmĴ ��76���e/��[V���
����o�y�z�2�M	�X�	����%|�����k�g]T�0����)�I���B�x!�%.#x�V�������Nb ߺ3���ӂG�
�`G�!�Hڃ�rW�����<
h���#I�I٢�w~��9�'J����,�u�m�54��]@���{�S�X��+�X�f�a2B�=����%Jٌ3��\��M�:5eJA?L��
+4/�������^�
�u�h��p�_|?$.Ɓ��X�`�:s��{
<��.�
�"9���9���,����Ib�`�w�q,��z�k
Ն,��2|"�5;�������0�!lȔU;r���ځUi
QC�G6xP�nf{�ԫ'}��x�y$��Q�����}�v�m�J�W񧄰)H]��5`/f=
��
0�f�
+ �j��a-��4F�3XI+�
�A�c���'�fkР0sɹ��b~F֪�6�f ��
L�@��k3'h��O\GG�w����
�Ap���_1D�B��S�J�V��ŏ��z���	
�z2�x
x���RFFG,
�08K��D�56�d	hO�6!�ꈱ+f�)/'�<
:e>
zJ?��o}{̓d�V��{G(|�
��Q��Z5
Clt��"����
4��
W�����>�?2J�J�:B�>,v
�BC<.�$�Ox�-�D�p�t=�
w��x�j�H��
�HW5&�@>�\�,��q��~�X����:�WBo��hX���[�5.>qKŘ&��@`�df �STm�l�Ar �wL`]i
`��hq��t'}
+1;��a~_.VhyC�iI���9w)ۊ ��t��
3� "�
�I����t�n/(q�|�:�<g����c�iO�
�v'xI+Q�0��M<���T�B��ZD
�8
+=#� ZQ\�=��<Ϣ��p
�����J���8��(4��I��
�sl
�r���HBH���^#d��`�8
�3�$GZ�Iy1{�2A(��LS��8�q�/^��!�?���5q�m��B�
��%X��	���4 �(;a��^[2e~�.Rz�H�l��J�?tb��;�m0l�X�bl;RN��JAcTN�	�
wܬU�B�#��
��
�y��(J�^xG���ۙ�����ʾ^L�`��\�
W�
+W��>F�{�Ds�a2e���*�2S�h.��,72���dA�n8y~
p��
���n҅+�W���p<o����	��)v�bHZ�Ϋ`/�
/}5
�4o�]�
��"
LZ�&1�^\
ُ�
+8���!��qT�L���*W�B���y>����!��R�
��l��+VG%˰����k�9	V���	�Tb1p
+<S�v�B�D
/6�t��
w8S��ZV�DȮ!�0�H�
k	�����
v����Qhq>�4�0�L)~�oNH(f	�
&�a�vT
�tn:�C	` ��'o
����"�R2��rA�3����	O�kwI@ C�1\��BϮ�,�L�I00�!�b��2P!�eo
��p]��%�x|h��׬���&�?t�
��I
.����1
�2�D����H����`�"��e >�\m���_�{twb��6�-ǽ��e��d��k�:�

5�Y��v�&-ʤz��R*���
�k �0�	��>�p�\h���G�|�k��|)gw-��xp�y g� Z���<q�J
�x�N
��%B,A�рp�V�ֿr��=�Q�6Lm�C"�ėx#�/���f`��я�$c��g��
����#���ĭ� ��A8	ɤ�:V�-٪�
[�?�lوǺ�,0��L8�–n���
+�>���>���5��x
?q��_;���E�
�Q*D	�)��'I�!�]{����﹉��"��Q���uæ�W�"�߄���m rœD6*m�r�����O
�������K���î�8Y�
s�������R�J�
+�
���+����%`�z�n?���tͽ�1
��p
7�Ty�=��c��|�`O �#�L �\�0��ӏ��(���lK��=)����'�c,
X�
.=�C���G)]���ΖLs
����A,�

D�V���F�My�
T�)�}�
%Zc�q�6�1���A��\b��IW���q�3ݶ��2�X�L����
+{
y>z�Ic[=!�a�P�
���M��TE+h����O�D"+:N�y)�x1Q(<	m1
I&� �X�LB�L&����L �������-P B-���
��.�r�徣��� b|9������0Ɔk)�@B>�.�ל��mK�gx4�ZU}��֍dk�_�V{�t�E��j� ZT[
�{�ق��z�_�i�op�f)�rR;3�¦ ��'�|�z
�&���
G���
+ ̯4Z��x����q���A�2�5�ܬ��w��:��*؞��qHO&�:�$
�;��[
9�9
�p� g�>�%
�p �+
���'��=�9�+�K���$K�Atp l[q��AEQ���S�0l(��R�%�F�ʽ|pډ��c��
8U~zeh�S�3�0
pԙ(i[0�S��_s
�G�;��c���5���u �F0��dέ
b����r�)/d4��Z����B�#
��6�b_�J�o<h6:A�By�qi���VA�e��^#>��Ag|Y#޷\�r��*`��rwχ�v��d�L�͟����gY�L��F�Y��8v�l($�'��ҭ��Ac�(�P�5�}�V7���vl�!�3���� �l��Bk9"���̶����
���p����
����͛���e�.A��fi�7u]�9c�ř�`�\��28�ce���d�E����
i4�
+endstream
+endobj
+1200 0 obj <<
+/Type /Page
+/Contents 1201 0 R
+/Resources 1199 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1170 0 R
+/Annots [ 1198 0 R ]
+>> endobj
+1198 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1202 0 obj <<
+/D [1200 0 R /XYZ 90 757.935 null]
+>> endobj
+1199 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1206 0 obj <<
+/Length 3590      
+/Filter /FlateDecode
+>>
+stream
+xڝْ���}���/!�D
+7@�I�e�cKr�r��~�%"�ÿO_���Q�bfzz���{謞V�꛻W�w����j��G^�z<���*��]蹫�l����l��Y��#7��7Ykͽ�&�κlU���A��.
�
?\�������~���΅=��K{��.��Uz���Wg���������BX�U���-V�~�s��
��y=�D!�W��I�n*��8��J_�rD���K����]��aDg
9��l�p}�D��������T
cݿL?��W��I#�{A���<%�,Y�]f�nzD�	�u��>���z��CX�ۼiM}�����f���q�8k����Z7���qõ�)�I�`y������_� [J �ع������M�&ˏ������w֪l,�`�.�V��D�g�� {Z<v��}��� �����|�nk�{�e�L�-�9�����w��ޏ'����=<��28/Ӣ�4C��|Vu��V�_�MZ�����F��W��E��iAx9�$8�lZ���Ƣ#øŔ�'��VUU�=ff�і�+[�a;���C�i@����U
n
+Қg��;��~���
�d�peh��0�L{$��TD�Z����s�
IN�6eq�"�
+`m��� u��X&�'�@�e�Z�_/6��!/q�,g�Q57�3p5UV��^p�E\�}�\��	��ҳ@�I!EV3Q<��~���|�R'%��>�Q9�np�*�ȗCZ׫��T
�ݤ	3�>�
�x����x�����>\?>���|��������2�k��?m\X���G�*?�A�*��+��^���u.��y��

��
�Q�x��K at 9�e��`S�[�\n�Rs��IsU�jd�4�d�����U�����,�Id����g��:M3��ΟN-#�-h�/����(z����ခF]��	���G��@0����K��넬�ب5Мu)ҋ}�8"7�����N	��
��[�L�P��kuΉЮd`��S���.�Bc4J:�J-+��i����7K���
�M���=1�{Yː���V��,A!�Z5]M܄
q����Ke.�~���6��CW	�Z+�R=��>v5��|
X�a�ʘ�@�o�r گ>�"��$��j�"����
�L�
+�mF���ĥ���e (Ll�� $��/=��Iq�����G��}|����BQ��$P]���$F�;��#�gلm"��d׈�TE#��h
+�M-����I^.(�bl1�7ܕ�m�i����u	;]�Y:�c4
�.
b��FF��V�.��̛\oNRu02���Ua��u�����QX�@����GǏ�X^�}|x����$��E�AglNҩ��N�ІX�!I��I0ዞAqS
!��Wx��;/�6p�n8�F�9�ee�5��n�e��<�8��+��K����L�8�\��Xn����(����Mģ�j�[��ق�W��3��&�*�6�'
	
��Z��������
��^��8�c�4��Bu�YT��B��D�2�Up���1.� ^��Y�2�F'�`����3d!���#N��OV ˹���~�~����]>�AlS(h
`.�����9s��P���$k�eb���Y��
t�p@���Qz����K�k-G֮$��F��?�܀�0�
+�7�q
F�
hU��Z̶��Ql-Jy�q �
���H����\��G�۰ ���
�
+"$�5$(S냖|�� ���q�Apl]*bSX���
T�4�`
0�@T�ı1�s{���^^N��m�߃>�
+
>�*��r'�&�D:���Ѩ�>�c8X�jв���9��I]b���6�q��Fy�o
40�h���
��Oi
$�bL2�0rX�������y�mνG
Eh�H@��@bqA��k�<)�`C
4�쁑O'l�<�3��i����p��ɢ�4]c��Ր�'.�V_�.b6'�����

שYɔZ��gNJ�E!;�Iۘ��h�F՘R����.��*m;��Cg�Oc
��ӳ5��L��T��J!B$��g�9�Tl��;�HE�oo���J��i
�)�Y.#�(3�(v�.��Ʊ�8v�ѩ�f��p!C��q)�v<�}���m��
\��*"֪l*=b��zZBl4���<���0K�d����r~(�e,R5�������6��(�`7R��lK݊O at O�B�m�:�W:sKjv��[�']�L6 at G+m��/
�
is��:tȩ����`'!eaT�D�]B5^s
l*3Ug
�R�X�iMj����?H}���i��*c
e����(�1D�� �x���b�K�ٲ`7��Л,c�
%�L<
������-[Y��+��g�9a����>
��Nh�	�Vu��zC
��ӮH��8�_� 6���D�Q:B�<�A��x��&�5�5X��?���n,70����*^���a2�@@��"�����,����R�o[~'6�\
+z��r�6ǝ0 iq%�F6�f�bMn�#ߣ
khF?���Aw ��b Z<�39q�
��>8״-b�]k��.��~يc2�soU^��ߴª�_h=��z�p/G���sI�
�w
�P><w(�{�'U+A�(�����֕�>9?�
+��
�Q�`jِh#�"/�]4I��Qԑ�V�|�d�qq��

+2���~��ٔ�O�P���z��0�M�tڨp;+��	E���ReC$h���6�˞=o��*I U�޽~x��T�߽����*R�[�r{$��Ut�LFϞD#���݁H� "[��ew��T`MEM
R�%�B&PovJQ���+?�W�}[b��%ZC�VG�qiLȅ��\�Xz|�
:�M�����֨����+�Ph���S�[�6��)4jC�9b_:y]~�#�\�׺qVe�úg9tọ�v�	eП0p)����f�{�D�4S�
��A��V桴Q9�س߭�f��mzܘ�m{���1m/�_	�o+7�~�4PR���
'H3�OvA��B~�[Ps���^��4"yf�Q���
�,UOң$��^".862�ǕY��0��f"&Z*��������#Q��o<�O;�N�
φr�j'j�
zq����"�1�#IP�9,��
r�8H�}ENY�������e鋴z�m�x�
l
�s�Ut �_/:< �ԁ�����ƚ
Ē���/ [...]
+vR�al�����8�΢q���y��^
�e�غ�
0��ЧW��O`|-��9���N���|͝(t�B����Y Cx��A#d}IN�+�7��̆�.G�X3m9�w]*
��'vO~�XJv9��?����J�-ib��YR�[bK4��}���}�7g�
+=i���C�J�u�
�<|&��^�u�%4��$�+~7u,q<�-��<��W���n�W��e����1Xh��W�߅���= �|��Y��{S\O:���cġV�8!��u�‚�B�}�	M΍�;;��F��A[���+��;��7:��x; "����^<~�\vi��ʼ�wy�����3����.v{�8ڌE������e���%��
+endstream
+endobj
+1205 0 obj <<
+/Type /Page
+/Contents 1206 0 R
+/Resources 1204 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1170 0 R
+/Annots [ 1203 0 R ]
+>> endobj
+1203 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1207 0 obj <<
+/D [1205 0 R /XYZ 90 757.935 null]
+>> endobj
+1204 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1211 0 obj <<
+/Length 3071      
+/Filter /FlateDecode
+>>
+stream
+xڭ]�ܶ��~�νT;��I�w�����N��s�v:I
��V�V������ @��j�N|O"�A_��y�8�oo�~��{9��NBn
���D�k��<�_,o��c}����x�n�ؒ�z�u6�dէ}QW���d�!>t��
+��o��n^?�|�qaMg�5�Ȏ�`��n~���� �ql/�7ϊ���r�p����7
~]׷'�D³�0 �5[۝'|�W'pҲ�N}�o�w�hڢʊ&e|:�Ǻ�^A�V1R����܊�z�-u�cZ��
��߷n`IX�USy�P���4�D�z�,e��ι
x��>i�C!�v�k'ﲕ�����Q[	YKi��m?L��$��W!����i�C�ߨ	��������@=nK5
�p�E_r�I�䂢JOz�a�j�}YtG�*�}�(e�S�[�u-�v�����te� ����
��H�~+
kUbpZQ��>���-)�Z9c4����X�x:�,���+�]��V��M��ϛ
+�Ħ^_ِ뻚�
��q-T~�+m���
E���v Dۡ��ni h}K��n�LJ����N3u����4�d ��'mY[P�����RF ����s�w��
[��{[e�KT�8���I�(�b+=��(�-l���
�Y+%`9Zۑ�&x*�*�����*dld{*��l7�@�hgv����
j�UO,.��_D�
U�vf�����X݄�Y኎Z�<p�$U-Ƃ����
ke���TSV���{Y�6���_j+�]U �F~x��ǂ�]t
=A����Kk5�aP�B�v��d����w���.S��� �Af�
QZ��`ב�75rF�D�
K9���X�U�zB�$=a#STW,�_����6;��>�﮸���{ɶ��
��
��E_ĥ�-�Y�sa~]����v��Ď�u����$���
;�����焺�T�nϷ�Dbe
+��1:q&Uʃ�4�b\BEG����Ĝ`d�&�R&�h�'R����x\%����ܭ(�":#`19�"<>8Ok���"�`i�<"�;�{�M}�i6#���$�����BP�����
�����j�n�� 
 �/>C �gȃ���	�
�"����R�cDՕ$��` :�
e�L����b6w�W��
+���E
ݖH[0hLq9�U�Ѕ��ȊPJ�aF���~�~�(y��M��H��.k�={đ+�T��cZx5#�Dj3qa��V��M����wW�O�W|�i�F%�g4ru�`�k
+�@�>U*
�T���p��Y�
 *��쎙�E
�aC�!j�,��ȕQA}���i�5��������f'Ek8�a����>|�!h���
�d �,>�02.E'g��BJH_�A*v�� PQ]Y�z$
h̔eE�5wz16��U
�
�C������~<J�Id��3!�
hJ��s���/�ͬ
t�$�Y��/��Tu�8������)�á%�� �C���m�?I{
)z�3����yhO`�1<���I�a{	�I=�$�a�\�
�,*�0�e�a1�����a���(�5����|�<�V�5}M�b����M��J�$���$/
-t��{!f
+?u�U���P
`O�v������
�#�Y�/Y�
�)����J�^8ᙛWl7h�c�X]�Y��s����� K��
=��+Tg�����%��hB�I����Q��z%�jEpk:K�լp�$�K
�
V+��*�
�pE�b�Z �$Ol���JVㅉ�� �2��(��'��#VY:"/Znr��lT3�dF��F��L����F��f8�Nj�Oe�����y��J2<_�Sb����+�))_�_�)�����
���g��bJN�e)U
�wLې�ư
л}]�a�M�с��à�	N�2�r<� Izϋ���GX���,C�
s5�{�����t*����Bkv���9À�(Ti/�k��
�+��3i�od���gbg?ޚ#C�?��Wd�"X�z.��5}EpO3���*@Yt������V
+���B��/%�=C�.+���������6Edq�����&l��a�n-R
�`��7��9��v��W�B
ލV�uKߴid�SŘVǘ[�������})J� ��U���KӮ{��҈>��'Pi+�9	Zj�� ��c��Y*6
#-���=h�3�Q�
 �6
��Ѧ-�l�x��	�|}���@��C6�je��W6�52�����b�
�GԆ�h�h�
��H�8�8v���0��#�X�#�z)/����L�yf�X 0��Kok�Z!�"G'���i�����+Ó1T�����g<�b
���5#�:ǀU��A��ԉ�iKӦ��B��Y䚌
�"��
�@G����`�:Ҙ� ����hج�tq����%�x�j�t���v;JB�>=5�T�{>"Np����9��R�0�b�����|����)�B�A��=�Oɵߥah�\��8e��Vk�x���:]�_�������MV���UG�(ʪ�F� (
�2h��VZ�
�*��5M��
+�M�u��aJ����P���⭗p���
O����}����ގx�ގ��R�4�`�� \���
Uj[;4D��א[\�$.y�y]��Q�rSF���4�K��g����D���y\�
 9��*ϼV%/��8X���a8��+�p�HP�q���V��*I�qX�:'y�=��W��g�m=<
�Ï����r��o��)�Zl�RPᣕ(�3=�� W*�K�F`B𗈲�i~���(}���5�
{Tڙ� �E? \
���ɬ(V��,2�q� 
+
��^b��{C�X��X~X=V3E��DʼE����B ��
Y���+�h �iy`��
��4��@Q�E�`�Y���0
���X
_q�T���	��\��!_�Ԡ�i�����%x��?S�^Է�B�����;��oPۉ����_�B;���a
+;8�x�
УA{b7�.�G���~�۷*��ϐ����jH�_
���;�v]��
<=H�[�}}�������[7���ȱ��=??�YgUѴv��5My�Hyf{�ߠ"wLz��p�u1����<�L�@�����
+endstream
+endobj
+1210 0 obj <<
+/Type /Page
+/Contents 1211 0 R
+/Resources 1209 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1213 0 R
+/Annots [ 1208 0 R ]
+>> endobj
+1208 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1212 0 obj <<
+/D [1210 0 R /XYZ 90 757.935 null]
+>> endobj
+1209 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1217 0 obj <<
+/Length 3101      
+/Filter /FlateDecode
+>>
+stream
+xڥ]s�6�ݿB�R3�~��{Jc�u۽X��M�Z�,\��Tu����]� M�2s/"�\,�����i!�g?n��~X�E�ʒ Ylv�L,։���)�{��"��w}�����zeI��v{�˦�{�6�(�e��}"�؋�埛�Ϯ6g_�|�S,|�G�^��x���~�S,
+����0K'�U/� �g�x8�Ǚp���	�A�IL�n�z��ˏ�����P��#��򦠷��c%վ
#^�#�ސ1'�Y�ҳi{�{|&@���F��}�I.���k��
�;�]-�"q�–0��4�J��.y]*����WẎܵ
	[c+�g�Z�yj��̕*�~�Nև�וM�v��s"Ύ�5�:cݶ��C��,h�ϥ��^��aV��Ĕ���*	"b:^-/B_x��o�����f�����n�@F�5����
��#,�W�ȗX{۶~�MIPR


��I�{����Ѱ`E8]Y��ҧ��Ǧ0x�\@a征�e�b��2rQ�� 8�B	���S�|'
/"X�آ؍� Hk��\BHZ
+�
+#�;t�\�wyO�g�
d���EID
3�8 ��3`��-c�z�,#l��睼�;k�Z��{��*�ED�7�
 �F@'�����1��
5�@�<�]
q��{K�&o{2c�g
����͝�
���D#��qX���`P�� �#0}c��)��p�ե
�+��m Al<
+aS���o�^t
��}�R�m��,deYw����:v� 3�
0kJo
2�	�C�ׇ�`K�+���'��
�IM4b����b"`�
�%�h:�"[�
+I�T:4�Y�=����C�o�;��$��i��C��bl{�$� h����Aȴ)u�����=��,
+��E
+G'[G �Ө���e �c?gs���;`��v�U¾��:���(iF
+��xHQ>��|���:ڑ�K896��Q/
+(�,/
+���&%���+�$92��&~I3%iq´�f�Ą��f��	��ɐ����=f�I~��iQ��Fs�Zje�x��$^s�a�X�
�[G�&A��� Y����!���
�˪ -�q�����<>�C 
��:/B՘�Ŝ������]R#�t���ws�K1.胤n��P���<
 W�NA��?�0���������! ��GE Ǩ �I8�uXMN%
���(�:�D7�y
+fAsè���p��=od-Vބ����]�=�N��!T�����)��� 
�0;�,
����9�rNE�.PJ��D�M�WC	�V����Ll5���������Q����ԕ��J�0N ]�<��m[UV�z�(�)Y��y
�q�ԡH�1����u4*Cב[���ԘN��4:�OX�g��y4����[�)�N"�#9��|'1����R�
+{�A0��Co�?���S��QN�hyc.p%Ee��2��"�t�	4�ft
����3[g������<��p]�y�QX
��O��
�2!

��
Ot at m
�<)�"�����\�pb�u*cG0�� P�aױq�Eh"0n`�?}�o{z���h	��`��b׵5�P�`Ec
A�֎$�E:��LIؒw
[��/���}���~�� �8��@6|��ȍ��-T#�x�w�"����d
��Fr3�1�p������7�a
�r�/�ܙ�U�#7OKtDS���5R�v�q��ͅ�
�;��k���湾�tu�n	^���o#7���������
+~�6�
�?��
��
�^�O�2}��uĬ8�fmg�L ̉�1�z�1��""�S T%�y�[�=�(Z
�ȵ^ẩ�}�G͗:��Pc�'�sz����VG}|

^c!�?�c#G��`
��XcX��:�".X:�j��x�?=9�ԗ���5EG1�K��@`�xۚ��(j�ƅ�p�Qx�}��\�#eA\�ҳ���L`�A4S�д�
�Fö��K�y(�]�,<j��m����A�m1l�v;Lf
�t�?N3j��o]D`��ˆ�L3uMf�W�,HP^�74�jL�Щ	1����h��È�
�����\���`sW�)W�j/�~)����
+��Ve5���#_s�Y6^�K.�p��&�����{���h�\
�	ҕ_���^)Z&3t�`�C�ZF2�����Pм�b�)�\����!�D����>�����`P~rY�
�A �7ӷ��jǠ�A*	�m�����N�7�;��ف����\�2��M��#okZ7k�ݭKj�G�9
��4U��$h&�������`�zX at 1��+����Fny�2oe7��N�@Qe7Ǣ]*�kyD��]�s@�I�
]�$�e
�����vZ��BcZ�P��{�
�G��XҮ#��m�Jh�V��L��O��
>e��Ńio.����F�<	�����D*�����"PY(l�}k�ؠ��<�����Ŧ��/j^��/j�W��U8̨
�5o

�[��!����H�d��>�� ]D w�M�n�26%���w
y��Ĭ��:�a3C1	���c`���Ӓ<08�i��n�Ʀ
��WD
�h`�̯��Wm�8m7���]t��S������5%q6�Tf�o6�;)'.�p8۲�,3�a:j�dl{�d�Мi�� ��[���"�i�K�e�e��v��'
��'�u0���n���nr�005����ɗ
\9|��+�߹h
���#��J{(������̌���,z@��J#�6��tJp4ttӮ0�2����l
+�����sC�w�<ms����?
�
����@��O��G���d�����
��GBүw�l��ۧ�~��cN<�����
��
+T�1e��4]�CW�YV���� ����ٵH�g�l�+w�:=N��ޝ�[٨��0-\h��
�����8�ܯ���������K�N��k�xI��
��������9����'�|�
+��ht���
͇�TW�no�01�������N�t���������$Ye�0忛��*�G�OQ�(���s����,���'*��E��m�b������G�0[����e�G�s}Y��/�g����O�� � n�}��۷��i�U�c#�J�o�n�v$�ə}?Z���P�2�[�X�`���w5�H��Y
+endstream
+endobj
+1216 0 obj <<
+/Type /Page
+/Contents 1217 0 R
+/Resources 1215 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1213 0 R
+/Annots [ 1214 0 R ]
+>> endobj
+1214 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1218 0 obj <<
+/D [1216 0 R /XYZ 90 757.935 null]
+>> endobj
+1215 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1224 0 obj <<
+/Length 2398      
+/Filter /FlateDecode
+>>
+stream
+xڕYY��F~�_����*
��O�wl+�k=r�RN
ZbKↇ�cd�����pv�/�n ��t�k
,�zs�����u�Z��D~dm�V�Zq�9��Y���j/w~��﫴�5��e��-~��l-��q�T�l ��as��D��H_;qZ����ﮕ�g�u�de�I���~ ���x�wh[Ml�a�(��~]x�kW
�{v�.8��j���N
�,��~���.�4�_	��t�<���"Qռ8͚�ζ
ߵ�V�������j���}��
�o;}jYL5C���M�_�t�+$>e�N���
}����V׺�<'	�3�c
+7�߱���n	��,Q�Y�]�m5K���ڂ�b�����}�w^}�k��uL]�<r2��@2[�O(\e�l�ʔ��,��QumU�6۩
]D����JE��}���uv8�
S�i,�n���MQ���V
?���>��`�ҥo^��I�m�e��X���~��j���UE�r�UX,���豵�\����U�}V�
��_��w&
(A>#2g6����Z���aâ�S�6��<0EɦM�;2�w
+�k]����4� �;20D�<S��
&؂�c'�e��:�
���������������G�~|Ϳ��k��[�z�����G�`�/Y���ۯkM��~������
]XA
 ����H�y���
�ZR�
t�8��!kȵ /�Հ��U{�0p �͇/S���-�����\2��Y�eT�`�>p���	tc:L��������V6Y���	E����ZV��x�r�������;������ד�Rݪl&h_H����<�~
L `��.�E�Jy	)Y��$ܣ&��`���eF��z��ʋ'���c۞~��?��Ρ윪>�\r�o�E%W�InzQ�W5t:�� �
w�
��q
��P1�)X�B�8!���� �J^���@����:��?�I�[�H��wa��=3�]�����e����#�Z
����:�/�P�� ��
 �7_�=
�#�o+Q��j�
����[�<F�o�VP��y��	2�N�о�cZ�9�
q�ʸ/!Dn��uh��i��D�Τ�������
\�2kĄK70�Z�Β�㝹�f�1
��Z�¿�#� ���
]*P8���G�ӴV�<�n/�e� ��Gc�&��1'a%�oB�;2گ��¨��|����~���I�*2���}��1�쁩�KA7��U�%<�&'J�|��QkB"ע@�Z�)�_���������@�B��k����N
=[������Y�6^�]#��T��l�c
._h��,�6���_:��R�+8zX\�1���`�?A��U��bvzm�ӊ�`�U�
��TŖ
ԧ]ޥz���iFYB��!0���s���
��R��
����͠nSj$��A>t?�L%0��#�'Hน f����A�8�o�:Uma��&H?N V�J�^A}�"�ab����0����g3���3
}x����}�D�'�f>:(���C�Jjqq����X�_�P�0t}�98�
��r�G���͌ҳ��(��Ĉ��>
�a�Ѥ�C�Pp��A�x�?g��U����8|��	N����W�${�������?C�b�R\�.�T
 	���QQ{1�z]We{��z2�n��Q��R�?Dx�Z�H����P�a�=r�S3��i�+x1�s���r��֙�����N��Y/W;)2��O{`�K��>!*�  y� �8�� L�A��"v彂�ְ�&����5�A�O��i� �9�o1Q
��pn��g��M���T��B�sBϠ�7��>��$��
M�JqZ?n$?�>��6�ͻ�G�ձ򙌘��ٝ��?c��$�e��ջg�Z~IL�i�Lj!��6\��V��&ɂ��$�+Om�k*�ɂy�B�*��n�]R"w��t6	�3����y+�г���37@��Z����73M�����dmwm����N��k�5�
� 	2r^}`V��ʙ�>R�)'c"�?<��-���(J���||�"�Z��`��%j�k�p�����[<��%xSSy��0�y���[
���v��d'���qF��4zo�{���֥yq����+�UJ&R��R�Jl�D/��x7RE�6ϵOY=�Q�,6�;0��{�zF��Z��}�s�g
�y-y֬��<�+Y�x������յ1]RU�&ϴr�ny�+X��:���C�8 �H<1��?H��C��W���#س^|B�����͍��k���dv��	�m���%0�
��$V�߁0q�p��v~�lWu!��T�h�je�&�Z��|it�7|�߾We�ċط�on at t
��^�{ߕ��z+� [...]
+endstream
+endobj
+1223 0 obj <<
+/Type /Page
+/Contents 1224 0 R
+/Resources 1222 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1213 0 R
+/Annots [ 1219 0 R 1220 0 R 1221 0 R ]
+>> endobj
+1219 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [258.676 612.933 428.041 623.836]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/copyleft/)>>
+>> endobj
+1220 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 103.07 513.996 112.046]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.8.1) >>
+>> endobj
+1221 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1225 0 obj <<
+/D [1223 0 R /XYZ 90 757.935 null]
+>> endobj
+1226 0 obj <<
+/D [1223 0 R /XYZ 90 497.744 null]
+>> endobj
+78 0 obj <<
+/D [1223 0 R /XYZ 90 203.883 null]
+>> endobj
+82 0 obj <<
+/D [1223 0 R /XYZ 90 169.897 null]
+>> endobj
+1222 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1255 0 obj <<
+/Length 1198      
+/Filter /FlateDecode
+>>
+stream
+xڵX�r�6}�W�Ҥ�p!@@��Lc���4Im5u2�D,N(��:��.x���F�z.�����<:ع꽞�F�y�QH	*��Ga�qJ�I����`H9���:��@W՛$���'o
�0���U�m��:���#Ј
R�=�1����g������)�<�Vsǥ
�ع������+h��”���ƻV�	R����3��Z*��l�m�U.V��-Uu�֦����"��˯�K�#���0
s�:��I3q=�ST̪��w���DY�I>.)n8z.-��&��jӳ@"��2H����ܟ~P�/g:4��m�`|�\�ȹ/�|�
Of��a���Ͳ�~k�i�	c�4
.Һ�5�:�0���\��`��P;H�EF��W>
߼��ϴ���<0O�<�b}j+Q�-�Q�(��ZҶoY��le�[����%�&�J��3��܁#&Dx��Rt�jy��p�ˋ�`<䅟���
}���	���$�/���6e`�D3S�*V!u*_�~�w����J��|X:.�
�/
¤��(�i�ޔ��$OM�&]<���@���u�۸\�]��h�i�ź�k�~���]D��r�>|��ǯ/�w3?����'<�b��O-�+&Q�1�lC!{Dm�������m��ׅ
�}x�׷c6�Ц�l�~�wG0�.H�|?�F��cA�߶ �M����Q(�`�+���k��Pq�|���u3
|�F:��[���F��o���l1xn�?��Q��2��W����E�<S#��P�q�(D�C��(Іf����{}���{2�XD����]{�48\p^8{�L���3v<���*M
�B��i�VL��0�8��ӻe^���h�p��;�|z��E`��d�
+$�<Z\/I�(�t��$iW!�
Q��D��h,�+
+�GIQ�d<l�4*�s�
Q�}��˺�J'��' �
@d?��P�,>
���Ru ��'
���U
�U���x��A�Obe0�{��K��"G��
������r�Ɛ�"�0��V�(�.2��:B�|
��S>���I �1Y��p�8w���n�cpٲ��Ն��ef��\�p|��T���k&���Mn�/1"��?\���w����u}u���-It-�p�x>�Ί"�FOOO(��"�2��b�e�h�溶f��֙_ -K\�}IJ�q��pAk#���;�?
+endstream
+endobj
+1254 0 obj <<
+/Type /Page
+/Contents 1255 0 R
+/Resources 1253 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1213 0 R
+/Annots [ 1227 0 R 1228 0 R 1229 0 R 1230 0 R 1231 0 R 1232 0 R 1233 0 R 1234 0 R 1235 0 R 1236 0 R 1237 0 R 1238 0 R 1239 0 R 1240 0 R 1241 0 R 1242 0 R 1243 0 R 1244 0 R 1245 0 R 1246 0 R 1247 0 R 1248 0 R 1249 0 R 1250 0 R 1252 0 R ]
+>> endobj
+1227 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 643.852 221.094 654.731]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library) >>
+>> endobj
+1228 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 645.754 513.996 654.731]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.9.1) >>
+>> endobj
+1229 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 621.934 288.052 632.813]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_1_1IO__Operators) >>
+>> endobj
+1230 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 611.882 513.996 620.858]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.9.2) >>
+>> endobj
+1231 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 588.061 117.901 598.94]
+/Subtype /Link
+/A << /S /GoTo /D (namespacestd) >>
+>> endobj
+1232 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 589.964 513.996 598.94]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.9.3) >>
+>> endobj
+1233 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 474.476 513.996 483.452]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.2) >>
+>> endobj
+1234 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 452.558 513.996 461.534]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.3) >>
+>> endobj
+1235 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 430.64 513.996 439.616]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.4) >>
+>> endobj
+1236 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 408.722 513.996 417.698]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.6) >>
+>> endobj
+1237 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 386.804 513.996 395.781]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.7) >>
+>> endobj
+1238 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 364.886 513.996 373.863]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.8) >>
+>> endobj
+1239 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 342.969 513.996 351.945]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.9) >>
+>> endobj
+1240 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 321.051 513.996 330.027]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.10) >>
+>> endobj
+1241 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 299.133 513.996 308.109]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.11) >>
+>> endobj
+1242 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 277.215 513.996 286.191]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.12) >>
+>> endobj
+1243 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 255.297 513.996 264.274]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.13) >>
+>> endobj
+1244 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 233.38 513.996 242.356]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.14) >>
+>> endobj
+1245 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 211.462 513.996 220.438]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.15) >>
+>> endobj
+1246 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 189.544 513.996 198.52]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.17) >>
+>> endobj
+1247 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 167.626 513.996 176.602]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.16) >>
+>> endobj
+1248 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 145.708 513.996 154.685]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.18) >>
+>> endobj
+1249 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 123.91 513.996 132.767]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.19) >>
+>> endobj
+1250 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 101.873 513.996 110.849]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.20) >>
+>> endobj
+1252 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1256 0 obj <<
+/D [1254 0 R /XYZ 90 757.935 null]
+>> endobj
+86 0 obj <<
+/D [1254 0 R /XYZ 90 733.028 null]
+>> endobj
+90 0 obj <<
+/D [1254 0 R /XYZ 90 709.842 null]
+>> endobj
+94 0 obj <<
+/D [1254 0 R /XYZ 90 573.366 null]
+>> endobj
+98 0 obj <<
+/D [1254 0 R /XYZ 90 541.303 null]
+>> endobj
+1253 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F11 446 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1292 0 obj <<
+/Length 1142      
+/Filter /FlateDecode
+>>
+stream
+x��X�n�F}�W�$P��~1���$NbG��'' him�H�����;�Ɏ�P�!�O"�뙳����.v�
���Fov
2�Jgz��(I��ęΝW"�
	��=]��7���C��G�;[xD��ސQF�+��u�ap>
�= �;$�(RL8����+v�0�����<�V�
~��d�� ���_�%�#���(CX���#�
�U�=��x����$�?�������̦6Y�Q��
��-!�c*����y�ߊ{Ye��1��Ok�P�8ޅ�=� $�/��~�b=#�S�_=!ΐ��fΐd�jK@�
+���0�ogi
F �d{"�ȯEy�њp� MIW>�DL?�Ai'>tK>��
+:����rn��*C E=vL��s��5a. 9@��@T����&���2�R�{��0A�v���0r9�/���ۦ� 4�
���;4�!� 
+��i����?�I~���Jy�	
Z���
�2���ۛ#��}�$��=���SFP%��!e�Մ7�6�CpO��ȋ�Ӎk�K����B	�b��֋P^l�Ӆ�}���y�yRDkou�iy�P
�����zq���,��]�b�U)Ĕi]pSO��Ƶ֎�|�p>�m�A���Z�;T�U����h����)$�Jv`���D�G�d��
#������:o��f�Q�K��y�3�/�~^c�_�s{r�G��a��� �*k�`b̰�U~	0�
�v��FPB8uV�5�I�ܦ�J��b�4�6i�w�i��p!]F�ln���f�~Y:������-�����v���<K��8�B�,�u�9�(:��[�����xy9!�ͺ|,�,��LH9F�����>ʇ뚨�!c����Ȱ��2я
��KW�e�
_B^(mcOl�˱�I���,�Tj֠^�I
d���
=mB�)"h�R
gRg��N���.g��lT(��
'��Ȇ�m5ݡ0� �P�m7ʩ�	1R3��z2��/��2BZ�^淔B:�ty�
+�3dz�'�j͉�U�V�*^˥/ml�Kv~,o`/�h
g���
�{�&yK�bD�� oȀ���6K��oN��1V�
-�a�3�E��OF���4۠m����z9����5CN�3��8)p��\}��*�Z�C$��_Y���
+endstream
+endobj
+1291 0 obj <<
+/Type /Page
+/Contents 1292 0 R
+/Resources 1290 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1213 0 R
+/Annots [ 1251 0 R 1260 0 R 1261 0 R 1262 0 R 1263 0 R 1264 0 R 1265 0 R 1266 0 R 1267 0 R 1268 0 R 1269 0 R 1270 0 R 1271 0 R 1272 0 R 1273 0 R 1274 0 R 1275 0 R 1276 0 R 1277 0 R 1278 0 R 1279 0 R 1280 0 R 1281 0 R 1282 0 R 1283 0 R 1284 0 R 1285 0 R 1286 0 R 1287 0 R 1289 0 R ]
+>> endobj
+1251 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 721.95 513.996 730.926]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.21) >>
+>> endobj
+1260 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 700.151 513.996 709.008]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.22) >>
+>> endobj
+1261 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 678.233 513.996 687.09]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.23) >>
+>> endobj
+1262 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 656.196 513.996 665.172]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.28) >>
+>> endobj
+1263 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 634.278 513.996 643.255]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.24) >>
+>> endobj
+1264 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 612.361 513.996 621.337]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.29) >>
+>> endobj
+1265 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 590.443 513.996 599.419]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.25) >>
+>> endobj
+1266 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 568.644 513.996 577.501]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.26) >>
+>> endobj
+1267 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 546.607 513.996 555.583]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.27) >>
+>> endobj
+1268 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 524.689 513.996 533.666]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.30) >>
+>> endobj
+1269 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 502.772 513.996 511.748]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.31) >>
+>> endobj
+1270 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 480.854 513.996 489.83]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.32) >>
+>> endobj
+1271 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 458.936 513.996 467.912]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.33) >>
+>> endobj
+1272 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 437.018 513.996 445.994]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.34) >>
+>> endobj
+1273 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 415.1 513.996 424.077]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.35) >>
+>> endobj
+1274 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 393.182 513.996 402.159]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.1) >>
+>> endobj
+1275 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 371.265 513.996 380.241]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.36) >>
+>> endobj
+1276 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 349.347 513.996 358.323]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.38) >>
+>> endobj
+1277 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 327.429 513.996 336.405]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.39) >>
+>> endobj
+1278 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 305.511 513.996 314.487]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.40) >>
+>> endobj
+1279 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 283.593 513.996 292.57]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.41) >>
+>> endobj
+1280 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 261.676 513.996 270.652]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.43) >>
+>> endobj
+1281 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 239.758 513.996 248.734]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.45) >>
+>> endobj
+1282 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 217.84 513.996 226.816]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.42) >>
+>> endobj
+1283 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 195.922 513.996 204.898]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.44) >>
+>> endobj
+1284 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 174.004 513.996 182.981]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.47) >>
+>> endobj
+1285 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 152.206 513.996 161.063]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.48) >>
+>> endobj
+1286 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 130.169 513.996 139.145]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.49) >>
+>> endobj
+1287 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 108.251 513.996 117.227]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.5) >>
+>> endobj
+1289 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1293 0 obj <<
+/D [1291 0 R /XYZ 90 757.935 null]
+>> endobj
+1290 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1329 0 obj <<
+/Length 1541      
+/Filter /FlateDecode
+>>
+stream
+x��X[o�6~����d`fx�`�&���,����0���ْ'�M��wx�c;rlm�$�:<<��w.n
�
���H
(�"�@�@F	J�q|
+�pDOfI]��Y��o�/��'
a&A���
�
�
����D�� �>}�A������;+58e�W�?؛��|l*!1b<
+$3"ጸ
&�<�\
)���TgU2��_WIu||~~��iH�,�������~�v|��22y�n��H�(A���q�F�NW�n�
GoY?e���E
�/Nd�(oN;t(Ŭ�u�Y��RB���}��{ `��8n�_��$�nz�]��"it�~R�H��n�����q�
+��tu I�RE�. ��<�d�S=<"��Yɋ�19�;c�e|0?w�ű��Q��:38!?���:�OgzrV,���LA	����i#p�ݯ��BO.l�ҵ���׼��\�l�6�K^�pri�88k��]v?�
�A1��̐z�I
�⛫yRO���(���	���Q� D�
�CK�x�J�
��z�� *J�!����PQ��l� u����ɕ~2NYLC���kPġ���m�������!�qw;�شn� 
�?�D���y�s���(c�K�[�NW��'��Aj��ړ�n*���mY at D���"s�캺�p���˛�]W��q�L�i�/LT��;��7?��D����x(y�2�����>>��j���4Of�$��B�a���8��^_1�Y.�%��J�6_3�5�𐖳��,wo��!���0'Q���
+G�A�p{u:�����2Օ�K��Ÿ��$,��}k��#�ZOxr�K��,����"�d��� +9`U`�D�D}�}w�7f�����뤋��
ulӼ�@��(wE��
4�d�n���7C*²r/&�w1�Y�n�
��[��U�
��B�8$T�9�o]���J����������
��1�h�[�d��E�����XC!�ݻ�tV�:��ʄ�
��"!�f��tHDx�;*���5�6�
��]��������v��'n�+�{� [...]
�J惥	<A�l�
�^���m�g}�$W��GL�x�I���f�ٶK�
+��n�=�t݈n���b
ށ���on�
FHI�?�B!!�/0����t
����D{���p/պ�i��?�I��L���Q���5#B

+��J�ns��'hG��ZE׬%1�k��d�4�㣣��;��.��
+���b1;ڪxg&�&IVPߴ=�l/�y�����І&��?%/I
+endstream
+endobj
+1328 0 obj <<
+/Type /Page
+/Contents 1329 0 R
+/Resources 1327 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1213 0 R
+/Annots [ 1288 0 R 1294 0 R 1295 0 R 1296 0 R 1297 0 R 1298 0 R 1299 0 R 1300 0 R 1301 0 R 1302 0 R 1303 0 R 1304 0 R 1305 0 R 1306 0 R 1307 0 R 1308 0 R 1309 0 R 1310 0 R 1311 0 R 1312 0 R 1313 0 R 1314 0 R 1315 0 R 1316 0 R 1317 0 R 1318 0 R 1319 0 R 1320 0 R 1321 0 R 1322 0 R 1323 0 R 1326 0 R ]
+>> endobj
+1288 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 721.95 513.996 730.926]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.37) >>
+>> endobj
+1294 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 700.151 513.996 709.008]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.50) >>
+>> endobj
+1295 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 666.278 513.996 675.135]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.50) >>
+>> endobj
+1296 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 644.361 513.996 653.217]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.46) >>
+>> endobj
+1297 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 622.323 513.996 631.299]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.51) >>
+>> endobj
+1298 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 600.405 513.996 609.382]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.52) >>
+>> endobj
+1299 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 578.488 513.996 587.464]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.53) >>
+>> endobj
+1300 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 556.57 513.996 565.546]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.54) >>
+>> endobj
+1301 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 534.652 513.996 543.628]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.55) >>
+>> endobj
+1302 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 512.734 513.996 521.71]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.56) >>
+>> endobj
+1303 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 395.343 389.939 406.222]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
+>> endobj
+1304 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 385.291 513.996 394.267]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.1) >>
+>> endobj
+1305 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 361.47 299.694 372.349]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+1306 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 363.373 513.996 372.349]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.2) >>
+>> endobj
+1307 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 339.552 315.718 350.431]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
+>> endobj
+1308 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 329.5 513.996 338.476]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.3) >>
+>> endobj
+1309 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 305.679 284.202 316.558]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+1310 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 295.627 513.996 304.603]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.4) >>
+>> endobj
+1311 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 271.806 288.79 282.685]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+1312 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 273.709 513.996 282.685]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.5) >>
+>> endobj
+1313 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 249.889 364.821 260.768]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+1314 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 239.836 513.996 248.812]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.6) >>
+>> endobj
+1315 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 216.016 310.189 226.895]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Variable_1_1Compare) >>
+>> endobj
+1316 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 205.963 513.996 214.94]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.7) >>
+>> endobj
+1317 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 182.143 362.014 193.022]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare) >>
+>> endobj
+1318 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 172.09 513.996 181.067]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.8) >>
+>> endobj
+1319 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 148.27 341.531 159.149]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare) >>
+>> endobj
+1320 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 138.217 513.996 147.194]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.9) >>
+>> endobj
+1321 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 114.397 344.301 125.276]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Grid__Certificate_1_1Compare) >>
+>> endobj
+1322 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [443.185 114.397 465.66 125.276]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+1323 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 104.344 513.996 113.321]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.10) >>
+>> endobj
+1326 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1330 0 obj <<
+/D [1328 0 R /XYZ 90 757.935 null]
+>> endobj
+102 0 obj <<
+/D [1328 0 R /XYZ 90 496.136 null]
+>> endobj
+106 0 obj <<
+/D [1328 0 R /XYZ 90 464.074 null]
+>> endobj
+1327 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1388 0 obj <<
+/Length 1722      
+/Filter /FlateDecode
+>>
+stream
+x��Y[s�8~�W�mʹQt�,+�ә6�l��ۤOi�q�����)ÿ�#K��;i���H�;}G����ֻѫ���[�-��K]��Β�.A��zf�����ۗK?M�g�c�c�f�o�,�0�� ]�0jv��z�cD`[$W��[�jt�
[3��`aĤg�r���P�K�j������V���Q��k�;�f	
+s���dL��'+:Sl���E8K����6�����:�'�0�|�ł�Mn�W��Km�2�C?���S!F����E�RIm⹍���g� I�`[�W�4
WGLJ�P>^ߵMK���zB�D�ǚ�
6-�~g� �ֱZ��-!� ��E.����S���1N
���9��:�kڡ�Q�+d_4��RK
+Q���"R��L��p���g���?�Y�K�l�����,�0�-�8���	����7�0[�gz|7��^� ��`P�m��V���z�Gq�v
W����~�"�l��4K`o�	䋋@MM�,L�
�l63�����.��'m��_��	��P���c
����
+Fl��i�z��ؾXq�Š�:V�kc3�����V�b7=�b�C��"g(&�c�!�c��&=1c��35�0c��0S�}���U��G�\F�d�=Q|%�l:8�h=!q=�轄�&!��� \�Ϊ9�̌D
lNH�����l �l�e���f���qW���	�f�~
�Rc���4rBӎ�LA>�;@�6ys���!���

��`�v08���%����E;\>�w��=�wpL
��x����*��,�p
+
��!��))����uW�@[�e/�*u
׾�Ur���MQ9+���d�Q6k}����R���(�Wch� �f�]ɹ���
��\��ȫ(�^+�iߑ�A^i(ȇɝ���Ҧ �¯�8����o^�s�};P�
ji
 �9<�$E.�Cc.O�F�t����a��
l�N�������
�xOQ_`XL��7ke����3̈́v�riB��T7"��D�.C�=0��-BS/��2IJ�&��wi��H>*��
l'�Ō�NϞ��>�yئ������	&7?��6��o�`�N��{2GNX�����'�/���؟�(�g���ۘw�&��P���}�
+7��K|��Ƴ<<��+H��W^�D�t��{�T��0��e�A�]�h:5�6f�{bc&�G�"�GH>Q+�������0�"u>�;�-p7�|傋�d
;UD���
U���3�5
?|x��}���
�R���N�Mu	pY�% +�����

�*����I�6V���"�`��>�$�~Ee|d���6}��u_;���ԁ�S�����Qr��QS9f��QZ`U=S�����i�.����.K
1II��e{�.4.�ȥ��e��J�J��܂9�~k,;Ի
��{I.�h�4
��<<��,�3=
�A��~-�zB�p����9N�Kn�i�.�uF	mH�X`
�>5�%X�<ѕ��tz���w��������* �ZQ�H�S�hYֶ���b� �U��S��/���n��vu��ZK��
��i�-���O:;:丵,
�����1���B�*�{���_�t��3D�;����\�sי����5��%
�?Tu1��'?���T��	�7N�2����}'���U��V ��n���ᕷ
�,�\���v;�hG�E��f�<o����X�һwő�Z'aQU`r�K2����-���
+endstream
+endobj
+1387 0 obj <<
+/Type /Page
+/Contents 1388 0 R
+/Resources 1386 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1391 0 R
+/Annots [ 1324 0 R 1325 0 R 1337 0 R 1338 0 R 1339 0 R 1340 0 R 1341 0 R 1342 0 R 1343 0 R 1344 0 R 1345 0 R 1346 0 R 1347 0 R 1348 0 R 1349 0 R 1350 0 R 1351 0 R 1352 0 R 1353 0 R 1354 0 R 1355 0 R 1356 0 R 1357 0 R 1358 0 R 1359 0 R 1360 0 R 1361 0 R 1362 0 R 1363 0 R 1364 0 R 1365 0 R 1366 0 R 1367 0 R 1368 0 R 1369 0 R 1370 0 R 1371 0 R 1372 0 R 1373 0 R 1374 0 R 1375 0 R 1376 0 R 1377 0 R 1378 0 R 1379 0 R 1380 0 R 1381 0 R 1382 0 R 1385 0 R ]
+>> endobj
+1324 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 720.047 279.196 730.926]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+1325 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 721.95 513.996 730.926]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.11) >>
+>> endobj
+1337 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 698.129 314.612 709.008]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+1338 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 700.032 513.996 709.008]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.12) >>
+>> endobj
+1339 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 676.211 381.951 687.09]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruences__Reduction) >>
+>> endobj
+1340 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 666.159 513.996 675.135]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.13) >>
+>> endobj
+1341 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 642.338 375.473 653.217]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) >>
+>> endobj
+1342 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 632.286 513.996 641.262]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.14) >>
+>> endobj
+1343 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 608.465 373.8 619.344]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
+>> endobj
+1344 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 598.413 513.996 607.389]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.15) >>
+>> endobj
+1345 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 574.592 381.003 585.471]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
+>> endobj
+1346 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 564.54 513.996 573.516]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.16) >>
+>> endobj
+1347 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 540.719 399.264 551.598]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
+>> endobj
+1348 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 530.667 513.996 539.643]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.17) >>
+>> endobj
+1349 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 506.846 273.666 517.725]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+1350 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 508.749 513.996 517.725]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.18) >>
+>> endobj
+1351 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 484.928 309.083 495.808]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+1352 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 486.951 513.996 495.808]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.19) >>
+>> endobj
+1353 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 463.011 378.599 473.89]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction) >>
+>> endobj
+1354 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 452.958 513.996 461.935]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.20) >>
+>> endobj
+1355 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 429.138 325.638 440.017]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+1356 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.033 417.172 429.23 428.062]
+/Subtype /Link
+/A << /S /GoTo /D (main_Bag98) >>
+>> endobj
+1357 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 419.085 513.996 428.062]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.21) >>
+>> endobj
+1358 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 395.265 353.066 406.144]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Domain__Product) >>
+>> endobj
+1359 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 385.332 513.996 394.189]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.22) >>
+>> endobj
+1360 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 361.392 271.993 372.271]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+1361 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 363.414 513.996 372.271]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.23) >>
+>> endobj
+1362 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 339.474 307.409 350.353]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+1363 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 341.377 513.996 350.353]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.24) >>
+>> endobj
+1364 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 317.556 286.936 328.435]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+1365 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 307.504 513.996 316.48]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.25) >>
+>> endobj
+1366 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 283.683 248.212 294.562]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+1367 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 285.705 513.996 294.562]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.26) >>
+>> endobj
+1368 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 261.765 298.005 272.644]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
+>> endobj
+1369 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [476.079 261.765 498.554 272.644]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+1370 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 251.713 513.996 260.689]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.27) >>
+>> endobj
+1371 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 227.892 297.457 238.771]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+1372 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 229.795 513.996 238.771]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.28) >>
+>> endobj
+1373 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 205.974 332.874 216.854]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+1374 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 207.877 513.996 216.854]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.29) >>
+>> endobj
+1375 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 184.057 295.235 194.936]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
+>> endobj
+1376 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 174.004 513.996 182.981]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.30) >>
+>> endobj
+1377 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 150.184 349.311 161.063]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+1378 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 140.131 513.996 149.108]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.31) >>
+>> endobj
+1379 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 116.311 304.566 127.19]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
+>> endobj
+1380 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 118.214 513.996 127.19]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.32) >>
+>> endobj
+1381 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 94.393 412.755 105.272]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked_3_01Checked__Number_3_01T_00_01P_01_4_01_4) >>
+>> endobj
+1382 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 96.296 513.996 105.272]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.33) >>
+>> endobj
+1385 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1389 0 obj <<
+/D [1387 0 R /XYZ 90 757.935 null]
+>> endobj
+1386 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1459 0 obj <<
+/Length 1769      
+/Filter /FlateDecode
+>>
+stream
+x��YYo�F~���[)�Z���E�6N��9�X�K4���P�J�q��;{�i
t�}������7�7^��:;;.q���h�>
+2"HP���P"2��q�4O�z2������|��p�fx��"6Գg���q@,C!�d"HWg�?�`������;{jp��;���8��r�
���3~���sD$
$��E�]�rBp�T�d~9�8,���^T��Uv]%���'/�����̱��C��V�K�~�O
#��sB�~�R�b����
�(o�v�P� *�������
�"F۷����.�2�P
�`
+�("Gb�*+tR͟}YW�������v����X�_����
���ۣijxp��S%%���,
)�뗗�K{��:׫2q�����0
X��e��]M�#N^+��y�7U�Zeō#��?���������C�0#�Tk
�o���8�y�e�8fE���NA�I������em�4k��['��h��ό12}os�s�*���x��\h@��?-�����h��P�!�&����6�(lJG�u����.�[$�t��4`}D�E/�����;p�j�iSVcP�%,d�>ڬ�>Ϊ��;����p2��$f�sr0�R�Up/ȏ�)�YxAw�c)�v�ރl�g�
!gخ͉f���Ÿ-��Z�q&C��xh�"�5��Ͳ���qjo��� ��6m�2\�ޢ\���.���ɴ�6s/�$�_-0�

+V�X
K����/�F���e���V�Wu����D� w({4���H��Fa�ɒ<�w��=��Q�p�$G����)	>��vp��
�K��/�q�ne1�����7e� ,e�S��>E
�����ΠT����Df��(�
+b2�4.b�ɅN���'���H�?�a� ��Q��ʑ�"K��8�N��G
��pT_���z����l�3�($�q��"y���D��	ղK �VY:��]Eg
+:s`X��Cn��;
+԰��Չ*��̃�Emj_�mz�ə�Y�6=�c�ۭ�
K��3�} ~��Q5 ��t�6��V~��a=�xT��]_f���( �ڃc��k`K6Ůn��ʝ���+a
�<>���I��W�v�y�0�qy�ǮK8P�@_�uUK�
+d�9�
�&)|�� )�䬦MC��./_����f�8�z8�X�	9�{��^��ȓfGOϤ� �d����׺�Ӻpۉ�
�7�U,�f���Ӯ�zt���dq������v�
]%�Z�!l����ÃY����g7c�^tht���9�������Q�
�$��đ^(] ���#���fh���X	
DIC�GICi��et5͵H8m䎾(} %`xX(o��o|G5�C���Dc�w:�Os=Y�o�#��Mv��z���`����m�o_
C�V�qEqsp�B��?q�
	�Y�����7{a��3�
ًۭ��~����ً��
+��j��ۈ��X����^��a�biT/N��VI�<<iS
+

=�Ӟ�)�{tMP�GOd��nt
�P�H
QN��8�9gc�P.>r����[d��8:�fg�
2w	t���ԟ������贩��G[��I�zl�
5
S����{���&
+�N�
��E����/�]�KU�����㰬���e
��V������7!AB�#Y������h�3�m
R��_�x�܃Q�!B���Iq�;
^�
+��
T��@�L��-�N�OA��ݸ4ݺ-�)�{�O/�f�������5�-�u���|�����'3w��&�c��UYy��+[P�
'��?��
+endstream
+endobj
+1458 0 obj <<
+/Type /Page
+/Contents 1459 0 R
+/Resources 1457 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1391 0 R
+/Annots [ 1383 0 R 1384 0 R 1412 0 R 1413 0 R 1414 0 R 1415 0 R 1416 0 R 1417 0 R 1418 0 R 1419 0 R 1420 0 R 1421 0 R 1422 0 R 1423 0 R 1424 0 R 1425 0 R 1426 0 R 1427 0 R 1428 0 R 1429 0 R 1430 0 R 1431 0 R 1432 0 R 1433 0 R 1434 0 R 1435 0 R 1436 0 R 1437 0 R 1438 0 R 1439 0 R 1440 0 R 1441 0 R 1442 0 R 1443 0 R 1444 0 R 1445 0 R 1446 0 R 1447 0 R 1448 0 R 1449 0 R 1450 0 R 1451 0 R 1452 0 R 1453 0 R 1456 0 R ]
+>> endobj
+1383 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 720.047 354.169 730.926]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+1384 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 721.95 513.996 730.926]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.34) >>
+>> endobj
+1412 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 698.129 308.366 709.008]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+1413 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 700.032 513.996 709.008]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.35) >>
+>> endobj
+1414 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 676.211 288.421 687.09]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+>> endobj
+1415 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 666.159 513.996 675.135]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.36) >>
+>> endobj
+1416 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 642.338 303.176 653.217]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+1417 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 644.241 513.996 653.217]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.37) >>
+>> endobj
+1418 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 620.42 384.918 631.299]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1PIP__Solution__Node_1_1No__Constraints) >>
+>> endobj
+1419 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 610.368 513.996 619.344]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.38) >>
+>> endobj
+1420 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 586.547 344.446 597.426]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction) >>
+>> endobj
+1421 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 576.495 513.996 585.471]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.39) >>
+>> endobj
+1422 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 552.674 329.582 563.553]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+1423 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 554.577 513.996 563.553]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.40) >>
+>> endobj
+1424 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 530.757 416.73 541.636]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+1425 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 520.704 513.996 529.681]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.41) >>
+>> endobj
+1426 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 496.884 311.853 507.763]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node) >>
+>> endobj
+1427 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 486.831 513.996 495.808]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.42) >>
+>> endobj
+1428 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 463.011 285.103 473.89]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+1429 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 452.958 513.996 461.935]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.43) >>
+>> endobj
+1430 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 429.138 311.315 440.017]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node) >>
+>> endobj
+1431 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 419.085 513.996 428.062]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.44) >>
+>> endobj
+1432 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 395.265 294.877 406.144]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
+>> endobj
+1433 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 397.168 513.996 406.144]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.45) >>
+>> endobj
+1434 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 373.347 349.802 384.226]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+1435 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 363.414 513.996 372.271]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.46) >>
+>> endobj
+1436 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 339.474 310 350.353]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+1437 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 329.422 513.996 338.398]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.47) >>
+>> endobj
+1438 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 305.601 310 316.48]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+1439 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 295.668 513.996 304.525]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.48) >>
+>> endobj
+1440 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 271.728 276.615 282.607]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+1441 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 273.631 513.996 282.607]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.49) >>
+>> endobj
+1442 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 249.81 295.063 260.689]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+1443 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 239.877 513.996 248.734]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.50) >>
+>> endobj
+1444 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 215.937 289.158 226.816]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+1445 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 217.84 513.996 226.816]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.51) >>
+>> endobj
+1446 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 194.019 408.024 204.898]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction) >>
+>> endobj
+1447 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 183.967 513.996 192.943]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.52) >>
+>> endobj
+1448 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 160.146 354.206 171.025]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction) >>
+>> endobj
+1449 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 150.094 513.996 159.07]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.53) >>
+>> endobj
+1450 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 126.273 273.945 137.152]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Throwable) >>
+>> endobj
+1451 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 128.176 513.996 137.152]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.54) >>
+>> endobj
+1452 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 104.356 263.893 115.235]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+1453 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 106.258 513.996 115.235]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.55) >>
+>> endobj
+1456 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1460 0 obj <<
+/D [1458 0 R /XYZ 90 757.935 null]
+>> endobj
+1457 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1498 0 obj <<
+/Length 1210      
+/Filter /FlateDecode
+>>
+stream
+x��X[S�F~���[�I��E���ә���Rp����F�I�����MX�RC��I�շ�|�;3;o�'��?�D(��L.�;�O�ęL��a�(���t�
}�{�.�h�6+
w�0�:��y�n�f2�: ��
��x�Ɲt>8���)��`Ģ�Y�Usǣ
��s2�k��\�W�W�
��6�	�	�P��ϵ�G.�ä�'�K��W�bZ'�av^'�j<��Fd�y.��D�J
��s�4>�
�*��M;
�X���
}���h��]VLŵh\
A
�mU`�'�Ћpos���|*
��E�F����>�F"(�\!agD�8
D
��˗�0)f�df �V�I*4��h�XR�HcM.�?iY��l^�b�a�yk�r0W�2��RF
m.�g(]�Yۊ’����T�I�("�q��<i0M��^�G

A9�|�Mg�������T��mݞ~�ѦN.�ҥ|�T^.����T���=)�У�;"�ӂ�݈�}��H��6�G��JIa?ծLJ��
�!���=�FV ����OT�֋�݁�c��ϫ4�AQ-�]�ze�O$�3C�4���ࠉ�/E�EJ,���	Yw݈ B(`*A~��#�"�b�$D<�߶��A�I%�)���Ѱ\��!�6Q�X~
Ի�����"���‡��0�����}��-�ԕ\'�?�o�O�~/��n�}�}�an�k�~��P�P}k^S�Nz[��n���
�rU�8#[��VJW��#��)���A �6W�mp�*�&���=ˮl���*+��0���K���#�i�4w�>WP�-�M%�,Ÿq
�QPΫ�ޙ��Y�uxU� "*K��p4gӢs����l���~��{�U��+ۚ���;�aV����\W�hӸ�'BY��r���<]v�&ϗ��� OM���OVM+����Eb��R��~ͳMN���J�8��Y"sȮ
���)A��T�we�A���
�h_I���./�3j�~�����W1����!��P7Й'_��v)l�tm�I
H�b�[�w�g�eoE�#���Lu��Z��s��0�
S�C�=��A*>tީ��`E
���C[�oG�w������0�3��
�"�I�>��7
)�c��O"w�@�a�9���޽���5iIH�#�e�V㽽�r��-���Q��UU��9j[C��;�tG������s�66���ݥ�
+endstream
+endobj
+1497 0 obj <<
+/Type /Page
+/Contents 1498 0 R
+/Resources 1496 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1391 0 R
+/Annots [ 1454 0 R 1455 0 R 1479 0 R 1480 0 R 1481 0 R 1482 0 R 1483 0 R 1484 0 R 1485 0 R 1486 0 R 1487 0 R 1488 0 R 1489 0 R 1490 0 R 1491 0 R 1492 0 R 1493 0 R 1495 0 R ]
+>> endobj
+1454 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 720.047 286.03 730.926]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+1455 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 721.95 513.996 730.926]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.56) >>
+>> endobj
+1479 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 571.482 291.652 582.386]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Throwable) >>
+>> endobj
+1480 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 532.628 309.565 543.532]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+1481 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 493.774 325.112 504.678]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
+>> endobj
+1482 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 480.822 427.762 491.726]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked_3_01Checked__Number_3_01T_00_01P_01_4_01_4) >>
+>> endobj
+1483 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 467.871 371.747 478.775]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+1484 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 454.919 377.356 465.823]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+1485 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 416.065 282.038 426.969]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+1486 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 377.211 326.869 388.115]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Variable_1_1Compare) >>
+>> endobj
+1487 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 338.356 324.1 349.26]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+1488 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 299.502 324.677 310.406]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+1489 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 260.648 385 271.552]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) >>
+>> endobj
+1490 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 221.794 290.357 232.698]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+1491 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 182.939 327.447 193.843]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+1492 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 144.085 322.994 154.989]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+1493 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 105.231 383.317 116.135]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
+>> endobj
+1495 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1499 0 obj <<
+/D [1497 0 R /XYZ 90 757.935 null]
+>> endobj
+110 0 obj <<
+/D [1497 0 R /XYZ 90 705.352 null]
+>> endobj
+1500 0 obj <<
+/D [1497 0 R /XYZ 90 673.289 null]
+>> endobj
+114 0 obj <<
+/D [1497 0 R /XYZ 90 673.289 null]
+>> endobj
+1501 0 obj <<
+/D [1497 0 R /XYZ 90 590.456 null]
+>> endobj
+1496 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F11 446 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1524 0 obj <<
+/Length 993       
+/Filter /FlateDecode
+>>
+stream
+x�ݘ�o�(������څ �
�NZ���m��6{s�96I�98äY���'N;����ҽ���|�} ?, o{g���M�@
�`21a��O0�d�A�
0B���3 >�L�b�,�.]0A�<IU1
+ݰ ���}�I�[�Q�u�~C��w��Lֿ�q6u�%�+���}�!��g�Z��)�(���#�=O˿%į��������I����%�/�ҫ������~?��d:.��
�x2���x·��[�(OD�[�^%�DRa�)����#`�=c#�X�:��E^��u|�֬ʜ	}+��iQVk�H�t�
|BQ���J".���";/ق�)K��z[	��]�;�h�M3V�rx�FRv%����ZL�P��B�uN��vOM)�U8�g`�XL�! %�
��#�g�fQzn��O�B�g����d�t��(���_pGk����F�J4�%�E�{�����x:���lG
;��V�����x�Q�-�^��
6
p��W��e���~��,ӳwW#wzN��o"i"�s�N�h�'(�*���˄gj�����֑������M�Q��-W�q�q�h�+�ש蘱ڍ�2&iGN�H�&�%��
+��f
��.��¸[s��ʚR�
�����)�/đ�Jm��+Z$"���j����ӺfFņR�:���zo��X�j��I�N�����,�l0���A�D�CP��W%�dQ]vpj��\��ivzǞ#��ɸ{����f���YH �T��V�nr�E�čm��r�2ٳ4��
6/�: 0ľ}���%!=��;61��F +M
�єVU��b�K�ѬI�UU>���"T������kXIq��O�S [...]
+endstream
+endobj
+1523 0 obj <<
+/Type /Page
+/Contents 1524 0 R
+/Resources 1522 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1391 0 R
+/Annots [ 1494 0 R 1503 0 R 1504 0 R 1505 0 R 1506 0 R 1507 0 R 1508 0 R 1509 0 R 1510 0 R 1511 0 R 1512 0 R 1513 0 R 1514 0 R 1515 0 R 1516 0 R 1517 0 R 1518 0 R 1521 0 R ]
+>> endobj
+1494 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 706.991 288.673 717.895]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+1503 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 668.197 331.303 679.101]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+1504 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 629.403 391.626 640.307]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
+>> endobj
+1505 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 590.609 296.982 601.513]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+1506 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 551.815 346.237 562.719]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+1507 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 513.021 406.559 523.925]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
+>> endobj
+1508 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 474.228 311.916 485.131]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+1509 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 435.434 301.983 446.338]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+1510 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 396.64 331.861 407.544]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
+>> endobj
+1511 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 357.846 376.692 368.75]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare) >>
+>> endobj
+1512 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 319.052 312.483 329.956]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
+>> endobj
+1513 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 280.258 357.315 291.162]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare) >>
+>> endobj
+1514 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 241.464 327.437 252.368]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+1515 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 202.67 294.78 213.574]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+1516 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 163.876 305.301 174.78]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+>> endobj
+1517 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 125.082 360.28 135.986]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+1518 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 86.288 313.589 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
+>> endobj
+1521 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1525 0 obj <<
+/D [1523 0 R /XYZ 90 757.935 null]
+>> endobj
+1522 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F11 446 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1546 0 obj <<
+/Length 1332      
+/Filter /FlateDecode
+>>
+stream
+x��Yms�6��_���\-���t:�$w���R7��K��#�L1�����
+	�&���4v?!	��>��JZakba�s<��>��
+P�Q��� [�G��Dֵ-q�cl�|��t)��y�N�D��純�8
���o{Ĺ
|�|
t���
�H%���g��:׷؊`���
���f�,�2x&�U��66�Z�����*�	
�O�
�Z�F�Q�:.��e�j�`[�������c:
+K34�r�(A�2C�O�!�g
뺚p�Ǒ��53��8�i�N��l&�KL���7�g��6��R�<�“!
ڶJy��
�%aQ<�s�R%���~���2���y|������d=�=������E
�Z�_
�IVȨ��C��]���
��Y���\\�+�-pҬ4
9�E�q����(Dvk�����������
U?�IO�Ғ`D�z���mRTv���߂g�x.�q{l��~?�N\d�,�%dy���*��Q	KA"4{L���j�e��E�=C�$�J������-Ҩ�<���X�b
XQٵ���>2��0y�J��^$P�#�5B$5�7(��
���,,��K-Fe���G�3���XP�8%&
��q� AɎ�3�s�c`0��:),��;��=챊�}Z�СQ�\
�d9͢��]��0��T����l�{���diQ�bY<�1��~{8��ށc
Vg�!�=�*��v����Wp�+�������E�����ZAmY��
��s�D��} �G\�xU�՘

�ٳ<� @���:L�ͧq}�8<r��2�d�y���Mh�j��wZ�M�E�ː��;/�ii&sCμ6�An}h�7�Ɔ�e��]�8W
Q�/�����,NU��-P1�8{u���>Z= �.��;��}|��^j��Y
�@�F���Lm�dY(O
+�����0
sfd��T�B��6�F[[/5��b��(�fǦt
�R���9�â�j�i�OЍӧ�`6F7Np}�m��m��
���C���9���b��d����"$�<g��T��aO��l���p:��l	�of����FXȮ.
���@R����
dQ ����*!��fo�+��0�
�.��ot֨�h<6���$~��?T�Uj������o�V�N%3U��wL]���#��ݪ��5u#ŵ=+��Tpj^�y�<��m�nՀ>���= 
38w��F�tk��ՠ�Zw��������k�.�2�
��^��Z�
��9] ]��
+N���U�~U��
m��?Dܴ,�G��r�D�-�x������Io
�D�-Y���~t��&g���m: ���:7�
+endstream
+endobj
+1545 0 obj <<
+/Type /Page
+/Contents 1546 0 R
+/Resources 1544 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1391 0 R
+/Annots [ 1519 0 R 1520 0 R 1526 0 R 1527 0 R 1528 0 R 1529 0 R 1530 0 R 1531 0 R 1532 0 R 1533 0 R 1534 0 R 1535 0 R 1536 0 R 1537 0 R 1538 0 R 1539 0 R 1540 0 R 1541 0 R 1543 0 R ]
+>> endobj
+1519 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.544 720.235 273.474 730.141]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+1520 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 696.313 306.407 707.217]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+1526 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 658.082 320.793 668.986]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+1527 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 619.85 267.104 630.754]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+1528 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 581.618 302.527 592.522]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+1529 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 543.387 318.577 554.291]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+1530 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 505.155 345.685 516.059]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+1531 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 466.923 371.159 477.827]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction) >>
+>> endobj
+1532 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 428.692 389.978 439.596]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction) >>
+>> endobj
+1533 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 390.46 396.603 401.364]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruences__Reduction) >>
+>> endobj
+1534 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 352.229 416.529 363.133]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction) >>
+>> endobj
+1535 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 313.997 356.763 324.901]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction) >>
+>> endobj
+1536 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 275.765 419.706 286.669]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+1537 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 237.534 341.819 248.438]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+1538 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.084 212.265 160.373 222.171]
+/Subtype /Link
+/A << /S /GoTo /D (main_Bag98) >>
+>> endobj
+1539 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 188.343 312.788 199.247]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+1540 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 150.112 365.938 161.015]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+1541 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 111.88 303.478 122.784]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+1543 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1547 0 obj <<
+/D [1545 0 R /XYZ 90 757.935 null]
+>> endobj
+1544 0 obj <<
+/Font << /F70 402 0 R /F79 505 0 R /F56 367 0 R /F11 446 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1577 0 obj <<
+/Length 1137      
+/Filter /FlateDecode
+>>
+stream
+x��X]s�H}�WP�
5k�
4J�2YL�5����d�"�*�
`R����MF��FR;�O�As��ӗ{/�������'��h7�d"�P
ɞH&��AT%�=���"J�`�勏��J��u��21�)�'�[M�)��վ�Yv�[��.X"*m��F�Ѽv�Kc���0�̖��K��A�K7��5�C����AÞ;gI�l���F�/�"ҵ�TWUdo>�*]{G��S�4(�܂x��2̖q�
+���]g��Ǯ��
c7^��u�N?b����:���3��4tΓ��U�Ntd��y��Bk/�i#\�Ј���h�>
+�r"��X���Oh��q���˗�
(����/��I*�5Iǧ
+f�rӓ�
�B���ҋ�y��ꚉ0���!B5���LH[���2���ޠ��YÛN��\�_���X|�e����ݿ���^��#����|
��'&��
���T�Q��]#BN�
�
�*�hh�ux�}\)�H�=y����`�,[15��
3M�����"A?	ڴX&D�ΚHu� �xxV��a�N�P�&�
+��dn��s}1'��gn��!��|�`�X
0��h΂TL&�չ
 �Ȥ�05��i�3��m�#B>��4ϋ<{��Lǩ���
�~@b���./#6f��rS*�r����IO���
����'�Hy at Y �,u<(N
�SQ$�eT�_֛�[x{$�\�<
Q#dݒq�nQ�Z��l
�KG���"
�+�
`�>.S��qbMs

.�V�ݹ�X=۱�
�N�"`�汕�Ċ���=7��b��/���u�Y�I8و9#N�L@4ys� _�?��Tz`�p
C�,�t[x�gj
�	�S�^p��w�u=��ll!���4�����q��V�U�%�|
a͋]���B�8|��z�9����cT�Y��$��حp]b�J�K�Zy�G 
�o_�͡
jw��F�?��?
����\������T}��;�й�
T���`н��ftz��_��ؼ	3 “֡a�|�2�-�5��X%�|X��o�	bp���W�����
E�~�?q(���x
�YhP�ް��v�-�?x�P_�%-a����,M��F������(F^ڈ"��:W�@�
�$f�R�<(�b&�Y�A���
l�(�
+endstream
+endobj
+1576 0 obj <<
+/Type /Page
+/Contents 1577 0 R
+/Resources 1575 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1391 0 R
+/Annots [ 1542 0 R 1548 0 R 1549 0 R 1550 0 R 1551 0 R 1552 0 R 1553 0 R 1554 0 R 1555 0 R 1556 0 R 1557 0 R 1558 0 R 1559 0 R 1560 0 R 1584 0 R 1561 0 R 1562 0 R 1563 0 R 1564 0 R 1585 0 R 1565 0 R 1566 0 R 1567 0 R 1568 0 R 1586 0 R 1569 0 R 1574 0 R ]
+>> endobj
+1542 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.107 697.247 327.956 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_1_1IO__Operators) >>
+>> endobj
+1548 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.107 658.393 173.725 669.297]
+/Subtype /Link
+/A << /S /GoTo /D (namespacestd) >>
+>> endobj
+1549 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.731 578.607 251.782 588.534]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gae19dfe022c51c874d905e2a7c81c18f1) >>
+>> endobj
+1550 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.731 539.752 251.225 549.68]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga8458e58a5e857de11c35ce3076a70ab8) >>
+>> endobj
+1551 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.731 500.898 264.505 510.826]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gabadfeba0a415d210cdd6d7309365e800) >>
+>> endobj
+1552 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.731 462.044 243.105 471.972]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga7a529f51bfebdd4b3e69c866dced9bc1) >>
+>> endobj
+1553 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.731 412.231 213.038 422.158]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga79bd3696a302bb721ef8168fa5d650fb) >>
+>> endobj
+1554 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.012 330.492 348.737 341.396]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+1555 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.012 291.638 360.902 302.542]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+1556 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.455 252.783 421.554 263.687]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+1557 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 172.021 277.077 182.925]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+1558 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 156.081 272.923 166.984]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a3d884f787b884a260970cdef004fcc10) >>
+>> endobj
+1559 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.707 156.081 422.236 166.984]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a9f5dce9506b72773425c0504845d8e4e) >>
+>> endobj
+1560 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.021 156.081 513.996 166.984]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ab30277f972f730fe26f6cfc39098cc77) >>
+>> endobj
+1584 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 144.125 174.752 155.029]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ab30277f972f730fe26f6cfc39098cc77) >>
+>> endobj
+1561 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.741 144.125 316.27 155.029]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ae704947d33ff1b60a2475950d5f18ec3) >>
+>> endobj
+1562 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 128.185 252.44 139.089]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ad5e386c6a05c9656eac42fe9e2cdd8b5) >>
+>> endobj
+1563 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.018 128.185 411.442 139.089]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ac77955fc77a169347da8820b46c3247b) >>
+>> endobj
+1564 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.021 128.185 513.996 139.089]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a6c817c11198882f3864d8ace4ec326dd) >>
+>> endobj
+1585 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 116.23 176.774 127.134]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a6c817c11198882f3864d8ace4ec326dd) >>
+>> endobj
+1565 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.763 116.23 324.379 127.134]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a0d808c2d0d6514c33e06445d7aa34270) >>
+>> endobj
+1566 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 100.29 293.655 111.194]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8adeb9e65ceecfb8271acec22e00a226ca) >>
+>> endobj
+1567 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.258 100.29 464.796 111.194]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a4194f750c76fb24d6e5930e1696076c4) >>
+>> endobj
+1568 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [478.4 100.29 513.996 111.194]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a4e2e7513e80017645e24e2fc7bb6846d) >>
+>> endobj
+1586 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 88.335 245.406 99.239]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a4e2e7513e80017645e24e2fc7bb6846d) >>
+>> endobj
+1569 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.395 88.335 462.381 99.239]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a44e009680d1b9995b04ac762c6ef8057) >>
+>> endobj
+1574 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1578 0 obj <<
+/D [1576 0 R /XYZ 90 757.935 null]
+>> endobj
+1579 0 obj <<
+/D [1576 0 R /XYZ 90 714.318 null]
+>> endobj
+1580 0 obj <<
+/D [1576 0 R /XYZ 90 596.604 null]
+>> endobj
+1581 0 obj <<
+/D [1576 0 R /XYZ 90 480.161 null]
+>> endobj
+1582 0 obj <<
+/D [1576 0 R /XYZ 90 347.563 null]
+>> endobj
+1583 0 obj <<
+/D [1576 0 R /XYZ 90 190.995 null]
+>> endobj
+1575 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1658 0 obj <<
+/Length 1326      
+/Filter /FlateDecode
+>>
+stream
+x��Y]w�H}�W�pf%�|�7I���L&����(gD\��ٜ���Mc�Qgf��V�VݺU�4�1��l�y��
0:�+��xO�U��,@�2���C�	 ���O\S��	��y0B�Μf(y
+�VSE�UD���ax�?� �Ve�WE�D��o����
�E]c��"FD|�0n�
+���Qa�)|���!�x
��*�<Pd�x��2$Q�����
��I���������5���օi��]�����b�
��7

+U��k�I,�5!�u�pkoP]Ww��u������6�H�e�e�D,ɼ.픣��w=��[Wu��)�L�����p`�Z���P����mr��<��

��^�wv�k���yn���������������^;�XϷ�����T�<.!�&�zk��i
��
f��p.:�5|�@��г�#­�h���s
װ<N��Y�(��R�����G��hx�(R>v$
�"��Gz˰�8M��I1�y6�#�wO��ˀ�0FN �w
��0G(
��h6ς,���Z�����hl
+�H������
��'<�Σ͜K��=�mD�
�)J�
��Eh������P���5�;�E�%E��B�n���<LW�tX���>2�S�����
+��iFW]A���������I.M�}�
��:�^�ҳc�4�	g}�^�S��KP�n�c����Qc3�[�7�!ecʡl��;���\:F�����ԋ���zr at 4P��HxlHd.nA(5��ku)eZxi��_Uw��vb��X��m��0{��'A��q�a[�݈Bռ�}����N`�,�k�:����u�/�
=I�H�k�fח�^��Բ�6Gs�4(r�'>���,E�a�
���_&7QV��bϲ0
+�����!V�1�D����5�
Ǵ�c��������7�+Dҕ�����g�|:DC����=^�{$���oI;��xﱿ�S�鹾Vg�@]��$T����8&ɁDᘂ�M*ҏ�A;j	�r�����~�ʢ7!��۶8���د*
U�(
���};-�:��Z��Q�-׼���1�F-�B1������ Tq�ʮ���er�N�
��b?�%�<  Ɯ ���
9��
T˥|
+��:��[��I�*����6.�:�s�om�5�}�c?)["E��9�� ���{�]ߥ,ߘ(���Z�G�yY."��ž���vIn��2Lo�)J~#]����`:&���A���!��\S�ѻh�{�q}g����Š�Px�W �v�e�ӓ��b�R~>
g	f'����
����["�K+O�DEq�����њC6L������
+endstream
+endobj
+1657 0 obj <<
+/Type /Page
+/Contents 1658 0 R
+/Resources 1656 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1671 0 R
+/Annots [ 1570 0 R 1571 0 R 1660 0 R 1572 0 R 1573 0 R 1661 0 R 1607 0 R 1608 0 R 1609 0 R 1610 0 R 1611 0 R 1612 0 R 1613 0 R 1614 0 R 1615 0 R 1616 0 R 1662 0 R 1617 0 R 1618 0 R 1663 0 R 1619 0 R 1620 0 R 1621 0 R 1622 0 R 1623 0 R 1624 0 R 1625 0 R 1664 0 R 1626 0 R 1627 0 R 1628 0 R 1629 0 R 1630 0 R 1665 0 R 1631 0 R 1666 0 R 1632 0 R 1633 0 R 1634 0 R 1667 0 R 1635 0 R 1636 0 R 1637 0 R 1638 0 R 1639 0 R 1668 0 R 1640 0 R 1641 0 R 1642 0 R 1643 0 R 1669 0 R 1644 0 R 1645 0 R 1646  [...]
+>> endobj
+1570 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 719.912 337.66 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aca1ef0806f3a27d811b8f7352d53a21b) >>
+>> endobj
+1571 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [367.168 719.912 513.996 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8abb38c3a22ea0af9a40c568e55afa897b) >>
+>> endobj
+1660 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 707.957 196.141 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8abb38c3a22ea0af9a40c568e55afa897b) >>
+>> endobj
+1572 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.577 707.957 422.585 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a02347568b111860e1ac15154a1832252) >>
+>> endobj
+1573 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.021 707.957 513.996 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aaee8efad6ea4263d7aa15cb0db2497ea) >>
+>> endobj
+1661 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 696.002 184.724 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aaee8efad6ea4263d7aa15cb0db2497ea) >>
+>> endobj
+1607 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 680.062 308.898 690.966]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ae0c660bfcbcd3d10c3e764e22f41d0a1) >>
+>> endobj
+1608 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.958 680.062 511.506 690.966]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a057025d0ff550a2226a0a1273c84b4f6) >>
+>> endobj
+1609 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 668.107 302.801 679.01]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aa1bf7bec2cb0d949e45c3cd0e25874a6) >>
+>> endobj
+1610 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.789 668.107 490.804 679.01]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a5912e00d1de38a643d48af1f0e5dd35f) >>
+>> endobj
+1611 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 652.166 283.433 663.07]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8afda2f32e2fc3f61357ce0d9d7813f5fc) >>
+>> endobj
+1612 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [312.493 652.166 511.506 663.07]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a930a62d56d7231cdb1ed57e1d3eff0f7) >>
+>> endobj
+1613 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 640.211 300.599 651.115]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8abd1bad185f4622d07b171767dafc78b6) >>
+>> endobj
+1614 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [303.588 640.211 482.675 651.115]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aa0f28596ac7d4a43766fab174c28ccab) >>
+>> endobj
+1615 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 624.271 289.481 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a261922c7bb53bf71459671df868e55da) >>
+>> endobj
+1616 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.234 624.271 513.996 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a0905d51325862cb4db00635875efcff8) >>
+>> endobj
+1662 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 612.316 195.853 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a0905d51325862cb4db00635875efcff8) >>
+>> endobj
+1617 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.03 612.316 467.223 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a202263943c451b9fdfe003b2bc8d0b1f) >>
+>> endobj
+1618 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [478.4 612.316 513.996 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aceefc8c6d25b8e2ae5e538a9f793516e) >>
+>> endobj
+1663 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 600.361 304.255 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aceefc8c6d25b8e2ae5e538a9f793516e) >>
+>> endobj
+1619 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.67 561.506 337.141 572.41]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
+>> endobj
+1620 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.176 561.506 511.506 572.41]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899a0edf84fcb94023ff4a7183bf3f8dace5) >>
+>> endobj
+1621 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 549.551 260.748 560.455]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899ac7753e1dd51e1b7b3fdfafa9f8332370) >>
+>> endobj
+1622 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 510.697 321.36 521.601]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+1623 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 494.757 260.241 505.661]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea3e4424ce8e7ebe86e125541b561fc300) >>
+>> endobj
+1624 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.833 494.757 453.808 505.661]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea556cc08f48e769b9c15bea83d5d883a1) >>
+>> endobj
+1625 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [478.4 494.757 513.996 505.661]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aead8db7109fb4bb50360b05800dd245416) >>
+>> endobj
+1664 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 482.801 277.008 493.705]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aead8db7109fb4bb50360b05800dd245416) >>
+>> endobj
+1626 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.996 482.801 470.55 493.705]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea94cf20719046117aece5acba61dcae4d) >>
+>> endobj
+1627 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 466.861 328.873 477.765]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea079e4b80f17b0095497103a52cffa3ab) >>
+>> endobj
+1628 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [342.61 466.861 513.996 477.765]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea8191bdbdcd041a9859ed465d16062ab1) >>
+>> endobj
+1629 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.926 416.052 358.474 426.956]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+1630 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.021 416.052 513.996 426.956]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a71c9b0459dc8ba8cc0c8178b6cf4f017) >>
+>> endobj
+1665 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 404.097 285.356 415.001]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a71c9b0459dc8ba8cc0c8178b6cf4f017) >>
+>> endobj
+1631 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.003 404.097 513.996 415.001]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1ab39e3c667ce455313f8ff578722af2e9) >>
+>> endobj
+1666 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 392.141 180.102 403.045]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1ab39e3c667ce455313f8ff578722af2e9) >>
+>> endobj
+1632 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.09 392.141 386.925 403.045]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+1633 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.481 353.287 363.362 364.191]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaac82e7e0179442ef589f2fc61302d654) >>
+>> endobj
+1634 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.021 353.287 513.996 364.191]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaac82e7e0179442ef589f2fc61302d654a324bf568397fdfc332a4c06e7a4facf5) >>
+>> endobj
+1667 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 341.332 222.143 352.236]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaac82e7e0179442ef589f2fc61302d654a324bf568397fdfc332a4c06e7a4facf5) >>
+>> endobj
+1635 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.132 341.332 412.907 352.236]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaac82e7e0179442ef589f2fc61302d654a0e1a601a53491f60c89282fde55b5352) >>
+>> endobj
+1636 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 302.478 374.78 313.382]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd) >>
+>> endobj
+1637 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 286.537 258.537 297.441]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fda591549aad4d57135c2dcc6fd73daf554) >>
+>> endobj
+1638 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.975 286.537 420.582 297.441]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fdac58a6ff6765224e937fefbadf45a4860) >>
+>> endobj
+1639 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.021 286.537 513.996 297.441]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fdad09cef587030649e808d0e255b83d1ef) >>
+>> endobj
+1668 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 274.582 187.852 285.486]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fdad09cef587030649e808d0e255b83d1ef) >>
+>> endobj
+1640 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.841 274.582 340.449 285.486]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fda405c8934c8b3f4d8c5ba0b21b674e559) >>
+>> endobj
+1641 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 258.642 268.499 269.546]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fda9a59b7fa00c2cf8df942badc9c414aef) >>
+>> endobj
+1642 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.609 219.788 415.108 230.692]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
+>> endobj
+1643 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.021 219.788 513.996 230.692]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga61102bed0c7780ab782fcc8cd57a384aaafd3e20e35e86cff976d68ffc4283c32) >>
+>> endobj
+1669 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 207.833 202.228 218.737]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga61102bed0c7780ab782fcc8cd57a384aaafd3e20e35e86cff976d68ffc4283c32) >>
+>> endobj
+1644 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.217 207.833 438.391 218.737]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga61102bed0c7780ab782fcc8cd57a384aaf4462ec77078de4bbabb446cf61e5123) >>
+>> endobj
+1645 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.12 168.978 400.085 179.882]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga84cc2bd35e1437f8df3be984dd1f4638) >>
+>> endobj
+1646 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.021 168.978 513.996 179.882]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a832f214eaa5bc2ce48e1e2d67473cf10) >>
+>> endobj
+1670 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 157.023 245.117 167.927]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a832f214eaa5bc2ce48e1e2d67473cf10) >>
+>> endobj
+1647 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.958 157.023 511.506 167.927]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a7869fdfe9b1ace668a0a7b1d2faba812) >>
+>> endobj
+1648 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 145.068 344.583 155.972]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a7b85b6b4c644857c3809eeef6aa35dbb) >>
+>> endobj
+1655 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1659 0 obj <<
+/D [1657 0 R /XYZ 90 757.935 null]
+>> endobj
+1656 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1729 0 obj <<
+/Length 1215      
+/Filter /FlateDecode
+>>
+stream
+xڽW[s�H~�WP�
5���Kޒ�̚��J�U���HdV���J���t��&F�ݧ���ܾ�\�ғ��/�k���lb�F����(�X2
��J$'�
d
�N0��ͧOJ]�X�x���{
+��
�a���lk��)��͹���ڏ-X"�Tj"S��?�=|�R �F�mI���L�U
֩4��Q��B�i)56,%�@�fI��!lPn�WU����;�N��0^��9�'}�
�̏�B��3�
$ӗI��ۉƩ��\^�E
D�ی�m���׷d[H7l�N(�un��z
���^�m�������o{ab�Q�w���r��"���l*������^����s Y���٣��Z�f�y�
|
+4#gؾq�a�s�Bd������O�\!�l��mz�b
S3t0C�Q��'X ���
+�<J⌟=&)��(���<���Of�E�W�^�k;*�TWUd�*��	9'�4
�n�
��4OÙ;kٶ�B��	:8=˴۠�J�]�s�jԾ���,l�G�Fm�}���m��jZ�g͛����@���dY�H90#�I
��O�k���S���f��9L
������D�A�
&��z�����=�H�>��]
 Rw�H�!"�Ub�~߿���ݓغ5��5aK��"T��+��*�b�D�
=��Q0����C%ι��$M��K�@�f����g�z֢M�6|�eb��;�<��w�b4���坈�7�� �ݐ]�9�,b�>�m�n�����w���P�*�W<�$b�� 7�,�kȼ��s�R�`�
z����Av5�6�܃p\p3��4�v�
���H�m.��,� �T<E�9�0�y|�'�Y��Z_lK�V� �e|]Bo�C!0+L�H���ɣP��y�+s��/`o`��(a�$�龶@s�o U6j�]
��A#"�
�����[��!mx�?Y	SL�Ձ�{�y�x�+������M׈�+� �X�j&�b
p��&Jŧ+�	*_
��5
���v�n�C~����C�L�>�g��20���%�w��x
���Q�W��g~�W�O�1�G�o�v��a��
#�oy ���S��x�#����j@#�GW��S��?�P�(�6�Rp���B��,LU(�E2v�xQ��WL�/"��xAX���*w����T>��*��a-�T��D4�I��/��r��
-�h��(o����n_ܐe�$���*
3Q++ec'��U�6�
+endstream
+endobj
+1728 0 obj <<
+/Type /Page
+/Contents 1729 0 R
+/Resources 1727 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1671 0 R
+/Annots [ 1649 0 R 1650 0 R 1651 0 R 1652 0 R 1731 0 R 1653 0 R 1654 0 R 1718 0 R 1719 0 R 1732 0 R 1720 0 R 1733 0 R 1721 0 R 1722 0 R 1734 0 R 1723 0 R 1735 0 R 1724 0 R 1725 0 R 1726 0 R ]
+>> endobj
+1649 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 719.912 309.177 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+1650 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 703.972 297.62 714.876]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2abeee33de6f8542b0228161d044640eaa) >>
+>> endobj
+1651 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.107 703.972 470.914 714.876]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2aa57b0c1a34eced57ca8437eea92a4328) >>
+>> endobj
+1652 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [478.4 703.972 513.996 714.876]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2a0f182c5824807f7bc66d2d2033810feb) >>
+>> endobj
+1731 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 692.017 274.328 702.921]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2a0f182c5824807f7bc66d2d2033810feb) >>
+>> endobj
+1653 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.807 692.017 497.778 702.921]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2aeafcc7ca16bda73dc6b0f7deaf9470dd) >>
+>> endobj
+1654 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 676.077 354.985 686.981]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2ae0c0414fd69996a2edb8ea476ab236e1) >>
+>> endobj
+1718 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [168.924 637.222 364.478 648.126]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa7159523299c8f193184a1bda20d6044) >>
+>> endobj
+1719 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.021 637.222 513.996 648.126]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa7159523299c8f193184a1bda20d6044a7fee51bad737377323f3d7ddb036a74e) >>
+>> endobj
+1732 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 625.267 283.214 636.171]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa7159523299c8f193184a1bda20d6044a7fee51bad737377323f3d7ddb036a74e) >>
+>> endobj
+1720 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.567 625.267 513.996 636.171]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa7159523299c8f193184a1bda20d6044a3b60d6dfe175b3a5d48361ac121f23ae) >>
+>> endobj
+1733 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 613.686 162.558 624.216]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa7159523299c8f193184a1bda20d6044a3b60d6dfe175b3a5d48361ac121f23ae) >>
+>> endobj
+1721 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.818 574.458 366.69 585.362]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gadf9d6f17d8974c81e3499f170e7762a2) >>
+>> endobj
+1722 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.021 574.458 513.996 585.362]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2a53f4353b82f1a10a08b1e756bb7c84ad) >>
+>> endobj
+1734 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 562.503 286.532 573.406]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2a53f4353b82f1a10a08b1e756bb7c84ad) >>
+>> endobj
+1723 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [306.845 562.503 513.996 573.406]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2ab2bc77b49f9450faf5b5f8ca5374421d) >>
+>> endobj
+1735 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 550.547 162.558 561.451]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2ab2bc77b49f9450faf5b5f8ca5374421d) >>
+>> endobj
+1724 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.546 550.547 406.63 561.451]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2a78fc3e83d58f3eb97a8041b600870a05) >>
+>> endobj
+1725 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.892 469.785 469.663 480.689]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga00a906832c41c42a70a5c9d194e07a7d) >>
+>> endobj
+1726 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1730 0 obj <<
+/D [1728 0 R /XYZ 90 757.935 null]
+>> endobj
+1736 0 obj <<
+/D [1728 0 R /XYZ 90 488.759 null]
+>> endobj
+1737 0 obj <<
+/D [1728 0 R /XYZ 90 432.465 null]
+>> endobj
+1738 0 obj <<
+/D [1728 0 R /XYZ 90 361.809 null]
+>> endobj
+1587 0 obj <<
+/D [1728 0 R /XYZ 90 339.497 null]
+>> endobj
+1739 0 obj <<
+/D [1728 0 R /XYZ 90 339.497 null]
+>> endobj
+1588 0 obj <<
+/D [1728 0 R /XYZ 90 277.862 null]
+>> endobj
+1740 0 obj <<
+/D [1728 0 R /XYZ 90 263.292 null]
+>> endobj
+1589 0 obj <<
+/D [1728 0 R /XYZ 90 205.751 null]
+>> endobj
+1741 0 obj <<
+/D [1728 0 R /XYZ 90 191.181 null]
+>> endobj
+1590 0 obj <<
+/D [1728 0 R /XYZ 90 131.583 null]
+>> endobj
+1727 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1761 0 obj <<
+/Length 1905      
+/Filter /FlateDecode
+>>
+stream
+xڽXݏ۸�_!��q1W$E}l���s�4��n���`�2m�'K:}����
Iɲ�M\��!9��g���9?O�.&W�CωI
��Yl��s€���X;_܈��z������tƄ�~����[eF�y���Lp�<t1�u�a2_L~�P8�s��*Br�$�ɗ_=g
��Gx
9Oz����6s>O�1񾋐q��GH�-ʿ��W�c�E���q�������'Cx�J_!«�"����OI
r���Y^7U�oM?)�F�y?nv�CL�)����	
�LiHf�~T�99d��i@���Z��n[L���2_�1�Q�f�#&k�
��<6rp�s�v��*�HR٨��l
+Chty������FT���_kM�'ԏ@�da�Q��TI�N���˞��p�t��]h`"p7E��
��[l
�ȲHH�1�ĂD��18�+��t���
£�ۑ��VE�3 �>��= ��	o
���>���38^o<`C
Ckj�L��P�c�
���/�1G��=�"������
@�!Y)�󛪊�#L}>�\�f\V�R�N�9	����qE�
���dz���/��K4ŃXs�!�~ј�KbR?&>�?���9���c��K�t�
F\$
��
�(��1h`�RrpUO\.�%֥,��#��\�y*3Ղ�0�	
OG^Tg�} *�h���J���q��@�8�n��b��s��jcx�+�v� �7ڻ��|��x��O��po�~S��RD��ˇ)��"{ީu%��U%����u
+�`�X"��)ߦ��0na�6�X��r2��m%3�����m:�U
+�V�P}B�K�ơ�㨿�:(<���߫}Q=/͞�����iWύ�\|L�7����oon��ſ
���P�k�_����>\�:ͬ��ܟ�3e��'��{(�q�c��_��:
�Q�Z�z7�\
��X��m�-�{
+Ӧ�2S�~����cK�d,���p�آJ����

��
�,͕�L_s��d�
�1(0B����r��a=\ԇMGܪ\U�)*C�5�����6_���O]!Hn�*�ׅi���q�w�T���ܴ
��2�kɮ 7s���m��(6
�E�3�a�����
��H�Q��o���	
�Iᠱ
Y�a�����iƜ/��.+���Y��+u�_�s��}B��Dt��+c�xݗ��@�S����jk�+�z���w����Tu���_�~�>��d7�T�P8�V���[i��݄�����ٍ���{_���o�$��|�~
\B���8<��?�Z a�l���
+|ݙ|Ƅ��|�=w��Tr���2����5���T���06"�6k�G��K�?ȉ�#�1��Y�}��8�����)s�
=��_p Xx�S�oQ���������1���(�5<��a�K��n�ZfX\Y��C=������ϖg�`ibP'���;���x��N�z����8�c�����
+�y��<���j�9�����MQڽ3!�0�ç�=�("���
��� 1���fr��m��ƢO[ЖI֮q_ �?����h��̑:V�T$h��@wB�33��7�iWiS���
�A�m,�ڒ�9w��lL��"}%s(�*���Xĭ�Xh�tl�i�*Y�X(����0<S��x���ʷܬ'B//L��+ ��+��qӍ���O��j�(������XXh�^x^�w>�
�s��4ۮ~�/�w�/�p��*{T5��cE]���u�l���w:��MGmtv۫
��}�Y���[��F����6�!�/������aeX�]h,Ԋ
vj�������ZU�
+�ZY�d�v%9z����s��>�.:�~s���':G
�҈/��]Ӕ�WWOOO$�I��eE��,��#���L)����kfx�
m>�����M
+endstream
+endobj
+1760 0 obj <<
+/Type /Page
+/Contents 1761 0 R
+/Resources 1759 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1671 0 R
+/Annots [ 1756 0 R 1757 0 R 1758 0 R ]
+>> endobj
+1756 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [131.844 286.556 188.471 297.46]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+1757 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.11 254.675 262.491 265.579]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+1758 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1762 0 obj <<
+/D [1760 0 R /XYZ 90 757.935 null]
+>> endobj
+1763 0 obj <<
+/D [1760 0 R /XYZ 90 733.028 null]
+>> endobj
+1764 0 obj <<
+/D [1760 0 R /XYZ 90 587.941 null]
+>> endobj
+1591 0 obj <<
+/D [1760 0 R /XYZ 90 562.75 null]
+>> endobj
+1765 0 obj <<
+/D [1760 0 R /XYZ 90 562.75 null]
+>> endobj
+1592 0 obj <<
+/D [1760 0 R /XYZ 90 503.018 null]
+>> endobj
+1766 0 obj <<
+/D [1760 0 R /XYZ 90 488.447 null]
+>> endobj
+1593 0 obj <<
+/D [1760 0 R /XYZ 90 428.849 null]
+>> endobj
+1767 0 obj <<
+/D [1760 0 R /XYZ 90 414.279 null]
+>> endobj
+1768 0 obj <<
+/D [1760 0 R /XYZ 90 193.281 null]
+>> endobj
+1594 0 obj <<
+/D [1760 0 R /XYZ 90 169.066 null]
+>> endobj
+1769 0 obj <<
+/D [1760 0 R /XYZ 90 169.066 null]
+>> endobj
+1759 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1773 0 obj <<
+/Length 1460      
+/Filter /FlateDecode
+>>
+stream
+x�Ř[w�8���~[8-B�-_�6$��L��=

+�)��/�f?�JH��������h�3
TV
+TnZ�V�ڄ�
lC5�I��b`)�R�Ҷ �t����ݻNWŰ=t�U��	�����L�lF���wZ?Z�����԰��[_�AeI�R �lK����]���Z���[P£��
 �S5 2tN�R�DnF;��(�kjJi
U�"
@��
g�۱�G���56JaX�J��}�<�� 
������F$N��ڋ�o���߸�;_P����su��r��&>M�f��9ӄ,���H��
*cv��v����
+./���do�i��>M72nP�q$k����c^�
���|�F�|��%*(����\�þD������~1'o�FRS�ۮ�k�O�Ł@��@Ӧ���
2>>W��C�x�?\wW�7��:��U��7��$��a*�	���W��KĠs�Xb� :��f��u㶡Ӳ2[.�ΔU���c>����
��s
�
#��W��o�H�(s�W��NQ^���>C��3�"�ƙM��F��
\�Ia�&��_lT'���zn<�N���A�֏������佌����n��
�iV��Dz�?i����9����,"r�l�H/�#C�Uo�N�ff��#J{
��VSt4ؾ
I6�B!���=�oO��x��#M8��l:��b�E
��LwI���(�E�!/� N"����OR�<���?��� 
�^����+�>���D�C
U��]^]�6

���, �m�����#b}v;*]���p��tBu��
+dۥ�� �����[*DǗ�(�
������wW��� ����EU���Ɋ?\��4��n��n˜�'< :
�$@�P��-�Fo�~ɑ@��K1�>�d�A�_��m���$�%�kř���%�ʴ���T'-���.e VA��%A��ha�����b�Z�L�X�v�	�Ք
6����N!a�HvO�D��RE
��r�4?�G����t�b��s|�h�Ln�K䓥�f9���#��<�3��f��&g�M
����f.`�^NW���?~�O�#�)��Cs� !��t^�&[D6�$y���A�"�*�/][y��@]OB�͇�t�F�;���_��2rgCo
�����Y��uɬ�&>���Y1
��U��'�LsCm�X�r�%�p
8�������q�6
5C��=*x�����s����AIaQL*��>�����s������k�.�
TNS֢��K=�jx���o�-R�]z9&�*��7,`#�����Ny
&#K4�
0�k�c�^L��6Ӭ��s��iL��X\
+5޺AꮋsZ�6/)��1�����"L�v}W���L�j��
�y�zN��E���n�"T%�xIo�Y��}T��,�ڧ0�a��XD�4������
��&
+endstream
+endobj
+1772 0 obj <<
+/Type /Page
+/Contents 1773 0 R
+/Resources 1771 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1671 0 R
+/Annots [ 1770 0 R ]
+>> endobj
+1770 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1774 0 obj <<
+/D [1772 0 R /XYZ 90 757.935 null]
+>> endobj
+1595 0 obj <<
+/D [1772 0 R /XYZ 107.713 708.112 null]
+>> endobj
+1596 0 obj <<
+/D [1772 0 R /XYZ 107.713 692.171 null]
+>> endobj
+1597 0 obj <<
+/D [1772 0 R /XYZ 107.713 676.231 null]
+>> endobj
+1598 0 obj <<
+/D [1772 0 R /XYZ 107.713 660.291 null]
+>> endobj
+1599 0 obj <<
+/D [1772 0 R /XYZ 107.713 644.351 null]
+>> endobj
+1600 0 obj <<
+/D [1772 0 R /XYZ 107.713 628.41 null]
+>> endobj
+1601 0 obj <<
+/D [1772 0 R /XYZ 107.713 612.47 null]
+>> endobj
+1602 0 obj <<
+/D [1772 0 R /XYZ 107.713 596.53 null]
+>> endobj
+1603 0 obj <<
+/D [1772 0 R /XYZ 107.713 580.59 null]
+>> endobj
+1604 0 obj <<
+/D [1772 0 R /XYZ 107.713 564.65 null]
+>> endobj
+1605 0 obj <<
+/D [1772 0 R /XYZ 107.713 548.709 null]
+>> endobj
+1606 0 obj <<
+/D [1772 0 R /XYZ 107.713 532.769 null]
+>> endobj
+1672 0 obj <<
+/D [1772 0 R /XYZ 107.713 516.829 null]
+>> endobj
+1673 0 obj <<
+/D [1772 0 R /XYZ 107.713 500.889 null]
+>> endobj
+1674 0 obj <<
+/D [1772 0 R /XYZ 107.713 484.948 null]
+>> endobj
+1675 0 obj <<
+/D [1772 0 R /XYZ 107.713 469.008 null]
+>> endobj
+1676 0 obj <<
+/D [1772 0 R /XYZ 107.713 453.068 null]
+>> endobj
+1677 0 obj <<
+/D [1772 0 R /XYZ 107.713 437.128 null]
+>> endobj
+1678 0 obj <<
+/D [1772 0 R /XYZ 107.713 421.188 null]
+>> endobj
+1679 0 obj <<
+/D [1772 0 R /XYZ 107.713 405.247 null]
+>> endobj
+1680 0 obj <<
+/D [1772 0 R /XYZ 107.713 389.307 null]
+>> endobj
+1681 0 obj <<
+/D [1772 0 R /XYZ 107.713 373.367 null]
+>> endobj
+1682 0 obj <<
+/D [1772 0 R /XYZ 107.713 357.427 null]
+>> endobj
+1683 0 obj <<
+/D [1772 0 R /XYZ 107.713 341.486 null]
+>> endobj
+1684 0 obj <<
+/D [1772 0 R /XYZ 107.713 325.546 null]
+>> endobj
+1685 0 obj <<
+/D [1772 0 R /XYZ 107.713 309.606 null]
+>> endobj
+1686 0 obj <<
+/D [1772 0 R /XYZ 107.713 293.666 null]
+>> endobj
+1687 0 obj <<
+/D [1772 0 R /XYZ 107.713 277.725 null]
+>> endobj
+1688 0 obj <<
+/D [1772 0 R /XYZ 90 265.606 null]
+>> endobj
+1775 0 obj <<
+/D [1772 0 R /XYZ 90 251.036 null]
+>> endobj
+1689 0 obj <<
+/D [1772 0 R /XYZ 107.713 149.893 null]
+>> endobj
+1690 0 obj <<
+/D [1772 0 R /XYZ 107.713 133.953 null]
+>> endobj
+1691 0 obj <<
+/D [1772 0 R /XYZ 90 121.834 null]
+>> endobj
+1771 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1780 0 obj <<
+/Length 1113      
+/Filter /FlateDecode
+>>
+stream
+x��W]s�8}���ma:�%@��dܬ���M'�f;
��Y�
+�����%
�46��L�@B��s�νX[kX��\���{k
��4�A��0��I4���."F�`���wI�>
+��&\s9�/
¥�����1��:��C kd�:ȱ��L:w_����F��jO�U�f�<cm����'�Œ�"Y�%O7�$63��"	��ab=���|U��(�/�b{q1�qXEY,��}
ֽ��
@a�k�9�D�
��rgU�]�5�#�]�<�i]� F]�e 
yVYq�0}v�
� [S�aj*Eh�
����|���s
�";n�Xr��c�M̮��ȬmK��`�����S��B�]#�xY*��0=)-_"N�A�]� ��˷��O��d(������|�7(����lN\���6\<��i�e�H�!�[�CF�M_���9�=7hN���u�=?F�c[5�IV�F��\
+�$Y�p����p�%y̿G�6��C���A*-
Bua%a�oVYw)<�_�&fӑ��v2
���j:������I�@X�n
W衬�˰T
?���Y�[�lϨ~N+
+����pG�-MS

�Ѵ=]2ʳ����
+��㍂�{��M%�6��a
�o�X�Z����"(z>RE��:��ۖQz
����O��ɤ
��
���p
���0�y%�?��
g+~�̜ee��J:ف9���_Q
��d8
�)��pz�cD��6���(�H�2�)^V|u��K
������1�C�=��{+>/��MX?�{�4.�M��@\׼|ñ�m΃��z��
�k�F�b��=��� !����� �8���f��>��Kɗ�i��L���kuU�_w����0ϋ
r
�Mק�����v��#�Y���/��"pO��򠝐Z7�
+)��3zUv
���;y��
���9�m��
_�Yf{<X�Sx�
������
1O�
�`�/�b�+���^�E
q��z�~� ���t�/l���u9̈́�EWPú-��D���Sɋ�DsS�=����/L�7�
+
+i_�2��
Q�2D��Z���(/�-���aF�鱪�^���	-K�I��@Q����2�^`w
����8�
+^�?L&���"��^TČ
+endstream
+endobj
+1779 0 obj <<
+/Type /Page
+/Contents 1780 0 R
+/Resources 1778 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1671 0 R
+/Annots [ 1776 0 R 1777 0 R ]
+>> endobj
+1776 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.713 188.171 294.501 199.075]
+/Subtype /Link
+/A << /S /GoTo /D (main_Approximating_Bounded_Integers) >>
+>> endobj
+1777 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1781 0 obj <<
+/D [1779 0 R /XYZ 90 757.935 null]
+>> endobj
+1782 0 obj <<
+/D [1779 0 R /XYZ 90 733.028 null]
+>> endobj
+1692 0 obj <<
+/D [1779 0 R /XYZ 107.713 641.382 null]
+>> endobj
+1693 0 obj <<
+/D [1779 0 R /XYZ 107.713 627.038 null]
+>> endobj
+1694 0 obj <<
+/D [1779 0 R /XYZ 107.713 612.694 null]
+>> endobj
+1695 0 obj <<
+/D [1779 0 R /XYZ 107.713 598.351 null]
+>> endobj
+1696 0 obj <<
+/D [1779 0 R /XYZ 107.713 584.007 null]
+>> endobj
+1697 0 obj <<
+/D [1779 0 R /XYZ 107.713 569.663 null]
+>> endobj
+1698 0 obj <<
+/D [1779 0 R /XYZ 90 561.535 null]
+>> endobj
+1783 0 obj <<
+/D [1779 0 R /XYZ 90 547.683 null]
+>> endobj
+1699 0 obj <<
+/D [1779 0 R /XYZ 107.713 450.532 null]
+>> endobj
+1700 0 obj <<
+/D [1779 0 R /XYZ 107.713 436.188 null]
+>> endobj
+1701 0 obj <<
+/D [1779 0 R /XYZ 107.713 421.845 null]
+>> endobj
+1702 0 obj <<
+/D [1779 0 R /XYZ 90 413.717 null]
+>> endobj
+1784 0 obj <<
+/D [1779 0 R /XYZ 90 399.865 null]
+>> endobj
+1703 0 obj <<
+/D [1779 0 R /XYZ 107.713 302.714 null]
+>> endobj
+1704 0 obj <<
+/D [1779 0 R /XYZ 107.713 288.37 null]
+>> endobj
+1705 0 obj <<
+/D [1779 0 R /XYZ 90 280.242 null]
+>> endobj
+1785 0 obj <<
+/D [1779 0 R /XYZ 90 266.39 null]
+>> endobj
+1706 0 obj <<
+/D [1779 0 R /XYZ 107.713 152.809 null]
+>> endobj
+1707 0 obj <<
+/D [1779 0 R /XYZ 107.713 138.465 null]
+>> endobj
+1708 0 obj <<
+/D [1779 0 R /XYZ 107.713 124.121 null]
+>> endobj
+1709 0 obj <<
+/D [1779 0 R /XYZ 107.713 109.778 null]
+>> endobj
+1710 0 obj <<
+/D [1779 0 R /XYZ 107.713 95.434 null]
+>> endobj
+1711 0 obj <<
+/D [1779 0 R /XYZ 90 89.441 null]
+>> endobj
+1778 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F100 1390 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1791 0 obj <<
+/Length 1991      
+/Filter /FlateDecode
+>>
+stream
+x��Xݓ�8��ۙʢ���y�dHj�&0ǐۇ�e@�+��l���[-�a�ٺ�Uݓ%�����I�Z[���{?��|
��ȗ�5]Y�_0O
+k����!����޽����8[�㵢�}V�b/pN`�a���/������S�%4W/`��Y�m����Z��/gNZM��\��7��z���J�q�k$d.
��*�oI�Ǿ�v\l��c_r;O��,��C2/��x{�>�gK���kU̦����;5��]���J�Uq��jt���[bpk�
+I�{Z�Z�|E�9
D�N�
φi��#K�' O0_͞��q�1�R-Z�X=�p�6��|�Y_��x�+�?�-H���KRNds8�u�<0�,�|k %s
#�쮊�ʋ���
pO��L��!�$_FO��Fû��;F�"�F��
Y���Z�y��[���L����d <����39�0���0�<
M��!
\����Q-����}بB�rF��{68�/=�;�����{UҾ��U�1�p7�u<�Bu� ����<[���
H$��3�Y��]�����M`��2O���51
+��������o�|?j'a��p�
���7Ν
��+I�c2��:
Lh�M��O��LM��(5����>������
�:�u�����
�	�ΐ1��q���N�})�x�}(�2�$H^��t
`^8��K�˰���{�IJ"ڪ83�jW��
+
�k1E�m]�����R`�~0O*�U�H��@��g�r9jՉL�}�Cl@]���d�/�iN„m[��R��H��|l?!��,
+��0_x/��3��OD��I��]$�E�������+%[Ȏ�
+,t5���h‡*�v�O+��ߑ�6J(�2
+ML�2�rw���܊�A����5g��

+ئ��g�2�a.5
$M'f9�
�e5)j�:Λ�@~�T�_�z�2
o�r�k~	A�n�IPLV7���z���.�6���k���RI�/�J+��ִ�4��-DzR[�9W
�8��㟺��l0,��������<�ؚa�����4@ �-t�?|���g4�
̗z��B� ¥E�-T�p;$ՆFF#�Ā9
�8!X-Y\��"h/����=֘P��Ưi���,�'iR
iM��&2�Ú:`0Z�ʲ/TM�r�U�pg�J�T�ʆ�y;F��R���e�m����>5?Lݫ%���!t�
x�B���8~z��0|��)Cr��̏��./��)6
7r��"��
�J�o����.�m�
+M�	�
k�f��K�q��9pŪ�MꀄŹZQ:"AE�
+w� ���d�:[�&�M2 ����,V�}����!M�-��)|�Q�t��
�_��m|����!�up4�בvBX(�)��efj��R��-]4��l7x�P��|v;;a`㾿	z��z'$�����
WKCm4L
+B���S�5�
l�oÌ.��Q�q� h
avGy:��� . S��q�G
EڢK2ٺ�,�w\\0)р�׀��E:��͗�kz���|�
�j���(h�6�tԣ��� �
:�mx<�ZMC����y�@&2�*m]{ղ��)��j�Q0,�ܞ(�4�Z�]�f��4����� Fm��`4��t6�^���\y���Y�zH|	Pp���d,҄����R�h�/�Z��q��N]��.ux�F�����r2
��xQ�eoYC��	
�^�65r	h!�Z����w���2x�]O�����l2|����~<�����k^p���e�=��Q��I�^��Y��a/Án��%�B��)�Z�d��[�e'�Q��f#��<�@�˰�9
���?W�:�s���h����ٕ��F��]4�_q��E"|�#�~�ß.��‹��-Û���i�u�4/��8i��e��q�9��qJ�߸�
95z΄�„)>ݐ���7�
�;�lI+B�xФ���v�77�Á-J�ϒ]���f�Ko�[�
�@4��i�t�����j�>3�_|��
+endstream
+endobj
+1790 0 obj <<
+/Type /Page
+/Contents 1791 0 R
+/Resources 1789 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1671 0 R
+/Annots [ 1786 0 R 1787 0 R 1788 0 R ]
+>> endobj
+1786 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.713 660.314 294.501 671.218]
+/Subtype /Link
+/A << /S /GoTo /D (main_Approximating_Bounded_Integers) >>
+>> endobj
+1787 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.713 494.275 294.501 505.179]
+/Subtype /Link
+/A << /S /GoTo /D (main_Approximating_Bounded_Integers) >>
+>> endobj
+1788 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1792 0 obj <<
+/D [1790 0 R /XYZ 90 757.935 null]
+>> endobj
+1793 0 obj <<
+/D [1790 0 R /XYZ 90 733.028 null]
+>> endobj
+1712 0 obj <<
+/D [1790 0 R /XYZ 107.713 622.98 null]
+>> endobj
+1713 0 obj <<
+/D [1790 0 R /XYZ 107.713 607.65 null]
+>> endobj
+1714 0 obj <<
+/D [1790 0 R /XYZ 90 586.789 null]
+>> endobj
+1794 0 obj <<
+/D [1790 0 R /XYZ 90 572.493 null]
+>> endobj
+1715 0 obj <<
+/D [1790 0 R /XYZ 107.713 456.94 null]
+>> endobj
+1716 0 obj <<
+/D [1790 0 R /XYZ 107.713 429.655 null]
+>> endobj
+1717 0 obj <<
+/D [1790 0 R /XYZ 107.713 331.992 null]
+>> endobj
+1742 0 obj <<
+/D [1790 0 R /XYZ 90 299.175 null]
+>> endobj
+1795 0 obj <<
+/D [1790 0 R /XYZ 90 284.88 null]
+>> endobj
+1743 0 obj <<
+/D [1790 0 R /XYZ 107.713 185.264 null]
+>> endobj
+1744 0 obj <<
+/D [1790 0 R /XYZ 107.713 169.934 null]
+>> endobj
+1745 0 obj <<
+/D [1790 0 R /XYZ 107.713 154.604 null]
+>> endobj
+1746 0 obj <<
+/D [1790 0 R /XYZ 107.713 139.275 null]
+>> endobj
+1747 0 obj <<
+/D [1790 0 R /XYZ 107.713 111.99 null]
+>> endobj
+1748 0 obj <<
+/D [1790 0 R /XYZ 90 89.441 null]
+>> endobj
+1789 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F100 1390 0 R /F11 446 0 R /F8 540 0 R /F10 507 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1802 0 obj <<
+/Length 1681      
+/Filter /FlateDecode
+>>
+stream
+x��X[o�6~����d`fDݕ�M�tM�5��-F�-�2��R���;$e)5��0�ɼ~<�;W�s��缜=_��.��H����8��$1%�O���y�f�y�
��f97�U���X'*	K���n��?�^�.V��f�=�j�(!I9�n����a��� K��>�sB?��ҹ��:�
��GF��P����<��~g�[Ω�f��s�s��P�u��^���5������n��i�V�%��݂"}��?���ѓ��)ɒ�����V�
�L�wy��lc~��k����x�r�7�����x�(��mU~�����<�\29򀐅G�,v~Hb+����U�����a���΂�ċ|�����������wZԷ��s�����,�h� JaK��
+$�FM�D W��p��|��T��E]Јd��~�\]]_�q��I�	�a�xC��D�֝رrn
�+w'�O�����A�������c�Ow����A��?z���A
�qPj|����
��'�Gя�w_�r��? �=
?O�.�1
����=� ��J��'���m��2�
�=�A����W�bt����+�v��0���p��@P�F�z)�A���;!a��3�^U�8V��9�gr]�;����F�w�uoT;�

+��x���&��
D���jj�B�K�k���J��#�B
+.��������g����B�ٴ���`����fA�N���7���g^s��uy0���'����ae%�f���`�� �(��1�?x�''�ʈ?V�V7`
�Ժ&
�~䚜0T!��09�)X�YW���+�N�z�46��*%BC���
���
6���FŮY��Tܘu
�1�C�q
�Gܮ $Pe/��{%'�c`T�b-ݽ��f�*���ݱOB�
+4�
��C�	��̯�-P��ذ��´�0)9Sv�<<!HȇO�`;k
����F2x�+�@�?��^�:%�q]�H3�t�5n�IN햂k%a���vER���
����^F�vG��ݎ

ߟP��{�ܭ�d�-�(b�-
C�D{JSu!
�!*B���2Gc��� `�
-D�Y2[֟a�����ߋ�봪 t1�쵡�7-憐�6*��p�+&N��
�Ζ���t�0����n˥�.Z�
����f,l���zΤ�V��@CB���j}�ρ�
M�������5%��ag��*��Jj��`iU~25O�\]Q [...]
��ۺw�����
� 4����nn����j�q
D ��(Ew2�Z�֕���]
��,�}Ӷ$$�ty�`� ;�G?1
`�Q���N>��ʆV�;m��o��뮐˜���5j-����c����M�Ƚ��/� �
��+J�B����G���Us��Ǔ(#Q>�`�\F��S˖�N({��fp
�?���6�*�c��Cc�Zz��U �In�M�F�O�
���?���>�u�u����~�'yKz)ꆈ�
*�ٷ)v����̢ll��U�fB��
K���
an	�
+endstream
+endobj
+1801 0 obj <<
+/Type /Page
+/Contents 1802 0 R
+/Resources 1800 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1808 0 R
+/Annots [ 1796 0 R 1797 0 R 1799 0 R ]
+>> endobj
+1796 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.841 678.915 245.973 688.843]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+1797 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.841 536.119 249.291 546.047]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+>> endobj
+1799 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1803 0 obj <<
+/D [1801 0 R /XYZ 90 757.935 null]
+>> endobj
+1804 0 obj <<
+/D [1801 0 R /XYZ 90 733.028 null]
+>> endobj
+1749 0 obj <<
+/D [1801 0 R /XYZ 107.713 638.367 null]
+>> endobj
+1750 0 obj <<
+/D [1801 0 R /XYZ 107.713 622.427 null]
+>> endobj
+1751 0 obj <<
+/D [1801 0 R /XYZ 90 610.307 null]
+>> endobj
+1805 0 obj <<
+/D [1801 0 R /XYZ 90 595.737 null]
+>> endobj
+1752 0 obj <<
+/D [1801 0 R /XYZ 107.713 495.571 null]
+>> endobj
+1753 0 obj <<
+/D [1801 0 R /XYZ 107.713 479.63 null]
+>> endobj
+1754 0 obj <<
+/D [1801 0 R /XYZ 107.713 463.69 null]
+>> endobj
+1806 0 obj <<
+/D [1801 0 R /XYZ 90 446.963 null]
+>> endobj
+1755 0 obj <<
+/D [1801 0 R /XYZ 90 424.651 null]
+>> endobj
+1807 0 obj <<
+/D [1801 0 R /XYZ 90 424.651 null]
+>> endobj
+118 0 obj <<
+/D [1801 0 R /XYZ 90 192.415 null]
+>> endobj
+1257 0 obj <<
+/D [1801 0 R /XYZ 90 155.689 null]
+>> endobj
+122 0 obj <<
+/D [1801 0 R /XYZ 90 155.689 null]
+>> endobj
+1800 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F100 1390 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1829 0 obj <<
+/Length 1052      
+/Filter /FlateDecode
+>>
+stream
+x��X[s�8~�W�m� $��e�әn�ɤ�&4���t<�(�o�M(����`��L!�/���9���EGB`
+8��3�
N|Bz��;"�{R��hn�b��B���Ȋy
GC� �̖36�qt��y̗v�Pd]�9��8a���c�Ɓ�
+9��0p-�_Fz�G�o=,�@ +�ԇ�CA��n� 0� �N�����8♁�ާ
�
+�8yTCX�T+����	��Va�N ��@�	��[Bhg
��SAE�B�?J|j�\�i��etY1
7%��|
+ !�)�+M�&��
ClLy�e�Ҵ��͠�7�G�JrL-�G����1�
�2�H��!R���ߔ�9K��LB|��
��N�`�u v���Y\�/���Ns"�m�x4�M��P�9��/�
h[>ׂLM���4u˓!r8<7��E���.�ʅ�O��� �A@��Q7|�4�ٸb���2�Xt&�d�3cI�� �^9,γ::��䫴JD�c���>&0$��np��� ADB�J�z�gt�
A�քE�|,"�g�>�N<'�Yi
��;2A��<
@����z��'��>
bH�o��B�Eܤ2q�e��蒿ܣ��U�q�!Q�WU[D�J�R�s����Ӳb���y���MZ����c��3Sa�2K��M�+������1�J��:k��{��iy�Qn�E	n)|fw�M,���y��{�Y�,�O�dJ�~g��
+���� y�M��,DV�i�D�˺a�� �ZX��ҥ�H����{�������,mL��Ƹ�Ў:݇�Ï��D��=�GmR�6B�Ș5
֖�xU��	C5W�bҙӍ���u�
+���#��92U[W�������)�Q1�ʉ�6:dZvr'��z�~�Qs]A�|.���r]�����ȃ7�<�D{����;�~=�7o[�@����u�"��`�û�d�!��ݨ�Ce�M�
��D�i����Q�/�Ҧ�b��﷈"}4��!���}G �fm�i\_A������Y��1��Y�T��&5�i�a�
�*�|u�&Ex�ǫת��K���[
�jc�C��)*�o
+endstream
+endobj
+1828 0 obj <<
+/Type /Page
+/Contents 1829 0 R
+/Resources 1827 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1808 0 R
+/Annots [ 1798 0 R 1809 0 R 1810 0 R 1811 0 R 1812 0 R 1813 0 R 1814 0 R 1815 0 R 1816 0 R 1817 0 R 1818 0 R 1819 0 R 1820 0 R 1821 0 R 1822 0 R 1823 0 R 1824 0 R 1826 0 R ]
+>> endobj
+1798 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.107 697.273 216.873 708.177]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_1_1IO__Operators) >>
+>> endobj
+1809 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 618.641 180.57 627.488]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Throwable) >>
+>> endobj
+1810 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 577.781 198.482 588.685]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+1811 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 539.954 187.464 549.881]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
+>> endobj
+1812 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 526.769 316.68 536.955]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked_3_01Checked__Number_3_01T_00_01P_01_4_01_4) >>
+>> endobj
+1813 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 514.102 234.098 524.029]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+1814 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 501.176 210.149 511.103]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+1815 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 463.453 170.956 472.3]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+1816 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 422.593 213.018 433.497]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+1817 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 383.789 213.595 394.693]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+1818 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 347.043 179.274 355.89]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+1819 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 306.183 216.365 317.087]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+1820 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 267.379 211.912 278.283]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+1821 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 230.633 177.591 239.48]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+1822 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 189.772 220.22 200.676]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+1823 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 150.969 185.9 161.873]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+1824 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 112.166 235.154 123.07]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+1826 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1830 0 obj <<
+/D [1828 0 R /XYZ 90 757.935 null]
+>> endobj
+1831 0 obj <<
+/D [1828 0 R /XYZ 90 714.318 null]
+>> endobj
+1832 0 obj <<
+/D [1828 0 R /XYZ 90 635.532 null]
+>> endobj
+1827 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F11 446 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1854 0 obj <<
+/Length 985       
+/Filter /FlateDecode
+>>
+stream
+x�՘Ks�8����
T��ě�2�ͼ��&�9l2Eɠ8��%N��JH��n%Uf�� ����� X�&o��o	���~
� � ���,Jp�d
r�B��]
�k��]:M�tGJ��/t�1r�~�
\���я��p�a�	%Y:	r�/>M�/&?&H�꧍/	"Pԓ������^��`ݿU���W��'и �]��-W��0HA�
�#�ύ�G���;p=��wE���t(���Xvٿ��9���#
��ٽJ�H�%q�,�}/}0E��F�6�TZ�A�]EQ�_��Kp�#y
+��oj��7mC��1e ejm�PRo&�\��T�ˊt�{saڵN�''�
O�~��v�W����(5>������7Ұz$]��T�6+N
���	�RJ*V70�J>��;d�n9�zme��)[��Ne-� r8!�E#�8�j�qg�F_Mu/hc�&�$!
+ԡ�\��#�l��ᣛ[}�?%����[��Y�{�B��B�
)hwpzX_Jc�
V�	��U����0��.�
�~���Ksa�.$�
H�M�1f1�)��[��6شy�~MK�6؛��X���L���!��Ex:@i��ӛ�SU[�%�p���^�fоeIĚ6X��)p�Di�X9xǰ?2j��q-qg���?��F�}��NQ9$��ʲa&8���<�Jl�ԩ���/��Fb�Y
�xm3�)))H��Z�z��j:RڭO�uti�LvU%���io-�)�~;x�)�Y�w�=�D�6/��n������t���_p��e� ��;�9h��<�q__i�LN�~���'��u�-f��o6»�u�4	�/=���s��%AjN�̋�
��7�#�M�e�o
��_;�_�Q䘪�
�{��6��A
E��
�R��s��
�WĆK�ן��}V��-kQ�{P�@m���l�^�����m�GŬm�� ڎ�H��Dfk3�&n�
'6��ƺ�M����+S
+endstream
+endobj
+1853 0 obj <<
+/Type /Page
+/Contents 1854 0 R
+/Resources 1852 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1808 0 R
+/Annots [ 1825 0 R 1833 0 R 1834 0 R 1835 0 R 1836 0 R 1837 0 R 1838 0 R 1839 0 R 1840 0 R 1841 0 R 1842 0 R 1843 0 R 1844 0 R 1845 0 R 1846 0 R 1847 0 R 1848 0 R 1849 0 R 1851 0 R ]
+>> endobj
+1825 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 720.889 200.833 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+1833 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 682.215 192.544 692.143]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+1834 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 643.542 190.901 653.47]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+1835 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 604.869 201.601 614.797]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
+>> endobj
+1836 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 566.196 217.471 576.124]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node) >>
+>> endobj
+1837 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 527.523 219.115 537.45]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node) >>
+>> endobj
+1838 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 488.85 220.778 498.777]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
+>> endobj
+1839 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 450.176 201.401 460.104]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
+>> endobj
+1840 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 410.527 216.355 421.431]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+1841 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 371.854 183.698 382.758]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+1842 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 334.157 194.218 344.085]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+>> endobj
+1843 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 296.565 168.495 305.411]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+1844 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 256.811 202.507 266.738]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
+>> endobj
+1845 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.544 241.304 273.474 251.209]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+1846 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 217.161 195.324 228.065]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+1847 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 178.488 209.71 189.392]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+1848 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 141.872 156.022 150.719]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+1849 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 103.199 154.368 112.046]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+1851 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1855 0 obj <<
+/D [1853 0 R /XYZ 90 757.935 null]
+>> endobj
+1852 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1875 0 obj <<
+/Length 1110      
+/Filter /FlateDecode
+>>
+stream
+x��XKs�6��W�VrR� "�[
���I�����h �8�$d�������I[)c�DpI,��v�X,#K�ț��dp�k�HB��7"�I�F��
'���:	��3Ɯ�˙#�BLǮǜ*߮dڈ�lֈf���9D!�Z�%�^˅l\
;��"
%q�D�{?y;�e2�{�#�[6�h�d^
n�IA��0�'1�t$�|x��f���zv���=�8���I�山������Gn�!X;�Eۚ`�4H��_�q�Wӛ�������MH
F���ytxd�G1B���U�2�)���BӦ��#Þ��݂<t�7V=�|h��|�і�1WbY�"?���P�q��A֩>'{o
+Ѯ��2]�UV���;Ye-��kwúq�Щ��Y*�T���1,�NTH��L�,��71�Q��g�*DV>+����U
�P�
���pD�g��Y����!?Gf�\�d+���\���`�w�	����1{�ᔹ:K>�]�jT&�|����"�#���%��+�H�M�g�Z7��&׎�����I���v:���V�dQWh�-�EiX�d���f�Y`�Zr7+Y>*˅2?�m-S�h�R֮kXZY5�Q��ի�%_*�Y��8Aq
{���k٠ w1
��w8�+}�K���I?K@���`�Fg�V8�H�`w��A��e��n[�k7�+�e��&Νne���c�+;��kV>��M�m���2:��{p�խ���Bg#`�ty���+&IJ4�Y�O��)L�V��Z� ����& �'�)�<e %��]F�_p�tj�>k�����x��"��%�x$a˃��ޟn �ISg4���j�̛m{E��A��v�>|�b���
����
���P6q����}_G��]M{��_�ۜ�p�>ɩ�:�iVȲ� �ꩧj�A���H[�x��
+2<k[�B wI[��ؒ�!��Q��i,�@o�S�u{����"�>vX7̶J~��~�o����6�lSoD�b��aB�0�;S�&�m�_z��2�ފfC��ڒs�B��UA2ޥIF9���Cv����B��"v�������
e a�v�T����f���ˬnh�.�:��|G�iWG<�Zvn��
�B��~���J jD
+endstream
+endobj
+1874 0 obj <<
+/Type /Page
+/Contents 1875 0 R
+/Resources 1873 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1808 0 R
+/Annots [ 1850 0 R 1856 0 R 1857 0 R 1858 0 R 1859 0 R 1860 0 R 1861 0 R 1862 0 R 1863 0 R 1864 0 R 1865 0 R 1866 0 R 1867 0 R 1868 0 R 1869 0 R 1870 0 R 1872 0 R ]
+>> endobj
+1850 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 707.027 180.928 717.931]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+1856 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 668.306 208.036 679.21]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+1857 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 630.561 210.268 640.489]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction) >>
+>> endobj
+1858 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 591.84 229.087 601.768]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction) >>
+>> endobj
+1859 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 552.143 235.712 563.047]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruences__Reduction) >>
+>> endobj
+1860 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 513.422 255.637 524.326]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction) >>
+>> endobj
+1861 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 475.677 195.872 485.605]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction) >>
+>> endobj
+1862 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 435.98 247.189 446.884]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+1863 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 398.235 205.835 408.162]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Domain__Product) >>
+>> endobj
+1864 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 360.595 187.005 369.441]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+1865 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.084 333.024 160.373 342.93]
+/Subtype /Link
+/A << /S /GoTo /D (main_Bag98) >>
+>> endobj
+1866 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 310.915 174.034 319.761]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+1867 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 271.113 211.124 281.04]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+1868 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 231.415 192.395 242.319]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+1869 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.012 150.846 237.655 161.75]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+1870 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.012 112.125 249.819 123.029]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+1872 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1876 0 obj <<
+/D [1874 0 R /XYZ 90 757.935 null]
+>> endobj
+1877 0 obj <<
+/D [1874 0 R /XYZ 90 167.85 null]
+>> endobj
+1873 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1955 0 obj <<
+/Length 1454      
+/Filter /FlateDecode
+>>
+stream
+x��Y�r�6��SpW������;��.�d��Cl%a�pS��w�� �S����ʲ����0�
`Ɲs�s6�F�5EP�� �S /
���-���B  ks�A��	�]F�'�HާA�Ẃ
X3�Q�
+��u�J9��(![������ާ��u�w 0�`+���(3�s�0
�������s�V�H��#��\v@��VEV�T�@�%Qez��E���	�\��p�mW���Z�*�mO����F���M��nl�a��Rj���`����� �C��;<���5Fł*TxE�.�x
�r�*J�AF�˔.P��Qi�$��䑮���D�Z�Ј.�DP�A3���{a�5
�LWy(���'��A
.�l�ƾ��DME<��i�niQpHe�(�Q�e���Oï�i9��d��z
+'��0g�o�#�4��Z���=i79Qf��.P�%EÑyM.#���7��+~����y.�p�>�ʫ���y
GC!ȕ��S��1
����p��z�q�c��~��@��q>���@��Y�4���A�&f�L��i0G⥆VGh��hb�Dv��$�6����
���`!W�*|߁B�*D	
-Bu�0�¾�
f^�f>4��/��I��j���~8l?K���V�k����6b>�M�i���i��������) %S�A�p�C"Ť)�$�6�䐠m��	v�
��[m��tt��]<?p����'o(��
x0�=qw@�9��Y�GU����K<~�v�A��sPf�М�n��$���4̟b���j@�W�h���
1;]~��b��m�0DD�G��	�z�����g�}<3
�[�n�;�`��a�&��0Y��f���z,ܑ�AYf���_���r�6�>�-U�ﻛ�~5n�ʬ�2���X��DF�Lt����k�-�U��y�
��AYOw�ɰ�w�
+'5�$�S4�圗�� �!�a�(J�
�d���0߼�Q@:�Q ���	6`oLkj�ɷ��=�?�
�1!�(�M	���)�ɑ��U��ZbD��U�֋ewN
�>4�X�<�ÿh֙.qʬ_p�lL�/�I3��)c��|߮0
��[:ӝ+��
Z[7�/��-|#��ʜ�
|�B�5�5�"j;؟��5�S���%
+MP��4�SQ�]��5'˅����{�2�'$~{i6�߉?�p��*�R�Ꭷ��ƪ�s����
�(��,>%
�{�w�'��-��O~��x�o�d
�w �Kr)�|��dI&
��2����n�����9�GF���.�
+5�U\�-�5�4���z)8V���K��K�
�)�}���,Qټ�
+�.F�4.�?����w��fJ!9��� Y]����^����"�JU5�����V�8[�BU��Tڧ<_�vv�����3~������*:;�Pڢ�OSj��{�x�����������/�&��
+endstream
+endobj
+1954 0 obj <<
+/Type /Page
+/Contents 1955 0 R
+/Resources 1953 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1808 0 R
+/Annots [ 1871 0 R 1878 0 R 1879 0 R 1880 0 R 1881 0 R 1882 0 R 1883 0 R 1884 0 R 1885 0 R 1886 0 R 1887 0 R 1888 0 R 1889 0 R 1890 0 R 1891 0 R 1892 0 R 1893 0 R 1894 0 R 1895 0 R 1896 0 R 1897 0 R 1898 0 R 1899 0 R 1900 0 R 1901 0 R 1902 0 R 1903 0 R 1904 0 R 1905 0 R 1906 0 R 1907 0 R 1908 0 R 1909 0 R 1910 0 R 1911 0 R 1912 0 R 1913 0 R 1914 0 R 1915 0 R 1916 0 R 1917 0 R 1918 0 R 1919 0 R 1920 0 R 1958 0 R 1921 0 R 1922 0 R 1923 0 R 1924 0 R 1925 0 R 1926 0 R 1927 0 R 1928 0 R 1929  [...]
+>> endobj
+1871 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.455 719.912 310.472 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+1878 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.257 639.529 193.283 650.06]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8) >>
+>> endobj
+1879 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.492 639.529 266.471 650.06]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8a96b8890edb38e9960c455aa178e508ba) >>
+>> endobj
+1880 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.179 639.529 371.229 650.06]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8abd640c30f757e4ecccd08ac527536ca6) >>
+>> endobj
+1881 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.937 639.529 468.246 650.06]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8a979f37a289d4cb316643f1dcc07ec7cd) >>
+>> endobj
+1882 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [471.954 639.529 513.996 650.06]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8a9606fc251d767040929d3e2645dbb446) >>
+>> endobj
+1883 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 614.625 204.739 625.155]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98) >>
+>> endobj
+1884 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 598.687 168.485 609.217]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98af4fca65e2503d4afea11aa9b9da7d51e) >>
+>> endobj
+1885 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.474 598.687 205.566 609.217]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a9afce68d66f8c8eedec345f8df2e822f) >>
+>> endobj
+1886 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.555 598.687 240.625 609.217]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98ae9e9040024adaad2b7a0d9ceea0c8b62) >>
+>> endobj
+1887 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.613 598.687 277.705 609.217]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98accf532c4e56a06e520b6b3f638371667) >>
+>> endobj
+1888 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 582.748 148.002 593.279]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a9223ac459b80b2eb397dd7810be7aa07) >>
+>> endobj
+1889 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [150.991 582.748 183.977 593.279]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a44ed03f4b908d58ac405493b10be3012) >>
+>> endobj
+1890 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.966 582.748 221.058 593.279]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a4e456df02ee601b05831536311de132c) >>
+>> endobj
+1891 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.047 582.748 264.226 593.279]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a468389fd24e4a478d296cbcf6b104eb0) >>
+>> endobj
+1892 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 569.799 165.994 580.329]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+1893 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 553.861 161.84 564.391]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a3d884f787b884a260970cdef004fcc10) >>
+>> endobj
+1894 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.829 553.861 192.276 564.391]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a9f5dce9506b72773425c0504845d8e4e) >>
+>> endobj
+1895 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.265 553.861 220.69 564.391]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ab30277f972f730fe26f6cfc39098cc77) >>
+>> endobj
+1896 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.678 553.861 251.125 564.391]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ae704947d33ff1b60a2475950d5f18ec3) >>
+>> endobj
+1897 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 538.266 141.357 548.453]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ad5e386c6a05c9656eac42fe9e2cdd8b5) >>
+>> endobj
+1898 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.346 538.266 170.687 548.453]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ac77955fc77a169347da8820b46c3247b) >>
+>> endobj
+1899 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.676 538.266 201.123 548.453]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a6c817c11198882f3864d8ace4ec326dd) >>
+>> endobj
+1900 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.112 538.266 237.646 548.453]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a0d808c2d0d6514c33e06445d7aa34270) >>
+>> endobj
+1901 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 522.328 182.573 532.515]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8adeb9e65ceecfb8271acec22e00a226ca) >>
+>> endobj
+1902 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.561 522.328 232.017 532.515]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a4194f750c76fb24d6e5930e1696076c4) >>
+>> endobj
+1903 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [235.006 522.328 285.705 532.515]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a4e2e7513e80017645e24e2fc7bb6846d) >>
+>> endobj
+1904 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.694 522.328 391.598 532.515]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a44e009680d1b9995b04ac762c6ef8057) >>
+>> endobj
+1905 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 506.046 226.577 516.577]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aca1ef0806f3a27d811b8f7352d53a21b) >>
+>> endobj
+1906 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.566 506.046 342.233 516.577]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8abb38c3a22ea0af9a40c568e55afa897b) >>
+>> endobj
+1907 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.222 506.046 450.148 516.577]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a02347568b111860e1ac15154a1832252) >>
+>> endobj
+1908 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [453.136 506.046 488.534 516.577]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aaee8efad6ea4263d7aa15cb0db2497ea) >>
+>> endobj
+1909 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 490.452 197.815 500.638]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ae0c660bfcbcd3d10c3e764e22f41d0a1) >>
+>> endobj
+1910 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.804 490.452 263.27 500.638]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a057025d0ff550a2226a0a1273c84b4f6) >>
+>> endobj
+1911 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.258 490.452 344.066 500.638]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aa1bf7bec2cb0d949e45c3cd0e25874a6) >>
+>> endobj
+1912 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.055 490.452 420.987 500.638]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a5912e00d1de38a643d48af1f0e5dd35f) >>
+>> endobj
+1913 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 474.514 172.351 484.7]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8afda2f32e2fc3f61357ce0d9d7813f5fc) >>
+>> endobj
+1914 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.34 474.514 263.27 484.7]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a930a62d56d7231cdb1ed57e1d3eff0f7) >>
+>> endobj
+1915 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.258 474.514 341.864 484.7]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8abd1bad185f4622d07b171767dafc78b6) >>
+>> endobj
+1916 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.853 474.514 412.858 484.7]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aa0f28596ac7d4a43766fab174c28ccab) >>
+>> endobj
+1917 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 458.232 178.398 468.762]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a261922c7bb53bf71459671df868e55da) >>
+>> endobj
+1918 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.295 458.232 335.607 468.762]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a0905d51325862cb4db00635875efcff8) >>
+>> endobj
+1919 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.505 458.232 490.615 468.762]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a202263943c451b9fdfe003b2bc8d0b1f) >>
+>> endobj
+1920 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [496.512 458.232 513.996 468.762]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aceefc8c6d25b8e2ae5e538a9f793516e) >>
+>> endobj
+1958 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 446.277 211.285 456.807]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aceefc8c6d25b8e2ae5e538a9f793516e) >>
+>> endobj
+1921 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 407.053 223.927 417.957]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
+>> endobj
+1922 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.698 407.053 282.945 417.957]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899a0edf84fcb94023ff4a7183bf3f8dace5) >>
+>> endobj
+1923 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.934 407.053 321.69 417.957]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899ac7753e1dd51e1b7b3fdfafa9f8332370) >>
+>> endobj
+1924 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 368.202 210.278 379.106]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+1925 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 352.638 149.158 363.168]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea3e4424ce8e7ebe86e125541b561fc300) >>
+>> endobj
+1926 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.147 352.638 210.04 363.168]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea556cc08f48e769b9c15bea83d5d883a1) >>
+>> endobj
+1927 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [213.028 352.638 295.329 363.168]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aead8db7109fb4bb50360b05800dd245416) >>
+>> endobj
+1928 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.318 352.638 377.79 363.168]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea94cf20719046117aece5acba61dcae4d) >>
+>> endobj
+1929 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 336.7 217.79 347.23]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea079e4b80f17b0095497103a52cffa3ab) >>
+>> endobj
+1930 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.779 336.7 281.083 347.23]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea8191bdbdcd041a9859ed465d16062ab1) >>
+>> endobj
+1931 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.448 297.476 214.914 308.38]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+1932 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.506 297.476 360.535 308.38]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a71c9b0459dc8ba8cc0c8178b6cf4f017) >>
+>> endobj
+1933 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.434 297.476 478.227 308.38]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1ab39e3c667ce455313f8ff578722af2e9) >>
+>> endobj
+1934 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [482.126 297.476 513.996 308.38]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+1959 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 285.894 180.102 296.425]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+1935 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 246.671 221.336 257.574]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaac82e7e0179442ef589f2fc61302d654) >>
+>> endobj
+1936 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.107 246.671 301.924 257.574]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaac82e7e0179442ef589f2fc61302d654a324bf568397fdfc332a4c06e7a4facf5) >>
+>> endobj
+1937 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.912 246.671 381.604 257.574]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaac82e7e0179442ef589f2fc61302d654a0e1a601a53491f60c89282fde55b5352) >>
+>> endobj
+1938 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 207.82 263.698 218.724]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd) >>
+>> endobj
+1939 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 192.599 147.454 202.786]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fda591549aad4d57135c2dcc6fd73daf554) >>
+>> endobj
+1940 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [150.443 192.599 188.968 202.786]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fdac58a6ff6765224e937fefbadf45a4860) >>
+>> endobj
+1941 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.957 192.599 230.483 202.786]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fdad09cef587030649e808d0e255b83d1ef) >>
+>> endobj
+1942 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.471 192.599 271.997 202.786]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fda405c8934c8b3f4d8c5ba0b21b674e559) >>
+>> endobj
+1943 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 176.318 157.417 186.848]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fda9a59b7fa00c2cf8df942badc9c414aef) >>
+>> endobj
+1944 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 137.094 298.955 147.998]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
+>> endobj
+1945 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [306.726 137.094 359.627 147.998]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga61102bed0c7780ab782fcc8cd57a384aaafd3e20e35e86cff976d68ffc4283c32) >>
+>> endobj
+1946 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.616 137.094 484.708 147.998]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga61102bed0c7780ab782fcc8cd57a384aaf4462ec77078de4bbabb446cf61e5123) >>
+>> endobj
+1947 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.055 98.244 278.938 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga84cc2bd35e1437f8df3be984dd1f4638) >>
+>> endobj
+1948 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.744 98.244 387.534 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a832f214eaa5bc2ce48e1e2d67473cf10) >>
+>> endobj
+1949 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [393.04 98.244 511.506 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a7869fdfe9b1ace668a0a7b1d2faba812) >>
+>> endobj
+1950 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 86.662 233.501 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a7b85b6b4c644857c3809eeef6aa35dbb) >>
+>> endobj
+1952 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1956 0 obj <<
+/D [1954 0 R /XYZ 90 757.935 null]
+>> endobj
+1957 0 obj <<
+/D [1954 0 R /XYZ 90 658.127 null]
+>> endobj
+1953 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2013 0 obj <<
+/Length 1473      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��8~�W�P5F��V�C�H�2Ӣ����)
+5�͌���ީ������s�
×s�sr�I�+���\��G�Υ�+
�l�V���dž P�f�k�PkC]�Ձu5!�$
h����;<#I|�NHB
���t5L�X&S,�C|��]g�
:�k�����^����W
R1t�i�
)�E��[]�����L�U�|�B�
�>�ʨ�KK�*�>�J��R�l��
��&�m$���c�F��|-���>͉h�7�7_e3<�4+�f��-�ˑ����sH��%�7n�-�>M�P9�8o
m�(�ۈr���B�3�ȭ�k�Gp���ivwS�����p�sX���!�.�2���w������
D��aj���ɟWa����d���^�8����=
J?D�(/�x�__hB5
+��>��:îKZ :&��.4�TҒ±fԜ���i��Y!�n*�LHZ�-p�NE{�/��2�C��3�A< �d��ʳ*�rI��8��/F��k?�x���;ӥ��(���#8���bk�lͥ�(R���
��۱���
�4
��(�Y��{)�c}-B���d�>4�l��d
+��l�Q>�
+rx�6�k��}"�ط�����7�L� 
�b5/?6���D��I(
�
�d�W�~�j���W"Ǒ�=��:
+0�_��	�=5�u��K��qHӃ�(�\Һ���Т�C�~ˡ߉![byՀG*v�L���Oǩi�N�p6�HW#T%��!�����m��Jۤ�E�[d=(X��bcR�5�#�A�67?\[sW
���6i� �憍�Xݶ���c�ƶ�OV��_��?����9�����6�'����7�{��m���+
ֱ��
�ˋ�)��GW}�d
�?/~���W��>%
���a��i|}1
��5�Wdk�)rg�6,���L�L���L���;f�6��`	
�Vs�ZeEz���Y#G�Dt�VЙ�E�.߻Kz�#���S��!.W�*��.��4�N09T��
O�4�SY����O�Z�}b֌F��t�=kkR�S��r.'6�L
9���X�y>�\&_�@>۷FڔF�Rn���'}Ҥ��d~d'[���S��,����0��)���Dɴ�/JR�P��$������$�0����2�}�=?uN�D��1��Dor3!?C��r7t\�Uf���ӼE [...]
<����
+y !Y�G5e|A���[���I4�.��&?0ǖ&�%�*�k��y�w�tg�Zۤ+f��TQ��^��^136��.������,�?v:��L
���%i�Y.���z6P��:�>����tUT^E;ܥ�.��&<�
+endstream
+endobj
+2012 0 obj <<
+/Type /Page
+/Contents 2013 0 R
+/Resources 2011 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1808 0 R
+/Annots [ 1951 0 R 1974 0 R 1975 0 R 1976 0 R 1977 0 R 1978 0 R 1979 0 R 1980 0 R 1981 0 R 1982 0 R 1983 0 R 1984 0 R 1985 0 R 1986 0 R 1987 0 R 1988 0 R 1989 0 R 1990 0 R 1991 0 R 1992 0 R 1993 0 R 1994 0 R 1995 0 R 1996 0 R 1997 0 R 1998 0 R 1999 0 R 2000 0 R 2001 0 R 2002 0 R 2003 0 R 2004 0 R 2005 0 R 2006 0 R 2007 0 R 2008 0 R 2010 0 R ]
+>> endobj
+1951 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 696.133 198.094 707.037]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+1974 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 681.041 186.538 691.228]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2abeee33de6f8542b0228161d044640eaa) >>
+>> endobj
+1975 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.527 681.041 244.251 691.228]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2aa57b0c1a34eced57ca8437eea92a4328) >>
+>> endobj
+1976 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.24 681.041 326.861 691.228]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2a0f182c5824807f7bc66d2d2033810feb) >>
+>> endobj
+1977 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.34 681.041 439.229 691.228]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2aeafcc7ca16bda73dc6b0f7deaf9470dd) >>
+>> endobj
+1978 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 664.888 243.902 675.419]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2ae0c0414fd69996a2edb8ea476ab236e1) >>
+>> endobj
+1979 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 626.296 223.01 636.826]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa7159523299c8f193184a1bda20d6044) >>
+>> endobj
+1980 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [230.781 626.296 364.668 636.826]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa7159523299c8f193184a1bda20d6044a7fee51bad737377323f3d7ddb036a74e) >>
+>> endobj
+1981 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [367.657 626.296 494.341 636.826]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa7159523299c8f193184a1bda20d6044a3b60d6dfe175b3a5d48361ac121f23ae) >>
+>> endobj
+1982 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.99 587.704 225.779 598.234]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gadf9d6f17d8974c81e3499f170e7762a2) >>
+>> endobj
+1983 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.454 587.704 369.659 598.234]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2a53f4353b82f1a10a08b1e756bb7c84ad) >>
+>> endobj
+1984 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [372.099 587.704 511.506 598.234]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2ab2bc77b49f9450faf5b5f8ca5374421d) >>
+>> endobj
+1985 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 575.749 243.912 586.279]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2a78fc3e83d58f3eb97a8041b600870a05) >>
+>> endobj
+1986 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 537.157 174.293 547.687]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766) >>
+>> endobj
+1987 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 521.691 157.965 531.878]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a3388ff37939783f337c4aeca28873c8a) >>
+>> endobj
+1988 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.535 521.691 242.537 531.878]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766ad57704b5d1b446fc9840009f06a5cb49) >>
+>> endobj
+1989 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.108 521.691 299.075 531.878]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766ad2496277dd6e1de91ca84a903ed28b64) >>
+>> endobj
+1990 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.645 521.691 377.192 531.878]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a16951436466647aef85cdd1f567200af) >>
+>> endobj
+1991 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 504.831 183.021 516.786]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766ada806236c55c963a0f138b67310de3b8) >>
+>> endobj
+1992 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.444 504.831 411.314 516.786]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a3bdee6d73627cc8338fb846f4a1fa935) >>
+>> endobj
+1993 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.224 492.876 235.826 504.831]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a00b00eff42cb35b0009a39ceb4202ac6) >>
+>> endobj
+1994 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [405.938 492.876 506.033 504.831]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a517be2ee42ead94cbef7d4ec632500ea) >>
+>> endobj
+1995 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 466.163 157.009 476.349]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766adb4b733a5edc79c83812093b2d020952) >>
+>> endobj
+1996 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.56 466.163 234.169 476.349]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a5e739a5468d529a02f4248c77a4776a7) >>
+>> endobj
+1997 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.721 466.163 316.709 476.349]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a4fbc5cd99bd48b3a521a9f2c5e7b0c00) >>
+>> endobj
+1998 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [340.261 466.163 413.635 476.349]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a3181ff1b549af004ba60f7c664037192) >>
+>> endobj
+1999 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 450.01 198.911 460.54]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a78a1e232394b81ca2319e8f3f066e377) >>
+>> endobj
+2000 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.376 395.026 211.773 405.929]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a0adf6106892886dc859985042b8a7433) >>
+>> endobj
+2001 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.376 356.433 212.331 367.337]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_af9dd9190c5f29dbbfa3d6e442dea7e7d) >>
+>> endobj
+2002 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.376 317.841 220.38 328.745]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a5604f97d216583cdf012a50d2f8cdbde) >>
+>> endobj
+2003 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.376 279.249 205.128 290.153]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_af127b16b1a8e300aa97caca515284b6f) >>
+>> endobj
+2004 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.54 241.031 195.713 251.561]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a99e9dc5df3cf7c0ab581e602d1176e41) >>
+>> endobj
+2005 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.54 202.438 193.641 212.969]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_aee4e9b54e65780ac3010fda40ea235a6) >>
+>> endobj
+2006 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 163.473 226.677 174.377]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a63bd7c7767faf3c219f9c2762095e2dd) >>
+>> endobj
+2007 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 124.88 243.822 135.784]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a6c841f33162c2419bd53a078e6c788ee) >>
+>> endobj
+2008 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 86.288 264.305 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ace0cdceaa0c7eea84cc1c38cf5bea680) >>
+>> endobj
+2010 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2014 0 obj <<
+/D [2012 0 R /XYZ 90 757.935 null]
+>> endobj
+2015 0 obj <<
+/D [2012 0 R /XYZ 90 413.868 null]
+>> endobj
+2016 0 obj <<
+/D [2012 0 R /XYZ 90 413.868 null]
+>> endobj
+2017 0 obj <<
+/D [2012 0 R /XYZ 90 375.396 null]
+>> endobj
+2018 0 obj <<
+/D [2012 0 R /XYZ 90 336.803 null]
+>> endobj
+2019 0 obj <<
+/D [2012 0 R /XYZ 90 298.211 null]
+>> endobj
+2020 0 obj <<
+/D [2012 0 R /XYZ 90 259.619 null]
+>> endobj
+2021 0 obj <<
+/D [2012 0 R /XYZ 90 105.251 null]
+>> endobj
+2011 0 obj <<
+/Font << /F70 402 0 R /F79 505 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2065 0 obj <<
+/Length 1409      
+/Filter /FlateDecode
+>>
+stream
+x��Y�r�8��+x�j
��$q*�$�㜒
� �.��|�4*E��m%9��%�����F`������i���
���c'
�)q.��i���`��g3��L,9�Q<���k�,�;�L��N���oX��K�y=�K.f$��R
�0��i��>_�9yy1�wB@
�}�������|������`�Ƒ�ֳ
+ǣ.����ɻ	�*t�J��J��T"4F8rB�"
�F��e&3�g�xm$��V�ӳ�!�J)f����eS�2��i��`~�[��P��¯�b
�'J��=��'>@�\5���r��W�"\������V�ʂv�j�`��=��Ǩٟ��������x(�<#�9��(����37S��E#���T-����<���գ�;d�V������;Y9��]V���q���_aB�C�2=i�WD�v�8Ð @0b
3���Ѫ<Y� S��=�^3eޛ����Ir#��a�=U�������u��ۭVf/��MV5un�~feoj���ĉP���9�8���>�IW� +�._Y*���Nt�L'j��
bP����7�z
ˀ]$t�X�j��
4��îU�H�e.q�rF��Ds	"����Æ4��9gB�+����8ꁴ*V�d�,tZ�KS�}4m�[���qGA�9@" ��c#����Q��QV��A��M
"�+�X�ot�鏇1��0n9���X�Q��Kf`3 [...]
?<�Rc�^��˱1z�p��_�^Dd�bM.��9���ڽ̊to�twZ��׷�Q5�˯��`O@�
�
˛���2��̄�A���~�"ϥ�k���߳�R�*�khR�en.��R����d�cy`z��M=_�M����J�@ z�mY�@Y
y.
+b �
��l/?
qF�-�)�qic�o��e0d�
����[
+/�}��Y�˺��ج�d’�ʣ��l�]�5��/�6��Tv���U�$��m�k%��Ѵ��^��ve���S5�g�u�]��f��K����2��^����Ǹ
+H<����C^���~x�"y�����=�
+��t�|#�a�@z�OY�|����E#�	��l�u�~y���<�4S���G�.O�N�G��T:+�
�a
�R�9>D!t�by���-��wY[��c�\��)��b���ȼl�[�2����ic�n��;c�K�@��Z��5�A�?���� ������ǦT��
��g5(
�\�;��&���ս�޽
+ z��BH_� �C(��]�#߷��h
tfBCa����*˼��g}���M�k�Xٴ�Q:�����b��r�{�Bf���O)v�-iID7M͵��g��z�Fi��2[	���j��w@��L�������VQ�M����߼ ��hs��
+endstream
+endobj
+2064 0 obj <<
+/Type /Page
+/Contents 2065 0 R
+/Resources 2063 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2081 0 R
+/Annots [ 2009 0 R 2039 0 R 2040 0 R 2041 0 R 2042 0 R 2043 0 R 2044 0 R 2045 0 R 2046 0 R 2047 0 R 2048 0 R 2049 0 R 2050 0 R 2051 0 R 2052 0 R 2053 0 R 2054 0 R 2055 0 R 2056 0 R 2057 0 R 2058 0 R 2059 0 R 2060 0 R 2062 0 R ]
+>> endobj
+2009 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.172 696.002 346.955 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a9c118832fed4c0b9b40547578459dad4) >>
+>> endobj
+2039 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 657.148 246.592 668.052]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ad31eeb0067d6cad2eb2ea5ab5bd0a2b2) >>
+>> endobj
+2040 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.334 618.293 370.297 629.197]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a74074a5ed3718745a4d82bacd5b381ed) >>
+>> endobj
+2041 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.315 579.439 436.672 590.343]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a3e6dcd6f5d8e3ea263c9205b21a83e48) >>
+>> endobj
+2042 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 517.671 262.631 528.575]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a6a54c55d8b52ef353df7cefdfa632d8d) >>
+>> endobj
+2043 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 478.816 206.582 489.72]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a5e801a56c2c3dcec13d2d87adf07ac47) >>
+>> endobj
+2044 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 439.962 204.012 450.866]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a19b0ebdb3476fe1feb0f51d9328fd384) >>
+>> endobj
+2045 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 401.481 167.937 412.012]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8) >>
+>> endobj
+2046 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [168.435 401.481 216.912 412.012]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a95f3cc785d7b89f59b3ca216461c34b0) >>
+>> endobj
+2047 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.728 401.481 248.185 412.012]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+2048 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 362.627 180.111 373.157]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98) >>
+>> endobj
+2049 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.609 362.627 240.155 373.157]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ac40e401b77b5ec6e9625c317ce6d760d) >>
+>> endobj
+2050 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.971 362.627 271.427 373.157]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+2051 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 323.399 179.554 334.303]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+2052 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 323.399 250.676 334.303]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a20874a85120477d5cf11da451870d497) >>
+>> endobj
+2053 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 284.545 173.467 295.449]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+2054 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.965 284.545 204.181 295.449]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a56eb4e32ec57658bc9e7823cd42ecbae) >>
+>> endobj
+2055 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.997 284.545 267.553 295.449]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+2056 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 246.064 170.776 256.595]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a03ed91fbbeb6d32952c5d2a30bfd3830) >>
+>> endobj
+2057 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 207.21 165.237 217.74]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a05dd6b345e96427a50b45f9756e302ab) >>
+>> endobj
+2058 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.376 167.982 232.395 178.886]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a30a5addfb775d0e3586f1575ece47bf6) >>
+>> endobj
+2059 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 129.128 229.984 140.032]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_abdd9791a8d91b11a5bd3a6ef0770bc86) >>
+>> endobj
+2060 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.933 90.647 322.077 101.177]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a93c37cc32a1f50c36ec15d67fdbec3aa) >>
+>> endobj
+2062 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2066 0 obj <<
+/D [2064 0 R /XYZ 90 757.935 null]
+>> endobj
+2067 0 obj <<
+/D [2064 0 R /XYZ 90 715.095 null]
+>> endobj
+2068 0 obj <<
+/D [2064 0 R /XYZ 90 676.241 null]
+>> endobj
+2069 0 obj <<
+/D [2064 0 R /XYZ 90 637.387 null]
+>> endobj
+2070 0 obj <<
+/D [2064 0 R /XYZ 90 598.532 null]
+>> endobj
+2071 0 obj <<
+/D [2064 0 R /XYZ 90 536.764 null]
+>> endobj
+2072 0 obj <<
+/D [2064 0 R /XYZ 90 497.91 null]
+>> endobj
+2073 0 obj <<
+/D [2064 0 R /XYZ 90 420.201 null]
+>> endobj
+2074 0 obj <<
+/D [2064 0 R /XYZ 90 381.347 null]
+>> endobj
+2075 0 obj <<
+/D [2064 0 R /XYZ 90 342.493 null]
+>> endobj
+2076 0 obj <<
+/D [2064 0 R /XYZ 90 303.638 null]
+>> endobj
+2077 0 obj <<
+/D [2064 0 R /XYZ 90 264.784 null]
+>> endobj
+2078 0 obj <<
+/D [2064 0 R /XYZ 90 225.93 null]
+>> endobj
+2079 0 obj <<
+/D [2064 0 R /XYZ 90 187.075 null]
+>> endobj
+2080 0 obj <<
+/D [2064 0 R /XYZ 90 109.367 null]
+>> endobj
+2063 0 obj <<
+/Font << /F70 402 0 R /F79 505 0 R /F56 367 0 R /F97 1188 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2115 0 obj <<
+/Length 1422      
+/Filter /FlateDecode
+>>
+stream
+x��Yo�6���+��
MR������
l�"Mܗ&�@�t,Ē

9�}��d�V
�� M��@4�!g8�
%[W����
{�o>�BzԳ�S+Ė��(�������}�'��y£�>�v6��IΣ?�Q���e���'�X��?O�T�}�"�U�������G��w�#�
l5-��0k���/�5��FNXw�Wb�ԁ��:����F���V)�P�s�J���O
�=��:e���^%׏q��.�}Ƿ���3��)�ր�LL�r�q,R3�..g�t����R��U�1oe(E�K�� �w��/(e-!���f�-��9����Pi�R��
,�_ß*1�6-1Y*��
/0��G:Z�}�qQ {�:�'?a{���UZ�W����Yz���qq����C�*�����̘$NK�w�}%�S�������N���2c�l*�0��-�(
+\�&��]Z�b�	���ma^����{3��Ҩ|X���H%~��5�_
�fS`�8���(�\����s�}��&����3��d.d�
�����D
+�
�dv��b�K�
v~ُ��uW�U�hI�
_���B:�
+��}
v�db�f�o���y��2��(���A-E��)/�����g�9�J�R�T�O�B����񝶋
�!���0[/Ꙫ"��C��q���J�oE�E w��D9�L��9E���bM�̄⑉���vӝ9>����5{}x��<1����h$�Y.>o���~|
+3~x�<�}#�˞�\b
���q���T)�G��k��hZ�c���%�~�>�w����Y�%�SR�ױR;v@�'�A)E��u�V���Z}�\� 
�Tu� 
rN��lp�J�ԵqPb'����@ ���:�����#�cd��Nݝ�����d(���hO�&�Ck��]���M`W��j�6+*���=��:l��v��Jœ����v���JGщ�^��>	���ν�'�z�Y���R
Y��D�2o��hx�EnZ;y�
�5��
�y�eɋ|�x�bM������y	�/!ۍ��
�-b�&���^��Bw��.J�8�:�xo<�݁��

6���xpЂ~���d�"��t%eL�8\�h ur���g��(�҉�D���(KP	fp
,���Ju����Bjz)��b���,!6B�3�����3f3��j�3��ѕR�gLG����+~�x���,]>��͔���!S�����Z�t=Z�L9l�_Hvvz���6�o�s����e��u�V&������
<�� 7��,D���0����
����֎a~�����B����u�1O+>�7�c�R�ȗ7c"]�Ɇ�Ͽ�����ڪK�KG�+�%EjLX����p0���C�Ui��Q\��`3��H?�I��
����@m}�
+��:&n��_'�_�
+endstream
+endobj
+2114 0 obj <<
+/Type /Page
+/Contents 2115 0 R
+/Resources 2113 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2081 0 R
+/Annots [ 2061 0 R 2084 0 R 2085 0 R 2086 0 R 2087 0 R 2088 0 R 2089 0 R 2090 0 R 2091 0 R 2092 0 R 2093 0 R 2094 0 R 2095 0 R 2121 0 R 2096 0 R 2097 0 R 2098 0 R 2099 0 R 2100 0 R 2101 0 R 2122 0 R 2102 0 R 2103 0 R 2104 0 R 2105 0 R 2106 0 R 2107 0 R 2108 0 R 2109 0 R 2110 0 R 2112 0 R ]
+>> endobj
+2061 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.933 696.511 319.317 707.042]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+2084 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.58 657.555 192.286 668.459]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a31f5a518ab35f859aafd220bc3e38dfd) >>
+>> endobj
+2085 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 618.973 179.554 629.877]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+2086 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 618.973 272.803 629.877]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_aca6003248d614d68c07f5330b468a242) >>
+>> endobj
+2087 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 568.435 220.24 579.339]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ad6c6b997fe2c49a8098bba1b6a45a008) >>
+>> endobj
+2088 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.631 553.95 462.977 563.855]
+/Subtype /Link
+/A << /S /GoTo /D (main_BMPZ10) >>
+>> endobj
+2089 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 517.897 230.203 528.801]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a0d0db024e7accefca878d7e09d815788) >>
+>> endobj
+2090 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.631 503.412 462.977 513.317]
+/Subtype /Link
+/A << /S /GoTo /D (main_BMPZ10) >>
+>> endobj
+2091 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 467.359 270.891 478.263]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a0f5fece719859502d9761d128734baea) >>
+>> endobj
+2092 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [352.753 467.359 394.576 478.263]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+2093 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.902 442.337 194.248 451.821]
+/Subtype /Link
+/A << /S /GoTo /D (main_BMPZ10) >>
+>> endobj
+2094 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.86 405.863 280.599 416.767]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a02bcf74a81fe5f35657f5f006c56bb29) >>
+>> endobj
+2095 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [492.089 405.863 513.996 416.767]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+2121 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 394.281 139.135 404.811]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+2096 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.902 368.885 194.248 378.369]
+/Subtype /Link
+/A << /S /GoTo /D (main_BMPZ10) >>
+>> endobj
+2097 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 332.411 270.143 343.315]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a8f608e24421a818d8e065a74425d8573) >>
+>> endobj
+2098 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [352.005 332.411 411.562 343.315]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+2099 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.902 307.389 194.248 316.872]
+/Subtype /Link
+/A << /S /GoTo /D (main_BMPZ10) >>
+>> endobj
+2100 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.361 270.914 280.551 281.818]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a64ce78ed8253fa6b08455b187380805c) >>
+>> endobj
+2101 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 270.914 513.996 281.818]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+2122 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 258.959 161.84 269.863]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+2102 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.902 233.937 194.248 243.42]
+/Subtype /Link
+/A << /S /GoTo /D (main_BMPZ10) >>
+>> endobj
+2103 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.496 197.462 295.736 208.366]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_aa6a2ae8d135b40f8bee030f76d52659c) >>
+>> endobj
+2104 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.005 197.462 435.562 208.366]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+2105 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.018 185.507 200.575 196.411]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+2106 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [168.503 160.485 209.849 169.969]
+/Subtype /Link
+/A << /S /GoTo /D (main_BMPZ10) >>
+>> endobj
+2107 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.603 124.011 307.806 134.914]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_aaeffe6c0f315667496085d5673d2a14c) >>
+>> endobj
+2108 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.744 112.055 196.301 122.959]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+2109 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.952 112.055 356.509 122.959]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+2110 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [168.503 87.033 209.849 96.517]
+/Subtype /Link
+/A << /S /GoTo /D (main_BMPZ10) >>
+>> endobj
+2112 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2116 0 obj <<
+/D [2114 0 R /XYZ 90 757.935 null]
+>> endobj
+2117 0 obj <<
+/D [2114 0 R /XYZ 90 715.095 null]
+>> endobj
+2118 0 obj <<
+/D [2114 0 R /XYZ 90 676.513 null]
+>> endobj
+2119 0 obj <<
+/D [2114 0 R /XYZ 90 637.93 null]
+>> endobj
+2113 0 obj <<
+/Font << /F70 402 0 R /F79 505 0 R /F56 367 0 R /F97 1188 0 R /F38 2120 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2169 0 obj <<
+/Length 1581      
+/Filter /FlateDecode
+>>
+stream
+x��Z�r�6}�W�ɕf* q!2�>$�d�Ǝj�/u2
J�b�)R!);��w��H���v���H��bwq�"�>Y�z�y>�
���RH	*���Rؒ� N�5��.�
+�^�`���
�]/�y�Gq7�W�2��w�Q�E�^�r�=�f:�{c��<�
���ՁyD�rXW�������a�s���"�\"isk<�\|��%<kad+ǺM[�,Fm���y���C�tMC��1۱$������R��S�K;I�$&����P�"m�����m:
�2��vT"Ɯ��Y��%��#KK˹ WY��/�-6���dE�?K�����D+�OR�g
Ga��!��F��
���X�x��f��K�a�&:N��Y-y���q�I����h
�ޒZ�U���)!X�v����E�˳�nzmФt��ܸ�6p�|d`�ȝ]���Sv�\�i���*���G9`=�|���z�=���r���
��+
������x~2���
纨5M5�U��R$���!O(��ԥ���
�I�߳G[�y�aQm
цj�nµ-�
+צw�ks����Ic�Fg/ ܙ�O��cd��I�6�yPp!
`�=�s!"or����-�D�O���Gh�l�r  ��#�k@�;Y�^߲���}��:Б��Q�����U!��"l��f连T�|L�1�ދ	m�a׹�J.����V�a��XU:z
w�������
+��R��M��:e��H?
+R��ѩ�Z�)�S�'s�9�AID3�2�ֈآJO�<��|'-I
�7�&pz�=���ogf�"uz��
�T at V;��t���z��`;��'���!�e��~�X-��
c)�y�-�y�l��v��VC��Z1�?��/�b?�hU&�(
+3��շ
�Y��=
����ל4o�x��y���"��t�
�وq`E��+���
+�v� �}h�������6r�S������}3�:R� &�c��X=�D|�ཉ�S@�Y&n
$t�Mٶ����0;�"�H�r��ٍ���z�+L0�qc �kޘ��t�!^�
qR.�I�x��;2
��2�qk�(RN�m����mA!���(I��~����{�9�p��8�;m��p�!�}�Su �9"\����
t@Š����sH^���T�n�'�Qw�����xW�jQ:�ձ�!t���9+��_ݱ��q
ߗ� �����IPY�;DJ1��ܹ�����H7Vu�A�l�d�	J��i?-b=?3�~�
Cō��p6��i�s�y$��5^Җ��=�Vq$Pp�'ޥ
+l�޺�يoL�}侸��l�t�Mlk��CH�
+��MI9���a����L����FA�Sp����o��t���o�nc� �"����tcQ�`������W�y��-���\{M�'�ʲ�w)�){�l+$���
���;�����A���8� �9��|K8��ξ_o_g	�
�/��+Ha~8,��^4���wg����g��:���y7�`N�`Q7&�
[Q\�X���L`�׷h�(첸����/SPъ�ġ�r�z�$�g�Ƿ��h
�E0�Gh�
�����
+X�B��&�LO�(���(�~�獦�B���e���
+endstream
+endobj
+2168 0 obj <<
+/Type /Page
+/Contents 2169 0 R
+/Resources 2167 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2081 0 R
+/Annots [ 2111 0 R 2131 0 R 2132 0 R 2133 0 R 2134 0 R 2135 0 R 2136 0 R 2137 0 R 2138 0 R 2139 0 R 2140 0 R 2141 0 R 2175 0 R 2142 0 R 2143 0 R 2144 0 R 2145 0 R 2146 0 R 2147 0 R 2148 0 R 2149 0 R 2150 0 R 2151 0 R 2152 0 R 2153 0 R 2154 0 R 2155 0 R 2156 0 R 2157 0 R 2158 0 R 2159 0 R 2160 0 R 2161 0 R 2166 0 R ]
+>> endobj
+2111 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 695.006 218.029 705.91]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a83e1eb0462a99f105974ae38c55e5382) >>
+>> endobj
+2131 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.675 680.385 228.857 690.29]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ad6c6b997fe2c49a8098bba1b6a45a008) >>
+>> endobj
+2132 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.266 680.385 454.611 690.29]
+/Subtype /Link
+/A << /S /GoTo /D (main_BMPZ10) >>
+>> endobj
+2133 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 644.196 227.991 655.1]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_abe0911e6125f86a771adc88932d96fc4) >>
+>> endobj
+2134 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.719 629.575 238.867 639.481]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a0d0db024e7accefca878d7e09d815788) >>
+>> endobj
+2135 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [166.953 619.038 208.298 628.522]
+/Subtype /Link
+/A << /S /GoTo /D (main_BMPZ10) >>
+>> endobj
+2136 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 582.428 268.679 593.332]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_afd604dc4c87ae10e8c41bceaf9eed8c3) >>
+>> endobj
+2137 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.541 582.428 392.364 593.332]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+2138 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.675 567.807 273.385 577.712]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a0f5fece719859502d9761d128734baea) >>
+>> endobj
+2139 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [457.793 567.807 499.138 577.712]
+/Subtype /Link
+/A << /S /GoTo /D (main_BMPZ10) >>
+>> endobj
+2140 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.147 531.618 278.674 542.522]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a273d8b57c5c3158b59a66a98351abd09) >>
+>> endobj
+2141 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [492.089 531.618 513.996 542.522]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+2175 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 520.037 139.135 530.567]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+2142 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.622 505.042 282.298 514.948]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a02bcf74a81fe5f35657f5f006c56bb29) >>
+>> endobj
+2143 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.103 494.084 233.449 503.989]
+/Subtype /Link
+/A << /S /GoTo /D (main_BMPZ10) >>
+>> endobj
+2144 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 457.895 267.931 468.799]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a079a46ea302194faf75833bf0f1beb6b) >>
+>> endobj
+2145 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.794 457.895 423.736 468.799]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+2146 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.675 443.274 273.393 453.179]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a8f608e24421a818d8e065a74425d8573) >>
+>> endobj
+2147 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [457.802 443.274 499.147 453.179]
+/Subtype /Link
+/A << /S /GoTo /D (main_BMPZ10) >>
+>> endobj
+2148 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.148 407.085 281.127 417.989]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a68ba0ee40d5b2fe4d512a046e19025d3) >>
+>> endobj
+2149 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 395.13 187.853 406.034]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+2150 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.622 380.509 282.306 390.415]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a64ce78ed8253fa6b08455b187380805c) >>
+>> endobj
+2151 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.103 369.551 233.449 379.456]
+/Subtype /Link
+/A << /S /GoTo /D (main_BMPZ10) >>
+>> endobj
+2152 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.771 296.808 350.579 307.822]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+2153 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.813 261.939 358.62 272.953]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+2154 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 239.025 202.902 250.039]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+2155 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 228.066 202.902 239.08]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+2156 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 217.107 202.902 228.121]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+2157 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 206.148 202.902 217.162]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+2158 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.772 145.406 272.333 155.592]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+2159 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [353.217 145.406 448.778 155.592]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+2160 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.772 110.536 272.333 120.723]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+2161 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [353.217 110.536 448.778 120.723]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+2166 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2170 0 obj <<
+/D [2168 0 R /XYZ 90 757.935 null]
+>> endobj
+2171 0 obj <<
+/D [2168 0 R /XYZ 90 726.054 null]
+>> endobj
+2172 0 obj <<
+/D [2168 0 R /XYZ 90 675.245 null]
+>> endobj
+2173 0 obj <<
+/D [2168 0 R /XYZ 90 613.476 null]
+>> endobj
+2174 0 obj <<
+/D [2168 0 R /XYZ 90 562.667 null]
+>> endobj
+2176 0 obj <<
+/D [2168 0 R /XYZ 90 488.943 null]
+>> endobj
+2177 0 obj <<
+/D [2168 0 R /XYZ 90 438.134 null]
+>> endobj
+2178 0 obj <<
+/D [2168 0 R /XYZ 90 323.842 null]
+>> endobj
+2179 0 obj <<
+/D [2168 0 R /XYZ 90 289.212 null]
+>> endobj
+2180 0 obj <<
+/D [2168 0 R /XYZ 90 254.343 null]
+>> endobj
+2181 0 obj <<
+/D [2168 0 R /XYZ 90 243.01 null]
+>> endobj
+2182 0 obj <<
+/D [2168 0 R /XYZ 90 232.051 null]
+>> endobj
+2183 0 obj <<
+/D [2168 0 R /XYZ 90 221.092 null]
+>> endobj
+2184 0 obj <<
+/D [2168 0 R /XYZ 90 171.722 null]
+>> endobj
+2185 0 obj <<
+/D [2168 0 R /XYZ 90 136.718 null]
+>> endobj
+2167 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F38 2120 0 R /F79 505 0 R /F11 446 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2199 0 obj <<
+/Length 1508      
+/Filter /FlateDecode
+>>
+stream
+x��YYo�8~���SV*��xHF�@���ɦn�E[��$�ʒ+�M��w(R�|&ͦ��'� 9�7��H�Υ���?����;���‰�#A�g8q>�"�O0��G��xt�Q���͕���ur^�ō�S��A<U�,
+s{�.T��U�~Dd2W�ާ��޳a�K���!�X.�
�3��>|����t0
+�й�gM
FS�m��
�&�)\tL!D"+$
���R^�o�Ջ$�$&zQ���E=�R�YWJ/8|
��yT"Ƣf�c3ci'�x(ڝnf*��
��a�%� ."H�f��[i
c}B9��A��>���T��/�
+B:+�ѐ.Y�3`���k>� Hk�q9�U�Q�~�w��=�R��:V�d��K� �o0��ś�uG��]~��Z���պ��
|̈́p���/�#
��V�ZO6�?�u��\��R|%$��<� �bD1�Y:hͬ��QH�_���Q^�ԗy�nښ���>b��yVV�d9�f��}G�XD���
����G{��������ug�c�}�����SO��C�T�定/0���yO�-��{��������zF�������%������塴ћ��2�`0;��TWyQ�g�*b�S�-	���aC�x��μ!J����僥��bud
7�
+������g!��?�d�ao.���{�hc�Y ݸ
'�h2��~��)�I���U��W�9(m
+��t�.�,��]\� �#�Nm��@P����?���j5뫋�0`��i�l�qĵ#-�h��-$�)��H�1"lO�;����aᒨM$
a�
���:�	���}û�b�?����i
OV)�'�S�bQS45����)��ƺ��a��jE
�d��C3 ��
R)���Q7.
���@��
C��h�q�T����|�*r
�u}� �WdӠ��D4Z�8��w�($�
��!$�ڭG|
g�<)��o���K�q>�.��n�c�P�	Pه�1�ǎ
|�<�*e��r3B+U�J+�m�fZ����o5��
+�
 `�
��;OU�Gl�=U�H��ub������ᕍB�UIa���PR�-
@D�FLcbu��Ț$�����g�Q�Z��e���Z�
=�\MtcO>�����.�+6�{��P��Yx˩W���yZ���qY�|��7(��>�u#j�Q3/�[@�����H	�ð9����������]�!
+D�Y�Jm��q�|z��YQ[`�f��:���o7��[�A�zs<x�vt<x~<8
��3[�A�k���� �wK�

/Ius?]Y+ʞ�����8.<y��ɏP�YQr��=�R�A�m�
�Vh�� �
���S�g��٫���9F�4ǛD�f�S�6M'{����.
%�+U�ǹk3Û8���k]~
E�2
#Bt�E� iߪ&��>;��+�iG[R�e�Z]Uլxx}}��%�gɬ@Iu8����`tv��.I[��:=͋6P���Ak���2��
+endstream
+endobj
+2198 0 obj <<
+/Type /Page
+/Contents 2199 0 R
+/Resources 2197 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2081 0 R
+/Annots [ 2162 0 R 2163 0 R 2164 0 R 2165 0 R 2186 0 R 2187 0 R 2188 0 R 2189 0 R 2190 0 R 2191 0 R 2192 0 R 2193 0 R 2194 0 R 2195 0 R 2196 0 R ]
+>> endobj
+2162 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.772 708.674 272.333 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+2163 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [353.217 708.674 448.778 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+2164 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.772 673.805 272.333 683.992]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+2165 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [353.217 673.805 448.778 683.992]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+2186 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.772 638.936 272.333 649.123]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+2187 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [353.217 638.936 448.778 649.123]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+2188 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.772 604.067 272.333 614.253]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+2189 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [353.217 604.067 448.778 614.253]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+2190 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.484 529.934 272.045 540.838]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+2191 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.209 529.934 439.139 540.838]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a9bfba21dd2d808e2eabd2348e92cb96a) >>
+>> endobj
+2192 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.183 469.162 269.744 480.066]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+2193 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.225 469.162 419.615 480.066]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a3504c6384a7e40501e2cfc49ba870ad5) >>
+>> endobj
+2194 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 378.437 182.234 389.341]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Throwable) >>
+>> endobj
+2195 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.892 378.437 358.581 389.341]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga00a906832c41c42a70a5c9d194e07a7d) >>
+>> endobj
+2196 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2200 0 obj <<
+/D [2198 0 R /XYZ 90 757.935 null]
+>> endobj
+2201 0 obj <<
+/D [2198 0 R /XYZ 90 733.028 null]
+>> endobj
+2202 0 obj <<
+/D [2198 0 R /XYZ 90 699.987 null]
+>> endobj
+2203 0 obj <<
+/D [2198 0 R /XYZ 90 665.118 null]
+>> endobj
+2204 0 obj <<
+/D [2198 0 R /XYZ 90 630.249 null]
+>> endobj
+2205 0 obj <<
+/D [2198 0 R /XYZ 90 556.968 null]
+>> endobj
+2206 0 obj <<
+/D [2198 0 R /XYZ 90 498.218 null]
+>> endobj
+2207 0 obj <<
+/D [2198 0 R /XYZ 90 397.411 null]
+>> endobj
+2208 0 obj <<
+/D [2198 0 R /XYZ 90 341.117 null]
+>> endobj
+2209 0 obj <<
+/D [2198 0 R /XYZ 90 282.416 null]
+>> endobj
+1960 0 obj <<
+/D [2198 0 R /XYZ 90 258.202 null]
+>> endobj
+2210 0 obj <<
+/D [2198 0 R /XYZ 90 258.202 null]
+>> endobj
+1961 0 obj <<
+/D [2198 0 R /XYZ 107.713 178.698 null]
+>> endobj
+1962 0 obj <<
+/D [2198 0 R /XYZ 107.713 162.758 null]
+>> endobj
+1963 0 obj <<
+/D [2198 0 R /XYZ 107.713 146.818 null]
+>> endobj
+1964 0 obj <<
+/D [2198 0 R /XYZ 107.713 130.878 null]
+>> endobj
+1965 0 obj <<
+/D [2198 0 R /XYZ 90 121.692 null]
+>> endobj
+2197 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F38 2120 0 R /F11 446 0 R /F79 505 0 R /F23 368 0 R /F100 1390 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2215 0 obj <<
+/Length 1418      
+/Filter /FlateDecode
+>>
+stream
+x��X[s�8~���0�eI .y˦$�nJR���N��`[N�bp7��G���I���l�	�����s��qk`��۸78������1�6<� F�1�_� �O0��E����Ң����
���y2)�bm�)�f/x���\�����M��.��cz��m���{?z``�l�2y63��ޗoؘA�#;��ͬ��P��q���Ý����j
+�"�h�l����::�r�V7#��U�g�Z���(\��0�;���޼���8jM���)@h � ��aF��G7����_��S�6V� 1���fE�K6?-��8]�R������1�
՝:�B�A;B���JL�08[t���ٰ�'Z�c���۠��]�pd��"}����i�X�Y�'L�U�;� W(v��
;
w��k�缬5g�AC�١q6�s �:��Y��
+
�UYHD��iD��v啔��_�M�G��>4��xe.׮U=�8ZV��t
?�n>�]7�|�Ӵ#���]�s'��]��
Y#��?�����Ff��"�
�;�j������V)�+g]�����ŲZ[.3�%
)�y�Û�atv
�E
���Pz6"�=�],�E����Y��-�<�T ZA8\|�6K1�~	苼�ۨ�	�p�.��[��,_ĉ�n�%b)�(�iDqk�u4�
��:������[�K�W��
ˁX��o<���̠��u�;�o��6����"ʜ�ӭL�l�
+�h�
b#A��^���𸍼��(

[���N*����8{�A�%�_CjS
�<Z9�,G
X�
�?���%��
���j_���P��A`�����&١p��6ܓߏ���}gPd��$_�"@\UU^x���m]����m_$��w|�:: �M/8s���CxO�Ye�Ѿ)A<�-�ϏG��0��3y�죠
c�)�Z�s�e�PK��$Ycq>߭E�3	�(�nl�H�(4u�y
+���>�B��U�;p�S|%h,��z�yVV�� � |�����~�7��^�[�N�,ӷ���a��D��:���#��2����RƈW�"+[	A 
Q�\VE��@���X�׆vyy����T�Z#
r)kZ !f��PsY���&��=F�
N~�:�I��dSʄeR&��
�߉�@�!f�LyV�� 5�x�]N�؏��m�r�^꾈-b�
+
=vWe�	A��w5]P/St�8�1O޾
[��2I7̡{Un,
Z�R�'�WI���6�o���
^��b�2/��F��
�%+4�Uv�*���%�
��$+���hNJ��H�G�}��<C����}�
)�И�-.���#�_�	���z]�⍰>e��
n�[i���['�.�W�+���wC��������᭷�U��h0���G�A��,PR
��t�0 at 6v!�H
�뀷��t��$>��
+endstream
+endobj
+2214 0 obj <<
+/Type /Page
+/Contents 2215 0 R
+/Resources 2213 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2081 0 R
+/Annots [ 2212 0 R ]
+>> endobj
+2212 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2216 0 obj <<
+/D [2214 0 R /XYZ 90 757.935 null]
+>> endobj
+2217 0 obj <<
+/D [2214 0 R /XYZ 90 733.028 null]
+>> endobj
+1966 0 obj <<
+/D [2214 0 R /XYZ 107.713 659.164 null]
+>> endobj
+1967 0 obj <<
+/D [2214 0 R /XYZ 107.713 643.224 null]
+>> endobj
+1968 0 obj <<
+/D [2214 0 R /XYZ 107.713 627.284 null]
+>> endobj
+1969 0 obj <<
+/D [2214 0 R /XYZ 107.713 611.344 null]
+>> endobj
+1970 0 obj <<
+/D [2214 0 R /XYZ 107.713 595.403 null]
+>> endobj
+1971 0 obj <<
+/D [2214 0 R /XYZ 107.713 579.463 null]
+>> endobj
+1972 0 obj <<
+/D [2214 0 R /XYZ 107.713 563.523 null]
+>> endobj
+1973 0 obj <<
+/D [2214 0 R /XYZ 107.713 547.583 null]
+>> endobj
+2022 0 obj <<
+/D [2214 0 R /XYZ 90 537.456 null]
+>> endobj
+2218 0 obj <<
+/D [2214 0 R /XYZ 90 522.885 null]
+>> endobj
+2023 0 obj <<
+/D [2214 0 R /XYZ 107.713 443.517 null]
+>> endobj
+2024 0 obj <<
+/D [2214 0 R /XYZ 107.713 427.576 null]
+>> endobj
+2025 0 obj <<
+/D [2214 0 R /XYZ 107.713 411.636 null]
+>> endobj
+2026 0 obj <<
+/D [2214 0 R /XYZ 107.713 395.696 null]
+>> endobj
+2027 0 obj <<
+/D [2214 0 R /XYZ 107.713 379.756 null]
+>> endobj
+2028 0 obj <<
+/D [2214 0 R /XYZ 107.713 363.816 null]
+>> endobj
+2029 0 obj <<
+/D [2214 0 R /XYZ 107.713 347.875 null]
+>> endobj
+2030 0 obj <<
+/D [2214 0 R /XYZ 107.713 331.935 null]
+>> endobj
+2031 0 obj <<
+/D [2214 0 R /XYZ 107.713 315.995 null]
+>> endobj
+2032 0 obj <<
+/D [2214 0 R /XYZ 107.713 300.055 null]
+>> endobj
+2033 0 obj <<
+/D [2214 0 R /XYZ 107.713 284.114 null]
+>> endobj
+2034 0 obj <<
+/D [2214 0 R /XYZ 107.713 268.174 null]
+>> endobj
+2035 0 obj <<
+/D [2214 0 R /XYZ 107.713 252.234 null]
+>> endobj
+2219 0 obj <<
+/D [2214 0 R /XYZ 90 235.507 null]
+>> endobj
+2036 0 obj <<
+/D [2214 0 R /XYZ 90 213.195 null]
+>> endobj
+2220 0 obj <<
+/D [2214 0 R /XYZ 90 213.195 null]
+>> endobj
+2037 0 obj <<
+/D [2214 0 R /XYZ 90 112.182 null]
+>> endobj
+2213 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2226 0 obj <<
+/Length 1848      
+/Filter /FlateDecode
+>>
+stream
+xڵX[o�6~����&5C�`�mѮ)���e�A�t,T�RR�����j�V.
��D"M
��w�s(�\;�y;{��������4�"g�uR��A�G��ƹtSD�
�1v�����tu>��[w;��t�!_s���
/��GZ���S��l���$.����$p<�Z���^��
"�
c������+�l`�����&έ\U:��óp.f�f�A<�(�& yڌaF�o���uzڲn%-��j�W׫��
ݚ���?(��k��J�m'o�8D$u�>�yU��R+�h�p�W.���W�/Xת������/�k�Ԩ�7zA[�
�;�k���4����״e�1ue��~M;{DS畖X��q��V��U���e]q7�B	C�x?�<
��.�;�k�
�ۚ�J�Ҿ�K88�Eq��:��ʻ��*t_ty��|���kU	XlDo�J�9>�blcN�+sH���T������ΜK�;gmWs�j�oa-�p��2��ʄE`À�"V
+���3��
2�n�o
�Q�~�A
+,#�ù>AA0���<��$���N=�1�?
�^���i��K���84���{Х���=Γ1r�f/�
p�‹�G���� n0�ڈg��A��E�1`��X��V1(
�z/�$� IM��%�
8�h= �}k��՜��>]����#��Y�m�c�<G���s�����:���s#�F�1k�z4-�M��v,���~<�^�Q
����,
�����
R@٘6	"~jN �†��Y]6}�~|jT�fs
��V�}A�s!��|��u=������
+��C�2bbx���f��u�d�r}�3���q�d,Wd��$R��c9�A�=jޮ� ��W�v0@�+*�|#h��]���

Ss�<��9����0s��J�4�p
�P����Wm~]AFip��#E$1�o&, �$4+�C���cD �#�=H�1��Q��Bh
Cʡ�T�+�`����c
d�f�r��d�9� �k���b
��@�9�V��
��2���ly	ӫ:݀y�	и�!�N�޹�:
+ް�oa�37�8��� ��'��}��O��!�	
+"+��)��t��zj_�o�	x`�DH�}'���ru�򯉃I�u/tS�?���Ѓ�y,�(��
���5"
<�$V[^�X������0I�($ݧ]�mNO�j
 �@�ܬ(�
C�+3R;��-"�
���ڛBM�A
+����5g�FF"�Xt���K~
S

Y"��%�x�> �Dܱ�����J�`{
���6�6q \V�iwװ
+����V\�^N�$(N���&�`_��u]h����$�Ϫ�6~uv�v�Ҡ����c�6�"�J˷_�Jx�'�
:����g��1..�1���r���(aF;ӯJ"��, +��I�Ow���Z�Z��g��(�
p��l�Y�}����Wg�|u�f?��PRӃ�_�S�50
���ƞ������Y��4W�0LT�.�+Gm�45�eM
�z��x�_�
�[LX��_��	N�O�,��C��6+�JN����Q�
�(IB�h��*֏�/��K�^�
�|�'�W�8/�u�H�uq��#ڀ��祹G���1���Nu���f0#�.v�GQ׍x�խ�Ս�
+&�ET��GP��w?�g���Z�U��s���
��-`s���hf�\��WgԶE�6��a^V��t�ï�T�T��QP~
�"A,���(
۾sQA�zh8U
G�4�@��<
]���l�#���������
ƴ�ʮ��y�s&Sb�-I<�c���9=9���EY��*o8ʻ��)N�Q6�B@��n���� �~���/�p��
+endstream
+endobj
+2225 0 obj <<
+/Type /Page
+/Contents 2226 0 R
+/Resources 2224 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2081 0 R
+/Annots [ 2211 0 R 2230 0 R 2221 0 R 2222 0 R 2223 0 R ]
+>> endobj
+2211 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.893 660.314 513.996 671.218]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a6c841f33162c2419bd53a078e6c788ee) >>
+>> endobj
+2230 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 648.359 155.753 659.263]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a6c841f33162c2419bd53a078e6c788ee) >>
+>> endobj
+2221 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.473 557.316 424.869 568.22]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a63bd7c7767faf3c219f9c2762095e2dd) >>
+>> endobj
+2222 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [417.838 189.123 463.556 200.027]
+/Subtype /Link
+/A << /S /GoTo /D (main_BMPZ10) >>
+>> endobj
+2223 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2227 0 obj <<
+/D [2225 0 R /XYZ 90 757.935 null]
+>> endobj
+2228 0 obj <<
+/D [2225 0 R /XYZ 90 733.028 null]
+>> endobj
+2038 0 obj <<
+/D [2225 0 R /XYZ 267.991 651.512 null]
+>> endobj
+2231 0 obj <<
+/D [2225 0 R /XYZ 90 635.534 null]
+>> endobj
+2082 0 obj <<
+/D [2225 0 R /XYZ 484.685 548.514 null]
+>> endobj
+2232 0 obj <<
+/D [2225 0 R /XYZ 90 532.536 null]
+>> endobj
+2083 0 obj <<
+/D [2225 0 R /XYZ 199.727 445.515 null]
+>> endobj
+2233 0 obj <<
+/D [2225 0 R /XYZ 90 431.595 null]
+>> endobj
+2123 0 obj <<
+/D [2225 0 R /XYZ 90 275.493 null]
+>> endobj
+2234 0 obj <<
+/D [2225 0 R /XYZ 90 261.672 null]
+>> endobj
+2224 0 obj <<
+/Font << /F70 402 0 R /F104 2229 0 R /F56 367 0 R /F79 505 0 R /F100 1390 0 R /F23 368 0 R /F72 404 0 R /F11 446 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2240 0 obj <<
+/Length 2365      
+/Filter /FlateDecode
+>>
+stream
+x��Z�o��_���
�~S�+�.�t�{ivaȶ�kK�$7���
~I�-'���K�/1E�����o�?'w	N~>�����'����2�Y''J$(InV��D#2����jJ�$����jJ��<��:��V,�~�Ψ��߳m��e�
��뼞�t��f�(��IJ�n~9����_g��	��
+��r{v�'+��%���4y�RۄS�����g�o�[2�
+a)�E�R����T���{�?��".S��
+�i$A�%i�R# ��<aH鄰R�
Nf�4u�k��ራ���dނs��\��>T�x�&nj�
+���XC�9J;��I
\���`�dN�rX��E��*�y�U�8Ui�t,"x��]�$�`��`8�^��`,(y�yl�u"dd�C�
�"�Ql��$3`��G
ό ��3��|Bp���W;}���'�����/�6���h���m�\��h �vX at 4P��u&�����}^�H<ٗ�
�rO��RHYL�$[l������Λ�l�c{��қ��zR�6U����&7�N:(���]�m݋a�h�E����F��
�!H
���*k��uy
�n�L��M;K`�X���q*�g�0l�\y
�
�
+bĊ>�/��@�x���x

��0��-
;t����
����8F�*8oHz���]������]��`Y���0���|$� 3��B���2ȏ�4�<��]m�w��?�-ؾr�-
=�
��a&��]��Ϯ��!EhY����-^�%,ռ
Y#5�H���lӌ��ԇ���`�ݭ�*7S�˪\n�M�"
��	�Ak�S=
ٿWF�!��)�.�Y��rC�
;�b�
�Rҡ׮�25ɗEc�3��u����Ζ��?!�}l�I�6v��e�]lG!���*'��Pl
r<%Ul�A����
q����;�<�q�G�Ϻ�dJ	az�[�QJi
6M-n�Z��
d8��r�C:v��e����K��/>Hk�J�OLK�Ү�E
)�޶�v�1Hx\u��!
��+��}��%��u���SIP���HL��뢪6^��M��EpT�ɴ�����w�c�}���A�=
�A��ƛ�h;�K�+b�@��8��Ph�ePlތ����n�_����%8��}�c�
� [...]
+�c��,�W
o
}��^�mh֙1�d��8�hKS1�w�/l/��}�%n7�
MçN@��}��
ʦ�!���S�t��g���f��f���p�@���m��R�i�w�m��w��ПJ�Y!��v+� �3v�4F�఺6פsy��}Y��~��$�n�G��m
!~��	�FӢ\ˮK��`��TK���G����y��4Ä��@$
\G��M�'y�C@"@�Ά
"aX(O���bPE
���〙8�3��D
\ڔol�I
0"�†H�?*�C о
������*]e�=�C
�?����x
F���)�e4�o��g3��W
����_�j�T
���<�h��JH8:*z~����'�`q�\
A�RϾ�Ǣ�>������B:{bslM���>��#$gLl
+�?�)D��"&6���~&zbS
�S�b�Cr���
+8b�j�8�Q�
�)��p�q��j
�6���B3��0�cl\i2o7MqWZ��h����lVm�j��d�Q*Y�b�_bB!
+pp@�;��U+H6lNe���	�Sl��H��kxgS
+I��O �C��)a���
+��|�昏S�p
V)YJXRv��?@j�N�Uq�+�&�b�Y#F��
�R̻1�l���<�#
sΝ�BK9̯�Nz�1�����$�y��0�䋘f��L3�>k=�4�_�ifP2O1�
Q%��	"=:��*|�k��|>
��F���J�y����4_�˥%�/�a�
#=�2
���t���r������Q���Hҹ���묭�'K�z��Q�����!��p��XB���3\3X�f=�}7*�$�I㞽
�C�{
+5
3?5NP���0Kڸf�'�a�����V��z6����և�$Sh�ӗ�CP���� *��
�o����x��
��
���G���M���s���l��&z}�i��~NL at xJ�:L����$�~u�Bo-I)\i;��o�������Z6h_���n�9?fu"-�#�_9
��~���P����w���Ɉ��
+endstream
+endobj
+2239 0 obj <<
+/Type /Page
+/Contents 2240 0 R
+/Resources 2238 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2244 0 R
+/Annots [ 2235 0 R 2236 0 R 2237 0 R ]
+>> endobj
+2235 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [417.838 508.117 463.556 519.02]
+/Subtype /Link
+/A << /S /GoTo /D (main_BMPZ10) >>
+>> endobj
+2236 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [116.949 86.846 162.667 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (main_BMPZ10) >>
+>> endobj
+2237 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2241 0 obj <<
+/D [2239 0 R /XYZ 90 757.935 null]
+>> endobj
+2124 0 obj <<
+/D [2239 0 R /XYZ 90 594.867 null]
+>> endobj
+2242 0 obj <<
+/D [2239 0 R /XYZ 90 580.666 null]
+>> endobj
+2125 0 obj <<
+/D [2239 0 R /XYZ 90 196.949 null]
+>> endobj
+2243 0 obj <<
+/D [2239 0 R /XYZ 90 182.748 null]
+>> endobj
+2238 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F11 446 0 R /F13 581 0 R /F7 541 0 R /F10 507 0 R /F8 540 0 R /F23 368 0 R /F72 404 0 R /F79 505 0 R /F100 1390 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2249 0 obj <<
+/Length 2686      
+/Filter /FlateDecode
+>>
+stream
+x��Zm�۸���B�Z��|��-�.W\/�m�E�&�Bk�k!��Jr��~}�o%s��4(�^>$&��
g��Y��%8����˗'*2�%כ�����$���mZ �X�qz� 8-�}ys��8mv[�n˛�۶lK*p�c�Wݡ\)�}�6�]�<U�
"��y������/������m��e�D��d��x�
'k�>��yro��	�
~wɛ��^`w��Q�a�I3D2n�s�(h���]ٻ-�c��{�vfgs֗/A c�#��dI`H���ͷדɗ/E̡b
>�?�
"R�yzh���To{��ph�^�m���[eWW?���M9��f��Z�n����<h��#�1��}UW��g��Y5u׷���;,0�#v��K��s�&�Al�f�fG��Òc�Q	
(�˜��
��
j�
��Ή� �� w��,
$�{��S�/����CFںq���V��U�ڑf�fٟ]�
tK��ۦs��D \���v��<�a��.w |�X2��k��� �j�O��r*��v��Y�nU���S�r�kV�� �u�7
�k�������}PXE�,w��R1�+!��MʽX��BX��B�\ ��'
e�q�N#�,3���8��,��	����y6$��s����^���f�D9c��|�
�SG��D�����
+��{�
+�ߺګ�%�,�<�e,�+���L�^��~��݆�D�<�O6��w`�O��[I��O6�l�;K�
$
��PN?_y��,	�xB7�_��T7��
����]�d㳻��o��h�)�l�����8��k�6�F��)��*c�2�
�C
�Y۞7u
25mաU��{�u��S�����/[�S��R{&`����؉~�`�[�i�
���� 4����B�ة��9
+f�۝��s
+0t۬�
����p�z�8x1�d?� �A�x"�`d`�����
i�_e�vhؓ�=��/��$�^��x��צ G���}��D������"�D�
Dڷ2�Af����Z�:����o�u�]��nz��@���Կ����#���m�4{f�����w�z��K	��Rn�&�M�n+��Mo��
�az��c
whn��!Ԫ��M���9dp�Z�h�,Y[�,$���X�
f�=�x`�S
��Z
�h��!��s��EC0
+�h�].�z��ܙD0y4^4;u �Ʊ3�|�`��ra-:�WdW��j�
+ƟK�q�
*�b ��
�0VSO7JQ>��?ļ
���

���#O6qz�*&=���K
���Dm!��D��G^�w�>���.?+�%���k�L�����q�#W�=3��cPB�<\�BwPy��Y�j��VW8���'33����Vxnb8���i��
�ښ�pc���,
F�T���� G�C(� �D�/�X>�~�@����
sz->�"
����a0�
�2�	�0qv��Z�C����Y�K�������7j�f�M�o` 0k��$�5^��>D� z`�C��ƒ��ʸ��ג1���Xu/
��b��M��b�c
	V�Og^��=�����0R�3�W�c\rX�(ϋ����F�j�n
[�F���;�:	��
+n:N�ox��v�d
+��҉
3G�j[��
+�W��ѡ��4�6b�h�
�
D-��W�d1�<�� )���A��,Cw�GΞBw��;��,��Ȗ�m�4T
+�l뵏�v.7�o���H��� �=����"��c�{�L8t�
IS�P����7F,%8�A ���H�A�����˽ޢC�q��S�ᩍ��o�f��O�>`��X�x� �����J�Ӎ�CR��n^����i
�X
+,S�uԃ�
�|��w��
�l���o�B6�]۞E���Gs2�Ć�x|�L .�d!"��t
��O���U[�
7����X���J�� 3?˳>��8
�Yk_�d�
��I
+�qgu��C�V�~a��
��
z`>���
U{�u6VrocUf�(��yI��&���f��W���v�Y�����IH���Uu���G]-h�\���w�[�L�~��������>�1�s
�A]��
+��m� ��n@褆�L{�A��7+0�F�,;�\v��tPĽ�S|J&�(�t�&Oe�C�q�h�æ|��

vg���uxvYC^˔f���):8a>��#w�zH�ir �� �e���j�l8���ȧ���S����Z�x*C	.17A�Vq�����b���5CI�X�ԗ
a`^6�!�P�,O+
0��ZM�%	2���
��N)fp��kI�쵋�t�}�p��_���UL�T3�OV1œU��k󳫘���u�1!
�
�˽?6�~r��
��r&'���I
��T!���7�!$x�Q ϱ�[S��̐����rKX��Y~?S��򋰖IE�,b�e����P(����d`l-�p
ʶQ�C�R��ڂ��WX�l�蔞wb�\fqR$��5��c!Qsh��rٸ֜U�D<yI����ǘ��r9�s4��F��z���D2�@!IkD�a`e�X���rS��?�3�k�6
X�rb���c�-L"�u}&�v'o��N��]�8|𪬏�ζu�꒸�+>�P��&o���>$�����I9�bc{���痗���hաc]
ZT������[\Gr�{�ʊ�}�OU�iR7'���MWj
+endstream
+endobj
+2248 0 obj <<
+/Type /Page
+/Contents 2249 0 R
+/Resources 2247 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2244 0 R
+/Annots [ 2245 0 R 2246 0 R ]
+>> endobj
+2245 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [116.949 331.822 162.667 342.168]
+/Subtype /Link
+/A << /S /GoTo /D (main_BMPZ10) >>
+>> endobj
+2246 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2250 0 obj <<
+/D [2248 0 R /XYZ 90 757.935 null]
+>> endobj
+2126 0 obj <<
+/D [2248 0 R /XYZ 90 442.18 null]
+>> endobj
+2251 0 obj <<
+/D [2248 0 R /XYZ 90 427.724 null]
+>> endobj
+2247 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F11 446 0 R /F13 581 0 R /F7 541 0 R /F10 507 0 R /F8 540 0 R /F23 368 0 R /F1 580 0 R /F79 505 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2257 0 obj <<
+/Length 2949      
+/Filter /FlateDecode
+>>
+stream
+x���n��=_��VƎ^DQ�i
�;[lw�t&E��
�Vbalɕ��f����"�6�df�@
��&��C��/"�mB�ξ�<;-I�2U�"��IIdA3�hr�Lާ*��9%��3JҪ�TW3F�n}���}u�Ss�W��l�I�Vm�a[-j3}[�����i�����Ӓ�>^�x���ٿ�(
�$To+d&�H���I����qU&wj����:yw��3b�@N^�T!y"Y��"7ױ��S��~��8Dt��롡e&�J��O3h6����ע�`��
��U�"4��y at Lf�J����
+0P�G�f�͹�Ӿ����^��iI���=p��04� `g�o�5��
��o9��e��ۡ��Q)�O�	\��cX��'5���� �Ji�>Te����[6�=Tk���v;|=�s�2.J ?���/����
+
d��%�E�V/�M��<�nfL�������Oz/�����/kf]o��fe�u[3���K��������
�Iez�z
3�
�U 8ކ�k�t���x�M��\f���
++GI�)	t�d��,WV��1{ \�ă���泆 kX'��D�� J�"��,/�'x5�)�U#��eYI���i五e,/ P�����!���Ĩ����9�Jd<��
+�
���c�"3��Wr,������+0��<�ؒs �q�2��%��O��Wf�
X�ќ�¡!,�
�ފ���"]t�����nw�0*s`4���� �>419��Xt}��k���wf_<��0$�[�����2�JP5��ձ�!k�h��V��O`�%4�BO��Qr�T����(�1�I���
�W�EC}�Q����Y!����
=�$�L��[e~�^
1��������۞v�0w�]�jq�{�Hk���v�w?7�j��"<����e4#|D�
�ݩ�GB-k�f�
RFo�Ŧia���	V#�n���
����vZk��{g��χ��i�X��U��p��Y^�Ї��C��z��g9A��$�
�O.h&��'��u
�+v�Bifa�v�6�|�
ς*
=���g\����y�x3�z���ox�_�z��y
�sn�:0����[�[r�,C�ۋ��vEC�꼯ז��Sa���@o!5�o��u=���Q� y걠� �C���(�	#���d2����<Ӄ�]���IE���3�F�
\�^fT��n
�
+�ѥ�D�
+9�
鰹Ǯ�l׀!f�A�&^�!���D��m�B��1\�^���2nՋr�?Ep�U/'[����YZ�'J/_V�5�	N��F�(xT^�T������՛w��1�l^0.�զ �m��w�eg��EN}}{��l2A�9��r۞��(&���_Ga;+�����cC����s��6���I�Z�27zumqt��V8^|�^|3��a�������f�����G,n4.��H'W�Ҽ}}o���C[�K31��w8�c��u_��'�1%�omn�����֤�߽��%�	�>�	����DQG;�R�S��I��t
�P�Rc�y� �:_-Di�S�z6�ۮ����H
?��ʾ�x�,�a��$޼�ɋ�Ѧm6��WZ��
+���uJY.@�E�M� <̇�d�� \�cį�G�0P9Iv
kF��X��DqDHF\����zU����L���o�?k�!.�[u�}k(�
U
�q
?��]�
�S�����hoi�D�
71	��na�==��o:Xב��2T#0���Fd.[���8 k�'P���ߥ��(��YAE����H	��

ɟ�#�ak�y�4Afg�#��I
���׫ �v.PpA��S�	p���>Grğ79
+Dg����p���G>X�x��>V���XBox�}��rO����1
+SA�=&:1� 
*v� i W�41'Sb*F`�H�o�=fif����h�
+�ַ�y���pI���s��
� Ne
E�u�0�0�m.7�)���D

+��=�-�=+l��I`��Xҩ��Wjc!��Ƞ��y �Oq@x�i���w��7Bߠ��0{37=t�'��[U��|��1�)w��|�����
"2�Ͻ�=�Vfq���٥��ǵgUܒ���Ç
�{�������VX�y��:4
3�
ay����Z�N �a�^���t� �;M1S��AAWư
��
�<�}�fe�Q��!�F��f	�m�	zݯ,
D�\ı?�珕��'�&
!

tW��x�{c}»
+�a]W+��\�}ʱ?#��� 3���J�F���FB�?�HB>�� ���>B�o�H(����<�37�F�/+�F�ѐ�Zpq�~���d�y��ֽ0���)�EF
��Ie8=�iEUȟ�4Oa��Bf��0[<'��C���;Nm
$i�{8��и
�@�0��l�_y��hs	��U�B��3�?��)뼆)?�8���x,�e~�'�4} ����h(y&I�4�aDj��f�sa"�!ڙ�M]��xn��:ˉ+��R�.�<dx�;���Ӎ�d�B	��������
=ڳ�lj��^�Q{eƂ�>��c���ᑎ�����|<:U���v/YX�z��d��ԻxX<8=�_�8�2�:%�_ռ�h^,;g��]���eb�V9���QH�.H�	��pA�M�\M��	¤8�Qx��Mţ�F�E-��[!f��΀��b�i� �r��E�a�8���K
+u��ԧ��X?EDz_<u�Bx!�����x�\f|"g��b��3�TH��U�|B+&�FO��)�����`�ԃ9���(u���6�o��S�(�r�辚�6B+��:M3����
u����5�o�v_��5����~�FR��A�F�j��a��)q���o8��{{����n������.[
پm�}��η���q���B�LN%>��
I7���7-f�Z����
�;
+endstream
+endobj
+2256 0 obj <<
+/Type /Page
+/Contents 2257 0 R
+/Resources 2255 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2244 0 R
+/Annots [ 2252 0 R 2253 0 R 2254 0 R ]
+>> endobj
+2252 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [116.949 482.043 162.667 492.389]
+/Subtype /Link
+/A << /S /GoTo /D (main_BMPZ10) >>
+>> endobj
+2253 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [116.949 94.036 162.667 104.382]
+/Subtype /Link
+/A << /S /GoTo /D (main_BMPZ10) >>
+>> endobj
+2254 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2258 0 obj <<
+/D [2256 0 R /XYZ 90 757.935 null]
+>> endobj
+2127 0 obj <<
+/D [2256 0 R /XYZ 90 592.515 null]
+>> endobj
+2259 0 obj <<
+/D [2256 0 R /XYZ 90 577.945 null]
+>> endobj
+2128 0 obj <<
+/D [2256 0 R /XYZ 90 204.508 null]
+>> endobj
+2260 0 obj <<
+/D [2256 0 R /XYZ 90 189.938 null]
+>> endobj
+2255 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F11 446 0 R /F8 540 0 R /F7 541 0 R /F1 580 0 R /F10 507 0 R /F23 368 0 R /F79 505 0 R /F13 581 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2265 0 obj <<
+/Length 2748      
+/Filter /FlateDecode
+>>
+stream
+x��Zmo����_�O�����N��h�$E�
�9z9��>�H���q}g��ܥ(�Ҥ@���-r��ݙ�y�4{��쫋Ϯ..��iV�Rs�]�f%�r͈�,��do%a���.^/]Tݮ�~��t�n�̦����o��{X����o�����ڸ��̭閬X��X^rQ�廫�/������6h��*'�P�zw��
�60�uF�(�����e�
��fo.�qA=
�,+EI(�Y�5aZ:v��%_��~[
�=[���z��)��/A aV���ي��R���7_\%/_~�t�/����N�k�dj"S�X�ۺ9������~�v�q�7~��θ�ׯ�	#�eߵH�C�1�8����DA�a���w���z�6���p�SEᏹ�V\*R
+�f#� ��vC&�'簒�h�Nh���
�^��#��]ߘ[��v�P�i��X�D�"��]�Q�T�CݼwCV�x�a�բ�
QĢ��n���m���l
>w��C�JWW7[���(��� ^�-m������
f�:�7V�-+`h`�+|9[	�@�'g�w�X��u�~--�@F��M�yQ����?3V4xY5��ԇ�� ��@(e�/�������j�m��!���o[G����@3F��9�
���\M���@����O!Ӥ�EaՂ�RI"K/%��	Id�Es>,���%�h����Oݠ_��h1��B�d�f�s�T/��u�i����0vS�L��`ÎT�
U��A��,ke�„���o�x�! �� ,߃�8�
+^
S��%��PR( (b�șW�
�[ ��p @L
�#
,��#L� ����)�D
?�8�I$P�(6����)0�+�� R(�� �Vna���SS�=[>�����L%���V�Тx8�?�)4��&���x
+;�u�S�x��ΊӒ�%�HW�g�1���'��<���p��2�͟R�9� 
+�����A+� 
�
B�Է�P���ձ�w����:�6)��w�7�!�i��A��u�s�h��yQ�5�
̈́�w �
M�~tp��CxS����~�@Jp�aC��A�t?0� &��@y�	mo���<i��3�9��
IU�#,KX�m4x1��fLV�	�7��}_�op��к�M}��@6ky�Gޔ�22%;�nf�/�-8�i��Ӗi�f'
㩜fb���B��\��fmyh	�DQ���m�㵓��qZ9jWw6������p�r��-����
+E۸gVa<@ \�6P\@vV��*�Rtx�	j��E!�
��q�TK�`�1ث�����-�nA�D��@Q���rH�ƏtU�Kba��Y�v�3L3���0fM�v�
���uo�n|}
+����ځ�q�0��൤��^�Ŵ�֨�+�k
({��XHۅ
+�^�sh�s\�]s�8��ĉ �s�N at j���i�>���*���2	����rQfќO�r�_�@���2���N�����1�k ��/}�>�('���s!	�+&�!�
YN6q�s=CN����%
+�RR�*h�TB���pLM3'��l����|�3ONE
+�e?��cAߙ#�0J�dŹ�� �X�����U�6�}؊�`!>I,��Z�|	�Ѥc�:
+j:���h�L��Q�r.3N�MA���N)��m
e�b�&XaC��d\
�
++'1?�v�+N������)х�?�D"p��(q�I,����;��e
?�K ��O%|L ��@ap9.x�B��3VCh��ם���
+a��8��tpG6�kv���K��n|g��O�K��\B�jz?T�W��ӊкm��c�Q�f���z�tK ��	v1�)y��=
�j�G at 9��D��o�B��pI�S]9�/����1‹㚐>�
���! &HQ�'fs�������0t��Ge��lЪ�F"sʆ�
e�Oh�f���RN�N�+4�� �g�劖9'f�$%��(hK����bR�LJ��v�b� ��c���
-�YI:X/
�nl���%��@$h{UB��O"�z}�S�ʁ
6,���r�� rx؛�(`��C�pJ��҃��2C19<�`[`�Ɠ|�W��%�`D.c���X����
1���!|�}=�ׯ��JZ,�a>
T�vq�;���?G��;\ՉE��aR�B

~���=e�؝[��Q?6f��8�0���J�	�gݜ_�q1��M{l6fs��`ڦ�SE�Ǚ�+U6sXI�Z�]���n<�F�t�®�mDU�"������]Z���֤���i
F�<
n����O�[�B��:�����{�
H�Tv����W�o���5�ۜ���fEo m��LS��

��A��j��W�[;��g�^���wi����F�ڕE�<U�[�� 
�/�O��VqV�P��&�֑��n�A��{7��1wBʇ+18bc|��x��޽����ށ����֖ܰDܙ��
++���a<��bZY|n�=��[v�-��dˎc/@�X⊃�nIsG�_!,ـj07�t��a�
U�G�h¹�

E
���>�u�^���q

��4i֕�5�ʰ�����u�2� ���u�1F�Ą�o���|��2��Ln櫏�u}e�u�O?��C�_��/>A���	U��Ǟwc4�l:�oC>�n�X�ٛ�KA��U5�j�1��E��I �9�����	]-��Y�������c��C����yyyO�=96��#��r��^��"&I>�m��vmp�u�je���r!�
+endstream
+endobj
+2264 0 obj <<
+/Type /Page
+/Contents 2265 0 R
+/Resources 2263 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2244 0 R
+/Annots [ 2261 0 R 2262 0 R ]
+>> endobj
+2261 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.529 262.618 197.247 272.964]
+/Subtype /Link
+/A << /S /GoTo /D (main_BMPZ10) >>
+>> endobj
+2262 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2266 0 obj <<
+/D [2264 0 R /XYZ 90 757.935 null]
+>> endobj
+2129 0 obj <<
+/D [2264 0 R /XYZ 90 372.816 null]
+>> endobj
+2267 0 obj <<
+/D [2264 0 R /XYZ 90 358.52 null]
+>> endobj
+2263 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F79 505 0 R /F11 446 0 R /F7 541 0 R /F10 507 0 R /F8 540 0 R /F23 368 0 R /F13 581 0 R /F1 580 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2272 0 obj <<
+/Length 2793      
+/Filter /FlateDecode
+>>
+stream
+x��Z[�ܶ~�_��V�xh^E�n
$A�"��m�E���B;��<#M$���_�sH���z�@��eDq�x9��w.Mn�|w�����o5M
1ϒ����Dg�(Β�u�*5�-��R��/M�v[\�/8M���m�n�����h�K�h�c�-�]�*��O�u�.X��5v1mr��j�����o.�~>c�
�0;��D
���g���d
��'��'wVj�H.�I^�����-��V`���0
+#2�h.͔�к\�e�U���v�֊��y�����P���>|q[u��`,uWPH�U7u�v����6M�h��jj�_s�^K(���e�U 
�M���\�9�E�DN29���=�)sb�NXNd���ܵeW�=(����0.�%c�(����H��R���
6�$4��K\/�J_S�k/q��W=��M�����uC_ѻ	
+�PZ�6,{Uu���	�n��X�e[��j
�����5�힆��ue� ŰQ�� !��R��W#�W;^�듐�gD�,DW&
��읻
���
Yx���������P�(�x ��8�4Q�E�e�g��
:<�a�y��W�+lXP`c� ��J�ײ�0�=c 3�ӴG#Z��>��
����0���Kx
c��b,Yf�(ɓ%]��zH�
�\�?����mQ�u��E`I a׎
k�pu��M��
?3�p1��5��R��E�B�T���
N�q�	�y2���OP1Q4Q	�B�^�ΦC) �Dfb�KԬ&�x�T�
�$g���?��~9�`n��<?�r���=W���ҙ���P�dFƆ
+ �٣�	�ݖm�X G&?�Ă�$(�̧|��F|L8)X0(��A��%s=\���΀無9��#�C� �Z#�\�{��L��f�T�	@��X<
)Jr����,	y�vl�\��h�P�
�?�|$ڢ^Gf�t$��9�K4����'W�X��H
n#�
��*�6e�

+m�?��TK�M���%f>^5-��]S��:��fޣ@��Ƞo�Q}K@�y�~~L�8/
�,�i��h9A#~�>ϰ�C�=;wJc!��B������z*�7!�ޡ�#�Tj�����-���O0<ݴ2!�=(���'��HF��S,M�l�"a\�&!/*�����/�N����-
뜍�!
+;��]e�*/Tի�^m��Lq�2���>���h��^ǘ
+"�\��b�E�	=J>QӮ]�pC��
��?T�<:*3�(4��g׀��e׹ �a��Y߻����5�AŖm��@F�{'�k����:�����B1�	� �5�-����>�i�79��vJ�ǰ=b��Dr��l�LEz��ޡ���!��展�r��3:��.t
h
+�W�F2tL
+[?�MV���q��
�gj n�H��c�y7{}�]*z�C��>q�]�>�W��uc�	����v[�E_�1F���X!�0�!=(zOF�Y"'&�SdhM�
����ʺ���#K�_~sV����KdLp#��a����~��
7ϞA�uY\;�^�Tc��!����4�r�@._���8�;���Tp�u׻N�'�������T�@�����=���^�"����g� Ԟ��NT\
{ϳ4'4W!|
��[.��Iu��c�͌�]>>�f��K0[X���eJ(x�%F0��g_7�ݾ/m�F
e
�!���E*4�c�b6�
�
��X�,IƧ2֘�AqI��n���ݵڂ�@�(�i}�F�	޻�m֮���]_�]]�ko��L
@��)��K`ȫ������E���W;��,ye�^}���_��	
+E��SKj#H�P��鋅��o9���
���=T�bR�xf��@H����
���q)�Z �{�;�]��횶�
+�^y!�pl���0���� ��&�;�-�E �W[,�\Zfh
\�C��X�;�r���AR��%�+c]���d�x�;�S
��K�&�L�xW�@��m�r��#Q�c��ޚ���
{(�
	r�0��8�|4e�F�B˘=�B�"
7�~��@�[���2� x:8,�q������ǘA�P����K8����~�+�_
�������p����l�U�+*������?ݳ���y����ל���3
R3��z{�_�jO���ڥ���\2V��<B�`�Xj��b>ݍ�|ȏ�����0�SdE�R��
YP"��e,GƖ89G��;�5��#�
*�� ���g,�5�^������b!�6Y����� qPlt�
9��d@8�@� o�.q0��0$�߰�U
Z� S�u����
"�����G|43�cf8^M�n9:�u�^
����I
ȯ
��B x���6�	nC~6�!Oq�����

~��
K�l������EnK
+���LٷC�+�˟R
��}�k+-IuDmRNop�'˹����L��C�Ɯ�t�9�
˃�<���������+��ÓJ�̯
��,Wِ��tԁ:^�R��:P^V���a�a��
�������Tf8Bc`Z�s	J�/#��0�9�
�k2��	���]W�B��T�N_z�d��x!U.��7M[F�^�(m��˵�Tk"�I`B�=c�I��$��e�\֤����"~�Eٯ��"����E��/�~��藃��k�,��ԏ-�Ǖ0���@�J��[�����;�mp���������
p�>KzQ��b��X��o:-�l'�J
kx>={YV���6Z;���}l�sH/F&���ݳ�O���Ȫ#��ڵ���v���v5�I���ϝ=�k�
�_UcXR 

��?
�e
+endstream
+endobj
+2271 0 obj <<
+/Type /Page
+/Contents 2272 0 R
+/Resources 2270 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2244 0 R
+/Annots [ 2268 0 R 2269 0 R ]
+>> endobj
+2268 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.529 447.358 197.247 457.704]
+/Subtype /Link
+/A << /S /GoTo /D (main_BMPZ10) >>
+>> endobj
+2269 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2273 0 obj <<
+/D [2271 0 R /XYZ 90 757.935 null]
+>> endobj
+2130 0 obj <<
+/D [2271 0 R /XYZ 336.065 559.986 null]
+>> endobj
+2274 0 obj <<
+/D [2271 0 R /XYZ 90 543.259 null]
+>> endobj
+2270 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F11 446 0 R /F8 540 0 R /F72 404 0 R /F7 541 0 R /F1 580 0 R /F10 507 0 R /F23 368 0 R /F79 505 0 R /F13 581 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2280 0 obj <<
+/Length 2480      
+/Filter /FlateDecode
+>>
+stream
+x��YKo����W{�P���f�)�H2q��&��x���B�����T�X�俧�TS�
#�� �,����U�z�z������]B��dq{�k/�^3�{\y���9���3F����ˇY@��<nŪɗ�˧&o��������h�n��<����|'�}^���X�f�R_THb,���Ƴ�������?�,�zL-"JH�#��]}��z+��Q³�;(��
�����oW��P�m(�Ƒ���V�����o�ꓬ6�a�WE'�Տyc�굾v[CX���|sǘ���!I�V���D�Xs%^L����J�7g$�B�G5S�HJ�����ڨs��)R�ah��D
u��؛$��f��
9OH�T4y�Ѐ�,�{��M�7 Ac�f�[
-�r�rB
'�%�?O��H
�'D�<
�D���V�7/u����yl$)g��[�8yF&�%�l$�}��^b}I��V��A�#�Մ�R���Q�D�����D5c�o
�����ћ

�s
�$JR��H�4\��y
���K]$.�X��`\�W�	,!��ŧ��Vb�%�YJ"
����A��<�V�W���?���Ju���	���!~8K]�E�`����3)��x

4��
+� ���Z��<�v%w�jU����$ɸ�Du{YU�ht�id)�
/��� t!��Q�NDP:��
6aG\��p�ɕ)C	�P��`
��8�#�6
+��oE5�)�
���I�䴉��rr=�ܐMخFN}IB-���������W��wj��������+��m���a� s'�n,GVE]e�:���(��T#� N/�YH�„�r=�� �R6�fߊn�$ Lm1�rJٗk�DJbvf?%7_w� �I抅���of<�E![���E��S,ۼ�
�+�i0�6]��b�vXC��Xԑ��P��^�=ի�~YW*e]9�6oDi̊�2"�M�i�~�k]  g
F��^s7
�%4xEd���"�A
+��~]Dg���A�%�e���
��
I

��k͝�꘢�ˣ&��
�b‚a���<����W��2O)@k�\?��qlc�����!��av	�\���2�b����wnȌ"kU
3:T���NVyY�-�Zw�� �Ch*��zZ��7�`�C�~��
��j�w7u��Ť�X�-�*�6��lu0��V�K:m~� 
f��a��y�D� 	 -}
$��A4���8���m�Z,ڮ��Яq6k6fH�A1j�M�_�9�T(�V�2#�+V��6��|Ơ�Ι����C��~�Q���d�`t��n;��ByA�5��o�
+��j	��i�e)+�,E�Q���'Q�RYQ�
+vw'C�`c
C�1d���83#֏�,ew
g�y���|84؍��~�FU�1S`5��	���
ynitܮ�
@���ӄO�ɚw��ei��N�E#�j����H�N�sf�|Y�/!��2�9���Cv6�|���t�	Hq2a
BQ{
ި+�j�<Hi��s��
�Нt��jE~����3
S�%���YG�'$�$���;���w[;
խ!g}�I;��	U��0������7���ʜ>(��
 �K�
+sl���Q������]X�1�3�9�
-�V5������x
��d�׀��
+�q
ĀT	�j5M*�r�X�R(@�U����1��^��J�1��kld���N���3k�3F!&ԥ[Yl����{}����J-��ߘ���$.��Ҥt��c�yQ��=/�bGt�ݡ����ݾ���f��m�
}.�/��
P'֡
 �z�R�i���1u2J?>�f��Fy;Q�SzTL�}i*I����ס�����IȎ�龲/O����edʮ�n���������)4����v�Ƕ�7�^�����Bn'­��G��Z�$6��{l �V��DD��
R7�4��vK�i�=-�7�������O���7(����O��vlm���JՌ&��ۏ �q`o��$��d���&@'M�?�gH5������&�JM��k���L�/��\��\����F������DP�oT���
+�����T�Ԉ{�J�Z�QҒ���$�����U��������=0��V0Ӂ
dߍ�̻��wP�s
,D��/�1��A�~
b_,\�	�'
+f�����(� �pa�������#/::S"q4���V��	K���N���%'�B
+F�0��1�ܘL�_/��
+�N��Ke���h�mIՉ�{l1��h�P��$
+�Ѵ<�Z8��ӥ��Y䫰��q��D�l|g%Y��D$
+�?^T�BbB�~��VJ��IJh���K�[��t��hw��}c+�p�����p��O����4���rq����g��;
!���N�-}h/���~
j/>���"w|�K^�yy:�0�x��0�
Mc� l�����ٻ?�6�
������m��77�Á@��+�o��n z�\zˑ#`r�́<��
+�N4����7�H
+endstream
+endobj
+2279 0 obj <<
+/Type /Page
+/Contents 2280 0 R
+/Resources 2278 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2244 0 R
+/Annots [ 2275 0 R 2276 0 R 2277 0 R ]
+>> endobj
+2275 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.932 534.857 206.516 545.76]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_1_1IO__Operators_a9ccf426c9d89537e0351aac50a333e95) >>
+>> endobj
+2276 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.669 303.663 211.204 314.567]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library) >>
+>> endobj
+2277 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2281 0 obj <<
+/D [2279 0 R /XYZ 90 757.935 null]
+>> endobj
+1258 0 obj <<
+/D [2279 0 R /XYZ 436.557 651.334 null]
+>> endobj
+126 0 obj <<
+/D [2279 0 R /XYZ 90 634.63 null]
+>> endobj
+2282 0 obj <<
+/D [2279 0 R /XYZ 90 553.805 null]
+>> endobj
+2283 0 obj <<
+/D [2279 0 R /XYZ 90 485.63 null]
+>> endobj
+2284 0 obj <<
+/D [2279 0 R /XYZ 90 239.996 null]
+>> endobj
+2285 0 obj <<
+/D [2279 0 R /XYZ 90 216.404 null]
+>> endobj
+2286 0 obj <<
+/D [2279 0 R /XYZ 90 216.404 null]
+>> endobj
+2278 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F11 446 0 R /F7 541 0 R /F8 540 0 R /F1 580 0 R /F10 507 0 R /F72 404 0 R /F23 368 0 R /F79 505 0 R /F100 1390 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2300 0 obj <<
+/Length 1719      
+/Filter /FlateDecode
+>>
+stream
+x��Xm��F��_�T)��yova��Jm���&����.���3*��8ί�����&ʗ~1

f��y�e�ޝ�������1��DA��o�{qD
�7_z�~���`���]�'���t-�:̈́�}'n�
�R?�!
|
�?�_����>�l�=�U��!����#������Q�po���

B����_#la�>\ ��K0h$�!�3��r)�v�u��8����,��8�8��_���A��ͫ�<�z�@�!��Q5!
�$0
+k)n��BJ�\|�8�M�(�R,
+Qޝ�F@���R��[�H�o+i��{ZQ�ج�[+'Ƅ�_�LsP�q�)�
iTB��fSZ�Ԟ�Yތ�o�s�W���
Q��҈����D���Ies6X
�8

a
��ʴ��mM+��N#� A	S�(�ɓ�"Eߖ~Z�6
Q�d �i�r�J���ӧfQ:�{��� �8��!b�]�6�
g�h2��:�

�
@b�C���^~�"��uj�fU�[��LͿ���ʝ�ɪ��n�][٫�D�^C��P�j�yR��ͳ�2J�a�g���
S�_(�@X�+ı������>�|)!?+��cJLi��0
 �	Y:��a�U^��\����"��#����1�q6{}aV�j
��
+�k�ۃ'P�T���j9��_JUZrUK�u����5���ȿ�*��Ή�e�2�p���vS›2����e�j'����w:��
�BL%��4۴V�S9��!�pֵ@f3���O���䭐�����I=/��!Y�
Ph\���"�w��j��:�V@ṧ�gE�4���0
C0F8��+7k!�
J�:o��y�FN\��`2lX����GĶ��o+�Q�5앋0b��fQ�J��s��)Q����C��Ե�����8�B�"��
#ȥN�j��e�3+
Ik�))�0$���h#TBf�z����M���j�_
[!��4��H�(qMX�x33BF�)��(�]�^�_�Oǖ�=�9��k�t���I�c��C2@�a �c�9
#N��\�Q
8w�Í�)ֆ2��
��M�?�D9
w������
r�k�y	E�4�l0���B��x��d4p�
2���پ\U��
�'
�~��w:�&>3�j�.f�F��.l+�Ng/g��8���8��m���o�5?!,
�z
+����S����NJ�@.�ݔu~�����SCO�i�<m� �����V
+ѠL���Q@�F?�eVl�!C�v��� f��r]h�:�'��:����S.H������,WP����wm�wS�bv
��0D�r���������:��-�����6{#�7���綅��#DC88����?;x�m
;$
���{ 81�U�q�EJU?�' S��sW�6��<��򛬭��T(Sy�bi闚�W5XAշO�V�6���?�w��&(�9���������s���ة�d�J�-
"u�oe
+�N��
}N�����p>�G���������|W���Gy�����8�% M���T>W#��}�����%�B����_�t. �u��m�Y�a�1?���G�`��on�D)BI
��|d	b�� 

���������N�?���ڶ��ܸ�<`�Mלa&!� �j�{�j���s�?��o��� axb��m����v�EY�6e^K���Њ/��RO
2&]���\�Jv_	�=d
���/��o�
+endstream
+endobj
+2299 0 obj <<
+/Type /Page
+/Contents 2300 0 R
+/Resources 2298 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2307 0 R
+/Annots [ 2287 0 R 2288 0 R 2289 0 R 2290 0 R 2291 0 R 2292 0 R 2293 0 R 2294 0 R 2297 0 R ]
+>> endobj
+2287 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.414 505.596 428.272 516.5]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a9a28ec8161898b61530de9bbb4a3251d) >>
+>> endobj
+2288 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [121.93 283.403 310.262 294.307]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+2289 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 228.962 197.097 239.492]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a78184503805baea26065449944702c97) >>
+>> endobj
+2290 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 189.781 197.097 200.685]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_af4e852fd76b79c9ef3e8b56a8575fe09) >>
+>> endobj
+2291 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.434 189.781 301.684 200.685]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+2292 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 150.974 197.097 161.878]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a514da3c88769e7584fe9d6da6f2cb003) >>
+>> endobj
+2293 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.434 150.974 307.621 161.878]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
+>> endobj
+2294 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.933 112.541 306.286 123.071]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a243d9267fe6a9414af634749b27dac8d) >>
+>> endobj
+2297 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2301 0 obj <<
+/D [2299 0 R /XYZ 90 757.935 null]
+>> endobj
+1259 0 obj <<
+/D [2299 0 R /XYZ 90 635.696 null]
+>> endobj
+130 0 obj <<
+/D [2299 0 R /XYZ 90 630.991 null]
+>> endobj
+2302 0 obj <<
+/D [2299 0 R /XYZ 90 572.476 null]
+>> endobj
+134 0 obj <<
+/D [2299 0 R /XYZ 90 411.475 null]
+>> endobj
+1331 0 obj <<
+/D [2299 0 R /XYZ 90 379.546 null]
+>> endobj
+138 0 obj <<
+/D [2299 0 R /XYZ 90 379.546 null]
+>> endobj
+2303 0 obj <<
+/D [2299 0 R /XYZ 90 247.538 null]
+>> endobj
+2304 0 obj <<
+/D [2299 0 R /XYZ 90 247.538 null]
+>> endobj
+2305 0 obj <<
+/D [2299 0 R /XYZ 90 170.044 null]
+>> endobj
+2306 0 obj <<
+/D [2299 0 R /XYZ 90 131.237 null]
+>> endobj
+2298 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F11 446 0 R /F79 505 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2329 0 obj <<
+/Length 1666      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��6~ϯp_�3C��m��������0�Vv5�
Y&�_�#KJb֛�4@�ӗD���s��M�ι��_'?�''O"�$(	�Й��;QH��3ϝ�.��Lgc�M	vSQ�����ݺ�\�\��|)R�9=={z��O��S��-^�9;=}$$����X"i�$әG���H�V_�Ӌ��Mg>N�����g�_�\c��\�E>u�r��=vrx����Obg��*����p�L~�`#1ޗ��{�
�����������~{��y;�����xn�)�Ĺa�u?K�Ӯ{i�/)�o�0�W�v����l�ֽ
P#�/�̛81JH�Ca�93�$��o�iӪ�'O��'SDhd�*0���dR�B
�9�J�]}����\^�"
+��mF�P�o7B���
Xv�$�
�����v]�uqئu�D*k���UV�ꪕ���ɼ�x���-���NT��}psp&kFѱk��W���������
��8�� dž��M�D�	��y["b�G.��]Z�a$
+�#c��1�_�X�C�S�N���?�9F�Jی�EޕW��#!�O�%3	_�c@	P�K��OO3&�XJ�(
wF�4�y��
j�6��-���fZ=
+�$F�qr
Q$�[��|A}s�hr,��j�[)XZj�k����u�oj�����fg'(�
�΍����{��/D`t���(f��#�cD���|�1����ke
�ه��������
AY�.����a1N�#��:��=q�;���\=$�JL���|D���G�?px�h
>�F
~J����-5|4����X��,7��w�r�����# tُz��Ϻl�-wz�ċ��nf~� �F	6��,�{�s�=TN�
g>�ʴ(�w�[�im�e�mW]qL��꭬��hG)' ��'�
&�
fz[O�E��Dŀr�����,Z��-�aׯ��MB�m��j�ܨ��u�5�f�Mw���
�h6)Q�e��p�f�|̲��,��F��:7	��]2Q
+	ᚸydc���
U�/���
]�U�Ϊ���a{��8�T9ݽDQL�u����7��7芇Fn��T���y+7�X����jQ�
]%

�y(���Tٛn+Ri�2Uw9�`*����†◵���"�[�[�2fP�r�إ�be�B����\��h
�H�s���dp�
��ް8�
+�$BI�6G[���}W0���}�+�ޯ9�t��o��'�����d�K)%��)EBܛ!�O �
�. �W?3�����g�f�7}�w-��U%�+�кh������m]t��TO`�B�Dߝk��Q�Q�Kհu���q%��3�_�+�ُu&iO����\�j�$S�e���P=
�!�<��!dwJ�VR��o�
�*+���:��79�z���s�[�b���u˥��Xe���9?�L䬪K^�V׵&�|�q�Vj�V?Sͣ�-DŽ�������¦.^�<�Pт����{5�C�&�V'!�
-�Hx��fc>~f�
��˻�<��^=٫&(�#�J���&�Z��m�6
Z���^��GsϦ�h��Q��0�[Zu��S��f��܈({���
�E���/ǎ�+����%��p��jR6�''��e-�*���I�'���
�.�C�11�ۚE%������Z�7
+endstream
+endobj
+2328 0 obj <<
+/Type /Page
+/Contents 2329 0 R
+/Resources 2327 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2307 0 R
+/Annots [ 2295 0 R 2296 0 R 2310 0 R 2311 0 R 2312 0 R 2313 0 R 2314 0 R 2315 0 R 2316 0 R 2317 0 R 2318 0 R 2319 0 R 2320 0 R 2321 0 R 2322 0 R 2323 0 R 2324 0 R 2325 0 R 2326 0 R ]
+>> endobj
+2295 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 719.912 156.281 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_ae52cf600a1fc364b32296578016e12ac) >>
+>> endobj
+2296 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 719.912 243.284 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
+>> endobj
+2310 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 681.058 180.54 691.962]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_ac2c8b1fa8685b79a6e0dac07128b24d9) >>
+>> endobj
+2311 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 681.058 291.064 691.962]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
+>> endobj
+2312 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 642.204 178.239 653.108]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a2bd978ad611c80d14315255b1577772d) >>
+>> endobj
+2313 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 642.204 288.763 653.108]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
+>> endobj
+2314 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 603.349 181.845 614.253]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a6cb598653a5f9e64b0b42b88e5a9b5d1) >>
+>> endobj
+2315 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 564.495 181.845 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a9b395593b699094656f3cc00361976f4) >>
+>> endobj
+2316 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 525.641 154.727 536.545]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a5e151ddb186280f9ac6825e4b38e3d4d) >>
+>> endobj
+2317 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 487.16 176.505 497.69]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a8ca5257af8014cbcb2b4723340b9139d) >>
+>> endobj
+2318 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 472.166 450.955 482.071]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a9b395593b699094656f3cc00361976f4) >>
+>> endobj
+2319 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 436.973 191.718 447.877]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+2320 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 436.973 288.852 447.877]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a3611ca64bf028cea3b37bbfe3c5f84e6) >>
+>> endobj
+2321 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 398.119 191.718 409.023]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+2322 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 398.119 303.079 409.023]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a9561e112f9dc57e63230b0fda3858e1a) >>
+>> endobj
+2323 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 359.638 150.493 370.169]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_adcaa7cd147b3ebb7c52d232824de49e4) >>
+>> endobj
+2324 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 251.224 226.034 262.127]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a022891f0008542ea787d812e6e6f9e48) >>
+>> endobj
+2325 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.157 251.224 478.723 262.127]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
+>> endobj
+2326 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2330 0 obj <<
+/D [2328 0 R /XYZ 90 757.935 null]
+>> endobj
+2331 0 obj <<
+/D [2328 0 R /XYZ 90 733.028 null]
+>> endobj
+2333 0 obj <<
+/D [2328 0 R /XYZ 90 661.297 null]
+>> endobj
+2334 0 obj <<
+/D [2328 0 R /XYZ 90 622.443 null]
+>> endobj
+2335 0 obj <<
+/D [2328 0 R /XYZ 90 583.588 null]
+>> endobj
+2336 0 obj <<
+/D [2328 0 R /XYZ 90 544.734 null]
+>> endobj
+2338 0 obj <<
+/D [2328 0 R /XYZ 90 505.88 null]
+>> endobj
+2339 0 obj <<
+/D [2328 0 R /XYZ 90 456.067 null]
+>> endobj
+2340 0 obj <<
+/D [2328 0 R /XYZ 90 417.212 null]
+>> endobj
+2341 0 obj <<
+/D [2328 0 R /XYZ 90 378.358 null]
+>> endobj
+2342 0 obj <<
+/D [2328 0 R /XYZ 90 297.476 null]
+>> endobj
+2343 0 obj <<
+/D [2328 0 R /XYZ 90 213.903 null]
+>> endobj
+2327 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F107 2332 0 R /F97 1188 0 R /F106 2337 0 R /F11 446 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2350 0 obj <<
+/Length 1604      
+/Filter /FlateDecode
+>>
+stream
+xڵXێ�6}�W(��@�%)R�$@n4M�m�>mCk�k���Hr���w(^tYyw��O�%j�s朙��w�a����brv
aO ��[l<��($�S�-�ޥO0����S����%ˋ)�~��l�L�oӫ2)o���/���^N?/ޜ��1KC���ic��^��<1�`1bC p���}^dIUMg�c0&�/w�,����And9%�/�܊D��X(��W�ɗ	+�#
<B�]�&������o<��ج�y��y'M��� �;d���E�WuyX�E�w���y)��_��N�uR�E��
�f�����UD
����/��i�|
�\�/�r>V��'��*M��1��d-˻�5bvC�!Hp�'��t�E�T�����i.�r���^��*<� z�~�Ko q��&X��B�?a
���B!7zÀܲ.�����f'K�ˆ1Ϝ����Z�c>1�[�1��Xg�,�(����\�yh|�o���œ���وZ�p�#����5�i�6
+H:)�w�ݜ)�^��X
	8vb�uо�"��P9�.��aF�N}
�
+�����`�u�Q
Wb�A����o���
�Ё����
u�����ba�b�9
 Ӿ��+h���YlM	�S�}x��
��ۤ~d2�Q�i.���͛��43���S��1�C�(W3����]l�l:	���3�
�K�)\Ұ� �~��
�M��е!�k�X��ӗ
6�
�`�`6X����47p0�u+p0Ǭ�NоXO�ԧ
� Ũ��
C�W�Vr�6��l��^��i>�]~
�ˤ�n:�]	�*��_S���!]�1Ōv�PE'�U���ƈ��65��,
]����A�x
�u��rY�ա����Rm�8�UZ�*���P��g��M��v��t�wrwe�v~�W��
�o�o��B�m����^�����z���N
Q�ѱͰ1��h�Y��Lb��:^cN{
ie$ƈ�z�샬�VĀ����1
��
�!�
GCS�|m�_���y�Z�6g��D��11 ;�6��݆r���8����Ĉ�nHN��C�9Q����~�_ԷUsTy.��FB�D��k�_�\�'�dn,V�de���(�����M}���
�����
1�P�2#��8;�<�� �\��y�2�ަ�0Y5�L��q�Fq�c�7v�a ���>
=�p�:b��8��I�#��a��OQ=w��)¦���~��� [...]
+�L�{�[��0,���l�����rƁ��}��[��N,Օ֘	��q�_�򐎎q
+u9�#g���9��4�7����I+?s��J#������T
�M^�D�zW),�HI��4_e���
�} �ڂ�s��nn{v8���� ��o*d?��Es$����q>˅��}�_��אH�����oJ~&s��`{�*�z`+�3Td�J�B$�(�	Q���g���4�uΏ1�%rUx[������xD�
+
�t_��>`�n��
+�AuypE`W�
����
+4��_�!�?
+endstream
+endobj
+2349 0 obj <<
+/Type /Page
+/Contents 2350 0 R
+/Resources 2348 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2307 0 R
+/Annots [ 2347 0 R ]
+>> endobj
+2347 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2351 0 obj <<
+/D [2349 0 R /XYZ 90 757.935 null]
+>> endobj
+2352 0 obj <<
+/D [2349 0 R /XYZ 90 733.028 null]
+>> endobj
+2309 0 obj <<
+/D [2349 0 R /XYZ 90 716.221 null]
+>> endobj
+2353 0 obj <<
+/D [2349 0 R /XYZ 90 716.221 null]
+>> endobj
+2355 0 obj <<
+/D [2349 0 R /XYZ 90 454.471 null]
+>> endobj
+2344 0 obj <<
+/D [2349 0 R /XYZ 90 432.16 null]
+>> endobj
+2356 0 obj <<
+/D [2349 0 R /XYZ 90 432.16 null]
+>> endobj
+2357 0 obj <<
+/D [2349 0 R /XYZ 90 326.375 null]
+>> endobj
+2345 0 obj <<
+/D [2349 0 R /XYZ 90 304.063 null]
+>> endobj
+2358 0 obj <<
+/D [2349 0 R /XYZ 90 304.063 null]
+>> endobj
+527 0 obj <<
+/D [2349 0 R /XYZ 90 179.284 null]
+>> endobj
+142 0 obj <<
+/D [2349 0 R /XYZ 90 172.683 null]
+>> endobj
+2348 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F113 2354 0 R /F72 404 0 R /F23 368 0 R /F21 2359 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2390 0 obj <<
+/Length 1850      
+/Filter /FlateDecode
+>>
+stream
+x��YYs�6~���S*�D0 
 =If��4�+m3IF���	����.H��(Yv��/E��~��.ظ1��������a�C�C
c86<l0� �c�z#��q�Op��1]�)��l"���^��9�gGGǧ��	�D�����9!
b�g!湰h-�Y3die���
;dx���
��.	'/�����y�'�,�h޼c�������g�=K�gÃo�`��ְb��|��� ޿202a3�zTlXԄ�ȸ:�� o�,5v�F���:
+}�!�z�L�
+Z���,n�A��J��F�gJ�9Ƨ�
X� ,c-�!w�ߨ����ʿ�R��c�")Gr��bI��7��3\Pϱ�z��cQc@,�ZJ��D<�b���֒�'�P�Tei�<M'0�ؽ��VI ��G�%j<���)�y�BM��Y�Q���ɼ� �%�n��jط+����{3�glc!-�Ғ�t�2�"UnSj	a2I�T��F~�D���{)�x�,��QX��@�-&ar�@k��O���Z!�����$��u��58F�|^%~���u[��0؎8/�0
U����H̭�v�}߅��yXj��i
=�0Ʉ�L�¢
��|��*h.J�1rlO�䊄/�N..�džYY�U�{ri��&N�ŵ=Ys���١��
��r
�QHD�tO6�A�ލ��B�6tZ���O��A�Ú
9�<�l���p&��8�
q��0)2�/�E�Q���c�=&bN;��e<D��k�hEU����� D���f"�e��-:��C7[�y��cE��9���I}���
����.��R
l�}�A��:��j�a-Iu���y߲{i��&" [...]
دE��J8�����#
�ϏH['.��u
�n���\��-IB�b�Q�=ONx1�i ~rNr�
i��uX�[=�2�Bj</D�� `@���Į��t�%�� %
L�UK*�|(����b/��&�![�WS�)c$��N�����kB�.�%T����}]`o�Ȥ�|��z�P�*
������v�;��ȍHd�)Fg�����5L���^�u����^�,
(�j�t\�Q��U�ʦ"�HQ�g��ul�%E&�P�Gt�(2�
��R�x at C�� �t��.Rx.�D<��
�w�'i�EM��٨i�v��=�����ݛ��g�\
?���t��u���l��� ��~ ��zC
��&�i{^����]�"�]G��J�}I���y��,Lx�|�C�@

+�y��bh�[dT�2v(�U�{�K���U�#�"V� _ؘ��`�6��[c~�n�Kx�ABk����;����^�
�E̲�
\��"���߭�����O����G<S���a��ZʘDa��3�j) �}`�)b�yw~f`k�2��ht5+����/��a���6VRH��R~i��t%>o8-ce{h

�����N�=�s���C
�8�'��
+��/B�o�JiZl7��
��w�+��jPr ���Ip[o��:���&��Η�ʷ���}Uڀ��(#��I����[)J�E70"DZ\uS��Ƹ��WC?�!�O�%.E���eR�����t:E~��
+�r��Y
�'�)�"ؼb�b
Nt�	^6�n0�����
+endstream
+endobj
+2389 0 obj <<
+/Type /Page
+/Contents 2390 0 R
+/Resources 2388 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2307 0 R
+/Annots [ 2346 0 R 2360 0 R 2361 0 R 2362 0 R 2363 0 R 2364 0 R 2365 0 R 2366 0 R 2367 0 R 2368 0 R 2369 0 R 2370 0 R 2371 0 R 2372 0 R 2373 0 R 2374 0 R 2375 0 R 2376 0 R 2377 0 R 2378 0 R 2379 0 R 2380 0 R 2381 0 R 2382 0 R 2383 0 R 2384 0 R 2387 0 R ]
+>> endobj
+2346 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.857 697.345 243.473 708.249]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_acfed8bc19e046453778c9d99d84df283) >>
+>> endobj
+2360 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.279 658.685 155.464 669.589]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+2361 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.962 658.685 221.894 669.589]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a12dc6df3a06f4c97c6bb2264bbad05ac) >>
+>> endobj
+2362 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 578.204 181.845 589.108]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_aedabe8ecd0866b972e97709e17f94681) >>
+>> endobj
+2363 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 539.545 181.845 550.449]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a82b35fc075e1e9542d4cc5cff2e236f8) >>
+>> endobj
+2364 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 500.885 154.727 511.789]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a93c1c491c0035f6c38b9ee036184aa7e) >>
+>> endobj
+2365 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 462.599 176.505 473.129]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a1a6088f536e9340145630576cfd6e6b9) >>
+>> endobj
+2366 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 447.702 450.955 457.607]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a82b35fc075e1e9542d4cc5cff2e236f8) >>
+>> endobj
+2367 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 412.607 191.718 423.511]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+2368 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 412.607 288.852 423.511]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a033967c42f02b6029fc4d6153eb8072a) >>
+>> endobj
+2369 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 373.947 191.718 384.851]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+2370 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 373.947 303.079 384.851]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a25c5ef784f17646705c76a5be6c724a3) >>
+>> endobj
+2371 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.635 335.661 188.679 346.191]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ae0a1b4b4a344cad01c58e8e006a7ff16) >>
+>> endobj
+2372 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 260.755 170.255 271.659]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_aab3964a5c29992e6476852c9d246fe6f) >>
+>> endobj
+2373 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.071 260.755 239.714 271.659]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+2374 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [323.878 260.755 409.266 271.659]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
+>> endobj
+2375 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 226.081 170.255 236.984]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a3825b4905d72422089bf28d3c95c2964) >>
+>> endobj
+2376 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.592 226.081 242.753 236.984]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2377 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.317 226.081 335.783 236.984]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+2378 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 179.451 170.255 190.355]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_afad498a5802a7928442fd0d4b8c6183f) >>
+>> endobj
+2379 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.428 179.451 241.589 190.355]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2380 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.612 179.451 360.078 190.355]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+2381 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 144.776 170.255 155.68]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a128b2fafec11e096e41f78710ba2ff0a) >>
+>> endobj
+2382 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.592 144.776 275.419 155.68]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+2383 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 110.101 170.255 121.005]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a15b3e8152862a6b98ecf1c4f4a142634) >>
+>> endobj
+2384 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.592 110.101 282.045 121.005]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+2387 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2391 0 obj <<
+/D [2389 0 R /XYZ 90 757.935 null]
+>> endobj
+2392 0 obj <<
+/D [2389 0 R /XYZ 90 714.318 null]
+>> endobj
+2393 0 obj <<
+/D [2389 0 R /XYZ 90 714.318 null]
+>> endobj
+2394 0 obj <<
+/D [2389 0 R /XYZ 90 677.681 null]
+>> endobj
+2395 0 obj <<
+/D [2389 0 R /XYZ 90 597.081 null]
+>> endobj
+2396 0 obj <<
+/D [2389 0 R /XYZ 90 597.081 null]
+>> endobj
+2397 0 obj <<
+/D [2389 0 R /XYZ 90 558.541 null]
+>> endobj
+2398 0 obj <<
+/D [2389 0 R /XYZ 90 519.881 null]
+>> endobj
+2399 0 obj <<
+/D [2389 0 R /XYZ 90 481.221 null]
+>> endobj
+2400 0 obj <<
+/D [2389 0 R /XYZ 90 431.603 null]
+>> endobj
+2401 0 obj <<
+/D [2389 0 R /XYZ 90 392.943 null]
+>> endobj
+2388 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F106 2337 0 R /F38 2120 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2451 0 obj <<
+/Length 1835      
+/Filter /FlateDecode
+>>
+stream
+x��Zms�6��_�O>i���B@z��sަ��ucw�:IGCI��9�dI*���߂)��d�v��S&���>�.Kbo�a�m��w�F`O!����y
+{" �S��N��}�

	Ƹ= �f�pt=���,6wz���w�8
�͋W�F7wa���t���
�D�H(	��R�^
i�lV���
+����O��E��!��)���t���A�t6 ���	���"Fd��m��
)�#�7�@֝,{������a���u9j����u���~�a�Y��a
�jI
+`��
�W�~����o����U��۞�q��]'7��1��x��ya:D�aou���H���&/��%�b��4�ѩ��ە'���7Q��xCB�´��j-���au�zuS��e���e�_qg1�+]��ɬ��
匶��Fc�^A�Ď�KQ�?�cZz=W��4mkb
�!Qa�?��@��koI�+������	�6~��Q
I�ָ������~���?��� J�S"�6�c�#J����=5�V �0��,����̒��LW�y�T�ɝqT �W��ؒ .�F�&�q����1.t�y@!,�\!
�r��]kC\��� �mb��\�%?��0��_%_:ko�C��[��_]"�ͤ�?������w6�b/�ɗ�E�bGEV�.Gh
�@�������Î��v|�%���o� 0��8���l��mM��<�Ό� 2v}�Α�~s�!iSqjPd�&8=�\f�/�"�'q�pH�2N���
�(k|���X�����TK�E����(�Kd(�P���]��� �T�%(�z,�ſ��uq8�$iU���wp����!iq��
0�I4��:��P�S�7�Z
+���̜���'���|��mz��\U;���@Z
+㩳�G�j�l
Ȓ�0�y4�fN#01��x�&�"/�q��b�� KZI"��ɒ�sy�n��=���ԝ����_�
7�0�]�C1N��\��:*�\���0��S�C��hzK�7�R
 ���R�nKَ�Vm�	3�ا۲�2�XJȧ~���t^d�I� �-`G�n�h���PC&��+��r�m�{��'x?���M�����sbo�O��l�9�:��n�
��a��'nF
=F���N�]�p�G�̃��x�+��7>�b�m��eu��m�֓f�)խ~�x�H�(����H	�(�"��H
�<��$���q�<Ù9��4~vX-|g4È�&+b�[|W)͜�BP`��Ed�g�b�� �/[G�6[�U*0�����
Xi��R�H�ZrH	��Lf�f�Ne�Kî,����p���I3-�Z
&���oGW�p�U��.1ޗ�|�OQ��2�^�K���-�8ZF����y�l�xZ`��|��
,e
)
�<[�w`����?c�p .͊��U���Mk�F�j*T̹����x�DV)D)=w��
��C��"�
+���X�c�Wj��
�� J�w.xp�
F��
|쳧�-����k�nU͖�]Ocj�<�g�� ���a���M�΃�y�Mؙ	�A�$��>�I�8\=��U<�G�,Y��qbR�g��1/	�E����/i��}u�E��L���{�Mx�<nҮ�� ��V� ��`I�ش��6�I�,����
��:Qvڰs2�+�� ��̛c �ɇ��b�X/s�Zl�~����<����
� )���ȼ?�~�|]H�����	�_��}����o�۶D�xU���Xζ�~�R���
�u��@����W���	:��-��ӌ�#wE����\��h��U
����4]\����#��HlS߬n9,���9�\������w+�5
+endstream
+endobj
+2450 0 obj <<
+/Type /Page
+/Contents 2451 0 R
+/Resources 2449 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2307 0 R
+/Annots [ 2385 0 R 2386 0 R 2408 0 R 2409 0 R 2410 0 R 2411 0 R 2412 0 R 2413 0 R 2414 0 R 2415 0 R 2416 0 R 2417 0 R 2418 0 R 2419 0 R 2420 0 R 2421 0 R 2422 0 R 2423 0 R 2424 0 R 2425 0 R 2426 0 R 2427 0 R 2428 0 R 2429 0 R 2430 0 R 2431 0 R 2432 0 R 2433 0 R 2434 0 R 2435 0 R 2436 0 R 2437 0 R 2438 0 R 2439 0 R 2440 0 R 2441 0 R 2442 0 R 2443 0 R 2448 0 R ]
+>> endobj
+2385 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 719.912 170.255 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_adbf2609849c95cfb7277df1edc69534f) >>
+>> endobj
+2386 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.592 719.912 273.736 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+2408 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 685.141 170.255 696.044]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_afaa5d6b3c1b3b83161b619c28c5f9936) >>
+>> endobj
+2409 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.592 685.141 245.522 696.044]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+2410 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.715 685.141 344.181 696.044]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+2411 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 638.414 170.255 649.317]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_aa07f93a685253eb04edab43b5ebd27b2) >>
+>> endobj
+2412 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.222 638.414 232.822 649.317]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+2413 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.383 638.414 282.11 649.317]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+2414 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.546 638.414 423.012 649.317]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+2415 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 591.687 170.255 602.591]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a25a2d683973c6c6901e47c4fe90cf2b1) >>
+>> endobj
+2416 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.592 591.687 217.846 602.591]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+2417 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.126 591.687 322.592 602.591]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+2418 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 544.96 170.255 555.864]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_adf78023ac662762ffc808902b970597b) >>
+>> endobj
+2419 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.591 544.96 279.86 555.864]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+2420 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.861 544.96 426.327 555.864]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+2421 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 498.233 170.255 509.137]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2422 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.995 498.233 221.801 509.137]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_abee6d42dd6f94979bcc7fb3d51102864) >>
+>> endobj
+2423 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.138 498.233 294.299 509.137]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2424 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 461.566 167.466 472.47]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a9bf45a32e428970068f654258dd7fb0c) >>
+>> endobj
+2425 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.281 461.566 216.442 472.47]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2426 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 424.899 178.004 435.803]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_aa78a6abbbb3c425992ca644f732e69e8) >>
+>> endobj
+2427 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 352.02 190.738 362.924]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+2428 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.236 352.02 261.85 362.924]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8101d965bc32e4ab1df6aa445730769b) >>
+>> endobj
+2429 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 315.353 190.738 326.257]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+2430 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.236 315.353 262.159 326.257]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ad09a9ccc89ace499a888b6b1a1f4ce44) >>
+>> endobj
+2431 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.225 301.826 390.082 311.731]
+/Subtype /Link
+/A << /S /GoTo /D (main_Affine_Independence_and_Affine_Dimension) >>
+>> endobj
+2432 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 278.686 202.922 289.59]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+2433 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.42 278.686 248.58 289.59]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a1e645f35cbeedf3341428988157f71ab) >>
+>> endobj
+2434 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 242.02 202.922 252.923]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+2435 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.42 242.02 296.181 252.923]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a24fbe68af11e373092f23f59b6cfd3e1) >>
+>> endobj
+2436 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 205.353 209.547 216.257]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+2437 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.045 205.353 261.831 216.257]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ac7f89b09f6755cdcd97daa3a92522b00) >>
+>> endobj
+2438 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 168.686 209.547 179.59]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+2439 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.045 168.686 309.432 179.59]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8f0bdfca2a6993bfa08358319d589ab6) >>
+>> endobj
+2440 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 121.06 228.895 131.964]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a79a586ca093d218e5603380ac0475717) >>
+>> endobj
+2441 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.232 121.06 333.482 131.964]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+2442 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 86.288 229.503 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a641b55dd6c26bce06bd8041b38aec873) >>
+>> endobj
+2443 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.84 86.288 334.089 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+2448 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2452 0 obj <<
+/D [2450 0 R /XYZ 90 757.935 null]
+>> endobj
+2453 0 obj <<
+/D [2450 0 R /XYZ 90 515.285 null]
+>> endobj
+2454 0 obj <<
+/D [2450 0 R /XYZ 90 478.618 null]
+>> endobj
+2455 0 obj <<
+/D [2450 0 R /XYZ 90 441.951 null]
+>> endobj
+2456 0 obj <<
+/D [2450 0 R /XYZ 90 367.05 null]
+>> endobj
+2457 0 obj <<
+/D [2450 0 R /XYZ 90 332.405 null]
+>> endobj
+2459 0 obj <<
+/D [2450 0 R /XYZ 90 295.738 null]
+>> endobj
+2460 0 obj <<
+/D [2450 0 R /XYZ 90 259.072 null]
+>> endobj
+2461 0 obj <<
+/D [2450 0 R /XYZ 90 222.405 null]
+>> endobj
+2462 0 obj <<
+/D [2450 0 R /XYZ 90 185.738 null]
+>> endobj
+2449 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F38 2120 0 R /F107 2332 0 R /F23 368 0 R /F105 2458 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2513 0 obj <<
+/Length 1764      
+/Filter /FlateDecode
+>>
+stream
+x��Zݓ�6�_�����:I �2mrM2��3׻�S��[�i18��q�������6w�]>�O�����X}`kla�m��]��
ǖ@£�u7���G�ĺZ�#j�Ƹ{m�
�iп�)�&�r"�i�~J�t�������`&�w�.�RK����Ai!�gݥ�Yir�w
2"+;�zH�Ud�ݣ
�0A�r:��\�'7r$S��]��
+�Dv^�u>wH�)��8�w0�|���!<ga��`E���R��u�����g7������Z�-�u�\hr� �1m����i���	^��`�W�.O���5� 
+�Wv
+Gz�A<ԍ$�����U�
�t�B~���UJ��P5��vY7��W2JFklŠ�jEb
��1v�lC
^��'a�d���*¹+
�o�W�N�z
QW���JYM���ǰl��
+$�ؠ��� ����p�'7�v��2<H�,�/�}� �(�,
�x[�߽�6a](w_��xݫD�lʔ�� �q�(0����^I��$�%
_���� X��[=^�^�(�5��_��I�;�Q�H!D�� A��� ���$\��A��
��� h�TDz�#��)�\�#�J�$�
`�|��m[�G&�p.7(Y�2�TrY��������Q�3�
䯙�d��B���”�$
(�O
+\�8DWA
��dd���i *S������� ���%�
��l���)�"�%�B�3�<��:��Q���V�2
�$�T�^^��t&��L@�J-ЗYƹn.&R�0��m�]�ܴ�@A�
����:�
1C
TR��C(ߧa�L��iE� �0
B��t�R���qa<�K�-%Q-Iѡ�b?
*g
_Q�6�F�6���	
o�Ch�=�9u��
��wxX�"�-%;	m=;�Gf��!3���܃\�
+�O\I�3u<uxu��*�3��A�w�TP�U@��뻧(���#�tS�y.c���.�2W�6l�D���6���zj��a+�`��5<(����:�C��D{-V
[\�6|rz��n
zu�[�W�������Wh���U��Rm"|	3�1��
+O�q�ynz�nHVG �UF5tk0���UBgs�2ƒ o�<���!�<~��+��p�R�Oh_/|�Q�/q@
ۢ$�H�*�fVU����y����/
�0�
+�NCB�yj�m�
�@��&�V�,�e�ٺ�x�m��ʣ�s\�Q�����Q��JڲAC��8 �?ͺh�~��� ���o
K��R{+�7D3�8�O�, A�S+���0�GՋ�Q
+e򙣞W�3 '�>q௵�j�]���=�]v [� Ph�N�����#� �,�w�&5���0�
��+�%
�
������ʹ��@̻I
�x\��R6N9��#G�S��
+���ŰuIf��9�i��*���-�"��w��q:/��4bk|W�C�E=-j�X㦙
�� ���u���[���u�U�}�������T>�s�$m".�U�5>1o�WsA~�zK/}� �1����?n�Tn����k�E�y��R�Q�
��u�=AX�q����Le��s������K�U���W~3q��z���
�#�[������j�׎i�̒(�� Rk,Q���c�y��󋂤�)��4
�C���J�Kg�ؐ�����u�/L�&O��S���
M�7e2��f�k\�Gσ�^
��+U�]D��=2�V�H����*[�+ӊ�ħ��I��^^^.
4���,Ea~9�E�5�m������~��]�$]���iQ��M��
$��
+endstream
+endobj
+2512 0 obj <<
+/Type /Page
+/Contents 2513 0 R
+/Resources 2511 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2307 0 R
+/Annots [ 2444 0 R 2445 0 R 2446 0 R 2447 0 R 2470 0 R 2471 0 R 2472 0 R 2473 0 R 2474 0 R 2475 0 R 2476 0 R 2477 0 R 2478 0 R 2479 0 R 2480 0 R 2481 0 R 2482 0 R 2483 0 R 2484 0 R 2485 0 R 2486 0 R 2487 0 R 2488 0 R 2515 0 R 2489 0 R 2490 0 R 2491 0 R 2492 0 R 2493 0 R 2494 0 R 2495 0 R 2496 0 R 2497 0 R 2498 0 R 2499 0 R 2500 0 R 2501 0 R 2502 0 R 2503 0 R 2504 0 R 2505 0 R 2506 0 R 2507 0 R 2508 0 R 2510 0 R ]
+>> endobj
+2444 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.98 697.994 187.264 708.898]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_aa7b3a5c12ea008b78eed88a621c1fab1) >>
+>> endobj
+2445 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.963 697.994 293.213 708.898]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+2446 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.131 697.994 371.148 708.898]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+2447 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.711 697.994 455.727 708.898]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+2470 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.98 640.211 187.264 651.115]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ae61fdcc22d1e0fe43b94194f2eadaa1a) >>
+>> endobj
+2471 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.963 640.211 293.213 651.115]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+2472 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.131 640.211 371.148 651.115]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+2473 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.711 640.211 455.727 651.115]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+2474 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.235 628.256 220.058 639.16]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+2475 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.717 582.428 186.348 593.332]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a33daeddebffc6eb847edd92c3ba045dc) >>
+>> endobj
+2476 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.523 582.428 293.772 593.332]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+2477 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.35 582.428 373.367 593.332]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+2478 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.82 582.428 456.837 593.332]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+2479 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.717 524.645 186.348 535.548]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a1d00782cbab77286295552af7dba7ed8) >>
+>> endobj
+2480 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.523 524.645 293.772 535.548]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+2481 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.35 524.645 373.367 535.548]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+2482 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.82 524.645 456.837 535.548]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+2483 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.581 512.689 218.404 523.593]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+2484 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.772 466.861 187.446 477.765]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_aca71bae643870b4a7aaaabbab838c330) >>
+>> endobj
+2485 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.73 466.861 292.979 477.765]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+2486 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.431 466.861 370.447 477.765]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+2487 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.745 466.861 456.762 477.765]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+2488 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 466.861 513.996 477.765]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+2515 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 455.28 159.485 465.81]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+2489 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.603 455.28 240.62 465.81]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+2490 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 409.078 180.496 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a6a3dd351c33d66250d2b4ac639768f07) >>
+>> endobj
+2491 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.834 409.078 252.994 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2492 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 374.209 213.153 385.113]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8a87935278cb7b1290301e96cb82fcb1) >>
+>> endobj
+2493 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.49 374.209 285.651 385.113]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2494 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 339.339 213.163 350.243]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a5e972fbb672e9b2faec34b949c9a2918) >>
+>> endobj
+2495 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.501 339.339 285.661 350.243]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2496 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 304.47 205.692 315.374]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+2497 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.19 304.47 261.312 315.374]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a75188bcee0bfc88a4c8571acc04a1826) >>
+>> endobj
+2498 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.65 304.47 332.156 315.374]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+2499 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 269.601 205.692 280.505]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+2500 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.19 269.601 261.312 280.505]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a4aef1a4f6e9bed5d473e98320401e0e5) >>
+>> endobj
+2501 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.65 269.601 338.781 280.505]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+2502 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 234.732 205.682 245.636]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+2503 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.18 234.732 261.302 245.636]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a16f61fdba7e14a67990a84e93be00efb) >>
+>> endobj
+2504 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.64 234.732 330.462 245.636]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+2505 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 199.862 183.824 210.766]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_acaa538c9c00b2f69301365d916bb49e8) >>
+>> endobj
+2506 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 163.374 192.272 173.905]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a620d5cdb01b8b20848ca01f4e4c05b4f) >>
+>> endobj
+2507 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 126.513 189.901 137.043]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a242d9bf0b5b215d4aa771e9f8595baea) >>
+>> endobj
+2508 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 89.277 241.935 100.181]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a54f33edf5fdf4c6f606136b882be9f1d) >>
+>> endobj
+2510 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2514 0 obj <<
+/D [2512 0 R /XYZ 90 757.935 null]
+>> endobj
+2516 0 obj <<
+/D [2512 0 R /XYZ 90 216.963 null]
+>> endobj
+2517 0 obj <<
+/D [2512 0 R /XYZ 90 180.101 null]
+>> endobj
+2518 0 obj <<
+/D [2512 0 R /XYZ 90 143.24 null]
+>> endobj
+2519 0 obj <<
+/D [2512 0 R /XYZ 90 106.378 null]
+>> endobj
+2511 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2568 0 obj <<
+/Length 1655      
+/Filter /FlateDecode
+>>
+stream
+x��Z�o�6~�_����?DI,�k�
hW,k�����Ȍ#L�\QN��~G�R$Wr
W�3��d�:
����$v�v~��
����Hx�s.�
�
�#�S�\Μc������|B�8���|B�8K�7r���?�<��/^�|=��	�r�����!
�D��Lj��\iͬgr��
2"�W~yH«$TjrB9a���b���,����2��`,�
���`Z�����)�!��G>�-F>ag��81X̝�p\��8��F�Zv�ZZZ8h�F[ԅ[�2�=^j�^�<U����0,߫VW�+k�Lޫ���j�tV�di�.�����9�룀�s|Ęu(�"׎,nbէG��uCX^�l�%���<�¤�(J2%��ju�dau��(n��neTd�
�
�����]��Oϸ���	�|J�JQ�v�����	�_eYb�kH�s���f�1��^e�t�o����9����RUt*�iB�<���
	|7�
i��|}qTǂ��0N�4N
��̧�
��p�
]�*c�;���"=�n��?h��6ԍُ�U�f	=��}�τ�3�����r��k�C� d
?�>�a�1	
�&�ցV�H N�0
+5J�!0
+�ՠ���5�>��f_
�?����Gӊ
+�X�0*+fI�E�j����K
���
k��x
"p	�k��BW'��LU���d�e]�t}	���|�N.�*.;[�Qo������]h-�.����ʧY_�a��r�� �����g�A�fӚ�z�^�=�^m�,2ߓ�~���eD�-�����-E�D
�Q�|��z@�mxG�U!�I[�
xTCCw
�7���y&5~S
���!
C侯9�1 ��ݨ�QȚ��.쫐�Eȳh����@�1�&�b���w%Ch ��u?����q���i�����
:<+�AhizQ�Cj
�Nmӑj�:-�څ���=3
]

�ڜ7 3�2��YG��	j���A�=Y�u��CS�y���C�����R�$�m�|(�ʺ�D!�	z�?�����o�D�E���ng�Nh:47�O���Ҟ�
�`�ܶ�>!h+�� Γ� l���ZN�����7m+9D�F�xt�V�9���U�pݙ��螥���bs��nK;���{�s�\O9u9gޱ�r�"�Ő����z����(�	�x;���+�;($=�l;|�{����&w)� ��n����������Ϳ�r�ּx�m�=��U�X�
+�$Ƙ�s�z�h���,��/�P�l�G�$B��VC8�E
�i_�z�~�9��Qaד���d
+�R h�A�3��`�ڌz�� ���P�xn�m�0��Ph����a�
+�
T�#I��A���
�A�;�p+��Bv�@6$�01A]�=&�c�2ѻ%�#"�0���CB+�
+	���^'dlX
���]��t�:�en�x�ڨ&�AN�0
�k��2
+�B��x�
�8��_���?��(~6O(z�����9��!��
���a�\V��������Ձ��=�Y~�b"�i��XU���*���:�n�(����
0X���_��_��{�Ç6�%Eدm~S���www(Rh���
���r��~�MސB�V�7�uu�p���!$x�0��v��?�G}�
+endstream
+endobj
+2567 0 obj <<
+/Type /Page
+/Contents 2568 0 R
+/Resources 2566 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2573 0 R
+/Annots [ 2509 0 R 2531 0 R 2532 0 R 2533 0 R 2534 0 R 2535 0 R 2536 0 R 2537 0 R 2538 0 R 2539 0 R 2540 0 R 2541 0 R 2542 0 R 2543 0 R 2544 0 R 2545 0 R 2546 0 R 2547 0 R 2548 0 R 2549 0 R 2550 0 R 2551 0 R 2552 0 R 2553 0 R 2554 0 R 2555 0 R 2556 0 R 2557 0 R 2558 0 R 2559 0 R 2560 0 R 2565 0 R ]
+>> endobj
+2509 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 697.402 193.229 707.932]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8c73e2c464d5e93dc55862d00d5478f8) >>
+>> endobj
+2531 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 660.226 238.459 671.13]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a396bd79b5d57d54685d9c1b9d970c00e) >>
+>> endobj
+2532 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 623.798 187.689 634.328]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ad369744c43a49ebac904bc3e17de0478) >>
+>> endobj
+2533 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.505 623.798 226.693 634.328]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+2534 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 588.958 161.677 599.489]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a29212d49685544d8a3c71993bd30f467) >>
+>> endobj
+2535 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 515.708 205.752 526.238]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a20814dec69b3a6602b70a9ad50db9b2a) >>
+>> endobj
+2536 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.089 515.708 276.595 526.238]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+2537 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 480.495 212.377 491.399]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_acf4dc2de16f4a54ca03daa6ac1d31ce2) >>
+>> endobj
+2538 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.714 480.495 289.846 491.399]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+2539 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 445.656 209.627 456.559]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a28b268e37d25a0cfa2b5bf39e85c758d) >>
+>> endobj
+2540 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.964 445.656 314.791 456.559]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+2541 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 410.816 248.202 421.72]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a535090b407c713681228d6ab2b835e36) >>
+>> endobj
+2542 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.018 410.816 329.845 421.72]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+2543 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 375.977 216.252 386.881]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a0cc08ca5d72d5cf465eb7812ffbb156a) >>
+>> endobj
+2544 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.59 375.977 328.042 386.881]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+2545 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 341.138 254.827 352.041]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_aa85819690f928a46e3f437bfe629e976) >>
+>> endobj
+2546 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.643 341.138 343.096 352.041]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+2547 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 306.672 236.745 317.202]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8ede75fbd470fa30f11d4c02672883f5) >>
+>> endobj
+2548 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.082 306.672 307.588 317.202]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+2549 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 271.459 243.37 282.363]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ace010a880cb8574335f1be294907de89) >>
+>> endobj
+2550 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.708 271.459 320.839 282.363]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+2551 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 236.62 240.62 247.523]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8e13e7d3536de2745bc9e58a25b75b77) >>
+>> endobj
+2552 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.957 236.62 345.785 247.523]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+2553 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 201.78 247.246 212.684]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a35f19d0e7190c5a18aebc9ced95d554e) >>
+>> endobj
+2554 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.583 201.78 359.035 212.684]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+2555 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 167.314 193.577 177.845]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a668cbd7cea86f47c4e2b303468083712) >>
+>> endobj
+2556 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.393 167.314 232.581 177.845]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+2557 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.059 154.328 248.845 164.233]
+/Subtype /Link
+/A << /S /GoTo /D (main_Cylindrification) >>
+>> endobj
+2558 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 121.516 193.577 132.047]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ad2e535d5b20d25d36b4744da392edf02) >>
+>> endobj
+2559 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.915 121.516 277.691 132.047]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+2560 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.391 108.529 247.177 118.435]
+/Subtype /Link
+/A << /S /GoTo /D (main_Cylindrification) >>
+>> endobj
+2565 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2569 0 obj <<
+/D [2567 0 R /XYZ 90 757.935 null]
+>> endobj
+2570 0 obj <<
+/D [2567 0 R /XYZ 90 714.114 null]
+>> endobj
+2571 0 obj <<
+/D [2567 0 R /XYZ 90 677.312 null]
+>> endobj
+2572 0 obj <<
+/D [2567 0 R /XYZ 90 605.671 null]
+>> endobj
+2566 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2636 0 obj <<
+/Length 2635      
+/Filter /FlateDecode
+>>
+stream
+x��[ms���_�OWj&����f&I�N�t�z���]FC۴ͩD)}���K�I��6�޵�$����g�A��]�şϾ�8;��Ѕ%Vs���YX�0�����z�>`���QJ�7KF�(�F�7KN����.�΢��ee��_�����h/����;�jb����&-���
ǐ3�r�E�
K�P�/�$|����+
+�,��~屻�6���%
�8��K�
+X�"Ͼ�8�錁�`�7�!�ڞ���.����
J�P��.$�Y�;�����u+]ג����Z9m?p������W
+|���tr��C��[���b���y�
�<٥k0;�M��p����.=�����������?�',�]�`��h&�DK�X1NB����B5�*�ί15��DHB]��J�d�c$Ѵ
+��.9�XhL/��q�_��S��[���K���St1O�%J�;�0E���<vHQDTF��8�D#�V�j™�/
�p������l}��O�?�x��J�
��f������J
%i��z�����HP2	0h��2
��vRP^�v���:�Y�K�������Dÿ��BCer�o�3�]+,qW���X*3G�J��X
hB
���PZ
HΈ����r%�
�%
rgT9ĭU�M�NQ�	cr��GS�SLͳ�xTPiK�&���
�),�����
�C�1ZL�]@PPb�O��hs��֗)�V��i� �B>S�aU�T��
��2Q
3QH�2�I�"U��:,����_{`�Tj1O~j6
�J��4�
=�z#?�
��[��G������S��i��Ϛ�Ҝz��
�Z����q�L������<����*T�Њ��ur��*�
����S��Z�;����	�
�&��E�9��0���ݢ_��	!�`f�"sH��On
������J�y��V��%:d3�#w�L]�q���."q��ůU�Ϡ�������'r9��<�IÒ�$�s���ywʖ
m̠��1
�+)
r��� ���RMnV�Z�A_n$�l�����
ݻe!����q��S.��T�(*�
+�Б�`�:�F�'���1{%�\2Ƃ(K�����¢R at I2�e�W��#��s���q����y�Ő��ь�_9
��e��+�8��y%����b���XQ�U:��d��~'/�}Y����m�F�.���]�W`��
��=URP�2���Dq
��d��6QQ���4v�A|`h;j�^
���R�5��er^Y	<� �������>�i����~_�#��X
�6Vl
�
j�19��������
9�(��Q
u/��PaBc��EK
.;T
%�B!F)sp�Z�w!.Pb���K���]��
�+�� 
���_�Y��f	k�0
�
�,
��,��y`�	1⬟�
��!Š�I���41
��D�.
�]�՘����U���+z�.�UA��.N�����8oBWc�.肅��7蚫wep�qm�����ub�K0
'l`�@K!������
��U;��%�7���n�w�1��G���e�y�
�Ic����?#�97|�g=V����ڄ��R7�IC(��+��:����9���A��-��dmN{W�J5�UF�:��R��D>(;
+A�=��D�-��ԧ0-��M�@�8�,�a��,LM$ �`w�7��y A
+U���pt��S���%��U�A���Ac�Jn8�)�'�]��J?
������eu��������54��q;Ǎ�Pv�U3�XOW)
��f8��]V
(Z��j;�!P�:P����<3�/<�� Sn�zS=
�ŴM/!��L����
`_9�(��}
?�Z;
ճإ����\��q�`3=�ǃJ���Y[p��z�xq�fW��1Nۀc��9��ÀV�_ɚǰ,�J@��.(vhcP��'@qkb��2��uy
+BE�J7
d�GP7\&� `�
+�j��mm�)%��,~HTH��L��5�g�}
���%��F~�Vc(��*4Z��_
�mA�O��<�Ӳ�3:�3�0l"/�����?}|XM`�$}<�- F=
+>�G ����0>��`D�pFJ,�?N��F�	�X�T*��(�2J\ɒD5����#'�f�@������>�XU  �'�}>/J
B�(�lϛ���o��������.��
�(��mP���V����dB<S���	k��
,�g����L�<~ּ��,�lST�&�b
+E"��ک鼘�h�D^́ڌ�����A^LE��Z��ȋ�R���b)�;�8is G�����'Z2�c��7�z��\�(���?�'ߟ���Se1��L��0Y�a�a�6��cl��B�fWă1h�cA

6Ƃ�	�F���܉�
��4#�`uƺ��
8�ӄ
�����/�G���%`^t�t؉��(��x[K	���@��*���ъgu�zN88�^���6L�j���X��r�{:ڵ!9������+����><��_�^�5PC���
õ��.�Q,��*c���E�_Ux����Eُ�A��7C����Х�������?q�;<��{��E�}�
4B�Gg�����3�r% s��er;���(���״����������ru �i��H������V�7lƔ3�C�7����e�i=��-ࢹ
��� ��n�
+endstream
+endobj
+2635 0 obj <<
+/Type /Page
+/Contents 2636 0 R
+/Resources 2634 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2573 0 R
+/Annots [ 2561 0 R 2562 0 R 2563 0 R 2564 0 R 2587 0 R 2588 0 R 2589 0 R 2590 0 R 2591 0 R 2592 0 R 2593 0 R 2594 0 R 2595 0 R 2596 0 R 2597 0 R 2598 0 R 2599 0 R 2600 0 R 2601 0 R 2602 0 R 2603 0 R 2604 0 R 2605 0 R 2606 0 R 2607 0 R 2608 0 R 2609 0 R 2610 0 R 2611 0 R 2612 0 R 2613 0 R 2614 0 R 2615 0 R 2616 0 R 2617 0 R 2639 0 R 2618 0 R 2619 0 R 2620 0 R 2621 0 R 2622 0 R 2623 0 R 2624 0 R 2625 0 R 2626 0 R 2627 0 R 2640 0 R 2628 0 R 2633 0 R ]
+>> endobj
+2561 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 719.912 223.465 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a86dd59c40a3c9867c2979ff24ba342c2) >>
+>> endobj
+2562 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.802 719.912 295.962 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2563 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 685.299 229.552 696.203]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a0442c5079b3de8dcac61c224ee7a2e6f) >>
+>> endobj
+2564 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.89 685.299 302.05 696.203]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2587 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 650.685 266.673 661.589]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a4b7615a8ec5120dc083f368ecfe2d1da) >>
+>> endobj
+2588 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.01 650.685 339.17 661.589]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2589 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 605.113 299.171 616.016]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a6ef0e7043830c5e6b9ffd67697d22c04) >>
+>> endobj
+2590 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.508 605.113 371.668 616.016]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2591 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 559.54 217.109 570.444]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a894e92407922be006a76577cf47b8589) >>
+>> endobj
+2592 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.446 559.54 289.606 570.444]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2593 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 524.926 271.126 535.83]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a84a9c57aa31433a277d9be6b0077065a) >>
+>> endobj
+2594 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.463 524.926 343.623 535.83]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2595 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.863 512.426 326.259 522.331]
+/Subtype /Link
+/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
+>> endobj
+2596 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.984 479.354 201.742 490.258]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a4e04c3a6c835332c31dfbb928b31144e) >>
+>> endobj
+2597 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.442 479.354 243.629 490.258]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+2598 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.079 479.354 371.329 490.258]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+2599 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.562 454.898 267.759 464.804]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
+>> endobj
+2600 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.288 421.826 212.768 432.73]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a07cc48290e435dfb739fb565ff1aa3fa) >>
+>> endobj
+2601 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.771 421.826 252.959 432.73]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+2602 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.896 421.826 375.145 432.73]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+2603 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.657 397.371 275.748 407.276]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
+>> endobj
+2604 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.443 364.299 250.099 375.202]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ae0ba85e8cab7e4e95ec001bde5bdd99d) >>
+>> endobj
+2605 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.258 364.299 289.446 375.202]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+2606 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.772 364.299 379.512 375.202]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+2607 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.747 364.299 513.996 375.202]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+2608 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.43 338.634 403.696 350.799]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+2609 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.091 306.771 250.748 317.675]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a0acf1147e3f81830606dec4cc8faddd4) >>
+>> endobj
+2610 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.068 306.771 357.317 317.675]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+2611 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.405 306.771 456.145 317.675]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+2612 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 294.816 202.344 305.72]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+2613 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [356.462 282.315 409.185 293.271]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+2614 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.207 249.243 266.586 260.147]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a988ff507806fa8126649f463ef6a1f31) >>
+>> endobj
+2615 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.509 249.243 309.697 260.147]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+2616 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.494 249.243 408.234 260.147]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+2617 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 249.243 513.996 260.147]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+2639 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 237.288 171.361 248.192]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+2618 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.141 223.579 414.324 235.744]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+2619 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.017 191.715 265.396 202.619]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a79acafbe4f67eb7e2710287bcd60db96) >>
+>> endobj
+2620 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.568 191.715 375.818 202.619]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+2621 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.239 191.715 478.979 202.619]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+2622 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.616 179.76 225.866 190.664]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+2623 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.012 167.26 414.183 178.216]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+2624 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.933 134.188 239.984 145.092]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_acda762f8c081fed2862260211618fce0) >>
+>> endobj
+2625 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.633 134.188 280.82 145.092]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+2626 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.855 134.188 405.104 145.092]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+2627 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 134.188 513.996 145.092]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+2640 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 122.233 171.361 133.137]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+2628 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.257 108.523 432.092 121.681]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+2633 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2637 0 obj <<
+/D [2635 0 R /XYZ 90 757.935 null]
+>> endobj
+2634 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F79 505 0 R /F107 2332 0 R /F97 1188 0 R /F105 2458 0 R /F41 370 0 R /F106 2337 0 R /F37 2638 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2703 0 obj <<
+/Length 2511      
+/Filter /FlateDecode
+>>
+stream
+x��[�s���O[4]�'\<qf��n��n�ݦ�n���� �����H�a[nvv����9�<~�qAعs����'�o}�(��\�:v|� A�s=u>�#:��{9"؍�Y^�(v�tyO�(|�ܔQ�<;{����>*�ѯ�?��%�Ö
����뷆�'YI�
�� � &���q�H������,�n<+Ҩ�͙��m\��t�l���	7��ɛ����
��!|�����ӯؙ��
�(��T3�S��su��l-��^w��G
��S��'�j?Sj�7�9��l��-�L�5����.���7�<���0�
Q�~ƘfqX�q2���u���X�,��!��$�IngjU��8v��̝�YU�Z$s�'Y
����ª*ɳ���Jo�xD�
T-{��=o؏�#��3&�Zx�\�W�M�p�"�[�N�8�ú���:;�+
+KG&��4��Y�Eu^�oޚg��;���[F�	
����:V8">E((b�=(q�Ah3.�:�@�~�6�����H�0C􈐇[@��IeՕO׈b#l�|W��J	wꟾ���vh=�Q�4D���7b�z�"�ԭ]��}�=lԝ:��9����zܜ�e�#P���
,RR��jV�޴
+��<D8k��
#p�l�U4n$%椒8>ƈo�%��%���IM:��5��@ B<#�ă�%��Š��'�
��P����Ϛ�a$|�;�
�tmH��g	.ִxh�<�+���>QY�w]2r�DX�g�D�?�'%�,x�SV�����`�	��]����
+�^E��SH�D>� A"��Y
l�*#�����ʆ�2;�uۊ���<4�R�<��T��<�J�D�(��!�z�T	��k���;�O�9�gżN�;��]i�1��|�L7q���lHA�/ �����D�t�
�
hC�
`"4X�S���"�ǂ��-�.����OU�U\1{e���
ܠ�ym��wY�;���
�G��"V�K2��8 a1�{ ��}Ԡ؏�j����,���CƷ]�v�8ح�O�T\� ͕�Cbrh��=^Q���9�̮�U
���;����}#�P�
A���x1�α�#�
+!�f4�NM���˰������x��&�Ss�#0ɦ�R�!�Σ4]���<ޚ�65^�
R B�	me��Tˁ�1�=�l��D�G�&SH;�ꩫ~�j�x��
J��;�h��&q�:M˼�
JT�g`�U�9|��ժ��Eߣf�
�������%������7�zw��s*٥�I��&]Z$w�58g��DɃc��+y
+Xn^m�R�6G��&�u����
c��Le��\Wȩj}��q�C�z �9�G��$)���:��
R(��Q9�ߏ�Cs�Z��
+{B�
'@t���k
+gl��Q������
kjN����Ƀ���}F�*g�;Ԯt-����	e3����600����

 .��@� O��1HHy�� /�4�K&QNҼ����G'G�������n�*}�f���&7��v�㫢
��uq
?�K..|�n�AW�խ�KOo�#��Hڪ��zAƇt_uq~p̀x����P�v
�( ך>/O;�=�"�
Ivt�ẘdϬ(�8*r� 6�3���G����'R��ѫy�`��d�������o�@]Qx�N۰�a�ɢ�?zW��j���W�n��n  j�{�_�t���/�K9h�[ѯX����R\ߦf�������Ž��
l�ˤ���G��#_<�ܾ��ÿ��4��3_N���K�Y�0�j�����'���_"��K
+�
z�=X���,��ihs�"�-R���ٳ�84p��T��)�� `�'S`İ�o	��fLVc˃
m��a�͈�7pJ���l
+�
+�왢����
.Di���8�5���@TK�+�>�+S��@דl �
����&C��H�W�j3�3��|�6�Gv�3{_�C��3m�ɢ4]�,�n�mI�C
�c$
+����<�(�j0�m�̢�4;�������V�V���������1J��

*T��n��i�u�C��1�.
�|�#)�� 	��r7Pe���H
+�&�j��E��L-"�+{�f���3�/�a�C�w�QQ��D_���L��b�l��9u�hRd��Ă`U#9����HC����3H;��(�L�{/�������nJƽ��R]��

+�
��W��G�aJL�`��U�Q��`����iޏ�S]݀�:9\0=����`�
7D=h�j�\�d��;�H����`��~𥍋
���K��x�3�����Н�⮗v$�`��F(����/
$о
y9�`	�����vC9�H�
�ˑh��
%t���ߎW�*��|9�yރ� c~n ��h^s�n0v��P9�������Ł��*.��԰�~��y�M�h���$	'1"�h:fP���ƿF�ߜ���ش�Z")�~[��8;=],hR�y�%J�S�
+O7$t���
��6�����j��B=ӵ��0�� �M%�
+endstream
+endobj
+2702 0 obj <<
+/Type /Page
+/Contents 2703 0 R
+/Resources 2701 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2573 0 R
+/Annots [ 2629 0 R 2630 0 R 2631 0 R 2632 0 R 2705 0 R 2654 0 R 2655 0 R 2656 0 R 2657 0 R 2658 0 R 2659 0 R 2660 0 R 2661 0 R 2706 0 R 2662 0 R 2663 0 R 2664 0 R 2665 0 R 2666 0 R 2667 0 R 2668 0 R 2669 0 R 2670 0 R 2671 0 R 2672 0 R 2673 0 R 2674 0 R 2675 0 R 2676 0 R 2677 0 R 2678 0 R 2679 0 R 2680 0 R 2681 0 R 2682 0 R 2683 0 R 2684 0 R 2685 0 R 2686 0 R 2708 0 R 2687 0 R 2688 0 R 2689 0 R 2690 0 R 2691 0 R 2692 0 R 2693 0 R 2694 0 R 2695 0 R 2700 0 R ]
+>> endobj
+2629 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.436 719.912 251.209 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a178a6a88143f44b43939d36024af6162) >>
+>> endobj
+2630 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.361 719.912 290.549 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+2631 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.719 719.912 409.969 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+2632 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 719.912 513.996 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+2705 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 707.957 171.361 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+2654 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.114 694.12 456.992 707.278]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+2655 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 660.926 224.57 671.83]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a5a66e6f883c7310ddbc312f78bb0970f) >>
+>> endobj
+2656 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.908 660.926 297.068 671.83]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2657 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 648.298 347.869 658.203]
+/Subtype /Link
+/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
+>> endobj
+2658 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.761 626.057 199.556 636.961]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a5616d386d85dc734e155a67f12e7752f) >>
+>> endobj
+2659 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.215 626.057 288.991 636.961]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+2660 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.558 626.057 449.718 636.961]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd) >>
+>> endobj
+2661 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [467.73 626.057 513.996 636.961]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
+>> endobj
+2706 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 614.102 244.556 625.006]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
+>> endobj
+2662 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.598 614.102 395.48 625.006]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga84cc2bd35e1437f8df3be984dd1f4638) >>
+>> endobj
+2663 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.169 614.102 513.996 625.006]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+2664 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.268 589.518 164.537 599.424]
+/Subtype /Link
+/A << /S /GoTo /D (main_Wrapping_Operator) >>
+>> endobj
+2665 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 567.277 273.129 578.181]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a3e0339ccaf8da39b9fd21ff8777e99e4) >>
+>> endobj
+2666 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.944 567.277 352.41 578.181]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+2667 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.949 532.408 282.978 543.312]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a2204d6d24f9c68fdb6a72062afe9a209) >>
+>> endobj
+2668 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.014 532.408 386.79 543.312]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+2669 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.53 532.408 513.996 543.312]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+2670 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 474.625 255.564 485.529]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ad80989353ea3738abdb6b605d27cc8fa) >>
+>> endobj
+2671 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 437.763 257.637 448.667]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a9507085c5b0efd13c80f08a22b0f5529) >>
+>> endobj
+2672 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.974 437.763 330.134 448.667]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2673 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 425.135 378.454 435.04]
+/Subtype /Link
+/A << /S /GoTo /D (main_CC76_extrapolation) >>
+>> endobj
+2674 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.706 390.939 260.243 401.842]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a24d2b69146ab1b2216e437468a818cea) >>
+>> endobj
+2675 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [292.792 390.939 337.952 401.842]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2676 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 366.355 378.454 376.26]
+/Subtype /Link
+/A << /S /GoTo /D (main_CC76_extrapolation) >>
+>> endobj
+2677 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 344.114 257.786 355.018]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a1a02b17cbccf348192f3e7f776b3b3fd) >>
+>> endobj
+2678 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.123 344.114 330.284 355.018]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2679 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 331.486 375.773 341.391]
+/Subtype /Link
+/A << /S /GoTo /D (main_BHMZ05_widening) >>
+>> endobj
+2680 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.698 309.245 308.942 320.149]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_aeda87d46bc3b54b420a475934e0e1cb6) >>
+>> endobj
+2681 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.477 309.245 386.637 320.149]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2682 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.169 309.245 513.996 320.149]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+2683 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.489 284.662 302.72 294.567]
+/Subtype /Link
+/A << /S /GoTo /D (main_BHMZ05_widening) >>
+>> endobj
+2684 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 251.462 245.911 262.366]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_adf3cfc56df68bc8063e6e9eb3d0ad3f1) >>
+>> endobj
+2685 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.248 251.462 318.408 262.366]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2686 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [488.091 238.833 513.996 248.739]
+/Subtype /Link
+/A << /S /GoTo /D (main_CC76_extrapolation) >>
+>> endobj
+2708 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.268 227.874 189.266 237.78]
+/Subtype /Link
+/A << /S /GoTo /D (main_CC76_extrapolation) >>
+>> endobj
+2687 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.576 205.633 292.328 216.537]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a2af430cd70ac416ca0907312b65812e6) >>
+>> endobj
+2688 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.618 205.633 367.778 216.537]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2689 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.662 205.633 491.489 216.537]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+2690 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.622 181.05 310.533 190.955]
+/Subtype /Link
+/A << /S /GoTo /D (main_CC76_extrapolation) >>
+>> endobj
+2691 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 147.85 236.197 158.754]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a5d71f71f50ba04fe5f810acf0cf1e294) >>
+>> endobj
+2692 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.534 147.85 308.695 158.754]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2693 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 135.222 357.84 145.127]
+/Subtype /Link
+/A << /S /GoTo /D (main_H79_widening) >>
+>> endobj
+2694 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 112.981 214.06 123.885]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a00b832cc0784b7b30f4d4a2f738a3032) >>
+>> endobj
+2695 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.398 112.981 286.558 123.885]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2700 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2704 0 obj <<
+/D [2702 0 R /XYZ 90 757.935 null]
+>> endobj
+2707 0 obj <<
+/D [2702 0 R /XYZ 90 491.726 null]
+>> endobj
+2709 0 obj <<
+/D [2702 0 R /XYZ 90 130.082 null]
+>> endobj
+2701 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F79 505 0 R /F107 2332 0 R /F97 1188 0 R /F37 2638 0 R /F105 2458 0 R /F41 370 0 R /F23 368 0 R /F38 2120 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2751 0 obj <<
+/Length 1938      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�6~ϯ�S&1C�΢
��˶n�:�K[�D��t�$���!)�f�vb���ĴM
���;kw�~:{}svy�b�"��v��(�\� � �M�}�	F�dJ0����`�/~=1��ś%

�[t[���ŋ�o糥��ɗ�w�W�t�j!�z����RN���w�Ԅ��V��'�M��dj��QCgI
���|`
VL���4��\j�:u�ȳo��># kDX�v�
��٧/X
��wF&(���2Lx�����g��,�Z�v��$.r`�k�;�<�gð��j��ij�����������A�2
C��$�X8�٥s6!��P~���Q����]:���}�6���v����/���'D�L
K� �:�~��7|J�Gi5�mʊ%cG;�Z�*��	��,�Ӧ� j�V�z�P",����M���rR��
Qs��s��Y�+����q,�pJ(2�Sb�Y��K���3~K��
��Z29(&���rW�_�h'찖��O��(di�ލ9 Ȓ|U	O [...]
+�0p߹���{
+<@\	 �J���F���A���;�
�q��_#�h�s%޾Pb"ȭ�I�Pr�Q|<�6$J�:����-���|`3"�F��D����_<Gb�ڑ
+�"Wy�N�ql(4
zJb+X��
u���-�;���~��1+�36J��pLHΊ���A(�2�Ѭ��Yu�V�'������`�-Yq�'��0��`�u��I���^j4
D�l�6�ڪBf�
���:R>^��l |,�y@
-ӥ�����v��wXj<���z��ݍ��E�ń���b-UЋ��9�y��,�z
=I�[=��S?�
t-*����x���=<ztЍ��H ذ�%�axO���<���%��
x(v�C�k��$`�χ�
Bu���L$�AM�
nU���L.Փs
�tL�AW'I}d&�����O��^�[^G���!��<�W�H6�;9�VS(����Mvdy�
CUIa�X՜�gi\#ًk �n�t6
�g8���y$gX�ho�0.�@�3��'H��:&�^A�y�\
����/G|�)2[���O�E%>"
+B�^#��.��a�ȀE�S�Dp*��x�/��~u��x;iW�ǁ�ϓ췯
]�M�K.;��á�$��
Q�R��Z�2�y���}��f]����TeWi?��Vg�Qr�d_4��=����
�m��̓��^��{�5�<�8��G7
?.��
��X��FP����~U�f���Gйi��p�UX�����&O��7q�]�⏤��n�
P
F��C�=`ȫ"bix2����,g�Y�W�np
�Z6r��Z/G���Q=d��'���s�������_�6�zLo���û��i#��:Ϻ. w
+�t�4���D��>��<�)T���wt�Ȯ.]/�VO�	VS C��͟�'�'����ꁹ�6�Q���"[��e�RO�|�~� �ֿJ�o�(Y��Ķ�R=WKW���T���6�k	�
�LM��S��z���ѯ
EF�ă��m\�������z�FA�Vi�(�.�<��f����lƅ����`*������>�N�
+endstream
+endobj
+2750 0 obj <<
+/Type /Page
+/Contents 2751 0 R
+/Resources 2749 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2573 0 R
+/Annots [ 2696 0 R 2697 0 R 2698 0 R 2699 0 R 2722 0 R 2723 0 R 2724 0 R 2725 0 R 2726 0 R 2727 0 R 2728 0 R 2729 0 R 2730 0 R 2731 0 R 2732 0 R 2733 0 R 2734 0 R 2735 0 R 2736 0 R 2737 0 R 2738 0 R 2739 0 R 2740 0 R 2741 0 R 2742 0 R 2743 0 R 2744 0 R 2745 0 R 2746 0 R 2747 0 R 2748 0 R ]
+>> endobj
+2696 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.221 719.912 284.876 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_accbd8986577794cea90edef63e859ab1) >>
+>> endobj
+2697 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [312.455 719.912 357.615 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2698 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [399.095 719.912 476.922 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+2699 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.902 695.329 286.2 705.234]
+/Subtype /Link
+/A << /S /GoTo /D (main_H79_widening) >>
+>> endobj
+2722 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 623.583 289.866 634.487]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a9c0703b2311336754e28a7f739b7e685) >>
+>> endobj
+2723 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.681 623.583 359.324 634.487]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+2724 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 588.714 290.971 599.618]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_afa8a10ff4b09f8a87e3c558a39f5888e) >>
+>> endobj
+2725 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.787 588.714 360.43 599.618]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+2726 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 553.845 224.003 564.748]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ab0a670aeef72d808d620bbc33a5e8cd7) >>
+>> endobj
+2727 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.34 553.845 296.5 564.748]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2728 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.695 541.216 272.49 551.122]
+/Subtype /Link
+/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
+>> endobj
+2729 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 518.975 254.15 529.879]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a63e8c0f76da4e9b3520aa338d152d253) >>
+>> endobj
+2730 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.487 518.975 338.263 529.879]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+2731 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 484.106 284.585 495.01]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ab054f67fb31ea4e860dd7c24c0b56676) >>
+>> endobj
+2732 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.401 484.106 354.044 495.01]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+2733 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 437.282 241.726 448.186]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ac65231748a66ac5c074502cc8e652e10) >>
+>> endobj
+2734 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.617 424.653 407.658 434.559]
+/Subtype /Link
+/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+2735 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 402.412 249.318 413.316]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a0badc932380dcb7f72ea50ca922d9d4b) >>
+>> endobj
+2736 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.134 402.412 288.321 413.316]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+2737 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.875 402.412 371.519 413.316]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+2738 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 367.543 240.62 378.447]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a1f8426558552c358c30b6263c758fe51) >>
+>> endobj
+2739 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.958 367.543 324.734 378.447]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+2740 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.313 367.543 389.5 378.447]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+2741 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 288.773 203.075 299.677]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+2742 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 288.773 296.324 299.677]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ae68d61763922cee018cbba3834b2085c) >>
+>> endobj
+2743 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.636 249.919 287.856 260.823]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ae748c3f5082b158453fbb3ccf57c8f70) >>
+>> endobj
+2744 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.636 211.065 294.481 221.969]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8c89ddcd2fc4311af0e358477630d7d9) >>
+>> endobj
+2745 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 130.302 180.54 141.206]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ac91aac77237c2405df039c4fcfa08ab0) >>
+>> endobj
+2746 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 130.302 253.037 141.206]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2747 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.336 130.302 366.497 141.206]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2748 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2752 0 obj <<
+/D [2750 0 R /XYZ 90 757.935 null]
+>> endobj
+2753 0 obj <<
+/D [2750 0 R /XYZ 90 307.747 null]
+>> endobj
+2754 0 obj <<
+/D [2750 0 R /XYZ 90 307.747 null]
+>> endobj
+2755 0 obj <<
+/D [2750 0 R /XYZ 90 269.012 null]
+>> endobj
+2756 0 obj <<
+/D [2750 0 R /XYZ 90 230.158 null]
+>> endobj
+2757 0 obj <<
+/D [2750 0 R /XYZ 90 149.276 null]
+>> endobj
+2749 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F23 368 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F38 2120 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2809 0 obj <<
+/Length 1634      
+/Filter /FlateDecode
+>>
+stream
+x��[s�F���+�3�z�Oڇ�:���k�OiF�%l3�@G��=�� � �r�6z���۷8عv���������ŽAFR�\\9;J$(q.&�{�`D�!���
�����ѩG�O�7�$�Go���O�''�^��o�y�}�x}����Xb8RFä�ԧŐ��v&^
�� � �D5��>	ϧ~�zC*03�
f�ř��*H<�� �)e�p��"//
H�ɭ!R0�x6x�;8�����2�����)�ߩs>�}�;-K�R
<
�z&ł^-�q�QZ�%d�F�
)G���?����J���Ϫ� -O�Iy���Y0����j.�H�t�j�Hę�	��R*Z���)d&v}qi*�g��s=@��8��!В$�Ъ����?
*�
diNW"�e��bH+�
	AF��O���I�fI��
+�G�z���u��30���r<?��M1ɑd���麝�	+׵��7�$��8���e5ӭ1g;�B��u��������H(�e�V�
]Nҵ��[�2 �H�s�P)#�A
^�o�l�(���#���Oq�F���|H)�"CH<C��3�/�x�] ��S;ۋ�6�n
�F><\�݉8��ߔ�
qܫ��@m�0�
҅!�d;]΂l�T;�Q��
7��,Y�a�
+�;~5(�*���ܙ�h�,����
�:�w� _!I렶bׅ������GH=�O<�`�~�1���ݯ8H�{��|7X!5��ţ��G�e���D+�Ig	%
�
N8�n@�0
��OF�0�|(�FPm�
q��U��;,b��>�	�mqLF�y�ґ�Ĩ�LP�� wj�v�
�/?gA4�'���pl7�妪�JLٙ�v�:���
�3u�hȄ�"�2�,��O
 տ�ӣ�^K��'��s�g�"�����E�l�&'a�5���G(Xp�����5A��fuFy��
�ǿ���e���Z��+�]�mD�J	�:�<8������c�;�a�12Wa���I�/�2�
�L���4�\�˛�LP�3�%�H3�� Mަ�Q�T�z;*C�����UAl�eP�ˠ`��
��Z�ܣl6����
+�ggk��&-��������O;�G�
+��`g�
�i8	���l�XWHa�I
+[�XǺR�b]!�M��LwXWj
�����;x����u&��R"(D��c)��,�
q�k
�u���[�g�6J�C}��P�6P<��`�t��Q�-{�
���l��=̆G�5f
�wg�=�n�T3����l������|�{�r��r�]1\���b'�4��,(AH�� ���

�m!��-�%k��{��&�B�&v�q�� ����P|���~���
ӷ_�oI��7����B0yG�|5'�n���-�y+�z�G����=6ݭ��]Wu��減-y��Dbѭ�5,��%]�z�ʶ�X�ޑ�{� �(�m�σq�Oÿ�M�m�"����ʹ�mN+�9$�2aW�%��{������� R2������E��E�֢�t��rw��y��4H�xB�i�Up�O�~���$
��F�X�#o� �΃*,
+�>:����X��VuD�d��������S���y���x>�
��!��H
W���Y\u��������0�?,j�(
+endstream
+endobj
+2808 0 obj <<
+/Type /Page
+/Contents 2809 0 R
+/Resources 2807 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2573 0 R
+/Annots [ 2768 0 R 2769 0 R 2770 0 R 2771 0 R 2772 0 R 2773 0 R 2774 0 R 2775 0 R 2776 0 R 2777 0 R 2778 0 R 2779 0 R 2780 0 R 2781 0 R 2782 0 R 2783 0 R 2784 0 R 2785 0 R 2786 0 R 2787 0 R 2788 0 R 2789 0 R 2790 0 R 2791 0 R 2792 0 R 2793 0 R 2794 0 R 2795 0 R 2796 0 R 2797 0 R 2798 0 R 2799 0 R 2800 0 R 2801 0 R 2802 0 R 2803 0 R 2804 0 R 2805 0 R 2812 0 R 2806 0 R ]
+>> endobj
+2768 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 658.013 226.034 668.917]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a5049b85730d6720536be440753b11ed8) >>
+>> endobj
+2769 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 658.013 366.336 668.917]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2770 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 607.204 178.239 618.108]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_acdc537f0aa5117fe3749d3c50b7dc4fd) >>
+>> endobj
+2771 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 607.204 250.736 618.108]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2772 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.035 607.204 364.196 618.108]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2773 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.625 556.395 245.522 567.299]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_af4b0f891a6911d7784216f537fa3e473) >>
+>> endobj
+2774 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.848 556.395 325.229 567.299]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+2775 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 544.439 159.071 555.343]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2776 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [227.37 544.439 272.53 555.343]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2777 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [316.66 544.439 376.217 555.343]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+2778 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.625 493.63 245.522 504.534]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a221657648a7e456dba61589e37765cd4) >>
+>> endobj
+2779 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.848 493.63 325.229 504.534]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+2780 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 481.675 159.071 492.579]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2781 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.339 481.675 274.499 492.579]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2782 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [320.223 481.675 379.78 492.579]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+2783 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.92 418.91 243.605 429.814]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a47a21a1c8a88c306877d15d4dbc697b4) >>
+>> endobj
+2784 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.226 418.91 323.607 429.814]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+2785 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 406.955 159.071 417.859]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2786 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [227.37 406.955 272.53 417.859]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2787 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [316.66 406.955 376.217 417.859]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+2788 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.92 356.146 243.605 367.049]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ae5c66812ab981ee2d1ab96ce218a7782) >>
+>> endobj
+2789 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.226 356.146 323.607 367.049]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+2790 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 344.19 159.071 355.094]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2791 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.339 344.19 274.499 355.094]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2792 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [320.223 344.19 379.78 355.094]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+2793 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.138 281.426 242.189 292.33]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ad0a9267e420144cacfb867076d00a803) >>
+>> endobj
+2794 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.028 281.426 322.409 292.33]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+2795 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 269.471 159.071 280.374]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2796 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [227.37 269.471 272.53 280.374]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2797 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [316.66 269.471 376.217 280.374]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+2798 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.138 218.661 242.189 229.565]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8d6c186583503c4394603550b50edf59) >>
+>> endobj
+2799 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.028 218.661 322.409 229.565]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+2800 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 206.706 159.071 217.61]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2801 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.339 206.706 274.499 217.61]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2802 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [320.223 206.706 379.78 217.61]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+2803 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.742 143.941 159.108 154.845]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_af6351727d099ad178db8b8e742507f4c) >>
+>> endobj
+2804 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.751 143.941 321.994 154.845]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2805 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.784 143.941 513.996 154.845]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2812 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 131.986 140.251 142.89]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2806 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2810 0 obj <<
+/D [2808 0 R /XYZ 90 757.935 null]
+>> endobj
+2811 0 obj <<
+/D [2808 0 R /XYZ 90 716.221 null]
+>> endobj
+2807 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F38 2120 0 R /F79 505 0 R /F97 1188 0 R /F106 2337 0 R /F41 370 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2829 0 obj <<
+/Length 3272      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s۸~���[��
�B�`�ݙ\�;�v���}Jv2�DYL(�!�8ί��� )H��ff�b�$ppp��9 �����狗7�?%x���S>���R<K8A1%����ݜ`DWc<� x����Û�����6��b�f���g/_x�͚|���/�?�%i��T����_���r���	�Ha�
��9
+�ʬ�W4�@,��|הY��7�囼]1ϫ�JR�S!I^�����*xF�4�%��jw��w<[��_f1�̝��E��o9{{�
|R��!�c'YD�l_�}V��Z��:�Vm��E]I�����R=��{9�KN�)1�n�A�}�W�.�r:$cģsBg�
�rR���	��3��1{��c�
�b$B"

�pϓ���Wk�.��b���
lFۋ
�I���q6�ٚ�v���;�
+'�J� �Lu6bT���V9�"9�U�VD�
��e-7tgx�ԭf���Ն�cLWE^��k�7m�����L5��(
�g�R%!(���g 
�´�o�U/��"<�TTk�EOŦ
�� �V����Y0��b|�뙫����FE��
�MX�˂��\����7�5G���6�`��s��$�M@ �q�%&�HZ�.��
+@��
����ݥ4!�T��0"ƒ�u��
�D
��\;/����e��M[��So�m�3�z�:�'�@�s� �A������U�d+��#��f-����[>!k����U&�(��@�ё��N�B�t�?�*�����;��G�j�����!
{rOb�$��
��\����҄	O#`E��,��t�
z�i
+pV]2�2d��a�6�C"fO�9Fq"�<c
^��-�1�
d(��'"���Kib~��=1���ֻ�6��zoLLuZ�1D"�`��vوp�൶m>?�[+�R�W�wKq<G�?$�jQs^f��S6W�~�6������e�Ҹ~j�w9��3:r�4=�X����e
+$3��#Ȯ�X1�ѿ�e��dK at Zz�����.%�eo�Vf��a�}m>5M[�Ң%��8��Q�L^Mm�J��`�e�Q�
+�^RO'I�S�\��������3�����\�����,{&�R�=��d������9:���H@���Z��<�4
wyYꧬ
$���OȢ]D�\ʰ�n���L�������9R���D:��A nؼN�mf�i�~
�\���}�R�������䴽����3�![��S�"Qr�]�� �]v�i.
���7�` �g��u�
����!DR�����1�A�ٵ�R���N4��2�ۼ�n^B�
ݢ�P���x>F?�D��Y4MTcZ%"�H�(L
+�V�<�D�OdC9F1�� fѧ
2
��*�[�.�}���P��{nJ������zTH�u�_�!�b1`�����*�����a_��t`3u�fRD��1�|��hh-�W���'��AqJ��h�j������
+��x�Hw��㴘ߜ�8[gv
�#gԱ'�2wI�$�Xk0����<H�oFu��.ϔ���Jz�iifefHW@��
u������v1��[vt����Q˺Q���GÌ3��J�B7C�[��Mُ��oF$<�� ���`����Ǘ���_BM�1�+C���
��*	լ}�@��o�ȡ�i�%<��7:�1}�� UŨ1�j�Y�]��2�Y�����+�1q`�0�
��Ab��������wnl
�X�:��7���ʢ/�N:��x�E����ز>̮��l�x'��*���^�M��X��x��|����K�2��00���"f~���-�̌PNͥ�z��7K>��VU��!ǎ!���+Jcb9��|�Eg�V�"]�M?$�!`�ݾ�}�iN}&��7�;�;��3��Ṅ�X��_L�e��F˟5��D����Z#�`T���:G�� L��r,T�R�C�񸥊�=��f(�Gx�a�
��I����/��:�AhAx2��iD at m�R���M�aLZ��
(�0�����

+Hr �tqI38�@�P
+���燥d:�6?�k
+=�#)x��Ʒ��G$֑) d�H`�8�!|85�ˠ6������1\��ױ�	-��m��������T�XՓ�t��w��V?��
jꀉ�Z�Q�c[HS�?h��!�'��U܌�#=�ķ�G�B�
+Q��1�{��kQD�Ƽ�A6����T���	�D�,������*����|��
�|�K
}���y��x�ӎ�h�����	�����|e�7������ #�5#�6��. �$F�9���
�U�d%`&�QkD�#�<�;�B�h2��Π|$!{B�YZ$�9��F���Ǒ�����\QJ�s7���m�喠�I�ry�s��ݪ@E�8F�`�k�
+�2�$FL�c3,��"���g�C�iq�(�ڢ4{��е>`;VtX�m �I���?I�ZLY �
����L�xܴ%N��-a,�OJ��$཮�gA�����ĤK�b/U[�%&���[dpXD �SD���V?ծMT�O� �Vtn�Z,Ӓ�b�nr��8ٝ�f��D�
��8v�n")�r�- y|�>��;�Qd�4��C���I�>�9�$v���#�%�20Ĭ�֙���SH� 
SH�<:um�)�g�9KIȲI��rq�\ j���A
5�Sz�
�	�a��;���#"/������D���#'��٨�X� �E�O�������:N[-
CB�Ac���{�
(q(;�[
`������rl3yJ�eX�~�)����
���
ʞ��� ��^x��J����|������J�0�lg
+&ݑ�� �%he��r���������`��9��$���I���I>�O@ш>	?	P9%�-3Wj��D
+E?��!͸"�m�� ��/�jL�T+��j�poiڰ��FgX]��m�����v�wH`���]
�[e���[���@��I�cքX<>=֯���s�N����_�?�(j֖T�O��@�?WQN��9y�$E�?���z�L�v�Z�aS]�i�<OY�;���\^2L!��;��*�?dq���%�ٲ
��M��]%�z��K\^:$�
��gWM���
�|;KĖu�\���lw���
��~R
�{7�dmkݙV7.)����PM�^�V�v�"5��S�i��X��U^6��{��_suX���.o�$�R�ͪ�bR�F�;��@�
JYQ��mSF����>��Bi���"�j�m�7Ϯ����ЪC��hZT��MS^O��hτD ��]'v�UJQ�#
w���?9�Q
+endstream
+endobj
+2828 0 obj <<
+/Type /Page
+/Contents 2829 0 R
+/Resources 2827 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2573 0 R
+/Annots [ 2822 0 R 2823 0 R 2824 0 R 2825 0 R 2826 0 R ]
+>> endobj
+2822 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [110.861 466.909 170.418 477.813]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+2823 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.722 272.875 349.228 283.779]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+2824 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.725 231.34 193.232 242.244]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+2825 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.433 140.3 336.939 151.204]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+2826 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2830 0 obj <<
+/D [2828 0 R /XYZ 90 757.935 null]
+>> endobj
+2831 0 obj <<
+/D [2828 0 R /XYZ 90 733.028 null]
+>> endobj
+2832 0 obj <<
+/D [2828 0 R /XYZ 90 689.969 null]
+>> endobj
+2827 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F79 505 0 R /F23 368 0 R /F10 507 0 R /F72 404 0 R /F8 540 0 R /F7 541 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2836 0 obj <<
+/Length 1620      
+/Filter /FlateDecode
+>>
+stream
+x��XKs�6��W��J� ���d���N�<�H�4�d4Y�P$KR��_�P�LK�z�Ä�}|��n,l��{>�^����Pǚ,,[�C�Ḙ̌�}�

	Ƹ= ��`z=���ƛ�����u4˃|s~��r:^�|��� ����
���V\�(����&f&
<|Dln�
�pE1R���O�b��A)��{���x}�����6���dٻ�����-RY��ȅ{�U��Wl�a����
��VT+�Q�����am��UY�Z.�]L����,��;\I�1ȣ`�LX��
���

}�
�E����m'�{IKk�Z�
{)	�
َ�8]�`ImG�s�;Mwx�ž5$�ŵ
��>�H�8
P޿����s��L�k
�s��@-�/dž2�E��ɼ>\�-�p=Ӽ�D!�nB�2y^���L�ޱ=I�"�s�Fq��hZ2�\k� :Sw�DR���`Z��*Ŧ(�J��.�VIQ�A���yˮ
�44������5��X�!=
]�
%��K��;E��Z�]ס'�У�k
ڜr�攛�O���țL�{2y�(gsy<,�;p��@��
����*Q���$ި��eZ��*��_2:�+�W����$e�Q�>i��|j
4��f$�Q�N��t���\�ϣ�̑2UڮJ��rez$�|�]�2Z�Q�XgY��b~VrhC��5M'�G��(�u�/sE�#KG��aw
+ �[�[�uQ)&���Aĩ
W�gX��t�QA����b������d��$?%&�)1�O��=��Y�6
}�Ж���t���P�����ڸ�;$sUf,N��m@�Z�������ؾo	����
|������4��(@��@6�rɶ
c�3*��2�U$���K�޾L��J@���V�H�
��Ͷ4���.����hB�b�!(7�H��L..�l;�����;�S�j�
H�
h�;�'�l��-��T�7)�F�����x� M�����
�Kkc$�մ>#��g���c�5o�y9�V
wq�d]Cq֡��l\k~)nD"r ��*[]<a,!n}�[T%��d�>�~-���/?^�_u�aNM(����Z��8�3o[�s��Q"�T��,�¨���N0
+�&�ٶ�~�6��F;����ȃH*7;���H�\d"��`LM-� Կ��E{g	�|�=�Ȥ
(|%��Hqm��
)<�9�؞���n�W�"�`&��-�vYDYs���F)N��db��ywǭ�vC-� �Y�{t��r��4����]
+�?ߑd?"j�.h,� c����V��B����SA�p�����9�?��zh��`I����������Ǵ��-}�ᇮ�M@���F&]�� Μ��E*�,�r3U�B
�=��;���9�
�Y8o��׷����\������SWy����W '�ngU8�
���Q�4sN&ܚzT��y�v
FY���Q��"�
����j��#�N
+�M��bޮ�/j��|�
��V=���ۧ`��s�#굔R��4Q�>u����n�(��r�	�uo�E��	#R5���X����e��]
�[i	 
�5b�e���F����~H�Y��r�e��a�op!���:x&W�Ҽ~��??0�ߠs�
+endstream
+endobj
+2835 0 obj <<
+/Type /Page
+/Contents 2836 0 R
+/Resources 2834 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2842 0 R
+/Annots [ 2833 0 R ]
+>> endobj
+2833 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2837 0 obj <<
+/D [2835 0 R /XYZ 90 757.935 null]
+>> endobj
+2838 0 obj <<
+/D [2835 0 R /XYZ 90 421.35 null]
+>> endobj
+2403 0 obj <<
+/D [2835 0 R /XYZ 90 398.108 null]
+>> endobj
+2839 0 obj <<
+/D [2835 0 R /XYZ 90 398.108 null]
+>> endobj
+2404 0 obj <<
+/D [2835 0 R /XYZ 90 242.959 null]
+>> endobj
+2841 0 obj <<
+/D [2835 0 R /XYZ 90 228.388 null]
+>> endobj
+2405 0 obj <<
+/D [2835 0 R /XYZ 240.245 129.412 null]
+>> endobj
+2834 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F72 404 0 R /F56 367 0 R /F31 506 0 R /F7 541 0 R /F79 505 0 R /F100 1390 0 R /F123 2840 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2846 0 obj <<
+/Length 1471      
+/Filter /FlateDecode
+>>
+stream
+x��X[o�6~����&5û�`�\Z�k�lq�i`(6c
�%M�������Ց-'k��`�&�s��C[3
[�g���+[>�%������J�%�hj��#�
	�ؾr��t��
��x���i�߅wi�nNO�.��� Q�����+Bf�ϑ�{����fJkg�/'�:l��0QN�����"�2gHc>��2Y�2#��{�:ijU4�!�3�bmsp9�5 `[d�"6�,7�ؚ��[
#ެ����
����>Z���-|X޼D��s�G��C���/'�DE�R�*��P
+�v{b�i��ؘ��K���C6����*�ǔ�P[���x`۷�� _i�W�T"Li_��5��d}vȕVl
�*��',�3�ؓ8�r3x�d
ܒn/�jƇN�.�},�M|W���)
�!�)����.KI���<�Sa��v�(䤊��ZaB�c��X/2J�����|
�������oF;�y
,�v�L�o{�Ѫ�o�hF�3��g��,�I�ߚ�B6AN�Ǭ!L.3��V�bZHV`�t�U�١��P}v�����U�6�?-V%I?�K�Gf(�/��-5fȭ#��@( W�dd�C|[�C�"I�H��Ī����ȴ��VK�f$,

gQ��)�=�9�e�M�t�^�d~�q�)�K^�"�Iy9�i��?On [��&�a��)Si��c�Q>��d�3ܭ� WT"8ɺ
c�~E�y�����vvqm
�Ӹ�(/�;k�	���i��uq̃l1��w
Z�]�����{XV�
��J�<����q�
%�1,���:��$0��Z�@J�I [...]
#�c�s��� -D�>h2��;���nkH/c�����,����
+'���F9%36�E�2��y8����bf�f ��,��bcƳU��i����ncf�r5�� o�hZJS�(+�BP�����C�#	<BG%�k�
�z�m�?�2f�J��:�e�@�*)�Yg��n�QM��ts�O��
��}"8�%
+Ǎ���ͷP�YvX��������a�n%����/��G����^ͦ�q��™�I�C��h#Lf��kx
Re
�^s��ko�5��mJ��
v�B
��}�^�-�����QzM�����ZE*
�8=F�1�n�ٞ#�Ǽ/*��
{�Z�/v���~w
�]���zz̡
���B��%&`�f��o{��p��0���O�4�@�S�	c����n���
��U�Qn�rY6+Q�j6�
+����h4+s'�k����A�������k\�{���nooa/�I�l���|�m_�-�k�浐��!S���αyD�`a�51��NZ7v��T��ٹV�p����U>�<�ƮFK�MY}�3�����d�^�I�VQ��(�O�dq�{5�U[��>N
�e������Q����
~
+endstream
+endobj
+2845 0 obj <<
+/Type /Page
+/Contents 2846 0 R
+/Resources 2844 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2842 0 R
+/Annots [ 2843 0 R ]
+>> endobj
+2843 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2847 0 obj <<
+/D [2845 0 R /XYZ 90 757.935 null]
+>> endobj
+2848 0 obj <<
+/D [2845 0 R /XYZ 90 733.028 null]
+>> endobj
+2406 0 obj <<
+/D [2845 0 R /XYZ 240.245 639.557 null]
+>> endobj
+2849 0 obj <<
+/D [2845 0 R /XYZ 90 622.83 null]
+>> endobj
+2407 0 obj <<
+/D [2845 0 R /XYZ 90 422.429 null]
+>> endobj
+2850 0 obj <<
+/D [2845 0 R /XYZ 90 407.859 null]
+>> endobj
+2463 0 obj <<
+/D [2845 0 R /XYZ 90 207.458 null]
+>> endobj
+2851 0 obj <<
+/D [2845 0 R /XYZ 90 192.888 null]
+>> endobj
+2844 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F123 2840 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2855 0 obj <<
+/Length 1868      
+/Filter /FlateDecode
+>>
+stream
+x�ՙ�o�6����ЧMj�o��6`�
��-[2`EZ������$�I��
E���v���|�DQ����~w��
�^ON�'G��4ҒJ�����S� A�w��.|�����?��E^�N)���n-���]|U�����ɋ˳U������
�"�'�h��`�Z�v�`e�o&���Ј0�L�鐄�IX���i�G�:	�Ȏ�]GŔ~��aHq&`��Ȝ�<��3! {�6�PH���tr�	{
�a�`77�����5��&�O�3-�i�@#����DDr����y���<+k
���%�`�RX{3CBXe�8>��)���0��a�ܤQV
$
��oS�4m��*�)�Mf�_�k�rf+��*J�}�^.�,*�*/��cw���ހ�;{{e�f��Wa;�^�y�U%9�!
IƼ��ӠsM�S�=���{�҈�����n&Tw�(
S�i�F]Q�:�+
+���E�T�cr r�C���v���6`r�f��H�l��ә�ʟ�Ϛ
��ߜ	�<���9�.�5�5��W��6���[��G�quwi�{Dj at Ajk�y��U�G�	�k�,Z5�����翽?}��7�Ft��e��`Ҩ��˸@���h�ξ�n�I<��O��A$�8E���`����M�,\���r����\y��kg|0�U���	�e�:��(�uS�u b��C��$�C͘�F3s�5c����8���X"��j����ؔF�](Y�E\�R���*/#{k�zJ�o����#7�NF��ΘG��>צ37y�n�u4�?bL�)Ww#��
+���=8���ߔ�H��mgT3����IA��'�/P�d��q9"-��)���@` g
�Z>-q�`�Dk�j�qC���8��I���e&IT�׵����>2�TA�l��
+
{
��#��:�o���8:8"<8���أS+rH�`\�7YeJ (j8%#�HD
TU�����e�P]�<����u; �e���dOA�Q�h'�lhgO��1\Cz���>�
�#Ρ'r���TT�T�r���t!/qDY0
���w�2�/�i
�
i�_HfR
�/�
�V��8K�,�T&!��"�B�K��fp��M5�&\���QS4�ɊL9	L�q�� i�
�Y��u8wS1�e\S�^����ZҢ�����[L��
�oӼN�p�. {e��A�
+�F�y�YD==������v����i]A��� i@^�8xx�Cj)X��?�ku�W
+hW%75�lo�lPB�T����=�ʵ*WQ��Coo{��̭=�6F�`�뻴�Qѵū��
+�
+�5x��+^fya��zZ����������ٶc����4�TT?oUVR������0��͞�ޒ��6��e����"/�M0�R���2A붖	�j?p�f�z�f����4�ˤ�#��C�[�tUgi庥����q�I�(JVѺ􄷭bk(
+��I:��Sz��a�Ӏ
�uV��G�֙�j��`ƹ��zg���Ğ�<��+�F3Hz�v�`�g���E��w���B��V�%L
c7�P�G6��QfK��a&T?�ف�Od�5
��lȚ��K�⸱�>���x r�w 'C����S�b���F������NCr�'y��z�%9
���"y��C(��<�"��?d��n�}�
r��=�/m 
���ڙqq���{*�����_���G�[��;t�ݸC7
��B73�:�~
��D��7n�������
�� �P��Lևwk���B� z������� {�&���:�.�VԜ����dž���A�>�YF��S!|�n��lӸ���g#
+�f8Ĉ��MR��pEn�v_{��/���:m	`	���Z
��ܠy�6Y�.P\
����}_�I1=/i3�5x^�W
+Q�".��4����/�X��
+endstream
+endobj
+2854 0 obj <<
+/Type /Page
+/Contents 2855 0 R
+/Resources 2853 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2842 0 R
+/Annots [ 2852 0 R ]
+>> endobj
+2852 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2856 0 obj <<
+/D [2854 0 R /XYZ 90 757.935 null]
+>> endobj
+2464 0 obj <<
+/D [2854 0 R /XYZ 90 698.945 null]
+>> endobj
+2857 0 obj <<
+/D [2854 0 R /XYZ 90 685.248 null]
+>> endobj
+2465 0 obj <<
+/D [2854 0 R /XYZ 107.534 562.362 null]
+>> endobj
+2858 0 obj <<
+/D [2854 0 R /XYZ 90 547.132 null]
+>> endobj
+2466 0 obj <<
+/D [2854 0 R /XYZ 90 326.881 null]
+>> endobj
+2859 0 obj <<
+/D [2854 0 R /XYZ 90 313.184 null]
+>> endobj
+2467 0 obj <<
+/D [2854 0 R /XYZ 90 89.441 null]
+>> endobj
+2853 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F123 2840 0 R /F104 2229 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2863 0 obj <<
+/Length 1788      
+/Filter /FlateDecode
+>>
+stream
+x��Y�o�6��B�6�>DJ
+�K���5k\`EW������$yI���(RO�vҦ(6
"Q��}�;��uma����|r��Ŗ�|A�5��|l�� N�5_Yl����ؾ�ly,.��Y|���<X���y�ߝ��=[\����~��<yAH�,�
��
0��>�[z�'��0��#�x���c��(�3�1�-�M
�R?y+�d>%�-�
��)U4'��?'�`�T��.r�q�L>|��
+���0b��M�+�
��[��_'��i)CX�ִ�G��oY����� ?v�z ���ʻ�L�D)+�Q[r�
�1&s[��ec.��'��n\4����>a9ST�% ��֌�aܰ/d�@��#�v8d��ҳM'�fԥ��Clp��a��z��7a\gi��5A'�������ǜ�!�!�{[riC$+�����=�����ʻ����`q�^ϋa����̫����r����������W��i�~D6�CB4��7H-��Հ ���QG�|2�	Hiy���0*?����)x�p@���϶Q�2���ٳK}s�g��%�׬�,TD�*�1��E����*�
���(]�<*
�*�ߋ)�7AhV�(�ie�^fW��]��e�ư�r\���ʞ ̎����0{6�
�b(q��F���4��+i���
�M�w�0�}~�H at Rv� ��y�{��2�z�$����^ @�x�A��!���+�l����W��*��0��|�����
Q��uTGmUX [...]
Ū�"O��
�
�[-����ѷ,�m�*WU�g�"XfJ���?�ަ���if��+(�A�x~���xQ4

�((�����U��
+M6�^�6x���pH�Uǔ�њ��c�05��/���6O���d�f���V��F��M�j
P%��_�Ʀ���r
��2�k�C,
�V^�Q��\(�q�<^;/J5�^76��53f#�)5�KU$F�����s©
�E�/�ᠤ1��j䦀
�rJ&�DZ|��
�$A
�,#�����#lO�پ�,7o��
�+(����X��8e	hf�
��[~����5�w)�
+o
z9�_z��8�V�S rvu#����}������e_w�зo�H���lk<
�����!
u�#se�=`HW�����)*p�?
��5�-ꓴ�[!��-�4><�	�G8��� '�v
z��+LF� �����iϊ�v�HLj�����'��^�
ee�HB��������K���������ũ?��
(E�'cv�uPM�"��.E�F�"uW\�)#�K])
+�2�J}pR޵���p1r�=J�O�<����"Vl���� �UQ A
�4�D��\��X߬�pm�݃�
~K�B�Z��4�u"�R�[ٟ�)�ߖr�/��/Q�ɼ�~��>@�fj$��� �}Ĺ3�4^(�*�5���F�Ba�xW���)��u�n�q�BB��%1"D垚
+�_JiT�z�a�w?O*_��00v���rszrrss��m�h���<�l��f�C������̌��,oζ�0�I;��pL=$
+endstream
+endobj
+2862 0 obj <<
+/Type /Page
+/Contents 2863 0 R
+/Resources 2861 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2842 0 R
+/Annots [ 2860 0 R ]
+>> endobj
+2860 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2864 0 obj <<
+/D [2862 0 R /XYZ 90 757.935 null]
+>> endobj
+2865 0 obj <<
+/D [2862 0 R /XYZ 90 733.028 null]
+>> endobj
+2866 0 obj <<
+/D [2862 0 R /XYZ 90 495.731 null]
+>> endobj
+2468 0 obj <<
+/D [2862 0 R /XYZ 90 471.362 null]
+>> endobj
+2867 0 obj <<
+/D [2862 0 R /XYZ 90 471.362 null]
+>> endobj
+2469 0 obj <<
+/D [2862 0 R /XYZ 90 342.205 null]
+>> endobj
+2868 0 obj <<
+/D [2862 0 R /XYZ 90 327.634 null]
+>> endobj
+2520 0 obj <<
+/D [2862 0 R /XYZ 90 200.514 null]
+>> endobj
+2869 0 obj <<
+/D [2862 0 R /XYZ 90 185.944 null]
+>> endobj
+2861 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F123 2840 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2873 0 obj <<
+/Length 1899      
+/Filter /FlateDecode
+>>
+stream
+x��ZKo�F��W��J@����n�C�$h�i⢇$0hie��H���������S�$�v��X��rfv�ߌ��{�Ϟ_���R�
P ��.�^�=%	�x�
��`D�3�1���<	�ux�nJ�$�oWz��Wo��,�n/.��x�an�����W��Ȓ�#������=��l8���� � &�?
��"�|:���N�z���;��RgS�Ot2�-ř��2C�����_g�`���
+)`<_�}�����0bp�]yj�q��3�>��z��j�� a�=E%"�[i�nõ.t��r�	�6p�>R8�f��d��M�y�����w(
�Z�+��8Jt�ٵ�12:ϣ4�{Ej?���u�5ZG�}̷��yQ�--*i�_�ZV�?a�kP
m��(�Iu�XE�=ӿAP���w׮��8���
+�s�|��Jj(@~㧵���Zga�:%�Kw��{����vm��L����V�2�6.����|
���(y
	�[[���@��Z׎	\�ȶzȐq\[2r↉�4�o�*:|��y�i�`%j�ƨ/z��A�H�;H��
+���\o
+��;&l	��Z,..�d�A�0�Wav.��L
��ic�,5W�%�Z"�"V+�Jo>��J=D�v�e��Fpw�_fQ2Oכ���ckP=�H
+
����?-�Ą4,��S!�D�q)��)ŭY�I�
Pa
S�!���������m�0���.�tmW�uj���G?�M�ɨ�w,�����1pg���b�%�+k\��@
+(qu����@��k

	
+���6��Q1��q��)����KG=��#�شv�X/]��&E���AXb�^�1�H��
�@
q��
+S�c N�!���׾S�nt������ʍ�1����u�Ɩڽ`��#z
�5LGP�b���(���V�OX`�T~�l��
2������%��zib���
+��W�8��9�B����R��>
+���
�"�K�3t
��=N_��(҉�!��\ʧ�'�!N��9��c�������}u�y��6>#��� M�bM:�R�vvy�� r�;�� ���`f ��p�
�c���2
���q���8�	��o`
+��"��Ƭ���%$b�a*l�
my��.aN�}
+X92�o�4�

\�2|ڥ�) ,��9=A�.=�3`	��e�z���+�A|(��
��4�����ؤQ���n�3=T����N�,�!T&m#Ǡ�a2m
W�F�,�PU���`��6���<�h>��O}�)7VXu�|s�l���W�DLTe
1lĞϵ^�e"$�]���2���Ƣ\���LKc\��<N�m����e:V��N�&~��3
���j�Ӧ�w�Ȉk
΂
�I����ECo<�R
+p�6^!�\
��n� �x���\�-C��Df�B"�:��� ����'ȗ~�{��F�y(P��y��:�͟F�� �-<@6H���
߰��7�|���y
 �g\�y���ģ���<��c�&�V� q�y ��&
ۑ�@B�L�����D �	(2:Px|&�Kr�L@�Ѿ
x����6����P ��q�M|p( �)��Dc4g�d
��pi�*\�#�|A
�[KN\�Ώ�� ޛ	�82l����\]"C�,24�d�'>����!���ЦjU�
v��
� ���QW+ZW�r[���G�yWK�(�;)�w#I�yg�
mޣ��X�^���h\N�
�}&��gZz���%�;t�f(E���Ce6���
+���"����{tE��
���6���P���J3i��?UȻ���}g�hJ�{�j�}t�>�����)�?�����6��ڔD�-�������	)<������ן^��ٶՍ�B
7(oU�����n��9�&�&CQq�����jQ!
��N���$�4�m��sE}��ȓ��
+endstream
+endobj
+2872 0 obj <<
+/Type /Page
+/Contents 2873 0 R
+/Resources 2871 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2842 0 R
+/Annots [ 2870 0 R ]
+>> endobj
+2870 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2874 0 obj <<
+/D [2872 0 R /XYZ 90 757.935 null]
+>> endobj
+2521 0 obj <<
+/D [2872 0 R /XYZ 211.842 575.144 null]
+>> endobj
+2875 0 obj <<
+/D [2872 0 R /XYZ 90 560.42 null]
+>> endobj
+2522 0 obj <<
+/D [2872 0 R /XYZ 192.853 260.547 null]
+>> endobj
+2876 0 obj <<
+/D [2872 0 R /XYZ 90 244.442 null]
+>> endobj
+2871 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2882 0 obj <<
+/Length 2248      
+/Filter /FlateDecode
+>>
+stream
+x��ZK�۸�ϯ�)+UE<	p6�a7�k��ړ����HЈ	E�$���_�>�[N�$�������³����������ij�
f��Y�g2 HP2�_�>�	Ft�$�����(�Eoϳ�y��y��s��G����wx���z�����ׄtȒ�#*`ZQ�����l8�zý�F����MQ�>��b������n�D��w���D�u��[�3�rC����ͧd�T�I`���|��gk���
#�
�]��
~����_n�3-��ד(6��!
+o�n
֕ ����E�y�HH�h�TY�4��iTf���m�oY��_1����^���b
%��[_ȥ�$�y0�
����v��
)Ak1����a�
Ǎ.��8J�N�4yv�O(�#��"�e�+����tV�t�(�N�W������:f7���!�
n	w�E�����A�$^?D��a����y���=�<3*
��.��{������}>iyc�j8pG� ))�=`o�c�B��)�q1�,�]6�
��2NW�n��cbOL�0
+��O�о���'&�{FJ:%�DA�X�G1�M�(��2�=�A�NZې��Ӭ���쐮��^l�l�n��
�"�?{x"QȚT���Ec( l�=��!Ok������IM�O�)��t���B��YO��hɱ�]
⊴q�IG���Xk����)�ꐖ�a �<@�t�/��!I
�5���
'�
�A��a��{�F�JB�>�er
+��Ƅ�Y�Xj_�J!J�)�nَ`�
+�I�3��]u����b�mV` �2���_AN6�)���8�Q��ʄ���¤������giJ�
+H/|;���J��X�>��@�ؤ�A �Bd/�|�!�u��W���J
�ˁW��\2&!� ��1ޘ�Nu�� ~�1�mL>yh�k3� ��=gG�w���zχ8M�
>z��q�X栝���wU&,<�RR��Z�EL'�U�J�"���U�C/)~
��QX�Ƙ�ñZ�S
#�����̅���v_p��=��-!��k�7
i1h�1,+I��x�u	DA�06H Q�/,�jd�Y�:@9nu�}X
 V��EeY�#�&W�ƎAb�d:��FKY�#�A��ux hS���z�d�0��=
F;�+NO:����v�D́L����
+��[�8����U���89k��Kb�8U�i�Q�
+�P��i�H�:1R
+}A��9��D����p~^�I�o��	�%Aª���ٮ�jP�"��j�
u�DeM
J��Zi�.LJ
!�Ib��2�DzO�0W��Kh�9^�J����c	�A�Q���Hv��
�,\��kP�9��l�
+�E)��?��'W��I��ƞ\���J��ٝ=���7������v�bb���Yz;{.�՘�_C�
IWU�F�)�H�4��q�Z��6�P��!ﶯ'��
��D^��琩'����4%�x3�AD
�?����Փ��u�>{2 �θ�M�W�
���@[��L
ԗ8�
�\�s��hႹ�ƶ��:]=�#�P�}��&K!q3
P��p@��� �o.Á
��1������ W
���w8 ��T}�
������
 ���F �4����gz(i�!�wZ��"�|n��3 �.���~ZU�R�����U����&Xr��v�%��~i��j7a�v��D1�f:��O<@�v�%ᶖ"*=�� x��L�c�"CF,��3TM峇�2ӥ��8m�8���.��c���"�U)n�D�kt��v̛����~?bBߤK��s�{I�1��v���kMl�:���Ű9�|�l�D{�gfk��N�)qLO��S5d�)
l��ټХ�QO
�`�)��#B�ӿ5�%>
`�е�7
S�M�*+'S]�ƕ�W��q���U�qښ�|fΟ���wonf����q�9�k(8��p�uty�y�8����)4r��Lu�٨{��J�?t���������1���d¥H�-��
��K��g0���[��
�z.e"�5^K�]ꬵH��T���vb��-ޙ��gL��<�T_
٥�n5<���Mƈ�h���
���r
��������՟=�W S��4��mޚ�2���+p{��p{��B��,��;�G�nڵ�wmx�-,@�EL=�L������V�����Ov��JK��Aܖ�����x<�U��2��(.o����� ;Tl@�A�]�7S5����Uhh��L��
+endstream
+endobj
+2881 0 obj <<
+/Type /Page
+/Contents 2882 0 R
+/Resources 2880 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2842 0 R
+/Annots [ 2877 0 R 2878 0 R 2879 0 R ]
+>> endobj
+2877 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [491.252 145.166 511.506 156.16]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+2878 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.129 133.211 211.803 144.115]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Frequency) >>
+>> endobj
+2879 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2883 0 obj <<
+/D [2881 0 R /XYZ 90 757.935 null]
+>> endobj
+2523 0 obj <<
+/D [2881 0 R /XYZ 211.842 623.774 null]
+>> endobj
+2884 0 obj <<
+/D [2881 0 R /XYZ 90 609.184 null]
+>> endobj
+2524 0 obj <<
+/D [2881 0 R /XYZ 192.853 314.81 null]
+>> endobj
+2885 0 obj <<
+/D [2881 0 R /XYZ 90 298.84 null]
+>> endobj
+2880 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F104 2229 0 R /F8 540 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2889 0 obj <<
+/Length 1393      
+/Filter /FlateDecode
+>>
+stream
+x��K��F��|
+��2�<4/*��7�T��ʱ��vQZ%B’0�ۧ����v;��|ZI;�t���7�v�
��<x>Ln%v4҂
+g�r4v� �S�̖��!����c<|5"x��o�jD�0
+k����o�]����O�7kokF�g/'��
�%�ER+�4���
Ҙ9��-�ZlhD/��g�&�d4�
�1M�f�
���'����#��&\�#�2������l�a@�
vH.�H�ċ���{�,��K#���Qǥ
�Λ�\H�;%Va�:�
+D�k�}�ia���I�éP7"UHb�	<�ܚH��t�#?z���{��nc´aqr�ű�
iZ������}hU�W����.EL��0���
Ӱ
+������piǀJG!��,ǼØ�M����k?�,.�x�C�	(:��E��z��pƔa$8�
��������
IG�pW^��h"������M��C�|foӵ	[&����*6�a�
)Q9�O����z;�I��d�n�WX
[Z�[*�/0��^��4�- 5���a	����y�,Đ*�������K�%*A�w�akBo���[�b��@��J߻(
+��������Ѵ�x�T^�!�t������ĺ�slk�Qa�N��
N�������_�$�+,4���
+��b��nM.Nl`6��
��p�"� ��IK�0�\U�O��
�:w!+��"
+�C�
�rњ��K�*%Z��Hh~�j��D5C�ɦ�,�,߉��
V!'����ϴ�ݷ�6�ϷP����n
+�K�+(:������"	
�#\6 �� �4p�v��z�	o283v-���p��m�|�pv���| ��4�ip�S[*�9�0�
V/���C��Cpm����:����Vj���a��}�����L�J�.x��i�}��7�2X�o���Û�~z+^�ٓ�ͺ��j�:���{�ov5���#�����ķ��oU��O�K?�+��t��&��S	i��W�CS/t�Pf_/��.���U=�4�D+����|~$U	������i������ m�@�iL�F
+˂ƪIc�iL��:Рu!u
h�*5K��o�p�ڀ��5
�)��=c[`c&�C����I|;i��I�
e����4�d�1�Q�};
�S�*�
|��#sѪ����cy.iC)���`����Τ{S�S6�k!�d_��i���%<�@2��gq�9�Ɩ��
��D�
rq
���u�ڐ:YXIs�F(�F=�L��<Y
��׈s�����s �%��m�%{�gb��G�����
w^Ps�cf��I;<Ā�lQ֚��c�m\;�կ�\��[�(²j�i��N&��
-�
�m��t����|:�B\H�J�U�m�r%�
nr�����
+endstream
+endobj
+2888 0 obj <<
+/Type /Page
+/Contents 2889 0 R
+/Resources 2887 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2895 0 R
+/Annots [ 2886 0 R ]
+>> endobj
+2886 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2890 0 obj <<
+/D [2888 0 R /XYZ 90 757.935 null]
+>> endobj
+2525 0 obj <<
+/D [2888 0 R /XYZ 439.299 678.622 null]
+>> endobj
+2891 0 obj <<
+/D [2888 0 R /XYZ 90 662.517 null]
+>> endobj
+2526 0 obj <<
+/D [2888 0 R /XYZ 90 534.775 null]
+>> endobj
+2892 0 obj <<
+/D [2888 0 R /XYZ 90 520.204 null]
+>> endobj
+2527 0 obj <<
+/D [2888 0 R /XYZ 90 393.084 null]
+>> endobj
+2893 0 obj <<
+/D [2888 0 R /XYZ 90 378.514 null]
+>> endobj
+2528 0 obj <<
+/D [2888 0 R /XYZ 90 251.394 null]
+>> endobj
+2894 0 obj <<
+/D [2888 0 R /XYZ 90 236.824 null]
+>> endobj
+2529 0 obj <<
+/D [2888 0 R /XYZ 90 109.704 null]
+>> endobj
+2887 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2899 0 obj <<
+/Length 1403      
+/Filter /FlateDecode
+>>
+stream
+x��[o�F���~jA*��{�V���I���Mh_�+��I�
+�k�P�}�x|�0��$R�>����w�{w
�>.���>�H*��`ϗ	J�i�}
��hL0��/#��a�
+g_F��v��<��
��a��L.�ͮa�Gߦ�.>�#�
�����7�HO��ěS�� &�?���v�hLa
�U�
Km�\�[����d�|�x*������1�#U8��|P<_
�~�^�?y1�fS�Zy�2�������R��]hC��o٘x�⠏
�
�ȃ�@��t�*g�3��!�؉`2"�M�go�dv���8M����t'e.��Lb$��Ƅ�@�'�G/D��Ϳ�d��˅-�?�����|�Ӥ(�C��._�b1߿���^ĤD��&��\Q�D�6���X�VWu^�]�)����>�}fw��u���].j��ڙ��"]Fqrg���r�ub5@��X� |ڙ�Ym7�9�Q��3�".
�R�8&͡0���wA<T���.;M�z�hc��fm�m�j��#�A1� ������:���m'c/�
+"@���JDQF�I��8
އ�8����z��rϚ��@A��"OGT
7��J|�H
+0ȗK��LHh�3���0�
���;��y�ʠo����Jp��)"����& ~��G ��:�4?�C�P@�u��|b�А�����4䯙�wm
0$�ὸ��P|�HJ�Q�|$�%
˂� W
K�B\�'a�
�� Q
+҇(H�j�퉛4]ZiO�
(�H��7'�>@;�Ϡ]Ř<�m
 Va50�zX�����C�y
B*]����V�}���P�Jr�`�D�*7�
��UkC	�d#@�U&�
�&�m�
�=����u��#�Ͱ��q��[ךba-��
��`�<��
f.�_!���%�9I�z���O���}��E�"3����1�"g��`�F��xAP2�ܠ4�8z�Jvy1xL��J|*,ep��;�]֏��l��;�Qh��a��F.�_�{�
�0���9D�y��έ�V��ݑ���W��43a߶%��R�(^���݅r~j(ӽ%��P�}�7�:�F����:7����HC3�Ĭ���3��Ջ�݃�d���-�uC��:?�
+aAw�� !��á>H��w���u�#�	���A��
h�_�|���bÁx��ax��Zl�
�
+��nF�������P�^���'C�NXop�Te&��d&�]ꌭ��9�B�W��s�u��y�t��v��/���* �MW�~��6���
�ָz[
J0U�-���>t��fG��
�k=A��
+�?bXs�0Y�ˎ��F�n;�1�,2c
+���]�~��5�>�Lu����pwo^�e6���l6h^�ug9�ˋ,[^
6Ž�%�@�m^/���n'�pU]���\�"k
+endstream
+endobj
+2898 0 obj <<
+/Type /Page
+/Contents 2899 0 R
+/Resources 2897 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2895 0 R
+/Annots [ 2896 0 R ]
+>> endobj
+2896 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2900 0 obj <<
+/D [2898 0 R /XYZ 90 757.935 null]
+>> endobj
+2901 0 obj <<
+/D [2898 0 R /XYZ 90 733.028 null]
+>> endobj
+2530 0 obj <<
+/D [2898 0 R /XYZ 90 611.413 null]
+>> endobj
+2902 0 obj <<
+/D [2898 0 R /XYZ 90 596.843 null]
+>> endobj
+2574 0 obj <<
+/D [2898 0 R /XYZ 90 469.723 null]
+>> endobj
+2903 0 obj <<
+/D [2898 0 R /XYZ 90 455.152 null]
+>> endobj
+2575 0 obj <<
+/D [2898 0 R /XYZ 90 328.032 null]
+>> endobj
+2904 0 obj <<
+/D [2898 0 R /XYZ 90 313.462 null]
+>> endobj
+2576 0 obj <<
+/D [2898 0 R /XYZ 90 132.708 null]
+>> endobj
+2897 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2908 0 obj <<
+/Length 1424      
+/Filter /FlateDecode
+>>
+stream
+x��XYo�6~���Sk5�C$%�(н
+l[`۸��n0
�UI����C�:lKv�M7�O�(j�o�
+;wv~��X�.�H���T8�[�ǎqJ�u輟��bI0��w
��H�����,�mtX�럢�B���ū�ˍ���j���
!��w��=PZK��ٲ��hr�
�>"���;'�e��r��
�0��u�Ǫ��ʯ�V
��u��tO��9{���9# ;��H�� ����N�o
�xs_�J
�2�����>Z��-b�ߪ5��u�}�T��F�o7T�\�*�a��� Уg��	���hr�Ea#�_!���� a�y��%�>�%!��|�
�u��
+�� K�m�x����ŒC�MY5�/6}e��{�Ja*[��ݘ3&Н3��4���C]���,]�G�f��ah��K��&��)�mW;S�t�
�|zh�v0�u;��[m���dN�,��`��@0��ߗ��و�.�=�i�D刉P6~��e���A��j�V!Qa�
+Q����s�[I��<�9Fo��a�^��;�[��
���i�4
�����@�U��4w��^�*\��t���GG�*N�S^�
�pZo�lA��>��@�y4��!�z�9$ ���ғ�I�Nß#(�Nl��a�(!��(
�$WUt�o�K�Y1Vk�R߸&�u�h���J��k����mE�9Qql˾��yVT:�0�
��Wv_���0KT����d`2#�w("\����K����L�Ӽ��RY���<MLv���1���QѕUP�9�а8[z"��c(�N��(��T_��'����U����,�㊂��-5(��n�m��Bς���B
m��Qz7�j�X>�=����#���
v�׆YO&��(
��(�?�� /
�1T>S��Op
$G�@����@�!Ǎ�DXz�B�UQs��}�Ө�S�&�#ܴ�~
+��
+`Q6Us�ť�:���
�"��g�,���
�/\�9�h��<��>I��Ć�<ϥ�Ć�!l�0L�[6t�%
�8�A��|�(�*�#'8�8��Ǻ��H@����� �P��M�"K���<�:
H�n��B
��u��!z�	&�g~�=���1���bz��L?	F���
_�4pnO �}pH,
ŠY0B�Yjl7w�,�I�n�L�l�*mnn�G�
+��G�`~��G���m�Y�6��My������FG��S�e��ma?4�1���h�|b̯Sn�j⹗ru��4� ��?1���ow�A[�
�׽��q���ٿ��G��M�����E��
��G;
5����z��܂�g�nU�� �(`�:�f#B��`�����Ư?����Y���Z�Q(�.m���W���((�6��E�E���x
H����nM��]IV���b�L����7n�z;
+endstream
+endobj
+2907 0 obj <<
+/Type /Page
+/Contents 2908 0 R
+/Resources 2906 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2895 0 R
+/Annots [ 2905 0 R ]
+>> endobj
+2905 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2909 0 obj <<
+/D [2907 0 R /XYZ 90 757.935 null]
+>> endobj
+2910 0 obj <<
+/D [2907 0 R /XYZ 90 733.028 null]
+>> endobj
+2577 0 obj <<
+/D [2907 0 R /XYZ 90 555.756 null]
+>> endobj
+2911 0 obj <<
+/D [2907 0 R /XYZ 90 541.186 null]
+>> endobj
+2578 0 obj <<
+/D [2907 0 R /XYZ 90 360.432 null]
+>> endobj
+2912 0 obj <<
+/D [2907 0 R /XYZ 90 345.862 null]
+>> endobj
+2579 0 obj <<
+/D [2907 0 R /XYZ 90 105.526 null]
+>> endobj
+2906 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2916 0 obj <<
+/Length 1481      
+/Filter /FlateDecode
+>>
+stream
+x��Ymo�F��_��K�;kU�zo�][�ڸ�4�ְ�Qy;����w��M�DI���/	,����3��l�Y��q�z1�z�bK"�P�Z�-�-�!HPb-��&��`��OS�m��j�iJ��F��r��9\�*����.�7*����ǫ��
�%�#Wz`���]#2�\Y��bD�D��V��K�D�(�3*0(���q�R7+��Χiju�Ò˙��z��ɻ���l�:
�E.����-�X�ha�`7�Z*�8e�?��'�N���R��#��"��4�-[O��q���E|�(��NT
;c���R�B�^��8�ė*�i4���C�� ��c���ȁ��AR��wQ��C�|��`��]��o��'x:�xT���Njy�/ 5��7�|h��.��]1�)Q��2`�����A
�4݄I&����0
q�[3pY��A`�T��K��%Ɛ��̌��@�#�u~����N
�q'TG-WaR���6�R��?*�I�9��ߘ2<IE��xD\	�9��� [...]
�;xg�e��.����V\�J�Q&��0����D����Mם�a���R0F�+�*
I�0ǁ|�a^����
����D�}�(��
�ű�EEa�T��6�Py&SR �%j���
+˻��`v83Ρ(
2z)d.�#:��5��A��%���O�q>a�Dt&~g�
W�~]�N�1c
�<ʚ�A�2�*yH0����k�h7߄��t�$5�O	������6�Ҽl�����[#WSQ}�1��F��0@8I�;�h�_(�i�<��������>�׏"i`����wY���������i,�2�F�~R�4\����nY�K�u,
�5K��
����k�u�����@�J�7
�0
��)��5(�X퇓I��)v]��3�!��}���/��}����`��ԁ�W at N���B�8��)ri�I�<DZ�6���ܷmCھ2K+�R�ݬ��
#q);0��.;۬�*���և�U���q1ol�j�m�)�0��67��遵�sX�A�y"	��
v�B�u��@)�UWߛ.q�@�K��XF^Ʋ�ꗓf$��F�܅�f��F��fDJ���M�	=�?�\FaX����e�y���
pT;�d52�;A��$�1��h+�
�}�a+7�}�	~�n��� %A�u~0��2ӯ�� x�N
=�
���������|�=���
V�x��7,� u1���N�	�4�4
Q¿�Y����,m����Lg�j�\{ڣ��Jo85i
��i:�(�x�}���o�S
=�- at H$?槊|+~0�-A4��%�hW��S!l�_T�UQߋ�T����I1 �j���Z�-6���j�~�ԑ�%
E��)�l [...]
+˫,��N�t��p��.A�z� ���D��b�*����ז��
+endstream
+endobj
+2915 0 obj <<
+/Type /Page
+/Contents 2916 0 R
+/Resources 2914 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2895 0 R
+/Annots [ 2913 0 R ]
+>> endobj
+2913 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2917 0 obj <<
+/D [2915 0 R /XYZ 90 757.935 null]
+>> endobj
+2918 0 obj <<
+/D [2915 0 R /XYZ 90 733.028 null]
+>> endobj
+2580 0 obj <<
+/D [2915 0 R /XYZ 90 555.756 null]
+>> endobj
+2919 0 obj <<
+/D [2915 0 R /XYZ 90 541.186 null]
+>> endobj
+2581 0 obj <<
+/D [2915 0 R /XYZ 90 288.895 null]
+>> endobj
+2920 0 obj <<
+/D [2915 0 R /XYZ 90 274.325 null]
+>> endobj
+2582 0 obj <<
+/D [2915 0 R /XYZ 90 103.503 null]
+>> endobj
+2914 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2925 0 obj <<
+/Length 1433      
+/Filter /FlateDecode
+>>
+stream
+x��YMo�F��W�Ԓ@��o�
+Eq��i
��ڋc�HKD%R!)�����7%Z�m5	ڜ(R�ٙ7o�qIl�,l��
.޺��HK*�񽥱�J�%�طnl�u�cl_9�^��&W�v���?�&��w��lG��?M���*pn��/��rK4G�V�h���¤��Y�W�
&*��y�\xi�
���LS;X�^W>�A�e�.��	�T��7���7�"9
�E.,<]nn�����F
���VK�SDžu=�}�BK�R4�"�h�oV�����
;�
��ue�mWA�-!3FX/�
*zL%ee�`j�~��ELP
+I}�����2��Ї� -��YXj֍FE�?bL�`�	��dG�d]��0�#�
+(��f���
��ʘp{)
+qk�V�Mg}����`-Ry�m+���sF�0
+n
K!�8PM%�r��e�
�AI|�8L�)ض8�﫫uRE��S�\�v���p^'�Ņۤ��8���t�����������
*l�KRZ[��B��
�4�˱�
8Ҋ���ô'�F]۠�����)ܐ1?J �I��[�>�N˂$����鲄(���C8bA��nم�řqhS>d��?���%i��(�:l8�zq-���a�u��_u}n�Ţ�R��(N�x�
+;U$���i��Bh��ᦛ�O34
+#�c�"�'^2[/�(;�H��$6�o�2�>�q�Ғ��nq\y�B#J��O�C/	��) <
�i�\yYx�P�TR�"�]#��+O�<}QyJ��
�,=�O���5g�e�
2�f�4�KʮΧR
��q^��Je�y�E�G�D��nv�[���Y�z�	v��
+=�~�h��	�L�";�
�6�������G%0�ԨK�p����^�m�ԫ��x��{N�0����3$��I���Z$��%R�{�ŋ$��9��%����aG����:A�ԕ5�@���m3�Ҭ
%��)$}�u|D�d/�n7aěľ��ϼ��
+1��-�
�Gr5b���m
Uj���&�xW�W�����m䶹�_�@3���W�2'��.cYn��ʙq�X
Iȡӕ'����\�^���^�Щ�,ʑte�`�/%X�`���`����sW��4$�}:d^�q]��%�"�(R�t_�]��Y> 3���2/��Y�F�û�u�L
"�-��$4C~���tbi�����Dα
q�"u���"�$HW�4+Ӊ�c���Y�=��	])�
�݁�"�j
+�r����)LH#x5�U4�E�> 0w9liݒR�<���*�~e�
+lթ�
��4�Q����|g�ueHb��<��8-��8���{G�|t�͋@��&y0�@�M��b^nϮ���E^Yկ_9zM���حy5ϲ���b�٠i��Q�JP�]�V��}aiy�m��(�}�q-�zg��e�{��㫷

+endstream
+endobj
+2924 0 obj <<
+/Type /Page
+/Contents 2925 0 R
+/Resources 2923 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2895 0 R
+/Annots [ 2921 0 R 2922 0 R ]
+>> endobj
+2921 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.4 98.244 212.124 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (main_Cylindrification) >>
+>> endobj
+2922 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2926 0 obj <<
+/D [2924 0 R /XYZ 90 757.935 null]
+>> endobj
+2927 0 obj <<
+/D [2924 0 R /XYZ 90 733.028 null]
+>> endobj
+2583 0 obj <<
+/D [2924 0 R /XYZ 90 567.834 null]
+>> endobj
+2928 0 obj <<
+/D [2924 0 R /XYZ 90 553.271 null]
+>> endobj
+2584 0 obj <<
+/D [2924 0 R /XYZ 90 382.573 null]
+>> endobj
+2929 0 obj <<
+/D [2924 0 R /XYZ 90 368.01 null]
+>> endobj
+2585 0 obj <<
+/D [2924 0 R /XYZ 90 185.356 null]
+>> endobj
+2930 0 obj <<
+/D [2924 0 R /XYZ 90 170.793 null]
+>> endobj
+2923 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2936 0 obj <<
+/Length 1546      
+/Filter /FlateDecode
+>>
+stream
+x��YM��6��W���@E�h�$h�iv��&0�6w�V�\I����#��,[kmb#�CN�hj83|�
Ia���ޫ������žFZR�]�x{J$(�.��Ր`DG>�ߎ
��2��
Q<L㻅�g���:
�����oӋE�2�����/	�1K4GJ0ie��
Қ���o\v�Ј0�
����8��Oc��r���=�̍�F$�d]�31$�6/.�
��
��!R0�l9����9��0bͦ��8e�{��إߛ�@#����DDr��m�4���ʏ}C�
܊6@
+kχ_,�5�)�Z�_
+�~�JZ�xᲑ�™kΣ�I�(M�c�
��Dql[�n�:��I^da��9ڛ���$Ҋx>e;\��<3�&��`�Kk"/�I��8���h>
��5�_
K�H�d KGT
7.��ơ���)b�l_q޳J1���DwI���9u�����2��c��
�A�]���.����Q9>#�H�� ��5��@�@�����
8;V�PD\�~ޭL`�Ĭ��
hO�R��RPͭœ�*��=L�3s��>�IXM���O�IKM���NQYd|��|ٯ����KB
�(��M>�0��'�I�r�����o���@���� 
0�)����r��<]�օ)!�	 и�+�3�u4������ň��]
%�,D�YX�@�b��䞚`
�FGN�	�\G����� 3���ʌ��EڄU5�*�ֻjĶ������%����<\��B�=����t,�M�䶕�U9���1p
;<���d�Rﳒʽ��*xק�O�[��c|�v#yۚ���[h ���k��5��@q��㊴eR5��#H�r� �f�su	�4q]v�T����#BȖ&��t�Tzn��pi��j��-��u���#pA��!�}T�	(0�A��
+��8JJ>\  ��z�(�(@x��'ydߑ��sto  ?u|w
64�X�J?�PwK�����r��0} s�
z1ۂl��NZq�ٙ���"L�]B�
+���ݲ��
8.
�`�*� ��Z� N5䉪At��i_6v�N�=�u]	a�/�-���hJ(R�8��m�~p�i
-~JZ�L6�N���4�R�
����#�耢@G�챐t�
c8���qanoe�5�>��T�܋Ȳ�����|�ɧ߄�3
~����m����s�K����:M��P�
+����r�"��o��|�L��pV|
�S S)�7������)�@��
0
+hMuWQ�i�c�3�`k���pVf\[n-U�m�J�mvҬ��P��=Ů _�X�C�߽9(�6�eb���L�aT��A��œqQv�)w�B����8՗�Ydkӛ�m,�)���BMaI�M���Y 

)ؔ�j�&��� 7L��o���z��mL "�C?�U��`��k
��F��|�z�m��%���-��GGj����d?��:��
�u7��4��zO�!e���9���l�l\�z�֛A���[�+�l<E���Ǜ��r��U��b�Z��C�ݱB`q�I3��2��S-t.������vH
+endstream
+endobj
+2935 0 obj <<
+/Type /Page
+/Contents 2936 0 R
+/Resources 2934 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2895 0 R
+/Annots [ 2931 0 R 2932 0 R 2933 0 R ]
+>> endobj
+2931 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.379 569.022 210.103 579.926]
+/Subtype /Link
+/A << /S /GoTo /D (main_Cylindrification) >>
+>> endobj
+2932 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [448.024 475.043 483.212 506.011]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+2933 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2937 0 obj <<
+/D [2935 0 R /XYZ 90 757.935 null]
+>> endobj
+2586 0 obj <<
+/D [2935 0 R /XYZ 90 655.667 null]
+>> endobj
+2938 0 obj <<
+/D [2935 0 R /XYZ 90 641.571 null]
+>> endobj
+2641 0 obj <<
+/D [2935 0 R /XYZ 90 458.763 null]
+>> endobj
+2939 0 obj <<
+/D [2935 0 R /XYZ 90 444.668 null]
+>> endobj
+2642 0 obj <<
+/D [2935 0 R /XYZ 90 320.824 null]
+>> endobj
+2940 0 obj <<
+/D [2935 0 R /XYZ 90 306.729 null]
+>> endobj
+2643 0 obj <<
+/D [2935 0 R /XYZ 90 184.888 null]
+>> endobj
+2941 0 obj <<
+/D [2935 0 R /XYZ 90 170.793 null]
+>> endobj
+2934 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2947 0 obj <<
+/Length 1992      
+/Filter /FlateDecode
+>>
+stream
+x��Y[s�~ׯ�S+�D0.���t��LҴ�fݾlv4�ɜJ$CR����
 �ɔ�Ϊ�t�b�y ���}��.�����׳��
b+���m� R�H΂�M�~�(�%���\0:O�C��q��<�?ޙM��Hoʤ|\�^�~w�f��������̲8$Q�aRk�����8S�<p=b#&L��WS��'U�XrI�X���P�ڸ���֔
��&���(r�C��7׳_f
�ЀYwȈD0��a��
60�}@���<اA����f�Q�Zz��:&��A�a*t�}���u�g�]é�
�T���������DUoV�4[�t~����:)wǃ��ū�R�}*I�[�ߕ����C演n��aw�!'B5o�L����gH�[��]Z�g3��Cʚ��l3b�)��v��+��*n��>���]�7�iv���No����̒3N"H��Є�Kz"��>��&y�&�!�sy
��K�
�%X�`b4�%�Y�U[7y�w�>�<5$��'�S�g�s)hL"AZ�.-_�qI�GL���L�>��ɏ$oU��l�n��cr[���L%�DBDn�R��3��&��)���)��L�Λ֫ \��D
�.TCؕ�d���o����z�f�43F�b)���`B("�^�n
�
3�H�(�;�Eۨ`LJv�U��#
-�<��s�m ��p
A�^���H���k�
�D 1Q���m�,��c�}9F�<��x�{R-�
�l�K��F�l�.�f�N�����6��*�:��(�ʌL�""J

|�쫱�@h�g�jmf#'�4De�I at g,-�?I����.ő�G�p�ٰp�1
�\x����9�a �_����".Bk�2Pj;���F�7#x	0b��r7X&�
��ݽ��7Y�g�9�C���'o��[�'u�fi�s���f�n�%�
ۅ�ʠ��	�[�n��Y��/<B�F���"
�j�H��=��.߸���rLKS��껤>�{��-�#��M1���2�U���6���#B�A�O��$u�
�0�L2���G�B
+�����^
(��^y��b_Jy�I��j�{�ts���՗�T_
+p��k�n{͐^�No1}�>�˻�ܚR[��j(J�FCy���u�'�Qև��Z\�Cr5����FÏڐ����*�7M�`�E
��qlT�q�QI�o��*���NH��ᐩ~��`,��R/����z6���i��'����@_���t��>V�
k�	��,��
:�I��o5؟���
;Ӡk��Eg_ �ƗI�i�xP�s�r�$�v��K9S/
P���wX�.�VZ�;�%��(ҳ�J�Km�-����sK��ƞ���8��)��_�8�S�L�L=ӢR���.Ե�����3k�-�*�'�aW��e;D��/ ��Dž����g,�e,-�8c��0� cALx>�X
��<��
���+��"���a�OP�{�#5sN�� 91��;R\��;�;~���ԡr��N���`�g��`&O�j�(�wx5��*�"ff�
���N����?�PR�	����.�d�{hۡ���ґv��'�!�LR��|,\UU�q�!a]�
�wf�%�zƓ^���l۳�u]&i]�VvEk���w��H�W(��4Kj,��?������
����[A�txǷ'I����d��&<���l���t��߃��d\JҞ�d�o��]ꝰ�8�oiF8���;��6x�&�f�=f��p���xs��TƐ[%@4��	�g����r�v�-f��5`O�Q�T-����O�q��qd�@b��A-]�?��S{��
f
����2&6��O��l�#�\
+�@�O� H�
����~����m��֣������/��{���$;ڳQ�
ܣ)P5��A�1�T<�Vxg��v��W�\�ef�ح�iD�6
wu]���


�mE�YZ�$���b�T�� �G�4�6�t��V������'��7��*�
+endstream
+endobj
+2946 0 obj <<
+/Type /Page
+/Contents 2947 0 R
+/Resources 2945 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2953 0 R
+/Annots [ 2942 0 R 2943 0 R 2944 0 R ]
+>> endobj
+2942 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.275 268.356 293.971 279.26]
+/Subtype /Link
+/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
+>> endobj
+2943 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.332 98.244 235.598 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
+>> endobj
+2944 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2948 0 obj <<
+/D [2946 0 R /XYZ 90 757.935 null]
+>> endobj
+2644 0 obj <<
+/D [2946 0 R /XYZ 90 697.504 null]
+>> endobj
+2949 0 obj <<
+/D [2946 0 R /XYZ 90 683.548 null]
+>> endobj
+2645 0 obj <<
+/D [2946 0 R /XYZ 90 489.107 null]
+>> endobj
+2950 0 obj <<
+/D [2946 0 R /XYZ 90 475.152 null]
+>> endobj
+2646 0 obj <<
+/D [2946 0 R /XYZ 90 354.861 null]
+>> endobj
+2951 0 obj <<
+/D [2946 0 R /XYZ 90 340.905 null]
+>> endobj
+2647 0 obj <<
+/D [2946 0 R /XYZ 90 196.704 null]
+>> endobj
+2952 0 obj <<
+/D [2946 0 R /XYZ 90 182.748 null]
+>> endobj
+2945 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F104 2229 0 R /F79 505 0 R /F123 2840 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2959 0 obj <<
+/Length 1819      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~����&5ͻHc+�vm���&�KW�M��lٓ���ߡH�l����P��c�:7�s��8�p���7|�@#-�
.g��A$	����}H0����o��q���o������L�x�&����~4z���b
�M�����KBb��(�
+�Rp[Z��&^n�쐡a�����x���� L��,׋87n坙��OTh�	,E���je�^\����R�CD(œe��
La�u�o�]ˀS����[���!Vã�JD$w����K��lSر-��[�*a

�
����Y���K!ۏPI��}4n�T��$�Z��|�>���d�����n�c���'"����f��R�����!$ש��-�ھ
�e"���g@�!o(��f;ޤ7K���*s_W���R��e�Ԥ�e�J
�$"�cp����J�A$U`1��<y�qb�9<��T�%��ɧ�Q��9�O�H��8��ȧ��h�t#�����R�CIf��i�	a�3�[ҥF���
�b?P����w�"�a�|�̽픋�Һ��S�ʿ,U}
+�u�������ds\Yf����lO}`�	�RĔ��!p:�;�NV�u�'UI����|ĐRU�|�6#^�ײ��U�s�'si]�ʻRa)�!�4�6�H��WE���-X
j�!�=��%8삎����!�t��)��k�B�ñ�N�<��iY����*�:���`U��!WT�
+�Υn,��B~�'*���Q<s�k�v��,�k$"���$���K
r:�m����a�T��I�vJ@}Tn�@�˝�7Ij�l�⣷�#���N��bR�V[أ�g�A���6�|e
+�'	��q��I��
+��΄&�@���ŏ��V�I�DT�cm�%΂Ujl��t�D��,���n��*2t���ȗ�O�ۦ�a��9G�Ι�T=؈E��xı|-����ݫ^�
�!��	�l��k"U�{O��EB���*�7��d>bԃ���t���	��x�N�k�S����'��h��{���U]&iA��[�r�"#ĵn��.ʷY�Ib�4S�pu�a&P F�1�� {g��J��S����-��K�(
��|�<�����s�E����j�'�M~C'��������3t��2t�	�x$A'�C���Oc���� ���]����%�L�#
]��i0t�x�.��wd
�]�� �l'0�k�BS^$�
t���{�N5�4]��8M~(�A�Nt��#��
_�/�V�.�0OR����~�%�	$U���J$Q����3P��g
!I�)#�\��F��ݣ��3
+ ���m�|摀�s�t�H�wF�w$��>G�����,
��Xw��xjy������sg �?��ܙ�6=6�Н���L/Jc
�Uk8�c�m_ȰD	�iG5�6"�T��$.��.��)7v�>�Q8�j�-
+rĹ�Ⅽw�
p���
+����W�ꝺ{��PY���8�z@��H�ۜy+���* �&��ƌ6���m�N�ہK[Pub
�+�X��#��9��`zp�"�:j��z`�Y�
�8�?��ã�E@{#�
s#�03OZ�¹(%ӽ�o��>�
8�̌']����{
+�}���T�
�r��BΗ�#ɒ����
+�P��ѷ�o���↥�"��L�㸤��V]��̳d����o꥛N��/HXR�
+!4�Zu���ؙ�-�:��Ov����}�"�~��7��vK�o�(���/��������ί���_zE�<NQ��*��y�

�wwwh�A7i��P����p�_4�����Yy��U�ORX\ƻ���!~D
+endstream
+endobj
+2958 0 obj <<
+/Type /Page
+/Contents 2959 0 R
+/Resources 2957 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2953 0 R
+/Annots [ 2954 0 R 2955 0 R 2956 0 R ]
+>> endobj
+2954 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.151 512.033 244.345 522.937]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
+>> endobj
+2955 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.612 251.745 384.189 264.663]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+2956 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2960 0 obj <<
+/D [2958 0 R /XYZ 90 757.935 null]
+>> endobj
+2648 0 obj <<
+/D [2958 0 R /XYZ 90 610.832 null]
+>> endobj
+2961 0 obj <<
+/D [2958 0 R /XYZ 90 596.537 null]
+>> endobj
+2649 0 obj <<
+/D [2958 0 R /XYZ 90 363.779 null]
+>> endobj
+2962 0 obj <<
+/D [2958 0 R /XYZ 90 349.484 null]
+>> endobj
+2650 0 obj <<
+/D [2958 0 R /XYZ 90 89.441 null]
+>> endobj
+2957 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F123 2840 0 R /F8 540 0 R /F13 581 0 R /F7 541 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2969 0 obj <<
+/Length 1971      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�6~����&5ûHc�vm���&�K[�-��lٓ���ߡ�e�vPw+�>Ŗ�s�w�����x�{9zz5�x`O#-����^ 	�xW
�O0��	��o��a�	go�����*Z���u|����t����*�E�W�.^�K4G�V�����]�h6�x��G�F��j�O�$<[�Y6�P�A��~�٭�<�O�F�(
�G�

�	�fd��_��
�=R�C( ������-��+#���6
�
������#|0��!,EZ��e|���}�}�P��F����.J�
x�덥 ��
	���Zqg�~/���B�RH�#@hi�~°F�>!i!��0a�Q7��DI����S������$�ś���"P�{,�x"����$����q����ǝ�L������]i
n�\!�k��U���2
+�A��m'bg����O,(��c�:�F��aӧ�q$�8W� ��܁�z�!� �$^����L!�j
���EB:
�(J�7��A������R�I��[�ζ��%���Yi m�AZ���U����I�Udu��o>n�=�@As�g��+�5��]4���_Q�gʑ�C�MY�޾
y�rL�o1\ɱ *��:t�B�ωcĵla�<r�Is$ʞ8���K�B�I� � N�Y��D��]�(e��
���S�5O�!���U����6k���u��X�.�0f#
�c���eB�:�l���l:��Wl��~�~��ȩ&�67{�b*�h�w��I�	�A
��a�*m��J|
������Ic(� O!
>�����
_�H���湎�e)Y�I�,^����,�6&‡jc+M��N�+u��H��!KEd�ξ�<���cuK��!2u�oVg���&�Z� ���y�3�>
�~�/��8s��A�����n�$?�H��O�Ʊ�"�ď��)��sTS�
U;���E
&�NbH��p�.�\Tܞ��&|�&�ڠn�Vo�>1�<\�R�0��4�I�$�H��K�����x�I�=�Â�i���UW�5��X�S�Z2���*\WI�?Ͱ�qh`�G�tw\7��0
�`�J�G0� �$���^f*���RӢ!3ʑ"�
�_�|U1!���lrP"�`��6*�;�����4��l:-��Y�홱/�����"J��8	�"����MN9,X=�zc�2��l�Ȝné;ГH�̛���̛w�7����y��O(��bͥC��Rhx�� ���T��/�Y�ml�ٷ1���"�طY�m��$���xS���L�#�
	�<@��\ 	!��V9L8h	�f �\��b�u�Ec�q
�†C�<@���k�����{���sb�� m
+z
�
)�9�B��  3a�� @=����d~�0�L����S��<���������;�k%}$��3)Q���	d��V;��Py�̔����6��'�
�ޯfl��k@�9ц	ֺ �i�1��w湢����8���!�ЦQ���=�_��M h�T1��%�%%<�w�����^�+���i{2b?E�>�b�T̚4oI*�R�&���[5��</��ʠ��7�]EaQ
��?�U��u
J�j��]�Lm��B�6�m�LY�u5��#��qJy�ᗸ�$
�$�:ޘTng� a�!&y�FH�m���FHɫ���� 

_�S�݇�;l������Qw
+0D�c�>�W}��
�f#���yF0ͨ{�J�
�Ё̌��<U�eBy64 �� 1�8x
: ��F0��`'_�
��`�2�Wk��
��N���
O>
2H�t����
+��!0]뽴��߀������R�L�N�o�b����al�
��L�*�V����E�_�Ȣ���~I~
�۰���wFD��F����
h�U�k��˫>�:*���4��\���|7�����G�
�&�.Eq~�ۭ/���%&����~Y��6-��x�	���'H�P
+endstream
+endobj
+2968 0 obj <<
+/Type /Page
+/Contents 2969 0 R
+/Resources 2967 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2953 0 R
+/Annots [ 2963 0 R 2964 0 R 2965 0 R 2966 0 R ]
+>> endobj
+2963 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.679 654.028 395.172 666.508]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+2964 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.382 397.049 394.782 409.966]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+2965 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [342.723 139.585 400.608 152.064]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+2966 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2970 0 obj <<
+/D [2968 0 R /XYZ 90 757.935 null]
+>> endobj
+2971 0 obj <<
+/D [2968 0 R /XYZ 90 733.028 null]
+>> endobj
+2651 0 obj <<
+/D [2968 0 R /XYZ 90 508.933 null]
+>> endobj
+2972 0 obj <<
+/D [2968 0 R /XYZ 90 494.787 null]
+>> endobj
+2652 0 obj <<
+/D [2968 0 R /XYZ 90 238.235 null]
+>> endobj
+2973 0 obj <<
+/D [2968 0 R /XYZ 90 224.09 null]
+>> endobj
+2967 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F8 540 0 R /F13 581 0 R /F123 2840 0 R /F7 541 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2979 0 obj <<
+/Length 1922      
+/Filter /FlateDecode
+>>
+stream
+x��ZYo�F~ׯ�SK�z��ФI�6���K�DYD%R�(;����K��D.~0L�ùv��d��6����g׃��
+iIep=4�$HP\ςw!��Gc
�

��*��
R
�ˇE2+�ɫ���������x�
�_�t����Z�9R:�V�7N�c�X��u����w�4<_ƛ�pDe���j�����y�̓bH�0ɦpKq&BB��9xq=�k@@
�M�PH���j��=fp�� #��[�U�)�����������C�:~�F�E�R8�d�yXY�W�^
+�z�QD��,|$�Z\�y�>���|�v�t�����I��bs�0�Ut�tz�(��"�fރt���!����I�D��E�ـǻ^����ܤ)��|�a��M�]o
+n+�!R�%|�7�l<N�!��]�Lg���ݮ��<�H��/rؽM9	ӹ�D(��
NS�zr�|�Ҷ���˔�t�d:��D
�m�n��Y
+.�
��l���P7K����\�#�d����F��:/��`hcY�gi餩�MC�t���
�#���Q��(S�ݱ/��H�剦ث2�$�*c
+q��C
���^Y!�>"E�C�
5ht^X>��,^�A1�z!N�ˆ���H�pg 9OgN�E 
EH��ܲ����a�'��I
�¤�����&�f��q��b���[Sϒ@�<
	J��
��E�Zwֻ�.��sC)¯z�C���n
+�R:c��,���
 );
,P�G_�x�骛Ib^=`�E7@�̂��o��[އ\Q���i�g{�N%u��M�4 ��E������7q��Ӳ7�Q]��Y��4�K������F���HFݨ�+��9�g�9|�!��(�l���
�2
k d+�=��63�ɰ�����9�#�MO÷�J�Ѫ�#�}��fB=��P�Β

���Ģ%� )p�X$~
+�ͧ��+Л�;+���I�wx\���\��}�P�A�H�s^�L�w#Gۤm�o=g�Gu~l��mn���D0�)?��1�C^opn)nY�U�Rˆ�/�
+���~2Y�"�N0jW1A�Y���� �ǐ�"�'���cUڮ
����F
CD
+zO�f'*��9�E�
�� ����jM�GЩ}hb�1����V
���I���
~���.��#wN�zA�Atb������i�j��;��
��g�<�����]����逷�!� ;�FL�=�3ئ
�������-ωn!%�nϣ
'"�.u"ٞ	���H�����s��N����h�	#n����3;'�
��h#4�.���Q�7,�3�}��	�Jt7ϻ�ow��ȯ>�^v� S���'�.
��5�^͒����l��r��NL�'�
V�<ͤ�)���^��M�H�ڵ�R�H�����wV�9��v��4C��
��k�O�v2l�
�U�F�����tW%Ag�5Ϻi�q�����Jw�����:�q�
�����2��dԦ(����.�8��.�]��]wj��O
!؏׋wJX�I-�O�������'^}��Ϋ=����b���4�Vp���G�e�G���AN��k��d�#f����ʺ8L�=l
7ex�R�I��R򑨟RC0�����D�
����
�}"���V
�/�c�j�3
�p
�5�*l��QP2����4.D;�|h�5�`����Qb
�
���
�C��T�gky)�S 
X���k��.��k�$Wgk���E��"}�Ěr�T�Ě�\��Z�G̚=1�'f�Ĭ����~b��gf]W����d�s�)�����*�FB�
l~mp�p]��"��g���o���r(D���K�m+p1%zgT�x�Ӈ��aA�mR��.�?�����^��Fv���e�
_]��ߣ�m�t]���Z��W�0�����?{Ϋ�Z�U���\�پ�� �2O
+endstream
+endobj
+2978 0 obj <<
+/Type /Page
+/Contents 2979 0 R
+/Resources 2977 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2953 0 R
+/Annots [ 2974 0 R 2975 0 R 2976 0 R ]
+>> endobj
+2974 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.059 535.323 422.924 550.038]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+2975 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.333 256.583 425.662 271.298]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+2976 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2980 0 obj <<
+/D [2978 0 R /XYZ 90 757.935 null]
+>> endobj
+2653 0 obj <<
+/D [2978 0 R /XYZ 90 646.921 null]
+>> endobj
+2981 0 obj <<
+/D [2978 0 R /XYZ 90 633.061 null]
+>> endobj
+2710 0 obj <<
+/D [2978 0 R /XYZ 90 368.181 null]
+>> endobj
+2982 0 obj <<
+/D [2978 0 R /XYZ 90 354.321 null]
+>> endobj
+2711 0 obj <<
+/D [2978 0 R /XYZ 90 89.441 null]
+>> endobj
+2977 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F123 2840 0 R /F7 541 0 R /F8 540 0 R /F13 581 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2990 0 obj <<
+/Length 2535      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o��~���SKј3��b�v��`Ӥq�n��v!P�ؚV"����s�B��X�����Dj.g��|s(v?�g�\�����:�g)I#�n�f�?�#J8���b�ѣ>a��}߻�S�˚m���3߫6�kQ4��;�j�������7��O��^~M�Y��$N8TQ��^2:O
+�[��Ѐ�8G��&k���q����z�uB��w����eCqp�R�4/��^�|A��?�J
<&1
�o/>~�g�;�I ��ժ�,d<7����\�'U��G|P-	HH�~;���I���<��]�=̶֢ Y@�.9L�e&QdW<��+Yh���	IB��#
���~�)�@�
JI���R�Zz�����V,�&�[���������ܟ/8!�ʶӃ�����9g�s�
����o
	�$ ����A#%�߇
I-��
+%	�v�GYnd)>�<:T;K"��t�A�q�7�Rz4��Uz�f���f0���Uv����Cvk�:`�C�E&���6�h՝~�ն�u��7|��/tT7�&��s1���g,�g��:���Jt{!J�p4
����	���������#*

ӻ�2�E�B���
+��O������$D�h�@c�	�a낦C
�]qu%�y�{�Fˬ��mE�M����o�M5g�ۛ�w.���}q�:����Y-k�g�Ue
�\�=2��j#�#R�23�-�p8kT"��K��D웬
jC
�����6��)�Ff`�vy#̰;K�r}���i�r��8ai�^^W����]ى{�,o�q�ɖ�Ȣ[��AL����y{��$���P9O��^�,��&�� �����#�<
��C�>y�ʟD��]���yh�B��Wni�(1Қв�Lb�
�6�,���c
1�J��N찖�|3����t����ߛ�#��v�����"�ټ��-��ߕ赢pQ
+�J�>�1m�/�{\vk(��jS��4E
�o��Sr�I��uUU�J�D�T1)�B>�b�m6�:�:y�<��J횝p�Z0�Mq�
L���\� ��u��
����%�
Ť.�c��� ��Ȼ���\�.�>I����I�;Ѽ��' (R֩�
��3o+�0�I���Rj��K������"�<���
ztWͧ
+�r�V�]�2��[�(���x�qA�B�&���	�{���J�n��t*4��!� �D�
��Y@lL�~�4Z��&��C��c�($E�N
Z�����ނ�B �
+��T7��8G��u�x�Ab��w����t����)�ຉ~�d��J?���<
�gX���|6�%�g��XgXO�NBX�g��
+��
+S~�^�C��P�F�@v����}N=�2S϶������j�~}@�[,g�4f(u 
P��S���A�|�3�q��&I(�t��-" ���y�$�aq:�4��� ��Y���
�'
�`��#
�TYuz�)2�
Q�/�+ �D�����l����X,Kt�Ep��ZNK�J�(j�RK�7
� ��-*
˞�8�>{�w<
����Z�*K���[�30Y�s
.Le�F�r
�MU�:+�Up�.7������KU
�	��
6�ʷAs����Zlz�>N(����]�l��by7R57��цF�����t�C�-��q S��A�7zH%�v�&.�`
+�;e�@3h�B�
+�
+
��$���O=����+c

o��ց^y�9�
�Lj��1�ī��䅙숾��>9����Su
�-��H�Q癙���m՘7�\�����]hD�
)��N���+=�mf��j8
�Z���w��
}��mm-ud��$⟟mhL� x��t'8	�I%u�INW��
�
+�߾Q��X�b_=��F��i�����6�x�%U3��z����Z
�\��ax��9i�RlbM[�LÍ�=����p�n�ހ�^ʗ��'�R�;š����
��i�l�,#QšI*�2^�̺SwMx_�5�h��J
�zf�ԙ����(�c�
+���R�e�~��n�~��$ <����.70��Ygѥ��1Vs)�
�������tj:���m�Vy��%J�����+�����>@�?q�����[<��8�s{�u�6�%��I��Ja	�#U��5`$~"{�՜@�JdU�����<���sӔatN�Q��6l	������W)	�M$r7��_��͞lz��L�;= �Cϛ}~�;NN6�
lM��V��-&<<%Ť�]��nU/1�.�-�i�*\��1�� ��J5~f�pl]�<��
55g����D�W�i��ﯿ{��w�?�:�	�F���]�1��]8�]ꏀ��N��'>�⟛V�䢩,���U�5U��W�V��0��U��U�
ם��D��g��A��$��ᙘ�1��8��\#;����������V4��s����Y��6÷x��۾K�JuE]d7�"8-�?g��O�
�҄)�e�����r�ߓ�%�R�
��e]o.�������ygS�F�]��K�#��
�w
+endstream
+endobj
+2989 0 obj <<
+/Type /Page
+/Contents 2990 0 R
+/Resources 2988 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2953 0 R
+/Annots [ 2983 0 R 2984 0 R 2985 0 R 2986 0 R 2987 0 R ]
+>> endobj
+2983 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 665.984 322.446 676.888]
+/Subtype /Link
+/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
+>> endobj
+2984 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 491.35 116.998 502.254]
+/Subtype /Link
+/A << /S /GoTo /D (main_Wrapping_Operator) >>
+>> endobj
+2985 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 448.988 206.372 478.054]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+2986 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.155 288.282 392.657 299.275]
+/Subtype /Link
+/A << /S /GoTo /D (main_Wrapping_Operator) >>
+>> endobj
+2987 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2991 0 obj <<
+/D [2989 0 R /XYZ 90 757.935 null]
+>> endobj
+2992 0 obj <<
+/D [2989 0 R /XYZ 90 733.028 null]
+>> endobj
+2712 0 obj <<
+/D [2989 0 R /XYZ 90 614.093 null]
+>> endobj
+2993 0 obj <<
+/D [2989 0 R /XYZ 90 599.764 null]
+>> endobj
+2713 0 obj <<
+/D [2989 0 R /XYZ 90 185.122 null]
+>> endobj
+2994 0 obj <<
+/D [2989 0 R /XYZ 90 170.793 null]
+>> endobj
+2988 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F123 2840 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3001 0 obj <<
+/Length 1868      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~����f�;�`+���K��Ɇ
]a(c
�%O�����P�$ˑ��
蓥c��\��Q��<��w��ף�W
+1�%���m�@I�%�u���$$����qR�����q��_�L�?e7eRޟ�?1�Z$k=y���+BvԒ�#G�i��k����݉7
�tĈ0�,xvJ��2��IHe1
��z��$o��.'$�|"ř"�������#jp@�p�l<[�޽�A
+��x��W�N�.���/#�C��8��<PT""����6Yi�˪�c_D�����q�/ԩ�ॾ��}O��+!w��1������e��e�d�n��	�Z[-+n�o�[�&�yQff����T:E{�����k
�j$���Ma�1��|�ؔ�����a��dޔ��v��u��c��H�F믚u�]�	��9�{U����5�H$�l����"*U�4������7L/~~}���߿��c at aĐ�ڽ�@�
*�1��""T�Ȉ!�}7��!
6Zġ�ٱ^���q��ܯu�;	a��+ at aDO�n$[�>�n(��i�$܉"$������!�1���!!(�6,-Ɲ��5��iU��4/�iU7��t]���R)�b�'�`
+)�&dl��7�ZI�%7K]M���-�a�*��.~IY}5`t
�mb/ں�:�
P
R�7��}���.��?
+�{I�;V�}T�Du�A!��
���`�j��������M6_�{wz&)xX�n����j�,����Э����;�e�^g��ޱ�M�������I�
B[n�&�pVe��З~�m��15L[��d���
+
�
+�,DS�v��,��j]�3�be1෌���n	
9�PLz�s�a�K�a
��)�\cܡqA�X[K�M��s����_O�����ߍ�ʏ�vJ4�yV�#�ɄS��r�J�j����ٸ�o��s�?��M�?���l���c��ƺ|�X��Pr��L��
54��g6���X3Ϲ��q�#�P,᧎F\F��FL���Q1H"Lz�.��05
"�"ܝ�6��\�Ӗ�Q-N۽]��nܮ]�	�D�%
�F'�!� p��M<�%)��ܻ,_f�~?�:�B�%
�wt��?P��s��i�Ǥ[����fi� nAkc�A�h��
f˹?վ�n���Z�@ة�
f��7�l����T���p�|��I���������*z
Gap���xZ��vL;4�bp�.Y�_\5YK��<ލ`!lü�Tf(��Q�$
� $2If�ԍ��4JB�"��#
$�{|�(Kx�'<-
+
#
`�;WXԅ�d��k�C<�I
�e
+'L���j�.�s�W�O�A��� �7����nYb�S�-;��˖����ۉ�.# ���I�
�U�0D�J�z��|7o�T�����4�٩^&
�ҳE����;�������9/�f���GvM�y\���
�C`�ۥӤ�o�[����C;�[6%�=���f M�ɡ�b�c��ln{6)�#�?S�9��:@3�� 5��)(��0�SC�/RC��05:�OQC
�x�6�E�S�Eö}(�@?���1�x;�jb��;�S.��z��f	D�)f�9Ni7���J�qB+�В�%� <Jh9�:��)ԉ�t�Y.�I:2iӼ��d�nz��V������|���<�f�ʶҖ�}�z
�:ż��1�C�� �y7��p:b�z{g_S��4�Si�3�����Od�)�
����"[I[���(b$�{wui#jA��6(�n=���_+]~9�����$�4o�,���?�
�N�!��
��J7)v~�4W?���u֒N��M�˜����v�E�
+m�l]�̜s;{�Yv��i[�}Ѹ*��]9Wu%=�?�]=
+endstream
+endobj
+3000 0 obj <<
+/Type /Page
+/Contents 3001 0 R
+/Resources 2999 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2953 0 R
+/Annots [ 2995 0 R 2996 0 R 2997 0 R 2998 0 R ]
+>> endobj
+2995 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 329.877 355.512 340.781]
+/Subtype /Link
+/A << /S /GoTo /D (main_CC76_extrapolation) >>
+>> endobj
+2996 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.659 258.28 268.34 269.184]
+/Subtype /Link
+/A << /S /GoTo /D (main_Widening_with_Tokens) >>
+>> endobj
+2997 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 104.634 355.512 115.538]
+/Subtype /Link
+/A << /S /GoTo /D (main_CC76_extrapolation) >>
+>> endobj
+2998 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3002 0 obj <<
+/D [3000 0 R /XYZ 90 757.935 null]
+>> endobj
+2714 0 obj <<
+/D [3000 0 R /XYZ 90 652.291 null]
+>> endobj
+3003 0 obj <<
+/D [3000 0 R /XYZ 90 637.72 null]
+>> endobj
+2715 0 obj <<
+/D [3000 0 R /XYZ 90 428.951 null]
+>> endobj
+3004 0 obj <<
+/D [3000 0 R /XYZ 90 414.381 null]
+>> endobj
+2716 0 obj <<
+/D [3000 0 R /XYZ 90 203.709 null]
+>> endobj
+3005 0 obj <<
+/D [3000 0 R /XYZ 90 189.139 null]
+>> endobj
+2999 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F123 2840 0 R /F23 368 0 R /F104 2229 0 R /F79 505 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3015 0 obj <<
+/Length 1661      
+/Filter /FlateDecode
+>>
+stream
+x��Y]��F}��ੵ�2;���*���6m�4�4��Y�]�` ������
`���U�iU�
�p�;��s �]{�{5z:
�����H4�W�ƞ
�xӅ�~L0��`��o'�M�2����i�]����~�.s�o�ϟ>�],MN>N_��$d�,�
I��im�����\y�̈́�
�̈́ǧ,<�MQL|*0�t
��ؔ�
y^����q��aHr&Ƅ�����t�yD�
�H�!������G�-`�����l�Y+�S��w1�c�]j��+�0枤"�ѺܚUX�yQDZo��{�UHb����f��;�^���?���=��x���
�KS���{�BZ�M�u�&�
S���ͤK��y��&J
=�{'���3`�������@wc�H3�\F�P
i�NB{i�'�'�B)q8Hs�:��]ޡ�:1o�<I��`�L���,�*
�*J��ĺ|4ꓢL3?K��<��iC������I4bR�1�4qaf����<6w�Űv�

�B��^�D�Ӭ�����׎��^*S;h��uRD׶�`�˄
+��\ơ���v�p�.
F����Z���ʎ�
+ݬ�(�
�駪Iä��?`�m��<��
�o�a]�j)� H
aWg�,��
+�&����!ϻW#�}=a-¤���ʥ��
h7��E���ΗI�y
B�d�z��s�
+�F
+����:�}�#.�lqm�(�� 
k�h13��z&G�XC��0]�i�%�����S��[�	=�&@e��&Y
�!R�u�
��ZT4�k�E�. �~���Uf�J

��4��"Bv���ұr��M�T
X�
�\`6ކXn�0����A`�K�
+VA��/U}���Z�&�������}�5T7�7��ii�
+��˛���5}8aPӠ��_���<���.�
BL�RB�)%ԙ����)CTu�����!C�l���؁����f����Gm�e6[?��={�"�#t<�F-t�Q��
��O�ÞKGEO�
,
Z��{���R�XǮZjީ�*[���[�~K$��dU�T��
N�KuH���1�L��Ӄv�״�{Pv�Oّ�(��B�<%��?&�ԃ��^�.�V�`��9�~-s���t��N�)��@�:O��:O��؉e	u\�qyJ�u�<���a�u�q�]aq>~�<���Yu=~*g��Ԗ�` Z"B[������1�}jLuJcR^�x�}���*\��R���H��	Z�5=Iu�/`�)�S���������=
+��4wo~j�iႚ���m�G
x�J{>���~#�*��^=� Z@�E���>���L
s�C19�r	�z*��G�ӧ�^ߋ:%w��A�6��_�΋��t�1x�TW�k���ns�����Ҧ���{%[�ms
�ϩ�ԑ�Qg��������l�2��A����
E�����OV
C
�l}J�KĈ:EDJɾT��K���L�OP�%��!o���ea���@�+��U
���U��k��r;	�
���
�L��~��?HB��T�)��Wh$�C���U�ޝ6�ޞ:moO�,��lj ���oL�6q���b^XY�b�	
 ��"lZخ��
�6�w���(��l�nY�����f�A���(�QT�@���
+�B���0�J1U2iU+������
+endstream
+endobj
+3014 0 obj <<
+/Type /Page
+/Contents 3015 0 R
+/Resources 3013 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3019 0 R
+/Annots [ 3006 0 R 3007 0 R 3008 0 R 3009 0 R 3010 0 R 3012 0 R ]
+>> endobj
+3006 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.659 645.183 268.34 656.087]
+/Subtype /Link
+/A << /S /GoTo /D (main_Widening_with_Tokens) >>
+>> endobj
+3007 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 503.492 355.661 514.396]
+/Subtype /Link
+/A << /S /GoTo /D (main_BHMZ05_widening) >>
+>> endobj
+3008 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.659 431.896 268.34 442.8]
+/Subtype /Link
+/A << /S /GoTo /D (main_Widening_with_Tokens) >>
+>> endobj
+3009 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.008 278.25 276.143 289.154]
+/Subtype /Link
+/A << /S /GoTo /D (main_BHMZ05_widening) >>
+>> endobj
+3010 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.659 178.758 268.34 189.662]
+/Subtype /Link
+/A << /S /GoTo /D (main_Widening_with_Tokens) >>
+>> endobj
+3012 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3016 0 obj <<
+/D [3014 0 R /XYZ 90 757.935 null]
+>> endobj
+2717 0 obj <<
+/D [3014 0 R /XYZ 90 590.612 null]
+>> endobj
+3017 0 obj <<
+/D [3014 0 R /XYZ 90 576.042 null]
+>> endobj
+2718 0 obj <<
+/D [3014 0 R /XYZ 90 377.325 null]
+>> endobj
+3018 0 obj <<
+/D [3014 0 R /XYZ 90 362.755 null]
+>> endobj
+2719 0 obj <<
+/D [3014 0 R /XYZ 90 112.232 null]
+>> endobj
+3013 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F79 505 0 R /F23 368 0 R /F72 404 0 R /F123 2840 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3027 0 obj <<
+/Length 2151      
+/Filter /FlateDecode
+>>
+stream
+x��Y�o�F�_���D�9clH��Xdk�S�D�D)R!�(�����K�.�-�E^lr4�������
Ͽ�}u;��6�s���r~{?�x
I�%����͂`D�+�1^�^���]�~��xQd��d[��ӻ2.O��_}��y������W��#K4G�V��R���2�l8�f�m��F��fÿ�(���Z���@L�E��gq���_���\�H�
,E��!�М}s;{7#@ω5��P�7�ٛ�x����1��hw��2���of���Q�R���iC\{�֍���+�ؘ�@F��
�i���4c�m)����TR6;����Q��HP
+I==�!�W
k$��+B��i-�Yڨ��~�*��<.��
��1��)�C�B�7,�r%��"�j�8�E����Td˩��H|�I���h+�)@C#���-��#d߰T�,b��`׈��/�u � �uᎁ�c�!���7���O���V���Ǵ
+�)λM�cZ&�!��sq߮�E	�s�i
`��
�S�a�4!����8��ez����g(M��4�6�^�cRzy���kwV��+N僯R�~7����� _%K"@�}�$-r�&pr!I�0{��>K7v{���h����0a��� %�N�jp��r�
+�k�A!,h�C�3
��e��7��Z͙_�ͯ��mf�U
�?A\��
���&��fu��3�fϸ��Јab�-��
���&�[?�9C���U���%9^���t��ˇ�.��Q�[�n�bI����f��M�OQ$8���� 
"��$�B\�%2.=ئ�x�\�����!�d�/�mD"�
*��p��)�G�a��4E�m���ʐY�ĕ�/J��1�&�-zf��'e
U�za�uw2�
�s险(� v�q[I�nH���$�k/d�@���\={	h"#��
`�C�l�[�wj_�!x�:,G{py��EZeM5��B8��[
�R�U  	�����D ic�)��rZ�C_k����>?۽9�eb�	{�)��{2h���A����gg>�H�)�,Z�YL�\��%b]����`���� c��r�[|o�_����ogY(���m���Z�U��Q��1:���1>�c�Դj�Ȁ����D�a4}��N%�
�0�j���t.m[*TZ�7zRCZu-�g��nDY/I�(�[�Cr��� �[�ߴ���4RB
�
�m?3l�gY���ڮm�'}<�

Z7<5<��D�c95qDl|�4�pH��������v�6/B�(���+���Y%���U���7'(�;�xAt�m�mS�
�a�Cn��lCHC�D�}�#<u@}�d���b6���5X
=9�qs�
�v{�^ �ߛ?�
��H�^S�����̆��
n'��%Y�eЮ�Tb��YU��$Ȳq@��/*/�`�2
��
+�'�97�$8��M6�86K��7
ܫ@�
+
Lmg^xa�������R�^���O/X�
+ q�o篻���9��Rp"�$�o���V$��03>
���OBs9C�٩��^�k��0?`�P56����bX ΢֎�pД6N��2P�Ɣ����2��� bfSb�C���IJ���c����v���2�a�r��;�g���ݝ��.��Zl�#�f
����$Db.��v�b����y��
+�6��5���"''��*�����Ǵ~l<�
+t^R��d�/Bu�y�S@�z��Ӳ�����0Ws��+C���3�gnS^�$u���B�HM5#�����
�\0�AƔC�
Y2����
��`V�h�A�Ha5ĮP_�M��U�����i	�yp��1B
���8�W��Gz�ԗ� !���b��Z��̦ԐJ�OB�	�.8�� H����	Bv��S ޸�C�Ń��(�ܾ�QO�X�
+�|�s
+��԰��I�
��m�s�8&F��a< F2�>���u�r�݉<�EB��6h�wI}L�ڣJ���6����
㽚1�h�E�Y,hg�A�����#�4M^=���v��I>��
(y��!����n�_�v�^}Oq/����K�ֽ��8�>:;0_Vn��E��7����&i2�����y�if��IKE8jm�X��뫫��6:��Di}���2vzT̀MZ�o ׮hf��L�;{pa�? $s�
+endstream
+endobj
+3026 0 obj <<
+/Type /Page
+/Contents 3027 0 R
+/Resources 3025 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3019 0 R
+/Annots [ 3011 0 R 3020 0 R 3021 0 R 3022 0 R 3024 0 R ]
+>> endobj
+3011 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.011 665.984 513.996 676.888]
+/Subtype /Link
+/A << /S /GoTo /D (main_CC76_extrapolation) >>
+>> endobj
+3020 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.062 385.382 276.047 396.286]
+/Subtype /Link
+/A << /S /GoTo /D (main_CC76_extrapolation) >>
+>> endobj
+3021 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.659 289.396 268.34 300.3]
+/Subtype /Link
+/A << /S /GoTo /D (main_Widening_with_Tokens) >>
+>> endobj
+3022 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 128.042 334.073 138.946]
+/Subtype /Link
+/A << /S /GoTo /D (main_H79_widening) >>
+>> endobj
+3024 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3028 0 obj <<
+/D [3026 0 R /XYZ 90 757.935 null]
+>> endobj
+3029 0 obj <<
+/D [3026 0 R /XYZ 90 733.028 null]
+>> endobj
+2720 0 obj <<
+/D [3026 0 R /XYZ 90 484.049 null]
+>> endobj
+3031 0 obj <<
+/D [3026 0 R /XYZ 90 469.829 null]
+>> endobj
+2721 0 obj <<
+/D [3026 0 R /XYZ 90 226.766 null]
+>> endobj
+3032 0 obj <<
+/D [3026 0 R /XYZ 90 212.546 null]
+>> endobj
+3025 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F79 505 0 R /F124 3030 0 R /F8 540 0 R /F123 2840 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3038 0 obj <<
+/Length 2056      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~����&1ë(e݀�[w�&{�
+C��X�,��\7��;I�,'][l(ЗD����;e��z��~��jq�Lb/BQ@��Ƌ�'�%�U��	Ft�"c���`?�v����b���*���/�uWwO�]_n�R-_]�t����Zq$�6m�>2"���N�	\��a�	|󐆧Y\���E�W�2�eV^�U-I�|K�3�i�����`���I�x�[�|����0b�͡��y�2��y���؆C
��		�$e��۔����g"�B��|{��D�E٤E
g���e��
��>j
+�[�}^���J��%��4�Δy^7E���q����~wm4r��1k�N�Q�f����Kׇ�k#��!�ke���1@���ʵ�:���V��H�H�e��[ U�����&���
�e+pH�w⇴��{����o%*�ﬠ�l���^��M�0*��(�҃�P�#c�wo7���x�^�$�!�8����I..�|�!�q�&븺��T��W�@��e[:%����ޘ�������������
ʠ(�6۴62��i�8&N(Γ=$@��6���"
D���vf���5Ds��bW�M
+%�f�
��pj~!{�B
�˂V���OBM��$hSޙ�ܕ*�w`'#l�(�w� ��]�E���a��`>zp�9�W
GP��6cp�

��/.�t�6*Y� ��z�TqY@�!�k@` 
p-
,W!�Z�ы¿�%�8
+�h��I�	�A=����/��q�ꬆ}%3��i�("���G
p�'AO0�~^� ��˻��T���D��k�zvw���Z��
 ��1L���.*0�Z㾶�#} g���G8Q�� nC>�"(�]�^�y����
j�%�& (�pJf^�qW��\y��(A�23��~��}֘E=��ÓsE���f�d�h��M[�F����-��¬����6�l2[��h���ښ�3 ʤD<�~& �y"e�ر�S#����� jcT5�]C�i;�!��v�Y�������Isc�@�3!?�`a�CN��IL �)f[�,�F
���8DX���:9ua�u$�ʓo/]��ƺ

]��{w���� �cյ
>�IU��d���X��~�.�?�q�VD��e
.���a���
�ކ+W_� �Z�i���C/X���:�q�O��m\�
+��!g�iC_>��O���O����շN��!�=���C��GG�D�)06%���}��F��;S�8I�uoԺK^���X+�����
<H�Zt�ORhT��8ϟ%��<q��Î�Y�~�$�L�R}
��=O�}�ڎ�Ԭ�?�'ڋ6 �d�Y2a���Dh��
����h�F�ޓ�1��=8��є�&�`JO��\��A���"ŠJ$B9TI�A@�f�
�iKDId�U�س�ܚ�g�c��#<Ho�J.�M�'Js���L`��f�
+�ߙ��n���j�4a�3;2��c����6
��	L�b%�&�� �ިJ���bk���pi�G�(�����Z�*��ӷE'&��5����A�	���ZQ�9��l
V�������&��n��T�n��?fp��Aw�x��
� �a6�.��v:���@�C�d$
C��ҙ�q�ʁP��P����>��IşM
s'LCy��Z���Ҝ#Lx�BC at a
�Ğ��Ls���˲�I<��Hv���_��
�����������)�yŽx]��� ����(�p��Y
��
>
���@;��D�I�a�2!j�U,�1�����!`r�zO0�q0�����#ŏM�
+�t
"��ް"�#2($�ʹ��_���b���_�3����W��jU��6���0
+�(|���Y��
��X����V��I��p^4�fiY�}G����/
+8��$k�	�Y��o��o��
@���|B��kSt�[W���ֱ���V՗K����_�|g}�����^�a�s��	�/�;������ϋ6���$��#]R�MS^�����>O�
+��yYf��Ls�΋�t-v�½+��1��Ow�'֣��ԝ�
+endstream
+endobj
+3037 0 obj <<
+/Type /Page
+/Contents 3038 0 R
+/Resources 3036 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3019 0 R
+/Annots [ 3023 0 R 3033 0 R 3034 0 R 3035 0 R ]
+>> endobj
+3023 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.659 707.957 268.34 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (main_Widening_with_Tokens) >>
+>> endobj
+3033 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.224 554.312 256.77 565.216]
+/Subtype /Link
+/A << /S /GoTo /D (main_H79_widening) >>
+>> endobj
+3034 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.659 454.82 268.34 465.723]
+/Subtype /Link
+/A << /S /GoTo /D (main_Widening_with_Tokens) >>
+>> endobj
+3035 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3039 0 obj <<
+/D [3037 0 R /XYZ 90 757.935 null]
+>> endobj
+2758 0 obj <<
+/D [3037 0 R /XYZ 90 653.386 null]
+>> endobj
+3040 0 obj <<
+/D [3037 0 R /XYZ 90 638.816 null]
+>> endobj
+2759 0 obj <<
+/D [3037 0 R /XYZ 90 400.249 null]
+>> endobj
+3041 0 obj <<
+/D [3037 0 R /XYZ 90 385.679 null]
+>> endobj
+2760 0 obj <<
+/D [3037 0 R /XYZ 90 177.248 null]
+>> endobj
+3042 0 obj <<
+/D [3037 0 R /XYZ 90 162.678 null]
+>> endobj
+3036 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F123 2840 0 R /F104 2229 0 R /F79 505 0 R /F31 506 0 R /F7 541 0 R /F1 580 0 R /F8 540 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3050 0 obj <<
+/Length 1923      
+/Filter /FlateDecode
+>>
+stream
+x��Y]��6}���Ӯ
t8�Eq�(��6�] ���%	
�ű��%W��̿�H}��8�f?
��X��.��{�=WC�u@��g�
f��
4�����@�@E�H΂�4x7g���
����,�'�.Y�Yp:/��������c���ww��]�o��Y|x���5c�L�D��6^��LF3ۙ���a‡&L���k
��M�jq�%�3��f��&�q#o͓),��|�!
+9g�Z���
f���Ѐ5pHE&^�f�>� ��%�96V� ����~�ӌzh�E�cM(
�#¢Э�c��LmʪYǩ#�AG����:��/�ٍܹ޼}-��

�
��E~�=��xr�i�3y��G�.�o���N�J�0
+n�"2VC�@57
.�Gw3��c���+=�������&���1����A�ޘ�v7Y����O�?S���k=��W�����d��ſ�����ܤ~]�n8q?�sU�Y`w�р��p��
�+J�M�=�y`6�*7�,���]'.>Z�̒�mk^
��a���a=|K ��5s0�}Rz�I�5.VxV�I���đw$ݎ�#QȖ_��]6g�_J0���-�E�3xM�M��R؞��
�����b�m�
8��ȝ>F9��`�
�W�2����sg,���)�]����DD+��0
�D̟�w2�
+���[%yꖈh�v����J������Yi�övi�#8�D#�} �
}�m2v���3D���.2�����Qg�6*؁Tk&��‘���� �H��"�}�ip7k�)|�s�cא0&F>:� `}��s�$�];ׁq��"\X!{��6�%\���x��1���P��@��@�C(��:�i���@P� ���Mč"A=��&6!I��A��MW�$� ���^
A���n���$1�B�� �l�
{��79�!b��I9 �0�W�@
E��G[b�,u
�-1�$�W��`�Ճ�5�A���
�t���D��9�-�p�u	P
uT����MD1��UE&�5I]�d��?yc
#��<��ҁ<O��#:%
D
2�P���
>��9O�0��wN=��EFD���
+PM, b.��72^�YY���|��,x�,�?E��h����@\�W�~�jm�;��"�:9��G���+�r��,�2����c(�jS�99Ѫ'l�@q�Qx�D��f��>�̾nd��RȺϰ�N��&_כ�)K�3bj��tX���'�9t
~#/�00>�f�ؐ�a�:�Ur���+��������}�jm
+g���ʘԍw��B������z�]wɧe3ղ�f)�ͯ�M�$�K2U(X$�ؠ�@�0�ƕ"��R��*�kpw�]�%sz��
��g�4�]�����I
+����G�1)���q>���\PH%O�9~�lB�L�NZ
�i�joV�m�g�ž�5h#t4f�/ԏ�H\ʦu֒W-ڮ
+\.#?/c�)M����Z<d��Do�/r��
��K�۩���H_6Dp����QYB�u���eR�Xv��ՊOQ9�
�OhN����3rep@�7Y�*v{�
{�ͳcVo�U��!�aF]�ZD�."����hd8��@�~(p%�|㒑0R�	?޹ }�8]*�Q�Rq�T�?J���T4�ʫ�{���N�^k��
ɗ��E����h8���wV�|�h�0YL�U*�]�d9���{�
��-���5�ѧ�U/��e����l�=�`"�������ZGJ�Q�]�e���E�Y���2�xyL�`��}..1"@�1����4`��;��LKt��;�ܘ1(l�M�
�g��w��	4�
�g�]��;��7���D��D}��jY�߶4�n=���V���m�<��Hr���s����G��lZ�oɠ�{��(��_���G���e1'Tu�m�zw{{<
ɪ"�<ۗ$�o����y�
���T�
��‡��(M[�0�kZ�3���`
+endstream
+endobj
+3049 0 obj <<
+/Type /Page
+/Contents 3050 0 R
+/Resources 3048 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3019 0 R
+/Annots [ 3043 0 R 3044 0 R 3045 0 R 3046 0 R 3047 0 R ]
+>> endobj
+3043 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.334 525.495 236.659 536.399]
+/Subtype /Link
+/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
+>> endobj
+3044 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.635 468.558 256.157 478.456]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ae68d61763922cee018cbba3834b2085c) >>
+>> endobj
+3045 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 328.148 206.372 357.214]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3046 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [448.024 282.544 483.212 313.512]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3047 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3051 0 obj <<
+/D [3049 0 R /XYZ 90 757.935 null]
+>> endobj
+2761 0 obj <<
+/D [3049 0 R /XYZ 90 614.771 null]
+>> endobj
+3052 0 obj <<
+/D [3049 0 R /XYZ 90 600.201 null]
+>> endobj
+2762 0 obj <<
+/D [3049 0 R /XYZ 90 459.592 null]
+>> endobj
+3053 0 obj <<
+/D [3049 0 R /XYZ 90 445.021 null]
+>> endobj
+2763 0 obj <<
+/D [3049 0 R /XYZ 90 263.625 null]
+>> endobj
+3054 0 obj <<
+/D [3049 0 R /XYZ 90 249.054 null]
+>> endobj
+2764 0 obj <<
+/D [3049 0 R /XYZ 90 119.932 null]
+>> endobj
+3048 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F31 506 0 R /F7 541 0 R /F1 580 0 R /F8 540 0 R /F72 404 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3063 0 obj <<
+/Length 2363      
+/Filter /FlateDecode
+>>
+stream
+xڵY[s�~���S*MW0.$��>$ͦMә�ۗMFCS��,E�$�^��
 AP�dg�S$�s>|�J
=F8������۷)�$����~I
������~}\��rE0ƋwK�Y����/��y�6M���xh�����ۿ�?첃Z�r���[B&b��Q*l�K��Y��w����

�rM�weֶ�M0�t���2�y�^mU�$b��

�1K�-��������#��(������_p���?F1��_��b��ZFn�u�/BK�<q�"�a��OM1��.�:�rX�=T���2F� �I����
�R������7�f)�Y�~{�򮨫{(�-��������F/�VT���!H&��b3OQ��6�D^�s��K&i�F�����a�
�\�7�^U-@��
��'x�JD���Yg�&2A������=��!�j "��a
�Г
+�
+:�e�YֹE+�cD�V1�2������v;뜞yp_og
�t��ʻ�1�=*�g��u�)�G�/�}�{�q������n���냁Ĭ�Nx8z3芼3
V@?Ɂj	�>���N5���N��7$���	��>�/Y����M/��g�҈�j����>�Ы,����
�2�
� ��C�]���ns�N�d��t6���z��b�fJo벬�L�F�@��޴�
�)ߒ)8���K
+0Dpl
x�k �CL�e����y���YQig�9޿
nN���FuǦj�
�i
%�Q#��
+Ȥ)J�1	p4��EVm�tQW�y4��!үuhT��Nm̛�
�ƑC����ڛo���ʀ`�h(
+����������R{�S�K�)E�aM"�Ā�D1��
���cZ���A at KyO�S��?c�3:�P�$
��ЗI�O�a��ϭy���5�ʲ��=�m���l�a�7���\�d���Lg�Xo����*�����,c�xc�
z
+B,��

�1�/1"Iz��
�1Z���Rg��@7�
B��9��\
�/�e��Q�|�C��D ���˺�~O��������ؗ��1re���zl�\5ʘx[�`�}�c�S�$�[��\�wߘ����%Ғ�'��,(���c������"x��h*�I^��4�W���SpW�Jѓ]�g
{�!��P�;�*{$pT�
H�W���6�o����@E��
C��-BEw1��)�e2u{�jB�఩�3-�oo2) q��@"�gڈ�2g�
4�Α�&�x
� <=.��0��!V��P��#�<i at k�^
�|�_6B�P�c�Aj
+B+��0!��D�$�ڔ:GN�`��VU ��O��Yن``�(�8���`U��O�&�U�
�(D�cٙ�}]W���E�I	���5i~|�4
oje7�j��� �Xm2sq��L�/�k�n�Ŷ�Ы�����P��M�0*o��3�R��Y&�L-=m��w�<s�I��dp�j�H�ۮPk4�p
>"2��
��9� �ܰ�����@p~2=�%~ՠ@�tweN0�9���a	�f~py��@}9@��
�Iڑ
��p,k��T� �
%d����F��oBs (�����! 9����C�PH^W'

�%�N,߾k�+X�]]�GH� ����c2y���
ĞC]yÈ@��dJf
o�^�ҍ1W\DP��y���{�"�v�&����I�)�,�.��Rh��C� �^Y@S�?ʹ�-ZY�VP4
ai�
M?vbOu�?
���V�6�aޓqs����L���_ru0�ҫ�L�8�v��;��L~��b�Κ�#��]2\@�slL�V]jF�S]&1��؍�M�4�b7g�|xb�˦��
+#
Y�Q�G�T�c�[���/R>���Us
T���}�6=�OaKi߮^�Eܕ�:e:8��&�p�O.�c���`�g�֮4h�-_Z�;\�^
Tv�NX
'(�<�N%\|�y#�r���g�i:�8�Pg�q�PB�$\�"S��ԼjdH���=vY���c���6\�
�F?8���P�O�y�~��*��I9�pl��@��qIDW�I:���A�������v�p#C)XO���H�W!�����IbN�I�8T��+q�ۖ^�n*�b���_�
+�tM������G�s�d"m{���qP]����
+̐|q��"Ι�܆�l�.\G< /��3�ӑ�Ꮰ�����w��愧������XW�+��N��wA��)�#���9e=Ƨ�xB�5?����8H�����wo؊�|�~�NL���(��go�����2���27�nU�e�,l��Ϭ:�O�1��ܹ�"�~FУ�jh��]����?L�r�AN]���������[t��C����p(oOS�D
+0/%��m��d�/0x��Ng� �� Xh\
+endstream
+endobj
+3062 0 obj <<
+/Type /Page
+/Contents 3063 0 R
+/Resources 3061 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3019 0 R
+/Annots [ 3055 0 R 3056 0 R 3057 0 R 3058 0 R 3060 0 R ]
+>> endobj
+3055 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.376 654.028 385.519 664.932]
+/Subtype /Link
+/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+3056 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 383.653 239.856 394.557]
+/Subtype /Link
+/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+3057 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.639 165.011 300.161 175.293]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ae68d61763922cee018cbba3834b2085c) >>
+>> endobj
+3058 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.144 124.847 182.164 135.751]
+/Subtype /Link
+/A << /S /GoTo /D (main_expand_space_dimension) >>
+>> endobj
+3060 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3064 0 obj <<
+/D [3062 0 R /XYZ 90 757.935 null]
+>> endobj
+3065 0 obj <<
+/D [3062 0 R /XYZ 90 733.028 null]
+>> endobj
+2765 0 obj <<
+/D [3062 0 R /XYZ 244.439 386.806 null]
+>> endobj
+3066 0 obj <<
+/D [3062 0 R /XYZ 90 370.079 null]
+>> endobj
+2766 0 obj <<
+/D [3062 0 R /XYZ 400.69 128 null]
+>> endobj
+3061 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F8 540 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3072 0 obj <<
+/Length 2389      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�~ׯP�J3�
A��e&ۍ3M�v�v�g�CKԊ�D*$���}�$dP���v�D���;�ߏ���ѫ���u��)Jc�o����� N��v1����tF0Ɠ7S�'Y����L)�T��*_����C�����W��oV�6������
Y�F(I
��~��x'˓"��6@#E�q���S��Κf:�
��N��v���^y�/�zJ�$/簔D�O������ѯ#d�(u�%p�|3�{��
X�~�i
ծ�8�
�����_#|T��!
�N�������碋�cǴ<F����y�m at 2FXP�

+zB�"����U���'���#�Nq?c8E1(}FJ9�B��y���rJ9���o��<�_��l��4��3�`
���Z��ޓ�E��Λ���,n����(a�vn�!��� W4���@�hD��>90 If�nA���cOo�#��ހf
+W��zJ�R�ڕ	�#}{���4,о݀�Ҿ�
h�"�-ʶ
+�JP�Q�D�)1�:BHŮ
���H
+:��3*���/�8isͪ�G�7(�)�s������&�rƾuڵ�T-Ϳ%���
��n4�3�G���;�l�
���[c�yU�y���EQ�7��7���`~_�_�/��23�H��lP)��j�
+0�iE��L
��Nɤ2�+�͊kN$�K��Z�C����,ʬu{�>Y)�;����|��X
+�c<�$�o����UZ~���hM�h����]������>���@УZN9��vUWR�� ,c� 5.uX���&B��I0
h�R��׮�`�'�
+������<���W�m&�Y({˟�vFc'A��*���$�����*�A�֌	e��Si��O3/�Dz͊2_
N�;'��Ӈ;H�x�ͺq��YW
�

�?�V��/�#�P��s��a[�%�(�Q�P�
��5�	"�pNz�9c�S�*�LaC��H�QC���8!� }дc�J�8��h�b�3�4_"l-#��؅���}TL�U����h��%h@�
H�P��'���=!�p%ғ�0�fF^����	
+En?55�k#��

P?��F*���&{*6��|�2�^��_�ɰ��`�8��A�2�$�ɕ��]��K�t:p��_�,�d�"�E�ð8�0'��Ͳj5���E�y�k#J� Cŋ���^j� n!LR��){�TM�݇��bJ������x�˯P�Q��+랻A�P��@<��$3�
�T��$��4�7 ��ohɧlh1jhI��
4��^���}�	��~�b�Z�jh{'�Z
+{���䌆�yu?�y��U�W-�M�6p	�<�����\C�j
�L��������
����46�7����u '� D�Q����P�NTEUVL#���H��uY�)@]���]a�$1����I"���|e�9k��T鸛�`䯾���9���(,���
$��s+�Pړ���3@����8\� �GhG"���u��v6�M��<	,��zW�MO���j�t_'= C]	x�}��
�"B�
��� J1����T�ݑU���t�Y��4�vT%�U��cc7~\�������
�����S�Sh<F���*_�I�����P���ʊ�̴C���s|j�ܑ��P� 
�3̟�� A�4wKh
�2�7�ϣ�I}�B��w��pi`�dU��G:OHϔ����� up�ݫ�76;@������͏�1�f���o��d{8�|���(JT͕
�Ƶ�Y�_
hGW�kk}?A�G�n��^%�$
�D
�j�y�"�x�8MC��y�$-�!�19r؅��UM�_'eM�sy�
j{��U�2�N1
�pAB~��
@�����-�6Jy�I܇[��?���v�����xk0䟻v��3~��������hU{)"UJ�ܝ��S��}X��-4���Qk�V4�s���"X)C��Y�
+��AIr
+L1���� ��#���`j���לì�����^�nM�V�_��^���]�9Xaf=�5�܏'
�������{��$�RoNn�Aț]YH`� �!���t�"�5r��7���^���B�Π�5�eَi)g
�^@�qt��gOHP?*�@ �ema%���q
����6�������L��,�Kp`
u�'���:?=Y)'�Ώ
R�I�����IW�GG�|'�O}h�;z��O�g~���z��2�w���	��c��'�;nx��J,PJ���OS �b�
�i
+����%�	:r0f
�dL?��~����?��f��Y�3�KY�r}:F�H
�WY7���j�~ۻ��Bu�AN��Vm����|||D�\nkT���������
pф8�.Հ
��T�o(JX�^���f�%�
+endstream
+endobj
+3071 0 obj <<
+/Type /Page
+/Contents 3072 0 R
+/Resources 3070 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3019 0 R
+/Annots [ 3059 0 R 3067 0 R 3068 0 R 3069 0 R ]
+>> endobj
+3059 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 626.41 206.372 655.475]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3067 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.635 558.688 163.823 569.592]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3068 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [335.397 511.318 362.844 522.386]
+/Subtype /Link
+/A << /S /GoTo /D (main_fold_space_dimensions) >>
+>> endobj
+3069 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3073 0 obj <<
+/D [3071 0 R /XYZ 90 757.935 null]
+>> endobj
+3074 0 obj <<
+/D [3071 0 R /XYZ 90 733.028 null]
+>> endobj
+2402 0 obj <<
+/D [3071 0 R /XYZ 487.765 514.471 null]
+>> endobj
+3075 0 obj <<
+/D [3071 0 R /XYZ 90 498.487 null]
+>> endobj
+3076 0 obj <<
+/D [3071 0 R /XYZ 90 396.105 null]
+>> endobj
+2767 0 obj <<
+/D [3071 0 R /XYZ 90 373.171 null]
+>> endobj
+3077 0 obj <<
+/D [3071 0 R /XYZ 90 373.171 null]
+>> endobj
+2813 0 obj <<
+/D [3071 0 R /XYZ 491.351 284.113 null]
+>> endobj
+3078 0 obj <<
+/D [3071 0 R /XYZ 90 268.128 null]
+>> endobj
+2814 0 obj <<
+/D [3071 0 R /XYZ 203.822 157.197 null]
+>> endobj
+3079 0 obj <<
+/D [3071 0 R /XYZ 90 141.213 null]
+>> endobj
+3070 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F8 540 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3083 0 obj <<
+/Length 1900      
+/Filter /FlateDecode
+>>
+stream
+x��Zmo�6��_�O�
�
�%fÀ�eú���S[��4Bmɓ�&��;�ԫe��ڡ��I�Lyǻ�#��
�~�<�O�~
����Tz�Oa/�	J���{���tF0��Ŕ`?����Ŕb?]=��e]�_gQ�p~�����m�����Wg?�KG�
+a�R�w�Kgd3�:�d(D��:|?&��*���
+
���z��
+m���7:�����>�	�PfdN^�'N��
)�!������{�-��+#�ܕ��
�
�+�r���M+dϴ�!,���]l�$w��VO�kM�l�L�G%�T���Y�,m#MV�?�!8�LV���".�3bw��� ��<�
+�t��X��+n�r��ڵ���DF�7#<@�qhH²�^��
+�Q1d9�����Z�����m�u��i2��E��DE|��T5��Og
�)N*eb窋(�O{��4�V�t�JA��ǹ�++�O/�@(͘�H
+
��
 �������X
�

+w*��y?ltR:#���Զ���CBb5�
+׶�Nӕg�`Qī8�Qv���"`��?$��;,��̀#�0#)�L��V/>��˫���5�ˀU�5������$�_�:�Y�P�p�x2�v at F
�J�*{|��N�"^�z6��dش�P�4���)A*p06j
v8%P�Y�:
R�@��ⵖxDK.ǖ�25���X�kD�S����4
��I��Xo�m���W/�lH�\a��eթ+Q"�k0�("�$�
7l��m�
�,�`�����f
#p��9���y:�&��ũk�%�D ��I9䶑_�yq�!�`2t��Ҍ:"��CiF���k��H�	aݼ�3dQ*n
�͇F3�_3�PqH5��@���;d�T�1���~�1��dP?T~^��v�E�{n6Yz�!���S괏
�L�thR!X����՜1��3�.H�ea���o�9x�
+Ƞu��D�|H&d�VFIa���8��WA$����ok�R:I�8HzӋ���K&��+��El�J;�y�0$� ��
x�(`<����j	7qg�V��yH�E��r���mltv�fk3-���lӒ�,�������p
�:*�3�R!E�;Ju��|�2�
�loe�U�Q��]7�0�}J�?�ݩ�?���p�e���'��
+�C��c;��Aboa�a;̗;L�b�>��ك��
xZ�0���SX�G�G��ޅ����`�R�/�;�ء�@�(�`�H9��t웩�8꒶:НC�T�p�k�fV��4�ƊH�\@��[����	L�s�P�R�ѝ�p��d�F+�pt�-
�;�<�~
�N�H�*�f��;
VV��j<B�=d A�c��
U3
+��)���Ʃ-�Y��r�~��1��Pm���
PN����6��v��e๸֨Xo�X
+	D=V*mI%�C*������zC��Cj��3�� Ò��f�j�ĈO���ˆ��#.���9��i���pG-��Rs��>��h��qF��m\
[ڧb8�C�G�<���qwgCa.� �8Ą�<,��9,��
���d�a�Rc{ʪټq�% No�x��.K����=)	Dx:)9���NJ�:�G�����r7
>
��n�p�4ڊ�kK1�)V���I@�b���$ MYU23�s������V)�'�$
��an�}s
��j�1�����+�f�?���kȩ	�.\
`q
+Y��X����u���;�3����م���V�ڗ��͑����^�ѡ��%L��
+f���{����Ww�ξ�����T?�K�m�jJ�OF����!<���^/��کh���U�_&�_6�%!E�ف�-�������
Z�h�ě
���f�:���3!��H��7���:�J�81�X�����1�
+endstream
+endobj
+3082 0 obj <<
+/Type /Page
+/Contents 3083 0 R
+/Resources 3081 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3088 0 R
+/Annots [ 3080 0 R ]
+>> endobj
+3080 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3084 0 obj <<
+/D [3082 0 R /XYZ 90 757.935 null]
+>> endobj
+2815 0 obj <<
+/D [3082 0 R /XYZ 485.373 705.441 null]
+>> endobj
+3085 0 obj <<
+/D [3082 0 R /XYZ 90 688.714 null]
+>> endobj
+2816 0 obj <<
+/D [3082 0 R /XYZ 125.554 453.796 null]
+>> endobj
+3086 0 obj <<
+/D [3082 0 R /XYZ 90 437.068 null]
+>> endobj
+2817 0 obj <<
+/D [3082 0 R /XYZ 438.998 278.934 null]
+>> endobj
+3087 0 obj <<
+/D [3082 0 R /XYZ 90 262.207 null]
+>> endobj
+3081 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F72 404 0 R /F100 1390 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3092 0 obj <<
+/Length 1857      
+/Filter /FlateDecode
+>>
+stream
+x��ZYs�6~ׯ�SK�X0�#�t�9�i�v��}J2Z�cN$R�����]�&M�Tƹ&~"A�����Xb��'��'��)�d$����g��$A��|��	Ft:#c�lJ�$�`~6�؏W�Wv���E$��
=~:ul�������i�%�#e4L�I�9Қ�����=2
"L�~��dl������f�6�yi/m2%ڷ��g�'�;��g��&�`�d�
+)�x���~��%�?�0b`�u6j�q���^M���k�츖2���5���!�O�l�bw�U��A�7��6
2�(a��M���
+�i�l�״4�&ҚZ#�M9 ��}R$D�cn����BI�c��	�)�i���Ґ`�I�p
�a\tŗ�Ua���(���R�ڴd�i��Ħ�$����1��?�����e2�
���8��bތdD����a�J��j�7���jW�	�u��(�QR$ �fD!	��o��"��ab�C��9�i�{����a����-�]�
�=PL畧`�
@5ê�)�ĀY�Ⅻ~]��3Ƶ��כ]����{���/�\��zJ|����m��]��aJ

���-��v��vSHxre�
N�������&=@�0�%�`Q�,����X����p����&�Ѳ�?��F3@iL;>��U��QT@$vm���f��	�'E �5d#������j�
�
���Q���U��Z�w�_������'��+�/U`d���
+�.�x�K��s^B�
r@�.*��>V�X!���
x:��


xd�`�u�8d��;�S��p�
���]5�Bn
a�Y���
��T
ؖi��|.!r�:�����A
հ�Ր���=�`;���
o�fCf
+6`� k�%쳒�I�v�T�:o�U�z�%���i��m�R".L����'�VD۞�� rq�b��'���6��d�T}�XH
Ҭn���}��r`)E��:hZ����:�]��� ��
+�̭X�\�i����d�Y��ء����!�0�0;�R�C]��>v(� �%x2��E
h����h���M{3U�B���j��e�#q�;e��6�1B`ĩnB��r��
`)m"n�H#��@�D�iC�]�b�u/�՟��2�*.�hFv'w�8	��h���Mf���<�2�	��;|6�"��Y���f����R�f���L�ge�g���hJk���d��������b{z��	��1��(�W�pZ)`"����!N+���23t'�Hm-b/u�d���R��
�nK�Hb5���Q$��l,���^Ëb��3{�� %�b��0��:X�5�
*
V�!rh����� �pJ�C��
9������pA
+
h����&?�.�&X
r�i����
�
ч����ӪI9���t�9�ɘ��SvG?9����(�MƐ�k����S����0N9�q���q����f�\��t=�t/
���t��[V��,v���ս��e��kV�3j!��{�J	!��K�.6eת�
�� M_�ķ
+M��
(*t��5 �15 ��᩷ĊC�h
��}
�uO
��j@<��V
�7j@���_"f�ڜ�٥(����f�E}n�\ �:���pn�?��pn�
��o���Ղ�Q� =�$��Z
S
��� ~���R��K�a扳+�^����!�;Q���x ��=Q�>��~=(5(��~<X~4X#�.�vo%�
�tc��k̼Y|��7����ǩ~#�.(�R�
}p�l����
� 
M
��_Y[�����+���d���%�"\Kr���G�����h�E�(�$(LO7��i�i
�	�앧�,�뵎ˊY�B�w��?���
+endstream
+endobj
+3091 0 obj <<
+/Type /Page
+/Contents 3092 0 R
+/Resources 3090 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3088 0 R
+/Annots [ 3089 0 R ]
+>> endobj
+3089 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3093 0 obj <<
+/D [3091 0 R /XYZ 90 757.935 null]
+>> endobj
+2818 0 obj <<
+/D [3091 0 R /XYZ 125.554 663.906 null]
+>> endobj
+3094 0 obj <<
+/D [3091 0 R /XYZ 90 647.179 null]
+>> endobj
+2819 0 obj <<
+/D [3091 0 R /XYZ 438.998 489.044 null]
+>> endobj
+3095 0 obj <<
+/D [3091 0 R /XYZ 90 472.317 null]
+>> endobj
+2820 0 obj <<
+/D [3091 0 R /XYZ 125.554 237.399 null]
+>> endobj
+3096 0 obj <<
+/D [3091 0 R /XYZ 90 220.672 null]
+>> endobj
+3090 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F72 404 0 R /F100 1390 0 R /F104 2229 0 R /F13 581 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3112 0 obj <<
+/Length 1377      
+/Filter /FlateDecode
+>>
+stream
+x��Xmo�6��_!`@&5CR�$ŀ�]7t+�5ޗ�E��L,Lo��ޯ�Q$%YV�A�O�,���=w�
��;;?�^�f�o�$|�;�[G`'�	�8��s�����`�݋9�nTe��Ŝb�H�����ߒ�*����_>����ײj���8j�|A9v_�Q]���VVs�2�e�̰K(�Z������=#`vHk
+P�q'�fW������9`��]�*s��7u.g����-�ܢ
�>�n�6ƲuRɸI�\�����ϣ���/I�k�I]ʸ�S��7{���L1A�)�����H��G��V8
J��,�O�~�c���EVn��,cOT�KY�Uf���I~7r��YY(����9��~ݤ��r�c�hh
l�OxĮy1Ð� �L����%��8�Ga���}֐���r}�1q
�ED�.�)b�`��*T��� {��A*vԾ���/���R�Q�R �� ����]����G��UI�Z#ֻ�TW��s0�C�=^�o�/7Q9�
��!����H J���|��*� �
O_^L�u�c�)�?&�=�SO<�=��G�@LzO<�W�~C���. �EaC�ž��J��^���QP��h�~�R�]�&�L�
�G:�Y/�m2
�C�"
)
���i�;R�"�f2o
+
�f�̊q�w�]˺��������ͪ�FRx[�i��o�ɤ�T.ۖd{�
�AT(G\5�HM��V]-8hFY�h���iK��Z$&
��&{�7@�ơ�!�Lu�]��������/x0�h�
�Z�]L�R� /pމ1=4i��K�8ݮ�HR��ց��8��8
+��s!@�w��0�*�h�s�*�v�/U��ƍy�ƞ���?�5-���Uw�>�Ӆ�	>�ڍ|F!��s��

YE�!��w-�������k4i�QkH5V�!�\lo�$֐�ev#M���
c��� � O͈
]�
[������6m�j��B�	!.z���
+x=T=�����߅�!H�	��r󔘽�ô�/<bG[Y���
j�V��S�*��B<�$�� �3$/Hh���ܜ
+w�I���e��[��
�n�|�<��^D���G<G��
Q>��g��ɠ$$'�~�Y�g��&�`Q�'u7��0�8N�I'�����4u}z������	
ʦ� ��
+����2���@M���
+a
�n�K��iB��.L0挻: cqW�k@
w.NS��0 �'�8ٓ&_�Bs��U��y}��j5��H7�f��7Բ�^�ɦ����TN������I%	���R�t�~��ث_g��[�z��ۦi����n�Cq��yRV(i�a�>?
�(�f�ޑ��H*�ՉT��;���/]l�p
+endstream
+endobj
+3111 0 obj <<
+/Type /Page
+/Contents 3112 0 R
+/Resources 3110 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3088 0 R
+/Annots [ 3097 0 R 3098 0 R 3099 0 R 3100 0 R 3101 0 R 3102 0 R 3103 0 R 3104 0 R 3105 0 R 3106 0 R 3107 0 R 3109 0 R ]
+>> endobj
+3097 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 441.925 177.053 452.829]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare) >>
+>> endobj
+3098 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 361.536 198.921 372.067]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a67b4e0eba7692bced073431cd3cc22ae) >>
+>> endobj
+3099 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 322.309 198.921 333.213]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a5ebec8f5ff32009c4cf98dead90f4a3c) >>
+>> endobj
+3100 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.258 322.309 274.188 333.213]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+3101 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 283.454 198.921 294.358]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_af2ec3c62388f9aef1414a527e82cd1a7) >>
+>> endobj
+3102 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.258 283.454 311.268 294.358]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
+>> endobj
+3103 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 244.974 206.669 255.504]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a97b2101d371edae52746a53cf34e4b67) >>
+>> endobj
+3104 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 205.746 163.215 216.65]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a35ea0c10995c89f8a11a2e8bb5dc7f17) >>
+>> endobj
+3105 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.552 205.746 275.562 216.65]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
+>> endobj
+3106 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 166.891 163.215 177.795]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a6ab41afc79135511037718442fcad4d4) >>
+>> endobj
+3107 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.552 166.891 238.482 177.795]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+3109 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3113 0 obj <<
+/D [3111 0 R /XYZ 90 757.935 null]
+>> endobj
+2821 0 obj <<
+/D [3111 0 R /XYZ 438.998 705.441 null]
+>> endobj
+3114 0 obj <<
+/D [3111 0 R /XYZ 90 688.714 null]
+>> endobj
+937 0 obj <<
+/D [3111 0 R /XYZ 90 565.972 null]
+>> endobj
+146 0 obj <<
+/D [3111 0 R /XYZ 90 559.372 null]
+>> endobj
+3115 0 obj <<
+/D [3111 0 R /XYZ 90 460.899 null]
+>> endobj
+3116 0 obj <<
+/D [3111 0 R /XYZ 90 380.137 null]
+>> endobj
+3117 0 obj <<
+/D [3111 0 R /XYZ 90 380.137 null]
+>> endobj
+3118 0 obj <<
+/D [3111 0 R /XYZ 90 341.402 null]
+>> endobj
+3119 0 obj <<
+/D [3111 0 R /XYZ 90 302.548 null]
+>> endobj
+3120 0 obj <<
+/D [3111 0 R /XYZ 90 263.693 null]
+>> endobj
+3121 0 obj <<
+/D [3111 0 R /XYZ 90 185.985 null]
+>> endobj
+3110 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F79 505 0 R /F97 1188 0 R /F23 368 0 R /F107 2332 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3139 0 obj <<
+/Length 1808      
+/Filter /FlateDecode
+>>
+stream
+xڽXێ�6}�W(����KR�.��@7��)�7M�-�k!��H�:��
�dI��d��n�pf��̡�s�`���r>9b'Fq@g�tb�A�g�:\��?���{5%��՚�\M)v��~%Ҋ���-*^�_\\�_���o�_ұH� ������_�ޢ�m����Ban��zĈ�Os^��e؝Oc��&��o��RTS��H�ULX�H����ɗ	3�!*,D�ǜd=��	;)��`�ő�S�֎O=��λ�_|2��C8`mf=DLn���g�H��D�T٦��Bʂ�!�̨�<?�v�+�ñ��h�wS�\
ޭ���Q5�G�i›)q��eY鹍5r����鯻,EV��/�FT��	��h:��}ztE�NgEQ�w�2���U.Ҕ�MV�d�2:BP�L��M�"���7�����vY�R��d���g��.���2h�s*�S����Q>����޲jjf�ٔjYQբ1��5�
+�*ɖ f�q 2X
�,�dNr�ǐ�aF���<YA���q�I��a��W2%�F�D^f�FE�t��vY��#�]q��M�ȅ
`�(��Ba��.�
o�m�+��Yn����뗓a袼y�
��.��~�

�
+zy? �h��K}]�2�A�]��Ƌt��U�K�F#�4#@#�sf
E$�R 5�V���ۋm��ݯ�L�kQ4����L�����w0�Hb/.���
Y�
OgA at e
+�F��SX�|N*�'��q��=���G�#3; � -�ڋ�6��ð�|�*�;��ɸ���u��r������{�Z4�J�XQ�B�8��aQ�Ê:#�p������}G�8;4 ��
��� 
����=�؈"ݳ���n�9E��%#&�h4�6]
�X��*�GܠTLkfx�^�<-���Lߊ/[���`��*���ߙ3�	@

Tp�!u�Q�*QoT�l
����i �Rn���0d����E��3�vE=�<�G���<�tZ��� }�#!�@$�Z�H�yi�F�ދ�<U�}��dc���v
+����-�P����)�7y������ύ1׮��L��� �3X%r>B	����=juK������{h�Vh���J�X�
J�R+
�U�
x�,�\���7��\\�;$���E��Xl��#�l�G4��&G�U��:AT3�1���D�8#��c��1�����
C��	}C����	C;�
+#
���$�w��ozrQQX�D�5t��ޢ]��2l �hVV��Ey5e�=h�
+H���@#��֛��H�m*F�N
�l

SK�u�.�=;
CQ�:��bhC�s�]�Yb3
�2���ص�JQ`K�*�c�0�͔Ę��������f�����39�Bp��[px�����T���2�ӑz-����Һ{ɠ�
��6���F�&ۋ�4�p�d�a�����]+�6�{�w<�p���0&��<f�}?%� �d\
<F�k�ՈP|�J�?nZ��
]E
+��

Z�,�lh,��"5=7;
&h��y���!-�o�@Ǒ��3ꡘ��NQv��Ʊ��p�G���z��D��h�?q�6�Id#�H��(��@v������Z��Q ��̿��s���F�����^
tt��f��3���d��'�{ZB/ ���M��1�O�G������_� �$���DT?� �F�?HƆ}�J
��2�Vp�G����ߵ�~��dLٿ�E{��x��"u+S1"Dƈ�w�B����ػ�'JO�%H�}Q��fsq~���PR�m�m*�5� 4��Q�
+lא���U��j7�\+e�����ҳ�
+endstream
+endobj
+3138 0 obj <<
+/Type /Page
+/Contents 3139 0 R
+/Resources 3137 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3088 0 R
+/Annots [ 3108 0 R 3123 0 R 3124 0 R 3125 0 R 3126 0 R 3127 0 R 3128 0 R 3129 0 R 3130 0 R 3131 0 R 3136 0 R ]
+>> endobj
+3108 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 627.951 191.727 638.855]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
+>> endobj
+3123 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.367 259.996 219.683 270.9]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_acbf26ad2a67dbfbd24eb9c89448a793b) >>
+>> endobj
+3124 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [166.762 179.234 216.096 190.138]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a9e6044d3d1b8cd66b7e150763a0cce2a) >>
+>> endobj
+3125 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.912 179.234 255.099 190.138]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3126 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 140.753 182.144 151.283]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ad02ce2da26b1d9dcd0d45042b9f5c3e5) >>
+>> endobj
+3127 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.959 140.753 221.147 151.283]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3128 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 101.525 205.586 112.429]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a1d8eb71bd67ae50436968e7323bbeb7e) >>
+>> endobj
+3129 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.402 101.525 275.045 112.429]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+3130 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [343.896 101.525 389.913 112.429]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+3131 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [408.125 101.525 454.141 112.429]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+3136 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3140 0 obj <<
+/D [3138 0 R /XYZ 90 757.935 null]
+>> endobj
+3141 0 obj <<
+/D [3138 0 R /XYZ 90 733.028 null]
+>> endobj
+3142 0 obj <<
+/D [3138 0 R /XYZ 90 614.377 null]
+>> endobj
+3122 0 obj <<
+/D [3138 0 R /XYZ 90 592.066 null]
+>> endobj
+3143 0 obj <<
+/D [3138 0 R /XYZ 90 592.066 null]
+>> endobj
+529 0 obj <<
+/D [3138 0 R /XYZ 90 384.043 null]
+>> endobj
+150 0 obj <<
+/D [3138 0 R /XYZ 90 377.443 null]
+>> endobj
+3144 0 obj <<
+/D [3138 0 R /XYZ 90 277.067 null]
+>> endobj
+3145 0 obj <<
+/D [3138 0 R /XYZ 90 277.067 null]
+>> endobj
+3146 0 obj <<
+/D [3138 0 R /XYZ 90 198.208 null]
+>> endobj
+3137 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F100 1390 0 R /F23 368 0 R /F8 540 0 R /F72 404 0 R /F21 2359 0 R /F79 505 0 R /F97 1188 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3183 0 obj <<
+/Length 1888      
+/Filter /FlateDecode
+>>
+stream
+x��Z�r�6}�W�ɥf, 	��$�I\��4�V�f�
��`��R���~}H�us+}/�=����v�a����~�䕃5��m�Z�FcXsl��A��P����n�`���.���E�w�5����w|��ޛp������e����}�9�Ķ�-��L6i

+�u����)4�u�_W1Y��l��y�gP�����y�����7W��g]��<�#�Չ����~�1X#�5��
�jA���kCx�Z��d�6)[E�e�p
iם?;XYv�*-�4�c}
���9���M��o at Ab��
�3d�\aJ�~S6��I��V���;),O}1Kq;
#�%z��I,߄����A2��|(|�L����3��uMG��8��ňC���7�(�-�6rY������\�	�At����
�u*!E6n
�D�Q���jV9/��� \H5FIVX�i�pj�[�L� �q5��(�-�Y�
2�^�M)�Y�f�B�Q
	��4�0�oG�.�``�ϫ
���碧GMD
[�����/�AB��=
+�`�$#�^DIv���l!"��8My�n�(D4��)^)����M�b���ߎe0�ʔwG�����%��kPA��M�Q�)C�$��I���,���l� �����f��q�
ia�2/��*/�mmm�X&��'x��X���'���������RqcV��)��
+&��YA�aUV �����
+�A"�ę����»���6w�C�얯J
�W��\)�*%��KM���fn`
T�Z�/�\
�U|7����I��@S�O
ٸ^���0os[�cd.:v��0
H}b �0��_>�
e��~�u-d����	i��do!K��54U��(4k�d�4ͺՓ�0�U:��,�

+C��>-���< ���#���W�����
��Xp#
%����@�
x%�ER�#O�
co0-�[�Pg�(da�.�e/�j@]w�ʫ?�`����
��hcY���1���Ӣ�Ų�P�,~:��a�x�#?�Ŧ�V��Ǜ�.0�mx����c_رP��n�������J?�������_YX�R$-�3-�ֶˋ��i���m[��m��+R�볋
y+�l���G���ĵ;���\d��3+��I�-� �Z��� �yc�/��a���
9��N8�Y�^	�c�^f�nji)��ڿ'z� u`��
����9G��5k-�@R;X���/����=�������Yˈ`+Ӥ�
}茙�O��y��(-�k�b[_ M_8��9_\��C
���H�)U�TW���,
7�,E��RL5��F��n�B
��g:�q�|���8 �s�ы<o�TP/�'~�v�b
+��WC�ta[`�%��k̎
M�m�
�#�n�?��ο�`��XD��G<ZQz�����]|<��>���`d�D/��h�ܹ���^��	�U�ϖܢ��%◧<E�����B���T��u#-l
1��a;��W`���ѴkS}�)B��$���'-[��v�_��䝽{������G������:�WT<H��|iL�!D����
�
LD' �lm��l�o�s�
�|l�D�!�Ft�G��U,�����!���t���-�-	,
+�@$A�����:��i�m j�e�8R_�rC�e�J�x��$j���|~
f�@jhӳ[�;�Ύ�D:K'�
��"�"�e�uDǮ	�tÙ��!�a>�y�����_%� ���R/7�hq�آ��vlf#өa
+�H/����6�Z�&Ć^@��$�����!̀+ȏl(C�*H���.�9d���e���|T��ȇ�ɿ
���֏�U�M |/D�,��#BV��3���y�G伾i��9cN[�όwW����d2AA��
�
+��4
�,��9)��ζ�7e���.�KqK������
+endstream
+endobj
+3182 0 obj <<
+/Type /Page
+/Contents 3183 0 R
+/Resources 3181 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3088 0 R
+/Annots [ 3132 0 R 3133 0 R 3134 0 R 3135 0 R 3150 0 R 3151 0 R 3152 0 R 3153 0 R 3154 0 R 3155 0 R 3156 0 R 3157 0 R 3158 0 R 3159 0 R 3160 0 R 3161 0 R 3162 0 R 3163 0 R 3164 0 R 3165 0 R 3166 0 R 3167 0 R 3168 0 R 3169 0 R 3170 0 R 3171 0 R 3172 0 R 3173 0 R 3174 0 R 3175 0 R 3176 0 R 3180 0 R ]
+>> endobj
+3132 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 685.196 205.835 696.1]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_aa7961325727c376428ef2f9431e0c204) >>
+>> endobj
+3133 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.651 685.196 275.294 696.1]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+3134 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.145 685.196 390.162 696.1]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+3135 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [408.374 685.196 454.391 696.1]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+3150 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 635.689 191.737 646.593]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+3151 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.236 635.689 237.396 646.593]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ab76731fc33f60619d339fd146af90e7f) >>
+>> endobj
+3152 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 597.142 191.737 608.046]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+3153 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.236 597.142 284.996 608.046]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_aac61a0c0f3a687ef1d79d9014238554c) >>
+>> endobj
+3154 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 558.594 198.363 569.498]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+3155 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.861 558.594 250.646 569.498]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a319084c6ac93db482a8742a58e2e01f3) >>
+>> endobj
+3156 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 520.046 198.363 530.95]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+3157 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.861 520.046 298.247 530.95]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a5f1ce9b2af5f6ba550cd9080ff83077c) >>
+>> endobj
+3158 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 481.498 191.718 492.402]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+3159 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 481.498 288.852 492.402]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ae627d4ce07125a5bf6dbe4c4464bfacf) >>
+>> endobj
+3160 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 442.95 191.718 453.854]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+3161 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 442.95 303.079 453.854]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_adcd50fc4fa1b8e5533d7af0513d1a833) >>
+>> endobj
+3162 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 404.402 181.845 415.306]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a818b1050a44c6fb4d635a6fc088eeeca) >>
+>> endobj
+3163 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 365.855 181.845 376.758]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a84d340c4e2a8a35e81d0fb91ff2c466e) >>
+>> endobj
+3164 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 327.307 154.727 338.211]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ac72c231542712976d1f9223d0537f5d5) >>
+>> endobj
+3165 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 288.759 176.864 299.663]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_abeb3e0b3cafb96de2ab53e985c574bb7) >>
+>> endobj
+3166 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 214.73 143.695 225.634]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ab4b097033191e38bbb59add2ebba3e70) >>
+>> endobj
+3167 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.511 214.73 213.154 225.634]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+3168 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.317 214.73 382.706 225.634]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
+>> endobj
+3169 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 180.167 143.695 191.071]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_acddbfcdd0e7dd70c2258493ef67d0911) >>
+>> endobj
+3170 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.032 180.167 189.632 191.071]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3171 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.196 180.167 282.662 191.071]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+3172 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 133.649 143.695 144.553]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a91546e88fe3474f55bc6f0eceffa7251) >>
+>> endobj
+3173 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.032 133.649 189.632 144.553]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3174 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [271.939 133.649 347.405 144.553]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+3175 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 99.087 143.695 109.991]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a3f2210364b954a8d532905d09bcb7149) >>
+>> endobj
+3176 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.032 99.087 248.859 109.991]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+3180 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3184 0 obj <<
+/D [3182 0 R /XYZ 90 757.935 null]
+>> endobj
+3185 0 obj <<
+/D [3182 0 R /XYZ 90 654.63 null]
+>> endobj
+3186 0 obj <<
+/D [3182 0 R /XYZ 90 616.082 null]
+>> endobj
+3187 0 obj <<
+/D [3182 0 R /XYZ 90 577.534 null]
+>> endobj
+3188 0 obj <<
+/D [3182 0 R /XYZ 90 538.986 null]
+>> endobj
+3189 0 obj <<
+/D [3182 0 R /XYZ 90 500.438 null]
+>> endobj
+3190 0 obj <<
+/D [3182 0 R /XYZ 90 461.89 null]
+>> endobj
+3191 0 obj <<
+/D [3182 0 R /XYZ 90 423.342 null]
+>> endobj
+3192 0 obj <<
+/D [3182 0 R /XYZ 90 384.795 null]
+>> endobj
+3193 0 obj <<
+/D [3182 0 R /XYZ 90 346.247 null]
+>> endobj
+3194 0 obj <<
+/D [3182 0 R /XYZ 90 307.699 null]
+>> endobj
+3181 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F79 505 0 R /F97 1188 0 R /F56 367 0 R /F107 2332 0 R /F106 2337 0 R /F38 2120 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3242 0 obj <<
+/Length 1830      
+/Filter /FlateDecode
+>>
+stream
+x��Zms�F��_�'W���w�qiә8N2N�ص�N3IF��If*dE��{p ��k�3��Ѳ�����6F6޷Nz��w
	��Fohlp� F����#��%��U��O��U��v8���A�����؍�/_���:_{������6b������T

+���Y��-Dp)��
+%�($ތ�$�t)��^Gж�Dc7���k9�q�8mxpI�	u����^�5� �7G�d�7i}���\�``d
+ǘeRâ&
��M��֞]u�<���u�l��	E�Z�JY����j9�H���}���e ��y)���_0�^$����n%�F�Į���y��I��#/y�^͵�:����X�ςh�6�L'�9���
ˏ �0
p
+0E�M�m�
>�B�N9�������`}vwLޖ
��F�$�+;��1�L���LOr2	��|EZS��<-SY#���Ѫ�uȻD��]J@���������4��a>J����
�0�X�
jH�;����8j�T�b�#\�!��?Z{��8���
/�,�z�u�����	�
{#�{+�
a�?
���G�Tթ��!\��m����G���U�4��#�1Q;Ȳ��
i�*d$2�%9ʑe�Z'S��΂��<��;�E�P�)�c�JW��:!��
|$	��m�
4o��;9��ܹ��9���a���_n�1KG���A
Y���=TQJ
���DE7�K*�|��y?��<�U�^]]�C:��O//�^����
p�͘U��ˋ����>m��L�����(�V�a^<9�iJxD f��'5e<��}�
s�I�
��"�,�U�
Ѿ�Rw�x�`�yF���Օ�*lkm0)
%$G���	&ƶ
&e��������
"�H�
P���"���f��S at y��i�+=��Aci��^l��Y�Qa�돟����k���H[�MA斉#��ݡ�nC�'"b�h�s�"?Ҷ?���
0G�g|F� n@�)J�)ɏ/���?�5?^7,�5��]����8q6�_��V
'�j�&�8���x޿���'��8��tm9V�z
��ң�
D(g���*�SQ̡�P��FW�

�5�=ps<v��3ͪs��+����q���@���=��p��b�-�At��KPv�L}�>φQ����;���'ᄃcfǼ�,0���`"��S��ܛ)��� /�pqV��c�T
�x�������� HY�ݠ1�3��RfޠEm���h�j3>���a��4n�ߎ����s5D�̲fi��g�T���d����VQd��?�737J��
�m��;�=�ӻ���^�Q��s0�n�P��
]�י� �wM�f��
9��:��M/��%Ewu8
���P_��p^�Ĩq�^Md��bή��tE_�*��ɢ(r=�/�\LYd,��$�2��
��!��y���K�̪�z�Sx�0Q崁��-��!8L#{�9Bf�
i��e�^<>��$nbD�2�W@н�?lZ,^:}MH�1��Ϛ���x�'R�ˍY��kk�A

F��
���V;,�OKe�lh�
+~�����~���$f�_U^��Tn�NL���xE���W�#�
��t-*a��b��u0��ŤDu�*ݫfXƉ������{�����4��q8�l{Ab9���'F6��8�~aT|Ad#�MG�Š�cVm^��!��b�W��?����#��O
���
7�{�ʜ��e�D#y��5�Y�>��o�8�M1�.��8Ƣ���K�����l6C^� �(F~z
E��M�#�"��^i��z?��W�������I�
+endstream
+endobj
+3241 0 obj <<
+/Type /Page
+/Contents 3242 0 R
+/Resources 3240 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3088 0 R
+/Annots [ 3177 0 R 3178 0 R 3179 0 R 3200 0 R 3201 0 R 3202 0 R 3203 0 R 3204 0 R 3205 0 R 3206 0 R 3207 0 R 3208 0 R 3209 0 R 3210 0 R 3211 0 R 3212 0 R 3213 0 R 3214 0 R 3215 0 R 3216 0 R 3217 0 R 3218 0 R 3219 0 R 3220 0 R 3221 0 R 3222 0 R 3223 0 R 3224 0 R 3225 0 R 3226 0 R 3227 0 R 3228 0 R 3229 0 R 3230 0 R 3231 0 R 3232 0 R 3233 0 R 3234 0 R 3235 0 R 3236 0 R 3237 0 R 3239 0 R ]
+>> endobj
+3177 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 709.107 143.695 720.011]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a7fff251a8cd2ecd8b928175af94d7069) >>
+>> endobj
+3178 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.032 709.107 248.859 720.011]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+3179 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.388 709.107 330.333 720.011]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+3200 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 674.544 143.695 685.448]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a7ded037fa4c26b2e12565d3aa2c6b70b) >>
+>> endobj
+3201 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.032 674.544 247.176 685.448]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+3202 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 639.981 143.695 650.885]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a9de293fc5ed59d0122ccd78839b1a668) >>
+>> endobj
+3203 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.032 639.981 247.176 650.885]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+3204 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [269.263 639.981 329.207 650.885]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+3205 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 605.418 143.695 616.322]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a04732c1c89db2f6d76b3b9479ec2fb99) >>
+>> endobj
+3206 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.032 605.418 255.485 616.322]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+3207 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 594.613 143.695 605.517]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_addca3baab772ce17fb5133b0c4e60c33) >>
+>> endobj
+3208 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.032 594.613 255.485 605.517]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+3209 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.995 594.613 341.94 605.517]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+3210 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 571.852 143.695 582.756]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a7e3ffa1dd9894e6418bd153a4cd2de12) >>
+>> endobj
+3211 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.829 571.852 227.989 582.756]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3212 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [306.685 571.852 382.151 582.756]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+3213 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 513.379 143.695 524.283]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_adb355a57fc1949b2ef9627d45be5f9bc) >>
+>> endobj
+3214 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.809 513.379 248.077 524.283]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+3215 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [310.195 513.379 385.661 524.283]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+3216 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 466.861 143.695 477.765]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_af623edfed6d4816ac5573f42a6a1e801) >>
+>> endobj
+3217 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.032 466.861 218.962 477.765]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+3218 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.155 466.861 317.621 477.765]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+3219 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 432.298 143.695 443.202]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a5c02cdac1cee4eda75e568ef9f550da9) >>
+>> endobj
+3220 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.032 432.298 191.286 443.202]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+3221 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.479 432.298 289.945 443.202]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+3222 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 385.78 143.695 396.684]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a2f516cd923f94296daf57c8ace328af9) >>
+>> endobj
+3223 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [187.365 385.78 298.786 396.684]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+3224 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.53 385.78 513.996 396.684]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+3225 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 339.262 143.695 350.166]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3226 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.435 339.262 195.241 350.166]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ac8a2f81fc1c5b99600d406300792119f) >>
+>> endobj
+3227 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.578 339.262 241.178 350.166]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3228 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 303.013 167.466 313.917]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_adf00a3a6522cd0b27a52ba3e2ab5c8ab) >>
+>> endobj
+3229 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.281 303.013 189.881 313.917]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3230 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 231.284 190.738 242.188]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+3231 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.236 231.284 261.85 242.188]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a286412c3f05e82abdf69c5e5562ff949) >>
+>> endobj
+3232 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 195.035 190.738 205.939]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+3233 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.236 195.035 262.159 205.939]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a7e1a00f36570e89ee95817d898587743) >>
+>> endobj
+3234 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.225 181.717 390.082 191.622]
+/Subtype /Link
+/A << /S /GoTo /D (main_Affine_Independence_and_Affine_Dimension) >>
+>> endobj
+3235 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 158.786 183.824 169.69]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ac86971c152fbb8d2d486d7396ad6b142) >>
+>> endobj
+3236 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 122.911 192.272 133.441]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a901382835b88fb9969d88eea101ae7cf) >>
+>> endobj
+3237 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 86.288 241.935 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a339a341a2f7d60de83e4feb3e8986558) >>
+>> endobj
+3239 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3243 0 obj <<
+/D [3241 0 R /XYZ 90 757.935 null]
+>> endobj
+3244 0 obj <<
+/D [3241 0 R /XYZ 90 356.21 null]
+>> endobj
+3245 0 obj <<
+/D [3241 0 R /XYZ 90 319.961 null]
+>> endobj
+3246 0 obj <<
+/D [3241 0 R /XYZ 90 246.209 null]
+>> endobj
+3247 0 obj <<
+/D [3241 0 R /XYZ 90 211.982 null]
+>> endobj
+3248 0 obj <<
+/D [3241 0 R /XYZ 90 175.734 null]
+>> endobj
+3249 0 obj <<
+/D [3241 0 R /XYZ 90 139.485 null]
+>> endobj
+3250 0 obj <<
+/D [3241 0 R /XYZ 90 103.236 null]
+>> endobj
+3240 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F38 2120 0 R /F107 2332 0 R /F105 2458 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3309 0 obj <<
+/Length 1820      
+/Filter /FlateDecode
+>>
+stream
+x��Z�s�8~��SϞ)�$[�չ��v���z3���K�a
�9cۄ���[��Ā	���xHF�]����+	[
[�;�{��w�8�>������
+|�%Vod}�	F��%c��!؎�i�?w(����R���1
�Q~���������p���%����=����(%���[�s�
+]p���
B\^�x�DE�t)�v����Y�B?�c�;$�E:�G���&�K�����U��l�
��e�p���
[#x����塵P���G]�L�O�?;�xv�S{�[!�
ΐ�z`04�"�3m��(�yZ���`���q�jxe>��2A�^�)
��F�H7�4��-�I�/���Z�W��C<�㰶�2.6�Q�a�!�e6˒Lbi���h�d�0v�A!Jc�Dyi&�Z
�,7
gL a6Rs���g��.a�Z]J'�.�lE���� ��,K�s	�|b�q�z(g�Q\
sQ�u�篘a�#f�YZ��֮��"�#`������P.t���n�L� ��#@�#�h��	�ʑ��͓N,LV�iяS
�����
��&z�i�1������;5�����K����۟
E��!l����۟
B�Cq4Hy�ڡ
~??0HF�?|3|���A	��u�
��^�H N�0
+ig�c`�WRg����7!��� �(	�sȊ�o��! ݌�t�k�!���_���&(.�g��7�����P,�U,�&fz��1�]f�(N'��E��q�
��m�>h�O5
+k|�F��lP�Ƚ�V�
*�����)"� hp�\ Y25�krB�p�Ek
+9ƚ���&�K���
+\D�=��ދ��hy$�&hM���>Cd��)����֩�G��392s���]��.U�q�M�� �c������E�����rQ����r~���eeF�[E�P��s�cv65�js�Zl��8����;�Ed��x
DD���}�l�HX4ʹX�B"��j 0R�#�k�E���4����?���%�
�����j�������ɟ˘ �a,�J`1��ӭ�XI\K�t���`�<�g^�+/�PΚOA�C$p��sW��� ��
A1
A�ڰK"����,�Qh�iVꆘ���;�2	�0a�c�A�],×�X���V�`c<�(t����K�ӗ:�)��x(��rV
PU���*G�zT��,
P��E@�9���y�R�[
�ټ�=)�����ىBZR[���߻D9Љ��I at u�-����R���BG����27-,�C��b�,2�aC̐O���!��4N�鐻��D�C�Ԗ=� 10�E����aKITK�t(��N��Y�gTmj`�6���Ohx
�1�X��r
n 4����ü��S���md�1
2c[����eq*�șTp���@
�*u<�L�D<'�9bE�6��J��
gÞ�r�kW�h�!�}{/ry�jg��Օ �qs��QZb��Ɣ�q.��ז����ݔd��!�P�I�Z��e��6ztz�
�^
z�o�^����
C�Ъ~*��S_���|��F$P�
+O�i|57=tX7���;��n͗Y0����1�De�ॻ
+鰳�%�8Z��)�о0^��GI\�6�6��=J�����Z&�_����_P����
G�;5���=�X�\Q�
�ۢb�J��Ѵ��n~�W|�74w���rH�Z���,�S���W7�
s�����/"��a�6+�Q
+HpjW���\q�z�!r���۟D���q�mU��e��%kIH�S�˲��:;[,hX �Y���l6K�V��6f
ܭ����4��U
N�)<Zw��p��G
+endstream
+endobj
+3308 0 obj <<
+/Type /Page
+/Contents 3309 0 R
+/Resources 3307 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3315 0 R
+/Annots [ 3238 0 R 3261 0 R 3262 0 R 3263 0 R 3264 0 R 3265 0 R 3266 0 R 3267 0 R 3268 0 R 3269 0 R 3270 0 R 3271 0 R 3272 0 R 3273 0 R 3274 0 R 3275 0 R 3276 0 R 3277 0 R 3278 0 R 3279 0 R 3280 0 R 3281 0 R 3282 0 R 3283 0 R 3284 0 R 3285 0 R 3286 0 R 3287 0 R 3288 0 R 3289 0 R 3290 0 R 3291 0 R 3292 0 R 3293 0 R 3294 0 R 3295 0 R 3296 0 R 3297 0 R 3298 0 R 3299 0 R 3300 0 R 3314 0 R 3301 0 R 3302 0 R 3303 0 R 3306 0 R ]
+>> endobj
+3238 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 697.372 189.901 707.902]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a70638e55ff0529f6f481db703645be05) >>
+>> endobj
+3261 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 660.51 193.229 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_abd6b88d6fd6e0259faa544106b08aeaa) >>
+>> endobj
+3262 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 623.275 238.459 634.179]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a055f3030915a1b7de0cc50761d9a3245) >>
+>> endobj
+3263 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 586.786 187.689 597.317]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a573ac186b0da77408bcb80531ca0090c) >>
+>> endobj
+3264 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.505 586.786 226.693 597.317]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3265 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 551.544 205.692 562.448]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+3266 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.19 551.544 261.312 562.448]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a8e45baf04a16a09cfa25bac864515832) >>
+>> endobj
+3267 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.65 551.544 332.156 562.448]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+3268 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 516.674 205.692 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+3269 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.19 516.674 261.312 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a3c8e578089e8420dc286b27411fde2fd) >>
+>> endobj
+3270 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.65 516.674 338.781 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+3271 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 481.805 205.682 492.709]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+3272 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.18 481.805 261.302 492.709]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a36e39f75a5b973533a044d606444db4f) >>
+>> endobj
+3273 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.64 481.805 330.462 492.709]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+3274 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 446.936 228.895 457.84]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ace7b6bb6c1aabdf57f1643e88a834aac) >>
+>> endobj
+3275 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.232 446.936 333.482 457.84]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3276 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 412.067 229.503 422.971]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_abb6e0e38bda55fc988819da21f2689eb) >>
+>> endobj
+3277 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.84 412.067 334.089 422.971]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3278 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.98 377.197 187.264 388.101]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a40ab06947d065a171792da1ce6ed2505) >>
+>> endobj
+3279 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.963 377.197 293.213 388.101]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3280 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.131 377.197 371.148 388.101]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+3281 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.711 377.197 455.727 388.101]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+3282 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.98 319.414 187.264 330.318]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a90cc17398be6745eb507339397381d7a) >>
+>> endobj
+3283 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.963 319.414 293.213 330.318]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3284 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.131 319.414 371.148 330.318]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+3285 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.711 319.414 455.727 330.318]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+3286 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.235 307.459 220.058 318.363]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+3287 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.717 261.631 186.348 272.535]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a1039be5680ea8eceb903367e1e7aa13f) >>
+>> endobj
+3288 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.523 261.631 293.772 272.535]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3289 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.35 261.631 373.367 272.535]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+3290 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.82 261.631 456.837 272.535]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+3291 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.717 203.848 186.348 214.751]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a9ffb692c7f3bd8af9b81135e38b38dd7) >>
+>> endobj
+3292 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.523 203.848 293.772 214.751]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3293 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.35 203.848 373.367 214.751]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+3294 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.82 203.848 456.837 214.751]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+3295 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.581 191.892 218.404 202.796]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+3296 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.772 146.064 187.446 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a4cd79f95aeca1043d5e56dcc194bf096) >>
+>> endobj
+3297 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.73 146.064 292.979 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3298 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.431 146.064 370.447 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+3299 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.745 146.064 456.762 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+3300 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 146.064 513.996 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+3314 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 134.483 159.485 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+3301 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.603 134.483 240.62 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+3302 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 88.281 180.496 99.185]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a5307e5cfaad0770ede6799ad31962d71) >>
+>> endobj
+3303 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.834 88.281 226.434 99.185]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3306 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3310 0 obj <<
+/D [3308 0 R /XYZ 90 757.935 null]
+>> endobj
+3311 0 obj <<
+/D [3308 0 R /XYZ 90 714.099 null]
+>> endobj
+3312 0 obj <<
+/D [3308 0 R /XYZ 90 677.237 null]
+>> endobj
+3313 0 obj <<
+/D [3308 0 R /XYZ 90 640.375 null]
+>> endobj
+3307 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3367 0 obj <<
+/Length 1541      
+/Filter /FlateDecode
+>>
+stream
+x��_o�6���)���@M��(��6`햡�e�ח�0Iv�ɒK�I��wԿȎ�8��8Y_l���ǻ�15��{���7<��H8�1FC`�;1J�Q`��#�? c�O��ə7>�Sl���<
�7�#:��\�z�:���2z7<"�!�8b�
��,��

+�к��ѧ)�����X���&���?�
����f8�Ǟ
+����$�}�a�C� �5�����o���
1� �5G�b�?�~�F ��
�,��y��aS
�c��W��]�.,-
�ch}mP.9�vX���P-d�����ˆXN5=%ai��Lޫ:E�b�^i/�+���1n�as��z��[-����n��y�mң�㧉��IQ���g�I
Y�`(w�&
����a@F�&ƀ$/�D)[�b��}��qٮ�.�% �
�b������9����3f~�T��r������O
+5���s��`B=KB�`��RTٿ6�&��@���%07Q"���(Q�O%j<����"ϗ(=�u1�!G�.|8Ĭz.��[�,�J��[*� l�]Q���M
݇
	�}���SQ�hX
^
�Z��%J�66/<y�ʺ]ܰ&^q5�Bĥ���٢�d�����h&Y�&�h�E}��:F��i��!��A[~}�H|�(T�*;y�	?�A4YV?���NJ5
����x�ׁQ�
��
8	[�#Ƚ������c��%*�WKd^.�4
����
+kԉ���B�J�
�-3κ-U
B�j��hY!P�"��],�q�T��)ݮ��
H�NH�Fo*�
Q��[�	q�w\1V��os�S�`?0�dž�sD���$C_c���Vdm���@��@=��
S�z�½�S���tG�m�Y���n͠y[�u]xqX�_�nզתu�h��?m�#�M�m?
%�N0�
9�]%�=��VnJW $�>j �
+�L���
〤���g=W�DPg�������h#�T
�/#u~���29����N�W
�\�o��*Nm
+��iAmaۏ\�����`�R[��Y�bĜ-*�'����f
+Ɂ���pl.�>ߢ�%���q �/^�����9�=ѻ�r�("�
9s���e:��}��*�WuP��r�w.�63�`�`���?MZ�K��l���P�"N�
��G)�[LP=���5cͼo�H�2�^�>���Nd�7�I0���xd:�	z��ER#y�
��>!��O
+��V~@0��6o��|�t
�,+gg�|tGI #���"��{���\	̬-|�o���K\��(�/�f6}UN'-�3�hT_ҫEٶ5�[�~��
[�z� �٦�e�4?����W`C�E|�O�]�ep;vX��G]�
u���%�EL^Y
��$l��劸^ﭿ�����|
/�
� �-�|��	Ę]�hT��<�YyT}\��Xܖ�87��}�̬zܞ,��um�
-*�W�N�'��&�'a�X�y�kTW��ʧ
m�K�z�{����pxyy��
-�h.Q���y<��H�!�؈_�U'�Y*�*�@�,�
h���T-
+endstream
+endobj
+3366 0 obj <<
+/Type /Page
+/Contents 3367 0 R
+/Resources 3365 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3315 0 R
+/Annots [ 3304 0 R 3305 0 R 3328 0 R 3329 0 R 3330 0 R 3331 0 R 3332 0 R 3333 0 R 3334 0 R 3335 0 R 3336 0 R 3337 0 R 3338 0 R 3339 0 R 3340 0 R 3341 0 R 3342 0 R 3343 0 R 3344 0 R 3345 0 R 3346 0 R 3347 0 R 3348 0 R 3349 0 R 3350 0 R 3351 0 R 3352 0 R 3353 0 R 3354 0 R 3355 0 R 3356 0 R 3357 0 R 3358 0 R 3359 0 R 3360 0 R 3364 0 R ]
+>> endobj
+3304 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 697.994 213.153 708.898]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_afe3a91955f4b6b81c8572e60b3e263dc) >>
+>> endobj
+3305 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.49 697.994 259.091 708.898]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3328 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 663.125 213.163 674.029]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a2ebf93b52454102cd99eaa211ad6ff71) >>
+>> endobj
+3329 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.501 663.125 259.101 674.029]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3330 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 628.63 161.677 639.16]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a2f964d43c2798bde1924e82d88971ea2) >>
+>> endobj
+3331 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 555.214 205.752 565.745]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ac5eb33b72a86a33d7ae4685d376b50a6) >>
+>> endobj
+3332 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.089 555.214 276.595 565.745]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+3333 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 519.972 209.627 530.876]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_aacf7b2a7e0bb5007ce8cd9506d06137d) >>
+>> endobj
+3334 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.964 519.972 314.791 530.876]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+3335 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 485.102 248.202 496.006]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_aa366a38561684a64bc0a042702534a07) >>
+>> endobj
+3336 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.018 485.102 329.845 496.006]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+3337 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 450.233 212.377 461.137]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ab85f80c281c840eedb4f228757b8515a) >>
+>> endobj
+3338 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.714 450.233 289.846 461.137]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+3339 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 415.364 216.252 426.268]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a92ef9a99d160f55e3fc44a4bd1ae78f2) >>
+>> endobj
+3340 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.59 415.364 328.042 426.268]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+3341 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 380.495 254.827 391.399]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a736577ec65f40b0637f13486e64f051a) >>
+>> endobj
+3342 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.643 380.495 343.096 391.399]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+3343 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 345.999 236.745 356.529]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ae862a635387c2458da51889c20465f0c) >>
+>> endobj
+3344 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.082 345.999 307.588 356.529]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+3345 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 310.756 240.62 321.66]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a6d2f7819b7359865679b24e683231303) >>
+>> endobj
+3346 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.957 310.756 345.785 321.66]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+3347 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 275.887 243.37 286.791]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a944e2c41213d3ea40e74930a90de97bf) >>
+>> endobj
+3348 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.708 275.887 320.839 286.791]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+3349 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 241.018 247.246 251.922]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a22f9ceb879f1c8d892f60fb3d9577d81) >>
+>> endobj
+3350 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.583 241.018 359.035 251.922]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+3351 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 206.148 230.598 217.052]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a685232ed211cce61f5d27727d979df94) >>
+>> endobj
+3352 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.935 206.148 301.442 217.052]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+3353 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 171.279 234.474 182.183]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_abd0fb1fa2293b2ca367d1ba5eba12106) >>
+>> endobj
+3354 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.811 171.279 339.638 182.183]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+3355 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [361.167 171.279 426.81 182.183]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+3356 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 136.784 193.577 147.314]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a87e906459b095e23114ee8f0025086cb) >>
+>> endobj
+3357 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.393 136.784 232.581 147.314]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3358 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.059 123.782 248.845 133.687]
+/Subtype /Link
+/A << /S /GoTo /D (main_Cylindrification) >>
+>> endobj
+3359 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 90.955 193.577 101.486]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a9ff61047ef1f0f33fe206ab471aa4025) >>
+>> endobj
+3360 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.915 90.955 277.691 101.486]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+3364 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3368 0 obj <<
+/D [3366 0 R /XYZ 90 757.935 null]
+>> endobj
+3369 0 obj <<
+/D [3366 0 R /XYZ 90 645.357 null]
+>> endobj
+3365 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3436 0 obj <<
+/Length 2634      
+/Filter /FlateDecode
+>>
+stream
+x��[Yo��~���ӄ��>�� 	�]�.�0�q�ef!�m�(���q~}�R"�C���w1/>�b]]���-
�8����닫�$4҂���6�8�� NIp�
>��hvI0���a�������f�t�,�x�sz����۷_o>�~����;B8!ȳ
��HBA�	~����
\����	��7��(f����z�i�����Lܓ��m�ψ
+�l�4�*$���^_��� 
�
.�d<X�/>���%<�1��i<Z�uQ�W���\`���o�i
(��a�@a�SR���^��z�+�y���>�:9e�;����/���`�J�e�~˜.�2�d��	5TL��[�P,���f�Àsd��*B����O
��CK� !+�Ǵ�w��3&ä�&�қ��Y}�Y�A��O at C�`/�g�t�dXTthE8C��J�C�w�qL����!�Ez���]���%�S	 ֑�ڽ�MحJ8`A�'��t
+G6F��l�������T�4��H�	��

6�ݾ�r ���4+���Ń5�;�
�}�
/`��an
�o�y��I��m�P$��PX
�
��ժ\���&ƥ��x �>2����v�7�A��	��ST�c?Ζ�	]�<upሩ�E�Q�}��)bm��&��f�˖�-��+	�b
�VI��l��?�8�x��~���#�8���Rq��Z8) o6�չ�8Oo�Ɍ��s�(_[d�`r'T8n�5s��g���;��<*���h,’ŀBP�Ti�H
��Cg��i�,�>wk�x;������h�X7v�s�,�]2��Wp��
��F��,,	�ǴH:����
�(\n�U�)UI�!����	��N�
+����
+tS�����x	��Ƙ��m�@�����Dk�r�TH_����O�]	tnr������Z�ŝFB���n�b񀵠�:I�˭o�����#�{��rO}Ba5Qn��ՠ��f�
+�V
mH�
�(�gyе]F�4Y�ckD�u�5�ќ�2�heײB�� �5� "k���]J��z[>�8?����9M�əc
�&T�d����W�_/��!$��4�Y
�B
��8�'ȯ��pd/�?�Y��o?o�(:��p~�c{���MR�H����y���۷V���.�B�P���I�<$>z�O��:��r����&K�W
��
+.�l	֓�'=�a$�fK��Lpp�e��m�s�a��]�&��̏��6��Ի*L1
:
 U�)�������6�x
o��?چ�(����D#���۴$7��[
+jD�D
+WWW�]��` �"�-�M��ԡ��P�Ab�LQ-
�y�B�*�=� A�LU�2��+@�N�2�/�,&q
���c�ed�B�!jC��}>d�W YT��z����ܚɓ �hӄ,
+��;m�̛�ȥ0�'���������+�G.�F.�� r���1Nr)�m�!r5$w 3?�
rM�c�(�K�$�W���|�ꢊ�Œ��
4,|��l�0�𴾩���.y�*��_�q�X'�G���ڸhBi
S�;jq_��$�r�9#�9� �M4�G}�q����n4ivs�7b2�@��L�Qj������Z�긕5���
���a�eX"tM�RJ�N��=
gHan��h��z��24��6�rĀ�{�P�rB�����r���HhhG��$cG'�����#�h}�m�2��0�*�11��UJPG�:�u�/����Zx��~���
	��<
�4D�ң�g�&7����A�M���`^!�]OL
Luh�(�򙧼|b�%!h2�+i�`/�F�i�@
+>�
�:H!��������� ���"���n
�GN2` ���`�vֻ��R3ĕ�Z
� �>�a�0	�zg(A��a>h&���!%�JN�!��W��
a�@U��$%����D@��]�KrD͊ !�sS��A��@!�����;-<�5�P�As;�Pl1���6��
�ӎDXt�L�����	LFc9�p�s��T�#��i�@~_L3�pH�=���NS2����Jm���`$ u2=|�^�fU���t7~,݁��t�7[�;��Q�7��]��^��v)��[�PU=���\!�x�N� �p[O@�o]�]��3�d� ��h*X�;�H6/� �<�'�.�XD����R�bO�{±��۵+c",!
�
F1=ѝ
N��
#�ׯ��!�������*9�d�7��zg�>>B�N�4o��֘8)5��׉���"���OEJ(!�>)��~��B�"w��2�P�`�`^o��E
+��yi�
ћ�ͼ��������ݑ��?�f��F
��$��V9ˎG�l`��D��j��Y{ͪo�����6��nհlp��l��J�1^����"��M�Y2�{{��,BL BA�/"{N�z�=��R��̃	�'L������/����y�^n{�"�R\* p�ڵ
+��o%��J�
1�O�)f5`��7��Y�p�i�N(�tN�����M��L�/.rsq�+{]e�w���ܿ��g����]t���H�?��p>{�=�v�O�#
�$ߟ7�-h"�� t>$��vv�+����@(=��xG��,�o��
Ѣ@�,��(-����Uk�7l��Ar����M��Zo���<\[�h.���f@
+endstream
+endobj
+3435 0 obj <<
+/Type /Page
+/Contents 3436 0 R
+/Resources 3434 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3315 0 R
+/Annots [ 3361 0 R 3362 0 R 3363 0 R 3386 0 R 3387 0 R 3388 0 R 3389 0 R 3390 0 R 3391 0 R 3392 0 R 3393 0 R 3394 0 R 3395 0 R 3396 0 R 3397 0 R 3398 0 R 3399 0 R 3400 0 R 3401 0 R 3402 0 R 3403 0 R 3404 0 R 3405 0 R 3406 0 R 3407 0 R 3408 0 R 3409 0 R 3410 0 R 3411 0 R 3438 0 R 3412 0 R 3413 0 R 3414 0 R 3415 0 R 3416 0 R 3417 0 R 3418 0 R 3419 0 R 3420 0 R 3421 0 R 3422 0 R 3423 0 R 3424 0 R 3425 0 R 3426 0 R 3439 0 R 3427 0 R 3433 0 R ]
+>> endobj
+3361 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.391 720.235 247.177 730.141]
+/Subtype /Link
+/A << /S /GoTo /D (main_Cylindrification) >>
+>> endobj
+3362 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 687.036 223.465 697.939]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a3daaa36a6bf749e0b4d66ce57878e2d0) >>
+>> endobj
+3363 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.802 687.036 269.402 697.939]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3386 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 652.166 229.552 663.07]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ae70fafb10013762e436a434564d7e931) >>
+>> endobj
+3387 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.89 652.166 275.49 663.07]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3388 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 617.297 266.673 628.201]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ad9dba7a094763a47be44e246c1120fa7) >>
+>> endobj
+3389 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.01 617.297 312.61 628.201]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3390 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 571.469 217.109 582.373]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a161c87c94b78fd1111365e185d0a3ae7) >>
+>> endobj
+3391 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.446 571.469 263.046 582.373]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3392 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 536.6 271.126 547.504]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_afb683aefdda7a1c5dcf92ee2a03daf81) >>
+>> endobj
+3393 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.463 536.6 317.063 547.504]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3394 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.863 523.971 326.259 533.877]
+/Subtype /Link
+/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
+>> endobj
+3395 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.984 490.772 201.742 501.675]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a06c2ce3f0789aba0294da43628b50226) >>
+>> endobj
+3396 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.442 490.772 243.629 501.675]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3397 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.079 490.772 371.329 501.675]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3398 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.306 466.188 269.939 476.093]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
+>> endobj
+3399 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.288 432.988 212.768 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ae1509738a054a1ffeb070a35c41db257) >>
+>> endobj
+3400 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.771 432.988 252.959 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3401 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.896 432.988 375.145 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3402 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.401 408.405 277.928 418.31]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
+>> endobj
+3403 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.443 375.205 250.099 386.109]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_abd266a7d827fb77e09de63dfea2f9d58) >>
+>> endobj
+3404 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.258 375.205 289.446 386.109]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3405 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.772 375.205 379.512 386.109]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+3406 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.747 375.205 513.996 386.109]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3407 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.304 349.413 439.335 361.578]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+3408 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.207 317.422 266.586 328.326]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a17182f3f0d9242d5821ba59b2773ae55) >>
+>> endobj
+3409 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.509 317.422 309.697 328.326]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3410 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.494 317.422 408.234 328.326]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+3411 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 317.422 513.996 328.326]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3438 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 305.466 171.361 316.37]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3412 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.237 292.838 480.87 303.794]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+3413 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.091 259.638 250.748 270.542]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_aace7b1f85601837554656295b9c90dce) >>
+>> endobj
+3414 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.068 259.638 357.317 270.542]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3415 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.405 259.638 456.145 270.542]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+3416 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 247.683 202.344 258.587]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3417 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.005 235.055 446.071 246.011]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+3418 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.017 201.855 265.396 212.759]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ae8b96392adb007f1c59758cba8cbc886) >>
+>> endobj
+3419 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.568 201.855 375.818 212.759]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3420 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.239 201.855 478.979 212.759]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+3421 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.616 189.9 225.866 200.804]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3422 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.222 177.272 466.67 188.228]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+3423 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.933 144.072 239.984 154.976]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_afd20bc6142cb1206b51b0b449ebf4273) >>
+>> endobj
+3424 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.633 144.072 280.82 154.976]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3425 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.855 144.072 405.104 154.976]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3426 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 144.072 513.996 154.976]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3439 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 132.117 171.361 143.02]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3427 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.257 118.279 432.092 131.437]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+3433 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3437 0 obj <<
+/D [3435 0 R /XYZ 90 757.935 null]
+>> endobj
+3434 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F79 505 0 R /F107 2332 0 R /F97 1188 0 R /F56 367 0 R /F105 2458 0 R /F41 370 0 R /F106 2337 0 R /F37 2638 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3492 0 obj <<
+/Length 2635      
+/Filter /FlateDecode
+>>
+stream
+x��[ms۸��_�O)5� H���ҙėt|M�4Vs�In8��l)R%)���x!EJЋ
]���C"�\,���bc���Ο�^M��߄؉P����:v€ F�3I��.���	���0"�M�YQ���^�U��n��Z]\�*�<���
!=�$
|�O1�N�
&�IhGp5�d�B�w4��ċZ��<��ј2�NFu�l�'��O>�[Q�wE1�Ga�%
�L�^O��uF�
v��
Q�1g:;��3vRx����qg��f�O=�̝볿�a�Y��0
�r�0"�
���~�����q��1�?(Mg�y'e��p�{S.�T�qr;����1-D<�D6K��&[9�
fx'K�ӈ�Β��2ܓR1x?��
4y�,�f����6+DRů��:+
�`��X�s��cO��[�cI�p���"f4�g^�g��y��e):�N3Q4qS%YS_\(��J:�v"I����eEҔՋ�e!�����b����H0�W|DBB��:^��
+pm�gnS�P�ao���3� x�*� 󖦹�jR����г���Е�%�N����nyk�'8�<]�/��^O���b�tzџ�b��ȑ&r45�`��>c �M�9�CQ�!9u<xb�3����
�V�X
Q`�-PHg��$�I9qB
j��&��&�H�b�¢�t-� b��PO��b�w1�&��bX��(�[J֣
{Ъ@��TS?�X(�C
�I_�T%
+q0���6@T��k�� C�H�Q��
�Q8œ|�Q�D�	8G�d���Y��ÖMq����M�����AFG��S*
�:!6�L�7�Zĉ,�J4<��@fʊ-�^
���� 
͊�JZ+�z
񓀖�������`�"o�o�N�9-g�E�wF�}֪z�Um�ҍh�B�Bf�H:�[��H-lCAD[���	Sa��⿞DvZ.�e^�e�$��yY/�C��ho�I�Sw�Zf�[���r���•����qF��!��*��I	�e��w�@�>M$٠���k�ؘ=3%n�|7�:_����h���DOF
������d�B�b�a9
+�{$��E�uڏBV�Pqn�-�ׇ�kJ��s�h���?�G��~XJM-mӔPEKV�"I/%	��P&_��F�6�-�/�]
%��0p@�v���i���~QH�E_���.��f7����2O_���ߔ���Y�fr�Y�H�|���bg�o�x#
#D <����JJ�nC�.�j7��j��A!�7�0�t#
�<����N�O���N��iU�㺄r�(
�����%��w������Р�`�24����)�|�����������$%��M�2�����uo�ˏN��o��)D:s����'���7�_��j+%����
+~����8)U&He*���
�d�?���E��
ďI���,��
�&�σ#�҂�'��A
�X]�p�E�i
��F��0�����P�`���7��‹
�oK�Và䯠OO��L�`Ǒ�CBI0!j�P������K�������M��O,t�0��Cq�F����D�o�g��i�z��{t4D����R�"��;�i�(�M&�
T�>���[
���B]|ukiK�鶌�6|���
+BW�ha�#��C����Q��+�(�[���6��!٧��k�_\hh��W���YL������AT�ں�
A���.PVy��1~��B�>��hƇ
�)Ky���c��lh�>�o��1~�|�5��
��a/�T�G�(���փ.އ�kP�RH{�Zvm�
�f����zy���v6��ƭ�
���
���-rOs�
hn�'�6 80��+!_}�0��8Y7+sL]X��D#2��}�
����(/t!``ZՍ�
l��1_�8�������6ˣ\�i�1ǕD$���ɯVN �7���]^JL���\*`5b�*�����
��t���y6���Jb�
h�d^�C�]�������V{��==�
�f�e:��p��X!���~�մD�fs݉�
���W�+}��/$��{.ф�4�M�u��ژ��h�ԯ�p�&��I^���(nu�c�`U�r(k��*K�yt�D>�
+
�y(x�1�ڀp�
:"�}b`>1gC��b���tۄL�|��o=گ�����!0��ٞ�m	�`������m�w[����[U�T�ERU���i��I*d���.�Qu���#ĭ�<9k?���S��
6
+��++^G!�k@�� V~�5�VF0���� ��T�4Z��h�"/k��f��t��IT;3����AF:*��T4���T�>p��s.<���ec��L��N�n�c�7�bڬa׹�]b��2�nW���$b���'(K��;��V�[y�I��7bg��B$i���x}l��(��ON�q�{ 2?{�)�1��4�-�
�F��f畷�;
(TŽ���˝���4Po����:R���Wn
�?�P�a�{�)w�;M=���K��co�ė�"	?�"~{�>�	�$��
,�Lhr¤���,1?�?l�?�_7��E��E�۠.�e)� s-f
��mD�"�
l,�E�v��:�?K��=i	��]�u�4����r��5ZټBYsxv��=.�G���񶅏YY��)��LA"�T���;;�
+endstream
+endobj
+3491 0 obj <<
+/Type /Page
+/Contents 3492 0 R
+/Resources 3490 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3315 0 R
+/Annots [ 3428 0 R 3429 0 R 3430 0 R 3431 0 R 3494 0 R 3432 0 R 3452 0 R 3453 0 R 3454 0 R 3455 0 R 3456 0 R 3457 0 R 3458 0 R 3459 0 R 3496 0 R 3460 0 R 3461 0 R 3462 0 R 3463 0 R 3464 0 R 3465 0 R 3466 0 R 3467 0 R 3468 0 R 3469 0 R 3470 0 R 3471 0 R 3472 0 R 3473 0 R 3474 0 R 3475 0 R 3476 0 R 3477 0 R 3478 0 R 3479 0 R 3480 0 R 3481 0 R 3482 0 R 3498 0 R 3483 0 R 3484 0 R 3485 0 R 3486 0 R 3489 0 R ]
+>> endobj
+3428 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.436 719.912 251.209 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a3d107d8f8a78a3925031545c8e1d1a73) >>
+>> endobj
+3429 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.361 719.912 290.549 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3430 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.719 719.912 409.969 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3431 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 719.912 513.996 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3494 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 707.957 171.361 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3432 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.114 694.231 456.992 707.389]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+3452 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 661.148 224.57 672.052]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a6d5097ef9a821f98cb97571eb52a49aa) >>
+>> endobj
+3453 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.908 661.148 270.508 672.052]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3454 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 648.631 347.869 658.536]
+/Subtype /Link
+/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
+>> endobj
+3455 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 626.501 255.564 637.405]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a96038eb89649898faa9a4355206b72d3) >>
+>> endobj
+3456 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.761 590.083 199.556 600.987]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_af03e6aabc70746d795e2fd524e15f283) >>
+>> endobj
+3457 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.215 590.083 288.991 600.987]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+3458 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.558 590.083 449.718 600.987]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd) >>
+>> endobj
+3459 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [467.73 590.083 513.996 600.987]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
+>> endobj
+3496 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 578.128 244.556 589.031]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
+>> endobj
+3460 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.598 578.128 395.48 589.031]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga84cc2bd35e1437f8df3be984dd1f4638) >>
+>> endobj
+3461 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.169 578.128 513.996 589.031]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+3462 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.268 553.655 164.537 563.56]
+/Subtype /Link
+/A << /S /GoTo /D (main_Wrapping_Operator) >>
+>> endobj
+3463 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 531.525 273.129 542.429]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a2e233c23c81273bd776c73cff35ec60e) >>
+>> endobj
+3464 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.944 531.525 352.41 542.429]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+3465 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.949 496.878 282.978 507.782]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_abe59d09769e8f4ee38d79b45a6295756) >>
+>> endobj
+3466 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.014 496.878 386.79 507.782]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+3467 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.53 496.878 513.996 507.782]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+3468 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.661 428.078 247.261 438.265]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3469 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.034 415.406 275.228 426.31]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a00f095adfc747a3b56312f5beb93b621) >>
+>> endobj
+3470 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 402.889 363.328 412.794]
+/Subtype /Link
+/A << /S /GoTo /D (main_CC76_extrapolation) >>
+>> endobj
+3471 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.661 369.521 247.261 379.707]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3472 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.034 356.848 275.228 367.752]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a6df86d90bff51a8827ba3011506639e2) >>
+>> endobj
+3473 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 344.331 363.328 354.236]
+/Subtype /Link
+/A << /S /GoTo /D (main_CC76_extrapolation) >>
+>> endobj
+3474 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 322.201 214.06 333.105]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a6919ec5aef8459ad9c65bc36e8100d58) >>
+>> endobj
+3475 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.398 322.201 259.998 333.105]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3476 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.942 285.783 290.693 296.687]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_af5edabe0fbfa14196208041ded356c65) >>
+>> endobj
+3477 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.714 285.783 336.314 296.687]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3478 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.957 285.783 454.784 296.687]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+3479 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.622 261.311 310.533 271.216]
+/Subtype /Link
+/A << /S /GoTo /D (main_CC76_extrapolation) >>
+>> endobj
+3480 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.661 216.984 247.261 227.17]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3481 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.034 204.311 278.845 215.215]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a3a5a6288b0ad32439b465341c6c1c528) >>
+>> endobj
+3482 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [488.091 191.794 513.996 201.699]
+/Subtype /Link
+/A << /S /GoTo /D (main_CC76_extrapolation) >>
+>> endobj
+3498 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.268 180.835 189.266 190.74]
+/Subtype /Link
+/A << /S /GoTo /D (main_CC76_extrapolation) >>
+>> endobj
+3483 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 120.936 289.866 131.84]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_aba476c1ff2b0f1cd58f6e76b981cafac) >>
+>> endobj
+3484 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.681 120.936 359.324 131.84]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+3485 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 86.288 290.971 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a4aa52c6b939cf0076740afb33dd454e5) >>
+>> endobj
+3486 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.787 86.288 360.43 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+3489 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3493 0 obj <<
+/D [3491 0 R /XYZ 90 757.935 null]
+>> endobj
+3495 0 obj <<
+/D [3491 0 R /XYZ 90 643.491 null]
+>> endobj
+3497 0 obj <<
+/D [3491 0 R /XYZ 90 339.191 null]
+>> endobj
+3490 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F79 505 0 R /F107 2332 0 R /F97 1188 0 R /F37 2638 0 R /F105 2458 0 R /F41 370 0 R /F23 368 0 R /F38 2120 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3543 0 obj <<
+/Length 1844      
+/Filter /FlateDecode
+>>
+stream
+x��Z�r�6}�W�/�4c� H��I2�t�NӦ�&n^��&!�S�JR���]�U�Ŏ���>$"���{�`wel��������ŕ�
y6����añ	b�ׁ�aB0��3�1���<�y��o�O�h�A�翆79�7��/����WW�t4�F̶`�J�3%�[������G�P��̋
JL���!�E1�Q�'�S�ND�E���[��������#̝ӔJ�~�>�대l���A��
?>��	<e`dz����bâ&|Fƻ��ϰ���Sy�3\�/8C�ׂ
åCM�m���}�6��Ȃ��i����]m�)�1%l�V�a,�"L�2՟K�[u��@��
+-������߆�Q�
���~���ȸ_}�*�����;�1���3J�G
e�GJYO���`�
+�a�����ou�VRr#~�������m2�%�>b�A�(�+�p��d�QC1��1f�"�Qe�;!��v:3ms�凥�S���(�}�P�U	-#mK}��aRr[�� �Aٮ�@�|�}ș�r�|���9L
�حe�eX�@�Z�q�Z�G�^V�f��rɵQ>O��B[yS�0� �w7�`äȅ� �'zj�6�җ�Z�;
 5�I 4No�;�hY�E���b�O�yȲ�#��
򓉀zk�uX.�3�ۮ�Y�!����2��
�m�S�=E*�"N%%���ļ��y��
��龍8�B~����h��6H��V}:����d���BwbE&�PAk�lm|`
��_,��v)�#�Swk��db�}8)���v����h�,�c����*R�*��s�U�밎�߉���e@�v{6w�
IR�4�ij:nUJ��H���<��
��Rx]'U�}�r�A��
ʸ�&��Z;e�
k���y�h~�J��1���
���Y�c#`*	ld�l:�1�
�3���8$[����%qf����l�!T���خ����>����
��L��d��t\3��tUU��T��(>��zg����t�Z�xػ��l����rr�1���?�4E��f�؅��Z��9ל��I\�;"Ek�t>���i{��r�J��Z�Q�
+��hS���
�]��ɠ��#Q4��H�%�׉��::�QB<���i"��0L	��"p=�LD ���*�U�5ݯn����l{5���_l��a���b���߅�B-�Xr�s��K�B
��p�y�U]�*O�����xb����j���P�`I=b�P[`��Qqҳ�4:0b��<���Əļ��
:�r^l
+���/
��
+Q�i���c��nX�Ӟ�ם���G1�/��OiQUɱ�?���J��C~��Q��!����*E����%�DΡX}�����ᄙ����ݚ��������G_˓��NB|��A�
pДf�*![M��8��oCyǚN@{�
X
f�imt.�M�,�m���Cq�v��`��Ⱦ�Y�z�*%�ER��ޤ��%&qr̺1kw��;)6AIJFf���B����f�d�s1��S���^����rC̳��'x���C�g|��$@O%t��
�Q���Ǔ�w_��0l���
pb���o};
+#;��&),y:5�"
�d��:�����������2��L��\78O���{��6۟��zSQI7#;)N��l��|�r
+@����_�m���
�c|��;,iC�!�����X]_/���X������u���A��Q��锱�.�_�dU�Nelԯ)y���i��L��/��DeןF}��$-��-b�a�eYf����Z%a����Ȳ�b>
-�xN;&Yԓ�8͛n
�\Vh���>PO^
+endstream
+endobj
+3542 0 obj <<
+/Type /Page
+/Contents 3543 0 R
+/Resources 3541 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3315 0 R
+/Annots [ 3487 0 R 3488 0 R 3510 0 R 3511 0 R 3512 0 R 3513 0 R 3514 0 R 3515 0 R 3516 0 R 3517 0 R 3518 0 R 3519 0 R 3520 0 R 3521 0 R 3522 0 R 3523 0 R 3524 0 R 3525 0 R 3526 0 R 3527 0 R 3528 0 R 3529 0 R 3530 0 R 3531 0 R 3532 0 R 3533 0 R 3534 0 R 3540 0 R ]
+>> endobj
+3487 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 697.994 224.003 708.898]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a070e05c80af78d7c91bee958b9848080) >>
+>> endobj
+3488 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.34 697.994 269.94 708.898]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3510 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 652.166 254.15 663.07]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a21711374269e4bc42c158e233fd8d384) >>
+>> endobj
+3511 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.487 652.166 338.263 663.07]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+3512 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 617.297 284.585 628.201]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a929caef76be87459ac964105f4c75cf4) >>
+>> endobj
+3513 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.401 617.297 354.044 628.201]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+3514 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 570.473 241.726 581.377]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a597f9740fbc8534391d2c8cb6381660c) >>
+>> endobj
+3515 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.617 557.844 407.658 567.75]
+/Subtype /Link
+/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+3516 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 535.603 249.318 546.507]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a0cb0abcc152d2d7c95a116efd3ea989a) >>
+>> endobj
+3517 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.134 535.603 288.321 546.507]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3518 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.875 535.603 371.519 546.507]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+3519 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 500.734 240.62 511.638]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_af0b5a67b4316f5fabc76dddc85e01f95) >>
+>> endobj
+3520 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.958 500.734 324.734 511.638]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+3521 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.313 500.734 389.5 511.638]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3522 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 421.964 203.075 432.868]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+3523 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 421.964 296.324 432.868]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a4e6787c98290a49ce80b90c008aac5a8) >>
+>> endobj
+3524 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.198 407.343 309.133 417.249]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3525 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.636 383.11 287.856 394.014]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a5659d55fb93c1fe31b82a674e2630c13) >>
+>> endobj
+3526 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.636 344.256 294.481 355.16]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a1d20ad17015746b2d9e0290631fc175b) >>
+>> endobj
+3527 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 263.493 180.54 274.397]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a5b6323dfa423ea57b8d845237d9b576d) >>
+>> endobj
+3528 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 263.493 226.477 274.397]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3529 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.287 263.493 323.887 274.397]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3530 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 143.497 178.239 154.401]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a025c54a0d06e882346b74c0624ee6e71) >>
+>> endobj
+3531 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 143.497 224.176 154.401]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3532 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [302.985 143.497 321.586 154.401]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3533 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 92.687 226.034 103.591]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a1915597423b1aa0dbed55312b2308efd) >>
+>> endobj
+3534 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 92.687 339.776 103.591]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3540 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3544 0 obj <<
+/D [3542 0 R /XYZ 90 757.935 null]
+>> endobj
+3545 0 obj <<
+/D [3542 0 R /XYZ 90 440.938 null]
+>> endobj
+3546 0 obj <<
+/D [3542 0 R /XYZ 90 440.938 null]
+>> endobj
+3547 0 obj <<
+/D [3542 0 R /XYZ 90 402.203 null]
+>> endobj
+3548 0 obj <<
+/D [3542 0 R /XYZ 90 363.349 null]
+>> endobj
+3549 0 obj <<
+/D [3542 0 R /XYZ 90 282.467 null]
+>> endobj
+3550 0 obj <<
+/D [3542 0 R /XYZ 90 201.704 null]
+>> endobj
+3541 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F79 505 0 R /F97 1188 0 R /F56 367 0 R /F107 2332 0 R /F38 2120 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3590 0 obj <<
+/Length 1935      
+/Filter /FlateDecode
+>>
+stream
+x��]s�D���+tU�z�߫-
3@)(m�e2����$$�����Z}:���@�+��j�9��}�H^�]x��f�����žFZR非{{J$(�N��k�`��
�1�_�	��|���S��~c�yx�<Z�a����������N���H���`���3�d`�ж������B�	n�|~M'L7-��â�/����\S�l�8,���Ҝ�|N�$+���|¸�t������n�G*5�B�	o����
{k����ӁwY��z�28�ޫ��3\+{xtJk/ A
�/���
a)��?��lW:'���(��L�H��*��3p�LȞ
J����R���
�b�I��BZab
+���e#Y%5
z�B�
�)T��>3I�5M:Ν?v�a�v 
lj�8`�U�K8�E��2M�:d�������of�����ͪ��(1a~���2�1q�'��"�U?�
|m��W���N�>�q�]B���k�X�g#qA8J������
�_�-M�n
��H�he�~l"R����$�L5

�s^��ZZ�IQ^�	
ȠC�k
\9o�:�4��C�ѐXx�
rG�y]5���p6�g�H ���R at R�z�2�%�(�8{���_G9�a2ʓJ-�I./GB����8ej���z��s��n:��v����a�	K�b���7�ܯ�)/�I�
`�s�
+�[
�f�B�`� L�#�S��K��Nb�x�%q%C��;�\��
+x��He"(�}
ˁD\������aJ&��`"�^/����h0	f����mp��l#0׹���i˨���
��	�;���i�|<(�lszS���b���C7#�٭�hm�d���C����*��Q2P����t�n�t��q�,uLK�L'���C������,�
Hm�FD0R�A��>��G���~�~<��t���I��Q�,�����sr{�Ua,��E�j�i��IZC��� �����+��ߞց��u�RKkki��
+�;�
��[�1��K�[ב�Eø.�nG�sׄ �VJ:BP=c�u�x2@ Ô)�%�}����&�BM�I@߷����w��5���������J�.+��Κ��́��V�F�3�zo�SS�Ql�.§�X�QVFi%�
1�ǖ��f
+aE��RHq=�\��
+I`u
n�sh��
z�
O�46��i�s�薧��p��fCy���s?I��D�O��E�G���Y�ia֏ݏ�Hi
��t���f��Ln��
��� ;i1�{���W�V_N��C?Γ�d�)�T�,�/��/�a�qײ<]���]8���cɈ0A�BTl�Vu���-u@�Z
wn�Xu���~/�&�di�ش�@���9~���"m�,�G�
E��1i��%�?8A�[��a2d:T5�
l�]�����/
+��t�&��u4�
��	������E6l[G[�v޻=l�_9��[� �X��]|����E�"��N�0��$�\�?n�ġ �%�-� !z<b��t�-^�s��}�#�
Cѡ{6�{��ͺf�/�I&>�S��}�yհ�ނ1ҳ�uZn��=�&�ޥ�B:vP�B,yk���PDv&��#�f�~	8ui���i�f�n!��%�ʼnV�V�m;,�[�,K�K&G���'C�
[��
�X_���	X��pW�qz�l�+}�zъ�X�MR�^Ϋ,m����X5��N��L�>;���_��M�7tL�f�]�f]9��V[_/v�.�#�Q�߆?rT�ϥR�*�}Ti���I}U�e��c	�	n�ø�I
�$��Pȹ=�vϋ��ڦ|U�R�l���.b܏_
+�2�/ڭ�Fz
��lW&�Ȏa�l��I�LC
+�^s�������~n��]�7e�=99���D��(�QT�dY|r��C�(�U���1٦y;���6,�����ab
+endstream
+endobj
+3589 0 obj <<
+/Type /Page
+/Contents 3590 0 R
+/Resources 3588 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3315 0 R
+/Annots [ 3535 0 R 3536 0 R 3537 0 R 3538 0 R 3539 0 R 3560 0 R 3561 0 R 3562 0 R 3563 0 R 3564 0 R 3565 0 R 3566 0 R 3567 0 R 3568 0 R 3569 0 R 3570 0 R 3571 0 R 3572 0 R 3573 0 R 3574 0 R 3575 0 R 3576 0 R 3577 0 R 3578 0 R 3579 0 R 3580 0 R 3581 0 R 3582 0 R 3583 0 R 3584 0 R 3585 0 R 3586 0 R 3587 0 R ]
+>> endobj
+3535 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.625 684.393 245.522 695.297]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a8653fd3779f7a28930872b1f885f25ee) >>
+>> endobj
+3536 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.848 684.393 325.229 695.297]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+3537 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 672.438 132.511 683.342]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3538 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.32 672.438 229.92 683.342]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3539 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.561 672.438 344.117 683.342]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+3560 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.625 622.321 245.522 633.225]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a6592baa6045a08fe1eb0ba33e8ed2942) >>
+>> endobj
+3561 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.848 622.321 325.229 633.225]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+3562 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 610.366 132.511 621.27]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3563 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.42 610.366 234.02 621.27]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3564 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.979 610.366 351.535 621.27]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+3565 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.92 548.295 243.605 559.198]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a2d20e2dc8d4d0fbbdf87bd01a51dc01e) >>
+>> endobj
+3566 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.226 548.295 323.607 559.198]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+3567 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 536.339 132.511 547.243]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3568 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.32 536.339 229.92 547.243]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3569 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.561 536.339 344.117 547.243]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+3570 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.92 486.223 243.605 497.127]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a438eaa92ba7d9f7d8ec085fe9b00ec0b) >>
+>> endobj
+3571 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.226 486.223 323.607 497.127]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+3572 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 474.268 132.511 485.172]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3573 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.42 474.268 234.02 485.172]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3574 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.979 474.268 351.535 485.172]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+3575 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.138 412.196 242.189 423.1]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a852ebcee0de832c12a87ad15d37570a2) >>
+>> endobj
+3576 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.028 412.196 322.409 423.1]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+3577 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 400.241 132.511 411.145]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3578 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.32 400.241 229.92 411.145]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3579 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.561 400.241 344.117 411.145]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+3580 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.138 350.124 242.189 361.028]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a4b5e1306956d46f1ee477428b451b44b) >>
+>> endobj
+3581 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.028 350.124 322.409 361.028]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+3582 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 338.169 132.511 349.073]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3583 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.42 338.169 234.02 349.073]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3584 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.979 338.169 351.535 349.073]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+3585 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [315.922 220.076 334.522 230.98]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3586 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.986 149.081 125.586 159.866]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3587 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3591 0 obj <<
+/D [3589 0 R /XYZ 90 757.935 null]
+>> endobj
+3592 0 obj <<
+/D [3589 0 R /XYZ 90 289.552 null]
+>> endobj
+3593 0 obj <<
+/D [3589 0 R /XYZ 90 238.831 null]
+>> endobj
+3588 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F79 505 0 R /F56 367 0 R /F38 2120 0 R /F97 1188 0 R /F106 2337 0 R /F41 370 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3606 0 obj <<
+/Length 1857      
+/Filter /FlateDecode
+>>
+stream
+xڽY[s�6~����3kEh{��f���������[I�b������] ���	������9{�
����Z�ξ��'�i�-o<��($�S�-7�{�`�c�_�	��j��.��E�x'7U��>�������W�����۳�	�q$a�x�~-��5�`S؄:�7�_F�P ����L���YR����_���̒F�w�FVs�2_Ð <�	���b9�sF�
�Hk

��qo������
��a�D�ݷT[/�
��w5�i�����e)C8�Z�ײ��&�oA�̙+ل��I=���]�y�>���
a���E^7U��Y_�'��V;������ϼh�TQ6�6ɲG=^�ʲ��ѳ�f�	�)���2h� 	nT�O�L[V�@^�w�6Or3='�XKظ0C����.k�{j���
s\u�^��r�B�0��$у��^G�Ƭ.˪x �rrG(�`k�^*�Q�UB�7���nZ>k3yS�9e	":6�[$ルy�&\���N��s+幖m���f�Đ��6͒�?H|c9\�XE�ܼl�r�/eo��r�.��,MV[��4:��"9_]v����h$OaGF�D
Ĝ�A�[76*>я�r8��X�2oZ�Z=h�X �\1|��O�%( �:A�W�G��d�����
+9�q<�UQ�-�?V&	�	`��sY{�}y� N
-M������
*؞ci���jp�J���)�/�mWn�ª��_�e��ݲ��0 v
�̑��e^��#�
'���e��Ȥ
+�1�"@$rk�H���@\8	~���/�.F�
�[43{=�
x�ʁ�ߧy��Έ�\>�Y�N�����Y
D�	�#�vi��P���7*
�6� ����*ڹ����ԥ\��cL��$k3�܋H�g�FB�U
�,9��\Vw\��"1�� ��s:cC!� �;.�v���
pV�AЎ�D�����E��
+s����}?�o���� ��������Y�������w�;��(�c‘��]b8������)���k�N�E �m�

��W�
?Et��!D�����>;���N���เ��o}�1�ե

��ᣒ.X���
!��T���1x&�N��9�Fq���&t]BQ$��qun+�}�pڈ.��n��Q���I�Տ�����p��ůo����E1
+�� �<�N��X��O�!ؿ��׀�3u]Q�u_]�Ź�V���m!﬐���m[���$~z��ܜ\"�1<
+'x4��.���"t<-T�J��
+|W�
+P�*�!�Y�r-Z`?��	l�6�p�x<��� ��&��M1��
+�Mqp�B��!�1�s8��I�Ǔ�$B1�M�]�p
+6�'	������Q�IE�0���{�
d������R��~]Y��+ W�i�h_n�P��COE
t!Aj�F�J��e�Q�2:�]�u(�R�S)L&�&����t7`g���F{�v��VW�5���[�5�"]�Ǵ�1ϪN�2�
�Ne���o�b�������NwY�%ԊB��zD3&�K�
�ف�rB�9�w��O�Чm�1����2
Hy��%Q ^b��]�\1��
:��{뵐���rEc<�cKj/�Z�U����} P�7��3�v/<�ף��"���;��
+T�n��{
�-X{p<�x�����v�
+{4�M��&����G=A*'����a��/ħ�/��	B����O��|��T�+(5�K��T��3����J���I�K��2ݶ�.#0"Dk�`�W�^tk�����w�6m:iIL��u`t�4�˳���{���.O�
+��YYfgOC�Dž
��{��-*i�
{W�}��
+I��
+endstream
+endobj
+3605 0 obj <<
+/Type /Page
+/Contents 3606 0 R
+/Resources 3604 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3613 0 R
+/Annots [ 3600 0 R 3601 0 R 3602 0 R 3603 0 R ]
+>> endobj
+3600 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.17 690.333 213.77 701.237]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3601 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.732 678.378 218.288 689.281]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+3602 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [313.87 119.446 391.845 148.512]
+/Subtype /Link
+/A << /S /GoTo /D (main_intervals) >>
+>> endobj
+3603 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3607 0 obj <<
+/D [3605 0 R /XYZ 90 757.935 null]
+>> endobj
+3608 0 obj <<
+/D [3605 0 R /XYZ 90 664.804 null]
+>> endobj
+3196 0 obj <<
+/D [3605 0 R /XYZ 90 642.492 null]
+>> endobj
+3609 0 obj <<
+/D [3605 0 R /XYZ 90 642.492 null]
+>> endobj
+3197 0 obj <<
+/D [3605 0 R /XYZ 90 487.342 null]
+>> endobj
+3610 0 obj <<
+/D [3605 0 R /XYZ 90 472.772 null]
+>> endobj
+3198 0 obj <<
+/D [3605 0 R /XYZ 240.245 385.751 null]
+>> endobj
+3611 0 obj <<
+/D [3605 0 R /XYZ 90 369.024 null]
+>> endobj
+3199 0 obj <<
+/D [3605 0 R /XYZ 240.245 270.048 null]
+>> endobj
+3612 0 obj <<
+/D [3605 0 R /XYZ 90 253.321 null]
+>> endobj
+3251 0 obj <<
+/D [3605 0 R /XYZ 90 98.525 null]
+>> endobj
+3604 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F100 1390 0 R /F123 2840 0 R /F104 2229 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3618 0 obj <<
+/Length 1497      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~����fû�`�m�n���KZ�L��lɓ�&��;)Y���Id�$J><<��#i�e
��M^�&goC��(�Tz��c/�	J��ܻ������O�4����G��i��-ռJ.ͯ��ڝ��*o���go	�i$R"!9��(�Ɋ
�Eh'�~��
+"����%,n%^����*�t��t�֛U����I-T�h��>�DDS¤Q:y3��=!�{���QȄ��'_�7��<�X
y׍����s�}��>�wF�2���GQ$\tuk��a�8�wL��z�QE�6���-�
f�MAZ��f�ň���5�<w�:��Ӹ�
�B�iZ�63���!�C���X�\�6�WI^��ϻRa��g
�1D�v����1�
+�ίO*ݥ+u���l��J��IϷ��nD'�Ӱ��H���W&(�����X��j%��	TF(��pD��W�|5w}���UNT*����+y�
D�^�ʅ}�]Hk�
�	a��∅.AN��b	��.}��:�5/��ʵ�D��כ$u�y�VE��Eg�����Qx��r`e�9d�A���
V��
����
�P�c�!,h߸ޔ��
Ѯ_�˒��&k���v��E�<6�z�h;J*eg�v�Ь2����M��Ff��O�4Yٹ����&t��(+5��LC+��)DU���lَUS�M�DH�h���dg�L
�Y=]��*�2���Y�TNyB�^<L�0a���
�c��%m��/ݪ�,kT�
��w�NR���j�k�\��ߩB�
�e�z�,ܧEU��-aT��y�겪�:�!�L(Œ
N>3��3�;U�*��@pPv{��z�)�"��E]V/��f���
e#"�J
���h�\�h(k�
e!�c��yf'�^i�ԒС��9�`P��Um �sg<o`V�Y
��o\�5��s�cZ4pd�F��
6؄��E�K�#G��JgW�6�V��A=ڄ�Qڄ�G����N���ٓ�,�
�����M�6�y q�{�j=??�
�
$�|~�T���wA3�H�U�lY�d��^"_<�0�$�4\�
 -�qGJ-su���)
���2�F� �c�
>��²�nX
=wH�����
�s�-��c�w ~lv����bCy|x�x��'��鼔�w^�mp��eW[��7Wu
+LJ�
䷷Y�r�'�MU��k���=�g���qk�G���I���M��3��'n�jk��g{���,���ǰQIu%��$���g�l�
�2p���D�,z�'Zj��[y1ͪ|nG�d�|N�k%�n��R�1~g@�T�Ga�;䆱qf��gFk|�Z�� ��
x���y��}�:��BF��҉�Q4�M�Z�l�"�߄�����>���iI����}u�i_��U��]� 뷤�6�}06-b�ڪ}`0"�ޜ
��R�E��_^;�e�Doo-� �®�Zo��ή��QZ�m�o*���fuv��=-Љt
�hI}]V��D����`�Q�����`
+endstream
+endobj
+3617 0 obj <<
+/Type /Page
+/Contents 3618 0 R
+/Resources 3616 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3613 0 R
+/Annots [ 3614 0 R 3615 0 R ]
+>> endobj
+3614 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [313.87 604.763 391.845 633.829]
+/Subtype /Link
+/A << /S /GoTo /D (main_intervals) >>
+>> endobj
+3615 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3619 0 obj <<
+/D [3617 0 R /XYZ 90 757.935 null]
+>> endobj
+3620 0 obj <<
+/D [3617 0 R /XYZ 90 733.028 null]
+>> endobj
+3252 0 obj <<
+/D [3617 0 R /XYZ 90 568.049 null]
+>> endobj
+3621 0 obj <<
+/D [3617 0 R /XYZ 90 553.498 null]
+>> endobj
+3253 0 obj <<
+/D [3617 0 R /XYZ 90 397.631 null]
+>> endobj
+3622 0 obj <<
+/D [3617 0 R /XYZ 90 383.08 null]
+>> endobj
+3254 0 obj <<
+/D [3617 0 R /XYZ 90 167.72 null]
+>> endobj
+3623 0 obj <<
+/D [3617 0 R /XYZ 90 153.168 null]
+>> endobj
+3616 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3627 0 obj <<
+/Length 1871      
+/Filter /FlateDecode
+>>
+stream
+x��Yے�4}�W�	�*��Œ�-�jga��]v`�ֲ5�q4�
�����{Z�lljr���SlEn��N�n��7�����z:�zbO")�𦏞�^(�xә��'�	���c���\���c��"�,Ԭ��_�e\n�=�.>��O��zIȖE"�"�����)�Ea�M����Ba
+��|y���Y\U�	�؟�%��r�ŵ2#?�GU�I�<�!Ix�j�����#f�G4x�Bƽd9z�
{3��È��{jf-��2�ͼ��#l���$°��
+D ��[
m�T�*�Ə]C�
l7B!��~1��L2>{����#T���
�jS�j��#�x4cI��˵�z#Rn����"���Tf(/�H^�R�i�ǙS�q��3�Uu�y]�I�yQ��ކǐ �'� 	��ӿb��E��/�I�
5&�ߘ�el/�f���/{�b]�zx]�}�t�[i.�U���Y�Ty;�%	r�m�$�x��"��>\E҆L��n�СD�Ǣxt|�7+�?��0<#"�'N�'�?ΰm"���/s0����u�{�L�ù�snH�("R�n%����]Kr8�O�;�h��ց���'�:�ݙ���M����|��]FA��1[/��Q�Q@�v�f[k+�v���v�ޥy��꽙9r �#8�	
����4�U�d_�Y����=4 �H��L����y�ڸ��_1�yF6�bkw
�FQ��N?
t�l��ؘ��X;�3c�TI�I��ݷ
 �]b�'
c�P�ZJQ9�VV�/T���:���%	�"y��C�JED� ����1��~N�yJ�̕R�LF9���?�����яC���]�y��χNV��NЁM���r�#��iW0Ջ�R����cY,w�Z�U�a௓�(+g��
���;	>�<�AX_�<99�<)�
+�^��x�B�Crʻ����aP����}�K�=<���AR����9^���
ź���9
�����"^� '�@�DM"x���ޙ/�蒔����ݖf�*�Bb��(�G�#�ֽygq���Va�t\��O�Kȶ�D
q �@�n߼z����7�_ݿx����׿�Lߺv�tGΪI:ҽSWY����*!��#��I ��l�,��-C���s�P�@)���P-���Pg�	ʇ�1F����/�#�Ȕ���7[޺һ��㮁�o����f�z���� ��b��\�
g�
+���b��+{+
(,"u�=
�'nޏ�kHY�Y1�
^LחC^ل�z
��K>�x���S4���x֗{gk����Z���@��
��R��)9!�L�ǥ��S/ʺ�sT�A_e�7ERxa��P�Duj=���z��>�ĿP닖�`�I1��0BA(��l�i�\,��V������L���(�
�
�O�w�����k��8�R^��z�ڦ�DX�V+�Q�o�K�wӢ�q��Ip��y�p�
��Kri]+�M
��p�
��y���o��(Q�68$n@�����\ O�g]�V� ~G
s��!Z-\�f|��Fa�na�A#-����q�P���
�h�+bz�V�*��Ӣ�T��>r�]1Ǯ��ʺ�4{��(�p�Q�?�n�
�V*IuS�La�'��
8^��E��a���9���n�A
穭�����X�K��eODb�7ʄF)���M�*�j3n�	Mw��(�{��i���Q�L(Ղ�E�R��j�~�Q�
+;��[�
�:*#�E�s�F��qw�I��޶
+on�̛��*U~:�Dkc�u��ۚD���T�]^
o8���4�[4���k��5 ���D
v�֢�WϮ����PR�u��J��W�Uv��
+ܲd
�l�Xضܲ(U۸��e�>݃����
+endstream
+endobj
+3626 0 obj <<
+/Type /Page
+/Contents 3627 0 R
+/Resources 3625 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3613 0 R
+/Annots [ 3624 0 R ]
+>> endobj
+3624 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3628 0 obj <<
+/D [3626 0 R /XYZ 90 757.935 null]
+>> endobj
+3255 0 obj <<
+/D [3626 0 R /XYZ 90 684.037 null]
+>> endobj
+3629 0 obj <<
+/D [3626 0 R /XYZ 90 669.467 null]
+>> endobj
+3256 0 obj <<
+/D [3626 0 R /XYZ 90 522.023 null]
+>> endobj
+3630 0 obj <<
+/D [3626 0 R /XYZ 90 507.453 null]
+>> endobj
+3257 0 obj <<
+/D [3626 0 R /XYZ 126.015 396.522 null]
+>> endobj
+3631 0 obj <<
+/D [3626 0 R /XYZ 90 379.795 null]
+>> endobj
+3258 0 obj <<
+/D [3626 0 R /XYZ 126.015 268.864 null]
+>> endobj
+3632 0 obj <<
+/D [3626 0 R /XYZ 90 252.137 null]
+>> endobj
+3259 0 obj <<
+/D [3626 0 R /XYZ 107.534 129.251 null]
+>> endobj
+3625 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F104 2229 0 R /F72 404 0 R /F123 2840 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3636 0 obj <<
+/Length 1783      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~����&5�;�`�;����^��-
�Vla��Ir���
J�dٌ�t�C�=I���s��
R�[z�{>z4
�<S��HK*�饧��$A�o��>�#>���6&��u8;S�g��*Z���U|�������������3Bv$)��
֫�R�-
+��v���{�
+Cp;��0݌x��E1�P���XS?Zo������2��$�t]���',0BGO��F�`�T�
+)&��z��3��������F�=N<���
�,eK�yQD�uo٨xh|�a=6�AБ���כ(
��X�o��G�I��{���X����-���_+S��	
<�p
��,-ʺ�y
/�
oB5��"ބ����OV�Ӓ!ںk�z�2D!�i�D3��׳:
BX��3��:I�S�;���f���޾�����_�
�}}���_/�\�1�i�	^!�>|wAm��}�$�<.?�c��:af[(�M8�jʣm�,�
��E
+x� �a���n�+��6
�3��Y�6��ܡ�
�
��N!�
^�T�5c��+��b
&Id�´*M�"��:����
�%��͈mQ�lV��vO���0��ɘ��
`�P��r�F�Tҟ�"�
+I�
ys��d�m��
+��u�Z��vS�uo'��4ˣrd�)�ڕ=,���e��X&�>f�K��BX}�rO�y��y���t��
:�ԠQ�lk�ڽ"5S�(T3~g���"���Ej贶��U���y��Σ����
����d� /�QHž��
�BU�`gX��Wy$��&��M8�]�-6N:	P������� ڥ��
t"�
if<|�a�F
ɏ�Ȅ���yw�M �mȄ�2�4�R7�:e�|'gz�J! ��B��r
��8�\��8Ӽ�|�,�@{�[0�r�we��[%��Ŭ�,��pGQ/y�ʊ�YԤ˜ߦ|^d�U1�ʺ�
1���̇�'�C�ZA�&�ǟ0�����a�]#�u?iJ at fu��"��
rH;M��:Z_ at U_���6��q�֭'ټ����2���0�hG"��KiĻ��.!����رR��V�E�%��o�zp����w+�|"Sw��
+�s���V�������t�O�����qx�D.���b��%�� Je��m�(]@D0��>�G�6O
G�3S^�>(�m�
+�q�D|i!-����
Z���%��(;4���ow���
#�� ��zn��q��\��C	�ˮ�,Wq�R����p{���61�
+^�Rn6�S���١Eon'c�CT��t�1E�8=#9?%�b���+�S[�wnj�*��T�W�@H��Sa
��퇤��
B+6��2�"M���KG��K�{	�A�Lcγ���Jz�@)� P��|�DwgQ���q�B񘄖��U
���o`z�6kG
�-P�B�^�t
���j[fW��u����|���
 ض������C%w Q
+ɏ!� گ�rk��_eɢ-�.��*�\�E�yB��z��br�߼s���A���<ׯk����(�.������1��Gd0"@R�@�K�]��c�$NM}
+�ņ)�s�
��p�}�P�
.�BKƽ%"��å�"�yy@4����\�����8��x�]w�݂���i����x�~��Z�x8�?\�#o`̚pfι&�m�I��iOu��"�

��p��m�t9�ň��lÐ<&!��aO��"kbm��^�����]����ê��UYnNON���м@�4��(.O6����w�����/3{ ^g
��)t��
;p�����#
+endstream
+endobj
+3635 0 obj <<
+/Type /Page
+/Contents 3636 0 R
+/Resources 3634 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3613 0 R
+/Annots [ 3633 0 R ]
+>> endobj
+3633 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3637 0 obj <<
+/D [3635 0 R /XYZ 90 757.935 null]
+>> endobj
+3638 0 obj <<
+/D [3635 0 R /XYZ 90 733.028 null]
+>> endobj
+3260 0 obj <<
+/D [3635 0 R /XYZ 126.015 639.557 null]
+>> endobj
+3639 0 obj <<
+/D [3635 0 R /XYZ 90 622.83 null]
+>> endobj
+3640 0 obj <<
+/D [3635 0 R /XYZ 90 483.84 null]
+>> endobj
+3316 0 obj <<
+/D [3635 0 R /XYZ 90 460.905 null]
+>> endobj
+3641 0 obj <<
+/D [3635 0 R /XYZ 90 460.905 null]
+>> endobj
+3317 0 obj <<
+/D [3635 0 R /XYZ 90 331.748 null]
+>> endobj
+3642 0 obj <<
+/D [3635 0 R /XYZ 90 317.177 null]
+>> endobj
+3318 0 obj <<
+/D [3635 0 R /XYZ 90 190.058 null]
+>> endobj
+3643 0 obj <<
+/D [3635 0 R /XYZ 90 175.487 null]
+>> endobj
+3634 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F123 2840 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3647 0 obj <<
+/Length 1580      
+/Filter /FlateDecode
+>>
+stream
+x��Y��6���+���@L�I�-��"	��@��}IC��Z
�$ǻ��
�:,[>��E�e-i���
ߐvn
�<���%vR�
+g�rv� �S�L��{�`�
Gc��Y
��
)v��n��Y0{
γ ��L���Ï�W���I$B .<�W
+���(%��r�[�
+Cp3�B��G�y>
Q���PQWǛ((�}�V�t6$���<R��.a�
<��
�
Rz�K$w���G�,��+#�|gW��
�2���w�_��,>�a_!
3�T n)�}v�Л"L����P�w��#��3"�s+"/��I�
=�~
+�p9
��m���#q����hs�h��:K�����z)\Y/���7<������1�"A�� �7R�u��1
�0{�zP�,����ȂК} ��H�&‹�
��C���dU��!x"���d�ƛ��F=Y4�2�'��#HH�VbM%u6
�T�#�\�C:y�$���N�ؘ)��rH�����W��A�V#������[a��ꨊaJnz�+fJ=��bf�B5�gHa
+)L ���yu�5�ت����bm��s<
q\%�}s�YP�������[I�S��Z�M��U���ejO�(T��L %�}�.�YR�XWi�U3����h&7�f����IO	�
��񊰱���|	��Ɂ�:ҁ-R�����L	�F9tzo(�b"Q�ErE@��r.\�\q.>��EH�������Ȩw��!h�d�y�FVܽ�0	!.POI~�zT1D���ǯ��<�&�|�*�Ƴ`���|2��
d�g���<���	�+�a�6�
G�(;KD
��Y�N�}�D`��>vB�@
m��u�y��
Zrkn�m�Ś��-�mj+M��niw�˃U�8��9�˨�J�*K�J�	
7��u��^�c�j*�jɕ
��~�5����]ot8|U�L
��^ _>�2�>�e�
���W|��?@߹�J��
��
�G"�-y�f���$o8Ð
�T>v��.��ɯ���rWv�+�
��!@{Zs�@v�k�}x17����
kcqp��6�ÿ*g�| [...]
+q����?%����[��'}��ȓ��b�W��t�Z:�@PDd3�|��%}�E�g��/{yB6�Ô8!� ԍ�
.ñ�{�{q�e'@
	ՉS��~ke�.��=��~�0���\�~d�z7���f�aдoEnU&ia/ )�]kY��
F_�[T�:��hnl[,�t7$��[�@�<�
�w$O@%h����:\��z�!y��!�"���1$�M��w�L�
+�m���뜌7�B/�7bXG*�m�<΅�>��sڍө�[.����+�i�Z� ����d��K�[�sY{f��^�؞�*�T������z�0ae�`p$��Z���<�QK��s�tu]z\2�*��{��`!c��¥N�8L����OSœ]��~�*�D����ԯ��q�8��}c�,��z�Pom�E���5�ٷC�ݪ�~�m�#
��MX�1�����;��)�y���W?
�
l�%@�
{��b3�w�
Z�h���
��x����ړB<��&D�:"q�5�1�0.��ѡ����7
+endstream
+endobj
+3646 0 obj <<
+/Type /Page
+/Contents 3647 0 R
+/Resources 3645 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3613 0 R
+/Annots [ 3644 0 R ]
+>> endobj
+3644 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3648 0 obj <<
+/D [3646 0 R /XYZ 90 757.935 null]
+>> endobj
+3319 0 obj <<
+/D [3646 0 R /XYZ 90 694.497 null]
+>> endobj
+3649 0 obj <<
+/D [3646 0 R /XYZ 90 680 null]
+>> endobj
+3320 0 obj <<
+/D [3646 0 R /XYZ 90 553.696 null]
+>> endobj
+3650 0 obj <<
+/D [3646 0 R /XYZ 90 539.199 null]
+>> endobj
+3321 0 obj <<
+/D [3646 0 R /XYZ 90 412.894 null]
+>> endobj
+3651 0 obj <<
+/D [3646 0 R /XYZ 90 398.397 null]
+>> endobj
+3322 0 obj <<
+/D [3646 0 R /XYZ 90 272.093 null]
+>> endobj
+3652 0 obj <<
+/D [3646 0 R /XYZ 90 257.596 null]
+>> endobj
+3645 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3656 0 obj <<
+/Length 2057      
+/Filter /FlateDecode
+>>
+stream
+x��Z�o�6~�_���j��%�}h�-���6�{�.Ŧc�ɒ+�����EJ�d�ro�}Ih��3��74

|{�����7!bK*��u� �	J��U�~F0������	�%�6�{7�xVdO�*����}��O77_�n������D"%��z���)�Ea�N����#R(L��/=BX���:K����
+<���t���,��y�Z�rN��ʗ�(&"���Ы7�W�]�R[C�(d"Xn����
+�`��(x�gmN�ς��~��ֲ�ka0_OQ�HXR��F�m�1�
��
+ͻ�A�y��
�l6X�e� d�NqL�I��l8�WfP�ٓ5_Uk��aW*����/���`b�j���90��P����H,�c�_+���R����W����"�8Xx$������&��
I�tu����ʫ�2=�Ŵ���,�
��,Ƶz�����Ww����9��P at Q6s~Ř�-�⨕Sm���b�=�U
+{߃Ei�,���J�3s2`z��
E��`[��	�-�K�"�ڠ�.�B�C�z�C6+�ɂ L�)sk�l(:/*#��8�+�2O�e�5�侘N
�#k�q#w
�?e��;��ꥪenVe�z
H�!�7!�����(��S��Ү�դ��
+-8�`��".�:p4��9b�L[��Ժ2�C^�%�4�
����8u91�<S5X}��qBO��V��N��Sy��*J�I,�vp�I,��Q{_����|��r"vV�&D� �K�)Z����4��5ƯX`�
�vyb��b�PY�����i���C�2�`�W�Y��8M��ů�w�R���_j
XC���o�|I	I/��d3�ˆ�^��#�R1t	��c ��x��I����A�U�*�
+���q���\P>���#� ]#͜��Ȼ;�] �O�
���
@>G� �p�]��
?�P���$��*&v)@�*
SS�聩b�(
�_B"F.�e
2� +��i�Ƭb�K�
+�3ʆ�N�".}����:��e
��&p	�N�0�2�\
�z�z��M��X
�   m�1$٫�5f[;�����ins��F�j,]��
�U��*��d���.��1]6
*����,ŐY�Әz�F���o*U>�����	_�
+GB9s�k��k�6c�
ĴX�������*
���9����e��
q�X�	y���:�?{
`'��tn���h�Z��8:�P̠���<�R�,v��jBC׭�+��4�*꒫��_�nNl9�(�a�'Ia7?�g�t��q%IU��Z��R�վC2{L��|Q��@�=��m���`��W�̊������Ў���<#�D1;F;X#���!W�|߫H<�u	9�J�M���^=q	-�X�f!�\�
"q4N빀2q�֏I�K.-�-��SS��4��1���$�'(��pu��
+
VIJ^��s$�IV���T
�6��a`|�}�!��� 
<���X�/Ҿ ����x���`CH^��t�/�V��H8��;}�4o����Ei�w��/o_ ���@$ə}���
��q����|�i
@�2�"�QW�hc bS��^�O�i�!���>�&\�m�N>
���\rr6���t]i؁����X]���2���J<
�D�2������B]�jTe�~��:^��V��V�c���D�|>DX�OB�IM�&��$�i�����*�<��.W�r|!�&�A�g0h�zm��
Z7��͠9df�Z�\�FǓ6
+����>���Ѭv��i
5|�~���r}��ˢ{�}q=��)mu}�����
��s}���
���� ��;~浭$�����k[��k[Ṷ�k[�2;�ѵ�먝��e��m��ږ���E�]ۊ^9�泮m���k�m�0
�
FF�ѹ����zH]UF��Ej�Ƒ[�~��&M�cÚ�GK�̇_���|.�̂ݿ���df����.qC�Ot��t��g?+e�h�����`��iK�,Ž�o�jws}�����{t��]���z�ˮ���#rF��k�d�mQ�0�u���� -�O8
+endstream
+endobj
+3655 0 obj <<
+/Type /Page
+/Contents 3656 0 R
+/Resources 3654 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3613 0 R
+/Annots [ 3653 0 R ]
+>> endobj
+3653 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3657 0 obj <<
+/D [3655 0 R /XYZ 90 757.935 null]
+>> endobj
+3323 0 obj <<
+/D [3655 0 R /XYZ 211.842 647.385 null]
+>> endobj
+3658 0 obj <<
+/D [3655 0 R /XYZ 90 633.513 null]
+>> endobj
+3324 0 obj <<
+/D [3655 0 R /XYZ 192.853 355.412 null]
+>> endobj
+3659 0 obj <<
+/D [3655 0 R /XYZ 90 340.16 null]
+>> endobj
+3325 0 obj <<
+/D [3655 0 R /XYZ 211.842 89.441 null]
+>> endobj
+3654 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F72 404 0 R /F56 367 0 R /F23 368 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3665 0 obj <<
+/Length 2153      
+/Filter /FlateDecode
+>>
+stream
+x��YY��6~������l
"Ev���`2�L&���ɠ���vm�#��t~}��NK���v�}%Qź�

��}}7��6BJP�m��H�)	����9�(\,	�x�vA�<�������l����<��1y�������������7�ҢH�@\�p�%����9������5@��\�����
���X,)�󻅢s�?��R�'��F�
"�:]�#E�������w��3dp@�6x�"ƃ�~������ #�dp���AH\w�/��gxR��!,x�Y��^�e���6*6�A�1�e/�:��VX1�O$itA����C��
���������@�)�;����'i�O����
sl�	���F�Œ����*K�v
+1�1Iu�߿�tp�RI��W��o�/�a�$dͽ6�	>5�!�(l��M�7�aLW�N�ك����WI��O��3�0��".��׃�+���c4����hؚ�"
F���"�F�:��,w!;�5��jYh�U��O
5ggO1lkO����I�7��vr��b��3�!1���.�yZx>h�.�]�le~�4�@R־�l�W��q�v�,�=���_C�i��L6�b6�G��l��&�e6
+wf��ni�|jX;?#ˆ�N
\{�CvL�ڋ�ɳ��wق����J���	� ��+ħ��S�t^- Qs���MV[�?$E�1���珸�%���E����w��A��ѿu�5
w9d��SX��:�2�/��
+q-F���V�z���\WѰ?
K�F� V�IK�8b� ��H@�X¾@�)u^t�o���D	K�`N�2��雄����*��l�vk� |d�<ml����_������o�*�N�b��DL���˞���IC	I�T&��`6�~RE"T��(=��Y4�\靗Xt��9\Or00:cp��
���h�s
�N��{yǖ!���<݊�d�
e��
�dI|Dƻ"��x�,�#�(�T�,�S&�T�_��A5�q�6����Zi�.L:T����ν0�e>��<�&��{铙yb�k��]V
s}�~,�1
+	ťd!��Y�3�����:�
��ȘoMgB�$ ;/!���)����>�}^T
/E����B�.Y���#DoZNZ,MTU�+�i��
+�VS(�*u��fG��x���=�*K��7�|���D�?>�i���<����ȷ
C�H"A���#�h��
�e�Q�(R�אf}�q�6,"5,"
X��3:H+��uYf(�H�Q���"���a��D�Ӑ
ɦ�H�ՠ�y��k��&S��V��w&����J�Z�z�E�T��=w�7
V
�2;B6rت�H���zݗ��_:Pc�&��������!ӯ^�
+4�O�(�b*�qM�ǣNWO�@@YP��
;/XrA�р$��x5<�#B]9h�~�>v t���or�qd6 ���
P
X
+܋��)��<ABաpt�A��z��!��m��ഠ7��Ę	�
�W
"F/�K�x�E���
\ªzUZ���7A��S�
���7aݴ�C�"�Iw��!���6�
��ۊ��
(�
��d/3�h���Aǐ�Zn
Щ|8D����X�VA�T]���b)0
�@�M#E�V)C�E��̛�
s��nObB�$L��S��I�;��K-��ݞ�\5%�F�j�7�h�e'fk�uN��9����K�XgJ��v6/t�
T�� ��

`���_��R8
�w�
�:��Sp�����穂��up�디[�Z��
N���E���`�{3
�����I�?�p$b�
e�8���
`��ct�p4����
8��lԝ�W
+0��g����$:���ATc�̙G<�P�yS -���No�Wmw
՚?u<��=���\��Ie�Q$iw&b
���h������ �"��t=1����[��]���W
�� �&m<G���Af+X��v��7;��
4(%��A:�C
0��"��#�-|��m�ɁϢC:(|Lbuf�޹�'tw���]���^H�ey�Oz�s
��ם�?�9�
���[S�LW�o������������
���~�S �nm�HW��kA'CL��
��_tUe�\�	��nJ�pK$��f�-������tB��?�()o���y����I�|U"�gy=���{;>S��k�n/
+endstream
+endobj
+3664 0 obj <<
+/Type /Page
+/Contents 3665 0 R
+/Resources 3663 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3669 0 R
+/Annots [ 3660 0 R 3661 0 R 3662 0 R ]
+>> endobj
+3660 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [491.252 271.894 511.506 282.887]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+3661 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.129 259.939 211.803 270.843]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Frequency) >>
+>> endobj
+3662 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3666 0 obj <<
+/D [3664 0 R /XYZ 90 757.935 null]
+>> endobj
+3667 0 obj <<
+/D [3664 0 R /XYZ 90 733.028 null]
+>> endobj
+3326 0 obj <<
+/D [3664 0 R /XYZ 192.853 442.72 null]
+>> endobj
+3668 0 obj <<
+/D [3664 0 R /XYZ 90 426.615 null]
+>> endobj
+3327 0 obj <<
+/D [3664 0 R /XYZ 439.299 142.797 null]
+>> endobj
+3663 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F8 540 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3674 0 obj <<
+/Length 1305      
+/Filter /FlateDecode
+>>
+stream
+x���n�F����j)�Z홻BQ�	��i
����h����+�z�ϤL�J�&��+Q���̿3߮[���M^-'��4ҒJkyeil9� A���s�`ħ3�1�?L	��4rW��I����]�\�n�[,^%�Ӌ���[B:
��HH��/Mz��$�1�i�ǀ
+&�����k�ס�e��^N5��h��/G��+?�e���4�&��N'o��&�`�j9LX�hr~�-��[1����*�8e�Z'�M�Qe)CX�VY������a�
+
5;� �ț��n��n�'+�=%G
�=���e�����.�0�#e�8���cq�R��`�X'�q�8+��
��c�q��Ԛ�����3S��p�@���Zn��i�����0DU��n���%nf��I�Y�da.d�|FHA�5�,�����|�MA��=��3��j��t�8��h�
����+�8ܕO�S�6�R��� �lS�l �t���	��0��HJ �垪=W�i�
̨�~O�Q
+D��x����ߘ )�o�m}�-�B��
� ��Ef��"��
۷nx+7��F~l���ŭ!���7i2�¾��������~@
+��l�4_Ӈ>�D�9�g�IZ!�
 �
T��:�6�	.C
T9���&� ^"�>]�HWF�!�
+$
2���>]s���$c`��8
��j�hأ�	��L�M�[up+*����d%T!��>&
&�X�Q���O[@�A
�1�`�R�U���u�4�
2����L��
V�ɀ,^���@�/@�@��d%AlVW��$�,&C�<&K$sa�;i�`�À�@YT#_� ��
g�
g���,�lSx�9]��{4kq�������ɬu=oUp&�3�9B��{Fä�<7��O�c?p�$�'
:9�G����=�:Ļ5I7��TK�:|-S��AP���aʘ�tjn�f�v����<XI� �
�*�1ߪ��2�ɉ�LhLg�Y�6���O$�BXЎ�I�������Y�|Y���{c	!Br�3$��?�9���ƚ��OQ�
���bң=��I�c- ��^)�@�tx�~t���C�� ��� �b�81Օh
+�}�%�Ƒ�'�l��$��#����r��k��??{7�λ�fQ�a/�@�~����K��N��/.�!x��LU�B#!�^_ at G� [...]
+endstream
+endobj
+3673 0 obj <<
+/Type /Page
+/Contents 3674 0 R
+/Resources 3672 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3669 0 R
+/Annots [ 3670 0 R 3671 0 R ]
+>> endobj
+3670 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [238.223 141.674 256.823 152.578]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3671 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3675 0 obj <<
+/D [3673 0 R /XYZ 90 757.935 null]
+>> endobj
+3676 0 obj <<
+/D [3673 0 R /XYZ 90 733.028 null]
+>> endobj
+3370 0 obj <<
+/D [3673 0 R /XYZ 90 611.413 null]
+>> endobj
+3677 0 obj <<
+/D [3673 0 R /XYZ 90 596.843 null]
+>> endobj
+3371 0 obj <<
+/D [3673 0 R /XYZ 90 469.723 null]
+>> endobj
+3678 0 obj <<
+/D [3673 0 R /XYZ 90 455.152 null]
+>> endobj
+3372 0 obj <<
+/D [3673 0 R /XYZ 90 328.032 null]
+>> endobj
+3679 0 obj <<
+/D [3673 0 R /XYZ 90 313.462 null]
+>> endobj
+3373 0 obj <<
+/D [3673 0 R /XYZ 90 132.708 null]
+>> endobj
+3672 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3683 0 obj <<
+/Length 1443      
+/Filter /FlateDecode
+>>
+stream
+x��X[��F~����R=;�+��DIդ�Ү�>l�
�]T
����n6��&�j_l�6�9��s�`�������Ž�|I��X:>v�$HP�,"��%��`�ݷS�� [�o���jw��,��9�ɂl7�?O?N�/^_�"���H���`�T���#��i�ǀ
+"���~D	�k�� ϧ3*��������*(t��^�lJ<W'!,�Dx.��(��\L>L��)�!RL8�zr�
;��v0b��<�Rk�S�+�r���,eK�f1D�MoQ�x��>;�A�7���N�5Dƈ?�O)�P�D>}�j�{��i
U:
�Q'����Q,̨O��ԙ�|!�c0i�je�yE�a��E�Ia��
<�	؁�Q��������5��7��{�T�JR�	���#`�ԊxW� ��Z�*NVq��W�B��)�wf
 �X��Cِ�;
�`��:G���{r���E��H����;9J�#�#�c���me ��k@");)�l�S�|�Itq�
+5�F�E]W�ޮ@
����@
+�|ł
+��Y�{��Ӈ ��>��CX�n
;��j �x�ݰ:�7V  ���A1��y(W���C�)bP�i����*�"��>
���*����v��Iq,J_ at 5�Af�
+�!�P`q9�n*�}	 �pc;H�=D!��S��-�LW�G1��CBgq��MP�7+��y(�4�E�GNk�#`� $�Š��řy��R$�7A
�
++wqxg���)I��V��-��f�f��,�v{~��*�t
�@��1IF�'QD�ꓜzJ��8�P� �����"�D��@�gP�jǐgcV�� �yy�=���&܅+}��>�� k
��)���q�
�c�%",�����s8��S
�
G�f�G
�.�"µ�h
��������Qb'��DbQ|&#��O��Q"*J�_�G�1
c���?�R@�
��1ZK��++�ꦉ��\��w�.1m�	�Փ0H����:���Q`�'�%��Գݤ�D�
C������*o���[ݔ��c`�g��f�]�'��<�G at L�^�CԤ�7�K]�_�a�S��v�=�o
+`]><�x���G�
=��~��*�Ͷ��c����B��pK<��P8�s�0���
+�
2,G���@Wg�̮NOwu�7�}�����ml����+]�L9��h
�X����r<o6�pF��?�lr��� ��чoZ}YE$����|d�`��/2�*DZb7�Fi�(��DJ���И{���::x0N�8�v�m̖j�WE	۫�K�w0{�	b�;��`;�s?C���!
i��g??
	��0����4�m�խ�����\g�N�pm_�%H����}oTA͖�YĈ�]�8��
���/��z3)w�����fwE��_\<<<�0G�$�d(..6���a	t�@����f)Oi��",�S����+>0
+endstream
+endobj
+3682 0 obj <<
+/Type /Page
+/Contents 3683 0 R
+/Resources 3681 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3669 0 R
+/Annots [ 3680 0 R ]
+>> endobj
+3680 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3684 0 obj <<
+/D [3682 0 R /XYZ 90 757.935 null]
+>> endobj
+3685 0 obj <<
+/D [3682 0 R /XYZ 90 733.028 null]
+>> endobj
+3374 0 obj <<
+/D [3682 0 R /XYZ 90 557.779 null]
+>> endobj
+3686 0 obj <<
+/D [3682 0 R /XYZ 90 543.208 null]
+>> endobj
+3375 0 obj <<
+/D [3682 0 R /XYZ 90 302.873 null]
+>> endobj
+3687 0 obj <<
+/D [3682 0 R /XYZ 90 288.302 null]
+>> endobj
+3376 0 obj <<
+/D [3682 0 R /XYZ 90 105.526 null]
+>> endobj
+3681 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3691 0 obj <<
+/Length 1433      
+/Filter /FlateDecode
+>>
+stream
+x��Xߏ�F~�_�S
R��?Y֊*5QR5m��qۇ4�8�;�p �������9��\�<܋m����|��7��[;?Ξ/gW�$vR>��卣�#}�%�2v޹#��	��}��E��x����q�~I���8,������W�
v$�����f�g�dt(
B;���N�B�w6�߳	S�ŋMX�ޜ
+�.=E]�n7a�����F
	\�E���\�y����r�aF`�&B"Ʉ��w���k#�g�X��
�7���o3|6��!�>��!�lz�����0T�\�G��^
�:
S��uO>}��d�l-�j��$6{�g*`$��@��raNEҧΜ���?�:-A��b��*ʳ�bWo��7؛
@ �*+����Z�=� �Y��z���P F�S��r*� Q��6p$iw�C+����.�6I��K�3�0C\rg�!�cs�qlc�rs���1H�}��:JF
���Z'����G
wFM֊0�*{���K<*�2�ntVuN��-�(�l�#"��I~G.��bCM%��xŜ
}��h�;,��h*]����mư�+�`��`#�����Y�Ỽ7m����V��b>��z�1��*|>- �UYŋ�±{n�x�����L�J@
�QyM�}�C07���&��(� j�KԔ�S��Y<I(���%���#,�q>N �2:O�(O�a�\o�w�
ܼ�:���CN������JsdX���"
+��Z^O
Ó�:�ֶ�,���V_LH���`.��v���-�G�y

���)8�&zڜ)�3�
�F�
��_R�8Q?�P Cz�&5� �[
4
v�
M�������IE
(
+0����M��L2�!����I�b1U$_VԠ�`����}
�FG�l�PnR�΀L�@����@k�g(����$t��p /4t肴C.
�x

yD�M�^�u4(��x��'Y|Y��|
b�'�QO����5}�$���N�gjM*7��!��K>��j
V�&
+�ҵ�)
cmV��Z?^^�L�;Lv[s�rK���*���m���9K���5�?
]�
+�^
+�����D
�D�dr�w���X���u�>��p�
+�\f��`<u��w	�׻3uAO��^�j��g��/FF��Q
+�� ��FAg�7zQ�G`&�^��t�i�?-?	ݞ
�<:%@��2�� ����l'���ٮV}�A
+&uxz����|.w�:+�����F|9
�ve��o�~5�h���� �M�T~��E#{��El���H��=Ӆ)��f�h���h1����� ]���qn�4�'�
 �7�B!!����BVwZ{ٶZsi�����/���p��k���}��
+J��6,b`R݆�L�Vk��������l�-�G_,;��U�]\]��{�h�%�%��v��:��`�A���C��H$,�aM���
��6]
+endstream
+endobj
+3690 0 obj <<
+/Type /Page
+/Contents 3691 0 R
+/Resources 3689 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3669 0 R
+/Annots [ 3688 0 R ]
+>> endobj
+3688 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3692 0 obj <<
+/D [3690 0 R /XYZ 90 757.935 null]
+>> endobj
+3693 0 obj <<
+/D [3690 0 R /XYZ 90 733.028 null]
+>> endobj
+3377 0 obj <<
+/D [3690 0 R /XYZ 90 555.756 null]
+>> endobj
+3694 0 obj <<
+/D [3690 0 R /XYZ 90 541.186 null]
+>> endobj
+3378 0 obj <<
+/D [3690 0 R /XYZ 90 300.85 null]
+>> endobj
+3695 0 obj <<
+/D [3690 0 R /XYZ 90 286.28 null]
+>> endobj
+3379 0 obj <<
+/D [3690 0 R /XYZ 90 119.483 null]
+>> endobj
+3689 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3700 0 obj <<
+/Length 1515      
+/Filter /FlateDecode
+>>
+stream
+x��XK��6��W��@��S��!AR$}`���$��+qm���J�:��;)ɲe��]=�Ŧ��p曙�Cbg�`�����ꝏ��
��՝b���8������|A0����`W�[ys=���Ӈ��Ky�Kr[��a�|��]}�zGȁF�yHx
�k�`D��"�x��sD
���xF	
[�7�����
+��!uնHe�̛��N�s�*��UHD�.�������5�!
�G>N��}����p0ba�����)����4�}�'��
aO��"�(��֭��� �)�F��^?*�[��
��@�g��R�����ϓ��|r*`$��H*�0�̅
)�=�,A��}�����
�4S7����DyVեL��&�,�|! 
�'��M'u�顂@�ׯ�m�pI�AD|�.UcNB�;�`E�*�B��R��,M2��H
+��b�;
p at P�	T6��
���d�6z�k�?6� ��.Fun��X3J������
�lda� s��$c+C��
���׶� ^/@4�!Y���f��[��Z��`~�gO ��/@X�CT�
����\m�:
���8F|��
+�*��]^�A��Ve5��$
�,��3��.���;��&���<3/�2�Mն�

w��6�����l`��d:,�O �|X��$MMb���3��Q�
H�W%�:U�4�.ۯ�*�c�1��@-����B�py�	8�Tu�\(
 �i��r�k���}( A�>�e>���g���F��S�<rAq�NJ�C
wB2�G���-:5��K��� �H�(��b�W�q���r؟���f�;[>6��2�u
+�f�4
К��Ljq�F���N�Q�+e4'�}0��VĨ�'Y�ݼP��s�\�`K��yv�B^ƭ]F�p�������Ζ����߃b1�px���b�*=�{Ƨ�h�[(~
+L��$�������2�WW,&ʊR�IT�&İ����;#(�������S�[�ծ]J�7-J0�]=S*V��N���Y4
"d"Ϙ�V�|��f��J��K$S�#�桁T��7yl3N7u��vw���G�*	���Tw�i��[�
x��9xe�o��=�v�?����K�,IZ��pyQ&]��y����F#
ǂQD@���?l@�Kzv���=O�.w�
2���Om9���c�A
�Γ\�yj
(tv����gk�H�I��c�'j�҆���N��
7�'6�G��e�9���D#�
��S�28ȆG���\��\�gi�N;� :��|0$x�B����.b�
n����j�������QYp������*���āaeA��w��I��)N��>`2qD:���,��K�
D��P�(�l��'
����� �.��nn��
Nh�ʹ��(����Ys�}lI�<Z&6@�ws8����Uf;���w�UAA�s0v1"D��t��O��0~�崣������>6u],����=�*�˒�DI}U��i
+
h�=��s���m�F"���9����7I�
+endstream
+endobj
+3699 0 obj <<
+/Type /Page
+/Contents 3700 0 R
+/Resources 3698 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3669 0 R
+/Annots [ 3696 0 R 3703 0 R 3697 0 R ]
+>> endobj
+3696 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.9 499.113 513.996 510.017]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ae862a635387c2458da51889c20465f0c) >>
+>> endobj
+3703 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 487.158 120.665 498.062]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ae862a635387c2458da51889c20465f0c) >>
+>> endobj
+3697 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3701 0 obj <<
+/D [3699 0 R /XYZ 90 757.935 null]
+>> endobj
+3702 0 obj <<
+/D [3699 0 R /XYZ 90 733.028 null]
+>> endobj
+3380 0 obj <<
+/D [3699 0 R /XYZ 90 478.192 null]
+>> endobj
+3704 0 obj <<
+/D [3699 0 R /XYZ 90 463.622 null]
+>> endobj
+3381 0 obj <<
+/D [3699 0 R /XYZ 90 292.8 null]
+>> endobj
+3705 0 obj <<
+/D [3699 0 R /XYZ 90 278.23 null]
+>> endobj
+3382 0 obj <<
+/D [3699 0 R /XYZ 90 107.409 null]
+>> endobj
+3698 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3711 0 obj <<
+/Length 1594      
+/Filter /FlateDecode
+>>
+stream
+x��XK��6��W���@�%)�e�=$H��-�&nz��֒m�֣�����w(�i��n�(��(��|����������������B�Sn�W�–�1J�y`��#o����nJ��籿x7��N��0���/�]������������+Bz	�q���`�
6�Mh�����
+Kp��B\լx���b�P���TQ;���_�f�}�
+�)�v�,aJ&m�q-t�r>�{B@
�H�H��ZƓ�O�
+`��������VŖG]xn���&�,��E��Y�"�jx�F�c�%,T�9AG���|��ď�2��xr��p/੨hV�k�Q`d~q(`Ĉ�
+
+Fgc���"����c�mа�F�l�UNO3
8/�iR��%���?1�S��+�/f�����j}�@i�!�ڍ�#�(�u�
;�F�חC���Yu%�(	?����,�����u|��z�3ѨD��x�st
�"��[�Vi~$�z�r
��~����g%�o�D�`
�
��CJ����Q
�H�f
�Ҷɻ�
�P���!)R�R�/�H����N΁�% 
��=�z?
T
�{>���<���"
��p_0^"B���/?/�L��4�U�hE�fQ2��}�o�`���]
�;����<�Rf��x�V#��Q�r�p!�
�3�E~��!
I!
�
~^{,����t�d��x�n��
+�PU
x��C��X��gY��
�vA���li &;X|x(�Ifz�
�+'m�-�gcr�T[��(Zh��	u(�t`�����b��"�曄�"����A.	9�b�O@����@�C�?��j��d$;�D��s,�	��ǟ�V�
l
'����	l�\�2�lE���*�J�<CW�W⫃ 7j8��#�!~�8gt�Le��J��b���;���q�2���E�A�g�V��A�/7f�7Q���,��㒝�YS���p���7�^�����HW$�0 �r\��=�^�� �mK�����1�
+�՘_j�������]�K�0�efiQ �=��<,`�(Y��[=���H�D͹k�����0�T|�X�ޱ\����YNW&���G�3L9��)�
�
+̱W���J!�l��.$�_��6�a�I at c�q���#�� ���u\C{;�H�e�
o�$Sx���a'�bG9��y@����H�um����m
SH��⽎�|�C�9�p�f����uE$AU
V��0�Q_��y�C��uV

ռ��v�<b���\�9�������2Դ
+��~b��u}!���ĺ�,u�=�A
�*�49�O�ze:V�4��#�8�
$�n~�cpC.�ڜ�<���7n� ]�_W�s�aIH�m"?yT�>�Ӻ*F-��6�T�2ǀ �z�>1l���K
+�$)�e�V~�;��3U��m�W{i�MKᗧ[�61����^%�������xpBY3��FI�=���I
�K�Zg��yx�%���� �.�a/�a`s�
T� ��Q�NW0�;�kC<�f�����)cv��~��ݵ�i�‡!�L#}S��aSM�]Y���I�^�-�a�&��,����~�G��(�QT�d���8�zR��]X���8m��(��x�P��
��^�
+endstream
+endobj
+3710 0 obj <<
+/Type /Page
+/Contents 3711 0 R
+/Resources 3709 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3669 0 R
+/Annots [ 3706 0 R 3708 0 R ]
+>> endobj
+3706 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.4 209.745 212.124 220.649]
+/Subtype /Link
+/A << /S /GoTo /D (main_Cylindrification) >>
+>> endobj
+3708 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3712 0 obj <<
+/D [3710 0 R /XYZ 90 757.935 null]
+>> endobj
+3713 0 obj <<
+/D [3710 0 R /XYZ 90 733.028 null]
+>> endobj
+3383 0 obj <<
+/D [3710 0 R /XYZ 90 567.712 null]
+>> endobj
+3714 0 obj <<
+/D [3710 0 R /XYZ 90 553.141 null]
+>> endobj
+3384 0 obj <<
+/D [3710 0 R /XYZ 90 296.865 null]
+>> endobj
+3715 0 obj <<
+/D [3710 0 R /XYZ 90 282.295 null]
+>> endobj
+3385 0 obj <<
+/D [3710 0 R /XYZ 90 101.521 null]
+>> endobj
+3709 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F123 2840 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3720 0 obj <<
+/Length 1539      
+/Filter /FlateDecode
+>>
+stream
+x��Yݏ�F��Sk����(��TI���҄��!�í�]�
����^cc���4y�=3�����of�ػ���b�t2�z��g��Tz��`OI�%�d�]�#>
���zH��`�zH�����p��ߣY
������������sBv4)��
��>q"�Ma������BA72??����įqP�؟

��Ue螼	o�|H�&sxd��>��*
<�
�
P�=R�!RLx���������3��TR+�Sc����>�,eK�"�����ܚx�AÎ!6����>
�`U9K
�SrD�8�'�[�;�4Z8��Ma�f�d*�ӹ@�1�-
�6��:��IQ�A�XaoĈB�joD2��{,�p$ ��K�w6y�<
+fqXL߆��j�p�v��i��
��6Ja�lJ���;B#�$�By#*V'u���eh���\V�2p����9�����pcH�G�"��cL�A�I��K�J��鍳y�
�1����
�#őѤɼeT�xC%Ҹqy�K�A
Y8����eںU-�
+lg]%Qd���m�¤ o�
���`y��Q
�X��p�0�4��$Jn;C�@�h̺	��:!��C�$�% ��neP'�{�5C�;�W$R�F]�@	e�h^o���F
+�W#,hȝ��Vv2{��ٶ�MG���M
k�A-���حf��N���p�4��e�g�aVn�|�M�\��� 
q�����/�ab i
I���7��ʏ�ʎS$.Ss\5BQ�vl�
E �*F bs��u	�4����T�-O
0��4�*�p��`��j��Ul]�
U�9.�R�S؝b��B���&Bu�������P?H(v��������
#Aԉ~��k��@�)�ǎg��(�|y	9u���ۊ��	yj�h'��̗��
�Ի�Q���<���^���s'�KOq��p�4;�:�ԁw�%�Vd����P
qv!k��E_���B�=�;Z�~[��]�b�B�6�z�7ȅ�1�}?�7�$�
���)� ������KҔ ��1����NҟG����S���t���ţ9��Ω��r4?Mџ�А	R����L��/ц��U�1���
bQ-��ʝj�)���S9���|Sd��$s,����7I�K���#sr�̛�r�� [...]
+1-O��BZ�c�h	�{m`��M�M{M�����n~w��^��>b�k!/Ai�O�)~��:<	�֗<,�9�R��BH�MT�=���H1ٝ�n���ێ�+ӽ���v���T��Փ߻���f
���,�߆�oB`�����oB� !�ޕ�k[o����n[����3�0�q(�_��A����*8�7�
F�XD��a�m���s~��mW�
*d[k��RMU-�2_]m64/̒Y���*������B�f��Isg�*͛�x��>V
��2�R
+endstream
+endobj
+3719 0 obj <<
+/Type /Page
+/Contents 3720 0 R
+/Resources 3718 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3726 0 R
+/Annots [ 3707 0 R 3716 0 R 3717 0 R ]
+>> endobj
+3707 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.379 665.984 210.103 676.888]
+/Subtype /Link
+/A << /S /GoTo /D (main_Cylindrification) >>
+>> endobj
+3716 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [448.024 566.725 483.212 597.694]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3717 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3721 0 obj <<
+/D [3719 0 R /XYZ 90 757.935 null]
+>> endobj
+3722 0 obj <<
+/D [3719 0 R /XYZ 90 733.028 null]
+>> endobj
+3440 0 obj <<
+/D [3719 0 R /XYZ 90 547.806 null]
+>> endobj
+3723 0 obj <<
+/D [3719 0 R /XYZ 90 533.236 null]
+>> endobj
+3441 0 obj <<
+/D [3719 0 R /XYZ 90 404.113 null]
+>> endobj
+3724 0 obj <<
+/D [3719 0 R /XYZ 90 389.543 null]
+>> endobj
+3442 0 obj <<
+/D [3719 0 R /XYZ 90 262.423 null]
+>> endobj
+3725 0 obj <<
+/D [3719 0 R /XYZ 90 247.853 null]
+>> endobj
+3443 0 obj <<
+/D [3719 0 R /XYZ 90 110.78 null]
+>> endobj
+3718 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3733 0 obj <<
+/Length 1785      
+/Filter /FlateDecode
+>>
+stream
+x��Yَ�6}�W評���E�Dw� 	���4q��Ɩ�Bmɕ�Y���\�Z{
�<�š./�r�!��k;/GOg��>v$��
+g�r$v|A�ę-��.��O�ؽ
��6�_�)v���:Zf��u|����t�4����xAH�"q��z���fJkQX�V~���Ba
+���8`��rƳM���	�؝�%u��n�y��lL7J0$	\�����l�׈��

�#�qg�
����%��r0b2pn����Q7���o#�`d)CX�:��!Fmx�����0Q��">z�ދ�]��[�#r ��#�#��/gܨ������R���H)H��`-L���ԙ�$��{Pa	Jc��2^5?�
+��S`��yX�I^���]0�pp���Z<OEcm���h@�)�=F$��U`����P��P
+e�'���c��H�{P��{����8f�ڜ�d@��\�y�T����d��5�܅��FUc�� �{'8B
�H�,{����ļe�C�	H�J�
��L�
`2U)@ZX���n�
+��nm�S�2� ���XN�q2��{n��<̮��():δܖ�7��m��R�[�!q_�=�� �M�䉪�ì*#�y���"���"��D��Y&� � �M`c��m�f�
R��H]a�U�n>��gA� b�X��co�����8��
�]��h
�H0�%�5��Y���hM��fHPy�^m�mh!E���
+�7/G�{��6���.��(��t�L���εPɾ�
�ă�#�<����m\��k��.Z�8��C{�eN��h�U���*%�p�G=���UR�t��gI�|��S�����%"
+Ú}Wqj
ݔ�Cv3b)
P��
~�� R����W������z�\�����#N�p��,���6�V�aҒ��}��:��Y
B{y���V�uf�
��J�|I5�r�Z�u�Da6~�3Ǜ<���X0�DԃCy���zo`�	�	
+<�Ɠgi�����I�E�E>�j��ƅ���N�T����t'a�f�	~�/�u>(���|X�ƃ4�T�k���^ q�V�!�7pb����
+��g�o
��U9곑);㞩����Ri� 1����'KH�	��:��'�o��6��P7j��hC(��fx�5z
�|�!I��[�2
�S$d�!�1��R*yE�J
+h�-���}���C��Խt�h�ġ=�Y�������M5i��Z�0Wz�Q�
�mh�fB��Қng�i%��^�o��bm����B�J�'U��1DŽh�]ǯ�V&ֳ	
�7�
+��у�$�S����
��G�MG;�1�/��D\�{�����>��Z����|��L:��֫�t��7E�6{�Q��p�B�6}���õ�l#)� ?��%�
�����,���27� &a�� [�0j���s�Cc1�r��ʵ���
�HKz5��֬-�[��
��
a
P��׆6���eX"����. 	�K���Ai�`�P�1к�_����4��{*٣���.���N-�99.�
N��J�]��
i�נ�nj����X8��i�*�~�T$Τ��<M���#@���
���Y����:���'��&-�O�Ƛ��U�����[����}��ӷ�_���~�V�M�S�_��ְ�PG��~��q�ut�
+�Bm�X¶y��m
~ϣ��1�%�_�d_�Fչ7��B��cȩ��D쾍��6���)�2�Q��%Eد�.�������-r�O�]���b��\
껆�P�/fK`ڦYu�
+�[}y}� 7�;�
+endstream
+endobj
+3732 0 obj <<
+/Type /Page
+/Contents 3733 0 R
+/Resources 3731 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3726 0 R
+/Annots [ 3727 0 R 3728 0 R 3729 0 R 3730 0 R ]
+>> endobj
+3727 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.275 524.293 293.971 535.197]
+/Subtype /Link
+/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
+>> endobj
+3728 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.269 358.693 238.02 369.597]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
+>> endobj
+3729 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.089 105.555 246.767 116.459]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
+>> endobj
+3730 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3734 0 obj <<
+/D [3732 0 R /XYZ 90 757.935 null]
+>> endobj
+3735 0 obj <<
+/D [3732 0 R /XYZ 90 733.028 null]
+>> endobj
+3444 0 obj <<
+/D [3732 0 R /XYZ 90 611.413 null]
+>> endobj
+3736 0 obj <<
+/D [3732 0 R /XYZ 90 596.843 null]
+>> endobj
+3445 0 obj <<
+/D [3732 0 R /XYZ 90 457.768 null]
+>> endobj
+3737 0 obj <<
+/D [3732 0 R /XYZ 90 443.197 null]
+>> endobj
+3446 0 obj <<
+/D [3732 0 R /XYZ 90 204.63 null]
+>> endobj
+3738 0 obj <<
+/D [3732 0 R /XYZ 90 190.06 null]
+>> endobj
+3731 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F123 2840 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3744 0 obj <<
+/Length 1783      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��F~ϯ�S�H���=��H*���@�7�l�&v�xwY~}�xƎ�8�. @e�l�f�m����
\8x:x8
�=�q���T�y�qK�%�x�		F|�q�bHp��d�bHq�/ofV$���y�7����������BZ��HH�*���-
���6~��Ba
n�<8 ��zǣe��
#*p8
j��z��ƭ�4sS
�
+M6�%M�
+	�V���x�
�*"F1�t5x�3X`Ĵ
+��]��S�e�j�� ���Va�$�Ke�m�2�)6�
�� 
��B1�AO,�s���gO��
���/|4��T��49_��2w��E:]��zw2���bL3�b�D��ׅ�l�<sk�����|S��eif?��u'��ED %�?�
s�2���Pv�2ER����wtᄥ^k�ҙ��U�UJ�
�$b�gp��Ǚ���b��u	��ҟ������N�rQk�Wiw�,ۉ����#hǝN*G�DTA(�@\0����SS�p�<�%!��M9��l���d��&I�]8[-�n%w�[o�!2
�+�{Ġ�\ "p��H�żo�ۊ�`@
�����AE�#�H}����d���
~%���l�������BZ5��E�9��0��Y
+Q���3A�(EL	�
���4��uR�
^�i��|̐RM�<D�]f�j��r����u2�+�6����`AG���"Z�T��MDQO�(x)��@ٵ�w"���
����~{S�Q�c=�o.��Y�
��0bD�R ְ
SӸ�
y:s2?��c�C|�ٷ���
QMQ,Y7�

����F&�_�
�����$]%6o4�r	���TPw=gA��Br;�ؼ�"���J��Ɨ�s��fu�/�D�
+ҩ1�0��ͪO0H�͝OQK_���4���if�b�آ�
m꾠q�C�:F��(
rP"�M�G��;M�'e���f4���8���/��"�E�V���u�*L"s��Ynm��Β<3�vm���:��
+�=�2���j�*�}?�
y�YH��NF�@�y[��c2��b[�U��u��k/�	[)���sh�cm�e �\ߌ�\\�����A�6��U����S	v����U��1D��_
�
�BX �5�j#�R�����{p&6(���

���3��@�F
���|g�P8
@%0A�q� Zo��#-�^�9FQ~���N��
q���'�
�����>\/L��z�QE������e�[�{t3�6��Z�?7�¼0�� >�oz��0(N-���c���4⃣)�d;���,�)4ki�~�Y��΅)�
$a{
�[Q������p-��C~1�ȞW}�~B{%�K�"�X
	�7E�����.X�쳬wx���Ⱦ9��[�#����Z�%V�:,Ѯ8�wFmY�> ����ܝ9r��a
+���=q�'���q�8����GϤ�	\�?Jr�?*���m�#�ȝ���V��q��)L����Q|��w�#����aZ�,
N#LX�AZ���}
+ۯ^ȋ)0#��Mpc��ڐHx��$�n쌼v�;�8�'I$�����H�<L"-:;)OpȈi�(�,���
c����$��f�Oa�� �ɭY��H��I���/2����E	p
4:����o�o�o�/ү��=_�N�������f~��+X�-\ā�6+�NN���q�����C���{c��B�
��L���V�++
+p��n
�<����L��_����
+�Z��G
7��(�������M7�2K�J˳�zy��6-)���4���N�U^x��
WUA��?�`y�
+endstream
+endobj
+3743 0 obj <<
+/Type /Page
+/Contents 3744 0 R
+/Resources 3742 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3726 0 R
+/Annots [ 3739 0 R 3740 0 R 3741 0 R ]
+>> endobj
+3739 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.899 494.828 431.977 507.746]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+3740 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.617 204.351 476.603 215.99]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+3741 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3745 0 obj <<
+/D [3743 0 R /XYZ 90 757.935 null]
+>> endobj
+3447 0 obj <<
+/D [3743 0 R /XYZ 90 607.101 null]
+>> endobj
+3746 0 obj <<
+/D [3743 0 R /XYZ 90 592.566 null]
+>> endobj
+3448 0 obj <<
+/D [3743 0 R /XYZ 90 315.346 null]
+>> endobj
+3747 0 obj <<
+/D [3743 0 R /XYZ 90 300.811 null]
+>> endobj
+3742 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F123 2840 0 R /F8 540 0 R /F13 581 0 R /F7 541 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3754 0 obj <<
+/Length 1902      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��6}���SWj/"Eyw
�ER4m�4��%[[

�eW�d2��=���P��1�� O�%��;�w�Q��7���ːz�W�b�E�
#�3o������`:c�R���Q?������S��{�&�<^����q�8�s�0�u���%c
�L)"U }��UKzJ��7
�_��±�6k�"�zŷ��t�θ��bq?�wq�Tw�$�$�2�'�
+�"&��$5B'/��'
b���hȐ�Bz���ݯ�[��+�i�\��.���N~�PY:a

+OB�CXJk_|X%�"=d�҆�Ă�\�$��7c�%e%�T���4�����2����IV�$޼���mI"^�l��S.��l:
��tc��;o�������O��8��ڞt�0hħ�J�	���xi\�
�~9�pti�!�Q��8[Wk��^�D(�5��T��"�n���tYY�T֯SD�����;�LpN���k��f������֠q��:�Ѻ�����;:���{v(����9
���j
ظ��.RZ<#Z�R����G��8���{�"�Y�xChA���)$h,��9\A�MŠ�c��{C�he�$2P&�a���t]��� I��@v��m��P�~�}5]
���,�$ �
Rγd���;S7�F gRJ�*��?�Y���/
��la��ָ
d� mH����K�e�i4~�I�y�]�}��
v.�P�H@N����w)��)��tØ?x��qF�h`%ߞ\iӄ��m&�
�2�řF���N��a�]f�:�~qp�j ���5:U�;��Ji]�tB��]V����
�b[)͓�1YM��mb������o��x�@��b�ވ7f�UU]
��j0u/q
C�[�����#<)K ���� ��먣-�(�';�Ȕ�п������T�z�b�F�d��i���6�])�E;"zz�%��(0��̲#��\4��&KՔ�5x�a]F
n
������8T
�0EH���͍N����"a5Gt���a }��ϧS
�4�R�2>ƛX�&[�d�K6N���TaJ���MئL�@�
+m�9�8@:�s�$	���0�Y*8�-iY�K��VR_��0��U��m?"N�uf0�W�^�+�k��u���A
�Q��*(��
�\�)!-��Ѹ\��'P���6^o�r@�.a[H"��rF��i���g��?化:��A5u亡Z�9F���M
���/SGJ�_��؉
@ħK
������8������ssGp�u�-�Z�Z�
J�hBq�;bA�;��`Aֳ�#%��kqG�|��U�(�(u�&�����%�������fHvU��?S�O�:����L
y�:�3u�8��SǨ�����l��ԨX����9���46E�"QX"T�����7��	o��Q
��y[6�Sv���TbD��HhIV��: �b�=�5U�M�
�7�ߟ�ܰei�
�2��,�8-N�yi޲��=s
�%�����ۗz؄b1�
+�ﵱe�V�
��$�%����D��4�VX2,�dX���Q$�����}:
�uy�蘒e�Jd��ߒaВam?��P�%�Xh۴Z=��z�#j��Z�R�!�AP�Lcw��mO����s�s;D���9m�1/U�:���
�
+b�V�
m��("!�#ǜ�2'˜)T�D
8):
�C��D\s��@`��!O1���P��g�Y�j���q�B�#0*Y#�#��
Y�g!��@��Y�9���*���8iF�
�t��ᙾ�`W��G��y�HA��������6d�Ld��
��w�r.W�sJ�L��-��)��c�%2@�ވ�.�!ڔ0f����O��Iݿ�_�y���;�}��޶(�󛛇��:��,=�$-n����SFڑ�P�f�n����!�ާn�KTx�?#p�
+endstream
+endobj
+3753 0 obj <<
+/Type /Page
+/Contents 3754 0 R
+/Resources 3752 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3726 0 R
+/Annots [ 3748 0 R 3749 0 R 3750 0 R 3751 0 R ]
+>> endobj
+3748 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [323.631 584.514 429.297 596.993]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+3749 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [334.883 348.238 440.282 360.718]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+3750 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.059 98.729 422.924 113.444]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+3751 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3755 0 obj <<
+/D [3753 0 R /XYZ 90 757.935 null]
+>> endobj
+3449 0 obj <<
+/D [3753 0 R /XYZ 90 683.367 null]
+>> endobj
+3756 0 obj <<
+/D [3753 0 R /XYZ 90 669.018 null]
+>> endobj
+3450 0 obj <<
+/D [3753 0 R /XYZ 90 447.091 null]
+>> endobj
+3757 0 obj <<
+/D [3753 0 R /XYZ 90 432.743 null]
+>> endobj
+3451 0 obj <<
+/D [3753 0 R /XYZ 90 210.816 null]
+>> endobj
+3758 0 obj <<
+/D [3753 0 R /XYZ 90 196.467 null]
+>> endobj
+3752 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F8 540 0 R /F13 581 0 R /F123 2840 0 R /F7 541 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3764 0 obj <<
+/Length 1726      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~����&CR$%z[��h�u
е^_��Pl:fK�,7�~�/�F�ӥ+�-O���s�w�a���ދɓ���y�=���›�=��H�)��+�O0bӀ`���S����&��S��|ss�Ve�x���Iy3�=ɯ��/Ϟ��H�@\0�g~oEzF�m~���BA72�(	e-�t��vӀr�ϧ��j[l�J�;o�Z�S�*[�-Ix�N��ɳ���	5�#&<BQȽ�v���Vp���Q(c��Hm=FC��xo'�N��,>��X"
�DT i1޺�&[U�rg�*�|�^�1����ŜZ5�����s.��PA�
�/]6>N)�ir�qw��
+r���o�oU�'k������)�6ͳ���
�~@8�����|����n� 
�[ng��*�*/��|=ps�k7��{~��U�]
�AM	���۝�Ĺd#�~����}z ���w���t�X�,ߦ�q�H p$x�z����'
/��6���{����닪~�S(�F���}��l�6����~ܻ֝�t �bbA�s�n�d�ri��J�U��UZ]ګ�Z���T��ٻ�
.$�w������H0i�?�^��2�~ҁ�[�Q��V�Y�M��l��")]G�'��
(m��i� ���A+��t�H�ʠIڅDq����j�K�s���g(j<� ��ӧ����
�/У�T"ƚN�VIP�ŽJb���h��GnjH�o'h�p,yH�MP�e�1���&�I�k�B-uGi� �m0����D�0D��k�n.
��h�a�T�r�����r�NT�SC`
����<�r*'!��B#��P�F�Q�XP�q���G�mR��
�1�����P�h
/� O
�1<�S$@A]�,y��:�1�ˆ��Œpu�cTR�	�i����t�lf�Y��-(/
+ˮ�mr�{'
+�)��E�;M�j�a���\D�勺w��xAu�5n,H+k�U���\<�v~�\�F��f�$�x�!�
���nD�Y��sr�:����
��͛I�d�i�LΗ)���*����fƙ���e�c�ar�$
�v������֗uj=�3�+n�t�-޵R=  b ���<���y�G<ű_�#���sq:��0g�R�(Ќ���
GA�����A�BS
GI�=�Բ�.@l6.���zw)/�����{o�9����k?d2����� �%��Ǫ;.�߭�0l˹�p�w�C���6���{1
+�@�E!�p܎-`��9v�;W�Z�JD(d� ��7QD-�~���"eV0��*'�Es.�zؒ��880PHp�8��#Vaxh��H�V���
(�	��5p�"F��� 	"�璈�{U��r�߅K2�LΚ� ����MI�o7���bM
6���Ko��a��z6k�Y��5}ج��f]Ac,�;�H��c;ĭ�P�f����B8�B����~:���F`|�&�w3�<���ZHaHJ;��?�20
~���)
� �l�X�44�쫆V
_д �;������\UWJec� �L�ρ
}��A����Q4�c�Ƙ�߅��H>�v��t~w�A��(L���SG�.��=��.�8��U~�1����=ͪ�[;A�Yـ���tRð�[�������m��o����P��d��Sj���U�N�LM��㋆˾U��q���W?OLf;�yLasljtYU������
+-wh��E���(6g����� �"M��5���u%�
nn�Bw+�&M͖
+endstream
+endobj
+3763 0 obj <<
+/Type /Page
+/Contents 3764 0 R
+/Resources 3762 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3726 0 R
+/Annots [ 3759 0 R 3760 0 R 3761 0 R ]
+>> endobj
+3759 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.333 466.348 425.662 481.064]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+3760 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 195.506 322.446 206.41]
+/Subtype /Link
+/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
+>> endobj
+3761 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3765 0 obj <<
+/D [3763 0 R /XYZ 90 757.935 null]
+>> endobj
+3499 0 obj <<
+/D [3763 0 R /XYZ 90 578.657 null]
+>> endobj
+3766 0 obj <<
+/D [3763 0 R /XYZ 90 564.086 null]
+>> endobj
+3500 0 obj <<
+/D [3763 0 R /XYZ 90 282.626 null]
+>> endobj
+3767 0 obj <<
+/D [3763 0 R /XYZ 90 268.056 null]
+>> endobj
+3501 0 obj <<
+/D [3763 0 R /XYZ 90 140.936 null]
+>> endobj
+3762 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F123 2840 0 R /F7 541 0 R /F8 540 0 R /F13 581 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3776 0 obj <<
+/Length 2241      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o��~���SK��\83����`�\ܵ��`�8��J
�k��{�BR�h��E
��px�����a�g�\�^^\~-�,F��b����x&A���2�}
F�|A0��͜� )w��fNq��O�����Lʧ�������巗_r@����<K�
�ep(
B�
o��'�P؂�=_>C����mRU��8X�c�]�Mj�Vީ{U�I�|
K1�Q at 85D/�,/~� @ψE�K$��wųֿ�a��h���v��2�ng���'��
a�{dC!���-���G�1f�
�N���Py�����Sp�%;�gLe���(_g����M#N�S���-,hL�t� Ŝ?/��%j�]]�ˤX�]d9���/����s�u^�n񽱗�̒���V��/��s��J�H�cRV�&ؠ
Ѹ3�׺�S����zP�j9�a *[}0&���f�$&Q��x?g2�:k�B��� �g�|�
+�	����t>-&H�;9˹��Ñ�����h�I��`̴��O
�H�Nb=--(�P�V��
��m�dy��}���
��C��A:�
d���#w�[�+w�_��I"!;��)r
Ų�6%[�X�I���jU:E)d�3�ݹ�Gԧ�~Z՛RU�MOp�(���DLJ�})�wZo��,�H�,��d���c�6�v��B�$��ԺlԔ�E(�i�KNlXw�|���7��8d�@�����'���? w�'������\Rj���P���4�)P؝{����`�<P�Z�-�d�����CP�Ľ�u��
a�V�Ş�H��8I#��!kt� �D��e'���N�ix=N�焐6�N���Xx�ֺ�-4�C��a��1��ZMC����m*
c;�J/�prֆ��`�1���=��;
+�#el b��A�, �#��
�4��S⃃�c�KH$I��'�C�;�>���c�$69�ٍr0&xG��Mb����x��}﮵������>v�����c_jw���=u��!>�NÏ��
�GA��_�hh9&-�r�Q�E�
�؝	�L� o
�L���F��-v�b�
�]Bwϕ��h��||ب����|�b��0�t�h�N���0$��.@�0�RU���a��Y�<�=�#�1fP�q�d����[�
�?��i���&)=�}fŠ;�d�����7�ڿ7j[X��o
�� ��*�u�3:^px��l+d^Y�w��&��ݓ�b[e4���cˌ���)ݒ�f�a���&m<�?\��<
�s�
ٝ�Ό=BM.�"X�z�=�\*��s�S�ʡC�Ϡ�u
��Pp��46���d���{���Zo
��noS�Ӕ։��[��ם.�
�:��C�i7zQ�
xkN�E�lkwoA?|y�;�$mUd^:C:��
X��,�(�G�����e(�#zX
�-C��(fݞ3�%�j��ax�,nOEi
+�S{�W.8��$U�E��Νl��	
+o�Z�m�f0<Y��
x\�zx����=�FDž�	�e�H������D��t��ͧ�*j��>�ʍ{�����
+L��1�f�*)$N�th�����<d�~R4�E
9	�Z:���BK+�MN�O�
���ئ���g�;��%W{�sڒ�*t�U�&�-H.
&9�EjPm_�M�	���pR�专�58+�1��tE�x~P�����#I������߱�}y���Ԏ�t���N��pXe~�d�:���C=!���n
<1��L"��.��M�! <�]����~^]����wo��v��Ԑ$BBD����
�q����
e���M��j�'$F
���1���;rZj_^�N\�|����y���m�5yk�K�Z�Q�ө�`�D�G�
Z>� ��~��u���S�K��8������a�
�
�?�}�.��������! �����ՙ��H���ż�g�J5���5�Y���4!	(P�j�����席�}1��Á�Q"��C�G�

+��<Hz�䠦a�:��m8���-'�:�b���džu2��������/s>�S!ڟ5�� ��Ÿ���5�<��LՎR�������K�Ȃ��I!�?"�l��T��\�N��q�n��/Ed�4/�}i[�	�{"�ےLj�]Ho��S󏭭�Gop��J��s
�p�}�7m�4J��yߙ`D�
����jc��럳��6D�ܒ�",�䶩����r�ߣu��<+J�՗E��<��TH�$����|\��J\3=��5��/?� R
+endstream
+endobj
+3775 0 obj <<
+/Type /Page
+/Contents 3776 0 R
+/Resources 3774 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3726 0 R
+/Annots [ 3768 0 R 3769 0 R 3770 0 R 3771 0 R 3772 0 R 3773 0 R ]
+>> endobj
+3768 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 630.118 116.998 641.022]
+/Subtype /Link
+/A << /S /GoTo /D (main_Wrapping_Operator) >>
+>> endobj
+3769 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 587.634 206.372 616.7]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3770 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [388.398 438.637 406.998 449.63]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3771 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.57 423.183 393.17 434.177]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3772 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [448.024 378.796 483.212 409.765]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3773 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3777 0 obj <<
+/D [3775 0 R /XYZ 90 757.935 null]
+>> endobj
+3778 0 obj <<
+/D [3775 0 R /XYZ 90 733.028 null]
+>> endobj
+3502 0 obj <<
+/D [3775 0 R /XYZ 90 359.715 null]
+>> endobj
+3779 0 obj <<
+/D [3775 0 R /XYZ 90 345.364 null]
+>> endobj
+3503 0 obj <<
+/D [3775 0 R /XYZ 90 167.52 null]
+>> endobj
+3780 0 obj <<
+/D [3775 0 R /XYZ 90 153.168 null]
+>> endobj
+3774 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F23 368 0 R /F123 2840 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3788 0 obj <<
+/Length 1996      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��6~���Sj1�w����ٴH/ɴq[d
Cckl���Jt���=��G�̤
+l�,��ṟ�q�
+p����lt��FZR���%	��e�aL0�)��o'��b�o'���a
/�h�]rWD���������7W_ґH�DBr8����w(
B�
of��Ba
n�����
7iT��)x<�h:�7�42�[�1���		�q��%MD8&�Y��׳�o#bp@*o��b3��
���M��a��vmN|����#������
a)���yY&w���IVkg�3
�Ti%j���1����&�tH�=f�xA=
��,�����"�n�le��q�ob��͓̔nu���[��l
+���
+�X-.�X&�����/f
{��h�/�
���� ��"�)<����"/�����ҩQ3���R#E�ڦ�Q1h8C��{P�:NI4�
I�8I�}�\�G���N~��V
�H7C���B��+��S_K�S������r�~xz�~X������q�s��
+0"��Ҹ���1�D�	�2�p���L�ET,�����N��S"��u ���O�y8e3׈�&%gk�&��l��6�J�WҪ���}�°��t�ઍ7gW>V�m���G�'��
�{B���� Y3�>4^/�!IY���5ְƎ��
+������p}���>&��@�S͕�ځ}�h.)��ɯ�C��ic�/��<�y���w���f����!�^]
:��1�
2D�v� �������q�a�f�ftg�t}󰍳��`��$�#�ԙI�T+�vL!����l@� �`}V��ݽ�l5�����cE�Lݎ�o��{�܀�PԊ_.i6Q|��Y9
	��&+OI�2�����P8
T�kP-��de�L������b��/������"�?W{����ĝs
iq
�yш�����te��f�_�S��˯�A^l�=O��a��6{ݼf
��#�\lȠ�HuƉ������cnn���e���RLV��*�J��T�4+�[��������qј�0a
+�(��mLh�7��2{t�_=��%�|
���ۧ&�f�F�?�Ξ<�~�:�Z
ݞ(�@ӟ�^�o��HO7+*�}��7�#��
�嘴�����KM
�q�3-�\ד�b�b�A��_�����:-z �o���>����<
+Q�!��>�$��l9 �~�:9�X����2��`Tp���yO�?
��h�#O�>X���~	Ѥ�fW�!��&�k0
m����SCa�P���Q<E9�3t at T�g�T�)
J��5N�Ҷ. �[�Y����oC��L�#��i;�j���K@�*Rs8X�v�;'����ȶ{' I[&���UK��:%���Yx�V�kWS��?Y��6}�����= N
��z�Q
���:K~�Ŷ��.
ۡ�����O����kF��fy}
����@��X퀨����C[
U�6$���o�R��eL'� ۨh�g��zm7�L96H5��
+������`�cT�A�����P�K�y�v3���}
hM"�rD��E�ɗnS�U��z��,/!g���B^"�J⇼�av�����	�
C��v��=�d��ؿ<����=�*8���~����81Q���Ğ&&\����s^P��,	�gHȔ1�}��c�g�t?OF0n�H�:��8BF�#y��[�Ͷ�Г�`@���gZ�fH$ 
���"��Q
��j��
a²ÿ��_���O�"��B��L�<���HED�ֽ����O^\�q_�9��:�z�v�5L�V�ox��
����~���:��t�T��^wy��y�U�F����it^������� �'�3	��W
�q�ᝯ
��W��U��3(�W�BC{��Z��>���F()��Oe\|1@����lW_�YXஆ
+k�[� �
e�����z�8�~
�oG�g[mIػ*X�������hQ�]�l
��+��W��#� (l������]X��Ȧ�#���L�E
+endstream
+endobj
+3787 0 obj <<
+/Type /Page
+/Contents 3788 0 R
+/Resources 3786 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3792 0 R
+/Annots [ 3781 0 R 3782 0 R 3783 0 R 3785 0 R ]
+>> endobj
+3781 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 484.618 340.17 495.522]
+/Subtype /Link
+/A << /S /GoTo /D (main_CC76_extrapolation) >>
+>> endobj
+3782 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.659 413.021 268.34 423.925]
+/Subtype /Link
+/A << /S /GoTo /D (main_Widening_with_Tokens) >>
+>> endobj
+3783 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 247.42 340.17 258.324]
+/Subtype /Link
+/A << /S /GoTo /D (main_CC76_extrapolation) >>
+>> endobj
+3785 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3789 0 obj <<
+/D [3787 0 R /XYZ 90 757.935 null]
+>> endobj
+3504 0 obj <<
+/D [3787 0 R /XYZ 90 595.648 null]
+>> endobj
+3790 0 obj <<
+/D [3787 0 R /XYZ 90 581.077 null]
+>> endobj
+3505 0 obj <<
+/D [3787 0 R /XYZ 90 358.45 null]
+>> endobj
+3791 0 obj <<
+/D [3787 0 R /XYZ 90 343.88 null]
+>> endobj
+3506 0 obj <<
+/D [3787 0 R /XYZ 90 117.268 null]
+>> endobj
+3786 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F100 1390 0 R /F123 2840 0 R /F79 505 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3799 0 obj <<
+/Length 2347      
+/Filter /FlateDecode
+>>
+stream
+x��YYs��~���CV��90
+I��xw���5����#	� @�)���
8IY�Ծ�E�FO��u�~��]Nn~�p �T˻@� qJ��&�<%��9�O?��&�6Y}�Q<-��ڔ��o�m�����m�8�����Bz
����3
�hI�C��|X�g�
����
&�wYRU�9�x��I:U�]�����EݩrF���pK
O	5������ 
c

���`��|���
��9���88�mR�����_|Ѳ�!,xgY�P;�֍����@(�%
��a�{}ܩ<قf��3�
�]���QC�M;�H7��C#N�+� ��b,̩�(4��$��u�f�f�E�n�ZmV��Eb�
�2�`��W-�}����_1dz�`t�.�7�5�<�+ŝ��Fw��oĒ6�
쑄��-��E��c�"���jTڪ	�|�����$��էc1j3hT !���=��("
�>�VWKi��	نʯ��#᪵m�����Qz�H���\|&�:�@
K~�^�kU�C0$�u�vW3�o���u'��~P��T�>��uq�=���֙���_~��
��ѹ���q�ޱ5FSF\���k�ؼz{����*���r�����E�d[��uR���
�
�1B;׎��/
+[���
���
+a'�+��]�w)��a��Z��^X3�ŮpRrc�Ӑ!4B����O�ɘtb�c�@���%B��a3'\ 	��P�]�t�Jp���{��2H�^6D�6)��(Q�y#�g;�Q�f�� ������W���zR����'5DI�&J<�
�b�?g}�ns"��k/ "H?<��m{²	��W�L��an��}��_�~�"��nTk2p�5U�d�*P�.�m���|���(v�$:}Hh�ЎydĆ��#m믹�mF9�m��f�>�ꢴU
[��n���Z����K4�
ҬcP��\Pye�uk�BpZp�Y�

��+P���oD�n�
�,�Z�lLߒ���q\+а��Ӎ�Wj�~�ӯ{�;��
+�[ %[\�\+��L�i\՛�-�&Y�Y%��~���bYਃ	�Np�A�[��t�j�u]�~��}=� '
;|r�!�1H��
A����8n��m4��&�U�y��	}�F���)}��G2�Gƿ�LW++�4�m���8���K����������q&��z�@c	F����7F���AExn��FW�+� ��4���-G�q0
+�WEk��}������/�
����S�C������3
+��i9�BH&��$���8�l�{���g5�x�x T:�X�1��ʾ�ꕳ����/�L�cCӠ}2���5��nI`zZ�2�Vo�Ji3�s����_=�
�v
	5�p�=�u�6e���|�<w��� h�ڢ�ۑ<w�2P�L�yR��J�e?@�m'j]��D�1n&j��9?J!D�Y��H��ڸb��?��1�Au&P����D�%Z"Gq&R��f ��@�{
��?G�0h�ax��F���=�����.ѓp }���͡U:y��r�n��a�~��)�`(�P�	�b�6��e�s��� wͺ���sc�@��'�yr�XF���
5gԸ��x.�&/���
���j
+c0y	�	�k�X��`�:����3
+�/�E/;#���VgT�^Z���0��d��!�t	w�I��
.�g�aN��V�	����"ٽ����t`*
+�C�
��%H��[�����@��v��ㅛ~-�z���m�W�wj�m+x���{�&��b���4���v�G#�a��j3���R%ՙ=�e"�����N.�5\�{Zk���z_��Xh=�b����p���i��qE[ōZ�z�
f��r�TF�U���l
�� d�y���'���� �lu�n�W�#��y�aQ���

Ҫ
Ϡ���!5+P8��R2n�w6 |���~4=^���P��_���~�-�þԐV]#sY{c?e�X$cL at q�*>&w���lLh.���X���c;s��ol컿�%�ͪ�%k�j[L��޵R��fڍ-ͪ���\p��vL���� �~��i�>�y�������`"z��M
�M5�T �:��k���~�`�^�
�\SU�4,��`�x�y��.�tF�
�
�m�<���⚞,���r�

�Ԩ
q�6�p/�61~�w{�
d���^�%�0��B~�ӈ�K��IL��e����J��q>u��=��I���hPV��M�;�ڏn9�T��^���_'&;iI쭨
�z���9
h]�}��J��70ݜ���E���` ׶hpc��$nM381��px�
+endstream
+endobj
+3798 0 obj <<
+/Type /Page
+/Contents 3799 0 R
+/Resources 3797 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3792 0 R
+/Annots [ 3784 0 R 3793 0 R 3794 0 R 3795 0 R 3796 0 R ]
+>> endobj
+3784 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.062 654.028 276.047 664.932]
+/Subtype /Link
+/A << /S /GoTo /D (main_CC76_extrapolation) >>
+>> endobj
+3793 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.659 558.043 268.34 568.947]
+/Subtype /Link
+/A << /S /GoTo /D (main_Widening_with_Tokens) >>
+>> endobj
+3794 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.011 396.689 513.996 407.592]
+/Subtype /Link
+/A << /S /GoTo /D (main_CC76_extrapolation) >>
+>> endobj
+3795 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.806 343.104 144.406 372.046]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3796 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3800 0 obj <<
+/D [3798 0 R /XYZ 90 757.935 null]
+>> endobj
+3801 0 obj <<
+/D [3798 0 R /XYZ 90 733.028 null]
+>> endobj
+3507 0 obj <<
+/D [3798 0 R /XYZ 90 495.413 null]
+>> endobj
+3802 0 obj <<
+/D [3798 0 R /XYZ 90 481.193 null]
+>> endobj
+3508 0 obj <<
+/D [3798 0 R /XYZ 90 214.754 null]
+>> endobj
+3803 0 obj <<
+/D [3798 0 R /XYZ 90 200.534 null]
+>> endobj
+3797 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F23 368 0 R /F123 2840 0 R /F56 367 0 R /F72 404 0 R /F79 505 0 R /F124 3030 0 R /F8 540 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3809 0 obj <<
+/Length 2615      
+/Filter /FlateDecode
+>>
+stream
+x��Zݓ۶�_����Z8|$pI37u�i:�ؗ�؞J��J�BR>�}_(A'�>��i
�D�K`w��]G����<��\��p$�Li��EGYJ�$�)�71�(���8~9%8��u~�rJqܬv˲h���y������͇黛�^��H��4���_�Ѣ�
�v�K`
+$x����$L:�����(���TҸ\oVy_��W�]�N���zC�p�դ���L~��GDk�g(c<Z�'o�ᨀ�"��у�ZG	e�^O~�`_�<=�,e��px�T�$$��)�񃺡qQ�˺���3���<�[�~�t�Z�j#�W��{�
T�˲��hU�����Wv���^� ���L]��aY-���RQ�Ř�ea�ڙ���v��/�J���!Hr+ps"����}�V�Wfd��m:Gb~��"��˜y����������_���~�n�[{��f�d��[K��V�Mg	��
���
ITm&�̘�ò��
������fm�
;p1w���p"f�����a�Ŕbv�d }e
"J�̘P�3Dd1�˭�dd�@�F3�(�
�a^� ��j��A��k�n��>��*q�S��͘D\P�1C"����`C*<�
%��2G�q l�DwJ��D�4��`Y�4����4A"��-��
k�L� B�΁�`*��G�H�,�n�7	;V]�O�0�
jK��r�*�N2�Q�HrV�ɱ:�&$
�}�?���
�
�h&�7�t at 2$I�6AH@��{�s
�&�ؘ�=�8�gC��cRb����*%{,�A^I�}�w�����

bN8�
�Ɂ�f��J�MU�9?9}c�7;��%\=��gTR��t
@�9��&���8t�m�Ey��ڷ�n7:�7�,6�h��q�E�[�V�
�#��q�e�!��_�`�GE��՛�^A�x��3F)"ژA���o���kS�=������t%���>����Ÿ�	�^�]�/��׍Uf����ie���`�Ѳ�5�X�)M
+T{�4�r����ER@��
��	Zk��	 ����i�{I� ���s��{c�;����
�lAf˽�*�(�R�B at HH�����I	�o����՝Z���ٝ����[
.
�pq��`h��4�Cv�-�}+�kz:�{��ԅ�5\x �NԌ$J�DzK$���[�R%1{CXCF`�=(�0qPP���
��t�#OAAJS�p�CA�NBA N\���X0��M
L}0(=0(�1�=�c0��D�`P�	M^������@�΄fR���1��(�đ�0�Hp���EА=4d@C��
�EА���B�P��l�
�����az12�H� 
��w�w]u_�@
���	�������m��iN
!R�y�xt�B�~�7c�I9 �dZ�x]�G�R�I��}�����
���0�o7&'F��n� ��Q���3��XR�Ts�r�ɀY �& 
+�
Y�
�	ɑ�A[&�'.y s>��2���"���ܒ5��5��dƮf6o�&3X��6}v7m�p�}����ƮW�)��m��A
���h+��C�/�12ZܜQv`��Tv9�Q���-C)�z��상q��N@T'�AA�6�
fK��%�aP
��RH��0(�5ȵ
߅��|�}*�C� ���C}���3j;�����m���M
 m�ԅ�e� ��ͳ����4�
O��

�$��B�9
���}��Q�N.�B˷�R�
WZ,��
�� �-㘚H�ݼ�.�p���.H�e���:$D�}�~Bu�-7 l�I�<�a�
k�؇���S%��S��Gt 6
x�S`�`\�X���\�

�g�T��Ahoe�� �ӓ8�jB�!,�+ʻ v��f
��
��T�B0#��Hbd6�g��W��H��t��@��,	�C�Gc����_{w�k����`l�Z
���H�x��1�1B/a?���.�?�cm�C�#�H��|\�B��< [...]
+߅��_�WO�:�¶~�"?����jд�P�
Q� �^��N�6���H� �9I�]���
�e��lɤ�U�[=SMRu��߻f�jtﱃ�,S9��]o_�m�w����ZM��flh���` (R}
+X�`_b�wV��;�r�`J�!#H�C�1�NT���PF�O)T�yh�~e�ѽ阪n�:1
�Ư�`�v����P���ړ(��1��=͚�n��fd� �+.��m���f��ӆэe:U���+�a�lT�
6�Hb�.�4�
a�v���ݬ���|��n�Z�������/�'wtr�����N��[�>o� {��/�?���7�*T�3�J
�J3+`���
T
W��Z
~~�=~�&������v�Q�/;:c���������{��٫�'��������,A3W'ߝ�^)����Q�|�r�ߋb��ï� �J".�(�}
��~
q���Ze��K��r^{���Z67?we��)籕�ym�꬏
EY�D�1Rq��������]�}��W

+
+b0�e�o���


ТCۺڴ��6��ձIx��ed��w�|ݴ��$��:W
�#���
R
+endstream
+endobj
+3808 0 obj <<
+/Type /Page
+/Contents 3809 0 R
+/Resources 3807 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3792 0 R
+/Annots [ 3804 0 R 3806 0 R ]
+>> endobj
+3804 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 98.816 206.372 127.882]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3806 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3810 0 obj <<
+/D [3808 0 R /XYZ 90 757.935 null]
+>> endobj
+3509 0 obj <<
+/D [3808 0 R /XYZ 90 655.319 null]
+>> endobj
+3811 0 obj <<
+/D [3808 0 R /XYZ 90 640.749 null]
+>> endobj
+3551 0 obj <<
+/D [3808 0 R /XYZ 90 432.154 null]
+>> endobj
+3812 0 obj <<
+/D [3808 0 R /XYZ 90 417.584 null]
+>> endobj
+3552 0 obj <<
+/D [3808 0 R /XYZ 237.535 231.794 null]
+>> endobj
+3813 0 obj <<
+/D [3808 0 R /XYZ 90 215.067 null]
+>> endobj
+3807 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F23 368 0 R /F31 506 0 R /F7 541 0 R /F1 580 0 R /F8 540 0 R /F100 1390 0 R /F104 2229 0 R /F72 404 0 R /F10 507 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3819 0 obj <<
+/Length 2178      
+/Filter /FlateDecode
+>>
+stream
+x��YY��6~�_��,Ueap 8��CRq6�Vy
�_
��CA#ڼ��"Ͽ�����+[��2�it��� ��<��t�����u��E�
+o��"셂 N���y�}�Q�Z���fE��y�}���/���������燇��ϫ�_�_2�H�@\�_'�[�d�)lB�?o�9�PX��5�]¢~�Y�4�5��߬"꫼��V�'o�^�+"}U$�("\��
-����ݿ���
���!
+���������/
F,�ީ[�{e�y����[d�E�e�0XR���i���DUmZM��R`�g�J��[xĹѴ����X��3���6����*ڙ���\LO�����mu���?��O�e�n���"���3{t�E��k�Cژ5���� 
���q���
��N��̫�M3eޝ��`���>*��=(k�>���
�۟��݂w+B�nkqS<���J�NQ at 5� .�oRm�jg<�>7���7�ϸvZ�P4�
~
�r���?c
"�x�m���"aaĮ�xt0DJ�\�"�SF�
�'8�!�}
m�TQ�;#�#N��1�խ��F�����
��^�Ãa����w��!}:�z�Tq����Z��s�Zs8���V�ku�E0eƒ�4Js(&"DǠ���Vk�%�w�ׄ�W�v�s�>���S�Kwa�1�Kc��_
���Us�ڴx�+5��f�
�6�.6pB#,����
+�Y
Mn
L,H2&
+.L��,��n�\J��H�H�Y�O�����,�99�Qxw[�2 �K`�� ��nRa �cY*�s*��U*
.Sap�
+e8���X�����Hs�,��i�m_��
\bN�P8�\߁��\H#Б���梯�s�*��\2r�
!+��<
�<�Ǖ���,c
HQ�ޛ֦�PB�]�
'�]�|�w	|W��?
zR�y�ءHbg���@�q���%���h���qҖ�Y��IRֻ��[K���
+���Ĭ�O�pR`� h��83z�`��m}!E_p���
����(�����$�?�0
Ы2���y������t�� J`��5�
�Y���js�Fo�����ش]զHwj���2��{@���5����P�P��d�5�p���x,K�M`] 4[0�}�&�̡t����x�~�����֪=�E�
�#�G��3�z�<�fB�q��S�����<�_u�W���ځ��v����f�
�,����|�.)��FC�"�^�m�Vk��d: N]���(�����:t�c�S��)�&^%h(:W:�

+��y��A$�@���O}Yd�>��?7��2�I�e
���Q���>7`Åu�~��͕ྍ�����Yo���f��
�պ&{u����~=8(�_B���-���?V��v����Ͳ��Т�~��
�/�e��H'�i�-ژ.n���6-�ʠ�	������
+싳�Z�"��⩙�A�$ڜ@:	�/�<��5 .��W�w�����@������j�}3�b(>��>�lp��]d��sңa4́�Z���Q5��'�Tʋ�N��,]�+��*u�
V8�
�^#��K_��؋]I�z)��Zs��Jn
1�ɩ%����FX.Qp�t�u��rn�d
լ�ˀ�>Xh#��\`=���K$�I�  
�0�
���˫k(�ۃ�ͤ�[O۪
�
+4�ɲ6T��Z'�v�,��
"�DO��|28o	t>_���\��
�;�

%��a0�
�
+4�!��
+�A5C
s��%�;��{�
+R�9b#P��g�"�f�]��&EiwU$�Ml~��
n&��v<��7*�J�?�FO��qP�����0��~��g�h
����J������Z+���-:"��`H8v���}����}��}��
+h92X�x��J�O
+g
���E��� ]ɾr��V�C�ߞ
�ڜ�s<`8s
���tX�>-��P��e��|��C7Vt�zh)
+.�t\��U�.�,.'�����b6�p�QD�n��Q�C�ǘ{���"(�#�������i?��q
,�~��籽����ڠ17�jT��羅�qq�
Z��#�;��w�s����_�jJ�Q["��	79�m�p:�PҠc�V5J������G-)$@!a�O��
4y
��y)����/
+endstream
+endobj
+3818 0 obj <<
+/Type /Page
+/Contents 3819 0 R
+/Resources 3817 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3792 0 R
+/Annots [ 3805 0 R 3814 0 R 3815 0 R 3816 0 R ]
+>> endobj
+3805 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [448.024 703.056 483.212 734.024]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3814 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.376 441.83 385.519 452.734]
+/Subtype /Link
+/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+3815 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 172.387 239.856 183.291]
+/Subtype /Link
+/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+3816 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3820 0 obj <<
+/D [3818 0 R /XYZ 90 757.935 null]
+>> endobj
+3553 0 obj <<
+/D [3818 0 R /XYZ 90 684.274 null]
+>> endobj
+3821 0 obj <<
+/D [3818 0 R /XYZ 90 669.728 null]
+>> endobj
+3554 0 obj <<
+/D [3818 0 R /XYZ 90 540.88 null]
+>> endobj
+3822 0 obj <<
+/D [3818 0 R /XYZ 90 526.334 null]
+>> endobj
+3555 0 obj <<
+/D [3818 0 R /XYZ 244.439 175.54 null]
+>> endobj
+3823 0 obj <<
+/D [3818 0 R /XYZ 90 158.838 null]
+>> endobj
+3817 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F8 540 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3832 0 obj <<
+/Length 2276      
+/Filter /FlateDecode
+>>
+stream
+x��Z[�۸~�_�����9��9-��b�-�&Ӽ$�@c�3jl�+ə����
eʲ3�@
�uH��w�wd
<8���ϷWׯb
H$#��@� ���i�~A0
+�+�1^�^�H�]r�zI��~}��*��G~_%�כ���/ˏ��]�"d �D�Q�i�6S�Ea�M����G
+�)���ӄ&��&u�\Q��KI�n�M�̌��6Y�$b�k����z�����W��hm�Ō�����8Ha�� #&E�g킐2��o��u��f񤆅DN�P�ޭUm�˚���>Ƃ@�9�@1��
+�1�F��r��~�#��VC��V�����yr��#벪�z_i^<������S�>Y��4�eE���;��ޮ��6_���?�v�he��"!ؚ�]�N
��i��
쫯ˍ��ڿ�u�����b��V��0��Q������:�7p�
�C�u�����2K$�<�K��(�9urɑ
X�*�
���
:x"��E�}�z�H*��e='-3���lƎ��1�:B����4�ٺ)�����Jg��
+:��6+
�ǻ��ʓnsD�ث�(R���I���Xq1�wJ�y�&PD;�E���m��e���H̀�/���^'���4�
G]�4�x���)�Y��Jb!�Py�=�7�ђB���B��莧� P�;p��N/|׉��9�9
�
�H��l�b	����[c�j�<o����?`�|.���<�y�k�KGHt�{��/Y�I�t�3J:������#
�P��\� Oy��K` ���e���<&��<�Y�9�]4)R��(E��٘����>y
�{���i�+��
�
aR�
��9b�p������W`�����2�#��X2P[O�T�^�7�����އ8>6�
�ӀF�p&�r�Q����|�{�
��H�p�Hdx�-Q� �u �e���
�Ql�"��h�C~J ��z�oݣ=�g���C���xG��s�x!
8"�3]��W�!(gM�޴��'zabo$_e�oF��}V@�
+�G�D�
AP�l�N�}����`���L10�$���U�{ ����D�Oj���f�"�ܦ�Di�'�/�+�U�TԶ�z�X���뻷�
����)����>
��=��!"ݬ�>�!���`�ՍO$A�

��
R�!X}2elK�W
+�@)�����
�
�
f��<�n�y���^RdW��v��� ��ǥ������O�W��I�
��[?*7�ӻ% ��=ƙ���������ڀ[̲A{B��oM6�宮R
\8��<0I�n5�S�y`l�����1s�z��`^$M7Ws %���Rg�-�Y�'�0O	x�l�I^�w��R�Ɏx:�����(��abW�Wkv�Y�ź��A���%Yd�v_��H�T���YQѰN$\�EY�U��Հ�D}a�Z5~b7�\�E��E���K 9�sp�
$_��˶�b���dz9�A�/8���ˎa�v.��
S ����8&�
FC���� D��P
�1���Pe�	�	 T�+
�
�}K�
��SL��i�c�^F1���=�▪4���L�t���4�M�yuR��!ÄT[�
�u���c��B��6L��;���V����
�8
'&�a�c���,�S����C�5Cm�4��/qO6َ �c1�3ǎ&Yہ�M&��.�-^Fl�3�ځ*΁2ڻ�+h� r!L�fZ�b�|�s�\rM?
�
d���ޤ�N}���]0w�ܱ�
*�/j�L��Od	E��,��.�ߑ�Bz�"�!��
�k�%vV���A}�~N
�|��j+3��ϑZN¥���>d�
��zQ�
M�@���9�I��q��w��.�l�� T��
�������B)���Kku���o��P����o�6Ye^:�F�߄춽�X�u_
����L���t�UQѾz�����I��w�ɳ	@�]�
�y���w����#�i?��s���f �V,FxԊ���8�F0U�μ2��;qJ�v�D������;L��'�wV��La��i��J �p�_x�o��
+�F��S�=�ʾ�H����Ӂs1'(9�pЃ�D�o��o�x���p����CO	�t��/ ��B�,x������xv
+��&0W��g��X+R�,�ߗ�yu��E_�f��3���3�ӂ����:����|a��Ϥ8
+�V����OT\�6�۬��͹>���͛�~�DP����k��o�����кF�"�W(o������W
�`��[m�W�ʪ
D�y������T�
+endstream
+endobj
+3831 0 obj <<
+/Type /Page
+/Contents 3832 0 R
+/Resources 3830 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3792 0 R
+/Annots [ 3824 0 R 3825 0 R 3826 0 R 3827 0 R 3828 0 R 3829 0 R ]
+>> endobj
+3824 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.639 623.962 300.161 634.244]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a4e6787c98290a49ce80b90c008aac5a8) >>
+>> endobj
+3825 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.144 588.143 182.164 599.047]
+/Subtype /Link
+/A << /S /GoTo /D (main_expand_space_dimension) >>
+>> endobj
+3826 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 463.445 206.372 492.511]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3827 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.635 396.029 163.823 406.932]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3828 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [335.397 348.876 362.844 359.944]
+/Subtype /Link
+/A << /S /GoTo /D (main_fold_space_dimensions) >>
+>> endobj
+3829 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3833 0 obj <<
+/D [3831 0 R /XYZ 90 757.935 null]
+>> endobj
+3556 0 obj <<
+/D [3831 0 R /XYZ 400.69 591.296 null]
+>> endobj
+3834 0 obj <<
+/D [3831 0 R /XYZ 90 575.351 null]
+>> endobj
+3147 0 obj <<
+/D [3831 0 R /XYZ 487.765 352.029 null]
+>> endobj
+3835 0 obj <<
+/D [3831 0 R /XYZ 90 336.084 null]
+>> endobj
+3148 0 obj <<
+/D [3831 0 R /XYZ 90 219.657 null]
+>> endobj
+3836 0 obj <<
+/D [3831 0 R /XYZ 90 205.869 null]
+>> endobj
+3149 0 obj <<
+/D [3831 0 R /XYZ 90 89.441 null]
+>> endobj
+3830 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F8 540 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3840 0 obj <<
+/Length 2376      
+/Filter /FlateDecode
+>>
+stream
+x��Zߓ۶~��B}i�
�� ���$i�i���s����$�c��I*��_����s�8S?ئHx����v�#��n�g������³Œ���z㙒	Jf7���`��
�1�^�	��r��}9�8*6���L�~�ݖI�xu�u�a�������$)��
�k>�K��&�[���PX��5_�aq��MRU�8���4J��MR��Ϋt��s��4_­�
�#��/7�/��3�xC(���-�����
+�;È�z�Ь��8e��f��ſ.�I�R��޳�!��{�V�c�5,��)�����~ܥy���G�)�L�3�+��(6V�G�F���0���{Ac��P�!(b\��
+���K뷛�����oo�}�2�����W p
��m�WY��5
t�う�!BT+�ݳ�
�f��cH ㈨.����JW!�
�u���H�?bL�Y��'�C"�N�<�,�C�ba�l�(ĉ�Co�I�s�*�Us�. ����"��V �,�1�:�7Y���+���
+a�g
J*��g
y���woR�>�P�p�ͻ�T�:{���V��$�>Z쓬����&�ҕ]u�B�Q=̥����XFeZ�˼
+�E ��.��ɦJ��i���&'����CV�V��=�B�7�.��-D�dnQ����i
rf�W� �d Sv �, h��!]�I�Yq���|)�V� "OY.�r��w�G󪐋�4a��BJT���	C|�+^��b��΄�~fy��?�I
PPQ�i�+r��]T�Q8�	���!�h6b]4�]4C81�F�>�6�
q§l�|nR�l��ݤ�
sw][w�0G���
��}nc9/T@*p9���ӆA.vic��t$�% �ϋpy*�A���p`3�����|�^���!1o��Ѻ�87WW!�$T�3�X#*/D����8=��(�x
+p$�����m����q&@���l"
+���-4-Qu�1��
�FY���AJy��Aõ ����{�Vm<�)�
M��d2|$�O��")Sg|Uewy�
+�_���9�]ZV!��(fbJe~��A�8��B�/����Vˤ
�ˣe�y��u ��bÊ�.�em*��*�a�i�_��!q��{8�L-0g�v&͍�2�����v/��Cש�'��&
+��,<Iz�'��n��┭б3�ؚ9��
+��nn��rk�7w��6I
+�(�"oJ t�Y�t����tlq5Z]T~_��3��d�͒y���ۭ������uQ�tdo�*|9��;s�vE�ՙ	���3��<�Q8�5G����u@ <�<K�	�����TD
�p�ϳ�{w]�;H*�&Ҭ���^�7-
�mQ�$��v뫼�J�tb!nܦ�md���C�m�dݺ6v�(�5��ɞɴ���m�����S�� }�o�8�z��G�n
.{�C󿝆�
2
4��OL��ދ��*T[�{�<�-�fH@��0�(> (�g��"(��]��`
9!�"' B�4?JNx��%'�89q��	Z}W{DN�QrBM��Gw������wDO�3�^M�zB�EO��y[���s���W��O��	�K�	������������'�1?A
?�O�b�mS��>�'�8?���6
���O�����I2�'�?A����'�	
?A��
-'�	>
�JL�u_H�!�s�	�
��'ؐ��vL��1~B(q?�K��'tKK�.�
+n/{���&p|@x~�&��� W�I���Lv¨
h
+�x
+~ %'x
+և���]#�e�S�M�T��\�

u���F =��t0� r�Sc�>����(؞xQB��W������x�ϗ~��s��o��߼^lf}�q_<:c�T1d��A�|#
4yo2;X�����I]��������
�͑Q�0CO
��os�L�<᥌
F̳�ƆF!=NLXcU���`�X�1GN�L���{�o����zh����u���O����p�{5:���|���x�8^���S:�B@����b`y�R����2�Ԍ�	WP����Q���MB
/3�3�m��&�m�9@�E�/����v�
l��e���
!n�i��2�M}�An��)p�P�
SG��N(�*��œJb!�G�
+�r
��ϴ��g>
ZP�
(����v�L��-9�$��!��v�Ӡ�۝/'���l
+�%�G�,O����O�t�
��O�KۅL�2��E��
s����,>���|^����;?zx
U 
+
㙧P�ӧ��4����S规p������X�~�_K�O�����w��_̅����'y7����X�g
c��[d��C�:�]�f���/zm��
��~u��������ZVh�g�e��n��
8��fB8R��I��q[��I��O��\r����1
+endstream
+endobj
+3839 0 obj <<
+/Type /Page
+/Contents 3840 0 R
+/Resources 3838 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3792 0 R
+/Annots [ 3837 0 R ]
+>> endobj
+3837 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3841 0 obj <<
+/D [3839 0 R /XYZ 90 757.935 null]
+>> endobj
+3842 0 obj <<
+/D [3839 0 R /XYZ 90 733.028 null]
+>> endobj
+3195 0 obj <<
+/D [3839 0 R /XYZ 479.157 562.157 null]
+>> endobj
+3843 0 obj <<
+/D [3839 0 R /XYZ 90 545.43 null]
+>> endobj
+3844 0 obj <<
+/D [3839 0 R /XYZ 90 364.282 null]
+>> endobj
+3557 0 obj <<
+/D [3839 0 R /XYZ 90 341.97 null]
+>> endobj
+3845 0 obj <<
+/D [3839 0 R /XYZ 90 341.97 null]
+>> endobj
+3558 0 obj <<
+/D [3839 0 R /XYZ 490.972 252.912 null]
+>> endobj
+3846 0 obj <<
+/D [3839 0 R /XYZ 90 236.185 null]
+>> endobj
+3559 0 obj <<
+/D [3839 0 R /XYZ 484.995 149.165 null]
+>> endobj
+3838 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F8 540 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3850 0 obj <<
+/Length 1857      
+/Filter /FlateDecode
+>>
+stream
+x��Z�n�F}�W𩕀x�w�E�&M���4Q��-�c"��Tl�}g���KQn�A
?���p��̙3\��]���f����C
h�%���2�8%A��`�^�	F|qB0��
��Q���_,(����+�΢�_�,�n��
�7����?ұH�DBrx^i��jH���
x���c��܌�n����'�(�'T��r���lw��0՝���d
��&Y�-M����������38 �7D�B&��v��-�p�y��*�.GmN
7���3|г�!,E�Y�cλE=û�C�8��
S�
��vg�h[b%#�
Q���)D="/�ggi^T^������ӝɢ"�|��Ra3u��+�ە}�^�̼�����!�?D��s}�{
+AL�z�*M�2�ZN =9���Ep���=v�^��!���M��!�
g���;C�&�^g���m5T�.JB � �N�#:d�/~��}Q�R��B̑gF<E����0��UΧ��#8P2�_)B5b�M,Ug
�Me�
+�Uo��D��:΋��
X(~�T�����Uőf�<O���]X�>�m��0���Pg�� S�
�� 
�\Ο�&Y7�k�W�#���N��}�XԒ�[�B��#�
I����xj%�<��d=!�Dt7^dV�������K�0V?��j�|2�1��=8�v����
+�P��t������q�	�7Z�c���iX�B��8���K��i�i���I��M��M�ԝ�%WQ�^N��U'~uua�kc�v׃1���g�
+q�
����xF��]��F l�
U�G�@�X�I
�g��Q�T��I���"�W����� 4�D(&��H+vZ�H��I�7�Ĭ-�+
""͌�_���n��7�6*���J
��pǤH}�R�.�
�9��gI�1	2
�F�	�lo<�A>�F�|S�i&��6ysmr�MF�%��Ϯ�ܸX��X�Pq�[ֹ�j��:�T���8�ފ]~�;���R��˔[_�`�X
z�����0�!�Y(�1���5W���z9���e�:5s�f[;-{��
*`\
]l���El�VZTgG�pP�
KXTO�,
+�E\0}�����BA�����/���
+<�1��p�e�����x�����r��p�j�
�N�
��qǂ����
G�t@�V9p��Þ
G��j߃=Bl_ب�(X��'�;=�c��C�Q|�Q�歐��e���!�#R�"���v��B�F:irX�/dM�%�~oB�q1D1C�OuQ��HJ|�FR˩F�M�Z�Ov�@���j�V�n)�
o)��S��r��br
+fkd
��l��T�+��F>
+62	N�ܡR���2����[~��x.�ߺ�;]n��<�;�8�1��q(O^�L��u(X'>�4,��o���Bq�����
���
�����Km�D�(��D�}X_�S�ܜ;
��t���J��n!V�}��!��R]f�Z�G
3
�v	�g�&�጖r�Ά
��\"��W
�O)�	�l��j�D
�o�<%
T�5�6L�8ݯ6��D�o�D��J�\��K⇭��������}�䰲kR�~H�p_c�M
��ὕ��~vG�Q�
08���0�E���F�$������R�Ivt���m�5����[�� TV���1�
+$[h�1�J{��
+�_g���^��r�MX6|T����T�Sq�"���⚏���8IUv�G~�T~�ϒ����I�CO����c��d��tߍU�&��~C�7��>ڴ
�k�dy�2XEb	Uz�1b��}P��<+��Ζ(�pظ�(vg�����h��}�2�����fB8
+۪wY��۴V�qb�o��w����Ě
+endstream
+endobj
+3849 0 obj <<
+/Type /Page
+/Contents 3850 0 R
+/Resources 3848 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3856 0 R
+/Annots [ 3847 0 R ]
+>> endobj
+3847 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3851 0 obj <<
+/D [3849 0 R /XYZ 90 757.935 null]
+>> endobj
+3852 0 obj <<
+/D [3849 0 R /XYZ 90 733.028 null]
+>> endobj
+3594 0 obj <<
+/D [3849 0 R /XYZ 90 666.98 null]
+>> endobj
+3853 0 obj <<
+/D [3849 0 R /XYZ 90 652.41 null]
+>> endobj
+3595 0 obj <<
+/D [3849 0 R /XYZ 125.554 417.491 null]
+>> endobj
+3854 0 obj <<
+/D [3849 0 R /XYZ 90 400.764 null]
+>> endobj
+3596 0 obj <<
+/D [3849 0 R /XYZ 438.998 242.629 null]
+>> endobj
+3855 0 obj <<
+/D [3849 0 R /XYZ 90 225.902 null]
+>> endobj
+3848 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3860 0 obj <<
+/Length 1782      
+/Filter /FlateDecode
+>>
+stream
+x��Zmo�6��_�O�
�
��b7
X�vX�
Y��K[��4Bm˓�&��;�Ւ%���mE
�(Qǻ��<Q�G��F����g�z�Ŕ7��
��"xӹ��J�x�R�|
��exq>fԏw�v��/��$L�
=z
ߎ�N��=ؑJ���	�.��aU���vHa؅V}���M���"�l�&�?
���z�6���^�d
�oW3�e@>(ꄎ�NG� �P2oHM4��l9z��zs��ܣ�����z-=�8�/�W��Gt׳R�<�8�J���X�'" /��4L�x���/�6��������&Z��/?���~Qx���[�U��ޭ�ן\��{7kv~��vy�F�{������i��
�g�� '���Dr�?�M�j^������	g at 8o@�,
>��l
ҿ�_�/����+A�q�?�0�(��<~�

��^���ng�hn�UޜG�4���/mzc�'�O(\�
�C�� �T
+W�.)���>wCB�M��}C)[�9��1�7i���YiH�^'�m��"'�_�VEiގViܥ��Dզ%ǘ��Kl�M0J�E
+�����dk;�b�(�|�O�p+�7#�N	H]��
+��q8#\e�#!��6�ň��M1���y��Y�Plf���|�v:ފ
+�٬�,r�斫�qy�a�@��<��u���Z����Y���p�P���P�](2�i��@�.[@�n9��$��8 �
��
8���e�p�Y/� �+c>1��RI�+H`d�	�l��e_m� v(�54pn^�K�j	U�r-�g��]]�
zR���
Ρ@��V�e
/���
.�l�B��%�^`΍޹e��C%�$��q���� M�R�����Q���)J4�@��
�����*��FL�PC��8]�����.R�J�ݤI`�4l�F
�&��̬��i*���	D��l��
���0�n�u�$���*�����9��ŏ%v7��Z�M��
�o����w��TWd�����vG���h܎pLL��9��ڡ(
��3�	�/�uI�D�[D(E��4��:��o;~�F�����"W>�R�ݴR�.?�@�]���ZcD7?*䇁և��D�6���ډ����L|�`M⛩�:�l�]�`�
�
����E�l��#��P�.M�7]ACL
�j�� �pz�}p���]�bI�N�|J�
�f���Y�[
��?0CT��z@ U��f�*C�(��箮G�]�؃@��GZ�1h� ��Og��'�u�0Ct�
��	�
����f������D�7��
=�����\�i�TD2�
���N�h0t���C�t�Mj�:Dk%����
���
���q�(琟�`���;Q��3�E�)Ã�
��r�)�b�0=m8x;��e���=9T�%���#�'�C�E��
��������g��r�pR��
)� ��,�!w��e�N�]�ɥ��{�'�M~ܣ�
9���}��Y2�TF8���3 at +�1���q‰r��y��<\�F���KŦ��fX��@�QH�U ���S�X��7Ӯ6S�� 
l���Zv��G���g_AWH$;��e� >U�N��S%�_��Os� �:B���B�[�[8d��p�'p��P�4�m�u� [...]
+endstream
+endobj
+3859 0 obj <<
+/Type /Page
+/Contents 3860 0 R
+/Resources 3858 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3856 0 R
+/Annots [ 3857 0 R ]
+>> endobj
+3857 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3861 0 obj <<
+/D [3859 0 R /XYZ 90 757.935 null]
+>> endobj
+3597 0 obj <<
+/D [3859 0 R /XYZ 125.554 634.327 null]
+>> endobj
+3862 0 obj <<
+/D [3859 0 R /XYZ 90 617.6 null]
+>> endobj
+3598 0 obj <<
+/D [3859 0 R /XYZ 438.998 459.465 null]
+>> endobj
+3863 0 obj <<
+/D [3859 0 R /XYZ 90 442.738 null]
+>> endobj
+3599 0 obj <<
+/D [3859 0 R /XYZ 125.554 207.819 null]
+>> endobj
+3864 0 obj <<
+/D [3859 0 R /XYZ 90 191.092 null]
+>> endobj
+3858 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F72 404 0 R /F100 1390 0 R /F104 2229 0 R /F13 581 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3897 0 obj <<
+/Length 1608      
+/Filter /FlateDecode
+>>
+stream
+x��Ymo�6��_!`@g5CR�(e�6K�tm�%鰢-
E�
�z�^����(R��Ȏ�ui�}�-�t�{���[K
[�F/.G/�<�9Ա.��-��)�.�և1��O�c<>�<��؟�M(
���Z�s�&���|}xxԹ1!�8M&S���(�B<�
YߓI �3�
�L>]�

_��

[��
$ln���'l����F��Z��*���=�.F���fZ��Em�
��:YL�����T
�$dÚrĄr[۾1�� Oخ�p�p�)A�c'm�Y�$�6��aQ�u�j�+Y��L�`x����c�	�f���l�5~2pB ;�66������j.?bL9
+��e�Ks�O�;�Y��7a�a��[�B�
+K}
&e:�
��6�|8*��Y�.�e�'ŀG�B��y��+9���Z�?(k�(F �)��q�����.
?*�ֱ)�E�]
+��Wa!�^�ZA�S`ơF����0�a.���Tx������\}��*2��59�_\�2���ZY�zC�ȳicc�8M���Q�
�8��:,����3�/�<nª�0Y��*e�����/
+��C�*�C4�ͦ~�8����tH4�s醓��b��Scr���n���0��5�nCT�L�
�����ත���l.�2��_6�/�4H�(UP�ZF�~"yX�ᦑ��t<0@�ib)�]�S�C�E��ڀ�-]VT0m��
�}���.
�`�f��o�aZ4@�)
>������,�&h@���waD�|h_�6^���?��ț�v��
�N���r�z1bw#;I�
�ea�S{l�4��yM�J�L%�ɸK�Y�DOc��A"�L�8���0А���4�~Y%��
�>���Q"EN���Q�`RJ�G����s�h�P�D8+י
z>��YkU<�Owc�s���LgǑT�>��s�̟�;=������$�|��g�����1
+�C�c��U�M��PmL��P%�U?���oҾ	�����neL���B�M��Y��B9�n"��I�Ï��ź��h�ד��Z��;�k�u}w�

[�A�]^+�_�
���VӾ��SC�2Pɯ�H�N�2�f^������'�� bj��a�U�+���|���X<K��T�5��A��
�KhO�����i����N���ugO\>ҍ����)����?lB��=�
�O��v����z����"�p<PD�E����>W�
:�Ϟ���M�#����u�IG��={s�����}�ډ��>��~+�X10sI��T��e���A��Om�@փ��?Ol����7{�$ʑ�vF"{
Ϧp���{:v��@��D=��i�4p����Â8n�o�?�w<9���
P�?6 �$���+��=Ļ��=�9�ۈ{�'�]��l�]��{���@���e����!��qW�mk1��'v�4�~�\�7�j���~5�p�Z�S�ߎ���:���S���aw���Sq *����J�W��_�B	��G����\6�#}i&H��]!��'��M�o��jڐ��
��E;�����M�6t�
�
at^����/�z�v-q)¢
�^�evxp�Z�PP�*	�
��A� [...]
+endstream
+endobj
+3896 0 obj <<
+/Type /Page
+/Contents 3897 0 R
+/Resources 3895 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3856 0 R
+/Annots [ 3865 0 R 3866 0 R 3867 0 R 3868 0 R 3869 0 R 3870 0 R 3871 0 R 3872 0 R 3873 0 R 3874 0 R 3875 0 R 3876 0 R 3877 0 R 3878 0 R 3879 0 R 3880 0 R 3881 0 R 3882 0 R 3883 0 R 3884 0 R 3885 0 R 3886 0 R 3887 0 R 3888 0 R 3889 0 R 3890 0 R 3894 0 R ]
+>> endobj
+3865 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [121.93 535.704 280.942 546.608]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+3866 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 480.845 173.467 491.749]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a4b841053fdf5718c17a018ff650b550a) >>
+>> endobj
+3867 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.282 480.845 242.925 491.749]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+3868 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.089 480.845 412.478 491.749]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
+>> endobj
+3869 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 441.991 173.467 452.894]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a33d58476db85f48e4ad680c69bca524f) >>
+>> endobj
+3870 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.804 441.991 278.631 452.894]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+3871 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 403.136 173.467 414.04]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a2b220dabc613a89a062968101429e58c) >>
+>> endobj
+3872 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.282 403.136 255.109 414.04]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+3873 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.638 403.136 336.583 414.04]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+3874 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 364.282 173.467 375.186]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_ac98ed1378829f72aee73c40dff16f269) >>
+>> endobj
+3875 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.804 364.282 276.947 375.186]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+3876 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 325.428 173.467 336.332]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a8a6c3f01edb04382620066f17b63b20c) >>
+>> endobj
+3877 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.282 325.428 253.426 336.332]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+3878 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [275.513 325.428 335.458 336.332]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+3879 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 286.573 173.467 297.477]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_ae46f7a91b9fac1a62ef875ec5c72aab6) >>
+>> endobj
+3880 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.804 286.573 285.256 297.477]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+3881 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 247.719 173.467 258.623]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_ac3126925bcd3349b150771d52c19639d) >>
+>> endobj
+3882 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.282 247.719 261.735 258.623]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+3883 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.245 247.719 348.19 258.623]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+3884 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 208.865 173.467 219.769]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a9720487deabf813a31afd4e9cfe695aa) >>
+>> endobj
+3885 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.014 208.865 298.956 219.769]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+3886 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [343.756 208.865 419.222 219.769]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+3887 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 146.1 173.467 157.004]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a68e25304a250a8c739927adfb90043d1) >>
+>> endobj
+3888 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.547 146.1 235.147 157.004]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3889 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.266 146.1 283.993 157.004]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+3890 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.989 146.1 423.455 157.004]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+3894 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3898 0 obj <<
+/D [3896 0 R /XYZ 90 757.935 null]
+>> endobj
+510 0 obj <<
+/D [3896 0 R /XYZ 90 622.516 null]
+>> endobj
+154 0 obj <<
+/D [3896 0 R /XYZ 90 615.915 null]
+>> endobj
+3899 0 obj <<
+/D [3896 0 R /XYZ 90 499.819 null]
+>> endobj
+3895 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F11 446 0 R /F13 581 0 R /F72 404 0 R /F79 505 0 R /F97 1188 0 R /F38 2120 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3934 0 obj <<
+/Length 2133      
+/Filter /FlateDecode
+>>
+stream
+x��Ym����~����`��
�KI���v}W$�
��:��H�����wf_(RG�tɹp�~"�/�;3�<3���m@���o.�^)�$�\7� ����Ĝ7��c�(�GcF)
ߏ
�j�Mޏ8
��~��U6�!�VY���E�cĒ�,Fc
���*�k��A/����L�d�"2�G��|����o
�Ff�+�D
����
ڿ(i�̨uq�Up}��
�Ԣ]�b�Q�QI"��
Belu��yl����$ERENJH$S�0��ެ�FㄫW(�
�����Ǝ�I�$NT+i��E���.�Q�x;��n�h������c�*"J�`�Ic�"�ƹ\�U5�Ε*�Dc:+����"v\>9�^f}d/ƺF�$C��
I�H��t�
Q$aiO��2.��''��_��:=bq���O,(��1�
����_&c
�9�$�ȸ�~|��w?�����zR)�(�2�"L����Qd�<�櫹
�̅�}l|DEqQ�q/�ޔ�/�6N
��~zH�`�s"#��G��
 E�
+E��ݬ�n�"[�"R��!M���r<"=�e}"D~^��AN$
FSg_�5�� /a&3����2h���)����
{]��闷�����s�����p�zc=>塦�{��O��~$��k��j$T8�
( Gn�M�F�����z��?\����v-7��`��~Q���,]f���Z>86X^�av0�X0�k�C��O!�F>C|�T�AiwLD$m3w��k;��Iy��AY1��b"�v�~@�"��f���N�yz�yY��!�5��š�-0�(I��B,�_ �۷_b�
�
=7�xD&<<�A�i<���@i�u>��z�*뭡
�O�40�` �L�:h0�����
&cB�|(��^��� �W^���ypH>T���sa�e
�Q�R?��".��e�:���d�]�&�'�bbs\6k�Z�~�hU�C�J�cTö�
��ԣ�tD(���t��4��v@^۝k��1�7z�m�ݩKTz���$%��� ��	���
+�Z�i�������j��z`����j-�U=��X�
+�g�
+g���$����:vO%uv�m7��&�r[̿�c���n��zt�?
�q���G��c�M�q$����0ww�R7Y�2��U���}R�9���"""�g0�F&����"��F������weEO��Ya;��?��K�l�%<-ɇSÐk`�I׀�Jo*]C
Z[�Y
�Z��W�ۊ�Ծ����k�����0�"���չ�9X�Z?/��+Ƥ4{
��f��w�n������
�d��J0���8D2����c�����(b�τ"f�X�����+"
N�xb΋[ےه��w���ɪ�����uoj���"��6ba���P�7!��=�A��3m�k�����,�r��p����q�uK������kM�B��:L�u� 9�G��m���\;`j	��
��LT
�#V,����*�V�

�ZMMu���r�i
+�;�#x;�Q
I�HK
��F��q�e
׹�����������=��U[!Cv���M�w��M	��0'�EÅ�19�4!�P��?Oko�F߽V���+��PϨ���vŬ�8X��Gش�M%�̩�GM�
+�;�U��lĻ�S�|�;��Fc[N;Щm&�
���e��&K�mΚ��61�P��B�CѐY¶�x��4>?t��i��nv�v��У1
�4���2̉&�5>6 H0�	��\�S��8��6�r]ۖ�	p
��`70r�RFZ1+aC�и̠�(l;ԉ�9ն��s�<2����]�,}G�19�;ˉ�
�#x��K4��6r��1�����	%Q��L_.�еUĬp3��g>��R�%�v8�t�Ս�f
1�dnƁy�	ʑI�r��Q�t�-m!�>�10�*ƞ��@��Jx�I�
�i��!.�r�Z�W���XA��$�]e�>.���;K�%Yr�og���P��8%q||Y����UkG�����Hw�j]�eC
���b�@L6��:�	�!;��}ߵ��j��W�����;�eP\Q��5˦�<����vdV�m�o*�7W����.aw��Ϧ�ۅ���e�}ᅶϐ���?� ~
+endstream
+endobj
+3933 0 obj <<
+/Type /Page
+/Contents 3934 0 R
+/Resources 3932 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3856 0 R
+/Annots [ 3891 0 R 3892 0 R 3893 0 R 3909 0 R 3910 0 R 3911 0 R 3912 0 R 3913 0 R 3914 0 R 3915 0 R 3916 0 R 3917 0 R 3918 0 R 3919 0 R 3920 0 R 3921 0 R 3922 0 R 3923 0 R 3924 0 R 3925 0 R 3926 0 R 3927 0 R 3928 0 R 3929 0 R 3930 0 R 3931 0 R ]
+>> endobj
+3891 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 707.957 173.467 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_ae9a2b78be6811d666fb9d145078d796d) >>
+>> endobj
+3892 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.091 707.957 262.251 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3893 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.717 707.957 423.183 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+3909 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 645.192 173.467 656.096]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a6b286c9e001bf126a0ab85aac675786d) >>
+>> endobj
+3910 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.917 645.192 282.185 656.096]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+3911 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.304 645.192 426.77 656.096]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+3912 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 594.383 173.467 605.287]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_ac86d25d06285c9a2e890770fed084574) >>
+>> endobj
+3913 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.804 594.383 221.058 605.287]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+3914 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.338 594.383 325.804 605.287]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+3915 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 555.529 173.467 566.433]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_afaae25a26dbecf9341c7fb2c2575f81f) >>
+>> endobj
+3916 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.804 555.529 260.36 566.433]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+3917 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.924 555.529 353.39 566.433]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+3918 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 516.674 173.467 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+3919 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.206 516.674 225.013 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a59d06e9b429faef7a632d58e4a0b12bd) >>
+>> endobj
+3920 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.35 516.674 311.906 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+3921 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 477.82 173.467 488.724]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+3922 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.206 477.82 225.013 488.724]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a6f581bf46ab0488f444977453ba2ea2d) >>
+>> endobj
+3923 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.35 477.82 326.292 488.724]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+3924 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 438.966 181.215 449.87]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a09726be54fe2a591787de59eeffdd2ea) >>
+>> endobj
+3925 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 400.112 241.112 411.015]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a5eb7f86790ada6549123a0225d68a4de) >>
+>> endobj
+3926 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.449 400.112 328.006 411.015]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+3927 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 350.298 255.488 361.202]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a6424da8931d774f6a2e403c1e2f0d09a) >>
+>> endobj
+3928 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.826 350.298 342.382 361.202]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+3929 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.174 267.852 352.73 278.756]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+3930 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.326 122.84 370.268 133.744]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+3931 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3935 0 obj <<
+/D [3933 0 R /XYZ 90 757.935 null]
+>> endobj
+3936 0 obj <<
+/D [3933 0 R /XYZ 90 535.768 null]
+>> endobj
+3937 0 obj <<
+/D [3933 0 R /XYZ 90 496.913 null]
+>> endobj
+3938 0 obj <<
+/D [3933 0 R /XYZ 90 458.059 null]
+>> endobj
+3939 0 obj <<
+/D [3933 0 R /XYZ 90 369.392 null]
+>> endobj
+3940 0 obj <<
+/D [3933 0 R /XYZ 90 312.978 null]
+>> endobj
+3932 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F38 2120 0 R /F11 446 0 R /F79 505 0 R /F107 2332 0 R /F97 1188 0 R /F23 368 0 R /F31 506 0 R /F10 507 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3949 0 obj <<
+/Length 1443      
+/Filter /FlateDecode
+>>
+stream
+x��XK��6��W��@��C�c�
�dS$} �nzIC+ѻD�p$����DR�d�k$͡@O�h>f������s�`�ų���� ;�|�;7'�N��)qnR�K0����o��q���7K��2�݋��׿��*�v���G,I��rE9v�gq]�Ƿb#��D�ؙ
s�ϖo^/�n�L��L�
+w�|��#vR�`Ģ�y�f�G�f����>�e�|p
Q���U�$����O��
1
~Q&M.
++	���p؊z�y����|
`�`d��0�˕�}7�`H
f��n+Z[.^™{
{�"Ίq�u���~e�(r2��aq�.�Uxn{�� �3��#�C�G�Nx!�D!�X��U&Z
���<�̮�$��
�o'����_Wo��f
�
A? $�loo�Rjg��E&
��!}���_��L���w���f+
�
O/x��,5E ��&��I?4�\R���$�UmF��4�o�Δ��ٚT)
�U�-�	+����: ��F��s�����a�q�H�
!œ�&�؈4HX�o�S�������Q���Hh�����qbA*���eq7Yr�؏cǾ���+⡈��<�"�Ky���[��Sa�x�C��sB�G� p_6Y��o�.�-�@���Ѧ�OMv���/�ت��>��P&�J//3Qܩ���*p�����*[T
�src��Nh��y�0''@%����
>
+[�}����7��?˴!"=H��4d�����G�/�Rݛ�
����l�;����
J���9��B�L=
e
^�'�4�MGRF�si2��9F(�H����9ʩ�9���Ҭ�JDzP��]�D����+~I=��Z
�R@��i��fZء
�'#���|4���
�0�Q��mIH�|�'
{�HH�i�ϥ��
��7�|	
+�
	���=�,�8��<�-����C-9Wv�r�0�>�*��Bg2]��]c[�c8Dз�;I�s���
����)&>7`����c(O�|�"D":"�]��'�\(�ea
|���8��z��
+}oL<oE�K2�~Ul�پ����KX���nfoƑG����Yn"�z�?=ML�HZi�������g�)C�E���@�׎�J�
ا��]��c�5b�+���feQ*�E�A3�δX4��4�7(-ɇ��a�z�"���8!���X�+�(1�������r
����z�S�I�f�I��[DB����b<�qU�lҲ[�͈��f�;`�D��J���
oD�-�l=��YY�iGлWw�d��Q��q�u7��M�[���*Ro��˓v�p懧���}^h>8�p>%�7m��rf^���W#j��]-����Ƒ��l�ϭ�����?(S�
+�w�k!��گO�}�uѕ�`-	)�V�0�+����xxx at I��:���T�mvqʽ]�t�]6������#
̻�g��L<\�
+endstream
+endobj
+3948 0 obj <<
+/Type /Page
+/Contents 3949 0 R
+/Resources 3947 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3856 0 R
+/Annots [ 3946 0 R ]
+>> endobj
+3946 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3950 0 obj <<
+/D [3948 0 R /XYZ 90 757.935 null]
+>> endobj
+3951 0 obj <<
+/D [3948 0 R /XYZ 90 733.028 null]
+>> endobj
+3900 0 obj <<
+/D [3948 0 R /XYZ 90 716.221 null]
+>> endobj
+3952 0 obj <<
+/D [3948 0 R /XYZ 90 716.221 null]
+>> endobj
+3901 0 obj <<
+/D [3948 0 R /XYZ 465.707 508.542 null]
+>> endobj
+3953 0 obj <<
+/D [3948 0 R /XYZ 90 492.267 null]
+>> endobj
+3902 0 obj <<
+/D [3948 0 R /XYZ 90 311.358 null]
+>> endobj
+3954 0 obj <<
+/D [3948 0 R /XYZ 90 297.24 null]
+>> endobj
+3903 0 obj <<
+/D [3948 0 R /XYZ 90 89.441 null]
+>> endobj
+3947 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F123 2840 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3958 0 obj <<
+/Length 1168      
+/Filter /FlateDecode
+>>
+stream
+x��WMs�6��W�Ԓ3%�H��x�L�vƍՓ���$c������wA�)˪�ķ�H�
`��ݷ ��
����,f�w	�2�qʽ��˰�p�%�b���#�c�_��)��U@�_��l��������r�# �_WAH�/
Ѷ���\�r	+�$�|���v�q�v1�gF�5����$b^^�nn����
FQ�z�Ϊ�b���g��YX4B��,DQ�-О
��1�A�p��u�j3��e%����z�jYZӟ
��;�c�oLQ/$e���n���P���3�mI�\<�"(����QU�*�Kr�.�n
+�+}k'2>��a
~��G��o��X�h
+_��8&������صn`me�랕�ɐ$�S�z� O/���(�
ѽY��{]�RV��'����c�:'�L:b;�(˸�Ǚu��(��M;�}Xe]��g��et
�єI �a
89ϧcA~ƘV�Z�?z
sD��)�_s��@���
ҹ�ˋ
U1���B-�D��B��9
2�2z�����
8♯��(q�@O�4�1=f\�v���
��F��ؽ����
�Ԫ�-TQ�e�I�����I
D]!s�7H��r�ɋ��6CL̚�D��.�G�)",��{㴗1��.�Z�0x�%}��@�)8,E�H�'���B�}�6[}jm�QL���۲ܟX;b(�ɋ4������y@�����!��]
+�$
�zjk=I�j=�H���B�c)
y�����L�f���\���#�h��������E����^�b�:]ͮK�Eh�#"1�ң�@��m�A4\�K��/��8��S��Yt����f0�WH����@YL�
+�M+�W���,�XO�l� ��V�(�}��+#�pz�
���=�X�+y|�����r�
��/�'3�ňD�G�����^����9�'}�#������u�n���b�`@|ñ;9��&�5�v�A���zh��>�y
*rs�
�2���U�����Q�_�s
�~Q�bߵs��Ѻ&�={�1��c��]�rF��y����<79��+4�c�!�2��Ԟ���~�
+����9`�w���V��T���?D#BL	@W� @�R:���^��۬k�oIJN���\����-�Vj� ��M1
��*�}������QY���*,������t�1
+endstream
+endobj
+3957 0 obj <<
+/Type /Page
+/Contents 3958 0 R
+/Resources 3956 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3856 0 R
+/Annots [ 3955 0 R ]
+>> endobj
+3955 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3959 0 obj <<
+/D [3957 0 R /XYZ 90 757.935 null]
+>> endobj
+3960 0 obj <<
+/D [3957 0 R /XYZ 90 733.028 null]
+>> endobj
+3904 0 obj <<
+/D [3957 0 R /XYZ 90 538.132 null]
+>> endobj
+3961 0 obj <<
+/D [3957 0 R /XYZ 90 523.562 null]
+>> endobj
+3905 0 obj <<
+/D [3957 0 R /XYZ 90 295.265 null]
+>> endobj
+3962 0 obj <<
+/D [3957 0 R /XYZ 90 280.695 null]
+>> endobj
+3906 0 obj <<
+/D [3957 0 R /XYZ 90 137.854 null]
+>> endobj
+3956 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3966 0 obj <<
+/Length 1679      
+/Filter /FlateDecode
+>>
+stream
+xڽX�r�6}�W�f"
�2ӸI�i���3�L���,s�E%����^�&Ӓ��I��.�sA�<��6{z1;z.���TxמžqJ�����'���`���9�~Tf��ٜb�H�7zYF�/��2*���'�s�E>_P���4�*;|��u�N籆��
�O��x1{v1�wF�4��.�d܋����[��
FL��m3+���7��g��^�(CX��-D����9�7�x���I��ʍq��|[�:��3�
=��VX"�C�12^UO촑/
&$��� ŝGot��S}y��7���B���[/7Y��؛qP��/����� ���[`�dv��M�.]�#�v��vj�S�xN��&�j��D����q�
+c���HP��ō�>&�ot��Τ��V���
�I��*i�'vS����5VtX�MFJ	oA��С+�t��j���e�,"�8"�Y���GY��T�6u6**�C
+��A�
��>X�1��M����}L�|p���E�V�E�n�Q��Tt`
%b��
�^��b���ޕ��M�̰Y4�Du�hP�`D 猪���M\oJ�E[;�һ�Sm�
7Ô����!���;�;e�P������e��Z��VVۼ��:��4ݶ(��S���N�Z�$.E�
]�E��]��C�
_Q�Jۅ6g�P�ɀ�x4�6<�<
+��i
�~��i^����#�l�L�S�J��u)9)�u��z{iElb��$���nWذ�䖀N�Kx�c]�_��<�����g�^���)
��}Z&8[
Ү���u��I�a�©"�b����3xk�CT]��be�p�T�

ɼw�}
+a, v���p��]��s4�Q&
K����t`�C�P��������D����IȞ0�
�X(D����;���V��ɪ{����~�)��P"��
+�Di���@&������lj�+
�\�۵�!mF!��צ����&����P�A���)�Ht>�ҜL&@�Ԙ|&�Kut�dGwJ�O��	'�ej_��I�8>"0L"


+�`�I�%P�A��UaN��"Z��y�ף�\�b�h!x�D������Mrhh���B ���/	L�
��J�Ŧ
���~U܍;�`D4��Fr�!�M
�Y�;d�@�S�9�>��
$�Δ�hu$#N*ݾ��֊8�,���7
�Xc�� �Q�*����'G;���>py�%�5�1�_������_W%\Y����K�
�|HG���,�
����8+�oAy0%B�8���]��5�������q��U}s�˲(��&AǤ�]+
��B��>t���l6�WN�٠��(������UO�w
w��'Y
�Xk�fcw6���y�٧pe���B1o;�(X��s0�s�rVOj=SH02���0 at L�Cb�&�^`��ĆpK	��< b��_,�".ܷ��X!��8����<����&ZO�E at T�q��*P��
+��/��ag��r�$QH>U�)	&U
b2}]4��<F��P��p�
�|Gۣ�
�~�as��W���$T�0��}��
+�>���3S���o�M����y[���9�#�WQ�ie� ��
+��؅!&2Fc� εv.Z�����ﳆ�zk��d��^
��ޢ�B�<Y�(������>�v�>Q�.Iׅ�
+��U1��!hT����� ?��
+endstream
+endobj
+3965 0 obj <<
+/Type /Page
+/Contents 3966 0 R
+/Resources 3964 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3972 0 R
+/Annots [ 3963 0 R ]
+>> endobj
+3963 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3967 0 obj <<
+/D [3965 0 R /XYZ 90 757.935 null]
+>> endobj
+3968 0 obj <<
+/D [3965 0 R /XYZ 90 733.028 null]
+>> endobj
+3907 0 obj <<
+/D [3965 0 R /XYZ 90 570.677 null]
+>> endobj
+3969 0 obj <<
+/D [3965 0 R /XYZ 90 556.323 null]
+>> endobj
+3908 0 obj <<
+/D [3965 0 R /XYZ 90 418.047 null]
+>> endobj
+3970 0 obj <<
+/D [3965 0 R /XYZ 90 403.693 null]
+>> endobj
+3941 0 obj <<
+/D [3965 0 R /XYZ 90 169.58 null]
+>> endobj
+3971 0 obj <<
+/D [3965 0 R /XYZ 90 155.226 null]
+>> endobj
+3964 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F123 2840 0 R /F104 2229 0 R /F11 446 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3976 0 obj <<
+/Length 1293      
+/Filter /FlateDecode
+>>
+stream
+x��XQs�6~����3gEH�Lۙ&����Ig�7i�C�l3�@7��
+$
����7�{B��v��o�ZZ�z;:��N�x���)��
�ǖ�	b�Xӹug��xB0����`;����zL���ە����C������`L��&�	e�>������ʅ���$�`�z�c��������џ#аE*(�C�ìp=����
0r|a=V�֖K
�����n��x�-� �Y���&��Q�1֗L�7��M�����Z��L"�
��q��{LWr�d��d
�z��,+� ��y��I5��g7L2�6���i��g�
�B��AiP��f.�}ӕ7M0{�`��ܚ�h�hfkYʼ輽�
j�!y؇�	���<�{wRH\�.<��	Ŧ�:eZ_U�{.������q��TW!�z�0]g�|���s`]Q�v`Mz����
���&.Z&in<�Y	�e
+�Y�����R�T��� ��5�1av��3�r��M�a,���C
���E���/%�
+JY�OH�}�B1:���v�v}���f2� D�����zyf������'���R5

C��䛈��
O��AXUW�q��2M�xv�4`�e����7>%f���p�i��F�薛���x��Ր(E�Ys��|V���U� �5�Z�Q��{�
+t�p$]pW�W��?��_]^x�ۻ��lB 4�M:���= H�q%q��W�8 �|��(�����N�B�(���P���=�<09�+X[�y�W��4�L��a�W����^�Ơެ�Z
��6���C�i�G�<(
,�<�/�d6�u��/�[����� ሽ�2���5����l��2�=����A��ڭn�ͣy=�Kǣ���KX=���v�w��r�zB��S�sP9
Fv�|�bzG)f���Y����9�H���AZ��>?/������
�\��3JA��N�{:�
�
���k�5�Et�1�k�4�Ƹ}x��ιP��7�؎�;,t
���=����>
!s�,x�ϣ�dh��l63�	�43͐���>�����`� ����]����ko6IX6Jx���6AuK����m;�|�=��*O|*UE�V�8�A��Y��ɧ ,k����4g�ȥ ��z��_K���8��������>i!����X,��
e~?q��?11��l׊*�zj�ZOuh��m!�o�45.�dcdJE�/e
+zG�j
��1��ư}#�v���ˌ~R
���A����2;=9y||Da�6I��(*O�,>�W�|�4ڲHs�Wsi(�\WTD���
��Pq
+endstream
+endobj
+3975 0 obj <<
+/Type /Page
+/Contents 3976 0 R
+/Resources 3974 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3972 0 R
+/Annots [ 3973 0 R ]
+>> endobj
+3973 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3977 0 obj <<
+/D [3975 0 R /XYZ 90 757.935 null]
+>> endobj
+3942 0 obj <<
+/D [3975 0 R /XYZ 90 639.987 null]
+>> endobj
+3978 0 obj <<
+/D [3975 0 R /XYZ 90 625.89 null]
+>> endobj
+3943 0 obj <<
+/D [3975 0 R /XYZ 90 449.506 null]
+>> endobj
+3979 0 obj <<
+/D [3975 0 R /XYZ 90 435.408 null]
+>> endobj
+3944 0 obj <<
+/D [3975 0 R /XYZ 90 282.934 null]
+>> endobj
+3980 0 obj <<
+/D [3975 0 R /XYZ 90 268.837 null]
+>> endobj
+3981 0 obj <<
+/D [3975 0 R /XYZ 90 165.562 null]
+>> endobj
+3945 0 obj <<
+/D [3975 0 R /XYZ 90 143.251 null]
+>> endobj
+3982 0 obj <<
+/D [3975 0 R /XYZ 90 143.251 null]
+>> endobj
+3974 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F100 1390 0 R /F11 446 0 R /F123 2840 0 R /F104 2229 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4008 0 obj <<
+/Length 1579      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~��0����!)���n��.��u�R�-Ŧc���QrS����
9	֤�D���s��
i�]y��y��lr|*����S�͖^�=�	b�x����'�`J0��Y@���uzqP��v%*��5�T�ڞ��X��G=I..~۬/�
+>�^
�2؀R���F�s;eGؓ�I;c��?
+��i���|;"9LI�v��w
+~��um�΂��r]�i#�ȹ\��$�e1�!B�	Z����	1�#0&��7_O�}���_y�I�]�Yk/�Z��{;�c���3�>
��j�����oV�>T �t��s�Z.�� �""D1i�|�q萠�IJb��iVYm��hC9b����1D LE;g;"$F�t���-���鼱�Y��}�dW�\8��#�8�
#��w�i
Q��(0D��'~	~T�Y-G6�ؤ3h����.�0	!�B����v��v;dX��l/�%	���3�c+��sY5YY�;+{	�C at b$p:��gD����$+����<[\��j��E���.�J:�V�
(�
kM6F>w|�ۣ>H���X���
�.��ʥ�Ev׀�4+��J��2��) ;�H at r�B��`gz����R�
;�,�}0���y���MNv/W��
+2�­T�]*[aynAΊ+; �\��I�
�1(��
I�S�vg��2(
U��ժ˶���P�F@���
+
+�7؆
+��><S�h��,)"�QRveG�x��
���ST��C�K#��(�
 ��f,��<�h��(��~p�WiUI�ǔ8���������"5�:秎8���'����]�!�� 	
f@�.	}d�7
9R�Y���=�
eA��:���-�
Ŝ�V�P"�H����2o�x#
���馘�Lz{�w�@�wD�eY�n\w�ʵ�f�������l2
�E7h�
��"���p
�N
+�H��`q��ф�XwI�:ڴ
�T��j��E�f�*��&Ԑ�j�
�
�M�v���&���B�A<��&o��%�l�=�q�
���NWn�G��b9�A� ��Cy��j�t�`1Xr���6
A�K��9�p�H��$F�S��6Nm�M�n�EL�1���A�'��p_��ɨ"q�R.S͡�i֮���
.�_�dzvȬ\���g�/�EYm
5r 6�H�D@�z��ڃ�y|
+���}S�׊�]��g@'
wUB��"]��vڵDG}u��|q�W���(,��
֠��B �D��_�
{���!�`~�Cge���- �H�����[�?3=������b����l�E��K}8�2�������7o�ʐ5
e�
6�*��ؽn��;]bj�>��{�3⭡vd].�i���VwN�)c����+�s'�}�3���Y���zN�W�j���&=	e���A�
����:���V��ޢ'>�9���8�
�p��
�����]B�i��Y�����4���̽�7e��]�ٗ?k��
�ݑ�MZl�<蠲�<����!�0LC�����Dk�G�}z=1�6��$���u�4������5��hSd�BYs\U��; ɂt�`w��.UwS�kCi��?%9� 
+endstream
+endobj
+4007 0 obj <<
+/Type /Page
+/Contents 4008 0 R
+/Resources 4006 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3972 0 R
+/Annots [ 3983 0 R 3984 0 R 3985 0 R 3986 0 R 3987 0 R 3988 0 R 3989 0 R 3990 0 R 3991 0 R 3992 0 R 3993 0 R 3994 0 R 3995 0 R 3996 0 R 3997 0 R 3998 0 R 3999 0 R 4000 0 R 4001 0 R 4002 0 R 4005 0 R ]
+>> endobj
+3983 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 467.922 150.493 478.452]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a33a5462cd5398fdbd61989d17aeeaa72) >>
+>> endobj
+3984 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 428.847 141.367 439.751]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+3985 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.865 428.847 174.293 439.751]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ab74908b692bc6f8112f5d27b96141431) >>
+>> endobj
+3986 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 354.503 199.475 365.034]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_afcba1dd5e579752d6dcc40ef4d5799b8) >>
+>> endobj
+3987 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 317.574 199.475 328.478]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ac0ef828e81a5c7625db3abadcafc8438) >>
+>> endobj
+3988 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.812 317.574 301.193 328.478]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+3989 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 269.064 199.475 279.968]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_af2441164b4c23a8203f399f561c9a7c7) >>
+>> endobj
+3990 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.812 269.064 301.193 279.968]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+3991 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [417.691 269.064 477.247 279.968]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+3992 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.672 255.593 303.64 265.498]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+3993 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 232.509 199.475 243.413]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a4bed59d493c4fd91537602efb267c938) >>
+>> endobj
+3994 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.745 232.509 320.301 243.413]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+3995 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 195.954 199.475 206.858]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a80f6de87ec43c33fac3832b14a507c0b) >>
+>> endobj
+3996 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.525 195.954 323.081 206.858]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+3997 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 159.399 199.475 170.303]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a298300b8f88eb674c317b99ad09a474b) >>
+>> endobj
+3998 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.12 159.399 313.676 170.303]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+3999 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 122.844 199.475 133.747]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a2024878c4c26cb836d454e2e93f40c8f) >>
+>> endobj
+4000 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.313 122.844 320.869 133.747]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4001 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 86.288 199.475 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a4f3206ab2d3c47e2014e5b306167c7c0) >>
+>> endobj
+4002 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.517 86.288 341.074 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4005 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4009 0 obj <<
+/D [4007 0 R /XYZ 90 757.935 null]
+>> endobj
+1332 0 obj <<
+/D [4007 0 R /XYZ 90 605.635 null]
+>> endobj
+158 0 obj <<
+/D [4007 0 R /XYZ 90 598.797 null]
+>> endobj
+4010 0 obj <<
+/D [4007 0 R /XYZ 90 486.446 null]
+>> endobj
+4011 0 obj <<
+/D [4007 0 R /XYZ 90 486.446 null]
+>> endobj
+4012 0 obj <<
+/D [4007 0 R /XYZ 90 371.034 null]
+>> endobj
+4013 0 obj <<
+/D [4007 0 R /XYZ 90 334.599 null]
+>> endobj
+4014 0 obj <<
+/D [4007 0 R /XYZ 90 298.043 null]
+>> endobj
+4015 0 obj <<
+/D [4007 0 R /XYZ 90 249.533 null]
+>> endobj
+4016 0 obj <<
+/D [4007 0 R /XYZ 90 212.978 null]
+>> endobj
+4017 0 obj <<
+/D [4007 0 R /XYZ 90 176.423 null]
+>> endobj
+4018 0 obj <<
+/D [4007 0 R /XYZ 90 139.868 null]
+>> endobj
+4019 0 obj <<
+/D [4007 0 R /XYZ 90 103.312 null]
+>> endobj
+4006 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F100 1390 0 R /F21 2359 0 R /F79 505 0 R /F107 2332 0 R /F38 2120 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4054 0 obj <<
+/Length 1158      
+/Filter /FlateDecode
+>>
+stream
+x��YMs�6��W�3�o��6��q&I�qc�dg4�I��C�x�__ $%Rbd�I�OA�a��� �BkaA�����`t�B�>�ܚ�-Z.G�adMB��Fpg� �����
�$�^;�Y�Y�P�?�{��x|���z����{!����+�`�B�����Zi٠��įGL
���3m��8�m:���O��^>
+|y^�N
�"Y�A!ʞ�b��G�-ҙ�B�aqO�^M�H�@
˜
\¬Y2�� �P���  �g=�Q�E�6,�n�
`E��o)�oy�^N��T��.& rV��G$
��bV��FiTDA
}	�(K˾�t(���|
+ʟ<Z�",�q�.�[AZ�,?^�aT�J�P8�����5FW�7�
b
8E��å�w�=
M�\Tl�=�n�LE[w0m�S��aw��u��l�
d��8���)����\�9լv��TS�N��Ī�Ex��kU��9���:���e&��)��2Ei�D����v�=Ҩo�R׎{J��ϒ비C?O�;I�,�S9�p�l���},�_��g+�ny�E�n��V�Y�����t���8g��f�

+�>)�
+mO�ڴ�)[8�
C��h&�`�K�4�K�W&�:����rT�`
+|�c�Y�!B �������N{�3��w!�y�r�����zF
+�5�aP��e"[H
0o��,6+�I�?\I��!&� S�JBvH���VJ)}�__�
MBQ34���J��_ɑ�"�

+���J/�
��I�w��U�}r�fޕ��:{�
��X(�
Go���J�T�u�Q���v��`�
�&�e�
�]D�ǟ
�6�x-���}�uY�D���e���j:�ŶH3)���&�
���k�@L�|��;��?�M�d�״*a_O�u�A���

\��:G��@�ߺ��{�������E.��U3��\
!���A�S~lY��_l�
��#@��ݩ��������!�y����LU}����y��2ն������ɉ6���]����*S~$��h�\@�S�Ϧά��j7S�ZY�g>`��`�u�]߹eRyt]���Ǫ�_>��
��Ø]�d�
+�u}���|�PB�[� @H�ԑR){#D�r��G�n��*ᆵ�S�-w{�Z�j<=<<�Y�i�� *F�U<:<g4P.��=�L�
+��h�����ܖC��_'
1
+endstream
+endobj
+4053 0 obj <<
+/Type /Page
+/Contents 4054 0 R
+/Resources 4052 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3972 0 R
+/Annots [ 4003 0 R 4004 0 R 4021 0 R 4022 0 R 4023 0 R 4024 0 R 4025 0 R 4026 0 R 4027 0 R 4028 0 R 4029 0 R 4030 0 R 4031 0 R 4032 0 R 4033 0 R 4034 0 R 4035 0 R 4036 0 R 4037 0 R 4038 0 R 4039 0 R 4040 0 R 4041 0 R 4042 0 R 4043 0 R 4044 0 R 4045 0 R 4046 0 R 4047 0 R 4048 0 R 4051 0 R ]
+>> endobj
+4003 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 697.092 199.475 707.996]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_acca11ef67e39b711f96604b6bf806feb) >>
+>> endobj
+4004 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.708 697.092 330.264 707.996]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4021 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 660.417 199.475 671.321]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ab4d4a0ebee3fcc93490aa029028a810b) >>
+>> endobj
+4022 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.487 660.417 333.044 671.321]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4023 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 623.742 199.475 634.646]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a1bdc1023fb4478270594d0e965eb90c9) >>
+>> endobj
+4024 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.083 623.742 323.639 634.646]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4025 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 587.067 199.475 597.971]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a461dbfcb8f68886137794e4a408fc55e) >>
+>> endobj
+4026 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [271.276 587.067 330.832 597.971]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4027 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 550.392 199.475 561.296]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a74b0a8cfdec7831e7a3e296b3e3751dd) >>
+>> endobj
+4028 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.48 550.392 351.036 561.296]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4029 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 513.717 199.475 524.621]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a6957dba3dbf92459a364893d7ecfb897) >>
+>> endobj
+4030 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.81 513.717 292.366 524.621]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4031 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 477.042 199.475 487.946]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_af47ee9cf59cfac8a346660698c61d113) >>
+>> endobj
+4032 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.215 477.042 301.771 487.946]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4033 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 440.367 199.475 451.271]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_abf60cc7fa60d33c4fe958126d55cbac2) >>
+>> endobj
+4034 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [262.419 440.367 321.975 451.271]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4035 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 403.692 199.475 414.596]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a77a2c5c27e9c0838fea6e6447b20c320) >>
+>> endobj
+4036 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.431 403.692 347.987 414.596]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4037 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 367.017 199.475 377.921]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a404beea19c04f4e7bbcfe81aae0d6a7d) >>
+>> endobj
+4038 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.873 367.017 347.429 377.921]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4039 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 330.342 199.475 341.246]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ada0964a53a3426e1fc35355ed38a235c) >>
+>> endobj
+4040 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.745 330.342 320.301 341.246]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4041 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 281.712 199.475 292.616]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ae3a660d2b2a34f69d2d0cb1cc77f6f69) >>
+>> endobj
+4042 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.469 281.712 327.026 292.616]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4043 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 221.126 199.475 232.03]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_aed795d57d70d782ccf2a584cce183050) >>
+>> endobj
+4044 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.812 221.126 301.193 232.03]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4045 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.672 207.595 303.64 217.501]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4046 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 184.451 199.475 195.355]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_aa3de5a2fe7f06d0aa3e4972be2023933) >>
+>> endobj
+4047 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 147.777 199.475 158.68]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_afcb46dd5c0701130f067f577f99ef27f) >>
+>> endobj
+4048 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 111.102 199.475 122.005]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a24e90bb8bb38d248aca79c76a1717d9d) >>
+>> endobj
+4051 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4055 0 obj <<
+/D [4053 0 R /XYZ 90 757.935 null]
+>> endobj
+4056 0 obj <<
+/D [4053 0 R /XYZ 90 714.146 null]
+>> endobj
+4057 0 obj <<
+/D [4053 0 R /XYZ 90 677.471 null]
+>> endobj
+4058 0 obj <<
+/D [4053 0 R /XYZ 90 640.796 null]
+>> endobj
+4059 0 obj <<
+/D [4053 0 R /XYZ 90 604.121 null]
+>> endobj
+4060 0 obj <<
+/D [4053 0 R /XYZ 90 567.446 null]
+>> endobj
+4061 0 obj <<
+/D [4053 0 R /XYZ 90 530.771 null]
+>> endobj
+4062 0 obj <<
+/D [4053 0 R /XYZ 90 494.096 null]
+>> endobj
+4063 0 obj <<
+/D [4053 0 R /XYZ 90 457.421 null]
+>> endobj
+4064 0 obj <<
+/D [4053 0 R /XYZ 90 420.746 null]
+>> endobj
+4065 0 obj <<
+/D [4053 0 R /XYZ 90 384.071 null]
+>> endobj
+4066 0 obj <<
+/D [4053 0 R /XYZ 90 347.396 null]
+>> endobj
+4067 0 obj <<
+/D [4053 0 R /XYZ 90 310.721 null]
+>> endobj
+4068 0 obj <<
+/D [4053 0 R /XYZ 90 250.136 null]
+>> endobj
+4069 0 obj <<
+/D [4053 0 R /XYZ 90 201.506 null]
+>> endobj
+4070 0 obj <<
+/D [4053 0 R /XYZ 90 164.831 null]
+>> endobj
+4071 0 obj <<
+/D [4053 0 R /XYZ 90 128.156 null]
+>> endobj
+4052 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F79 505 0 R /F56 367 0 R /F23 368 0 R /F38 2120 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4093 0 obj <<
+/Length 1184      
+/Filter /FlateDecode
+>>
+stream
+x�ݙ]o�6���+t�I�L�II�6`˚��6d�w��"ѱP}��
���#EҖlg�Ҧ|%�&_>�<��s�@����`t
@'�̙̜:C�b�LR��E0o� ���"�^x�U���T��?�[��x|6��GU��ӿ��-އɻ�9B�0��3�}k�']��A����֘xq�*	m�Y�>`ُ �|��/>���v'^�]^,���Ϥ|��LdB��E����d�i���
@�S')�����w~:��V��������4�a�	�uu� 0�"�>��j�7Ӷ�m{տ�3B.�
��!��:�M;YK��RXgw%O���ӿ��/�ӕ~J��J��h_F�3D>�2τ�.Om,+�&���s�dU��f�#ԭ
+��Ǟ9 �����en
��2ͬޢJ���
j�j�1
Z���Q}g�/��q����}Yvǘ�c�5��'�6�;r7%	!t���y%����sz���9N
9Y�9�x�����AƧ�1>�%"?9�7�U�
�b$�ʹZ����0�����5w|�{ZN�|�Tem��O�d�5��{��,@ɪ��'��Qo6�[ůs`�
�n������o?��D��	
�c�	R;���L@"[��."�b���3�ӈ셜>�F��T�ZJ�M��4��S��h'�׳� 
7��f��e\��.$�}�LH/�w`�2d ��IG����ڗg�Qwv��V�����Wh@:�����Xnӷ�CyP�}
�Y*����zz���4�($�7���� ��N
+�g& �։��e�Η܌�����>�>�G�W<͂�++�ӟgm:��c�#�����&�-�^G.�b Fr
�@��5Ix]W����D�3�V�{
�k)��_��9�B��F @�;�\-���J،���-:��
��5;2�-�l�u�R��	�{C)(_6KQֽșT��i4��f��F�r��7
+�Y�_��|~��iXN�9��ep�X�XM7��?�?��r��� Q����W=���&��8�Ȼ{w�� w}�E#@)1�GV�E;kDa�xa�����/��\��Q�*��RF�
�{eJ/7]B�@O�+n=���ѱ��+��Zb ��Ad�4��h�Z�@R�e�-Ț�b����u�
+"rEo���.�BFL�daц��;$�����
+endstream
+endobj
+4092 0 obj <<
+/Type /Page
+/Contents 4093 0 R
+/Resources 4091 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3972 0 R
+/Annots [ 4049 0 R 4050 0 R 4072 0 R 4073 0 R 4074 0 R 4075 0 R 4076 0 R 4077 0 R 4078 0 R 4079 0 R 4080 0 R 4081 0 R 4082 0 R 4083 0 R 4084 0 R 4085 0 R 4090 0 R ]
+>> endobj
+4049 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 719.912 199.475 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a55e9dfdf5da9a55b7523bda6b7f56c78) >>
+>> endobj
+4050 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 683.321 199.475 694.225]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a8abdf2e292960e1fb216ce3c2c0816ff) >>
+>> endobj
+4072 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 646.731 199.475 657.634]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_af9d7eaecf113e25020c55ed0bf79eb03) >>
+>> endobj
+4073 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 610.14 199.475 621.044]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_afad3fbdebb1ba319083c56fa2ae679e6) >>
+>> endobj
+4074 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 573.549 199.475 584.453]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a79f64d099a652834da74cc8fd68f2452) >>
+>> endobj
+4075 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 536.958 199.475 547.862]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a164f8732d5fe6b526a34e168145a95ad) >>
+>> endobj
+4076 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 500.367 199.475 511.271]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a98dae78cdd16f7127a4b3e18c3976562) >>
+>> endobj
+4077 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 463.776 199.475 474.68]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_af9daca45c3c1d0d1afd57ab47c6cacd4) >>
+>> endobj
+4078 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 427.185 199.475 438.089]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_af0647cd431d30a9658d4bdc77e32d9e4) >>
+>> endobj
+4079 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 390.594 199.475 401.498]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ab19be1f26efb21370e8460b325a7f57c) >>
+>> endobj
+4080 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 354.004 199.475 364.907]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a65b1cc4ac0c0c8a2efcbf3d36d4ac0ac) >>
+>> endobj
+4081 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 317.413 199.475 328.317]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a6afe848ad84ff68d48142caf0599760a) >>
+>> endobj
+4082 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 280.822 199.475 291.726]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a91459c49e4f7d7fc2dea0347e0489ce5) >>
+>> endobj
+4083 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 232.276 199.475 243.18]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a956de4112c520bb87767ce894b4d512d) >>
+>> endobj
+4084 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 147.65 168.86 158.554]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a00f887bfb5c61faba29a67def563c786) >>
+>> endobj
+4085 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.914 111.433 187.002 121.963]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a268aa30d717cdc7d07e60cf7c56712e6) >>
+>> endobj
+4090 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4094 0 obj <<
+/D [4092 0 R /XYZ 90 757.935 null]
+>> endobj
+4095 0 obj <<
+/D [4092 0 R /XYZ 90 733.028 null]
+>> endobj
+4096 0 obj <<
+/D [4092 0 R /XYZ 90 700.354 null]
+>> endobj
+4097 0 obj <<
+/D [4092 0 R /XYZ 90 663.764 null]
+>> endobj
+4098 0 obj <<
+/D [4092 0 R /XYZ 90 627.173 null]
+>> endobj
+4099 0 obj <<
+/D [4092 0 R /XYZ 90 590.582 null]
+>> endobj
+4100 0 obj <<
+/D [4092 0 R /XYZ 90 553.991 null]
+>> endobj
+4101 0 obj <<
+/D [4092 0 R /XYZ 90 517.4 null]
+>> endobj
+4102 0 obj <<
+/D [4092 0 R /XYZ 90 480.809 null]
+>> endobj
+4103 0 obj <<
+/D [4092 0 R /XYZ 90 444.218 null]
+>> endobj
+4104 0 obj <<
+/D [4092 0 R /XYZ 90 407.627 null]
+>> endobj
+4105 0 obj <<
+/D [4092 0 R /XYZ 90 371.037 null]
+>> endobj
+4106 0 obj <<
+/D [4092 0 R /XYZ 90 334.446 null]
+>> endobj
+4107 0 obj <<
+/D [4092 0 R /XYZ 90 297.855 null]
+>> endobj
+4108 0 obj <<
+/D [4092 0 R /XYZ 90 261.264 null]
+>> endobj
+4109 0 obj <<
+/D [4092 0 R /XYZ 90 164.564 null]
+>> endobj
+4110 0 obj <<
+/D [4092 0 R /XYZ 90 128.093 null]
+>> endobj
+4091 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F79 505 0 R /F23 368 0 R /F38 2120 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4148 0 obj <<
+/Length 1220      
+/Filter /FlateDecode
+>>
+stream
+x��Z]s�F}�W�)�&Ѳw��e�Τi�I�$�M��
#�lk"	*��}w��,
�1c
<Bb���{Ϟ=‹�t~�w�'6$���mHl8'`�Gƅ		���yj6�$����8\�����\%^�������o��?|�EW~b}�� T �A�
+5|��I
��PY��[3�X6�B6p0\�D���e�_7~z�i
�oIb��$�R?r�_+��~<T� 81��:h�}��oTl@�0� �rcu.�bc��40��5�Y��`D
����
\$W��E'8H�
�
�ý$�g×��
���
��4-��]^�4���y�u�_'�ܜ�,�M/��ͨ��%�X�A
1�ڬ��
K�U�˫���\�́���,��L{Հ9
�:f�m}Ͳ����z[<��#?	A|��dz�O�a~s��CM
��lA]�M�R�����a��N��8��痉�x�8��FhV�"�
� r�\S����J���fe6Tw\��e]U��\cK �� �dE3��.��n��J6�n�C���׭������Awrn�i��3٠n��R,�dC�j���R���ď����I2�Zbr�c5�j�Gs��@DeV���\��ȚՌvd 0ja�X
N���g�h	��\ؕ
��3�`�lx�
E�i
((j��oc
Z3\
/r���Dߞ�6�j)�%�
�;�]\~�ؾ?��g�y��`��/~xF����V�>��B���=��`n� �h0].���g/
������_�A�n�I_�s��ǫ��Ub2�\��u��:[���-M�Oَj�!��T3�^r
2�_5`��U�j����;$Isr]z�wf� �oC;�Ó�+�i/�˼�G�A\�҆u�=;�A�DN�`�ϮҜ���E8�m��n�����m?ڎ����ck������A2���~}w^b�Ę�p�!�ҭ���m�>9 C1(�c�4
�`.^��i���{:�=�ـ%���L�s4 at Gt4@;��ZC)�ͮ�H�c
�MT�0=������~�a��F[���]0���#)B w�)�	��x��qΊd��0N3LIT
�8-��I��柩��dqn'?>y��
�%C�*��b��"˦��~�}����?u�I-�D��r�M�I�۝��h8E�8�$(H��Iؽ��+Qԋ��_��g��qR�>���Hm��^��� �R�0
+endstream
+endobj
+4147 0 obj <<
+/Type /Page
+/Contents 4148 0 R
+/Resources 4146 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3972 0 R
+/Annots [ 4086 0 R 4087 0 R 4088 0 R 4089 0 R 4111 0 R 4112 0 R 4113 0 R 4114 0 R 4115 0 R 4116 0 R 4117 0 R 4118 0 R 4119 0 R 4120 0 R 4121 0 R 4122 0 R 4123 0 R 4124 0 R 4125 0 R 4126 0 R 4127 0 R 4128 0 R 4129 0 R 4130 0 R 4131 0 R 4132 0 R 4133 0 R 4134 0 R 4135 0 R 4136 0 R 4137 0 R 4138 0 R 4139 0 R 4145 0 R ]
+>> endobj
+4086 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.436 720.286 210.524 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a627ac77a4752fde3c10792ee9f1673a4) >>
+>> endobj
+4087 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 646.822 199.475 657.726]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4088 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.215 646.822 251.021 657.726]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ab45faf2ccad8057c7b27e0c999eb063b) >>
+>> endobj
+4089 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.359 646.822 352.739 657.726]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4111 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 598.123 199.475 609.027]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4112 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.215 598.123 251.021 609.027]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a80993a2a72759ec030dd3cde21c8a00d) >>
+>> endobj
+4113 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 549.425 199.475 560.329]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4114 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.215 549.425 256.64 560.329]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a08ceb442794b5f60c1ad09ce744371e1) >>
+>> endobj
+4115 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.977 549.425 358.358 560.329]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4116 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 512.681 199.475 523.585]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4117 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.215 512.681 256.64 523.585]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a8772f767006f16e376d8eca9b1578b73) >>
+>> endobj
+4118 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.413 463.982 269.974 474.886]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+4119 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.331 463.982 415.711 474.886]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4120 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 452.027 171.52 462.931]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a59638854527a5bebee3676750668c63a) >>
+>> endobj
+4121 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 403.328 199.475 414.232]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4122 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.215 403.328 254.14 414.232]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a2857ee1039a41cfab001c0ba21c69ac3) >>
+>> endobj
+4123 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.477 403.328 355.858 414.232]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4124 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 366.585 199.475 377.489]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4125 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.215 366.585 254.14 377.489]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a02949da26a3761489d2fb98018010990) >>
+>> endobj
+4126 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.413 317.886 269.974 328.79]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+4127 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.331 317.886 415.711 328.79]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4128 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 305.931 169.02 316.835]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a9c4298d04019ab7b5233ddceb430be03) >>
+>> endobj
+4129 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 257.232 199.475 268.136]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4130 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.215 257.232 256.003 268.136]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a761744f24a8e2faed19912950cf13baf) >>
+>> endobj
+4131 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.34 257.232 357.721 268.136]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4132 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 220.489 199.475 231.392]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4133 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.215 220.489 256.003 231.392]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a7ce6dfd81e04c3eb8d196bf13a96ebe6) >>
+>> endobj
+4134 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.413 171.79 269.974 182.694]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+4135 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.331 171.79 415.711 182.694]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4136 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 159.835 170.883 170.739]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ac95c1fbaee07d3a9cead4d07683f6168) >>
+>> endobj
+4137 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 111.136 199.475 122.04]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4138 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.215 111.136 253.791 122.04]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a72ef8379745ed9575b39216ba1e51d18) >>
+>> endobj
+4139 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.128 111.136 355.509 122.04]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4145 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4149 0 obj <<
+/D [4147 0 R /XYZ 90 757.935 null]
+>> endobj
+4150 0 obj <<
+/D [4147 0 R /XYZ 90 733.028 null]
+>> endobj
+4151 0 obj <<
+/D [4147 0 R /XYZ 90 661.871 null]
+>> endobj
+4152 0 obj <<
+/D [4147 0 R /XYZ 90 627.15 null]
+>> endobj
+4153 0 obj <<
+/D [4147 0 R /XYZ 90 578.451 null]
+>> endobj
+4154 0 obj <<
+/D [4147 0 R /XYZ 90 529.752 null]
+>> endobj
+4155 0 obj <<
+/D [4147 0 R /XYZ 90 493.009 null]
+>> endobj
+4156 0 obj <<
+/D [4147 0 R /XYZ 90 432.355 null]
+>> endobj
+4157 0 obj <<
+/D [4147 0 R /XYZ 90 383.656 null]
+>> endobj
+4158 0 obj <<
+/D [4147 0 R /XYZ 90 346.912 null]
+>> endobj
+4159 0 obj <<
+/D [4147 0 R /XYZ 90 286.259 null]
+>> endobj
+4160 0 obj <<
+/D [4147 0 R /XYZ 90 237.56 null]
+>> endobj
+4161 0 obj <<
+/D [4147 0 R /XYZ 90 200.816 null]
+>> endobj
+4162 0 obj <<
+/D [4147 0 R /XYZ 90 140.162 null]
+>> endobj
+4146 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F79 505 0 R /F38 2120 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4204 0 obj <<
+/Length 1432      
+/Filter /FlateDecode
+>>
+stream
+x��Z[w�F~ׯ�%.���^Y�'�C�8'i������p��mN(����w��
�Ų�zv.�|3;�,6.
l���>���$6Ru�����!
�%�`d��#Dz	��<�6�4�c�b3�^����
�S?�=<|u
�藂��a���y�DHC�1��B���
��2U�1�$7_X6ڄBq8���"���~[+���ϲR��R�
���σ��Ip��
�!�"DP�H����
z_{�`��	�$�0�}���70b�5n��"�Sm��8�������4�$90BR��#Js?Q*
+�w���2��m�8��;�q����!D?N&A��I���k�',�0���Ưy
�ɜ��/DB.x����İ	Cܭ��:�G�~<�.�,����I�6�"���S՝��v�~9WK at -I�$&z����ք�k��bn�= ���&uK���;c}~;	b?��=J��C���r>��K��(�
+�DJT<y����{wѝ"ԥ-3;0�F�0���w����C�
+�Z#�>�^�qsh��+��
�/;<*t�`��]Br�\
�#��9<�����i�b�_�8sf������*�J���Ư���zBV9�|�!�xCm���2xl�pD	o3m�Q�r�*A8"�UU���*�>�*��Ӧ%^:E1m�|}vCD1�i�v�Sȳ5�X)d�����dMN.�.:n��,�X�Ĭ�ͩn3�&ʙ#��$�L�$���&����c�qz�g�{<u���Ⱦ��#��#�
�y���0���V����i��\�FA�ϙ�:Xx���,[�:�؁�
+����?_���<�˸١Ʈ��
��<���0��3]
[.h��
��Ȧ7�l{���m���V#�+�}?j�T@�
+mN�$�,r螪��G�x��0kt�WP�Ͷ���I=�W~^_Y�^M��8�
FArq}Q�B
(�vЌi��C7�զ����W�ݽ�C tu.�+EY�L�(6�b�n�6��E\$����Q�Mb��y��;�BW��B���0󀠞��K+�5طE�Bw	̠�]B!�Ԟ�{�>,w�0�f^˜�a~��?'㇣��������xwH�
��5{wH\\|U���}�}��
Yh�.w��>������u��F{�J!NVF��z��U�v
��
+Vꏵ���UAױ�͊��wl�[6#�yp n�N�a�w�ݕs����>Rp$���G
+Ƅyd�q�
+i� FŎ��fR ��>2��N����m� O*�w��bu�8I��(�/��ag���BQ�?3�3w�#c�1�V��
+	��%9������K#��[��+�VG��?�dA��%�Y
��ˏ���deF�Y�T_-0"D;�4o�y�A*��b�W�6ڰ��P��,ׯ�|r����ܠa��q8IQ��'�q�B6�^t�����8��z_-��f��]44����=
+endstream
+endobj
+4203 0 obj <<
+/Type /Page
+/Contents 4204 0 R
+/Resources 4202 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4216 0 R
+/Annots [ 4140 0 R 4141 0 R 4142 0 R 4143 0 R 4144 0 R 4163 0 R 4164 0 R 4165 0 R 4166 0 R 4167 0 R 4168 0 R 4169 0 R 4170 0 R 4171 0 R 4172 0 R 4173 0 R 4174 0 R 4175 0 R 4176 0 R 4177 0 R 4178 0 R 4179 0 R 4180 0 R 4181 0 R 4182 0 R 4183 0 R 4184 0 R 4185 0 R 4186 0 R 4187 0 R 4188 0 R 4189 0 R 4190 0 R 4191 0 R 4192 0 R 4201 0 R ]
+>> endobj
+4140 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 719.912 199.475 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4141 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.215 719.912 253.791 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a6a2d561ac8088ed64a0bb51d8fffcd9b) >>
+>> endobj
+4142 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.413 672.027 269.974 682.931]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+4143 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.331 672.027 415.711 682.931]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4144 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 660.072 168.671 670.976]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_afc3433d8ec297e2d1fbdf559d93f9080) >>
+>> endobj
+4163 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 612.187 199.475 623.091]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4164 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.215 612.187 259.32 623.091]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a7e90d52413515d81ad9b68fb1740d869) >>
+>> endobj
+4165 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [286.658 612.187 361.038 623.091]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4166 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 576.257 199.475 587.161]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4167 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.215 576.257 259.32 587.161]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a1a79ab4c49d7ae4406b56dc2b3d94463) >>
+>> endobj
+4168 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.413 528.372 269.974 539.276]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+4169 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.331 528.372 415.711 539.276]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4170 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 516.417 174.2 527.321]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ae179c684a9ed7eafbbac1825d17f7daa) >>
+>> endobj
+4171 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 445.565 199.475 456.468]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4172 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.215 445.565 256.64 456.468]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a3cb9b031ec4e6fd7e53e53da5b0f04a1) >>
+>> endobj
+4173 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 409.635 199.475 420.539]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4174 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [199.973 409.635 246.399 420.539]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ade4a5582f82333f20fd6a8be13ff8d7f) >>
+>> endobj
+4175 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 373.705 199.475 384.609]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4176 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.215 373.705 251.839 384.609]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a06c0a4ba25cbc3d59797bf1c73c49497) >>
+>> endobj
+4177 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 337.775 199.475 348.679]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4178 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [199.973 337.775 241.597 348.679]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a0803532e7523865597c394e1371d2b16) >>
+>> endobj
+4179 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.432 221.612 258.993 232.516]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+4180 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.555 221.612 439.727 232.516]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ab65697a5fab14ca76c391a3aa523e3f6) >>
+>> endobj
+4181 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.432 196.938 258.993 207.842]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+4182 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.555 196.938 440.305 207.842]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a2b39d89b5938161bd8922b7c1f28f637) >>
+>> endobj
+4183 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.432 172.264 258.993 183.168]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+4184 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.555 172.264 432.554 183.168]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a4cca5e272cecc038189aac8b2fc8ace2) >>
+>> endobj
+4185 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.432 147.591 258.993 158.495]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+4186 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [361.361 147.591 403.772 158.495]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a356bd3ccfaa76c0ef4452a34ce767897) >>
+>> endobj
+4187 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.432 122.917 258.993 133.821]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+4188 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.555 122.917 409.69 133.821]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a0acb1530838a14041c43002dd8ee3541) >>
+>> endobj
+4189 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.108 98.244 259.668 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+4190 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [452.93 98.244 480.387 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+4191 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 86.288 152.425 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a84ea81a9b4eed51ac13029dbccf67662) >>
+>> endobj
+4192 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.801 86.288 314.357 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4201 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4205 0 obj <<
+/D [4203 0 R /XYZ 90 757.935 null]
+>> endobj
+4206 0 obj <<
+/D [4203 0 R /XYZ 90 733.028 null]
+>> endobj
+4207 0 obj <<
+/D [4203 0 R /XYZ 90 700.85 null]
+>> endobj
+4208 0 obj <<
+/D [4203 0 R /XYZ 90 641.01 null]
+>> endobj
+4209 0 obj <<
+/D [4203 0 R /XYZ 90 593.125 null]
+>> endobj
+4210 0 obj <<
+/D [4203 0 R /XYZ 90 557.195 null]
+>> endobj
+4211 0 obj <<
+/D [4203 0 R /XYZ 90 460.41 null]
+>> endobj
+4212 0 obj <<
+/D [4203 0 R /XYZ 90 426.502 null]
+>> endobj
+4213 0 obj <<
+/D [4203 0 R /XYZ 90 390.573 null]
+>> endobj
+4214 0 obj <<
+/D [4203 0 R /XYZ 90 354.643 null]
+>> endobj
+4215 0 obj <<
+/D [4203 0 R /XYZ 90 278.887 null]
+>> endobj
+4202 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F79 505 0 R /F38 2120 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4258 0 obj <<
+/Length 1856      
+/Filter /FlateDecode
+>>
+stream
+x��[�r�6}�W�ɕ��+x:�I�$���4V�����i��TIʲ��]�"�/�#�N�'����=gw�غ�����Ǡs�BbK#mS�\X[�&HPb
έO]�����q�}�����}��n8�_��3��;��h~r���
}5����۩�F�/���/YQ@�D�٠>��[6�d�L#=ɻOz}*�	�bo4���4"��~o�l��q&w�Ӵ�������7�
0�����+B�I����A��1�"�ÄD�	k�w>}��9|��ˆie��Q�ũ1ll�v�����x5�.�i#Δ%)C����)��b^:I"-11���bmI���	F�b
��s����$	%��7p|�p�� d����B�B�ֈ��Қ��1��i�/�y���᫋�xSEK
�d1�.��|x��Z��(&���o���Qѽ��u���
+���]R�v��t��\ai�|�ZF�����댧�r=:�e�Nܑ�+�+�0'�۹�`��
I�۬�V>�����Ϙ ���q��i�G��

d Y��ϤH�Y�d�2F%3�@��X�U�%a�Q��
+o���p�{���O�R߹�JR���ѻO(��f�M��A:nd��Vpx�
a��H+�����3����P	,$j�MT���S~+QG��:zI
4�r�F�䊗8�-��cVa.GZ-�[=��LC#MM	l��D�{��ـ�{�@��+, �#��J����;0q)RT�Q�.�'.T�o�
+�U
�|�q�i�k�+�.׌͈kL�c+~��a��a��z�62Zi,hk+�Aq�}����;onN�Y�˛�5B���ջ�:<������R^�
\sO9�(DX#QJr[��ݖ�%�����LX
���i6O�� #�q���*�:s&q�D˕�T "Ըɷث�$�vΙ�\UH!0h!d^!��V�r%殶��]
{H�8s�3�W�&��f�G�1a6\�.kR@&y��!���5�
	��F��f)�覢�PAa�z�5�.
�W$��8�0��xW�"�C�m/D
Ҿq�0�gv�z��|�w�xa��5L��x��S%a���Oo�Y�-fuf��c��%_%a⌇~���
���Y���"�Ń�o�o�6��rV��&�(�Փ�<��w����^������bm��B�p4�N<��峪�sl�ۓ�w������A	վ+��XΜ�jˍg����Ʋ�č��$�RH釰پe���w{��N�'^��+��#�A�D�Ѯ�ZR���53Q���i
�M �y�&n�$a��
�my�u$���;a�V��KUa�_�n�O�P;�ÔpF�hmc�1p�0O�L11���̃O{�i�Z;)�9�Y;��1c��x�cF��ޙ�$e-�|/�ɼ{9�6�a
�����[pi��
��i>�&�	R����]E�V4�`Ps�(�
�|�؉zL�gq�� C
iF�|Gy�=c>a>�2��l���u������{���uyU�#��唪�|�Q��ޖ|L��e#�I>�����#�ʍZj
i$��7>�Tl��LE4�h�[6����5��8��=%����H�#����xeYF��2ۖ���מּxv�}�ޔ(�I�<,�b��o�8��P� L�CUt,� �Qsm�v�i��5��]�!����:{�E�;�J��x��ApZ�9խ�\�^�m��j]������ܮ-��/G��<��}7�xr���f/�s�?�1(Ϊߧ�"�ȳ�Q��wR�>�n�KO�n�;�8���2���Q��`ň�0d
���S�������*>�e�']��(��\��*I&'�dz�
�b4
�I���x2o��)������a�_�a�8͇/}���u��_�=�
+endstream
+endobj
+4257 0 obj <<
+/Type /Page
+/Contents 4258 0 R
+/Resources 4256 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4216 0 R
+/Annots [ 4193 0 R 4194 0 R 4195 0 R 4196 0 R 4197 0 R 4198 0 R 4199 0 R 4200 0 R 4223 0 R 4224 0 R 4225 0 R 4226 0 R 4227 0 R 4228 0 R 4229 0 R 4230 0 R 4231 0 R 4232 0 R 4233 0 R 4234 0 R 4235 0 R 4236 0 R 4237 0 R 4238 0 R 4239 0 R 4240 0 R 4241 0 R 4242 0 R 4243 0 R 4244 0 R 4245 0 R 4246 0 R 4247 0 R 4248 0 R 4249 0 R 4250 0 R 4251 0 R 4252 0 R 4253 0 R 4254 0 R 4255 0 R ]
+>> endobj
+4193 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.108 707.957 259.668 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+4194 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [452.93 707.957 480.387 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+4195 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 696.002 149.108 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a755f1ffc7dbac4ff01984c02774c9bc6) >>
+>> endobj
+4196 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.483 696.002 311.04 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4197 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.749 671.562 259.31 682.466]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+4198 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [320.948 671.562 348.404 682.466]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+4199 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.47 671.562 417.668 682.466]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ad6c64cb3cfad6b8d7fb952e3f85347aa) >>
+>> endobj
+4200 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 659.606 173.467 670.51]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4223 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [166.019 635.166 261.58 646.07]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+4224 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.597 635.166 358.053 646.07]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+4225 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.66 635.166 431.858 646.07]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_acdce8391d61c3090aa51f9d0656524a2) >>
+>> endobj
+4226 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 623.211 173.467 634.115]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4227 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 598.771 156.281 609.675]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a9a28ec8161898b61530de9bbb4a3251d) >>
+>> endobj
+4228 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 598.771 234.477 609.675]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4229 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.814 598.771 383.195 609.675]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4230 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.251 548.894 199.339 559.798]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_adfb768d4ea63e2eb5d58aec03b999f17) >>
+>> endobj
+4231 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.676 548.894 301.057 559.798]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4232 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [132.73 524.453 175.818 535.357]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_afed617fd6598839b510b46a3857387d4) >>
+>> endobj
+4233 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.633 524.453 254.014 535.357]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4234 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [150.828 466.724 247.464 477.628]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_abb6ca6c02bde2f04d412129e4be9743e) >>
+>> endobj
+4235 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.801 466.724 349.182 477.628]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4236 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 420.832 202.902 431.736]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+4237 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.4 420.832 314.263 431.736]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a2f03dea4f9d5f0e15e18785cf3dd58a3) >>
+>> endobj
+4238 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.601 420.832 415.981 431.736]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4239 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 339.658 199.475 350.562]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4240 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.098 339.658 296.905 350.562]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ae6fa6e27a794dc71b88169df7f08fcac) >>
+>> endobj
+4241 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.242 339.658 398.623 350.562]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4242 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 293.766 199.475 304.67]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4243 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.098 293.766 294.404 304.67]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ac62afeb287031d74441101af60be319a) >>
+>> endobj
+4244 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.742 293.766 396.122 304.67]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4245 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 247.874 195.799 258.778]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_aa8f66682c527ff5a5a2496de0e3fb2ec) >>
+>> endobj
+4246 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [199.615 247.874 273.995 258.778]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4247 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.134 201.982 196.833 212.886]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a2f9c525f46f4ff5707b505a88c82aee0) >>
+>> endobj
+4248 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.684 201.982 276.064 212.886]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4249 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.387 201.982 454.768 212.886]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4250 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 144.135 191.365 155.039]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ada7d59af059bdfb2e485d341213e6d19) >>
+>> endobj
+4251 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.181 144.135 269.562 155.039]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4252 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.528 98.244 192.794 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ab1b19ff2b88ffca75ac27208cdd877a2) >>
+>> endobj
+4253 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.038 98.244 272.419 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4254 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.205 98.244 453.586 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4255 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4259 0 obj <<
+/D [4257 0 R /XYZ 90 757.935 null]
+>> endobj
+4256 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F38 2120 0 R /F23 368 0 R /F79 505 0 R /F97 1188 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4316 0 obj <<
+/Length 1864      
+/Filter /FlateDecode
+>>
+stream
+x��[�n�F}�W�ɥ�j��K�h�&@z���OI`�m
��)���w�$%R��d at 9N�'Q�rvfv朙%��k{�{���N_)�d$����g��$A��|��	F�? c��O�,���Y�b>Y݄�Ep���r,Vϟ��	���A�����2\�?��9}EHaJbL��V�O鐒0'e&q�W���?�"Q�N<
�*$3��a�m/��_N�(J��
����$������
+�'�gC8E��>Q,����o����0��b�N{�?bo��x1��{;j�q�(6��������ۿ�bO���[}9(
��2��H��%��׳L�x��iT�6��^;�!�CQ�B��|@4
&�0�S��x�c��~0I���e��<	��J��
+5#�ϳ�PD �����v�sN_	YX��	�� �V�JEI��K!�0I�҈��|q��V-�c3B�s��%I�����m8
�a
K�'���$vǮ*f5aA��l5a�&`5\�#�lR�G��IP.���|���OY,gË�O�G��X����.�����k$$�u`�
��Q9�5"L���,���"������1�
+�����|9U�6H
+�8� M�Lɳ(
}��ݼ�N^l�Z:�tq<K��h>Y渕f*x�]:	Y$�l���lM��1S�M��N�I �l��2�"TmgS�H}6�!!��T|�H���g��
ji#���_��SP8�r������
5�a(z

�_U��
ae��$w���O.
�u}�8E(F��#�7���u���?E�
+��'��Z"�Q���3x
GyB��	��|�.�%��:�]O�F8"��q�
D�q0��d��@�����EQI[���M�0q[����P6~/$]L������n�c�0"�
i�)MBq�hI��덵@&{
��R<�es���d at r��
�SW���N��(�b
L��,3%�.�L�m˔
+��8M�ݛ�-1eU��'Lu:V"LAl�v$�&�5V~0]L��}�5��2$Gظ�J��N�	�����b�,N��������bG3�����&0���1�A���K�G���dH[{b��j��z��s�:H���l��U�� �l�
$����'�.�@!��~��1��
+���0��9�Jv���+�~���W�q=&5w��m�AU�2M\�*��j'����/`�`c
+��
��[p�O	\Gp�.��B�w=
������!ؕ�D��$�.`gm�S�Vʙhx{`e�+�Q��H:�1T�4��z�U�v��&yk�)�� Y���z�
+�:}x
�??
Χ�|[|4�G�EM�oiLs��5V�/�$�l֩[�ʘ#�6�m�N����>���[���3��
{q��<�N�ߋ����o��Qx�oT[�51�4�}�Y��Y�^�,+C�;L��L�\k�r���C�v�,7܁��'q"U9����ے(A���`�+io� �^Lm]�����\
��y�~E)��W)�{�T�z"d�HA����H��H��^"��ia�D*tc"�E
��0�dz�*_@�m���
��=B�8-m��dKtd�*[;��fGv�ڕ�s$�O%��g�иJ(�Hi�@h�_�BN�>�Y:M�r�"w���vU
��Hqu�b5����t_�T�M�r�/@v}$��,�\�@p��_�:����4�L˯g�>6�_�D
z�nU��t9�Ƿ��'�
��zB����cR[�m���B
�P�����z� !x
�����[�i���c��o��^��(\���G�t�e��Wdw��p��f��!)�
��0�LN���� [...]
+endstream
+endobj
+4315 0 obj <<
+/Type /Page
+/Contents 4316 0 R
+/Resources 4314 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4216 0 R
+/Annots [ 4273 0 R 4274 0 R 4275 0 R 4276 0 R 4277 0 R 4278 0 R 4279 0 R 4280 0 R 4281 0 R 4282 0 R 4283 0 R 4284 0 R 4285 0 R 4286 0 R 4287 0 R 4288 0 R 4289 0 R 4290 0 R 4291 0 R 4292 0 R 4293 0 R 4294 0 R 4295 0 R 4296 0 R 4297 0 R 4298 0 R 4299 0 R 4300 0 R 4301 0 R 4302 0 R 4303 0 R 4304 0 R 4305 0 R 4318 0 R 4306 0 R 4307 0 R 4308 0 R 4309 0 R 4313 0 R ]
+>> endobj
+4273 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 686.039 197.453 696.943]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a798df1392d067294fc936bcfa19745c4) >>
+>> endobj
+4274 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.268 686.039 275.649 696.943]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4275 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.987 639.215 198.34 650.119]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a3f5e732694ad7d879ac7eaef0668073a) >>
+>> endobj
+4276 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.043 639.215 277.424 650.119]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4277 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.828 639.215 455.209 650.119]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4278 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 580.435 191.216 591.339]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ad3d8562d66aeed544d8ef75b941e807c) >>
+>> endobj
+4279 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.032 580.435 269.413 591.339]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4280 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.541 533.611 192.658 544.515]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ac32024703f8ac04b6b68ff1761575d2d) >>
+>> endobj
+4281 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.916 533.611 272.296 544.515]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4282 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.165 533.611 453.546 544.515]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4283 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 474.831 190.26 485.735]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a307453961ae9779ce9e1e3ebcc94496d) >>
+>> endobj
+4284 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.075 474.831 268.456 485.735]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4285 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.626 428.007 191.787 438.911]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_aa831d9698f64ff610fa1b3341025603a) >>
+>> endobj
+4286 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.129 428.007 271.51 438.911]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4287 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.91 428.007 453.291 438.911]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4288 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.668 369.227 212.417 380.131]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_abe0aef8acc1101523cfbf50ebce7528e) >>
+>> endobj
+4289 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.801 369.227 291.182 380.131]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4290 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.593 369.227 466.974 380.131]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4291 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.922 357.272 250.302 368.176]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4292 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.722 310.448 211.923 321.352]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a95ac9759a14fe23bf8d02a621e4e9e5c) >>
+>> endobj
+4293 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.36 310.448 290.741 321.352]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4294 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.486 310.448 466.867 321.352]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4295 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.922 298.493 250.302 309.397]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4296 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.015 251.668 191.281 262.572]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ae4bfe4a80fb074c50ec17657eee225e8) >>
+>> endobj
+4297 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.013 251.668 269.393 262.572]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4298 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.762 251.668 441.143 262.572]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4299 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.616 239.713 222.997 250.617]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4300 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.074 192.889 204.365 203.793]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ad5ff0dd1267079af85d9938bb4a975de) >>
+>> endobj
+4301 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.155 192.889 283.535 203.793]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4302 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.986 192.889 437.367 203.793]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4303 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 180.933 199.475 191.837]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4304 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.238 180.933 370.619 191.837]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4305 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [468.945 180.933 513.996 191.837]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4318 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 168.978 159.735 179.882]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4306 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.968 122.154 191.792 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a1d723d4d200b4a6a694b141c7b6f408e) >>
+>> endobj
+4307 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.476 122.154 269.856 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4308 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.951 122.154 441.332 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4309 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.616 110.199 222.997 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4313 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4317 0 obj <<
+/D [4315 0 R /XYZ 90 757.935 null]
+>> endobj
+4314 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F79 505 0 R /F97 1188 0 R /F56 367 0 R /F38 2120 0 R /F107 2332 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4373 0 obj <<
+/Length 1835      
+/Filter /FlateDecode
+>>
+stream
+x��[Ys�V~��P_Ri������δ�0P
+)�O�x�XIL�E���_ߣ]�e�NEO��s�پ�
-غ�����{�sx��e��TZ�s�`KI�%Vo`}�	F����}�l����8������n����w���ѳK���P���,Ƨ��|�:<&�� �
+1&a�H��X��X�2�J�
��_�.����g�
+�� bXzگ������<��s
���l�^|�w�'��&gp�Am�x���׹�P�-9L(����Ɲ��5��,����M$5�8
76��w������!��$
+I8CQ���v?R*����2
+��$��ԩmAjL��
r��͊�K�$:
P��yw쥎�>�p��;	�a/+V5aAW�S2�KX�|!Ȉ���(��Aby�q�"q��
�C�Jl��>�µog}���bRrU(&��
�Q�]��w���H0N�u?�ҭ��Y
�uW��X�i��U�b�J
�FZ�}6�̃zG�h#aHs�h����.)���`k�f��i�-&a��A�k8	�/I
@�Iɸ�He�Z��<r72��>(�#�ߢ
J�!�ƻ2�x�Fy��&PS�p��2)�kw�Hj�`Y��A_&�z
���ା?bLR!Q�H�B4���P�J�Wlb)�vV�p;��
�Jo�ШT�F�.� �bX-�ic��u#��g
H�&
�9 e5{n�1C`��7�1ca
���8�>L�H+��[�0V��.���*�2�B\��*��8�N)��{�S�� T �_��Hk�P�|��}4�0���J���q
+��
�Hc�u
�n
3�U�V��b���J�s7M�
%�)�E;�l��ݰ�B%@K��_�W`+̄Y
~� ���`x=
x�
+5 !�ӕΰ�H �aQ�
��9E��ݡ�j1
�^�Q��d��o`/��ؾ������͇�Iv��v0͋p��/w2��"�4���E_��T�ʔ'��r[�`Z��+?�@
L�y�)S
$I�$�6k��Cwgx-��G��)k�p�]�R��G��˔�a��
�m13d5�
�5������
��D�w���Ӡ�
E�l
��PR�
.���#����Iq�� # ,�Q���3�w����*��k����)�
/&g�y�u<*�C\|��.���
��.H���%�@�r�>���#�����c�iɂ��]�(E�di�r�ы��޼�[�_(�
+7
��ӕ^Z�G*l � ��-Е�tt
n5��k��`3$�m��"�I�q�m��*�@�L¨�W@젞���--��@�5����R�;�xxLY�F
�K2���y�|H0QH�-���l>����(�:*���tT�[ }�_T_�
bP
�bOd~�t��!�5��
���x�*
YI��Ҍ��^�yG�M&���|�a�L�n�����
�ڱ�������>Z�xx� ��7�'���ߑ>��ӽ��҇P�C!j���@Lf���:}0Q���C"��C��ùwo
�~(�-��
���$
+���`����|�W��F�
 t�ʨg�u� U�i���jk�/P�*� �1"��;%W
+_�� ���^���IH�D�]Jl'�v�iyj_<%eҡ�����JS%��^�O�
�j�
��I���d���
b�<�m�sQtKq8�rf��o��Z�i٧e�vJj���hJz�=NIɅ��^�*�}�G�/<I
Ӗ�;��7A�) ��%3����8�҇7N�=�c7{x)~�,���g��g��?;B؉�����0$1���cgz9���^�6�]�Z�?C��n�����]����������b2��h
�f��u�.h������4:㩟=�����p���QU
+endstream
+endobj
+4372 0 obj <<
+/Type /Page
+/Contents 4373 0 R
+/Resources 4371 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4216 0 R
+/Annots [ 4310 0 R 4311 0 R 4312 0 R 4330 0 R 4331 0 R 4332 0 R 4333 0 R 4334 0 R 4335 0 R 4336 0 R 4337 0 R 4338 0 R 4339 0 R 4340 0 R 4341 0 R 4342 0 R 4343 0 R 4344 0 R 4345 0 R 4346 0 R 4347 0 R 4348 0 R 4349 0 R 4350 0 R 4351 0 R 4352 0 R 4353 0 R 4354 0 R 4355 0 R 4356 0 R 4357 0 R 4358 0 R 4359 0 R 4360 0 R 4361 0 R 4362 0 R 4363 0 R 4364 0 R 4370 0 R ]
+>> endobj
+4310 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.197 707.957 216.778 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_acf004b26ba068e346217011b6fd43ae3) >>
+>> endobj
+4311 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.691 707.957 295.071 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4312 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [393.536 707.957 467.917 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4330 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.491 649.178 214.054 660.081]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a5fa74080d6f3e00a7a0291e03f897390) >>
+>> endobj
+4331 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.261 649.178 292.642 660.081]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4332 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.947 649.178 467.328 660.081]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4333 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.33 590.398 215.546 601.302]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a9b45abd63e1255df8341775c8f42b842) >>
+>> endobj
+4334 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.592 590.398 293.972 601.302]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4335 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [393.27 590.398 467.65 601.302]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4336 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.922 578.443 250.302 589.347]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4337 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.479 531.618 193.302 542.522]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_af1952cf5da3ecbadd8401b948e899a31) >>
+>> endobj
+4338 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.497 531.618 272.878 542.522]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4339 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.354 531.618 453.735 542.522]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4340 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.187 435.269 272.748 445.197]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+4341 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.877 435.269 450.438 445.197]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+4342 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.914 422.004 192.84 433.959]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
+>> endobj
+4343 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.007 422.004 304.933 433.959]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
+>> endobj
+4344 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [425.965 422.004 472.39 433.959]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ab733c7c83da19667a83c2a3abafa5d05) >>
+>> endobj
+4345 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.187 364.534 272.748 374.462]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+4346 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.877 364.534 450.438 374.462]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+4347 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.914 351.269 192.84 363.224]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
+>> endobj
+4348 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.504 351.269 305.43 363.224]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
+>> endobj
+4349 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.768 351.269 471.892 363.224]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a79a5a323f582c4260790552d3be140fd) >>
+>> endobj
+4350 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.187 293.8 272.748 303.727]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+4351 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.877 293.8 450.438 303.727]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+4352 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.914 280.534 192.84 292.49]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
+>> endobj
+4353 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.546 280.534 304.472 292.49]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
+>> endobj
+4354 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [424.295 280.534 472.85 292.49]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_adda98cdf0bda436acac3193162fa53b0) >>
+>> endobj
+4355 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.187 223.065 272.748 232.993]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+4356 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.877 223.065 450.438 232.993]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+4357 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.914 209.8 192.84 221.755]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
+>> endobj
+4358 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.761 209.8 305.687 221.755]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
+>> endobj
+4359 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [428.699 209.8 471.636 221.755]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a76b5e4c5b9628c14a7d227517b8fb349) >>
+>> endobj
+4360 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.187 152.33 272.748 162.258]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+4361 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.877 152.33 450.438 162.258]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+4362 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.914 139.065 192.84 151.02]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
+>> endobj
+4363 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.546 139.065 304.472 151.02]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
+>> endobj
+4364 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [424.295 139.065 472.85 151.02]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a16b12775a696c6e304cf9ee7ffe2213e) >>
+>> endobj
+4370 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4374 0 obj <<
+/D [4372 0 R /XYZ 90 757.935 null]
+>> endobj
+4371 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F38 2120 0 R /F79 505 0 R /F97 1188 0 R /F106 2337 0 R /F107 2332 0 R /F105 2458 0 R /F128 4375 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4405 0 obj <<
+/Length 2402      
+/Filter /FlateDecode
+>>
+stream
+x��ZYs�F~ׯ��Gsb���v�8�lb{��RA�PBL
 Z����9  J��U�	נ�����g��f�G?��szr�F�Q������b�
	����ч�`�'c
�
��*�z?�8Ȗ�[=��_��<η����g3Hϯ�nV�:��|���J%b,���wnHK�IYT���%��*��q2��Pf"�~{u���˸(
��8��^��q�ݛK� �
+t:�W�)
ѓ�'� �G�LH$��V'>��
��<ˆEjtgG�F�����N�}���qsDؔ�H��2�C���H�c_�g�(����⡪t++e��j��s
u�ߢ"��	*�k��+o�)qW?����]DP�;��RvB�@�pCP$��?���R_���h�hK�7������lJ�"�����m\&c*�/c"}�.�j�o��-�Cbg��zTj����@BDؐY��x����5^n�������R7�	˜
U�֍>V��O7:��#���pz�
<��=5
��
*H�ÓǑ������n b��Ν~��~�,� ��y�=��!�����I��9$�
L��:˖=�I��
@� �A��0��l����r��
������b|q��E9�
����=´�_=T��
'��tk
���VP�
�ә�Hf�)A
�_t����8uwFW�V_BH�z��qB)`5�+�W/(�ɳUMA���E���)�9�@]��Qji�ڙ�]bq�Du�z_MҲ�,� T��b�0*nҖ9��F|ճ�"��}#|l�v�\�r���W��
C�
+w�q5J4FIDBY
�ŗ��x�G�#����{H@>�����	���4v31�K�$�� ����V���
C|�}qE�
�$jډ@�»�����)^k?I<H�z�qp��E�@��_�� �
�4�H:�1��.�zf>,�c!
�na^(�
���{_iM���
�#.�s�)	�o��-^�v=j0H��Q%�$T�
lj׊R��
+�e2c�����~�Z��I�����3�˧	����7 .� v�>���	R�:���5H٧
+7ᶉ��h����vS)5f��1�����@y��i/������M�t,�̋�G�8
k��#Є2ӥ1�,�
�m�\�F�{$R7��ٮ��b�K�G��\zpIכr�nS���{�
�b�~g�
�����iA�`�� �K����_֚UǷ�k��=*($y\Q{� �/u�Y�C��21T�鰐� s�ۅC�-
��\\dE���Ծ��4+�ܝ�C��
*=U%����A�|�Y�<�]�13��ؿ?]�ʳa���6Ԯ^'y�ϓ|�a�e�����`����z��0m����b88	Xu��([jl>lE��Fg�q�+��\�H�\�v�A�����
I�˅CK����D�!M��m��k���td������B3��U�,�;����'#E�7KF
^}�(BD�Ǵ�@�A�v<��tɈa+��\d>� �4�6�	-z$z�OIqP+�W6[��L�ƨ��C/6)�Y�����G�J�(iQ�w-�W�
��ڒ
�ݣ2,y�����T4�J��=Uw�%@
�0�f��� ���e�,f-�׺������J�	{�x�
m�HH�d�,@
G
����p��"��	��fEɑs!��}��	 ��:az@�����
O�?'��L����T!6�1&~Hk��aT&�]
�׶] 
�HP4H�:½5�/�mS�W:-]�C��
+\n�:u�ֻ�	M�`�1�����s�7��I�8����.���`f6��L�K�
;��h�yuw��nͭ���j��V��ôQ�5^.���$�n|����Q�#�t�ܯ�6&u��٢s
&�5���qgmehY��O�Ix��ؖR�bE�]jd�q���!�j��8�{Y�rmҘ
�A���Z
��n���B�B�,w�f
�8�04�%���00�b2���ı��[��ի�:(�� ��3Gk�bܬԛ�j�:�j3gj�M�y��'���mف
�������ڐ��< f��1j|
�>QF�z
�}D�E�����]�߆1�a�1� LkD�u����X$ˆt
���9%�<vfL����=3F��'
6�Ņ��d�u��H��y��~'͝��m����~l�$���I(��H�"e(�5��zE���!��
�u�K�Ő`1!��`&9L$i'�	��N���h�QBR�"��C�SQ��t=���
a�Z����$՟Z5T�0`,�y�:�B��;�)"$��\��{[�A���
3����=�����
�z��5Nݎ��m�X��J�5<^���������)iCZ�(Tp�Io�r}q~~ww�f���QR������r�A [...]
+endstream
+endobj
+4404 0 obj <<
+/Type /Page
+/Contents 4405 0 R
+/Resources 4403 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4216 0 R
+/Annots [ 4365 0 R 4366 0 R 4367 0 R 4368 0 R 4369 0 R 4385 0 R 4386 0 R 4387 0 R 4388 0 R 4389 0 R 4390 0 R 4391 0 R 4392 0 R 4393 0 R 4394 0 R 4395 0 R 4396 0 R 4397 0 R 4398 0 R 4399 0 R 4400 0 R 4401 0 R 4402 0 R ]
+>> endobj
+4365 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.187 708.933 272.748 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+4366 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.877 708.933 450.438 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+4367 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.914 695.668 192.84 707.623]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
+>> endobj
+4368 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.761 695.668 305.687 707.623]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
+>> endobj
+4369 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [428.699 695.668 471.636 707.623]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_aa355ae6b2a2a704e88060541fbaa6562) >>
+>> endobj
+4385 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.617 637.422 270.177 648.326]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+4386 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [388.048 637.422 403.878 648.326]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ad5c5cd5266cf95dcdc0f03d0108168b5) >>
+>> endobj
+4387 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.923 591.773 274.484 601.701]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+4388 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.32 591.773 472.881 601.701]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+4389 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.639 578.842 229.787 589.746]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a2ee8a6019070192609b3ea6e5dfa3018) >>
+>> endobj
+4390 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.55 483.411 270.111 494.314]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+4391 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.347 483.411 353.803 494.314]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+4392 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [387.102 483.411 414.559 494.314]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_af9af63978105e142642222864ce7c3be) >>
+>> endobj
+4393 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.441 471.455 331.997 482.359]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4394 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.533 448.641 237.219 459.545]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a4ced0eee2a4a2c50779c2d01ef022500) >>
+>> endobj
+4395 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.342 448.641 411.722 459.545]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4396 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.194 402.016 270.755 412.92]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
+>> endobj
+4397 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.054 402.016 356.51 412.92]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+4398 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.097 402.016 413.572 412.92]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a6133c234bff425e6feac34cef06b74b2) >>
+>> endobj
+4399 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 390.061 184.651 400.965]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4400 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.322 343.436 235.007 354.34]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_aa7885d402d5653321f316029ca0af517) >>
+>> endobj
+4401 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.185 343.436 381.565 354.34]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4402 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4406 0 obj <<
+/D [4404 0 R /XYZ 90 757.935 null]
+>> endobj
+4407 0 obj <<
+/D [4404 0 R /XYZ 90 308.298 null]
+>> endobj
+4408 0 obj <<
+/D [4404 0 R /XYZ 90 245.622 null]
+>> endobj
+4409 0 obj <<
+/D [4404 0 R /XYZ 90 177.518 null]
+>> endobj
+4020 0 obj <<
+/D [4404 0 R /XYZ 90 155.206 null]
+>> endobj
+4410 0 obj <<
+/D [4404 0 R /XYZ 90 155.206 null]
+>> endobj
+4403 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F38 2120 0 R /F23 368 0 R /F79 505 0 R /F107 2332 0 R /F105 2458 0 R /F97 1188 0 R /F100 1390 0 R /F123 2840 0 R /F104 2229 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4421 0 obj <<
+/Length 1460      
+/Filter /FlateDecode
+>>
+stream
+x��Y�n�F}�W�)%�h���E�6�����:��DID$R%�8��wx'��Ŏ���D�˳s9sf������/��ǃѹ–FZRi�g�Ɩ�	J��Ժ�	F���}�l����.
��xy������$~rwv�bL>䋂�w�Y���~�ftNHgJbL���咞
�'e�^1v��;C*r���ɝ�iD4�_�� ���%����V륟哫`���	<"DP�(��^��`�
+)&��jp�
[Sx��ˆi׺-V�,NsÖ�����
����O�Rt,
�aL��t`��
r��
X��E=L��K�5�"LQ��r��t�!QHR^��*�6IT�$[T����$^'a'6�f��ד����,H��h~Vħv�"q{P����xG�诺

+`��"�
�����Tt���PP07����
��bW83C1`^���	�2�5�6
p�%}�l
C�1��~��Dj�������O�/�a��qf�C���!®�'�o�现��"x�TɈr�Gav�Ha���
q��A;Q�����!e���5商��̐0	��)���,�P��h8R�wD�����A��"�	+� ��K�U��<	�hZQ�hZ�T.����&�da\E�e<٬�(�G�
bHG
J��H�AV����,	��Π9��ݭ��_���w�!ᔻ�ژn_E��2�^�
X�"�ȡ^�b�N���
��,��G�uںa
�#��n��
E^�x�
��Ya�����}�KS$"X> 7ON�
����#H
Q�܋���<�4R�=��4���ϳ�(�
��
������%�X��.An+
�I����
+�����Hpޣ8=Q�D�.�Wa�I�N�},�1(�{���(��#i.�pÌ4g'��hޥ�z�$,�I�����|�F��/�rIw��)u��
�A���`=����-�,���� ���Jf��E��v8�a��8���`i�DG�#5\�+fr����$�O�,�?�
�NJ��z>��Ѐh"����V�θ��������xeؘ0�x�T���$����$��E�m��y���!%����Ϟ�o��$�M��	R���2W4Tݓ)
+T���]��/����ʬ�Lsl���l&Yy[�)g
J�
�+,n?�e�sSlR����K�`
+����&t�e�y�&���[RHG���xM�h�
��?�׋���>����>�QÁ@�F�����4��ͥ���JC裥L�-5
!
.5��O�摗�w�����;��>Bi�b}�) �a�u#�E?�;>� �~�Q�q�i�����->�
9�g�i��j�)4��q=
���B�Թ�����m5{.o�J��;G����G���xX��������1@ΐ;�A�b�����uP�6Zk���E���F���[4I�&
+�	
+��z�
��v�gB8���ʳz8��������U1�@���/�S� 
+endstream
+endobj
+4420 0 obj <<
+/Type /Page
+/Contents 4421 0 R
+/Resources 4419 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4216 0 R
+/Annots [ 4418 0 R ]
+>> endobj
+4418 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4422 0 obj <<
+/D [4420 0 R /XYZ 90 757.935 null]
+>> endobj
+4423 0 obj <<
+/D [4420 0 R /XYZ 90 623.269 null]
+>> endobj
+4217 0 obj <<
+/D [4420 0 R /XYZ 90 600.957 null]
+>> endobj
+4424 0 obj <<
+/D [4420 0 R /XYZ 90 600.957 null]
+>> endobj
+4218 0 obj <<
+/D [4420 0 R /XYZ 510.509 547.148 null]
+>> endobj
+4425 0 obj <<
+/D [4420 0 R /XYZ 90 532.578 null]
+>> endobj
+4219 0 obj <<
+/D [4420 0 R /XYZ 510.509 478.649 null]
+>> endobj
+4426 0 obj <<
+/D [4420 0 R /XYZ 90 464.079 null]
+>> endobj
+4220 0 obj <<
+/D [4420 0 R /XYZ 510.509 410.15 null]
+>> endobj
+4427 0 obj <<
+/D [4420 0 R /XYZ 90 395.58 null]
+>> endobj
+4221 0 obj <<
+/D [4420 0 R /XYZ 510.509 341.651 null]
+>> endobj
+4428 0 obj <<
+/D [4420 0 R /XYZ 90 327.081 null]
+>> endobj
+4222 0 obj <<
+/D [4420 0 R /XYZ 510.509 273.152 null]
+>> endobj
+4429 0 obj <<
+/D [4420 0 R /XYZ 90 258.582 null]
+>> endobj
+4260 0 obj <<
+/D [4420 0 R /XYZ 510.509 192.698 null]
+>> endobj
+4430 0 obj <<
+/D [4420 0 R /XYZ 90 178.128 null]
+>> endobj
+4261 0 obj <<
+/D [4420 0 R /XYZ 510.509 112.244 null]
+>> endobj
+4419 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F100 1390 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4434 0 obj <<
+/Length 1524      
+/Filter /FlateDecode
+>>
+stream
+x��[o�6���+��X��N1l];�ۺ�u��BPl�jK�,7�~�E]
E�ri��O�D�����
��[z��e��lt�TaO#-��f�ƞ�	J���{3&�ɔ`��g��a���	��t���Y��ga�?=}|�ߛN�"x�[�G������SBZP�c�/�o�t� cR��
����G�)f
+���|�#�iD4����S��U��Z�����h�Y�yd���.`��G�
>"�(e����FF�`�
+)&��z��
�����ӾwU�Z{�����W�?Gx���!,Ec|Đ_: �fx]w�'tȨ0E^���7Q���`�B��G*�%�à\�=�$��*
+�]��aE
^o�z�
^�yl��cR�Y�
+��!�F��ㇸQm�g���
c��3
W�Ȅ�o�g�[�=��TKĵ� ������l`B���$���[,�d*0��)�~S���c�}^�@���BQZ34O�mnE�/Òfhn���E��-Ƭoh�T
��;.E\�]^��d'���8�'aԺ���(��~31A*A�݋ ���כ,2x-��ț2
+ˋP�TH$8� �P)�³	1�{;��#iM
83}83-b�`�Ұ�wh�ZHr[���kɑd�Dr��/�8�[��b����
8S�p��Y"�¹�aJ%�Ű	u�1CL��!V�qP
�uR<e����Uu�f�_�I/��i�97�
�¸~�-iX��8�a$�+!SY�`
��ll㿢�� 0b����l���|�G[;| ,�
$ai옴����L�b��j�:���P[�zDOG�zC
+��l'΋�n������D�.K�:4�,�|�#�h�g������\
�Ѻ�l��w���_����>�EV�Z�3ms�̈́�`��G�ߩ���+!H����$6Ac��m�EhF�i"�*qMmR��}���A��^�xU�q��P�#�2(M�*�H5T�	���Л�¾FJI}�H1�ŴD�!u{��a.�1*���d;
e��� )�MJ�&%a�^~��LJ�:�RS:
�
+�Ү��_�q�t!qP��ɦ�(
�4�Ίn�#��I
^b/4?�ۥG�H�����p��U��^�@�����S{P��eHY��6'CJH��
��g�%��.�.Ɯ�f�]������o�qF>O��$����$�$�u�8�mN��t-��w{�4^X�f�Y`w�շbONّ�(! ��ؚA�؏J0v�A���}����YZ7@	/�n��ca�hK{�,�jڜ_��X>��Waq~����$N P�&_f���ㄊ�Ǿ&i�s�E�)�˒0Lzfc����tLɧ�K>
�a�%��
+�g�L~��g�K��_p��V߻�p,�sg�!��N��/2�������R�H��k��z���|~y=)4�\�f�^��(l.����fؾ������6ʾ5�F���dWʬ��(��i�GLj
h2e@��(*U�z����_G����sGq��ӓ���+4ߢ]o2�'���c��	�H5��i�u�է	�q
�0�k��s9��
+endstream
+endobj
+4433 0 obj <<
+/Type /Page
+/Contents 4434 0 R
+/Resources 4432 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4444 0 R
+/Annots [ 4431 0 R ]
+>> endobj
+4431 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4435 0 obj <<
+/D [4433 0 R /XYZ 90 757.935 null]
+>> endobj
+4436 0 obj <<
+/D [4433 0 R /XYZ 90 733.028 null]
+>> endobj
+4262 0 obj <<
+/D [4433 0 R /XYZ 510.509 686.761 null]
+>> endobj
+4437 0 obj <<
+/D [4433 0 R /XYZ 90 672.191 null]
+>> endobj
+4265 0 obj <<
+/D [4433 0 R /XYZ 510.509 606.307 null]
+>> endobj
+4438 0 obj <<
+/D [4433 0 R /XYZ 90 591.737 null]
+>> endobj
+4266 0 obj <<
+/D [4433 0 R /XYZ 90 518.027 null]
+>> endobj
+4439 0 obj <<
+/D [4433 0 R /XYZ 90 503.456 null]
+>> endobj
+4267 0 obj <<
+/D [4433 0 R /XYZ 90 431.903 null]
+>> endobj
+4440 0 obj <<
+/D [4433 0 R /XYZ 90 417.333 null]
+>> endobj
+4268 0 obj <<
+/D [4433 0 R /XYZ 90 345.78 null]
+>> endobj
+4441 0 obj <<
+/D [4433 0 R /XYZ 90 331.21 null]
+>> endobj
+4269 0 obj <<
+/D [4433 0 R /XYZ 90 259.657 null]
+>> endobj
+4442 0 obj <<
+/D [4433 0 R /XYZ 90 245.087 null]
+>> endobj
+4270 0 obj <<
+/D [4433 0 R /XYZ 90 173.533 null]
+>> endobj
+4443 0 obj <<
+/D [4433 0 R /XYZ 90 158.963 null]
+>> endobj
+4271 0 obj <<
+/D [4433 0 R /XYZ 90 87.41 null]
+>> endobj
+4432 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F23 368 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4448 0 obj <<
+/Length 1087      
+/Filter /FlateDecode
+>>
+stream
+x��Y�n�6}�W評����*E�v�-�� �u�� Pl&V�\YN���B�򲖋n�&�,z43
�9�!�w�Q��ѷ��䭦^D"Ŕ7��"�iD2�s��JT0J� ��b__��y��7�"��1�)�bs~����>VBf~��zqc��j�n�`� c�p��|���F���d<��@
�,3Y�PNf�f
�����A�o�x�j�N���f�L��4#��-��o�H�+��念�G�j�u��&�Ko�]^Qo���<Jxz�����r,�>�~у�g�P%��'��]�Һ���C���������{�Y�,^T�U
+��]�v�ӇC
c�@�V⡂G��K3��׸�]���J�%��QX)H�� �v̷XB1o�%ઁ�kK"�F��lYH8
Xg�V�Ip�B+�CE��
+`<�j�Z�����,L���U#*Վ�%���Yj�|�M
��e�z�v>��{~��D�n�W�8Mͪl4&B�W�i3�0���M�,o%���}�9� t�
+}����"J

3ʈ��

��[��[/3��\:��2�3
��B�8�T�J���7NjT
E-p�p��-��g�-���-��-�Sr�
kn��Y���7�-�� ���A-��b�Ͷ܂#-��:2��wG��C�斈(�[nQ��n����܁d��2�s���
�3&.>�0\�����
q�G�5��f��k�s��љ/\co�KqtJ��N�S)~
�����
a����֥;"L�Cյ������;g�3��j[I'E1�ot
��-�#�����a�~�����fAu�;�Y�D b���>C1L��Ո?�f9)W6a�
	�e�gN�cܵdn��	�/�R��J�^�(�
+�I���`�[����3�s?J�n����?>I
��I�˓4q����6���`�F��w?��i�N%�Hw�wW��7�*$��^���
+U�հ�0������-�UM����W{Wݼ���˯+S|H���S����r��J�)V]m���	�����v�ͼ>z�������B�0�]���ry>�<>>�ي��dY���,����9��g=�y��.��خ�}�n������
+endstream
+endobj
+4447 0 obj <<
+/Type /Page
+/Contents 4448 0 R
+/Resources 4446 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4444 0 R
+/Annots [ 4445 0 R ]
+>> endobj
+4445 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4449 0 obj <<
+/D [4447 0 R /XYZ 90 757.935 null]
+>> endobj
+4450 0 obj <<
+/D [4447 0 R /XYZ 90 733.028 null]
+>> endobj
+4272 0 obj <<
+/D [4447 0 R /XYZ 90 666.98 null]
+>> endobj
+4451 0 obj <<
+/D [4447 0 R /XYZ 90 653.202 null]
+>> endobj
+4319 0 obj <<
+/D [4447 0 R /XYZ 90 581.648 null]
+>> endobj
+4452 0 obj <<
+/D [4447 0 R /XYZ 90 567.87 null]
+>> endobj
+4320 0 obj <<
+/D [4447 0 R /XYZ 90 496.317 null]
+>> endobj
+4453 0 obj <<
+/D [4447 0 R /XYZ 90 482.539 null]
+>> endobj
+4321 0 obj <<
+/D [4447 0 R /XYZ 90 410.986 null]
+>> endobj
+4454 0 obj <<
+/D [4447 0 R /XYZ 90 397.207 null]
+>> endobj
+4322 0 obj <<
+/D [4447 0 R /XYZ 90 325.654 null]
+>> endobj
+4455 0 obj <<
+/D [4447 0 R /XYZ 90 311.876 null]
+>> endobj
+4323 0 obj <<
+/D [4447 0 R /XYZ 90 240.323 null]
+>> endobj
+4456 0 obj <<
+/D [4447 0 R /XYZ 90 226.545 null]
+>> endobj
+4324 0 obj <<
+/D [4447 0 R /XYZ 90 154.992 null]
+>> endobj
+4457 0 obj <<
+/D [4447 0 R /XYZ 90 141.213 null]
+>> endobj
+4446 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4461 0 obj <<
+/Length 1548      
+/Filter /FlateDecode
+>>
+stream
+x��ZYo�F~ׯ�S+"�zgom�6h
+��F}J��h�����m��wx��JK5Q� ~ⵜ����f�%�w�Q��O���KM���)ox���
+�d�
�ޛ>P��PJ�>�~����>���d}����o��2\��?q��e������U���_��ؘ�1M8W8}.��bHK���1���&3����"�^���S�I�$�ܡ�~4]L�4*��]��`��l�� $�2�����{�b��ä&�Ko4�yK�1��Q���磦�`�b�u��
�t�T[�g�P%

L��fV��K���Bfj��-��U��ޖ�W�|�����쇓Uy9���d	t%gm�H�sS
 �@p��g�N�	/�	e���"�./*����
��hL]/�Y8�M���x(�Hn=;T�QC�]Qe�wY��q!;
�/���e��d��?TR qX�����
pʼn�s�SH��8™8L���6�Rm
��:��lR���g4�%i�]7?PF�.�hb�1�_�\��> �|��#0Q�XP'Q�r����"�Ӹ
+�*)��)�X5��2�pa�ւ<�,I5po �dL��g��29�bd#s�՞���X
+6�Kb�l|A�E(�<���G�_Ah9��6�ʓ¯*�W��W���	��|U?Y]m�������"���c��	|��w
|������g�[��:%��|U�xh?s�/F]�ќ]�E�7�q���^�:���D w@���e��0�dH���
4��<��'�avjhk` SRf
���Aŗ��X�:�e���HqA����8�^���|y`s�B������k���M�"�Y�}H�"5�CgO��O�&��.�h=�
v)(sf�
�q&D��!�mRP�1'�&J
�KMN�`�5'�`��`]Ge'GhM�N��A��`r����G�l���n&��8�ls�\��>;U�
Q��v��i1�c��
+ĺTfɂ�3��s��5�*���h,��X9X��S5�����!}�Ÿ��$J�xvc�vȠ�O\�8�T�g�.˒��\�۰�gb��^�]
ْ,H`�qj.�Y)�"��I� �5>΅}_

ZWX᳊����\�>
lką!8��2'%��EV�d�v�Un#��?M�d���@8�*��U5��G�?O\����X�ʟ���8�B[m��&i��
��)�4|,�b�
+i���,
+�
+E���3'K���FR![�K=,6h*�4�랢4

[��X��[�:pB�֮Nˊ+M�Oء�0;���u�%��
5���ЌF4�|5��"JƳ�&Yl��h���S��7l��ʭM��8'�&���N�^��wۗM�&���f_?��Y�r�
�M3k�-���*l��hc`z��R��[)C0]��~�j�B�Ȥ,�`X������V^V���on���I��֗�_.���lN��
��2Q�2���B	@�p8&��(*M,�z�Ug��� h��4'T��p���������d���,^,I��/��Ӷl�p�:L�+8�/K��ޜ�)����� (���
+endstream
+endobj
+4460 0 obj <<
+/Type /Page
+/Contents 4461 0 R
+/Resources 4459 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4444 0 R
+/Annots [ 4458 0 R ]
+>> endobj
+4458 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4462 0 obj <<
+/D [4460 0 R /XYZ 90 757.935 null]
+>> endobj
+4325 0 obj <<
+/D [4460 0 R /XYZ 90 720.909 null]
+>> endobj
+4463 0 obj <<
+/D [4460 0 R /XYZ 90 706.338 null]
+>> endobj
+4326 0 obj <<
+/D [4460 0 R /XYZ 90 622.83 null]
+>> endobj
+4464 0 obj <<
+/D [4460 0 R /XYZ 90 608.26 null]
+>> endobj
+4327 0 obj <<
+/D [4460 0 R /XYZ 90 524.752 null]
+>> endobj
+4465 0 obj <<
+/D [4460 0 R /XYZ 90 510.181 null]
+>> endobj
+4328 0 obj <<
+/D [4460 0 R /XYZ 90 426.673 null]
+>> endobj
+4466 0 obj <<
+/D [4460 0 R /XYZ 90 412.103 null]
+>> endobj
+4329 0 obj <<
+/D [4460 0 R /XYZ 90 316.639 null]
+>> endobj
+4467 0 obj <<
+/D [4460 0 R /XYZ 90 302.069 null]
+>> endobj
+4376 0 obj <<
+/D [4460 0 R /XYZ 90 218.561 null]
+>> endobj
+4468 0 obj <<
+/D [4460 0 R /XYZ 90 203.991 null]
+>> endobj
+4377 0 obj <<
+/D [4460 0 R /XYZ 90 120.482 null]
+>> endobj
+4459 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F72 404 0 R /F100 1390 0 R /F104 2229 0 R /F23 368 0 R /F8 540 0 R /F128 4375 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4472 0 obj <<
+/Length 1726      
+/Filter /FlateDecode
+>>
+stream
+x��Zmo�6��_�}�d�a�.2X
+l][�ۺn�>����J�֖
Yyq��z�dZtӤ@�|�%�ǻ����Q��G{/F�MF���i�%������
$A�o2���#9> c�͘`?���͘b?��ϣYN��O�0[
==�N?�A�l��rqe��W��	�X�� 1&a�B�/后�&e�
1�<>�¨P,
��-��FD�z����p�*�Nƚ��b9��ot��G�)�"DP�(l���MF#b�G
+�� Lx��ѻ؛��W
FL+���85�ͽ��Fx���!,E�|���䵊��+�!�����=_/�$\�r0~D�d�{6�r�@C*]>W�
qe�#�g��Yl.��4�YNa3�I��{,�f���WL�@!����L2��`+��[�v�V����zģJ�

d㊛�6)
��[�i��K�����B�
�`[�����N�_�Y�[] 6��՗���hV*'�M����؆`����m�C��Z�	���(y�E&�f�BnN� g��
&��b¯E(Wؒ��6tc�BU�7�
+q٦�yKWc*�p~i� S�h�
!���T/!i�4�Q�Ic�*�C��!IDϥ
�G�P�Y;�R����0�B����+���h�m��̉m�
�&�
ۀMn��|Z#\
n�7�gR+�a�n)�v��
�!��T.C����L�ap�Hp�7�nop�
+�@m�����9���| 
� �UΎX��"��\Aw~��PH���Š�j�~�M��a^�xyf�]��-W���Fw�^�۫x�,�A�ҵE� ma��C77Hĵpq��↋�4��$/�ҳj��1pg4&���Uܨ�[�i���V��8Cvv�	��M�D*�|�Y�xT(h�p iSm줶�$:M,_�ieR\��2�E�1�e�`
X-#
�jW84fiT�OҼ��Yd�'�t� �s�6����I�;e��7$�=sp'�vA*km��N�����2�FE�4�&�!.�`[LQ�
P��
�Kthw	��ȓ��{C
�+�;�n~�M����E�F
����E
Cԫ
a�_վ����0�
fi��/�
��QD�Һ�]a��"J�(��E8i�Hm�J! �+�$k��Y�̣iM�
a
"?��ȗm��r5}
�e�^����l��d�%��>&��L��x+��2b3�oV�O\�>:*�,zB�k�?zt

����
^
+��۾o߬�zPߡ,�L�+�����AM���]:+���P� 7� :�F�O�,�Ll�ڰ�\u��ȄkS(
n�)h�|��s�l��
��M���O�Q�iv|\^�On��t����H�b͠��J�%�s���5I��a�j��Z.��w��h�u.�'Kπ8�q�����X+�c{�� �{�x ���+����v�Pצ��7��N���}�
�7��'��|���f����a�4u�I��%��2i	

��:��M�]�2Cu��W�]@�x�������ocwg���7�d ���Oj��-ZmK�
	����R^�D��^a�ZQ\�g.ʐ�w�U���
+��$T;/��g��X��Ww
+BiN���|����E*����S��P�}�
"�m���Ɯ����������Ĩ��oe?M����¤1�ȕe�k
�1�F�@�o��2���W��cT
����!��<_


^__���L�e���p��v�ֳټgH�|g�F,Ҭ9 ��
��4�r���[�
+endstream
+endobj
+4471 0 obj <<
+/Type /Page
+/Contents 4472 0 R
+/Resources 4470 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4444 0 R
+/Annots [ 4469 0 R ]
+>> endobj
+4469 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4473 0 obj <<
+/D [4471 0 R /XYZ 90 757.935 null]
+>> endobj
+4474 0 obj <<
+/D [4471 0 R /XYZ 90 733.028 null]
+>> endobj
+4378 0 obj <<
+/D [4471 0 R /XYZ 90 654.691 null]
+>> endobj
+4475 0 obj <<
+/D [4471 0 R /XYZ 90 640.121 null]
+>> endobj
+4379 0 obj <<
+/D [4471 0 R /XYZ 287.777 541.479 null]
+>> endobj
+4476 0 obj <<
+/D [4471 0 R /XYZ 90 525.374 null]
+>> endobj
+4380 0 obj <<
+/D [4471 0 R /XYZ 90 453.199 null]
+>> endobj
+4477 0 obj <<
+/D [4471 0 R /XYZ 90 438.628 null]
+>> endobj
+4381 0 obj <<
+/D [4471 0 R /XYZ 90 343.165 null]
+>> endobj
+4478 0 obj <<
+/D [4471 0 R /XYZ 90 328.595 null]
+>> endobj
+4382 0 obj <<
+/D [4471 0 R /XYZ 90 233.131 null]
+>> endobj
+4479 0 obj <<
+/D [4471 0 R /XYZ 90 218.561 null]
+>> endobj
+4383 0 obj <<
+/D [4471 0 R /XYZ 90 123.098 null]
+>> endobj
+4470 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F8 540 0 R /F128 4375 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4483 0 obj <<
+/Length 1647      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�V~�W�)3���/Lڇ�q&i��	}J3�
�M�HŽ��Gw���ɤ3<qѲ���}�Bػ�����wz��g��Tz�
�`OI�%�h�}�	F�? c�m�`?���m�b?��^��8����A|;
>+'��P8
�Y/�ø�q��􌐆JbL��L��\��ؤ̔����I@�u!3<��:43��a��~�T�l
$I�w�7��y���7��
p�h?\N�+B��&Vi�����G@
�H�0��b›,z>bo
+߿�0bF{7�����:6������ɧ
a)��#�Xyi����5{lWV�G^Şޮ�e���j���e٘͋�a���Tv%[2ZJ<_��p��¡�S���H)�2�	ҙ�������F�9L�Q�L
�p�܃�FF'0"��9��슽���0�2��!�
�ɓ=" \#R�,)Ϋ��q�,0���,&H
� g]y
0"����v���B�5�� Z���C�@z�.�ݑr��
+���S!l�S�� 6R�<���B#F�t�����8H#�K�xݲ۰�� [5���̟D�$��g��?)
���%F
Wn}=q����J��8K�mi�0N�����YUA�[��h�z�/Z��i��qh�z�1�Y�ڊo��3����C��sJ��e��:!|�p
C����IC
I�{��<�Ƒ4
�4X]��N�b�-�!���Fu��wI�t��]hS)�9�W015���n�=��.搚��#g
ΑV��π�iͮ3u��u�
�u����r�i�F�$�u0/.F���=D)帇
)帇��{����
"�=d���搌�Yv�.Z8�*8������d�5�QuPfh��9�p�tq1Ζ�)A�� X�1��ˢ��&�u��:�������
F�{��W{�g����t
/�3�֍��8�ےO
F92���䮂�u�P���X¦�༝.�4LC��lyY Aq�7WazU߭(��OE�әp�M��I3Pɘm�c��?dUD���a������ε�
�
��Q{�]E��!��*�4/�o��
kJRNl����&�� ���{�E���B .H�M:c
m6n�:�l,)��j�P�'�B&�ߜI���
����3Yt��FP��a��\��
�X��W�渹ASG�ɶ#ڎ�y3ٹ��z�s�ǮE]jd
隭ģ��$d�&oI
ʔ��
ؘ)�
�3`��M`˵4����
W3؆�Kؾ
�p��p��Y]��"�yd
�dT ���Xx^�y ����/�{���
3
<!0��t��Z	H�jq%d�b$`doU�C@�=�rrH�W���&��T
.��
�
]�b&\!�6��lٶ�4�K�s� K�F�����u�Z[�Q�?.�$��Q��
�\v�z���6D��$��M��Qn�
�
+@��O�0��o֋0�c�'�3�
Q��]A�H���"=q�ǂ�����.Zg�4�m;1Z´]���L���V�����8,C}��8��7 ��]
t���0Paҏʙ�����L�|r&�X<>��;	��]����歭�
��dVN�bs��}�>
��>{��{������t5<=���A����U�f��j5?m%m#fB8R��yQ�ދ(.��-/����f�����/
+endstream
+endobj
+4482 0 obj <<
+/Type /Page
+/Contents 4483 0 R
+/Resources 4481 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4444 0 R
+/Annots [ 4480 0 R ]
+>> endobj
+4480 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4484 0 obj <<
+/D [4482 0 R /XYZ 90 757.935 null]
+>> endobj
+4485 0 obj <<
+/D [4482 0 R /XYZ 90 733.028 null]
+>> endobj
+4384 0 obj <<
+/D [4482 0 R /XYZ 90 643.07 null]
+>> endobj
+4486 0 obj <<
+/D [4482 0 R /XYZ 90 628.499 null]
+>> endobj
+4411 0 obj <<
+/D [4482 0 R /XYZ 90 533.036 null]
+>> endobj
+4487 0 obj <<
+/D [4482 0 R /XYZ 90 518.466 null]
+>> endobj
+4412 0 obj <<
+/D [4482 0 R /XYZ 90 423.002 null]
+>> endobj
+4488 0 obj <<
+/D [4482 0 R /XYZ 90 408.432 null]
+>> endobj
+4413 0 obj <<
+/D [4482 0 R /XYZ 90 336.879 null]
+>> endobj
+4489 0 obj <<
+/D [4482 0 R /XYZ 90 322.309 null]
+>> endobj
+4414 0 obj <<
+/D [4482 0 R /XYZ 90 226.845 null]
+>> endobj
+4490 0 obj <<
+/D [4482 0 R /XYZ 90 212.275 null]
+>> endobj
+4415 0 obj <<
+/D [4482 0 R /XYZ 510.509 148.548 null]
+>> endobj
+4481 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F23 368 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F8 540 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4494 0 obj <<
+/Length 3087      
+/Filter /FlateDecode
+>>
+stream
+x��[[s۸~�����V�D0� �n�n:�mw��}JR-�6g%J%�����I�w�i
"^@�\���
 Ɠ�	����O��o�$(�TN��&	�(I��dr��|���lN0��w3��i�No��(�nV��lY�7�o˴�_]�y���F�����6+g���|KHo JbL��M��M`L���z����lN��8_�#=������x��7���l�׳�N��v�֙}�>��f�
"�hj:���������L(���,�?����8��%z�شZO85��&.�q�O�2��茏��y��"
*�9��NYd���~��QV���Ocd5xw��a�(9cs��oQ�˫�MU[Ӧk;Ʒ�g��ʴ��PC0�k����FX��|�����1��ɜa��Pp-J�3��nh
��վ�M�:64��k��Uma4*$�c���o��餹���nx��4m[},3���g�T�^�9U
I�'s�Q�~����Y[�1E�0�>ł8b_3��� [...]
+D����
��:+��뮗Ui�p�0S�v


��J�ڷ'6x��^����d�*7���
E����D �h�<��b�Z�ɢE�vSU��jo�d3"�OuV,�e��@LHk��"|���EZ�P��9Ew�EVUw�U�$@�vV�@9������l�\o�Y(ﭻO��U�-O��������]i�T��1�����X+I��!�<�H7
��Ԣ{�X2�`�i�LoZ��1�\�m�-�
+>k���������0f��ǙS��6-+k-�)+�My�hse;� �W�&���#���:�\����ҩ�
+�>�8�v�Ţ7]X�ô˱O?��=ޖ�

�e�ݔ����L .@D:��r#W-Cػ�6�s��94�9M�A<��H<���ǐ�^YO��}n�l���vAoY��)ƁY���#L�&%��؇k�@HO���f�
���3Z�\Um% �M�����J� b}�Z�hC�ܸΣ�����$�|0O#.�H�m7E�4C�&R#�@��ʼW��<�4��V4ؒTxL
��վ��'��jeC��՚z�:$6
yP��0�t�3
J;�R*�V��LϹ����x�q֠�޳�E���*bpbfV�NR�'J�DG
ϡ������(�̕��A1�ժ�b��IS�jzE�YЅӉ1!�L(�N�O۲3 �ƒ΀�[�[-򬨭K]�M�}
wQCS(Ąl�
"23��z��5����6�
�
��.ci�
��E&PBǚ��
&��
+c�kE�Aɺ��P�����,-
%]��}n�kqN
��ѩA��H�|n���ġ�:H�)���ߙ�K�TG�e c
��x����7%EB1��1#r(ٳ��*f� 8~[�"����
+���9O,!R.<���4l�Y�����û2]t,ۋ�cH1A��$".Y<.9&��
t4��� ��Q�(��<�6
+���6段
�yc����2$��}k(s7�H�o( r��B�e��(	p�h���XT4@헔VĨ
�P0 h
D�o��bT��VsvI��h��q��P���f���e��1co>�(��x4
b��?����$PY��Ť�1�4�ME�L�����`׾Ť��c��u+`
+B9�"�{W���z�E�_��
��G
O�s��r܂��1
+jj@�q>�2.dt� F���s�p!�>� �ǖ%IB��U���V�Ƣ
tM�:�F�=�x&9�=0B
+ځѼ2`4�}0�F��UH��IO��e���(�
�	��Th$@	�=_��i\�
!F��h|�sM坄�����M�B��
��K�ϼ���L�\
��A4�����%�)nE�z��I��C���J�#��W��kj�d����=76jb�}Ґ���,	�D��
�7�x壥rp�GM]<#S�
+a���������O����P[���E:���*s�B�� ���K���L���kd�k�fP
+�F�ˤ�:
̜�.���
+�RaN=W4
+ݦ��Aj
O��֓㈁"ޥlL&�:.|ۍ����|�'���R}N�z��:��XR~���T>]�11�ڎA	�#�v��>f���Xw�z�
S5j:=��1d�gx�
��H<�$R�@[u$�c'=�+��g)��
C��V4cG��\�x��j�[��'�O<'�I�al���D��%ܔ�Xg��1�h]�h]�j� o'��t����x�b`%��3�2%~���
&
��p=
���QFh��CȞ�@
� _�q�H�dl]ʺT��_���#
H�l�92�[s�A6�����*�����*���V��9�n��p��
Bxe���f~_ٗ�e^�Y�w���RG6��l�?����p�
޺*�Q��gV��������~��o��]^���:ݻ�e^e�+���.
R��W��<�?ߐE�����V�r[f�=;c�y������,����V��ֱ��`�-O�Ij^�r��0{>/Y�⚎*��p�-rgv��Ң�
��h�XS�
2��cկ%��R��sۥ�0>�.0��H� �Ut\E�n���u��y���.�<\��~
S'>�
� �am��ck 29�_�C���{��R�4��G�yXɣ����9��o0��Pz�͛���*��/&T���ޯr{
#6C���꼸��:�#v�:zu�#��$ca�U
�W��
l�KkB�hW��_$�p��'��ni�ѭȠ,�'Y�K���xd�g�����70��1v�ܔq.�؉�#Px|jx~]j�=��zsl
��m��H�|p������ŀ�u6`o�Ye���i���t��b�wg��v����l� >d�S�����_����/��9E��C]o�./ѢB�"ߖ(�/����ṱ>= �vTlE��le{
��ã�`���3�
+endstream
+endobj
+4493 0 obj <<
+/Type /Page
+/Contents 4494 0 R
+/Resources 4492 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4444 0 R
+/Annots [ 4491 0 R ]
+>> endobj
+4491 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4495 0 obj <<
+/D [4493 0 R /XYZ 90 757.935 null]
+>> endobj
+4496 0 obj <<
+/D [4493 0 R /XYZ 90 733.028 null]
+>> endobj
+4416 0 obj <<
+/D [4493 0 R /XYZ 90 666.98 null]
+>> endobj
+4497 0 obj <<
+/D [4493 0 R /XYZ 90 652.665 null]
+>> endobj
+4492 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F13 581 0 R /F8 540 0 R /F7 541 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4501 0 obj <<
+/Length 1875      
+/Filter /FlateDecode
+>>
+stream
+x���r�6��੒�����t&I��i⺍�Ɍ�
DA6'ɒTde��}�(��lgzhO��oxxػ��������y��%!
���K���x��w1&��)���'�y���'����J,*��U6�x�;9yz%�/H,>�m�sQM>�^
?'�À�1{E�'
�� <)K,�l�㇓)
��q��(���Y���$�t��ZӝM:�r��w�K��c���EH@�$f��ѳ��_G�`�(��X�룋��[��K#���VA�=�J�Vޛ�?�p��A�3>e��Q��HS�&+r�2�sq��
�n,
OSQ6�l׻���z������zͫ���
�b�*&4o����#!�Y�
+_K�������'ٲ'YW��
�v����
�֠l��Dr����M�J{t)�����m�\���k�9���coJ�4��~ah(â��JF�j��|e`�ٯ�/x��O<0h9
	Ɨtj�0��
�_��� P�\e�����XQ��|���)����E�bI*���P���P)�۸ڕm�,eL�$�Zr����*K��ye����*ˢ�d�?p��*w���hKAm�F�5He$)�!������3���?��u)��2�*��WQ��ؘ:)o��B 9�XD�ȗk�P����ߚ�V;��"K.�
+�h�=P���`�Ӕ�����K*��e�e
��X�
>&�����E�
�R	�P7ʔ��aV�
y�WBr�ޭv�*�`���J�\+���+)����k��&�*4�S�C�h
X,�"~G�|��
9��ߔ�RQT��hWP1��K��/�/Ng�Y�X�^Ù��rS�J�T�n�,5��L�֒�a2���5k��*�k�?�k[��),a�!l���C@����^/����Ha
������ت5d���9z+	d߲U
ή��dM��Jh�%�9��w�]fMO��8�Xb��e��&��� &�	�a�@W��ȵea��Y��o��z�Vd�ٳs�߅��J,
����6M�6
�*k[���hi:m]�P�֮��2-�B8�JP�
����
�8���@�+9��~��#���D�2죘RU�0��B�u/:%j��d����h���ӳ�P.��l��ˑr$	���]b���5̛�gz��)�a�Ȗ	8��s��0J.G����t�\�r���G,�
I�P�*Q��{:2QJ@��%��t%�h΁���n��
�v4蔶� [...]
2���VO	t�F�ՉŖz��O�d>�pPg]����7�\%���v����L�v�F�8�e��W�E]s7�{mZ�˅�jH�)e��S�A���]Q���P7ၕ�A+��2Wո�Cnc�.”R�קgo��8

N��CVG�-E`�/������9�irk($

����I?��e��h	����_�n�▼vlcș��p����ӧ��C֥�}YfQ��Gz���HnI��t�[��~x���j�vu�,ݪJ�!�P�����8�F��֛���֧��~���}3Uj����@'�����&E@�o[]�b��w�LT�Czg����ȧw���u�89ɠSV�"��,~0/���M14#����
r��&��T���� K,5�8�� ��3�'� 7�>	�5͋"xE�fy��Yl!�h�똗X*�󠂎�X��J�h]|
h\!���|x"[^�q����
A0v���H1��H��N�$q�h� Q����s���3\�k����Lr���ZT#)imgs���d(�GN��n0D����a7�FE��Ϯ~�m�^ZS��6���<9>�n�(��&��
+e�qY��
��t&�iC�}D遄z��j$!G7��Oo�
+endstream
+endobj
+4500 0 obj <<
+/Type /Page
+/Contents 4501 0 R
+/Resources 4499 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4504 0 R
+/Annots [ 4498 0 R ]
+>> endobj
+4498 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4502 0 obj <<
+/D [4500 0 R /XYZ 90 757.935 null]
+>> endobj
+4417 0 obj <<
+/D [4500 0 R /XYZ 90 178.157 null]
+>> endobj
+4503 0 obj <<
+/D [4500 0 R /XYZ 90 163.587 null]
+>> endobj
+2308 0 obj <<
+/D [4500 0 R /XYZ 90 90.754 null]
+>> endobj
+4499 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F79 505 0 R /F72 404 0 R /F23 368 0 R /F13 581 0 R /F100 1390 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4514 0 obj <<
+/Length 1379      
+/Filter /FlateDecode
+>>
+stream
+x��X[o�F~��@������} �*uw�V�n�&�>4�"�'1Z
.�����f��`;Ze�}b��s?�w {�
�~���N��"I*�ɃaOI�%�d�]�#�	�ؿ��r
�]�E���i���ޗq�9;�D6��}�����E\$�u0��WU�J*���ھ�m�S�|��v�n��d�ψ���#�AB!ń��G׷؛��w
F,
+�u�k�q��yW�?G��s�!,E�D
q�<��|�ŕ6V���9r�gt��;z��F
5��B�����sa�+{�}�|�4�
h%
#�H#������a�L��tj5-���j��c���f���f�������C��%ꐻ}��@�ƿ�
�QN94fR 	�
�"�Ru�d�

Ѱ���Ր���Z�,ߕBLE�\�O=�G='=��V�q�7""�q+�N)�+�����\������n��
�9��yc�P̞�Z�H�X:h�
��6�d����N�ِ��֏̀�R�PIhtH��Q��N�˯��p��S��Nl�$ �p�3�:R(a�&0)�e��{b��x}WB���a$��)�
}F����p/�+,��faǚe+��0�-��v
��-�����)o,$��kN}M��aM2pye/�wGH�@��{
�Nщ���y�Ȇ�g��`�(r�����"�K�	�g��=�- ��ax_a��a�5(��j2ssմHVs�Wq��}�P�vQ�ҥ]%Y�tK
���Q�4��ɲ�7Gu#,ˊ�
+ ���>���ŒWOk͸�	�(B�3�R��u
S��
�fm�l���Չa
�P}�)�iܱ!@Ġ�j+^�9h�G����ic�mB��j�WU��eQNu��hR��D֙�D\F�$u��]�'�j:�G*
+w��n��+P(��-R���\]�/V���j�������*OLi.{���x(��x��x�"s��B��>.�
up���� Q�~])����I�?��&/C��߄�6�a�7.n�l��B�$��
�@8&
E
�\�jU�n�Tg7
���-ʕ+��H(قo�`-��iS���xx�TW�ar
+��M�vF��v�s�
HG�!���R��]����7�>9c at m��1�[rV�8hy��8�$|��I�.jP��@C
_���}
/M�sI����cv�F�Uj�4��!%HKfm� 
+r\G�-T0��G<�졉q��[?=3��R�]s��/ɠ���	�	���OS���@J�e��3"BB�V7�[��v�M��K���k���!|W���|�$� �'#J�˶M #�Abd>�`<�
X[�>z��Q
���$���fU�8;=]��(Y�U�.J�V��ӧ�בX�H���k�E�Osx8�;��_Ʊ�T
+endstream
+endobj
+4513 0 obj <<
+/Type /Page
+/Contents 4514 0 R
+/Resources 4512 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4504 0 R
+/Annots [ 4505 0 R 4506 0 R 4507 0 R 4511 0 R ]
+>> endobj
+4505 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 354.747 175.937 365.65]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Variable_1_1Compare_af6c069432956f215967c61be24a40939) >>
+>> endobj
+4506 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.753 354.747 214.94 365.65]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+4507 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.401 354.747 260.589 365.65]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+4511 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4515 0 obj <<
+/D [4513 0 R /XYZ 90 757.935 null]
+>> endobj
+4516 0 obj <<
+/D [4513 0 R /XYZ 90 733.028 null]
+>> endobj
+4263 0 obj <<
+/D [4513 0 R /XYZ 90 666.98 null]
+>> endobj
+4517 0 obj <<
+/D [4513 0 R /XYZ 90 652.41 null]
+>> endobj
+4264 0 obj <<
+/D [4513 0 R /XYZ 510.509 600.638 null]
+>> endobj
+4518 0 obj <<
+/D [4513 0 R /XYZ 90 586.067 null]
+>> endobj
+1333 0 obj <<
+/D [4513 0 R /XYZ 90 478.793 null]
+>> endobj
+162 0 obj <<
+/D [4513 0 R /XYZ 90 472.193 null]
+>> endobj
+4519 0 obj <<
+/D [4513 0 R /XYZ 90 373.72 null]
+>> endobj
+4520 0 obj <<
+/D [4513 0 R /XYZ 90 373.72 null]
+>> endobj
+4521 0 obj <<
+/D [4513 0 R /XYZ 90 317.426 null]
+>> endobj
+1334 0 obj <<
+/D [4513 0 R /XYZ 90 222.107 null]
+>> endobj
+166 0 obj <<
+/D [4513 0 R /XYZ 90 215.507 null]
+>> endobj
+4512 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F79 505 0 R /F97 1188 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4534 0 obj <<
+/Length 1080      
+/Filter /FlateDecode
+>>
+stream
+x��Xko�6��_A`�&3͇HI�P���E�Y�}YR�DG���(�n����"?��Ő�(������s
!px=y���/"q��r
"�!#,Sp�a��
#���)F^,���rJ�W�He|�{���|X,���K!��!�ĭX,^��&�S
zb:#
y׭�֎��Zع*Q����!��_������3��H�)�0�
$���=�z� H�lMT	|Bյ ד?&��	��3���nU�-�(W�"3�誤��1��x�
�G`�C��`F�=�-!l�
p3c�}��.�s�&y�we"t�z#d���1���>���s���=
����_����1�?�l��%1L��6豓AB�I��N��̰#߷��m'��/�`MĊ
��)J	�
I��r��mEq��A]v��S�
�&��?
� '�H�R4n%ֵ����`#����,��Qn
~�ucF����|
+1���
!vG��h�n�D��|��m��p)@R?�8��;�xm�ƅ
b����yuo'��Zv�q2�H�3������N��J�
o�Hs�$s�
+�ZeZ�R�{��Nr|:�L/N/c1w:ME�
�,O2� ��k�
m3Q�Q�N�M�+��elZg鴪;'g�h
L��5�hҸR���ĴN�RT�V3�
ڬ��)��H����֍����]ѣE=%��
�
*�b��r� ���r��0�
�P�
��
�������O2�=Z7�qJo�#��.ث��i�
���n���e?�URt�+�Q$S�
���#X����s�&��PC>�ӳaF���T��8�_��_>���|�����/ds��^(�#U�Z�S�
+����qƝ����t�������td|Vf�g�{���ܓ�}
g
bt����y�5�m�k�?�������ݓ~�
xH��5�3�\��`�� ���
b��(&s*���"Ș�'�J˜�0w�k��uBfo�l��iʘ�z�.��^v4m?h(!�A��FbM���k�Sʮ�oЏ~�Ex���`؀�m7��|��¤�]�o$�۹�����
�(�xP����Z���������
+endstream
+endobj
+4533 0 obj <<
+/Type /Page
+/Contents 4534 0 R
+/Resources 4532 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4504 0 R
+/Annots [ 4508 0 R 4509 0 R 4510 0 R 4522 0 R 4523 0 R 4524 0 R 4525 0 R 4526 0 R 4527 0 R 4528 0 R 4531 0 R ]
+>> endobj
+4508 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 697.247 175.937 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare_a98c515b16e12424b273eaff073b31f3b) >>
+>> endobj
+4509 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.274 697.247 288.285 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
+>> endobj
+4510 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.018 697.247 415.028 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
+>> endobj
+4522 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 428.606 175.937 439.51]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare_abf5e694ab674c48a452893f021986318) >>
+>> endobj
+4523 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.274 428.606 268.908 439.51]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
+>> endobj
+4524 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [310.641 428.606 376.274 439.51]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
+>> endobj
+4525 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.588 232.449 187.842 243.353]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+4526 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 159.965 175.937 170.869]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Grid__Certificate_1_1Compare_a92edb0b8b1e2097c5d20795e576517cf) >>
+>> endobj
+4527 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.274 159.965 270.013 170.869]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
+>> endobj
+4528 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [311.746 159.965 378.485 170.869]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
+>> endobj
+4531 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4535 0 obj <<
+/D [4533 0 R /XYZ 90 757.935 null]
+>> endobj
+4536 0 obj <<
+/D [4533 0 R /XYZ 90 716.221 null]
+>> endobj
+4537 0 obj <<
+/D [4533 0 R /XYZ 90 716.221 null]
+>> endobj
+4538 0 obj <<
+/D [4533 0 R /XYZ 90 659.927 null]
+>> endobj
+1335 0 obj <<
+/D [4533 0 R /XYZ 90 552.653 null]
+>> endobj
+170 0 obj <<
+/D [4533 0 R /XYZ 90 546.053 null]
+>> endobj
+4539 0 obj <<
+/D [4533 0 R /XYZ 90 447.58 null]
+>> endobj
+4540 0 obj <<
+/D [4533 0 R /XYZ 90 447.58 null]
+>> endobj
+4541 0 obj <<
+/D [4533 0 R /XYZ 90 391.286 null]
+>> endobj
+1336 0 obj <<
+/D [4533 0 R /XYZ 90 284.012 null]
+>> endobj
+174 0 obj <<
+/D [4533 0 R /XYZ 90 277.412 null]
+>> endobj
+4542 0 obj <<
+/D [4533 0 R /XYZ 90 178.939 null]
+>> endobj
+4543 0 obj <<
+/D [4533 0 R /XYZ 90 178.939 null]
+>> endobj
+4532 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F72 404 0 R /F11 446 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4566 0 obj <<
+/Length 1509      
+/Filter /FlateDecode
+>>
+stream
+x��YYo�F~ׯ P %�j����H��hڠ���%	�ZK�P��Â�}g���8N܇����3�|s�;s;W�_ƃ�e���
��c'
�8���%�
	��}��&�2���(v��n!fe2�CNˤ���xQ��y*�!��}�%Ue���F�
�\�0��D��a�j��x�i@@#��Qȸ�.�>`g��r0bq�����S��y;�k�OZC�סּ?k�KQ'23��KQ��\ղȕR�K
lH�ΐ������2Nݺ��L
�[�3Q�|n
cQ9��]_
�w��U)gv��]���T��|�1M�ZT�$t�
Y�S��f�*�L�if��P����L�HA��{��j�B�s
�z!ӅAUZ�7U��z!r3���(�'�7PKïH�ESۉ��b�s�~ O�v�꛵�
K�Y�6K��"a3��^U]6�]f��m�E.J0�j}S��]�J˲£�]wF(T2q��	��"�G<�����bˁ��U�
�?`��*[1�G$
+�ft��~�V&s�XD�N8�����7}��Ӭ�ٕ٘�
+!̱���Y�@;a�-9����N���M�8D>�V3���I�6��[H��6����a[&3�H��7�4���Z,���v��"h�ņ
U;Q�t0��6���8CY��yU}<h���,��
��OkK;���e��P�Q�3c˟��Bwf���Ӫ�&F!v	!�E� 7lW�"�Tȁ�����=8H/ �a�P�uz-�Y�I�c���b���6��OM��z
h�x���27 1A��6�RK�M
9b]�~��H�(�㩳
5��>�!?�r�{��W��S�~��
QH"[ށ�⑘���}v���J����?�.,�ϫJ�sU۽Na�ۧ�3	�T��'��J���n:VI*&ݛ'����C�uS��N�ү��Xu�o�&n���P��J5<���
E(
�> 1;�G|�. u'��H(lAH��T�B�Yp:t�@7���vV�&*U��Ņ�|R��h��G
��9�ңb�4s�R&��`��~U:h
��-hi��@�~�Ձ��S
i'��W ݓ�
�� [...]
+azV�?� 2WN�U}�k�� �d
��!�M�Ug0c�A 
+Ay�'�i ��8d��4������ݙ��m�̭=�37W����ܵ��N�F�����*Q��7Y��X6dAoE[��]�v��@z�ڒ�"�w]��^]�F���jr�*��G�U6�?Gܐl
���
�/�R�����/U�n�
+endstream
+endobj
+4565 0 obj <<
+/Type /Page
+/Contents 4566 0 R
+/Resources 4564 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4504 0 R
+/Annots [ 4529 0 R 4530 0 R 4544 0 R 4545 0 R 4546 0 R 4547 0 R 4548 0 R 4549 0 R 4550 0 R 4551 0 R 4552 0 R 4553 0 R 4554 0 R 4555 0 R 4556 0 R 4557 0 R 4558 0 R 4559 0 R 4560 0 R 4561 0 R 4563 0 R ]
+>> endobj
+4529 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.667 695.563 191.92 706.467]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+4530 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [447.075 695.563 467.328 706.467]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+4544 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 491.744 164.042 502.648]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_aba7dbedd485eab91821f129132a04723) >>
+>> endobj
+4545 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.379 491.744 241.511 502.648]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4546 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 452.89 164.042 463.794]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a3a4c3af6146717b3302f467368eafe46) >>
+>> endobj
+4547 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.379 452.89 234.885 463.794]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+4548 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 414.036 171.791 424.94]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_ab45e800217e1c61d8595e2ffc51a83ad) >>
+>> endobj
+4549 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 375.182 164.042 386.085]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4550 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.782 375.182 215.588 386.085]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a2c93e938cd478716c7c9e5e9988f7a98) >>
+>> endobj
+4551 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.925 375.182 293.057 386.085]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4552 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 336.327 179.554 347.231]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+4553 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 336.327 250.666 347.231]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a584cb5084fe5479b0c373e3d17fe5ffd) >>
+>> endobj
+4554 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.933 297.847 297.728 308.377]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a79c648d88214174287e3763b804f4aaf) >>
+>> endobj
+4555 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.544 297.847 336.732 308.377]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+4556 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.933 258.619 342.261 269.523]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a3c9879f0c9dcb81fe1bbf78828509ef6) >>
+>> endobj
+4557 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.933 220.138 290.247 230.668]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a39b6f38fff55dd953ec509b3739dd17d) >>
+>> endobj
+4558 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 180.91 164.042 191.814]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4559 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.782 180.91 218.358 191.814]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_aa03b119140132112557907b772102b33) >>
+>> endobj
+4560 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 142.056 194.776 152.96]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_ae96eebded76c559c95910dc233c68f06) >>
+>> endobj
+4561 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 103.575 195.334 114.105]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_ac26379e5f82fd0223682b11b9e052ea5) >>
+>> endobj
+4563 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4567 0 obj <<
+/D [4565 0 R /XYZ 90 757.935 null]
+>> endobj
+4568 0 obj <<
+/D [4565 0 R /XYZ 90 733.028 null]
+>> endobj
+1392 0 obj <<
+/D [4565 0 R /XYZ 90 633.415 null]
+>> endobj
+178 0 obj <<
+/D [4565 0 R /XYZ 90 626.815 null]
+>> endobj
+4569 0 obj <<
+/D [4565 0 R /XYZ 90 510.718 null]
+>> endobj
+4570 0 obj <<
+/D [4565 0 R /XYZ 90 510.718 null]
+>> endobj
+4571 0 obj <<
+/D [4565 0 R /XYZ 90 433.129 null]
+>> endobj
+4572 0 obj <<
+/D [4565 0 R /XYZ 90 394.275 null]
+>> endobj
+4573 0 obj <<
+/D [4565 0 R /XYZ 90 355.421 null]
+>> endobj
+4574 0 obj <<
+/D [4565 0 R /XYZ 90 277.712 null]
+>> endobj
+4575 0 obj <<
+/D [4565 0 R /XYZ 90 238.858 null]
+>> endobj
+4564 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R /F11 446 0 R /F79 505 0 R /F97 1188 0 R /F23 368 0 R /F107 2332 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4610 0 obj <<
+/Length 1533      
+/Filter /FlateDecode
+>>
+stream
+x��YKs�6��W�R3
����z�N^S7v��$��)HƄ$�ؿ�
�D����;�
lB����[�b������G����C��(h�͝;a@��9�9]�!�	��'c��D���dL�[fW|&��;q.yuxxT
��"��	e�=ʒ���|��D���x.����7���F_G4�i5`!
+=����g����7F^
9��T��ԃg朎�
acͶgk%
֬$8@�9�2/2�~�����y��	���23�+���(���PƉj����i����JJ�f��v	�VuO�>�؉@��W�R��:�(���x�ȢR���pM���wX�ՠ��/�!��
+��֨�0�����0υ
{�˓�4�I�G����
��2��$
&�L��O ��$������p?�oE^_(D��V�����|�{ׅ�n�A�����1�~�B�R����&�t&r^T�,���u)��:����/o2`�VG;��E���Ok<2{B9dF
K�vV�X�x��†�=.l�!��vH� ҽ�~
�4F$�mw��|��R^M+q�o�q+�겆 0sE1=��y��v3�3�GV^�M��l�Y�m?M���2Ԥ
��ֽ
�7�Kk��1M���3;k��4�QH�

�F`U�<�
���?�|L��
Rn���{8�yR$��\���&Q�p</��
P���rܷ�"��%�R!��&_�����@ޒ���KU�S.�F�Y[9�rz���
�p�/�V��� �1��j��d# w��.Ep���趎.�Z�$�
zQ=��
Q@�� ��(&�J
�S⼔���|�;Q�s��H�?U-��
Q&F�Dw�$���J��� � ����I]Jkb��=�^ǛW��*;y������qlC�{��E�} [...]
+
�QH�����&qt�S�c}��J�e7����%R$j[�R
S�@�IL�
mS�\C��LT���S�
+�T�wҜgv�����8q���B�x�l���
�����0T��;����:'O�O�e���
+�E6�\��+Z-6������Ej#�")fY{θ�	Y�s��Z�Q�nIV�I�N{p��n�Mק�g�or�
+�bo�8V�C���w�vO��T�<UiJQ}!o�?6�=�TCE=�V��@Գ��X�vT�ϭ�ہj�#��m�O��^Mkw�C�h��A%V֫U�x<���Y?`T/�Uw'v�\��
�@\�
���U��%�GRNel�R���1�Z��
+A>�#5�(f�m�$~{� �hX,)�]�1�ۋ���{�(�z9֣�`Co�*թ1Ŀ.#�j����s�k��S�������B>!�*w�b�Z1�e�<s�[E{k�8�bDߍ�1f(uf�v��V���'�bT4����_�?�������Z��	��R\�\��_�+�Hs�-g�]_
;z��A״%E8��~Q��Ã���K�V�)�R"Q,����Rlm�V�*�祴7��+-�˼���p���yBQ
+endstream
+endobj
+4609 0 obj <<
+/Type /Page
+/Contents 4610 0 R
+/Resources 4608 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4504 0 R
+/Annots [ 4562 0 R 4581 0 R 4582 0 R 4583 0 R 4584 0 R 4585 0 R 4586 0 R 4587 0 R 4588 0 R 4589 0 R 4590 0 R 4591 0 R 4592 0 R 4593 0 R 4594 0 R 4595 0 R 4596 0 R 4597 0 R 4598 0 R 4599 0 R 4600 0 R 4601 0 R 4602 0 R 4607 0 R ]
+>> endobj
+4562 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 707.027 224.634 717.931]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a29c6deef0eb3911adbb08d36a8f0b3f2) >>
+>> endobj
+4581 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 668.306 179.832 679.21]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a6609e54e84d50cd074c2dd65f38b47da) >>
+>> endobj
+4582 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 629.585 227.981 640.489]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_ad67d37524d1fb7f31766c0b02cb8591a) >>
+>> endobj
+4583 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.797 629.585 297.44 640.489]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+4584 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.943 629.585 392.075 640.489]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4585 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 590.864 191.718 601.768]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+4586 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 590.864 288.852 601.768]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a484373d269a31c21efae44a83f8be6f0) >>
+>> endobj
+4587 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 552.143 191.718 563.047]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+4588 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 552.143 303.079 563.047]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a0ff04e47054c14b2edf29096ecc95ab7) >>
+>> endobj
+4589 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 513.422 181.845 524.326]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a43983a6ee447e480f8700915bccb4811) >>
+>> endobj
+4590 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 474.701 181.845 485.605]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_ac53e4323b140cdd4ba1ac96e7204d93a) >>
+>> endobj
+4591 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 435.98 154.727 446.884]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a146b211f83e22bd011d3de2e5975073b) >>
+>> endobj
+4592 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 397.632 176.505 408.162]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a94b3624c208219e401569cd289049b38) >>
+>> endobj
+4593 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 358.911 150.493 369.441]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a33e6005a1fe40cb202eb619912c25c3c) >>
+>> endobj
+4594 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 277.968 203.075 288.872]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+4595 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 277.968 296.324 288.872]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a5a207ecd92e9fd8f3b1937a5064746a9) >>
+>> endobj
+4596 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.005 263.414 322.825 273.319]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4597 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 239.62 194.297 250.151]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_ab917a480b6afe7e2750aa2862c6783cf) >>
+>> endobj
+4598 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 200.899 188.759 211.43]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a2ca2446f563956eb2b92ddd17e5c0b2c) >>
+>> endobj
+4599 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.953 161.805 211.085 172.709]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4600 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.824 161.805 307.233 172.709]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_ad07dc0dabac5685f9db8d9dc11e513f1) >>
+>> endobj
+4601 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.953 112.125 211.085 123.029]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4602 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.824 112.125 285.136 123.029]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a8aab82f7118966662582f88725ce4735) >>
+>> endobj
+4607 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4611 0 obj <<
+/D [4609 0 R /XYZ 90 757.935 null]
+>> endobj
+4612 0 obj <<
+/D [4609 0 R /XYZ 90 648.612 null]
+>> endobj
+4613 0 obj <<
+/D [4609 0 R /XYZ 90 609.891 null]
+>> endobj
+4614 0 obj <<
+/D [4609 0 R /XYZ 90 571.17 null]
+>> endobj
+4615 0 obj <<
+/D [4609 0 R /XYZ 90 532.449 null]
+>> endobj
+4616 0 obj <<
+/D [4609 0 R /XYZ 90 493.727 null]
+>> endobj
+4617 0 obj <<
+/D [4609 0 R /XYZ 90 455.006 null]
+>> endobj
+4618 0 obj <<
+/D [4609 0 R /XYZ 90 416.285 null]
+>> endobj
+4619 0 obj <<
+/D [4609 0 R /XYZ 90 377.564 null]
+>> endobj
+4620 0 obj <<
+/D [4609 0 R /XYZ 90 296.875 null]
+>> endobj
+4621 0 obj <<
+/D [4609 0 R /XYZ 90 296.875 null]
+>> endobj
+4622 0 obj <<
+/D [4609 0 R /XYZ 90 258.274 null]
+>> endobj
+4623 0 obj <<
+/D [4609 0 R /XYZ 90 219.552 null]
+>> endobj
+4624 0 obj <<
+/D [4609 0 R /XYZ 90 180.831 null]
+>> endobj
+4625 0 obj <<
+/D [4609 0 R /XYZ 90 131.151 null]
+>> endobj
+4608 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F106 2337 0 R /F105 2458 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4664 0 obj <<
+/Length 1376      
+/Filter /FlateDecode
+>>
+stream
+x��YKs�6��W��&�L A���ROܙ4I��=%
MA2'|( d[��]>@�hY�����b�$�����������{���'
[
+|�[g+��	b�Xgc�M0"����}�l�*
G��v�,.�X��w�
+�b8<γ���,�N�2l'aQԗ�D*��~J\�}��|={�{s���#��H�㈻̊�������Fn ��jUjyԅ�������k�U�_��`y��8u�Ym�JY��y���g`f�C
G͓R#5mT�X��,[Z�*����������O�`��<+��
�ř
����Lɢ��K�
I^�pN"Ɇ��/0'�`�{%Ɣ"ߣV�x(�
����������r+�
N�;+rG
.�[Ih���%
��3+��T��Q�,�#�[e�+����|��\{��]ϵ�Aa�h� JZeQ'NK��8�'�G�b at J��Kʆ�ǹ�8��pL�Xfz�U�b8���2E,�G��t�Z�u2. �
+�"� ��2Z�5��Ls)b�D��4D#O�hw���Sܽ���h�$Pu�[��w�U W<
+�6Z�>
�``�=�洪��������2=�&��>�g��k;l��j�+��n�^V-I<�͈"�f�,�
&������<��MN�[w
\#������1��6����
��
qv�#����d&�L����
+bx�x
�IҘ���x�B��W��2
T�6I&M�f�$�t�ʗ��b�
�{� ���H��;1-��k��gR�`��-�
{��M�ל|;X��3g�ƿ�:+|��
��<�v$n��8kkFcV:Ot<Kq6��q�x��~�ʑ
j� �t�U�f����k����d~�4G�-�iw�>5Z%A2�M���*}P6Q�����d��P>Q���<��C ���I����S46^���C�Hx��7p��4��ryO&qT6"�ԁ�<Ov;����������-�������b�m�Р@�+o�'E?ϒ&�œ�4$����׷��R��*,n�[
-�V��<�
�ϻ�
�r ������/?�f�4	���p"��%�ք�!���׸�0	��jm���)�z����,�3�pCݦޢ�*3l���tev�����
"C��#��p�C�aZ
~�_|4�.Y;�`p�ׯwv�
bm4�P�8X�D�J?ȃ.o-R�����K 
��pw��הDT�����c�y��=���;ı7yN4������{�;�o��gB�Y�G�U�db�e�ٙ��J�*m&�S��i�P}������Ø�߇�<L��\��(�*�T7�贈�P��I
�v}�����銶DP�y[�.��
���+h��3�b=�͒�v�[���˳�I�̼�ړ�IyUV�-��H�Ki
+endstream
+endobj
+4663 0 obj <<
+/Type /Page
+/Contents 4664 0 R
+/Resources 4662 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4504 0 R
+/Annots [ 4603 0 R 4604 0 R 4605 0 R 4606 0 R 4628 0 R 4629 0 R 4630 0 R 4631 0 R 4632 0 R 4633 0 R 4634 0 R 4635 0 R 4636 0 R 4637 0 R 4638 0 R 4639 0 R 4640 0 R 4641 0 R 4642 0 R 4643 0 R 4644 0 R 4645 0 R 4646 0 R 4647 0 R 4648 0 R 4649 0 R 4650 0 R 4651 0 R 4652 0 R 4653 0 R 4654 0 R 4655 0 R 4656 0 R 4657 0 R 4661 0 R ]
+>> endobj
+4603 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 719.912 187.563 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4604 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.061 719.912 213.834 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a7facb7a06ac72f1af2bc514c788f1a38) >>
+>> endobj
+4605 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.172 719.912 318.421 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+4606 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.578 719.912 441.827 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+4628 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 681.095 187.563 691.999]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4629 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.061 681.095 213.834 691.999]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a57362a4d56c397575a6d043cdbcec0f9) >>
+>> endobj
+4630 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.172 681.095 318.421 691.999]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+4631 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 642.279 187.563 653.183]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4632 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.061 642.279 213.834 653.183]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a5b3db7ba1765b3a04f8d320968f70447) >>
+>> endobj
+4633 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.157 642.279 468.407 653.183]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+4634 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 561.57 197.337 572.474]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a6a24743a95176da13995bb6c17151c9b) >>
+>> endobj
+4635 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 523.127 175.748 533.657]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a29c63b939ed830a0395170835e60beaf) >>
+>> endobj
+4636 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 483.937 205.636 494.841]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_afcf86304f17dc474e1e5bbe0486c1b59) >>
+>> endobj
+4637 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 403.228 164.042 414.132]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4638 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.54 403.228 202.497 414.132]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_aa948df90fc7880e7e52ceef297ee9bbf) >>
+>> endobj
+4639 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.835 403.228 279.966 414.132]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4640 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 364.412 164.042 375.316]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4641 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.54 364.412 202.497 375.316]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a2cb39e7c88e9e724e7970d0e953f2c81) >>
+>> endobj
+4642 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.835 364.412 273.341 375.316]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+4643 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 325.595 180.54 336.499]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_adeee840f3313b6050d439dbe5fe2fdd7) >>
+>> endobj
+4644 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 325.595 258.009 336.499]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4645 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [299.742 325.595 349.874 336.499]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4646 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 286.778 178.239 297.682]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_aaf7dc46b2cfbd6650ac1d2035d331f15) >>
+>> endobj
+4647 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 286.778 255.707 297.682]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4648 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.441 286.778 347.572 297.682]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4649 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 178.847 226.034 189.751]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_ae0c9395c1ac4d96e245be43fcd76424c) >>
+>> endobj
+4650 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 178.847 371.308 189.751]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4651 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 140.03 164.042 150.934]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4652 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.54 140.03 213.646 150.934]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a7415de7b412a5e297810ff35a97a2849) >>
+>> endobj
+4653 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.983 140.03 318.232 150.934]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+4654 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.389 140.03 441.638 150.934]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+4655 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 101.214 164.042 112.118]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4656 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.54 101.214 213.646 112.118]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a54cdd6074f90a5623c8ae7ddcfedc5c2) >>
+>> endobj
+4657 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.983 101.214 318.232 112.118]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+4661 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4665 0 obj <<
+/D [4663 0 R /XYZ 90 757.935 null]
+>> endobj
+4666 0 obj <<
+/D [4663 0 R /XYZ 90 733.028 null]
+>> endobj
+4667 0 obj <<
+/D [4663 0 R /XYZ 90 700.17 null]
+>> endobj
+4668 0 obj <<
+/D [4663 0 R /XYZ 90 661.353 null]
+>> endobj
+4669 0 obj <<
+/D [4663 0 R /XYZ 90 580.525 null]
+>> endobj
+4670 0 obj <<
+/D [4663 0 R /XYZ 90 422.184 null]
+>> endobj
+4671 0 obj <<
+/D [4663 0 R /XYZ 90 225.025 null]
+>> endobj
+4662 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F106 2337 0 R /F105 2458 0 R /F97 1188 0 R /F11 446 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4686 0 obj <<
+/Length 2439      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs����W�5��y ��];��ʱ�\�-"!			� h���������]��T*@@�LO���_��� >�����k��Œ���6�q�$A���j�	F���c
��
&�:�~3�8,V��tY&׿d7eR�./(�r��t6��?�����o�۴��(�o	�X�$�g�^�t������p@�B!�D�X���Kx�S�����H�N\W�����a����٥��],gQ������J�Q���
��'��l��i
�;��[+%YX=�l�f�w�����Y�3�A�z&���|Z+���
!.�`N�����n{ ��
+ �aH,%7��(�9����M�ȒU�9���c��)‘���lU///�k���
4#q#�����yNh�D$�9g��C5jp�cZ'�*]Z���V�2��Y�[����r�xl'�ގYey���~�Z��
0�}n_7�N������ޅ�„ʤ/M4MBA��\�%c-.���"������:�����Y}q
�4|i�Czr����@!��~�p Q�`Y{H��Y�s�&�'�Y����'"����,�!L	�
+Ő;�\�?�M�f��n!���Y+KQ
9�'���6F��`��\
1���Уw*	��L��
x�ݓy�Y��5��ٟD!�Y�y�B<�s�M�Z�(
+���9؟��_�O
!�U�BA<�4'R�A�����}Z��%�B���/<c�(itH0&l�1&�e�N�J�y��P?v�EXm�Ez��?('��G��
�'�Q���u���
�K�fQ��3*t
�E�浕��
]�t�ϒ�U�En&i�tk4�`�|v� &1�`�Q����{��s=M0g
�ģ��.��<-�z"	�L˵�Sa��A)Q��Cb@
��+(���C�ͺXnW��
�!��y ��8��	aH�~
�ا
����<b�\�?'D
+eQ/i{f����L7eZ��{N?n�t�;�x1(B����X� �2b�W	P�K =���K =���J��}K {r	��/�Z�@��[��= 0�r�C=���t�f �vr_/|�N�
�B±�|̯F�
�)�6G
+0T6�
+z�*�
e�
{�I
lS���
+�LkHW!h��@�"׃��Э��h-ݕl��r���V�*�I�q�J;vYy`#��^)�x�i����t�k�qR�BIX�6�"Y�v��f+���ݍ{�l6�]�߹1�npo�F�ڭo��}�/�t�J!I��x�s��)N�[�pz�u6IV����XS��DB�'i�1
$4%�Q��jFB�t�Ё�A|���v�+,���H 
�CU,�vku����{�ƔU]n��}��7�E
.k~�/7b2� N
	C�z%�	`Q�����Y���a�w��:��5M|�;�}g:*j[1]�:�k�ۇ�4��vL�\�WS<@���C
��P�Kov
�"���kp�o�|��
ѨM�
eԔ/ϐ]hw���@��}�wW��
��=�ܙY�|�~0��3g�e��j�:S'�ظ�c�ޮO]�
��3������LV[k�[��L��C]�p`�@�\��븆��U�!�`�	�,’�f�:e��e�փ�M��O��>m�b
�t�u����z�C����yQ�e�����4�t2��NR:[�`�06au9u|C
MLl=(� �*ęk=���;s�q��S
�I�E � �OVca�'�������tɆ�m"�#&
7|e1a7M��b2,�W �(�� T#�v���v�s���
�
+��1ƭ��Ò���O��q��:�r��Of|�iu4�kT#�x�h�~jMݤ%��6-�7o�A���
�
lx�r
G�{�4�x��� �f� �(��A�F�Ѽ�HA.�=~�s<�㲀2����?xgG�]��
0+s5�ho/zO^xOC�x�_��C�'����
��
a��?�L���h
+�y��<�IJ�c��%�[]���q.���}�s�J�!�[�
C�NGyMja�,f�
✰i
sf�����1�_�1�el�e�1�?f�w�<H�� ���p>�w��6��:�4߳�i^��טLN�bާ����lp����n���)D`�
I�����<�Z$����?T�|=o�'�p��MVUz�P��9�vB���F�`�k#�p����C����u
�n5V�1��3�kD�ECٳ|ƛ_�W��vV�?m��o�N�O_�#�!M��b:��WmCo
Ԙe
� 	�����7Z���41l:!~�2����=hWJ���q�S�˲)�„�7f�� ��i�`���˧�t�lB���ț�dȴ��?U�P���/U�/Q��S�A�aBK�7ܿ���_�	���UZ>�g��Krh ��
�K����3�}»�9,���O���l=���&���6���������-*�ͳM���b�Y]췼�Y�T��-�E�����:��`������E
+endstream
+endobj
+4685 0 obj <<
+/Type /Page
+/Contents 4686 0 R
+/Resources 4684 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4689 0 R
+/Annots [ 4658 0 R 4659 0 R 4660 0 R 4682 0 R 4683 0 R ]
+>> endobj
+4658 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.035 706.961 159.401 717.865]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_ac8652f34bdfa731c02c1900f62bd5e88) >>
+>> endobj
+4659 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [166.337 706.961 327.551 717.865]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4660 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [352.782 706.961 513.996 717.865]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4682 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.175 612.559 314.307 623.463]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4683 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4687 0 obj <<
+/D [4685 0 R /XYZ 90 757.935 null]
+>> endobj
+4688 0 obj <<
+/D [4685 0 R /XYZ 90 657.686 null]
+>> endobj
+4684 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F8 540 0 R /F1 580 0 R /F10 507 0 R /F13 581 0 R /F7 541 0 R /F11 446 0 R /F23 368 0 R /F72 404 0 R /F31 506 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4694 0 obj <<
+/Length 2162      
+/Filter /FlateDecode
+>>
+stream
+x��Yݓ۶������T
���9�Ls��I��_��xnxt�":�����] �H�:��>hH� �뷋�
�|������)I#
׫ �A
1�8
�����Q��l�(���a�l��73Nú|X�e���T�6Y�X\��]��U�gs�hxUfm�^�+��X��Lp�,����?^������G4`��X� �\�{O�%��P"�$��U�@r�2x{��
ꥡg�JRB�
b
I'�5��w��=����ܸA�
�A*d��r�ZE,!1M�9�)�
��z�Ux?c*�MV����F�u�lq��6���65.�/�z�f�%|j���m�J�=n~��
g�r��4�a7���Y�����	ժ�������TX�E1�
�i�Yg�e��U
;��z3�Λz�+w~`Y��]�}������a�:�^TƲ`���+���</teZrd�����$�z
��mKO���
�*\�eY#/���sS�E�֮ݧ�
�H�&
�q[�mq[��z��<׭_a:�u�
+��k4�a&
+u��݌���3
+���$�^��T+�)����#���0k�V$�ƭr��6 �)�e�P�1#q,����ݒ��"��8�ȃ
+N�T���w6;�7�h�e3kk
/k=/�
vJx�������sX!�
���-I����Q�-QSDH��g<�
����s��PL��$�e�-�c�D����pP��|
�G�l�I��@�P��P�R�EV�k���HS"cpxD
O{�4�
��iv6�6����=D��|t �7���6��<����#pHI�x��;l��گu��D���8yo;W���fR&z��3F珻��|�S2sI!.G�؇?Jm�)M>���6F'��x�REC s
F�@N����# '���2�[8�'Ƌ�
+�Q����+}��D�$�w
9��73w H��.s�?�+�|,5�~p�����{ 9Iٙ�b����˗�)�*��gg^8fB�����5������bBԅ�4^	��Z�/�k�ȎD��
+�Uao�gnf�
/�3�w~�_6:ѳ]��r��?�vp ((�`��S�u/xs�3��p�ﲲ0�sB�=��l���9��O6�ܼD
{�Ԑ�
��s���D�]�d�_{Щ[?�����݋��s*�{6 ,	��)`q�y�@~~͚"�<�^�H��!�Dəc��ؓ3:ȧ�pp��M>_��Zכ�NW�޵7F7�1X犓����N�ƻ��^LO�xs��h~�}�S�����D���@��h���� ;�ݙ.�ߕ�^��Gu�(�^<%Z98����y���s��=e��Q�
�����=
r@8�xc��
pp�����牟��
.� 
��+�"����� ��@Y*m�S�P��Y�*��f�)�]i��h��[�A^�Q��^P�L�h*@.r(��Բ���
+2���j����D�n�&�L1�*����X|Uf�f�IS���H/�ύ�e1V+�(	9h��;W]�^����{|�������
c�� Pm
���%�kt�AJ�K�h�T�'ܳ
+�1n�3�Iҡ�"NHr(��	� �T�a
�
$���'c3���%\U��BeL�ؙ�}�ߢ&
�}I�{
.q��������?

6�8X�k`�b��c��0�էя7T8�B�p
�����-��=�ǖ@/e�Jk��8���=���ɚ;��ǚ3)p�z��׍�*�9ZM�Br""��&���&��o�u�z��
+ª�Oy�����v�׻*���)�$z_�$�o�� L�XX4ܸ���ʕ�4�ˇ�p�l�
jҹ~~��<�֔J������aU#< |�E'�{WTX�O� �a�
+��mvM�
%'-��99�Ƣ�p��DzR�D�
f�rP�S1��as���NI�r�I~̠�M8vF!4C&����f��B���çk��D�t�7��K
+n�
5
$�J
=
Ϻktf�9
�̳����|���#�|7
_�*j����pǾe3�F
�=��?�?%J`i�ԿS��'@*B�I��B
+�'�2�7h�-~�7��
����/3l����Y�O��$m1��
�V��ݿ/N����]��%�иW�ژ���r�ߓ�%���6�0��myy���)�T=�t��?�������or���X��j
+endstream
+endobj
+4693 0 obj <<
+/Type /Page
+/Contents 4694 0 R
+/Resources 4692 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4689 0 R
+/Annots [ 4691 0 R ]
+>> endobj
+4691 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4695 0 obj <<
+/D [4693 0 R /XYZ 90 757.935 null]
+>> endobj
+4696 0 obj <<
+/D [4693 0 R /XYZ 90 400.33 null]
+>> endobj
+4576 0 obj <<
+/D [4693 0 R /XYZ 90 378.019 null]
+>> endobj
+4697 0 obj <<
+/D [4693 0 R /XYZ 90 378.019 null]
+>> endobj
+4698 0 obj <<
+/D [4693 0 R /XYZ 90 245.963 null]
+>> endobj
+4577 0 obj <<
+/D [4693 0 R /XYZ 90 223.651 null]
+>> endobj
+4699 0 obj <<
+/D [4693 0 R /XYZ 90 223.651 null]
+>> endobj
+4578 0 obj <<
+/D [4693 0 R /XYZ 90 89.441 null]
+>> endobj
+4692 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R /F11 446 0 R /F23 368 0 R /F8 540 0 R /F100 1390 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4703 0 obj <<
+/Length 1588      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~����6�h^D�򐇭X�v+е�S�M�Beɕ�f�ߑHɢ�$v�bh�'I��}߹��޵��?F���&��bG4�Η^�=�)��ޅO0"d
���jL����d�jL�_d�+�(��_�U������"�.�*��q at 9��fIU���j��1����0�#��d|y�b�������G�#�\ ��7_�..����_x�Xz7���
)�k��=��FC�D��&��Ì�G}9!��ب2��rr��s�D�1�2 �17<-��-�t�����e���t:/���
�Z&���AD�$d
���i;�� oH�'
�!H�^�"ͳ4W�Z�G��R�d
yAq��r���&KUe
����
���v�R*Q�N ��B��^⬋�6��K�r9Ѐ��.J�\��X�N�^����G�ˠ��@`@5�=_�;��I��E�Z�ߤ���
�(��s8�0�U�M�* N�_k_L�b�#��XXs��>YFDxQ��ԾD,�p�Zh*E
Ɂ�By [...]
Ɓ�"�"D�����X0��/$d'z<��
?'�S���'���P!	=� ��X�%���QD⽙��L�*�L�r�I�Y�l�"+�Sh1ZC;K�����v�����0���0��2�
��zpߟҥ���
Ӕ��Vߥ���Ö-w at zD
�aFBb�ov��V�z��j�Y��M
ƭQ��W9M��r�q7 
	���P��=���\�ګ�e�eŘrh
}
����庚�KQ��xR��
�:ҽ���Rǻ���m�����T�	k	i�9��*{�-�:m
�NaRB�F�Y�
S>�V<�&�K�8L5��p��P��C=I��vy�+V�Z
+;z�5v�u��a��V�Jm�
;�ϐwJ�b@������?�F�'�Ô�F[*TG@�����l�f�礃1�ȿS�
+�#(�;
+
��v�C%�&E�&0䱸�?�x�g�l�aHP9�c�
7+U�6o���@8d��α 
Çfr���N&���#�ahg�qPVd�5/|�HN�fڦU
�#Fr��dw��
���)�N���]�
���[�����Χwf���3�y��
��i�h��
��Q�����!|І
͟�
��-b \��[|E�己[<��_�����CF�.
c��6�ApSv3k��6����vK|8XB�^�A�}'���_]���Fq]���zN���GUf%�1��;����{T7<;�?bn�����6�JJ{v�#��vE��D{�Gm�6�DL�:��D��Q���q!?Ӂ��(�</��B��BN�4��w
����L���.>�-Uz��rXV��G�&��%&d�9/`��j^�ť���YI �<����?:�l7A�1�&��]O��y�y�b֏&p��O�ʟƜ���I�

�~hT��J
C�&���"`��7J�u\����QK���")¢/�U]o�����
�Wh�����d��&V��b�΍�n݀��r��^h������~���d>�
+endstream
+endobj
+4702 0 obj <<
+/Type /Page
+/Contents 4703 0 R
+/Resources 4701 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4689 0 R
+/Annots [ 4700 0 R ]
+>> endobj
+4700 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4704 0 obj <<
+/D [4702 0 R /XYZ 90 757.935 null]
+>> endobj
+4705 0 obj <<
+/D [4702 0 R /XYZ 90 733.028 null]
+>> endobj
+4579 0 obj <<
+/D [4702 0 R /XYZ 254.215 639.557 null]
+>> endobj
+4706 0 obj <<
+/D [4702 0 R /XYZ 90 622.496 null]
+>> endobj
+4580 0 obj <<
+/D [4702 0 R /XYZ 90 489.753 null]
+>> endobj
+4707 0 obj <<
+/D [4702 0 R /XYZ 90 475.182 null]
+>> endobj
+4626 0 obj <<
+/D [4702 0 R /XYZ 90 342.937 null]
+>> endobj
+4708 0 obj <<
+/D [4702 0 R /XYZ 90 328.367 null]
+>> endobj
+4627 0 obj <<
+/D [4702 0 R /XYZ 308.538 242.178 null]
+>> endobj
+4709 0 obj <<
+/D [4702 0 R /XYZ 90 225.451 null]
+>> endobj
+4672 0 obj <<
+/D [4702 0 R /XYZ 268.967 150.386 null]
+>> endobj
+4710 0 obj <<
+/D [4702 0 R /XYZ 90 133.658 null]
+>> endobj
+4701 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F11 446 0 R /F7 541 0 R /F8 540 0 R /F1 580 0 R /F10 507 0 R /F13 581 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4714 0 obj <<
+/Length 1531      
+/Filter /FlateDecode
+>>
+stream
+x��X[s�6~�_A_Zv&+KH�I
R��4�L��OIƃAk3�g��{�
��qҼ4/6h���OG�ލ��_V?^�ΞE�H�A�]n=��($�Ļ̼�>�����`��k��D��Ջu������L%W���*Q��󋺺Q��R��
�E�4���J�&�o~%4��OD�~{�|������Gzx�"ʽ�\�~��
֟{Q{w�T鱀���{��k����pM@�����/��z��ZO���j�v4mH�€�O.{���zk��ᷴ��u��7i.��1�I��/Fɼ����FV��P+Uiŕ4���g�H/���N������6&UӚժ�6��͛��c"Hp���y��w��������ׄ��O�,���>�
+�(�xy��R�Q��9?`�}�9�J�Wf_(�Q�b����NխL[��5�3\l�
��Dԍ����h
+9E̲��7(�
C61Ow�"�j��{4��̓�Y�
��5�T/�
�
�
*��ׅt�լV]y
�ɹ_�ټ��׹i{R���/(9�(
+\r+mJnC��D�|�.IfҕgCY�
z�,k+���N�Z���U� �b�Oؤ���!)�^���ix[#-"��l��OR��Y&U���yͷFAY�PW�Q�ӡ��H5��M>�V��:�}�@w�5s�wQI��*��m}ȴ<��[�Ǐ
E!
11���i7eQ 1'�
��PP1
�g
+�,�%{:4�KY$��/Ϻ*m�?�iWBZ�~�0D���GÆ8�����3�j �	�T���7�ȞF00"���7�
 la

2��#�_�*������{e�����0I8A����w��ӐC
Es��N��26綯��3�@��yc��m�F�
�m�{lo�pk]
&�� 	
�œ�݊�f/���w�^��Z9p]-R3S#v ��:b���4�ڨ�:�Βņ���9�WW��B
��7F�h0�(�S�1S	���J?�,
�/�1�����Po���`(�
�

�ų��!�&2O\����,S�Ӕ���t����9�!
+�&+]�"���8�0�DS0�p�9f�������rD�-��r@?�(9
��%yw��0��E���=b$p�
(x���ݱX�{�ɷj�cw
+{X:������{LX_��q���q�>�-�>r״g��ԥ$��Kr��
��.��'?  u��`(^��]��:�
��/�r�ؓ�X>��%��m-��F
+���.�vf����t��ൄ$>/�Ñ�>���c��h
+Ǵ�
�b��`�'��!�~��(�#�qYa�d�h��x
J�jء��h<;虩�?{�6a<A�A��'�Se.0�@T�"��(�Lŋ��	FHP�f9v��}B`8�� ����6)�,4�ǫ��
�����.���S�K9s�����:�6�W{�`^�n����$�-P7GmՌ�A�(8�3��_IiC4q���V}Vޒv�h��m��������Pڠ��w
+���nW�͒���Mz#>�pȶ��o���AW���/�,��
+endstream
+endobj
+4713 0 obj <<
+/Type /Page
+/Contents 4714 0 R
+/Resources 4712 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4689 0 R
+/Annots [ 4711 0 R ]
+>> endobj
+4711 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4715 0 obj <<
+/D [4713 0 R /XYZ 90 757.935 null]
+>> endobj
+4673 0 obj <<
+/D [4713 0 R /XYZ 206.163 693.486 null]
+>> endobj
+4716 0 obj <<
+/D [4713 0 R /XYZ 90 676.759 null]
+>> endobj
+4674 0 obj <<
+/D [4713 0 R /XYZ 507.769 601.693 null]
+>> endobj
+4717 0 obj <<
+/D [4713 0 R /XYZ 90 584.966 null]
+>> endobj
+4718 0 obj <<
+/D [4713 0 R /XYZ 90 481.218 null]
+>> endobj
+4675 0 obj <<
+/D [4713 0 R /XYZ 90 458.907 null]
+>> endobj
+4719 0 obj <<
+/D [4713 0 R /XYZ 90 458.907 null]
+>> endobj
+4676 0 obj <<
+/D [4713 0 R /XYZ 136.903 357.894 null]
+>> endobj
+4720 0 obj <<
+/D [4713 0 R /XYZ 90 340.833 null]
+>> endobj
+4677 0 obj <<
+/D [4713 0 R /XYZ 90 269.613 null]
+>> endobj
+4721 0 obj <<
+/D [4713 0 R /XYZ 90 255.043 null]
+>> endobj
+4678 0 obj <<
+/D [4713 0 R /XYZ 90 195.445 null]
+>> endobj
+4722 0 obj <<
+/D [4713 0 R /XYZ 90 180.875 null]
+>> endobj
+4679 0 obj <<
+/D [4713 0 R /XYZ 90 121.277 null]
+>> endobj
+4712 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F104 2229 0 R /F11 446 0 R /F100 1390 0 R /F72 404 0 R /F7 541 0 R /F8 540 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4732 0 obj <<
+/Length 1391      
+/Filter /FlateDecode
+>>
+stream
+xڽX[o�6~��0�����U$�v@�5ú˚�)-E�
a��Ir����H�h�Q:��'ݨ�s��;	� �L^\MN�$4����e�q #�%��"�	F�Ngc
^L	�r
�\L)����,���uz[���|~Z�rk���\�W�YOgT��4��ʞ�1KSN�
+�Eә�	�f�wW�&/�&O����!$�L�zr�
��*��i��U�S�,���1���2�#��� ������yQ�ֱ����IsPa�1e\e���!=�D`�I�Ak��S�f�7�HE~�[,�tƥxtO�
� �3Q�8�
A��nIR�Um
��ьn�	bQ��
��������n�ui��6�wv��z+g,҈b�8AZ2����z���N:�+4�
}@g��
�,����3{mIXy����47qy����2RUi��G��Q!�<������萖��
�$U� R-\����S�Q\����
	6dꍩ�e�R��3�$���0Wt���
.�B� Lw�	X�*|6�t
+�H
kJ��uFU���c!�#3�CY�K}L}3)��Q�2)"l����,���Ȣy4.B-@

�1	�(o�
*�0˷�$5y}S�qZW�y�ɍݺ_�Gv&��
=���1t��X3(|wJ��N�q�hT��bW�
�~�?N|L@��C|a�;V||(>����i�E��&yX��Ms�:�q�)��yD
+I��0.@�xk٥��C���Di$��~�sq�5;
+1�hP/7&I�,��T��/)1⭷����u� 
5�`���	
%��߫N�"ٮ!���5
.aVq鐺�H�خ�]�L�T%�po��� ��E�S*�]��쭦ndfގl���t:�T�*�R*������p���ݝ���%��m�0�������ܔL�X�ݟ۷���byXe��B����}��I�]�U�!�OGl� �}���7��C�縟�䫡���j=s<��ߙ��
+ ���u�~8b&k����?��K��������}�|
�+���]�؀���i�9<��:P�H��*p�Ear��a��%Sc��h$�޸��xy��1(�L#h3�`�v��b{����wnַݶg�<i2��
�S
�.�x��@ந~�?�e�����r� �sh: �m���4[8mƎ����_��#��:�cQ�o�
�>*��� sh�I���_���������k"}X��:Ns� �<�����o���}��\���]�
��� �5Q��
h ����	 4L~����z�.��g/]�V��a
+#��<ηq6�ľoL����������q�tg�Mڂ���(���C�]]o�''��%���Di}���a�Y�%��O�tѧ9�\������<
+endstream
+endobj
+4731 0 obj <<
+/Type /Page
+/Contents 4732 0 R
+/Resources 4730 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4689 0 R
+/Annots [ 4723 0 R 4724 0 R 4725 0 R 4726 0 R 4729 0 R ]
+>> endobj
+4723 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 228.682 192.544 238.609]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
+>> endobj
+4724 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 146.943 198.363 157.847]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_ab30ab523e337d72baa4edc802452e532) >>
+>> endobj
+4725 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 108.088 198.363 118.992]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a044dbf593127c9e8cbbbe2a0d169c30c) >>
+>> endobj
+4726 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.7 108.088 275.832 118.992]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4729 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4733 0 obj <<
+/D [4731 0 R /XYZ 90 757.935 null]
+>> endobj
+4734 0 obj <<
+/D [4731 0 R /XYZ 90 733.028 null]
+>> endobj
+4680 0 obj <<
+/D [4731 0 R /XYZ 90 678.935 null]
+>> endobj
+4735 0 obj <<
+/D [4731 0 R /XYZ 90 664.365 null]
+>> endobj
+4681 0 obj <<
+/D [4731 0 R /XYZ 90 592.478 null]
+>> endobj
+4736 0 obj <<
+/D [4731 0 R /XYZ 90 577.908 null]
+>> endobj
+4690 0 obj <<
+/D [4731 0 R /XYZ 90 506.355 null]
+>> endobj
+4737 0 obj <<
+/D [4731 0 R /XYZ 90 491.784 null]
+>> endobj
+1393 0 obj <<
+/D [4731 0 R /XYZ 90 369.376 null]
+>> endobj
+182 0 obj <<
+/D [4731 0 R /XYZ 90 362.776 null]
+>> endobj
+4738 0 obj <<
+/D [4731 0 R /XYZ 90 246.679 null]
+>> endobj
+4739 0 obj <<
+/D [4731 0 R /XYZ 90 165.917 null]
+>> endobj
+4740 0 obj <<
+/D [4731 0 R /XYZ 90 165.917 null]
+>> endobj
+4741 0 obj <<
+/D [4731 0 R /XYZ 90 127.182 null]
+>> endobj
+4730 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F8 540 0 R /F72 404 0 R /F79 505 0 R /F97 1188 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4774 0 obj <<
+/Length 1615      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs�6��W��R3�A���Фu�I;u��d44˜R�BRq�� ��hɲ�G:=���>��v[

[oG��G�S�-�.u��K�ǖp	�X�s�M0"t<!c�lL�
d�`v6��N�͕�g���"
��˗o�d��e���M^��xB9���A���y)�1�l%4��.'6���w�_�G_G��)��	ƭp9��[sx��ˆ��u]J--�2����џ#ll��Z��ݖ���a�%��������4�+}��Q��ۑ�i��
�ֶ_!e�g�q�&ya~
��t�ɂ()�&9	a��J_!|��I��L���&�A�c,��R�9=�EK�C�0C)j��L
�po�1�\�K.��ɸ��+��]���ve���ۚ�g���Pj&,�|!�p8�zܚ`���_5�*ƨՒz5�

�]��F�� �I{�`���
� �(�w
!�<J�,��ܚ40>*�; �K�x�G��G�@��
��]m„���[�v̤��2B��98�a6���s?�H�_�� [...]
+�%opy�~I#�^�ג�
ȯ� ��Z J�8"���X�r��Q* j���S�o�\'��^���d�y�@�CT�~�a�Cr�'�j����
+k3��
���1�:ڝ��V;^%s� ��iP�)���g��n9^'�a��d�;4��h�,��k��J���G�G
�ɬج��wJ
\��͝@l���� �u��,�5hV�Pn��7Y¸��0qƩj(���a`�zMVb6��rq���U4��j=��H�
����M�.�4ލ�(���gV����
���l,X�G]�!�3d��Du=���mb��! 8y�=�zK����E��
�Ӂ�\�0��^
j
\�˝!](#�)�ֈ�
+�Y
%2�f���qH�?��cV]eb8���e�7��N{��o
���`�V8�V�WD��Xc��=;���v�(��z�8�欼�\�zҪ��R����Q���K@�̊���
�}�#�R����&�2��o�&�4	���V3v
�-�Sļ�[��^T�:������%��̺�
,�IE�&�\�LY#L�S�0{���eĹe�<�<;Nd���ʸBӮ�
�n*����v�@��w
�.�(⒉^60>0z-��:N��T��,'�۰��[��
h	 �>�
����ld��1p;�}0�Σ+�n�RonP�gʢ{�
x�
U�oB����0�q�'A_���5�y����Q�B�;d��j��'�G����
+������qw�`&��
n�T�a��rwh/���E�hgk̡eJܨ�h,�O+{�)�U
+,���S����� �H3Ց��լ�>����C'��_>�kq�m���U��,Wf͏�/G�NA��:��+k��v
��ͅ�m�VA^L at d"�}[�}޳�[:z�
�����
!�m?4�>$p�{�	�#�
P�+�>+��-M�rV}1�o�g��/(l?�9�M��
$�1�2盚Jf�N_}��lDx �GY僶�o��W�E[��",jd^���tz}}��
��h�����V�㴞�RS4�Ɨ��
YU2x�

+P���/�]�
+endstream
+endobj
+4773 0 obj <<
+/Type /Page
+/Contents 4774 0 R
+/Resources 4772 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4689 0 R
+/Annots [ 4727 0 R 4728 0 R 4742 0 R 4743 0 R 4744 0 R 4745 0 R 4746 0 R 4747 0 R 4748 0 R 4749 0 R 4750 0 R 4751 0 R 4752 0 R 4753 0 R 4754 0 R 4755 0 R 4756 0 R 4757 0 R 4758 0 R 4759 0 R 4760 0 R 4761 0 R 4762 0 R 4763 0 R 4764 0 R 4765 0 R 4766 0 R 4767 0 R 4768 0 R 4771 0 R ]
+>> endobj
+4727 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 706.961 198.363 717.865]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a535895e2351f7618e9107a38d9285d73) >>
+>> endobj
+4728 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.7 706.961 269.206 717.865]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+4742 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 657.148 198.363 668.052]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a6b5016000dff8b0c774381316acc0a11) >>
+>> endobj
+4743 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.7 657.148 303.527 668.052]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+4744 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 618.293 198.363 629.197]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_acf4cf2f1d8c3e1d339b1eddc94139272) >>
+>> endobj
+4745 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.7 618.293 310.153 629.197]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+4746 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 579.439 206.112 590.343]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a9d7fe3b07d9e1d35c04fa2d81e32bf34) >>
+>> endobj
+4747 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 540.585 198.363 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+4748 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.103 540.585 249.909 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a39867871dd0a4fbe2f3cef2695881345) >>
+>> endobj
+4749 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.246 540.585 361.699 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+4750 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 501.73 179.554 512.634]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+4751 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 501.73 250.666 512.634]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_afefca839fc7b4d2d166e7a1fe6196fd5) >>
+>> endobj
+4752 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 462.876 182.044 473.78]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_addf5f330215fb1878018673eff609704) >>
+>> endobj
+4753 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.381 462.876 293.834 473.78]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+4754 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 424.022 220.22 434.926]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_ae4a4890ceb257496b788e0d31dbf6d7f) >>
+>> endobj
+4755 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 385.541 155.265 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a3fe60e1a76b2a92143004e52ccfcb7c7) >>
+>> endobj
+4756 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 346.313 158.044 357.217]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a0a4f8e3f3469f021594ea9311c21aadd) >>
+>> endobj
+4757 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.382 346.313 235.513 357.217]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4758 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 307.833 158.044 318.363]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a067b4c27cf8643f8ded50ebda77da8aa) >>
+>> endobj
+4759 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.382 307.833 228.888 318.363]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+4760 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 257.646 158.044 268.55]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a37857f2dfb7b17609b671f9070be15ca) >>
+>> endobj
+4761 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.382 257.646 269.834 268.55]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+4762 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 218.791 199.947 229.695]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a99161b46c175aa485608154dbcc866cb) >>
+>> endobj
+4763 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.763 218.791 288.215 229.695]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+4764 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 179.937 161.013 190.841]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a0bf701759fc56f8fb215c273e53b46ae) >>
+>> endobj
+4765 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 141.083 195.165 151.987]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a1685b5eb65ba36a9e715a8e3344dbcd8) >>
+>> endobj
+4766 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.069 126.462 225.739 136.367]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
+>> endobj
+4767 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.148 115.503 227.817 125.408]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
+>> endobj
+4768 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 91.643 187.563 102.174]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a5c85932f5fb67a78d1faf8165783d5d3) >>
+>> endobj
+4771 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4775 0 obj <<
+/D [4773 0 R /XYZ 90 757.935 null]
+>> endobj
+4776 0 obj <<
+/D [4773 0 R /XYZ 90 676.241 null]
+>> endobj
+4777 0 obj <<
+/D [4773 0 R /XYZ 90 637.387 null]
+>> endobj
+4778 0 obj <<
+/D [4773 0 R /XYZ 90 598.532 null]
+>> endobj
+4779 0 obj <<
+/D [4773 0 R /XYZ 90 559.678 null]
+>> endobj
+4780 0 obj <<
+/D [4773 0 R /XYZ 90 520.824 null]
+>> endobj
+4781 0 obj <<
+/D [4773 0 R /XYZ 90 481.969 null]
+>> endobj
+4782 0 obj <<
+/D [4773 0 R /XYZ 90 443.115 null]
+>> endobj
+4783 0 obj <<
+/D [4773 0 R /XYZ 90 404.261 null]
+>> endobj
+4784 0 obj <<
+/D [4773 0 R /XYZ 90 237.885 null]
+>> endobj
+4785 0 obj <<
+/D [4773 0 R /XYZ 90 199.03 null]
+>> endobj
+4786 0 obj <<
+/D [4773 0 R /XYZ 90 160.176 null]
+>> endobj
+4787 0 obj <<
+/D [4773 0 R /XYZ 90 110.363 null]
+>> endobj
+4772 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F106 2337 0 R /F37 2638 0 R /F105 2458 0 R /F23 368 0 R /F107 2332 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4822 0 obj <<
+/Length 1588      
+/Filter /FlateDecode
+>>
+stream
+x��Y[s�8~���)
3kE�K�/���l���>�
F9aʭ꺿~��K�;��	 KG�������'\MN�=l(p�k\͌ �K�ĸ��O&��PkJ0��E�ɫ���f�.nE\��}r]�jqv���o�F�/��5�
��R.�~�(f���o�I�4p1I��/Wo'^M�M�
���<��̈�ɧ/؈a����
�Ƽ�������'��i�e

dt
%#�¾�Qa�i9?������V藒�z
+_S��-�����������äV�1��E���L�hm`�yz��3L)E�C�i#b;��ϔ�
�Sv�.�t;w��\�F?c��XK	Fy�P_�qq}�ګ[)���i0��'O�
�&��`�;����l^Y�gv$��c*�'��mW��ց���e�$a�d���o��;_������"�A� �v��㳳HT���F�a��D�k�//_�y�_��K��"�A�E7��i���
��a��`{�A� �nN}���(�2�Ѹ6E
�CY��s!�J�.���g���:=�R�<��
ai���� ��0.�$����
��
S*U��C(�F���IcN J���D#��f�X���
�RT}^S2���C&��y�bdGP�
����ޡ��~Z�x+����
�a/v����r�YdcN �9�v�{�^�<P�!���!Ӕ\�c��L�M$b=r�آ3��
�k��݈g'
���]�^����X�*�8\l좀zH7Sۥ��L�Q qMk-�����>]X��3Nm����n��
+�J���@��"!�IÇ
+t�u�S9J9 �X�J�j��L�v�����8���LdE�e�S�����٭�iحM��z��q��x5�rҙd��������B�|�c5e�¦]5���
�1H�����n���A�/b��-�񜫎�F��np��}�y+'j��g{�;N2�KH;X;o�P|kx���3�X���{͜K���A
\�e�J�0O~
EvuBُ��x����rޞF�ۻݻڼ{J5B�$�yR�w9��x;�9L7�Vo̓�v��&q�l1� ��/��l8=m��ɓ:�
+�2s.C(i��rw3o�c�
f<��/�X��M4��6�
��˄�a6H�
kk���nd{ݵT�m�5
+���ơ�l��@�2^Wɏ߭��=H�G!��T-��<��ʊjl�����
+e]Ŵ��}P�ze�
.]�n�������nOt���s�K��D��Es����2Ν7y�:�u���t�
��P�m��ӥ�t���'2�#�%��5�ޚ$�`�$k�F���Z�;��.���nԟc��}Z�
�劇<.D
h�������"u�r����"��|~4E��p��GQ�>�Zd=ũO�Ӏ�\(X�"+���k�rE��
�[�� ���c%?;�SJ+E{�1��%��
�
b����EX�E��Z_f� 1ֹ�U/�E{GWe���o2�gw��?����M
u����?DPB~W�D����$��.E�-�W�{�,GW�%>E���ۺ.�NO��9�$��YV(�O�2=���V���e�0+�T}���`֞
����-nK�
+endstream
+endobj
+4821 0 obj <<
+/Type /Page
+/Contents 4822 0 R
+/Resources 4820 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4839 0 R
+/Annots [ 4769 0 R 4770 0 R 4792 0 R 4793 0 R 4794 0 R 4795 0 R 4796 0 R 4797 0 R 4798 0 R 4799 0 R 4800 0 R 4801 0 R 4802 0 R 4803 0 R 4804 0 R 4805 0 R 4806 0 R 4807 0 R 4808 0 R 4809 0 R 4810 0 R 4811 0 R 4812 0 R 4813 0 R 4814 0 R 4815 0 R 4816 0 R 4819 0 R ]
+>> endobj
+4769 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.482 720.235 271.151 730.141]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
+>> endobj
+4770 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 697.151 150.493 707.682]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a562fa08178e809398402920e5e674ff8) >>
+>> endobj
+4792 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 659.475 181.845 670.379]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a9e8a61b2b759dde8f65219688548ffaa) >>
+>> endobj
+4793 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 622.173 181.845 633.077]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a2e45b62cb223f5a21ced82480712e64f) >>
+>> endobj
+4794 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 584.87 154.727 595.774]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_ad05bc9046303661aa532423ac5a5c16d) >>
+>> endobj
+4795 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 547.941 176.505 558.472]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_aea6d543c90be52299d6ffc57fc9ba5d1) >>
+>> endobj
+4796 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 533.723 450.955 543.628]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a2e45b62cb223f5a21ced82480712e64f) >>
+>> endobj
+4797 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 499.307 191.718 510.21]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+4798 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 499.307 288.852 510.21]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a77c72d8473dc3e9856d7ff6c05ce7b07) >>
+>> endobj
+4799 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 462.004 191.718 472.908]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+4800 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 462.004 303.079 472.908]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_aa341843d5eadfc196441cad0af63ac9d) >>
+>> endobj
+4801 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 424.702 179.554 435.605]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+4802 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 424.702 242.925 435.605]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a548ae200545f7d25b875f190b5611368) >>
+>> endobj
+4803 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 387.399 179.554 398.303]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+4804 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 387.399 285.516 398.303]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_aec5860620ae92988c1740dc393064fe7) >>
+>> endobj
+4805 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 350.097 156.281 361]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_add39af06cea8afa45c772e94db8a1309) >>
+>> endobj
+4806 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 350.097 244.549 361]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+4807 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 312.794 252.988 323.698]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a7f5a110ccdfd8efa5e0eac984f90d753) >>
+>> endobj
+4808 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.803 312.794 322.447 323.698]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+4809 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 223.323 203.075 234.227]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+4810 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 223.323 296.324 234.227]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a21f1586e66349acf7aa0d70c77f92b60) >>
+>> endobj
+4811 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.005 209.478 352.207 219.383]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+4812 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 186.394 194.297 196.924]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a6e742d7ffa4f4b7037760cf3ebf62348) >>
+>> endobj
+4813 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 149.091 188.759 159.622]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_af97f2d43a487ec81e040aec36bbc6ebe) >>
+>> endobj
+4814 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.953 111.415 245.406 122.319]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+4815 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.145 111.415 325.654 122.319]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a11de7a0cc309058d6aee273d613c9432) >>
+>> endobj
+4816 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.844 97.57 367.996 107.476]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a8aab82f7118966662582f88725ce4735) >>
+>> endobj
+4819 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4823 0 obj <<
+/D [4821 0 R /XYZ 90 757.935 null]
+>> endobj
+4824 0 obj <<
+/D [4821 0 R /XYZ 90 715.095 null]
+>> endobj
+4825 0 obj <<
+/D [4821 0 R /XYZ 90 677.793 null]
+>> endobj
+4826 0 obj <<
+/D [4821 0 R /XYZ 90 640.49 null]
+>> endobj
+4827 0 obj <<
+/D [4821 0 R /XYZ 90 603.188 null]
+>> endobj
+4828 0 obj <<
+/D [4821 0 R /XYZ 90 565.885 null]
+>> endobj
+4829 0 obj <<
+/D [4821 0 R /XYZ 90 517.624 null]
+>> endobj
+4830 0 obj <<
+/D [4821 0 R /XYZ 90 480.321 null]
+>> endobj
+4831 0 obj <<
+/D [4821 0 R /XYZ 90 443.019 null]
+>> endobj
+4832 0 obj <<
+/D [4821 0 R /XYZ 90 405.716 null]
+>> endobj
+4833 0 obj <<
+/D [4821 0 R /XYZ 90 368.414 null]
+>> endobj
+4834 0 obj <<
+/D [4821 0 R /XYZ 90 241.521 null]
+>> endobj
+4835 0 obj <<
+/D [4821 0 R /XYZ 90 241.521 null]
+>> endobj
+4836 0 obj <<
+/D [4821 0 R /XYZ 90 204.338 null]
+>> endobj
+4837 0 obj <<
+/D [4821 0 R /XYZ 90 167.035 null]
+>> endobj
+4838 0 obj <<
+/D [4821 0 R /XYZ 90 129.733 null]
+>> endobj
+4820 0 obj <<
+/Font << /F70 402 0 R /F79 505 0 R /F56 367 0 R /F97 1188 0 R /F107 2332 0 R /F106 2337 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4851 0 obj <<
+/Length 1892      
+/Filter /FlateDecode
+>>
+stream
+xڽXYs��~ׯ�K6`y9�
���<��V
;�h��*�.D�(8 � �)�ק��'E�C� 
=}|�up�
p��꛻�Ս�A������c��@�E�w��cH0"t�$�����0�v����a��<�M����=Ti�r}�mYl��*����Kݨ�bI#
~��umooգ�D�Zh�L∄$�?��p�����؅b�,
+ֻ��?�`�?�DG#�
8ep̓W��g}�
�8�>�7��Z7jc��I�
�0ss(�MV���U����N#�d��E\Z��(�z����,s��]����[#����&�?aLU}������
*��p�A�n�k}We��w�PUڔՔ�7[PE��]�V��H	��\�.ǜK‘�º~��Ce#��IDG�� ���5��dP�
+e�z�����N�(�^E'��;���i�����1�s��"��`�Km�oU�z��3 
�p�x�)�+@�5*m�y�[L+wS��它��v/dR�K�g�+΃�n6��e�T*u���<���	O�B�E�"��I�ꫳ$P"�VV�c”���3v��g
+��m=��
Η�D
�������ҡ#� Qh�A	�q4����#
����ү�p��|H�eX
E�*�0!��^�{���bo �7�o�ؗ$br�����c
j�����廛̾\�WH'���{���<�MMq�KO>���Fy���ă�B^�	�d�x%��]D\��N5i��4��U����:�|�X2����c�yX>ڵ
.� �ׅ�x���������̴��Dk�W3��d�U�^d!#"̐B�65��}��90�Ҷj�����"5|���)�S {rj�M�����_O��j��VU�[�����{�"���u��ާkg�&۩�n��U��CS�᭡ɽ���/�����
�����.h{ug��{o��E�S9�(ݹ�_u�CJ������{� P�,���Q㟋9ӕ�������ݹ��ݿ����S�U5
e�C�ֽ��%��/�զyK�i���#)<{���d&������R~������4�Ll���	/�

��ӹ�X��/Ϻ7`M�_�HK��hJV�,&^v�֨DTpCFz 4���Y����ӁD놐� �&�Sb���A��C�o�܏ѫia�벪T�/��Wܸ [...]
����^;�P?G>���.#�!C-p̚'��V/z��o~SU�%lD�FQ����!��J�:�4�{
bH׮'h2wh�f�jH��(C '�
M�d�[$�!!�	:b(9KP��K��č�P��3]��ۡ���`���
��9���x���e�o|��Dw�g/��Ne�
u����"c�<E�y
{����ń
+}��C�z�~��B
��s3��t$de�����q� �'�Bf��H���_�
���5�>��A߮��
f8�
�0
'�/C��{�=��e[��׫����
 �O�U�a@���p�8��v��~ r�r�9_�,H��L���k�,
�m&ڶ
/{m�S+�
�L���o�FK�m��a }����4ݦ�r����q���a��.
�D
�
�`s�=0ȡ�t	
�z�y4v��1Td�g���sF��]8H�b ?k��>k��s�25N�h������N�D^�w��U� � *"ई�S���=�?:���a�>�q����B�šͷvӶ��4`D
e"}>���
E�_�	ڻ��䝬%���ԉ��f�Z
�G��ѡ��ʚ�~������B8
�<t
۳ܮ�<�¢>�����
)�
+endstream
+endobj
+4850 0 obj <<
+/Type /Page
+/Contents 4851 0 R
+/Resources 4849 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4839 0 R
+/Annots [ 4817 0 R 4818 0 R 4841 0 R 4842 0 R 4843 0 R 4844 0 R 4845 0 R 4856 0 R 4846 0 R 4847 0 R 4848 0 R ]
+>> endobj
+4817 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 697.364 237.376 708.268]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_aa83361b2264ca8ed30599dca32447874) >>
+>> endobj
+4818 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.713 697.364 329.778 708.268]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+4841 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 590.013 226.034 600.917]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a339fab488002bb5b341e1bb82edee103) >>
+>> endobj
+4842 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 590.013 405.628 600.917]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+4843 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.839 551.393 170.205 562.297]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a5cd2538767045bd89360588c37d2aedb) >>
+>> endobj
+4844 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [187.945 551.393 383.48 562.297]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+4845 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.021 551.393 513.996 562.297]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+4856 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 539.437 233.78 550.341]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+4846 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.696 457.213 374.148 468.117]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+4847 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.157 445.258 266.289 456.162]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4848 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4852 0 obj <<
+/D [4850 0 R /XYZ 90 757.935 null]
+>> endobj
+4853 0 obj <<
+/D [4850 0 R /XYZ 90 716.221 null]
+>> endobj
+4854 0 obj <<
+/D [4850 0 R /XYZ 90 716.221 null]
+>> endobj
+4855 0 obj <<
+/D [4850 0 R /XYZ 90 635.798 null]
+>> endobj
+4857 0 obj <<
+/D [4850 0 R /XYZ 90 502.34 null]
+>> endobj
+4849 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F11 446 0 R /F72 404 0 R /F31 506 0 R /F7 541 0 R /F8 540 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4863 0 obj <<
+/Length 1781      
+/Filter /FlateDecode
+>>
+stream
+x��XK��F��WpJP�5;o`�rH�HʼnSN�9ٮ-�Fک ��Z���y!в��CN3������p��p��짋�٫G�$���:�p�H�%��*z��/�8~;'8Λm~�vNq\��+�j����ɛ�����4{U��ݡ��v����˼m]�O�V͜���4_dR��d������ˋ٧�pD�
"A	Q������<
aIJ4�����
�2z7�c��O�N��
ạ�JD$w��^wʞ
���r���(�Y��
�������e8�U��NW7�]�ݗ�nU�F�ڵE�N�V
߻qk!|f<�T��Sծ���&�:��rt^� �l�K9�R���e��s^tn���E�� e�ʮ(ꝉ��|����,ܚ^p�}�T�mT�h8G��s"b�:�/x�, ��FU��Kp��$����6�4�BH2������TՔ�\ �X�:�
��5�]���`tnp�6F�̗�zf� �b)������
��u�7��K7_:�6?�7W� �{�T�r�U7+�qen [...]
	���&
+t�q��aDE-8X�0������� D�8�t�X�&aB�v�j�ZCtj�:́�`q���!�Ər�숤1.�,G��F�� 7)
YB��s~�:��싎�S���
�2ʖ�����^��S Z='q�)UWW�I�&��t ��2f��!�  ξ	p�Q�� 7<
+".E���K�8ޚT��+#�,�ǘ��ģ
V���>
E �F�Q�� ��P;#�h�q�1Q�� ;2��V���8H{^��e�l�,�Wdd`C�ԋ��6�}S9��S���	I�c^
+ �"�}�U�^xr�9dO���5;�ӴVK�ԋ5�*��Fm�!K��W�����y$��W�k�ε6�B�)Z�j3�����
������I�j�AG��o��L!�$C�����+��D�'�X �8?b땿O�
$�3d�
���l*� �{�+�N�u2���<�H(�lQ�v�U�qi0�/(�[�b9.�
��N�gѨ�uu��j��`K��
�z�!�ZK��%�L��Z!WБT��S�H*
�
��vK`��~��8Gar���n��n�t�j�R�c
=CV��a����^�$05K�$S��j�0��
�=��a�q���<�v�3f
�3N<]�)]��.�r�6t�dDB��#�$�/<�/!����<4ED�[mAI�!u��o�G\�G�[��W��v}ܟ����~�&�v{޹"� �˱�=��س����7��������;���L��A�����
���v��ߨҦ����N%�Q1R"vK�Lu�5Jd�;%�R>�16��jR�L撂E��p�J�L [...]
+tG�b��SF��b�Rr�����^��K�d���1�3�>�/��k	�
��`
��8�����ch⇁'n�������@��o�j�k��~+5m_�?��_���x��?R���Q��:�1p���᤿߫�۝����ܠ�E�J����ݮ<�-j�] �'��Ƿ�x�u�����o������4
+endstream
+endobj
+4862 0 obj <<
+/Type /Page
+/Contents 4863 0 R
+/Resources 4861 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4839 0 R
+/Annots [ 4860 0 R ]
+>> endobj
+4860 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4864 0 obj <<
+/D [4862 0 R /XYZ 90 757.935 null]
+>> endobj
+4865 0 obj <<
+/D [4862 0 R /XYZ 90 655.519 null]
+>> endobj
+4788 0 obj <<
+/D [4862 0 R /XYZ 90 633.207 null]
+>> endobj
+4866 0 obj <<
+/D [4862 0 R /XYZ 90 633.207 null]
+>> endobj
+4867 0 obj <<
+/D [4862 0 R /XYZ 90 487.153 null]
+>> endobj
+4789 0 obj <<
+/D [4862 0 R /XYZ 90 464.841 null]
+>> endobj
+4868 0 obj <<
+/D [4862 0 R /XYZ 90 464.841 null]
+>> endobj
+4790 0 obj <<
+/D [4862 0 R /XYZ 349.813 375.783 null]
+>> endobj
+4869 0 obj <<
+/D [4862 0 R /XYZ 90 359.056 null]
+>> endobj
+4791 0 obj <<
+/D [4862 0 R /XYZ 90 214.437 null]
+>> endobj
+4870 0 obj <<
+/D [4862 0 R /XYZ 90 199.866 null]
+>> endobj
+4840 0 obj <<
+/D [4862 0 R /XYZ 285.395 112.721 null]
+>> endobj
+4861 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F100 1390 0 R /F104 2229 0 R /F72 404 0 R /F11 446 0 R /F7 541 0 R /F8 540 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4877 0 obj <<
+/Length 2162      
+/Filter /FlateDecode
+>>
+stream
+xڵXY��8~��f�Y�IJ�a
$ӛ�\Ho��>$���趰���8�_?�Ci�;���]*���G��!��w����ͫ
*R��MP� K	b��*x�H<��8��
�ݾ\��)��y˫�\�T�wew^,�m���ț5�Woxu\u��?,�yE��	e9*�
L�{<W"�
�/��Q�<�G���z���`����g�}�+�^�[�
��aW\�����I

+7��,$E.t�����2���@�
e1
��ٻ8�`�� ��ȃ���	��w���g��
:�N�t�b����o�JXX��4�ޞ������VǦ��pXI�Z��ԯʦZ���q��J�{̰�6H2��!�`ڰ��󦇤����T`ەLH�H�|�IMP��Qv$J���PD��I%�2��싪RW!��zWG!�r#Եs� �(N���Q�`�$门5�gb)���[����zmh�ڰ�ja_]�	�;��n�.w��u��\B
+y��l����n.���2���e�3N2צLT���V�,��V/aTiA�1M�]���띯'-n��
e� kr�u�k}�YԌ)��V�
���Y�[�N�o"���*s,� ~�
��
����������Y�
�
�$���d!G*�	E�D�h
��y��c'w�2��k�eV$�0����U�Lp�
c
+
+�H����R3�����3$'c��
�
��F�nd,m�r�cD1�z
�
�Ӗݵ��o>��ԩ�
+��̞Pljt�hq
��ѭ�p�2��MF�6��d�(�3oүs�׵[h �͵բ�,Jn�
[RA��(C92h�k-����h�\���f$ �b�
���cH`4yr����t �d�˗�2��E�d
pJ<�rJ
�F~W?2r�[�H,��p/J���aD�M��\@�B�>W
e���^;�21�U�:�&
Q|m
+�d_�k�ij�)�6���C���
��t����\(��(�T]ɹ+�/w�v]J
++W��>�~g�A_����
��0�
+���fw#�{�ռ��q/�Y��
F�_^
��d�m�>
ʑ\���,
���
��Z,Za�Ֆ{P�&��⇅�w��v�Rd�.��^���� v�0b�xtOc�5\��ۄH�`V#�3�"��'�6�����<�~w�ݢ#���i�
+i��S�:��ކ�D5�����q8
uǚ40�1�$C�Ȳ����R_0%7�1 at 8|
5�'E���,z
W
��9�Hbqz��T�
�"_�t�����FIxR�K��4��L`��Sx6�"�ؽ2P6��Q�ϯ,E+��q.b�_�
ݯ�
+Z�l��jz)^�.a�� ��g%�1����%r�	�W�4��4�-�:
�1�٩<��\�^���|�4x�&[2s��kψ�0ـd8��+DL�VP���ь�NJ%�}�s�sS�d�R��r��-�����x�mE��SI�����@waJ^��� yF��ތ��A�q���}
n��f�$�_
`ru�@�t������um&�`(;�peI!չ
8��F���R�"�z8��vkr��������� ��UWM��[!@���}�@��8�M9N�e������]�6=�O]7)T`@�H,y[�����;(Oq�9̲�
�K_
 ���|�+�_d�3QS\�۶��,-l���kŗc]�˺A�n�`�����X�س�
�} ��Čn���CCyʞ��
+��"���~W��;?��:a�]O^K�~���G�A]v���i�G���$Պ
���]�
+�� ��T�������ڸ���{ P
lY&��ȫ��Q=���� 0�j��'
+�F��+Y��1�o���u�W蟉�����'�B7��p��$x�h�r��Pt�X܌�h
�,hQ��^�E������d��fYX �����ʵ�m�ul��`Y
���ūt�r#N�*�䍺Q�wId��F�*}�n�����Xqx�
�a��y+�߅& �,����Z�G�}��h/�I���.ybS��/;�VVg��e�j��%��z���O�ZH��w��.d:!�
+V�)�r��I�`���q��W=���{��S���?�
��ܴ�>��a"������]���0>�8��:YKrui�1s;
�����tB�

��Сz�Ľ�AK
�SF
@��o;�}݈kI^���+q�o
+endstream
+endobj
+4876 0 obj <<
+/Type /Page
+/Contents 4877 0 R
+/Resources 4875 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4839 0 R
+/Annots [ 4871 0 R 4872 0 R 4874 0 R ]
+>> endobj
+4871 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 161.029 213.855 171.933]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruences__Reduction_ac1c1301f7ca50550e48eb2e0e57528d0) >>
+>> endobj
+4872 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 122.825 197.875 133.729]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruences__Reduction_a302c20124e5caa73cb5a860a57d6be5e) >>
+>> endobj
+4874 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4878 0 obj <<
+/D [4876 0 R /XYZ 90 757.935 null]
+>> endobj
+4879 0 obj <<
+/D [4876 0 R /XYZ 90 733.028 null]
+>> endobj
+4880 0 obj <<
+/D [4876 0 R /XYZ 90 557.983 null]
+>> endobj
+4858 0 obj <<
+/D [4876 0 R /XYZ 90 537.001 null]
+>> endobj
+4881 0 obj <<
+/D [4876 0 R /XYZ 90 537.001 null]
+>> endobj
+4859 0 obj <<
+/D [4876 0 R /XYZ 118.055 435.988 null]
+>> endobj
+4882 0 obj <<
+/D [4876 0 R /XYZ 90 419.553 null]
+>> endobj
+1394 0 obj <<
+/D [4876 0 R /XYZ 90 299.413 null]
+>> endobj
+186 0 obj <<
+/D [4876 0 R /XYZ 90 291.805 null]
+>> endobj
+4883 0 obj <<
+/D [4876 0 R /XYZ 90 179.677 null]
+>> endobj
+4884 0 obj <<
+/D [4876 0 R /XYZ 90 179.677 null]
+>> endobj
+4875 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F8 540 0 R /F1 580 0 R /F7 541 0 R /F10 507 0 R /F104 2229 0 R /F21 2359 0 R /F79 505 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4890 0 obj <<
+/Length 2134      
+/Filter /FlateDecode
+>>
+stream
+xڵX[��~�_��V�
�
g�m�l� ���i7Xh,z,Ė
I������C�6�̦h

�����;��� 
+������ݻ4
+4ӉH��m�� M8�
��S�#��jͣ(
+?�x��!��a%���_v�h�/ߗ�M�\�←���d��i�|4�iӕu���ỻw��.q�t������D�WH�)����Z�Q�V,���e ����ܾ��mK�
VZ��p�睡��fk��BTc�E�\k�y󏇛_o�(��Pq�R��ͧ�����I�gKu��0�o�u9�_�3�d"v”̂��I�Y�؊3�Gy�''��o�
\;�ɘJz�?G2"
M�MT���;�O�X��8���C#�@��:I� ��8XsŴr��5m� �
�yȮ��r-5��`�$�)�.Lߚ./��pc�MS
��r-�J���;!�R��� ���
M�
JK
+Y.b�lc)�9�#m�\��	Ջ���
W^���BKf����cb�R΂�)��#Sv��,fi�L���+1q��ǿǦ^�8��,�]��
m5�Bvz0ݮ.�f
Ag{ⱕ>45����>�e�Vk�c��"��)o���}O��ʮ����.���/?(
e�<�]�}@]�����NS��.䨗�˓�D�csrݛ�k�B�Ek\:�Uy(���[��P�P��Q$��z"z�ov�Soiű³�c]��k��B��
ꃾx�`)V�e�d���l~A7H�[
�s1,�尢^GZu�iͦki��=�G&!�s���Cݸ�n�W���Vq	�@U�%��c}���T�jK
+��Y�
+'th~=���+m���
F�e]Y�֑�n;?B�

�7x#��"
+�	��hޣOt���:�L�!1�xp
m<���]�-ĭ7��n�t���$�㿑h�Dcc��i�V��O��+	�,��W�!����0q�ی�>��C�3�!^:�!L�GRN���m�ϕ�F2��q
^�S�Y�L�f*9
+��J�
fԿ�M������E�fj�s��j�ۀ!|�ލ.������6��ekSU�$* 65KHTIT�iMG+�È9sY%1����i�S���ӯ����ɋˌ����*H�Mϴt#���,l~D���T3336��8G�ۯ��J��Q��.�!��~����?_��&ZM�k\wF'���Os�&[@
���(L'��K`N80��9<'�;H��"��7�ԅ��s�z\������A=�
�I����}db�ފ���E�' ]���θ��7yuY�k�ϡ;�I9
��ݦq��R�a>��)�K�+�O�H�4����h�0
l�PK�`o��X�cl4?b�?�+��
!���KJཪWB�
��D�$�-R�������6��wIs��R����0�*�0r1Z�0œ8�����=��ӣ���Į�����#�'���ь��K���9�=�}�-�-��H���C?��	NĹ}�$'��
ď�	����n#
+ at Q��*����M8a}�i�����sn[(#1,�
�����������P�'k�_��B�1����,l/-T0���A`�������BTL��@��!��"�t%���%
x���I,��i	 ��R(�C�3楫ƈ��e
��E2����H�� ?	��
+A;�GD���r
L������ƿG¸0�K@�
+��ұ-;7�������*q�'.
��m
g6:#EpEB�c_a@�Rr�� K4�
��]<�wE����0�1�y��$)-e���ࢽ�mA/b���5��5�>�
��͒nЦR�io;��KP��%�����]� �ܱ�
+�ue�
)���S���m�4L�.e
:uI
��`R��P���X��!bZ�W
	�� �1��~��l��e,�0f,��8�GG�I��G�o��X�,$�8HG��͌�T
+�1o�c�8�� 1,LLb�����,
�O{l��7<R��t3|�=[��ɓ��-�-̶�3�������oa0q��nT�ܿ
�{��Mv����i�}�7f�
94B��X�8V3s��H��M=���Ê4��5͟W14O4�!�N>���֢�;~�F��:����Ez������� -� $�=��u�����|>�M�NUylX�݁��و
DY�{�ׇ���f�
67��+��
+endstream
+endobj
+4889 0 obj <<
+/Type /Page
+/Contents 4890 0 R
+/Resources 4888 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4839 0 R
+/Annots [ 4873 0 R 4886 0 R 4887 0 R ]
+>> endobj
+4873 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 706.961 221.603 717.865]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruences__Reduction_a1b6e413a75c138ef87cc373df0d25194) >>
+>> endobj
+4886 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.108 576.255 289.529 587.159]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+4887 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4891 0 obj <<
+/D [4889 0 R /XYZ 90 757.935 null]
+>> endobj
+4892 0 obj <<
+/D [4889 0 R /XYZ 90 726.054 null]
+>> endobj
+4893 0 obj <<
+/D [4889 0 R /XYZ 90 669.641 null]
+>> endobj
+4894 0 obj <<
+/D [4889 0 R /XYZ 90 607.254 null]
+>> endobj
+4895 0 obj <<
+/D [4889 0 R /XYZ 90 431.791 null]
+>> endobj
+4885 0 obj <<
+/D [4889 0 R /XYZ 90 409.479 null]
+>> endobj
+4896 0 obj <<
+/D [4889 0 R /XYZ 90 409.479 null]
+>> endobj
+1395 0 obj <<
+/D [4889 0 R /XYZ 90 115.842 null]
+>> endobj
+4888 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F23 368 0 R /F79 505 0 R /F100 1390 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4914 0 obj <<
+/Length 1459      
+/Filter /FlateDecode
+>>
+stream
+x��Xms�6�~��Lg���:��%@g(��LSH?�q|��[�ϵ}
��]Y��v|p@(t��䕴�쳫�b�����ُg��I���
���c'
�8g
�K0"��	��=�v�j���z���z%Ur�KvQ%����MQ7U����뺑���T
�g���fSy>�}�'u�__ȥ�<��H��3��K1�ޜ=�=9��5#�'vH��QȄ��g��`g��
�X
9W�����3w^�~�ᑍ��Xj��
�@|
#9�H�
+F��"�E(��	C1��=�Ad~"��7|;�r�x�g<,4vCP7
���4#�~ԭ�Fh��igC��!�m�A����MV��va$�')
+��O�>ō@Y�h��X�	�7��f�>1�8D�P����r-x��ȳT��\�/��'�"m20�%�e�\ �"��"*�^�5�b0G���44|�t��6�|ޟJ��X`�#���.a�D�K��.�C��8‘`F��r�l��m��"��hr�=��vy =w}S[������{�QXP�쯕�Bw��v���֡��f~�f�L�xб�5fx"�U$t�r��&C�{,?7(����6��j�P��|.=���X��젴Qy3���z76��e
+����0���
�q�w%GH���;aCŝGT�h@��lc�=�ճ=��3~�
+�|ԛ�b?��נ��� 1����3
#��O�[�X��S�ȴ�R8�މ[�\~�����Vi�ʩ�<Oߚ��H�ؗ�0�s壑�8^���W���f�x4}���a7�
�l+]��O�'��ºbNyS����<��}f
+��XЋܔO�I�
�߃�Pe��6R�� wM��������(�;��U�m�˗�f�QD��$�0֐0@��M�;���k�
����{wW�4h�K(�)�s|NQ�^� �@x,�$˥
���Ju���7{��͞Edt�W�����Ր�٫��f��3����"�jS��2J�4=RVZ7�A������
i�LSY��zue��
���жdz"]o�  

�cVئƁU�i�L�����UШ�:C]����M+���d]���W�B
+��
;[�-7y��p�����0�J�L�7v�{Z7��m�Qtkv�Kӻ���e��t�Z�&�i�cD���0�CLt�
+(€
gE=�z~�'
tW���~>Џr�z��"�%\el�n��DMQB��h6�+�х��
+����W�B��V�۔��R%��\���_�N'���oGG���Zv��֤����}�2�B��Xl�����^��n^��-�{�����I
�Nmۨ�I �f�颊	�G<?m��jm�������>���{-�o=!\���I�Mr�;4M֫U�l!���6F��R�p�v��ط�53wڒ�"��s���<�ϯ���p[de��f^���f��V�D����zS�z���u�>�����
+endstream
+endobj
+4913 0 obj <<
+/Type /Page
+/Contents 4914 0 R
+/Resources 4912 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4839 0 R
+/Annots [ 4897 0 R 4898 0 R 4899 0 R 4900 0 R 4901 0 R 4902 0 R 4903 0 R 4904 0 R 4905 0 R 4906 0 R 4907 0 R 4908 0 R 4909 0 R 4910 0 R 4911 0 R ]
+>> endobj
+4897 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 610.287 170.687 620.818]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_a641015af4c3d3b84184e8ca8dd128b10) >>
+>> endobj
+4898 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 571.883 170.687 582.787]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_af3c5bf7dd0135194b6c180dcb232ef54) >>
+>> endobj
+4899 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 534.225 178.435 544.756]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_afc81dafc5cf15ca9acd8f6a03f66c788) >>
+>> endobj
+4900 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 495.821 222.233 506.725]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_aa02f5903786b4da29daecddcb0db6cbf) >>
+>> endobj
+4901 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 457.79 180.938 468.694]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+4902 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.678 457.79 231.847 468.694]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_a311a973ff993328d8cb3627f3af31129) >>
+>> endobj
+4903 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 419.759 180.938 430.663]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+4904 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.908 419.759 234.963 430.663]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_a3e8a8932563dfdc292fde93931f0bf2e) >>
+>> endobj
+4905 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 381.728 227.852 392.632]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_a4fa3c4bbfb1c6905d95c08c2d90af526) >>
+>> endobj
+4906 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 343.697 217.61 354.601]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_ab404db5180176140a7600b31616f9a07) >>
+>> endobj
+4907 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 305.666 180.54 316.57]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_a6ba82ff86685d87dd34f4d441a7d769b) >>
+>> endobj
+4908 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 267.635 178.239 278.539]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_ad8c2dc06b66e812182f2b1445940e7ff) >>
+>> endobj
+4909 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.238 185.971 331.014 196.875]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) >>
+>> endobj
+4910 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.167 174.016 266.994 184.92]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+4911 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4915 0 obj <<
+/D [4913 0 R /XYZ 90 757.935 null]
+>> endobj
+190 0 obj <<
+/D [4913 0 R /XYZ 90 733.028 null]
+>> endobj
+4916 0 obj <<
+/D [4913 0 R /XYZ 90 628.476 null]
+>> endobj
+4917 0 obj <<
+/D [4913 0 R /XYZ 90 628.476 null]
+>> endobj
+4918 0 obj <<
+/D [4913 0 R /XYZ 90 590.564 null]
+>> endobj
+4919 0 obj <<
+/D [4913 0 R /XYZ 90 552.533 null]
+>> endobj
+4920 0 obj <<
+/D [4913 0 R /XYZ 90 514.502 null]
+>> endobj
+4921 0 obj <<
+/D [4913 0 R /XYZ 90 476.472 null]
+>> endobj
+4922 0 obj <<
+/D [4913 0 R /XYZ 90 438.441 null]
+>> endobj
+4923 0 obj <<
+/D [4913 0 R /XYZ 90 400.41 null]
+>> endobj
+4924 0 obj <<
+/D [4913 0 R /XYZ 90 362.379 null]
+>> endobj
+4925 0 obj <<
+/D [4913 0 R /XYZ 90 324.348 null]
+>> endobj
+4926 0 obj <<
+/D [4913 0 R /XYZ 90 286.317 null]
+>> endobj
+4927 0 obj <<
+/D [4913 0 R /XYZ 90 231.097 null]
+>> endobj
+4912 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R /F11 446 0 R /F79 505 0 R /F23 368 0 R /F97 1188 0 R /F107 2332 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4946 0 obj <<
+/Length 1194      
+/Filter /FlateDecode
+>>
+stream
+x��Xmo�6��_�a�&�0�Q/�6�[��݊y��)	Ebba��Jr=��
EJ��M�d݀}H����s�
�$��z��r2;�
+p�2-oP@��R,E��[�`*�)%�X
�+,����f����J�Ex�kr]��~>-3Y�U^\���J���(���*��c{��~Jòԗ��F6�-�EҞr&`�ڗ˷�����
+0	�5,�a�
�'����-"�>��Vk�0�):��>!]�;p�qL\�]\��F��v-�*��<ӏn��*1���]M�������|Y���S�
���̈́�K�[����y�p�Q;�G`�E�h������T at L6��V�M
HJq SnN�a����=K8
�p�K�TAA�Ǿp ǁ��;����b2m�`�N��xi�ЗOnSa}P��yꟲi�nzAɋ�XgV=�2���I���ࣴc)8�@hD~72�p�nTz�p�}Н1�a����e���l%������HA�Fqkr��z�P��ȎD�H⫏��+�����#-�"� ��
q�One�
�DZ .\0L��b{�&�v��\_7�>�f�J�r��7i�>
�M��I�Q�TB
���{A�?:��*@>`q
�EapT0
H����7�6�L5Q��H�E)�
��
O���P�J���ڪvPͿ�&�~+l�Yq��4�96�'�����N`	9��c�m���p2�q���ğV= d� =�^�g�d\:�ǫN����%�,��6S˷ݢ���3fV���ܴ�v�����'�=�A7��UFXY����F���<�{�
�?�e��u;�~�v���LQp�AB��wk���1��j:��0����]�f<x|�v��7Y��xE&k֝Ŷ���W�/�ty6�,4#�3���Y��}��2\R>��$�
E���,e�ϱs���<O�*=rY��|��TV�B������Xsؕ�vW �ق�^�m�Rb68af�y���	^�C�s8
���AY q�{h��-��p���CU�im�#���M[-C- ?
%Q�~�h��b�O����W�C51৾���q�
�\���=[jΔ [...]
+�ԣmg�
���I�

���~8���9g�
+endstream
+endobj
+4945 0 obj <<
+/Type /Page
+/Contents 4946 0 R
+/Resources 4944 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4959 0 R
+/Annots [ 4928 0 R 4929 0 R 4930 0 R 4931 0 R 4932 0 R 4933 0 R 4934 0 R 4935 0 R 4936 0 R 4937 0 R 4938 0 R 4939 0 R 4940 0 R 4943 0 R ]
+>> endobj
+4928 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.912 586.585 410.704 597.489]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
+>> endobj
+4929 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 532.099 170.687 542.629]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_a47e2d2f9114f640ca24b3dc68b701152) >>
+>> endobj
+4930 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 492.871 170.687 503.775]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_a2f74f2b935a0e1900eafe79b7a305a02) >>
+>> endobj
+4931 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 454.39 178.435 464.921]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_a16e25a87d3f2f1a0a454883b84bcf177) >>
+>> endobj
+4932 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 415.163 222.233 426.066]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_afbb0b8b086aaa82499371c7faee19c3b) >>
+>> endobj
+4933 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 376.308 179.255 387.212]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+4934 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.994 376.308 230.163 387.212]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_a83d49cacc2666db32082dabdac76acc4) >>
+>> endobj
+4935 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 337.454 179.255 348.358]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+4936 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [187.225 337.454 233.28 348.358]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_aa2b418d948cce672416e77deb99b45b8) >>
+>> endobj
+4937 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 298.6 227.852 309.504]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_ab2c21b4ce7f4f822e98343689525f1b8) >>
+>> endobj
+4938 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 259.745 217.61 270.649]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_a032aca0bd08a3c854d46b4a7c567b41b) >>
+>> endobj
+4939 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 220.891 180.54 231.795]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_aead8142c94d4974534e7f0fe10ed63a7) >>
+>> endobj
+4940 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 182.037 178.239 192.941]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_a28cff68f198562b6921add86c58008af) >>
+>> endobj
+4943 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4947 0 obj <<
+/D [4945 0 R /XYZ 90 757.935 null]
+>> endobj
+1396 0 obj <<
+/D [4945 0 R /XYZ 90 687.344 null]
+>> endobj
+194 0 obj <<
+/D [4945 0 R /XYZ 90 680.744 null]
+>> endobj
+4948 0 obj <<
+/D [4945 0 R /XYZ 90 550.699 null]
+>> endobj
+4949 0 obj <<
+/D [4945 0 R /XYZ 90 550.699 null]
+>> endobj
+4950 0 obj <<
+/D [4945 0 R /XYZ 90 511.964 null]
+>> endobj
+4951 0 obj <<
+/D [4945 0 R /XYZ 90 473.11 null]
+>> endobj
+4952 0 obj <<
+/D [4945 0 R /XYZ 90 434.256 null]
+>> endobj
+4953 0 obj <<
+/D [4945 0 R /XYZ 90 395.402 null]
+>> endobj
+4954 0 obj <<
+/D [4945 0 R /XYZ 90 356.547 null]
+>> endobj
+4955 0 obj <<
+/D [4945 0 R /XYZ 90 317.693 null]
+>> endobj
+4956 0 obj <<
+/D [4945 0 R /XYZ 90 278.839 null]
+>> endobj
+4957 0 obj <<
+/D [4945 0 R /XYZ 90 239.984 null]
+>> endobj
+4958 0 obj <<
+/D [4945 0 R /XYZ 90 201.13 null]
+>> endobj
+4944 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R /F11 446 0 R /F79 505 0 R /F23 368 0 R /F97 1188 0 R /F107 2332 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4974 0 obj <<
+/Length 1459      
+/Filter /FlateDecode
+>>
+stream
+x��X�r�6}�W��LJ��/���4�3M���Oq�CS�Ė"U^��ﻸ�"Mi<�Ӵ6(p��9{�����z��|2;��ȧ�5_Z�� F�5_Xl��)���v\n��
�b��vk�(���M����E�*�'��rW�|sz�yU_�5/�(�)e�~��U�
��%/
�bLEa`SL���7�W�ɟzb�H�X��Y�f��#�0���ȍB�VJm,��0f����	>j#u�Yg#CD[���q��R�%��2��i�
�f����	[S�!׋�F�sg�F����
+�0�/��X
��Z�q�s��B�4p]���rB���x�zb} yl��d��R����M%lOu��m�TK\M�<^L�<�i5��WU
���8E�N���a��r�^̍�\��
���yR���a
���fgͩ��6�M
��bE>�ĐoPz�)�l3>X�Õ�(�Xu��\)�,��p(�o�|e�]��2�kM�ڬ0 at ks��ݟomu|�tOA��
=�]�]��SãEN{�Z�L��h�Qx`y�<W[.9�L}|��jzU���kԙw��?���&B�艹��/b��}7yɴwҪB7|����!��<a�8����b��:���������TH�#��@"�3&)�3�F�( 2%�����

+Bj�M��:9‘ٓD�>�l
��iyY��ė���6�w7���~tn���a��	@�뱩Z�w�K
�M���r��^����%�%�v'�ߥ�#�dQՐ7-
�Z��	I���|tE\/$ֶ
+
��ؕ#
���"i6
2�,7:ٔƱ�vuҕ�[Y��^F1�.�b3�d$s]aL3�G�">�ʬ�
E�(e��„�Z���W%
*m5۸
"���' 
tC�C.d"}Atz��~�1��Y$J9�*�,\�ƥ_�eA;��V�
+�dp,9�S��o�<ɚ�֏�=I� z
���F������{���q
+��
<k!��DQH(x������D��on���M��VG
�aE��I��_p�xs��b�P���t�5t��8�7��_�e�du��z���!�������۫��E,Չ��u�W?�}�+~)
7�i�g��gf���w����[�_a�D���6P
�<�cʆ�y(���)v��Ms�U�O�
+��WU��E%sZmD֌�
�]u�5]Q��=����#(�>�,�(��c�2-��VX3��>��Fa
y)#YV=1�����a�Ùtĥw��a綘A�1
��>r�۫��F��|�<��A�)_�
+.Ӵo�j-�����hNN
�<���P.M�'�%!Qs�8�
?+��	��UI~M�p���F}Mbp�aޠ���:Aw���V��=���[���
�l�ɿ��&Μօ���[4�򊁜�
=�%7A����2O?��V�-���]l��z{:���ޢ�BM�nK��3�!gw�`o ) m9n/)��0�ar#/2}8��p
+endstream
+endobj
+4973 0 obj <<
+/Type /Page
+/Contents 4974 0 R
+/Resources 4972 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4959 0 R
+/Annots [ 4941 0 R 4942 0 R 4960 0 R 4961 0 R 4962 0 R 4963 0 R 4964 0 R 4965 0 R 4966 0 R 4967 0 R 4968 0 R 4971 0 R ]
+>> endobj
+4941 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.494 695.563 330.271 706.467]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
+>> endobj
+4942 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [230.103 683.608 306.247 694.512]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+4960 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 350.066 170.687 360.596]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_ae7c03963759dfdb937135a7f99165361) >>
+>> endobj
+4961 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 310.838 170.687 321.742]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a12f3d0ee3885355092a65262f24d46af) >>
+>> endobj
+4962 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 272.357 178.435 282.888]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_af0ea51d59b5026db43b2edd4cee928ba) >>
+>> endobj
+4963 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 233.129 222.233 244.033]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_adca809f9ebacacf70bc610d41bbaff47) >>
+>> endobj
+4964 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 194.275 187.564 205.179]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4965 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.303 194.275 238.472 205.179]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_ae575efc6c01c4bf9968c7e27bb94951b) >>
+>> endobj
+4966 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 155.421 187.564 166.325]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4967 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.534 155.421 241.588 166.325]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a400c02f876d8f4e3f6aef2bfc5fb16cb) >>
+>> endobj
+4968 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 116.567 227.852 127.47]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a192ff11375b59075c9ea19a8c2b5511e) >>
+>> endobj
+4971 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4975 0 obj <<
+/D [4973 0 R /XYZ 90 757.935 null]
+>> endobj
+4976 0 obj <<
+/D [4973 0 R /XYZ 90 733.028 null]
+>> endobj
+1397 0 obj <<
+/D [4973 0 R /XYZ 90 487.686 null]
+>> endobj
+198 0 obj <<
+/D [4973 0 R /XYZ 90 481.086 null]
+>> endobj
+4977 0 obj <<
+/D [4973 0 R /XYZ 90 368.666 null]
+>> endobj
+4978 0 obj <<
+/D [4973 0 R /XYZ 90 368.666 null]
+>> endobj
+4979 0 obj <<
+/D [4973 0 R /XYZ 90 329.931 null]
+>> endobj
+4980 0 obj <<
+/D [4973 0 R /XYZ 90 291.077 null]
+>> endobj
+4981 0 obj <<
+/D [4973 0 R /XYZ 90 252.223 null]
+>> endobj
+4982 0 obj <<
+/D [4973 0 R /XYZ 90 213.368 null]
+>> endobj
+4983 0 obj <<
+/D [4973 0 R /XYZ 90 174.514 null]
+>> endobj
+4984 0 obj <<
+/D [4973 0 R /XYZ 90 135.66 null]
+>> endobj
+4972 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R /F11 446 0 R /F79 505 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5000 0 obj <<
+/Length 1494      
+/Filter /FlateDecode
+>>
+stream
+x��X[o�6~���0�����M��
еM�nò6{j�@�i[�,y����~�"�[���
���!�9��΅����Ϋ�w����;1�8�K'�N�S�\.�w.���ޜ`��
�`7����£�-��Z,dr�cv-�?;{%���+Q�ԥ�z��j�9;Kˢ���Z/{s�c�y�T����X
+��E*@�K1�>\������1#`+vHc����N��������v0bq��4R�S��y;�e�������%8@�ENH��~O�ߨ���ws 9�%�ereL|��*�ʭ�:9��޾�>Ί
d��>!*���WVR�N�9�(&Ty�E���30���̊Tz,t�F�ך��m
&��hR_�w���*t�0���̏����C�4k˧X�h� ֽ�\�ވz'�Jm?=�Þ4������Nh��
A�X�l�-J�����&"K���
� 6�!�l��
�v���v(���!>
+�Vf?qJ�J�C4���
 R�&��c
	�ypߴ����7h� �������

hS�#��9C��]
+1-腨�,��Je������
h��
1
냞ޜq���8wKU
�T�������e��z
����B���7�c�>;�\��v�h٫���4��J9�V�R�l��
rP/H�,�#J.I�
���I�VZ��7 v��I 8Ǭ�L4D��M���,�N���Ѧߏ�
5�q�1�cU(|d���c���b�kش#�X�s�rm|[�y^z�wo�be�]��[	]��
��aCmܵ�PN
�h���v�
+�
�
�g#�
+I�@+9��&DmB�
J
+����
qD��K!b8h��_�'��H���J��T?V�|TET��ǖ=1�vZ�\Q[�Э�o�wJ4���Z��ª��Q��!׺�qdU]	UG�a�3���NHm4/ON2;Z5M
+Yߣ����<іD�B �&I#�u�0�No9k�5OP�?���<�Q��q��(ӝ�В�p�JK��.�&�f�6?Vz������f�ȉ
P��Őaѣo�|Apw��ns�^�c�\��m�a at L?~�kc�\L�"�C �<�������4�
M
�
þ���Ţ)���B57YPC�/a^�w
c)ԊN҇
�m���Yp�@?:�s����
K���$�:���b-dVWw����b�v"����T�u��Qh�����<K5�?�͵����HU*Uw�
Kv�;@�IW��n����:�B,�]�b�.��K[�0�
7q&?7s�"+�IV�v��DGCszNY��e���
O���6��>�d��G�yhP�١�}��_�ҳ��V��|����nl��o
+�#��

��p5\����<�.�Nذ���y�Y.���دr�+\ S-�d��я���Ѥ�v�Ӷ������Jȯ<.n�A$�.ɽ�d��W��
+Q>�M����V�+���w������;kID��Z�����������V��>��|z��)�Ґ��i'�M)�ח7͔����$l�
+endstream
+endobj
+4999 0 obj <<
+/Type /Page
+/Contents 5000 0 R
+/Resources 4998 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4959 0 R
+/Annots [ 4969 0 R 4970 0 R 4985 0 R 4986 0 R 4987 0 R 4988 0 R 4989 0 R 4990 0 R 4991 0 R 4992 0 R 4993 0 R 4994 0 R 4997 0 R ]
+>> endobj
+4969 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 719.912 217.61 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a70e56452f6edfc1943b555156e6bf828) >>
+>> endobj
+4970 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 681.122 180.54 692.026]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a97586e332fd16ccf6e7d642bb4bbf83e) >>
+>> endobj
+4985 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 642.332 178.239 653.236]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a0ac88c873a13c4afa6f99d3d436e13a3) >>
+>> endobj
+4986 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.183 559.946 333.959 570.85]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
+>> endobj
+4987 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [238.402 547.991 322.855 558.895]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+4988 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [121.93 296.249 369.479 307.152]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
+>> endobj
+4989 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 241.823 170.687 252.354]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a41cb3496510a68512516cf65f8d214c2) >>
+>> endobj
+4990 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 202.659 170.687 213.563]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a9af54d524de94ada872d460c1dbd5cc0) >>
+>> endobj
+4991 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 164.243 178.435 174.773]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_aa82cf61e903a201fe8892501b209ab8e) >>
+>> endobj
+4992 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 125.079 222.233 135.983]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a9571074ab0249afc1e440c8c5eb5d429) >>
+>> endobj
+4993 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 86.288 202.497 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+4994 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [213.237 86.288 253.406 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a61b27b2ed8bbc9a128f9001d160b078d) >>
+>> endobj
+4997 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5001 0 obj <<
+/D [4999 0 R /XYZ 90 757.935 null]
+>> endobj
+5002 0 obj <<
+/D [4999 0 R /XYZ 90 733.028 null]
+>> endobj
+5003 0 obj <<
+/D [4999 0 R /XYZ 90 700.183 null]
+>> endobj
+5004 0 obj <<
+/D [4999 0 R /XYZ 90 661.393 null]
+>> endobj
+5005 0 obj <<
+/D [4999 0 R /XYZ 90 605.072 null]
+>> endobj
+1398 0 obj <<
+/D [4999 0 R /XYZ 90 397.107 null]
+>> endobj
+202 0 obj <<
+/D [4999 0 R /XYZ 90 390.407 null]
+>> endobj
+5006 0 obj <<
+/D [4999 0 R /XYZ 90 260.391 null]
+>> endobj
+5007 0 obj <<
+/D [4999 0 R /XYZ 90 260.391 null]
+>> endobj
+5008 0 obj <<
+/D [4999 0 R /XYZ 90 221.721 null]
+>> endobj
+5009 0 obj <<
+/D [4999 0 R /XYZ 90 182.93 null]
+>> endobj
+5010 0 obj <<
+/D [4999 0 R /XYZ 90 144.14 null]
+>> endobj
+5011 0 obj <<
+/D [4999 0 R /XYZ 90 105.35 null]
+>> endobj
+4998 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F72 404 0 R /F11 446 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5027 0 obj <<
+/Length 1622      
+/Filter /FlateDecode
+>>
+stream
+x��Xmo�6��_�v@'/5MR�[��ڦH�ui�~�e�V'K�$/5���
�dI�ݴ݊
؇�2y�
�{�x$�����~
���>�BzԳF3+Ė��Rb����`D���`��>�vT,��E�b;O7
>-��y2)�bs|�$�ʪ�������'iT����x�'�ͳ��zh�)f�w��g�އ
��E���|ǵ�e��;lM�����ֵ�ZZ�:Ц�U�U��t[���
+`w
�#4D8�|� �j�O�.Ƿ�}���	��ص�*��Ic�i��^���cZ�*]o)u[�Xo. 
�����k0.����y�L��y�
iOs��)��p��\���R���g��>b>5���"p�@���v<��H?���Z(D�������.�-�
��
�v�Y6M��b͸%_N�k��)�ߍ�J�%U�;�K��QwA1ZCt
\��MT.$�x�Q��d��[r�ߚ�[��H._��������5�L�<�
&��D��6��l�|A��b�%��EV�t�
i�	H�:ȫb͕P{IA�7B�LYeS
z�n�Gf:����^7�u
aȃo�X$�'��o�C\䅵�f�*>�h�.#� m����Q�y�!��0��n����6�
�L�~(��:�B� �-ڄ��YE�϶e���.ܞ�*JR�{�˸HVU�gʾ
1�!��j��L
+<�A���s�
��a
�(7eŗ�+���9T.�gnʗ�������;O�-��Y�ұ.��Q�]�HF%R�h:�d�1/�l3�G�Bh �Bsh�v�� xf�$3�Ԅ����|�9U��J���h�����0I�Ek{�}����,���P�g���B3q��iާ�}�ds��
\p몾23j��=�v��v=ICEm�F��v^�`��N�8��
+�p
}Lԩ���V\�L�=�����|^����w���3��C�1s��	ΈBh����n��I[ݼD>O2��T%�R�O�=H��Ȍ��з5����VHLԃGG�)�$E��nm+����)����.iZ�9��P�ѝ��d
:�;
<�("���E:-����3��Y
p��‰��M����
^q��A�
ݮ˚�[�����x|5:�C��ߒ~q��8�A�]�нP
C�\֔<i��H��J��}K
��
�vܨ�}D�@���
oN�x-j�H
I:�D�
o��CD�J3�ó"_v��#���?�m�Y�C�	T*e�˯�*E��N^X�#��c���1~�g^Q>}x�Y)�?�x��(M*�v�2�~�U�M')c�[���
\�����xp�L
+�Z�d�Z>��B-�D�����s[/
]V�>b�j��7�/s@]�[��&�����Fs總sr1���$Mb����3{�����ְ�"��ӊg���a$rWM����^	��3l?>?��-3����W�˳'���˯\��H�?��_��e�}��J`H�O\��
h$�m�%��#X��	 
P��n(_���4�?
W�OMX��uɋ��.�����Q�ۯ/u�*/�T
+�G�e(�
 ���}�f����y���n�eeQU�������%Zgɪ@I5� 
��c�O�x�3��xM2�\���v���ݞ#
+endstream
+endobj
+5026 0 obj <<
+/Type /Page
+/Contents 5027 0 R
+/Resources 5025 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4959 0 R
+/Annots [ 4995 0 R 4996 0 R 5012 0 R 5013 0 R 5014 0 R 5015 0 R 5016 0 R 5017 0 R 5018 0 R 5019 0 R 5020 0 R 5021 0 R 5024 0 R ]
+>> endobj
+4995 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 696.09 202.497 706.994]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+4996 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.467 696.09 256.522 706.994]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a2be2c8b9d00f81fc24dcbc36ad05afea) >>
+>> endobj
+5012 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 657.413 227.852 668.317]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_aa6e183ba7e931dc88e16fb9ecfa8b3c7) >>
+>> endobj
+5013 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 618.736 217.61 629.64]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a47def4dcb522c046a6f3a432d72008ed) >>
+>> endobj
+5014 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 580.058 180.54 590.962]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_affa77e724493813cddf9740767c2473e) >>
+>> endobj
+5015 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 541.381 178.239 552.285]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a26673943182a6efc6cc6e3aad8c731a7) >>
+>> endobj
+5016 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.892 459.102 338.669 470.006]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
+>> endobj
+5017 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [230.103 447.147 329.49 458.051]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+5018 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 112.103 160.207 123.007]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6ab) >>
+>> endobj
+5019 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.977 112.103 219.823 123.007]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6abab5b32713c840499d9e29facf95a17f41) >>
+>> endobj
+5020 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.812 112.103 346.049 123.007]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6abac1539389d3643cf986ef5bb99697d1cc) >>
+>> endobj
+5021 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.038 112.103 450.696 123.007]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6aba7491a8ba26958c3e27bed23b7eef1a7e) >>
+>> endobj
+5024 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5028 0 obj <<
+/D [5026 0 R /XYZ 90 757.935 null]
+>> endobj
+5029 0 obj <<
+/D [5026 0 R /XYZ 90 715.095 null]
+>> endobj
+5030 0 obj <<
+/D [5026 0 R /XYZ 90 676.418 null]
+>> endobj
+5031 0 obj <<
+/D [5026 0 R /XYZ 90 637.741 null]
+>> endobj
+5032 0 obj <<
+/D [5026 0 R /XYZ 90 599.063 null]
+>> endobj
+5033 0 obj <<
+/D [5026 0 R /XYZ 90 560.386 null]
+>> endobj
+5034 0 obj <<
+/D [5026 0 R /XYZ 90 504.229 null]
+>> endobj
+1399 0 obj <<
+/D [5026 0 R /XYZ 90 253.88 null]
+>> endobj
+206 0 obj <<
+/D [5026 0 R /XYZ 90 247.005 null]
+>> endobj
+5035 0 obj <<
+/D [5026 0 R /XYZ 90 129.085 null]
+>> endobj
+5025 0 obj <<
+/Font << /F70 402 0 R /F79 505 0 R /F56 367 0 R /F23 368 0 R /F11 446 0 R /F97 1188 0 R /F107 2332 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5068 0 obj <<
+/Length 1309      
+/Filter /FlateDecode
+>>
+stream
+x��Y�n�6��+��J at M���G�.ڴ`�Aӌ�M20d�v�J�G���ח�HKv�g�8�lY��{�}���̀���O���ƃF ��pj��\F�pbܛ�[}!4o-�0K�ѭ�����G:���ol������:�y���Vh^�a�חwtJ3
�&���bCb}
~��2�}�!��B@<��Ĉ���WhL��Ov����p�-��Ɨ�=��l�ښ�r
��F�&c���)yT0�������5r�c�Fc��0&k��6d3e��Ǟq�'�y-ߴ�O%�H`$�P;�
�s��m�Ѧx��
S\G�"Mp��G
�6��̲=s¸���J��WWr�2*R�!B&�d���z6�D�.�YVV�����%��n�<��>�,��iR����0fE����M�f at D

�`��f�;k(DPz�~�8.��8��%cp#���h І5ȵ�D;�~g?��2 ��u~�����a�*�9�B���7�~�s6�	��\�1�
��	8r�� [...]
{

�{����*{"��.�٭��T��|�㱪���:�>>$��}�I�"�r�cK;��ر,c�)�{��143�N�وn9sk:�.�Ld
]��E��{<����t�K$r������h�
��2������b����\X�8� ^��=�_�tja"����H�.��ꪂ0��>Nk!�E"��0��u�j�f,
ǝ������	
�߲`��[�>@��mM�S�
pq�;�Y 0�.�4z ��3	���4Ig�Ӵ�G͒���5
��9�j8�
�iW��@<|�^BH���A'.����r�����"-�x��e|4^4M�TތӅ��i�sz�nP\�U�V�yWVػ�赅�a�sF'��.A`7 
"���|���S��NS��0���XQw:�I��&
��[n�@߽,��v�O��:�",�4Ng,
+�����͝rg%�e��c������1��R�YZ����� ��
�g_�]#;5���c�1
��Dql���$�=r��Z���
��V"!���z[A���Ը������4��"�T�}y�K�tȓ
�f�n�`
Ֆ�z�/Tשڮ�
}���n�E>�i�
�b~5,
��l�V
��x��D�5�P����S�]#�Ȫ숛I(ϖ����)��
+endstream
+endobj
+5067 0 obj <<
+/Type /Page
+/Contents 5068 0 R
+/Resources 5066 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4959 0 R
+/Annots [ 5022 0 R 5023 0 R 5040 0 R 5041 0 R 5042 0 R 5043 0 R 5044 0 R 5045 0 R 5046 0 R 5047 0 R 5048 0 R 5049 0 R 5050 0 R 5051 0 R 5052 0 R 5053 0 R 5054 0 R 5055 0 R 5056 0 R 5057 0 R 5058 0 R 5059 0 R 5060 0 R 5061 0 R 5062 0 R 5065 0 R ]
+>> endobj
+5022 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 697.621 157.417 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a36a0c8ccab7923610bd27f637af63e1d) >>
+>> endobj
+5023 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.754 697.621 228.26 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5040 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 658.393 157.417 669.297]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a8fb8b2fe343e5afa80edc06bfa31460b) >>
+>> endobj
+5041 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.754 658.393 234.885 669.297]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+5042 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 619.912 165.165 630.443]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ac7bf9d127644aa14a09eab633e87f544) >>
+>> endobj
+5043 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 580.684 157.417 591.588]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5044 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [168.156 580.684 208.963 591.588]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a9dc926136daee1f47975434ee45298ec) >>
+>> endobj
+5045 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.3 580.684 279.806 591.588]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5046 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 541.83 179.554 552.734]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+5047 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 541.83 250.666 552.734]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a3c1dcd74ba0b2509f45aad45a5d922ce) >>
+>> endobj
+5048 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 502.976 135.579 513.88]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6ab) >>
+>> endobj
+5049 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.077 502.976 155.225 513.88]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a239b0622fbcfe1638b4246deab2caa29) >>
+>> endobj
+5050 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 464.122 179.832 475.025]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a745ac1cdddf74c6f387cfbbbc566dc78) >>
+>> endobj
+5051 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 425.267 187.583 436.171]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ab6976f576e6e50941ee7a7b1a737c0eb) >>
+>> endobj
+5052 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 386.413 227.433 397.317]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ab3186208850238a080373f035cd532cc) >>
+>> endobj
+5053 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 347.559 212.489 358.463]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a442aecbe0ce384a7c1add146fb125ed6) >>
+>> endobj
+5054 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.933 309.078 297.728 319.608]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a2679da4dbd5b8c33ef607aee49690c2a) >>
+>> endobj
+5055 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.544 309.078 336.732 319.608]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+5056 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.933 269.85 342.261 280.754]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a9960963fb1f8fb56631e0402557065ae) >>
+>> endobj
+5057 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 230.996 191.718 241.9]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+5058 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 230.996 288.852 241.9]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a78c24741e21a4406ea8ad1588c768147) >>
+>> endobj
+5059 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 192.141 191.718 203.045]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+5060 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 192.141 303.079 203.045]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a0ab383f3930179982937f7733a283a03) >>
+>> endobj
+5061 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 153.287 194.776 164.191]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a29202eb817eb5c9d59433abeeb4f2eea) >>
+>> endobj
+5062 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 114.806 195.334 125.337]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_aea0fedb82a525e6ada13cd7fd2d03225) >>
+>> endobj
+5065 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5069 0 obj <<
+/D [5067 0 R /XYZ 90 757.935 null]
+>> endobj
+5070 0 obj <<
+/D [5067 0 R /XYZ 90 716.221 null]
+>> endobj
+5071 0 obj <<
+/D [5067 0 R /XYZ 90 716.221 null]
+>> endobj
+5072 0 obj <<
+/D [5067 0 R /XYZ 90 638.632 null]
+>> endobj
+5073 0 obj <<
+/D [5067 0 R /XYZ 90 599.778 null]
+>> endobj
+5074 0 obj <<
+/D [5067 0 R /XYZ 90 560.923 null]
+>> endobj
+5075 0 obj <<
+/D [5067 0 R /XYZ 90 522.069 null]
+>> endobj
+5076 0 obj <<
+/D [5067 0 R /XYZ 90 483.215 null]
+>> endobj
+5077 0 obj <<
+/D [5067 0 R /XYZ 90 444.361 null]
+>> endobj
+5078 0 obj <<
+/D [5067 0 R /XYZ 90 405.506 null]
+>> endobj
+5079 0 obj <<
+/D [5067 0 R /XYZ 90 366.652 null]
+>> endobj
+5080 0 obj <<
+/D [5067 0 R /XYZ 90 288.943 null]
+>> endobj
+5081 0 obj <<
+/D [5067 0 R /XYZ 90 250.089 null]
+>> endobj
+5082 0 obj <<
+/D [5067 0 R /XYZ 90 211.235 null]
+>> endobj
+5066 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F23 368 0 R /F107 2332 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5118 0 obj <<
+/Length 1576      
+/Filter /FlateDecode
+>>
+stream
+x��Y[s�8~�W�)
3A��{�y��4;m��l��}h;�c���/�2P���Ȳ�M��I_��ѹ|߹���b`���w��+>�
�wS�dž�dSb�E��!��x�1�oF�<	&7#��Y���(&��>����e��"xZ������8B=~`S���7di�@�	�
)vF���^�
�
h�
Rj`��5m#L?c#�����g��U�aQ>c�v�� W��U�Ӳ�`Y�g��Dر�i�(����}�DZ
f�gY\}/�ɿT�}(WHc���o
>��p)�1K�I�mK�k?a��/�E�\�r�1Dy�-�k7��7<0ڱ�є"ǢƘXȷ,e�V,�T��gW��ZmB���X�+�S��"Mq���(H#����Z=�O�n��gX.�  ��O�E,�`��c�Ńz���Cl��͚�F��
J!��t�L�/��,���9�B
H��M:��A�r�1h���[����~�"�|-��.����r^���
+�ۨ�����E���,�5ζ1r�MĔ��o/߼Q���s�!��A��jY�E��!���@�;�:.�Ԥ�Ջ�ts�dA�
t"~Q�dՋ�= ��qq&��\ ��s/���;�}���g�S��<���N.ւ�G�xG'�����4���6fs�E��6:m��ڛ
p^�Ҝ�27e�H��f�����
+��8
�����?
�p��:tb�|d��,�a�D�2�3ޥf�� �f�C���aIz�Y�Tz̕
�"d���~��m�{�.;��<+HN*
���yT��Y51 P0=aL�!}��PoƦC��	D#2�r\f���
�(�8�M��4m��&�QM�X�!b��Oufx�'7�N�Xh%� �
��W
V�X&a�\��I�{�z9c�L�_E��*
+�qU:gU#�ӑ� �y �Z��4pH�)��tY�Wo}�X���ήc���f�G��v����F���C�/f�a��,a#��_E��1���c�`��\�C���}\?�g�=�����"
e�$:�lO�j�-a���+ԡ{��N��9�2pǞ$�>� d�f�^b>q��2�ɢ�����!���O�}X��3� �cr��D-t
Fj��1�����o�������л#d�M�w���]
O�+�~ϴ��g�˓iY*���oT�՞[�Mu
���K)
�(����K�o��ye��i�s��7
�}�=��ΐ� 1}�U
.eN>��/�y&���&/��ڲU}�x�T|{OM� [�VO-� �iS�u@�LƧu�'2��5�Vu���rn�X�1c�
�7P�E �ݾ�*�,���hA"�a;AU��O���)
�����
F�
��	#��@���~D�N���m�U�
1�M�z���&�1������;0Ӂ�������=��;"Fz��d��l_���@yX¯�Ȳ�,����WwH!ޡo��7u�]�M����#��.7�W�$���_>�*Z�o �?���&�O*���Eo��R�b���`D�
fu�r��+����;Z�Җxa��fE1??;[�V(h��y�xq6��g?g�@��y1ͪA/����Lʋ�n8���
�
�
+endstream
+endobj
+5117 0 obj <<
+/Type /Page
+/Contents 5118 0 R
+/Resources 5116 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4959 0 R
+/Annots [ 5063 0 R 5064 0 R 5087 0 R 5088 0 R 5089 0 R 5090 0 R 5091 0 R 5092 0 R 5093 0 R 5094 0 R 5095 0 R 5096 0 R 5097 0 R 5098 0 R 5099 0 R 5100 0 R 5101 0 R 5102 0 R 5103 0 R 5104 0 R 5105 0 R 5106 0 R 5107 0 R 5108 0 R 5109 0 R 5110 0 R 5111 0 R 5115 0 R ]
+>> endobj
+5063 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 719.912 201.471 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_af8fcee7f8582b0afc9115eb1304c24f9) >>
+>> endobj
+5064 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.808 719.912 272.314 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5087 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 681.058 181.845 691.962]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ab0f18894c8f97fa0cd38736462f36132) >>
+>> endobj
+5088 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 642.204 181.845 653.108]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a7bdaff085ea6859cdec9b27bffb6de4b) >>
+>> endobj
+5089 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 603.349 154.727 614.253]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a93d5d6abf06ec551294c4c18abb4349d) >>
+>> endobj
+5090 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 564.869 176.505 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a0d50a5df6b31c6de90fe366e18e750ff) >>
+>> endobj
+5091 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 549.874 450.955 559.78]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a7bdaff085ea6859cdec9b27bffb6de4b) >>
+>> endobj
+5092 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 515.055 150.493 525.586]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a6742bd7f3f2cb079b96900dda0147940) >>
+>> endobj
+5093 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 475.828 156.281 486.732]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_afa6ba487c08199e83a970fc49b53d3d0) >>
+>> endobj
+5094 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 475.828 203.603 486.732]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5095 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 395.065 203.075 405.969]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+5096 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 395.065 296.324 405.969]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a09c8fc0753a389cc42f84c12f7920832) >>
+>> endobj
+5097 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.005 380.444 317.229 390.35]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5098 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 356.584 194.297 367.115]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a0ab38d6ea061e7c2cb1595ba9cf2fd42) >>
+>> endobj
+5099 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 317.73 188.759 328.26]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_aaf207e746f4a3dc2722e254612dab3b3) >>
+>> endobj
+5100 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.953 278.876 204.459 289.406]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5101 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.199 278.876 278.511 289.406]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a2935fff040a5b31930fff594a0b2596d) >>
+>> endobj
+5102 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.953 239.648 204.459 250.552]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5103 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.199 239.648 297.2 250.552]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_abbde4b86cfca3e29a917650f4c9c62d5) >>
+>> endobj
+5104 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 158.885 157.417 169.789]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5105 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 158.885 204.34 169.789]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_adba3d929f4317a38ad387c5b45a91199) >>
+>> endobj
+5106 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.677 158.885 308.927 169.789]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+5107 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.083 158.885 432.333 169.789]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+5108 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 120.031 157.417 130.935]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5109 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 120.031 204.34 130.935]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a047a99eb91872d19730f4fd14a81f55c) >>
+>> endobj
+5110 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.156 120.031 243.343 130.935]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+5111 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.785 120.031 293.973 130.935]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+5115 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5119 0 obj <<
+/D [5117 0 R /XYZ 90 757.935 null]
+>> endobj
+5120 0 obj <<
+/D [5117 0 R /XYZ 90 700.151 null]
+>> endobj
+5121 0 obj <<
+/D [5117 0 R /XYZ 90 661.297 null]
+>> endobj
+5122 0 obj <<
+/D [5117 0 R /XYZ 90 622.443 null]
+>> endobj
+5123 0 obj <<
+/D [5117 0 R /XYZ 90 583.588 null]
+>> endobj
+5124 0 obj <<
+/D [5117 0 R /XYZ 90 533.775 null]
+>> endobj
+5125 0 obj <<
+/D [5117 0 R /XYZ 90 494.921 null]
+>> endobj
+5126 0 obj <<
+/D [5117 0 R /XYZ 90 414.039 null]
+>> endobj
+5127 0 obj <<
+/D [5117 0 R /XYZ 90 414.039 null]
+>> endobj
+5128 0 obj <<
+/D [5117 0 R /XYZ 90 375.304 null]
+>> endobj
+5129 0 obj <<
+/D [5117 0 R /XYZ 90 336.45 null]
+>> endobj
+5130 0 obj <<
+/D [5117 0 R /XYZ 90 297.596 null]
+>> endobj
+5131 0 obj <<
+/D [5117 0 R /XYZ 90 258.741 null]
+>> endobj
+5132 0 obj <<
+/D [5117 0 R /XYZ 90 177.859 null]
+>> endobj
+5116 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F106 2337 0 R /F105 2458 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5193 0 obj <<
+/Length 919       
+/Filter /FlateDecode
+>>
+stream
+x��[S�@���+��Mf�e�&��0�C
u����/�0W�]"���
�/�&O at r8׏='�t�:4�֍ʁ ��>�
�o�O��T�F�&
�e!�<����j����z���*h
�W*P��^'��*�ز)#�^+������F*
<SFM��9ڊI��.�G�~��c��� H=`
��f�8�$�Z_?B;���T��ѯ-tf�0H

)F�x!* 
���u0�,
�R���~b_�掜
��f:�B\3�`;]����vv�����f�1�����0��j���*�녝h��O�K�ꎼ�(��	m�2���q�ZMM5T��,��x����`�W̓�<�9�&��s�"\�n��S߫(/l|��L��3s��ʁ/
+�<�
�T��$ƌ	�)
v����w��

;#
xj|�q�beX�
��O�K
��P�wk�Do&Dn !Y O<�9��I����O�KS���;}t^�lA���
+��^��AL$�Qx��lF���
+�S��\�
�M��Y��_ �$
�Zr�������8[�
+��_��rI�.����J\���te:
D���Ρ�>gs(\�ɰ<
+�P(?����ᱶ

׉�
�ٵ��٫29��S���s���J�앣pwLߓ�nLG�ؠ>�`��r7yƴ�؅򺰣�J~%yk�mS[�w`�_.[~Q+}�+m��x-���
_o��hL+����\��Z�g����ݒeMa
�
m�|)W�N9��FY�r��
�J������
Ǿ����nj�I��r��D��������+=��}�ٓ�Ř���{�-k��OTI��5�H0 at RJl��L�沸~��oIai�[�(&b��8�V+��`��=|�]�ø��*O�.h�X�F�PR��
�GF�b;���������%�Z
+endstream
+endobj
+5192 0 obj <<
+/Type /Page
+/Contents 5193 0 R
+/Resources 5191 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5195 0 R
+/Annots [ 5112 0 R 5113 0 R 5114 0 R 5136 0 R 5137 0 R 5138 0 R 5139 0 R 5140 0 R 5141 0 R 5142 0 R 5143 0 R 5144 0 R 5145 0 R 5146 0 R 5147 0 R 5148 0 R 5149 0 R 5150 0 R 5151 0 R 5152 0 R 5153 0 R 5154 0 R 5155 0 R 5156 0 R 5157 0 R 5158 0 R 5159 0 R 5160 0 R 5161 0 R 5162 0 R 5163 0 R 5164 0 R 5165 0 R 5166 0 R 5167 0 R 5168 0 R 5169 0 R 5170 0 R 5171 0 R 5172 0 R 5173 0 R 5174 0 R 5175 0 R 5176 0 R 5177 0 R 5178 0 R 5179 0 R 5180 0 R 5181 0 R 5182 0 R 5183 0 R 5184 0 R 5185 0 R 5186  [...]
+>> endobj
+5112 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 719.912 157.417 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5113 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 719.912 204.34 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_af2eb5d22ef23937a261cfe3f6bc435e6) >>
+>> endobj
+5114 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.677 719.912 308.927 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+5136 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 681.058 157.417 691.962]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5137 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 681.058 204.34 691.962]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a448b4387171ec166085eb46aacedaad9) >>
+>> endobj
+5138 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.663 681.058 458.912 691.962]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+5139 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 642.204 157.417 653.108]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5140 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 642.204 206.47 653.108]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a61bc4f536e4c04b9594e1b6c7e13d76e) >>
+>> endobj
+5141 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.807 642.204 311.057 653.108]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+5142 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [357.213 642.204 434.463 653.108]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+5143 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 603.349 157.417 614.253]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5144 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 603.349 206.47 614.253]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a600a652347fb8718e0bc05f7230b8d8a) >>
+>> endobj
+5145 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.286 603.349 245.473 614.253]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+5146 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.915 603.349 296.103 614.253]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+5147 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 564.495 157.417 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5148 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 564.495 206.47 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ae3cacddb2450b8b685b8f39936a2b69d) >>
+>> endobj
+5149 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.807 564.495 311.057 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+5150 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 525.641 157.417 536.545]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5151 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 525.641 206.47 536.545]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ae615df068adfbb40a0b0b7a993579d22) >>
+>> endobj
+5152 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.793 525.641 461.042 536.545]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+5153 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 486.786 157.417 497.69]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5154 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 486.786 206.47 497.69]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_af06b2331eb3d080794682080b7f7eb1d) >>
+>> endobj
+5155 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.807 486.786 311.057 497.69]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+5156 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [357.213 486.786 434.463 497.69]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+5157 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 447.932 157.417 458.836]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5158 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 447.932 206.47 458.836]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a423e3bb0d9886c630c3c227def9f2073) >>
+>> endobj
+5159 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.807 447.932 311.057 458.836]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+5160 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 409.078 157.417 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5161 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 409.078 206.47 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_abdd61469bc5c6dfc6e97f306a751035c) >>
+>> endobj
+5162 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.793 409.078 461.042 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+5163 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 370.224 157.417 381.128]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5164 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 370.224 200.851 381.128]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_acc5c5125e7237c5913981b99a502f332) >>
+>> endobj
+5165 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.188 370.224 305.438 381.128]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+5166 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.594 370.224 428.844 381.128]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+5167 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 331.369 157.417 342.273]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5168 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 331.369 200.851 342.273]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a61208276a246a505bd753ffbb568bfe7) >>
+>> endobj
+5169 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.667 331.369 239.854 342.273]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+5170 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.297 331.369 290.484 342.273]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+5171 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 292.515 157.417 303.419]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5172 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 292.515 200.851 303.419]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_af245f065572b31c8ca97e196e45f9cf9) >>
+>> endobj
+5173 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.188 292.515 305.438 303.419]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+5174 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 253.661 157.417 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5175 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 253.661 200.851 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a89943bdfa5424bf7acecc51a7b6949c8) >>
+>> endobj
+5176 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.174 253.661 455.423 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+5177 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 214.806 157.417 225.71]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5178 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 214.806 200.851 225.71]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a852f422dfdf14a1e8a97b4dad77f7e36) >>
+>> endobj
+5179 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.188 214.806 305.438 225.71]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+5180 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.594 214.806 428.844 225.71]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+5181 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 175.952 157.417 186.856]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5182 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 175.952 200.851 186.856]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a3c920e734593812d8529bc12be6f503e) >>
+>> endobj
+5183 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.188 175.952 305.438 186.856]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+5184 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 137.098 157.417 148.002]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5185 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 137.098 200.851 148.002]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a54742578f3ff98e32e7e15d6b554f13f) >>
+>> endobj
+5186 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.174 137.098 455.423 148.002]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+5190 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5194 0 obj <<
+/D [5192 0 R /XYZ 90 757.935 null]
+>> endobj
+5191 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F11 446 0 R /F106 2337 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5234 0 obj <<
+/Length 2124      
+/Filter /FlateDecode
+>>
+stream
+x��Z[w��~ׯ@_
�T\�� +�I�6����''�V2�P��;{ÍK�������`fv�ۂ8�
p�����.^�8HQ*��n�� �S\�oB�Ifs�1_��z���rFqX����~�K~]g�n���*�����)��WE�4f�J��zF�P�K	�H	)Nf?]}w���ٻ3�h
x�bƃ����O8�����4	��jD��o�>��~t7�!,���+Yd��1*�ؔ�6��/����9��R�ޏ��U�4/�o�֭dcof�]��}���kس^�:YX�i�u@�X9�idR��To�
\p]U���lU�Y���JR��u�V����}�Tmd���8��#=L�=��]}8�ݞ9�/x2
p���C(E"���D(�"��vS;���j?�е�F�1K� ��(��~,-<��ؙ<��(�ط<�c$(���8��6�}VH"m��
��,r��<�9����k�ގ#`�I���PJ����~ۧ�.�����oA
dzD0��; ;�_��(,� �&	GBt�x�I�Pz �[���>��!�A�]���=9
��9�S�<WN��ʮ�
�
J4��'�HJpg�{b��ŀ�@��db�	PIo�K�D�.��S
�Ib�>1�E
��~�@<�4�v��CT��.�F\R��(����T~
YG���o
q��f����hr/�%u�~�K���_(��*��c�{`]���
���R>�
�^�e��{�+�E8����f�h�Ɛ�Q�"��\�#QrZ3��� �2[�?;�����A0����dzG��$
��*�Gk��'g�L�v�ֿo���6)� h�*)�ʖâ�p�?��bq5Kp�[{s���?��`>g)Dh0�jLx48j@�
6|-�,/ܬ��l�u�V#��i�K�N��2���Ek{���w_pP|� �~YZ��ʥ���^铍��n
́g�x��@V�w���
��'�Q�W��f�ҕ�@�4Q��qŚ�H0CfmM؀
`@y�X�mR
��ˑ�(Ȝ�v�M��ؙe�EI��/�/�`���Kui��#�C�P�|$lċ!�=xY	p��U2�7�
9��#N�����>���}��I�=�'
�t��|
�I |)�/uxzJnj,��܁���`���)>	\�I�>
+��)�J����.a=�8
W�(���N�e���#6p˱������JH<�Y' T��@5 �� x2��8L �%�O8�����_1����@�	#�
�K��b
Tz4��MD]'�k
R'lxj�j�<KHx��d٨�C�WM��9
�u���>�d��We��Q��X���
���;��A=YV�vF��/]���o���z6��zs�p:=g<-GM���A�G
8(����89���5:�����
+Ô;
�o�Uu'KYmܱ��Whҗ��S
�+4ʄ�*�X�i|�
���k5�o�¶���4c���V��DAZ#Z��{F�����,��:_f�>%��ۚ��;K�^����W���E�&q
du�٭�����<\gym�t�
w�.����Z6���n���8���
�,Փ������jИ
�GX
�t�r'
�:�-���./\^�z"#��ȹ�C]k��n1�/	�il.|�Q+e-�#��T2m}��3�
e�ϒ� .�s�Ac��S�p�dhkx��A��\Xw���S�r�C����

�k+bdɽS���0��DƄI�f9���R#~3�
~�f�Lb�-��f�'NEmo�N�*{�W��W��о���L��ۀZmcR���(Dܐ���0�l�j����`��EHX����L��UQT*8�&/�QQ�q�Z�q"g���[P�f��{X>)
���@�������t�j2Qnށj�#���G��O�Ch+LM�,
nP at hcb�� ���{�5eֽ?��;��>���
+ȟ�t��N��V
�b�G���^�Ҏ�Sq�
��<u�?,�?+��} ,x
+
�U����;���|�\�Cbs�}#���������xf�'�{�J�6��&��
>���ҝm�}��՟�G#@��F��m�^\\l�[�lЦ��5��
(��{���oXn�1Ҫr �K��҅M��/�.
+endstream
+endobj
+5233 0 obj <<
+/Type /Page
+/Contents 5234 0 R
+/Resources 5232 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5195 0 R
+/Annots [ 5187 0 R 5188 0 R 5189 0 R 5212 0 R 5213 0 R 5214 0 R 5215 0 R 5216 0 R 5217 0 R 5218 0 R 5219 0 R 5220 0 R 5221 0 R 5222 0 R 5223 0 R 5224 0 R 5225 0 R 5226 0 R 5227 0 R 5228 0 R 5229 0 R 5230 0 R 5231 0 R ]
+>> endobj
+5187 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 669.969 180.54 680.873]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a340e8b886fb185bed798dcbc1391c126) >>
+>> endobj
+5188 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 669.969 251.383 680.873]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5189 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.116 669.969 336.623 680.873]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5212 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 631.114 178.239 642.018]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ae86d21a6490f299af6229d70cf20c3ba) >>
+>> endobj
+5213 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 631.114 249.082 642.018]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5214 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [290.815 631.114 334.321 642.018]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5215 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 592.26 157.417 603.164]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5216 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 592.26 206.47 603.164]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a2fb9117b8937e3d9a9b4d3ae397bb79a) >>
+>> endobj
+5217 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.286 592.26 245.473 603.164]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+5218 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.915 592.26 296.103 603.164]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+5219 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 553.406 157.417 564.31]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5220 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 553.406 200.851 564.31]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a4b4c0277d3b6c85ab6633ae9f5e235c6) >>
+>> endobj
+5221 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.667 553.406 239.854 564.31]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+5222 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.297 553.406 290.484 564.31]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+5223 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.689 514.551 156.055 525.455]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a66a2134e0f7fc74d62b14f46631dc2c7) >>
+>> endobj
+5224 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.644 514.551 314.233 525.455]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5225 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.037 514.551 486.625 525.455]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5226 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 475.697 226.034 486.601]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a182ea33f63c0eea708e02a32b0904f30) >>
+>> endobj
+5227 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 475.697 364.682 486.601]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5228 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 436.843 226.034 447.747]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_acedadd7f7742a18d941ded77da69ba9a) >>
+>> endobj
+5229 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 436.843 389.897 447.747]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6ab) >>
+>> endobj
+5230 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [302.839 354.396 346.346 365.3]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5231 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5235 0 obj <<
+/D [5233 0 R /XYZ 90 757.935 null]
+>> endobj
+5236 0 obj <<
+/D [5233 0 R /XYZ 90 716.221 null]
+>> endobj
+5237 0 obj <<
+/D [5233 0 R /XYZ 90 399.523 null]
+>> endobj
+5232 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F11 446 0 R /F106 2337 0 R /F1 580 0 R /F10 507 0 R /F13 581 0 R /F7 541 0 R /F8 540 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5248 0 obj <<
+/Length 2299      
+/Filter /FlateDecode
+>>
+stream
+xڭYY�۸~�_�ڗP���A���N���&{���$/�[*Y�P�LR������8x��.'/�4@��'������7o�on߅؉Q
���_91v€ N�s�t~u	F$�yc쾟�&�&Y��Q��~-�U��){��j?��-�����hf
��}�'u���"V����E*��]\�����?����|�!p"�u
��q'����;v�0����#�QQm
�2x�·��`s|�VQ�0��������S���B��s�
n��`��D(ı��\��_���2����cV|�Ci�4�RN�,_)4�*�i��Y�otr�cܾ����!���ԾLS2 �Q
����0�Q;�
����|0���p�)@�CN~�� \�?��|�:MĺӼ�ӄ�k��R�ȏ;��ZR�DJ�s'�z��F��l#�:+�	b�0�#Z�Ivs

=*B*eb"Wx,�E!\pc/C�T�"�
s��t"�h�a`����j�G!l?~�˟�ҖC��%��z��_���K��p
��<B}Ęo.4�9�{�s�gpN}�0Ӵ��Ջ��@&Y�ȝ�xV
, �� �	Xo�*ǿ�,�F�H\ʧ@�8��M��BO�G ~��GdYf
2�D�o{6�=���=H��=������bx����O���xt�R��Jc��Q��+��� �j�G(����8�	;�w<�	�+�\U�ޖŲ�5
+�����s
<���9��
��'���
+�A�|���9�I�
+\:������~K�q|�/s��1D9��2ƖV�b
�ށ�4Ƹ�1
b�=��r�!b!���Ђ�u�d5�&�8���i1J
����z�A�=�����~�$!�)[�F������Mb ���Dib6~�D�ɋ��ʧ1��i寒���D5��i�s)��h�%:��6
|ۍ�}�e�ğ�O���y>��^6e%ZO0󱤖	���n+�G�.�(�vA3�9^$��qOʆ�[��T���-x2�-�V vV@:���xqdz�����O��.��\bs(������u��梬~)$�
�j�����q�����\��r��.���7�Q�����I~9�ၰ��J/�Xd����f�h�S�F']�i2�O�r�.�>m��t�$�y�ݍh֥LgYH����mUJ���R���'�3B�CE	x����_
f�^ Si;���ڰ�R�4Q��һ�60�8gn�ԭ5�jDu�Q� Q�Q�V at n��~kH�f�T&஡�svM6�wz�i���.�rR�U�[����\���\�K���QT����S��LU������V6%�g�D�O�D��Y|�
`ȸ�W�MȃW
�M�e�y���-��igo
+��L�TԆB$�Z3�a���@zX	T2h�Z�! ��
�!-&\���F��b��P�z�Y���h��b���8�����g�&��h_�
S_��b6���d7�!�ɨ�1.&�ǥ��q	"��R��
i3Ҩb�>���w��x�G
тiB+�E*�T��(P�Vd�V�<�4��hc��n���ϻ
��6�W��9��:-��M�`Z�)�,�0���) �NWxEu�u8TP����v� 2 �.�X'�\l�PA��w����t��S�'���W��{�W��Z�f��^�<���ľ!5 at mZ���_���o�4736aJ�wQ,�4[�y)����^
b��2U�SBҙ��3
�Z?��L�L�m��
�7ǎ�
�6��4KI�Ǒ�
�ӆ� ����e
�:�SZJe
�����4������
�c�4=뷐qo���'��+�2�k�xd)��E8�HT�6|��
0i�B��B[�'ʊu�)?�B��zшjcU�g�����ht7l�i���j��
��D�*i��I���A���a�KPjD��*��	�Nf�*��m[�g����>�͕��
y�1�_�.pso,{��|k�Ҟo ���h�#J{=��/.�ޜq�W��L�?ٍ� �3��{�H�Ɛ�Y�3Bu>C��^3�0�M�&KwyR��3�ߢ�7��b��`��
�-K���e��앨tzC����uݞ��j��(�&
�P���L�4�,��PjVb�L��.o �%�_F�Յ�﵈�/�?�̓�4��b�y5]��2�I��!sjq��ⅈ�&��^zŗ���~����J�
}�>���� dб���'� (F�~1V_��$}'Xpp��佬��M�k{U�j�_�Y��O3�]�~N��qI��C߷��΁
+��AsE}�;����OK"�pؕ���ooQZ�]�m+�5��m~{X��@����R�����/e[
+endstream
+endobj
+5247 0 obj <<
+/Type /Page
+/Contents 5248 0 R
+/Resources 5246 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5195 0 R
+/Annots [ 5245 0 R ]
+>> endobj
+5245 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5249 0 obj <<
+/D [5247 0 R /XYZ 90 757.935 null]
+>> endobj
+5250 0 obj <<
+/D [5247 0 R /XYZ 90 171.232 null]
+>> endobj
+5036 0 obj <<
+/D [5247 0 R /XYZ 90 148.92 null]
+>> endobj
+5251 0 obj <<
+/D [5247 0 R /XYZ 90 148.92 null]
+>> endobj
+5246 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F8 540 0 R /F11 446 0 R /F23 368 0 R /F72 404 0 R /F31 506 0 R /F7 541 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5255 0 obj <<
+/Length 1609      
+/Filter /FlateDecode
+>>
+stream
+x��X]��F}�������U*��l�4I7�S��D���8^���a�aIl�ۨ������8��;w�����ϣ����e�-��O}k���� N�5�[�6����K0���C�
��hv�Pl��6����EzSF�n2�(�.�4�
�rl_dQU��o�ER:$��<N�
/6%��0}>z:
}
�[���(`܊W��ؚ���FL�ֶY��<��YoG�GXg�?�U(ƞP�S�=�7���ꢜ4A�/!�
J�\"̩��Z�����ų��%�;os2
+����m�`�{���(W���&��z���F=�fx����|�#|�뫷�7�.��g�Ή�P���OW]�"w��4n��ψ������k�� ��n�G"�Q
+�
Px3
+��
� ���䰉�b��7��$1?)b�b^GuZ��D�R1�*"�밧ɐ��1���Wp���hYn�4��7*a�B,`Ҟ�r �
>�|�֒�Ŏy�@�� тw�ܭ�4N��
��� �w�M0��E��P�ܸEZWtQ���Z�y��i7��"�I??�Z*^����
AB�8�M)CHV���8Y�:W'5
�{����z>����a��6�E��ϗ4!8��p(���ˤ�8<��
y�j��.�uR�q�R��DŽ֒�e��9�2Yݴ�.7y�H����ah/��"Y�ǘ�)�5�ڨ�ɤ��LmQ�VE9=Oqq׾|_�N�ֲ����
A�x�dɐ���� �)�C���na��u�g��UG 	��!�7I�)s]���]��$��:`5�-����r2\C��}�i�V t]#�_�Cژ
��p茶M�W�!AN�4'(��TJA��_�麣iƅ�tsm��<��C�}�n�"@��e�"
�K[�2�j�N�0�!������?�^T�:���y
+	W���5�V��0���aV��ބ�n)7E�)���)�jVG��ȊeGڂڠ��R6���ʼ�c�
�=Ќ������hH�Yt���g;s�0j��?�
�0�m�lw at +E	�ޜ�L�ö)Ʈ�T2�� (n����v�I�!�jf=
t�nn#Y�ORV�t����d��^�(�L�5͗�rU�'� ,lv3h꽧����]��&��w
6�<@^��W��`��D�n�������u�AH���`���Y�#J�G
2�J���i�M��N���
h�D�v
iGao�X)pK��z!=��Yu7�;��?�g��$aVg�w ;��ХAh?R<�jP ��4~��(�Z†+
@���#%?v�� �~А�
!Ap	�!9��$�	�ɂ���_������Y�
�SE�%�ꀍ�
Z	�.���
D�`x!�,"z��0�5]��y;�!��$tr�����)����n���@����8v S�xP��:8�Q�Q����+4�?�� [...]
+x�A]�&�NQ������e�ЧӱC�p�'�m]�'��v�Eq�6y�.QZ���l|��ܱ]48��E�vU�I[n	}�A	���9�5v
+endstream
+endobj
+5254 0 obj <<
+/Type /Page
+/Contents 5255 0 R
+/Resources 5253 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5195 0 R
+/Annots [ 5252 0 R ]
+>> endobj
+5252 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5256 0 obj <<
+/D [5254 0 R /XYZ 90 757.935 null]
+>> endobj
+5037 0 obj <<
+/D [5254 0 R /XYZ 107.713 708.112 null]
+>> endobj
+5038 0 obj <<
+/D [5254 0 R /XYZ 107.713 692.48 null]
+>> endobj
+5039 0 obj <<
+/D [5254 0 R /XYZ 107.713 676.849 null]
+>> endobj
+5257 0 obj <<
+/D [5254 0 R /XYZ 90 660.261 null]
+>> endobj
+5083 0 obj <<
+/D [5254 0 R /XYZ 90 637.949 null]
+>> endobj
+5258 0 obj <<
+/D [5254 0 R /XYZ 90 637.949 null]
+>> endobj
+5259 0 obj <<
+/D [5254 0 R /XYZ 90 505.096 null]
+>> endobj
+5084 0 obj <<
+/D [5254 0 R /XYZ 90 482.784 null]
+>> endobj
+5260 0 obj <<
+/D [5254 0 R /XYZ 90 482.784 null]
+>> endobj
+5085 0 obj <<
+/D [5254 0 R /XYZ 90 347.222 null]
+>> endobj
+5261 0 obj <<
+/D [5254 0 R /XYZ 90 332.79 null]
+>> endobj
+5086 0 obj <<
+/D [5254 0 R /XYZ 90 178.106 null]
+>> endobj
+5262 0 obj <<
+/D [5254 0 R /XYZ 90 163.675 null]
+>> endobj
+5253 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F104 2229 0 R /F72 404 0 R /F23 368 0 R /F1 580 0 R /F10 507 0 R /F13 581 0 R /F7 541 0 R /F8 540 0 R /F11 446 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5266 0 obj <<
+/Length 1670      
+/Filter /FlateDecode
+>>
+stream
+x��_s�6
���)�ɷ��R�ڻ�kz�u������r�C׺ْ+�I����,�t�6��[2��� ���c��W�_.F�g
+�$���<�p�$A����&�
	FD�'c
��	�|_��)�������՛�:�����E�e
'i9�P��˸(�׷fn�1ѡIg�1�RB�.^�^^�>�x�R{ RL����n��� #�஖Z�2�\�F��[
�J���3
(���.�=��6�<\N,3N����&^&���:=#
}B#R�+j��;!
H)0U[E��`B�̊�N�u�8�� �Sh+�:"Q��15!A��BD��Kv�P�I��y�
�n�8�JA.ґ�rB��|�X�F�g�;Ɉ�S��Gי�-�
:"?x,U�Xc�zW�B���?��)�x�@��6�'6�w
��QF Ld`x�cV�إ�KY�'rBt��� DJ�GȵJ�,��>Lfn&�(L��� ��A,�LaY?�2;�er ��A�IБ�3=���&y�([SpoA=�z��ҷ
լ��1����F��LEJ�e9:��9�
	,�/��uI��y��̐oS�a���;���
��a�4���a0j&�zHB�'7(]gٲZ���i:M�+ <�
���[���*3��=x
[���1	�&t	l�s�"�w
]�9��m����h'��F;�0C!�5Ցp�U6=a�p��OR�g�ߚr���3I��e��֩2��N
+
ns��-/qz�M��wUb�CpD���h�񣷇�ER<�Fe~W�H+9rO
�"����������ß:����Mm�l6�
+�����ֳ% fn�D��+�n��cu��
h�A�V]����+�	(�?�nU?�������d��-�����o���jY�OWy�6�����Ɣ
�4͹�zo�NZ
�OxjLD��\g���D��7e��>&�Q�_��TkI��^�������f�b \)8���8�?7��5˸4��l��J����5�m e\�ra�
�^��8�}�u��M
�Y��=�re�G�����h�q~���ڞɊ�ڇ�u�*��툆�x�Pa�ڊ�Z���)�5B1�x��
�b&�ö�!�ԫJ#�j��A[���:)|�K��͹�r�

v����
1���o��~�����Q��N�*���W�Vf�Ct��1T��e��փÿ��-���K�M]$����E���c*!d�[
J��iy!��@@5F��#Sp�t
+n��CӪG��Q�o�v%����t��_��D�T�r}⟲"$ ���~��9tn:K�<-������b��)ਫ[ө�$�A�O:M9��*'�M{0�å�4�P?L�c�V�v�ξ�ZBe��ж	��|2
�n;N�5p�dlؔ�/S��+
+ӕ䑣O�G���!�iNӘ�']IFG�K�q2G�iP��'IZ�<gDz�m��{l*�x�}7'�se-
ps��"�>4��؀�r��WX��*����<�1
4
)V� �6�Q?������� �Ǚ�ڗP��HH�"���D����P���h^4q:��$��wټ ���-����0��cg6{�{�n��v@��T��hO��H�r8�1��wƸ%�u�4�~ա�%�a�fhQ�������
�h�&�
%��z�<�m�fIT�w[��<�ʚ#W���U}��	����{�
+endstream
+endobj
+5265 0 obj <<
+/Type /Page
+/Contents 5266 0 R
+/Resources 5264 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5195 0 R
+/Annots [ 5263 0 R ]
+>> endobj
+5263 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5267 0 obj <<
+/D [5265 0 R /XYZ 90 757.935 null]
+>> endobj
+5133 0 obj <<
+/D [5265 0 R /XYZ 90 669.189 null]
+>> endobj
+5268 0 obj <<
+/D [5265 0 R /XYZ 90 654.619 null]
+>> endobj
+5269 0 obj <<
+/D [5265 0 R /XYZ 90 539.748 null]
+>> endobj
+5134 0 obj <<
+/D [5265 0 R /XYZ 90 517.436 null]
+>> endobj
+5270 0 obj <<
+/D [5265 0 R /XYZ 90 517.436 null]
+>> endobj
+5135 0 obj <<
+/D [5265 0 R /XYZ 90 445.848 null]
+>> endobj
+5271 0 obj <<
+/D [5265 0 R /XYZ 90 431.278 null]
+>> endobj
+5196 0 obj <<
+/D [5265 0 R /XYZ 90 371.68 null]
+>> endobj
+5272 0 obj <<
+/D [5265 0 R /XYZ 90 357.11 null]
+>> endobj
+5197 0 obj <<
+/D [5265 0 R /XYZ 90 285.557 null]
+>> endobj
+5273 0 obj <<
+/D [5265 0 R /XYZ 90 270.987 null]
+>> endobj
+5198 0 obj <<
+/D [5265 0 R /XYZ 90 199.434 null]
+>> endobj
+5274 0 obj <<
+/D [5265 0 R /XYZ 90 184.863 null]
+>> endobj
+5199 0 obj <<
+/D [5265 0 R /XYZ 90 113.075 null]
+>> endobj
+5264 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F1 580 0 R /F10 507 0 R /F13 581 0 R /F7 541 0 R /F8 540 0 R /F11 446 0 R /F23 368 0 R /F100 1390 0 R /F72 404 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5278 0 obj <<
+/Length 1087      
+/Filter /FlateDecode
+>>
+stream
+x��XKo�F��W�Ԓ@����
+n5�i
+��ڋc����J�J�q��;|���z�V
�$������C�����y���4��*���$�4�
+�d
���(�@)
/"�a�͓�E�h��}�q�Y2z?��%����|���,��y3I��Y�ZU���e�Хc��8Z	��j���f����
��@j��
����
�����nMpWJ��8�΂���{to4��d'"��#�vx�tY�/�«�[��*�V8Yjz]�lXC��m~�4~��F�D[F�a���癫�����޼�^y,�"F�F�F�\kd>��p�tE�+:k�.'�ԥ�W��T
��FF�m�y����fi
���U�6��_����%gm2|D�ѽ�x�U����

��kē���X��w
gڃ3n�~�	�?g��
+gZ�*������%��Ϳ���V�EZ�%�|����k|9c�����NN)z�p�O��1"#����teT��
�i	D�uT����	��0)N
U�)�!B���n�fC���~�2JW~�N�ޏSNd�:��)j�p�$?d4#t
t����,[���d�Tѧ�P�� �q\
+x��UDP�U�M�Ayd�Ȃ�x�QYq"Ȧ�
������>
+Ǚ� �[����1�k
+g�i���]X�������
�OT�p}�5l҆�ݪ6�D�?
+��©��
f��������K��LK�U�h���١����n���
�j�w�8
T������g/��� ۏT|샐��@�S
 XlnM ��' JU/g`�M ��sO g/q �
�V�D��+
�s�;%+�_�t�
A��P!��f���5���9f�{���������,#k{ã�
IB�^��Y#�nC�����/���d����m�� 

�!Z�#�ך�
�حf��D[�ȃ�����V��a���d���o��lu[og��?V.�1�2���[��&�vU��P岖��PT� {
?:W�X��w�\��+��z
?�ۆv���A�wwG�+r�N�����r��H�V̀U��1�CU�5_du��Γ
]���� ����
+endstream
+endobj
+5277 0 obj <<
+/Type /Page
+/Contents 5278 0 R
+/Resources 5276 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5195 0 R
+/Annots [ 5275 0 R ]
+>> endobj
+5275 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5279 0 obj <<
+/D [5277 0 R /XYZ 90 757.935 null]
+>> endobj
+5280 0 obj <<
+/D [5277 0 R /XYZ 90 733.028 null]
+>> endobj
+5200 0 obj <<
+/D [5277 0 R /XYZ 90 680.702 null]
+>> endobj
+5281 0 obj <<
+/D [5277 0 R /XYZ 90 666.132 null]
+>> endobj
+5201 0 obj <<
+/D [5277 0 R /XYZ 90 594.579 null]
+>> endobj
+5282 0 obj <<
+/D [5277 0 R /XYZ 90 580.009 null]
+>> endobj
+5202 0 obj <<
+/D [5277 0 R /XYZ 90 508.456 null]
+>> endobj
+5283 0 obj <<
+/D [5277 0 R /XYZ 90 493.885 null]
+>> endobj
+5203 0 obj <<
+/D [5277 0 R /XYZ 90 422.332 null]
+>> endobj
+5284 0 obj <<
+/D [5277 0 R /XYZ 90 407.762 null]
+>> endobj
+5204 0 obj <<
+/D [5277 0 R /XYZ 90 336.209 null]
+>> endobj
+5285 0 obj <<
+/D [5277 0 R /XYZ 90 321.639 null]
+>> endobj
+5205 0 obj <<
+/D [5277 0 R /XYZ 90 250.086 null]
+>> endobj
+5286 0 obj <<
+/D [5277 0 R /XYZ 90 235.515 null]
+>> endobj
+5206 0 obj <<
+/D [5277 0 R /XYZ 90 163.962 null]
+>> endobj
+5287 0 obj <<
+/D [5277 0 R /XYZ 90 149.392 null]
+>> endobj
+5207 0 obj <<
+/D [5277 0 R /XYZ 90 89.794 null]
+>> endobj
+5276 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5291 0 obj <<
+/Length 1104      
+/Filter /FlateDecode
+>>
+stream
+x��[��F����KkKe�3w#҇��Ji*mڗ�
+ya�Zemb
���
�
�;�E��e׆�\�3��P��z��~
�o4�B*����
����ϼ(�R�_@�({�&��~����YM��wY�m�ë4Y�Y'y�g��W�h�*�۹�0�M��q��3����m�����h�`g��Ds�Mz7�ԛ��o=Jxh��ݪO0��އޟ=z��	U��"	�ʥC���~��Y��Ya��
��,�!YX��K���0p��+>RI����O
-��wqb�l��iYFc��Ӥ���J)m���k��g��>�ż>��׫��?Rʦ�M�I�d�w�LJ݇q��@�	kՉ�a��
�
�
ю�aͪ�y��n˕R��`��{_���?xo�u�T���|��W��|�F�H�!B�n*Y�3ƻ����hb#��� ���9#v�.�>� �R�� H�*)/@��4o"��
�J�q�UK,^���H%�uVB�lP�Ij��q��
��
+�LE�����i��QthT�b�i�$d
k#����n�(��7�B�1
�=
�)���̂D���6���1��>�}X��*���>7�,��
�4��}�\yD�Mc�}ę�ܪ�O򇛻D���P��!��7�o�!��HC6/nȣ�
�lȣ/ҐÊƻ4]�>�
�zU�W�Ҧ��N�>�9�*4�?9�aDH�m��j0�pޤ~{!62��r놃c)*.�p<O �D��4�l��a��Ѧv�y�p�̪�$�m��_=W!2�LO�-��a�i
L���O��u��ԡC1b������4�!� ��=���P&�W�!��!�TL9���5a������V��Ȩ"J�#@��r�呃���T��D�f?|��A��(�����K��i�ō�H��R�4|N"��Y��؁����r(�谷9��Ѳ������6g
I���2$s�}��u�"L��g�!��j;�:N��ݍi�Z_���սi����f?8V��#J��bO�e��L�E�	N�@��V.�~���O��v��[
��?
���r8<>>�銬�x��8,��A+h
���E9��ή�4�����!���g��괅"
+endstream
+endobj
+5290 0 obj <<
+/Type /Page
+/Contents 5291 0 R
+/Resources 5289 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5301 0 R
+/Annots [ 5288 0 R ]
+>> endobj
+5288 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5292 0 obj <<
+/D [5290 0 R /XYZ 90 757.935 null]
+>> endobj
+5293 0 obj <<
+/D [5290 0 R /XYZ 90 733.028 null]
+>> endobj
+5208 0 obj <<
+/D [5290 0 R /XYZ 90 668.747 null]
+>> endobj
+5294 0 obj <<
+/D [5290 0 R /XYZ 90 654.177 null]
+>> endobj
+5209 0 obj <<
+/D [5290 0 R /XYZ 90 582.624 null]
+>> endobj
+5295 0 obj <<
+/D [5290 0 R /XYZ 90 568.054 null]
+>> endobj
+5210 0 obj <<
+/D [5290 0 R /XYZ 90 496.501 null]
+>> endobj
+5296 0 obj <<
+/D [5290 0 R /XYZ 90 481.93 null]
+>> endobj
+5211 0 obj <<
+/D [5290 0 R /XYZ 90 410.377 null]
+>> endobj
+5297 0 obj <<
+/D [5290 0 R /XYZ 90 395.807 null]
+>> endobj
+5238 0 obj <<
+/D [5290 0 R /XYZ 90 324.254 null]
+>> endobj
+5298 0 obj <<
+/D [5290 0 R /XYZ 90 309.684 null]
+>> endobj
+5239 0 obj <<
+/D [5290 0 R /XYZ 90 248.318 null]
+>> endobj
+5299 0 obj <<
+/D [5290 0 R /XYZ 90 233.748 null]
+>> endobj
+5240 0 obj <<
+/D [5290 0 R /XYZ 90 174.15 null]
+>> endobj
+5300 0 obj <<
+/D [5290 0 R /XYZ 90 159.58 null]
+>> endobj
+5241 0 obj <<
+/D [5290 0 R /XYZ 90 101.749 null]
+>> endobj
+5289 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5311 0 obj <<
+/Length 1310      
+/Filter /FlateDecode
+>>
+stream
+xڽW�n�6}�W(�����UcQ`7���i��%	E�c������w$R���v�l�dI&�r���;�v~����|�(��̗N�
�#HP���͘`DBwB0��K��qT���K��q��WrQD����"*���E��U%Yu�/+�v'T��E��z��KY�$�,��Y��1%ܽ�
�8}
;�	D��g‰ף�;�,��G#ήY�v8e�:ף�F�dR�!�CR�R��!pf��ET�E
��!
[��(�<5�ު%=w`��v�-؝p�R�/�
R�
��6
"�;'�ʹ��oל�H��X�6�
���KZC�������o
+�F�\ܩ��묜Ѐ �x���>S;�d�-2]�J�����
+�v
���

 C&�1&��{�Bf�06��	�
`v�(��a	1]BO��ȓ�;a>��h���>^r|��76Ni ���V%��0�]��,}��������=�1_��j
�C�+�덌�(M����x�#F���Z�f
%ϭ
��>Y �9�?��7>r��Q���>N ��甞��*S�o����}E�=��B��C
+� b��(6�4�S���1�qP��Z�~Ͳ`
X%Ve�Վ_��f;Tq!��bM)P*�S
+�הg(��4@
�A���Q�6JCD;M)��ĐR0x�t6���5��Ty�=����
+�	�9v'
���O=a:ɲ� �5�p`<���v����ZfUT%y�>-a��I��N�aX�5��_
eV;�
���׃v���4w���Q}�Ř�r�L7�xR�p΂Z֐h���F�M33l6)Z�
�
+5�TI�a
��������� �C����Uv���a�/�E��}�dq�]H���˵��C��F+����0���=��*/�'LG�y�9[�"�4> ��?��S�ɨ�О�m��]53S�a��
�<�L�:V��t��f�!�>�Bf�
!��x�A�������rݐ��3U�kp��Õו�$�[t�J�ͦRl��3
A�@"B����!Mbe�\?��?l��>��ي���$�C5�Fɂ��D�j��rmӪ
�6�g07��y�&�B�i����M�%�G@��a�5+$�h���,�ޥbh�M���w at 5�_�ڧ�j[JY��HL;ȳto�Z�C�wܓ�C���T7B
�7�
%kx���	���O�^=|�>-B$İ�=ԯ�(�W�����R��=[��9ʶQ���jS�(M���Fj�k)u�*�?���Q�ђ�"��eUU��t���P\�m�l
+�TS����C��
�y��O2��n��>
 �?��VY
+endstream
+endobj
+5310 0 obj <<
+/Type /Page
+/Contents 5311 0 R
+/Resources 5309 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5301 0 R
+/Annots [ 5302 0 R 5303 0 R 5304 0 R 5305 0 R 5308 0 R ]
+>> endobj
+5302 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 240.637 192.544 250.564]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) >>
+>> endobj
+5303 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 158.898 191.737 169.802]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a257775ae01cfcd011aca9bcbccb03da7) >>
+>> endobj
+5304 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 120.044 191.737 130.948]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a50423c4391d0c3064787f19661914973) >>
+>> endobj
+5305 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.075 120.044 262.581 130.948]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5308 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5312 0 obj <<
+/D [5310 0 R /XYZ 90 757.935 null]
+>> endobj
+5313 0 obj <<
+/D [5310 0 R /XYZ 90 733.028 null]
+>> endobj
+5242 0 obj <<
+/D [5310 0 R /XYZ 90 680.702 null]
+>> endobj
+5314 0 obj <<
+/D [5310 0 R /XYZ 90 666.132 null]
+>> endobj
+5243 0 obj <<
+/D [5310 0 R /XYZ 90 592.812 null]
+>> endobj
+5315 0 obj <<
+/D [5310 0 R /XYZ 90 578.241 null]
+>> endobj
+5244 0 obj <<
+/D [5310 0 R /XYZ 90 518.644 null]
+>> endobj
+5316 0 obj <<
+/D [5310 0 R /XYZ 90 504.073 null]
+>> endobj
+1400 0 obj <<
+/D [5310 0 R /XYZ 90 381.331 null]
+>> endobj
+210 0 obj <<
+/D [5310 0 R /XYZ 90 374.731 null]
+>> endobj
+5317 0 obj <<
+/D [5310 0 R /XYZ 90 258.634 null]
+>> endobj
+5318 0 obj <<
+/D [5310 0 R /XYZ 90 177.872 null]
+>> endobj
+5319 0 obj <<
+/D [5310 0 R /XYZ 90 177.872 null]
+>> endobj
+5320 0 obj <<
+/D [5310 0 R /XYZ 90 139.137 null]
+>> endobj
+5309 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F79 505 0 R /F97 1188 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5349 0 obj <<
+/Length 1466      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~���S&3MR�.Y��fk��Ьɰ��0�q��VJN��#QW[���q1�O�-�<�;߹��X�x5yq9��t��#ߡ�qym��p
�%�eh|4	Fğ���<�lr����b3��oD��❼R\ݟ���I^(.�bqq�"��(��Y��\?�k���3E�rY�
�6�|�f����넀`� � �E�Ō �|����c`d��qW͊
�Z����\+���1��
��-�p���ô��(��wߗ��e-ȇW�㌁����?�I���0�A9�~9�V�I�,ժDa�Z'�2��Țx�	��
ts�R7J�cScFl�۶V��JFa�<׏�g� md�l~gR�������^���d�N�I)������ ���A�j_OHJ
�MA��u:�7������l��k��2�{5�\3�	8Wk�vT�
+�܉�}q�w���K�nَ�������`'p`�k�<����L��?ġ`yz�l�U�	�A�ߟ����a��<��$I1mŞf�cұ�=� G.�dQ�gb�7U�8��˭<���{�� ��J�Y�=�v�����X��[��$�Ҽ�ٕ�<����\��[#Q�Fn����cA�B
@���.b֎(][�*M��t�����|�c�M�,(��iP��=���f�lshX�8���
�F�g��
`��
u�o2{R3�!W�VyF
�� �T�
�$ߏ�Q�߬� d�A���OB
���{2z���m�q�p;G�Hp�تb�qZv?�M�ˣh-^�a���VS��i�u�fe�$�J��r�Z
+)R�ćϾ{Y�%Tq�
+f��~�%_W­51C���
� �s��:�^�o��5Zln�9��Zɂ�-��X�k�d����m��n���+���1,oÔ�L�P�{���#l(�8� �3��
�!��&L�
ë���-�v�^�R��<Zmn�^�ߔʲ��m��&^�L����U�����"`J��dRWo� ��\�����f�`L����5IZh!+��
ƾk� ����(����e;`P�Kf#��z����
��D�+���|��?;=��5�/��
�߿}b��nDP+_��f�!Ɔʆ+�۲�
+`^ȼt�}ރ�����x
H�Wq�T�YZ�'o�ʑ
hC�Ԟ�Exz��*��6��T}~q���
j�3��t&E�Pd$�
����9 �1��֭pN!Y^w
+'��
f_����"��ci����gh����
�?��7:�ƿsU5�c%���c��匏(����xs��q�
���FG�/>TIV˛g��n�ldu%���c�=P.�n�<���r�����oO
����isY� ߅R�31V�ɗ�U9�⺝=o�����.X��Z�_���u\��'+^��R��r)��
h�H���j�
���Z�/F3z[� �IK<��ۺ�MQd�����

+r�Jd��,�Y����L��n��{'bm� �U�B���ɑ��
+endstream
+endobj
+5348 0 obj <<
+/Type /Page
+/Contents 5349 0 R
+/Resources 5347 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5301 0 R
+/Annots [ 5306 0 R 5307 0 R 5321 0 R 5322 0 R 5323 0 R 5324 0 R 5325 0 R 5326 0 R 5327 0 R 5328 0 R 5329 0 R 5330 0 R 5331 0 R 5332 0 R 5333 0 R 5334 0 R 5335 0 R 5336 0 R 5337 0 R 5338 0 R 5339 0 R 5340 0 R 5341 0 R 5342 0 R 5343 0 R 5344 0 R 5346 0 R ]
+>> endobj
+5306 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 719.912 191.737 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a61e02a6ed1b9dd0d6d306d76f5da55a2) >>
+>> endobj
+5307 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.075 719.912 303.527 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+5321 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 681.058 191.737 691.962]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a92333180e0163e9c87f2220dceef012d) >>
+>> endobj
+5322 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.075 681.058 296.902 691.962]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+5323 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 642.204 199.486 653.108]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a964e4bcbbfde58f43977d0a8e686ec35) >>
+>> endobj
+5324 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 603.349 191.737 614.253]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+5325 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.477 603.349 243.284 614.253]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_adfa7b03e2ac3a6666a7538431f1bdee9) >>
+>> endobj
+5326 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.621 603.349 348.448 614.253]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+5327 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 564.495 179.554 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+5328 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 564.495 250.666 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a809a4546135123a08f12c0a65fb22241) >>
+>> endobj
+5329 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 525.641 192.554 536.545]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a5fbb0274f3a0a91ad283aef6e608909a) >>
+>> endobj
+5330 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 486.786 225.211 497.69]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a6aec148aa41935a4072c64a43c51c577) >>
+>> endobj
+5331 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 448.306 155.265 458.836]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a3410a53827de9155ac7d6cbd84263364) >>
+>> endobj
+5332 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 409.451 158.044 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a8388d0d6d7ff68c627d516ec17f56b4c) >>
+>> endobj
+5333 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.382 409.451 228.888 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5334 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 370.224 161.013 381.128]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a314eb5fed86c6bbe4a7223ca8362f0a9) >>
+>> endobj
+5335 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 331.369 195.165 342.273]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a1097cf7cb41f29a02ba271abd2f00f5e) >>
+>> endobj
+5336 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.181 316.749 225.851 326.654]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) >>
+>> endobj
+5337 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.148 305.79 227.817 315.695]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) >>
+>> endobj
+5338 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 281.93 187.563 292.46]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_acd7d1ed2a688f0c6af96e1cff336f933) >>
+>> endobj
+5339 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.482 266.935 271.151 276.841]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) >>
+>> endobj
+5340 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 243.075 150.493 253.606]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_ad350b84c25b7c37693d2e7a08d3165ca) >>
+>> endobj
+5341 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 203.848 181.845 214.751]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a5cebd3d6d6ec070c47682e77b0248f22) >>
+>> endobj
+5342 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 164.993 181.845 175.897]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a67f95ed6867827f03a6af0a7334376e3) >>
+>> endobj
+5343 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 126.139 154.727 137.043]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a2552e7a194f5fb0d591bafb591b91968) >>
+>> endobj
+5344 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 87.658 176.505 98.189]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a5a79ce2b52efebd42da2736164a043ad) >>
+>> endobj
+5346 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5350 0 obj <<
+/D [5348 0 R /XYZ 90 757.935 null]
+>> endobj
+5351 0 obj <<
+/D [5348 0 R /XYZ 90 733.028 null]
+>> endobj
+5352 0 obj <<
+/D [5348 0 R /XYZ 90 700.151 null]
+>> endobj
+5353 0 obj <<
+/D [5348 0 R /XYZ 90 661.297 null]
+>> endobj
+5354 0 obj <<
+/D [5348 0 R /XYZ 90 622.443 null]
+>> endobj
+5355 0 obj <<
+/D [5348 0 R /XYZ 90 583.588 null]
+>> endobj
+5356 0 obj <<
+/D [5348 0 R /XYZ 90 544.734 null]
+>> endobj
+5357 0 obj <<
+/D [5348 0 R /XYZ 90 505.88 null]
+>> endobj
+5358 0 obj <<
+/D [5348 0 R /XYZ 90 467.026 null]
+>> endobj
+5359 0 obj <<
+/D [5348 0 R /XYZ 90 428.171 null]
+>> endobj
+5360 0 obj <<
+/D [5348 0 R /XYZ 90 389.317 null]
+>> endobj
+5361 0 obj <<
+/D [5348 0 R /XYZ 90 350.463 null]
+>> endobj
+5362 0 obj <<
+/D [5348 0 R /XYZ 90 300.649 null]
+>> endobj
+5363 0 obj <<
+/D [5348 0 R /XYZ 90 261.795 null]
+>> endobj
+5364 0 obj <<
+/D [5348 0 R /XYZ 90 222.941 null]
+>> endobj
+5365 0 obj <<
+/D [5348 0 R /XYZ 90 184.087 null]
+>> endobj
+5366 0 obj <<
+/D [5348 0 R /XYZ 90 145.232 null]
+>> endobj
+5367 0 obj <<
+/D [5348 0 R /XYZ 90 106.378 null]
+>> endobj
+5347 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F23 368 0 R /F107 2332 0 R /F106 2337 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5395 0 obj <<
+/Length 1476      
+/Filter /FlateDecode
+>>
+stream
+x��XIs�6��W��J3�Mrh3u&iҺ�{J2��,N��#+���H-�hڕ3�� <��}o�ugA��藛��҃V ����
+�������<F�`2E����1-S���`8�E%]~�oKZn��yV��_.�g�d�	
�MhU��5[�r��1�B&�b�1r'_o>�~��3BB1h!��g+LG��B+�?X؁omԬ�r�-����9�ƨ�62�|a��H# �-� �D�1��T�E�U9q�8O�R����[�� 9rK���3d
�q;�fZ�ϋ����!
���B?*�q���L�	�F�B+�!��ۭBI�S���ߍ��J2��8^FuZH9���\С6������P�ddi�����iiU+ƍ��`C�k����p�f_�]`Mm"KxH`P
�\�
��]��2������̪��< 1j�+kֱ��[8w3)^i���0dU���W]f��GZ[W4�:%�/Z�9_�r��H�����svIܽ�b��1�A`b�
��HH�
�)K�r����lɷ{|���&K�6Ζ�[Ϊ#�P�_?o�hg�!8�
; p
mSäV`�&;M
+�=�3��j�a� [...]
ٲ]ݛ
��qZ��Qi194D��~����t�����\��'yN�6����C��v�B<�b
�Df� �}+���Pv����!��^
�K�n�ً@1
�����֏%�~�Y���^����ؕl�o��;$
+˹0JL0�?K�O���\��L�0ըw18��ꐨS��h�e̲�l��6ϓ~󂕔��7�H�1W�ޝ�/�_
��G$m��1
�
�ɳ�v�,۸�Χ��f�>n����s����\u5�)P_�!���>��Mͨ0`+��6&
��
6&�,���:�#߅�m
`;AӘ�{�[
)ou��GZ�A��Ao��U�x�m�@�G�
s�������4�h?>�@�L�~��
��Fu�Ze�J��̹;����4��168
�?j^Ԇ
	�ʐ
���56��p�C��E��b�R����!W�]�\w� ؝�L����J�Hsg8x���G�&��CV
�F�#aQ�ڣ�r�j�Q>��;��W
_ȺB
��Ǫ{W�O.<��r��4y��y-蓃*c^
��寊�?�A�Z|�Y�\I��&E�rwH�I��
�5ݣ��o��&Y�{�"_�굙b�y1��6�
+PgqQ��ϊ"�=L!{R���Unrc������k�C:��v Ǽ
+endstream
+endobj
+5394 0 obj <<
+/Type /Page
+/Contents 5395 0 R
+/Resources 5393 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5301 0 R
+/Annots [ 5345 0 R 5368 0 R 5369 0 R 5370 0 R 5371 0 R 5372 0 R 5373 0 R 5374 0 R 5375 0 R 5376 0 R 5377 0 R 5378 0 R 5379 0 R 5380 0 R 5381 0 R 5382 0 R 5383 0 R 5384 0 R 5385 0 R 5386 0 R 5387 0 R 5388 0 R 5389 0 R 5407 0 R 5392 0 R ]
+>> endobj
+5345 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 720.235 450.955 730.141]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a67f95ed6867827f03a6af0a7334376e3) >>
+>> endobj
+5368 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 685.043 191.718 695.947]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+5369 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 685.043 288.852 695.947]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a2b451e6b09162c7c19b0a2ad36545c69) >>
+>> endobj
+5370 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 646.189 191.718 657.093]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+5371 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 646.189 303.079 657.093]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a78a4d5f5e4702a16d6aae656293ec7ad) >>
+>> endobj
+5372 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 607.334 156.281 618.238]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_ac92d2324f8ddea454926272e5ccc6dad) >>
+>> endobj
+5373 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 607.334 237.924 618.238]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+5374 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 526.572 203.075 537.476]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+5375 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 526.572 296.324 537.476]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_ac3223cf8c7d19b02b5e3c04038024b47) >>
+>> endobj
+5376 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.005 511.951 346.612 521.856]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+5377 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 488.091 194.297 498.622]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a70e9ad42674d62ed9bd73268e3af7064) >>
+>> endobj
+5378 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 449.237 188.759 459.767]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_aea9a4fb9807eb61cda3eedf8e5a7acae) >>
+>> endobj
+5379 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.953 410.009 238.78 420.913]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+5380 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.52 410.009 319.029 420.913]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a6293b813e42a59a9795cafe0efa762cc) >>
+>> endobj
+5381 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [290.965 395.388 397.522 405.294]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a2935fff040a5b31930fff594a0b2596d) >>
+>> endobj
+5382 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 329.247 180.54 340.15]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_af882ff84afd3c2507e17ffa62ffd20a0) >>
+>> endobj
+5383 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 329.247 255.807 340.15]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+5384 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.54 329.247 345.47 340.15]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+5385 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 221.205 226.034 232.109]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_add9738866968b13e938d5669dd94a55e) >>
+>> endobj
+5386 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 221.205 399.003 232.109]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+5387 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.398 182.351 171.764 193.255]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a3badc2f43376aa26f481af4800a3515b) >>
+>> endobj
+5388 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.063 182.351 379.972 193.255]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+5389 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.021 182.351 513.996 193.255]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+5407 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 170.396 227.154 181.3]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+5392 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5396 0 obj <<
+/D [5394 0 R /XYZ 90 757.935 null]
+>> endobj
+5397 0 obj <<
+/D [5394 0 R /XYZ 90 704.136 null]
+>> endobj
+5398 0 obj <<
+/D [5394 0 R /XYZ 90 665.282 null]
+>> endobj
+5399 0 obj <<
+/D [5394 0 R /XYZ 90 626.428 null]
+>> endobj
+5400 0 obj <<
+/D [5394 0 R /XYZ 90 545.546 null]
+>> endobj
+5401 0 obj <<
+/D [5394 0 R /XYZ 90 545.546 null]
+>> endobj
+5402 0 obj <<
+/D [5394 0 R /XYZ 90 506.811 null]
+>> endobj
+5403 0 obj <<
+/D [5394 0 R /XYZ 90 467.957 null]
+>> endobj
+5404 0 obj <<
+/D [5394 0 R /XYZ 90 429.102 null]
+>> endobj
+5405 0 obj <<
+/D [5394 0 R /XYZ 90 348.22 null]
+>> endobj
+5406 0 obj <<
+/D [5394 0 R /XYZ 90 267.458 null]
+>> endobj
+5393 0 obj <<
+/Font << /F70 402 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F56 367 0 R /F11 446 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5414 0 obj <<
+/Length 2025      
+/Filter /FlateDecode
+>>
+stream
+x��XY�۸~�_����X��9�N�w����(Ǟ$^�
�6<d����ӍxH
{�/�/�������;/�~������Ux9˓0�nw^
xi�Y
r����<`<_�y��|�V���U�Myګ����7�lO77�7u׷R������W�j
Ɓ�})���o�N�+����*$��t�����n�>^q`,�a$NY*bo[]�{x���L�wovU^
+�/��W��
+>+T(X����b�T�ԥ*�×�۶���F��_�ɄR�È�('B/�
���	�Z���v�E�Vk���i������|w�W���j����Y}����{g�\j����	���I�g���ќ�p�}b�N&�f��a�VDzם����s��V��T[���$&I&|I&83�t&��ʋ�?{U5]w��u}G�M����_�:I�"%`���Z�
+]��+�c�Ut@
����^/	��ey"G��/G mݦk���ޮ���R4��
+���n5�

+�s�����8$+;����hZ��ⲙF�r�-.<P.�\���~�u��du(��݊��7��X9
G-|Z�'�Zn�	�4��Re1�d8xX���EI�6ȺX���,Mݞ��<�Zie�5e� ���͢���)�Ӏ#q+H�FR��-��b��	D���A
�ÿq��O��������SX[�
���P��J$?;>S	�X��s>���3���4㾅]� �uY8�_z��%��6m��CSᾙ��x

�-
>a\���k���:���AD�;R���,�V�p�%"���㦧�Z@��᙭2r�͌�@�cbh���������,
��
��n:}�M��n:S&��Vt�0Ȉ�?�
�(Dj��f��2A��s�gз�
!*fO���X������-��� ���?�6��0
Ƌ0�ۮ����%��,@��7�(�K"W�:Ga�ZUF��{}e3��Y�s��|A����x簗=�z�.�g�%ψ
�>���d4H���P�^/��'���	-�|�yTȣ [...]
+�%
+���������O��K^��s/�����
&PƄ�U�G��"��9ߣ$��6
�c<=��I
+}�
f,������Pb�3%��J�
��

+:󅎆�3G�óS�t
�C]�DC�2�i�uCw j�t�6������S��"c0�
+C�An��7��;/њ�)0��Q`
+�f�aj�h�U+jL��T��Vg�~�j��O��*-�E�yIY�����,U��$X����
�0 N�)�`�xƲ>t��.�p���C��B�X��g{��t-
��
\�|%O����\3�j���-��ܙ�eƂ�cx�

�K�4�8��)
[�&~q<�z+{kS��F
x�
�3,��b�>
+�1g_=%<"d�j�mSm`�����2k�YD�9B�b���Qh{G��sj�/��u�J9t^
�m?<_6[(��^��yK���S����xs 7����s�F��q�:9frڙ�>���$��:gq6� �-(��,���K��
Dʢ�}ޣcQ0��p�L4e�h������/B��P
��k��ߨ���Km!X4�׷G�@Rf
�im3���ƌs/X��"�X(�ߨѱ�,:X�55#��>�#��I�j����%G�2b4ɲXy&� V�D
~^�	S�������4w�5M�%�
8
��5nMu��3}<�T �6��<$�o:+�*=�
+n��N�[:'���Nc HJ�ߝ,�%�\�+\'�5^���3��9��Fx��޸�����H�"����5B56��S}�V?}�
^\űo�����
��=c%
�f�Z�Ӆ�V��
��_ύ�J/Ƒ[�����7�����

d�ZZ���á��|-M�p�^����V��o��ʀ����r�
+endstream
+endobj
+5413 0 obj <<
+/Type /Page
+/Contents 5414 0 R
+/Resources 5412 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5301 0 R
+/Annots [ 5390 0 R 5391 0 R 5411 0 R ]
+>> endobj
+5390 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.664 695.563 352.491 706.467]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+5391 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.585 683.608 222.091 694.512]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+5411 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5415 0 obj <<
+/D [5413 0 R /XYZ 90 757.935 null]
+>> endobj
+5416 0 obj <<
+/D [5413 0 R /XYZ 90 733.028 null]
+>> endobj
+5417 0 obj <<
+/D [5413 0 R /XYZ 90 200.811 null]
+>> endobj
+5408 0 obj <<
+/D [5413 0 R /XYZ 90 178.499 null]
+>> endobj
+5418 0 obj <<
+/D [5413 0 R /XYZ 90 178.499 null]
+>> endobj
+5409 0 obj <<
+/D [5413 0 R /XYZ 170.288 89.441 null]
+>> endobj
+5412 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R /F31 506 0 R /F7 541 0 R /F8 540 0 R /F79 505 0 R /F100 1390 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5426 0 obj <<
+/Length 1627      
+/Filter /FlateDecode
+>>
+stream
+xڵX�n�F}�W)�R@��+/F���M��A\[E���ŵE�����_�Y�E$E�i�>�\�����93+�=x��y��rv�6�^����ދ�	J�e���#��
�1�/��I]$��s��*߯eZ'��fwuR����Te��IV���L��6����廳���P����x�E~(�,���|A�/�:FP����j{�'M��-�1�e�ɓV�+y/�9�|Y��<dا$R*g?-g͔�.N"D!ު��|�^
+��<�X
y�N��8e�{׳�f�d�)C8.�$FQ��M��+�l�VR��!���?�F�I[�q!����(O�9B��V�#�k��'Mj#��"�P(�UѼ��BP̝#+U%Z�`n��M+O�!����Y5S����C�&ޓZ0
���[(DŽ��M-U����w�1��Æ��
��f��qY�GJ�� !
+���G��ҺL�X�>d���r�>

ݹ��	=p�QpJG�
�� �4����ñ��]�z�5���ӎw��Är�cw�)�������Ձ-�B�WS�
+	œ�>�΢1~'y���h/�ݺ�S��X��fN|�IjUz�n�%rAc�b��~��0��M�!�Q������Q�h��ƹ�쒍~��
��0���0	
�8z�{
+��:p0!�K�P1��B�ȑ�~‹q,�/��I��؍�P{���,ɳ&ѨpN��eł]~��C

cI�yH/A@��/צ���j[ȲM���-�ct�:3
iuhN�.���A����YW��*��<ץ��z�#�4��]����#�,��$bn�M�J�,��f�����JW�k�0�T�7� �=S
�	
�
=x#�y��ya����)����&j'��N8�0�D8�GZ��ib�F��HpHGЕl�L�h��1Ke3J|�׽�]W�Q��~�/�J��Y�*� �me�V���U�M���1ū):G�!���NtE�85�-�q@�h/�wy���y/�;i�v[v�i%>�"v;��
��3^9�<Y�}DiH
+l���ֺ��-� �6ř�
+�3B�V�.my�ls�3�B����i�H�^X�0{��4<v����M�Ԩ:�mW���_�&��ToV�ׄ�1�����.J�,�HQS['�Z�8�4�v4:��N�;)��4���H���Zc�)+���	�Q�s��_jP�oT��Q�c|3����!"X�� b�˅l�,��l��lcO�8�O����MpM�pHN�EAk�Y&�J7ԓn4
�����&�3�T�\���������:uZ����
g�/�����"�}���
��p����[�S�ϩu���s�[%c���>�$l�[�i�P�ݡv�:���]�z!�6�����R�
�M��m�ۿ���'.;R�aK��u�d��
CL8fP�e[+�2I��`]
޴��J5����]&���w��Q���H�����#Ո
+u�
����J <B���G��'�,P�}d�I1\��
���H̫�~5(�/�7��A]�ͩ�'�6���*Y7��(�*rT9�^K�r}�?=��ˬ��ޒ����ƺm7�gg����-�M���
���㹥��6<����UmN���Xt׎���
�
?
+endstream
+endobj
+5425 0 obj <<
+/Type /Page
+/Contents 5426 0 R
+/Resources 5424 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5301 0 R
+/Annots [ 5419 0 R 5420 0 R 5421 0 R 5422 0 R 5423 0 R ]
+>> endobj
+5419 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 362.467 207.229 372.998]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction_a87f25b7a2988f918a20b3d09047b08ab) >>
+>> endobj
+5420 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 323.24 197.875 334.144]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction_a383574ff4028da9048235b061a613b99) >>
+>> endobj
+5421 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 284.759 214.978 295.289]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction_a898fefd81641cf4f6b854e85412a415c) >>
+>> endobj
+5422 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.844 153.679 289.265 164.583]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+5423 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5427 0 obj <<
+/D [5425 0 R /XYZ 90 757.935 null]
+>> endobj
+5428 0 obj <<
+/D [5425 0 R /XYZ 90 733.028 null]
+>> endobj
+5410 0 obj <<
+/D [5425 0 R /XYZ 108.69 639.557 null]
+>> endobj
+5429 0 obj <<
+/D [5425 0 R /XYZ 90 623.547 null]
+>> endobj
+1401 0 obj <<
+/D [5425 0 R /XYZ 90 500.088 null]
+>> endobj
+214 0 obj <<
+/D [5425 0 R /XYZ 90 493.488 null]
+>> endobj
+5430 0 obj <<
+/D [5425 0 R /XYZ 90 381.068 null]
+>> endobj
+5431 0 obj <<
+/D [5425 0 R /XYZ 90 381.068 null]
+>> endobj
+5432 0 obj <<
+/D [5425 0 R /XYZ 90 303.479 null]
+>> endobj
+5433 0 obj <<
+/D [5425 0 R /XYZ 90 247.065 null]
+>> endobj
+5434 0 obj <<
+/D [5425 0 R /XYZ 90 184.678 null]
+>> endobj
+5424 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F21 2359 0 R /F79 505 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5452 0 obj <<
+/Length 1999      
+/Filter /FlateDecode
+>>
+stream
+x��Y�n�F}�W(�R@��;I�(��IдM��E���ɵ�V"���~}g/����EP����rv���
��{/O.'��E(�Tz�^��@$(�.R�O0�d�"c�|I�W���|I�_lk�V��O�UW���3ըj��q���/^�<'d ��a
��F�v��t}o7��yv1'&@
��HaQ���&���
+�_,#�m��
+�;�յ��$�U��-N�Si��g�
b�G
."@^�]�}����0bQ��ͮ��)�ύ�f��߉1eK�c
���
+t2�=��I���:+��V�Mln�� E9b<	B����(��X����;�C��x
1N�3�?��
|H�7K��H���p�9���0'w�� �i�㣎�"K��c1�2x�H�b
+
�"�����i��MgyS_�V�.i����B��H�
�3PЀΛ�(����֧��	�B+xi��:be��/W�	�*C��;�1dHݡ)(8cD�Bٝ
��GC�e��)���� ��|З��B7� 1Ȗ���{/�.-��Q�F�y�\���pYr�.�u\e��W��+�$4�Qi��=5j�	0�t�@5-�f����m��5��]��
`nՀk{<d�7�F�Dv �!΂��s�v���Vd���zM1#�KD�h��ۂ����td�E2�"�@��c b��
$J{�`= 鶦Aap��D� �E ��p�{��ʻ-J&��i*[����$��Nxڂ�M*r�f�<
mw�����%��,uO�N�0�z�l9��8��E3ؠ�7�"�9�}�˱ �4"��=\�u�+{ۯKW=
'��_g�R֚gX��
^��;
+�h��h�S�:zC����\��ӦH��#ܯAn�sU_����V�$ ����@�Z��(��wqcW��Lb'
���)�<k��54��<m��s�3c��J_�CSU�@X�g�R#��Ⱦ۱-����H��� �A{�²���ѓ�/�[��E��������:�g�!)�ܧ��}����ӻ�:�#�j:���8�e�o��f�>��Mָ��
+�������I^N]˨��
�G�U_λ�3[h
�%�U��[j��t$`���ET��Κv{��
�1H�
��3��0	ԣ�{9��i� Á�C�OLM�x����ȕ�]+��n�.�OD��X9�9�9��?�BwK$E �H@���tD��
��vCo��fo at w7*��h�c�s]l6Œ
+�q%�
tM%'����WD-��TLSX��Q��^w���uqb�0hڭ��n���tp �)��X9�C�����r,�A��m�~T�-����-�+���#I4�0� $
b'�2��9Ï!�C��󝉲��WqY�1r�!���6k]Q%GJM,l���Y�U�썆lT�9���t�	��Z��/p��/ӌ�0����� ��8?QNUĠ_KWR+2ˏ��ө49�>�o���$Nm9���	��*˓�.��CAt+��!n��aP��%�WQ ���*A��;�]m��f����Zk�r � zپn�S0�SE�jF��T�͝��!�[)@N�#ua�
+�J1��0�H`UV!��f��l'ə�A
���-���8�:�[����_���w��{ǐY��� ��0Y�DVuY�iW75�
�֮�F�P-(���r��ҭ�"
��m��Ղ�A!������S��<�f��.�tE`*�QR�#�/�Hے���W�9�P!pG��z��PN�y
f8@�/��j�[֝
���W���.����D=Cx���^��
��
)��η�a�z��t����~ P����%���;��
ku�O@�S�VL'Tp�}�Gd��
M7��'̏`�DQ =��(!"$��U��4������ґt{�[����B�.q��~?�B�Q����k0"D�,�~�ZT�]z��Dž�Z��$�����MS�����{��h�ge���H��m"3��( �w�)k[T��,�/��$6v���B��
+endstream
+endobj
+5451 0 obj <<
+/Type /Page
+/Contents 5452 0 R
+/Resources 5450 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5462 0 R
+/Annots [ 5436 0 R 5437 0 R 5438 0 R 5439 0 R 5440 0 R 5441 0 R 5442 0 R 5443 0 R 5444 0 R 5445 0 R 5446 0 R 5449 0 R ]
+>> endobj
+5436 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.512 564.234 179.766 575.138]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+5437 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.977 564.234 329.907 575.138]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+5438 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 355.017 123.644 365.921]
+/Subtype /Link
+/A << /S /GoTo /D (main_Bag98) >>
+>> endobj
+5439 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 260.615 176.332 271.519]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a589dd33f61bab61ce8dc566ae3955aa6) >>
+>> endobj
+5440 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 223.753 176.332 234.657]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_ad353ea3809ab22bb775fc17e65b6ab94) >>
+>> endobj
+5441 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.669 223.753 281.496 234.657]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+5442 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 186.891 176.332 197.795]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_afa57568993488dd0803021cbaa06f3fa) >>
+>> endobj
+5443 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.669 186.891 288.122 197.795]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+5444 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 150.03 176.332 160.934]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a5fc66875bf8b6a2838028fc66ce3f2be) >>
+>> endobj
+5445 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.669 150.03 254.906 160.934]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+5446 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 113.542 184.081 124.072]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a92fe35a10fee9c27d0958a9d4a3b5bf4) >>
+>> endobj
+5449 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5453 0 obj <<
+/D [5451 0 R /XYZ 90 757.935 null]
+>> endobj
+5454 0 obj <<
+/D [5451 0 R /XYZ 90 733.028 null]
+>> endobj
+5435 0 obj <<
+/D [5451 0 R /XYZ 90 716.221 null]
+>> endobj
+5455 0 obj <<
+/D [5451 0 R /XYZ 90 716.221 null]
+>> endobj
+1402 0 obj <<
+/D [5451 0 R /XYZ 90 432.482 null]
+>> endobj
+218 0 obj <<
+/D [5451 0 R /XYZ 90 425.882 null]
+>> endobj
+5456 0 obj <<
+/D [5451 0 R /XYZ 90 301.507 null]
+>> endobj
+5457 0 obj <<
+/D [5451 0 R /XYZ 90 277.596 null]
+>> endobj
+5458 0 obj <<
+/D [5451 0 R /XYZ 90 240.854 null]
+>> endobj
+5459 0 obj <<
+/D [5451 0 R /XYZ 90 203.992 null]
+>> endobj
+5460 0 obj <<
+/D [5451 0 R /XYZ 90 167.13 null]
+>> endobj
+5461 0 obj <<
+/D [5451 0 R /XYZ 90 130.269 null]
+>> endobj
+5450 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F21 2359 0 R /F79 505 0 R /F97 1188 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5492 0 obj <<
+/Length 1546      
+/Filter /FlateDecode
+>>
+stream
+x��YIo�F��W��T�Ѭ
�H�I\ m7V�C�8���KH*����f�I4�%����#r��-�[[7�~�:��%�<�9Ա&3�Öt�X��z7$Qb��xxa<�ȿ��)
&�խ
+2���:����
U�,
+c�P��ɫ�9!k�)v�.
l(?-�l��O����˗�>2q,�M϶Pa^�����s{D
Nl�U��5���[5S�Mܡ���SI��bMt�r2�4 @[��EH$������l�����\kivE�
�ϭ��_\�����	�HfI�vD��k]k���E<-�$��(n��\��W�"	�٪~]	�"��0.�/�*Rqa�9�
g�
���F� �Ȓ�����O�w#H�l��;�����[�K��HS�]]'�8��7q����

<ي��:��Ry�:d�M+��,�t��E'��� �F�_
w�z�
+u���3�"ש1�
cVn���p����m�W��8�!p�vSe+��riV.�Y+R�
��<�?z��
�ٳ�"k�F����
�‚��)0)U|�
�i%������� #.F�'N	���?�<��0����=H�l&�*_�[���b_�@T�S1V�Y��m�=�8� xrB�� 
�NJ?��w����|K��;�2.�T)�v��g]�6J��G��%�X(����,vC��%�v["M¸�U�
�߂���Xd5������~��T�:7�g]~��
+1U��Ǻ~�ұ��i���lʽhQ4���q�"�-8{Tg�
ȇFKy���R��4����nK'P��E����ӥi��m"���q��4�v�����m
+������r�y_����}�=&��$o�aֈSDDUγP�A���v��
�=��:I�:�}xNg�BANwF�)��teېF �ygH��̓/U;�$
F�D��}�4�
�H#F�� ��J|3c݅7È�ƙ�l���aUk��4!�W#�p����q�/=����7W-�m��i��{s?�V������i�,�q��I�.
��	���	!���7x��
b�{pLߏo���D�� s�sb"�w�l|3 ��;l�����L�� ɠ��
�m�t=��s����
1���I��s�1y��ϪE��\�������2�I�	o[eg��ȓ���t�
������}�z�/o�;
$ܶbZ�����u�
��!!�.G�`z]�AN�f_^ggI^dʏ�c
+�
W���c�??}��x�ݍF�����$�1„=xp=8$Qt��͘�fQ���+;�b�����"|�E0�[-xI�tZ��t��6,R�n�ыE�6!l�"
����^2:�oW
��W���p�A�{�u}+��x��=�€@�d�	/S5
�y���+��e~��e	�q�D
3w/�
 �
x7m�A!�xUy�/<$�;�K���������ʼ叿s��h
1����x�����I�,�W��&��lh���R��(��hիߵ�����ٷE������Ms���4Ca1N���n�Z��癤A�,�R�ԕA���
�7������K
+endstream
+endobj
+5491 0 obj <<
+/Type /Page
+/Contents 5492 0 R
+/Resources 5490 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5462 0 R
+/Annots [ 5447 0 R 5448 0 R 5463 0 R 5464 0 R 5465 0 R 5466 0 R 5467 0 R 5468 0 R 5469 0 R 5470 0 R 5471 0 R 5472 0 R 5473 0 R 5474 0 R 5475 0 R 5476 0 R 5477 0 R 5478 0 R 5479 0 R 5480 0 R 5481 0 R 5482 0 R 5483 0 R 5484 0 R 5485 0 R 5486 0 R 5504 0 R 5489 0 R ]
+>> endobj
+5447 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 697.994 229.552 708.898]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_ae04186768b7847971b787e23badc4682) >>
+>> endobj
+5448 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.89 697.994 308.127 708.898]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+5463 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 661.133 196.347 672.037]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_ad97c1aed499bc56468b3ab250b235b38) >>
+>> endobj
+5464 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.684 661.133 274.921 672.037]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+5465 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 624.271 220.038 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a079249fd8d7a54f2b876c1cecd42ab77) >>
+>> endobj
+5466 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.375 624.271 298.612 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+5467 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 587.409 224.003 598.313]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_ad35fd6a6bd2b3ddf76f6a85e33ada2cd) >>
+>> endobj
+5468 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.34 587.409 302.577 598.313]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+5469 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.695 573.785 272.49 583.69]
+/Subtype /Link
+/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
+>> endobj
+5470 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.08 550.547 194.623 561.451]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a775560d42dce1a47cd1cdedafb46d0fc) >>
+>> endobj
+5471 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 502.727 176.332 513.631]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+5472 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [187.071 502.727 227.878 513.631]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a0aec62be016edf40df1aeab68610290d) >>
+>> endobj
+5473 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.215 502.727 306.452 513.631]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+5474 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 465.865 167.466 476.769]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_abe00577479ebd726359fe57e7005d412) >>
+>> endobj
+5475 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.281 465.865 222.518 476.769]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+5476 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 387.095 180.54 397.999]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a84957b848ff686880af9d36337dcaf94) >>
+>> endobj
+5477 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 387.095 259.114 397.999]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+5478 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.579 387.095 395.816 397.999]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+5479 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 348.241 178.239 359.145]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a0faddc05083260bac541ab1a8248c74e) >>
+>> endobj
+5480 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 348.241 256.813 359.145]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+5481 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [342.277 348.241 393.515 359.145]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+5482 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 228.244 226.034 239.148]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a0861f18ccca1904bf9286f202c5b2648) >>
+>> endobj
+5483 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.301 228.244 368.538 239.148]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+5484 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.702 177.435 164.068 188.339]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a61f92a8e4bf29b1d20c3091cf7b4cec9) >>
+>> endobj
+5485 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.671 177.435 337.99 188.339]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+5486 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.021 177.435 513.996 188.339]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+5504 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 165.48 200.564 176.384]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+5489 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5493 0 obj <<
+/D [5491 0 R /XYZ 90 757.935 null]
+>> endobj
+5494 0 obj <<
+/D [5491 0 R /XYZ 90 713.073 null]
+>> endobj
+5495 0 obj <<
+/D [5491 0 R /XYZ 90 678.233 null]
+>> endobj
+5496 0 obj <<
+/D [5491 0 R /XYZ 90 641.372 null]
+>> endobj
+5497 0 obj <<
+/D [5491 0 R /XYZ 90 604.51 null]
+>> endobj
+5498 0 obj <<
+/D [5491 0 R /XYZ 90 567.648 null]
+>> endobj
+5499 0 obj <<
+/D [5491 0 R /XYZ 90 530.786 null]
+>> endobj
+5500 0 obj <<
+/D [5491 0 R /XYZ 90 518.044 null]
+>> endobj
+5501 0 obj <<
+/D [5491 0 R /XYZ 90 482.966 null]
+>> endobj
+5502 0 obj <<
+/D [5491 0 R /XYZ 90 406.069 null]
+>> endobj
+5503 0 obj <<
+/D [5491 0 R /XYZ 90 286.452 null]
+>> endobj
+5490 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F79 505 0 R /F107 2332 0 R /F97 1188 0 R /F38 2120 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5525 0 obj <<
+/Length 1944      
+/Filter /FlateDecode
+>>
+stream
+x��YKs�8��W𔥪" 	�t�j&��jf��M��'��%�F�"5$eE����C��$�3�
S$�ht�u���[{��2
�]p�%(�h�Mo�{<"�Q�MޕO0�d<!c�rL����tv9��/��X���wy]�������E��yZ���g�tDS
#
ư���O3���Z-t.?����(��
zu at J�������ʰ?
'��U��oދQ�I�|�BʉOa� t�v:�sD@
���
�̛/GW������zI�m�� �fއ�F���i�pČ������
+]��y-��j\ߥ�yzS���.�w�B�l�0�F-S��緙X���{qʜ]��k��A�M(E�%F�����
�j���sP�.�=��^ؑ�D孵�{=G}^2�+Q��S�>b��1����Ve�x1�
���E!�&$D,�F���^��diW�~,�����_�hm�b�x�
��X�{��A�t���2̎[�(����լ.V�e��o=
H	�0" xHu��a� `
7H�X/�֌E�Y��'͸�F�Q
���?b

(�7�Q���
ڗՎ�׹|P��ʹ����%	QG�d�_��4T�P�	�Tl�>V���.�?��Dp�LQo�81:�
Ⅱ��g�
iO��� ��\�"��`o�̪C��怸�ܿ+�������5��,!š�h; 	`�H
"�'$�>��\�1e���/�`���~ ��A�Z���r
]
E�b*��
X��?hG%yv�hąB�R,�r;��_bVoW��,S��i6�se>��֢��Ԭظ���X;��զZ]�6jd+}���M��f���|�^IW�^o��G�q> ���0�/$Ę0�3�L���?��e����U��@#(`�
P�� �A�����(_���3;�����F�}���o��x<b�!-e
+gN;�K�UZ�J�X<�<z�dU
��
�N��.�fy�ץI�bf#�{��\�G��ߴ��^D@ &��r�'( �Jr@}#�y)W�Y���2� �Sk���� 
�0
jCq����RtZ�"#@!��R
��۞�#�j$��٩�Z�����N�1�
�3[J�Ym"�7e�Z�J��B=D������J�^��_�����P8�c!�V����S��GGO�M���c
=Gl���Ҝ���V���-�š]�Q�h̅U5��~��1�KT�
�I@ȁ�A	�f��%�M�O;!�7	#�O
8�%@V�3S�jxG�u��\}M͋y�R*n'E>ٔ��s
����K����2���U�k�u�S蝹����~�nS��	��
��Nto�MP�D{Kf��b`%��
]1���uc��D
��מt��7�K��	��@E�
�c��5����v�e/w��i)��pհK�`�e�r6�.�@5V�A6Tg�8�Cj�p�m���u
�r��f=B��G��–Q|�l8A�=�
`ː4����|,[FP�$'ز��
@��֏�W��s~�I�����٤I�6[H�
5C���2�J��iEM"�4D�1��"����y��n�
��ϻ=��6���
isߢs[q����~ia�
����Jk�.���@�
U�R`m|QJ�����N��BE���<o|qr$�b�N�W[����Μ?�d~$�0h�S��c1✟�1FNW$Q{||uR�
&�!�,
�?�
BHB	�$�X�\
�.W�����_�
�C���n3�w�k�6`�ƪW7:8��b�Q4	�p<��l����4��y@~��(�/*���b{RH)vO��i�����G̟�����>U�_z�/�A�������jvƬk�N�K]C�?]5?m.5?�[���\-=�K�cEJ�(���N���A��A���׽�~i��ڒ�¹�!���^���m64��:����l������;R��[�0�Uyes�V����=���$�
+endstream
+endobj
+5524 0 obj <<
+/Type /Page
+/Contents 5525 0 R
+/Resources 5523 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5462 0 R
+/Annots [ 5487 0 R 5488 0 R 5509 0 R 5510 0 R 5511 0 R 5512 0 R 5513 0 R 5514 0 R 5515 0 R 5516 0 R 5517 0 R 5518 0 R 5519 0 R 5520 0 R 5521 0 R 5522 0 R ]
+>> endobj
+5487 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.417 697.653 206.96 708.557]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a6c75bb083e814ae12c8df6a2cd63fda6) >>
+>> endobj
+5488 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 659.611 160.465 670.515]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a2cca0fbafd235d3e82edcbc0f3c41d3c) >>
+>> endobj
+5509 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 621.943 175.967 632.473]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_ae8fb80899b7c136573ec8f42beb8a207) >>
+>> endobj
+5510 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 583.527 204.739 594.431]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a97bcf298710d2a89ee8c29d457fc925b) >>
+>> endobj
+5511 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.076 583.527 283.313 594.431]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+5512 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 545.485 244.091 556.389]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a46f440596ccf2c1f53a4d312af97cc0c) >>
+>> endobj
+5513 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [271.428 545.485 322.665 556.389]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+5514 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 507.442 191.718 518.346]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+5515 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 507.442 288.852 518.346]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_af537493853b0d1460f9d868c122ae4c1) >>
+>> endobj
+5516 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 469.4 191.718 480.304]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+5517 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 469.4 303.079 480.304]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a773a5ffce9cb4be2b75dfb92177d9ec5) >>
+>> endobj
+5518 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 431.732 150.493 442.262]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_ab922f32fb84e011b67fee7ac6b69d509) >>
+>> endobj
+5519 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.636 393.316 264.424 404.22]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a452974abf6ea3b81ac94e4c004bac876) >>
+>> endobj
+5520 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 300.833 123.644 311.737]
+/Subtype /Link
+/A << /S /GoTo /D (main_Bag98) >>
+>> endobj
+5521 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.08 288.878 318.72 299.782]
+/Subtype /Link
+/A << /S /GoTo /D (main_Bag98) >>
+>> endobj
+5522 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5526 0 obj <<
+/D [5524 0 R /XYZ 90 757.935 null]
+>> endobj
+5527 0 obj <<
+/D [5524 0 R /XYZ 90 714.318 null]
+>> endobj
+5528 0 obj <<
+/D [5524 0 R /XYZ 90 714.318 null]
+>> endobj
+5529 0 obj <<
+/D [5524 0 R /XYZ 90 678.298 null]
+>> endobj
+5530 0 obj <<
+/D [5524 0 R /XYZ 90 640.256 null]
+>> endobj
+5531 0 obj <<
+/D [5524 0 R /XYZ 90 602.214 null]
+>> endobj
+5532 0 obj <<
+/D [5524 0 R /XYZ 90 564.172 null]
+>> endobj
+5533 0 obj <<
+/D [5524 0 R /XYZ 90 526.13 null]
+>> endobj
+5534 0 obj <<
+/D [5524 0 R /XYZ 90 488.087 null]
+>> endobj
+5535 0 obj <<
+/D [5524 0 R /XYZ 90 450.045 null]
+>> endobj
+5536 0 obj <<
+/D [5524 0 R /XYZ 90 380.107 null]
+>> endobj
+5537 0 obj <<
+/D [5524 0 R /XYZ 90 331.543 null]
+>> endobj
+5538 0 obj <<
+/D [5524 0 R /XYZ 90 275.669 null]
+>> endobj
+5539 0 obj <<
+/D [5524 0 R /XYZ 90 253.358 null]
+>> endobj
+5540 0 obj <<
+/D [5524 0 R /XYZ 90 253.358 null]
+>> endobj
+5541 0 obj <<
+/D [5524 0 R /XYZ 90 183.187 null]
+>> endobj
+5505 0 obj <<
+/D [5524 0 R /XYZ 90 160.875 null]
+>> endobj
+5542 0 obj <<
+/D [5524 0 R /XYZ 90 160.875 null]
+>> endobj
+5506 0 obj <<
+/D [5524 0 R /XYZ 90 87.285 null]
+>> endobj
+5523 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F104 2229 0 R /F72 404 0 R /F100 1390 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5552 0 obj <<
+/Length 1739      
+/Filter /FlateDecode
+>>
+stream
+x��Xmo�6��_�a@'�5�WQ
+�[��:4K<�C����dI��ٯ�Q��l�
+�v���M����ܑعw��f��|r�Zb'@�G=g~�ؑ
A�g�t�\������S��0_�7�S��4~X�e
޼�n�08==K�a�ܜ�S��r�(���'�	�x�T"�p�_9xn����6�ȳ�
+��k� ��S_��z�Ea�ͧu�:��R��
u����dC��ܥ�r:y5��9!`;�ʑ�H2�,֓�k�,a���
|g[�Z;�2����ɯ|4ߔ!�6�1T缬�����;�GX#�	�C��p����=�|5�)!�^0�O.��ik��M�)qU
�i���f�x:\��4)J��L�*_G�pLDx�=o
�
�0�q��8�X�7�A��zʧgVf�{S��A���X��A{4\�Q$M���r,�H���`i�À� ��zl-���M�&�Wwy��嵙)�n�(�U
H
���FT\�r�'��N�<g��M"�|��R��x������<�I�`��}�C��}��#�59�f���R���܊��D�

+�
���L��O=�ζy�e�Ƒ�QR�,�"	�(`
�I	vd�}MY��
���B[����4-J�����~b~�̨̐z`�o���AB�����D1|�� U��i�)�tx [�=�Y�), ����F���6����x��4(��(�hf]�J�pX#�����n�x�)���H�!�!2`��g��,8V\=1֬0�ُ��J��1Zl�L?�� �
�QhQ
+`<����������B4Xt	���v ��"���%����#��~
���"
+��/5T���0B{B]s�:�
�p��?��V����ZV�Wu
L�5������
����r��}����j��˽J��E�.O����6ǩ���(�7C0��:�z��I�5�3Z�D]@?P*���f$$�b�Z5{ed���f%_~���n�4Ո�w� �F{'*�is���1:�;�gOU
����<��C�7�M�>�{�B��|�� à�'�����:m;=�6�c�tkQ��u:%B��pk�lW*i
�gB��KuW
2Vl2pۀ.�F^>}�ȃ���6J�fy��w��|�V��tQ�?

8�y�ti�tA7��.«*h�u�g�X�QVqT�0��ґ��$’��T��2�Y�b�7,�/T���Lh�k��|�;�5m���*�@��1���ȑ׶
+/�'3e�Dp��Iĸ[uI��DLԸ���ad�Dz�!�5dIuH�1&c]��X#�@?�
�5<�Q�M���0�xc�Zoz�����'hoz���FX���T
;�0�&��6-�>NꡥJ���
l�r$Lw
�
��`���^
h��A�-3S����Zz��G�Z���w䯈`�R�$���`
+(�nAF���e��?�r6p�Ӟ�-������e��~���䍉�NA�ru���Ԍ�Wq�(��y���=�u.<�/��������_\p��\�jeV�~JV*�J��s-1&��YY
+�
�M�=���j-viС/��{{�}Q�d��<Z޴�݅�N� ��t����#`��q����u;�S�?����e_�>����]H�]F7Q��:t�j�7/�*�N�3�=�%L6a\�T`[�F0t ���k�R)����~��$�]-�)4JM{�*����d�ݢE�6I��(*O �';[ы�@���Al�T봦M���R����
�E��
+endstream
+endobj
+5551 0 obj <<
+/Type /Page
+/Contents 5552 0 R
+/Resources 5550 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5462 0 R
+/Annots [ 5543 0 R 5549 0 R ]
+>> endobj
+5543 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.912 89.023 316.06 99.927]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+5549 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5553 0 obj <<
+/D [5551 0 R /XYZ 90 757.935 null]
+>> endobj
+5554 0 obj <<
+/D [5551 0 R /XYZ 90 733.028 null]
+>> endobj
+5507 0 obj <<
+/D [5551 0 R /XYZ 90 666.98 null]
+>> endobj
+5555 0 obj <<
+/D [5551 0 R /XYZ 90 652.41 null]
+>> endobj
+5508 0 obj <<
+/D [5551 0 R /XYZ 90 580.857 null]
+>> endobj
+5556 0 obj <<
+/D [5551 0 R /XYZ 90 566.286 null]
+>> endobj
+1403 0 obj <<
+/D [5551 0 R /XYZ 90 443.544 null]
+>> endobj
+222 0 obj <<
+/D [5551 0 R /XYZ 90 436.944 null]
+>> endobj
+5557 0 obj <<
+/D [5551 0 R /XYZ 90 347.458 null]
+>> endobj
+5558 0 obj <<
+/D [5551 0 R /XYZ 90 287.95 null]
+>> endobj
+1404 0 obj <<
+/D [5551 0 R /XYZ 90 193.459 null]
+>> endobj
+226 0 obj <<
+/D [5551 0 R /XYZ 90 186.858 null]
+>> endobj
+5550 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F21 2359 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5586 0 obj <<
+/Length 1310      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~���S'5MR�.��eI�6m��
0��!ˌCL�\Jr�
��#EI�DRl7���/�H�!�}�9<���D����O�N�܁�<���N������X���4�B��
u�O�a��P���=
sx�F�狓��4��Ocnt1��i�'��yM�(7���(�œ�aO������٠�Ą���	8&тi��
����;
�s����T��)�C��K�.� �D-���B�

��3��S(m�Ή�b ��2]��1��wn�3�d��v�%
e��\�
��[�!](���-���������F7�u{��7�.���c�������}N/�n>]�
���
�^{���4W�m[l	���.���
+��T�5�ړ�2їK%��	h`U]�P�i� ���NG��{�EA��h{ux
�M�e�,5�}�b��
�V�&�
+�yG-����Y$<[aijꗘ�90B��Ժ�h�3]���޹���X�'ީ�Є���P"�Xn��I��EK��ɺL���c�j�O<S]��I�@�M��I4�QjTӭ���8���H"B�0�
��$3?�êg�𖎵��^�4�Q��e�\��0��x?�AM����b��E�V:+�#���,�������6��/�g�j���j�ʍw��t 1�}	�ݍ�L�����m�m�+��:@�ȑ)B�j�`��c�a{�a�0dѡhx��	E�@*�xF��2�kT�����h\���&�jy�
�
+𞁶�y���Wcc���&y���tr��ofS���A�O�,fQz�}�Li��ɔ@��˒�?�S��,��aX>�靁�\�ȣ�)�Y����\
�<��OdZ�l�i�B���<_�9�Ga�>�$*_rWV��:���!`�fIἆd�x�qT'(`�
=�r ���1�F�,y����M�֏E���@��ˋ)z��t�%����.7l�|E��ZS��^�Q��a��Z
M�4�a���;��i����ˢ�h�n
��p�[f��C��(�ʘ��A �nQ芅�u��{}��VX�
�l���U�Bl{�A֑��Dn
��,���D^U��R

N����~���[ୄ��蒣����%�3&��k�����|[�_�p�=�l��
��
D��UmO�*��$ɝ�6
4��I�7o�l7�aˋ���Nh��#o��
;�B��۟~>'>-~��zT��G��SB��.|��eeؗ2�KS�/OD�&�T
0DȄ�
-C�Z��Z��^�-r1�˄�>Mg'�����El�K{�Y�{|��bEh�Y��]�H�HTE.�p����u:�� "��
+endstream
+endobj
+5585 0 obj <<
+/Type /Page
+/Contents 5586 0 R
+/Resources 5584 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5462 0 R
+/Annots [ 5544 0 R 5545 0 R 5546 0 R 5547 0 R 5548 0 R 5559 0 R 5560 0 R 5561 0 R 5562 0 R 5563 0 R 5564 0 R 5565 0 R 5566 0 R 5567 0 R 5568 0 R 5569 0 R 5570 0 R 5571 0 R 5572 0 R 5573 0 R 5574 0 R 5575 0 R 5576 0 R 5577 0 R 5578 0 R 5579 0 R 5580 0 R 5581 0 R 5583 0 R ]
+>> endobj
+5544 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 697.274 160.207 708.178]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5) >>
+>> endobj
+5545 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.977 697.274 192.655 708.178]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5a4312979a12cae5ebb0791496e1ccce7a) >>
+>> endobj
+5546 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.643 697.274 217.621 708.178]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5a05abaa6ff4aa204c25c94719e8a2b6f4) >>
+>> endobj
+5547 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.61 697.274 251.932 708.178]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5ab7fe867b1243e111ef4364e3ef5b5329) >>
+>> endobj
+5548 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.921 697.274 336.614 708.178]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5abed2d3fff60e7c0b8fc325bf46f9725f) >>
+>> endobj
+5559 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 616.587 155.733 627.491]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a3f29f8b40d09b17eaa4cbaac069f72a0) >>
+>> endobj
+5560 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.07 616.587 224.893 627.491]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5561 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 578.159 163.482 588.69]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ab339ccb929a7255295ad19a5b168d5d0) >>
+>> endobj
+5562 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 538.984 155.733 549.888]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5563 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [166.473 538.984 207.279 549.888]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a4fb7d78e7b37d7f4b99babdc5cc84783) >>
+>> endobj
+5564 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.616 538.984 276.439 549.888]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5565 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 500.182 179.554 511.086]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+5566 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 500.182 250.666 511.086]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a1c884f5152f75040139ec3d9ec8ac293) >>
+>> endobj
+5567 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 461.38 135.579 472.284]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5) >>
+>> endobj
+5568 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.077 461.38 155.225 472.284]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a7c502c8d46ed2f68679404fdfdf8e0bf) >>
+>> endobj
+5569 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 422.952 162.677 433.483]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ad8cee05f88ad5aea288c1f6b8bf7cdc7) >>
+>> endobj
+5570 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 383.777 160.455 394.681]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ae5902ab7e2d3304037a56ecda7fc22a4) >>
+>> endobj
+5571 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 344.975 168.216 355.879]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_af1827b1f7a42393a2526944530559c5a) >>
+>> endobj
+5572 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 306.174 201.969 317.077]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a2aba27eb7310045e1a35c7e68af01ab2) >>
+>> endobj
+5573 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.933 267.745 297.728 278.276]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_afceefab91d648d188e42e5a75a3a977e) >>
+>> endobj
+5574 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.544 267.745 336.732 278.276]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+5575 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.933 228.944 283.353 239.474]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_aeff190ba56f86d3425859043689d499a) >>
+>> endobj
+5576 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 189.768 191.718 200.672]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+5577 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 189.768 288.852 200.672]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ade98f4e320d7d21e223afb83240b3800) >>
+>> endobj
+5578 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 150.967 191.718 161.871]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+5579 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 150.967 303.079 161.871]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a77fc44f44b1bdda486e19e30310634e2) >>
+>> endobj
+5580 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 112.165 201.471 123.069]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a42867df59ec40173391b76074f9f0fb2) >>
+>> endobj
+5581 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.808 112.165 270.631 123.069]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5583 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5587 0 obj <<
+/D [5585 0 R /XYZ 90 757.935 null]
+>> endobj
+5588 0 obj <<
+/D [5585 0 R /XYZ 90 714.318 null]
+>> endobj
+5589 0 obj <<
+/D [5585 0 R /XYZ 90 635.535 null]
+>> endobj
+5590 0 obj <<
+/D [5585 0 R /XYZ 90 635.535 null]
+>> endobj
+5591 0 obj <<
+/D [5585 0 R /XYZ 90 596.853 null]
+>> endobj
+5592 0 obj <<
+/D [5585 0 R /XYZ 90 558.051 null]
+>> endobj
+5593 0 obj <<
+/D [5585 0 R /XYZ 90 519.249 null]
+>> endobj
+5594 0 obj <<
+/D [5585 0 R /XYZ 90 480.447 null]
+>> endobj
+5595 0 obj <<
+/D [5585 0 R /XYZ 90 441.646 null]
+>> endobj
+5596 0 obj <<
+/D [5585 0 R /XYZ 90 402.844 null]
+>> endobj
+5597 0 obj <<
+/D [5585 0 R /XYZ 90 364.042 null]
+>> endobj
+5598 0 obj <<
+/D [5585 0 R /XYZ 90 325.241 null]
+>> endobj
+5599 0 obj <<
+/D [5585 0 R /XYZ 90 208.835 null]
+>> endobj
+5600 0 obj <<
+/D [5585 0 R /XYZ 90 170.034 null]
+>> endobj
+5584 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F23 368 0 R /F107 2332 0 R /F97 1188 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5640 0 obj <<
+/Length 1590      
+/Filter /FlateDecode
+>>
+stream
+x��Y[s�8~�W�)
3AH��
�>�f�No��&;��v�ASc��)��~�,ۘ���6
8:::���E�֝��׽?nz�K[
+\�Z7S+����(�n"�S�`D���`��W��\���j at q?��3)>y/oW����H��y�C�p�"�Yf
?��P��E
+Pg4�S�
�ܼ����#`�Ha �g3+��>}�V߿�0��ZRsˡ6|��u�
.���bn�P�ȱ}ˣ6�.3'�L)+���Y��
N��8���ߴM�4�c!�ijP�I��/��п~�
�1��$˷ĪOp~`�`��h;)E�C�!qþ1�%sQz1O���e�5��� ��Y
�ǡP�Hn�g�n%�����7ọ�^_,�G&���2-�ҩQHps��G������b��\8L)��d�bȑZju��i[�
R�"��~@��?E��s��J���Y����wzȥ��D��i��@?@
�䈁^(��bp�+�G��T� OGp�� k�Bm�	%��Yb���ED���
�E���3�M�!��5p^�h��eC��a1:��6M�.ďS
�%�l!���{�K��%��8����@`#���)�Q{�򠱢�KwS
��xi��-C�on�{|�7�r+1��Y�"P�E꫟yS3�N�x@�#����R�`��(`%Qy����>^0m�ۗ|���e7�kR8WK�(=���&[��Ȳ�2>o;��J}�)��V��b��|&�J�$a��c��ģ?ߝ8�^�D�3�ײPVN�q\VΙ(I��$�i�Ht�q & �1с>+�:^9�VE����ع��i�[���&C]����|1D���m�c%�Y�"MM�ٺ�p!��_D��:CB�1�:�A��<�Ό�����6��?���('��e��mms�0C��	d���̞{��
��L�.5��c�{X�������
�+E����J��t-���3�����ۀ�)��54ē����1b�t#�	¨���F1�E�+�~` 1��D�������X ]F	�_�-���H�P����R
��� [...]
N�Zxځ$
��"V�4\��
�Ɖ�9���ˇ��DT�u �xv`7�"���c6�t/��f�Qk��캣��
BbC9d�!!
;��|��R�I+

�x,�
d!��;��Y�
�ƕ�F�1lL�@k8ɯ��'G,u���D|���[����l�C1�W�$��{��r�,��Š��A��v��E��ю�Ս�
F��)���G�hg�
!2����!����Koj��ij�99B��d����,2�ծ��E�-��ՙ^S����ʩ�w2��?����kX��MқY����m�x~42��6�"0�����*¸%=Cu��DC��{��y�a��_
�6e���T\]��+��'�u<�=�6ر�q����'
��k��5�
FB�`��� �]�l~S��(fj^:��z�;(g������L����i�<YV�ӑ��U	�����5+/Z�E�k͹�Z��;
ڰ���^w�<_�G��j��
-�PH��"
=��ihly�7�����<U��!|9/n˷����A�
+endstream
+endobj
+5639 0 obj <<
+/Type /Page
+/Contents 5640 0 R
+/Resources 5638 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5462 0 R
+/Annots [ 5582 0 R 5609 0 R 5610 0 R 5611 0 R 5612 0 R 5613 0 R 5614 0 R 5615 0 R 5616 0 R 5617 0 R 5618 0 R 5619 0 R 5620 0 R 5621 0 R 5622 0 R 5623 0 R 5624 0 R 5625 0 R 5626 0 R 5627 0 R 5628 0 R 5629 0 R 5630 0 R 5631 0 R 5632 0 R 5633 0 R 5634 0 R 5635 0 R 5636 0 R 5637 0 R ]
+>> endobj
+5582 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 719.912 181.845 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a13c726daa7d565ded0b177e24b6d1104) >>
+>> endobj
+5609 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 681.929 181.845 692.833]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_aa40eabb29ea4abe082c3a2e6dc820276) >>
+>> endobj
+5610 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 643.945 154.727 654.849]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ade2531310fd7806c9e4f745cab145926) >>
+>> endobj
+5611 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 606.335 176.505 616.865]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_abc8ae851f2a0a6260d954b3bd8505249) >>
+>> endobj
+5612 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 591.776 450.955 601.681]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_aa40eabb29ea4abe082c3a2e6dc820276) >>
+>> endobj
+5613 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 557.392 150.493 567.923]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_af1bf8c762c6f36b30f2abcaffe591acb) >>
+>> endobj
+5614 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 519.035 156.281 529.939]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a775a8cec41b0fcc88689a171f5be8546) >>
+>> endobj
+5615 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 519.035 201.92 529.939]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5616 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 439.535 179.254 450.439]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5617 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.752 439.535 196.689 450.439]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a584f3fd5a19536644a66818169b16ac6) >>
+>> endobj
+5618 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.026 439.535 301.275 450.439]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+5619 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 401.552 179.254 412.456]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5620 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.752 401.552 194.467 412.456]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ab36bf020da4fb4583e6e1a6b94197cb4) >>
+>> endobj
+5621 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.804 401.552 299.054 412.456]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+5622 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.434 363.568 183.257 374.472]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5623 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [187.758 363.568 210.233 374.472]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a6b8dae6436867a53e27720ee211f1cc7) >>
+>> endobj
+5624 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.576 363.568 322.825 374.472]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+5625 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.647 313.629 188.47 324.533]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5626 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.183 313.629 254.412 324.533]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a5c56451d80b8c02636854053de9e0440) >>
+>> endobj
+5627 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.18 313.629 377.43 324.533]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+5628 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 263.69 203.075 274.594]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+5629 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 263.69 296.324 274.594]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ad593d3aa49a632911d8d49c83b3f4985) >>
+>> endobj
+5630 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.005 249.505 316.216 259.41]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5631 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 226.08 194.297 236.611]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a3bc88b2886b0b86865186d142e5ee414) >>
+>> endobj
+5632 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 188.097 188.759 198.627]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_aebb212a14f52ed934059925c1f5f2010) >>
+>> endobj
+5633 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.953 149.74 202.776 160.643]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5634 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [213.515 149.74 278.601 160.643]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a600c942b0a2e94b550ccd84ef9c30928) >>
+>> endobj
+5635 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.953 111.756 202.776 122.66]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5636 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [213.515 111.756 312.354 122.66]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a6804f93015ae6e1dc0c2e42e726380c4) >>
+>> endobj
+5637 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5641 0 obj <<
+/D [5639 0 R /XYZ 90 757.935 null]
+>> endobj
+5642 0 obj <<
+/D [5639 0 R /XYZ 90 733.028 null]
+>> endobj
+5643 0 obj <<
+/D [5639 0 R /XYZ 90 700.587 null]
+>> endobj
+5644 0 obj <<
+/D [5639 0 R /XYZ 90 662.603 null]
+>> endobj
+5645 0 obj <<
+/D [5639 0 R /XYZ 90 624.619 null]
+>> endobj
+5646 0 obj <<
+/D [5639 0 R /XYZ 90 575.677 null]
+>> endobj
+5647 0 obj <<
+/D [5639 0 R /XYZ 90 537.693 null]
+>> endobj
+5648 0 obj <<
+/D [5639 0 R /XYZ 90 458.074 null]
+>> endobj
+5649 0 obj <<
+/D [5639 0 R /XYZ 90 282.348 null]
+>> endobj
+5650 0 obj <<
+/D [5639 0 R /XYZ 90 244.365 null]
+>> endobj
+5651 0 obj <<
+/D [5639 0 R /XYZ 90 206.381 null]
+>> endobj
+5652 0 obj <<
+/D [5639 0 R /XYZ 90 168.397 null]
+>> endobj
+5654 0 obj <<
+/D [5639 0 R /XYZ 90 130.414 null]
+>> endobj
+5638 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F106 2337 0 R /F110 5653 0 R /F37 2638 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5706 0 obj <<
+/Length 1501      
+/Filter /FlateDecode
+>>
+stream
+x��Ks�6����%%g"O��8=4M2��iꨧ4��%��"�����.I��l��*?4�
� v��
غ������w�VbK!�R�^X
+[�%HPb
'��`D��'c��C��'S�ɡ؎�啞$��Cp���r0x�#��Y�8}*��:�Ӵl��
�8iju4�0
STٔ
+���}�Ͱ��G@!l�B!�d�O{_�bk���0bʳE���)������W�.�2�]Q.�L�~�'�Jo��8
�(�u8y+ܵ���S�W����L��+?�Z:5?��iD�y9��sm,qQ�B0)]imq�@���F`e��ח� ��d0��,������閛.�46<+��qH�FB��H0CSP�<=�x� D"婪on�Uҗec

���ZEʭU]ޱ�J-�,�ry�V_y�����#ō���g��qB�~��E�Q����O)r9��
)B�}s]�D0i_x�(�hִ�ܬ��γO��k˼&{޼lWj���ۺ�2座>��8���_m�Pɵ�"��*�xK��n��!
+H
����H����<�����ի�
�wr�<T���3�͓��m
#�6�Ȓ�n����Spa 6�Q�,[�!2$��}f�M����F[`6!�}
\���*|�
s�ރ��.�p��bMq�8�~:F��EZ]lr�Σ�
�
��=�A��K����nM�LOgy�Tjj��Q	�o��i]G�z�H��-g:�N:
X�aV<����P���D��
�H���c{�pL�DC	����$H3*���C���v��#����Wz�-���d�q^�z�6ݨ�(V�Qq�Xk5ARԑZ�2�sl���t4���t0�7�eSaG]�*�̈́���Ë�FRk���Pp4���~*�8��;
+��x
M��r�[�8�$H�E �H�����*K����H
&�Ut95����~g��B�Ѥ����\g
��6PB�X��&P���A
�0.���C$�����'�[Bλ�x�C�qD���
{p�	B��}!D]!�
!��>Q'�i�L2k�UZ��\@6���
ixC�
C�X{T�����vĂ@��qL�u�=4�$����"��]^I�+�$b�ڐ��H���X4mХ���Acz]� ��W����ï������\v���eU
��jH
��#�����{u�`v8
+���4
+�e'�����,��AQzF��a��I�a�Kꂑ�<��}�FGi}��Z��pm�eN ���n�TB>b� ��2�`�1 `V��e�lV�$�(l�b��� �)K�#�\?d�*[;�~�Bj_�[��}&�J�8<�
B�#\

+` cw�칮
+ݾ��(�m{g���t!�a�(��ߵ��lX�;�9決�S>�[:��ߩN~v�������W�m��t��9���Dr�!�π��ue�r]߬��{nM��m
�Xֱq�e����b�@�ͣ`�� ;��“�A�6
�B�J�����4�n��8��s�� �����3
+endstream
+endobj
+5705 0 obj <<
+/Type /Page
+/Contents 5706 0 R
+/Resources 5704 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5709 0 R
+/Annots [ 5659 0 R 5660 0 R 5661 0 R 5662 0 R 5663 0 R 5664 0 R 5665 0 R 5666 0 R 5667 0 R 5668 0 R 5669 0 R 5670 0 R 5671 0 R 5672 0 R 5673 0 R 5674 0 R 5675 0 R 5676 0 R 5677 0 R 5678 0 R 5679 0 R 5680 0 R 5681 0 R 5682 0 R 5683 0 R 5684 0 R 5685 0 R 5686 0 R 5687 0 R 5688 0 R 5689 0 R 5690 0 R 5691 0 R 5692 0 R 5693 0 R 5694 0 R 5695 0 R 5696 0 R 5697 0 R 5698 0 R 5699 0 R 5700 0 R 5701 0 R 5703 0 R ]
+>> endobj
+5659 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 669.969 226.034 680.873]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a303b4ed4262469c1834228e0f88dba74) >>
+>> endobj
+5660 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 669.969 362.999 680.873]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5661 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 631.114 156.281 642.018]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a10cab5245f80aacd8000d0312730ec03) >>
+>> endobj
+5662 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 631.114 313.002 642.018]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5663 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [331.214 631.114 484.119 642.018]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5664 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 592.26 180.54 603.164]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ad7552a414d66f92897d12767579fa3ca) >>
+>> endobj
+5665 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 592.26 249.7 603.164]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5666 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.433 592.26 333.256 603.164]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5667 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 553.406 178.239 564.31]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a0c26ae11a4146369ff86288347cc54db) >>
+>> endobj
+5668 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 553.406 247.398 564.31]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5669 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.132 553.406 330.954 564.31]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5670 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.625 502.596 245.522 513.5]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ae6206985cd5536c4dac181de5fb21247) >>
+>> endobj
+5671 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.848 502.596 325.229 513.5]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5672 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 490.641 155.733 501.545]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5673 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.466 490.641 239.289 501.545]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5674 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.853 490.641 316.409 501.545]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5675 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.625 439.832 245.522 450.736]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a5363ddeed325652ee6c064a8936cfe57) >>
+>> endobj
+5676 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.848 439.832 325.229 450.736]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5677 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 427.877 155.733 438.78]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5678 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.793 427.877 238.616 438.78]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5679 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.747 427.877 315.303 438.78]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5680 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.92 377.067 243.605 387.971]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_aa98511973ca14e8904e4e2c1f774bd3a) >>
+>> endobj
+5681 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.226 377.067 323.607 387.971]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5682 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 365.112 155.733 376.016]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5683 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.466 365.112 239.289 376.016]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5684 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.853 365.112 316.409 376.016]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5685 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.92 314.302 243.605 325.206]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_af4abff14e1b88cbb929f0733432477ff) >>
+>> endobj
+5686 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.226 314.302 323.607 325.206]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5687 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 302.347 155.733 313.251]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5688 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.793 302.347 238.616 313.251]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5689 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.747 302.347 315.303 313.251]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5690 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.138 251.538 242.189 262.442]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a0fb144e5f3fb6815e4c28c89883607be) >>
+>> endobj
+5691 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.028 251.538 322.409 262.442]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5692 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 239.583 155.733 250.487]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5693 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.466 239.583 239.289 250.487]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5694 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.853 239.583 316.409 250.487]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5695 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.138 188.773 242.189 199.677]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ae67eb83f2626818420b3201db09e3d58) >>
+>> endobj
+5696 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.028 188.773 322.409 199.677]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5697 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 176.818 155.733 187.722]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5698 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.793 176.818 238.616 187.722]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5699 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.747 176.818 315.303 187.722]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5700 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 137.964 226.034 148.868]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a75190def344d4c1ba6c59a6f0fcf7420) >>
+>> endobj
+5701 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 137.964 388.214 148.868]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5) >>
+>> endobj
+5703 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5707 0 obj <<
+/D [5705 0 R /XYZ 90 757.935 null]
+>> endobj
+5708 0 obj <<
+/D [5705 0 R /XYZ 90 716.221 null]
+>> endobj
+5704 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F11 446 0 R /F79 505 0 R /F97 1188 0 R /F38 2120 0 R /F106 2337 0 R /F41 370 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5725 0 obj <<
+/Length 2728      
+/Filter /FlateDecode
+>>
+stream
+x��Z�s���_�7��y�
��'�q��i�fT[m�����$ �D��ݽ=|
	Qtw&/�������ׁ<�
x���뫳��
fbW7��A
������Pp&�d*8���D�0�V��ˉ�a��-�y�}|S\WY���x���*k�j2�����Y]��m~�W���z�;e�	��'?]�p���ٯg⁰�%J�����x0��ΔI�{K�
+"��
ޝ��݌T��z�&�v�ɛ�X�s�𛼞UŦ)�5
+u����x0�S�!F/�e�ΟӰ�v�X��nS놆�2f˲�V��9�L(���^�'��/�еY��ۨJTi��u�z��,xoIz�)�=,�
�u��
+7�rYN�����C�,R)� fI�H���+i�j֫����$KE���Q
b��i��W����D)ĀT�A�hi3�H��I at X �L�q0,2���X�`@��'�^b�$��M���&q9�$�d32j�� 8<�;fRv:�::�$�(�&~c��5옉T��
ߪS�WZ~���F�ϙ6��Xu���_�d|�G3��?���F��֍۝mƬ���q��-4��<b<�
p�s�)%���
�&T���X�I�]ұ�Ɨ)��8 ]20	�8�\�T�i"����)�@dة�wo�w���>U�
r�F
J��kPrX;I�"i�#:�
@ ���p!�wt�e� r�4����~�' |�0�rg�MX����'ē>a
�:�&�zI��@lhP�N��y��}B������i�����B�����}BA���t���Dt�Oć>� QN��w��E^�#V�Tv�
��S%]o�Ԯ&��|]cE>^�֛l��z��-d�������ܲ~>&��,N:����2����c���2H�-b�}W� ��!�"�^;�Bb�Hʵ׋�˦-흺��Z�rY��&	?`�		�H��”v�yie�И�yu7:�^I��]!�A������
�ߦ��|�dH���+x;�!qǟ�|�6�{���GF�А��,��
 ׎�d��y^��K��P���5�R��t��"MJ�<��<ms=���
+�\�"/G0 ���۞m
-�u8H��a뜆��n���Z�b
�^"ҰH�Ôa�"Z���z�b���4i��%����𣏕j��}�l��{�8����>���sU⬒��f��<oo���X���=��fd[��bR�&}�,��,��h���F�	D�54��<ayu=M��b��31CMA)�wH��c
!��䭚bf��qA#��19���F�d�'�բp<��Z���vz_c"\����M���%7�;tH7�C����\ ^�/�E�[ V�=����+�S�s��n)�àh��R�A&�<���
+ן�p���98��
	0���v;.N^����h�{�`�ĀDå=
+�9�9�����?���`��x>h���`=W|_"�{�J�^�yݶX�U\���
�?'?8ɿ�f��4R��MN#��x
��Hk�n�h�펮�f��Y at Xn
�lVV�96�z�=�ٮ)�ػ>�A�
�3@
u~�Ey[���?@x>�j����;����X���
� ?@B��|���)�P~�<.E�j��c����l��<Uqdq��
/�j(�h���)
/��
+�G��pk|%#�yQ����jM�[�A���h'u[���P�Q
+�:a�D�?�*�.�~�4��J�ynSef����k��//V0���g��p�k
+c���7D0��>9���
P�Ԑ����4���p�0[/ʭ�ext�(�D�r�X�sdk\tG3X��lD��X
��}1�rI7�2k�����v�HZC��#�`�����x<�v{ ��>����m�M_���6�(�cS���lI����
��6�X~����v�����q/�&)��B��gV�Vm}�ge f�9�j}č9�
+/�B�3�Y�f���o�&�r6�VA
�l�3|oS�hͻbn1cx�Fx����ͅ-rc?�l1�"�
J�-����q�4l��G�H5��m�=�� ���U�c�m�gy���&��G�?�m) �n�boլ�A�y�*s�isU�]㛇�TJ��|���~99��0���v�m��Q�C@ܯ��I&m���8�b�P��Ũ5��.�:�\���ȿ��&����"
��E�2�_���i��
������}��C�O�=���� �p��U�����y�W0�^�dK	;�U��૾
�o�R���c����>r�������
��?Z?�D
�Z!@k���Pw��g.}�<<��r�/5���@��UA��uDx��[��3"kI���

��@�S�T��S�=	�:֞w���Z l���ͮ)4��
�ԼT�H9ȻHJyGXo��.�AW��K~8��[
�B;��k�l��/�ZF �m�
!��~��=���U��܈�
��$�
���.��ЧخE��;/|
��^˪�-N8ol3���^�p<�r?/5'ŞfQ�(ޞ]��,�UїԿ�
��,�~�T���?�K�q�O�q�<6ɑ@.���
۹�8>�Aw3̳
e�Z�����1R�	$?=�uk����=#�S�ac?J�A���B�}[\"F�/B�vpf��Bt��:��ᙷ��߳�6sU!�Н�����	��
�����"�뗠
��T<�4�J��C�E�l.�����٬f�u��Xќo6��C�@NK��u]y�μ,
+`re�ؾ��
���
+endstream
+endobj
+5724 0 obj <<
+/Type /Page
+/Contents 5725 0 R
+/Resources 5723 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5709 0 R
+/Annots [ 5702 0 R 5721 0 R 5722 0 R ]
+>> endobj
+5702 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [315.572 695.563 357.395 706.467]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5721 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.41 517.087 353.665 548.056]
+/Subtype /Link
+/A << /S /GoTo /D (main_representation) >>
+>> endobj
+5722 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5726 0 obj <<
+/D [5724 0 R /XYZ 90 757.935 null]
+>> endobj
+5727 0 obj <<
+/D [5724 0 R /XYZ 90 733.028 null]
+>> endobj
+5723 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F86 597 0 R /F8 540 0 R /F11 446 0 R /F7 541 0 R /F10 507 0 R /F13 581 0 R /F6 596 0 R /F9 618 0 R /F12 678 0 R /F23 368 0 R /F79 505 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5731 0 obj <<
+/Length 2689      
+/Filter /FlateDecode
+>>
+stream
+x��ZYs��~ׯ�[�X
an@[~H\^�ε�*O�K���2p�Z�קgz ��%mRy!3==G__7xO^�}w�燛��:�")�����V�HF�����O��lN� �?�h���6~�0c�_d/�dUƏKe\�����I�E9�3��dqUa��d��3�I�L�
�X�3�g�<�p���ͧ
+
+<j7 5�\z���O��
+��£�{�T[O0���x󯛠{�:��0��ӌ�@I<џ̖�S��7	6�qe[�_�@W��Iuk���$9�V�d��_��	�c�.�!�"��8�]wRn�U��f��DnɌJ��L�*-��^���*�,�1��f~`�w�"�攒H���YU����9>��2����R'�zS�۳�w�5#�;�i�\
ا����^4�e�m�&�(��)u
�t�]�L�ՆF�ŜӐ� ��L���~���̱��}Mp�it���f�u�ex����b�
Z
��+R�,�y�>�-%�R�.�*;Gҡ��Hь
�t��
Ȁ")�]n�5�����m��x0�A�(��2`��
�)i
�C�NNm�i�
+�NJ$��
*�T�����[���R�Ш�G��8a�*�-uߓ~G�p�t@�1*I�5�"B:��Z
+��_�7#�V8�Qb|Ϝ�;rK�ю�C�u�?#���a%���ɼ;��7����[�w#�w�6��
+���g;��k%kc�dY;sh�Ǣ1�E
��rֿpV��~�q]$��H%_#���G���|�rNB�C�
��n�,.�������C��
#|h�{`	��0%uܔ�\�%9���W��A�Zaw���pL�<9��'4���>��JXD�P��z��Χ�m���P*/��kM�
7�൦lb%
�� w%N
�1��G!aB��#Ҟ�c
+�(j'�
�ܡ@
��ԛ���G8
bPg�o��&69N꧃"����2��N�v�����
�%
����0�����q\r�~�y���.���:"8��O�
����ȯQ�8�7^�t�Z�֢�78����R�)9��v!R�M�=�zw��*�&9Bn3�{R�,`{Gu�6S츮@�2}JY���W!��"DD@�p���y�r���_%����S
�zv�.�Ȋ���S��f˶;�qFK`�PVn<����~k���Y���MC�Ĭg�Ѻ��
��;4�����B"c�$�D	�'�e6�3�e`�O������#��ckS7
��5����n�
M��v��9�M�I�Ui��h�#Qj���B
+Ûq�;M1�s雔�po7i:9�ŋ¨c��͈E'v
�[�Z��
0��}N���A������'`�\���t�`
V�$$�QO^�w�6��E����Md��x��y�o�\9�z�)ZF=��R�
�iJB�5����2
+�2_�6R�UQ%�0��Ȟ���/�O���+QحK$�$V����@])��!7Б���;7
�aoY8�}����	d�
��0�yFM��~
+���
�k+3@�S�b��B�n쳄�֭b����8
:����Q�|�iZ�;�&�

+�j��t�I�*��:� �@��
_{DNmIli���F�Ox��U��~�*��C"�)�LEcAxG��`�M}�#z��r?f��VmL�G\\��o�{��[w@�Ք�E5%uo�3 J�σC&'a��AE{����Sb=�06���f<\'k�� "Nz�O��uN��p�P_�_��9�������tv����q�俀R������
�ų~���W�����R��Ejy}Q��~����&���
��]g_)����<Q)
���e�+[����н�]�_ �E�������ɯEp��
le����G�_e��
�1Q�u���;Q�
���}���+
+طup�)'���
+<}k����W��xK~��<[��W�
CTc/�In"3;��=W�4�qX���r��F}�]T�c}�Q���c
x�����:]��
�ϗ0��CK!r�17����53�`QQS)1LzhQ��3ԩ��W)a��O
+WC�
~�t�!^�
�Ľ ���d�-�&�#�0��3J��&��Ka
�s��,��]��ƅçvw�
w��ݲm�3��mRo
+�^0�@�N��n�6��x��4��S�_�7_u���֘�H�V�Ae7�I��䦤9$�[����3���i�6����*�
U��.��
s�/�&�o��6�
R�&5o���'[��oh6
���Wo�
�J��͸��iSC����+
po8f�
��U�.27�.�7^.��¾$^n
_X
)��"��V
|=脔�r)%5�n�2q���D��hCԃ6@���aغ�p�ꀢ����55�ͺ%����I�eC�C�$L�Һ��)�`j�
�w�����


+�y��N�
:�1
_��s5$�;d S�
'��}+He� 9O�x������ a���4+&/Q�h����h���zd>o��4��
+�(��$<�$s쥖VC�#�E|	e�}]9�3�ՋvB߮���#�G�XX:f"�mQ�+��T��G� �i88wς�O'�ĩ��^��8p
+��
V\b������S����_�/���}�M
i��!c�`����{m�����ϊ���*)�`B�
���;�6��PՖB����c��#�~���_�
vKCF�C�����������,+���]I��n���ơ����>8���¶h��$]� �A�
+endstream
+endobj
+5730 0 obj <<
+/Type /Page
+/Contents 5731 0 R
+/Resources 5729 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5709 0 R
+/Annots [ 5728 0 R ]
+>> endobj
+5728 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5732 0 obj <<
+/D [5730 0 R /XYZ 90 757.935 null]
+>> endobj
+5729 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F86 597 0 R /F8 540 0 R /F11 446 0 R /F7 541 0 R /F23 368 0 R /F31 506 0 R /F72 404 0 R /F83 598 0 R /F10 507 0 R /F13 581 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5741 0 obj <<
+/Length 1681      
+/Filter /FlateDecode
+>>
+stream
+xڕXms�8��_��C_E���L�K:��%��ws�v<˶�\���n��
+	
'·!K�}y���ZX�z3x=��3l�(�oM�V�-��QbMfֵM0���!c�bH�
�U4�Rlg�ݒ�d4}/nd$���7<�2*29t����$�s=��s.�$�ys�4�)
�_'�g�����EJ<���Y�jp�[3�ga䆁�-W��u�XW�?��}j��P�0Q��e�Ũ���i
�|��`���A"��3������
�Uʂ�<d9!��g�B�x�B?�\(	z� c3�^� �w�Β��	XK7�)�����Z�<Yj���M���-3���0-��\�
�xY���u�i��2��Y�8z�~��x�u�Q�
���Ns�3� �f�"�3�!Yc��
��iP4��|.b�ud����n^ʯä6�E ��{B�O
JG0�rmڥ�h˓q���w���.��[�g����8���TK�o���H�C�r�Q�_�<��� �� Z���ffC�0 =9��ɹ�7h�!!"TE���kԛ,��q�\E*�h�%��$�)]2�0�1��~ ¤�:�T�
{�bO��k�
�P�1�C
0�t�JWo6r�cd�c`Ek���g�S[���l�g�d�_��"iDž�,I�!��HfݦXo��c�j��µ��M�G�(�Iٝ��3_rfp��S��Z3�C t�GZ�0�-C4vL4����P�BB���6>��>fs��=1�iR��%W`q}�#�M#DM�b�G��
u�T���r��nh�p=G�̛D��d�Ef~���&7K58���R���\k�†�.&(t)@Ӱ����
ƴ�
=�`(�
�cgI��"���UPA!H)��*}

@+��L�Q�������r��Kʜ�MVF�
���P�y��E�2I�h�ܙ$�aj��LoQeȬ�wV쇭f�r(LG����3:
���s\��Uv��#��u��W7�
~�nV�iu$a�,����j?CY��'4e!b�q���
ߒ�Ǔ!٪�w?�7���Q]h��E��U�j�`����{ȯ���0(�ԐA	R�
 �Q���x�9���
;�[���U#�H�����V�1r
�*����
�ߧ
���#�������2��B�r����ɽށꄃG꣛�ܣ7�s�����˳�J
+\��J�U-jk@��Pv)C
�

).V넫��ދԨ��Yra.\�o�u�L�I��D�b6��HM��>Z���f�=�p�I�G��[�A�֩��#���"���a��}����;���6���@
#\g�1��Y�+�&����iq-R��i�rel���S�%�44��V�-62�;
�3�����<��XvjM}F�
�Zg�Y��B�{�/����j��b��][~/��Q����X�X���x�X>5��
+�
LE�?b�V
̏�n`m�C�6y�;y1�!�Fؾ�H�H.J���!8���Rw�
+�P��
�ԑ��2[e�:�M�'֑,�nNZ�0#r_�DX�@r�\P9�
�I�i}R��[E'��21���Ў@�ˏ@�
����Z�*3���S=|����f^+z� Tr�~��s����l�^�t%;B�V�
k`D�K=�M���Dm�7���/K;mI@fu��E�
��l�[�h���D�8Y���}�4�@"3R����x�U�B�0�*�t���
6��
+endstream
+endobj
+5740 0 obj <<
+/Type /Page
+/Contents 5741 0 R
+/Resources 5739 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5709 0 R
+/Annots [ 5733 0 R 5734 0 R 5735 0 R 5738 0 R ]
+>> endobj
+5733 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.828 306.022 340.976 316.926]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a10e7c95784e356487a6a6263a89cec66) >>
+>> endobj
+5734 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.558 189.88 188.38 200.784]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5735 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.878 189.88 371.262 200.784]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a584f3fd5a19536644a66818169b16ac6) >>
+>> endobj
+5738 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5742 0 obj <<
+/D [5740 0 R /XYZ 90 757.935 null]
+>> endobj
+5743 0 obj <<
+/D [5740 0 R /XYZ 90 510.074 null]
+>> endobj
+5601 0 obj <<
+/D [5740 0 R /XYZ 90 487.762 null]
+>> endobj
+5744 0 obj <<
+/D [5740 0 R /XYZ 90 487.762 null]
+>> endobj
+5602 0 obj <<
+/D [5740 0 R /XYZ 107.713 384.583 null]
+>> endobj
+5603 0 obj <<
+/D [5740 0 R /XYZ 107.713 368.642 null]
+>> endobj
+5604 0 obj <<
+/D [5740 0 R /XYZ 107.713 352.702 null]
+>> endobj
+5605 0 obj <<
+/D [5740 0 R /XYZ 107.713 336.762 null]
+>> endobj
+5745 0 obj <<
+/D [5740 0 R /XYZ 90 292.448 null]
+>> endobj
+5655 0 obj <<
+/D [5740 0 R /XYZ 90 270.136 null]
+>> endobj
+5746 0 obj <<
+/D [5740 0 R /XYZ 90 270.136 null]
+>> endobj
+5656 0 obj <<
+/D [5740 0 R /XYZ 90 135.31 null]
+>> endobj
+5739 0 obj <<
+/Font << /F70 402 0 R /F72 404 0 R /F56 367 0 R /F79 505 0 R /F100 1390 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5759 0 obj <<
+/Length 1452      
+/Filter /FlateDecode
+>>
+stream
+x��X]o�6}���S'1�o���"
�u@�d{IC��X�-y��4���$%Y�e�AP`�d����:�
�ػ��w5z{3������Tz7KOc/�	J���w��(
�c�
+��|�>���i/�h�1��G��tz�q
�Y
�����uT��s���(?N�1l�4�>�:���0���3"��
@�(d›oF�w�[��#���h�6
�
>����>�
eK�J1D��z��ѓ{���,�YZ�n�c��Q>���u�E���7&��{س�r�B����M7>ı�
�)���-#B�����M�5r�%�W�Q����߄l�kLM	�Ɯ 
2���q��Ӫ'�*��-��"��yi�s1�N8a�{iu|
p�䍌�7&D!�$<�HҪ׫,/WQ�pn������B�竑wk
��rf��ϛO���i�p;]+߸���C��D����#�!3*���ev�m
oM�^��]�@qB��8�$���b:MҀc�!Z'�Y���6qZ�b�^C�i]��U�T���0���}����*�d�P�lW��m���	�0�{����T�"ac�Ǧ�r�s���}�6��?>D��?;���F�
�`�A�`�""��!W�6KR
��
s���B
��ؘ+$�����ke
+4�*���� N���<3A�����lp1T&%�@*0p{(������<�^��<J�b:�I�\�mv
r,(Lm,3��
IR"
61�����Ҹ�\'r�C�;�
�Z��J!&H7��C�h͐�C6��+Ca��<=\��`2�`C��;L��O��ӊT�!��O�*�/"UدE��*mZ��i�Ţ�Z@N:
+G������Qn��-ey����"S�D�L����q�%�{�^
٤�(�����
+B�v����9F/lq�����W�|�2�[�u�
Lݢ�..N4�� �V�\0.��{
��7��T�(8�w;mͫ������)��� ��
+�!\@��$���↤�
ӲA�#��=�DOuE��
�ܟ��b�~S
 3tf~q(yXk�Y<��@�G4PiDxk��.��Ap���q���;�]ļHACZ�}1�ʭ�l��+u^@t��nj����4$P$u����#��:+)P/g�
�ΔE{V�C��.�����a����a�y]��ŪF���Q����!]܋�;�=/���L�'eR���"�����d�e �
.��F���߭ޚ�ׇ��
�h��$��
�n����n�
k[
�5�z�1��C���Ҽ?��� K`-���N���T@[���

i��)WI1�
+��IGL��/)�Su�
���W�諪�&�FB�zF��}2�n�U}�V�ZY��/q�K �_5��(�Yެ�0
s��{J�1�@�(���*E���^����o-Q��aS�UYn�����#�h�&�
%�d�]OY��
�($��/��MV�Q$),n"�X��
���
+endstream
+endobj
+5758 0 obj <<
+/Type /Page
+/Contents 5759 0 R
+/Resources 5757 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5709 0 R
+/Annots [ 5736 0 R 5737 0 R 5748 0 R 5749 0 R 5763 0 R 5750 0 R 5751 0 R 5752 0 R 5753 0 R 5765 0 R 5754 0 R 5755 0 R 5756 0 R ]
+>> endobj
+5736 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.558 660.314 188.38 671.218]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5737 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.878 660.314 369.041 671.218]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ab36bf020da4fb4583e6e1a6b94197cb4) >>
+>> endobj
+5748 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.867 489.045 187.69 499.949]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5749 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [187.843 489.045 513.996 499.949]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a6b8dae6436867a53e27720ee211f1cc7) >>
+>> endobj
+5763 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 477.463 99.295 487.993]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a6b8dae6436867a53e27720ee211f1cc7) >>
+>> endobj
+5750 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [316.086 459.465 422.655 470.369]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+5751 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [439.486 459.465 511.506 470.369]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+5752 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.861 276.24 187.683 287.144]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5753 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [187.833 276.24 513.996 287.144]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a5c56451d80b8c02636854053de9e0440) >>
+>> endobj
+5765 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 264.659 138.836 275.189]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a5c56451d80b8c02636854053de9e0440) >>
+>> endobj
+5754 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [316.086 246.661 422.655 257.565]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+5755 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [439.486 246.661 511.506 257.565]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+5756 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5760 0 obj <<
+/D [5758 0 R /XYZ 90 757.935 null]
+>> endobj
+5761 0 obj <<
+/D [5758 0 R /XYZ 90 733.028 null]
+>> endobj
+5657 0 obj <<
+/D [5758 0 R /XYZ 90 605.744 null]
+>> endobj
+5762 0 obj <<
+/D [5758 0 R /XYZ 90 591.173 null]
+>> endobj
+5658 0 obj <<
+/D [5758 0 R /XYZ 90 393.064 null]
+>> endobj
+5764 0 obj <<
+/D [5758 0 R /XYZ 90 378.493 null]
+>> endobj
+5606 0 obj <<
+/D [5758 0 R /XYZ 90 180.259 null]
+>> endobj
+5766 0 obj <<
+/D [5758 0 R /XYZ 90 165.689 null]
+>> endobj
+5757 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F123 2840 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5773 0 obj <<
+/Length 1431      
+/Filter /FlateDecode
+>>
+stream
+x��X�r�F}�W��
�Z���v��ڵ����Γ�r��H��@
ȗ|}z. �H�*�J6/bF=�}��n�����������$�^�"I�w��"�� A�w��|�e�	��gc���X�7gc��<}�U�"��)�T���lv�2U�U^�'T`�]��
���*�$�U6W`�E4�)���ˏ�����#�
1
+������5�0��ÈE�woV�=N\S�b��;g�^��a̽�JD$�����M��Yi��72=�[&H�
ySBXe��͒ḻ���&.V۵ʪ��鉐� 
Qx`,\���
+�>O
�di�խr�B����m�Ԧ�;ڶ(�4�0&��A8݂���V��+ �m�#�nF}�Ʃ{�wN%�r��	8\B���춟�@�����;�l����	Ou���P�"R�Az�7�!p�yJQH��\%�M�4"jayhYl4Պ�����Ȼ2��t�-��] �;��A��#
�&� &EKL�!��.WK��'pě����������ƪ��*����^|��V�b.��,��� 1
�66��
����0���_%Y�d�z �I��r�0���7"D`���y�qL�
�p�8�Ql/�<��a�}2O�r[�ֲ�v\�j[d�$@d]P��.��D�၎��HN(A����
d��S�0��P�Ô=���$.����$�$�)��㵝�7������R�Brk�
+]��I�Lv�3�_�o��c�i��8�N�x���ȄA�ܛH����:��p�d��Z���Mީ��z�[KǙ́�g���
��$ѣ(��j�H����
#5�
�:�����_�Ȗ��B
���'��X��.�VuB[j�Prî�ۧ�л7���j��������N
+��
��w5t�*��l�ye�
}�C>7�.6S�w�O9b<��G��`2f^V���kk���f�jPiC&�
�o�
���°%
���{��Qm�|=�
D�7l��^�=h?�H�X
�[�} �!�
ɯ
+
�`' HC�N��_��f[��^ї�OP��d�<v����}��#��Hz�k���`�hD�
2C� �8
+x/
��4�=	){&/c�"�苀��񼗣/6j�@����:����u�/
+;=|?�Ц"�� ��W;w,z�����w�B��n��M(�}	�C�A$��
��V���j��\l��=�ڞ�{H
+E�*���aFq>�A�����m�I��W
�P
u(�e�k��v� ��(8���{E��t�	_�y�|����~���
^��N�y�q�u����^ٛ�JU|�+����qf>մ�ӦTQ6��\�i���B=�Pʹh��ëG?�L�v�ե
�n�j3�N���ѼD�,�(���M:}��۲B�4��~/ky��M2�\�F�I���ER�
+endstream
+endobj
+5772 0 obj <<
+/Type /Page
+/Contents 5773 0 R
+/Resources 5771 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5709 0 R
+/Annots [ 5768 0 R 5769 0 R 5770 0 R ]
+>> endobj
+5768 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.828 668.125 340.976 679.029]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_af4e7705af87f5eb64d2ebdc60cd7a36e) >>
+>> endobj
+5769 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.828 518.863 340.976 529.767]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_acdc0aeddab3d98e336719f42e6e5b06c) >>
+>> endobj
+5770 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5774 0 obj <<
+/D [5772 0 R /XYZ 90 757.935 null]
+>> endobj
+5607 0 obj <<
+/D [5772 0 R /XYZ 90 669.121 null]
+>> endobj
+5775 0 obj <<
+/D [5772 0 R /XYZ 90 655.381 null]
+>> endobj
+5608 0 obj <<
+/D [5772 0 R /XYZ 90 519.859 null]
+>> endobj
+5776 0 obj <<
+/D [5772 0 R /XYZ 90 506.119 null]
+>> endobj
+5777 0 obj <<
+/D [5772 0 R /XYZ 90 403.201 null]
+>> endobj
+5710 0 obj <<
+/D [5772 0 R /XYZ 90 380.889 null]
+>> endobj
+5778 0 obj <<
+/D [5772 0 R /XYZ 90 380.889 null]
+>> endobj
+5711 0 obj <<
+/D [5772 0 R /XYZ 90 319.254 null]
+>> endobj
+5779 0 obj <<
+/D [5772 0 R /XYZ 90 305.514 null]
+>> endobj
+5712 0 obj <<
+/D [5772 0 R /XYZ 90 233.961 null]
+>> endobj
+5780 0 obj <<
+/D [5772 0 R /XYZ 90 220.221 null]
+>> endobj
+5713 0 obj <<
+/D [5772 0 R /XYZ 90 160.623 null]
+>> endobj
+5781 0 obj <<
+/D [5772 0 R /XYZ 90 146.882 null]
+>> endobj
+5714 0 obj <<
+/D [5772 0 R /XYZ 90 87.285 null]
+>> endobj
+5771 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F104 2229 0 R /F11 446 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5787 0 obj <<
+/Length 1704      
+/Filter /FlateDecode
+>>
+stream
+x��YYo�6~�_��V�4o�iQ��Q4m7�>%�!�Ҷ�]i+ic��w(R�Z{8IQ�͓H�
�
g�qp����O���iIe0�
4bI��$�-��!���hJ0��YDp����,�8̗w�fQ$翥ER�=y��L�TyM����eR����\�""*4�� 9��)#��������	�p at jD�b&��j��=0�2��i�ԳV�
�����	�+
eK�q$�@�Y��Ie,�/�-U
��{�
�w3āG��	���d�
+D�R��H�0�
+�	��E?�P%VN�̸��#�7��e���8_�e��.�A��Uf'��
8�
+Fç�f��
�Y��ڬ.@�����#��>!��8�N�`�x�$���������d�v��P���������
P�P�¾�D�`
+C:n��@'c���c�L��YY�Ҕ�F
��=�DX�l܎�g�Q�9�[�"��0e
&��t�:�d�4�:�cĥD��Z^4���K$q��;"
%>ԡ����:�⽛*d�S�)"�S��̭x��֛�xL���k�]�k�
���d�I�^3U5��z��1&�BѾ}3�:˸
aS!.�	I�!�Q���>����s�7"B�A��P�W|��/ӅI��IG����SG�?X<
� ˜x����2�2I�`�18W;Љf{{D� �T�M�7���H+�O����L�w��,N��tX���ϞQ�]���6]%U����K�V��U�Sʢ����Ѽ2�M��#$�p�	2D��ؘ��t��5���4���:.�e9F�Q0�֍r8��&-��MP���f��Y#ɽ�[%|cK�v(��S��<�Ge�U��0 �1�
�
���趍
b������x����\�U���0��6�e^�,[��)�]�cD�K������k�:*t37Bn��P��d)l#7$�^����N	b����p,�S
�V���D��6]��8�f4%,���]n�[3<7���aH�c�3�1�J�O�Y��c�DB�F�g�1t��ת��
����«&��M+�X��uc� �n:��Kx8_��f8	��Arz�L)�;O���Z��AA
�����8�m�ʁ�Yx/a
a�B��@��z�X�^�q��v��i��@��rfG<����ۡ�r��޶��zL�~��@o��V
ӝ`7+��c{��=�7�Z
�����=��
+t{���A=\�x����
+��oc�콍
��rZ&{PO)i���k�F �Q
+��Po���>3�D+������gkmv��0�>CNm�k+F�~��8��.��'
������#~�O��/>�������'�a�\���s-\�h���d
�M+�Hb19T]��}��$׵/��.D4F��C:ʣm��%�;
+�4w84���:�H
�Eo�]�u&���:F��nM�[�A�[�*}s���_Z��"ِ��Ј�X��T��M%��;Xo��nނ�uv�qh�� �d<8cg����Y�1�5
#K�1�
�䋑�=�t�� L����>�S[��݁�����ف|����
����*d�����!��V��?�
+
�t;�;�9�}���I�u�����Y���P�l�I���?ZR�(�,��X���,��$	N�A��uR���(�p��w]U�'��777h^�M��
�V�����~�ѣB8�h�
��e���K�f6
�3�{��t���
+endstream
+endobj
+5786 0 obj <<
+/Type /Page
+/Contents 5787 0 R
+/Resources 5785 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5791 0 R
+/Annots [ 5784 0 R ]
+>> endobj
+5784 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5788 0 obj <<
+/D [5786 0 R /XYZ 90 757.935 null]
+>> endobj
+5789 0 obj <<
+/D [5786 0 R /XYZ 90 733.028 null]
+>> endobj
+5715 0 obj <<
+/D [5786 0 R /XYZ 90 212.195 null]
+>> endobj
+5790 0 obj <<
+/D [5786 0 R /XYZ 90 197.625 null]
+>> endobj
+5785 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F79 505 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5795 0 obj <<
+/Length 1657      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��6~��੅�X�;Ҷә6I3M��6q���k��Llpg���G 0��K�v:I���ܿ��� �&?�&g?�8�HK*��u�qK�%�,
^�#ʢ)���aR.�ˋ��XlnMZ&��eWeRn�ϟ�ܔI]�є
+
>^$U�޾4צ��
+M>7 �i�C�h�v�|�t6�kB@!
�F���`���~���1���f�2��u���1�Cc��1�2��h���:�2I��ִ7����"�MR�iV�I��
]��Θ�*	n�Ʉ�X*`�F�}���
��_��阔iź5�cB��)i�`Ls�>���a
7�Y���jU��2���M���v׼.ƔR1�Du�����Y�˼9eq�� �����F]�͈p�&������/�	�I�-�N՘LF�u�����wYe�]L5A1��
Ny�ffS�n�fM�X'ڡu�����
G۩�%}�2�̆ʤ���f��	���o� �)�vk�ޔh0K8ŝW\,����r����>I�t^��(��Z�*�ov̪�rUتn��#*��,�Z��0��i�4�r����ш�@BȘ�8&G
+K"ˁ �O����%;]q�x���s�$��+/����MA^i�BX���'��ؐ(ބ�U_^	�gD�/�Zା'�r���tm�mZ�&�v��fU at 7����ҳ����|QTk�$0�����flC���;��0&�6pZ�v5�v�"'ދ$!�4�r��� �8�
���^$���}_q����ߏ� ��{�������:G�pi#R�D_?�
�����b�J4��"KM�_v�t	x��ب�8|������񭙿��l����)GԠ�=9d��HkУ��0����FN�+���&O�M;V��7#�¡�
�P���q2��Jv�e$E�F�e@`�ސ94�&�E8$(0
�CI��^��Q�
1*?E�ނ>�Gm�2
)���e��S�֗O:��Kh���W^"�{Ą,"� �P�ޅ�Kck&};R�Sb�MٲEc־�AS��J��
�vt����tKjp?D��R��
+�!�%� ����'�桬e��pg�

���0�Ơ7m���a룆	"�	iz�Ur�#)%=���:Cv�
L5��<Ҏ����rkZy�i���d�K�H�ާ��&��Z�K� ��
|��)�>N)�C�/�SrEv8��i��pJ;t����ܱ��۫����$
��#!��yFy=��(����!%�T�ύ
�b��dD� �~%�Kd?=>�V��e��Ke��X��xV�|V��MV�
����~��-Q��'�oc���oO1
�ԇ�'<n�gS=D�Fy��'ղ=�R�=t�nOG::
+��<�F�촏y2��3O���:f(��
�>f���a�	�"�/�t�|{�n*���H?aG�僼�
'�P�<���/�e2�b�f�>u9`3��s�1�T!�OK�1���1�/T@;�����A���	�A^Ρ�,�ih9��i9�J�?Z>���F���J����ޯ���/Z�;~�w�TZu����/��gU��%b���~a? ��N7��w�C�ӳ
�Y���x�S��$_'�4-Y~oE���42b�
YF��W�˭֮wAw��q�V[�(����ۺ^�����ݡy��y�*QV��V����:�B8����_w�l�E�6��v���<p���g��
+endstream
+endobj
+5794 0 obj <<
+/Type /Page
+/Contents 5795 0 R
+/Resources 5793 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5791 0 R
+/Annots [ 5792 0 R ]
+>> endobj
+5792 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5796 0 obj <<
+/D [5794 0 R /XYZ 90 757.935 null]
+>> endobj
+5716 0 obj <<
+/D [5794 0 R /XYZ 90 610.088 null]
+>> endobj
+5797 0 obj <<
+/D [5794 0 R /XYZ 90 595.518 null]
+>> endobj
+5717 0 obj <<
+/D [5794 0 R /XYZ 90 369.607 null]
+>> endobj
+5798 0 obj <<
+/D [5794 0 R /XYZ 90 355.036 null]
+>> endobj
+5718 0 obj <<
+/D [5794 0 R /XYZ 90 129.126 null]
+>> endobj
+5793 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R /F79 505 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5802 0 obj <<
+/Length 1788      
+/Filter /FlateDecode
+>>
+stream
+x��ZYo�F~ׯ�SJ�zo.� @�
M��Mԧ$0hie�H��b��w��S^
n�
�D.5����

+{W
�^�~��N_�؋P$��&s/�^(	�x����'Q�	��?��|_���bs�gy|�&���|sv�J�:��,�T`��".
+{�N�u
��t��
�h�SƂO�ף��_#a�T��Lx����'����k#)廉Zz�2�.���?Fx�2�!,EO�QT+T��j��Hq���ޫ��~f���'�b�
d�QCPnV:���
�?	"�g����-ק� "-�e�-,��E�~Ę�I���%E�!/���Uj(��

�g��k=�l|�go��K��]Q(QHq�Oá,V�C���D��"Q���m��Y�i%�t�؟�8?`
+�TC��$
Ea�<��?qq��iC6�Ң�)����=�DX�b�:�3�h�M�o:u3��M�.[��$��x��.�R"�zp��
��H�Vx�"�0�C*ښ�C�M��>YR!��
+� h��ϲ�j]�
��ڝ
B�!�`�4lT�
+l�x�d�C ����G����R�7Z��)h?�1(�
+p������t�`�T���y�� }Z&�&	Cġ��
��Z�_����0���8s�=�"(zT����{�E��r��"�pt�\PG��g.`B�ߓ�
+5�U1ԳX
��c��-N�U��j�g��2.�,�?es�SR�u���K&��:? �Q�b��r����#W��h�"_kO����\���Ԁ���FD����E�ډQĺ� ���u,J�+��
�:&&�u�@�SkQ�4m2��ٲ�y��Y_��41~ӳ:7
(�Pt�aІ��t+�(��b�C?/ A�"P�M��*�8��f��y�/�Xf�.����/�@ʓ�r�뷌��j ��
��
@BH����
�$P���X����k��p
��
�D�w�`]
>=$Deض���H
Z+cv$D
&o3�M�����ȫ �}�y]mL�(^9�E�/��h���
W� �G�%jK��۔1X0����z��:.��Uš���ù?]d�zH����yC�Ǜ�o�d���8q�8�ؖ���&�l-г:	F8�5�nD�5���pD<���l�������j
G̓�f��G��̓J����GU��B��;J0�IB�\��s�.,��YF��� X"�K�]� 

ᴻ5Q!�����*�OF*����mW&��r���.�	�Cc�ñ
�<0v�j�b�p�XlUأ�~�c��P*�G1cʣ{N]h��n����V��.�
�
��Q�k�" r,E�=�H�c�x���=�R��[�l0��ܛJ�]Eg1��i�����.c)$��G/��qHG�r.�+�bK"2t���dKv�U_Ö��
+$?4��F����;�P쀅
H��3��G
���5�
+
�½)��
�����
�p�������
Q���2��QfY"j�>+3_��rx�p(����
��19tŤ..qL�S�:8�+α�(զ�?
 �;è{
 H}�(���YV��kq��J?��lU�p����pw�x��X7#�?�J�sOGF�v��bG[J
_Yׁ������թ�N��
���� ��t��.��������/d�:�C|�
���{`�Z��m�>73�O�z����.���ş��
+����=N�q]B��V:/���C�-P`f�{�� ��g���mT�'-Q
�z�,Wg��777hZ�u��r�������nU�q!
�J"���ˬ)�Ij�{U�Ѷ��Q�^�
+endstream
+endobj
+5801 0 obj <<
+/Type /Page
+/Contents 5802 0 R
+/Resources 5800 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5791 0 R
+/Annots [ 5799 0 R ]
+>> endobj
+5799 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5803 0 obj <<
+/D [5801 0 R /XYZ 90 757.935 null]
+>> endobj
+5804 0 obj <<
+/D [5801 0 R /XYZ 90 733.028 null]
+>> endobj
+5719 0 obj <<
+/D [5801 0 R /XYZ 90 388.603 null]
+>> endobj
+5805 0 obj <<
+/D [5801 0 R /XYZ 90 374.769 null]
+>> endobj
+5720 0 obj <<
+/D [5801 0 R /XYZ 90 157.049 null]
+>> endobj
+5806 0 obj <<
+/D [5801 0 R /XYZ 90 143.216 null]
+>> endobj
+5800 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F13 581 0 R /F72 404 0 R /F79 505 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5830 0 obj <<
+/Length 1340      
+/Filter /FlateDecode
+>>
+stream
+x��X�n�6}�W(�J@͐��K�ȶM��]l��OI`(c
�%�.1��
��.�b��C���3g���B�����lr|�`�C�m���^���1�h�P��	F�eL	�X�0��|��/
�i�Y�0�矣���7''�<�_���jS�|eLM��?b�(��%��A\�'��R��Mj��O��f�o~a�4~09�i�jr}����0�����Q+�2)\c�j������5�a��5}�ʬ*�Gi&<6�Q�ؘ٦%ϖ\�
ӠZ���(Mī{��ܔ�H�0��n�

��<]��\���0�����xu���
�<��Ȣ��7�Ɇ���
"�e1Z.��0�<����2C-D\�����0
 mZ�Z�����U���Ҽ@r-��N?`?EIW��"!���"؃��_Gl��9����e�2�a���m�9�"��L��c��yTJx `&��s�p_!;�KiL�n#�_'O��Yt�0�����(��ijϧ-�L�!�\gy� �
Ab�9j��Ê
+
�pc"�I�"�bˋ��6Ld��~,D^�(H����B�F���Os��j� �:��,�S����R�EZg��O�
��먴��Y���GCL=�
�eTxtQ��Q L�;��Y����
�Qhk��rK���yly� ����U,e��e^��	R�XšL?_Ƈ��r�61x���j�G�
�f��	ޚ�q�x
�zȶ��B�RU�>��m�GI[��$�<x���� D���,���d�O�yF�(�ؑ��!���ѢxMܾ�u�0J���d��
2!�� ��tt�Yv[�o0�#�.�m��Zh@��zo��wG��:�O)����޴ܼ���E-�����N_��Q#p���8/7?<����������]���K^Vy���������mK��+�!t�i�ܲ���u]��N����ȳ�l�fd�5��g���{�BS1j��"��f��Z����hJ.�J�{���8�wj�hXL��*�N�)�~"7W�v�ы�I�T\�۫ڳ�%��������0M��d�?ܓ%Ρ,�͓M� �B���S�'�!�#O�~Q�
�N��E۳�_M�n3�\��LI8y�<�ǁH��\r�.M��4��;�3
��n$(F��4�����®M�q��F�h9���@�~,չV��|��}�g�׈���>u�g#���s>�!ƶO�ڳ��@ģ<�Bn�\���}�ʏ���) [...]
+endstream
+endobj
+5829 0 obj <<
+/Type /Page
+/Contents 5830 0 R
+/Resources 5828 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5791 0 R
+/Annots [ 5807 0 R 5808 0 R 5809 0 R 5810 0 R 5811 0 R 5812 0 R 5813 0 R 5814 0 R 5815 0 R 5816 0 R 5817 0 R 5818 0 R 5819 0 R 5820 0 R 5821 0 R 5822 0 R 5823 0 R 5827 0 R ]
+>> endobj
+5807 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.912 565.284 350.381 576.188]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+5808 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 511.401 192.544 521.328]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
+>> endobj
+5809 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 429.662 190.054 440.566]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a605b7611d045e0ea0ff47c2ec36c2268) >>
+>> endobj
+5810 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 390.808 190.054 401.711]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a9db5a39fe27d6c659e9c6ce626e83dfa) >>
+>> endobj
+5811 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.391 390.808 259.214 401.711]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5812 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 351.953 190.054 362.857]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_aed024de0dc1ad69e380f706d25740cb0) >>
+>> endobj
+5813 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.391 351.953 293.535 362.857]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+5814 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 313.099 197.803 324.003]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a6135986b7669c295a1855279a9347433) >>
+>> endobj
+5815 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 274.245 190.054 285.149]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+5816 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.794 274.245 241.6 285.149]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a804b0e848b19f18d99664d5bbd57a3f1) >>
+>> endobj
+5817 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.937 274.245 345.081 285.149]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+5818 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 235.39 179.554 246.294]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+5819 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 235.39 250.666 246.294]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_aaf6afcf59d181946f02b27418d9b651a) >>
+>> endobj
+5820 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 196.91 155.265 207.44]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_aa33b89d7143376193110dde339707b0d) >>
+>> endobj
+5821 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 157.682 158.044 168.586]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_acce6ad80815e7d09970ed92968967585) >>
+>> endobj
+5822 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.382 157.682 227.204 168.586]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5823 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 118.827 161.013 129.731]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_aad63aea0771a124cfb70c8e8e80779a3) >>
+>> endobj
+5827 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5831 0 obj <<
+/D [5829 0 R /XYZ 90 757.935 null]
+>> endobj
+1405 0 obj <<
+/D [5829 0 R /XYZ 90 669.72 null]
+>> endobj
+230 0 obj <<
+/D [5829 0 R /XYZ 90 663.119 null]
+>> endobj
+5832 0 obj <<
+/D [5829 0 R /XYZ 90 529.398 null]
+>> endobj
+5833 0 obj <<
+/D [5829 0 R /XYZ 90 448.636 null]
+>> endobj
+5834 0 obj <<
+/D [5829 0 R /XYZ 90 448.636 null]
+>> endobj
+5835 0 obj <<
+/D [5829 0 R /XYZ 90 409.901 null]
+>> endobj
+5836 0 obj <<
+/D [5829 0 R /XYZ 90 371.047 null]
+>> endobj
+5837 0 obj <<
+/D [5829 0 R /XYZ 90 332.192 null]
+>> endobj
+5838 0 obj <<
+/D [5829 0 R /XYZ 90 293.338 null]
+>> endobj
+5839 0 obj <<
+/D [5829 0 R /XYZ 90 254.484 null]
+>> endobj
+5840 0 obj <<
+/D [5829 0 R /XYZ 90 215.629 null]
+>> endobj
+5841 0 obj <<
+/D [5829 0 R /XYZ 90 176.775 null]
+>> endobj
+5842 0 obj <<
+/D [5829 0 R /XYZ 90 137.921 null]
+>> endobj
+5828 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R /F11 446 0 R /F79 505 0 R /F97 1188 0 R /F23 368 0 R /F107 2332 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5870 0 obj <<
+/Length 1518      
+/Filter /FlateDecode
+>>
+stream
+x��YIs�6��W�R3
�5�6Sg�M�؝
��� �nH+ʯ�AR�i�v�8=h����m�[ l][�z5��jpv�c+D�G=�jn���=�%����h��;
��}1$��2哋!�v��b&��]<�\���W"����\�T)��2l�L�R����
9$�-�Hh�����a��Wo\
�
�
[�����w������5��o,��0��5Uj�ԁkb]��F'���6t#�C�X>u��Q��f��;�㈁�Q��r�F��BK&�?ԴZ��f_��.#��'�0���@�v����#B+ a=W
K)�\j���B�5�~e%3���9v�wK�	�h�6����TE
ge�]k��.�5����Tj�����k����1%����ϐ��\/qvN���
+E�����8Ǝ!
7�\�ᠥ)�24�Fq��;-Q�X"��DZ��_�#��v*�e����O
�����
̍Q�Bÿ�
�Hd��p��6�����[�:j������Z��G��T���_r���~��|{b�\�Hg�/�N��'ɎE!ոؾ�2�Y�Ps��A�2V�bv2���U >�R��8�̪�8����7m��=�qQ��C���8R����I��������ׯͭ�ta.Jd%X;o���
�]�����t�
�[�"���s�wkC窔�7
�3�4
ﱦ�<J����=
M�g�ȇ 9
�
	]‰�{��P�
���w���A����EL�(	�#:V��
�mn�C���+/�EZ��mJ-�Ӆ͋=+��
h��|����
+�}���^��=�dl���4�=b���ev��������ǻO�-�����މw �z�F��1�"13o��=6��D���x���0���:�ۿy63�*�����G@�����vẈ(�ŞA�'�!c�#�������o����
�
X��GUQ$��W��>5��:=�<Q��C������=E��������JE���D��Ĥ\��W���<�4���d��5�)��Z��+�C׉�xՕ�|����3��"�QS՛����O�-1��@�<����
+�O�����Ny���m6
��� ��{ڦ�:

+;bӤ���ٝ��_۷6�z8<[}OA�\��b�
gP�J�˸\�0"Ѐw����,������9"�A�X#�
�V]]�#��4i�ߋt*��?��HW�m���!�-�zL>���̢{cd�"S���DʿNT�#1�ޛ��`�8�����b��H��_�W�;�{�<jg��=�cJ���3�F���q�1Ot�<��_w�w}�
���z�);�
�u�
g'��L�Y\�E������7!s
�I��C��?
�z�MD�"Xm
��%�h��u�ϒ� >
�Z��T�V9��p�h�y�(���<"j��`@�!���."֖�����2��c{�e
�/���=5�|ϳ�m���7����Ԉ!Z�fj�-j�^_����%ݐ�a��oeY��Ζ�%���)$�˳�H�n��
.
+��)��M��֭k��eZ���� ��ܓ�N
+endstream
+endobj
+5869 0 obj <<
+/Type /Page
+/Contents 5870 0 R
+/Resources 5868 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5791 0 R
+/Annots [ 5824 0 R 5825 0 R 5826 0 R 5843 0 R 5844 0 R 5845 0 R 5846 0 R 5847 0 R 5848 0 R 5849 0 R 5850 0 R 5851 0 R 5852 0 R 5853 0 R 5854 0 R 5855 0 R 5856 0 R 5857 0 R 5858 0 R 5859 0 R 5860 0 R 5861 0 R 5862 0 R 5863 0 R 5864 0 R 5867 0 R ]
+>> endobj
+5824 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 719.912 195.165 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a2b29f5668213f9171cfdc666ef4142ea) >>
+>> endobj
+5825 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.442 705.292 226.112 715.197]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
+>> endobj
+5826 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.148 694.333 227.817 704.238]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
+>> endobj
+5843 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 670.473 187.563 681.003]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_ab174d3f8d008aca83801ae0de294528d) >>
+>> endobj
+5844 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.482 655.478 271.151 665.384]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
+>> endobj
+5845 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 631.618 150.493 642.149]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a6b57cf93153051d3aa63c33e34ee4127) >>
+>> endobj
+5846 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 592.39 181.845 603.294]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a9fe4a78fa5899317f5a060d7b607b5c1) >>
+>> endobj
+5847 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 553.536 181.845 564.44]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a7b9d70f9508c08b9a86272878ca03b5f) >>
+>> endobj
+5848 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 514.682 154.727 525.586]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a25fce97f25e1814c62ec46b7a04ee942) >>
+>> endobj
+5849 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 476.201 176.505 486.732]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a37abf9e26c109cf608ec7829284883ec) >>
+>> endobj
+5850 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 461.207 450.955 471.112]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a7b9d70f9508c08b9a86272878ca03b5f) >>
+>> endobj
+5851 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 426.014 191.718 436.918]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+5852 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 426.014 288.852 436.918]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_ab0063024b3761b3ff89c3f259ebac6fe) >>
+>> endobj
+5853 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 387.16 191.718 398.064]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+5854 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 387.16 303.079 398.064]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a7072dc2f1979eb1198aea49e10bcd59d) >>
+>> endobj
+5855 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 348.306 156.281 359.21]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a02e5a05e31a64af8bb2652645f74190d) >>
+>> endobj
+5856 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 348.306 236.24 359.21]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+5857 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 267.543 203.075 278.447]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+5858 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 267.543 296.324 278.447]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_ad53075833d1bde0c9e36dd70afb4b967) >>
+>> endobj
+5859 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.005 252.923 345.599 262.828]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+5860 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 229.063 194.297 239.593]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a071ec60375df0a0f5051dc431f445e37) >>
+>> endobj
+5861 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 190.208 188.759 200.739]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a02b52b4ef5b1806566495cb7b6d35abb) >>
+>> endobj
+5862 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.953 150.98 237.097 161.884]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+5863 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.836 150.98 309.903 161.884]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a6e9c19c25562f9d1a71523d00b337450) >>
+>> endobj
+5864 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [290.965 136.36 398.006 146.265]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a600c942b0a2e94b550ccd84ef9c30928) >>
+>> endobj
+5867 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5871 0 obj <<
+/D [5869 0 R /XYZ 90 757.935 null]
+>> endobj
+5872 0 obj <<
+/D [5869 0 R /XYZ 90 733.028 null]
+>> endobj
+5873 0 obj <<
+/D [5869 0 R /XYZ 90 689.192 null]
+>> endobj
+5874 0 obj <<
+/D [5869 0 R /XYZ 90 611.484 null]
+>> endobj
+5875 0 obj <<
+/D [5869 0 R /XYZ 90 572.629 null]
+>> endobj
+5876 0 obj <<
+/D [5869 0 R /XYZ 90 533.775 null]
+>> endobj
+5877 0 obj <<
+/D [5869 0 R /XYZ 90 445.108 null]
+>> endobj
+5878 0 obj <<
+/D [5869 0 R /XYZ 90 406.253 null]
+>> endobj
+5879 0 obj <<
+/D [5869 0 R /XYZ 90 367.399 null]
+>> endobj
+5880 0 obj <<
+/D [5869 0 R /XYZ 90 286.517 null]
+>> endobj
+5881 0 obj <<
+/D [5869 0 R /XYZ 90 286.517 null]
+>> endobj
+5882 0 obj <<
+/D [5869 0 R /XYZ 90 247.782 null]
+>> endobj
+5883 0 obj <<
+/D [5869 0 R /XYZ 90 208.928 null]
+>> endobj
+5884 0 obj <<
+/D [5869 0 R /XYZ 90 170.074 null]
+>> endobj
+5868 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F107 2332 0 R /F97 1188 0 R /F106 2337 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5895 0 obj <<
+/Length 2416      
+/Filter /FlateDecode
+>>
+stream
+xڵY[w��~ׯ��aM�/4�/����N�qv��a�
-	��	0��_���n4;�=�4Mu]���xp���?�\\�Ix��,�qpsd<Hb���M|g2Z��<�n%x�����w+�æz~0E��ky������צ6m�7����]o����<|]�]G�w�δ+�������(�*^�p���W7�����C',Q:�l/>����
8SY<�U� �
+�U�����MR1
k�革���қ}��˦�P��7:
�ȃ����2z�{��ۦ7�b���~d:7��nP7���lo�f;��{1%��^�@�,R)l��V~C)�tՇ��@t}q}�t}kr����2t]{�|�ξ���
Ņlbd#Ā	.���_L6�9D$,K3����JwI�
ڟ��03c�����[��,HA�8B��Y�"��ZD�L��������:��B�lQ�
֯�dq$m�T���O6E��e�4����&�n.�>D��>��v�xF*.�����D|d$�X�;��(FO
�i犳7�a}>7�L�(T����lʼ*�g\�f��H2�&
���#�x&:+Āg��6�b�2c:��5lg�2Ʉ+�_�>/+_a�4ݦ-w����1��
vC�asG�{�Վ��J��U���h6�t1�$ll�=���,,;����%M�̰��k�}՗��U-��qU�(�9k:�I�IkN|�
\;�3��ǔ��ڠ�J�a�?�P����+ִ}�uA�M�t���kJX��@h��~05=*�δ}Y��k���N��.}ȧ�L���.��d��ԝmQ���;���6��M^U�n��q��ަ$ih�Z�}^U~�	���X�
|�'[�{�em��H".c4
t�G	VE�'ަuO�L�s�X�ÒZ��B+�����
-0�yݻ}�z%�.�K��k������Ε5��v�-���7վ� �r�ӵ2y�M�Yp\��:
��!tǮ�i\vtuAA1
�R[<�M{�a`9��-��q�r�t�ݮ��p���}v7�fN��I�*���޹��l�cLvĢ2�h���j�%Q�%�;�h�a�@l�{D�\zꐑY�d�۷���
�K��T��$:���
�7�ct�1���� ����2�֖�^��
J�~����'%�fZ淕�[�
��4aQ�};zZ��uS� c� %fi2t��O
+������Y��jP������(�	D� ��~�Z�ɿ�իu
��	��1
���e��^Z�,��a�]Y�L&��hB�����'ym
+  ���nl�*5r %�����wZG����
r$�?�wGK�(Z!>��6�hA)O�Qv�*���)�d��H�S��Cg���tt��hm)�E��7]�[�
�$�4Q=��H����ب��
+XX6p�w�A
HAX�fD��b��\0$"�9Zu

+1��l���)쾛�0���
�V�&^��?��2� �p$@����!��AĒT�i�w Ϗ��
�ֱ¯l
+*@JY�(�m��P��
+�X�u)S���i��MӶ��5u�&l�D�5�"��w��yI�n�&��i7�%Q9���!wr�f����D� ��D�7�z͏:wb[�LF���y����
�E4�:Ú��nMC��br)����"��t�\�$���KT�(&[,�蘉hR�f��΅+[���,C at v�nԴ�}�z}�б�q=�}_�4�T���o��IrXA��ӱ� ��|X�&�� ��D5kA��zs�1��|��qk;�����'����Q���b$w��
���9Ѳ?���IE�MF�r���-�`{��ayGӏ��yA�ㆎ��j�Ɖ�"��f_^�m���̈�؝��
���(����
�XH������韪h�[)�ӌI��>���k��6���Y���[��Hp"��r�u�/h��<}~,:�
���Y���d`S�l��H5�(ӒZ��4�I��B�����d�O&;�����%��/N����?$E��H���p�O��[̟}Yӎ ?��
Uk�Xǽe��KT�穝byܨ [...]
+%�W�xr��K`+P[�����2?UP��!�O�Ѫ_ZP'[�c7%Љp��|ypi�N�g>�OJp��߷�͉bq�V���wZ
͊+�*� 	���f)܏��]���&؁S+�?F:<!y���b�x�1��f���d
�鹿'�oI��H����hV��.���x�[���n�	��+�Cg���z���U�w��m7Tj��p���{c��d�?�
���"��|2��C�ﮯ�
٦c��ܵ��v���i��(G�?.w��3�m<�.k�D���l���0��N
+endstream
+endobj
+5894 0 obj <<
+/Type /Page
+/Contents 5895 0 R
+/Resources 5893 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5791 0 R
+/Annots [ 5865 0 R 5866 0 R 5887 0 R 5888 0 R 5889 0 R 5898 0 R 5890 0 R 5891 0 R 5892 0 R ]
+>> endobj
+5865 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 672.023 226.034 682.927]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_adcd147a1c5474a820c7379514f629fda) >>
+>> endobj
+5866 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 672.023 397.32 682.927]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+5887 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.794 634.197 172.16 645.1]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a71a39e295673dabbc4661c7c0a2c3445) >>
+>> endobj
+5888 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.855 634.197 379.081 645.1]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+5889 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.021 634.197 513.996 645.1]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+5898 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 622.241 225.471 633.145]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+5890 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [275.628 540.771 351.772 551.675]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+5891 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.234 528.816 223.057 539.719]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5892 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5896 0 obj <<
+/D [5894 0 R /XYZ 90 757.935 null]
+>> endobj
+5897 0 obj <<
+/D [5894 0 R /XYZ 90 716.221 null]
+>> endobj
+5899 0 obj <<
+/D [5894 0 R /XYZ 90 585.897 null]
+>> endobj
+5893 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F11 446 0 R /F79 505 0 R /F97 1188 0 R /F72 404 0 R /F31 506 0 R /F7 541 0 R /F8 540 0 R /F23 368 0 R /F1 580 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5908 0 obj <<
+/Length 2042      
+/Filter /FlateDecode
+>>
+stream
+x��Y[�۶~�_���j,,./�S��>I�6��ON�
,	I<�H����
`@��r7�n��:@`f0���E��G��W��\]�����$�w���E!#�3�&����
,��R���`�W�N����ԯ��Vg��}��5�9�V�u��U��C���b�%�_�m��V�u�`���T�"
+|.�ů7?\}ws��]�c��HH/�]���z���Q"����Y;/������_W�����{�^D��2�G�"£؋� 4���MK��M�
�����6��̋��
�8���E@��{��ϋe����$������o���Nh�0;�G����}V����fq�^���,&M@

I����]���(���>/78�V�}�w�����Z|��юg�����!Z\�Uf�Q��lYW�l��4���2s+b��N�~�U��K���W�M�Ia�pl���[�y!���͌��$�	���9'ނ顷�L2Q�m��[�s-�"��
>�U���Iz��(�l�Fo�X���$���
����p���IhBq�ڠ2nIH�?���`J������)�5�93Ź��/~��G�)�?�)�{޼��
��=,�B�o-��fZTmo�D���td�ﵛ�Jld�Jy��tFTI�Z��H([~0ES7�.fЅDŽq>L5ǐM�v�FO�l���C3�Z;�Z��2-�LgCW*� [...]
�53��F
 �����
�	]5��2~�u��X/�K�� m3�8H�c�z�
KK��K�q�������?~w�}
��|
�g0��T��\%{
�6�(8EK'.���P�q�7�N7c2�����]_t�ȱ���4ٖ[
_;�e��aB
9T�R�vY9�@�T�i�$�H�r�j�8�A�X����n&Q��\�#�Um�8c�G��
����+C~�@�V�Mf+ s�Dı�{�
8���8�Y�9�%M����O�����$2�ԩ�A��Ƃ}^8�6�>���Y兺+��!�
	�N<�����䛼T�N�hP�
qt o�10EòM��Uc�⋡���D�<
��}��#'U�)Y_y��ѲA\֗���Μ
+ݥ�����F$bPA>O>��>���ww~՗i�Wn��~�쐃IX)��DaN�]U9�}�7���?
���٫ʱ
���1F
^nu�����[Ugu�6B�ɕ�5�{
;n�UǑ}[i#r�����l���45�t��uM��!	�9h&>�
�cZ��.�b�X����ꈼ�̊�$�8����o�:#�)rk���Vӏ�k�J��j�M9�K|:�s�ԃm1��<��|n6�����W�{;�Ǝ	��+:��.�
#�01-
0��a憛�@R��C��.�g"�ɳ�{lcΒ�\��Y:�鳒K�i���ʦId�o�l�ʁc����ѯ��>P<
�$$1w4��
b�
?l���PI".]�:��l3� 5o��\T�D��L��䘈(
&�f�}�����c��50����r�����F���DA`ȭ�i��j#���?��r�BF����5�4�m�3�.DD8
.�w���IB,�&I
+�
s�(�Ń@�d�x�%	��x��� ��4�m��3��$
)�Z�dH��W�U큧�~�9�?)���Ɨ��d�6��
���R
��g2�
��.��o �YH�B�*��`��A^дc奄Y>��
8.��7�~Ļ��Z�Dc0l��^]_��{���/�!yw]���}�<�bh<z���f��0��yt���4/-?
+endstream
+endobj
+5907 0 obj <<
+/Type /Page
+/Contents 5908 0 R
+/Resources 5906 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5914 0 R
+/Annots [ 5902 0 R 5912 0 R 5903 0 R 5904 0 R 5905 0 R ]
+>> endobj
+5902 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.547 201.825 513.996 212.728]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5912 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 191.927 106.488 199.648]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+5903 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.828 172.245 375.297 183.149]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a6a5f64baba3ae5704d9645db684434d3) >>
+>> endobj
+5904 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [310.804 98.244 445.257 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a7b9d70f9508c08b9a86272878ca03b5f) >>
+>> endobj
+5905 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5909 0 obj <<
+/D [5907 0 R /XYZ 90 757.935 null]
+>> endobj
+5910 0 obj <<
+/D [5907 0 R /XYZ 90 304.392 null]
+>> endobj
+5885 0 obj <<
+/D [5907 0 R /XYZ 90 282.08 null]
+>> endobj
+5911 0 obj <<
+/D [5907 0 R /XYZ 90 282.08 null]
+>> endobj
+5886 0 obj <<
+/D [5907 0 R /XYZ 90 173.241 null]
+>> endobj
+5913 0 obj <<
+/D [5907 0 R /XYZ 90 158.838 null]
+>> endobj
+5906 0 obj <<
+/Font << /F70 402 0 R /F72 404 0 R /F56 367 0 R /F31 506 0 R /F7 541 0 R /F79 505 0 R /F23 368 0 R /F100 1390 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5930 0 obj <<
+/Length 1648      
+/Filter /FlateDecode
+>>
+stream
+x��X�n�F}�W-�R at 4����
+�K��u����M�e��JR���"%Jv�A��5�s�sν$v�v�&?\MN^؉P�S߹�u"�>A��j�\�#ʧ3�1v�M	v�:����e���:�����q�9==;7]�b)��r����M�����E"� �h�RN?^���|5�kB�%��P������Y��7F,
+��ڕ;
ep͜������;�P���u8�I?	�RH��N�s��}���ץ(D
�em6���X���9���F�
�A���rwm���B/�2[兹[�x�w��e.S e�=�
P�Ɍ(��eGQ�
��Z��g���i���0X0�̘�PDBgF���KR��"-�V�r�h�*��N����:0X��y��TB�dx:[
�l�")��} p@��X�݀tP4���
+�O=[�4�2�á�:[(�i��K�����s���s�x��b~f�0��4�ȍ=
@���0d�"��-�<�
�^թ(&+/mV/Dw^�ZI�����S��dL��%��Ҡ
�#bNh���iٴ�~qf�>ӗ�2UUn�s�p�|�f�ŋ��H�(�P�s<�q~�H}�B�m����H�#�pԴ��^1C(`y�Ȳ;���^4�Z�z��A!
+ ��A��}]�}
A��
��y� �[=�v�V�ְ��s�h<��u*�9—y�K�m�5b�@_�-Sz;b(D�v�r�w��w	L����ȫv3���^����J�@��j�������(��2
B;ߌ��;
+�K�ڷ
`�	?
������d����ws��w��Ȼ�6��k�X-��)y
@�f����ss}�V j�|/{p�©̃S�q%W�PϏ���
i��Q�0�AV����9�rЬi4l(��LɨTw�p3�$���^H�X��*�$��|��Db;�>�$�Ig\ɟ*�H�b ���E0AĶ/��+�8���Ӷ��.5�#��Zk��fзm/Q}wؘo�,Ӡ���i&N�͍��c08 (���
+���8���2tw�UJ#���Z+�C��/:e�'�S�/n�U��N���Ru|��
+Xܧ�^K�.��^d�Q���H�Q�o�"�V
1��Hy1�n(�:���|`�qn���c
��f����idi
O�����V���m���܌k�(J�g.�(m�h�B��
��u�q�i�/�D4�������a#`��`�@V�q|�Dz^}�������Y�G����[��Įu�>��	GmY"ȎYz�p,������)�����QF
�U]X*tS������U��W�Z��\�0C2��6��(�y�L����*�pf��%�Y��h!���
Uꠙ�S��Q���1�|f��������x^B7ի�E�u���1a�ڏ�W�A�1������ѧt�8��g�b~�1s���]�Uz�t5H
���>t��I���^CT�!
+�
a����`zO�i�� �CO'?�
�*��� T�
ZQ�
|~�󸈥Rh�8���
��` 
���A?T���a�~����<B܊Q7cw~�O;v�f��?�7��N���4���ʒIV�^��	��2
��,
�!3H֥�P�q����/5�m�%!E8�^+�ڶ:=9Y��(iЪH���	
~'�2ٳ�Q@�	�P��7s�~�������
+endstream
+endobj
+5929 0 obj <<
+/Type /Page
+/Contents 5930 0 R
+/Resources 5928 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5914 0 R
+/Annots [ 5916 0 R 5917 0 R 5918 0 R 5919 0 R 5920 0 R 5921 0 R 5922 0 R 5923 0 R 5924 0 R 5925 0 R 5926 0 R 5927 0 R ]
+>> endobj
+5916 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.828 690.333 375.297 701.237]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a63fd965105d740ff7003037964ec7d10) >>
+>> endobj
+5917 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.852 241.575 245.94 252.479]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a6e613e3f02e896503d38da788ad593b8) >>
+>> endobj
+5918 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.277 241.575 329.905 252.479]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5919 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.331 206.823 222.419 217.727]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_ab8dbbfce1fd68d57df6b05d5cc74c012) >>
+>> endobj
+5920 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.234 206.823 282.862 217.727]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5921 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 133.934 202.902 144.838]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+5922 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.4 133.934 300.037 144.838]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_aaaa520f25230108e6839b82747cae794) >>
+>> endobj
+5923 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.374 133.934 384.001 144.838]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5924 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 99.181 202.902 110.085]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+5925 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.4 99.181 314.263 110.085]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_ab2dfd07539bfb516c7ca2d04460064fa) >>
+>> endobj
+5926 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.601 99.181 398.228 110.085]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5927 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5931 0 obj <<
+/D [5929 0 R /XYZ 90 757.935 null]
+>> endobj
+5932 0 obj <<
+/D [5929 0 R /XYZ 90 676.811 null]
+>> endobj
+5900 0 obj <<
+/D [5929 0 R /XYZ 90 654.5 null]
+>> endobj
+5933 0 obj <<
+/D [5929 0 R /XYZ 90 654.5 null]
+>> endobj
+5901 0 obj <<
+/D [5929 0 R /XYZ 121.143 553.486 null]
+>> endobj
+5934 0 obj <<
+/D [5929 0 R /XYZ 90 536.812 null]
+>> endobj
+1406 0 obj <<
+/D [5929 0 R /XYZ 90 414.538 null]
+>> endobj
+234 0 obj <<
+/D [5929 0 R /XYZ 90 407.756 null]
+>> endobj
+5935 0 obj <<
+/D [5929 0 R /XYZ 90 309.336 null]
+>> endobj
+5928 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F79 505 0 R /F97 1188 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5998 0 obj <<
+/Length 1607      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs�6��W��R�
+ƒ ����&q�i3u�d<�˜�e��,��.
�$���D�(�O$��b�
`�7���z���`|bO")��N=��P�)��O0�|8"c�pH��y||8��/�řJ����������

�Q�j���r��⦱���)|%�����4�ҧL?��:���=bD�!
+�&���g�%������77T�P��{?�g��:w=o�Kp�H�<!%
+p`u��N۳\��Ċ�w��-����1p�ʉ��{#"���D�t��xG
�xa��&�O�\O���
�
�PC���1X0�7�h�O��<���
����O�����,�
��v"��Q�D@@=���LF0�޶�l�2\��E(�ΐ_Z�5�!�ti�x����q���n�FB"B�7�ƾ/�b���E�n�>�����L�v��R��p�
����E{�X��?

�aD"�Kx�'���u��Z�ً8�%�u�>�3~�8����p

+q�H��	�X�!�ʿ+�
�w��j/AWY�<N��K
nv��&I/�f��AH i#�ǵ�O}L0@�Z���B��Ф��;I���	�_ ��!=���[::u󼃯sYo�2E2
+��2��"���$�f
)R�
+�


f���v�5�WaZ3�,�����G
��i�M��]��	��[?|�@#vS�h�.[�{b%z�����bwwg6y��q��T�7c泬M�l[2J0GQ���]��$9�<Ay�Z�{�a ;��7��g��PK��Q���	c��pE��[�;=8if'O��?�v�C�VC����^�;+��]&�n�uZ�;"	��7A��I
�`�tD|�(@bID
� {2
Œ��KK�.�
�aO�)�F+�_pH�vz.��C���'��1pGL���!S���^ �FG�.�i]O���O������z�m��چH�J%��aC�.��=�wF��"D��Y٦�� n
�����Q,t��9?���r�7���Nc�9�ۧk����{!ל�b{
�]s�/�v
%E!��t�&BDIp����n��$�6�eG���0�fz��Ym�C��Dz��Bi�kqi�_)�gݢ�9��lRChZݽ*�&�RE�S�4�7?S ��o.�ڧr;F���K�� [...]
+0��!�҉ਖW+��4�
�9+���-v��Rm�l1�
+	n�n�t�H h0����!�
+�^�6N�.a|��I�V� ň�
�`5r�(Nʙ=��!��m���/�{Vu�;���hO�i���/�-��yڌgBCq��LF���(K;�N�
;�芮L2D��L^]
�4$��g�.ab��n��	�k.�}�d�h�fQ���fZا��~y��Y��:5U�ק��5bc<��f<�˘��u���?/kձ�sSi �p�7J9
�"������
ی�V�n�8k���x<��Q3//Ѥ��Ӽ���f1� ��辵��Fƅmk�bK2�D���ģn�9���rL���1m�e�ƇF�?��r+�۸�Q�&�
�
+�}�
�
���,��=���RZQ��9��&
�iU��
WU6�]M��E���9*�N�
ק
0�Dx
�
+endstream
+endobj
+5997 0 obj <<
+/Type /Page
+/Contents 5998 0 R
+/Resources 5996 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5914 0 R
+/Annots [ 5941 0 R 5942 0 R 5943 0 R 5944 0 R 5945 0 R 5946 0 R 5947 0 R 5948 0 R 5949 0 R 5950 0 R 5951 0 R 5952 0 R 5953 0 R 5954 0 R 5955 0 R 5956 0 R 5957 0 R 5958 0 R 5959 0 R 5960 0 R 5961 0 R 5962 0 R 5963 0 R 5964 0 R 5965 0 R 5966 0 R 5967 0 R 5968 0 R 5969 0 R 5970 0 R 5971 0 R 5972 0 R 5973 0 R 5974 0 R 5975 0 R 5976 0 R 5977 0 R 5978 0 R 5979 0 R 5980 0 R 5981 0 R 5982 0 R 5983 0 R 5984 0 R 5985 0 R 5986 0 R 5987 0 R 5988 0 R 5989 0 R 5990 0 R 5991 0 R 5992 0 R 5993 0 R 5994  [...]
+>> endobj
+5941 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 676.689 191.216 687.593]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a9a22818e12d0abab8d8a8e0d3346f51a) >>
+>> endobj
+5942 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.032 676.689 251.659 687.593]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5943 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 643.39 191.216 654.294]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_acf54a358f4ddf09f56364da87de68a49) >>
+>> endobj
+5944 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.032 643.39 251.659 654.294]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5945 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.392 643.39 350.02 654.294]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5946 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 610.091 190.26 620.995]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a4039bbdc92a28fade431cb98f20b0fa6) >>
+>> endobj
+5947 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.075 610.091 250.703 620.995]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5948 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 576.792 190.26 587.696]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a11810ad660a4aa63766e8ebb0334b7d6) >>
+>> endobj
+5949 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.075 576.792 250.703 587.696]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5950 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [292.436 576.792 349.063 587.696]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5951 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 543.493 192.471 554.397]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a29b14636d21c90e28ee1821666dc1d64) >>
+>> endobj
+5952 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.287 543.493 252.914 554.397]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5953 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.647 543.493 351.275 554.397]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5954 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.36 543.493 448.988 554.397]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5955 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 510.195 191.366 521.098]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a2f220b5f73e79a2e6feab3a97a7e2445) >>
+>> endobj
+5956 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.181 510.195 251.809 521.098]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5957 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.542 510.195 350.169 521.098]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5958 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.255 510.195 447.882 521.098]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5959 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.658 476.896 203.949 487.8]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a7f9dc23eef0ab2ef9d07f4d53177afce) >>
+>> endobj
+5960 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.323 476.896 264.95 487.8]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5961 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.417 476.896 341.045 487.8]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5962 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [359.406 476.896 416.034 487.8]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5963 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [457.369 476.896 513.996 487.8]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5964 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.682 464.941 222.309 475.844]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5965 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 431.642 191.923 442.546]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a952922658abcdfb880fcf0a8483c9620) >>
+>> endobj
+5966 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.739 431.642 252.366 442.546]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5967 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.099 431.642 350.727 442.546]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5968 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.812 431.642 448.44 442.546]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5969 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 398.343 211.849 409.247]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a83b02e8cbb5d14a2ebf2843e6551391d) >>
+>> endobj
+5970 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.664 398.343 272.292 409.247]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5971 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [314.025 398.343 370.652 409.247]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5972 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.738 398.343 468.365 409.247]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5973 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 365.044 211.301 375.948]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a38ab8dc3ca19cacef112ca316bc7ce09) >>
+>> endobj
+5974 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.116 365.044 271.744 375.948]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5975 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [313.477 365.044 370.104 375.948]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5976 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.19 365.044 467.817 375.948]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5977 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 331.745 216.681 342.649]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a081a1af02e55d9903d0bf3816a6e91f1) >>
+>> endobj
+5978 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.496 331.745 277.124 342.649]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5979 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [318.857 331.745 375.484 342.649]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5980 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 298.446 213.662 309.35]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_abc1d7e892f343522c751d672d5632f17) >>
+>> endobj
+5981 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.478 298.446 274.105 309.35]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5982 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [315.838 298.446 372.465 309.35]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5983 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 265.147 215.316 276.051]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a01c5bdd401e8bc17ea983d941be2aa49) >>
+>> endobj
+5984 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.131 265.147 275.759 276.051]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5985 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.492 265.147 374.119 276.051]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5986 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [415.205 265.147 471.832 276.051]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5987 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 231.848 191.923 242.752]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a84565fd9471a52f83618d0d5ce461c3c) >>
+>> endobj
+5988 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.739 231.848 252.366 242.752]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5989 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.099 231.848 350.727 242.752]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5990 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 198.55 157.254 209.453]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a6d5c75bcc32f8aea006e8da4b3f736b2) >>
+>> endobj
+5991 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.591 198.55 241.218 209.453]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5992 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.951 198.55 339.579 209.453]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5993 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [335.184 110.199 391.811 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+5994 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [89.004 86.911 234.458 96.809]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.swox.com/gmp/)>>
+>> endobj
+5995 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+5999 0 obj <<
+/D [5997 0 R /XYZ 90 757.935 null]
+>> endobj
+6000 0 obj <<
+/D [5997 0 R /XYZ 90 214.865 null]
+>> endobj
+6001 0 obj <<
+/D [5997 0 R /XYZ 90 155.325 null]
+>> endobj
+5996 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F106 2337 0 R /F105 2458 0 R /F128 4375 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6019 0 obj <<
+/Length 994       
+/Filter /FlateDecode
+>>
+stream
+x��W[s�6~�W𴅙Z�P޶��t۝Iwݧ4��8L1�\�e}H`��Mvݙ>��A:����$a{ec����š_�ؖHzԳw�Ķ�$(�K��!Q���عr	v�b
�W.�N�6�jYD�o�m��ŻW�/Y�V�pgT`��4*K����`���b
RN�C9voﭟ����M:��|&�xm]�`{	��m��
�mg��9e�'�w

�2�=��&��"Q��8�6[���Q�����*�3=�)��ʪ���a��q9Z�C�ge��]o����7�)�m����JO��vgb��#hߴ��/a��pi@��W�7�������V�_���:X]�m*�=��
���3N���㣪�"3�F��
�hsA�A;�r�ޛ�:[�"m�l��	��
�?�Tt����
�1��/��D�C>�ρ�N��>q�=��8�W�h�2��ª�
>TQ�oI�6�*_]�I@�
N� �K�KC� a���Yw[4z�u�@~w��|��z��uۘ�(�q�#���S��(
���1��Inf��\�b/�l�b�8˭�f�âg��
��0}�e!���@ ��9�!6
+E
��R���>bp�����)^GY�:�p�/{%��G�����O�N��8��Uڙ����$���|�� 
�D��"(1|�/�G�
���J��ǧ�MIJ�#L�. ��F�;��O�
��.������
��ߛI^9�_Su=�o��P��5�x�"������&���7�"�d�D��S�z��� ?޹J�ӺR'\h��hp��7Eʙ?>,�]�>��b
8��\����y�h�$Ip꛵{��V^���y�µFӢ��U���m���[��[�(U�+�c��eu�l�]J�`�����I)���/���ju��%������U���Ϸ�-�KTgɦ@I5�l�����	��#���M��Uh�:��zw�����*�
+endstream
+endobj
+6018 0 obj <<
+/Type /Page
+/Contents 6019 0 R
+/Resources 6017 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5914 0 R
+/Annots [ 6016 0 R ]
+>> endobj
+6016 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6020 0 obj <<
+/D [6018 0 R /XYZ 90 757.935 null]
+>> endobj
+6021 0 obj <<
+/D [6018 0 R /XYZ 90 733.028 null]
+>> endobj
+5937 0 obj <<
+/D [6018 0 R /XYZ 90 716.221 null]
+>> endobj
+6022 0 obj <<
+/D [6018 0 R /XYZ 90 716.221 null]
+>> endobj
+5938 0 obj <<
+/D [6018 0 R /XYZ 90 654.586 null]
+>> endobj
+6023 0 obj <<
+/D [6018 0 R /XYZ 90 640.016 null]
+>> endobj
+5939 0 obj <<
+/D [6018 0 R /XYZ 90 580.418 null]
+>> endobj
+6024 0 obj <<
+/D [6018 0 R /XYZ 90 565.847 null]
+>> endobj
+5940 0 obj <<
+/D [6018 0 R /XYZ 90 506.25 null]
+>> endobj
+6025 0 obj <<
+/D [6018 0 R /XYZ 90 491.679 null]
+>> endobj
+6002 0 obj <<
+/D [6018 0 R /XYZ 90 420.126 null]
+>> endobj
+6026 0 obj <<
+/D [6018 0 R /XYZ 90 405.556 null]
+>> endobj
+6003 0 obj <<
+/D [6018 0 R /XYZ 90 345.958 null]
+>> endobj
+6027 0 obj <<
+/D [6018 0 R /XYZ 90 331.388 null]
+>> endobj
+6004 0 obj <<
+/D [6018 0 R /XYZ 90 271.79 null]
+>> endobj
+6028 0 obj <<
+/D [6018 0 R /XYZ 90 257.22 null]
+>> endobj
+6005 0 obj <<
+/D [6018 0 R /XYZ 90 197.622 null]
+>> endobj
+6029 0 obj <<
+/D [6018 0 R /XYZ 90 183.052 null]
+>> endobj
+6006 0 obj <<
+/D [6018 0 R /XYZ 90 123.454 null]
+>> endobj
+6017 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6033 0 obj <<
+/Length 1359      
+/Filter /FlateDecode
+>>
+stream
+x�ՙ[s�F���+xj�$��~�L�4�4mf�F}r<
,a���T�l9���;B� J�O�rn����;wv�G?MG�w
+;I�3�u
v�$HP�L�ΥK0�b���{1&���}1��]-��y�_���~�tvv�����(	�x�Q��7
������(�n�H95.�d|5}?z;
�="`vHf�PH1�̖��+��a���3�y�f-
N�.����G��;�!,E�
D�)\zH]Z���F���-����.JǨ�	
<��n�;�~��>y�)&ȐԶL��u>i�*B� Sf�h��[*�]�1H^>�4fʵj�e4�d-
Uq�x Lj"~�-z4�B�j \�����є��.�`�'��*�
+�7�J�0&��A�b�?f+R���
++h�1��u�-��i�	�}�
���F���m���?�T��&\EՔC��jD��Ů��p�d���|�l�! $�
dY
�bH
m
�QDL
{�-�c�n6o0�+�{��
�s$��c�טT4U�Kl1O��Z��<ƒ�W��'��WP�4-���6�wq ��������
+�U|�v�(�i���M�DZ�>��q�S�U�;o�Nq�*�=�%5�0��
o�����H/�u���U
�:�6
�ScN[2������
���	a���6�]�j��xҪ�+
��щ�:l��� 
��ۢ�� �������9��y���9-ygN��P�s��o�� ��Ӓ�9
w�s:s��S�bޓ�
+a2|
{��2Y��������%������_l�M
��vv_�z�'E� �FhV;}˜Y� 2X��\	ye�Q.[
q`�3z���E�BL����;���3쥞ZK�b�����:�������f
�4���ōR#���ZTgc#!F�����ml�o�j��E�����h$�Khi0C����
rn�@����d�:�]�!-F��u��`�8�
	u�_��a*�
s,�i�H
+jkF �4��Ҍ<GOO����z��6*�
+�hQ��$�*���P,�r�Ha��m���i}���-�K؁oZ�ˊ���ܲ�N
}�7�NJt9PAF:F�RVҁWX����ő�8��݋8$
:̔r��5�0X�NM���Q�)t�����I>P\!��&F늨m�:��Qbm\�<P�U�!&6�1�-��4�ތ�GX҉�
d�<^�
�u�0�Ī��B
ՎL�']π�Gځ޳B(�]�kL̘�����R#C������v�x��X�i��1����$�_�%�?7A��X�X�~���y�C**��c^@��
��� )?A�b��_N���Q@m-��:
�d}6�<>>��m�p
�0��׋�^�Z>�
+���@n��
���~&���:j
+endstream
+endobj
+6032 0 obj <<
+/Type /Page
+/Contents 6033 0 R
+/Resources 6031 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5914 0 R
+/Annots [ 6030 0 R ]
+>> endobj
+6030 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6034 0 obj <<
+/D [6032 0 R /XYZ 90 757.935 null]
+>> endobj
+6035 0 obj <<
+/D [6032 0 R /XYZ 90 733.028 null]
+>> endobj
+6007 0 obj <<
+/D [6032 0 R /XYZ 90 666.98 null]
+>> endobj
+6036 0 obj <<
+/D [6032 0 R /XYZ 90 652.41 null]
+>> endobj
+6008 0 obj <<
+/D [6032 0 R /XYZ 90 580.857 null]
+>> endobj
+6037 0 obj <<
+/D [6032 0 R /XYZ 90 566.286 null]
+>> endobj
+6009 0 obj <<
+/D [6032 0 R /XYZ 101.557 467.311 null]
+>> endobj
+6038 0 obj <<
+/D [6032 0 R /XYZ 90 452.641 null]
+>> endobj
+6010 0 obj <<
+/D [6032 0 R /XYZ 90 379.03 null]
+>> endobj
+6039 0 obj <<
+/D [6032 0 R /XYZ 90 364.46 null]
+>> endobj
+6011 0 obj <<
+/D [6032 0 R /XYZ 90 292.907 null]
+>> endobj
+6040 0 obj <<
+/D [6032 0 R /XYZ 90 278.337 null]
+>> endobj
+6012 0 obj <<
+/D [6032 0 R /XYZ 90 206.784 null]
+>> endobj
+6041 0 obj <<
+/D [6032 0 R /XYZ 90 192.213 null]
+>> endobj
+6013 0 obj <<
+/D [6032 0 R /XYZ 90 120.66 null]
+>> endobj
+6031 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F11 446 0 R /F8 540 0 R /F128 4375 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6060 0 obj <<
+/Length 1515      
+/Filter /FlateDecode
+>>
+stream
+x��Xmo�6��_!`@'1CR$%�uK�v�%��H�-T�
�8�~�N%[������)VD
�{����17��j�b2�|�`C")�0&3Cb�qJ�I`ܛ#*�1��7���.��E��D��
+Ro�[��z����U֘rl�
yYV��U3�Z�5U�+�$l"Lʨ�a�ft==���
R��
��������o
�l�Oժ���
#�n�����
���#�H̺
&��e�
��q=���j
+�����=��3隯��L_ǹ�C4իge�/��ι�B ���c?]ԋ:����%~gy��yGH�����X�c
I$N���ː��6��!À=uy��0;��@61�`_r
.�D���KIc�>U����C���]��!B�1f`ֱ�
?Uy�4��
���x�"�i����h��/TmlmQnzQ���dg�
[�(l��-���:w76 m���u
Q�V�!��F��
�
%Al at v�
!O��0g�h,��v�y-m8���i����&6wy�u�j��6��� �
��}b��� ���:�l����V.�E�v��<OS��iE����.ry+��@x�
xЄg��׳�K��y�G��uH5P{
*�e����
�8\Ԉy�u(����=
>I
�8����>�y
uJY��m��0��=���#�X�
�8�"��
E��IH%A�	�;i"zP
���0�!��"�{�i]����V�):�
�Di�q�w1
Ԁ}a����S��O�:���)p*{L��a�}C��U�`��{}��������Mw�@
��95��U#l����_�+��-{,�T�L�$?&9
�J�Ϙ\�Y��Jj��Z��/�P
������M�h��ogͧjB�s���V�L�e��̒(JJ5<���
������f�,+��
��hI���wW�Wt]�"�X��[�����0����a��7C6��>
0�򈻩�.�����$n#G���a�L¬e�..�y�#W���q��Hʹ�
����x�B�fb9�ܬ��&�?f5I�H4��CI��X�f�Uy7I���r[-�r��
+ OI��b��n��ۦ�i��ݿ���J!X}�@��r�@��;L
�I`*˝�Z�diO����{c�D�,D��@ު�CS5^�_
+��gcê'�B�������I9:�#��x�vU�
_
g�/�\�ufz
�e�z��0������׷w�Mg�7y~Q�Q���m�\�Zx붐�E.[)?,���Uj1n&+���u ��6n\���$�3k�Lo�<-�*7��d�Z�z�ϳ/��E��զEX��j_z*k\�V�=���a=!�[�j����ajU
� (��͗�OZ��>|�,�2��ԃa�h��
��%)JoO`��(�C��!�� I�~|\"������,��LY��
��w�J��875o�����d]�R��2
+�:)aG�؆Q�N5M������uT�J[o�Kv�[�"�WW��OOO��P����%�P��Mu�
+���~�ig�e��#>�sY���t ���^k
+endstream
+endobj
+6059 0 obj <<
+/Type /Page
+/Contents 6060 0 R
+/Resources 6058 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5914 0 R
+/Annots [ 6042 0 R 6043 0 R 6044 0 R 6045 0 R 6046 0 R 6047 0 R 6048 0 R 6049 0 R 6050 0 R 6051 0 R 6052 0 R 6053 0 R 6057 0 R ]
+>> endobj
+6042 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.279 313.829 192.296 324.733]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+6043 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.794 313.829 258.726 324.733]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a092f5c04d267ab5709dda2d3e51aaeb9) >>
+>> endobj
+6044 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 233.066 134.164 243.97]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a0262a2b32220536d8bc60d84ad8dac4c) >>
+>> endobj
+6045 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.98 233.066 203.623 243.97]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+6046 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.787 233.066 373.176 243.97]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
+>> endobj
+6047 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 194.212 134.164 205.116]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a727dc2405cfc5f2252e6f21aa0f18074) >>
+>> endobj
+6048 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.501 194.212 245.954 205.116]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+6049 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 155.357 134.164 166.261]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a31603d81a2b0571a82c4c79b8c6e4564) >>
+>> endobj
+6050 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.98 155.357 222.432 166.261]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+6051 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.943 155.357 308.887 166.261]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+6052 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 116.503 134.164 127.407]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a0c02302b6281fa91ef9275bd37e43efc) >>
+>> endobj
+6053 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.501 116.503 239.328 127.407]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+6057 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6061 0 obj <<
+/D [6059 0 R /XYZ 90 757.935 null]
+>> endobj
+6062 0 obj <<
+/D [6059 0 R /XYZ 90 733.028 null]
+>> endobj
+6014 0 obj <<
+/D [6059 0 R /XYZ 90 666.646 null]
+>> endobj
+6063 0 obj <<
+/D [6059 0 R /XYZ 90 652.076 null]
+>> endobj
+6015 0 obj <<
+/D [6059 0 R /XYZ 287.777 565.389 null]
+>> endobj
+6064 0 obj <<
+/D [6059 0 R /XYZ 90 549.285 null]
+>> endobj
+530 0 obj <<
+/D [6059 0 R /XYZ 90 437.875 null]
+>> endobj
+238 0 obj <<
+/D [6059 0 R /XYZ 90 431.275 null]
+>> endobj
+6065 0 obj <<
+/D [6059 0 R /XYZ 90 330.9 null]
+>> endobj
+6066 0 obj <<
+/D [6059 0 R /XYZ 90 330.9 null]
+>> endobj
+6067 0 obj <<
+/D [6059 0 R /XYZ 90 252.04 null]
+>> endobj
+6058 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F11 446 0 R /F8 540 0 R /F128 4375 0 R /F79 505 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6114 0 obj <<
+/Length 1805      
+/Filter /FlateDecode
+>>
+stream
+x��Zms�F��_�'W���w�
�6�i���4N�؝i&�h0:IL�K �Q}�^@ #$�����
��>��{6�6�{//z�o
lx�c&3.&��
�DMb\���}���C�1�
��Y��&�'�匏3�.���l���q�C������s5��'<����J�"�o��������޷
]�A䷩�
�A���cx�����\�JJE�mZp�罿zXہ��PV��`�l�5
�B�Qe�Ӥ������T+��g|
R0YZT���¨/�b�����Q�E�q1:_��ږ8�g���B��`�G'q�(ږ/�h	�5����.��l��i"f�Ɛ��%���"����|u�����0XN��COB��L�����p��0>G�:�tkxjX*�r\{���juc-���y�3�H�N���F���0�t�
��*ܦ"2��z0@�?�7��O�`�G�m�sr��<1�E6���ҹ_p1��H���� �vK�ߔDc%���T+-S
�WƝ�ϾL�l޲6���g������z�
��Qm�
����T��>�lD�&����]�Y�aӗ,
����,kU~;�L~l���\��~��r�6����܋?�
}8={�����O��
�
+ at A��)ptD@�6BCK�e���
#�nY�� �sS�;6r��_�����w��e�w��M��7�@̵oB���5C0`�^�c>
�É(�E},6Y��Bz��I��G`�e��~��4����  ā�����J��j������n1 f�)`w��n�=�����s$����C7g�
N�ֺ5�=�
�U�Z���=1�d�����:�&�W�z��e�+���$
�Y���%9WCm�����8�Z0N
+5P�Z�b��'�
�)�/����R������"iC������R�
�
+<�V=���JL�Y)ؽ&Cخ�k��,�Žg�M��,�Pd�*9Ȯ�t�j�e�����<\��0_��#>�~-� ~-���u��&��aMt�Y�� ��7�j�46l�w
�����'Ҥ�d=1c?[���G4�@v���&Ւ-%ƍ�rЍg�����л }1�x8�����.�7�fH(��(
+p=�<���� ��v6b��;ŬL'M%�/��B~<n�_1��i�[bf%����u
��y���0���R�	,�	U�~�<$���VC
JD�ԧOyt	8ʯ�Y�A�uF1�5ԯu}���	���RL+}���Ud
+�&�Z�My]!2u��9��I�������-ٹ
+��?k$?�b���[�d�B���2M��UChT�I^�
M&�
+:��2��x��<L���JX�0<�C��8�5I��~Վ�5q
#bU{/n��}�NZ�J�Cvp�s��j>B�Y,�
�eW!��-Ǫk����쫕/֩�␤�h�BNp�����to��6T���L
����Ÿ˦��&=
v��l
+䎵l�+�o��}����g-���H#uѪ+@�:�csP ��s0��#
+����c�ѕ�H=��TԄ��&\k�t�j�i
j��j��8�b�p��0u֨��VZi��5�I��B���lY'6��Gb�-��mIR�q�n;��@��7��5�j�{#-�*�6�>_�t˾O�k=	|��.H����������/'
y���Ј5���#�ɜ�Ez�+����>0�y�ˀҾv�/�CRa�w��V��zD5_��<�e�����(G
+B�5m�k"�TGP��H�
^]]� G�8L3�i:?��>�V���Y���$�և1<�|�¡u��*��4
+endstream
+endobj
+6113 0 obj <<
+/Type /Page
+/Contents 6114 0 R
+/Resources 6112 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6123 0 R
+/Annots [ 6054 0 R 6055 0 R 6056 0 R 6072 0 R 6073 0 R 6074 0 R 6075 0 R 6076 0 R 6077 0 R 6078 0 R 6079 0 R 6080 0 R 6081 0 R 6082 0 R 6083 0 R 6084 0 R 6085 0 R 6086 0 R 6087 0 R 6088 0 R 6089 0 R 6090 0 R 6091 0 R 6092 0 R 6093 0 R 6094 0 R 6095 0 R 6096 0 R 6097 0 R 6098 0 R 6099 0 R 6100 0 R 6101 0 R 6102 0 R 6103 0 R 6104 0 R 6105 0 R 6106 0 R 6107 0 R 6108 0 R 6111 0 R ]
+>> endobj
+6054 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 719.912 134.164 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a527ffa31e1581a8beb83a832244dada8) >>
+>> endobj
+6055 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.98 719.912 215.807 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+6056 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.336 719.912 297.281 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+6072 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 681.31 134.164 692.214]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a732d3b59f8a0ba21a72877d5fa4b98a5) >>
+>> endobj
+6073 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.501 681.31 260.888 692.214]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+6074 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 642.708 134.164 653.612]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a1ba0bd59426889233904d052224cab76) >>
+>> endobj
+6075 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.98 642.708 237.366 653.612]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+6076 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.453 642.708 319.398 653.612]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+6077 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 592.15 134.164 603.054]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a19623ff8cea2239d66331f29c1d0268d) >>
+>> endobj
+6078 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.501 592.15 180.102 603.054]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+6079 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.348 592.15 221.075 603.054]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+6080 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.489 592.15 334.955 603.054]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+6081 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 541.593 134.164 552.497]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a470e6a581b91bc6d5a4a6388d1ddde99) >>
+>> endobj
+6082 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.501 541.593 206.662 552.497]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+6083 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.526 541.593 332.993 552.497]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+6084 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 491.035 134.164 501.939]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_adf002bbcc4dcae5efdb56bae2971a64b) >>
+>> endobj
+6085 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.163 491.035 233.431 501.939]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+6086 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.546 491.035 358.013 501.939]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+6087 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 452.433 134.164 463.337]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a36cc3783cdc92ab5fc69904c298ed12c) >>
+>> endobj
+6088 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.501 452.433 209.431 463.337]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+6089 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.624 452.433 308.09 463.337]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+6090 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 391.913 134.164 402.817]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_aa28d735beef86789b73b41dbbde71abf) >>
+>> endobj
+6091 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.501 391.913 181.755 402.817]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6092 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [199.319 391.913 274.785 402.817]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+6093 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 353.31 134.164 364.214]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6094 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.904 353.31 185.71 364.214]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a1ba97c180500b43954b09532151f6c9d) >>
+>> endobj
+6095 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [213.048 353.31 233.301 364.214]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6096 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 279.036 190.738 289.94]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+6097 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.236 279.036 261.85 289.94]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_afc06f600e94b7bedb91d0371a51f4c38) >>
+>> endobj
+6098 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 242.679 190.738 253.583]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+6099 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.236 242.679 262.159 253.583]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a90ca2b1613fda31a2ac7e79d9388680d) >>
+>> endobj
+6100 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.225 229.306 390.082 239.211]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Affine_Dimension) >>
+>> endobj
+6101 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 206.321 202.922 217.225]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+6102 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.42 206.321 248.58 217.225]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a53b24395ac61f8b2b2accc5a3900bf69) >>
+>> endobj
+6103 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 169.963 202.922 180.867]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+6104 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.42 169.963 296.181 180.867]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a880344de195aef75a6b3f2a4db4787b4) >>
+>> endobj
+6105 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.616 122.646 233.069 133.55]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+6106 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.808 122.646 295.594 133.55]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a8688fd38682b19e97422816d72524790) >>
+>> endobj
+6107 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.616 86.288 233.069 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+6108 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.808 86.288 343.195 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a453e51570268eb4d63fc529130a54440) >>
+>> endobj
+6111 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6115 0 obj <<
+/D [6113 0 R /XYZ 90 757.935 null]
+>> endobj
+6116 0 obj <<
+/D [6113 0 R /XYZ 90 372.278 null]
+>> endobj
+6117 0 obj <<
+/D [6113 0 R /XYZ 90 293.989 null]
+>> endobj
+6118 0 obj <<
+/D [6113 0 R /XYZ 90 259.653 null]
+>> endobj
+6119 0 obj <<
+/D [6113 0 R /XYZ 90 223.296 null]
+>> endobj
+6120 0 obj <<
+/D [6113 0 R /XYZ 90 186.938 null]
+>> endobj
+6121 0 obj <<
+/D [6113 0 R /XYZ 90 139.621 null]
+>> endobj
+6122 0 obj <<
+/D [6113 0 R /XYZ 90 103.263 null]
+>> endobj
+6112 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F38 2120 0 R /F11 446 0 R /F97 1188 0 R /F107 2332 0 R /F105 2458 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6172 0 obj <<
+/Length 1467      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs�6��W�31�9֓d&Mg
��%�p(
+���U�����.^�%S�-+q���!)��ŷ߾@`kja�������M��ŁX�+�VD]b]���6��
�3�1�/
�픗ir�خ�匍y���G<��W���|윹��Eڶ���MwHd�*c )�H`���|�~7x}=�g@@l97
Q�Q++?ck
���0���Z�Q��
\
�j�a��:6�j]���_���b!��
�U��dݜWZ�n��M�l;V��z��Y]M�\�@��+u-�*/�B=Lj^"��m�
����g����k��V�\��	�>�Q,uh;��j�.���0@�U��]͓+��
Yb��r�B���i�$|��Y��ms�kv0
&
����f�
+
+�
Bm��xn
+�%����
�����"�b�^Ȅu. %�u�\�"�����P����"�f��}���W1�����Z�;^h�����b�WS�0b݂1	��
���X�EQ)̯ ��S�⻣|�[zL7�[5f]]A�0��j�#�Pī1ٴG
$�00#
� Q�ǝwS���(�
<zitbQ��HD�
�!���>)
=#�N����C�,�v<ͫ�?���ӓĞ�?�-��.v4oV6��Ս���0"�*�wP"�=�5� _�U�ԍ֤��~�"78����衮
+�UK�8��B/��I+����
��7��f�e'?�����0պ�����M]��<K
HYQ�l�5�
���c+X��5�7���t磖u��*]ݰL�Yj`�B��x(W���O��8o��!}'^�O�EzK��a�
�������� ����#y�T��;�2�:v�;��CX�v$�Ҵ�w*F���L��
YT#�����~�M HHZMO�zKw2�N�0�2:�,mMP1����;���"�qۂ���[?l}���!�@���Q��oD���4����s��}���{ţBX~��+S'潛D�
��Q�� h�4<V) C^+��$
�Հ>��|@�<y���m7��L�)�
����`Un^L���;��}�x��("ޱꕻ�1h� -N�;qn;��<�e�E~��|�#�Ch&D쥙���((^���y�&�������~�'��&�vJ��+I㗎|� ���MPLu��B�5/��#z��O����)��yJH�������R\F���8��]=Z5iUw��l(k������g{&��Yx� ��]�z������l�͡cQ�Gw�b�@
�U�<�߬,`Y���@-�hd�ٌ�=
4oT'
�ӛqi17���R+�y�ٞm�1
@S=�<J�P
z�>"GcD��p�F�
Y"�Ro6^��q�N?�z��e��R[+�{Z��!2g���GHD8�C^1�Ժ����o���;ڒ���f]׼��Z4�򆣼6M1\mc�\6����삖5_�G����w�� �7�}
+endstream
+endobj
+6171 0 obj <<
+/Type /Page
+/Contents 6172 0 R
+/Resources 6170 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6123 0 R
+/Annots [ 6109 0 R 6110 0 R 6132 0 R 6133 0 R 6134 0 R 6135 0 R 6136 0 R 6137 0 R 6138 0 R 6139 0 R 6140 0 R 6141 0 R 6142 0 R 6143 0 R 6144 0 R 6145 0 R 6146 0 R 6147 0 R 6148 0 R 6149 0 R 6150 0 R 6151 0 R 6152 0 R 6153 0 R 6154 0 R 6155 0 R 6156 0 R 6157 0 R 6158 0 R 6159 0 R 6160 0 R 6161 0 R 6162 0 R 6163 0 R 6169 0 R ]
+>> endobj
+6109 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.616 697.107 248.003 708.011]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+6110 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.742 697.107 323.26 708.011]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a8865893c48cc07adae5dca6b35081751) >>
+>> endobj
+6132 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.616 660.462 248.003 671.366]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+6133 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.742 660.462 370.86 671.366]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a6ae1850664122e9917f174d10fd3bf06) >>
+>> endobj
+6134 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 623.818 205.692 634.722]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+6135 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.19 623.818 261.312 634.722]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ad14942b33fb82bb3e6a13e5e92ada475) >>
+>> endobj
+6136 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.65 623.818 338.781 634.722]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6137 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 587.174 205.682 598.078]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+6138 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.18 587.174 261.302 598.078]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a803035024ab9670971868f4b1092f7c5) >>
+>> endobj
+6139 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.64 587.174 353.705 598.078]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+6140 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 550.529 205.682 561.433]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+6141 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.18 550.529 261.302 561.433]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a6f703ba611b9e5ff613f4df35347ee95) >>
+>> endobj
+6142 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.64 550.529 330.462 561.433]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+6143 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 513.885 205.692 524.789]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+6144 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.19 513.885 261.312 524.789]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ace98c3e57a1237e6dd5042b5a0919193) >>
+>> endobj
+6145 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.65 513.885 332.156 524.789]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+6146 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 477.24 183.824 488.144]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a2f31170286d3abc2f4867d0b193ae8bc) >>
+>> endobj
+6147 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 440.97 192.272 451.5]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a59634a195948ff0617177d0a41e30602) >>
+>> endobj
+6148 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 403.952 241.935 414.856]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_adc7cdee1981f44b5db23f6c28c79d0a6) >>
+>> endobj
+6149 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 369.191 213.163 380.095]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a621d377682c2c67051c24b1cc8a03497) >>
+>> endobj
+6150 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.501 369.191 260.754 380.095]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6151 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 334.804 189.901 345.334]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a2528b5f433e743dda827b1028b6c74cd) >>
+>> endobj
+6152 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 300.044 193.229 310.574]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a1a5606b64a035977b9d76b1932227246) >>
+>> endobj
+6153 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 263.026 238.459 273.93]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a0047a6aa4f26d9133b9d741f68384f38) >>
+>> endobj
+6154 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 226.755 187.689 237.285]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a3ac47497148e61f3d7a3da09d17a03bf) >>
+>> endobj
+6155 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.505 226.755 226.693 237.285]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+6156 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 191.621 228.895 202.525]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_aa033cfca735240b3699b523d60ad692a) >>
+>> endobj
+6157 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.232 191.621 333.482 202.525]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6158 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 156.86 229.503 167.764]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_afde364ce088f82cf2b9a231e7d9f2abc) >>
+>> endobj
+6159 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.84 156.86 334.089 167.764]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6160 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.98 122.1 187.264 133.003]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a042613c3f4ad30b298d70143c935d7cd) >>
+>> endobj
+6161 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.963 122.1 293.213 133.003]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6162 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.131 122.1 371.148 133.003]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+6163 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.711 122.1 455.727 133.003]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+6169 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6173 0 obj <<
+/D [6171 0 R /XYZ 90 757.935 null]
+>> endobj
+6174 0 obj <<
+/D [6171 0 R /XYZ 90 714.153 null]
+>> endobj
+6175 0 obj <<
+/D [6171 0 R /XYZ 90 677.509 null]
+>> endobj
+6176 0 obj <<
+/D [6171 0 R /XYZ 90 640.865 null]
+>> endobj
+6177 0 obj <<
+/D [6171 0 R /XYZ 90 604.22 null]
+>> endobj
+6178 0 obj <<
+/D [6171 0 R /XYZ 90 567.576 null]
+>> endobj
+6179 0 obj <<
+/D [6171 0 R /XYZ 90 530.931 null]
+>> endobj
+6180 0 obj <<
+/D [6171 0 R /XYZ 90 494.287 null]
+>> endobj
+6181 0 obj <<
+/D [6171 0 R /XYZ 90 457.643 null]
+>> endobj
+6182 0 obj <<
+/D [6171 0 R /XYZ 90 316.716 null]
+>> endobj
+6183 0 obj <<
+/D [6171 0 R /XYZ 90 280.072 null]
+>> endobj
+6170 0 obj <<
+/Font << /F70 402 0 R /F79 505 0 R /F56 367 0 R /F107 2332 0 R /F97 1188 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6233 0 obj <<
+/Length 1918      
+/Filter /FlateDecode
+>>
+stream
+x���s�8���+8e�L�H�Pg���m;�6��6{j;
��Ԁ
8����6�IB���d�����>z�������'^���a����5�f�s	r(1�B�I0���`���	������rB��.7
f��Ct�����˷YNΨ��WK?�u񣘉lB<S$� K�E\�����ջ��W'�O��
��vb�c������;#�{ƭ�6��si|:����8��縵�
��`Ww�
�ڝ�=��
�N�e�\���KG?��)�Dq�S4߶7�`i��&>D�����L�y�&m[�y*&�1�����
��k�J�lB
h� I�i0_��I�%g�%�-�/&�*b��l�3�A�qt�OU��qO�R/oE"2�H�fc���U%D�hq��?�k^p׵ոۈ0

��P�폢XgI._?�Y���S2S��l-t�=��B���J�
<b��P�d��%�I�Mp�
�Cs��!�V�#6r�b����u�IZ肈W�f�[�
�"L��)���\��$e�g N�L㲭�T��Fȯ،��p
y�;F
 Y�W�^�6]٦r�vr�,�2A�
FW���~%�s�%U,��:�X
�����.��,
�C�RoB����pD� \U��|�QR5*�˦���օQ��͌="�Q� �0(�d%ރ�ȩGI7�5�`�8��P$�� 2p�4Jf�H
h�jK��~$�`��_4�
��4���c�4k�5�h�� �|�Z�
�$����q�fN/��,�)�.�E���A�k�gt<
:�>����y����s�,� �YC��_�Dΐ��%	�CHH�g�&����5�'�67����"JS{D�]P��o11?�2ep=��c��Tx��Y����X�7�����X�m�w�>~nGq�1�ڈ�=�Z���,h��R7^
K6 /�^�v�|�Q�WY(�Z�vx�]WR�Z5IZDZ��YW_��m�1X��ۨXh׵c�Je�����!�
cX3\����H{����L�L
4u+�V��"l�y?��`�V�Q{�}(sa�-~�HC�i.��!�M}�z1
o�kd�*7B�ZN���l�`�e�&�N�8��?��|�ސ�a�g�qS�Y]&ez�
L�@��
'=��Q|�W����0� k��]{��8�
u�TdQP,7�g
=������s��
1�
GU�%o4&�����Ի��
|���;U���3u����C�Rn [...]
+����$�<[�����U���`�dsO�����^0HWe���V���3�sd9[2�	��x�{���hDwG�s�
�=W�aWm
�p	�Aw�y�q�
��i�����@+a��h���)}�)n�O33�
y;mtIC^
+וѸ	�䅈.�����N׾3X<��e6�tlm�ff>
+_��tĻ1�?���c�u���Cb�;���An0�?l�c��^Z�3gl�dB�u,� �
���Bi-H[ԝ>��
�
����촤pǥƶ�i���d�~�}46�=FN��ƶ3��	NG�f��D��э�I��C�Q�/e�ԁdv�B0�n\���X)�Q�G�F/ FZ(~�FZ�9��:�j2�#q��M�dµ[�;JF�c����1��ϲ�?�&+�§�L��6�����������V]u!���:\�r�]Uy��0�����_��Z�9W�7�oǩ6*~��˳�iJd�sHe����Y���$���~}3��{97h�[�Q��V苢X�<?���EA��I��PT��V���aH�
+�����A���6
���/bP3���:�^
+endstream
+endobj
+6232 0 obj <<
+/Type /Page
+/Contents 6233 0 R
+/Resources 6231 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6123 0 R
+/Annots [ 6164 0 R 6165 0 R 6166 0 R 6167 0 R 6168 0 R 6191 0 R 6192 0 R 6193 0 R 6194 0 R 6195 0 R 6196 0 R 6197 0 R 6198 0 R 6199 0 R 6200 0 R 6201 0 R 6202 0 R 6203 0 R 6204 0 R 6235 0 R 6205 0 R 6206 0 R 6207 0 R 6208 0 R 6209 0 R 6210 0 R 6211 0 R 6212 0 R 6213 0 R 6214 0 R 6215 0 R 6216 0 R 6217 0 R 6218 0 R 6219 0 R 6220 0 R 6221 0 R 6222 0 R 6223 0 R 6224 0 R 6225 0 R 6226 0 R 6227 0 R 6230 0 R ]
+>> endobj
+6164 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.98 708.953 187.264 719.857]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a8fa02815bb561135934f91c9adcd0cb5) >>
+>> endobj
+6165 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.963 708.953 293.213 719.857]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6166 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.131 708.953 371.148 719.857]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+6167 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.711 708.953 455.727 719.857]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+6168 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.235 696.998 220.058 707.902]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+6191 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.717 651.17 186.348 662.074]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a0d8ed7a0e48fe76e7221842c780192b0) >>
+>> endobj
+6192 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.523 651.17 293.772 662.074]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6193 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.35 651.17 373.367 662.074]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+6194 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.82 651.17 456.837 662.074]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+6195 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.717 593.387 186.348 604.291]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a53f980fb1ac8fa21265bec985bd1382f) >>
+>> endobj
+6196 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.523 593.387 293.772 604.291]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6197 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.35 593.387 373.367 604.291]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+6198 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.82 593.387 456.837 604.291]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+6199 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.581 581.432 218.404 592.336]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+6200 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.772 535.603 187.446 546.507]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_afae3a58c19c9a3b9916f29b7aca4d0e0) >>
+>> endobj
+6201 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.73 535.603 292.979 546.507]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6202 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.431 535.603 370.447 546.507]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+6203 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.745 535.603 456.762 546.507]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+6204 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 535.603 513.996 546.507]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+6235 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 524.022 159.485 534.552]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+6205 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.603 524.022 240.62 534.552]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+6206 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.985 511.02 378.999 520.925]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Frequency) >>
+>> endobj
+6207 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 477.82 180.496 488.724]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ad743f8b71eb68f6b41f7ea7b5d21dc22) >>
+>> endobj
+6208 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.834 477.82 228.087 488.724]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6209 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 442.951 213.153 453.855]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a8d2cc5d18d050975101f2860f2919da8) >>
+>> endobj
+6210 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.49 442.951 260.744 453.855]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6211 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 408.082 161.677 418.986]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a8edc85ba3e8a09593959814eaad72499) >>
+>> endobj
+6212 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 334.666 212.377 345.57]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a1287b254a91451368e7e2e456f448114) >>
+>> endobj
+6213 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.714 334.666 289.846 345.57]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6214 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 299.797 225.109 310.701]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ad09e4e3f9a9da562c6cdb73dd7b47fbe) >>
+>> endobj
+6215 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.446 299.797 317.512 310.701]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+6216 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 264.928 216.252 275.832]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_aa26f672c32271db69ed68fc60eee8cff) >>
+>> endobj
+6217 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.59 264.928 328.042 275.832]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+6218 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 230.059 254.827 240.963]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a85b2560352485ac05d10aab0ee483252) >>
+>> endobj
+6219 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.643 230.059 343.096 240.963]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+6220 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 195.563 205.752 206.093]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a9e87405c740d202951ba788f9e52cbf7) >>
+>> endobj
+6221 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.089 195.563 276.595 206.093]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+6222 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 160.32 209.627 171.224]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a943c42b0d1b3580e54b3ab60aa55255f) >>
+>> endobj
+6223 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.964 160.32 314.791 171.224]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+6224 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 125.451 248.202 136.355]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a145cc7c23d407576222e5af347f401c1) >>
+>> endobj
+6225 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.018 125.451 329.845 136.355]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+6226 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 90.582 243.37 101.486]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a953a608f6f9d413870fb3eee5cc6ad1e) >>
+>> endobj
+6227 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.708 90.582 320.839 101.486]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6230 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6234 0 obj <<
+/D [6232 0 R /XYZ 90 757.935 null]
+>> endobj
+6231 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6297 0 obj <<
+/Length 2093      
+/Filter /FlateDecode
+>>
+stream
+x��ZKo�F��W�4+Q�d�i �� 3�l�
;�L�[2��%);ʯ��_2Ei,n<�$�jUUW}�UU��Y;�y�����w>vpʝ��`��y�8w��iF0�|� �ه9����D�9ų<�?ȸ����"*�77�$�/��goӨ,��G��Ŝ��̖$qF���|���W��]����-�!Z��#�y�rs��W��p�#�I��8.e�:�W���v��f_�#`_�U�"�ڈ���!�=���Ji����2���U�2�Ճ����N�
�~�]�"�QЭ�.�fM�P�I��ʍ�b����c�Y�w%3������ul@��8�������
+j�i����;�w ���C
|� �)�z=)� y�� 
��T\��
�G�Jo�n9|J����my(R-�{��ո̷���v_Vr3$��r]�<2�C�Q�]�, ����ؿ$�v�� �-v��Gb��$�[cG�_�SVE�d�e��f�"Đ!�oV�r���-Xb�#N�J�����#�RN�Q�)_2�DCDx[��?W����D�q���&\�LQ�� G5G��Z�x.�P�����Y��N���f����m
��|
5:K��Acv����7�C�_sB L'm��
+�T~�/Sy6 �J}ܽ
^�A����p� �/D�


���vYS�>$?�	!0�%�}*��6��K���|��U��1�tĎ�G-X��$��D��eT%��m�UG؁bH��
v���"7�M��|S˭\Vv?��,��s��8�Ȭ��?��1"��Ǩ�:G���
�����:K��ѡ��1h���
8(˃/"�!2���� 	 |e��gT�^2��
�
+lJ���u�xN��s���XN��M�
q��ʸ^J����sNf��Ẕ�GM���u��K9�0
C�#��9
�o�\�M�����
:"�\�摮,�����^)F�N�>0@Ȣ��A
B�
����_�1�i����$�48�y�j�-���n!����T�Q��]jϖ(�S�Y���!&^z�%�6,ۭ,��|��_
���TF�e"�/s��6�; ��?�(4	��7b��y���
�U(�`�[���8 �c�v˺߳ P�,�w�� ����&�� G.�c ���7B;HE��z{��^�M�dl��|@q �p�9;�g�1�*v��L�4T�L�}:�BV<%���
 ��T��y���
T�@�*�39���R�#���
q�R��J���_��s2ݯ:�Y('���#k4
�`8�}_S�Ԇ��ÐB���<M�e�٦�j�Jh����p}��4��@ .&�uⷤ8�]�e#e����H�f�
+<�㑉�|�ҍ��Ď���?���������^���*�@j����c��=�O荭u
1*�����2l�

zO$u���m��{�gw^�Ӕ	�HW	��9�e2L6��ɩ��Uz,��*� 	�1'tv"����LFE��o�B�� ���7�=�]�os��k�Ȭ
+��SU��h��B�R W���3=��I!m�4a�e�o�L�O�\f�I�E-��
QI��
4L
;"t	�.�&);Ei����t���
���9�v�+������9�5)}�n�E�h��j��\R�6�vk�\���	@�s�8օ�o�J
w5�
a��ҷ<`s�t�5#�M�+��t,�x�z���dY*)S�
�(�x�+Hܟ��:lTI?�Fj�l�||�F,N���y��ԢC6R��N6�>>��P2ѡu���Zr�o�L%%��#�8��S��2��߃5�e.u�a.�e��@;uO0���E�
�v50Èb��`�b�
�m���� i��
�
R�EAa��F�6�(S=����}3��l)dZ�7��
�?5g��T8 at e��H\O�$��J��h�
+
��qG�*�o�x������"?J��oQs��v�K��ei -G�c�y	�S3�kL�����bc_,�P�n����͗�`F��:��(�E���(Y�ɏ�������f_�q���B;�An������\_?==�e�vY�-PR]o��u�i{&P��v]�E
������F�
��>:�
+endstream
+endobj
+6296 0 obj <<
+/Type /Page
+/Contents 6297 0 R
+/Resources 6295 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6123 0 R
+/Annots [ 6228 0 R 6229 0 R 6251 0 R 6252 0 R 6253 0 R 6254 0 R 6255 0 R 6256 0 R 6257 0 R 6258 0 R 6259 0 R 6260 0 R 6261 0 R 6262 0 R 6263 0 R 6264 0 R 6265 0 R 6266 0 R 6267 0 R 6268 0 R 6269 0 R 6270 0 R 6271 0 R 6272 0 R 6273 0 R 6274 0 R 6275 0 R 6276 0 R 6277 0 R 6278 0 R 6279 0 R 6280 0 R 6281 0 R 6282 0 R 6283 0 R 6284 0 R 6285 0 R 6286 0 R 6287 0 R 6288 0 R 6294 0 R ]
+>> endobj
+6228 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 697.994 247.246 708.898]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_af1ab967a6606266f7e583fc9752667fe) >>
+>> endobj
+6229 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.583 697.994 359.035 708.898]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+6251 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 663.499 236.745 674.029]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a82b76e3f18679ea161b53bfa80349009) >>
+>> endobj
+6252 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.082 663.499 307.588 674.029]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+6253 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 628.256 240.62 639.16]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a8f97dbc7a7c307fa72f7e904b2cbf21b) >>
+>> endobj
+6254 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.957 628.256 345.785 639.16]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+6255 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 593.387 228.984 604.291]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a19422844125a988daaf489cbaff3835b) >>
+>> endobj
+6256 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.322 593.387 355.708 604.291]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+6257 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 558.517 267.559 569.421]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a214e376adb9dc271c61b58f8b2c927f0) >>
+>> endobj
+6258 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [271.375 558.517 370.761 569.421]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+6259 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 524.022 193.577 534.552]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ae5dc5003b3652660bc4ff4a15e4060af) >>
+>> endobj
+6260 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.393 524.022 232.581 534.552]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+6261 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.059 511.02 248.845 520.925]
+/Subtype /Link
+/A << /S /GoTo /D (main_Cylindrification) >>
+>> endobj
+6262 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 478.194 193.577 488.724]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ac418d88df400bcd2233fb6281debb08f) >>
+>> endobj
+6263 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.915 478.194 277.691 488.724]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+6264 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.391 465.192 247.177 475.097]
+/Subtype /Link
+/A << /S /GoTo /D (main_Cylindrification) >>
+>> endobj
+6265 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 431.992 223.465 442.896]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ac9d9eaf8b76024bc20ce524e13bf86a6) >>
+>> endobj
+6266 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.802 431.992 271.056 442.896]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6267 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 397.123 229.552 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a9831db06919c6ee05360b08e84cccbb7) >>
+>> endobj
+6268 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.89 397.123 277.144 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6269 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 362.253 266.673 373.157]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a68665d093308c111817eca341b98d70a) >>
+>> endobj
+6270 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.01 362.253 314.264 373.157]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6271 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 316.425 217.109 327.329]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ae5955a311fc4fde1edf2d5460f0a8356) >>
+>> endobj
+6272 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.446 316.425 264.7 327.329]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6273 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.695 303.797 274.983 313.702]
+/Subtype /Link
+/A << /S /GoTo /D (main_Convex_Polyhedral_Difference) >>
+>> endobj
+6274 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 281.556 271.126 292.46]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a071aa57e439ba4f358c7fd43b03a6a49) >>
+>> endobj
+6275 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.463 281.556 318.717 292.46]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6276 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.863 268.928 326.259 278.833]
+/Subtype /Link
+/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
+>> endobj
+6277 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.984 235.728 201.742 246.632]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_abb10ea556dd34e0c1e13f7e99b9efe70) >>
+>> endobj
+6278 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.442 235.728 243.629 246.632]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+6279 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.079 235.728 371.329 246.632]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6280 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.458 211.145 271.379 221.05]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Affine_Transformation) >>
+>> endobj
+6281 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.288 177.945 212.768 188.849]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a90e87cbe8ae0717fa09ff51b70d64b47) >>
+>> endobj
+6282 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.771 177.945 252.959 188.849]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+6283 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.896 177.945 375.145 188.849]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6284 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.401 153.361 277.928 163.267]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Affine_Transformation) >>
+>> endobj
+6285 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.443 120.161 250.099 131.065]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ad42265530a9e3b2f3bda9ab40d4a835b) >>
+>> endobj
+6286 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.258 120.161 289.446 131.065]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+6287 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.772 120.161 379.512 131.065]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+6288 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.747 120.161 513.996 131.065]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6294 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6298 0 obj <<
+/D [6296 0 R /XYZ 90 757.935 null]
+>> endobj
+6295 0 obj <<
+/Font << /F70 402 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6362 0 obj <<
+/Length 2786      
+/Filter /FlateDecode
+>>
+stream
+x��[ms����_�O.8���p�ч�c{�:�k+M3N�C���)	0 (U��ݽH�"����"�-���v�}v��6��ۋo�/.�Xb5�������hFg��<�2J�
��4|?b4��������0[<���|:y�������˷y2����Ŵ(����8�(��Y
��`:�Ҍ~��������
l�sk+C�P�ly��7����J���'�
$�>^��V�h��}� �}i��b7"��Z��}]�m�vr�Zt��Q�s������
~�Tx)�+$��Q-S�%��i �*��B�_5YNѫ���}���s�!R���<$坷$	��*���p�w
؊g�)��N��ۋ��Ƨx�*�.�?⹿r��
l�i���bZ&YZ)�'��U��9��ޏ����ۑ,P���q��A"j�,�ݷ�O.e0���b��(�XkA�5�K��Z�O#UF4�M�8�v���7�J	��&b]d6��ꢄBl�e�q�-�tZfy�n�B0pO�
���1���̆�!yXZ/���:�r
w\��4�z�d
��
|��~Q��+窡BDt�;� t�
$�!�0�| M v��bg��cH�۸�Zk�ݫ6���1��Lo
�s�LadI~�o��
+��������&[t)��E��j�:�eiQ���$���d�Rp(RÉ28U�k��@��,p5S†/b�8�Pg��E����x�Y��̧IY�|�
������P�zzm���`�
�
X�[���'���`��`�X�8���X���fĉ֦��|э�ĥ8J�!(EL�
L�UW
�ZЎ�tC�DG�@{�
�l�+���}Ў��.5mA�v�c��"�
�#�i
���P�p���&62�НI�h(��Dg�{�JXYy�ê�h���3�.�́�]@�v�0�	�M'�w"<^��? �B�L�1u�X�{p^y�Q��Q~�i��^A�A;(_�h���_.�r��t
W�A�M�,aSmlC����11�!�²�BPW��}�_��+l�^�����	���* ������
�V�&�c
�{��4Pr@�D��@D�he�>��k60�P�So# �p ����
+� R��Ka�
����#�ը�P�	��W��ָA;+��2��& P�

A@(j�E\��-
+�7�`�у��

j�E����g��@'��M8C�'�%
+Ph8�g�6�Ɉ���I$��;x&�
o�u:?�o��
5^�������E��^,n&���4��h�
[?Y����F{@���4�0�H��HVm�4�iF�
ч�!Qk�)Z}/��F��@ߋ�U�x��S��u���@$�(V���f[9M��@ܤk0	=�Lzf�B�i�k�׳F��*mW��km
lt`�Z����.��psV�o��u�����b
V����""���QT]���w5� A*$�='����q��


e�
��>"��Qx$Z��[q�@�E����p����?B�~B��PvW(���j)�	������e����ſ�%�Rn�J�H�F�1e��ٹ��[�Ĺe��#x��`�MO7�(�r!�+D
+N�
S���N�L�i�߮H
q@�
Jo=b�$
 ����9�ݯ�u	��6��=�&YN��U� 
+�dO qVE<�:���#��(�z�B��c���
)�G��'��@O͚<
��
�֋��t��l�Z�Iz[ٶ�KW�
{gw��&.�8�� TH���X�L�y���ގM;�(�(�����,�3�C>]�/�|D�X�M��q٥�Eũ�
$Мo*��mZ:�r���菫x�3R�dU�c���V��{YT�b�V at q��I
 �����ݿ���8� ��S]�d@�Pաq��B�r��>>e�lUw.v��5�fI#%T�M��f��X�:�����^x������|w�-�WLW�7Y���\&�<�-�'��t�x�*�u�
|Ow��1
�o"��~��*��c�VH�$G�N� ;)2�	_�+A�����ܮOK����L�<[M�
�S����m��2�T�թ�~�U�D��y
Z�'���L^����w�����/�T���& ���:�������d� ��
�7��s�uf�զ|A��7�}d���S�S�u+�׉��9G�'�`g�A4T�0���9pQtL�p��	��:�d���x$BMk�����*�4�0�"�ť�!�߸�mB���Kx���C+D�����+��2|�ϯ��Lw;�70��nHT�B^7�`��f
^@W��!0����b�}R�7�
�7�V�"�Mf��d�Ȋu~�G8
џ��r�(n�MJp���}�S>�(F�D��F!�' u
�"�œ�:M���d��h�9w6XW�L
�Q�YW����w�
�1 ��Uۈ��/b,1G=|c�ZϬ[�l
�cV6j4�h�����w��>9��
ާ�w6��j¶��w���r#�.6���ou��YL4o2��g�O1D��'_�I�&�{��p��g�Wn�՝jB�=�lk�

֚e7S
?c���N�9����T�w}����K5
��������֪�\���r
��|�G��E��)���$�vv��{�!ɍKa
M�����JY �7�������|9�>��M�?V�R�?�T��_FJ�U��~���J�)XM��#�%���'�p�Ǹ������b"�
kY�	5�4�+����ˇ�2+�:MV9I���jqٚH4�̀d�-��\w��,�v�����Md����S,fO
+endstream
+endobj
+6361 0 obj <<
+/Type /Page
+/Contents 6362 0 R
+/Resources 6360 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6123 0 R
+/Annots [ 6289 0 R 6290 0 R 6291 0 R 6292 0 R 6293 0 R 6364 0 R 6314 0 R 6315 0 R 6316 0 R 6317 0 R 6318 0 R 6319 0 R 6320 0 R 6321 0 R 6322 0 R 6323 0 R 6324 0 R 6325 0 R 6326 0 R 6327 0 R 6328 0 R 6365 0 R 6329 0 R 6330 0 R 6331 0 R 6332 0 R 6333 0 R 6366 0 R 6334 0 R 6335 0 R 6336 0 R 6337 0 R 6338 0 R 6339 0 R 6340 0 R 6341 0 R 6367 0 R 6342 0 R 6343 0 R 6344 0 R 6345 0 R 6346 0 R 6347 0 R 6348 0 R 6349 0 R 6350 0 R 6351 0 R 6352 0 R 6353 0 R 6354 0 R 6355 0 R 6356 0 R 6359 0 R ]
+>> endobj
+6289 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [346.468 719.026 441.891 731.192]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
+>> endobj
+6290 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.207 687.32 266.586 698.224]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ab602d97b867b5d2ea800ea7ceef4c6b5) >>
+>> endobj
+6291 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.509 687.32 309.697 698.224]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+6292 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.494 687.32 408.234 698.224]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+6293 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 687.32 513.996 698.224]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6364 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 675.365 171.361 686.268]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6314 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.591 651.065 481.288 662.021]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
+>> endobj
+6315 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.091 618.149 250.748 629.053]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_aa9c12ecd84df4ed86b5676a09fa39208) >>
+>> endobj
+6316 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.068 618.149 357.317 629.053]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6317 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.405 618.149 456.145 629.053]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+6318 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 606.194 202.344 617.098]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6319 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.481 593.85 465.544 604.806]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
+>> endobj
+6320 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [150.542 560.934 267.921 571.838]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_afb9d83c4e182f640833116dc2f725076) >>
+>> endobj
+6321 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [306.143 560.934 383.393 571.838]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6322 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [420.495 560.934 492.235 571.838]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+6323 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.011 548.979 250.261 559.883]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6324 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.923 524.68 468.68 535.636]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
+>> endobj
+6325 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.933 491.764 239.984 502.668]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a0441c9c3b0ab0d55165bb6b4fd107f64) >>
+>> endobj
+6326 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.633 491.764 280.82 502.668]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+6327 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.855 491.764 405.104 502.668]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6328 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 491.764 513.996 502.668]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6365 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 479.809 171.361 490.713]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6329 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.257 466.256 432.092 479.414]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+6330 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.436 433.346 251.209 444.25]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a9e4e32230b187284ac0b9ca8efba8f82) >>
+>> endobj
+6331 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.361 433.346 290.549 444.25]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+6332 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.719 433.346 409.969 444.25]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6333 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 433.346 513.996 444.25]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6366 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 421.391 171.361 432.295]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6334 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.114 407.838 456.992 420.996]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+6335 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 374.928 224.57 385.832]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ac009459805692e582a00d4b5954ab8e5) >>
+>> endobj
+6336 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.908 374.928 272.162 385.832]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6337 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 362.584 347.869 372.489]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Time_Elapse) >>
+>> endobj
+6338 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.761 340.627 199.556 351.531]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a8c7fcb89eaea13582c4fecacc52d4ec3) >>
+>> endobj
+6339 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.215 340.627 288.991 351.531]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+6340 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.558 340.627 449.718 351.531]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd) >>
+>> endobj
+6341 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [467.73 340.627 513.996 351.531]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
+>> endobj
+6367 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 328.672 244.556 339.576]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
+>> endobj
+6342 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.598 328.672 395.48 339.576]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga84cc2bd35e1437f8df3be984dd1f4638) >>
+>> endobj
+6343 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.169 328.672 513.996 339.576]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+6344 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.268 304.373 164.537 314.278]
+/Subtype /Link
+/A << /S /GoTo /D (main_Wrapping_Operator) >>
+>> endobj
+6345 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 282.416 273.129 293.32]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a2d4a31320735e93af31c8d2cc7e78329) >>
+>> endobj
+6346 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.944 282.416 352.41 293.32]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+6347 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.949 248.115 282.978 259.019]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_aa76828d01f5c454221427eef68227f78) >>
+>> endobj
+6348 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.014 248.115 386.79 259.019]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+6349 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.53 248.115 513.996 259.019]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+6350 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 190.9 255.564 201.804]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a2581586de73769088ece60dc01409a08) >>
+>> endobj
+6351 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 155.174 264.959 166.078]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ab6bba83ceaafdb71df04b77e43bed022) >>
+>> endobj
+6352 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [292.296 155.174 312.55 166.078]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6353 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.933 142.83 362.407 152.736]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Widening) >>
+>> endobj
+6354 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 109.915 256.66 120.819]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ae8d42fcd571a9c9d64f0e7ffe67e995e) >>
+>> endobj
+6355 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.997 109.915 304.251 120.819]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6356 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [311.5 97.57 366.421 107.476]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Widening) >>
+>> endobj
+6359 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6363 0 obj <<
+/D [6361 0 R /XYZ 90 757.935 null]
+>> endobj
+6368 0 obj <<
+/D [6361 0 R /XYZ 90 207.716 null]
+>> endobj
+6360 0 obj <<
+/Font << /F70 402 0 R /F79 505 0 R /F107 2332 0 R /F97 1188 0 R /F105 2458 0 R /F41 370 0 R /F37 2638 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6422 0 obj <<
+/Length 2026      
+/Filter /FlateDecode
+>>
+stream
+x��ZYs�6~���SJ��0 <2mgڤ�4M:i��%�hh�وGIʪ�}O��d�=f���.v���������g�^�]����У�u��Bl�
A��*�>�#���	��~?#؎�4���Ql��
���mr]F�݋ߗI<;�
�/�QU�����6�
v�
���
f�]�9����3�`�ȳ��|�Y����o؊��7FNX[I�Z.u๶.�~>�Z�����y=��;��"�J�_)e��f��霁��RL�I�	
˕f���n��gI�����*o$H~�
/��Iޟa��������>7�8�K‹� J'
�a��R%Ǝ�\��€64u��O߾����	�Z��\���h������j�o��Z�u��$��-tx�
�4.�p�2v�T�f� u�gG�ա���m^mֵzϗ���bS�r4o@�[���q��-�INq? �nA����ذa�
[�;�.
9�"��;E���(�uN	
+ at u�:���dF�4�y<gX��s>#���.�"_Gu�gS~;��G^`�#X�����;�	�
��wU������Ūz.&��]/ � (dL]���r���JCР;t�Ң������r�Y�S~q�p�GbB�р�S�����$�:�����w	�)�s�g�)�3��Ԣh]�jije.Y]H�D�M^I熭 \�
+��
�����J�C��jTjp&�7��'�`�[S/0^�6)�@"��T�uBrP�IVW-`�����
�S�&�t��GAe
+�NN� (
X�Q��{À����8�by
.d";�qwÀ8�(���r
+��(�]��0� �K���:�:�4�>�s�E��
`4�
+07D�A�<5*�H�B�<�T�[P�
�
+.�Pa_,p	�
��&,�;,`��s�
�a
+
`K�!����d�"^�#�DO�
si����&�N���I��t2y��#
b�
+�T�,HF�]
.
Y{)�5�F�u\����t_�	�+�r� ����4q������z�ϥ{&���pC��lӶ���� �R�כl!ؔ|-轋�
���dy7��WI����{EZ;�
$ĕ�
(��"Z��r�A.SD�)��(��8u
7�Vs���B�x�����nw��w7�O'=���cUS�dT��q5���	Q�.��
��3��[m�R
r�ݎ��L;���j��|�gWm}�d#��I�=#P���a�a�:'KZ��������)��;;h
'ΛT,��-is���f�j�<�O�"�7!������;5
r���� �:9��h��&n
}V%�ت�&K��F,*,B��!��Oj�%Os�J��?~���_�|�n�^�j~ɍ(�
؄B��
c�
�}�B4�1O�
+�H�)�Ȗ*qNG�N�;
�O���du�˽uwL�Lum�SN�6'�uJ"5�+J���C��Q��H%�yC'R����R���m"�G��
�59��dԚ�x��
p��Lu���C���.�\��Ǥ+\��iE:W�_

���݅/�¶��뢊��,J�K�����N���)7
g0
�3�6�`La�;r��P��4�
+Ȋ%������w��!*�����V��I�b��L�2��E_L��Ӡ�S��-q �� ��H���GJ<
�qʴ\G������uLҿ;�{�`
<�2@

Q��]�}�>X�E§�ʔ�7u-5xy6�-C��S䳶�y
Whh�x�8��S����F�%Գ�`����Lż���ȯ!
3Q�W{X�C�u�CH��w'�If6#����"!�����
��3�%Ղ��Q����.;��e��
=��q�! ����T=),w_�+ë��m_�ʍ
:��_�H@�iA��_.������S&.��~��|���ϒ�X,D����&Fi�_�ϰԫ�K�|�x�Ō1���(�4A[ȭ*��n��!�l��.y�J��V3�Q� �qKH��6p��u���b�ݢE�6YR�(�/�b}q�z��ʵ��e���y�
�S�@���
x�
+endstream
+endobj
+6421 0 obj <<
+/Type /Page
+/Contents 6422 0 R
+/Resources 6420 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6123 0 R
+/Annots [ 6357 0 R 6358 0 R 6380 0 R 6381 0 R 6382 0 R 6383 0 R 6384 0 R 6385 0 R 6386 0 R 6387 0 R 6388 0 R 6389 0 R 6390 0 R 6391 0 R 6392 0 R 6393 0 R 6394 0 R 6395 0 R 6396 0 R 6397 0 R 6398 0 R 6399 0 R 6400 0 R 6401 0 R 6402 0 R 6403 0 R 6404 0 R 6405 0 R 6406 0 R 6424 0 R 6407 0 R 6408 0 R 6409 0 R 6410 0 R 6411 0 R 6412 0 R 6413 0 R 6414 0 R 6415 0 R 6416 0 R 6417 0 R 6419 0 R ]
+>> endobj
+6357 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 708.985 214.06 719.889]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a596fc5b3ee0d04895aca9139cb6cbcb6) >>
+>> endobj
+6358 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.398 708.985 261.651 719.889]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6380 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 696.389 358.593 706.294]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Widening) >>
+>> endobj
+6381 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.284 674.18 313.701 685.084]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ae47fdbff76383891b3896ac5fc213d5d) >>
+>> endobj
+6382 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.407 674.18 361.661 685.084]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6383 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [403.347 674.18 487.799 685.084]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+6384 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.63 649.629 376.664 659.534]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Widening) >>
+>> endobj
+6385 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.429 616.461 306.547 627.365]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a323efbe5d43695cc65f8cd5935da94dc) >>
+>> endobj
+6386 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.542 616.461 356.796 627.365]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6387 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [402.202 616.461 486.655 627.365]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+6388 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.627 591.909 379.162 601.815]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Widening) >>
+>> endobj
+6389 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.72 558.741 264.238 569.645]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a9bdab8408169307fbd899ec3670cb2bf) >>
+>> endobj
+6390 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.815 558.741 315.069 569.645]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6391 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [361.421 558.741 445.873 569.645]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+6392 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.613 534.19 287.921 544.095]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Widening) >>
+>> endobj
+6393 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 462.7 289.866 473.604]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a10e3116398b920cb137cf576a073cc68) >>
+>> endobj
+6394 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.681 462.7 359.324 473.604]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+6395 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.268 450.104 159.193 460.009]
+/Subtype /Link
+/A << /S /GoTo /D (main_Adding_New_Dimensions_to_the_Vector_Space) >>
+>> endobj
+6396 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 427.895 290.971 438.799]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ac4e1b49845e553ff84dc73e710def76c) >>
+>> endobj
+6397 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.787 427.895 360.43 438.799]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+6398 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.268 415.299 159.193 425.204]
+/Subtype /Link
+/A << /S /GoTo /D (main_Adding_New_Dimensions_to_the_Vector_Space) >>
+>> endobj
+6399 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 393.09 224.003 403.994]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a1b528a2e8d4d096f62535454e05b74ba) >>
+>> endobj
+6400 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.34 393.09 271.594 403.994]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6401 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.695 380.493 272.49 390.399]
+/Subtype /Link
+/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
+>> endobj
+6402 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 358.284 254.15 369.188]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a5cdf44f392505e1371a85b1245775224) >>
+>> endobj
+6403 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.487 358.284 338.263 369.188]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+6404 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 323.479 284.585 334.383]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a7ff92e5d40e6faf667a0b1f6b8fad791) >>
+>> endobj
+6405 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.401 323.479 354.044 334.383]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+6406 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [475.143 310.883 513.996 320.788]
+/Subtype /Link
+/A << /S /GoTo /D (main_Removing_Dimensions_from_the_Vector_Space) >>
+>> endobj
+6424 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.268 300.579 213.44 309.484]
+/Subtype /Link
+/A << /S /GoTo /D (main_Removing_Dimensions_from_the_Vector_Space) >>
+>> endobj
+6407 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 265.76 241.726 276.664]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a60138f2b5d41fd62c862fdcd7c4a1e61) >>
+>> endobj
+6408 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.617 253.164 407.658 263.069]
+/Subtype /Link
+/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+6409 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 230.955 249.318 241.859]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_af6df34e5e4ab9beab41cd76897d64c72) >>
+>> endobj
+6410 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.134 230.955 288.321 241.859]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+6411 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.875 230.955 371.519 241.859]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+6412 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 196.149 240.62 207.053]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a688572fbdc35859515f5ea8ba583a45a) >>
+>> endobj
+6413 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.958 196.149 324.734 207.053]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+6414 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.313 196.149 389.5 207.053]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+6415 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 123.396 153.097 133.926]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a07bdac3717a59f64634da7d9b1cfaefd) >>
+>> endobj
+6416 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 86.288 167.466 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_aa598904833b374d50efc72c51914112c) >>
+>> endobj
+6417 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.281 86.288 191.535 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6419 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6423 0 obj <<
+/D [6421 0 R /XYZ 90 757.935 null]
+>> endobj
+6425 0 obj <<
+/D [6421 0 R /XYZ 90 139.971 null]
+>> endobj
+6426 0 obj <<
+/D [6421 0 R /XYZ 90 103.357 null]
+>> endobj
+6420 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F23 368 0 R /F79 505 0 R /F107 2332 0 R /F97 1188 0 R /F38 2120 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6467 0 obj <<
+/Length 1636      
+/Filter /FlateDecode
+>>
+stream
+x��Y�r�6}�W�/�4� x�$m��$MZ7v�IFC���	/* �V��
�.�dّ��/&e���=� v�
�
�|989
��8��s9sb�A>%�e��h0���|D�0E29Q<���e"���S�����K��ј�x�"O�4��،����L��$R/
}�|=��r����-�!��~�B�w�b��#v2��k#7���fT�xԅk�\
�`�����;�x�/�iG<'�.o���NR�qrFp�6���0S3�Ʈ���P ��1j��D��b�v�5Ws�+
��S�
��};|�3��ܨ}�Fc ��}��C��ʾ����}�1�gx�J�iR�8L��f�`��U9�eZ�D�i�F�"p��&Wv�}r�k<&a��7�~l@��1��~�CNn2٠10i(�l>�kFi��r>��b�=�~��f_Ҫ�������y
{]�g��Kp�,qT�+E�8J����L��L�(V��)�x�ꕹ#7
���HV*�ye�U� [...]
(D0
�[( ]C����C�
݅Sc�y=������2a���2խz�$[�*���>\��+͢{��v�� x��L�"I٤{{or
���
�W{�
�󢶊��b��fPn��'^fr}��ۯ������b�%P�5�iu��f*͝2L��j��i΀��(���K�X!��lu�x
+��>�b������YU$�
�lK��W��~���������4�M�
#�|U�w$� �֮��J�C��,�g�3M�#����jw�ϟ��e��ݳb<�yz�%�w��#�L��#%��
�����4��&ven��u��z�~o�>�:‘rb2s[�%[��ؿC�B74����<Q�����[9�!==�z݆�ǿU��f!��mP��)+�	�N�ڵЭdX��o��
����a�������`�y� ���]P�q��r%��X�pB|��V���}o*����t{�Xu��P����@�It�G���
�4 at q��|�Qҏ���`^��>oP��.��_$�O�Y���S2�>籽�mR��A��g=+	U��oO͹�kű�������YK"����t����������%_���b���&��,���j:�:T�k��Ϣ9�C���W�<n
+endstream
+endobj
+6466 0 obj <<
+/Type /Page
+/Contents 6467 0 R
+/Resources 6465 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6481 0 R
+/Annots [ 6418 0 R 6439 0 R 6440 0 R 6441 0 R 6442 0 R 6443 0 R 6444 0 R 6445 0 R 6446 0 R 6447 0 R 6448 0 R 6449 0 R 6450 0 R 6451 0 R 6452 0 R 6453 0 R 6454 0 R 6455 0 R 6456 0 R 6457 0 R 6458 0 R 6459 0 R 6460 0 R 6464 0 R ]
+>> endobj
+6418 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 697.252 193.029 708.156]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a508103dc808fc747a90b573083a60461) >>
+>> endobj
+6439 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 660.899 193.029 671.803]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a1d51ba9ca3c3e0bf0042502f40d2e11b) >>
+>> endobj
+6440 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 624.546 165.911 635.45]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_aee33974909cfc1cba605734a57d44df0) >>
+>> endobj
+6441 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 588.567 187.689 599.097]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a1a26d0018999e56d94a7e96db2b6e553) >>
+>> endobj
+6442 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [352.557 574.823 476.544 584.728]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a1d51ba9ca3c3e0bf0042502f40d2e11b) >>
+>> endobj
+6443 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 540.881 202.902 551.785]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+6444 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.4 540.881 300.037 551.785]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_af39e1b0519a47aafb9dba4121dc41a9c) >>
+>> endobj
+6445 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 504.528 202.902 515.432]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+6446 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.4 504.528 314.263 515.432]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_aeb9b562373b4d288c03549bdba93fede) >>
+>> endobj
+6447 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.819 468.548 199.864 479.078]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a5f6fcc1dab2b08eff20b41d1412d1e2d) >>
+>> endobj
+6448 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 389.773 203.075 400.677]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+6449 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 389.773 296.324 400.677]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_afe613a3da3edc3cb4506f70d409f061d) >>
+>> endobj
+6450 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [312.377 375.28 331.306 385.185]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6451 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.636 351.173 294.481 362.077]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a7fc86a6331f34f34a506ab2b0609ac37) >>
+>> endobj
+6452 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.636 312.573 287.856 323.477]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a3628b6d6e250d4c6b8301173c6ecc777) >>
+>> endobj
+6453 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 232.179 180.54 243.083]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a87d004db7f8febf6f9c96b4a2a1c85e5) >>
+>> endobj
+6454 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 232.179 228.131 243.083]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6455 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [269.864 232.179 290.118 243.083]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6456 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 124.888 226.034 135.792]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a1cb88a546d32e7b5c07dc25055e33235) >>
+>> endobj
+6457 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 124.888 341.43 135.792]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6458 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 86.288 178.239 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a9e17201a9a12235a9a96cc31cfffd38f) >>
+>> endobj
+6459 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 86.288 225.83 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6460 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.563 86.288 287.817 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6464 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6468 0 obj <<
+/D [6466 0 R /XYZ 90 757.935 null]
+>> endobj
+6469 0 obj <<
+/D [6466 0 R /XYZ 90 714.226 null]
+>> endobj
+6470 0 obj <<
+/D [6466 0 R /XYZ 90 677.873 null]
+>> endobj
+6471 0 obj <<
+/D [6466 0 R /XYZ 90 641.52 null]
+>> endobj
+6472 0 obj <<
+/D [6466 0 R /XYZ 90 605.167 null]
+>> endobj
+6473 0 obj <<
+/D [6466 0 R /XYZ 90 557.854 null]
+>> endobj
+6474 0 obj <<
+/D [6466 0 R /XYZ 90 521.501 null]
+>> endobj
+6475 0 obj <<
+/D [6466 0 R /XYZ 90 408.62 null]
+>> endobj
+6476 0 obj <<
+/D [6466 0 R /XYZ 90 408.62 null]
+>> endobj
+6477 0 obj <<
+/D [6466 0 R /XYZ 90 370.139 null]
+>> endobj
+6478 0 obj <<
+/D [6466 0 R /XYZ 90 331.539 null]
+>> endobj
+6479 0 obj <<
+/D [6466 0 R /XYZ 90 251.026 null]
+>> endobj
+6480 0 obj <<
+/D [6466 0 R /XYZ 90 170.632 null]
+>> endobj
+6465 0 obj <<
+/Font << /F70 402 0 R /F79 505 0 R /F107 2332 0 R /F97 1188 0 R /F56 367 0 R /F106 2337 0 R /F11 446 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6492 0 obj <<
+/Length 2484      
+/Filter /FlateDecode
+>>
+stream
+xڝYK���ϯ�%�T5€orR98^�+N�g'�캶(�0K�4I�F���F7��8��
T �F���I��H����?�ܽ����4�"�q�҉#W���<����+��7��r��ڕ��=fZ{rU��'�����6k/��߷E��x�\}[f]G��W��MV��)��n����/�?�|�x��
g����c���;޼�E:9���Hᧉs�TG'�|hK����7��1o�^����� ��z���{��QHw{P���:<���4
Q�R�p
+It}{RD4a	�@T����u��EPW�z0u�E�D���"�<C�l�����R{��
L,A֮�x��T9

���������Z9/I��m� �q�Px��
J�Mh��N�8�7!�賆N��
�=0 
4��;k�5s8�A2x�V#HC�
 ]`�������u\/pTwQ�s(y"
+<�d ��'�kԮ���7����8�F�]���wg�׌w���M
�x�8r�Q��0��
l�&cW \voT��b��Qݮ-���+:�!�?H��7��zモ���f��S;b��?1`wڧ����4Ѫ�U
`�}RFM�ၳr|
X��u�p:�9A^���
Oۋ�p��ad��
��x���4u�w
��X�s?�
�\s�hq&^����vkk0M[7`�SU�Ն&4PI�uu ����+J`8}u�>;�uY���ݯ��{Wt��6�ݷ ��+w+�Je|/��	쥿\�
�P%n痿�8J�� �J�8��7�QU^TX�%��%�B���:�m|ou�,aF�p0��a]��L�Q[�<0�
|2l�����b����?Z��S�ԇm;e1�4
M|a��{�)2eB:
,�T�F�C�������t���N
����5��g��ͦ��M/M��A_�
�dz�˒����3�?�&�O���
9-�R
�R�	>��[s�����^�
$�J PN���W6&D�/I�	!��"}�����N�:[�+�V
F�Rz�)��Z�U
�ɪ�7+/`gG�ѷG��y�r8�J�۬�άe�!�\9ǃe���h�`]�/c����?H�
	�=
���7�\�.
�1
Q�6q���G8fD��6B07A����7�@c��s9=pV��SU#μ�Ӣ$� �	�H�$�,��� ��Y��ok� ݌v0�Q��}������J+Y�q�t�Q#���M�ѽ��.�0��q��C������mmU~��̄��:n������a�ˌ�VM��M�E�>�>�"���3�O�1����b��W�8;t[�|��D���v6�>*wƏ���ss:p�Q
+����$Le�(�q`�?��1�T�&}?.����!=��Z�˲��JV�7ZїD��'(^,E�b��@�_��hG~;?±1�
<og3�򔫜��֞7';4	�l{����u)DZ�4d��4�RȎ����O,��R���<46�I���j��Hn��H�e2��oy�
.D�'vc��@��S��=@M�S'��]
4,u�
|'y�h��� 7
��H�?����'Z'��$���Y��C��U�dγrг-/�Iv��6��؀���/x'����o0�DFޘM�Y��j�b�9��@^
d3�m�"�$���I~Y�x
�`\�5h�O����?vGn	I���lX/	�!
����SV
ϒ^p7������ r��Q�T������7�}����*���q[��~�ϝC��

�I��"7^`?����Lsj!3P�3����a���A_�Q�2k �8TG[�X
�т��9
WPA�2�z�kʵ|s@��|��ګ�����d��٢o�;�ue���o��7�c [...]
c��z��ʎMi�N?
����Ѡl ��w�ɥc$���or%t�իߔK$�8�������1:89CxQK��]t�T>TpYg
�,��w�/�(y��4��~Q� ���:���eQ�7��g<��NqYL,��˚t�
��!���2���4Kqg�'b�ƒ���3W��H�S
�9ORY�T�R �lK���z���;Bs�irr���MU��t�I�4Y����[H}�DƯڙ��c;��,����Equ�lzc[��P�g_�x ���e��r� ����Y�[���;���;t<�
�(�N�=B	�D���Q+	�ؽ��{	�׼.����CA���I�mI��
B�J�
+�0�����ݛU\���U=�yh�^��onjz^�gmow�����uj��
�
2�
d�J��8����7����%H!�6�����H ��T�Vf��Y��9�����>�o����/�0\��wV���3����h��u�9RW����o�G���?�B�Ӻ�'�S=�}sww>�Ů��V�]Ӕw�.p����>�	ձnm	�e��7���[G
+endstream
+endobj
+6491 0 obj <<
+/Type /Page
+/Contents 6492 0 R
+/Resources 6490 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6481 0 R
+/Annots [ 6461 0 R 6462 0 R 6463 0 R 6486 0 R 6487 0 R 6488 0 R 6489 0 R ]
+>> endobj
+6461 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 696.193 156.281 707.097]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ad452407f89cb560e83fb81938c12a585) >>
+>> endobj
+6462 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 696.193 291.433 707.097]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6463 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [309.645 696.193 440.981 707.097]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6486 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.132 614.111 229.386 625.015]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6487 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [121.945 454.256 182.89 465.16]
+/Subtype /Link
+/A << /S /GoTo /D (main_sect_rational_grids) >>
+>> endobj
+6488 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.819 342.639 398.978 353.543]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Space_Dimensions) >>
+>> endobj
+6489 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6493 0 obj <<
+/D [6491 0 R /XYZ 90 757.935 null]
+>> endobj
+6494 0 obj <<
+/D [6491 0 R /XYZ 90 659.237 null]
+>> endobj
+6490 0 obj <<
+/Font << /F70 402 0 R /F79 505 0 R /F97 1188 0 R /F56 367 0 R /F11 446 0 R /F23 368 0 R /F31 506 0 R /F7 541 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6499 0 obj <<
+/Length 1631      
+/Filter /FlateDecode
+>>
+stream
+x��Y�o�6�_��a�V3�))C_V��u�Z�ah���iG�-��<�����%�I�dي=�Ȼ���ߝ

,
�
�<
���q��TPLA��X�)	���cH0�b<!��bLp(�Z^^�)���Z͵��%��R���_�l>�P��+YU��Z(=&I��K�RNƟ�oF/��/#��ؽy�bƃ�z��3�0�&���I��R� �
�U�a���s
Gw.�(�11�"$F4N��2�w�3�^�V�Ҳ.��]U��x"���'� X��(�SXV(�+��O���.�,�o؊��<�����]�P�Р3}�6��
N
�K	9E{{��ܜ� �8g�C���o
s�
8{��]����Y�s
m��Z��������!�cg��\�+��Թ訓�8g`�{/��F3��E�Zc��m�/͔g��/^�T�d�y�V��^�T��Z��,�׎ú�ɮ���r���+F:�ш�B��[�H
H>���]��S'�;b�"
+�ӑ�ڹ]�|�
̻T���8{�|�7�]���p?6��
�
�&�̍�5&<T��10�rދC'�]:I�1b�G�֍
��L���� �;q��
ϟ{ ���g�!
g

.w�u��N�S
?����׍V%���c	���W��Xw�Ϻ�j�\K]��-t���~�_�y.~����
U�f�bg�
^�t�
�
e�K�_2���Pu�xr*�������o=0���"�}I�0$`�hÐf��p�.��P�D{
i
���� �keо�r�l���"�[J�iJ�T�AQ$*�q"I�?C	'���#&A) �K�pA���5G
��4��'t���ġ�%1�	�����fV+����M�6�oS؍��F��z7H�^
�w[�x�'�A������ݭZ�q�"�W
+~j�(���J?�3x�r�-}f�wuj����\D�A� ��9
��/���w�Swب�J�Ou3�d�������Qg(Z����>� @i��OJ�	)
=S7���[U��Z��^`�n�<���`Nz�b�C@�G@�G@]�j]�Z�3<*,E1#'Vq{Xdi���
e�mM&6L7a�A�z��K��.J�ɺ�T�7qh�ԥ�g~����b�OۤE�h�{ y��^����qo,5���rd����)(��H�A��
+�E�'�;�n��(�4}gnK5�*c�_
���,ImG
C��[oJ�YZo���BV�,�+�mq53�k��ɹ�f:�r-�^�x�Ɠ�&�t�Xx�U�W}�X}�UnFE�n
zq@����
ے���Sf+?3F컆3�j�(�z��	c��z�nxc6�,��J�hȢ�
5�����E�M���۬r�3��
�~}��TYg��@iǙ�a~�jS)��XQ�OST�k�4�����殳���3{VG���F�"�Pó&M�RB�>�� $P�.��.��
+�t�$N�I�jу��Gj�e����@5���+�~��������	R������
�m_��J�� ������ρ{��>p/�C�|?�<�@x'���n�Q�� Lj�	�4���?�;ןA���El�-I(�q���.��ζ�-�U��R��>+���!�;V �6V�p�.�j4�\K�U4���$N~F
+endstream
+endobj
+6498 0 obj <<
+/Type /Page
+/Contents 6499 0 R
+/Resources 6497 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6481 0 R
+/Annots [ 6496 0 R ]
+>> endobj
+6496 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6500 0 obj <<
+/D [6498 0 R /XYZ 90 757.935 null]
+>> endobj
+6497 0 obj <<
+/Font << /F70 402 0 R /F72 404 0 R /F56 367 0 R /F31 506 0 R /F7 541 0 R /F11 446 0 R /F8 540 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6504 0 obj <<
+/Length 2744      
+/Filter /FlateDecode
+>>
+stream
+x��Zms����_�o%[�W��
h;N�I<�&�t:qF���� �����;�"i[�&���{{����n"}{�ˋ�ߤ,��MD]n"ˢ4�<�\G?/8�E�\q������EVﲫ�K����6_�����:�_���.�˕�l��m�4t�c���%7����a�D�d!�X�r����ˋ_/8��"�ޭ�8�:��]��
�������Қ��I�"%$�n��.�~�����`��B\F��1K4m�K���j���/�k�����?ߗ�R�ŧ%׋�nr�q;��L�u��˦��Hs��Faw/��|���:N
+;e~$���i̭�r�%_\��~�{��l���)ʛ�W4�u�m���F���ޣ�_�ۢ�^&����,��!��c�%,G��
��_Wu�7wU��4�Ӓ=�6oi�ppk�$fJ��nH�
$TlM7.f�@
@G��	1g{�޲�^,��i�uǛ�n�UQ�g�&g
�^I%�<Y<Un�����m�,�!r��MѐjCݹf�Q�J����g�Kc��heb�1ͼ5�pEػ��k��t�x����4H�R�$�(�m*
J�J��s�iN�r�
�<n 5wB6V�Nh�*:��E�� B� #uo'厁E+
K���Y�!����%���ݰ^�s7rh��!q>���

�+��&�
n(i,\$�6�Do��
"�V2�?�K�����#����37�v[!(�w
��NW�-
y�oä}�/08F#�}y�"Z���ւy����rhz�Als��뫻��w~�΄1�<F��FO��ؔqg<iX����ɸ77岄atb
q������CR��cԳ�Z�~��o�Я8��F��mr���va-�hwn	��sC8� ��	����]���
bIfu>�lROC2������F�ئ�g�V(
`q�dW
5Iz���c���� Qc�-a�
�G�G��
t��C�H�J�%�݆�7JA|[M"�1����L�T�3
�p\C�'\� |
��$�� U�,2j ؑ⳹JJ�ӓP?PJ̜:�XL��T| e*b-��L� �ـ'_��&��i8���P@�ϡJ=
+��ݽ}���_'����&/�:k+7�=����a�
��'p<h_����?��P
{h���l(�-?g�#*�+
�	I�x�O�~3z�/�-���?�
g��ۇ; \�Q��
�}���"�)�����/��NfQty_#�
3
�$�h/P+��]�c!?�E�f5�	��d	f�LȚ��d�]V�~�j3��A��T݇�
�,���"�
�;���5DOH�r
��49։��i�E�
��o�:��x�D������7xٺS�q�
v���s��B�9�d,f�����$��
�d
+�
��pj���^-
v	 �
+�]��y��l�5jM���<+��aj�ǍHq���Q}ǭކ�f|V��J�!r�>>�|5����)�a��Z۽bYH��s����
u�0trFRy��D�p�4tl�ʝF�;6nh��)��m���6ks/�"���ɲuqs��%�
�� ��E$K�6��3�%�
��4i��D
���q�?l's$�6ǽHq5rz����n��?�pƦ#�v�a�$4�0b�΅�u���Nܳ9t|���g��H
x�Rr��
+��>�R�v~P#/Nǎ����M�e-�<�	|�����
���j���"�~��d
XHlʦͳ9K Y�xX3Ӈ������X����jU.!*�$qY9�xn]�Q2
�Mb�� �
+����I��҃X�:�Ҩ+�h0�V�p:������W���7sQ
��xN��@ʌ9�r�۠[جg԰
�f)�	���
��א~�q��ƭ<0<�T�ڽ�ʩ� n(�����|�p
hxr��BJ��C�`�K
�
�TCP�SS
�XWt_V~'��P�2�(������ B&��! BL��h�:�R/>�[�
�	4u�]��8
�g�>s 
LU�_ȏ'cf��';S/t=
�p
-���[u�߀���
���~"R
��HM�F��^�P`nx'�
^�fz!��^����B�Y�j��>�����Ɯ�g~^;D�N�!�+�!j���,��O~�6�o�
���
���_�Ɔ�o̸#BC9��
|�1�RA��r��k�C��'
b��WMr

�U�:����jW��4����/bC~���p
�T�1��?C`Uj�`�U	���
i�.�
��!���3,<i�]��j��/Z��S��3������t�oZzԳ���S���N�
v�������,�(,��T������r�t
�TI����+W��I	x6�䋜
�$�*L�%��_�㤴/��3���@�
Tf�"��r�VM�E�{�Q�
+�ǼsJT}]9�7��HON;��
E��9�i
+�����@!�lׄ�
���o{8����
��� �z��A�=(�@�{U�}�I�h��� 3%�
61\�;����GN
ƓdRގ�7� �@���p���I��K+&�t���Y
�:�'g�8�'T��&�gq0~* K̄r����O�o$��Gy*}���~�����Y�τ�dz`�!ޞ$�JA�ϟ�*L��kx`����B`��<����Ea�G,���̍	�{4~�o�g�t뿍��4y�����N��r��p��5|t�a-+��#~��S��-Ҿ����ɒ��
�6�[��m{�����������eqW�E���n���
V�����Z
+���Cǰ��xj��X��
+endstream
+endobj
+6503 0 obj <<
+/Type /Page
+/Contents 6504 0 R
+/Resources 6502 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6481 0 R
+/Annots [ 6501 0 R ]
+>> endobj
+6501 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6505 0 obj <<
+/D [6503 0 R /XYZ 90 757.935 null]
+>> endobj
+6502 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F31 506 0 R /F23 368 0 R /F8 540 0 R /F1 580 0 R /F11 446 0 R /F7 541 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6509 0 obj <<
+/Length 2259      
+/Filter /FlateDecode
+>>
+stream
+x��YKw۸��Wp5�Zƃ ���"'g���ƞ�$9:4I�P�JR��_ߋ_�l%�E7	������. �=콿zsu�.ž@"��w����� N�w��>�F4��c<�0'x�T�d�aN�̏����߳�*���^����ܧ
�~̓�6��JVs�d�J�2�(g�/�?_��_�犀/�#��<B�^����{K��È��;�Y[/�
�s���_W�{q
��"��	��H�S%�}�d��ܮ[�3봜S>{�>���
��}�l�u���.��<���kJ�
/��n���b��0��7Of����8p���F:M.�Q�|�(b!�
���n���.������$�(���	
q��w*�rqt	����N����e��xTYL�,y�e�j�I/"�EHD�h�!��I��04�j
��0��3��y��
_ at R���5��sG���w���</���$i��?��S=
+�M@����i���q"��@�1s5��|��z��r�̶���z��"t`�(�>�!��V�v�^�J��Z�
�FnM
+�� �#�eE-�F%X-��
+}��5�>� ��X��6Կ(���~2/���:�;�'�Q
]b���
+Փ`�
r��
+'���Ob��e�M���Q�'�C
֋;٘G
������e�x��h��s�_W�
~�c�ʋ�!DX��b`,��MR�Tw�,Օ�Ƅ����r� ��-�oX�[N��(0
�y�gL���&r *̋�4
���(������ �%]2a @"&���׀&/K
��H�"�
+���܅�\Y�A�9k
+D�/~���a�(5٠��:�>�z!"x߫`<�,�ޤk����r��"=�U���+�RH?�sP!�B%�+��P>��%�>[0��:]0X{~o��A�ި*a:K�9�R����?lda���V�єF4՘˱^Eb ta�.��H�9�f
i��:N���Q�;��(��x�h5�ɾ)�I���0tH�Y��
�V�H�R�~q8KV��̥Lҍ
��r���[hi����9�(
��� �\�v��h�<�j1Q�g�´`;�6�e��j���1�4)L��:��&��u	�f���=�&��^�G���i[����u��](����j�4��e�RF` �w���+������_;�=+��Y��XU�9�>�=�
�gU�_�}Q�#ĸ��Oّ��a���&Mj�ڢ�h3�Y�
�?j"?%p+`�
b����=~����p-���i�%`1~Ak����Y�,E�:�)zP%Ց�Gc'�=`��K�FքK���&� 

1>F��&���X�ME<K�f�����c���s� ����Z�S�
+���#
��}�zeYe�Hr3�Ы$��
%
+�C+
:�|M겸6�ٙs�}�EJ	+i�o���k��X�e�1�A�^��̊R�W�Y���]� �*tz�a2kY*�li�T�
+L4G3���M
�@y�}fE��5�����ľQIB�`ਖ਼�5W���V&J�)d�=8!�����ޝa!jO�~��j�6N�~0_o�p�m��uo�6i�X f�����
������ܥs�
w��7 s-}��bP0��܀�`+R1޼
Ls`����TRY Q*����\�#���u7e
X����oYa��Igi�D�!��ϟ~��xw;��Y1n)�#y��!�ƴ��)+Աݵ�a�����2��d�Ű*���<�f���zпt熛D���S��_�>cL����W4�|�h#j`�,�,�`�@�Z�i���oO�@�8���3�GT���
������Q� �SG`f�w��n��b���D����z��0<�z���Љ��3QQ�ֶ�wm��� ������E�c���o<�q�
��x�u�
+4 ��y((�t|ț�]sR�q�;�`�\�f��Ue��9(D=(T����<�����i|u�o踺7��N*�r|ʺM���~�N��>�-�
�ڷM
+��e�"4O����wQ�
���C�+�YW{��G{��vt?L�<��;�t]O8U$��|ư��a@��@����/a�k�	ܩ�
۵l��.�
3�mV
*y�)�M�ߙf��'
{Z�3,Խ���p����
+A�H|�_R��
�]n���AA\���:t�[
1s�
l
+�0��Ԇ����'�?'�鳴��ћR�Ͽ�҆h���sW3���[S��V57M�{uss8
PZ#`�]���f��oN�gE�ܑ��X9�ܖ�t����n�N��_�	J�
+endstream
+endobj
+6508 0 obj <<
+/Type /Page
+/Contents 6509 0 R
+/Resources 6507 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6481 0 R
+/Annots [ 6506 0 R ]
+>> endobj
+6506 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6510 0 obj <<
+/D [6508 0 R /XYZ 90 757.935 null]
+>> endobj
+6511 0 obj <<
+/D [6508 0 R /XYZ 90 390.648 null]
+>> endobj
+6068 0 obj <<
+/D [6508 0 R /XYZ 90 368.336 null]
+>> endobj
+6512 0 obj <<
+/D [6508 0 R /XYZ 90 368.336 null]
+>> endobj
+6069 0 obj <<
+/D [6508 0 R /XYZ 90 190.454 null]
+>> endobj
+6513 0 obj <<
+/D [6508 0 R /XYZ 90 176.462 null]
+>> endobj
+6507 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F11 446 0 R /F72 404 0 R /F1 580 0 R /F8 540 0 R /F7 541 0 R /F23 368 0 R /F31 506 0 R /F79 505 0 R /F100 1390 0 R /F123 2840 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6517 0 obj <<
+/Length 1216      
+/Filter /FlateDecode
+>>
+stream
+x��X[o�6~����*MR�$�m-���d����"ӎ0]\�n��C��-Eq��
+lO�(^����s,�
켟��M��1v8������؉#�%�l�\�#y>��
�n*�t~�Q����V,d:�=���ܞ������)���"m3�$�Bz$qE�	8)
+H�Rz׳��w�ɗ	[�Cvw��s�rru���t0
+x���V�NH�-��ɟl�����p�q��4B$
+�O֏�J�fg���9x|p
IP����/f�
���{��,�o��7�ų[a��l%J3���7������ؘ-�g�i�W+���+�0����"�c��4@!�����3�Vy]=�Y�b�
Ѩ��Y!����
)ky���!�{�e�Q��UƇ|�����`KHQ�vK�)狼U�=�!�t�o
a.�(� ^ez���(�!¢�Y��]�݆�q��R�)�@t9�H|@
v?�

I"�~�
{>#�}�`~�჻�[��	�w��
1�b�y��ȶY!���F�
��At��>�MYnG
+ad7H{fx#���*����#��y���lwǖ�o6yѦ3݃��J�霃S
Gғ��K/��E4
�s�	X^�
+��!��ӿ�[���а���I�����Ċ&�`Rn
���X���X�xa�
+�E��]���o��dj#�		�tk���{���Q�(���]�٥�1z]��ʭ�>a�| ��b�C{�5����v����J�m�+�f*�@p�-X�Zy��J�-Xr����SKY�$�0�
�L�j�
�
	�������s�@�C["�Mz�$�%2���J�^;^X R˺�Ќ�NB�75��p$QүW�~]�Y�F�;�Q =��;��:F������j�������
 ��S��6�/�3!�ܺ=[^Ȉ��b�kZ�y*WH�: �'��ʜ��)"4@?`U?�!
+����?������P�q$?^�(�KpS���
+o�_^��<����^0��p)K�
c�7������73��/����P���r�]��qef?�2G/Rfb�98Y���.��b�R��Z�
��܈an[���a?}�
��D �$9�c���
DH����q�ذ�_hK5��c�d�h�l
�j�|�1�Z��H+�\3������w�ˆ��K!��Ư��v��d��{k	
+�
�o�Z�M�www(kЦ���j�^Ӈ�88JF�/W��v�e-EK�,S�j�a����J
+endstream
+endobj
+6516 0 obj <<
+/Type /Page
+/Contents 6517 0 R
+/Resources 6515 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6481 0 R
+/Annots [ 6514 0 R ]
+>> endobj
+6514 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6518 0 obj <<
+/D [6516 0 R /XYZ 90 757.935 null]
+>> endobj
+6070 0 obj <<
+/D [6516 0 R /XYZ 90 654.693 null]
+>> endobj
+6519 0 obj <<
+/D [6516 0 R /XYZ 90 640.51 null]
+>> endobj
+6071 0 obj <<
+/D [6516 0 R /XYZ 90 443.443 null]
+>> endobj
+6520 0 obj <<
+/D [6516 0 R /XYZ 90 429.261 null]
+>> endobj
+6124 0 obj <<
+/D [6516 0 R /XYZ 90 232.194 null]
+>> endobj
+6521 0 obj <<
+/D [6516 0 R /XYZ 90 218.011 null]
+>> endobj
+6515 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6525 0 obj <<
+/Length 1421      
+/Filter /FlateDecode
+>>
+stream
+x��Xmo�6��_�O�
�
I��l֢-ҵ[�z��40�������~'��%Eq�a��-�D��<w��Q��X�z={������
+P�Q�Z�Z��G��Z��+�`D���`���9�vX���rN��'��X���m|S�����u��
ʰ�"	�J-ߋ[QΉo�, �s�gS����7�����[�EZ݌#�0+JgW��Z��7FN�[w��r����0�u������s�`�H
�Sa�)��u��[�ɳW��rr)���?*Oԩv)Í^��Y�3F2��$�{���2���C)�m���3���S�~�êT�(�*Y֑��
+��
�n�\D
�Z��
���/w�(d
2G"Fp����Zx�4Z�\��������0�׫���)8u
���� ��2o��˔K���]�c�L
g%E��i�>ꣀ�FpT�=��E��u[r�L�i��L|��	�+��� 5@�
�0Dx�Dd�]����c�p�(�G ��K��s$���:�+Α��:
bN�
��j�v���)	�
�v�"��Ia�
iㆈІ(|k��O��G�Ɓ:��	3<_0BTl�����k��2�2X}P�����2m-�C)�N/*��T^�1�m���s��:
G �O�qg	$Գ��OŮH�(���Y�p�Rx�6}����81�	�c~>3�Y4���l3�Ru����cze0R�
~-G
uM։�8���8G��`������x��0
+�Q�D	S!E�H��f��P?T�s��JG����X�OӬ
���v!���Χ c�Z�k
+iaH����Z�߆�N�,��W���{"������u��
d��:�y�o�е�M�l�f3�|:$��"�G�X]dE-�d{
rI�nt	Nl�8(�i'K��$a8�'�a�RDM����<g󿇳�I�c�K
�;�[C>c����e�P�v]��T��01�)YsP,	rBg��vq0[>�QN����
>]A�wA_wA�Y�4�����"'�f��&p���l��Bd�u`���L6�5 �ZL�����?L�c=�]UwW�]�;���t q讃.�<�MH<P� 
d~g�	>������=����a��7�vS#�H��"�P�
\�W�Ԅh���
.��D(���G��;�4����q��w�o_�~��8a�@�|�B	�r_GI����wH��D�Yʰ��+��&�
�4|ψ�UoҀ_�l0
+���?[U���2��?�7�R��6֓��T@㍫{��m(��QR�EO����#��H�G�O���~o�^_?�{
c���a¦��OS��.p��J����uX߅Y
�֮���҈�q��0�+�<��!��ʯ?,��i֒��ZՀy��R�ggwww(�P��E�byV����ғB\�IW�f�L�R�y^��44އ�Oi���
+endstream
+endobj
+6524 0 obj <<
+/Type /Page
+/Contents 6525 0 R
+/Resources 6523 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6530 0 R
+/Annots [ 6522 0 R ]
+>> endobj
+6522 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6526 0 obj <<
+/D [6524 0 R /XYZ 90 757.935 null]
+>> endobj
+6125 0 obj <<
+/D [6524 0 R /XYZ 90 653.992 null]
+>> endobj
+6527 0 obj <<
+/D [6524 0 R /XYZ 90 639.766 null]
+>> endobj
+6126 0 obj <<
+/D [6524 0 R /XYZ 90 441.883 null]
+>> endobj
+6528 0 obj <<
+/D [6524 0 R /XYZ 90 427.657 null]
+>> endobj
+6127 0 obj <<
+/D [6524 0 R /XYZ 90 214.598 null]
+>> endobj
+6529 0 obj <<
+/D [6524 0 R /XYZ 90 200.372 null]
+>> endobj
+6523 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F104 2229 0 R /F11 446 0 R /F123 2840 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6534 0 obj <<
+/Length 1417      
+/Filter /FlateDecode
+>>
+stream
+x��mo�6���S��&MR$%ۀ�OX׮��+�"P,��O�����(RO����C_I�����w�����������l�"��DRP�,�
��@�)q����%Q1���=��Fe]��)v��v��2�x�\�Qy{r�L�G9v��QU���ԕ*�$tU�R`I�D����������-�!��<@�ϝU6��;1��r0�e�\7�2�Q��s>�u����?�D3'���O֏(S�*�FǾ��
�x`��(����95f.
m�f�~��2�B��f�r�LH.�sS�m�*��I�6#u;g�Ų.�v��.Ik���X�g7�G���\�6U7I}{L6��r��N�QF�9�w(6#�d�����jϗ(]eRo2�ڙ�v��)/�$Jͳ�9'�m�
+��;;:eOp�
X��F����I���8ߘ����$U���\��,�cQ
8�A�G�,攻����9u�+}�MP�@��Vʌ�	D���Mq���P
��sٚ�)�LI�1��9&~+����{�n�$�.3�Q���T��Ne��K�

+�!}x�jd�Nė*��@6���� ��m(��S�je�2�[E﷞|7�4
+օ��ݪ

+Zg�t�M�>
+���a�
���Z}P��;�t��
�=N�ݼj�#tO�]�o�픃��(G=��(��]��S΁v���N����� C�v�s?�2Bt��v���4�	�!E��6�?

�{�z�ਠ��B���O߾9{������'4A�g�gp
�����	4�nև$O�\=��-A#��V7�4Y%�lj2��b`� �͂Sh�q�(�{x��
j{8��届��� ��PR��t�4��=�?A�$A���n�o��ʌ��
ö��ؠ��7�����g��
-ۡ�4wv��'+*;	��J*;lW43��U�Jw�Xh=
D�s��c$%�����z|��
`��
�~���
ѿ��]7���\mP�Z��a�qy 辀�ѷۉ>��}>����
����S�Z�c�B
�!\
�s��s���=��>>�sP��C^��쓀���]@}�7A#`���Y�]�Ѻȣ� ��*�y��>p�
S�Oz�Lob�>����)�I�
Ĥ�D�cN"�F<��Q��}��|X�Y:<�����=�uN!��b�=
+�}nS� �ِ ��F�n�r�l��p[�p;l/��lW;��v�+��
�4���}�}�gͲ
�z��V4l�����Cx
�ͽ������oK�(��7�ށ�����F�W����_T_��|��]L���!�$|��s��q�v2����i9g{%u���t��-�ͣe�yxW���9��f��D���3�쿵)�	6��ň�
�>4�s���Ư?����YsH�Z��t�����d����F�
+��d[��^l���n"
��A����]�+����`�S����|J
+endstream
+endobj
+6533 0 obj <<
+/Type /Page
+/Contents 6534 0 R
+/Resources 6532 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6530 0 R
+/Annots [ 6531 0 R ]
+>> endobj
+6531 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6535 0 obj <<
+/D [6533 0 R /XYZ 90 757.935 null]
+>> endobj
+6128 0 obj <<
+/D [6533 0 R /XYZ 90 624.55 null]
+>> endobj
+6536 0 obj <<
+/D [6533 0 R /XYZ 90 609.979 null]
+>> endobj
+6129 0 obj <<
+/D [6533 0 R /XYZ 90 371.785 null]
+>> endobj
+6537 0 obj <<
+/D [6533 0 R /XYZ 90 357.215 null]
+>> endobj
+6130 0 obj <<
+/D [6533 0 R /XYZ 90 116.964 null]
+>> endobj
+6532 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F11 446 0 R /F123 2840 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6541 0 obj <<
+/Length 1565      
+/Filter /FlateDecode
+>>
+stream
+x��XK��6��W���@��C� =$i$M�m�
���e�f+Q�$����E��l�w7-z(z2I�Ùof�
+;;/'O瓫!vb4p�k'�N�S��W�'�`D��`���)�nR���zJ�[d�-_U��XVIux��e%V����,K�Z��5��$r�L9H
+	\��/�ד�����`��w�!
+������`����#g���
�2�͜��&��
�!
�Gv �y�1�I���x:�	q�B֍^<>�l,�Z�o�uW/�#��(Vƶ��Gz�@o!B�nϳ"/3~#��B#:"uF�0#Ό���Ԟ�^��
�����bƺ˞��q�����7�y5�8��Q�
� �>ޱE�Z��ߔ�HE�E������
���Ly��JO����h/�h]��Ҡ�"�]-�F
7�6E%�mn��E��P�3%�k ��U��FY4z�w���ۛ�9_H3�K����n��`��G��[�s��0
:��t�0u_�G���(4�3�U�#�"�/��@`�PY���v��#�H
��s��T��m�Tԃ��d�do
�i���l!�S�u�
�@ޠˬ�
�V�a�2#!
+�����
+A�l,�	��H�КnC]&��D�e-t�#��o�텖�Nk�Q
��t at Ak5
?%9oxUN�R�L ������1GG����Ǵ�Z~��'�c��
�X
�v�#ڻ��|��jM1�e��ƞ0�2�Cޖ
����}��
T���M�]�*�K�>�a�[TS�{b,�=�X`�R�򅍣z,�D�zn:��<��.�H*�_�
�h��!�T �Šp��ү��Q���0�u4������I� E�
�Ô��h��ȋX=��P�8`��z+"�}�aX�U+!�.GJ�����.m :�!�Ćo����J��e��PhL���YT|5
p#�
�3��Kh�Z	/v2m,+~_��-I�d�P�=C]��,�L��g��z�@^�F���E�A�7q��܂ߣ7�<t�{��*9V5C^d�&8��H�<l�\��H�Y!�Ð%N���z
6F%(��
�V�w�a���8�#�
�z��y3�n�p�P���)�+���l�O�*l�L�<�o�}���쾁������-�lk������cܿ�ۿ��z��pQ?y���@��
]x��hU׏t�P��8��F��I7�l��N��U��2�?�VGm��S2'��j�T�~/��.Їw݉�[���pp������	��P�2�m�b�p��`��|e���C��/�J@��te3��f����JwXϔe����ԃ�ٰ��,����v91��U�5�u�s�s����oB���Nm)UN��Z5(�#�Z��ֶ;2�v+~�M��Z��^YǁyP��/��w៼*��s�
�<&�}��߽��@�id�{�1�����Z����L���S�<z�sͫoU/i�x��]����}�[�!*�Է
+H���]�9��I���$���ֶMS>�����(��N��B��*������ĒкkC�#!a1o��3��x�a

+endstream
+endobj
+6540 0 obj <<
+/Type /Page
+/Contents 6541 0 R
+/Resources 6539 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6530 0 R
+/Annots [ 6538 0 R ]
+>> endobj
+6538 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6542 0 obj <<
+/D [6540 0 R /XYZ 90 757.935 null]
+>> endobj
+6543 0 obj <<
+/D [6540 0 R /XYZ 90 733.028 null]
+>> endobj
+6131 0 obj <<
+/D [6540 0 R /XYZ 90 527.137 null]
+>> endobj
+6544 0 obj <<
+/D [6540 0 R /XYZ 90 513.461 null]
+>> endobj
+6545 0 obj <<
+/D [6540 0 R /XYZ 90 410.608 null]
+>> endobj
+6184 0 obj <<
+/D [6540 0 R /XYZ 90 388.296 null]
+>> endobj
+6546 0 obj <<
+/D [6540 0 R /XYZ 90 388.296 null]
+>> endobj
+6185 0 obj <<
+/D [6540 0 R /XYZ 243.423 311.194 null]
+>> endobj
+6547 0 obj <<
+/D [6540 0 R /XYZ 90 295.361 null]
+>> endobj
+6186 0 obj <<
+/D [6540 0 R /XYZ 90 190.138 null]
+>> endobj
+6548 0 obj <<
+/D [6540 0 R /XYZ 90 176.462 null]
+>> endobj
+6187 0 obj <<
+/D [6540 0 R /XYZ 335.617 89.441 null]
+>> endobj
+6539 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F123 2840 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6553 0 obj <<
+/Length 1569      
+/Filter /FlateDecode
+>>
+stream
+x��YYo�F~ׯ�SK�zo��S$�p�/n`P�*b�C�a����=xI�-
+�y���r��Y{<콚�t=�x`/B��һ�x�I��Ļ^{7>�����`���9�~\f��՜b�H�j]Ʒo�e������d=_P���i\Uv�VmT9'���I��S��_������=#�{��
+��V���=��p����Boove
�
��޻ٯ3��
�!,���w�,�"��N���rU�U]�I���
<_��<�  ����F]�
(��ZJ�Ar�v�/	_���ƨ���
�_0F�
���E�ϽUuSB+�A ����e�&���8&�dc!Ĺ
j���v?
�
Q&��
k��FR
�ԾUNS��g!���R#⽋0� �Qvn��I5�����<l� *
�(�4��@�G��WjW'�ut�l/c
m�#oA�p�XՐR`%��4Y���&Sy}�f�;(�l�ޖŜ
+�?N��E$/j|���źx�r� �
+�wI���r��)�"O��a���_`,���A��S�}Y4�����*��xY�����1�tEjn��$���w��*�)��� 1p҂�>
���
�
�&+-��jp
���|X�Pڐ�$O��)b!�4�z����C*\
�0>�*B"D���q�m o�HG=@���t[x���E��ݫ��Ъ8s�xh�NJHȥJm�ϥx��0ԇ,
�6��Q
+;)�:�&(I�0�籲�I�*�]\'0L2e���9�
+ƌ%?����/�a��ň�L��������y�=�[�T�"_
q�o�u>��g$.�I���W߈�C\���$=����c�%�(��c'�;v�����O�T�"�xV0އ6�lr~�

+�%8i�x^�
�����O���,���fw�O)�S
���I�á���p�B���ϵӎ��n��|�M��A��"4����>_b�
��DC�f�Z��
K�z�l�����X���Fs��
����
ر� W��CK���[�
ͲNϐj��Z	�IB�}�~6ׇ3�Ҩ�o���vR�c4T��J
v�fW*����Nsn�6j�w4i5�Z��K�x�OЭjU>���
6�ԧZ�yX�;
��p�]+
!��vB�z�����u��O����Q�X�s�8�u� 
p�K>`�
����A94�2���{�pRr<��*;�~ �G��*/�$�5= xz����	�l���N���+Gp��$Tgn6�T�jk�Qv�2�D$p7�O
?�����=����l
!�s;����	�%a��N���4;!
zG"
Ƽ�)&?�K�
+(�,�7&�X���g��p�[;�%i�����O�ݿ2o�m��������wc6_�i�W�emʉvW��J��i/v���&'@!�n�ڝ
�]�q*�Go���kaZ
�
+����~"0� ���F�>
�����&a=���v^��nh��U��~.��Z�/q��i�a�vܲ's�D��(
f0�R�Dk�_^���v��@��A�{ۺ�]^\��{��P�'�%��n�^
3�@
+�(��MKYY�
�
nf�>Z
��_X��'
+endstream
+endobj
+6552 0 obj <<
+/Type /Page
+/Contents 6553 0 R
+/Resources 6551 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6530 0 R
+/Annots [ 6549 0 R 6550 0 R ]
+>> endobj
+6549 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [338.247 104.139 386.177 115.043]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+6550 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6554 0 obj <<
+/D [6552 0 R /XYZ 90 757.935 null]
+>> endobj
+6555 0 obj <<
+/D [6552 0 R /XYZ 90 733.028 null]
+>> endobj
+6188 0 obj <<
+/D [6552 0 R /XYZ 90 623.368 null]
+>> endobj
+6556 0 obj <<
+/D [6552 0 R /XYZ 90 608.798 null]
+>> endobj
+6189 0 obj <<
+/D [6552 0 R /XYZ 90 465.03 null]
+>> endobj
+6557 0 obj <<
+/D [6552 0 R /XYZ 90 450.459 null]
+>> endobj
+6190 0 obj <<
+/D [6552 0 R /XYZ 90 306.691 null]
+>> endobj
+6558 0 obj <<
+/D [6552 0 R /XYZ 90 292.121 null]
+>> endobj
+6551 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6564 0 obj <<
+/Length 2233      
+/Filter /FlateDecode
+>>
+stream
+x��ZYs��~ׯ�S��
+Gs�<%[�+�M���V
�.D
M$ � �e�ק��I���\U�"
�AOO����o��O�������m����2x�
+�$HP<$������`��K�q���/��e��2~�1}*�����]�&�x�}W���].I���Z�$Ɉ\P��~�y�p���صE�B&�����G
$p�� #�������2��?����}���D
+ã�JD$w{z�e��uZ��a,��-�'�D(�*X�%�Q���]�/9^|��4y��O�����۷B�m+����JxؖŒ��s�̔n̫�=��)b�yCٗn�@*�c�L����+�� Q�͜_0fS�!�r�mZ�_��N�$��W`�U����>�ӧL## XQ���
��{���)51ѫ��H�fLY1.�n_���\�dA�C�s����T
�D'�����&C���^c�
)�N����]ig�����x?��e��!;�J�wJV��c>��BQ]�����rZ����C��.Rw�tw�M��
1Ə|9ӛڍy]
րqȯ����W� ����
1��"Y�^��wwV��ڽ�
x��/� V���c��||c�Ӡje��=���s_L�������HH����pS�N
��Blz!I�C�Z�Q�6ʾ^x2#��A���p�y
��Q��r��E�w:�e\��P#�Z����
#��+T�
+q�ɄB�>�s��o����<�8��0�1�0��υ�m�W��lj1�<��|��j�cx���O;(��ō�)�+�u�R�X-����a���W�x��_�f�;��tp����u��%�����'�Ģ��^�
:�TfI���6]o�gE��<+�<��[?� +��M{��*qv����Ϲ�
>ou�'�@Bp�.0/*eJ
��*2�
�0mʌC�Wq
�b�$DNJD�r�=�;]���0BX��&��=�$����k��o7��A at L
������ߤ���2O�뺝;�T�Ĺ|�
+����^�2� �X�@
����@EGʡ�n .��e�yNA�ؑ��
��U0�y�K������k�+_�N>����恚K�j*d��
�+��.r7p.��L��؆�.!{PzU� �h��}f������db���l��
�4�$5v����
g�~J)���6/d�ù�}c��p5��YL�u�6��{6Ϛ+�R��̭�޺�k�x;o1=u��7������{_|��ty�r�Aܭ�ա��8_��'`A����M�g�50A�r�(�4��v
ʹ�d�mu5�Ш���j��y� k\[�5w��z�uRC`���,s���`�������Qb6�Q��8[chr�Q�3k�uը�D��j�y:
2�7�� 
�J���� ��z
-	�����
6�IĤ���=!ږ�fЖ�z�i�"����SBBy������~:�\Ͱ ʊ��Y���s,ȕb�h 	�(]M�p5�^vlAF_Ϧ(DA�I6E��~1���-��Z6%��6Ϧ�q��
�
+��<ͦ�e��dW��f�M��$�cS.���]��?'���
!k����d
+x�
����7 l����0�U�/&8��Br���E�����
0

�aFs�h�o���[��-
L��MR

�<��ktP�᰷u�򶹌�؍��?��nWX�&#v�1v��Hs$s�FZ]�0`�����<H^�/ڎ���
Y�vP�[X<i�>��
Ü���ѭv�br�;

]�1|��n�!��,�``��C��h�20���LD�5
��`���<�=�������wp�N�*��#)��;h�%��i���� �
� ��:y��
5�Y��&u��r�;s����p�;@�8�
̳�`f9��><�;��'yFU�;8q�w0/z��B����1�{h�\����x�� ϡu���}qHm����<�+�*�e/'>!oO�`8�#L���N�F�;��Aw��T��nk�^�1@?"յ�'N�%a��{G�p5��
+�ptД|呿莀�
yR͋���D��-g�m
��$#�C^�3%��$�CB��"�3+�w!�(�ߛ��4����lݥoo��ϕ.�[
+�������ʹ����
+?�1���~��o����A3�������j�{�lۺ����>??�u�y�/QZ�����1p��@�vG�����e[��͝�c���/�蝺
+endstream
+endobj
+6563 0 obj <<
+/Type /Page
+/Contents 6564 0 R
+/Resources 6562 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6530 0 R
+/Annots [ 6559 0 R 6560 0 R 6561 0 R ]
+>> endobj
+6559 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [338.247 465.282 386.177 476.186]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+6560 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.58 172.292 424.51 183.196]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+6561 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6565 0 obj <<
+/D [6563 0 R /XYZ 90 757.935 null]
+>> endobj
+6236 0 obj <<
+/D [6563 0 R /XYZ 211.842 671.187 null]
+>> endobj
+6566 0 obj <<
+/D [6563 0 R /XYZ 90 657.276 null]
+>> endobj
+6237 0 obj <<
+/D [6563 0 R /XYZ 216.764 366.242 null]
+>> endobj
+6567 0 obj <<
+/D [6563 0 R /XYZ 90 350.951 null]
+>> endobj
+6238 0 obj <<
+/D [6563 0 R /XYZ 211.842 89.441 null]
+>> endobj
+6562 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6573 0 obj <<
+/Length 2115      
+/Filter /FlateDecode
+>>
+stream
+x��ZK������)��6�OI윒�� �]`2�A���ڢ�Jd�#�����)�ԃ2��� 'K2U�*V}�U�8xp���/7w�G8�H�4

V��A$(	
��ӌ`D���`�g�ϒj�<~�S<+�J�����J�����U��T��wyR���Z�jN�*�
+$���3���n�=�|�!�
H���P�D���|�����`�d
��U��S�y����o�I;(C8#;C[c��2�
+��̺��dE��~S�_� I�D�eYԍy�cV��z|�uk
��,�W���}[��d�#jsZ
�~/�[�ֱg�8E (X���V}W��/�e�
+����(����v��X=�MF �[�z�O8��s�-��?&��cp�����O*�x�+��*T�4euJ]����2�<�B���(8m��1�b��`B���]���tR>eE�٬��xc�$���؈��U����jG�r���6�Nyd�	q
���H9K��\�E�b���mH��m"���y��Hƃ�>�Fm�,��\�ͶyT;�#�H�N�\��S�+Re�]U��>Vy9�b�׷1��z�#�r����pT�������l5ٯ���� c��Uh�*���fm/�B�$$���U��;��9\}a>Lt�������FK�9�ͨT�\+��� ���r��5*E-�w=�3"bQ�+�#��P�lT���y��3�d�>���
�w�GByn�k��͵�11�����ɮ�
+�uy�{��Z6�ZOPI B�"�tP���41�uЂ��<M`̨��Q��|T�6=��m��0<ϩhv�j���0D":P0UE	�;��ng4$NY���s�
��,PG��l
�
C�0q
g���|���eR��O�|�lM�w}K��$C�E��ٟs���6m_|�
+XK��%���ʧ$���V���&���[Ga��I60\h.
���"F�l�����Z���\W��0i��,�t�ӫ�Y��_�4�ďf�ճ�������,-�t�ńJ
�V\Y��
3�_��"��pBZ�k`�.o��p�Ǥ�t�d,��9ۑ�I�o�HkL�c����1ڂ+;<�w˥Ri}k
\��.@�o��B]])(�ᷔ��4֜.�� ��I�4���T[m�ueQl�n����H�g�cR=��>�Ғ�f+C��t�q��l�Ny�g~n�7D�[p0w����X���"+�4��ـ�5w��M"�̫�1��$z
-!I%
�X2�c}YV>���l�j�l*���dL�IO��C�GM�S7�D�_W<����t��m�=��:5Q�k��&�����|	�?}�>iI�%(&P�&-���6�#O/�:*��7W+
d��)w��#��KDA
(�t0܏C�d
^:Y�Ǘ�*������a&
��
��%���؝��hN0i��c
����tYU�ˑ�
dž"'�G���t,�WI�u4?:ϡ�~����|���i����37=D3�WL:.�s`:s�M+
�h�
����9��J�6sL
��{�9���9�jG9�^��E�nB_&�����J�[/)؂��̑K
_��Uܚ
��z\G:�o)�����T�脚p;�D8�XGP���D���u�;�M���[^I��|�"6Ӭ��N[
����w���W�N(�7'�����ɪk�G�v�:�@�Uz��0:��
�
�Z���z��I�f=��(^��!DQ��U]�Y���8;4�������W�L^g����K̾x�T\J����d�C5��7�Z_��@�0ݸ��i���
��n�N�Q��P�#�
d�5��4�ėGNr�����ڇL���=�o���\"B��w,�3��rgi�o�\�*h�Ͷ$�Z�Ԋ���|����ߗ �m�
މ*t6��m�i�����#W��� �&n���@�8
Ou�
N1�e�C��Z�s�}��-R���J�$����\��9"��h�K���'�u���D =�O`���T���ۮ�7���77��U��9��6
~J�]bǮ���U��S?
�C7�H���g���Ʈ����O'���6�a��n�����~�G��l[����n�C�
I!
��w~�D7e��
7�\�������?
+endstream
+endobj
+6572 0 obj <<
+/Type /Page
+/Contents 6573 0 R
+/Resources 6571 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6530 0 R
+/Annots [ 6568 0 R 6569 0 R 6570 0 R ]
+>> endobj
+6568 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.58 538.596 424.51 549.5]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+6569 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.911 327.476 340.584 338.38]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Frequency) >>
+>> endobj
+6570 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6574 0 obj <<
+/D [6572 0 R /XYZ 90 757.935 null]
+>> endobj
+6575 0 obj <<
+/D [6572 0 R /XYZ 90 733.028 null]
+>> endobj
+6239 0 obj <<
+/D [6572 0 R /XYZ 216.764 428.707 null]
+>> endobj
+6576 0 obj <<
+/D [6572 0 R /XYZ 90 412.603 null]
+>> endobj
+6240 0 obj <<
+/D [6572 0 R /XYZ 289.989 126.065 null]
+>> endobj
+6571 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6580 0 obj <<
+/Length 1551      
+/Filter /FlateDecode
+>>
+stream
+x��XK��6��W���@�%)�@m�MR4M��4Xh-�"K.%�v�}�"%YZ��{h��,���<��f(
l
�Z�t��x)p���W�@�@p�%�U|
	F�/#�1�-	S�K��-)��~�3�^��oLj�//_�<[F���y�ֵ{|���,�
u�Ҡ�DŽ���姫׋W�?l�i�f������'
d 
`+ܵ�vABc�-�����4F��#?P����TU�
<˭��UU6i^z���
/#�@^7N8������%�tdSL�	�Zt�F	f�8�8m�v9�Gˣ8V�&,����ݾ��9�ө���(
h�A�(�0%�t��3!-�gUYܻ'���
�v�ј.�xƎ)ٟ�l���f���q�!��$�#U
b#���]�I�#"%"Hp�D�-/�Z�}�W��~�c�f"��
+t��y��
 (/�	o�"ϮS�9�t�L�٭�p��}�5Ւ��<�����O|���zGR���D	W����Y~��(/W�n�6�M��L5D�P$��"�09��x\���J���������E_ұ�KZ�%-�TҜ#*��5-'-FMp2*i`-!,|� ��yY��4�
r*���e���/gHr�D�@���e
!�����b�ɷv�_�L{z�b�ܩ�P��JV�V�?��˪�ֻ}���W0J�$H�>�봨���qV���B�1	<�>�=:\
>4�և߃�B)5yZ6~G��Rv��N�
+F
+�p�� �-	
'�2�NW!a��$g#jR�S��
5�h��8��i�A�E���
+e0�E�Z3��P�$l�
� B��.3W`���筕M��
Z�(�_��q��\�8�����>$��	l+q���d��{P�������W؛a�7
Os�ҝn�y$�[|�ӵ��lyF�%��K��K��KmI?��b˭ɲ�v%��T�K��I^n��$�+�g3i��*�����;���q��iʹ��mo@�8c@�N1���x�pDpτ�
Ĥ�:&슩�g��h�eE{m֕��᭸��8��{�����i'L��"o�b"�Wu��X���v�f���9�;�F�қ�0/:s���
ʨ�OM"�����
'�N�֝�
��J����v�N�u�i)�n3~��w�v3��a�)d
܎2+P<7h|p_�-P�UZk���
[s�WE����X@
+s��Mp
�	w
j�>�F�n�=�x�������7�L���ٸZ9��%��ׄe�
�Q�d
a~
�����k?{&�b�ד
�D���n��	.( |>Y4M��Q���W�7H�BFC����	�>�M����3��fo�r?N�Q f�!�p���p�)I����!��t%�).F��3?3�
EY���?3�'���̓y��Q�
��sn}l�$����s�G��!�n�p�C2�Xrԃ�Մ�4�_;
p�o��`_~B�~�X�K旴<��pe���`�q��b�ג&����ί�A���M(��DR�E�m��//.���ЪF�2��7�}q�PGZ �b`���w��/
�ۦ���7g���
+endstream
+endobj
+6579 0 obj <<
+/Type /Page
+/Contents 6580 0 R
+/Resources 6578 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6586 0 R
+/Annots [ 6577 0 R ]
+>> endobj
+6577 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6581 0 obj <<
+/D [6579 0 R /XYZ 90 757.935 null]
+>> endobj
+6582 0 obj <<
+/D [6579 0 R /XYZ 90 733.028 null]
+>> endobj
+6241 0 obj <<
+/D [6579 0 R /XYZ 90 623.368 null]
+>> endobj
+6583 0 obj <<
+/D [6579 0 R /XYZ 90 608.798 null]
+>> endobj
+6242 0 obj <<
+/D [6579 0 R /XYZ 90 481.678 null]
+>> endobj
+6584 0 obj <<
+/D [6579 0 R /XYZ 90 467.108 null]
+>> endobj
+6243 0 obj <<
+/D [6579 0 R /XYZ 280.943 248.913 null]
+>> endobj
+6585 0 obj <<
+/D [6579 0 R /XYZ 90 232.186 null]
+>> endobj
+6244 0 obj <<
+/D [6579 0 R /XYZ 90 105.066 null]
+>> endobj
+6578 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F104 2229 0 R /F123 2840 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6590 0 obj <<
+/Length 1411      
+/Filter /FlateDecode
+>>
+stream
+x��X[o�6~����f�;��mE[�ۀlͰ���q�ɒ+�M��w$J�.tbw�0`/6E�<��;<��&����׋�7
+�$���]�@I�%��:��$Q�
+	�xy�"xi����ZQ���ý]���0����m��W!x�*5e醿�;[��^�,�p�dD.���������t�id
�A�]|���5̿
0b�
�UۀS�i�~��?ieK1�1D:c>��䍾�D�./�z}�����f�0U^��`�W���q������ܼ������a
���H��}S��xJ
�'
Q
�5+6n��>�n�'n���5�Hp�
�)��~�^��1�/�w����߹�M���ЂդI�&���Ј�ޒ*wgV��
�CY��Dt'���c!�C�$�G`�я�H�^�}Rz�,��5���.�&>��T�@ �#�������>��x�$�)���1�
+r+�V
�Ҥ�5���6�&ڌ��h���}���X>d��a�L|>�
q�_�eE}�M�v2�J����I��4�ug�pC	�
�,η;S%���^���;j,a,O��>cm�D���ưM:e��nw�a���7s��!��ɠ�$ey5�.O�
+y�!$
��V|€j΀��À�q�b_�y����G=�����U7�
ʿ��M��D%�� �U����C��If?��
����K~]Z�w�;��3��Û
ܠ�̼1�0��ӓ�SN^�OeAL�y���1[[��L&nt�c��D��%dXe���ԔIz�oL���$M��]
�l[��T�f�{��
+\����0���?]�Px�`B��)O
�a}� P3� �F5�V�_��DL)GRɖ�ل����;��ݵ:>ĩ��2c̱�se��	;7��� /?���s7RR�(=v#=a?�b����8��y�Ι%��X$L!>{	�$�s$yD��ץ!�u��'E�Ä@���o��a��Oe��볐�5�����WD,
=C�T!���M���D�7�=~-��HP`��WR��ut�$�<��iX\&*�̳�N-MY�M��s{��5�i�n�M[����|_�<��X���@����~�I.�1 ��ۧ�������]F��ea�}�nl�	��T���	u��+
C
Z��5�CKi�l�"hm�
+����
kE�y+�ę�( ���mm;A�N&_My�
� '�X���\�
�����B˱�j;���o;��R��?_��Np�/��>���s�cR�U�1�'��n�N�:R
����;�>(5p�>��`�YD�����ς��
�'��M�r�c�s�M<��[i�oW�����d{�vu�}�����(&1"�Ζ�����5���gЍ~\4�{Զ��z��W��������%�gɮ@Iu�ۥsb�B8@�/w
Q�^ۼ�{T�ܚ�0f��
r��
+endstream
+endobj
+6589 0 obj <<
+/Type /Page
+/Contents 6590 0 R
+/Resources 6588 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6586 0 R
+/Annots [ 6587 0 R ]
+>> endobj
+6587 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6591 0 obj <<
+/D [6589 0 R /XYZ 90 757.935 null]
+>> endobj
+6592 0 obj <<
+/D [6589 0 R /XYZ 90 733.028 null]
+>> endobj
+6245 0 obj <<
+/D [6589 0 R /XYZ 90 599.938 null]
+>> endobj
+6593 0 obj <<
+/D [6589 0 R /XYZ 90 585.411 null]
+>> endobj
+6246 0 obj <<
+/D [6589 0 R /XYZ 90 415.311 null]
+>> endobj
+6594 0 obj <<
+/D [6589 0 R /XYZ 90 400.784 null]
+>> endobj
+6247 0 obj <<
+/D [6589 0 R /XYZ 90 173.365 null]
+>> endobj
+6595 0 obj <<
+/D [6589 0 R /XYZ 90 158.838 null]
+>> endobj
+6588 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6599 0 obj <<
+/Length 1309      
+/Filter /FlateDecode
+>>
+stream
+x��͓�F����<��7�-��٪MR5ɘ�a2e��*p��}
t��������T.�@����{��Y:��4�q:�y�	P �t�
'��'	�8��yt	FTGc��	vU�����b7[�W:����x��|?�|��h8��֪(��7������NC
�$#ҥ�
�����/�`��{
yL8a2x|�N�?;��wv�����u�<
~
`k~�
?@sǣɍM���R�E�GW��,>C|����
jĄ���;!O��8�9]i�0K�2WqZ��23׹}��HG�#�eψ��W�$�����zS� �6c�FDQF�I�9v��:�f*_n
�^2R��
�̳!�.[�Ƌj���u\�""h���13�<z:	�Al��
3��5��o��4�B<D=��	{d�ȗG!�6zG1�]�3Gqf�F��|m�e����z�><D�w�qa��Y-�1(D�)�
�A��^�M���&�Km�nn�M�-%e	(�����b��tF�Bt���G
Ql������Hױ`2���
�T�C����<�p�5{��N�>�}�	,(bP�-��E�e����&HO
FR �4�<f��EšD�Ә1�IvE��Ә��$p�2�V����/۸����G�u��9X�J(後�`�&�4�>�S^a��HB�� I�p-.���+�����|e`���
x�1�=��C��X1).'X�x
���/!�c��S��[��aKȈ�02��*T�';\���*�W��l6U`��:����9��
��X�׺
dd���C��c}��s�������|z�c���T?��;�  i��ߗ��d�x���v3�n
|���� [...]
+��M
#
�U��[JtcH���ۑiϩ�\ۑM7�������r5;v#�
�0=
�H՜[�^?Y"�˾N\EG^Պ�5��� �}���h��j0��]nKkq�
+
{R�����s7FuS��QMɭ����D��� �����\҇����q��i�V�r�o���wz�}U?U���&�̭�As�ɿ��چ��n늃q�{ϕ(�0̀�R���Z[�]9��A��ħ{���r3�w�

+
�M�M��r�٬��;����
rQ3�j�Y���&x���
g���EB?
+endstream
+endobj
+6598 0 obj <<
+/Type /Page
+/Contents 6599 0 R
+/Resources 6597 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6586 0 R
+/Annots [ 6596 0 R ]
+>> endobj
+6596 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6600 0 obj <<
+/D [6598 0 R /XYZ 90 757.935 null]
+>> endobj
+6248 0 obj <<
+/D [6598 0 R /XYZ 90 640.455 null]
+>> endobj
+6601 0 obj <<
+/D [6598 0 R /XYZ 90 625.885 null]
+>> endobj
+6249 0 obj <<
+/D [6598 0 R /XYZ 90 445.131 null]
+>> endobj
+6602 0 obj <<
+/D [6598 0 R /XYZ 90 430.56 null]
+>> endobj
+6250 0 obj <<
+/D [6598 0 R /XYZ 90 190.224 null]
+>> endobj
+6603 0 obj <<
+/D [6598 0 R /XYZ 90 175.654 null]
+>> endobj
+6597 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6607 0 obj <<
+/Length 1138      
+/Filter /FlateDecode
+>>
+stream
+x��Ks�F��|�9e��0�{$�q���I�61{�(d3�XI6�O�=�1�I.�	=fZ���O��G}�4M.5A!Shv�B���X2�fKt�Q���ǔ�}�)�lͿ��x��i/�h���͢�i:����?f�x�(����]��4��d�%ũ�������l�}D�����Rc�%ZlF�7-��gD0�ۯ� �8������qq�g�	BL�@�)L��1�8�M\�Y���ohr	��� k�1�ɬ��}g��R���y���~�l�l,��>{��(��x�{v:�9�$�Vc%���-�ma����%�L��r:5�/����r
e��8)��J
�&�,���v���ܕ['�P�f�`��I�F�k4k��aP[-V&�k:O��	B�EQ�<��]%1
d��V�HB��E�+��@&r���$�t��
+s���{F�:LiL�Fc��J�j�1�s
Kťesp�O���6
$�%�|g�ռ	7���I���*��|_;$!��1�M�/�󫧼�76�lD=�BM��ARLѦ��V�D{��K{m��I⛁:@_IL�4������<v
��ro��=ٳ�����嶁�eAy�%�C?�����A�Z{��ƀйĂ��N_R:�a��8 1m� �3�-?J����������Fτ7��o�
e? ܀r�>A��]DU)�
т
��ј|��"�

14I*��_t�al	�	k�/�B�c
o�xu�TqtO$�f"U���¬�t��*�'(��G!¸(�!��[y�Y�_��ZR���J���c�-�*���B�=�� �(�|%��{vf��G���>I�xy���T����#x�(Ú�g&690��C|��Z��֘ڸ~yhs_
�B�BY3��l]p8���0��,��9����
�a �>����1��9
���<+Y;+�Na�ΞM
��{�*��W�R
DBSW?�B���
z���,T�d�?�� ����e�E\)�t
�/D2�R���@�r�HwZ
���aҞ P�����oQJ��%
KS�5��H�Z"˩�*�]�6�?Qu��h���[0Lt=b;�Lv�
^��!1�
�b�ݮ'�
+jY���FBwif�ڤuK$pq��>H��]r��
+endstream
+endobj
+6606 0 obj <<
+/Type /Page
+/Contents 6607 0 R
+/Resources 6605 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6586 0 R
+/Annots [ 6604 0 R ]
+>> endobj
+6604 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6608 0 obj <<
+/D [6606 0 R /XYZ 90 757.935 null]
+>> endobj
+6299 0 obj <<
+/D [6606 0 R /XYZ 90 650.388 null]
+>> endobj
+6609 0 obj <<
+/D [6606 0 R /XYZ 90 635.817 null]
+>> endobj
+6300 0 obj <<
+/D [6606 0 R /XYZ 90 464.996 null]
+>> endobj
+6610 0 obj <<
+/D [6606 0 R /XYZ 90 450.426 null]
+>> endobj
+6301 0 obj <<
+/D [6606 0 R /XYZ 90 279.605 null]
+>> endobj
+6611 0 obj <<
+/D [6606 0 R /XYZ 90 265.034 null]
+>> endobj
+6302 0 obj <<
+/D [6606 0 R /XYZ 90 94.213 null]
+>> endobj
+6605 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6617 0 obj <<
+/Length 1435      
+/Filter /FlateDecode
+>>
+stream
+x��Xߓ�6~�_�S�gb�~���$7��3i�i�F:�)���B��}�'�'Hb��o�ӂ�E���ɏ����
+)Ie0
"I��$�����`D�tF0���)���V������wK�V�������������
+
��u]���h�)�CS$v��ȐJ1�<7y3��=!`
H�m��� YM>}�A
+��1�v�*��5>N~��g��
a)�@l�̓u���2v�kS�w��:M�0�_��T�)��m�'x:�B�IYԍu/1̃!H	o����[|�qW7f���.�y
�
xB(F��]��ݤ����������IB
L��8BXD���9s�HS(�.I��`��]���Ҹ����>+�=t`Aqďm
�C8�\vS���;�.��߆����!^�E{00��#����l�B��砖�
��Q%Q�!�T ɕ[�I�W�1U=X���(�1�����H�C��
a
��uY4:+�3Ak��q�m��n���������*�b���� �(à��'1�&�}Y@�>��� �C�9d����)���R��{���)� ̢(��0���*�I$�}t��%l���5"}J��8��
<��YV$�j���!7��e�ò����I����Az����(��ef�nvm�1� �԰[$^D�؈D|o�u.�YR�>��R��|Z����K�Ow�u�M�F$`F"���xC� [...]
+>N���Z?��'Qj��g��=�ڞq���G�H���B	�mWX��ܭs��~�*
+;d�3&�
�"�g�'�Ɉ�`%9���3�x�������X�C�<9�ٖ�Z�����$��Np(ϊ�� 3i�[�
R��
o�X�rr�z
���l�f�<�L�6I��)ݵ^k���)��������'XI
!�z�s��͸l�&ocg�&�s
+ȌQ�b
y��
��}+�A�f�F�諄�
u�C�L;�k/�>L��z�e=H������|uK��tq��.�����x���=��Pe̯տ���e�
�.����o���
+�"~IJ���ٚ�o���n}�v7�զ�~*D�q�E��K���
+Ҥ�#Bl��ď�+�ί��n�ӤEoo-�)�Q_��M�����n�(�Ѧ��ʚ��:�9e��.m����;C���Ԓ�p�V���R�
+endstream
+endobj
+6616 0 obj <<
+/Type /Page
+/Contents 6617 0 R
+/Resources 6615 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6586 0 R
+/Annots [ 6612 0 R 6614 0 R ]
+>> endobj
+6612 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.4 237.641 212.124 248.545]
+/Subtype /Link
+/A << /S /GoTo /D (main_Cylindrification) >>
+>> endobj
+6614 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6618 0 obj <<
+/D [6616 0 R /XYZ 90 757.935 null]
+>> endobj
+6619 0 obj <<
+/D [6616 0 R /XYZ 90 733.028 null]
+>> endobj
+6303 0 obj <<
+/D [6616 0 R /XYZ 90 555.756 null]
+>> endobj
+6620 0 obj <<
+/D [6616 0 R /XYZ 90 541.186 null]
+>> endobj
+6304 0 obj <<
+/D [6616 0 R /XYZ 90 312.805 null]
+>> endobj
+6621 0 obj <<
+/D [6616 0 R /XYZ 90 298.235 null]
+>> endobj
+6305 0 obj <<
+/D [6616 0 R /XYZ 90 129.416 null]
+>> endobj
+6615 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6627 0 obj <<
+/Length 1296      
+/Filter /FlateDecode
+>>
+stream
+x��X�o�6~�_��Mj�?E1o[��V k����!�t�M�<I���~'��,Gs�8(:�O��#y�ww��ޭ��������ĞB*��7]y
+{2$HP�M�ލO0�a0&c�* ؏�u<�
+(����N/�x����q�pqq��e0�����(��^�< ��Ӆ��BFB��a�y�n�f:�{D��zo!�d�[�G7������<����]m��8e�xף�G�(��
�U�}&k�=	���6]diQ�I�OX�`,`����c�(,f�y��ٵv��O���{~��r@�^��ya�z`(E����$�H�{Fc�"J€ %�5~��7�RW�P�/�tM��;�u��
y7` ("��Ĥ��|˜.��d��c��-��������u�b���=+�TD���h Xn!�Lyg���E�(x[f
�zP�\[�j�b/�K��ih���H
š�C����
+�
�ܦ&��Q�Y����!\�����x��A�B�V�66�������aJȥ��
+"^�R[.���2�T&�X�aA�D�M�{���i
G��hj������6��Ż���L���ܙ^
�c�
(�Λ/
�)��9
?���E	�b�Ap��,gq~���c�(�E�q�g���+}3Tw�"�2E�ekd
+�cK�� ��
H���&��Խ�!�Oh
|
!�N>��j���P�-'�%�����-���x�t � �����U�a�"�d
+����S��sN�V5P�㙕�#�Kw�(�d�͞�(
+�I��a�"M��&?վG�sD#vB*�R��n"�Q�*�c7$G��PAt^��r�耓J��{�@9w�e���hduH<[��S!q�
+5,C�_e����=��o{�8?<?zr6X�P$�
�yrV'���|6϶�����(4/���W?h�l��o��
7DԬ�3���((���@
+���^�|�N�Y�ؾ��03���ח6J at x��U�pX	DU�=ҳ� $���W�_��67.4	æ")
��H at N�/���'CD�xb����]�]
��4���eU��	����d�� (�~r�E��mn��
���h�;S�]��{K��*N
+=|4��
��^fw*4�
�5����L��wQ����Rq��-������m�w6�$�����&��௪B�T�=62h�ڇ?
+���tz��8�ڡ�j)��ۖC*V���1���������kF��jf;o	tJX��~W����d�ۡE�����Ȕ��&�<Ο�U�Dlh���d���5^��og���_�XB
+endstream
+endobj
+6626 0 obj <<
+/Type /Page
+/Contents 6627 0 R
+/Resources 6625 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6586 0 R
+/Annots [ 6613 0 R 6622 0 R 6624 0 R ]
+>> endobj
+6613 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.379 677.939 210.103 688.843]
+/Subtype /Link
+/A << /S /GoTo /D (main_Cylindrification) >>
+>> endobj
+6622 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [448.024 578.68 483.212 609.649]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+6624 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6628 0 obj <<
+/D [6626 0 R /XYZ 90 757.935 null]
+>> endobj
+6629 0 obj <<
+/D [6626 0 R /XYZ 90 733.028 null]
+>> endobj
+6306 0 obj <<
+/D [6626 0 R /XYZ 90 559.761 null]
+>> endobj
+6630 0 obj <<
+/D [6626 0 R /XYZ 90 545.191 null]
+>> endobj
+6307 0 obj <<
+/D [6626 0 R /XYZ 90 428.024 null]
+>> endobj
+6631 0 obj <<
+/D [6626 0 R /XYZ 90 413.453 null]
+>> endobj
+6308 0 obj <<
+/D [6626 0 R /XYZ 90 298.289 null]
+>> endobj
+6632 0 obj <<
+/D [6626 0 R /XYZ 90 283.718 null]
+>> endobj
+6309 0 obj <<
+/D [6626 0 R /XYZ 90 146.701 null]
+>> endobj
+6625 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6639 0 obj <<
+/Length 1853      
+/Filter /FlateDecode
+>>
+stream
+x��YM����Wh��@��7�	�H���&)�L�y

�M��ʒ+�3���^��d��ؓ�[te���s��=�p�����ۇ���
+GiIe�4��$HP=,��1����`��OS��ڤ�OS��2߯ͲJ�?e�UZ���?V�r:����i]�˟��TS�ĦXXI2"c*��ׇ&
&����#��-RLD����8Z��FL'�K;kq��7�~��}�ߴ�2��8�1Ę7��S
�^e���2[
3��­�/,�t&`�EYԍ�
�'k�����H&��	��bܻ9�
�cq� {7Gȣ93�"�E3N�V�M���Д�9�]�
�&�_
3�
OB:��9�:�G �g9&�$����z�����$�܂y����S*bpg��M?�\�`N�\���
sZ,G�!%J
��"��]����(Q�q
��WR��ժ5�^�x���GӼS�Sk7�ՍX�����d���z�I�ܴ��9٤Y�O~�<w�Ioˬhj7��ʍ�zu�m�i���J�9�L+��,��|}�� ƃ4�a���Qp�v�}x]�m�A5O�+��D��<��S7P���C��y�����nc�f�%����v���J�oF6���"&���L�]Rv!Yf`x
�e�l�&{�
�
�`�t��c5`P��,m	q-{�ٔěm����]
�8�ii^�#"
��HEG�|�H �03�B�ki�L�:C�
�]�&��]�ޠR��1��m+S���7
֙u2@�����	�œQr%
ʐ��t�##^�f�ҭY4���%FD&�8W��
��㿮�*���B�J�ڌ,�(�D8����fWf��Rni�p�΄F��F�k�oy��S�`�u��
�l��~*E�G� �
=ƃ	��<(8�\ݠ &��y�Z�z+O ����-�ܖy��h��EQ�)=U���-���_.�(�'h�3$*Nd(�W��te��0�l�>�(�)��SMa�,�v��NFP�:�<��M˯FL�丯9:vE�1J�$t�OYa�j��u�r]�"H�8ik�r�[�����-��ߕ���Aϛ*͚���E7w;8F6&�.��8fi�r�ic�o���?���*@�ih�Ų�
��06}[	l X"y��� mY�{���0v������z��uB
����u�h���%����r�����f�.L�bi*�t�+�
Ût�u�n�-��
�Q��R 5�7@���	,6S"�Wە=�i 	�A��]��-�m���c�ċ�A��B@
g��zR %Xp�9ۺ��ɠyyFK7�6�w5��2
s�U�T����
��ߗu�X����A
m���X��s�X����Д�G6�^�(��5�A�'�б+OR�t�>���]���8X($zz� ���[ �oV�V ����w/a\@��lw]�)�˛�,�w~b���DZ��E�<N�P
�q
i^���WV�F��4��v����H���nb�0r��J�>��ԑ ��-�W��|�P�1�+K�Ps>[���v.��r��
[ƥ���@��bxB���E at Aʄ��[ H��'��JA�+O_�&��
+�kE/d�����/
Y�uJ�uB�dL�������eD���ۼHS�t���!;
hT���F�RS$��5r�v[�=�^�ڻN�ڛKjW w�
�E�K��`��S�����@�lk�ש\�x���
P��/T���T�)�KںO��)��|��>Y�Y���t��>��?jS�y*D�[���bw�F�p��R��;�c���=D
�by���wt��q�z�GK�p��e�4��������Ѯȶʚ��6�;�1G���T��Y
Z리��f0�i�V���b2Q
+endstream
+endobj
+6638 0 obj <<
+/Type /Page
+/Contents 6639 0 R
+/Resources 6637 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6645 0 R
+/Annots [ 6623 0 R 6633 0 R 6634 0 R 6635 0 R 6636 0 R ]
+>> endobj
+6623 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.334 677.939 240.823 688.843]
+/Subtype /Link
+/A << /S /GoTo /D (main_Convex_Polyhedral_Difference) >>
+>> endobj
+6633 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.275 512.49 293.971 523.394]
+/Subtype /Link
+/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
+>> endobj
+6634 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.643 340.754 229.737 351.658]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Affine_Transformation) >>
+>> endobj
+6635 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.089 98.244 246.767 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Affine_Transformation) >>
+>> endobj
+6636 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6640 0 obj <<
+/D [6638 0 R /XYZ 90 757.935 null]
+>> endobj
+6641 0 obj <<
+/D [6638 0 R /XYZ 90 733.028 null]
+>> endobj
+6310 0 obj <<
+/D [6638 0 R /XYZ 90 599.129 null]
+>> endobj
+6642 0 obj <<
+/D [6638 0 R /XYZ 90 585.039 null]
+>> endobj
+6311 0 obj <<
+/D [6638 0 R /XYZ 90 439.349 null]
+>> endobj
+6643 0 obj <<
+/D [6638 0 R /XYZ 90 425.259 null]
+>> endobj
+6312 0 obj <<
+/D [6638 0 R /XYZ 90 196.838 null]
+>> endobj
+6644 0 obj <<
+/D [6638 0 R /XYZ 90 182.748 null]
+>> endobj
+6637 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F123 2840 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6651 0 obj <<
+/Length 1762      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��F~�W��5R���m�<�Q)M�\6}I"���B��������^��m���
�9���[y�{9��rt�"�^�"I�w��"�� A�w��>�#*��1�ߌ	��2�go��Ez�V�2��N�ʸ��N_��b<����x��_ߩ�*�$�U>W�I2"}*����W�痣�Ft�
1�E�&�y6��{
8�aĢл1T��)���{?z;��|О0Bs/�ɭMΎ8S�*�F�>��`q�
	Q�#o�XP��:.;w/^ٽB%�7��r��;��T��$�J�IU�ϛu2_���:^j�O�ܝ�1��M��ۤ��Y�\��]m���Uj�sO��9�܄qj\�D�����2U�UQ��b�@Nh�ZM��ʋ,ɍ�#�B*����۾��4�g���Ŧ��8u�L���y�B�T�Z��d�.��y�������I 
�T �#k��/setx`Ñ�ŶZL�I>�S�&�Y\:��6�h�r�,�57�}"Yꫠ>m��1`�C��.#��n���1��:r	�#��:���
�0�j�8_Xh-
g�@�4�l�,���j�lO
+��~���u>M�
o�(E,
r�$��&���]�i;h|�P6�s
��F��wM.1c�K6񼮘ZѦ^��B��
ޢ���P�x9&ݖ V
+݋SDD�T�A�ܴ���V���=g�t�R94�4�����̒,^�+�Lћh	�̕N��G�i�F�n�iu��

)��,�&^�y�T����ͮ�t�s S.h2�T��6b��GM6��1g����\���.=�]�ӯ~�G H�;`	� H2�uԳB��h3����j;�}fV���0$�2:�M��OܥN�J��W���jP�JV��Ai�Ҹw�N�Z�<��a#9+�t�
+v�F.��!u���1�
+�2��ߚ�S�&)
+d �fn
?�tY�Z���mf�;p(|~�� a=l�[e��
+�_��`ft���k���n��T�
6j^5.��k�f��n˕[s߽
y
A�����#亖M���qؙS�̍�������O�'!P,4��6��$����R����
���"r��8���1�Eoy�l�\�� �PADʣk=H
y���M�%�f�a����vr5�7&!�Wv] �����c~����@�� at&��

����h$�7R�ts}��
;ړ�A0��
wstp;�s�!��=�����ݠi�j�šcǢ�P�tD��j��{���]��׾��+� A�^�;
Z`�Q�m���d�>�s�.򭰋Qқ��Z�_T���H�Y��H�u-����DP���@2s���%۳ͻ��݀�Dorǻ�� ��A�V��S~�$��C=ď��ÆN�^J����NQ'����ӵ�|b���iù��;
��$_$�R�����=~�ˍ;��{�.�]���Z��
\'�Y�
$�G����$w�@�1 |Þ! ~=
�#`H�oA��@���G ��Oa�� ¬���a(OL��.E�W2��L؅j(��P'�k�:�p����k�H�(���i$
�O��!aq	
$4\i
!a�c	�� a
*���
H�
�&}(&�#���0y����'
y�1�=��6�
+6��+����z�u�
�{�72���2��a��� �\�~��]�����k�
+
+�I���G2�߫��Z����o��L�o�Ɛ�
+�Ϻ�6Ӌ���4ߢ]�lJ�T�Mz���Qp�)4�uF&9
f&�P���\2�
+endstream
+endobj
+6650 0 obj <<
+/Type /Page
+/Contents 6651 0 R
+/Resources 6649 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6645 0 R
+/Annots [ 6646 0 R 6647 0 R 6648 0 R ]
+>> endobj
+6646 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.79 494.244 434.212 507.161]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
+>> endobj
+6647 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [331.477 173.026 436.256 185.944]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
+>> endobj
+6648 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6652 0 obj <<
+/D [6650 0 R /XYZ 90 757.935 null]
+>> endobj
+6313 0 obj <<
+/D [6650 0 R /XYZ 90 606.552 null]
+>> endobj
+6653 0 obj <<
+/D [6650 0 R /XYZ 90 591.982 null]
+>> endobj
+6369 0 obj <<
+/D [6650 0 R /XYZ 90 285.335 null]
+>> endobj
+6654 0 obj <<
+/D [6650 0 R /XYZ 90 270.765 null]
+>> endobj
+6649 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F123 2840 0 R /F8 540 0 R /F13 581 0 R /F7 541 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6660 0 obj <<
+/Length 1609      
+/Filter /FlateDecode
+>>
+stream
+x��YIo�F��W��R at 5�}H9�� M�,�)
FID��$e���}�ne����Eo�������������W��W
+{!
+%����
��$A��j�}�	FTNgc쿟�GE-�O)���v�WE�x+��v>]ī�
+�L�����ZS�:[j�$�>����՛����	_�Gj�B!ń�L'_�bo��x�0�nj����5�>M>L����_{
	�eKa�Z�,O�,��v�9�J��YpF(�ԇ���>�dp^@&����J`��7�ʾ�F�ʾ,�S��T�aL3w at O���
+]�q���LP�����!Jܡ:��}���
�����,3ax3&��f��P�X�}��Q/m9���(�k�h\���~v��a
gt� t
�	���|�O��]9�ăA��Ix��	a�gn�y�)��a�s�u���s�-����/�P�C����U��*��:�??����'	�8��
+&s�
+��`�ʸ�
dn0�3H��
+2�c������=
��T���C� �"(��|
gS�EI�ZD�
�*���+"�b��x9�B�6G�{گ�@
T�с;�.C�x�>.�Z[>��o��!�a�9�a�F,P��0l��H�2 %�d1%�N6
+��X������z��!�f�gnX)E,8�8[����[��Ka���+�����u4;L ���uY��7��r-���Ѷa�
X
2`�e�f��BN�V$�ԯ����A
P�-�k�xr�[y���7:�4�
-��`���hc �(��ә��)���T�aE�ƙ��ťi,���&3���4��P"�v �o#Q�<���>�$23��t�~˓1�*@���B'�m:���z��
�v�d|<
+pOi�b1
,
h.L�{��:��PeQQ\��y���Z�3�1� �a��
����%¡j��ul�1��?2VBaūn��AϘ�HI�ba#��_@7�+%�*A����c%��.:!m��n�J�C:�/B�;
~2�v�����.T�K�V�UbH]�q�������M�=1�CV�
���
f`V�ޤ��`��"���1��B�\8p�V��	����vB@
d�L�;�!K�
�ܴUjF�db�o�L��h%��j��'�? #�z��/�# ��TW���$ �	:�֩uO"R
�6�'z햆e��ިYm�HU4oY���ٴ�����.OE��϶{��U-Y���	]~0��lxЋ�n�:��E���f��9䨝�{ht��D��"@T���W��U
k�L��d�G��4t��7=d��������U��1;�
2BO��
+��r8&�-�m��
��>)F� p���Ir��b5Fr9>"�4��"���9v`�Y�+Bz�g��8���	����>
+
0�$�\���j�.��tW� ���]pt�vt�f�^碌 0��X
��Z��.E}
+�@�C�+$��]	럟��c��3�����gg�{��g����n��ß� ��oF�5���lu�
T�(&?@��f�
;v�
=���#ۇϥ.~��
�쾋�}�0ά�k�
+vK��b���m����n���k������m߀"�a׶�v󋋛��,�>�w����.�8nǞ���Ehq8�(�3x���{��'1�
+endstream
+endobj
+6659 0 obj <<
+/Type /Page
+/Contents 6660 0 R
+/Resources 6658 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6645 0 R
+/Annots [ 6655 0 R 6656 0 R 6657 0 R ]
+>> endobj
+6655 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [348.955 517.866 459.226 530.345]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
+>> endobj
+6656 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [353.773 254.235 462.606 266.714]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
+>> endobj
+6657 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6661 0 obj <<
+/D [6659 0 R /XYZ 90 757.935 null]
+>> endobj
+6370 0 obj <<
+/D [6659 0 R /XYZ 90 616.703 null]
+>> endobj
+6662 0 obj <<
+/D [6659 0 R /XYZ 90 602.371 null]
+>> endobj
+6371 0 obj <<
+/D [6659 0 R /XYZ 90 353.072 null]
+>> endobj
+6663 0 obj <<
+/D [6659 0 R /XYZ 90 338.74 null]
+>> endobj
+6372 0 obj <<
+/D [6659 0 R /XYZ 90 89.441 null]
+>> endobj
+6658 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F123 2840 0 R /F8 540 0 R /F13 581 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6670 0 obj <<
+/Length 1803      
+/Filter /FlateDecode
+>>
+stream
+x��ZKo�F��W��R@��7�.zh�$@�i���-�l��R����w���(Y��E}$�������M��W���&/c
$(�TW� �A,	�W��CH0�r�q�vJp���t�vJqX����E���d�eZ~��|Uf�iD�����}}�����|��$Ɉ
i����^O^\M�����1����ɇO8X���F,Q���Z�2�\�'�M�Q?(CX���!N�3wƙ�ګ��\���.v�B/f��#�4׳l��hw�G,�41
��&���6^^��
�X
�%1XnM�K˩�3'��"b�8aADJ��e^��j1��7Y��r���ƅx�͊�ܢ�wc�	Ą0R�^]ϴy�z� BU-�xjw��B8�����B۠�3�W��L�j{yim�9#�e6f� (VIm�B��:�Ӫ(]�����j�
QA�g�
��YP��d
���H֏�2B��
u�pD
����	by���Q2�
+�\�&�Q���p̼�+���T��v� h���i���i���!&��S�7Q�Ϫ[g@��=��	�[�Չ卟�^M�V����N�S*Bפ�R���T�;��
0:�&��&MA�	�s��i�n� �m�f���}�2���-�Qǩ�0$�	��c�!�x3�ܨ�hk�b(�r��G*H!�bc'�u)w��[�������������!��'��V<�U"J��;R�֮C��Q��(A4��I�B�4$�`"�A�`�d�9	#L�I�U?���g�E4,��L�1�1��h������u��m�����T(�f�*�a�5
���g(�R�T��
�,P�z��+��"��G �_�gU�Z��-��@{����GR���:b63E$���wk]�S&\��Ua̼����*Y~s�=%"K�
+|�oRϓ�	�@���{��l��Μ��R?�	�;�'�
���z]�vU�5���FhY���:�2O���]������V�縹�w|ۚSl"�͙zX�m������r�W�_d����
�[UݞY�|؉q����H�<�(E����s����_��pI�y�� �f���M�*D[z�d/���́҅p� f�1`�G� ��<�	j��{����o&����=ՙ
Ñk�/��2l�z6r"M,�{M:<� �Y�Y3M1���Yn5���A8�� ��/�E�4
e94��l3��y1H� �Iե&#J1r$�I�
G�/��}l7�|hN3��CC���
{6�TM!4J�$G
2��c>��t�"&��8%�8K�,��p�'�@"��V���9�!7	R6�R6�R6P��S��B��w���!��A���U�C�����,�cPE��-�v��⬋'�}
a�[vN[Ԁ-�
-[,[4�8�A�e� = Dp����j�e���(�e��
+��J`{���b}bz[����a*�"F�ȯb��0[H�ߑ:�-��-�X ��|��
�Q�->��'������[|b��5���٢���P���,��V�R
���±5��������_+
+D��2�	T)R
š���2;��[)�{��V�S��~��kc��L��fS
�F �
�h�&��}��{��rK�J����v`�����H�� ���h/>2
+�Q$~%$��-VBw��€y�:wy,�ʆ���O���
���Ms�9X���2p� .(� �5Ō
���;�>���[]~?"�]�k��j�b�ϝ9
+�B3�1"
�Xx�^�M���3���2���X�@G�
�V�������
ͷh�g�e��f��د��) !c��Y��uQg"���ڲ�����f�
+endstream
+endobj
+6669 0 obj <<
+/Type /Page
+/Contents 6670 0 R
+/Resources 6668 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6645 0 R
+/Annots [ 6664 0 R 6665 0 R 6666 0 R 6667 0 R ]
+>> endobj
+6664 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.059 652.75 422.924 667.465]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+6665 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.333 382.606 425.662 397.321]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+6666 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 137.651 322.446 148.555]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Time_Elapse) >>
+>> endobj
+6667 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6671 0 obj <<
+/D [6669 0 R /XYZ 90 757.935 null]
+>> endobj
+6672 0 obj <<
+/D [6669 0 R /XYZ 90 733.028 null]
+>> endobj
+6373 0 obj <<
+/D [6669 0 R /XYZ 90 482.387 null]
+>> endobj
+6673 0 obj <<
+/D [6669 0 R /XYZ 90 468.389 null]
+>> endobj
+6374 0 obj <<
+/D [6669 0 R /XYZ 90 212.243 null]
+>> endobj
+6674 0 obj <<
+/D [6669 0 R /XYZ 90 198.245 null]
+>> endobj
+6375 0 obj <<
+/D [6669 0 R /XYZ 90 89.441 null]
+>> endobj
+6668 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F123 2840 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F7 541 0 R /F8 540 0 R /F13 581 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6684 0 obj <<
+/Length 2150      
+/Filter /FlateDecode
+>>
+stream
+x��Y[s�6~���S���`\	�;��f�Lz�&�t;iGCS��V"Y����7�D�Ύ_�$�s��sp��M�����\\~+q��$�Qps$8�A���f
|
+	F4Z,	�8�^
��>]]/(���V��t�C~[������:_/�T���.m��^ݩzA�P���"F��J���滋77]�Ĝ-$�L�����8X��wF,���Y�8e�
>\���Ճ2�#1�1ĹS�^+Sy��y�]]
�Z�f������7,�b)���hZ���EBa�<�ݩf�A�鯴Ɨ���9Y
�H&���>����:K�8bRKBP"�Rߔ�b�֫wE�6�^�,$*��E�;_�۹#	��
&ù	G�U�
�^Uַ�*ڴ��b�D)#���"἖D��3����Pտa�J�x�=�'�q�/g��(��/�\�����N�]}xhZ��C>�1�����fV�@ޝQe�=�_n�hK����xn;��s:I�N�C�cV��vZ�k����Y��v�s�>��m��m�s؞�8�Qu
&Ѭ��ge���e���`ME��@2/��}�>����!c��>���fd�1��{SX��Uo
W�
�#���D,�r�Sr��/ ^�6�\| [...]
+���Z!�n�Ԩ�X�w�٦�4��5���;����Io=;��Yf��M�c^����G�i�LC��+�<Z?����L��D�G'�s���������:���=faq0����Ԫ���z&S��u�܎��
n����4�h��74�3�kv�W���2��:��z���|ԅ� �8Jc(2a40�g�.bKxrs�rʸ�M
���Y0۪�OS$�W�n�[�cM�2�r���
+碟B:�~|��!�?�~��d��
�1™|!m�9�GaY�:�yr�8 at E(���8|6�8��7�b�y|i�~)	�P
[OEV�>
��
G,g����c���&`��pxZSMj
:��t�HO��q!w�j������$
/ ��܄w��aα�
h�49v���,
+_5��6�'�
	Ʀ%�n���ذ��ѺTΦE�
+�|_��������
�i�=�q!�1�[9���|�T�zݞ]�%��M
�ۼX �ߧ�|�Jk'�9C���mmӕp~7sU���{�(�8J�>���f��w7XԞ���s�N�w��H
+����D*�
+����zr���&/��eFoA���⸿��c���颟}��]���]Јuk·'�$�&>1ĩ�it�a�y>�Oc�]�qM�� 5
���N�۴���:�|��}1gg�"�߭?>j�w��U�~߮�j�tx�3ɡ�3��#���2:�_�埡��Yٌ�"aa7���$t�������ڠ�N��3(����8�͐tT	&S�:��*]>���+�SO�`��vv�u���@��W�jPZ��
�
�@D<i׉�v
#���ڲZ5 �
+$_宇d���nfzx�Ȃ"�'�}ݗ6��9Ӑ�u�}��q�! w��櫟~]���������ͯ36�uw%��$�
*%�u*7
vR&k��m��f�.$~)v�I�֧к�
+��=�;��� ��NV�5�X�V5O��(����;؉sϰO�ό���nY3�&�ݦ��8{;<4~��/� E��=
���u�3Ћ�� �,��z�i�<�/=��k�G��>�¹�:h9�Q�
Js�TC�rSG�ʙ�� Ѹ�أ��1ϡ
�!�@�D"�C��{��A�~���-���	ʙ	��v�\��8 at Z4	UvM<s䤲'X ���k	�j
%H���*�A$��C��������;���GE��c�7�H�|�/��6�(tCC;tX���4���B��Qŏiq�4����MM�wÈ
|�>X��|�k��3�O�۫`/-��{۶��./��#�t(�Fy{YU��S�
��z�/�x_���0�7����B�w�
+endstream
+endobj
+6683 0 obj <<
+/Type /Page
+/Contents 6684 0 R
+/Resources 6682 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6645 0 R
+/Annots [ 6675 0 R 6676 0 R 6677 0 R 6678 0 R 6679 0 R 6680 0 R 6681 0 R ]
+>> endobj
+6675 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 642.073 116.998 652.977]
+/Subtype /Link
+/A << /S /GoTo /D (main_Wrapping_Operator) >>
+>> endobj
+6676 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 598.372 206.372 627.438]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+6677 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [455.566 522.656 513.996 533.56]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a8c7fcb89eaea13582c4fecacc52d4ec3) >>
+>> endobj
+6678 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [316.524 494.76 391.9 505.754]
+/Subtype /Link
+/A << /S /GoTo /D (main_Wrapping_Operator) >>
+>> endobj
+6679 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.14 482.805 233.57 493.709]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a8c7fcb89eaea13582c4fecacc52d4ec3) >>
+>> endobj
+6680 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [448.024 409.306 483.212 440.274]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+6681 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6685 0 obj <<
+/D [6683 0 R /XYZ 90 757.935 null]
+>> endobj
+6686 0 obj <<
+/D [6683 0 R /XYZ 90 733.028 null]
+>> endobj
+6376 0 obj <<
+/D [6683 0 R /XYZ 90 331.447 null]
+>> endobj
+6687 0 obj <<
+/D [6683 0 R /XYZ 90 316.877 null]
+>> endobj
+6377 0 obj <<
+/D [6683 0 R /XYZ 90 191.66 null]
+>> endobj
+6688 0 obj <<
+/D [6683 0 R /XYZ 90 177.09 null]
+>> endobj
+6682 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F23 368 0 R /F123 2840 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6698 0 obj <<
+/Length 1642      
+/Filter /FlateDecode
+>>
+stream
+x��YM��6��W���@E�C$�-zH�$@�i✒`���6Kr$y
��w(R����`�P�i)jD�
߼yK�`������h�J� A��"��	� �S����`D�$$���	�cUf����q��-uZ��7�T����ui�IH9
��RU���.'$
�|�a%��SI'�g��^�F_G|�i��Iƃy6��)��
`Ē8�6VYQW����#���'��qH*���ǡ2]�j��/4},Cb$q��s�yP�����8��RD��7n���O���K7ʋ<�y=!|��45��(S��Z{��¿����n�0�
�0�n��i�Vs
�&�ye��7W����RS�U���
?�6��#F}��"[��7S��
%�r�=[�j �؀���iߘE^���FU]�~b�(JHW�
7Uk�lM׀üȌZ�ٳ~ڄ6�
+>n���"�qF�.F����G��EJрZ\����y�/ʍE��֤:7����t�|�
OB�0p5�j7�KF?8o�O�S� �!!(��6��&L�����퀷��֐�����0�h
?�#��k��_���zP
!��_޼��(N�~SN����&�	�󁈥/�M��Y���b("�h�<�H�C#�ĝ���c�D,��F�mZ�j���8
�n�nS�){�����r�����Q���
�5m�qTP��N�[��)aH�K�$���Ӂu�Dq���"	�x�Ѧ��/�Q2�0���vU����FǕ�Q 
i�fWe�Lq��^8�/�W/U�
f�#����lS�Ci'h�і�!]�2yKof��CL�k����[���(X,|3 

�I
���;�xay�X�К�&ж�{�{��L*o�qV3{�������`�f_�^��&�s+FMq�9e��-`V��⋅�n:%�[NvNpw"0�{
�l��!Dsa�f�^�/�o�,~��}�����C=2h��^��7��en�n�e��c�
���
����9�﬚�hkhr���V&�U���窉�=�ϖea�d�剹�rhy�XP��	�(�gY:��jV����
D�m�6 �A�AmQ@�8��z�#~,8��Tp,t�K%1�78o���ހ�[�·��q��r��RX�"�
��S�C^"9�.9�=
�%�I*��#Bqt%��C#�6m%�
7�&�$G��Y֑�䰣S�îzFr�"�
�I�A�Mt�%�I\W��E��	I�c�^�<@�D�Yy<+�g��<�g�#P
�R�1�7H�70��
��
:�7������Ն�/�ڐ�=�3B�/�q�1\Gp��G� �Oꍦ4�������ݸuz�
��;�Vo\�5���z���<�78����ǥ5(�� P�� yM�8��䊠��“
�-m�-���mZmo9)>�+i�
op(h��_���T�u�v;��wi�K?u�ۦ�}5/͝SH������oas���6׃e���hIպ�Ifr��
�9�����Z�Yk��Z��]@i%$��g��g�JXފ��F<A�Gm�x��{x�G�c�Hܣ�&��C��'��'�?U�i��mKy�KL�{7�I�	 �nI���%hG����%1(z٥oY���t�ݢy�6�Y���S�W���9X�D�c�#�~�Ɋ�:L�������/�L��
+endstream
+endobj
+6697 0 obj <<
+/Type /Page
+/Contents 6698 0 R
+/Resources 6696 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6645 0 R
+/Annots [ 6689 0 R 6690 0 R 6691 0 R 6692 0 R 6693 0 R 6695 0 R ]
+>> endobj
+6689 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.39 595.376 343.198 606.28]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Widening) >>
+>> endobj
+6690 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.659 513.989 268.34 524.893]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Widening_with_Tokens) >>
+>> endobj
+6691 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.778 375.671 336.884 386.575]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Widening) >>
+>> endobj
+6692 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.659 296.341 268.34 307.245]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Widening_with_Tokens) >>
+>> endobj
+6693 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 158.023 334.351 168.927]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Widening) >>
+>> endobj
+6695 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6699 0 obj <<
+/D [6697 0 R /XYZ 90 757.935 null]
+>> endobj
+6378 0 obj <<
+/D [6697 0 R /XYZ 90 682.217 null]
+>> endobj
+6700 0 obj <<
+/D [6697 0 R /XYZ 90 667.925 null]
+>> endobj
+6379 0 obj <<
+/D [6697 0 R /XYZ 90 462.512 null]
+>> endobj
+6701 0 obj <<
+/D [6697 0 R /XYZ 90 448.22 null]
+>> endobj
+6427 0 obj <<
+/D [6697 0 R /XYZ 90 244.864 null]
+>> endobj
+6702 0 obj <<
+/D [6697 0 R /XYZ 90 230.572 null]
+>> endobj
+6696 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F123 2840 0 R /F72 404 0 R /F79 505 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6711 0 obj <<
+/Length 1527      
+/Filter /FlateDecode
+>>
+stream
+x��Yˎ�6��+�je ����Em�M�"M&�I0�m�-D�
I
��K]���3h
+��76E]��qxx$Qg�P���׫��O���
���['���1�8s��ε�(��x�(���1�n�o���cN�,9��2�n���<��٫<^�'\Q�y6��[��Y��t�a&O0���z=zq5�2b�
uX���/��،�?Qg	��
JD8��j�H.�?qޏ�Q���vbfd�� �SU��V��M_*�;��f�����`�Ͷe��Qb����ⴄ��[e���5ݥE�J�{��\A��h�h�_�Y
�+�]�mo���qF�f���D�q�NPf�M-tZ��G�(:�ܹƾ]�(w�֩�Bd�r&��P�LD�mr at _�V�L��G���y�j�\W�x���|�k;�u��X;j���`
�b��_v\f�
+=$N$%
��	��
�
]ա�N;�Q���"ۈ�r9���XBb�$^�D�j��i�$BEB^#�j�g�$�c�o���K f;Br"�z�GJ���kC ��\���V�
���FQ�
��y$���Dza3I���e
q��I�.��6*c��+��ͦ R0U�A�!"���!�
����q|1�%�&.��f���|gX�F-�h�%��Yzl;
+�5`�� �T��
�%Fײ�Q
%A�ڤ	�}693d��f�韷�?��<��>��b�U1���W

��п����հ0^���ֲ7l������͐w	B�.�� �&‡ (�Z	E�%���Ž&�3?ڐ��Y���b���Y�ٛ�ۢo4l��#NS
�0 ˆ��)
+�
�wed���\/J�
{tz��
$��ìh}�T��}0Z��A�C&�0�( �
o+��,�}\����k
��e�(IZb�չe
ʆx�II���\�
s	��z��9�e
���h��}"���Vj��$����Ǽ��r�ч���TP���r(|FdSعM? ��⴮S
�^<'�G�)@m��Q�yYۛz�PD��Ǔ:) �5;lXmg����:����E�$�p[��z�)йx�7
G^T�E���T_w�>;G���#d�g��G�Q [B%��#��
�@}�r\5�l��p�F�rX5z����FqJ5
+/@�4�Z5��!���x���NR�1 at 8x�8�
�UO=�#��?�G��G\ب��x�
��
|��lTf���l��Ƌl��Ƌl�����H6���Q����bj]�ʼn
x#�`v�
�	�&!/R����I�b'�[�KQ<V"zߥD�!Ps���\Xh͋E����y��D��L���B�l�}�@�g���B�S|�0�/�ѱ
�O��p��h�i�/�9�ˉ�v���o�������է��� ;BH�#?V�a)� '��9UH��G"���a{YS^Z
����
+8����(�E6{�?�y��NJÃl"������g�n�>���z�N�ߤo]���t���ɢ �4��$.�p8O�K�Y�$>k���<
�6YMϱA�����
ޭ��
+endstream
+endobj
+6710 0 obj <<
+/Type /Page
+/Contents 6711 0 R
+/Resources 6709 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6716 0 R
+/Annots [ 6694 0 R 6703 0 R 6704 0 R 6705 0 R 6706 0 R 6707 0 R 6708 0 R ]
+>> endobj
+6694 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.659 707.957 268.34 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Widening_with_Tokens) >>
+>> endobj
+6703 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.711 569.35 344.79 580.254]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Widening) >>
+>> endobj
+6704 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.659 472.404 268.34 483.308]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Widening_with_Tokens) >>
+>> endobj
+6705 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [299.628 333.797 360.629 344.701]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Widening) >>
+>> endobj
+6706 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.659 236.85 268.34 247.754]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Widening_with_Tokens) >>
+>> endobj
+6707 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.97 98.244 252.675 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Widening) >>
+>> endobj
+6708 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6712 0 obj <<
+/D [6710 0 R /XYZ 90 757.935 null]
+>> endobj
+6428 0 obj <<
+/D [6710 0 R /XYZ 90 656.215 null]
+>> endobj
+6713 0 obj <<
+/D [6710 0 R /XYZ 90 641.899 null]
+>> endobj
+6429 0 obj <<
+/D [6710 0 R /XYZ 90 420.662 null]
+>> endobj
+6714 0 obj <<
+/D [6710 0 R /XYZ 90 406.346 null]
+>> endobj
+6430 0 obj <<
+/D [6710 0 R /XYZ 90 185.109 null]
+>> endobj
+6715 0 obj <<
+/D [6710 0 R /XYZ 90 170.793 null]
+>> endobj
+6709 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F123 2840 0 R /F79 505 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6725 0 obj <<
+/Length 1970      
+/Filter /FlateDecode
+>>
+stream
+x��YK��F��Wp
��f�=�>%)�U�S�8���R�bV"�@dY���y0$�nl�Y�,���t����h����ۛ��3�������.Jq�$A���&���#*�3�1�_M	��z��_M)���a��:��,n�>\_?��|:��߭��q���N�S�ĺ\h�$�1U|��͋�ӛɻ	[pD컅B��h����G9쿈0bi��&��u
�4�q����?I�0摢ɝOޏl�[]7֎���g�qO
I��i4�+ԩ9
N^=��#�X�+��Cb�iWYkN��i�H��;��5^h����N�V;���l���^Q�� ��d�Iҝ�c�M�}P��N�]�9
J��'#��A��`	
QtG��>� c*�
7+�bshZ�q��.���w&�|�����Pl�u5%"~o��������<䎳��M���
+��B"��&0�ڶEUfks��mU���63/�+�b�L���S* u��v����\���/�-w�[��;�`/3E�룂�zk�A���
�.�`��
+;����.�D �B8��v}p�x�
0���/���'ћ#�A|_��.r��>��T����
�Ū,��4�L�(
+�.0�I�"p)Ŝ�O?,��ßl���ͯ���8 ���|����F��A���ސ��}����L�r
+���
��
J��ጆq�OV�gt����>6#Ny�S�j�
����̊rQm�Y[@�"��A@)�^	�b�	�
+Đ`~b�7�Tٮ���ͯ��,���6[�y�����s
5�U�"�e  40_u����V;뇹��t�qs�A�7�1�\(��3�$JS ��;��x�����b�!(
�s�0�JmS��e�(~���
�\3��:�Ţ
�
��:�^����=�����=���O��g=�����#,t��c��-��\
���GJ|tG#g�Z��v5�u
H���
+}�ɤ4��^���O��� �?���$�@i�t�
 (�����M.x��`x���*X
i���/
Q �S�gʊC�J/���
vW\4��M�a�fLW����P��w g
�0��0}bJ�y�I:~�W�@��b�v+;��)Ī��+����{�&Ȭ��JU��E�;�,�M��i;5�����,)��b��g���
+Ju�Z��c��A�=��e�h"�m��uH%w�\�O1�X͉��U}�^^�Q2r�>�&�^�A����
�/]͘�3��U��ߢl�
\�e���N�v����a8���j����f���SvA`��Du��	#�R'�HR��#�&_���`�(�تF$�C�x{�†������
�Z�.��Y�@Q�n�'��
P{ ��i\�f�n���h�{�A��4�%��p�3�Q�iLQC6P��n$�$��c
J~sB����H_#(R��}xb~+�
L��Fƿ�*�
%��9�~��#B��9�
�{R�Bm~¦DZ�_�N�S�22L
a�]VV�p{�D8I���^� ����D �~��1��3�����Q(�$��!g�(!�ܹ>K|T8�����3ė}2����7�o02���
+�e�(��\`�G��q^u�.ʪ�eχۿ���‹���ŏ�������_8���#sn92\G��� \�
�{�
����"�'
��]�?�qC��j�
��y�G�rO����k-j��}�>����w��G�=�16l���=Ё?S��g��ȟ͝�σ�\���
#�ǟ
�ğ1"B<Ȫ
���`zʟ��
��.
-���
�@����`t�vG�ݧZ"X��s�<V�>˿�>�����W|��%(�?��}!��N�
����l �c��h���q�T�	�G,��2�e�ێf�[ϵ��ύ�����|�h~�J׼`m"�omǦ݄�A�9����'��o���6�V߻�z��$p	ٿj�����~�G���b[����n�W����p��!��:����o�E	���0+4��𑎪
+endstream
+endobj
+6724 0 obj <<
+/Type /Page
+/Contents 6725 0 R
+/Resources 6723 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6716 0 R
+/Annots [ 6717 0 R 6718 0 R 6719 0 R 6720 0 R 6721 0 R 6722 0 R ]
+>> endobj
+6717 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.659 664.224 268.34 675.128]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Widening_with_Tokens) >>
+>> endobj
+6718 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 530.984 112.027 541.888]
+/Subtype /Link
+/A << /S /GoTo /D (main_Adding_New_Dimensions_to_the_Vector_Space) >>
+>> endobj
+6719 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.639 440.121 300.161 450.402]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_afe613a3da3edc3cb4506f70d409f061d) >>
+>> endobj
+6720 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 266.935 112.027 277.839]
+/Subtype /Link
+/A << /S /GoTo /D (main_Adding_New_Dimensions_to_the_Vector_Space) >>
+>> endobj
+6721 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.639 174.049 300.161 184.331]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_afe613a3da3edc3cb4506f70d409f061d) >>
+>> endobj
+6722 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6726 0 obj <<
+/D [6724 0 R /XYZ 90 757.935 null]
+>> endobj
+6431 0 obj <<
+/D [6724 0 R /XYZ 90 617.406 null]
+>> endobj
+6727 0 obj <<
+/D [6724 0 R /XYZ 90 603.533 null]
+>> endobj
+6432 0 obj <<
+/D [6724 0 R /XYZ 90 355.513 null]
+>> endobj
+6728 0 obj <<
+/D [6724 0 R /XYZ 90 341.641 null]
+>> endobj
+6433 0 obj <<
+/D [6724 0 R /XYZ 90 89.441 null]
+>> endobj
+6723 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F79 505 0 R /F23 368 0 R /F72 404 0 R /F31 506 0 R /F7 541 0 R /F1 580 0 R /F8 540 0 R /F11 446 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6738 0 obj <<
+/Length 1742      
+/Filter /FlateDecode
+>>
+stream
+x��XK��6��W���@��C��EQ�-��i
��6�40�6m��%U����w��˴�E�Ѓa��3��|3$6^M~z�ܽ�p��DP<��� �S<��S��9�O�����>]��Q<-v��\U���J�����*[����ϻ����[��Ռ�S�/%�$S��LJד�&t��{�E�����G
�`�u�K�ਥ�AH��w�?&��
�!,x���֘�ʘ���$���E�L��of��L�
s<�sX$��
vh|�l�{	��4dGBĠ�V�dd�F�s' {#�EOf�b�pĂyHP�Z�G���@S�y \7/
�Y�8fV�BIL�L��j� k�I'$�c�G��u��W��V��0+r+j�h��Gۘ!EOЖ�'m�|�Y�w��<�p@��΢�~RA$mHd�_�a
�V��O����甄�D

B�il�x�e)K�X=�ۭ1�-��s#�&@�@��d�i�
YUE5Rb`�&��3�a[3ʧG0���4[��}��>�CG�^ [...]
+�f��N֋w���Tb���紪=�S��n�	c�	
��[m�a�%��\I�P�r�A�Sii�o�z_W�~4�cf
 �z�a�$b�}�I�^6�zzby1œ��bCZ��s
3^���3B�s��Z�,,Zˢ�d]�*�7m�C�S���}�߫�W�1��C���
s
o�Ow�j�V���\C=2�>��\S��tRğ�uie�D���Y�,�%p���v̚�y*r;1��o���VpDmp(ƀ<� V�¨�ҤY��/�=�s�B�s��r�r�J	458�T��4�P)�
+*�f�����J
�^��VxќJ�%O%�8csy\
���p� z�C��/�ġ��<fbj
4��D�w
AL8a>�L��H >Յ[8mF��K��P��t�D��rܦ�1f�+��W�b
�'��!���u_�.��q
EI<��^Z�h�x�!
��1��W#aKbC�"H����,
2b:$+XySI��T�
vC�� 
;7hao�O8���Y��&Ä�R�{���2L#��L��M��$�A��=���G�a�9t@*a�UM��/��i�s�%#�6�?x6�P'�#܎�ˌhӅD�o�.#�ܧ��y�iw�U�^��ogI�	��W�a��YNn��%~t<=j1Ӳ
u7����[ݣmO��?�wN���4��v���3ց��X~��p���7��
Q�q

E�;Y������"_�؂<��
��G�@��Ͱ�*���
+����$U�����4�ԭ�:D��Xt��9c�l
+�`�f�S'�
+a���
T����G (�Ό
�t�ӣ�V�ʩ��C��1:IPxN���'�C'9�lƈ�Q�������8��
%��bw,zR�4�P�j
g'�ρ^��9|p��9��	�n9�&(�/t
c�c���"y��(�w�@
+�bzv ��XwF_�:^l���BJ��1 ����as���X�P��^�Kb�O���Kb� �Ñ�o���n�WW8ͫ�����ZVߪK=¿���A�*�)!UL:TU�$
x�t����S�~5�Y��$�F3jݱm�����x<�e�yVV(k��rww���*�V����ն}Q���{}�w���P$N
+endstream
+endobj
+6737 0 obj <<
+/Type /Page
+/Contents 6738 0 R
+/Resources 6736 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6716 0 R
+/Annots [ 6729 0 R 6730 0 R 6731 0 R 6732 0 R 6733 0 R 6743 0 R 6734 0 R 6735 0 R ]
+>> endobj
+6729 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.334 677.939 236.659 688.843]
+/Subtype /Link
+/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
+>> endobj
+6730 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.635 622.623 256.157 632.521]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_afe613a3da3edc3cb4506f70d409f061d) >>
+>> endobj
+6731 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 485.747 206.372 514.813]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+6732 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [448.024 441.764 483.212 472.733]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+6733 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.257 335.636 513.996 346.54]
+/Subtype /Link
+/A << /S /GoTo /D (main_Removing_Dimensions_from_the_Vector_Space) >>
+>> endobj
+6743 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 325.684 147.285 334.202]
+/Subtype /Link
+/A << /S /GoTo /D (main_Removing_Dimensions_from_the_Vector_Space) >>
+>> endobj
+6734 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.376 175.572 385.519 186.476]
+/Subtype /Link
+/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+6735 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6739 0 obj <<
+/D [6737 0 R /XYZ 90 757.935 null]
+>> endobj
+6740 0 obj <<
+/D [6737 0 R /XYZ 90 733.028 null]
+>> endobj
+6434 0 obj <<
+/D [6737 0 R /XYZ 90 615.278 null]
+>> endobj
+6741 0 obj <<
+/D [6737 0 R /XYZ 90 601 null]
+>> endobj
+6435 0 obj <<
+/D [6737 0 R /XYZ 90 424.467 null]
+>> endobj
+6742 0 obj <<
+/D [6737 0 R /XYZ 90 410.188 null]
+>> endobj
+6436 0 obj <<
+/D [6737 0 R /XYZ 90 274.355 null]
+>> endobj
+6744 0 obj <<
+/D [6737 0 R /XYZ 90 260.077 null]
+>> endobj
+6736 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F11 446 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6754 0 obj <<
+/Length 2454      
+/Filter /FlateDecode
+>>
+stream
+xڭY[s۸~����V�F0.I�3}��&�v;�n�}Iv4��L(R%);��=�� JJ76A��;���c��w7���}��H ��$��EGiB�$��F#�,Wc�x�$x�7�|�~I�._���׿M޼�ݽk��rE9^�X�mk��ʝl�$[�j#a���dA�d����7?������,8"zo����h����;�����FLdы���b��ZFn�}�}=x2у2�n��F�N�e޹�׃

�&��Dշ�+]�"/�o�զ+��<��ξ��j�s�u��MvuY�K�/E�h_��S�m�V�����H��(�i�A�(@03
+<�u�\%���]���zSo�}^T�0��G��M]�����$�Ѳ�Y��ݱ�Z3
��3�l�u�Q֤�$q���rŲt�W[3���Ռ�#m"5h䡑��:i�
���ͮ7�������7Cgs�,Q ��,W1%������K���W�t���,�V�,�j+?aL+�UfE�O
�S3%����ߜ�P���]��	�M�,������4�M^��|0�A����n�

:7�br��2�A���B��f�T���!&b�xcp
�<5B,���pLݻg���%<2$z�Z����aY�qjafS�`!}k�`
��1�U1
�MP
�q�m���Z�qm2���}�u]T�3�Wqʍ�j �����<+���(ݤ�3#�{��ޭ'k
Q��
G���U7Ψ6"�3a�R�H*z��
*�C�W@)�P��i8iж���8�Y|_�|^C��η�!������3��⍹���`~��-~�
��~�v*!~d�H�]v�� j��M�I�X�2O24�~RV��|`SSh ܢ_������T�^��M�PU'�_en���8^�c�7��O�6�.$ V_���Ks ;g𠗪#�
+��h�p�L�����K)��`(K�D�,,�Lx�c15�y�co���Z�$��CJ$ ���� 22�W�
_�Ŕ��"� <F.�Yl���ޫ�̠�g(��
`Bv���/�x�����<*^�y�����b��m�
��t�Ռ�܃>_*��o}���t�T��6�mR�2�
U�rW
��t��ak+�˓ld8����P����~���L`��MW��=��HKY�}߿�T��P@�T��%4�؆
+H�Dz3c2#���
G0G,�u:��r2�;�m-�&Umwꭕ&7���>I�/E�dC٩ ,� �٧�v���Ր�M�TT�y����w7`�!���񉑵=�M��ɻy�@-=��W���K~��	���'��
+���ʶ�d�YuԵ�г\Em����������G,���s��m)(,V��C3�EcY�0�]��7�#PB�t
2��"�C�f�U`eɁ�

� �"
+�5反�
l�)�9�l;��a¦>hT
���$|7uau������C�.����:ƆN�G��� '��XX�b�c�ڙ�q�
E*�
+��ӑt�;c13�o��!q�f�"�q�5������e�)��H7�he�[�Db��V!�?v�Pu�?�#	+Dq�Ѹ=�9��8�c���u#��}����m9 ���,��y<�A�s�
0����0��
�Vau
�����2`�o7��،����&T7�c

+�b��
���l��,��4
�*I􉒺�[
�S��T���(����t�u!��4ʤ	7G1��ܚǛ��ڙ�Z0Yk���;�"�@��ڃ��L����S�@Y�ܧԓB�s����6��QF����D1�q�v�3�BS6�K��C]�,h$�թ4��g�;Q2�$
Gƙ4�����*L3�|?ԽO�|��k>W�����(�l��{�Զ��Y�(Z�ِ�8�>�t$
x�'�o��� ��7�YSGn��%Ǻ@�W�_
�6�G`'K�bɝ�t�M߯�Su{&B�v�LǁW�?C™��m�8�Ӱ�\�x���N�F2�ޟA$J��[Xh`�w�S�~RsI�X�!:��܂��� z�z0�V��&���2Z�\�sl����P>�(	>�(���oK��X�N�.OxJk�D�{��#�Ү?�ňC�'7?����������_o/�$�
d8��م�$>���1J�,Ә�*��J�ݱ�S��bȐ	?Yϔ�x8�)�p� 22�4�<���|۫�}�BN�J{���
+F�<�������l��m	���c�����a����p�
��"��ݭ�جQZ�6!tJ�@�:0I�H�U~ u �7�ίnz�>���,�O�XT����^_��dwW����#�5�Wl��>� �ٵ�������e�s=7��/�3��Ҕ�.�[{:cn����OK�֩�ʫcn�ߩ�g?e- �l?�2������%r��F{��d�t轺�pw{���6-:VšAEw{8���h�V�
+�'�;ǭ��;��7��>l����@
+endstream
+endobj
+6753 0 obj <<
+/Type /Page
+/Contents 6754 0 R
+/Resources 6752 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6716 0 R
+/Annots [ 6745 0 R 6746 0 R 6747 0 R 6748 0 R 6751 0 R ]
+>> endobj
+6745 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 496.915 239.856 507.819]
+/Subtype /Link
+/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+6746 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.639 278.273 300.161 288.555]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_afe613a3da3edc3cb4506f70d409f061d) >>
+>> endobj
+6747 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.144 238.108 182.164 249.012]
+/Subtype /Link
+/A << /S /GoTo /D (main_Expanding_One_Dimension_of_the_Vector_Space_to_Multiple_Dimensions) >>
+>> endobj
+6748 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 108.284 206.372 137.35]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+6751 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6755 0 obj <<
+/D [6753 0 R /XYZ 90 757.935 null]
+>> endobj
+6437 0 obj <<
+/D [6753 0 R /XYZ 244.439 500.068 null]
+>> endobj
+6756 0 obj <<
+/D [6753 0 R /XYZ 90 483.341 null]
+>> endobj
+6438 0 obj <<
+/D [6753 0 R /XYZ 400.69 241.262 null]
+>> endobj
+6757 0 obj <<
+/D [6753 0 R /XYZ 90 224.534 null]
+>> endobj
+6752 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R /F11 446 0 R /F8 540 0 R /F100 1390 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6762 0 obj <<
+/Length 2092      
+/Filter /FlateDecode
+>>
+stream
+x��YY��~ׯ`��HU#
� ;UN�ٲ'��I�0�5��c
2	�f��� �K
Y���Q�<���F_�
��1����oog�71�#�� Ɓ���ip7'�h�$�����.���
��U��Ui���1{���e�zUg�bI9��.O��^�QU/���r�@R�H4�B,��~7��v�㌀.8 ��\ �x�.fw�q�����X,�C��B��7���2��|�
#��@��(�6}�V;�Ue��p,���
� 	
K�8�"��VY���)ɳ�>���*�D��
�ƾ�(��G+�v[W
��r�d,�g
2ߘ��o���0D���w3�H��"Kҭ�۬�k&�S��d�"X�n�f�u�Xf�*v�=��\ٿ��z�#� �z[R��S;�ݢ��D� ���J�Q�1��P΅���ƛW�`ɰ	��H�![B �Yb�
{?�k�W=�C���*u����"�1�$#�����^w2�.G�<���ySY�z�v��g��pމ
+1��R;"�"L/1cd� Gs�(�%D�Ka��ևN�$����g�p�Ce�3I<ov��
s�վ
:��`(��G>x�W�
+���ОȢ!�����	9��](�(���tž='v_y
c��l�?�c~��F� ��#j '���=c�)$N,͜���Wi{ax�B�y2�岾q�
%"�;z���öj����sV�
sCz�����?���8��
O`�Lo�ʰ�y�~�'�}�+/�"�
6Y8O���E
+u��XL�j���J&��xP�3��M�P�Q��t/m@��&�
����E��"г[]�fW�iV>:Bu�:��i�C���17"פ>Y{l)�Ty�R_��J�3���@p Tq��G(�A�4�񔋐3vܡ@�(�#����|Ժ!�"��7P��{m^�̭V�8��u�:5�a��4�$}1�H���b
C%�I�.+s�Y�=�/����"�}����Eb]>d��\�B��2�C�#�"~�J5��-�	'H@���!��\N6������#]�p�c?
�I�C�嬐�˷�z�A4�
�ܸ�
�-#��W_�_�>�CȢq�[�{��*�~F=�
�,�&�y|� 1bK�S�� �=�:$�ԙ*S��˴�[�Dw
�;\k["���պm���.h�
YO�.�
�*��V;U'����CBq�eQ�p��~٥�t �B7���W
�
!�~�岡i��(��
e��.0��Ɨ�O��M�ao�SI!wB���4�?���f�)t�W�{�#�.�U���L[�CD�*K����"�
t1;b�?UZ�lb3hU����cP�8?
�~дSfga��3TVv���͐{Ҩ���?�Ȼ�O�B�
 h�|0F`">
��{*��	䇁��Mu��
T���
Iѥۄ |}6�����K_^ 䨎u�qjOO�
�xov�e�C���X�D3$��H��-�;�0D<����{���#�s�
+6v	����:�m3Im
?�Q�ϟ�m�A�ZҞ��E�ƙ CE2>���nAe�=�T�C:��I�H#@Ŵ��`�VNY/Յ
+�y]����IU�N��K�Ŀ�
CH	v��	!� 0��|:��[���7�����ɓ���[�	�3	.y���ʬ�~j��m^�
+{�N��d�#Y���´0��f��Q�~�,\��N� vplZ/և�QWN�<?�M�3	�
+l��8�%A{z�J��%��
=8f��Q���*��#�Ɏ����1_��vD�"F�#��w��k�RP	��Q�9_���D��]��Z"
�h�M�n�z2�
��39o��^�d'����?M)�LJ��( (�
-YR�0����3C�<[�����fi<�����:Kr(T��h22��sl#�9�bH����C�J��v�A0�������i��b�<xh��n
U�F�fSW��7U����
�ꚫ��XR3�6@s���x|xg��n���v���wIhbb"/�,�~�GF�����
+����]�M�a0�n;�[�D{��Fտ2=����Ii�SW3�ޥ�;�(|��SoUw�i��!��0k2hK`&ǢG�V�����p8�u��U��(����?w��@�"�֦�AQu̞��h�����O����
+endstream
+endobj
+6761 0 obj <<
+/Type /Page
+/Contents 6762 0 R
+/Resources 6760 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6716 0 R
+/Annots [ 6749 0 R 6750 0 R 6759 0 R ]
+>> endobj
+6749 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.635 691.1 163.823 702.004]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+6750 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [335.397 639.603 362.844 650.671]
+/Subtype /Link
+/A << /S /GoTo /D (main_Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension) >>
+>> endobj
+6759 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6763 0 obj <<
+/D [6761 0 R /XYZ 90 757.935 null]
+>> endobj
+6482 0 obj <<
+/D [6761 0 R /XYZ 487.765 642.756 null]
+>> endobj
+6764 0 obj <<
+/D [6761 0 R /XYZ 90 626.029 null]
+>> endobj
+6765 0 obj <<
+/D [6761 0 R /XYZ 90 534.859 null]
+>> endobj
+6483 0 obj <<
+/D [6761 0 R /XYZ 90 511.925 null]
+>> endobj
+6766 0 obj <<
+/D [6761 0 R /XYZ 90 511.925 null]
+>> endobj
+6484 0 obj <<
+/D [6761 0 R /XYZ 498.315 434.822 null]
+>> endobj
+6767 0 obj <<
+/D [6761 0 R /XYZ 90 418.095 null]
+>> endobj
+6485 0 obj <<
+/D [6761 0 R /XYZ 199.738 319.119 null]
+>> endobj
+6768 0 obj <<
+/D [6761 0 R /XYZ 90 302.392 null]
+>> endobj
+6495 0 obj <<
+/D [6761 0 R /XYZ 489.249 227.327 null]
+>> endobj
+6769 0 obj <<
+/D [6761 0 R /XYZ 90 210.599 null]
+>> endobj
+1407 0 obj <<
+/D [6761 0 R /XYZ 90 87.857 null]
+>> endobj
+6760 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F11 446 0 R /F8 540 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6788 0 obj <<
+/Length 1313      
+/Filter /FlateDecode
+>>
+stream
+x��X[o�F~��@���T��� cU���Ͷ�n��/MV�{��k���
3�B�=i��0
f���s{s{�Go�F��{��F�ٵ'�GqJ���w��h
�	��?
�S�L/O��2�,�L����+���t�^���ԍ���fi#�1��?�Ӻ�����I|Yd��4N�/gF��F�h�=�j�c3�e�����`�����n��^H������#ܳ�$8��Y�!
��,�er£=X�7�!b��ǟ-�YY!����s
L���ץ�͢=fd��sڧ�#�0J;	��[_��,T1�۔��i�r�#�wL�&1�hh��FY��9
	ٓ�
��
����\��N��r�X
��8J�%'���g�E�"F!�ޘQD�#��B��8 
+YDPu~pA)���'�F���n���e�jy�z�T^*D�Q�

��$D"t���-�4w����L�
M���>�
��G�	���!™U�tu��̪�Q.��s“U�5�,���e������s
?r���q�V^����Ƥ�x ���
��
w�C�������O󊣹~X�;|����زZ���R�]���h�BB�(����;�M c�[��QB��$������7;�<��j���`�&'P�w�$(��I�3<P
Ma�V��x�?�����#�9�*�q�l����K������n�.FsUCm���A�QyH	�!}W>}���5:��o[��~�d	��]4a6�LC�m45
U$S ��Nh����Rw{1w0��	Jb��
��F(�~�����{G���oe��\άvڙVU���irGN�`����݇�����{}8H
��c��)�����ʪb��}��[0�v�]Q�i�(�
ڶ�
GQ�%��7?�	>e���R��k3
���]�K��v���ϤѦp�
��
��^U��Ue{�Եt
٬\��@�.��Q0"v9D�c����
��)D�?@،��wi�@��%��.a�sa  [...]
;#�v'B�7�*��@��������� g4*[�:@��nsȎu��J���^J�޼����;5c�;���������VKY4i��Xwmӆ) @�2�O�����م�5$�	u�]
�r G
u�}�������f!DyxH�@��W�0F
��q����W�����>t��p�~��#PFE���
�y_�S��+wۑeo
c��Z�oM����1-V݄m�r�]o
ň%�C�gٹ����]�2j�l�5��ܢi��d�^�QV�U�*�T3��|r3
���@L�t�����zU�������v�
+endstream
+endobj
+6787 0 obj <<
+/Type /Page
+/Contents 6788 0 R
+/Resources 6786 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6716 0 R
+/Annots [ 6758 0 R 6770 0 R 6771 0 R 6772 0 R 6773 0 R 6774 0 R 6775 0 R 6776 0 R 6777 0 R 6778 0 R 6779 0 R 6780 0 R 6781 0 R 6782 0 R 6783 0 R 6784 0 R 6785 0 R ]
+>> endobj
+6758 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.635 695.563 249.889 706.467]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6770 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 623.079 177.053 633.983]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Grid__Certificate_1_1Compare) >>
+>> endobj
+6771 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.989 608.458 217.919 618.364]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6772 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 542.69 180.649 553.221]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate_ac03d43b46ab7f9e5d0ea3c46a5eab7b3) >>
+>> endobj
+6773 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 503.462 180.649 514.366]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate_acf34edb23c376600051bbc563e4122c4) >>
+>> endobj
+6774 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.986 503.462 228.24 514.366]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6775 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 464.608 180.649 475.512]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate_a67cbe06cd666025c2ff64652d5824a2f) >>
+>> endobj
+6776 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.986 464.608 274.725 475.512]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
+>> endobj
+6777 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 426.127 188.398 436.658]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate_adf9fc5ac7e45f36bc03af31b98b31a72) >>
+>> endobj
+6778 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 386.899 163.215 397.803]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate_a869306ea4afb6453b8e9cee36c96f46e) >>
+>> endobj
+6779 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.552 386.899 257.291 397.803]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
+>> endobj
+6780 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 348.045 163.215 358.949]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate_a3b727ab728f8758af9fb217eca9d791a) >>
+>> endobj
+6781 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.552 348.045 210.806 358.949]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6782 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.517 265.598 248.77 276.502]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6783 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 197.987 173.456 208.891]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
+>> endobj
+6784 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.43 197.987 253.684 208.891]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+6785 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6789 0 obj <<
+/D [6787 0 R /XYZ 90 757.935 null]
+>> endobj
+242 0 obj <<
+/D [6787 0 R /XYZ 90 733.028 null]
+>> endobj
+6790 0 obj <<
+/D [6787 0 R /XYZ 90 642.053 null]
+>> endobj
+6791 0 obj <<
+/D [6787 0 R /XYZ 90 561.29 null]
+>> endobj
+6792 0 obj <<
+/D [6787 0 R /XYZ 90 561.29 null]
+>> endobj
+6793 0 obj <<
+/D [6787 0 R /XYZ 90 522.556 null]
+>> endobj
+6794 0 obj <<
+/D [6787 0 R /XYZ 90 483.701 null]
+>> endobj
+6795 0 obj <<
+/D [6787 0 R /XYZ 90 444.847 null]
+>> endobj
+6796 0 obj <<
+/D [6787 0 R /XYZ 90 367.138 null]
+>> endobj
+6797 0 obj <<
+/D [6787 0 R /XYZ 90 310.725 null]
+>> endobj
+6798 0 obj <<
+/D [6787 0 R /XYZ 90 184.413 null]
+>> endobj
+6799 0 obj <<
+/D [6787 0 R /XYZ 90 162.101 null]
+>> endobj
+6800 0 obj <<
+/D [6787 0 R /XYZ 90 162.101 null]
+>> endobj
+6786 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R /F11 446 0 R /F79 505 0 R /F97 1188 0 R /F23 368 0 R /F107 2332 0 R /F100 1390 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6826 0 obj <<
+/Length 1343      
+/Filter /FlateDecode
+>>
+stream
+x��Xmo�6��_!`@'5�Q��m@�%E߳����"3�0YR%�F0��(R�e�n��݀�e�<�=�sG
�����l��t49�
+P�QϚ�X��G�Ěέ+�`D}gL0���C�
�pv�Plg��R΋p�*�.�����Y�g�d*���
+gL9�I²ԏ��F�m�Fl&�ME�|���MGG�����	ƭh5����9�aa���ԣV�K�&ֻ�o#l"�#���k	�!�:�KY��#n�e�D3{r����G�~1�z�{@D͙��[#�g7 ;��{[\���t߀�N��x��@�h
 �{�1���gb.s���t�9�R��Y�j)��
A���t���A`�@��2.� "\�����0I�O�
ӧ�Q~\��y��w���
��9
C�^���C
�︩���eT���'���:
���o�ǀ��@����K�'ϳh��iVq��Mֺ�D
u��3��Y�D�s3��V�T�K�Ly�i�>h"Ozj�ؑ�|p�#N�R�����
�<��\ !	
+���
�ߘa.d�����>?"p���>mȏ
BI�JC[
�J���Ҍͳ8�ЀN`"�G�^�8���ܸCȶ\A��l���6�=;�#�k���@�� �E��̨�y
+�WM�Re�X��yYө�P�՜
��R���Z�{�0��P����:�#
���}���"�
�!E��
�L׫�qM
�%wg�o
������݀�~ŀڧ���Ϧg�������鐛�^v����5�GA�ThQ`
**ݭ/
�p�Ú�6�*�
15jh�mZ�
�E��e�0���k��n��|�F���s��R���c�#�:��
=Y�)ro��m�0a��	�d�x��O�^���„�D
�oܬF�;㷳K����n�f�G	���n��1� T�
`�ʯ�ɝ5�世�\O��?��Ӳ��:m8��mY�&�6����G	EyV�n��)�0��v��d�
+�CѪ����9�v�kov��Q�����6 �cY���� ����ćF���I�=�E
��{�~
���~ޓN&g��
<�
d�:p���
;z4�1����"
���q�

�Y�
�3q9S��Wba,��[�V��ChA��u��I�0�7]b�.� m�@>�
���FUa׿
>&�"��f�Q���/ĩ��p
+X�B�y�����U*�e��,?v��nZ
H��-�������/��C��T_g� q��9��"�os7���
���R�;��&��a��D*��[��;� �Di9c��;��
:�?���娾/�%>E���]VU~2�l6�h��y��j���d�߲�����8���D��rU�J�� ���e��
+endstream
+endobj
+6825 0 obj <<
+/Type /Page
+/Contents 6826 0 R
+/Resources 6824 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6839 0 R
+/Annots [ 6801 0 R 6802 0 R 6803 0 R 6804 0 R 6805 0 R 6806 0 R 6807 0 R 6808 0 R 6809 0 R 6810 0 R 6811 0 R 6812 0 R 6813 0 R 6814 0 R 6815 0 R 6816 0 R 6817 0 R 6818 0 R 6819 0 R 6820 0 R 6821 0 R 6823 0 R ]
+>> endobj
+6801 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [121.93 558.197 274.835 569.101]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+6802 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 503.376 160.207 514.28]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a10e7c95784e356487a6a6263a89cec66) >>
+>> endobj
+6803 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.977 503.376 192.655 514.28]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a10e7c95784e356487a6a6263a89cec66ae9cf46c5e08ead7689807e1c8ba30642) >>
+>> endobj
+6804 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.643 503.376 257.053 514.28]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a10e7c95784e356487a6a6263a89cec66a4ac3b90df83c2e43249ccfa2702640de) >>
+>> endobj
+6805 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.042 503.376 291.364 514.28]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a10e7c95784e356487a6a6263a89cec66a25b86c6f0633416506503de2bf693876) >>
+>> endobj
+6806 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 422.674 178.976 433.578]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ab1db3272b7beca7b1d9d17f23d22ecbd) >>
+>> endobj
+6807 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.313 422.674 271.378 433.578]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+6808 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 384.235 186.725 394.765]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a00017ad58d66a7948b0355b3e02c750b) >>
+>> endobj
+6809 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 345.048 178.976 355.952]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+6810 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.715 345.048 230.522 355.952]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a1177f236d8c66c01bbb43b37ff90bc7d) >>
+>> endobj
+6811 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.859 345.048 322.925 355.952]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+6812 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 306.235 178.976 317.139]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+6813 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.715 306.235 230.522 317.139]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ac05ff6bef376a2835adbb0ca123a8e79) >>
+>> endobj
+6814 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.859 306.235 299.682 317.139]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+6815 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 267.422 179.554 278.326]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+6816 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 267.422 250.666 278.326]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a60d9658ef91fbd3a1b0064253246f36b) >>
+>> endobj
+6817 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 228.609 135.579 239.513]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5) >>
+>> endobj
+6818 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.077 228.609 155.225 239.513]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a1aabacaac0806d617f53db4b34b3349e) >>
+>> endobj
+6819 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 190.17 162.677 200.7]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a2a0bc130f7cf6a0678ee3b982fcc7ab6) >>
+>> endobj
+6820 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 150.983 187.563 161.887]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a41227446c918730e97998799bfe04da6) >>
+>> endobj
+6821 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 112.171 220.768 123.074]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a76fce1702224700691a26cf5e780a1dd) >>
+>> endobj
+6823 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6827 0 obj <<
+/D [6825 0 R /XYZ 90 757.935 null]
+>> endobj
+1408 0 obj <<
+/D [6825 0 R /XYZ 90 645.072 null]
+>> endobj
+246 0 obj <<
+/D [6825 0 R /XYZ 90 638.408 null]
+>> endobj
+6828 0 obj <<
+/D [6825 0 R /XYZ 90 520.427 null]
+>> endobj
+6829 0 obj <<
+/D [6825 0 R /XYZ 90 441.627 null]
+>> endobj
+6830 0 obj <<
+/D [6825 0 R /XYZ 90 441.627 null]
+>> endobj
+6831 0 obj <<
+/D [6825 0 R /XYZ 90 402.934 null]
+>> endobj
+6832 0 obj <<
+/D [6825 0 R /XYZ 90 364.121 null]
+>> endobj
+6833 0 obj <<
+/D [6825 0 R /XYZ 90 325.308 null]
+>> endobj
+6834 0 obj <<
+/D [6825 0 R /XYZ 90 286.495 null]
+>> endobj
+6835 0 obj <<
+/D [6825 0 R /XYZ 90 247.682 null]
+>> endobj
+6836 0 obj <<
+/D [6825 0 R /XYZ 90 208.869 null]
+>> endobj
+6837 0 obj <<
+/D [6825 0 R /XYZ 90 170.056 null]
+>> endobj
+6838 0 obj <<
+/D [6825 0 R /XYZ 90 131.243 null]
+>> endobj
+6824 0 obj <<
+/Font << /F70 402 0 R /F23 368 0 R /F8 540 0 R /F56 367 0 R /F72 404 0 R /F11 446 0 R /F79 505 0 R /F107 2332 0 R /F97 1188 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6875 0 obj <<
+/Length 1703      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs�6��W�J3
���\ZO�ɣS7v�C���$$s‡PV�_�ARS���4��-J��ow?,�����W��.'/�xԳ.'V�-��Rb]�և!����1��G��xx>�xX��kK
�K�$����W2��W"���
����g)W�\�!G��< ���
R�>]��~9�2 ��H����]+�>a+���Xفo-�Q��P>S�b�� ��u�\o�2�=�ؾŨ����>R�V�7�cL�*���]�#��b�ژD��"������G�b�#�������>�|��s���"ϡ֘8���Q�(�2Wz��ˀ���1"�?،+�\�A�"m�l%��csQ���\��j6��k8
��{���
�8��~��u��֣7�>��
Z�Ԇ/�ĥ���`���L.y&J!�B
ճ?�c��q��¬,G6���P"/���!�C����QqqV�Ɉ��|%�`XJ����rl(u��r�^�D�bvg���?#B�ք_��k�M�餒T^��� [...]
+�y�D	�}P� ��A�B�!
�H�
)q���$
+��8ec��qb����gX�&O��#����]���DV�e��o",�3q��j����a=7�ëe)�cz�Nzi�h��U1o�yYl��R�\jC�\��+�/oN4�7�h>KD���� Ľ"�a�J;�
+	���W�N��"����=��k�>���;��>¾�����|���/s�~�?�VI����u���u���l��*��C�[q��c�w�
nȥQ_;��r��n��
C3���:�1a����M�w�
����8��/xm�0�nT|�Q�`������^�R�� �"� ��
�2z?�y �x�I&r���g�v��������m,=
���Ot�
�v �[+����F�����భ���UU��]R=D�n@���9O��Ȋ) ����X�B.E�M���i�5�nq8m���U[P����� �
+s/�}�n�%�^��Ģ��f ��)�� ��W7U:������$�����8�W&-M�tlkcR���i$��>yފC��^��~����K�� %��ժ�=щ��1�ݏg���j�
UJ�3�C�T?��P����i
}�s
}(�݄�O?���œ�5Tg{FyN�Y�4�k��$�*ɧ
���
k,f+¦m����a��y�08�^��c&�����O

���#���w��v�
'�	H��α��<��Fȃ�&�=��#2��
nk�x����ϣ����fώm�٫t����x��$t;�*�7�
��JtG��=�©ǶG��wL0
+��<��J�p
�u�c��=t���(�G�ٜ�G�Pj2O�wsm�fLx�:cvV��O.Uu�$�cn_����#�ճk�
�Y�Ń�`�@A�O�V�כ?
+bA��3">�b��V�E�������;���uW1�z��-�����H-� j��'���p7����?�n�WJ�iY�V� WRr
�7sL!�i�7
���x��u�؇��7�<Xx�=_\j^T���`_�+Xn�\�1�^6��W}l��
+ϛ�����%,��o%�/Z�:U���Ӥ1z�E	��F�h�Օ�B4�@c�g��z��H״%>E��ǁ벜���,
)4ϓ�DIy2��'��e3
���q�<��
+�V �1�9������Q�
+endstream
+endobj
+6874 0 obj <<
+/Type /Page
+/Contents 6875 0 R
+/Resources 6873 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6839 0 R
+/Annots [ 6822 0 R 6843 0 R 6844 0 R 6845 0 R 6846 0 R 6847 0 R 6848 0 R 6849 0 R 6850 0 R 6851 0 R 6852 0 R 6853 0 R 6854 0 R 6855 0 R 6856 0 R 6857 0 R 6858 0 R 6859 0 R 6860 0 R 6861 0 R 6862 0 R 6863 0 R 6864 0 R 6865 0 R 6866 0 R 6867 0 R 6868 0 R 6872 0 R ]
+>> endobj
+6822 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 719.912 168.216 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ac915c8d26a7dbcdbbd0c4985ec5b7d4b) >>
+>> endobj
+6843 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 682.567 226.308 693.471]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a811f6f947785240bcb76bfca023fed17) >>
+>> endobj
+6844 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.933 645.596 297.728 656.127]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_af4e7705af87f5eb64d2ebdc60cd7a36e) >>
+>> endobj
+6845 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.544 645.596 336.732 656.127]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+6846 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.933 608.251 283.353 618.782]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_acdc0aeddab3d98e336719f42e6e5b06c) >>
+>> endobj
+6847 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 570.533 191.718 581.437]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+6848 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 570.533 288.852 581.437]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a13419c5d820bde20af5eabd23e479ec8) >>
+>> endobj
+6849 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 533.188 191.718 544.092]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+6850 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 533.188 303.079 544.092]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ac3e03bc2df621903d136c689c38bdb6f) >>
+>> endobj
+6851 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 495.843 201.471 506.747]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_aba6b40a4b9708e94d6cd10f54144ed70) >>
+>> endobj
+6852 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.808 495.843 293.874 506.747]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+6853 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 458.499 182.044 469.403]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a1f0828932daf26d10e94120c1f4a4d6b) >>
+>> endobj
+6854 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.381 458.499 274.447 469.403]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+6855 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 421.154 227.981 432.058]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a68e8cef74c6b4b5a56e2c791f41566e4) >>
+>> endobj
+6856 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.797 421.154 297.44 432.058]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+6857 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.943 421.154 407.008 432.058]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+6858 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 383.809 272.783 394.713]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a77a904793c99cfb1d61fadd277d59471) >>
+>> endobj
+6859 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 346.464 181.845 357.368]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a164c38a51c8718e6ac3a3f3e4af77bf0) >>
+>> endobj
+6860 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 309.119 181.845 320.023]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a77123fc17c8bc6d59a76802c0592a2c6) >>
+>> endobj
+6861 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 271.775 154.727 282.679]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a0f19da4c46bb8b3be01875eff4c00538) >>
+>> endobj
+6862 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 234.803 176.505 245.334]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a58b86510b9c4dc05004c0fc01622430b) >>
+>> endobj
+6863 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 220.564 450.955 230.469]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a77123fc17c8bc6d59a76802c0592a2c6) >>
+>> endobj
+6864 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 186.5 150.493 197.03]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a081718c23b5785da17c63ffec13536cc) >>
+>> endobj
+6865 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 148.781 156.281 159.685]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a0fafb66fa4df451fd3e2f0392329f27b) >>
+>> endobj
+6866 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 148.781 225.162 159.685]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+6867 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 111.436 203.065 122.34]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ae1887d907ab06bddeaa2682bdf94d268) >>
+>> endobj
+6868 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.881 111.436 271.946 122.34]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+6872 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6876 0 obj <<
+/D [6874 0 R /XYZ 90 757.935 null]
+>> endobj
+6877 0 obj <<
+/D [6874 0 R /XYZ 90 733.028 null]
+>> endobj
+6878 0 obj <<
+/D [6874 0 R /XYZ 90 700.906 null]
+>> endobj
+6879 0 obj <<
+/D [6874 0 R /XYZ 90 588.872 null]
+>> endobj
+6880 0 obj <<
+/D [6874 0 R /XYZ 90 551.527 null]
+>> endobj
+6881 0 obj <<
+/D [6874 0 R /XYZ 90 476.837 null]
+>> endobj
+6882 0 obj <<
+/D [6874 0 R /XYZ 90 439.492 null]
+>> endobj
+6883 0 obj <<
+/D [6874 0 R /XYZ 90 402.148 null]
+>> endobj
+6884 0 obj <<
+/D [6874 0 R /XYZ 90 364.803 null]
+>> endobj
+6885 0 obj <<
+/D [6874 0 R /XYZ 90 327.458 null]
+>> endobj
+6886 0 obj <<
+/D [6874 0 R /XYZ 90 290.113 null]
+>> endobj
+6887 0 obj <<
+/D [6874 0 R /XYZ 90 252.768 null]
+>> endobj
+6888 0 obj <<
+/D [6874 0 R /XYZ 90 204.465 null]
+>> endobj
+6889 0 obj <<
+/D [6874 0 R /XYZ 90 167.12 null]
+>> endobj
+6873 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F105 2458 0 R /F106 2337 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6922 0 obj <<
+/Length 1377      
+/Filter /FlateDecode
+>>
+stream
+x��YKs�6��W�W��  $R_��3ͣMm��d4�ۜR$B��_�	ҒLIt�L�NO�H`w��}�عq���˸7<�؉P��_;vx@��Ϝ�}�
���?��������~��n�L�ɻ�J	��^�x6y-S��Δ;�
�_&�(�ᅼ��%a_�S	2�ǽ>
��y���j���#`vHi�{̙�{?cg��8yQ�,�Ysǧ
�&�e�
޻#�!
�jG�Z�xZY�aq����r~%���t��,-J�j��s�	&��P��Z�'J����tE��zcv�n�V/�9F�z�Rv��1k�8��J��O��)lB����
5yu�+Y��6Y'��-�jXx� K�X

>u�G��W�\H�P�����ՠ��
e���,V�����(�G|M6����R���l�g|bߣV{w�s@<�#�PE�y�������"�υs���Vjv�qПF։<{4o4�*Uf�_��e �D�
A�
��k�20�i,S=�Jĺ�J�&�
�ꈗ>={� Ke��+��N�{]h���-�O�
��򋣀�z�Hg��"�*[�y�Hq�Y�@#��6�R�#
��al�?�����@y����eA�a�¤o�l�/�l�_9��G�C��C�l�6l�C6mh6;n�$

+0;
+
�S:����D�r�-������TN�ջR��(�狹
�
+ws#ֵ]���O��5V�-�D��O
v[ݝU��+K�x�q�X$6
�_��
��*�8

8���Uv��>�4
��=)��,�
0�ݜ��
���t��8�,��`��@6hN�H�O]	��ɀ(�M�pQ��8�݈���O��C!��I�%LCN15��,�k�x���8�+��z��r���lQ� y�Ui �-Ӳ�E���>��̾��5X׵.��s}C,:�W�F���J
+~�)��h\���a@7I�ŋ��GQ���S��c����$DP��&�_�|a=a at hr
!��e����ÄbY�,���;����J��+���-�O�Ow[za��]m�~g��SD^�rZ���J�BS��%-�e�v,�I��E��nI�*˒n����7
��Q���y��mĈx���V���p�A�Ob����4K�U5�W-$�(O����:�ئG�e߉D�݊�Zd3��C��:n���[�۝s?�Ϲ2���8.���
�(�B�zC���LF����v_^�S��e��A �H���A�� P
�rT_
X�����ʿ)�ߺ*p�UzYT�,���e�oy�^���M0n�3��z��X�-!w�A=t)k��}��ԣ�M�f-	!�� �Z��p�\�i�i�+�a�'���Y�����u�	g�յ|��ù0���; ���3n�
+endstream
+endobj
+6921 0 obj <<
+/Type /Page
+/Contents 6922 0 R
+/Resources 6920 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6839 0 R
+/Annots [ 6869 0 R 6870 0 R 6871 0 R 6892 0 R 6893 0 R 6894 0 R 6895 0 R 6896 0 R 6897 0 R 6898 0 R 6899 0 R 6900 0 R 6901 0 R 6902 0 R 6903 0 R 6904 0 R 6905 0 R 6906 0 R 6907 0 R 6908 0 R 6909 0 R 6930 0 R 6910 0 R 6911 0 R 6912 0 R 6913 0 R 6914 0 R 6915 0 R 6916 0 R 6917 0 R 6919 0 R ]
+>> endobj
+6869 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 697.247 202.497 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+6870 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.995 697.247 240.962 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_aedf9116549ffcced7a39f4596e65e5d0) >>
+>> endobj
+6871 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.3 697.247 345.549 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6892 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.88 658.393 209.945 669.297]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+6893 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.891 658.393 259.714 669.297]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ac061731c4fec7f60c48e02ed9806b4bb) >>
+>> endobj
+6894 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.948 658.393 379.197 669.297]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6895 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.543 607.584 209.608 618.487]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+6896 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.218 607.584 260.724 618.487]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a065895a1428f9dc6b3002818686eff0f) >>
+>> endobj
+6897 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [302.284 607.584 379.534 618.487]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6898 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 556.774 203.075 567.678]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+6899 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 556.774 296.324 567.678]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ac74dafaa0b06e9cd3d15ea0d2af1b213) >>
+>> endobj
+6900 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.005 542.153 337.637 552.059]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+6901 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 518.293 194.297 528.824]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a041afb1a2cc7277572fb7235cf08cf64) >>
+>> endobj
+6902 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 479.439 188.759 489.969]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ae94a99f8e8d290b5791baa01fd540a14) >>
+>> endobj
+6903 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.953 440.211 226.019 451.115]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+6904 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.758 440.211 301.843 451.115]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_af00dd6aeffc847b73a3aee11d6d169b6) >>
+>> endobj
+6905 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 332.17 226.034 343.074]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a082a74ad0ce931ec2e517bf0f009daa2) >>
+>> endobj
+6906 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 332.17 386.241 343.074]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+6907 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.599 293.316 160.965 304.22]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a1a15765e7fd1f486a9ee12a061dc4c76) >>
+>> endobj
+6908 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.464 293.316 345.612 304.22]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+6909 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.361 293.316 513.996 304.22]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+6930 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 281.361 155.733 292.265]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+6910 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 242.506 180.54 253.41]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a3075c67d9868fc0b483db13256fb4e0c) >>
+>> endobj
+6911 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 242.506 272.942 253.41]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+6912 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [314.676 242.506 379.741 253.41]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+6913 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 203.652 178.239 214.556]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a8ab7b9abebd48fe0ad129a237338aa96) >>
+>> endobj
+6914 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 203.652 270.641 214.556]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+6915 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [312.374 203.652 377.44 214.556]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+6916 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 164.798 226.034 175.702]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a6fb154017052c68b63121cef49c568ce) >>
+>> endobj
+6917 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 164.798 411.457 175.702]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a10e7c95784e356487a6a6263a89cec66) >>
+>> endobj
+6919 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6923 0 obj <<
+/D [6921 0 R /XYZ 90 757.935 null]
+>> endobj
+6924 0 obj <<
+/D [6921 0 R /XYZ 90 716.221 null]
+>> endobj
+6925 0 obj <<
+/D [6921 0 R /XYZ 90 575.867 null]
+>> endobj
+6926 0 obj <<
+/D [6921 0 R /XYZ 90 537.013 null]
+>> endobj
+6927 0 obj <<
+/D [6921 0 R /XYZ 90 498.159 null]
+>> endobj
+6928 0 obj <<
+/D [6921 0 R /XYZ 90 459.304 null]
+>> endobj
+6929 0 obj <<
+/D [6921 0 R /XYZ 90 378.422 null]
+>> endobj
+6920 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F110 5653 0 R /F37 2638 0 R /F11 446 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6942 0 obj <<
+/Length 2620      
+/Filter /FlateDecode
+>>
+stream
+xڽZ[w۸~���[�6�q��>�s���vۓf��!�'��h�]�TH*���;�$@R��}1Ip8�
���2
��������)I#
7wAJ�8bDqܬ�7!��'�%������Y��޾ZpVۇM����?�uV?\]����ۗy��Y[Ջ%W4�v�5��}�����%a^�r��D,B���o7?]|s����h��*TLb������o4X��O%"M�����
�n�_.�qA��
B#�XD��黼͊m�6+�.oVu�o���E]��"G
�\!S��k��=m�E��0����vy�['t�d�UQ�d��үK+u��|���;sm7��Yi?�����{��//�7Zd�~#k�b%
+�U�����n�W�(�|
,"R$��pp�v¯���L
+��
�E�w&�;� �L�#�hk%
������W�0N�_��F�1G������͌D
�V��
E���J#4�F��#t
0���
+/������
��ufI�Ogń#&I�e��_��uG��aSMV
bS5��X�߈EF�f�a�
+��Ե��K�X"a!�ς�
+3�������%��p}�Q�\�H8�&�x�.�mII�F
��ÒТ�HF��c)Y��t��הB���"II"lZ� �K�)�s�7�8A��h)S����zn��}Tr_*���tݨ�	>*}r���
�V#�!��$���
�u�;><

+R��:+ԉP��^~r6ԙ.R����X����XP�Ƃ���X 3��B(��
�0��^�ǂ��B�?�NRz�ψ��$
3>|n,�g��@;
+��B���|fWy+O;?�ѫ�ȸ/�
S�ɺ��e��l��4�leo�r��c3�8�^fT�����$N��[�����]���-<����t�/X�R!�Ȉ�.8�
+�c
hM�?VHϏVoe��H�����i�}��
Of���4�]�!e��>[m@ga���͝���;} <j��ڭ���x�������V��*[Uu�7��\����58��!�s�}K8��Gӈ��
�Ӟc��QP}^�ٌ�IA����UK�B�%@��8�
jT�8r�1�!�l�dzO���js�/�
+?��s0�8(�O�m)p���[��;Qw��C�,�T�K�5�c֘��3,M��fxv�G�L
)��{C��p������'����U�k�?�vƘ�̈���h��[�g�	tM���D���jW�G�&�K̬�%<����`���v�¼ޙ�c��!T�#M��x0c�}Y��w
��U�{���]�v~g"�t��u����l�a�Ð���s��g�4.�o��sN�*r4�2���vvD���{�0>��Z�j��:�8��W�zЯ
���!aCU��^���Ek0��j����R0[��M�V�C]�a�\�����pc���i�3[k���%zX
�
�����ʶ�|T��MW$|�}<�3v�:at����X�[N����3�_ng)F�fMkYw�2ϐ��n�˙�̽
+�a.�3�O�i�чy��
q?�;�
	��	%=���߹!�i/�]�\�
�]L�.<*c	�	tf�Y�-����
#����֤�dP�Md��G���I�;�c���(�j���ާ2��G������4'������X���:��j8���dzt�9�./K�
�����n�D��
%�1��D
=A�d����
�;��)e*�7\�L�[�N�<��z��
tǧ����|e.=�B�}0cK�^��c��Z�*Rv^
�o
��,/F�����⌖�Kme�z�s�t�j��ڳ0�nj�
���ͳ�\ٳ����y�װ
��BҖ
�O��o��Bzu�?<�+X
�s6��V����cM�c�,�M�}�
��&
�n�G�Cʨ�$��*���@
��ci��s6�ܒw=�9$�<�f���
�pN�f�����E&�?.H��h����Q�n�;/�FL0_L�~����b}Z�h�)��)�'�
�dcd4�
���u�U��ա�x���t)ů�_2��yA�#��$P;�߫6�z���4����#C����ƾ3�4��C��6m ����0�}f{�c�yg?
���q�*7T��u��x����L	��Y����@7U�& ���
��*��h(��"�E3�ɤ���� ��T	SD�>|��X����_5Eu���;67#�ٯj�k�G�f�*&I���dv���2���?	͚�)
���8AO��]Y��

`-��XC���xIC�\���.��i��!�H-��fy�\^ ��Rfx����
��/`_���f���L�gЙ��9���UeX�����TU�g����~��3jvNO�lȰC:<Q��S��`�Nuf�, Fq�t��O���~� ���Jy�5Z�d.&L���������Y_�N~
�"
���i�0'^w��������n۬p��
�>���p���
O��p���_���O�BAnSrd�+̐�H���G$�h��<����?�*6�-+�=C@~Q�+Q˜=iEj�K�[�]���_
B��7N��
Ϧm�W���㑬r(�}M��r��^NӞ�js��M\׮�{�	���Շ�#��`f6

+endstream
+endobj
+6941 0 obj <<
+/Type /Page
+/Contents 6942 0 R
+/Resources 6940 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6839 0 R
+/Annots [ 6918 0 R 6939 0 R ]
+>> endobj
+6918 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [323.681 695.563 388.747 706.467]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+6939 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6943 0 obj <<
+/D [6941 0 R /XYZ 90 757.935 null]
+>> endobj
+6944 0 obj <<
+/D [6941 0 R /XYZ 90 733.028 null]
+>> endobj
+6940 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F86 597 0 R /F8 540 0 R /F11 446 0 R /F7 541 0 R /F10 507 0 R /F13 581 0 R /F6 596 0 R /F9 618 0 R /F12 678 0 R /F72 404 0 R /F79 505 0 R /F23 368 0 R /F31 506 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6948 0 obj <<
+/Length 2820      
+/Filter /FlateDecode
+>>
+stream
+x��Zߓ۶~�����J����3m'v���_��dnxuljD�$�����
,H$%Q=g�/G
+\,����G�����ts�ꭦALb�Up�bhň�,�Y?�%<�/�t�~��,)����9��b�������Lʧ��we��}��i��E9_pIg�$U��ߧ봜�h���t2�ŌGb��ͷW_�\}�b`
��Bj��
�۫~��
+ڿ
(q<Z�mr�M���W�ͨ���@�XSffȘ&\G��P%q�}�Lw��7��7�"�������>��A��&�Z0�2D���_B�#
t�
����T��_���bxQDQ���m�I���\��K\��!ŗ���
uE��+�DD�VE�	�0V� G��` !���Q@
+��wM(D1�2bdJ ��EGh��h����*��R��+�����
_�
��T�̈́׽X�M1�r��v�dyZ���b�^[��1��=$�Vn�q��ҋ8��

� "C�#�5���� Ԙ�)������� �`�EL� p�G�
+�&���*�
+
.<b�7��
Rȸ�+j��Aj��2gr֠�~H��1��G���a�!15��6q���h�8��n<�
+�i�d��}U���{��z+Y�����i.#� �ॻ-��/s�����x0�d��U7v��
�R��
41Dm
�&�h�+�lk���.h.r�h�d��mv��� Վ\풥S�ʶi^eE�_~M���G���0E�����~q}
+?�A�i�^z���bD��"��Q<��#��ZϪtY�+l\&U�o��kj|��nSd��O�֖�,���
��ُ�r��8��[�F�l��p�/k��8c��%%Z�͢�'
ޫD��Y�A�
+Q!��h�3#%2ŭb"��D���O�"��@� ���
=E�³��D�Vcw*�
����d�"�_}J���
�a����,"�VMRv
�G���?Q���H��ލ� X�X#P��efPd�;����`04
+|$w��j�@
����
+|�s��; ��z�fI���3L�s�̩��V>&>{V���`�i8Bj�
˚��rT^�U�^�߸,��+����X��e�V��S��OA$���Hc�þ�Y� �
a��$�UEi�71O��	.u��;�d�pJ��t����n^�p@�/]�r�P����%��
"��W���q��Tt�4py�r�$��E7|�
l�^�~�F��~�r�,��N�A+��tpo�
4�m�3��5����a�LE�EQ��<�ӊ4�2����(lP��U�@Qگ�\diX�Hda�#�
-^r�]���7&�Gv�cI<$�

��A�|�-7c^���6�]p�Uk�<��7��
+��Ɋ�Z��k�̂j�� �H�
݌��Xr�

a�lq�S�ly�������4�"�Z9��,bb+;\L��Nd|y�,0:�P1�Rj�������XF�G�P�(R��P��l�o�^N6
m��\lr��t�rq��a����rK�W�P���$=k�G��z&/�g�QI	%K��X,�9�����3n�k��"p�A�
�j��Ii
+���!��^D7�"��@�E#�\PI(mC��a\����N���P=g�
�Aٹ(E�E��a�Q*J��F)� Y(��4R���	e�������)<�>z���F��	0�?����s���S�)$O���B�ʼn	$�9��}���2�0��u��:h9�:��.b��=ng���S4$v���
l�b�v ��vƨc�.��۝�
��cq"D0������-:���sY{.k��em�fm�d֦&�6��[�y;2������?+��$L
+B����
aa�T�]&.)sO�0nșca����1G�\p��0����)ژA���?Ԫ��F��l�gl��&��(�f ��bU�Ğ:�KwLK�L��*$�,w�	>�y�c���=�2����3g�����p#�C�uQnmr�*i,��N:h�՜��}ug�nﲺ١�]sJ֜r���w6֜u�}�,f���^�]fi�NV}8�J�bk2]�t��g�«
���
�B���e��s����?�ٽ}V(�+�*��8�2�L�˴r��d��o� �
�)6�3:��P&�N����q��#�X!ڼr�ƢG#��
��Ʊ�{
xk�yD�G�.u&01JѨ{�9���<�H$ü#�)D�0����P
��s��*<>t�x��n,F;�q
YPz��3_&:b���
R��يp�N
��

��8�z��tY$�Ą����'�% ��~�6��l��=
1f��8�]5T����Occa�� ���>B“Qq��_9��6͔Sh
2CNX���誵͆J$Qa�w/�^�LODӈE�y{�3�x6j�`z��mc>6� M���{����~���guT2�?xBf
�#��I���{F�ʿ�����ےw�й
]{w����❍��@c̷'���}����;�W����;�NIy�է]	yђI+>ve�n輙F�nn�Θ��?leIJ��V�p{�����
d�nճ��8s�@/�

�<:�:������i��N3j2�:�����WRf	p���0[� ��8��v���' MڜK��
��ǫ��e�ƫ���l�5��#�z�f7�(�cPZ
q�����M�
�ϓ0﯇���B��kr8�����٭'��
TA-�t������r3�B�eإ��6��[W<�o����h�����w�E:��$�cu�`wS�V}�0��uB��!M�q^?��_0p
�e'�p��P׻�W�
ɲ"�<ە$�_�v�WC*��4��)�c׶(ӦbiK'�_�����
+endstream
+endobj
+6947 0 obj <<
+/Type /Page
+/Contents 6948 0 R
+/Resources 6946 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6839 0 R
+/Annots [ 6945 0 R ]
+>> endobj
+6945 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6949 0 obj <<
+/D [6947 0 R /XYZ 90 757.935 null]
+>> endobj
+6946 0 obj <<
+/Font << /F70 402 0 R /F72 404 0 R /F56 367 0 R /F83 598 0 R /F23 368 0 R /F31 506 0 R /F7 541 0 R /F86 597 0 R /F8 540 0 R /F11 446 0 R /F10 507 0 R /F13 581 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6961 0 obj <<
+/Length 1835      
+/Filter /FlateDecode
+>>
+stream
+x��XKs�6��W�R��A���!I
O�$u
uzp2
F�,N$R!�8ί�
R$E)r{�E��b���:wu.Gϧ��u"��w�
'�N�3"9s�s��e��p<a�R�j̨����j̩��
�j^$�o�OER<��e��o/U���ʋ�K�X%e��k�PŘ���f
+x2��������b:�2b u��B$ҙ�G7�3���%"
+�{C�v<.�rޏ�
ѶF�oi�(0b�	� ԗ��t�
+��
u��-jq����
肫M�f�����~���(��؎H�?a��o��[�3�1|>������J��E� +�?a����~6�x$�����\&�x��/�xx��^���
Iد��g�	g�0 G%m��[����ȷ+k��S��YϬ�|���\��ivg��f[����(5�ɚ8�{ڦ;�F��ҚB��n?����z��
m�scTC0ap��3��a���"Y�J�A�k
���&�{Dq�zqX<��Sd�j
=�pO�~0��79a>����K�c�G6���(z#�����	+�t�/�)�7k��:��p?)�c�@�oW���.����g�miI1b�+���)_�
A��Cx�
+OB�f�Zh��@)��
+���:���'�^&0D��b$���&wIt�
I�ᱝ
 8"p�i�TjHN���M0����l�
�e������V	e�V6��i�D�㑴��5�U�+9���t�!%�OЪ=����V�?)��"ۮ5�6��-��NVᖶ%��~�:���p����jq<
���2)\����2��tkb�I���$�|
��Zc�*���j���`M*rx���E�Ҏ�`y
�:
�^�1��U��)�ibo �#�Z�\�C�>�~��bzq}L<RV��A�������t���W�G��	����
|L~��g�O��s���f�th+{dQ�k+�n��;�3]_���:����hn$kkW
�%���n�Hȗ�l��lM65��/�A����'��K�@o�露������,��:��u�@�PJ2m�|W���=%#!����I3-�m�J����P���Z����m��=��)Ho�P�ڠ�/j��A{ju�paC`�qp�qX@|nk��e^TK,��1>l=�u��3qܸZ;yؽ��'� �~ً�� 귙�h{�'�) i at u�[�ڪ��q
-�Gݯ�
+tH�;��#W�
`�
��b�O�X,�u��$ߖ��V�i:� �z�X( �
A��m�P��"�K���_5�@4�\��r���`]� >4Gᓠ�[���@�
�����l����i���k0�� 
��q
�SK
+�d[p�?}Y�bV𽀌���mkΆ�d
 �hڬ�#�$dM�}�c�:�VE�Ve
�oQ��=t��$��<�()@9��n��%X�x�9�S�#8�>�O�J�h�d�$�睂��P90ED��O�o���a�~W��g˚��|�!�l$x�9��3]��`o�%L
G1X<�����Έ=\�a�Q�R���	*�]/��D�F�]�O�N�3�t@?~=2
�1G�c-
>�q��	�_F?�:�h
���E�`Ҡ
�Q\���6��>9l�$�ra�T
p��]"�\���2nWn��k��#�N ��_PT�0�}o�����3��z`�
��D��8N�"#�/Q����zKS����l�k9������QA��k��R?$
O�@Z�5���S��vX���f|���
Q�df����JU��G++��$ۚ �
;���u��
&����^)�"��٩W�㧿��,�����˪�������dV�m�n
+�V���|�}-.�(����:�?v�l���g� �R�x
+endstream
+endobj
+6960 0 obj <<
+/Type /Page
+/Contents 6961 0 R
+/Resources 6959 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6839 0 R
+/Annots [ 6950 0 R 6951 0 R 6952 0 R 6953 0 R 6954 0 R 6955 0 R 6956 0 R 6957 0 R 6958 0 R ]
+>> endobj
+6950 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.445 452.872 329.35 463.776]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5) >>
+>> endobj
+6951 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.558 337.554 211.623 348.458]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+6952 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [212.121 337.554 438.779 348.458]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_aedf9116549ffcced7a39f4596e65e5d0) >>
+>> endobj
+6953 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.118 176.266 217.183 187.169]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+6954 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.461 176.266 330.896 187.169]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ac061731c4fec7f60c48e02ed9806b4bb) >>
+>> endobj
+6955 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [358.522 176.266 435.772 187.169]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6956 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [316.086 146.686 422.655 157.59]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+6957 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [439.486 146.686 511.506 157.59]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+6958 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6962 0 obj <<
+/D [6960 0 R /XYZ 90 757.935 null]
+>> endobj
+6963 0 obj <<
+/D [6960 0 R /XYZ 90 628.164 null]
+>> endobj
+5747 0 obj <<
+/D [6960 0 R /XYZ 90 605.853 null]
+>> endobj
+6964 0 obj <<
+/D [6960 0 R /XYZ 90 605.853 null]
+>> endobj
+6840 0 obj <<
+/D [6960 0 R /XYZ 107.713 507.251 null]
+>> endobj
+6841 0 obj <<
+/D [6960 0 R /XYZ 107.713 493.142 null]
+>> endobj
+6842 0 obj <<
+/D [6960 0 R /XYZ 107.713 479.034 null]
+>> endobj
+6965 0 obj <<
+/D [6960 0 R /XYZ 90 440.122 null]
+>> endobj
+6931 0 obj <<
+/D [6960 0 R /XYZ 90 417.81 null]
+>> endobj
+6966 0 obj <<
+/D [6960 0 R /XYZ 90 417.81 null]
+>> endobj
+6932 0 obj <<
+/D [6960 0 R /XYZ 90 292.141 null]
+>> endobj
+6967 0 obj <<
+/D [6960 0 R /XYZ 90 278.394 null]
+>> endobj
+6933 0 obj <<
+/D [6960 0 R /XYZ 90 89.441 null]
+>> endobj
+6959 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R /F79 505 0 R /F100 1390 0 R /F104 2229 0 R /F123 2840 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6978 0 obj <<
+/Length 1551      
+/Filter /FlateDecode
+>>
+stream
+x��XK��6��W�J���C�D�$HHS M��lC�h[�-9���ͯ��!Y�e�A��
����<��f(�=��N^�Mfo"�I$��ʓ؋A��.��}���)�������%���~�}ڨ�L�/eR>��e�.nU�ʤ.�`J9�_m�����J��}�/�$,b>�y��������넀U�#�
+
��qo����^
+�o=����G#��B��w�}��1�=�
a�;
!���jh4�_�}��~'�'�q0���e�Wn�]���\����NUUV�v�
���
���0Gs0�ء��N|9�B�"$b�A�����΁�����*
m
���3I(Q�ds捕��'F1a���B�>aL����E]&Y]�������±9E�������'8GH�wR[����E����
'X �
�
@�"(������-�&�
+�|U'u��l�q�5���L
�����T}(s�z�샃�~Ljg&����c�OO�Q(�F`6��#*�=U���V���6�D#�D]p?n���$9��c� ��lѕkW}n'޽Ԇ���v���SK��6g���E#N`?���z���7
+(��8����>�������3�j<�v�ah��,��H�(p��A��Q@��T	@	"=�$j���Z��b_CX��~���
t}؁�Ս^��c��O!>����.<�p%ۃ��gB�]A@��Xc���u�fkP��L�Xl����� ��jYgZ�C@���O��t
(d����@ʑ�U���R�xV�7��K�E
�U��|��A���d
�OJ���-��J��7�6e�=y�-
��\B�����P�ܟ9��C#t
+��<0�%<�w��u˟kS�
 �'��-�0B
�D�V;t��`=�ݙ�uR�?K�lǻSA�m;x	�Kh ݮb�hyj�`�@a(
f��P&��)ᥞ�
�].�P at 0C�сO�L�[�^/�i��m���dܞSo�j�(����\{���,u`����h�1��3�&?f!O��o�u4/Ȝ�Ki��1�-O�k]��Ves`�L(܊�z�<o�Y�~�O���4��<�1�?�H��+�YS�ME
W	(f!
G
��~�tF�
�We���&��{pG"#���	��b�;��
N���	d�dJ�w���<�fZ�CV5)�r��+h������𒆁��5�nj��ѨQ`�p���
+2!� �Z6�T�'��&�Ȅ���^�L/'�3�G�
�~b4��A
�����4������ԇ��~��
V
`N[Rf��Twa����SO��9�}c�sʶ��Ό��1(R ���"=E
+��-nǘ�<�Ce堒��9L��
C8e�9F��goFq$=?�ڛXn�nn��NR�&�US\�Cٿ.��vU�I4�
�|�С�����)v=�������>g]���Ġ�J_�I�|
+�	
��}
+�q
6��
j+ؽ6�d_]Qٗ?+U�p�;�~Or3�4
�^�J;z�E����)����s�����<�619?ZKb�pԢgS���l�����:�پDY=�ﷳS.�h!!�z��US���IG���.�m�$�� ��`E
+endstream
+endobj
+6977 0 obj <<
+/Type /Page
+/Contents 6978 0 R
+/Resources 6976 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6984 0 R
+/Annots [ 6968 0 R 6969 0 R 6970 0 R 6971 0 R 6972 0 R 6973 0 R 6974 0 R 6975 0 R ]
+>> endobj
+6968 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.579 636.404 216.644 647.308]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+6969 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.653 636.404 331.771 647.308]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a065895a1428f9dc6b3002818686eff0f) >>
+>> endobj
+6970 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [359.128 636.404 436.378 647.308]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6971 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [316.086 606.825 422.655 617.728]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+6972 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [439.486 606.825 511.506 617.728]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+6973 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.445 370.035 329.35 380.939]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_afceefab91d648d188e42e5a75a3a977e) >>
+>> endobj
+6974 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.445 212.723 329.35 223.627]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_aeff190ba56f86d3425859043689d499a) >>
+>> endobj
+6975 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6979 0 obj <<
+/D [6977 0 R /XYZ 90 757.935 null]
+>> endobj
+6980 0 obj <<
+/D [6977 0 R /XYZ 90 733.028 null]
+>> endobj
+5782 0 obj <<
+/D [6977 0 R /XYZ 90 540.423 null]
+>> endobj
+6981 0 obj <<
+/D [6977 0 R /XYZ 90 525.853 null]
+>> endobj
+5783 0 obj <<
+/D [6977 0 R /XYZ 90 371.031 null]
+>> endobj
+6982 0 obj <<
+/D [6977 0 R /XYZ 90 356.461 null]
+>> endobj
+6890 0 obj <<
+/D [6977 0 R /XYZ 90 213.719 null]
+>> endobj
+6983 0 obj <<
+/D [6977 0 R /XYZ 90 199.149 null]
+>> endobj
+6891 0 obj <<
+/D [6977 0 R /XYZ 351.108 112.128 null]
+>> endobj
+6976 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F123 2840 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6988 0 obj <<
+/Length 1476      
+/Filter /FlateDecode
+>>
+stream
+x��XIs�6��W�����`� 5��]왤���zr2
F�,N)�!)+���E�`�N�^z���[ ��{ػ
�8]\)�(�Tz��bOI�%�l���#�'c�
�G�:�{;��ϒ�J/�����c���w�:�ETe��ͮ��z<��?%QY��;��Ř�N�z<Q,i �f�G��F�Ft�
�u
+)&��zt�{
x��������
�
��w3�c�O�E�R�v�!���`l��QQ>���t���{��<�iuWn��2z�
O���
c��b����F���?W�Ӟ򄁲`XM��C�Ǽ% ����G3Qa��	q�Yڛmmi^�@���Ǭ�Y#��q���Vq�L%0"-�6�VF�۰s���j	^X,%:2z��{�L"�$
��-��W+mY��i���<ʣy\��R����A��PH�&ؗ	|�}:�k Niw��>��>�`��Џ�y�Y[��F�Y at nUFv�-��u�$�{��
��.S(EKdL8�C թ��U'(*Z3��z��~H�����͌K$8�T
�ZW�p�E<� Sf͋�iu$�.E!jX��rEv)7�nOQ���i3�
+�7�5��tD�QY&
*%'�,��t�z�v^P��͗�-�IT��_m�yg�����7�ƨ~e��	��p��FBY-�Ӭ�lۈLO	�Jx~��5*'x
+`����|�ЀPҽ�i
+���t�g��v�(_��н>�R����A[�
r� @�$a���%#�۷uu?�PM%
��ma����9�FUwn?�}S��m�p�;у�Q�e�2m�d���B��~l9�Ȉ@*�b���	�&��z�
+�1N(_�χ����d �2�P
#x��y
%�ߺt��9���PG�їa�
+��E�`� 1�(`
+>f�i�������wCT��ā�G����{g:�觘N�p��gg�詘��
���IC$X���NW�"uŕ1ă�
U��g�xi�
��=K��]Ůn) �Y�-??�[�O�
�O�t=Ơc��@=}\t�2$�s7*�*U���jT
*EG9)�(��9XJ&�`�
)�&�
,�P��L����L��
੠ć���I1m鞼�x|2����$?7q��MFd�
�w>*�5�npz2"Hv�ryX|���Xq�kk�#eP��{����<�E��Wg$3Շ��x֝�q�j��
oϘ���=e4�{�v�^���ı̒$3 ��'I��\]$zZ_��w(
�t3��R��%�S*�T�0���V���ר��
Hq!�t�t
���esB�c�5很_fE�F�R���੗T���f�pp������!�5�vM�m}c������R?l5��-J7�u����Je)
��?�����hݘh���kWoFum�%4��:��ʧ���K�I�@qu��8��fB8�}w���Ί��8���:
���c_12
+endstream
+endobj
+6987 0 obj <<
+/Type /Page
+/Contents 6988 0 R
+/Resources 6986 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6984 0 R
+/Annots [ 6985 0 R ]
+>> endobj
+6985 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6989 0 obj <<
+/D [6987 0 R /XYZ 90 757.935 null]
+>> endobj
+6990 0 obj <<
+/D [6987 0 R /XYZ 90 733.028 null]
+>> endobj
+6991 0 obj <<
+/D [6987 0 R /XYZ 90 623.462 null]
+>> endobj
+6934 0 obj <<
+/D [6987 0 R /XYZ 90 601.151 null]
+>> endobj
+6992 0 obj <<
+/D [6987 0 R /XYZ 90 601.151 null]
+>> endobj
+6935 0 obj <<
+/D [6987 0 R /XYZ 90 527.56 null]
+>> endobj
+6993 0 obj <<
+/D [6987 0 R /XYZ 90 513.622 null]
+>> endobj
+6936 0 obj <<
+/D [6987 0 R /XYZ 90 442.069 null]
+>> endobj
+6994 0 obj <<
+/D [6987 0 R /XYZ 90 428.131 null]
+>> endobj
+6937 0 obj <<
+/D [6987 0 R /XYZ 90 356.578 null]
+>> endobj
+6995 0 obj <<
+/D [6987 0 R /XYZ 90 342.641 null]
+>> endobj
+6938 0 obj <<
+/D [6987 0 R /XYZ 90 271.088 null]
+>> endobj
+6996 0 obj <<
+/D [6987 0 R /XYZ 90 257.15 null]
+>> endobj
+1409 0 obj <<
+/D [6987 0 R /XYZ 90 140.029 null]
+>> endobj
+250 0 obj <<
+/D [6987 0 R /XYZ 90 131.251 null]
+>> endobj
+6986 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F11 446 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7027 0 obj <<
+/Length 1324      
+/Filter /FlateDecode
+>>
+stream
+x��Y�n�6}�W(�Z at E�"��v�&�mM�)Y�L�Be�+�	��
��d˲�\
�}0t�h8<gf8Cbcf`��q�\����P�N
�C��N��>����E0��+��~�.�ѕIq?��s1I���8
����eMF�B�4ȓtt��r�0-�q��8�2u{-�"5��2��zpK=��:���m���#`6Hi
w�˸.z�_�1���
�����°)�kl�����y�ּ(C��j^�E2�WQ�:� dC�3�~�T[��&ۯ����
zG

��~V�ِ�|لq�Cm%�I�E�Y��"�iD�/{�m	"p�5
<�)P�60�s�$
�����/�m}ٲ�8�f�aQ��
+�;Jyk4���%�g&2�GQ�,�RҾ���!�]R`(�ȷ5��r�B_	U��|�^|/�S�.ن�&Su��7���Z<g������l�gʶ��8�B���X�+[.V2�#��Ũw�\��
�-�
+[�0��#������i��s��6]�0�i1 o\$�UOtN4]b���(y{�*k!�����>�������^B��
����Fr�<��@��yI���x��2����=��7�if�H�X�Z��C
����2����$Z�A����Rt}��؋�b[����6�F�G*Z@��8�;�~>s�a�2��;�e/!���d.�)aI��k��I�&!��lp�R��C�S�0w�����s�h=�����㵠9���
v�d�4��&n�~��~Ȳh&!7襺0�I#o���u/L�2�h+����&�ֵ�W�l����[)���^�u�Yګ�:t I���o�d���(f
��F�4�GYG���������3�0�����'���p�� =E�y-����8n�ph���������OvV�@�.!yV5
��-'�u�'�oO"$��H�w\�~*
��� \G��y69"Z�Ǣ��V���>�,�8r|rlU�C5Ӱ, D���x=�\5]ceR��U�i)�DL��qEq�S��) a�:�ab������?�ݓ��c�]���]����x��u�
�:Y�,F]�����^p�5�0�{�9�E
��-��$�{�j�OTw��s�
�a��
4N�Q�+��¥�䁿�
��k��[v�M�L^ow�p�\Ǝ#�s�y�cQX5���b��5
��xǞj��0M�.dru��}ĹN#�*��S�X

�G}>�
�����y�_�
+t�\L�P%ҦbG#�
����U�����Q����^k�G�7�y�<



P�����)���rv7�7�@@�M#3�j�E��*���EPl��6���5��
+endstream
+endobj
+7026 0 obj <<
+/Type /Page
+/Contents 7027 0 R
+/Resources 7025 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6984 0 R
+/Annots [ 6997 0 R 6998 0 R 6999 0 R 7000 0 R 7001 0 R 7002 0 R 7003 0 R 7004 0 R 7005 0 R 7006 0 R 7007 0 R 7008 0 R 7009 0 R 7010 0 R 7011 0 R 7012 0 R 7013 0 R 7014 0 R 7015 0 R 7016 0 R 7017 0 R 7018 0 R 7019 0 R 7020 0 R 7024 0 R ]
+>> endobj
+6997 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [121.93 702.288 309.156 713.192]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+6998 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 648.405 192.544 658.332]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
+>> endobj
+6999 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 566.666 213.297 577.57]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a6c21214d11e4dc9738dad1f72501a286) >>
+>> endobj
+7000 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 527.811 213.297 538.715]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a642db539e09ba9a9746d490390097d73) >>
+>> endobj
+7001 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.634 527.811 305.699 538.715]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+7002 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 488.957 213.297 499.861]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a72f8cca084e83cace83223ea0ea42bca) >>
+>> endobj
+7003 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.112 488.957 282.755 499.861]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+7004 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 450.103 213.297 461.007]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a998804f094e131a7f06d05c6e9eb5f5c) >>
+>> endobj
+7005 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.634 450.103 340.02 461.007]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+7006 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 411.249 221.045 422.152]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a8f29bc3aa01b8f5c67a3323189f9cf9e) >>
+>> endobj
+7007 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 372.394 213.297 383.298]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+7008 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.036 372.394 264.843 383.298]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a8a0c95f43fd48c07a63db5efa3564769) >>
+>> endobj
+7009 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [292.18 372.394 391.566 383.298]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+7010 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 333.54 179.554 344.444]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+7011 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 333.54 250.666 344.444]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_ac485f37c083be7bc0238a3f5c6c112e3) >>
+>> endobj
+7012 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 295.059 155.265 305.59]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a023dc725ab60578fb2161f06211fa023) >>
+>> endobj
+7013 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 255.831 158.044 266.735]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a465d046e2570dea82e57ab6af9b179e9) >>
+>> endobj
+7014 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.382 255.831 250.447 266.735]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+7015 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 216.977 199.947 227.881]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a2d0bc3adc78e64aafdab0dd9a292db1f) >>
+>> endobj
+7016 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.763 216.977 268.828 227.881]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+7017 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 178.123 199.947 189.027]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_aa2e9eec4ddeaf5dca3afa1976d36b703) >>
+>> endobj
+7018 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.763 178.123 303.149 189.027]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+7019 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 139.268 161.013 150.172]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a9e847f0bfafeac6438cecb2d2114e665) >>
+>> endobj
+7020 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 100.414 195.165 111.318]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_ace4c05e99016850c16c2bdaff5914afd) >>
+>> endobj
+7024 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7028 0 obj <<
+/D [7026 0 R /XYZ 90 757.935 null]
+>> endobj
+7029 0 obj <<
+/D [7026 0 R /XYZ 90 666.402 null]
+>> endobj
+7030 0 obj <<
+/D [7026 0 R /XYZ 90 585.64 null]
+>> endobj
+7031 0 obj <<
+/D [7026 0 R /XYZ 90 585.64 null]
+>> endobj
+7032 0 obj <<
+/D [7026 0 R /XYZ 90 546.905 null]
+>> endobj
+7033 0 obj <<
+/D [7026 0 R /XYZ 90 508.05 null]
+>> endobj
+7034 0 obj <<
+/D [7026 0 R /XYZ 90 469.196 null]
+>> endobj
+7035 0 obj <<
+/D [7026 0 R /XYZ 90 430.342 null]
+>> endobj
+7036 0 obj <<
+/D [7026 0 R /XYZ 90 391.488 null]
+>> endobj
+7037 0 obj <<
+/D [7026 0 R /XYZ 90 352.633 null]
+>> endobj
+7038 0 obj <<
+/D [7026 0 R /XYZ 90 313.779 null]
+>> endobj
+7039 0 obj <<
+/D [7026 0 R /XYZ 90 236.07 null]
+>> endobj
+7040 0 obj <<
+/D [7026 0 R /XYZ 90 197.216 null]
+>> endobj
+7041 0 obj <<
+/D [7026 0 R /XYZ 90 158.362 null]
+>> endobj
+7042 0 obj <<
+/D [7026 0 R /XYZ 90 119.508 null]
+>> endobj
+7025 0 obj <<
+/Font << /F70 402 0 R /F72 404 0 R /F11 446 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F23 368 0 R /F107 2332 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7073 0 obj <<
+/Length 1503      
+/Filter /FlateDecode
+>>
+stream
+x��YIs�6��W�R3�A����Ɠ&���;=$
LB6'������>��в��K.�������ػ�w:��b0~ñ��$��w1��� F�w�y}�M�#�1�φ�Bbr6�دf�k�)1y�_*��''�*�&���J4���/u#��2쿞	���9�jHb_��
�x
�4���/~
�r1�:  �H+
��K���������
FA{�vT�4���;�1�N�ݫ�3�b�3
+���&�
����~��\�����\�V"+��r2}8
x�iU�f�7F���x��UWy���[�Z/7���1UV���̃Ap�(!�iG�S���M�74�$@
Z%��\�Q[���
@s�r�dY�meQ7��}�W �Z�ZQ^�wjp_6C�w�N	�Q�fd��F4�P���A	K:��H��>8��p�h���u��E<
Q����P���R�k#�7����1�zl��
��u�v�*NH�$
�c!�0��g
d�0�,/d��4�Z�>�(P΋�����
�$X� ��^{_M�U
C�W
7Ԉ����k��rgY݆�� ���_
%
+	
z0��C��Z�[�Z���(��R>�[i
������f�cڵГ6�>^ߧ� #�H�e�\ސe#�ʲZ!�b]Ζb��	��#�(��t�
�
AB���~- ҈�cAU:�V�Ee��s���lM�*-8��s=�_�b6�j�ko���U�kў�^,�)wz������;��$Ԫ��9��zVg�e��\���P���@E1b<�%ߙG��{�`��Z����WNm�}6�	�QC�*&��Q�^�E�k�
����췶i�o)�N�|�͋����KA���P-Q
%
�t����R�>�a�¦p����o�vśA��
$��r��z
-�QȒcx��$��?� �*�j��J7J
+׹��Od�
49�(}C�;��3��	�@�;Ž��V��؁�TW��JCD���n�^�$���� 1��L��0E|�aU����Ѧ����8�^��`����d��#�T��g����}����$�{���zD��흋>���~��4��xX�����z�������F5�䨭
�<��}s���^�˭���%�Ώ`�����}��m `A-�
&�J�Rٍ���p�N��-�3�=� �
G�{�V�7����G��Tj=��^��C	��u*f�w�������$;ԓ0F��{
`ڣ�D������j�qs�rr�l���o%qV
�|+��1�j������:�Y7�7���0~ꒉ1��Q��r��F������.D)��=��ko����VN�sC��1+'�h�r�X �8���{��|!����!r��e+�/��g!�xr�s�ݏ~,5�
�������A9�h�a�1� ��~֞ �B����}t_1�ßZ�L�t^�(�]
5,�f��J��
�1Vui�\v�� [...]
iIL�+�n��d<^,(�h^�By3���x
�
�	P����t�po
�e�6D�� ��P�>�
+endstream
+endobj
+7072 0 obj <<
+/Type /Page
+/Contents 7073 0 R
+/Resources 7071 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6984 0 R
+/Annots [ 7021 0 R 7022 0 R 7023 0 R 7044 0 R 7045 0 R 7046 0 R 7047 0 R 7048 0 R 7049 0 R 7050 0 R 7051 0 R 7052 0 R 7053 0 R 7054 0 R 7055 0 R 7056 0 R 7057 0 R 7058 0 R 7059 0 R 7060 0 R 7061 0 R 7062 0 R 7063 0 R 7064 0 R 7065 0 R 7070 0 R ]
+>> endobj
+7021 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.492 720.235 224.161 730.141]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
+>> endobj
+7022 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.215 709.945 209.885 719.182]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
+>> endobj
+7023 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 685.417 187.563 695.947]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_abba3cc93433c6564ba34c1fdd360bde9) >>
+>> endobj
+7044 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.482 670.422 271.151 680.328]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
+>> endobj
+7045 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 646.189 179.554 657.093]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+7046 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 646.189 223.857 657.093]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_aa09a1ddc7936a5377e838cb44610548e) >>
+>> endobj
+7047 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 607.334 179.554 618.238]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+7048 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 607.334 248.444 618.238]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_ac53b2bea17ae404e291cbcb7033dbaf2) >>
+>> endobj
+7049 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 568.48 179.554 579.384]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+7050 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 568.48 223.558 579.384]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a102ffa79248502b4998a70fba5f13d98) >>
+>> endobj
+7051 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 529.626 178.727 540.53]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a8cf170e729ac4e4576624d6ed7d4b44d) >>
+>> endobj
+7052 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 490.772 182.044 501.675]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a494a5dcf815a292978b1864d2d7f77ae) >>
+>> endobj
+7053 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.381 490.772 308.768 501.675]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+7054 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 452.291 150.493 462.821]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a6a5f64baba3ae5704d9645db684434d3) >>
+>> endobj
+7055 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 413.063 181.845 423.967]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_ac5764ede75697ec70757c5e208945ca2) >>
+>> endobj
+7056 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 374.209 181.845 385.113]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a3ddc697f9236b117382c35d7f7da5419) >>
+>> endobj
+7057 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 335.354 154.727 346.258]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_adfc60b971ed974350d241482f15f46ac) >>
+>> endobj
+7058 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 296.874 176.505 307.404]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a63fd965105d740ff7003037964ec7d10) >>
+>> endobj
+7059 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 281.879 450.955 291.785]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a3ddc697f9236b117382c35d7f7da5419) >>
+>> endobj
+7060 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 246.687 191.718 257.591]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+7061 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 246.687 288.852 257.591]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a1f0983add75d3a9c3663fbf925739212) >>
+>> endobj
+7062 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 207.833 191.718 218.737]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+7063 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 207.833 303.079 218.737]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a4254da492e5eeb1c12d8d87b997cd229) >>
+>> endobj
+7064 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 168.978 156.281 179.882]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_aa8e33c8dd37c45144bf92a6984c7706a) >>
+>> endobj
+7065 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 168.978 259.483 179.882]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+7070 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7074 0 obj <<
+/D [7072 0 R /XYZ 90 757.935 null]
+>> endobj
+7075 0 obj <<
+/D [7072 0 R /XYZ 90 704.136 null]
+>> endobj
+7076 0 obj <<
+/D [7072 0 R /XYZ 90 665.282 null]
+>> endobj
+7077 0 obj <<
+/D [7072 0 R /XYZ 90 626.428 null]
+>> endobj
+7078 0 obj <<
+/D [7072 0 R /XYZ 90 587.573 null]
+>> endobj
+7079 0 obj <<
+/D [7072 0 R /XYZ 90 548.719 null]
+>> endobj
+7080 0 obj <<
+/D [7072 0 R /XYZ 90 509.865 null]
+>> endobj
+7081 0 obj <<
+/D [7072 0 R /XYZ 90 432.156 null]
+>> endobj
+7082 0 obj <<
+/D [7072 0 R /XYZ 90 393.302 null]
+>> endobj
+7083 0 obj <<
+/D [7072 0 R /XYZ 90 354.448 null]
+>> endobj
+7084 0 obj <<
+/D [7072 0 R /XYZ 90 265.78 null]
+>> endobj
+7085 0 obj <<
+/D [7072 0 R /XYZ 90 226.926 null]
+>> endobj
+7086 0 obj <<
+/D [7072 0 R /XYZ 90 188.072 null]
+>> endobj
+7071 0 obj <<
+/Font << /F70 402 0 R /F79 505 0 R /F97 1188 0 R /F56 367 0 R /F107 2332 0 R /F106 2337 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7104 0 obj <<
+/Length 1832      
+/Filter /FlateDecode
+>>
+stream
+x��XYs�6~���SK�T0�j�&q���n��d4�YHy��,+�����dJQ���A#X,��o�;���9�����"�
e1��녓�Nc�\��{��d������Ҷ��w
�ݺ�,Y��������f:}��|��U���ngW�N�қ��w_����%[��é˪9�&I
+�$ͼ��o�^_��s�A6��J�(AI9����G��a��� K���*���_8Wg���G�"��H�u%��s-л�Ma�a�
H��/V�\��h���E��A�LAa�h��v�8�'�ӗ�
�a{kT�T4�Ҝ����֙�4l���3%��u
��Yz�zI���|��=�V�$sRP+�Z�N
g�C��Q뒉U[/�%���\7+)�]E�+=��6t<
���QdN
�%���hT�>�X� "���4uߝ�{�ׅW\pZ���)��c�}�s�c���c����
k9/�0[�ߦ�C������|>���)>[U�#x�	�:��
�n
&l6w��b����uUl�6٧S�M�S��Լ�����f�z?	2�CY	,�̹h9��G��7u]
׳n�ǟ??�G
��� "7��1���E�
�a�뾦�i�]���1�D|a:I�MW���a�R�9}?�?A1!�@�}�G(�z6������59�sVA���i���p'f/YA�G �^���!
+��-ׯ�`6����3��5Um6��Yػ��
�\-�p�T��i݉�QS/�9-i�����{�={v4��������{����N͙I��\��4��D�2
�ư5��?!��rK�$��n���f��ڔV>x^���N�
�.�uQ�^4�g��a,͍Q�~�u|]M��$��W
�[�6R����F���n����;]p�'���(�+1j�C�
y�4��V�W����f�8^s^��p�
B��
�v
�5O�� �&���/*�Q�|bsa������sG�3<5?��w�9�w{*��*x��C���bn�*��o���W�u�Eb���/i$��=P
(d��b����--�`��U�MxP�J�(���k�*�ū��B#9xU�˲0�]Y������I�
i؏�I�
	�1݁��J�%U�R�t��Zu��I���7�L��]2L����'�=m�
�)gjf��W��$�,�ہI�ҝ�1�Ӻ5;RMi�$U� �����9
3�+���z��K���R�h%���PP�X�Մ���
�*g*O	�XNM�b�K&1�Y,��ue�T�LA�>a�g�,#9u��8F��1�u��{�S�$��[5Mm#�ս���kMi��}�u��.6��C�
RR�`�€�
Qv@�8�=̙s��*��z+AG��� S;�*`�3��pqO˦��+7m��w(
����-����m9�)lI���	
+�h��n���w�K��$ك�G�X89�!���uQ�R�u7=Ԭ��,�/X�a�=c�f�i��&14�{
jH���D2Ec��i���=�#I�H*��3��^Ҋࣨ3�  ��md^KPN�Pq
!���lZ�u�U�C�J'����ߙ�]��m��W�i�aw�F 5I���@�1��D﹑O�4� 
+��H%ZYF$�K�
+�q��X4�S��_$�,�2�δ�P� 0Q�#�K�N
�S��p9�/l*
Q$��o@�����c�Z8=�˳��
�m���(
D���l��y�U�4�_��n���6�i����H�
�n?��P�mc�~��7��ߎ}�Ig�VZ����~�Z
+�L����5�whU�E\�7Mq�0�\$�݂�Em�ɲ�ŁW�([}]�}��
&6�
+endstream
+endobj
+7103 0 obj <<
+/Type /Page
+/Contents 7104 0 R
+/Resources 7102 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6984 0 R
+/Annots [ 7066 0 R 7067 0 R 7068 0 R 7069 0 R 7087 0 R 7088 0 R 7089 0 R 7090 0 R 7091 0 R 7092 0 R 7093 0 R 7094 0 R 7095 0 R 7096 0 R 7097 0 R 7098 0 R 7113 0 R 7099 0 R 7100 0 R 7101 0 R ]
+>> endobj
+7066 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 697.455 203.075 708.359]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+7067 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 697.455 296.324 708.359]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a8530a0719104225bd022dbe9529ae527) >>
+>> endobj
+7068 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.005 683.042 367.019 692.947]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+7069 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 659.389 194.297 669.92]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a62e7b71f72659356d1d732236ed5f330) >>
+>> endobj
+7087 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 620.95 188.759 631.48]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a864a52992178820135a7ae3a75e65377) >>
+>> endobj
+7088 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.953 582.137 260.339 593.041]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+7089 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [271.079 582.137 333.146 593.041]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a90e26e60ccfbe3c6ab8d91b5bf06dab5) >>
+>> endobj
+7090 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [290.965 567.724 419.427 577.629]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_af00dd6aeffc847b73a3aee11d6d169b6) >>
+>> endobj
+7091 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 501.976 180.54 512.88]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_ae64d3d01d4baab5102f00046f941188f) >>
+>> endobj
+7092 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 501.976 307.263 512.88]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+7093 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [348.996 501.976 448.383 512.88]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+7094 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 395.16 226.034 406.064]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a8e247a33c9eb40439c706a98c5d363d0) >>
+>> endobj
+7095 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 395.16 420.562 406.064]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+7096 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.325 356.721 166.691 367.624]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_ad85c523fefc56e289bd9fdf878bb339a) >>
+>> endobj
+7097 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.917 356.721 391.386 367.624]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+7098 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.021 356.721 513.996 367.624]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+7113 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 344.765 248.713 355.669]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+7099 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.169 262.713 392.556 273.617]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+7100 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [235.156 250.758 300.222 261.662]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+7101 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7105 0 obj <<
+/D [7103 0 R /XYZ 90 757.935 null]
+>> endobj
+7106 0 obj <<
+/D [7103 0 R /XYZ 90 716.221 null]
+>> endobj
+7107 0 obj <<
+/D [7103 0 R /XYZ 90 716.221 null]
+>> endobj
+7108 0 obj <<
+/D [7103 0 R /XYZ 90 677.901 null]
+>> endobj
+7109 0 obj <<
+/D [7103 0 R /XYZ 90 639.462 null]
+>> endobj
+7110 0 obj <<
+/D [7103 0 R /XYZ 90 601.023 null]
+>> endobj
+7111 0 obj <<
+/D [7103 0 R /XYZ 90 520.743 null]
+>> endobj
+7112 0 obj <<
+/D [7103 0 R /XYZ 90 440.582 null]
+>> endobj
+7114 0 obj <<
+/D [7103 0 R /XYZ 90 307.84 null]
+>> endobj
+7102 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F11 446 0 R /F72 404 0 R /F31 506 0 R /F7 541 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7121 0 obj <<
+/Length 2457      
+/Filter /FlateDecode
+>>
+stream
+x��Z�s��_��R�	�?}Ӈ���4m3I�}J37�Il)R!����w��ђ�ܤ6�%�X,v�]�z�z�n�����.�^J҈G���K�G���y�����(��b�(���
F���e~\p����V�M���C�5Oww�"��NV�ɺ�������n��!��Zfm�͟�Z6
���Z��2N��S������o�o~�a ���%�I,Bo����W��@�ޣD��wԣv^�<K���O7��k��}r/&iL��'c1�q��\���g�`����-SDNش��Z�t��!ݨ�eQI�y�i_�Co�LI2o�`f�?�7��
�O���?���wa48�%�$��%
H����+h�Y��V�g����G�O�~�-�8�;5�^#mc��"}U7�l�u��I]mXWؗ�}��$�}�ȃ\e�V�)[���A;��f�ce8���r�a��}�tE��1"�NQud�
�ؿ_$`�H�A�k������'���9��m��4�~�fLm�J<
�g!#�HAj-���q�����c�*-E�?yWZ�J�<-�2������uY�

�G��Q�:��:n���h����!�F���2���e��V����>��ﴋN}k�X`�pvh��9/��T�8
	�!:F0��U�_�
��]3��[	�A8v��E�:UO^�d�ue��X�
�z�u�*+�'C��s ST�1��ك�������f;Ӓk5s-W/?��S9W����q�����2z �U]uM�v�)��5��s�s��� 琦�����].
+�⨮��P斣���b�C�4~ �D���>k�4eiV�{)f� �$��9<HH"���')�"V�"�0�m����N�@rN�cFw��AN$��A
3��)��<�����؋��Dby�� 3p�c`��Bi(`_�(���c@
|�|�TLX:Z�Ϩd�G+�k�4-H̃/�V�G�g&���j�	:���&�����>f�}i̅O�T��,�G�О�64*N 
+H������P�*6P}uUP��]E�7
<��.2�w���J?��J�� �-��
�\�)'s��r�
8�
&�
�hFP��ޫN�$�S���n̒�wc�'$�*�зpk`����Z<�v����y8ly�
��zY�P%
;}$�Rx2�����8	
L 
�b�H� 6���.���CDF�Xp
"@����B�h)>�&�V5F���Q`M$V�<�IDhN�I���I�����V�ݝ2���a�0`�ϓ�J:!
cs�I6:ƷWa
S���������|'��Fu-�d'���y�38
\�瓭Y`��
+X�
#_.�`g�Y��!F�3�-0��0Û
����!h#`��	�
S�?���pK�5�ox���'5�����
�����X��� -�E��n
F�
��ur��k at 6H�
ʮpj�
rm�
�c�O󛋦��
��	��$$$J����Oq�����*�?!!x)$|�5�C�94
0��T%��:��<�B�E�ά`�u9E�y<�N�A�e8�SEB�V����t�e09���\N�k{�h ��E}��"�{�_���b���C�I|g�-�� u�&jJW�0�u�J	�'��ʼ�
�U���8`nc�����?4{�#=@���d^�,�
)��q
��BU�����'bc���n9�@iB
�Xӻ@O����]�f�cW
�\�Rv�$-2X7�n�L/��4fN
/��i|V�.jܴ3!5`l� 
+4?�—$�{6l���pK]�
Ɛ
+BZ>J?C=��\��Q,gE�$���
�$�W�)n?�ב��T�/�ց��|D`�V�.^c`�I���@��|b7��2��C,�.�0>8W�	/�l.c�O3����$c�1c��u�
O2�x�1�q��i.@�TH�
d���1�&b�M��
M����IF��d�/Ô�tU�Ӕ����i�v\;I�+�~5�B�\�����}
�/j��l%S]]�[��f�!�l�^]2�\
M(I��k&$��ϟ�O����:#t`��V�ψ��Ёc	g�:��� C�|�F���#�I���SE��r+;$j��V��V��$��WV|�(�ʠ<t�9��:4���;��C�|�;�e�s3Zy:��h�3� =f�n��
��`c۫z��a��� 
S
���8�jd����ro~�}(P07^�A���Ұ��SAs��v(>f����"�
F�n=T4���5��X	T
���^ |V��C	Y��

�$H�q��h��}1��:2UY��W��g5Ey������I���
~�`�@���i�J
�:�a_B��9�,��P�f���j
�OY%�ɵ?,�? �3�AX���
��P�H&�?�1]�+욟�`�_�{Z��ot�Ϭ:X=+m�z���T��`�
��7��^Z��}�׳��#��Ҳ���������x$��
�bߐ������S,p��(f��� vu_y�NW�N��?�w*�
+endstream
+endobj
+7120 0 obj <<
+/Type /Page
+/Contents 7121 0 R
+/Resources 7119 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6984 0 R
+/Annots [ 7118 0 R ]
+>> endobj
+7118 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7122 0 obj <<
+/D [7120 0 R /XYZ 90 757.935 null]
+>> endobj
+7119 0 obj <<
+/Font << /F70 402 0 R /F72 404 0 R /F56 367 0 R /F11 446 0 R /F8 540 0 R /F7 541 0 R /F23 368 0 R /F31 506 0 R /F1 580 0 R /F79 505 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7130 0 obj <<
+/Length 1800      
+/Filter /FlateDecode
+>>
+stream
+x��XKs�F�ﯠrpv���y J����e�R*ťB0+Qaald�ק��=��!'`fz����kpt����dz��I���1���M��(�	�DgEt�$�t�&����ˬ�fW/���Zmv�l�����u[�U�ڬoڋ�ۮW�՚
+�|Ue]gn?��jWD.U���:�pKS��|�v�����pD�-"A	Q�]��Q�o#�X*�=kq��ZE��_��sQ�p,F�BԞ��^�Mڼ�}��eS����|�Uu��!0�_S�O'
!b��{pRS�5#��.;>.�N����X��^�c*�ySw�6�'���ׄ�T�#M�2�f��e#_H�88�Ϯ̔����	�?1sD<��&��D�h������o��6�e�7�K���%��hy̬	t<	���9�u�L�1��O�̦y��~k��������\y��3刲x�ɎN�=�ҝ2oU֕��l�z@����e�}]� �`�e��J�@:�k�H�t�A1��~�	�e�.��	��4p��eVU믪m��.k����p�z|6��ԕ�p6��*���:p�}�ܧYo�:����u7�ŀv�� �
2����WA4M���J
+n�$ڿ�/�<
^(��� , �PN:%3Og�MS;��?~1��ыj�fihf=�R��k��9�6�l�$e��kRv�Y�#s��z;�5u9����I�����f
	�x(�{u���B�CZ�M�q
��BRp�e�QY̧��
�%�;UY��we��qy
٫���
A.�W7��ڼ�n����c�[bv�G�
ٔ�����O�ѹ�����,��<�գ1�������]��RC�U����m�٠�-,�О
�������b�Ċ��XY���E�d����
B�]_@��z#���y,���N#��ce\Ĉ$�4u߁}�ʉ�
�	����
�̔����՛7�U�Vu^Z����x�6�>�X����� b�Z췻a
��|	~|a�
��5���I"��T��O�(�O�v�H��Y�"����Gy޴�`�X <A���m�q<}�
$���n���6��e`a 5�=%n��
�
y2
+p��ޔ�r�%� ��<ǻ��+��"ɖ۬o�/fP�$�z�f'ﭼ���;j�U7��9ֳ�&�p�7�~[�Q at Eaf��!�)'�{���X�^&��e]�%P��FPp�R"���7:�Y���Ztl>��V�Y�,]��ow�`ǻ+F��������Z��=v�D�~(4
2���'B�cBwt~Җ�.�K~p.���̛��n��n�
;c���������'��@�p!��@��2�B�AX<���'��3�
 
Q���`'�1�[�
�V!HRϙ�
��!ޔ�LW�� ��Y
���蔛0W�Z�/��]�:X!1�6�}t'���X�Yn@&�,�*0�*�J9R
b�/�6fdl� �b��}B�D��5
x���3��E���Mƽ�8�?���k��)*��L���f	��L�	t�b	�I��
+���w���ЅB�e�
��-����!�'T�%�,�
@S2��d‘��&F�K���N�p��'tلbm,�s
���R4I��bS�C�gB<Sq�+�P
?|.�q������Ҷ�m��t��tj��2#0�b�KK5��_KߠI���
���O�9��¹�a��)���
+�
+�GW�ͣ����N����U�}V������a)Pi��bDȐ7Vޞ*e�h��g��~Y�@
�%��8�e��w�GG777(�о.w-*��ݮ:�8mvf M�!���6�Uk����� @���
+endstream
+endobj
+7129 0 obj <<
+/Type /Page
+/Contents 7130 0 R
+/Resources 7128 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7140 0 R
+/Annots [ 7123 0 R 7135 0 R 7124 0 R 7125 0 R 7126 0 R 7127 0 R ]
+>> endobj
+7123 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [485.444 520.262 513.996 531.166]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+7135 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 510.365 130.826 519.211]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+7124 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.445 490.683 363.671 501.587]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a6b57cf93153051d3aa63c33e34ee4127) >>
+>> endobj
+7125 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [310.804 404.56 445.257 415.463]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a3ddc697f9236b117382c35d7f7da5419) >>
+>> endobj
+7126 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.445 345.4 363.671 356.304]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a37abf9e26c109cf608ec7829284883ec) >>
+>> endobj
+7127 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7131 0 obj <<
+/D [7129 0 R /XYZ 90 757.935 null]
+>> endobj
+7132 0 obj <<
+/D [7129 0 R /XYZ 90 733.028 null]
+>> endobj
+7043 0 obj <<
+/D [7129 0 R /XYZ 90 716.221 null]
+>> endobj
+7133 0 obj <<
+/D [7129 0 R /XYZ 90 716.221 null]
+>> endobj
+5915 0 obj <<
+/D [7129 0 R /XYZ 195.633 615.208 null]
+>> endobj
+7134 0 obj <<
+/D [7129 0 R /XYZ 90 598.481 null]
+>> endobj
+5936 0 obj <<
+/D [7129 0 R /XYZ 90 491.679 null]
+>> endobj
+7136 0 obj <<
+/D [7129 0 R /XYZ 90 477.109 null]
+>> endobj
+7137 0 obj <<
+/D [7129 0 R /XYZ 90 331.826 null]
+>> endobj
+7115 0 obj <<
+/D [7129 0 R /XYZ 90 309.515 null]
+>> endobj
+7138 0 obj <<
+/D [7129 0 R /XYZ 90 309.515 null]
+>> endobj
+7116 0 obj <<
+/D [7129 0 R /XYZ 90 235.924 null]
+>> endobj
+7139 0 obj <<
+/D [7129 0 R /XYZ 90 221.354 null]
+>> endobj
+7117 0 obj <<
+/D [7129 0 R /XYZ 121.143 122.378 null]
+>> endobj
+7128 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F104 2229 0 R /F11 446 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7157 0 obj <<
+/Length 1283      
+/Filter /FlateDecode
+>>
+stream
+x��X�n�6}�W(����&)R�(ЦM�.�nܧ$0����VI^���EJ�d%�f�)Z�ɲ4
��9s!�qo`�b��r2;w��#ߡ���3|l�A�cW&���֔`�ͅE��i�ZX�y�[��
V�ķeP��󷮿:e
_cLà֔rl�%AU���N��L����;&��u�|7�i9�cB�0l���"��F�N�n���w��{ƶ�J
Fm�M��ɯ��S�F��S�G6��c�cy
YS����|��5����Ӯ_�q���(�:/W������F:7;��L���\�����F	�̞ژ �l�|���)2���Pf#�݈֔%>b����aB`�Gi+uU��(Q��
#aʌ)�\[��,DI����	�`
s�j�Wu4�7@
k�6r�"ZI	� ���u�Cu$�kM�(7��ꠎ�L���K�P�c��pO�m���s�B-"����v�h�%InQnn��^����y����q�=���6��/u5��٢H�z�a�B��jl���B
c��	�l�ݿ���&ݸ��߫:�|<�� �,�đȺh�"�Ź|@
���8
�M�
Z<D�oGtAM���!
+==6G�>���n�E�@r�_[քX�|ڎ$9�$��r������.���<-�R��t����!T
ؚQ�)C>c=��
Jiٮ�rS6@��y�Fm8*�>��>-��ދ�m�J�{��
+M��Mʔ>=���x�FOF�8U0�d縭�ω��.�$u�D
+V�/!�DO ׯ��zh�>y��f�
���C����H���s��^���0uz�
ġ
��v�ȂT'���F�c��D#H
]t}ȧA�<�&��I�i�S�Јk��;��5���H�b|Զ
+`����#J��R�]�g	���O��#��
!_,#T��M
ݛ�p�(�`Ʋ�_�?��I���>�b�Zo����b��W�1LR�#��
�Z��m�L/���Ra!�Oq�
‘��jO��r����q�M�z`����)�Ն{Jw}��6�O{��ʽ�(ڞ+	>,�6
��}nc{��3��.,͉���CZ�m\�Ok#�C��Ÿ��ݰ���K�l-�^o��_�Gy�z�������r��cx��;N��k�߀]�����������"�ꁮ�����J�_��
��٦=hJN�;��+�"I��hw)Z:*�~7ڧ�'�o�
���]5�뺘�f����dqQ�����v\�� �\��3�K�}��˴�s����Z�;�
+endstream
+endobj
+7156 0 obj <<
+/Type /Page
+/Contents 7157 0 R
+/Resources 7155 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7140 0 R
+/Annots [ 7141 0 R 7142 0 R 7143 0 R 7144 0 R 7145 0 R 7146 0 R 7147 0 R 7148 0 R 7149 0 R 7150 0 R 7151 0 R 7152 0 R 7153 0 R 7154 0 R ]
+>> endobj
+7141 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 491.744 177.053 502.648]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare) >>
+>> endobj
+7142 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 411.356 179.543 421.886]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_a061c4c3b4f1eef970794b274dae62504) >>
+>> endobj
+7143 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 360.172 179.543 371.076]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_a51b29c5dffc073c2d350471ae9bb879f) >>
+>> endobj
+7144 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 321.318 179.543 332.222]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_ab8bee5e53740adc193668686030bb4bb) >>
+>> endobj
+7145 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.881 321.318 254.811 332.222]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+7146 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 282.464 179.543 293.368]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_aab939414cdbcf1ba174334859443a72c) >>
+>> endobj
+7147 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.881 282.464 272.514 293.368]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
+>> endobj
+7148 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 243.983 187.292 254.514]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_a517f4965fd423413531cd1d2058748de) >>
+>> endobj
+7149 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 204.755 163.215 215.659]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_a7e6d252ce9557b9d73833ef594f6276b) >>
+>> endobj
+7150 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.552 204.755 256.185 215.659]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
+>> endobj
+7151 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 153.946 163.215 164.85]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_aefeb88699fb82bb331a2d24ce724bb07) >>
+>> endobj
+7152 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 115.092 163.215 125.995]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_a553c3b19a36235d228039a6bb3452918) >>
+>> endobj
+7153 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.552 115.092 238.482 125.995]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+7154 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7158 0 obj <<
+/D [7156 0 R /XYZ 90 757.935 null]
+>> endobj
+7159 0 obj <<
+/D [7156 0 R /XYZ 90 733.028 null]
+>> endobj
+938 0 obj <<
+/D [7156 0 R /XYZ 90 615.791 null]
+>> endobj
+254 0 obj <<
+/D [7156 0 R /XYZ 90 609.191 null]
+>> endobj
+7160 0 obj <<
+/D [7156 0 R /XYZ 90 510.718 null]
+>> endobj
+7161 0 obj <<
+/D [7156 0 R /XYZ 90 429.956 null]
+>> endobj
+7162 0 obj <<
+/D [7156 0 R /XYZ 90 429.956 null]
+>> endobj
+7163 0 obj <<
+/D [7156 0 R /XYZ 90 391.221 null]
+>> endobj
+7164 0 obj <<
+/D [7156 0 R /XYZ 90 340.411 null]
+>> endobj
+7165 0 obj <<
+/D [7156 0 R /XYZ 90 301.557 null]
+>> endobj
+7166 0 obj <<
+/D [7156 0 R /XYZ 90 262.703 null]
+>> endobj
+7167 0 obj <<
+/D [7156 0 R /XYZ 90 184.994 null]
+>> endobj
+7168 0 obj <<
+/D [7156 0 R /XYZ 90 134.185 null]
+>> endobj
+7155 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F11 446 0 R /F79 505 0 R /F38 2120 0 R /F97 1188 0 R /F23 368 0 R /F107 2332 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7184 0 obj <<
+/Length 1821      
+/Filter /FlateDecode
+>>
+stream
+x��X]o�6}��0����!)R�a@��k�u���e]a(2

�W%����w)�����Y
��Xy�{Ͻ�

+;wv~�]���^��Hx�sn6�����)qn�·9��%�%�ϯ��2
WW
��yr��u�~�o˰<����jY�I_������۳W�t�@ �a���zF��#u��q��5_p>�XR��o�͂�y>a��&�]��	��N�Lª�Fo��eZ$a-�ȵ�(g���"5D1�S�*���nf�g�`�4!�>�]�D���G�a�����of��.�O����g���Sa�Ï�६�8�k}����ʸ��<ӎr�c	;Kʐ˄6��6�`.k��s�ݝqO�y$�:�
c� ��M^�w�֌���
��k��ٝ
�
Y�5���b��_�ދ����XX����G�s=gU
fu��*�A��0��AL.^��]�sS��T��Wɘ���p�����6�k�N�;
���:g�蠨�v�fil3�țmeY����0�P�;��K��� 4y��n��kw;kz� �X@(�)����3��Zy�x�a
y
��	Wbwk�[m>�
�YUQ�w�:��9
6� �겗e]���h�d�����ҥ��-
j
+�Lo���.����E�G�Tfuh��F��h[bq�@�&;�Xߗ��(O�Ps�2� /8^,9iШ���B=���3����v-a
���z
�~A�ƤM�x�K�#8i�`�GyW6��^P��W���7G�%�kY�J��Y5X
+;��uc�UЙ	����A&�fH�Nx>6���
O��[��H(?��
=kY�l}d��VBi�`�0m[
��59AO�Yo�j��C
��Ɔ۪4L��[���+?�4c6
�J��5'"
��A"��!�#6��RV���S���,9,<�yR�c�$1�
k^6�+���1�(��"x�߷(��z;a���b�[\f@
���7�����y�b� zʵ,���m
m�O�_��C�t7Sԧ_(�o��W?�8������Jݳjc�ݧ	3�
1��SL)�p�Nw�vny�
g�#�M���Q�5m�vqhm�E�V�)�tp�M�$�Ƕ�T�y��A��
��²)�|Щ�
�EQ$h�m9YG��e̸��61�@K�,����o,�;S���?��9�j�o?�@�ұ�>i�j෾��Ŋ]��%q�`�m]�=Ѧ� ��Ŭ=�
Ud�[��dUA��0I���|n�YUŷ��D
&�ĉUԿ���	�(�A�~gQ�[ˉ�w�/�!6�T��Rώ�bo�A?D:��Gݓ�ɠ}ĵ)�+E�:�Nd��yuVrJ�a#�LE\�n�8�Ƨ�Wu�l�%F��=Pb_����K�J�A1����㓫�]�V?;4R���#p��W
���Fe7�fPx����:�;�#�Ÿ��$�<
�QWH3��QϐJ
1Ԑ]+
��Fh��P.�P�iuk�)���"O�8�\Tu�+�
+8%��Na�_�y�X>�'�R��}P�7�V��Weo��@�>�#�FD���hDNA2~R*Ӽ<������|x�v�ʬ����սx��&����;���.o�R�	�%u{A՟�����e트�
0c�ST0�D"
W}p�D������ݤ����������Yؔ��s?�$��������H�]�{���C�N�~� ������@���5�f�\W�z��ԃ��k��6_Ma;O}��WS.��;E+{̣�>�� ��G%��,6y�.��
�
+���V���Q�!�0A����|�_�
��Y����%E��`[�����~�GQ�vY\�(��@��ETNJR�G�h�J��m5�`�ܧ�0�����
+endstream
+endobj
+7183 0 obj <<
+/Type /Page
+/Contents 7184 0 R
+/Resources 7182 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7140 0 R
+/Annots [ 7170 0 R 7171 0 R 7172 0 R 7173 0 R 7174 0 R 7175 0 R 7176 0 R 7177 0 R 7178 0 R 7181 0 R ]
+>> endobj
+7170 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.821 641.899 440.832 670.965]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
+>> endobj
+7171 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 242.372 156.281 253.276]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_ab5160fe536bd1bc8d42c12de33f40493) >>
+>> endobj
+7172 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 242.372 192.824 253.276]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+7173 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 203.518 244.38 214.422]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_afb730d60db4b7e1ddd4c9994ec077cf6) >>
+>> endobj
+7174 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 164.663 191.718 175.567]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+7175 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 164.663 288.852 175.567]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_a348c6523b219aee93545bb401dc0b813) >>
+>> endobj
+7176 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 125.809 191.718 136.713]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+7177 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 125.809 303.079 136.713]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_aaeb70a45d5ee0c7fac5f5d6c659fc69e) >>
+>> endobj
+7178 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 87.328 146.637 97.859]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_a479e61ba0938cd3303c57f1881d8f2ab) >>
+>> endobj
+7181 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7185 0 obj <<
+/D [7183 0 R /XYZ 90 757.935 null]
+>> endobj
+7186 0 obj <<
+/D [7183 0 R /XYZ 90 733.028 null]
+>> endobj
+7187 0 obj <<
+/D [7183 0 R /XYZ 90 628.325 null]
+>> endobj
+7169 0 obj <<
+/D [7183 0 R /XYZ 90 606.013 null]
+>> endobj
+7188 0 obj <<
+/D [7183 0 R /XYZ 90 606.013 null]
+>> endobj
+531 0 obj <<
+/D [7183 0 R /XYZ 90 397.99 null]
+>> endobj
+258 0 obj <<
+/D [7183 0 R /XYZ 90 391.39 null]
+>> endobj
+7189 0 obj <<
+/D [7183 0 R /XYZ 90 261.346 null]
+>> endobj
+7190 0 obj <<
+/D [7183 0 R /XYZ 90 261.346 null]
+>> endobj
+7191 0 obj <<
+/D [7183 0 R /XYZ 90 222.611 null]
+>> endobj
+7192 0 obj <<
+/D [7183 0 R /XYZ 90 183.757 null]
+>> endobj
+7193 0 obj <<
+/D [7183 0 R /XYZ 90 144.902 null]
+>> endobj
+7194 0 obj <<
+/D [7183 0 R /XYZ 90 106.048 null]
+>> endobj
+7182 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F100 1390 0 R /F23 368 0 R /F8 540 0 R /F72 404 0 R /F21 2359 0 R /F79 505 0 R /F107 2332 0 R /F97 1188 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7218 0 obj <<
+/Length 2012      
+/Filter /FlateDecode
+>>
+stream
+x��Ys�6���+��R3���<��4�8���q�����h�)E�"���wA�)�J��I��IA
`��v�s�`�������DbG#-�p�/
�
)�8�s�K0bd<!c�ݘ`�_-��1�n�_�?�%�X������8
V��M^2�y��脐�|�4�
*ϥoK�Z 5R����u<�c�ݗ�	��=�/ǔ�I�t!&���[�{e��"?M���n�XF~�'g���r�xf
QL]�=#s��|�����\e\"ɸ3[�>���9<��rn�R
ǣ
�#����.Կ�m�C;
+�+���ԥ
I‚*Y�Ѽhvv]�6]�Q���
�@�� �w�$��0㫍?����1���N��1h ��.[�Vc&�`i�� �eaU��J�y��|-�a
C�
���f�9b���\�۔ut�Ec`'L$�t&�+]X�GJyKH�'�����I!OT���ß�
+�Q��y�ڰږ$������e��B�'�d�!�S�D�a��.)��T΄�y1��c�"
+���
��4��>lf��9����t�
�"
+�$����%�/��hK
���|WGa�x�0
ߘ��G�b$`�4�	��!��CG�y�.�T*dv4ϣHc���ea��%��*goF·���{:=
�u�m�q�r����c���rc�۪���st��n
��&
N��U�j�ט�G�1��DQ�����
�D:��&�<D$��=�=���c^a������Q��#ƬA
 ����a�  ��B��i�M�&���™}l�	��x��zx�\vu�R
+^X��ګk~<��.tU�nXH
iU@��Q���"�x�;���{$��
�-��)g>��
���W�t`C�	:��8
&_��|O������r/^�����]-�0
>ز��)n� Y�m��Q��nG���	>|7�Ș�����q�@D�=���B����`�Ú�ʂ��
�슶������I5�2-����-�u�z�W�r�@C����z[�L(�ͦDb���@�-�I��Kۖ+��b�p��y��z�gF�x��Hb�u�p|f܍Ӿ�`5�X�2� F7�:�\%w�"_"�
����YzeVwS��t�$9C��o"�����B�#�d#H
�y-�ۙǽ�dބa�^$IW�8C��x�8Z�iV^�O�)8������ɻl��OML�m�9-��l#��:CK��)� xT-��n���j�Agv�����p"0�T���6̮�K��2�em��j�
��>Q0�!
��u��p��tȜ�%p�P�~&�(��M�>0�wG�J��1�yM��O�"{6qV7�L��̭
��U8M���-tbd;�8
fNs�8l��
+���Cp��QȄ^����

]A
E�^ ||����<L�v
�(�A���d
�\T��w+B�~��&���/`�`�ֻL�"�b�Y� H���!pz$���!l��
5)-��7�O�˝�0�
��wU
�Sw�P'��0��hC�0͂8
�v�R߭5�gAdS������S�*��W8�Ƞϊ^�]+�
+�:�,�@[$C���l;��$��l�n��5�ߢ*��$7�q�7PHWS��
vH�O��R��
"�� �B ^ǡ�ō�0���{�o�r1��N����)��\:�)��@��Z�'�g�<��/�C
�b
�b<�^
e��5
A\x���Ȼ�?�Mf��
���� �-11���:ڶ~mn���W���(vb($ fiK�
W朝'~@��4�fI�׼M� �t47��
�f.�����`h6
an�-x�����
+d���&q�t?<o
%��Ӏ+FѼ�U
u��
'�8_uO;����3O�l�-)�
��	� �
U
�I�A}~粬
=�&���$�/{
V�%A��
�nψq�8/ҳ�2MzgrLs>��-���┘��#
Vߙ3]E���W���*�t�:f��mҼt�<�}PZ���_Ny���(i��DQ�ee��Y�<>:���E�Af�\�0;Z.���ε!��W���^&��I9*a
���� BAj
+endstream
+endobj
+7217 0 obj <<
+/Type /Page
+/Contents 7218 0 R
+/Resources 7216 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7140 0 R
+/Annots [ 7179 0 R 7180 0 R 7195 0 R 7196 0 R 7197 0 R 7198 0 R 7223 0 R 7199 0 R 7200 0 R 7201 0 R 7202 0 R 7203 0 R 7224 0 R 7204 0 R 7205 0 R 7206 0 R 7225 0 R 7207 0 R 7208 0 R 7209 0 R 7210 0 R 7211 0 R 7215 0 R ]
+>> endobj
+7179 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [439.761 683.713 475.517 695.668]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766) >>
+>> endobj
+7180 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 672.092 185.919 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_ae34390c17dbd12de9906817c4b6cf479) >>
+>> endobj
+7195 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [314.314 608.993 350.069 620.948]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766) >>
+>> endobj
+7196 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.794 608.993 456.803 620.948]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_a241f107b045949a58b49469a6a09caf9) >>
+>> endobj
+7197 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.389 546.228 446.145 558.184]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766) >>
+>> endobj
+7198 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.269 546.228 513.996 558.184]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_a5915be624de343f1598d246ee4f1bc42) >>
+>> endobj
+7223 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 534.607 249.012 545.511]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_a5915be624de343f1598d246ee4f1bc42) >>
+>> endobj
+7199 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.317 483.798 462.143 494.702]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_aa71726a7725f9269553ed9e594b0d74a) >>
+>> endobj
+7200 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.037 457.222 313.023 467.127]
+/Subtype /Link
+/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
+>> endobj
+7201 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.082 421.033 438.335 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_aca669c9659132e9fa6adc7a9afbef642) >>
+>> endobj
+7202 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.201 358.931 445.956 370.886]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766) >>
+>> endobj
+7203 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.02 358.931 513.996 370.886]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_a6a869e3c010e87dff868fb410d4f0a20) >>
+>> endobj
+7224 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 347.31 156.709 358.213]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_a6a869e3c010e87dff868fb410d4f0a20) >>
+>> endobj
+7204 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.525 347.31 232.265 358.213]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+7205 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.201 296.166 445.956 308.121]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766) >>
+>> endobj
+7206 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.02 296.166 513.996 308.121]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_ac3abadf1d96bef1880657113014d46dd) >>
+>> endobj
+7225 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 284.545 152.027 295.449]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_ac3abadf1d96bef1880657113014d46dd) >>
+>> endobj
+7207 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.843 284.545 227.583 295.449]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+7208 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.193 221.446 352.949 233.402]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766) >>
+>> endobj
+7209 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.029 221.446 436.411 233.402]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_a1c76acbe653414cc28fac54c69622446) >>
+>> endobj
+7210 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [318.58 172.629 354.336 184.585]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766) >>
+>> endobj
+7211 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.069 172.629 435.432 184.585]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_af3699ea93d8ec71859566480bede9332) >>
+>> endobj
+7215 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7219 0 obj <<
+/D [7217 0 R /XYZ 90 757.935 null]
+>> endobj
+7220 0 obj <<
+/D [7217 0 R /XYZ 90 715.095 null]
+>> endobj
+7221 0 obj <<
+/D [7217 0 R /XYZ 90 652.331 null]
+>> endobj
+7222 0 obj <<
+/D [7217 0 R /XYZ 90 577.611 null]
+>> endobj
+7226 0 obj <<
+/D [7217 0 R /XYZ 90 125.122 null]
+>> endobj
+7216 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F79 505 0 R /F97 1188 0 R /F56 367 0 R /F38 2120 0 R /F23 368 0 R /F107 2332 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7237 0 obj <<
+/Length 2405      
+/Filter /FlateDecode
+>>
+stream
+x��Zݏ�6߿BO���\~���w8��4A�ȥۧ�Xhmy�;Yr%y7ۿ���([�:�
���"5
��7C-��"
�������đBJP]�"�#)�D���cL0bd6'�����8k6����q]>��e���\�6Y�xu����F��r������		��T!�as����b$�H��)��w���8�_����m��Q
�܅D���ڿ
��ߗY�Z��3E�|�-�.�3�>L��BOQLc���y��������q�$��bs��7
-a��4����Pm��2�-�_.�q���qh.Fb
+��4��!,���v�~�Y$����E)J�W\���@��tT�$I�l0�$O���ͫl���
bF�$c0P=�-!)	ݳ���s�)R�A��s�o+���Z�͝S��7�ǹ�I�>�ێ4��}�
]���;�>�����?�;����P�I���-�gKp�Aq#֒ )�)��9�����>S��%ќ�1�`c|�2�@������rF�d�S$�i]�8�xۓ�D0'�B�A�� ݡ>�ʻ�(��U�.�b�uet�A[	b��
+���
Ғ$��
��!"�h�J�g@�؈@�ʇD�2�5N�
��S,lF��>O�Og����	H`�z�3��qbq$#��}6��wy�7����U���*_�m�5E�h'e��KCF�mݶ�m����Xt�U���3���u�_&��5��;�ڧmրy�z��hp|DS�����w�&߂�y���
˸����~�W�7
^��3�v�"oA��8��v�"�
�[�X����lSWw����%�Z,ʢ3
MrR��Pt뢲~PWf��|�nbU�e��}(�^z��mn�f�q�
얷Wc� m�w$�<���<9$�
D��*B�[@���Չ�2����r��<�[�J=�3g�	�vx��ԭ��ͦ,^5�f��#>����bm�Κ	?
+1�t�SP6�	Jc)��<M����hc
 ?"�	��ڳ(�#��&���F���5��k�$�IV	Ai⏥q�/c��U�V Yj��Sv�^������Ƭ��޷�A��B�l-�(H�H�J`4q&� :|�{9�(Aj�e��-�cj�%^�L�Y���+��
I���7# ~r��M:��T��^
����/�L#��SV�:����Nm�Z/�/<��GGl2L|��v�$>�0�M�8~�8bHn�
�l���"�h��4dѓ��g���8S�ihd�L���k��
(Q&zP����_8Dž�S�D��I���P���W �{Ѳ>[�n�����K;�������0�ʳn�fGv�;[�'ҵK{����b��K�s�@F�q�1=�d�\'d���v��֍���4G��̇�,�3����A׽�����i�|`�`�"����r��ˢ��gU
+�a�U�4f�
V�@J�0V�_�>wy�'��c�9D~���[�T{[f
�P�c�6�U=O�yf �!UQ��v�p\���q�bO|��tHxU1�Fn�lAQ�*�ZUW:Z�6��{�-}T�W�/��A^0�b��>%�-+ðm�"��������n�v�Tw	H�	r
Q��if �+��y��$�<'$ȓ8Gw��Q��rs@C���L{�hB�!s��M��w�P���U�!�^Ջ�l�
k;
#߳�hC�c�=Ն��{����>0�jJ�
ɩFjFA�7s���S��<�ks��ש�&
���PeP��&
�J�������
pS���'�r޶7g�ى��*9��	5h��'�PG꽺rR�t�E��������_��{���;y�@F:�Q�}�wʶ ?/V�7�چ�F���J�낆�@ �m]F�4�N
�D��	��<N�������Չ.hf��)��݉���٬�,���4�0;Ҭ
��h�����ˎ_mjQ6y��M����>�*Y�����^]z?< [...]
dU)N�~�ťhúZ�x��:o���%j���A���	�� �����}r;r"�S���,��'�\��=�'�S4Qc��67���8����y�PA2;�)?
+��}
�
�0�՞�r�yAϬ3��a�_2��N�vƠ��M*E��/�L�
�]�[k6s�0)c��w�{{����23&����TpD��5�m9l� �c�����"~x�?��H ��S��
\!������h�. ��W����Q��U��
��^�4�58�Xb�a(8p�K��#�s�+�~�5� -I)��O���^]^><<�E�vU�mP�]n�����A\H����U�:�M��}�S

�����Ҽ
+endstream
+endobj
+7236 0 obj <<
+/Type /Page
+/Contents 7237 0 R
+/Resources 7235 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7140 0 R
+/Annots [ 7212 0 R 7213 0 R 7214 0 R 7239 0 R 7233 0 R 7234 0 R ]
+>> endobj
+7212 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.942 707.957 160.308 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_a79370159de3dc1738441b20eff866329) >>
+>> endobj
+7213 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [168.15 707.957 311.959 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+7214 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.021 707.957 513.996 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+7239 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 696.002 182.054 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+7233 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.583 243.227 295.607 254.131]
+/Subtype /Link
+/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
+>> endobj
+7234 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7238 0 obj <<
+/D [7236 0 R /XYZ 90 757.935 null]
+>> endobj
+7240 0 obj <<
+/D [7236 0 R /XYZ 90 682.986 null]
+>> endobj
+7241 0 obj <<
+/D [7236 0 R /XYZ 90 622.467 null]
+>> endobj
+7242 0 obj <<
+/D [7236 0 R /XYZ 90 352.08 null]
+>> endobj
+7227 0 obj <<
+/D [7236 0 R /XYZ 90 329.769 null]
+>> endobj
+7243 0 obj <<
+/D [7236 0 R /XYZ 90 329.769 null]
+>> endobj
+7228 0 obj <<
+/D [7236 0 R /XYZ 90 196.76 null]
+>> endobj
+7244 0 obj <<
+/D [7236 0 R /XYZ 90 182.748 null]
+>> endobj
+7235 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F38 2120 0 R /F72 404 0 R /F79 505 0 R /F100 1390 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7249 0 obj <<
+/Length 2146      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�6~ׯ�SV�Z0� =��L�M��m'M�OiFC�tL/E�$[���D�V�v�xHB����� ��{?N�����R��/��.�={J$(�.��wS�#�9�O_���*X��Q<]�ۛ�*
��.� ݞ��'y��I������O��i�'�GX���o��"e~5��&��3!�'�9xz�\Ϩ��
ԥB�����Ϋ	��A�Y�3�N��]
�
y^a�4L�f�b:��44'?\L~� �=R�L(���ɻ�ػ��<М���b����5��N~��R�x���0���Hn��e
��ի�N_	�Q-R���pł�w�ޅ�U�|0��:�����"�I�,O�e
���虪i~���u���W���
ZɌ��zz�V��P���A
W+/a�(��$�#�Q~S�p.s##�7'� `!G^Z[Ѿ-iḙ��Q�@���9�a����""T��E�����]��
���38��9߂9��Q�/�ϭ��� 7Nΰ������O|��r}�k�? �(R��ɘ
����x��xU��z�X
+��S1�����H��8\�_;h�	�"��E�<[��Ȉ�
�b���H�t<�gI����Y�?7�u u����֋��:�	$�hI9"-s�4g_X��B�0���C�7a��s��j�%yĂ�cM\
��q�Нd���{[��#�|N9�yW5�$֍Ķ���1M�E�`�oT�k�t�a�gs�M̓� %`�v��\W��,Pc������Kb��mbR~nת
�xz�ZAr�}���vE�Tdx��4�Yx%q���
EbΨB��P@����oJue��à64u��M�b
N�k���:-�0�
o��M�5BSJ�fIKc�*�:Ӗ
,P
�X�eQfw)�$�yO�;5Tuj(x!��1~�����.nB��F|2�+�P�H���V%4PD�j���p�^��H>�� ���rf���$S*9/&�R�f
 �8,
T�����<+׵���|
\<�$+SE��n�����ܑ�	�J�.�q�9	�k}J�pVk��(��o�2I�H����[`\���~aYӺt�0�T�}쐞v�P��k<��.B���z'*z���A���d��U,��I�O�w�%�@�� UV�7��C�)��<�"��/_��+�"&uahD����+~��_���?)~�Oï�$�%
+��(�!�X��}:�%C��°t
�e��²O a����򚁲3�R��`��8�GS�Z�:l�n� ��(�V��� �ZQ`
�r��/�m����3b[�۪gC۝VV�*ޮ�N��Q�̫��W|J�+|��8�0Ӛ��`^�#���{�#��1/y�PU=#�86�x��mޓ�~���6�C�	9���$`�� 2 Q�pO��FK����A
��4B�Ǒv�$
-��8T6��ŋF"X@>�� {�i�_���������.E����
��
F���0�
5����=L+�H�>tR=B��M��,��X��N�b)
��j��h�C���J۴�>�B�g:�������H����DB��B��/A�7�꯹�_����)jT��_�;bf�n]0
P��s����(����D�
`'��M��u�+�qۍ������
\
�b�'
����)������ndÓc��߃@G�A	�%#,��a��S�Ӌ ����f;�b�GB5kQ�K��:l㓇���v��Q�\d:'��Dj4;Hb�H.ݘ��O/�Jss<��ZI<[$���-S?���S�C��B�KC!)4��'�*N�h�
�J>?$GX��nj��֝�;�k�2��ȍ;"G'�<���r,#��I��T~�FK��U;�f�t���ţ/AA�H��ظe&W4v`:���
ت� �@��t����Xs�<Ϭ�Nj���Z��d���ʹS"��T���s�[4�+���om��~�ݲC��� �����kD�#���`aӁ�!�nL�p��r�k�6�xr�Yot��7
5�c? [...]
+�H��w�ש�k�NK�W��"���e�/
+endstream
+endobj
+7248 0 obj <<
+/Type /Page
+/Contents 7249 0 R
+/Resources 7247 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7140 0 R
+/Annots [ 7246 0 R ]
+>> endobj
+7246 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7250 0 obj <<
+/D [7248 0 R /XYZ 90 757.935 null]
+>> endobj
+7229 0 obj <<
+/D [7248 0 R /XYZ 90 684.66 null]
+>> endobj
+7251 0 obj <<
+/D [7248 0 R /XYZ 90 670.089 null]
+>> endobj
+7230 0 obj <<
+/D [7248 0 R /XYZ 90 484.513 null]
+>> endobj
+7252 0 obj <<
+/D [7248 0 R /XYZ 90 469.943 null]
+>> endobj
+7231 0 obj <<
+/D [7248 0 R /XYZ 90 282.932 null]
+>> endobj
+7253 0 obj <<
+/D [7248 0 R /XYZ 90 268.362 null]
+>> endobj
+7232 0 obj <<
+/D [7248 0 R /XYZ 279.825 130.846 null]
+>> endobj
+7247 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F100 1390 0 R /F104 2229 0 R /F124 3030 0 R /F8 540 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7257 0 obj <<
+/Length 1700      
+/Filter /FlateDecode
+>>
+stream
+x��YYo�F~ׯ�S*��j��H
4M]8=����D[L(J��(��
އW�$;Ac@�H-gg�9��!v�
���{5�.v
2�Jg|��(I���ϝ�>�����`������p9�\(����;��?��4|8?��L~Y��O�:w>x?~3�$�&�b�� �w*�e��� lH�)V�-B
"L
.v��ł�(�g�`Hi����ڟFnv�{���n0�[
ݧF%B{��{��]�CR\�B�	g��ݾ��
�q 
��m�j�p��������S���Q$s��B�Ƕk��}�����/zX��t�k2�W�W�8�������$i���ʫ�n at EeQ�h���r��Te�QL!�ȉF]��[-Ia<�
i�
w�� #ģ�$-���� ��.�Di�����N��,�8���ƽ�'H�/���hX�
+�(U
yTӰB�?��>[���N��瞄���7�UF�Ǐa	V�yDI�~.ֆ�W��uȘ@F�fd�Z[��/p�a!��ƴ�7���p�M�Ŀ��0;�Zy���w��YV
�&o�M�G�H��"��ё����fv��ݰ��Dvfr�@��
��p~@�6��G�:�R�'��ƻ2���ϊ,� O�ri�
+6�q�(͸�"��7�S��/g6�)⢌�|z���x�8��[�
�YӁ M�L���
���J@�V�H��C
+G5`�>�����ݒ��q�+�}�l(z�`d�
��
b[�6
��"����E	�xuvka͔d�
+ޯ�ũN��B�Ee�{������u�܋|#a����+�)�+5F��T�BCg
+�pa~*,>UX�'%QEDP�F	�zԷ<r��9�_�}�P��]��T�:���.�w�T )���J��6a�%�^���&

k�ߪ@v����$3�����B
�x�G:��Z��(P �� +��^�lY��^���7�i�s0/Z�-�/.�`y� �z���K7��魄s��\m4�
���8+֯u�p��-eZK���I�VՆ
�$�
+P�W�<���N�ٷ�y
�;��0�~	O۬F�
�J<�M)�U�٨�� �
+	j:�(
���AƩ�G�GHJZ&峰u!��?�2 �̴��6@��¤+`j'�.���"��H�f�jg��X��p��ve�O��\Noݭ��K���0��ȾnS/��n�U��
W��Q�����-��٭wS�=O�y�4�!q@ arCT4W�ԓ��G�E	]�P�������3+�`��)�l�5@ͱ�iiS
hU�;��S&��0�Cf���`�^�{�98���L�7.��,�ϗ�@���ڍ��_��kw3
�u��(4z�<R���:������M
���܉1Ф���7�� [���:�G&���3��7��u�	��/?@�Z�&S/�Tr���@������VM!�t-:ҕ�:3dpD�t.ϐ��Y�
�`o��#��x�D?����e��b�4.}�4i�rm�� TR�-D��nW�L��_��I�Q���-�sf��A���z�7��uL���̂�VJ��"[h���
�}C�C~h1,i�MF��Z|=���d�u�Zʃ��W���ez�e
��?7�!��9VN��|���Qn�)�Lj��
9`|㺹��]������K\ZӖ�Ƌ�E��G��v�f�:D^4�F
�Z6��)#����*̭���Lc���X%��
+endstream
+endobj
+7256 0 obj <<
+/Type /Page
+/Contents 7257 0 R
+/Resources 7255 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7266 0 R
+/Annots [ 7254 0 R ]
+>> endobj
+7254 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7258 0 obj <<
+/D [7256 0 R /XYZ 90 757.935 null]
+>> endobj
+7259 0 obj <<
+/D [7256 0 R /XYZ 90 733.028 null]
+>> endobj
+7260 0 obj <<
+/D [7256 0 R /XYZ 90 609.924 null]
+>> endobj
+7245 0 obj <<
+/D [7256 0 R /XYZ 90 587.946 null]
+>> endobj
+7261 0 obj <<
+/D [7256 0 R /XYZ 90 587.946 null]
+>> endobj
+1410 0 obj <<
+/D [7256 0 R /XYZ 90 468.836 null]
+>> endobj
+262 0 obj <<
+/D [7256 0 R /XYZ 90 462.236 null]
+>> endobj
+7262 0 obj <<
+/D [7256 0 R /XYZ 90 403.7 null]
+>> endobj
+7263 0 obj <<
+/D [7256 0 R /XYZ 90 355.136 null]
+>> endobj
+1411 0 obj <<
+/D [7256 0 R /XYZ 90 303.812 null]
+>> endobj
+266 0 obj <<
+/D [7256 0 R /XYZ 90 297.212 null]
+>> endobj
+7264 0 obj <<
+/D [7256 0 R /XYZ 90 224.728 null]
+>> endobj
+7265 0 obj <<
+/D [7256 0 R /XYZ 90 164.498 null]
+>> endobj
+1461 0 obj <<
+/D [7256 0 R /XYZ 90 112.886 null]
+>> endobj
+7255 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F23 368 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F21 2359 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7287 0 obj <<
+/Length 1630      
+/Filter /FlateDecode
+>>
+stream
+x��X[s�F~ׯ`�3-�T뽰,h:�I��$�ōվ$
��	�]�����r��ClL���|�w.��Y:�y>z<

=؉P����;vD@�ę.��.���ޘ`���`7.���ģ��ӫ�\��UrV���d򢜽��D-�P?��m1;^��g����8}y��~���r���~1K:.�
�E��逑�
~���iUl�7�
����r�I�J�7��,<�2�K��\�����t�eD�v���
$w������Y��� �Υ^�v|��w꜎~�
선�sZ�N��7܁�ֆ
sDp�|k
���
�]+��h��4�d�G\�>|�&H���"_�����=xТw�Br�SP��G/��,��4���b����<OdE�X؇��sWX5�+
�+��������C�E��cT�7&�
�Q�n�?��V(
���>
X�3����(�-�O�V�1

l
Y
�PY:(��#)[k��� m^�I�Le�gC�Az���.�?���f�Y:����w��W2�T`*E�oU%Dl]z"�8Ik4��r^$�*1q��N:Vu�
H	�� 7� �mNu��Y��u�7�1
+���A���������Z
���1��,
ԧ+
�"�o�2�b͏~u��Z%�J����H��X�Lq���"_����Z��*
/A����i*'�s֭�*����������c�lR�Z
5�qm�۩��3_%����ӿ6���e�q���0��zO��W��m��*��٠�4ڵ���ͱ�l�nC��Q���.���u�C�nTS$�O�`�;��Zt�Ex�u��~A5*P�U��s�;��[�<yq2�z�����7�BN&��*Q"�'q:�CᨀҮ�+ ��Y�̍����LZ~�m��ʩ�c�_�k�S�G�5�
[�AK�V��\1��1�#=��;"��PUA�P)P�#���<���6��?�xt)ȋ�7f�J�DŽ+�m�Y��z��v���f��	�l�H&��H�����53{]��
Fi��{Z�sp����Q~
eo5��$���h1�B����2D�n����fi*�7:�
��ο?.w��q.�U�4�
���*b(����uV��d����kD�x�����̻

�g'ik���&�Mӯ�$[��\�㥞�2�o��d�6��D�M�Aʹc��N$
f���p
+C�.������S
/.�zx�~���hy�'&��7���0q"��̩S�x��XW�8ɪ��>����� �w�=ܜ@��6��Eq��9&/y[~���	��
^��xS6rc����:��>up~l�[�'PH�sl���&=�f�8[X�Ҽ��ګ�Ńu|�����
%�H�W�E]n`�
���f��%�
���u�{^$���P����FI��%�󐒔���^����M���ܬ)��;M�;��p���>��;��+6[?�ZYFH4 at A��B�/-����wPY�[� " ᡗ���
��H@4w�<B���;��xj��Ϩ�=胪��R?y��6��q��S�Q��>.v�
#BLd�8v*�����٩�~�+���$�$Mꯪj39:���D�m�dS��:�lң�lˊ(i:wsw�΋f΃�k}���?���~
+endstream
+endobj
+7286 0 obj <<
+/Type /Page
+/Contents 7287 0 R
+/Resources 7285 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7266 0 R
+/Annots [ 7267 0 R 7268 0 R 7269 0 R 7270 0 R 7271 0 R 7272 0 R 7273 0 R 7274 0 R 7275 0 R 7276 0 R 7277 0 R 7278 0 R 7279 0 R 7280 0 R 7281 0 R 7284 0 R ]
+>> endobj
+7267 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.912 447.09 403.561 457.994]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
+>> endobj
+7268 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 392.556 191.16 403.46]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ab82fb79015a9e4959fe801e608b2a0ae) >>
+>> endobj
+7269 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.258 378.107 364.14 388.012]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+7270 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 354.045 191.16 364.949]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a701574facbfd5461d399dccbc88a2999) >>
+>> endobj
+7271 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.497 354.045 295.747 364.949]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7272 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 315.534 198.909 326.438]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ae9cc837bbae1745ada3780634c73858f) >>
+>> endobj
+7273 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 277.023 191.16 287.927]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ae7df198cd5bdd6e9f87192fb3170261f) >>
+>> endobj
+7274 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 238.512 191.16 249.416]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a9a14be758de0e77faef8de4a11bd8e8c) >>
+>> endobj
+7275 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.976 238.512 230.163 249.416]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7276 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 200.001 191.16 210.905]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a5a74ca4d6d20b677bd8e4bf05dd45760) >>
+>> endobj
+7277 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.497 200.001 262.003 210.905]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7278 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 161.49 191.16 172.394]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a4124a10b953c4c49984524875a257f3a) >>
+>> endobj
+7279 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.497 161.49 260.32 172.394]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+7280 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 112.02 191.16 122.924]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a04aff92d245522832391c1704f455992) >>
+>> endobj
+7281 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.497 112.02 283.563 122.924]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+7284 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7288 0 obj <<
+/D [7286 0 R /XYZ 90 757.935 null]
+>> endobj
+270 0 obj <<
+/D [7286 0 R /XYZ 90 733.028 null]
+>> endobj
+7289 0 obj <<
+/D [7286 0 R /XYZ 90 650.571 null]
+>> endobj
+7290 0 obj <<
+/D [7286 0 R /XYZ 90 602.008 null]
+>> endobj
+1462 0 obj <<
+/D [7286 0 R /XYZ 90 552.057 null]
+>> endobj
+274 0 obj <<
+/D [7286 0 R /XYZ 90 544.925 null]
+>> endobj
+7291 0 obj <<
+/D [7286 0 R /XYZ 90 411.358 null]
+>> endobj
+7292 0 obj <<
+/D [7286 0 R /XYZ 90 411.358 null]
+>> endobj
+7293 0 obj <<
+/D [7286 0 R /XYZ 90 372.967 null]
+>> endobj
+7294 0 obj <<
+/D [7286 0 R /XYZ 90 334.456 null]
+>> endobj
+7295 0 obj <<
+/D [7286 0 R /XYZ 90 295.945 null]
+>> endobj
+7285 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F21 2359 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F79 505 0 R /F97 1188 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7326 0 obj <<
+/Length 1657      
+/Filter /FlateDecode
+>>
+stream
+x��YKs�6��W��J3
�Azri<I&�3uc�=$EA'|� �(��
%�z��<ӋD��bw�}b�15�����w��c�E�Mm�~b���6A��~l|��L6�q�v at p��c߻
P�O��L�s߻	G��/��n�D����G���R�i2R��ב/e��YLD�>	�"M�ӧ�;�v�����O� s� 3�#n2#�{_�ac
�0�'�1�ժذ�	ߑq�����`۾+���"0�6�L�� )q��_)e;�~�O>Ռ}~�3�
�dEd-��6X�$���D�e�JGi2��J+
D.�)�!l�� �k8 �m)�(E�E�!��ÝZ��e�5�L�Q�}�,�
+9��!���/K�q�L5��y����[��2�]�\x�x���5fA��)_+�vCjQ�‰Cj"Dz�o
�"Q�z�"��(ye��[��wU��%��kY>��̓M��ӫ��d����T�Z�N�(�
+�
+�W�"����
�blv j!;͚b�@)��T at M��i�T�w��ɀ2�+
B�^��a!��*�{�
+4+��`��6L����5 �@h
�Q���j�P[	�x��K��
:
�qdS�,�.cq%��Ÿ�Td��R�d���T$"-�W�<~���P�x�>jv����^N! sz"����2-rt�4���"��"O��cm�P8@�Ҩ
�a��L���W��'c�V-4���Y
9�>Ep^�C6���5�t	-� �vБ��
1�<�~y�>)=?�3�h�݈;���<�N����Z�ˬ n?�]A��S+�X�i��d�S
Q
i�G��&�hQy��2>�
]�Ҳ1��B_ZKŮ�
+A�&�����d-�~e�q��˸��"N��f�8`��y-B
�� �K�gήZ��@�~ⷱe'ުw����xS�Fcoswfy�.0���"�0��e�=3v���"�J(jq�Y��pЖ?V ��n�i_c�������c
��6Ja�Xm$��}��5�q�ϋn��T��uU}!_�}m�y�~���Q�����0��<��ӟ(+ߪ3dg.���U��5]&�֕�
KRe{#�~wG�͗�f"�ե��^��D�\�ͫW]�|2ۂ�Hׇ�x�%��-C��Q�w�}���O4�8K��M��|`�~wـ��e��xN�5�����t���2%����j&�eP�u��N�[t��P�����B;z�D��7���J��-&��KOq
94m�,

�ȅ�Vk-Ҋmu�
�c`�P*�
�
�
|T3'� RN���.1�j��rL�HvRv�.�n�Z>eUg
�F#�٩�����
R�g"P�����CekA2Pׯ*׫tZ� � �ݟ�3��钑�WC���;�&M�����~֝�"�)��d
�BJ��a�����=�S�!!
��c
U�r5�w*@��ܖ��y�$�Q�O�-�@E���ms�X���0��m&�>t��<e.�?�cfS'�2��0.�G��A��[���q;��"h��$��X�9U�AH(�
*7CcHM
`����E�iC�o�p�XQr����|՜����/*�h]~򓲹�Q =(R"o��!
+9���Dc�\ߍ��‘�pK
�p{�?+����r>��@�2	�
��e�E���|�
+�o۷I3`��|��ϸ*:�� ��
�?�>
+endstream
+endobj
+7325 0 obj <<
+/Type /Page
+/Contents 7326 0 R
+/Resources 7324 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7266 0 R
+/Annots [ 7282 0 R 7283 0 R 7300 0 R 7301 0 R 7302 0 R 7303 0 R 7304 0 R 7305 0 R 7306 0 R 7307 0 R 7308 0 R 7309 0 R 7310 0 R 7311 0 R 7312 0 R 7313 0 R 7314 0 R 7315 0 R 7316 0 R 7317 0 R 7318 0 R 7319 0 R 7320 0 R 7321 0 R 7323 0 R ]
+>> endobj
+7282 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 707.027 191.16 717.931]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a158df02c8c54fa5a9286836fb01563cd) >>
+>> endobj
+7283 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.497 707.027 268.629 717.931]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+7300 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 668.306 179.554 679.21]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+7301 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 668.306 250.666 679.21]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ac1b93dcadc82e52690114301554801b0) >>
+>> endobj
+7302 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.933 629.959 297.728 640.489]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0ed481e43baf024d4a5b5e86e85c4a87) >>
+>> endobj
+7303 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.544 629.959 336.732 640.489]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7304 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.933 590.864 342.261 601.768]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_aa8f43e35dec15be4374b207a9440eb2c) >>
+>> endobj
+7305 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 552.517 164.879 563.047]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ac220e6f2cf884a8b2bb4017fc9ae53da) >>
+>> endobj
+7306 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 513.422 272.783 524.326]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ae25d01221fd2014bead64c551c33c9c5) >>
+>> endobj
+7307 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 474.701 191.718 485.605]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+7308 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 474.701 288.852 485.605]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_abca5613972564c8ec5c832bc8ff200d6) >>
+>> endobj
+7309 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 435.98 191.718 446.884]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+7310 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 435.98 303.079 446.884]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a3a808cf2742df02d856a8d9882845861) >>
+>> endobj
+7311 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 397.259 181.845 408.162]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ab48b93c69098ab1dccd8d063f9c41575) >>
+>> endobj
+7312 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 358.537 181.845 369.441]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0912217f15a36eb486b243ee592f3379) >>
+>> endobj
+7313 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 319.816 154.727 330.72]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ae1dfbc8be3858f2423df19c32e043110) >>
+>> endobj
+7314 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 281.469 176.505 291.999]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a298a32e26d8133869f28560cca4ba73b) >>
+>> endobj
+7315 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 266.541 450.955 276.446]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0912217f15a36eb486b243ee592f3379) >>
+>> endobj
+7316 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 231.789 150.493 242.319]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a5bb7f6903958069b19f70d1391987a51) >>
+>> endobj
+7317 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 192.694 156.281 203.598]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_aede3aa1f7d5925d31d3f66faf655dc66) >>
+>> endobj
+7318 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 192.694 237.346 203.598]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7319 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 112.125 203.075 123.029]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+7320 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 112.125 296.324 123.029]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0651bfc78898bf691898cdb599198ea9) >>
+>> endobj
+7321 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.005 97.57 346.908 107.476]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7323 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7327 0 obj <<
+/D [7325 0 R /XYZ 90 757.935 null]
+>> endobj
+7328 0 obj <<
+/D [7325 0 R /XYZ 90 687.333 null]
+>> endobj
+7329 0 obj <<
+/D [7325 0 R /XYZ 90 648.612 null]
+>> endobj
+7330 0 obj <<
+/D [7325 0 R /XYZ 90 609.891 null]
+>> endobj
+7331 0 obj <<
+/D [7325 0 R /XYZ 90 571.17 null]
+>> endobj
+7332 0 obj <<
+/D [7325 0 R /XYZ 90 532.449 null]
+>> endobj
+7333 0 obj <<
+/D [7325 0 R /XYZ 90 493.727 null]
+>> endobj
+7334 0 obj <<
+/D [7325 0 R /XYZ 90 455.006 null]
+>> endobj
+7335 0 obj <<
+/D [7325 0 R /XYZ 90 416.285 null]
+>> endobj
+7336 0 obj <<
+/D [7325 0 R /XYZ 90 377.564 null]
+>> endobj
+7337 0 obj <<
+/D [7325 0 R /XYZ 90 338.843 null]
+>> endobj
+7338 0 obj <<
+/D [7325 0 R /XYZ 90 300.122 null]
+>> endobj
+7339 0 obj <<
+/D [7325 0 R /XYZ 90 250.442 null]
+>> endobj
+7340 0 obj <<
+/D [7325 0 R /XYZ 90 211.721 null]
+>> endobj
+7341 0 obj <<
+/D [7325 0 R /XYZ 90 131.032 null]
+>> endobj
+7342 0 obj <<
+/D [7325 0 R /XYZ 90 131.032 null]
+>> endobj
+7324 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F105 2458 0 R /F106 2337 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7399 0 obj <<
+/Length 1024      
+/Filter /FlateDecode
+>>
+stream
+x���s�8���+����Zheɲy�Nss��ɥ�/I�qAi<2';���?�1�
�B���y����e�����?;�;�AP�����"�D �S@�:w�`��
B�S��I<8u)q���+9���]�E��{��.Q2փ�ߦڅБY����('Ϋq�e�ᙼ��}5�V4���~���w��Q� (��
���s��������͋VĨo���C���
#��`�@ f~��1	xi����~�{�X��q�
K�g��ɨjg��_+Eϊ'l�D%y��rY��{A81?�u��7#��(0�(�8`y�p�X��_7�+_�W�<Z��V���[����#"ص.�jo~8q7�~dO
S���ݰU4�x��z?�N���3�_k��>+��h
�z�d"U��4
ʢ���X����Y�/�a"��x=�:�j��z|9jˠ-Fjeжz���QX��t*u����*��
 	/w����Gc\�\
K�l���Ө�=�Ăh �M��T	e�[݃I��&/Z [...]
N`拦�A�J!6�R��|��2����
�w�<Pop$���!x�y�Pٯ�<u�;!��z+�[E\��<��I���ܩ�~��xܬ�ά(��OXð��@���ҮP}��F]�Bj���p���^�;���0��*�j����t���0/H1�)�f�x�V8Iue}���I�����"�B
+endstream
+endobj
+7398 0 obj <<
+/Type /Page
+/Contents 7399 0 R
+/Resources 7397 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7266 0 R
+/Annots [ 7322 0 R 7344 0 R 7345 0 R 7346 0 R 7347 0 R 7348 0 R 7349 0 R 7350 0 R 7351 0 R 7352 0 R 7353 0 R 7354 0 R 7355 0 R 7356 0 R 7357 0 R 7358 0 R 7359 0 R 7360 0 R 7361 0 R 7362 0 R 7363 0 R 7364 0 R 7365 0 R 7366 0 R 7367 0 R 7368 0 R 7369 0 R 7370 0 R 7371 0 R 7372 0 R 7373 0 R 7374 0 R 7375 0 R 7376 0 R 7377 0 R 7378 0 R 7379 0 R 7380 0 R 7381 0 R 7382 0 R 7383 0 R 7384 0 R 7385 0 R 7386 0 R 7387 0 R 7388 0 R 7389 0 R 7390 0 R 7391 0 R 7392 0 R 7396 0 R ]
+>> endobj
+7322 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 720.286 194.297 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_abaf335015f8c71026d2bee65ce4d109f) >>
+>> endobj
+7344 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 681.432 188.759 691.962]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_aea20a64dc7e9dd789fb069c7b8faca16) >>
+>> endobj
+7345 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.953 642.204 238.203 653.108]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7346 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.942 642.204 268.08 653.108]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+7347 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 561.441 191.16 572.345]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7348 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 561.441 232.465 572.345]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a62b7a88cefba86a6731c6b46487fc28a) >>
+>> endobj
+7349 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.802 561.441 337.051 572.345]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7350 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.208 561.441 460.457 572.345]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7351 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 522.587 191.16 533.491]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7352 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.557 522.587 232.364 533.491]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a49574f120ec3f9fbfda58d6f826587e9) >>
+>> endobj
+7353 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.305 522.587 486.554 533.491]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7354 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 483.733 191.16 494.637]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7355 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.557 483.733 232.364 494.637]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0308fb71a28c28f4e33aabfa9c5d3781) >>
+>> endobj
+7356 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.5 483.733 336.75 494.637]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7357 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 444.878 191.16 455.782]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7358 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 444.878 232.465 455.782]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a9dd6ce1cb02b58fd3b973e40867362ac) >>
+>> endobj
+7359 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.28 444.878 271.468 455.782]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7360 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.803 444.878 382.052 455.782]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7361 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 406.024 191.16 416.928]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7362 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 406.024 232.465 416.928]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a4d372c4dff7d328d3da118817ed3d8b7) >>
+>> endobj
+7363 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.28 406.024 271.468 416.928]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7364 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.281 406.024 316.469 416.928]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7365 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 367.17 191.16 378.074]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7366 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 367.17 229.964 378.074]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a72b6b45299672d85c7984392454296d6) >>
+>> endobj
+7367 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.301 367.17 334.551 378.074]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7368 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 328.315 191.16 339.219]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7369 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 328.315 229.964 339.219]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a2e4d2efe88475a75dab18c7f9fe5e217) >>
+>> endobj
+7370 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.301 328.315 334.551 339.219]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7371 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.707 328.315 457.957 339.219]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7372 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 289.461 191.16 300.365]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7373 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 289.461 229.964 300.365]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a114f91c420cc8060d6834730c8e55721) >>
+>> endobj
+7374 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.78 289.461 268.967 300.365]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7375 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.781 289.461 313.968 300.365]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7376 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 250.607 191.16 261.511]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7377 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 250.607 229.964 261.511]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a41cdb256f546f09bd317deef44ac0009) >>
+>> endobj
+7378 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.287 250.607 484.536 261.511]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7379 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 211.752 191.16 222.656]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7380 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 211.752 229.964 222.656]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ab4396e8bfbdd5831fd37d13c19194cc4) >>
+>> endobj
+7381 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.301 211.752 334.551 222.656]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7382 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 172.898 191.16 183.802]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7383 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 172.898 229.964 183.802]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a9075dd07574234cc124e6076c272e987) >>
+>> endobj
+7384 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.78 172.898 268.967 183.802]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7385 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [302.302 172.898 379.552 183.802]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7386 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 134.044 191.16 144.948]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7387 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 134.044 229.964 144.948]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a8d443d5098921978efd7b625000f3b68) >>
+>> endobj
+7388 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.301 134.044 334.551 144.948]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7389 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [352.205 134.044 387.392 144.948]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7390 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 95.19 191.16 106.094]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7391 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.623 95.19 231.792 106.094]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a32a44c95ae4348ff889b48c309f9eab3) >>
+>> endobj
+7392 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [408.979 95.19 486.229 106.094]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7396 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7400 0 obj <<
+/D [7398 0 R /XYZ 90 757.935 null]
+>> endobj
+7401 0 obj <<
+/D [7398 0 R /XYZ 90 733.028 null]
+>> endobj
+7402 0 obj <<
+/D [7398 0 R /XYZ 90 700.151 null]
+>> endobj
+5767 0 obj <<
+/D [7398 0 R /XYZ 90 661.297 null]
+>> endobj
+7403 0 obj <<
+/D [7398 0 R /XYZ 90 580.415 null]
+>> endobj
+7397 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7466 0 obj <<
+/Length 1306      
+/Filter /FlateDecode
+>>
+stream
+x��Z�s�6��Sj���-�b�/������Mڗ�q at I<��.���!�` ���0��ޏ߮~���k�ȧ�/�F��eDR�p�t��d�u�
+��'0j	�	�1��f�������F�c��%��������ʏ���b<C%I�f�
f|�I�_��+�?{J��gX
�o�ύ��ƿ
@��L�R��7l\|c���?�Izd���[�; �?�0l�77T
ulm(pI�G\nQ���3���P3�Q�� �*�V�pm���֭�΋f.e��gR�!xwn�K
刿�*�8ԛ	Q��{&j��b �ܷ��։p��[RḤ����B
�ł
����٧�h
+D�\�Pz�
#��O�8��v��Dk�E�,3���57X�^&i1c��W+�
r�#ulf"uer�5�@�i7�� M���U�X�8G�
�P���!�m
+���	<�
�<
C���
+
����~�����t���Wp�G��b]�__�S��O/��`X�
_�*�x�K{&�����~�#. �uiE��DU�e����z��%��%����x�>^��_&  �ˁ��0y��� ½zX���	��h�5
��%TqY��y�嶨��,�8<|� 
��ZKu��?8��9A�B���{O�	x-'p���ڞ|	uv�0~�����:	�'��݆qp�e�7Pv�7�Eix�(}ުZqd�%u���,�6����
�&Vu*� }o�;���x�K�
��:��PG~��
���!U6B�	�52��f`�y�R��Qۑ�T�W3�펇h���A��
��O
[>;��6w,�z�
ϔa�2�����܁�Wy(�<x%�[/q�+N�u��VkN}�<����7^�}�rᑦ��V(#3�SU�w2{)�>� 4Lϧ�����[��2�~:�mR���mD�á^�"�W��\�6��D���S|��?�\F�vw~��}���@���s_���%(�u0�p%i�ݎ�4V���|w0��c6+��߯jG������*TIv~ ���M�B������}���EA�~0A�/t�ِ�ipAM�1�d�CAU��4�i�k4�|�|�ّ5)�lPZ�"���5�y�Wd�#�W�}~U��ǰ���� �O%y��=�i�d��xA��zÚ	 [...]
+Q�z�,K3�KϛE�d�������'S�(m_�p��x&Z�����P���M
aw���6��R^�������Ϊ�M��ڭ�t:�����`� m�F����1'��ŒF^EE�
F%u
+B�9�5Q�t����� 
+endstream
+endobj
+7465 0 obj <<
+/Type /Page
+/Contents 7466 0 R
+/Resources 7464 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7266 0 R
+/Annots [ 7393 0 R 7394 0 R 7395 0 R 7417 0 R 7418 0 R 7419 0 R 7420 0 R 7421 0 R 7422 0 R 7423 0 R 7424 0 R 7425 0 R 7426 0 R 7427 0 R 7428 0 R 7429 0 R 7430 0 R 7431 0 R 7432 0 R 7433 0 R 7434 0 R 7435 0 R 7436 0 R 7437 0 R 7438 0 R 7439 0 R 7440 0 R 7441 0 R 7442 0 R 7443 0 R 7444 0 R 7445 0 R 7446 0 R 7447 0 R 7448 0 R 7449 0 R 7450 0 R 7451 0 R 7452 0 R 7453 0 R 7454 0 R 7455 0 R 7456 0 R 7457 0 R 7458 0 R 7459 0 R 7460 0 R 7461 0 R 7469 0 R 7463 0 R ]
+>> endobj
+7393 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 696.828 191.16 707.732]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7394 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.623 696.828 231.792 707.732]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6ea3cf85efb71cf62fa3e233c9e9cf7b) >>
+>> endobj
+7395 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.058 696.828 336.307 707.732]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7417 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 659.625 191.16 670.529]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7418 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.9 659.625 248.325 670.529]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a2666c570468f53609bf420024a12628d) >>
+>> endobj
+7419 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.141 659.625 329.39 670.529]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7420 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [375.547 659.625 452.796 670.529]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7421 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 622.423 191.16 633.327]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7422 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.9 622.423 248.325 633.327]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a385e4d3cfe442f4fcbeefd9acf5c10eb) >>
+>> endobj
+7423 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.141 622.423 329.39 633.327]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7424 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.044 622.423 382.231 633.327]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7425 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 585.221 191.16 596.125]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7426 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.9 585.221 248.325 596.125]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a98b5ccd1157e6ec8beec7702af9acb36) >>
+>> endobj
+7427 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.141 585.221 329.39 596.125]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7428 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 548.018 191.16 558.922]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7429 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.9 548.018 245.824 558.922]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a80d43634ca26fd76dcb1fdede6363dc5) >>
+>> endobj
+7430 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.64 548.018 326.89 558.922]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7431 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [373.046 548.018 450.296 558.922]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7432 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 510.816 191.16 521.72]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7433 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.9 510.816 245.824 521.72]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a691b91bcd9b5c336892574e975235de5) >>
+>> endobj
+7434 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.64 510.816 326.89 521.72]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7435 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.543 510.816 379.731 521.72]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7436 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 473.613 191.16 484.517]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7437 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.9 473.613 245.824 484.517]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a65766b549090f6b52281c99cfba9eed3) >>
+>> endobj
+7438 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.64 473.613 326.89 484.517]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7439 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 436.411 191.16 447.315]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7440 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.9 436.411 247.687 447.315]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0dddfc1f0ff6f55a90c4ea8829b9752b) >>
+>> endobj
+7441 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.503 436.411 328.753 447.315]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7442 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 399.209 191.16 410.112]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7443 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.914 399.209 267.663 410.112]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a392d8d530782ff1240e73a9fb15f7975) >>
+>> endobj
+7444 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.986 399.209 348.235 410.112]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7445 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 387.627 149.098 398.157]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7446 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 350.051 191.16 360.955]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7447 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.103 350.051 267.304 360.955]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a97f2c2912a13988f28555bee4fe96ef4) >>
+>> endobj
+7448 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.721 350.051 347.971 360.955]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7449 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 338.469 149.098 349]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7450 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 234.928 191.16 245.832]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7451 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 234.928 232.465 245.832]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_af5bbfb14fef626aee9f34e71a78c0d7d) >>
+>> endobj
+7452 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.802 234.928 337.051 245.832]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7453 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.705 234.928 389.893 245.832]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7454 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 197.725 191.16 208.629]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7455 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 197.725 232.465 208.629]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a920af28903c20a4a4962761b834d577f) >>
+>> endobj
+7456 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.802 197.725 337.051 208.629]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7457 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 160.523 226.034 171.427]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a37de3f55cf5e917e32f7f2f9c6d34840) >>
+>> endobj
+7458 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 160.523 398.426 171.427]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7459 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.91 123.32 156.276 134.224]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a3fc6b9758fbac86e0592d37c23f14b1e) >>
+>> endobj
+7460 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.086 123.32 348.418 134.224]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7461 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.62 123.32 513.996 134.224]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7469 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 111.365 160.176 122.269]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7463 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7467 0 obj <<
+/D [7465 0 R /XYZ 90 757.935 null]
+>> endobj
+7468 0 obj <<
+/D [7465 0 R /XYZ 90 277.876 null]
+>> endobj
+7464 0 obj <<
+/Font << /F70 402 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F56 367 0 R /F23 368 0 R /F11 446 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7490 0 obj <<
+/Length 2298      
+/Filter /FlateDecode
+>>
+stream
+xڝY�sܶ�_���W���%�
�I'u:n�v:�d4�c�#/$�'���. � �:�}",w���-H�{�z?\|wsq�}L��������R/�	9�n��g�Q"�U�(����~���O+N��|ܪu��~,y���XT*kn?<�K|նE]�
R�]�����6ʬW�B�<N|A�귛/>�\�q�`s�cz3aLbz����o�[���
�)M����y�
x��/���g��Q�
�0{���ˊR��߫6o�}���M]}F'�\!S�����g7c�b�J0
+ �@���ZM�w�Syg����
r�&T��@soU���gM�(�*ؐ��[�F᪪�v&��m��2�E$�E�'eIDhzKHD#sޞP8���<���WP���
��p
�$��p�
+v 1��$M�j���'��
��̒��8I`�J{c��\y
H����8�.�-�
	�"�
�i8�6a&�`��=,��R��*q8�$.��i8���<4��H�^ (��U�q����G$�d�o����-A�]J�.%�u�SU�����ץ��
\�n�B��r�
+�0���%�D�p�5�"�ȉ6';I"�>��{gwE��8�W���k�Y�ݘ�����
�
{ɛ��QG
[D��jA�5l����)��r���a��S}��j��v�2vֳ$����DF�>p�y��)����9!�ֻ�^U�>�fG&�l��JRP��O���*
-��<�>
����l!�Mj�\�4��`�2�����Ym�d�(30��]��
�u��%4���Z��UEuo�j�"1:d�vMV�d�ҐD���9n�CV]�,i�
H��\�_,d��'��>�� ^[���4��Z=N�&{l��;�/VyY��
x1(
J�
�.�0�9����3
mz��;�Vx-��*KY)��(���_����-��Ԧ��Fx*��6�qr�=�ց����}`)�w���ސ
f��S� ��˚n�~��;;_ '�e])Knu�R��Ne�2*L������F+='��?+Ƙ��\(�
�>p�n��WAH!{�nL
+J�E��������k�
+��ge�
+�FC�3�̿+F�l�.4��`��p1�[
���4�
+����L��eW��"�
[��{�4����X�Ջt��Z���
+Z�3�ڻ�g�K�vS�K/��4�2�=����ڽ�������Y7�I����!�m{M�d��Y��8Ia��я�C	� �^�D<���)����iׄ�������Y��!DTt��,rT���.k�U	��)֘
1�]�9P$>T�WF�^���\7">D�3����q�NiH�6 1�9k�Э&�^>��W��/�����-�
2� �N�
+@(KGY7��l견�4G�����jV���}q�4K���K�
+Z
6sh&G@_49�k���8N��F�BN ���_Ow�
�}	���gr�A�<�8(�=h0��?t�?3�Rh��pv��ٯ'�2	e�sL�v5A�、^D��-��
"�
�o�Cv�!�蛨��	�%����]`
�v
�8B�|�8���y\�����3
Ac<���mH���G
?
Ϣ�1�f���¤��E�OII�;y^�lI�
��/R�k�����=cl>�OE�e�v�qI�3��__�����|yB�E�I,#�v;���7SeSE�b��z[��jF��gݡ��\(�����{̘j��ٺ1�S&����U|��$L
<�Vt�Z�p징x��@2��l�h8t���yJ7�i�@�y0�
Jr���p,�{`	h˶�TieZ)���覍�gF����ے���0,�.�W� &J� �&@��Gp���+<���+V{
�1�Tn��T����s
E����”M�����@

�J���,�w��t�{�/�����v2���5���{��M�e;\����g��1��+� ^�u�^�P:�������@F�έj���HS���4n���7B'�����Z8������j��x�Hy2;��&*��k�󠓋�PD�uχ�\�͍�rA�j!(�"ж[__���ﶷ�i�{�@��%
r�Ͷ1��2�i
��
m�
�q�sN��x���$'<
+ϩ
�@
w��r�R���yN�$�CsR������
LiD��4�u�x���,}�s�SF���}j���(ĕ�������P`bE���j
+�۾�ὲQt�������*
}3?e�!+Lj65�c6��X�k���A�\�{���
�/�x��ۮ�__]
�G���P����~_^�*�ႰgT�p�����z&w:���OY$ 
+endstream
+endobj
+7489 0 obj <<
+/Type /Page
+/Contents 7490 0 R
+/Resources 7488 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7266 0 R
+/Annots [ 7462 0 R 7484 0 R 7485 0 R 7486 0 R 7495 0 R 7487 0 R ]
+>> endobj
+7462 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.718 695.563 337.968 706.467]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7484 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.521 512.863 182.709 523.767]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7485 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 476.998 124.191 487.902]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7486 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.542 155.332 513.996 186.3]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0651bfc78898bf691898cdb599198ea9) >>
+>> endobj
+7495 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.635 143.999 232.246 153.897]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0651bfc78898bf691898cdb599198ea9) >>
+>> endobj
+7487 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7491 0 obj <<
+/D [7489 0 R /XYZ 90 757.935 null]
+>> endobj
+7492 0 obj <<
+/D [7489 0 R /XYZ 90 733.028 null]
+>> endobj
+7493 0 obj <<
+/D [7489 0 R /XYZ 90 285.879 null]
+>> endobj
+7296 0 obj <<
+/D [7489 0 R /XYZ 90 263.568 null]
+>> endobj
+7494 0 obj <<
+/D [7489 0 R /XYZ 90 263.568 null]
+>> endobj
+7297 0 obj <<
+/D [7489 0 R /XYZ 90 135.033 null]
+>> endobj
+7488 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F10 507 0 R /F13 581 0 R /F7 541 0 R /F1 580 0 R /F11 446 0 R /F8 540 0 R /F72 404 0 R /F23 368 0 R /F100 1390 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7499 0 obj <<
+/Length 2379      
+/Filter /FlateDecode
+>>
+stream
+x��Zߓ۶~���O-5�p�
�w�qcO�d�M�O��CK�
�)SR�׿>
 	
+�t�/��� �v��} ���'o�����~�p��LR�ܬ�
'J$(In�ɻ�`��lN0����i�l�og����X6��ʏM�<�x�CYy����fFtZ�ve]��T���:��l�bU��բ0CS�S������W��\}�"�
NH��PH1�,6W���d	��'�S���Vj�p��N~����4�2���(�_d܄�<�
<�
��E]������L���jo�M�B
��2�T���r���O�lk%V"4q̽ LM�(|8
+A�R/����]��r���
+9�k#�%s�)f��\/�:��
+�X�.��bFD
+����n�}[W˲�u�����7�":ЀR�4�#�%��y�
�S���(�T!I�Oߔ3*���
+��fNh�� d0�fH�l��
�$Z��/���	d�FX���خ=R&s�Ds��_�D�����(0
q�V�rbl �QF�o� �D$�Ty��D!$�+�y���q(�J��8�4�[e)�tf���t�~�~�xƃɂ�b`�@�st(	�#C� X��@�YLu�(����lΘ��"R���C��M_'��W�E�p�I$�](�r�!43���Ms
+E��>�T^=P'>�:k��&KW;@�L���a�x��D��%�
�/����~��Q�/1�)"�
�ۨ�2M��s����ٌ�hJ�/U}�ӾTA�T
-
��!�E2����L�ʋ2T|�
��dhv>C�%�lZ��
��@�L���
�*�t"C	!}�Ƃ��A� �N��� 
H�I��H�.b����>!�>
�u����
�!�
+��}mѸ��Ɖ@d��l�B��޾v!�"�j�pJ
��ӡ��%,		Y�aBon�zW��h{Kཪ����v�@Ϫ�K�}�̄��;"$8�C�"وp��"\�.B{�%�7EU4����[�Q���ʷ�7Z9��G|�
����1߂����n�Έ�-A�T�5�0�xU;=�5���N�WK�Ⱥ�
�b(ц=�}iC����J7HU�=�c Y�d�z[K�uK��c{<���r3r=vAH����B��{Xzi�6�"� �EK(EX��J�]�*��ߞB�� �q$1K �!���VH#J��P�
+u�$��'K��3.�8� � �_�����D������R"병��Z�Bؤ��Vǰ9t� '��z@1N/� 1��'|Hoik̇:�0Fl�þF
�����w�M<�
-H��k��s�6!�Mq��>�����;'w��.7Eו�= �
�]�R!l�
+1f
y�35��N�֠�oF���,zsr[���2�'�tx0�s$�Cl�
���������o�Dǿ8c�M�������Ԧ
+ׇ�#�E���z婼�^������
�\�m+_Nq��7�G7vzDy ���i��JD�Lh�_3)`b���K��L���"���
~��Sr�m2�����T���R5�2�
�c��3Ŷ�e�f��>s+a��V�ax�җsD
rD�4
�a�8���H�[�7M���sǖ�F��6�,Sd1ErS$�0q�hnHv���Σ���1U4����n��5E
P(:�9��c��Հ¼ۼ�7��1zu�6�kH-K�0!�a��;�{����8m<qH�U��aZB)�'(�nIO���v�BJ�i)�����
����X����0H
+�"�
� ���v�A�߆Aʧe�P"4�ā�	$$��b.<A �9)Z)�df��@��/���l�=���<��
	�ߔhɋ���9�ֿ�a�	����.M
т%�Dk�H���#������s!K Ւ��\��:{Ŀ�?�������9؛ɓ�/��+��St�W}�"Փ��y�#X� ����p�g�kt!�!Va;0��$s�N2}�ExF���X�Q�$ZO]��*4}%��������T�3�Ev���!��́?�Q����(��Q$;��
+~cb[GY
+��.K71����dq`�9�
e��+>��AL��8���,3
kH[ f�x<���E!
E�$�SwW2(�#d�[������MYT
��n�ڿݬ�}�^^�ž��Ջæ���ޅ�h
+Ƴ`|D�
��*z����g��� �J�tN�<��
���MSA�� RUtPڃ����ҡ�'��� ���.�
�e��_�ڥ���Z�
���bh�G ~��<5�
-����i��
�EFѰ
���8�a$w���K�����O^�
+�����.
n�c�g"�^=����Nڗ�����9�Ǽ:���6�2���s
mO�
���E�L�v�;�\���^�Hܟ����������h�C���6��_o����i#�	1��[��?��ԍ����s�&����e��
+endstream
+endobj
+7498 0 obj <<
+/Type /Page
+/Contents 7499 0 R
+/Resources 7497 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7507 0 R
+/Annots [ 7496 0 R ]
+>> endobj
+7496 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7500 0 obj <<
+/D [7498 0 R /XYZ 90 757.935 null]
+>> endobj
+7501 0 obj <<
+/D [7498 0 R /XYZ 90 733.028 null]
+>> endobj
+7298 0 obj <<
+/D [7498 0 R /XYZ 250.019 625.571 null]
+>> endobj
+7502 0 obj <<
+/D [7498 0 R /XYZ 90 608.843 null]
+>> endobj
+7299 0 obj <<
+/D [7498 0 R /XYZ 118.164 472.022 null]
+>> endobj
+7503 0 obj <<
+/D [7498 0 R /XYZ 90 457.352 null]
+>> endobj
+7343 0 obj <<
+/D [7498 0 R /XYZ 291.124 344.364 null]
+>> endobj
+7504 0 obj <<
+/D [7498 0 R /XYZ 90 327.637 null]
+>> endobj
+7505 0 obj <<
+/D [7498 0 R /XYZ 90 213.992 null]
+>> endobj
+7404 0 obj <<
+/D [7498 0 R /XYZ 90 189.622 null]
+>> endobj
+7506 0 obj <<
+/D [7498 0 R /XYZ 90 189.622 null]
+>> endobj
+7405 0 obj <<
+/D [7498 0 R /XYZ 90 116.032 null]
+>> endobj
+7497 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F11 446 0 R /F8 540 0 R /F1 580 0 R /F10 507 0 R /F13 581 0 R /F7 541 0 R /F23 368 0 R /F6 596 0 R /F9 618 0 R /F12 678 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7511 0 obj <<
+/Length 1040      
+/Filter /FlateDecode
+>>
+stream
+x��XK��F��+�H娙��c\v�
�jm�\�[�̊,Dh�߻������O�D�������J�&��6�u<�6�8p�k2�G��
gd|K�FA�0b���*d4��e<�
+9
V�/w�mO��?eq�e4z;O�8�����Bf�d����0�/�fS
�'���?�&�knl �
o�o�ƃ
�����(F(2]�o(���o��,ٖVK"����0x7�G�qT�=` ����]P��I��E�H��T�0����U2�H)�Γ4��Y<�7��t�n�I�e)��ƹ��‚��2��ʨ8��MkR:/�Ƣ�HG"����
+~�E�4Hj�g~��1@�q#��d`y��,��T�J�FLK�V�Hb�FT�O��,����%�`Qb��I�T��j at U����<�����-Hm�
;HEǁˆ�\�'W��@n80w�4ѣ4e;JS�V�a����9�a�h-Z\>�E\k�+����c�%]qS,5'���".�H%kq��Wr�����%�����]G\�c%.�L�W�8��y�i��s
��<>���J��p׭T�TG��J�q�2tǪR�[�>�`�4 o��u������3���8�
� �}��fT�M�~0�.��)��B�W���6�[��bt�ꂽ �|���^\
�tu�F�
+ij����A�w��C���Dܔ�c�|����}+�
�JP�d��,�C�Џ�Ÿ�,iDK�
q�Y�B���.s
���;Y��r�}����Ŀu`G��.��~ZX}���j���;��H�"�M���Q6�>��
�� ���
���пw����m�s9�`��>{gڻw<�w��!
+x�_�\�[
j�x�
��%����;e
a��l�(R�8e��Sv��N�d�{���!m�1{��Py+�S�"'��R���I�U��⪫~l
���
��$�ϡRA��?��>^���C�*�v
+�ت
���C��+\��f�����.Zf9P�61wy�

�����O��
��p�^
;I;��P�fw���j򗫬F?O��2�1�G��
+���
+endstream
+endobj
+7510 0 obj <<
+/Type /Page
+/Contents 7511 0 R
+/Resources 7509 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7507 0 R
+/Annots [ 7508 0 R ]
+>> endobj
+7508 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7512 0 obj <<
+/D [7510 0 R /XYZ 90 757.935 null]
+>> endobj
+7513 0 obj <<
+/D [7510 0 R /XYZ 90 733.028 null]
+>> endobj
+7406 0 obj <<
+/D [7510 0 R /XYZ 90 666.98 null]
+>> endobj
+7514 0 obj <<
+/D [7510 0 R /XYZ 90 652.41 null]
+>> endobj
+7407 0 obj <<
+/D [7510 0 R /XYZ 90 580.857 null]
+>> endobj
+7515 0 obj <<
+/D [7510 0 R /XYZ 90 566.286 null]
+>> endobj
+7408 0 obj <<
+/D [7510 0 R /XYZ 90 494.733 null]
+>> endobj
+7516 0 obj <<
+/D [7510 0 R /XYZ 90 480.163 null]
+>> endobj
+7409 0 obj <<
+/D [7510 0 R /XYZ 90 420.565 null]
+>> endobj
+7517 0 obj <<
+/D [7510 0 R /XYZ 90 405.995 null]
+>> endobj
+7410 0 obj <<
+/D [7510 0 R /XYZ 90 346.397 null]
+>> endobj
+7518 0 obj <<
+/D [7510 0 R /XYZ 90 331.827 null]
+>> endobj
+7411 0 obj <<
+/D [7510 0 R /XYZ 90 260.274 null]
+>> endobj
+7519 0 obj <<
+/D [7510 0 R /XYZ 90 245.703 null]
+>> endobj
+7412 0 obj <<
+/D [7510 0 R /XYZ 90 186.105 null]
+>> endobj
+7520 0 obj <<
+/D [7510 0 R /XYZ 90 171.535 null]
+>> endobj
+7413 0 obj <<
+/D [7510 0 R /XYZ 90 99.982 null]
+>> endobj
+7509 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7525 0 obj <<
+/Length 1253      
+/Filter /FlateDecode
+>>
+stream
+x�ݘ�o�6���W�i�љ��C$
�eE:�k�,����jӉ0[�d5I���D}ڲ��	6�I2M
��ǻ#�w�Q���/������!&`�7]z�z* "xӅw�%\G@)���@�0Y���!��f���.�p�!���ɷ��C�0�]=o�!h��v�&
�����U�۹�����xn3�Li�S9���\M ��
��HE��|=������{����S>k�	���>
~�^�'4�
�'@
�(�e�o�6	�M2�����T�
+�?�Ļ�
���!�n�Wj��A�q5�U�?�I-�G,�D�F ��B����L)�G6NgiF�n2�U����>�X$���㎕�C���^(��$ �U�n�	*��s3eв���v(�>����$.�H�{Y�~t�v�G��tj���0%+'v���t9a�!CM�}ђ QeUN ]a��]�qF��C��1s Y6� ���
í�_V��d������.���@U�(�͖�Q�]`�h�y}���)��_�(D��wH��"
G�8z��#�
�=��E
�%稄�Л� ,��;�`�J�������� T�߉�8=�B*�߁P.
�k�D��]�!��C��4w~��.�Zؚ^�/�dPT;��,�D��LO�ҹ
�0�����	��&&7��I�;"�"�g֊�P�T����
+�\��U�j�D?���S��^�6��꺫�}kw�FT]�[�XW��������I/�3~>��<�L #���o~v�5���ۮBLO-u!��,`Su��c��	2cR2�.�G'�p˺�0��ˁf�l�^�bC��h��)o:�h���wG��0^8��L
ݗDiaɦc� ��W�e�>��$�lםk�S,s�2�c�W,o*�8�23���̒�<��B��k*
a���C&�C&W��2�z3yL8�@s1�g���� �,ef&I ����yn�):h�������4Q�G`ꪺK��������&�kZ�b,Y�]O�͐I�)+�B��2{j�l`�
�֍-����� ��,�B�'
L�}���q!�32�vQ��݊%����M���\-�Σ�
e��:|���l��;���>7hVْm�r�
s�"ԇ�v����M
�so��[<\,�6�.n�!R�2@�κ�<�]M?˻I����t?�����!�u���k�r��(��'���9�`d����-Ltv��o��p�ڂ�n݀<��v2
?==���|��mB�t�ݮƇnH��j/7EYo���(��u�����m�
+endstream
+endobj
+7524 0 obj <<
+/Type /Page
+/Contents 7525 0 R
+/Resources 7523 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7507 0 R
+/Annots [ 7521 0 R 7534 0 R 7522 0 R ]
+>> endobj
+7521 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.542 115.595 513.996 146.563]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0651bfc78898bf691898cdb599198ea9) >>
+>> endobj
+7534 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.635 104.262 232.246 114.16]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0651bfc78898bf691898cdb599198ea9) >>
+>> endobj
+7522 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7526 0 obj <<
+/D [7524 0 R /XYZ 90 757.935 null]
+>> endobj
+7527 0 obj <<
+/D [7524 0 R /XYZ 90 733.028 null]
+>> endobj
+7414 0 obj <<
+/D [7524 0 R /XYZ 90 666.98 null]
+>> endobj
+7528 0 obj <<
+/D [7524 0 R /XYZ 90 652.41 null]
+>> endobj
+7415 0 obj <<
+/D [7524 0 R /XYZ 90 580.857 null]
+>> endobj
+7529 0 obj <<
+/D [7524 0 R /XYZ 90 566.286 null]
+>> endobj
+7416 0 obj <<
+/D [7524 0 R /XYZ 90 494.733 null]
+>> endobj
+7530 0 obj <<
+/D [7524 0 R /XYZ 90 480.163 null]
+>> endobj
+7470 0 obj <<
+/D [7524 0 R /XYZ 90 408.61 null]
+>> endobj
+7531 0 obj <<
+/D [7524 0 R /XYZ 90 394.04 null]
+>> endobj
+7471 0 obj <<
+/D [7524 0 R /XYZ 90 322.487 null]
+>> endobj
+7532 0 obj <<
+/D [7524 0 R /XYZ 90 307.916 null]
+>> endobj
+7472 0 obj <<
+/D [7524 0 R /XYZ 90 236.363 null]
+>> endobj
+7533 0 obj <<
+/D [7524 0 R /XYZ 90 221.793 null]
+>> endobj
+7473 0 obj <<
+/D [7524 0 R /XYZ 90 95.296 null]
+>> endobj
+7523 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7539 0 obj <<
+/Length 1263      
+/Filter /FlateDecode
+>>
+stream
+x��X�n�F}�W�%�j����N�4\G�c����J�Jї�}�Z���(�c���%w���9�٥�MD�_:?�;'�4�,����?�,��"D�Qt%\&]����	�8-���<a4�M�ܺQ�>d�EZ|��>d�K����H��n��fy�e��o'�b�o/������U��61�*����;u ���`�&��h8�\^�h���#�dM��j	��:�>u~����'Tɍ�'�����
+��
�gsW��xs�?SI�.Z=<��\
��
�� �ѻ�
�.����G[�1W�f�. ����v�Ɵ)e����,Ҭ\�z�Y�(��fr�A�Ʈ\��N6�0HX��1���r\ �ѕ�R��8�"��+0���
W�y͈�����2���% cLh�L�m!0�i�$1����7� �Ⰱ4yhH��f>+� f�
+Cgm%��q@�4 I4ب���^��^&+��&\��S��3XR�>?@#f-aB7�A� ��&�%I�ɰ74��*N��m�! '�1�Xȿ ܨo�d�ұ�&�x6"C�7�"DJ7`EC���b��
�����
HU
�t;t���L=�i����
�Z
r����Gb�
��z���X'�>`��<�f��#�����X�<�M����_g�/�^a��N�W?`���S�
�n^b�[s�6vj�!#�]�E9��&.�)o�(���(��j�Io �o�Y�d�P5B�ٸ�����b��eS������Ck*aJ�����uF+�
��¯ڳ���.�I�t�1�!��=�z�i�8����<��+�2�AK��D�
(��� ��U�i����:A�;A�W|��U7h�燺A�
+y�D
+��
~�2���2�_�8V'
n
�0���x���,^�\�ל� A�iz�Sot�� �1�j�?��a��k����[B#_H	�$)�?�³����oyc�7�h"4;�'��j��"a��$cG� ���h4��M
��ɬ�8<tf��X;��&T�g�q��儮�����e
j����
�NW����7iJ
8t`������w�u���ue�;��J*�%���t%�KW����O�٬�
l+�<{���<]�j�L}�-�Y�b�C���Z�ꐾ~\�������?��pŏ��q
��4�K'룔�ʔ+�G'�_�C�r����g������h�0��5��-�y�����
�.���ʓ�|r���۰�;s���g5E����>�qp�V����
��-�
+endstream
+endobj
+7538 0 obj <<
+/Type /Page
+/Contents 7539 0 R
+/Resources 7537 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7507 0 R
+/Annots [ 7535 0 R 7544 0 R 7536 0 R ]
+>> endobj
+7535 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.542 460.088 513.996 491.057]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0651bfc78898bf691898cdb599198ea9) >>
+>> endobj
+7544 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.635 448.755 232.246 458.653]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0651bfc78898bf691898cdb599198ea9) >>
+>> endobj
+7536 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7540 0 obj <<
+/D [7538 0 R /XYZ 90 757.935 null]
+>> endobj
+7541 0 obj <<
+/D [7538 0 R /XYZ 90 733.028 null]
+>> endobj
+7474 0 obj <<
+/D [7538 0 R /XYZ 90 666.98 null]
+>> endobj
+7542 0 obj <<
+/D [7538 0 R /XYZ 90 652.41 null]
+>> endobj
+7475 0 obj <<
+/D [7538 0 R /XYZ 90 580.857 null]
+>> endobj
+7543 0 obj <<
+/D [7538 0 R /XYZ 90 566.286 null]
+>> endobj
+7476 0 obj <<
+/D [7538 0 R /XYZ 90 439.789 null]
+>> endobj
+7545 0 obj <<
+/D [7538 0 R /XYZ 90 425.219 null]
+>> endobj
+7477 0 obj <<
+/D [7538 0 R /XYZ 90 353.043 null]
+>> endobj
+7546 0 obj <<
+/D [7538 0 R /XYZ 90 338.473 null]
+>> endobj
+7478 0 obj <<
+/D [7538 0 R /XYZ 90 266.92 null]
+>> endobj
+7547 0 obj <<
+/D [7538 0 R /XYZ 90 252.349 null]
+>> endobj
+7479 0 obj <<
+/D [7538 0 R /XYZ 90 180.796 null]
+>> endobj
+7548 0 obj <<
+/D [7538 0 R /XYZ 90 166.226 null]
+>> endobj
+7480 0 obj <<
+/D [7538 0 R /XYZ 90 94.673 null]
+>> endobj
+7537 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7561 0 obj <<
+/Length 1449      
+/Filter /FlateDecode
+>>
+stream
+x��Xk��V�ί�T���p�>�@Q�dK��k�.�"m"��]֪��m�l����}�`�&i�������̙3g��t��|�t:8y`'B�O}gz�D�	|�%�t�\�#�{C�1v'
�n\���ģ��ӻ�(�٫�cw����lRx$t�\yC*�{��ei./��_�l.�)�!v����t�i@ ,�
�P��3_
�>`g�_8M:[m�r8e�:����hJ�!�]J1D���U�ɸ��?�Mpe��D
17_�"��⡺��{,�7������#�V��<�����C�W��p�#cԊ�P�6y�E�Ob@��#�㨶����
H��~��ՐQq�
	A��p]2�+��`N������!�3.d�)2[��F��T�d��G�
pY�L�t?\"��_v�:
���a��r Iˁ���� u`6$
��)T��#�B
Hs�<pk�gj��{ȃ�ևȴ���Π��P�6�
�1cQF��"���kD9Ԣ�H�r��b4���`
+e
+8 
�
�0����|��
?�j-Ȃ�=�U�y��Ύ��V:������IM��_}�
�!TU�?N�pgЯ\ ,��
n�o���j��'Dg���2?�r`�|��S�,<�
j��������a����X�ӎ
#6}�tP
E�)ߘ~o(��@����(��PQģ��
�k9O�4�S�
M��m��zD���
+�v���(Y� ��rnZ��"�oV2��A�:/j�J�X�w��V���,e��'�d����:O�ܣ��&ٲ�tLS9�
L��8�(

�DM��&F��J���:E77M�L/Q#m�
㈄���ݯ ��+�y�s�u�Y){��YVi�_�b7��
�
��&E�,�ժ�m]�PCp��?%�<�,d�:���l���z��n�	�F�~�j�(�����g���&s���)�[�75>���E~����Bf��}���bi�
m�
�gU��P|@?te%���<��
w6�8;={���_���Ԃ�Q��s->��jeB���P,��k˝�I]�
C���K��~�Z�$Tj:1��u�҃���	v���7�"����Gq�tsu}��1�~���r:
OƗ������ٳW�
�p�������+��>�Z2՞
��t�e�wO<����={��M��O��_~7w�3�G�;�u#O��Ѯn�偪w��ʦ��:N�
+�`!-�O��V�IV�.姍��Hoq��ڭ��hw�����ִR�B4W0����ȴ_

`�]
�,�3�
 Y����mN鈍�m�/���Y3v�U�{�6oT�\�(?^���
|H�������� j�&��	��
��������
����������ڬ_��&Nw��V�b��aXjԴD�j)/e�&&�?����@O�]�$���A�P�T�ztr��nѼD�,Y(�N`�ܟL{^�
i&eC�U^��

��f�.��7�M��
+endstream
+endobj
+7560 0 obj <<
+/Type /Page
+/Contents 7561 0 R
+/Resources 7559 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7507 0 R
+/Annots [ 7549 0 R 7550 0 R 7551 0 R 7552 0 R 7553 0 R 7568 0 R 7554 0 R 7555 0 R 7558 0 R ]
+>> endobj
+7549 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 245.703 244.968 256.234]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a0f5e373c7067f61d03e3a90724a6983a) >>
+>> endobj
+7550 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.738 245.703 294.581 256.234]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a0f5e373c7067f61d03e3a90724a6983aac4528dcb9794c502cf7c9bd65e9c54ae) >>
+>> endobj
+7551 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [150.585 206.849 255.909 217.379]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232d) >>
+>> endobj
+7552 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.774 206.849 448.819 217.379]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232da6a4badcfd0bb8d6e536fa16b2d5108d0) >>
+>> endobj
+7553 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [463.855 206.849 513.996 217.379]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232dafb044a16e827afb114b4a2b9ba86fcbb) >>
+>> endobj
+7568 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 194.894 232.286 205.424]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232dafb044a16e827afb114b4a2b9ba86fcbb) >>
+>> endobj
+7554 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [235.275 194.894 335.777 205.424]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232da4d21924dceed7aac6368d4bc5affeccf) >>
+>> endobj
+7555 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.764 155.666 350.54 166.57]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_adda1de457524bc20064ace508201876c) >>
+>> endobj
+7558 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7562 0 obj <<
+/D [7560 0 R /XYZ 90 757.935 null]
+>> endobj
+7563 0 obj <<
+/D [7560 0 R /XYZ 90 733.028 null]
+>> endobj
+7481 0 obj <<
+/D [7560 0 R /XYZ 90 666.98 null]
+>> endobj
+7564 0 obj <<
+/D [7560 0 R /XYZ 90 652.41 null]
+>> endobj
+7482 0 obj <<
+/D [7560 0 R /XYZ 90 592.812 null]
+>> endobj
+7565 0 obj <<
+/D [7560 0 R /XYZ 90 578.241 null]
+>> endobj
+7483 0 obj <<
+/D [7560 0 R /XYZ 90 506.688 null]
+>> endobj
+7566 0 obj <<
+/D [7560 0 R /XYZ 90 492.118 null]
+>> endobj
+1463 0 obj <<
+/D [7560 0 R /XYZ 90 369.376 null]
+>> endobj
+278 0 obj <<
+/D [7560 0 R /XYZ 90 362.776 null]
+>> endobj
+7567 0 obj <<
+/D [7560 0 R /XYZ 90 262.401 null]
+>> endobj
+7569 0 obj <<
+/D [7560 0 R /XYZ 90 174.759 null]
+>> endobj
+7559 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F11 446 0 R /F79 505 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7614 0 obj <<
+/Length 1737      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�F~�W�ɑf²+iuq��$i�q74v;��F��V����={ _�$�<���~�sv6.
l��<?��}l�(�l�8
!6|� j�td��#dz�cl�-��(K�A߲�9�,��(�o�,ʖ���G�A?�H`N/&,��6��I����;6f�1K�
��v�M���ם����
ja�5��|�äs�
#Xm�6a`\
��pm>'�I��j�� �QiR~1��R�c�\�J���<
�4ͅ:�_�zf�C�]�F�fxn۴�Gڐ]*c޽�g]
+
��Ωn��\�sL�Z���
�	KsPpP,g�i?P
``Bִі���%��-����%.
+]WZ�|
OF*X��(�xG宣��2�,��(�Fa���R! !��>��G��	� �
� .X2�D�0�w�X��>r�@�,)j�<D��NL��I����.A
!z�/B�n�O�D
KPHU�l
|��/�(�Z];���Y^��B)�%�
B�e
+�,B|
����7e��^���eS���3�,�]N�j�z�i���[ܔ�{Ӌj��r�3˦ܑ� �n,�Ί8�?G����Qc5%�~p�����	W�
���myAY�i./�g3����*)�P))�p-��R~�gGL������_�T��$�>��N�R��Y\))9�8�(͗�c�)�
+����4N�{�$ ա]�B%�V4��8@~�kC�C���9&n&���j�!�
��OML]�C�)x��H��׷��|u!s��NH��4����ͱj	
�Bd��F��ITH�I�t$�N+�'�&*�E�^�ϊ�
Mh�$\y"@��i�L(�%����#��C&�
���BZ-$��p��c�����/�.� @�AK�"�L�(�
�T�[K)6RMg�>�eɎ�jU �]l�S�-�ɜq6��Ga�|0�ӏ��������z������H��UWU?�K;Z����M���aGs��2~��;�
MW�R+-����2 cl��e�	H�g!���S�I�
Ѥ-z��in9���>��w9�x$��xp����C��@.�HL����e^4i�{ü=�
�$�F
���Q��
ٗ=W�a��K|A��R�ė���-J��$j���%�\��!�|��_����6l�e �|V���4��s

�I	�'�_��
,x�%o�
�� #���}/��HIwr�[��j�ZGqeK=�Ζ�v>,��(�{\��w]��v*ljS�9vp9o�h|䯺x
������Uwׯ�<�����=��3�E������ϠE\����U*,��+�zKG��
���oL�Uq��[�X1��|md�-�VGc�����xnr�rh��jq)�;��	��e����uǜ���\@���>���c�-����������	l�AN
�f�~���0Ӯf�娚.d���+�I��D��4����
)�~w�C&���`�
!Rk#��V�/w�Y���"t���Q��l���i���.���B�:�WA����
+d{@�y��fj�C?	���`������mÕģ����ۏ�[Ưʶd�i�����Xu���[$�B�Q�G��l8�Tm=���Q��$h�B]�H{���	ԋt"J��N����D�N_�1�R�%�
 ����E��\~
�s�r�� �'[
d�
CVׁr�tFH��5��x�튶$��(_^s]�l�׻��F�
��x�����f�����
+�u(
k�L�Y9K�b�,0p���?
+endstream
+endobj
+7613 0 obj <<
+/Type /Page
+/Contents 7614 0 R
+/Resources 7612 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7507 0 R
+/Annots [ 7556 0 R 7557 0 R 7576 0 R 7577 0 R 7578 0 R 7579 0 R 7617 0 R 7580 0 R 7581 0 R 7582 0 R 7583 0 R 7584 0 R 7585 0 R 7586 0 R 7587 0 R 7588 0 R 7589 0 R 7590 0 R 7591 0 R 7592 0 R 7593 0 R 7594 0 R 7595 0 R 7596 0 R 7597 0 R 7598 0 R 7599 0 R 7600 0 R 7601 0 R 7602 0 R 7603 0 R 7604 0 R 7605 0 R 7606 0 R 7607 0 R 7608 0 R 7611 0 R ]
+>> endobj
+7556 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 697.247 172.361 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a1ee38be62a49852994bf906003b0c23c) >>
+>> endobj
+7557 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.176 697.247 241.819 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+7576 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 646.438 172.361 657.342]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aa682606a24cf76b2d13ef9d70b0b4dde) >>
+>> endobj
+7577 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.603 646.438 242.246 657.342]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+7578 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.937 646.438 407.714 657.342]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+7579 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 646.438 513.996 657.342]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7617 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 634.483 160.176 645.387]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7580 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.334 634.483 379.133 645.387]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaac82e7e0179442ef589f2fc61302d654) >>
+>> endobj
+7581 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 561.755 172.361 572.659]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aee0ae23c1027e709991811b8398b9f46) >>
+>> endobj
+7582 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.91 561.755 244.553 572.659]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+7583 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.12 561.755 448.369 572.659]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7584 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.485 549.8 275.283 560.704]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaac82e7e0179442ef589f2fc61302d654) >>
+>> endobj
+7585 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 499.987 172.361 510.891]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a5da8e430d26c6471590e2c7ae5f7d82e) >>
+>> endobj
+7586 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.849 499.987 245.492 510.891]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+7587 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.932 499.987 379.759 510.891]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+7588 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.747 499.987 513.996 510.891]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7589 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.57 488.032 332.369 498.936]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaac82e7e0179442ef589f2fc61302d654) >>
+>> endobj
+7590 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 438.219 172.361 449.123]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a3805575c5d920cbc808cf34e44c11fee) >>
+>> endobj
+7591 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [199.698 438.219 258.148 449.123]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+>> endobj
+7592 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 399.738 180.109 410.268]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aa4a79e7bb87171b31d49429f9d875dcb) >>
+>> endobj
+7593 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 360.51 172.361 371.414]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+>> endobj
+7594 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.1 360.51 223.907 371.414]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a40f18b846fb1fe73b63da7fa7cbbbbca) >>
+>> endobj
+7595 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.244 360.51 309.694 371.414]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+>> endobj
+7596 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 321.656 179.554 332.56]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+7597 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 321.656 250.666 332.56]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aff27d012a01487b7c9c14a9a3b40d9b1) >>
+>> endobj
+7598 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 282.801 194.208 293.705]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+7599 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.948 282.801 311.935 293.705]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aa9f9e9fbb372e1f21bd0472b2db20567) >>
+>> endobj
+7600 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 243.947 170.687 254.851]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_adda1de457524bc20064ace508201876c) >>
+>> endobj
+7601 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 243.947 243.314 254.851]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a8ccc13c9fa8f27701c935b481a371f89) >>
+>> endobj
+7602 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 205.466 170.687 215.997]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_adda1de457524bc20064ace508201876c) >>
+>> endobj
+7603 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 205.466 235.712 215.997]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_af46e579954688eec46ac0a43029fdaa1) >>
+>> endobj
+7604 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 166.239 214.681 177.143]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7605 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.421 166.239 301.724 177.143]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a3800cc1eb2fb15d0c42dd71740bb661a) >>
+>> endobj
+7606 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 127.384 196.709 138.288]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaac82e7e0179442ef589f2fc61302d654) >>
+>> endobj
+7607 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.207 127.384 276.688 138.288]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a162d95e1149e222a317370e2fa25a120) >>
+>> endobj
+7608 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 88.904 155.265 99.434]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a4d480f0b906eef0c0094c8fabc69a3b3) >>
+>> endobj
+7611 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7615 0 obj <<
+/D [7613 0 R /XYZ 90 757.935 null]
+>> endobj
+7616 0 obj <<
+/D [7613 0 R /XYZ 90 716.221 null]
+>> endobj
+7618 0 obj <<
+/D [7613 0 R /XYZ 90 457.312 null]
+>> endobj
+7619 0 obj <<
+/D [7613 0 R /XYZ 90 418.458 null]
+>> endobj
+7620 0 obj <<
+/D [7613 0 R /XYZ 90 379.603 null]
+>> endobj
+7621 0 obj <<
+/D [7613 0 R /XYZ 90 340.749 null]
+>> endobj
+7622 0 obj <<
+/D [7613 0 R /XYZ 90 301.895 null]
+>> endobj
+7623 0 obj <<
+/D [7613 0 R /XYZ 90 263.04 null]
+>> endobj
+7624 0 obj <<
+/D [7613 0 R /XYZ 90 224.186 null]
+>> endobj
+7625 0 obj <<
+/D [7613 0 R /XYZ 90 185.332 null]
+>> endobj
+7626 0 obj <<
+/D [7613 0 R /XYZ 90 146.478 null]
+>> endobj
+7612 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F38 2120 0 R /F97 1188 0 R /F105 2458 0 R /F106 2337 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7665 0 obj <<
+/Length 1822      
+/Filter /FlateDecode
+>>
+stream
+x��Z�s�8�_�S�I ���2m�_�\��{h;
1J�Հ����_+	0`�؎�ޓ�%�v���/�֍�����/�o\l���[�ז�-��(�.#�ː`d�ј`��g#��a���و�a6��Q
�<��ON>�;
�����T$�1exx:
�4�sq-�H'�R�ᡍ�ѷ���ח�la�h6��\�Y�d���"������u�W%�Cm��Z�?���kD�-D��Pa�r��0gF�s!E!�ov�)C�%��+ƶY�7�8��rMq��Z��i��zQf4r%̯�1�fXM��\�Nj����,9��i��S��� �]�02��䯔�
�˘�

s
�s
+���D�\�R��Q�Y8A'"�q�� L�@$W"��U;�b���
�T��~&��'@��
+�U:Eܡ֘8�w
#�(�=R���T�$=����T��,��f�T�y=�+e���4Z��#N;{Z'/Ĥ��&0��=0�
�=�=Y����F�+��(&0Wl��׈^(AG2�E��8 f�����
���_TG�ǻ�L�
+�H(����|d�C��Q�;�G���2.`
�1A�ϼ·h�;xx�ܴ�7��nB	�8�X��LDc����#��t#��ɣ
�a��L��}yo������+:����W�M�8�Dkc{��'�A�:��K��A�
.�e!�~
��Xk�����m�u%>R�
+ؾ�J ���)�e
����|S�]�1%V�s�T!��y
+d�#���"̃�?g��r
�#8��κfQ>֒T�V������>h!������ �:S�ڬ����PI$Y$vO�>7I|ZCB��
#{=F�sG�!!r���^���{:i��]/���m��U�M7��@�t��0U��:h�^��h�kpz+&�n���n�
O�b��z�
�F����O�۠}�ovk��Vp�T{����|x��R65���)o���i��E��*����B���-B�Z�V�"U�C��C���
���D
J!��j�2�I,V�CM<�'��-:c��u8�&��>��D��t@�D��ـ���m=��#�Ց��
V^����Ѿ�����~��T�
u�|�2��!�u�-R۳l�]��Z����$��a%�W:=p~���v��٣�:�#)G2i�yz�&I8
�9\�XV�30u��O
�3E��X����Φf���\CM�f�
A�_�],�6�ú�v�������ܲ��"�[{o��o�{-B��[���
�\�<m���\�	#O7.���= [...]
����ښ�7�r�?Wm�<X�O

�
:�����

Y퍑�!�Zԁ@�Ȱ
+E� ��r�Y>Y���$�����[鿬V���Fl�*g�*�>x梭r�t�QR��
��B�=�V����D�

͖��q͓�k��<.ꊪ�e`;��C�Etr2y�c�
C*��Ԇ櫋�w���hzVf��–A���k&׿���PT��}Vp��3Y�",�e
�_�C������}[W��\���8˟>};˫W	+�ߡ^6��������5�og'1���y�L H�f�e*�d�M�!f._��|�\!5�Y�Mt?��
���	
����(v�f7��01VbsYE�3�f$O����cT���G ��O)��F�
�;�)L���٘�Q.��!ʖ�hl
iY����[��2'��xj�����������M$���,Gqq<�M�[J��L@��ҹ^W�ԓ,��.��h'���� �
y
+endstream
+endobj
+7664 0 obj <<
+/Type /Page
+/Contents 7665 0 R
+/Resources 7663 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7674 0 R
+/Annots [ 7609 0 R 7610 0 R 7632 0 R 7633 0 R 7634 0 R 7635 0 R 7636 0 R 7637 0 R 7638 0 R 7639 0 R 7640 0 R 7641 0 R 7642 0 R 7643 0 R 7644 0 R 7645 0 R 7646 0 R 7647 0 R 7648 0 R 7668 0 R 7649 0 R 7650 0 R 7651 0 R 7652 0 R 7653 0 R 7654 0 R 7655 0 R 7656 0 R 7657 0 R 7658 0 R 7659 0 R 7662 0 R ]
+>> endobj
+7609 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 696.002 278.681 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a3aa58c4d8ded71e574db9d1c59533300) >>
+>> endobj
+7610 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.497 696.002 348.14 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+7632 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 657.148 273.002 668.052]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a0bf7e46a624f9d9df1528ae0b47ad55d) >>
+>> endobj
+7633 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.34 657.148 357.116 668.052]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+7634 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 618.667 194.567 629.197]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_ae60e06beac90231262189084333bda57) >>
+>> endobj
+7635 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.904 618.667 265.411 629.197]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7636 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 579.439 198.443 590.343]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a3a010e69cfabe1a026ee21f7639207e3) >>
+>> endobj
+7637 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.78 579.439 303.607 590.343]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+7638 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 540.585 226.268 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aea40406b8f95d9ca4f61f23598448cd5) >>
+>> endobj
+7639 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.605 540.585 330.855 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7640 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 501.73 229.446 512.634]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_afc1e5cbd96d9c2819ba1ec2151f3897e) >>
+>> endobj
+7641 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.261 501.73 316.06 512.634]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaac82e7e0179442ef589f2fc61302d654) >>
+>> endobj
+7642 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 463.25 187.583 473.78]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a49625522da117289c0312c67060210f2) >>
+>> endobj
+7643 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 424.395 201.7 434.926]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gadf9d6f17d8974c81e3499f170e7762a2) >>
+>> endobj
+7644 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.198 424.395 225.072 434.926]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a21e9dae374ecb009d8f7f268f5e673e7) >>
+>> endobj
+7645 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.29 385.168 249.272 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a22183a1ac7a9af9929c6153e2a7a659b) >>
+>> endobj
+7646 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.358 385.168 321.181 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+7647 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [403.975 385.168 449.992 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+7648 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.029 385.168 513.996 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+7668 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 373.586 135.27 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+7649 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 334.358 179.255 345.262]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+7650 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.994 334.358 248.434 345.262]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a485bfce228009ebec2a7bd83d695eddd) >>
+>> endobj
+7651 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 295.504 179.255 306.408]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+7652 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.994 295.504 260.629 306.408]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a3601b97efe162fca1df11d70b0b3d607) >>
+>> endobj
+7653 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 256.65 192.664 267.553]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a7f2b2dce631b12fb46f6f1fa719e6c84) >>
+>> endobj
+7654 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.48 256.65 242.497 267.553]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+7655 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.44 256.65 319.457 267.553]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+7656 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 218.169 150.493 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_ab5ff957e959947c6016cd28be6e2fadd) >>
+>> endobj
+7657 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 178.941 181.845 189.845]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_abd1a41cf267b29ebf81851eb096dc6de) >>
+>> endobj
+7658 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 140.087 181.845 150.991]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a1ef2a882e1f0a3121f94eea90a9a16fe) >>
+>> endobj
+7659 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 101.232 154.727 112.136]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a8a238e31c3b4acf8a023a6346bbf752f) >>
+>> endobj
+7662 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7666 0 obj <<
+/D [7664 0 R /XYZ 90 757.935 null]
+>> endobj
+7667 0 obj <<
+/D [7664 0 R /XYZ 90 520.824 null]
+>> endobj
+7670 0 obj <<
+/D [7664 0 R /XYZ 90 236.889 null]
+>> endobj
+7671 0 obj <<
+/D [7664 0 R /XYZ 90 198.034 null]
+>> endobj
+7672 0 obj <<
+/D [7664 0 R /XYZ 90 159.18 null]
+>> endobj
+7673 0 obj <<
+/D [7664 0 R /XYZ 90 120.326 null]
+>> endobj
+7663 0 obj <<
+/Font << /F70 402 0 R /F79 505 0 R /F107 2332 0 R /F97 1188 0 R /F56 367 0 R /F39 7669 0 R /F106 2337 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7709 0 obj <<
+/Length 1773      
+/Filter /FlateDecode
+>>
+stream
+x��YIs�6��W��R3
p��K�4
�q��n/IFQ�Ė����>,�D���8�^D
��
�����/���G�oCl�(���^X1�€ �!����d��`<!c�rL�M��N/���l�b�Nߧ��V�������e5&�]�2��'�����k=��L}f<a@�q"l���\��|=�:"���b�Q��V��>}��
��Y�M
Yk�*�<Džgf]�~a#ҡ��vD%8@�Y!�H�����8�b��g}�� ��(23/����яj���I�N�����˯���k1?;KkQ1jtsR�<�o�`�؊�����:
+<ǚŞ��=�%5{Q�=�.rI��m
���\D<�'���+z�A�N��rM�����s9t�j�6+��f\P�f���&J�ļI�\��6Gt����M^v�)@?� ��(�(BI�k��W{���f�f�HH�\�u섭��1v�T�
�k�*
R��

�a��(�c��$)��/����m4� ��x=pZ"����a�9.l�
���IV׋&{1$F�p�ɺ�Y=H9\t�
�b�:��D�>��-2{n4q0Fa���E19�F�������6�:��MŦd��
+�����M�t��>�w'�vF�p�֒��o91V�(����R�b��Q3o>&IS��kԮ!;2\y�3@؁�N�v�#����!�1�dm�[�*�?1��-�SNe]ʟ�'�q<���
�<��n�"�
�6ƽQUA:?�'�*#�C�;����.-6�l�%�^�i9�:
?~���u*V�H���� ���L����_\TE�x"�h����	��5��%��P*[*���03�9D���w
7J�UU�� ��}��>@�tU7B=�C�8�l
<�CO�
���
���7y���f��EQԹ�M����B�{��^
�(�"n"�w��TVމf�e����3�O��6<��y?1�>��Hu�q��У��9�5�������i]҄M��Gs���,
����� ����r��W"�PVJ����&%;R^�#��!�����eT�EC��{��`Z�^�&-(D[�����Q�IZ�/DW�t�Z�g�;��b�G~�݇%��m;��
+.JVQQ߃zs�}��.
+�|y�!���$��l�4�/�戣�?\�d�C1;�x쁡z���ec� U���T�
��,�O<K����`���Ex���ѡ��A��SOn_
f�`/���D �{��6��=��x���GBw/��,Ii��P��9��]��X��^�hCC��&��}�
t qwn�1�yo��i�Ɠ7�N��&�(�`O���Ժ"��\� �Tq#v
��3Z�
+
������/�D�Տ��#�+�g��_,f��OUX�Qb.a�xR�U�R=���J�|y�|I\`�	�
�
��踔�:�m"`�����n3
  Zg��kWK�nRy_tv$�ޓ��������7J��!ۜ�c��TX�y�
F���o�V1��/k�(�k����v���KPG�Wi
�1�ڀ#�M���m����i"�v��P�� �o�ľ]73� 1x�s�g7�o^�Zt��]�V)���bj�W�/
U�e�J���� Q�
�.�
��K�S�m�y����g�
ȏ�����o��>�hE��^ַ���C��������V:�uQݼ��]����_��Y���y5`���i���|['���R2��W��\�\[��W]�
nI�;�j������z�FI���J�iYf�w��
*�+�m\_���Uw����nG���3�c
+endstream
+endobj
+7708 0 obj <<
+/Type /Page
+/Contents 7709 0 R
+/Resources 7707 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7674 0 R
+/Annots [ 7660 0 R 7661 0 R 7686 0 R 7687 0 R 7688 0 R 7689 0 R 7690 0 R 7691 0 R 7692 0 R 7693 0 R 7694 0 R 7695 0 R 7696 0 R 7697 0 R 7698 0 R 7699 0 R 7700 0 R 7701 0 R 7702 0 R 7703 0 R 7704 0 R 7720 0 R 7706 0 R ]
+>> endobj
+7660 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 707.334 176.505 717.865]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aabfec033a504656ea05620f485442b1e) >>
+>> endobj
+7661 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 692.34 450.955 702.245]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a1ef2a882e1f0a3121f94eea90a9a16fe) >>
+>> endobj
+7686 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 657.148 191.718 668.052]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+7687 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 657.148 288.852 668.052]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a25be5d5e126674d8aca8b9ec828e289f) >>
+>> endobj
+7688 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 618.293 191.718 629.197]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+7689 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 618.293 303.079 629.197]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_ab151aa3732a4737e63c5142b42159dc3) >>
+>> endobj
+7690 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 579.439 156.281 590.343]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a623847fa141f97cd59f3d85627536379) >>
+>> endobj
+7691 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 579.439 218.547 590.343]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+>> endobj
+7692 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 540.585 219.234 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232d) >>
+>> endobj
+7693 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.732 540.585 311.916 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a1e73b39b2848f8141aa58219cf97dead) >>
+>> endobj
+7694 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [315.731 540.585 422.161 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a0f5e373c7067f61d03e3a90724a6983a) >>
+>> endobj
+7695 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 501.73 224.993 512.634]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a42acbf3b42263a3dc137395dc8fe1421) >>
+>> endobj
+7696 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.808 501.73 334.132 512.634]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232d) >>
+>> endobj
+7697 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 420.968 203.075 431.872]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+7698 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 420.968 296.324 431.872]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a28dfc886a103ede666395ab45fc7950c) >>
+>> endobj
+7699 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.488 406.347 334.373 416.252]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+>> endobj
+7700 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 312.927 226.034 323.831]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a30c23ab257a58da3708591becad2bf1f) >>
+>> endobj
+7701 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 312.927 379.626 323.831]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+>> endobj
+7702 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.284 274.073 162.65 284.976]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a6ba0be34c122032442a7409f194e157d) >>
+>> endobj
+7703 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.835 274.073 342.367 284.976]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+>> endobj
+7704 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.909 274.073 513.996 284.976]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+>> endobj
+7720 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 262.117 149.666 273.021]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+>> endobj
+7706 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7710 0 obj <<
+/D [7708 0 R /XYZ 90 757.935 null]
+>> endobj
+7711 0 obj <<
+/D [7708 0 R /XYZ 90 726.054 null]
+>> endobj
+7712 0 obj <<
+/D [7708 0 R /XYZ 90 676.241 null]
+>> endobj
+7713 0 obj <<
+/D [7708 0 R /XYZ 90 637.387 null]
+>> endobj
+7714 0 obj <<
+/D [7708 0 R /XYZ 90 598.532 null]
+>> endobj
+7715 0 obj <<
+/D [7708 0 R /XYZ 90 559.678 null]
+>> endobj
+7716 0 obj <<
+/D [7708 0 R /XYZ 90 520.824 null]
+>> endobj
+7717 0 obj <<
+/D [7708 0 R /XYZ 90 439.942 null]
+>> endobj
+7718 0 obj <<
+/D [7708 0 R /XYZ 90 439.942 null]
+>> endobj
+7719 0 obj <<
+/D [7708 0 R /XYZ 90 359.179 null]
+>> endobj
+7721 0 obj <<
+/D [7708 0 R /XYZ 90 224.797 null]
+>> endobj
+7707 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F11 446 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7730 0 obj <<
+/Length 1930      
+/Filter /FlateDecode
+>>
+stream
+xڵXY��6~�_��
U�� �=�}�'�ˉ
O<ڭT�.EA#�)�����ק
R��ە�'�8���A��9�yq�|yq�sĝ�%�
���I���R8ˍ���y�l.8���Lp7����f&�[�;����+��������˛�M=�[�s���e���<m�U[eت�
*e�]O�ه�/��ŧ
bqG1��E^�d��w���/H��νY�w|��7wn/~��V%>V-G�	
2ߋ�Hz����^��\��s��е�)��\�We�����<�k�ۮ jY����d�^�
M��M�ѨR}gu{k.A�+]��^-�T�j8�H��)�;s�0�o��j�^����Dٗ�{��4,�-'�r���9�8�K0�$!kΥE$�o� 62r�'��K��g
6"f�UUY�4��580R��LY���h�
���ʼ#�pVn��A�n����:m�+fGA
?�3�Z����P=4�`I`äV& 4�Ņ��}�+T�
��W�̴�s#0!?�l7�|]v=�UٮП:հ��}k>X���=ckW��C �͔�6LtC�H��D��t1�F6�\m��,��!�"-h��n���F��#%+7��#>	��J�ֹn�6�%��F�)H��њIԞ�u/�
���L�ar2�� k�a]e��Ъ�_g�)�)�nQy,Ƣe�v׽�s�J?�|��if�
+O���gU3w��!C�U�C��)U���rGifAȆ���CpM�r#���Eֹ��`lP+b��I��·��R�=����wG)O�"m�Z�*$@VC
+
�3���
H��j���*#��[�V]cIUj`Ft�H���W]k��
t����?�K�4�U���ⱻ)
4����*���q2 Pa��S '��ݨ�Oxv<�E�
+c-q�������,
�TR�Sk�1cTA	F9�G`1�l���ⷩR,�8�h�+[��F�M�ߚ�JH�
�.-��X
����P��M�B88>�\n���&��&8�,N�Q�Ĥ�^���/����2��@����YL���i��vbWW�e��<_��)�,U�~�/�5�@
��U=
X�zk�/i~�i�W�Ī���M��Ȋs�0�
Z��j�۫��&;'�QFGH�$83f<�脛�/�_����މ�~̒8Ρ}!�tF�
+����z~
&L$`&���a�����	x�=�� ��:��:r�wxǞ�an�?����w�n�����v�Z��b����� �P��S��dA"{_߶JUP��(��

��	5uX]b�횁��s�L�an
+q���Qs�$
�֘Ԋ�q'4xC�|�
+���2ƒ��§
������W���� }K&8���8�&0ϺRm1��2� c_S��LzDS=��?��߼��I�y���L����j]��l�
+1O�s���Խ6����>G�aA[M���� �ߏg^��D�
^{ޡĮڇ�b���^�Y������
�]�6ؙ�1���+L7j/��F�"�B�MC������~8^s��L �y��M�?�������S>Ư�M�3X���f��0��R&�}�tm�7��de�;;8׆ yhC������8����Д��e��
��^b��}�r���R
+�"P����9j`-
�y~����7B��t1-�s"Kph�F��5U���n�{ۂI-l���@�x2�
0	��ə{'}��k�o
x3祁O��IΉ(1�֐Rܳy'ǽ
+�*Cȴ;ݜ��^��Qnr4:=a�+
���"ʽnw�?��0
�
�,	��
+������w_�����o_�w/D���� aA���]�xk�=���8��4�w��q��:-��c�>8��L��$̭�ܤ�G��za|y�VĒ�h��]�VW�����,kXW�f������4JG��Eb��C?�/�>
 ���D��uA�3
+endstream
+endobj
+7729 0 obj <<
+/Type /Page
+/Contents 7730 0 R
+/Resources 7728 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7674 0 R
+/Annots [ 7705 0 R 7724 0 R 7725 0 R 7727 0 R ]
+>> endobj
+7705 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.411 719.912 342.66 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7724 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.006 628.562 322.456 639.466]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+>> endobj
+7725 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.912 598.982 329.362 609.886]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+>> endobj
+7727 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7731 0 obj <<
+/D [7729 0 R /XYZ 90 757.935 null]
+>> endobj
+7732 0 obj <<
+/D [7729 0 R /XYZ 90 561.797 null]
+>> endobj
+7570 0 obj <<
+/D [7729 0 R /XYZ 90 539.485 null]
+>> endobj
+7733 0 obj <<
+/D [7729 0 R /XYZ 90 539.485 null]
+>> endobj
+7571 0 obj <<
+/D [7729 0 R /XYZ 107.713 437.963 null]
+>> endobj
+7572 0 obj <<
+/D [7729 0 R /XYZ 90 427.502 null]
+>> endobj
+7734 0 obj <<
+/D [7729 0 R /XYZ 90 413.231 null]
+>> endobj
+7573 0 obj <<
+/D [7729 0 R /XYZ 107.713 313.747 null]
+>> endobj
+7574 0 obj <<
+/D [7729 0 R /XYZ 107.713 286.515 null]
+>> endobj
+7575 0 obj <<
+/D [7729 0 R /XYZ 107.713 271.238 null]
+>> endobj
+7735 0 obj <<
+/D [7729 0 R /XYZ 90 254.809 null]
+>> endobj
+7627 0 obj <<
+/D [7729 0 R /XYZ 90 232.497 null]
+>> endobj
+7736 0 obj <<
+/D [7729 0 R /XYZ 90 232.497 null]
+>> endobj
+7728 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F100 1390 0 R /F123 2840 0 R /F104 2229 0 R /F8 540 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7742 0 obj <<
+/Length 1933      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�6~ϯ��*5ëDf 
�!]�fm6
k
���D�-���4��;��e;Aע��`آH��w.0�.<��r�����I�=�T@�|�)�A��|��	F,�	��?��l�'g#��tqs�2=y��tvsttzr69�FD���E�
�����
����h
���d���J�3BGoΟ
<>?�p@�-쑒
��	o�<x�{3X�7Jz�宥�)�������D�[E�
+a̽��܊���4Zq��%�K���+�D!Vޘ������

-�䢸�DY�f�����uA(
CxS
=����ub���Y`���p
+ ՑY��{:�R��.�=ш�f�TF�م��
�U�cH����8�WzM�X�䠝�X`��]�*�mTu
r���7fD ޘ��l�b�:7+��j���^@Hۄ
�_3�� 	�^�Pܬ�D/��h���d�F� �?
�hؓ��q��

+� DHB͏Ɠ��Gc0�V�Ĉ���x��%��X�
��ݞZ��G
�i-�k�i��w�ꉼ�e��7Q�z�b� I��9Rtk�S>"��e��|7DM� �ŋ�br��|�"xo��R,��������I����+�U�1�q!��� ��S�o�ٽ?���
���Z�,���OQ���mC�\!^���p 4�<l[Ɵ�A��i:t�1 
+LT���4�KT�Q�S+�����ӓ���O��6�h����*�:�1&���
T� ��:^ ��9|��o�CDمU��Y��& ���¾,!̾��i ^)��ڃ���p��g���(.
�<���I�,�s�ZzZ��5�q�;����EvL� u���kLxf}�c� 0�����9$َ�-V���i�8��ϲ˄A�wѴ�Mκ2I�\��:���U	
��c@���vj��
�U P��]\�N�%"���fS�C��FI�hdKs']�&��z��f�4�-jP)�8=�N��u����"GR�>Z
p)��
�:sQX�R4�
E��{���6]�IQ��c��M/��%�n���8( �9��<H�E�ݱP���ڡ��~05�dMi�jb�|4�UJ]��~8-R'�
{�r��J-w���&��
)Y�����^��nj�B�ň�a�Yw�r�^�5���ȫu�~�it���7*-�Ί-l�����]�d��Y�d�0;�EPC�ǖ�
+���q���,�g
+��إ
��anxm
��m���6*�f�T/]8�$���]C{���	ѱ����:��
��Y�D�d
+�����TZku'�u\\: ��%��EO��,G9�V���@�v"���}�
�P;��cT�ek������V5fW�"���I���P�p{���P	t�;5�k�P
�e�������;�
+!
�n(��������E<��̹��J E�4�x�Q�&���
̺׉}m�F�F��un���G�i}v���(e�	������H����,
ۢ,�P�j��r�
�DbY�l
�<�ec
h�V�R���
��
޷��l���Z���
o:	�t{0���A�d5"�p�
+�-��R�e�8��c�ō}��"]T�!/
�O,@\�#�����!��|�O�`(����n0�CJ�f0D%t�`�C��{�9��w�d(�����!VN{�!���d���H�@î���L6�2�̍ �΃/:��Jo5�Q���4�_u(�1��^
e��P��t�~_�=0-a�p�P�S��#�R�� D��Ld��6�Ɛ�L��&�U!~?��;���`B�&�
����|�7�w���՛˯қ���̓���ֽy��
�4���;C�� ��K�f���=�=3����=V��}t�}�#��#��}>�ɺri#�����ibź٘�O���вr���_�Z�6��CpS�]�������Ms�N�U���p�Z
n*�u
�m&i�
+e�iVw���,�vC�� ~��t
+endstream
+endobj
+7741 0 obj <<
+/Type /Page
+/Contents 7742 0 R
+/Resources 7740 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7674 0 R
+/Annots [ 7726 0 R 7737 0 R 7738 0 R 7739 0 R ]
+>> endobj
+7726 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.651 703.18 406.173 734.024]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a28dfc886a103ede666395ab45fc7950c) >>
+>> endobj
+7737 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.651 394.963 406.173 425.808]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a28dfc886a103ede666395ab45fc7950c) >>
+>> endobj
+7738 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.651 86.413 406.173 117.257]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a28dfc886a103ede666395ab45fc7950c) >>
+>> endobj
+7739 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7743 0 obj <<
+/D [7741 0 R /XYZ 90 757.935 null]
+>> endobj
+7628 0 obj <<
+/D [7741 0 R /XYZ 90 695.12 null]
+>> endobj
+7744 0 obj <<
+/D [7741 0 R /XYZ 90 680.713 null]
+>> endobj
+7629 0 obj <<
+/D [7741 0 R /XYZ 90 347.291 null]
+>> endobj
+7745 0 obj <<
+/D [7741 0 R /XYZ 90 332.884 null]
+>> endobj
+7740 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F11 446 0 R /F123 2840 0 R /F8 540 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7751 0 obj <<
+/Length 2003      
+/Filter /FlateDecode
+>>
+stream
+xڵYYs�D~ϯ��Ux2��P<,�K�B �*�e˥��X KF��
���CҌ3���dIӚ>���e
�F8������W)�r�'4���Q��4!HP]���1��%�9��W3������qS=l�-ߕ7m�>\\\��Z\�3���M%��98��*��\��k��e���)��a��o�^^��qF�,
m�HQ�D�ܞ����<�5y�k�m�)��*zw���.a�50��`ؑ�(�
�D�~uqQ�3�㻢*W����oe�k����_�č�@9�����mfT���l�R�k�[��eSw}[���Y�b�F��N��7�˝�6�Z.�7Al��}��
+�
wl�G�#�i4'�º�*���l�!�Ǎz
3�n={��X�Vv;�ܓԊs�
����/U�fD�Ҭ��5<5J��uT�
z�z�VZ�;�Qі@����uf��z��a߱�V��G�����S��x�Ҝ
g�02���l�AvJs�%&�h�`�,u�1��a„2(��	���Ɠ[�;i��1��,Ȋ���,��(�>vu�Y�Ո�Ż��Wf���$���.��q�.�	���)��H���ǝ)
�E%\��P
+�v'@���
+����
#��~0
�F��ş�mT�5�BZ3��֐��`:�v}�-�,���*xP`[��{n���m�F�� |���ח�yq����C�$P�Fc&�<��9�H�؜CpRn��ܗ�Jk����H��$޵&��P��+�[soJ�������#9E	y:�(F$
�]��U�K��p+�2�{�f$V8
(�<���Jw��x��I[��)�cy{�s���Ux
+�AgM�2E�2(h
�'�G���C�I<�0���9��A=Kr0
�I�%��[	յ�ޟ�9ș
�X�^����qk�*�I]olB8�JGf=�w�ne�7��H�K�U�)��x)E�\�~L�B����~SvǢ{4�~X :9b\F �R���B��c\�,P~�R�c&�Z��t���EWB���t^��	��	���G�V\�?�:�Mʮ�,�;U�U4uQ�'�����'�e��]k|�~@�*_�ަB��<�z�
+N�;qU<O
h�j���I�<<
+��?N8����x �@r�D{�lO	��'#�W�h4�_Q^~\J��߬&�TO5q�d}�o�m!��x*�	�!Ʈ�:��*��V�To�M�\
^�Q���3�[
Wc(K�׷�Dž.^��乬�h�Q�/͟[r�k��T��g ���~-����|�Vv������0>X�a�Q{��ܛ�"����O��<UX�a�{�D]3s�ƚ���9F�=gra�Q��х>9�p5sHHFPc�3�
�˥��
ּ�J���R#�����`P=���՝�CMiy�ߟ����)�vW��s7Ftg#�{_���C� �
~+;�w�@3$0�/�hœPc\��B�EAs 1 ��W9Hf��#�y��L�PH(?h1;:ȃ��
+�h£J�w9t�d

Oϊ '4AD��,r`)t�@j@7'1T�V���[ �^(���s.�#�;U��8�a�c'�2
��C�ժ
�m��
��ˠ֏l���Bǁ�8���t���Z��gQT�{Z�\�}����=��q��i�9�:�T�����Ouq����@w�3�8�
�F���"�oiQ�EI���O��`J�o?a &��	
+�� @��"�(	��{
4X^��JT��$7
�D8l̔E�8���xa�N����
+p�H�oXM3xL�)tL��Y��
�Z�/�ʬ�H��4�v�٘�a���H�M���ʄN��3�����g�.�-�πd�ӲTN�O���fkG��.{�h�1�/y�?�$���s������*��_
�*�8l�W�h�Q��@R̭�2��N����9���E=�o�vj���� �q�Nc����h���@o��d��o����]����ߣe��u�kQٟ�v��c�9����s=�m�ʡ��í�w����l��
+endstream
+endobj
+7750 0 obj <<
+/Type /Page
+/Contents 7751 0 R
+/Resources 7749 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7674 0 R
+/Annots [ 7746 0 R 7747 0 R 7748 0 R ]
+>> endobj
+7746 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.651 447.801 406.173 478.646]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a28dfc886a103ede666395ab45fc7950c) >>
+>> endobj
+7747 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.639 124.445 300.161 134.726]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a28dfc886a103ede666395ab45fc7950c) >>
+>> endobj
+7748 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7752 0 obj <<
+/D [7750 0 R /XYZ 90 757.935 null]
+>> endobj
+7630 0 obj <<
+/D [7750 0 R /XYZ 90 689.044 null]
+>> endobj
+7753 0 obj <<
+/D [7750 0 R /XYZ 90 674.835 null]
+>> endobj
+7754 0 obj <<
+/D [7750 0 R /XYZ 90 407.373 null]
+>> endobj
+7631 0 obj <<
+/D [7750 0 R /XYZ 90 385.061 null]
+>> endobj
+7755 0 obj <<
+/D [7750 0 R /XYZ 90 385.061 null]
+>> endobj
+7675 0 obj <<
+/D [7750 0 R /XYZ 227.842 307.958 null]
+>> endobj
+7756 0 obj <<
+/D [7750 0 R /XYZ 90 291.592 null]
+>> endobj
+7676 0 obj <<
+/D [7750 0 R /XYZ 184.963 89.441 null]
+>> endobj
+7749 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F123 2840 0 R /F23 368 0 R /F8 540 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7760 0 obj <<
+/Length 1362      
+/Filter /FlateDecode
+>>
+stream
+x��X�r�F��+X%h�V?�F�dʓ�dR剕l&Sd�H�lY��@H�r���lDӴn��8�/`����O����[���
���
�'�%�2�>�#Lgc�_O	��jG�S��rsXgiG���*��ů?_G�Ք(���d��
+���um��e��<Ί$��*�3§���&W���	X�#��H2�%���O�Ka��hB��ͪ��)��ƻ�|��g]�
�@
��8bέ�V���1����"NӨ)��h�����]�dQ�o����B�
p�O,�v��1�=#��!J`YcC��4��}
��:����w�����1���F��!�j�n�?
�R�2 B�"
-�)P�Co��dv1��R׬3;x�R��S�uY��y�fS"�G��>�����I� �Q�1P�B
&ܲ��6o�=� R�6����>)Ȕ\[3'�Q]"
bA
+�j6�zL�]c2z����09D!��I`
+�u�.a�7y���=@jN�
�
!/��v��J������~������m�f�
�۱Hc�8�/���ݲ�4	�E��ARVUV��"�0L2`>��6��
�!DX {
h�bz
cE�Ӿz1q��P��"���3 a���d&�݀(`�C���b�����{C�Z+Ff\�N`��`W U&dG�d�+&	��C��
+��dD�۵?�iKd{Iʝ��`��U;�
�8�
N��V��)�;ف@���2�|���pDy5���x%I8F`P1C`&�uTO\#�c�<���ٵ5�M�p�4n�"�|N4{_Vn~J��6���z���X�L�(� 	.�Ef�۸:����iE�Y��I��t���]�
a|a >"!�S5Tq�
��W+Cm�Xi��ד
D��͡n��k�m��P���X�@��;ݠQ5�^(]�
�
a����R��x�����p��7��p� ���	38\�Am�a$�� d�b����rvkk�
�
�&NX4�ca�ϴ�
#5��Z�w� U�|�n�DrW ���P
��T2����~#8�7��U�V;*o�ʒ&��5�hu_$���iVd�
.��{Hm\EW�;�W��
pw�	�S��/J
��r·}���I�)������#w��r�
@W�3�C:H26H��
+�$4�������:��\�ہ�60���D��
����Q�H�&��z���`��3<rt6#����,�gN?(�
+�z�~\���k��Nƫ��F �
+Q/��a�e�^�>_���!���M���k]�Z�m�
��Ƀ���Ϊ狀tc\�\۱VK���
��hb"ݒ`�]�\�~��_&&z=Z�(²�F�M�[����
%5�/�]��f��m���{dN!ٗ�tj�-��
+0��5����mχ
+endstream
+endobj
+7759 0 obj <<
+/Type /Page
+/Contents 7760 0 R
+/Resources 7758 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7674 0 R
+/Annots [ 7757 0 R ]
+>> endobj
+7757 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7761 0 obj <<
+/D [7759 0 R /XYZ 90 757.935 null]
+>> endobj
+7762 0 obj <<
+/D [7759 0 R /XYZ 90 733.028 null]
+>> endobj
+7677 0 obj <<
+/D [7759 0 R /XYZ 90 601.46 null]
+>> endobj
+7763 0 obj <<
+/D [7759 0 R /XYZ 90 586.89 null]
+>> endobj
+7678 0 obj <<
+/D [7759 0 R /XYZ 90 445.812 null]
+>> endobj
+7764 0 obj <<
+/D [7759 0 R /XYZ 90 431.242 null]
+>> endobj
+7679 0 obj <<
+/D [7759 0 R /XYZ 90 292.167 null]
+>> endobj
+7765 0 obj <<
+/D [7759 0 R /XYZ 90 277.597 null]
+>> endobj
+7680 0 obj <<
+/D [7759 0 R /XYZ 90 140.524 null]
+>> endobj
+7758 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7769 0 obj <<
+/Length 1464      
+/Filter /FlateDecode
+>>
+stream
+xڭXMs�6��W�J3��$|k3I�i3qc��d4�Yh(P%�8ί� $R���\, ���>,���Go'�]M�ޤ8H$4��V��Q��)����Ӕ`Ēٜ`��3��y��3��Uy��E�/�T�u^ߝ����bqQ�H6��K���)��We�4��\�nZ���fx��}�z7y}5�wB�-
��
����h��|�����E�Ȣ��MS�et9�k��D�	�AB1J=��*�Ox~��E��|Ƙ�0��|�
{��H��ҍ�H����
��1A"eλWk�����V�2wn�Z9+ �����`�3k��(���b$2�1kՌ�L��7��L���W�C)�#�
+%�pK>J�C|����}WHK���
��[9�
�\R+�B�
O�.=1aʬ}
 \�a[�R
�[J�� �cD�)"<
fO�|��K���yn>5U��.�	��ak�F�����c��H
�;c�U���@l?#�
gvʦn~�XL�.���o�\��NT�YV�F�
�A7k
rXXi7�#7[v��+�7
+��XL[=�`,�H�^+��V2dZ�=�ŀG��,"�c��g����^)k1���7�ƣ3��mn䢺�G.��#.��V/
#v
�Y���t��1�o��un� ��C�`�Y

+T~�\��-�����'i����U%W��Jjs�>%��~�n7c�A-�^-�g��z�2�G���P=�g(�ėe��]JӌH3TI"�
�1!���X
�Y��# Gvv�7��'7��(�2�u�
+D��@����yMD�Xʣ���C<L1ߝ��y=ؒBX�pF�Cb�%�/Q�|�v�
ĀB�ײiK��R�N]���R�`Q���3�,��{%d���)ƈ��T1�`VZy��Z3 J��%^-�4�
J���0��LO�zJ�S8���U8Z�:*��۵Z�N�1va�Ǯ]�Jߕ]�����␫!ƹwrN8�0wO��������þ��we���7���`��`V�=�
+7
F����}P�4N��V���
+��6J�DXüf�~�w����ߗrk��)-��Wc
+h��,G�R�����ܟ�P���S��,�[�Ml�y�{��g�xD�M���=aO��e��>��R(�v�JC+�#��sd��Ȁ��a?p�c���cg��Oq6C���F]W>M�̌�Z�عﵲa�EB+��9M龽ya��3:��G.����ж
߶[69�C-
�y�s������̀������B<�J�
+��Ͼ%�
^���x�iL��52�(�H���'#�_Tв��kGǩ��0�<���_+w�z|������$:�����k� ��e\@���
�Mg��ٽ��v/7��e����x��6/��PwR����Pi��3gP4�Rz���(<�����/�����1����[�lP�նFʜm���q�zVH
Q���*
M���蕆�Mw
<��?�Eѓ
+endstream
+endobj
+7768 0 obj <<
+/Type /Page
+/Contents 7769 0 R
+/Resources 7767 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7775 0 R
+/Annots [ 7766 0 R ]
+>> endobj
+7766 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7770 0 obj <<
+/D [7768 0 R /XYZ 90 757.935 null]
+>> endobj
+7771 0 obj <<
+/D [7768 0 R /XYZ 90 733.028 null]
+>> endobj
+7681 0 obj <<
+/D [7768 0 R /XYZ 90 625.271 null]
+>> endobj
+7772 0 obj <<
+/D [7768 0 R /XYZ 90 610.701 null]
+>> endobj
+7682 0 obj <<
+/D [7768 0 R /XYZ 90 485.484 null]
+>> endobj
+7773 0 obj <<
+/D [7768 0 R /XYZ 90 470.913 null]
+>> endobj
+7683 0 obj <<
+/D [7768 0 R /XYZ 90 257 null]
+>> endobj
+7774 0 obj <<
+/D [7768 0 R /XYZ 90 242.43 null]
+>> endobj
+7684 0 obj <<
+/D [7768 0 R /XYZ 90 115.31 null]
+>> endobj
+7767 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F100 1390 0 R /F10 507 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7783 0 obj <<
+/Length 1501      
+/Filter /FlateDecode
+>>
+stream
+x��Xێ�6}�W(��@��E�D#(��� i�n���&X(�*S�.�n��C��,[�$mЧ>Yj83�̙�qp�������y����"�\� �S\f�UH0b�|A0��Ŝ�0����Ŝ�,�6*���_�UZ�-��_?
���$,�|A9�i]��7j��wJ���
K2"��/_Ξ]�������(f<XmgW�q���8%�`߭�e�[og���Q���CdE�ު�uc<��s�U�6e� ��WD��������C���e�k�m�)�7׻2���;ٍ̱%撘�N�Q� I�|���۳s.bX��,��]�F5m�]nS��n���7�8\���
9��!�2�Y|�1��bz�*B2!~M���	!�
�M��uN�9��m^75�0��
!� G4�p)G"���ە�� C�o �ah	��[�<�L�M�\f�6����*��
��� :��*甇{�gF�|N��DF
@�}��
+DI�e���Có�����0�ɬ��:*�����y��
�a��k���(�
p�}Pu��O���O*�蘷��P�:S�#ae��pQ�M^C2h
+���r&�`N��Q�RW�M9�y����řם��h�5d��>-�ڸ�ʕ-
>�ގ��$�#��n��&��r���-�� �������۔de�

��8������u�k�~JpHl�p��ު���3��W!St���u�&�ٔ
��8>	��N����7���7F"�n1|A�(97�6D
+�(�$�¤��
p1Ƽ�:]�mI$�`lB���t(�P4%�"渑�>
��,Z#y���G�]���W�_�W� � ��1�&�^^�w�WbD�m����@[�h
+�NX�+P�̱����V�����ի�g?��v
f�g��@�1߭�}䇬�e���/5�K>�?��N]���!�`������)�B�tj����9���:�sP=��P��+������=�LQ�{�,vS�0�%I���/0E

�W��kRϣ1(�� �[����K����p�Dx�>�33��>ݙ+������nm-Mw_
��>�����w�#>Nѷ;���L$t=��n��"
}	Jp/�܋!1�19��;���"���Z����ֻ���9����>��	&pN2� 4�R�O6Ҁ���Z��e������nn�Q��˺*�G�m]�m
+Vfᑑ�B-G}�����9,p��w�����v�lz�,7���
��3���S�)GB��H�Z��N����	.k�E��y�w,s��A�R��I��r�*�LM��$�'l��}0�=��8JD/�?N�]� ��y�P}�7��?��٭�qCܛc�	�u
+�E��#z��������6��#����B0�%����zgݭ���:�����
}vDz��֟��Zԫ��F
�kd��w�*�B�q���_f
�Sl]7�uc�4����~�G��:�U(o� ޳���
+�PLz6��-+}�������
�
�

+endstream
+endobj
+7782 0 obj <<
+/Type /Page
+/Contents 7783 0 R
+/Resources 7781 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7775 0 R
+/Annots [ 7776 0 R 7780 0 R ]
+>> endobj
+7776 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [121.93 119.9 280.942 130.804]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+7780 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7784 0 obj <<
+/D [7782 0 R /XYZ 90 757.935 null]
+>> endobj
+7785 0 obj <<
+/D [7782 0 R /XYZ 90 733.028 null]
+>> endobj
+7685 0 obj <<
+/D [7782 0 R /XYZ 90 601.515 null]
+>> endobj
+7786 0 obj <<
+/D [7782 0 R /XYZ 90 586.945 null]
+>> endobj
+7787 0 obj <<
+/D [7782 0 R /XYZ 90 441.983 null]
+>> endobj
+7722 0 obj <<
+/D [7782 0 R /XYZ 90 417.614 null]
+>> endobj
+7788 0 obj <<
+/D [7782 0 R /XYZ 90 417.614 null]
+>> endobj
+7723 0 obj <<
+/D [7782 0 R /XYZ 90 344.024 null]
+>> endobj
+7789 0 obj <<
+/D [7782 0 R /XYZ 90 329.454 null]
+>> endobj
+526 0 obj <<
+/D [7782 0 R /XYZ 90 206.712 null]
+>> endobj
+282 0 obj <<
+/D [7782 0 R /XYZ 90 200.111 null]
+>> endobj
+7781 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F100 1390 0 R /F104 2229 0 R /F10 507 0 R /F11 446 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7833 0 obj <<
+/Length 1420      
+/Filter /FlateDecode
+>>
+stream
+x��Ymo�8��_��
��6؆�z��U�۾\�=ݪ]E��m 9 m��o�������]�K��x�y������H��qk���
	����k�[�ƚ�1J��P��	F�hw�X�h�;Q��/�����FN��?��h��sv�_z�&�>	�
ʰ�?v�X
/�[/}煮'u
��
"��z�Z���-�a���0���47h]�����(��
R�@3��c��w
�zF
�9S�]�c�U�z� LJ�G��M�I�����G�/(#
���u(E�͕�JYi��!e�\
��� S�2� ��9 A
S��
gϟ�Ї~�1��O�S�j~8
��T���W*qK?�ڄ�#/�"'���c�&U����p����?��W�`%Y�8GKؚhqS�(q�j
b"!2��f�x���'w9�0R�Y���0�z�=�,�x�4��!@��<�L��*�[Aj'��D�dì�m�U�Hjؐ�"E"����<N��Jזo
+~'��P=�U���+�;��7u0��$=����)����]z�t�I8�%Uj�� ��P��!t���p���� ��UA�Dut��i
�d��
�i)|�G�SC�?B6m�̟�:���ܺ����]�2�����dm� �����I�rkm���L"�
QL�����O�}�cU�sK���}�w� �hr�#�fy����=�}m@=�F3���W� ��G�X����`楟�+���
A˖�a�@L�X���,�l�����;1<
Co��;��@�Y���(i�Y��-_�<'a�E�m
+�ʸB7�h�f��"����
�lV��طL�$����q	4Bkj#�i	��&C;Nh��2&��e؈��N�ޭ��&#m�YBJV�c�b��
�w��X
J�7�ɀ��ۇ6�"X�	���=�Uk�3f_��F��U�Ig�`��3�ߗ
+�&F����<Hs���ǭF5���Ww��I�r�c
,`ρ(U#y�Id�/)A�!�T�
[���'��*�XW�X�ͷ�h�H���l���>�Ay�h��p���b�n�&�3n�&�#n۵iB�EHm�PDY��/u���I][�D�,���d	�5�}fI�x�)W���6�4!v�
A*�@��V̄�f�VL��m�ޤJ������h�7����1��M��y
�o��۪ߓM��|q�{�F��(�����,ă?
+�{��������A�΁�f��׆:o��c��	6��Z���qE,��Eyt�aU3͠Ȓ�^Z N
7/������2ޝ���G�r�-��r�
+��^����
8X��E�l{�2)�Q��������;[7c/��͘�U�S'��O�s/Uy��P=��I*�R��|S~}���_2f肵���b��K��N������B!?�N�����Ăr�Xo��`e��!<

y��
����Ŷ
+endstream
+endobj
+7832 0 obj <<
+/Type /Page
+/Contents 7833 0 R
+/Resources 7831 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7775 0 R
+/Annots [ 7777 0 R 7778 0 R 7779 0 R 7790 0 R 7791 0 R 7792 0 R 7793 0 R 7794 0 R 7795 0 R 7796 0 R 7797 0 R 7798 0 R 7799 0 R 7800 0 R 7801 0 R 7802 0 R 7803 0 R 7804 0 R 7805 0 R 7806 0 R 7807 0 R 7808 0 R 7809 0 R 7810 0 R 7811 0 R 7812 0 R 7813 0 R 7814 0 R 7815 0 R 7816 0 R 7817 0 R 7818 0 R 7819 0 R 7820 0 R 7821 0 R 7822 0 R 7823 0 R 7824 0 R 7825 0 R 7826 0 R 7830 0 R ]
+>> endobj
+7777 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 697.416 187.853 708.32]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a60ae86027d4480aec07a5eed85f6977a) >>
+>> endobj
+7778 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.511 697.416 257.154 708.32]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+7779 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.035 697.416 426.424 708.32]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
+>> endobj
+7790 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 658.9 187.853 669.804]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a16829d6b83d0c21f3d3e1f87c46ac239) >>
+>> endobj
+7791 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.19 658.9 293.017 669.804]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+7792 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 620.384 187.853 631.288]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_af5aee1171c6c67b9c57f3949b7b75be8) >>
+>> endobj
+7793 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.668 620.384 269.495 631.288]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+7794 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.024 620.384 350.969 631.288]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+7795 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 581.867 187.853 592.771]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a7358056031cb08692ae07044715987cd) >>
+>> endobj
+7796 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.19 581.867 291.333 592.771]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+7797 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 543.351 187.853 554.255]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a89d5bd03139c8fcaf1ab035208d680dd) >>
+>> endobj
+7798 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.668 543.351 267.812 554.255]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+7799 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.899 543.351 349.844 554.255]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+7800 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 504.835 187.853 515.739]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_ad5c6d64b009045df8248bcb8ffeea69e) >>
+>> endobj
+7801 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.19 504.835 299.642 515.739]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+7802 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 466.319 187.853 477.223]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a42e87760e6f69306e6322cc77f20d162) >>
+>> endobj
+7803 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.668 466.319 276.121 477.223]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+7804 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [302.631 466.319 362.576 477.223]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+7805 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 427.802 187.853 438.706]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a8ee7e3364443dc8cd55f3f6388c81ecf) >>
+>> endobj
+7806 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.4 427.802 298.956 438.706]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+7807 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [343.756 427.802 419.222 438.706]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+7808 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 365.376 187.853 376.28]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a9bb0903a2b33f94b096f71e604f07648) >>
+>> endobj
+7809 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.965 365.376 245.565 376.28]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+7810 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.699 365.376 292.426 376.28]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+7811 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.973 365.376 425.44 376.28]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+7812 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 314.904 187.853 325.808]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a691bb5ef88a4c9638034de4c1b9532cc) >>
+>> endobj
+7813 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.19 314.904 235.444 325.808]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+7814 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.724 314.904 340.19 325.808]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+7815 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 264.433 187.853 275.337]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a25b59f3491de4996c701bbf044746fe5) >>
+>> endobj
+7816 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [227.508 264.433 272.668 275.337]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+7817 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.702 264.433 425.168 275.337]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+7818 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 202.006 187.853 212.91]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a5d2426c9804102311d41fd445b122cf9) >>
+>> endobj
+7819 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.334 202.006 292.602 212.91]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+7820 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [353.289 202.006 428.755 212.91]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+7821 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 151.535 187.853 162.439]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a163f5dff452c6cf2e3a0c929eb2b8187) >>
+>> endobj
+7822 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.919 151.535 307.862 162.439]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+7823 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [346.496 151.535 421.962 162.439]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+7824 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 101.063 187.853 111.967]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+7825 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.592 101.063 239.399 111.967]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a91cfad066b0e12cdaf7454fe4585cfc5) >>
+>> endobj
+7826 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.736 101.063 340.678 111.967]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+7830 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7834 0 obj <<
+/D [7832 0 R /XYZ 90 757.935 null]
+>> endobj
+7835 0 obj <<
+/D [7832 0 R /XYZ 90 716.221 null]
+>> endobj
+7836 0 obj <<
+/D [7832 0 R /XYZ 90 170.459 null]
+>> endobj
+7837 0 obj <<
+/D [7832 0 R /XYZ 90 119.988 null]
+>> endobj
+7831 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F38 2120 0 R /F11 446 0 R /F107 2332 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7862 0 obj <<
+/Length 1972      
+/Filter /FlateDecode
+>>
+stream
+x��XYs�6~ׯ�SKΘ0 <��C��+��N_���� 
-E*$UG��]�"eZr��t�D�b�o�[{w
���=��]�J���<��w��r�	A��v��	FQ�c�	��vS���M�_�e[���h�WW�_�M$�:)�����:�������uɥ�4���d���f׷�O3�a�(mX�҈y�f��#��0��J�w�Vm��F𬼛�/3l,{�,f��b�G���������2��a�ԧ�3���n�8E�l�[�{`�4�+38!@N7[�}�~;��f�l�?-�
+{D�
�O��e�$�ޠ%1�B�
g<�:qW����s�
+�6�e(K@�v
Ƒ^���(�=fM��^3>>B ��"n��[�����У#����	�
A��<�t��-#����PJ�'c��@� %Cq��a���$@{�t<.	���pN�8�/y׷��B��O,V�O�#N1i�h��4�ep��]U�
���X�y@���(�/ȍ'$�e��+ g����2$����f5�0	��OȘ�\���zE���C���Tb�(K��i͹,����.��a=��:L|i̟�
Y�0�����k~V�5�
�����{.`(K��ދ�O��D��
+YU7uTwa`R�8��|p$�nx��ݗ��n
�3_4�z�?K��bc��%ĀXj��C�
8����ya
A�A/���^���?�_]يm/,/�B�!X1�b�g@��uӛ^�+ZQ��@Y5����Ab��?dDtX��ֹaB������7^�P|�S'-Y�a��M.9
7���ۖw��;-�p�?�
�v*qi-m�E�P3
9����ҝ��Ƞ7
t
��
+Ez߄�����F�y�C�PD���mQ���Ȱ[̠�`.��ڢ䚧�\�ZJ�ċPeF[7aC�k
�ư<�#Mc��Qnq���Ѯqk�����
aFM��t�$���/��N�Nj�,0�w���
+�j����H��N���)���N��I�J�n6k3��k�$
c�,d
��_H�Ǻ\i,l+Q���UG�I�D��~��Wi�E
���Xy.�`L�Ul�J
+:�W񙼂�,#��(s��Z
_IT��%
+����T2Y�
��{yA�Z��_�U@�7-�S=�t�2gi�hH���Lk�̰2���F�?g �=Y6`^�J)�.Z�ȼ*w���^O��i�Z�̐f�BZ2��D\l�����煡W�i'Z�)�Yq{�셣���
���v_��Z(G��Qhω�[�p2�jh�$F�R��%���˦�9��U�$�H���x�>q)O2��;hD���U��~�mU�
�(�%kT�w���)�����f���CP�L��S�yK
]\L8?C,u��K��R���:�S2s�g�n\�
��t�9ʈ;�����~{s=�����{v<,�`��}/�J��B� ���<p&7���]���1�<�7<߉jiPͅlW�HmW
�<��uf�9^�7�ޠ_Sˆ0O�4�@v����МA�w��Z�0I�"c�:B�	�����#��F���u��x��:?�h'Ւ�\=q[&<�͑�ccC�pו$ ���S�t�奐�;�����)�/꧄�8a��*S)F�B�_
�	
7-ןK��俇���s]����x}ׯ�m��3�H�h�{���9�A��(:��z�ģd.��ǖ�4J�mf:�l��b�ۘ T�V�^ Ps�!S-��!
-3MP���s���x
�M�nm�����
+�rra�J�)����dp�N~��4�
Ō��qr<ɣ�I�uƋHl/���n��̦i��.p~��z�	�r�
t����)�	S	$�)�<��0o������oyWf�=�g��~����#f��j�F�]��|.
�i"�?�u��:`�7���wE�?Be���
+�7��i�]�{��ǙJԃ�$�
z�u�o�./���Q�!@�E���n�ˇb ��Pb\���5R�����թ�c��~@dG
+endstream
+endobj
+7861 0 obj <<
+/Type /Page
+/Contents 7862 0 R
+/Resources 7860 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7775 0 R
+/Annots [ 7827 0 R 7828 0 R 7829 0 R 7850 0 R 7851 0 R 7852 0 R 7853 0 R 7854 0 R 7855 0 R 7856 0 R 7857 0 R 7858 0 R 7859 0 R ]
+>> endobj
+7827 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 707.101 187.853 718.005]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+7828 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.592 707.101 239.399 718.005]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a2f41d86c5a949d903179e82072854ef4) >>
+>> endobj
+7829 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.736 707.101 326.292 718.005]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+7850 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 668.526 195.601 679.43]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a9dc9e3a464def0e2d929fab9cae6e360) >>
+>> endobj
+7851 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 629.952 241.112 640.856]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_aee8ba0ffc68e00046b55e12427c582cd) >>
+>> endobj
+7852 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.449 629.952 342.392 640.856]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+7853 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 580.419 255.488 591.323]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a6b1f2d6606a0b4d4fc8bbde3b24ce553) >>
+>> endobj
+7854 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.826 580.419 356.768 591.323]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+7855 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [372.022 498.238 445.964 509.142]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+7856 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [454.44 443.282 513.996 472.347]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+7857 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [335.826 431.326 409.768 442.23]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+7858 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [302.324 419.371 361.88 430.275]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+7859 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7863 0 obj <<
+/D [7861 0 R /XYZ 90 757.935 null]
+>> endobj
+7864 0 obj <<
+/D [7861 0 R /XYZ 90 726.054 null]
+>> endobj
+7865 0 obj <<
+/D [7861 0 R /XYZ 90 687.48 null]
+>> endobj
+7866 0 obj <<
+/D [7861 0 R /XYZ 90 599.372 null]
+>> endobj
+7867 0 obj <<
+/D [7861 0 R /XYZ 90 543.365 null]
+>> endobj
+7868 0 obj <<
+/D [7861 0 R /XYZ 90 393.968 null]
+>> endobj
+7838 0 obj <<
+/D [7861 0 R /XYZ 90 371.656 null]
+>> endobj
+7869 0 obj <<
+/D [7861 0 R /XYZ 90 371.656 null]
+>> endobj
+7839 0 obj <<
+/D [7861 0 R /XYZ 480.093 157.814 null]
+>> endobj
+7870 0 obj <<
+/D [7861 0 R /XYZ 90 141.213 null]
+>> endobj
+7860 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F107 2332 0 R /F97 1188 0 R /F23 368 0 R /F31 506 0 R /F10 507 0 R /F100 1390 0 R /F123 2840 0 R /F104 2229 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7875 0 obj <<
+/Length 1205      
+/Filter /FlateDecode
+>>
+stream
+x��X[o�6~����&Ë(�y[��h�Y�=�A�ȴ#LO���ߏIYR
'i`�dJ::<߹|�,����^�N~e0@$8	�@��%P���2���#!
����.���
ð�w7jY˫߳�Zֻ�ӏߌ
��r
a
+�7�l���V�{��T���!Ab~��0{���3C&:�.� #4H���%
�����%xp�YA���̓�ٟ38DF�	2L L�E�z��K�tA v�q|�*���iv�V�V���iU6��Y��b1�D���v�ō:�=+oT�i��f�F�n��
+U6���؛�
��EѧdR�!�������,�Vu3z{�����
�Aa�r )�n�f��� �̓qN
H�K��
!.�r=���h�y
+��XI�0�
:`@���Ǻ���!��B
��\�[�m��
ӽB at P�O�$�ä�ͫ(�y�O*ݥ��z_n����$1B�|�-�����ج��A���x�3
cou��yV�Kk9*}�����o��Z�sDC��#�]F�f�0�g�0���7����p&�km�
�d�0���A��,+�]�����5 
D�M� �w`����"P�w�J�q 2�)��2� "fV�9��ܹ��ڦz[+W�B���ZM[τj�]9�v��.>NK�V,�&�M<f����}U놳��_\[vo�0�z
f�+�Lu��<��.^�1
́�J�I�<��e�*����UfU��䯪��L	@�c`6f������1p�žwƬ��N���&|O�
��\,L�i?-���	o�	o�2њd���<K3}�FbB�A��4k��	y�'�~�o�N�}��
+|�;�>�g��|���3���l
���Tm�I��!.OO�r
��̳啬�[S0},f*ާ��Z^��
1-�c��)�;'څ*6z7d\w�F��>��?M2�J9�D�� �Z��\s)=,ׇ�`b|�����qX��R�>2���d�<!��:��\F�@�t 
k{=����@6��"v2�9Ƚ
�Ge  64��
L�'�@r/Yh42}b��^
�@�j��`���2-�G~��_u�V�p�U�
+@�t���ڴ
�.=��K����F�?�
A;��r+s�n9�K�ʌ\?��	j��
+��J9��߁_�6��x-�@ֳ�֛ӓ���[�6`[f�d�d��O�Vz���+C�0�<�U�<g���lU����
X/8'
+endstream
+endobj
+7874 0 obj <<
+/Type /Page
+/Contents 7875 0 R
+/Resources 7873 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7775 0 R
+/Annots [ 7872 0 R ]
+>> endobj
+7872 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7876 0 obj <<
+/D [7874 0 R /XYZ 90 757.935 null]
+>> endobj
+7840 0 obj <<
+/D [7874 0 R /XYZ 90 650.367 null]
+>> endobj
+7877 0 obj <<
+/D [7874 0 R /XYZ 90 635.864 null]
+>> endobj
+7841 0 obj <<
+/D [7874 0 R /XYZ 90 466.024 null]
+>> endobj
+7878 0 obj <<
+/D [7874 0 R /XYZ 90 451.521 null]
+>> endobj
+7842 0 obj <<
+/D [7874 0 R /XYZ 90 264.196 null]
+>> endobj
+7879 0 obj <<
+/D [7874 0 R /XYZ 90 249.693 null]
+>> endobj
+7873 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F100 1390 0 R /F104 2229 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7883 0 obj <<
+/Length 1458      
+/Filter /FlateDecode
+>>
+stream
+x��X]s�F}ׯ੅���o���I<I�i���:�L��`���" ����
� ����q
�'ؽ�{Ϲg���_fO��� ;�$���҉�H�%�b�s	F,�|�1v�=�ݸ���s�b��vWjU���EW���W�NG�<�E��T`�4���
_�KվSy��A��b������b�qF�;����	'���}��
+�?w��(t��Y�S��y3�}�md���a̝�JD$7Q>�IT��"�[�̟A�$D�
��#!��Z�NN�����g�jW��F�zdq�L�a��(�h-,��£½�K/�U_)3�w�V3.�˵�U뢲�M�5/��M�wfx�@��ϯ�~���E��5�
d�'�!ɘ��P
��(��c��a�����/i�& N�K�����>��E���
��oY��Ds�
��Ҟ�뉘b*I7� �)>�EPH{ ߩ�2K�T0sGP�$�K���v�̊'�4[Y
b
;���䣫�˪�aŷ�!�a��| IEG25m=ͯT����se���*:�i��8����C������(� '�!�Z�<�7J��
�1DX���U^�����p�R��u�R�`��cL�4_�{ݭ��y>�=��EjW��lM$Y\��e

xFC�w��  FQ�
���ںaPl���oY �$� ����u�M�R�M�)���R�G��K2pՠ]
��{@�a
+&�D2b����$x0!�VH��C~
�x4(�(=��UҤpy��[=eTJ�{�Ym7�݄M&���$�e�	y�كn�/����|�ސ����o�7�"�S��@��J�
�����[Z����z�f��u��4��lױ�����f0���"�Z�"W�|^��g���z��*"|ZZÇ�VJCۣq!,wڇ��o�ަ��!v��y,p���4g�
��bSf�&ջ�9oL�
"�=ݻ&�?�%��~��(b��ǯ�.O{y���g��>�!�2���#� *
V���{5�=��gN� W����98�}�w�/%1LB~�,cH
�c흌�8v��ꇻ���IˀWw8�#D���N�b��qt�K�y:>) �ED2�V��* �6eֈ�a$Җé�g��_��8﹠w����/��9��᷅3����.�.�y��1�Q_��+�
P���64)dQw�a�
<|R�L�b���dA02���� N��S~&�U�#"z/��k7�
*�_$�Т�rR8!O���SP[��?���9���K���'q؃BB��"�_��'�
�Eq�O������X*�)�����`�u߁ĝ��I�]����X�������s͵�� 	�$=�?E��8<*�7M`S���+}sk����Q��{z���8�Bu�㦞?5�`_��!
�P�	�o��!���r�ѯ�v/�{K� �Q�Һ<�ϯ��QR�m��J��,�����@��/�ˢ�@�T�<����ȣ��
3��
+endstream
+endobj
+7882 0 obj <<
+/Type /Page
+/Contents 7883 0 R
+/Resources 7881 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7775 0 R
+/Annots [ 7880 0 R ]
+>> endobj
+7880 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7884 0 obj <<
+/D [7882 0 R /XYZ 90 757.935 null]
+>> endobj
+7843 0 obj <<
+/D [7882 0 R /XYZ 90 696.354 null]
+>> endobj
+7885 0 obj <<
+/D [7882 0 R /XYZ 90 682.192 null]
+>> endobj
+7844 0 obj <<
+/D [7882 0 R /XYZ 90 531.926 null]
+>> endobj
+7886 0 obj <<
+/D [7882 0 R /XYZ 90 517.763 null]
+>> endobj
+7845 0 obj <<
+/D [7882 0 R /XYZ 90 352.463 null]
+>> endobj
+7887 0 obj <<
+/D [7882 0 R /XYZ 90 338.3 null]
+>> endobj
+7846 0 obj <<
+/D [7882 0 R /XYZ 90 202.58 null]
+>> endobj
+7888 0 obj <<
+/D [7882 0 R /XYZ 90 188.417 null]
+>> endobj
+7881 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F104 2229 0 R /F72 404 0 R /F123 2840 0 R /F11 446 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7892 0 obj <<
+/Length 1450      
+/Filter /FlateDecode
+>>
+stream
+x��X]o�6}����&5�Q�n���ź6�X��b3�0}x��$�~�")K����ٞDR���^^�C;k;�&����e�
��O}gq��>A�g�r�]�
�3�1vO��Q�F��S��<���U]������;8899꼚��ͳ�r�
%QY����Z��d���w ��(�^,^O���'�a��hx�Ɲe:9���
+�_; J��Mm�:
e�L���Ol"�F
+����G��t�&�(��,�G���%�冄(�™�s��\���mg��%���
+�����F�\巺Q�m!K�Uq��#��ٚ�ڌV��k}�������
|f ̈�B�4�e�nyWwc�=�(�{��Ш���.�zľ��Y^ȕ1+{E�:/�j���k�b��4���8���5V������3?����(E�����Rn�8�>q�a�Q�(���A"�u���E�cY
8�A��Z�O)wo`�n|��L'E
��h)��*���qnL�k�
�H��<�8ֽ*�ڨ��y����[J�*�c�6s��6Nw�
��D#U���6�( ��e �$@̧�
��z���
a���3D�
Z$�("��f�����s��	U���
|UĪ���J��n����̭���`T
8(����棺��7�@�����
�r��L��O�
��)ߟ|�<z�����/?,>
`
C���5�$��k�R ��\�n�xW�4���C���C`����P��ԕ�
O at I����[W
 �Ae���e�S�m$PH�YL��f�#j�ؘ�u԰W]�jlҼ4����q)����]�Lv+Y�
'(���
?��U��Fh	8����ӱ��Fi�¬
T&4.=fͧ$=�LJv� ��o�_Q%͗H��4T�|`	8y;Uw[�A� � t�8�����n�!��
}�Q X 
��p��5��C��e<|qy���C	"
�p���|�aȡ��
;?����Aq�*&�qr5�
�Ez���G)E�^�;� ذ"��W�
+?N�G)CS
�q�ę|6��Pǣ2A8D"؈L�E�8|aH^UȈ\��w\B�%Ы���
h�����m�zq5�.Ϻ�uCy��5���4�Q��*��э�"6�ֆ�����jTL�S�f#&���b�b�Ϫ
+�_U����VUmT�-�h�gQ�p8ڎ'
+��Ƥ��=���x����x^ꊏ���B�

Y��
�
+��!y�b_��x�������-y�^eͬ�@�-/Э!�M��LC���*��7*��4*S��*
˨̀�4��`����0[�b�� ��� ���h
Zs�ӺD�_�� :$|�
l}�
+�b�!}�
��y�_�TAP�`�Vt�H��/e���sׄ�6�v6
E�(WPq�o>�
4�1(�3)M�:��
��qR_���`J
4̴����|~ss��%�e�@q5�n���]ny��H#��yao
+i�
`0���_k��?�^�
+endstream
+endobj
+7891 0 obj <<
+/Type /Page
+/Contents 7892 0 R
+/Resources 7890 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7897 0 R
+/Annots [ 7889 0 R ]
+>> endobj
+7889 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7893 0 obj <<
+/D [7891 0 R /XYZ 90 757.935 null]
+>> endobj
+7847 0 obj <<
+/D [7891 0 R /XYZ 90 631.078 null]
+>> endobj
+7894 0 obj <<
+/D [7891 0 R /XYZ 90 616.998 null]
+>> endobj
+7848 0 obj <<
+/D [7891 0 R /XYZ 90 462.687 null]
+>> endobj
+7895 0 obj <<
+/D [7891 0 R /XYZ 90 448.607 null]
+>> endobj
+7849 0 obj <<
+/D [7891 0 R /XYZ 90 272.443 null]
+>> endobj
+7896 0 obj <<
+/D [7891 0 R /XYZ 90 258.362 null]
+>> endobj
+7890 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F123 2840 0 R /F104 2229 0 R /F11 446 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7905 0 obj <<
+/Length 1400      
+/Filter /FlateDecode
+>>
+stream
+x��Xm��6��_�T��x��GU�vsWݵ�Jo�O�SĂ�A%@�ln�}��&!���+U�)��<�g�;wv~����]���#�i�6��N�)qV�s��X��c�.=�ݤ�%�G�[[�5�����I���|�f����}�W�����|~U�/���$/���)��u���N?���x$ve�JxEq�2J����W���3�b���E�;�nv�;��"v���P��s=�}�?	�2�C~!f`���[�w���L=ZT�~'�.�_��`ߧb�BĘ���B-�?�������*�����(�I��w�:߬��D�'�?1Ǟ�I䦊�ީ \ 
|B���y
�[���5x|�A�D �_����YD�v�A�

���	8#��81=��6��m�~P }R��6 ��� QL��af|�'�$bj�tۼ���~'e6a�D�s�##1
+����[z���l`��_�Y��
�j��P��g�$/
rR~Ύ��n� ���P��cs�[9�I,`f
l�����g��P���v�v;ԫ�M�h�1"�td�
#^�>��V�ڎV
-�C��(�|G�.����
�{�y�N��^�|�
�!
+Wۦ�(w&���(b!y�s�Y����(�>�AF�=�r ��~^�ծ�-d*�;�(�����8���ґr��6���
I���"������R6I�g�Z�T;�TZcE�Y��;�
+H�����IAX
Nr����M)Ϻ�9�w]h�
�O�)ժf̰ ���+%aqhK�b��(���@Pc��zN�YtZ�~2�%���6,�$���,�-��I�ɦ�T4�+�3ҪVp�Ha ��x9w�D�A��	�����b��	9�����?L؂� p�	�'6��8���N�q��������("�/��b��]�6�M���������| ���LlOZ��3�sS������$A�Nv��
t����
�
q� �0B�X�)��!
+J��.�,��]y��rWp�
H�o8V���B|�<��丆�w�g�=;�f ��d���G�e&/��|�l�l���ځ�}�B���y��L]�Ou
C"P�ɣDЗ���܆��q
����s�cۜOt@��b/�0�C
<T�F`H_�M�/��JCqѤ�'p��<�h�C{*���\�3�m��J�|݇�|
+���kN��%��Ҽ����ASK}sQ���
'DU�
���H#ώ���R5t��^2<�*C�zɰ���2tU_G���`��������P�?cs���5�Ǹ�	J��Z���`���l�S�֨Ụ�'�7P��u�Q��z��B�Ϡ ]K��_�}�u�
��[S���^l���_\
��h_�u�����ȜX�#2���̻�v�y	/w}[0>�����
+endstream
+endobj
+7904 0 obj <<
+/Type /Page
+/Contents 7905 0 R
+/Resources 7903 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7897 0 R
+/Annots [ 7898 0 R 7899 0 R 7900 0 R 7902 0 R ]
+>> endobj
+7898 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 198.485 174.015 209.016]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction_a77067a656a3aa9381a93a23dfba036e4) >>
+>> endobj
+7899 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 159.257 197.875 170.161]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction_af38e352895f910cc9556dc7ac0d8f39d) >>
+>> endobj
+7900 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 120.777 181.763 131.307]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction_a5a0edbc51074f6e9e1a908fa292abe13) >>
+>> endobj
+7902 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7906 0 obj <<
+/D [7904 0 R /XYZ 90 757.935 null]
+>> endobj
+7907 0 obj <<
+/D [7904 0 R /XYZ 90 733.028 null]
+>> endobj
+7871 0 obj <<
+/D [7904 0 R /XYZ 90 716.221 null]
+>> endobj
+7908 0 obj <<
+/D [7904 0 R /XYZ 90 716.221 null]
+>> endobj
+1464 0 obj <<
+/D [7904 0 R /XYZ 90 525.977 null]
+>> endobj
+286 0 obj <<
+/D [7904 0 R /XYZ 90 519.377 null]
+>> endobj
+7909 0 obj <<
+/D [7904 0 R /XYZ 90 429.891 null]
+>> endobj
+1465 0 obj <<
+/D [7904 0 R /XYZ 90 336.106 null]
+>> endobj
+290 0 obj <<
+/D [7904 0 R /XYZ 90 329.506 null]
+>> endobj
+7910 0 obj <<
+/D [7904 0 R /XYZ 90 217.086 null]
+>> endobj
+7911 0 obj <<
+/D [7904 0 R /XYZ 90 217.086 null]
+>> endobj
+7912 0 obj <<
+/D [7904 0 R /XYZ 90 139.497 null]
+>> endobj
+7903 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F11 446 0 R /F21 2359 0 R /F79 505 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7925 0 obj <<
+/Length 1721      
+/Filter /FlateDecode
+>>
+stream
+x��X[o�6~��0�����U��5��nm�$�
��P$&�[%9Y��ER�d�I�
{�%���ܾ�

+;7v~Y�t�8y�c'D�G=���	��{	J������8^���=[�Fu
m�ev��I
m~K�꨾_�?�mtSQ���F�\~�|w򆐁zJC�y>
�i�EF���[��
!"LX���:��f������2����z�\^�zIW1,��	�Q�t.~�\|]P�
҅E�ȇ��|��
vX�`�����r�S��s��}����2�=ч��O&ȧ���L&��S��uZ�iY(�@�r�x���֛�(1a�

4��+��W��rH�)�
�7]�3"�?遄��Y�Xg�����Pn�e��m ��=$ ��)d�J��yW� (
+0wV��P��G�HN�p�M�G���a�Vu�$½Mi��n�~�{�:�\��2���.k��
������Y]�Mz-)�(-�r�=N�z�H��Ş
�Fh�@q�Z�ٖPr��iѴQѦ$L[� ��P�H���p>ug�ͨ�-Yv��%��^�U������K����c�UQ
�.u2�0�!j��|&3�~/��J�
�dң
�R6���x>�z�:�!�!���W�L�AL��!����{�_�[
���
+{��y�rY��C at 7�z�8� ���1�3���~��P�q�OH����
@�k�q ��
��
+�e�h���J��������T� � �?F@�c��z��rG{�(��u�u��h84"?c���\G
V^�#�8ty{K��'���\��a}Ёy����m y��Q��^2���L�Y�[B4
��e�~�
^�J�Q
d'��z>��ة���F�8"��&s�8��HT$3j�����A9��6֥7E	�!S�6p�x"&�$#�wK
ݫ�Vs<���它�y���
+�

��2�[�U�e�
+�.-n��g�N&�co9��R��Mv)S��4U���/]�K�U�8
3���E�<�P���1�K&�X
X���� ӡ����+zh���	�
��ZC7P΀�(|L�,$l8�k�b�f�u���"�v�\/
�a0

}����
�@��
�U�#Nظ���4�÷�]�5ͨȦ��I�6�0U�J���� U� �B�!N��{s5r�z�
N�N ��V�H��D
�D���rY[o;��p�~�U�w[��
�կ/
£�������.�Z���6�
÷l�X������o
+�EW5K�"�w+�D&]3:��>����
�b[楢��ȴܙ�Co��%��,mSi��\,z��
+���D
��a(qS
#�8��
3�
���GM���d�Wû��>�1X�>��c���N[V�~t���~t��U�6Y�cYۋ�P����x�����o�����?͸��vL

���:!�l�>�i�V
��4J� ��F�M`6U����\���\6m-#������h��G�?���?!����!�Ht��s乪Ӣ���kh�L�������@��l�������F��6H�����_R����zE����˙!Vl���xIL?7z��z����+#ԔW0h�+���۔�X�G��N��Ռ���F�߫��A������TUѭRײ
`�J
�+4v/���گ�
���C�֒@��&T۶��''www(nЮH���	̧'��p��ﹶ�[�e[+`1�8a��?|j��
+endstream
+endobj
+7924 0 obj <<
+/Type /Page
+/Contents 7925 0 R
+/Resources 7923 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7897 0 R
+/Annots [ 7901 0 R 7914 0 R 7915 0 R 7916 0 R 7917 0 R 7918 0 R 7919 0 R 7922 0 R ]
+>> endobj
+7901 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.823 647.304 268.244 658.208]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+7914 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.857 308.163 243.473 319.067]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a96bae54a01fe00bad4306bec61bb4687) >>
+>> endobj
+7915 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.279 269.582 155.464 280.486]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+7916 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.962 269.582 221.894 280.486]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a891529f721ff485fe2ec90ac48952cc6) >>
+>> endobj
+7917 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 189.216 181.845 200.12]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a3b9f6fbac96e03a00d061a2cd2ca2baf) >>
+>> endobj
+7918 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 150.635 181.845 161.539]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a7dcb9b448c8c0171e18f29551077d133) >>
+>> endobj
+7919 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 112.054 154.727 122.958]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a04704288741dbaf6f50e8fc09c43f737) >>
+>> endobj
+7922 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7926 0 obj <<
+/D [7924 0 R /XYZ 90 757.935 null]
+>> endobj
+7927 0 obj <<
+/D [7924 0 R /XYZ 90 733.028 null]
+>> endobj
+7928 0 obj <<
+/D [7924 0 R /XYZ 90 679.647 null]
+>> endobj
+7929 0 obj <<
+/D [7924 0 R /XYZ 90 623.955 null]
+>> endobj
+7913 0 obj <<
+/D [7924 0 R /XYZ 90 599.586 null]
+>> endobj
+7930 0 obj <<
+/D [7924 0 R /XYZ 90 599.586 null]
+>> endobj
+528 0 obj <<
+/D [7924 0 R /XYZ 90 446.321 null]
+>> endobj
+294 0 obj <<
+/D [7924 0 R /XYZ 90 439.297 null]
+>> endobj
+7931 0 obj <<
+/D [7924 0 R /XYZ 90 325.097 null]
+>> endobj
+7932 0 obj <<
+/D [7924 0 R /XYZ 90 325.097 null]
+>> endobj
+7933 0 obj <<
+/D [7924 0 R /XYZ 90 288.538 null]
+>> endobj
+7934 0 obj <<
+/D [7924 0 R /XYZ 90 208.053 null]
+>> endobj
+7935 0 obj <<
+/D [7924 0 R /XYZ 90 208.053 null]
+>> endobj
+7936 0 obj <<
+/D [7924 0 R /XYZ 90 169.592 null]
+>> endobj
+7937 0 obj <<
+/D [7924 0 R /XYZ 90 131.011 null]
+>> endobj
+7923 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F72 404 0 R /F100 1390 0 R /F21 2359 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F106 2337 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7977 0 obj <<
+/Length 1871      
+/Filter /FlateDecode
+>>
+stream
+x��Zmo�H��_�'��������6=��6��=]�V��F5/8����,��`��$��}�mfgg��yf	֦�~�;��8�
�0ʴ�Ds��A%�p�}�	F&��	�X����i�.{��|9�ǩ;�\�n�<9��rwG�|4�����1|���5��:�1��_H�

`Ej��
"�U
+�ڧ���Ͳ^�Z�9T��d�澼�ٟ�i�غyp�p
K7�)tvΆ��:�`�n�8ⰰv�������02
[�)�Bͤ|εA��V.�뮶؆�
���qj �,i�wJ�b��9�[��_��\]��Se��BB��ͼ �cw�����
[8��''A�����w3�N6��O��`,3e�3��'&�
e�XK��}��LK�C
��=i��F�L�k]7��Vn$5�
�9?_���
������(w� Vbb_�2"�F��?�W��
>��g�E�T���?�Bn�-�S(��(˷���n��X�����!��N0 ��p�
c��U�a���gA������B��c9�k�f��h:_�,KG�g" �/�(�Y�sDX�'y��k�lB=(����M��<?�&��Q�6l�s�׉;�j5C
���8���M �D�^��27ҨO1F�[��@66v�Q-Df�~��Q���Z�O	�qeN=D��e�g�O~����V�R0S5��D�� ����f_��փ�xu��IP�M�T
���W�� ��`�S
+
m�B��v����O�g��G:t#W����
pbC"۬E�y���{��`ȶ�e��n�
�͍r�f�������+?
ڿ
+�^eG��XEjU�.
�����^��U�@���7 
�)�%<�.�<N�#���YL����0�q�H�_>�a�6S2�) �;g|
)�:3y�����
+�ȀrܭR��G�pT�e/��n�d�oQQ�~�@FGgs_�iS��Lf��	�y��A4~����g�gm�`�pQd��}��`>.��*�"
+����Q��/LrU>.;jL��^ ��eM��S�*�
��"�Hw�<p�	�v���Qr����mC�	�RF�I�|9��I�*oC���O_G}!X��7/?��y>�z/8�R�E�
ݲMxq�\��*G����!vv�x�#�����6�:VlE-�R%G9�gk���Đ��_"y#7T��R��"�"�v�s{���L7ò1���kҴ5CX��5Y���f�/5ӵ�4�m��
:��
���6k}�ٝ��� *��2{���������k_D��ɍ+3EI'j�
�r&���ns&
+&�m˚�l!þ'I�q�x�RYҢ=`b��@�F�e�[���
v�@����+U�[�IڲѸdYP����IJ�ͪ�&��N�
έ{N2ġ�2�9m
+����A�>Q��Ƙ)K���$����i����!;�t�2A�֏��$���1�tW���������&��ӎ
+�Ku�
U�NM7�5@f����Պ >^l�D����A����f�d���ȣ�9�o��(�У�7�ݖ��P��0�ZQL�[QLy}�6�J
+�duP�����$�T�s�)��28�9id�z�Wq��e�vY'���{�Fͷ���y/�͢�:#l�����`\�����>��?��!�	��:���37��͡Bl��������Z6�N߶�-
+.�C�
�7�&���X�6tt�� o[v��[l�Z��
{�㢃���[E5�h�y÷������n���|�� � I�O
��Z��aIY.
6��ʪ�ѩ����a��E�FU���F��5�@ߵP�Y5�cD��z�:�K��}���o�	�5k�M����,ϓ��㛛�ehI���8I��wM
���֤<�
�zS�9�
��jJ>�
+endstream
+endobj
+7976 0 obj <<
+/Type /Page
+/Contents 7977 0 R
+/Resources 7975 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7897 0 R
+/Annots [ 7920 0 R 7921 0 R 7938 0 R 7939 0 R 7940 0 R 7941 0 R 7942 0 R 7943 0 R 7944 0 R 7945 0 R 7946 0 R 7947 0 R 7948 0 R 7949 0 R 7950 0 R 7951 0 R 7952 0 R 7953 0 R 7954 0 R 7955 0 R 7956 0 R 7957 0 R 7958 0 R 7959 0 R 7960 0 R 7961 0 R 7962 0 R 7963 0 R 7964 0 R 7965 0 R 7966 0 R 7967 0 R 7968 0 R 7969 0 R 7970 0 R 7974 0 R ]
+>> endobj
+7920 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 720.286 176.505 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aafdd0083c1c10d49e06f4718a826ae1b) >>
+>> endobj
+7921 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 705.4 450.955 715.305]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a7dcb9b448c8c0171e18f29551077d133) >>
+>> endobj
+7938 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 670.315 191.718 681.219]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+7939 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 670.315 288.852 681.219]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1091bf4d0e8ce7672f907cf5e7921120) >>
+>> endobj
+7940 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 631.677 191.718 642.581]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+7941 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 631.677 303.079 642.581]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_af9503f2a0fd1535ce7cb9465908006dc) >>
+>> endobj
+7942 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.635 593.413 188.679 603.943]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a6f9c769f48ed91cd71bec247b7733430) >>
+>> endobj
+7943 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 518.605 197.363 529.509]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ab38e5d3ce8cc120ce4b534bc43d90d34) >>
+>> endobj
+7944 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.062 518.605 290.706 529.509]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+7945 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [428.607 518.605 513.996 529.509]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
+>> endobj
+7946 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 471.997 197.363 482.901]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0a8906c6b7e5b785bd457641007d1359) >>
+>> endobj
+7947 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.198 471.997 312.466 482.901]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+7948 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [348.112 471.997 423.578 482.901]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+7949 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 413.433 197.363 424.337]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ac5f6c7896e64b8750e2cd9729c19d66e) >>
+>> endobj
+7950 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.468 413.433 300.736 424.337]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+7951 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [353.977 413.433 429.443 424.337]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+7952 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 366.825 197.363 377.729]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ae37107ec8d1402bb69ac6462d7f4646d) >>
+>> endobj
+7953 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.7 366.825 302.527 377.729]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+7954 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 332.172 197.363 343.076]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a5e74729a5f7cabef57fb795cc728869c) >>
+>> endobj
+7955 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.7 332.172 309.153 343.076]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+7956 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 297.519 197.363 308.423]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a8a329c1ea10527cde394abab15b67356) >>
+>> endobj
+7957 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.7 297.519 300.844 308.423]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+7958 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 262.866 197.363 273.77]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a46797ad634dc267c1264aa046c69f9f8) >>
+>> endobj
+7959 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.572 262.866 295.502 273.77]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+7960 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.425 262.866 419.891 273.77]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+7961 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 204.303 197.363 215.207]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ac720d2c0875eba7d87a4068876092025) >>
+>> endobj
+7962 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.851 204.303 252.452 215.207]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+7963 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.274 204.303 298.001 215.207]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+7964 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.285 204.303 426.751 215.207]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+7965 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 157.695 197.363 168.599]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_afa8decb7c7093c9cde1255a6c1af62d4) >>
+>> endobj
+7966 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.7 157.695 244.954 168.599]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+7967 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.234 157.695 349.7 168.599]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+7968 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 111.087 197.363 121.991]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_adc326b7c8687b685c42817f7fec425e0) >>
+>> endobj
+7969 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.394 111.087 279.555 121.991]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+7970 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.014 111.087 426.48 121.991]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+7974 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7978 0 obj <<
+/D [7976 0 R /XYZ 90 757.935 null]
+>> endobj
+7979 0 obj <<
+/D [7976 0 R /XYZ 90 733.028 null]
+>> endobj
+7980 0 obj <<
+/D [7976 0 R /XYZ 90 689.301 null]
+>> endobj
+7981 0 obj <<
+/D [7976 0 R /XYZ 90 650.662 null]
+>> endobj
+7975 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F38 2120 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8031 0 obj <<
+/Length 1638      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs�6��W��J3�A ��д�Lڴ�힒��� �-
+IE���.	�iJ�l�j39Q���~��3s����m��R`G!�QϹ�:
+;�#�S��N��}���C�1�_
��i䏮��p=ד��ܥ~�~���q�ϒ�G7s��o__\�%�R�<O����L��0"u��
2"�W
~xH���ϲ��r
���h��6-�z���}
���)����Bf���އ
1�!�[�@
G���3���FLIgU��
�2x��M�
�.��,]Ͻm��@
H�"­��Q����B�tf�~�s�9�����#�R���m�P�N:��$����w��qg�~�h�Y�e�y�ʑ��5lA�K�!aHri1����,�t�j���

��>@�Qܲ�-��C�f�;��餶���ò�σ̲��$C0c�N~<�C8�T�g�!����0�ccӝ�u��Y��� 
'��σ�P֢—�ә�6h6$#�Qg��e��r����g�24,vg�ן�/7+�u�O9"�����_���,+��uI�L�>Fp�j�=@e��FͧR� &��
+�e�G=�������0��#��ɍ���qc,�����
@��Ci�!֫k�Y�.ǛP��-[b���!���3dQI��7:��8Y�x���9 at a��|��P�Sb��%��M2	�몛�r��KC.��=va�)3�׭av��?֣�˽������c̵Η�ƍm��x0m���K|7������Iij��N$�
�$s
�<�6�yG�Q���� ���
{i���Z �Vw�!
�c%�pp�o�6��T�X�<	,!!����Z��U��be�J�&�m�]�
ș
m�w �t[-9yf*3�v�c����W�q>�Yg��c��,;Khʌ���dt*3�R/��.Q��`����c��s#q����LX���
�V��%��qQKx�*���	���e��?vj���g~����|����|
+�tV�Zq�n�	�R�Rz�I�
+��3Cۘ����%��5z��i��%�w!�Mġ{q�э8e�d��&�P����0�YWJ�"mMm��" �
A.c�-�Wv�ٹS/�y����
�HrX��.I��`�C4Ξ���HS� ���p���<�����Ƶ��`]
����+$�N]�؆�m���Ë3G�,F��/�Q
+�T"��
��p=�¨�3��bpo��$s�����_��m�T�
+2�lg%Ez<M��
��Ʈ��c}�ٯ6��c�<�1��3w�J XA7�֡��+;ٓ�ޣ2�x<
7۽N�OL���8�b�͓pRl�l�<_i
w�@L"����+jR�J6��
�x1�>9�6zy��
�?%��л�5{*��ρ][.j
 h���5�{�MH<�[�!B���(n�����lN�;���Y�YQ�.�T_�]
��8�G.�0wO�x�u�OU�P�o�T�{TG�Ə&�92��<�?Ѯ@]�Aq��� �N3�|�7�<p��^L�.
yH	 ���;���
��r&���M^U��_{����3�������o�xYV��9���i(�����fÍ�<a��۩~�RИniK$EX�)�<�/..V�gܻHQ�_,����-)�EbS
�V�Q�Z��2桶���x�
+endstream
+endobj
+8030 0 obj <<
+/Type /Page
+/Contents 8031 0 R
+/Resources 8029 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7897 0 R
+/Annots [ 7971 0 R 7972 0 R 7973 0 R 7993 0 R 7994 0 R 7995 0 R 7996 0 R 7997 0 R 7998 0 R 7999 0 R 8000 0 R 8001 0 R 8002 0 R 8003 0 R 8004 0 R 8005 0 R 8006 0 R 8007 0 R 8008 0 R 8009 0 R 8010 0 R 8011 0 R 8012 0 R 8013 0 R 8014 0 R 8015 0 R 8016 0 R 8017 0 R 8018 0 R 8019 0 R 8020 0 R 8021 0 R 8022 0 R 8023 0 R 8024 0 R 8025 0 R 8028 0 R ]
+>> endobj
+7971 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 708.998 197.363 719.902]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+7972 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.103 708.998 248.909 719.902]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0a7f222ac228554b369d460087815b87) >>
+>> endobj
+7973 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.246 708.998 348.515 719.902]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+7993 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 672.315 167.466 683.219]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a5e4f3b53b4dd4f7f57a13df638b162e4) >>
+>> endobj
+7994 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.281 672.315 243.55 683.219]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+7995 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 635.632 205.112 646.536]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_af1921cd40fb0920e1173cf67418c63fe) >>
+>> endobj
+7996 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 562.708 190.738 573.612]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+7997 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.236 562.708 261.85 573.612]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aed38463ae788879580d6372653452603) >>
+>> endobj
+7998 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 526.025 190.738 536.929]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+7999 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.236 526.025 262.159 536.929]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a8b99abb6e15eedbdb94e2466e8304c52) >>
+>> endobj
+8000 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.225 512.49 390.082 522.395]
+/Subtype /Link
+/A << /S /GoTo /D (main_Affine_Independence_and_Affine_Dimension) >>
+>> endobj
+8001 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 489.342 202.922 500.246]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+8002 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.42 489.342 248.58 500.246]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ab5dfec17f683d1cbe01cfc71d601108c) >>
+>> endobj
+8003 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 452.659 202.922 463.563]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+8004 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.42 452.659 296.181 463.563]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_af14ea5b6122685afd62a3df786512d77) >>
+>> endobj
+8005 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 415.976 209.547 426.88]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+8006 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.045 415.976 261.831 426.88]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_af7fd07f1f8d91c830130c061da7b6c56) >>
+>> endobj
+8007 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 379.293 209.547 390.197]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+8008 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.045 379.293 309.432 390.197]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ab7c86f7ff6b09ff72e3ee3382b4c933b) >>
+>> endobj
+8009 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 331.651 180.496 342.555]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ae85fbe787fa3e172ecf6a63b2847d69a) >>
+>> endobj
+8010 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.834 331.651 280.102 342.555]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8011 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 296.871 213.153 307.775]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_af2c70f89a472f7fa34ba64817693776a) >>
+>> endobj
+8012 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.49 296.871 312.759 307.775]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8013 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 262.091 213.163 272.995]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0d1677ef76c939ca2025722d2ee249e2) >>
+>> endobj
+8014 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.501 262.091 312.769 272.995]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8015 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 227.311 205.692 238.215]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+8016 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.19 227.311 261.312 238.215]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a81c8a26a02090eb4fb9255dd814514a8) >>
+>> endobj
+8017 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.65 227.311 332.156 238.215]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+8018 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 192.531 205.692 203.435]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+8019 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.19 192.531 261.312 203.435]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a2d266342acc104c59dc0046242ccdac8) >>
+>> endobj
+8020 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.65 192.531 338.781 203.435]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+8021 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 157.751 205.682 168.655]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+8022 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.18 157.751 261.302 168.655]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a46a4105c8476e5f5260a775777398586) >>
+>> endobj
+8023 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.64 157.751 330.462 168.655]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8024 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 122.971 183.824 133.875]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a353fe86259fbb2dd09d451e9dd468676) >>
+>> endobj
+8025 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 86.662 192.272 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aaae8e418bb3d7a1432117530eaea7ec4) >>
+>> endobj
+8028 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8032 0 obj <<
+/D [8030 0 R /XYZ 90 757.935 null]
+>> endobj
+8033 0 obj <<
+/D [8030 0 R /XYZ 90 726.054 null]
+>> endobj
+8034 0 obj <<
+/D [8030 0 R /XYZ 90 689.371 null]
+>> endobj
+8035 0 obj <<
+/D [8030 0 R /XYZ 90 652.688 null]
+>> endobj
+8036 0 obj <<
+/D [8030 0 R /XYZ 90 577.742 null]
+>> endobj
+8037 0 obj <<
+/D [8030 0 R /XYZ 90 543.081 null]
+>> endobj
+8038 0 obj <<
+/D [8030 0 R /XYZ 90 506.398 null]
+>> endobj
+8039 0 obj <<
+/D [8030 0 R /XYZ 90 469.715 null]
+>> endobj
+8040 0 obj <<
+/D [8030 0 R /XYZ 90 433.032 null]
+>> endobj
+8041 0 obj <<
+/D [8030 0 R /XYZ 90 396.349 null]
+>> endobj
+8042 0 obj <<
+/D [8030 0 R /XYZ 90 140.028 null]
+>> endobj
+8043 0 obj <<
+/D [8030 0 R /XYZ 90 103.344 null]
+>> endobj
+8029 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F79 505 0 R /F107 2332 0 R /F97 1188 0 R /F23 368 0 R /F105 2458 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8090 0 obj <<
+/Length 1803      
+/Filter /FlateDecode
+>>
+stream
+x��Z�r�6}�W�ɥf, �ȴ}�g�I&n��%�h 	�8�E&)9��wq�DI�D[v�i�`
�������l�X�z���sv`�!�Sߺ
[
[�O�G�u=�>�#w{cl_v	�y���e�b;��'b����h����իÒ�d)��W>�/��]R3O)C�����Ϻˊ0"u��
6"�Wu�u���E�G=
��E2�y)�b,�.	m���
�v�/mv^_wn;�`�(X� 0�0�|���\����a�u�z%�K
����Ο
l ^�Ԑ3+w}W�낿�
����i�?�r����

j�

�������bLA�N�XO��#����^��'�0���(��1>c�48�"�
?&Q�͏�&\��h.��va���
+)�awv���8��G!$��Q�4�}��[1b}�y@�A���
h~c"�Q�PP�QT
sQ�u������G���,-�Fg���w	�
+H�?@p�]'�%�ij_8��l�����C��򿑨e6���&�8���x��?L�5�R�
�6
�j�A!J㳙D91�=�2�M�)
, �P�@�K
�E?J�
݈�?��ۑ-fKfw7L�/�%r<5�I�]`���0�P�4)�2W3�B����w	!PG|7�	�.���ChDQ�
��v�y�0	��u9� �t�+��&��Z#
��`*,Z�:=�_Є�
�
�z �ԣ���,��A&q��[��:E��|@����4Eei��%q���>��?D�P�����YbF���\��$���`dЂ�����
�
xƒD�
���d����GD��8��TtHh'�[�D�lH�CX�I{�';-�'��

�>��X� L��ج
��b6�;-ym,1mit�UwT�A�\?��<�B:Q`͒G$q	��	�7W{���J�$4LAkKE"/�"��Q�AӬ�
�L���o�c�a��O�A��
_j�,Ǫ=W����
z�t>�c�rL���$J�O��dDW2
�BS����b��ԯm�pf5��Y��\v�tV��Ĩ�R�� �_ANw?�߈T�\.ݛ��7�ώt #@�q�(�x�%�n�M���a.�c���V�ic\OA��`�
u�b��I��v��rȜVr&��!tj+�.
[�8w��r��Ֆ�
�;�Я�P�upA�N�H�FМUAÛ��w��>��9�Z�
o4@����A�
+�rq�K�f�#f�N1s�jY�J�>s%u���!
ުt�h%
u�;�ӝGP��iS@}���� ���$�FY(�\���<v����eA�עlmY	Vߌ��,1ۯb��8����35�k��M(��!uP��;=�
�{\�6znu�
�n
uuwE]a��F]�U�T.�O}�hݷ��	C��pu�F�3�CguC�:
��tkް�l���̈��M�� H���!;"+�
�V����	��A�v�㨼o( �y�	RE庪���t{>�[��>
+�#ߊ�
y�S��|x�̧�'b(y��Xlrh9��'�����NˢA�!jQ!r�n�ܫ��9>0��'6�]ɳ"�ߣD�J3�@��`f��Σ�F_/�Au��b�K���fQ
Hx��v��l���&�pNu[�EWo~��
�:�vǚ�F����M��FN��:�_����([�gU�V��	�Qa��ZPխнT9�'�Ҹ��	w�ޡ:,�������yvQ�-��_�/�����"'��=Xq%���y}���[�;Z��`�;)�髳���;4,��4GQy6��g�t�Y�F�,���i�$�	.Y����D
�
+endstream
+endobj
+8089 0 obj <<
+/Type /Page
+/Contents 8090 0 R
+/Resources 8088 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7897 0 R
+/Annots [ 8026 0 R 8027 0 R 8050 0 R 8051 0 R 8052 0 R 8053 0 R 8054 0 R 8055 0 R 8056 0 R 8057 0 R 8058 0 R 8059 0 R 8060 0 R 8061 0 R 8062 0 R 8063 0 R 8064 0 R 8065 0 R 8066 0 R 8067 0 R 8068 0 R 8069 0 R 8070 0 R 8071 0 R 8072 0 R 8073 0 R 8074 0 R 8075 0 R 8076 0 R 8077 0 R 8078 0 R 8079 0 R 8080 0 R 8096 0 R 8081 0 R 8082 0 R 8083 0 R 8084 0 R 8087 0 R ]
+>> endobj
+8026 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 697.535 189.901 708.066]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ae3be22e7dcdf54fdc0fb976fd755d0c7) >>
+>> endobj
+8027 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 661 193.229 671.531]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a74d2b64496aa448a85ec0b370cee0977) >>
+>> endobj
+8050 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 624.092 241.935 634.996]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a3905c42e02befd8a894c57abd9f972f5) >>
+>> endobj
+8051 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 587.557 238.459 598.461]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a22b6ac7ec1477dc82d6db22900b59be2) >>
+>> endobj
+8052 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 551.395 187.689 561.926]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ad423a6ddce01a2f2efb34b826d0de921) >>
+>> endobj
+8053 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.505 551.395 226.693 561.926]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8054 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 516.316 228.895 527.22]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a7ae373e57180f03b09aa0e38d1f19811) >>
+>> endobj
+8055 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.232 516.316 333.482 527.22]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8056 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 481.61 229.503 492.514]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1ae372d4f3b58cfa4af6edd51d845209) >>
+>> endobj
+8057 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.84 481.61 334.089 492.514]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8058 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.98 446.904 187.264 457.808]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0e90a75aac44c14997804b8911ff7bbb) >>
+>> endobj
+8059 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.963 446.904 293.213 457.808]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8060 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.131 446.904 371.148 457.808]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+8061 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.711 446.904 455.727 457.808]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+8062 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.98 389.284 187.264 400.188]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_acb19de0243a618e9bf3d62e2ee04ae01) >>
+>> endobj
+8063 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.963 389.284 293.213 400.188]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8064 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.131 389.284 371.148 400.188]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+8065 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.711 389.284 455.727 400.188]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+8066 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.235 377.329 220.058 388.233]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8067 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.717 331.664 186.348 342.568]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_acfec639e917dfd6eb63c4006ac55b807) >>
+>> endobj
+8068 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.523 331.664 293.772 342.568]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8069 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.35 331.664 373.367 342.568]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+8070 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.82 331.664 456.837 342.568]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+8071 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.717 274.045 186.348 284.949]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a217e4addfae235df12c449320e65f891) >>
+>> endobj
+8072 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.523 274.045 293.772 284.949]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8073 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.35 274.045 373.367 284.949]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+8074 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.82 274.045 456.837 284.949]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+8075 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.581 262.089 218.404 272.993]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8076 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.772 216.425 187.446 227.329]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a508d952b878adf2e55d70d6ca1e64d04) >>
+>> endobj
+8077 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.73 216.425 292.979 227.329]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8078 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.431 216.425 370.447 227.329]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+8079 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.745 216.425 456.762 227.329]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+8080 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 216.425 513.996 227.329]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+8096 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 204.843 159.485 215.373]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+8081 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.603 204.843 240.62 215.373]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+8082 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 159.178 161.677 169.709]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a35518da8c480784110d40b680256bd61) >>
+>> endobj
+8083 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 86.662 205.752 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aae058fd9619a17e121c3aab9b0612d81) >>
+>> endobj
+8084 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.089 86.662 276.595 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+8087 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8091 0 obj <<
+/D [8089 0 R /XYZ 90 757.935 null]
+>> endobj
+8092 0 obj <<
+/D [8089 0 R /XYZ 90 714.181 null]
+>> endobj
+8093 0 obj <<
+/D [8089 0 R /XYZ 90 677.646 null]
+>> endobj
+8094 0 obj <<
+/D [8089 0 R /XYZ 90 641.111 null]
+>> endobj
+8095 0 obj <<
+/D [8089 0 R /XYZ 90 604.576 null]
+>> endobj
+8097 0 obj <<
+/D [8089 0 R /XYZ 90 175.824 null]
+>> endobj
+8088 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8148 0 obj <<
+/Length 1810      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�6~����&
ËH��0`+�a݆fM���0T�v�ٖ+�I��wHJ��ȷD�t�e�><��;Z�{�����E��e�=���»y
+{� �S�]
�w>�(���1����Q6�g}��t����,��|̢l���븈��,�
�/����xu����xJ"�ͭ�ݒ5
`GT
.Zd(D���O‹I����1S����$*���F�t�'�׳n1Ÿ�hhd�~��}��=b��C�������p���Sһ���^@|N����=\�x�ӹ\y��U7 }�2�
a���?��֑�����]����,/@{�Gɬp~PaC�bbY9".=��:D��
���-.K��˼��]��*�{��,���p��a$CZmKY��X֪\&y���IT��0m���K.�8�� L)\�HX�B)_��;��+��dX>3��%��U62������bC�Y�
sl���28wNo��]��8�j���(�NE��MD�n
f2k��
�u��@/�Z���(V�Iv�L���x�B�V��
(�e
+
�	�5��
$�i
	�0����))��]<�<i[x�O`������V���i��O��*����
��;uC�	�5R�q�1
+�mqP������5㮪�C�5�
��])� D��Lk���:���I�u˳Y��Ahg�������N�M��:=�N��Fs�I�܎��ԧ���b��������Y��:��Ia�6��
�o�W+�_�?r;�`���+�xct�7"J"ɃݍHkc}O���}
Ⱥ+


n��

"�=�Ӂ`w�)����͘�5'��"�.۶mI�ɷ�G��މ0��{z'�����&%CZ�3�bVg��'���?ʒ�㤵
+����.��E:�/
+&Ƙ
�V{̂x9If�,1���"Io�eVm)�#NUA�u�7tw�;��s
�=������Q�L�,/�A���ise[F�z�g �~���x����=��i1Y���*9|�a�`�zT
f<��48 ��!�����dE�
-h�w��,�O
��6Zw��-Z���Xa�[c�5Ǥz��%v�������㋹����
2h�I�0����ȥe
_.6�*LG6

"4I������q�#�Gb�h�܁��
�18�݁C-�^� ��Ng�VÝ�Q
�7�
�C�Z��+����ٮ	M�VG^�
�φ�dAB�k�-R84d�<���6P]���\g���b6|ʰ�Ov�4�@U*���w���+.�����؇�w�ML>��j��$��IɮlyD�2(~������tr,f�h��,�9���
��M�U�D�b�w���"TP��n:k�Ã@x�rB
$�>�Z����p���1��YT=w�ҥ��V�U�}�|m���Y�Խ�a�-�_)�c�
�����u���h�ad�}�(�䭻��֣���8r�By`ײ���ʍ��_"#Ɋ�,��(�.H�c�]n2!+���%M��V�@�n�+ۋ_
��i�&���k<���Z_>�r�qEU�v�r���&%	B�1u;U>��i��ra�֩h����
&8R��H+������a22��Hg���۰qd��8
]k�ܔ�v��˟�i\nq`�����A̅����Q�$]��<��'�h9X��ls��J���P��f����_��/P��`>
���u��A��x��3{ОM˿Ϊ����u��m������%a��f������ʈ�Y^O��1
A�X���xg׿^u��!+mhK$m6O�E1~zz}}��
�|3�PR����5�m�
�

+W1�4szMӬ
���Ԟ��M���)��
+endstream
+endobj
+8147 0 obj <<
+/Type /Page
+/Contents 8148 0 R
+/Resources 8146 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8150 0 R
+/Annots [ 8085 0 R 8086 0 R 8107 0 R 8108 0 R 8109 0 R 8110 0 R 8111 0 R 8112 0 R 8113 0 R 8114 0 R 8115 0 R 8116 0 R 8117 0 R 8118 0 R 8119 0 R 8120 0 R 8121 0 R 8122 0 R 8123 0 R 8124 0 R 8125 0 R 8126 0 R 8127 0 R 8128 0 R 8129 0 R 8130 0 R 8131 0 R 8132 0 R 8133 0 R 8134 0 R 8135 0 R 8136 0 R 8137 0 R 8138 0 R 8139 0 R 8140 0 R 8145 0 R ]
+>> endobj
+8085 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 697.994 209.627 708.898]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_adc269190695c1745ab086168fcf35835) >>
+>> endobj
+8086 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.964 697.994 314.791 708.898]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+8107 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 663.125 248.202 674.029]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0e09e7efc2f63aba534614086427bf49) >>
+>> endobj
+8108 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.018 663.125 329.845 674.029]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+8109 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 628.256 212.377 639.16]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0e9ecea59dea0ccb1cc3600bc11f1056) >>
+>> endobj
+8110 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.714 628.256 289.846 639.16]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+8111 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 593.387 216.252 604.291]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aa493e3939364ce0db66b42f0ef6511d0) >>
+>> endobj
+8112 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.59 593.387 328.042 604.291]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+8113 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 558.517 254.827 569.421]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1cd37a76428add108f267548ae76664b) >>
+>> endobj
+8114 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.643 558.517 343.096 569.421]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+8115 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 524.022 236.745 534.552]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a594973c5284386e52b8c33b206a47907) >>
+>> endobj
+8116 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.082 524.022 307.588 534.552]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+8117 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 488.779 243.37 499.683]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a580264341ec83f4bf3d6da1205939b0a) >>
+>> endobj
+8118 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.708 488.779 320.839 499.683]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+8119 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 453.91 240.62 464.814]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ac6376a87e99d3cdabaa6ee7542474849) >>
+>> endobj
+8120 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.957 453.91 345.785 464.814]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+8121 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 419.041 247.246 429.944]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aa317313059bdf973567d2fcf5e030212) >>
+>> endobj
+8122 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.583 419.041 359.035 429.944]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+8123 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 384.545 193.577 395.075]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_afea57a711a6b7a5d501112b84b246759) >>
+>> endobj
+8124 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.393 384.545 232.581 395.075]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8125 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.059 371.543 248.845 381.448]
+/Subtype /Link
+/A << /S /GoTo /D (main_Cylindrification) >>
+>> endobj
+8126 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 338.717 193.577 349.247]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a107c769c3c982506e2abf6979b9e92f6) >>
+>> endobj
+8127 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.915 338.717 277.691 349.247]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+8128 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.391 325.715 247.177 335.62]
+/Subtype /Link
+/A << /S /GoTo /D (main_Cylindrification) >>
+>> endobj
+8129 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 292.515 223.465 303.419]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_abfde1aac87d8218fce0fa9b4ea8a5eb1) >>
+>> endobj
+8130 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.802 292.515 323.07 303.419]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8131 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 257.646 229.552 268.55]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aec298ee7df246c945e6a56442e04176d) >>
+>> endobj
+8132 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.89 257.646 329.158 268.55]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8133 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 222.777 266.673 233.68]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_abfb434e3d574f4bd53314ac8749c4731) >>
+>> endobj
+8134 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.01 222.777 366.278 233.68]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8135 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 176.948 299.171 187.852]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a79864149b95e4560a85aa80eb9c1303a) >>
+>> endobj
+8136 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.508 176.948 398.776 187.852]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8137 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 131.12 217.109 142.024]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a72782e7d9a6612efd73b253b0f862c6b) >>
+>> endobj
+8138 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.446 131.12 316.714 142.024]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8139 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 96.251 271.126 107.155]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0a0d8c78069019f44dc34ebab82ecfc6) >>
+>> endobj
+8140 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.463 96.251 370.731 107.155]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8145 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8149 0 obj <<
+/D [8147 0 R /XYZ 90 757.935 null]
+>> endobj
+8146 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8221 0 obj <<
+/Length 2915      
+/Filter /FlateDecode
+>>
+stream
+x��[mo����_�OW
+8����W 9䂤��5�6
�@���ET"U�������M$���4l��pvvv��g�$�=���˫�o��ߺt�_s=����t�jFg�����Q"�|�(�·9�N�l��9�N�ٯ�*	����$H��^��˂�8
+6ˏ�`g�?�|}����z�}��
����\��,���n,:|„��2���&H���+
+�|��nd�8�7ɜy�����r�P��7W��b���X����^�������3J��͞s��Lr���ǫ�_���������s��͕`/|u� T�����4|��p_;Y\�������c�<�TR~SHMkwg�0-��4�K�\^	��i'�����j�Cn�֘l�K��uLj��0z@#�������wA�Q���uyq|o��
�?�L��l]8�4wg���ʣ��"���{�~E�[�I�
)]�{�*&��jU��&56s}�T��a�46{L"�z�W�B0"���>$��+��c�V|	�
�:)�נ8[�?�~��+�7צ�y�V��nZpN�d�Ɉ���5�\uXD<����cH	�	��\�:��,�m�`�tI
+�+ګ���1h����a�'
#H���|�w��(�NX������w��
x
Ũ���3�HC���ԓ�
M�-�$��ի|��"_H�H��*2X�r�'A���Lo�(������82��c�g]�#t�-!`LN\��Ay?����fGr�
�L����
@�"2
+� <0����:��
S\�T>bޘ	Գ|�V��
+ǭK
��r���6��rLă�F|vBhB�:���ep�(k
awǝ�[�*�"߮~*
n˟+�Nkd at D�!۬��{���$u(�b�誑,�V�+��Z��6��$�z�=
�(
�V��^
+XBw 
���Y(xf	�v0K��fᘃ��B]�BݿK���a�G�dSlyAe�0
�ic�)7�I�B�
肯�;�<J����.
=@
�Ѕ'��)� t1�����]���]SA���`"���f�
�]�S�`�°����k�W
+ˏ��m��ْ�M�߾���X��`�˺���4��*gc'8���i(
��Gm���0�����
Z�*�Ў�1>�/A�0>�"	�4����D]�L��猏5�^s	q�i3�D�z�Os�:@BvR��E������h�L�Ч	�!dbd�\�\��m�\E���B�s۰�nh0�`/̔���,C�Ԡ�y��k���֨�* ��fc .���Pn����{^�bmm����F�
-�
x��n�ȅ�x�LR�OQ"Gw��dF��F�_��@Y��
�?9
(��LL�`a.����	�"ĭ!*�P��b�NO��ʡ|�Z�|��'M�@�����/�u:	O��<����;��8��vpO��"�1&������[��
�i��4���ڨ�Ӝ��i��=�	�
���!Zl��;S�E�CL�6�B<	U�T=@��wz��,:�˯
�|
`����O�S�ҹ��`��(}g���u����ŋ�
�^ln�
�{���&� �>
��[g�\��,(&&��=������Glϝ��u [t!��![���r��
��o
0�ɤf�
0�wy�ͷ�rhk
mK
�d�n�����Dh�@b).���*��������)�	��riK~�i���lu�[M�|-
 x�D���נ��e
!9�+��
��H	�#�S����͹in�i���6}�g��%9�
׷q��騬���C��/L6��Lú�F��&��IR��u��ښ�_DO�Q���D�aO�q��v�;��9�q@��dj]�P� 
i�7Y�F	�
קᒸR6s\O��|/)�>ѾY��uI"��4\Ľ���U�BH
t�m*��v�'V�s	�% %��	 /ѮQ��x�t
�k4�Ci �Ti�Շ����=!���aEf��zM�H�j?����
!3�bGf
�����
{�.�P�.��E�
~8�eA{�
��tم>Ut�Z�D
n�^԰���?�a�r���a�n��?kæ.��s�N�f��I1�<kφ���۟�?=!U��VJO�-!S�j'�B�~���
�ײC�K��'�Z�C��;-��08(�Z6к��n��
�`��^Č+]
+X6�7*rwD�f!4��`U�_���Z�Fo�]��� �8�[��?��S�.�j�]e��&��$�V�e$����,a��R�
rIJ��֎b�w+��{?R�G��mpE���Sݷl<q��-��&+�G�ϻx�{̊�J�3��E�v��nM�lLd}���&��g��o��aD��JRE�z�
S|�X�V�ˏ&�){Q��S%���y�������<�dy3���ߙ�w�a��G��s���ڏ�T�P���X�u�o�H���
���陽�S&� ��S϶ab�o�j�^��A u@�>���l;y��Fp�6�<�VJ��
�ݥ�iI'#
���ͽ)Hg���|��7��L��qU��F����
��f�:K
M/�
�����R�	��U�.��G
VG��� u"d�i��+����Iuup�O��7q&IQ�$�-��TG˰l��Ҿ��_7�i/h���EK{�_���o���������
���$1���f_�@���`m��
`R�S�m9�
+v�r��j\xpu��o�E7
��*,�U�UM�T�$���
+�I�lP2���*0.��#.��$�\�p��ՍILzzDPZ����.���yc��	0
�� 
�|W�끲|���9:%Pv��[��]���[
�#5ɟ�}�2̾	"��y���,rx�
Hy^�|ޕ:ME��y�{V}�+nDް�<��7/�Y�{u}���L�R�������n���d�֜����E��
+.�qR��'�yf%]����v
+endstream
+endobj
+8220 0 obj <<
+/Type /Page
+/Contents 8221 0 R
+/Resources 8219 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8150 0 R
+/Annots [ 8141 0 R 8142 0 R 8143 0 R 8144 0 R 8168 0 R 8169 0 R 8170 0 R 8171 0 R 8172 0 R 8173 0 R 8174 0 R 8175 0 R 8176 0 R 8177 0 R 8178 0 R 8179 0 R 8180 0 R 8181 0 R 8182 0 R 8183 0 R 8184 0 R 8185 0 R 8186 0 R 8223 0 R 8187 0 R 8188 0 R 8189 0 R 8190 0 R 8191 0 R 8224 0 R 8192 0 R 8193 0 R 8194 0 R 8195 0 R 8196 0 R 8197 0 R 8198 0 R 8199 0 R 8200 0 R 8201 0 R 8225 0 R 8202 0 R 8203 0 R 8204 0 R 8205 0 R 8206 0 R 8207 0 R 8208 0 R 8209 0 R 8226 0 R 8210 0 R 8211 0 R 8212 0 R 8213  [...]
+>> endobj
+8141 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.863 720.235 326.259 730.141]
+/Subtype /Link
+/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
+>> endobj
+8142 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.984 687.227 201.742 698.131]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_accc6c6488ea9d8555ea8e978cf188749) >>
+>> endobj
+8143 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.442 687.227 243.629 698.131]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8144 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.079 687.227 371.329 698.131]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8168 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.562 662.835 267.759 672.74]
+/Subtype /Link
+/A << /S /GoTo /D (main_affine_relation) >>
+>> endobj
+8169 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.288 629.826 212.768 640.73]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aba9abb279871c30a4f0c6cbb188fecc1) >>
+>> endobj
+8170 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.771 629.826 252.959 640.73]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8171 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.896 629.826 375.145 640.73]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8172 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.657 605.434 275.748 615.339]
+/Subtype /Link
+/A << /S /GoTo /D (main_affine_relation) >>
+>> endobj
+8173 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.443 572.425 250.099 583.329]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a934cc1f45a6d438f5d468276140cd5a8) >>
+>> endobj
+8174 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.258 572.425 289.446 583.329]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8175 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.772 572.425 379.512 583.329]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+8176 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.747 572.425 513.996 583.329]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8177 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.255 548.033 484.66 558.989]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+8178 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.091 515.024 250.748 525.928]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a196d1efc79437ca1d96b79b7cd60387f) >>
+>> endobj
+8179 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.068 515.024 357.317 525.928]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8180 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.405 515.024 456.145 525.928]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+8181 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 503.069 202.344 513.973]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8182 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.359 490.632 470.793 501.588]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+8183 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.933 457.623 239.984 468.527]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ab499fba7b7be2932147748248180e057) >>
+>> endobj
+8184 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.633 457.623 280.82 468.527]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8185 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.855 457.623 405.104 468.527]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8186 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 457.623 513.996 468.527]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8223 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 445.668 171.361 456.572]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8187 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.257 432.022 432.092 445.18]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+8188 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.207 399.02 266.586 409.924]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a702b00ff42a88c23ab25eecf0e9acef0) >>
+>> endobj
+8189 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.509 399.02 309.697 409.924]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8190 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.494 399.02 408.234 409.924]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+8191 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 399.02 513.996 409.924]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8224 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 387.064 171.361 397.968]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8192 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.141 373.418 414.324 385.584]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+8193 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.017 341.619 265.396 352.523]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a25f104e58f88e05dfcb905bcd66e493b) >>
+>> endobj
+8194 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.568 341.619 375.818 352.523]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8195 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.239 341.619 478.979 352.523]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+8196 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.616 329.664 225.866 340.568]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8197 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.222 317.227 466.67 328.183]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+8198 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.436 284.218 251.209 295.122]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0d4db6f54c7332e1a2e0bc85e16ba176) >>
+>> endobj
+8199 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.361 284.218 290.549 295.122]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8200 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.719 284.218 409.969 295.122]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8201 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 284.218 513.996 295.122]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8225 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 272.263 171.361 283.167]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8202 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.114 258.617 456.992 271.775]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+8203 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 225.614 224.57 236.518]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a44e10aa0180433db7d19fb8e473dc829) >>
+>> endobj
+8204 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.908 225.614 324.176 236.518]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8205 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 213.177 347.869 223.082]
+/Subtype /Link
+/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
+>> endobj
+8206 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.761 191.127 199.556 202.031]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ae057b1ed68adc20261654109ef5be01c) >>
+>> endobj
+8207 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.215 191.127 288.991 202.031]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+8208 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.558 191.127 449.718 202.031]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd) >>
+>> endobj
+8209 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [467.73 191.127 513.996 202.031]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
+>> endobj
+8226 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 179.172 244.556 190.076]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
+>> endobj
+8210 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.598 179.172 395.48 190.076]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga84cc2bd35e1437f8df3be984dd1f4638) >>
+>> endobj
+8211 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.169 179.172 513.996 190.076]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+8212 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.268 154.78 164.537 164.685]
+/Subtype /Link
+/A << /S /GoTo /D (main_Wrapping_Operator) >>
+>> endobj
+8213 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 132.73 273.129 143.634]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a52516b2247ed249d7989a7048a677614) >>
+>> endobj
+8214 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.944 132.73 352.41 143.634]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+8215 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.949 98.244 282.978 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_adbbe0f9a58b8cfa5c92d54082f2955f2) >>
+>> endobj
+8216 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.014 98.244 386.79 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+8217 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.53 98.244 513.996 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+8218 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8222 0 obj <<
+/D [8220 0 R /XYZ 90 757.935 null]
+>> endobj
+8219 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F79 505 0 R /F107 2332 0 R /F97 1188 0 R /F56 367 0 R /F105 2458 0 R /F41 370 0 R /F106 2337 0 R /F37 2638 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8284 0 obj <<
+/Length 2099      
+/Filter /FlateDecode
+>>
+stream
+x��Z[w�~���SB�S� .$���9ɶ��'��������$$��$mW���
)R�-ɖ�M�[$03�
������_|u}q�&��@�'�s�tv�C�x�u�|p=���=���n�a7��h�nF�[f��L�h�]zSG��ի��6Z�E�-��Q%g?]s����	��\K���2��HX��zB�@
�]�/Ix�EM3��A� �̫,j�y�^.e=�BW1<��r��d^����?
��������q~��'�$��#*B�^��
F(�f���ؚx�ט\8!L�gz�
�
����L��,
7Mz�m`���m�Z��h�Ep0��u
+Ę�>b؅!�]�v�Z9���8�scN��nYUi�2O�2��*Ӣm��}ڮ�UQsx.g
�+0�n�˲���M�|`�[���][�M��2Is�9-���\(�r �f�qYk����"1���|���pՓv����pxȟ�o�?�
L,@<
�9�����d8�
�ӝ^Eib����{�˨Q�Y�JcXVqV6��\ ��U�+S���9�?orλj�3�L���Zr3��l4D�
��t�ҶT�P�u6����3���P�0 ��9�K^������:��F- �Wb�p���	�ܕ��f�s�O�*��P&Ƹ@>�>8��id�D�{���r4t�$��P-D�e�2x
s���n��ܗK��2�n�-5��aϥxX9���Snd{/e1�/����
+GE2!���}�̈́�h�4^��"�=Jk�� � {�1�Uw��`�~$@����`$�F�A�n*YD�u�׭��"Ⱦ\
���	���9R 1(�m�=��@�Q@S 
R �[�u��M��ذ
& yP��o�1����	�i�AO
�_���0_ܧ�,�/�\�
�KF\����.
��y�ړW�@��%;n�ٜm�|������x��B9bXؽ
5���!�+f�O�963���Vj������#|���n��i+��������WuQ�e�.�3���U�:J�v1�x��
÷n�4�
N�)nCIx���Ő��Z }�W�&�v�w��A=K��t�8�\Ê�H����H��
�A�b���Z�.�@C�5�����ZbC�z䲱��~3	���@{ZL
e
��.�"L0LHٖU��Tj(��A�S���
^;�
���_
�o��̲m��}��D���y
1qL,8T����"rN��ی"��r�+l���\C$%�eӖ�"��f��
b�>,��'d/������Ap��`T�Ԕ�M���������4��͉(
������>��U/
�H
+�>�H%�O,`K�
Ɇ�g*�L����
@2���<)�p�(>l(��: z
�ߪAE�����ǣQ
3
+:�u����
u�t�[6�ֽ��
N
����y�i]t�1����
���/gx���. (V:l��i�[������mk���
�6�6x[&�r�c��v�.�=]��#`�26�%xp�Ol����39�Ա
�
vG\ϋ�Q�,�9�b{D����Bi�<
��=hZ�����sb�I�L�`�=��Cѯ��{ol>83),���
���m�����˝>#������0F��e@�����=��Χ=��K���
�º�� �  Ȃ�:0�
便jA�H;>�pNǻ�C��I�պ�L��Ġ��t��q�Ɂ����N3�]epF0�2/Ւ�S��
�=�?j�:�n2�,��$3~v���Q�<o�*�yTS�8
�\[
�XG{���Z�G��9A�Umᷣ����F�q�)w���2~_����5�����N��
+v!�Fl��@�U�÷�
�X/B��ԧv0�Nou�6�X�e�c�p�G�=  &��Sj��DՉ
���
TK�?�@�^@��U����ކ�n���2������87�
�LeԳ婁�9���}P�
��>P��
+���%�sk���Iydo��.ͭ������������vy�m���a�z�����3�s
+tr%;�2z��tW�*ߒ�l�P���m�W�����(n�m�V5J�˪�.���@���ےڲ�q^ֲ���0�I��
`���
+endstream
+endobj
+8283 0 obj <<
+/Type /Page
+/Contents 8284 0 R
+/Resources 8282 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8150 0 R
+/Annots [ 8239 0 R 8240 0 R 8241 0 R 8242 0 R 8243 0 R 8244 0 R 8245 0 R 8246 0 R 8247 0 R 8248 0 R 8249 0 R 8250 0 R 8251 0 R 8252 0 R 8253 0 R 8288 0 R 8254 0 R 8255 0 R 8256 0 R 8257 0 R 8258 0 R 8259 0 R 8260 0 R 8261 0 R 8262 0 R 8263 0 R 8264 0 R 8265 0 R 8266 0 R 8267 0 R 8268 0 R 8269 0 R 8270 0 R 8271 0 R 8272 0 R 8273 0 R 8274 0 R 8281 0 R ]
+>> endobj
+8239 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 687.053 255.564 697.957]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ad8d04d80653fb850dd92468af1995f97) >>
+>> endobj
+8240 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 650.262 257.637 661.166]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1d780ef5b99cc9752eb322353b7b6b08) >>
+>> endobj
+8241 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.974 650.262 357.242 661.166]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8242 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 637.651 378.454 647.557]
+/Subtype /Link
+/A << /S /GoTo /D (main_CC76_extrapolation) >>
+>> endobj
+8243 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.897 603.473 257.434 614.377]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a047e2a717168ae129338109f1afc9a7a) >>
+>> endobj
+8244 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.367 603.473 356.635 614.377]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8245 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 578.907 378.454 588.812]
+/Subtype /Link
+/A << /S /GoTo /D (main_CC76_extrapolation) >>
+>> endobj
+8246 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 556.684 257.786 567.588]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a9b7061aa20aa4b513216bcdb1a905ce7) >>
+>> endobj
+8247 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.123 556.684 357.392 567.588]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8248 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 544.073 375.773 553.978]
+/Subtype /Link
+/A << /S /GoTo /D (main_BHMZ05_widening) >>
+>> endobj
+8249 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 521.85 214.06 532.754]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a173628da404c1dc2c4d423cad7f9f960) >>
+>> endobj
+8250 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.398 521.85 313.666 532.754]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8251 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.525 485.059 308.768 495.962]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_afa62abe41a99d6a01cca319ed860bb5b) >>
+>> endobj
+8252 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [340.956 485.059 413.224 495.962]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8253 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [462.191 485.059 513.996 495.962]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+8288 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 473.103 156.427 484.007]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+8254 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.489 460.493 302.72 470.398]
+/Subtype /Link
+/A << /S /GoTo /D (main_BHMZ05_widening) >>
+>> endobj
+8255 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 427.31 245.911 438.214]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a46d5dc7df45abdea275f0295fee58c23) >>
+>> endobj
+8256 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.248 427.31 345.516 438.214]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8257 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.346 414.7 393.257 424.605]
+/Subtype /Link
+/A << /S /GoTo /D (main_CC76_extrapolation) >>
+>> endobj
+8258 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.84 392.477 291.592 403.38]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a87aadd3a9d47e978a32c9867b13220a4) >>
+>> endobj
+8259 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [320.409 392.477 392.678 403.38]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8260 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.169 392.477 513.996 403.38]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+8261 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.622 367.911 310.533 377.816]
+/Subtype /Link
+/A << /S /GoTo /D (main_CC76_extrapolation) >>
+>> endobj
+8262 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 296.306 289.866 307.21]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a703f57855b17ef63b28f88fe13a51870) >>
+>> endobj
+8263 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.681 296.306 359.324 307.21]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+8264 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 261.472 290.971 272.376]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a204fb0538d07ee8ac3d5f2724419928b) >>
+>> endobj
+8265 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.787 261.472 360.43 272.376]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+8266 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 226.638 224.003 237.542]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_af41476c22751c8d79e8599443aea93da) >>
+>> endobj
+8267 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.34 226.638 323.608 237.542]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8268 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.695 214.028 272.49 223.933]
+/Subtype /Link
+/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
+>> endobj
+8269 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 191.804 254.15 202.708]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_af3135ed5b5cb04d1e8a54fa9be77b90f) >>
+>> endobj
+8270 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.487 191.804 338.263 202.708]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+8271 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 156.97 284.585 167.874]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aba8ba56b075b2be7b6309cfaed039070) >>
+>> endobj
+8272 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.401 156.97 354.044 167.874]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+8273 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 110.181 241.726 121.085]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a34dbbfe20e987a3d55c7a3f2d08f1aed) >>
+>> endobj
+8274 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.617 97.57 407.658 107.476]
+/Subtype /Link
+/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+8281 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8285 0 obj <<
+/D [8283 0 R /XYZ 90 757.935 null]
+>> endobj
+8286 0 obj <<
+/D [8283 0 R /XYZ 90 704.136 null]
+>> endobj
+8287 0 obj <<
+/D [8283 0 R /XYZ 90 538.933 null]
+>> endobj
+8282 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F79 505 0 R /F107 2332 0 R /F97 1188 0 R /F56 367 0 R /F23 368 0 R /F38 2120 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8334 0 obj <<
+/Length 1950      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs�6��Wp/^�j 
�k�C&�V���3��ef�E���
+
+I���	R�DS����$'Q$�h���b���οξ��]\I�(��t�(�HA�ę�������`�G�c�GA�����Q�:��?�m
����׳2��� �o�R��O��"dK<�
+	!a�J��zHG���f��G�B��̀oIxE1�P�A��#�,����7z��1�F:��-W�|���<�az��1�!�Y�D&�%go�c'��?9��s�Q�è
��ss���&�ۦ�b[M"��7$u�V�
����y�y;�`��ţ�>3:�wV�7�(�
=&|�
��/��L�a�贈�tW��s�����Ƅpw�ƺ�uP���1ã�j�Z��z�++]H�A�
�U�F� $q&�"�m���Ǯ
i�jQG���o(��6
/�2�H3`�-#m&�׿���Ke�qwM��Y��Z�,
��ξ��hD$E��*} �+E��jƠ^�ll�	�	e �+� H�9"k��{1U<T3xV��DW���Oع����	����(?&Į �8 ^X
vL���
+�zj��E�� ��AQ�F!�m��I,'O
#��8v�Q��DJbb��^3_٠m���m��1�v
+AG�@��$ �4H��LK�ױ�?��g)�Gݝ:��@�
����"�q���w�T��mk�e
�J�(�\���e;��?"]�	ѱ[���R�]��74���ޱ}u�n0j:�
*���:��U/����mL�W����"�l�zB���Mkio�{+���`���
>��\����DT
+�2)
�z^S(j��.J�Hy�
+C�
�x�j��xb��Ч	u�"rg�\D�[�ySe4�u�^�����:�
+U]_��Y�WvcF y:1({����O�����򣓊��-�cMl��<ݭ0y���C��\e}�;�ol<57����H��Pe!G����6��ag�j~�gF��,�~
�&��b]@5(>���A\� ��
�o�Xk�*Yj�g	��6�숚���*z��#,��
~��L7�g0�]Jq
l�
+
vP�*�t>

�G��y ��o>���я�h%9T��iq)�xRG��Ë���

!�P�S�F�J�C+و8_��($�l���~e괵GQB&���C�|��ڦռ��K��-9yx��m)���BpXU���Po
�I����<�="��q)K$�)lҶf5-C��)v��M��\�",K������أ�
+r{��N��_��\h/.60�W��VH
�
+y�Z!��
+M{z��>�����;�0���2�*�KOΏC��M: �n�}�|9����%6n�Ѥ�4�# ���
��PȒ�q�*��]�y�*�+��)1n0� �OL�_�����?>W��
�̵m����D��W�M�A-�̱���Z)��Olj�*�k
Q_ۨ?�.�D����BJ�6����0�0LGП�Q
�:��0���tgAQDw{�
�ۃ�z���X:�YU�e =��m�|0=��q��Oc:0cx��C	�S;���m�j�d1��R
汙�Mc{pT�4J�+�)���	 %?��
��ҕ�X�C|o�Uu����/Q~<��-����,ʣw���A�^�`g��� �> Rn�_ܤ��b���}'5�P���c5G���c>�벯�%6���&�H�a��
�L���
+�A�o�VJ��}2 ��h��C
�9
�]D�gY�w4H�e��Y#��u���a��L���o�\"�tiP7��p�
��W
v��^u�|�6ͧ5������c��4m��u�*�I`�6�0��wL���:���Q�V�Uo*�#J�h
�Y�A���&J�u��4W�6%�niK<��l
ɢ,�����hV�U-s��e|���[R�^��VƼ)�I����p3	��5���2�
+endstream
+endobj
+8333 0 obj <<
+/Type /Page
+/Contents 8334 0 R
+/Resources 8332 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8150 0 R
+/Annots [ 8275 0 R 8276 0 R 8277 0 R 8278 0 R 8279 0 R 8280 0 R 8301 0 R 8302 0 R 8303 0 R 8304 0 R 8305 0 R 8306 0 R 8307 0 R 8308 0 R 8309 0 R 8310 0 R 8311 0 R 8312 0 R 8313 0 R 8314 0 R 8315 0 R 8316 0 R 8317 0 R 8318 0 R 8319 0 R 8320 0 R 8321 0 R 8322 0 R 8323 0 R 8324 0 R 8325 0 R 8331 0 R ]
+>> endobj
+8275 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 719.912 249.318 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a100662089d61a01ea43a28a944da266c) >>
+>> endobj
+8276 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.134 719.912 288.321 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8277 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.875 719.912 371.519 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+8278 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 685.043 240.62 695.947]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a6156f452e023eb181658f23bde09ec15) >>
+>> endobj
+8279 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.958 685.043 324.734 695.947]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+8280 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.313 685.043 389.5 695.947]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8301 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 638.219 278.538 649.123]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_acd9e3b1c74e12ebb2cec81b9670cc566) >>
+>> endobj
+8302 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.353 638.219 300.953 649.123]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+8303 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [309.2 638.219 341.927 649.123]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+8304 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 559.449 203.075 570.353]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+8305 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 559.449 296.324 570.353]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a38da38d0fab7eed9ee09fdb11f88fd15) >>
+>> endobj
+8306 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.636 520.594 287.856 531.498]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a51fb0220102e525b11cdb06dcbe322c7) >>
+>> endobj
+8307 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.636 481.74 294.481 492.644]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a2f13e4ffe7b47ec50721791877b41622) >>
+>> endobj
+8308 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 400.978 180.54 411.881]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1c59e94611b71ddd67acd033a05bbbc7) >>
+>> endobj
+8309 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 400.978 280.145 411.881]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8310 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [348.444 400.978 420.713 411.881]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8311 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 280.981 226.034 291.885]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a137dcf52993d2ff3dd6e4678b45baf56) >>
+>> endobj
+8312 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 280.981 393.444 291.885]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8313 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 230.172 178.239 241.076]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1c2f0ae89d7bf247a76c40282f31758e) >>
+>> endobj
+8314 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 230.172 277.844 241.076]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8315 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [346.143 230.172 418.412 241.076]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8316 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.625 179.362 245.522 190.266]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ac2cd6705bce0af4bd9880b990baf1198) >>
+>> endobj
+8317 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.848 179.362 325.229 190.266]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+8318 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 167.407 186.179 178.311]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8319 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.478 167.407 326.746 178.311]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8320 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.876 167.407 430.433 178.311]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+8321 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.625 116.598 245.522 127.502]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a025902247d9c8b46d92c514c1646ff69) >>
+>> endobj
+8322 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.848 116.598 325.229 127.502]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+8323 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 104.643 186.179 115.546]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8324 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.456 104.643 330.724 115.546]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8325 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.075 104.643 437.631 115.546]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+8331 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8335 0 obj <<
+/D [8333 0 R /XYZ 90 757.935 null]
+>> endobj
+8336 0 obj <<
+/D [8333 0 R /XYZ 90 578.422 null]
+>> endobj
+8337 0 obj <<
+/D [8333 0 R /XYZ 90 578.422 null]
+>> endobj
+8338 0 obj <<
+/D [8333 0 R /XYZ 90 539.688 null]
+>> endobj
+8339 0 obj <<
+/D [8333 0 R /XYZ 90 500.833 null]
+>> endobj
+8340 0 obj <<
+/D [8333 0 R /XYZ 90 419.951 null]
+>> endobj
+8341 0 obj <<
+/D [8333 0 R /XYZ 90 339.189 null]
+>> endobj
+8332 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F38 2120 0 R /F107 2332 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8372 0 obj <<
+/Length 2656      
+/Filter /FlateDecode
+>>
+stream
+x��Zے�6}��Г��X��V�6q�\6^�쓝��P��5/
+IY3��m\H�%�ĩ�v�e��
t���@<YN����7���K<QH	*&׋��)
+)�\�'o������q��7��ev���*��)�����ٳ_�&^�E��\�ⵞ�z�������S������D3�)o�Gt(DX�
+|}N÷Y\��
1(S4��:��Z^녮�$
+t�@S,
#F��w��]P�'ĺ%�H��I~��W<�C����&[+�O8e�?�\]��{��w.W��+��.�GI�"�.����~���Ϸ�2�I���q�������X�M�H\�<��w�5��f�uἦdo�P*����;�?S���@\�G��	EZ��%!bQۏ�������P�uFC�qx��>>�R�ؗ$R�R���lj�ŷ��i��D�G{q9�$Pu��ܯu�
���=?�K�'p8b$&r/��J)<�B�e�y�MdVK��_^L��8#��$Y:�qqӮ�
�@�,���&z��
�]��I{=���&��l:{��R�C/�r�"��]zǁ˸��ww�.��@7��,M�$l�h0�c���#=���.�))��9f􌅀0!z}ڎyA�Hq�	 ��)��P(���
T<��awҲ7V���@H�_`J3O�"�u:i��rS��by�"��c�A^e�o
\��h��$���
)�O�o�X�CVR��
���Y1C\Q���Jlj�Ip��K8�%��WF !�
�~~�<M1��<���/��9�eT<~��/1%z0�3Oᯱ��/��ޥ��{��kl��pKM�K=�x#N��a���y w"������9�<�x~�,�nR�>aZ���Y�?��OX��p�
@x���!<
+�@xo���H� <BQD�0�2h~���hg�v�b�����' qJJ�@�J ,S�|��H�
M�I=�C2��!�D]�1B��E˿����3�Ι�?	f.�vf��z|��C��
�X�8T��8=	���H�!���7Q��xZ� A��WW���PB���Wgݝ׃V N,v�B
p)>	~,rGY�>�#��Q��ըy3�"����1�`��9�c�����+�t�! ]�u��Y�;`�a�r�p�ͦn�Ϟ�[\{�9�9��{��3s
h2gƙ=�]�"�/b_�&N3=w��B�I����� J���
I�W�%9u+��e�h��� =~7���f���e�F�?F?�m4��'�5�pr$!N�W5�Рlgi~��6SE�W2�6L��[mĻ��
0�	��yc�4X�1AAtn7��-o��S[?ㅹi6�m�94�
�o�u��q��^W����
K盅�a��Xb�ེ�Ҥ1�� �ߥ�����m~��U���,�%�i�&0�{�f�����X���"L��{����so��Pt2z[e��@b"v�����
��C=�fE�{�ԣ_��=��˪1�f�)�l8Yw2��j���4����HI,�2w��
6��	4��1��
i�b��ܒ4v6�\��ī���"�4�EmW�4S���0R
U vy��۸|�g�M��h���t�ݠZ���t�2"*
�t�k��h�a���>�]��wg����v
�r��*��!��o��l���=��[/���D|7��5��*N�Əd�����
띏U�� ��s��Ő�J��S�W�v�N*��4
+��d��B��&ގ�e$�`��9)���D��-�|�F(Ļ=ջ1�
6��R�JnW�Ki���s��B�#$hU705�
�|�9J�J
XDԕ��
+8�c�C�s
+��5����x�k!,�>�� �}K�x�?S��oq~�x�w�@�U���
�g�qO���q�=��,��i6���N
y�
A R6����M�2X��Y�b��؊i�}E
���5`G�w��5��'�yڭk+��)�}8Z��S[�����A�;r=��~�va�	{ U�4k\s\x�MgnS����*�R�	0[H��N�,�P��\�ʼ\�B�����*wOv� �#G������P�p׹g���
�a�F�=@��]�
�X#J۹�����6z')�L{_�$ۀo��5�O�50X�F��,s������M]<@A�p�;�x�oGF���
���:o=R��H ��]u��v2�a�4qB�M�ؗ�?6r��Cϙ`�
�b�Bm����NeK ���p,Y'y|ߞָ�e�>쏿([J
�|6<�Bi��(TȮ\����9�
���1����'A�aQ�
䥮��74O�%z:�A�� 
�0zӌ� �"�3�rv�l��&��5�>%��\ch{hk/�E��
�WVBPK�]�f��/E��w!��@ۈe����>�:�y����
�G$�iE��:�3>��7
�L�mﰪ�z׭�;P�n}V����Ο)ң�4�yW����7��*�h����ߎ+c�����A����0ME��~�m����z�O�����u

�Y�������� ���o��LC�{t�]oڅ1.���
v��7��J�'fήw����
��
��
+�wtm�4�g����%5��Bis�^g��Ǻ=-�#I:'/ژ�˖����z�;p��F���
+endstream
+endobj
+8371 0 obj <<
+/Type /Page
+/Contents 8372 0 R
+/Resources 8370 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8150 0 R
+/Annots [ 8326 0 R 8327 0 R 8328 0 R 8329 0 R 8330 0 R 8350 0 R 8351 0 R 8352 0 R 8353 0 R 8354 0 R 8355 0 R 8356 0 R 8357 0 R 8358 0 R 8359 0 R 8360 0 R 8361 0 R 8362 0 R 8363 0 R 8364 0 R 8365 0 R 8366 0 R 8367 0 R 8374 0 R 8369 0 R ]
+>> endobj
+8326 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.92 684.047 243.605 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aaf0214aee8884dc52be4e061d6b4df94) >>
+>> endobj
+8327 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.226 684.047 323.607 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+8328 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 672.092 186.179 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8329 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.478 672.092 326.746 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8330 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.876 672.092 430.433 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+8350 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.92 621.282 243.605 632.186]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a2560fe5ce16277c4b4db17e951047028) >>
+>> endobj
+8351 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.226 621.282 323.607 632.186]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+8352 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 609.327 186.179 620.231]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8353 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.456 609.327 330.724 620.231]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8354 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.075 609.327 437.631 620.231]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+8355 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.138 546.562 242.189 557.466]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a6f27f62cf5d65574cbb44025b1b3e585) >>
+>> endobj
+8356 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.028 546.562 322.409 557.466]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+8357 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 534.607 186.179 545.511]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8358 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.478 534.607 326.746 545.511]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8359 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.876 534.607 430.433 545.511]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+8360 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.138 483.798 242.189 494.702]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a715054228bad30a232707ed0357cdd98) >>
+>> endobj
+8361 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.028 483.798 322.409 494.702]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+8362 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 471.843 186.179 482.746]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8363 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.456 471.843 330.724 482.746]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8364 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.075 471.843 437.631 482.746]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+8365 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.084 409.078 163.45 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a62d44847fe22abb82cbac84a776a9c72) >>
+>> endobj
+8366 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.434 409.078 357.784 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8367 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.021 409.078 513.996 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8374 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 397.123 221.595 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8369 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8373 0 obj <<
+/D [8371 0 R /XYZ 90 757.935 null]
+>> endobj
+8375 0 obj <<
+/D [8371 0 R /XYZ 90 359.803 null]
+>> endobj
+8376 0 obj <<
+/D [8371 0 R /XYZ 90 309.082 null]
+>> endobj
+8370 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F79 505 0 R /F97 1188 0 R /F56 367 0 R /F38 2120 0 R /F106 2337 0 R /F41 370 0 R /F10 507 0 R /F8 540 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8388 0 obj <<
+/Length 2705      
+/Filter /FlateDecode
+>>
+stream
+x��ZYs��~ׯ�[�X
́0��6�zk7Iٱ���[*�I� @�%�קs� (J�le�Dr��=���
��jDG?]�����m at G�(�����H�Q�3"9�,Fnj�N��R:~?at
������q����n��̊��?�n^E�<����u��'���r���{��� ���_j��	@"�,�� E�����)oҨ,'S.)0S|
o�iT�z�C���	
�q6�%��

���ŏ7_/��#V�E$ �����_�h뿌(*
��T���|���^ж���S1����q���J8L�-ɪ�X���_��y��4D�sGY���\/�
�Ȑ��&I���H�ۼ,�YjH��ʞ&ό�E<�r�m��8N�m���݁܎��<C��%�5�!P�Z������O���9�ܾ�pJ����
��mT�;�]��E������j)ݗD��)�m�l�4��]�n�͋���:�
+<�y��{�=Ք�
���)�2���w���詢]���*�G�e
�%��yV&e�!qW\�*{��dU��_�]1����0|�
�
�I����l�-�/���OT҄��R����4����L�U��\<*�Ec��m['������d�|�Pۅ)}����8[$�
+6��#��J�/.l�j�/�>�Xt���k�����l�k�E�?��ҏ�n�;�����,�5��b��W�KRs�8r�y8\i���8�Apn�rK
����h�53��Dٜ���n{�+�q�h
~p4(l0^��ˈ6k�4��lm�_ٰ�
��A
��U  j)�k�����	V�	$�&�#C at G>Q8H�}dE<e2Y2�F��Q��~����!V��C�������oO;��6
aPž|�!V@E�ED&��W`� 
���
A|/4�2�����K��o�؟��I�|2��W>Q�
1$�����;
+�C,�N�Ћ�� ���1�j@�����`�?�������XGV㭆�rКL����< ������
��j.�EBx��I��V5p��y
/�@��y�����|����y@�\���Rm���ڷ}���Y< ��KA����y�>��Å���{��dqRc�E��Ɏ���qJ$U]�A��
>�J�+��eu	�uS��.Q��r�P
�����
Gð�MS%{��f2�
�+-��X�����P>In�2 �!& �\��󢘈`���v��A��0w����P�
+�(����@��j�^���"�	_��Xi�Ʀi���
W��L��R/���u^Ɩ���$�[��ngF)o+�W���ײv�*�?�N,y`��f�� X��$􅢫�2���'e
���쇴�->�-m��y���~��lN[ો��!ޢ&-tL�Y��ҢƇ���~�b�#Z�>���Ar`fઑ�1*tnw?�_u6x9�À����~��R��Uν���q�
6X�����>��
�����'�p��u���6�w��x�:���Q�0���zК��c����cЁK�P�፝�m���tf�.[X-[�ef�iw:`���6���Ӏ�0':�?�I�Vᄌ@�Dq�2Kw
�$���<	
�ó0Q�����Ac[��䅄Q�	�^���<��n���Igu�Pc��(�{H&4L8�l�_oݨ�'�t
+�p���P���N7gv��ˠ%e�x>���h2�(uT�9oۅ`��Xq�c9
������}�<�q�v<���X�����I�Q���Tjou9n
����#���|(���;̉�y�҂��2�G�I�{P��/�
�w���|��݋P4�i�;D|��@�Z��pm
 ���
�	D�"�t�IDX�<�Wf��y
�E���"�~
�=�TXԋo�XߔǷ�4�CYBA��(�Pa��2l��YC�1�fLcf�ږ ������$mF�X���΢g�@���3Yey�%� �௉��ͣ݃��R�
+�s���'�
��e���Iю&��O�Fp��+(��4���@c������T�!�Sm
��
�T�����P�~O�_�=ѭLx`�4�m)��Xhcr�n����\g�����@�
��+*�h�
+:�����s���,h��!�ݟJ�MG̻������$ۚ-b
cem��%Ӂ�;�ρ#�0���7�Uv��V�����*��9�a�A�A(7���Fӓ�O��
DQ�
��h?9D�GZv@�
�~GZ�h�G���1� g6�d�u��K����|+$A=�Q�IOG].@
+6gXJwI�(�o�A�%.��}�$�{�Vٞ�l�g�U��D��;��pX}”E�g�x%�jd8mQ���j�F�����{�͍Iz˃	��<!B q�P����y��FZ|^yż$�3�30�ה�_�ϣn7���$��_g��
I�s$}?G��GJ�����k�!��l��؟�1��a�n?g�	�|euy�
�xi����m����s��Є����Nε
�����s��;�i�9N���
���q��75{j� 0$��)@;��s� r
���r�rR��r~\]�E��Ų�!�]�8is #�)Z���
���7�[���'�"�B�!Q,|������,�����'���
��e�����i�e��
T����c��e;;��k��V�����t+XO��\Q����~����1C�	mF���>�����#`�]�l
�TW�mzu7��5�P����%6y� �����D[����Ď
+endstream
+endobj
+8387 0 obj <<
+/Type /Page
+/Contents 8388 0 R
+/Resources 8386 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8150 0 R
+/Annots [ 8368 0 R 8382 0 R 8383 0 R 8384 0 R 8385 0 R ]
+>> endobj
+8368 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [110.861 707.957 170.418 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+8382 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [269.857 530.834 313.363 541.738]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+8383 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.725 489.299 193.232 500.203]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+8384 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.433 407.484 336.939 418.388]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+8385 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8389 0 obj <<
+/D [8387 0 R /XYZ 90 757.935 null]
+>> endobj
+8386 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F79 505 0 R /F23 368 0 R /F10 507 0 R /F8 540 0 R /F72 404 0 R /F7 541 0 R /F31 506 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8393 0 obj <<
+/Length 1599      
+/Filter /FlateDecode
+>>
+stream
+x��X[s�8~ϯ���`U˲��(eh��;� �q
���^�!ͿߣH�%q���
O���\��s��[;��N'�v$�>��ɍ#�#|�8%�d��<<r	�xx9"x�pz9�x�-6�xV��W�u��Ӌ�
+o�4\L��0�G'/O��O�D�/��[��-

�Գ&=2$"��
�
�p��r�R�A���x�/�*�+o㛸�`�,1���1�d�'��`�l����h9x�;3X�`�dଷ���G<�x�� t1e���bD��ϲ���UTe���~<���ϲh���*��,U
+��\�!�ɎXD���Z��� �Iv((`:�5�M
��R9
{�!�
�88#!j�_YD
+DyY�o���2"P <�%I���_9�6p_?�
+<��9���p�@�J�T��|wt�9"��A�ZN�C���9 k�� &�l�}�9��V�q�-RP��Y|�q@��/b��>�.�D��OI:���ՕH2b?t���_�o��=
+q�\kn$V��2�Z�{���$��\�
��$J��� �ۺȋ@��@w����U���S�\�Ɉ����ø(
i�
�|�6�����u�����-�8J>`L�]#�_
_��K;�p1��L9�mj�t��@���F��$���9�YW���GT֬=�ց����Am�K�7"kyXx��Iz�s�b��v;h4���x�$``��|�q2j��1|��Q�0 �m=Ș�Fp����{��W��Dp�҇�{��<�;�A�߃ء�0�
�a���^|�%
A�X��#���H Z"
�j��q�WC����e���.�6S�N�V.�ɮ���䁺 ���F�7�g�/_���b�G� h���ݩ��b
+1�
0}࢘%) T�
e�r�ִh��� b>�;
�=���B��9o���^I
;$�iVij>.�0`�o�طd��c �*޲�׍	��T�O5h�y�j���
�K)���3_B^P�=:�4��=�/���Qgqf9
���`�!�E��`G
�w\� �86�5"z9�e>�
��lFL���DͰ��tҒ�qx8qy�q=���҇����X��m�+.>�F�Ǧ�ylz�|�s�t�a��]�ԃ���ut���ț
�$Rۯi�%Rn��}����C}�
���1�
�ˏ0I��xSBP�HO�R�Q$�S<*��|Ä�x��s�
n�l�; �̴�RT{���3�\C#��j�Z�f�xK�*Ӽ�L�:&)�=IU�
��s�!2��︎���30� Ư13��n�M�
 =�?d���^��	�k��]���D~�$٤dY�NO�t���
.��4,
[
�T9�&��E�*���&}A� ��H�a0ozpKN)��P=h�Wzy=O���+1;Ӭ�
8f.�^��<+*u��^�7z��F<�𩋞6a]tCU6�4˖�F7`���~ n
+
z	������ ��n7�.U�S$o^-��WC���
+��Oj�09�:LW�Ū�v��P
Ӟ"?DZ1Q��ɱ��l#�hK
+
Ws㼪�ӓ��z����$/PR����dZ-)0o�[7��d	�ڒ,�c���"�/x
+endstream
+endobj
+8392 0 obj <<
+/Type /Page
+/Contents 8393 0 R
+/Resources 8391 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8400 0 R
+/Annots [ 8390 0 R ]
+>> endobj
+8390 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8394 0 obj <<
+/D [8392 0 R /XYZ 90 757.935 null]
+>> endobj
+8395 0 obj <<
+/D [8392 0 R /XYZ 90 733.028 null]
+>> endobj
+7983 0 obj <<
+/D [8392 0 R /XYZ 90 716.221 null]
+>> endobj
+8396 0 obj <<
+/D [8392 0 R /XYZ 90 716.221 null]
+>> endobj
+7984 0 obj <<
+/D [8392 0 R /XYZ 90 561.071 null]
+>> endobj
+8397 0 obj <<
+/D [8392 0 R /XYZ 90 546.501 null]
+>> endobj
+7985 0 obj <<
+/D [8392 0 R /XYZ 240.245 447.525 null]
+>> endobj
+8398 0 obj <<
+/D [8392 0 R /XYZ 90 430.798 null]
+>> endobj
+7986 0 obj <<
+/D [8392 0 R /XYZ 240.245 331.822 null]
+>> endobj
+8399 0 obj <<
+/D [8392 0 R /XYZ 90 315.095 null]
+>> endobj
+7987 0 obj <<
+/D [8392 0 R /XYZ 90 114.694 null]
+>> endobj
+8391 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F123 2840 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8404 0 obj <<
+/Length 1750      
+/Filter /FlateDecode
+>>
+stream
+x��Ymo�6��_�O�
�
_DR
�m���5[<`E[����dI��&��;��,Ŵ�l-�����wǻ�!i
,
�
=��N^H
(���:P8�� NI0[��O�c<>�<��u|y>�x��w+�(��7�U�w����u�̳8��XŅ�|��>yAHO=�
+	!a�F�Vd`�H�V`�ѡa���!
gi\U�)��):��"�kmg~�׺��h��9L1������
=���P�҄�K$a��z��0�:���(�i��AH�ip1�u���2��Q�]����]ף�c��6����
+��k����!�8z �Rv�@
+%��)�[�g���"SB��|��& ����5i�s�q���YU�ɳ<[���wl����Y���P�P�D��|Y������5I�*�K�N�C��I��L��ӷE�̓�����ADp�8�uBD$��?�$�¥���݅m����ۦ깙_�v�E�BfU0l
+�ԅ|��C�I��eR�5��窈箻H�:��<�V����(p�����Խ�N��H at 4��B��A�B�׺
~��3�F�!�!��bN��={���5�����
�}d���۹.j��~�Hʮ4�zqz�d��?�i�������>��H�m
��|B���l
��ķq&��n!
�R�����Y
'Ye�ƶ�FˎoV�|e��8q�Y^�N�Y�izg�զ(��
;�r�&M�N	ؔ� 9:Xp�ņE�됧��.�`g�t���������t�yy
�SDY�/~(g(b�#�� zSEa�
z��A�-�z`g�:^�PVJ�Ux��!��-q"��P������
+�l�Ne*S7� ��x�5�d�{�K†
`��1�YS�0�b����	�
���t��3��]
w{z�C/wA�#�y4L�c���� A����1-4��%x�zi�
 ����#�ZP��f}g�W�6n~w��-�$�+/>(S��h�
��
��h
�"� &��
YSa0�h�Ɗ�n���q[F�-g9l��M�K{#����~�}a-��}w�{�-$�E��/�/�޽=���W��
ۢ�
>��8� !����?z���
+���V������p���̴�2����c戈��H��w7UC3�J�2|_���7����f�'��펛�E��`K�c%���7�3�<s����ĐV+��, at s�"�� oz)��܈�}
+#j��{y
+!o�'�w�
+8�.��!AA��T�e�@��̨��I,f��u=۱i�
�'i�ぞ\�� �&ʦs0G��I��`\��e�F�C��"�P%�����!�������'�C�E~�^e�y;�sC�R��w�8�Ǜ���I�A�k�1\�@�C����ï���C.
��G���@�:
+��g���h��8��#�n��<�B=�~f��]b_�f��'�{rh� lX�G2��%d�+/!Cu����8"��ڛ
��\
�&������������[�~c�*`�+
�F��^a@���_�����]
+���U

@�[KZ����U�y�D�X�r����*v?'�<�,t�[��
#���3q�|l��_�$��zt�3�Sjp�������V�����r��7������<�� :������<#���� ���{����[7l��
����.��p8����8۴�e�>U��U#BL95�<��ڹh��3h{?���ZK��eW���.NONnnnмB�,)J��'E����VO

�zw��֮u^���&ױ�>��o~�#
+endstream
+endobj
+8403 0 obj <<
+/Type /Page
+/Contents 8404 0 R
+/Resources 8402 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8400 0 R
+/Annots [ 8401 0 R ]
+>> endobj
+8401 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8405 0 obj <<
+/D [8403 0 R /XYZ 90 757.935 null]
+>> endobj
+8406 0 obj <<
+/D [8403 0 R /XYZ 90 733.028 null]
+>> endobj
+7988 0 obj <<
+/D [8403 0 R /XYZ 90 546.764 null]
+>> endobj
+8407 0 obj <<
+/D [8403 0 R /XYZ 90 532.711 null]
+>> endobj
+7989 0 obj <<
+/D [8403 0 R /XYZ 90 382.389 null]
+>> endobj
+8408 0 obj <<
+/D [8403 0 R /XYZ 90 368.337 null]
+>> endobj
+7990 0 obj <<
+/D [8403 0 R /XYZ 107.534 245.451 null]
+>> endobj
+8409 0 obj <<
+/D [8403 0 R /XYZ 90 229.864 null]
+>> endobj
+8402 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F123 2840 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8413 0 obj <<
+/Length 1699      
+/Filter /FlateDecode
+>>
+stream
+x��Ymo�6��_�O�
�
_D�
�K���%k\`E[������I���
ERo������'F4u��x��#;7v^�N���� ;I����ڑ�	|�8%�r�|p	F
�/��=��E^��)v��~����u|U�����٪
+o�,L./6�6�Z�::%�c�R�|? �����
�H=�`9bC"¸]�㔅gIX����I�F�6	�Hϼ���bN�e+�b�q�1�l�^,g��������U:��	;k��`Ĥpn�U��Qc�\�~�ab�
5���,��!�s�w���.��k���S�w^�$��	�r�-��nnvi�Uz���dy��23YmL ��&/�j���]iWn��-
w��q��g�sN�[c����{g����s� �Q��[E�*γ��bk`-�,��)n�UV���$�n��eTyq(fG4ژ��r�6�s�ԍ���tH�D�
뜀�u
�,��%�6IG��<�8���U~�� ��=�IM
�U�Km��fn���.ճa�h��Lԯ
2
+�ʍ
+k��O!<��k5��u�3c�|�w�
Q$M�W�X
�� �١:����pT��(
S�{�U�=D��(� h,> *�u|��^0����<ߏ���� 2���9���9�WVVz�e��_� ���>�H��7�����É����̥f�Â�%�S���
+p^'4�H ����ӯ�/���9������G�	]�9|�x��F�:(��>�Yg�w*\؍�I���O#U� 

���P���?�����f�dz
ˋ���p�-r(F��V*�ua���O=K,�S����g��U�U\ٟM�?;��
�_�Y�}Aԩ���+����j�
���Y�-�U\���z���*٭�r��!f�HJ_;&�ℂ���3�] �i�ʇ
\�~���կ
�X��цm=h�g�M��-�/�%�H��~|����Wcӫ��ո�ո߫�^
͏�˘c��G���f�m���f��������D��>I~i�&��Z"x_ҭ!C�tkOx�Z�M� 6��ڻ1h
aFm���gEa����
�A8"tꋇy��'e�є��>6��쬶P�'��#�)DҟD����(�@������a�l
��Qu�`�@
'�sz�ʁ����
E��*�_���V7 a�
����u��=-s�\��ʄ�FHmC����Yݛ`ڊ��x�E
����کzE;]x 67]u��:�g�
L�꦳ި�iԍ�\'K���0_A�\
�< ?d��
E����8��i���M�V?j4A�M��~�q�O���	Z:
�8h�ޱ��O�s#}�CO���
{H��O�i��Ӯ�aF���ҫ�Ч}��V��>v��:��z�T>���Ȟ!D��
*ظ�b��t
+�y{��'��S��B��`J�t��_}0�S~���*�3S�F�`���I�Š��Ѿ�d&��������>yBEӸ�G�H�2���
5��ut��O
�mT튬
)hƺb�*v��׌�n�Hs���?�,1�'6�1T<�
�G���m
*��S0�D�G��Q�������>���h<�ث���
\)�]��+���{��{��QU�y���M=�weT|;��5Y�&�v�G�
+�K��АF��\Q?P�Qd�����c��eV��EK����MUm���nooѪD�,�(������a�X�&�&��sC�)�g�)L�5�>�ߌ���
+endstream
+endobj
+8412 0 obj <<
+/Type /Page
+/Contents 8413 0 R
+/Resources 8411 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8400 0 R
+/Annots [ 8410 0 R ]
+>> endobj
+8410 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8414 0 obj <<
+/D [8412 0 R /XYZ 90 757.935 null]
+>> endobj
+7991 0 obj <<
+/D [8412 0 R /XYZ 90 663.141 null]
+>> endobj
+8415 0 obj <<
+/D [8412 0 R /XYZ 90 649.263 null]
+>> endobj
+7992 0 obj <<
+/D [8412 0 R /XYZ 90 434.052 null]
+>> endobj
+8416 0 obj <<
+/D [8412 0 R /XYZ 90 420.174 null]
+>> endobj
+8417 0 obj <<
+/D [8412 0 R /XYZ 90 185.244 null]
+>> endobj
+8044 0 obj <<
+/D [8412 0 R /XYZ 90 160.875 null]
+>> endobj
+8418 0 obj <<
+/D [8412 0 R /XYZ 90 160.875 null]
+>> endobj
+8411 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F123 2840 0 R /F104 2229 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8422 0 obj <<
+/Length 1273      
+/Filter /FlateDecode
+>>
+stream
+x��]o�F����j�a�?P��6����M�U6B���[cS�Y���o
'"Q�U��G�3s�y��c;K;�
~�
&�
+;I�3{t
v�$HP���ݐ`��hL0���#��n�v�G�`���؝��?�n��N��Rw�n0�]�;��}�\��R��T�x
��bJk�"�ՄYG
�Մ}�7IFc*03thכ�Mm1rcm<"zhC��abȘ�b>�����e
+)X�[���OF�hg��Z;�2�8��?����Z�1w��H^���7�nR?
+�|�A@	��T#��3&0$D"Iө�8
~u1w���چi+��Z�}M2�}G#*�۰P�,D��;8ELVw|���A�� ����O�9��!{�I5�

q�DZՋ�:�hĥ�����.|�;5�~�E덛��E
�SB�ӏ!/"��C�,��2ϱ)5'�s���z��ncCw��S�N�
�T#�	�
Y�CE��(S0S}e*�<W�c�4"�=Ic�'��U��4Ic�K��܋���ò|�`$p0���`.D+����Lsds�?�!��
+F�&n��&���H�ȶ
���3(��Rw~����8	����n8	Ŋnl��IG�1���	��O��p��f��Da�;��A�����uj�
+�
��iI�!����B�<��
�>,�$���(��(-��6��;�{V�
�A���~�w���1ﴢ��4�����mDS.!%���K�3XP}X�
X(�u��D�9=>�y��y���z����M�MD�]
������;�ƪ��
�̸�F�@ب�, ��z�
+��(��X�&�]�?��q4'�
�
'D B�8��{�|
+�s�
�x7.��o�t�bU�[^�;��~��n���ؔ
�5���O#NZ��dP�\W�
�I�r�
[g�[{U�8.�+�WQ���eq�`ӭ�a
	<ԅ�o�5���5�
/���i�ux���S�.�$y%J��6����� �FR�sqy_
Od/���(�;</����<<%����
+�����A�%4q�W���<
�`���]i��{��
+��ɻ���LO�v��O�J�zf�:���T�y�T
+i�;ǧx����n�9�\�����_�5�s?���a+2��.�'"
�Wr�{h�
Z�eE���Sq�Wb�GB
�:��
�ܠy����q�1Ĉ��z��xkm�b��?N���A�m�[�)�Mg�J��t2�n��K�S�ob䧓�&�
;h/
+�
=V��:�N�ap�����$q�\
+endstream
+endobj
+8421 0 obj <<
+/Type /Page
+/Contents 8422 0 R
+/Resources 8420 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8400 0 R
+/Annots [ 8419 0 R ]
+>> endobj
+8419 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8423 0 obj <<
+/D [8421 0 R /XYZ 90 757.935 null]
+>> endobj
+8045 0 obj <<
+/D [8421 0 R /XYZ 90 694.089 null]
+>> endobj
+8424 0 obj <<
+/D [8421 0 R /XYZ 90 679.519 null]
+>> endobj
+8046 0 obj <<
+/D [8421 0 R /XYZ 90 552.399 null]
+>> endobj
+8425 0 obj <<
+/D [8421 0 R /XYZ 90 537.829 null]
+>> endobj
+8047 0 obj <<
+/D [8421 0 R /XYZ 90 410.709 null]
+>> endobj
+8426 0 obj <<
+/D [8421 0 R /XYZ 90 396.138 null]
+>> endobj
+8048 0 obj <<
+/D [8421 0 R /XYZ 90 257.063 null]
+>> endobj
+8427 0 obj <<
+/D [8421 0 R /XYZ 90 242.493 null]
+>> endobj
+8049 0 obj <<
+/D [8421 0 R /XYZ 90 103.418 null]
+>> endobj
+8420 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8431 0 obj <<
+/Length 1561      
+/Filter /FlateDecode
+>>
+stream
+x��Y��6���)���@��!^FчI�4E���K�M���p%y��OߡNK��M�E�eW���?�(��:�y5�i:�y)���T8ӕ��#A�g�t>
	F.
�	�x�vD��KBo�vD�0
�f�x�7�<����E��Ƒ�ޯ��}���yIȞyJ5B����ŐV��Հi�
��Հ�Yx
xi:S����Cn/3œwfe�QC-�ӌ�����t�����\.�Njp��#v���������Bǥ
����o|Rb�|ObĐ(eΪ��\��N�1���=lL�vf��Ւs��<)&A��.���^�h��@�~
�U��u�
��Ҽ��#*��=W9��ӥ#	;5ۖ|�IQ�,g;?[�T���9�	A�pGiV<EL�eqR�~W�ǭ�ו��~�I= 
�B>F$rUG��{n��=cW"I�0X�b�;�m��\
+ٺ\I9���:�~t[��M�3&*
��� 9C\Y9�7�EZ�c�����J?�yѲ�m��}I��
-[�9̾����jYvTSag�ڕI�_��_�M!��O��*$�͐n2�f��ďF.
�y���y��64Q�	����kݦ�$
Q>�E� ��'.EL<]6N%�
�+NeA!W�Y�2�KdHAܱ-�pU8
�Y0�"��4��mCS>!4�b�����Gv ޔ�<����5vP(3&�q�
q��c�"���c at T
s�$�_� !��a7W/�=�b/�0ET�Q�yI_�
+QAZ���

�
	�Jҹm�
+c Ѻ5Ȓ�9�`��!ԋ!����Rl�Qv8Ͷ(ަC�ӽIZmM���C���h�k�!M.�#���ޛÑ�/��m5,
�)aݔDqVf���n�E�_eU�a��J�d�G'��#��a
+JvZK����%%��6Z��U�>��̛�vJw��邳l!��7���d��~S4�iS_��$��vj���apP;ԥ'�J��OI `��~@\��ˠؤ+���~EN�({�����$K�6y�&�W��3hh;ǧX���,]��Ե
r�Q��UУ�@�Y럣|�٧��
�Ϗ����x�|
+���� ����7H;E`�dV5�ݯ��y�,L��WPy-�^�_H?�����6��
�Y�X�c�	LD��`�Z>{j��9K���	
z�~���gQV�%n\y
���	��)�*Z�������u4�c��ʤ
�.��w�Sĵ
�v3����1o�)/5>fX’�m%��e�bϽ�uql'b�}6]~��6��
+ıx�^�.ً(�G��
@�M�||+j�fw"�i�ًb'�W���\ F�C�� ��c~4`/ %�CX�15�_�YMt�I�!ڛbC���_Ir�7E���>,z6��
�e�z����+�����-ʯ^j:��P�����ٍ�
���U}
n��Y����g9� 2u�W��k
&l���k
׈W���
+��·���[��9����S�|?�|X��m���2�<%M+�!v�!+$
�7��b1������A��&Z����:�6����n�)�F�&A~v��7��ž�"�T��~��q�qR����0�2t ����z�
+endstream
+endobj
+8430 0 obj <<
+/Type /Page
+/Contents 8431 0 R
+/Resources 8429 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8400 0 R
+/Annots [ 8428 0 R ]
+>> endobj
+8428 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8432 0 obj <<
+/D [8430 0 R /XYZ 90 757.935 null]
+>> endobj
+8433 0 obj <<
+/D [8430 0 R /XYZ 90 733.028 null]
+>> endobj
+8098 0 obj <<
+/D [8430 0 R /XYZ 90 604.717 null]
+>> endobj
+8434 0 obj <<
+/D [8430 0 R /XYZ 90 590.62 null]
+>> endobj
+8099 0 obj <<
+/D [8430 0 R /XYZ 90 468.76 null]
+>> endobj
+8435 0 obj <<
+/D [8430 0 R /XYZ 90 454.663 null]
+>> endobj
+8100 0 obj <<
+/D [8430 0 R /XYZ 90 332.802 null]
+>> endobj
+8436 0 obj <<
+/D [8430 0 R /XYZ 90 318.705 null]
+>> endobj
+8101 0 obj <<
+/D [8430 0 R /XYZ 90 196.845 null]
+>> endobj
+8437 0 obj <<
+/D [8430 0 R /XYZ 90 182.748 null]
+>> endobj
+8429 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8441 0 obj <<
+/Length 1893      
+/Filter /FlateDecode
+>>
+stream
+x��ZKo�F��W��J@����n�C�$h��i⢇40hie��H���������ӫ��@_��j93;�o���]����]_\�P8�P$�
��A�%	�׋�݄`��tF0Ɠ�S�'q��o^O)����J/���Ur[�������*�˳8�y��7z��������S!)0��c�
$ ��7�=4"D�h|{�³4.��
+
�":��MW���K]LI8��
�X�Ą��мx~}��28 �Z�B
+�����`�?�(
v��u�)��4x{��v*�{U
Fc
(*��J�T
�u����cL���
��Q0�O,�%�?n��˗/�웁��X��SG�d:.�ZO�� ]�I�ٽ*�����:�������>���?�j�֖��d��e��w�����(
+Is�Z%�=3�AԞ�ztס��8�����s�r���j(B!Xv��l��E\�NI��]��
�z�]ۧS*&q����̬����#2�@����u�}	�[_���@f��Ў	��*��gH		��d�č3�Sy���Ur�&�
�8-���F���X���#�$��w����ǹ�T
�
L�™�Z\]%ٔ� q�,n��\*��:����En���Z�x"�"�*�Io�W�B���CfE�	���Y����&����ZT�0���B!*���K����Ex1�]T�b���Qݛ%�䅇� �蘺
i6&��%|�o��I�fwY�k��os��?�?�+oBLFm�c	��2���ɘ{��m�Y��s�)�ĵ�͛�t��	
+���>��Q1��8��FK>HG#��#�ٴu�T/]��fU���A
,1s��E��}5(B
�Qՠ��h�<���X�[��7:�����
�(dG� ��n�<��΁� �1z
����n0cL�PD΂b�M���j���8�L�9���n��!��s�׵�EM�p�
��xn
�R�
�?
+���V�g�^B����d��
 LGx?>��^B���1� ��a,���eBP�9�/  ��G�����G��(��b�Rg}��W	F�C�w
�Q?�����f��(�P^:Gy�dɾ�$��b kqP�b��7u
,=��h��&���)
S
a��B�J|�KH��	��
/�})J��L�"�${�Ca�+'���x��+^�O�x9
d��-�&�
:�w_K�
,kֻU2_Yd�B�h5.���R���G5��<�\E٭t�}�ZI�
�
+
Cmr�6q
�*f@Ӷr�k/���
Z����V�=���[ͧN��<�ƊBP�+�
la��o+m"&����:�6b��Z/�:��.IS�E
T�J
wg�?nn�M&��1��n���~o��e:V�N�&a�
f:�T���P�M�#
�k
΂ �%@ק����қO�CJ.��+��a!����
�£
��r
�
��]
���x?�# ���~
��
�ܻ~ވ����%���s$��~�42l�e�p;
!
5�l�=��C-D�Sޣ'`xƅ���D�>M�Ӊ@�5I�� ��D 6�M�=���'Nzs�qӾ����V
I��Oj�F
K
�2C���0Y�a�����FF�M�'
lI>K�N"	X���m��+r
��T
�L��q��@L��}'!?O=��pP]PhW�Ѽ��O \y�������֩�%�1�׺����u'u�n$���{��h�׻7�����s4��_���~z���#zg3����On�9f.�P�
�HA�}|���?�"� C�Nx�O �����LC��
+!!�H��Ɗ��Ǧ�GW��ï�.��
+1q.�S�mc��M���
19��“�Z�+�{�4�mW�IK �p�VU������vh^�m�l
+�T��Mz��@=*����}٘d��-`s]7�h�� �f��
+endstream
+endobj
+8440 0 obj <<
+/Type /Page
+/Contents 8441 0 R
+/Resources 8439 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8400 0 R
+/Annots [ 8438 0 R ]
+>> endobj
+8438 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8442 0 obj <<
+/D [8440 0 R /XYZ 90 757.935 null]
+>> endobj
+8102 0 obj <<
+/D [8440 0 R /XYZ 211.842 575.144 null]
+>> endobj
+8443 0 obj <<
+/D [8440 0 R /XYZ 90 560.42 null]
+>> endobj
+8103 0 obj <<
+/D [8440 0 R /XYZ 192.853 260.547 null]
+>> endobj
+8444 0 obj <<
+/D [8440 0 R /XYZ 90 244.442 null]
+>> endobj
+8439 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8450 0 obj <<
+/Length 2237      
+/Filter /FlateDecode
+>>
+stream
+x��ZI������)��"4v��ć�f���2��T��.���P���,��p$��r*��@|��G��)�������ܾ
q�HRܯ��$HPܯ�O3�������	���6~x?�x����*���".�������<�Ӈ��x��}KH�<��2�5�?�-	�#�͆{�&�
_OQ�&��r������v�ƕ�w>�.�D�t��[,bb�Xdh޼���rC�
Hm�/�7�>�`��
0b�
+��m�)��4�x��
v&�}S�rE‚�2����&��aU
мy�VȾ	%!i
�q��t�o�,��������jv$ٿ0����^�4�b�{�Ո�Pȅ� I�%���Ő���
)A1�b��a�
ǭ.��8�VN�,}v�O(��#��2�ld
*�ƲtV�t�(�N�7?/��J�
�z�nD�G`6�%�ٖ���.��
��d�O��Ϊs�
	�ܨp�Z�X���"&�7�ϻb�����
p�
+���U�7�1C�j�T���fV4.���%Xt�d�|����1�'�gI�j�S,��~����{ꞑ�NI"�%�Q,�&_T�v�
ʂ L'�mH�1�,���1�g+���"ߺ�:��=�b�'oBB�6խ��}Q�������Yõ��)��Z��Ԕ����R���R}2�I1�-8V��C\�.�z�hD��
�z^�ו]�*�/��!O!Y���B��DĠ��X5�RA۞+vP x����Ng���*o�`"�&j� ���<�ԮQ�!�1:U�{�},
�0D��z�4ww�'��Ha. �JgKHȕ��C��xxcb�������N�a����ۋ��V*����)?�����
$����3/q�������a�
�����,��1  ��G��q���G���u��L
��#�E䓇�Y�.�
b�كvy_X�.��|J���'�-;F�,�Y��΃�'�@B�:�u��_�S��AX8��W��DD��ؾ��YW�pU� [...]
+�I�5�٘t��H��4:��c �d��'p�c�]WONb=��$�BW�!SOv����^Çޙ"��Q���p8�z�P�b-ի��
��?����\@�����\@�x,������Ζu���l ��l@�����
g�t4@��
w��K^�Zd]�/�� t��.��X���,5��	.�ѓ\�I
d�z)Ծ*@��>�����g|@�D�
�G �rBY�|�
�b��'k�
+�+a�p%��GU
�`�]
��nj^�?�,�Rw���O_����%:��O<(��ᦑ"�<e��~.�m#��Y�l
�lM`� ��3Qf�t4� 玠<�|�/����5�<FoU�[��w�����
����c؎��7�Ѽ�<l^2�
�j��2
:���ib�bԞ��>0AzR��(Λh�pLK��S5b�!
l��٬ԕ��

T��(�<�������d������t��
�
�c]����Ԡߤ��z�!�6v���L[3�o�œ�����M�~�]�
{�B���
�'Y�W��&}�C
6����6�A?��z0�� ������
>LB�K��B ��L��>�]6p��s�A��~�v�R�����L��kɴK���0
+�(�R;1V�]�wf��SD�:_Q�ώ�R
`�x[��
ƈ�h��)
�
���r
���
+\V]�Ϗ��
�K�`���F@�|��{S|��}�K���?J]�q.������
�]�k�.b�2)
�>�&X��4���,���(H�]��������p@�2�(�nw���� {T�
+���Jm�
���m=�Bc��
+�1�
+endstream
+endobj
+8449 0 obj <<
+/Type /Page
+/Contents 8450 0 R
+/Resources 8448 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8454 0 R
+/Annots [ 8445 0 R 8446 0 R 8447 0 R ]
+>> endobj
+8445 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [491.252 145.166 511.506 156.16]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+8446 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.129 133.211 211.803 144.115]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Frequency) >>
+>> endobj
+8447 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8451 0 obj <<
+/D [8449 0 R /XYZ 90 757.935 null]
+>> endobj
+8104 0 obj <<
+/D [8449 0 R /XYZ 211.842 623.774 null]
+>> endobj
+8452 0 obj <<
+/D [8449 0 R /XYZ 90 609.184 null]
+>> endobj
+8105 0 obj <<
+/D [8449 0 R /XYZ 192.853 314.81 null]
+>> endobj
+8453 0 obj <<
+/D [8449 0 R /XYZ 90 298.84 null]
+>> endobj
+8448 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F104 2229 0 R /F8 540 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8458 0 obj <<
+/Length 1420      
+/Filter /FlateDecode
+>>
+stream
+x��Y]��F}��ੵ�x<�3XU�6J����vݧde�Q1�q��{�ۻ��M�<����8����;;?~�
&/v\�J*���q��$A�g8o�#�Gc�1
�
<�7=�x�Dۥ	2o�K�.��t��/��$�����K��v�r�=�HJ�Wֿ��t<�)o&�zl��0�Lxz�³���ј
+
�\:4�4�
+S��n&=4�C�eb� ^�9x>�0�
R�E(�`a5xs�� �_:1W;�j����o��
~`�b|2��EsGQ��䵷�?�&-�$�+�@&p'R�v�1�!!jyL�a<�x����`�ew땉����
!�s*�Kۤ/�dD�p�Y
+6�t�
N���c��s:V!2�I3ɋ�zdi/��j�cַruk�X����2[� ��s��8��d�zE�.2�4�)�H
+
+	��W�
@G�p^��
�D�fVha��b��&xR�K�, %��}w����o	��l
yr)W�����$��SF�
U�c���ܷ\�Ԕ/2���Z�E���qPO�C	���`��b��CDX+��?&hF��9^����65��*�T���CR_�)Avy)�5	���5�ȁR}�jQ�v��-P
�Q��K�N� ��@cE慱��[, at J�zR>;�����sR�u�߳�
�;�c��
+q�
s�FY��>l�z����e���]�hF[G{0�9�I
8�Y\#.w�IZ2�/�m�<���/0��4�>"��U_�Ir�9�@6���l;*���WoX�Bw&�����FX�+(�n����oM����I�
g�A��(HR�ɚL�$����d�U��
p��+�� ��i�Z�l
H ��� ��n�V1|i�_�A,�"�$�k6PmN�T)��JqRԲ�J_�Z5^yQd�>_�i�&��
4�ۓ�
+ҫI
��
� [%"ԁ&�{j���I��I�5)��(�o���W�(Vh�5����X�@4�'�i��Q��^s)�DXc�*V
�}�m<]��>�"�s�Eh��v	�\���1{���*����&��Kp�_��Q�O(�g�9JL/
P»c۩�\uO'
+��.��	�iu�b��P��+z�
���Q
+GX�%��6h�
��% 
�R	�v}\�S_E�8��q�[?2g�A��Ӝ>��1PZ�U�.�K��@���Q�z�^�j�_��
����>��=h8z|�t���3
+݋+gI
�����ƛDİj�
�b;��"�_y�%�G���E�����~���@dI��~n.����Jٵ���ַV|�?r�};bh��Ջ�^����)`7(`=�!����1ƆX����\�<���h
+ j��,�t:�l6��h
�i��b����S��@�ծU �ʯU���
�0���&>J�_���
+endstream
+endobj
+8457 0 obj <<
+/Type /Page
+/Contents 8458 0 R
+/Resources 8456 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8454 0 R
+/Annots [ 8455 0 R ]
+>> endobj
+8455 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8459 0 obj <<
+/D [8457 0 R /XYZ 90 757.935 null]
+>> endobj
+8106 0 obj <<
+/D [8457 0 R /XYZ 439.299 678.622 null]
+>> endobj
+8460 0 obj <<
+/D [8457 0 R /XYZ 90 662.517 null]
+>> endobj
+8151 0 obj <<
+/D [8457 0 R /XYZ 90 481.14 null]
+>> endobj
+8461 0 obj <<
+/D [8457 0 R /XYZ 90 466.57 null]
+>> endobj
+8152 0 obj <<
+/D [8457 0 R /XYZ 90 285.816 null]
+>> endobj
+8462 0 obj <<
+/D [8457 0 R /XYZ 90 271.246 null]
+>> endobj
+8456 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8466 0 obj <<
+/Length 1480      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~����&3͋HQ�P`+�]�v��=tE�HL,LW�����P�d�Ql�M�a�Kl��~�|��n<��4�q9��
��HP�-��{� �S�-�O0
+�tF0���)���ru�vJ�_fەN*u�:��T�],�č�)
�]^��ZO�/_�_�'��	��V��v���H�n�rDF��݆g�$<�T]Og�cQ_��L5ڮ���u5%��E
K,b�g12'/��b�Gڰ���8�'��c/��W
F,��m�+���3�.&�N�
1�7�2B^H""���1
B<%�/��5��0�ž��8�f�8w�Z/��"��o��&_7iY��fJ��j�C���;�����"K�u�
l]l������۲Yw��M
뺾�dNAe>����Ǻ�Q�+�l*w0������|b�C R"J%|!����Z�h��'�n���x�4���,�͘@�E{E��u�*��Pt��U� 
+����l׺P��c(G����9���xW����5KlP��,'ᱢ�1~
>LͳS�Y,T�\�eqSml��,��9�$��_��.>?��

��hoi|3�L����	���AC��, BW�?$��5MiAG�
b
B�v�1�� E���X�c5-#��&eU���TZ����tJ9 ��Lw�`��\��`���
q,#6,y�R�
t�a}� �
moF1Zh�8�B
4���wr2ٵ?�0g����0y]�x?ϕ{ �Vq�O�W
�K/���@wL7�q5�b�� �U�&�����&�G��8���Ihv��[�'i��#����]y*�}fVEb�
��(��8�8����VڊMRE
��E\�kդW��~
Zr�r{�'����^B~C����U���JHs���b��z]V�N
������QQ�C��r;q
$8(�Z
����A�Y$ty��!EG����H��c=��-�]2"�B
XҾ�ߥE���m1,Q ��
hk�W�'�;��_V�R܉��C1v&u	�
�m^>sсqG��T�#�U:w	�:�9�ſwqvw���
h����w�
+E{�
�%(䐬����
+��8Y1 9G[�WP
�SmU*�]��y���<��4^�RrP�J�F��=��ћ����8�G��A�q�ѳ荜Eo4@�u���'z�oЛk={�e�#I&�#J�c0���":c���R'�2<�ڡ!�>s����tl�fm�� x�6.�'�b�/����8]�p��ǘq�0r3n���3n�l'�fO;!6KW�
p��{܆fOVf���ۈ���ߛq�&VVם����q�
mN`��\�3�C�;"��‡̸��
��z�<��F�
+Ba�c0���m���A�~k�5W"��݉죻ه�k]};��w��E�6B���ш�ɅE�1�z/�v.Z���o?O���%�"
�}b�4��|~{{��m�t]�������.&��� ��w��6�`W^V�����+��;����S
+endstream
+endobj
+8465 0 obj <<
+/Type /Page
+/Contents 8466 0 R
+/Resources 8464 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8454 0 R
+/Annots [ 8463 0 R ]
+>> endobj
+8463 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8467 0 obj <<
+/D [8465 0 R /XYZ 90 757.935 null]
+>> endobj
+8153 0 obj <<
+/D [8465 0 R /XYZ 90 687.065 null]
+>> endobj
+8468 0 obj <<
+/D [8465 0 R /XYZ 90 673.383 null]
+>> endobj
+8154 0 obj <<
+/D [8465 0 R /XYZ 90 505.4 null]
+>> endobj
+8469 0 obj <<
+/D [8465 0 R /XYZ 90 491.717 null]
+>> endobj
+8155 0 obj <<
+/D [8465 0 R /XYZ 90 323.735 null]
+>> endobj
+8470 0 obj <<
+/D [8465 0 R /XYZ 90 310.052 null]
+>> endobj
+8156 0 obj <<
+/D [8465 0 R /XYZ 90 89.441 null]
+>> endobj
+8464 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F72 404 0 R /F100 1390 0 R /F23 368 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8474 0 obj <<
+/Length 1301      
+/Filter /FlateDecode
+>>
+stream
+x��]o�F���+�j�T����E�ݪ�V�6�U6�XLlT������ �m�xW+e�l&Ùs���@�����_?O��4ҒJk�`il9� A�5�[w6����`���C�m7^���C��h�_��؝�
|��x?����"
+���v�n������-!5�j$����,�4<�)/7L;lhD�(7�t����M��
+
�4���f�~�����C�l?�`�i&l�ifs�f:�4 `[$�E8ȁ�����
[sXgaĴ�v����)�ϕu;�k��JL�R�$F
QbtNK�cW1�����ܐ�7~讳h
�)�`H�Kj
+"�
�Y
D���x�� 
+Q�.T� ι�1q��#B��t4
y&�"�0��?��r�Ea��n�E�|��_ at Z��7�M��p�m��r�ȼo4d�N"�
^�C����u�� �B�U�� "
k�A�7�������Ë6Y���U�P�V!~�F"��Bi
�����
+�����J��K�O�ƛ�Ge���1��
SA�(�V�Q�O�$f
Qp�UC�
��0�1u�5�A�ɭ܍��0'Am�'
�-�#��R?N���D!k(]���5�kw4|lTʹ���I^�j�
L�F�0J�pR������
,�(���e�
+J�p����I8�i
+�(��H��d�C��Gw�gn�خ��|O*'����hH��
M4
��)b��(,r��$d����
m'�B_꺪����e
�	�;
+B/Zo�4���Q� ��PĘA5ð�5�D�� �"�O(����I$
+~kV��-�B�)yE&i�l&�Au1I#琦2���
��3R)�D������`ԗF0�
8�4"--���f��qdr�2
���0���P
+�:@b�勁D
��
yD����='���ܣ垅$	;'��z"I\B�z�H�WyIJz�%�nk��M���^�!d_�둉Q�\T<�L��S��
F@�x�x;�/˪
oP�Z���,�T�Z����bu�O2++�3oP�"��(I�M2��`�i
�.�i��� �JR����P�7p
����$R��~{�@M�%�T���J_����NI���
��
���D� �1�� RHpn ğ
�f�' G�#��}����� �pY -�(�r��j�d^�����"����T ����H�c� �.e~
	�[B@D>��e9��K3��
�����	�7ܖ�e�����L�L/1"$�I#ޭ������o�
��;xKEة{����x��퐗�mlb���f5>�}�
+��9��!�
��Q%}�k7������^�n
+endstream
+endobj
+8473 0 obj <<
+/Type /Page
+/Contents 8474 0 R
+/Resources 8472 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8454 0 R
+/Annots [ 8471 0 R ]
+>> endobj
+8471 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8475 0 obj <<
+/D [8473 0 R /XYZ 90 757.935 null]
+>> endobj
+8476 0 obj <<
+/D [8473 0 R /XYZ 90 733.028 null]
+>> endobj
+8157 0 obj <<
+/D [8473 0 R /XYZ 90 573.456 null]
+>> endobj
+8477 0 obj <<
+/D [8473 0 R /XYZ 90 559.23 null]
+>> endobj
+8158 0 obj <<
+/D [8473 0 R /XYZ 90 394.153 null]
+>> endobj
+8478 0 obj <<
+/D [8473 0 R /XYZ 90 379.927 null]
+>> endobj
+8159 0 obj <<
+/D [8473 0 R /XYZ 90 214.85 null]
+>> endobj
+8479 0 obj <<
+/D [8473 0 R /XYZ 90 200.624 null]
+>> endobj
+8472 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8486 0 obj <<
+/Length 1486      
+/Filter /FlateDecode
+>>
+stream
+x��YM��6��W���@Ms�!�F�
� i��Y7�$0��v�V�]Ig�}G"%Y�l-�N���m.5
��{oHQ�֣ދ����乢�!�g�7��
��D2�fK��(t4J����0H���Ո��&�_��4��
]�Az?���ȃ�M��U�
G�g/'���3f��+\������� Wd��0�apYMx�g�i
d�h�$Ec�
��6�Ў�o�tz&

��!��9x6�5 4C=(�"Q��b=x��zK
�Q�v嬵'��ػ�6�.��d��!�
+O1��/���>.�m
m�����F��v����IiMd�r:�����A
-�Az{���eq�\��1�İ:�t3br�Kl��d�]�`����(�.l1�������i����IA��>Ѫ^lq�i
��z��
/#�z�
G�b��yt
���jƌ	��2X�i��	'L:�U
&&�+q������r�
�`]8�tg�KN|�W���|( �����%�Ƙu�c�q߾�2��L��g:�Ì%Y��+�wT"I�›�A�L�d�aj�?i��9���QWcЊh`�X�����)��]
fg0,�Ё���֑���m9a19���d�F��
+�� �fn��@&�h�>�{��Af�p���l�g�

+60�B'GxJq�� �Ἒ��h,�
"3G�I��6a����g�2�U�T��
N
ԓ�U
�!Zk�€�'
��y�>���(/B%o��I��u�r���b;�3_������~�vS��.�o�k
+W1H
�?*��N���v�
����Y�G]������^��n�"5�Z\�Eu���(E��A��.���%��Kծ�kW�;�/c��*t��tJ���)�^!g
n0�ݱߧiL�RPNh3p^Ә�Դ��	M��~\���ִb�Z�
+o
M��U~��`[���q�Fw�%w
+�֬��ጠ��q
+�z��`Q�(oY%�%�w� LJ|�I����
+��4ڗ�c�va7�Wa�L��PC�T-�/^
��c��ЩM��R�8k��9X�M�l�T��7# ���[SX����Y0��V�Q
&'��ݼ̭k��X	D4W�p}V���R�X
H��*ŗ�b��R
%/a�`e�-����݀QD��;,n�.���K��DwG��T��������8
�
�d{��?�a�Ψ���E���P^�~��4�J�/�řk(u���fB�)�J™v:��NU����^#u�G]�#������ڟ� �݆��zs�,/A�%�|��!m�p�/���u�A�J��a�����1
.��8P�ş�US�s�b
+��+� N���&��wI�F��}�T�:¥�k8��[:i����4�^�z������o����#)�.��]7��H��% E9<�"�\�U+n���W}�iP���4#T�IX��v:��v;��&y��(�l���X��� �=��٤֯�&�[
\��G��$7 �
+endstream
+endobj
+8485 0 obj <<
+/Type /Page
+/Contents 8486 0 R
+/Resources 8484 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8454 0 R
+/Annots [ 8480 0 R 8481 0 R 8482 0 R 8483 0 R ]
+>> endobj
+8480 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.4 609.841 212.124 620.745]
+/Subtype /Link
+/A << /S /GoTo /D (main_Cylindrification) >>
+>> endobj
+8481 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.379 422.235 210.103 433.139]
+/Subtype /Link
+/A << /S /GoTo /D (main_Cylindrification) >>
+>> endobj
+8482 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [448.024 327.843 483.212 358.812]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8483 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8487 0 obj <<
+/D [8485 0 R /XYZ 90 757.935 null]
+>> endobj
+8160 0 obj <<
+/D [8485 0 R /XYZ 90 696.523 null]
+>> endobj
+8488 0 obj <<
+/D [8485 0 R /XYZ 90 682.39 null]
+>> endobj
+8161 0 obj <<
+/D [8485 0 R /XYZ 90 508.917 null]
+>> endobj
+8489 0 obj <<
+/D [8485 0 R /XYZ 90 494.784 null]
+>> endobj
+8162 0 obj <<
+/D [8485 0 R /XYZ 90 311.358 null]
+>> endobj
+8490 0 obj <<
+/D [8485 0 R /XYZ 90 297.225 null]
+>> endobj
+8163 0 obj <<
+/D [8485 0 R /XYZ 90 172.97 null]
+>> endobj
+8491 0 obj <<
+/D [8485 0 R /XYZ 90 158.838 null]
+>> endobj
+8484 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8498 0 obj <<
+/Length 1663      
+/Filter /FlateDecode
+>>
+stream
+x��Y�r�6��+�j��
+@� �Nf�N�:}$��M��� �S�TIʊ����B�v�4m��@���}�s bo�a����|r�T`/FqHCo��b쉐 N�7_z>����`���S�}Yl���)�~��^�e!/L�
+Yܞ��XTr�g2�<��[5}3~򔐎yJc���c
�� V��=0�#p���1
ߥ�,�3�1���6�TV�̼R+ULI�lSA
p?`Lۜ<�O��0�=R��
$`��fr�{K��ađ����x��z�_&؆��(F3O�����>y�P�*ɳ��á��y!�coF`�sc�����I6eؿ�i����z�QYճx�ݘr�&��E>���g&J���k�`�{�5ƁM�>�⨱Z]'�y��2x�0q�l9`��(�b�V"�¸1R��.�hΒl�o��J�R�JfF	E�~~
u��ƶ*W=�V%d3�}�
�Ú=V�[�ɍި�˜(���:�鄫<O��c�)TV@������� (�>I[���Bsz��nUqy��2�޲L��e��To�2�}�9���,�U��=�b⌍�O��O8?��/��~�BME䠠�8
�����d��g�(�C(Z����g+ 2C�)3��i�uH�0j�"

��
+�p���6B�����&�N�o5%�ו�\
�'������^�����$������}��*vj4`ΗBU�|����b��j`�5��{m%�rh� �[���t���S�2�]�	������1R_�c�=��:L5�#��3�%��%u��6�W������Z�ژ�����Z+�bm�ϫg����p|���X|�P1
+0i��L��L�O2i�Uj
\��U@���a�#�5��ZF%1��؍{G����1l�+hw 8b�d�mK�ڼ%g�ar�Dz�(�
�a
�h�߇\�
mj�
]r������}YN�����?���8z;w�8_
[~
�B�G�Y���37��|gZ(�� 
��?��N�<�`N]]9��ʋ>��YzkFR�Ս��LR	4��keP��`��?R����X�r�


)T���} o��A�z��n���M ���>-%h�v�zA�
�v�oÄ�U=t��`�����ssQԒI���Ź�X�G��F�����Η�:+�dI�6��Ɓ�f��{w��\]�Z3u�����؃
�i�m}!���L�h:c!��2so�2(�Tk�/T�K+c��M��Hik�6˫����V�H��;d����*/��6�mwՀ;v�4���� fpnc6J���Fڒ_�*W��zw+���y]�ya`щ�~c�E���7\�Z
��2�|';�
�>�
gr��S��19
=P��Q9�(›:�򨒜�hT��QI.B�`I�LV�?���["
#���KD���
S�k�o�0�
y
������:���d�BO��R�ʩ��&cH������� %Q{�����}`D{�Đ����
�
I{���)>�[��"��g��3�$�(G�� ��!YWs��k ���^:$6���ů�*��r����If;ǥ�n�)U�
WbD���� �ϕS�Ư�=7�aRG��-�(¢9w\W����d�ߣE�vY�-PR�l��ɻ�ӱBbS at +'�7��D��䦦�w��'��P�
+endstream
+endobj
+8497 0 obj <<
+/Type /Page
+/Contents 8498 0 R
+/Resources 8496 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8454 0 R
+/Annots [ 8492 0 R 8493 0 R 8495 0 R ]
+>> endobj
+8492 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.54 523.826 309.037 534.73]
+/Subtype /Link
+/A << /S /GoTo /D (main_BHZ09b) >>
+>> endobj
+8493 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.54 274.991 309.037 285.895]
+/Subtype /Link
+/A << /S /GoTo /D (main_BHZ09b) >>
+>> endobj
+8495 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8499 0 obj <<
+/D [8497 0 R /XYZ 90 757.935 null]
+>> endobj
+8164 0 obj <<
+/D [8497 0 R /XYZ 90 694.089 null]
+>> endobj
+8500 0 obj <<
+/D [8497 0 R /XYZ 90 679.519 null]
+>> endobj
+8165 0 obj <<
+/D [8497 0 R /XYZ 313.62 526.979 null]
+>> endobj
+8501 0 obj <<
+/D [8497 0 R /XYZ 90 510.252 null]
+>> endobj
+8166 0 obj <<
+/D [8497 0 R /XYZ 313.62 278.144 null]
+>> endobj
+8502 0 obj <<
+/D [8497 0 R /XYZ 90 261.417 null]
+>> endobj
+8167 0 obj <<
+/D [8497 0 R /XYZ 90 134.297 null]
+>> endobj
+8496 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F79 505 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8508 0 obj <<
+/Length 1797      
+/Filter /FlateDecode
+>>
+stream
+x��m��D���S�8R����F�U[Q�(���RE�d�X$v���
��Y�b���Դ��Wwqֳ3�3��9����ދ�׃���R�J�z�)�� A�w=���#��#�1�_	��l
M^)���n�gY4y�dQ����"M����2�����W�	�3O�BR�yi�����Hy���aC!�D��S���<���`LQ_�7�����=�ِ��N�p�)&|ƅ�9xv=�k@�
�H�� 6����co�_z1zw媵�)��+����>�b��b/ň!F�<��cb?�>p��zA���$Z�h�ЙL��
ىl
+���&MW��%�����j������ �By#B��p$�Ԍ�y
i���6���d�&��/&P.�"���P����
{񌸸@���ʿ�,��
+�hX��9L((�f���5Bv�+BDp�8�7`v��e�L_��/R{T{�¢�5�Y� �_�TH�b]ƹ�*nK>*{�6e����͋���te�u1�d:��-
���
4�@�Q�Ie��guc:w�@�/�gA�	�i���XZ��Ӎ��<v�K��T�S��p,M!0�����a�pD[S�h�k�9FTB�*�kG�m����H9���4��J��t|m{%���r�Ф�^��1̸b7�<�?�^��� ��F���VƟ�O���;w�z]� ��Z��b6
�ɐc�6ZųI�-�k�=_:�Q��术�Y:�¿��B&��U?�#̃
� �	�m$3�
JQ@��	
?#�NQ���E�IW�b7��i��@�ܬʯ�)2�dCnr��Ȟ9�1�
�3߿
9�
�+���s����}�cj_
Ҿ085c%i�zk/�g����

i�XR�kyL0� <LO���������ha�������ݰR�ő)��YBb��(3��ı-%��za��f�Wq��l��~c,��!�`���
� �M;is߁=�`l��[�OS]�<���'E�E>
�
M�
�4��@�Mg:I�q�O�L����3$��h�7>�c�A�h��Vx{�'�<)�C�����'�8K z	q�����l���ò�L���o��'�f�S�C�@�.�w�d����m���[�mRi����6��&̇[B�3�"+`V�`fñ=A��{ɴ�'QVg%��Q�
�����5 at QŽ��
7;�� f��le/9�e�tݲs 
��%
ړ�y�*DŽ�b𐩮�W3������XC;�rH�a)�{J_�L���+���߻e<]V����R/��qX5
ه=��˨�lD�R��O����$�;Y;���
��	G�]���Y�
��l��|��a��.w�-0#�U�����Ɂ�b��'�v����o���a����wp#@Z�ȩ��J=��g+@�@\f��of��x�gV|��#�ZUUU]��Al�V6�v �v�����ՏQU͵wM-;����D��Z�w�9�!dQTp��a���s�\
���Sp
:�b��	���ӌ�0TPp
�˶�kF��1:���!�>�
gtE������#��e~?��|G�����
觓��w���0`������e�J��9�\n8�|u��a�Q
�
��	�rzg�ã��=�6��?����1�|RLϷ7y��<R'] >
�鿂��g�ǐ:���:�@]~ ���Կ��G#�����ek�s_G���a/i$�^C
����}mZѠs��fg��h��\g_����
%�hվ:�5�@ ��e
'!����k��q�����4(��zKB�p�~cY������
��h�ě
���f��zد{V��o_��5�N��\\��	��гB.
+endstream
+endobj
+8507 0 obj <<
+/Type /Page
+/Contents 8508 0 R
+/Resources 8506 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8513 0 R
+/Annots [ 8494 0 R 8503 0 R 8504 0 R 8505 0 R ]
+>> endobj
+8494 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.275 665.984 293.971 676.888]
+/Subtype /Link
+/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
+>> endobj
+8503 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.332 490.226 235.598 501.13]
+/Subtype /Link
+/A << /S /GoTo /D (main_affine_relation) >>
+>> endobj
+8504 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.151 240.37 244.345 251.274]
+/Subtype /Link
+/A << /S /GoTo /D (main_affine_relation) >>
+>> endobj
+8505 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8509 0 obj <<
+/D [8507 0 R /XYZ 90 757.935 null]
+>> endobj
+8510 0 obj <<
+/D [8507 0 R /XYZ 90 733.028 null]
+>> endobj
+8227 0 obj <<
+/D [8507 0 R /XYZ 90 589.152 null]
+>> endobj
+8511 0 obj <<
+/D [8507 0 R /XYZ 90 574.73 null]
+>> endobj
+8228 0 obj <<
+/D [8507 0 R /XYZ 90 339.297 null]
+>> endobj
+8512 0 obj <<
+/D [8507 0 R /XYZ 90 324.875 null]
+>> endobj
+8229 0 obj <<
+/D [8507 0 R /XYZ 90 89.441 null]
+>> endobj
+8506 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F123 2840 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8520 0 obj <<
+/Length 2107      
+/Filter /FlateDecode
+>>
+stream
+x��ZY���~ׯ�SV���!	�,�6�kO�b/�D��H�Br<;��SM6����Q�0I5�����>���1��w�?�O��)
d$���&28R� AIt��>M	F
��c<}?#x��x�~F��{�&�<^��>�q��X�eUƏ�,�-?n�c2�����w���Sj��
+6����^�i ;R�,��0�0�,��%	��⢘ͩ� ��i�?��2��|H6I>#z�d+x�
Sƥ�9y{?�DŽ�
��-B!���O?�h
Ͽ�0bFG�ժ}�)��]�q���u1eK�s1b�	���qh�6�)~�}�$7͂��d��Z�tЙ�!�/yS٬�bc��k������BD�΅Ĝ1�
:'!ƭ�ܳX<&Y�ǻ�d��7�1�Y�L��u�6��X@�
0�o6x�<�v��SRj�Y�8�I1}Ѐ�Uk͇N:=dˏ/���.$Yi�i{Dy�+^�!�L ![
V��(�*p8Er�;�4K�|���c� EZX���7!-�B\�Fzb_3P �Z=�=$�_Wi���2�ӲX,*����
9VP�M �$;��,.y����K�{���
+��Է��IkMYb�H0�$jc�[#d"42��a��j����T
&!��{�n\�'i'
3� �/BF�k�mZ�p$Ft��zS���	�/ N� ����i��w͓☬����:�I]O�GWX?|7�>͙0�^*�oě�:'��<�
+.���)[��qb�r{�N{�F�KǗ����.`X$m���ZGP
��Ukq��($
�S�͈T�;翞<h%QM�9�Cz93�,p���U���.�T��ԍ��g#	Z�fr�-��
UFs��M���I
�Ռ ݖ �vO,�ke����[ŧ��]ɫ�U�Pk{����%��A^�À
+�M-e��"^�ϩ������D�+��A�,������*����O,h���}OA�m��7
�%����ƙsG��ݷ_lZ4��zi���%��ϥjm�K��ɥSO�Ν�P����
����"2016���njdc Y�k�����
�S������q{��CW&3"��K�C/Xᔪ� �,
� ���_k�����$:0ھhU����Ur�����c�^]���"�f

"�Y����<d���t�ְg2�:݄�� �-C�bXT��H�u͊�%�m�L��G7
h����
U��ڣ�opS��M.���fP�+��)x�
�ܡGJ�'�:�J�?Bw5�_�xŠ��>8�4��mM��.pc�vm�=�%�+y
R��B�2�/�%���Hg[Q�骼POӏa��6y8�G�N(���R�OQJ�Jɥ�h��16_��O�v�"��p�WP͚656ˋ��[@��*\Ǭ����ˉY���

j�6�9�E��12v��(��0#�.��
+FG�]��
#�B�02`��ݨ`I�32�@�Ȭ
+��U�8���)@Ay(R^��*�{�bc�S��7ybc�7��{�*���w�p&Z����\�k��͏C
+�
+���=�kj���Q�=����8vļ�eG
+)��
���=����I���XI���d�b�_�;!?��E����F���䧂�Pͯ��g�Q����c���C�\U�@�RK�Ġ(��р
[X.�9+�����C�ˈv� ��}�pdk����J`+.[�+���>
��u�B�w����s!���A	�#�^�qx���%5m��=,ύ/�E�:4F�vq�E��)
+�m]y:�	��^[�� ��
R��7b���;�����6+�R��
P��v;�U�i$��
l�}�*T�]_����i������m�=��}��$�� ��&iZ��up�ݏ������?y��n��� B�/�k��(9�Ց_��҈a֟�|Ɣ��C�=�#����*qs�����cQբ��'��8��cP��͎�FJ��P�"I��͠d������JA���Q��y
+D���'x�����;�ۦ=7?hT=���k���̄�:���8{�
C������8bK��`��I���]���?M���OD�]�m�򸸻{~~F�=e�1Giyw<���'�p �m#�4?d���>���>
N����@�=
+endstream
+endobj
+8519 0 obj <<
+/Type /Page
+/Contents 8520 0 R
+/Resources 8518 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8513 0 R
+/Annots [ 8514 0 R 8515 0 R 8516 0 R 8517 0 R ]
+>> endobj
+8514 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.2 642.073 480.931 653.712]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+8515 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.852 371.717 466.489 384.196]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+8516 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.059 105.345 422.924 120.061]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+8517 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8521 0 obj <<
+/D [8519 0 R /XYZ 90 757.935 null]
+>> endobj
+8522 0 obj <<
+/D [8519 0 R /XYZ 90 733.028 null]
+>> endobj
+8230 0 obj <<
+/D [8519 0 R /XYZ 90 470.792 null]
+>> endobj
+8523 0 obj <<
+/D [8519 0 R /XYZ 90 456.221 null]
+>> endobj
+8231 0 obj <<
+/D [8519 0 R /XYZ 90 217.654 null]
+>> endobj
+8524 0 obj <<
+/D [8519 0 R /XYZ 90 203.084 null]
+>> endobj
+8518 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F123 2840 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F8 540 0 R /F13 581 0 R /F7 541 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8530 0 obj <<
+/Length 2117      
+/Filter /FlateDecode
+>>
+stream
+x��Zێ��}�W�)��UO�ٔ
��k�v���8/C�H�DD"����ק��KS�4��
?�I�Y]U]u�
rp�
p������w!"I*��M� �	J��u�iJ0�x6'����Ӹ8���3����i���x�S�P���b��Uo�,�/?��c2�����w�t�S!)C��X��.�<�
)��؈a�^��5
��㲜ͩ�`,���p��Ub�|H6I1#j�d+��"&���������?fp at LZD�B�xu�|�k��C��T�hV
N|�L�K1
M���<�DDr�Kq|H��(�}C�
�E�P��`�XPk�s\x�޽ҿ�J��x��yFl��{w�t\C����Ó�����F��/�i�	�6ͳ�{��
���s�S�z�X&_��fE�8s;;
�"�����7=7��v�1q�O�:Ͷc1$3"��IR��#q.y���	�y$���ºc�p��N���fƛ
�@S��{�0B��W��g��kسhm�/U}[��
q���]��k�Y����^���ǹĜ��愠>��h�K�A�-�EV�+�i������t�i_u{fri':\�K���s���a0��n��_Vɱ2��pEWV��"�f
\���z.�
�A�v`����fs9L7Zi��sG�[z5ҳ.#��ziZZ��&����t�Q�xց��\�_��>e8�#z3`�M���M�8�$�M]�f5`|�ṵ�\5��.̆��"�U��r`{
7	�
WW��R�<͠����
H�p1�H�bR��`�o
+C���Q4�]����<ƫ�;
P��������
�	���"�,B�AC�/�G2�p�+G`�z���
+Ƭű!^ӟ7�V=
�
�4��A�"D��"��Ѹ��kk�TKOY��P-A�K\k� ��~}{-=��6�`���_������r��oM�i��\2��&g5����@
h1A��7�@5w��GI���~�t�����aʧÐa
m�� �+7P(GT�r�S�%q�|��]�vQr��!'��)rNc�i�k��.OLzW)���*�*
����ܥ�C��H
a�����&�h^p�Ǭ}٤֓<K�� 
�<����m?'B�2�/D�x�_ ���@��V� �p�m�Wb1���n
+ܢ�`���O
+i��i��y���1��*�d�fc��i�%K�u������Yا��!�=��z$�-L	9��a�Ե��:$�
+ ���5x����;�Ќ�pz��1�
���8�f��P&2�
+�E.
4�F��hV�u�lM��P�sXT�
+�g��7:�r��K�!\fP̄�Ӭ�_�
����s�	��3ڂ�� ��
�6D�
#�#߀+ |JJo ��[B
�������'�cvFO�4��Q�{��:�lLm�f��f�S��G�^���#���������Ǝ��5�
+4����٢�H��
pM�^	�9u#�j%^w ���JDs�C����Q}Ȅ|�>
9�"�u+�6�H�O��g
+�!v�
+��ڇJ���fZ�i�[�V�EjZ�G���:�X��34
���#�`�b)oDfZm{Y�F]�:>�T��� k�Z骺�gBG���1BR��d�!y!)o*$ET
I9af.�i0�Ӡ��@�M
�]9���6�
+_�/AF) P���
:��V�6���p�p8fn_��r(8�Vw�I1
+�K�c}!��c���:ܠԗa�eG�12"�@;����D=.�*
<0*L��
+�>��
=� ��#�@�(�:�:��(�
����nX�	�C;�<U��
+��O���f�CL��!��
)�{?.� h���I�W
)����B
_
��
�B!"R�P
��-����z��颢����і<)P\I�~��
��2Ӑ�Z�On��I4D� 
1�1
�k�n�p������{��}K��g at xΆ��
���E^�6m�������u�8�L��s��Kxls��[�
+�X=���1p�
!`BDH�����5�t?kfYSC/폟ˤ�j&�����8;�/[5o��M6qaD܋T��cROT׿��ۏ����S �[�]U
ww���hU�S�

�Vw����/:V B¶16�T9����4�����)���E(��
+endstream
+endobj
+8529 0 obj <<
+/Type /Page
+/Contents 8530 0 R
+/Resources 8528 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8513 0 R
+/Annots [ 8525 0 R 8526 0 R 8527 0 R ]
+>> endobj
+8525 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.382 479.493 394.782 492.41]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+8526 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [334.883 228.727 440.282 241.206]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+8527 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8531 0 obj <<
+/D [8529 0 R /XYZ 90 757.935 null]
+>> endobj
+8232 0 obj <<
+/D [8529 0 R /XYZ 90 591.101 null]
+>> endobj
+8532 0 obj <<
+/D [8529 0 R /XYZ 90 577.231 null]
+>> endobj
+8233 0 obj <<
+/D [8529 0 R /XYZ 90 327.101 null]
+>> endobj
+8533 0 obj <<
+/D [8529 0 R /XYZ 90 313.231 null]
+>> endobj
+8234 0 obj <<
+/D [8529 0 R /XYZ 90 89.441 null]
+>> endobj
+8528 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F123 2840 0 R /F8 540 0 R /F13 581 0 R /F7 541 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8541 0 obj <<
+/Length 2293      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o��~ׯ�SJ�x���	6A�٬��a�hid��H���u}����tݢ�`�"Ϝ��Αq���������"
(�$���&P8�$A���~
�	F
�c
��
&�>Y��S
��^����L�����Wu�g�ny�M
+=�p���W�
�S���
n�����$�)o	�=<"L�����]RU��)�}�Kj���]�I
�l��b"d<6<go�g��`�b�""������
����FL���R�N|�3|�Ĕ!,��Ĉ�v�[Ou�b�d>����~.t�썶Q�5�`H�׬)�l)�L
���q|�� 1�4��D�Bb��
]�������!?dk�^&��1��^.
�}�h�&U�3����G?I�&�V<�3�ӎ�SRΥ?�HAA�����<�jw�wi��r��c#GU�yf
��g�#)AQ�ZN���6��9v��`���L��B�
?'a#<=+���pY��.7sm�JuV/�2I����ʳt
��w� (�bg��|�fI����%
E��#u��0�\
�"R
�ڤN�<�& �x#S�N��Fȡщ��X�� $�%�3x�13�	�a���F"q�b�
�F :$B*��Yo��# @�D�
Z�]�c�����@^"B�cZo�
��
+���`g�����U��)�゙�-a���:�̩]�:>���i��1qe�$���.S#���9m�tr�t����F��spQoY�'��S8
+�%��U�R�0��w
�u��i=+HzE�A?
���FN&Z/R��
E^H(tM�����H�--��*��PdT��C�
C`D��
+�63>G�(�47(���
)0�'x��Dc�jz�	���
Y�u>@��
in�	��#�Ѿ�4Zh�.���=�Im���*(? ��}K=Դbٕ��m���L��}��9k�'k����}�-�$%�N�����>�xќ� |��.H�L
����^��#�+�����Hy��s[T���
+zND���|E�F��"�(
�^�CQ�g�p�8%���& �ES�&�
�V�~�g�W�=<�h�6�Eݾ6�y#���~�����#����U/N^,� l�A�ɮ1�"���vw�6&����]=̘ݡ1;1�^Iz�$� �A
 ���7W�����*�U�AU�oo�l�A�d��-.xO��U�t�����Ƈ���
6�.�;�h�r���S����sG��]O�5��
��>�p�y�s>E�
� 49A=+�	���`v�V�p�
'a<�
��M`�S��E�AbPd���
�!	�A&���9Sʆ���(o�<qU����t���4��믟
*����y�
�F
N�d�&��ۯ3o���5D��@Q�ebG *͐
��Q
^W�(h4��uS��I��>�gែ�m���e��I�`>�
�.�ߧ��������_6#%���
xGJR��)G�C"Pe���S�u�I.w� "d�"dԣ���>j��
+��z _���km[���S�8�&C ;�� ~Fa@���{�8�(b�Ճ���%�Lj���+���3(� 2ڞOz��g��w��2)�fѶYp�5
�9\�V�;����ܢ6�א�~*�V �'�ͪ���֏�\��#
��?�� ]�0�m
b�s�q΢3�Y(����:g�|��
-�s��:�4���٭,
�	����6�tir<7�G�\!ɺ<���2��п��i���,�4��w�$���c��ij���xw�Q�*w�w

�X�
�ؙ��ńO7H��B
2�z������G ((�cZ?/�-4�m�[_�TA���/�^�
6�"kg��<���X��&�i�2���)]�ݮ������x�u˃�%[
c!�"$N8]�K��
���*~谊Y<�fEЮ��Q�ٳ<�
�^u�;�\��)�$���on���"����)
��n�T�z8��Ga?�	!�ߺ�v����Z�W�;��2l��1��>4�Mlz�.���;����&A�jj����~��?4���D�c�l3��������}��h9wq%�%N�/�ىu=���
N�a
�����8΍>.���f �yF@�mb`�SjSܙ�|��uқ��
�ǒY���y���}Z����ih����cוM)>)�'�����"�K�����1�!X���@zk�6(����L�������*]�n.D�x��Ivh���5���Hڼ۠���n+���A{���
?W���H�x|[������xD�
+
��(QZ����4j\��!�M� �y;^����
:1�/�{�3
+endstream
+endobj
+8540 0 obj <<
+/Type /Page
+/Contents 8541 0 R
+/Resources 8539 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8513 0 R
+/Annots [ 8534 0 R 8535 0 R 8536 0 R 8537 0 R 8538 0 R ]
+>> endobj
+8534 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.333 640.795 425.662 655.51]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+8535 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 369.953 322.446 380.857]
+/Subtype /Link
+/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
+>> endobj
+8536 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 192.397 116.998 203.301]
+/Subtype /Link
+/A << /S /GoTo /D (main_Wrapping_Operator) >>
+>> endobj
+8537 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 148.696 206.372 177.761]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8538 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8542 0 obj <<
+/D [8540 0 R /XYZ 90 757.935 null]
+>> endobj
+8543 0 obj <<
+/D [8540 0 R /XYZ 90 733.028 null]
+>> endobj
+8235 0 obj <<
+/D [8540 0 R /XYZ 90 457.072 null]
+>> endobj
+8544 0 obj <<
+/D [8540 0 R /XYZ 90 442.502 null]
+>> endobj
+8236 0 obj <<
+/D [8540 0 R /XYZ 90 315.382 null]
+>> endobj
+8545 0 obj <<
+/D [8540 0 R /XYZ 90 300.812 null]
+>> endobj
+8539 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F123 2840 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F7 541 0 R /F8 540 0 R /F13 581 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8550 0 obj <<
+/Length 2203      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�~ϯ�S��
I���������M��bva�c	�%�.����
^d�V�L'�P�/ER����CSo�Q﫫��_]���Xr��?x1�BɈ�̻O�3FI@�
F)����%�.Y��9��ۧL�u��._�I�ts��M6e�l�wYR��o��\�gl@��H����͖p"܆�	1a�p�z���m�4���|�v�6i���I=�z΢�*�0�Ǿ��A�4���_�~ŀ
��V�I�wW~�^
+��x��q�����p�[����WԪ�U
j
�	���'T
+�o�n�����B����	w[6M��>�!��vkFU�-H�_��<|�ٺ,��N`��n��V��x���2��9`�<YmUc	�v
H�@@��5/���Q�S��q��ԍ�5$���C�
	�~0A��cĽܿR�O��8�YE

�� �/�c$V驪T���"��>�
�RQ�fmRd�$8w�)"�r����2�T�`l=�emf�Ɯ���9h
����LYN��X��55���
�x �"��0�>���?��'�P�Cs�
�>kUժQ�;ߜ��@0��
�@Q�-�*/6�.8�[�S7]R[�����	M�`2O�\k���|���uR�����J�e��Z
����&��������km�^�0�.wU�&(��(̎��t��Ԫ��{&�L
+��gi�m��am�栂|���
��1o�̺>����k�;�f�9��G��8�`Ѱ��F�
+�h䅕���i���>��m�uK��^“�^'v}��sW�v~��ub����m���4a��nۚ�փ��.��� �3.��L�Kf3�A\

+.�G�&�8���

I����6N�c4 ~�IA��'���^�l3PKVn�s�s�˗ "��V>g:�除NvJ#����40��������>���v�{��!Cp�
z�e�&�'H�K�
�rƵ�1�`�0�*d���؆��vU=p���Z)�ₚ9�d�H�(�2�����]��s�Ff����M!���$/ɡF�Q���)8Hs�^d�1�`�n�����Ѫֲ���7�
,z˯TЦ;f�$���5#�a{�qro�D�b��]�	5��Ub|^�
��Ρ:BM[����OS��,f��jo�d�Fl
�%��� �z�q��V�h��sf�����	�dM��܀��i���eRo:������


԰��%O�E!��OX�~�X<��� dHvP���=ƴIxǥ�/I���""�����$��*L�����x �vO?�$�G��3
+8=7���K2�^h�]i���Ʊ��
�8� ��#(KNxӡ�">ԫ�k]�r�E }�k���z��OP���Q8�f	�D�>K��
�(��P|�^b���9�>!s�c��n#zV��vnnR������%��U/uQ�
u6���P��Ӱ0�Q
�R�\
�����f���4
�e_�������~��__��2!M
�lL�S��q���6��QO��<�x��f�H��K�$~)�breON����f��R
�7�*����"pj�0l]�u�0�y�a���
�"�
�B�Q("T�3��� ����Zw��|��(-RB	��
�j�B'�MY�jvVM]���9H�P2�e�.�D�����k���y����䍳���
����/��7n��&��{t�WXR~ơ�����S���Cp8�
c��i*�F����<��}��~�L~�����3�]F��`r"��W��G�
�].@�$�G5�$x.�M�s�8���=��Z�);��ɜ/ $vX���`�C��=ԽL e}ⳓ˜�`�Lb
+ ʠ
y�D�
g��%�	�D�,��W’��+{� K"�a	����Y�%0{�%Q0�����+�B�U���
��yC�����X5�p�u��9sSw$���*�>�&�\��"�W;��s��!��������r3��jwPcAftc{�ͱ��H(�0�r�kެ�:=E��x3�O����@������s�����_D2�WK/��H�#gI��#�盈����ܢ�l�C[�j!׼�ܨ���3k�sN�`f�}c���0f.h�	��;�
���oύ�5anY�	
����mus}���ɺ!]�W5����^��ڀ
+
H�z`����
�Z��ח�'��׎l~
+endstream
+endobj
+8549 0 obj <<
+/Type /Page
+/Contents 8550 0 R
+/Resources 8548 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8513 0 R
+/Annots [ 8546 0 R 8547 0 R ]
+>> endobj
+8546 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.155 632.241 392.657 643.235]
+/Subtype /Link
+/A << /S /GoTo /D (main_Wrapping_Operator) >>
+>> endobj
+8547 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8551 0 obj <<
+/D [8549 0 R /XYZ 90 757.935 null]
+>> endobj
+8237 0 obj <<
+/D [8549 0 R /XYZ 90 525.865 null]
+>> endobj
+8552 0 obj <<
+/D [8549 0 R /XYZ 90 511.294 null]
+>> endobj
+8238 0 obj <<
+/D [8549 0 R /XYZ 90 330.421 null]
+>> endobj
+8553 0 obj <<
+/D [8549 0 R /XYZ 90 315.85 null]
+>> endobj
+8289 0 obj <<
+/D [8549 0 R /XYZ 90 107.081 null]
+>> endobj
+8548 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F123 2840 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8563 0 obj <<
+/Length 1603      
+/Filter /FlateDecode
+>>
+stream
+x��Z[��6~�W������Ų$��L�IҦ�$�җn2���'`�,��#��k
$�L��	K
���;G���w�a�E�ɸw�\`O!��_y
+{" �S�g�E�`����`��o��tN�
(�'�۹�����2
�����4��8\L���Jޏ_�='dK=�
+��ŭ�_�H�X�����E�B��R��>
Oa�
��cP�h_/W�0�n歾��Ⱦ��0��}Ʊ��{6�}�P�=b����tٻx��̿�0bJz+��|��s������S�p��B��y缴��R!&����*�ە�å�V��`r��/���č�@͜Ƈ@��R���.H
�!�CB��|�7��FO��`�?�i�J �QO .�u
��A�
0
}��4����n� ���t�E��F:V�r���Bn��m���_�4��[�&z�յ @5�
�a��VUHVk�+��
+��:�>���[,��G��fn!3�\�o�!i��E/�X�w�`��Z�J( ���9��6�E�ȓ6�}D%�ᅠ�BHIZ�?����i UOj��#�:[/r��\��i�\��(�.�[��\gJ����Eϻ��C= ��
��7�+��:�h
��I�@�8J�r4�g-zH��5H�kᐤ
+&���=�@�V&�� !�}��T�
s�f���z�T�D+��D��-Ӷ~ѰQ��U�>�]�^��Y
��s�
A����\gy[�8eյ.u	�8#S�v��1`��!�
+��3nC"`G����Ȫ&�9Bake��z���m�0#��J�r羂ڴ�a!Z5,;{3�
�
��
���$u_�b��x��t}Wl0���)���<�`�ms q�38#�K̭3g �o殨
W�wv�p�Z�
^̛h��J|��;U��L/��BPO�q�q�M��
�۩hγOSm�pdѨ��,��F O.��$L��K
��_�r<O��MQT�U[k�����

+�jX�Ӫdô��Y~g�a��� �ڶ=j���!P^�Q����W�\�#Z��Q;�`���a���g��t���e�@ݦ�[X�YS�@R�
k��P\���}�Ǫ�
2�wyf"&c��p��yM}�׆�,d�
+l�)�78��"�� ��i��;Pj�c���%���4��T���9Xe�&
L���
�T\
@�
���8$u�	����U�b������Ҋ9jퟨ�J��Y���"f]t����'w������}�D�.Ԫ0�C��
 �^M��
�
�ݴn�gC_ăm�:��b���t�9�a��F��}���_����,��H�Iq��1��?9�L�y�.�������G{U�: 0|�	�ЛnQ��z����f�L��f���
7�M�ͩ=��$ہtX�G�k"�/v-e���!���ɑ��?�kG��d�p>��s�����>���_���:���_�'��|U(�0H��<�}	��X�ce�W�s�
fa�s�bHX1,Y�T�
��t��C
��0^ۺ�'Y�o�*���NbD��ېJ�u�r���|��g#[[K$��]��y��Fgg��M3���U���
j��>~���_w���L�LD1L.�ӽ��r=��
+endstream
+endobj
+8562 0 obj <<
+/Type /Page
+/Contents 8563 0 R
+/Resources 8561 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8513 0 R
+/Annots [ 8554 0 R 8555 0 R 8556 0 R 8557 0 R 8558 0 R 8559 0 R 8560 0 R ]
+>> endobj
+8554 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 654.028 355.512 664.932]
+/Subtype /Link
+/A << /S /GoTo /D (main_CC76_extrapolation) >>
+>> endobj
+8555 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.659 587.847 268.34 598.751]
+/Subtype /Link
+/A << /S /GoTo /D (main_Widening_with_Tokens) >>
+>> endobj
+8556 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 442.635 355.512 453.539]
+/Subtype /Link
+/A << /S /GoTo /D (main_CC76_extrapolation) >>
+>> endobj
+8557 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.659 347.669 268.34 358.572]
+/Subtype /Link
+/A << /S /GoTo /D (main_Widening_with_Tokens) >>
+>> endobj
+8558 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 202.456 355.661 213.36]
+/Subtype /Link
+/A << /S /GoTo /D (main_BHMZ05_widening) >>
+>> endobj
+8559 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.659 136.275 268.34 147.179]
+/Subtype /Link
+/A << /S /GoTo /D (main_Widening_with_Tokens) >>
+>> endobj
+8560 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8564 0 obj <<
+/D [8562 0 R /XYZ 90 757.935 null]
+>> endobj
+8565 0 obj <<
+/D [8562 0 R /XYZ 90 733.028 null]
+>> endobj
+8290 0 obj <<
+/D [8562 0 R /XYZ 90 541.014 null]
+>> endobj
+8566 0 obj <<
+/D [8562 0 R /XYZ 90 527.14 null]
+>> endobj
+8291 0 obj <<
+/D [8562 0 R /XYZ 90 300.835 null]
+>> endobj
+8567 0 obj <<
+/D [8562 0 R /XYZ 90 286.961 null]
+>> endobj
+8292 0 obj <<
+/D [8562 0 R /XYZ 90 89.441 null]
+>> endobj
+8561 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F23 368 0 R /F123 2840 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F79 505 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8576 0 obj <<
+/Length 1837      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�6~����f5ËH��V`-�n݊vM���0���ʒ+�u��w(R��H���C:��
+E���;�{7
���
]�Ξ�SH	*��kOa/qJ�˅�fL0��dJ0��W��a�
+g�&��x�ԋ,��]ea�;?9/›4	���2\�ɻ��gO	�O�BBpx)�'����H�j�e�
��Ն�C
�a�O��c��X��qXh��Z_�lB�X'sXb��1���
=�
}�=R��������;�-`���S�ۖ�V�O|�����>
+1e
�1bȗ����R!���%}Um(vk��+cm ;��
	9�&'����p �V�]0�HD�
`'�1JL��)!Hq�oM
���8ZE�^�
���o�g�S������dĉn�2~�9��l<O����'X'9�j�:�� ��������-
1\��n‚�.I���Vך
+� `?@L�6����,��bv�ˁ�֫:P"�V`�w��QP��&1������w���c�y"<���V���Ζ<��OH�w#��jN�1��)�,�>.+o�H��[��tB�q
>�&j\,�}�t��
��^[�2/M��'�qA�������h�:�F
�Dɍ�l��2OW�MQ�
+����0�S����4���S��)5�/֩%�g/�K�(k��C�lna:>�X"
;-��}
f..�w�J��.���g������i	π�m� L�m��l񑒤Q3���jh�Z��eJ�@@
+���.XB8.t����H9�Z��
V�r���-
d�:;��XT^^T�Y�AU�o986��Ym��t�����
hR I�K�H҂_ G�)��S���
۔�S���|��}�A|l��eE�|/���i���
X�� E�h��cK�����bȔR�}C �
3����@�tmAh����g��)_�J�b��q�\�8�
H�W����"�l̀��(XM6�++ѷH�Zhj+ �E��x�Nr�ݤV��̂5�)�l����ɂ� ���u���8���f|�}���j�)�]�8tѧ��e}�h� ���IQ4p���>�4��=|����X������kG�Y��lV:)���n5�J��}>��b�O�{�}�-ħMYr[�I͵�a��A�����!�T
6��F�Qb&�
KSx�f5@�'Ы�Z��Ϯ�HI
|�:��
+$�!��P͋*����b7܆�C�1h���	�%9�/ԉ��/���������@̒0+���X�� ��Yຳ�Mg�O�, %��I35�J��΢��Y4��:d����ΌA�#U���km��vy�:KW
��%Mi�BD�/uO
�
��W(
�#㴺����e�4զ��oQ��I�Ѽ|�ԨBBO&�I�
�Tz�TW�v\*#�0���-ځR��$0y��$`�N0p�d8�7��>���|nj��|ޙ)�)�iO���{���T)>{W�̞A�U�d� N��K���l�1;�.����K��Sq��r��C=��
��:��� NVm9<ԃ8�z}9�RʓӲ��<nB�n$'�TK�j$'qk$W�oGr�\���H��WzGr�?4���b$�EC���������9�} �} w�9�m
��}����S}隘}�mhG?�x����[
�����@Nʃ�
�;�Sn �P�H����<hs+���A�#�j�z`W_��/�AJ�����p�0�t?�
+q��W&��R��Y���OW��?��u��C����M7�'�ܖ$��!֙�
\�BW.l�z�UO���h�%�"
ԁnY���v��9�$�:CQq��o�I1�I�
�奃^��*D"S"��:���  ��
+endstream
+endobj
+8575 0 obj <<
+/Type /Page
+/Contents 8576 0 R
+/Resources 8574 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8581 0 R
+/Annots [ 8568 0 R 8569 0 R 8570 0 R 8571 0 R 8572 0 R 8573 0 R ]
+>> endobj
+8568 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.008 654.028 276.143 664.932]
+/Subtype /Link
+/A << /S /GoTo /D (main_BHMZ05_widening) >>
+>> endobj
+8569 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.659 563.042 268.34 573.946]
+/Subtype /Link
+/A << /S /GoTo /D (main_Widening_with_Tokens) >>
+>> endobj
+8570 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [290.456 419.698 371.442 430.602]
+/Subtype /Link
+/A << /S /GoTo /D (main_CC76_extrapolation) >>
+>> endobj
+8571 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.062 237.503 276.047 248.407]
+/Subtype /Link
+/A << /S /GoTo /D (main_CC76_extrapolation) >>
+>> endobj
+8572 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.659 146.516 268.34 157.42]
+/Subtype /Link
+/A << /S /GoTo /D (main_Widening_with_Tokens) >>
+>> endobj
+8573 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8577 0 obj <<
+/D [8575 0 R /XYZ 90 757.935 null]
+>> endobj
+8578 0 obj <<
+/D [8575 0 R /XYZ 90 733.028 null]
+>> endobj
+8293 0 obj <<
+/D [8575 0 R /XYZ 90 505.967 null]
+>> endobj
+8579 0 obj <<
+/D [8575 0 R /XYZ 90 492.247 null]
+>> endobj
+8294 0 obj <<
+/D [8575 0 R /XYZ 90 335.727 null]
+>> endobj
+8580 0 obj <<
+/D [8575 0 R /XYZ 90 322.007 null]
+>> endobj
+8295 0 obj <<
+/D [8575 0 R /XYZ 90 89.441 null]
+>> endobj
+8574 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F23 368 0 R /F123 2840 0 R /F56 367 0 R /F72 404 0 R /F79 505 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8588 0 obj <<
+/Length 1819      
+/Filter /FlateDecode
+>>
+stream
+x��Yo�F���+��J@�ރK.բ@[$z����%
Z\Kl$R!)�ί���K��I~�I��ÙُٙK�<�
�4����(��7��"�A�o�x��#O�c<~5!x
�x�jB�8�ܭeRċ�ҫ".�f��e��,�,.��NN��9{AHK=�
+�
��oD:����:"Dw?����&.�ɔr
�":���&����ײ�1���X���q�t���G�F�`�������v��
���ÈE�;h���SǍw9�c�
1e�b�'6���w!����#'P��do���
&g(���I�$nT�ib4~�� Q*Nd'�C)1e
���N	A��{�	�l'ɢ��K�Hҭ��4��E�%
����I��1�
+�01��B�ځ��)�$�u<�C�PH#�$@91B<�8D��7��������
+i���:��
��&���������xm��us�����ږK����_�c�UyO��^��rr�ЋƔQ�����XGmZA�V�(;�7j���,
+	L�@��V$Z7tBҝ�ym�
�.����1r.C�h���`_���m�"j�.:����n6��ʊW�T�
�cUS7i�r?Y�u�Z˲2i��	��[�O�n�wKNJ��g���t�6K��5�}	aO���W�ݙc����+�JhW 08.�d\1�GiƴEpt��Sc
��(��"�{⫍�w�,3�k�"߯�76^a7��c\8��j��FI��)
���
+Z^
9��l
��33ه��lNWqQ���ȷ�
+���%�A+�|�DS���|
@�Sj�Y�'"?"N��ּ�V L#��u�t�U␓-���!skbg}Z$�|�s���~S�x�̅�+y���
!�
bu���`#*:
ڇ�6�B��z>C�Y	o�����N��X_���ʩ�D���o;�F���kG���)
�s#54��4�N�cK	;]�(
A��̄��.c9�����B at g����h
�#
���L�Lq~
!�^;%�$H'uf�z"!�':�]�O��@�N�y��\V�bfS|
+��'̲���X��
u�}<ɥ�5k��6
g���O�h��h��j2�=
+�j:�>�΢��,���ҙ�EO"�p%������+�5�5�Y��
��8�nq
�Y�k쏆9����9���r
��F�W�!��
�X��
+�
�9�\�73S�\`�[�D
x�
��@�%�*��
$BaTw
+<L%	Ο��k�:�8�#��:����X��u�X�Oa�xºGb
4�%D:��E\��*�C�n����t�D���{��1�N�
����
��ڙ�
+p7�D��4VBn����:N
�
����[�1�P���V�r� ��-!iYLmw+��}�r���4�	
J۬ ��@;`���S[��c=$��&��E��Z�mo�oU��흆�S;
y� or>~��)�������o�rWi��D�Z�V%��Ff�j��Ea6��C�C����\#��D8N��10k��Ω
:�W�Jt�K+l�
+T��]V����
���F���R��$rO��&r
+���Id���U'q�u�[���B��V�KA@�&��r�O+Ǘ^9�'�m��Юɣ������g>�����vx����7�x�y��Y����ҧ��/�������Nk�.wr�B{���	[v�N��d �E�c?Jꏑ`uu��G�s����J٫r�^�$2�6��ş�,�U��z�{��W3;A��B��
� �*��u
&�R������sg����XK��k]U�����p@��tW��:��6g�-��:uH�|���n�6/�[`p���Q�����1
+endstream
+endobj
+8587 0 obj <<
+/Type /Page
+/Contents 8588 0 R
+/Resources 8586 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8581 0 R
+/Annots [ 8582 0 R 8583 0 R 8585 0 R ]
+>> endobj
+8582 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.334 234.621 236.659 245.525]
+/Subtype /Link
+/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
+>> endobj
+8583 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.635 180.121 256.157 190.019]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a38da38d0fab7eed9ee09fdb11f88fd15) >>
+>> endobj
+8585 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8589 0 obj <<
+/D [8587 0 R /XYZ 90 757.935 null]
+>> endobj
+8590 0 obj <<
+/D [8587 0 R /XYZ 90 733.028 null]
+>> endobj
+8296 0 obj <<
+/D [8587 0 R /XYZ 90 539.85 null]
+>> endobj
+8591 0 obj <<
+/D [8587 0 R /XYZ 90 525.718 null]
+>> endobj
+8297 0 obj <<
+/D [8587 0 R /XYZ 90 323.459 null]
+>> endobj
+8592 0 obj <<
+/D [8587 0 R /XYZ 90 309.328 null]
+>> endobj
+8298 0 obj <<
+/D [8587 0 R /XYZ 90 173.592 null]
+>> endobj
+8593 0 obj <<
+/D [8587 0 R /XYZ 90 159.46 null]
+>> endobj
+8586 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F31 506 0 R /F7 541 0 R /F1 580 0 R /F8 540 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8600 0 obj <<
+/Length 2113      
+/Filter /FlateDecode
+>>
+stream
+xڭYے۸}����F��0��R���z��Mű'y�T

+�hS$CR���O� �����/#^�����i
�~|�����[��E���iD8�� NI�
>.F!^��x�nI�"����ݒ�E��
�7���U\����L�x_�q��p�K������[BF�)��&o����� f�a7��c#B��n���,�5��z��
���.���F�'��NWK�:O��_0Ό͇�
��@�
H

�H������'
l��OF,R��
u
B��7
><��;��U�U�0I""��u�G��n�17h��
+I
+�ŜZ3�ų��r1���߅����֍�(v�k�{�w ���!�ؾ�ϒ�L��LO&r���:i
�IQU�.�|��{��)�o7�6=�N���xv�+},��/~3�ͼ� �
+1R��C$����]6���
qg�n��u�/C
�f�vW�����t�QD��bI����"��腰�)��W��
p:
�"E�1�!���
�~PZ�{�Wi��2nR���s�
�U��G�٦!���^��XC� �I�7q���p ��qNP8�G�s��zǑ�`Z�� P �
1
b�sGwMG���dx�ŀ+¨ߢ�R���T^N�
	u��8��'�tk-��
O��C̜�[̼b
����l����Y�-�
��5�9����6u'z3g�_1����76d��I*S"��C�σ5��T�(��f8�� E������'O,���PS�! "
˿��Y=�B빟�7�f�P�)kz�m����4˜��ć�v6�'��a�
�&�J�T�&�w��Y$�b�R4D·r4��(�D~��=GO	�"&�k�Qx
S���}��\�~?��~�6p0>�γ�A�B���_9��q�?C�5Tt�?�+����Ouɟ�b?� Y�
���scm at ax(�_�6��M
+T���'M�9�����U|��O�b@֖f�D:�?E�Dr��+E����by˱	z��1.�$/;�'��u�\���s��E�M��|A����r_x�I�^�5T�)�(Tt��z~����µ�j4��r���	h�K�
�V饅Ďݍ�q$���4a$�,��-
+q

+��~�E��߷(~�
^:Iw/J=򺆺h�}�B���0�
d�,�
��q
���I��nm{������vջ��H�z��]�e����C���́�AVK�:>1p�!#]Z�����zN4/���G��&��o��	7w��J7�*���=H蘲:i_�1���n(�+��"η��ȳ{սj!2�.A�@u�nl
�fs
w��o뾽�0�w�i�f	�,����}���?�I���
�d���;q���L��1�" 2)���	(D�
�{s	
�N>
+��X(���cLܾ͗5}��M�,k�q�zWT�.\�u#\L._�T!E�Q�#��Q����VM�斤���{Ys#
q+W���X���#��vfuw^�!4���A��U9
�
��t�u<m�
��7i�M�L�u6o�$�O��cW���8;�y+b|�����!˼8z���TG�Q���l��;}��}��k�G.�эOZ	�E/{v�.�A��Ѣ:x�r
�Ѹ��kC�>�i����_��R���:�j���%��^��&R�
�_I94��E���|��H
�e�@R�NJ����ަ>�́"G�xW��Yo
��l6��l�j���D���@j8?��3��(O���s$�N�=���#4hoD/~?��:$0�ҩ��#lb
�Zɻ�
+,�ɼ��Lc�pŠ2y�,v8��D^�
��a�ĸ h8P{EDX��
�@O"���]��>$�T�a��
�
+
�L�#�ɠ��#
{�����ھ�%)�
��Q�3]"�m��$y�f�9и[Ml�7#�E�;Qf��5�
 xK
t�A�'U��/�}y��yE�BL�ix��������d^�ʲ��f!��nvD�	�@���@�} ba�C���rѴ�Ӧ�u
���v���uM���w��?-9_��G����i��)���dq*Ԥ�݁k��tW?��:��(�M��̡i�����|FI�NyZV(m
�2{���FVH
`O:���=�r�&(<<Ɨ5��r�G
+endstream
+endobj
+8599 0 obj <<
+/Type /Page
+/Contents 8600 0 R
+/Resources 8598 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8581 0 R
+/Annots [ 8584 0 R 8594 0 R 8595 0 R 8596 0 R 8597 0 R ]
+>> endobj
+8584 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 704.958 206.372 734.024]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8594 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [448.024 659.354 483.212 690.323]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8595 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.376 397.668 385.519 408.572]
+/Subtype /Link
+/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+8596 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 127.293 239.856 138.197]
+/Subtype /Link
+/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+8597 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8601 0 obj <<
+/D [8599 0 R /XYZ 90 757.935 null]
+>> endobj
+8299 0 obj <<
+/D [8599 0 R /XYZ 90 640.435 null]
+>> endobj
+8602 0 obj <<
+/D [8599 0 R /XYZ 90 625.865 null]
+>> endobj
+8300 0 obj <<
+/D [8599 0 R /XYZ 90 496.742 null]
+>> endobj
+8603 0 obj <<
+/D [8599 0 R /XYZ 90 482.172 null]
+>> endobj
+8342 0 obj <<
+/D [8599 0 R /XYZ 244.439 130.446 null]
+>> endobj
+8598 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F104 2229 0 R /F8 540 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8612 0 obj <<
+/Length 2324      
+/Filter /FlateDecode
+>>
+stream
+x��Z[�۶~�_��F�FX\�v2�t��f�ڛ�8
W�V�%R!�^�����
(����[vD����w������
Ͼ������U�g
+)A��~;Sx
�8%������`�Œ`��oϓ��,(��ϻtS&�geR~���ϺN
�<ٯ��c������W���S��1ln���.�4�
i�,��P�0�,�朄Z,)� L�yz8�:�wަ۴\9O�5�b��9㑖y�����7��1��Ű��p��W<���f1%g�f�aQ��ٻ����I�)CX�
Ĉ!
;��F�ӳK�X
M�JF�YP>�yrЧ�eLΐ����D4+>j(����
A$�T��N�)�X2�@�� ���i<x���O�$߬�c�NW���UV��9~�
<��A~֎��Y�o��=� 
[�|Lʅ���S�n����B�c}�V�C

+^ɚ�3�����!�	6[F 0f.4���rBio=��Z��$Ju
��1K]�[�Y�\�l�� �uQ�iu,�M�?�_m�"}�ixO"1R
Ȅp��`'b�(�]�s�
�R�e����3��D1V�taN=�z���o�����
�[� �Rh���q�
������@;�DK�ߒp$����@���ʟ�Z=�pJTa��7Ӗ7�"�
g����:=�p�+m��DQ՛��,_D`�d�mVI��x�SW
��!�B����m~
�"�n
	�V� �&��
��c�h�����.ʞ
�3>�5f���}�?ֻUZ�Ť��
�8�%��|&�����Φӑ���<5ҭ�&F��Fc*�
+]˞��x�<Un��
.<�|ix���%��F� �L��RԙŢ�{���5o��{�!�۪|H>
+��MM��L}��R"D��IWJC�!���]���}�QWX0
�4R���z�U!�H��ۙ�W�E.=p�
G��< 
°-D_C���sV�B��@�+#�|��M� ���:
��;���� @�"I�٘���
B���]���( ��au%�&�UP̩Phk���
��^����m��I�
)�bɦ�j$�f��s��ͳچ�{
n90C����K8#E�
+�@����
��@��t$�
���J��C�!AQt�Nw at SDl?|2D��HΨ
u��H��9=���z�Ow�sq��7�G4[B�L0:y!�����?����mu(�NW
I����ջ���K��Q��]\BF��D/�w$�$�2�6ۤU
If�,�@1�n[��ůtP�
�[�塴:H�/g#?­�Y
ΰ��:Iݑ}I���e�N�D�����t��US}�x�%�U�����H�;��x�
Z���x��ڂW�%��^��Xl�>(�y.�{x
Xdt�Gu�+}���o��oV%�}�U��i
�<�۵��
vnw}�v�☖f�� �|)%/�@�
+�*�TKA���h�K4�q��k����i�Y�.G@�ao-�w}��
+�p��!��oGM�Z�p%�E�v�F�7\O
+<(���د.�b^'Y�n��%d9ٍ����
��?�U���O�����瀚"0������
�jdئ�`��Η��m�u�d��6%5M��^N����݄���s�_�&�*�+�f���@��NJ�
0��
#c�^�y!�?�x��;i����L�h
n�KR�6�A���0�!F�@&��vx:��
�̟���9�Nl8�
��݃��V���IJ��V�3
<*F���/qO6:� �cy�g(�=$Y3�%����Y/#����D�L�2��L�M s!Lc�K:����7�x��@�\��&e:����+TfL��vt�n���<�j�2Q���"%F(��_RZ%”6B��x#�Vt�?��J��k^��n��Z�.Ɩ3~�[�Lu�?�UZx8l����
+�X��(�Ost�+'~���:��
&�:ހ����P�i����U63y��2Y׫J���b]2���v�
��A��m�)x@�X�� (k��6�:�;z���E
�<w�瀡�;d��o�/����.8�0��f��5
�*�`��
�U
R��{����v�}r
�ÓkV�籝��k�B%4�M��{�o��	 ѓ�!;^i:�n���y�<�C���Rnώ� ��-u�f�Yܬ���ָ׈.]�0[z5�tf�Q��������e����Q��&��G���O�Y��A�N��k���W� 헟���j����ʏI����}�Wv/0��v~��ޥ
��\f�տ��N[")T��
N]�no���ѺBOyv,QV�
���S���hn;�m^�
Zd9�<F ��Sn
+endstream
+endobj
+8611 0 obj <<
+/Type /Page
+/Contents 8612 0 R
+/Resources 8610 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8581 0 R
+/Annots [ 8604 0 R 8605 0 R 8606 0 R 8607 0 R 8608 0 R 8609 0 R ]
+>> endobj
+8604 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.639 533.966 300.161 544.247]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a38da38d0fab7eed9ee09fdb11f88fd15) >>
+>> endobj
+8605 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.144 493.98 182.164 504.884]
+/Subtype /Link
+/A << /S /GoTo /D (main_expand_space_dimension) >>
+>> endobj
+8606 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 364.366 206.372 393.432]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8607 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.635 291.116 163.823 302.02]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8608 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [335.397 239.798 362.844 250.866]
+/Subtype /Link
+/A << /S /GoTo /D (main_fold_space_dimensions) >>
+>> endobj
+8609 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8613 0 obj <<
+/D [8611 0 R /XYZ 90 757.935 null]
+>> endobj
+8614 0 obj <<
+/D [8611 0 R /XYZ 90 733.028 null]
+>> endobj
+8343 0 obj <<
+/D [8611 0 R /XYZ 400.69 497.133 null]
+>> endobj
+8615 0 obj <<
+/D [8611 0 R /XYZ 90 480.438 null]
+>> endobj
+8344 0 obj <<
+/D [8611 0 R /XYZ 487.765 242.951 null]
+>> endobj
+8616 0 obj <<
+/D [8611 0 R /XYZ 90 226.256 null]
+>> endobj
+7982 0 obj <<
+/D [8611 0 R /XYZ 90 89.441 null]
+>> endobj
+8610 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F8 540 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8620 0 obj <<
+/Length 2161      
+/Filter /FlateDecode
+>>
+stream
+x��Zm�۶��_��C*͜px!@�Rw&u�N�6q����ţ�I�ʼnD*$�;��.�o
�n2�?�����b�yvA��}��?��t;�~�@")�n���A$����nN0
+�bI0���
��IqHV����y�6E��kz_$�����u��ϳd�z�K�j�����W�t�S*�,^K����� V���p�!a�M�㔄���,K�1�t��}R)3�FmU� �\ekb��9�\˜}};�iF@
H�
�^fw�p���o�����z�!)��>x;��
?�b���bĐp~���Om�%bQ���@�P�	����䠭��L�P8�L&�iV1�����P<�t*
:
+�lX�0F�
�%!Hr>nL�977��ܭ���F���-�[b�yVVvQ
��b���v�f�4S��T.��S%	�!�1�7�:�
��\]ާ����9��ۼ0�!�:�P��������vf�Hƴ	�]Zz4�����Az(�	x
������g�K��~�H�Q(-�l�A��&
ΓB
+��ΪvI�̵�H��R�.�xa��uG�h̹r�U�NCpM��#j�JG�	��r�	O �:�{�1�%-��b�Gz�œ�F�"U�Ɔٗ�t
|`�ëS���<3O_���AeUR���,d�9]��\ W�7�~\�1�b-���k��>��FZ~TER��ʥMvN]�׃Ӏ�w%&r
+�Z
�
F�܈�
�� p�L�x�B��
�7@���%"}���=
+!ȦL�LN���"�VĘ�m^�=2$(o�Х� �	0O�
w�:O��

D �
|�}�~�
v&nv�*Nʇ�tl�(�Zp��g���K}P�Cpү�� �tM�juM�8�#$��
���J=��
�B���M��z���I�J �e����@�~���iQ�@�eO�9cR���TW���|��]�Ix��&n�}�
F!U��bE
}j�g.�����>jӏ��1
C�Hȉ�缙QV�����Li�
�������q��"��b�p��"
]Ӄ?@�7W�@/d�z��ҩ�� ��^蕂]�
�����zm����:�l��D�`��R��EZ)�(�t�
�
+�� |�X���/ԱPeS��c�w	�T'5 �|�Nm�9ϼr 1S˜�B@(k�;�| �*���,���C�u�+0�:���m���
�A��
��
�DX���^��=��G��M�{��6Q���\NY��g���(u�Hص
�3r����K�I�Q_�d.脭p]�c���{�3�p��J���=�@)�CZ3
#
8e��$��K{*�ԥ�I�����>�|���F���@�V�����t1
���,~��<���5U?
^R�G�
>U��h�����F��/'b���À^��D�~�꿀zȐ{���
��Ue�"�T�����0����%4���GmF�9Y�ͽf(?��U(�9�:|�۶���g��u��#פXmҲJ��Z%e���̤�MhF:qX�$_���G}��6��N�{��( �Y4y�CX
~�W�4��G��M#ޝ����TW7SMRg��S�������ƃ�!P9����
ه8�w^/(„L��pG2B�!gO�ŗ�!�_��H
p,�o�~q׬�&?e�JW_��O� �a�Ѝ�ԗ(��u��.�2�'�gi/sOu���Ѣ���Mn���d�(����ܫ�?��n�z�s��#��
ƃ�)TpD��7����oz���2�4n	t�9�$��0
�<fϙ�R7,���F3@,�%����V7��z<�czp���}\�{���U�O�<F��.0�:s�b[2
�|�Cc��}5�E���� G!�.:�kt���X�@�X�O3nwM�R�{i�o�3pt]R�f�֩ުN;�ILP�"}�wT��t�D��������c]�z�ViF�
+S�@��͋�VK?�J�R׷��*��2�/m���:��]D�LwPO:��Q�:�v��9{J�K׃�����ך��A���)�?
+�q%�c��h ��
�A��)�h>>~�"bP$�����XT��7���p�h�Z���>�OẠ�
�<��T���im��x}���
�5���05�#ӂ�Uʚh��1pw�Վl�%1��QO��:�\_?<<�u�NYz,PZ]����6��}�u�!w�q�iت������C+
+endstream
+endobj
+8619 0 obj <<
+/Type /Page
+/Contents 8620 0 R
+/Resources 8618 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8581 0 R
+/Annots [ 8617 0 R ]
+>> endobj
+8617 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8621 0 obj <<
+/D [8619 0 R /XYZ 90 757.935 null]
+>> endobj
+8622 0 obj <<
+/D [8619 0 R /XYZ 90 733.028 null]
+>> endobj
+8623 0 obj <<
+/D [8619 0 R /XYZ 90 635.876 null]
+>> endobj
+8345 0 obj <<
+/D [8619 0 R /XYZ 90 612.942 null]
+>> endobj
+8624 0 obj <<
+/D [8619 0 R /XYZ 90 612.942 null]
+>> endobj
+8346 0 obj <<
+/D [8619 0 R /XYZ 491.351 523.884 null]
+>> endobj
+8625 0 obj <<
+/D [8619 0 R /XYZ 90 507.625 null]
+>> endobj
+8347 0 obj <<
+/D [8619 0 R /XYZ 203.822 396.694 null]
+>> endobj
+8626 0 obj <<
+/D [8619 0 R /XYZ 90 380.435 null]
+>> endobj
+8348 0 obj <<
+/D [8619 0 R /XYZ 485.373 293.415 null]
+>> endobj
+8627 0 obj <<
+/D [8619 0 R /XYZ 90 277.156 null]
+>> endobj
+8618 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F104 2229 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F100 1390 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8631 0 obj <<
+/Length 1918      
+/Filter /FlateDecode
+>>
+stream
+x��Z]��4}ϯ���TMԺ��4PT� [�.0��>
S]�D=�"������~�l�ߎ
�'ۊr}���ѹ���֣�?_^/��	�g�QLy�w��^��H���{�%�.W@)�_.��a�
o^.����ݤ����4L�?�a��o�8�޼��v���۫o �3D� _�[����� ��ĩ���
C��S�ϧ,�؆��r�$Ec��v�߆�-Z~�w6]��m��&n��T������/
@3ԃ<-2 �x�[�~C�
��Q�
�^;O0�׭�j��m�X�N�'T�2��қM��u%q�����{�ߧɻh�}�2��ޮ��(evS4�>��a��S B�Sj�}E��{�٩q=�Cx ���0��o_l��3��u���ܭC�������.IwK�g��x����K&�k�nm�G��f���‹{���!�nn�?�nm:�	N1��VX8x�԰
+�C�3|E����e6�T�oVE�
���������2�F�%H�qޒp�bs�
2 �w�xe�l�B"�,gbvBq�-���k���
�;�kT3�=i�eG��.Iq�w��}���%;;i�pZ�u�$�yR�b�1(�,N�m�0��D�,�|�S=z�O
��D%��j
����3Pc�%�{��!�$�h=�`.b���W��4B[]8�2�.���“R�hgp�35s�K��q���l������tĺ����h��+�=�(�<
W
M%+��19��՛�N��6�¹Epek��- #�M�lc=���
��
A�P��nO�̲ ��fV��Ym:ˆ�J"T5��N�dJ��A�
+q�S�xy�f��W,ЄaRW� (���i��>��hpt���߅�}�!��N�ڡ��r��ك����%�h�݀�8��ƛ#���G�q�rv��BI���_n�WP�nZ���:2�4
\8�<�!2��!���oˆ�_��։��n�%���,Im�[�׶|sMI}���8K��Ҙ1�5���LfvLQ��M��	�:�B�
�qT�5i}z�i��*�
��!�(ox
��?}��ĊPUB��d6C'��:ٽ���sW���R'��*Er+,'�Wh�m�<�D��t�����ـ��5	xȈ¥.ጚr���yy,�T�c�G�cP����_�z
�
���`�@���9{\o��
��u.�7�
����>K�:���P��r�k��~>��1u� ��|��j�Ӂ�L
�ᒌ�m �2B���cr�b,�:�1�+$�K��5۔��fj?FM����t��4�d�\͋u��^G۠"��YfI<�!�=�#��}��e���1	�g�qp���}�[O�1e`x�

�?JSQ�5Á�L�����p��
�T��v
+��+�)�
�p�yL���:�tNh��q��� �
+�[>������Ps��T�O�!J.���:bε�b��4Ĝ{,Ŝ���x�&��;��nގ'R�T�lyj�/ܒ��
O9����g�F�-N��E�
+��?�E�S`��G'A�E>��-�&�
��N#��&��
E�.
������	c��	��ꢫ��u�;�����I��S;ʴ.F��љ/

T
+�R���~�Ž�D�E�H� &藎�KG�
t>
�W��Pc�\�x��jf5ed�t�1�
j

9`�!
9U<rѫ��.�f*�`�Ą֥�{��\�(�M��#��r����
C�	0�c�R�'%Z�
�"�S|���͏L@"<q�,�i���i�A������G%�W����JX~<
�݇#�WfݏՔƾz�j�oԔ�X]~�&�2�E�K���'��������x�����,��ա�1�ևٿ:S6=T0ęn� �p����-C,���;��{����4#�	�Y�~u���@�r��}J��j��^��։ 
�f���}��p��9D{��?a>Js
+endstream
+endobj
+8630 0 obj <<
+/Type /Page
+/Contents 8631 0 R
+/Resources 8629 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8581 0 R
+/Annots [ 8628 0 R ]
+>> endobj
+8628 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8632 0 obj <<
+/D [8630 0 R /XYZ 90 757.935 null]
+>> endobj
+8349 0 obj <<
+/D [8630 0 R /XYZ 125.554 693.486 null]
+>> endobj
+8633 0 obj <<
+/D [8630 0 R /XYZ 90 676.759 null]
+>> endobj
+8377 0 obj <<
+/D [8630 0 R /XYZ 438.998 518.624 null]
+>> endobj
+8634 0 obj <<
+/D [8630 0 R /XYZ 90 501.897 null]
+>> endobj
+8378 0 obj <<
+/D [8630 0 R /XYZ 125.554 266.979 null]
+>> endobj
+8635 0 obj <<
+/D [8630 0 R /XYZ 90 250.251 null]
+>> endobj
+8379 0 obj <<
+/D [8630 0 R /XYZ 438.998 92.117 null]
+>> endobj
+8629 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F72 404 0 R /F100 1390 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8642 0 obj <<
+/Length 2002      
+/Filter /FlateDecode
+>>
+stream
+x��Zk����_!�@c1�OQ�
�٤ȣ�tv�i�046gF�,���^���R�^6m����
0)ӗ���sI��9��_'y��|/q��
+i<<
+2d��*x?%q2����nF�4.���nF�4O�/zUċ���".���n@��i�_���v�W��bF�i�j���Ǜ�	�MH%̦8,���;d�&Xe��|=�S��o�k�{�r���ޜ��N�m����0St�כ4���[0gL"F����3̽~ҵb:[�q
G��N$�<�|�0����S
�ڼ\"�`������<�1���(�գ��
�����|�U���U�A�sW�S��:���9�K$yk�j��Y�ֳ9�k�

`�
8���E�CiG<�yjť�$�c�%�~�J�*�/�_�sfG����"�#)�*g�o_��W��߮�o�
�1�.�!#�Ѭ�T��>U:[���H�{�)(�;㾹8��<����b
+p�WR�F]�YY�%��?�U��gq�x�o|A����
����"
��xs1�OiL�f�'��q����㔅�
�B>m",�9c�$͐��I�[	���>�f�${^�M
+��0O�BW͠����5 di$���ͨ��6 ��`���]���sߒ�T�כm�
�V/>W��-2��F� 4b�Z$
#���,��	(��`���QW;�3g
+ڇșnk��
!
��g+��g$�Α�B��
+A
~IHk�/�ԭ��'��^sQ��d���Ϙ� 	
+�Fu�2��1E������s��C�s�!m'�]�J��^�}H�Ӳ�
�~�����4�l��S���$��O���)�l?ɪܷ�LKe���e����Y��#вE��j�L��U+�O6.85�1����0�HfOqZ��av���9DW�KJ�"�[0��E�Ë�
����4]c�&��Ɓ�ͣ��|����xM�\
�=P
���>-d
CVB�Ӄ
�|"�0������=��O���>�
m]<���,�t�% �m~�Q�"�S��e46߆���(��%`�8�fJ
���,�5��d�
;���c�ΐ�ӽ19�b��
T���!��L�
2}A�2��+2�
21

 �yR#�i8d���Y�y���4��<���-8��8p��k�IbS'� ��$:

�zet:�-VA uP
�W,�����(<C�<e��H���#
[@ig
h�\ �C/�U����{@�P��E��q����ė,ћ�T�ET8���TnjJ
��)	��"�
+Z!

SAI.��ť����ƩK�K'(�%�Kh�V'��Why���ݾ>���
8�?/��܂�л\���:����R�"
^!p
+�P
O-A<9!^u�sC;�ꮺ��'HJGv�
)�QG
+D at t½�u���G
+_���-q�3w2�/�
+�Qw3ِ��K-ܚ{�
+��x�@-�Cssf�C>�QB �����R���/l��hO�/i��\�I�Fp&������򑟲<������s/
Q"/��
��� ���J,wq�}
+G�A�����9���g�Ԋ`�9(�_���K��``�#��opWs,DA���y�R��:�p��8M���
.a?i�������My`H�#� �I�)�Η۵Ϊ
"�5�ր�[���w�g��¨��Y��h|��47x�kaӀ|�o���j܀^�m�WJ�p�{HB@�M�^^Z_�
��^:1
'������޴���)�{c
�v��~Bra߀0�{���\izn��*æ�07�������e���
�b�\�ss� �̦1���B�šh����J�Dz*�"���x�H�e�]i?��B��o��
�	

ɴ�v��G�&�}�~�
�Qn!L�x��w� �D��6ai�.6m�_�.�������8��i�X4�tQ��
���B�=
<}��S���kд~����VK"�pW��T����f�ۡe��Y�)PR݀aoF;Й�����u��$3�� th��t
'
+endstream
+endobj
+8641 0 obj <<
+/Type /Page
+/Contents 8642 0 R
+/Resources 8640 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8647 0 R
+/Annots [ 8639 0 R ]
+>> endobj
+8639 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8643 0 obj <<
+/D [8641 0 R /XYZ 90 757.935 null]
+>> endobj
+8644 0 obj <<
+/D [8641 0 R /XYZ 90 733.028 null]
+>> endobj
+8380 0 obj <<
+/D [8641 0 R /XYZ 125.554 503.615 null]
+>> endobj
+8645 0 obj <<
+/D [8641 0 R /XYZ 90 486.888 null]
+>> endobj
+8381 0 obj <<
+/D [8641 0 R /XYZ 438.998 328.753 null]
+>> endobj
+8646 0 obj <<
+/D [8641 0 R /XYZ 90 312.026 null]
+>> endobj
+533 0 obj <<
+/D [8641 0 R /XYZ 90 189.284 null]
+>> endobj
+298 0 obj <<
+/D [8641 0 R /XYZ 90 182.683 null]
+>> endobj
+8640 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F13 581 0 R /F72 404 0 R /F21 2359 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8684 0 obj <<
+/Length 1470      
+/Filter /FlateDecode
+>>
+stream
+x��Yms�F��_�'f�ӽ�i2S�r&i⸶�i&�h0�2�*�8��]�%�1N��N?	����<�,������罽qox�����TZ�sKcKI�p�oj��	F�8�1��
�m/Yx�c�b;��/�i�M^�g����<1Y�����I0]��tr�8ĵc��9�/���l
H��9�S��Ki��@��,��΀
+lPsq��3����yv��Ͱ�s/MKocGS;X,�^�Y�ҵ� -
0'�yP$D~iDZ�0<6.�p�۽Ѹ�w��]l�^�u��/z�?bk
+�_Z1�Z��������:���íTQ O�r����<��$^�3��>\E~�QZ�S�
B�[hH��H)`mR�@��y��!��dN����QV�h"~C���@���X`��O{.
Ȧ�$[/�F�j1��,}������ sDA�NF� ޭ��".�a���)��O�
��ctr:��I
�
+O��m-%/��(�8�๷
+�SSe^T��g Qq}�}�Yy�]�E�
���4��7��Å
/�;HQc07���+9�_��K��<Ԝd��Z���8�%�\G��u��&_}�v�J� _4�o��BP0!��#~�\o06iP��yeW����Yc����z�0e�ڟ�h�w+�4K�0�ZIx@��X@ȏ����{,�G�䤋 r��ɱ�G�Q��>��0��/Z�@(Lي��0[O�	]�C���G�&�b������������w�쳿�
ϱ3�p^�Y��k�Pa=X֙�]X�͎��xgR��e�L�N��c�����'�L�G�9�v!
��<	���3��-�EU'�
�I�3 �
�-^RH+L�����4�Z�a�weG�ܭ-�w<I$\��K��[��ʋ(
����7�]�����u=Y͐�u�ew�J�S��f{��;[
+DH�b���
�o�Ct�X�!�Ym���
���K[��[��-�E4T���1��U�;
2���"��
9F���*ő���Ȇ�N������Wۣ�kDž���:.[&Q�A�mÞ
��T�U;>�g�6M(�M�b�&Œ<4M�
�UDA
��
+!wW��?R�Jt��P%�7~���ț�.J5 �ۤB1�B�JE#�uۤ���m�/��۵2�#Z�A;�Sվ+��V�ܿV��l[h֩�r��z�v��ʫ�4�
���\��beF^������.�l�r���@}[��=pD�_���=�-OB!L L�]�'�a����'e�j97���K�B� ����դbT
.BE���E&+�vg�I}��|����G��+���[,�
+I�vy7u�$%(��]�#�sHXBA!����N�2�qureX[��\�������|�� ���6�����������U���|�M��C΀A?
�Oj��'���-o"t+Z��mj.�l�d8���D~�VQ�LP�
����з�@Rd���؜�.��dFps�����?
s��
+endstream
+endobj
+8683 0 obj <<
+/Type /Page
+/Contents 8684 0 R
+/Resources 8682 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8647 0 R
+/Annots [ 8636 0 R 8637 0 R 8638 0 R 8648 0 R 8649 0 R 8650 0 R 8651 0 R 8652 0 R 8653 0 R 8654 0 R 8655 0 R 8656 0 R 8657 0 R 8658 0 R 8659 0 R 8660 0 R 8661 0 R 8662 0 R 8663 0 R 8664 0 R 8665 0 R 8666 0 R 8667 0 R 8668 0 R 8669 0 R 8670 0 R 8671 0 R 8672 0 R 8673 0 R 8674 0 R 8675 0 R 8676 0 R 8677 0 R 8678 0 R 8679 0 R 8680 0 R 8681 0 R ]
+>> endobj
+8636 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 697.676 225.331 708.58]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a6713cca018bed4091ffafb98ca4833d0) >>
+>> endobj
+8637 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.425 697.676 310.068 708.58]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+8638 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [428.607 697.676 513.996 708.58]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
+>> endobj
+8648 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 647.723 225.331 658.627]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a28f6854a94a3a7d58034cb1d51ae9c7c) >>
+>> endobj
+8649 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.669 647.723 337.121 658.627]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+8650 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 609.725 225.331 620.629]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4857c775f03d5b4ff084723eed2b5e31) >>
+>> endobj
+8651 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.147 609.725 313.6 620.629]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+8652 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 571.728 225.331 582.632]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1daec40615d5a93ce0de360865d93497) >>
+>> endobj
+8653 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.669 571.728 330.496 582.632]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+8654 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 533.73 225.331 544.634]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_abc31d844172a202d43d08e299e26322f) >>
+>> endobj
+8655 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.147 533.73 306.974 544.634]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+8656 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 495.733 225.331 506.637]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ad3eb603756ab7be783cd92410ac7aed7) >>
+>> endobj
+8657 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.456 495.733 320.013 506.637]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+8658 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.967 495.733 427.433 506.637]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+8659 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 445.78 225.331 456.684]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adca9874a75b5ba09114b8495a23c4edd) >>
+>> endobj
+8660 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.976 445.78 328.918 456.684]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+8661 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.707 445.78 430.173 456.684]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+8662 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 395.828 225.331 406.732]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aef3ebc0ed74af80cd3653321153360bd) >>
+>> endobj
+8663 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.214 395.828 296.468 406.732]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+8664 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.088 395.828 419.554 406.732]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+8665 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 333.92 225.331 344.824]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2b4e2b95a505c70e40370e121cd179a4) >>
+>> endobj
+8666 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.104 333.92 272.705 344.824]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+8667 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.669 333.92 314.396 344.824]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+8668 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.143 333.92 430.609 344.824]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+8669 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 272.012 225.331 282.916]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ab95eae83384d8c6b41b9ed8f9fd16704) >>
+>> endobj
+8670 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.646 272.012 299.806 282.916]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+8671 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.872 272.012 430.338 282.916]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+8672 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 210.104 225.331 221.008]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2b3eb71543b3284872781f0b4481fe39) >>
+>> endobj
+8673 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.099 210.104 345.367 221.008]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+8674 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.53 210.104 513.996 221.008]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+8675 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 160.151 225.331 171.055]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3b5db50d397654bd1a8d4067d90f7419) >>
+>> endobj
+8676 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.434 160.151 390.855 171.055]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+8677 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.53 160.151 513.996 171.055]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+8678 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 98.244 225.331 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a8cdc72dfa85aed4e613f780b02e69e92) >>
+>> endobj
+8679 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.333 98.244 363.754 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+8680 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.53 98.244 513.996 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+8681 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8685 0 obj <<
+/D [8683 0 R /XYZ 90 757.935 null]
+>> endobj
+8686 0 obj <<
+/D [8683 0 R /XYZ 90 716.221 null]
+>> endobj
+8687 0 obj <<
+/D [8683 0 R /XYZ 90 178.816 null]
+>> endobj
+8682 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F79 505 0 R /F38 2120 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8738 0 obj <<
+/Length 1580      
+/Filter /FlateDecode
+>>
+stream
+x��ZYs�6~ׯ�S+�T����C�:3i�q
�)�h(�8�U�����.ReK�c'
?�pw�o��5������7:w��#ߡ�u=�|l�CX>E֧>��&�!��/��2
Ɨ��y����
ƿœ2(Wgg�C
I�_�h�h|Y����
|��0:'d�ԅ��6������%�@���xG~
)��w��\uLk3�����Y�ϾM��ҳ]|�i���ì!c.�g
	A>7��S�Y����C^�)�es����=��"ʼ���ǭ0�}����?X1߳��Wjٔ�5�>���a��UC�[
(��J!�#�Y.�:\
�f'�Q,З0�*Q�u|+$^ƈ�b���#ӻ(ʁ���?q
+}�L7�SmJ����k#ס��+c�M�8b^�
)�
Rlt6\�4��"׳�!�TS�P�wf��-g��W�{֧!פ�]�l��N��ߙƎ��
+Qu^��5�s,�[�=��2�`f�i�
;S�
�Um���u=Ӫ�gY*�z��D}�@fȈV�����wo]�c��9�E���U$���Y�E)�
�NF�ȡ�����j���vga�@�I"��H��4
+#�a�P�n�����
+�C�QH��Z?t�*��nL����F>�?����/D:�(��Y(���-�<0�z����i�ȣx�j�x�Z)�A�9HH�~b<h�1�W�����*�P�ۑO�
�r<� W/ʵaw	������"�^��W����U�ͺ��x
8��

X��^.�L
+���9 
�ʥ�4{i\�8��Ezw� y�1���t8 t%���T�ݳ�ʸY��Nm�=*�x�g��T�9�6��l
+;G��=�|�a�c
F�k��=�4���rF�{��(O�8#�I��,���^%v*a�׬	u���D�����s�"��T�$7b�jfz���7c�J���,|0���z�`�z�qU�"=.�����_iI�̨%RIm���<eӼkk#�CK#s�`i$�>3�jI������S�5��8ی*��
ӼL���r!�ѩ�m�}Eȷ=u�!��/��6E.u��-�~��%=�q�_�e��9ѕ���/M��2��(^���JU�EwK��Z�n�'��ߚ�O�"�����.	?f�!�W��U�]u@dU���.���wh�ʠ�A��c����z*�8���(�^���˺
+�ɠWuh���2GE��+�q5iQ��)
ٷÐc��TCx����]�v'�%��ݼ��`��*��ͅ䱇.k�h9��9?��"��OH�E���L�DY��&y=$ s$ΗeC+�q+t9���,W�б'dG�y���P
�s
})�8G0���#��l�7	�(��7� ����&�zgZ�f� r�!�x�w�O��l��Dɤp��0X	5 J�j1��u[�Ce at c
�V�{��X{�����q�w��	ਃ|�=��
����9�9�O͎����E?��]�ß�(������E�-�d��	e��
�O��Q�G�9��_Vs���'ݐ�xa��v^���h�\.QX!�բDq=*�d�x�1
�!���ic�4/E�ӕ[Z����?j�˫
+endstream
+endobj
+8737 0 obj <<
+/Type /Page
+/Contents 8738 0 R
+/Resources 8736 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8647 0 R
+/Annots [ 8700 0 R 8701 0 R 8702 0 R 8703 0 R 8704 0 R 8705 0 R 8706 0 R 8707 0 R 8708 0 R 8709 0 R 8710 0 R 8711 0 R 8712 0 R 8713 0 R 8714 0 R 8715 0 R 8716 0 R 8717 0 R 8718 0 R 8719 0 R 8720 0 R 8721 0 R 8722 0 R 8723 0 R 8724 0 R 8725 0 R 8726 0 R 8727 0 R 8728 0 R 8729 0 R 8730 0 R 8731 0 R 8735 0 R ]
+>> endobj
+8700 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 696.133 225.331 707.037]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+8701 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.071 696.133 276.878 707.037]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a187bdab1051f58af280af66645ce1fed) >>
+>> endobj
+8702 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.215 696.133 415.636 707.037]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+8703 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 657.915 162.657 668.445]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ab3ad0a7ad694f4a7724504544aff49fa) >>
+>> endobj
+8704 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 583.314 190.738 594.218]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+8705 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.236 583.314 261.85 594.218]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a38a5f3efb1fe599046d2ed48223bfa41) >>
+>> endobj
+8706 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 546.977 190.738 557.881]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+8707 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.236 546.977 262.159 557.881]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a46f912e8b181561f68062e183005c8bc) >>
+>> endobj
+8708 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.216 533.615 279.072 543.52]
+/Subtype /Link
+/A << /S /GoTo /D (main_Affine_Independence_and_Affine_Dimension) >>
+>> endobj
+8709 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [313.187 533.615 391.232 543.52]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Affine_Dimension) >>
+>> endobj
+8710 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.523 511.014 210.384 521.544]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac2583843b139ce11b842155b35d60332) >>
+>> endobj
+8711 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.523 474.677 210.384 485.207]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a294875fd6b469d8949f08c24b5893b6e) >>
+>> endobj
+8712 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 437.966 202.922 448.87]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+8713 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.42 437.966 248.58 448.87]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1dc5b9db43a16365ba0773a96fe1b799) >>
+>> endobj
+8714 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 401.629 202.922 412.533]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+8715 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.42 401.629 296.181 412.533]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2fe458f016db5eeeb95bee46f1800533) >>
+>> endobj
+8716 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 365.292 209.547 376.196]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+8717 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.045 365.292 261.831 376.196]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a6bd361a7c7e187c0ff63c62894e741f8) >>
+>> endobj
+8718 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 328.955 209.547 339.859]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+8719 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.045 328.955 309.432 339.859]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a425f248891aec4ed7800bd92334fd7c1) >>
+>> endobj
+8720 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 292.618 205.692 303.522]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+8721 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.19 292.618 261.312 303.522]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_acc8d0378d1cb13b5ddc04dd12cf18ebe) >>
+>> endobj
+8722 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.65 292.618 332.156 303.522]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+8723 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 256.281 205.692 267.185]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+8724 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.19 256.281 261.312 267.185]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3be7b3a04406453631aef24b817565a5) >>
+>> endobj
+8725 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.65 256.281 338.781 267.185]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+8726 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 219.944 205.682 230.848]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+8727 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.18 219.944 261.302 230.848]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ad3e2a76d26bef272d0a13fa3bae9a5c2) >>
+>> endobj
+8728 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.64 219.944 330.462 230.848]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8729 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 183.607 183.824 194.511]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aad10819182a33870e4b0a7e3b2bca564) >>
+>> endobj
+8730 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 147.643 192.272 158.174]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1190fcf4794305386f8475f9ac51ce00) >>
+>> endobj
+8731 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 110.933 241.935 121.837]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a41c9a9dc63e253ac5ed21cbdad4e2640) >>
+>> endobj
+8735 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8739 0 obj <<
+/D [8737 0 R /XYZ 90 757.935 null]
+>> endobj
+8740 0 obj <<
+/D [8737 0 R /XYZ 90 715.095 null]
+>> endobj
+8741 0 obj <<
+/D [8737 0 R /XYZ 90 676.503 null]
+>> endobj
+8742 0 obj <<
+/D [8737 0 R /XYZ 90 598.261 null]
+>> endobj
+8743 0 obj <<
+/D [8737 0 R /XYZ 90 563.947 null]
+>> endobj
+8744 0 obj <<
+/D [8737 0 R /XYZ 90 527.61 null]
+>> endobj
+8745 0 obj <<
+/D [8737 0 R /XYZ 90 491.273 null]
+>> endobj
+8746 0 obj <<
+/D [8737 0 R /XYZ 90 454.936 null]
+>> endobj
+8747 0 obj <<
+/D [8737 0 R /XYZ 90 418.599 null]
+>> endobj
+8748 0 obj <<
+/D [8737 0 R /XYZ 90 382.261 null]
+>> endobj
+8749 0 obj <<
+/D [8737 0 R /XYZ 90 345.924 null]
+>> endobj
+8750 0 obj <<
+/D [8737 0 R /XYZ 90 309.587 null]
+>> endobj
+8751 0 obj <<
+/D [8737 0 R /XYZ 90 273.25 null]
+>> endobj
+8752 0 obj <<
+/D [8737 0 R /XYZ 90 236.913 null]
+>> endobj
+8753 0 obj <<
+/D [8737 0 R /XYZ 90 200.576 null]
+>> endobj
+8754 0 obj <<
+/D [8737 0 R /XYZ 90 164.239 null]
+>> endobj
+8755 0 obj <<
+/D [8737 0 R /XYZ 90 127.902 null]
+>> endobj
+8736 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F79 505 0 R /F97 1188 0 R /F56 367 0 R /F107 2332 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8793 0 obj <<
+/Length 1854      
+/Filter /FlateDecode
+>>
+stream
+x��Zms�F��_�'W�������t�u^f�d�:n�$
�PYQ}�^@HBH��I��>N����s{���ha�e����
[	�:����r
���
+�w}��MC�1�_��y�.���r��?z
��~�|��,(c:]���p
D��2���E9�p���
B
+�
ڄ
�(}?�%k6�
��j�3�d0�
��Q3�jk3$���i��Z���/
+-�z h?JfS���m֐1qdz�� ��c��q�
,J���
���
,�{ϯ{��b�(��.�
������B���ˆ	�Z�U�eS������=lB��
+!hm<q�\0�m�{J�����z7�қ,��yi^���y�VHw��(����8-G�<K6��5�1�A�e�(�o�G
�M�gK�LtX���= q����
+P96�`Q$ &X�<O
��6V3��cV���@eM$C�C�E�X[䧡
d�t�G�"nꀀ{���
c�b��
��vL�b�
��~[
���Z�l"�Q?���ۏ*'�,��rf�
+=j��*k 
�A��֐��i �N�6�
��<���8�?m8ެkE�
1n�FqQG:�` /C��-�T���)�}���d�4�‡������q�afdžY�.�c
��0_����7�VV�
P��
��������-p���!�� k�m7N#�-N��� U{�h#���Z�#���.w���

0��B�-#�&�~���#����H?=�<ˣ�����pQ
+K�?�E�T�U��L�8�ښ|m�Qy�=�n�i&�h�G����QE2�ch�����-jcD
3)b/��f��tdN�"����aIJ�iX�g��S?D�В�'uG�1��]�ݹ��r�<�G����t��Y~O��[���L����8]z���4ebӎB+M�R�dV.W�m�p(„���%����1@������6�s��� Ljs����9'�i���u$�(��I
H�OVo���€.�%��s91 �>[��̭?��W�Z2��w.�
u?���b�'ݛ��(�r����M{&߮<��7�C�
+�o����̼�P����$2o	�^7
+Dqv�P��|��!��(�z!yF�
9�=	%
+�Oⴝ;�A�~J�E�R�M��
�;��q'%
(�jI��
ݔ(��e
++��>B�"�5B�A�p+B��
�&��
���d^���J5�	�&4c[+�	��˱V%+BEc��V��l�0.h�3�x6c��l���́c�����TB�?]O=�ǽ�����wH=���)�]O�z�T���vZ�v=�w�i~J盛��쬧p�=]����aj)�YK�G�Ͻ�(������TE�
��}�����eק�����w�*�w�\(�>
~�re��:n�d��X��q����
�c��]-
+
1�~/U��!W�S��(�8(l�/z�*��h�"b	Q�
z�@�W���V�W
H���襀	�NSl��[��U�TP�W
+�zz
��v���b��u}skhŷ<{o�	w"t����i.&Q ;?m��ֆ*
�[�=?-��=��˸���m�a
^s���$��c��3? �
��,N�TU��R�,F�l��(8��o���Ԛ�4(�B_��ԣ7��
�0
/���Q���&ɡB^�1���
p�i�rŞo���q3����n�(�་N!g���=Y��0l�r([2�{p{�`����2k�G�i}
AA9J���Uԁ�@灝�U'���
��y�P����6�%�F��:y�k�j��@
+�0�o|��O��^	�O��̑�PV,
+@Ug_�\��j�J�6�%
Eح]3)������b����x���<�ͦ���А'9wU�ᜨ�J����L|��[��B��B
+endstream
+endobj
+8792 0 obj <<
+/Type /Page
+/Contents 8793 0 R
+/Resources 8791 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8647 0 R
+/Annots [ 8732 0 R 8733 0 R 8734 0 R 8756 0 R 8757 0 R 8758 0 R 8759 0 R 8760 0 R 8761 0 R 8762 0 R 8763 0 R 8764 0 R 8765 0 R 8766 0 R 8767 0 R 8768 0 R 8769 0 R 8770 0 R 8771 0 R 8772 0 R 8773 0 R 8774 0 R 8775 0 R 8776 0 R 8777 0 R 8778 0 R 8779 0 R 8780 0 R 8781 0 R 8782 0 R 8783 0 R 8784 0 R 8785 0 R 8786 0 R 8787 0 R 8790 0 R ]
+>> endobj
+8732 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 708.037 213.163 718.941]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adb466cb206f1d16d24257a838d130cf2) >>
+>> endobj
+8733 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.501 708.037 351.922 718.941]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+8734 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 673.622 189.901 684.152]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adf7bd95cb0014251d60d1fd82c1d3932) >>
+>> endobj
+8756 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 636.92 193.229 647.451]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_afb7b94b681c4d195080fa81ed1480cc2) >>
+>> endobj
+8757 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 600.219 187.689 610.749]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ae386245235cada70fc797b0747b0d326) >>
+>> endobj
+8758 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.505 600.219 226.693 610.749]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8759 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 565.056 228.895 575.96]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a99dc4fb442b60dc9c694d7abc853a3dc) >>
+>> endobj
+8760 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.232 565.056 333.482 575.96]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8761 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 530.267 229.503 541.171]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aa8128b9910f31bc963842e48c44a863e) >>
+>> endobj
+8762 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.84 530.267 334.089 541.171]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8763 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.98 495.478 187.264 506.382]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3a03cd3ea1b11c1c8dbdf462959d79df) >>
+>> endobj
+8764 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.963 495.478 293.213 506.382]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8765 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.131 495.478 371.148 506.382]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+8766 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.711 495.478 455.727 506.382]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+8767 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.98 437.775 187.264 448.679]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a6d33d9f1d987efe6e333c7ad1993dd5a) >>
+>> endobj
+8768 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.963 437.775 293.213 448.679]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8769 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.131 437.775 371.148 448.679]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+8770 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.711 437.775 455.727 448.679]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+8771 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.235 425.82 220.058 436.724]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8772 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.717 380.072 186.348 390.976]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ab73df10027395d3b2c9fbd3f3e77944e) >>
+>> endobj
+8773 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.523 380.072 293.772 390.976]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8774 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.35 380.072 373.367 390.976]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+8775 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.82 380.072 456.837 390.976]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+8776 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.717 322.369 186.348 333.273]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a5358c9f367ad37e650d411ab5e558e50) >>
+>> endobj
+8777 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.523 322.369 293.772 333.273]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8778 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.35 322.369 373.367 333.273]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+8779 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.82 322.369 456.837 333.273]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+8780 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.581 310.414 218.404 321.318]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8781 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 264.666 180.496 275.57]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a888509fe116790d0b9a267e614be10ec) >>
+>> endobj
+8782 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.834 264.666 319.255 275.57]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+8783 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 229.877 213.153 240.781]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a78e60691cfc6b6b52a34cc7952380a84) >>
+>> endobj
+8784 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.49 229.877 351.912 240.781]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+8785 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 184.503 161.677 195.033]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a41d30675a3c28980af0f087b06a1f4c1) >>
+>> endobj
+8786 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 99.573 205.752 110.104]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_affd7d0678df82882b006ea7b02771f98) >>
+>> endobj
+8787 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.089 99.573 276.595 110.104]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+8790 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8794 0 obj <<
+/D [8792 0 R /XYZ 90 757.935 null]
+>> endobj
+8795 0 obj <<
+/D [8792 0 R /XYZ 90 690.309 null]
+>> endobj
+8796 0 obj <<
+/D [8792 0 R /XYZ 90 653.608 null]
+>> endobj
+8797 0 obj <<
+/D [8792 0 R /XYZ 90 201.19 null]
+>> endobj
+8791 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8850 0 obj <<
+/Length 1998      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�H~���)
UQ�/@Ӯݩ��L��V�I<��L�0�dj%`�ѿ��Ms���l�8��
�����|�;�����.�}sq��cK �SߺYX[�g�o���&�ę��}�l��:�_;��j{'�"����a���2
�$\���w2�D2�_	�
�TΟ7?_�%��!尛pA
��?�%;:���f��3�
����݀X�!!��7�
��n�f�e-��Ԗ�|VR�̚1Ƒ�֌$<c�wr!��d��\
 
�6"�O��o.�A�.��6��
<+Z_|�[1���ˆ���׫֖K|����_`�c�څ�k�`�#$pB���#��V����a�O?iO&���ұXe��U�&���1M��>���Q��U&i�/Q���=�W��|3*�Ub���Op��8��j�P�|CQ������eug.j�
��͎�o�4������"���Fʨ�YPe���a�6�1(�}�� �mQ����.�q�uu���SD�5h�0��v�0#��@�
Dt8�q�@�,6
��!���SP�}
�����*[�����!��9Zx� w�>(  %�3#���lJ
0�7�AJ8�{HJng��|�r����/��$(��ߖ�\C���a '�'I:�2B=D{d1�2 ���
xg�����b���W��o
)c�1���G�WO����� �
���R�HUh�h%�b���6�<#➃
�(�ؑs�t���>��t0a�0�9I
1���9�Q���c�{e��H�p)b��4ʗ[eRГa1%V����8jN����#� 
��_�� PX|r>��
�`2�9�
:F�#�sԍ$^2u
�QՄ�&mq�p��!��a�����nt WOA��l�o*U(0�4��G-���$��DxVIvp,�
+�Ҁ�	R�b��w��[Q�\�_�O�˨2����2���Kj��Z��Q��}��(h�),��
5u��k�vX��2M�e����B�U�πaf4���b$<���Е_9�H�;�P���ቭ	�r���.
�	��tLP&���@9l��`��!���		}��|:�ּץ4��դ�QNj�l�

+�Gzs��q�K�!ӳ�5c���H/�q�3Vv������*'F�
�IJ(��ym�'�ѵ����c�}R���-G���u� �~Wdt5�:�R�V�ISk����ƪm'5��\�26�~a��E�f; Ń�����
+L;~��,��&��F���w:�՗ڂc(���̀P=���:[6��=E��,�k��e�Щ�@\���6�VE�<Y̥���0�^$���pܝDA׫�x�;<���q<��L�
+?�g�x���}�g���Ƴ��g�a��Ӣ�aR�
j��К#N�n}#�j���
�@��訯�s<�q$���~=(�
�TYy����?6�6E*c�>M�,t�

O1���"\��[	��F�z�0t'}�!N�aY�B?&�;�>0��y^8�gg��u�S��
+t83���'�Ӛ����~��H
+H���I�\
2 at 0��TH�\�d���fV�X

���'̼<�M��$ 
+�P�DX�=MR�?�,ˁ]I~U���/�M&�CE	P�\�1���J�:�iR�l־�癎U��6@�i�NҰʊ
�WVQ�xn4ΎD#
���\�$�f'�d0>7mB
g汀��P-�R�9p4
h��o��,��CB)��m�;��b���O��gw�O=��G$�މ�@
�?2��y�f��+�PA��J�l�M
r���o�C��T��TR�`�
���r-lg�a#('b#�
e掊 ��H-|1��؈	q��Ԟ'�H-�g#%���h�5b(�d�3�"n�����U��
��<����צ�Y�����[��W�w��R�p<�6e�oa�	WN[5}R�d��FDL�@>�e���\����_�Ҟ�$�w�}WU������=�J�I��@Iu���
�흙 w�n����`��
+n��
�7�_\�yL
+endstream
+endobj
+8849 0 obj <<
+/Type /Page
+/Contents 8850 0 R
+/Resources 8848 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8647 0 R
+/Annots [ 8788 0 R 8789 0 R 8809 0 R 8810 0 R 8811 0 R 8812 0 R 8813 0 R 8814 0 R 8815 0 R 8816 0 R 8817 0 R 8818 0 R 8819 0 R 8820 0 R 8821 0 R 8822 0 R 8823 0 R 8824 0 R 8825 0 R 8826 0 R 8827 0 R 8828 0 R 8829 0 R 8830 0 R 8831 0 R 8832 0 R 8833 0 R 8834 0 R 8835 0 R 8836 0 R 8837 0 R 8838 0 R 8839 0 R 8840 0 R 8841 0 R 8842 0 R 8843 0 R 8844 0 R 8845 0 R 8847 0 R ]
+>> endobj
+8788 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 709.418 236.745 719.948]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac6434b8a020aeda5828830fd4b639277) >>
+>> endobj
+8789 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.082 709.418 307.588 719.948]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+8809 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 674.356 212.377 685.26]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ad3a8f10409a9fd73afb6691686d6862c) >>
+>> endobj
+8810 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.714 674.356 289.846 685.26]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+8811 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 639.668 243.37 650.572]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a201ee4c814267695f31b30be833917bf) >>
+>> endobj
+8812 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.708 639.668 320.839 650.572]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+8813 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 604.98 216.252 615.884]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1d52cb88936eb0f5bde559b39f8ec42c) >>
+>> endobj
+8814 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.59 604.98 328.042 615.884]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+8815 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 570.292 247.246 581.195]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_afaf0bc4f0e0a036dbc3852b3e4490243) >>
+>> endobj
+8816 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.583 570.292 359.035 581.195]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+8817 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 535.603 254.827 546.507]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aea7119974f9313e4c93908a2955c4186) >>
+>> endobj
+8818 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.643 535.603 343.096 546.507]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+8819 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 500.915 209.627 511.819]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a0c2c96efcf10102068f754c608a12427) >>
+>> endobj
+8820 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.964 500.915 314.791 511.819]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+8821 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 466.227 240.62 477.131]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3a031a8e65176b8bd80d2857bd9a68b6) >>
+>> endobj
+8822 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.957 466.227 345.785 477.131]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+8823 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 431.539 248.202 442.443]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aafc9294d3fb5f2c0fd8d4e4d22c283b6) >>
+>> endobj
+8824 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.018 431.539 329.845 442.443]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+8825 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 397.225 193.577 407.755]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a7ea45b608af772cd69e2c23d7d62a3cf) >>
+>> endobj
+8826 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.393 397.225 232.581 407.755]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8827 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.059 384.313 248.845 394.219]
+/Subtype /Link
+/A << /S /GoTo /D (main_Cylindrification) >>
+>> endobj
+8828 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 351.578 193.577 362.108]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac238f59379434b7fbfd7dccd74be1cd6) >>
+>> endobj
+8829 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.915 351.578 277.691 362.108]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+8830 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.391 338.666 247.177 348.572]
+/Subtype /Link
+/A << /S /GoTo /D (main_Cylindrification) >>
+>> endobj
+8831 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 305.557 223.465 316.461]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a676b331ee61606b74be4cd1f90756839) >>
+>> endobj
+8832 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.802 305.557 362.223 316.461]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+8833 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 270.869 229.552 281.773]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a0ea21bf85aa2e90c449435cfedcef181) >>
+>> endobj
+8834 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.89 270.869 368.311 281.773]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+8835 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 236.181 266.673 247.085]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adb0fa15c5f30fc4be6a94ce2606208ef) >>
+>> endobj
+8836 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.01 236.181 405.431 247.085]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+8837 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 190.534 217.109 201.438]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a15b21e990e26976e615a7d3244ed843e) >>
+>> endobj
+8838 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.446 190.534 355.867 201.438]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+8839 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.984 155.846 201.742 166.75]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a8b2ee24610cb804238f33581093948c1) >>
+>> endobj
+8840 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.442 155.846 243.629 166.75]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8841 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.079 155.846 371.329 166.75]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8842 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.458 131.353 271.379 141.258]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
+>> endobj
+8843 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.288 98.244 212.768 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a7999968db9fb568980215d2c84393358) >>
+>> endobj
+8844 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.771 98.244 252.959 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8845 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.896 98.244 375.145 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8847 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8851 0 obj <<
+/D [8849 0 R /XYZ 90 757.935 null]
+>> endobj
+8848 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8922 0 obj <<
+/Length 2918      
+/Filter /FlateDecode
+>>
+stream
+x��[Y���~�_A�#VO�lq���E6�fb�Yx%qf�H�Bq<Q~}��"uX�n�<�C������﫣��{{�]�������� �J���
��K�����>MF�Lgc<��<��u�L)�d��C�̣�]2ϣ|��kP$�j�
?���E�
o�)Q�
~�_n��~KHc@��hq�x��MZ2�
�e����tF�����CO��� �;���*�nmo�ӀN��f�~͛1�#!�7#�)�C|����¶�X!
�]�LR}�����?���
1��>�Jx��է_�����{�@yO�����ߕ���W�-U��]��S0!�̈́8�.}
+��J��v�ܧzj>����� Q�J�Ƙ�VA�G��M�l�F�����FF-Wv������﮼OF��N�ƣi
��`�ɧ̟��:҆t��+���vofw}�P���>��t	
m����{LE����:�l�����
�I4_�=c��6-{'
+	Q+1��R��NXv,�:1Xg`ߋ����'���{���~;^��]����J�X�ҫ#_Vʎ�e�|�A�f��:I�"��O��� ֪w�^��]Vo��
I���O���TtmG �}6Е,ئ��8��h���
TN�Sy�y�o�J?x���ߦ��I�4گs-���S�'��0 
@&X���n=�V}���j�[kt���,��g�.I�(��R;ciu��߳xJ�10#�1�WY\ij��iy��/�a�Ӡ�iް����fi�5
+����k{�&�@N
+r�.�a2>
+|9l0���gFm���/. ���))
�$
 
++�A���P

��&<�R�-l

��&�Z5=]�\.	xUI�y*�I	��xŷ<M�|�ǐ��p�=�`shX7CS�ɵm
x^wI9�- ����rm��2 at LOJp  ���
Z�(#�h�چ�[c�}Q�͜����>��9��;���+���O��}�v�$T�<-ʹ�T�)4q
�5e�h����A��v�<�+�RDZ�oa�G
+�I�dr���!Zm��*��=[����a�L
"ڕ

�Ky,e�� �{�HJv	�1O�"_�cT�;��ȗ�����f�Л����!��k�����%�W;D��8G��Jz�^W��r��P�`lq,7iyZܤ���d�s��t���������tn�}��?9)�+v"9͘�@ę~����|g�?�����0����4c�M
$"V����ؔ�M"b��E��,mID�iED�� ��'��P����$�5
���2O�g��YY�?����XTE��d,�b<83b7�<���#������a{���Ϗ���"+���h=�tTNCP��v�x�Bd::N���
3j7��P<#H?�
.��м
g@
�h�

g�ဋ��\��pFϥ챏. 3�)�
�
�������t�}*b�2�Ir�a�Ip at d}~����،�'~ 
+���Be����~�`�
<��`�D
f�K	�A��,��i���bJ&���N����?�:Ln'���ڵW{��~2�ڃ<�FK

Ԍ�6P�d��A��
��'x��<A�3�:@���Z
j�|�Nj�d���鞯���U�?V��3>�g��t��[_��ѯ��=3��18�/
�S���j
v2�u���'e�
���߯O����Bb��P
���'؁��������'X�>�\}�
�O at C�al�Ύgk�$�$j�
+�y5���D�W��PPOp���8b��T ��e���+hȇr7���%�F��gLykȧ�%���U�z�nL���)�W��[
�j�Z���R��'
xh�,�>�*�̢�/�}K�(-d���^�
+�
U�Y�N�X��y��?4�gĿ�
+���b���r���(���W"���ʈ��p�m�+V/���p��t�N�Ru|
+
���3���bbuR�'%DE��w�A@�����$�ь��cxVH�k3�8���� �K	I@ �����
T}q���s��&�qR@�/F�$
�&�8�����ad�vOH[�f7&B�?�Z
P݃�ݩ[VUN �a_��(�5�s��Ǖ9�#4����l�y,��E-��S@�,��.Þ���y\<�q�7C��$�HA
��
Һx��;m�4�
4���>�NcG�
FS2RǗ���|�1�M��V�}��V�b�m�c��lC4�j�4��
]�t��q�\�ic�Ƌ�s�7��m�
6�y��yM�4 '{�%yJ za��&06���ES=|�ve�� ߔ��QK5
X�Z�b��߽;�zf����t�����O'��pR`��ڄ8�̏~S��7.	z )b����g
�>�g�Nc3:&N-�ln3��4K�$-�N���p�����.:_���l���~���ˢ���?������wo���۟����kx3U0q���j�&�(�t�Ҁ�ʃ�
�l3w#/!�/�Q�i|е�r
+v�d+�x�03��ˀ,/wBf6�R������&��j�D9�,8�t�%u
+š�[��m�1.z�{�2�꜄+y�U���G1Ѿпc�T
3ё>��Y���c�p�Y(\U
+��B��B�A�B�ͻ�=�Э��D
w��6թ���������4�,/�Y��� �Q�d��U��`}z H��4n�)n�'���t��;sy���n}�R��z�#�������2��uh�u��6
V�a[��E���h��Nh��>l|>j@-��Y°^��0Գ_��U/a���}���Z��>
g��N����$	�:����R ��ϼ-��
�u�~��]Nݹ�����6�7`��:�����Yw���bD�
UL�U�?v�v^��ʫ?k�
i������P���OOOh�E�i��QR\o6��}�h�����ழ�u���')�\����?��[6
+endstream
+endobj
+8921 0 obj <<
+/Type /Page
+/Contents 8922 0 R
+/Resources 8920 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8647 0 R
+/Annots [ 8846 0 R 8869 0 R 8870 0 R 8871 0 R 8872 0 R 8873 0 R 8874 0 R 8875 0 R 8876 0 R 8877 0 R 8878 0 R 8924 0 R 8879 0 R 8880 0 R 8925 0 R 8881 0 R 8882 0 R 8883 0 R 8884 0 R 8885 0 R 8886 0 R 8887 0 R 8888 0 R 8889 0 R 8890 0 R 8891 0 R 8892 0 R 8893 0 R 8894 0 R 8895 0 R 8896 0 R 8926 0 R 8897 0 R 8898 0 R 8899 0 R 8900 0 R 8901 0 R 8927 0 R 8902 0 R 8903 0 R 8904 0 R 8905 0 R 8906 0 R 8907 0 R 8908 0 R 8909 0 R 8910 0 R 8911 0 R 8912 0 R 8913 0 R 8914 0 R 8915 0 R 8916 0 R 8919 0 R ]
+>> endobj
+8846 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.401 720.235 277.928 730.141]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
+>> endobj
+8869 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.443 687.036 250.099 697.939]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_abb5709426ac80aa0bcf907b4f1d4a577) >>
+>> endobj
+8870 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.258 687.036 289.446 697.939]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8871 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.772 687.036 379.512 697.939]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+8872 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.747 687.036 513.996 697.939]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8873 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.304 661.243 439.335 673.408]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+8874 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.591 651.493 459.505 661.399]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
+>> endobj
+8875 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.207 629.252 266.586 640.156]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac7b41dba5d22086cb9715c3f51248f98) >>
+>> endobj
+8876 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.509 629.252 309.697 640.156]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8877 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.494 629.252 408.234 640.156]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+8878 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 629.252 513.996 640.156]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8924 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 617.297 171.361 628.201]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8879 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.237 604.669 480.87 615.625]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+8880 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.125 592.501 513.996 604.082]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
+>> endobj
+8925 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.268 583.011 155.212 592.656]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
+>> endobj
+8881 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.091 560.51 250.748 571.414]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a97cc0d02a88d52e79cbb6615a3bbab42) >>
+>> endobj
+8882 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.068 560.51 357.317 571.414]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8883 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.405 560.51 456.145 571.414]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+8884 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 548.555 202.344 559.459]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8885 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.005 535.927 446.071 546.883]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+8886 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [342.547 524.968 438.461 534.873]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
+>> endobj
+8887 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.017 502.727 265.396 513.631]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2c47f2f619b1d0f322b742891920735f) >>
+>> endobj
+8888 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.568 502.727 375.818 513.631]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8889 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.239 502.727 478.979 513.631]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+8890 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.616 490.772 225.866 501.675]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8891 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.222 478.143 466.67 489.099]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+8892 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.37 467.184 462.285 477.09]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
+>> endobj
+8893 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.933 444.943 239.984 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ae274e65fc3f012ab21bcffa3177228c5) >>
+>> endobj
+8894 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.633 444.943 280.82 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8895 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.855 444.943 405.104 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8896 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 444.943 513.996 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8926 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 432.988 171.361 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8897 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.257 419.151 432.092 432.309]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+8898 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.436 385.957 251.209 396.861]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a732e7355673aa63a2fc22a470a36f707) >>
+>> endobj
+8899 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.361 385.957 290.549 396.861]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8900 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.719 385.957 409.969 396.861]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8901 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 385.957 513.996 396.861]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8927 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 374.002 171.361 384.906]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8902 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.114 360.165 456.992 373.323]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+8903 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 326.971 224.57 337.875]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a77a2a8e38120a21ac0d5f19eb6e1668b) >>
+>> endobj
+8904 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.908 326.971 363.329 337.875]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+8905 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.27 314.343 344.597 324.248]
+/Subtype /Link
+/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
+>> endobj
+8906 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [463.2 314.343 506.527 324.248]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Time_Elapse) >>
+>> endobj
+8907 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 292.102 255.564 303.006]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a940db627ef73d29e63fed31acc7553f7) >>
+>> endobj
+8908 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 255.24 214.06 266.144]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a99247c74022e8d51cd0a2d93a87bcfe5) >>
+>> endobj
+8909 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.398 255.24 352.819 266.144]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+8910 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 220.371 273.129 231.275]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ae8be1647844c9837446b9c735f11672b) >>
+>> endobj
+8911 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.944 220.371 352.41 231.275]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+8912 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.949 185.502 282.978 196.406]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a640fe823a102e14522990200193c6701) >>
+>> endobj
+8913 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.014 185.502 386.79 196.406]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+8914 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.53 185.502 513.996 196.406]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+8915 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 89.172 289.866 100.076]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2f90e70dbef264e99b7015c0ce7e16fd) >>
+>> endobj
+8916 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.681 89.172 359.324 100.076]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+8919 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8923 0 obj <<
+/D [8921 0 R /XYZ 90 757.935 null]
+>> endobj
+8928 0 obj <<
+/D [8921 0 R /XYZ 90 309.203 null]
+>> endobj
+8920 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F79 505 0 R /F107 2332 0 R /F97 1188 0 R /F56 367 0 R /F105 2458 0 R /F41 370 0 R /F106 2337 0 R /F37 2638 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8973 0 obj <<
+/Length 2153      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�~ϯ�ajc��DI
��M��] ������P$:VW�Jr\���H]�Ў�8�>$�$��\�s���ha�o�������w�k�/,�-ϵ�G��eB0r�tF0Ɠ�)���L��͔�I�l�"*����C���+����$��oE�
+E4�)�ğ�pPO������O���<�ڲ��@m����|��(Ó�^��:6✵��y������)��IP
y�5�m1׷f� δbn�B4��,T�
�#
�5I۵�鋿�_���Yl�F����Ϭ0����"8�����}k��J-���Xw�^`m��2
�|�u�
��
��Lq�}UJx�
�R���I�j�
�yȥ�ݐ�)a��RPU q���TdU�gZwA��HD�O�K�;��"�DV�
�BY#�A����_1�
8��~��^ƕAЃ�v��l�ΖPO"��r( \C�wY�����ӌzq������f�R�E��2cKOMő�&}�|�Nr��j�E�y��9(y^������!ey�W��N��������S @����K���
+�lp��t�(�T��|���%���=�,�Y����
+~�v� ����n�@��zL���U���+U��I��/oU' �i)�GU�'.��7U�$�s>��5L4{:�*b; �s�O�s �D&�ߤY���
+��w�$��:��C1CLzd+δ

����;?�ʘ{N�0����0dw�y�~���8�V�F=�̳�@��l�~'t�I��w�Ͻ]�ǩ�y��\����N��l���K�撳'�O<��W��?5e
<$���	s������m#�����d��U!�XE
�ct_�S�M�tt�92���͌����<�v�Iא��\��)'��1���Һ\(��zh(y,�nksk"���Y��
ݡqp��H
ݸ����ܝ,�'1b€FX�ߖ�������8W�1 �7�7�x�{��{|�=�:��k��G=�8|�mQr�&
$
R1
����*
�N�g�����MC
�v��ݏn+��4(�įݼ+l*p|��Hמ�
��bܘ������1G�Z��嗦����k�P�i����Tt~Pk�����7FV<
ȶr��v�u���`/[o��h
���b���p��;��
+�"����ٴ�J�V�P��PzA�鱎�'��s���H?B9ұ
��=��Y�<�ޱ��x5�HT�k��kȱP�$�&${z�ؔ��PV������<�w����D� Ft��>�;a�	`�f��:�~��P$I��|��Ev�s�,P=ϫ����
&�#l�;���/��*=�����ؐ=��y��&Z����"�ɼ����,S��t���s�˼sDr�nf�����L:�ݭe�7�ɔ����Qm�:���w
�����m�P�Q���Y���bǢ��l�M�S;���^���0ƷY�Ɂ��me/'�|d���u���A��<Z���n�rU}�_����B0�� �3XUGWW�(M9�a���h���w��Q-UEQ��Bdu���4d�
y��X}ز��m5� �"�����������?����2��
y�׆��a袄b���F>ÜX��t��`�N�%ǃĪ�����
x]��(Yoh�!�6[
��>�Z�6;1��f���<O	�$����D�����Pڏ3
N�6�=1χ�$c^R�1/��b^^�r����SWy�a�[g�z�[��z��"�QFєL��6�w4���戙1��|�m���\
�5�f�X[O݊zUf�v�󆊇�[��_�6�Z�����*�hbj5���E�TF�`w���C�X��꤉��d�HF'����4/7�*��x>t�nu^�\�g󇍞��!
����N�Y@���M�-�F1�/�᪈۷#�Cs;ھS�aD��m�����(����n�4���>6o'��[6
�w߹t���|�
V:A�b��
�eP-�a
��1�`
?0]�~l:{��� �G��H�jї"[� �A��Ʀ��(b�����
l�"�A���c
1��b����9���M��:�_੃T����n� -�V-�Iөw�e?mƈ�sw/ؕ�J�߭v�wiR:���R\�uquy�^�QX�U%��ˢH.��T���z�/�7-�]�ɴ�i����z�X
+endstream
+endobj
+8972 0 obj <<
+/Type /Page
+/Contents 8973 0 R
+/Resources 8971 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8983 0 R
+/Annots [ 8917 0 R 8918 0 R 8940 0 R 8941 0 R 8942 0 R 8943 0 R 8944 0 R 8945 0 R 8946 0 R 8947 0 R 8948 0 R 8949 0 R 8950 0 R 8951 0 R 8952 0 R 8953 0 R 8954 0 R 8955 0 R 8956 0 R 8957 0 R 8958 0 R 8959 0 R 8960 0 R 8961 0 R 8962 0 R 8963 0 R 8964 0 R 8965 0 R 8966 0 R 8967 0 R 8970 0 R ]
+>> endobj
+8917 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 698.623 290.971 709.527]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a19a2fb28254bc142e01f3ee00c27ea89) >>
+>> endobj
+8918 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.787 698.623 360.43 709.527]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+8940 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 665.01 224.003 675.914]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac5ec610fb42e16beaac59b537a71f187) >>
+>> endobj
+8941 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.34 665.01 362.761 675.914]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+8942 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [348.962 642.052 442.501 651.957]
+/Subtype /Link
+/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
+>> endobj
+8943 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 620.439 254.15 631.343]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_af633b1416a118a2ac3146ec4a4fd4298) >>
+>> endobj
+8944 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.487 620.439 338.263 631.343]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+8945 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 586.826 284.585 597.73]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adfe66b5a34b84fcf63d1a48777f68e4d) >>
+>> endobj
+8946 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.401 586.826 354.044 597.73]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+8947 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 530.3 241.726 541.204]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1ae424886d05361c1a78c89dbdd5b7db) >>
+>> endobj
+8948 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.617 518.3 407.658 528.205]
+/Subtype /Link
+/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+8949 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 496.687 249.318 507.591]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a7a1f9b31c3ed7dc3e7691b9110ddbedb) >>
+>> endobj
+8950 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.134 496.687 288.321 507.591]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8951 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.875 496.687 371.519 507.591]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+8952 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 463.075 240.62 473.979]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3cad64f36f7df128cc7637c9e0910bf1) >>
+>> endobj
+8953 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.958 463.075 324.734 473.979]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+8954 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.313 463.075 389.5 473.979]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8955 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 395.315 244.265 406.219]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_acbcc65a843515d547f055b687d1e6d5f) >>
+>> endobj
+8956 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 360.967 167.466 371.871]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a9bd884fea397d9d6cde6426e6f47cc4e) >>
+>> endobj
+8957 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.281 360.967 282.702 371.871]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+8958 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 326.619 193.029 337.523]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a57fc3d9d838fd7e20e80806307452a91) >>
+>> endobj
+8959 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 292.27 193.029 303.174]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a9a864135634ed49de1aeae3b38ed933a) >>
+>> endobj
+8960 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 257.922 165.911 268.826]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a885e896b320d1f4285b5dc92a20f8884) >>
+>> endobj
+8961 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 223.948 187.689 234.478]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a804363984fe210abe47624522dfb7a92) >>
+>> endobj
+8962 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [352.557 211.206 476.544 221.112]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a9a864135634ed49de1aeae3b38ed933a) >>
+>> endobj
+8963 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 178.267 202.902 189.171]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+8964 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.4 178.267 300.037 189.171]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adea57326388915780370a677453778b3) >>
+>> endobj
+8965 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 143.919 202.902 154.823]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+8966 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.4 143.919 314.263 154.823]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a8eb19423295d8af4d69f144fc227128f) >>
+>> endobj
+8967 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.819 109.944 199.864 120.474]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_af191b9781c37da15b49810d47a838823) >>
+>> endobj
+8970 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8974 0 obj <<
+/D [8972 0 R /XYZ 90 757.935 null]
+>> endobj
+8975 0 obj <<
+/D [8972 0 R /XYZ 90 411.668 null]
+>> endobj
+8976 0 obj <<
+/D [8972 0 R /XYZ 90 377.439 null]
+>> endobj
+8977 0 obj <<
+/D [8972 0 R /XYZ 90 343.091 null]
+>> endobj
+8978 0 obj <<
+/D [8972 0 R /XYZ 90 308.743 null]
+>> endobj
+8979 0 obj <<
+/D [8972 0 R /XYZ 90 274.395 null]
+>> endobj
+8980 0 obj <<
+/D [8972 0 R /XYZ 90 240.046 null]
+>> endobj
+8981 0 obj <<
+/D [8972 0 R /XYZ 90 194.739 null]
+>> endobj
+8982 0 obj <<
+/D [8972 0 R /XYZ 90 160.391 null]
+>> endobj
+8971 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F56 367 0 R /F38 2120 0 R /F23 368 0 R /F106 2337 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9008 0 obj <<
+/Length 1173      
+/Filter /FlateDecode
+>>
+stream
+x��XIo�6��W�4����"j	:�I]`���{J#ѱPmC���ߗ�HEV�%p�CR~|��6>B���֟��g��ԇVB{�la���=`���[A�"g� ������D��W�v�n�<l�Wr/��\\h��4�̯y��x<�
+�Bm��m�y2E�'�JZ�*uy��$[:)
0	
�%��c
+�K��;غ�!5g~�õ�)eU�r�9!�yV�L���5&��
�1B ��k��a<�Z: ��5K�������R_��x]�ZQ6���X}�lA@��Z7T��b�������<�*���h+�F2�D�W��Ԭ���^�ڬ��<�I�W�j��d���!��(s1�a~�1�:cݎ������R[(
���
M-4N2�WJ�\nJ��e=Ϋ�E|ޝ
���� ��
����
+�Y��D�2��ʋ.]�xQ�D�=/��1“l���F
g�C�蓥p\�C��1M�dy�rQ�ӱ��1	TЫ�E��:���<�<61껶��ln�
�N,t؟�Eƒ|7�/�~f�n��Y��'� Ģ�*����"�G�oA16�U���%P�S���Eţ"�OB�PP�{��M�ď�c$�a8��31�q(��p0�5y%_[>�"��-
�ۭ&],VS>�O�3��iHU\�/N7\�BG �/��0<Ie�ycX��^/B�O�)��\�Xq}��H��!C��g&͋<ݴ�d��5�l�X$��Ax���&�H��]����c-'>_��Zʱ.�����K�O&�J�W8M��-�~DE�_[�^r�%b�/
:-X{tO2����T����h΢��i��Id���sUvWǨ�7^}#�����ْ�	&vQr�d!>~
�'7�_D�0����1
v�aϖ�Q$�`D�6�%�����^�
)4�s�f����
mu��d�
)���==RRSm�BA�F!9��� [...]
+��
}U0�wJ��E�t��ּ��[��n����ɡ�\���\��t��5+.�Fi�yTGP���
7��]�Zf���1��@��r)ey1���kU`�'� ���e:y^.{\T���{cZ��g���'������o�C��^{��
+endstream
+endobj
+9007 0 obj <<
+/Type /Page
+/Contents 9008 0 R
+/Resources 9006 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8983 0 R
+/Annots [ 8968 0 R 8969 0 R 8992 0 R 8993 0 R 8994 0 R 8995 0 R 8996 0 R 8997 0 R 8998 0 R 8999 0 R 9000 0 R 9001 0 R 9002 0 R 9024 0 R 9005 0 R ]
+>> endobj
+8968 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 697.247 203.075 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+8969 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 697.247 296.324 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4a53183970490595ac39c8c070601c6f) >>
+>> endobj
+8992 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.944 616.485 200.017 627.389]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a343e039e48425126b187827066d12bf2) >>
+>> endobj
+8993 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.944 577.63 200.017 588.534]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4ac4e4131c756f0ffce85b9dec7d2b3a) >>
+>> endobj
+8994 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 496.868 211.703 507.772]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ab3b8f7e6fdd123f510ba85f4527bdee3) >>
+>> endobj
+8995 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 458.014 203.414 468.918]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a269f357fca785afae3774b1e084d9b93) >>
+>> endobj
+8996 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 419.533 179.265 430.063]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a21a9e355a53ec45a5a60213fa8c24f2e) >>
+>> endobj
+8997 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.575 340.454 140.53 349.301]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a43ab45399b7e22ffcd6403b7e59a473c) >>
+>> endobj
+8998 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.575 301.6 140.53 310.447]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2d12805af932544a4fc1575f8db62a3d) >>
+>> endobj
+8999 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 262.746 167.639 271.592]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aa2a8683afd33a1d57db43c9db16de1f5) >>
+>> endobj
+9000 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.839 179.926 181.264 190.83]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ade7792cb469ddf1d5d8944bbe7f1f55a) >>
+>> endobj
+9001 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.05 179.926 321.471 190.83]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+9002 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.251 179.926 513.996 190.83]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+9024 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 167.971 146.896 178.875]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+9005 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9009 0 obj <<
+/D [9007 0 R /XYZ 90 757.935 null]
+>> endobj
+9010 0 obj <<
+/D [9007 0 R /XYZ 90 716.221 null]
+>> endobj
+9011 0 obj <<
+/D [9007 0 R /XYZ 90 716.221 null]
+>> endobj
+9012 0 obj <<
+/D [9007 0 R /XYZ 90 633.556 null]
+>> endobj
+9013 0 obj <<
+/D [9007 0 R /XYZ 90 633.556 null]
+>> endobj
+9014 0 obj <<
+/D [9007 0 R /XYZ 90 596.724 null]
+>> endobj
+9015 0 obj <<
+/D [9007 0 R /XYZ 90 515.842 null]
+>> endobj
+9016 0 obj <<
+/D [9007 0 R /XYZ 90 515.842 null]
+>> endobj
+9017 0 obj <<
+/D [9007 0 R /XYZ 90 477.107 null]
+>> endobj
+9018 0 obj <<
+/D [9007 0 R /XYZ 90 438.253 null]
+>> endobj
+9019 0 obj <<
+/D [9007 0 R /XYZ 90 357.371 null]
+>> endobj
+9020 0 obj <<
+/D [9007 0 R /XYZ 90 357.371 null]
+>> endobj
+9021 0 obj <<
+/D [9007 0 R /XYZ 90 318.636 null]
+>> endobj
+9022 0 obj <<
+/D [9007 0 R /XYZ 90 279.782 null]
+>> endobj
+9023 0 obj <<
+/D [9007 0 R /XYZ 90 198.9 null]
+>> endobj
+9006 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9040 0 obj <<
+/Length 3173      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�~��P^�Ҍ nt��$�ݤi��z���&�CK�D*$���{p!HP�,;M���
��s��9 ���
Ͼ9�����ij������,�3)���z�~N0bd�$������f�.(�W���|]g�^��Y�py�&�E��<|����U���^5��]�x���kB
R	��
�1�}a�<4I����bI9�����*B�%(My�͟'��e_n���Ԯ)����&ks��l�$q�fKBPʝb������+;�a�0
;������_��~>#�ψQ/��*>[m����gkx��
�$U�{3k;c4��f���g���((O�#���J�z_�ڢ*+9���gK�P�R����7k>lﲶ���2��MY��m�����m�R��q=#�TG9�`e� �<�e��(��h�b›�
���5���Q�S#�	(	ĕ�
vy�m�$���:
�#�WV��Pt�o�֗D$�tn�ִ��˪i�<�.�,�N5�]��o�@��aXΫ]^gmUG|>U`�^_
�x��)R�LJv�'
��T2_�m��lA��X���0�?�!���R@Ŀ��Ŀ���?�2~�
I
+Q�X�/ֻ'�9�)8g*3l1Dd�3Xʹ���v�w!�-e���E��(�	-)E�Q���?g
87U��vI����Ͼ
!Ɏj�į����5�=��
(��D(�׉�q�H&Ǵe�z۾��>[ԥ́TRH�,��	jH0|�
��0���G�0$���Ԑ^*�$Pb�*o�u�H��� 
I<ȴ��[@�W
+�M*n]F-]���̓�� �ڛU��Ue^��2�n#<�QB�2>E8����p�
+G"�s
&��0��`��&�eE}_t5C��>�<�(�J9���@�Sw�c��ϛ{S��ư�s���ɯ;�~����� 󧡡��cI^�Q��]�'�I
ˣ8���!NkV��w���F�w\7OR
�"�R�{ �|
 {�<!�+�cB�]�ы_�L2mύ�3�{�#�
��x��C8�B�f�Є'��u�뫼͊M��ʛU]�t�b���!
C�0�I�%9֩J�
�A,\z�8x-]��Q�	 %�#=�L��V����غwI?��@P�Z[���SW?�MHʌ��Ž�R��>�V7梵˵�
�V.i�@{��^wաS�G�<&����
�!BEY��6g
+I(
����+`�Q
+\BW^�����~��w��6�~,���J����d~
m��y����fE�\�h�t�)G�
�:�.`}AJ���{�
:A&鋎<�?�7��m�0ߍ
+�]U@����H�I�\N�P�*���ψ5�L��v�1������'�7oN]K�w���9k}S�Z"���=�
D�yW�~�f�2�|xw��b�R��~�
+t��
�#$��>G �0ų��ׯ|�W%rTpM	9G)��Q�	��
��E��էh�@iB>Ü�u���W�.�����g����LL�6i
�B`)�:o��Zc
@��Nw:��v�H��2��.U�TX*��U������ d%=V�K�
�PqM��� k��M1�Zf�A��@0�B"N�q`s2���F�
����]���0~�n YmC��R���`����c�8��0��΂	O�7=U[�@F�P�1>�e��	d�<W�hr� :M���jY��&Za�
֩�q�i*��4�.e�A,u�Ǭ$���9�Na\S7?e1z�b欀�A�]�d�:'�<�/�;�zU��:o�_3gx�.c0L�(���؄���-��L��2#���>F=�:4	І&�R��-6��>_@x������ ��RF�Y;�r0�W8U�4�F�Pc[�@��15.@(NFY����H�
�y�5
��m��|��Ʃ
�
��.
R�B9�ÞD��'ɠ'�c�Y
\����C[�Ĝy�2F�Eq"�i�&3&i�/������4�0��7��m ��o��|���tpc��t#������]��U2G=�H,�;�}��@�����I��$�������p�� �%
n.uB�d�����vtE���5�s&�
wI����
J�e
�-��q����br�R�C�.�

Ib>���h��v9��t�#]��3$cj]�p>��#q$	

��l��dGLaՇRk|�5t�85���\<6�X?��7� e�@�m��x��':�s���S���a�
+��mz����m�nFA�vU"

Jv��Vv��
��0xv�i
�[{�v�̓�K33�n�UU�|\�k7v��I�+[�
iT��j����;�S���:��R�� ��~o��v"<f��g�:���e���U�

�y{W��C��OZ�@)
�WT߯Zu˙�d��d��ٓ�Ty4�"�$���с�'�-�Ԝ	�-�Fm�P��9�����6܀{J��ǔ�t���U�����iYtw�i����CAy�ok?yo��`���
��E�D���}�pC��N6U at 3:�^u���9�pM��>����_��鏣�N_|
D�A����ҕ�=Pg
[
;��,0b!b8
dz�8��k�zu�a>�������J��P��Q's�?Z�ț�3��bLq
�s��)���1p�%1�
v�1�ʷ��1:J�xo6v@�[wӷ�O�qwd�}�������#փ�����+q�����c�%:DR���:�nx_3ٟ*ؼhݵ�W�� 2����~Q�G���j�\���
����
vsg�����Fk{�}(�F��s}�о9�"�.8�"9��/�]$y�����*:�&tn���=���&x��Q�P2�#����Ġ�׎>]㋾����oiRh0	��X)��
X�"J���a՜�����X�
J�
N�Ԝ��>pXszaF�o��7��,b/
d�YmJgR�b7s���l����)���o�)�40�����
���L:8H�fS�Jf�/xQ��_�~���,�FZ��lc��`k���Vb/ [...]
+endstream
+endobj
+9039 0 obj <<
+/Type /Page
+/Contents 9040 0 R
+/Resources 9038 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8983 0 R
+/Annots [ 9003 0 R 9004 0 R 9026 0 R 9027 0 R 9028 0 R 9043 0 R 9029 0 R 9030 0 R 9031 0 R 9044 0 R 9032 0 R 9033 0 R 9034 0 R 9035 0 R 9037 0 R ]
+>> endobj
+9003 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.064 658.013 229.749 668.917]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3a18eff42a557fd87d59895399c7a13f) >>
+>> endobj
+9004 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.784 658.013 444.205 668.917]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+9026 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.053 595.249 179.177 606.153]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a7a9afaf958c6f9dd09c89bd706dc09b0) >>
+>> endobj
+9027 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.391 595.249 319.812 606.153]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+9028 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.251 595.249 513.996 606.153]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+9043 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 583.294 146.896 594.198]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+9029 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.762 532.484 158.127 543.388]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a0e39243c24d99f8d374f9c14e3da8d98) >>
+>> endobj
+9030 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.789 532.484 386.293 543.388]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+9031 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [478.4 532.484 513.996 543.388]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+9044 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 520.529 306.128 531.433]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+9032 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.525 346.211 253.249 357.115]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+9033 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.782 346.211 341.46 357.115]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+9034 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [343.993 346.211 369.896 357.115]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9035 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.352 154.17 304.232 165.073]
+/Subtype /Link
+/A << /S /GoTo /D (main_CC79) >>
+>> endobj
+9037 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9041 0 obj <<
+/D [9039 0 R /XYZ 90 757.935 null]
+>> endobj
+9042 0 obj <<
+/D [9039 0 R /XYZ 90 716.221 null]
+>> endobj
+9045 0 obj <<
+/D [9039 0 R /XYZ 90 483.209 null]
+>> endobj
+9046 0 obj <<
+/D [9039 0 R /XYZ 90 420.822 null]
+>> endobj
+9038 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F38 2120 0 R /F79 505 0 R /F97 1188 0 R /F72 404 0 R /F7 541 0 R /F8 540 0 R /F23 368 0 R /F31 506 0 R /F10 507 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9055 0 obj <<
+/Length 1801      
+/Filter /FlateDecode
+>>
+stream
+x��XMs�6��Wp2Ӗ��`|����P�I��
�vrq3Z�lN)R%����]|�"e�Q�&��,��=��{��~���b/BQ@�r�E�
����xW>���ј`����~\���وb��V�*)�ɯ�u���7�N�,[M�U���drV���
�Q�>\��EHgA�jw�z�vH�'��qL���T`������Y�P�f��-V�e�������QD}5_dq��4o�X�D �1!(.0�j���T>��8��kg����;���k�@/��	/�›���>`/���
F,�ޝ5�8e�̼����p7U`��*
+�
�K�I?��}

	�oU޼�o��*�:-\w}׮�����YQ���:�U����b�%�]�zY:�3���Rh4��?#*�;��
�C�8��>�Wt�r�n���ٕ�2vip��.����R�V:�O
hy�꿲��vAgʦ��q�:��A��a
1 ��pZM�ŏڵ?���G�
���|I \3Մ
־.�[ۚ�E���v{y�1Գ�<!�@�qEa�7`�Q���6�nuC�h�ǀoUٞ��9�`;nNU-�*i�il�,�
rl������#f��|
���k��5cO
�(�	��ٔ��9p��U$�ZE�1i��
�m�zD����ʇ�
 ΪF �7�o(����
�i|����Y!P����x �l
E��&^$���1"<c�+�

�[ռ��
9:����J
l�C��2��� ���!�BL�C�0BRF k�q��{(��{�aۏ�"tB���cI;��j�,S�h�5��C��tbYb��(��D!1�[]�4l�X' i~��(P=q/��9�L����c; IK5�mע�'��Q��x�^yWf��2Mz��~��z��������n�ֱ��S	{(KU�b%n[̯
���*5
��Ȣ�Һ#�6����Ib��_7��
�8-���0뒕 �A6D'� ��� �
Cq�7
�G���A���&}�b��>�U��ΙY#��
�6|�{�A$��C�Qker�Ѩ��T=�;�@7J�J��;��
��
��G�i���F���V�o��u6�Ih@}���t 9Y����h�aG�_چfH�����'
�0la�Ѹ3�7�P�$�TU�1�����]�gp�j���}�����b2q/������k����wNT�w�؅wnЎ|�pP��
_�"���k+п!�������`������}�ߥ�{شʴv�ϒ�C�c����C�*�
�俀�
�d�#A_�� m��M���F5W�m����=<�O�?����Oc
+=�Ry�m=
+T�n�OZ//�]�J"��#d��"���gŎz�!��)'��������_�<b;y�?M����-����0��*u��#[�M��߻���w��\�u�t�)��{�3��2h��ѫH���X
�2{E�z�P���=���>M�Ll���Ɇ_@�����P��l��m�)� 0�_}���/	��/��_���U~��/G���o/��>�OC6	JP��~$�0T�&:5�-�[�"��`��O�9Zj���QօA��%<dY��U��;����ı�Q�����I�4�lF
a�ީ�LM
u�����4�;}�����d�� ���F��ڼGn.ż�4��\9�W��,�����y�Yk$��ܵ�ޔ��0!"���z���+�gC�ӱ��xw�FB��<�-Ηq�.�5��)	cD��#[)�P�m���O�i�b�ݵ�DR��b�u�8�߿��C�
+-�tQ���_,����
+��EK�Y����9t΍^����
{
+�8
+endstream
+endobj
+9054 0 obj <<
+/Type /Page
+/Contents 9055 0 R
+/Resources 9053 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8983 0 R
+/Annots [ 9036 0 R 9050 0 R 9051 0 R 9052 0 R ]
+>> endobj
+9036 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.372 707.957 302.073 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1190fcf4794305386f8475f9ac51ce00) >>
+>> endobj
+9050 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [309.149 604.096 329.403 635.064]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9051 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.563 604.096 422.493 635.064]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+9052 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9056 0 obj <<
+/D [9054 0 R /XYZ 90 757.935 null]
+>> endobj
+9057 0 obj <<
+/D [9054 0 R /XYZ 90 190.402 null]
+>> endobj
+8688 0 obj <<
+/D [9054 0 R /XYZ 90 167.161 null]
+>> endobj
+9058 0 obj <<
+/D [9054 0 R /XYZ 90 167.161 null]
+>> endobj
+9053 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F72 404 0 R /F31 506 0 R /F7 541 0 R /F100 1390 0 R /F123 2840 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9062 0 obj <<
+/Length 1280      
+/Filter /FlateDecode
+>>
+stream
+x��X�r�6��+xJ���BpqR9̖�$�rl�4�RQ$l1�-$5��>@��bϤ������5�`����/�W��읏��
����b����-�>�#�L
�1����Q�G��)�v�mW"����鲎��Օ
ЦQ�m7"Y�"Y\�S�%��ӻ���;Bz
RV
]g��Oj� &���ЌxC~�:�c�
�7G�u
+Cn���Ĭݲ���i�l�iHm�WY�
+���0�#��C
+��F܋]b���8��zJ���{�v>�gB�[d��#p+�'@�{
#�f7*�\ʠͬ�ɟ�/�>,�<�|�N�D'�-�
�}���d�>�ŃzoWB=4��ӏS����.+e
ڥ`b!�`�س
J��}��@��V�����,��~!�<t%|TMS��E��hҲhFA
P�9��o@���`�%�G�p��ބ����S�m���
0Q��*ges�]�������9:B���yL��)-�sYA])g&�ۮ@:��J@:�H5�"�R�s�
�I���n��f�y�R�K��R2h՞�K��ocQ��{���5��6���D�Ю��!�'x��xP���N;��
+@�A� �|rH��
+���~!q�
��r
%��1�׹�=�T fo�8խ��ȓCMNAu���
#����'T#
�n!;��>��NV�m%
+ضS�a
+"�ZPXy�~��e�<&�$���	5�y�)�q� S��-Ț-�Ʌ��	rw�B�.�p!���{P����Pߵ?b�5���C(b ���e�P��G-n�
�Eu��
�A*��
7~h�� ��41S��Q��Q�"K
@y�Y�Xei��wG��C����W��G��'^.��_���$r�N����������D�D�y�
y�^ ��6m��<��'�e�h?�oe�����tWcz�O�y�B�
+�M� �Hi\n�x�s�<�B����&�.&s1��&�E΂)��M���J_j,���
����Z^�ZxL����µ�pm-�o-��DY
7��8�z����*���i�Ⱦ���y��/�����u�,+6{�� sTJ���@k<�_��͍�ͽ�[gn���Ξ�@(��h�s����;y���
�Cֳ\�|�˅.�1cs��O����59��i�ߴz
+I�܋Vs�*�,��<R���Z
+��[��l.��w�z����R�u�D�:�Գ�����LjI
+iXP�[!t�*�O�y�m���}�$��
�Vm[]�f���
ZiU���UU6;4��,�E>��ӽ�?��Z�ZB'x�Q�>��+0�
+endstream
+endobj
+9061 0 obj <<
+/Type /Page
+/Contents 9062 0 R
+/Resources 9060 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8983 0 R
+/Annots [ 9059 0 R ]
+>> endobj
+9059 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9063 0 obj <<
+/D [9061 0 R /XYZ 90 757.935 null]
+>> endobj
+8689 0 obj <<
+/D [9061 0 R /XYZ 90 619.103 null]
+>> endobj
+9064 0 obj <<
+/D [9061 0 R /XYZ 90 605.243 null]
+>> endobj
+8690 0 obj <<
+/D [9061 0 R /XYZ 90 416.668 null]
+>> endobj
+9065 0 obj <<
+/D [9061 0 R /XYZ 90 402.807 null]
+>> endobj
+8691 0 obj <<
+/D [9061 0 R /XYZ 90 202.278 null]
+>> endobj
+9066 0 obj <<
+/D [9061 0 R /XYZ 90 188.417 null]
+>> endobj
+9060 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F100 1390 0 R /F72 404 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9070 0 obj <<
+/Length 1556      
+/Filter /FlateDecode
+>>
+stream
+x��Y�n�F}�W𩥀r��]m��I��I�&*� 	FZ[D%R%����Β˫(�i�"(������\��ػ�����|2{���PR��/�{J2����{��8�c�_L	��l-.���f�6�,Z��?fQ�?;sE
m6��k��^���"��pQL?̟Ϟ�1HX
9�S�����>P���wӀ
+�?�����Z�P�z͏G�6f�7Q�W��Ӑ�f��D��˼�1���^@
+�
�ksiʍ�dY�q���N%��ޞ<�O����=R��+D���ɻ�[���
F,��M)��8ep�xo&�M�K>�2
"����DD�ʸ�D�5���ҏ�"��C#�Cؤ���,�KgOa{�
6Row�6U��}^�mu�^V�e��E�I�\���[�vYzo!�+�d�$k��(ΦB�h�R/�i�%HA͔�=�]�]���%D�"/Vgg�\�ɲ4;%U�
L�N��o�j�+F�-W��$���z�X�[���
R�Z0S"|أY僘m#��K4e�H
�|-�`c
�tJ@!�R
�Fഃ
�"�С��̠5��f�Z\!ś/�;�@�N�)�{u�fg���Cj�l��.-S�`P�q��6P��J��W-��Dh$���}@���>�
iAN����
P���X`
+��T?�M�/�t���a��B�H
��|l�]�Ӥ�ûBiJk�wq����P��v���q�a��"C�oh}(�P9(}t
o�Ɗ:Pı��'3Kہ�%ع�	ށ�e���QHR> ��J��dq1�����jD[�]�NC)v(
��/C+�޴B�B^	����h%��R
ݾ¶:�~u�6z�
D���'���g�#������N8��C�j$ŀP0����(%����3�|`�F:d$7���a%�ދ`�ƶ���D0E\5��ߍEB��Y�W�P��6.���cD��-]-���?�%�J�.qބ��Wo翾�x��g�#>�Bg\<F���s�r>�>�ņ��{��왕�r�y�����s'����aI���4�
���. ��%���$)�D�a�@��ȯ��Kk���x�u�o�inj�6w%,����V�q�I�|k���.qӞ��;�wf�ǘ�HYɄ��,
�V at ec8�-�N5
nQ�H�&
+�fX��F��Z�{)��ޢ��1m�<y�z�/;
I݈[\�%�@��������,��~[�,���@��N�ށ����~�O����t)U��ƙ��c^�痙�}st�@���_t��� 

���]�����H��w8p�f��c}�s
Bi�χ]_����ěMuV�wK-���dI���?~�n#;}��d���1}����a�<�=��>%�_�:2³���H��?i(?q�$��Ο�ɱ��(y��H�wϟ���?�~b�`���~a/��C�[ ��Z���H���
�9���e]�ե������d���
+��_F�u�����V�lC�07
�1�m��ן^}�ˤ���[	Īa�uQ��f������u�2��n3;����WE�$]����6�L=��M��x8Z@��?���
+endstream
+endobj
+9069 0 obj <<
+/Type /Page
+/Contents 9070 0 R
+/Resources 9068 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8983 0 R
+/Annots [ 9067 0 R ]
+>> endobj
+9067 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9071 0 obj <<
+/D [9069 0 R /XYZ 90 757.935 null]
+>> endobj
+8692 0 obj <<
+/D [9069 0 R /XYZ 90 658.21 null]
+>> endobj
+9072 0 obj <<
+/D [9069 0 R /XYZ 90 644.344 null]
+>> endobj
+8693 0 obj <<
+/D [9069 0 R /XYZ 90 445.778 null]
+>> endobj
+9073 0 obj <<
+/D [9069 0 R /XYZ 90 431.912 null]
+>> endobj
+8694 0 obj <<
+/D [9069 0 R /XYZ 90 181.047 null]
+>> endobj
+9074 0 obj <<
+/D [9069 0 R /XYZ 90 167.181 null]
+>> endobj
+9068 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F104 2229 0 R /F123 2840 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9078 0 obj <<
+/Length 1695      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~����f5û�`+���k����m(6c
�%WR����P���/���Þ(���9߹}�����l�h6:y�c/@��қ]y�|�6w
���`��dJ0���	��0[����i|�ҋ,�x]favwz�6Q�wo��z��ل�q
+7������SBZRN
8�S������	t�,�v<&&S*��1uo�r��@T�<�!�>�,��J�M:��M
�<�M�ʛ��y��ti�N�v�
+aXv"�
����l�iD`{�����*��ף�����
F,P�M�k�q�`����?G��*��u�>���3"��&+aw8]e��-'v|���mt�LTڂ�XI �#�)jD����7�4)�(������&
+Y�Y�=
[�@�$Ֆ��H����4���ڝ~�Js]

+N�"ƷQqg��v���fw̵^��b�Ow�o�<��1�-��	�衾s����n�6�8���jTj�m����(��Tb5~~5$T!	�v�PHU*�Q>$
#B�s{����W�/���|�n@�bH�z;D��
"�A�X�`�Ҕ ���7� kQ�ۜ��"���5��8S� _��yo,q����C�&i�3��43�ж��&JV���LQ��7��].��N�(u��^������^��
+� ���q�
u�2\�Bgy��F
�nd�8 �L�amZ��K��ٶ�ΠԎ�n=� P��j�­��M�H���*<u�O	�jK�"z��<��[�����:��Dql���o������,��u�YO��M��
+��΋��i��e���Y�f������X��*�7�� ����4!tC60!;T�$
+��i��j��������zmo ˭�6j������
)q����@��� IF`��A�� ���&E�c�����\�>��#��������
+��6�h
+!@�[�fdËC��(����_���\�
~�[@�����²t�+ޥc�8:�v�1� �����ݧ���X`d�d�V/1M�J6~�E
{��ӯ����z��2�Hn
0^"���rVW�
� $+��O�y�̯�`|-� i(�P���T�V�v��Tz�n_T���}��Q�8�k�4�]���&��Q�q�:L��2�y
+I���	�
����s[T��N���I�lK?�%�f�l9�
+H����˽}�bj��.m��+3�'-3�G1��y-Z&i���>�ֶ/����a�>�����^�>��}�_�v
X���1?��k��1
���w���̲ E$��)�ϓ�|����e����ej��_6/��؎O�n���r�@8n�A���BJ�.({$G���L'5
��G��P����C���?�u
+��9H���*P
�L�i�C���6�8�
r���x�a��Q�ؗ�$)��'
r �)�8�9rp]tY��t���;����[��1���Pe�n&� ƿ+����K�p��G\y��M�s���.�	�l�2՟�1"{�eD�Ft�1AKF�s_�B�̵BѬ
3"N�8��x����f
#2�
FdVk�((V�!H=&{�]N�c�?$��u�?��߁a@��UW�^Ĝ�L�v�U㶷�{ۛ�r��<b��U�\���iy��(�ֺ`D�)��¼�ڙh��ǫ�~�^j�%���w�UQlNONnnn�<G�I��PT�l6��v$��@^���{W�K�5�AU�`�l���u�
+endstream
+endobj
+9077 0 obj <<
+/Type /Page
+/Contents 9078 0 R
+/Resources 9076 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9082 0 R
+/Annots [ 9075 0 R ]
+>> endobj
+9075 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9079 0 obj <<
+/D [9077 0 R /XYZ 90 757.935 null]
+>> endobj
+8695 0 obj <<
+/D [9077 0 R /XYZ 90 568.697 null]
+>> endobj
+9080 0 obj <<
+/D [9077 0 R /XYZ 90 554.891 null]
+>> endobj
+8696 0 obj <<
+/D [9077 0 R /XYZ 90 329.069 null]
+>> endobj
+9081 0 obj <<
+/D [9077 0 R /XYZ 90 315.263 null]
+>> endobj
+8697 0 obj <<
+/D [9077 0 R /XYZ 90 89.441 null]
+>> endobj
+9076 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F72 404 0 R /F100 1390 0 R /F123 2840 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9086 0 obj <<
+/Length 1495      
+/Filter /FlateDecode
+>>
+stream
+x��Y�n�F}�W𩥀h�.w�hԱS4M7V�i ���&*�,E���w�]���%��4E������93s at b���ޏ�������B*��7���D�.�f�{�`��`���!�~�/����b?��o�,�&/��<����vBG��z�F�VS=���C"�n����t�NS�S����ҳ	l�L�3Nɓ�r�R{�Ʊm��R�^�tˮͱ���riv��"�G�.�y#���F� �m`��+]9����`�0��[2��ǃ�������#Ux����t1x�{3x��È)��V�^@�s�b�� B�Bށ
+QD�ū�x�
�;�.����L'�BC�� �1�!�
�͗t�KRDH*�*�Yc�v� (,>ݫ
+e��$�ن��^�M�1WRR��g�&���'k:VTY�(3YS^��QAQ�zQx�/���0����
�ə�i��ON'7Q�“b�$��f at e=��BR�=x�q���Ma(��)��'�mR�I�g)�T���zb��cW7��~���JS���K�(�Ky�kR�_�M��~u��췟��
�I�°�` �=A�ҥ��8�lj�`fBa��� p=�����T
NV�|f�hd�,�ч�tU_\�&���qY� Uو!$�x����"��8���ӞW��-x�le�Sd�y|�
g�ɍ���ZS�s�Y4���x��e�&}o����m��l#B� 
c	׭(P�
+�/{��}6�+��*دlQ��Β~D�`AS��N��e��\/uR���{�
\���Ҿ�,�! [l�`#I�%#�a$�rd��B��{>��C��6�b�g|�����F%�L����n��@�D at T���bv|<��uq3�y��|��A�h}��!��m�9��Wf�H����OOU�ӑ3,��ޝ2�	�	�Tk�����]�X-�
�c�����f�A�ݸ�9�ۈ)2hZ�H��"_���UC�W5��j�Qb�P�Z
�_O��:M��vQ�
+.�x�)�[pcr�:{�UQ��f�t�E at t���1<D
I�O��E�"Y�!iE{�(�eCM���?�8J��[
mu��h�t�S#1$���/\.�KR�d��M)���Pr��"��W��H���H酨����:�p�ѭ/���I�
�X�I�����a�K��(�O��
�P+�@ 9?ᆈ�n
"�X#���]�{�(Q=��-J�`��[n	oe�Y�=[
+ ��p� 2������u�W,6D_Y�B�Np�'}ǒq�P�-� �1�
e}�`	6�!� �!�6}���i\8��	��>�V�F���
q9|,����#V٭��̮ʠ�Ci����q�Őh1^;L��޶2d��T�=M���G��W�E�z���P�0������[�e�ib�[p�
l�z^ZY�-{[�-sk���y
��vȹo�~%�Zn��m��[�	l#%_�x��ںh��ë�~
T��� 7nQ�)�������M�h��Y���(��G�EHg�4��
+$Ke��]+gxh8r/�K��
+endstream
+endobj
+9085 0 obj <<
+/Type /Page
+/Contents 9086 0 R
+/Resources 9084 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9082 0 R
+/Annots [ 9083 0 R ]
+>> endobj
+9083 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9087 0 obj <<
+/D [9085 0 R /XYZ 90 757.935 null]
+>> endobj
+9088 0 obj <<
+/D [9085 0 R /XYZ 90 733.028 null]
+>> endobj
+8698 0 obj <<
+/D [9085 0 R /XYZ 90 500.339 null]
+>> endobj
+9089 0 obj <<
+/D [9085 0 R /XYZ 90 485.768 null]
+>> endobj
+8699 0 obj <<
+/D [9085 0 R /XYZ 90 245.517 null]
+>> endobj
+9090 0 obj <<
+/D [9085 0 R /XYZ 90 230.947 null]
+>> endobj
+9084 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F123 2840 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9094 0 obj <<
+/Length 1363      
+/Filter /FlateDecode
+>>
+stream
+x��Y�o�6~�_��Mf��E�
�&���l/]`�6�h�%O����Q�$K��k�nȋ-Q���#!����������e�=���һ��4�B��wK�O0�$����G�*�]�Y�pg�y4{��(8?w�8J�����,�rv�D�ܔ���˳KBv�!��9�S��}=���@�nf� �S*�����7#f9CZ��Xm��)����v
h��:�Jc_󦌅HH�M	AZ8`ޘ[Sf�E=�c�0<v&YH����z����(�H/U�[�&�n����
FL+o[�Zy�2�O���_'�h�(�'�N�s�zmVsp�
+�r�.�8K
n�b�2iUC�s�M)G��!���Ac ���4;�����]��6i�2�����ߦQ��C�=�x�p,�D1$;��\���1ϲ�6w���u���f��ߡ������E/U���u�3
���:���e��<.f˸�3��rv[{��x
�,p0��"K��A),����'
+!N�<�-��7��MaМ͌�q�.(�ڡ%k���g��wq�ĩ��g��D�+��O����r���s��f���2ߘ�VǤ����F鲾��䡾�G���<�ۂ^�
�?8Ҫ]�����n�����T��YQ��67Qn�W�,>�ƅjjU�0� �S�8��OrG�fm�������B!�`Kw
Q�K�4�ؿ��x9������ŦҴ���.�*�m�ONw���|8 �~���z�e
���4N-� %�Ġ�v��j�C�j�Uu�0�Ya�Ta��U
�
P`B>Ba*^̣8�vW������>+��*g��1E�w�c1(��

��t<ePx
+�zP�eخ1`�'e��}Vnq� 
��g\숔M�q+���KHa�!?���� �Q
�b�(�4�_p��d$�J����XG�!Ǻ�hR���P�\
S����9{&�'%r1�,+wT���!"�J}�ϳM�,�S�,�g6�{�c�U�� 
�3�-�CDR峋��]tu>�+ז0�l�ھ�P”�/�5�@�~�"�!rl	�9U&�*�����s�J�VlE�1� 6�HR��l��ʔwY�+�
)u_[�v��u	597I�Ձ'8LKۯH��i�yT���_=z'��w���Se d���
�'6ш�<,.┸���R52��=%,U>
˳�|Ya�6;�nv�o���+���g��b�c��T_[�	]ɔ��"4�e[VΗ+[���mC���c������B���^G�&J�kKquy�
eaD����
�o�q!�q��5W�L*p;o���m���r}~v��nѢ@�4^�(.����l��v��B���m�'��&q
+���K�
�� =|

+endstream
+endobj
+9093 0 obj <<
+/Type /Page
+/Contents 9094 0 R
+/Resources 9092 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9082 0 R
+/Annots [ 9091 0 R ]
+>> endobj
+9091 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9095 0 obj <<
+/D [9093 0 R /XYZ 90 757.935 null]
+>> endobj
+9096 0 obj <<
+/D [9093 0 R /XYZ 90 733.028 null]
+>> endobj
+8798 0 obj <<
+/D [9093 0 R /XYZ 90 716.221 null]
+>> endobj
+9097 0 obj <<
+/D [9093 0 R /XYZ 90 716.221 null]
+>> endobj
+8799 0 obj <<
+/D [9093 0 R /XYZ 90 577.115 null]
+>> endobj
+9098 0 obj <<
+/D [9093 0 R /XYZ 90 562.725 null]
+>> endobj
+8800 0 obj <<
+/D [9093 0 R /XYZ 90 425.656 null]
+>> endobj
+9099 0 obj <<
+/D [9093 0 R /XYZ 90 411.266 null]
+>> endobj
+8801 0 obj <<
+/D [9093 0 R /XYZ 90 257.549 null]
+>> endobj
+9100 0 obj <<
+/D [9093 0 R /XYZ 90 243.159 null]
+>> endobj
+8802 0 obj <<
+/D [9093 0 R /XYZ 90 89.441 null]
+>> endobj
+9092 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9104 0 obj <<
+/Length 1714      
+/Filter /FlateDecode
+>>
+stream
+x��Y�s�4�_�'pf��o[���c8`�ܕ����$Jcp�`;�+=+K������
L_ZٖV��]�vW�޵�����.'g/�)�$����S�
$C�<-��>����`���)�~�o���)�~�ܮ�2��~��y�ߞ��	e
%���k��-���"����࡜��|u���Ά4��u����Sz:���z�3��tF��Q7x="�3����|{@j���ITV��TQ_o�ITj�̛1 !CoFR��Z�te�Nv
�!��ىd5�'�/'N��
�����������[��W
FL��M5k�q��⽙�2�G]E<):�B
	箲c� ���~��
+xyy��i�� PH���A?TÏ�����㘣HȐlQ;�)!�z�<�+�P<ά� ffԹ́�X%"M�
��d?V�6V'�*���1�7�z���&�o� UF��
<�I
��,-Jg<DFH������6r�"�R�%�pz�^����m�I��W�
+�hs�2�z�1]�:-���5V��U:&�1D){���h��ø: q�Gr�h��fD�q*n�������Gg/ �;�8���V�I���i��Ӯ�
a��R�;="�J�H�x��K;���֎�S��nW
�i
�lD
�T���\���Zv�4+� X��m5��#�(����n2�v�R;sWy�q�̳)��G;���r�@:j�4T ;Ö��7�x�v�&���e-�B��)�n !�kw�Ӈ)~���Ǹ�#m�ݕz��4T�A�΀���H�W:j�.u^�V�R�����#z�H���,bBy—�mIERv���@L�T������5.kh��E��
�*К�����x�끭� u��(y���P��=���F�Q�9���i�q�~v3� �0�
2���R��&N?���[��v�yX�M�
�.Q�~�Q��\G�u
�5��t"Pa
&�]�1
�ԑ���\�m	��GX��S���s0���Q/����/-������<3x�8��L��EL����&U�Da 'gu7��Ȏ�xCE�85���<Ѩ�71T��x�0�KX��j�#P�B�zYOMFU���ɂ���]p���Y����oG����"|�ܹ/����VQR�
q�#C>4'��+k�<P~H�p눆�G�:
Oֲa�cZ��33}�$�H!�ɡ�kI�	�D�\�ܥe�3��F�ؙ[�"j�iʧN����:M���4eI�a���N�����Y���
����{����ò�
�����=l��j`����7k�뱢:��op�*Җ�_��M�<���Ҋ��B���?�B?uПy=�r"�N�z�d��������
���G� `��zY�j�J�&N����Dp>��Vļ����N.�-
„C,%�'d��}���Zcp�+pME��/`��<N�
�c�j	E
~G!��(>�
E�B�
��!�X��"�.��p��pN[z
��}�UQfM� [...]
<��
S��{�X_$�Gwc`~-t��T�U�?G�.J������ۢj#bz4d*s��ڙh��ëG?��jk�6
4��.�������
Zh���
���v���SjG��m���K�MV�!N��J�{��
Aራ
+endstream
+endobj
+9103 0 obj <<
+/Type /Page
+/Contents 9104 0 R
+/Resources 9102 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9082 0 R
+/Annots [ 9101 0 R ]
+>> endobj
+9101 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9105 0 obj <<
+/D [9103 0 R /XYZ 90 757.935 null]
+>> endobj
+9106 0 obj <<
+/D [9103 0 R /XYZ 90 733.028 null]
+>> endobj
+8803 0 obj <<
+/D [9103 0 R /XYZ 211.842 456.603 null]
+>> endobj
+9107 0 obj <<
+/D [9103 0 R /XYZ 90 441.878 null]
+>> endobj
+8804 0 obj <<
+/D [9103 0 R /XYZ 216.764 132.107 null]
+>> endobj
+9102 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9111 0 obj <<
+/Length 1906      
+/Filter /FlateDecode
+>>
+stream
+x��Yے��}߯�SBV��s�lR~�%�"'U���<H�-,9�� �Z���=��� ���R��8���t��>g��O���������‘AFRݮ#�#%��j}��8�/�x�nN�,.��ݻ9ų<}��U��-�/����&�P%q�>޽���Ү��s�g9\T�n�^�!�7!U0���N=�_�+���L��+���
+<{E����Yΐ1���#V�i�K���n���v�ƕu�E
�RG
B�!0����
��ҿDZF
�L1w������������ZD��Շ�p���o#����C��6��o�x��+|2U�'E/U�!�U�1���0;s�oC^=�lo-HSH��u��f��v

=�J�
�.jG2%�j޸��ԛ;V�
�6��
i
A�M�J�OؙZ5Z
j�q�k�q6]�I�NE`����m�%���*�b�
<_Hnf�<+��x�
m�k�l\ܽ�y�
�,�<��8���ƒ�wk��3) ���Q�
�6Sn�1���f�	��U��O��]6i� ��o7��4���fT[�l2�\�y�N�~;a C ��0��&��M��(��w�
�B��66�78S틬
�С7��q�����I%"��a���ʘ����,}t#�
�_�t_
��l�ag~@�5i��$�17�IJ?{�W~ HU?�k�sH���R<��0�}��V6�w]�[?ϽM�9�� �X�шz��C3j�q�H
T���a�,7~��˦�H�m�jc}�$�� �����nq�o��M�mw�ʮP݅�62.U�+#. ��dԮlQ��
7�Ha��t���G�Pޢ�m���)?�s"f`�E*�W���>��`��_����eվ{�U������Z�ZP�� �D �{�w2D
+�B����<D)_�՞��s.�ټ����']�H(r���f9d�
8��뇱��2d�#-�y��
��)��gú,l��4U�d%F��
 �Sd��2��
�ݬ�'�^�]��;�t�SV��X�U�i����OP�Yu�0
$�vuQx�
Aj��0I1y
�{9j{�p�K���L��OV4����
 -�́l\%��E
��@gY���9��To��-����
+�a�c�7
�
�b² ��;mgZ�M�]�
���.|g�o�����O2
X�i9���H�Ƴ5jf=�$�����
P?ݵ�	;HP1��gݜvhᴡ�<h�9�	xź ����u�l����_��
��:@Čԡ������C���CՏ�Iu:�czcw̾�Hs}V
�
+�^d\�U�`
��:<fs�0 �!��|ʺ�{��/�۬���:���IV
�7�ܳ��h
–<Cx���
gS=t�ٔ1Ax� OM
O�r�_����(��^x ����9��>OJ&��t'\��n�t��-3
Q��$� #����<����M
܋�a��r�9
�'�
����z������ �2�b}�Y���	�
�4�
m�>
���%/�^�~���~�#��"�K~�w
��At��x"�&����QQ5�*��΃;�����gK,�]�H1 h����z��Æ��yЗ5
��O���
*��*7F��O�Dۑ��pR5�:{��2J��r�O2{99�[��3a��ȅ�:v��3r�C����2�'
28թ.� fK��t��
'�@ʜ=dp���t��H�F��F��:v� d����3i
��
1����8Q8b� �g��f�O�35d�LD�F҃����zZc@�PJ?������ť������x�g8�!�<2
�
)5�w�J�S�p�
�ˠ���?K[�q.�,P˿��>N�ة���Ö�A	�����x���a�~]�����1w��۸+�MU�n��

вD�,�(��w����zV mp�p�m^��nn�^v�_4b�
+endstream
+endobj
+9110 0 obj <<
+/Type /Page
+/Contents 9111 0 R
+/Resources 9109 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9082 0 R
+/Annots [ 9108 0 R ]
+>> endobj
+9108 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9112 0 obj <<
+/D [9110 0 R /XYZ 90 757.935 null]
+>> endobj
+9113 0 obj <<
+/D [9110 0 R /XYZ 90 733.028 null]
+>> endobj
+8805 0 obj <<
+/D [9110 0 R /XYZ 211.842 458.605 null]
+>> endobj
+9114 0 obj <<
+/D [9110 0 R /XYZ 90 443.88 null]
+>> endobj
+8806 0 obj <<
+/D [9110 0 R /XYZ 216.764 134.11 null]
+>> endobj
+9109 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9118 0 obj <<
+/Length 1452      
+/Filter /FlateDecode
+>>
+stream
+x��Y�n�6}�W詵���E�v��H3�S����ʒ+�I����͑��� �d����s�=������ޯ�_����
+{I�7��
��dw�w9$q2���|D��ϖ��|D�0���0�����u�g���
�#?����0���`v���
�p������>�Z�*X�p�\�G;��@��F�'?��T��{�..z��
#����g�z�w��^�٦#C��r�yX��3������p�\�7a��0��q
k���M�/���Z�GJx�BT
o�
\^a/��O
F�h�
��8e�{���TQ O�V��ۥ+omb
�a=vs��!Ϸ�0��h̨��_@�q��I[�j��/QD��`�¤
q���������B�9�.O��*V�69BU�w����*\�RU �"P$CW&�y��~�|�d�7x4��}�;(���](
�gB4"B
+O�����wn� ��۞9
��^`"6��bB��$�M�.�$���ʎ��n�DXӠ�b�"�
�b�퉁���(�6aϤV�5�����"M⭽��B��v�\�I��n荝
T��E���z"���:�|���"#,�/�*�,
�U%_F�Y�H՞|۳� �봣Rb+����4�!_U*��y�ʣ�& [...]
AKmgXUƦ��h�w���A0+%9�(�����
�u5�v�Oߵ�	��
+I�`k��Oz���XWSr�?&��t�~�uˁl���N�ɠ�����d���}�L�,2NM�i�J��
�W�䏗V�L�J�[����K+=QZ�1i�ߤ����&�c����,�H+���^t����d����(_tuV�Jg���,��~�fu��ux�m��U�*;�An�)3�k��@L���_�Ŭ+���PZy�=L��w��^�m?cM{ ��p�]���:t��nҬ
h�쇷Jᙔp�S��f^�fj(v?�H
X�S�˔�c ��i

+�~����.��ĢTow[ɷ�u:mo���GB
�9�?����.�
+*6f10�P!�Y(��a�h���W]�6(�m�%�"���"�W�����;4_�M�2�g�U|v�?�Y"���a�V��h\�����?V��
+endstream
+endobj
+9117 0 obj <<
+/Type /Page
+/Contents 9118 0 R
+/Resources 9116 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9082 0 R
+/Annots [ 9115 0 R ]
+>> endobj
+9115 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9119 0 obj <<
+/D [9117 0 R /XYZ 90 757.935 null]
+>> endobj
+9120 0 obj <<
+/D [9117 0 R /XYZ 90 733.028 null]
+>> endobj
+8807 0 obj <<
+/D [9117 0 R /XYZ 90 599.458 null]
+>> endobj
+9121 0 obj <<
+/D [9117 0 R /XYZ 90 584.887 null]
+>> endobj
+8808 0 obj <<
+/D [9117 0 R /XYZ 90 434.48 null]
+>> endobj
+9122 0 obj <<
+/D [9117 0 R /XYZ 90 419.91 null]
+>> endobj
+8852 0 obj <<
+/D [9117 0 R /XYZ 90 282.837 null]
+>> endobj
+9123 0 obj <<
+/D [9117 0 R /XYZ 90 268.267 null]
+>> endobj
+8853 0 obj <<
+/D [9117 0 R /XYZ 90 89.515 null]
+>> endobj
+9116 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9127 0 obj <<
+/Length 1270      
+/Filter /FlateDecode
+>>
+stream
+x��X[o�F~���5Rυ�YU�v/�v[)Mܧ4��!	��]�q��{`0_��v�*O00�����`���ί�_&��G�
���™�9;R0��V�\	F>q=�1
^��tL/\�����!
+�`�[|��v<�
�8�Ϸ��(\Ϣpz��D
���ݛɧ�GBv�V�>l�\�Gӥ�'�e�����z���{j_.{��ҚWc~�3k��y�ef����0Z��A
�
�1��P�G��s�E�aQ23�|���vJ&y�y�a2�g@�+vH	�/Uܙ-�7�	��'#���){-
�2xΝ��|�U�|�U�!¬��
+:�(��<�Dү1Ϸ�(	 $%x�<
������+{�^O�숫8�:<$[ơ�q'=�:��Z�Y���+�0#?�W�T��
[�/�|�� z��C�� 
��er��KzT��_�c��
+�O�[(E��6�vG鿳[»+
+ *�Ւ��>S}�TMyX�T���R�6�:N�qݘ�0MG� ��
0YKf�
�66�-W�綦�����6�����.��1���߯�ɗ�
�b'i��^�z��Vu��!�zւ�դ��LQ�zc�
	��
+��΢U
��[C�)ڮ$
+I
��p ���8N\�y
N��~������־5l�Fq�.]ʇ��x ������L ם�$<��\�kO�z�ڈc�"��8�-� �o���B�
�S	��l�e�o�����A[=�Ko6���Pm_6VM66� ��&�t����u���l�f��L;�gfw�?D'��"P!��%�r��bۓ_�@�_=%c��0)@)�XC|�Q�̼\��t�}	���I���[�^g�͗w˴�i��[ˊ���=G���E�z�
������
@S�y�_p���|�򿡉
ͭ�h�������(���4F�n�O�^��^m3`��!�B��7����V�Ez�ڐ��Fq���n�͉�
-�� �􄬏��}�؇�j�
�;�S��4
�#I_F�HW���:T8�
աl�]]MG���}r��:��z�g/��Y�C}$��ң:�#N�
~Lzԛ�|��Pս)�M��w�!B=Cz�u�<����
v
+�~
:t�9�4�B�����{�闝�
�P�U�z�]^]�RE.g�^]s]���
��)۬��4m�� ���Y��u07��
��@� ��� ��r=ļ�"k���o�z�<(�kvKE���C��ƣ�f�A�
��x��8�V��S�ؙ�~�H}
[,�4
'�q���� �#Q�
+endstream
+endobj
+9126 0 obj <<
+/Type /Page
+/Contents 9127 0 R
+/Resources 9125 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9133 0 R
+/Annots [ 9124 0 R ]
+>> endobj
+9124 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9128 0 obj <<
+/D [9126 0 R /XYZ 90 757.935 null]
+>> endobj
+9129 0 obj <<
+/D [9126 0 R /XYZ 90 733.028 null]
+>> endobj
+8854 0 obj <<
+/D [9126 0 R /XYZ 90 599.458 null]
+>> endobj
+9130 0 obj <<
+/D [9126 0 R /XYZ 90 584.887 null]
+>> endobj
+8855 0 obj <<
+/D [9126 0 R /XYZ 90 402.111 null]
+>> endobj
+9131 0 obj <<
+/D [9126 0 R /XYZ 90 387.541 null]
+>> endobj
+8856 0 obj <<
+/D [9126 0 R /XYZ 90 204.764 null]
+>> endobj
+9132 0 obj <<
+/D [9126 0 R /XYZ 90 190.194 null]
+>> endobj
+9125 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9137 0 obj <<
+/Length 1427      
+/Filter /FlateDecode
+>>
+stream
+x��X[��6~ϯ��q|���R��J�V����t1�̠H��4��lHH2��j�j���>��}�9`���Ώ���[�� �
+g�r�H��G�s��|�M	�ؽ�v�b
.�<��<����?'�EX��s��J�4�-��x�xyUxD�9
*�����-!�����Ӝ��Y2�܁��]�|�M)��kj_ޏ��
+�������WiX�F��
��כ4�t�͙2&ʙ�n
�^�t���"���
+a�lE2)��ɛ��	�Y�Ƽ�DTq'ZOn>`'��wF,P�c�j����3u�'�N�u>�2 �}GR�������ZW�(�{�
��=�8 %k-��
��ނ~�-T�V�Ž6�����v�&�r�
�����*/�K����fz��
+�9�v�
+$q`ܜ���Ho�$�.���QV�|�d��݇0M�eX�m�˜�?�(�_�
��cf4JV&�������	�n���L�_�խ��Ҭ

��q�(��9D %e���r_�wmFNa='�{	�&Y��7a�ܦ��єR	)�)�F���b�H�
U/��R�ɓ  ����v�A`�E�40�
+�?�� !�~���A��fg`�wv��,Ob#�>N
�P��x10b��E�I8H��������Nu;}��:e��C��0��
�]�µ� }�t��(A��^u�׻b�D�W�r����?k�����g����� �PH �H
���q
[G
�b$�0F��K�
��#b����#h#N�&
+c`�5�u/!	r9G�
a�e���t���EuV�m

+
y��M >�AZ[|�� �
B��
���!>�}~	�
u
�"�^���	bk�fIvw&�:��~��YZ�
\�����f\y�5a�(���v�:���w�o�1) $����
�n7���6T)W��^�0�ַ���~,t�-�Ƥ4sUw��23�
+j1���
��M�2\�ԦP��
+"�`gs� ? ����39���x���?����g���_F9�C�^�� �(a�Uu�A�����+�6�Z�� ,b�.�궞g�@"B�>�
U�Cz'���c:?�$Y�d��x!�#�l
��뀰��M�"f�����!���
<@ꩯ=��ʅ>��� Z�N�9��{���8]M���x��G��3�DA���|����P
���`MQ�c�{�/�󹹇�l�_
+f�Kx9�_2./�
�[�D�Ǥ��c"�[&�d�DA
�����
[��J}�lNu�
+����f�7n`D~
+�9N7��L����L�?�pT��1ej�֑<䍫�Ȯ�ی2C�:f .(��8w��	�mS�s{�(�=�U�$F��ဠ�̻�ڪh���i�~�4�{�m�O`�E�}Um����#�J�͒M��j�٤�C��I��'��~�����
&�aMk���!�b
+endstream
+endobj
+9136 0 obj <<
+/Type /Page
+/Contents 9137 0 R
+/Resources 9135 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9133 0 R
+/Annots [ 9134 0 R ]
+>> endobj
+9134 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9138 0 obj <<
+/D [9136 0 R /XYZ 90 757.935 null]
+>> endobj
+8857 0 obj <<
+/D [9136 0 R /XYZ 90 650.388 null]
+>> endobj
+9139 0 obj <<
+/D [9136 0 R /XYZ 90 635.817 null]
+>> endobj
+8858 0 obj <<
+/D [9136 0 R /XYZ 90 395.482 null]
+>> endobj
+9140 0 obj <<
+/D [9136 0 R /XYZ 90 380.911 null]
+>> endobj
+8859 0 obj <<
+/D [9136 0 R /XYZ 90 198.135 null]
+>> endobj
+9141 0 obj <<
+/D [9136 0 R /XYZ 90 183.564 null]
+>> endobj
+9135 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9148 0 obj <<
+/Length 1660      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��6~ϯ�M����
U�ڽI�V��Lۇ�*�g�@
+d���
cC !���V��'
1���}��=z��0��v4{ϱ'�
i��>x{<d��ػ�|2����jB�XK���P<��퓎
��)�/T���݆*Qi�]\�x
�xqUL��pSM>�~��'�s �p��A���o햞N�e���|3�� ��R��
�3$eм����oRU�V��Dұ^�RUi�7e�� ޔ$�k��k�t�}>��N$��<
��
�5"�{�v���-Gw����
FL
+oS�Zz>epM���/#�B���LH���q"��p	�ԕ.�Z�}A�0��@
K0�XA������=��y��!���O��/ʳ�*T�UΡUn��núԱ]=�]��i��:��ޑ=[�
B @KJ��
���H����<C�.�e��I6���Y�I�P���hs�~ Iw����MfMJ
l�A(;YIkLf./iw�J������
��1i6�,
�CB$x{X4$�����-�p���N�,ʗ+U%��F54���2w�D9�`���8�N9��)$/�'��#��_mW:��E9(�W����( 
���!�P9dg0#h��lj,Ob+�8N-�P&P �b1$�^�$ ��9�
���8� ���rB/ ���h��v ��D��%H@
+���ݿ�ٖ�+6
�r��jWrDh���}���G��ğ��Z�D�܁��q�@�!����� ��@�Q�r(�����(jr"��������J8�R�b�:D�.&r�I��O*��
�TOʽ�T���BG��<=�3��L����%�C^�g.H��sx�h\(�3�v�F���0 �&�Y�=�L5�
+�����,��4��e
k{�R
+V�r���KK�+6V���r�5��<�D���9�\G�.ˇu�T,�U[�|T��BW�½����'�U�kA
�D����r�
t�'�P����+�C� ��G� �� Һ
0W 5&�����l�
������ڵ�m`	�Q��嗙�|
>��M"ܛ��fn
+���Gdg���Z�6R��3L�F�����T�((�!���!;�?CU&�Q��
O zq�N�.��$ӟ�`I�(�n�5m�r��ti��
��3��n���0���
�X��H�0�>�P�v�C�M`Ƽ���b6G��
�&����.WRɚ��k�R�)�vh<a
@~�k�Q�cG���3�O�A���֍�6�t�̡C�
^P�/����tB�BT�t)�)Sb�N��!��D��Nȅ�G����&IӽA{W�g۝����!���y��釿��
g'����J�'q�~�;�s�
�Z��P��Q�}�aG
+��ԑ��#Yz!��HV�O��a�uΨwۼ��m���թ��|̑�:����^�|�T�򥒜&_
+w�QGȗ!"��
L�>��c[�5�ֳ�3�^�uT�v����Q
C��h��?��	�3E�I��;.6L �
�k��v�����/��m�?����K������(CtL��:YB��I&�${�����Z���	ԣ���U�V��M�>Q�-�,�!�d��F7�m���kV?�j��%�"�ۦ���V��l�٠�D�,Y(�f�U:;$׎4��]��˼ʓ

.��9p�?�+{�
+endstream
+endobj
+9147 0 obj <<
+/Type /Page
+/Contents 9148 0 R
+/Resources 9146 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9133 0 R
+/Annots [ 9142 0 R 9143 0 R 9145 0 R ]
+>> endobj
+9142 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.4 303.172 212.124 314.076]
+/Subtype /Link
+/A << /S /GoTo /D (main_Cylindrification) >>
+>> endobj
+9143 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.379 98.244 210.103 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (main_Cylindrification) >>
+>> endobj
+9145 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9149 0 obj <<
+/D [9147 0 R /XYZ 90 757.935 null]
+>> endobj
+8860 0 obj <<
+/D [9147 0 R /XYZ 90 653.902 null]
+>> endobj
+9150 0 obj <<
+/D [9147 0 R /XYZ 90 639.465 null]
+>> endobj
+8861 0 obj <<
+/D [9147 0 R /XYZ 90 402.112 null]
+>> endobj
+9151 0 obj <<
+/D [9147 0 R /XYZ 90 387.676 null]
+>> endobj
+8862 0 obj <<
+/D [9147 0 R /XYZ 90 197.184 null]
+>> endobj
+9152 0 obj <<
+/D [9147 0 R /XYZ 90 182.748 null]
+>> endobj
+9146 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9156 0 obj <<
+/Length 1598      
+/Filter /FlateDecode
+>>
+stream
+x��[o�6���)��@͐�A1`[/X�Y��%+
Ţm��Ir�|�
��d�V�6�m�St��s��H*8�p�r�����āFZP\��)B��]
\	F���c<<<��E49Q<��7&Σɯ�U
巧��A�D�����ī��'g���a7���ū��ltH%�
���k�����n�<�)��g�_��1�B�5��C�զ۟�QQ8k#M�f��G��?
�a(*�4��973SM̤S׎a�0��&C�������Oq@*�2����t1�|����
+0
+�
+�U�E�h������C�{C�4˜�
+Ds��HD
S���Ʊm
�;�PHb
�����̻h��'/`��������ōq.,L�.������]�,LZ$Y�n˛ȷ]'󹻺�MW�4K�2����hk

�F��`LCJ���fYBO8��(���$
1
��'�$ʯW0��.�h�4m}�g#ʇ�j�r��\*B�7���&U��8��J7� �Hݦ�I
+צ
��l%��q�8.�Q�\͍{�N�w����
��>�������'���ApY5�sD�
K"kn��Av������!Y�9�5��!�e\op���9AL4)V'��̡ڛ��=��r���P��������+\�Q�[�U�;eJ"��*o�&��I	���Z�R��R�����{��(��o
�ΊA���b���]�h�����^
+O8X���]�W�
��
�I�]>����B�H(�	�}rmKRj�8�Gc�����J at Qd�
5{��R������ѕ<ȣVUn��b���&Nj3�3E�h�x�I:��~��L�T�A�:-=�~�B��[f���0�#�
!�xCE=g�*����:)L-Em�4(�
�j�J�ۡEi��HI��� �T

�%&��氂�P������ _��@�q|�o�u:���'J(����=��K�-�B�P=^ ՒL
�j�Z.M>��Vi��'Z��|�=���˧��_�~gd��
I�`��	Fҫ��*6��*�~��k �� �Iz���� �`�-�Z�(#D2�Q֋2~$��!��F��H��C:�q�,��1P��ͱ�u�Sr������ca�1Gl�v96If�>�ړ
A
��a�vN
+&�Qn�z��
?=t���yvg�(���p��B��,�}<���~?�(-7yf��<���g�r?�$�=�4*�H��D�F-�.Ϫ���9�i��3�n�gc&��{���7�?,�
+*�薅>�E�PMo�������-,d6c�{�4zr�J�2!����\婉}�f0Ǽڭ�v�@�3�Y4/�ut������FH9�q��M�7ė[o<n��p�:����V�]*�,9�d��5��=+Q����"R�߷�{f�_l|
{g�	���-�y�>YD���.&
S��&�O���̬�BNU_w��I��z-������V3D
����
]	� T�?�������̮S���Z�ܭ�w�Ga��G�}������u�Κ2y��#Bl���)�b}c��n^����A�v�DQ�e��7e�<=9Y��hZ�U�,s��'���d��Vl7�<����"˛�Хێ���JD�
+endstream
+endobj
+9155 0 obj <<
+/Type /Page
+/Contents 9156 0 R
+/Resources 9154 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9133 0 R
+/Annots [ 9144 0 R 9153 0 R ]
+>> endobj
+9144 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [448.024 661.627 483.212 692.596]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+9153 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9157 0 obj <<
+/D [9155 0 R /XYZ 90 757.935 null]
+>> endobj
+8863 0 obj <<
+/D [9155 0 R /XYZ 90 644.981 null]
+>> endobj
+9158 0 obj <<
+/D [9155 0 R /XYZ 90 630.82 null]
+>> endobj
+8864 0 obj <<
+/D [9155 0 R /XYZ 90 494.289 null]
+>> endobj
+9159 0 obj <<
+/D [9155 0 R /XYZ 90 480.128 null]
+>> endobj
+8865 0 obj <<
+/D [9155 0 R /XYZ 90 345.599 null]
+>> endobj
+9160 0 obj <<
+/D [9155 0 R /XYZ 90 331.438 null]
+>> endobj
+8866 0 obj <<
+/D [9155 0 R /XYZ 90 184.954 null]
+>> endobj
+9161 0 obj <<
+/D [9155 0 R /XYZ 90 170.793 null]
+>> endobj
+9154 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9169 0 obj <<
+/Length 1910      
+/Filter /FlateDecode
+>>
+stream
+x��ZYo�F~ׯ�ӆV�>ؗ�] �#@6&
'/��@K-�X��R�
��o5�<�&-y�Iv�y0$6�U�u|U�h
�8�~�����āFZP\��)��j|	F���8|7%8��]�x7�8̶����ŏ�u
����P$�v{��4��Ҭ��)Qa����o	�(����)�}Sm�l(��������8|Mݗ��CZ����HmԾ�ƇC%�j�ihv�m\�X0cL".T0#i�
si֦<�I�վ+��ɤ�˓7W��L�—�$������G
�`�� #�UpW��e�
�O~�`*<2��Q �@DD��7�/;H��P���ž/�X�a��JġX��I:�pxo��"�o�;��ċ�p�N�p�i큫M�M)��ʳɺ
+��(�X��0f.T��i�H-6ɡ��i��G�ԛ�t5 ��d��~@�B�h2-�Me�*�s���$]f�}\$�[��jF	E�H���b�JWIE'�z�
�d��r�HF����ޤ�
e�BmT�PL��M:z�
��`��5�j3�֖������@�rW5.�>�DI�OAg=�5��a���cǷ�P���<^C���,�]|c*��a�
�`�
.}�j�&Γ�ə�&�M��������PU�wK(�
"�1IM�/������`�����߆4J��M~�ܘN����^e�<�2�Xy�����dQ��f_�b at 2���ʤ�.I�"˫b��{�ChYϮ)�2$K�������$mѧ�C O�,W��!I��ӏ�1�
ڎ�Nq��a����v��"�@x��3@��AJU��8���'�q=���I�4&^[x��֚G�*s� �f���@���
�������t}L�E�������$��.n��^}���֭�l��z��N`��
Bޛ�̕.@'�OLWG����Y&V�YU
���
+
����3�X�	��x(Op���P�u���H�P�))E�0��O&�0a�!�Efll��Tt��w��+e���n�,7n���
$���l���1/.�Ҭ�����$gٌD�օ���P ��=8M
+�S��T���?a���Y�K�1�9̷���� z�lr�f�7+��x�+�'��&Ŧֺ.s�-�Y�=:
����
�D��n"�p;�@ϻCՉ��0�4�mn[�P�Hh#7��G�0r
+�$RZ?@$�����/ѿ|ev��ַ��c,S�Ѳ;��t�}���.��:�9��#�ȑf.1���e�(4�2�,�E�b/Ay`l 
�?`#pJN�Q���P)K6b?팭"�*���M9�F�,�	J�6����Lj��(j
���Q�"%��D~�w
F�OJD�
#%TD�H�
 %n�o����Ɍ`��!
+��sx�J�1��Ȇ��:2%�c$t��DZ��H:��lFB8E��!(.�
�"3�@��]�Q"q9
SF�%�H�2���Y����vF�ARb�
⫆���K[�xK鯍3��-���-��o����C!�K[<垧��(�T^�
�c��\X���|E<��D����B�_������ҕ���P$ű8���O`,�/a,��
��X��%K��0���X��#c�^�[Od,��X���b,�
c�D�µ��掱��A����ˍI��l�?���+���PK�G�
�Q�$�$&�+��ި�Ɩ�_�7(�����u�
�,�������~7$���Z�_�h6��FGcĈ"y/�1���8ɳ�Qg����#�j �����‹��cu��F�	�Cm�!5���f^@ �:��|�"
�
�UL����,!*yg'
[��.����lu����_M9
r���z�����`�m I��
`8|oj�T���A��_��[k�r+�~�)�������-�&�
%��~��x8-t���
�u�e���$��]Y<������,
+endstream
+endobj
+9168 0 obj <<
+/Type /Page
+/Contents 9169 0 R
+/Resources 9167 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9133 0 R
+/Annots [ 9162 0 R 9163 0 R 9166 0 R ]
+>> endobj
+9162 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.643 586.641 229.737 597.545]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
+>> endobj
+9163 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.089 333.63 246.767 344.534]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
+>> endobj
+9166 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9170 0 obj <<
+/D [9168 0 R /XYZ 90 757.935 null]
+>> endobj
+8867 0 obj <<
+/D [9168 0 R /XYZ 90 697.125 null]
+>> endobj
+9171 0 obj <<
+/D [9168 0 R /XYZ 90 683.101 null]
+>> endobj
+8868 0 obj <<
+/D [9168 0 R /XYZ 90 444.114 null]
+>> endobj
+9172 0 obj <<
+/D [9168 0 R /XYZ 90 430.09 null]
+>> endobj
+8929 0 obj <<
+/D [9168 0 R /XYZ 90 191.103 null]
+>> endobj
+9173 0 obj <<
+/D [9168 0 R /XYZ 90 177.079 null]
+>> endobj
+9167 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F123 2840 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9183 0 obj <<
+/Length 2071      
+/Filter /FlateDecode
+>>
+stream
+x��ZIo�F��W�4� �\
kS22�� �	ฝ\:
�-Q1�!�v;�>�Xť(R��F��O\T��/�S��6��w��L.�H
h���&�8��!l����)�($�9�O�fO�|-�fO���6^���?ɇ<�
��L�4}X^��U�^^�3��{x(g�o��|CH� �@M��NE�+���	x�L�+�%�9�x�-u7�ۆ
i��o�
ٵ!�*����v3�t�iT��`ΘD\�`N��)�:�ĕ`q���B���ݖLa�z��f�	��8 �zC����j7y�
kx�}��*��V킐2����ɏ�5�����)��63R1-�Vdة��q�(����
�.BZ�zM�M
+��#M�\��bK4�E��v���)�B>;����Z�y\
bp�Z����3��o�)����`���Y�Gi�k��_D��?������>sY�\�Q]R
Ej�>�8l�;�d�@Z2U-d�+0$��%<��
)����UhF��^:�u6mH�Aqa�\!�tȏ�/
	N�A{�Y6>h�D�b���R�\��~�dQ��
���E�B�X���R�8�.��o��8��r�@�6f���Q������M�1f�T<�>�S{��_W^ 
��0��n�
���X`
+�6��9.bG>J��	���C�O|����uH� EP�M��7���s�B[]�vq��y�
�ߑ�
g�
uNo
��o��hb���GoJ{��2'q��ݯ��Q�DR�r�o�'���
�Ls��p����xL.F9�j���P���h7�<B�?
���n
+1�8��<�ݞP�����S�%�sV��)O�^z��C���'����za$2ײ^�$2�V"sg%2w�D�/�}g�t0F�R�]U�oA�����Ԧ����t}$E��Ke�{�;�Gr><C���I�����U\�����-#E�^,�lBDA���Q��:a
��k�7�܃�Bh��P��ݼw�(�dH�i�l�k
d�L��G	��D]
'��H�
�����$DSB�5%>1�`���l|lRĠ���
+�� ��Jr
:P#��
+/"����hPv�T�v�vپ�7���h�(6�:�:8.E$}&m�F���
QP��9�FC��U�c���C:�j;gZ"ڋ�����Z)��6ԝK�t�'�r����3��y��4Z�h�!�vȮ��^ϥ4��Ix&!�[,�p�3h#�/)�٫j*�~T��F����t�T�3��wZpH��dmw
C�.,)��k���-�#?�lC�}dk�F/Ƶ ��
�)%xY,:��2���<X�j�U $
�{�l*�lΕ��l`q݆Y���e��MI��.�2`�z����[ۆ�
�Nc���Ʀ��F1+(�&V4+fq�/_rB��o~��AB
N�Jˈ,� )�'�W��R�*��,�()�Ţbhi9�� ��^�C5���}�eI��Ć�Mb9�g���i=}z.�:P��<�~s"&���,�Hes�a�y����'tdF�}n~����(
Q��ܘ�<
9I{�gg�v��j3�pZ�+;=�0
=�c^�M���옂b���ic
+>>�0�N)��)S�(�l�{�ThR��LKR�9��f'���c'�T�zPQ�ر��6��=F
:Ѳ:gP��Z�	A��͠'T/������h��x4!^F��M��&���yM
�&�6���7����=
M`%?w4Q��
���s�ݠ���I�0��0���6���b�CF�?eT!�#��QE�����P<Y
�P-�ϷŐ��=�xR��
�c��z�C �S���n�!�g���|����{=y
������V?�
A���i�>�7 �����:�Ͱ����
U���}|)�=�qa�����ٜqP
����y�����#��&�ǎ��F�Q
+�����
Z1��=���>�2e~*����Sg���.r�0��h����
+#�`I�Ϸq
EV���ݿ'��:N���h��mY
�����hU��,9�()/���dtv��m��Ԩu�ϝ�I/w�M���'��$
+endstream
+endobj
+9182 0 obj <<
+/Type /Page
+/Contents 9183 0 R
+/Resources 9181 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9133 0 R
+/Annots [ 9164 0 R 9165 0 R 9174 0 R 9175 0 R 9176 0 R 9177 0 R 9178 0 R 9179 0 R 9180 0 R ]
+>> endobj
+9164 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.899 718.634 431.977 731.551]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+9165 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [338.748 707.957 444.511 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
+>> endobj
+9174 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [454.44 547.551 513.996 558.455]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+9175 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.617 403.74 476.603 415.379]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+9176 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.893 390.506 498.655 403.381]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
+>> endobj
+9177 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [454.44 230.1 513.996 241.004]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+9178 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [323.631 98.244 429.297 110.723]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+9179 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.215 86.288 409.977 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
+>> endobj
+9180 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9184 0 obj <<
+/D [9182 0 R /XYZ 90 757.935 null]
+>> endobj
+8930 0 obj <<
+/D [9182 0 R /XYZ 90 526.71 null]
+>> endobj
+9185 0 obj <<
+/D [9182 0 R /XYZ 90 512.154 null]
+>> endobj
+8931 0 obj <<
+/D [9182 0 R /XYZ 90 209.259 null]
+>> endobj
+9186 0 obj <<
+/D [9182 0 R /XYZ 90 194.703 null]
+>> endobj
+9181 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F8 540 0 R /F13 581 0 R /F7 541 0 R /F100 1390 0 R /F123 2840 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9195 0 obj <<
+/Length 2051      
+/Filter /FlateDecode
+>>
+stream
+x��YYo��~ׯ�S"�v�K9�dvf�M8
'/��@K�E��������>x4EIv�M�E�D��uuU}��8z�p�������OGiAEt��4��`���˘`�ɔ`�Ƿ��I�I�����e�.�d���Lʗ��o��$�_�w��H���rB�x
����o>�QH%h�1�c���m	l(�����w�)�x�=�wbc����3�=!�Q�!O�{'�~��8���J�cє1��Pє���]�J�ci�p�b��e/�)bn�>ޏ�1"pGĆ7��*
-6�/_q���?F1��g�kŔ�o
}
�y��Q�G�4�8�$���)�'�l�*-�֎� ⡐��4^P'&_���|�:�H��8|�N]�tU��uR,��>[��d5�|�7�i�����ve��g��W=���S�sJ8�1q��4߿l�Y�("Gv�cI��/��m~A���t{�"���Xs���"D��R�6
+�XI9�v�?~[�;��snq�D��l�����<[Γ��I���"�q��ǞM�
g+W���¥����K����~O���nO�ʁRYo��N�2�M
�Y��nv� �	2c��Z(#TA�5&���k�nҴ�m9$#A�-�I)��9
'8L�+�D_'щ��yR 	���<��?j���G���~E_l�~��zL���&�_7�~l�bH�m\�R�W�B���iD�ҩ�lQ��j4���D����r���!���Wu���1�x�<�\��8��]Z at Gäs��T
,*����r�D�
+v�xS3O���I<�S�
bϡ��\�
+�!܈�K��Z w�/�}y�cę:��@f�ǴHKhf����k���l�<��
�ű%0��0
h�6�D�H�r��b۵[��78l� ���[���FB5%z�|�����X	.IXSC�Y���v���P,H���I܇D�6.Nj�qw�&mL��9��u�/L�D�PŠYzT�
�X��_m�`�u��Z�i��N% u�>���C�[�(��m�E0kL
+�ԶD0 "�"�N�tp�Щ�DoYM{
Q_'����0	�`4�P�6�(��5
�h�74��.4!B�o�^f
���@_�
�HL#�
��S��h����p��f}���
�~��Ad��!��eht��Nhq#9R�<�&S��4�}ZO��~{
��
FS�(4�|~6%*�
��&Y!o�*���Ux�^CU���DV���*�����I�Bމ����+�2_	���	˛�x
a?
a�=��^IX�%¢~f�E����4 ,
SGX�� a�(~ay�
�e���c�&K131
k��fRf��3<d�lI�SRN��y�y�5(z�5��	�f�Fe�0Oͣ'�™��7_��Ð�v���c���6�a��Xd (�L�j?�Y��Έ���#�aPR��f��MV$����
+)T9lXe΂m���o�T/3�5^"\ ���4���'��'���vL�/%�!��uA(>̻8�G��:�=�Z�&X�eBq�y�F_�nwo����Kv	��@�+ż����vP���w��D^5�%q�#�QM

Q#�~�S��}��f��
m�(ሦ��0�A ��.�N��S�� !$���	���CL�!��$d�a�!
+�g���j�:4�1x$U4�0J�us8��uǠ�A�!t&���S�%a�R��8� ���m̚38?��Ҿ��B�h���Փ;�s�F
�y2V���s�-ajjixH�O��K
���r��Α@�C�l� S�(�M�
��
_I��m*Y��.d֛�u��
+G���;r��~'�9]'zy~�.o_�[GqC�Ͷ��j߸hn6�ꋪ~�sP�	˩�}ﷹl��;��z���5g��c0���"��M�&��SbGϊ�
�b�����yȫn��ur�����[( ��߹mO
+�#���N�a��������ӿ���|��/�����)Ͼ����{�'#
+�Oþ0���F�sZö���Q}���
��K��5�f]U������3Z�ѡ�v%ʪ��.�9β�Ü�̅��@6��{�psc;�Q���sX�
+endstream
+endobj
+9194 0 obj <<
+/Type /Page
+/Contents 9195 0 R
+/Resources 9193 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9199 0 R
+/Annots [ 9187 0 R 9188 0 R 9189 0 R 9190 0 R 9191 0 R 9192 0 R ]
+>> endobj
+9187 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.549 615.519 195.105 626.422]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+9188 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [334.883 495.522 440.282 508.002]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+9189 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [315.008 483.567 420.77 494.471]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
+>> endobj
+9190 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.549 350.426 195.105 361.33]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+9191 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.059 217.196 422.924 231.911]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+9192 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9196 0 obj <<
+/D [9194 0 R /XYZ 90 757.935 null]
+>> endobj
+8932 0 obj <<
+/D [9194 0 R /XYZ 90 606.552 null]
+>> endobj
+9197 0 obj <<
+/D [9194 0 R /XYZ 90 591.982 null]
+>> endobj
+8933 0 obj <<
+/D [9194 0 R /XYZ 90 341.459 null]
+>> endobj
+9198 0 obj <<
+/D [9194 0 R /XYZ 90 326.889 null]
+>> endobj
+9193 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F104 2229 0 R /F8 540 0 R /F13 581 0 R /F123 2840 0 R /F7 541 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9207 0 obj <<
+/Length 2125      
+/Filter /FlateDecode
+>>
+stream
+x��ZYs��~�@�!���91 ��*�w]�]�����
"�*$ ���Oρc @�Z�d��c0���u���� �,�v�8{%q��$�Qp�
Ȉ!��v���`��rE0��%�aZ
�͛%�aq��R�*ݼ�.���]�݂&K���[�;m�n�Z�8,�Y�?���!�������l�x2�
�%튯ɋ�
+
~M��ۉm9CI"�o��ٵ;��CZ�v��eBCu,i��g��1�D+BP"�aު�2��|k�q
#
�ݖ,���������8 Ƽ\"�`{\�{��
<�6��%qpcV
N�
��X`�*<�8A�@�����_~ت�Ɋ�62�7ca�1�8�v��٭�Y��8�N�n�V����odzW�� |Jhk��XR���'"���
t�(�"A�Ov*/�Y�6Ee�z�G	��8�j���
+N1W���9�#�Iv�ب�� 8�-��Ru�^LlH�9k���w$(�����J��;��ݯ^�� Al��
+�)ہ��N�UVO
Q�qgߴR6�w��� Ye��8�i�]
�;mG�;iG�bQg��tJg
+�A��Sz��h�Ej�2ݎ�q�'LC c������	y�& �[�&�����V�""�"П;Dl81 �J&�5�$�-U�
�9�����b�f_�I,$1C4b�a���Ƌlgw�C��G�b$ �x}#���1���g@m�	�fa
y��C���Eq�w m��P��ڔ�cz阁R�0#�dx�<���$��T���ȃ]�4L�H�/&�l�}
+o�u
If�UZm^~p��.��՟��#�L�g��N=ñ#�iX�f:�:�In_�xa�m�*͚z�62m�#6��� ��c�3�8"����C
(���d�gV�"W��ͧ�3B�C|'�!��1�*�� �}?�Z+A�-�=P"
����k��q��	�㮝�0��F�/R�вrw�4r�
���Z�.Eo���ʠIZm+X�Z�J�REW^ե+��~�ޙ�.���t�K��v�J�����
D`~GK	L����6�:��u8�s��)?x.�-��~��)
��Lؽ�#s<i+H[1N���#9Sy�A$Qĥ��u(G�]�y$�DDa[ 64
C
	���8U@�
�2X՟:Th�1��
+=ATv�2�P�inH"�W�
9�/�;i^��1�/��،�hP�
C�C]��\A�PW�8>�r�Q�G����^�7��R
� W�]�
k��<9�;��v�����6��QJ“6%��>�w��@T�;���Lǐ�#uMO��)M})��Q��,��SA-��I,k>���*B�t������kr*�_G
+��
�@�SD@���FF����i9�m����zѾ�h����_��<wz��^o���[����{q����L��H]�lzp�4e���Gc�
R{���C3̘��Y�huHz�(TZ��t��O
���� �i��8
����4��ÀX�a@
�
0�1
h $7P}��ڤ����H�f_$�Avc��#�E���s�m�������>�n'6H���6L���ki�1v��Յ�d��AL�
��]����u[Qi=5]�t#�@p�lpy|�^_��F�|
+�d�
��BKF>�G(�r�p�\3MX����	�j+�C]�RS����Qh�D�/�l��*2}�P�Ǜ�}ތ��G�
+��I	�2�eM9b��k�ެ��#�
q��d���ˇ
�^�dP�����3c�s&?��Y��9����7�E��)צSS����y1�S�U�Miu�
x=������ׯ��
C�E����-���2b7��q����M9��R�
a at GDL�*QDyK`�q�z^au�w�Z��*{T��Z��
��N�2�p
.U�͢඾���F;h��N0m�>�*�^�G��1���m�]Xp�>�t���*��Mo��L7
�b��(��c�g��g���?|D1��c���̉��5l!���8EiRq�-��[G���ZU�/�]B}��v ���Zo����ƈ�a�)�tgU�z�;h���0!7����~�r�4������mktʳ�BYsV������`‘$
���!ıh�����h��w��7
+endstream
+endobj
+9206 0 obj <<
+/Type /Page
+/Contents 9207 0 R
+/Resources 9205 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9199 0 R
+/Annots [ 9200 0 R 9201 0 R 9202 0 R 9204 0 R ]
+>> endobj
+9200 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.333 557.87 425.662 572.586]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+9201 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 275.073 322.446 285.977]
+/Subtype /Link
+/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
+>> endobj
+9202 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [457.18 275.073 505.099 285.977]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Time_Elapse) >>
+>> endobj
+9204 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9208 0 obj <<
+/D [9206 0 R /XYZ 90 757.935 null]
+>> endobj
+8934 0 obj <<
+/D [9206 0 R /XYZ 90 682.134 null]
+>> endobj
+9209 0 obj <<
+/D [9206 0 R /XYZ 90 667.564 null]
+>> endobj
+8935 0 obj <<
+/D [9206 0 R /XYZ 90 374.148 null]
+>> endobj
+9210 0 obj <<
+/D [9206 0 R /XYZ 90 359.578 null]
+>> endobj
+8936 0 obj <<
+/D [9206 0 R /XYZ 90 220.503 null]
+>> endobj
+9211 0 obj <<
+/D [9206 0 R /XYZ 90 205.932 null]
+>> endobj
+9205 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F123 2840 0 R /F104 2229 0 R /F7 541 0 R /F8 540 0 R /F13 581 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9216 0 obj <<
+/Length 1824      
+/Filter /FlateDecode
+>>
+stream
+x��Yْ�6}�W�)��,4� {&�J
;�L��ݙ���b�E�Ċ���,���b!�4��t��$.�z������o_�.�^
�E(
+h���{�D�VO��nI0��jM0�˛�ˤΓ�fE�ܟv2�����N������f�~����i|S�H�,�]�����5!�
���"�����L�:Pu3�!/Vk���j����3E�[���nۗ��i���UD�2��I+�2o͘@<�5!(��1o�Ԇ�bc��8D^[�,djx��v���(��v�/
�����c/���=�XzG=+�|��w�]���6T�l��a�{�����F"�e+�F�1�#�H��TVP#�4Zy���
+���W�yUm��]b#.��� #�;���N	��.�w�ܔE�d�L�cV��ୁt�X@���c̬
+t�
(
+i7��e͜�AN�?&��|��(��(�[]�
�H0��W�I�/˪��"٫'Y�Y�3���
&v�h����~XQϒ��4��bk^�;;Z
�;#�_��f,Q�ld�^@[���H���;��(�MD`����:
`"��6�uIU�OF��:FUD�����ۅ�NO8f�,��c����^��c�T�(7�"�� Ae�&Q����(�ƒe(�������:�c�D��M�^_C~���d��qRo�,ڋ���vW�*$��&��L����9r=�Zvɞ�
�P��N3RB��f��m���
xs��2��6�C3�
yEA	D�"�ŀ�T��4��y�� �L\��D�+�`$(*��U����!��ٗb��$Ѐ=�@�9��J�2K��sT�6�DY��ƛ#�%&
$�GiXLi�w4��i�G��KN��:5ZVqS�2.�"V��u��Ps��"�	�� �o^B���Ǭ=ņ؍b��
a>q�m�
+��_�%�j�PJ������?����?���6cY� �W��tz�C�R��b�~�� �"0hC�
"�,їM��_�ݵ'P!�����ٰ����eU9�V��
����
�P�@
[MG���:�
+���2fLQ�c���
{��ڏd|���<��嚼�9J���O+͸�

�v0�o���]nݤ8���'��T��b�1�޽<�5p�˞��@;k�@YŁ�2g�� �� ��<��I�Y�urB\�D��&�����'��TtS��
�����K�9�)����e"����3L~b�y&⟘h��pbiTeb�ou��
z��z8\~6GNd�S�CR7/f�����z�A%q1�y��<���<8����p<�Ys��84� �
��:�H}�x&�=��ٝ����B��>�����g�ߗ��9�)�U���]Gݘ��|8�7%`{S�E�����Z�p�k���/sS�C����L�ʝ�8
+X�\z��_��0�7��XJ
���+
�� FPbI��
~�MR�	}r�`U7��:�O�șN$�t"��؉���ND��sY��/�ٗl��@�˗�`U��:C�~�:�Z�{�}E��b
B��[��I�3wҐ���O�D�4�5��=��I��2���Bu��xp���̵�<ޟ�9���$}�ٕ>���  
�
�[��*M�JȆ�R�3M��
+]�G{�,9�wj:����^k��H��e!
c�s�m�D{�CtVL��d0l�v��m
���C_�O�Ġ?)�z��B��G�
�ʍREU�}���<ښ3�6��|͸u�Iq�I%���V2���׮��[ّ��������vx�-��
��]�V�WW��mt(��FY{UU����4�B|(zWv��KGE
扺~���,��q
+endstream
+endobj
+9215 0 obj <<
+/Type /Page
+/Contents 9216 0 R
+/Resources 9214 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9199 0 R
+/Annots [ 9203 0 R 9213 0 R ]
+>> endobj
+9203 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.659 677.063 268.34 687.967]
+/Subtype /Link
+/A << /S /GoTo /D (main_Widening_with_Tokens) >>
+>> endobj
+9213 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9217 0 obj <<
+/D [9215 0 R /XYZ 90 757.935 null]
+>> endobj
+8937 0 obj <<
+/D [9215 0 R /XYZ 90 622.492 null]
+>> endobj
+9218 0 obj <<
+/D [9215 0 R /XYZ 90 607.922 null]
+>> endobj
+8938 0 obj <<
+/D [9215 0 R /XYZ 90 427.049 null]
+>> endobj
+9219 0 obj <<
+/D [9215 0 R /XYZ 90 412.478 null]
+>> endobj
+8939 0 obj <<
+/D [9215 0 R /XYZ 90 191.754 null]
+>> endobj
+9220 0 obj <<
+/D [9215 0 R /XYZ 90 177.184 null]
+>> endobj
+9214 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F79 505 0 R /F23 368 0 R /F72 404 0 R /F123 2840 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9229 0 obj <<
+/Length 1752      
+/Filter /FlateDecode
+>>
+stream
+x��YYo�F~ׯ ��J@�ޛ\���(����yq��6
*I����AJ�()��6yH�gw���
+W~��r69z�@!%�
�.��P2��S�O	F���c<=�<��<^��(�����N�x�{zQ����h�8���:�Y�dqR�H4-ᡙ�?{}􊐍i�)۱���Dz{�=P�Z���lN�����tD-gH)Ѿ�l��n��Y\�N��Lѩ�WY�h�Z0g,DBF����w̩���0],�
��0�U�����˳�?�8 ֽ<D4�2����A�����;+��2�f��ɟ�C�w�,Rc
�T""�[�G"�u����c�
�{��P�i��NM�{��X��E!c��g������/�3���t�$�uQ�e�}ܔ�'	,�3m��¦�����R����!!���I��3]\5�
]Ue���P �k;�rF�� �����
+��ŕ�3��::7�N��@�$���jwJ�U����Bi$ ��M���e|S{�����Έ��eSV[�l @�6"�O��T'�#N�Ou�ni�%��Օ��S�M�9�|�^
\؅��wX`����%��ݡG#xN����%!b��5`!�8���l��H��a�^�	QȻM4�+]���͙��C�
+ �
Nҝ�l���}��+�j�.�6���rH����5�($b/\����5k��k@�B�ϻg�r|
�n�]�".���Y�7����t���`�0a��A��/�پ��h+�f�Q����(i���"K
�~搿_0��U!s/��$��P�����hQ�
-��2��O�����L��M
��2_��./����=0j7r �)R��� H
��[!�=��l��4�
8�<���w���).P
��%��8s5uv�{����
��8�E
Q���lQ�ո���Y�����>�� ��Pc"h��h$}c7��	?Ԙ��Dk�[��b[�oMJzeNe�ZB! qQ7�
�0��
_d=@
+Y��m[����=ȣ�K��%
+�?�I�L?����Cn�� �b�a=c��x�1� (v�D���
+=uEa�!b�ݖ�ԉ��=@���H�ȵM�� 1���1�uZ�X�Ul-�w�d�g�_O��8���5����}v�3ir�_���Qc%���JH�N�8�z�DѺ���" �݁����̩�Ű�I[ê�! ׁ����uB����	έ��u$�n��I�w=BiYcgiA�8)��B<����?�(���<���^
���B���B����������)��F!`�?���A6�
B�l/���
�-����7�s%�O[槻�?R��o4���b^�K�V�k<$])��T��
WX
yk>n�U_d�^��~x�f���m\�#[������`����\��o��	��]ͲA�Y��25
ն�Ö�*��;_Жb ��ӕ�>�}gw�i݆ё�nby;#���0�Spa>��m_vJ�h��i7\~�����U/�zb�Q��{�����P���Y�,���&7��
�+�:�
K_����|�H�K�	��b���ia�)�IM;w�6��j,s�&d{�#<�
a�
�� [...]


��r��̴
+
+endstream
+endobj
+9228 0 obj <<
+/Type /Page
+/Contents 9229 0 R
+/Resources 9227 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9199 0 R
+/Annots [ 9212 0 R 9221 0 R 9222 0 R 9223 0 R 9224 0 R 9225 0 R 9226 0 R ]
+>> endobj
+9212 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.639 654.137 300.161 664.419]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4a53183970490595ac39c8c070601c6f) >>
+>> endobj
+9221 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.639 457.852 300.161 468.133]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4a53183970490595ac39c8c070601c6f) >>
+>> endobj
+9222 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.217 342.063 424.652 352.967]
+/Subtype /Link
+/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
+>> endobj
+9223 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.635 289.22 256.157 299.118]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4a53183970490595ac39c8c070601c6f) >>
+>> endobj
+9224 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 145.778 206.372 174.844]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+9225 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [448.024 104.267 483.212 135.236]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+9226 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9230 0 obj <<
+/D [9228 0 R /XYZ 90 757.935 null]
+>> endobj
+8984 0 obj <<
+/D [9228 0 R /XYZ 90 649.264 null]
+>> endobj
+9231 0 obj <<
+/D [9228 0 R /XYZ 90 635.431 null]
+>> endobj
+8985 0 obj <<
+/D [9228 0 R /XYZ 90 452.979 null]
+>> endobj
+9232 0 obj <<
+/D [9228 0 R /XYZ 90 439.146 null]
+>> endobj
+8986 0 obj <<
+/D [9228 0 R /XYZ 90 284.347 null]
+>> endobj
+9233 0 obj <<
+/D [9228 0 R /XYZ 90 270.513 null]
+>> endobj
+8987 0 obj <<
+/D [9228 0 R /XYZ 90 89.441 null]
+>> endobj
+9227 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F104 2229 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9239 0 obj <<
+/Length 2604      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs���W�+U�`� ���!�;�l6Uά7�ɔ�� �����x��� 
$(H�o咋E ������g3<���OwW��9�I$�$��mf�xF�w���9�(%�%��o��f��n	�׻��Z7����ɛ��;�+���i�A���Z�n��n�ŧ����2�0ᰛLA�~�?�)�L CB���=y�X&
ϿO�ŇȲ)ER2��Ϭ��n���Y�n!���vy��k�%�
�L̖� �,0�F�SUa�X 
�vI*�~|���տ�<�3�Ûr�6+�W?����4ÈJ1{�g�giB�w7����W��� /c#U!�Rj�ՍN1�GHD�E�9�Ǽ{:�*�+@�sЀ���4����<�)"(J2���q�h#�˵Y�M.��*��U�꿲W�`Ev:��44ׄYsM�s�J���A���cz�Z��GD����V5���j�.��j˺j-D�a��b�K�⧯�¬�x�� wa�	P��a����D��
��b:F� �x�~,�]Y�Of&��0���	 [...]
+ �r�ʛ�#H�M�	�
I�ݶ��:�`G�y���6�
�fF��Օ�Y��Q@�Z��׵���.�r�r@��\[����$��

�iLr$���ۖ1q��%	�8�^
+jc{�R�LcA�{�ic��4�S,��Ʌ�x,H��̃p2�=�^8����Oe�����,G�b��X�w�`[� "gϜ R�H8���be��]�bI!+�D�G~�Tk����4J����g�y��&��D"�yyx%"S�%^����(p!py~��=�����C��h<!Gp��.󢨛��9���>���S����~��}�=3w3�]�Ž\�fI8�k�1�D$�"���X�[� C]���:�@���q�$��G�&�j"�zk�6��ս
;4�gP�Z;U��
{�}Zd��
+�_
+���
]]\�}�E�����(�PH* ƒޤ�6��O�pw��
+��;Mǁ�K�8��꼀Y( ��ULIY��JJ�S�M�%9�l�U��vu�߫&4��u��\�`@��WYΩq�U�E����7,�g ��u
+�U8H���5/���Td'R�-�i!JB��ʼP���D�s9`H�w�8�Y�TE�yx�	�
��|
+m@����]��Ӧ�]�l��A�E&��ԣ�+�©nx٩7��h�&���?:� �髝r�&g�Ի�I���AC�zݢ3:	!W��H�k����:�On6��k@:�H���
�{Z����e��t0�q�cU�@�.��e�Y�Qݱ�b at Q�x�˻��
�(5}
+>ϫ��0�E_�!C\pѨ�8���֤ok�wpb����o.
�N#Q"� ;J2/;��{�=�[�3���(�3�W�j���J�5�2 ���v
+�
{.��<�,��
*-qQ*�"������s�$�٦n�s
�3;7�Z�(
+���sz��6���k2�F��6጗|�oP�� ����{Ĉ0��=��3+qUW��gf�
�3����^,��Rz����>��*��t�e�m�E_�����77_����Q�I�����٫�n=Yc�2}�q
����*����P(��C:�c�+vp�/0%�l�d��So��X6/�<��
��U�^�[H�g�Z��Z̘��w�7
��<���'����U�1
+�7�<6��a�'�=��TH�&
Mؘ��N�|dSpS�y�-���agw
(
usBΥP�Q'�m]�2+�`S_:����?y1H} �||0B�����8\�!6�*J�I�c��y6R��
���d�t_��l"��
sƽ8�XN��$�|�8 o�jkI3H6}���J?G-C
�Vo_a �J�
�G�2���f�eJ�X�Dw(�6Q�8Yz�/�,n@OD>c8^��,"�0�Rl�]��?�:���
x����g�/�Yϗz^�Fنc$�φ�L6�|��[���UqO�C���%�a9ڽx}GUŮnu
)�C\��j*�]e`x(UXcС0�N�ُ
�ڤ��Yh�� ���Bz�v^�
yٺVv����4��J����"L�9�
z,���2����
+^p+CmX4����D����f
��}�|M�I�w���
z_�iYrm�6ܤ
�@j��+&�}������Z\��_z��rG!eS��n��z��4m��
��:?#q'����W��)��]�.X�
|�]���5ˡ�~����bȶc�A��o�~O@8s�w�^��_���
�M&&N)~�P�C1��5�l�_7����
+:���d�s��H����V��1�
HB���1������
a������Þ׭�\�	��Bsk����ڪ��cs
�����w�lm�?�&Fl�������=�9�o3w�WS
�5=�f��������#*Zt��C����p�]�v
G��J
��������a���p�w�A8���t�x,
+endstream
+endobj
+9238 0 obj <<
+/Type /Page
+/Contents 9239 0 R
+/Resources 9237 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9199 0 R
+/Annots [ 9234 0 R 9235 0 R 9243 0 R 9236 0 R ]
+>> endobj
+9234 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.376 498.269 385.519 509.173]
+/Subtype /Link
+/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+9235 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [488.213 195.675 513.996 206.579]
+/Subtype /Link
+/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+9243 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 183.72 219.384 194.624]
+/Subtype /Link
+/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+9236 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9240 0 obj <<
+/D [9238 0 R /XYZ 90 757.935 null]
+>> endobj
+9241 0 obj <<
+/D [9238 0 R /XYZ 90 733.028 null]
+>> endobj
+8988 0 obj <<
+/D [9238 0 R /XYZ 90 596.696 null]
+>> endobj
+9242 0 obj <<
+/D [9238 0 R /XYZ 90 582.773 null]
+>> endobj
+8989 0 obj <<
+/D [9238 0 R /XYZ 223.966 186.873 null]
+>> endobj
+9244 0 obj <<
+/D [9238 0 R /XYZ 90 170.793 null]
+>> endobj
+9237 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F8 540 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9253 0 obj <<
+/Length 2631      
+/Filter /FlateDecode
+>>
+stream
+xڽZ[�۶~�_��V�ZX\Ip�d&����i�]o�b{4\�k��H�����>^@��d;}Ј$���\��x�q�g?^�����6ijE
f����€!��ٻ9���Œ`��o��r��,(�ۗM�����졌˗�ۡ����eu�&�u��ޔ
"��ԋ�?]����0Z�a:z�oLgN0ʢ��k�j���_S{q���"Ѽ�݈�vؿo�2������6�S��l�X�D gKBP$�b���T/,�צ�ah�"�
���~�"�ψV/�b��]���g	<�i����I���8e𿝽����[�G�LFc>
i�H���v'�]Z�e��1
+Î>$
+q�T��F�oq�{}
�s^�m|�I�[P�g���>Ye�V�"O���yT��y���k{�d�4��"w�>��2�o�5lO�����-���D1�ܝ\E!cG
���l}]<:���S\���
��ے�9L�b����u��a�n<ˆ����&�
v"�f�*.?
@����GE��,
��Ov�G�?��a��4�XKH��[�}�"��ʋzh�
c�!4��;K#b������0
+�t�]��:ۦ��z�J˲8i��@�˧� P���q���Xq!�mo���M�����TK7B'��V7J���._
��i^LJ��4�
G]�4�x���.`�ibba
�0���ZX�-FK*��m��ӆ�X
+� ���]����Z1���#�]S A�,���(� �	� �%6��Ú+X^���m��1�4�dk��&�|&
 �n�F��ZM¥��AV����
���i���0�?e�Ɨ8!�󨓵d"l�t}Pv��gLg�v�8O<
+-KJ'}^
+�u4�ɻ��
;�1�
)`�
G��$7T���6�Z����n�#$؎
�|Ʉ�jħf�t���=l����]l;���
��t��<8#Y��('���|�{�
�t @:s$Q�x�)Q:'�q���n ���
��#�^cS���y7u���j�
����
��Q
!d�ϑ�D`f
+�0"{ 10��
:
�o�X(N�������e�� Ra7����W�^r�Q�m
�
�HطN!#@tF��,1Ǹ���
&�����_ă,�e�
�B�����A��;�ߍ�Gnn
���d��5�`s��KA_���*�D �8��E�(K�����?�I:�,���J��3S����/�'L������}"	¬�V�4���MzY�]�o�<��q0Є ���G��#�*d�J�3���(����&?>�]R��BЗ
+ǕI�
�L�@����2�qPrDA�S� 	�OK٪����	����!
3j��?��՗���f1�b�
+
��l٨V�a�J!tH�a���@'=Gh����zdn��xE��kӐU���
�<�۾���6vt��v�b����i� `�����|%�L"
d,j9���!
��,$�c�z5f�7�,_�=��ak�N5wD�
*�wU��h��d+� ��v����>���jV�[Q���:�8�����dNEL7�����U��g�B0�i
����u�<0�l�q ����A�%��-=�Us
�#QIt���
������� X�Ph���h�/��>ń]
+�}
����O�
�
���
+�^J��W:�@z+��Bc�^�������~N���r LD�x�iS�z#���AT�
v��!s
�Т�DZqgx��g��l/]�'鯇xk
5�i`Q!"R\b�l��B��r�f(
M��x
+����.��iF,�
A
��2��.��=�ȅ0�ρ<'�����+��r���4�3�˗f4fn!ݱ��/������	E<
+F8x�rp&����_����i��4�
鵜��Ѯ\�gt��J���c>Br��DL�ﮬi�7o�7c�L�
�7���j]$�(O
�6!3�U��
�h�K]8E7�)�*
f�+k�qև�qd�I���Cf���n3���4��~�*�\�0����
"�& �*\��
�n��y���$@��P�L
+)�yXo���
�B��t�[���~k�}�0�6�l��1�)�<����o/�p���h���,�p�
pSR
���Xv[fiޔG�o>ޥ*�ٛ�C���"��b�ٙ���������#rF���:��͔���R��%����
�Fz�q�b�C
B�[�P[#ΐ�T���m�.��:
pgF\��Y�J`Ф;�0vd�%oj�<
=�1u`�+jx
��T��g_�+��������^ŧ5���0=PxjP@>y�Ex�TP�cTA
�y�������G��޴�l%���+�a��龱��!�&��P@��"߾�\�-ͩ�H�C�����z�z6�%�3�Dpy���Y��U�N3��S78L����]��ɤ.O�J��g1���-sz�R�)�d�)K��6�UZ�::��¶�7�1
+t���#�=��@/�a���8<�3<��
?�Ԗ>�c��=X'��P�F}
Px��6���ZTkn�[��B����熰µ
+��xG�}L�@��
ۢ�۴�Df]�f��?͑�n�D��'�M]�o�����кB�<ۗ(������q��'�p�խq=6�tvEc�Yw��/��w�_ �
+endstream
+endobj
+9252 0 obj <<
+/Type /Page
+/Contents 9253 0 R
+/Resources 9251 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9199 0 R
+/Annots [ 9245 0 R 9246 0 R 9247 0 R 9248 0 R 9249 0 R 9250 0 R ]
+>> endobj
+9245 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.639 624.913 300.161 635.194]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4a53183970490595ac39c8c070601c6f) >>
+>> endobj
+9246 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.144 589.621 182.164 600.525]
+/Subtype /Link
+/A << /S /GoTo /D (main_Expanding_One_Dimension_of_the_Vector_Space_to_Multiple_Dimensions) >>
+>> endobj
+9247 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 453.591 206.372 482.657]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+9248 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.635 386.913 163.823 397.817]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+9249 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [335.397 340.289 362.844 351.357]
+/Subtype /Link
+/A << /S /GoTo /D (main_Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension) >>
+>> endobj
+9250 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9254 0 obj <<
+/D [9252 0 R /XYZ 90 757.935 null]
+>> endobj
+8990 0 obj <<
+/D [9252 0 R /XYZ 400.69 592.774 null]
+>> endobj
+9255 0 obj <<
+/D [9252 0 R /XYZ 90 576.924 null]
+>> endobj
+8991 0 obj <<
+/D [9252 0 R /XYZ 487.765 343.442 null]
+>> endobj
+9256 0 obj <<
+/D [9252 0 R /XYZ 90 327.592 null]
+>> endobj
+9257 0 obj <<
+/D [9252 0 R /XYZ 90 213.389 null]
+>> endobj
+9025 0 obj <<
+/D [9252 0 R /XYZ 90 190.455 null]
+>> endobj
+9258 0 obj <<
+/D [9252 0 R /XYZ 90 190.455 null]
+>> endobj
+9047 0 obj <<
+/D [9252 0 R /XYZ 472.811 89.441 null]
+>> endobj
+9251 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F8 540 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9271 0 obj <<
+/Length 1844      
+/Filter /FlateDecode
+>>
+stream
+x��YYo��~ׯ`�@"�v�$�� I&^��x
�af`�d{L�"�$5
��jv�TSm����"^��:������� _/�y�8�q�XR\�1BI��$�΂�K���5�//W/�f��\�(^V��^eMr�}~�$�����˛�*�ۼ*o~�2�ZS���*��5�W�N5+-U���8�ђE������_/~^�
��C�(d"H7���q���o�X
��M�)�c�Y�g���D�RL6��`W�6u�tJkqvA�ޫ���
��_��pБ�ÂnW�2�h�e�|M��
B>H�]�x�Q�D��[�ݣ�6��aE�e��U�'#���PժI���m��5��F��^3N2X�ba
�
�Z�H����mvÎc$'��W>�(lX�Ve�y�]����Je�Te7���\t>�8CG�B
+n����5�1� b�	�F�
�#z"8{R�� 
�lu�"P���Aw�� :,r��Q��{�
+o�

"ɴ�ĈCf^�i����$�!�H
 
�$D�Z��k�N�,O�2���n��F��F����
+��f�}3�@����j���,�G�8������"��pX�|@'2B��+��$�1�=$
+
��Q�D,�鑇~�ǧ0:��mUF���|e�m�o�l�xXS#ABt/JQ!"ĉ��9)JyhRT�xS��S����'��/�
�*�9Yq�B�� �<O��`P�1�n0�{t��E%��IM+
uЈ��GF�8��
t��t��4Vb��C\W��6e�aƀ�GF蚭�Op<֛�ΒZ�Y�*��9
u���I�M]�@p�Qr�&f��'��r���#�51��jXV���$o
���V?I#��h�F.��Xuj06�|����k�&�����e�F���\祎ԙ�B�Cن�����j0;MZվ��㊊eR
�p�P��P;T?�J�y�L_�u��e��e���e�1ٗ��J�D4H�<�H�
e��䠏��<3"ۇ�6;�U�@�CK
+/6�Ni92���q)�($�jOHg�!!�=��G�C��'����
+z�� | ?�D����))�
iy����iv��Z&�'4��F�>��~S�P��/�W���:S[��n�A�9�*h�!������eU�ݸ
�
4��fJ���G����J��)[��j3�ʻ�(*͗y���z�1՜�G�a&����<B���T��ޮ�\]��~���<�͸� �Q�|�8��l�Pi��?�C5�A�8팮�sQf�MD9�i['��s�*�:�-��gĬ[���Wl3_�p��G�S$��ȁ�,��
u� �t1W�o�{Sbk��?�4����>���K=4���w�b��L�\ yg8�o���"O�cP�[e��b[���
��s 2���@��7��{�ܣ�] ��C
Ӊ�0{D�Lm�F8��У�6�+pO�����ݸl�*�����}����g
�b��
|�u�����r�b]E�����*�x'���O¦�ILP(�rv��0ڎ��s�Aʾ%T�t����Gp���P0��`���,�LB!!�q
{����C�;�Ў��
�k�B���oB��gz
҇S�'z�t����ф���ڃ�>dB
;���p��O�.=`�n!��	X�Na��c���(�>ac��'���Bh���9B���zN�000}&Q&��X�C�$4FDF/Dճ�k�����H�ԿU��S�E������#!���

��
����%�\��U���d���r����G-J5S�. ��Ȍ�o�}c�����E��L��M��������


Pڢm��
ʻ3hu����UHF�
{�M5|X�K�0}�}��_x���
+endstream
+endobj
+9270 0 obj <<
+/Type /Page
+/Contents 9271 0 R
+/Resources 9269 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9281 0 R
+/Annots [ 9259 0 R 9260 0 R 9261 0 R 9262 0 R 9263 0 R 9264 0 R 9265 0 R 9268 0 R ]
+>> endobj
+9259 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [121.93 273.664 298.845 284.568]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
+>> endobj
+9260 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 219.178 208.246 229.708]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
+>> endobj
+9261 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.216 219.178 239.787 229.708]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_aa5e48e146300e08949a783b435f7672c) >>
+>> endobj
+9262 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 180.323 233.508 190.854]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_ad096a02cc969dcd4b8606cd77d501070) >>
+>> endobj
+9263 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.617 141.469 178.996 151.999]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a47e031aae6928828862422b0ceedec71) >>
+>> endobj
+9264 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.935 102.615 249.281 113.145]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node) >>
+>> endobj
+9265 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.251 102.615 305.729 113.145]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_af8feb908f5def7ba99abb739dd2dc6cc) >>
+>> endobj
+9268 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9272 0 obj <<
+/D [9270 0 R /XYZ 90 757.935 null]
+>> endobj
+9273 0 obj <<
+/D [9270 0 R /XYZ 90 733.028 null]
+>> endobj
+9048 0 obj <<
+/D [9270 0 R /XYZ 260.509 639.557 null]
+>> endobj
+9274 0 obj <<
+/D [9270 0 R /XYZ 90 622.83 null]
+>> endobj
+9049 0 obj <<
+/D [9270 0 R /XYZ 466.833 523.854 null]
+>> endobj
+9275 0 obj <<
+/D [9270 0 R /XYZ 90 507.127 null]
+>> endobj
+1466 0 obj <<
+/D [9270 0 R /XYZ 90 360.475 null]
+>> endobj
+302 0 obj <<
+/D [9270 0 R /XYZ 90 353.875 null]
+>> endobj
+9276 0 obj <<
+/D [9270 0 R /XYZ 90 237.778 null]
+>> endobj
+9277 0 obj <<
+/D [9270 0 R /XYZ 90 237.778 null]
+>> endobj
+9278 0 obj <<
+/D [9270 0 R /XYZ 90 199.043 null]
+>> endobj
+9279 0 obj <<
+/D [9270 0 R /XYZ 90 160.189 null]
+>> endobj
+9280 0 obj <<
+/D [9270 0 R /XYZ 90 121.334 null]
+>> endobj
+9269 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F79 505 0 R /F107 2332 0 R /F97 1188 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9311 0 obj <<
+/Length 1835      
+/Filter /FlateDecode
+>>
+stream
+x��YI��D�ϯ�i���^�Z�(� !T�P&3p	��-��*��%����^$[�g	[��_��{kc����wW��_ݼ���У�s�tB��
A��>q�OF.���x2�<u.����I��W2�E�c��E������G�d�6iYD?����(Ǔ��h��N.e=%�D1��4�� ��~��շ�W^�
;D��}�3�����߱����;�0p
���q)��̹���
+[��}kY��%+�
rY�� $!��7J�f��缟q>.���(���;�D	�Ŀ�2>��4�oӹy
�n):@�*iͩ�#�w�����~[�J�$*v�����9^�efT��Wb
�e+	�:
��Y�����;�vua
*�)�ǪL���_��~�4�7�C�<��a/�¬1�#�ҍ�8n�΢��G,E�ȍl
���"V_+�tiH�}z �ݳ��.�`�]Ӯ�� �T�K�
��F�#cwLK8�
��Na�I��]��'�%(�!(!<��'@+ �7�u
Z�sC+� Z$|&�E.�EN��:����'�8M��˫c�o����l�Z��h�yF�HLjx�6�����<x���s�D���w/߼1����Y��F�h!���3q��)�<��$$����bͬ��g�HN�8=`�g��G8K��#�e=u���i2��N�קld^�؛ף��
˔\�2Q&�.���e�>�3��q��
�D~m����ob��[�a��mso
*���!�̘��ԎQ6Z��R����C��rX�1��p���#O�q*�
�7CPV��ҥ�M�űl�e��8$F��7Ȫc�!�!�b�\B6�SXI�S�%����En�!��N��\�e����o��J���&��"��޴��V6�\�#E�Q�U�tÉ [...]
[}h
o4��?㸫R�Hz�!TSU����N��#J��m�ܿ��)�'0x��sQ�2>��� P1�M��o��W�4d�L�n�1�mj�ʸ�Y+�E_}��X��f��
7����)e{�9����>b�
[ӳ����&��,���.n!�B�ꇖ��p����
+V��D��b�I���|��*BJ��2�>>�����q
+~@ ���ً��(4��e����b�S]��n�v�
F�r5Z7mT�B%��O@��2?
�
>a`�~Ot'���l��Q�iQum7�S�UHԩ�W��jXbd�w�=��J�"�����S�3���o�
+L
բ�xUg�:�6 �ľvU&�̈��2TL�~{{���
g��M��m����
P�C�n����~��䢐g�>�P�Y�Q��
Y��x%�?��M
+��/����~�ފ�N�ҀT�Q0o�{�;��EC�
ğw��4��ޯ�{T��.�0!?�g@;�]2
�|�U ��x_�@��p~�V���dҁ�

+�pzPi%R`�W�9�]0������Ȗ�
��
�:�K�dg�
����D`�ňm���ΒQ�p�}��1�#��8Xk��k��IK�� ާտ�p<W�
��Є�#���6熊�N�"�3��B9��iq�"��2�'�v+b��^HW�l�*{�J�"�z^�&��JT��	����v��u��^#�pUT˪ֳ(EF�����NdӤ�86nI ^t�BGCѠ�c��}�3)�.�����Wk��js���o��˃,d-S.�2��lYfY9�|�8��Л��1��^�#
�����
�V�v/�<  	.�;��� 	�����!�}74�k�G�un�2�/ͫ�	4/�4��B�q����򀊆&����[8��v�t7R#�N��,���g�ڶ���y||Dq��"�j��7����vm�
+�*
��
:`�1�PA��� �8
+endstream
+endobj
+9310 0 obj <<
+/Type /Page
+/Contents 9311 0 R
+/Resources 9309 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9281 0 R
+/Annots [ 9266 0 R 9267 0 R 9282 0 R 9283 0 R 9284 0 R 9285 0 R 9286 0 R 9287 0 R 9288 0 R 9289 0 R 9290 0 R 9291 0 R 9292 0 R 9293 0 R 9294 0 R 9295 0 R 9296 0 R 9297 0 R 9298 0 R 9322 0 R 9299 0 R 9300 0 R 9301 0 R 9302 0 R 9303 0 R 9304 0 R 9305 0 R 9306 0 R 9307 0 R 9308 0 R ]
+>> endobj
+9266 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 707.334 203.265 717.865]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
+>> endobj
+9267 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.235 707.334 257.501 717.865]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a3d06dcc99da3a287c6881d2b1e43935a) >>
+>> endobj
+9282 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 668.48 179.743 679.01]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
+>> endobj
+9283 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [187.713 668.48 233.979 679.01]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a27ccfe6ce15264f53bda385c5d93d0c3) >>
+>> endobj
+9284 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 629.252 181.845 640.156]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a031ecc9f79496b10a1b48d6626fd98aa) >>
+>> endobj
+9285 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 590.772 176.505 601.302]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_af6356910030e23dc05bd4e500f073428) >>
+>> endobj
+9286 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 575.777 450.955 585.682]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a031ecc9f79496b10a1b48d6626fd98aa) >>
+>> endobj
+9287 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 540.585 220.22 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+9288 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.719 540.585 317.355 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a81497d1095efd042cd3034335a3d19e6) >>
+>> endobj
+9289 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 501.73 220.22 512.634]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+9290 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.719 501.73 331.582 512.634]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_ab6e5b1dd2b5b7cc9dae9b4ca656cd05a) >>
+>> endobj
+9291 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 420.968 197.257 431.872]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_aebe39b79533783e53ef583a9ea308fdc) >>
+>> endobj
+9292 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.594 420.968 307.941 431.872]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node) >>
+>> endobj
+9293 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.883 382.114 233.188 393.018]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a4d75a1f9b3e618d337fde1b4de9fdac6) >>
+>> endobj
+9294 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.99 382.114 324.123 393.018]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9295 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [359.608 382.114 425.252 393.018]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9296 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 370.158 179.554 381.062]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9297 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.433 370.158 394.097 381.062]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_afe89a5e748cfb2fabd6c6d46458f0d4e) >>
+>> endobj
+9298 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [466.634 370.158 513.996 381.062]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+9322 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 358.203 128.635 369.107]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+9299 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.798 343.583 365.997 353.488]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a263d8e40807241816cef0286661553e1) >>
+>> endobj
+9300 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.923 319.349 207.756 330.253]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
+>> endobj
+9301 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.746 319.349 237.62 330.253]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_af4028a0ca64c5e195dd0ca98834fd3c1) >>
+>> endobj
+9302 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.978 319.349 319.111 330.253]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9303 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.344 307.394 236.121 318.298]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+9304 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.123 307.394 343.766 318.298]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9305 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.798 292.773 328.634 302.678]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ad9cea1b6b01c041b1d247c81b3279314) >>
+>> endobj
+9306 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.745 268.54 203.471 279.443]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_aafdb58651683fa65f4bbfccf374249ff) >>
+>> endobj
+9307 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.788 256.584 209.431 267.488]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9308 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9312 0 obj <<
+/D [9310 0 R /XYZ 90 757.935 null]
+>> endobj
+9313 0 obj <<
+/D [9310 0 R /XYZ 90 726.054 null]
+>> endobj
+9314 0 obj <<
+/D [9310 0 R /XYZ 90 687.2 null]
+>> endobj
+9315 0 obj <<
+/D [9310 0 R /XYZ 90 648.346 null]
+>> endobj
+9316 0 obj <<
+/D [9310 0 R /XYZ 90 609.491 null]
+>> endobj
+9317 0 obj <<
+/D [9310 0 R /XYZ 90 559.678 null]
+>> endobj
+9318 0 obj <<
+/D [9310 0 R /XYZ 90 520.824 null]
+>> endobj
+9319 0 obj <<
+/D [9310 0 R /XYZ 90 439.942 null]
+>> endobj
+9320 0 obj <<
+/D [9310 0 R /XYZ 90 439.942 null]
+>> endobj
+9321 0 obj <<
+/D [9310 0 R /XYZ 90 401.207 null]
+>> endobj
+9323 0 obj <<
+/D [9310 0 R /XYZ 90 338.442 null]
+>> endobj
+9324 0 obj <<
+/D [9310 0 R /XYZ 90 287.633 null]
+>> endobj
+9325 0 obj <<
+/D [9310 0 R /XYZ 90 219.264 null]
+>> endobj
+1467 0 obj <<
+/D [9310 0 R /XYZ 90 123.945 null]
+>> endobj
+9309 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F23 368 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F11 446 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9364 0 obj <<
+/Length 1594      
+/Filter /FlateDecode
+>>
+stream
+x��YYo�F~ׯ P !�h�Kry�M'��v��J��ZZ�Dy���E�{g�E�r,�E_lj���o��H�]iX{�{3�
]���wLGM5k�C5�6�h�:�ȶ�>��C�`=,�0&ֳ���M�08�.�����

�aaO�.c�}�b�m
��|<eS&�Y:f �t��[�o|��
�z_{��jP���I��
�&0�^���=�F�J4۴����~��֕A>�f}'�BءO~'���:
�b�o�Ȳ}y����R86LXUDc9v�V�_�<1p�)����<��Ȯ`[�Wr /�^H
��G9�-��.J��l��$da%��
�b��Y`
��Z��1���cQ��jُJ�"����lbj}�D�W�.������m�JA�ڪ-P�� Y9�U/L�.����,��Y��9��+E�S�BX3K�"����"� �������i4:��.8���}t����
��fãφ�����(8����(Ul�{i�>��<�ϱ9|
6l at l�ۊ
C���el��H E�iVܧ���*/��l�Q+b�ܰ�
����S�5
�׷ ����p��:�gc��l�x)�+�dEpxtz6z 7,b�������`G��|�
"���u|�4$~ X��
��!'��o?
:���N�B [...]
W*�r�SG��r�ZM���,��4��C������Y��%4����J��]`l�M�mVOY��y"��U��h
��R��#
IͶ��jf<a�e]
��q��%;�ŭ/ɹ���8Ykp}%,-A�@X�c?�x�E]�	��,�'�(��EͣP9
+�_WH����U�
�.&|������X��a�
+.���:� �]p-Ir��F���q](vH�	rY*�:LӾ�K��r�zÿj�$b�(��(����p���Ee�"
+A�BT�u��<�&O����
+�5�(q9�(T��m�����u8��O�y�>� %m黋gzp���ѰTU�K>���0h*OM�1"&�CJ��p6��+q�OF��T{]]. �!��=�

+�ML�
�:)`�jp�/0�
i.��Y��تu��K����\�S��S�,��w�T(�J�"
�*@��ME�$�):�gE=�e	茈c6�O0�t�c٢eV�B��\�4�
��D�rGٜb����������#���c��G�$J���A~ۗ��y������=j�C�Z��/��;��67N���B�ݤ�H��v�Ȏi�b3}�\V����܇��*�xR��M���PoH�k�I'X�7k���n��)�fE
v��X%��ЬМ��>Oݦ��]e�YH޼RhY�|Ns�2�dU#����e�8nc^��e�<O�g�@e^S�Ym�Vs��X��ε�C��Պ��
.���(�l�U�[e-�E�-LRu��;�x�$&>�l,�|����+
0��\!>S ����ɯ�G���G�W�7��2��D!���ǧ�/
Jk;	�Y���̹(V�_��wDF���:��{���O?����;m�g"�6��uU�{����
�h�Fy��j���`�]^��vISD5/n��h�gL�j�R �?���
+endstream
+endobj
+9363 0 obj <<
+/Type /Page
+/Contents 9364 0 R
+/Resources 9362 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9281 0 R
+/Annots [ 9329 0 R 9330 0 R 9331 0 R 9332 0 R 9333 0 R 9334 0 R 9335 0 R 9336 0 R 9367 0 R 9337 0 R 9338 0 R 9339 0 R 9340 0 R 9341 0 R 9342 0 R 9343 0 R 9344 0 R 9345 0 R 9346 0 R 9347 0 R 9348 0 R 9349 0 R 9350 0 R 9351 0 R 9352 0 R 9353 0 R 9354 0 R 9355 0 R 9356 0 R 9357 0 R 9358 0 R 9359 0 R 9361 0 R ]
+>> endobj
+9329 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 623.453 244.968 633.983]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a0683916154cde6bb308ccdd9c22e1ece) >>
+>> endobj
+9330 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.738 623.453 354.347 633.983]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a0683916154cde6bb308ccdd9c22e1eceaed708535b4103023ee1a5d24ea5ff7b3) >>
+>> endobj
+9331 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [357.336 623.453 471.238 633.983]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a0683916154cde6bb308ccdd9c22e1ecea3581e26c004ac37575fd4449822d09c5) >>
+>> endobj
+9332 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.85 608.458 248.745 618.364]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9333 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 584.598 243.862 595.129]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2) >>
+>> endobj
+9334 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 569.002 247.628 579.189]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2a2b86312f1e0350f49b28c23bd3815e9c) >>
+>> endobj
+9335 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.254 569.002 400.463 579.189]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2a31110533316a56c835287f82cba44ab6) >>
+>> endobj
+9336 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [404.089 569.002 513.996 579.189]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2a624c8a3766d76f8eabbb18e9270b32c1) >>
+>> endobj
+9367 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 557.047 135.27 567.233]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2a624c8a3766d76f8eabbb18e9270b32c1) >>
+>> endobj
+9337 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.259 557.047 284.271 567.233]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2a9fbd7fce64abd6f1a6459300d77884f4) >>
+>> endobj
+9338 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 540.763 304.186 551.293]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2adf2b5f608f0f0f055f58d9bedb694855) >>
+>> endobj
+9339 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.85 525.768 248.745 535.674]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9340 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.764 501.535 350.54 512.439]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_abe6c178703fd2e036909f2cbd6cee470) >>
+>> endobj
+9341 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 420.772 169.043 431.676]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a06368fdf7c40ae26305476c42e412172) >>
+>> endobj
+9342 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.859 420.772 238.502 431.676]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9343 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 369.963 169.043 380.867]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_aa0b6112961e31a5f3439ce53351d3c20) >>
+>> endobj
+9344 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.859 369.963 238.502 380.867]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9345 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [343.885 369.963 400.662 380.867]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+9346 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 320.15 169.043 331.054]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a62d38f242bfeb5c6d1a4ccdb28518538) >>
+>> endobj
+9347 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.38 320.15 251.513 331.054]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9348 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 281.669 176.792 292.199]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a38cc9e4158abcf9fa6fb719d079108d1) >>
+>> endobj
+9349 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 242.441 169.043 253.345]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9350 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.783 242.441 220.589 253.345]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_af353ca460687792eb573428e18467f44) >>
+>> endobj
+9351 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.926 242.441 303.059 253.345]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9352 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 203.587 179.554 214.491]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9353 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 203.587 250.666 214.491]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a25cc092f9c3d26be5b6dac41eb54186c) >>
+>> endobj
+9354 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 164.733 194.208 175.636]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+9355 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.948 164.733 324.249 175.636]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a1fe157210b8df0457fa5578d9fa466f0) >>
+>> endobj
+9356 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 125.878 170.687 136.782]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_abe6c178703fd2e036909f2cbd6cee470) >>
+>> endobj
+9357 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 125.878 243.314 136.782]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a56ce97c41ec068deda3ccfd81766ff83) >>
+>> endobj
+9358 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 87.398 170.687 97.928]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_abe6c178703fd2e036909f2cbd6cee470) >>
+>> endobj
+9359 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 87.398 235.712 97.928]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a785a8dddb80c0cf25b4b02f3f38b0631) >>
+>> endobj
+9361 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9365 0 obj <<
+/D [9363 0 R /XYZ 90 757.935 null]
+>> endobj
+306 0 obj <<
+/D [9363 0 R /XYZ 90 733.028 null]
+>> endobj
+9366 0 obj <<
+/D [9363 0 R /XYZ 90 640.15 null]
+>> endobj
+9368 0 obj <<
+/D [9363 0 R /XYZ 90 520.628 null]
+>> endobj
+9369 0 obj <<
+/D [9363 0 R /XYZ 90 439.746 null]
+>> endobj
+9370 0 obj <<
+/D [9363 0 R /XYZ 90 339.243 null]
+>> endobj
+9371 0 obj <<
+/D [9363 0 R /XYZ 90 300.389 null]
+>> endobj
+9372 0 obj <<
+/D [9363 0 R /XYZ 90 261.534 null]
+>> endobj
+9373 0 obj <<
+/D [9363 0 R /XYZ 90 222.68 null]
+>> endobj
+9374 0 obj <<
+/D [9363 0 R /XYZ 90 183.826 null]
+>> endobj
+9375 0 obj <<
+/D [9363 0 R /XYZ 90 144.972 null]
+>> endobj
+9376 0 obj <<
+/D [9363 0 R /XYZ 90 106.117 null]
+>> endobj
+9362 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R /F11 446 0 R /F79 505 0 R /F38 2120 0 R /F97 1188 0 R /F105 2458 0 R /F106 2337 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9418 0 obj <<
+/Length 1734      
+/Filter /FlateDecode
+>>
+stream
+x��YIs�6��W�R��M���t�t��n{H2
��,N����*��HJ2%K�
4������`�����_/G'ol�(�o]ά[�O�G�u�X�m���'cl��	�Y���|L�]f�9Oj}H�jV/OO�ߞG���L��*��xB=l�eL����x�͋�â�'��x������ѷ��E1� �g����Wl%�����N��fTn�ԁ6�.F����f��ZSآ�-"<�� �{z���\ԅ��bBN�Ox��7��	lΒIYdK�*�jG��dY�7�4����-�տr�۸,��S�B�/'�
ƴH��5f��t�*����uZ�Q߶�����|'�"ߥ�:(4��[[��<� ��41}
+��� ��l$�ޜ�:�`Ï
���I+qQ�-&��b`������
"
,����у��1.�d3F�S���W
d�஌�6�m�T��M���
c��i�J�#�
�$��X̣$�y!�&"bE���'��ں�ݭ�eŇ��Hd���ݢ�T�j��ǐ�u��VP������� �x�^�M����.��o�\���x��ݨZ=����b�y��F�Bjx�^���m8�
z����wi��n�������������=8lz�UK��S(R�R+��߼��m�l|���
B�})͉�ˡ�^T
KC�
�:���k�܌����t�E•���]_+d�&��n��C29@��9�JS�.k
�	�[|
`ф��
;9�9����
�;:d�p����\�E�h���B�e���p
ULj� 
�O�&�
�u����N
��b)$����'���`v{VBB�
[`�L�@B��SB�y"�^�^�e��TD��T��Uyݝ9`����r6籢ۿF�+�N�T�
$�SQ�	#TF$l
�|��]��8�Am+<tmՀ
]H&��y����F���X�4O�sqt��T���������X_C�z��	��t���l���%{p;؃�]\yi\٬�rMI�$/���P�ޏ�0K�E(��gA�@֋q�P���;���:6�d	��_�w,���G�V,�6
�o2UJt!}-/�O����j�	�Gq!�����̑�
aذ�����I_��c����s�r('r 	:�#��}B4t�q�W
��a�UA�N�g� ��.Ώ�Y�8M�d�WOl>�ԩ�B{9����~���r1��
z�v`�*__��}�z�Y�F !Y��pvN���
.��.�ּ��;dڏE�y��U�?郒�C�8D	�	t�ǟ؂�7
:M��W��Q��q����dz��X�C
����ˊ�L���_Jk�#ΫWCշ�
�{���d

���v��,�i���?�
�[��}b�t��q�� ����:k+�����Ծ��Ԋ�"n�:��Z������5��/��ƈ`��FԐ��n��Ղ��
죐G�6ǧ��d����qو� ���S����Ƹ�� X�`Y/�����b�\��"{9��)$��^g,�+����
!O�oS��Qx�s���2�w~�ji���R�,2s�"�Z��� _�y탂���y}�\S�6�\�357�P5{�1���@�9n�ssfp�^���.^��K��'� ��`Ew�����j�E]�Q{4���
+n������*tEZ2����\��������-���Q*O�*;YS�ƞ��U�g`��N
��3x�7nm�����
+endstream
+endobj
+9417 0 obj <<
+/Type /Page
+/Contents 9418 0 R
+/Resources 9416 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9281 0 R
+/Annots [ 9360 0 R 9388 0 R 9389 0 R 9390 0 R 9391 0 R 9392 0 R 9393 0 R 9394 0 R 9395 0 R 9396 0 R 9397 0 R 9398 0 R 9399 0 R 9400 0 R 9401 0 R 9402 0 R 9403 0 R 9404 0 R 9405 0 R 9406 0 R 9407 0 R 9408 0 R 9409 0 R 9410 0 R 9411 0 R 9412 0 R 9415 0 R ]
+>> endobj
+9360 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 696.376 155.265 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a04f2cd33bf24eddaa306c392810004ef) >>
+>> endobj
+9388 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 657.148 278.681 668.052]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a6ffb7a29c69bf20f56f8ba9f16dc74b8) >>
+>> endobj
+9389 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.497 657.148 348.14 668.052]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9390 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.7 657.148 448.343 668.052]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9391 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 607.334 285.316 618.238]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_aa221ca31e0aa489ae726efef9234c6d7) >>
+>> endobj
+9392 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [312.653 607.334 369.429 618.238]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+9393 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 568.854 194.567 579.384]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a934053580363fb6c281a614d593231f2) >>
+>> endobj
+9394 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.904 568.854 265.411 579.384]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+9395 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 529.626 198.443 540.53]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a1c6db3c7a9e8bcc79574dfbb087cf996) >>
+>> endobj
+9396 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.78 529.626 303.607 540.53]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+9397 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 491.145 187.583 501.675]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a6dd86308a6aa3b0a99e7464fa6d64534) >>
+>> endobj
+9398 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 452.291 198.383 462.821]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa7159523299c8f193184a1bda20d6044) >>
+>> endobj
+9399 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.881 452.291 221.755 462.821]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_abac8b241f6c2a61248fa768b9157203d) >>
+>> endobj
+9400 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 413.437 153.183 423.967]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
+>> endobj
+9401 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.681 413.437 187.783 423.967]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_aa7ceb834deaff6303def1cbe95373edc) >>
+>> endobj
+9402 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 374.209 153.183 385.113]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
+>> endobj
+9403 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.681 374.209 235.941 385.113]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a08ee3b2a32e3b7b8088a84a8beaca0f4) >>
+>> endobj
+9404 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 335.728 150.493 346.258]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_ae37362cbad36fd84d0896ab2f30679f3) >>
+>> endobj
+9405 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 296.5 191.817 307.404]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a8f465629efafec94694b1397a27469b4) >>
+>> endobj
+9406 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 257.646 181.845 268.55]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a77a39c345913dd490ff33b698d45b7e2) >>
+>> endobj
+9407 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 218.791 181.845 229.695]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a26a3ca0eb57793c00b0517a6856b8c10) >>
+>> endobj
+9408 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 179.937 154.727 190.841]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_ae9d3cb337b4a4a0fc296d2b5b742b7f2) >>
+>> endobj
+9409 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 141.456 176.505 151.987]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a2f2683794347b7bceb41d88e1b1412d8) >>
+>> endobj
+9410 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 126.462 450.955 136.367]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a26a3ca0eb57793c00b0517a6856b8c10) >>
+>> endobj
+9411 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 91.27 191.718 102.174]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+9412 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 91.27 288.852 102.174]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_ad750455647786b5cb28c5422930f0ec0) >>
+>> endobj
+9415 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9419 0 obj <<
+/D [9417 0 R /XYZ 90 757.935 null]
+>> endobj
+9420 0 obj <<
+/D [9417 0 R /XYZ 90 354.448 null]
+>> endobj
+9421 0 obj <<
+/D [9417 0 R /XYZ 90 276.739 null]
+>> endobj
+9422 0 obj <<
+/D [9417 0 R /XYZ 90 237.885 null]
+>> endobj
+9423 0 obj <<
+/D [9417 0 R /XYZ 90 199.03 null]
+>> endobj
+9424 0 obj <<
+/D [9417 0 R /XYZ 90 160.176 null]
+>> endobj
+9425 0 obj <<
+/D [9417 0 R /XYZ 90 110.363 null]
+>> endobj
+9416 0 obj <<
+/Font << /F70 402 0 R /F79 505 0 R /F56 367 0 R /F107 2332 0 R /F97 1188 0 R /F106 2337 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9458 0 obj <<
+/Length 1650      
+/Filter /FlateDecode
+>>
+stream
+xڵYKs�6��W�R3�N.iRg�6�븽$
D�[�BBV�_��H���8�D �X��/��ZZ�z;��f4�
���w|��֊��Q�X7
�M0���`��1�6�26�;�.��/*6�=�W��^\\�z5���$��yʳ�ġ�~�����k~��2�cL
�����w�_nF_G��Qb� .��l��
�0���ȍBk��2�s\�M���?Gب���*FV*��T�8¡8.�>�j^s��r#�Xq3(K��N�3�I��[�͆⶷1�YQm�b
�˄/�]R��%���H��� ���3Ʈ&���<��F��Z�t�s ;5DHYv�4�K��A�Q� .�}#���
�O�4@]�
Y�&7:Ϥ�fb[�wI{�1��7����3�"�gڸ�

�gL1�#ښq��⠎}�8��
kB���w
���X�d�,���&a.蟀wp�Ιp�>
+)=��N|�0k`��!�!�w�:s�q`���L�?nXY
;���"�\Y�!�$bu�	@��f{�
Enx
�Q�
�̸}]�*R����b�h��=&��,]��K.f��T6\
���� ��x�0�C���2@'�c�B�����ո�G�G�Xύ.O��IH
��
���k�  U���\�g��(
�0�k��
+�3:.�E�=1\�d��j�H2��I�?
�v��*n�ˣ��i jcm'���-�

{Bө
�<� 
��҈} M23=�i��N����{��GS�#���
S����P&4$���d��}�9(�Ҿ$�Hb��j=O��{����\� ��=eKM8T�	��z<0k}�Ѱ<܌}�)���c�t�!	�'�:{Vv\ms
�9w����a�b�"Uw����)M����/d=�zQ��Q���Uo�Dk��L��
�B��~�S��Y�
;W�m�gؕE-*Ό�
7pQ��T/B�]����B���QP�]:)> J��~�8
+�p_�걓(T��N��c-ʵ�AZ@�i���1��MD<Iv�`��#�
����H��
��
4������#by��������"j����/@�n�ؗ<NX
+����ʁ�n����6e���=�#��|�p��
����y�z�K�&���u\%�0��xy{����o+U}��5*�-U���I�Ye�1����-K�&*5 h
�ۯr=[����[�=��MT���
&y

n>�^.;�v�'((Uڇ����Xw������7M� �꬛w��)(�p�v��Fj)�]��.�O�C��W�;y
X�iOT�{�e)�A�NO9�v��C.Ǒ>�Ī��r+R��w$\���$���hTm��.H at -A�ʊ��'W
ߤ�v0�v���)�m�.`���@�j �^a��!W�b��ͱ�݉�^��������zL�N�A:;����'��×����0�
[���5�$��_ЇhR]!Z�^(
�THϛ��9��a�jd�@�Z3K��Ԑ�N��uoϟ�P�@|q�I�
�κnP��Ƒ+�n��_�}H�$<��]=�C��Q@��!PȺԄ�.=4��|65I�¤?��y�ӘR������)^"�����8F�H`LJ�ț~[���Ռ~�%�ٓ��P���eZ	Q^L����5Z�IY�DL�2�����@�
vũ��d�.T`2c������Mgd�
+endstream
+endobj
+9457 0 obj <<
+/Type /Page
+/Contents 9458 0 R
+/Resources 9456 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9281 0 R
+/Annots [ 9413 0 R 9414 0 R 9436 0 R 9437 0 R 9438 0 R 9439 0 R 9440 0 R 9441 0 R 9442 0 R 9443 0 R 9444 0 R 9445 0 R 9446 0 R 9447 0 R 9448 0 R 9449 0 R 9450 0 R 9451 0 R 9452 0 R 9453 0 R 9454 0 R 9455 0 R ]
+>> endobj
+9413 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 696.252 191.718 707.156]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+9414 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 696.252 303.079 707.156]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a2a7a0b9f3dc8cd6d55e839e20fa28f12) >>
+>> endobj
+9436 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 657.898 156.281 668.802]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a450dfb042f6d81fb394227bdbcb6fb5a) >>
+>> endobj
+9437 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 657.898 215.23 668.802]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9438 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 619.544 219.234 630.448]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2) >>
+>> endobj
+9439 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.732 619.544 311.916 630.448]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_abfb5615fad7429cb2c340d763df8a43b) >>
+>> endobj
+9440 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [315.731 619.544 422.161 630.448]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a0683916154cde6bb308ccdd9c22e1ece) >>
+>> endobj
+9441 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 581.19 224.993 592.094]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_ae6a4663bfee916adb9330010328493d6) >>
+>> endobj
+9442 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.808 581.19 334.132 592.094]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2) >>
+>> endobj
+9443 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 542.836 255.996 553.74]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a86401a66d7add563a9fec4a610ca33b3) >>
+>> endobj
+9444 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.812 542.836 325.455 553.74]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9445 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 504.482 179.554 515.386]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9446 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 504.482 303.238 515.386]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a1fefbce40046822771b243b1d2f1277e) >>
+>> endobj
+9447 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 424.444 203.075 435.348]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9448 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 424.444 296.324 435.348]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_abaa2167b4f8ff4184a73ebe46aef2720) >>
+>> endobj
+9449 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.005 410.074 327.9 419.979]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9450 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 317.879 226.034 328.783]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a77abbac6ae63133e96588f4b57b5c861) >>
+>> endobj
+9451 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 317.879 376.309 328.783]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9452 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.682 279.525 157.048 290.429]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_ab31e5714def3177833661bb27f9aff79) >>
+>> endobj
+9453 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.63 279.525 327.845 290.429]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9454 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.781 279.525 513.996 290.429]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9455 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9459 0 obj <<
+/D [9457 0 R /XYZ 90 757.935 null]
+>> endobj
+9460 0 obj <<
+/D [9457 0 R /XYZ 90 715.095 null]
+>> endobj
+9461 0 obj <<
+/D [9457 0 R /XYZ 90 676.741 null]
+>> endobj
+9462 0 obj <<
+/D [9457 0 R /XYZ 90 638.387 null]
+>> endobj
+9463 0 obj <<
+/D [9457 0 R /XYZ 90 600.033 null]
+>> endobj
+9464 0 obj <<
+/D [9457 0 R /XYZ 90 561.679 null]
+>> endobj
+9465 0 obj <<
+/D [9457 0 R /XYZ 90 443.168 null]
+>> endobj
+9466 0 obj <<
+/D [9457 0 R /XYZ 90 443.168 null]
+>> endobj
+9467 0 obj <<
+/D [9457 0 R /XYZ 90 363.131 null]
+>> endobj
+9468 0 obj <<
+/D [9457 0 R /XYZ 90 230.725 null]
+>> endobj
+9456 0 obj <<
+/Font << /F70 402 0 R /F79 505 0 R /F107 2332 0 R /F97 1188 0 R /F56 367 0 R /F11 446 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9476 0 obj <<
+/Length 2874      
+/Filter /FlateDecode
+>>
+stream
+xڭ�r��]_����
�$xj�Ty�e�(ū<�][F�.�1�Y�r�{��
�(���' �F���d��z����뛋���+�"�R��������D�ws��n����vA��ކ�F��|w���MW?ܩC/�������������u�
�M��U��EI��c-���?���Ӫ-��PlDm����ۛ�_/B`+�B�F���H���x�K�
 ����Ƚ{��xq$���7��H��G���<��,~�&t���(�ۛu��%�-���F
���¦�Q���C�������6j�۪ki�C?�}��f�װ
+$[
i5�&�U-��H���z�hӵ�[�S�t=CN��	���	�_%'�~�@�^%�
��i�d/5�~ ���BT�|wy�a�����E���o
+��8U[���I�ʮ

+�Ӹ&��a�6a�Bk�F][so]ʼ@wf�����J�0@	~�i$��xow	XSwA%d
���n�d�v%̩Ú@��"4�W�c�/1�&�� ]��W>w%��-���u���tCuP�:0�~_��
*#N`�GV@&Y�'Y���x�[7"�"��ˑzpj��|���݁��.��a,m
+E���6�
�F�
+c}�Y~@��|�]�k�f�na�Xᾓ B���Z$g�Y
_�p��/v0CgnV��g�U�[Fj���pReu|0hk�U��| |�p�'V2?���T.���\���e#��p�M�ө�G�>�KA�Hk�2���U��Q��x]W�Q�	�;:��
ĆiG�-���'�+ZM7�Ć��Vd
�Ԃ��9�ZP� q�
m�����idx�[�U��%
H_�*���W�fW��%�(O-1DyF�C�����g���V�

�*��^��p~͙�L��E�B3q�U�&ة
�`������;�^
t]Q�~R�`i�@]}K��s�̶�owI$6�
K�I�Q����8`ޒ�4o�t�L�Y�Eב��uR����sv<�}Us4����^gI��(U�fO�sk	������٪�j�%K:D���@��
�ŲJM�����p5d�ЙoH
�I�bc�L�g��R�
!
+V�U79���� D�������@t 8L�c�ގ >�
���'�}A��Tᑈ�Q
��p���A�=@QoE��u�~��v�c"�B
t���ܨu�[;燪=
Wn>��c�N`|�4,R�܏��D�?�<�"��x�M5�p�8
�H�6~�?tЃ�N����3g�.d�
K8�y��\l2O��U�$CG5��sss7�YdSގYv��I�R�
D��!LZO��&0{HW�H
P�"m��b�ey`g���m�l��,�^sJ[��Z�=$�a0ei�]U^qЏ}�=�����Le��l2� �!y���yNs?	��(�a��(�EP,8uS[�S�<�Lf����1G[QR��d��"���!+)tj%��3j�R4–�
+;�Ra���ay��b�3=��5���!�a�%��[q\��2v(�R
�{J�dy��|Q��V h
+���q�-�&��Z�w$�1Ƨ7�c7iV�1�	 �#���z3�e��n����V9�Ǫ�k~�+	W{Y�z����8o��W�.1�=�f_h��> ��f��
,)�,j�I�\
�V��ޤ����*<=S������N.�|�-�EQ�AF�?g��ƣ���
�
$r:���\I�%��

��3t�n��̄����l��0�D9g��%��a���
 V3��_pE���S�����B�c��XD�G�8mH��r8u-�;ιj"ئ ��FX
+�Yj��T�m�5w3Ώq��@WJ�D!!�"*�)Dl	q�	��:,V$�ռ�.i�W	��> 7F/���.V����}�Np_�R�B?�\Ąh/8"�I��k��-(�������+�� ��Ǯ�&��B<t��)��
a��mE:j�e��K�w��{(՘)
�p���
+ɕ9G�u�ù�睥��.'K؟@g*�z��U-ԗ�F�}ZNe`�9Z���d��<��A
��Lj�%v��#��p:n��!����4��X+-"�]���¹~Zw�0�_G�Y�C�^��^c�
+�E���@�;?��I��� �
���CR�M���Aъ)� �F����N���^��l����#�h���kN�QR�%9���j�[�J
L9E)</�:GF2�E���FO	��
���Ub���~�o�?�'OD��������ɫ�7Q𓎴qcP
�ZL̋��D�)�j�F���,Y��
+���__�T����3떯tO>�~Q�\r���'��8˘��<��N5��
3�Iߴ��Y4�}j�”ƨ�k��
����P
�A�*�:e�e~�I�~�O�D���*�������pv�������� ��������$O?�◬���)�ę�;P���Ǥc�UZ0g�:eW̑�zg�m\<���-��Y��;K���TfP4��ȟ���Ee�Z��sو���n4'� 2��鑁+��@����,��-&������}_�|�Y	<ϼ��I�+հ��vD�
f:Y�ܱ�-~T�X���sM��q�5��-\c��R��G�ai���*��>>xD�KL�u�6
���4��Ǿ�S�L���yo{E���k��6�kx�+j޻s�!*(
׮�ݞ5����7��m������*8<T
�cX%����5�r#�a�"͗����9���9^;��ψ��q���;G����9�<����P�d"�&�5q�%���D�0�C��
��	�cP=����_e{6_�Q!8��� J<T���(�G�s}�L��d�3�a
�A69��q<]]^�����������xy:՗��
+�
+�MN�{G��_�u�FNO
���
AY*
+endstream
+endobj
+9475 0 obj <<
+/Type /Page
+/Contents 9476 0 R
+/Resources 9474 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9281 0 R
+/Annots [ 9472 0 R 9473 0 R ]
+>> endobj
+9472 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.07 308.855 328.202 319.759]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9473 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9477 0 obj <<
+/D [9475 0 R /XYZ 90 757.935 null]
+>> endobj
+9474 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9484 0 obj <<
+/Length 2354      
+/Filter /FlateDecode
+>>
+stream
+xڝ�r���_��J���Igz��$mZ7v�r���dáH��������b^$�v΋,�����Cģ�.�|{q�e���Uy�G�ۨ�Q�
��"��D��4Y��|q�|!����^�|���G������}'��w�__�]wKQ.��Z햫8���4��ߩ�r˪Y+ �"Y$U��������^�t!�-
	�FV�"ɢ����<� �����*�g����8�o
�\��O�G�
+.�JB,.ʨ����j��X�z��Ѫb)|����p���,	f%*&�*Z���Dn�q/L[�n��N���54~���F?b�Qkm�MM��6j���n
h�S
���ƪ��?�
`l'uc�o���w
V�(W�rA( �%Q�{Γ2)��8�4� �AVeY��b��3����U&%���AOU�0[�^,��)h��J���U���
�H�8)���H�
\-V��[y���2��>(��V?4ݶ���]0q ����)�:s�\rDkN6|�3
�v�u��G�:caU�)�
�d��Θf@��|�Y���1�!OV��>��3����G�4\}T��j�Xp��W��j�Q�<O�7tt�
�;@׶�@����y~�=�M�C���K��W�M
$;�\��E�~F�"�
ٜJ�m~�F]Rh"�`0�' C{II�e��Cd95ꜥ���^9 at Z��8Q̷mG� b�S�mMK�u�u��[
+
�z�y����|�O0%1�#s�9���E�XY��%p5Q!�<€�bч�?���"�Lk%�S�DQ�[�d��
�5����ʄ�q�����v7w���?y��9���`P��u���=� ��b��;��w��Hs���#���S��# Fx���SM�r��NɆ
sl�S
;�9��hd�f��Ѱ���W\AG����r��<ii$=�e4
���h'�4�`۵�C��(���4Aoj�f�Yt
�&!3���f�
�>��CL6υ̪b	/���g�ǙȞ�N��|��_��e�Ҳ|=deq
���o�����0��9���
�%�_��Phhdm�e=sdR0>He��?��wn�pMo��CMs���X>Q at -TAIE�̉8X����b�tB��:�L0�j
�L
�fs�p0a���e�
�,ܪ�K�Xh�ս3{�q
O=v�%���.:��VF�^F>a���e�s� 
��E_>�:��rz�v�"�6�ݜ�������&,�:}���KXh��pr�>�b���B���=��=V��Z���*M����N��B��KƳx\r�f'����k�� ��2
+�kK�]̆���<7df��-z���WۗT���>:#�ڣ�[������V�.DR"C���ÛV��{�Ί*W
c]��g�b�' >u c�m���\������@"ʼ��$'�o��j��vT���f|�4��l.l�)g#۝^	�q�m�vo�N�gȥ��8��`t�!ҧT���
t��*�_4]��0��g�y������A?
�!B�O��ɭ�=/f����	=�
�W
a�wԣw�Y������1i��}����	�> 2h9(h-����Ԑ+#sj�l�����T�1��˘:��	q��,�q���r�'��5w7X��n2�&�
H̞�o��n��*��k3w��0(Tg
C!��؜�$����B�
+�}#����W�CK��a��C9j���婘\e?�����*�
ob�����


-x
X/����?٤����t=�;Ҵ��~ f�r��6z���T.�>ٽz�3`�lN���
o����/���|A�������
��	�0B�i8	Q�H�r��=~�g1��B��hc��
��L�j����4H��Z�t~�,_��d�i��7��D����i7m��<�G����g�8/B!�B�&��e��g?��{�K� �1����
(7��{�
8q�`uCn�#�'Ck P�^�'A���WN
׾�
�8�d���R$��c���
5��ݍ��`�
�h�y!r�s�V�
]�(.у�k�\�Q@�^���gd����þ��P�%���9zK����H5 %{ ����/�\ 
��
����
͇��S
^b����
lDΊl�G%�
�1}8t��U%Ȯ��~_MB‡>����ۀ8�P��[���/��п���@_�v�n
s���i-�O�E3c�;�Q�R�A�rM[3-�/�X`�������[��q�怡�`�I�����*�t�f�ϩ��9���)����h�/���[f�����l!��7��v�/�9�Z_�ݨ��t��0�+����(cƋ���v�������A�>4z�1m�����<���(DD�з���
n���P1�T��ҡ:
+endstream
+endobj
+9483 0 obj <<
+/Type /Page
+/Contents 9484 0 R
+/Resources 9482 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9486 0 R
+/Annots [ 9478 0 R 9479 0 R 9480 0 R 9481 0 R ]
+>> endobj
+9478 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [124.7 358.252 179.832 389.221]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9479 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.226 149.071 200.359 180.039]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9480 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [121.382 139.98 150.891 150.51]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_abac8b241f6c2a61248fa768b9157203d) >>
+>> endobj
+9481 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9485 0 obj <<
+/D [9483 0 R /XYZ 90 757.935 null]
+>> endobj
+9482 0 obj <<
+/Font << /F70 402 0 R /F72 404 0 R /F56 367 0 R /F23 368 0 R /F11 446 0 R /F79 505 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9496 0 obj <<
+/Length 2295      
+/Filter /FlateDecode
+>>
+stream
+xڭYݓ�
߿B}���\���䛦�fs�K��6��K�����Ė
}�f'��^� eʫ�ln���/@�@��}���_�������A��T���.�y�R�)��2�.���b)8���B�h���v!y�
���l��?�M[�O�����m�Y�l��Xʄ�_
����z�Ͳ����TDa�Nj����+b�@1�T����w?���΢<


�1�e�!x��+nU�lIE(�+.PE!�*
��O�s��]�X��&hq�j���)5�Ұ,Ƀ���c��-�$�o��-��_�9U'�5�����{�p��7���m�zv
� ˠ��R���pQ��
+M����g�Uaa�z����ɩuև���p�^����Ie��8��S�DSNXZ���4��f�䮫�몾'��vփ;��Tu7M,R��.=˓�3�s���]�1�&�^/�vK�� Ndi�h�m
b���|�^S����!��
"c��t5N�/h���
��U3t�'��6����r�8m�8�|�
+���U�'�k�Ox�V=;�΍
���
+���]��^�����j�m���
鳲�}g�0����Hf�n�����q�,�� \���,���M�W�e���)��*�q�E]Z�E[
5��[h�;����n�M[ڳ2t�Q
|Չ�c/��@����X|��h�7��F�@\j�-@}k-�9	8t�;g���f��t�&�k��E_S���l�r^u�K�����v�B��WȌ`,�a,f*��7�%m�܂��Ԃ5���"fQ�N���g�\�%_:����%zC���(	�}���
R�<n�_��&���y�ƧaY=ؓf��).?���&2D�~�ٲK��ܢ|j��ݴ��l�'&�������]2�� �B{�X�I#	�k������O����O��.�
u�;�k�SPi��g7U]v���vO�΢�~�2o��Ų񜺩��^�$�_ h���?8
�΄��z'`�!6z��b�a�l�Lx~������˟	CaTP�gG3 at 2E�*����:{-Џi��
+�HFvBƣ�08_�!n�T{3-&�sn�bZs��@~[���ǽn��iB2q�|�Ű����ۇ�,�KT
C��M$�h�6Nj�ۦ�-�d �E��hq"�̨�'���U�YE�d���0�0���4
�s�uߋ����lH�\$p%o
p#;��;#?�AV��v)�uC�����	�0�+$�9k6�=�b�C����	
+߈(f�6�.���m�ٻN�V
-��y�DƗS�Cq��m���ݒ�J�\ϑ��Y?�I�d��X"xr���w;�JN�	���phw�P�9�RD�Q�	؜�~%.2��L"G��UiR)�y�� 9
KB.�V[<�2��
��

+�}e�
ַXV�~�liÅoд6h
�6�cnî{��CGЄ;
���{��9���ߤ՞��./"�4yE�q�h�\1}�+�M�P�(�`�\.�'f����(2`ۻ��
�̃8�g�7�l,m�ԶWX�z ׋�
�Vm��-��|�����
Z�ў��:=7�U�LJԢ�xϫ|u�O�W���|Y�|��\M+�w����N��%��hs�����6К�Ԕ�	�˯�q�l{
��T��2�H�(�_gDPLŹ__�7$�
+'���pH�
���3jg���kt>s`��E<<O�·�����Ԙ�fp��9 ���XL<
�k �E�4
k�q�k�{e��c�d��W[��n킉�+8�8�Xf1�B1~. �˰��u�&�$��t��K%�0�!�B
��>�J "���G�BVe��6bA��0YP�`,����4U���5�n"��r� /`�e}���3��Ox �*P���`�Y��h,1�W�-��,C~�+����>�״nb��zhbl
j�V
�<8��0�>T��:CnJ�O$��^����n����^�p���]>���Mk�9{Ş�f|���3�%࢙�c�۴{(	��	?�Ƙ\�Y��Gb�ϯ:�����=�ӸX��f�2����7F���	� Ж�����
+	�x8"��0+R��"�)�2I:'7�Z�֨�b�4����
�����g.��ϣS�X���jL?�Ss�Dw+��I�w���~�x
�,�c��U=~v,̷��s�iy��H��\d��_���ҥ����/�}>���������w����CC�'
���v�a���
\
�����=c?gB�
� /{?~�!�~
\��agiE&�k�}ߟV�׏��l۱��N-�����p��o<."��9:˜��v�
+�<������Z�
+endstream
+endobj
+9495 0 obj <<
+/Type /Page
+/Contents 9496 0 R
+/Resources 9494 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9486 0 R
+/Annots [ 9487 0 R 9488 0 R 9489 0 R 9498 0 R 9490 0 R 9499 0 R 9493 0 R ]
+>> endobj
+9487 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.407 600.096 393.75 611]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a5012c55d8fdb1420b80a3bfbe5a5b843) >>
+>> endobj
+9488 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.305 261.62 380.67 271.806]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a41a2c12dc16089ad91de449b4bc72bca) >>
+>> endobj
+9489 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [398.43 261.62 513.996 271.806]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ace96e068dfc0f943f7d0c8da778648cc) >>
+>> endobj
+9498 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 252.499 168.486 262.342]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ace96e068dfc0f943f7d0c8da778648cc) >>
+>> endobj
+9490 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [482.116 113.385 513.996 135.467]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a27ccfe6ce15264f53bda385c5d93d0c3) >>
+>> endobj
+9499 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 101.43 294.015 112.334]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a27ccfe6ce15264f53bda385c5d93d0c3) >>
+>> endobj
+9493 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9497 0 obj <<
+/D [9495 0 R /XYZ 90 757.935 null]
+>> endobj
+9494 0 obj <<
+/Font << /F70 402 0 R /F72 404 0 R /F56 367 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9511 0 obj <<
+/Length 3098      
+/Filter /FlateDecode
+>>
+stream
+xڽZY�۸~�_��H
��縶R������Ʊ'){k
+���)R!)˓_�n4�K��v�>��F��5H��]��닿]_\��E��HF���"�8,�bq�]�_
+��Z
����J�����J�eU�ߙm�o~�7��ﯮ�����M�ɲ�f�Zː/_�i����;m�� Q	�Ti�������/�{!�-���0f�
+����o|�����4Y���"�
+����ſ.��?(Z�2΃E,#&����k��8�Y�
��k�7��˕'w�C
h���<]�
����^@��['�������ʹ^�pYs�k�5WW��A�"\��G{;��w��+{_�CmS�
=�w�O4��-�v�I�����.������+.?�M^��w�C�pZ�B���F�7�F~,�	�*��x�q�$�
VpW�X���u �Ѭ8n��v�lB
WǦ�_o
j�4[Z��l`OA/m��
y�F&;I"�d��˭)�}^궲�B�ܫ���
�@+�@�1��"��F�-�|oJ�N�V�h��
����Nhn��h$V�ID��KG��[p����X%x
y�����d�H̙�ؒG
&�r�g�Ep�"�h|���
��@���#�$!�nw��,h�(�d
+����<�S��I9!�	,���
Ay�{&��$l9�!�2�1욼���}���UEQᾧ�j��k�,QT���R�g1ˑL=�����U��
��ŌPi��P=C�`*T�]sЙ�휰Sc���ą
(�SF��|9Q�1K��
T���f|P>+��V���•��U�Dt-���p����z��Ž#�iunsRظQ��43"?t8���6
+J���'�#�n��Ӏ*ʏ1�V�3D�P�
y���g�jb��ߘzlY�Xq#��(����ts62� $�s��(��j%x��"/E��I�%)
�-�p
�Gx&א$�J,Bȉvu����>nc����#�s`y�
}�����c����4�G��7I���5
!	<��K+L{2vb��H��6�q�S�JQ�����*���#�
+/u�
+j;�W����jk��~[��E22N
�2�
X���R²Eec�.NHW�a�-�脨ѕ�;ҺoZ��m���^�.ʥ\��\��\���9oli���E��f\{�'C)Q��
C,�m
i�}
ZL�C�(��#X������D�
Ɯ3OFnម��h� ���
	D����
�Q�@���O��7=���v4
��ֱX:�('N}
�G��������U.z.��n{f�<��Yy�f��
�7<
�"p
f��


X3��
���d�t�@���b"�^
XĂ���Q81¸*
+F�7P�莼�v�b�>=k�\�˱�����;mC1��A��
+�`X"p"w�Ώp�ʲc�4XZ�o�8h+
Y�h�ܤr 器��jB�c
z Ңǁ_���7��0� �43QKu�y.�����?Q
��I.�>�ij�]�p�Z����h�r��zW�t
y}Dj��V�f���)��������u�++�'K�&
� eA�K$<p�����gwy�}�PM�Ye��)���۱��9�dͮ��Ao7�	@%F��)8�p�z��|IC�9`�J%�M��aE=T�	o|�4�C{�C��p�
+�4��;_	��"M��d
;b�����|; ��_$, ��Kw�`�noK��/:)'�e� �]ڃ���ƸLd��-���n�r��<N����C�P����_f\`햌��훙a/�ж
�Qy<�;�u`;�A׾�v
|��ʣ��1,@D�x�%^���;�C��=T�d+4t#>;����JZ�a�
]�7��0���J���r
v��a�uk��ڹ�˥��k�������7L}q��;�А-Q3@svg�/͓/K�(��(³�RC�|�hm�:7�3�|��U�1*N��ξ�r�F�z
+�a����贃
��H�$�I�s�s`����kng` F_G�;������a� >�d��
[˄jN�
����� N��Q�jS�0z�
,4��X�Y,"|y:��}����,&џ�}�?�v�/�������?+�g�G>����oi\ӥp�QV���pg�+X<��x
l2ز�?�4�S�-SbZ�`�����ss�@��Z'u ���xSt���X�L����Gf� C�H�Ӂ)��������
�������38��jL{�n:B7���$�Щ0K�qN`�;��dhkQ0�aH�j'Ĩ
&,L;\��
:�,;P4�C*I���NO��m��*��mpG �����Ճa�
��;��8�;� ;�Mf$�	�x�>�%|�4V	.�(L{� u����'dI�������w��N0�Z�sP%�)Q�3~��S���~F�
�tb���~��
�p>C'e�H�:Qg:Q,�{>�8����>�48;^ G��O���މ|�`1���L�
9�X�PDŽ7 ��G�y�"�nܒ}^����>Cr[�ϊ�w}�
%���m��yܟ��9u�8��W_��6eIb�j&�� �oe�g�W����׏X���u�3�S�a�R�6B�� ������!
� ������a
E�
RP8�oȁ;
7�L�@I��K�2��8������B)�R2l��A$}7�̸�
+Ic����HcP�"|{n�45X #�y�J 9��ܚ�u�:�8�]߀�	�n2?M��E�-(됣�o�
��.���~l�p�p(�����s�-�)±=���d

Ɉ���
���Fѓ%0�O�5*�U�9h�g�J^��!�k�
 �R<��pg{_ }�[�=}+!<��s�!�^K3
��w�F�((b*
)h�Qfw-+���)a���3�$��Xg<�cC�g�U�P�G�\$VO�:�$�U��*L����Y�~
+��4<�E���+��7���߁��\Kp9<8�~�x��lS
��
M������t����^#@"��c�;�w?O�{���ѣ�A�
�ݘ��
Ͽ�����#,S�?Jp&�����w]?Hr}\��\�znE"�;��k������tbYÎe~�Y�^Bz�<? P �zh���}Uw���5������V
+endstream
+endobj
+9510 0 obj <<
+/Type /Page
+/Contents 9511 0 R
+/Resources 9509 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9486 0 R
+/Annots [ 9491 0 R 9492 0 R 9503 0 R 9504 0 R 9505 0 R 9506 0 R 9507 0 R 9508 0 R ]
+>> endobj
+9491 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [118.99 703.056 271.556 734.024]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
+>> endobj
+9492 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 691.1 183.967 702.004]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+9503 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [356.02 651.25 411.153 662.154]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9504 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.03 574.682 450.162 585.586]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9505 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.966 495.115 511.506 506.019]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a97ccf10304ef9ba8b58549f7570b8cea) >>
+>> endobj
+9506 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.428 321.989 299.456 332.893]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a4ec7c4c8093efb70675c35a17d6a7e28) >>
+>> endobj
+9507 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.955 236.534 418.715 247.491]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a86401a66d7add563a9fec4a610ca33b3) >>
+>> endobj
+9508 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9512 0 obj <<
+/D [9510 0 R /XYZ 90 757.935 null]
+>> endobj
+9509 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R /F79 505 0 R /F23 368 0 R /F11 446 0 R /F10 507 0 R /F13 581 0 R /F8 540 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9519 0 obj <<
+/Length 2314      
+/Filter /FlateDecode
+>>
+stream
+x���n����_��R�j<Wr��H7n�4ܵS��%�S�dIʲR��{�B�C�e9�����͹

���/�g��q��$�Qp{$8�#�%��"�
�8�L	�8��
��:���P
���2[��ݷ��N�������w���Ȱ����dJ?�Ҧ1�O�}�?g�<�4",dI4������۳��`
D�!b3��g�����	0b�
�j
p��
+n��q��H�QD	Ą1'����	���dʰ�i�<�/˲��f[��u�����nY�vf?5�f�LH�������.��*@�y
+*j̷�2_ٯ�P���a�[	���9�d�c
~](%��SBP"�T�26h�A�&{��,�q��ʹ��j�����Q�y�i�0;�]�
�&a��EИ��ҫZl���R�z�쟝b �$��
�F
�]�U�~L-��S�yY��μm��ʬ@�n9�?��@FD���ˇ:������w!B��tl^#�VY�%
��O�Ze�בr�bm�p^M�M��V_��
޴���=ƴX�=�vX�ؗ�X7k�l��Is$
Q
��G
G�c�
!(�d,:�����Q
���o��
��@S�w0���lޖ���P�j��M�+��t5�v1e$F
�ṣi�4/��*}�<�$��w�1��P�
�1Jbhe�#�CI��^D*<j�H�^�>J
%�G��!,`����!��u�=D�� �VQ�Q�p2���c9 �jI"��r�{�}�ƒ��z��
��R
+��%��D����Bp�<�i����.F� ��S�
"i�B�;���G�1��o��
+�	V�p��lӆ�
+�|� 5/יϔU�`��)�;=٘�<GPI
��y����>�Sy�W�
+��5=�
���"J��~;����<G���E~&ȗ�WF 
#"�� ��n�>�����:�Π6P%����:k��X�ߪzP���!�*��|_�V�r�-�|�\m@�b�ZR��CEm��?��A}��r.V��}W�$�G��S�� ֋�R��4�W
+������Q��F��d�����Qx)}���ͮi�����7(/��n�+9���ǟ?���� P��x
���G��$������MJN������E�@� B�#��B��
+1�_����Uϝ�i���j�\6�m�t��-�u�eY�]��]�s4�
r�vV,F��	{(�&k�f��]�0]�֜�wl���J�C��zj�R
�3 ���a֞}�2rS�
}�qhxQE�#T�G��&�r����u��^ -ϥy��Vz��
�vf�\�f�<
+��W�
]:o�{��R��y�t�����L
��lE>T^Q����ʧ�Q�.��%N��.�zk�0S9�AqzmC�,
~�L*0P�3[�zr� aU!���#�T/�)N�&d�^:�U�a;�
Q�T�� �#2(���($$�H�Ĉ��
��@��~�b�CZ���Ѐ�
A�hh2�bUG ���£+�Dt�R�E|e��И�rXt��y
�r�{��h\@Q�
��ɒ�D`iC���dI
x�	�"(�f���$y̐ �QJ���PQ2Dt7�)��*��>�s0�
&����s�e�t�v9
+��/\m:P=��u�9]
��ސ)��J@
ay�l��B�t:	
�����(��M
�&%
�Cz��M��AAPb0)��2�'�3��1�j\�7J�纸�cO��]a��A�[r$�8
+�hP�D1��p0L��9��RsR�s3`pX�C4�1 �6���/	
ԗ��:��
;̦�z�C�T�+;�n�"[�����`<S���
��
����<\d:�p�(.
�		{��g���x�hf��T�ܬ�V�&
�Yg�����񔌋>�N����
��<�̽TͷYո�| �%W�&ޅLj&V{��S��Ïj����XOqd��oT��,�X����
>i|�A�vqq�}�ڶ�B��.���p��
i{�;�V��}
<O|F�c(}�w��*?B+ ���9��O�A�c�a�j�����;��R�����΍����$esЖ�Gt(^�>J=y#�j���GAA��'��x���`Q�\�Mm�`.l�:k���8(��	 �H�Ҝ��8"�cE����	�P
� �U�N/c_�+���}/�gF!
G����S��9t:wC����\�
����Ev$u�9�
����3(4₏�׊������}�y�����&���n1�$Wi��JK�����U��eo�xf��wЭ�n!{n	tb8e�V������)�Fy{^U���,6�u at Lz��'���m�k�&���\��
+endstream
+endobj
+9518 0 obj <<
+/Type /Page
+/Contents 9519 0 R
+/Resources 9517 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9486 0 R
+/Annots [ 9515 0 R 9516 0 R ]
+>> endobj
+9515 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.955 114.347 418.715 125.304]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a86401a66d7add563a9fec4a610ca33b3) >>
+>> endobj
+9516 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9520 0 obj <<
+/D [9518 0 R /XYZ 90 757.935 null]
+>> endobj
+9517 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F8 540 0 R /F11 446 0 R /F1 580 0 R /F23 368 0 R /F72 404 0 R /F13 581 0 R /F10 507 0 R /F7 541 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9524 0 obj <<
+/Length 2316      
+/Filter /FlateDecode
+>>
+stream
+xڵZ[s�~���[�����t��l:I�
�v:��d<�D�L(R%��5���
�d��� t�����}���������;��Œ���.�q�$A���f|	F���c
^��j��^�(�|������o٢J������W�WՌDa����lN?�I]��?ӻ��9-�),J%a!�����>ޜ�猀Z8 �B!�D�\�}�+��!���Q��J�N\����gؚ�Ǧ	92�P��d��
a)�}?Q*����s�^���aj4o
� O��S�,�d�-��:+���Z|WV�S���w���P
)�5o5x�",�(V,�"ɘ
I"�6B�=�H�ԗ�,�
�
�4"D��s	p1��@�߳��<P�������wl�����eb
�H�&+3ʊ�?�W�Kw?|�>��J�2��t���v���a��A�x*ߦ�/��<���0<)b�p�$��L��j���q���TVk�8�\�b�5�<��HDqd$2#��Q�S
P$bfd��(3g
+v�^�b!\��Ns�x,n�P$I0�y��2B4�+�'$�oJ�NAR�"��E o0�"�O=��"Y�j�L� �"s��HK���G/�%�#^g�v_yJ"D(�F�$OM����Hh�wP���m�͒�&��p71V��6O|Y�
X��W�,�I�����	'��Z�
;���2v�`�M���,�(�G/J�1�
��$"B�������e�뼍FҘQ�
K
0Y�͛��7���c6��k��~أ�!.�o��	02�}<Fm��e�b�'
Q�6���G0
��MV`T�+dv�0�T�#�i�ԳyȐ����֧#����c���c#��L=[v�N���o���A�Ql�- ߚ*[6�=�7Ո
+f��m�(��*]
(�5@�(��g�g����]��,�vw���̭R�NZ��,��=1�vQ�x.,��@f�s�ovم]p�H��_ޒ�V
��e�"��
�
+������um��}�Un�fD��i�PZ��S>�gw�s8|l�{�E�tI��6_p&��$T���&O/=i�9"CA.��e��2~�*2G�.�<lc��\�Q/�c&�m�� �j�
"�D��OX�`
h�*�=t-R���Հ���i�bċs
��7��
��&E
����5���	�8� �HCR��L
�1Ɠ{�YL�
����:�>�]��(��T����h�N8����&28�>
3�;�8�Rs�t�p��H��>2�O̩�F�Gp�Gߞ
���Pt�e�*�)[�&d�_���1�=��������^~*}��<�7����9�NN�Z(��4��mWa2��B$����^�
+�
tGLb���J /SO�;P.��]���t�ti�<&���_��:��9X���A
+�:��ܓ�FC�n�̈́���w��Z:!�Jm}�/*,q���k[�y''��F
+Cq��٤�	��A#���?j��A�'U���QuN
+:cs�J���jt0�_�C4�-����`�N^
.�41��9*8=7e��s�s��؂ˤG����@�_
bnTú�ð����W�3[)��QNb
>iF�5�y�q��A��iY�'�]w�e�i�~Ҳ�غ��f����k���|X»Ӈ
�o�wu�ݬ嗵o�e���N�F/�3�s�����;��� F��4�t�k�~��‘��{4�d
|g.�q�PL�)Or�ჵ����Ƒc�c��JP$1=�o��=R�z������C�Ђǧ,�-�p��|����fI�&!8��$��v���B�'ѳz��.�"��<�i��L���M6�A�y���o{R��k�|���
�1�����w=�uF۶
���E����.��c�
�ݫ|���Y�q?���z�Z?��M�!m��3����$W�f3\e_�@�܉ �pR��:y�ѹ�˼7�o=9
I��2Jr��v�]���Ct�=���Ⱦ����`e��tdxa��6�S��~�ɼ
��#cR��#{=��9L��{�P������ǽ� [...]
|��>���i����;օRD"	K��Rx�K۞W���CO <���a�98J�L3��F�Y��*^�~$�|a��L�ojp^����r��)W(@�� t� �oʕ1%�O1����7'K|Z�P�'���d��߉	��0�K8q��*=I��Ȩ��`o��6�[��s�#����	[?%�6��XNd��k8F�%��U1��u�Z�]����l
�%���yh�������#�-�M���b��/
�Ml&�Ө�c뻐uٽ��
+��=0������,P
+endstream
+endobj
+9523 0 obj <<
+/Type /Page
+/Contents 9524 0 R
+/Resources 9522 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9486 0 R
+/Annots [ 9521 0 R ]
+>> endobj
+9521 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9525 0 obj <<
+/D [9523 0 R /XYZ 90 757.935 null]
+>> endobj
+9522 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F11 446 0 R /F13 581 0 R /F10 507 0 R /F8 540 0 R /F23 368 0 R /F1 580 0 R /F72 404 0 R /F7 541 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9531 0 obj <<
+/Length 2422      
+/Filter /FlateDecode
+>>
+stream
+x��Z�r�F}�W�m�J8�; ��A��.'�͕�즜
"GjI�@S��o� �Hʱ+O Þ��9�� 

�=�����M��Œ�`r�8%A��`2>
F�
Gc<	
$�2��������*�+����l�n<
C
�ZGT���")K;�Q�ʼV�L�P*	�8�>���rr��	�p@�"D!�ly��w
���OF0=ؘYˀS�Ep{���L�^��B�L$�D 

k�X�y�L��j��+��ZWi��'��P
��ݭ�|H��s:Wθ��n��ю�Ge��~�X�S��΄�H�,Y��iN,ϴsNߐ�B �`D8����uS��q��Q���N|���֤q�=o��Ӿ׶]����� 
�Zň�Dᰙ��0��:��,�bL�C�Wz^�5n�b0jZ�J��X����⇁Ƙ�Obp��@D"D�hpd�D["By �I��"z�B�< �y�l\ z�	�I�<W�ݨ���$=�
�(\�f�}���&�#F�����"ҳe| �6��[K�1�^�� �6��]���8��į�Hk#��V�.l{��\� t
����"ה�iXi��RU�pDR��z�x$)��
+�8]<;K25�,�a�B�1�����!�e�5�`r0K27ȳ���w��4*���\tp�-"����>w��{V��"�i��
1:�`��
W@
�I��-�� �=@�Ǿ�I� xԚ�"�s��f�{��
+�l�(�j����Y<�<�B97�&
�|�ɞ�|�l�'Д�C&�#L
 }(�H�Z	��˴J�y�Y��hm#4
1&��n_�
+U�����T�ޜ�Rt�
+/�!�p��}Q�����饒�cG�
7�
�����ӈ 
�D ���D' #��Ir���8�%����uʁY����
���0<�;❽�T���!,8�vw���]
A�Iz�G'!���v1�0��]Zv�D�N��ڥՙҀ69i����7�Ţ{�������M�T�
�V#��9�{Y��J
+;��eeG��lfr�W
AWƼ�t�?��1���,_|n�S��[�f��Fp6��
?:�Z����W�X�{��j�3@q���z<�
��/˷�
mA�5Ȓ%���N�����oʘ{�З<r �8hM�
+2�	Ҁ�ՓH_!�L_�������: ���z6�@��kM��,�Ȝ8��[YS�@**�tG�qg�c{�<}�_��}I����7)2j/�"!�m&�
�7
��-$����f�.-/��95�G_����v�p�w���f
Ŭ���ݴ��ee���
E!�����������x~������ �Yқ!�m�A��e�\-�8��
��zk�������>�H(���0b���B��@E_��b0D{��r���T�Ѕ�jP�@U
Uqy���T��R��j/ ��m�����
-D�=��:���RWX
�K;oѓ��tÕ�`�3q
Fx��r
�G_N.t���Y��;6E�
\��}F���^��6���(���u4͋�z
B
��h��ɫ�ݩY�Xo�Α��U���k,}��ZU�1�Ĥr
�!�.G�.{��R�(�#{�����e[?� �MB��
�g�[?���
�R�|U�K#.�:�5���ޚ�3N:<Xu
n25SeY�����Ŏ�Ǥ�G�J1�5�
�"�v�
2"
@/��9:!b���4-=��j�Pl������
��Nc{� d��7
D�W�k��S.ÿ��KU$ۦ���
�dURg+:�
3�B�	SY]G��c���E�U�~1u��i��=\{�
�p]�3�	#/�D��~�
+H��Nѝ����Xo�R�du5�X��
�z��_Y:b�R76��p���g�u���
J��; e��p�q2y����vrs>b0�|����Ñ���ź��_x�
*[D���2�E�>S�]
e��!ÃC ���F_>
A���̋���ؕ�1�E�m�(��y#�U���6
R�7E�/Ø6[�5p�~"��1+�%d�o���N�‚cm�O��i x
�{EM�Y���d�Ш鬆��v�Yt���������u��zu����l�})}P����v��J�Tm�l]
�­|Њ󫫽0@–6��+��s�k�m�y���C*���*�*G�HP$��x��i�c�m5n�����Q�j}�N���;��p����^�c�a|�<�s��e+�(°
���m"?Z&O&y�y^ȁ-����vi|	ٲ��_
dd�
�����
�b
"FB8
M� �����mM�����X������I�����KX��l2$����{`��*�L�v�/�G?k���bD�Z౪Vg�����J���U���t�Z��ƺ%�p���}�
g}��v$��Zp��u���
+endstream
+endobj
+9530 0 obj <<
+/Type /Page
+/Contents 9531 0 R
+/Resources 9529 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9486 0 R
+/Annots [ 9526 0 R 9527 0 R 9528 0 R ]
+>> endobj
+9526 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [166.761 365.183 221.894 376.087]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9527 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [166.512 221.41 221.645 232.314]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9528 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9532 0 obj <<
+/D [9530 0 R /XYZ 90 757.935 null]
+>> endobj
+9533 0 obj <<
+/D [9530 0 R /XYZ 90 452.183 null]
+>> endobj
+9377 0 obj <<
+/D [9530 0 R /XYZ 90 427.814 null]
+>> endobj
+9534 0 obj <<
+/D [9530 0 R /XYZ 90 427.814 null]
+>> endobj
+9378 0 obj <<
+/D [9530 0 R /XYZ 107.713 324.635 null]
+>> endobj
+9379 0 obj <<
+/D [9530 0 R /XYZ 107.713 308.694 null]
+>> endobj
+9380 0 obj <<
+/D [9530 0 R /XYZ 90 296.575 null]
+>> endobj
+9535 0 obj <<
+/D [9530 0 R /XYZ 90 282.005 null]
+>> endobj
+9381 0 obj <<
+/D [9530 0 R /XYZ 107.713 180.862 null]
+>> endobj
+9382 0 obj <<
+/D [9530 0 R /XYZ 107.713 164.922 null]
+>> endobj
+9383 0 obj <<
+/D [9530 0 R /XYZ 107.713 148.982 null]
+>> endobj
+9384 0 obj <<
+/D [9530 0 R /XYZ 107.713 133.041 null]
+>> endobj
+9385 0 obj <<
+/D [9530 0 R /XYZ 107.713 117.101 null]
+>> endobj
+9529 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F1 580 0 R /F11 446 0 R /F8 540 0 R /F23 368 0 R /F7 541 0 R /F10 507 0 R /F13 581 0 R /F100 1390 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9541 0 obj <<
+/Length 1809      
+/Filter /FlateDecode
+>>
+stream
+x��XI��6�ϯЩ����E�2i
di��
0M��$��ȴ-T�
J����q���x&��$�"���}$�~>yqqr�:�A������*�p��qJ��e�1$El6'��|Fp(�V,�g�uy��K%�_�P7gg�o��jFҰ�R��lN9_��i��{��淬r	�Ҙ��e����ۓ�.N��P
Ĩ��0
�ۓ��q���F,K�+3kD���
>��v���D�1���Q/�i�>oke���>^���:�oeՊ��+�0H���(m����֤����x6�$	��o@����I���k�4��%��[�`���7��O�1b4�s��2r
!����B���9�#�9
�0?������,��l��x�$J at 6��`E����\�D�ѪbFyxY������N!���:��gs���b=`���~(�u_(ٸE�}��v�o�ܸ�R����^+���
�U�ݻ� 9�S�G^�Ҧ�
nv"w��t�U'��w&
�	�(���J��j�_HxU��f6�_;��V�R5g�4��˽�3Z7����W �2�g<�$��ko���T���)���)��Vź��zu d`��Y�:���|e���-�>�M]�uٙpw�~��s��,���(�5�jйd���e\C$E	�@�a��BK
�3��O�:��8��zu�\R����0V�� |,릨ֶxFuKxO��,1s�K�"����i7E3Q�� &�����u��.
�
���p�8�2�ݗ��F�{L�PcN�A�P3Re��F�㡎0D�
���\��1�ٰΖgg����f!��Y{W��h��aW�v��
w���
+EPC|��
+dS��qr)��*�
������7C��4�o����բ�F
g��w�F���f~4�
�pD�Ex2n��5�Vʈ�w+2� �ޙu�~?!���{^�
ލy���ؑLj�n��:��~�c4hP�4h
n mE��1������� )�NhN��;���=��@U�Nn�g��uT8��N�qW�K���c�Qpn!�Q��l=����(�:��B5���m22&
���cјYpLt[���K���F�D�Ըk�
"sL`~��!�
:^�@�g�j'Ӵ#
�����Kw
-w�x��jG딨��;�ޓ�}�$����
�
�S���;jn��  �F=�|�^�
�E���_E�,r���<�+?>�v�`Dҩ���R�x��Bu������vNlO��� ʙ)7݃��=���� f;�+Y�Ɩ�N1A����4Ai�>Ia(#dԉ�t%ph(�XE &���� 
u2��^�������#�6�P�
N��z�{P����t�������
���<�!l�9�5�>��`�?4�)4
K_�wY1���^�G���I#�7��o�1�����0�c�������k4�H�d	���x�G�"�b�ʝg���`=�t(p�be��6�ţhFG 
���*�/�Su�S_e� [...]
�y[�د���[	�2�rc�
��C�1v��@5�e�Mt��XٳC�N���������ۮ�=�&.�n�.uS�
W��N��R
+��I��
����{	��LvH�1{�S���/�&����o�����<�^��%[t�=�8�>͔�@T�};@�g�V�{;0F��[�8��>���\��X_C�������s
�:kܧO��r�~��H�d�y��'�.�g鮤zG�%���8� �3���g��~�(�kKR�p�aզmwg��WWW(oо*v
+��nW��ƻ�.p�KH�+O�u�(ap+n�����B�+t
+endstream
+endobj
+9540 0 obj <<
+/Type /Page
+/Contents 9541 0 R
+/Resources 9539 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9548 0 R
+/Annots [ 9536 0 R 9537 0 R 9538 0 R ]
+>> endobj
+9536 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.651 510.919 406.173 541.763]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_abaa2167b4f8ff4184a73ebe46aef2720) >>
+>> endobj
+9537 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.651 265.417 406.173 296.262]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_abaa2167b4f8ff4184a73ebe46aef2720) >>
+>> endobj
+9538 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9542 0 obj <<
+/D [9540 0 R /XYZ 90 757.935 null]
+>> endobj
+9543 0 obj <<
+/D [9540 0 R /XYZ 90 733.028 null]
+>> endobj
+9386 0 obj <<
+/D [9540 0 R /XYZ 90 716.221 null]
+>> endobj
+9544 0 obj <<
+/D [9540 0 R /XYZ 90 716.221 null]
+>> endobj
+9387 0 obj <<
+/D [9540 0 R /XYZ 90 501.952 null]
+>> endobj
+9545 0 obj <<
+/D [9540 0 R /XYZ 90 487.382 null]
+>> endobj
+9546 0 obj <<
+/D [9540 0 R /XYZ 90 223.823 null]
+>> endobj
+9426 0 obj <<
+/D [9540 0 R /XYZ 90 201.512 null]
+>> endobj
+9547 0 obj <<
+/D [9540 0 R /XYZ 90 201.512 null]
+>> endobj
+9427 0 obj <<
+/D [9540 0 R /XYZ 227.842 124.409 null]
+>> endobj
+9539 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F123 2840 0 R /F104 2229 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F8 540 0 R /F11 446 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9553 0 obj <<
+/Length 1711      
+/Filter /FlateDecode
+>>
+stream
+xڽXKs�6��W��R�Ɠ �S�I:M�7v{I3Z�-N%R%)+��]<� Eˎ��DX���]w~��x=�x+q��$�Qp}$8�A���:
>�#��
�1/��i�KW�s��r��QY��~�o��zX./�\]Vs���V��
*p�z�ֵ
~P��,�b�`Sr�矮���\���P
Ĩ!$�L����'
d0�.��%qp4R��S�mp5�m�ϚD‘��8�ά{mV�g�cD����2ͲU�O�j��;U�yYԫ��Vjw�ܮba�
�D
�^���>[5{��.ނf��N�>#�[ݧU��
+z�2ؽ�{޾Q��>��]=�/���c��@hAe�d,8�*���!��
�@�!�|Ϡ�"�h|g�2�9s�8k?.Ԝ��~�,4q�C�[_�%��]0aq��F�A�u�^;���$�ټ�N�:�D��MY�Cb�C�zQ6�!��m�����(�p,(G�p�s��T�������*���	
J�y�?��*�C�.���N�DX
�[�
󰼵s��z8t�iJ;���f�6v)��7y��+0(s+�]0�׃��z�^;:�����FS�zպ�L|oea9g�9O�-�
��`^��Q�
�
���
�	������Q�f&C5��T"!e+
+;�ŝ�]'�)
8��d� �6@|����M�|�3aAc�����"JO�y,|��l Q�
��&`��z� "&`�f
\6�)�
d�
z��O�
d�
0;2
L���Ix#�.������S����:�M�K�}\���8K��Ftwz
+��b=	��<�P��G8
qA�y���	�qH2 �&[.���k6+UU��
K ) �e�@Ui�R���0��O�"d�aqI^ZJ8?���lT`�hڀ���N��t1��K��d���T{�N��>�� �I�
�<�;��ε>LD��@�/���q��	��ʏE�Pm]�����-18\
�u�s
�K+�V�t̷[�r��L�)k'<
kK�Y�� ���͋�z�x����z�
r����������c6z�B��P�-/�&O���C�c�*�
���>g�/�m
�N[H�^�B6�#��~Ro�Di,���1OhG�+妿�j�EI�l�5��%E���H�pq�@8��q��B

m���IF��|�1{�*}
vNu��9�S����7j�E���	V6������bep�,L�y�J���Ԝ�D��N�s,-9�P�˝r3](�넟	��	�
?Kډe��,lZ��
�˪R��4�:�aB�}���#�F����8kt��e�+�
�Og̦z3��]�7�|���$�c�q�2��H�=�Wd����U,=/��'Ħ	�]m:$���b�D!|�
YQ�
+|p-�0��u��v;>ֽ�����8�
+�
#
�cLw<d�zݶ��0!Ь�����z�ű�/<��0h!�
2��<�WY��y�B�[��v�4U�nLI���J��/�*i�
�:
'�(�ZM�8�����ܿ&a,N`� �����8
GL:
?V�{h��
ꦽ6L�|	���S�0D�'��C��%��@�Y���tN
+
�u�\`T
��㿏@p	\
�����te"���H�|�R-t
�i�^ۼ��.9��ﵪ��
:����tk�:-�ţrh�I���Rʙh��+hG��
�ז���ʎQ6M�_^\
�G��ѡ��ʛ��~{q�J�] �t��moD��o�`r�j�<q�?�h�~
+endstream
+endobj
+9552 0 obj <<
+/Type /Page
+/Contents 9553 0 R
+/Resources 9551 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9548 0 R
+/Annots [ 9549 0 R 9550 0 R ]
+>> endobj
+9549 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.733 514.83 392.255 525.734]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_abaa2167b4f8ff4184a73ebe46aef2720) >>
+>> endobj
+9550 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9554 0 obj <<
+/D [9552 0 R /XYZ 90 757.935 null]
+>> endobj
+9555 0 obj <<
+/D [9552 0 R /XYZ 90 733.028 null]
+>> endobj
+9428 0 obj <<
+/D [9552 0 R /XYZ 184.963 479.238 null]
+>> endobj
+9556 0 obj <<
+/D [9552 0 R /XYZ 90 462.654 null]
+>> endobj
+9429 0 obj <<
+/D [9552 0 R /XYZ 90 327.175 null]
+>> endobj
+9557 0 obj <<
+/D [9552 0 R /XYZ 90 312.748 null]
+>> endobj
+9430 0 obj <<
+/D [9552 0 R /XYZ 90 175.267 null]
+>> endobj
+9558 0 obj <<
+/D [9552 0 R /XYZ 90 160.84 null]
+>> endobj
+9551 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F79 505 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9562 0 obj <<
+/Length 1279      
+/Filter /FlateDecode
+>>
+stream
+x��WK��6��W���@L��C�=�AR$MQ7랒����Z�,������!Y�*�H|�II
g�����~�������8HQ*",�A��X�#,7�ǐ`��tF0��bJp(��\-���n�6�\�Ϯ*Y�]\,�.V�jJ�����~:�8_岮���UvZkF#Ah�0�~^���^N��p
ĺ�cS
�����q���wF4M�[�j���3.'M�	3�$E� �"���^]���ʢ�>�����{&H�b�3C�;��\\dŔ��F��f%��f�
+=�8�Ef��&���*�o
���a�up�r�A���&�58�fʭ{�!]�
v���ZC� !�m
�Q�ݒ�o�!֭�j������JI
��Sz'
c&�E�@q>䈏���4
|B�
Hg"�p,Z?>aLG�a(M:
�.�'�(%���:#"B<��2��=�#��g�UY�����У^�Rg5DIrv>a��qx%n�fr$
+l�KcO�W;���˪g:�3}��%$~��٠��~�.�����+�u�|P��xxRy'�t� �#�Qը1�)�x�kHGђwX^&�o��P�t+��n�F��"���'n�sH�ե�����Ou�ߘ��@�?A��ٿ�~��s�Q���fx�6#~9�QN=fC�̸���v�Y��֐��~3翙(�.����=��.j����A0�Y1�6�V�:��j���ά�a/t>��� 3��q����P�>dL�c�r�Н�����Nj�*6��'�t�#F�V{m��D"�8=��w�Be�5�u��E %,�)��f�M��P�IjϷ�T6�6�&8�0����7
� 0������
�d�Y��
t�
�A���
>�Ŝ���2D��kB�6KV����(�w0�PA}�ؓ�S�:�:=K7�w����
6�p������Q�
���
�}��1����N@�U�����CGR� �����1�ψq�FC�/
ju�F���&��G0F
'��鑾�r	�ա�}:�
戜�X
i�gt�w_"�|r��.�y{�
��	Jx|�%y��d�<�n"�z��3g��n=�7%���7�s���Ǥ
Z���Q[�M�{'o��N��wmA����4)%�S����
�
C����y�8g'�-����d�O����ZU?O9=���E#�c�7�d�CC�"�Q�R)���Kо�����$ɋ;��>\�緷�h]������p���ֳ�֘tE���T�<���݃�?��X�
+endstream
+endobj
+9561 0 obj <<
+/Type /Page
+/Contents 9562 0 R
+/Resources 9560 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9548 0 R
+/Annots [ 9559 0 R ]
+>> endobj
+9559 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9563 0 obj <<
+/D [9561 0 R /XYZ 90 757.935 null]
+>> endobj
+9431 0 obj <<
+/D [9561 0 R /XYZ 90 682.72 null]
+>> endobj
+9564 0 obj <<
+/D [9561 0 R /XYZ 90 668.255 null]
+>> endobj
+9432 0 obj <<
+/D [9561 0 R /XYZ 90 556.165 null]
+>> endobj
+9565 0 obj <<
+/D [9561 0 R /XYZ 90 541.7 null]
+>> endobj
+9433 0 obj <<
+/D [9561 0 R /XYZ 90 417.655 null]
+>> endobj
+9566 0 obj <<
+/D [9561 0 R /XYZ 90 403.19 null]
+>> endobj
+9434 0 obj <<
+/D [9561 0 R /XYZ 318.321 328.125 null]
+>> endobj
+9567 0 obj <<
+/D [9561 0 R /XYZ 90 311.503 null]
+>> endobj
+9435 0 obj <<
+/D [9561 0 R /XYZ 318.321 236.438 null]
+>> endobj
+9568 0 obj <<
+/D [9561 0 R /XYZ 90 219.816 null]
+>> endobj
+9560 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F123 2840 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9579 0 obj <<
+/Length 1479      
+/Filter /FlateDecode
+>>
+stream
+xڽWێ�6}�W(��@L���H�l��I�Y�i70d���ʒB�qܯ�P$u[y�A�>����̜3g���;��e��j����У���9!v|� N���:�S�c�9�OogO#y�ַ3��yz9���ֿ%��ry��v}���*ɳ��|+fs���u��^~;!g$��,��0�S��������j�yB�/���#��N|����޿s0r��9׻��.�����	61᫱!˜9>�����X�߲�ahdq�wL� �8t�^q�M��v�L�}�����Z�p��"������g�OϙNN�ӿ��$�ެs�[�$�̫��kiR����
6 
��|�����J�T/Q�?fӚ�2#|*�H�3H�<�P�ΜQDx�2�E
b�M�"+�K�����(t[3��x�܋j�I��"��QTB���#�S��sBZ$�u�c�
,�~ԕ����
��ڐ��>��$���
�s�D9���پ�?�(����!DE����
���4h�Pg�O���Ws�#��@��DW�Ԕ��m|�rßRT/�J�5aU�ɽ�����>�R2
�M���:Z7A�\�I~����Ze�
q��@��u��
�72��D�*�ZeI�J���S���s
���*�_�tR�\��#�ܺ���J��	����xYU�́Cd�"���^�
	�AZ��P
�W�4D��a�7Y,_��B�ݢ)_
���h�0��Θ(��(tI'2VV ����Tϔ��p���K�~y�~���!p��-��cذ��ѥ�/�*���z��<G�Z�
���Y����4�F!ڢ���8�:5=1�v'TnF��T ��:q�!D
���
hC�'1�
��YĻB�I�&�Ҹ�;i��Q���:w�=
�܁�@5�tre�uۓ�� 'FL�vP�I�^d�qV]v2?�{�����M�~���b�D�@-��B
q�n�����9�E��+�
�;�1�B�
��aR{��@B_��E�n�Q)
+)JH~�hS��w���ώ9%!�m�&��%Y���bD���y9b
�M�*^'�=;.G���m?��?��>���mv2��5[������m5s9dTh���y�����6m9J���9
+
�WO��!_�V
HF0Ž�٭' �x���<`T
\(d�O�HQ��z��̱�HE<���&�
$���`q�L�*B���{=�v�B���B�q���I�X}/�;�ى�g~4�
+��5= ������ޢ�J�ah�
�}��m�#� �͘`.<B>�p`N8��)��u���/Pa��v0���H�(�������:�s.�'�����.�<��Q6�Xا��-��ޫ0�{`n�ϼ�w^H��zn`��<�a�
b#4�Ѫ�~4���,��A�Z&�����K_e{��Ї�H#s',u\9v���c�ޒ�"܎LJ�*����|Fq�NYRH�T
����2�X���=�i��\��
^
�a���\�R
+endstream
+endobj
+9578 0 obj <<
+/Type /Page
+/Contents 9579 0 R
+/Resources 9577 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9548 0 R
+/Annots [ 9569 0 R 9570 0 R 9571 0 R 9572 0 R 9573 0 R 9576 0 R ]
+>> endobj
+9569 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.899 589.345 345.51 600.249]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a20874a85120477d5cf11da451870d497) >>
+>> endobj
+9570 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [121.93 255.746 298.845 266.649]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
+>> endobj
+9571 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 201.862 203.075 211.79]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1PIP__Solution__Node_1_1No__Constraints) >>
+>> endobj
+9572 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 120.497 195.613 131.027]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a8db329a321108295b995b5af1058ff37) >>
+>> endobj
+9573 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.95 120.497 278.083 131.027]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9576 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9580 0 obj <<
+/D [9578 0 R /XYZ 90 757.935 null]
+>> endobj
+9469 0 obj <<
+/D [9578 0 R /XYZ 90 694.089 null]
+>> endobj
+9581 0 obj <<
+/D [9578 0 R /XYZ 90 679.519 null]
+>> endobj
+9582 0 obj <<
+/D [9578 0 R /XYZ 90 575.771 null]
+>> endobj
+9470 0 obj <<
+/D [9578 0 R /XYZ 90 553.459 null]
+>> endobj
+9583 0 obj <<
+/D [9578 0 R /XYZ 90 553.459 null]
+>> endobj
+9471 0 obj <<
+/D [9578 0 R /XYZ 90 479.869 null]
+>> endobj
+9584 0 obj <<
+/D [9578 0 R /XYZ 90 465.299 null]
+>> endobj
+1468 0 obj <<
+/D [9578 0 R /XYZ 90 342.557 null]
+>> endobj
+310 0 obj <<
+/D [9578 0 R /XYZ 90 335.957 null]
+>> endobj
+9585 0 obj <<
+/D [9578 0 R /XYZ 90 219.86 null]
+>> endobj
+9586 0 obj <<
+/D [9578 0 R /XYZ 90 139.097 null]
+>> endobj
+9587 0 obj <<
+/D [9578 0 R /XYZ 90 139.097 null]
+>> endobj
+9577 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F104 2229 0 R /F72 404 0 R /F11 446 0 R /F79 505 0 R /F23 368 0 R /F107 2332 0 R /F97 1188 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9624 0 obj <<
+/Length 1885      
+/Filter /FlateDecode
+>>
+stream
+x��Z[S�6~�W��&3��oL�3-�th�-]ؾ�v<��ַ�M}�,ى'��} ��s�����֝���>:9w��#ߡ�u}k��r
�lJ���iB0�|:#����(\N)�d��^�
��n
+Q,NO//.��,��(K�����Ψ�'g�(K�񃼕Ŕx�����=:�M�������_G��i�]�2�
+��O�ck��ˆ���جJ,N�����_���	��f;+�� �<˥
a��
+~��n�o߳>�lP�!*�Z����3�}h)u���SfO
+)�«;���x��3�0�G�`l���}Mnq�{-��T�
�d��m
_D:�Ҳ�-[J����;\m>�<D�f�#�5F� ��H
fB�ȳ(� ��*�=�/R�D����
�e���$_�O٭���`w�|��:V99�WWq��[fMu�zMO�hۮA��/m�3�r�lF�C
'/a���A�K��1�%_��~�fӉv�=aJv�>�oeYuXe��<�\9�k�q�jľɲ'<���V�!jor�ap�#YQ�!�1`k�gtk� 5l��ذ=d;w�F|���Sd��a\�Q��ҷY����`%6�����u�
�r;��C%�|��P)ʠ4'
2`�B��{������B���G�E��0e��tǻ��E!YQ<L�=q-�ml�j�[�D��x0
+�͋G�^��
����T��g�܉1Q�r&9ޛ��A+�f?�c1��$��v�R�5�P�
+a-/`� u�����{
$_�q
�}�|7��
�(��I�
𲚟�f�~�0&8.�[8��*�_t��E�!?t�C��� ����Ņ��Ao��i%���������7dO��"
��p~:Ik��L�wb

`�'���,�C&�ځ�!32D8ۍ�KY_ر�ס��eJ/a�0^<�æ΅��,v�
v^�E���Drl
 6�t��7�c]j�����!�1�r|�
�Ƙ1�"��,�.�k��aֈ=��;�vl�8c�ȁ�����*��:
!����!5<��:]oE\��/��3���c+���x�1r�����$2ɊEPF�ȠZ�rM�-oUY%�����͢ڞ`_#=v)��� :���DD-V/�u/j���0����'�Ӛ��{�(�_H�m#J��ȯ@���C;�~!<��D�B
��Է�
 
����7�����ŠІ�He����fe�
���O2�i�$�u�R�5;����J�����-�d�"��q��{���_�$��u�F��
A|IF�:����~΂��("J�r������M����>�; 
��q��8A����T/���M׮���0�_zJs�{�b��n�4
+!们Е*��1rpު���t�b�,{L�r3���]_��/���K���(}�)!�1��Q���g���K�G��[
+����ev�oL�"�>X1,�^��k���ڸ���`�
��*sM��X�M{n�8s\{D�T��|.*(
�I��:.�-j�m�b
�iv�/�#�&2U��B�l�+[�\�2���n�!���'�O�'��`�*�iQVA.Sաa�R�@�J�������2
W򯺹�
8�8J�
+�r�ν�f��jX����`
aƪ�&�0d=�\$9@,�6���l��W6
v���\�ڶ��k��ӝ�|��Qu��������j`��+�RI�+�bNל|=�CF��.�l��
�5�[�͖]��H��r� *�� {�$�
"g�(#�g��d+�>�����C������6��H�G��#��Z��V��f0_$fR��;��\c4����X��+�QC��D�q\�q-��|H�D��
��d��Z�?��ӏʔtEZUB���}U�''���(,Q�Fy���$��͖pe��]�(��蚻.[��5��
��
J?�
+endstream
+endobj
+9623 0 obj <<
+/Type /Page
+/Contents 9624 0 R
+/Resources 9622 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9548 0 R
+/Annots [ 9574 0 R 9575 0 R 9588 0 R 9589 0 R 9590 0 R 9591 0 R 9592 0 R 9593 0 R 9594 0 R 9595 0 R 9596 0 R 9597 0 R 9598 0 R 9599 0 R 9600 0 R 9601 0 R 9602 0 R 9603 0 R 9604 0 R 9605 0 R 9606 0 R 9607 0 R 9608 0 R 9609 0 R 9610 0 R 9611 0 R 9612 0 R 9613 0 R 9614 0 R 9615 0 R 9616 0 R 9617 0 R 9639 0 R 9618 0 R 9619 0 R 9621 0 R ]
+>> endobj
+9574 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 720.286 208.246 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
+>> endobj
+9575 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.216 720.286 239.787 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a996dc24a90ed7bf0e7231563f3c78975) >>
+>> endobj
+9588 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 681.569 231.865 692.1]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a6c1045d83957e66a37f4b9605431945c) >>
+>> endobj
+9589 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.617 642.853 178.996 653.383]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_abb1b3eeef8a1a793899d9b66f1200fb0) >>
+>> endobj
+9590 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.935 604.136 247.638 614.666]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node) >>
+>> endobj
+9591 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.608 604.136 302.989 614.666]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a49e1548e93467d9fd12ba992f8712c56) >>
+>> endobj
+9592 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 565.046 214.681 575.95]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+9593 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.421 565.046 300.2 575.95]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a4ec7c4c8093efb70675c35a17d6a7e28) >>
+>> endobj
+9594 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.015 565.046 339.203 575.95]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+9595 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 526.329 181.845 537.233]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a35a36fe85a7865e86d210e8db5e26a04) >>
+>> endobj
+9596 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 487.986 176.505 498.516]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a2890d075ea848067ec261a99518ba12d) >>
+>> endobj
+9597 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 473.06 450.955 482.966]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a35a36fe85a7865e86d210e8db5e26a04) >>
+>> endobj
+9598 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 437.937 220.22 448.841]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+9599 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.719 437.937 317.355 448.841]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a082a2f74f2c88339b84f233dc45e3370) >>
+>> endobj
+9600 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 399.22 220.22 410.124]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+9601 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.719 399.22 331.582 410.124]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_ab41e16bb175c436813472be1b131f853) >>
+>> endobj
+9602 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 318.657 195.613 329.561]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a7ef6a6a1d69f65fd28e518f0de795ffa) >>
+>> endobj
+9603 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.95 318.657 304.653 329.561]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node) >>
+>> endobj
+9604 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 279.94 195.613 290.844]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a02d378f2284277bd0cf98f4f5e9daa37) >>
+>> endobj
+9605 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.95 279.94 304.653 290.844]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node) >>
+>> endobj
+9606 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.218 279.94 386.755 290.844]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1PIP__Solution__Node_1_1No__Constraints) >>
+>> endobj
+9607 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.418 241.597 205.107 252.128]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a4f54448c4e6823e33a0f5121e5d27d4c) >>
+>> endobj
+9608 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.445 241.597 287.577 252.128]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9609 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.529 226.672 259.424 236.577]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9610 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.617 202.507 234.079 213.411]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_ac3cf88993e63370f39ad5ea8915ba2af) >>
+>> endobj
+9611 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.416 202.507 316.549 213.411]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9612 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.883 163.79 233.188 174.694]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_ad5d38b578c833abb397e67cacce7f54d) >>
+>> endobj
+9613 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.99 163.79 324.123 174.694]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9614 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [359.608 163.79 425.252 174.694]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9615 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 151.835 179.554 162.739]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9616 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.433 151.835 394.097 162.739]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_afe89a5e748cfb2fabd6c6d46458f0d4e) >>
+>> endobj
+9617 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [466.634 151.835 513.996 162.739]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+9639 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 139.88 128.635 150.784]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+9618 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.798 125.328 365.997 135.233]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a263d8e40807241816cef0286661553e1) >>
+>> endobj
+9619 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 101.163 199.558 112.067]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a727cd68e90dd481583b6a2bd5fdfb492) >>
+>> endobj
+9621 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9625 0 obj <<
+/D [9623 0 R /XYZ 90 757.935 null]
+>> endobj
+9626 0 obj <<
+/D [9623 0 R /XYZ 90 733.028 null]
+>> endobj
+9627 0 obj <<
+/D [9623 0 R /XYZ 90 700.22 null]
+>> endobj
+9628 0 obj <<
+/D [9623 0 R /XYZ 90 661.503 null]
+>> endobj
+9629 0 obj <<
+/D [9623 0 R /XYZ 90 622.787 null]
+>> endobj
+9630 0 obj <<
+/D [9623 0 R /XYZ 90 545.353 null]
+>> endobj
+9631 0 obj <<
+/D [9623 0 R /XYZ 90 506.637 null]
+>> endobj
+9632 0 obj <<
+/D [9623 0 R /XYZ 90 456.961 null]
+>> endobj
+9633 0 obj <<
+/D [9623 0 R /XYZ 90 418.245 null]
+>> endobj
+9634 0 obj <<
+/D [9623 0 R /XYZ 90 337.562 null]
+>> endobj
+9635 0 obj <<
+/D [9623 0 R /XYZ 90 337.562 null]
+>> endobj
+9636 0 obj <<
+/D [9623 0 R /XYZ 90 260.248 null]
+>> endobj
+9637 0 obj <<
+/D [9623 0 R /XYZ 90 221.532 null]
+>> endobj
+9638 0 obj <<
+/D [9623 0 R /XYZ 90 182.815 null]
+>> endobj
+9622 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F23 368 0 R /F79 505 0 R /F107 2332 0 R /F97 1188 0 R /F11 446 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9658 0 obj <<
+/Length 1832      
+/Filter /FlateDecode
+>>
+stream
+xڥX�n�F}�W�ɥ�h�^��@��i�$pc�/N ���"J�̒�����"%J��A���Ι=sf�عw��~�����2�N����҉���87
��%y�tF0��Ք`7�d~5��-��/D2��݉Dl/.�>\ͯ˼m���)|:�>v��I]�˯|�ŔD./Rx�u=�M��|�������
;D��(d���'�߱���
�X
95j�x���\O��`��ؿ��=��c�HB<
���r��sng>�P���y'}��ٯj���V�����aߐ
�
�~D$-��
���1����'��
uf�C�g|����SZ�fU.Ш������I���3ѴI~=&����)�]�������Kح~�)b��+�0���=�G�N�H?L���P�?2�� �p�J�w9_Z��Y�U� Ȅ�we�O՜t���K��̛�*
�~<6f�^W��4"{��
�H(b\,�lo�
/�p�)�u�%�A=����ΪD$���i[�l͋Z�m������JR>�q��� ,����i�������S�F',�z|>��|SV4�..$'�1�?�䧕���\HmH��}b��G-<�?0?;�Ð��`
X�l�
�$"�3��o<=��)�#��� �d at G/=��̨�{i�$D[s)���u)�&��F_�uV��ˢ,f��a�^�:����Y��1�|��H��/��L
"�[e�􈁻>bpo���>�!y�X�h<��A�V���Z�
IκY\\�5
I����HH����
�8+��敕Ax�
h�N�R��@r�@2�!ʻ	Яz�^�F
��_��

+]B�A�=iF*���<��3�ӌ�^b:d�J��VR�tT��<M��/��X%7�Ȫn<���$��r[��3D%v@�2��q�l�f�}f�"��V��O��Ҿ琇
���\�Њ�'2f������V�y
������N�-o�,���:Ye�=�`H91/ֆ^ۨ؈]�+x%x
��cd�\�y6�J��l�X#	<t�QDb���<o$sD��JW�����2me�M,�}t�l����㧀8�n�����B
ȆIv�qfy68�Ĉ�fzl%Q_�Ď�MG�/�\�+�ꦜ����(@4������}�(H�� ����uŴ��O��V�d{%�����*hh��
"�Ҙ��9���h�`�-�}8\��]�r�_i��1|�v��k��`�&��2լ3!3��,��UQ�آ�5�.�����
_���1�,:�=t)ɓI�L3�g�3L���w��_�E�2�%I���05�A�?eO���c�O��T�3��e�3;�:�
t���e8o��{�YX
	bj{��|!~
G�NO1�-p�����<��&��>��E=h�v�n%�h��n,�Vu4x�����rY�#[oP9Ժ^G�(�� ��)Q�ؠ� ��G��gb'��-$�b�ql�d�UM�

�(
0��n�h�7<χO�̔���8p������]z����*B!�-}��O1>��*�u�����j�,]��?Z.2��]�6�� HJ���=�\��wgx�ݚ}M�l�ݽ��SA�}�b J	x#�P$���

LO��_��X��ƺ�N8i��@�tP��&kV�J�܉c=��^�u����B�4����u�ɺF�|��0�0B�<
����$��nj��d })���=�~o�tc���
+����"r��P(̭��֔
}�w��/�S��sRt_Ld�Z"v�#�lJ	GP� �������c����0�%Exw`X5Muq~��lPZ���*��漪��C����%�u��I�[-��kU|�����
+endstream
+endobj
+9657 0 obj <<
+/Type /Page
+/Contents 9658 0 R
+/Resources 9656 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9548 0 R
+/Annots [ 9620 0 R 9642 0 R 9643 0 R 9644 0 R 9645 0 R 9646 0 R 9647 0 R 9648 0 R 9649 0 R 9650 0 R 9651 0 R 9652 0 R 9653 0 R 9654 0 R 9655 0 R ]
+>> endobj
+9620 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 706.961 199.558 717.865]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a6c2621d99e009a3c99558671ab046b9b) >>
+>> endobj
+9642 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.923 668.107 207.756 679.01]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
+>> endobj
+9643 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.746 668.107 237.62 679.01]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a603f587cd77a706bf32b9dc14d58f9f3) >>
+>> endobj
+9644 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.978 668.107 319.111 679.01]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9645 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.344 656.151 236.121 667.055]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+9646 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.123 656.151 343.766 667.055]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9647 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.798 641.531 328.634 651.436]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ad9cea1b6b01c041b1d247c81b3279314) >>
+>> endobj
+9648 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.727 617.297 186.618 628.201]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a99469cb6d87a4b0647c47e3697573899) >>
+>> endobj
+9649 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.245 617.297 255.888 628.201]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9650 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.798 617.297 320.575 628.201]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+9651 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [448.353 617.297 513.996 628.201]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9652 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.745 566.488 203.471 577.392]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a330d5c424c32abef2330e921ed0743c7) >>
+>> endobj
+9653 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.788 554.532 209.431 565.436]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9654 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.609 114.631 464.741 145.6]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9655 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9659 0 obj <<
+/D [9657 0 R /XYZ 90 757.935 null]
+>> endobj
+9660 0 obj <<
+/D [9657 0 R /XYZ 90 726.054 null]
+>> endobj
+9661 0 obj <<
+/D [9657 0 R /XYZ 90 687.2 null]
+>> endobj
+9662 0 obj <<
+/D [9657 0 R /XYZ 90 585.581 null]
+>> endobj
+9663 0 obj <<
+/D [9657 0 R /XYZ 90 517.212 null]
+>> endobj
+9664 0 obj <<
+/D [9657 0 R /XYZ 90 458.512 null]
+>> endobj
+9640 0 obj <<
+/D [9657 0 R /XYZ 90 436.2 null]
+>> endobj
+9665 0 obj <<
+/D [9657 0 R /XYZ 90 436.2 null]
+>> endobj
+9666 0 obj <<
+/D [9657 0 R /XYZ 90 318.46 null]
+>> endobj
+9514 0 obj <<
+/D [9657 0 R /XYZ 90 296.148 null]
+>> endobj
+9667 0 obj <<
+/D [9657 0 R /XYZ 90 296.148 null]
+>> endobj
+9641 0 obj <<
+/D [9657 0 R /XYZ 90 93.71 null]
+>> endobj
+9656 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F23 368 0 R /F97 1188 0 R /F11 446 0 R /F107 2332 0 R /F100 1390 0 R /F104 2229 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9677 0 obj <<
+/Length 1707      
+/Filter /FlateDecode
+>>
+stream
+xڽXm��F��_�T��R��X����M����9�_.�������\���;���a'��~��av晙gf�ν�������Ջ;���z��A�g�:�.���K�`���%�n\�����b��v2�����]W������z�n�$�+��2�K�r����umn�ʭ4Eo		u}̗֯���������;�~q�;)<�`�D䜴���)�k��,�\��Q�p�{�|������+�l��\�)�c���vs�:
Ҹ���>5��c��
����E�(
?D
lϑ�֜�IW+m�L��RrW/8�s����?�����[����g�P�€�B?���D+�ՁG" [�J
��&�����
�*�Ϩ�bag@BL&t��
��,��t6�
��Xd���` �р#?�
�<Cf�y��a�iv�f�"N��GY#�zm�L��0"�m8
+�&�ݦG������׽�	f
+���Gsv
�����C�B�l�1���6a`
���<��qa�1f�}m���7�]���s�gsX��ro�8YԀ��:��XJ���pD8��C��/8w�:w��_}g�UO����
��js��qne��7�p��3\Y��E�Q}�+�yd��<3$��nQj��ؗ�j2 �&�V��{��ͤ<��F ))" Έs�c���Wqν,d�X'96F�!
?"����� ���'@�]]fOf��h�F70�-���*��zs#�ޜ͓E�#�'n���n�!j�ʾ��*�tA5Pb�Y+l��O͜^��	0��GE�~�E�>�
or��m4�͐��}H���3$���!ǽ��79���r_V�_uR�ͱ�5�n���Tu�R���eH��hU���d�������>af
�`^�.�*�>�,�&�J�Ě]bR��.
[_��Y�jX>�K�5��!����ʽ��l:�8]2;���N,
��i=h�Ӻ���^E:�!#���hQ�U+�"|k��I�U%
��� [...]
��f�"ɏ�i%>
q�&ŧ�<2|�����̐��Efm�M�P��ˢ�� ] �1ʺKp��C%?�9�m5���[J�9�Q
!�\��aDaZ
\���XA^�~�5���Ta�6mĈ%�1��b@��ݖ���zͬ���+z��~�k� Q1FT�P ��i��
+�ȢL�2���分�l 
�>��e���өp��\�e�zmF@�nj��Hͻ8�͓>
+mA�� qg7o�6��w>�v�_�(�L�*��$��
"
��bݲNZ&G��aw[�T�k�'���Y�EM�c�m��8����(��Q�
c�%xޖ�{J�X���0

9��j�:eZ5Pj$
+��s���S!t,ƻ	ܴ�VS���d&�Gǎ���4W5t�(���L�ʙ3
�X(��I��[\|";���D���x�086��U��U����݃
�:�W����V64�U����Dz
��du;�N�Å�օya��3�.��p?��[�M��=��^��uɋ]�+����ù20Ey�O�@����N[����p"0
+85ˁ1>,|�a�gs�Uo`�C�����l�/Y�69YO�ӟ=A�{�����x �@Mđ��gQ��	v�a�mz����xW��%�W��o��؂��
sD���U�1�@�>7�M"���N{��Bio-���1��9���N�Jjt,�C���
+���qr
�@ C�{��p
+�m�Ԥ�{�8
 �:�*
+endstream
+endobj
+9676 0 obj <<
+/Type /Page
+/Contents 9677 0 R
+/Resources 9675 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9683 0 R
+/Annots [ 9669 0 R 9670 0 R 9681 0 R 9671 0 R 9674 0 R ]
+>> endobj
+9669 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.216 215.977 345.645 226.881]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node) >>
+>> endobj
+9670 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.227 215.977 513.996 226.881]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node) >>
+>> endobj
+9681 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 204.998 151.33 214.925]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node) >>
+>> endobj
+9671 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 150.138 218.955 160.066]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
+>> endobj
+9674 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9678 0 obj <<
+/D [9676 0 R /XYZ 90 757.935 null]
+>> endobj
+9679 0 obj <<
+/D [9676 0 R /XYZ 90 733.028 null]
+>> endobj
+9668 0 obj <<
+/D [9676 0 R /XYZ 90 589.406 null]
+>> endobj
+9680 0 obj <<
+/D [9676 0 R /XYZ 90 574.835 null]
+>> endobj
+1469 0 obj <<
+/D [9676 0 R /XYZ 90 302.788 null]
+>> endobj
+314 0 obj <<
+/D [9676 0 R /XYZ 90 296.188 null]
+>> endobj
+9682 0 obj <<
+/D [9676 0 R /XYZ 90 168.136 null]
+>> endobj
+9675 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F79 505 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9711 0 obj <<
+/Length 1686      
+/Filter /FlateDecode
+>>
+stream
+x��YYs�6~ׯ�S*�T���3iRwr�j�>%
L�6�<
q�_��AJ�h��;�[<��b�o/ [W�~�r>��z�
+P�R�:��ly.A%�yd}
�lg2%��|B�)_�'��du-��/��/V''�����ij�ń�c!�瑘L���/^���z@�[B\F�6v'��ߌ~=}P[D)�x�c��������7F,�5*�l��7��F��ޅQ������$�FJ��R�J�F���q7�̷��"��Z�'J��7�ǩ��@X$.��NN�N�3a�r�씐
�>E�
� %�'#QZ��2����F�n�yQT�'�i�Ё�x�SQ�bkI�yr}�����yYpx�ř�R+�75�����-�O�k#�����23�6�����I�
�.�����v3���
[j���JY��>D��n�h���6E>�e�{�^��i��U�gGc�׸�j��
��jdθh��;;8�&�
1L0�Bl	<d{�ga�gb[a��'�`�#�
!��җ��m����a�˅�����`���j�^�w�*�i
�$YM�_
�JD�B�UK��ۘ�y�uf���(��S]ǥ
�Y	���8D��Sjc�0p^{A��g.
+<�^
�Z�-�7�~jmc>``=��.��DY������Z�"צ�X4f-��E�p�?�����7z�1{�b
��q�#�8ƀ�-��	|<3dϳĐ=�%��!�x���!�w�0�z#��
ة��+q C2v''�dO�<˓Z�����
��\�f�#rjJ����ɪAh�R�C�zߌ9M^o
��2�T�?�[l8^]��&.�L�wd�`
�
�c �^�0.�Q�F���Xdf<.�D\��I��`�@�Al �^�!��gq�*+����l����Q>Rr�%ڵ)�K�x�T_nV�3�J��!<�
�C�8��c
��t����?�&�N��(s,bx�M?y;¼��Vƅ��U�=&�|C��Z-�ʷ����$�c�d&a�pC��&��
K�����
�v��8	�ھc�D[T>6.���^�J��8�ʻj���7�X�y�UO
�z����y�W�G�i�,�ۍ�6�r�삛
�4ٶ̮��Q��Hd��cY{^���.����u)՗<�R��0�G�
s��S^�Wї�\�59Ji)���Q�qi���A��2��ET�˻�$�_��e�z�u��
�w]J������ׯh%�K�S7��5��K
+|d;�S�,7�p0���h���G{1�{0�'��`.	�KƗڽ�>32Dl�_��� ��ץ��N�XA
��Ҹ�c����P�9<�X�1|�v����x��� ��E��������>�1��(mӔ��Xn�c8�9<
s�v�Z��8�#�2��t����}����CQ��u�c�2|��v��<){%C�j����Q���9w�/��M�H�b�(��
j�*��5����bU�����Z�F1XK��tm���T4�z�e�˸ɜڣv�;��S�T*S'$���?����@ٗ}gt�?R�qY�^���@|�~�}�F���)�zR�N��J�����	��S���&��LM�6o����9|�7��0ⰱ�{����q}
+]�7�0"D����3��M��o��z+@7�%�<�iMu]U˓�����%��xY���-��l��sC
+�[�^{�
,hY#
T}Յ��\��_
+endstream
+endobj
+9710 0 obj <<
+/Type /Page
+/Contents 9711 0 R
+/Resources 9709 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9683 0 R
+/Annots [ 9672 0 R 9673 0 R 9684 0 R 9685 0 R 9686 0 R 9687 0 R 9688 0 R 9689 0 R 9690 0 R 9691 0 R 9692 0 R 9693 0 R 9694 0 R 9695 0 R 9696 0 R 9697 0 R 9698 0 R 9699 0 R 9700 0 R 9701 0 R 9702 0 R 9703 0 R 9704 0 R 9705 0 R 9708 0 R ]
+>> endobj
+9672 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.43 697.628 281.617 708.532]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
+>> endobj
+9673 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [292.355 697.628 418.699 708.532]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ad2e8f2d9c5b2732df9e001bb155320ca) >>
+>> endobj
+9684 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 618.344 208.246 628.874]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
+>> endobj
+9685 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.216 618.344 239.787 628.874]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_aa53032d6032bb4c199a517187c46636e) >>
+>> endobj
+9686 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 580.252 215.994 590.782]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ae3905fc4ad45180a029f856c7ca7a2fc) >>
+>> endobj
+9687 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.617 542.159 178.996 552.69]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ad9c8e6971861ebe65aa043657a6a49d8) >>
+>> endobj
+9688 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.935 504.067 247.638 514.597]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node) >>
+>> endobj
+9689 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.608 504.067 302.989 514.597]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ace96e068dfc0f943f7d0c8da778648cc) >>
+>> endobj
+9690 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.935 465.974 249.281 476.505]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node) >>
+>> endobj
+9691 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.251 465.974 305.729 476.505]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a41a2c12dc16089ad91de449b4bc72bca) >>
+>> endobj
+9692 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 427.508 215.259 438.412]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+9693 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.999 427.508 271.159 438.412]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a97ccf10304ef9ba8b58549f7570b8cea) >>
+>> endobj
+9694 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.076 389.416 385.359 400.32]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a7d8d70c48e3726d157cdaf49f6e1028d) >>
+>> endobj
+9695 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.076 351.324 377.758 362.228]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a048588fb0ac55c4315b0ce6cb1ec274b) >>
+>> endobj
+9696 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 313.231 179.554 324.135]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9697 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 313.231 264.484 324.135]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a48b522405ad8896775cbe6d2344bba4a) >>
+>> endobj
+9698 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 275.139 154.727 286.043]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a8a5634a2b7dfa78c19c2fe626e790c89) >>
+>> endobj
+9699 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 237.046 181.845 247.95]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ade3035e2021726b1d2c0c563d6c1216e) >>
+>> endobj
+9700 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 199.328 176.505 209.858]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_af46a1a2668f581e1bc158db432912f35) >>
+>> endobj
+9701 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 184.714 450.955 194.619]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ade3035e2021726b1d2c0c563d6c1216e) >>
+>> endobj
+9702 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 149.903 220.22 160.807]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+9703 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.719 149.903 317.355 160.807]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a8cd66485ef35802c6c117eab5f641d08) >>
+>> endobj
+9704 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 111.81 220.22 122.714]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+9705 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.719 111.81 331.582 122.714]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_af0d04edca3b2e3d30f5d6de7499396b5) >>
+>> endobj
+9708 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9712 0 obj <<
+/D [9710 0 R /XYZ 90 757.935 null]
+>> endobj
+9713 0 obj <<
+/D [9710 0 R /XYZ 90 714.318 null]
+>> endobj
+9714 0 obj <<
+/D [9710 0 R /XYZ 90 714.318 null]
+>> endobj
+9715 0 obj <<
+/D [9710 0 R /XYZ 90 636.563 null]
+>> endobj
+9716 0 obj <<
+/D [9710 0 R /XYZ 90 636.563 null]
+>> endobj
+9717 0 obj <<
+/D [9710 0 R /XYZ 90 598.59 null]
+>> endobj
+9718 0 obj <<
+/D [9710 0 R /XYZ 90 560.498 null]
+>> endobj
+9502 0 obj <<
+/D [9710 0 R /XYZ 90 522.406 null]
+>> endobj
+9501 0 obj <<
+/D [9710 0 R /XYZ 90 484.313 null]
+>> endobj
+9719 0 obj <<
+/D [9710 0 R /XYZ 90 408.128 null]
+>> endobj
+9720 0 obj <<
+/D [9710 0 R /XYZ 90 370.036 null]
+>> endobj
+9721 0 obj <<
+/D [9710 0 R /XYZ 90 331.944 null]
+>> endobj
+9722 0 obj <<
+/D [9710 0 R /XYZ 90 255.759 null]
+>> endobj
+9723 0 obj <<
+/D [9710 0 R /XYZ 90 217.666 null]
+>> endobj
+9724 0 obj <<
+/D [9710 0 R /XYZ 90 168.615 null]
+>> endobj
+9725 0 obj <<
+/D [9710 0 R /XYZ 90 130.523 null]
+>> endobj
+9709 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F11 446 0 R /F79 505 0 R /F23 368 0 R /F107 2332 0 R /F97 1188 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9763 0 obj <<
+/Length 1795      
+/Filter /FlateDecode
+>>
+stream
+x��Y�n�F}�W�ɑ�h�./F[�M�"I]��ۗ$(im��H������^H��.�l7@�$����33gw�uka��/׃�s[>�
�X�7��-�!�Sb]/��C���Gc�1
NF�lL'#��I�x'Y0�=�eA�xv6y7�^�\{���7b�G��1�x�&
+�\��7B����ѡ��������׃��a�(g��\ƭ�r��3�p����=�^�ZZ6e�YW�?x�Q�����M�
I!�Xhǔ돩ȕ'���s��!��g�)ENe�����q�!`[�m=/gg�F�a�$��O�	Y3�Q��>PF0e �[�ˮ?Q�z�M�E�q����<��0�����<��N4�_K�����_ ÷<0���ؘPq~m�۶�����
��Da`8s��L0�I�UbB<W^�K�r�ѥ/��G�"�m�ƅX΄�Ἄ�Es=�'ݨ��Lb|�UYԢ����X}��0ik�%�H,[C�9
�F��O3���g^
��$#ʇ�����-�M�!�n��Tʬ8����/e-��q]N�� 3{4��ݵ��ȳ�����lp�
#m��l8M
��u\�
�7�5&
\��c(=>��,�k��/���6m�>�'�BtD90h�m3���>�=9��	��0��v댸ŴΊmh����+q\
+}�4�})�2��)�&P��BU$��N�	����n��Ȏ0�5�7�J�@ݍ�0+� �s}SR#\����Oܟ�VB�v�ݣV����GܯZ:`�eMԯD��`��>K�h���;1���<�
ӗ��
�
�zҫ�}y�3�����v5������bSWc�~5(4
+*�MWM�����Q�h'۱�b����
�sa�oh�%���76�m��c����.��_�S7�6���T�5;�?Ž�
�Ĉ����W1s����߮lt�Ol�i������JG� +Hξ�@P3<�,�_����`����PC��AM,�/�e�b�����
Y�y��j��i�!I9bޑ��B�J9vHcs\ރ
rT�.�BL� RP��:�݇�ж�f
�@�z�݂��"\�X�I��7r�� )�4O����K[�z�v��� ��e��9�a�� "^� ����װ`�޾2�ۻea�:	�,����'�B�W>
��0D������=X
+�^�_BJ��*��< VZF@��<
�̓�sӟ�e	��3ڐM]�y-��
���
^\n/s��Y˶�
��QvxGsַ:�$�{w
��>�ٸ�%)�&� 2��U�h�{#�<��$�
�pfh�&��E �>(��~�1��h'��y/�Т�N&�w�ڝꊘUyZ>�}�N��DH�R�d�	X/*u���jei�$��ʗ�&��b�H�VzS^/T����˰��s��0��s��MAE���7w������v�����ˠx�]�~ j98]�Ӓ[�SO�
��֭<�

��̂�Pd��U�ւ-]�GBP7�6�e%��cqG'G.���"�oK��)�8}@s�a�I�Q at g��6$\� (J�`�-�H�A]�%o�
+n�Pj�‘��\���O����{����y���Xm���P���6N�v��-L��iXɠ1c.��6��On�*fV
��e�F%%��^�a{�
���&z6v�W}������8c�g��!^�#Xu�
+
q�֥g�^��87��2Q�*������9U�A�5�*1A\oʜ�ِI��"	���U�����Xտ�t�[�,�+|�"=;=���G�
�q�f(,N�4:�
��YJ������$�ˀ�M8 ���a�{
+endstream
+endobj
+9762 0 obj <<
+/Type /Page
+/Contents 9763 0 R
+/Resources 9761 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9683 0 R
+/Annots [ 9706 0 R 9707 0 R 9727 0 R 9728 0 R 9729 0 R 9730 0 R 9731 0 R 9732 0 R 9733 0 R 9734 0 R 9735 0 R 9736 0 R 9737 0 R 9738 0 R 9739 0 R 9740 0 R 9741 0 R 9742 0 R 9743 0 R 9744 0 R 9745 0 R 9746 0 R 9747 0 R 9748 0 R 9774 0 R 9749 0 R 9750 0 R 9751 0 R 9752 0 R 9753 0 R 9754 0 R 9755 0 R 9756 0 R 9757 0 R 9758 0 R 9760 0 R ]
+>> endobj
+9706 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.43 697.247 241.937 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+9707 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.674 697.247 339.338 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_afe89a5e748cfb2fabd6c6d46458f0d4e) >>
+>> endobj
+9727 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 616.858 179.743 627.389]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a3cd966830899423f741449e6567241cd) >>
+>> endobj
+9728 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.08 616.858 262.213 627.389]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9729 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 577.63 179.743 588.534]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a6ff7edd489b1d20b1bca1f4431d802f1) >>
+>> endobj
+9730 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.08 577.63 272.913 588.534]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
+>> endobj
+9731 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 538.776 192.565 549.68]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9732 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.535 538.776 244.33 549.68]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_af6518b1b7e729018dfc57b6800d904f8) >>
+>> endobj
+9733 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.505 524.155 266.4 534.061]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9734 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.418 500.295 205.107 510.826]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ab57aada46f9e76478cf7db1ca6ec9091) >>
+>> endobj
+9735 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.445 500.295 287.577 510.826]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9736 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.529 485.301 259.424 495.206]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9737 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.617 461.068 234.079 471.972]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_aafa858d51c2ba75d0778692e95c895c7) >>
+>> endobj
+9738 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.416 461.068 316.549 471.972]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9739 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 422.213 220.779 433.117]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node) >>
+>> endobj
+9740 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.749 422.213 255.638 433.117]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a77459bc72a66ade5bdb58c0ce1aaf020) >>
+>> endobj
+9741 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 383.359 176.854 394.263]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a454c2aefff18b334bc3e37c1f6e2fb77) >>
+>> endobj
+9742 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.191 383.359 287.538 394.263]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node) >>
+>> endobj
+9743 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.883 344.505 233.188 355.409]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a263d8e40807241816cef0286661553e1) >>
+>> endobj
+9744 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.99 344.505 324.123 355.409]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9745 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [359.608 344.505 425.252 355.409]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9746 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 332.55 179.554 343.453]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9747 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.433 332.55 394.097 343.453]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_afe89a5e748cfb2fabd6c6d46458f0d4e) >>
+>> endobj
+9748 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [466.634 332.55 513.996 343.453]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+9774 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 320.594 128.635 331.498]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+9749 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.923 281.74 207.756 292.644]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
+>> endobj
+9750 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.746 281.74 237.62 292.644]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ad9cea1b6b01c041b1d247c81b3279314) >>
+>> endobj
+9751 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.978 281.74 319.111 292.644]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9752 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.344 269.785 236.121 280.689]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+9753 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.123 269.785 343.766 280.689]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9754 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 230.931 194.567 241.835]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ad130cf335514a1939a5d63e56a774c05) >>
+>> endobj
+9755 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.2 230.931 340.977 241.835]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+9756 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 192.076 190.503 202.98]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a1c4c199e8c2b7038c2cc7769d20d53c9) >>
+>> endobj
+9757 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.745 153.222 203.471 164.126]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a7b1088e26353bd6fa17d49bd9226a4b5) >>
+>> endobj
+9758 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.788 141.267 209.431 152.171]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9760 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9764 0 obj <<
+/D [9762 0 R /XYZ 90 757.935 null]
+>> endobj
+9765 0 obj <<
+/D [9762 0 R /XYZ 90 714.318 null]
+>> endobj
+9326 0 obj <<
+/D [9762 0 R /XYZ 90 714.318 null]
+>> endobj
+9766 0 obj <<
+/D [9762 0 R /XYZ 90 635.459 null]
+>> endobj
+9767 0 obj <<
+/D [9762 0 R /XYZ 90 635.459 null]
+>> endobj
+9768 0 obj <<
+/D [9762 0 R /XYZ 90 596.724 null]
+>> endobj
+9769 0 obj <<
+/D [9762 0 R /XYZ 90 557.87 null]
+>> endobj
+9770 0 obj <<
+/D [9762 0 R /XYZ 90 519.015 null]
+>> endobj
+9771 0 obj <<
+/D [9762 0 R /XYZ 90 480.161 null]
+>> endobj
+9772 0 obj <<
+/D [9762 0 R /XYZ 90 441.307 null]
+>> endobj
+9773 0 obj <<
+/D [9762 0 R /XYZ 90 402.452 null]
+>> endobj
+9775 0 obj <<
+/D [9762 0 R /XYZ 90 250.024 null]
+>> endobj
+9776 0 obj <<
+/D [9762 0 R /XYZ 90 211.17 null]
+>> endobj
+9761 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F11 446 0 R /F79 505 0 R /F23 368 0 R /F107 2332 0 R /F97 1188 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9796 0 obj <<
+/Length 1673      
+/Filter /FlateDecode
+>>
+stream
+x��X�v�6��+�J�s*�j6nR�I�T�Օ�CQ�ņ" ����E�-�N��J	�q��
�s�`���ϳ��E��%�:�['�N�ę-��!��Fc�1
NGS�N�ӑ��U�K����,e����t>E���H<�t��Z���
��M�r�����
eo		=w��xt3{?�e6�2 �
v�R&�P�N�
\�`g	��;yI�lծ��
����>j��!
ڰ+��<�M�:����K��]/@K��ؔ�ȫ�+
�gAؒOB�{�3v]�'�>���o��q �䭳�*W�K�O������
�+/���\�k��b_���	���dRq�h���_��bS�����i��U�	�\�L
+?� ���p�H"��
��ӻ:>�Q�� �HGӝ�ĉ�Зߍ�8B��:c�(�s�ъ��ĭ����[k�+j�)���	컩^6�"@$G��<S��� 8���
�EU��U��/�"�lE�Ϗ��C*X~o�y�O��ʣ�o�	�ϼq�XYߦ
���
"֭�s�!�A즋��H0������������Fn0ܚ�L�{QH
�k�{
Ѩ�����ͤ
+{�؁����iuk��2��A���� ��B�y�

#+].e�
O��
v�#����M
KI��
��GN�\�HQJ݋
I^�� ���cnn3���!
���8����xe!����F�Q��9e��z���!�.���
�{�Fȏ\���gI�����q�����
+��������G~0<��l��@t
"�e��be9����7Q��	�[��
j�nn���� �к|[
����� B��Bht�A�6՜Q��RTN��]�$9l:	��
�0
f�
��N���rS����F(��	�GO���
�8k��l%�8�D(�:^�z&A�F��!���{�r���������%̬�*KM$�֥Sf$V S([OZ
�T��t�:\V�,O
�O�
+L�6��_6j�8ɕi[Pm��{�;�U�Xǯ�:צxs5xt�KD[۾�@'�O��^� _��yI�����	h/n"�#Ϸ���#�Z�L�hҊS�3��n{�ִe{|���]-�I���ǃQ�8�WЈ��2��oQ9��
'�~}�a ~�[��;�U��\>Yuf#/2;R��W�'O[I�|W�nD���/;R	!p��F�X�O��*6�i̎X]��͛=$Mb�j��}G��=��s] ��B���@�\b����V���g,��OB�\�"֍�"����\�yS�ٹF�����8 
Ѐ�3���v/RnV��,�oU�wΐ��G�_�e�
�\8�
�h� ��`l� {��b�K�6�2R3F׺qFQ��`�z�M�Jj�-��}L��L�|� ���G�*�Fa�y<�����ڮ�hX���j�J˧�߽���O]�ң	
+b�%�^�?O߂��dh'
S�����'���rM��݅���p���O#�ɾf��z:
x
I��/�k�LZ��$�Wi�Gȃ���wE�]�ݦ߾��lb(�:/
�o:�ٿ�
��H|ꕥ���	QA
�Ue 
+��1�լ�M��:E�5�����0
+�!�7
��ZzDc��&�"�a2��Z�i�>;v��$\��-�8�ye%D=9;�n�(�hS�5C�8����h���b���+�d%<\+��}��
���0
+endstream
+endobj
+9795 0 obj <<
+/Type /Page
+/Contents 9796 0 R
+/Resources 9794 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9683 0 R
+/Annots [ 9759 0 R 9778 0 R 9779 0 R 9780 0 R 9781 0 R 9782 0 R 9783 0 R 9784 0 R 9785 0 R 9786 0 R 9787 0 R 9788 0 R 9789 0 R 9790 0 R 9791 0 R 9792 0 R 9793 0 R ]
+>> endobj
+9759 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 697.418 227.503 708.322]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a51de11008f96ecfc0debcd83b616a3d0) >>
+>> endobj
+9778 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.636 658.905 240.982 669.809]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a87dfbdd33330c1f2f7d43582fd060ba7) >>
+>> endobj
+9779 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.636 620.393 240.982 631.297]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ab7331f9317fd2f4cf0c2c7bd066eee90) >>
+>> endobj
+9780 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 541.102 192.565 551.03]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9781 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.535 541.102 232.156 551.03]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ac9be59196bce4192897f34838353409b) >>
+>> endobj
+9782 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.364 525.676 237.259 535.581]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9783 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 501.613 220.779 512.517]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node) >>
+>> endobj
+9784 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.749 501.613 260.619 512.517]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a675704312a01f43f3f2d23f1f24c50c2) >>
+>> endobj
+9785 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 463.101 191.737 474.004]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+9786 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.236 463.101 242.377 474.004]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a9957fb5cc207114f8401d86fd66c7fba) >>
+>> endobj
+9787 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 424.588 240.255 435.492]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ad2e8f2d9c5b2732df9e001bb155320ca) >>
+>> endobj
+9788 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.753 424.588 324.637 435.492]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a4a60232026ce7d82ef5a4cee5e482fa9) >>
+>> endobj
+9789 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 317.555 226.034 328.459]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ad0f4f20d94ed76c2a147a571e3f44e6c) >>
+>> endobj
+9790 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.157 317.555 391.99 328.459]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
+>> endobj
+9791 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 199.284 197.257 209.47]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node) >>
+>> endobj
+9792 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 179.7 195.613 189.887]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node) >>
+>> endobj
+9793 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9797 0 obj <<
+/D [9795 0 R /XYZ 90 757.935 null]
+>> endobj
+9798 0 obj <<
+/D [9795 0 R /XYZ 90 716.221 null]
+>> endobj
+9799 0 obj <<
+/D [9795 0 R /XYZ 90 716.221 null]
+>> endobj
+9800 0 obj <<
+/D [9795 0 R /XYZ 90 639.315 null]
+>> endobj
+9801 0 obj <<
+/D [9795 0 R /XYZ 90 558.929 null]
+>> endobj
+9802 0 obj <<
+/D [9795 0 R /XYZ 90 558.929 null]
+>> endobj
+9803 0 obj <<
+/D [9795 0 R /XYZ 90 520.536 null]
+>> endobj
+9804 0 obj <<
+/D [9795 0 R /XYZ 90 482.023 null]
+>> endobj
+9805 0 obj <<
+/D [9795 0 R /XYZ 90 443.51 null]
+>> endobj
+9806 0 obj <<
+/D [9795 0 R /XYZ 90 363.124 null]
+>> endobj
+9807 0 obj <<
+/D [9795 0 R /XYZ 90 280.559 null]
+>> endobj
+9808 0 obj <<
+/D [9795 0 R /XYZ 90 166.28 null]
+>> endobj
+9513 0 obj <<
+/D [9795 0 R /XYZ 90 143.251 null]
+>> endobj
+9809 0 obj <<
+/D [9795 0 R /XYZ 90 143.251 null]
+>> endobj
+9794 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F23 368 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F11 446 0 R /F104 2229 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9819 0 obj <<
+/Length 1843      
+/Filter /FlateDecode
+>>
+stream
+xڭX�r�6}�W�fB �L�4ɤm:n����hh
+��P$Ë
�� ��h�I���r��8{p ��8�y��i�:{
`'D�����;� �S�lvΕK0b|���{�&؍�C��XS���íڕ���二ʇ����:`n�&�Uj�{�Sk�r�L��2���^�,�����
�돛_V�6��+�a���� >w����#vv��#?��}kup��:��?Vx��Ĩ���&���n�̆T��0���Vs��͵���j��}���(��Q�y�&ٍN��5�3�KaP
_;��}cБ
C�$�M}�T�f?�	{�

�"o= A���isa�M�]+
$�`^���i`�jb"�
+�6��j�)/��$�R��nM��L��TY�(�˾zZ{>���\�=ԂƉ��s����bH����9��TU�����\n���Dx�oA�н+�D���
٩�F�uQ���"j[�N{����!�ϋ�n\|�
�=N�[ջ��
�5���w&F|�/b"��P�XH��&�M��Jn2�[���>F" �Z�4($v��M��
$$��K!`p'�s2��{!4��
�A
���E9tZ�-4�/a�D_����eP��ޕy^���O��
0�Fӯn➱f��HR	M�#��-��m��������
�?�0��"���UK�
7��ZyS��`�9*��#
��L ubl� �����!o:,v�l�Eu�gK}�1ț@ 
��t��usR�MKbA8n�@~sk7�.�ն�<5Ƴ�q.�;,@>`l�r��E�.���.�2

�.�b� (A,��K
+8 ϶�C�}R�>� ���*�Xm��!B��
&.D����
AY��B���
V�E^�Q�������K��1�BX,!�����
ཌྷ� �s�0�_���
Z�ϣ��@H��m�b�̳q9�'��u̦D/i?	WE	d��X{0^4z��?.1/����Z��-
�I�s�d�.���Ar(R��5싵��M�/��� ˼�f�N� � �
������oNqh��L��kaZ�X����ʹj31�kw��~ί��Y#�t�0z�h�2�'xՆ5!��n=I𰰄3�
��5��V��}K�p����6��a���N��
G�n�5
�ic5����M�Q�V�@̔_�!f��b�2�z�mN�s0V���f
$n4<$KZE�bD�8g�!�����[�
.���n����>��
e�z/�־�M�[�S
+����n
��]�\\��<jv���$o�'�f���'�������t�����4by
�'�4�MکX��)
+Ix�U*u,T�6l)ڡ_&ض<!l����Ҋ���l�h
p",Җ�I��
g�̲����F�(�]���
H��o����-��~VqR=6���*:v��
%G
�{.B?\��}���[�[�a����T&B�
�p�
!��dS�p�
)�^ֆ>��({L
b$q��u��K�`�����V��O�}�FT%�&��e���H<A��"PZ0��D����|l?�[6
�����rɧ�[m�8"C)uw.
+D؂�뤶��dўKO�F1�,	HOK@����8��.�)cY��nu7�2���
�l�~�j�*E���C�� bЋk�/o����g���I��5;��Z"��B�I]�<��
�	��S�Vns�v=�w��m�L�������g
�v�Bϗ������r�	�>v
f
-���?+U~��ܵ��.ʚN�i
+�kQj��T�m�<�|��K�q�������j�-���
˷u]�����ߣ�BM�%J곢Hώ�r�0�̞���
���/���a8>��_z��c
+endstream
+endobj
+9818 0 obj <<
+/Type /Page
+/Contents 9819 0 R
+/Resources 9817 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9683 0 R
+/Annots [ 9812 0 R 9813 0 R 9814 0 R 9823 0 R 9816 0 R ]
+>> endobj
+9812 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 382.873 197.546 411.938]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9813 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.611 267.614 352.396 278.518]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_ad5d38b578c833abb397e67cacce7f54d) >>
+>> endobj
+9814 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.227 267.614 513.996 278.518]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a4d75a1f9b3e618d337fde1b4de9fdac6) >>
+>> endobj
+9823 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 256.635 152.973 266.563]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a4d75a1f9b3e618d337fde1b4de9fdac6) >>
+>> endobj
+9816 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9820 0 obj <<
+/D [9818 0 R /XYZ 90 757.935 null]
+>> endobj
+9726 0 obj <<
+/D [9818 0 R /XYZ 265.271 693.486 null]
+>> endobj
+9821 0 obj <<
+/D [9818 0 R /XYZ 90 676.759 null]
+>> endobj
+9327 0 obj <<
+/D [9818 0 R /XYZ 90 539.626 null]
+>> endobj
+9822 0 obj <<
+/D [9818 0 R /XYZ 90 525.056 null]
+>> endobj
+9328 0 obj <<
+/D [9818 0 R /XYZ 90 257.632 null]
+>> endobj
+9824 0 obj <<
+/D [9818 0 R /XYZ 90 243.061 null]
+>> endobj
+9817 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F100 1390 0 R /F123 2840 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9832 0 obj <<
+/Length 2043      
+/Filter /FlateDecode
+>>
+stream
+x��X�n�6}��S��i��7�rY��w��>8��,�ne$Q���8_�"��.����I$E���s�H�G�:�n���\]G�IH�й}p�D!#g�m�ܹ�?���Խ�2�m�
n����|>��M?�m�>��7��
n���[�B
~����x@ݯ˴��V<�Pg�����������n~�0P�:L+D$�'�6w禎���%^;OzV��܃o���{C�a�U�P�;	
}4��V�m��X
+��L�D4qv�G1M���^]�t	X�|��'�
���,m��o��8w�Mʙ7��/E5�j~���D֣G3Y�iQ�#��ca|]���RsCvF�
�IK2吣П��iW�.���؟34IH
���9�����L`��,O}�e��;��0��ie&�E�9�Q��
ۿҀ�b��bp�AkU�E������ZnY�~���]�.
(�좈$~F3�*������}���oGI0P���8�*
+�P���{!j3I�ů�r�+�/� %X�8��n�|ps2�OK��
jٛ����/\��-ܡ�\
YWɈml|\�ƨ5�F/���G/�)e6
�U���f8��<��D�'���m�Ɩ���ad�
Y�A�f�tM��C^T���c������b��+G'�ꯛv�g�}w* x
q��@�
+��� �u�Q�o��A�_�w:ve� ?G'tb�M��o��&�y�~#��{mk���z��(H&�F8H폢�O��D3�D�0'�T�����ЛA���G9?v�>��eg~���j>�~~D<���woVl�	!
��v�k�X�|U�G|ʇ�E����R��(��4<(E����#[��,�(	oX�Ś�@�U�^�rE
�$���RV
����2�
+�C�
tܬ�
��yVy����k;�xC���Ii���(�����"�	��	�?�
e r��p���q�
� �@5
+*�o4�<�
�QC>�4L�{��1�G��Dѷ´Z)5� �� ����(�@�= yc>�R�i�=`�a�ңy��$�f]���ix��b/	N���d�0��#��!a�eW�����i%O�"@a�B�K܈B�D���a�O����K"�Nid�~��R�_H��Ǝ�)�c��^��fH5��XdG
p�Fc�h=�F�Y
l;��Y4H�$��j!/�CH3�?u
�U#��kj���
��w�
5W.�hŕ4��^	���â!���4���"���2�0�`�D�%����@�k?�>�F��Av���91Pu3�B����"5�c����5�P�L�G�昚��t�wF:��-�AЂ�
�K�Y�0����}o�����)		=6O�ފb���0>���0�������Li��M�B��u
+�2�����Լ,�U�^<
ed���wJ����M[K�^K2x�D9O* ��ׯ<�swh�aw����@������:sA�l>V�+e��
9�,�@�NEQ
+8D�G$���J ۟L
���w�-���
~�?��f "s@΢f䈕�ӫ���+-e[��
+�a^?�57�����>�!��
�B�3Uw��������R�pgb{��\����a mMܴi�g,�`4�O�� h<�Z��(P�(s\	gY���J����
+-��wsԉ=mel����\��� �Lx^���s#��:�����}ק:�m����NՐ^
Js�x�L<a6�_�Jq Q �Fyi�a ��'�/V��ʇIP*�ث[�~�o���zeN�e
k�_}+��Q��p�>�Daxgv
�
:�k��Vf�B
0
.��$q
Nb��Z���-
&r�H���,I �v��	�*�e�p�(�H�
+�o>��&���i6�Y�
AuL|Z?��Z� �R*{�o7
+K�����;�u^�_�u�mpD�%6������0ג����]C�������짴>
9�
+Lh��݊�0��g�N
��v}p��}���,�F�F���_]===��#��hZR�W��W/�ɉHB#f�P{��l�s.
V+
��/i��]
+endstream
+endobj
+9831 0 obj <<
+/Type /Page
+/Contents 9832 0 R
+/Resources 9830 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9683 0 R
+/Annots [ 9815 0 R 9825 0 R 9826 0 R 9834 0 R 9827 0 R 9828 0 R 9836 0 R 9829 0 R ]
+>> endobj
+9815 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 704.958 197.546 734.024]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+9825 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.611 607.95 352.396 618.854]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a603f587cd77a706bf32b9dc14d58f9f3) >>
+>> endobj
+9826 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.227 607.95 513.996 618.854]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_af4028a0ca64c5e195dd0ca98834fd3c1) >>
+>> endobj
+9834 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 596.971 152.973 606.899]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_af4028a0ca64c5e195dd0ca98834fd3c1) >>
+>> endobj
+9827 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.18 353.127 357.965 364.031]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a330d5c424c32abef2330e921ed0743c7) >>
+>> endobj
+9828 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.227 353.127 513.996 364.031]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_aafdb58651683fa65f4bbfccf374249ff) >>
+>> endobj
+9836 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 342.148 152.973 352.076]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_aafdb58651683fa65f4bbfccf374249ff) >>
+>> endobj
+9829 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9833 0 obj <<
+/D [9831 0 R /XYZ 90 757.935 null]
+>> endobj
+9777 0 obj <<
+/D [9831 0 R /XYZ 90 597.967 null]
+>> endobj
+9835 0 obj <<
+/D [9831 0 R /XYZ 90 583.833 null]
+>> endobj
+9810 0 obj <<
+/D [9831 0 R /XYZ 90 343.144 null]
+>> endobj
+9837 0 obj <<
+/D [9831 0 R /XYZ 90 329.01 null]
+>> endobj
+9838 0 obj <<
+/D [9831 0 R /XYZ 90 200.811 null]
+>> endobj
+9811 0 obj <<
+/D [9831 0 R /XYZ 90 178.499 null]
+>> endobj
+9839 0 obj <<
+/D [9831 0 R /XYZ 90 178.499 null]
+>> endobj
+9830 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F11 446 0 R /F104 2229 0 R /F72 404 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9872 0 obj <<
+/Length 2078      
+/Filter /FlateDecode
+>>
+stream
+x��Y�o�6��B���j��
��v�֥[�v��v0I���5I���~LJ��'M�}"S��x���NX�Ӱ������Ú�
�Z�r�9XcA&%����N	F�5���t1#x�汻Z�(���~���z
��n�����aRA���%� ������_�ڌ�&U�^�唎>�?՝j���r9$�!�b��W���-�ٜ�x��9t�Y䖁
��A>#�4H<"6%S�.tr���=! kD��d���œ�`͇��4�t��vbV�T���v3�i���q������B�nk��[�T�
��ؾZ�����,��fS���&�b�D���"6�8������F�a��5�B�gv%�&��
z� �Nð�`l �	�D��]�
:n��6�MC�S�#-7
+!Y:�fe
+1�IQ�[�
�D��0�&ez�r�z�X���H��_~����Җ6�gȢ���0�
��#�
��-
�j�q�PG���u]е�1GhW��d�aY(�� ��T�\
�
+��w��� �;A/D:�0#��!��� ��D���� R){�^G������!��l_,C�]�	
�՜:�J�)"�"���6
+=��� �
��W�D@��TQ�Ⱥ�Y�����
�^��m��e�ﰉᏴ"�3�Q�9p�eš���qe@�*\�
+�
+a��4��Z���l��SQ�^��ʰm�&��W]�_޼�����Lg� ��� )�&�ӵ�>n���p��{��XP�@�
^n�b at 5
+�.q:�80����M
+�@�o�+̜�n,
tV|"�X���4�f'8�>���v�H??���
���
�
�G1dT�`�e<�Q�/�:k
\,�~0Il�0��^�X�a��[�yuF��>�r�-�����`,]7��;���m�F��}���h܇q�Hp���x�[d��g�9M�!
��x�3�w"
$Vo�����\�D&��H�`�v?b3��pe��Fn|��
� }��M|�*dF�ѢCy�4)�\6s݂�K���j�⺞�
+�}�|���&`q�^��<)vc�
���Fg���)���z=:�
%P}ֵ��
�E�%d��f�0j!��yaWC� �a�
+����|<����	�h��A��\��V/A��IZ�"|I�^��,�l�U=�x��
ǷN(�~-�y$���e�ڞnp;Z�^�*M���0�_����/��7��RPa:� H��W�0�U>���$|�k8@�*˸U�4k��T��P��f�mZ�i�R�X�2��%0���v<�R6�A�Q��P��6�
���N�w��Y�t,;��o��r�����4�3�ŗ?�����} I/|�x}�����G��J)?V��a��d�^	�!�|�C���EP�1�]X$�Y�f�iq��w��y�����M��̰�i��
+�čUP���DJA�v����hc�O��"�9�8�|����E<���-�Ym�� �V ���wt����'�?��8 4��"�IC��7�̀AZ]����B��e���n��5M(d�M�Uٷ�\��\���Z��FQ��z�t+"׫p-"�K�JҚ��xw�'_�z=�W^�����d���<pF��Ӑ��)�5
n��#o��!$c΃���:��ua~�`�$f�i�QX�n�WׁH�W�����
CA+
;c
� �A��0n@�dW���j-��h������,˳1��'�9�e�c�� �i��_�H�rlr����e\B^
�b�+7i�R�/7��F�|�
�;�V�W*
a����܊���b0*hQ��O�����}��ʔr����t��
��L?���
+|�%�U����; ��u�=�i@Ơ%ʂ'K�ł]Xn:G��օ�&t�ʻE��K�j-��Y�IMk���6�YM+�P�b�c�%� ��h��-�
7
+��C��?�Z��fO�&[}��
��e&?��2M��ٯ�Ԥ~Vߛ�O��I�����y�D��lݨ)A�sQ`�:�ˆ~0�m�	��]��/�z�~">�5��"��dS�����n�C^��H�r��Y��-)@߬Ip�U�
�yP%e0����_�U�
+endstream
+endobj
+9871 0 obj <<
+/Type /Page
+/Contents 9872 0 R
+/Resources 9870 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9882 0 R
+/Annots [ 9840 0 R 9841 0 R 9842 0 R 9843 0 R 9844 0 R 9845 0 R 9846 0 R 9847 0 R 9848 0 R 9849 0 R 9850 0 R 9851 0 R 9852 0 R 9853 0 R 9854 0 R 9855 0 R 9856 0 R 9857 0 R 9858 0 R 9859 0 R 9860 0 R 9861 0 R 9862 0 R 9863 0 R 9864 0 R 9869 0 R ]
+>> endobj
+9840 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [121.93 612.18 384.733 623.083]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+9841 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 557.32 181.845 568.224]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a88358b265bd62da2cd81c56fcd645ff4) >>
+>> endobj
+9842 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 518.466 181.845 529.37]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae2abdfa9b2796151d2d8940d14129568) >>
+>> endobj
+9843 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 479.611 154.727 490.515]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad1574856ed0bd50691f53d457f7050a3) >>
+>> endobj
+9844 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 441.131 176.505 451.661]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a2620151d844d477b43ae04337c554e99) >>
+>> endobj
+9845 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 426.136 450.955 436.041]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae2abdfa9b2796151d2d8940d14129568) >>
+>> endobj
+9846 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 354.39 200.451 365.294]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9639bd96c993f44bae8ec9185cf00d45) >>
+>> endobj
+9847 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [227.2 354.39 292.843 365.294]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9848 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [428.607 354.39 513.996 365.294]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
+>> endobj
+9849 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [290.341 329.807 358.056 339.712]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+9850 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 307.566 200.451 318.47]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aee7b076885815e52c4678cfc0fb9e5a4) >>
+>> endobj
+9851 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.18 307.566 316.536 318.47]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+9852 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.165 307.566 424.631 318.47]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+9853 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 248.786 200.451 259.69]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab9f1d84ccf75cdd4871b4a4b1ff28325) >>
+>> endobj
+9854 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [227.868 248.786 303.224 259.69]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+9855 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.821 248.786 431.287 259.69]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+9856 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 190.007 200.451 200.911]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a3c28caf6c53b59565d9fe51ad448cbd1) >>
+>> endobj
+9857 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.975 190.007 338.396 200.911]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+9858 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.53 190.007 513.996 200.911]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+9859 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.486 164.427 244.201 174.332]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+9860 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 130.231 200.451 141.135]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a98db63b080d0117099060e3faa4f0278) >>
+>> endobj
+9861 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [227.788 130.231 305.615 141.135]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+9862 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.796 116.607 243.512 126.512]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+9863 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 93.369 200.451 104.273]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aa0bf2a85994114dfd0e8574b94c0843e) >>
+>> endobj
+9864 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [227.788 93.369 312.241 104.273]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+9869 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9873 0 obj <<
+/D [9871 0 R /XYZ 90 757.935 null]
+>> endobj
+532 0 obj <<
+/D [9871 0 R /XYZ 90 712.938 null]
+>> endobj
+318 0 obj <<
+/D [9871 0 R /XYZ 90 706.338 null]
+>> endobj
+9874 0 obj <<
+/D [9871 0 R /XYZ 90 576.294 null]
+>> endobj
+9875 0 obj <<
+/D [9871 0 R /XYZ 90 576.294 null]
+>> endobj
+9876 0 obj <<
+/D [9871 0 R /XYZ 90 537.559 null]
+>> endobj
+9877 0 obj <<
+/D [9871 0 R /XYZ 90 498.705 null]
+>> endobj
+9878 0 obj <<
+/D [9871 0 R /XYZ 90 459.85 null]
+>> endobj
+9879 0 obj <<
+/D [9871 0 R /XYZ 90 219.063 null]
+>> endobj
+9880 0 obj <<
+/D [9871 0 R /XYZ 90 147.332 null]
+>> endobj
+9881 0 obj <<
+/D [9871 0 R /XYZ 90 110.47 null]
+>> endobj
+9870 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F21 2359 0 R /F72 404 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F106 2337 0 R /F38 2120 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9920 0 obj <<
+/Length 1651      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�F~ׯ�Ʌ�z�v2mg�4�$�
7Vg�I2,a�[��gaA #�
%M<y��p�|߹6�6���ǣ��
��
+c|e�ؐ� N�1��L��-�C�16�-�M/]x�s�b3W��,�&����KWO����(��\�Q���)\�>�_
��xe�\�*ų~*����S�V+�/����Hd�Z�/��yzYf
R�ͱ�R�_$����7���Z�1�h
+��C�i�����G����)L�%������l���K#�:�M�jaؔ�14.F��6�汄�5
�W؅�6(
��2��j����j�B�R�t��z�|d�+�>��&
�Ǎ�65
���� ��$�,�桶�,��^F�\/H�Բ��
/�e���Z��VY�/����<N�h�.�Y�"W6������\/j�E ���6�y<:�A�C&)��4)E�K�)�R:���kK��
R7�H�{�1�5˷���D�>G
��y`3D��c�(0��4
+���m��&%��t�������ɡZ6��c�"��o�O�_=����-�t��m�
����B��2gY�VIeʤIȒ+˼M}�4�3V�^Z��_�	 {a8��Y8��d
��gg}
P���
�]�^I�����cM�	ܕ�pW˞������9l�y�Z5�2��A|w`+��ߥ�`�� bq�D��D�T�['����EfaNc��!lw�iI�;���J��[�UqW s�x�(�ts��!Gʶ7b��!�S�^Oso
G^8����z�ʊH��]���XB��]��3q�R�:�qg=��=��F���C���k�z1��V@險@
v��k��5��!^#�0��.
jX������t���$��%����r��0У
re��C\��
F��a�>����q:ɋ(�ӏ�����*���..C��m,�����!�����S�(��Q��
�Üڒ����,&d�{
�!��2��s(I�9��������.����l��
��
�R�T� [...]
���EM
�:
�_
��9��S�Sz�jd햤���'�4���S$�#��(Pn�QeY��#�`���lj�<�!��[�L�:�@	������!�y0��p5��GÍ�0��ʷ4� �
�J4)�ŢZc�|AUS�_�0J���]�3�\��#7.�e4{�t�^�OL[��=$�'���pc	��}ϋ�]�V^�Z��U/>an?�=���S(���
c�Q��+�p$�z��"���4���1�H��%�>�ّg���?[	�>��0am�QEl~�!@q�~Q|g
ȕ*F���	Z5��
�h����Y}�R����?�����sSo�ԋ���^a^եu�Ed
2Ȏ~E�r_����
��-q(���G��<yrttss���28IQ�%IxtwҐBl$���U�&.�ԯ\T�ul�e���U̢
+endstream
+endobj
+9919 0 obj <<
+/Type /Page
+/Contents 9920 0 R
+/Resources 9918 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9882 0 R
+/Annots [ 9865 0 R 9866 0 R 9867 0 R 9868 0 R 9886 0 R 9887 0 R 9888 0 R 9889 0 R 9890 0 R 9891 0 R 9892 0 R 9893 0 R 9894 0 R 9895 0 R 9896 0 R 9897 0 R 9898 0 R 9899 0 R 9900 0 R 9901 0 R 9902 0 R 9903 0 R 9904 0 R 9905 0 R 9906 0 R 9907 0 R 9908 0 R 9909 0 R 9910 0 R 9911 0 R 9912 0 R 9917 0 R ]
+>> endobj
+9865 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.796 720.235 243.512 730.141]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+9866 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 697.108 200.451 708.012]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a410bfbb102ec5ec854351c383685ca91) >>
+>> endobj
+9867 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.054 697.108 304.611 708.012]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+9868 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.228 697.108 422.694 708.012]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+9886 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 650.393 200.451 661.297]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a8b27f6597e651407b433a5098a47a76f) >>
+>> endobj
+9887 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.574 650.393 313.516 661.297]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+9888 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.968 650.393 425.434 661.297]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+9889 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 603.678 200.451 614.582]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a7347d9123ff2c5b816d45a40d74717a9) >>
+>> endobj
+9890 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [227.788 603.678 248.042 614.582]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9891 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [269.173 603.678 344.639 614.582]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+9892 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 556.963 200.451 567.867]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_afe0167a0ee971c067b50d643ae6c7189) >>
+>> endobj
+9893 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.761 556.963 302.03 567.867]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+9894 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.874 556.963 430.34 567.867]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+9895 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 498.292 200.451 509.196]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_af9a9dc6ee0a1a214d8d7bbf4ef0d9c67) >>
+>> endobj
+9896 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [235.866 498.292 281.026 509.196]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+9897 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.822 498.292 427.288 509.196]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+9898 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 439.622 200.451 450.526]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a6e44f3d4115b10d2b7365390182c4714) >>
+>> endobj
+9899 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.088 439.622 254.688 450.526]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+9900 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.084 439.622 299.811 450.526]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+9901 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.711 439.622 427.177 450.526]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+9902 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 354.744 190.738 365.648]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9903 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.236 354.744 261.85 365.648]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a69b8be312d167dfebfba35b91c7c9f95) >>
+>> endobj
+9904 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 318.101 190.738 329.005]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9905 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.236 318.101 262.159 329.005]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab3118b07bb55902e522ddf0375eac899) >>
+>> endobj
+9906 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 281.458 183.824 292.362]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad1e68150be7e04e59627d8ee19c76d10) >>
+>> endobj
+9907 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 245.189 192.272 255.719]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a7e6ce9a6495c9482980e3d2f76d948a9) >>
+>> endobj
+9908 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 208.172 241.935 219.076]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a43d9dc891079233f9ec0618bd5d4b46c) >>
+>> endobj
+9909 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 171.903 193.229 182.433]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ade90870acddf26103903da3d9e270088) >>
+>> endobj
+9910 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 134.886 213.163 145.79]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aa1b0f7ebce9dd3f01d55861ea1698fdc) >>
+>> endobj
+9911 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.501 134.886 315.857 145.79]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+9912 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 100.5 189.901 111.031]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9fddb040df547f46e9581e9ff7f80107) >>
+>> endobj
+9917 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9921 0 obj <<
+/D [9919 0 R /XYZ 90 757.935 null]
+>> endobj
+9922 0 obj <<
+/D [9919 0 R /XYZ 90 369.768 null]
+>> endobj
+9923 0 obj <<
+/D [9919 0 R /XYZ 90 335.147 null]
+>> endobj
+9924 0 obj <<
+/D [9919 0 R /XYZ 90 298.504 null]
+>> endobj
+9925 0 obj <<
+/D [9919 0 R /XYZ 90 261.861 null]
+>> endobj
+9926 0 obj <<
+/D [9919 0 R /XYZ 90 225.218 null]
+>> endobj
+9927 0 obj <<
+/D [9919 0 R /XYZ 90 188.576 null]
+>> endobj
+9928 0 obj <<
+/D [9919 0 R /XYZ 90 117.173 null]
+>> endobj
+9918 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F79 505 0 R /F97 1188 0 R /F56 367 0 R /F38 2120 0 R /F107 2332 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9979 0 obj <<
+/Length 1922      
+/Filter /FlateDecode
+>>
+stream
+x��[Qo�6~ϯ�S'
CR�(�
��
�Ro/ma(6mk�%W��f�~G��%G��Z�� /�LS���w�'
+[3
[��~
�]���HxԳ�SK`�{1J����d�\opN0��Հ`;H��j@��Dws9I����M�wo���0�3��>ꖵL�a�e���
!5aԡ�e
T)d���4���e���o�m�p��j�_�sY68�
�Á��\,� ���ZNe: �-�14��%��������a�E
+S1��ì����lM�����#|k]�ZX.u�;�>��y���w}�`^]o‘#pB1.�L)+�)o�>�3p�M�D�]��Ό��E5�qgy�q�}���3fx����Bx?
n"�v��2�F!���F���#,&鹅�(�\b��3����*�z^������8^��<]I��Ɛ��©�(�'�"��;}��r��J�m��H >r����6g@X"������.���Y9�g��6M���j��0k�+�+���Z-��|^��	 �
���M��'�h�&�Qp�(;ܪ�
ou���w0d���~[�2��$n�Tb��󃟄Y�a�W8���4
��NF�MAƷ�
�lp $���߉H�#7?"od�(�Z?4�g�F��>$
+���`��,:�P,�o�"��
:D
?5�^��N�.�_w
�x�e"�*&��t
�8o
0[-Gq�H쐑�
i�zP�QZ
��z>@
�̘���X��wDq����)R�=$\�A���
ApUFPˮ��e�o�i�q��
�c�n�exa���r��M,ÏZ,+Y����g���-�_+���Y����c�y�+@�*ha��з��̬���\ *Ӂ���+�O�A�*W�*�[,W��<�B
��Pȩ(�u���^�2
�$m]�g/�B@'&�*S
��R�X��z.�}-s!L z��k��
,�S���B#,0��aC̐Gz�o:�ڋ0n�C�
D�0�~:�N�ҡK�H
�{��N:<p$�GRt���Ce��3�C�$�����$4|��p�1�/Bs�\�[
�"4��8���	�Ih��Q�	,
��X'��{�,�`9��/����kR�Ȥ^��xz̠¾sH��("8r}����L&
���8���ѸV�O�#��W�C@]p�
 �c��Q�g{I�E���I��%j�0���v�� �;}��z�Ԧ�� ���lvR��6c�����]��
�y�v��u
+�?�ZV���#t�A�j�@;�*#��uF�S�����K�ӥ�����Kǿ�!q� � ʒ]A�TLL�ۨW
��w�7	��W����q�\~]���Q|;�� '�Y?n�\��ig����'��zdZhk�+7�
y�"P��؃
�F�c�2�r�^H�	��gZ��- ��^"�a����x��]���<a�' vyP$��KP��Bn�
�NU�5��w��xz��CJ��&�ҿ&a��*
�Mbo�*Bx��a��3
y�4G}�i���`��}�[#P���
�⪼H�X�3k�ޠK}Ĺs�l�qh��ͯ#�]��d:���;��9ȱ��4Nr
W���Q����)�AV"+�6�`n�|'�-�L�E
r>��
+��C��@����$
]�(ȷ�v;Q��ޣu�Ϗ`���f;ō{��fޣ+z"�yM�xV����RngK�dm���9�&K�
"���
+ڕ&��y[]
R@�Zj��I1�^
��|߁�nབྷ�^��ٮ<�y�NSV,5�
���!�7ś���C�˰O��Io+�:O��x/��Cy5�m��h���
��~���
l
�2C����	��&��#��a9��"f҅I;��G�Dm�����W&ӟ���Q������i��&�ЃT��e	1=����7 ZӖ�a^9p���7���3���e���b��.Fۚ3!.�����jIZ%=и(�w����
+endstream
+endobj
+9978 0 obj <<
+/Type /Page
+/Contents 9979 0 R
+/Resources 9977 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9882 0 R
+/Annots [ 9913 0 R 9914 0 R 9915 0 R 9916 0 R 9936 0 R 9937 0 R 9938 0 R 9939 0 R 9940 0 R 9941 0 R 9942 0 R 9943 0 R 9944 0 R 9945 0 R 9946 0 R 9947 0 R 9948 0 R 9949 0 R 9950 0 R 9951 0 R 9952 0 R 9953 0 R 9954 0 R 9955 0 R 9956 0 R 9957 0 R 9958 0 R 9959 0 R 9960 0 R 9961 0 R 9962 0 R 9963 0 R 9964 0 R 9965 0 R 9966 0 R 9967 0 R 9968 0 R 9969 0 R 9970 0 R 9971 0 R 9972 0 R 9973 0 R 9976 0 R ]
+>> endobj
+9913 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 708.331 187.689 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a741a79dbeefc27764532e2be63120ff8) >>
+>> endobj
+9914 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.505 708.331 226.693 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+9915 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 673.088 228.895 683.992]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae4d04c972b69315f7f82ef303f1b31e7) >>
+>> endobj
+9916 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.232 673.088 333.482 683.992]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+9936 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 638.219 229.503 649.123]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_afbae47064f15bcfd238fbb8e778e4ea1) >>
+>> endobj
+9937 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.84 638.219 334.089 649.123]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+9938 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.98 603.349 187.264 614.253]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_acfb675b82bc6829361d1647880a2e00d) >>
+>> endobj
+9939 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.963 603.349 293.213 614.253]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+9940 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.131 603.349 371.148 614.253]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+9941 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.711 603.349 455.727 614.253]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+9942 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.98 545.566 187.264 556.47]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae54a4b74cd6e303628d06baa3014a4a9) >>
+>> endobj
+9943 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.963 545.566 293.213 556.47]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+9944 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.131 545.566 371.148 556.47]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+9945 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.711 545.566 455.727 556.47]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+9946 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.235 533.611 220.058 544.515]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+9947 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.717 487.783 186.348 498.687]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a14552a788e6f0f23a513ba57c1ed9129) >>
+>> endobj
+9948 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.523 487.783 293.772 498.687]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+9949 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.35 487.783 373.367 498.687]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+9950 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.82 487.783 456.837 498.687]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+9951 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.717 429.999 186.348 440.903]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a34d86332404f9819605dbce5ab19f684) >>
+>> endobj
+9952 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.523 429.999 293.772 440.903]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+9953 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.35 429.999 373.367 440.903]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+9954 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.82 429.999 456.837 440.903]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+9955 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.581 418.044 218.404 428.948]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+9956 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 372.216 232.76 383.12]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a92c73441367e1d9c77bc360a009820b8) >>
+>> endobj
+9957 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.097 372.216 335.454 383.12]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+9958 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 326.388 232.511 337.292]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a65234fd4b0ac6aa8765dc960489104c2) >>
+>> endobj
+9959 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.848 326.388 335.204 337.292]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+9960 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 280.56 180.496 291.464]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aa1a9bfc80ee005c6dcf60ad60fbcedfd) >>
+>> endobj
+9961 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.834 280.56 283.19 291.464]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+9962 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 245.691 213.153 256.595]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a37fa37c5d3937c14095868add547dac7) >>
+>> endobj
+9963 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.49 245.691 315.847 256.595]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+9964 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 210.821 238.459 221.725]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_afffb0b03585f4317ffa46aff429b2c6c) >>
+>> endobj
+9965 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 173.96 205.692 184.864]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+9966 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.19 173.96 261.312 184.864]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a0e607a3a4f75933f5770af4a1c435a2f) >>
+>> endobj
+9967 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.65 173.96 332.156 184.864]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+9968 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 139.09 205.682 149.994]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+9969 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.18 139.09 261.302 149.994]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a754588d1a8135cb2944e9cc0fd6ec486) >>
+>> endobj
+9970 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.64 139.09 330.462 149.994]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+9971 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 104.221 205.692 115.125]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+9972 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.19 104.221 261.312 115.125]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9df4749e0d54f9bb1ba38e2392697fa6) >>
+>> endobj
+9973 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.65 104.221 338.781 115.125]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+9976 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9980 0 obj <<
+/D [9978 0 R /XYZ 90 757.935 null]
+>> endobj
+9981 0 obj <<
+/D [9978 0 R /XYZ 90 227.922 null]
+>> endobj
+9977 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10032 0 obj <<
+/Length 1771      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�D~����3�f/Z]:�
��i!����F�6����VN0���ڕ,;���Ӥ<4��ݳg����^�5�������䵇� .u��`�s	�X��zo�
w8"c�|H�
�(<Rl���L$E��N��X�|�?�Y)Eiڨ.ע��?�oO^��2�
�*�X_�&[����u��W�.9
rp#櫃bN瑔���
j��r
�By'.E1$�-�>��!�:x5
�=  [�2��Ǹ/���V��Z�����V
ˡ
�s�b�� ��{Vpp��7�
<Bs��(�6��J�bj�z���z?� �B,�b
��_��8�K���h
��iN֥�[]M��c�G���<����	X�sr�
+-�\�X#�P=�w�\��$ҏy�ѯ�|�%C��y��p��~U�oif:V�W���NG=C�q�Z�"�{��Zz���I�c���Vr�_�)g�4lܲ 8i؈:��1�!F����53*�J�!��?�(�O����"�"����Vp��O�
+��Ha( �Ѱd�H��8O�c�
� �/��IZ=�a��e^t!A��	�B�w8 at AP%��I���q���G��ә�U���`�����
'r�}i޴*�̳k��T�٩H�m�Ro��E8 �ɴz�(6�M"�in|�\'i��5��fS��L,&utx���z�z*���Yd<�,O����L�1��W�����C��H�Ꮢ$LR����>"h���>��>[�*���-�N�Dծ�@�s��ǐ�n� �S�ʐϚ
�Y�L(�62���A�w+�=�DE���W�i����{�mX�&+�I��
q�!L�-�n�8�]���
+Uh�S��]Dܦ��;Ds��{����5���B��L�j�ϟ�H��z�߬޺ Q���>�)C��i�}
��8��
��q@
���Z�b���LR�&
��l�����a�<�{r�/'|
��1⹳�P��	C��� 1��'7<�O<��cZ��
�1�Gȳ) �/�M���H�ϑK�ĥ�,o����~���Bg8���VI�0��E ���GXB�ʣР79L�C��j��j=)ɫ�jٙ�`���K�� ��"�/9�ñ�#�k�э�Q���s��r�5��>N�`�:$��j�o2����z�C�p�/��j?�1V�a�|T�x=O��H�q�v�v�R���έa
+E'
����8v�#�W�L.!����)�&c�N�
̛c+
����**�Ġf� �;v$e:ͪ�O5F�U-�V�>
�Q����(������C0�?��".n9�
/D���q	y
����	��OP��	�!8���s��$��m����o�U)�vӫ/�a
<�����Yd��pXeq���\|��Ҷ��Ll�8�_��r����
W	��O aY��1}')�e(��<
aQ_
OE.�-��IE�{����r
�[
R�v_~�����Og�?�������x��Ї�&���'��J�u�.�� 8v�:1#'���v�\6W�����z�� è��������+�&iA�c�K-��cզD��]�����J��h\�k��
y��ނ�>r�
I 0�;8w���!�A����o�(�o.i� P3h�7�j��X�s������i�i�P��9�e} ���k4
+�+%J��V(O���r�w!�Ԥ���U�}�<���%j[�k��,�/ON���Q,�*K�J˓�r~r�h�%�8��Gu@_�ȋ�|>.�,�v����hr
+endstream
+endobj
+10031 0 obj <<
+/Type /Page
+/Contents 10032 0 R
+/Resources 10030 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9882 0 R
+/Annots [ 9974 0 R 9975 0 R 9996 0 R 9997 0 R 9998 0 R 9999 0 R 10000 0 R 10001 0 R 10002 0 R 10003 0 R 10004 0 R 10005 0 R 10006 0 R 10007 0 R 10008 0 R 10009 0 R 10010 0 R 10011 0 R 10012 0 R 10013 0 R 10014 0 R 10015 0 R 10016 0 R 10017 0 R 10018 0 R 10019 0 R 10020 0 R 10021 0 R 10022 0 R 10023 0 R 10024 0 R 10025 0 R 10026 0 R 10027 0 R 10029 0 R ]
+>> endobj
+9974 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 709.207 202.902 720.11]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+9975 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.4 709.207 300.037 720.11]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a7b71c85c9201eabfb945527532eaebb4) >>
+>> endobj
+9996 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 673.358 202.902 684.261]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+9997 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.4 673.358 314.263 684.261]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a58ee2abcd4b191f32ff78c0e768b18b5) >>
+>> endobj
+9998 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.819 637.882 199.864 648.412]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad5999a9b4d00e7c079fb27a26b640188) >>
+>> endobj
+9999 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 603.519 161.677 614.05]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aa6633280f8aef2c30ed25d9c59544c11) >>
+>> endobj
+10000 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 532.516 198.011 543.42]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a6ef292d9fbb334ba7994b8d2b3a5e94f) >>
+>> endobj
+10001 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 498.526 205.752 509.057]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a05b872f147220805d2c4ee943a76ef13) >>
+>> endobj
+10002 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.089 498.526 276.595 509.057]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+10003 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 464.164 236.745 474.694]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a60f11695efd1e26251b6f2463b989974) >>
+>> endobj
+10004 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.082 464.164 307.588 474.694]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+10005 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 429.427 209.627 440.331]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae816bf5283bdc18773e7b188ef95df81) >>
+>> endobj
+10006 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.964 429.427 314.791 440.331]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+10007 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 395.064 240.62 405.968]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9a99b2b76d216a907dcb515f5ef61cfd) >>
+>> endobj
+10008 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.957 395.064 345.785 405.968]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+10009 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 360.701 212.377 371.605]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9d108150f1f059e76bb60deba0612e92) >>
+>> endobj
+10010 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.714 360.701 289.846 371.605]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+10011 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 326.338 243.37 337.242]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_af32491e07197b3d96e0068b353e82211) >>
+>> endobj
+10012 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.708 326.338 320.839 337.242]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+10013 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 291.976 216.252 302.88]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aec6ff4fd4b372a6635251b3129cadd42) >>
+>> endobj
+10014 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.59 291.976 328.042 302.88]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+10015 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 257.613 247.246 268.517]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a0c5d4cd9684f22f35f76212e54b6293a) >>
+>> endobj
+10016 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.583 257.613 359.035 268.517]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+10017 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 223.624 193.577 234.154]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a0ed96a7329312281236730beb476e4b1) >>
+>> endobj
+10018 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.393 223.624 232.581 234.154]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10019 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.059 210.875 248.845 220.78]
+/Subtype /Link
+/A << /S /GoTo /D (main_Cylindrification) >>
+>> endobj
+10020 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 178.302 193.577 188.832]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a12691e00b643410a6f401c55a2266adc) >>
+>> endobj
+10021 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.915 178.302 277.691 188.832]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+10022 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.391 165.553 247.177 175.458]
+/Subtype /Link
+/A << /S /GoTo /D (main_Cylindrification) >>
+>> endobj
+10023 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 132.606 273.129 143.51]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab0a22c4feede666e4f5c3602d21b31ad) >>
+>> endobj
+10024 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.944 132.606 352.41 143.51]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+10025 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.949 98.244 282.978 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aae1e3a3bf181638f33c685688c86e816) >>
+>> endobj
+10026 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.014 98.244 386.79 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+10027 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.53 98.244 513.996 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+10029 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10033 0 obj <<
+/D [10031 0 R /XYZ 90 757.935 null]
+>> endobj
+10034 0 obj <<
+/D [10031 0 R /XYZ 90 726.054 null]
+>> endobj
+10035 0 obj <<
+/D [10031 0 R /XYZ 90 690.205 null]
+>> endobj
+10036 0 obj <<
+/D [10031 0 R /XYZ 90 619.993 null]
+>> endobj
+10030 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F79 505 0 R /F107 2332 0 R /F97 1188 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10101 0 obj <<
+/Length 2824      
+/Filter /FlateDecode
+>>
+stream
+x��[mo����_�O)������CR�zҋ�/��@K��V"U������H�"eIS܇ 29����}��Y��gx���?�\]�Wxf��T�n�fϔ$HP2�Y�~F\�c
|�
��.\~�S
���M�����mf�o���qR�QQ��G��
.�����=!G�QF
+Lqc�֋4��)3�ć��n��(�q����j�߆y>_P�����A��o�"�W~��lNt%+�D4%'�*�zws��+j�8W	������_�l
��aČ�=9�݌S�og��v�K�����`f�����`��(CX�r�s

���v�
�R�������	��BRD�	˜ys,‘ĺ�)6q��a	 X���r�u6�"H��8��W�t�_{��S\l��$Mp=�s
�ۨ '��4��L�8�5(��K˻ŦԚ��U�s
�`�q��=[�3Rd����i��}������E�����
�)H
AȅC�z^��(��0��ֳ(Q���3i(�����
�
Z��l�e�e����<��6��W�v�ڦ�C-!������J��?�it{�IN�f������9o��mL#-�	7��J(.�A�|mظ9��~�n��D��&� �`E ���bIlpέ
+́�XA���}�a4��}TCh[ߛ�W�"��W^Y��+�م-]篦w��&��clQg�&�=D ij��-1�:@�X"JĄ����l� uY����a��Q��" �q&~P����A�
��(/܄�M�8����p����9ޅ>T�L���C��>}��(��y���:��������tƉ���$����9���J��@��gT
��$06��w\
ӿ��%':���b�v�m�nO�<��0�{^>�>,a��f>� �ٿ��&S@*GD�Q��?ز� ��e�e�>?3�t:�AW~��}wG1��S��ҙ�.)3X��'#�s�Gasv�B Kp:��Q.��\���.
v�$��m
uYl���)?��xȒh��G�b�%���;@�q�'@�T<�ŹW��p�`&
��`I�%`�}�B�[�WO�9!��8�ݾ|
y�c��-[��/$�����c�'Q�-�}�gQ�wı������X��iTOjGI�,���oݨK�jr�&�E�ޓYTR [...]
+V�K�,`���
����I���:�
{�Z:�a��݅�|p�g{9�#ݰ�(�Ӥ��	<$k[�:�mJ
�lN��
+��
�����x�m����
+qT�v
N
��ུ5r�[
( M�`M����\�v^ゅD����_�}�0TsT[Y-S$Gq�����):
�*����l� C'dY�
 �)܂,f�d�1!�
+�!��>��W�����%l�t�05
+��5MȢ��r��D.�dOZ���d�y�����)
= ��\#���$r�� ���F
#Wc��b�����j.h
�GI����?�z9�tQ-.A0;`�NT,�)ںBa��yw[�t
[�h�?ロ;���
@�$kâ��!X����6��Q����v��3��_\ ,�7�,���f9��L��񉭐 Jݶ�Z^�}Y����� W�3��PA��P3AA��?ȢH�
i\b��'&�E_
��9���8?���T@�(�{��]\(FA���yq�^��0"���Ͻ��Vc�Z����b
$r(]�3qUTE�ˆ�VQ��)�_]ށ���ix�1$�*m���Ercm=�x
�Er�J�'i�@ALL�2�0�a���W�<Q�j".���sA_B+%�����@I1DVYMJ�!:��%
�V���k�}k��yzjy��CNr	"C~B�`��v��;
bHh3�9��=
~�fX~p�9�V���&?X���A)���� ���l$A�
�CN-���)� ��\d��S/��JT ��
�v�i2Ј
�7_�
�82xma  �#l���Ų�
Ҝ��wH��������&?�	L�!N�ZjN��'M����t<�m�iRw�Dݍ
L&:���ƅ���
ӗ��#@�̎2s�A����
��[����A�;s�'[�;����7ڿ�]���]��v�֋ʭ�Pu���6].�b�&I
����C�zx^6��o_�v�je|��)��ϑ�C#PQp:�h	t
��$r��
+{��#ι�,42�8�}q�
�� G�fc���^Dk㤽ٓ��I� v�$���&P:�����3�J�d�`��s�� ����@)��l4P$�9(�,|��g<�M��˜$�J_�R��7�ȸ�Cpf�3+�f{�l��m���Ÿ��}hF��:S��	�Jf��>4;ч֊L�Ω}��Ͳv��}h6ԇf��0^�������f�-	�ٍ�����AN"rx�i��HF�0��
2�I�"N�e-�R��ў�@k-�I�m�j=)�
���٢Nv��;-ҭ�B���]k��!���œ^���BFT�)Z5
p�u����G�G	���a�:ɧ/]�\t��Z�3�d��H�u'�PC�8��}a����/�	!'zq
������8�&�Ǵj�Y+x���O�
+�h�J��Z�#f����8��j�@
��ŅG�^���E�q<$���#xh� �ۈ��K��	�X��k�KG�R>��o��@���e|T��j~3����4	���
���}:
a�J����3[a_�.馪�>�z;T(�(�����������y��ƾ�]V�
���
��VU�
^v�9�D�/n>Fվ���׬������Z�6‡��7E�{}���V9zH�}���z��^�6xc��X
����x�]�4�_;���ۚ��/L�ћ
+endstream
+endobj
+10100 0 obj <<
+/Type /Page
+/Contents 10101 0 R
+/Resources 10099 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9882 0 R
+/Annots [ 10028 0 R 10051 0 R 10052 0 R 10053 0 R 10054 0 R 10055 0 R 10056 0 R 10057 0 R 10058 0 R 10059 0 R 10060 0 R 10061 0 R 10062 0 R 10063 0 R 10064 0 R 10065 0 R 10066 0 R 10067 0 R 10068 0 R 10069 0 R 10070 0 R 10071 0 R 10072 0 R 10073 0 R 10074 0 R 10104 0 R 10075 0 R 10076 0 R 10077 0 R 10078 0 R 10079 0 R 10080 0 R 10081 0 R 10082 0 R 10083 0 R 10084 0 R 10085 0 R 10086 0 R 10087 0 R 10088 0 R 10089 0 R 10105 0 R 10090 0 R 10091 0 R 10092 0 R 10093 0 R 10094 0 R 10106 0 R 10 [...]
+>> endobj
+10028 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 687.243 255.564 698.147]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9531e96c825c3a3ec880db64d5886bb9) >>
+>> endobj
+10051 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 651.211 223.465 662.115]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a778189ac90f9d76fcbf966965b27c791) >>
+>> endobj
+10052 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.802 651.211 326.158 662.115]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+10053 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 616.757 217.109 627.661]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae21cdaa1460a54fb14ecb34f3ea30cb9) >>
+>> endobj
+10054 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.446 616.757 319.802 627.661]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+10055 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 571.344 271.126 582.248]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae86262d281c712780a1fd78570080d6f) >>
+>> endobj
+10056 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.463 571.344 373.819 582.248]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+10057 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.863 558.923 326.259 568.828]
+/Subtype /Link
+/A << /S /GoTo /D (main_Powerset_Meet_Preserving_Simplification) >>
+>> endobj
+10058 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.984 525.931 201.742 536.834]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_af98f757db804a7f7c7f0ca1b36198f9b) >>
+>> endobj
+10059 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.442 525.931 243.629 536.834]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10060 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.079 525.931 371.329 536.834]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10061 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.306 501.555 269.939 511.46]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
+>> endobj
+10062 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.288 468.562 212.768 479.466]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_acf126b6efb5eac0ac1b9228cfca539f4) >>
+>> endobj
+10063 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.771 468.562 252.959 479.466]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10064 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.896 468.562 375.145 479.466]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10065 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.401 444.186 277.928 454.092]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
+>> endobj
+10066 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.443 411.194 250.099 422.098]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a1958a70ab97d5ef79b472c38cea304cb) >>
+>> endobj
+10067 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.258 411.194 289.446 422.098]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10068 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.772 411.194 379.512 422.098]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+10069 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.747 411.194 513.996 422.098]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10070 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.304 385.609 439.335 397.774]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+10071 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.207 353.825 266.586 364.729]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a7378d4cf77114743152ad5396a1b7db9) >>
+>> endobj
+10072 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.509 353.825 309.697 364.729]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10073 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.494 353.825 408.234 364.729]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+10074 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 353.825 513.996 364.729]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10104 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 341.87 171.361 352.774]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10075 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.237 329.45 480.87 340.406]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+10076 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.091 296.457 250.748 307.361]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a385074bda19450e4b4aba954520ae28b) >>
+>> endobj
+10077 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.068 296.457 357.317 307.361]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10078 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.405 296.457 456.145 307.361]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+10079 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 284.502 202.344 295.406]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10080 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.005 272.081 446.071 283.037]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+10081 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.017 239.089 265.396 249.993]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_adfb4df5b07b3587b3d723514dede020c) >>
+>> endobj
+10082 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.568 239.089 375.818 249.993]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10083 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.239 239.089 478.979 249.993]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+10084 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.616 227.134 225.866 238.038]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10085 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.222 214.713 466.67 225.669]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+10086 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.933 181.72 239.984 192.624]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_abe381af245a3eb59deda1dd8d0743c44) >>
+>> endobj
+10087 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.633 181.72 280.82 192.624]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10088 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.855 181.72 405.104 192.624]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10089 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 181.72 513.996 192.624]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10105 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 169.765 171.361 180.669]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10090 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.257 156.136 432.092 169.294]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+10091 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.436 123.149 251.209 134.053]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a76fee04931b37e764744156fdc08d84a) >>
+>> endobj
+10092 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.361 123.149 290.549 134.053]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10093 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.719 123.149 409.969 134.053]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10094 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 123.149 513.996 134.053]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10106 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 111.194 171.361 122.098]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10095 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.114 97.564 456.992 110.722]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+10098 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10102 0 obj <<
+/D [10100 0 R /XYZ 90 757.935 null]
+>> endobj
+10103 0 obj <<
+/D [10100 0 R /XYZ 90 704.136 null]
+>> endobj
+10099 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F79 505 0 R /F107 2332 0 R /F97 1188 0 R /F56 367 0 R /F105 2458 0 R /F41 370 0 R /F106 2337 0 R /F37 2638 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10155 0 obj <<
+/Length 2472      
+/Filter /FlateDecode
+>>
+stream
+x��Z�s������\r�\��Sw&v�
����&3�3
�X�HA @1�����I�Ť��D`�x������;�\����~�a'@�K]�n���\�%�]�|���;����fJ�$,���fJ�$Kv+����}�W��p�V���
��V00�����w�t��".<؊^��fJo?�>eA=����1:
�!�d�&aYNgT���4��Γ��f�\�bJ��L0D|J&������wW��"@;D�Jx�c�Y��>���ƿw0b��l����)��Ĺ���
+[����nw��C.P�|��O�
+���=��L�~
��#�L�x����g)��x-�2	�R�A
�C:��f}�/�����i��M��hzH��(�ޓ�T8>��r�L�\N�p��p��ާUY�Y ���1�n��O33)�����~=�Zť����
����US�Md�I*s�-��"[�*N��`�I�ό���t/������c��X�	�h�
�
h=g7BD �5�F�*�g�3�B83J�J{�Q
�M�E��f��
kV�~�B ���>���vߔլ���â|y���'o�M�h�]
+�B��A󻩏'�\��r<��j5��v�ə�gj腻>�
AV
tt�2/d)�*��lOT��`谱ck��8g�xTC�Pj at al���T�:�5���R� 4��]Y�u���;��ָ��;�	r�����5~i�w�*�Q�܉��׸�ͫ�n�%�k����Y��+m�qŊ��8ڄI�{]y��9
�X�8a	*�v >�УA�2��x�5'����Z�W�ƣ\TYQ�
.4�Os��/��j#y��T!��B
�S�Yh7� �~p(���@�
���,�j/�V30�3��BeQe�(E�ĵԏL�1��i��
�
F������2�_6颲��UVڝm�
���f���5��\�|�d��ɬM�����pm���Q\[��fp��x&��}�&�_�P����%����O�
�v�J*y0�M{�\$ڔ��K�-��Tig��
F������d܈ ��0���0&&o��	���- �<K4�������GE��lOM|�3l� �{�Џ�K���[5�� [...]
+X�AP�B^G/.�Y&��Od��se3:6e�xFT�Q2�%�,
+�l��mlNy�R��y� o�D�����>CM���oj�Fq&�*�O��U�0�>(`
�(�o�x.�C+�'��#�}�H�V���)Փ��y�q  X�����7��
�ymG�k�l�sO&�\~���H1�z�
�N��ndž���2���_M�SP�iͶ
��I�/�pjF/SPw�<XQ� 8��V��;�����,�� Q��~>v�qX���yM�� ?���!�B\U&/�y�n����C���m�lH�ˆ�	�̮C�#p
+�8��<���!�^��MP�Y�5�kh�}hY~�E�r��_��@��#$ҖY������N�!n�$���}�F
+�
�,�G�
���%���ݪ�::�f]7j6>�	�T��m�#M6r
T���Кֽ
��8U�	��}��
OKd��M9%����oG(rq��B�h'�ϣ�9�~��r��7�����d}�٣�<�9�AW:����6F薆BKt=��t&b`��
��1ߡ�;So��0���e)<f��҄;�5
�v=�
6�mt [��y���ŘWʚ�R}/Z���QG=^S.&�zd�����Z}	2pd����!E���\��>�[Oj8�[��3?�����B��ֶ~��/q/��wԿ������S����O�i 	-��J�(���������*㋞��ʼF�����(��(*� CA�Ht="q�D�T7���a��z��
J>�.��?�ޤ�҅��W�m�=�"y.�x��E����ژV�ݵ
��U͓os��w�E�]|wf1 at gW�Ϩ=pn��F����\������/`o d��7x���V���������U�y�%
����	Wp!���2��
 g��lA�Cd������#
B�E�����$N%�Ž�N �T=�����/�K9��
+���ه'�r���OC(P]�cv!י2s<b��a����h
���<� �̈́*�5�I2=q����1���т�6V��Jg+�9@Q!E��3����٘ <>1
�A� uٍ~jZ���&g�Bۣ�g at h+����!�_e\ �ymH����}�
%R=9p�CM��M^#���3��.
+<u�R�b�a����b
���,���b��?KY�i*Ĥ����>�l�
�j;�bj����ڌ
_�v꫿)
����"�~�]UU���z�ݢE�6i�(���<��o�u�(�k��{�묰��)
�u,��$��
+endstream
+endobj
+10154 0 obj <<
+/Type /Page
+/Contents 10155 0 R
+/Resources 10153 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9882 0 R
+/Annots [ 10096 0 R 10097 0 R 10118 0 R 10119 0 R 10120 0 R 10121 0 R 10122 0 R 10157 0 R 10123 0 R 10124 0 R 10125 0 R 10126 0 R 10127 0 R 10128 0 R 10129 0 R 10130 0 R 10131 0 R 10132 0 R 10133 0 R 10134 0 R 10135 0 R 10136 0 R 10137 0 R 10138 0 R 10139 0 R 10140 0 R 10141 0 R 10142 0 R 10143 0 R 10144 0 R 10145 0 R 10146 0 R 10147 0 R 10148 0 R 10149 0 R 10150 0 R 10152 0 R ]
+>> endobj
+10096 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 709.085 224.57 719.989]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aa6540753b860549e4d4be346d7cd0229) >>
+>> endobj
+10097 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.908 709.085 327.264 719.989]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+10118 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 696.589 347.869 706.494]
+/Subtype /Link
+/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
+>> endobj
+10119 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.761 674.48 199.556 685.384]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a0b8990ac561387e44e8c81debd1c3336) >>
+>> endobj
+10120 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.215 674.48 288.991 685.384]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+10121 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.558 674.48 449.718 685.384]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd) >>
+>> endobj
+10122 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [467.73 674.48 513.996 685.384]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
+>> endobj
+10157 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 662.524 244.556 673.428]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
+>> endobj
+10123 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.598 662.524 395.48 673.428]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga84cc2bd35e1437f8df3be984dd1f4638) >>
+>> endobj
+10124 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.169 662.524 513.996 673.428]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+10125 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.268 638.073 164.537 647.978]
+/Subtype /Link
+/A << /S /GoTo /D (main_Wrapping_Operator) >>
+>> endobj
+10126 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 615.964 212.377 626.868]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a99f8aab5b33871c9652a9f70407b30ca) >>
+>> endobj
+10127 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.95 558.444 264.574 569.348]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab8f4c68d176d4a8300a87af39ebe621b) >>
+>> endobj
+10128 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.611 558.444 368.968 569.348]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+10129 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.92 533.993 413.759 543.898]
+/Subtype /Link
+/A << /S /GoTo /D (main_pps_bgp99_extrapolation) >>
+>> endobj
+10130 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 488.969 248.929 499.873]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a6390d5b6fde026f0067da39fd1278809) >>
+>> endobj
+10131 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.267 488.969 351.623 499.873]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+10132 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [303.801 476.473 367.562 486.378]
+/Subtype /Link
+/A << /S /GoTo /D (main_pps_certificate_widening) >>
+>> endobj
+10133 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 405.782 200.451 416.686]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+10134 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.191 405.782 251.997 416.686]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad44e727022551209ba94ec652b950b8e) >>
+>> endobj
+10135 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.334 405.782 354.691 416.686]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+10136 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 357.492 200.451 368.396]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+10137 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.191 357.492 251.997 368.396]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a931d9a960753fc8314d50a6dbb9f5885) >>
+>> endobj
+10138 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.334 357.492 354.691 368.396]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+10139 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 310.199 167.466 321.103]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a5f25c8e732cbe55784504ff6d4f4c49d) >>
+>> endobj
+10140 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.281 310.199 246.638 321.103]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+10141 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 273.865 289.866 284.769]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a41c7ca1b6cc1f391be10cd4ab3396de1) >>
+>> endobj
+10142 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.681 273.865 359.324 284.769]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+10143 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 226.571 290.971 237.475]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab363ed895c854b9e8cb40960a2fc87ce) >>
+>> endobj
+10144 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.787 226.571 360.43 237.475]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+10145 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 179.278 224.003 190.182]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a3ecaca69acbfe46c80b475d99757138a) >>
+>> endobj
+10146 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.34 179.278 326.696 190.182]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+10147 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 144.672 254.15 155.576]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a3ac791813ad39c9adfb99a365636d1f7) >>
+>> endobj
+10148 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.487 144.672 338.263 155.576]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+10149 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 110.067 284.585 120.971]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a8d79ac97835780e6ca5e2022abf5ab0b) >>
+>> endobj
+10150 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.401 110.067 354.044 120.971]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+10152 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10156 0 obj <<
+/D [10154 0 R /XYZ 90 757.935 null]
+>> endobj
+10158 0 obj <<
+/D [10154 0 R /XYZ 90 420.728 null]
+>> endobj
+10159 0 obj <<
+/D [10154 0 R /XYZ 90 386.416 null]
+>> endobj
+10160 0 obj <<
+/D [10154 0 R /XYZ 90 327.168 null]
+>> endobj
+10161 0 obj <<
+/D [10154 0 R /XYZ 90 290.834 null]
+>> endobj
+10162 0 obj <<
+/D [10154 0 R /XYZ 90 243.54 null]
+>> endobj
+10153 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F79 505 0 R /F107 2332 0 R /F97 1188 0 R /F23 368 0 R /F38 2120 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10206 0 obj <<
+/Length 2139      
+/Filter /FlateDecode
+>>
+stream
+x��Zߏ�H~�_�Ӝ-ez�'M�N�p�&��n�����)YY�����@ ����Ѝ�ى��{2�������.�Γ����=�n�H�(�\�:GaG�	J����aN0���`�����t�/�/(�ǻ��`��˟���O��ޖ��(ς܌�S�A
+<�t��b�QąU���Yi��S����?>tɑ��J�ż��Y�����΃}���|rl�tA�y���(�s"��ُ�O3b�C
+S	�$�j?��v���'#�<�X��;�2��9��_gؘ��p�p�z�\� 	E��R����B
;��$����I
�̳{���
+�0�6N������\$<���5	"o��  ���-�
�U
�Q�
\z����	�S)a���
��٧�w�d
�v�|(����2K�U�\�� �@��a3�#x����\%���!�dh����uy�
��dzH1Z*~�R&��1VM��>޴|Vy���ņ�K���L����L��_�ORn��٘��N��R�?���~	��	10��0�-���ď�m��9�W��?
B8+�wA�tPI;s���հZ�K
�]��c=omV����S`-+�\��
�<�-�&G�ej�;`'a�-�9Y���p)�Ȓ8j͹FDR$E��g��R�E�8'9B�ddm��z"��5�+[�y��+c٫	Һ��,V���xo��
+(��lDD�1a��{�;�e�}��|��;�zgA�(f�
vIJA.�Q�dC^"P�\�3�A��z��y�2i��׿���$P�ҳ�"Y��.�P�����fV.���2P���M����B�p�,_�
�C�C������ے�թ��9j�S+j�݆�9h��ܮ��+;�]SP궹]]��W���7zo���B42�F�
mw��N뎰jE��1n�
x�]le������-��b��¶�g�����FSB5�z�(�졄�
2CB�A
+,�6�ﺢ�� �*�b�
�/!�az���3�@����
��\�쨕]��i��ñ-s�����ޖ� ϯ30�W)�cֱ5@�W%�cA_�\W/RV�W�����E5�tʢf�Q��	���LO��
���$��q��F��׶��8�A�����~��	�S�{�Tqe�������;�$��+�O]
�m"��pB�[�E
!y�_��6h
z��0p�I��X���t$���^z"9$>����ƣ^��(#��#HP �1T������
3�F0�i���W��е�*
p��*��]l����).�O�s��oo?L;��gm�&� ��w��^
+�9�v�c}^:��jVm&V��"#����ݻװ^يl��6Qp��s2c���좹�����(��e�z�;8�\C=�ܠ^�q��S#!h�k݅���T
~Y��vu&�,�fs�z:�[�m���4 �
�#I��I�x��|f�� �`�t��ǻ���������%8!���Ag� =hDkAJ<�F�U����)5�$Os	��Tl	�O��[�6E���tY3Z��C��P�j�d|��
qŻ��
�����M��!�kzT=�z�ä)8�L��!:���`Iӯ5&+J�P�F2( �O��3�7�N>&j��+C��{B
rO=�d۵$�gT�G�ͅ�[u\��'u�36�	§��۴j4�e����t�)	��?GMګf��J�`���5�jtI�'�j��$i�%���k�zc��V����t]���3�
{.�(8q���y�ɰ�"��x/���f^��6�d�l�Ʌ��KU����C
I0ʼnC%��Ѳ�J�����������m��[@�t0\���˥�=�@W�/��sҠ����J�m̦&�z�b���-跩�TGV��/�F]AM����\��}	�*!<u�`�o�<M���w>�.δ/���o
p�X��<�SͿ
�K��(&/
��3���k�)�莝R(��Kq��wDp�R����L��'�|�%���?l����K<��Vyk��*o~˂�
!�Ƥ����~WRvKA�x�p}��G������}�Y��O�^�[G�iK�$�eU��y����
�G���<IQ��$���<}դ��(���g��}�F�(��1`�� 
�n�
+endstream
+endobj
+10205 0 obj <<
+/Type /Page
+/Contents 10206 0 R
+/Resources 10204 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10214 0 R
+/Annots [ 10151 0 R 10171 0 R 10172 0 R 10173 0 R 10174 0 R 10175 0 R 10176 0 R 10177 0 R 10178 0 R 10179 0 R 10180 0 R 10181 0 R 10182 0 R 10183 0 R 10184 0 R 10185 0 R 10186 0 R 10187 0 R 10212 0 R 10188 0 R 10189 0 R 10190 0 R 10191 0 R 10192 0 R 10193 0 R 10194 0 R 10195 0 R 10196 0 R 10197 0 R 10198 0 R 10199 0 R 10203 0 R ]
+>> endobj
+10151 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 697.017 241.726 707.921]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9739127a6b925714e0e6cf8d86141938) >>
+>> endobj
+10171 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 662.186 249.318 673.09]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a87bccf995617f2884fa2fe2f99479e5e) >>
+>> endobj
+10172 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.134 662.186 288.321 673.09]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10173 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.875 662.186 371.519 673.09]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+10174 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 627.355 240.62 638.259]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_affd60938da7b4567564d56fc29d5cedb) >>
+>> endobj
+10175 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.958 627.355 324.734 638.259]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+10176 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.313 627.355 389.5 638.259]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10177 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 548.64 203.075 559.544]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+10178 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 548.64 296.324 559.544]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_afed62d6b4c6cd06a08a49942907135bb) >>
+>> endobj
+10179 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.434 428.756 300.077 439.66]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a4ff18a1555828c7264a09d6215013279) >>
+>> endobj
+10180 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.731 377.984 368.374 388.888]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab441eefb3b97b983de4d29baff5a4122) >>
+>> endobj
+10181 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.182 315.258 263.539 326.162]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+10182 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.725 315.258 347.667 326.162]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+10183 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.463 315.258 437.884 326.162]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aec119fe2d10b776a4fd9460fd5de4455) >>
+>> endobj
+10184 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.287 264.486 218.748 275.39]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad7e1698be31b1b95dc7e28d13ec162d5) >>
+>> endobj
+10185 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.431 264.486 330.373 275.39]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+10186 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [393.898 264.486 469.254 275.39]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+10187 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [482.674 264.486 513.996 275.39]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+10212 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 252.531 161.84 263.435]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+10188 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.589 213.715 177.843 224.619]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+10189 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.809 213.715 257.166 224.619]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+10190 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.195 213.715 286.449 224.619]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+10191 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [309.772 213.715 400.312 224.619]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a17e25309469009012f40ed891a2c3f01) >>
+>> endobj
+10192 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [429.213 213.715 449.467 224.619]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+10193 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [493.742 213.715 513.996 224.619]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+10194 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 162.944 213.576 173.848]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a3f4e612db0eea52c329f5a6be95197b9) >>
+>> endobj
+10195 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.913 162.944 261.167 173.848]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+10196 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.881 162.944 383.238 173.848]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+10197 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.484 162.944 411.738 173.848]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+10198 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 112.172 213.576 123.076]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aada5fa9557c7ce77d8bfacb622a113cd) >>
+>> endobj
+10199 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [312.872 112.172 388.229 123.076]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+10203 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10207 0 obj <<
+/D [10205 0 R /XYZ 90 757.935 null]
+>> endobj
+10208 0 obj <<
+/D [10205 0 R /XYZ 90 567.595 null]
+>> endobj
+10209 0 obj <<
+/D [10205 0 R /XYZ 90 567.595 null]
+>> endobj
+10210 0 obj <<
+/D [10205 0 R /XYZ 90 486.887 null]
+>> endobj
+10211 0 obj <<
+/D [10205 0 R /XYZ 90 283.561 null]
+>> endobj
+10213 0 obj <<
+/D [10205 0 R /XYZ 90 182.018 null]
+>> endobj
+10204 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F38 2120 0 R /F79 505 0 R /F97 1188 0 R /F106 2337 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10234 0 obj <<
+/Length 2081      
+/Filter /FlateDecode
+>>
+stream
+x��Y�r�F}�W��KV���_��T%��MֱK�$e�T	IX� �"k�~{�����'�CLOw��>g8��p��������
2����:28R� AIt���NF\Ngc<9�<��U|y6�x�/n�E_�L�ʸ|8:j�Ӭ���=c��'%
L�_�t�!��(��
�4k��}$�֧�tO���^��Q�co�۝f��qUMgT�����I�*�q��#o�뤜=I�9
MɄm�
�^
����
�&UB!�D4_
�}����aČ�V�
>����/إ
��/d�D��HQ�����(��ݼf�BFab'i�"[��$�����4q=�v`I"�}
�"��K�:��M��P|�� ��VHb�AF���l��pa�t�7.�o^
Dog��Iu� ��w���o�m�*
TG`�!�O������N!�Z=�\o�8"R�©AR�m�
+�<��|s�g�a��hF�l|���) X#��f J��J�@��������~��S�o��
��HS
3pS���"���2�_R�k՛�)��]����Quߢm`����u((�
�	a�@�ͨ-�UKz���3��|�Z����6����Y
��*��aڇl�#U��ֱ�g�=6�'ϊ���|���'C���1vG��H���1ƦkuJ��2�����p^T
��5�
��?�Oʈ8Z>I`��ɢ��'I5/ӢN[G�k�q3��0O
+aE��1��l��!��!��ٷ������ؠ 6
�%6��h��k��$��ŭKT�Gm3�`���7[֌�0gu
+��v�����eg������WP�@3DF�H�"��W�M���"Y��<�H��@�oXܬ��w�<7zR�I
jXH<�m�v��+��lb�F���@����l��I����]6w����#t
J\ 1��������d�r����eO�PP�����91�����vx�(�X��N�y����~KqP�^d�z��Z�A뒟�֋�
��� M̈5�r_���&�����m\�5,m�4
4,��j��[�9���g���O:��4AL
�צ@@j�?;�+�=��$�8������3TZ�>f�R"�S"u�xܵT�^l�|��1>��wV�ě�ҙ�\��>�����֣O�7���r��O���|_�41Q�w�f߃�@f
���÷�4�.�!w�=	��
��l�ͮs�J��V�����O�Zs߸ypn�m.T3���c��V�|42�}w;In�,)J��ˤ��C���1R�p��i�d����s�*��Տ�>}s~:␰��\
P��@S��o�l�f	P��rH>�t����dPs"�-���r�.N����]�ZI�U!v[�Q��u^4^���,T`��~�*��|�;&�
�����d�I@�I

�q
7
T섔FX�Q
nSQ�a�U%�J\��k'
+����ݤ6��nX����d�e^YIN�׿B!t��3�fT�
r�+*|mN��0�����6OʁO��ɇ��p�X���n�:o?�ܬ+�r ��(e"�$r@�/������
�?e(�Qw��v��@�����^˝���R��%6ֻxx�25JA�"�V�ǹ=�|L���F|��@�œ�b�gn�!��y$~�����?��<��Nj?F|�Լڋ�耍F�b
+��~ܽ��r�f ���]�
~�áu�r�Ճ�z%僆�f���u���M�(�A�u��&��d1�C�E�kv#7vX��¢Z��ϾN���/�
�L�p~�;�c�Z[wCn����v{8"��#��/�A>Q!
���]����
�[���I�||�gt/m�
���ݦ�G�hz�u�zJ�����͎=���'J�j۲�4"T�p�r쥑�`쵺�)�LZ����=apX�I�t��s�Hmv{]K��W�]9�xI�u�Ezm��NJ�d��|5ⱽ�����I��������������JK>ڽZ	1������T��5��ǯUR�͒����qv/ׇ�G
��Xt�v�ϓą���!�����[{K4h�ථ������{4�H�Di}X��ǂ�g@��oή;U��ˤ�
��
�G��?��7
+endstream
+endobj
+10233 0 obj <<
+/Type /Page
+/Contents 10234 0 R
+/Resources 10232 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10214 0 R
+/Annots [ 10200 0 R 10201 0 R 10202 0 R 10236 0 R 10223 0 R 10224 0 R 10225 0 R 10226 0 R 10227 0 R 10228 0 R 10229 0 R 10230 0 R 10231 0 R ]
+>> endobj
+10200 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.843 707.957 160.209 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a6b7fdfa5a1979cf3d8e24265225b986e) >>
+>> endobj
+10201 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.952 707.957 354.39 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+10202 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.021 707.957 513.996 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+10236 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 696.002 224.683 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+10223 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.74 645.866 215.202 656.77]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a69571f990b874f16d0f62235088427ca) >>
+>> endobj
+10224 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.791 645.866 305.347 656.77]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+10225 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [357.345 645.866 432.702 656.77]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+10226 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [442.575 645.866 502.131 656.77]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+10227 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.525 499.103 253.249 510.007]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+10228 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.782 499.103 341.46 510.007]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+10229 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [343.993 499.103 369.896 510.007]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+10230 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.68 365.023 333.036 375.927]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+10231 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10235 0 obj <<
+/D [10233 0 R /XYZ 90 757.935 null]
+>> endobj
+10237 0 obj <<
+/D [10233 0 R /XYZ 90 620.641 null]
+>> endobj
+10238 0 obj <<
+/D [10233 0 R /XYZ 90 572.077 null]
+>> endobj
+10239 0 obj <<
+/D [10233 0 R /XYZ 90 474.5 null]
+>> endobj
+9883 0 obj <<
+/D [10233 0 R /XYZ 90 451.565 null]
+>> endobj
+10240 0 obj <<
+/D [10233 0 R /XYZ 90 451.565 null]
+>> endobj
+9884 0 obj <<
+/D [10233 0 R /XYZ 90 300.459 null]
+>> endobj
+10241 0 obj <<
+/D [10233 0 R /XYZ 90 286.192 null]
+>> endobj
+9885 0 obj <<
+/D [10233 0 R /XYZ 240.245 187.217 null]
+>> endobj
+10242 0 obj <<
+/D [10233 0 R /XYZ 90 170.793 null]
+>> endobj
+10232 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F38 2120 0 R /F79 505 0 R /F97 1188 0 R /F72 404 0 R /F100 1390 0 R /F123 2840 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10248 0 obj <<
+/Length 1412      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~����&MR$%f`-�b]�e��h�@��X�,i��4�~G$%K�l7[�v@�D�����2v�
�<�=^��OC�H$��ґ�	A�g�r޸#&<�`��3�`7.7�řG���7k�*���2.oNN�8��J�vOs�Z� ��-�ϟһ�1
�)��o͖�=p?
d����t1�'D
wj�?��IW��S�݅'��6E��H~U���H�l	"Q�2"�����5�!:T<Da���f��
vV �`�ȹֻ6�<S�|��
۰��$˜9!�f�6a�7��@j;Ɗ 
x�n�B,
0
aN������S.�i� �6<��
E�{���Ӓ:7��vǶR�ћ&��$mŭ�Li]���]CO|c�O���o�C�ԇ�>�����>m��&N���#��ڴ,�4�8k�V�Wy���M��Mԙ/�#���H�zA��>��z�]���	5
�
+��)T�F	��;B�DĎtG�����1F8���y߂iG� Q�TAr�סA��
��ܷ�c�灀��*+|2�@�	yf�|e�v�
��]����)O#�zHԕ��	�ETt'zů-��
��G
+��a�~x�����/�^�������iQ����!�9�� A ��7I�&�z��*[}(�d�����A?B
�(j�b`Th��q���
l�n�O��GMj�8�; *l��L7(��

_�4<F�
P+�ͻ�nU��0�zS���Ʀl�K#6P����M���|�����<5���RG\�s{�b
'Y�\�VIv�ګVI��6[֝��|�EQ�
��p ��Ě���߀ ��F[	�6[]��ʳ�Ƭ ��b��Zal7�r��r-���au�t^�wW�Z&o1��
+
?��XJ2HNRW��S��.W�FeU�Sҫ�z�sP5��2�w���
Q"�u>�Cӌp�1�5ͦ
����;�gk���ї7��&R��f�L�B�5�
�(wMWի��TeW��B�%4��
�0܅�4q�����xڴ�]9�a9�&&�i߼ �H��F�
Y�A��]�V��uR��#NS[�i�|ݽ>�
Eb4��'�&C�F��?�/�7q��&,;����
�&��&G�S�D�Ɯ�N�9�%{�\���
�N��P';&�ly�8��G�<`
f����
w���;=p��7ww�N�N�S�'I��'�(;�IV��ɓ<�P�8B��o�!=��
�
K�����	���deV��8��uU6�?I�b;j��t�s:I���i�%�xH?/]�0b�}^ �#��~�ן�ٚ�"�o�6ڳ�ۛj�?�r5?m͚�U���Rl��e�m[�n��w�
+j���Dy�E�{��u����Ӯ~�i��YK�v	\�uq2�___�e��YR�(��E��okO
 [H�B��|�.y�Z� †�>���侧
+endstream
+endobj
+10247 0 obj <<
+/Type /Page
+/Contents 10248 0 R
+/Resources 10246 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10214 0 R
+/Annots [ 10245 0 R ]
+>> endobj
+10245 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10249 0 obj <<
+/D [10247 0 R /XYZ 90 757.935 null]
+>> endobj
+9929 0 obj <<
+/D [10247 0 R /XYZ 90 683.454 null]
+>> endobj
+10250 0 obj <<
+/D [10247 0 R /XYZ 90 669.321 null]
+>> endobj
+9930 0 obj <<
+/D [10247 0 R /XYZ 90 427.435 null]
+>> endobj
+10251 0 obj <<
+/D [10247 0 R /XYZ 90 413.302 null]
+>> endobj
+9931 0 obj <<
+/D [10247 0 R /XYZ 90 169.359 null]
+>> endobj
+10252 0 obj <<
+/D [10247 0 R /XYZ 90 155.226 null]
+>> endobj
+10246 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F123 2840 0 R /F104 2229 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10256 0 obj <<
+/Length 1525      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~����&Ë(��6`�ҡ]�f��Ȃ@�G�-i��$�~�"�[��	����D�:<�΅�|���t�����lr�:Ď@"��3�tv€ N�3[8�.���
���S�ݸX���S��lu{%E|�.�(����P/'iU��Ȩ-ײ�������kB:��"�� �~�7Z���O���'G�1=!�q�滝j^�Ⲝz�cw6ԕ�|WR��*/e1%�+�9,��קX)�
�&O���]�C2��ד�3�,`����s]K�
�2W���	�S�p�5—�d�0c=�ֱy6��:���m�䲷eY$
���S=���Z�%�nu%�DI�YR�1�RpKu;
���s/TD-0��0�+�,��$M�eO����y�")�ܤs�!��"�I�q��i�A
\��l�|�Z�1k A��i��ow���뤔��A~ή�6�$Ѥ2���`��s3]$k��I��#Ј61h�?HM#!ǣ���7'-^�
+��v�Z�Lv3<B!�aN��e1xp/�C�왘u2=^�;�R�،�u���>lϠ���4�yR�$�{��Q�w�?��>��
��F��I�iV�
�B���x
��e^A�
�fdY-W2]VW�(�{CrDð5����sL�ɥ
��E�����B��.��� �F�N�an���ƷrJ�
.��$u�����n��"^�L�㸼��z�(R.�X��Tn�	0c��4%DQhSe
����P��}
*��t��6�)
;(
�ok7!E
�
�&lunG6���Ɛq8D��l[C�qx��~�
��	4 A�]͞�=�=���s�.�����s<�8��u��"u?̫x������*���Gd�� ����8���w�����~�a�6%=+_�i	�-jJ�fE#J#�E���纨~k� ��%�`�����>�?~w�����LQ����
� ��� d�J�ʛ|�̓�l�~y�B��
�j��4���x��
���J�$U].դ��a�w�;�E�q@��.�R"����t�6���
�R�v�}ڥ�v�zcĪ��|k�����1�

S�\���0�afw
E�
�7�EM�� E��O����q
C����i�
�G�1>o�_x۳����-x o�v�#n����]��sc,���84�cn�̍�������S��7F��2f0�+�:*F���x�(��1�X�r6�i�|��-܋��=)�p>-e3�n�U��[�DmQ��h�p4Xr4��9��z0X�q�V��h��є���mň�XN�}M��|>�ݍ�'�Jg�^�A
+�a_=��I�j4_���Ǻ�7�����}k��N~��<�K ��zȖ1�E��Q6J�:o��%^��W�x�/������_�a/7�����"hѾ?'�O	�1���
l�� ���u�|�K�>���R_O9wMN��Ӎ}cQ���
+�)����>'R�]9v�Ӥ�S��D8YsR��*?<8���F�m�$/PR
����n.u���
+��K��y5�5
[�`Q����
�3�~
+endstream
+endobj
+10255 0 obj <<
+/Type /Page
+/Contents 10256 0 R
+/Resources 10254 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10214 0 R
+/Annots [ 10253 0 R ]
+>> endobj
+10253 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10257 0 obj <<
+/D [10255 0 R /XYZ 90 757.935 null]
+>> endobj
+9932 0 obj <<
+/D [10255 0 R /XYZ 90 580.652 null]
+>> endobj
+10258 0 obj <<
+/D [10255 0 R /XYZ 90 566.846 null]
+>> endobj
+9933 0 obj <<
+/D [10255 0 R /XYZ 90 329.069 null]
+>> endobj
+10259 0 obj <<
+/D [10255 0 R /XYZ 90 315.263 null]
+>> endobj
+9934 0 obj <<
+/D [10255 0 R /XYZ 90 89.441 null]
+>> endobj
+10254 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F100 1390 0 R /F72 404 0 R /F123 2840 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10263 0 obj <<
+/Length 1996      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��6~���SWbI��L��4Y��tg�h�٦=leɑ����HJ����v��}�L������4�6
��5y>�\�����$��7_{	��� N�7_y�|�
�3�1�o��i�Moo��E�p'Vez��\�i�p}��e^W�6sԒ{Q�������W��6�E�G�J��Wz���O��θy�r>&'B
�b�yV̋,���r�ϧ	��v����#?��(�$�E��!S�3J������Ä���U<BQ���v��=�V0���Q���}3k�1�3��N�;�'�N�C�s;�(1�������
�
N�td����N��Vŏ94"(���r��8�^!
�s�����k
�lR/3� ���>��3�қ�0 at Q
z3�\`����%$<��c��r�Hlj�+���x:�B��E^5��^
��B�~֌6
/�����lO�F�O�P�
�8�Z4�
��Ȥ]<^��� �[
	#[@~%���v����(�n	g(	Zſ�����ys���_^�
�)�Q�����sR	�Y��a�ɥ���<t��C�D�7c�y6K��e�2�����fȮ�R�e|*��e�,Y�T
+�G(���մ$��;�_`�z�|Y遼�%�q!��MA��_�Ĵj��T?��dh��\�-�L�` 3��d��>_��nW�M�vM_34�1�t.1�[�z��U6�:r,*�e%@^ )7��M�9L���m'V�ti^Wr+�J���v��|�Ei4�(I �(G!!��B=V��N���$��L�	1œ:5���9�@z��5�)m�(̀����j��&���/���QbF8Jlb�*���,A��N}i
�a�=���|���(��tHB����1yyX�]
q��x$]RV���:����eY��L�8�QԙVjB���r���v�0��z��@Fj�}�E���ba���%�u=NL	��	B��l��m
+%����4�L�W�k��l�

+B�֬��`�,HPxRD�O�C�ވ��W�W
+Qڒ��X6��6C,(�/`W}A������`m1IδT�фEQdF�3{9���j4,F�,���i����ZV��#(�o�M[
E�{ <��pu��Db'���3�\�IDDۘ>��H`���fm�}��&Ql���~��̫��Vź܋1A���HK*r��E��.+
�

��
���+nw���SCm?i!�;�|�C��
O˶��|;���Rf{�_o	a�%�|ʀs��\ݦ��Z'ZC���Xg���1��6�G\�\����#��ŮȊ��L檩
+/2�(
ʙ3�T��䠒�P����b �O�l�N%��j�?�+����
+�
b���[Q�ȓ1���'�"�������s����
�����/]��ܵ����2] �Q�. ]zt8B�9��Q�R�=��3�#� $�0$yQ;����X �0fO�!/V H� �v��C���у"D����o�a��Q���5���9�0_#S*͙�4s��BV�Y��G� �i�|��\Կ)��ܟ������W0���5
E(k�8�8X	ͥ>>���)�3)*����
^�O�zj�4�A���F�o
J��m��G�KU@�Q��Ԕ�
��܈^����f�o,�K�t�1�:Ǿ��\u�R�m@�N�x�:�
�Ϊ$�I��%���M���!
a�����
�v�bw^���W|��Ԅ�f��1�
+�
r���
q����)�
�:�#k�̜1U��ߜS��Q	��
�I
aOfȑNhȈ�G��r��C����LS\U��6���n,�8��\�6
���̒ �a�f�Y���w���Z�em���$.���
+c����������96�^�q��7J�J�OKK�O�M���*Q�cʹo��歵��i�ʮ
b`튶<z+l��v��ٷO�.�iKb����Ի��]_]��ߣe���ܕH�W�]vu��zR�F���ں{[���ap���*����\
+endstream
+endobj
+10262 0 obj <<
+/Type /Page
+/Contents 10263 0 R
+/Resources 10261 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10214 0 R
+/Annots [ 10260 0 R ]
+>> endobj
+10260 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10264 0 obj <<
+/D [10262 0 R /XYZ 90 757.935 null]
+>> endobj
+10265 0 obj <<
+/D [10262 0 R /XYZ 90 733.028 null]
+>> endobj
+10266 0 obj <<
+/D [10262 0 R /XYZ 90 495.83 null]
+>> endobj
+9935 0 obj <<
+/D [10262 0 R /XYZ 90 471.461 null]
+>> endobj
+10267 0 obj <<
+/D [10262 0 R /XYZ 90 471.461 null]
+>> endobj
+9982 0 obj <<
+/D [10262 0 R /XYZ 90 342.38 null]
+>> endobj
+10268 0 obj <<
+/D [10262 0 R /XYZ 90 327.817 null]
+>> endobj
+9983 0 obj <<
+/D [10262 0 R /XYZ 90 89.441 null]
+>> endobj
+10261 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F123 2840 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F112 10269 0 R /F8 540 0 R /F1 580 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10273 0 obj <<
+/Length 1606      
+/Filter /FlateDecode
+>>
+stream
+x��YYo�F~ׯ�S+�zor�"-��I
+����%�"�<T������ryJԅ�E[��Z�˙�9�o���';�?Lw/]�(�$��d�(츒 A�3Y8�#.G�c<|<��ȟ>�(
&��J/R�6��~�8
��A�g:/��G�:�����w/	i)��".\0�����ұ�S��
��'}r\�q-��I1?�~��n����Hѡ�֡�k{�^�tD����p�x�
9�F��~2�s@@
vH�*�"�	g

>|���v0b�s�Ů���o��2�G�N�R�܎b�������{
�c>y}��q�c?2�u�!��yD�p(�^�c�$a)��9B	�}�e�C�pKRB|e�w�'�g�&^d�e�I4�g���͟2e~��n�i��Yno�
b���/k�MY$���7�]wʑ�D�X�����$��V�@1�"��b��
�0�\
��������|��Y)���3����dI7�G(��CRm
+��?^�E��v��W!8Ԣ�?�1e��Х�e�D�faB"���
+��NZ�p�y���g�P+�WA�g
C�ރ
+h�j{77���
+��p�����^�Y��FF75�!D5���N�!�0XL���&�q�cM�n%���?Y�Ɉ��6>,Nх�2i��z�<׽����2ދ �n*�6��I���`jԇ*B
+�@�.��g����L��⫂�@���c`�.[��E8
l� ZI�k!��P
Ae�3��7�V<C��P+υ�N^���x
�_�(���K�
+X=�V�+��V�gn'����DD63Y����t
��:�@R�T-?۬��M�߰�T`�o�J�L�R���E���v��H��4��7Q�L(
���c��
��s�I�;�
�0�4�e(�aj)�,,�U�c
�P��:��2"��$�
 ���1l_�k�3�T5`P)���\X�+�tnj���'�$���9�T�fPY�ޮ���<�EG�N�����|U. �SmҮ��l�7�ĔU��7�^
�Z
U(K�-��
s ����CX�n�k�)�Tg

��km"b�m`�T����oQ�f�����ޞ�*�����w;g�:Ș�8H ���
��B���<Cϒ�yR:)Y��
�
���,\����=:N� ~
+A[����S����bs~�(U��a��l�L�
�xu*�/�S�ύ�?��Z_�4�(ߦ���
Ąw
3]$��*���5Q�l��}"�

r��vE[2�
a�ݒ0a�!̛
݄L��c	��We0'KBv��E�c��M���N��w:�0�kx�G�v���f����x��;�`G&�	��i�z�^�\���d3_�|�
���8 �Iw������_uyL=`��|� �=� �'nz�r�+
���~k1�M�~�iV��H�$ɋ�:v�Pךu�h��gLu���X�Tc]݋��gm��.�+��>Vv%�u/��R�	�]lP*������.��w����#:X$͛v���.���&��7�ˊ8�O{؋_3�~;bX��g?��a���&Iڌ�0�S��D�k]
ў��Z���Ec�j�֩������n�ݢy�6q�NQ�߭���~wݒB8r�T_V8%i�%nF������7�\k|
+endstream
+endobj
+10272 0 obj <<
+/Type /Page
+/Contents 10273 0 R
+/Resources 10271 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10214 0 R
+/Annots [ 10270 0 R ]
+>> endobj
+10270 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10274 0 obj <<
+/D [10272 0 R /XYZ 90 757.935 null]
+>> endobj
+10275 0 obj <<
+/D [10272 0 R /XYZ 90 733.028 null]
+>> endobj
+9984 0 obj <<
+/D [10272 0 R /XYZ 90 614.685 null]
+>> endobj
+10276 0 obj <<
+/D [10272 0 R /XYZ 90 600.409 null]
+>> endobj
+9985 0 obj <<
+/D [10272 0 R /XYZ 90 476.561 null]
+>> endobj
+10277 0 obj <<
+/D [10272 0 R /XYZ 90 462.285 null]
+>> endobj
+9986 0 obj <<
+/D [10272 0 R /XYZ 211.842 199.181 null]
+>> endobj
+10278 0 obj <<
+/D [10272 0 R /XYZ 90 184.75 null]
+>> endobj
+10271 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10282 0 obj <<
+/Length 1819      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�6~����f
CR�Hf�
V�Ŷ�Z{h�@��X�,y�\7��;��e�N]
C��H4ux����b�����я���
�=�T@o���D@�ěν�c�
&c<��<�Ux{3�x��K=���W�]fWWv9J�\n�yd�3X����|����aԧ�q��g}o�t�󩯪
7o��Crb��ãb��a�O.(���Dѱ^���v�^�lB�X'3X"��1��:����
�=R��
$|��V���7���=�|%�m�k����7�ތ~a�v���R!��'h�H������J��R�� ��+�����Ԋ��Y���<�Q�W.�.�;�(�af����1��y
��]+R����_��U���|s�����24���J�uP
�c���v1�$���(�{��z�w=[�2� �H1���f}�
�B"��P�Y�,,R�tጭ~��^mV��Ä�qo�c
+�ì����G�َ~s���(�
�im�؃��c�8��:�E��C�
���HFN�0q9�&񃽊[�"�<�m�T=�bA��>�6��P<�U]Q,�)��	���|lԞʹ������6�c�CYU���>1EeV���6��^���fq�o���f}�ԙ
(,�l5uD�.��jS2
Ζ:�gDEY�ޅ�"�dA��:g�R
�s��g�Q@�)R89�gzm
vbT-U���U�L����6��t��`!Դ)�,5l�:�:E��l%�I쁾.�
m�{XV��l7}�"Jf�j
�x����}��B .�}�ŀ���CKV�<��܂�\<�Ki�{@0G�yj���$'ia�ޥ�dn
+ˬ.�te�»�
���l�h�aT��4X@�je>A2���3]l�Ğ*��w`@�g��40�d-�٠�m1�'��@���]�� �.0la7���I �r'sc�p�b��Z�

`>�>|�A%���-<�|$
�-*췋*% �� �X�Y��Z' �@3A�!U�@�#H����4�����oJn��Z�D�m'�@8!�L3�-��LR"E�w����d<�&_Ɨ�_������A�-���S����!;� �u:�nS�����^@H'����D�K��m2([��Rò�4�	����a� �����=��rf�
>���
�
BU�
��!�I��9�Bmx*�qS��XW>���t�� ��8s?l����\"Az,4(dh6q�6��g���pȧ�!�S�j�g
S���{F=�h=��e
[$bn%d���҂��X9�90�]F��Kk	�ǯ�:��ga�{�;JL=��.h7�dS�־*b�T`�"�O���	t�~:]vM��
㋜-�G�e��
�S6��>���	��xLE{Z_�Ì�xc~���q�����3w:��9sϖC���z
+���u�B�@�ș�\��'s�\l\�9v��ٲ�S��@AC�MN��U��\�9��>J��h�]csQOLsc'f�\O�"�"�j^��%t>^�zC���
B�!r��
��Ġ�P�����9��Æ����taG&�!�q��t�=>H��W:���1u
���9@DŽ:����������/u�Q���7{? ����G��R�8
���l�ǟ��jX�?�w
��;	`<
uk�S����:�`¨���b~����?�`�<�k�u�
��0��sW�s����Dр	w[��jꖐ�������	�c�տ��&���m?XdM6`D�i�Ȕ4
��ڙh��˫�~���і@������(�W�����r�I�u���r��/wԒB$~]��*$�4�c���k(��_���

+endstream
+endobj
+10281 0 obj <<
+/Type /Page
+/Contents 10282 0 R
+/Resources 10280 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10286 0 R
+/Annots [ 10279 0 R ]
+>> endobj
+10279 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10283 0 obj <<
+/D [10281 0 R /XYZ 90 757.935 null]
+>> endobj
+9987 0 obj <<
+/D [10281 0 R /XYZ 192.853 547.249 null]
+>> endobj
+10284 0 obj <<
+/D [10281 0 R /XYZ 90 531.145 null]
+>> endobj
+9988 0 obj <<
+/D [10281 0 R /XYZ 211.842 260.547 null]
+>> endobj
+10285 0 obj <<
+/D [10281 0 R /XYZ 90 245.822 null]
+>> endobj
+10280 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10290 0 obj <<
+/Length 1891      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~ϯP_�60fxɴ��.f�����Ef�bӉveɕ�f�_�C��EE��cw�}I(�:w~磈��G�������đF:�q��DG2&HP-�ч��������	�%�6�}7�xVdOf]&�?�weR>�ܸ�4�+S�5��GS�������Bz�(��
	�4��uK{@?e�]�����
�8��|7)�oYRU�x��k:3�]�����b6��53�
+���d�)�B�^/�~�" G�	��H2��W>�h
�o#��V�c�jq������
+���~�!��� ��HR�p,��i��]7�o^�q? 1���-�+k��4O�t�����i�O��v�u��ϩ�%��|3����D �JE��(i�=Α�5�.�ƥj�
ǝ/��8��ޅ<{�O8��'YU
V����iI�;M�y���bG�u����,����N�fF̪�je̺z�Z�
�,s?��
+�kz���r?��Ns36���*+�}i����`J� !�BFx��h>�ʱ�H$D�Hi�Ճ��മ�
тq 
+�!:i���xu�a�qI1�Pd
6R�$���2;�*x�X��Bk0F�����M��9�d��6)��[��'S(���}UօǼ+��!��ɀ%nK�YH�s!FJv�qdcʐV���!����-6��{]�����
�2�zȁ�uH=�f����+��E��=���;�hmq�~râ
�,�ԓ�
����|mw�}ؔ��O���z;�Ոn�5:�u 3f�@��KS�˼�٥?cDdWy��c�i��jW�
���/f��bD����A
�"��

��4�C=+��lj7��u�,Z���+�L�`�����n;�sN�8T>;EM�Q�R�O;�'[k�$�x
+tE�O����(2/��ԋ�����v`�q
+&	=�Z���{SlM]��$˞nW����?`1�������l�_���i�US
z�g������%P�	y���*�s�E���A���qL�$}H�,��DZ-���
�44�i�cЄ%{���C�kxc��1�R6�J�z�`}p��N�3#(0��V��U&�*{�E	(x5HP����!%����
c�;߭��1;ok:��tU4p�fN �,��A#DpD	?e�B
ݮI�����i	�
�%qpښ	Ckf{V�f��6���q~
�����t�N�F\@p��>�������D���������!
�0ƣi� y��0-�ZN��v��i~�5���C{��&�(x�
nt��8���
v�i�`�#���V�Z�ig���sx��X��p|j����c|�Ј
��KH����
I�D��_(B�a^�d`���  H����x�iz1�0��-��[r!hG.��<rq��#�k9M.&�jĨ)r!�8E.`Dɀ[@(Ns
����B �� [...]
u�N�"
E��r!zp����r��Ag�̟�>����~ ���3���C�9��)~������{�?�@S
N=�	 %-'�Ŝ�
Ѵ�O�i�)J@�iF��0���`�y$by������{��C
8տ���O�!�2
@q�Z��a��͒����)�_�y�S��!xx
+X�ν�lnAUl���B#!��
�E8���c��ݣ�����)��
1��)�>����Ks�e'1 ��<���{c��ίG��w�x��(����C]�n��ѪB�<ݕ(��w���y�I!
�ۍ���t[�ݵ"Ln��g��ێ�<
+endstream
+endobj
+10289 0 obj <<
+/Type /Page
+/Contents 10290 0 R
+/Resources 10288 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10286 0 R
+/Annots [ 10287 0 R ]
+>> endobj
+10287 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10291 0 obj <<
+/D [10289 0 R /XYZ 90 757.935 null]
+>> endobj
+9989 0 obj <<
+/D [10289 0 R /XYZ 192.853 596.69 null]
+>> endobj
+10292 0 obj <<
+/D [10289 0 R /XYZ 90 580.621 null]
+>> endobj
+9990 0 obj <<
+/D [10289 0 R /XYZ 90 383.953 null]
+>> endobj
+10293 0 obj <<
+/D [10289 0 R /XYZ 90 369.418 null]
+>> endobj
+9991 0 obj <<
+/D [10289 0 R /XYZ 90 173.373 null]
+>> endobj
+10294 0 obj <<
+/D [10289 0 R /XYZ 90 158.838 null]
+>> endobj
+10288 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F104 2229 0 R /F79 505 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10298 0 obj <<
+/Length 1360      
+/Filter /FlateDecode
+>>
+stream
+x��Ks�F���
+�q`�����
��n�&�rlr�ݢd1%B"��,�>�7�X�r��OH�LOO?�nI�ZX��0�y:�W�r�#�����-%	�Xӹ��&q9
��}3$�v�;�RlG�vi�;�տ��x;��~�&&-�dK6&������{Bv6��".����������̩f��]O��(�q-�^1W��$�؞
j��:pSS�ܚ��M��є؜�L��z:�{@@
�Hn*��b��V�O_�5��F���&���8e�Xw���4;>j~� ����DD�B��o�Y�~&��B��uT�v��!!
+I:�L�pȱ��
��̍�+�-���B@�L6]�ѐ
+{G�I�(�
�kV�0���cV���L��Ѥ��.������r^Mr�y�
J����v!
1R��Ʀ�<��Q-�#?���M�� �K�Q\L��`�,>��Z#�)bX�MIc���#�F�A���W�$b��2��*�c"�)~*5 �x
��vmBw�Ű���D���ɓ,x��Q��=�)FN�ӻNr�
�J��'"�e��$Ic�K��̋���Ò���Ñ ��x���{8�Ӡ�Ks�RF�
�&�
B
؅7Y+Hq�� �y��Eki�8�E�bݭI�0�HT�׵�4~4
Bx
�Z]r���/�0�W�_������O�|
��W�C�
+`x`���2��F�
�*Fj{d�bJ� �����h�p�ag���2���A{�K"���R2�5�Q��L�8o%堤ȧ�vfI}%E�^:VR(�N_Iqt=�*��(���lR�p�Ɣ#4kl�������-�����#ZQ������eq���O3�iZ�
)��W�e
�����KpA
�^�ApS�r��eL�J޶�Q�,`y7�s�˲������(��ᢸ�7�Ƙpoź ���Z����@�v���K���X�p���n��)}&���V\֯��e�=t	�2�$��{�#�FR8�
��s���FW�%-��#�p�@-ըuP��\�Z���m*�	Բ'��ըU
j�
62��f�j~��5���>������R���)i��;@K �ɞ�@��-h"^y���q�����ZOM�a��:)+�c����}Y�ryeeC뜦��Z�4�*oh����X��hC
*4���N�r�Z�

+g|�nK[ټ����:�sAKy
o�=��
���j���~jk����l���f�� Md�ԧ�ODp-xe\S�%%"�]y[�-�V�����ǡv�O���4o`�f� ur�f��e9��)�X��/���e�[�іh�p�[.�t=�7�
������x�Ƈ�#����z��D�kU��C\�80�?�U�
+endstream
+endobj
+10297 0 obj <<
+/Type /Page
+/Contents 10298 0 R
+/Resources 10296 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10286 0 R
+/Annots [ 10295 0 R ]
+>> endobj
+10295 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10299 0 obj <<
+/D [10297 0 R /XYZ 90 757.935 null]
+>> endobj
+9992 0 obj <<
+/D [10297 0 R /XYZ 90 684.386 null]
+>> endobj
+10300 0 obj <<
+/D [10297 0 R /XYZ 90 670.221 null]
+>> endobj
+9993 0 obj <<
+/D [10297 0 R /XYZ 90 535.65 null]
+>> endobj
+10301 0 obj <<
+/D [10297 0 R /XYZ 90 521.485 null]
+>> endobj
+9994 0 obj <<
+/D [10297 0 R /XYZ 90 386.914 null]
+>> endobj
+10302 0 obj <<
+/D [10297 0 R /XYZ 90 372.749 null]
+>> endobj
+9995 0 obj <<
+/D [10297 0 R /XYZ 90 238.178 null]
+>> endobj
+10303 0 obj <<
+/D [10297 0 R /XYZ 90 224.013 null]
+>> endobj
+10037 0 obj <<
+/D [10297 0 R /XYZ 90 89.441 null]
+>> endobj
+10296 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10307 0 obj <<
+/Length 1372      
+/Filter /FlateDecode
+>>
+stream
+x���n�F����j)�Z�� 4��)����W�!�$m��H��,��;<�Mɨ�H�HQ�ٙf��%�
,l�:�e6�x��e��TZ�{�`KI�%�̳nl���	��Wc�m'^9�1�v��-|/v�w����q����c�W�~
Ʒ��ٛ�2��P�J>׏Ő�?0?e�qu}9볣ǵ����y�t�d<�۳����Z/��/�|���xL��.<"��S�
]�F����ɥ
+)&,w5��Ŗ�?X1��m>jeq�ິ�G���!,Ş�!Ri�V>
F�
b��N�:�t��Cg�G˟ST�5;��&��9���*ub�d„AX[B���KK��t�$��ye�|��i�[R<t�0�|Ǽ%�����M.�п-�
+�1	��	� +^�觛8,��).�N�Ϝ�\�<����>ߞ'�"�kO>a�����(���u�,���S(US�
e�yA at 5�*$i����=D�|��Ǻ�گ�tB���H�:���F�R�d�b�
'�1,2�H��DB�߼)�}�0������2�=�)ij��P]WYE�Ԛ�g��D��������^JL�"bx�1�5#� c=�fj��"��+m��1#3L��fb�y�x��
��7���SF�
+-��|��5-ŘFu�}�
+$0m�[R
+ ’�A��J�
�0��d瀋�H3�\��:=V5RXv�n��b[�_$�v�M4�	i�@X5�����'�_����nc��	p�dDov�$��� 
sl?:���;��f�iǙ��F i�:�-�hL��

M���Dp��$'$��(���_z�8(��=A'A�F���wK�_Ԕ�����/}"��1|�_����1;�� ��v�cL*������o�Aqc�CȬ���a���I���HJu���
��^�X�h^F�N�-�@�O�X�p@�j��/b
�g �`u�i71��C,�t0p�P���M at 9�2�i����îE��/iCC�i�Wt��HgQ
�!3H2�
�7
~v
��ji�ϳ�N8[��h$8݁�_�_�`N ����
���)
���d\*��D
+ĉz�� (5�y��Gʲ"����E��pI��"d�7P<Ի���]��&����3��p�`Cx)U�ۓ[��/
/jk)0��js����qr���9�7+29����]I@8�
+Ѧ�ݤOe(}��
l�&��ip{6�R����j��'ݻ���S�����a.��������	�;T��y]�?��.~��]��-4�~,�]���n�eS9��)H �x���Y�t���}�
������m���xK4E��i��^\l�[�&h���z��8$�8�������*�!<\9�&q ��x)
+endstream
+endobj
+10306 0 obj <<
+/Type /Page
+/Contents 10307 0 R
+/Resources 10305 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10286 0 R
+/Annots [ 10304 0 R ]
+>> endobj
+10304 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10308 0 obj <<
+/D [10306 0 R /XYZ 90 757.935 null]
+>> endobj
+10309 0 obj <<
+/D [10306 0 R /XYZ 90 733.028 null]
+>> endobj
+10038 0 obj <<
+/D [10306 0 R /XYZ 431.18 651.512 null]
+>> endobj
+10310 0 obj <<
+/D [10306 0 R /XYZ 90 635.408 null]
+>> endobj
+10039 0 obj <<
+/D [10306 0 R /XYZ 90 507.665 null]
+>> endobj
+10311 0 obj <<
+/D [10306 0 R /XYZ 90 493.095 null]
+>> endobj
+10040 0 obj <<
+/D [10306 0 R /XYZ 90 356.022 null]
+>> endobj
+10312 0 obj <<
+/D [10306 0 R /XYZ 90 341.452 null]
+>> endobj
+10041 0 obj <<
+/D [10306 0 R /XYZ 90 174.655 null]
+>> endobj
+10313 0 obj <<
+/D [10306 0 R /XYZ 90 160.085 null]
+>> endobj
+10305 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F104 2229 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F100 1390 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10317 0 obj <<
+/Length 1211      
+/Filter /FlateDecode
+>>
+stream
+x��Ks�D���:�t�x�Ł��b��@�iw˥؊�–��ěoO�F�Vd��ÞbMfz����떰������h|��g��Tz�{�`OI�%�t�}�	F\!��7�~����M@��Y=?ċ,����eQ�<���$-���%�8�����������(��
G)���M�����3nn��}v�1��I3�VQ�!؟���z���؍�
��Y@��s"��Se������F�`��R	��|=��	{
�aČ�v嬵�)��+�v��W����a�=E%"�WN;٣u\���9
�
��F
+����̼�t|-��
+�����>TZ�7i^d��Q7Pl�_��:/��.)
Ё��_!#�h8eHR嶹�<��E{�3�`Hg"/�I�
�O�*Y̢l����b�W#�����&��ߥA��'�.|����"!�%1fU�ѽI
<$���!�ݜ�� 7M�F�������̀�7{EYl�N�v���f�
&�|��FE �ܭ��n2��"�r�=���J0k�%����
�$T�
��x!���
�D*buf
�,D:S|(�!�x����6N! ޤ|�� EO`����M�M��l^�n#3�`ȸB���f\G���1
b����&��(�?b��P�*���f���9�t��Tg�$0u�]�����p�16�\�s��+/��8}��hV������C�bZV�Փ�L N��OO�?��4y;LL"5����\�׵��_
�	�y�p��-k�5�H>] �z}(c��> �$�P�9&���H��.:����%�I�SPSB��w����;ߣ��}�=�Fu�I�$'
+:O�FU���O��*��!���ż/w0�R]<wl�k�U�l +	=p�c`��Ȇ���: ��ͫ)F*��	1bz)�^�r학
Q����R��t�"�0C�P�.���Q��^x�,^;���e�e��
�: "�
+ķ��^��4���OkQ%O���"�YH>�뾜+�@+'s��"�-��=.F�.0_�㒃w9��v�jڣ��p�F^�8�/S
�b���H�ۈq�z C��ʏvpi�]}3	��	Y���
kº�
+�� �}�W�V�F�c�j��dMA6�cn#B,bP D��m
W.:����_?�Jm��Mn��CQl'��n�C�
=��6CI1�nW��ڳ��6��tXo�HR\G6����\��
+endstream
+endobj
+10316 0 obj <<
+/Type /Page
+/Contents 10317 0 R
+/Resources 10315 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10286 0 R
+/Annots [ 10314 0 R ]
+>> endobj
+10314 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10318 0 obj <<
+/D [10316 0 R /XYZ 90 757.935 null]
+>> endobj
+10042 0 obj <<
+/D [10316 0 R /XYZ 90 640.455 null]
+>> endobj
+10319 0 obj <<
+/D [10316 0 R /XYZ 90 625.885 null]
+>> endobj
+10043 0 obj <<
+/D [10316 0 R /XYZ 90 459.088 null]
+>> endobj
+10320 0 obj <<
+/D [10316 0 R /XYZ 90 444.518 null]
+>> endobj
+10044 0 obj <<
+/D [10316 0 R /XYZ 90 305.443 null]
+>> endobj
+10321 0 obj <<
+/D [10316 0 R /XYZ 90 290.872 null]
+>> endobj
+10045 0 obj <<
+/D [10316 0 R /XYZ 90 120.051 null]
+>> endobj
+10315 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10327 0 obj <<
+/Length 1411      
+/Filter /FlateDecode
+>>
+stream
+x��XɎ�F��+xJH j��ބ �
l#�L<J.C�

�THj�}��S���H|��*Vu��z���ZZ�z3�q6�����H
*�٣��%A�k�[�6��Θ`��[�`�KW��֡�N��S���]��z�n:-��8ς��1�l�����ׄt�QF��%l���}i��ħL��w�fC~$rq�懳nn"/˜1�؞9���j
yyP��
��!��,E��Re��^�F���)��Iƭ�jt�[>���0bZY��je���gdݍ~
ᓰS���
�Cԭ���=
�^iĤ{
+Dؤ�
>߭��[��
+q
QI��g e���lҜ�~���uB1ҧ8f�D�)kLҜb���N=ߟ/�x�nLIT����sH
�����Mc5��e��r��j���i�,���
+QAj�IJ#.z��.®5v�𒕶?Ź�s�Wn�
�'\����[̪شk��jB�Oa6�
+��1چ�Sy������x ��PM��PD"�Xm��~�j�
�l!���uOUe	�o��=�����Xs��]��6Mƚ֙
�!Oj<�<�?
����$�����E��C(ď;�n�%�����b�ًB���*��S��
��Y�ġ����X(a����	 ��Py
#�k/��P�(姫
+P�-�yiP�=O�I�,w�0^$����Q񗴓�4�C@'���-�
$�
uG�ĥ�`�M�H%�
�����ɿ�
+@��8����
R��zB�#
Z�WR���e��X�#�‘��Z�M�դ�V�
 ��%W�
�4�TL	]C
H��r- �k�Ce�����hئ��a�Eȕ䡽�t����!}p)b�*���dX � ҕ8�	��|��g)�B&�G8^\���
ǫ�
�R���q�^�3��f>���3�?@�k���g/}1uS��v�q�
��&7D�`#���~3h��&��oF�}a�p�wQ�ihc᙮��he�
uaF�Kڏ�k?HWK��``¦A�..��q��3[{f�f��}5Ԯ@m��X��s�0��0��8��-��n6Q��C@��JQٯ�OU�
e�j�̅�R`rz�b=�>R��4�课Xx��E{b�6W��Ǥ����t
Wg_M�J��B�;�p�W
�^�Nկ΃
Ki͎����jF�ʙ���Yg@�*[6�
�
+���=4� OE��9)���
�9��i��_(s���c�hu
�E�b���md�춸�W�*�d���
+���a�i�lH%4_��É.	d�t%���\8���X�b5�
Lq��q��m
+lե/ۋ���h
+tZ���kĹ��k���L�W?k(V,P��Q:���ܮ��/�xQ�e���BC�b:A�2��s�i��~
赻%�"��џ�|=�L��-Zdh����d��&�:��B\�&S�<�J�I&�aqU4��� b�x�
+endstream
+endobj
+10326 0 obj <<
+/Type /Page
+/Contents 10327 0 R
+/Resources 10325 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10286 0 R
+/Annots [ 10322 0 R 10323 0 R 10324 0 R ]
+>> endobj
+10322 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.4 290.14 212.124 301.044]
+/Subtype /Link
+/A << /S /GoTo /D (main_Cylindrification) >>
+>> endobj
+10323 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.379 98.244 210.103 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (main_Cylindrification) >>
+>> endobj
+10324 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10328 0 obj <<
+/D [10326 0 R /XYZ 90 757.935 null]
+>> endobj
+10329 0 obj <<
+/D [10326 0 R /XYZ 90 733.028 null]
+>> endobj
+10046 0 obj <<
+/D [10326 0 R /XYZ 90 559.009 null]
+>> endobj
+10330 0 obj <<
+/D [10326 0 R /XYZ 90 544.634 null]
+>> endobj
+10047 0 obj <<
+/D [10326 0 R /XYZ 90 377.065 null]
+>> endobj
+10331 0 obj <<
+/D [10326 0 R /XYZ 90 362.69 null]
+>> endobj
+10048 0 obj <<
+/D [10326 0 R /XYZ 90 185.168 null]
+>> endobj
+10332 0 obj <<
+/D [10326 0 R /XYZ 90 170.793 null]
+>> endobj
+10325 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10337 0 obj <<
+/Length 1666      
+/Filter /FlateDecode
+>>
+stream
+x��Ymo�6��_�O�
�4_%2�tA[�k���Ya(6c��%O�����(R�d+N�y�S���x��sb����r��d0~bO!����x
+{a@��ě̽+�`ă�`���!�~����Őb?K�z�G���u
�wggV
�e�K�c^��
��W�����".Bp�:�[���ΧL���'}vB�qc��͜'QQ
GT`2T�׫u��J�����u:����*ct�|2�k@�
�H�*��	o�\}��
�<���޶�Zy�2�7�.�
�K;�7�R!��� ����mڣ�.!���� ��D!V
8�����m������I���&���K��\���8�:�����N�8K��r9�m�$��کn�Y�e
ũ��=?:)q�$<x
�z���L�K8��H8E9?;��!ǐ�$�O�|���c9Q)�KI�
��U����F�������?0f�i[)Ij�rV�[� �Q�
{b��Q
�\��2�N���6.��)K��V,�3�
Ҵm�p�������~B���Șk��)d����
��������
�-���rC���鰺�#gH5���Q�c
��F�����b�JVe=ԇpC�B~
u`�y���Z�0}Y�A!A!} ��jlޚ��⹳yr`��c�Q2�-���*�Qx����l^�g���JO�,���z���
+�V
+�C��H��9�r�?����B���3Ӕ	$���5�Xc߹w:�8�P��V
��޾������������FJ���$=}
+c 9�
q�
2���(`&�
 Ƌe�Ӣ'Bh����@
+�
̵;y�g�u�.
dg+�M�+������B�"|��β,��)�Pq
�	�(��6��)I�U�#0��B
P�*�����X2��iQZ��F�"�!5+��M�a����۬��<��|���GM�,u����N�o�B��c��LC��7���am����
Gפ��3J$X�3[��PDw�Q�dǜ�E��Fߴu
J�
E|fv�~�W_��m��I��?�ʯ�A#�|��v�bz�K��U/	��d�⛾X�ˆ�����Oh/����r
x�;���"�B�H踅p��p�
+O�-�n����-n����7�R�- =������d�/e�Ʈ��0�ko���|o�,�Y:oh��z���|�z/�+��ߐ�Ӿ�.��[�M�%�‘έ�z.�U9F�JXCQ��̛��,�燌ٍv�\�*�8��r}]�/d��Ȟ�/d�t�����
�<�f�Bf
+L/\��/:�k~7�'�!�a�.�>��7��P�5�zL(8C
�9�oΖ�$m��*N�8��x�uS*�ߔϪ
]N�^:qp���c����]�M{��8;���΋(����a�W��`����Ű?2�9�(���!�q��Mb�O&*6�캾�2R��.!f�0
͖V(��&���fO�(ПOQ�:�Q���o:�J*;�J T�����Ͳ$٥ v�$�Yf��gA|Z�E�����/�	��|��zu�fx���
��|o]�04i ���1��t�l�Z������7Q��
x�q��58|z�|�`�R�ˁ��O�~�iPUb�-��
�,�r}6
o�[4+�&��9���z��׍��QH�z5��*kV������ �h
�V
+endstream
+endobj
+10336 0 obj <<
+/Type /Page
+/Contents 10337 0 R
+/Resources 10335 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10342 0 R
+/Annots [ 10333 0 R 10334 0 R ]
+>> endobj
+10333 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [448.024 659.354 483.212 690.323]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10334 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10338 0 obj <<
+/D [10336 0 R /XYZ 90 757.935 null]
+>> endobj
+10049 0 obj <<
+/D [10336 0 R /XYZ 90 640.435 null]
+>> endobj
+10339 0 obj <<
+/D [10336 0 R /XYZ 90 625.865 null]
+>> endobj
+10050 0 obj <<
+/D [10336 0 R /XYZ 90 442.989 null]
+>> endobj
+10340 0 obj <<
+/D [10336 0 R /XYZ 90 428.418 null]
+>> endobj
+10107 0 obj <<
+/D [10336 0 R /XYZ 90 219.649 null]
+>> endobj
+10341 0 obj <<
+/D [10336 0 R /XYZ 90 205.079 null]
+>> endobj
+10108 0 obj <<
+/D [10336 0 R /XYZ 168.903 106.103 null]
+>> endobj
+10335 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F123 2840 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10349 0 obj <<
+/Length 2011      
+/Filter /FlateDecode
+>>
+stream
+x��Z[��~���Sc1�"��@l��)��:}�.
�M��%G�ϥ��C��Z:��zۤ�m�g��}m
�8�v�����iIe���$HP,7��)���ٜ`��ogO�����(�����d����ceϋ���"7��cy4
�>,������b�Q�E��k��M���S��o߽Y�	ǵ��_4��>��ٜ
+<]�4���qƍ�`�&�55����d��F'o���&����!
+�և��8���wFL�౜u8e��M�:�/��2��h�
1Ĉ�}Q�x�{�
�KA'y����h��`w+�XDC�Bz!�L�6l��x�m޼N(F��
��b*����X-�x-�x�*��N|��b�;x6��u��|����Hk�:�:��&pgCTU3�LhX�6�'�޶B��u����}��n����I����C�B�
�Ca8�L�i����
5����5n`�]��IH+R��.�
��	*�IQ�ִi������&/ʭ�#�La+^L�( ���x�ҧ�qZ���;�
�U8#[���qo6q��S��_o�C'��
+F�v+�<�CYt�
���)�u�w��kW�v
͎������+�J/UB��&��;D"�^�u�(��Q���?�D0D��C	����im�6%y���F��
+	��p���������!�ǛU�ݟ&)z�t���7���r������S�$�E5_���+��:�Qf�2����y�������ޠ�nL	��`2���=H�WB��i�ՐF�EL�g|L���ijf�QD����ٖ�E�<������)���`Wa���#�
+	.~=�&Α��W
�cxEI8�W
I�os�qC�"߈,
��=/���I�t�` )���M� yv��܃
t� �������@8T-�����&
�b�\O��B`;�
�#"�+PcN���i;�9���m��̀9P(���8�
-NYb6_�G�-�&��Ј���Cd����IY;�P�x��x�Iq�lې%ʅ�2ʉςr��a�
a
��
@N(�/�
�-3T'�~FH��EzL���s��Wp(27�B�s���str~#%� 2�A$��A����ӡ~FF[�#�bo�7=(J����QG�<�І$�b�2{��
X�P2�D��v��A2E�����I�<w��|��[�����Fք�(�����ש)����쯊,��|�(=Z9�#C
�U�pc��'Qa�mr��u��Xu�Y��� M��w�ĽR�H^Bk2��8��}u	�0��!�Dn�.��$3��֙�j��{��zm�Dh�G���}J6�x��wlk��+H�t 	\
���n�s4 [...]
��rz��P�t.{�*�/x�W�xګ�1�E���9|�l_�r#�ҒOV�GQ��=#t	u��\u[��i_��`�+ۘ_.��H1_��zs�qss�m�p
+�0.
o
����5�/��;R��х�iv�A�n�Yݏ�"N�i�'BDk1˟��}r̀�3�9�՚u��:� ��FS� P���j
I��2����_g�p!J��J�o-�!����:�R �

�A�������{]@5�.˔��
�F���Ų'
�b#��~5"
@
��*a �)��� ����OdL���7�X_�
ș2���aq at Fā�Y���J�����6 mm@������i�y)
ڋI�to�)� |�4`�Ҡ��� kԵ�I(�� kI{
+��/��Hޣ�om�l?����>���>���싙S����S�'�����6�ǐS�!�x��Tu���Ϡz��I��[�(�
H�⸸�{||D�
�������;
�w�ԯe�p�uUo��tH����O�g��7I�� 
+endstream
+endobj
+10348 0 obj <<
+/Type /Page
+/Contents 10349 0 R
+/Resources 10347 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10342 0 R
+/Annots [ 10343 0 R 10344 0 R 10345 0 R 10346 0 R ]
+>> endobj
+10343 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.275 517.137 293.971 528.041]
+/Subtype /Link
+/A << /S /GoTo /D (main_Powerset_Meet_Preserving_Simplification) >>
+>> endobj
+10344 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.269 343.757 238.02 354.661]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
+>> endobj
+10345 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.089 98.244 246.767 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
+>> endobj
+10346 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10350 0 obj <<
+/D [10348 0 R /XYZ 90 757.935 null]
+>> endobj
+10351 0 obj <<
+/D [10348 0 R /XYZ 90 733.028 null]
+>> endobj
+10109 0 obj <<
+/D [10348 0 R /XYZ 90 603.912 null]
+>> endobj
+10352 0 obj <<
+/D [10348 0 R /XYZ 90 589.686 null]
+>> endobj
+10110 0 obj <<
+/D [10348 0 R /XYZ 90 442.487 null]
+>> endobj
+10353 0 obj <<
+/D [10348 0 R /XYZ 90 428.262 null]
+>> endobj
+10111 0 obj <<
+/D [10348 0 R /XYZ 90 196.973 null]
+>> endobj
+10354 0 obj <<
+/D [10348 0 R /XYZ 90 182.748 null]
+>> endobj
+10347 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F123 2840 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10362 0 obj <<
+/Length 1905      
+/Filter /FlateDecode
+>>
+stream
+x��Z�n�F}�W𩥀j���z��	����}I��(��D�m����r�IQ�
�	��!��ٝ�9;{f�d
\8x��e�;{�p`��T�Y`p�$A��`4
ޅ#.��1/��Q���}����n
O�h�&�ʢ�n8t�I�o��ϱK�q���g/	�mFE\(p���7���O�)g\\����(�qe槓f^,�ͦ?�����a�\/�<v#o�Y����tCDSrF������w��
�*��b"�,{�>�`
+��������
8e�\���{�ί
˜�JD$�A;أe���mC�n����& �ԙ����ڳ�B6�PIK�Fs��m�
+�<��~$_��v�L�~��
�����ԏ�}"�,�l�U���=
Br����[~5cx�D &}01�<
e�r�Mz���(_e�u5{��'<��6<���j��ŦG
�D��9\_�y.���X��:��h��9~
���?�$���Ί��Y��,X��
�#�N#�J"�
+��
�󏓸��I
CB8�|:
&i��O�"���̇p[#��ev���l���<]��
+&p���K����ܶf?Ű
|"�=��	�#��2��ɬ�6yE���bi�Ŕ(�@:������f�<ٜ�,����P��4�k��1-�t��t�t�Z��<�ȢL���CZW�y~j����:��=^�Č�c��&�)
��KXP�f�@��B�!S!�:
+πB�� }q�Dԫ*b�d���e	�/nP؎�j$� ^�X~��S����
+�"H�����ֲ�*�z�O��!�c��d��m��S���k8��S(
+��S
t2sL:N��u�!+��?T��f��>	��j��T�pROj)��:���ͪs}��C֎/�W�E�iW
W~g�bs��2� qI5ot��;�$*��$��l|n���<e��2���	��j֡��uUu�^���Id=γ(�7�a����\ﺺ��+��Ʌ�?�E�������e�8OVil����k ���D9�AP�52д
8�|��s��l܍��i��8Gbw�
�A	���s��
��$x*��|�E��Ѐ��I^A��ؗj�Bg׾�~����	"��F������]i�|�(�
�]���
����@����D`g��$�n.���4$Ϡ6
�ᦇg
��A at C)�q.Z�jC=p)�d��.�:� `[�+�DCmGo��@�Ӳ@�i�y�s
���D�"��8�*L��fW�j�4�Fʰv	���4]%w��Yh'�E���]Gz`4id�;\`p�R6���ΕB�D7;ׯ*���w;s��9���A��'�W�S3���Rl���@哽�����/!��z~�T��*��,�v�Fd�y9�Gd?���'��ԌȎ�E�
k��b]CD�G���t��D���
Kh�%U��}����OX2��m���-,5"T���P5t��BX��{xai?քe�@��4���#�"U�h�`�ȧh�잢
It�_���b|�`�!���������V�5
9�J���~}��=A�Y2�W�Nyn��ܫ�8����_�
�NJs�UK���>1��ѻu�����:��a
���@Zt	t�
)��п�B�
P� ��~
+27�P�vS�|
+۷΂�((O��.�.��Z�t�<�q�n'6�
h6���I�N1.:��tqX�[�v]���P�
��� �iB��tbЈ ����^Z�%���C
2]*]�*����-��4俧�%E�]��Y�?
�gA�y�o $�V���'-¦5^ā��\�VN\؀m'�_�Vֽ�~ֽ����o�B���~�қ�wn�ѭ5<Qe7tv>�H.�޹��
+�O��
+���"M޵��<_�ζ�-�l�M��3��g���l?mjVGj�ͬL��*��')
.�
��?w���
+endstream
+endobj
+10361 0 obj <<
+/Type /Page
+/Contents 10362 0 R
+/Resources 10360 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10342 0 R
+/Annots [ 10355 0 R 10356 0 R 10357 0 R 10359 0 R ]
+>> endobj
+10355 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.899 498.555 431.977 511.472]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+10356 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [454.44 331.844 513.996 342.748]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+10357 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.617 201.6 476.603 213.239]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+10359 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10363 0 obj <<
+/D [10361 0 R /XYZ 90 757.935 null]
+>> endobj
+10112 0 obj <<
+/D [10361 0 R /XYZ 90 610.603 null]
+>> endobj
+10364 0 obj <<
+/D [10361 0 R /XYZ 90 596.293 null]
+>> endobj
+10113 0 obj <<
+/D [10361 0 R /XYZ 90 312.37 null]
+>> endobj
+10365 0 obj <<
+/D [10361 0 R /XYZ 90 298.06 null]
+>> endobj
+10360 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F123 2840 0 R /F8 540 0 R /F13 581 0 R /F7 541 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10374 0 obj <<
+/Length 1864      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~����&3û(�lEZ�뀬����b˱0[�$%i��w(Һ����@:�O�)���w>Jػ��j�����e��E�J�j�E�
%A��j��	F\c�1�/��8_�Ӌ�b�zX&�<��I��8�L�r��ER�=���$�����볗���QF!�R���l���)�v;..ϯ\rB�q-槃b^���T`�*�������L���d��Q~��`�(J|Ψ::��3" {�
+�QȄ7[�޽��
�_{�Hy�ծ��)�ߕw9�}�m��`�U�0�^H%"�k�?̒m�n����/b�;�*��Xˆ(��d�f��]�J��8��]'Yّx�R�v)�]Ȯ��&�¿ς1�ZH6ʴ�����<�6�4��Mn�v�����F������aE�#������֥�BEu��ln�@>:�b����
c�r
E�VV.�ⰲ<1��S�r��g�1�1% ;��N��6�m\��+x�AAj�����P!B�(��N�	RL����e��\����3��6��p
J���D�"�
}o;J!`$�G�����ĶtC�7��߾y��/�� 2�^�Tb	�!m*e��:��TX�S������B���Z���OQ��4� !.�\Uw
�כr��8�H�@)"BT
�����^���1�
����g�?^�}��M�x��T�!�	jjh �Y�Jwz�lҹ�y�D1��98f<�z���A�����	�dr�dI��1H^@q�,����Fw%eP�cɅ?�/�� [...]
+��B�[[i�˪�\��0���v)`
��u�.�w�-�;�
����e�!�hH���o��
Q�}��吙�?�7�n>{�q@���S@�hmJ�R[ �҉� �$3K����>-�Fi�ۤ��L����j�</4a0E�lq��:T'q ��Z�
m%u��)`s|�:ŎfHH(��.�gfoG+���
�T'Z S�Y�.���_&�
8����:z�%�	G2R=B`��T� �k ��yq�s��>L�yx���1���.V��!!�j�`R����K@ۧqU�A;)b�$f,Zj#�JO�z�8�s{�W�:n>@����{�V���1 Q?�C���<�ӕ��+9�nѩ��i죏5�7�������xc�|򹅜��B"׹0��19E��� *�a����
w�>e̠��i5���
v�a]
�v��H�״���h.>'�
&�4���6�5��PV����=]�0A7�݄\1��8����$�D���<�1ru$#���1rq��P
��� %��t��q�c�$��9,1s��f���:�����Әyx
3W_45�}j�����s��K�A%��
7g���!��DG�L1�������7ס���aC���Boڃ���9F
+������ͩ���n
>��31H��,�_܈C
�/l�˧���"'�����\<3���q���kI]�G�s��~�秡��0=����I�\>�
���<zF~Nt�_%�y�v�;���m6w�/�BZV.����u�<�u+������4q
H�ر�?��
�ar,��1U
f\O��ZnjA�z$��.
��[�
H
��
�q]t/6I�Y
+�>-�8-�ɤ�gj
h4w�K
|o�
�נ?ZA
�����Z�ƨM���7�^� ��
5
���KcJ
�a���H��`!"$��
=�u7ڿ�v�
���4�(��� �iq�8��-�Ԟ�iQФ5�i�Ҏ!8rB_&�S���oow����iW0b�w ˲�N�����Ѭ@�Y��QZ�m���ǣ�%�p�urլ�֛�z�f�������/�D��
+endstream
+endobj
+10373 0 obj <<
+/Type /Page
+/Contents 10374 0 R
+/Resources 10372 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10342 0 R
+/Annots [ 10358 0 R 10366 0 R 10367 0 R 10368 0 R 10369 0 R 10371 0 R ]
+>> endobj
+10358 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [454.44 691.1 513.996 702.004]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+10366 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [323.631 573.143 429.297 585.622]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+10367 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.549 432.883 195.105 443.787]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+10368 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [334.883 326.881 440.282 339.36]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+10369 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.549 186.622 195.105 197.526]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+10371 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10375 0 obj <<
+/D [10373 0 R /XYZ 90 757.935 null]
+>> endobj
+10114 0 obj <<
+/D [10373 0 R /XYZ 90 671.906 null]
+>> endobj
+10376 0 obj <<
+/D [10373 0 R /XYZ 90 657.647 null]
+>> endobj
+10115 0 obj <<
+/D [10373 0 R /XYZ 90 425.645 null]
+>> endobj
+10377 0 obj <<
+/D [10373 0 R /XYZ 90 411.385 null]
+>> endobj
+10116 0 obj <<
+/D [10373 0 R /XYZ 90 179.383 null]
+>> endobj
+10378 0 obj <<
+/D [10373 0 R /XYZ 90 165.124 null]
+>> endobj
+10372 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F8 540 0 R /F13 581 0 R /F123 2840 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10385 0 obj <<
+/Length 1985      
+/Filter /FlateDecode
+>>
+stream
+x��ZKo�F��W𔕀��ovk@LL��$��e2h���HCR����T?H6%J�!ON>������3���G?L���\}��H#-���ב�Q"	�D׫�Ô`��,&���Ӵڦ�w3�����]����O�M�V󹻝M�5^�<r�Upc��������(���\����D��}�t+�����1=	�S�G�|�I�zS���3M�ٶܤM������jF�4+�p�(J��1�t��z�焀
�*����h��|����aĴ���6���&z?�y�ô
y�v���y�M]緅�Q�i�s���	Αִ��7����BH�N���k'30M%J��2g4ߦ��RLw���!֗�}����ϛ;�@��e�l�
��
+p��U������I��
+����*[9�t=���F
J�A��]ᕸr�ӑD:aʶ�b�j	�s�����$�}�>��w����}.���T@4�^ �ϵCR���
�u��F�9����m�"mv�X)�03n2��r'�£CI�&�4�W���0o
	�@�$����Q��8�ꭆ��
C@��b�h�~�
+�˪�!@- s)�\R�V�q��E4?�b����3C�y�pB�Ό��c�C�t�5����{5��aIJ0T>�������3GA�ʮ
��<X~2,���f����@��}�yp�M+p"�N{"�y`}�q���R��S��
+z�kfzH
y]�Ye+b��
��쌗0�|S���Tٌ�)x�h?�w)
d��@�b���������qA�7��H`b��"a��+/w��+b��F+�n/����R扴X��>ps�n%��߇�׽;�26�ؒI�!��ŸSӲ��'Ӯ
�P��qw�&��=��M���ާ��p9�I���7�v��|^fec�}ց�}u����b���t��i�C8S=
P�r�/f1�$���$����HuK,
V��3�b�L�O�
�S*��C�5�O�k��f�@_�h�6��S��U���,PI����`��z���t���q���ʡ���㼀�U�v���h"	��Nv3�S:3Z at YX*
G;�����ty�N�Tǩ!����z�N�� ��L=<ULr�@Q�)"���l�8ƞ�4-58&
J#��wn��Vk
ʬ�!
�Ky��$$h�<�i�/c������
���3XH�>���c$Mj~.�A��s��/ҵ��E�hY�Lm��,BM5<�."3�
+m�� �`$
[���#�@ܪ��%�l����YZ-�|��Ծ�᧯�L�԰����E��a�r,�����ٸuB�h�
"�	�������v�M�2���h�4o���:�p�C�<:�87���
�``����s�Ȯ�L�-Ȏ� e >�(�9�0ι�;��X��ۀ
+B�߆	�S���QX@���z
!-I��^��u@����r�
�r�l��� �Sn�>X,��P�$�֖r�G(���r�)��0��Q�V0_��Ĺyb��<˹��|��9�@�P�@�)�[�
��$��|�ͱ6L�
S��e(7{�ܯ����ʸ�6�-^	�+�~%�_�p�W��|�-.|+z@�h��e�-RK�\�x�
�iɨ0/���L���
����d�����È
+ ",��$�|�bLѮ�?�����1��p	,:��)�YN�⥊��+� ��U����
c�k�tK�y�g�gb�3�1��ɚ�,+ưGdȗy
�q;�+����0�����l�jJ28l@�(AN��q����n��`��U
>Ü�p�j(Ӽ���s)�a��4�k�1K�w�j�׿�e��X,'��.+돜_�wX�_���~��8,�9��y��s��R��RO�g���4��#�����3����k;�W?
ܗ��Y���S����v�50�ɨ��6F�/�v�~���wq��W?Nl���c��\;h�k�r~uu��5�yY���*�����h!�����&�ݵ{O^�ͭ%�G��
���
+endstream
+endobj
+10384 0 obj <<
+/Type /Page
+/Contents 10385 0 R
+/Resources 10383 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10342 0 R
+/Annots [ 10370 0 R 10379 0 R 10380 0 R 10381 0 R 10382 0 R ]
+>> endobj
+10370 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.059 718.634 422.924 733.349]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+10379 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.333 422.603 425.662 437.318]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+10380 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 151.761 322.446 162.665]
+/Subtype /Link
+/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
+>> endobj
+10381 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.409 134.137 332.425 145.041]
+/Subtype /Link
+/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
+>> endobj
+10382 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10386 0 obj <<
+/D [10384 0 R /XYZ 90 757.935 null]
+>> endobj
+10117 0 obj <<
+/D [10384 0 R /XYZ 90 534.911 null]
+>> endobj
+10387 0 obj <<
+/D [10384 0 R /XYZ 90 520.341 null]
+>> endobj
+10163 0 obj <<
+/D [10384 0 R /XYZ 90 238.881 null]
+>> endobj
+10388 0 obj <<
+/D [10384 0 R /XYZ 90 224.31 null]
+>> endobj
+10164 0 obj <<
+/D [10384 0 R /XYZ 111.798 125.335 null]
+>> endobj
+10383 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F7 541 0 R /F8 540 0 R /F13 581 0 R /F100 1390 0 R /F123 2840 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10396 0 obj <<
+/Length 2819      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�F~����.X㹐C��h�4h�����yH�����b��~ϙ
o�$'M
�'���s��\�t�8��7��.�~�,&��rv�0��,�������{�Q����QJ��9�^Rn��͜S��<�UZ&�f�eR>__��,�+U�9��^�00�p������?���?̔?�>��qs��n�NH|ڒ��,��7IU�<���<���6I���[���9�<��`�E�y����뻋?/��3�U�$�l��x���R�iF����^���|.ນ�^�zAO��
Be�S;��V����P�(&"�O)��[���ʓ-J+�1������BE��|B3Yji~q?�ħ\?$��f
�H
g��c��s���ޗ�n	
�=��"��;
�|��[yU����2K�7�Z�*;�7�
hO�=�ԗ����'Q�Y��&OU��1�գ*�w������w�YZ���ZpA	e�P5����%�O��.�V��
�T^'uV�b�  �Zj�\Ӌ2����E��*�T��\ԇ�G�����4�g̈{��m���.o�+�|�����AW-���$?�H��`���
+�ع�`� jY�S��-�M�
��59z�J�(��
s3W ������z]�j]l��Ơ?�~���[y��V��E���`���90��,O��,m���ـ�$�x���Z����k�b�3`�
ԗ��߾��z�1)	r��=�a��;`��
���k�
3�N�2��R3�f[��3���|�x�U]��B�Rd����6c�D�P4�
��
|�Q�1"!A#B�!�h�V8'L���k�6����֮U�osƘC�)=��*��VE	
�+�
�G��b>�w�RӚvs��{�JǪ
�*��Z`G�UO��W��@%{
���7Hh
 �z @���xV~�#�_Fz+���9|?!>l��P��H/��ϩ�H�����N
���:�	���K�;���
����`����u��сz�4�
�7R�~Y��VΩ
O}�t3��of�� �_�m�

T�1��Ɓ(!�d�D�
�^����
�v�O������5�
3�]Gs3\������R��	��28K���D
P����|��Qij8��̬!4
+��2_H ���T~C��Ӌ��>�#�O.\#T�Z��2 E1��í' Y
k ^�Em�M�̘$R��"�%����4\`��8�UfEtk��9:�B��{�V�Ӽ�h|M-p�b����D�)	 */l2�%z���[�{\
���7[
:���-\ᣰ`�+�T�`��
�
�MQ�
�Y�l���>6Ii��3
�
+��"6��vj��~���Fl��4}|��ם*�r��2��f����>(՟MVjK�:�aL��8���3�ߥҠSM���G��0�� �,�@�=��3t�'H9�{�
�lW/�l��#��Ʊ/
k�a��n��›���-8P���Z��ni���ӳ^%�=
�n��ށ��2
,�Q�v�(�#MX�U��ͽփ�̾�Y
_���8�23�߁��۰�ĭ\�@���
�:ڰru��ۙ," "
���ȩ��!�m��d�p���͙�6=�^�
i,p<
iO�8�(�(G9�w��E�u���+H���r&�w�c
+���@UUp8*s�]a�mwe��m2d�,�O��Ԩ���=�J�K\�
+j��Jj7'C��T�f�o�3���&���96�� b���C[��l�T�qmL��Hjsg4l0^)� A<JU����܏�Jj�J�\w�*S�
+5�|��H���~��
�ӵ&�A����WjWk%��0�|c�B_uz}
�C���l�t����f����]^Z�
4�
CS

����?.����9���d�,
]  wX�w{�Ԯ�5LF�$~�\��������������0
.&�� �➬�?E(I�G�
��}_���B[�\������4�J o��#l�@-
�4l}�����F���Aɨ��K�ry��t{���PL
\�����eG���b߹&z�!uV R�%��%��
lG�
Y̎�( �MY�x���Y�A�:s
�h"�f���툣��!mHw�hrӨJ���7&a�/t�j
&���H
��*���ըڨ��m�m�����*�M�&w)�NC<� �؞��@�ui

F
�M�����! ��r7&�����v�u
+Rh���bn�����6
��~,ᅘ�����j㈢�ժ�ֶڧ�D����71����)��г����b
�b�7�g$`rD���;�]��N�5P�� ����sJ�k�u,��5'�������y�;~&s� N�nB�vs�r.{!%oC��8D��M
��p��>�Ϝ��ݡ��@#}~.�D]�y��&���#��b�����5�M�1�3�yO���d�)�s�B}�Z�N�

��x>zF��g�+M8���'o�@eLR
���3����m�q���!]�΢���A�2��Z�0]��@��X�OA(���8?��`��R\�����PI��ͳm+�[8];��km��
�#mC~Jj��{��W�J��ml�MV�������Tz!"�5�XCX��:y


8�5�:R�C��
 ڇ=W�H|�E�/�0}Y%e��P׮�﷘&�ۜ��>Lp �h4���9$#ݑy�C��!X
�t���a(���Gj7�_-�
	������J���ul��$o\ƈpk��U{0G	c��� "�ʹ���?3w���uܲ�Ctm�ֺ�w�WW����*��$Y}���Kѣ�
Y��m�j��&��Ʒ�W��/w�
+endstream
+endobj
+10395 0 obj <<
+/Type /Page
+/Contents 10396 0 R
+/Resources 10394 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10342 0 R
+/Annots [ 10389 0 R 10390 0 R 10391 0 R 10392 0 R 10393 0 R ]
+>> endobj
+10389 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 630.118 116.998 641.022]
+/Subtype /Link
+/A << /S /GoTo /D (main_Wrapping_Operator) >>
+>> endobj
+10390 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 586.417 206.372 615.483]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10391 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.155 423.029 392.657 434.023]
+/Subtype /Link
+/A << /S /GoTo /D (main_Wrapping_Operator) >>
+>> endobj
+10392 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [275.187 101.875 399.221 112.779]
+/Subtype /Link
+/A << /S /GoTo /D (main_pps_bgp99_extrapolation) >>
+>> endobj
+10393 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10397 0 obj <<
+/D [10395 0 R /XYZ 90 757.935 null]
+>> endobj
+10398 0 obj <<
+/D [10395 0 R /XYZ 90 733.028 null]
+>> endobj
+10165 0 obj <<
+/D [10395 0 R /XYZ 90 316.653 null]
+>> endobj
+10399 0 obj <<
+/D [10395 0 R /XYZ 90 302.083 null]
+>> endobj
+10166 0 obj <<
+/D [10395 0 R /XYZ 448.074 203.107 null]
+>> endobj
+10400 0 obj <<
+/D [10395 0 R /XYZ 90 186.38 null]
+>> endobj
+10394 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F23 368 0 R /F123 2840 0 R /F56 367 0 R /F72 404 0 R /F8 540 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10410 0 obj <<
+/Length 2500      
+/Filter /FlateDecode
+>>
+stream
+x��Z[�ۺ~�_��S���H"�-
+4An��@�lq��
٦w�ڒ�$���^t�|I�'O}X����pș�����>����Wׯ$
��<nWAB3q�.��FIOg�R:y7et�����ݔ�I�~|��2��%��i�xsc����t����.�c�����W�uん0���Y�/vHOX��ďx����
IBڈ��Y1/�iUMg<���i�'z�]���=��J�S�&:_@S�MB�Ы��W�_1CfLI"E,6W?�`	�?��D{3j�\�s
|���uf�GͯBiH
�n����F�`H��P؃�����I �q+�7��Uw�

y���b[Ly�����;F�t&�<�7��
��	�X��(�yV�����:��v
X�#<$��0M8
xgPH����!��$i��y`����n	Qq
��00���_�� 
���pu�8�쳥γ�
��j�/����Ϲ�ow�^�
?b�}�(�����J
Ǔ��
۵��`��ʀ��b����,���3�E�D��?F�����Ҩ
+f��	(�&6\?�‡b�m:�?ھ]�Q��=����t���7p�#FC��םՑ:�b�H�+�
+v����Q��D�AnH'_�띮���Ϡ����=y6rm�P�+�ͮ���F�'�`��ܼ�ɝ?M���
��bKv��|6r
ÐP֬���1�b��2����hy���u�•I��^Ř�H&c�qb��ꈪ��2
+/�%I
��9�&�z�̪�x��)��,����!��6�����6s�O�.V��
+�݋Ů,�UğY���^I����H�#FX���jz�w�ș�UQN��豠�cMt�괬Qsr"$T�tf3<��˛�6G

!B+��(eZ�f��}�m�.�^��3�&U�1B�1��V�X����&Q�)"tlp������z�nMlğ��֡�J�څ
X�sa�IZ�=�,]�-'�[�˽�����`��ǜ�`�-���n҆��^�܀�0B��ly����
仓�8"	o
��77�;�V#�r".I���!���
PJ6�=�HQ���I���
�]�5gY��n�|��=H�8�p�0���S_�m-J;=uRt�(��M(�anm�r��w��	)�A
�3�Ui�]y����W�G3������S��+g�Ss�����p� T�7�(��-�&����޵Ǩ������)
 ��^��V���9�D-�[�|Q��Id'��P�Ω���{��ڶ\���q�GX�K�(!\�˷��v�-]h	�xЍ,O_Q
+�Qgj ��5�<yb�[psc.g�h,&@��&�:�
#��
]E�e�C��P��8�OND?X
�nm�
�lL�#�'��
�_�	�
+G��
P%	�5����maf�s15��H���=�P�ald�EK]�ֵm��K�D
�2z=�
+�0�\�پc�^d��3��^�Q��2�Փo�h��Xs,ρ��w1D1�!o
�#�[[F��"��
+���U����V�a�Z
��V�
�Y�؀L��񸷔�y�/���7M&Dè`�>Ss�_
�S���~8�q�m��cL���޴Y>0����;�3���E�Zo���ގQ*<TD��NE���
+BRP:Q��NR%���$h�|��
+>�n�%Up���4ȣD��G�X"��Q�xã�~}ã��(�b�S�Y����
{�o�!����6+`�gO������ �a*�>��:dH�J�D�J(v�	am��f�$���(u���P�
�Y��0��B�@�\�@MM�e�K(	yKGN!�_;����xN�'Y���u#���r ?�ѧ{"�s�"��ԤK�FA#��
�/��mYl��6���Z.��P`�=Gn}
1&W1�v.
KH�͠�ح�v���v�
v>�nvT|��
���n 9t��yg7�yZ��ڦH#emGvL�N�!
P���CV�&7�DfG&h�U&��Os��c���)��Ǣ*�~
�)�Xʱ�-Dlh

h
�7�Y8~;lr�|oZ�n`�;wC�b�_�`��㘝$8S�O�4�E�B�aF@��o�c�b[0���"���)�Ӭ	��B��$
�,��C����$J|�D��
��$䃕��D�$9�AB�(��7�.�tD<�
�:\�\�,��{h$Q
���'��|	�p(�Wq
��E�����_
��k�e�O�ʻ5�;�.�z��]����	\)�2��,8`�˘$1���-ѡܧ��m]����V�G(���43��D��}��c�<u�x�-_�8��h!��{*�K��BZ?���aB
�%�ܫj��B��8�s,}�7�������1̿_�RX�Aس��%$��
�|�v?����Ӆd��_�.�4���s����2�
l����1�m����k������~eL�j�'��0u�������dQ�]�mK��������v�@�-ۯ�+��eSx��йq���/�*�
+endstream
+endobj
+10409 0 obj <<
+/Type /Page
+/Contents 10410 0 R
+/Resources 10408 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10414 0 R
+/Annots [ 10401 0 R 10402 0 R 10403 0 R 10404 0 R 10405 0 R 10406 0 R 10407 0 R ]
+>> endobj
+10401 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [292.22 534.004 330.187 544.908]
+/Subtype /Link
+/A << /S /GoTo /D (main_BGP99) >>
+>> endobj
+10402 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.562 534.004 391.059 544.908]
+/Subtype /Link
+/A << /S /GoTo /D (main_BHZ03b) >>
+>> endobj
+10403 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [271.268 436.301 343.546 447.205]
+/Subtype /Link
+/A << /S /GoTo /D (main_pps_certificate_widening) >>
+>> endobj
+10404 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [428.986 221.444 513.996 232.348]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
+>> endobj
+10405 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [117.507 210.465 183.14 220.393]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
+>> endobj
+10406 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.559 98.244 345.883 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
+>> endobj
+10407 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10411 0 obj <<
+/D [10409 0 R /XYZ 90 757.935 null]
+>> endobj
+10167 0 obj <<
+/D [10409 0 R /XYZ 395.641 537.157 null]
+>> endobj
+10412 0 obj <<
+/D [10409 0 R /XYZ 90 520.806 null]
+>> endobj
+10168 0 obj <<
+/D [10409 0 R /XYZ 90 203.588 null]
+>> endobj
+10413 0 obj <<
+/D [10409 0 R /XYZ 90 189.393 null]
+>> endobj
+10169 0 obj <<
+/D [10409 0 R /XYZ 134.214 89.441 null]
+>> endobj
+10408 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F79 505 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10423 0 obj <<
+/Length 1689      
+/Filter /FlateDecode
+>>
+stream
+x��YK��6��W���@��C�c[�� 	���6���W��jmI��u��;�eI�d7@9Y�)r�o��عw��z��jv���N�B�z�j���=�8%�j㼛�\o�$��͂��b}��x��?��&���\䟮��p���,�
��I�0���zs����f�Q�rL���IO���)
�7�/WC�����2?_\��^�bI9��!��C���#o�V�
�e�	(���S��^�f��,�
RA�}�3�D�ٻ����#Ω�up\��s������I�)C��
�C�o�/kϽB�|w
+D0�m�/?e2��!���
���Y�A�9�7f�g�	�(�rp�\,p�����'�����Z��P�Xy*�E&"����q�2��
/�
��X��R
y,���X�J3���
c�� ��A�ŀy�"�`S�'qς���
Bg�$>ӓ�Vnp��Kc����C�39Pd2��cL�
���uU9Q��Y�9K�"�
L at 41�|�Ԟ5o��؈� ���O̩
K�%�u�U�T
}�5o�,��M:�}=sޙ�B�Y�	���2*
zQ����d'���
���w��܊�fc�����c$���� ��)���u�,\��Ǜ���`v9�z�Q���.O��O��ʟ�[MQ��
�"޲3Cuڝ�€4ʵ���Sd��z��e�D�!e��Y�v�˝~J3��>U�&��_"�ߐ~TA�B�ں�P�8�s
�>w�( ��؞36��!]$�#���)!�]\�o���X\v��N�kL��Z�>XN��pC�D���
�BDZ�G�J�Ak��N��F��?��hTS��@`������"��.^;�b�-�m0�_
���S�Xn�~���Te
+��kU�����WQe�6�lK.A^KP
�!
+8��R_X�>��'*���P
��c
{59
��c�ɳ����
p���d�_Q2���	%�/h��֋��m!n��y��yZ}�X�ׯ�IT6�b�Ao��x{���&�
�M{���1 \8}vB9.��%�!��
��Ǵ�WP��K�q�O��?XBQ���-�2t� �	�@B�P�~	Y_������-�Q���Ag}�S
��i������g�~I��C�a��^pf��1�J�� ��ޠ~��B�
l�PE�Q��� 3��Z�K<�1ɦ�~_�=���:���|���C������+lr�0,hZ���d
�ط��EU���N�"��]�n&Di˱t
��N��֐˻؞��
�(L7cR*XV3�����b���#g������
����lG�͏=�l��ƾ%��t�?�E�ơ�x�����ƈ�+���Ⅻ
M��O�� �t�A��
<�D��"�4u�Z
�:����c����ڊ.�BIf�~��L���Z�y:I{�#�{�`AE���Sl*���]םV#��
O����u����X���
���E�X��.x��W���Թ� ��S	��]�b��d~���3������/O�0�J?��.:r>��i�@���YT�U�f��D�<D��=!�Q�naa5S���?
���|n(��H�u3��ձ�[rC!%
+����鴋گ���W�ok-	�k[�]Yf�WW��	E:&q����ʲ��9��U�
Z� ��s�沾Ń��h��.���,�t
+endstream
+endobj
+10422 0 obj <<
+/Type /Page
+/Contents 10423 0 R
+/Resources 10421 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10414 0 R
+/Annots [ 10415 0 R 10416 0 R 10417 0 R 10418 0 R 10420 0 R ]
+>> endobj
+10415 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 623.264 206.372 652.33]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10416 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [448.024 578.641 483.212 609.61]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10417 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [124.42 302.628 272.524 313.532]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a787615432c9f1d6aac5a6394aea8cfa9) >>
+>> endobj
+10418 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.639 86.911 300.161 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_afed62d6b4c6cd06a08a49942907135bb) >>
+>> endobj
+10420 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10424 0 obj <<
+/D [10422 0 R /XYZ 90 757.935 null]
+>> endobj
+10425 0 obj <<
+/D [10422 0 R /XYZ 90 733.028 null]
+>> endobj
+10170 0 obj <<
+/D [10422 0 R /XYZ 90 560.703 null]
+>> endobj
+10426 0 obj <<
+/D [10422 0 R /XYZ 90 546.31 null]
+>> endobj
+10215 0 obj <<
+/D [10422 0 R /XYZ 90 419.15 null]
+>> endobj
+10427 0 obj <<
+/D [10422 0 R /XYZ 90 404.757 null]
+>> endobj
+10216 0 obj <<
+/D [10422 0 R /XYZ 277.106 305.781 null]
+>> endobj
+10428 0 obj <<
+/D [10422 0 R /XYZ 90 289.231 null]
+>> endobj
+10421 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10436 0 obj <<
+/Length 2162      
+/Filter /FlateDecode
+>>
+stream
+x��Y[���~���)���ZW@��Tm6�[�l�&۝�J�N�h���=���9B ��e�yȃ� �ѹ~��
|7�����>ƁD2�Q�	$� AI�އ#
�c
��
�u�.��)�ݗm�����S��_���r^�M֚=�CV������������".b`�;�����S&�wo}tb�qO�Og�|�K�f����sIì���6�+?f����$��,�����X��}��:#@�S��Q�D�*f�?�`
��1��nWp��<��1�c���H�!
	��_7Zxy�		��
�`̌�t��#�������
F#�0�g�*MH6�Tɫ.�y��M^�
]'Eq���C^ 
���|�0y���-B�ˁւ�ؚ/��(�aϙ���д\{D)J(�[?��OAp������^C�
���C��R��6+5�p�!�1�~��Qa/�f#�ao�`	�N
`O
+㬃2� �>7�AR?�h��Y�{�͉?��<����aa����l3�k��0� N��(�9�A�c��=��G94΢�5�Q/<�G�G"����DiH<� ���'�JE�����C�!:��Ar�u>���
\�#9N,�^��ק8Dȹ8G
��0� g
�-D�QC
	bRYk!���X��I�������>+�B9("A���L~b���O*kV���|��
�&O	�`<���a�����W���F�f�[/��\�b���_��� #�`�Ջ?�4��y��˚�Cf�g������!P�W����|���RU��i}$	�l����€�1	
�)c�7�+P�%(�>^gKN�
緉
+��Q�
/��H��]J �n@�p~�T ~0�"p�Tڹ!�ڬn��:�)H�b�X0W��;.���?�ʵ~TmN���� )c�8�Y�ӿ�Uk
���:k�U�����i���}2�7����G�:Y	rw-6�孮N�贒�
+�J
�Ա�Z��gNBs7.�]i����{�ǼL�~/XB��5�+��s�}Vw�O{��8������������
�i�wws
�����2��_@Γ:�`"%�UW��R��0�U��#B�k���8�+ի3{�,�rU{P��N�N=
*u
�*��90pN��I�Jª4�(+�S��9�ɐX�
tm �m����`�%Q|0]�[0@�ovMՃ]��6��"p��t��
+9"(�1�N
]ҋQ���R��?�
�����x(&u{Ed�D�n��1��1��2
(� lT��_
+8@#~E�SL<d�i�c�^G1��C�4�wb���킦%�. at F��F���ۥe�M2�NNj��r�H�p�ᰭ�(F�"���/���:d��N�;
�S
ΰ��5�\f�3�������-��<*F$׸'�
U$pr�g�P~[aʪ�L���Ȋ��6���)24�>���̡�	 €�&�ŀ�ω��5�4�Qh� �\U��uv��ӕ�/�t%s_�y>�_5h�P���%q�&���\n:��:�J�N|S��pSu�����\����/ժ+gt1�
�!'p�l	e�Kzhxm�7�z�Q-��
�"��ƴ?�g5���Y	>��E��*���)���
:�g��
g��K�Գ捖�k~�`�Aq$�`�����#��P{�^����~���T�Rݪ";j��t�}��_�%��l��KF<��H_�
ij��

+�.Ռ&����u4�}_k�����;mCu���?���P��Ɵ�
�۪��, ��'�tYz�k��nG��
ӱ
+�ZW�}o�ՏE1�r5� (�
�	�

+W7��}��ÿ
|%��������"�Y^
+)%��}�
`c��7�ӘJ����B
4L#'d�C���Hک��c
t��S��2p�1al@�a����f�B���~
��J����
��A"�=�O��Ԝ�d�v������"�#�
�(x>70ǧ`n�����v�AO���������S8�N�V'���{6:���7��|i AG,e�1\�

�� �Hr��j��:R)11����
+�2�NM��'
+sk�Q�[�B������υ���=-uGeF��)0|�F�<��f��٢]��1�W�u=��-I(��w�m���no�Z5���5����~w���FT4���c�u��!�:�q ��g.	���0�
+endstream
+endobj
+10435 0 obj <<
+/Type /Page
+/Contents 10436 0 R
+/Resources 10434 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10414 0 R
+/Annots [ 10419 0 R 10430 0 R 10431 0 R 10432 0 R 10433 0 R ]
+>> endobj
+10419 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.144 707.957 182.164 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (main_Expanding_One_Dimension_of_the_Vector_Space_to_Multiple_Dimensions) >>
+>> endobj
+10430 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 578.132 206.372 607.198]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10431 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.635 504.633 163.823 515.537]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10432 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [335.397 453.135 362.844 464.203]
+/Subtype /Link
+/A << /S /GoTo /D (main_Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension) >>
+>> endobj
+10433 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10437 0 obj <<
+/D [10435 0 R /XYZ 90 757.935 null]
+>> endobj
+10217 0 obj <<
+/D [10435 0 R /XYZ 400.69 711.11 null]
+>> endobj
+10438 0 obj <<
+/D [10435 0 R /XYZ 90 694.383 null]
+>> endobj
+10439 0 obj <<
+/D [10435 0 R /XYZ 90 439.561 null]
+>> endobj
+10218 0 obj <<
+/D [10435 0 R /XYZ 90 417.25 null]
+>> endobj
+10440 0 obj <<
+/D [10435 0 R /XYZ 90 417.25 null]
+>> endobj
+10219 0 obj <<
+/D [10435 0 R /XYZ 90 289.995 null]
+>> endobj
+10441 0 obj <<
+/D [10435 0 R /XYZ 90 275.425 null]
+>> endobj
+10220 0 obj <<
+/D [10435 0 R /XYZ 90 122.312 null]
+>> endobj
+10434 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F8 540 0 R /F100 1390 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10450 0 obj <<
+/Length 2440      
+/Filter /FlateDecode
+>>
+stream
+x��ZK����W�HU+
 ��I���-;�f�;9M��85�-�\����ק����nf}�ID5�$��#
�^|{���A�(A��"��E	�� �S�l��%���՚`��oW/��~|��xY
��ٶJ?���Ui�t}m��SSg��G��1�``��槫LFc����������I{����߄�H�pg�Y3�
Һ^�)�˛UB�ٱ<�MfG�e��Z��N"��%��6���f�iA�
��	�H�<�
�p���"��DE��c�h
�����
<v#,� 숡؅�i]|�xw%�T
�G֭�y*�Szԋex,�� �$3%}@�f{}]�y�K�����-�l��9��)E�@\�������w^:�/N��H�b��$Z�B���hMJ8�4�)K��eZ5y��t&���9^�9l��8Ս
4�0WrNa�.���v�|�ZYw��G1���>,����f�pz��2����V.w�c�!UY�fM��X�lU;/��o
#
�3?=�
+����c����.��
FSL�(�9��M�lN" �b��HP�?����'�355D��.���6d%��gS��A��/�G]J��R�p� r�˛��m�p��$�T�y�`�O��~w��@>w�RH��V��V�o S{1�"$����L�� 
�E]
�xܫ{���^/ 1�AP�2��R��Q���p� Aϟ�TS.�r�djl2��P��)�b-'�c_?l\e4��_M��P�\A(�sB]�S��
���
+�B�����
ZX�!T^�N��
a����H	Y�|?aռ_L9�j��RrL����Y��X1���$�$H�Тu͟��r������2�������ppql�_�Cv�N�j
@%=�����_t�������*��2�@��
r��0��{83q�nM�4�Y��\× *ߤ;�p2Y�/�YC �{���Q�
Ϛ�6j��/:7��O
+�I��d�	�I�n�����o�#f�V��'Sٛ `���s��W!SI̧��3��},3�
 X��Ye%4]N�ղͰ6	=N4�g p�
�K/MMP���	g�s�W�+"��7���;�ԛ���i��KQo�����-���/��|��\t8WP"6$�&R� �c#C�镖����G�1�_
���t$�#p%F���4��~�`��嶁]��}�7}Wk9h/�d�>��)���ܾ��b��Cyh�s�I*�$�q<����u�%�π�Ʊx�ܫyr?9I��<K
��YK,N�t۟z&F���{�*	-�Їy� �*���dG�We�	f+ڈ� ��X�`XA��N8�`��b6����f�j�ǘ^ 0���n
�����uD
++�����jIQ��A����
Z���e������z��
�����8��Ԍ�9
�C��h���8�
�c�I1����WÇz���E��5��F�Ni��������E f�V�vy���͠���0)�
��L4t
0ѫ
���
�2e�䌸Nʲ��PF�Ÿ�d(�찖ez�
+2�L�
�
Y�/zY�o����I���ã�
2ZMnT�0��n-�
p�@�\uQ)[ե/�y�@�"�J�C���Q�i���TCM;:)��)m��EфOwQy���H:���'�!�V]�͆�?�5�P^��i�).W^C�����@��ܡSn�LN ��^2_ 
�B��LTa&
z&�
a`g�~
ZO,��T��C֘��T{w@�5i
<�&�>e3\��v����=����m�
C at 0���3�j��2��q��n�ZG����k
+i���gX	'3B�v&���f�m~��6K��-/'!��k'7?����R��3���SH��׏
cdJ�1�ϔ���9�;�������
+�!#1�L���� ���	Q6�"	F
�ba�B�CVc�r�c�m[
�o��UD�D��#[@�1���Y���J�V�?��Y7|�5$�
P`�
��>n_
xS�j�˟ ��}�;��+�2|�u�p4XF�3m�F�@�|�OWdy�@ �W�p�1�.����î�WM;�&Ń��&����CQ;���
+��i\���c۔�O�F���`3��}�|휟6EUu�UV?
��1�߻˻.�t
+d�0p���l>n���ۊL
��
��p�����i�9h��cZ��i����ފ#PD�u���wnchӔ��m�sn�
��xnY����
/�
�_��
�dx�e�?&���
%z�|��a��-4��:��p%=��	*
+}xJ�~����Z�}���� ��]%��%���r�(�q�Н��cݣ�-���.y��Y�g�"]��{zzH��/��K��'VC��>k��]ׯQ{�7{��{K�HB�o�������mj}��P�\����y�X�~*���]Q9�-��	�FU=
����
+endstream
+endobj
+10449 0 obj <<
+/Type /Page
+/Contents 10450 0 R
+/Resources 10448 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10414 0 R
+/Annots [ 10442 0 R 10443 0 R 10444 0 R 10454 0 R 10445 0 R 10446 0 R 10456 0 R 10447 0 R ]
+>> endobj
+10442 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 637.027 192.615 647.308]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+10443 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.371 637.027 284.05 647.308]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+10444 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [452.228 447.271 513.996 458.175]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+10454 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 437.083 138.817 446.22]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+10445 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.573 437.083 170.476 446.22]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+10446 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [482.674 200.824 513.996 229.889]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+10456 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 188.868 154.647 199.772]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+10447 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10451 0 obj <<
+/D [10449 0 R /XYZ 90 757.935 null]
+>> endobj
+10452 0 obj <<
+/D [10449 0 R /XYZ 90 733.028 null]
+>> endobj
+10221 0 obj <<
+/D [10449 0 R /XYZ 90 563.137 null]
+>> endobj
+10453 0 obj <<
+/D [10449 0 R /XYZ 90 549.4 null]
+>> endobj
+10222 0 obj <<
+/D [10449 0 R /XYZ 90 328.186 null]
+>> endobj
+10455 0 obj <<
+/D [10449 0 R /XYZ 90 314.449 null]
+>> endobj
+10243 0 obj <<
+/D [10449 0 R /XYZ 90 184.53 null]
+>> endobj
+10457 0 obj <<
+/D [10449 0 R /XYZ 90 170.793 null]
+>> endobj
+10244 0 obj <<
+/D [10449 0 R /XYZ 90 87.285 null]
+>> endobj
+10448 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10480 0 obj <<
+/Length 1407      
+/Filter /FlateDecode
+>>
+stream
+x��Xmo�6��_!`@&5CR"%��-X��+�%
�!

Ebb���Jr
��
E��m%M'E>ْ���<w<[����6

�����SnMo�[>'�QbM��&y�3&c{�lG�"�M
��"[�ERE�?��*��''���Y���E5i�;cʰ}�Eu����Q9$�E

�������>
}p[�u���w�/F�W�J��{
#7
�U+��<��of]��
�{�.œm��C]p�E����Cl��E�Di�y��|�
;c�A����%D��
W3�Ɉ�߂���3D�^�n��7Jj�Y ��N�#�2��M-mW��U-��F[$}]�"�u�N��]7D�֘2������s1F:��
�u�Nb0)�E40)����(p� A:=^_�����]V��"�R���c&
#� fb�]�b:��I/%�=�����S��xC�U[��V䢒��ʪXtKE�,�
+�2{����'�i&N�*�hl�(�
���O��m��1�e��s�;�%��*5��H�Pe�'
C 
r�p'�Ֆ�kѬ����)�K�L�'[����X�@��q����Oi
g�D
������b��v�2�S���e(�����>��ϥ�t�N��Y��>�ŵД{��c��z
����P��7��U��D�Ͷ��]���j�[�i:K��rW�",�m!n�۸�V nr�m��G��F��*m�&QS�l�~ox��Y7��I,�J����aę�'�t�����;�5��mQ��z�ċ����m���p�z�;ࠇ86�i;ľo�Ub��d݁�M`/�PH^�6�ԕ�t�:�
�ɔ�L~
��p����!�#
+��\V���~'�F=�T���{�(
�̦�R&D��Fղ�;�6 ���`E)7��B�}�a���7��!W��
Y�����v���
��RQ�Ň>
��0�t
�Ĭ�Ø]-�����l�E��ͧ�q-�
�~�$�&@d3l��ȇ6c�w�F�E��><sO8��X6���vY�3
���A7��4�]DI�ƭ
j�Y-�c�����>Є
Ce�ݹ��
�^l̪��'�ӝ����:ם >��:``��f�l�Q���8un��mM~ ��1�i=K����[[�S3ٝ_
��{gSp�7�^���h��fm΋f�:�H��g�|�_#@Y7����
qS�8P�iyBV���}��r�ե���:o��kbz��?��L</k}_B
+𫬼�Y�K����T�o���4��������
���1���,D��&bҺS-�֤��S��"N=����r.ֱ~��e�9��R4K�qcD�D
9c�؅:d�g���a��vm�%E�7�iʓ���j��-�P�
�ev�?2�� �����ܤ.�ʌ��rѲsH���\	
+endstream
+endobj
+10479 0 obj <<
+/Type /Page
+/Contents 10480 0 R
+/Resources 10478 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10414 0 R
+/Annots [ 10458 0 R 10459 0 R 10460 0 R 10461 0 R 10462 0 R 10463 0 R 10464 0 R 10465 0 R 10466 0 R 10467 0 R 10468 0 R 10469 0 R 10470 0 R 10471 0 R 10472 0 R 10473 0 R 10477 0 R ]
+>> endobj
+10458 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 509.369 181.845 520.273]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_aa4b60ce3ac62aee15faac1b5035fdb4d) >>
+>> endobj
+10459 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 470.515 181.845 481.418]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_ab92b75d150bd5fbfc03cadec75d59e0f) >>
+>> endobj
+10460 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 431.66 154.727 442.564]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a4cc725a9fe3bdaded2c131bb8bb47ed8) >>
+>> endobj
+10461 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 392.806 165.446 403.71]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_aa317e5d2d782c3589c48cb3b45d6790d) >>
+>> endobj
+10462 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.784 392.806 273.381 403.71]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+10463 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 354.325 150.493 364.856]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a80b9d602f99df76039d58032b20041d7) >>
+>> endobj
+10464 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 273.189 218.029 284.093]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+10465 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.527 273.189 250.965 284.093]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a553ae81ae234cedad36e72b32c967e65) >>
+>> endobj
+10466 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 234.335 218.029 245.239]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+10467 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.527 234.335 262.043 245.239]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a62827195c6aeacf38a8fb3df6df8ff2e) >>
+>> endobj
+10468 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 195.481 218.029 206.384]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+10469 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.527 195.481 290.804 206.384]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a9f09728ae53c8e3dadeb202f28bb6fdb) >>
+>> endobj
+10470 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 156.626 218.029 167.53]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+10471 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.527 156.626 266.456 167.53]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a1dd09c87a931132dbee52ea24266866a) >>
+>> endobj
+10472 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 117.772 218.029 128.676]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+10473 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.527 117.772 255.378 128.676]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_ac8b0d22ea3470020b35240f778c34a94) >>
+>> endobj
+10477 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10481 0 obj <<
+/D [10479 0 R /XYZ 90 757.935 null]
+>> endobj
+10482 0 obj <<
+/D [10479 0 R /XYZ 90 733.028 null]
+>> endobj
+1470 0 obj <<
+/D [10479 0 R /XYZ 90 633.415 null]
+>> endobj
+322 0 obj <<
+/D [10479 0 R /XYZ 90 626.815 null]
+>> endobj
+10483 0 obj <<
+/D [10479 0 R /XYZ 90 528.343 null]
+>> endobj
+10484 0 obj <<
+/D [10479 0 R /XYZ 90 528.343 null]
+>> endobj
+10485 0 obj <<
+/D [10479 0 R /XYZ 90 489.608 null]
+>> endobj
+10486 0 obj <<
+/D [10479 0 R /XYZ 90 450.754 null]
+>> endobj
+10487 0 obj <<
+/D [10479 0 R /XYZ 90 411.899 null]
+>> endobj
+10488 0 obj <<
+/D [10479 0 R /XYZ 90 373.045 null]
+>> endobj
+10489 0 obj <<
+/D [10479 0 R /XYZ 90 292.163 null]
+>> endobj
+10490 0 obj <<
+/D [10479 0 R /XYZ 90 292.163 null]
+>> endobj
+10491 0 obj <<
+/D [10479 0 R /XYZ 90 253.428 null]
+>> endobj
+10492 0 obj <<
+/D [10479 0 R /XYZ 90 214.574 null]
+>> endobj
+10493 0 obj <<
+/D [10479 0 R /XYZ 90 175.72 null]
+>> endobj
+10494 0 obj <<
+/D [10479 0 R /XYZ 90 136.865 null]
+>> endobj
+10478 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F11 446 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F106 2337 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10511 0 obj <<
+/Length 1364      
+/Filter /FlateDecode
+>>
+stream
+x��Ks�6�����%gJ � <ɡM�Τ/�Q��%�fK�
+I��/ |H�l7n;��"� ��.�]�z�
�~�|7�LO8�
3o���8C�b��޹�  <��?
�r�\��Ev#er�SzU&���k�|U�g2K�ȃS�ʒ�j
��R��}�ϥ��	������������A��PxD��jr~��j�A�ػ3�V
���ϼ���&�b8��F��2���2��Q��zC$��c�ܰ����<��6WE��v���ڪpfzh���,��(_��
����΋��
9ݱ���4�~6��jyh�3^�Lƈ6�6�^��4&����F6kJ���/��"���Oj���=��������������u�bw� 
+�h�����A�}����_��$s
�6�m�ɼ�F��S�00�DE@���/@}V@�E�ߐ5�g���{� �GG�3 ������D�ovcE��?6��;�1$�R��3I�:���'��b+�
_�6`:��0f�\Uɲ�.�o�,������ ��>���&��k<����$��OCs+�
1� 
�$�F�P��
'��f��P	  "¢�@����3��Q��rv/�U]�Օ�d����v6��#)��<����EU�2Y5��
�4:*���PY��Ћ�]D,\_m���T��"�c]$1 j�>��^o�fh;����GR	un2%@��y-�$�
R�e5/ӵ��0T3�1�ˮ�c�J�wR�ͧ�i[�b�p�&�Q����LR��c%;��
s[Y�^�j�ɕJ
ܧ��=����٨�@J��[��A-�)�ݢ�(��ƒ
1V�����p�9G��Ԍ�o��QO��T�7�
+-v�c�{lr��_��wl� )ayӸ��U㏬¾v�"��6��sf�H������d�����dH�Д��X;(�A�%��
2�

+��|H���l����2i�J���Mգ���
�Dr
+P��
&UA����h DEߘ�-{
R���Nf
`���.Cߎ'���(�-ю7گ�̻�Mt���=�h�����oO�L�ƨx�7!
����MޢϞ�^Y���E�
���F���9�ސ�"��ЍƏ���K;L"P�!�:f�X �#1����
+T� 	:L'��!:��.>D%��
b��
��z�1��/���� �?R���'#߾�U��Pg�#�h�լ��i����,U��~�D�}35��A�Q�
����:7/��t�kmek៓|��I�բdY��� !��@�
��RZ����ӏc�n�(���yS��������+���u	�z�^g��t�'Ea�Q���#V��i�W��
��I=�e
+endstream
+endobj
+10510 0 obj <<
+/Type /Page
+/Contents 10511 0 R
+/Resources 10509 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10414 0 R
+/Annots [ 10474 0 R 10475 0 R 10476 0 R 10495 0 R 10496 0 R 10497 0 R 10498 0 R 10499 0 R 10500 0 R 10501 0 R 10502 0 R 10503 0 R 10504 0 R 10505 0 R 10506 0 R 10507 0 R 10508 0 R ]
+>> endobj
+10474 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 697.247 180.54 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a825bf274e880e1c8d51b42d32c69004e) >>
+>> endobj
+10475 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 697.247 288.474 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+10476 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.207 697.247 410.804 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+10495 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 658.393 178.239 669.297]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_af7184f692efc0672e3213f6be9d5cf4c) >>
+>> endobj
+10496 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 658.393 286.173 669.297]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+10497 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.906 658.393 408.503 669.297]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+10498 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 619.539 194.507 630.443]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+10499 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.005 619.539 245.695 630.443]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_ad1bc9d7804925b15f8205df0b3efc8a4) >>
+>> endobj
+10500 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.032 619.539 353.629 630.443]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+10501 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.362 619.539 475.959 630.443]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+10502 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 580.684 194.507 591.588]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+10503 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.005 580.684 233.312 591.588]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_ab9da0d811233cfb64481a7fe08b7f645) >>
+>> endobj
+10504 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.649 580.684 341.246 591.588]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+10505 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.979 580.684 463.576 591.588]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+10506 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 472.643 226.034 483.547]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_af00b427f47054a80d236d124443c580c) >>
+>> endobj
+10507 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 472.643 401.773 483.547]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+10508 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10512 0 obj <<
+/D [10510 0 R /XYZ 90 757.935 null]
+>> endobj
+10513 0 obj <<
+/D [10510 0 R /XYZ 90 716.221 null]
+>> endobj
+10514 0 obj <<
+/D [10510 0 R /XYZ 90 518.896 null]
+>> endobj
+10515 0 obj <<
+/D [10510 0 R /XYZ 90 435.323 null]
+>> endobj
+10516 0 obj <<
+/D [10510 0 R /XYZ 90 364.667 null]
+>> endobj
+10517 0 obj <<
+/D [10510 0 R /XYZ 90 342.356 null]
+>> endobj
+10518 0 obj <<
+/D [10510 0 R /XYZ 90 342.356 null]
+>> endobj
+10519 0 obj <<
+/D [10510 0 R /XYZ 90 268.765 null]
+>> endobj
+10520 0 obj <<
+/D [10510 0 R /XYZ 90 254.195 null]
+>> endobj
+10521 0 obj <<
+/D [10510 0 R /XYZ 90 182.642 null]
+>> endobj
+10522 0 obj <<
+/D [10510 0 R /XYZ 90 168.072 null]
+>> endobj
+10523 0 obj <<
+/D [10510 0 R /XYZ 90 96.519 null]
+>> endobj
+10509 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10541 0 obj <<
+/Length 1462      
+/Filter /FlateDecode
+>>
+stream
+x��Xmo�F�~��RzHe���XV��j�$���WU�mY�|4
\y��������ٮ'��e���y�
�uka�����蕇� .u���
+��	J�El]�	Fܷ
�1�����b
^�����n%�"��-�)�����]�~-��2
�$�l�
+<?MòԷ�R6��2��RM�sN���ٯ��?3�a�4�yLX�zvq����Z���������5��g����
aW�6�!�x�9��i>��y��EX�ͼ���.����]6����=*^��
�K=��
n<��'-4p�PD\ފ<h
Xu}��r�����!�ٿ�0 �;�i�j�}-���R�"�Y|�%��t|%	�qp�cZ�/[�y"����ZI}���AۤZ�i:���]gQeT�K����
#����>�n�
+T��2�
+c&��J�M �
+�F�
���.�h"ܠ�4N:
�
��*
T�*>>��JQ��<�\:��D�~@��;ON���#*�^��B�6'@��iU�P�)�
*�C����崘D���0�"H�b.
+e_N#�`�\�6�AH� w�ip�!
r�^�؍�^ˬ���3 O
��
n6�2S�dl�,���6�y��6P@٭^�Ę��!ܖ1-�"�|A$Z�]R*�R� n6)Z��h��&0���{ߨ��'�M9b<E�(���VJ���Ƹ�ʄY<xo"�K�F��!ɢ���DA
+ ��'�����Q�a��ۊ�<E,��8aC^9�o�$һz/�7ҠR�Q9H�(�
\(r���Ii�w�����l�4�GIr
���X�Ƭ�M�����۹�@�
]�T�qU�
�d��"�d�mr
���}����/�EK.}�#Wt�	
b^���yc��
r�/���.Ep�v Mh�*�M8ȑ��]�J�	�(��H0�6{�:�[u� Z��
p��In�atw����I�D0U=��g�y�OK3��F�^�7E�U�\�g�F9S`��a�Kj����I���N�QD��.U��9t�_�#
v���Â�#\�"Ċ1��‡�q�������~8$�M��� �08��l�$0����W��B��6g�d9:�Yz׽�����ү��^ǰ��b<�
Ї��Dn�a�ǵ������3���JF��>����͊0�q���H¬
CM������,ctȝ�ي2�@ia�9W
�
���1��F���~���P��$>�������
�J{���׌�G���X�7%�z�s��e
w�]��[5l�yEE�i)z���4
�҈��*��'#=�Lds$x�����(h��������ܹ��o~܉ 	1��Y�'$�.%�$��8�� `������}��ajwq��Tɢ찇!*�v��\J�e��OV{�n�
l;o�O��
�������v�EQ��,�(��`�;گ��Ȭ�;�w��yѱ,��
����Q�
+endstream
+endobj
+10540 0 obj <<
+/Type /Page
+/Contents 10541 0 R
+/Resources 10539 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10554 0 R
+/Annots [ 10525 0 R 10526 0 R 10527 0 R 10528 0 R 10529 0 R 10530 0 R 10531 0 R 10532 0 R 10533 0 R 10534 0 R 10538 0 R ]
+>> endobj
+10525 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 405.621 181.845 416.525]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a8ede6a8a55e35d1c41065b01afac0342) >>
+>> endobj
+10526 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 366.767 181.845 377.671]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_aa303fa28c55c391afe4f067f91db36ce) >>
+>> endobj
+10527 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 327.913 154.727 338.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a4f7df2a0b66616d7672e562fa8c4e8f6) >>
+>> endobj
+10528 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 289.058 165.446 299.962]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a419ea78710f4b45c1542647e1212a3f7) >>
+>> endobj
+10529 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.784 289.058 273.371 299.962]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+10530 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 250.578 150.493 261.108]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a0ca2fc9566495b3d4ac6b970a301d9a1) >>
+>> endobj
+10531 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 169.441 218.019 180.345]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+10532 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.517 169.441 250.955 180.345]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_aaf9d682418e536d9a1f6bd24991e1c56) >>
+>> endobj
+10533 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 130.587 218.019 141.491]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+10534 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.517 130.587 259.253 141.491]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_af78754c1ef47797c0acbd31cf48f9caf) >>
+>> endobj
+10538 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10542 0 obj <<
+/D [10540 0 R /XYZ 90 757.935 null]
+>> endobj
+10543 0 obj <<
+/D [10540 0 R /XYZ 90 733.028 null]
+>> endobj
+10524 0 obj <<
+/D [10540 0 R /XYZ 90 666.98 null]
+>> endobj
+10544 0 obj <<
+/D [10540 0 R /XYZ 90 652.41 null]
+>> endobj
+1471 0 obj <<
+/D [10540 0 R /XYZ 90 529.668 null]
+>> endobj
+326 0 obj <<
+/D [10540 0 R /XYZ 90 523.067 null]
+>> endobj
+10545 0 obj <<
+/D [10540 0 R /XYZ 90 424.595 null]
+>> endobj
+10546 0 obj <<
+/D [10540 0 R /XYZ 90 424.595 null]
+>> endobj
+10547 0 obj <<
+/D [10540 0 R /XYZ 90 385.86 null]
+>> endobj
+10548 0 obj <<
+/D [10540 0 R /XYZ 90 347.006 null]
+>> endobj
+10549 0 obj <<
+/D [10540 0 R /XYZ 90 308.152 null]
+>> endobj
+10550 0 obj <<
+/D [10540 0 R /XYZ 90 269.297 null]
+>> endobj
+10551 0 obj <<
+/D [10540 0 R /XYZ 90 188.415 null]
+>> endobj
+10552 0 obj <<
+/D [10540 0 R /XYZ 90 188.415 null]
+>> endobj
+10553 0 obj <<
+/D [10540 0 R /XYZ 90 149.68 null]
+>> endobj
+10539 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F11 446 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F106 2337 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10571 0 obj <<
+/Length 1363      
+/Filter /FlateDecode
+>>
+stream
+x��Ks�6�����%gJ � <ɡm�̤/�Q��%�fK�
+IY�/@ )Q�ݸ�d��D���v�
��x�{=�n6��p�	 f�����
��7[x�>���A� ��i�������4��/��[�(�˟ҫ2)����2�<�YR�E
��B��,�*�x&�e�ؗ�\j��
\��L~�M>L�Z
�P����7_N�/��P��xD"�6M��Gp��3���	
U
G 2j;)S�/�fR7jzBYgb�D�b
��
c�㝇T��(2�]����*�5=���J�I]�/_�׭�!��"��q!�{�
�u��c�gx���z-[�q���d�h�iS셈 A�1�,��/�Ҭ)�6�I�0E�ݷMj���
���������������u�b�� 
+�h���Β�A�}����ߤ�$s
���]�ɼ�F9�S�00�DE@���/@}V@�E�ߐ5�g���={������N�Tf
{�շ���]��|�=�!$�R��3I�:�l��b1��p�׿
�N+�/��8WU���I�[ېe;]
}�{
L�٫o���Z�LB1<�44w�3
+�^H"�hd�6�!�Apb=�2����J e�/E-���ʔ��{���R.�T&�<_���ަo�H
+�x �����qQեL�F��� ��r�N�
+�e`{�x1��r b��j{
,�zn)�"��Q���_��jm7C�!@�ol�z$E�P�f�����=�d���Cꕬ�e�r��C5�~A�m)A�_�z#en��Ŕ��$3m;�odn�Y�> 	#J|Z�NsS\��t���R���9�l�dGlO���! (u�n�/{�\�C�毫C/!��;:� ��0@�E�>`��^kD}�D��ݪb�ֆh���
+���&�1����zǍ7!%̂�|<T��G�aW;L�m�S�;��OQ��\����\H
Ӕ�݀۫�A��8�j9��
y����f/.< $
D�
����|=zZ��qG$� Ż�QoR��ˍzBT�9۱Lj��M���� S�N�l��ݠ���*
���p��B�yw��-�0� nD �
�y�x���O�yc4
�M<L�Y&���E�=m���ٱ��K������sͻ�Eء�?��D#R!�06�!P�>�:`�X �u��b�qp*s���I }�N��x��Q������w��.S.��R�K)~��S!�j����kZU

+?�����US1����*^Q�ɜ�,�I�ʥM!Nݝ�y����w��|��l-�s���]5�wZ�,�ֶ �7hz��VJ����O�=�8iL�]-�q7p����x:�l6`^�u��J����*��g�
)
+{�=�
[J,
�\}\6|��/�'�-
+endstream
+endobj
+10570 0 obj <<
+/Type /Page
+/Contents 10571 0 R
+/Resources 10569 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10554 0 R
+/Annots [ 10535 0 R 10536 0 R 10537 0 R 10555 0 R 10556 0 R 10557 0 R 10558 0 R 10559 0 R 10560 0 R 10561 0 R 10562 0 R 10563 0 R 10564 0 R 10565 0 R 10566 0 R 10567 0 R 10568 0 R ]
+>> endobj
+10535 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 697.247 180.54 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a306699ac7d5f2c2c909c3a3baf303009) >>
+>> endobj
+10536 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 697.247 288.464 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+10537 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.197 697.247 410.784 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+10555 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 658.393 178.239 669.297]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a5740d23d50b9aa7c95e8b6b51242258d) >>
+>> endobj
+10556 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 658.393 286.163 669.297]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+10557 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.896 658.393 408.483 669.297]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+10558 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 619.539 194.497 630.443]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+10559 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.995 619.539 245.685 630.443]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a6d5d2010157ae8f712e4a3e551d355d7) >>
+>> endobj
+10560 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.022 619.539 353.609 630.443]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+10561 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.342 619.539 475.929 630.443]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+10562 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 580.684 194.497 591.588]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+10563 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.995 580.684 233.302 591.588]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_ad99eb5124bfcd9c75379efdde73d1a1a) >>
+>> endobj
+10564 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.639 580.684 341.226 591.588]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+10565 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.959 580.684 463.546 591.588]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+10566 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 472.643 226.034 483.547]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_ade82782e3363de460caad677b3583559) >>
+>> endobj
+10567 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 472.643 401.763 483.547]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+10568 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10572 0 obj <<
+/D [10570 0 R /XYZ 90 757.935 null]
+>> endobj
+10573 0 obj <<
+/D [10570 0 R /XYZ 90 716.221 null]
+>> endobj
+10574 0 obj <<
+/D [10570 0 R /XYZ 90 518.896 null]
+>> endobj
+10575 0 obj <<
+/D [10570 0 R /XYZ 90 435.323 null]
+>> endobj
+10576 0 obj <<
+/D [10570 0 R /XYZ 90 364.667 null]
+>> endobj
+10577 0 obj <<
+/D [10570 0 R /XYZ 90 342.356 null]
+>> endobj
+10578 0 obj <<
+/D [10570 0 R /XYZ 90 342.356 null]
+>> endobj
+10579 0 obj <<
+/D [10570 0 R /XYZ 90 268.765 null]
+>> endobj
+10580 0 obj <<
+/D [10570 0 R /XYZ 90 254.195 null]
+>> endobj
+10581 0 obj <<
+/D [10570 0 R /XYZ 90 182.642 null]
+>> endobj
+10582 0 obj <<
+/D [10570 0 R /XYZ 90 168.072 null]
+>> endobj
+10583 0 obj <<
+/D [10570 0 R /XYZ 90 96.519 null]
+>> endobj
+10569 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10607 0 obj <<
+/Length 1510      
+/Filter /FlateDecode
+>>
+stream
+x��X�n�F}�W(�����+/nЇ�M��NSG}(�@�ɕŖ"U���~}��劤Wv�N�b�����3�]��:�y1�n1;
`'B�O}g�r"�>A�g�:�.��Gޜ`��7
�n\m���b��k�V��즊�����GB�,�9�}��u�~^ɕ��'�D�^�}�rμ��W��?g<��<
+�p����=vR�����E���6�
���v��
߻+���qW!����)Ǘ/d���y�d��VVqSV

ܹ��
�͹�ܤ,�F}�Gœvs�����%�9"$�;�>�)��ۄ"��^�Ac���S?D���9!����z@����b>B
�i�k�C-���R׫*�E�^I
+ 8[Ip��cS�yB���SM�f-� ��t�u�5k��<��B\~�I�U�+�:�2�#�D��_����:n��J�)J�%+,��B�I4G��ڄY�
�I���ф�BS�nҋ��nT��) ��aȪ�"��� �>��

�p�8�\~Ҧ�T���^E}�՘�)�A�:e�@J����V<��9� `�2�j�K;�y��@1��?��N3�� ���$@>�‹��i��6�h�#�W�N<ӔN��s��`�r+�֐L�ʪ�LrcU�y�Q	TܪO�0����
+n_1
�#�–�H��{G�K]�0p���zm���F���jԶ0x�r
5��h꛸�w�i�
4�8v?xD����Q}��>"K�OP�*+�|�JK�	`ꑉO-���qS~�!
�a��ߋ}k#g N��LC��X�*�B(���A�6��Vwܫb`-PBu�g�j:��g`�m�q�~��ׯ�-�&syyڲ��b]K5 at ov7y�(`^���V�#=�`�����H���ruz�
�K��tl�0�Nٌ4�\�L�-[k���'D"���0@�N�
��q�i*�U}`:�}'=Z��3�kd5=�g,B��"‚����H�~��%��*v�k#��r]����}�����}Y���0����s)�Ф)��7;'�H�,I3(�5�jC���6N�Ҭ��Ou������9�
V`V�z}%�]UL籣�5��?Ȥ�ki��	5:/����
��0D�
�3fJ,Jq���8�e����>��B��puOb��%e0�1ё+"�1 �M2��k8�U!�
#�LW�� �@8�s��
+j;fF���2}3I����l��7����j�A[��B;՝Ӧ
��$Ǧ�w�nA���:P��Le�����*k��t�[�Hg�o�
�Fnlyr��������T+�'
��30d'���z�MA1�dE�������鉾(����4.��ϊ�
u�*��m���,-܆�m[:[���

�?%!ė�c>|Zȧ�����|��:����P��uW��!E������(�_��zՇ"��k-���{��e\���3�Q��8�Ak'�
�7g��[ٷC��?��׏��Dz���\�f{q~���QR�]�m+�5�pT=�;-���

�9po��b-+�㦻A���
B?�3
+endstream
+endobj
+10606 0 obj <<
+/Type /Page
+/Contents 10607 0 R
+/Resources 10605 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10554 0 R
+/Annots [ 10585 0 R 10586 0 R 10611 0 R 10587 0 R 10588 0 R 10589 0 R 10590 0 R 10591 0 R 10592 0 R 10593 0 R 10594 0 R 10595 0 R 10596 0 R 10597 0 R 10598 0 R 10599 0 R 10600 0 R 10601 0 R 10604 0 R ]
+>> endobj
+10585 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.289 442.856 329.928 453.76]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+10586 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.591 442.856 513.996 453.76]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+10611 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 430.901 136.934 441.805]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+10587 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.279 376.042 192.296 386.945]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+10588 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.794 376.042 258.726 386.945]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a5dfef947c46e234a1ffd4707312332ec) >>
+>> endobj
+10589 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 273.361 190.738 284.265]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+10590 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.236 273.361 261.85 284.265]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a43cd840b1ec99350c222b3f217739cea) >>
+>> endobj
+10591 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 236.499 190.738 247.403]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+10592 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.236 236.499 262.159 247.403]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a97ddb3b93ac699eebaca7e79f691b0ad) >>
+>> endobj
+10593 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.225 222.875 390.082 232.78]
+/Subtype /Link
+/A << /S /GoTo /D (main_Affine_Independence_and_Affine_Dimension) >>
+>> endobj
+10594 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.616 199.638 226.443 210.542]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+10595 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.183 199.638 282.343 210.542]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a7b8d597a3c23af1fce9d8d3e1d36e11d) >>
+>> endobj
+10596 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.616 162.776 226.443 173.68]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+10597 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.183 162.776 329.944 173.68]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ab7a35f8df974c9e932df6291754859fb) >>
+>> endobj
+10598 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.616 125.914 224.76 136.818]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+10599 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [235.499 125.914 278.986 136.818]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a2bf7987a6ee3547c1e125e83e432ee2a) >>
+>> endobj
+10600 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.616 89.052 224.76 99.956]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+10601 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [235.499 89.052 326.587 99.956]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ae1c5216e2ba5c80d77e128daea25b46e) >>
+>> endobj
+10604 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10608 0 obj <<
+/D [10606 0 R /XYZ 90 757.935 null]
+>> endobj
+10609 0 obj <<
+/D [10606 0 R /XYZ 90 733.028 null]
+>> endobj
+10584 0 obj <<
+/D [10606 0 R /XYZ 90 666.98 null]
+>> endobj
+10610 0 obj <<
+/D [10606 0 R /XYZ 90 652.41 null]
+>> endobj
+1472 0 obj <<
+/D [10606 0 R /XYZ 90 529.668 null]
+>> endobj
+330 0 obj <<
+/D [10606 0 R /XYZ 90 523.067 null]
+>> endobj
+10612 0 obj <<
+/D [10606 0 R /XYZ 90 393.112 null]
+>> endobj
+10613 0 obj <<
+/D [10606 0 R /XYZ 90 393.112 null]
+>> endobj
+10614 0 obj <<
+/D [10606 0 R /XYZ 90 314.253 null]
+>> endobj
+10615 0 obj <<
+/D [10606 0 R /XYZ 90 288.44 null]
+>> endobj
+10616 0 obj <<
+/D [10606 0 R /XYZ 90 253.6 null]
+>> endobj
+10617 0 obj <<
+/D [10606 0 R /XYZ 90 216.739 null]
+>> endobj
+10618 0 obj <<
+/D [10606 0 R /XYZ 90 179.877 null]
+>> endobj
+10619 0 obj <<
+/D [10606 0 R /XYZ 90 143.015 null]
+>> endobj
+10620 0 obj <<
+/D [10606 0 R /XYZ 90 106.153 null]
+>> endobj
+10605 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F11 446 0 R /F79 505 0 R /F107 2332 0 R /F97 1188 0 R /F105 2458 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10657 0 obj <<
+/Length 1472      
+/Filter /FlateDecode
+>>
+stream
+x��Z]o�6}����&
MR�}\��: K����@[��M.%��~�.ER���ıo�
�E]�st�%%lM,l]�~��
�؊P�Sߺ[�� ��>�>�#7�_��}�'�f"g�M�b�̖S�L����7���$�ˢE=l��XU��[>��9^�8�븾g����r������G 2l�&/@��Y����
�8���ȉBkѴ�-�:�ͬ��o=�G��U���F�r��ň�n@
�}O
���sQ�8�)W;ղ�y��˱�N$���lV�B��~R'i=U{E����6O�EŠzg�بAa�0�=��+J��f���ϔz�H,�D�z{ݳ>]y@�۲���d!�SC|�2����Z�@���=
?�7���sL|���A
l7���ei�\�u����i�c�u`���
�
�*#���Txb�f�j+�84m�iZ�6�c���D�сԺ�"M-}!j�H����g �	��Z���x�%�r�ͳ<�Ƴ�G�<��<S
��8O�9xϭ^�\l<@�#=@F��ۡ����hw
��F�����!-&���r����T�
}$Is^T��`Vu��!(t�-wb�?W��"M�k��GR�D^:1�����E��U�ؗo �}�爼�p3�
��U
�
��
<��'�.t��
@�»�����`iQwu����(���"L���>7-��5�!��W�L)�z��k;ۻ�'����4�N�
K���p�&~�
��
�:n�!'|��:$D�J��ɳ�����ךM��&�
+����6�����brb��(�����t��mz���=�z+�m� �Mu�}
"�)Ѳەk�Ȇe���AZ�<���*T��r0"�߲�>�F�k����ȖjNu��!�O1�q�a��K�T�ء��

EA�+���C���O=�A�$�p�|�w���-���)'�e�eFYY������+T%�Y
��WM��Ê��S�6g<�RT���乥��՟%��X��ō~ 6
+SP,O\O�������Q�f��K�T�UT�%2���
+|�]�@u���[��_�*��46���v
瑗)�p:,�Er�'�P��A�D�s�� ��,-�
��܄�xV�X!���?���FWg�)̋�n׬l���}��rP
�;��w^o�Ѽ�e"eì3
<ȩ	��� ڭ�&:�@B��o����1��s�×��;�[\@3�S-B4>X5h̆��AMV��G?�L����	^U鎲�q7h����aTO�Gk�h�R�~a��!�.�D疤 ��!�!�Y���"dz�Qr�xL�Q��b���ˇnH�ԯ����@�>�'�ߪy�<W��ެ �4)B�~4sn�W����^q�c��l�鯬���ۇEf5���A��P�ʁ���U���2{�H�ѕhIH�O-�u={3,
4�мHg��`6�k n��� ���������yi�N��/����
+endstream
+endobj
+10656 0 obj <<
+/Type /Page
+/Contents 10657 0 R
+/Resources 10655 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10554 0 R
+/Annots [ 10602 0 R 10603 0 R 10621 0 R 10622 0 R 10623 0 R 10624 0 R 10625 0 R 10626 0 R 10627 0 R 10628 0 R 10629 0 R 10630 0 R 10631 0 R 10632 0 R 10633 0 R 10634 0 R 10635 0 R 10636 0 R 10637 0 R 10638 0 R 10639 0 R 10640 0 R 10641 0 R 10642 0 R 10643 0 R 10644 0 R 10645 0 R 10646 0 R 10647 0 R 10648 0 R 10649 0 R 10654 0 R ]
+>> endobj
+10602 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 697.071 209.547 707.975]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+10603 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.045 697.071 261.831 707.975]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a6fb94f0e966e97bfb9dcf43dddcf12ba) >>
+>> endobj
+10621 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 660.354 209.547 671.258]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+10622 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.045 660.354 309.432 671.258]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ac6ea1802e6a6cfb32e5af6d6d26eb424) >>
+>> endobj
+10623 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 612.678 224.481 623.582]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+10624 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.979 612.678 289.497 623.582]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_acb75fd68aa10bd15e590e8e8954c5002) >>
+>> endobj
+10625 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 575.961 224.481 586.865]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+10626 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.979 575.961 337.097 586.865]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a0d69bc8c9bd9843262551c7e3e33f5a2) >>
+>> endobj
+10627 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 539.244 205.692 550.148]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+10628 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.19 539.244 261.312 550.148]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a9f3c5474494eb306717bc3da7c109307) >>
+>> endobj
+10629 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.65 539.244 332.156 550.148]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+10630 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 504.448 205.682 515.351]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+10631 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.18 504.448 261.302 515.351]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a0514c2e57ac8154666e9fe6bb56c0e18) >>
+>> endobj
+10632 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.64 504.448 330.462 515.351]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+10633 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 469.651 205.692 480.555]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+10634 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.19 469.651 261.312 480.555]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a6187dbe974649c7bd4de8e66f70d3e46) >>
+>> endobj
+10635 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.65 469.651 338.781 480.555]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+10636 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 434.854 183.824 445.758]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ad909d5b60cab5d1a6816577c97b60fcf) >>
+>> endobj
+10637 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 398.511 192.272 409.041]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a8c33b9ea975535b5aa0882241cf78986) >>
+>> endobj
+10638 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 361.42 241.935 372.324]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a8ed700f662722cbebdc9328344ba2839) >>
+>> endobj
+10639 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 324.703 213.163 335.607]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ac251eb38d1b24b8b570d874ee11df424) >>
+>> endobj
+10640 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.501 324.703 288.431 335.607]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+10641 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 290.28 189.901 300.811]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a0d9abbf681b7b0724963d97596286ae5) >>
+>> endobj
+10642 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 253.563 193.229 264.094]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aa0ac997a15935821583174de968e5bff) >>
+>> endobj
+10643 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 216.473 238.459 227.377]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_abbb7562de97ccf13bd97b57bb5e3ac94) >>
+>> endobj
+10644 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 180.13 187.689 190.66]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ae3be29eddce8f41019e7dcb731c8ba7b) >>
+>> endobj
+10645 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.505 180.13 226.693 190.66]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10646 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 144.959 228.895 155.863]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_af740303d5461c838735ec53c5c1f8855) >>
+>> endobj
+10647 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.232 144.959 333.482 155.863]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10648 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 110.162 229.503 121.066]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a31d70a625e092dfdaed4f3232701f35d) >>
+>> endobj
+10649 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.84 110.162 334.089 121.066]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10654 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10658 0 obj <<
+/D [10656 0 R /XYZ 90 757.935 null]
+>> endobj
+10659 0 obj <<
+/D [10656 0 R /XYZ 90 714.135 null]
+>> endobj
+10660 0 obj <<
+/D [10656 0 R /XYZ 90 677.418 null]
+>> endobj
+10661 0 obj <<
+/D [10656 0 R /XYZ 90 629.743 null]
+>> endobj
+10662 0 obj <<
+/D [10656 0 R /XYZ 90 593.026 null]
+>> endobj
+10663 0 obj <<
+/D [10656 0 R /XYZ 90 451.919 null]
+>> endobj
+10664 0 obj <<
+/D [10656 0 R /XYZ 90 415.202 null]
+>> endobj
+10665 0 obj <<
+/D [10656 0 R /XYZ 90 378.485 null]
+>> endobj
+10666 0 obj <<
+/D [10656 0 R /XYZ 90 306.971 null]
+>> endobj
+10667 0 obj <<
+/D [10656 0 R /XYZ 90 270.254 null]
+>> endobj
+10668 0 obj <<
+/D [10656 0 R /XYZ 90 233.537 null]
+>> endobj
+10655 0 obj <<
+/Font << /F70 402 0 R /F79 505 0 R /F56 367 0 R /F107 2332 0 R /F97 1188 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10718 0 obj <<
+/Length 2014      
+/Filter /FlateDecode
+>>
+stream
+x��Z[��6~�_����ZI @��C�6�i�i�l�Ҏ�Ų����n�_ߣ
l��כ�3�d,�sӧOGG`kna뗫o�n^���{Գngǖ��(�n��G�`��ј`��w#��0[��w#��t�Y�iN��wY�m^�l6�H`��hL�_-�<׏��L�w"��u\�ٮ�F��z�����+�a�(K��|�Y�����ؚB��F��ke�ԁߥ���+l��M���y0§�
�.�E�V_��>��{��K�.���ư���>��/�*�G�v���
Gi��"�ĉ���_֙��"�'+��ň0��\l���x��T�F��~L�X$E���\O�^Il�$�%M_�Ԉ*bV�\/�Ƅ �L��U��ąh(4�Ӟ8�$��\5k."��(�3�|/�2Kr9��5��
 ���Wd�НZ"a��T��X�;L��!M����h��:� 1�U�!@N�!.�p��X��q;r�4I
� V�b��m_�G&�!BBd����L��8<h1;]]w�\��B��v�tŀ;( [...]
+�Q*����,,�lW�|y=,�gz& C@�y��Y>�u'�~|X=���8�C�
\�I

�
�_l��F�c�3��"tȩ���n:�� :��:
�C�H
����Y/
�D�$I�rD?
�`=>�Dh$BhN���>��
Bc��is
� 4|�� �|��)9Hh�J,Ӈ#d�12c�d�
M��D�?�I=S�Y��m3)�L<��s
�A�gH��(�}��%X��������ϥH�b���\�aC)�ņ ��e��GK̏Ә8�ϖ���
5>Ĕ�tH"��]�e�Ū
��"m��y
�(pЫ�-z�ӿ^�ī���WE���_!k�_�\���
+�e.M��;�Ñ�*��u�G�y���Ұ��$,�(ρ(mOH=����Fl�-Շ��	

��e���M�"P��(	8��ʓU���h�a| �C��4r9b�!!��"�5�v�=�|��;s��A9r�l�X
U�9��C�ՅË�q�V+��9����
>
+�w�ܣaG3��^A
h-m�!�!'8B�c�����X�EG�r3yF�7ES5����#�q����`
���R���o����jG"�4��}�2��g��s���bŜz^�|�5~��9�ӽ\�e�2���8L��#�'�eRq,�l�׼�
;
l�`�g!���}X����S�����b��������d��ߊ�
����e0"�|	M��64 at z�N��f�Վ
�?������a��W��i?.��t�&5
���l ߼�r
)
�	��Ӽu��ҵ�c:k S�"Ƅ�����E�R���u�"ݭno�B�������"8P)ͥ�J��C\,�Ҡ�Ԅj���哗�BNʼn\'u�⸛��Z�nH��̭m ���:N�.�h��#��GO޾^�>lU����by��g�D|�T��<��z�\GO������n�)�Bl)7y��bDz��G��U�^����a�|r��Qhv�;�6}�Y������ER�c�mv�jf/����� Cx���9��=��)����7j�c2��G [...]
rڮ?�RO���L�j�&Z�A�=(�+µ�Ku�t��
\Ķd�
J�Q�ۧ��rK��'�O�S�H*��7���
L��
�W�^
���S7a]�z>��m+
+�M�54�
6�
D(C�^���w#Lk!�1~8�����
~y]}i�!�;���
�Ty����ݞ�e���I0�œ�k�$���E�݈�*�&eh�#��{)Jd��F�h����Q%�گOV��%mXK
+)uMN��X���yxx at Q��$^g(.n����~=�!�]{:KM1d�fu)W�����_LS��
+endstream
+endobj
+10717 0 obj <<
+/Type /Page
+/Contents 10718 0 R
+/Resources 10716 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10554 0 R
+/Annots [ 10650 0 R 10651 0 R 10652 0 R 10653 0 R 10676 0 R 10677 0 R 10678 0 R 10679 0 R 10680 0 R 10681 0 R 10682 0 R 10683 0 R 10684 0 R 10685 0 R 10686 0 R 10687 0 R 10688 0 R 10689 0 R 10690 0 R 10691 0 R 10692 0 R 10693 0 R 10694 0 R 10720 0 R 10695 0 R 10696 0 R 10697 0 R 10698 0 R 10699 0 R 10700 0 R 10701 0 R 10702 0 R 10703 0 R 10704 0 R 10705 0 R 10706 0 R 10707 0 R 10708 0 R 10709 0 R 10710 0 R 10711 0 R 10712 0 R 10715 0 R ]
+>> endobj
+10650 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.98 719.912 187.264 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ac5c7acc50141a9104ef5b9b7598c1438) >>
+>> endobj
+10651 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.963 719.912 293.213 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10652 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.131 719.912 371.148 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+10653 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.711 719.912 455.727 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+10676 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.98 662.129 187.264 673.033]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ae680437fdc213b7174c581caa2e0c0d3) >>
+>> endobj
+10677 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.963 662.129 293.213 673.033]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10678 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.131 662.129 371.148 673.033]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+10679 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.711 662.129 455.727 673.033]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+10680 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.235 650.174 220.058 661.078]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+10681 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.717 604.346 186.348 615.25]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ad914801461cad05325559e95b9c4d9c6) >>
+>> endobj
+10682 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.523 604.346 293.772 615.25]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10683 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.35 604.346 373.367 615.25]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+10684 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.82 604.346 456.837 615.25]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+10685 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.717 546.562 186.348 557.466]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a6e73a7d462d6a9a3891fff6c4a923495) >>
+>> endobj
+10686 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.523 546.562 293.772 557.466]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10687 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.35 546.562 373.367 557.466]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+10688 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.82 546.562 456.837 557.466]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+10689 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.581 534.607 218.404 545.511]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+10690 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.772 488.779 187.446 499.683]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a7af48c81caa850300e6042bea1008a38) >>
+>> endobj
+10691 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.73 488.779 292.979 499.683]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10692 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.431 488.779 370.447 499.683]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+10693 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.745 488.779 456.762 499.683]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+10694 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 488.779 513.996 499.683]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+10720 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 477.197 159.485 487.728]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+10695 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.603 477.197 240.62 487.728]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+10696 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 430.996 180.496 441.9]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a5df26655af3ae7844569d7086edf8332) >>
+>> endobj
+10697 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.834 430.996 255.764 441.9]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+10698 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 396.126 213.153 407.03]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ac2182f38e9f8acede601c3dcfa71c3b3) >>
+>> endobj
+10699 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.49 396.126 288.42 407.03]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+10700 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 361.257 161.677 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a13f15417d90174f6c2d3648e83d9fcf5) >>
+>> endobj
+10701 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 288.216 205.752 298.746]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a0a5c586d872f15baf7fd70941fc16c41) >>
+>> endobj
+10702 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.089 288.216 276.595 298.746]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+10703 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 252.973 204.078 263.877]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a5d53d09dcc839672fedd4ab5d4142d57) >>
+>> endobj
+10704 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.415 252.973 273.238 263.877]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+10705 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 218.104 212.377 229.008]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a7df62db3bf13024d4ee9f8aaf0d27dc6) >>
+>> endobj
+10706 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.714 218.104 289.846 229.008]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+10707 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 183.234 209.627 194.138]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_af60c3f345fb8ec8c708e49e8fa33f737) >>
+>> endobj
+10708 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.964 183.234 314.791 194.138]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+10709 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 137.406 248.202 148.31]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a4f9a47ba1b29f1e07a32542584d50686) >>
+>> endobj
+10710 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.018 137.406 329.845 148.31]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+10711 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 102.537 207.953 113.441]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a9a45b4b8f148a20359a2f3e2b1c2cb2d) >>
+>> endobj
+10712 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [235.291 102.537 311.434 113.441]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+10715 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10719 0 obj <<
+/D [10717 0 R /XYZ 90 757.935 null]
+>> endobj
+10716 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10778 0 obj <<
+/Length 1999      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�6~ϯ�S'3CR$%��Vlź�l/�`(��m�����;)Yr$�i�4
�dY��s��w������Wg?\����b�G��ºZY>�\A�ĺ
+��6����9��og�A���3��,��Ȱo��"(���3��Y:�S��qP���\���L��u��6cb�������># �H-	w��pk����[!�ma���uW�J,F
���˳�ΰ�j�֖�����H�
.����V����y�z?��m�]�gJ�bm�}W�R
+a�(�rF��]�2\�e*��ʊrR5��xtB�U���r[V2��ź�IH�Q�
��-�L�K)�Xs�������04��n��X+?���ju��
�R���O�ۙ�s�#|X��q]�!����0&͐*�[�������0�^��
��.oV���3 -C�j$���ĥ�0�M��]T�d�J/�Di�D�D�zO�b渶,7q�|���sN��>G�3� ��t*0.�t]lT������^��
�����{Xt�
��^f�VߨAw���FW��� 2	� ^���06=�}��� �|Ĩ?��6c�U��v�2J��a%�F��!�f�T8�,�x�h��2�d�G^o�8`p#�8
��ג�yCތy?�ơӢ�G�'@y�K��
%�ŞG(���(t
��
éʎ����78=���)18��8�c8�
+�z��!97�e
0���}.p-$؛�r�RŢ��"���q�{`���@��R�dj�ߐm'k
��kD�G��(ߡv G������ӵ��@� ��s��PLZ�
�D�ϋ4���:��鬿yPд�vr]�u ħ��RN�!�^���Җ�}R9�� ��YhYN�6u�|`2ج<�<��_|~:��(v(��G
*��:�T�`�L��M����k�?f�;(��:
LD �{���̒|S)�;��"��,�q��E���
�(���5�G�<�O�_�Ŋ
+K-�){s���>��-�@��
��a�ȴ4�߃7F�kvC���N
�p�c�e�N��UdW�M�i�6s�q���k�/����\%ʓ��	�ً�rq)��w�4aA>
j�񰠎?ą�x���A��G���:��A
M�p���I��

/겍�r(`��(��q,�m/�M�Խ�����1����B7�괕���
����0r���s�(�y����#b��Ee����>�MS
W
t�]�4Pw�n���LU����u��@������
��`� �c��p��>�h�Q2iū�C��M
����xSv�+;
wv�T2|A�_ �M�%e��X\g�4|�P�tJ
�.���<(g�1���~�穦aJ��
�0Z�*h%�z��<�X|�0&�8>jʹ2%�)�"d�'8
����/�>�"��&�g���OG�Y6H%y
���M	e�j\UR5?V_
�b�|$<2E��q�-Cp at i�%�����֊[�y����<�f#�䚘��������E{+p��]��;�ΖhΘk���!,�N�
+�R���^��`Tv��6E*�o�~vua�� 0w���
��#�2ɫ�s��3�	��j�3
�(	���	g��
�ELd3�n[j	i��(�A���c^Ȳ
@����f��;��L�J-#�V
��ʋ�zՅ��
��no��S���KC��G�L�$Jՙ���ϙ�RYE˩�BTH8#��p2B.
#!�4mJuuJ���	�db:�pЛ
+���ֽF+�2RuP����S:
+@��
wc$\mRm�v�yM���m���
��H��G�c����{�2�#���3�>!ѐv��"Ě��
��<�G�j%�j�)*�·x�ОX���0
�N=��
��W���1U�x��ůn}[W,��I��9������E��x
�M`��*~o�T��9#Bt�4w 旲���/���E�7�HK<��.��TU~q~~ww��%ڤQ^��:����g�=�	�����+p�>��mf��I���� ��
:{�
+endstream
+endobj
+10777 0 obj <<
+/Type /Page
+/Contents 10778 0 R
+/Resources 10776 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10554 0 R
+/Annots [ 10713 0 R 10714 0 R 10735 0 R 10736 0 R 10737 0 R 10738 0 R 10739 0 R 10740 0 R 10741 0 R 10742 0 R 10743 0 R 10744 0 R 10745 0 R 10746 0 R 10747 0 R 10748 0 R 10749 0 R 10750 0 R 10751 0 R 10752 0 R 10753 0 R 10754 0 R 10755 0 R 10756 0 R 10757 0 R 10758 0 R 10759 0 R 10760 0 R 10761 0 R 10762 0 R 10763 0 R 10764 0 R 10765 0 R 10766 0 R 10767 0 R 10768 0 R 10769 0 R 10770 0 R 10775 0 R ]
+>> endobj
+10713 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 709.119 246.528 720.023]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ab1b315e7f04c051a36f48d344dd34052) >>
+>> endobj
+10714 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.344 709.119 326.488 720.023]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+10735 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 674.582 216.252 685.486]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a96e902093a55f87f0aebc2bb13a8d740) >>
+>> endobj
+10736 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.59 674.582 328.042 685.486]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+10737 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 629.086 254.827 639.99]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a3569a428ad758dc9ac8273e0f1f77772) >>
+>> endobj
+10738 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.643 629.086 343.096 639.99]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+10739 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 583.964 236.745 594.494]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ad6a8cc7029bad7ad7ad116c90ff59aec) >>
+>> endobj
+10740 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.082 583.964 307.588 594.494]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+10741 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 549.053 243.37 559.957]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a236a18fe8cc922d00ee92a6c6e42f923) >>
+>> endobj
+10742 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.708 549.053 320.839 559.957]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+10743 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 514.516 240.62 525.42]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_abfd98397c137d81dcc27111fba3ccd54) >>
+>> endobj
+10744 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.957 514.516 345.785 525.42]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+10745 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 479.979 247.246 490.883]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aa26e1a5815b7a0c3b610395c854594bf) >>
+>> endobj
+10746 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.583 479.979 359.035 490.883]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+10747 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 445.815 193.577 456.345]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a3c1e5a2419a5f4a5cf89133606ed1680) >>
+>> endobj
+10748 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.393 445.815 232.581 456.345]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10749 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.059 432.979 248.845 442.885]
+/Subtype /Link
+/A << /S /GoTo /D (main_Cylindrification) >>
+>> endobj
+10750 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 400.319 193.577 410.849]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a05fba1023938607f7c5e345c0be716e3) >>
+>> endobj
+10751 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.915 400.319 277.691 410.849]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+10752 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.391 387.483 247.177 397.389]
+/Subtype /Link
+/A << /S /GoTo /D (main_Cylindrification) >>
+>> endobj
+10753 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 354.449 223.465 365.353]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a8132d1a9b329271fb4f7faeb59c89c39) >>
+>> endobj
+10754 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.802 354.449 298.732 365.353]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+10755 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 319.912 215.176 330.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a4b428098e57a9101473a54cd71a0753f) >>
+>> endobj
+10756 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.513 319.912 290.443 330.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+10757 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 285.375 229.552 296.279]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a7e68bea365fe939d08c91ec4edc61a2b) >>
+>> endobj
+10758 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.89 285.375 304.82 296.279]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+10759 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 249.178 239.804 260.081]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a672b0568e7a27c37b3afde649f7c0171) >>
+>> endobj
+10760 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.141 249.178 315.071 260.081]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+10761 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.695 236.715 275.476 246.621]
+/Subtype /Link
+/A << /S /GoTo /D (main_Convex_Polyhedral_Difference) >>
+>> endobj
+10762 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 214.64 217.109 225.544]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aeb14f5522982b3874f2cd19586813421) >>
+>> endobj
+10763 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.446 214.64 292.376 225.544]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+10764 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 178.443 271.126 189.347]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aa809bff4b85d09cd801e5e5cde1b8c06) >>
+>> endobj
+10765 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.463 178.443 346.393 189.347]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+10766 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.863 165.981 326.259 175.886]
+/Subtype /Link
+/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
+>> endobj
+10767 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.984 132.947 201.742 143.851]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ac93800b9ec7aae75937598e1f2209b1f) >>
+>> endobj
+10768 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.442 132.947 243.629 143.851]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10769 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.079 132.947 371.329 143.851]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10770 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.306 108.529 269.939 118.435]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
+>> endobj
+10775 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10779 0 obj <<
+/D [10777 0 R /XYZ 90 757.935 null]
+>> endobj
+10780 0 obj <<
+/D [10777 0 R /XYZ 90 302.31 null]
+>> endobj
+10781 0 obj <<
+/D [10777 0 R /XYZ 90 231.575 null]
+>> endobj
+10776 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10851 0 obj <<
+/Length 2812      
+/Filter /FlateDecode
+>>
+stream
+x��[[s��~ׯ�S
+΄��/�=�
�M�4��6M�
�HĔX ������ $@�E�M:}�E�ݳg�~�w΂�{��ǫ�wW�_+�(�Tzw�^�=%	�xw
�O0��hL0���`������~��.�E6���g�4۾z�yD?MFc*��f5�s��}t�{Q2��_ƥ�9W��ᄑz{w��+�a�K�B�	o����3�p�[#޳i��8e�w�}���v����rov�($�	E�R�)~�T���缏c�}2��){pƽ7��
����
+��4�&�,��Ӈ�ٝn�	
�ٕ��!�Og��Ǖ�F������1
C�&yqܸwqM���_��<�a=Z
�"�C���ߤQ5�y
%ŤȦq��zeF��uG^��
�1!(Ι�^_��z�Q���dZ���a�ii��?��Ռ+�B|�0P(%7+�Q
Ƥ0��ѯ`j�0�S��n��&X�=�BD����3�*�ođ�A٦XƹmS'dj�(�^ m
D��
nf��a�wӃ��`����}�<�%���1Y����[:C��y�-
����&N
엧�8m�
v/;��-�� 	��0m�\s���1cQ,a�1,{h��������F���|�c�t��f�C�*+#�K�� 
�F�d�6_�dX��
���D�[M���.�k�5�R>�f#���E�?DI�MW�Ť�b�Fq	��k�mZȀ%VS
{���,]�ْE�|����O@�
��@Y
�����
+�	�t��B����#�>��Q�h���
���
y����ġ@@a�0�
s���5>����l
�CëAl��VMOW�/����|	嗀ȉ'`Q��%	x�� ;på��>� �9��E�k��|�%�H]���Q�.��

�'9E���^��F$���2�6f��c�&rC(0sg��V��A���ed}��
�`�<5�ԆT�Qh�t�
e�P[[�'��g����(�J	iٿ��+E.��
�'�PC�����
�$���>�c��	�	>НU|��<����N!ۭ�����s�{�S%�@2(Z�=h�ޅ;ACH�Dm�%mO� �� �w��n�J�F� t��	B)�5CH�'C���l"�XI�c$A ��􄂎���#ʮ$� !y)E�
t�
�m���/M
�;Hnb�
+�#�9����ƫS5	ާ&��u�̏pS�'�^*N�폚�B '�4<�-�aJ��K��a$sP/]�Q��]�]�]��`v8�^�f)��
#ݵ_�Jwh�.��Ɇt��gHw=��L��6Th"}t;J�D��� � �%b,�\!�DE�%9���$�|�����d �2>,
+�����
�(8=
7���(�<���;��b
+,���FƤ_ 
��W}
�{��:K�0�ziC����ȡovHX0iĮ�d��1QGJ���8���a+R�'�H�����!��@Jq)%R��FJ�d���-������_����g�>_�##u�
�
+���9�)<���3���l�H�������ǃq��h�Y���o��84�,;,E�#��@�!�C�,E�f)��R4;U���n���

ˎ��멶$��k5�լ����D�W�6i�%�p7��22�I��!��eUd���v�+i�2�
+�0�m�"E/+�����ݸ�J�4+1 �ݑk�Jh�]

_W_aa��C�j@^��^V�9�|$����]
q���=]r]?p�'k�O��I�CN��CCz���!����9���vc$�
F��Ev��r7�;WО��+���\����=�+p�c!ݺ�T
�a!0p�
�
���;i �'(����L�W�ݡ^L$`5��?v���
�N���^��MID� �_�NB"�2��r?���_DIe_L ,hoN
+^�I!EJ
�ލN�u4���ɣ�� V��(�f��u�����S�,%\Wqw��`��9�^�j$��㪰�C��y��<�}4�`�t�غ��M��x���m��1���b��ɪ�~��
+��./J왆1X$
���l��a}�O���4U>�m�}�ձ�� ���	�o�¨��(�܍ O�n�ɏZ��
�Ɩ�GR�={�L�[�}i�B�,��� ���'})�t���S�mä �tW�j��n��هm^D��S�\���.�� ����f��`�%
Be�Ko�U�q��K��2]-n�t�giY33'�XO�)^<NW��M�=F��w8������?�z�&oC�
+�^<] �$ZW�u���xU�f��ӹ����:��L��,�L�H*Ip�.�6)|˻ت;kzS_Q�s��^�+�՟������wo����O/b2�~�z�� T���-A��,`qZ59 %����y{]�i�:�^y���
lC�
�b�al���EV��0�B��(?�|�0��@|@(
�
x(�C���<a��C��GT�
�
�m�k#Da
+'Bt�_��Q��
܈P��">U�)�F(|j�P�шP{�>uw-��
���w�i�jB�¸���ӬLkS��J�-n�
����E����X���B�IW�C<��&�U�?f�2���?
��e~\T��������73qw�z.+!
+�!ǐ�!��������s
�&ܯ��Y1Z�Gơ5�E��
���*67�����N�I���w��$��Pl~F(B����R��
������W�CB��y��a$ 
����c��N��~��1�C4�\��2׳���W~�N�
+�g-	(ªJ��E�yu}�����9zL�M���z�Y]7Dpm�`]�P�v�4s����6I j��?�P
+endstream
+endobj
+10850 0 obj <<
+/Type /Page
+/Contents 10851 0 R
+/Resources 10849 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10858 0 R
+/Annots [ 10771 0 R 10772 0 R 10773 0 R 10774 0 R 10796 0 R 10797 0 R 10798 0 R 10799 0 R 10800 0 R 10801 0 R 10802 0 R 10803 0 R 10804 0 R 10853 0 R 10805 0 R 10806 0 R 10807 0 R 10808 0 R 10809 0 R 10810 0 R 10811 0 R 10812 0 R 10813 0 R 10814 0 R 10815 0 R 10816 0 R 10817 0 R 10818 0 R 10819 0 R 10854 0 R 10820 0 R 10821 0 R 10822 0 R 10823 0 R 10824 0 R 10855 0 R 10825 0 R 10826 0 R 10827 0 R 10828 0 R 10829 0 R 10830 0 R 10831 0 R 10832 0 R 10856 0 R 10833 0 R 10834 0 R 10835 0 R 10 [...]
+>> endobj
+10771 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.288 719.912 212.768 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_af47944944e16e786df5c0671e7baa995) >>
+>> endobj
+10772 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.771 719.912 252.959 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10773 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.896 719.912 375.145 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10774 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.401 695.329 277.928 705.234]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
+>> endobj
+10796 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.443 662.129 250.099 673.033]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a4f514edad990412bd66cc666347103ab) >>
+>> endobj
+10797 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.258 662.129 289.446 673.033]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10798 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.772 662.129 379.512 673.033]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+10799 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.747 662.129 513.996 673.033]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10800 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.304 636.337 439.335 648.502]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+10801 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.207 604.346 266.586 615.25]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a08e91d11b3deb5b694356b5573d2547a) >>
+>> endobj
+10802 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.509 604.346 309.697 615.25]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10803 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.494 604.346 408.234 615.25]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+10804 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 604.346 513.996 615.25]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10853 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 592.39 171.361 603.294]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10805 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.237 579.762 480.87 590.718]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+10806 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.091 546.562 250.748 557.466]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a50e1047c49fffb06bc5089a06a051a3d) >>
+>> endobj
+10807 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.068 546.562 357.317 557.466]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10808 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.405 546.562 456.145 557.466]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+10809 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 534.607 202.344 545.511]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10810 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.005 521.979 446.071 532.935]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+10811 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.017 488.779 265.396 499.683]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_acbc86683af6afc0818cc9e980a84fcb8) >>
+>> endobj
+10812 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.568 488.779 375.818 499.683]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10813 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.239 488.779 478.979 499.683]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+10814 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.616 476.824 225.866 487.728]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10815 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.222 464.196 466.67 475.152]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+10816 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.933 430.996 239.984 441.9]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ae89cd985111a1a27c60a6fcc28ae9788) >>
+>> endobj
+10817 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.633 430.996 280.82 441.9]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10818 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.855 430.996 405.104 441.9]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10819 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 430.996 513.996 441.9]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10854 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 419.041 171.361 429.944]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10820 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.257 405.203 432.092 418.361]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+10821 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.436 372.01 251.209 382.913]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a371deb67f73bf27ac9a7ff6f2216db9c) >>
+>> endobj
+10822 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.361 372.01 290.549 382.913]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10823 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.719 372.01 409.969 382.913]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10824 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 372.01 513.996 382.913]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10855 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 360.054 171.361 370.958]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10825 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.114 346.217 456.992 359.375]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+10826 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 313.023 224.57 323.927]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a98c785602c5af8f7e0c1be92bb5e8b71) >>
+>> endobj
+10827 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.908 313.023 299.838 323.927]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+10828 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 300.395 347.869 310.3]
+/Subtype /Link
+/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
+>> endobj
+10829 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.761 278.154 199.556 289.058]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a3de85538032f58e387a151ab6a9960ba) >>
+>> endobj
+10830 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.215 278.154 288.991 289.058]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+10831 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.558 278.154 449.718 289.058]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd) >>
+>> endobj
+10832 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [467.73 278.154 513.996 289.058]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
+>> endobj
+10856 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 266.199 244.556 277.103]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
+>> endobj
+10833 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.598 266.199 395.48 277.103]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga84cc2bd35e1437f8df3be984dd1f4638) >>
+>> endobj
+10834 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.169 266.199 513.996 277.103]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+10835 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.268 241.616 164.537 251.521]
+/Subtype /Link
+/A << /S /GoTo /D (main_Wrapping_Operator) >>
+>> endobj
+10836 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 219.375 273.129 230.278]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a90016052cbe535d7e8b1e20a2c599053) >>
+>> endobj
+10837 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.944 219.375 352.41 230.278]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+10838 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.949 184.505 282.978 195.409]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ac26060b9b14465d4f1d948ab9c838c9c) >>
+>> endobj
+10839 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.014 184.505 386.79 195.409]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+10840 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.53 184.505 513.996 195.409]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+10841 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 126.722 255.564 137.626]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ae10fbc38125e63858549f5ec8a25e046) >>
+>> endobj
+10842 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 89.86 255.574 100.764]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a7366f9b91109b63f078e963bccd9f5b4) >>
+>> endobj
+10843 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.912 89.86 330.842 100.764]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+10848 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10852 0 obj <<
+/D [10850 0 R /XYZ 90 757.935 null]
+>> endobj
+10857 0 obj <<
+/D [10850 0 R /XYZ 90 143.823 null]
+>> endobj
+10849 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F107 2332 0 R /F97 1188 0 R /F105 2458 0 R /F41 370 0 R /F106 2337 0 R /F37 2638 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10915 0 obj <<
+/Length 1918      
+/Filter /FlateDecode
+>>
+stream
+x��ZYs�6~ׯ�SJ��0 <2mg��I&mf���Cӌ�a��x�����wq�")J�l9G���� ����.(l]Z�z>yr69y�a+@�K]���
+��qJ���zg�X0=&c���`;,�p�zJ��-VW"*��o�y�Ǐ�_O�og��rl?]�e�o߈
���t.`^���f̟�?{9��l�τ�f�"J�!���<��{���ia���TR�Ũׅu:�}��U���2�|��e�J�0�p�Qa�kS*��25zV�����^k��#߅9��_;Z(h�0�b�����R�tևe��k!�-��g��zQ��م�γ$��������]�Oťq؛��x��͟�9^ƑH�(-��aD�E�"
2�"<a����a
�C8r�Ff50
GN�OԱ�=y����
�s}���C)�{��ox�h�k9��"N�JD3�♘n�[a�-�*��Y�P�� Gr<�Ҳڽ�k�@��$�~��B�
M�9\F��T�a�V��UY��;�����
��#���T�"L� �֮���@&t��P��"�<@؋8h�
�A/
+z�^z:�oIO�j��C�'C
v:�)Wm��,�S^[���ە�R��HK
�;��DR�~����DZ�
��-)�"�qv�������
�HV�
ׅ�cz�ǎ`�,�wUWB��J�ˈ����0�ϳ�4ڟ"�"���`g��Įv��w��Ԥ!
Ɯ��B��A�K!
 Ė�
�f�aR���K�j�,�����m����$
gथǑ���ƒ�
��dA���I2�{d��3�,$�|�d!z��Z�-� �F�Rl;
ȧ

ܒ���\���:��7K�o�w;����>l��
��OPz7`�UzK�}viB}�N.K`��
�
q�F�f8
��� �H/�������wd:HQ �}�G��s�
+����11�
1���:�
1�-���T?�
K��
+i;|�H�c�C� �D�p���i� �>ZIto�wܦ�݋(�D!Ŷ�|�������n%
+5�$�>?��
�:�r�!h��Ǿ�M��� CȦ��k�L-��NU�"
��B��x%�s�\-��:����m�Uhj�W���dQ|�ZW����8�F�놺po���`1�ʫ/N�p.:�
+j.���Q4+媳�V��A�g��h[-�uN��eV�r14>K5�wx ��DR��� 2@��\��G��{�}��׷k�Z�n�3�^�y�ׯ�o^-�iO���M+�z}x����0s��������r0��Ӎ�P��D�0�Ҭj�Ƞ��bQ��<�D
+���	
����H�Æ�F1��ǡ��,�`�~>� �ċ
+�M2UCE�N�<�A�w�s�B$�̨�OlP�=`�V�qx���T
r�#P*�����(#$W�{�b��2��Bk��3ۅ���7� �s�s�^Ю��+Q���}�*�f�r��}��N؜�3m�h��};P�j9��u��ٺ�mV��:�3b��袼;pK�(5B�-zz
0��hyh�6\@�]�n�8L�Mj��݉�ζ&D���b	�����
b��m��MC��p_o$is��Z� E��Y�*
��í߬��@�
��x�}T7.3�0ߓö��)���cQ�L<g�a�/����m�&�����W
�$
w{&���kŧ�ONl�D)��v/���Yg�nv�)���n�
��7��S�G����|���aĶJ�y�1��XlC�Pe_�G+
+�Y��@]�Q����|��qq��q
e�"��9Ш~���h�ن&�DYm@���L�Wy8��ꇗ�w�Z����s�F����I8��+������G)���ۭ�>J�kґ��K��
��D� S炧�6_���� [...]
N/j�M�B�<|��6���ն�
+endstream
+endobj
+10914 0 obj <<
+/Type /Page
+/Contents 10915 0 R
+/Resources 10913 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10858 0 R
+/Annots [ 10844 0 R 10845 0 R 10846 0 R 10847 0 R 10871 0 R 10872 0 R 10873 0 R 10874 0 R 10875 0 R 10876 0 R 10877 0 R 10878 0 R 10879 0 R 10880 0 R 10881 0 R 10882 0 R 10883 0 R 10884 0 R 10885 0 R 10886 0 R 10887 0 R 10888 0 R 10889 0 R 10890 0 R 10891 0 R 10892 0 R 10893 0 R 10894 0 R 10895 0 R 10896 0 R 10897 0 R 10898 0 R 10899 0 R 10900 0 R 10901 0 R 10902 0 R 10903 0 R 10904 0 R 10905 0 R 10906 0 R 10907 0 R 10908 0 R 10909 0 R 10910 0 R 10911 0 R 10912 0 R ]
+>> endobj
+10844 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 720.235 373.782 730.141]
+/Subtype /Link
+/A << /S /GoTo /D (main_BHRZ03_widening) >>
+>> endobj
+10845 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.609 697.994 306.641 708.898]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a281b8db6a8e0014ab2c41dd15f8c0708) >>
+>> endobj
+10846 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [338.997 697.994 386.927 708.898]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+10847 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.169 697.994 513.996 708.898]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+10871 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [312.079 673.411 390.169 683.316]
+/Subtype /Link
+/A << /S /GoTo /D (main_limited_extrapolation) >>
+>> endobj
+10872 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.268 662.452 208.508 672.357]
+/Subtype /Link
+/A << /S /GoTo /D (main_BHRZ03_widening) >>
+>> endobj
+10873 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.637 640.211 311.746 651.115]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a1a3647877302fc6e0e583b8b881a7a4f) >>
+>> endobj
+10874 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [342.158 640.211 390.088 651.115]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+10875 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.169 640.211 513.996 651.115]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+10876 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.894 615.628 392.558 625.533]
+/Subtype /Link
+/A << /S /GoTo /D (main_bounded_extrapolation) >>
+>> endobj
+10877 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.268 604.669 208.508 614.574]
+/Subtype /Link
+/A << /S /GoTo /D (main_BHRZ03_widening) >>
+>> endobj
+10878 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 582.428 236.197 593.332]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_af074d4d4d406dd065812b32cc8714222) >>
+>> endobj
+10879 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.534 582.428 311.464 593.332]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+10880 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 569.8 359.338 579.705]
+/Subtype /Link
+/A << /S /GoTo /D (main_H79_widening) >>
+>> endobj
+10881 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 547.559 214.06 558.463]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a6e9d9dd7740b414d407c16687c99a88e) >>
+>> endobj
+10882 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.398 547.559 289.328 558.463]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+10883 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.871 510.697 284.525 521.601]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_acf531d280805472a54c22fed0f689932) >>
+>> endobj
+10884 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [311.405 510.697 359.335 521.601]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+10885 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [399.78 510.697 477.607 521.601]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+10886 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [312.079 486.113 390.169 496.019]
+/Subtype /Link
+/A << /S /GoTo /D (main_limited_extrapolation) >>
+>> endobj
+10887 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.268 475.155 192.566 485.06]
+/Subtype /Link
+/A << /S /GoTo /D (main_H79_widening) >>
+>> endobj
+10888 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.197 452.914 291.929 463.817]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a9764ef2f159cfdcca3f151e899bd43ef) >>
+>> endobj
+10889 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.46 452.914 369.39 463.817]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+10890 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [414.041 452.914 491.868 463.817]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+10891 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.894 428.33 392.558 438.235]
+/Subtype /Link
+/A << /S /GoTo /D (main_bounded_extrapolation) >>
+>> endobj
+10892 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.268 417.371 192.566 427.276]
+/Subtype /Link
+/A << /S /GoTo /D (main_H79_widening) >>
+>> endobj
+10893 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 356.584 289.866 367.488]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a527e7c81841bbcf1963c6e260dadfe01) >>
+>> endobj
+10894 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.681 356.584 359.324 367.488]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+10895 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 321.715 290.971 332.619]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aa6b6fed08414c86d33fc4a44c59e9e22) >>
+>> endobj
+10896 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.787 321.715 360.43 332.619]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+10897 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 286.846 224.003 297.75]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a87ebe6f7cd176227f61c6d0fe47a4f68) >>
+>> endobj
+10898 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.34 286.846 299.27 297.75]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+10899 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.695 274.218 272.49 284.123]
+/Subtype /Link
+/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
+>> endobj
+10900 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 251.977 254.15 262.881]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a3065d01256aa333117e0ee24d99b4431) >>
+>> endobj
+10901 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.487 251.977 338.263 262.881]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+10902 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 217.107 284.585 228.011]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_adee3b5c0c3800ce2214e68a156cbcf77) >>
+>> endobj
+10903 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.401 217.107 354.044 228.011]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+10904 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 159.324 241.726 170.228]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a787615432c9f1d6aac5a6394aea8cfa9) >>
+>> endobj
+10905 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.617 146.696 407.658 156.601]
+/Subtype /Link
+/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+10906 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 124.455 249.318 135.359]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a6b737abc8f33b2a2362e3f9c9ab08d58) >>
+>> endobj
+10907 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.134 124.455 288.321 135.359]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10908 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.875 124.455 371.519 135.359]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+10909 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 89.586 240.62 100.489]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a418f9959fe50f163773ad9de147821ed) >>
+>> endobj
+10910 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.958 89.586 324.734 100.489]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+10911 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.313 89.586 389.5 100.489]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10912 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10916 0 obj <<
+/D [10914 0 R /XYZ 90 757.935 null]
+>> endobj
+10917 0 obj <<
+/D [10914 0 R /XYZ 90 564.659 null]
+>> endobj
+10913 0 obj <<
+/Font << /F70 402 0 R /F79 505 0 R /F107 2332 0 R /F97 1188 0 R /F56 367 0 R /F23 368 0 R /F38 2120 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10956 0 obj <<
+/Length 1646      
+/Filter /FlateDecode
+>>
+stream
+x��YKs�6��W�J3
���\ڴ�$Mf�؝
��"!
�JPQ�_��2C�
+��&(������]�غ�����׻�Ս���Ԧ���
+��S�<�Xw��nL0r�ɔ`�dz	�cV�l>��x�'��K6-%+��׻?OH0γ�����E¤�÷|��g<�8�u\�]X��ݫ��w�G4��5�|�;���w���,��0�6���rm��u;�k��U���2�����J�bd�з
���M��<P?6�V+��`��"�yf�L)~u���q�� ��k��X)��:����f�Ȫ|HE$t�I1�Ր$���ˡڕ�|�\{�OmLQ�9��	��R-ꍐO��|m
~�� X�o�YTվ�]��ƣ;���\�_�}o�^OIxyo��� ��� �4h
|���`!�u��Da�=X�zW+�
{�Ƞ�zΥȵ]
�n���0���!�	9��S�F�%�5$�
���
�S�'�g}'k��e��ҽo�ҳ�>jl"`�gk�n7�0aO�nH�
"��;a�"
+�9�J
��FT+
�E��\o�ѓBi�o${�ގMS�t~� �)z���,cX�ѐ
R�G�n'D�d�E?wME�i�*�H��xc��>3�1�1:L���H�y�N�����"�:�Y����JQ�&�e]�EA�����눗�P�`Di����틗/���8���"yV1�/��|9P!�:/|
+z�"~ZM�[�FPz�2G
Ƕvs���T;��>x#ַ�98�S�h��'�S]���\��3��pmq���O���&D69?I�������o���d��06�]��e�����+9�6?���2�i1�����'9�_
���0E�5�dwm{��M@:a�=��p7��D�y5��y�L�Ō�V"^G<ֿ,��}��w��Ab�b�3�"5Q�hB�}�������3f�A;@
+��^	��(�k�c��d;񼦡z˫u�ɁU|���h�㛧�٨���K�\'?��m�d�
�
����
6��FH�&���+I�"
��V�Ӽ�Υ��ϫm�����[Œ�yWd��VU�˦�ʇ��Z
��n�uK�m
r�콨�7�h]���`·���~�	h���7���/�������]��wo�V�;�N�CQ๧�IhW
{^
��+&W�(��%�Ss2 
�Ǟ.D5i�h��
Tˮy ��7��dEn�tAGD<��*Ñ�z�^$���s+�*�n�isB�_�=o��>��)�<����_{�UG�
�s���!2��"]���@M%&�Y,w�<��M�=���
`���I
U����,��$u�9�Ԃf�GJ�m��y�ǒ��r++��K�4�ň8��;n�E&�^ĠΪf$
�q�2�B ��]��y��Jw��r�N�*����y�y5	�C𴭪�D%X�j��z�J�+R_C�"�������b��Q
�E\qaR��2Ⱦ? �nW
�j09˫��5�A��Վ�v$8��]�q �(����"���wM���$R��gi>^�[�R��-y���m6_�X�nv#
+�OJ/�*�&��ޝ��
+ڮ�V3�S�j�hK���fUU����f�A�D�L%�UQ$W_v;R &��R��N�y�v��cZ�1<���?�3T
+endstream
+endobj
+10955 0 obj <<
+/Type /Page
+/Contents 10956 0 R
+/Resources 10954 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10858 0 R
+/Annots [ 10930 0 R 10931 0 R 10932 0 R 10933 0 R 10934 0 R 10935 0 R 10936 0 R 10937 0 R 10938 0 R 10939 0 R 10940 0 R 10941 0 R 10942 0 R 10943 0 R 10944 0 R 10945 0 R 10946 0 R 10947 0 R 10948 0 R 10949 0 R 10953 0 R ]
+>> endobj
+10930 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 659.449 180.773 670.352]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a0c58bbc8bf8db5f570da3db42a0ae2f7) >>
+>> endobj
+10931 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 622.587 167.466 633.491]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aca90e7afe251a0d4174dcf538b34006b) >>
+>> endobj
+10932 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.281 622.587 219.211 633.491]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+10933 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 587.718 193.029 598.621]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a547a8d96908afe5a7f9e4ba2e10d7ac8) >>
+>> endobj
+10934 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 550.856 193.029 561.76]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aefab726809c553c136e5d8fda50c276e) >>
+>> endobj
+10935 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 513.994 165.911 524.898]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a1d7db8ee4d8972c1818a36d6517ebbff) >>
+>> endobj
+10936 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 477.506 187.689 488.036]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aa38fbbd15d5dc2e98d5b24c92b06c290) >>
+>> endobj
+10937 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [352.557 463.508 476.544 473.413]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aefab726809c553c136e5d8fda50c276e) >>
+>> endobj
+10938 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 429.312 202.902 440.215]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+10939 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.4 429.312 300.037 440.215]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a6c7c72e56241da463eaeccdff79b6d49) >>
+>> endobj
+10940 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 392.45 202.902 403.354]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+10941 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.4 392.45 314.263 403.354]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aa78179b1d8478dce6cf572af8e0b9cb4) >>
+>> endobj
+10942 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.819 355.962 199.864 366.492]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a86d2bbceaa288f2f605ac88516d313cb) >>
+>> endobj
+10943 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 276.818 203.075 287.722]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+10944 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 276.818 296.324 287.722]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a73cb0d61cccb259e06b68d4f83deb6d7) >>
+>> endobj
+10945 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [312.377 262.197 355.085 272.103]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+10946 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.636 237.964 287.856 248.868]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a3b49993a1cd4fc6891da88a6259b9f93) >>
+>> endobj
+10947 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 199.483 194.297 210.013]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aa39bdf85d6db02629fa73bbcaddab6d5) >>
+>> endobj
+10948 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 160.629 188.759 171.159]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ae58a861a42c5216a2267e3f94ecaec8c) >>
+>> endobj
+10949 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.636 121.401 294.481 132.305]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_af496ec55802726ee3b39e52458ab0647) >>
+>> endobj
+10953 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10957 0 obj <<
+/D [10955 0 R /XYZ 90 757.935 null]
+>> endobj
+10958 0 obj <<
+/D [10955 0 R /XYZ 90 676.43 null]
+>> endobj
+10959 0 obj <<
+/D [10955 0 R /XYZ 90 604.818 null]
+>> endobj
+10960 0 obj <<
+/D [10955 0 R /XYZ 90 567.957 null]
+>> endobj
+10961 0 obj <<
+/D [10955 0 R /XYZ 90 531.095 null]
+>> endobj
+10962 0 obj <<
+/D [10955 0 R /XYZ 90 494.233 null]
+>> endobj
+10963 0 obj <<
+/D [10955 0 R /XYZ 90 446.412 null]
+>> endobj
+10964 0 obj <<
+/D [10955 0 R /XYZ 90 409.551 null]
+>> endobj
+10965 0 obj <<
+/D [10955 0 R /XYZ 90 295.792 null]
+>> endobj
+10966 0 obj <<
+/D [10955 0 R /XYZ 90 295.792 null]
+>> endobj
+10967 0 obj <<
+/D [10955 0 R /XYZ 90 257.057 null]
+>> endobj
+10968 0 obj <<
+/D [10955 0 R /XYZ 90 218.203 null]
+>> endobj
+10969 0 obj <<
+/D [10955 0 R /XYZ 90 179.348 null]
+>> endobj
+10970 0 obj <<
+/D [10955 0 R /XYZ 90 140.494 null]
+>> endobj
+10954 0 obj <<
+/Font << /F70 402 0 R /F79 505 0 R /F97 1188 0 R /F56 367 0 R /F23 368 0 R /F107 2332 0 R /F106 2337 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11009 0 obj <<
+/Length 1645      
+/Filter /FlateDecode
+>>
+stream
+x��YYs�6~ׯ`_\q�� ���I:Ӥ�'i�V;�$
E�'�BB��_��AJT�#��q�$����ow��13�q�{6�
�<l(p-�]6<� jc45>�	FN`Ƹa��4
_����jΦe8~
Oʰ\��n>6���3s`Q���U�����w,�ȵ
��
��O�W��ޗ
ͰA�&�C�M�(�}���)<e`d����Rñl�M����=�wW���Kծ.�z�E�M�boX:���l�E<γJjU�
�QwC&q�c�����[��hY��Fm���=]���*l��&ڜo�1�#�cy��VJ-.����w�s�qʲ
+t�U��dg�t�̪������g,ce���E�`!��9Φ�6��~m:/0|0���	�9�1 
+
G���"N�$��)j(9���<�����ǜ�AU�(���U;�Pk
+V�U�S�
n
��^r�n���|���
9Y�2��<O�D��6櫱
+�aQk��_޾?������^���ŝ�J�� �$S�hF`�r�
�����ΰ[�~��bwa���ժ�,�tbT=@�\�ikb�����z�#B�
y,��X7
s�"a�U���ˬXt��"MW�OS,e�
� N}�Qv�JR^����Q�L�'��t�L~0������7�
ʳr����G��
9�*�hb��
��z��!���OԌ�$Q�k$q��Ts��g�i�ƒ�4@ I��y����؈
CP o%�
N/����3|�`� !���-sB�� �ly-;
�
4HԶ�E����-,@�����=����
p�+tP����#6r����[�o��nij�/���M�<ٟ�D�!���wd�w�~��clijL�r����%9��&JgN��
�d
�'t^��l�q������q�洕��פ�0�v�!��U�Yu�k�zBj,M�V�^wg�!�'
+�H��۠E<�|�ޏ-��yO4�e^��<e�
�v j��.�E.h�
���dX�!l�_1���,{co�C!
NmY ��7�.T�+��ҍ

t�w9t+�\�j0�$P-l��y<�s�U]xvm�1���!@;��I�i��B�	�Dx\����x�e� ���z�y�Zs&�A���[y$"�a����
��
�*�/�,��KEy�"Ϧ��|���u�<&�� I��\�MD���[!h;N���޾d��L;���.�"'����m�Y}���h��Se�Y�_�G�����Wp]�R�;��dQ���i�
u�;��h��
��&e>y������Iq�*��ف�Ȕ� �-��}���3�U����B{g���q���;���{�H�%㋲�V���6�\�]%�I��n�D�W���z«���A�j��6`
A)�є"T������@�b��5�jج �7r
+J����)\��WKySSlK�jF׹Z\�P}��q��TB�ɾ��'[�����x�vu"W� L�Y�

�u',3a�T�ܒ�f�@���\C�c���u@ƅ�ʉ��}7�f����V���՟?*V�hR��Mٛ0[@��d�!���6���D�e�\��rI��Q�~^�6�%>�kBr�yq:
.�KUh��E�b>,�d�u�ڐN����G㼮�q�PT�;��� U*
+endstream
+endobj
+11008 0 obj <<
+/Type /Page
+/Contents 11009 0 R
+/Resources 11007 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10858 0 R
+/Annots [ 10950 0 R 10951 0 R 10952 0 R 10973 0 R 10974 0 R 10975 0 R 10976 0 R 10977 0 R 10978 0 R 10979 0 R 10980 0 R 10981 0 R 10982 0 R 10983 0 R 10984 0 R 10985 0 R 10986 0 R 10987 0 R 10988 0 R 10989 0 R 10990 0 R 10991 0 R 10992 0 R 10993 0 R 10994 0 R 10995 0 R 10996 0 R 10997 0 R 10998 0 R 10999 0 R 11000 0 R 11001 0 R 11002 0 R 11003 0 R 11006 0 R ]
+>> endobj
+10950 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 697.247 161.84 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ab6ab1820f2fdf444d1431ff3af424451) >>
+>> endobj
+10951 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.559 697.247 297.202 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+10952 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.765 697.247 456.154 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
+>> endobj
+10973 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 658.393 161.84 669.297]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ab4959b3da46291de301d9150f5afc3aa) >>
+>> endobj
+10974 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.178 658.393 237.107 669.297]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+10975 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.672 658.393 330.138 669.297]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+10976 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 619.539 161.84 630.443]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a858e0030826ee6c29545a934166874ef) >>
+>> endobj
+10977 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.08 619.539 332.907 630.443]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+10978 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 580.684 161.84 591.588]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a1cecffe684d1faa9b0f6b8d4f227e9ae) >>
+>> endobj
+10979 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.559 580.684 309.386 591.588]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+10980 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.915 580.684 390.859 591.588]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+10981 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 541.83 161.84 552.734]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ad6d1e866b7ba9bf4233f3a5254cda0f9) >>
+>> endobj
+10982 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.08 541.83 331.224 552.734]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+10983 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 502.976 161.84 513.88]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_afc2a04d2049183cddbcf70316fdf40e7) >>
+>> endobj
+10984 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.559 502.976 307.702 513.88]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+10985 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.789 502.976 389.734 513.88]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+10986 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 452.166 161.84 463.07]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_adad834921ba7c139b0cb10c507b4070a) >>
+>> endobj
+10987 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.33 452.166 274.93 463.07]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+10988 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.471 452.166 316.198 463.07]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+10989 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.567 452.166 431.033 463.07]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+10990 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 401.357 161.84 412.261]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+10991 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.58 401.357 213.387 412.261]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_af15f956dac6d4b19ecd8fee0f9718f29) >>
+>> endobj
+10992 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.724 401.357 288.654 412.261]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+10993 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 362.503 261.944 373.407]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aa4fa3b0975b2971f5a2cbc5bc9621a81) >>
+>> endobj
+10994 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.281 362.503 346.058 373.407]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+10995 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.848 362.503 453.314 373.407]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+10996 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 243.503 226.034 254.406]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ad84befb6d0ded481871cbef1b7306824) >>
+>> endobj
+10997 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 243.503 369.106 254.406]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+10998 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 204.648 178.239 215.552]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a8af124edba7c75bc76ec394405aa893e) >>
+>> endobj
+10999 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 204.648 253.506 215.552]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+11000 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.239 204.648 343.169 215.552]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+11001 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.071 165.794 160.437 176.698]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a67a7d08f3cda46f7a743d46f3a6f33b5) >>
+>> endobj
+11002 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [168.409 165.794 327.421 176.698]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+11003 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.984 165.794 513.996 176.698]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+11006 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11010 0 obj <<
+/D [11008 0 R /XYZ 90 757.935 null]
+>> endobj
+11011 0 obj <<
+/D [11008 0 R /XYZ 90 716.221 null]
+>> endobj
+11012 0 obj <<
+/D [11008 0 R /XYZ 90 420.45 null]
+>> endobj
+11013 0 obj <<
+/D [11008 0 R /XYZ 90 289.755 null]
+>> endobj
+11007 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F38 2120 0 R /F11 446 0 R /F107 2332 0 R /F97 1188 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11031 0 obj <<
+/Length 2496      
+/Filter /FlateDecode
+>>
+stream
+x��YY�۸~�_��P���
�$U�+���ؓ�x�\	I�%�KR�(�>��/q��}J^D
�Fw�C�c�,�z{��ǻ��#�JDz����NJBWHϵ
s��:"HVk�q
���u�9��߯<Ǯ��ʛ��_�M�6�����ʍ�\�=��oi�R��*=��L_?�
Hw���w�=��|�d��jId$"_Z����O�����#�$�Κ�h�߃����w�M�<_8�
i%\��[ե�A�$͚ᷪ��
+�
���^�#N����	1z܃^ۛ�խ��XY�V
52�8�ו+m�?O4^���w���xT���#�jK��lE���P͎-����I��|I��0z6�U7�Ue�b�,�/�O��f��p]�H6)�'���ӺC��S8imI�
Y2
e�E��@�c�"��	"�&��E��K�!"`=�Z�u�
|�n$B/��o@�(�*�,��Fѷ�UV��8��
�-}Uj6<F$+����:R[
��ʶk҂��-��*U��E[�B:�R�cIŏ`��?�x�2�K� H���2ԛ����T:�J���̉���˼���������m��AQ��X�
\J�[�6���ѱ�L$K@|ܧxsd���F���1M|)��'A
=��
�^��artx��0!� �Ӳ"����A�G��à�/gG��i�"W��˖�v�
�55��Y`�k�1	
iӢ�	|�Wk�h�Z�fبJV
:��Oe��
u��^p.�g"�Z31�Ͻ��e]��P �zi���x�(:�8eql�8�� �ѭ\Ō�
+��/����b���ԩ���i;��F�XFԿ�e]4ծȴX�YA��[ۨ�j�ܱi��
���_f����0���
/�
+4K�!��<�Ļw7���&���d!�����ʶ���4���[!�h���8>x��$1�I��$����x
1&��sx�>�A}�GR�B�r�Z:-�D6��z�!
�vZ{���@#2�����'����}�p�
���\
�/EU��\��p�U�jv[T��s3���'Ә���-�}��ڕ�8n�f���
+ �������j;h5:;�9ا[�|!#A9	��HM��F5D�>[��X%�,q4������2�x}cb���G��`��[c�&~�#�jUG

G� ���)R�q��@u���#?��
�t��D$��E~3Eɨ�*�f����D��b�˜Gsn�v�~il�`���
+c1l���e�U�N�b6��V���qEb2�D/�M`�unR�߅�dA����
�ksڈ��6�ɢN8�1���9M��
�#1��yan�
�}Z�T�z�@b�!���LMC��9e�-�.0���l?�f�C�3��US �Ȧx�b.1���;��	�آ`Y
�>%JHV8��ge�^��Pl*�<x��

=m�3��rb�{�W�7Y/a��YI�3���Ά���yC���[��/@
��s
��qJs��~���
0s�N
��ҨYʍ
/g���b�f���1�N���$�0
+-Fb�>Y�-�\���bȓ��7kW�2b�\#
��"7lMi9�����zB����:pEB��J��*6�F��
 %mX����(/�P�&CE�+ᨺy,�S�g
+r��"F����wU�+#s
|�թ��
� ܴ-���'��(4p|�lL9�Ӱ�N��"�[5�z�3���
_z�!�M62���
��68
��9>�5_�
Ճ�T��RӪ+�/$��n�̞�ɋB��g����r��`dܭ$�מdQ71��?����E�ƴɟ�o�
ٟ�s�>����
v����wb���1���n
� ��^O
�@W<�. ިO�/����#<b�3����	�̕�����Áҧ�a��Z�` ~
�(�|_���Ϯ�l��:���9}€Іb¼Ni/H�^'s����������
�,)��rE.T;.�eS���G�
FЙ4eU�'�!V�4��g���
$^uU�=�(cV@]���*ʅrˋဆ�n�y�
'U��b�
Qa^�;�n�X�%�X)�Ăm�	i�JJ�,��G�N�;/B\�0`�0����珼9b"k'��ͲVe�,��'�����,ؖ���W��v����./�i�^�I�=���~��|�
f$(����yΓ(�7q��w0lM`���-��J#4xO��
��Ҧ����Q/�i�,~�DZ��ݵ]t���Pi;v�Ƈ�r�53��dvC��ܯ�[#���v��w�ï+ �v�T7����ɜ~�'��Ş5f|�����<_$�K�#
�(&@��`d֗�)�w�Kb�s1o/�)�Mk�����׬���ٵ�Qw�'b� �K�C��
��B��p�d0��O�C��7��C��]�O�:� 
�f%�ͷ�oiy2�֨��r���6	�-��G���5B��X��r��n�A�K�}������Y�s���nD������:�qq)Ea.}�u�L&V���>�
36� �
�
+endstream
+endobj
+11030 0 obj <<
+/Type /Page
+/Contents 11031 0 R
+/Resources 11029 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10858 0 R
+/Annots [ 11004 0 R 11005 0 R 11025 0 R 11026 0 R 11027 0 R 11034 0 R 11028 0 R ]
+>> endobj
+11004 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.71 695.563 375.64 706.467]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+11005 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [122.445 654.028 277.732 664.932]
+/Subtype /Link
+/A << /S /GoTo /D (main_representation) >>
+>> endobj
+11025 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [443.233 600.539 502.79 611.443]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+11026 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [100.734 588.583 174.677 599.596]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+11027 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [402.44 517.161 513.996 528.065]
+/Subtype /Link
+/A << /S /GoTo /D (main_representation) >>
+>> endobj
+11034 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 505.206 156.301 516.11]
+/Subtype /Link
+/A << /S /GoTo /D (main_representation) >>
+>> endobj
+11028 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11032 0 obj <<
+/D [11030 0 R /XYZ 90 757.935 null]
+>> endobj
+11033 0 obj <<
+/D [11030 0 R /XYZ 90 733.028 null]
+>> endobj
+11029 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F31 506 0 R /F10 507 0 R /F11 446 0 R /F23 368 0 R /F79 505 0 R /F7 541 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11038 0 obj <<
+/Length 2181      
+/Filter /FlateDecode
+>>
+stream
+x��Yݓ��������Z�/@��R�l�^��65�u*����bl<&��C8
�_��Z€�o6OyI�V��4x
+h���_�7��c$$�x,7AB�8b$�,X���f����R:��3:K�]�p?�tV�m�n҇��&m�ww��9S���/xHgo�Tk|�1�dv-+W�2
+g2���߼[��r�@20+I�X��jw���4X���%"Q��R��<�����o�ӊ^�N%�R�<",����tW��rx��è��)�$X0�
+Cܽ��N��٦*�j���!/�pjU���1�>/�ڌ�,-q~_>V�r��qX;�U�g�4���r��l+|��ئ�f��&��q^n�
֓[Ș�$���?"I
D$��21aI1�G�����8X�����͞r��� N�O�����,�^$܍��Q���^m�J�%��V�

qrH�A�$��+	�݂ED�پ�X<|t'D�+����
��+M�RgM����)��->)̱����>����E�Z��R�����1����^�n�ș�	��X��2Ob�f��f���t�so�86$����2Q��b��&�]�X�iӺ3A��ڍ��Q�6j`�)+�&m�FO�Z��*�
�'�r2/�fP"8z��aHv��`��kGY:�&=�6j��*
��IO���<u�n^��T�����t俷
�Ċ���A��n.H®�|4Qu��c@%�SN�$��
��"B�x������
2�.��N��wk��,�"<�3f�&j�xUm�8�Lj�|��A>�J�w
"�nTCb��y�Ha�I]��g}��t}��H5L���ޢ


	Ԣ�F��/{���k��10�W_Sɢ/V2�=��w�8
bTq.�
������ANV3��KH=n�sܖ
n�n
����m9�m�p[N�v��m9�m��<�����8}:�,j|��:�Fq��IW�k#!2����E��FZ�MU7yں�^��c����4x�����Q�p
E^f���H�����@|��w��z!(;e&P�C���.�+/�U��)y
�O��t��σ�S�'-@
����**��H���y�v[ퟶ~�Q
r�� ��7��
+'�m��~p{w{�:��5�`#b�����l��[�@��묗q]�AI�h���a��m�=-~����8�џ����p��Z�wH��վX��1�us�1c������-�
+�2aR����\*s�J��±˚��
+]@F:"[r��H=��./�]�k����1�ʦ[��,7�ǀLW��}�X汰��u4
+L}��7�0�B�1�8�7����=�%�.Rwzꗇ�5	
b���
�������*���״�}X��θ�1�	d.�D�d���/u6l�����e�k��[d����
g=�f_���X
x_��\���leyX绬԰I? $?d�G��y���
����~AD��^�{��~�!췮_x�ٸ����+@�&A3��w=�#��-�Y
|ހq^��[t"�Kş��F8��ѱ�;��0�&�ܑw�O���֚�!��"7�iV��
,G<�$QCHq�1�Pho�
��y
n�|5�#�gg����F{P��o�Y�jsѷLˆb��$Q��7Q̯�	��K��ID 2�O��i��
 �ϛ6kʱY�b=c�r���F%썴g�ӷ��G�.��ruPrv��(�@��e"\��e��n1���
W��:��>K�������!����_B�NL��w��Ǔ�h�
nNxK�i��QM9
+�D_� x΄

�E
4»�$=��J
�Gf������D&���qR
z�&l�ȹ��NblB��d�̻/_�cJ�\w	�0�����
�;[�S5�������(1y�(���/�@���E��\�Z?3�)
+��1���M��~�bڸ��g��p�f?��-�0��
$>6�^���˄�(y�ž�9�A;y��@�T��ꑼ��ݕv���5�=��A3�ep�(�
�&0�� �ӣ�OU�;��i8G
�o
�s�#”�a�1~�`2��������E���e�����
��	�W�����༓P�"���6��������?�8t�!q��uuWSHK��N_h|k�݋(�>�	����eNE��s����w��)n�`q۶�����p +M�����u]ܞ�
�u�u���\^�&�_�`rgo�g��/$��1
+endstream
+endobj
+11037 0 obj <<
+/Type /Page
+/Contents 11038 0 R
+/Resources 11036 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10858 0 R
+/Annots [ 11035 0 R ]
+>> endobj
+11035 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11039 0 obj <<
+/D [11037 0 R /XYZ 90 757.935 null]
+>> endobj
+11036 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F31 506 0 R /F7 541 0 R /F72 404 0 R /F23 368 0 R /F8 540 0 R /F1 580 0 R /F11 446 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11043 0 obj <<
+/Length 1828      
+/Filter /FlateDecode
+>>
+stream
+x��Y�r�6}�W�Rm� H�����'�4�qc�3�$��MJ�"���|}^M�r.m:틄�����;
;�G?_�N���	P�)w.�N�
��(q.C��`��)���'�e����	��,�-�0��W�U.���i�yB�8K'S���i"���D�H�E�u�
gc�����/Gg��#�a�hM��|�9׫����	�����g�G�
���8�_G��
+�ݝƞ�S����n�j�DF=���&8y�xK�����hb�H_.��<K�lB�x�
�t����X�.k������{=�Mz]�`@�6A�jjj�Z9��i4�Wr��
�}&$������}�>
+|L�Ȕ��v�#ϵ;}:;�G����?���0�����^�_�
�Z�ȫ��^"��E�F�,�\	��8-UkB<��E����
h�i5ߚ�̟�.
+9Dz��l�O �yF_���u��������������
+BL泳�u
E\E@uS���u5�:���z+dՆo���jEzq
S0Ц�/@
@��P%�aBظ4�e
E)�RC���[��ꕼ��?ldnc�A "�6��QV��
Sq��
Dn�ЁMy`8��(��K�F��,-�0ʣ��o��<�W�Au=1i�GA
�+�n���04
{�s��;�i�pF4�;na�����>
v*ܞ:��
f�9�}�돽�	C8��
����IBP E6�9eUm��UM��,Ãq!WV�:qݝ˴Hd�l��Y[L-/��]�u�G�2Í����au��g�xn,���Ӡu���٤@��<�Q���j/?Z͡��l)8�O�

_����9=ȝ�G��>�݀
 �>2K��ҟT�C��'mOsy��T��n��k��$��l�˕i���Ҍ��\FʯL9Llf��q
+L��M��ƍU�	j�{��dWI�a��H�zJ
BԺ����j

+I�FC�����>��fD�!
����q��
b0䁢�d��.�U�iշV�03�4+M�a��"S� ��*��XC��|?a�	E�i�:%���N|��^4���q/���Bkl� ��
G	(Tx7
����
+�h��z�,�3
W�/��"KU�
^"L4�ޝ�s#��K
�$������Ѝ�|#"ڻ����5�7p| ���09�N��=H�.�w-�d��f
�`��G�����w��U�su��D��}�nE�)��gZ�P(��3�k��x�9C~�72P���]�,H{ ���dS�ݕ
�4[ũ�T�!yk/�%bCx
c�B2�9A�0�F��9$�e\5� ��m�j��|��1�|�=�JaA�.t�^�6���J8���=�暣��
U���ij��qM�%�
�<�J{��Ӓ��T�b�<���ȁ�c��y�
o����Q�"Jؗ��a�(�>��0�ED�+[�ɲb{9L��ҰbyYcۻV��#׻����ͻ�m\�Om)���#�����:��-�2B�6��m��ʤ�z����� �0��Oa�?sO64v�_Z����3�<Ze7ѬX��hƫ(U._
=�����
a.x`@i��ϫ'����qe��(�,�(P��}�ق B�ǿf[�}d^�]�(���cgڼ�"��?��
+,:Io��gQ<���"*�p�b�Π�[��훲7��=��=Σ��,�d�
���\��ġ#��G���E
�`V��ӹB�Y�V�益j?���o���&��mt��馺�던�[�<#����(�[4��өJ��hh�%�"�ס�,�����v�E�ڤ�:Gqy�^''w1�5���Cj&R'�U����i�
P��u
ʝ
+endstream
+endobj
+11042 0 obj <<
+/Type /Page
+/Contents 11043 0 R
+/Resources 11041 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11045 0 R
+/Annots [ 11040 0 R ]
+>> endobj
+11040 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11044 0 obj <<
+/D [11042 0 R /XYZ 90 757.935 null]
+>> endobj
+11041 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R /F31 506 0 R /F7 541 0 R /F11 446 0 R /F8 540 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11049 0 obj <<
+/Length 2059      
+/Filter /FlateDecode
+>>
+stream
+x��YYo�~ϯ�S+c��$f�
t�����-�C��D�,��
���=\DI���<�'R\���;�6n
|y�����M��dD��zH
�A���z�	F\��c
��
��:]��Q
V��N-�t�m~S����j8<#IX��98|Y�Mc�?��2s���e<!|������]�
�h"b3d��p�����L��Y�8e����/��*
�"Ĕ!
	k��
(�
6mZ�yyk�6� ����۶v9
XZ���oT���|C�&
IA��؞�;&خK�J
��e3'o(0A�`�Y��XG�&�<���L�#�n
� �;�q!������D.Ǯ�I��&����
�� ���w�څl

+�{�~:�*FD���v�B�P�
V=��9���]^�DxX�f[LB
+sSa̵j��4��1�0"X��"r.��'�ad�%Έ�x8�p���B�HrV݁t:����[�f���O�,��j[�
VU��Z��Ὅ'�5�4s{��Z�M^�.z�
�-"�_ۼ���C[ڴ(�:
+P��
W���B3��y`
M�C�T�Bo;�j�۶Z�m����P��t��n~�C�*����fS��67
�ʶ��H:ИR�����[�ja\�8�Θ�9FIB���F�i[�3P�3R�\��s�ږJ���ZcB$�Uk�G���s�l[ݴi^���t�o����sy	���{�$l���mc�
]{�������Q��\V-��kuz���rx���
g���e��!
lr��\�\�%��5^��<�D�	$F�9�@"�열�ӛB�O#��iݐ���	
Pu��b���h���C'"��1G[���Щc��@�N	}\�
�m��
��;�+��5�m�' �Ff�tN\\t���:?9&���������q��란��ciX��4����@��y�E��xt�wyX�$ӎ�M�F�
A���Ś�N������6�
X�
ͮRD�Nh�8�WH�D�X�a��[G��(��Ƚfw]&�N8��}f�M*��Iǧ++��
+Tu~��ia�{�jndl���M
$�N㴩�g}�c(�$����8��c���T>�,$�T�BNòjm'_���j�J\���
 ��6�vx��3�H*� ��;�b�K&c�
z4Qk��v����]
y
+�y����U�#u�
�{i���PU�xm{l��LHU�yt�b�9@�m�0EP�lC�=�^��m��tH��Ol�J��_U���&&�;�
1.Gb���W"�
�A�bt$)��*�[W#�iCA�C�Gz��>�p
��d胵h�5%w�p�"�fè��� �S� V����JݪR_ �x]�Zo�,ɐ�^�?�r9e CTx��dN0�������{�
�SI䁉 �6 ^���6/���m��`�}�갍 ��
�X�;�TWdfg�����*�C���i�PW88����9Q��H ��!��{{8
�<���{���
i;č����w��� r��D ɧ �n� dGG�����IN�ϑƖ���-��ʬ���`�m��shd��n�`�0}�a�ԇ�
j
���Tڸ��p�e��m������рී��u295���'�?I
����Ӣ4�$xj�'��<D�硽~kN�d
+�`|Ls/���P��~a��8!��ć0�;�C?w[F�!<h%�����-^����o_����o�%@�Q����p`�x�x?�K��j�yVmt(�W�.�Q�	!�FT
�L��,��HM�nM.
�mY��9zl9v���ƞ
k�c-z<�2����Z�p�j-��
��D
aM{����ݾi�bg���W�Y3q8fI��
93$�Ǣ�u�`���%Wu�
-h�u�y�1�����%d�6G���	'RB�P���tW��D��ou�`r
�̫�H�]`��u�Cw
���B��79����/��q
"`Z
b쭦.�+�#����~�ܨ�S͈Φ��r����o~}qI��#b~
�&��Sʙh��3�z�؟�zmIB�=�ߵ����r�ۡ�APlj����Mqy
���t��V]ٰ�j��(\��Α�����
+endstream
+endobj
+11048 0 obj <<
+/Type /Page
+/Contents 11049 0 R
+/Resources 11047 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11045 0 R
+/Annots [ 11046 0 R ]
+>> endobj
+11046 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11050 0 obj <<
+/D [11048 0 R /XYZ 90 757.935 null]
+>> endobj
+11051 0 obj <<
+/D [11048 0 R /XYZ 90 542.672 null]
+>> endobj
+11014 0 obj <<
+/D [11048 0 R /XYZ 90 520.36 null]
+>> endobj
+11052 0 obj <<
+/D [11048 0 R /XYZ 90 520.36 null]
+>> endobj
+11015 0 obj <<
+/D [11048 0 R /XYZ 90 361.225 null]
+>> endobj
+11053 0 obj <<
+/D [11048 0 R /XYZ 90 346.655 null]
+>> endobj
+11016 0 obj <<
+/D [11048 0 R /XYZ 240.245 259.634 null]
+>> endobj
+11054 0 obj <<
+/D [11048 0 R /XYZ 90 242.907 null]
+>> endobj
+11047 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F1 580 0 R /F8 540 0 R /F11 446 0 R /F7 541 0 R /F23 368 0 R /F31 506 0 R /F79 505 0 R /F72 404 0 R /F100 1390 0 R /F104 2229 0 R /F123 2840 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11058 0 obj <<
+/Length 1312      
+/Filter /FlateDecode
+>>
+stream
+x��X[��6~����3���`��d�L�t&MܧMfG�e�)�l��{ �����N'�>!�8:��|{[{/gOW��
����Jo��B�)I���[��k�`����`���s�}]����b?O�;�.�͛������?='��g����l������L�˸>b�q�z�|5�sF�3����b‹���G�a���
�^�z�2�&���o3��g�
B�1���H�D�����m�ge�������3A�p�-L	ј(���*��
��t�ot�=�&���B�3-PH�Ama�+�9���X�i�vg� ��I�=6w���
�ѾgX@�:�Q٬lJ8�\�KbW�8��t�m|����b���"`(����O��AЮB�N?�
��� &i����;ަ1�(�?`��
ə����o�Y�6�0c	IQ>�
+�Q �	
� H��qfo�Kk�&�?L�*D(?ljEU�3�Lt�s�*��I)�V�iz����T�� 3�5��;�N��"�&�f�q��
� Jy
�P�y��!N�c���]iZj(L4'‡��l;XY����v���5���QHRѶ���&�v��m9�r�#7\�аeܾ���u�=4��!@0
+C	�aH����aZ�ƚ�+'@X�Q�c
+%��D/�hd�)m?��]Z8�
@'	x�p�9D����HW�j\y�Ԡ�̓���1�j�T��y��.��V�e��{3�mk"Jta��FC��꺡�}�!t�pk"}(]q�(`H[��q�`Uf at Dn��N��

+�p�jW�[3�p�̭�h�j��C_��A�a�:~8W�!Q��:�~�qCo�n�����ƑN�c�X�J�@�Acm[$�Z��37�)�t^��߀���(�o;�a���_�E��*Ϝʫ�ʋ�Vy2��"��<A��_Ty���c���i��A��4�)4@���]
���C!Xp�N�
u�� qƾZ�O�y�<o��G��]����I��^��_��
�:��/�+LO�/�G p�pd-���h��M�L���gȚ�(5���iȺ�mH�0s��9�_w${RY�,���62q*|�	K$B5<���JM��U
L��������ne
���3��H22-"�:*������<)J�NJu�I񲣢|�"�%N��#
�W-z��"�W�h��6�SDž?��v��>M�;R�����{o+$T��nۆon]�77����q.�՚�_uv�I3�:�Se
+R����:�)��1.�&�?�v�ˬ�⓷$���v�˻�;�����v��'��+ҳ��H��Hi^��0��J!�8�2ܞ[
+endstream
+endobj
+11057 0 obj <<
+/Type /Page
+/Contents 11058 0 R
+/Resources 11056 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11045 0 R
+/Annots [ 11055 0 R ]
+>> endobj
+11055 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11059 0 obj <<
+/D [11057 0 R /XYZ 90 757.935 null]
+>> endobj
+11017 0 obj <<
+/D [11057 0 R /XYZ 90 695.979 null]
+>> endobj
+11060 0 obj <<
+/D [11057 0 R /XYZ 90 681.749 null]
+>> endobj
+11018 0 obj <<
+/D [11057 0 R /XYZ 90 456.649 null]
+>> endobj
+11061 0 obj <<
+/D [11057 0 R /XYZ 90 442.419 null]
+>> endobj
+11019 0 obj <<
+/D [11057 0 R /XYZ 90 232.504 null]
+>> endobj
+11062 0 obj <<
+/D [11057 0 R /XYZ 90 218.274 null]
+>> endobj
+11056 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11066 0 obj <<
+/Length 1724      
+/Filter /FlateDecode
+>>
+stream
+x��XY��6~���S+5����$�$H����$�!˴-T�+������,y��$@ѠO�hr8��͐��x�{6y<�\<
��HR���^��@$(��+�O0��tF0����`?��xq=��/��V��x�2]Vqu���OOI��tF�������Z+�*r���BN?�_L��'Oh�=b4
+��|���V0��ÈE�wcV�
�
~3����	vV�u�y�<�A"a^@�RX7�9��v�T���B�?f�|
Z� ��Cݨ܎˵�
��*T7eU���z�1-�bc��9�w�Ie��3q�yc�H�΢lZIWj�5�Pўb4�'�bIYԍ]5P�1$E�j��x_;Ҧ����&��ތ���x3BP$����';R.�y|������J�D��$M�LS�:%�i�Noݎ���lFA�>Eܪ�����\Ș@��͏�v��"�
��E'M��Y�֬���
+�UM7�5 uN(
7����ĺF�
��h�AV��:@�LpD���<��?�MԮIA�`�}�"!
+pΊ��[]^�Ŕc�c���E\m�9u΃x�
s�*�/n4����3�ך�$��Ynv�p7Y	���d+�B�i
�(j�?�ӊ��wq�.3egn�f;rD� ��F��Ch�°��wZ" ��[&[�D��] ,���!D���ao�� YT�k}L��mܭl���M��
a�
��)""�4�(p$
��2��f?!}q�N֚���	@��
@sة"ε'$��&nH"S�1������ʲ�
�ԓ�c��A"=��{,����iD�6M����H4ȝ�F�!"
R��\ގ8��y��:za�Ο�c�2���w*~3f+T�@vy�,�a����

\
+3u�6����#�C
+Ə�iwX'��@��'5ƈ��=�����W�/���|�vD�0DRvfB�I��[JPH;���Ue��F�>�Ì� �D�
	\�y�k�Ch|Z�N��-X���p�HR��a)���̎L1�2���N�٦���r�r[�+�;u��N��ӭL�VQ�i�$���.�`�r
�
��2�wV�.C�v�Fì3��KC����
f�*AJM��N�@�u�|�
�
�X���
- PH�A�ud|��j�s﫬p&���v�v"]	�����v���%+��.9���q�(RyG)�j����ӍP��W���O
��ŝ
+}�{�qFw]�Dϡm�Myp�Π&�����z��J	ch7!=I$�%���J�˶�{�/ݝٯ��Ĝ�)�
+E��1'��Bek��,�U;Y���h/VV��x�������1J�p�2�*���k�x��0�G܎�n%X
�����.�G��]���
+�E}�l�3��o�l�e�R57J���9zP{(�Pz������\��m�ί��R��]����W#9����X���&�\y���&\Cn�k�Eh�G"�-��^<ΆA at K!�sa�<=�
p+oo���;�_UFم�
O`�:�`�
+�������7�s��>���()��HT��|Ќ��H��3�q�?�l���S9L"�kZ��H�\��<����/���24/]���i
7A�kf�nE�2?����A���lY�~:�Ԫ�v*���*.��>c��(h����nD�Mg
��R�Dk�_^;�eb<{Ԗ�]��M�������AI��E��P�\�v���d�I!
Nj��e��l#�0����� 
��H
+endstream
+endobj
+11065 0 obj <<
+/Type /Page
+/Contents 11066 0 R
+/Resources 11064 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11045 0 R
+/Annots [ 11063 0 R ]
+>> endobj
+11063 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11067 0 obj <<
+/D [11065 0 R /XYZ 90 757.935 null]
+>> endobj
+11020 0 obj <<
+/D [11065 0 R /XYZ 90 625.491 null]
+>> endobj
+11068 0 obj <<
+/D [11065 0 R /XYZ 90 610.921 null]
+>> endobj
+11069 0 obj <<
+/D [11065 0 R /XYZ 90 407.681 null]
+>> endobj
+10669 0 obj <<
+/D [11065 0 R /XYZ 90 385.369 null]
+>> endobj
+11070 0 obj <<
+/D [11065 0 R /XYZ 90 385.369 null]
+>> endobj
+10670 0 obj <<
+/D [11065 0 R /XYZ 90 256.212 null]
+>> endobj
+11071 0 obj <<
+/D [11065 0 R /XYZ 90 241.642 null]
+>> endobj
+10671 0 obj <<
+/D [11065 0 R /XYZ 90 114.522 null]
+>> endobj
+11064 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F11 446 0 R /F123 2840 0 R /F104 2229 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11075 0 obj <<
+/Length 1211      
+/Filter /FlateDecode
+>>
+stream
+x���s�F���W����N��=6cw&MgRG��� 	I�T@���g�#+��ԝ�X������~��
��2�y2]+��ȗT:���cGI�%�d�ܺ#�{C�1v?x�A�	�<��4~\��,���fY�=�LJ�=��4�T`�m
乹�	�a��0��`�q)\.�w7y7��
��
;��D(��p���
v����󵳯Fm
N������|6*��� *�k"3�Oߦ��&��"�|W�9A��&Bcf���ui������Pp���$/ʘ
���� _X���U�3
+���T�
]��1I�(Sp��|e�t�&
1-�!0;1���G�B
���ϥ3��b潛��e��_��>e6<�|�Ƌ(Y��YX��09zckEe��!�vjJ$"X��bf��8�5���(�	�J�q3(HGn�[qO'Pp)M{�
Х
UU[�ݑ�C�8�RK)Z�W�
����v�nk��d��"��-��X��Q�q��q���j�	��ș��>�M����:K=*ܽMQ�����I��r6R ��&B#.�r	2��EJ� �0J��f
%:�C��C
+�#ԇ<i$8낁[0��4.-?�Q>]D�_i�ӥy�)��X�f�
����?�����<��ȤF�']�\��J}8M�t�HI}�
+��*�jH���L1
+��#��b<��j%�����L��c�(�4�
]�;XxxR��P�?Q�HaIW����}1���ƪ� � �y�Z,
�z���
�z>sQP����
�O�F�� �[�5���~����C�}���L�m�&��
�ڸ�A�چv��og�$ծ�_��1h�˖~�(�T�?z�LJ�qJ����7?�6�/Ͷ*�0O��d[o/������0>��~��~�����E�,��`��f��?��k� �Sg��P�A6�zؚ�E�Jٻ=�˦lv�a�ک���,>�< ��)��(����>�P
�Ԃ���@�*rn
+[�U
k�,3�����t�2��
� 4D���Rp�(�����F�E�j�]�;[���9>����n��G}��¸B��m^;m�T�}�i$U/���Y#f�k�k9���J
z�K?�V�N�Y
��t*|$�
�Ӑ��dok<�[�(s�G
fo<!\[߿�.���Y?�1R���]�Іh��۩�~
T��MV���؎G��~��9�%�6CQ1�n��i

X!
��)�e}�ܤY����M��D���"�/
+endstream
+endobj
+11074 0 obj <<
+/Type /Page
+/Contents 11075 0 R
+/Resources 11073 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11045 0 R
+/Annots [ 11072 0 R ]
+>> endobj
+11072 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11076 0 obj <<
+/D [11074 0 R /XYZ 90 757.935 null]
+>> endobj
+11077 0 obj <<
+/D [11074 0 R /XYZ 90 733.028 null]
+>> endobj
+10672 0 obj <<
+/D [11074 0 R /XYZ 90 617.539 null]
+>> endobj
+11078 0 obj <<
+/D [11074 0 R /XYZ 90 603.52 null]
+>> endobj
+10673 0 obj <<
+/D [11074 0 R /XYZ 90 482.526 null]
+>> endobj
+11079 0 obj <<
+/D [11074 0 R /XYZ 90 468.507 null]
+>> endobj
+10674 0 obj <<
+/D [11074 0 R /XYZ 90 359.468 null]
+>> endobj
+11080 0 obj <<
+/D [11074 0 R /XYZ 90 345.449 null]
+>> endobj
+10675 0 obj <<
+/D [11074 0 R /XYZ 90 224.455 null]
+>> endobj
+11081 0 obj <<
+/D [11074 0 R /XYZ 90 210.436 null]
+>> endobj
+10721 0 obj <<
+/D [11074 0 R /XYZ 90 89.441 null]
+>> endobj
+11073 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11085 0 obj <<
+/Length 1804      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs�6��W��J3�7H��L�i�Τ�;=$-A[�TI*��� ��HIv�C2�XI,���~��w�a������/�H*��`OI�%����0!�`:#���)��0[�7o�O��~�Yx�&������}yJ�I�LgT���8�s�|���������K1�Ÿ~�~}����
�a�����|}���p���
|oW>��8e�{�/~����
a)ZV!�|g�m��F��16^]��/�:�W[��ә�{�4�
{�M��0�y�ec����z'��`l�|	��4�
+10mF
+��Z���gvC�B�Q`<W>�<�ˏ�y�s>9�T�)�nn�!ь"J�cdˠ-|1(� 	���\
�d2���å׷��\"���9��Bm<�`�,c���$�p}�O
+�zpƔ@DތC`���b�%�ӄ�s�q�"���TB��ӣ�t�0����.�$��+�U��hv
Н4�b6�$�Ok-VQ~\��
���]����o4�?Ca�p��2WO=�6�&
��]f�ڝs�N��|6��@2��%�����UE��H8�,�ޭ����$�$$�V�<̵Ÿb����6)Z~�<�b�[w3r�8Oכm����
+�z=�(�Y�h��AU�օ����FJ���1��O,h7R�M}�P^��ue[\�]k!Ӡ8!�����
+#�kn���~v ����<!��!Q��gk�AF
D�A 7P-`<� �В�
J�k��E꜔.Oˎc
+���4\
ѐ�=:I�Q���u4lau;�i�E��P�1iC�Q���Ҁ*��:lJU|a���+U�&�� ��������\o
+(�Vf� J^,�� ~8����&�� ���P��ڄ:K�����@	Q���8p�
_w�n�J�+y�V�>,��5�
�̢ĠfXD����q=�I��
+F�
+�/��v���ρ+
+ɦ��f�x�(��ـdAnZ���h�m�1n&\u
V���l�lB
���_B�U�Y����Y9��S�� L�3RY��M�
�
�v�ǣj+4�؇�x�WwFǎL�a�{���UۤH����} p�ap at Ju�F��p
Sab�9J|)Na��_/|�m�G6�D��Nq�#CB!���g��I��Ǵ� �N���4X�����Tp��qZ��Oa5��s��?��'R�HRSOb��ؤQ�s�ҙ
�I
+غT�?2
�.r�`}��ڇ�O��S}c�J~'��Ɋ� �nT�R���9;�\iS5APUIX�uİ�{>�z��`H&�(�퍲�`KEwgG]\��+4��	��7��|�u��ch���D��Q���
���kh֦�w�z$�#!�1��.~c��\�U��^�c���j،8��R�=�H.7���\ ��C�ˑ�ȭ�"sՎEfu��� a��������jT��Ф��+GB
����a��:z/$|��

�C\���w�|��=��B����
���d�QR�_Q�_ڰ_1�~GȘ ��������K{�T��3Q�
f����_/|1"
7��"�G�/�u
�~~�Ƒ/h�][9���k��?�]�6����`$U����*�r�1�S;���a���ZJ|~�
�V���$i�Õj�����!b��i���e
�Vk��c�T�謔����hң���.�
P�(1U�m��
HT�O��A�S�L���O
D���=b��t6w�k�w��=��\g?Nʜ⿅�6t�j �6ɬ�й��<d<�'�v&Z����կ� 4��0n�ժ(6W�����s�M�M���r��/�����U��e�}�iVG.��|���Q �[
+endstream
+endobj
+11084 0 obj <<
+/Type /Page
+/Contents 11085 0 R
+/Resources 11083 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11045 0 R
+/Annots [ 11082 0 R ]
+>> endobj
+11082 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11086 0 obj <<
+/D [11084 0 R /XYZ 90 757.935 null]
+>> endobj
+11087 0 obj <<
+/D [11084 0 R /XYZ 90 733.028 null]
+>> endobj
+10722 0 obj <<
+/D [11084 0 R /XYZ 211.842 490.419 null]
+>> endobj
+11088 0 obj <<
+/D [11084 0 R /XYZ 90 476.119 null]
+>> endobj
+10723 0 obj <<
+/D [11084 0 R /XYZ 192.853 187.095 null]
+>> endobj
+11089 0 obj <<
+/D [11084 0 R /XYZ 90 171.415 null]
+>> endobj
+11083 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11095 0 obj <<
+/Length 2017      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��4~������x/��7iY�F�֝ڤ�����s
;�&mw� �x��:����|��
<8x5��nr�R�@#-�
�V�Ɓ�	J��e�vJ0�z6'�����(�F��gO����,�����!�������	�i2�S��_m�<w�7fe��L�0`�q)�\�ٻ�o&/�&�'<�)=
+)&��v��
�p�� #���P���2��?N~�`
�.�c
(*��E裊��0Y^��7t��o�!!RXs�ł:3�]�y�楐�g(C�[_��wk��c'&���̈����q�uE�~��m����O�t����W�(����Kؒ��Z"Fh��/37K��,�tH�9�:�ݜ~���y/���)��H ��#q��ONn�B��G[��&����R���V��	E�����}F�4���9�j}�'=�H(r���$)
���[��c� `��\�09
+E}�E�7C�)�u(�w8J|b���ɻ~&��Wv�������n̨�{'�
�
BZ��z����
+��,O�1�&�by{'3�D�xye��WIq긵@�6���6�CR��@
Q�d�D	'w���@�J*u���.�UC�e�q�H����6�d`�FR�2���_���ĭhO8I�9����r�)>5�]��i6`Y���Ͷ�e�t�n�S{��ҭ�m6�gН>X��4��$�P�1�$a��3S쳤Z�N��R����VCg?:�°F�!G@�h�Y�usء9�!��PV�J
�Q�&�k6�N��Y�n�O�t� ���j
��EX�A
�	�C�n�1�
jr{[�RkB@�
+<�
B�
 �����l��/lrY�Rwf9�Ĺ݅
���=���l�Q{>�����J��b�"�����U��iJ:�1h
��7�
1Ny�P�I��d
QY��O�!�\A��	��$M�s#��z�q�&�
i A
�1x�Q�Mhw�~
�0����6N,s{7���"��0��R�MY��@]A��R�7�V��
Yk߬a�5��!��vC~�f�v#wk�`j
�+׎�P��|w
X��i{�p��]�4\����MJ!,�5�T� �M�]��䰎k�W� ��^^E�����X�~vi�x�<�Mf�������я�D�����~��-5�
�G)�Ĕ�}��"�PU�?����U
��C��Y���kEՙ��.I]�R�z��)U��絁�aRV�e)1`5�~�0f�[<Ԁ��f����e���

۵W�O�f��=]��ؤ�>3G���
�	��_v�v�p\�
�9K�c�c�u
+����� ���x�*>R����\K�^E>[�r/_O�W+h�5�(l^��%

��A��R�l�ZӬo��\�͋H͋H���W�Q�����1��n�+%z�����z� �g��efxO}
1wDDO
G�}A�8`
:���ܙ�����/{��]9M�~o�Eٗh%��hD0��,.�@!Gu*թ!��m����*����
+֗#�I#
�g
0}�uж
�^j|Π���`Ym>�5vԱ�����҈S��-�@�*v��h�u�6)�i
<m�Q�WQrrO��2W�C�g���K%�FX
�1�Z'1�
�F��YW^D�@Wa�VBv
��ږ<�=��R��-p�_��i�	�ȑ�р���_���
�@�i
+I��Q u-��V-��䅓�]�m
�£}�K�`�fyNj8�:��AթH,�7���U�H4'{�e�W)��ߖ�c�Cլ�����l���ݨtp�>%J�
�n'����	���pv���ȎU�*
�S���2��Y��X�Ѣ����~0�
���7�&����WY��A�Q
�_�
<��
7}��5
�F>�֑�ۉ��J'����ғR��M\�@j�K?�����<�}1���G�^����Y�/+
+�.=�p?�&�t&@���� ȍ-�p�fM����� {�x�������[P��u��񖄖��E�.������p@�
��27���渞ZV4i�yU��4��7�ܖ����/Ư;L
+endstream
+endobj
+11094 0 obj <<
+/Type /Page
+/Contents 11095 0 R
+/Resources 11093 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11099 0 R
+/Annots [ 11090 0 R 11091 0 R 11092 0 R ]
+>> endobj
+11090 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [491.252 98.244 511.506 109.237]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+11091 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.129 86.288 211.803 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Frequency) >>
+>> endobj
+11092 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11096 0 obj <<
+/D [11094 0 R /XYZ 90 757.935 null]
+>> endobj
+10724 0 obj <<
+/D [11094 0 R /XYZ 211.842 577.309 null]
+>> endobj
+11097 0 obj <<
+/D [11094 0 R /XYZ 90 562.706 null]
+>> endobj
+10725 0 obj <<
+/D [11094 0 R /XYZ 192.853 268.001 null]
+>> endobj
+11098 0 obj <<
+/D [11094 0 R /XYZ 90 252.018 null]
+>> endobj
+11093 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F104 2229 0 R /F8 540 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11103 0 obj <<
+/Length 1749      
+/Filter /FlateDecode
+>>
+stream
+x��YKs�6��W��R3�7 at wzi&�4�i���$��E��"�����$�r
:��L@�b���o0�
�>��bv�R� B��2�X�$HP\$�ǐ`ģ��`��ws�ø���ws��"��6I/ߤ�e\ޝ���D�E>_P���Y\U��Y��7��
�e\��K<�|�j��b�uF at 3
�F��b"Xmf?� ��WF,��m�jp��o|��5��*<�4�G0H$,P�!,��q]��ˤѠ�z�R��6�p
+�4��X۵ 

�|�u�3n�H
��c�.J=$��wen�gnX_�q3�"�����+S���;B�#c�dB	�"���˞�c�$�Hiq�=7q���C�*$U��EkO�ۘ2���
�)EG�V8i� �Pԛx�X��v�ހ��D$&/6i~�M���GLPc
�@L�`!+������l�ȫ��c(ؠ T��(>�:9?O�9�V�4Y��8(��&(�=.eaC��gy:����.�̷my2/�<qk Ł
�>�>a̦N�������ae���� �E����6���� +�B���1&
J�8��x�(J��|� )��]l6ԕO
!�~�˞
����$�����a�����#AcwIz���}�Y{Z��u�[A	B��Q6QEl_ �GjP�C��:wY���1��|U�u���	
<_pMC�����V҉B	�r*���i�u]X�M�!Jy��8q��C

�p,����}���&<��_q[;oXW;�̳�1O��[pD�ӧw�	����Cu$
+`��O�Z#@�M{�X�&OD���ճ�f�(����ON��I9�?�)E�އ;
ɘ���u�-���nD��'ڂl��$�y[`aۀ
�~�w&��d�	����qs���㈪.�U��-d!�'
AXG�S]��&
a
�c���c�����  f�XH+���4���|��2AhO-��K-�
;���%��"�0���
:qG4���7�|�{DCG4�v�=�`�N�#M��iO�6͟/˼��f��_���o����:�}GF3�.a#�id�&��Q�����!�<m�T
8�Ȳ�[���n]�q^�
]'Y��*�L�;ȣ��QA
QƆ47'"�K��F��FX�Sħ%_�<�E�%>��N6������@�
��i�0%
�V�)��J��
+M
+k˩; ��7횮�u� �u�(�dx�����(z��L�/<E9'�+ܽ���p��sX�>��R�������ToLm��+
+��<F����M|��LGQM�rN�rNmۻ0�6�ܚ$Im����X3�DI�_���B:���&�J����S���Y�]ӿ�
�f����$��BR�q<5F	��x8��c�$�<U1��Y𩚸�S[S��r�7�U��ʍk?Ns�Zb�d��fi]g{sۢ�\e[N�kH3]_�u�+Kn��=�Ҙܫ�1�Zun��|��E�%�]k�2�kw`LC�ǠG�n�Yhʲy���SU��7q���q[�9&w���G
+����I�
�@�T��3f�_ŕq�'�p��MZdqm�͂a.L�Y.��CT�qo���z�kۺ}���vW�{L�J�//m����r�2��:�m��䥆��"߼���Ҿ2h���,����;[6ms�mw�o�X�����?υ=a���]조m΍����~���hX�!�>�Mtv}	گ׎�zm���=�u]o���nooѪB�<ݖ(�϶���O
H�>S��r�MQvM�M������ ^jr
+endstream
+endobj
+11102 0 obj <<
+/Type /Page
+/Contents 11103 0 R
+/Resources 11101 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11099 0 R
+/Annots [ 11100 0 R ]
+>> endobj
+11100 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11104 0 obj <<
+/D [11102 0 R /XYZ 90 757.935 null]
+>> endobj
+10726 0 obj <<
+/D [11102 0 R /XYZ 439.299 622.216 null]
+>> endobj
+11105 0 obj <<
+/D [11102 0 R /XYZ 90 606.337 null]
+>> endobj
+10727 0 obj <<
+/D [11102 0 R /XYZ 90 481.097 null]
+>> endobj
+11106 0 obj <<
+/D [11102 0 R /XYZ 90 466.752 null]
+>> endobj
+10728 0 obj <<
+/D [11102 0 R /XYZ 90 330.181 null]
+>> endobj
+11107 0 obj <<
+/D [11102 0 R /XYZ 90 315.836 null]
+>> endobj
+10729 0 obj <<
+/D [11102 0 R /XYZ 280.943 89.441 null]
+>> endobj
+11101 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F8 540 0 R /F23 368 0 R /F104 2229 0 R /F123 2840 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11111 0 obj <<
+/Length 1496      
+/Filter /FlateDecode
+>>
+stream
+x�՘[��F���+xjA��s��[%��V�vݧ4Z��ڨ6P�q�_�3
wc{7����0�Ϝ�7g[k
[�f?�f��.�R�Jk�d)l�� A��
+�6��+gN0���C���;��Ρ�N��M��ï�c����?��NgN�_o��0�DOQ�-J��2.��%q>���ެf��h�-Ri"\�2a�ه��
+a���S�u�f�,N�n����3|�*���gb��ڴOڴ4AI������Ç M�2��4���;s.\��b_�&��m_�=zsPQ���(
�9�<�<�L����#do��G�R.3�
+�:
��	�L�|4o�S3�*jV�=�s�J9Rp����l-(S#��D�8e�;�b�~��B�{KS��,�lB?ޡ�⛸�P�J�qO����ܤ��,���x���H�<*��R�
Uy�$�(@s*]�@�9刂6�2ur�����b��N�0��\��9�bA{��c`��DcתQ{���=~�t��[��Xυl��z��"G�@��n:�T��Q`�B	�a�|���A�E �D
��
��8q8����ჟ����T���Ȉ.2y�Pa��

;��gPF�.#׳]�V���fыU.9�T�
+a�Z�yd��i�n��q
'A���2~�V����fJ��
+��\K�耏�.&����F�3��`�1�����]ே�:J��/��Z�a���e;
�ΙF;��6�	����v���*�w�L�
vJ5����.x��1�� ;G•�;S(?���[0�E��!S`�K�%t�\J.�h�y���sD�OQ���(.���Gʫ:�j�t�+so��^J�M��-r��ʺF��=M���:Q�DN<�J���
�!K���l�8E��zp����j����\�e5�U
`�n�A�-H����I�
+�1f at 0E\���5�J	My
\��^�1n*�5�6;LP�wu̝�'F��[��n��I���1Ԝ!!�
��o��!������ 8
+����8Jئ<.#�(���VD�������
w8�ө�
wt	�����R �]
+�� �Zl��1h95��Ϧ�@�s_��1�@`�KGU�dK�fQ~R��Գ��M��

#h�����ߗ���H�C�棢O���@���;UuSF�-�!
+#ɠTr^�T�m
+�����}���D�����	SPePyטJ$5}�DK���D��
+�U"���ۈ;:~� T�T�D�X�q���:hmAZ���Z۞'k��m��m��{[X}���}���"+�mn-��Ң�D�A�@*���bԠ��3��
+rD���Wn10z��{;s%��΀6B�d?�0W����ʡ�$�\��`�Һ�9e��V�=�䔁�(��+�+�w���{�wu�
�Hm�W_m
�E��eߝ���Q�6��y����g�?:�B�Y�����mw��I�����	F��`�>�j�][��/�*2��ģ���7e�-��ဂ�8�Q\.�l�8Ϳ����%�S��Ҽ�>N`p緻q����KO�
+endstream
+endobj
+11110 0 obj <<
+/Type /Page
+/Contents 11111 0 R
+/Resources 11109 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11099 0 R
+/Annots [ 11108 0 R ]
+>> endobj
+11108 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11112 0 obj <<
+/D [11110 0 R /XYZ 90 757.935 null]
+>> endobj
+11113 0 obj <<
+/D [11110 0 R /XYZ 90 733.028 null]
+>> endobj
+10730 0 obj <<
+/D [11110 0 R /XYZ 90 571.814 null]
+>> endobj
+11114 0 obj <<
+/D [11110 0 R /XYZ 90 557.49 null]
+>> endobj
+10731 0 obj <<
+/D [11110 0 R /XYZ 90 433.104 null]
+>> endobj
+11115 0 obj <<
+/D [11110 0 R /XYZ 90 418.78 null]
+>> endobj
+10732 0 obj <<
+/D [11110 0 R /XYZ 90 282.44 null]
+>> endobj
+11116 0 obj <<
+/D [11110 0 R /XYZ 90 268.116 null]
+>> endobj
+10733 0 obj <<
+/D [11110 0 R /XYZ 90 89.441 null]
+>> endobj
+11109 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11120 0 obj <<
+/Length 1371      
+/Filter /FlateDecode
+>>
+stream
+x��Yˎ�6��+�jm���)�޵A m�i㢋4p$�-TW��_�K��%[����"%]��yΥ�������ֳ�7�$�>����'��	J�u�}���\,	�x~� x��L��.(��q��R���ܗ�<�V��
΋|���_�����W���o:�4�˸/�ܧ���w����_3�a�4�� LxQ6��{1��a�d�
�����z�g���U�!싞U�!��i��iE/��|������;kYt�R
�EE^եJ����6vz�"���$I�Tz�I߽?V�ά��1
nހ�}sD� [��Qee0.l%�`be�ߓY�� Ko�A��Y����Ū�j;Xb^$�;�������V�	G�w"uqvN�3�xx�l��l
��mL���d/f#
+r$�N��&cRq��H�CRo�}mϒ<ɒ�|s�z��}ZG�&��\<
˒�
+�@>���n*ӵ.����6�
 �

�X���{K���'��2��h�s�d!�u�}����A`Hv2����1�P��d�(Sǡ���D̛Z��)�
�@����H�������$Tu�Z�u
�I�I|���>���8K�N1Xo�bA�� @
�>O�j�H�k��@ՠRy<��H3���R�6�Sȹ]���2ɣ"۩z�ܧ�kQZ
�
T�ۗ
�.)氛?��v�|:�
#����� �R�I�� �TэD�IdF@�<=���>k��>Ӷ``�)��ޭ�T��0�a0D�'pX v!��ڃ�}�zا�Ҍd���mB+�����t
��iީ�
�'F�&"$
Cߥ�zЩ+�XC}���ΣB�- 
�C���KJ���)}�s]��(���Y_�<�@�(��m�=���K��#t
�g�9tn�9>�>g��f�A�]�\���Y-���o��W�0
+yx��9�R)d:�?QMO������j
+��
��O�=|������U6ٛF
�׫�=�|��{��e
�y��
��|P�
8$i:E�O�m�{�F�J�"
\�c�dk�V��
[6[o�>[ ̥�%*�=�H2q
x��
; k(����G;5Nk&M)0v*�Ҕ�{�0��fƧ],=��z�E�Wz�{�d{�q�:q�␣0�C����
�Z&�7�q��#�gz���x���=���v
+f�/�qž���}�z(L(4�,�?\����e_�O������
+
�[S��g%c �u<���U.��腍_����/ٸ������A�g�2��"��&�B��8���
�nM��v�-y�G����J��.��;(�Y�{�
�?�� ���o �� �`�{���֮?�v�㬉�I[R��.C�u�[��
Uh�'�%��n��\�wo ��t)���vV��ECx�)=��:Z
+endstream
+endobj
+11119 0 obj <<
+/Type /Page
+/Contents 11120 0 R
+/Resources 11118 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11099 0 R
+/Annots [ 11117 0 R ]
+>> endobj
+11117 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11121 0 obj <<
+/D [11119 0 R /XYZ 90 757.935 null]
+>> endobj
+11122 0 obj <<
+/D [11119 0 R /XYZ 90 733.028 null]
+>> endobj
+10734 0 obj <<
+/D [11119 0 R /XYZ 90 498.197 null]
+>> endobj
+11123 0 obj <<
+/D [11119 0 R /XYZ 90 483.627 null]
+>> endobj
+10782 0 obj <<
+/D [11119 0 R /XYZ 90 288.895 null]
+>> endobj
+11124 0 obj <<
+/D [11119 0 R /XYZ 90 274.325 null]
+>> endobj
+11118 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11128 0 obj <<
+/Length 1474      
+/Filter /FlateDecode
+>>
+stream
+x��XKs�6��W��R3�'����Ӵ�Iwzp=
��-L)R%����]<H�2e9�'}��
`w��~���}���f�^�.��8HQ�(��
R
�A���2�B�O�
�1?�	e��7��U�_���7?��Z���r8='IX��8|]Ȧqß՝��T�)ؗ�H�<b���w�7��?f4�����L�zvu��
���4	vVj
p��Yg?Ͱ�
+��.I�<�i�Hĝ���A	:����U���⭈�I�b�
SB��+0�
+�{7c��M���潝�p%[��I?{�׭e��`���̘���c��o��X/�pD;��;��f�j��m��͓���g�����U���B�x�{��X}b�E�I�(M`@Ni�2�07����+��ʑ�px)
�LX��Eq:�
b�2�Of�J����9P\.e��dUy_o
���q�x��
�S�Z�E
`22�u����i��Y��3T
��(�������� &�N� 7�0�O	`��.���7yn�)�#NA��u����ܳ5�4���F^O"�SD�x��H!�Q�#������x$X|�
���8J��6+=yCi�Wƒ8��4YC�
�6�
R���K8�ˬ-��j��U��V�^r�$��6�kd�6
TU��R���i{p�"rK=h�Z��nF��
!��8	‚�.�$E���'Ա`.�>o� D��ϓ6�0H�F����g4H�M�/� IQ.
����~��{y��T�t`%d*MN���!09��d/�a�#\��d�egb� |ئVN�\��
8t�ˬZod�o
�g�����'��[�୛�&6>
�.]���'C��>�I��M]m��� ��w+���P{��J=�<�䶭��~o������2�u[�\gY��a�q�4�C������
+�l��A`[� �8m8y EPB{
_���$��N&	��>����JNpH�"
��B�C`��"�<�BF
B]�
�<j���z�1� *�
b$�~w�x*]��l�A�a@�����R�2�ۿ��~��V�񠍤/�5䅨J������pM��G1	�1��1&?�}$�#��=��s�=�/��%��S]E�ZG�|P���|A@��
�ޮw��յ�f��
{�>��]�h�o3:��>
���ǔ@������ăJ��Ϭ\ �LKu���R�xУ�����I���v��ם* o1N���0ސ�8�C
r�)�����}�=��=�
�N�	�a��h9Rptx�x��޳���D�dª�B��ɜ��8BI,��\cS�$� ����]�Ȑk�C@$@t�`�dž�$����w`��o���
��@SG���ۄ*K~T�|0��d�ڥ��s�{�����
��y/˭̀06���l���~}�Z�ĥ��>*�Mtv�
t�fֳmIB����Z��fyq���P֠m�75���fS\<��`�����:�[W�M�&ײo����
�Q�k
+endstream
+endobj
+11127 0 obj <<
+/Type /Page
+/Contents 11128 0 R
+/Resources 11126 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11099 0 R
+/Annots [ 11125 0 R ]
+>> endobj
+11125 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11129 0 obj <<
+/D [11127 0 R /XYZ 90 757.935 null]
+>> endobj
+10783 0 obj <<
+/D [11127 0 R /XYZ 90 683.387 null]
+>> endobj
+11130 0 obj <<
+/D [11127 0 R /XYZ 90 669.042 null]
+>> endobj
+10784 0 obj <<
+/D [11127 0 R /XYZ 90 478.069 null]
+>> endobj
+11131 0 obj <<
+/D [11127 0 R /XYZ 90 463.725 null]
+>> endobj
+10785 0 obj <<
+/D [11127 0 R /XYZ 90 228.4 null]
+>> endobj
+11132 0 obj <<
+/D [11127 0 R /XYZ 90 214.056 null]
+>> endobj
+10786 0 obj <<
+/D [11127 0 R /XYZ 90 89.441 null]
+>> endobj
+11126 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R /F100 1390 0 R /F23 368 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11137 0 obj <<
+/Length 1266      
+/Filter /FlateDecode
+>>
+stream
+x��X[s�F~�W詑fʲ�
��$�I�7�yq2�
2h
+����}�j�. ���>!�ݳ��}ߞ]�-<��4��)�d$����3�S� A�7�{�>���`H0��u@�f�pz
P짫�e4���/�]f��q�s@��&��
+�_��<w�����/Jf�e\
+�K
|�|��
�
�
{��D(���f�������#f��+G�=N�����o�lT�!,E+*��Uh6�4���Z�$���E�c�D�]\,��4Yd[�5�


��>��6dOP�0��� #*��� g?ؑ�w�h+$�e
+�-��nL'j��r?V'n���AP�
Uސ�
�����QU����ҍMʣ{K��_kO��<6HQ}�bgup����"uf�*�nT����f=+sd4��.�ge��!�1���
?i
mW�R��0n�ۿfѦ�������n��F
+�e�:��|<�����U<���b��������F@��~O�YP��*���=)� 1I�H9�2�8����
H��_��0�P?�!9$x'�t�	��n�
�)��`�0�Hq\
s��
r</�0N
+�mj���$�&No
�"Z?�u��&�y�!P}��:�T�_E�b��nElA���5?���W�@���P4�xE~�T�	�Qe�
 �Z��`�<E�NE-�<?U�m
U�<Jgwf��\Kͻ��>9�d@]�
+g��Q�ho�
/�`r!	&�ߢ�=ܓH7z�z�4�)���\��W���U��[i��g7V�5�`��hlѫ�ZHzRvd�~��b~Zu5���.��Fe��ϨK9������yݵ5%���[��^��쵅 e��������A�)/PC*Y)/?P^s�����6���T:
�?���8'�ԓ��
��)�$�ԓ)��:��+HѶ��c�%����8��
����
0
��Wq2�b��Yh�ہZ5��y��a��K�:ҍ����E�E�&�U8���7��`�5��}�]�SչB�հ�1r��0��E'�&�{o��ƙ�@;Ƒ�����uN�����n
�����̝�1LjAwU�x��a�v�j�-nE�
+,��?��v���~pv51�6�$-:
�Ӊ�'-H�lN��i�<����[}�eyS	k�
+C��n*�AB��][�^��ܽV2�^����B�U

�m�j��������<���j�����?�<(��xK4EX��^�f<�v;4��6�7���f�
��eN#���}�9���~w���.E�(�����
+endstream
+endobj
+11136 0 obj <<
+/Type /Page
+/Contents 11137 0 R
+/Resources 11135 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11099 0 R
+/Annots [ 11133 0 R 11134 0 R ]
+>> endobj
+11133 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.4 189.295 212.124 200.199]
+/Subtype /Link
+/A << /S /GoTo /D (main_Cylindrification) >>
+>> endobj
+11134 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11138 0 obj <<
+/D [11136 0 R /XYZ 90 757.935 null]
+>> endobj
+11139 0 obj <<
+/D [11136 0 R /XYZ 90 733.028 null]
+>> endobj
+10787 0 obj <<
+/D [11136 0 R /XYZ 90 616.994 null]
+>> endobj
+11140 0 obj <<
+/D [11136 0 R /XYZ 90 602.926 null]
+>> endobj
+10788 0 obj <<
+/D [11136 0 R /XYZ 90 440.475 null]
+>> endobj
+11141 0 obj <<
+/D [11136 0 R /XYZ 90 426.407 null]
+>> endobj
+10789 0 obj <<
+/D [11136 0 R /XYZ 90 263.957 null]
+>> endobj
+11142 0 obj <<
+/D [11136 0 R /XYZ 90 249.889 null]
+>> endobj
+10790 0 obj <<
+/D [11136 0 R /XYZ 90 89.441 null]
+>> endobj
+11135 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11149 0 obj <<
+/Length 1269      
+/Filter /FlateDecode
+>>
+stream
+x��Ms�F�����
+��
F�dkw�6I��V���Ra	K$@V���� >$�Ul
��
\F�3t�=��0�Y:�y?�i:�S��HK*�郣��$A�g�p�\�מO0��G���pv�Q�f�~-�p�K|���~2���H�f��S��7IX��c�UϢt
���K�Ÿ�e�a�v:�kD�3����b™�Gw_����
���]e�v8e�?qnG���٨(CX�NT�!���
MhY� '�|N���6�giQ�al�����L/s�v�O��0u
�'Q1����ߙ������ׂ����	AZԞ?�yam{R�S}eo&�HȎ��8�8>�	��o��f[F&=���*�2aS�/�\||?r�� �s�w���"�?cL�aC��+eI���� 	j] �!�k
Ŭ��v�8�9ؔ���J�&�]\�lyTl����-�6�ꢨ��U�&����:J
��p�(�4����i�;Ő&��?x>�ą�/�8]�$v|&9������Iik�?U�� ��!���`�z<Z\>8�`�C�
숺 [...]
���
D�
���kı����@�Ϗ����q�f�[z��ŝ�

�C�dC�S7L�dW��֋0]
��jJ
�ݛj�58�,�b��2�\	YD1+`r�Y�#��tgQ���mF�s�E�&/���e�ɒl�?B_��N�5i�hAE��=ѯ���A�0�$#OЅ�噻Xg?[m���٠��h���n�_�e���@�:��‰��7ҝa	줸RW��
L��`\%̔���;L�)L4{L�C瓿�
+LZc%�5V�ڙ<u�0H(1)ԋ�,*�IYC��Ȝ�,���M%�����ɖ�	(,��;
�a��,����^!��Tj�<>��(\z�W���K��
�i��H~thpcή
���ٟ5��ߋ(��­k��0݆uc7�z4S��C��!%����6:����O�p���K�-	(�mfVe���ǻ��
�M�M��r��$���י�����`Rc�Zgy�7��q݉�� `���
+endstream
+endobj
+11148 0 obj <<
+/Type /Page
+/Contents 11149 0 R
+/Resources 11147 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11155 0 R
+/Annots [ 11143 0 R 11144 0 R 11145 0 R 11146 0 R ]
+>> endobj
+11143 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.379 665.984 210.103 676.888]
+/Subtype /Link
+/A << /S /GoTo /D (main_Cylindrification) >>
+>> endobj
+11144 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [448.024 567.684 483.212 598.653]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11145 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.334 155.008 242.487 165.912]
+/Subtype /Link
+/A << /S /GoTo /D (main_Convex_Polyhedral_Difference) >>
+>> endobj
+11146 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11150 0 obj <<
+/D [11148 0 R /XYZ 90 757.935 null]
+>> endobj
+11151 0 obj <<
+/D [11148 0 R /XYZ 90 733.028 null]
+>> endobj
+10791 0 obj <<
+/D [11148 0 R /XYZ 90 549.244 null]
+>> endobj
+11152 0 obj <<
+/D [11148 0 R /XYZ 90 534.76 null]
+>> endobj
+10792 0 obj <<
+/D [11148 0 R /XYZ 90 394.642 null]
+>> endobj
+11153 0 obj <<
+/D [11148 0 R /XYZ 90 380.158 null]
+>> endobj
+10793 0 obj <<
+/D [11148 0 R /XYZ 90 242.042 null]
+>> endobj
+11154 0 obj <<
+/D [11148 0 R /XYZ 90 227.558 null]
+>> endobj
+10794 0 obj <<
+/D [11148 0 R /XYZ 90 89.441 null]
+>> endobj
+11147 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11162 0 obj <<
+/Length 1666      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6}����&5ûD{؊�X�]��+
Ŧcb��Ir����HY�-'n�݊>Œȏ绞�G��^
��
\<Op���TF��H�(�	J��Y�.&q5
�q�zHp���l�zHq\,�zVf�W��ʻ�x����q�GT���2�*����Χ�2.E̥
��|9xv9�c@ �H�D$(a"�����h�_F1�F�ͪU�)���������+��b�+��޵��X@�('��ʬ�K3��l*�_O�E^���6׹��x8��V��71̣!H	�X
��;.��
�$GR$�t���-	=G
�v` n��;kF�JĤ�F
�$�-��o�F��.�>�v��3$��c���EH��]S/L� ��	oeM-�"(�}5�y1��5PVZףu�+]�@�
>� �@�Ym f΄������@8F�����8��E��^8h�t��u���ĈH�������lӌ��R��
S�#ڙ�g�J��cA%��L��7e�gO�rpS7a�FL(D` u
+�]a���M[����^��!�7
+ұW�#H��ڣ
���a���`��,�m at R�`�T���g�ɇ
�7���&Yy�Y���FA��y�\�Ő���J��M_��0O���ʻ
�g=v(E	��N ��lO�J��źX�w#�O��:�j�<��(ݒ���T��9�v6�0��Qϰ1�$#�
!)ߛ����;a
3�"I���m6����Ye������ס�`�d�˞��D�D���7Yi��I�C#�
�np�t�
�
�t�_�\g��ه�c��r-����ēm���v
�h�_��Ѝ�S�<�����xܠ���w9��`�ÁD���΋�ɳ��E���T:Pp���27I�k���e�H>�D�e)�����~&J�ڧ0Q�Ү2�;�EL6��բ��
+r�}�^�I"B�
�&�A�p-<��&�#�^����!O{qc��%��q��� �I
+O�:(�H�=R�C"��ܫ-�X�l�]�܍��
�0��A/�R4���K$J�����@��
/��rB�B���/[iˡ's��Z
+N��
#5XJ%�X��v���͚�{�0Ӆ�ծ+�a��\���}��+te�A�#I��
sT<����
���
.��>�@��(�-�c��Ft�{
8������ف[4R)[�}���Z���i���ySq�e�[ˍ?�ع|
'є�2揖k�Lj��>��Af�>}̡	ũݭPҕ�-mk�O
��/�H����$�<4�`j+u0�����\�s�Ն���c 2Yz�����˶����d!��;����f��l�vL
t�/=��)S~�h1��`�
t�R �8����y(v��D��ee�y��׼p�A͛@:er��e�O�W����E��ݒ�
��@E�L���/9P�p��_�#�WY�'ύ�ռ�U�$мdW�4�}�{P�Nr6�w��>�ˁ;I���_���GH^���?o�[m���ԛ��T��G�~Q��S��_P��?�z����G�n�p�Ӝ�B�S��5_��(iN��	���{��v���e+�ݥ����J�_��}��M;쀸���c����׮Ձ�q�V�����{���q��CKR�p���E]�����hZ�Mn�%2��z��8��
+���δ�*����j�`
��/Ĭu�
+endstream
+endobj
+11161 0 obj <<
+/Type /Page
+/Contents 11162 0 R
+/Resources 11160 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11155 0 R
+/Annots [ 11156 0 R 11157 0 R 11158 0 R 11159 0 R ]
+>> endobj
+11156 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.275 665.984 293.971 676.888]
+/Subtype /Link
+/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
+>> endobj
+11157 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.269 490.226 238.02 501.13]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
+>> endobj
+11158 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.089 240.37 246.767 251.274]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
+>> endobj
+11159 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11163 0 obj <<
+/D [11161 0 R /XYZ 90 757.935 null]
+>> endobj
+11164 0 obj <<
+/D [11161 0 R /XYZ 90 733.028 null]
+>> endobj
+10795 0 obj <<
+/D [11161 0 R /XYZ 90 589.152 null]
+>> endobj
+11165 0 obj <<
+/D [11161 0 R /XYZ 90 574.73 null]
+>> endobj
+10859 0 obj <<
+/D [11161 0 R /XYZ 90 339.297 null]
+>> endobj
+11166 0 obj <<
+/D [11161 0 R /XYZ 90 324.875 null]
+>> endobj
+10860 0 obj <<
+/D [11161 0 R /XYZ 90 89.441 null]
+>> endobj
+11160 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F123 2840 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11175 0 obj <<
+/Length 1890      
+/Filter /FlateDecode
+>>
+stream
+x��ZK�����W� ��엂
�^�� ���^lC�%jDD"�3���>���)R#gu�9
�$�������i��>�������n�K
h���6�8�� NIp�	>��H�c
��	���n����y�l�x�S�������xNT�g��8|����?&ۤ~�d��H�0r��������_3��Ԗp�$���0��x�!��i<ճAD\�����3|�+���b�I�ڣq-O7�#�����}�%E�OO6�x�c�%���'F(	�`������(X�4w�:�4��}b&ݼ�zD���z�c\��7v��)% o&~L�q�������[��,5�R7ɾ|>�	f
�րu����i�S�%q�z���.kY�f�ͫ?��#������&<	F}���I��:M�jUqZ��em��Џ�1�� �Z�7I��,����_�GW�G�!�i�a�Z
�,1

d���g�
.<?%C:��"?%���
+8�g&i���~��E�k�	��@���V���.-G
�q��I�U�B�
��~c)���?���j-�򘬫{�ի:�5��w��㏳�3L�a/
��vNyh�l��	�E���/��(Um�>�9*\h�@��R�D�8�C���n�c��7
͉�ፃ�'А������$'��&dG �F ?W"A���*i�cOc+�!�Ӵ8]1=6217�N`�`��ڥ�{��K�d�T�v�=@<mP��fͼ�m$6NaЮf}W�BW���:
����Hx���_�FL0�O��T?p��E�w��
+��
nC�I���y'fP��5�
+aκ����R��6����ɶ��]�94�t��>��hv��	d����R�`�R�E���>ߧ��pA8Š
A���nǸ;��/h��x��Ԛ�
kH#v�;{8  �qX����@~
+_2'<[�����(ϑA�N���������㑹V�
�Z���zdF�G��}f6��h-޻���
�̜t[��Q�:k
��-.��������#1{���0T�(B�i���m��v}gj�ΐ��,�i6� � U�,�[g�Cs�{�Z�ƛ'@+��4ݎ�
1.ƚ�Ӣ%4�sگ�F��	��	�bO*����i#;�D�kAL\��	 ���6���&��`K��ߤ������
+��~���
�P/�"Ǡ�6Λ��R!BE��
1� �T]#.�+;��<�k��5�0�S)"��"�
Co=� �����ɇ�����y�vu�Ԡ!3 �:��6���
z	)_��U?}�V"v�*�u5���1���@��a����R��K�E�c��r�N}�Zּs��|�dB�$B_F2�A�
���Ɨ�L!�,�j6�2ͫ	�i�Ʌ4�N
z��;��	����Xu���&̣�F)��i��Ѫ()�'vul�a��Lӡ Wv�i��^[l
�]��"Ӥؚ��4��2�	%K#
+�-�)$�
�Ԑ�L +U�p�FW�_L5��4���"�
�e��)EX��ʕH%}%���r�TF����J�J*_I�+�|%�W!�l�)�	���j�rN�����u�Q0GƦH�?��8?��.���r��A�r�]g�,R��:^=����n7�@M:b�+�܀�W�%zCC��) X0u
+HԕN���) (mb�S���*�بP3��;����C at XG���/�Q-��C@��]9�7���2әSs^��
 B��v�<n�i%�Ӑ�r(����g(���˜"/������q��D�B��K#R3R�գ�8�Phx4��oM�iJ��mj��u����R&�s�C��?��!v��
+�hDGkQÈ�����ɧ��g��?�f��Y�`/�E���wUu\��<==�u�
��X���9
�7�=bO
+���*�!
��pާ<<�
}��0,

+endstream
+endobj
+11174 0 obj <<
+/Type /Page
+/Contents 11175 0 R
+/Resources 11173 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11155 0 R
+/Annots [ 11167 0 R 11168 0 R 11169 0 R 11170 0 R 11171 0 R 11172 0 R ]
+>> endobj
+11167 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.899 652.75 431.977 665.668]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+11168 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [454.44 488.266 513.996 499.17]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+11169 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.617 370.798 476.603 382.437]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+11170 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [454.44 203.757 513.996 214.661]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+11171 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [323.631 98.244 429.297 110.723]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+11172 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11176 0 obj <<
+/D [11174 0 R /XYZ 90 757.935 null]
+>> endobj
+11177 0 obj <<
+/D [11174 0 R /XYZ 90 733.028 null]
+>> endobj
+10861 0 obj <<
+/D [11174 0 R /XYZ 90 469.487 null]
+>> endobj
+11178 0 obj <<
+/D [11174 0 R /XYZ 90 455.302 null]
+>> endobj
+10862 0 obj <<
+/D [11174 0 R /XYZ 90 184.977 null]
+>> endobj
+11179 0 obj <<
+/D [11174 0 R /XYZ 90 170.793 null]
+>> endobj
+11173 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F123 2840 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F8 540 0 R /F13 581 0 R /F11 446 0 R /F7 541 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11187 0 obj <<
+/Length 1950      
+/Filter /FlateDecode
+>>
+stream
+x��YIo�F��W��R at 4��,�Q�C��H��$h���J�JQv�_�7
��(َ�=�&߼}���^���
M/b
(�D$��U�p
�xD��e�.$15��q�zLp���d�z
��|Z��2��ʮʤ�4�u_��
�|<�8�o���>�IW�����R&xȄ
��a��r����f8 F
���`�
����%��!��*��m�"
+7����#��'��
+â8�f-tV%۴J˽ѣ�hz�w��b��	��<�l6k����$
+�b�/שu�&]U�i��K��ϖ�k�G<|�q��7����L���ȿ�I�8�‘`�J.�������4B�HO8�TY
O�pUl�n�X��ɾ�EEqt,:�^?�G�'2��HIP3bH��N��d�W�[�j9�e����&�d�yR^�i^��_q�:旅6�V��Fa��G����	!L�#�j���
"c�������x��
�(�������@e��I�/��2�j��Lix�U�a$��s�J�(��0�xMR�Cl0�!)Or��nٜ��y?E����	H �b��A
+�6j���k��޼
�lK��v�������c
%E��~ij�_�Q�S�t�S�٢:]����[	�Ii0aEJtf��a7 nt+-2]�"��q1�]�yZB�|N�hV���;;1�mr�Z��1���puj�*����WY�&���G�´`�x����/f�y'}�
x҉ˆ�����q��8���!Ɣ��ɬaFՓV�a+Ԇ���'��-"i[�
d�[!!m�U�F�w��u�DU
u&��e�mL-MjEBo�s���*y�����I�eL�3*�t٥��@p�u(x�ꁠ���Doz��$�I!��Ax1=j��0�b*m  62��;*�a��n=�P�1���ZZO*A8>ߒ	ET44ϴA0��i���P�,~�z�}�Ŋ��Zu�8< �k�:�p�ih� 
J��W9�-�;�,�dЄ{��
�&y8����=�w���z"��9�P�
p��+�&y"�I�nһ��Ǜ›�~xS�ux�
��X}޼*���5k`

��2�u�`V�Y�r p
Aϛ�


�<H%��G
�$=	�dt
+�`�T��j��'�B�%O/�p^�\iL}�</R��E�j^�IV�g3���jѽ(R�˦ �i^l�<�LeBv}�������T��a�Y
�<��nq��1 L�B�4�
s-Kq-C/P�ik̹��Ah�Ӓ�eN�����UG�Cˠ@��A���+΢e t�i�{�>�@�qC���-�u�4z�t�V�3��
z�l�cr�躒E0P�
+"X�pt�ʒ�FŚ[K{K��rĭ�qz$4`X@M�� FlÓ���f������@aÕ�Oy�ɬF�U+�kЄa�(��D���5��8H$*y
���(Ԝx�h��Q��*6>kbp

2����]��Oz}c�z����]`��3o�eRu6'�:��uE޵,X�޲P��sۂN��&�[�m������}7M%˯�d�q*y�
�a	Č=ܒ�n��Xa��^������̳�b�@�m��I	�?�5Ѫ~��c�P�f������5�Px�����V�b7q���[����.H
�p
�y���6�L�
6U�f6�v�ͽ��aՀ����'֛�����:�B���@s����Rg��S���o���T�a�4г��
���u�%,
̿5j6
�7a��?�*?�
��X�3��%���X�	�
I���k��MR���wToˋ�_�vɢ�Nө�`�TK��@5!��n����4��=16S�C ��+�9���׺�����[o��_�b�~٧��c�C�ǟ��P7��7����}�8LS{�ָ���[P?�82����@D�S��ͦ���[�أC��J�U��n3=n
.���
Z�	�-���rx�5���� ���x
+endstream
+endobj
+11186 0 obj <<
+/Type /Page
+/Contents 11187 0 R
+/Resources 11185 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11155 0 R
+/Annots [ 11180 0 R 11181 0 R 11182 0 R 11183 0 R 11184 0 R ]
+>> endobj
+11180 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.549 616.833 195.105 627.737]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+11181 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [334.883 521.608 440.282 534.087]
+/Subtype /Link
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+>> endobj
+11182 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.549 378.556 195.105 389.46]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+11183 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.059 270.097 422.924 284.813]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+11184 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11188 0 obj <<
+/D [11186 0 R /XYZ 90 757.935 null]
+>> endobj
+10863 0 obj <<
+/D [11186 0 R /XYZ 90 608.596 null]
+>> endobj
+11189 0 obj <<
+/D [11186 0 R /XYZ 90 594.157 null]
+>> endobj
+10864 0 obj <<
+/D [11186 0 R /XYZ 90 370.319 null]
+>> endobj
+11190 0 obj <<
+/D [11186 0 R /XYZ 90 355.881 null]
+>> endobj
+10865 0 obj <<
+/D [11186 0 R /XYZ 90 89.441 null]
+>> endobj
+11185 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F8 540 0 R /F13 581 0 R /F11 446 0 R /F123 2840 0 R /F7 541 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11198 0 obj <<
+/Length 2175      
+/Filter /FlateDecode
+>>
+stream
+x��YI�����W��H�U];�r�c#��Lf:�al�TR3�H��Z���y�p)�Z�3��� �|��o���~�}w7��>�Q�RIet��R
Œ AIt��>�	F<],	�x�nA�<����݂�yyx�W�:[����~��
�^�d^�%x��5��|�v�<S�F���K1�2]�v������_3��ID�b&��q��7
m���F,M���:F�2�>Df��ZQ��#�C�:�
�je�!A�/P��v]���ڮ�ݯ�B�*�g~��J���b�K����EJ�C��J�~�=�1XP�0����T8��z�}k�=�(F)I at yC�)���	���*�Wo?9a�&7NI���_B�1����ү>��%H2��lO��.�4���=�)���&WE�j�,o��[#��J1�����8I;!��(�y��emC��%`<�$��v�hv���,��7|H@�%��k����1C)ђ��1��c�
�N8���}ϓ�C`���9��I/w{�7� �x [...]
+jA�
$�U�E�HcEN/P<�?_�SU�w��⌕���S�@�'b�)�1�Ӧ<
�”J������v�E۽6r�~#+����[_z
+Oo��׻�)��V�xLC��E
T��Ζ��؃+���qULh
v&=O�v�0���:��>��I�u �N-���6�j�������M5���6/
d�9���S��R��jk~h�81߅Z m<j�.�P�h�ΠY0��[s���$�QL�]m ou����
�>}8����9:=���3��3b�`��Kf���om��������Y�k��/uD/����!����!	c�ɾ�>d!�a
�sY�*�F�
��~5U����եit��~uO	]5�Pp
18h�)""�L��rj�M�-h��W5j����
�FE����p���5�����J�ǀ��X<7���ƩJ�t(��%8��Ȗ��J���k$j��]�ӑ}j��v}<���u�s��Z�g��Pl�R�5B�O�#��(���*jZc����Qh1E�?^?&{8���0�_��":�y�𔎊H��@��`�%o˪<���	�&,6X�I<�M�:������è��}��dZ<���_Z�:��[4��
+n�w\��r����}W\v�?�0�έ��T�j����"���J�~���[h��H#���9/�!^�QBس�ޫn�ޯ.�r&���+�-h�̌�9�d�W�QU��/��9�\G
jKQ��t�>{�/�,/�ՇǦU�b�@��
x�hզ�
��5��|��88c�
���{�N��Y�
��}����������
j�}y�^Y�	��o �
Z�
Uf> ͺ,�c��y4)��(�oO���xE��p���>�P�%�m�i/��KK
C�$����	�Ծ~�u^�'�n9�Cb�����G3���[�O^�v�C���
�#ĭG�U�*���ŀިv��>ݙ�� 0w��0�ڱ\�L�t}O��r4ћ�o����i��Jm���ߩ8
��WWFIzi����LJ��
O u�F
`�����C_G{��՞t E}H/q�}��/"�wf�Z�c�����+�
�R�c��5��gĹ�tG�y�[���־N�軞y
�1�����<,�1��i;���(�<�as��Ŧq���s��8�J�[o�"EB�I ��J����;��uw���U�n!��y�/Yq�W��s��s
=�]L����!���Qw���G$ᡴݷmu{ss>�ѦA�"�j��7Uu�����)ЕŤ���� 
�n��p�hr�����V�P
+endstream
+endobj
+11197 0 obj <<
+/Type /Page
+/Contents 11198 0 R
+/Resources 11196 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11155 0 R
+/Annots [ 11191 0 R 11192 0 R 11193 0 R 11194 0 R 11195 0 R ]
+>> endobj
+11191 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.333 652.75 425.662 667.465]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+11192 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 381.908 322.446 392.812]
+/Subtype /Link
+/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
+>> endobj
+11193 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 204.352 116.998 215.256]
+/Subtype /Link
+/A << /S /GoTo /D (main_Wrapping_Operator) >>
+>> endobj
+11194 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 160.651 206.372 189.717]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11195 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11199 0 obj <<
+/D [11197 0 R /XYZ 90 757.935 null]
+>> endobj
+11200 0 obj <<
+/D [11197 0 R /XYZ 90 733.028 null]
+>> endobj
+10866 0 obj <<
+/D [11197 0 R /XYZ 90 469.028 null]
+>> endobj
+11201 0 obj <<
+/D [11197 0 R /XYZ 90 454.457 null]
+>> endobj
+10867 0 obj <<
+/D [11197 0 R /XYZ 90 315.382 null]
+>> endobj
+11202 0 obj <<
+/D [11197 0 R /XYZ 90 300.812 null]
+>> endobj
+11196 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F123 2840 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F7 541 0 R /F8 540 0 R /F13 581 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11208 0 obj <<
+/Length 2067      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��~���S+kE��4@��&H��4;���![
[�,)��w�}��E��M�@�bQ$E��w�sHSo�Q�ş�7_F�KH"�����z�
�`�w�y���0Y�J��
��6�t}�dԯ���ʚt�m�i����vڽ
b�*�+&���H��4TJ��r�`]
J�]~��f��~��" ɨhIDD".��a��#�2��ƣ�'�wԳ^�8<
���
j��S�@�z��E�*�ѱ޶z{��͗BN��	�
F�仪m�M�\��e_�UWyفj����3�G�o���&�����������U���d웧�B�v�Ǝ�
,�2�(1��M匒�&N�Ǵiͬ�:�y�9d�����f"s�w����R~aϐ$�5�Ɇ+.	��VA@a���Z��)
P�H�, Ceՙ��*�$R����X.�~�Wf��ڧ��ǼjLOޚ
�2S�6�������WVҲ*W�|��p�%�
+ r��!%"
+�O��x8�۸9>!b��_O�lTݨV����a�,��L
Ӂ�೨�:/w�,ض��]w}����y�w;���(<�K�A
�;���ި}l�ڬ��n�U�P5m�(���\Ǻ�v�A�~��F{z�!to�C�w)�c:�3��k
aе�zD�1�cD0?�O�
:�gY&�7���n�y�d��60���X
�멖|�?Z
�Ɖ�F4F�5���
#���S��� �1���^ۖ��Qs��ަv|���P5�8��X�n�&ZU�Dza�ھ�L[�Af'^�a��9;���)�D]�\$��&�8B��lD$�|�9�ϳ�+ �D�$	]p
�B}T��=�e_ٵ�0�������@�?_&bOڤ�3����40�c�kv6�������'�������S�`�[D���n�w��K�
�
r
Ʊ�	��le�*
+��܇:�i�
�f���Z-��33X2�gVF��9��c��i��W��=JH ���K$/	�yC�)��r�^�5��־�L{c�hSk�B�a��Ѓ�OO��
+�V�ǽq��"�L�X�n`@�bND"�f=�H�h�]�R�	xQ�!�6��-mͯ��.�2,f�_5��9�S����%� �LW���Uu�m4��9�B]���
+�A���noA��iZ��:mv���Z,�:�~@3
�"Г�dFD�跓V�l��
�[XYA�6 ��zČ
1�
᝖"\�0~M%2-ED$u�~VU�H�yU�N��������<�$b'��38�7I�/�
v��t��K��R�2�]��i0 .��,
	 M�y�p
+{�yĄ[��
+q�k�@���U�[���Bd�e�N5k]0�fud���'Ny;�%s��*�C2F�
�2f2c�?�Of��P_|������}��_��t�jq
�v<�GN�pV��x��yY���㥳�"9�D���3�&=Hj�*��E��)�K�1����5�˽�oi��[:C����)����mU5Y^ɷ��8���84�
&�n�p�LV�	�
Whpτy�*{H?�}����J��+�|��
3VZ�Ls�f�[<\3����'�_uꅣ��,�q�7
$�=PYM��9�
+�4�Q
+To�<�^�.t�co4
Uπ��0*��~瀓�0����\I04�s� �2�W	�C�q
=Cx��������2aý����ݱ��K
�9iv��- dT
�^E�ఱ�Q+x�ZaQ�zjM
�KԊu>��xn�k�l�
Â�3l��6ἱ;O6�a�	w

��
�S�5�*;b�e\�N�v��9��� �B}u���A�Rő���9�[&P;şw�v��r���p�1)J��x��k��xp
����;�׻��X�Nd�Pj�u��8y�M��<o��.���t�/e<���'/G��?	2�7��#A�q {I�>�M��""�3gx�;4�G���y�IҼ��U��B��'ߥe�@�y�^'���ׄ� 0��x�
0�^��\�/�d�6�dE����]W���
�G�mI_�uC���s�MV	BC���\2��<���w�g��74�܀
+endstream
+endobj
+11207 0 obj <<
+/Type /Page
+/Contents 11208 0 R
+/Resources 11206 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11155 0 R
+/Annots [ 11203 0 R 11205 0 R ]
+>> endobj
+11203 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.155 632.241 392.657 643.235]
+/Subtype /Link
+/A << /S /GoTo /D (main_Wrapping_Operator) >>
+>> endobj
+11205 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11209 0 obj <<
+/D [11207 0 R /XYZ 90 757.935 null]
+>> endobj
+10868 0 obj <<
+/D [11207 0 R /XYZ 90 525.865 null]
+>> endobj
+11210 0 obj <<
+/D [11207 0 R /XYZ 90 511.294 null]
+>> endobj
+10869 0 obj <<
+/D [11207 0 R /XYZ 90 342.376 null]
+>> endobj
+11211 0 obj <<
+/D [11207 0 R /XYZ 90 327.806 null]
+>> endobj
+10870 0 obj <<
+/D [11207 0 R /XYZ 90 119.037 null]
+>> endobj
+11206 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F123 2840 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11222 0 obj <<
+/Length 1606      
+/Filter /FlateDecode
+>>
+stream
+x��[o�6���+��@Ő�M��h;tе����Pl&jK�$���ߡ��#)Nj

��D��s�g;7v�L^\N.^K�(��/��kGaG
+��O�˥��%15���}7%�
�M87����+�L���U��٬=<%���S���}���>��׺�L�

�R&��$�~�|;yu9�:!�vH�	�HR�,6�������FTξ��8̧��|��5��V�a�[V!��,M�5�%����c(Q`є���:�����?����R�Q|3���)�O���9uI���^���b�x� �KՆ|���q��m�%\����ÔJ����OL at k�]l��K+�kFBՂ�0�}�O�P����ZJv�#b�T��O5
��fGN�-!���D:
OIj���-�*O��a��]s��B*h�YEY��@
�FH�MS��ֹ}N���E���r�~�ȚԶ9�ޔ������X؜�)�m"�"W:�k
�����`'XH
da/{�!��mwW���@
[���Q�Q (Ė!.d��E���4��o��&#���
+j(@��-�Z3::*0�W:>�QږW[�
+���5UO��mvY��I�XPg��"���T]��ESPD����t�Hձ���]�yD�P
q,�
� �+�e����p7��Q�k����Q
1�Aq�a)Zw�b�v�sz^���<˓�V|l�
F���ʮ�l��Xh��] Z7
���I�� n��U�ۈ��.�
+pw���&����X���ݮ�Ws]��[���S�PO�/�:<��z����;mZ�x�f
]�P��o
]��ţ�(˗��'dž�h9ӛ�F��hQA��Yy�J�=�;��{��3��<C�>��\>d�?ָC�9��T[��:Crs����0��
�MR+���7x�+R�*s�eQ{:�9=�����)4�.�w�?
+�f�u��r�������i�&cZ��
ZB
0���@�q�
H+��^���h>�p�r�ً@����"�݉#)�Y����EߏET�^b���"�����
,2�VXd�M�6�[XT�5�H�@��VZO�K�s����Jbqvv{ 	B��^�&��w�)N�h����)��1��4��t��=@����P8T�k�(����--�Z
��nR5��[S�@�����f
�7�ۭ���i��D�>�
+� �
�����L.i?`� Mg9W�>�YD!��h�'��|���TP�ᕾe$������H��jD�@*�AĀC;�
RU�E��8H�Jv�rR�A*��U�e�5>�`/��� ?$Q~
+��&&���`Uȡ�|�p� �
+䷨a�U��cU
%�����J��hգ��
+:v' C�Z��Vv�T�hЄ���u��̦�Ra�Ռ����k�9�ye�Z�{���1�(�,�K��wZ1�ك�����㓂Y�O��f}<����	Y��D�d=��P����??�U�ܞ��\!��Qj�3�e@�|�Hƾ�8c_��t��i]e��ƻ"�k5����1;(F�e
|Е?�]_����IQɍ�$�n.6Wy��]\��{���.��)��
�����m�B���7��^�$�U���Mq��q��q��
+endstream
+endobj
+11221 0 obj <<
+/Type /Page
+/Contents 11222 0 R
+/Resources 11220 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11227 0 R
+/Annots [ 11204 0 R 11212 0 R 11213 0 R 11214 0 R 11215 0 R 11216 0 R 11217 0 R 11218 0 R 11219 0 R ]
+>> endobj
+11204 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 665.984 353.45 676.888]
+/Subtype /Link
+/A << /S /GoTo /D (main_BHRZ03_widening) >>
+>> endobj
+11212 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.659 595.902 268.34 606.806]
+/Subtype /Link
+/A << /S /GoTo /D (main_Widening_with_Tokens) >>
+>> endobj
+11213 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [286.885 444.617 373.57 455.521]
+/Subtype /Link
+/A << /S /GoTo /D (main_limited_extrapolation) >>
+>> endobj
+11214 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 432.661 167.927 443.565]
+/Subtype /Link
+/A << /S /GoTo /D (main_BHRZ03_widening) >>
+>> endobj
+11215 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.659 347.073 268.34 357.977]
+/Subtype /Link
+/A << /S /GoTo /D (main_Widening_with_Tokens) >>
+>> endobj
+11216 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.644 183.832 376.001 194.736]
+/Subtype /Link
+/A << /S /GoTo /D (main_bounded_extrapolation) >>
+>> endobj
+11217 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 171.877 167.927 182.781]
+/Subtype /Link
+/A << /S /GoTo /D (main_BHRZ03_widening) >>
+>> endobj
+11218 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.659 86.288 268.34 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (main_Widening_with_Tokens) >>
+>> endobj
+11219 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11223 0 obj <<
+/D [11221 0 R /XYZ 90 757.935 null]
+>> endobj
+11224 0 obj <<
+/D [11221 0 R /XYZ 90 733.028 null]
+>> endobj
+10918 0 obj <<
+/D [11221 0 R /XYZ 90 531.541 null]
+>> endobj
+11225 0 obj <<
+/D [11221 0 R /XYZ 90 517.166 null]
+>> endobj
+10919 0 obj <<
+/D [11221 0 R /XYZ 90 282.712 null]
+>> endobj
+11226 0 obj <<
+/D [11221 0 R /XYZ 90 268.337 null]
+>> endobj
+11220 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F23 368 0 R /F123 2840 0 R /F56 367 0 R /F72 404 0 R /F79 505 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11239 0 obj <<
+/Length 1517      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��F~�W��5R�>6U�(�*i�4�>%���blb�%�����
�n�Ԧyٵ�gΜ�w>��y�{9��z0�R�
Q(��o�{J$(���{�`���`��7C��([E�7C��t�[�yM�o�(�M&��!	�4�����e�������Nf�2.��
~�~5xq=�< `���D(���f����؛��+#��J�<N�_z�p�>�]"����DDr��/3�.�4ɭ
�J�W�{K	�¡7"�$�S���$N�
���2�O��n��I��8��
i�B
+���E���1��ߚ��+���`Qm��1sB���P�j�E�;��є��T2?�(1a
++�]�B�lTDɼG	����Y�!D!)k�(���"]���n7��Y�ZGE|�����fNd
C|s��Ȩ�F
+�Hy!M^��Qia;�#"Ɉ7��*
1$pY�����x
��4�d�
+��x��8��B/�w����cD(���OPĠH;�
��W��
I���1U'ws(h-�I�Uz�Ww���{���
o��������.
�g���DAz�gDq���s��bN���n�6E��G4`�h#�8&��v�f:�,
w�޺��7d��
d
4���J�{�rཷ��H��F[��
�(V�
+� �ȣ���q"Q��)� �k�
 �u#
ိT@W�o�-Z�Bg�D� aA[�
Eb��g.C�٪F+QQ���*Ƞڻ��E_ 	 J%s���H�(6
go�\J��$����bэ

6��p��u;���0��zf"F��ڡ-�
�x�	d�=����Q)Zc�]�7�0��Ȃ�y�i�z
�>��d��q��3X�
N:�QP��L
i�
 n`�!\B`m�;`/\g��$] ������}\�pyW,*`�
���^F�RP�I�y�
�nӀ�{�޾�����L�������(����&P��$��5#�c�b��5�Ĉ
lƹ�b���	9$&�<��,�U\�������"�/2�ҰPmY�1j∋-�G���4�d)�Þ��
 �����^�8� +A.�{�@J���!�p>��t�)�KVt��!r��K����i�!Z�!�eC�
���R�D�ۥz���?b�N\��������9h�?4&�0�a�%d�+O��t��F�P�3�
�.�݉���錌�
�,?���x3~K�L6/&���L%
r/O.�5�oh�{�G7̧a8Ֆ&I�\�:��w�����?�}���!O��i<�&�$��<U��<�?�S�?�1�c?O�HHv	ަ����v�Њ�2),ԛ�Q�v��b��,S'}���
lj*8��E��8|��5#'��A��`����Ɉ0&�
���4v���
 ����:d
��)����K�H�Ǔޘ��*o+�r�%N���r��h,-��Q��t�
9ʔ�u� �č�
|���9�>y���MQc-	(��W�EQ�'��v�E�
m�x���u͖‘"u�ޚq`�Z���x/,�l�
��o��
�
+endstream
+endobj
+11238 0 obj <<
+/Type /Page
+/Contents 11239 0 R
+/Resources 11237 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11227 0 R
+/Annots [ 11228 0 R 11229 0 R 11230 0 R 11231 0 R 11243 0 R 11232 0 R 11233 0 R 11234 0 R 11236 0 R ]
+>> endobj
+11228 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 595.014 335.736 605.918]
+/Subtype /Link
+/A << /S /GoTo /D (main_H79_widening) >>
+>> endobj
+11229 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.659 523.418 268.34 534.322]
+/Subtype /Link
+/A << /S /GoTo /D (main_Widening_with_Tokens) >>
+>> endobj
+11230 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.631 369.772 359.783 380.676]
+/Subtype /Link
+/A << /S /GoTo /D (main_limited_extrapolation) >>
+>> endobj
+11231 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [491.531 369.772 513.996 380.676]
+/Subtype /Link
+/A << /S /GoTo /D (main_H79_widening) >>
+>> endobj
+11243 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 357.817 128.077 368.721]
+/Subtype /Link
+/A << /S /GoTo /D (main_H79_widening) >>
+>> endobj
+11232 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.659 270.28 268.34 281.184]
+/Subtype /Link
+/A << /S /GoTo /D (main_Widening_with_Tokens) >>
+>> endobj
+11233 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.644 116.635 376.001 127.539]
+/Subtype /Link
+/A << /S /GoTo /D (main_bounded_extrapolation) >>
+>> endobj
+11234 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 104.679 148.55 115.583]
+/Subtype /Link
+/A << /S /GoTo /D (main_H79_widening) >>
+>> endobj
+11236 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11240 0 obj <<
+/D [11238 0 R /XYZ 90 757.935 null]
+>> endobj
+10920 0 obj <<
+/D [11238 0 R /XYZ 90 682.134 null]
+>> endobj
+11241 0 obj <<
+/D [11238 0 R /XYZ 90 667.564 null]
+>> endobj
+10921 0 obj <<
+/D [11238 0 R /XYZ 90 456.892 null]
+>> endobj
+11242 0 obj <<
+/D [11238 0 R /XYZ 90 442.322 null]
+>> endobj
+10922 0 obj <<
+/D [11238 0 R /XYZ 90 203.754 null]
+>> endobj
+11244 0 obj <<
+/D [11238 0 R /XYZ 90 189.184 null]
+>> endobj
+11237 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F123 2840 0 R /F79 505 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11250 0 obj <<
+/Length 1801      
+/Filter /FlateDecode
+>>
+stream
+x��XK��6
��W�Vy&�II�d3��3�d{J2
�ĵ���Hr�ί/����>�͡�\,�A�#�2v�v^/~�^\\��	Q(�p�o�;� �S�\'�{�`���`�ݫ%�nT��jI�[��T&u��3�����^���$p�r��
���QӘ�[y+�;Y��zLp�������ū���˰C�%�G�ǝ�X������8ya�
�T�0��3w�-�^`��׻ D3ǧ���֫����mǩ��K����ǡ��'�Ԩ9Nv^\r1F1�ᅖ�� ��@u �i�*
`r8��3A���7Vh��Ă���Fc\�m��21Ӭ4;�a��'h��ƞ�����	�L�f͜	

+I'���)|+�x
��FZ�<� ��Q�N��ͱiea��m�u���wkCn�t��E���Ւp����
�vp�ك6��c>i�G�݃Qm��	`K�k���r5cp8x�_i�a1����ɶ�NX���
�8�nri�7mUg�ּ6��j�/n�Ff��H��Q�僂���RC����96Fpb�f���C*u|��$� A!�ƻh�ˏ�
�F�y�������y?\@/~�ڴ��ޠ1�vW"��he�����	:��	!�F��lC����Ww����l
7m�^C�1 6ʳd��}!��A��ءC�C�•
ູ���L�� ����}1�DgO0�
p�bP�Ɍ�{-�!�GB�"Q-��m�Xm�����b��S�C�F$� �nm������H
oG��I<x!
�����`T���g
��U�"_��)��u�$�f�$n�Moz��6R��V9���yP�&���6�q'�7���t�f1㰦��s2s)@n�!d5��g9+I��K�(=9s�. at L�\^J
��wQlYx���UD�F�9��*O�jV�HN�3��*���&
�B:	C��v���E_ {:�S亪!��k�E0
+�y�(�ܶ�F�5`���>G���HP�Cvk������Sp�{8��og�J���B�$T��s��qu�
M\�`JSm��j4@�a(h~��=I}O�<%w��W�"���JQ
ҥ����!g{�@�@1�r����q�	2��Β���<7B7V�M��S�z�Z"m�=Ͷ��VWO�21�i�#�[k�fad��
���=��Ԫ��4���^��%�\ξ*
�<��
�3R���TK*��s�w�e�zڣ�>m�Z�kV�ޗ��Q��M��4�{��hmZmu�U;�Qo�XyX��
+O
���6m�d
+/�Zt;�_�rݚ��m]fd����r�;� ���B�
+N�
�Fj��3���oG����F���Nљ
( �\��L� S-o��z�!���.�a؃���B ��XL�kJ-�}�v�wݜ~X�5v�@�AU]�]9&؈c�C
(`��﫶#c������%�.�wU
s�N��+�
b�߂Q�!����� p+GRs7�>��G.\���Ρ������
�ƺ
�����S���异�>�&;G�L| z�= �
 ��ȡ��� :� d�	bd
:
+0|�B,���}�f�`�9M�L�3"�B=5���>���Xe�('��{TEzg�����|kL��?ܧ����ۀ<�S���c����)?�)���_
�p<��k�o5
6�	P�C�9;	�+���Z;���L-��?��Yr�� �+*���O���.j��^����_3�q쾓�uƯON7���;XK
+e�O��mw닋�����lW������s�GZ����툧�j�,�J�3���>u
+endstream
+endobj
+11249 0 obj <<
+/Type /Page
+/Contents 11250 0 R
+/Resources 11248 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11227 0 R
+/Annots [ 11235 0 R 11245 0 R 11246 0 R 11247 0 R ]
+>> endobj
+11235 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.659 661.123 268.34 672.027]
+/Subtype /Link
+/A << /S /GoTo /D (main_Widening_with_Tokens) >>
+>> endobj
+11245 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.639 408.862 300.161 419.143]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a73cb0d61cccb259e06b68d4f83deb6d7) >>
+>> endobj
+11246 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.639 114.189 300.161 124.471]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a73cb0d61cccb259e06b68d4f83deb6d7) >>
+>> endobj
+11247 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11251 0 obj <<
+/D [11249 0 R /XYZ 90 757.935 null]
+>> endobj
+10923 0 obj <<
+/D [11249 0 R /XYZ 90 594.597 null]
+>> endobj
+11252 0 obj <<
+/D [11249 0 R /XYZ 90 580.027 null]
+>> endobj
+10924 0 obj <<
+/D [11249 0 R /XYZ 90 304.104 null]
+>> endobj
+11253 0 obj <<
+/D [11249 0 R /XYZ 90 289.534 null]
+>> endobj
+11248 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F79 505 0 R /F23 368 0 R /F72 404 0 R /F31 506 0 R /F7 541 0 R /F1 580 0 R /F8 540 0 R /F11 446 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11262 0 obj <<
+/Length 1859      
+/Filter /FlateDecode
+>>
+stream
+x��XK��6��W���@�%)>$��I���7�$0�2�VcK�$�w��;|H�k�&M�
lQ�h��f曡����j��rv�Rb/F���[�y1�� �S�-��;�`��y at 0����`?)���zN�_�
�j]&�߲�2)���D~��ʱ��.�*;�Qw�<Sy�@o���d��׳�٧��a���p�dȽt?{�{k��aƑw2R{���;����Z���*",��j���� ~���'}C�ꐤn~��U^eE^��S��Y�['Qo��
����>�7V�n�o��VU�����?�?UY�,o�);����"�'��f�֩s�mR��� ��b��L�Z���j=B������K�W�U��v����L��$���N�
�[Z�f��{�פ̒۝r��1�
V�,���[��D}�Z�LJ'� ����6Q����W���O�d�}�}�@eD�����3Г@
jd#
��>�鲶��w��b�m�
+g��
^��<GZHB$��a���y�0��cJ�pH:�
3�kdo����ei�H̽	��wZz�-��
:RI��I�kg	�N�fd�� �
CJ��mr R�u�3{o�A��㮶c�0�U�!N]�	�(,� P�"��{L��z�1I� BX6b܉��JP$y���s�!}
��>�Jb$��Mt�1�� i�a�7&<
x���Ԕ�c�p|�ӽ��1h��P˄����&I8������(�
+|N.��@�!�(��4�V�W �A��|Bb�
�L�A�t�f�6�-v��D�N
�����B�{�����).��
+.@[iR�
~+����TFi]pB-��ɉ2���!e0s�*�^p��Y�S4j��8a�F>v\�U�P���M+��ٺ+�@�c_2k�g���1�pG4�F��X�
+�$9
)�!�ܸ֠
����{g6s8�p�݀�7y�d��ݒ/ڭ�߱
" ��/=-6��@ú�G
pʵRYްl��P�k�8�Q��Q�q Hx	�5^<��P���}��cX����N��׋l�A�$�l�J���F=�L�
CIˆK�LGИ8�)]/�n<!&�3=���y��1��� �1��)���
+�NcF:��T���+U�г|M�!���a$5�p����~����!��nmE��X9a���
]kZ��I?p}��)���nSe�M�o��'2w z�C�lq�
�'+�Ԫզ)�ᬧ !�e!4E�DpD ��,���Ř���:귧�}��5��Т�V;W
 �m-q����<�m׽z�\'6Y
+�ıl��>)�	,( �K���A�r��cw��)iZ¶�*� i��ڻ��{ŵ��w�gu h��8�bh�z
�\�������w��S��Gpٚ��������9!���d���
�p`�E	-���]sok��q_�eo�v�����!f�u��W�d�ߨ7i˃��
�뱿}v��
���n}����K�!��0g: ��.��n�̶���	�49f���!:��i��r=A�r�V�7�U󹥜dW�
v&)�^Տ5I�Z�
�\�V��6�AĈ^��8��K|
+�W�ԡ�ߓJ;ٳ�M<���}��
#���h'��-{����%��Ds҇I����lf"�B�S��:����{2튩�8�C{ԋ�'�
+Nt27C�
+&�3Q����k���B���T�M�e�]Jz��7��FO��_���a�8�gԍ��a�p

 �=��FZ膟�E�ѿ��|�=� <��<��k
��s�mC:��1����R�������In?1�X��M�ҡ��Zg�����F5�m���5�_m|�-�h�_���aquu:�PZ�c�
J��W���j
o
-pԓ瀻k:�}�
T�
&��0��C�
+endstream
+endobj
+11261 0 obj <<
+/Type /Page
+/Contents 11262 0 R
+/Resources 11260 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11227 0 R
+/Annots [ 11254 0 R 11255 0 R 11256 0 R 11257 0 R 11259 0 R ]
+>> endobj
+11254 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.334 554.088 236.659 564.992]
+/Subtype /Link
+/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
+>> endobj
+11255 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.635 481.211 256.157 491.109]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a73cb0d61cccb259e06b68d4f83deb6d7) >>
+>> endobj
+11256 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 340.801 206.372 369.867]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11257 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [448.024 295.197 483.212 326.165]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11259 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11263 0 obj <<
+/D [11261 0 R /XYZ 90 757.935 null]
+>> endobj
+10925 0 obj <<
+/D [11261 0 R /XYZ 90 643.364 null]
+>> endobj
+11264 0 obj <<
+/D [11261 0 R /XYZ 90 628.794 null]
+>> endobj
+10926 0 obj <<
+/D [11261 0 R /XYZ 90 472.244 null]
+>> endobj
+11265 0 obj <<
+/D [11261 0 R /XYZ 90 457.674 null]
+>> endobj
+10927 0 obj <<
+/D [11261 0 R /XYZ 90 276.277 null]
+>> endobj
+11266 0 obj <<
+/D [11261 0 R /XYZ 90 261.707 null]
+>> endobj
+10429 0 obj <<
+/D [11261 0 R /XYZ 90 122.632 null]
+>> endobj
+11260 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F23 368 0 R /F31 506 0 R /F7 541 0 R /F1 580 0 R /F8 540 0 R /F11 446 0 R /F100 1390 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11273 0 obj <<
+/Length 2388      
+/Filter /FlateDecode
+>>
+stream
+xڭYK���ϯ�ɦ*+

I(�
��:q���z�ˮK�!�z)R&����Ƌ/A���^$���nt7q��৛��ܾMp ��i
����$&�S����`�՚`��w+�ì�g�w+�æzy�E�m)�۬}�l��W$
�z��
�?TYי�{�����s	rY�0J�����o~����f8 Z���� ��|�
��9���4xֳ�AD�W�o7���VQ�p�'V!�xjM���Pe�Tjܾ%d�n
+��7�ff̤���p�����=��"� �ˬھ=�y_&�k�QC+��EA�'nƓ�۔�l���Y+9��$1J0�A�[.l�f�����r[�{Yw��ڿ$	?b�Wk�y�ý���Z	O��;k,���(Ax�尃W<�ݼ�ޠ 1�y<��)b8
+��M���^�!�x��4��Ep�� [
ʼoZs��0�,ϛ�(��Jcok�ڶ����	>�������``,�f7�P`$D
� �(l1����f/�B渓h  �`�
�'ò��RJ�^�9��6Y�d^�^F��eח�B�e������}B��Q
>�5���3���
�4��wj�S�“�Q�Y��6j�SYȅ��������`�~l���?�
D��E2��0Up�4�a
�1�`D��͛��ge�\M�]?7��!�Ol+�c[w֩���Llw��=J�L
+-
�Q	���$���
��z1#�HC��<���u/�܁'�b䉺��`��7C���RH�H�7�uDIX�vu�~�|�Y;�Kg���)���؂r�
�cZ�B�� �%���)L� W��7��J��ܽk�2��,]����K�gU��y�r״���tn���
+R�*DP3b����f�T�&µ��o
�a#OA�#ӯGCظ�G<=���!1p�j\7�<�
�l�җf��o ���"6w�!TmM�Q���>o��[:��$c���rܛ�'e_V
����f�l�ܻ�B��e�J�8{<���p��ۈ��q�pD�!��4�=���+�SD�d�N���t��Ql���q�D�u{� !L�� �R	��o��7���;s�/�w���K�"{_��#Ct�y��צC���
+���H��ЄO��:
!�{7���	��Y
`������/��
������a�R7A�o
�����M ��W��Pk8�ҥ/U�@v	��I�b�(|�h�p/�L���t�}*��4�
mR�2g�+A�%P��7Nwk�bH#id�s����eFJ��`��L��/z��"&�mM#
U���
8���]b��qODO�u��� ቈ+|���K�	#f0��Z첪���(T��
+
w���/����/ណ�j^�y�M�Q*�j_�`���e���'��l�ߓ��D�(J��To!��u����N+������#&He�`aL�I͡������9Ό3��/����� �o5��_E#�"ucW3��j���1�>	��e�h
ڙ ��A�
r�]ޖ������T�k�R��E��K@�C���7N�ðJ�L핯.^��X����
ר�#�9|M�j�����M%0u=��[	
+��쾒�N�kJL�y�Z�����E�N<�7��O@�����i���+'�pDl�Ē��VB5�M���8],���qB�
4���U�6�kZp�CSϚ-
Od�|S�z����K�
+�!'�i���o�k�ڝ��T�vZL�d9v��B릺�ª?��_��-Z[��.ȥ����(�{�����c
#��_�\����q�@]F�����\
L%�E{&&��/6��P*?eUYl���x��,��d#[S~֗Jm�U�2�!:�n��80�p��Ų=���%��	�[��HA&�U�~���m������&��8�
&�����%T���QL��t� �|���p�Mg�9V�y�g���4p�`�\�
�H58(
ۗal�������%S"H����^�Q�R��kBVJ�,$��`�H�
+�qH{�3�Q����x�`�4c	֫�ԛӧl�`2ٱC�3p�f��G���z1��bP.�$�[��h���O�g�t��8{֜�m�=��t����|��A�w#�v>B9�$1�
q���u<B#���RG�U�:�m�I)p'����k]�0c�S%z�C'y煔3$^����̡�y��������{��t! ��H��x�(
�}\4�WW�@�����#�!:��9���Ѩ�=-O��^S�c|��L����Sr�;N� �k�b�װT��c���57w�IٯY{{��s����卹�o'��W��6g�OV��;u`�/��@%B�WG�o�U�ƮO���
P��$�'c����������
:��Ee{8T��'�D
+0/+;�������5��g��B8����,K�
+endstream
+endobj
+11272 0 obj <<
+/Type /Page
+/Contents 11273 0 R
+/Resources 11271 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11227 0 R
+/Annots [ 11258 0 R 11267 0 R 11268 0 R 11269 0 R 11270 0 R ]
+>> endobj
+11258 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.376 654.028 385.519 664.932]
+/Subtype /Link
+/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+11267 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 362.234 239.856 373.138]
+/Subtype /Link
+/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+11268 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.639 143.592 300.161 153.873]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a73cb0d61cccb259e06b68d4f83deb6d7) >>
+>> endobj
+11269 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.144 103.427 182.164 114.331]
+/Subtype /Link
+/A << /S /GoTo /D (main_expand_space_dimension) >>
+>> endobj
+11270 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11274 0 obj <<
+/D [11272 0 R /XYZ 90 757.935 null]
+>> endobj
+11275 0 obj <<
+/D [11272 0 R /XYZ 90 733.028 null]
+>> endobj
+10928 0 obj <<
+/D [11272 0 R /XYZ 244.439 365.387 null]
+>> endobj
+11276 0 obj <<
+/D [11272 0 R /XYZ 90 348.66 null]
+>> endobj
+10929 0 obj <<
+/D [11272 0 R /XYZ 400.69 106.58 null]
+>> endobj
+11271 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F8 540 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11283 0 obj <<
+/Length 2181      
+/Filter /FlateDecode
+>>
+stream
+x��Y[�۶~ׯ�S+�XX\x��Τ
;����۴ף�JX��D2$������ !a%m�}B����@8ZG8�f����
G�����]$p��%�D7��Ӕ`�ٜ`���gO�f�/��(�V�Ǎ\5����ɛ������iU��4���ۼm��y'�;Y.%�eq�L�,�}��v��f�ۄ�f8"Z�$CK��n��3�V��m�<�׻vQL|n����&��U�!�&#�C)��}Q�U�
+�,h�L��z}}7�	��m�/�bU�d�U����	���d���N�
%1
GsB�H�v?����v+��G���I���-�;�,�Δ��/��M��l��1J)�w��d��8�w��Q�P$A����4b6%�hӜ�H&�9�3��Έv�M�����̣�:�^�V:�N@.����4E1v�eW�DeH
��}I
	'��S��9s"���yN)�Rl~b�*��NU��9~(G��'N�o��G����z�8��yT��_�*kֶ�>|3�>��?�!��p�
��䲳�YVM#ۺ*WE���.l��־������
��;en-�HkA��=�/_�W�‡��m�rdl��+����z�`��d�t��3/��_�w��E�wn/����w�V�l������b?��<,e�i7?+�ĀBm������
�m�Z��z���H�PF7��R�c��xg�
+P{�71"4��@��Hp�nSK=C�3W�9օg^��jW�*����z}_t�"0�;
	�ĸ�T5�ș
+��R�� kƸ��8gX ���~�,��(��r��4;��>�������U�]}�]���}�~�
)�N/1��mpt�MT��(N-��
e'G��
���K�a�Re�kl���6e2ւ�x��e@>xک�
+�и��d)60E�/�ӿ��|�%�ԕ����*���Ά��
�k0�4
��)@�^��3�>MEF����ګ�318A)�ZSk�6成ć��M�*G1<���n�S_�Űס�>�sS̰'�5�^v�B3�"��[��s��t���sr��Ӽ\�]:��|�P�yn5˪3J��rw+kJ�23�����^�� n!L��Kx�	����i�8�şE�F�&����fΎ�
�A� �f�x�.I�;>�"7��P��R���˟���
���������k�s;���7<�G2U�x�!�k�$>��,��4�ԡ맢�B7�
��X
+N���e)��{m}� �rP��LSe��7�1�uV���,>��!^d�����g��w��$�N$E|�+�8�u�5˼�c&�h(R	p��S
������d�1E,u�}8��O�9_����*$c�~�}
���|3#ɇj!p��E�? 
P��bY��f�l
=��{��
+,Q�,��V>�n��](7��o
k�R�Wa��&Py���/B��.V Pj��I%�3�](�
��K����r��/7}O̻��D�h������W�3tK`0K�|�4� P�zN���Je�I%���cH�>Тp/-S �p/f�^���J�O���vrQV��O�e��+x�Y��}��g߫
'5L�� �9�c�zr�~��U��
 ���ʇ�{\���\�W-K���p�_��!��䲓� ^P@�������m1��
�o��t�
q�
Ï���s%pkO.Q׆+s6U�`�]"����Z�
�IuӼ�S ,.��Y��7i��U��a�J�������@����)��(��94�~��C����[h���
�B��>{

C�po�O�`�W���eS�Ŕ��7&zv�=��E�qn�����or�ұ��/#����¼�0̛�N^
YԞ�D
 T&NP�v�70���W�"E,��U��O��7��B�� J�
+����}`�C���b�]W
�og�ž=����4��[��N�
���{(���>�N����
��Sk\
sv��P�d�U��2 ���2N�"�HC2\�
���xJ���o,�4f����,^����߿�׻�_Bt�,O�(p�/*�[*��?Q���pV������S �Id�{�"���׾������/�he��� ��r�����ۍ���E
�a�"=�}�}^�~����&ڏ���S�.]��t]}}uu��-ڗEݠ������q���@=eĕ�i�:*�^%,��΀����
+endstream
+endobj
+11282 0 obj <<
+/Type /Page
+/Contents 11283 0 R
+/Resources 11281 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11227 0 R
+/Annots [ 11277 0 R 11278 0 R 11279 0 R 11280 0 R ]
+>> endobj
+11277 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 625.407 206.372 654.473]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11278 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.635 556.283 163.823 567.187]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11279 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [335.397 507.911 362.844 518.979]
+/Subtype /Link
+/A << /S /GoTo /D (main_fold_space_dimensions) >>
+>> endobj
+11280 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11284 0 obj <<
+/D [11282 0 R /XYZ 90 757.935 null]
+>> endobj
+11285 0 obj <<
+/D [11282 0 R /XYZ 90 733.028 null]
+>> endobj
+10971 0 obj <<
+/D [11282 0 R /XYZ 487.765 511.064 null]
+>> endobj
+11286 0 obj <<
+/D [11282 0 R /XYZ 90 494.899 null]
+>> endobj
+10972 0 obj <<
+/D [11282 0 R /XYZ 90 385.985 null]
+>> endobj
+11287 0 obj <<
+/D [11282 0 R /XYZ 90 371.977 null]
+>> endobj
+11021 0 obj <<
+/D [11282 0 R /XYZ 431.18 296.912 null]
+>> endobj
+11288 0 obj <<
+/D [11282 0 R /XYZ 90 281.37 null]
+>> endobj
+11281 0 obj <<
+/Font << /F70 402 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F23 368 0 R /F11 446 0 R /F8 540 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11304 0 obj <<
+/Length 1886      
+/Filter /FlateDecode
+>>
+stream
+x��Y[�۶~ׯ`ۙ�������d&i��$i�������J�S�THʲ��{@ AC��M;m�HB�~��9�
#
}=��vv�B�(CYB���!�p$�%��:z��/�8~9'8Λm~�rNq\�ǍZ7��w�}�7���,�]մ�������!#�$c�%
��⟛-�	������2 $CI:���E����v��Ƿ��j�+�N��W�A5s�ƪZ����\J-t�����18"}d�D��h���y��5�aIJ4:��
�e�z���e�N�e�!n���)T��^����h��b_�����ӗ�j�UU��K`9�]P��<��X
m�^.�3�����ab.�N5yW7��	�Hʆ�ӗ��!�?b
�ӠN
+:�<�bDq"�g!-%t0dUWmg�CSk�12�e1*���&�(���F�'��v-�3�,Z�2a���19{k^��
.A7�����
?�ݾ3I
� D�\R����7E� %��8ח$P���yi��kT;@��T?X7��M��p<	�g2 �!Zi�A
�!s��B@��U���L����r �:e�-B�
+�hJ��ՈN�2*�����Y��՟B�`֟"+�k�!?(�RБ2�-Hl�‡��
e,�
K�]v�����ii���x_s*�w	��͏c7a!s��EUl�����c۩��	pү���ɋ�k�k�#ƴ*�ǀ�Tr$iv��\�fNb
��mTs(Z��ēq���~<�4�ŷ
+K�ue���u\�U��9����\��^Q�
+�>�d>i#jI���K����S�lHP`�J/��J������`�?C�\�	%^�)� 7��c at O6>��r��!���1	E%����MՆ�P���s'2#O{0箖�Ui
�6x�}@>Ըd K-6@
	J�����t
&N�+�6K���,Ԏ�q�
|_�F��n�w�8t*�^�*;�3^�e�W#!��hl�W�
w58S?
f��@�����0-��EQ���J�}i_" ���^ܦn�׫�U�*,�
0����e^:�x�@�}�O'O��e��ǨZ��ba_	2���N��u�d2��C�3w�/�}j�=iw at D�E2�H�_d�3���yq�(;�r
I%�D�7I�
+�$��
ɼީU��P�BD�42@�o_����wr��b�3z�q������}�M�q [��C� ��*5*^M�u�*'�,M��U�!LK��7�h��,��A"�6�Ph�]o�ڵەhsj�
<h]'�����_mr�܎�P8J�D��C�@
��̎��M���Y!WL�!�%����� ��ɑqy���GÝ��S�[ --^����p<� �Z��*0��8~
���
“�Jqi at _dq8\�
-�^���b�B-y|ܙ�9 q�G:��0�F�s��@�Z�F ��A���;�(f]�B�μh�̧���~x��Iޗ����C��	O��$�^���f@����2�B2]����#ˡ?R���j3�yY8���⮙3	c�zq��ua�{���)���I
�zZ�O�
��U����B�Ǧ��������Y�Q�Ҽ�~!�C
+�� F=�r�z��=	M@��t&��hJ?M'5�SׁJR8��T�r����+ ����Ft/�S�P�1,��\�)eD'e�Z�\r�
+Z����C�P/
~��w.��8G�O����\�4�"���*�,��
+?��o:�`�;@K/��Sƌ�_E0��o��s 
+��UP��#��Ӑ�'�!��	H���?"D�����eo
4���u��Ѷ���o�j��?R[b�K^�
��A֥rhh5(�D������f��G�����Z�Bg.��t�nyss8
ЪE���5��n�-���k
ITH2����lk�	��`q��f~: ���/��
+endstream
+endobj
+11303 0 obj <<
+/Type /Page
+/Contents 11304 0 R
+/Resources 11302 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11314 0 R
+/Annots [ 11289 0 R 11290 0 R 11291 0 R 11292 0 R 11293 0 R 11294 0 R 11295 0 R 11296 0 R 11297 0 R 11298 0 R 11299 0 R 11300 0 R 11301 0 R ]
+>> endobj
+11289 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.034 235.99 264.203 246.894]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ad25e2d27e5d731e6b63fb84a65700faf) >>
+>> endobj
+11290 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.941 235.99 305.705 246.894]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
+>> endobj
+11291 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [357.181 221.369 391.739 231.274]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+11292 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.046 197.135 290.215 208.039]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ad25e2d27e5d731e6b63fb84a65700faf) >>
+>> endobj
+11293 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.953 197.135 357.729 208.039]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_adab8b3f43dd9a5e707b95e15a9c282f8) >>
+>> endobj
+11294 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [311.435 182.515 345.993 192.42]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+11295 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [235.8 158.281 266.564 169.185]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
+>> endobj
+11296 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.301 158.281 341.41 169.185]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a36becc8c3ace976043199807351d5b04) >>
+>> endobj
+11297 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.817 143.66 323.613 153.566]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
+>> endobj
+11298 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [235.8 119.427 292.576 130.331]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_adab8b3f43dd9a5e707b95e15a9c282f8) >>
+>> endobj
+11299 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [303.313 119.427 393.434 130.331]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a6f4469416e02c586de17284317f8a92e) >>
+>> endobj
+11300 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.817 104.806 347.024 114.711]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_adab8b3f43dd9a5e707b95e15a9c282f8) >>
+>> endobj
+11301 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11305 0 obj <<
+/D [11303 0 R /XYZ 90 757.935 null]
+>> endobj
+11306 0 obj <<
+/D [11303 0 R /XYZ 90 733.028 null]
+>> endobj
+11022 0 obj <<
+/D [11303 0 R /XYZ 90 716.221 null]
+>> endobj
+11307 0 obj <<
+/D [11303 0 R /XYZ 90 716.221 null]
+>> endobj
+11023 0 obj <<
+/D [11303 0 R /XYZ 264.215 603.253 null]
+>> endobj
+11308 0 obj <<
+/D [11303 0 R /XYZ 90 586.526 null]
+>> endobj
+11024 0 obj <<
+/D [11303 0 R /XYZ 161.222 499.505 null]
+>> endobj
+11309 0 obj <<
+/D [11303 0 R /XYZ 90 484.78 null]
+>> endobj
+1473 0 obj <<
+/D [11303 0 R /XYZ 90 360.036 null]
+>> endobj
+334 0 obj <<
+/D [11303 0 R /XYZ 90 353.436 null]
+>> endobj
+11310 0 obj <<
+/D [11303 0 R /XYZ 90 253.061 null]
+>> endobj
+11311 0 obj <<
+/D [11303 0 R /XYZ 90 216.229 null]
+>> endobj
+11312 0 obj <<
+/D [11303 0 R /XYZ 90 177.374 null]
+>> endobj
+11313 0 obj <<
+/D [11303 0 R /XYZ 90 138.52 null]
+>> endobj
+11302 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F21 2359 0 R /F79 505 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11341 0 obj <<
+/Length 1792      
+/Filter /FlateDecode
+>>
+stream
+x��YKs�6��W�3�����!I�i�4n�쌆!	
+v�_�RMIV,'��&E���ŷ��غ������ə�� .u���`�s	�X�u9"ql�	�xtn<
+�$�����xu#�<��!gy��NO�c5�N�(��&g�t䓀!�:0{-�'=dC�����r at H�\���^/�(�1�xtat$�e
�B?y'"��?�

y�:#��Г_/N>��-R{�{�cܚ''����WF,�zTb9��5�ޟ�u�wz�2�]�5<�f��k�ވd��gU:/e��:���j�YcJ�c,�.�j^f��9L#}�R4o6�Mθ��
C���2�(�=
�G�k�w���+�d6��_�zY�p�9�?2h8)�|P���U�C�1(��A�X�U\j{�kSO�1�� +G���Ƭ�,+�,��٢�r��)�R�#�&|��<+VE)�e�DB
@?�����}��j4h��u7���S
9�J�f��b԰}b��
��/����Zڄ���U:���Y��_hڂ���.�!���Z��ޥ� i0�fe���Hw@�����DG�T#��|�vi���H���X� fz���B��a  >"�{0
+&g��k9>r�֎+̰6uc.X(�M/��<9��S�����7c�"
 �W�)��Y��{��6({�Er��-��_?};�(��Cs
ݲ`&HgY寧H\aLSY�x5
+�q��̷f������e���
:��:� b 젎�60���7�š�Ә
L� �纑�޹�?xPY��ޓ5��5�
�
���1\�6�a\
z&@�9�g��<���C�!��3�9�p���|�Uܬ<�MÆQp�ǎ��c�
%
����2��?�M�;�n;�-3�$]��HیU�Q?�"��\F":����?�;�c�H�2[�LO� |�{ o8�v�h�i���a|9.�=�q8��G�'թE݀�
�bj��^%Ajxҩ���
Z at i��6�Fb�/LZ�
ާ
4Z�f$�I�J�m��#��c д<�
�
HcM��0E�t1�<Gc�{j
�G��Q�
��7�(���ʪٛ�Q݋�&#�D�;3J����D�Jy>�Q=n��>���\�Q�j6_UI]�
 tk������m�D$Y���1-WK���Z��
��V��٪�7p�I��4=U�잔Y�ŵ���`�IZ����}x�A[h^���R���j0�����k	�$X�Y� �A{����B���/����2�
I���;�տ=���f�~oT`�=V�z�zۢ���Oa
���$����t�����ō����S�Y��ĽŃv��6�eؒp�i�`!,e��$
�u����
嘦�n�|)�
�����T.�8Tn��,>*��c��͢��[2ڽ�YRG��
	r������o�|�5�*�퀣�*��
+.�O��
b���r��J
�_u���Q��1`` >� �
���{�TcPMk�$���$�"�м1��Q����rPQ��d��J3�RO�20
��?T�D��A_Y������� ���
K�i��&[�=�n��9YW�O��[`���[Y�%�l��˴�

W��
�� �4�9�%���q��wN�"X�w~�����*�
+n��L3��ǃ���Ǩ.XM����֧�`����|szʁ[�1�b�
���<1��ys@��Sj���B�?؜��6VM1�l�U�D^��`HtUl�
Kh�>Y��k�w�і�����MY.O'���;4/Pi8G��,���~��H!� ->M��ұ�D�aRgt�w��ৼN
+endstream
+endobj
+11340 0 obj <<
+/Type /Page
+/Contents 11341 0 R
+/Resources 11339 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11314 0 R
+/Annots [ 11317 0 R 11318 0 R 11319 0 R 11320 0 R 11321 0 R 11322 0 R 11323 0 R 11324 0 R 11325 0 R 11326 0 R 11327 0 R 11328 0 R 11329 0 R 11330 0 R 11331 0 R 11332 0 R 11333 0 R 11334 0 R 11335 0 R 11338 0 R ]
+>> endobj
+11317 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 676.004 163.361 686.534]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a900663a0e97525c064ccf31152fa8ae7) >>
+>> endobj
+11318 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 639.069 163.361 649.973]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a1c71c9b7d1de1b77eeb054e1c0ac935e) >>
+>> endobj
+11319 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.698 639.069 228.964 649.973]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+11320 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 602.882 163.361 613.412]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_af60bb41867a12ce28144596e3cc1406a) >>
+>> endobj
+11321 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 566.321 171.11 576.851]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ac3283cf8fd0dd8ff2a319cba1dead1f2) >>
+>> endobj
+11322 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 493.359 215.923 504.263]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a411d42e5b59a492742793834efeeabc1) >>
+>> endobj
+11323 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.26 493.359 281.526 504.263]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+11324 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 445.839 171.65 456.743]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a66e3e2f2433738665eb748d2f6c5878f) >>
+>> endobj
+11325 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 398.692 187.151 409.223]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ae006881831b298f0af5031e99df2bc6f) >>
+>> endobj
+11326 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 350.799 202.902 361.703]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+11327 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.4 350.799 300.037 361.703]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a5a36a32ab46d46f574f3091e931e2bd2) >>
+>> endobj
+11328 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 314.238 202.902 325.142]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+11329 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.4 314.238 314.263 325.142]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_acdc1e9b5ac338be9d0584d50d275226e) >>
+>> endobj
+11330 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 278.05 161.677 288.581]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a8c82df1de8703aefeab268dc9ffc557f) >>
+>> endobj
+11331 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 205.088 204.985 215.992]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a7607ef1c8ef6b668dd2be62c39330406) >>
+>> endobj
+11332 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.214 159.411 182.698 170.314]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a277ba920e188477bb301196b19d63770) >>
+>> endobj
+11333 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 122.849 172.198 133.753]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a754f66ed06474d4b68a93131af02a86f) >>
+>> endobj
+11334 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 86.288 155.859 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
+>> endobj
+11335 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.357 86.288 180.337 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_adab2c45cbec19ad11bf34db42b794508) >>
+>> endobj
+11338 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11342 0 obj <<
+/D [11340 0 R /XYZ 90 757.935 null]
+>> endobj
+11343 0 obj <<
+/D [11340 0 R /XYZ 90 716.221 null]
+>> endobj
+11344 0 obj <<
+/D [11340 0 R /XYZ 90 692.536 null]
+>> endobj
+11345 0 obj <<
+/D [11340 0 R /XYZ 90 656.095 null]
+>> endobj
+11346 0 obj <<
+/D [11340 0 R /XYZ 90 619.534 null]
+>> endobj
+11347 0 obj <<
+/D [11340 0 R /XYZ 90 582.973 null]
+>> endobj
+11348 0 obj <<
+/D [11340 0 R /XYZ 90 508.362 null]
+>> endobj
+11349 0 obj <<
+/D [11340 0 R /XYZ 90 462.864 null]
+>> endobj
+11350 0 obj <<
+/D [11340 0 R /XYZ 90 415.344 null]
+>> endobj
+11351 0 obj <<
+/D [11340 0 R /XYZ 90 367.824 null]
+>> endobj
+11352 0 obj <<
+/D [11340 0 R /XYZ 90 331.263 null]
+>> endobj
+11353 0 obj <<
+/D [11340 0 R /XYZ 90 294.702 null]
+>> endobj
+11354 0 obj <<
+/D [11340 0 R /XYZ 90 176.436 null]
+>> endobj
+11355 0 obj <<
+/D [11340 0 R /XYZ 90 139.875 null]
+>> endobj
+11356 0 obj <<
+/D [11340 0 R /XYZ 90 103.314 null]
+>> endobj
+11339 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F23 368 0 R /F107 2332 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11394 0 obj <<
+/Length 1649      
+/Filter /FlateDecode
+>>
+stream
+x��Z�r�6}�W�)�f"w�e&m�̤��Mԧ$�E�f"�*IE��7JE�l�N
<$ p�88gwAz7
�^�~
��zH��7�xz�#�0�F���G0� ��G��Yxu���Ϧ��8�ë?��<�W/^�n=j�E\�?��
/��G� ©�ݘ���rAM���F�j1"�&~9j�iX�f��%���|���yO⼏?NǪK0L}*�6��}������!�
@�g�����7
D�Ҍ�yu�z�{��C�y��K/P�*(��T9�n& rf�~��<Վs⇩�R?)����,��̳$-����^f������Gq���(�()>/�q�\7��L
�P�

+0x��2B�0YE�A5��M
+�����%n9i�Q{Q�~T�B1G9�/�"���������@�6�r�Z=�7�����
+$�v�8��.o�����};4�`�F�ƀSd��2>b�F4M�Ǘw�{އ�vr3����U�s}���T���&��]D g;lR�,��f
� ��Ej��Eyu
^ױv�&I�fZ���$����l��hR�o4�[Z��Q'mkR�R�$Մi�$6����IqL�$�kR;a4�o*MR��I�ޖ&�z�¬��
�E�˱�
[�wa�1evȱ#"�
�����}���z~��τ2?M���*�T�t�Փ~����p��pU�W_�p�UH����XB���U霐.�(��-�*'�b�_�b�ʘM�j���VdK1@�n+�:�d�C��
���(��
5�>
�w
����N���;f�Z�Q��Gj�z�T�,��M8��z���>�����t�r�tfN�گu��q%�>�k��v��rg@ķ�~AO��i����֟�}A�a��
�
+�=�QtU�b�;�|e/Ϣ;EWn=~E�Y��:��.�dG�An���mZU�%�z"j�����>o�ZG�qN�Q�͏n�^j�O果gER&Yz��*�S�gs]�@�
+4�7[c�m�i�CH�XGE�k��,GΡ��s�j�� �4�<g�h����q� t-�h-��:U͢_��n׳��G �%*��?ɦ�l�M�::�*ǹS�=�ݜ

�gE�-�R�
�
U
��]Tt$ ���Fv٬�4'v��e�� n�$/�6�+��M0�Z,I��:����XL�[���o<]D�I
gFŀ�*�t����8��Xp��=��Y�e���
ZD�A�Iμgf�
�{��-���<�75(��
�@퍊#�.���Ƴ�8�S\�E���.�BW/�
�o�(��p�|o0�]�9�A�'��W�*��s��e�����&I�
&W6�A�����AG]Xݧ�U�E�ܤ�8u�j׿��X�/R���!�t�~΋�ʔ)�v��eR޶�u�\Z�ע��ZJ��|���:�,�dW��"��,��=��]~i�;x!x7o�9��쭁�
+5vN��/(	(�]yU�
Q	�	$��� �iD���A ��ү�Ρ
 ��;�\�r\�����þ�(R��S0	���zi�h>
]��_
+�t�Pa�q�C�1��J�t��Q�z累d��l
�΋��n�v]_���M3\�V��b
n�r�b8\.�`\�E��s����|:ܭ�jVTi*�:�L2ǒY���'�꜅��ہ��Zp
+endstream
+endobj
+11393 0 obj <<
+/Type /Page
+/Contents 11394 0 R
+/Resources 11392 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11314 0 R
+/Annots [ 11336 0 R 11337 0 R 11358 0 R 11359 0 R 11360 0 R 11361 0 R 11362 0 R 11363 0 R 11364 0 R 11365 0 R 11366 0 R 11367 0 R 11368 0 R 11369 0 R 11370 0 R 11371 0 R 11372 0 R 11373 0 R 11374 0 R 11375 0 R 11376 0 R 11377 0 R 11378 0 R 11379 0 R 11380 0 R 11381 0 R 11382 0 R 11383 0 R 11384 0 R 11385 0 R 11386 0 R 11391 0 R ]
+>> endobj
+11336 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 686.705 155.859 697.236]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
+>> endobj
+11337 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.357 686.705 172.735 697.236]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aa215867508a89858bcc7ab025f8d20f1) >>
+>> endobj
+11358 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 650.055 181.871 660.959]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_adab8b3f43dd9a5e707b95e15a9c282f8) >>
+>> endobj
+11359 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.369 650.055 206.349 660.959]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a272424f5d0df282c6d1ee63a5c84e3e6) >>
+>> endobj
+11360 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 603.193 181.871 613.724]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_adab8b3f43dd9a5e707b95e15a9c282f8) >>
+>> endobj
+11361 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.369 603.193 198.748 613.724]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a04aed5c92cf15c71ce85b8cc173a893b) >>
+>> endobj
+11362 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 566.543 189.204 577.447]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a36becc8c3ace976043199807351d5b04) >>
+>> endobj
+11363 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.702 566.543 216.999 577.447]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ab66151b86ac8c495eba1a3209501928a) >>
+>> endobj
+11364 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 519.681 189.204 530.211]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a36becc8c3ace976043199807351d5b04) >>
+>> endobj
+11365 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.702 519.681 209.398 530.211]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a241c65ff3d32769cbb9badd2c8e00ca5) >>
+>> endobj
+11366 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 483.031 215.216 493.935]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a6f4469416e02c586de17284317f8a92e) >>
+>> endobj
+11367 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.714 483.031 243.011 493.935]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a9fb86f09111d4ac21fdc7c7baa86e622) >>
+>> endobj
+11368 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 436.169 215.216 446.699]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a6f4469416e02c586de17284317f8a92e) >>
+>> endobj
+11369 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.714 436.169 235.41 446.699]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a5eb3117d3d7d0566a99f9f5807276864) >>
+>> endobj
+11370 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 399.518 198.011 410.422]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a44b0a622563e60fe28b91b7e9ff76364) >>
+>> endobj
+11371 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 363.242 155.859 374.146]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
+>> endobj
+11372 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.357 363.242 213.143 374.146]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a386fa9c84bc37468f1a3a2b860a0bc3d) >>
+>> endobj
+11373 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.959 363.242 247.723 374.146]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
+>> endobj
+11374 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 316.006 205.762 326.91]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a37703f96495cf4bcb8ced3ff20e4c396) >>
+>> endobj
+11375 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.577 316.006 240.341 326.91]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
+>> endobj
+11376 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.322 316.006 292.086 326.91]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
+>> endobj
+11377 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 280.103 166.449 290.634]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a2edf5fe7007a3e91a404546ca2f2d98c) >>
+>> endobj
+11378 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 207.924 163.361 218.827]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+11379 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.1 207.924 214.907 218.827]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ab955487a974e74224f3d72d743ee78a4) >>
+>> endobj
+11380 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.244 207.924 280.51 218.827]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+11381 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 171.647 167.466 182.551]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_afe22acf3f8e5b6c20880acd443350482) >>
+>> endobj
+11382 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.281 171.647 209.547 182.551]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+11383 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 135.37 252.795 146.274]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a113964ab3d7ea36326ce962629a322ce) >>
+>> endobj
+11384 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.132 135.37 318.398 146.274]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+11385 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 99.094 229.552 109.997]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_adef4c62b5cdf5186801c592cc62dccea) >>
+>> endobj
+11386 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.89 99.094 295.156 109.997]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+11391 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11395 0 obj <<
+/D [11393 0 R /XYZ 90 757.935 null]
+>> endobj
+11396 0 obj <<
+/D [11393 0 R /XYZ 90 703.286 null]
+>> endobj
+11397 0 obj <<
+/D [11393 0 R /XYZ 90 667.01 null]
+>> endobj
+11398 0 obj <<
+/D [11393 0 R /XYZ 90 619.774 null]
+>> endobj
+11399 0 obj <<
+/D [11393 0 R /XYZ 90 583.497 null]
+>> endobj
+11400 0 obj <<
+/D [11393 0 R /XYZ 90 536.262 null]
+>> endobj
+11401 0 obj <<
+/D [11393 0 R /XYZ 90 499.985 null]
+>> endobj
+11402 0 obj <<
+/D [11393 0 R /XYZ 90 452.75 null]
+>> endobj
+11403 0 obj <<
+/D [11393 0 R /XYZ 90 416.473 null]
+>> endobj
+11404 0 obj <<
+/D [11393 0 R /XYZ 90 380.196 null]
+>> endobj
+11405 0 obj <<
+/D [11393 0 R /XYZ 90 332.961 null]
+>> endobj
+11406 0 obj <<
+/D [11393 0 R /XYZ 90 296.684 null]
+>> endobj
+11407 0 obj <<
+/D [11393 0 R /XYZ 90 222.856 null]
+>> endobj
+11408 0 obj <<
+/D [11393 0 R /XYZ 90 188.601 null]
+>> endobj
+11409 0 obj <<
+/D [11393 0 R /XYZ 90 152.325 null]
+>> endobj
+11392 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F79 505 0 R /F107 2332 0 R /F97 1188 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11430 0 obj <<
+/Length 1945      
+/Filter /FlateDecode
+>>
+stream
+x��Z[���~�_��-U-=}��LR�Z��T��<Y��v]#zfI`h�����t#X��4��y5��s��a�����o�y��}a/AIHC���K��qJ����� q��	�xq�$x���,�_R����'��Y������ݝYV����\�����;B�蓄!p�&�g�e�
IYbw|;C$Aa�H��E-��[�����2�
�n�L
+��^<�vIⅨV�q,�+�7{��� ��
��qo����3�rX��È%��ջ�^@\K�Ǜ��^ˇ�Z�<��D(
+�81���kv�{���9
����s��{�CɶiѦ����SPA�\��S*��/~�VrJT��s���N
�|_/)߳��W; DFO�L�x1�
( �)Ea@<$f���j^{�ɺG ��^c1�Ck�3�)����v��Tt=RF�3x6��(E*�hn�&�m�4�U����؊�b+�S��C8
+�g7CE���Ѭ�K-�ܴU7�
�w�%ۍ�c"q��f�<�{q�&
%`;������ȏ�q-���G�tȣ?
+�����7 �����_
+^�X|�H�Q�p�0� W@ت.ˬ��!x]���p��YkD���:�$
��P dtQ�
+
+��\(wfM�Q �
��.�~��5ڃ
+�<�R�k�(J��T�8�	=�f%r� 
A?�̥+��RȺ2O�G���K�;�����F�JV�g
EQ 
+�(�I/d�lp�U�!
��#��T��SZGɋ�?�j%;tȤ���Qе 
�pp�+�Z����<�`�kD7�9��!
+ �>���[	�r������,���+ˆ
a�/�Ƨ^Pp͸�
U�Ώ◍.�����~���'�Pb�0jn꭪�@rӊ>�P�iZ�g���W��d�
�ݙ�Ly3�+�8�^V
ww�m&��x��������h��j�]�mYX�<���e��K
>��7ԹjA�m4W��5��unO����K��3�L�����4�Az��xt8}/֏��}��uur\"�kے�K�����O�>#
˭��NN��?X�2����T򎊚�&�M�r׻�|q��^���k��Τf�$�5�j寳_�uV�&��(c���ߣ��T�^��R�
+g[��(c<�k�����l
]�`�g�m��
u�������Xr�6��΁LH�C�HsmC�m����H`�:Q'Nu�R�:z���-gM�.>( `���
�g��L
+�l�e�]
A���$�c\�T	�d�8o
]�Zݧ��N�)��+�cP�J��׿�s�hg���[����6�$ʕ��.��y
+����)0mZщ��
+��[-��NY���\��߼���t$1m;�
+
+e�ɋ\��:y�b$I���n�\��
+�q�
�Z3��Zh䚼��&X��B���Z�83�0��Qzb�^4�jDzk��X�����;�U�iM�{����vox��� /�3�u{
+ng�M����ie�i	����
�gB4Al��\(t
�1
�A���'�qt��+�ia�xv�
�I5��)��a��p	u
���
!�V����P:�������
�h��!�
���#D<
�tCU���MQe�.��1�4}�ơ�S�`6�|23H�$����򽘧�Y���D�5M��=��ː[�
P��D���S�ܔ@t
������e�#{S��K�{���ȅ}��9�VՊ�h-�
{�-,�����E�N���F�_�ӱ��_j��J���?6R���>X
�
p��\�z�&��������2w�v>��
+����l��ㇹq�Z�c��������l��
��dW��Pg�x���~�
��
�~�!�Ϳ
x�8& ��Ӱv��j��_
�����O�ܿ^rn��}V�S�Sе�k�0"D�~}-Q�d����_���SY��qKbp�����l�no��-ZuhSM�
+y
���K�ߣ�û1�n�����ξ�J@��QMF�
+endstream
+endobj
+11429 0 obj <<
+/Type /Page
+/Contents 11430 0 R
+/Resources 11428 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11314 0 R
+/Annots [ 11387 0 R 11388 0 R 11389 0 R 11390 0 R 11411 0 R 11412 0 R 11413 0 R 11414 0 R 11415 0 R 11416 0 R 11417 0 R 11418 0 R 11419 0 R 11420 0 R 11421 0 R 11422 0 R 11423 0 R 11424 0 R 11425 0 R 11426 0 R 11427 0 R ]
+>> endobj
+11387 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 709.599 266.673 720.503]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a01b873b0e820222e07789c3ba5fa48ae) >>
+>> endobj
+11388 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.01 709.599 332.276 720.503]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+11389 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 676.021 196.347 686.925]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ad3bda090e4ac93d937ac4dd775c20919) >>
+>> endobj
+11390 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.684 676.021 261.95 686.925]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+11411 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 641.743 179.739 652.647]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a1ee74f5687635ddbb9729be31a37e2d3) >>
+>> endobj
+11412 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.79 555.178 245.959 566.082]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ad25e2d27e5d731e6b63fb84a65700faf) >>
+>> endobj
+11413 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.256 517.615 295.178 528.519]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a5534b8f8fbd973bfb7051cf5fb31f19d) >>
+>> endobj
+11414 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.269 480.053 347.203 490.957]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a5c3bee913efb87e4661df746e184e1e1) >>
+>> endobj
+11415 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 401.163 210.607 412.067]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a30e0b0c2c668e73566cb1720d72cdac2) >>
+>> endobj
+11416 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 363.6 168.555 374.504]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aee126cc2eef44ab1d2055d0d15bc3169) >>
+>> endobj
+11417 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 315.079 144.674 325.983]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
+>> endobj
+11418 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.173 315.079 332.409 325.983]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a0a660ed1cfae2599d7f9236f2084d499) >>
+>> endobj
+11419 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [387.143 315.079 417.907 325.983]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
+>> endobj
+11420 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.888 315.079 469.652 325.983]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
+>> endobj
+11421 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 277.516 321.152 288.42]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a86f44d9d38638be46ef23422783f847e) >>
+>> endobj
+11422 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 227.998 226.666 238.902]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aba65a2c1a6d563f5058479bc07181b9a) >>
+>> endobj
+11423 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.004 227.998 292.27 238.902]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+11424 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 149.108 154.079 160.012]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ad25e2d27e5d731e6b63fb84a65700faf) >>
+>> endobj
+11425 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.578 149.108 193.083 160.012]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a5d2c2fc2c077e77db657af49d332c9b5) >>
+>> endobj
+11426 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 113.603 167.639 122.449]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ad34bafd07f582c558936f9ea8892abd6) >>
+>> endobj
+11427 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11431 0 obj <<
+/D [11429 0 R /XYZ 90 757.935 null]
+>> endobj
+11432 0 obj <<
+/D [11429 0 R /XYZ 90 692.476 null]
+>> endobj
+11433 0 obj <<
+/D [11429 0 R /XYZ 90 658.198 null]
+>> endobj
+11434 0 obj <<
+/D [11429 0 R /XYZ 90 571.603 null]
+>> endobj
+11435 0 obj <<
+/D [11429 0 R /XYZ 90 536.063 null]
+>> endobj
+11436 0 obj <<
+/D [11429 0 R /XYZ 90 498.5 null]
+>> endobj
+11437 0 obj <<
+/D [11429 0 R /XYZ 90 419.491 null]
+>> endobj
+11438 0 obj <<
+/D [11429 0 R /XYZ 90 419.491 null]
+>> endobj
+11439 0 obj <<
+/D [11429 0 R /XYZ 90 382.048 null]
+>> endobj
+11440 0 obj <<
+/D [11429 0 R /XYZ 90 167.436 null]
+>> endobj
+11441 0 obj <<
+/D [11429 0 R /XYZ 90 167.436 null]
+>> endobj
+11442 0 obj <<
+/D [11429 0 R /XYZ 90 129.993 null]
+>> endobj
+11428 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F79 505 0 R /F107 2332 0 R /F97 1188 0 R /F38 2120 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11463 0 obj <<
+/Length 2210      
+/Filter /FlateDecode
+>>
+stream
+x��YYs��~節_l�;�'-�*6�T9��y�],�b�D�` Kj��O��
؃�b��b�	�
}|}L��{�
��t�����˘{)K#y�+/�^
	J�]��[_p��\p��W3���]g7�f��u���y����X�Y����a\���N�����?)Ĉ�HSQ �
��d"��*u+��IY�
$.�$�m�u�l.C�_�R��uSf����z�ۙH|]-a(e��@�g�]��|&�
��A&�Y�Bo�>{��r���L���`V��@*x�ޛ����GQ���($	_k('�^n�e_�UG���h#��2`*Hiߏ<���*�]ֻ7�����/Um'�z� �����b@��vR{"b�J�a��4�
�
'��|1Kc.P��р{�6z ��:� H��`B)ba������������X�{>1�n
,��7���~Qץ�m��Zc���fu�۬��/���,`	���yU�d8
+�|��P��!,�48
!���W��'T#�!i��W��Sp�4���~ C�Rp���A��ߴ.��x�
" �����ʐ4ݢbe#��]W��`�E�T�����HJ� �
!��A��	"Â���ط���Y���
p룀a�d� ⷞ!��,pIU�Tl���j�1	
+���1JC��irů3Ut}~qQw}��5�a��w,Rj���!N#Gɓ(L8G$�>}c����3�+�)�1�4������2�?�oL ��?Υ�dQ ݧ߽�����C�{0�asp��
�����R���<�N~�B�� |��'�0����S��L<
I"�f��e�E!S�zL��J��X�T���b-�N̐��4��4zYde�/}��
$�;�5٪{ ��#
@Ĉ�r�4|r�H�$��b"
FLث�+�gE�:�+�-ۢ�F�w��8� �b�c��mF��] ��	A(=D�|���rw��I�g�.���y�0{��抃��)��w�
+��G�1GV�14�>���:=/5�Ǹ�%M��:+*�Eg�Y̐�
+7��و �ou��bI�
��^C��d��nq^;r�$fB������ �

v�$�Ix['Z��G�e���M��K继Oux�x7#ߎ��p
+9��ա
�otW��Jp{R�+�[�
;x�p�
YB�e���uW疄�t�)/��Ք�	kC봊0}2���X�H

+��y�-��ޚ�F��i�(�%|�r���Z��"�K�.�UV�$M��^2�&�4TT]��Ü���{<x
wV�~/Q�=�(Eף���;hJ�|Q�� �����"�V�d��&�Y`O$�a�e�m$����Cw�¡]�>"���9t�0
��NQ �U$��n0��!'�ˬ��VT����C[�
b��
�赖�bK[6݈�%C~BJ��1
U,�
+&��=M'�z
+�1�>�&���
+
+�kz�m��|]�)czx��֎8H Mu4���%�����,;� �7K0�s�[d�w�G^`�1y�-�
^
c�@9bn���G�(=���0�Z+�hb �|m��V[�
6_�.�����h��6�(#h�������쥈=�� ��p8�cw�P��p����X�4����}dv���z�7���w6c"�4����
�U�Uv�b;��ۣ"�
�A�	]s�`�w?@�ɌF��v����:�åB~������L���]�%�-���pZa�#8Q���$���t�)��ɞ@��)q�����t�E�Y�
��UM�~~u���5�	G���,�\n*^��oC
��8fl�8.@�SAG�..v��S=^8�B��@��{�^XF��i��WDӽ0��9&�Ű�}=�)�
m�:�/��2��2׫���-�
+ÛT2#H\���X��#CwMR
B��N� �嗅�&�r��?'~��
k(z��O�Q�|e�m:Q�`/�����f��r}�B�G7`�+�o�!oo:�nЙ¾������b��Ι|�Gj�	���KJ�(]"�y����"��6��+
+:�=�l�d3l$
��r�i
+W�
�-������
S��x`�ѵ=�Fw���	����z#hAE�z�^�C2������'�}�ow��jqۥѧm����n�0
C���׬�8;�:�S���t
ϕ��@[I�w�{�3!��V$А�C����������-;����eE�4����ֈ
+���Y��ݠn+���4Ql��Y�]
+endstream
+endobj
+11462 0 obj <<
+/Type /Page
+/Contents 11463 0 R
+/Resources 11461 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11314 0 R
+/Annots [ 11447 0 R 11448 0 R 11449 0 R 11450 0 R 11451 0 R 11452 0 R 11453 0 R 11454 0 R 11455 0 R 11456 0 R 11457 0 R 11458 0 R 11459 0 R 11460 0 R ]
+>> endobj
+11447 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 658.013 180.54 668.917]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a057c4f38d0e8b8a146af731dbd91864f) >>
+>> endobj
+11448 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 658.013 246.143 668.917]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+11449 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [315.548 658.013 353.814 668.917]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+11450 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 607.204 178.239 618.108]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a2a7c225e4f50e2287216dcd77eaf27d5) >>
+>> endobj
+11451 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 607.204 243.842 618.108]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+11452 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [313.247 607.204 351.513 618.108]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+11453 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 556.395 226.034 567.299]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a8691a3facce4d6f973b48743fa42ec42) >>
+>> endobj
+11454 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 556.395 359.442 567.299]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+11455 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.167 505.585 156.533 516.489]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aa55b32c299b7d7bec303f636b66ef624) >>
+>> endobj
+11456 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.599 505.585 309.948 516.489]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+11457 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [356.899 505.585 506.247 516.489]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+11458 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.612 376.936 316.827 385.783]
+/Subtype /Link
+/A << /S /GoTo /D (main_powerset) >>
+>> endobj
+11459 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.08 357.255 366.346 368.159]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+11460 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11464 0 obj <<
+/D [11462 0 R /XYZ 90 757.935 null]
+>> endobj
+11465 0 obj <<
+/D [11462 0 R /XYZ 90 716.221 null]
+>> endobj
+11466 0 obj <<
+/D [11462 0 R /XYZ 90 456.31 null]
+>> endobj
+11467 0 obj <<
+/D [11462 0 R /XYZ 90 405.589 null]
+>> endobj
+11461 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F38 2120 0 R /F79 505 0 R /F97 1188 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11478 0 obj <<
+/Length 1858      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~���^6��u1��hW4k3�!-�b������~��Œ#_�&�=$�(��\�sv�
켚�<���
b'Fq@��ʉ�1J��Թ����c<=�<M�"�<�Q<���
O���lQ'�z>W�r�-�.f��_��NH�>�=�>�ޑ��
X�#��
�#DbD���I��'M3s)���YL��X��j�=����DS^.a)dԟ��D'��O�L���4�Bz�Y��O�Ia����G�m��p|��5w>L��ྖY��e�!
0��{.ںl�$���󐿑U�-W��h�|L̦�JI������|���+q����F$���F��T�l�v�j�nx�
^��춴*��D�
+�̵/Dq�箏h�q)A8�� ���gn�%��J�����?����=��Ĉ�HS
�S�Ur~_���*+3���%
�dy#����m8�Q]��}tP�>��
�}�����(U��7˧J�>U��Ę*�Ԋq��(��=h=�
+�Ff���{��	�=�YWIތ�����H�D�QV�/Ϙ8�"y��q}"L����7($��!��
��iŵw
u~��#�alG�a-P�C�ML,�6O�_��2Ky*=���Ea

=�k�����Պ� Cm�^B
ɮ˽Ar$*��Q2 P=:�R];�
x���[M�}�P(*8 �& �Q,�!��l�b
��ch4�f��]��oQ#x�~/߂���H�w!��7͌
bgO���2�ˉ���a�
(��$�FӪw�MI�� 8�4FQ44��z8B�.�x�zwn����Q6���k-�_"��1��v�4�3��"T�h�{���,�
�cA`xz�\�E#���jD͓B�T��(�h�{H��]Cfm�I	�މ6ɍ�V5o$v��h�z����ƌ
�(���<Xa�ʨ6_��Pw��� ���5��#�b����
�ن�8� l
J�"�68��f2���In#��c���

�`�x?<��$��K`6h�G�Ք��������qo���
1���� [...]
+I7��̲�m�!wB�P���wa+k�e�"7��G�u�Z]av�$��>�j2��@�892]$���5dxip��ֳ��7�x&,P<Eh{
m86"{� ��$eR��.Eu٫·��'	���-F{vc��4���
/�'
�1����/�d
o�o����2c�D��G8>b�5I=��)OR�K����1��f�E�f5�
+����-��B�5���R4CTHt�#����
D�5q.��g}�J����D
�"
"�˵
yӶ��y+n$�ɻ
��:x5TLQ�GTr�Ƕ|\&e7���
�����U���-4
��i*
�R�0�r
4�АJ͋
�t
H�l(����f�򶊟 D,�>����҈�
Ĭdah�ԇ��t�$��
�ʮ��P�D�i�t�`RFL�
tӛՍХ�y�@�A�)����{��d97-y��f*״�m�m
_K�W7 x�i��W�+:[_Ϡ�wk��K�,[۟^���\8�ˋ��@�{����bĘ��ןIN$��G�|�Qßz�
Ҙ�n��ۤ�����v����P�5��T���Q���1wo�l�%�}7B��''���h٠��V5���j��ܷe�
+��v3?�pWT�m�a�HF��/~��
+endstream
+endobj
+11477 0 obj <<
+/Type /Page
+/Contents 11478 0 R
+/Resources 11476 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11314 0 R
+/Annots [ 11472 0 R 11473 0 R 11474 0 R 11483 0 R 11475 0 R ]
+>> endobj
+11472 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.255 127.823 379.521 138.727]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+11473 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.603 98.244 349.878 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a386fa9c84bc37468f1a3a2b860a0bc3d) >>
+>> endobj
+11474 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.519 98.244 513.996 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a37703f96495cf4bcb8ced3ff20e4c396) >>
+>> endobj
+11483 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 86.288 216.526 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a37703f96495cf4bcb8ced3ff20e4c396) >>
+>> endobj
+11475 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11479 0 obj <<
+/D [11477 0 R /XYZ 90 757.935 null]
+>> endobj
+11480 0 obj <<
+/D [11477 0 R /XYZ 90 339.969 null]
+>> endobj
+11315 0 obj <<
+/D [11477 0 R /XYZ 90 315.754 null]
+>> endobj
+11481 0 obj <<
+/D [11477 0 R /XYZ 90 315.754 null]
+>> endobj
+11316 0 obj <<
+/D [11477 0 R /XYZ 111.081 216.644 null]
+>> endobj
+11482 0 obj <<
+/D [11477 0 R /XYZ 90 202.43 null]
+>> endobj
+11476 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F72 404 0 R /F104 2229 0 R /F79 505 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11487 0 obj <<
+/Length 2178      
+/Filter /FlateDecode
+>>
+stream
+x��ZK���ϯ�)��V<	p��$�Mʼn+k{rZo�(1�C&��οO�A��P��3k��Hlt7��n|�=����7���}'�,Da@���f�
���ه9�H�Œ`���ϣ*�V����q��*Z�+]WQ�xw�ͬ��j�,>�{����|2��[�_�)`I��v��!!
+T'��Iˢ�^,����EH�:�eQ���z��Qs]�0$�s��z�����7����I&fq~��#�%0��
#�����g�2��f?�|�/z�2���2b����|
:Y��틸I��ݽ-�}��&�C�"�_R����֧NT�Z�.m�;'6�;]D9�����vE���ؖ�t?�@)��I|��R1*'���˜K�9��KBP(�ys�T+����C�r���c_?�.����,jo��kJX��Ғy%�r��T8�Ten�Լ�j7T��.t�p�q�IZ��D�/-�b�=WH�"�?a̼��7���4۴
Q��'m'EY�V�:�yQ�<����3m¸v�벝5cz��#�
+=��L�s�v6��,�R�w>p�*��"���	G$
+(wO��JK�y��m���pގ%:�"0�o"%�V�s�(Rݤ���}�ߘ��s���� �r������[�ߐ���a!��ҘТ��4zt/�ۨx�n�n���_`v�n+����u$
��QwxdC"���Q��
+�� }�9o܊i����9lS��Cj�\�}.BFX�4��K��`
#�K9�S����x���t�Z��}+(��C�GT�[���X������ǟ�<�����8"#D
�������RR�˅i����8VT�RH������Q�*M9�� ����`O�i��n��O���C
+��4f��qD� /v��’b�H�k�hk�ǝJ���9�JM;-�Q��p�ѣ�/�k�#��S��T A�G�`���BZ1���U��^e9
&QVM�,!�+��*ݬ�gh^�KD9��[>��l
+m����_���e�E&�
���l_�-�BR��hQ��/ģk���zL3	y�9���z���x�
�O��a8YC�.)A��G�o>�zg��z��Q�I<�KM/�:�&���#��OQ�B
V����@�P���mU�����t�
�n. ��ݬ|�&)X^�;�i����L����X2��)¿d
��x
1�{��G�]�LM����1��#�_Tk`&�b���)+g�מ	�9c�Iw����.E�D�`�^�R�)
{E/J�
���5M��Z�d�s�MmA�T����Cn��DJ���o��h�X
�
:)y3f+���F�#"!���fZ�͘H 8���";7eQKI
5
��sW������L�`9;��Ib
+&>S0
!_�`��`X01���"I�F2��¤P]��x����c��K��2*��<L�J�xvמcs7�X�T��}e��û�jRCʙ�q�ȟo��Y@
+
ȯlƈ-��d��)��(�mQ�iF:[��h�jm�ѓw�S
,o��:���͂��N���-���HZɅ�ݕu�J�����A�b�haD�I��I�s�^H��'�4
>Mŋl#ҳ���9V̭Ef�[k7�[���όX�N;X.i�%��Z��<J���\mf�[q�5�۴�b���lȱ�c��/�t�x$q·
W�*��51�����Z�
4�
v�rm��6��0��Hyd��<�۹�o��Z~v$ Ze{
+I��M���00�;N[������5ѯ���&���/�ww
�9v㨆=z�4q��c]כ}�o�ݵ��1�F�bc] 
��m�ȹ�O��� �a
_���d�`�w�g	/�k{�@v=�⶧�g�=�,���ԜZ��
�����b
��r7���mu�̹�?c u_�����r���̈�͌@��L��R�W��)����e>
�w���O��S
��3!>��
ItT�e�d0���88�!âCe� *��*����.<��ّ�u l
; vŸ�x 6�� �9 6�, [�A

�'Q�厥8��D�,sy�?&�?%`��d�����y
+~B��7;m��߶p�n=f���@��y!�dw�]T��Hn�o�U�}���+�������Dg��f��?ol\
�5��e��ۦ����
�h_��
+���n��>�vzR�F[�ҳuyْ$i�yԅw�����e
+endstream
+endobj
+11486 0 obj <<
+/Type /Page
+/Contents 11487 0 R
+/Resources 11485 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11495 0 R
+/Annots [ 11484 0 R ]
+>> endobj
+11484 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11488 0 obj <<
+/D [11486 0 R /XYZ 90 757.935 null]
+>> endobj
+11489 0 obj <<
+/D [11486 0 R /XYZ 90 733.028 null]
+>> endobj
+11357 0 obj <<
+/D [11486 0 R /XYZ 90 716.221 null]
+>> endobj
+11490 0 obj <<
+/D [11486 0 R /XYZ 90 716.221 null]
+>> endobj
+11410 0 obj <<
+/D [11486 0 R /XYZ 305.44 603.253 null]
+>> endobj
+11491 0 obj <<
+/D [11486 0 R /XYZ 90 587.244 null]
+>> endobj
+11443 0 obj <<
+/D [11486 0 R /XYZ 321.092 500.223 null]
+>> endobj
+11492 0 obj <<
+/D [11486 0 R /XYZ 90 484.214 null]
+>> endobj
+11444 0 obj <<
+/D [11486 0 R /XYZ 90 365.075 null]
+>> endobj
+11493 0 obj <<
+/D [11486 0 R /XYZ 90 351.223 null]
+>> endobj
+11445 0 obj <<
+/D [11486 0 R /XYZ 360.931 216.381 null]
+>> endobj
+11494 0 obj <<
+/D [11486 0 R /XYZ 90 200.372 null]
+>> endobj
+11446 0 obj <<
+/D [11486 0 R /XYZ 140.132 89.441 null]
+>> endobj
+11485 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R /F100 1390 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11499 0 obj <<
+/Length 1664      
+/Filter /FlateDecode
+>>
+stream
+x��Ymo�6��_�a�f
�wQF;�E�a݆vM�)-�fa��Jr]���(R���v�%h�}�E�t���'
]G8�i��lt|�(A��2:��
Œ AIt6���#A&Gc<~3!x�֋��̈́�q��o�N/~�.�^O�o�l=����E�l'GT��i[/g���������.fx�\����W��FF���1���f���{
�a�U�KT���
~��t���Ո2���h|�tZ�zQ�i���'�l��8�g��^|j)�AF����E� �h��/
G\���� C�N��=�ݲ�����"+�_�+]�mY_<o��
B@`)�A�yO�фH��
at�(F���%���`�mC��u�ې\�D�}�\Tz�C�HPL�>Ռ����*��U�苴���Ej�������#��xVMk7�G,�DH�#&Š��G*v�U�+���
Q/�z�����'�LC�"&<���mx�.P�}x�yIϐQ�G�yU����z��
�mG*)"q
q�c��;V���S[�� V�$�`��3'.�&�h�r�7Y�J�1�i{h��e� ����]�e�u�$#����	������R�\/t�:CdE�'�&��-�� "���&���4���(ar%F��\9�dj[I�Xc�n���*'T�ڑx���Z��.�4��q��v�r�(v{�vQ���m$���9ʈ��n�iƑv�W`���l���Pn�9f�*����^� <!�a�Wu�E15��
�'>�*���x�QI��6Fn�+�
+"%6�
+�d�"p� �ԙ.��\ϋy�̘��'�,��^����H�mW`����m��<j
Bw� '�*����,s˭t��Y���)�
ݧ��C)8P��D�8�
5��o
�)X��'����2/cu��9�=S�Ӄ�
�߸<t���"�����>��k���KL��xX}��vYM ��]y��BH��>C�"_�zv8�2.���v����}5d҃���t��
�"�N<�zƃ��c�����&z0�69�������3������6�
������;2H��k�3�6�
�6���)�ƺ&�b �A՗���f��/0A1�<-^��;^e�/����=&p��m��+v�ޅM;�N˦��ta8���
K�}�`��4�
+dٺ�um�d�3i8��C�ّ���P�@��py+�˝ç ��C"�l�a��z������q�|���Aw�Ϙ
,<���u
�UZ٧~��
d�FM+{(�ġY���kWd1��T�y���
Yr(��!#lX|
�9�)��
��)\��4��ҡb
��m��5��
\�!ޓ�CS�IpFc�����D�u?���-|���{\u�w�k],���
c8�*���y̤��z�1����
+�F0��3譨@�����R�C�qU�������&u�ˆA�)�؟T�:���ṳFz�eGp1v�q���|9�; -�3���0r�V��&��Ch�v��mH*� R���P�I�"M|+�IH$]�1
�7fZd�ᖽ;����.�ht���8.�~K�e��%�
<Ս�b
1o�M���Tk����Ϩ�e��o#-Q����M�V����j�f
ZYU��=�
�vKg3�����O�E���Y��.��m��
9Z�6
+endstream
+endobj
+11498 0 obj <<
+/Type /Page
+/Contents 11499 0 R
+/Resources 11497 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11495 0 R
+/Annots [ 11496 0 R ]
+>> endobj
+11496 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11500 0 obj <<
+/D [11498 0 R /XYZ 90 757.935 null]
+>> endobj
+11501 0 obj <<
+/D [11498 0 R /XYZ 90 733.028 null]
+>> endobj
+11502 0 obj <<
+/D [11498 0 R /XYZ 90 610.875 null]
+>> endobj
+11468 0 obj <<
+/D [11498 0 R /XYZ 90 588.563 null]
+>> endobj
+11503 0 obj <<
+/D [11498 0 R /XYZ 90 588.563 null]
+>> endobj
+11469 0 obj <<
+/D [11498 0 R /XYZ 90 514.973 null]
+>> endobj
+11504 0 obj <<
+/D [11498 0 R /XYZ 90 500.402 null]
+>> endobj
+11470 0 obj <<
+/D [11498 0 R /XYZ 90 428.849 null]
+>> endobj
+11505 0 obj <<
+/D [11498 0 R /XYZ 90 414.279 null]
+>> endobj
+11471 0 obj <<
+/D [11498 0 R /XYZ 90 342.726 null]
+>> endobj
+11506 0 obj <<
+/D [11498 0 R /XYZ 90 328.156 null]
+>> endobj
+1474 0 obj <<
+/D [11498 0 R /XYZ 90 205.414 null]
+>> endobj
+338 0 obj <<
+/D [11498 0 R /XYZ 90 198.814 null]
+>> endobj
+11497 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11514 0 obj <<
+/Length 1915      
+/Filter /FlateDecode
+>>
+stream
+xڵXY��6~��P ����CԱ
+�ݦH��d��
�D��芎ݺ���C�$���ȃa�"G�9�o�عw���껛��� ;�|�;7['�N�3��S�w	F��7c�^�	v㦈o���U�߉��o��_^��ŵ��n�$tE+��!+�oߊ�O��*׿߼�xI��4ĈF�>�B/�(JP
+�����r�^�q����a�7���}
���w���+�:�;!�9�(��lA7&y+�B�L�:��k#�
��^�p�����`�(�z�!w�b��w�0����E��V�G��λկ+|�I���"�MW���\��H�M��>�<H�Άz�y��-�	|���倻�4ZoX�uB����Y\��4k;�u��;���U��l�B�j�]��ӣF$k��}��a�ٕ�]�Gzs߈V/����5z+����(���r
6~3V�@�(	���Ai=��_R�2p�k���
+
+�O=-�F)+�*Qߋ�u�Զj��]f�J+�Ǐ*�̋{Q�bͨ�m�b�+iy^�)w��0���T6D�C|�|�!\�q?Pʧ��o8�G]�h��y�-De0l1�C$
�  @���˘��!}^,�F1�B:� Bh`1`*����1����G��
E^x

��Q�ϒ	��ܛ�ԍ��� �n*�Y*ڙ�k)�XH��(����������M��`K�"�JdNO�i?诲2��T,�)g( |��f,+@�g�t
\SX�(�:˛(@
�`E�����]�%�8oDq'�^��2R;��?lVP����B�sso`��͓#�Nbx�U:-9���
�
+"'�|O�2���A��g\p%�q�wY�\B4
+
I=q�� 
""��A�q��w
�0�*O~�BS�:���?KG�lf�1��[��,�M/���͚�!_�TU��.�
qe����0HE'dv�1�6�h��aI\���O}�g]�?�@A&�Z��Ŋ�vF�V�w#�7�A0`���1�ZIP/���f���Z

����-0�~��t���wU_������$`w�S�U��Ar��Y�qw�p��^�I�g�C���t?o��n�����ǡ
��FRB���>`��]�E�/� Z����	p0�S!
��1D�7��Չ�ʰ��sh�
ȹ�}b�n_�2. 8|��L
x�|z��'
#����^V.VøR�/]toH��OJ�s}
>��mk��r��b�A��>`8�>`FtZ}���>`����br����C��ak7��V�]*����G�1�Z
���|\v���
,���k�6
l���U�Z}2vT;�j��mʠ:

F>֒cSQ���a0���IV�V�G���o�dY��_"��%4�.�sJ2L2�N�f4�Fh.ɁG�Ki��0�|#o�*@,3tbx#ى�c;[�m�c����S�И�L�ayo�K3�ټp�V!
}7N�=R�5h�#�2��(�	C�r8&E�D��k��i�2Fee�Zh��~�qT<)&�T�`��]b�+烏DS������?���A�m�g
cG�0#UEj�:1_֗�.�"~P`��4����XJ�i%d����N˜�%Đ�e�ñMY0�P<m4�
��R�` vҸ/Нd��
���-b�����h �Ȣ9 �ss�1zIN� �9�P�����<�уd2Y�>��
B�32��?�ߋ�>��g�=��
B5C�s����Vʚ�E�z �PUeP
�@�A�<3�������*(ۛ�3@�Z����Iy4B~hϐҥ^��M|6�x<� ��>T�$|����W�>�h���"���{.Þ�� �
�F?����AX|���5i�&.
ֶ
+~��D��T���ȃ�B���\��3�~Z�����$�PxZ�캮���x||DI��2��uu�_
_��@�1���� �J�,T������	7
+endstream
+endobj
+11513 0 obj <<
+/Type /Page
+/Contents 11514 0 R
+/Resources 11512 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11495 0 R
+/Annots [ 11507 0 R 11508 0 R 11509 0 R 11510 0 R 11511 0 R ]
+>> endobj
+11507 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 495.421 233.78 506.325]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction_aaaf6dc9a305149db551f3dff63d7e6f4) >>
+>> endobj
+11508 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 456.567 197.875 467.471]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction_a8411ac9c6855778aa3f0f47a66bdfff6) >>
+>> endobj
+11509 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 395.795 241.529 406.699]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction_aa8bb2afcbf530af32dd1251242a480e9) >>
+>> endobj
+11510 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.763 265.089 304.184 275.993]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+11511 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11515 0 obj <<
+/D [11513 0 R /XYZ 90 757.935 null]
+>> endobj
+11516 0 obj <<
+/D [11513 0 R /XYZ 90 733.028 null]
+>> endobj
+1475 0 obj <<
+/D [11513 0 R /XYZ 90 633.415 null]
+>> endobj
+342 0 obj <<
+/D [11513 0 R /XYZ 90 626.815 null]
+>> endobj
+11517 0 obj <<
+/D [11513 0 R /XYZ 90 514.395 null]
+>> endobj
+11518 0 obj <<
+/D [11513 0 R /XYZ 90 514.395 null]
+>> endobj
+11519 0 obj <<
+/D [11513 0 R /XYZ 90 414.888 null]
+>> endobj
+11520 0 obj <<
+/D [11513 0 R /XYZ 90 358.475 null]
+>> endobj
+11521 0 obj <<
+/D [11513 0 R /XYZ 90 296.088 null]
+>> endobj
+11522 0 obj <<
+/D [11513 0 R /XYZ 90 186.07 null]
+>> endobj
+11523 0 obj <<
+/D [11513 0 R /XYZ 90 163.758 null]
+>> endobj
+11524 0 obj <<
+/D [11513 0 R /XYZ 90 163.758 null]
+>> endobj
+11512 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F21 2359 0 R /F72 404 0 R /F79 505 0 R /F23 368 0 R /F100 1390 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11532 0 obj <<
+/Length 1856      
+/Filter /FlateDecode
+>>
+stream
+xڵXێ�6}�W(�J@��E�eSh��H� �d��
��]
�ő���wȡdJ�nR$}0,R���pΙ��w�Q���/׫��1�R�F<�4zqĈ�̻ν�>�D�`�(��U����Uvsp�7�q��6����m��xy��ʺ��k��7}������s�s�H�����#�L,�
�%��'��K�?�
�6�����Ym��Yס�� 循ve�+�y��T��W��X("?L"�t�����JoD=fb$c
�m������a��G�H�`�*/��K���u�-�Y�� 4�h����7M}��)
N�cXͰ٩6�V�����U�6=>�w}Q��*D�:`�?Z����,�bإ���/T���A.�l��;��
K�:H��1�J�c>ӆ����E}���˙@}l�Ǵ�jo�ޮ��|"!��f_������ڙ&��4�_�8_
��n_OAi�����\�t�d�M��lU�q ���6+F1sn*'�ʘD<tN���_uQ�h[��t�z��ݱ�U���@�q?�ț
+��gU�
+,���.u���$)YHB":ZZ���4k�U�8U�-��D�#<s����^�
$�ݲ�x?1��YN( �$ByL"
cn�į����q��

+%�*敝����@m�^�𚬀���kb���U�Ԯ�7Eo�
'�Rtb-�Hk�qr�6�Kyf���~��B*
��O�Y0�
��f 4�
��^,��]+�`���81��,��Ih�V�U��&:Z���[ 
�<���o����F�0
�7
�a�q���7p��<�<�_��
�HKl2�*TE��Z��<A"��}ף ��S���3���.rP�u�
[�:ppeP>����)Iyk�{�r�`kjV)}���'-P}]�$$�)�*�
cg�
di8��g4w�h��9�Gc��ْ�әʩk�t�$���� �s�b��.{�e���Ͱ<���Li�̧�0Q��{U�Rj�M�l�jX�ee�\�d]�Ҹ)���_�E at f	)�m���\N�ޮ%4S�]I�۱c���Y�F��
�~}}��	��!��1G�A_B���
;���P7Z
��\���b�G�^
��J	8oX��	��6h�d-�HHIu'L�$Y8���Y;m�
.�M~�SV}5rט�d��j�wE�)��Zhk�����fRYI
�]��J��X�$�
k��iLB&
�ؐ�W�۲ؠ;�Tu���ρ�ud�GQ>`  =���{�P�
Q���.py�=��p�H��(4YF�|�*�cu������`38ZƘO�>��zP������� ����m^j�o�g|��g
��>w.Gv�MhFB��1X<
+����׏	2vm 
��2MQ���_:w=�U�A�z���0i��1]��4I�-��=�5#
�+Ĺ
�\Qz֞N�P� �o�!��[��`_� V��IH�����.�f��.�1� �\�4�� 3s�)���a2tja��=S}V�C�=6m�<���z�T�9�ń�.
K_&��˭���M3�EJ�lz��c)�P�}H�Q� ��[|JK
~�SJr�T�f�kH"ƫ���eCC�S�inE�j.���������S6��0?�\xFf9	�
SCͅ쒖�R>�jL�ƻ;<�K���ۛ%^q��]��}��poR8g�<@� peر�Uey�CT�h�
��〠���=P	��e��&]eߺ�
+'J�wEog�}l�󌹤M�;��
��K?r
�"�����-�)���Ƨ��pH
Z
���N�?R��p����p��4�I����X�(aLs�&`��
+���
O�LOu��%
�c�w�}����8
dӑ}]�ZR��l]��?� D�F�
+#~��OE�o��r�̬��
+endstream
+endobj
+11531 0 obj <<
+/Type /Page
+/Contents 11532 0 R
+/Resources 11530 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11495 0 R
+/Annots [ 11525 0 R 11526 0 R 11527 0 R 11528 0 R 11529 0 R ]
+>> endobj
+11525 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 375.197 188.41 385.727]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction_aa4959b6198e090d37abbd07085b74a30) >>
+>> endobj
+11526 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 335.969 197.875 346.873]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction_a8041e8b3420a554e9637e4dfcf43c2b1) >>
+>> endobj
+11527 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 297.488 196.159 308.018]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction_aa3b0210cf6bc4dc319d24d429518c61d) >>
+>> endobj
+11528 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.134 166.408 268.555 177.312]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+11529 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11533 0 obj <<
+/D [11531 0 R /XYZ 90 757.935 null]
+>> endobj
+1476 0 obj <<
+/D [11531 0 R /XYZ 90 512.817 null]
+>> endobj
+346 0 obj <<
+/D [11531 0 R /XYZ 90 506.217 null]
+>> endobj
+11534 0 obj <<
+/D [11531 0 R /XYZ 90 393.797 null]
+>> endobj
+11535 0 obj <<
+/D [11531 0 R /XYZ 90 393.797 null]
+>> endobj
+11536 0 obj <<
+/D [11531 0 R /XYZ 90 316.208 null]
+>> endobj
+11537 0 obj <<
+/D [11531 0 R /XYZ 90 259.794 null]
+>> endobj
+11538 0 obj <<
+/D [11531 0 R /XYZ 90 198.751 null]
+>> endobj
+11530 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F56 367 0 R /F72 404 0 R /F100 1390 0 R /F21 2359 0 R /F79 505 0 R /F97 1188 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11546 0 obj <<
+/Length 1490      
+/Filter /FlateDecode
+>>
+stream
+x��Xmo�6����R
Rqlc�Hm�T���n{_.��'K�[��v�}��f��{��S?���
f�y�l=Z��i��zuq
`+B�O}k�`E�
+|�8%�:���#�
�`��[�`;n���֡خ��V�M|�m��9\^���CB�����&�K9���U�7�A�{D����
<�fa�|X�Z��^��"��H�P�q+)V�?`+���,��(�����bԃ��z��u��E=�}~
�CT��Zp���zW&]V���Jv�(���.�}�2�hbm�E�ǝ�{/�	�±H:��Z�x	��]��;Ԣ�
��cľ"��_���!�
iװo�
&4@�c�ۅ'��fǓL_���橤�=
.	WLaAP�5�!�q��#�]b �{G�y�9\ d�
�_ �F�r�
E>xq&�	ʗ��b�t�^���a`�a�
���_��\?O�c(�CjSpp!�y� 1�~�
��")]��z
0���_�6s���P'.��S{�[]��L�Z6C��˪M�U�2
̢n�:~t�
UQ>�{@{���7��
��t�IiUę�)r!
�ձ�q
+@us! ��1�l��t�
+�Qs�ftz
R|�"� `�S
����
��0T���i��m���H!
f0
+��qN���c����\U�@́8o+Mэm�\�7�$��
���#�H��ЮN4����ά�B ,���@��ёy�c&��4��
2bbX��W3�S/\m�%
~��O�0RJZ �����z�I��j�5�K�
x�î/
E)K\��dS3
<Ty^9������@�sq9�W��摮�;J�t�{�C���
m����2�
+Zm�c��X?��Zf
��v(���"��@��7�x��F!6Ƭb��ڟee��ҥ�f� z��n6v�9
+}�\Wt� 1��l#&���M�%*��!�=�y�����N1�)k�]�+�O}f�To��`��7��	�����T,��*9�.�o�	�
�{��=�ft�u]t�ø]��
�

I����������z�T{�EN �g`��y���]\�
0��0Y�a/Ąb�ܲe}���@��p�oGH�sf�9���k`6i#�����sf
"0�
�d�֯Dg�I֕h�&��s��e���(
򢧄�=%
�N/
ꯉ,�� �L�7`�t��&n�>��K.�m��S����d@��2���?��ؐ�l��}�罐�[*�J3
"a�s
��ݱiW����̤dW׆��jWj�j>e�4�F��F
�
<J_@�c���Q?3���#WR?Q��ڹ��/ex$7i�|�D��&�7z�
hRHu�>�� ѓL�H�7���q�A���Aɘ��A�H�ҏ�� O*-$L}��dj�"v+�)ӗ&g��fL{�>_H��|���A*��*��c.0"D*2��x+�n������U���[J}
^\�]W_^\��{��hWfu�����x>
���Wd2�a���j��~�Y�Չ���

n��
+endstream
+endobj
+11545 0 obj <<
+/Type /Page
+/Contents 11546 0 R
+/Resources 11544 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11495 0 R
+/Annots [ 11540 0 R 11541 0 R 11543 0 R ]
+>> endobj
+11540 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.418 368.585 204.56 379.115]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Throwable_a14c081beabe1e165b1dc44b2a84b6c2b) >>
+>> endobj
+11541 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 329.731 194.963 340.261]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Throwable_a5024cc2b142473f5f733a8808cb09162) >>
+>> endobj
+11543 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11547 0 obj <<
+/D [11545 0 R /XYZ 90 757.935 null]
+>> endobj
+11548 0 obj <<
+/D [11545 0 R /XYZ 90 733.028 null]
+>> endobj
+11539 0 obj <<
+/D [11545 0 R /XYZ 90 716.221 null]
+>> endobj
+11549 0 obj <<
+/D [11545 0 R /XYZ 90 716.221 null]
+>> endobj
+1477 0 obj <<
+/D [11545 0 R /XYZ 90 492.258 null]
+>> endobj
+350 0 obj <<
+/D [11545 0 R /XYZ 90 485.658 null]
+>> endobj
+11550 0 obj <<
+/D [11545 0 R /XYZ 90 387.185 null]
+>> endobj
+11551 0 obj <<
+/D [11545 0 R /XYZ 90 387.185 null]
+>> endobj
+11552 0 obj <<
+/D [11545 0 R /XYZ 90 348.451 null]
+>> endobj
+11553 0 obj <<
+/D [11545 0 R /XYZ 90 292.037 null]
+>> endobj
+1478 0 obj <<
+/D [11545 0 R /XYZ 90 184.763 null]
+>> endobj
+354 0 obj <<
+/D [11545 0 R /XYZ 90 178.163 null]
+>> endobj
+11544 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F56 367 0 R /F72 404 0 R /F79 505 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11580 0 obj <<
+/Length 1215      
+/Filter /FlateDecode
+>>
+stream
+x�͘Is�6���<��L ��Gg��$�Ա�\�"a
��m�� @-���qҋ�X
އ�:�t~�O�:1�
8�;'�N @0r&�s3D��px�"8�uN��.��2�?����?�������cՁ�Y��&p�>�B���c���!+�����~�_'�M�
��	:���� �䃛��I��
�8r��^��cO=3�z�y w�{ ����v�n���+CP |/rF��v�1Y�܌�R��u�H�E�^��M\�}Z
�yEk�6��TR�N�D|-�^�ǎR�}߈p�
�d�˪v�p�R�Pi5��[q��{�.�YJ��f�KY��U��h�	�U̞RG^
�Ґ�D<#�e3�xbf���?�W�O�RM��;+k{�x�[�e#�FN�"��,�z��Ժ�-$P���T,���į���������Z
�-K�{T�����{�L
�*�lϴ�=� �߄���3e�m����� �jO�ݫ=
�E Ô�� ��(���Y*z���⒲6�(��H��W�F���d�Skq�u��H�>��Z��E
���a��l��ǚ�(�;��k��p ��ƕ��ѱ�v x�b���e�axGc�b���>������
+e•�M_`�8�
�|+�ӽ�h¦��?�r�� 
Y"K�ZyMS%Y)�����U
AQ� �L@Co�
� �
3�\l�$���hK^�X�G�Y^�����#��~j��b:��^��Q`Wr
�����ӈ����~L��❭���hc����lڄ ����4ح�y��.�'�O�ӂ��^��歭F���x�S�; !�q[����v��~|c\�X���7˂[4�6��� V�.晤�2��
]_���
�Z�Il�����>k�	�(����1��Z�Z��M�{a���lI�D��[�6뜎����^�w|���H
_`oeKJzFx�
�m\��zu(��@���k&����~�y���lD�U�t�R���)�+�F9�[�h����*�
<�!��Fΰe���!���������$ ��!�_��_�.7ꐤ��h!_>+���o�%'���k/����G�
8�E�I'��'�2Ѿv����^)����q	Ze|�Eӥ�ZϏz*V/=��g�V>pG�J-�Yw.̾�9]�F�W�Ep	�A��l<~zz� M��p9��l��VfQ
�eR�0>��,"��3��8���kBG�
+endstream
+endobj
+11579 0 obj <<
+/Type /Page
+/Contents 11580 0 R
+/Resources 11578 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11495 0 R
+/Annots [ 11542 0 R 11554 0 R 11555 0 R 11556 0 R 11557 0 R 11558 0 R 11559 0 R 11560 0 R 11561 0 R 11562 0 R 11563 0 R 11564 0 R 11565 0 R 11566 0 R 11567 0 R 11568 0 R 11569 0 R 11570 0 R 11571 0 R 11572 0 R 11573 0 R 11574 0 R 11577 0 R ]
+>> endobj
+11542 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 697.247 177.053 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Variable_1_1Compare) >>
+>> endobj
+11554 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [166.284 616.485 254.064 627.389]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_ab80d28775828a4ee502fab82ba1a278c) >>
+>> endobj
+11555 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.206 616.485 384.393 627.389]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11556 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 535.722 149.098 546.626]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a8dfe38ded52523b20209cce599411c4c) >>
+>> endobj
+11557 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.914 535.722 218.557 546.626]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+11558 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 496.868 179.554 507.772]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+11559 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 496.868 189.795 507.772]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_abb6a26c12f7bdee7504d577ca81992e0) >>
+>> endobj
+11560 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 458.014 179.554 468.918]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+11561 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 458.014 250.666 468.918]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a44e2225e59844067e005297572cd9ca5) >>
+>> endobj
+11562 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 419.159 191.718 430.063]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+11563 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 419.159 288.852 430.063]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a7102c6fe85d4c8e6939d29a047becbdb) >>
+>> endobj
+11564 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 380.305 191.718 391.209]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+11565 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 380.305 303.079 391.209]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a49b4a338d3d82bfb7a404ea87481fc4d) >>
+>> endobj
+11566 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 341.824 150.493 352.355]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_aed0f237309569c2bfbf9e6f60740974e) >>
+>> endobj
+11567 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 260.688 203.075 271.592]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+11568 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 260.688 296.324 271.592]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_aa5f2c0410e128e2f082d761ef36820da) >>
+>> endobj
+11569 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.005 246.068 309.384 255.973]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11570 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 221.834 239.129 232.738]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a5012c55d8fdb1420b80a3bfbe5a5b843) >>
+>> endobj
+11571 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.945 221.834 330.725 232.738]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_ab80d28775828a4ee502fab82ba1a278c) >>
+>> endobj
+11572 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.206 207.213 329.585 217.118]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11573 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 182.98 225.212 193.884]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_ab80d28775828a4ee502fab82ba1a278c) >>
+>> endobj
+11574 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.182 182.98 315.981 193.884]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a75683687bda865c93db529b76271bed2) >>
+>> endobj
+11577 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11581 0 obj <<
+/D [11579 0 R /XYZ 90 757.935 null]
+>> endobj
+11582 0 obj <<
+/D [11579 0 R /XYZ 90 716.221 null]
+>> endobj
+11583 0 obj <<
+/D [11579 0 R /XYZ 90 633.556 null]
+>> endobj
+11584 0 obj <<
+/D [11579 0 R /XYZ 90 633.556 null]
+>> endobj
+11585 0 obj <<
+/D [11579 0 R /XYZ 90 554.696 null]
+>> endobj
+11586 0 obj <<
+/D [11579 0 R /XYZ 90 515.961 null]
+>> endobj
+11587 0 obj <<
+/D [11579 0 R /XYZ 90 438.253 null]
+>> endobj
+11588 0 obj <<
+/D [11579 0 R /XYZ 90 399.398 null]
+>> endobj
+11589 0 obj <<
+/D [11579 0 R /XYZ 90 360.544 null]
+>> endobj
+11590 0 obj <<
+/D [11579 0 R /XYZ 90 279.662 null]
+>> endobj
+11591 0 obj <<
+/D [11579 0 R /XYZ 90 279.662 null]
+>> endobj
+9500 0 obj <<
+/D [11579 0 R /XYZ 90 240.927 null]
+>> endobj
+11592 0 obj <<
+/D [11579 0 R /XYZ 90 202.073 null]
+>> endobj
+11578 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11605 0 obj <<
+/Length 2078      
+/Filter /FlateDecode
+>>
+stream
+xڥXY��6~�_��
Uap<�ه��Ve��י��㚂(h�
E*$5��v�H���k��F_ 
���⧛��w	
2��<n6AF�$fDrܬ�O!�D�ŒQJ��
FC������a]>m��Q���F5O���B�J�XrI�ץj[;��7�Y�4�U�,J"
Fi��|���ۛ��.�Dfd�	I�
��ŧ�4X���%"K�C�
".�[�_���>������A���k+һC�wE]�(��;6�`�#"�����J���sju[���nݤjܠ���N�V��o�YX1���:`1�D
+J"��
ȹ
S}ZJpBۭ���k��Y�sdh�����ـ��^7���#c
�Q̑?�0:pb��,�<-�cF��{;�A��y�>.c=Z&�f�'�:��dA
+�����R�� T$��;t��s�`�dh�ǒY�g4_rN��W���������y�Kݶs��I��|�\��X����6�Z�{�
-�F�A)��
x�"��T���,D�uSTwn���{'SK�
>
���x� �R
a.U�ѝ*J�ot�7�
���H�q�2
��NW-��,�7v��N�#�t��2��^�,����~��@a7Z�g���I�g݅�Ϻ
y4z�@����2W_'���@�g�dҥG��D��Ek�u�"0��y`�Z5�n
U�_�h,
\&p�Hv��dH

Zt��rK+��=hU���n�p��f��Ԝ_�
X�E���v�g�׻=�
�y
�[ˢ�
+y%P�
ڰ5�ܗ��ʷv�~�屠�1
~�`��n4I�p�dW��Tu��
��&�YY�8Ug�A��B�.#(��GM� _ko�a�2�����'�F��Z�`�|�0N8
���<��F����+G��j��@
���1�p<���� ̮��+(�al��^/ϑ���Ȏe�ð�'	wj�F�*����l��8Lۿ�B��{�UG5�� �Y��(G�%�
�?���c���>XHk
�lF���^����p�%≭a��){
f��(%I��~1�@t/���;��C�C( I;sZA]�&��	�4������
+�#4e�|���'`D(•-��	��gFn
+ʼ�iU��a�I�Pc �����Z���<���c�u��Im�.�����1	���ir�0˸��87f$��%�M�K� 8�2�d
_�N
�Ʈ9`�]C�Lx�Bv�
JKfZ�!K��]іZ9�FZ������RUwu�h'�٪�)0$�w(���(H��AQC�\�o���`S�e��\�
�2�cL��ő�/u	�.c����N�A��ғ�j=�'6˳�/�i���^\�A�PI0"cĢʧ�ux�����ܳ�I�h/��L)�Q���b�au0!��4��n_n�
�=sP�0�A�:�I� n2	e&�	'`cϨ;�c��ڊG���ƽ��֘�	i�	�,�/���ŀ��m�5�	�d�w��ϥ;}��s����ӈїW�m���YJp�29l��k�_3�����{4���P:�
j��wl�^���
N
!��^��2J��{�kW~�PO
+&����)R5gpf�O4�9#��SQa
��i)�$��ƥ\?��"/�ϳ��F ׹�'�}�ID���ihnd�]3��g���`�
����A������񘓔r�{D�}�������4,_��y�[dûn{���>����' ��O�7��V��o�N�q"b��r.�sJ죕u�1h���\w09B�
����N=ޚ.붇7"��&?���t.Gn9�g'�EI>��E篃7.���M�.�@�D'Į����a�
ΰ�j�/T����6
N�/Ǧ�ݡ���9�}p
��xw��κ�˺�6�yX�
YtLHT��di�n[�=y��injO-��9s�#‰�=�3�k9z�߿��4�ǖ=
^l��bJ@����2}T�S�/��7e�
g���Խ%K(�2�X�yZ��_R��j���滅���Ư�:��1��B�9�\��
[@$�������g�G��f=J�RNhҗ�m���


HޒCU�RtW�}yu�%\��LX���ش�-�6�������
�43
+endstream
+endobj
+11604 0 obj <<
+/Type /Page
+/Contents 11605 0 R
+/Resources 11603 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11613 0 R
+/Annots [ 11575 0 R 11576 0 R 11595 0 R 11596 0 R 11597 0 R 11598 0 R 11599 0 R 11600 0 R 11601 0 R 11602 0 R ]
+>> endobj
+11575 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 669.969 226.034 680.873]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a56a9fd5bee6f87ae9079aed0bc3de31a) >>
+>> endobj
+11576 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 669.969 356.363 680.873]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11595 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 631.488 151.051 642.018]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_ad71d7986fdfd19215fc87726ebacf555) >>
+>> endobj
+11596 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.866 631.488 190.054 642.018]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11597 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [199.867 631.488 235.055 642.018]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11598 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.961 548.668 361.149 559.572]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11599 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.006 473.758 331.193 484.662]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11600 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.651 228.451 465.948 259.295]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_aa5f2c0410e128e2f082d761ef36820da) >>
+>> endobj
+11601 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.628 101.29 201.531 111.133]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_abb6a26c12f7bdee7504d577ca81992e0) >>
+>> endobj
+11602 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11606 0 obj <<
+/D [11604 0 R /XYZ 90 757.935 null]
+>> endobj
+11607 0 obj <<
+/D [11604 0 R /XYZ 90 716.221 null]
+>> endobj
+11608 0 obj <<
+/D [11604 0 R /XYZ 90 593.794 null]
+>> endobj
+11609 0 obj <<
+/D [11604 0 R /XYZ 90 371.758 null]
+>> endobj
+11593 0 obj <<
+/D [11604 0 R /XYZ 90 348.517 null]
+>> endobj
+11610 0 obj <<
+/D [11604 0 R /XYZ 90 348.517 null]
+>> endobj
+11611 0 obj <<
+/D [11604 0 R /XYZ 90 214.877 null]
+>> endobj
+11594 0 obj <<
+/D [11604 0 R /XYZ 90 192.44 null]
+>> endobj
+11612 0 obj <<
+/D [11604 0 R /XYZ 90 192.44 null]
+>> endobj
+11603 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F11 446 0 R /F79 505 0 R /F8 540 0 R /F72 404 0 R /F100 1390 0 R /F104 2229 0 R /F23 368 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11636 0 obj <<
+/Length 1643      
+/Filter /FlateDecode
+>>
+stream
+x��XYo�F~ׯ P ��h����p�I��7v��M�m���Ê��;�K$E)���xh9;3�7�b������g���
��Ե�.� [�K��:���9����%��O��*
W'
��E���q��&UXm��?.
+
��"���7�%ex�"
�Z�~��Z��X�@����׳��f�(�-"a
�lfE���3�bx����|k-Ve�Cm�����>h�v��(�
e��*�y�|��Z�4l�zx��Q��|���ڌ�M(^���:�v��|D�uu#-3)摼%�¦�:AG/	��MAĥ ^�}�T��F<��^�	3�X�{�]p_�灺�Q?�څ�u�^y���C~h
hd
���!@f=3��
��s^I�>˥��\ڀ��0k�x���}۔m3�;cs4�`jS��!gU�^E*�y���e��v���:���{�Ψ��פ���1N\O���
���b�
��W�	c�s�P^��	�ˊ*�U�_�'W7
�L�@:���.U �]+�Ń�.J��u�6���g-r�z��y����˪��\
KӢSgm��LJ���T:�X�E��"X)��R6\u.8Q�)��6���ƨ�����2�.���LyU��Z�+.'�z,�%y��Ϳt?
+?0��h:r���<JۘOd>f#/0Y��,(
��Y}��ؐ\��_&"bx�!�0�Oڋ4��]�xv��a
���<i8As�=��E��R��a��!d�K:�������x��>���z��;ժ�?o�T�<Cz���F���� �
���_�;*�q�R��؃���|#+��sB��\=aSr
�����k�&)ot���rϯ*��㒼KB����ۖ�ڦ���}Z�tzS���w��������ˠ�j~����a_|A6u��=tH򑜪K�!��.]��as�h�	
�|����Ŧ	h�	y��$��]�wG�6�]/w?��	�
+5��U�)�׿ �a�W�˃9x�hwN�x�V��$��Tْ(
S`�b�
��	�UR�[Ԧ��/FR
�T�t]�|�ª�S���
2���;��h}��p4'yͫ��e�_��T
^	�� 冀�A�g����]�E�$���I=wÈ@��{;��Xt����d�a�$�s&0�n���[����W�z�
J��
�l=�Y��a.%>;}��UwK�2:Jy�{�	,��
+��T"n#1�������d鳸�J�1�w��#��@�n�c��;� HP�ɯ��(��0��S�B.6y_�[��Z�.��
zd�Ɗ0�
+�v�uB9{/m�M
+����t:f����u�t��W�T�Q��e�>�2�G�5v\�i=)9 ^�E�Q�Nj1��1�a�<��E,�YQmVu��C3�J}�䫋M���U��b֛�;�5D�5]����(j�D��2j��@a���” F�۲0͑�cі�wë�?�����<�Z��
��Ǿ{
��[ N�"���*�������
�A�~��sqnV��A����Y�sF�o'b�2u�w�ϣ�:��B��K�
+�wa��<Йs#N��m��!���,�r�}i�_��{3'B[m�O�
~�MS

��kը͓�BIsT�����MO
+���F�9Uj*��L�v4v���x0�
+endstream
+endobj
+11635 0 obj <<
+/Type /Page
+/Contents 11636 0 R
+/Resources 11634 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11613 0 R
+/Annots [ 11616 0 R 11617 0 R 11618 0 R 11619 0 R 11620 0 R 11621 0 R 11622 0 R 11623 0 R 11624 0 R 11625 0 R 11626 0 R 11627 0 R 11628 0 R 11629 0 R 11630 0 R 11631 0 R 11632 0 R 11633 0 R ]
+>> endobj
+11616 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 406.498 170.687 417.028]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_ada205f4442f845f797fb108c121fe371) >>
+>> endobj
+11617 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 367.888 170.687 378.419]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a6faffe6889615dc0491bf86dd601172c) >>
+>> endobj
+11618 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.024 367.888 233.211 378.419]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11619 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 329.279 170.687 339.809]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a5842c4add70aabcc093269aea7a348e5) >>
+>> endobj
+11620 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.024 329.279 233.211 339.809]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11621 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.297 329.279 309.485 339.809]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11622 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 290.295 179.554 301.199]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+11623 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 290.295 250.666 301.199]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a3d49b2488d36bda4fef0109bedf6b0cc) >>
+>> endobj
+11624 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 252.059 158.044 262.59]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a7176b36adef9683aae06961175ad94cb) >>
+>> endobj
+11625 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.86 252.059 197.048 262.59]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11626 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 213.45 176.505 223.98]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a4090b6696c19cb93c705d9a9e06f4915) >>
+>> endobj
+11627 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 198.578 450.955 208.483]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a4c3c15515e1335fb69130aad4f371a1c) >>
+>> endobj
+11628 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 163.508 191.718 174.412]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+11629 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 163.508 288.852 174.412]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a32b7f9e0a2f54d199ad55bc008bfa62e) >>
+>> endobj
+11630 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 124.898 191.718 135.802]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+11631 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 124.898 303.079 135.802]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a4e8f85cded8a6be1916c2cc0bb31c540) >>
+>> endobj
+11632 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 86.662 150.493 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a3a5d4b3fb638414792155bcef8b54c1c) >>
+>> endobj
+11633 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11637 0 obj <<
+/D [11635 0 R /XYZ 90 757.935 null]
+>> endobj
+11638 0 obj <<
+/D [11635 0 R /XYZ 90 733.028 null]
+>> endobj
+11614 0 obj <<
+/D [11635 0 R /XYZ 90 716.221 null]
+>> endobj
+11639 0 obj <<
+/D [11635 0 R /XYZ 90 716.221 null]
+>> endobj
+11615 0 obj <<
+/D [11635 0 R /XYZ 90 654.586 null]
+>> endobj
+11640 0 obj <<
+/D [11635 0 R /XYZ 90 640.126 null]
+>> endobj
+1502 0 obj <<
+/D [11635 0 R /XYZ 90 530.318 null]
+>> endobj
+358 0 obj <<
+/D [11635 0 R /XYZ 90 523.338 null]
+>> endobj
+11641 0 obj <<
+/D [11635 0 R /XYZ 90 424.976 null]
+>> endobj
+11642 0 obj <<
+/D [11635 0 R /XYZ 90 424.976 null]
+>> endobj
+11643 0 obj <<
+/D [11635 0 R /XYZ 90 386.486 null]
+>> endobj
+11644 0 obj <<
+/D [11635 0 R /XYZ 90 309.266 null]
+>> endobj
+11645 0 obj <<
+/D [11635 0 R /XYZ 90 270.657 null]
+>> endobj
+11646 0 obj <<
+/D [11635 0 R /XYZ 90 232.047 null]
+>> endobj
+11647 0 obj <<
+/D [11635 0 R /XYZ 90 182.479 null]
+>> endobj
+11648 0 obj <<
+/D [11635 0 R /XYZ 90 143.869 null]
+>> endobj
+11649 0 obj <<
+/D [11635 0 R /XYZ 90 105.259 null]
+>> endobj
+11634 0 obj <<
+/Font << /F70 402 0 R /F11 446 0 R /F100 1390 0 R /F104 2229 0 R /F56 367 0 R /F72 404 0 R /F79 505 0 R /F97 1188 0 R /F107 2332 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11663 0 obj <<
+/Length 1598      
+/Filter /FlateDecode
+>>
+stream
+x��XYw�6~�_�S:�fd-�O����Iڴn�N�
46�,S`<���xI�>�F����"�w�a�٫���Q���!
�ӕc/
+	�x��w6'��_����'x��Er~�S<��+����/�E��7����†,��es~"[A9��Γ���J�>sY.%��
1�?����x:�{F�0�m�Pĸ�,fg�����w
F,�V�*��2������6NM����'��0PN#,��2�C�9��J.�WK�UwM�[�W��R��_+?���Nj�Es��Iڬ��1�)Ҏ�e���_P�€•�@D�]�(�#!�ق��,5���՗&v�.mW�̲�tS��2ԯ�0��G:��UٴN{'�f� xB;3���V�`���rpG��X�D�8��i��å��n�H<�(
�Ƥ�d�<y��m��B��.�,[we�U�N �Cݱ@�u2�a`�B���^e��4
+�AzA��Q�6��]
�ik�]��5_�8y�pF(��/HG@�>
h"bK�!��:+�+�
��JG�
+*
��7*C�\�M.�Ĉ��*�i���!
P
�^a��u�V��1
�����y�¡�Š��Ĥ���K� �?
+�WO��
dǛ�ܮ�����^mʥ"{3R3�	Q���4����tJ��,�
+Y6����Yˉ�w�S$_Λu�����{�����A���l&��g��T6m�?v�t��n�	!��������Ls��@0=lt
`֛<ie�z�0p�vAls��_�V�0$m�F�I�,���X
h����-0vlb(��}l��W��x�{d�b��t�{wR>B�xw�{~�
~�Ϯ�݅�@ ׈��m��Ơ������t?�Dz4G�
�od�d����,�lݚl�Ϫ���:����+3 C��}���#p���'d�%
�`	‡�Rc�kL�Y��X�G��T�M��}P25݈���#�
����/8�
��a<��=��d�<D�,
M�� ��$B�ӳ��+�.�0;�A171�*�n�
^a}�޺Ն4$q�Tc$D ���t�6Y�N��}��|�8�����ꤼ4�U]�:0�B�b����(K�
f�
+��p:w�����ڠ�#��d;� 2
�ҙ��Z�ەCW�*�6}T
!�"`}mtH�3r�S�B�c!A��HK!��
V�l�i(��B�^X��
vh��X�ۘ�Є<��C�T�w�ߖ���%��G!䒼0��qbnc0�0���%�,���$�2�6�6� ��6k���.�������Lu<�3Y��}Y����c�����:��oߋ�'
ݏc��;\�� 
J8
n�ߣ��5
u~��q���+c�����Y�)���"k�]]"����
��
�]z0b;N
�&�!�4�#ӄngu��gW�63��E{:h��_�Ò�3
��UcۘM�P3����V7_ss)K���J��q�_Uy^�z�U�7sJ�4����h�U0�a
���(�?�A�B
a�p�q
L�=�S����ݭ ��?Y�����$��t�u��w�Q��?��p����gW?�t��YKE8�9{ն�Ã��v��
ڔٺFY{�^�����F�݇�
Ƣ������P�i���Io
+endstream
+endobj
+11662 0 obj <<
+/Type /Page
+/Contents 11663 0 R
+/Resources 11661 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11613 0 R
+/Annots [ 11652 0 R 11653 0 R 11654 0 R 11655 0 R 11656 0 R 11657 0 R 11658 0 R 11659 0 R 11660 0 R ]
+>> endobj
+11652 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 696.424 181.845 707.328]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a0b93ff227453cf62d922dab902055f8b) >>
+>> endobj
+11653 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 658.415 181.845 669.319]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a4c3c15515e1335fb69130aad4f371a1c) >>
+>> endobj
+11654 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 620.406 154.727 631.31]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_aca3690ce9d77a85740cdf8a508edf127) >>
+>> endobj
+11655 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 540.869 203.075 551.773]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+11656 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 540.869 296.324 551.773]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a587efac6e5a2fbde0a1866dbe4427224) >>
+>> endobj
+11657 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.005 526.671 328.312 536.576]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+11658 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 435.321 226.034 446.224]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_ad7bdf8849f22908ce11574a04ba875df) >>
+>> endobj
+11659 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 435.321 377.952 446.224]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+11660 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11664 0 obj <<
+/D [11662 0 R /XYZ 90 757.935 null]
+>> endobj
+11665 0 obj <<
+/D [11662 0 R /XYZ 90 715.095 null]
+>> endobj
+11651 0 obj <<
+/D [11662 0 R /XYZ 90 677.086 null]
+>> endobj
+11666 0 obj <<
+/D [11662 0 R /XYZ 90 639.077 null]
+>> endobj
+11667 0 obj <<
+/D [11662 0 R /XYZ 90 559.42 null]
+>> endobj
+11668 0 obj <<
+/D [11662 0 R /XYZ 90 559.42 null]
+>> endobj
+11669 0 obj <<
+/D [11662 0 R /XYZ 90 479.883 null]
+>> endobj
+11670 0 obj <<
+/D [11662 0 R /XYZ 90 398.803 null]
+>> endobj
+11671 0 obj <<
+/D [11662 0 R /XYZ 90 342.54 null]
+>> endobj
+11650 0 obj <<
+/D [11662 0 R /XYZ 90 318.171 null]
+>> endobj
+11672 0 obj <<
+/D [11662 0 R /XYZ 90 318.171 null]
+>> endobj
+11673 0 obj <<
+/D [11662 0 R /XYZ 90 200.811 null]
+>> endobj
+11674 0 obj <<
+/D [11662 0 R /XYZ 90 178.499 null]
+>> endobj
+11675 0 obj <<
+/D [11662 0 R /XYZ 90 178.499 null]
+>> endobj
+11661 0 obj <<
+/Font << /F70 402 0 R /F79 505 0 R /F56 367 0 R /F97 1188 0 R /F107 2332 0 R /F106 2337 0 R /F11 446 0 R /F100 1390 0 R /F72 404 0 R /F104 2229 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11679 0 obj <<
+/Length 385       
+/Filter /FlateDecode
+>>
+stream
+xڍ��n�0��<�܊��c��J�Vj������Y��ڨo_7)�iO��f�����貌��9�F���r
� W
��Pn`sB�،Q|�8�Ƶfu�Ż棲gV��Wg��|��i��浱�ja6����}(��:Ƌ�vk��
+�eZ���&�QF�"���D昧�m�|!���
�����T
�H���E���N�Iu���,- )��!��x��
,gҧ����o;瀪@͋��x��C�R��Y )+,y��(z\N��r�
O�uL�x|g�7ӄ��$�����w]hr�78�Y�?���1b�������'��H�C����<I��{|���zH��䛴�̜g�s=M��\�jwnL_w�ٚ�#��O�
+endstream
+endobj
+11678 0 obj <<
+/Type /Page
+/Contents 11679 0 R
+/Resources 11677 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11613 0 R
+/Annots [ 11676 0 R ]
+>> endobj
+11676 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11680 0 obj <<
+/D [11678 0 R /XYZ 90 757.935 null]
+>> endobj
+11677 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11744 0 obj <<
+/Length 803       
+/Filter /FlateDecode
+>>
+stream
+x��Y�o�0~�_��DZ�
؄>�k�N݆�<T�&�7e#&2dK���K�)����]�������q�` ����b�:�� @����G�C�A�r����C�FD|��>�����5&��|b� ]Z�K��!Q*(� ܞM��⎍ۿ�%�a:�Ls�ǩȴQ��!�.B����D����{�����m�K

+,��>���C�ưM�����l�Q�e�H���q29f4H���$���P29??�|��O��G��t<�r'���ɪm����${ ��
+��gT�~ۅEQy�X�����r�j���H�=�IY�$���>>�Y�yשn�/�,�U��5��(,)�Զ�p\TT9�����<fI2��i^suǣi��;��:�K"�xnݒR�����TK�o.�m%�\۫h�Q*�|�7�����n~���Z�����4���\2�C7�E^Q��O�^�o]�Ä�����!*1�<3֮ד�)Y2	��/RA@��- ��A7� ; �oW���z�XXE ��ՃN
E���T��*
+>���#��dSQ�8�1a�{�!|�9���h��
.Y���R�8� ʪF��m
+I	eQ���6ʪ���k�h<M66m��M^ߴ�u%a�M��oc��,���l"��fi
;Д�"t��y:~Q*��p���J�{�*��թ�V���9�c�B��z�Sk2��od���v*�o^M�I�+
���|
!��B�ב�j�x�p
+���,�R�u��U|e������&,�M����J(�j(���7*�-|���� ʄN
+endstream
+endobj
+11743 0 obj <<
+/Type /Page
+/Contents 11744 0 R
+/Resources 11742 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11613 0 R
+/Annots [ 11681 0 R 11682 0 R 11683 0 R 11684 0 R 11685 0 R 11686 0 R 11687 0 R 11688 0 R 11689 0 R 11690 0 R 11691 0 R 11692 0 R 11693 0 R 11694 0 R 11695 0 R 11696 0 R 11697 0 R 11698 0 R 11699 0 R 11700 0 R 11701 0 R 11702 0 R 11703 0 R 11704 0 R 11705 0 R 11706 0 R 11707 0 R 11708 0 R 11709 0 R 11710 0 R 11711 0 R 11712 0 R 11713 0 R 11714 0 R 11715 0 R 11716 0 R 11717 0 R 11718 0 R 11719 0 R 11720 0 R 11721 0 R 11722 0 R 11723 0 R 11724 0 R 11725 0 R 11726 0 R 11727 0 R 11728 0 R 11 [...]
+>> endobj
+11681 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.819 672.615 208.774 682.802]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+11682 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 638.09 145.791 646.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.178) >>
+>> endobj
+11683 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.627 624.078 296.564 634.981]
+/Subtype /Link
+/A << /S /GoTo /D (page.240) >>
+>> endobj
+11684 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 600.167 285.097 611.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.106) >>
+>> endobj
+11685 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 588.212 258.537 599.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.143) >>
+>> endobj
+11686 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 576.257 260.191 587.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.261) >>
+>> endobj
+11687 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 554.404 145.791 563.25]
+/Subtype /Link
+/A << /S /GoTo /D (page.341) >>
+>> endobj
+11688 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.669 529.153 221.606 539.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.374) >>
+>> endobj
+11689 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.109 505.243 187.046 515.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.427) >>
+>> endobj
+11690 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 492.571 287.867 503.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.461) >>
+>> endobj
+11691 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 468.66 285.097 479.564]
+/Subtype /Link
+/A << /S /GoTo /D (page.107) >>
+>> endobj
+11692 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 456.705 258.537 467.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.143) >>
+>> endobj
+11693 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 444.75 260.191 455.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.262) >>
+>> endobj
+11694 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 422.897 145.791 431.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.341) >>
+>> endobj
+11695 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.669 397.647 221.606 407.833]
+/Subtype /Link
+/A << /S /GoTo /D (page.375) >>
+>> endobj
+11696 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.109 373.736 187.046 383.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.427) >>
+>> endobj
+11697 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 361.064 287.867 371.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.463) >>
+>> endobj
+11698 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 337.153 285.097 348.057]
+/Subtype /Link
+/A << /S /GoTo /D (page.106) >>
+>> endobj
+11699 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 325.198 258.537 336.102]
+/Subtype /Link
+/A << /S /GoTo /D (page.142) >>
+>> endobj
+11700 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 313.243 260.191 324.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.262) >>
+>> endobj
+11701 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 291.39 145.791 300.237]
+/Subtype /Link
+/A << /S /GoTo /D (page.314) >>
+>> endobj
+11702 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 267.48 145.791 276.326]
+/Subtype /Link
+/A << /S /GoTo /D (page.340) >>
+>> endobj
+11703 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.669 242.229 221.606 252.416]
+/Subtype /Link
+/A << /S /GoTo /D (page.374) >>
+>> endobj
+11704 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.133 229.557 295.069 240.461]
+/Subtype /Link
+/A << /S /GoTo /D (page.400) >>
+>> endobj
+11705 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.109 206.364 187.046 216.551]
+/Subtype /Link
+/A << /S /GoTo /D (page.426) >>
+>> endobj
+11706 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 193.691 287.867 204.595]
+/Subtype /Link
+/A << /S /GoTo /D (page.460) >>
+>> endobj
+11707 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 169.781 285.097 180.685]
+/Subtype /Link
+/A << /S /GoTo /D (page.107) >>
+>> endobj
+11708 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 157.826 258.537 168.73]
+/Subtype /Link
+/A << /S /GoTo /D (page.142) >>
+>> endobj
+11709 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 145.871 260.191 156.775]
+/Subtype /Link
+/A << /S /GoTo /D (page.263) >>
+>> endobj
+11710 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 124.018 145.791 132.864]
+/Subtype /Link
+/A << /S /GoTo /D (page.314) >>
+>> endobj
+11711 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 100.107 145.791 108.954]
+/Subtype /Link
+/A << /S /GoTo /D (page.340) >>
+>> endobj
+11712 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.151 672.615 438.087 682.802]
+/Subtype /Link
+/A << /S /GoTo /D (page.376) >>
+>> endobj
+11713 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.614 659.943 511.551 670.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.400) >>
+>> endobj
+11714 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.59 636.75 403.527 646.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.426) >>
+>> endobj
+11715 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 624.078 504.348 634.981]
+/Subtype /Link
+/A << /S /GoTo /D (page.461) >>
+>> endobj
+11716 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.59 588.929 403.527 599.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.426) >>
+>> endobj
+11717 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 564.302 504.348 575.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.461) >>
+>> endobj
+11718 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 540.391 504.348 551.295]
+/Subtype /Link
+/A << /S /GoTo /D (page.462) >>
+>> endobj
+11719 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 516.481 476.672 527.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.261) >>
+>> endobj
+11720 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 492.571 476.672 503.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.264) >>
+>> endobj
+11721 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 458.643 362.272 467.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.179) >>
+>> endobj
+11722 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [496.109 444.75 513.045 455.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.241) >>
+>> endobj
+11723 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.59 420.84 411.527 431.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.306) >>
+>> endobj
+11724 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.748 396.929 494.684 407.833]
+/Subtype /Link
+/A << /S /GoTo /D (page.483) >>
+>> endobj
+11725 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 373.019 501.578 383.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.108) >>
+>> endobj
+11726 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 361.064 475.018 371.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.144) >>
+>> endobj
+11727 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 349.109 476.672 360.013]
+/Subtype /Link
+/A << /S /GoTo /D (page.262) >>
+>> endobj
+11728 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 327.256 362.272 336.102]
+/Subtype /Link
+/A << /S /GoTo /D (page.341) >>
+>> endobj
+11729 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.151 302.005 438.087 312.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.376) >>
+>> endobj
+11730 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 289.333 504.348 300.237]
+/Subtype /Link
+/A << /S /GoTo /D (page.463) >>
+>> endobj
+11731 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 265.422 501.578 276.326]
+/Subtype /Link
+/A << /S /GoTo /D (page.107) >>
+>> endobj
+11732 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 253.467 475.018 264.371]
+/Subtype /Link
+/A << /S /GoTo /D (page.143) >>
+>> endobj
+11733 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 241.512 476.672 252.416]
+/Subtype /Link
+/A << /S /GoTo /D (page.263) >>
+>> endobj
+11734 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 219.659 362.272 228.506]
+/Subtype /Link
+/A << /S /GoTo /D (page.340) >>
+>> endobj
+11735 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.151 194.409 438.087 204.595]
+/Subtype /Link
+/A << /S /GoTo /D (page.377) >>
+>> endobj
+11736 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 181.736 504.348 192.64]
+/Subtype /Link
+/A << /S /GoTo /D (page.461) >>
+>> endobj
+11737 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 157.826 504.348 168.73]
+/Subtype /Link
+/A << /S /GoTo /D (page.462) >>
+>> endobj
+11738 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 133.916 476.672 144.82]
+/Subtype /Link
+/A << /S /GoTo /D (page.265) >>
+>> endobj
+11739 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 110.005 501.578 120.909]
+/Subtype /Link
+/A << /S /GoTo /D (page.119) >>
+>> endobj
+11740 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 98.05 475.018 108.954]
+/Subtype /Link
+/A << /S /GoTo /D (page.154) >>
+>> endobj
+11745 0 obj <<
+/D [11743 0 R /XYZ 90 757.935 null]
+>> endobj
+11746 0 obj <<
+/D [11743 0 R /XYZ 90 696.969 null]
+>> endobj
+11742 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11808 0 obj <<
+/Length 1187      
+/Filter /FlateDecode
+>>
+stream
+x��Z]s�8}���m�
� 	�[�f�t��{g�&
���
*p���nb줳�/6�{�ѽGW��6рv��;��@suX�i.�l
ud at m�k�ݳ��'W��㏚

 ,�?�\+k;�:P�
�F�n�H��@�e�G
��h����f���Q�x�D���ym �6L
`TX
� �R1�d�O����������S���
+4bRº<�h�]ö�
+��� B�E*�Άd(�ېMך�h�ܩ	�e�Uom4��K�$�4$�{���#��<V0_>L�O� ��*S�̟y��X�i�`�Nk^�
+CRs��#�h�x�ˮt	-ۢ�O��z�����$�xB(�I,���>� �_
D���豮{����
n�FF�h�SY��{��F$�)ˬN��)ܛ����tu�J�1t�ҝ�V�(
�M��g�3
�DD=u�txQ8�6�x
�1.�]���$�u��
+�w� 
�H0��gɃ{�<�ٯ�a��$�B����n{ɓ�t�a�_L���2���R�`�U4�e�ł�F��ôE�����M�
��2�_Ȳ0$K��mF���>!w3�yu?5ɽ�Յ_s���$n
5�Z
.ׅ���֑� ���
k
�/��{�[
��.>��O��������z�sr|u�W��AW�5�W%�rڥ�\�>��&eY-�%MȨ��b�vj�wq6��SR�+�
}����g��`�ʏ����gGG��E��Rv'^�0�~3WNg����0
J�ôD�vF'���M�-";I�	'
���yY��	�b6��0�U~@{eB���UL����!��N��-�YlטW�
�e3J*Sh�����wݽ1
��@%@��C�%���c*h
�4?R����P�?
� D��x6�����zx��{ExM�����0��n�J����Cd�c�I��T�=�4�W,T�,�72l�D{5��7��
��6�q_η�6
��5R3k�[!����
G�����Vn[��
+Yѱm�X`�Bq��;ya�x��8�ƺk�Ny��\��,W��{����p��]�]ܖ�7'L��C����g4,�o ߳��|g�����P�
�2�F���~=h��?�?
/�B�Ёl)�p������|>׽D�� z�
�qx�Dފ�2Yt��^�"Q�F��>�q��R�RO���J��
+endstream
+endobj
+11807 0 obj <<
+/Type /Page
+/Contents 11808 0 R
+/Resources 11806 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11613 0 R
+/Annots [ 11741 0 R 11747 0 R 11748 0 R 11749 0 R 11750 0 R 11751 0 R 11752 0 R 11753 0 R 11754 0 R 11755 0 R 11756 0 R 11757 0 R 11758 0 R 11759 0 R 11760 0 R 11761 0 R 11762 0 R 11763 0 R 11764 0 R 11765 0 R 11766 0 R 11767 0 R 11768 0 R 11769 0 R 11770 0 R 11771 0 R 11772 0 R 11773 0 R 11774 0 R 11775 0 R 11776 0 R 11777 0 R 11778 0 R 11779 0 R 11780 0 R 11781 0 R 11782 0 R 11783 0 R 11784 0 R 11785 0 R 11786 0 R 11787 0 R 11788 0 R 11789 0 R 11790 0 R 11791 0 R 11792 0 R 11793 0 R 11 [...]
+>> endobj
+11741 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 719.912 260.191 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.274) >>
+>> endobj
+11747 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 698.059 145.791 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.313) >>
+>> endobj
+11748 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 674.149 145.791 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.351) >>
+>> endobj
+11749 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.669 648.899 221.606 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.383) >>
+>> endobj
+11750 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.133 636.226 295.069 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.399) >>
+>> endobj
+11751 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 624.271 287.867 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.473) >>
+>> endobj
+11752 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 600.361 285.097 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.119) >>
+>> endobj
+11753 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 588.405 258.537 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.155) >>
+>> endobj
+11754 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 576.45 260.191 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.274) >>
+>> endobj
+11755 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 554.597 145.791 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.352) >>
+>> endobj
+11756 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.669 529.347 221.606 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.384) >>
+>> endobj
+11757 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 516.674 287.867 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.473) >>
+>> endobj
+11758 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 482.866 145.791 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.313) >>
+>> endobj
+11759 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.133 456.899 295.069 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.400) >>
+>> endobj
+11760 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.175 421.033 180.112 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.197) >>
+>> endobj
+11761 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 397.123 285.097 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.111) >>
+>> endobj
+11762 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 385.168 258.537 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.148) >>
+>> endobj
+11763 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 373.212 260.191 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.267) >>
+>> endobj
+11764 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 351.359 145.791 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.345) >>
+>> endobj
+11765 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.669 326.109 221.606 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.379) >>
+>> endobj
+11766 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.109 302.199 187.046 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.430) >>
+>> endobj
+11767 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 289.526 287.867 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.466) >>
+>> endobj
+11768 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 265.616 285.097 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.112) >>
+>> endobj
+11769 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 253.661 258.537 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.148) >>
+>> endobj
+11770 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 241.706 260.191 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.267) >>
+>> endobj
+11771 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 219.852 145.791 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.345) >>
+>> endobj
+11772 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.669 194.602 221.606 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.379) >>
+>> endobj
+11773 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.109 170.692 187.046 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.430) >>
+>> endobj
+11774 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 158.019 287.867 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.466) >>
+>> endobj
+11775 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 134.109 231.409 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (page.84) >>
+>> endobj
+11776 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 110.199 231.409 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (page.85) >>
+>> endobj
+11777 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 86.288 231.409 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+11778 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.935 707.957 447.89 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+11779 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 684.764 425.255 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+11780 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.59 648.899 403.527 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.438) >>
+>> endobj
+11781 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.629 613.033 470.584 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.89) >>
+>> endobj
+11782 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.656 576.45 396.593 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.237) >>
+>> endobj
+11783 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.656 552.54 396.593 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.291) >>
+>> endobj
+11784 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 517.392 362.272 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.176) >>
+>> endobj
+11785 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.261 517.392 382.197 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.177) >>
+>> endobj
+11786 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.935 482.801 447.89 493.705]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+11787 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 458.891 509.015 469.795]
+/Subtype /Link
+/A << /S /GoTo /D (page.99) >>
+>> endobj
+11788 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 448.993 362.272 457.84]
+/Subtype /Link
+/A << /S /GoTo /D (page.101) >>
+>> endobj
+11789 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.59 411.788 403.527 421.974]
+/Subtype /Link
+/A << /S /GoTo /D (page.434) >>
+>> endobj
+11790 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 387.16 501.578 398.064]
+/Subtype /Link
+/A << /S /GoTo /D (page.117) >>
+>> endobj
+11791 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 365.307 362.272 374.154]
+/Subtype /Link
+/A << /S /GoTo /D (page.350) >>
+>> endobj
+11792 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 339.339 504.348 350.243]
+/Subtype /Link
+/A << /S /GoTo /D (page.470) >>
+>> endobj
+11793 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.59 304.191 403.527 314.378]
+/Subtype /Link
+/A << /S /GoTo /D (page.435) >>
+>> endobj
+11794 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 280.281 425.255 290.468]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+11795 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 256.371 425.255 266.557]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+11796 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 232.46 425.255 242.647]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+11797 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 208.55 425.255 218.737]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+11798 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 184.64 425.255 194.826]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+11799 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 160.012 501.578 170.916]
+/Subtype /Link
+/A << /S /GoTo /D (page.114) >>
+>> endobj
+11800 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 148.057 475.018 158.961]
+/Subtype /Link
+/A << /S /GoTo /D (page.150) >>
+>> endobj
+11801 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 136.102 476.672 147.005]
+/Subtype /Link
+/A << /S /GoTo /D (page.269) >>
+>> endobj
+11802 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 114.249 362.272 123.095]
+/Subtype /Link
+/A << /S /GoTo /D (page.346) >>
+>> endobj
+11803 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.151 88.998 438.087 99.185]
+/Subtype /Link
+/A << /S /GoTo /D (page.381) >>
+>> endobj
+11805 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11809 0 obj <<
+/D [11807 0 R /XYZ 90 757.935 null]
+>> endobj
+11806 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11873 0 obj <<
+/Length 1235      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�8}�W�ma�q$ْ�<�v�tӄM�lf��F��Be����\X�e�>��������e ��:����6��RL�p\l�
���]���������'`Aǀ��y��%�p�ð��((�Ml�6	����W�j����:`��*6�w n:u�s$j�'$�kL��MRRH
��rr6���L�%g�Hr�:9�~�&"eG9`�ͧ�!�%��q��RH���s�p9-wp}�wG���e��B�ж�CqT'�:�d���F�"�1�l��H��~ȧ�iˤ����f��B�K|��Aud�u��}y�-�I\�>�a�����O�5Lm�Ӳ����a�� XUX��/<e
��:�6�J�o�m�O�m����&��T�y
�ԏ#ƓğF��N��`�h�
����5���@ϣ4�9�
{��]��
	�"�YX�nr�{˔	
+9�!��^]��z%�k��m"�4��u������g��?Ng�}(\��%l"��Q�A+Tyؤq�����L��I�8�s�^I��Y���X�,�jR�h�,�?ISO��.J��^v�ҏ��^��j/��<��ҧ4일p׽ǘ&�*[�B��U�ݻ^������
���dzR�}�Dr;r���(a!j6��
�L�p��Qߦ������u�I

ڀ��P��l��
+Sd�Cu7����q)�8�G���!MҨ6��A���HK�$�9_�c�M�:��'�`'��1޷,~��v�GB6�
�vC�F������b^�:A?
+UC�nw���f���E
z��c�z#}-���v�>��2h�PغZC�F�]�L
�eu]
��_\�|���W��vl��HH�Ʋ�HƎ�3q����3�=4 W������X���c�xN���1�͹
�!HB%]q4�
ՂB�
��JJ��0EB�q�=�����})���Ͷ�S!w)�%��nZ:�� �cG
ι�Е'�G;ێ�PMr�OkmS���-=�[��}sMvο ��UY���OW,�xZV9*1{&�J!�e<�2����
6(z�
m?+r^7��樂0SF�>����W���x�7��7��pm�)��� �*�ge�����v����Kq�%�
!ݤ��̣��{H`�F&�^w��@H=@F��T��Qn���7���3�g~�9؀j����,M�'������c�si���|

� mc�Y����*�X��X���#5潼�I�kx�l
+endstream
+endobj
+11872 0 obj <<
+/Type /Page
+/Contents 11873 0 R
+/Resources 11871 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11875 0 R
+/Annots [ 11804 0 R 11810 0 R 11811 0 R 11812 0 R 11813 0 R 11814 0 R 11815 0 R 11816 0 R 11817 0 R 11818 0 R 11819 0 R 11820 0 R 11821 0 R 11822 0 R 11823 0 R 11824 0 R 11825 0 R 11826 0 R 11827 0 R 11828 0 R 11829 0 R 11830 0 R 11831 0 R 11832 0 R 11833 0 R 11834 0 R 11835 0 R 11836 0 R 11837 0 R 11838 0 R 11839 0 R 11840 0 R 11841 0 R 11842 0 R 11843 0 R 11844 0 R 11845 0 R 11846 0 R 11847 0 R 11848 0 R 11849 0 R 11850 0 R 11851 0 R 11852 0 R 11853 0 R 11854 0 R 11855 0 R 11856 0 R 11 [...]
+>> endobj
+11804 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.109 708.674 187.046 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.432) >>
+>> endobj
+11810 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 696.002 287.867 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.468) >>
+>> endobj
+11811 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 672.092 285.097 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.114) >>
+>> endobj
+11812 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 660.136 258.537 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.151) >>
+>> endobj
+11813 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 648.181 260.191 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.270) >>
+>> endobj
+11814 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 626.328 145.791 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.347) >>
+>> endobj
+11815 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.669 601.078 221.606 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.382) >>
+>> endobj
+11816 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.109 577.168 187.046 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.433) >>
+>> endobj
+11817 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 564.495 287.867 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.468) >>
+>> endobj
+11818 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 540.585 287.867 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.471) >>
+>> endobj
+11819 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 516.674 287.867 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.472) >>
+>> endobj
+11820 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.819 493.481 208.774 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+11821 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.819 469.571 208.774 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+11822 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.819 445.661 208.774 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+11823 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 421.033 285.097 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.102) >>
+>> endobj
+11824 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 409.078 258.537 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.139) >>
+>> endobj
+11825 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 397.123 260.191 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.258) >>
+>> endobj
+11826 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 375.27 145.791 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.337) >>
+>> endobj
+11827 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.669 350.019 221.606 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.371) >>
+>> endobj
+11828 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.109 326.109 187.046 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.421) >>
+>> endobj
+11829 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 313.437 287.867 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.457) >>
+>> endobj
+11830 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 289.526 285.097 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.102) >>
+>> endobj
+11831 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 277.571 258.537 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.139) >>
+>> endobj
+11832 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 265.616 260.191 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.258) >>
+>> endobj
+11833 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 243.763 145.791 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.337) >>
+>> endobj
+11834 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.669 218.512 221.606 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.371) >>
+>> endobj
+11835 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.109 194.602 187.046 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.422) >>
+>> endobj
+11836 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 181.93 287.867 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.457) >>
+>> endobj
+11837 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 158.019 258.537 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.135) >>
+>> endobj
+11838 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.526 158.019 278.462 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.138) >>
+>> endobj
+11839 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.429 136.102 203.384 147.005]
+/Subtype /Link
+/A << /S /GoTo /D (page.59) >>
+>> endobj
+11840 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 102.293 145.791 111.14]
+/Subtype /Link
+/A << /S /GoTo /D (page.163) >>
+>> endobj
+11841 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.78 102.293 165.716 111.14]
+/Subtype /Link
+/A << /S /GoTo /D (page.166) >>
+>> endobj
+11842 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 719.912 501.578 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.116) >>
+>> endobj
+11843 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 696.719 362.272 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.349) >>
+>> endobj
+11844 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.261 696.719 382.197 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.350) >>
+>> endobj
+11845 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 672.092 501.578 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.117) >>
+>> endobj
+11846 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 660.136 475.018 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.154) >>
+>> endobj
+11847 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 638.283 362.272 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.351) >>
+>> endobj
+11848 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 612.316 475.018 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.153) >>
+>> endobj
+11849 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 577.168 362.272 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.177) >>
+>> endobj
+11850 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.261 577.168 382.197 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.178) >>
+>> endobj
+11851 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.59 541.302 403.527 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.438) >>
+>> endobj
+11852 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 506.777 362.272 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.175) >>
+>> endobj
+11853 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 470.911 362.272 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.313) >>
+>> endobj
+11854 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.614 456.899 511.551 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.399) >>
+>> endobj
+11855 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.304 432.988 498.241 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.228) >>
+>> endobj
+11856 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.304 409.078 498.241 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.229) >>
+>> endobj
+11857 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 375.27 362.272 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.181) >>
+>> endobj
+11858 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 350.019 425.255 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.65) >>
+>> endobj
+11859 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [489.613 325.392 506.55 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.190) >>
+>> endobj
+11860 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [482.988 313.437 499.924 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.210) >>
+>> endobj
+11861 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.304 301.481 498.241 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.229) >>
+>> endobj
+11862 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 279.628 362.272 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.285) >>
+>> endobj
+11863 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 243.763 362.272 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.285) >>
+>> endobj
+11864 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.821 206.557 408.757 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.126) >>
+>> endobj
+11865 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 183.987 362.272 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.278) >>
+>> endobj
+11866 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 159.957 362.272 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.293) >>
+>> endobj
+11867 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 124.211 362.272 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.410) >>
+>> endobj
+11868 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 98.961 425.255 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+11870 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11874 0 obj <<
+/D [11872 0 R /XYZ 90 757.935 null]
+>> endobj
+11871 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11938 0 obj <<
+/Length 1172      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�J~�W�v��3�
��l�Z�1
6��le����J-�g����3\��52b��
��MO��݌@I at j�>9��gH�baK�P��d`� J�'=ɝ�m����"��T ����n�t��rj�� ��F�bhHLjO?����/P4˔��SIW5~
�~�k
�E¥��@��U$�� �r�v
"�e��Q�S����?3�-��>ݒ�؝ҿ3`9"6*�ݷk�SCE@�*(
�U�����tD���#T]|��^�|�Ы��w���(t�K���x]���uō������f�A� �̯�����l@=b���$%�L}0�ؑ&1Mv`�����9e��@���Ea�.c��Ѻ��(
�
t5?��­�/�~
���qB'�B{�ڱn��R��l�RL�E
V��GC?
7��QX
�P����_��	s�0�D�9>*sj�q�gbN͸P�4�1�
+Oǜ���eh%�9�x��;�s�FzR1��M���dF)�E�~�̋@1�� ��UL6c:�U�@�~ܛM�)�
#4������J�:<.a�w*e|t�<��:aj�F����E�0�`m��( �NwB�H����
',�8���"n���S����/,S,�l1ͷ:�Pv�ٙ
�y�/aq�X���0�ě���ڤ��_gVrZ����١��n�Ox�b�ݶZv��\�?w��	P�ʠ�+����
)sJZ\.}[nb�����pz�l��/ni�����<��!eY��q��f�u
�ǭ[�#�-�D��Ok�.���-谺�H�{�-耺�(�=�G\�G!IS�����&�O'�BԌ	~Oߍ=t��m�5֡Kؾ�I��(�5VE:"��D�X&��^R9nP�����������~Tj#

�d�\ӶeVM$>,��8�P��W+O������/Tu̓��'Yl��"B�ux���Ȼ5�\�Ⱥ�Tdj���* h�-lʺ�����ۻ߶���;��~�:�p&:�&�\lLI��O�D�����}��@��~�y������86�5�_n�c�24�؜GoɋV��z��Ռ��Җ�ea���!��:Br�_߹��
�� ��T_?�x� P �7�Roh�}J�����%-��I�J��A
MU|����8I�W��|>W�2
�)S��9��5�m�B]1���2�=�5�X1{?�7�7eM7����^
+endstream
+endobj
+11937 0 obj <<
+/Type /Page
+/Contents 11938 0 R
+/Resources 11936 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11875 0 R
+/Annots [ 11869 0 R 11876 0 R 11877 0 R 11878 0 R 11879 0 R 11880 0 R 11881 0 R 11882 0 R 11883 0 R 11884 0 R 11885 0 R 11886 0 R 11887 0 R 11888 0 R 11889 0 R 11890 0 R 11891 0 R 11892 0 R 11893 0 R 11894 0 R 11895 0 R 11896 0 R 11897 0 R 11898 0 R 11899 0 R 11900 0 R 11901 0 R 11902 0 R 11903 0 R 11904 0 R 11905 0 R 11906 0 R 11907 0 R 11908 0 R 11909 0 R 11910 0 R 11911 0 R 11912 0 R 11913 0 R 11914 0 R 11915 0 R 11916 0 R 11917 0 R 11918 0 R 11919 0 R 11920 0 R 11921 0 R 11922 0 R 11 [...]
+>> endobj
+11869 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 719.912 285.097 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.120) >>
+>> endobj
+11876 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 707.957 258.537 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.155) >>
+>> endobj
+11877 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 696.002 260.191 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.274) >>
+>> endobj
+11878 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 674.149 145.791 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.352) >>
+>> endobj
+11879 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.669 648.899 221.606 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.384) >>
+>> endobj
+11880 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.109 624.988 187.046 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.435) >>
+>> endobj
+11881 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 612.316 287.867 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.474) >>
+>> endobj
+11882 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.132 588.405 290.068 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.190) >>
+>> endobj
+11883 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.175 552.54 180.112 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.197) >>
+>> endobj
+11884 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 528.63 260.191 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.272) >>
+>> endobj
+11885 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 504.719 285.097 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.106) >>
+>> endobj
+11886 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 492.764 258.537 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.138) >>
+>> endobj
+11887 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 480.809 260.191 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.257) >>
+>> endobj
+11888 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 458.956 145.791 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.337) >>
+>> endobj
+11889 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.669 433.706 221.606 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.371) >>
+>> endobj
+11890 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.109 409.795 187.046 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.421) >>
+>> endobj
+11891 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 397.123 287.867 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.457) >>
+>> endobj
+11892 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.506 373.212 283.443 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.210) >>
+>> endobj
+11893 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 339.404 145.791 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.408) >>
+>> endobj
+11894 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 303.539 145.791 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.176) >>
+>> endobj
+11895 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 277.571 285.097 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.105) >>
+>> endobj
+11896 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 265.616 258.537 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.141) >>
+>> endobj
+11897 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 253.661 260.191 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.260) >>
+>> endobj
+11898 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 231.808 145.791 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.335) >>
+>> endobj
+11899 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.669 206.557 221.606 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.373) >>
+>> endobj
+11900 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.109 182.647 187.046 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.424) >>
+>> endobj
+11901 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 169.975 287.867 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.460) >>
+>> endobj
+11902 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 136.166 145.791 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (page.311) >>
+>> endobj
+11903 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.133 122.154 295.069 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.398) >>
+>> endobj
+11904 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 88.346 145.791 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.311) >>
+>> endobj
+11905 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.614 719.912 511.551 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.398) >>
+>> endobj
+11906 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.614 696.002 511.551 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.398) >>
+>> endobj
+11907 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.614 672.092 511.551 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.398) >>
+>> endobj
+11908 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.614 648.181 511.551 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.398) >>
+>> endobj
+11909 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.614 624.271 511.551 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.398) >>
+>> endobj
+11910 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 591.115 425.255 601.302]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+11911 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 566.488 501.578 577.392]
+/Subtype /Link
+/A << /S /GoTo /D (page.111) >>
+>> endobj
+11912 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 554.532 475.018 565.436]
+/Subtype /Link
+/A << /S /GoTo /D (page.147) >>
+>> endobj
+11913 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 542.577 476.672 553.481]
+/Subtype /Link
+/A << /S /GoTo /D (page.266) >>
+>> endobj
+11914 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 520.724 362.272 529.571]
+/Subtype /Link
+/A << /S /GoTo /D (page.344) >>
+>> endobj
+11915 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.151 495.474 438.087 505.661]
+/Subtype /Link
+/A << /S /GoTo /D (page.378) >>
+>> endobj
+11916 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.59 471.564 403.527 481.75]
+/Subtype /Link
+/A << /S /GoTo /D (page.429) >>
+>> endobj
+11917 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 447.653 425.255 457.84]
+/Subtype /Link
+/A << /S /GoTo /D (page.65) >>
+>> endobj
+11918 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 413.008 362.272 421.974]
+/Subtype /Link
+/A << /S /GoTo /D (page.179) >>
+>> endobj
+11919 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [496.109 399.115 513.045 410.019]
+/Subtype /Link
+/A << /S /GoTo /D (page.241) >>
+>> endobj
+11920 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [472.208 375.205 489.145 386.109]
+/Subtype /Link
+/A << /S /GoTo /D (page.296) >>
+>> endobj
+11921 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.304 351.295 498.241 362.199]
+/Subtype /Link
+/A << /S /GoTo /D (page.230) >>
+>> endobj
+11922 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 329.442 362.272 338.288]
+/Subtype /Link
+/A << /S /GoTo /D (page.285) >>
+>> endobj
+11923 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.569 303.474 511.506 314.378]
+/Subtype /Link
+/A << /S /GoTo /D (page.115) >>
+>> endobj
+11924 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 293.576 362.272 302.423]
+/Subtype /Link
+/A << /S /GoTo /D (page.116) >>
+>> endobj
+11925 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 279.564 475.018 290.468]
+/Subtype /Link
+/A << /S /GoTo /D (page.152) >>
+>> endobj
+11926 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 267.608 476.672 278.512]
+/Subtype /Link
+/A << /S /GoTo /D (page.271) >>
+>> endobj
+11927 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 245.636 362.272 254.602]
+/Subtype /Link
+/A << /S /GoTo /D (page.349) >>
+>> endobj
+11928 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.151 220.505 438.087 230.692]
+/Subtype /Link
+/A << /S /GoTo /D (page.383) >>
+>> endobj
+11929 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.59 196.595 403.527 206.781]
+/Subtype /Link
+/A << /S /GoTo /D (page.429) >>
+>> endobj
+11930 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.569 183.922 511.506 194.826]
+/Subtype /Link
+/A << /S /GoTo /D (page.470) >>
+>> endobj
+11931 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 174.024 362.272 182.871]
+/Subtype /Link
+/A << /S /GoTo /D (page.476) >>
+>> endobj
+11932 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 138.811 425.255 148.998]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+11933 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [472.208 114.184 489.145 125.088]
+/Subtype /Link
+/A << /S /GoTo /D (page.295) >>
+>> endobj
+11934 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 90.991 425.255 101.177]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+11935 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11939 0 obj <<
+/D [11937 0 R /XYZ 90 757.935 null]
+>> endobj
+11936 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12013 0 obj <<
+/Length 1217      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�8~���m�
���m�ͤ�d�Ɲٝ���Av�r����+nݘ��;��>؀�;��
	m��b�j6:����;m��
�Y�Am�i����7�L>��j&�u��z.�a:V�<:�����j̟ƖnXs���g�y���tñ�u�+�Ld�c�݌ޏ�}$���H������O ��`�˻�ٟ9(��#��@�;��8�@<f2dt*��
�$����drsv�ZDq"�%?��
�rY
+��b�ݞ 
���CP��c,����qQϏ���8��Q?t��Л;��`��$c��mp�㽏� �6��]�U�H��[�!vZ�,� 5������,�ɰ�?��n–"bA��v)����t��m
k
5Ax�w�ǂ�%���_�M��YA�t�F�A���)�J1x�~�
ĭૡ�17Q�C
���%
{���4�s���m𘛷�)���\�%o�-�!�\G+y4^1E��(�iQ�4��G��
�M���+}�I�y��5�zQy3�Yl��f����u��)E6

L�L�d��y���Kխ�i�ည&5�e�֡�p��>䡐�Gt�Ix�/؆R�e
����1H
�b�g��R]eq�Ă�$�O B�gI'd��v]����+�B����ث��'v܏��K#v�{i��*�nΊοל}����f���k�#7es�P�AC��f��QC�覍4b@]��� �L�:@�"�ᴰ��5v����<�t��
0��z�����	lA,J+e!�,��/S9�͖��G����b���U��"N��-y?M�e#��F��08l�B쎈q��mUqc�P
�
f�}�
TY]��h��;Px@;�`�(��!��$��rr��L�fb���V����\�b��z��S��0O�2�ݚyN�4�G2��)�A�}vy�.��k�!�����k��-�V��VaP�J���'�w�0sE6h�UJ�=5�������n�ޗB��Yp ��`�:��t�$Sbp���QW�nZ������$T����3fϼ�}ar/�����4��Qw@ձ�G�������jk�
˰˭��16
Գ;>������d(.KA���1�?M0
����T� UPgN�7
Bu�CM�o8/E-���Ug�e[J�=��F:P-�Ƒ�$Y�����kݍ�4�WR����*8�R^MfM݂N�����P�Rz?R�!�(Z�z�R������
+endstream
+endobj
+12012 0 obj <<
+/Type /Page
+/Contents 12013 0 R
+/Resources 12011 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11875 0 R
+/Annots [ 11940 0 R 11941 0 R 11942 0 R 11943 0 R 11944 0 R 11945 0 R 11946 0 R 11947 0 R 11948 0 R 11949 0 R 11950 0 R 11951 0 R 11952 0 R 11953 0 R 11954 0 R 11955 0 R 11956 0 R 11957 0 R 11958 0 R 11959 0 R 11960 0 R 11961 0 R 11962 0 R 11963 0 R 11964 0 R 11965 0 R 11966 0 R 11967 0 R 11968 0 R 11969 0 R 11970 0 R 11971 0 R 11972 0 R 11973 0 R 11974 0 R 11975 0 R 11976 0 R 11977 0 R 11978 0 R 11979 0 R 11980 0 R 11981 0 R 11982 0 R 11983 0 R 11984 0 R 11985 0 R 11986 0 R 11987 0 R 11 [...]
+>> endobj
+11940 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.506 707.957 283.443 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.210) >>
+>> endobj
+11941 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.088 684.047 295.024 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.123) >>
+>> endobj
+11942 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 674.248 145.791 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.124) >>
+>> endobj
+11943 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 660.136 258.537 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.159) >>
+>> endobj
+11944 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.526 660.136 278.462 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.160) >>
+>> endobj
+11945 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.823 648.181 281.759 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.232) >>
+>> endobj
+11946 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 626.328 145.791 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.356) >>
+>> endobj
+11947 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 590.463 145.791 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.315) >>
+>> endobj
+11948 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 554.597 145.791 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.180) >>
+>> endobj
+11949 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.627 540.585 296.564 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.242) >>
+>> endobj
+11950 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 516.674 285.097 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.121) >>
+>> endobj
+11951 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 504.719 258.537 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.156) >>
+>> endobj
+11952 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 492.764 260.191 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.276) >>
+>> endobj
+11953 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 470.911 145.791 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.353) >>
+>> endobj
+11954 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.669 445.661 221.606 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.385) >>
+>> endobj
+11955 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.109 421.75 187.046 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.436) >>
+>> endobj
+11956 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 409.078 287.867 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.475) >>
+>> endobj
+11957 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 375.27 145.791 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.177) >>
+>> endobj
+11958 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.627 361.257 296.564 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.240) >>
+>> endobj
+11959 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 317.486 145.791 326.333]
+/Subtype /Link
+/A << /S /GoTo /D (page.315) >>
+>> endobj
+11960 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 281.621 145.791 290.468]
+/Subtype /Link
+/A << /S /GoTo /D (page.177) >>
+>> endobj
+11961 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 255.653 285.097 266.557]
+/Subtype /Link
+/A << /S /GoTo /D (page.121) >>
+>> endobj
+11962 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 243.698 258.537 254.602]
+/Subtype /Link
+/A << /S /GoTo /D (page.157) >>
+>> endobj
+11963 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 231.743 260.191 242.647]
+/Subtype /Link
+/A << /S /GoTo /D (page.276) >>
+>> endobj
+11964 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 209.89 145.791 218.737]
+/Subtype /Link
+/A << /S /GoTo /D (page.354) >>
+>> endobj
+11965 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.669 184.64 221.606 194.826]
+/Subtype /Link
+/A << /S /GoTo /D (page.386) >>
+>> endobj
+11966 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.109 160.729 187.046 170.916]
+/Subtype /Link
+/A << /S /GoTo /D (page.437) >>
+>> endobj
+11967 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 148.057 287.867 158.961]
+/Subtype /Link
+/A << /S /GoTo /D (page.475) >>
+>> endobj
+11968 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 124.146 231.409 135.05]
+/Subtype /Link
+/A << /S /GoTo /D (page.80) >>
+>> endobj
+11969 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 100.236 285.097 111.14]
+/Subtype /Link
+/A << /S /GoTo /D (page.104) >>
+>> endobj
+11970 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 88.281 258.537 99.185]
+/Subtype /Link
+/A << /S /GoTo /D (page.141) >>
+>> endobj
+11971 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 719.912 476.672 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.260) >>
+>> endobj
+11972 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 697.94 362.272 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.339) >>
+>> endobj
+11973 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 684.047 504.348 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.459) >>
+>> endobj
+11974 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 640.156 362.272 649.123]
+/Subtype /Link
+/A << /S /GoTo /D (page.179) >>
+>> endobj
+11975 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [496.109 626.263 513.045 637.167]
+/Subtype /Link
+/A << /S /GoTo /D (page.241) >>
+>> endobj
+11976 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 592.336 362.272 601.302]
+/Subtype /Link
+/A << /S /GoTo /D (page.179) >>
+>> endobj
+11977 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [496.109 578.443 513.045 589.347]
+/Subtype /Link
+/A << /S /GoTo /D (page.241) >>
+>> endobj
+11978 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 554.532 501.578 565.436]
+/Subtype /Link
+/A << /S /GoTo /D (page.112) >>
+>> endobj
+11979 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 542.577 475.018 553.481]
+/Subtype /Link
+/A << /S /GoTo /D (page.149) >>
+>> endobj
+11980 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [478.007 542.577 494.943 553.481]
+/Subtype /Link
+/A << /S /GoTo /D (page.150) >>
+>> endobj
+11981 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 530.622 476.672 541.526]
+/Subtype /Link
+/A << /S /GoTo /D (page.268) >>
+>> endobj
+11982 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [479.661 530.622 496.597 541.526]
+/Subtype /Link
+/A << /S /GoTo /D (page.269) >>
+>> endobj
+11983 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 507.429 362.272 517.616]
+/Subtype /Link
+/A << /S /GoTo /D (page.345) >>
+>> endobj
+11984 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.261 507.429 382.197 517.616]
+/Subtype /Link
+/A << /S /GoTo /D (page.346) >>
+>> endobj
+11985 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.151 483.519 438.087 493.705]
+/Subtype /Link
+/A << /S /GoTo /D (page.379) >>
+>> endobj
+11986 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [441.076 483.519 458.013 493.705]
+/Subtype /Link
+/A << /S /GoTo /D (page.380) >>
+>> endobj
+11987 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.59 459.608 403.527 469.795]
+/Subtype /Link
+/A << /S /GoTo /D (page.431) >>
+>> endobj
+11988 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [406.516 459.608 423.452 469.795]
+/Subtype /Link
+/A << /S /GoTo /D (page.432) >>
+>> endobj
+11989 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.569 446.936 511.506 457.84]
+/Subtype /Link
+/A << /S /GoTo /D (page.466) >>
+>> endobj
+11990 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 437.038 362.272 445.885]
+/Subtype /Link
+/A << /S /GoTo /D (page.467) >>
+>> endobj
+11991 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 411.07 501.578 421.974]
+/Subtype /Link
+/A << /S /GoTo /D (page.113) >>
+>> endobj
+11992 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 399.115 475.018 410.019]
+/Subtype /Link
+/A << /S /GoTo /D (page.149) >>
+>> endobj
+11993 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [478.007 399.115 494.943 410.019]
+/Subtype /Link
+/A << /S /GoTo /D (page.150) >>
+>> endobj
+11994 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 387.16 476.672 398.064]
+/Subtype /Link
+/A << /S /GoTo /D (page.268) >>
+>> endobj
+11995 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [479.661 387.16 496.597 398.064]
+/Subtype /Link
+/A << /S /GoTo /D (page.269) >>
+>> endobj
+11996 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 365.307 362.272 374.154]
+/Subtype /Link
+/A << /S /GoTo /D (page.347) >>
+>> endobj
+11997 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.151 340.057 438.087 350.243]
+/Subtype /Link
+/A << /S /GoTo /D (page.380) >>
+>> endobj
+11998 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [441.076 340.057 458.013 350.243]
+/Subtype /Link
+/A << /S /GoTo /D (page.381) >>
+>> endobj
+11999 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.59 316.146 403.527 326.333]
+/Subtype /Link
+/A << /S /GoTo /D (page.431) >>
+>> endobj
+12000 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [406.516 316.146 423.452 326.333]
+/Subtype /Link
+/A << /S /GoTo /D (page.432) >>
+>> endobj
+12001 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.569 303.474 511.506 314.378]
+/Subtype /Link
+/A << /S /GoTo /D (page.467) >>
+>> endobj
+12002 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 293.576 362.272 302.423]
+/Subtype /Link
+/A << /S /GoTo /D (page.468) >>
+>> endobj
+12003 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.896 256.371 388.832 266.557]
+/Subtype /Link
+/A << /S /GoTo /D (page.405) >>
+>> endobj
+12004 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 231.743 476.672 242.647]
+/Subtype /Link
+/A << /S /GoTo /D (page.272) >>
+>> endobj
+12005 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.59 196.595 403.527 206.781]
+/Subtype /Link
+/A << /S /GoTo /D (page.424) >>
+>> endobj
+12006 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.59 160.729 403.527 170.916]
+/Subtype /Link
+/A << /S /GoTo /D (page.424) >>
+>> endobj
+12007 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.614 136.102 511.551 147.005]
+/Subtype /Link
+/A << /S /GoTo /D (page.402) >>
+>> endobj
+12008 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 112.191 475.018 123.095]
+/Subtype /Link
+/A << /S /GoTo /D (page.157) >>
+>> endobj
+12009 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 88.281 475.018 99.185]
+/Subtype /Link
+/A << /S /GoTo /D (page.157) >>
+>> endobj
+12010 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+12014 0 obj <<
+/D [12012 0 R /XYZ 90 757.935 null]
+>> endobj
+12011 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12075 0 obj <<
+/Length 1206      
+/Filter /FlateDecode
+>>
+stream
+x�͙[s�8���~[��8�l�v�h�t'g';IG���ڦ4���bń���.߹�s$����Z���_P,�"�(�b� P�*�H�o��
��������T&b\�B�̴�e���-(Z����P

+��u�(#��I�f��2�5St���2l}n�u1�&	�T at p��%t1���~
|�1A�
a�B��E���m/�y�&�>M�(��e�5򢧳���?3�7�^K�?A�!6�9��|�"����@ۮ=��j�@о��ݽ܍vsI���h�=�#<����8�Ǯ�
�
!
+�$
YC����p�~@��
$�0���tp�
��g����N�y����+|���n+㛇�V� �����hXt���zq
�yø��É7��D+�	^�F��UtI8�ċ)y
��?oJ�����T��f��`".g��:] _�$+�	��;�]jn��7���_��7���ˢl

�۔L^�v��D8���o�i�-|6�7Q(~$5�L�7X����_u
S9>L}{�"ѭ.h�H:@��_ߜ�������kV7,�ݡO���pϾxw R�W7���i:t�
�� A�	¹N	\za�l�
�y��R
�?J�[���=�dz�.m����s<�����A����#b\_
���ھ���4���P�T�Y��"ϡ�.Jk�g/�������|�H�vv>a~�����}e5eH�!��^��V|1�iG �|
-��z
T�>�	��%��L����m_ dA)�%,e�h�|�(�h�H��?=��
H�vp{�O�:ǯ�R�uI5�4�O��?+u�м�8�ҍ�Vl�
˚ھQ��b�L�ʊ�0��R��=*6�:�*6"S
1
���5�-��DC��T��1
+g�
u��NJL��p���L5�5�:�?��6���{�l�����A��0�\�m�i��ɏr�o�D�'a�2N"O��.vv%=R�Y{�_,���6 �;\�C�2�UL�
�"���{{8�Y���� ěG���U� ���^�3;V���-�r�j�Y��bK�Xϗu'���i%[�X
+�?R�������q;�<.������G:��
Ez�7B���M(h�X!j.�7���wz��hEѩ�R�tO�d~vz�\.U?V<�Gj������
�Ud�PW
h��<�Q�5
�B���ƙ�V��LB�� �]
�
+endstream
+endobj
+12074 0 obj <<
+/Type /Page
+/Contents 12075 0 R
+/Resources 12073 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11875 0 R
+/Annots [ 12015 0 R 12016 0 R 12017 0 R 12018 0 R 12019 0 R 12020 0 R 12021 0 R 12022 0 R 12023 0 R 12024 0 R 12025 0 R 12026 0 R 12027 0 R 12028 0 R 12029 0 R 12030 0 R 12031 0 R 12032 0 R 12033 0 R 12034 0 R 12035 0 R 12036 0 R 12037 0 R 12038 0 R 12039 0 R 12040 0 R 12041 0 R 12042 0 R 12043 0 R 12044 0 R 12045 0 R 12046 0 R 12047 0 R 12048 0 R 12049 0 R 12050 0 R 12051 0 R 12052 0 R 12053 0 R 12054 0 R 12055 0 R 12056 0 R 12057 0 R 12058 0 R 12059 0 R 12060 0 R 12061 0 R 12062 0 R 12 [...]
+>> endobj
+12015 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 707.957 258.537 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.158) >>
+>> endobj
+12016 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.819 684.764 208.774 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+12017 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.819 660.854 208.774 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+12018 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 636.226 260.191 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.253) >>
+>> endobj
+12019 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.179 636.226 280.116 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.257) >>
+>> endobj
+12020 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 602.418 145.791 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.284) >>
+>> endobj
+12021 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 566.552 145.791 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.284) >>
+>> endobj
+12022 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 530.622 285.097 541.526]
+/Subtype /Link
+/A << /S /GoTo /D (page.118) >>
+>> endobj
+12023 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 518.667 287.867 529.571]
+/Subtype /Link
+/A << /S /GoTo /D (page.472) >>
+>> endobj
+12024 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.237 494.757 291.174 505.661]
+/Subtype /Link
+/A << /S /GoTo /D (page.221) >>
+>> endobj
+12025 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 470.846 285.097 481.75]
+/Subtype /Link
+/A << /S /GoTo /D (page.122) >>
+>> endobj
+12026 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 458.891 260.191 469.795]
+/Subtype /Link
+/A << /S /GoTo /D (page.277) >>
+>> endobj
+12027 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 437.038 145.791 445.885]
+/Subtype /Link
+/A << /S /GoTo /D (page.354) >>
+>> endobj
+12028 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.669 411.788 221.606 421.974]
+/Subtype /Link
+/A << /S /GoTo /D (page.386) >>
+>> endobj
+12029 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.109 387.877 187.046 398.064]
+/Subtype /Link
+/A << /S /GoTo /D (page.425) >>
+>> endobj
+12030 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 375.205 287.867 386.109]
+/Subtype /Link
+/A << /S /GoTo /D (page.476) >>
+>> endobj
+12031 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 341.332 231.409 352.236]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12032 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 317.422 231.409 328.326]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12033 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 293.511 231.409 304.415]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12034 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 269.601 231.409 280.505]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12035 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 245.691 231.409 256.595]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12036 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 221.78 231.409 232.684]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12037 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 197.87 231.409 208.774]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12038 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 173.96 231.409 184.864]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12039 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 150.049 231.409 160.953]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12040 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 126.139 231.409 137.043]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12041 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 102.229 231.409 113.133]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12042 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.935 719.912 447.89 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12043 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.935 696.002 447.89 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12044 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.935 672.092 447.89 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12045 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 638.283 362.272 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.182) >>
+>> endobj
+12046 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.656 600.361 396.593 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.197) >>
+>> endobj
+12047 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.656 576.45 396.593 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.291) >>
+>> endobj
+12048 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 552.54 501.578 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.111) >>
+>> endobj
+12049 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 530.687 362.272 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.344) >>
+>> endobj
+12050 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 504.719 501.578 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.110) >>
+>> endobj
+12051 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 492.764 475.018 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.147) >>
+>> endobj
+12052 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 480.809 476.672 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.266) >>
+>> endobj
+12053 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 458.956 362.272 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.343) >>
+>> endobj
+12054 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.151 433.706 438.087 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.378) >>
+>> endobj
+12055 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.59 409.795 403.527 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.429) >>
+>> endobj
+12056 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 397.123 504.348 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.465) >>
+>> endobj
+12057 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 373.212 476.672 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.257) >>
+>> endobj
+12058 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 349.302 501.578 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.105) >>
+>> endobj
+12059 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 337.347 475.018 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.142) >>
+>> endobj
+12060 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 325.392 476.672 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.257) >>
+>> endobj
+12061 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 303.539 362.272 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.336) >>
+>> endobj
+12062 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.151 278.288 438.087 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.371) >>
+>> endobj
+12063 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.59 254.378 403.527 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.421) >>
+>> endobj
+12064 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 241.706 504.348 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.457) >>
+>> endobj
+12065 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [489.613 217.795 506.55 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.191) >>
+>> endobj
+12066 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [482.988 193.885 499.924 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.211) >>
+>> endobj
+12067 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.304 181.93 498.241 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.230) >>
+>> endobj
+12068 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 160.077 362.272 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.285) >>
+>> endobj
+12069 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [489.613 134.109 506.55 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (page.191) >>
+>> endobj
+12070 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [482.988 122.154 499.924 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.210) >>
+>> endobj
+12071 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 88.346 362.272 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.176) >>
+>> endobj
+12072 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+12076 0 obj <<
+/D [12074 0 R /XYZ 90 757.935 null]
+>> endobj
+12073 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12144 0 obj <<
+/Length 1235      
+/Filter /FlateDecode
+>>
+stream
+x��Z[S�H~�W�mC����$���:�
+2�lY:S�ZLMn�	�����,�& �O�N����9��s@�h@;k�
[�X at s
�"�
�5h�AP��[���Թn�~�L`�P�\~�t�l���~��
̟&�aa���������
ر��|V���O_�j}m��H��H6 %�A/q�0�mH�	9$(g#�
@h8��6�&00w��>�=������>�ن@�c�?
��=�D�^L�m\����������v�
�&pq�x�4��
 z�l�h�h�(u��>6���?�5Q̅;�‰��p��}~~%��D�
X�̖���K2ٝ�T�;p"��yCs�
+�kML��@���M�ȏ&ވ��v��J�
+&e��
+�@q�Q<߸?sG~��q3΄7�CE�u�J�{),�*� j#�?r��:�L����5h��Wz㎽$e��.Ko6�x�ɽz`qm� �y��DOu�S�|�3
NZc�W8��7�
��zq1J�$
+�_��R�"T~A+�O�/��(�*��η�:V�"�7p�/�X��7����y�4��6�P����Vw�
m<�\]��n�kF�	���������u^����	V�	��
+c����G�sox���{�w��{�If�0d��{�@h5��>P9��]� �c��CQX������}/g�o��~�XY���Ɏ��X���莗�@�)t������
�G�W��ɼ$��<~��
CT>N���!��w����P(=s��-�&s�[oi�R"�T�
!�����A�`��<�B_2��*�9X�?^
��� mZq�H�D3�zi�}"Yf��r�N7i@�^�u��MbY���3�a�a�:�Vt�tGy�nw0k՘� �: +T��㫸�z��1��쒏�#�K"�_��
�D�@�k�ӭ�R�G�Br�
_w{ݛ㼏
v/��O������{��?K���نȤ:� Sq
+[��D`g�$ M�B�
!��Y��0�լR�A��A�����o�B�+�N���H�Cm�$V��]F�Y
�T��H��DJ���b�[�$*b��X{�X?O��
+�v^�)�	����ca�|N
���9|��
�s����).˸).�%\��&DO��

��/���-%�8���A`@(o@�}�%]W|��b_?���?��Wh��
 G��<�i|tx���h�cz�0��0����*{��4,��W��D�K�\�{/��A�5U��/�z�
+endstream
+endobj
+12143 0 obj <<
+/Type /Page
+/Contents 12144 0 R
+/Resources 12142 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11875 0 R
+/Annots [ 12077 0 R 12078 0 R 12079 0 R 12080 0 R 12081 0 R 12082 0 R 12083 0 R 12084 0 R 12085 0 R 12086 0 R 12087 0 R 12088 0 R 12089 0 R 12090 0 R 12091 0 R 12092 0 R 12093 0 R 12094 0 R 12095 0 R 12096 0 R 12097 0 R 12098 0 R 12099 0 R 12100 0 R 12101 0 R 12102 0 R 12103 0 R 12104 0 R 12105 0 R 12106 0 R 12107 0 R 12108 0 R 12109 0 R 12110 0 R 12111 0 R 12112 0 R 12113 0 R 12114 0 R 12115 0 R 12116 0 R 12117 0 R 12118 0 R 12119 0 R 12120 0 R 12121 0 R 12122 0 R 12123 0 R 12124 0 R 12 [...]
+>> endobj
+12077 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 698.059 145.791 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.176) >>
+>> endobj
+12078 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 662.194 145.791 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.176) >>
+>> endobj
+12079 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 626.328 145.791 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.176) >>
+>> endobj
+12080 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 590.463 145.791 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.176) >>
+>> endobj
+12081 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.132 564.495 290.068 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.191) >>
+>> endobj
+12082 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 530.687 145.791 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.314) >>
+>> endobj
+12083 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.133 516.674 295.069 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.401) >>
+>> endobj
+12084 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.132 492.764 290.068 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.191) >>
+>> endobj
+12085 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.506 480.809 283.443 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.210) >>
+>> endobj
+12086 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 456.899 260.191 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.257) >>
+>> endobj
+12087 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.266 432.988 278.203 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.482) >>
+>> endobj
+12088 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 399.115 285.097 410.019]
+/Subtype /Link
+/A << /S /GoTo /D (page.124) >>
+>> endobj
+12089 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 387.16 258.537 398.064]
+/Subtype /Link
+/A << /S /GoTo /D (page.160) >>
+>> endobj
+12090 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.088 375.205 295.024 386.109]
+/Subtype /Link
+/A << /S /GoTo /D (page.232) >>
+>> endobj
+12091 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 365.307 145.791 374.154]
+/Subtype /Link
+/A << /S /GoTo /D (page.233) >>
+>> endobj
+12092 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 340.057 145.791 350.243]
+/Subtype /Link
+/A << /S /GoTo /D (page.356) >>
+>> endobj
+12093 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.78 340.057 165.716 350.243]
+/Subtype /Link
+/A << /S /GoTo /D (page.357) >>
+>> endobj
+12094 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 305.412 145.791 314.378]
+/Subtype /Link
+/A << /S /GoTo /D (page.179) >>
+>> endobj
+12095 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.627 291.519 296.564 302.423]
+/Subtype /Link
+/A << /S /GoTo /D (page.241) >>
+>> endobj
+12096 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.188 267.608 275.124 278.512]
+/Subtype /Link
+/A << /S /GoTo /D (page.490) >>
+>> endobj
+12097 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.819 244.415 208.774 254.602]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+12098 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.819 220.505 208.774 230.692]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+12099 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 195.877 285.097 206.781]
+/Subtype /Link
+/A << /S /GoTo /D (page.117) >>
+>> endobj
+12100 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 174.024 145.791 182.871]
+/Subtype /Link
+/A << /S /GoTo /D (page.350) >>
+>> endobj
+12101 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 148.057 287.867 158.961]
+/Subtype /Link
+/A << /S /GoTo /D (page.471) >>
+>> endobj
+12102 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 124.146 285.097 135.05]
+/Subtype /Link
+/A << /S /GoTo /D (page.118) >>
+>> endobj
+12103 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 112.191 258.537 123.095]
+/Subtype /Link
+/A << /S /GoTo /D (page.153) >>
+>> endobj
+12104 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 90.338 145.791 99.185]
+/Subtype /Link
+/A << /S /GoTo /D (page.351) >>
+>> endobj
+12105 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 707.957 476.672 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.273) >>
+>> endobj
+12106 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 684.047 476.672 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.273) >>
+>> endobj
+12107 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 660.136 476.672 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.273) >>
+>> endobj
+12108 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 636.226 501.578 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.119) >>
+>> endobj
+12109 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 624.271 504.348 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.472) >>
+>> endobj
+12110 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.304 600.361 498.241 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.228) >>
+>> endobj
+12111 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 578.508 362.272 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.284) >>
+>> endobj
+12112 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.304 552.54 498.241 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.228) >>
+>> endobj
+12113 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.59 516.674 411.527 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.302) >>
+>> endobj
+12114 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [414.516 516.674 431.452 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.303) >>
+>> endobj
+12115 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.59 481.526 403.527 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.437) >>
+>> endobj
+12116 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 446.936 501.578 457.84]
+/Subtype /Link
+/A << /S /GoTo /D (page.120) >>
+>> endobj
+12117 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 434.981 475.018 445.885]
+/Subtype /Link
+/A << /S /GoTo /D (page.156) >>
+>> endobj
+12118 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 423.026 476.672 433.93]
+/Subtype /Link
+/A << /S /GoTo /D (page.275) >>
+>> endobj
+12119 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 401.173 362.272 410.019]
+/Subtype /Link
+/A << /S /GoTo /D (page.353) >>
+>> endobj
+12120 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.151 375.922 438.087 386.109]
+/Subtype /Link
+/A << /S /GoTo /D (page.385) >>
+>> endobj
+12121 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.59 352.012 403.527 362.199]
+/Subtype /Link
+/A << /S /GoTo /D (page.436) >>
+>> endobj
+12122 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 339.339 504.348 350.243]
+/Subtype /Link
+/A << /S /GoTo /D (page.474) >>
+>> endobj
+12123 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 316.146 425.255 326.333]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+12124 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.569 291.519 511.506 302.423]
+/Subtype /Link
+/A << /S /GoTo /D (page.102) >>
+>> endobj
+12125 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 281.621 362.272 290.468]
+/Subtype /Link
+/A << /S /GoTo /D (page.103) >>
+>> endobj
+12126 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 267.608 475.018 278.512]
+/Subtype /Link
+/A << /S /GoTo /D (page.139) >>
+>> endobj
+12127 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [478.007 267.608 494.943 278.512]
+/Subtype /Link
+/A << /S /GoTo /D (page.140) >>
+>> endobj
+12128 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 255.653 476.672 266.557]
+/Subtype /Link
+/A << /S /GoTo /D (page.258) >>
+>> endobj
+12129 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [479.661 255.653 496.597 266.557]
+/Subtype /Link
+/A << /S /GoTo /D (page.259) >>
+>> endobj
+12130 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 232.46 362.272 242.647]
+/Subtype /Link
+/A << /S /GoTo /D (page.337) >>
+>> endobj
+12131 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.261 232.46 382.197 242.647]
+/Subtype /Link
+/A << /S /GoTo /D (page.338) >>
+>> endobj
+12132 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.151 208.55 438.087 218.737]
+/Subtype /Link
+/A << /S /GoTo /D (page.371) >>
+>> endobj
+12133 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [441.076 208.55 458.013 218.737]
+/Subtype /Link
+/A << /S /GoTo /D (page.372) >>
+>> endobj
+12134 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.59 184.64 403.527 194.826]
+/Subtype /Link
+/A << /S /GoTo /D (page.422) >>
+>> endobj
+12135 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.569 171.967 511.506 182.871]
+/Subtype /Link
+/A << /S /GoTo /D (page.457) >>
+>> endobj
+12136 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 162.069 362.272 170.916]
+/Subtype /Link
+/A << /S /GoTo /D (page.458) >>
+>> endobj
+12137 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 136.819 425.255 147.005]
+/Subtype /Link
+/A << /S /GoTo /D (page.65) >>
+>> endobj
+12138 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 112.909 425.255 123.095]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+12141 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+12145 0 obj <<
+/D [12143 0 R /XYZ 90 757.935 null]
+>> endobj
+12142 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12215 0 obj <<
+/Length 1351      
+/Filter /FlateDecode
+>>
+stream
+x��Zms�8��_���g�X/H@�w3m�f�&��7�I:Ŗ
&\�ur��ċ��A����O!v�}v�Z��\�Y�ø��h��m��6�i6�L
+u��6�j7������m�I3��B�{�@<�:
����
L�&�nb�M��o@���Oбmi�d�B3���6j}i��H��$�kD4a
P�j
v i�`���w���4��ܹ
x�tt�ᄍ��R�� K�
��YK��Bd�68���r��cT�B��$����kV1T�� %"�

�W*�?
�i�|D���/'��
wK��BS�[��P1���=�
�O���.!Wb���)���ʀ���)&nl��xQ(�+�~��ZrZ	 ��J�|�@�M��A�z�.�
c;d���-�X/���}w�X�D*��J@���!�6�!����fE<Z�������k&D�m>%@w�-�g~�r1i�K��Й{��=����\c���N�2��8�]
Y_�ϙ�ϲ���!/�4a%����,w� �t $�A+����+��WYo�*�����$�z��eT�V�
��B�\F�����_b�}�����?��6R��^\f�2ڡ
+�/���_�f,��<X	�4�A��e��:lV5V�VU��Z��&1���EcX���r&<��
+J��S��YLb�q�Q��)lV��B�i�m�&U\R1R��/ҴݑY�T����J-kad�`|
� ɛ�{�7g��7�
�c�:PK�YP��R����@�O�ۿRՉDI��Slgh�i�Ư�>B���m���Kg��]�uD�X�l�-�R�P�bᩊ����ky��@�Jϡ�=�l��Ok
+}��C ���@�JT��2-�wRc+����Qo4p��&#h*��B0'B�z
��Q��Q����u,�eA�uN�xC7����J-����R��f��/Ϊ1m�CX�G��8�;��E at N��C��vĠ��T�Α�wc�T:jm�'����=lҨ�]
�*.*�$��A�l�w0iB��?�� C�O�`?�1�����Qq?��b�X�����R�n�9��~Z#.��׫a4N
	����!w��q�#�Q���!�O
.�^�"��߉9E!���ԏP?��8���iX�	�%�7� ��GJh@$�ZT��B	)�ۤ��q$m�?�ٶ��&�ZI�U�ͧT�MleE['�HՎ�E'	�g۲ۍ��mfez�5�/
B�az��w��[@��X��2
��@�P>�z��%A#!2SS�
������
+-���H��(Z
�z��Z����s���D������۲BC7���2�!��Z�Af����~����$I�� m�&
+endstream
+endobj
+12214 0 obj <<
+/Type /Page
+/Contents 12215 0 R
+/Resources 12213 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11875 0 R
+/Annots [ 12139 0 R 12140 0 R 12146 0 R 12147 0 R 12148 0 R 12149 0 R 12150 0 R 12151 0 R 12152 0 R 12153 0 R 12154 0 R 12155 0 R 12156 0 R 12157 0 R 12158 0 R 12159 0 R 12160 0 R 12161 0 R 12162 0 R 12163 0 R 12164 0 R 12165 0 R 12166 0 R 12167 0 R 12168 0 R 12169 0 R 12170 0 R 12171 0 R 12172 0 R 12173 0 R 12174 0 R 12175 0 R 12176 0 R 12177 0 R 12178 0 R 12179 0 R 12180 0 R 12181 0 R 12182 0 R 12183 0 R 12184 0 R 12185 0 R 12186 0 R 12187 0 R 12188 0 R 12189 0 R 12190 0 R 12191 0 R 12 [...]
+>> endobj
+12139 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.088 719.912 295.024 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.103) >>
+>> endobj
+12140 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 710.014 145.791 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.104) >>
+>> endobj
+12146 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 696.002 258.537 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.140) >>
+>> endobj
+12147 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 684.047 260.191 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.259) >>
+>> endobj
+12148 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 660.854 145.791 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.338) >>
+>> endobj
+12149 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.78 660.854 165.716 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.339) >>
+>> endobj
+12150 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.669 636.943 221.606 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.372) >>
+>> endobj
+12151 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.595 636.943 241.531 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.373) >>
+>> endobj
+12152 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.109 613.033 187.046 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.423) >>
+>> endobj
+12153 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.088 600.361 295.024 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.458) >>
+>> endobj
+12154 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 590.343 145.791 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.459) >>
+>> endobj
+12155 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 554.597 145.791 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.311) >>
+>> endobj
+12156 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.78 554.597 165.716 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.313) >>
+>> endobj
+12157 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.819 529.347 208.774 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+12158 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 494.702 145.791 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.179) >>
+>> endobj
+12159 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.627 480.809 296.564 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.241) >>
+>> endobj
+12160 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.727 456.899 272.664 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.296) >>
+>> endobj
+12161 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 413.128 145.791 421.974]
+/Subtype /Link
+/A << /S /GoTo /D (page.178) >>
+>> endobj
+12162 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.627 399.115 296.564 410.019]
+/Subtype /Link
+/A << /S /GoTo /D (page.240) >>
+>> endobj
+12163 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 365.307 145.791 374.154]
+/Subtype /Link
+/A << /S /GoTo /D (page.318) >>
+>> endobj
+12164 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.78 365.307 165.716 374.154]
+/Subtype /Link
+/A << /S /GoTo /D (page.321) >>
+>> endobj
+12165 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.506 339.339 283.443 350.243]
+/Subtype /Link
+/A << /S /GoTo /D (page.210) >>
+>> endobj
+12166 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.132 315.429 290.068 326.333]
+/Subtype /Link
+/A << /S /GoTo /D (page.192) >>
+>> endobj
+12167 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.819 292.236 208.774 302.423]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+12168 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 247.748 145.791 256.595]
+/Subtype /Link
+/A << /S /GoTo /D (page.333) >>
+>> endobj
+12169 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.78 247.748 165.716 256.595]
+/Subtype /Link
+/A << /S /GoTo /D (page.335) >>
+>> endobj
+12170 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.175 209.825 180.112 220.729]
+/Subtype /Link
+/A << /S /GoTo /D (page.237) >>
+>> endobj
+12171 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 197.87 260.191 208.774]
+/Subtype /Link
+/A << /S /GoTo /D (page.261) >>
+>> endobj
+12172 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.175 173.96 180.112 184.864]
+/Subtype /Link
+/A << /S /GoTo /D (page.291) >>
+>> endobj
+12173 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 162.004 287.867 172.908]
+/Subtype /Link
+/A << /S /GoTo /D (page.460) >>
+>> endobj
+12174 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.266 138.094 278.203 148.998]
+/Subtype /Link
+/A << /S /GoTo /D (page.483) >>
+>> endobj
+12175 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 114.184 231.409 125.088]
+/Subtype /Link
+/A << /S /GoTo /D (page.81) >>
+>> endobj
+12176 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 90.273 231.409 101.177]
+/Subtype /Link
+/A << /S /GoTo /D (page.82) >>
+>> endobj
+12177 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 698.059 362.272 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.181) >>
+>> endobj
+12178 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [482.988 684.047 499.924 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.213) >>
+>> endobj
+12179 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 660.136 501.578 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.122) >>
+>> endobj
+12180 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 648.181 475.018 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.158) >>
+>> endobj
+12181 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 626.328 362.272 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.181) >>
+>> endobj
+12182 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [489.613 612.316 506.55 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.192) >>
+>> endobj
+12183 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.656 588.405 396.593 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.198) >>
+>> endobj
+12184 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [482.988 576.45 499.924 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.214) >>
+>> endobj
+12185 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.656 552.54 396.593 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.217) >>
+>> endobj
+12186 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.719 540.585 507.655 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.222) >>
+>> endobj
+12187 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.569 528.63 511.506 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.230) >>
+>> endobj
+12188 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 518.732 362.272 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.233) >>
+>> endobj
+12189 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.656 492.764 396.593 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.238) >>
+>> endobj
+12190 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 480.809 476.672 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.277) >>
+>> endobj
+12191 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 458.956 362.272 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.286) >>
+>> endobj
+12192 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.656 432.988 396.593 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.291) >>
+>> endobj
+12193 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.59 409.078 411.527 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.307) >>
+>> endobj
+12194 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 387.225 362.272 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.316) >>
+>> endobj
+12195 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 363.315 362.272 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.355) >>
+>> endobj
+12196 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.151 338.064 438.087 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.386) >>
+>> endobj
+12197 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.614 325.392 511.551 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.402) >>
+>> endobj
+12198 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 303.539 362.272 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.410) >>
+>> endobj
+12199 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.629 278.288 470.584 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.89) >>
+>> endobj
+12200 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.08 254.378 401.016 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.441) >>
+>> endobj
+12201 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.08 230.468 401.016 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.443) >>
+>> endobj
+12202 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 217.795 504.348 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.477) >>
+>> endobj
+12203 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.748 205.84 494.684 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.484) >>
+>> endobj
+12204 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [474.669 193.885 491.606 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.490) >>
+>> endobj
+12205 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [496.258 181.93 513.194 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.491) >>
+>> endobj
+12206 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 148.121 362.272 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.181) >>
+>> endobj
+12207 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.569 134.109 511.506 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (page.212) >>
+>> endobj
+12208 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 124.211 362.272 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.213) >>
+>> endobj
+12209 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 88.346 362.272 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.180) >>
+>> endobj
+12212 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+12216 0 obj <<
+/D [12214 0 R /XYZ 90 757.935 null]
+>> endobj
+12213 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F11 446 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12274 0 obj <<
+/Length 1238      
+/Filter /FlateDecode
+>>
+stream
+x��Y]s�8}�W�e���"$ْ�̤3I!��@��M;
�)جlJ��~����I�Oزtu�չWWJ3	J���q�u�C�&�T�I&�t� �HO��{��\+���%
 *��DQs�3n��@�J(
Mt��D�,7��4��%TӐ�q���aU�ΥQ��|�DX��A񌉤c@J�Y-��
Ƕ���=�r���''�|/��z��1�����
馉4�e�p�#�]X�9E0��D�$����=���� h���d�	}
um] 􄜪d��/߾M�l�o"`}��~��l�EAPfS�j��e�'d��D�rʡ$���������̗�	34�z
Mg�@���:��kM>A�)��p@�����f��y�;ߖ���{{<�	�UH^��Let�
���T$Mj��y��9���|��$3;���(!��/�tmFh�G��#�
+�x��
5�H�i;
C�Y��,��>�.#r(���[̞�����4x0��(`pE����|���[5���f|ż	+ �L\b1ќ>;����T��5᜷�ѽ�,�3��U���'F}��C���/1X��x���
��$�'O�
��-
+|����U���/\�	�cT�DO��h�W�%w�E�3;|�WˆM��T

)5K�j��=a������{NE�e�}�ʬ�`:3�s��3�Jȡ�H?��3��nw
�t5Y��x�6����Z�XQ���Õ��ʟ���3A@
'�DаS��"
+���y0Μ
+�
��V��H`
0
+&���E3�
+�/�_/�ʷ7o����(�
���ÿD����5҈3_�z>�,!R��|O��͜�� 9�@��Ƭ��4�AZ=����-���
+�)T�Kh~`����ߝ�
S
*��N��P�z��zm(~�0�7����^��Y_<�����?_E��'J�LC�2�[��U�2eR2P��S��:Ë� * >�ݾ5��BkǕ�QF�Y0�ڝ��U��`�8<�F��L
��7��^:._����RlN�3�^
V*��ʏ�x\��ݚ���=[s�VB��bb�lx��;�z��
���h��
�7��20�^o.�)0u�H���	ђi��L�}��+}ݐK^S��ˇ��_B� y�;�ʙ'ϟ �_#Sb]��7B������TE�K�&��H��?�
v�-20��%�����I��^��$ +�]r�-�-�e8#�
=ޥ��<���y���D�"�3��%��� |P �
+endstream
+endobj
+12273 0 obj <<
+/Type /Page
+/Contents 12274 0 R
+/Resources 12272 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12276 0 R
+/Annots [ 12210 0 R 12211 0 R 12217 0 R 12218 0 R 12219 0 R 12220 0 R 12221 0 R 12222 0 R 12223 0 R 12224 0 R 12225 0 R 12226 0 R 12227 0 R 12228 0 R 12229 0 R 12230 0 R 12231 0 R 12232 0 R 12233 0 R 12234 0 R 12235 0 R 12236 0 R 12237 0 R 12238 0 R 12239 0 R 12240 0 R 12241 0 R 12242 0 R 12243 0 R 12244 0 R 12245 0 R 12246 0 R 12247 0 R 12248 0 R 12249 0 R 12250 0 R 12251 0 R 12252 0 R 12253 0 R 12254 0 R 12255 0 R 12256 0 R 12257 0 R 12258 0 R 12259 0 R 12260 0 R 12261 0 R 12262 0 R 12 [...]
+>> endobj
+12210 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.088 719.912 295.024 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.212) >>
+>> endobj
+12211 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 710.014 145.791 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.213) >>
+>> endobj
+12217 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 674.149 145.791 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.183) >>
+>> endobj
+12218 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 638.283 145.791 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.180) >>
+>> endobj
+12219 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.088 624.271 295.024 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.211) >>
+>> endobj
+12220 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 614.473 145.791 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.212) >>
+>> endobj
+12221 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.109 576.45 195.046 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.305) >>
+>> endobj
+12222 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.109 540.585 195.046 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.306) >>
+>> endobj
+12223 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 506.777 145.791 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.177) >>
+>> endobj
+12224 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.109 480.809 195.046 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.303) >>
+>> endobj
+12225 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.034 480.809 214.971 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.304) >>
+>> endobj
+12226 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.96 480.809 234.896 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.306) >>
+>> endobj
+12227 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.885 480.809 254.821 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.307) >>
+>> endobj
+12228 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.109 444.943 195.046 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.305) >>
+>> endobj
+12229 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 411.135 145.791 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.177) >>
+>> endobj
+12230 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.109 385.168 195.046 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.304) >>
+>> endobj
+12231 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.034 385.168 214.971 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.305) >>
+>> endobj
+12232 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.598 361.975 184.535 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.440) >>
+>> endobj
+12233 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.598 338.064 184.535 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.442) >>
+>> endobj
+12234 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.109 301.481 195.046 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.306) >>
+>> endobj
+12235 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.132 277.571 290.068 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.192) >>
+>> endobj
+12236 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.132 253.661 290.068 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.190) >>
+>> endobj
+12237 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 229.75 285.097 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.122) >>
+>> endobj
+12238 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 217.795 258.537 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.158) >>
+>> endobj
+12239 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 195.942 145.791 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.180) >>
+>> endobj
+12240 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.132 181.93 290.068 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.192) >>
+>> endobj
+12241 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.088 169.975 295.024 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.211) >>
+>> endobj
+12242 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 160.077 145.791 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.213) >>
+>> endobj
+12243 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.175 134.109 180.112 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (page.217) >>
+>> endobj
+12244 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.237 122.154 291.174 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.221) >>
+>> endobj
+12245 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.823 110.199 281.759 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (page.230) >>
+>> endobj
+12246 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 98.244 260.191 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.277) >>
+>> endobj
+12247 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 710.014 362.272 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.286) >>
+>> endobj
+12248 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.656 684.047 396.593 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.291) >>
+>> endobj
+12249 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 662.194 362.272 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.355) >>
+>> endobj
+12250 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.151 636.943 438.087 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.386) >>
+>> endobj
+12251 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.629 613.033 470.584 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.89) >>
+>> endobj
+12252 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.08 589.123 401.016 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.440) >>
+>> endobj
+12253 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.08 565.212 401.016 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.442) >>
+>> endobj
+12254 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.748 552.54 494.684 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.484) >>
+>> endobj
+12255 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [489.613 528.63 506.55 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+12256 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.08 493.481 401.016 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.440) >>
+>> endobj
+12257 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.08 469.571 401.016 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.442) >>
+>> endobj
+12258 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 435.046 362.272 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.316) >>
+>> endobj
+12259 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 409.795 425.255 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+12260 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 385.885 425.255 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+12261 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 361.975 425.255 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+12262 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 327.449 362.272 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.315) >>
+>> endobj
+12263 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.614 301.481 511.551 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.401) >>
+>> endobj
+12264 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 267.673 362.272 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.181) >>
+>> endobj
+12265 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 242.423 425.255 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+12266 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 218.512 425.255 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+12267 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 194.602 425.255 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+12268 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.748 160.012 494.684 170.916]
+/Subtype /Link
+/A << /S /GoTo /D (page.483) >>
+>> endobj
+12269 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.59 124.864 403.527 135.05]
+/Subtype /Link
+/A << /S /GoTo /D (page.434) >>
+>> endobj
+12270 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 90.338 362.272 99.185]
+/Subtype /Link
+/A << /S /GoTo /D (page.284) >>
+>> endobj
+12271 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+12275 0 obj <<
+/D [12273 0 R /XYZ 90 757.935 null]
+>> endobj
+12272 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F11 446 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12381 0 obj <<
+/Length 1545      
+/Filter /FlateDecode
+>>
+stream
+xڽ��w�8���+x[=g�I�y��:� :�����ɉ-;6�tg��
?�T[	����������{�Hk	H�ƵӸ��I�u
i���t u5(�J�R�o���q���|�:�'U�K�PJ.7
��؀�*�`�k�+wUr7��o at Z��$ +zOzJ��H
��O_�5>5�K%�~�)2��l�-adCc�R5�߈T�
����
�T��m�����d[ނ��ݻ!�xH�H
��S�h���O����
rQ��ߞi�ڊ.�TxxW��y.��B\����yZ'��B{a�ۿ{]Zư�%=i�}���e��9i������]�ppp����C�.�M��Z��~���L���v]Գ&{�p
|c

ۘ�[¦c\
+{��as��lLg���L{hN
��c���՟��i��N�l<�m�ܾP�_�ݟxd���[�6����얢6�v}�x:�[gb�g�ĺ�q�K,���6bh�G�Lt
a�Wa]�����ScWUҮ\�aŌxA|���Z4�IN�[�EΒ=�g��
8IY�:Wz1nu?>�q'�8�Ƴ�����i�B��o���!j�ȧ2)�@m~��i��O���_�[�c�$K�?�
ǘ�e���V��sF�9��p���k��S5�+�w
1
+��e<s
cb�x�v34J����o�qZ��N�BC8Ɲs=
��k��sM�`�8���
�P�������7��oY�	�&�����O	AM��)���Nш���x�����n�]�f�<����L�
�����w/����8��#����y_;�m�zB|�U�l�+ (��qG"3|��5^�7yb�h�%���H4�Zm�s�Q
+�v�!�v(�v,H��u�
x��a���߱�$��&n,���)�v~\OXȝV��sk� �"T�F���x��&
�p,��<��|E���9iJ}�X\�{��$�'6�^$�
+�M�{��U�?�
�����2q�'�D$o�� ��;G���\���ي
��d���a�f;�" Zqz=�EBZ�
-�B_FZ;[����c<����O�Y�
+=F�U�
m�K���� J�	��nt)�C�<���Qae�_�koC��X=�[�� �U��
+E�\�����ͯi'�絸�]��	T��-i��J^�u ��8XI���w��;���'�;�+n0Y��"���'��b����~�(:����
��/���aV��N�&f��L�ł��"�Ĕ<Z���%��f~砸F-�襗F劲$��uZ��\�p��pCq����t�ה�mX&�C�8]Ԍ�s}�+H�Su��"��T�^���&e�v��>_���rT���cR���,��Na���ǭ���y�8����βŻ��]�r�)nz
H��
�
�7r
����d
�ʾ��E������FQuYU�d�m��?w���5�N�/Q�'��Z�ڌ��	v�ώ�du�%��]2��
(��
+�����]ߥ����-
�B-�!�+��:q�}wu���$���
�-���j����wd3��r�{
+�oe�6|�
y��I˔|@���:�W
+endstream
+endobj
+12380 0 obj <<
+/Type /Page
+/Contents 12381 0 R
+/Resources 12379 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12276 0 R
+/Annots [ 12277 0 R 12278 0 R 12279 0 R 12280 0 R 12281 0 R 12282 0 R 12283 0 R 12284 0 R 12285 0 R 12286 0 R 12287 0 R 12288 0 R 12289 0 R 12290 0 R 12291 0 R 12292 0 R 12293 0 R 12294 0 R 12295 0 R 12296 0 R 12297 0 R 12298 0 R 12299 0 R 12300 0 R 12301 0 R 12302 0 R 12303 0 R 12304 0 R 12305 0 R 12306 0 R 12307 0 R 12308 0 R 12309 0 R 12310 0 R 12311 0 R 12312 0 R 12313 0 R 12314 0 R 12315 0 R 12316 0 R 12317 0 R 12318 0 R 12319 0 R 12320 0 R 12321 0 R 12322 0 R 12323 0 R 12324 0 R 12 [...]
+>> endobj
+12277 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 698.059 145.791 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.284) >>
+>> endobj
+12278 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.415 660.854 172.351 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.404) >>
+>> endobj
+12279 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.788 636.943 155.743 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12280 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 624.988 182.861 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12281 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.972 613.033 167.927 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12282 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.016 601.078 166.971 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12283 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.527 589.123 177.482 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12284 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [212.012 577.168 223.967 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12285 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.028 565.212 192.984 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12286 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.52 553.257 208.475 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12287 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.92 541.302 189.875 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12288 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.918 529.347 208.874 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12289 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.885 517.392 161.84 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12290 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.292 505.437 197.247 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12291 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.464 493.481 183.419 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12292 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [212.968 481.526 224.923 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.78) >>
+>> endobj
+12293 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.96 469.571 165.915 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.78) >>
+>> endobj
+12294 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.897 457.616 187.853 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.78) >>
+>> endobj
+12295 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.227 445.661 217.182 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.78) >>
+>> endobj
+12296 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [166.493 433.706 178.448 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12297 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.01 421.407 157.965 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12298 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.01 409.795 157.965 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12299 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.01 397.84 157.965 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12300 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.904 385.885 156.859 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12301 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.097 373.93 164.052 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12302 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.987 361.975 155.943 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12303 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.01 350.019 157.965 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12304 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.763 325.765 180.7 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.210) >>
+>> endobj
+12305 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [235.155 313.81 252.092 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.210) >>
+>> endobj
+12306 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [213.576 301.855 230.513 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.210) >>
+>> endobj
+12307 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.611 278.288 210.547 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.228) >>
+>> endobj
+12308 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.595 266.333 153.532 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.228) >>
+>> endobj
+12309 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.24 254.378 160.177 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.228) >>
+>> endobj
+12310 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.895 242.423 150.832 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.228) >>
+>> endobj
+12311 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.595 218.512 153.532 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.284) >>
+>> endobj
+12312 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.327 206.557 190.264 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.284) >>
+>> endobj
+12313 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.24 194.602 160.177 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.284) >>
+>> endobj
+12314 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.761 170.692 170.697 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.311) >>
+>> endobj
+12315 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [275.125 158.737 292.061 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.311) >>
+>> endobj
+12316 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.963 146.781 289.899 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.311) >>
+>> endobj
+12317 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [212.42 134.826 229.357 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (page.311) >>
+>> endobj
+12318 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [213.526 110.916 230.463 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (page.398) >>
+>> endobj
+12319 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.875 98.961 254.811 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.398) >>
+>> endobj
+12320 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.128 87.006 278.064 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.398) >>
+>> endobj
+12321 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [462.117 720.63 479.053 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.398) >>
+>> endobj
+12322 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [442.302 708.674 459.238 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.398) >>
+>> endobj
+12323 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [474.411 696.719 491.347 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.398) >>
+>> endobj
+12324 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [393.485 672.809 410.421 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.398) >>
+>> endobj
+12325 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [416.01 660.136 427.965 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+12326 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.639 648.181 502.594 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.84) >>
+>> endobj
+12327 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [500.602 636.226 512.557 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.85) >>
+>> endobj
+12328 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.627 624.271 476.582 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+12329 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [474.59 612.316 486.545 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+12330 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [357.5 601.078 369.455 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12331 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [405.49 588.405 417.445 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.80) >>
+>> endobj
+12332 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.155 577.168 376.11 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12333 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [465.175 564.495 477.13 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.81) >>
+>> endobj
+12334 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [475.138 552.54 487.093 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.82) >>
+>> endobj
+12335 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.306 540.585 450.261 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.80) >>
+>> endobj
+12336 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.426 529.347 394.381 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.78) >>
+>> endobj
+12337 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.6 517.392 406.555 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.78) >>
+>> endobj
+12338 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [424.467 504.719 436.423 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.80) >>
+>> endobj
+12339 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.161 492.764 433.116 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+12340 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [414.525 481.526 426.48 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.80) >>
+>> endobj
+12341 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [424.488 469.571 436.443 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.81) >>
+>> endobj
+12342 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.717 456.899 476.672 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.89) >>
+>> endobj
+12343 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.676 444.943 412.613 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.106) >>
+>> endobj
+12344 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [399.552 432.988 416.488 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.107) >>
+>> endobj
+12345 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.051 421.75 405.987 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.106) >>
+>> endobj
+12346 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.926 409.795 409.863 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.107) >>
+>> endobj
+12347 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.127 397.123 455.063 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.108) >>
+>> endobj
+12348 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [431.501 385.168 448.438 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.107) >>
+>> endobj
+12349 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [473.165 373.212 490.101 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.119) >>
+>> endobj
+12350 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [474.271 361.257 491.207 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.119) >>
+>> endobj
+12351 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.157 349.302 399.093 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.111) >>
+>> endobj
+12352 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.879 337.347 411.816 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.112) >>
+>> endobj
+12353 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [373.559 325.392 385.515 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.99) >>
+>> endobj
+12354 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [388.503 325.392 405.44 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.101) >>
+>> endobj
+12355 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [441.086 313.437 458.022 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.117) >>
+>> endobj
+12356 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.45 301.481 438.386 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.114) >>
+>> endobj
+12357 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [434.172 289.526 451.108 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.114) >>
+>> endobj
+12358 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.995 278.288 428.932 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.102) >>
+>> endobj
+12359 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.603 266.333 429.539 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.102) >>
+>> endobj
+12360 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [440.936 253.661 457.872 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.116) >>
+>> endobj
+12361 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [429.21 241.706 446.147 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.117) >>
+>> endobj
+12362 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.302 229.75 424.239 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.120) >>
+>> endobj
+12363 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.79 218.512 387.726 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.106) >>
+>> endobj
+12364 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.597 206.557 380.533 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.105) >>
+>> endobj
+12365 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [400.408 193.885 417.345 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.111) >>
+>> endobj
+12366 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [456.428 181.93 473.365 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.115) >>
+>> endobj
+12367 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [476.353 181.93 493.29 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.116) >>
+>> endobj
+12368 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.084 169.975 453.02 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.123) >>
+>> endobj
+12369 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [456.009 169.975 472.946 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.124) >>
+>> endobj
+12370 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [432.617 158.019 449.554 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.121) >>
+>> endobj
+12371 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [423.92 146.064 440.856 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.121) >>
+>> endobj
+12372 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.073 134.109 387.009 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (page.104) >>
+>> endobj
+12373 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.056 122.154 449.992 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.112) >>
+>> endobj
+12374 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [445.778 110.199 462.714 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (page.113) >>
+>> endobj
+12375 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [419.497 98.244 436.433 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.118) >>
+>> endobj
+12376 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [372.444 87.006 389.38 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.122) >>
+>> endobj
+12378 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+12382 0 obj <<
+/D [12380 0 R /XYZ 90 757.935 null]
+>> endobj
+12379 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12505 0 obj <<
+/Length 1568      
+/Filter /FlateDecode
+>>
+stream
+xڽZY��8~���m�5#0��d6�
Ie�٪�LR�
���+�q~�������0��
�Z��[�����ɳ���
X�
b[�K+����
h]'����7�=�w�����
��? �6�'ϯ'_'P�l�F��Ȋ���'`%����0���U��9��L����'������wY��� �nT��t�tEy�)K�(6y��b�<b˨��;��_[�:���7��ˉu3w�B�
:��
B;D#��5+�
^��U���s!��%/2
@R�4b�G ��ջ�&yL5-u<94�XM��٫� ꗴ�,Rb�
��Q��(WW>>�@k&����!B�)��$b��Ѽ��r����UF�s
s3U���f�������+D*����E/ <�׵a�����Iw�1U ���_�\���ͽ�ơ{
�{��>5�̌7���n����MmY���"_�
�JWg�*��f��HE��c��Þm.���$��R�F>`Ŭ����o���l��nd�
22zŲ2e�]��X�j<S�
�˻�-���:ݵ�����i��A0%�r�H7�X�H�NY�9�S�&�
jӐV���e��b�hֳ�ѷ����9��
v��/�6v���m���4�$��-8���g��} ntEy�
+�I}?���
 xl�H�l��W�EV�$u����3o��S�
����Jϰ`��S�rÊ靈?�L�$Eғ��c�j
4͂�9`�h��i���Sj6k�Z�jWJ�
�EDp�4Q�#��'�K^|�jC�:D�3M���ed���@��t
̖���̍E�
X�h�Q�bW��;"���G��j�{�M����15HϽ�t~tn���M��O�}xN8�&�4mz�T�/-�%47���`����
(O�[�Q2�bu�Q�8T���������;^��6+��S�]��K
NxQFU!��\lv����ab$�t���$7��"�^˙�k2ˆ��4K�qY����	ɽ���kSd��hKC��)')�q_{�~P0���h���-�����kHz���O����:���`�D
�V�
b�l+z·(�
+EsV�sa�G�]����(��fy�וw���ɻ�i���"�D�_��LІhE
�pr�
TuW�K�F�h�
z
-�W�m��h��ឣETuƸ���E#��Z����F��cI����Ҷ���k���I+(�\aV�"T��
+�p	��]
�����z���	t %Ṇ���Y�X�h�I�s����P._�5��4�����&[P�
�W/(YT���JI1ۤ�`�.�V��Ǧ�—'GL��|��K�
�T�}��)��
����Q�/O��5��[���8�q�r�
_6��VD}�Ie��󝨷�bW�[5EP���-
+~f\
7�qr�:�?�O���a�����!7l���ۡ�F����t֎Kf��ѺÞֺ�*��!4����$ߐ��� �uT�i�����P� �������~�ݼ�X�o6:�����8����u]^^\l�[;��M�Jn���,Ӌ���B��a�GY�mak���~�,'��嵏����B�0
+endstream
+endobj
+12504 0 obj <<
+/Type /Page
+/Contents 12505 0 R
+/Resources 12503 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12276 0 R
+/Annots [ 12377 0 R 12383 0 R 12384 0 R 12385 0 R 12386 0 R 12387 0 R 12388 0 R 12389 0 R 12390 0 R 12391 0 R 12392 0 R 12393 0 R 12394 0 R 12395 0 R 12396 0 R 12397 0 R 12398 0 R 12399 0 R 12400 0 R 12401 0 R 12402 0 R 12403 0 R 12404 0 R 12405 0 R 12406 0 R 12407 0 R 12408 0 R 12409 0 R 12410 0 R 12411 0 R 12412 0 R 12413 0 R 12414 0 R 12415 0 R 12416 0 R 12417 0 R 12418 0 R 12419 0 R 12420 0 R 12421 0 R 12422 0 R 12423 0 R 12424 0 R 12425 0 R 12426 0 R 12427 0 R 12428 0 R 12429 0 R 12 [...]
+>> endobj
+12377 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.79 719.912 282.726 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.111) >>
+>> endobj
+12383 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.283 707.957 207.219 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.110) >>
+>> endobj
+12384 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.782 696.002 196.719 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.105) >>
+>> endobj
+12385 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.969 684.047 234.905 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.124) >>
+>> endobj
+12386 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.161 672.092 290.098 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.117) >>
+>> endobj
+12387 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.67 660.136 274.606 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.118) >>
+>> endobj
+12388 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.573 648.181 268.509 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.119) >>
+>> endobj
+12389 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.544 636.226 225.481 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.120) >>
+>> endobj
+12390 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.202 624.988 170.139 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.102) >>
+>> endobj
+12391 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.128 624.988 190.064 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.103) >>
+>> endobj
+12392 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.549 613.033 168.485 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.103) >>
+>> endobj
+12393 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.474 613.033 188.41 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.104) >>
+>> endobj
+12394 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.603 600.361 179.539 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.122) >>
+>> endobj
+12395 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.343 588.405 175.28 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.122) >>
+>> endobj
+12396 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.814 576.45 238.751 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.123) >>
+>> endobj
+12397 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.189 564.495 227.125 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.108) >>
+>> endobj
+12398 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.064 552.54 231 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.109) >>
+>> endobj
+12399 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.563 541.302 220.5 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.108) >>
+>> endobj
+12400 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.438 529.347 224.375 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.109) >>
+>> endobj
+12401 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.04 517.392 183.977 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.105) >>
+>> endobj
+12402 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.966 517.392 203.902 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.106) >>
+>> endobj
+12403 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.404 504.719 268.34 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.120) >>
+>> endobj
+12404 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.968 492.764 237.904 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.120) >>
+>> endobj
+12405 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.745 480.809 254.681 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.111) >>
+>> endobj
+12406 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.772 468.854 196.709 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.105) >>
+>> endobj
+12407 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 456.899 151.22 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.125) >>
+>> endobj
+12408 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.389 444.943 208.325 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.114) >>
+>> endobj
+12409 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.396 433.706 177.332 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.109) >>
+>> endobj
+12410 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.321 433.706 197.257 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.110) >>
+>> endobj
+12411 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.371 421.033 213.307 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.110) >>
+>> endobj
+12412 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.292 409.078 250.228 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.110) >>
+>> endobj
+12413 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.713 397.123 180.65 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.115) >>
+>> endobj
+12414 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 375.27 145.791 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.125) >>
+>> endobj
+12415 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.211 361.257 165.148 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.126) >>
+>> endobj
+12416 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.401 337.347 234.337 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.184) >>
+>> endobj
+12417 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.675 325.392 238.612 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.126) >>
+>> endobj
+12418 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.195 313.437 196.132 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.143) >>
+>> endobj
+12419 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.071 301.481 200.007 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.143) >>
+>> endobj
+12420 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.57 290.243 189.506 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.142) >>
+>> endobj
+12421 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.445 278.288 193.382 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.142) >>
+>> endobj
+12422 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.646 265.616 238.582 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.144) >>
+>> endobj
+12423 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.02 253.661 231.957 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.143) >>
+>> endobj
+12424 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.684 241.706 273.62 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.154) >>
+>> endobj
+12425 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.789 229.75 274.726 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.155) >>
+>> endobj
+12426 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.676 217.795 182.612 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.148) >>
+>> endobj
+12427 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.398 205.84 195.334 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.148) >>
+>> endobj
+12428 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.968 193.885 221.905 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.150) >>
+>> endobj
+12429 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.69 181.93 234.627 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.151) >>
+>> endobj
+12430 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.514 170.692 212.451 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.139) >>
+>> endobj
+12431 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.122 158.737 213.058 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.139) >>
+>> endobj
+12432 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [130.518 146.781 147.454 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.135) >>
+>> endobj
+12433 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [150.443 146.781 167.38 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.138) >>
+>> endobj
+12434 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [212.729 134.109 229.665 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (page.154) >>
+>> endobj
+12435 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.112 122.154 226.049 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.153) >>
+>> endobj
+12436 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.821 110.199 207.757 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (page.155) >>
+>> endobj
+12437 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.308 98.961 171.245 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.138) >>
+>> endobj
+12438 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.115 87.006 164.052 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.141) >>
+>> endobj
+12439 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [400.408 719.912 417.345 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.147) >>
+>> endobj
+12440 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [456.428 707.957 473.365 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.152) >>
+>> endobj
+12441 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.084 696.002 453.02 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.159) >>
+>> endobj
+12442 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [456.009 696.002 472.946 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.160) >>
+>> endobj
+12443 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [432.617 684.047 449.554 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.156) >>
+>> endobj
+12444 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [423.92 672.092 440.856 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.157) >>
+>> endobj
+12445 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.073 660.136 387.009 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.141) >>
+>> endobj
+12446 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.056 648.181 449.992 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.149) >>
+>> endobj
+12447 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [452.981 648.181 469.917 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.150) >>
+>> endobj
+12448 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [445.778 636.226 462.714 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.149) >>
+>> endobj
+12449 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [465.703 636.226 482.639 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.150) >>
+>> endobj
+12450 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.733 624.271 394.67 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.157) >>
+>> endobj
+12451 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [399.871 612.316 416.807 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.157) >>
+>> endobj
+12452 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [400.12 600.361 417.056 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.158) >>
+>> endobj
+12453 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [406.764 588.405 423.701 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.147) >>
+>> endobj
+12454 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.264 576.45 413.2 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.142) >>
+>> endobj
+12455 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [434.45 564.495 451.387 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.160) >>
+>> endobj
+12456 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [474.151 552.54 491.087 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.153) >>
+>> endobj
+12457 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [425.026 540.585 441.962 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.156) >>
+>> endobj
+12458 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.684 529.347 386.62 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.139) >>
+>> endobj
+12459 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.609 529.347 406.545 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.140) >>
+>> endobj
+12460 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.03 517.392 384.966 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.140) >>
+>> endobj
+12461 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.084 504.719 396.021 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.158) >>
+>> endobj
+12462 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.824 492.764 391.761 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.158) >>
+>> endobj
+12463 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.898 480.809 430.834 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.145) >>
+>> endobj
+12464 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [417.773 468.854 434.709 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.146) >>
+>> endobj
+12465 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.295 456.899 455.232 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.159) >>
+>> endobj
+12466 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [426.67 444.943 443.606 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.145) >>
+>> endobj
+12467 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.545 432.988 447.482 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.145) >>
+>> endobj
+12468 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [420.044 421.75 436.981 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.144) >>
+>> endobj
+12469 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [423.92 409.795 440.856 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.144) >>
+>> endobj
+12470 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.522 397.84 400.458 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.138) >>
+>> endobj
+12471 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [403.447 397.84 420.383 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.139) >>
+>> endobj
+12472 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [467.885 385.168 484.821 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.156) >>
+>> endobj
+12473 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [437.449 373.212 454.386 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.155) >>
+>> endobj
+12474 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.627 361.975 393.564 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.157) >>
+>> endobj
+12475 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [454.226 349.302 471.162 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.148) >>
+>> endobj
+12476 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.254 337.347 413.19 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.142) >>
+>> endobj
+12477 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.87 325.392 424.806 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.151) >>
+>> endobj
+12478 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.877 314.154 393.813 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.146) >>
+>> endobj
+12479 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.852 301.481 429.788 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.147) >>
+>> endobj
+12480 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [449.773 289.526 466.71 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.147) >>
+>> endobj
+12481 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.194 277.571 397.131 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.151) >>
+>> endobj
+12482 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [479.113 265.616 496.049 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.161) >>
+>> endobj
+12483 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [387.955 253.661 404.892 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.163) >>
+>> endobj
+12484 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.881 253.661 424.817 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.166) >>
+>> endobj
+12485 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.397 241.706 452.333 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.166) >>
+>> endobj
+12486 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [493.937 229.75 510.873 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.167) >>
+>> endobj
+12487 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [373.559 217.795 390.496 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.178) >>
+>> endobj
+12488 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.148 205.84 412.085 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.179) >>
+>> endobj
+12489 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.597 193.885 380.533 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.176) >>
+>> endobj
+12490 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.522 193.885 400.458 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.177) >>
+>> endobj
+12491 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.665 181.93 391.601 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.177) >>
+>> endobj
+12492 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.59 181.93 411.527 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.178) >>
+>> endobj
+12493 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [360.827 169.975 377.763 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.175) >>
+>> endobj
+12494 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.547 158.019 364.484 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.181) >>
+>> endobj
+12495 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.914 146.781 383.851 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.176) >>
+>> endobj
+12496 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.962 134.109 413.898 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (page.179) >>
+>> endobj
+12497 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [398.615 122.154 415.552 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.180) >>
+>> endobj
+12498 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [439.262 110.199 456.199 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (page.177) >>
+>> endobj
+12499 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.098 98.244 396.035 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.177) >>
+>> endobj
+12500 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.665 86.288 391.602 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.179) >>
+>> endobj
+12502 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+12506 0 obj <<
+/D [12504 0 R /XYZ 90 757.935 null]
+>> endobj
+12503 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F11 446 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12619 0 obj <<
+/Length 1425      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�6}���S{ZcI�3u
ڽ���t��t&��Q��h����+
���A°��$6!G�	��2��z��b4{�#0�������t4K�f���/��|^�5l��q��m�� ��<z�=���
+
��o�3=�1�xt�Ky��L+����ذ�%G����8d"ѿ1�@~F��!��S��
+�t��?9&Y�V��-�ju��i||=2n��c��
�2��B3pj<��"Wa��
#Ì q�o�|\5V�5qEE���bz�
�'������Ҩ�{Q�qaT%Z:
"�b�
淂%)$ODy���UcY&
�]��R�qTW�<�`w�2��1��
�����B��)>�1m�
�&�n`}/���9�+�����ҹ�/k�x]��W���S��]��B`<=��i���&P���<�
+"H�����9cT�g��eꞨ`�=]M��e�-.� }?[O ��k�4`�$'�i������v�ӬgF���i
++qvxU�1�WI���KA�{v+��\\���((թ��GK�1
+zW�^)
BF�2�����g� ���>$�3TK�0��r
�h�({�MUB�ȓ(Y��D���L����f��F��H�J�p�
d�l�3E�'�&��@V{Ǖ
�'�b�Bf8
*�tx��>
_od��O.i��@�[�,���-,��{�3L�Rv����r��bG��o�5Ϩ�{�<k7�5��v:
8p�t{�s�5u̪@]\�c&�,����@���GMj�	n5�G�,œ%������~pMGZ�ʈ�Ȯ��0,�(WQ��`�h��D�r�#`���<���R�h��@u@$�+��[I�vH-����pQ��Z��:l�m0Zl�]u��	�m
�
�?s%�Fczn�^����݀y�B�ns���A�B >*��b��&����:j�N�FC�A�1�S�Yۊ�a[���0���� ��
#�)��)I�ʚ
���)�Ox�=����B���zA�
c�I�y�Skݓ��E�q��/e
+Q��J�����e�P��.3�e�e��U��'�Lc|U%Z��@��^S�W��ENj�(�
+Aq�h�p������~����=S�j��eZ�[R��RjyR�N�N���4�]�o<t����}�+�jW"��
�|�'R��_���n����m�B�?ۜ�
����,�������V�!���E�վ�
9"KC�,d
G	Y*�څ��z<k�xx���
�[`WʰM)k%݇+�F�%�G�8�s��f����ag�-<�7�뾄�{��5���� ��t���tqO'�������S}�]T}�+��lj㌳���
U�?|-����6��L��9�Z2ͮ)�M���b�>�+_ZDl��L �Թ~����l�^��03
�Ra�|�����y
�!�M�_%�����'�����R�32��������q
+endstream
+endobj
+12618 0 obj <<
+/Type /Page
+/Contents 12619 0 R
+/Resources 12617 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12276 0 R
+/Annots [ 12501 0 R 12507 0 R 12508 0 R 12509 0 R 12510 0 R 12511 0 R 12512 0 R 12513 0 R 12514 0 R 12515 0 R 12516 0 R 12517 0 R 12518 0 R 12519 0 R 12520 0 R 12521 0 R 12522 0 R 12523 0 R 12524 0 R 12525 0 R 12526 0 R 12527 0 R 12528 0 R 12529 0 R 12530 0 R 12531 0 R 12532 0 R 12533 0 R 12534 0 R 12535 0 R 12536 0 R 12537 0 R 12538 0 R 12539 0 R 12540 0 R 12541 0 R 12542 0 R 12543 0 R 12544 0 R 12545 0 R 12546 0 R 12547 0 R 12548 0 R 12549 0 R 12550 0 R 12551 0 R 12552 0 R 12553 0 R 12 [...]
+>> endobj
+12501 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.209 719.912 187.145 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.179) >>
+>> endobj
+12507 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.393 707.957 151.33 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.182) >>
+>> endobj
+12508 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.328 696.002 171.265 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.176) >>
+>> endobj
+12509 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.053 684.047 169.99 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.176) >>
+>> endobj
+12510 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.668 672.092 200.604 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.176) >>
+>> endobj
+12511 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.09 660.854 200.027 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.176) >>
+>> endobj
+12512 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.917 648.181 192.853 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.176) >>
+>> endobj
+12513 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.742 636.226 175.678 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.179) >>
+>> endobj
+12514 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.499 624.271 200.435 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.179) >>
+>> endobj
+12515 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.035 612.316 174.971 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.178) >>
+>> endobj
+12516 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.854 600.361 171.791 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.181) >>
+>> endobj
+12517 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.603 588.405 179.539 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.181) >>
+>> endobj
+12518 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.473 576.45 177.41 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.181) >>
+>> endobj
+12519 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.854 564.495 171.791 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.180) >>
+>> endobj
+12520 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.603 552.54 179.539 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.183) >>
+>> endobj
+12521 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.473 540.585 177.41 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.180) >>
+>> endobj
+12522 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.724 528.63 169.661 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.177) >>
+>> endobj
+12523 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [150.224 516.674 167.16 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.177) >>
+>> endobj
+12524 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.343 504.719 175.28 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.180) >>
+>> endobj
+12525 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.375 492.764 156.311 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.181) >>
+>> endobj
+12526 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.006 481.526 171.942 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.184) >>
+>> endobj
+12527 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [127.748 468.854 144.685 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.181) >>
+>> endobj
+12528 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.742 456.899 175.678 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.180) >>
+>> endobj
+12529 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.119 444.943 195.055 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.179) >>
+>> endobj
+12530 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 432.988 151.22 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.183) >>
+>> endobj
+12531 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.554 421.033 225.491 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.177) >>
+>> endobj
+12532 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.271 409.078 181.207 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.178) >>
+>> endobj
+12533 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.207 397.123 270.143 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.186) >>
+>> endobj
+12534 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.713 385.885 172.649 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.190) >>
+>> endobj
+12535 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.049 373.212 178.986 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.190) >>
+>> endobj
+12536 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.636 361.257 174.572 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.191) >>
+>> endobj
+12537 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.137 350.019 190.074 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.191) >>
+>> endobj
+12538 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.438 337.347 219.374 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.191) >>
+>> endobj
+12539 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.579 325.392 189.516 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.191) >>
+>> endobj
+12540 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.75 314.154 170.687 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.192) >>
+>> endobj
+12541 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.603 301.481 179.539 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.192) >>
+>> endobj
+12542 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.875 289.526 166.812 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.192) >>
+>> endobj
+12543 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.494 277.571 172.43 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.190) >>
+>> endobj
+12544 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.343 265.616 175.28 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.192) >>
+>> endobj
+12545 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.023 253.661 177.96 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+12546 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.339 241.706 192.276 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.191) >>
+>> endobj
+12547 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.638 229.75 200.575 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.192) >>
+>> endobj
+12548 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 217.795 151.22 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+12549 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 195.823 145.791 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+12550 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [230.99 182.647 247.927 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.197) >>
+>> endobj
+12551 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.37 169.975 213.307 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.197) >>
+>> endobj
+12552 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.047 158.737 152.983 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.197) >>
+>> endobj
+12553 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.603 146.064 179.539 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.198) >>
+>> endobj
+12554 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 134.109 151.22 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (page.198) >>
+>> endobj
+12555 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.498 110.199 240.434 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (page.202) >>
+>> endobj
+12556 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.792 87.006 191.728 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.198) >>
+>> endobj
+12557 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.359 719.912 409.295 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.199) >>
+>> endobj
+12558 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [463.062 707.957 479.999 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.204) >>
+>> endobj
+12559 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [372.194 696.719 389.131 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.210) >>
+>> endobj
+12560 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.905 684.764 388.842 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.210) >>
+>> endobj
+12561 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.756 672.092 412.692 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.211) >>
+>> endobj
+12562 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.619 660.854 406.555 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.210) >>
+>> endobj
+12563 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.061 648.181 405.997 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.210) >>
+>> endobj
+12564 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.336 636.226 388.272 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.213) >>
+>> endobj
+12565 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.084 624.271 396.021 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.214) >>
+>> endobj
+12566 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.954 612.316 393.891 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.212) >>
+>> endobj
+12567 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.88 612.316 413.816 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.213) >>
+>> endobj
+12568 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.336 600.361 388.272 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.212) >>
+>> endobj
+12569 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.261 600.361 408.197 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.213) >>
+>> endobj
+12570 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.954 588.405 393.891 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.211) >>
+>> endobj
+12571 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.88 588.405 413.816 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.212) >>
+>> endobj
+12572 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.824 576.45 391.761 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.211) >>
+>> endobj
+12573 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.75 576.45 411.686 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.213) >>
+>> endobj
+12574 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.765 564.495 367.702 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.214) >>
+>> endobj
+12575 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.068 552.54 367.004 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.209) >>
+>> endobj
+12576 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 540.585 513.996 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.214) >>
+>> endobj
+12577 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.084 528.63 396.021 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.217) >>
+>> endobj
+12578 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.824 516.674 391.761 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.217) >>
+>> endobj
+12579 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.765 504.719 367.702 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.218) >>
+>> endobj
+12580 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [439.979 480.809 456.916 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.200) >>
+>> endobj
+12581 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 458.956 362.272 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.218) >>
+>> endobj
+12582 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.359 444.943 409.295 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.219) >>
+>> endobj
+12583 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [470.793 432.988 487.73 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.219) >>
+>> endobj
+12584 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.188 421.033 452.124 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.221) >>
+>> endobj
+12585 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.084 409.078 396.021 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.222) >>
+>> endobj
+12586 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.824 397.123 391.761 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.221) >>
+>> endobj
+12587 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.765 385.168 367.702 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.222) >>
+>> endobj
+12588 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [489.623 373.212 506.559 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.222) >>
+>> endobj
+12589 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [461.379 361.257 478.315 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.222) >>
+>> endobj
+12590 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.628 349.302 401.564 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.229) >>
+>> endobj
+12591 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [372.194 338.064 389.131 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.229) >>
+>> endobj
+12592 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [357.818 326.109 374.755 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.230) >>
+>> endobj
+12593 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.084 313.437 453.02 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.232) >>
+>> endobj
+12594 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.756 301.481 412.692 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.230) >>
+>> endobj
+12595 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [434.45 289.526 451.387 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.232) >>
+>> endobj
+12596 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [454.375 289.526 471.312 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.233) >>
+>> endobj
+12597 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.335 278.288 362.272 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.228) >>
+>> endobj
+12598 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.084 265.616 396.021 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.230) >>
+>> endobj
+12599 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [399.01 265.616 415.946 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.233) >>
+>> endobj
+12600 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.824 253.661 391.761 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.230) >>
+>> endobj
+12601 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.875 241.706 367.811 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.229) >>
+>> endobj
+12602 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [343.114 229.75 360.05 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.228) >>
+>> endobj
+12603 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.295 217.795 455.232 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.230) >>
+>> endobj
+12604 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.221 217.795 475.157 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.231) >>
+>> endobj
+12605 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.765 205.84 367.702 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.230) >>
+>> endobj
+12606 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.068 193.885 367.004 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.228) >>
+>> endobj
+12607 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [495.7 181.93 512.636 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.234) >>
+>> endobj
+12608 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.79 170.692 387.726 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.237) >>
+>> endobj
+12609 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.778 158.737 361.714 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.237) >>
+>> endobj
+12610 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.084 146.064 396.021 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.238) >>
+>> endobj
+12611 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.765 134.109 367.702 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (page.238) >>
+>> endobj
+12612 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [439.979 110.199 456.916 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (page.201) >>
+>> endobj
+12613 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [476.183 98.244 493.12 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.238) >>
+>> endobj
+12614 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [373.559 86.288 390.496 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.240) >>
+>> endobj
+12616 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+12620 0 obj <<
+/D [12618 0 R /XYZ 90 757.935 null]
+>> endobj
+12617 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F11 446 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12732 0 obj <<
+/Length 1490      
+/Filter /FlateDecode
+>>
+stream
+x��Z�r�6}�W��LE���E��4M�$]�Z�錓�@$!�f��|}��MY&�%�>Xi���.�.$060�G?-FWo<`f�ڮ�X0<�2�m��q;~��ϯ��|Z�3f�7t�}�? �����bt7��Y`X���3=a<����8�� ��ƾ�*6f�#�#�f��<�D�?Hb�ۆ�g;&pa�*^�P���s�I~,$(�f�J���G��Ԇ`lϬ�r
�1�,3�؊Nl8�G6�Xp�%��!GG|MX[����$N��-��Jh��	W=�*1�Qe�� I���I���k6 �l��hG�⑸�`�A�;Ƈq�|�
.py����*����A��itؒ��W�d�
��kFWm�piIba�l؎$���n�.�`J-�v��+��3L�
^S��(�6�hC�0O� ���E�)	�
ˆ
b�辊u��n���<�pHD>�I�S!8��
+�xI���ͺ�g,�LB�~-�# vB��F
��>`�H/��~�t����:4
+{XWh��s�f�HU�T:߽�P�B_wI�TJ��)B-Ĝ$�O3)��О�HB�B�k��)(�z*	��
v�:kŠ����u�1Y��<�	J�Dd^Vb��,�aCO�|�$����Y�u=媮���׌�I?*����J��nTrB����8ڬ�m$q���pu�J�o�m��ޤ��-η��X�i�9���c�H�™�	o����CF8��a%�gI
+E>���,��

q
P����Q�F4��V)���fX,�[(�k.�+

���(�F
�8kO����۰-ל���:��ڳ�B_Ğ���H�D��&�����0��� �YiIy���z4�z�x��xQ^R��Asx�K���t�n`�]�(�˗]i�4 ��ɞ�m�^��۷�|��۟w��,�{?=*�іn��:��f\�=�q���r��e9�n�����i�e�-��C5�O,0�Yϸ�B�D8˵;���.9�U�1�.����n�B�) �kt���D�D܋$�� ��m9�D��T҃�|�k����ykg����(��xd��������篴IJ�3�^�V�u�;����ztr�BJ�������
��s�n�9���V�XL&#�(�ȟ�q�qAO ����_��Fꍧ=��=+/�
���yQ�Eo�z*^�5��YL|0>d���#-�⿁�n9'qk��
4
'�yH)�R��R���B(�6{������ӏ��R�
+�6*�aʷ'R]ʴC��|^�oH��Zy
8}��/^Ю�l�T�U|N�(����C��o售�OmupI�^l	�)��?��� *���$�����&�7��}���B�k��W�V����/-�dR�2]ux�_yX�<�[���yy�Nv8*��0�
py��%�a���#憐j���5������G�Z�mq���-����j�ߛan��1��,��j�;۳e�L�
+�(kAޅ\qʪ��D�����YC��K�j�
+endstream
+endobj
+12731 0 obj <<
+/Type /Page
+/Contents 12732 0 R
+/Resources 12730 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12276 0 R
+/Annots [ 12615 0 R 12621 0 R 12622 0 R 12623 0 R 12624 0 R 12625 0 R 12626 0 R 12627 0 R 12628 0 R 12629 0 R 12630 0 R 12631 0 R 12632 0 R 12633 0 R 12634 0 R 12635 0 R 12636 0 R 12637 0 R 12638 0 R 12639 0 R 12640 0 R 12641 0 R 12642 0 R 12643 0 R 12644 0 R 12645 0 R 12646 0 R 12647 0 R 12648 0 R 12649 0 R 12650 0 R 12651 0 R 12652 0 R 12653 0 R 12654 0 R 12655 0 R 12656 0 R 12657 0 R 12658 0 R 12659 0 R 12660 0 R 12661 0 R 12662 0 R 12663 0 R 12664 0 R 12665 0 R 12666 0 R 12667 0 R 12 [...]
+>> endobj
+12615 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.667 719.912 195.603 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.241) >>
+>> endobj
+12621 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.48 707.957 197.417 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.241) >>
+>> endobj
+12622 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.134 696.002 199.07 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.242) >>
+>> endobj
+12623 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.781 684.047 239.717 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.240) >>
+>> endobj
+12624 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.184 672.092 175.12 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.241) >>
+>> endobj
+12625 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.209 660.136 187.145 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.241) >>
+>> endobj
+12626 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.742 648.181 175.678 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.241) >>
+>> endobj
+12627 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.499 636.226 200.435 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.241) >>
+>> endobj
+12628 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.035 624.271 174.971 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.240) >>
+>> endobj
+12629 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.006 613.033 171.942 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.240) >>
+>> endobj
+12630 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.29 600.361 176.226 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.240) >>
+>> endobj
+12631 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.742 588.405 175.678 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.242) >>
+>> endobj
+12632 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.119 576.45 195.055 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.241) >>
+>> endobj
+12633 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.554 564.495 225.491 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.240) >>
+>> endobj
+12634 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.329 552.54 240.265 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.242) >>
+>> endobj
+12635 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.195 540.585 196.132 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.261) >>
+>> endobj
+12636 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.071 528.63 200.007 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.262) >>
+>> endobj
+12637 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.57 517.392 189.506 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.262) >>
+>> endobj
+12638 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.445 505.437 193.382 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.263) >>
+>> endobj
+12639 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.927 492.764 208.864 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.261) >>
+>> endobj
+12640 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.803 480.809 212.739 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.264) >>
+>> endobj
+12641 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.646 468.854 238.582 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.262) >>
+>> endobj
+12642 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.02 456.899 231.957 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.263) >>
+>> endobj
+12643 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.378 444.943 251.314 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.265) >>
+>> endobj
+12644 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.684 432.988 273.62 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.274) >>
+>> endobj
+12645 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.789 421.033 274.726 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.274) >>
+>> endobj
+12646 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.676 409.078 182.612 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.267) >>
+>> endobj
+12647 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.398 397.123 195.334 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.267) >>
+>> endobj
+12648 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.968 385.168 221.905 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.269) >>
+>> endobj
+12649 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.69 373.212 234.627 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.270) >>
+>> endobj
+12650 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.514 361.975 212.451 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.258) >>
+>> endobj
+12651 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.122 350.019 213.058 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.258) >>
+>> endobj
+12652 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.821 337.347 207.757 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.274) >>
+>> endobj
+12653 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.777 325.392 248.714 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.272) >>
+>> endobj
+12654 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.308 314.154 171.245 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.257) >>
+>> endobj
+12655 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.115 302.199 164.052 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.260) >>
+>> endobj
+12656 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.927 289.526 200.863 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.266) >>
+>> endobj
+12657 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.947 277.571 256.883 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.271) >>
+>> endobj
+12658 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.136 265.616 233.073 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.276) >>
+>> endobj
+12659 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.439 253.661 224.375 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.276) >>
+>> endobj
+12660 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.591 241.706 170.528 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.260) >>
+>> endobj
+12661 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.574 229.75 233.511 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.268) >>
+>> endobj
+12662 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.499 229.75 253.436 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.269) >>
+>> endobj
+12663 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.296 217.795 246.233 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.268) >>
+>> endobj
+12664 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.222 217.795 266.158 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.269) >>
+>> endobj
+12665 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.478 205.84 240.415 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.272) >>
+>> endobj
+12666 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [132.172 194.602 149.108 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.253) >>
+>> endobj
+12667 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.097 194.602 169.033 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.257) >>
+>> endobj
+12668 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.962 182.647 172.899 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.277) >>
+>> endobj
+12669 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.283 169.975 207.219 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.266) >>
+>> endobj
+12670 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.52 158.737 173.456 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.257) >>
+>> endobj
+12671 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.782 146.064 196.719 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.257) >>
+>> endobj
+12672 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.554 134.109 225.491 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (page.257) >>
+>> endobj
+12673 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.334 122.154 297.271 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.273) >>
+>> endobj
+12674 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.436 110.199 246.372 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (page.273) >>
+>> endobj
+12675 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.035 98.244 288.972 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.273) >>
+>> endobj
+12676 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.544 86.288 225.481 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.275) >>
+>> endobj
+12677 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.684 720.63 386.62 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.258) >>
+>> endobj
+12678 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.609 720.63 406.545 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.259) >>
+>> endobj
+12679 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.03 708.674 384.966 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.259) >>
+>> endobj
+12680 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.778 696.719 361.714 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.261) >>
+>> endobj
+12681 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.084 684.047 396.021 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.277) >>
+>> endobj
+12682 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.824 672.092 391.761 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.277) >>
+>> endobj
+12683 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [426.67 660.136 443.606 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.263) >>
+>> endobj
+12684 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.545 648.181 447.482 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.264) >>
+>> endobj
+12685 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [420.044 636.943 436.981 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.264) >>
+>> endobj
+12686 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [423.92 624.988 440.856 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.264) >>
+>> endobj
+12687 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [467.885 612.316 484.821 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.275) >>
+>> endobj
+12688 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [437.449 600.361 454.386 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.275) >>
+>> endobj
+12689 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [454.226 588.405 471.162 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.267) >>
+>> endobj
+12690 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.254 576.45 413.19 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.261) >>
+>> endobj
+12691 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.765 564.495 367.702 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.277) >>
+>> endobj
+12692 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.87 552.54 424.806 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.270) >>
+>> endobj
+12693 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.877 541.302 393.813 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.265) >>
+>> endobj
+12694 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.852 528.63 429.788 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.266) >>
+>> endobj
+12695 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [449.773 516.674 466.71 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.266) >>
+>> endobj
+12696 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [397.36 504.719 414.296 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.272) >>
+>> endobj
+12697 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.194 492.764 397.131 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.270) >>
+>> endobj
+12698 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [486.295 480.809 503.232 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.278) >>
+>> endobj
+12699 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.693 468.854 381.629 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.278) >>
+>> endobj
+12700 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.882 444.943 450.819 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.185) >>
+>> endobj
+12701 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.622 432.988 501.558 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.279) >>
+>> endobj
+12702 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [372.194 421.75 389.131 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.285) >>
+>> endobj
+12703 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [397.549 409.078 414.486 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.285) >>
+>> endobj
+12704 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [357.818 397.84 374.755 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.285) >>
+>> endobj
+12705 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.366 385.168 383.303 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.284) >>
+>> endobj
+12706 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.906 373.212 388.842 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.284) >>
+>> endobj
+12707 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.756 361.257 412.692 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.285) >>
+>> endobj
+12708 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.084 349.302 396.021 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.286) >>
+>> endobj
+12709 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.824 337.347 391.761 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.286) >>
+>> endobj
+12710 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.222 325.392 387.158 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.284) >>
+>> endobj
+12711 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.765 313.437 367.702 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.286) >>
+>> endobj
+12712 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.068 301.481 367.004 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.284) >>
+>> endobj
+12713 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.656 277.571 396.593 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.286) >>
+>> endobj
+12714 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.79 266.333 387.726 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.291) >>
+>> endobj
+12715 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [352.528 254.378 369.465 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.291) >>
+>> endobj
+12716 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.778 242.423 361.714 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.291) >>
+>> endobj
+12717 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.084 229.75 396.021 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.291) >>
+>> endobj
+12718 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.824 217.795 391.761 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.291) >>
+>> endobj
+12719 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.765 205.84 367.702 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.291) >>
+>> endobj
+12720 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [439.979 181.93 456.916 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.203) >>
+>> endobj
+12721 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [485.189 169.975 502.126 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.292) >>
+>> endobj
+12722 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.693 158.019 381.629 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.293) >>
+>> endobj
+12723 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.882 134.109 450.819 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (page.185) >>
+>> endobj
+12724 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [452.283 122.154 469.22 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.293) >>
+>> endobj
+12725 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [372.762 110.199 389.699 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (page.296) >>
+>> endobj
+12726 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.652 98.244 453.588 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.295) >>
+>> endobj
+12727 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [375.781 86.288 392.717 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.296) >>
+>> endobj
+12729 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+12733 0 obj <<
+/D [12731 0 R /XYZ 90 757.935 null]
+>> endobj
+12730 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F11 446 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12856 0 obj <<
+/Length 1740      
+/Filter /FlateDecode
+>>
+stream
+xڽZ[��6~ϯ�[���l���[�P��¶�)0%Q�oHv���{|ɒxK�C_rq��

}�Y�Ұ�������e�f�ٞq�0B��=db�s����կ���|�}e�V`Z؃����U�G�nG_F�Z��ƾ�;ؘ%��-c�_�鄁���J
�v�=6ލ�Yۚ �wM��ml��cZ
n�r����6Ax�5K���?׺4J�e���#������
z�
�4x9C�
q�L�����V茋��"J�8ZܑRD�̲�h4/"Z�R|܏�� kLs)��
s����T�Q�Pr��w+6甼����Ǐ_^��qZd\H�
����YkNs"
+V�D;BuA.Wl��2���:ZR�s�
�mRcp"t�D�4���
�&�:
܂%We2e|�o�N�#˴�ps���w�?O�u���60
m�~���d�o����ؾ���h��䚓�:N9�`t�zR傎r;x��n���QN�}�9�R]��N�s���Z�p������cٻx�=v,�W��
%{H�8&
+�=����n�J7����
L/t��uH!H�
�\p [Y#��x���@�.t������#��W0����������G��w�ܶ5>�
א~10R�rz���X�<t�}Do~����l�DWء�
��+4J
"r{��
&N�&r:cd
%,��� 4�5�\
+�H���DmѺd���c%��8�!
���j�ŤeMX�^��
��!4�q9�5�
� -ɦ��l��Y�)\��g������
+��"A�^��(�
K��ڵ'�>��>$%��Y� O�)���dC
+��j����U��)v^�bG�����X%=�$���WW�������&b��v<�A2Y��&ۓhюY�LJ
�
lΌ�e�R�K]i���<���@�����5�����,�}�������c�K�ʗ�"����AS,�\�%�!4�;g�j�8����C�>I!�w��6�L�A�g���:U��
+��W���D;X����3�朝��oo��0YGs�VyR����
�fe:v
a����X��
[��B�Y�q����NY�U��b^^�^���� q�*k(n��vܒ�I)���4h�m �̠/H��@Ж6�J
��?�L��ͣ��
ƫ଺}�u$TN9Y�H
+��n]�X貣�׬��+h
+1ST]m�I����y};!Y
+���,�x�ݵ�~/8�R��:J9�b-Y
+]X
};.^b]_�D؃�
��-VT��j���[�M�2�F��q���ݕK��t"�#� ��|�ܱN
R�oY
^^oRT�
�J�\�ch�
�N[W
��$g#eP
�d����V7n8ȯ�<B�����
�R5�������:�fK��CN0��U'\�p��Gn�pNl@@���1u}^;g`��#��.8x;��2�*�f���^�:*V:c�(Xq,�w WuT���Un�efhcg�;0!q�l�Od-WG�s"��
!���=�t���Li

͊��(w��kQ��
�&�B��O<ezOсE��"��'���w
g�f��i������@�z�
����@7�hX�,g�g���wN�=D�f��3������NО�ġ�q;�]��!�֊�׍)���=�/
+��`<��74-i�|�`aksD�Ms�2��99s��1�.�Y�gc����̩��-
+l���Ϫ��"|~�^�͙0�4ʹ�y
����f�\�G�g�P��z%�z�OQ
+�:̛;H`�� �3w�
+endstream
+endobj
+12855 0 obj <<
+/Type /Page
+/Contents 12856 0 R
+/Resources 12854 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12276 0 R
+/Annots [ 12728 0 R 12734 0 R 12735 0 R 12736 0 R 12737 0 R 12738 0 R 12739 0 R 12740 0 R 12741 0 R 12742 0 R 12743 0 R 12744 0 R 12745 0 R 12746 0 R 12747 0 R 12748 0 R 12749 0 R 12750 0 R 12751 0 R 12752 0 R 12753 0 R 12754 0 R 12755 0 R 12756 0 R 12757 0 R 12758 0 R 12759 0 R 12760 0 R 12761 0 R 12762 0 R 12763 0 R 12764 0 R 12765 0 R 12766 0 R 12767 0 R 12768 0 R 12769 0 R 12770 0 R 12771 0 R 12772 0 R 12773 0 R 12774 0 R 12775 0 R 12776 0 R 12777 0 R 12778 0 R 12779 0 R 12780 0 R 12 [...]
+>> endobj
+12728 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.383 720.63 199.319 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.296) >>
+>> endobj
+12734 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.7 708.674 194.637 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.296) >>
+>> endobj
+12735 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.745 696.002 254.681 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.295) >>
+>> endobj
+12736 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 684.047 151.22 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.297) >>
+>> endobj
+12737 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.841 672.092 271.797 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.86) >>
+>> endobj
+12738 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.501 660.136 173.457 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.86) >>
+>> endobj
+12739 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.001 648.181 268.938 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.297) >>
+>> endobj
+12740 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.812 624.988 269.749 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.297) >>
+>> endobj
+12741 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [168.595 601.078 185.531 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.298) >>
+>> endobj
+12742 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.324 588.405 297.261 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.298) >>
+>> endobj
+12743 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.667 576.45 195.603 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.306) >>
+>> endobj
+12744 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.167 564.495 206.104 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.302) >>
+>> endobj
+12745 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.093 564.495 226.029 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.303) >>
+>> endobj
+12746 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.603 552.54 179.539 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.307) >>
+>> endobj
+12747 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.087 540.585 169.023 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.305) >>
+>> endobj
+12748 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.706 528.63 174.642 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.306) >>
+>> endobj
+12749 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.724 516.674 169.661 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.303) >>
+>> endobj
+12750 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.65 516.674 189.586 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.304) >>
+>> endobj
+12751 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.575 516.674 209.511 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.306) >>
+>> endobj
+12752 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [212.5 516.674 229.437 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.307) >>
+>> endobj
+12753 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.343 504.719 175.28 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.305) >>
+>> endobj
+12754 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [150.224 492.764 167.16 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.304) >>
+>> endobj
+12755 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.149 492.764 187.086 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.305) >>
+>> endobj
+12756 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.843 480.809 172.779 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.306) >>
+>> endobj
+12757 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.119 468.854 195.055 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.306) >>
+>> endobj
+12758 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 456.899 151.22 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.307) >>
+>> endobj
+12759 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.525 444.943 278.462 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.307) >>
+>> endobj
+12760 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.57 433.706 189.506 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.314) >>
+>> endobj
+12761 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.445 421.75 193.382 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.314) >>
+>> endobj
+12762 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.684 409.078 273.62 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.313) >>
+>> endobj
+12763 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.005 397.123 267.941 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.313) >>
+>> endobj
+12764 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.267 385.885 150.204 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.313) >>
+>> endobj
+12765 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.348 373.93 235.284 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.311) >>
+>> endobj
+12766 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.242 361.975 234.178 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.311) >>
+>> endobj
+12767 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.899 349.302 242.836 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.315) >>
+>> endobj
+12768 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.358 337.347 187.294 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.315) >>
+>> endobj
+12769 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.386 326.109 182.323 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.314) >>
+>> endobj
+12770 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.368 314.154 187.304 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.311) >>
+>> endobj
+12771 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.293 314.154 207.23 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.313) >>
+>> endobj
+12772 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.603 301.481 179.539 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.316) >>
+>> endobj
+12773 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.667 289.526 187.603 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.316) >>
+>> endobj
+12774 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.552 277.571 199.489 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.315) >>
+>> endobj
+12775 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.27 265.616 221.207 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.314) >>
+>> endobj
+12776 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.792 254.378 151.728 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.315) >>
+>> endobj
+12777 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 241.706 151.22 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.316) >>
+>> endobj
+12778 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.017 229.75 293.954 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.316) >>
+>> endobj
+12779 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.86 217.795 202.797 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.318) >>
+>> endobj
+12780 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.785 217.795 222.722 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.321) >>
+>> endobj
+12781 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.916 205.84 235.852 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.322) >>
+>> endobj
+12782 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.179 193.885 280.116 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.322) >>
+>> endobj
+12783 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.878 181.93 192.814 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.323) >>
+>> endobj
+12784 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [275.343 169.975 292.28 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.323) >>
+>> endobj
+12785 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.195 158.019 196.132 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.341) >>
+>> endobj
+12786 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.071 146.064 200.007 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.341) >>
+>> endobj
+12787 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.57 134.826 189.506 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (page.340) >>
+>> endobj
+12788 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.445 122.871 193.382 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.340) >>
+>> endobj
+12789 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.646 110.199 238.582 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (page.341) >>
+>> endobj
+12790 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.02 98.244 231.957 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.340) >>
+>> endobj
+12791 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.684 86.288 273.62 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.351) >>
+>> endobj
+12792 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [474.271 719.912 491.207 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.352) >>
+>> endobj
+12793 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.157 707.957 399.093 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.345) >>
+>> endobj
+12794 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.879 696.002 411.816 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.345) >>
+>> endobj
+12795 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [441.086 684.047 458.022 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.350) >>
+>> endobj
+12796 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.45 672.092 438.386 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.346) >>
+>> endobj
+12797 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [434.172 660.136 451.108 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.347) >>
+>> endobj
+12798 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.995 648.899 428.932 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.337) >>
+>> endobj
+12799 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.603 636.943 429.539 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.337) >>
+>> endobj
+12800 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [440.936 624.271 457.872 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.349) >>
+>> endobj
+12801 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [460.861 624.271 477.798 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.350) >>
+>> endobj
+12802 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [429.21 612.316 446.147 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.351) >>
+>> endobj
+12803 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.302 600.361 424.239 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.352) >>
+>> endobj
+12804 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.79 589.123 387.726 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.337) >>
+>> endobj
+12805 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.597 577.168 380.533 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.335) >>
+>> endobj
+12806 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [400.408 564.495 417.345 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.344) >>
+>> endobj
+12807 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [456.428 552.54 473.365 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.349) >>
+>> endobj
+12808 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.084 540.585 453.02 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.356) >>
+>> endobj
+12809 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [432.617 528.63 449.554 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.353) >>
+>> endobj
+12810 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [423.92 516.674 440.856 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.354) >>
+>> endobj
+12811 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.073 504.719 387.009 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.339) >>
+>> endobj
+12812 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.056 492.764 449.992 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.345) >>
+>> endobj
+12813 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [452.981 492.764 469.917 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.346) >>
+>> endobj
+12814 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [445.778 480.809 462.714 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.347) >>
+>> endobj
+12815 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [372.444 469.571 389.38 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.354) >>
+>> endobj
+12816 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [482.271 456.899 499.207 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.344) >>
+>> endobj
+12817 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [406.764 444.943 423.701 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.343) >>
+>> endobj
+12818 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.264 432.988 413.2 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.336) >>
+>> endobj
+12819 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [434.45 421.033 451.387 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.356) >>
+>> endobj
+12820 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [454.375 421.033 471.312 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.357) >>
+>> endobj
+12821 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [489.643 409.078 506.579 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.350) >>
+>> endobj
+12822 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [474.151 397.123 491.087 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.351) >>
+>> endobj
+12823 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [425.026 385.168 441.962 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.353) >>
+>> endobj
+12824 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.684 373.93 386.62 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.337) >>
+>> endobj
+12825 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.609 373.93 406.545 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.338) >>
+>> endobj
+12826 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.03 361.975 384.966 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.338) >>
+>> endobj
+12827 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [387.955 361.975 404.892 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.339) >>
+>> endobj
+12828 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [400.667 349.302 417.604 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.333) >>
+>> endobj
+12829 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [420.593 349.302 437.529 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.335) >>
+>> endobj
+12830 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.084 337.347 396.021 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.355) >>
+>> endobj
+12831 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.824 325.392 391.761 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.355) >>
+>> endobj
+12832 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.295 313.437 455.232 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.355) >>
+>> endobj
+12833 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.221 313.437 475.157 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.356) >>
+>> endobj
+12834 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [461.837 301.481 478.774 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.354) >>
+>> endobj
+12835 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [426.67 289.526 443.606 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.342) >>
+>> endobj
+12836 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.545 277.571 447.482 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.342) >>
+>> endobj
+12837 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [420.044 266.333 436.981 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.341) >>
+>> endobj
+12838 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [423.92 254.378 440.856 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.342) >>
+>> endobj
+12839 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.522 242.423 400.458 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.336) >>
+>> endobj
+12840 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [467.885 229.75 484.821 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.353) >>
+>> endobj
+12841 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [437.449 217.795 454.386 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.352) >>
+>> endobj
+12842 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [454.226 205.84 471.162 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.344) >>
+>> endobj
+12843 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.254 193.885 413.19 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.336) >>
+>> endobj
+12844 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.765 181.93 367.702 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.357) >>
+>> endobj
+12845 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.87 169.975 424.806 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.348) >>
+>> endobj
+12846 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.877 158.737 393.813 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.343) >>
+>> endobj
+12847 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.852 146.064 429.788 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.343) >>
+>> endobj
+12848 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [449.773 134.109 466.71 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (page.344) >>
+>> endobj
+12849 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.194 122.154 397.131 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.348) >>
+>> endobj
+12850 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.31 98.961 398.247 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.357) >>
+>> endobj
+12851 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.676 86.288 412.613 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.374) >>
+>> endobj
+12853 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+12857 0 obj <<
+/D [12855 0 R /XYZ 90 757.935 null]
+>> endobj
+12854 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F11 446 0 R /F23 368 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12972 0 obj <<
+/Length 1538      
+/Filter /FlateDecode
+>>
+stream
+x��Z[��6}�W��0S��|�I
�k��;4��N7��(�-�
v��+�&,�3yX�����w9:�g`�
`�
=���^y���E�1_0<���<2n�on^��g�q�ְ�o����� O^
�������
+
X���L�r�0�~F$��5�i����J
Y�;6ޏ�
�]K�wK ��1<d��u���(�a��xEӐ?�&4��ֈw�G��9`lyN{C��1��
�}��䄥����6�U�qN�3�c�o�������C�ߡ���G,�i�2&i�i���
+ܷ�v�y��������-'�  �������>`��%0Y�F"d���a`]�}ԙ5v��<K0Yd2���34lnq4Τ囁��BR�T�aRl�L�o�U
��Ԃ鮢��^R.�Ds����g9.���4K��*û�
��(
+�F��e�Կ����Y��R���캢)�$f��U���;V��3G��Ao���xM���r"z��ۤ�i�
��"hӸ��"
�O2ekRX�	��'����c��e_��A�P��Y��`���Vg��\�o�qy��+w�e�0p�z�ɓ�}
阶��-}nj��X������@��IV#�d$���;U����āR˸? ���ps7Mp��†��
�9P`��-.�;P»ݰC7�Ɏ��k�Z���77�}
rat�	�"Q�e�o3�`Lr�Y^'L)ƇiL�B[�uk�*��s�B�iU.���2��C@̖�GDM
+�
�h��ՙn��f�~���gY|��'�w���__����
2����KX��;p�AbL��r5
t���r��dٱ���L���f����� P���	'	-���I���1%|���i�,�m>��ވo%�����U_��oA״}d�B���j�/�j��
" �.H�
+9
QJ�n|��i��#k�:4��2V�\��U��1ؙ�=HD��9�뎡fm�׋�h��(q�f��A����I������UN�
[S����绅l[�B[�rq.9CM���J�zxU
��j��}�N��ñ`ɡ]_�d���PG�K5�ʖ��r�ަz�u�h�po/��.X�J!��4����@o�QC<�?
�j���
�TJ�lKÁ~�g�@��J9뒪/��XR駱��~�%�� d�@�(
} ��贍�����������;G������B&Κ���(U�
�j��↑��[��'t��r/���@�;�U6�oK���Ż�'1���s��	$�h�����
V�4���,���<���οmuK�g��
,�o
Ķ��i��z�V�mY�-�>�ZA��n��F�~�e�v?R�ˁֻ��� ���I��k��Ⱦx��F�c�~O�m�ږ{�֯my������=�C��~����f }���/b�f�Y~�J�����>��tR?��iO�2�9m�Hs�WA�O���$�H�
 h8�� 4�	��4'S
��{Jۡ6��ll�~�/��
k��L ���m]�����f�1�¬R�s��Wy
_�9�`�ڦ�-�R��ڮ$���Y*.&�
d�!	���	�
+endstream
+endobj
+12971 0 obj <<
+/Type /Page
+/Contents 12972 0 R
+/Resources 12970 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12974 0 R
+/Annots [ 12852 0 R 12858 0 R 12859 0 R 12860 0 R 12861 0 R 12862 0 R 12863 0 R 12864 0 R 12865 0 R 12866 0 R 12867 0 R 12868 0 R 12869 0 R 12870 0 R 12871 0 R 12872 0 R 12873 0 R 12874 0 R 12875 0 R 12876 0 R 12877 0 R 12878 0 R 12879 0 R 12880 0 R 12881 0 R 12882 0 R 12883 0 R 12884 0 R 12885 0 R 12886 0 R 12887 0 R 12888 0 R 12889 0 R 12890 0 R 12891 0 R 12892 0 R 12893 0 R 12894 0 R 12895 0 R 12896 0 R 12897 0 R 12898 0 R 12899 0 R 12900 0 R 12901 0 R 12902 0 R 12903 0 R 12904 0 R 12 [...]
+>> endobj
+12852 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.071 719.912 200.007 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.375) >>
+>> endobj
+12858 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.57 708.674 189.506 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.374) >>
+>> endobj
+12859 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.445 696.719 193.382 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.376) >>
+>> endobj
+12860 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.646 684.047 238.582 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.376) >>
+>> endobj
+12861 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.02 672.092 231.957 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.377) >>
+>> endobj
+12862 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.684 660.136 273.62 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.383) >>
+>> endobj
+12863 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.789 648.181 274.726 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.384) >>
+>> endobj
+12864 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.676 636.226 182.612 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.379) >>
+>> endobj
+12865 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.398 624.271 195.334 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.379) >>
+>> endobj
+12866 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.968 612.316 221.905 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.381) >>
+>> endobj
+12867 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.69 600.361 234.627 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.382) >>
+>> endobj
+12868 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.514 589.123 212.451 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.371) >>
+>> endobj
+12869 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.122 577.168 213.058 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.371) >>
+>> endobj
+12870 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.821 564.495 207.757 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.384) >>
+>> endobj
+12871 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.308 553.257 171.245 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.371) >>
+>> endobj
+12872 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.115 541.302 164.052 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.373) >>
+>> endobj
+12873 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.927 528.63 200.863 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.378) >>
+>> endobj
+12874 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.947 516.674 256.883 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.383) >>
+>> endobj
+12875 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.136 504.719 233.073 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.385) >>
+>> endobj
+12876 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.439 492.764 224.375 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.386) >>
+>> endobj
+12877 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.574 480.809 233.511 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.379) >>
+>> endobj
+12878 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.499 480.809 253.436 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.380) >>
+>> endobj
+12879 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.296 468.854 246.233 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.380) >>
+>> endobj
+12880 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.222 468.854 266.158 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.381) >>
+>> endobj
+12881 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.962 457.616 172.899 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.386) >>
+>> endobj
+12882 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.283 444.943 207.219 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.378) >>
+>> endobj
+12883 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.782 432.988 196.719 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.371) >>
+>> endobj
+12884 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.544 421.033 225.481 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.385) >>
+>> endobj
+12885 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.202 409.795 170.139 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.371) >>
+>> endobj
+12886 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.128 409.795 190.064 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.372) >>
+>> endobj
+12887 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.549 397.84 168.485 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.372) >>
+>> endobj
+12888 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.474 397.84 188.41 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.373) >>
+>> endobj
+12889 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.603 385.168 179.539 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.386) >>
+>> endobj
+12890 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.343 373.212 175.28 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.386) >>
+>> endobj
+12891 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.339 361.257 240.275 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.366) >>
+>> endobj
+12892 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.264 361.257 260.201 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.370) >>
+>> endobj
+12893 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.189 349.302 227.125 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.375) >>
+>> endobj
+12894 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.064 337.347 231 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.375) >>
+>> endobj
+12895 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.563 326.109 220.5 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.374) >>
+>> endobj
+12896 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.438 314.154 224.375 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.376) >>
+>> endobj
+12897 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.404 301.481 268.34 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.384) >>
+>> endobj
+12898 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.968 289.526 237.904 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.384) >>
+>> endobj
+12899 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.772 277.571 196.709 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.374) >>
+>> endobj
+12900 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 265.616 151.22 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.387) >>
+>> endobj
+12901 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.389 253.661 208.325 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.382) >>
+>> endobj
+12902 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.396 242.423 177.332 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.377) >>
+>> endobj
+12903 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.371 229.75 213.307 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.378) >>
+>> endobj
+12904 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.292 217.795 250.228 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.378) >>
+>> endobj
+12905 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.878 205.84 197.815 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.382) >>
+>> endobj
+12906 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 183.987 145.791 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.387) >>
+>> endobj
+12907 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.208 169.975 275.144 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.389) >>
+>> endobj
+12908 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.57 158.737 189.506 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.400) >>
+>> endobj
+12909 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.445 146.781 193.382 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.400) >>
+>> endobj
+12910 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.684 134.109 273.62 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (page.399) >>
+>> endobj
+12911 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.318 122.154 280.255 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.400) >>
+>> endobj
+12912 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.267 110.916 150.204 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (page.399) >>
+>> endobj
+12913 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.348 98.961 235.284 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.398) >>
+>> endobj
+12914 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.242 87.006 234.178 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.398) >>
+>> endobj
+12915 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [451.586 719.912 468.522 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.402) >>
+>> endobj
+12916 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.868 708.674 398.804 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.401) >>
+>> endobj
+12917 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.084 696.002 396.021 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.402) >>
+>> endobj
+12918 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.66 684.047 427.596 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.401) >>
+>> endobj
+12919 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.532 672.809 400.468 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.399) >>
+>> endobj
+12920 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.301 660.136 403.238 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.401) >>
+>> endobj
+12921 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.501 648.899 379.437 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.401) >>
+>> endobj
+12922 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.273 636.943 368.21 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.401) >>
+>> endobj
+12923 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.765 624.271 367.702 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.402) >>
+>> endobj
+12924 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 602.418 362.272 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.402) >>
+>> endobj
+12925 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.29 588.405 398.227 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.405) >>
+>> endobj
+12926 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [403.178 576.45 420.114 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.404) >>
+>> endobj
+12927 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.102 565.212 427.039 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.404) >>
+>> endobj
+12928 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.042 552.54 410.979 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.404) >>
+>> endobj
+12929 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [439.98 529.347 456.916 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.322) >>
+>> endobj
+12930 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [485.389 516.674 502.325 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.405) >>
+>> endobj
+12931 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.746 504.719 428.682 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.410) >>
+>> endobj
+12932 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [373.559 493.481 390.496 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.408) >>
+>> endobj
+12933 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.084 480.809 396.021 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.410) >>
+>> endobj
+12934 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.211 468.854 366.147 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.409) >>
+>> endobj
+12935 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.126 456.899 386.062 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.410) >>
+>> endobj
+12936 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.273 445.661 368.21 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.409) >>
+>> endobj
+12937 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.705 432.988 407.641 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.409) >>
+>> endobj
+12938 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.629 409.795 470.584 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.87) >>
+>> endobj
+12939 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.586 397.84 423.541 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.89) >>
+>> endobj
+12940 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.084 385.168 391.039 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.89) >>
+>> endobj
+12941 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.824 373.212 386.78 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.89) >>
+>> endobj
+12942 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.913 361.257 511.849 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.411) >>
+>> endobj
+12943 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.676 349.302 412.613 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.427) >>
+>> endobj
+12944 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [399.552 337.347 416.488 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.427) >>
+>> endobj
+12945 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.051 326.109 405.987 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.426) >>
+>> endobj
+12946 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.926 314.154 409.863 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.426) >>
+>> endobj
+12947 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.31 301.481 398.247 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.426) >>
+>> endobj
+12948 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.157 289.526 399.093 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.430) >>
+>> endobj
+12949 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.879 277.571 411.816 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.430) >>
+>> endobj
+12950 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [418.939 265.616 435.875 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.438) >>
+>> endobj
+12951 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [447.023 253.661 463.96 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.434) >>
+>> endobj
+12952 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [432.229 241.706 449.165 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.435) >>
+>> endobj
+12953 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.45 229.75 438.386 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.432) >>
+>> endobj
+12954 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [434.172 217.795 451.108 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.433) >>
+>> endobj
+12955 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.995 206.557 428.932 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.421) >>
+>> endobj
+12956 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.603 194.602 429.539 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.422) >>
+>> endobj
+12957 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.86 182.647 424.797 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.438) >>
+>> endobj
+12958 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.302 169.975 424.239 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.435) >>
+>> endobj
+12959 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.79 158.737 387.726 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.421) >>
+>> endobj
+12960 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.597 146.781 380.533 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.424) >>
+>> endobj
+12961 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [400.408 134.109 417.345 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (page.429) >>
+>> endobj
+12962 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [456.428 122.154 473.365 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.429) >>
+>> endobj
+12963 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [432.617 110.199 449.554 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (page.436) >>
+>> endobj
+12964 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [423.92 98.244 440.856 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.437) >>
+>> endobj
+12965 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.056 86.288 449.992 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.431) >>
+>> endobj
+12966 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [452.981 86.288 469.917 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.432) >>
+>> endobj
+12969 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+12973 0 obj <<
+/D [12971 0 R /XYZ 90 757.935 null]
+>> endobj
+12970 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F11 446 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13091 0 obj <<
+/Length 1529      
+/Filter /FlateDecode
+>>
+stream
+x��Zے�6��Sp��35+	$ �ܤ͹�t���4�0Z#�J9��u�O_	��v�����6>�g�g� �������E �ȍ"��҉��b����0}�ˏ���}�z�� t&��
Bu{��jr3��.p`�6����"�|��D�� ׋Bg�<�9>��g꼟�6��H�@ �#��s��+�3AS�Kb��!<� �Y\
+�3�b�7D�ԈUG��ˉ�a�0��
�
h����7����C�F���"c��
����A<�[�c�2A#�4����\�5�֒��('��8<�%lQ�"�iU�UnD�N#���^}.$r�Ef��ZS�3*⒊�+"�Z�p-㪤
&��X^ID�*<b���3i�FF�������”��-�X,X�Y����*�Rc���]�|t�l�6a���5?"D�}I��,	�ņ-����+�a��7
�5�f����b4’A���bHi��
+wh4!;�l/n�k�Z31��
-�]+��)_�ƛ��+%皩��Ԗ���s�����a�Z�:3�W�SZ��m-�KK(e���Ӛ�&�3�3�i����M.C����2��o�4� �2
*2*dz�f���O�ZPq����� =�s�{��"7�����S�C1�L��B�G/^@��wy�
#�K�<i9LͰ��|�{�$�h����K"��;��΍�z_�a=}:УG}�j�%��o���k�]�h,������к�eNP��yj)�$=�
���̸�}~١Y�4� ��2���֕R�cb�	CF0��~n)E
�~��y =�<�Ӷ��I̲k���ox)�ϲ�=~�Yaթ D��!��O�����xq�9�,�.�	��z]l��]cG�a�w�� H\?D��A�f9k��V�tr�|�]-d)0h�ʫ �2/Q5}��^�E&\
h�r���m�?��UF��Y.�l��M�m��Χ̪3�fr�/㪐�T.�˻�q%+ರ����g��}hi��T��("��E�H�ޅ�	S��%6��Q����zOwyPp5��ȱgAo��P�����ښuC: c7����ݳ!m)�x��{�n��;���}�ض�{�3Gi�����H���37�J����� [...]
�zߖzl�I�Xc�pSJY�M�c
�����K㩹y��Ā˯m��u^n��}
�	#����H��(q��
�Ci8r1�Z|Wk6kֿc���q�^vl��ˠ��
�i�^�L�
M���#[2�7�
�����'��=c
�-_9�oo�:�G-
�
��-�u]>���n��r79/���
��;�B�
`�CY������f�$=����((��
+endstream
+endobj
+13090 0 obj <<
+/Type /Page
+/Contents 13091 0 R
+/Resources 13089 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12974 0 R
+/Annots [ 12967 0 R 12968 0 R 12975 0 R 12976 0 R 12977 0 R 12978 0 R 12979 0 R 12980 0 R 12981 0 R 12982 0 R 12983 0 R 12984 0 R 12985 0 R 12986 0 R 12987 0 R 12988 0 R 12989 0 R 12990 0 R 12991 0 R 12992 0 R 12993 0 R 12994 0 R 12995 0 R 12996 0 R 12997 0 R 12998 0 R 12999 0 R 13000 0 R 13001 0 R 13002 0 R 13003 0 R 13004 0 R 13005 0 R 13006 0 R 13007 0 R 13008 0 R 13009 0 R 13010 0 R 13011 0 R 13012 0 R 13013 0 R 13014 0 R 13015 0 R 13016 0 R 13017 0 R 13018 0 R 13019 0 R 13020 0 R 13 [...]
+>> endobj
+12967 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.296 719.912 246.233 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.431) >>
+>> endobj
+12968 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.222 719.912 266.158 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.432) >>
+>> endobj
+12975 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [199.379 707.957 216.315 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.424) >>
+>> endobj
+12976 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [199.13 696.002 216.066 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.424) >>
+>> endobj
+12977 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.962 684.764 172.899 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.425) >>
+>> endobj
+12978 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.283 672.092 207.219 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.429) >>
+>> endobj
+12979 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.782 660.136 196.719 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.421) >>
+>> endobj
+12980 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.339 648.181 192.276 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.437) >>
+>> endobj
+12981 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.544 636.226 225.481 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.436) >>
+>> endobj
+12982 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.202 624.988 170.139 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.422) >>
+>> endobj
+12983 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.549 613.033 168.485 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.423) >>
+>> endobj
+12984 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.195 600.361 196.131 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.434) >>
+>> endobj
+12985 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [187.274 589.123 204.211 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.418) >>
+>> endobj
+12986 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.199 589.123 224.136 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.420) >>
+>> endobj
+12987 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.189 576.45 227.125 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.427) >>
+>> endobj
+12988 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.064 564.495 231 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.428) >>
+>> endobj
+12989 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.563 553.257 220.5 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.426) >>
+>> endobj
+12990 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.438 541.302 224.375 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.427) >>
+>> endobj
+12991 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.04 529.347 183.977 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.425) >>
+>> endobj
+12992 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.404 516.674 268.34 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.436) >>
+>> endobj
+12993 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.968 504.719 237.904 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.435) >>
+>> endobj
+12994 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.745 492.764 254.681 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.430) >>
+>> endobj
+12995 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.772 480.809 196.709 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.425) >>
+>> endobj
+12996 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 468.854 151.22 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.438) >>
+>> endobj
+12997 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.389 456.899 208.325 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.433) >>
+>> endobj
+12998 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.396 445.661 177.332 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.428) >>
+>> endobj
+12999 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.56 433.706 189.496 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.437) >>
+>> endobj
+13000 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.713 421.033 180.65 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.433) >>
+>> endobj
+13001 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 399.06 145.791 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.439) >>
+>> endobj
+13002 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.603 385.168 179.539 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.441) >>
+>> endobj
+13003 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [150.224 373.212 167.16 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.440) >>
+>> endobj
+13004 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.343 361.257 175.28 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.440) >>
+>> endobj
+13005 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.607 349.302 179.544 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.440) >>
+>> endobj
+13006 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 327.549 145.791 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.441) >>
+>> endobj
+13007 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.603 313.437 179.539 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.443) >>
+>> endobj
+13008 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [150.224 301.481 167.16 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.442) >>
+>> endobj
+13009 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.343 289.526 175.28 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.442) >>
+>> endobj
+13010 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.607 277.571 179.544 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.442) >>
+>> endobj
+13011 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.005 265.616 267.941 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.443) >>
+>> endobj
+13012 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.195 253.661 196.132 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.461) >>
+>> endobj
+13013 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.071 241.706 200.007 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.463) >>
+>> endobj
+13014 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.57 230.468 189.506 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.460) >>
+>> endobj
+13015 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.445 218.512 193.382 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.461) >>
+>> endobj
+13016 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.896 205.84 187.833 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.461) >>
+>> endobj
+13017 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.772 193.885 191.708 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.462) >>
+>> endobj
+13018 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.646 181.93 238.582 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.463) >>
+>> endobj
+13019 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.02 169.975 231.957 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.461) >>
+>> endobj
+13020 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [213.347 158.019 230.283 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.462) >>
+>> endobj
+13021 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.684 146.064 273.62 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.473) >>
+>> endobj
+13022 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.789 134.109 274.726 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (page.473) >>
+>> endobj
+13023 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.676 122.154 182.612 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.466) >>
+>> endobj
+13024 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.398 110.199 195.334 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (page.466) >>
+>> endobj
+13025 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.393 98.244 239.329 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.470) >>
+>> endobj
+13026 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.968 86.288 221.905 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.468) >>
+>> endobj
+13027 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [434.172 719.912 451.108 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.468) >>
+>> endobj
+13028 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [493.509 707.957 510.445 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.471) >>
+>> endobj
+13029 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [474.132 696.002 491.068 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.472) >>
+>> endobj
+13030 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.995 684.764 428.932 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.457) >>
+>> endobj
+13031 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.603 672.809 429.539 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.457) >>
+>> endobj
+13032 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.302 660.136 424.239 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.474) >>
+>> endobj
+13033 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.79 648.899 387.726 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.457) >>
+>> endobj
+13034 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.597 636.943 380.533 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.460) >>
+>> endobj
+13035 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [456.428 624.271 473.365 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.470) >>
+>> endobj
+13036 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [476.353 624.271 493.29 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.476) >>
+>> endobj
+13037 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [432.617 612.316 449.554 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.475) >>
+>> endobj
+13038 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [423.92 600.361 440.856 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.475) >>
+>> endobj
+13039 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.073 588.405 387.009 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.459) >>
+>> endobj
+13040 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.056 576.45 449.992 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.466) >>
+>> endobj
+13041 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [452.981 576.45 469.917 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.467) >>
+>> endobj
+13042 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [445.778 564.495 462.714 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.467) >>
+>> endobj
+13043 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [465.703 564.495 482.639 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.468) >>
+>> endobj
+13044 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [419.497 552.54 436.433 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.472) >>
+>> endobj
+13045 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [372.444 541.302 389.38 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.476) >>
+>> endobj
+13046 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [406.764 528.63 423.701 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.465) >>
+>> endobj
+13047 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.264 516.674 413.2 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.457) >>
+>> endobj
+13048 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.431 504.719 504.367 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.471) >>
+>> endobj
+13049 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [468.054 492.764 484.99 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.472) >>
+>> endobj
+13050 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [425.026 480.809 441.962 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.474) >>
+>> endobj
+13051 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.684 469.571 386.62 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.457) >>
+>> endobj
+13052 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.609 469.571 406.545 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.458) >>
+>> endobj
+13053 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.03 457.616 384.966 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.458) >>
+>> endobj
+13054 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [387.955 457.616 404.892 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.459) >>
+>> endobj
+13055 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.778 445.661 361.714 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.460) >>
+>> endobj
+13056 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.084 432.988 396.021 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.477) >>
+>> endobj
+13057 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [423.103 421.033 440.039 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.465) >>
+>> endobj
+13058 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [398.476 409.078 415.412 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.465) >>
+>> endobj
+13059 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.329 397.123 393.266 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.454) >>
+>> endobj
+13060 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.254 397.123 413.191 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.456) >>
+>> endobj
+13061 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [426.67 385.168 443.606 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.463) >>
+>> endobj
+13062 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.545 373.212 447.482 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.464) >>
+>> endobj
+13063 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [420.044 361.975 436.981 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.463) >>
+>> endobj
+13064 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [423.92 350.019 440.856 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.464) >>
+>> endobj
+13065 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.522 338.064 400.458 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.456) >>
+>> endobj
+13066 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [467.885 325.392 484.821 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.474) >>
+>> endobj
+13067 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [437.449 313.437 454.386 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.474) >>
+>> endobj
+13068 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [454.226 301.481 471.162 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.465) >>
+>> endobj
+13069 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.254 289.526 413.19 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.460) >>
+>> endobj
+13070 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.765 277.571 367.702 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.476) >>
+>> endobj
+13071 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.69 277.571 387.627 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.477) >>
+>> endobj
+13072 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.87 265.616 424.806 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.469) >>
+>> endobj
+13073 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.877 254.378 393.813 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.464) >>
+>> endobj
+13074 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.194 241.706 397.131 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.469) >>
+>> endobj
+13075 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [457.822 229.75 474.759 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.477) >>
+>> endobj
+13076 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [387.945 206.557 404.882 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.483) >>
+>> endobj
+13077 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [359.163 194.602 376.1 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.482) >>
+>> endobj
+13078 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [388.284 181.93 405.221 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.483) >>
+>> endobj
+13079 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.084 169.975 396.021 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.484) >>
+>> endobj
+13080 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.824 158.019 391.761 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.484) >>
+>> endobj
+13081 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.15 146.064 438.087 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.483) >>
+>> endobj
+13082 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.568 134.109 385.505 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (page.482) >>
+>> endobj
+13083 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.765 122.154 367.702 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.484) >>
+>> endobj
+13084 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.852 110.199 429.788 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (page.483) >>
+>> endobj
+13085 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [449.773 98.244 466.71 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.483) >>
+>> endobj
+13086 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [479.501 86.288 496.437 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.484) >>
+>> endobj
+13088 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+13092 0 obj <<
+/D [13090 0 R /XYZ 90 757.935 null]
+>> endobj
+13089 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F11 446 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13183 0 obj <<
+/Length 1393      
+/Filter /FlateDecode
+>>
+stream
+x�͚]w�H����-���r��(�� A'�̜>Ll#g�Z0�Ϳ�n��c� tv�F񩷪���Yxd�W��kWݦ,��$�S���&T��O��r:�]���Q�d]�!��K����N�L��W
г� �_æ�T��=|��	=�Q�%�Ѕ�䪅�)*}�
^�&�+��C%�*���:�b-��32�l�ߣ z���f��`7"1�~��'�H4���C 4 �
�q�d���	W������)�`ث	
ʢ���T!�PqT�m
�G�J�!�!򼣋 ���>�C���]�B�
��
�,Z�(�ԁ,����/�׸ �߆e
��֜�q
ǐ�
+^�IlV��
�^ҫ�
��c>��
�
 %�N��K�44]B�z((^�O�Y�E��8��e!7��Ӂ����j��<�@�8�T�=��tN%���@V�p/o�0��_�JF&�t'E(���CdcA�ytd,�

�񫢠7$����vj�q-�	�1]��v���0�
Ȏ��M�y����ڸ}w���DӤ~�H/��[ٚ͟��Մ�[*���y�Yc�rY�
+�帮�‽�x�~V��{������ݿ�8�q!��k
=�|�����
n�Q��EB=�
���
Y��@�E�˯`�(��|K�j����-�
�Bō	�ɆZJzNу�I�E�]X����_��h���mOW�I8e:�$"K��q
>-�:����
+Q��M"o�<��ʢp8ń��;(ۑ�q���8n:N�:��v�˭g\UQ��z?��8|M���.�#��ATģ�M�Y�w}�E{�Aߵ�;˿��
+
�/�ߩ
$A�
ц)�CoV��s���2=�Kȍ�{(:
+*	A{U�i
 Cb����A��,F�#j��b���Vj�C�
O��?ZN5�mz
g�	��2ڀZ}�K�5���
.�l��������3�f�Y�7�����.Wl�^36�];�>X}w�y%_�{����ٵ
�Ù�y�r��L���UK�t��㸓�u����Y=g04yѶ��1�N���Q�F�jӽ�i��E�#�ڈ{4�t*)�P�Mǯ&ͳ���:#�9ʻ�����Jf��q��'��Zt�{f��`��]m�Ǹ=�YV�R����1�Xc��L�T�ši��ے�#МrF
�
Z�-
��ks�����:�s�(�˯�ycG��V��ޫ
+b(�ݜP�A�
fds�o��nxxh�UG��v�PD��KPRR���}?~��O`l��@��T���
hHf7 ��'�����wv����Nz0�I�[
B1N����9�����P��P$b�6�'e	 ���
��Q<B2WS����>�'V�=�@W$������m6�뫫���1����:����z=�:ޑ� hR[�t���(�>\ғ����$
�h��(p`d
+endstream
+endobj
+13182 0 obj <<
+/Type /Page
+/Contents 13183 0 R
+/Resources 13181 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12974 0 R
+/Annots [ 13087 0 R 13093 0 R 13094 0 R 13095 0 R 13096 0 R 13097 0 R 13098 0 R 13099 0 R 13100 0 R 13101 0 R 13102 0 R 13103 0 R 13104 0 R 13105 0 R 13106 0 R 13107 0 R 13108 0 R 13109 0 R 13110 0 R 13111 0 R 13112 0 R 13113 0 R 13114 0 R 13115 0 R 13116 0 R 13117 0 R 13118 0 R 13119 0 R 13120 0 R 13121 0 R 13122 0 R 13123 0 R 13124 0 R 13125 0 R 13126 0 R 13127 0 R 13128 0 R 13129 0 R 13130 0 R 13131 0 R 13132 0 R 13133 0 R 13134 0 R 13135 0 R 13136 0 R 13137 0 R 13138 0 R 13139 0 R 13 [...]
+>> endobj
+13087 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.792 708.674 191.728 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.485) >>
+>> endobj
+13093 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.878 696.002 192.814 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.485) >>
+>> endobj
+13094 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.575 684.047 294.511 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.486) >>
+>> endobj
+13095 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.878 672.092 192.814 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.487) >>
+>> endobj
+13096 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.877 660.136 264.813 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.487) >>
+>> endobj
+13097 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [238.262 648.181 255.199 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.487) >>
+>> endobj
+13098 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 636.943 145.79 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.490) >>
+>> endobj
+13099 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.603 624.271 179.539 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.490) >>
+>> endobj
+13100 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.532 612.316 199.469 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.489) >>
+>> endobj
+13101 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.105 601.078 164.042 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.489) >>
+>> endobj
+13102 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.324 588.405 297.261 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.184) >>
+>> endobj
+13103 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.851 576.45 276.788 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.490) >>
+>> endobj
+13104 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.603 564.495 179.539 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.491) >>
+>> endobj
+13105 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [168.694 553.257 185.631 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.491) >>
+>> endobj
+13106 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.669 517.392 221.606 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.366) >>
+>> endobj
+13107 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.595 517.392 241.531 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.370) >>
+>> endobj
+13108 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.133 492.764 295.069 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.399) >>
+>> endobj
+13109 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.819 469.571 208.774 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+13110 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.415 433.706 172.351 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.404) >>
+>> endobj
+13111 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.133 409.078 295.069 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.398) >>
+>> endobj
+13112 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.133 385.168 295.069 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.398) >>
+>> endobj
+13113 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.133 361.257 295.069 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.398) >>
+>> endobj
+13114 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.823 337.347 281.759 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.228) >>
+>> endobj
+13115 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 315.494 145.791 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.284) >>
+>> endobj
+13116 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.823 289.526 281.759 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.229) >>
+>> endobj
+13117 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.109 254.378 187.046 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.418) >>
+>> endobj
+13118 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.034 254.378 206.971 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.420) >>
+>> endobj
+13119 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 229.75 287.867 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.465) >>
+>> endobj
+13120 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 205.84 287.867 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.465) >>
+>> endobj
+13121 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 172.032 145.791 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.166) >>
+>> endobj
+13122 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 148.121 145.791 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.322) >>
+>> endobj
+13123 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [275.597 122.154 292.534 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.454) >>
+>> endobj
+13124 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 112.256 145.791 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (page.456) >>
+>> endobj
+13125 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.819 87.006 208.774 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+13126 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.151 708.674 433.106 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+13127 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.906 696.719 383.861 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+13128 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.924 684.764 378.88 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+13129 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.924 672.809 378.88 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+13130 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.924 660.854 378.88 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+13131 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [361.943 648.899 373.898 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+13132 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.155 636.943 376.11 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13133 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.647 624.645 375.602 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+13134 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [432.279 612.689 444.234 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+13135 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.871 601.078 419.826 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+13136 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.7 588.779 422.655 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+13137 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.292 577.168 398.247 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+13138 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [405.091 565.212 417.046 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+13139 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [401.216 553.257 413.171 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+13140 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [388.703 540.958 400.658 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+13141 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.401 529.347 470.356 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+13142 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [455.083 517.392 467.038 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+13143 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [447.99 505.437 459.945 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+13144 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [446.864 493.481 458.819 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+13145 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [424.189 481.526 436.144 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+13146 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.428 469.571 476.383 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+13147 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [401.027 457.616 412.982 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+13148 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [408.02 445.661 419.975 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+13149 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.288 433.706 447.243 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+13150 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.391 421.75 470.346 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+13151 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.124 409.795 395.079 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+13152 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [450.491 397.84 462.446 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+13153 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [442.192 385.885 454.147 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+13154 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [467.806 373.93 479.761 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+13155 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [465.604 361.975 477.559 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+13156 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [462.286 350.019 474.241 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+13157 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.647 338.064 391.602 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13158 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.3 326.109 393.256 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+13159 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.304 314.154 424.259 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13160 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.865 302.199 402.82 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13161 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.329 290.243 388.284 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13162 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.846 277.945 367.801 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13163 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [441.066 265.989 453.021 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13164 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.325 254.034 445.28 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13165 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.846 242.423 367.801 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13166 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.846 230.468 367.801 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13167 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [441.066 218.512 453.021 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13168 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.099 206.557 391.054 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13169 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [406.207 194.602 418.162 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13170 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [402.331 182.647 414.287 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13171 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.84 170.692 398.795 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13172 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [416.329 158.737 428.284 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13173 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [404.005 146.781 415.96 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13174 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.74 134.826 366.695 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13175 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [361.933 122.871 373.888 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13176 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [353.824 110.916 365.779 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13177 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.855 98.961 386.81 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13178 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [431.303 87.006 443.258 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13180 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+13184 0 obj <<
+/D [13182 0 R /XYZ 90 757.935 null]
+>> endobj
+13181 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F11 446 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13255 0 obj <<
+/Length 1425      
+/Filter /FlateDecode
+>>
+stream
+x��Z[w�8~���m�
� a�[.��m�)�mv�

b+6��V��_	p�vm�!��%��ͧ�73 � 
z�^��m�l�.x��	��e�@��
+��о��;A�
���+n ������Av�x�徊�IԻ�
+�)��N �j²x*4Ee��0�}�M&
�?&�c	}E���J������m���џ��4�U
�AO�?Su��_�`� �M�eK*/��0VW��Ğ�d�ooF���x����c�-��5�G��]��9܋s��wF�W�w-ǵƖ�I�*^\ޜ:]g�T����ૻ;
�9���?!E��{���ic"A$~OI����'~J�$��E��Agu�̣ýL�L���3B�'@\��Js�
 j��/�G�qԘKRJ2�ê3�o?��<�|���UB
�O�s�I�x����(
����
+�,�F�zL��l�$j��xtL��K�	3g�l9�J
���Y�tA���
��䁍���
c��A�(Ĉo�)�6����x,���7
��n~� ·�Fn
�vtR��vk�=�\�Ӱ�x�#�$,�t��
��[8�$[�
C��*�g�:�'jb���<���Zt���-5�,�T
+\��#��j�#����

6�˃O#;I���)��M�@}�z�f#�
�R��۠*�;�TS6�K
�=�r����끅��
^����)�)�j�y!AE�wv�g�y�����ѷ)e�o�<^W=>�l+���i�<FOߠ��$\��ўg���� l�%���z���U�5�tU�uE{yO��Ѫ�n���b�cJ��F��ɫ$���'$�g��r

	h�MRi
�,�>�����i�ؙ���zk�PUEmRݎ�
�}�b
v��{<���;M=���GƑ��[:E3�͔��3�Q�y{�VD;�_&��d����������^��~��Œ@�4B}ne��x�쇋�y`N&��r����"z �i���UU�[gs��.�5pl��i�-% �j�A��'�\��|����4*S���
���O�,�Y��~������q���Լ�
��
2��7�0DuGu�b�0�4���k��&�?Kb?���ފ�Pc��[U�7Hה�m��T��LU$�?l'(�h���$o�M"oM�1-��
+
�<��T��e��6�)�]���4����%�
�9��Պ�gz�
�`�j>�P�|B�i�g�鰓�4�k
+�n�Wu][O8e�R�j���N��c$?�b.����!u�4�ߝPy�~U��
-{��
���/i���/ۺQ,z~�^��e��էud�Uݻ7'Ra��~u�
CyZ
�<�Ț�?$�Ĭ<���������:3�}��"�!d7�,��lm=~�_(��MX����l���"v���?������r��'��
+AJ� ?O��|�y;c�P���\�<&���rW
1�{��s���42m
+endstream
+endobj
+13254 0 obj <<
+/Type /Page
+/Contents 13255 0 R
+/Resources 13253 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12974 0 R
+/Annots [ 13179 0 R 13185 0 R 13186 0 R 13187 0 R 13188 0 R 13189 0 R 13190 0 R 13191 0 R 13192 0 R 13193 0 R 13194 0 R 13195 0 R 13196 0 R 13197 0 R 13198 0 R 13199 0 R 13200 0 R 13201 0 R 13202 0 R 13203 0 R 13204 0 R 13205 0 R 13206 0 R 13207 0 R 13208 0 R 13209 0 R 13210 0 R 13211 0 R 13212 0 R 13213 0 R 13214 0 R 13215 0 R 13216 0 R 13217 0 R 13218 0 R 13219 0 R 13220 0 R 13221 0 R 13222 0 R 13223 0 R 13224 0 R 13225 0 R 13226 0 R 13227 0 R 13228 0 R 13229 0 R 13230 0 R 13231 0 R 13 [...]
+>> endobj
+13179 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.923 720.63 191.878 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13185 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.315 708.674 159.27 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13186 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.365 696.719 151.32 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13187 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.58 684.764 192.535 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13188 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.406 672.465 188.361 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13189 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.23 660.854 275.185 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13190 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.028 648.899 272.983 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13191 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.466 636.943 233.422 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13192 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.607 612.316 262.562 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+13193 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.8 600.361 261.755 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+13194 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.335 588.405 284.29 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+13195 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.078 576.45 249.033 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+13196 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.935 565.212 169.89 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.65) >>
+>> endobj
+13197 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [187.384 552.54 199.339 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+13198 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.307 540.585 209.262 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13199 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.561 528.63 189.516 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.65) >>
+>> endobj
+13200 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.725 516.674 201.68 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.65) >>
+>> endobj
+13201 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [199.708 505.437 211.663 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+13202 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.716 492.764 206.671 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+13203 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.39 481.526 208.345 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+13204 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.225 469.571 191.18 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.65) >>
+>> endobj
+13205 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.969 457.616 229.924 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.64) >>
+>> endobj
+13206 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.411 445.661 229.367 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.64) >>
+>> endobj
+13207 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [230.692 433.706 242.647 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.64) >>
+>> endobj
+13208 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.658 421.033 195.613 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13209 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.374 409.795 151.33 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13210 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.474 397.123 183.429 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+13211 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.819 373.93 208.774 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.65) >>
+>> endobj
+13212 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.819 350.019 208.774 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.64) >>
+>> endobj
+13213 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.819 326.109 208.774 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.64) >>
+>> endobj
+13214 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.819 302.199 208.774 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.64) >>
+>> endobj
+13215 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 267.673 145.791 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.311) >>
+>> endobj
+13216 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 231.808 145.791 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.311) >>
+>> endobj
+13217 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 195.942 145.791 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.311) >>
+>> endobj
+13218 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 160.077 145.791 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.311) >>
+>> endobj
+13219 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 124.092 145.791 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.409) >>
+>> endobj
+13220 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.133 98.244 295.069 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.401) >>
+>> endobj
+13221 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 710.014 362.272 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.410) >>
+>> endobj
+13222 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.273 672.809 408.209 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.199) >>
+>> endobj
+13223 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.273 648.899 408.209 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.219) >>
+>> endobj
+13224 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 626.328 362.272 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.323) >>
+>> endobj
+13225 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.864 600.361 455.8 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.485) >>
+>> endobj
+13226 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 578.508 362.272 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.487) >>
+>> endobj
+13227 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 552.54 475.018 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.145) >>
+>> endobj
+13228 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 528.63 475.018 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.146) >>
+>> endobj
+13229 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 484.859 362.272 493.705]
+/Subtype /Link
+/A << /S /GoTo /D (page.184) >>
+>> endobj
+13230 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [496.109 470.846 513.045 481.75]
+/Subtype /Link
+/A << /S /GoTo /D (page.240) >>
+>> endobj
+13231 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.304 446.936 498.241 457.84]
+/Subtype /Link
+/A << /S /GoTo /D (page.228) >>
+>> endobj
+13232 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.304 423.026 498.241 433.93]
+/Subtype /Link
+/A << /S /GoTo /D (page.228) >>
+>> endobj
+13233 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 399.115 501.578 410.019]
+/Subtype /Link
+/A << /S /GoTo /D (page.123) >>
+>> endobj
+13234 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 387.16 475.018 398.064]
+/Subtype /Link
+/A << /S /GoTo /D (page.159) >>
+>> endobj
+13235 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.569 375.205 511.506 386.109]
+/Subtype /Link
+/A << /S /GoTo /D (page.230) >>
+>> endobj
+13236 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 365.307 362.272 374.154]
+/Subtype /Link
+/A << /S /GoTo /D (page.231) >>
+>> endobj
+13237 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 340.057 362.272 350.243]
+/Subtype /Link
+/A << /S /GoTo /D (page.355) >>
+>> endobj
+13238 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.261 340.057 382.197 350.243]
+/Subtype /Link
+/A << /S /GoTo /D (page.356) >>
+>> endobj
+13239 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [472.208 315.429 489.145 326.333]
+/Subtype /Link
+/A << /S /GoTo /D (page.296) >>
+>> endobj
+13240 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 281.621 362.272 290.468]
+/Subtype /Link
+/A << /S /GoTo /D (page.354) >>
+>> endobj
+13241 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [472.208 255.653 489.145 266.557]
+/Subtype /Link
+/A << /S /GoTo /D (page.296) >>
+>> endobj
+13242 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 231.743 501.578 242.647]
+/Subtype /Link
+/A << /S /GoTo /D (page.108) >>
+>> endobj
+13243 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 219.788 475.018 230.692]
+/Subtype /Link
+/A << /S /GoTo /D (page.145) >>
+>> endobj
+13244 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 207.833 476.672 218.737]
+/Subtype /Link
+/A << /S /GoTo /D (page.263) >>
+>> endobj
+13245 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 185.98 362.272 194.826]
+/Subtype /Link
+/A << /S /GoTo /D (page.342) >>
+>> endobj
+13246 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.151 160.729 438.087 170.916]
+/Subtype /Link
+/A << /S /GoTo /D (page.375) >>
+>> endobj
+13247 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.59 136.819 403.527 147.005]
+/Subtype /Link
+/A << /S /GoTo /D (page.427) >>
+>> endobj
+13248 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 124.146 504.348 135.05]
+/Subtype /Link
+/A << /S /GoTo /D (page.463) >>
+>> endobj
+13249 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 100.236 501.578 111.14]
+/Subtype /Link
+/A << /S /GoTo /D (page.109) >>
+>> endobj
+13250 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 88.281 475.018 99.185]
+/Subtype /Link
+/A << /S /GoTo /D (page.145) >>
+>> endobj
+13252 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+13256 0 obj <<
+/D [13254 0 R /XYZ 90 757.935 null]
+>> endobj
+13253 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13322 0 obj <<
+/Length 1183      
+/Filter /FlateDecode
+>>
+stream
+x��Zm��H����i�-;� ��v�,s��)[�j��B
�
�0���^L"��,�n�>���O���� i*�Y��*��@2e+X�&�	$
C)P���s�թ7����;I�
��% ��Jê|�@>
$�\�tYW���+��4���$ ��!���撦��ד��+�g$\�$�$]Qe�Q��W��j��Mz����1�ɣ;b6[��5�;�=��a�
V�Y��o�
+ֲR���B�D"�NdO���`f/�^U0�������f�Y�gF��ykr�,�.!}:^:tLz,��GT

�E���4:���T]Q�O;HS��=�M�1]�pHu�m]�~ @�)Y�ь8�F��&����}�H��� 0�G�}���xm�/O4�V���
����

_�h�	D
Kf�y��]�������4����>���
|2X�G���_�G�0
�
�&5��s�O
Q=S�4zCEÜ߹�*��BCpr8	d	���¼R�UK�W���
-�(��Xtω
���/��v��8��s��
� ����_����2.8��؝S?�t,��*��J�_�s��������7Zi
�m
�
����>��m�2�N��*cE�I���ÿ �P���>����Ey�)	��P	�C'�bT��U��
+�o7�
��Q����e�����ю 2� �>
�^�_���\N����%%خ¶����j0j�v�:uR��TT}�9�r"��
C����D��
�n<�H�Ѩ7��D2������� �U�ս��<���,A���.�]Ⴁ�
+
��K�;�X�Ja��=�
Sb�X��l�Z] 04�%ɋ7��8nXN"�%1�`�/u"7vO�RN��S4��ݵ[���yt��
	櫱j��/=���d��$�QL�M
��aF�O1�x��Y�G6�<
x�St��'~�!x�t�]ȃ@�:
S�ɀ��F�(���=6ڍ�u��8hź��a���D�Ԇ�|ṓ5Y�q
;Av��k���k�Kt��}g�I<6��.� ~� 
˦�٫ ���l�j�h-��݆�pcHz�Y�
<���VC���m�_�$��? ҌŒ
�LB��k7*_�����]�������'��Pd�g��fQ����]�V��K�]0ٍn
�v�y9�!�d
�)<C���|
��\�2N��$��o�G�o
+endstream
+endobj
+13321 0 obj <<
+/Type /Page
+/Contents 13322 0 R
+/Resources 13320 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12974 0 R
+/Annots [ 13251 0 R 13257 0 R 13258 0 R 13259 0 R 13260 0 R 13261 0 R 13262 0 R 13263 0 R 13264 0 R 13265 0 R 13266 0 R 13267 0 R 13268 0 R 13269 0 R 13270 0 R 13271 0 R 13272 0 R 13273 0 R 13274 0 R 13275 0 R 13276 0 R 13277 0 R 13278 0 R 13279 0 R 13280 0 R 13281 0 R 13282 0 R 13283 0 R 13284 0 R 13285 0 R 13286 0 R 13287 0 R 13288 0 R 13289 0 R 13290 0 R 13291 0 R 13292 0 R 13293 0 R 13294 0 R 13295 0 R 13296 0 R 13297 0 R 13298 0 R 13299 0 R 13300 0 R 13301 0 R 13302 0 R 13303 0 R 13 [...]
+>> endobj
+13251 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 719.912 260.191 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.264) >>
+>> endobj
+13257 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 698.059 145.791 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.342) >>
+>> endobj
+13258 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.669 672.809 221.606 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.375) >>
+>> endobj
+13259 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.109 648.899 187.046 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.428) >>
+>> endobj
+13260 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 636.226 287.867 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.464) >>
+>> endobj
+13261 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 612.316 285.097 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.108) >>
+>> endobj
+13262 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 600.361 258.537 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.144) >>
+>> endobj
+13263 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 588.405 260.191 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.264) >>
+>> endobj
+13264 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 566.552 145.791 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.341) >>
+>> endobj
+13265 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.669 541.302 221.606 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.374) >>
+>> endobj
+13266 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.109 517.392 187.046 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.426) >>
+>> endobj
+13267 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 504.719 287.867 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.463) >>
+>> endobj
+13268 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 480.809 285.097 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.109) >>
+>> endobj
+13269 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 468.854 258.537 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.144) >>
+>> endobj
+13270 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 456.899 260.191 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.264) >>
+>> endobj
+13271 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 435.046 145.791 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.342) >>
+>> endobj
+13272 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.669 409.795 221.606 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.376) >>
+>> endobj
+13273 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.109 385.885 187.046 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.427) >>
+>> endobj
+13274 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 373.212 287.867 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.464) >>
+>> endobj
+13275 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.819 350.019 208.774 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13276 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.088 325.392 295.024 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.105) >>
+>> endobj
+13277 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 315.494 145.791 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.106) >>
+>> endobj
+13278 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 301.481 258.537 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.138) >>
+>> endobj
+13279 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.526 301.481 278.462 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.139) >>
+>> endobj
+13280 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 279.628 145.791 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.336) >>
+>> endobj
+13281 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.109 254.378 187.046 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.425) >>
+>> endobj
+13282 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 241.706 287.867 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.456) >>
+>> endobj
+13283 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.627 217.795 296.564 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.240) >>
+>> endobj
+13284 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 193.885 285.097 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.120) >>
+>> endobj
+13285 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 181.93 258.537 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.156) >>
+>> endobj
+13286 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 169.975 260.191 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.275) >>
+>> endobj
+13287 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 148.121 145.791 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.353) >>
+>> endobj
+13288 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.669 122.871 221.606 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.384) >>
+>> endobj
+13289 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.109 98.961 187.046 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.436) >>
+>> endobj
+13290 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 86.288 287.867 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.474) >>
+>> endobj
+13291 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 707.957 501.578 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.120) >>
+>> endobj
+13292 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 696.002 475.018 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.155) >>
+>> endobj
+13293 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 684.047 476.672 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.275) >>
+>> endobj
+13294 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 662.194 362.272 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.352) >>
+>> endobj
+13295 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.151 636.943 438.087 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.384) >>
+>> endobj
+13296 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.59 613.033 403.527 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.435) >>
+>> endobj
+13297 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 600.361 504.348 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.474) >>
+>> endobj
+13298 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.935 576.45 447.89 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.80) >>
+>> endobj
+13299 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 553.257 425.255 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13300 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.935 528.63 447.89 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.78) >>
+>> endobj
+13301 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.935 504.719 447.89 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.78) >>
+>> endobj
+13302 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 481.526 425.255 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+13303 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 457.616 425.255 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+13304 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 433.706 425.255 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+13305 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 409.795 425.255 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+13306 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 385.885 425.255 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+13307 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 361.975 425.255 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+13308 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.748 327.384 494.684 338.288]
+/Subtype /Link
+/A << /S /GoTo /D (page.482) >>
+>> endobj
+13309 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 303.474 475.018 314.378]
+/Subtype /Link
+/A << /S /GoTo /D (page.157) >>
+>> endobj
+13310 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.935 279.564 447.89 290.468]
+/Subtype /Link
+/A << /S /GoTo /D (page.80) >>
+>> endobj
+13311 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 245.755 362.272 254.602]
+/Subtype /Link
+/A << /S /GoTo /D (page.314) >>
+>> endobj
+13312 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.935 219.788 447.89 230.692]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+13313 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 185.98 362.272 194.826]
+/Subtype /Link
+/A << /S /GoTo /D (page.181) >>
+>> endobj
+13314 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [489.613 160.012 506.55 170.916]
+/Subtype /Link
+/A << /S /GoTo /D (page.191) >>
+>> endobj
+13315 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 136.819 425.255 147.005]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+13316 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 112.909 425.255 123.095]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+13317 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 88.281 501.578 99.185]
+/Subtype /Link
+/A << /S /GoTo /D (page.111) >>
+>> endobj
+13319 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+13323 0 obj <<
+/D [13321 0 R /XYZ 90 757.935 null]
+>> endobj
+13320 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13390 0 obj <<
+/Length 1226      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�8~�W�m���H��K�6
��
Ngw�
�<��ʢ���+c�	.`���lY�9�;:Wh

hW�
�����gx6�5�A�����j�\��F����/�G���-��=��Ý���ցbhp�6v
���,���\�Ԁaz���͊5
��?�&�O
���'�k�5��qAu�C�
X
�qm�t�r
NY������w<̰E���UG�?Ct��
+���
B��2�_�p^�>����N�w
�Q

��s3��"M��L���
%s����M��'|�7˖ ?NÄg���ݶ:De��(l(�j��Lp�!,�P1�&u�l|�ާ��њ�i�$
n��`L�,�F4��@9n������(k(���}��Z�#��uw�d�Λك����g�V��
+f��Ø&���!���:�P<
I
"�'�7�1N�,
-7�%�}�!��9��)e������^
�$�����	�۴�
,��ͻG�|�Ɖ;�����)�N�@����OK��$�,^�N<��c�G[2K.V��quqY>ʈ
"�L at G'U�
��;Z�Vv��C
����h{K�뙰`�l�E�&3
K=�
� �� �o�HZX�,H�
+rQ�mm�
��ɬ��<)����x
���/�
+
�����^�	
�	���X1����d�-�$lrd���c���K�po����M��5�D��'ی�f��sU˥��R���*2��"W��ʶ���i6�$����0��$�ujG)��4�,�i�W�����<����tOy���
G�aB�Q=rm��ր�2�
T��Q�y���[.GU
�
\m (o�F�wE�&V��h����oW���wz(��
+}>ew'��{�۵��޻�6ڻ����ȸ�
+2$�A���A��N3N�������5Fd:X!�5��2̄1%4
+V��4j�����*I�D;��=�p��C���R7�W��H��_�Q��
I�Cd
+z�r���)ے0!ӭ��vVִ�H
�
s���Cd�dv�����=ՠ(5��.�nW�%��ul�H�Uj8�S]c
A�y��]�܍.��d�>��7���޻Փw�ݭ y��x�n�c���?�Di^�����;�~bQ�>Rܖ�7we��w��~$� *��G�lw���4�3Sl�	����\_�ǫ���3n��
 F������{��fc�2c��+f���ZE�=�*2�xl8�{\�!e_�W�҇�C��ͳ�
+��VΡ7
+endstream
+endobj
+13389 0 obj <<
+/Type /Page
+/Contents 13390 0 R
+/Resources 13388 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12974 0 R
+/Annots [ 13318 0 R 13324 0 R 13325 0 R 13326 0 R 13327 0 R 13328 0 R 13329 0 R 13330 0 R 13331 0 R 13332 0 R 13333 0 R 13334 0 R 13335 0 R 13336 0 R 13337 0 R 13338 0 R 13339 0 R 13340 0 R 13341 0 R 13342 0 R 13343 0 R 13344 0 R 13345 0 R 13346 0 R 13347 0 R 13348 0 R 13349 0 R 13350 0 R 13351 0 R 13352 0 R 13353 0 R 13354 0 R 13355 0 R 13356 0 R 13357 0 R 13358 0 R 13359 0 R 13360 0 R 13361 0 R 13362 0 R 13363 0 R 13364 0 R 13365 0 R 13366 0 R 13367 0 R 13368 0 R 13369 0 R 13370 0 R 13 [...]
+>> endobj
+13318 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 719.912 258.537 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.148) >>
+>> endobj
+13324 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 707.957 260.191 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.267) >>
+>> endobj
+13325 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.727 696.002 272.664 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.295) >>
+>> endobj
+13326 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 674.149 145.791 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.344) >>
+>> endobj
+13327 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.109 648.899 187.046 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.430) >>
+>> endobj
+13328 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 636.226 287.867 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.465) >>
+>> endobj
+13329 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.133 612.316 295.069 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.401) >>
+>> endobj
+13330 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 578.508 145.791 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.315) >>
+>> endobj
+13331 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.133 564.495 295.069 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.401) >>
+>> endobj
+13332 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 542.522 145.791 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.409) >>
+>> endobj
+13333 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.188 516.674 275.124 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.489) >>
+>> endobj
+13334 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 482.866 145.791 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.180) >>
+>> endobj
+13335 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.627 468.854 296.564 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.242) >>
+>> endobj
+13336 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [105.611 457.616 117.566 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.87) >>
+>> endobj
+13337 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.506 432.988 283.443 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.210) >>
+>> endobj
+13338 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 409.078 285.097 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.105) >>
+>> endobj
+13339 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 397.123 258.537 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.142) >>
+>> endobj
+13340 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 385.168 260.191 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.261) >>
+>> endobj
+13341 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 363.315 145.791 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.336) >>
+>> endobj
+13342 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.669 338.064 221.606 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.374) >>
+>> endobj
+13343 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.109 314.154 187.046 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.425) >>
+>> endobj
+13344 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 301.481 287.867 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.460) >>
+>> endobj
+13345 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.132 277.571 290.068 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.192) >>
+>> endobj
+13346 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 243.643 145.791 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.179) >>
+>> endobj
+13347 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.627 229.75 296.564 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.241) >>
+>> endobj
+13348 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.109 205.84 195.046 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.306) >>
+>> endobj
+13349 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 181.93 285.097 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.125) >>
+>> endobj
+13350 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 160.077 145.791 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.183) >>
+>> endobj
+13351 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.132 146.064 290.068 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+13352 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.175 122.154 180.112 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.198) >>
+>> endobj
+13353 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.506 110.199 283.443 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (page.214) >>
+>> endobj
+13354 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.175 86.288 180.112 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.218) >>
+>> endobj
+13355 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.719 719.912 507.655 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.222) >>
+>> endobj
+13356 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.304 707.957 498.241 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.230) >>
+>> endobj
+13357 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.656 684.047 396.593 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.238) >>
+>> endobj
+13358 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 672.092 476.672 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.277) >>
+>> endobj
+13359 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 650.239 362.272 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.286) >>
+>> endobj
+13360 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.656 624.271 396.593 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.291) >>
+>> endobj
+13361 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [472.208 612.316 489.145 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.297) >>
+>> endobj
+13362 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.59 588.405 411.527 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.307) >>
+>> endobj
+13363 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 566.552 362.272 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.316) >>
+>> endobj
+13364 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 542.642 362.272 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.357) >>
+>> endobj
+13365 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.151 517.392 438.087 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.387) >>
+>> endobj
+13366 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.614 504.719 511.551 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.402) >>
+>> endobj
+13367 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.59 481.526 403.527 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.438) >>
+>> endobj
+13368 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.569 468.854 511.506 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.476) >>
+>> endobj
+13369 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 458.956 362.272 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.477) >>
+>> endobj
+13370 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.748 444.943 494.684 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.484) >>
+>> endobj
+13371 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.935 411.07 447.89 421.974]
+/Subtype /Link
+/A << /S /GoTo /D (page.80) >>
+>> endobj
+13372 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.935 387.16 447.89 398.064]
+/Subtype /Link
+/A << /S /GoTo /D (page.81) >>
+>> endobj
+13373 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 363.25 501.578 374.154]
+/Subtype /Link
+/A << /S /GoTo /D (page.114) >>
+>> endobj
+13374 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 351.295 475.018 362.199]
+/Subtype /Link
+/A << /S /GoTo /D (page.151) >>
+>> endobj
+13375 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 339.339 476.672 350.243]
+/Subtype /Link
+/A << /S /GoTo /D (page.270) >>
+>> endobj
+13376 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 317.486 362.272 326.333]
+/Subtype /Link
+/A << /S /GoTo /D (page.348) >>
+>> endobj
+13377 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.151 292.236 438.087 302.423]
+/Subtype /Link
+/A << /S /GoTo /D (page.382) >>
+>> endobj
+13378 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.59 268.326 403.527 278.512]
+/Subtype /Link
+/A << /S /GoTo /D (page.433) >>
+>> endobj
+13379 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 255.653 504.348 266.557]
+/Subtype /Link
+/A << /S /GoTo /D (page.469) >>
+>> endobj
+13380 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 221.845 362.272 230.692]
+/Subtype /Link
+/A << /S /GoTo /D (page.177) >>
+>> endobj
+13381 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [496.109 207.833 513.045 218.737]
+/Subtype /Link
+/A << /S /GoTo /D (page.240) >>
+>> endobj
+13382 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 174.024 362.272 182.871]
+/Subtype /Link
+/A << /S /GoTo /D (page.178) >>
+>> endobj
+13383 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [482.988 148.057 499.924 158.961]
+/Subtype /Link
+/A << /S /GoTo /D (page.209) >>
+>> endobj
+13384 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.304 136.102 498.241 147.005]
+/Subtype /Link
+/A << /S /GoTo /D (page.228) >>
+>> endobj
+13385 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 114.249 362.272 123.095]
+/Subtype /Link
+/A << /S /GoTo /D (page.284) >>
+>> endobj
+13387 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+13391 0 obj <<
+/D [13389 0 R /XYZ 90 757.935 null]
+>> endobj
+13388 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13452 0 obj <<
+/Length 1059      
+/Filter /FlateDecode
+>>
+stream
+x�ݙ[s�H�����P5b7��#��Q$�nv2S]DIB��
�N��6'�0��S�`A7x��s�r�i
�F�i��UtA�"��!P1g�1n���g CM�
+���
(HJ������h-(���
+����q�
���
� �Xgo-�,J�:v��I��齨 U���\ղ������A�E<��;�>e 9A�X���
p��a�x�+�&�
7t�0�
+�a'����e�X<R87Z��
+��O�,rI߿������!���<�Dsԭ]�;��_2�
�,s�
+j��"dHƻ"�0�k��F��¾��r�u���}
w^�H����ߝϟI��y��ԛ+
+�MRIU�
�Q{IӦ�B^T����*�dQ{;P^UZX�1D��qi��}�
z�F�
�!-��sM[,3�a�M��m�V׊���F��Z��z9s���|���+�����‘Ac��*f�w`I4�B'���sW�gvxI�"�#G�ʆ���|p.��܇�`F�8�K�O��d����s��z�r�}s~].;Aꨟ�4�ք�ߧ��@���;Mζ���;8>{�?�b�ctp��!-W����ClgD���_
+LH�7!_�|!t8_�O�X�_,
7nΩ��:XPh<���{���bsl��y�3{ۡ��
+�(��gÀ7
]���]��*�F�[��b�>��\v:镕|:���w�
;�<��%���2��6����L3}6�[��E�a�L��/�Y崟
t�k�o3��pi�p�4X�!Oߝ���0u�O��7#
C��L��B��#��{3E`\�d
��NcsdX#�6L��%��$5�!���ӏ���mIwLT�I�:�m1&����,�S���:1���z>LWA���`s�?5�Z���yh�9,ł�JZql��t[(�Γ�g�?���>/.�q�E���yy�+w���
+�75�Eq��=��B���D;��y���_��ݗ�YܢE�(@ZS
%?%���Z���4V���?i-���N��|FHT�o�<�Q�{?��
7��/�X������b
+endstream
+endobj
+13451 0 obj <<
+/Type /Page
+/Contents 13452 0 R
+/Resources 13450 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13454 0 R
+/Annots [ 13386 0 R 13392 0 R 13393 0 R 13394 0 R 13395 0 R 13396 0 R 13397 0 R 13398 0 R 13399 0 R 13400 0 R 13401 0 R 13402 0 R 13403 0 R 13404 0 R 13405 0 R 13406 0 R 13407 0 R 13408 0 R 13409 0 R 13410 0 R 13411 0 R 13412 0 R 13413 0 R 13414 0 R 13415 0 R 13416 0 R 13417 0 R 13418 0 R 13419 0 R 13420 0 R 13421 0 R 13422 0 R 13423 0 R 13424 0 R 13425 0 R 13426 0 R 13427 0 R 13428 0 R 13429 0 R 13430 0 R 13431 0 R 13432 0 R 13433 0 R 13434 0 R 13435 0 R 13436 0 R 13437 0 R 13438 0 R 13 [...]
+>> endobj
+13386 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.819 720.63 208.774 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+13392 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.088 696.002 295.024 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.109) >>
+>> endobj
+13393 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 686.104 145.791 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.110) >>
+>> endobj
+13394 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 672.092 258.537 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.146) >>
+>> endobj
+13395 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 660.136 260.191 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.265) >>
+>> endobj
+13396 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 638.283 145.791 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.343) >>
+>> endobj
+13397 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.669 613.033 221.606 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.377) >>
+>> endobj
+13398 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.109 589.123 187.046 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.428) >>
+>> endobj
+13399 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 576.45 287.867 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.464) >>
+>> endobj
+13400 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.819 553.257 208.774 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+13401 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.819 529.347 208.774 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+13402 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.819 505.437 208.774 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13403 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.819 481.526 208.774 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+13404 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.415 445.661 172.351 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.404) >>
+>> endobj
+13405 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 411.016 145.791 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.409) >>
+>> endobj
+13406 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 385.168 285.097 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.110) >>
+>> endobj
+13407 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 373.212 258.537 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.147) >>
+>> endobj
+13408 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 361.257 260.191 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.266) >>
+>> endobj
+13409 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 339.404 145.791 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.343) >>
+>> endobj
+13410 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.669 314.154 221.606 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.378) >>
+>> endobj
+13411 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.266 301.481 278.203 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.483) >>
+>> endobj
+13412 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 277.571 285.097 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.110) >>
+>> endobj
+13413 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 265.616 258.537 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.147) >>
+>> endobj
+13414 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 253.661 260.191 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.266) >>
+>> endobj
+13415 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 231.808 145.791 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.344) >>
+>> endobj
+13416 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.669 206.557 221.606 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.378) >>
+>> endobj
+13417 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.266 193.885 278.203 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.483) >>
+>> endobj
+13418 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.819 160.729 208.774 170.916]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13419 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.819 136.819 208.774 147.005]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13420 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.819 112.909 208.774 123.095]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13421 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.819 88.998 208.774 99.185]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13422 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 708.674 425.255 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13423 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 684.764 425.255 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13424 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 660.854 425.255 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13425 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 636.943 425.255 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13426 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 613.033 425.255 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13427 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 589.123 425.255 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13428 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 565.212 425.255 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13429 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 541.302 425.255 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13430 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 517.392 425.255 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13431 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 493.481 425.255 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13432 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 469.571 425.255 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13433 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 445.661 425.255 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13434 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 421.75 425.255 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13435 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 397.84 425.255 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13436 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 373.93 425.255 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13437 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 350.019 425.255 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13438 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 326.109 425.255 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13439 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 302.199 425.255 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13440 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 278.288 425.255 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13441 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 254.378 425.255 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13442 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 230.468 425.255 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13443 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 206.557 425.255 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13444 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 182.647 425.255 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13445 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 158.737 425.255 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+13446 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [474.669 134.109 491.606 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (page.489) >>
+>> endobj
+13447 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [496.258 110.199 513.194 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (page.491) >>
+>> endobj
+13448 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.935 86.288 447.89 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.78) >>
+>> endobj
+13449 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+13453 0 obj <<
+/D [13451 0 R /XYZ 90 757.935 null]
+>> endobj
+13450 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13479 0 obj <<
+/Length 661       
+/Filter /FlateDecode
+>>
+stream
+x�ŗas�0���)�np7cH��kW�Y�Jw�u=.Tn,�X��"��:W���+�'���=� ��v�i�+��0�̀���0�/ wzop��`�{o��
�(����uX�x�W
�(�ZMmh�L���=������j�XĔ�L�
=&���$Ą�Q���`�T?T8X�$�0�.���
Lu.�����"
���g����
+VQ�y�;�j�E(�m�
W4Rv���`8�>�`Կ����Uo��>���^�c�w�G��?����7'L����M�~��O�{�p�~J�/�=���Q�e��?[%�g�@����()��[�ֳ���A�^�BNk��L{�t�C������d��<���q�]
4�&�4�o�Q�E����	w�a����?�l4d:�)�j�R��Y�\\������~��!9��M���A�
�?�|�&<npj�=7��_c���;v�sg>H�Ҥ);�Xm��1?n
���0
/R�79l
�O��1s�7���A�A�6�� L]H�����Q��,��njSݺ@չ�C�ʠT�U��'+
��'Dѷ��� Q�� ��
����>	útU��i�[�@�G��!�H���(���.�Ns�J�L��hgY��2s�f�-hcw�2K��Z���>Jdp�
�
����? �<
+endstream
+endobj
+13478 0 obj <<
+/Type /Page
+/Contents 13479 0 R
+/Resources 13477 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13454 0 R
+/Annots [ 13455 0 R 13456 0 R 13457 0 R 13458 0 R 13459 0 R 13460 0 R 13461 0 R 13462 0 R 13463 0 R 13464 0 R 13465 0 R 13466 0 R 13467 0 R 13468 0 R 13469 0 R 13470 0 R 13471 0 R 13472 0 R 13473 0 R 13474 0 R 13475 0 R 13476 0 R ]
+>> endobj
+13455 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 707.957 231.409 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.78) >>
+>> endobj
+13456 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 684.047 231.409 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.78) >>
+>> endobj
+13457 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 660.136 231.409 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.78) >>
+>> endobj
+13458 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 636.226 231.409 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+13459 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 612.316 231.409 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+13460 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 588.405 231.409 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+13461 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 564.495 231.409 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+13462 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 540.585 231.409 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+13463 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 516.674 231.409 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+13464 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 492.764 231.409 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+13465 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 468.854 231.409 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+13466 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.109 423.743 187.046 433.93]
+/Subtype /Link
+/A << /S /GoTo /D (page.437) >>
+>> endobj
+13467 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 399.115 260.191 410.019]
+/Subtype /Link
+/A << /S /GoTo /D (page.272) >>
+>> endobj
+13468 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.669 375.922 221.606 386.109]
+/Subtype /Link
+/A << /S /GoTo /D (page.382) >>
+>> endobj
+13469 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 351.295 285.097 362.199]
+/Subtype /Link
+/A << /S /GoTo /D (page.115) >>
+>> endobj
+13470 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 339.339 258.537 350.243]
+/Subtype /Link
+/A << /S /GoTo /D (page.151) >>
+>> endobj
+13471 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 327.384 260.191 338.288]
+/Subtype /Link
+/A << /S /GoTo /D (page.270) >>
+>> endobj
+13472 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 305.531 145.791 314.378]
+/Subtype /Link
+/A << /S /GoTo /D (page.348) >>
+>> endobj
+13473 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.109 280.281 187.046 290.468]
+/Subtype /Link
+/A << /S /GoTo /D (page.433) >>
+>> endobj
+13474 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 267.608 287.867 278.512]
+/Subtype /Link
+/A << /S /GoTo /D (page.469) >>
+>> endobj
+13475 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.767 243.698 291.722 254.602]
+/Subtype /Link
+/A << /S /GoTo /D (page.86) >>
+>> endobj
+13476 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.075 56.166 386.044 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+13480 0 obj <<
+/D [13478 0 R /XYZ 90 757.935 null]
+>> endobj
+13477 0 obj <<
+/Font << /F70 402 0 R /F56 367 0 R /F72 404 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13481 0 obj
+[511.1 460 421.7 408.9]
+endobj
+13482 0 obj
+[642.5 589 600.7 607.7 725.7 445.6 511.6 660.9 401.6 1093.7 769.7 612.5 642.5 570.7 579.9 584.5 476.8 737.3]
+endobj
+13483 0 obj
+[722.2]
+endobj
+13484 0 obj
+[531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3]
+endobj
+13485 0 obj
+[525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525]
+endobj
+13487 0 obj
+[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600]
+endobj
+13488 0 obj
+[611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 351.8 351.8 351.8 935.2 578.7 578.7 935.2 896.3 850.9 870.4 915.7 818.5 786.1 941.7 896.3 442.6 624.1 928.7 753.7 1090.7 896.3 935.2 818.5 935.2 883.3 675.9 870.4 896.3 896.3 1220.4 896.3 896.3 740.7 351.8 611.1 351.8 611.1 351.8 351.8 611.1 675.9 546.3 675.9 546.3 384.3 611.1 675.9 351.8 384.3 643.5 351.8 1000 675.9 611.1 675.9 643.5 481.5 488 481.5 675.9 643.5 870.4 643.5]
+endobj
+13489 0 obj
+[571 571 856.5 856.5 285.5 314 513.9 513.9 513.9 513.9 513.9 770.7 456.8 513.9 742.3 799.4 513.9 927.8 1042 799.4 285.5 285.5 513.9 856.5 513.9 856.5 799.4 285.5 399.7 399.7 513.9 799.4 285.5 342.6 285.5 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 285.5 799.4 485.3 485.3 799.4 770.7 727.9 742.3 785 699.4 670.8 806.5 770.7 371 528.1 799.2 642.3 942 770.7 799.4 699.4 799.4 756.5 571 742.3 770.7 770.7 1056.2 770.7 770.7 628.1 285.5 513.9 285.5 513.9 285.5 2 [...]
+endobj
+13490 0 obj
+[761.6 489.6 761.6]
+endobj
+13491 0 obj
+[603.2 544.5 368.3 544.5 603.2 368.3 368.3 544.5 309.5 955.6 661.9 603.2 603.2 544.5 500.4 485.7 397.6 632.6 544.5 779.4 544.5]
+endobj
+13492 0 obj
+[513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 799.4 513.9 799.4 513.9 543.7 770.7 777.7 733.6 847.5 756.3 656.2 804.8 850.1 449.3 566.3 870.4 699.4 992.9 821.6 782.1 656.2 810.6 777.6 627.8 599.6 699.1 599.4 970.5 849 596.5 699.2 399.7 399.7 399.7 1027.8 1027.8 424.4 544.5 440.4 444.9 532.5 477.8 498.8 490.1 592.2 351.7 420.1 535.1 306.7 905.5 620 497.5 515.9 459.2 463.7 478.8 371.1 591.4 499.2 736.6 582.6 506.2]
+endobj
+13493 0 obj
+[799.4 285.5 799.4 513.9 799.4 513.9 799.4 799.4 799.4 799.4 799.4 799.4 799.4 1027.8 513.9 513.9 799.4 799.4 799.4 799.4 799.4]
+endobj
+13494 0 obj
+[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600]
+endobj
+13495 0 obj
+[826.4 531.3 826.4]
+endobj
+13496 0 obj
+[556 556 167 333 611 278 333 333 0 333 606 0 611 389 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 278 250 389 555 500 500 833 778 333 333 333 500 570 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 570 570 570 500 832 667 667 667 722 667 667 722 778 389 500 667 611 889 722 722 611 722 667 556 611 722 667 889 667 611 611 333 278 333 570 500 333 500 500 444 500 444 333 500 556 278 278 500 278 778 556 500 500 500 389 389 278 556 444 667 500 444 389]
+endobj
+13497 0 obj
+[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600]
+endobj
+13498 0 obj
+[686.6]
+endobj
+13499 0 obj
+[1083.3 458.3 1083.3 736.1 1083.3 736.1 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1361.1 736.1 736.1 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1361.1 1361.1 1083.3 1083.3 1361.1 1361.1 736.1 736.1 1361.1 1361.1 1361.1 1083.3 1361.1 1361.1 875 875 1361.1 1361.1 1361.1 1083.3 441 1361.1 944.5 944.5 1222.2 1222.2 0 0 805.6 805.6 944.5 736.1 1013.9 1013.9 1083.3 1083.3 875 1113.5 919.3 782.1 1083.9 770.8 988.2 850.4 1194.5 819.5 958.3 1055 964 [...]
+endobj
+13500 0 obj
+[722.2 888.9 611.1 1000 1000 1000 1000 833.3 833.3 416.7 416.7 416.7 416.7 1111.1]
+endobj
+13501 0 obj
+[1109.9 1007 867.4 1064 1110.4 626.7 772.9 1138.9 955.6 1284 1075.7 1047.5 875.4 1082.2 1030 856.3 832.3 943.9 827.8 1279.2 1112.9 824.3 943.1 597.2 597.2 597.2 1361.1 1361.1 597.2 774.4 633.3 649.4 739.7 677 684 700.6 827.6 533.6 588.2 758.1 480.3 1228 880.8]
+endobj
+13502 0 obj
+[575 575]
+endobj
+13503 0 obj
+[632.9 520.8 513.4 609.7 553.6 568.1 544.9 667.6 404.8 470.8 603.7 348.1 1032.4 713 584.7 600.9 542.1 528.7 531.3 415.3 681 566.7 831.5 659]
+endobj
+13504 0 obj
+[1027.8 402.8 472.2 402.8 680.6 680.6 680.6 680.6 680.6 680.6 680.6 680.6 680.6 680.6 680.6 402.8 402.8 1027.8 1027.8 1027.8 645.8 1027.8 980.6 934.7 958.3 1004.2 900 865.3 1033.4 980.6 494.5 691.7 1015.3 830.6 1188.9 980.6 1027.8 900]
+endobj
+13505 0 obj
+[892.9 339.3 892.9 585.3 892.9 585.3 892.9 892.9 892.9 892.9 892.9 892.9 892.9 1138.9 585.3 585.3 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 1138.9 1138.9 892.9 892.9 1138.9 1138.9 585.3 585.3 1138.9 1138.9 1138.9 892.9 1138.9 1138.9 708.3 708.3 1138.9 1138.9 1138.9 892.9 329.4 1138.9 769.8 769.8 1015.9 1015.9 0 0 646.8 646.8 769.8 585.3 831.4 831.4 892.9 892.9 708.3 917.6 753.4 620.2 889.5 616.1 818.4 688.5 978.7 646.5 782.2 871.7 791.7 1342.7 935.6 905.8 80 [...]
+endobj
+13506 0 obj
+[458.3 458.3 416.7 416.7 472.2 472.2 472.2 472.2 583.3 583.3 472.2 472.2 333.3 555.6 577.8 577.8 597.2 597.2 736.1 736.1 527.8 527.8 583.3 583.3 583.3 583.3 750 750 750 750 1044.4 1044.4 791.7 791.7 583.3 583.3 638.9 638.9 638.9 638.9 805.6 805.6 805.6 805.6 1277.8 1277.8 811.1 811.1 875 875 666.7 666.7 666.7 666.7 666.7 666.7 888.9 888.9 888.9 888.9 888.9 888.9 888.9 666.7 875 875 875 875 611.1 611.1 833.3 1111.1 472.2 555.6 1111.1 1511.1 1111.1 1511.1 1111.1 1511.1 1055.6 944.5 472.2 8 [...]
+endobj
+13507 0 obj
+[446.4 446.4 569.5 877 323.4 384.9 323.4 569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 323.4 323.4 323.4 877 538.7 538.7 877 843.3 798.6 815.5 860.1 767.9 737.1 883.9 843.3 412.7 583.3 874 706.4 1027.8 843.3 877 767.9 877 829.4 631 815.5 843.3 843.3 1150.8 843.3 843.3 692.5 323.4 569.5 323.4 569.5 323.4 323.4 569.5 631 507.9 631 507.9 354.2 569.5 631 323.4 354.2 600.2 323.4 938.5 631 569.5 631 600.2 446.4 452.6 446.4 631 600.2 815.5 600.2]
+endobj
+13508 0 obj
+[833.3 777.8 694.4 666.7 750 722.2 777.8 722.2 777.8 722.2 583.3 555.6 555.6 833.3 833.3 277.8 305.6 500 500 500 500 500 750 444.4 500 722.2 777.8 500 902.8 1013.9 777.8 277.8 277.8 500 833.3 500 833.3 777.8 277.8 388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 277.8 777.8 472.2 472.2 777.8 750 708.3 722.2 763.9 680.6 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.6 777.8 736.1 555.6 722.2 750 750 1027.8 750 750 611.1 277.8 500 2 [...]
+endobj
+13509 0 obj
+[592.7 662 526.8 632.9 686.9 713.8 756 719.7 539.7 689.9 950 592.7 439.2 751.4 1138.9 1138.9 1138.9 1138.9 339.3 339.3 585.3 585.3 585.3 585.3 585.3 585.3 585.3 585.3 585.3 585.3 585.3 585.3 339.3 339.3 892.9 585.3 892.9 585.3 610.1 859.1 863.2 819.4 934.1 838.7 724.5 889.4 935.6 506.3 632 959.9 783.7 1089.4 904.9 868.9 727.3 899.7 860.6 701.5 674.8 778.2 674.6 1074.4 936.9 671.5 778.4 462.3 462.3 462.3 1138.9 1138.9 478.2 619.7 502.4 510.5 594.7 542 557.1 557.3 668.8 404.2 472.7 607.3 3 [...]
+endobj
+13510 0 obj
+[777.8 555.6 722.2 666.7 722.2 722.2 666.7 611.1 777.8 777.8 388.9 500 777.8 666.7 944.5 722.2 777.8 611.1 777.8 722.2 555.6 666.7 722.2 722.2 1000 722.2 722.2 666.7]
+endobj
+13511 0 obj
+[500 500 167 333 556 278 333 333 0 333 675 0 556 389 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 214 250 333 420 500 500 833 778 333 333 333 500 675 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 675 675 675 500 920 611 611 667 722 611 611 722 722 333 444 667 556 833 667 722 611 722 611 500 556 722 611 833 611 556 556 389 278 389 422 500 333 500 500 444 500 444 278 500 500 278 278 444 278 722 500 500 500 500 389 389 278 500 444 667 444 444 389 400 275 400 541 0 0 0 333 500 556 8 [...]
+endobj
+13512 0 obj
+[517.7 444.4 405.9 437.5 496.5 469.4 353.9 576.2 583.3 602.6 494 437.5 570 517 571.4 437.2 540.3 595.8 625.7 651.4 622.5 466.3 591.4 828.1 517 362.8 654.2 1000 1000 1000 1000 277.8 277.8 500 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 500 777.8 500 530.9 750 758.5 714.7 827.9 738.2 643.1 786.3 831.3 439.6 554.5 849.3 680.6 970.1 803.5 762.8 642 790.6 759.3 613.2 584.4 682.8 583.3 944.4 828.5 580.6 682.6 388.9 388.9 388.9 1000 1000 416.7 528.6 429.2 432.8 520.5 465.6 489 [...]
+endobj
+13513 0 obj
+[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600]
+endobj
+13514 0 obj
+[556 556 167 333 667 278 333 333 0 333 570 0 667 444 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 278 250 333 555 500 500 1000 833 333 333 333 500 570 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 570 570 570 500 930 722 667 722 722 667 611 778 778 389 500 778 667 944 722 778 611 778 722 556 667 722 722 1000 722 722 667 333 278 333 581 500 333 500 556 444 556 444 333 500 556 278 333 556 278 833 556 500 556 556 444 389 333 556 500 722 500 500 444 394 220 394 520 0 0 0 333 500 500 [...]
+endobj
+13515 0 obj
+[638.9 963 638.9 963 963 963 963 963 963 963 1222.2 638.9 638.9 963 963 963 963 963 963 963 963 963 963 963 963 1222.2 1222.2 963 963 1222.2 1222.2 638.9 638.9 1222.2 1222.2 1222.2 963 1222.2 1222.2 768.5 768.5 1222.2 1222.2 1222.2 963 365.7 1222.2 833.3 833.3 1092.6 1092.6 0 0 703.7 703.7 833.3 638.9 898.1 898.1 963 963 768.5 989.9 813.3 678.4 961.2 671.3 879.9 746.7 1059.3 709.3 846.3 938.8 854.5 1427.2 1005.7 973 878.4 1008.3 1061.4 762 711.3 774.4 785.2 1222.7 883.7 823.9 884 833.3 8 [...]
+endobj
+13516 0 obj
+[472.2 472.2 472.2]
+endobj
+13517 0 obj
+[777.8 277.8 777.8 500 777.8 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 500 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 1000 777.8 777.8 1000 1000 500 500 1000 1000 1000 777.8 1000 1000 611.1 611.1 1000 1000 1000 777.8 275 1000 666.7 666.7 888.9 888.9 0 0 555.6 555.6 666.7 500 722.2 722.2 777.8 777.8 611.1 798.5 656.8 526.5 771.4 527.8 718.7 594.9 844.5 544.5 677.8 761.9 689.7 1200.9 820.5 796.1 695.6 816.7 847.5 605.6 544.6 625.8 612.8 987.8  [...]
+endobj
+13518 0 obj
+[556 556 167 333 611 278 333 333 0 333 564 0 611 444 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 180 250 333 408 500 500 833 778 333 333 333 500 564 250 333 250 278 500 500 500 500 500 500 500 500 500 500 278 278 564 564 564 444 921 722 667 667 722 611 556 722 722 333 389 722 611 889 722 722 556 722 667 556 611 722 722 944 722 722 611 333 278 333 469 500 333 444 500 444 500 444 333 500 500 278 278 500 278 778 500 500 500 500 333 389 278 500 500 722 500 500 444 480 200 480 541 0 0 0 333 500 444 1 [...]
+endobj
+13519 0 obj <<
+/Length1 761
+/Length2 1188
+/Length3 0
+/Length 1725      
+/Filter /FlateDecode
+>>
+stream
+xڭ�iTS��A�#��<�
0B	�	���BMD@mHn��$7$!!
QA�29Q\LVA|
��
�	EEE[���PY]O��uχ����������ރ��ALD$Ó$`��$" �D:�Ɔ!�82yrd
���̀	��tќ�4"c�X)��#d �ش(r
BHs9"���" !ڃ� ?�
C2%x�w��BRH"�x
�x0W pX�qXd����.͋�/�!���%�M ��!"�� >Ɓ��� �����asf�@���/9�Q�#��?�P
%�$��� ��C�.�


|4�K��\Q� �w)Xʄ�!�,�F >G ����!j���6O���|���ӥ������.��b��1���D�^*D�����mq
,
+��(�#�p������%X�;D�
=PK��`/�L�ZL��?1�YJ|�[t:
�wDQ��9$
+Pɔ��Qr�$H$[z4�;�c>�z	A���>�u9��tUR�jkAo���6=�:�]��S�"�?S[P��U�����ْ���!ݡOsң�q;��c#3���ɿ
ʍ����e)_��f���Suwj�I{{��΢Ao���e8����J���Vc�����!�s 3W�3�p�������Ȣr���Y:OzU��
n��#�Q�f

�;>�W�
W/5U����F�F-��k+��T��$��W�yUE׻YW,�/w?��c2�5�!47+��j<���X�v�9	�[Z�ܫ��\����9=��kP��@����m�
�-�����ve.�z�I®-�q{�7��kg��~Mi�,�L���V��n
}��8A�
+yq#<��_�R����_�Ҳ(��)��
�V�������MRq�ֵ<Ƈ���~�y�87��F-B��a�4�1���4ǣG2�)Ky��@�f�
K~z�u���U;r��I?�
�-["�Z���uL!_Ǽ�;y{�Rj~������?���������z�ny��a�~V���Ҏ,�����?��@��bw�REλ�>s��)ƿ�c�{ܲ��{TH�-�t7�~�gד�@Ř&�y�8��K{�֩�
���/'�za{Vçf�]#�Y�XϷ�3:+M����
+��Hz5�$�E��JQVjwgu�b��?N�^c;�<�'�6{Άa��M%��M-D<l3��V���V3j�v�J��ԭ�#���k��{f#g[kt�s��+�I��u׍uM�o>��e]�����\hx����Ws�o|2B�p�s�;-�<_�V�sO�yEk�W?�m�U���ƍ����l�L��_�CZ�q��!���7[���2�>;
�����}:��_�|c���)16�s~�QS���]��_���bm�VC��<�
�g��
$RPL��O���7���
+1�b��Ğ��:�q���W�ł�Fu7k��賩j�u�
]�_삂��M|��i�K�6L�j��U9U/��n������Ṻ��k����9���O�n���"��hĹ䃼UW�6��!7
�6�D_��fj{7��F9)Ҥ1-8�dU�j�2Uɤ��U��1kè��ν�����0)bw���#]��e�U�����w[��2��z�8�n��9�#�]3?r����G��(���4����Io�m��7�I�2�ܩ�.��a�~ؼVj�-`�Y�9ի�o;�U�I_
�V�6x��71��_��C�
+endstream
+endobj
+13520 0 obj <<
+/Type /FontDescriptor
+/FontName /LDBHLR+CMBX10
+/Flags 4
+/FontBBox [-301 -250 1164 946]
+/Ascent 694
+/CapHeight 686
+/Descent -194
+/ItalicAngle 0
+/StemV 114
+/XHeight 444
+/CharSet (/one/zero)
+/FontFile 13519 0 R
+>> endobj
+13521 0 obj <<
+/Length1 1515
+/Length2 5504
+/Length3 0
+/Length 6298      
+/Filter /FlateDecode
+>>
+stream
+xڭ�w<�m�ǩ��(j��j$�lm��f�IHEB�hQ{�U�R�*Z��ګjU��U{���i��yn����r��9����뺾y���趈
+m�D�p"@Q�<@M_�( ������a`
�R��`� ��
���$  �<$/)K�
PC�zc�N8�����$��

�p�� ����\���F; `8oQ�
+	0�Y�ð0�
*J�
�
�@����F�� ������E
0
��@�KA��G(��@ap21�y3ع��W�k�#������/qA ���@����`�>
+à�L5��ǜ>
�pw���q$�A刄��B`5^0����C�Xد8
�����~YS1Ӱ4�-�����F
+g���?ٟٿ������ � V����'������f(4�r���
�Mv~z�WR _  ��¼ 0�s�b�(4�p>? 
�!���� ��=� ;O;�b�s��	"ap�*��D���� �/T�����Jp��K_�ႀ�SpQ
+�z�.�o�����O���H.:���\0���o�d.�
�$bp$��s*R���\��v�y/ ((�uEB��y��	�B00ԟ�"~!~QNZ�"��(�.켤�����
�ׄ��o��~#z��u���Ep���+���˯7�3�� ���i$'sG�G]ܑ8Ŀfy~�=��ϯ/���$��Ȫ�h/_�$@$w~4��R� ��o��s߸_��s����s��s �4�vP��TR௑=�P_ձ*Π���[�x|dn�����2��§W�,.rx��`#������|��<�c��n�O
���S}�W���U����okR��C��<�|��l�c5�H@�d�x�����Msj�����S�i�2>	Nc�d��0��)O��	�����T
Ol���i��I���������.����B�Lԟ��<@����Z�w���3Y��vA�!�%��]1�7���9Gn��8�v�7��oM�+��_�ٝ��E����8
�ti*6���A80�J��U�@��x�ě`�����*=��%�/:)�Z3���
�*�����+
�V��.Ϣ�
��p�D���J���:	�
F�N_>*Ғb���)@\�;E��r�I�
��m�W8��Xbˁ�n��V���J_	�}�ʷ�:N==g"#�'`��0�cl��2L7e��,x��%K�`�
K����<��"�W(�zR���P� ��b#܆�6?�|QktT}�R��թ�r��O��̵�:I����'ms���AW�IK&�}�
�4eO28s���ҙq��~L�Z("��^�ەܖj�0�C�t���Ԗ�3 at +Sr��
ܣ՞��evb�&x��M��s��
NJ���zi�k
���@�
�s�BD6������FV~
bL/ݜ�����kKI�u�`:C�3A�)��H��Aq�F���b���g&xv5/+A���Ń)>Ү+O
CX,q1�{nl<�|�#
���P����>G�	1k�<�%ɡ�Q�C�b0yt1�uE>���`��Yqe��]2Cw|� ��
뇼2c��_���G�����4��0���WJ�h��?U8�CW�+�Ȯr7��,̷P�� [...]
�1V;�dĤ�7b2m��K�:èl���?�
��� .
�?��r
��;Jʍ.f��28vտ�L����m��h���C]݉��7�b�
�ҌGǹ�f1T�Ekq��5����땏���A���U�>�˦q`�W
��.��h�u7r�f�Fq�\M����+��g�M���+Sk��N>L�Z�o��aC����=��RG�p�WL�q��h|��V�zh[�������װ��TF"'�|�,�ֲ����s��<�l�
�
뢠
=�rmۡ��Tꂆy
�Q�g1�Y'f4���-�fI~s�:>�C>L�8
�Qcܒ�·�+���#�Ə.����q6d��S��<���/��v?�y
fvFE��1R�o ��&Ô�'�	ZM�o-]q|�sM\��d*[C�i8}�D��!���֥i7w�G94�(k�Hi��3���y���x=�H�C;��wN����eJ�ԫ�I
+�{��C͛5N���aکB5!{�u�7"/)j�Jj?_0]m��W`8�Y���Ů��ڎ
��g�v�l�c���f��Osp-���Y�妺���<5�vt&U���@JRS\�gx|���቙5�,;{���._'s/�������1��g�9zk��lw�1�V���5���8��|>�ou�S����
�M���̅�׊*Z��
�����jvo�}�+��\iy&92�-2�w���6����5��vgs���Z4�)�"%@����Nh�&��P��/Z0�x{}�q�V��}�;�>�w ��d���G�� v ��*�ߗ�}$��x]<���H!���l��V�D'��q� :n���
&tpT��ޝ�
�d"�v�x�Fq.��9���c�t/�,;��0���6n�ja<2�o���<�d��?���#S�1J���p�qP�E)lM��7�A��SOI
�ɂ	�B�w��}Af���+Vg�8�e
������ �g�gI�g�:� '_;�U��7�n��k=G��:��DX4f�$u�hh�}{+�MF�
"W<cw���(
�
�����
f:Ð&
���TA
�4�I��N1o/K
v.*���
�uf���s�JUe
8*�w���ͽ�N��ڴ��^jz�rFU�h��S�>6�t�'
�Gc��i��ڦ�=v�W�+|����������s6���d��ć�z��o�G櫞9�֮
�㱬�\Nk~��mZ�[�Ӑ�'0�,�8����8�"_F
��N�)hҨ&]�.[I��=-Hb�G�kT�2����v_]��:��2�o�(����q�_.S������ ��vϽ"Mb���r��&~)�b��m�+����ΚS����Ӵ�q��{��L`6ߛ�-!&��Y>���eb��b��0��q�%F:}(u��e�Y|��!�=��)z������.p� e���P=}o�!s�u11�D&����k�1Q��ܮ�[~

��c��J�����a�K
����ɇ�{U-�y}#�9R�8�:H)���8t�0�:����'찳-sf���d?�^'�������Sf܋�5���nG���ߦ��V���Pb����R06�?��}
+��S���Y��͎�Y=�!�狁͌u2�U�!�����h�aT�_��a�۔ �XfO|���N
cT��g��됁=f���\"���Q�FPv�ӌ���'9��G򼭚��/j�@���{#�M'��|V���|�"�]n7�u�e���0��
��6��W��| K�a��)�����}��!jd����	P�J]�����b^2�1�m3�K�K����~�zs�W�a�7�#�
+wOm$M׽Zu��6��T�l�}c������a�_�M�ԗ�
�/M)�z(u���䋚�s���
���ĥC��7���h8�\�9ڛ���n��N���_�
+�M�z����GJP�w_�Ue��H��TP]t��0���P	~I1!CI���묺��JE<Ǹ��{�Lu�u�'vz�c+''>
*�˳���
��|�^T4G����?/�Z�/
{�N�T�W�r��]�L�%��a���ҨI����L�c:]^���3��^�=�
+��c�
�|�$�1��o0�����ϛ+�U+^xZ�
��b����j�
m��h��Cf��i�HK]O�țFٍ�֚L]�q/�k�H�_�#@ϋ.��%�`e!R6W?�6G�8�9���-��q������yL�1�!�խ� ,$�F ��q'�5��`����SYzM�<��Vp��Ê�D���ݚ�����]��|�w��C#�6��>�Ȗ+�kɯ�=?����U�62�_��@;_�w����is�<�K��-�*j�
܆�0ݩ�<�%�1���O�b��n�F+"��/�D�Ia��
�.Ψ敚��j�˼���q��T
��)o��&�%���v����v�`�Z��!Oq�$�>���c�pКk�
U���,别>0$�WF�{
+����b�кOi�K@�A%��r#{[!���®��IX�� Sb���w:�u����̓��T�wŰڥ�lއfxw
Aaީ�]ƕJ
+��U:"ӷ|���������כ��m�w����
+滤mPऽ�x0
���
6f�]HL���eA}
+�N�A���I�ص"�b(\����
Q�VC*��ީ�1w,���M
�CO�<_
���7I)�I�6
<
�\�1�H��6b{ͽI|���a�׎
�7��Sw�f��@�c7�������r��_�T���@�wnN��ED�h4���v6J��M�CB
��&!�,ޕK�X��׌��,�Y�`s��)j�n���K��
�V}ڥ\�2�R]�a��&�cu�)�ʫ��o���-���_?��ܗ�'��fA턫�1y���u;�6
D��ϼ��	�z��ʔ+TC��7JJ{`:|�,��g
4r ��u
+����L
<�kK]�<9B
�FmcL��_��Pl����p��c���� 6���L��#��#�ߴ���w�g���=�T.��;q�
�𙫢����@t�0պ�����O]$�(e6��\]c��$_�O}'��
�G
�wKp3S���vXE����4��Q����:��>NiW.'a���~���f�Gs
e�ty��I�&��L�?�*�J���ف�P@�(�u!r��4��
k��k[afo���򢆑<�,��X�<*B^�uZ���Էv��U="mk�>]��ͪ�G?N��J`�#��y��*�O����-q:�f�����8�'��
m��FP�ݶ�y�>�w1���.b�N�n�/2H׌�EkL0�D��
0�b��5y�T=
�ءLL
,3� S��ҥ�^�2LP���lfPj�H�<
��t]�g��+���<�t3}� �s���|­Z6�x?�����CbAq�|ڐ�,SD����^��z��Vu��5Il��
I�0�q1�l#7��"!)����t�N&r [...]
+Y�[��M�,���5���6=α_
+�o<z�@&�p5}����88�O�!,"�����i�_�SkR���
Y	B��:��V���@�6��*��Ķ�&�2�����G#s�8�i�[Wq��%���%旺m=_�xb����k~[b���)�'������3�}�^���ӟ��J�?��:c��8 ^�5�P��G���D��������^9X2߿Es;�(�,a�q ����4A�� ���F��c�}©ଌ����k�i�ƻU���3T���m�ߣ�8*䬌�c�:r��;�
+�J���-z��D%�
+�������
+��
�]g�����N.4�hx��[un���Y:�IS�t���<\�^RBv�fb�T�)5�6U�}[)��"����ނ�F3.enZ��[��_ZލO5P��2�h��3�����ˢ
+endstream
+endobj
+13522 0 obj <<
+/Type /FontDescriptor
+/FontName /AVEYOS+CMEX10
+/Flags 4
+/FontBBox [-24 -2960 1454 772]
+/Ascent 40
+/CapHeight 0
+/Descent -600
+/ItalicAngle 0
+/StemV 47
+/XHeight 431
+/CharSet (/braceex/braceleftBig/braceleftBigg/braceleftbig/braceleftbigg/braceleftbt/braceleftmid/bracelefttp/bracerightBig/bracerightBigg/bracerightbig/bracerightbt/bracerightmid/bracerighttp/floorleftbig/floorrightbig/logicalanddisplay/parenleftBig/parenleftbig/parenleftbt/parenleftex/parenlefttp/parenrightBig/parenrightbig/parenrightbt/parenrightex/parenrighttp/summationdisplay/summationtext/unionmultidisplay/vextendsingle)
+/FontFile 13521 0 R
+>> endobj
+13523 0 obj <<
+/Length1 1515
+/Length2 10458
+/Length3 0
+/Length 11343     
+/Filter /FlateDecode
+>>
+stream
+xڭ�eX�Ͳ����`p�����
w��\����܂�Kp	\�Z{����\�罻������ QRe6s0I8ػ2 �< Qyyi 3������B�d�j�`/f�
+� ��9 2n� V 3';+;'<@��������@-J�'@��lejl�7v�ٽ�05��:�Z�\�¶� �v� T at . gw�#<0�2u��,�����$mo� ����������A�.� ���Ixi�`o�0��3)8�g�k��!뿃K���*���_����vV�^���`���
+r�;������U�oq� 3+7���J��Z�
+�[؂ 
@6Ff��[�HXy�̔�\M-�ƶ.������[�{����I]QCSG����_F%c+{W5/G�������ߛ�l�	�efdf�;����K����ۛ:�Y�[ X�9 ����^��C�N�  ���
�	 y�+fb�wp}�x��'���3�?���`�g���`�C� &�?�`�qL���$��� L2�=��z�)��b0)����������3��������+3�C� &���?�`g���}nLf�{V�_����/|�k��!㿣q��[�sU߇�Ϧ��Z���
��
����Y���ۙ���]�-���OI�l]L��
]�
+�^�ݟ0�:���X�Ǎ��/|7;�i�{�
��ß6���;Z�%��R����3�S!˻ gK��������^������V��k~i�.�-��Ol

�~2��|��wE������=� ˻ ������l�W�,�y���Ҽ����x�
��+,"������``a�R�l\ Nv�O������3���_���C�ln��v�@� S��S�딦�R?���2h��i�!c]�
i��'��s�͓j �+�P4k�r��_��Lf��[xM¾C>�L�KhCH�4��0�'z�ك�(v��Ļ��t�+d7��]��rG@�<�_�P��
/��l�Ƿ�R���������@���?
O%
�
�
�q��o0^��z�gl֐Ҹ���!�����i<ͷ��6��ZY�2�<�9�4r� `��$iZ�-��g�;�4�;$i�3�A���4��o	�r�MK	l�%
��A5�:���{>��(���L��'
��(T�
^(��c�����6�ޢ𾟛����VAh�qe�SӝЌ1�Aφ�h[~=p��@�����m��hq�`.���-���<إ�����յ
}�������λ8��
��b !��aԡ�H7\�؝/�Q�J�EB"���aiG�D �#/��ޮ�2v�g�3�Բ���񁰜�#s�wo2Y}��W1��^0�M,���d�l���WE��6U���/�r�My�li���%7\Rw�2Ƿ�Z�e�<�9
PM-�CK3Ha8Zq���g��-�� [...]
M�eLw���,m}dˊ{'�� ͍�_��R�;^u����TvM����
s�+P��Ʌ�d	��6{f��":�c
�M8}P�G1ᝢ8p
�}���X��]�~L�s	</fL��I��\�@F�ּ"WB�0@Zc
"�B�^鹺hu
+.���t��5�
uU�
+��;"v9�A�[h�M�>����	�
F���\XsZ���J�CO�P�[[@��e
����)I+?���Rt�!�ct�f�G
��`�c�
S��/���?�����Z������,������|�&`A�6�ы��8��+��<�Sܭ�(�Gf����J�w�Z_#�i��-��
���`��a��t��,ஂ��r�-��'��2,���k"����:.V�&#]��d�%�U����(ݬ�l��
�e:Z�D'�!���Q�I@
+�|P85�4v��W��5�bׂU
Y�
�'-˻��史A^�
����m
+�I�㹜�R�e����mH�ϕ���
#V�Ŏ�4\��gM�U-���M �Z%��%�e�}$��>5��&���ng���33���Q�h��{�{�
��	A�D$gPP�� ]@�QA�*C�F g�D�B����l�}����!<P�	�P�
Gê�m���"q+�@��_�����$����ܓ"Ժ�jK�a�Jj}95���j�7̔��S\�i��$�>�3�}�i^��t	_(Cp��{)f��j�
d23ֱ�Y%�FG?�w1S�=K�4ϊ����
7
k�%|���e��V���K�w���/�P�6�
+R�*��D�+��P�k�d�e��'����A[{
�B��7(�#�]	3�z	�R3���{�P���[���'�U�Nۡm�G����
�Y�ԅ8��O��,�^�}���X���p"R�`<Ԋ�CFו
V�°����
++���e�d����9=u&���ze_�S^�qQ{��$�s8��g���P)dc]��2\*L��O�.�ݐ������L�!��~:7n6���]st�%dSqK����Ew��a3�9��U:�ڈ�h��MH3�^���J�'��s���v���i��$��i��+}iz-,�W	e'��Nܻ�q
+BA�������#��Y��#
��w'_<��,�����;4�T��
?t3�Q�VX�`.�?3
�j�?�&�??U䫡*t�������Ӓ�"���f:��;K۹Z�|t��w1�m����wr
+����R@)��"6f�&�
�I/�P��hй�ο�\Uv�x
�� vR`�G
����;�ݟR*i2���K�U��;��+�XK,�vӷ��[�ў��qń�/?U��������U-���P
+��$��
C~e�yR��?v1>hV(o�F ��@�
#�6�c�`9�९�-�^C(�(����7"�����Ę�
��
�
+�sƏ��BԠND���<�q)x��еVgi1����N1���p5�s��n�
;E�8Ǭ�Oah�}���յ^�F�*��J�)UsS ��<�6h$�/մ�GvIoz�Lu�˨��w֩a��K��wc҂�|��
R�z�� *�/��(���!N���|������YwwP 5�H�
�T*�c�1��{e����G����
R�kK����^����;پ�a���T�pf��e!>꡺�"�p�CS��`��Uj4hׅ��HQ�ք/pSL�m�g�:��^�'k`#�t�Ee��7�]�
���
+V�
��Fg�A|w?��������ô���H��7�j����nG�lO��Sʕ<�r˘tI8�u!K�8F�p�^I_O�E�]��E�����#�3�%���O�
Irm�8>)�&���;����~�BȏyKC|u¬����Sl��$p�Юy�$�r���Z��bǠo��	5���h�(+�8z/	<u����*?
����4�fc\	��R�J�AW�ލ›�{Ԃ
.�a���<-�21�2C�l����
ʁ�o�~|S\�����Eo��e�j����!��(��	7Z�Z 'z���!S�
+��`r�N���ȽCK���lNl	)�d�M��N�`�:��x�q�׳s��<� bEb����8眑

	
���':����}D�.Q�?!�XDm�l��n|}8B�q���\�5��R�׌����i�-�qSn�
+��b�p�˳��(;0)1ϪN g�ط
�cv2
�g�
�M�^tܒ0
XT(*���
�b5��U=
\��T�$��"�<��9J
�
�폻���-��(kf<�M-VPH�|�X��͍��`2���3�
��M��dS�b�S=�^n���ߧo���% �l
�+s��z	��hz��Qx�[&?^ ��h�i�$�́lR [��}�+[�x�~����XY�T�(���[�r���~B�Ȗ�l�kTp��9����I���<S�-e�"��4h��R�ɽ��\r��4~�K�BӬ~YP����K
wX��9<���>J��]��{ O����a����B�Q��
�2
�E�

+�B#��`_T]l2j�P���v�[:�
�� �V&�J�:�O��sl�
��#�gş���&��y��SK����'����l���XR)��Q�Ἄ#Kl����4�B��U� R�P�,�
��?T�
dКoEH�sj��2�����`�&����
+?k���(�-�������fF0���FZ��V��"��$6�[�R�
S:���1*�_�!�T�Уr	F��E~�N@
�}������7���p�^e�Dno�����m>��y��T��K#]i(���)@u���(d��Y�=O�
8N*�Z#������3'�R�}�%�2�;r�y����p�?Le��qL\��to��D8��+=p��R�>!珏�ЁN�=\�a��݆/���t��c3҂�>���g	շˑ$ꑍ�Qy{
sw��x��8M����Y%"�|�_�	�&�
[�V?�Rr;;��.\ϒ1�r�׵o�q.����d
+-���b���K#�;�F��̍�-��]��[)�4�w�Ɠ#!^����U�ͼ#,�36_BE�_!
�hٟ�fQ
�'�$K��J�I�BJh�D�kFO�ϲ��8h J!)�|,��R(Q��Bn��N��
�}c�3����)�Mg�Gߋ�1�D���8�"�ҵ��W�����m�"zS�T����8���ZL�R�+k���3��E�c
�U'�{�^��@����5���l��e��ɐXU¯B�8��ͺI'��t�a�xx���P�F�Г1!{KY�n���y�	���D�Dm �B'i	j�)������l���Ŋ1��d�|�
j�F��u�i�vߴ-�Jo���,In
�2�fއ�z���
+�w�q�<�܃�Qα����G�u�1�nj� �'-1f�}��s�ef�.Y*
�A-
g��D�qNjO�	��7�~�p����~���W�A��ݟh��]�OE%��$�c9�
�ݫ-�
9��Qб.g�\�
��af��
9��»C�W��
L�s��v�#<~rOZzw��d/$��lc;@2�!~[�cTZ[����>c����s�I���n�?�bpúE��o�$>��S���
+��2�5�5W��o�@��.�[�h���?;
��z�nG�h1�������
J[�w/�L9I
�'�Zu�{A6=N�c���� �^ab,IX���H�?��Y8�uG&���e(dt22��
����XP
�����|��6� VY�����A���k1>�K9s�^��@!�U�M�!��Z�.�pQ��f�[���ճ\k&V0sR�E�d�vG�g1���'j${X������
�R2W����$�*c���}1rQ�!$��DV�y��y|���X}�����<O�?X��ы�`�k����]��\�<�5 %�x6ϖ? LX�����Pg��谜�ޅ�`ɐi��0��ʯ����_%����m��]��dl�b:
$�`d]�H1����f���	��y�Z�=^���u=����@��ǩ��~S��y�ܼ��]��jk?�|ޒ�}M,�
[Ix/Gi�S��P%�$AB�q�^��uD�Ե��1�
��[QA������G̒�5bN�"՛���})�/��\x�ʂ [...]
�1�K
��]��}�d	�V=�.=?Ʉli�6E	���:�_p�௤��&�o�؞�^M �AX�x��DY�f�u���5''^H5Y� �^�

����%':���ͅ�+C����a��	��}�HR�@Po������׎@����[����k���ITZ�P�D�/Dz(l-�Jh�7�Ka�u<��\�ڀ�m`M at Y`�9,Y.e3���������f
,���E�n�
��=˳G�U�8g���L���:�M��l��
b	Rbg�3kig�l��jr5xMw���a�<a=�S�>���Q>���7%FՑ�.XK�
+!
?��-P�k�)���[B�K�'$��@�������G~�~�K�)G�!Y�
uA�E�
+��UU���T����r�m��
�O܌�
*����τJ��M��8D� �L�_x�sY�
��r�I&��(�	�o���\c��p��Q�
+Ȓ�
��U�
���?ټ�]K��l�C�8s�P%q!"
��I\^m��
&��&�2O}�.���]4�=�>I2]φ�P��Sc�U	�z��S$�7��
�]��*��cX˦��#��=�&;���ڞ4�~��F�\�6��
�X�3j#�Cz�V l����V��%��i
�Zi�l�G��W����
+t�����(�Β~�g��˼��O�	�r�
*>]�d$�)��1�y�5�fb���k���v�%�
JmW�&n	>)kb��0�H������>�T[ A?q�
S��|�>�,p�1��A
��샑��Y�#���@#2j@��>� �V��4J��
+ͮ!�zT�w���s=UE9R�(������t���
��WQk+G�xb4冓�21�W`
�U]|^t'�3�5Np#=�\=
8Vk҇�¢�y��P%ah�kZ�^r�2Z�&w��ʂ��<���	e��\��7�4�Rux4�%$��s���X��N
x݂U������Y_�KQ?|�$�L,����zK�J4�i�.���"^��K�盡
5z�ЄϺ��G9�Q��
5��0W6M�qFe��M���C
$}1
f#���@�+����lN�j�Nd�p�*ѳ>˸����i
�4SC���	�V�Xkc��)�kRBn2DU��
9�˝l���@�]�Unψ���s���3�8ď�.�l�z�
+�[a��ٷ
��pN
E��%�
R��Ӂ�Ҥ�S�ˈ|��Ӵ�;Za
������"`b<\���A����Ňv�����^�%�&�r��"N�Cʲ31��.)=?a��"�X����%�ڎeJA
��R��N�;�L��o�/
�]3�\�v�j
�ܧ8-p�~����S

Pծ��
+8�ݚ�%iT�h�JΙ
]2��m��S?5ƥ1\���,��#�8J��E:?���q9h�����
(

 �h�[^�����4xڮ́
+/
�
��1T:��4�l�= v�y�'�]_,w��c�������hE���c�r�,,��7
~|�'`�i���B�yU"�
�ֵу����b"��ѡ�F�����yF�F�7	���U��#TS��	s��@GL��o:�c�>ϧyg��
�łf��V���o��xK�Lt
:4vrfY��Ǟ�P
C���z�m,a~����f�r6>#t�G�TQ���R�q��e~�4��2���
��q���S&��w_���
���w����7"
��]�0~G�O?
(,Mf�e�6��#44�Js�t����֦�Z?r3
T�x	��SҸ|���[ӝ!6�|�p�
�E���a�\Yt�wA�Z�#h
\�1�S�����9
I����
�
��^/����W
�ƨ��Q�w�m�B
+����M�CJL�	�%^�Ǿ��;7�{5�7j�L�7�����%&�yBf,��!�i���X�a�8w�{6�2�1�fv�{_�'���o�ɬr���:YC6{�l��-�j�J��<��g0|��h�5��Ĩp-��?4��y����'�������#h���,Hਇ�Ф%D��Ř�+i$LF��
�򡩡�}���p�pz�P��h~� �\�˽(�B4�g�
3�.KdLT:֤�G(�4j��)��q�X�
+4ښ���e;��.B����| ��5NX>Dȴ
��[=�P�����&�"��e��-��(�SӅ0��<Ad5o��a{����m���^����
b��gE����7CM�z�0�fG3�M �k�ύ�D
R�g���=�xƄ@uaZ�b��X:��4/�����p����II#�LFv7E��3�P�U�]�=

\o������<�Xi�D�1�;��Ɖ>�T3Q�̜���*��}+H�.���鏭�;����r݃	��|G�
��PJ|
+��沂��f�1��U@�k}fX��� �Z�
�(�g�w�F0�"6l�
�<[h_9��|�=��YFԋ�ґ�a�V�R�
��ߞ(�C
��
u��~��6Y̱;�Vx��^:(��Tc5%�{�&q���&
����Rjl��Φ�B+A��~c3��ţ:w֥
+��P
+��pn�PY�qZ����8�&v\�TD�2 ��K�����u
d�v�T��){�w&�R�qr;ѥ�I1є��\�p�|5C�	#M�%k�
�#m<J�ސ��
+����x�@$
^�A_�x��&F'L;5>3\ }��
�}�Ӯ�%���:����G���D���rse
�
�� bk���c֭A�6_���6
}�F\�:�Q��2mA"U���|�7'�cV+,a�t�ӯ�
@�
���3��N�#��W����=���
"(�����������Y
�`�~V�Ϋ+5-��5=ӥ/��5�$�G�}I�ɦ�JEa��+u�B�Yƽ�
L)�Ϊ
i�@�
�i�|��^��̰��Ov�AVR��Yu
g�1"
�M��%�*�3��Uh֥�ꪵ����}��U
��9
t�A��nI�s^���gǼ|w6�խ�L
"Yܚ
�+�� ��W5�h�������6nsr�b���^<��������$
��ް �ͦz�ԳY#&
��A��U��`
�
��z"g��k\�l��UZ�	�4�=��q��b�5�=��
+�@�Y|�����
+�v�_�%Î2�^��$���C4*=�\��g��U�U+D<=0b-�7O��=
+eO^�"\qX�ț�xy����z+�VC�S;�䎹��-�>��A��j�
���
+�}M�����r�����:
+v\ֽ�ড�C槭*̛~y퇧R�)uFg���#��10Y�����3Vb���`KA�1��'�
��
�74�u]��d����A
u�,�B�56�\����u�� �@۱I����k
z_B�li
�)�7�cx��
�t�oO6
�_Y �BIF�`+=��
�"�ܡ�?\�m�*t#QKB��a�t�l�%�H���
|�!S��^3��g�����J,s����k� <8 B.�ZI`-3���1�m�l
+1_�1Ń����MY-|�!P}��hֽr-bK(�|3�\I���.L���9z���(��KrN
;@(aT����� ���Q,�����
f�!
2-K� �:���� nQ�Ŗ���"�QG��
=����0�h���.���qp�A�PD�R��,��7!%�L��+A:D5�6ľ�_2p�9Q��dKU#Z��˥�S*×�'��_~
�‚����{�� �U�+k��#Aˬ=��?o
+����n;y����%~�9Vԫ1p
�n�ru;�0��T)�48�|]�Iy܈��^���^x���Yx�Dѹ$
]��t����
��[
@��ʕe�#B�\F+�U�����N�
•�Dݷ�+���F<0+��x�����B��\w��ש��[��
-nDwG
^���A>ۤ�ڧ��O`��r����x�CW^6�x|�]�/���>����8m���d�W.�����U�ReFþ"[
+�Ww<���*8H�+�P�{V;�, �J8tco� �\��gvL�:S��v�d�Z��O
kW�|Ú_�1�4�3�?(
�m.S
�B�Ig�(E�y"Uޘ`�����/��=�xӤ�i+�Vg�x�2&l��%1�E���_�Y���)�\9K�
+JM�g�Z4����IP�Ð�-���mH�����I�ϻ�v��y���sxqps���ס	{��W�٭�#K���\Ɉv�\����|��_fM� /��!f񇸃QK�N�l��(a��>�"
ᓣ�I�G��|������g�8¡�"F�����4 `-�V���0�<�� �/W{+Z���Xh����l�;�K�7f1�����5��<����&jM�	�֡Й��54EJx�m��Tש8;����sAՖ�gJb���8>�^b�pm���揞��*��o'�}f�:M�n�YҊ�cL=��4Z��1����Cg@��6ĩ�E���b�y��`�Ŝ
�Vl|��7���e�_�E~��U�7w�D���6�E2�  %!�b���!�]�t5z�u�j t���^��++'�F���
�N�,8���ĸԆ�"��4���>z�� �]�y�og=��n��eH��>�vj�c�@��O�yw���X������+J�eȞ&�
��g)��0
^}E&�^'�Ĵ<u�ۣ���Mҳ�m��F�)b� [...]
��+��>���z9b�԰�}�9J�]�f����l].v�(����8�=�����g�:#��M,
+�=So��qͼ��aտr-�4�U�z͟����k�q�`�~�o��Z±����D�e
}�Åʆ��r�g�
.����i!�3�?
SP
+�>�?���BmZXk a��l���'�}��ť�O�|%	�8�ӓ �
�JJuR�#�J���=��h0����
+k6X��6�f:I��*q�>%��~�j 
�����!�ߺ
�5\����^�}Ŋ�������y��G .F�t�H	��Mr2%e��;�K��%�Ҷ%���Y����ۛ���QTသ�R�KL�]ٕZ�7�
<Lr�v$`-߾N�:!�>ud��&v��1��uqK�dS<EiG\OT y�yÑ� �]s
+��ZOj0�ؙ�4�|ؕ�@�i��aG������^?^���j���g�b�����&(>2I?�:gUY�B��l4_E3"���E�#��]=D���
�(������Cg�rF�Kō��.'LS�=چU��탨�{E��O� g��3$E>ȷl��cmW�>C�<�(�Ȩ���]�s#&z��V��ڙr� �2�s��4Y��6g�{3����n�Qdy�1�@9��� ������`��%��&���ɕ����nhRV*�m>3�c��HZ�)�c|�RV��O�@b�`!#��0�$�Z 
�5L;�R
2�s~����p3T@��W�||���Eb���2TK���υGgv����l(
��*y���-��b�3f�)Y�k$�wi���A�?V5dc��'8q�ٞ�"םH�
�y�s�e�Ʈ����:z���f�<���ᦂ�6�M����)(Jw��l����L�^��
��B5g;�aJ���ƫ�'�T�Y+;Esw��9m������gl�V���H�� [...]
+endstream
+endobj
+13524 0 obj <<
+/Type /FontDescriptor
+/FontName /UOVWZK+CMMI10
+/Flags 4
+/FontBBox [-32 -250 1048 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 72
+/XHeight 431
+/CharSet (/A/B/C/D/G/I/J/L/M/P/Q/R/S/a/b/c/comma/d/e/f/g/gamma/greater/i/j/k/lambda/less/lscript/m/mu/n/p/period/phi/q/r/rho/s/slash/triangleleft/triangleright/u/v/w/weierstrass/x/y/z)
+/FontFile 13523 0 R
+>> endobj
+13525 0 obj <<
+/Length1 771
+/Length2 1151
+/Length3 0
+/Length 1696      
+/Filter /FlateDecode
+>>
+stream
+xڭRkTS���2ȳ"����U*�!%H1��T�hxHE.!g�&�`0�@�](
+�C

�PA[
+"�*��UQ��X�b�F�{���J��5��{����3��a|7��� 
S����l������h$
+%@
+�
+�too/�U�0X��9��b3�$
+�U2T�� K�N�X�#�2T(� O�H�R��P |\�B��
p$�v�
��r(K��;�N*T�x(F1u�S0&��=�$%~���LN�K�l.�I�$*�@��� ���akz�$�$T �l?��?x����T���$�
�@6]ߛ�AM�Ng�	*�`b	ntOw��{
��J���
+a	$r8�C
���o��k.7t͗����Sd� ��Dh��j�_5�
U��4w�N��a�aڰ��GPL
L/ ��*�h�`2A*
�� *	�Tw
WG �L�2��z1 U<�Ո��=FT	�˧�^��W��yЀ�I��1� �IK��P�$�AL1�}��>�"��B%��]��g����
�+KoT�Z*w,�v��Fmm����/>��e��á�s��F����U�Q�>�����ʧj��d1oiI��p0&vF{q[���H�c�K_b�g#w��Mn�U2 at g
%�6���7�o�\��7/@?:H�P|6$F��fw�
�⥸���>���G��-�:7,
+���fv
{��[�7���U�c(��~�6�ԉ<�Ս�����V��>���Ζk�R��tC��˽�3����
�,�M�ת<`hըf�f�_ݨ/�k�[�/�S�Q���[�t��m~=a�T�|��q4����Y���.����Ő���T��f|�S{t�� ����&���ھ��)Li��gI9��QUP���hW�~�nAIMY.3�է���
/���ώ���u<��`���Q��,��M�!�!)c�G�


��/<�w��*)�%
�O�:�ȩZ����i���On9�ɢ�Ԛf}������W]㪗���.��a^��$�}�N�ӧ~͸G�E�]m��zm��60��͓g
�F��#�\�:s�W:xfXe��r��iyv�H>e_$k�
J
7�����[�=�s��

u
�J��y1h�m��u)x{�팜�n����A��/�������3IpI�N��ՙ����}���k��3�5
*�~m���$�^d����i
E�'C4��Ʋd;�ji}TaՎ��u��|�brmٍ�9�2
Q5 [...]
q���
����2�k��b"ۆbj���d@���|��^ק5�+�����'��c/t���b�ƻ���)��b�B�	?����E�I�ܸ��G8���s�=}
+ճ,
.�
�
��y᪪�Cu�
��'e�
+M�w���|p9��+�|�ɶ>C|�2���N!����[����o2�Ù�q'
+t�zT�]^�.�t�]�>ͯ�f���5���N�OV�+2�Ϭ�zS�w�`�s�jeq�'
�m�z�d
�N�9�]H�5^��=
�9���2��~^��vM�� �b=�
+endstream
+endobj
+13526 0 obj <<
+/Type /FontDescriptor
+/FontName /ZGGNQH+CMMI12
+/Flags 4
+/FontBBox [-30 -250 1026 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 65
+/XHeight 431
+/CharSet (/greater/less)
+/FontFile 13525 0 R
+>> endobj
+13527 0 obj <<
+/Length1 789
+/Length2 1882
+/Length3 0
+/Length 2433      
+/Filter /FlateDecode
+>>
+stream
+xڭR{<�{ϵ,���?4�
c8�	��:Qn���څي:.唈!ʥB������	EE)r�O����������t�}^�������|����3$�Yᨬ0Н��X��Q��6<�H�H$���
��J怎 ����q# $@b
�(G�TlcEűi�
 ��lYd� �F!3<�	2�=(d:�Ǣ�@N�5�����1�/��Tk
+PiFИIJ%Of8
��Z�r��Q@v�� _�iHMRYLz
@�!K:
�z�����;�N'��헃�Mf��q��Q\��,*�f�(�
~���4.�G֓C��(8f
�P��HۯuZ�;-�i
J$N�ǀ+u�I�щ4����
$���]�d�C���w�
+F}�҈شX`/��DI����)�YnL
+�JcF h�
@f��q���� �
+�`��0š��H� �`�p��U;,�p].� �F�� @оC��e����Ņ{��
�Bc��ml
 {
2�t.�
29+�4�o8�&�cA
+d��Eq�u_��xE�[�+��R�)�.�\����M���j��AwS�
Ie(�p�~j3nw�p$a�ޱ��P؜wIVpB�01<8�|� ������
t�rV9(�mH,�z��s��L�p�垏�p�<�=a
|YU��
+�8����z�n�.�$ㅦp�i�eA�Q�z��p�"6o���CY�<�+m�������#ρ�HV�t��aQ��Iõ���=���j����ha���"s�>�vDƽP��Ǿ����gM���Us�њsNC5{&�ƒ6����sCkn<O� ���W
mM*��k_���N E�"�W��������A�%C�w�
KT��_?u�wz��z�h�ӫ�·{����U�U��^7�ZmQ�ڂ�&�oׄ��qF�wz�W�cm�Q��7𰰎�X�F�cwPK���\�
�
+����[�1Swn��9��Ɔ�֫��>��ܾ����K[���
�N��i|�`�`�p��Y6�IpVK�h��ϲ�nF�l�({�3��O��	2����NnQ�B�o�\}Ty� �M5��t�s�
2�9s��g�j�fv��ǿҾ�_*@�L`��b�hF����L�9hG����S�^d���j���:��D��{�my�'p��� o��z��,�`m���v�L��g�,=�>V��,��Tm�
�U�F�:���e���]�
ۢ��|�_�N1�5�E֨�qiV��T$v&���Cz}��Z��B
������OaZ�g���B��²(L����k��v���:�
+j��?Lh��i"��T��L�ǿkPV>�?A#�1n`�c)f
�X�&����0��Z�.{�G��[@�d�y7�[g���=��	{a-%2�*x��!���w���ة���'�n��*���)�JJ���rk
&&�K�uQ7�<D��U���(�ک��|3�*�
o
+�Ϥ7	��8Ǹb�u�*Ok���L�w�=#�{�`r��я��ܞ�ˋ#-$��3C���B�N��Q���9��֜�l+���y��q����?�=��s������3����Y�ӓG��7&k�wl	3���ͩ=�-��IΖ?���D�m
���2�u�����:��\g��iSX�)�ԝF�>՝4�W��l
y
������Ȋ�v
�^�9ߪ3�"X�

�W
����sؔ�nT�;d>�� X��EZcs]��X��.�z�{d���ބ�WkM�
��gU�k�gg�E���.Z�u�C�Y.�f�j�L\R�B�O���)�JӞ.��Ť?~JP�׭�ˇV��^��QR�~=�
�ERυJ*_�7���4$&E���Q��]T�-T�c<����U��a����S���W�ўG�l�rj��w�nr�l�
X��*�\6.�=�����;"ڗ詝z|$)\AE?�R|�)�a-�}�����3�: �Rm?6b��|ꐦ
�(g}���J�/�
"�v�
��C�yr�����[�}4JlG
�������!4�;??���u���j
+��rqf"�����y��0ImEZ6P�B��+;���4M�1_"�&L���`8�$�"rw��/�V�bT�9�{dj.�0��
>d����X���9M|�걟���'�kJ>춊��9�����y
~i��n���b-��
ue��j�
'�q�<��%b�a��br�c�.�xlhY���v�s�yC��|7}@�
���B�O��x,�{"¼[�I9��Ij��6����Rk�$4�=��"߬S���0�䌛?�5\'�%�x��Z1nx�WcJ�f5?�1yo;��uɪ��ڙhK#��gǠ�
�KD��7��X9���:��U��
+�4��P8���%��5�n�֋^~�f���
�Ûe�>(ĦSg/*Ό�:��j{=�@��-]����atФ^�Z����/�$�j&4/�UF��2��+�7F���
+endstream
+endobj
+13528 0 obj <<
+/Type /FontDescriptor
+/FontName /WNXLJT+CMMI5
+/Flags 4
+/FontBBox [37 -250 1349 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 90
+/XHeight 431
+/CharSet (/D/d/i/n)
+/FontFile 13527 0 R
+>> endobj
+13529 0 obj <<
+/Length1 805
+/Length2 2096
+/Length3 0
+/Length 2657      
+/Filter /FlateDecode
+>>
+stream
+xڭ�y<�k�OQ���Gf�0dKvٲ/M3�0��
������}�H��J�=:�d_B�^1�%$������v�}?�?��~�u��}�JY�*�a��Ac"����#4

35��TV����@G$�(�&���P����S�����)MU�,`@�p�^ j ;0�z� 	�F 
�
�e�@��-�)48���6;Ȁ
HI A  
M.��8D� Ɍ�%�����Z �̀��0a C$�i �B�,���@�������x�%��`�AP�j�|qxڟ���?$D
H"�hu ��Y����]3
+
+�C�<� ��@•���8�1�
+b�p��E���:H��Hˆ���
�
��_췞
+G����@@�o�7��[3""ᨀ�2\Y�02��Vn?�eD@18�'����H$
�����
+! 
R�� V����L�%� �ʸC@	sP�S" %�RP��["f�?�:���M������� ƳRTQe� ���r�����$H�|{a���X
#w��h�P?��}��P����#0�DjQ��ߣ��j��cZ|���N;��*o�7��'e��\	�U� Z��d�5���) �I�eYB�]��f�n��͸53$9�W��4,�1
������\х��%��k�>a����cd>�@ܲ��'�����۾̛�C�®i�{C�
��>�9S5��,����]L*���%ͨ�����7l�
�U#T�
+�h�p�^��҈'�Ū�"�B��}3nx8��W�
����q�Ԅ�e��
V�� �����;�M��,a�Ԥ����4��5KťB�Gc��}�+��~�D�6/����f���7	�O-'�Z�y
�����{:���&�
�a��"�|۬ΫL�<WHg�������bV�!B<e��k\X.Y��'5��5��q�
��!��9�ٲj�_)�_^Zl�n$��\z��Ԯ*?|FPk���
C�ZL(/3��Ǣ����o�;
+��j�]�e|��\��c���z77" ��1��<���9��k}�6?S��N{7��"|��vD����0��_C�;�ܳ���
^��^
������J��I��Y�I���w
��aYa2*{��-	���n�I�7���h��x<Ӻ8 �^XT���U�M�Iȑ��+r
�:.��Yw�ʩ5	gk�e�E��s�#��r2oaЈ�>T�q7�p��b}���e�?ö٩�
�����1�<�+�˧X%�DC�c9%֌ՙ�m�$fq�p�uj�&[ϗ�64n��y}v����z
r~�1�M����.w��T��jm�N�vӂܸ�/�6��}��,���������ݚ��
+�P����'�'�����ᨖ/�h���l;��m�O.EY�ݬ�A��4�5�ެsm��>P�:���s�ZgX[#E�g���vU쐽=B�^��F'�+%���t����_�L�~�w�a����L4a����4^��gzˉl�|;��LS��ә��>���ʲ9�:7�:��?~��W6>���'�ƣ�{��fE8k#�
�����%Ӑ1m��z��N�iɻ�$(S'<v�#�gS[�|
��;����Qq��
<�ˤw�Q��#Z��
:�*�ש�-Sw#�C^�a�,5U>�>C��

O��9^^���3
����F����$sU�Wy�{�����#z��
Zsz{x�x?���<����b4�����
�6���ިW
]שe?��X׼�W�i��ߣu��bs����?-�w��9qh��l,d�E0�49�����M�X�
[Ŭ�P�1���sQK�{O9�j{�G�
�$K�}�ٓ4���;��A'f��x��ad3zP`�`=������E�����
�:�q���
��|���
rY��k(�i�fK3�I�O/M5oX
v]>1j
~�
+{H��g����y�ԩ>ֲG�\����.S�.��"�S��{i�]g�$�9�az˥ڛO�</ϪLvj�M����ۺ���6M�
+plz�!�94�����]W�s���T���y
�
�.6��|)���W�)���NwDGb�G�����6��x���S�z�B���f6���OL�d��5<l�z5K;�b=����Yr�
�L�J���^Oᰩ�v��<&��
n�o���r�ӯ�c�����'��nL
b��s2���1s&G��A{�C�)T�;lE��E��J�|�݅M`��n+؆P}��rϓD=0��øM?��0?��l���ȗ�n�y1=���eO6�q3Z�Tp�A��;���w��b-�M�:*�;L%�g��?L`R�= 8��`�,�
b�OZO$��'J�/\
h󯽷����H[�<:,]�z�5*�q񹧩�\:�|3S����aiz9Xg��
���ҵ����+�Nij��_�=a3��7b��������L��pL��T�ĕ�r]=�B�D�
s�-�"E�ޗ�جgc���~s����D�N{�$�\sU�~Kv3G�j�>a�f	�WU�S�g5=�Dαt\Ҡr
�?ɬE��縒�
5nN���s�\� [...]
+
!.6��0۷d�r=Ђm�J�
)��^[9
hw]f򽑂���b6b3l�M�!ɗ[ܤ[3��ə�3��UM����k��\5n�r��:_���#��~�Ew��إ>��}G��
�ڕ����d�$E�@w�8կ$����F�fb��k�0���d�
+endstream
+endobj
+13530 0 obj <<
+/Type /FontDescriptor
+/FontName /OMWOOP+CMMI6
+/Flags 4
+/FontBBox [11 -250 1241 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 85
+/XHeight 431
+/CharSet (/d/e/m/n/u)
+/FontFile 13529 0 R
+>> endobj
+13531 0 obj <<
+/Length1 1036
+/Length2 4980
+/Length3 0
+/Length 5647      
+/Filter /FlateDecode
+>>
+stream
+xڭ�eX�k��E�.)�%F$f`h�n�K����ah0 i��֡{(%$iPB�$DR��~�{����s\����u^\
z��v([�
+
+��	�$����b����	�"� PH%(.	 IH�4<] `a���$D��pQn�h��#���
$�w��0(�
�8�]�j��. 
��
+ �]\ gx 
�=�h/�� 	�C�0 [�I"�[�:�
��l����
�q%
+���L �J�

+��
��ۓ꠮�����_��wqO
�������PW����@��yb�h�6��F�;���6m�
����^u
��G:��� !�����N��9�.
��p�ݿ�\��/
��F���|/�/�
�����B��Š�jDh��BH at Htx���f��^�H��t �!� (
�%�*�@ �  i��}�

+ Q����`�(4�תּB ��M�(@P�t�4A�?$��� �	������5 ��@@�����U_�x�����������.p��\E�x��7�9W�\�A�U��j��
+����zhG�����Ui���YA��/�C�~� b����D��H�_?��[��#��
���LO�`R!N�
�%��_�� z���
�=�K�ؚ��C7~4��}�~N�(�J��Y!hgY`j���7|>E�KN��0 څmY>�ޗ��I�
�6;��ȷ;s�pޫ�F��H���[$A�����c�'�I���X�6k%Í���ζUQ/Q��>ˌCڋi����/��Q����^�4�Ww$��5��
)�H���
+.'i�N�)�L�UB
+m ��T��W���jF�>�����0����Z�Ǖ״ج;΄��+AV�D6�7��}��:����'�h�Ԩ�Ñ�_f�
�ϱ	�7s�cR[�H�~�e����Ϟ=��,,`�����%����j|S�_��^*���x̮��S��+��J�JNN(��i`տ��	��F�s|",
�x-w|ƨ&����c���?,��+�
�����k����fK�ժzM���-�/�-z�=/{������V�O
�b�Y�_(Η+v�}I�U�P��8��H�x����S�ܖ:�8�O���_ڷ���K����5��"1c�.��^����{��zx�o
}�Ҵf9��WN���m��>

+�p��!
��D�
�ߊ��_����]	��hA|�_���kx���2��Kw�8���S��#47�t+�:���
��="GZ�!��a��j�܎���;:&�?͋Nܺ{`�dn:a
�zn*sZ����N\^�D�Ϗ���,Â(���F+\��N��l���

�{>eDy2KS
n{�qb1��Z'���8*��.E'��
����s
�
��a9��a����T��e��	��酲��6oa�
Ѕ#~+�a��]�_i�^z�h�*k�RR��{� ��e9C
�͉��O>DC���]��V�wt#�rDM��B�6$�
vuR�Cjz
��r$�ڎ
���m�G
Q��=�E	:��L��d����Ģ�e�ȳ	
b3��i�q
�F�7�M��N=~��TI��|�V)ca�j�_�0����7�- ����Z�α��׍��;�#���j�
��>��XT�N������k�9p�`�m!�+]Z�F]<(�}ZJ{�f�
+2�
+u���('�dxbF���<H�3�_���[h��κ%n��#����vL��˴
y c�?N�$c2�` #Nߐ�&�����B�e��Th�j��+7J�D&�䵶X:����%{(eG�8_�h���q�
�ߍ�c&�.7����(�1��M�E��nLXu��>�4Z
��n�VMKm���[��x� :�d�]
��'�0?�l`Ng?N�9�Ͷ����W_t�{�ё�֔Y��j�	-��^9*C����
0V��qF'�=)�f�m�|$�C�ʭ���5)��O[{��7���{A[5/
�c�'
_�q����"�æ�5��x�maL��V>��[���iIZ���?�����5�*���;���9L�]Ss�g
+�(�	?r��Ŏ�AK�&1��_;t�v�A�~o�� \n29�UAK%YP�A����c5�}��fڟ|�'��� �;�^�N(��h���{�94]���R��:��B�D�(NM�t��!�ޕ1, Z
@<�u���
�X(���Վ�#9ف�7`6�l=�Ko�t
S�2�8�nl�Ŝr/X��)���ڷ���|�e}�P��i9��)�|MИ��"*}:�tC���SqiXh�Η��3l��vz�0T��!֜�g{/Y�V����;V����~Mc�����"3QM^A�G���
W�h�
�I����ح�C��Z�Y�7gF�JӮr��
�f�g
+NhI�v�����J��d���R5��_Fn���rs<(2� ]�F�d3�l\&�a�\hϖm��
��F�l�;t��t�]bI0H`�P�k�x�ʃ�y�z�9�.#H ����~���͎
Mh�Y"���ȿ3
+���by�T�Z�fwK\۬C_�K�����S6v�.Zv�uGt��)��
��D���sM�|!���w|��M	*k�_M
H
4o|H"Y��^�HQ��S�=.
��{<�"r��PgEt�[E"Y��>Qگf�d����
pP������Ur�im_�"�ؙ�\����0�Q#��j]��B�¸3}k�P)"�B�n[?��<�
	�-L3�v�5�Mq7	�ۀhrL�~}�)���v3�*����0f�뙇*e�X8���f��G�c��>
�hq݄�3
0� G���
�*$����l�b^��G4��
dA�H����d�'�c��-�X�YW.o�贍;�2Xhɩ�ʼn��~��䇓�fږr����v��n�a��_�������-��I�
�#��e�QZ��,�Y�
��뒐�(�>�ȾH֑�n,
�g�����R����W��Wf���|��h�%\�汰��
�Fz�����&�(���ϝ��_U�^�'��D���m#�k�dM�s3�_=�8�g�<2�ے��`��3��
�k����%�(��m�
+��V
����0*vY[���K'[ ���[y��
>D�҄�_�m�7|
i_X��1�����Y�U"�4'��85%J�jķ�*��!�ꇼ�,h�������A�Xp�����+�.
���������wx�������!
Ϸr����ǩ����

+ y4MDZ�dx�'�����!�#�>:�#@���O�F%�[��9t��p�7c��
Y��\�b�y쏬��P]+� 
+�

��tcP`�[�>\EC�Ӑ1����q
,���9V��R�����&b��A���/��g�$��[���Q�9
�
Vf��GT��0?ɀ����
+㏂�]?Ϲ
�~�j�0������NJV/�(�����a�r��
oo�jVѓ���[�����"����>H�>^�4��Ik�`�fW�b���
l�G	=�צs���b��R����,Rƕx*��{N�/��d+IQ�~6���ļ�co���t�]���F�֎#K�����қWK�,�
�
+r�V
<}v2�G��<�vB�
��J��sy��y.�,�
c�4V�j�=	c�C�V4.4���J��L
l�����;�����B�+~5>
X�Q�����RO�.��ښ
-Ko��H[?���b��O
3gg�����+0a�Ԁ6�o��_Ml����ū�)Ex�ٗ�
Xa�2��X��?vfA<s�&���CV���,���.g�pR��I��J���%�N���+6>5�������ֿ���<6�Wh�[��������'ħ���wrA�S��skMМ��bY��-��"�7���%~��	G����@k!��!���U�j��^
+9wN%&�1���
c�7:g��lQ
?�Vau�?N�Y��8;�,G��,�h+�
�f�'�s����fC̢�o}�~@���n�]�9���.y��1N��D�koN�������g�F����4���=6Q	Ljł�{hJ̹i�
��W�pZ��ErJ�s�Q��'��,Cdښ���?��E�Hpa�K
u�ͣ�;3�1�պ���ۇ���z̜�t1n�َI�m���F� ZR�:}�u��X���
�����=�b�u�0�IS�w�"<S��65R�)�C� �;
�Ì,,��*�:Z]?K~�����Y������:�=[˦��,`]::���s�lد_��v~��u�sm�<���
{[�G�گ��;Ȟ�@��ng��.�K�r��@��#���[7�.��*�F^��d�E��}��_)����Ó<��7]Mjm(q֐
�}�ۊ9=R��������֏lq���ƭ�:��\c�|�s�bC.�:�'0Br�,id ?��!Ƀ	��
o�4�1���>ߓ�B�'�ٛ�uw��(�d:M2=8g��W�W�6�7���ߟW�u%��~ڣ
ɎK���a]��5 [...]
���yƷ0����۷���7�
+(j0��*�
��L�p�����)+�k��/� S�Q.�$שU2yJ��	�#��0M}x�� THAǿ�M���� +Qe�P/�~>2+W
D�G��|�k��i�B�Iq�4�C?��
(
~�����ϖl���ft�������
+���/��]�1�]�.����[;�M�Ɓ�}k"��y���3�ɷ�Gi�픺�ZRC�
 
5
6j��r�û&�6�L��k�(�3n��E%��i�ǖ.��0��	Ne��Gʝ�2!��4f�:I��<Eᑚ��D�g��	h�s�F��<����צ3b+/h��{M����	d�W��zF⁻ࠡ[���K|�_
+}
+R����#�fQ�$�	M	{P�A8��<�4\��]e��,@ͩx�s,]�
���@���R�
+�]�
+Uh�3�07����U&�����熺���b�n��uc�Ta���ts�Ґz0w�oDu����R���E�D�y��Ò�7��ꂰst�'�p~��z?Q
\
+��"��@����_K'��;�xq>s�[���HYI�[I��q�2������ܬt-�}g�G����ğ�S��uSJ9=�S��Ю���m:Ou&�ƾHv՝�?+7˰��
��
�jr���&b�LJ�_�1��T�F�dx~-�N�x�2������/z7�ɚ��g��yfi^�rx��q5ַB�2�X7�{�
�a�L9_�f������D ��3���Vpk��j
�J$��h��~s��竧pn�0�̇�?NM~X�EUe��S��	�|>G��#��MĖ��۷9:�Б�k!�
+T�w� �<�m�
����@��_�ݿ,���Z>렌TL�c�4Ve�(��i:&���?
�ac
+�$�����"x������f�J'uP.?&���J��Q�H�
%
�:ao�6�0X-�	�E*�F�f��p���;!�	��Dө�k��x���(�T�J66L`s!�7��9���Bo
+����!����
+endstream
+endobj
+13532 0 obj <<
+/Type /FontDescriptor
+/FontName /VUCJGC+CMMI7
+/Flags 4
+/FontBBox [0 -250 1171 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 81
+/XHeight 431
+/CharSet (/A/B/a/c/comma/d/e/f/i/j/k/less/lscript/m/n/p/q/rho/u/w)
+/FontFile 13531 0 R
+>> endobj
+13533 0 obj <<
+/Length1 768
+/Length2 1151
+/Length3 0
+/Length 1695      
+/Filter /FlateDecode
+>>
+stream
+xڭRkTSWU
+R����փ�yA�&AB(���Kr	�\�I0��j�By
�
+
X��aFD@��
+h(�*���PFe
+����w��s�����}�9Ύ�|���Q�҃J�2��
���B!8;s0R"�< R�L@��e�m*)�y�7��ɤ{���`�$V	\9�Eހ%�1D�R��2���>*B`��XR)��?� ��a1�@�1"R�hX��	�yK��x/�bU�[*��)�`s#�M�Q�T�p
�
���`�������*�4
�ͷ��4$C���
+PY�J	c���aL�T	/z��bD%[�+!)"b�%RxP�H�E
Q"jX
�(E� �*�
���:��[�A��#8�m�a�p�+�xP~/���k<"
Q���BŅ�z��Z2k�\�����
 a�!P�V4:
h� ��a5�ոa2I�*�# &Ġa�U4@��4<+�X�(�,���7c�Q�փ�<ht|�J�tJ��E*
��ʅσ��A�HaX
��^T�w$��˩��u��mT��[r�V��\?����M7v�S 8e���Cʭ�	ѓ�1��/����|��u3q��o��擢�={MZ
+�V�
+�=6����6����Pb�Ye���9�_�����}~`�����+s�=�&Dֆf�Ÿ�N��Lp�"�x�eힼ��sF���;�����'
+y��~�l7�2kҵ��cNc�tD���0�gm71��Tm3�c�=�8�A�yi�sN�

+0���j[`���yC}z�%_�޳�4���ԙ��*\���Q��
�n~Ms7
+�QvRO���/3�����
�F?�����р]6��k�F�n�9X�v���Aڝ�̎�NR�?t}I����sKXSܦC��G����gnY��䴒�
w�$/*����f=��!�
T]��ݕ��{o��f��ڸj���{	$��hj��+�ǰ�(�-����Ư2�骦�S#��A�є�Ɛȱ��"�������!�m�+�4���ϻ��[��o����^n�om�y
+�Qm�j���LglX���|�l��uf���h���g?��ɘ���s�S�R�g��辪"S�ˈ�	Fc��
q�/������j�����<v��*�%����"�a�3�s_h_�߷:�y��g�u�W���/
2}�
�Pg
+-����"�H$��3�:���qz
S��fy	�����g��"���b��f��w�����h������Z���[��
���%���5��T
+����w9�2���{(ͩ3��Nu��Υ��Ww��6��8���
7�d��M�~�¥��MQ�X�u6����.�Mʏ�$�\
+��q^��٭��X1��iO�D��=�/�N/{��i�q�꽿���<�xy
��oď���\�z��*�����1�L��)Xwh�*�lzf�I�	ƒ�_�7�
$����#[-�D�q�7���^M)�#�Su����6��
���琼�7śMwەz��9�y���
�
+��8l�7<��t�����d}��û���5��
��H?[�Pq@�>p��^
�)Q!�;3��R���W���n�$
���<k���a���o3L�6��8��D2�
+��R��g[�	1�	��o��Uw�
j�SkΘ7�����t�8���d͚��G�.h��]���3�׆T@�gR�
r���P2�s��`DX����͢te�\{eר�
��3�
+endstream
+endobj
+13534 0 obj <<
+/Type /FontDescriptor
+/FontName /ZRLUIR+CMMI8
+/Flags 4
+/FontBBox [-24 -250 1110 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 78
+/XHeight 431
+/CharSet (/greater/less)
+/FontFile 13533 0 R
+>> endobj
+13535 0 obj <<
+/Length1 914
+/Length2 2396
+/Length3 0
+/Length 3014      
+/Filter /FlateDecode
+>>
+stream
+xڭRy<�k��Le����a6��R���X�
�̋af^f���Hek
*YR�(�Rd9���`"
�B!Ke�o�w��u��~�?�}]�s=�sݏ��^DŽ�� S�@f���8��E�`��ft��$C4s4�8�>`A0� ���k����3(�E'3
3͵&��
+��D
�'0�A*O�H� x�H�,`B� .k'�
� � 	C���� 2
�\�dM
� �0)"�*�3x� ��65�ID�� C:@��@��������EP(��ZP��	T2������=D��[=���A9��;k�$P�DZt�z�����G�INd&1$P�w
��~w‹��������֏�~�dӕ�_��k��
x�(���[��|�˂F�HdZ���:����xR,�Ad	��(�a$�1yG ^0q@ D��M�@@ڭA�+,@!*��A�nE�?K}
�
Z���hb( I�_g�<����)0(F�OD� @�
HXK�2�����&����^�;kSS(*F�t0X��QX� ����Fb�Ҙ߿3ob�ԁdސA0
+$��CD�䐳�)%��=W�4��ɝu��8F���F[��k�]A���!�R񬏶א�@�+�j���<�p�D���f~~�q��O����������
(�	�њ��G�	�ۍ�
+d?�
+��=�6���j`c6I�m�7�֎
��>�p�%T
\j��əߺ2 �8�:(�����
<��^AiF��C�*
쿀��n��>����1���E��e�w���N�
`S�_x0 ���$�k��&)�m
+GoN�d�v�W��������p&z�
����
��%�n����|�y���u=�)b'q�2`%�aL��Q٠�k;^�Uu뜿#r�&Ce�����yʡM�EO�_,ݰj`ϙ�ZVBl�Ł�'�,�N6��OU���,
+7-=d�%��i�TE����#	s��+/f[��9����R�1<^2-&���7����xТ;��U�w�z��垙*ӈ�g�
,9�s�=א�/u��>p����
�r��v��.W-
eR��������w�/P�"�K#.��koCxf����O����s�#���6������=�V�I�ܽd��!��5�
^��i74c#ż�=���{G�	����I�=�{n6�_܀����I�L���X���6��CEgX��m���W�%Zv�l)�?ѱ=�v��~U��9:�T5�����^ �<�{pE�U ��y���L�z)F��⚴�1�"%a�auoҩ7kF�
��?\~�Ū~.Yu6O<;���������UP�j�m���X���]��N��qۇ�j�~&)�ڍ=&K�B��S��c�O�
�;V�eR��8����#$��7yN���>�0; ��j:��W��J��?%�)����@�l
�邊p�]��&O�����8i*vRIJ=��ޛ�˨J�17���B�����ڀ]y����-��
)Y�ba��q��G_�9G�J6��)���&��B{�ޞ��(��9ӱ���=�e�Q|Dc�RL�}�|��K
�f��	P`��Dl&�
�==Sz
�R��������e�v�.�6���Iٿ�Z���O��ISw_�
��	��y�8gߴ&4�x>�w�h��y<���{�������I��
E�Gӫ="8FH}����tK�
+��N�BE��y�_s�ӔT�Ҕ|�w�Y�V%���Vj�<��CPo at z>�/���Z2&�&��a<�zjU�`A]�ꐩC>
+��d|���m���S��8,��0�\�,���˷c�����~�C�r�j{���GP�y��U�[�x6�ҭP�t�#��ZmEK�9i����њ\����{��B��{��Υ�Ҽ�#�.�#�%�A���	��	�bS:*.4�/
��/���j���?����v�e[h���
�l�=A.��:�ۺ(p,�\��+֥\M j�_iT���VfS/��0�q��W4�U�M��<���U.g˶��i��B�^ə/�ީ�1��9�g�O��/[�V��K�
'�Y]����Ovlj9��jwG��NG5B���(��A��j��5��+@�N.�)n��
~�tAH�Z�SoD�
�zi	�/���i�12K�
б�z2�����2!�9"�5�_*)X�m�W�LO�a����5��Pt��C����ʃTL��o�%������y{���)A�ef���#�e�1��G��撽���\w��l㘆���6F��>��z`.�b���ZY��S@;�*���=�9��K
 [...]
��LO݊,ҰÙ����.8�]�
��vu1��T�N8?�y��R߱+~�ζ%:]�M&v�o�l���IV����%���
��
�)�u�W
�_]��m�1��
�����<KU?~�r!�R+�?����a�#�Om����6o�20	Yw���������/�l80uN���}�N�"�s�O��-�ׇE�����3�\�xwth�y�b�̾��˖�{5�φ.���)��_�B_x@����E��\�I��8��"#�ݎ'�Q
_�P��cz�f��_Sa"�ZV�7�CLo^�qO���ʹ�GB>I�D��BuRJֱ��ζ
��Po��k�ۺ6���:f�vUQ�V��N�Rq�J7yܪ�����pE����%����]����L���]YF1.����_
Y"�Uˬ
zVj�9:a��/�
��ۡ����G�C��i�R��u�{>�A��dY
?yel��d�m�L�%7���~��,Έ��,`*u���b~�
+�;�)FP�
.��[�1\ւҷ����js��07�||�U_1�6���`�	7m:��
׋ߒ���i�R�
m�h�o��?�w
+endstream
+endobj
+13536 0 obj <<
+/Type /FontDescriptor
+/FontName /WWOUVU+CMMI9
+/Flags 4
+/FontBBox [-29 -250 1075 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 74
+/XHeight 431
+/CharSet (/L/comma/e/greater/less/n/slash/triangleleft/triangleright/y)
+/FontFile 13535 0 R
+>> endobj
+13537 0 obj <<
+/Length1 912
+/Length2 3316
+/Length3 0
+/Length 3922      
+/Filter /FlateDecode
+>>
+stream
+xڭ�y8���Ǚ�,e+��e'��SYF��(�}�
�1��D�JT��%[b(��G��ʒ%ɾ�BD~S���O����=���y}���^�y��qK�Z �1D�
�@���aꀎ��!
� ��IH萰(2�H��"c�عs*��
PP����J�?E��;��ss'�:2?E�����C��)�����@�� ���a�A`@��~�����X�?f�� 
M\�n8�)C�+P�+����{�K��ٔ�&1D>�`]� fDz5,�����'�����P^?��ժ���p��������X`J�`I�Km�����Uǐ�����7<��)��J�q�z�@,�GF��(�/�W
K����}�\@lLL���G�k��#����� ��/����&�p��

���B����ÿ���D
��((� (	�F�DtR(0 G�`l �2L ��[ zcB W"���\飁�~��"5 ��� ��%�>�ҵ�� @�CE ��* [...]
+�k�$j����O&;
qxM�w�e�4
�ʈ����Sn���-�&
0՜��w������׻Ƈ�S1b3�l��M��W�����.�s��ym��雼?�O6��z~�L;�i�`
�4+���{[�mr&]�ѻ�
��[�D�,��&���lW�]��!l݄�T�2�:�m:�s8����T\�3 .yhꀍ繥͖��e���W����š���ZB�
�R�z�4޾[q�ќ׫*N�q�&.ARk�Ϋ��Z܏,9�7wRߐ��@��#��z�$"{������&�
�7iM:L�e���{�@Ҷ�M
�E�i�>
+]`�4Q���������N\�w�yQY�ZܽG���������G.
+tM�r����
�r�NOCC�:�J�=*��u'�����R�\��Y� Gg
���̡�~�i�S$K�B/K���Zﳖ��T;��S!���vG��[�Ė���vx�2&����(��x�
+f������*��g���
6ϲ��
=/V�ݯ���{$W�5@$�g�pd�����~[zD�g�
Q2KN#�2n���J��&}{�o��u<���E@Į�*G
��.�0xg�a:��kaQ��Ռ™������
��@�g�m�����2"GR�ś��r�ɳwd�d�0�;W�}�|�����Y�Jұݘ�����7Ǯ
6o�V�����Ds]*��b�<�,ݷ
�;��=��Ҕ��ˢ��
%�S.ۢ�(o
]	��/U�?��ȇ%{��e��{d�\[�qjte����
��8{7s�sbK�������z��oUS�ur�t��U~''�I}->�
���-���6��
+���ȳmD����R����*��g}8W�4��[�J{^�~�(OS��
���\���ꦦsKe+%��2�/��2�%�����
�Gj�"�G�4��E��?��c긎��*����3��\fcL�I_}0p4õU5P;�y��ҏ��A[���/�2+�Y�p�',���`k�*�g>5|��4���S	ł }�&QZ%7�t�s�q�@�Eہ�f�K�g�
|�&Hm*|h1O$�5Eo�P������&�Q�p�
�
�T�������"-Z��z&q�8�y���������²
� ��k�F��}���0�%iy搖_,t5x�
+=�Fm�>�&_��Т$0���
�"�a
g���}Q:r�$
+>cf�o6��֝:�x�!2�^s)F<���Χ���
��w� 3-
�R��	_(���!��Q���,���MU^�w�N��~q8�L���&��|4��ؕܓ�4�6�ˑ��S��::f&�+����=-i�
+���:Xx%�X�.�hȾflcJ��Rɱ.S�,4)pR��q��ܶ�������U����{̫$� �`Τ�F��|��e���l>�#�d���m�ݽ!e�8/����U_��d���݇ŌM��js7S
�31c��횿
�R\9zu��yJ���
�lw�A��2���s��[�w��&K�c4�*6���
�
��U���:�A�@Q�<؃�
N<��+�d͑
Pk
nP�xQ�4
+/�5���������{)��Èg�7��W�.Ϋ�����)��LH(�xy�JbBf
fJ�f%��G�a����.F�x1�����G�x3$:m��w�*��
�0B���O�K+�w4+�)W�O�U�p�r�^ܬ�%�
�h�?�
���Q�WE��v�>��!O��}:Q�E.=v�K�T�eY��P�\=u5�qS�q��e���F�	
�us52�NJ�US��<�8V��_SاN9~�}
z���)]�S�};5�	,c����k��xA\�b��\���F����0ϳ�ȑW2��M���I,�!�
p��l�g�~��c�
��E\%��.*���i�`� qiO
��˳�ӌM�K
+n寿\��o�˳|5R\�q��w��8��)��i/_͡��I�e%����
��⸺t#��״�^�������%G��s%�=k�W�3�s��?��-�#��K�'���Y3Ghf�~(�jd���
����Qd��Ŋ���Cy��#LJ'��NzU~���9��4�]��4ִ|�ne'3��n��$#���W䵧,Wi]T�*]���u
S
�#����8vzt�nT���
�/c��_��*�a�
["Z�*g4�(C
i9T����/�~
�
�"ߢ�K?�`[-X�t`wCv%��8�񶜇��<Bb�6�I�-؏��՗�r�3�2��m����qy��Z:�Q%��Zue�m<���8e9������S,��/�R���hZV�g��
�Н���6v߄�b��L�-��շ_5�
/z�r�'�$P5�v��+Mx��E�lzA�����&���:��DwgP6t��hu2��2W��-
3+j

�e5��U1-H�Z�xT"88�P��i'|<�?I2�>�\�v�Z�ϱhP�Z���ڤ���IF
A�\y�h������=�f,g��M�	���̰{���z��琾�~���Nε�_`�/��TV5]/4a2
�u�?4�}m�uv�RT�Ϋ-+��kI�zp�x!P�1
�V
+K�����:R��m��Ah��Me�G�UwA���CD������|�7nU�\B�R�[A���}�(�YjR�DD�.����ni��~i�}[c�hL�N���(2*6�
'Θu(���V�	:(f]=��e辙}�@���
��#j��+	w���n������\3�ه{���c��"�w��D�)!g)����u�3|��
w�b��U�-8�e����'�X������A����jZ�ï�hvJ31���0OӐ��>ܔ7Ϟk�\tq|��I�
.��\_4'Yye̛%�I1'�'��'N�qm��?JLYԀ�G�P�7�t��F�9�*�,��i�`�rK=�1Bf�36���Ka*�B$�ƷtQ.O��k��	�*�c|��/m���
*�Om.��8
�RA;��cC��;9�5C
Ͽ\߰vKh)�I�<���pڬϭqt����$B�*l^v����&��&M
�N��o>�H�Zݢ�
i�N�\�<o}i�=.�"�/U�?/
������Ɣ
�P#b;�=�۬�]t�9��'30�T�ˀp
��H�g(�&�%�`�[s4�R^��G��8�j
��8��፯��!��zD�y����/�S{dT+1��f;���c��*��1�昫�i>��:�|�&��~5�o:�7
+�/���ea�
+t۾�3>��-E�)���
C{Xg��u��f
+��Omlgc�S��N�.6"=ݵ�Oֆ���h���e�i��9����t$@�v�^�i� �i�璌K� C��
+endstream
+endobj
+13538 0 obj <<
+/Type /FontDescriptor
+/FontName /WLMXSH+CMMIB10
+/Flags 4
+/FontBBox [-15 -250 1216 750]
+/Ascent 694
+/CapHeight 686
+/Descent -194
+/ItalicAngle -14
+/StemV 113
+/XHeight 444
+/CharSet (/a/b/c/e/l/p/q/r/u/v/w/x)
+/FontFile 13537 0 R
+>> endobj
+13539 0 obj <<
+/Length1 808
+/Length2 1232
+/Length3 0
+/Length 1791      
+/Filter /FlateDecode
+>>
+stream
+xڭRiX���E"zA����~P#$P�#�^�
A�֐L`t���D�,
+.T4(���&�"�i�ʭ�
x+���HA��t@}�T��g�|����=�
#o?s&
�\07�Qh
�b��
m �JDT*�Ȉ%��8��N\
b ���5� ����0��tXX�P�C"�����O
� ��G!>�'
�"|�L_�<���)����
la���m 3�<.
+�\<�$����x0��(�� �w�C
|!1$: �)$
�a
 p%Y,��
+0`�&͗ߕ@"1���vE2 �c("#�
+H�1"��?��O�"AOn�2���Թ�0"{�����C�7�
1�1�8�yL4
��9͊B�FS��.��{�8/��Z�C(�}!��+2,8>^��|M���Jћ
���L�_蕘�WLx$�� �J!�&������0g���a4
XҭW$��HT�ʒN�4 �|H
+ )�؂�b8�cb�#��,�f	,��9҇K8:b�h*0�����V��N���'� _�ˆw� &̃ )�#��`���{�ՇK�/��*�R��i�zd(��k����t�!d_�X��m\��tc�ƝND
��7!���3�>���8
s��q�띙�vQ8I��ބ�zC�Dž��EV
ي
ŧ��:ʲ����1��K��g
CJ��S���E��%B6H{5���{��V�K3Z'ҹ�̾��{�k�z��i7.e�+�?oI9�R�H��nJ���qI�'���9��d7iV��G݂�B��q¾�*�<+})�Ƀ�ĥ{43u
+�F>
�#��P�
����!����1��m7�9�[W�b$9y�U�3�9?�Em���̅#~פK�^B�쑦�q���
�M������g��zdH��(��/�k���gkS
~"]ৰ
E�u����*�<����۴iڕ]���\Q��l0s:����Ԣ�}ђ��㳙�Z�<_����ٴy�NgH}P5L�g���.?��yG���4oI��78���R�ʙ�e8��D��F��&
m
+*�(:v�`,��G,��;	�=p����Fɲ�K���eM=�Q
ܣ�a1����&Ys%���f�›���~�v�a���]3��U�vt.�R���_J��=���}(]]�~���Z�<�'�v^3#��7�]��t�Y�%}�z|7���X8���oI~騇�̆�?	�����a!����v�u,���8!�+c�5�*]��>ݞ��F�&������~���@�-�'����NƏt>����*N���^�É�3lr~�:�����%߽�գ5��cu;7��o�)Ff{q��%�{��i��i�8�a��Nڵ���)z���)��#9�&��u�n�U�i��i[3A�)yN{�E�G)������<��7��_��~��'�|gý��A{a�z1#8m�h2������e�:�	Q
e��BU
����vӛ����O��8���+V��
��]xF��Ѭ��))#[������O�7gZ$�5'.F�W�Xs��-�Ҙ��B�����N\�A��(8���n0��>f�u�qW���]��Zs�3�
W.�ۜ�Y�
qf����u�4����m*�[��܋n!����ft*.��񁐹v��wKv��Mq�V��y`��Z�`W���L�E�>Z��&���b�°A��
+�5X⠫�5g
b�qv
�ɫ��^��cYG�������k.��*�_c�Q��O)$7D��t��q��<�~�������
�1��G~d?�z�n�yt�á���_8N�����Ϳi<��nB�U�S����Ѧ��u�ԟBs"
+endstream
+endobj
+13540 0 obj <<
+/Type /FontDescriptor
+/FontName /UQOYSR+CMMIB7
+/Flags 4
+/FontBBox [0 -250 1294 750]
+/Ascent 694
+/CapHeight 686
+/Descent -194
+/ItalicAngle -14
+/StemV 63
+/XHeight 444
+/CharSet (/p)
+/FontFile 13539 0 R
+>> endobj
+13541 0 obj <<
+/Length1 1447
+/Length2 9188
+/Length3 0
+/Length 10049     
+/Filter /FlateDecode
+>>
+stream
+xڭvuT���5 �)%04�Cw��tH�0��
�H� �-!�� HI7�!!)%
��;�9����oͬYϾr_���Y=��&����9X�������S ���	p��R����P��+��A��,��ȁ�a��/�/:=@���

+��v0I��
���C! 3����5�
Vdf�tA��^� I;;���
��
u[��sr,  W�9�
+��񛒂��#��_f
7����P) �?4_`$-

� `Kt�׎�n`����������k3���
��f�;��	p�wrsC*�`������Mlq��o����
$�`e �e���A<�jW�5������
�`��$`��C�C^[MSG��_;�ǧfqp��r�O����`�?��	0 ����>�~2��^� G
�����`��y��N
�|8
�' �	#�����
+K�4�X:B�/��!�s5�m���P�[������ p��A�|s���j�t�cp���xa9 G;؁�����/���C�,����~g7�Y�O
+����s�������U���
�WOX��_V��/�
���:6�_́�����ߢ��&���OonX-7{�߷��/`���?�V��,��#9�q�z8�A��Kh
���B��^�0
+N`(��W(l^';7���F�KN�?^^
�=�/��w
�
��V�vX���m�OW^AWk(��M�q�p�+F��/���/���ךa����b������PJ��Ӈ�
���}��|�~�+������
�.�`7
����
A�!6)��J�e�'J��ᥬ�b_�}����oW8��̼Z�w[�N����C�qO���>*��sl��㎻�N�w
��Y��׶�U�N[���!/����pI�O}Y'��jL2Z�(��p����!|�zr�v�a��
�����%�y�V<p�Wƃ�m�P�Y�N
���o�Qs

��b�@�T��̄��ş�pqj�z�$2 V�P��"�ƐBp6���,o2Y���1��*�?Y[������V
�L�YL�?)~+ ���;�G1ޠz?����ڕ����$��F���G��j��%��KϘ ��ľ��&��G�qO|�q�H7��+tA�|ǽ��zy�j����/���M��@��ԫA
堌�8ݐ��b�Z7�W����S��R�B���_�sD�JhUh6J����z��2�kI�@$�������L��3Pt����,61���N[=s:]y�X�����c���ȝ��Am{o���
���Dm��T����p��BU!��ALP�ha)��!���\7�� t��C��Ui
>�9�H9=�.���{����j
�z��\i���ʟ����PA}��
�+����/а��\�M��C�vM��ܼt��ֺ�y���50��=����	�G[�f)L�Ї]
مi���?���!�����D��p[�������?�-����q84��0�<�C�r��A��϶GҌ.N/�[��-?"$�p�L���jx%X����2�j�x_Y�PF�˾.m��˜7�d�E
��
r8���"��γq۬%��e`��^S��R�|���%����U�F����������~a�i�8.�2u�D��(�rG=E��Ƕn6�2��߰���V o�"�T�m<�<�,��6&Y��~ }m|�%��#e64Bqj
�n��ډE���X�Oڟ���h§P��.l[�7A�[{ϧA�`.�� ����b�#H�Z9뤛�2Υ��M
+���ya☦F��kY�
z�h�y'=<a'V�s�h��Μ��Gm>c�I�kM���݂[Kw���fz
#�V�QfI
��/�WBqW��ʁ���L�J��R�
^�/Y�t�
yx���k���f��qR��MC۵A�I>x�g���~x��]�^��x[��i��ċ�
��+�q�-d��ש������P�ubj�[:�EC�S&r�g#�]��ƃa<��S�7W�������
b�$D�S�r=�3��������O �J/�X�n�%�_�WSLH��9���|�����`Nf�-� ��<�0�Ʌ�
��H��g����T����0��鲚��g��m�
ap���>�� �91�MdǷ���D��|e����n!���
��
aPO�`&�����U��jfؚ�
M���O��J��t\��
5�-9O��X1$������$�w�^f8(�QZ�RP�MI��}!�J�
+*�_8�JG-���
�?�{�JC�ivH�Yl�մm'��b�s����
+f��<�"�L@�Y�o
�C2�����/�3�4$���;Z�9<I�|��}��K#L6GUwL�.�r E1�����?��(�V�����b]%՛P���l.�ޘ��	���i5��SE�1��v��JH��
U>F�S#��K}܃�ϯ��V�7cv�
������=1�:*7�#�ן�y�n�P~,K��f��X�Ԋz �l|�~��^>'?�
Lk��U\�–���ؗSzGػMi��;H������h��"�T� ��k,��9D�x��H?AL:F'��
�J�84h��Y.O�4���T����R�־����
ϗa�VL�k:�.t �׫
�}�gqM�		��d��!5Q*?�9�Oٮƞ�S����
�bCU�CQ�eL�qʶ�ر�z�m���IbO�8�u�G��,����ئ� �y���2XYD�p,�7sVjS>�sU�3��
��m<�Q.i҉�|� k�םg\io
+7F�vt��H����i<lA��,Mt�~
0zA[����4Q�A���2���߰c����oA<�qMx^[Z߹�]͎=�e�r�/���4�z7��
G��Li���
���\��/߭��K
ڜ6 ���?���P_2�&_��]�
���NN"52�,�.�}b��/<���E�W=�i!c3�����_y��'k��)-�_Hb
�'�W�!6��4���#��q�
�%y����GZ~!�a�ɩu�jd��Z�BF��YJ�/0S�U�ܩND��k݇fU3��8Ҩ!��YNi*e�pE�Z�Ί��]z��X����v�����
A�
+��Q�z�Rd�_g����e�)���=�"�ǕTϧ�������O4&�y�y�ee	�2���4�5����Tu蒹�t��֧�X��:�1|����A
�NۘU|�,�qZPb�2/%���p��`C�

/�q���s�Os�ۢċ��mR?]��'h��ljkB����̽(����z��곲o��wO�:������{5~ܸ�����
������O
��w46�ɼq۔*�f
،��7�*���oL��x�k7}�4��#} >�xn�<���i?�1�j�
+y��Q.�I���]��<x�a�P1n�l���
V�g
+���巏�8m�7^�
+�n}��3B
:r�V�a�z�qs��
���A�v
3�_����SQ"�4˿p��o�����kG�-b����R�pM��q�[�����s��8�yw�����k
�u]PZm�P=!!I���|�gQ�a|%�1�^Ε)u��S������ӛ
%�}H���[J����RjC�ӇW�T��j@����:d�9Z�T�/U�U	�WQ�h(���7�
ƨ*� ��<p��Qic8&'�Ś����@=�
Q��W��
�o���s
�ʕ��>�j�<�}y��i,
�C��ێ����,���`����U���,�g�~S:��`�ڂ߆�?��2B�Ԃ���H���Ͷ�#T�Dϰ��%�ބ
���%K���D�ܗe��i�zK��g�a�\'uH
+J�Y�$�oQ-�=����թ�s<ӵ�حY�Щ�����(�����'G;��'Q3�5�u�� $k�'Y
p�w]�L���r����$������]U��
+V�i��z��i	e{�
+��nh�Gj`2Ş5�#G�k!�M�p.������MA��d��UK ��a��f��nr�l�g�q�㾞\�f��u]`4��l�f	�и�����[�MOk(+c�l�3Q��)�x�ط�z�]to���
�6�H��
+���7��&�4L�ⲿ�EK*�g	rQx��L8�
�H�ʎ�d�"f�^��
�y_с�v�����<Kޮe�Y;�ܴ;>�X�c���ם[h���)���S���d�6i
����a�b���d�O>\��,����5�<��D�#k�&I��g��J�a��E_���},No�S�[�a��L�_MuW���nr6��i
�?���!p�	�
<sin
鮣�\
�N��.�: ]��p[c/�(0��ɰ�na����s
+��i�M�*zU��\�W��w8��B���'�ʑn�����l7�
ˁɲ��
�In[靖9�6�Y=S����^y%)��5���[���]����n;�|��2��1�~�O��e2�b�K��q�M�ż���G��Ւ��t���H�p�<Ǡ�y��G��dG��O�����������$�t�=����Z!�<b�+�5�h
�4��c`�7T�6-�
�M�Z\>�C���Hy����v��
+7�5\�{�*�%�.��I�l����(����>�j苉2lT*��ܖ�9,l�0_�\I
�>�]��
�hm
h���R|{׈^���h��c��VpeGO�f��]��H�<�2M�;Cd0x/ylր����nK��v��������Ɠ@��d��
'9�*���[?dЇh
LUMU�����1G�
+;m��BI��'+Ղv�uP�5S��w��܉9�����a
+�_`�~'P
z����j�
i
�Dx�?ѳ����d��o�
� /�9��kD}S�����
+^n�n���a�lxf�v�/�j�I�הτ���
�rq��O��+��>@`F����i_|u"G(+�r�~�Ɍ�|	m{C�Ύ�C��Ɗ���6�6�=��T
+����ύ�^�g�K%%Z�s�0�t�K�T�zI���d�;f
iT���w1����1f'S�iS.k��Ռ$3x�
7���w�$�
�
N��׉�,�q��0�d�l��Å�c)��H��Fd�w�T��e�ռ,6J[
��ʸ�Elh��Rc FS�):�=�	�,	
�
𞠩]z��Z
z�@H�����B
e�sZ\vV��&��sEQn��]�ɮ���}%�EzN�8+E�ih/���fo��t�za�yM���g�ϟ0�YH�DiM�T��[���\9m��8䇭�
+6_gl��+�2I�Ѷ��)�"JG����V
g��#Z���������1��V2�LV>j|� �[��|�_�����
4�G�gq�8Y��W��U�3��U	�ŧ�-`A���7M�O���Y���\n���-ؐ+�S�miij����	
g��
5�*��v��d���]=dG���Š���Ÿ��Cv	���Y�~���.�DO^߃�������
nב1�Q
(��N��ǠT@��G;z�O��u��>��L1��9���&��E���7��f!
����F�!���k_zc����o�b�Vi*G��ު�P뗫���!x��b�8鉽�g}e-6
UPd&�7��0���"���1���������:]c�i�p�Q�}�9�iFs���
��>QEL7�Kik����W_��Pp�UЉ�/�'�9�{���b��8���G�r�~v5ۼ���V]��|�Y��W��`��ƪn�L���hƝ��K��Rb�>�-uf��F�C,���d5�'�q>�*�����p���������x�t�VyI��j��n�� [...]
�I?0���ʶ��T</ݯ�����il��\��H��E�½J�DI�iM�Z�@
�\�
/s�6��U��w#�sL�*a�Tڟ�~��>Y/�Őu>�
(vG��fP�A�`�w�S߿�V�L�5�"��c�5��ޢ~�V���[T��W^��Z�>?��������
>�]�
8Н�ׂ���eT��O��6=��ɋ���$�8�������4 ކj��*��E��
+���d������G��ۈ"��!�'I��R�Y1�\���}dN�}j�w�2�p��,9��|����1հw)pR�k����X��.z�>v�c��l
+�	}�̟�A1���_�O���~�.��o.mX��Dj[/G���%�4G�٢
k���Ƭ��|��r
_W� q}�k�j��od��!q7�ѝ(�U&z�'�r>�:��f�A��
+-�+
*
�^�W�R���5a�W
�I� Y�p��1��'c���cK���::9Rs���usZ�K�AY��y��/P�9�E���"3u�~
�z�.�d�m
��̀�D�1���yR����"=1�9���	�RFT�W�6=�_�X�e�:4�� T���WKh
+2���l�A�
h<�(����_&�L�l^����^*�ӣ#���Z��1�OϪ�Θ�-
VګYд�G�OՆ��5����� b�[���
ُ��EZ/:�N��
� �z�s���dW��C�!���h���l 0�J�b��A�ۅ?�3g�9�;tb�e
�/��0��؟EL>�
3W��v��}����.�
���ܱ
�� �:DK� u:nC�a��N!Ӷ�$~�
(��Q�	�]����>��_����t��9Z���S�fޕrvNN��BG���Q�3�H��O9NxH�@� ESTte��P��
m�
��
o}Y�2�uvg�L�������@�<E�~)�����A���N�-��y�������~J�D�	�4��:�����9Q0e���
YٷS���xl:TpLxo���w�
HS�� �����a/n�p�
��+aySD[ ���܆��$�<=U�����V%�q
ɺ��Ƨ�Q�rQ�$Z��_��H E
�I�h�h��A��Јƕ�z��~!�����@��v�y��T"�7���V���Y	�
+1#E���áz7笠ǹ`!�聓>z���4�ܶ�
\�mfb��
�%<�� ֟�ѡK��W��5M��إ+5�=-H�	u�
+�E*,�E
+�7����g��j���|@��}�|���s�m�L��C����V
f�_*��X��M�w��Ju"K:�E���t�ߔG4)'+-�˭א�M2��y�"{���PDz�6
�v8�����j<(��
����{�ś�>�9�\�
����:�x����E	I���YL��JK#�TOf��m2$%��Q
z�~
_w��	�X@��}�~8��X����j�h�9�4��KG*[M�gH�����P�Gw�mr���͋NGiy�WS5�}F�M�BGT"^�䁛��ɩ��\Ws�*)�'���ώ��J
q
*"��‡	����,�p�"�/����T��OB*⶯[9p�w�O��&�[T�)H�JJ)1�~�tsσw�}_����lޣ,�mN����
ݽ`5z���l
�+Ϧ���T�(*?
��92T��UIA㎼c�-��ۚ<���
j_�f��
��$�	
�t��c�Y�� �#V+��E�dNA�$�
�@�i/QS>]�O:�\z���nO����&�!�/&���Z
���2c@�U+����R_���*K��ʼn��ٹ��[�<��wq�N֤o�baV�Wb��޾V>�\�='�_���m��>�V��6���J���v��8U�3�rs�����d�/?��f+�+�����.h"p81o
�+�Ѥ�^�c!ޘE�˕�\b�
��<���q�!m
�w􂭾�iګi#׿x�e-PB� ׸��)���"�{�|���_��B1��Oo�/V�XV��(q��ٶ���.'��H

�q$�&e���>�oX���\������ e��k
�
���۵�_p�a�
�S�I��oly
~)��-K
�qn�Ȯb�n
�,��)w=�/Ӊ�N�̓u(#Ce��Y�}A�R��@,K�Õ�;��H�
+�Ԥ�?b�N���Z���F@��Ȁ��
hF�GcN���N.���_
+&|���'��M <7T�l����X�u�2X
���ތ��w���Ц
�'6�k�
+������[p�o4�&��	�M�
�����?�
+�.�ol��!��|�@Ք��F��uEcD��e���ng�j$��ܥb�5
d��om�t�
+�}�
�
+�X�Z
j�uV�����Rme'w�
����=�IjO�d��[bK���f�홟��9�fp����
�]\�ȱ�_#,�F�w�
/0��v�-ǠZ��3��_�����A�"�r�k�ZW55��_D���?�I�e�M�s��xXH� ��m�N!�\��;�,�l �� ;Wk���1l��}ݿ�H{��X�
����
�����sӷ��.�oq��֢�w�q�����dLR��B�&u���*����\��,�5[�Y�/��W+�^�=�Ppwc��|�x�ϝ �`��I)@Q�M
��B�:�_�‰ت�̐�¶
�U����	���L�fH'X�,�5���
+/��
+w���˧k��V
.Q����p��N!(���	3e�0�j���DQ����-ġ2&�O����B�~9�zK.}c|g�>n.�t��8Nj�9
���
{Lk���I8�J��`�!X��(�yo�o�=/���:�=z�L���
�W�z��f9����Z31C�i�ږ�{�T9�аB�en,��h�l-e�
�%a����s�;��;
x�B�c[���ÜT���j����B���)��"�������F�� <���4 ��G���3(]{��G@����-����1�_�;����Ӽ��MB�t�b�����a#%Q߹V"�H2��wX��0=7��oϚ{'e�30 (���{W�e�j!�7#s/[#��8�
�IŲZI��7�.�^�
2,}<Һ
D��X)�%�qt��/��A$V��!�T<����55j�\�v-��O.TF\�
���J�̕ޯ��a�T'�&ݗf
���j�^.�e�N$��Sfs�2����&�2
{�؆N����Ƈe#�m���U㽂�F� Ӌ}�M���E���jk�R���@�:	6ų�E��}	��
p�i��
��nW�7[��v"W�[�ڥ�/e�'�css/�QUHeLovb��E�?����ճy������-͗O���
퉂��QRV��֣gz��YhU��dr�`|����
�K�/����2��V��������JԬ	�B�EI�у�~̿.��
+m�s�I x�=�{��<���D�uH
Y�Hl��;;<n=���G���w��^���@N=�Oou!�
�C�����#ye�dC�d|����aE �g�v�
"|u��9LF�E� ������n���\�����.�
ۀ~5���j׍?.s˄�A\�
�#��_L�XO�,�ǩ�Jd̤?��!e��r��9��K����#,�ߕ�A��%�#�Q��ح�ښ.�Vs>��-F�=��a�-�6{��R"+E�^��|1ei�?F����Ō��0V�����(I��{gt�/�j����Zw����
�sݤB«�k����/�|ru
�L�B�֥]�Yr�-��Nb��md$EX�@���Iȫ�*c�b�T�'۱�(�n�k��
����c2P�z�z��g/w���٬鞍6�	�&Owa�MC�>?��
ś\b��62��SVn
TU�C���@�~�eԙ8�mbn�V�>�ꮄ����(�N����^�\���a'��UL!���u/�1���I�,^�����h�׵T�� ��}Z�)�/a
��;9�
*�T�˱�B~鍝=8�,�e�~*�Aq�ʉ>�nId��yب(�H7��B��S,_Za�?\T�E
+endstream
+endobj
+13542 0 obj <<
+/Type /FontDescriptor
+/FontName /HUPSVD+CMR10
+/Flags 4
+/FontBBox [-251 -250 1009 969]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle 0
+/StemV 69
+/XHeight 431
+/CharSet (/Delta/Omega/a/b/bracketleft/c/colon/d/e/eight/equal/ffi/fi/five/four/g/h/i/l/m/n/nine/numbersign/o/one/p/parenleft/parenright/percent/plus/r/s/semicolon/seven/six/t/three/two/u/v/w/x/zero)
+/FontFile 13541 0 R
+>> endobj
+13543 0 obj <<
+/Length1 788
+/Length2 1456
+/Length3 0
+/Length 2013      
+/Filter /FlateDecode
+>>
+stream
+xڭ�yX��E�"Z�,Ḛ	�@ l"��(D�MB2$)aB
+ʍ�R��
+��R*�+֠E�EEYJm�

�&�
�z}���>3�����߼g���w�p$H�!�9�� �R� o�ù(�rA�
Cn4
� ���-�,�ׁ@p�Y*�p���f�x����r�-@��l:
(4

�Af�i
`7Lg�<�@�p ��x�
+ƃ\ȰP����"A&R�.yBQ0`��f�c?� 7
�LW0� �C
!� ���;a�4a�`}=���pv�b��#9��J�as����1�|
�(0�B_����( �͏���ɣq�t"�� �Ŏ'�A�7�GgQ4N<���k$�� u;u�ʍ���il��+����������l��D ���G���*쫣�!:�`CL��`и\�P	���$��x�
1�D LDx��C� H$�@�UZ�N;
��^�V��=��!���
~���&�\x���7����{ͭ��%���Y�6�����\��QHt�u	A�R�S������U���v��C˸0%�;���\+�Γ����C\	���+�
��u�j������q�ǻ����:���P�������:'F2�
�V

*k<5��������B���������6��$1�/=��&+}���
���գ���?����X��w
��͖*�9�:���w�Z��Z��r��ٲtU��Kw[.:��\`X�"���������6��y4���=�"�b���/ۄ
�\Zڱd\3LQ ��;�1�[���cc*F��g�>��$z	G�F�9s�/c�SK�<<�z�u��H�����Y���r;�T�$d��$j�
��l�I��>�r��h~����\�mfN����/���T7�"nZ��Ԟ���Ь��� �m�S��i�y����j��O1wp�f�5Q�צ(�ki�8���l
�`��yqTd�'�T����7��f��”���N�Ý�!d
�,>�y-���𘄑�5"J㘜�j�u`A�龋���4���{���W�kf$>�S��<{�8��-��r��T(�9��Rp��`��
5tn˾be��۝���*��$�4���p��t�/Uŋ��T���ͱ������s8F�@f�c2�#�)�ɜJ��
Qĺ��2���ME�Zg.�|tΈ�5-��8�71��=
P��ok�$�\��@��ZW����b�j�aq	�
�sVj�)@y�tғ������&�
�
��W�����
�֪�
�U�sp\�[eP��L�T��� �6�_��W�����N?e��jQ����0�e�|
Ŀ�b���w'.���l}

3�6���b�_�obZ�y8*��E���߶�y_�q��khl�9�"�wo�:e����掛�ő�x�Izɀ4��gT��4ܱ_t�<'|S��w���?'�O_�o
����5Z�0���_��E�3����B�j�v�z�<_؆N:\�FzL�
^��
�d�\0�4����֦%X���);�����L��`��cp
��t�}ُ�r��zoi�/�Ste������k����f�R�
3�ְ�w���<.t7V��BF�3�n �ؒ
V�\!���!��~��4t�����N����[�$�J�{^K-���P��g9�j��(n@�Ll$�u傌�[h'�T�L�L�E�8}۷�sB��TQ�h/)k7���������H�D•cM@�ʅ��8�g4њ�WE�_�tql��h.�
�x���#Fތő;x�Z_ꈶ� =;�E�����PUnՃj�M�̳Ǻ��[���Ϻ2���?nލ��-�Vٜ(n�D�tM!e���J��L�+�
+߲ێ�4
�++�'�j���7�'k3Y��N�
��D;��
	�7�%���X܊z-zl_r`�]�U}�6�m�a��r2K�N��� =M/���6��O$��J{��f�ʼ�-mS)mW�
+uqAP��\���{y�H!?�÷JA��%7N��	������]=�/'ۭ�LܪW���^�ڭ�Z
+endstream
+endobj
+13544 0 obj <<
+/Type /FontDescriptor
+/FontName /LYFRJR+CMR5
+/Flags 4
+/FontBBox [-341 -250 1304 965]
+/Ascent 694
+/CapHeight 680
+/Descent -194
+/ItalicAngle 0
+/StemV 89
+/XHeight 431
+/CharSet (/P/one/plus/zero)
+/FontFile 13543 0 R
+>> endobj
+13545 0 obj <<
+/Length1 976
+/Length2 3441
+/Length3 0
+/Length 4077      
+/Filter /FlateDecode
+>>
+stream
+xڭ�y<�{��E�Vv�趕%3�2�}��Xʒm̌
�0FȾ+��A�N٥ɾUٷI"�%"�:�sN�y�}^�?��Z>��}]�[Ln-��"���	x�4Qtͬ� $�$&�KD#H
� �U ��2����� ������,��K�$b�x� q]��E��6M� x�
A�@�H�& 1hR ��b��
���M��F��  �A� 7�
�	�ӏޝ (�F�y����&�RM�T� �"���(�;؜@=
Mu�0�oq}?,�
��)O��e8
6�����	M�(4��R[����(���Y#�Aj�`р̟!��>& ��cHH�
��E���������=\��&�k��RpO�	��[�g�/�����1�e��
�ZH}�zs��Qzx$��S��@��@&꽠�0x: @P��Ax��PG��L?�I��3�')`��	"#�Q�! �C ��
����P ��AU
+�R��<����M"
��Cy L�
� ��7*P�I�����O����	8���.�������ttA��iY�.�,(*Ȅ�G!ҏHD�I�����bw
����h$����S[
�W2\A/yD�JC�����権�#�;}&>�����U�9O.�/�������
l�B=�'5w�`���2��c~��d�����;QY�ԏm�*
�y�_�i_�S����.�yw|N����Շ
y�PE;}2�b\��srBVl�>���q�����P�8�F��MB��^	CaƁ�����<��P'������HH4��?�X����i�:�9,W.5?������5����-�?,E΍����
���.9�5<{,\xF

0����������	������o��k������[>������J^�ϻ���n����)����נ��i��;�p���/�Sh���7p.���
L;
��
_�KC�_�]���my$D��
��)=`cE�Q���Tj�n��/6}�� �_��0r�_8t�z�zV [...]
��&�����+�&����&3I�/,��G�&|գ�X^;�(�	Bo�yϖp_���Y�
�����.
8�y�|ȟ_�R��"Q��_��n[D	�p�a�{to�����|��}���:��
s�u�&��#gX�n6�
��9�$
�Q�n��Uaĥ7��g�_3(�3�1^���~�~K������^/�
 |�b�J~���� �#ǩ���W�B
>���O�h��_T]/�?��KhV�=� ��9�H5��C�G�ɻ���vcu�B�{��)�Oz
�/�L���н���J\k����/� �F�A�G�2��J���ގ�s5��Aݜ��7���1B�jS~WgS,cwq�:>e����U�=8�'r�˙�kۧ
Z��o�^%7
+��.�B2�F�(%�b�ȸ��
�O�M
+"ɉ�E�
L�
�v�^wk<�|hWN��f\��Y����vN��/����g�ү
}�����7
�ݿS�ښ�޺�w�5�Fj'�A�+7}�����@�f�����\E�ك�
+d����Y�ۘ�w����S��#�s�,�Z5f��
*2Z
6z��6
C����4��><k�8T�
�8ޗ|ue0��
+]�Yk��h�y=r��N���[v��1
؎�� ��
&
�mUf]%��y!4�'��ǒaѫF'g]�w/
+��0/Z�D�����Nq�u�o
a�b����BE��2�e�x_#l�ۙP�c�_�U���r�uPm1�'�B���ꦛ8U�����
N�;��4��kX�4��S�60ٖK6ڧl��IKR�
V{�����i=97n��FW�%����Q�������5ڮ�����N�6�LT:E��Ծ�j�Rz
뒛��&��kl�f������^��6�G�VoPҀ
�%?��<�^Y�j�V3Ǖ3@
+}Oo@��Z�X�g�`'d���f�{:#��""��o���
[�	F	��ǩY�UY�)Ɖ%S�wǮ܋�*�19(I�U۳��g�����a��RV����|�-;����5
�
�\��kHU`
ύ��s/=���k;5
+d�Q
�EuWoC��t��]��*���\� 8s�������.t�iN5�~�zv��aJ(S�C;�E�L
�c�R�D�fpB�҇n� GJ�[�
����/j���x��
���+��Ľ�yL���eG��%�8��W%

�H�Ta�=u��C7�ى�<у�����#RR��mZ]��v���_o���>��,�%����n�J���G�钥
��(S���9����}�F�3���.&�s� |s+�o].1E�\�i'�5���z��}����/Y�#5�|sk(�dy��td��
Wt,�B�[u���S	�X�M����>�x�����6�
bu���[WhX8V������\E(�{N7쾾k�Un���jV�|u�2��bT��d#u��3H820�(h�h�~����h:L+@`�
Z��G��ydh����6T�1Ww��W��U߱�#����^����<�
�n�aE[�n칄2�����`�m2ϦJ�ď��*�e��KH�v�B*,�1��U)��6
V?^�Ƈ�
Z�Ýy�i��J�w1n4
+ܤk�i"¢D�br'��{i;�_��z��BZ�*��_�۔2�y�x�,��%���y��
�3�든�xF�=_s������C6�J;�{�F�����`�Л�5���\��U�}
�ѰiAg�ćO��Ϲ����
�
�^;=���]
ɬK�	/S�0���N/p,��¸,�����q�F�_P7R?u"�ب��H�\!�	���Us(O�	ѕgl���m
�?b=Ґ͓��56���B���El��*t`2�ٽ0���oI�n��c�E|��^H��BdEEd��fǃ�B���
[�(�{_�%i�
s៳]p� �|x
�Ū�������	
vf`!��
+�J����4��5�nyd׀t4�t�'mh�kf��FԈ������aߚb�]�!��oCe配�
��]����,hӠ�6�w$k~�`�}��y���+�
���q>C;
�Ś�r?\��r.$uxfIM�_����'v:��=m����b��U]/�\<L?AS�
��϶�"��E�Χ�G�=�&��
Zm��N���F�ͺ1������J}T*/�s���~� �L�6;ǐ�zGS����s�#,T�f�_���e7IA�;�mŨ���'[{�%�B
T۶�Q�o͌��� ��td��5à[P��Ι�\
�R�e�翅�GfɃ`WxX�Ϝ�W�	�f�
� ���$ި�D��m\gr
C(F&R�!tX�(e������Q7�՞n������G��kl�=���?h����0��wK��ş��[��|	���A�A����

�Ο_>��z :�tBi�~���Stl�E��jF�z�UP�@؂�k�6�H��aW�+��m.؞k�)�Xɔ��G�F
Dk\%�|ɾ'��L�ƄX���Q4���8��e;
1�:�b.�D��"
@vm�ig��l��ؿ��Xp32�e�
̝�[��s�_�T�.`	R�
�/�x`��<ٵ^WS�����So("���ZT��D�Nr� [...]
+����%�kv�Ő
t7YȒ�
)�
&��_
+�:4������V)5lf[_�c�ډkh)����	6x��%.�,h>ʗ�����췛����֪ԶٲԬ�.֮h	b����:͇�M��n�iO7���Κ⯇��R���`T%"•��Unx'�s"���޼�Ӻ���FÏ�7�Q
+���
�obw*�G���Y-�8������ȪK
��������]]w���æ�,���!��O��{.��� ���
yu���������K%�[�4
κ���䙬OW� ��~J
K��VC͂���@oB�/��nz>~�^C�������v>����qA��Ȗ7�
+�‘�
f�\����rf���z��� aj��
+endstream
+endobj
+13546 0 obj <<
+/Type /FontDescriptor
+/FontName /YPFGSD+CMR6
+/Flags 4
+/FontBBox [-20 -250 1193 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle 0
+/StemV 83
+/XHeight 431
+/CharSet (/a/b/d/e/i/l/m/n/o/one/p/r/t/two/u/x/zero)
+/FontFile 13545 0 R
+>> endobj
+13547 0 obj <<
+/Length1 1198
+/Length2 5554
+/Length3 0
+/Length 6296      
+/Filter /FlateDecode
+>>
+stream
+xڭTu\Tk��[@ZA���C���f�a���ADJ�))i�TBBDI)��|��{������z�z�g�w���n`$�E��Ԑ�H$
P�5���Eɸ��Q0��P��a� ��
��� �@��b2�`7@��rvtB���%I�`(g{�
A;�ܰ�8�i�
C�	�p��
+O�!���A��@  ��

��9:#�D~��D8 R��^����a(O�) �$? k�D�� P���
{
����Կ�ռ�p=��/y��
qs����G��{�a(�.
+C!��j�ۚ.
����oV
�;�+"
�0���!gO5g_��m�p��=a�a�M`���sC]S��n�/� �@���#�+�/
����A9�,E�EEA�D��߷�:Ja��:#�� !	��P?2�^`�  pF at a� �/֯�0�Ɩ �#	8 Qd�.SZ
 b�+��ޏ�7����F2 �HT �� "���/�ᅽ��	`���?PB
���WH���^�?
+�)�@	�����Ou�9���5�����
+ጀ��c�!����b����f��X1w
+���
п���D����X��p/�?İ��-��?YI���j	�(�	�c.���>�?
+��x��؟����ӱS��N��+����
K��X]l�`���h��J��Ba�B���c������`�0{��H{9�KzcTy�jѻ
+B ��cS���Ήv�\x頶p����2��r�p����3�-�ވ��0�䌩�
oۍ,�W��Y�~��9N#��Z'�v$p����[����o�&�g������HJ��e�M�#�x��
�3<�cģ|�?"X�v�&i�x�l�9/"�O��:n
lͻ��
lV�ŷm���4�j��4TJ*�H��Ṗj�=IIY�����|�z��b���x���;���߼fT��
�<�U
.���5����"T��圉��8��|pZԔ�yݷ.ꐓ�������
+�
��]���d|���QԶop��]y�J+�^������o��`*8~�X�1��J�N�i7���ـ#W���
�S�"��3�
+��o1,foH�ƻ/���4K�;$�����ey��ɝ'Q=��{�S���:�v.��y��F\����"�I�á
�+R#o����=
+_u��M��N;�m/,
{Q>����@9������X��u�/����G��Z�l��oW{,P�%��G�cȂ~�n��]+P�Ek��Q�N��qe��L�I���
�
v�<���po
��
2a��6`©����b9�E�H�W�M�
�S=�[Vuy�
W��{NQY,g�='�gY
�J7�5�X9H���9t��*c���
+&����4V�ꌊ|Ṝ��d�����Hr�ʯ��.N�q/I4[<s�슊��-��Q�#xp��!�z���?�T��O6���M�I\)eq�y�:0����'��v]�s1+�]K���3;NH�Kݻ�3b��>-#�@�����a���x3��t<���.F�v����%�L/�^Gft&&|0}�wDc
)�
�aU��V*�`�(�i04%�xe�~BN�����}��x�g<$�*M�O��dR���ˆ������
�..�>�c�
+���l���N��jY�ȋ
+	9�Z�m"���x���Ij����`淬B)�
u�J���,�
��ڝ�&�8��߄�>�' u2
+�\�h	XÝ��3����]���nW%!����Ģ��;i�-JNG7H�-NV�jg�=L��G�R��ir��@�iʆ|��j^���
�b
ŵ�⍸=ʵ�0�ֻB"z�taYM���RD�h/��u��UI�?�x~e�,_U�[>Pϫ>�>�3cubl4���K�L�})"��j�Y0zBp=Z��gR���D�(.��������iS”<a�q����@�eI�Ђx��l\UMAJ���9��Bn$p�[WqO��G_L�W�`�%M
�f���͉��N-��N�׫2�3�8���T�+�8�)Eg������f��ݧ���<q��@�m�I�SKm؁�н��šՏ
YY�w�]�i�8�rv� �/UW�C�9���m/yˑH�
?���Ol��|�B�ԗ��F/��ѳ��KQ�(���3QCיo�u���>�?<g����'���,�?V����5^�
��z]C�-���z4�$C
+pL�`�7��M�<�����X�9S~2|T��ljpO^�T�"�@
��ڬor;�9����qs���
���):���پ�ձ#\�C"'g9�Д�1$�q�>�M��+
i�m|��
^ɳ�Q��"����O\r�]"w�n��	���;�[!��/]V�2m��d5��;�����$XYT:Vh_���p殦�Zw���l
�+�$u�;*_n �}���~��	�j��C�p
�AP
��\�4�G����j����*�uBn�p	��9�]����]��B?�����gK$o^ʞ)����!ɎH���F�- at R0��]Z܂����/^�4�*I�M��w=oLDP�Ѭ����[IRGߙްca��g������m�-|�
+R-C/��5�
6�
6���A��ц���e$�$��
+D}���^&(��'N	!*-����iE���+��1�+K��'
��b�1ܕt\#�a�斷�K��x
UA�n����ղs�u|Jz�`�
�"�*�����o-B�]H�-2
�=�Wm�j�%�v"g^��1�^1�ʦ nV��
�>(���*���b:�����F����0��&v��&Z=�6w_������0p��n	[�˥�y
Ghㅑ
<�c|�c�qY�֠|�AZg �m6��╇�Y*@
�ʹ����I
���tq��:׼\X���~f�uʗ�Fe��e���$�<[��CNF���ypԓ�<jpl�o,�?�k ����#J�W-��’{�c	5�"�8�T6W=④.
+����B��هǬ�Ε��]�ۭ{e<B_�#��������C�ж���Ƴb��6G �eD���Zc'��vj��V`]�Eo�����(��}�
�����u
�ld�R���y-�Vi�W��
���9T�&Ư��(���]Z\w堈�3qV'm� �V@糵ʫ*Vήz�d�4��l��C�ڛ���
�5*�G���dM|������v˨�?�s�1�Q��ޤe?�
��
qk�f������D��w��*�Ik

U
���'��&BΝS�%*
6��w��*�b^-�,��
0g�[����
^ Y:|�q�!h]����[�/Tt]mH�j
b莒摿�֏���0BI���0��
����9���
+O�&z�*J ���
+Q
@I)̯��[���{�
���ma�ŷ���/��'��T�ח�C�����q���&��.����$�6�1r�r�y�Y�+U��Ul��Kv%M�W������9ƒ��X��0sR�o?Yd8�a�楠K,eUr�l
�X5�(<�l����5�����W~�ٷ쟆��"��"�
�ӯѮl��;_��
+�a�I�љ�ܘ�<����ݭ����{��]<���8���9A��8\�Y3D~�
+mr�4~�PZ�PW��b��)����������A>���Ɣ�*��O����o�x��Iϑ�5_��{��
���kE�p��-0���Jݠ������w]Z-v��B��)����e����{���2k��ӣ�b^��.�"���!�]�qS�T#�MCo�L�����
��%ъu�$!G��ْ��1�B��[�h�:��ʋ.m|¬1�A�,=����������敉�:6�iDڤ\
+���QͭGU�s�Z�fF
3	a��v́��
+x�[sJkg�����J���\i��ƞ��x!,㕀.bVa�����"E��g�l�
KI�o*����*6�)�h�Џ��n���\��
G�L�mf��8����	
r뽏������&����=�#^Rtao
s���ٖݻ��xN�����k��Ur���
�	gmG��T)�	O^�ߞ�n*�G�a�%g
+�hl)j�ԏ���������
+�!��gL�� 
7���Xw �sz���#��Ń��dӑ[<e���Z�QV��b�N�~ȳ��E!n�c�섢Y�JɌ�
�f뜿�W�^�QǷ�K�
���۲<��K{�V\l�/�
D����;�
�^'߶-�{�d����v4��d�e;&�̈́�����c����+�۟�u��=��l���M�(� |��o
s�X�Dw_�C���l}zĬl?�D:\D�ޫi��(�D#�wL���I&>
k�$�A���C�a�|�aܻ� �E�te�%�D%��
����p������@�o
A{���FK]1�e��67�r��$&�0H��X�
Q�ͽ@D��|�E��Q(ة&���	7>�'�¥;�ܒK��Kt�y����[|�T����
�qo�H�)�]X�f�׳��]@v��x"�,e��g�a��|3�4���$-�\�[�p�>j�|S&��q��s�Qm�bjq�;tG�!����89�D�/SnF
+�Y_��Q�"כS1���,��B�Q�L�Fe�aT;�R2o�Ʃ6�E��p�T�FlD
���]�T�n-\�nu�{�;d�Y%_��-�SUC���*���\��4Z�G�3��'y�hW���'�
X���
_�\��V��
+m薺y��ptg]R�0�]��
GO��dd,��F�Pڴ�N�����L(,��o�[�
+�jb:��KT؃7�@���H6-=�f�=�A�|6%���ab �-���]�>�Z�m/��~(w�0[��3����1UD��i98]��㺪Q"�RE�� ͒�F�q�ܲn"�N.����,��,�bE��1B�l1_�=@�}"�G��4WG
|V��@Q6���;�e���
|�g\ij��?)`�PHY��+�̏�ڏf��/�A��Nx��Q�}=÷V���h*V��bʜ!���k>Z�y`G��׭�Ϣ�(�13����`^C����Ça���2<�}sg9C�9N�.���ҕ����dr�G����V�w�	r\bZ��3�.2�ڍ%�}dŬ��M��}+��;�
ٝ�}f�KXss|�hI?
*]=%��*7��F���O�3��b֨"6``�y�
+ԘL���Ys!�cH�ٝ��D����۩d|9
�1��Q�eHJ)И��K�Wݦ�E���ꗼļiwQg�~o�!�\�`���jS���
+��/�<�\�����F������E
۟7����-����@r��]:k��
k���u1i
&�Fc�s1$|�e�D�~��r�hϧ�o5�n%�����Y0}�J/�pKR=��'y��s�c����Ͽ�+e����}2��������
;��
C՜x��?o��}�*]]vԉ�1ʉ���_�vxW����1C\4��z��2�{�f��>�|ނP���z����V*���w.�[�DY��ɴ
�����M�&����(Ȫ(�=a�^�||�tN|d�3��L��
Q�;.45
�N at G�Lס;L
�=���6��E�H�$�ibH��֤n;ʦ�-\�l2-�n�$�V�Q
.+9��&��ث�G����<>M���C��%�
:=N�
���� .#���si;po/�%���u�t�yؓ���3l�t�Pw D%��֢+�u�v����Z�~��v����N�Ƿ��#�H��5�9����8�"d�Jn��V}]�)D
Ӻc�
�S�U/��*�L�
�:1!E׳�Q�G*�)��*
�R��Z��q��n�.�y}eMs�h�"��Lj
��`w> l��~%�n,��ܠ�ƀ~�6����E�:>'m�b.˭cH��7���{�㩶�����V'Y��y	1	�}b-�7�
�"l���&��9i��-�B����^7U�{:2BEH|j����eЂ���%�-�(R/�G׌N��.C5�˼�sU����|*
� et�b/i��
�B�Do*��9��g�g�F
+H�鰚]�����U��v��0�[�8_?�g>9�{�%�E� ����e�xC�r�ս*b��ӂzUw������)�A�H3xE�޹��uH�����n��
�7����E��JL��_w����3���Ղb@�gO�=I�*ěGU��?|
�&�r�)�J��et�d�$�����9�EA1^%yZ
�� )��
G�NB���
��

F���Ҭv��˛;�t�
+�g�i���WvY
�WB�N?C��>-���7�۽�(J����C
��y�4����&%�`6,���*�u&�i�idW��'�r����TԴ�.��0�wg�"5�u�\�q�_��td��)
�$��z�~��b�} 3妫����9�i���m�����@D
+endstream
+endobj
+13548 0 obj <<
+/Type /FontDescriptor
+/FontName /XRMVPU+CMR7
+/Flags 4
+/FontBBox [-27 -250 1122 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle 0
+/StemV 79
+/XHeight 431
+/CharSet (/T/a/b/c/d/e/equal/f/five/four/g/i/l/m/n/nine/o/one/p/parenleft/parenright/plus/r/s/t/three/two/u/x/zero)
+/FontFile 13547 0 R
+>> endobj
+13549 0 obj <<
+/Length1 1034
+/Length2 3716
+/Length3 0
+/Length 4388      
+/Filter /FlateDecode
+>>
+stream
+xڭVy<�}�&Y�N���}fl��%K(���13����e�V!ٷH����"*KH����I�$Y��o��y�}�����:��=���s���6���F����x
Q*Ut�-T�
�ILL��F1x�.��V���P@���� Pe5U5%U&1@�L�xx	
�"��&`�
`� z��)9�,`�Gb��`9@�,~��,�~hB %��(
���=08&�?�8w< �F���M�	~S�Ť$@����� 
+��6�Sj�)N�?L�;��?k�����ң�a�l�x���?M ��(4�o�E�/k�h���߬!�� �q
X4 ����c��(3
�	�#�~�q4�o���� ��0׵4��9͟��#Z�����'��Ɣ�0A�D�R����7����!�(
��J� �@@3Q�����P(����A :��,��)G JK.�xӏaR&F��BP �F@ ��D,ڝ�O

+� `�?P�"C��S���@
 �c��+`�?�
+ �C
Q�޿!e����"���п1�������#E�����w.Ja�P	 ����o�%31�Mi����:�wE
+
+A~��w�g��BeTYyJ^(DA�)A.���O�8&���(K�7v�PV
�B#�ތ��KY
q�z�/+i���z4�4��i;=�B�-�;�+5Sg�_��ɲD�$������0���(ߛ٣�K�K�!$ۭ\��E�oѫ�-
��?)Q����H�+y���l������2��0U�C��μe��~.�:>�N\A؂-۷�b�t [z�����K�
Mғ��V��b�´C�o����V!�9).�e�OwK��Xk�w����<,	��[�>��θ��!�z.�<�zW��eH���d1e���i���R�Fj1��!xȶ�<�(H
�"�Zs�K~��h�&
J���\
4��#"�O�Ȋ���8& <3*Os��#�#UpB��7=���K/�B{����ͣL�rַ��,y�<
+v��>�����B2�mJ�y$6p�\��Vp�H�}����4�=W�gW^���ռ'��Z�U0}���5é"S1Ĝt�ިZ#�Z4��@r'sy��$ok�e��R��
8"U/�x�6w��<�U��Z��˜�a�=�$�\L	T�Oj���T�
��Sݓʹ%��4�!<�PY��鹂�({��朗�"/�~8yq#�� \��r~6ߧ��N�Ɛ0,����o��W�_*�yo�s3M���S��/-���F'��$�8��9��2a�}��-��]��
��M!��c�Y�A'z
�yYj|
+/઼��\��+J�R�^S�x��n��	@~O�
�$��	)1 ۖ���y�� ���?���l(gA���dX�S�sLA�HK��kywb,��i�p"f�#מ��Gb�,,������
+��:׋Z���F�*co�憃bd/������
PŽ� Z��V�nAn$݂Ϲޘ|+ݵD��X`�"�^� l&�n���]�
+�ϨT����7�8��eK
gCa<��q,�~�3
+|�& �[��c^�ߧw��
�<���4W��g���~���jȜ�`�_�����	g�d/��X�o��&��|�&L�d0&Į-�|Ci�ʂڎF�9��
�hW���8z�
�m�2/~�E�<�����:ʉ1$9B�K�?v�jX���.��
�^�6F݃�p.
�u����C]\ٌu��P��(Gx���uP@��f���6ѭ}m��X���B���f� ��q����+���\�}�Z3Q�;�i6��[�F��I.痏I �ܛ�(��]#�N��6�KR�S*��jMP�����TI�j���2�ވ�|��pI����sdw�Ͳ!��q�ԗMR �
��q?g�#Y�
p
;H���R8(׶��FV,l�Î0z�Q��z��ܶcv/v�n�0Ү��0���OZNa3��zn/dR��H�i�
��x`u�r�ZB���v��/
�v�ںv W-2��iß�g^4*�6�H��
v������
>��������1�43ꦲZ��MD��9��^-�ht�{
�>�n����5�>p��M��>�x�i'3#
+�����Ĥ�E��
j�3uY�9��?֗��7e�
��n��9����\��ő�/}����
|ja�k0�*�+<w�e at H���v�7�*���0ۂdX����U$A�
+^�s�;��N/i�4�ӑ��Zm����
��
Ɣ���l��C�k�� ]���}�j ��C��qa������c���c7�3�H�x���^�L��f3��p�݉����YI�^
+����g��JVEU�
�<�U'
$�t�и�5�Úv~�m�����.6�dZ4��!�׾'���$����y�-��"��gŨl,�+V�U�M���>٥ËO
���f���oYVk�Io*��>S�j�5��@#�K��]~v�q��
+�.s�q|9Z���:����n���-&��x�{v�ʚ��:��f���i~(a��2V�^ݎ�3,��h�`��k�
SU�%w��MG6�$��fT�R�z���^5��-j��Zi|���
qGr��^���b��/�i,t�j49c�:��rZ�h�������#�M��
��
�iY/��ZA���f�I
L��.b���2|)�p�	<8ސ5�g�����ٓ��xfpտ��$+������85i�;86!l��
W��$�kļ#|������'�o��FUl0&T|U����sI��-Ң�e	J�N��c^�;��3*H���9�œ���~�EW^{����Y��r�Qf��6f��Vk0�W^.�n�g� �Œ�Y��=ɩ�-0$H�|YK�m�07I��G��f
���Β���r�og)[�Ӎ�� ��ȓƝ�]z:#6b��~�T���|��S��y]d�ip𖎤a���7���M~Ev��!ĉ���J�D8X��0O����W��N���ٖ���p2��
+������E%�(����nD�����\��Qk�
�n���`��,�v��|��E������†�=?
f�2v�l��|�$_0nH�>��<@<�����gf
�P6*ӏ`<�6�V�S���|�D	==?s��Jc-�Ww[re��v��j
4zl;ӓ��uM1�=/��x;�S�+0��D�b/�z�E�J���j�᳉��6��
�%ϰw�{w���d���
+7�h�W��Xƙ4��t�տ`4/Ud6Q��R��wh_�Q�,=nyA/�p
��p�4�IJP��o��Vn���"u�qٚ�d��+h&�R��� k����B#�^��tK��p��2�~��iA�*%o��A���H�*�<�"χ֤�O*z_�����+��
+*-��7�%
����;
+���ӎ�e�&�[�w	�
���T��Uکx��?�>��v]�F�k��xZê,�2�%�KN2���Ő�z٫㠿�DvI�'����Ä��~�4��{i��J�T�9�Q�҆҅��R%��}�kz����;j߬����29(�M(���S�ׄ�+��[D�3��
�|��6��[�
�}*L�\M<;Odl�_i����V��ݝ��$� #����eU�ln�@�Z�p=
9wyPrjQ��&�A�������w&O�4�$��T���i3Y?�|}�ŦP�l�A��z���I�vs>+
�t���=�e��s������pO�[��F>	_D���lEx_�����T��>���l��[�]�̼ɷ���k���wIn�fr��Ι\��z|R`���
+d��L�0{7G���A��qƏ
>���
�����Yg�?�
S	�
��'��?>t��z$J�@��
Q��i6�5K����
�G��2
���L�f-r��K�µ
f�IѱbF��d<�3Q�A����~4��,�?|��Ƴ��������W�
��V�	$pC�,��X�7;��� �ߎ0��f1�U���%�;
m����h�"��.���5m�u�
���w
+_��{�����0Q{mͰ�X����i��
��}���3���
&28E��h��Y�TT5��X�o�Gg�8�_��y�>��#w|iy����i��C�~E"�r��#�xBi=��w32��
Z�)[|��ZX�|ݗ7�c8)9���B��J����q�"����)�>=-�\6__8��&íU–�r_��
�hs�iX��̮��V:Mh�hLh����֧�(���^F�	���k}�%�i����/���V+��[����g|�ϳ-�
�
(�
��-*>���zq��‹��h��v��~
5���x����C�5\�O�b,�
��I�HΊ�S8�I��]�b�]��1�M'�]#�{mW���!�2{���t�u.����v�ŀn7�&�L��Zk�c���@J2�/�(�Q�eU������(��Y�!��� -��K��{s���GR�|��t�
+endstream
+endobj
+13550 0 obj <<
+/Type /FontDescriptor
+/FontName /SRQDSN+CMR9
+/Flags 4
+/FontBBox [-39 -250 1036 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle 0
+/StemV 74
+/XHeight 431
+/CharSet (/a/bracketleft/d/equal/fi/h/l/m/o/one/parenleft/parenright/r/s/t/two/u/v/zero)
+/FontFile 13549 0 R
+>> endobj
+13551 0 obj <<
+/Length1 1737
+/Length2 7650
+/Length3 0
+/Length 8668      
+/Filter /FlateDecode
+>>
+stream
+xڭue\���5��� �H


+��!H� 

�
%��t��t�� !ݝҝJ(�<㍟�����3of��c���wVfM
.)
{3��=
���d�t
��  7/
+�


BB�a� $X
 ��� @A �����0
+@���
��F
ɰ�rHف�s
�BZ��P9�AP���9�t�HA� �_�6�;�-��@��
	0[A`x<�)�,���NS�`8%
+�%�
��ha��,��x<���Z`������\�	
+U��J�G����@���spB�� 5{
0
�_���?ũ�- Nv�e�� (�\
+f��ܼ���<�l�	A�[,AP�

���T��£)%��h���\� 5AR��
�����
�m�����x�yy�(G���&�)&3����� |�B 
r�C� �%p 0
�+ �R��
�G�B ��x,��x��*$���i	xd�g	<
+�-> ��o
����h���E����ʢ��Be��m�xt�gy < ��
dn
FB���p�����^�����ۻX�A�% �M�;�_�/fG�H��_�"P(u� [�����
5Y
3�*���+�
��@
��|�����r���C��P��	q@��oJE��؁a�pG���qA�0�G�?�_�+%
���>��qQ �%��
�/1�����‡j�կu��j�#� ���� ���D�~�(_������
+F ��C5t��կ� B}J�(_;�	�;��@ *2��~���cu�g" 
T��-���ԁ����r@}�s'�?�����	�%�P�=*�d� �c�����P��	��į�P|(�jw���(� �	C !���#���gSE��B�h��6��Z�����(ii{Ww.>Q ��jg �B aaA�9�;��v��
���m� �]��xӓ����6��
�䲆
�xpϻK��q�
j��!�:�iZ�V��o+�mԶ#4������*�p�0ӣL����\�(�&�)
j�7!	�7�lߔ�
�ߥ�Ћ5�W���<}t߻� �bK�E֗ӅI|2�:��|��;T�n�cL�މ]O��fT�4��!l#��fG��5<K�N�
����+��&#�
�`� ֟�:���!^��_{
p�G���g
{h��51Jw���w��D�(|aTe�^巾���TO���]�G�ب��Y�+/�n���x��lSj�ew^;��?=գ��V���p?��
��H.9>-y�W�;�Oͩ�$��:�;���@��B���
m���I
^�H�;�e}!��h����O�=�)%���N�i|��z�sp�@!��/h�l�v�'�Gf,�X^Z�!+��)���nM�o�/�͏
Zv;Cy���.�Jn����;ڬ{����EO cC�t�zt����5�٬'�����.��n�N��)5�3M�5�E�`�Ԡ-
�j�W����|8V=j��5�5<mS�'f?`m�n�w�6�k\�I~vR�i�
�H@�>b�����z�x�([�S��j��غ��]���q��^��s��
��dW��G5�'?�ЗTq�1��1�q�,�� 
+�ڔ f�l
E���:Z�����p\����
�2Q1�#4Q(

�x�B�H�=�H~�]]�
�E�B�iҚ��7Y�f6�z���&�;�|��#j�e̘
+
*{
:ae�E�N�պ1;�˔�|ٻ~e@��'
�JGws�j�k�b"�5��?z�Y���E���9�����ˤ�ޟ?�>��X�\�>�
�����Õ�Ӟ�[�j��^Q�b�kV
�L��F���ky��{P�4�Ɠ�1����� f/�D[���1u��=1/����� D�#�pƞ^͌0��\>I������|�\��X�KS����b��4W�*�;#���M�?������_���@
+��cI�x�
��[�J�'�p�~&!Wx���k5�%
+��Z�z[=���ߺ5n��D����Ə.��-ϳ
�e�0������ip���㸻���R�ML2$)[�|
o�a�JM�o
+�-|[y7t�9v�s7Wh1�)�e�͑5/�,D獓���C�4�
���읟�����v�;���U-��p��+�O���@��<떣�"��4��K"���� ����;Qb+�LBcx{&��]�`G����㢾����1w����Fx�#׼")� 6 \������H�a���Σ�S��J4�P?�>,�
+�V�F�Hq���٠��D-^9�b�Tڣ�JkZ�/���/5wq
+v�7
���_Tu�`�
��̼�/�:x6ʟ%:�J#ޔj���uCj[cw��p�����c7ixsg�7H�\
Ͱ�؛ܚ�yKy|
+̦�l��.����N �FeX)��i����^�x�e�ɿ�7�qx�s�}�ӿ�
<����S7�a�W۩���;�>�
S�o�o�2g:>�[�`�:��!1�*nZ�
a��R�G<<�6��q�
����T���U�Z+A/�M3�0]�N�[�^��0���4����"��7����-9 ����^F9����f��׹t�i�*�S� 
��E�F�˄�
�
ry�G�1{��t��7�l�
4��o�y1��c���I_
��޿����*�_b��>��k�r7�g�g0��o'�d��,NgD^qsf|9�W���
-�+5�]��E������lm��Sk=ycx*�꼔V��
+z~v_���6X��S
�F82��5(�͐��n�)h��K"�
�c�}���ٸ��<�!x��^V���T_�����]����K\�\�`��}��k�6�EQ[�Ӕ��%��{����:���y|�I
&x
���c���e����K��o:�LM	�Qv�
nV��~=��mY=-�:=yz=O|ّ\=�K,Y�c�B�#��R�M3��C�v��n�$_���O�أ��GԊ�jR��&��v�l<4�&�|��R��
�KۂԽ�E��� o{�>�U5�\3��s�G��
s���1��)����
+a�_��x�-”�� 
�?�����^CP��6O��b >�

�5��Rx���'�e ?�G%��Y;
��L�J�
I&��}ѰN
�{i	q�sɈ��ٙ��Z{�s$�L~N�����_�ss�1��ar�\���Dq�y�3�"@�l�����
��/Ne���ٴ�����x�On�4�L�֓
�H�[Չ���(Г��[g#�4K�V���G��JCE�C�����p�|�k
�z�.�.J�m�̭l4tʈ�s�D�
Ӏ�$���U�	/lB�3���o�(�]"�Aۑ �1��ԝ���������
��:��>/�8Ӎ~=�q����땚����\ ��B[�&[���k�{���CXJ���o���� ¸K��養�i�$�M������ұ�.�[G`sIڌ�;���h�i�����,�P0�H
���HYI
+�}6L��`���]���
�v��p�wW��t|�<u�F����&��΂��I[~#�x�d��C�\��}K[EU+\�]p�y}�=����T��D�	�+ϗ����h�������~c�Lh7��t9�����
9��F��_��2�h�������%}�I�p�Y�����hN���R/+��FkX[�����r�����
n:y)����[N-5V?���P�)��O���bO
�Ȅ,
�l
�$��-b�(��
+��C%;�$Ȇ�����v�
g��f�LL6����WR%���H�]�Zu��O ��ϵ�
/
�y#�(���ٱ��
gTtK��
k�x���
8�m
��	�J ��2�#�l
b>�/����
��d.
��_��)O7�C�mJJ��I�S
d���Q����	qr
�w��t ����epɤny�w����oy
��X'��I�jW��d��2�X?ƻ&�{0+���T�98�R��4��*�'����cl ��z�I!5t���g�MD�`Eu����Mv2���/n��jB�.���?|����X�'.x�Д|��v���-��+f�ę �<q�Y���҄�°P�z�MW���̺kxf��CJ.��
���9|�,O��$OB��|J�Z�3|>Y�T����[dy/7��9��tu�e�<u�7&�P5³g��T
+kvB�.9�r���ᏺli��ޝ>��-
���v�%��p�*(L2��x9�Rڊ����\
̞l�
[;H��	OJN�0��8'����to���m�Ć����4�`@�r��a�����#��F�O�wW���jSX\}���F&�����հķ,�
o�#��|*�Rkf�X-$
���M0
�!.��W��Y���LCA�E\}�:��������nS�ĭ�R���i����ÈN��j���y���7�j��!I�Gfl5Nq97D9%
��x��\
�{�
�xx�M>��ȧf��>�h�+z7�B���
�#\�-�
̅��s)�� L@��<�.&������-�Q9���]�v;��H4���
�v昵�=K����rX偛�͒��36;7u�K���fh�2���A�
�h�1O��;n�s�o�u��r|ŝ�Q%��7�i��#�r8�
��k��*.�o���e?��^1��'E����;t$�0O3��~�>��zL� �Hb�I�R���q�>��Q�$��5��>�&d������a��Ҷ(f9���Qw&�W�
���-�:Z��z�Vd�wE�f�l�r_���y	��k(�:D��f����Ǩ����y�Yw���^?'Z��q7~P7�D
��8���`yu�a�
2�3��P
"f���M�W��n��2��#G��
s���N
��4UݽS��9�P맆�N���5�����xL��'fc����@p*��X�>��vਘ�Y-W���H�zsĬA���u����f�"�&&�;2�0�,	����z��"�k��c�3���	g��}�0)֢���D)��(��07��2�p�N�?,��:A�y7��V��:���!�՗zy����
>�Lخp���ʩS�ٝ����Ad~��
�{�z���t�c'�����X
�6�#����&��;�-��z����y����,x3(�Av
+D]σ ��S�$$�uh~�u�혶/G{
$;9u��솷�Q���N��q
�ϵ/���T���P�\�<@T2X{a����uf�Y�Yv���� P���U�H��*�{$���{a3^�;�	��k��c՜ ��M���  U�ZV�}K��͖��M�`��=�f�`��	���_�%��>��rǓ��,u>Ǣ
e�����xH�<�8 �
u�~��-O�ȍ����ǮPr���3��AS'�帎?��pk�-���
[*��ͨ����oe��=q�sX��O$Fx!��ؐXW�/V!G�dEdi�x�
8 >Ǭ9U� "�7��x}rHn����	�[�.+ ��g����'3�,�-��
G�Z�X<��|�O�@HJ�W
�涌���;�̣���
���e�ߪs�9z�Hl�.�<!��� ��ٶ�3�*��i6�-���钰bOԡm
+e�� ��>��a��.�����i��êUM�~H��'S�P�#U�K�8
��HV�+��i�V��5swh�_�������`��
o�޿#�� �l7~�t�me�)����F��<b�6�J�j��>3�Q)��0��Gխv9FBK~�B�;��?
�r�w
�(��|�n�0�
�h��k��T�t��l�$?
��O�;�m	cFdǺ��j61����m�ip�>��16<�Q[�S�Q�X[�1=�(�+��#��@m<�JLJ��~™�A�
�!�rh����nv��R�w�"o^��9�����d԰���w�;���ӊޫ���}���P�sû�}k�|lI��^�o{|X(�D W�R��r\<T��I�
h,�#�x[�4
��
��ĺ�޵V��h6�����a	q.P�3��姵�sә���B9�
�R��
.�x�g*��\/UM7�>�oa���(F%�}��_����%@z��Fhe�-�"ҿWܾ
+�38�q Z2��~��Yȶ~��}�Z����?������X穅Ƞ�d2G��tV�"`L"d�a�h&ѪG>��
�p|���n!�����E+RB⋼ӆcp�?eFn�����a���F�{��p�4Q��v
�N��bB�0���X&v�`�ɏ����oz��ɠU[�W�ٯ���� =ص�>�}eWN���*~2
+�9w{�7;rd���f6h�+4@�/����7�D1R�+�w�$':���
�E>��y�4�@n
���ت4��4��+�-~���3O
�R�ОfI���;�g�VWTO�ǎ�@��A˂��uy�`Fj >k��T[Z�1{{$�ؚ��2�}i}l��p�c��O���4����Ȗ
C|+sg0�����	�!���Ᾱ��hw�]��G�q�!�)2q���a
��Q'h|�#��hے)r "����y�����S�ٽ���{��ֶ��a����^5o`��~�\?>���Y��������4�̖S/ģ=�c�I���F N����
r����y���k|�
dp���-��u�˘
Sb]�B�a��$
������aR�y������h���!��
��u�I� �
�}��9K��Y}�R"[�,f��6�㵂��9�/1+4
�?�^୍��@)��I���
X
+��+h=�m|^��hJ�kM�5��ⵔ2K�~!<W�$}�y���W�{<�կ�l�.N�
v�/I
s�1<���䋗W
��S9ߜ�ǯ�=1��2�<�;Ƚ1�
K*��$ݴ�_�)R@�<�K�	�bRM��L�--�J${�YV$���1�}M����
+8�M�aat#o�f�w9z��'�+�墫H�?ƒ(%��V
+z[��d��q��A�/aK�'��8B�
†b�x�ʟ��t&����� ���-�
^2�LY��h>���&�ښ�~Y�>H�~�2�g�3K���
��� ����tVo���0��LjE�.9
��q�����W�ۆS����pp��O-�7^R�Ak��Tמ$�D�O���N�u&��C���xD����i��#�*�̼��4{�3��
+�{ܛKu��^D/e%�VhbZ�B��n�J��y��t,��bI�]Iz�
1�
������-��IS
��IxY�=3���*X���|^Ey�����ܐ���QY@�!��p٧oU�'�����$�����G��ٱ�~�K������9�A
+)�EK�s^�$�O�
�N?�g��[�����0�t�4�@6L�UYq�㇘����슃LLl�|V����D�Qr7Cx�k��z���"�5��M�Mq>�T��_�
�L�X	���H0�y�u'�
L�>If��!���C���=���(7;�Mx��kj�C����ۉ&�qU�԰̀��>g����e<ޓ�b$kwށ&�.�V�)�X

ET�L?��^͆�{v1�o�5�
���+.�~�
�pf���t~��L��3
+�G���%'^���������CIC�E�l�p>[�y#�4:�zT��q�Gi���h�c���e��e�	�;1QC(UZ��Tƹz�7�S�b�����A��D�
��Kb�C�9Ͽ���u�Ib��
8�F�B*xȕ�Q*]�pI۾����ݠ�Ҙz�
+7�@/I䬰�!�<L���ؙ�:?�r#�r�1��wyHYf�T�݉h�%�k�����n~z��� �5������4�ו�F��Ⱥ���C�.�µ��y��N��,�fc��ρ+'t��(�HDuP�w��\�2���Y�>
�{n j��l� ��փ�i>��w{v�󀈩6\��Iq:�Ã;E�O�
�]����4өR��Y��w��0��"
+r��,p��=6^k
�h@
�z�o
+νfx7��U
�y%

�I�_����J<ԉ�@h�`2����16��|+)׫���aj�Uǁ������+��/�*�V7�*���
SdOz���
eD�A�3w_Pv(��J�'��}�9�V�kK���q�(P�C/uq\BԚ`I[pN.�i#�#�xxw�Z��lUI`��W�.�u�-��A&v�<�OVXB�1G(
J�YK����&��&TBb9
3�٭>���������8�@��CU�
{ �s�}�l�G���2>�O6Q��7�B�C����v���Gh/�����XFׅ�K�W	�-W|h��Y-R0�thz�'[&|؄
���_�=�
�zo�mi�q�ep�S���|�g�o��f"��-n>d����UT2�'�	�tl|��(����81V���|�
+ϸf�X����p�Յ�z��P����nu���ME�
mW�j�	0�ҩ�)nМ�.f������B�`���rS��s�,�s�6{6��o��@l��8��(>�q�j����Z4��S�a�oa
eF�q�)b����F3h�.����C���Չ���U[jK��=>J�OzȰ
+�uަhW�>�͚N��)�}�M$3H�F_]2�J�g Z!7}X0?� wcO��'����C��p�$ʞg��w&p��c��;�j
}m��d���/4Fyz����;Z����;E�����j�m#R[���f_�<t�m܎��fA��VȨ�!N�&�+t,k��P�^���.&\a�)�����%���@�Am�
nn�^���/���8L��m�'N�v�.ٵ�� �
+endstream
+endobj
+13552 0 obj <<
+/Type /FontDescriptor
+/FontName /PACSHY+CMSY10
+/Flags 4
+/FontBBox [-29 -960 1116 775]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 85
+/XHeight 431
+/CharSet (/B/C/G/H/L/O/P/Q/R/S/angbracketleft/angbracketright/arrowdblleft/arrowdblright/arrownortheast/arrowright/asteriskmath/backslash/bar/braceleft/braceright/circlemultiply/element/equivalence/existential/floorleft/floorright/greaterequal/infinity/intersection/lessequal/logicaland/minus/multiply/nabla/negationslash/periodcentered/perpendicular/plusminus/propersubset/reflexsubset/reflexsuperset/similar/turnstileleft/union/unionmulti/universal)
+/FontFile 13551 0 R
+>> endobj
+13553 0 obj <<
+/Length1 788
+/Length2 771
+/Length3 0
+/Length 1315      
+/Filter /FlateDecode
+>>
+stream
+xڭ�kPW��^��# ��`w��d!!$�"!� (�'dO���n�l0)bm��KiՊ:XPDE�.r���P�P�hQ�����W��8ſ��g��}�{���qw���D
%p�a")^���pw!���\$��  |>�u
+�p�'�E�?�
��)��
+Yd2�@���L��H)��j:C&U1!� e`�`�
+ĘvhA
�B2�L� �Q 	*0��2��r�&ۨN3%�BRKC/r�QW 
+�
�*�>
�$����P�J�J�6ś��,Uc*ÿB��Q��
+I|��
8�	QL����QR&
�*|��ǝ0m(��hFɔ@.Ui�D��tzz �بp�x���NhQR
�b
�o�5�gDbz���d��H����ig-�e��
+���R��l:ʗ�i�p����,&NP�@O&
�	�a�T6`�1\�5u'� �Ґ
?����#q-���
+ʩ	��?
+	}�/|�
@8t�����'ӑ$ĩ�'E�m���� B=�1z:	ْ��]Uه7/����������Y
���{04]�-�vVPe�K�����˫�˖�#����>qx߼�g�J�%[�p��b;CF��9cޞ��S���9��A=�_���iϰ��-���=a��
�7;-l�l_����94��l����x��g���1�j�Ŝ\8^U�
+��n�oY�12
+8��/Ʈ�/��tYk����s�}If
x��|RԚ�>
VrUJ��#V��o������h�Yr"�?9m���Nc.�"���{�s��8���6�am�'[��R����;^=-�[�r����ҋ#�]

�%{�\�jS�ƪ���_)��GGl����ѿ���0b���<�R��s��&
J4��?\VaWQWx�X����Gq
���E��U}#��`�)
��fMZD���F���@+�SY��]G���/_�mq��{�;^�^�I����MRW�H~����=������xE at jUb|k��|������c��
��ywp�����r���lO�֮`�ǃ�C-MN-�R�����_�rH
�7�Gu���y�o`��}ՠ����۫C��~b�(�G�
~���s��ٹ�3k���v���#\v�������<�
+�cۍ7�A��5k�K��)[I�$�-Z!Z�#Zq��ͼȵ
z��F�I��
llE�
i��*������ځ�e�9~͠ڪ�Id�
[��"��-h��uy����D4�D^23a��1�xaǺa�>�X��s�M�W�G�5��
��
=r�����O�Kv^�O~b��
t �h����iq�W�0�����FW߮&}�?�}�
+endstream
+endobj
+13554 0 obj <<
+/Type /FontDescriptor
+/FontName /TPJSSH+CMSY5
+/Flags 4
+/FontBBox [21 -944 1448 791]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 101
+/XHeight 431
+/CharSet (/minus/prime/turnstileleft)
+/FontFile 13553 0 R
+>> endobj
+13555 0 obj <<
+/Length1 854
+/Length2 1837
+/Length3 0
+/Length 2429      
+/Filter /FlateDecode
+>>
+stream
+xڭRy8�kNY�E!�OȖY�a���nj���1���,L�MYҕ=KG�A(�$тϮE��Q�9*�(:C__����������y��~^=�}x[23tb2�&Hػ��HBNO�
�l*��@d�8 ia�l9 �X

+�C�����p
D���{�e����Dd �Dv(H� i �I��l

��� ���
�@�
�arH$@���@0H�2��ˆ�!L �
&s�P\b�Mb����"�ɠ� 2"�`���N��~
�ġ�<�����!��&ҩ4�Lz8�
B�;�
B�_�����A2�C��ufiT�-�B�)
��|'�,'jH�Ge�B�"��� ���qz+F�.nx{'��[]���
6������gQ� 
�@�������[�
�LeP �
 B�'��Ba0 	Pd0
+ �Ć�0�-n���&$��T4 '��IQYa❄.�+8��d"�"�'�����i��M- 8�BePټ��9 ���
~v# 8
$-�����1��&�����
�FY Xs3���H
�O)�G
B/
�@��@?�dy�p��eG
��/I�eE����i�u4�J�1y^�v�����Vհ
5��ie�Z=�#9�C�ryMb�E�SјF�S�*/.��uK���έ�Ϝ���5B/�&��
��s�B
y����H��F#�
��[��2��UyÓ¯ڲqy�ޣ7�/
���;�
Ԉ�T2�U�J�;�K���g���W��
�zʱE������V�G>$gO?TӚ�*���fcߢeŝ�G����Z��I�ؠ�pM��/��=��U���F�"	���)�������b��4t�(��Rޮ��W��M2=u�魈��Q�s�_{��
uE�Ӳ+�Y"�����X`�u�C��/.L�9t&rn
�
��;��lj_�Q�w�ı-�U�n�}6yg�s��Ͱ�_�6�M�j��($ [...]
+��G�}s�ڜ�S�y�'�V^���p���B��8'
Y�f��n�T�>���X-�L�h>���x�'��v���o��˃ԛ��~��{��!%�T�s�Ct����f
b1�qlB��t�;=M�U�K��Cn�G
.��<�+�wlx���� �-|v���鯟S8�M������Bv�kZ�EM��$����A��N��KC	���W�5Ԭ�I�4�]��N���K��R�8a~��1}��!��'s�Iu�S�w3�Y�F^��#�~��
+U�g�nq:/g�eE
�J34\e+&�'8�z�{۹����㰋���O?7�k�5�Ȅ�^�=��dǂ��7	��Ս��L������[c}��6v�k���<�
m�ͫx'�����_������Nh`��lbFw+�1
&�f̈c�B�kGV٥�
+�*׍���
�G����ҳ�*��
���'�D�����.�W��@�sJ *02�(\Ǒ�+�?�LJ�:�ww��#��K�w%\9�j�@�|�z���g�!�������w�ey��H��_
jR�ߖ��(<IS?S�{fs�%p
���� /�/�樼:B�(q��r?��={{�㲵=҆�EF�C���j͛:
�\
������j��®K��U5�B��c��1s'���w]KKZr�o	��'k�vdh{�d��w�I_�n����t㛷/���?i��8b/��A`"j��wb�X#�X�>K)
��Z���5}I�[54��Ƨ�*����7
S��
��*+��f��YY�m�1UѾ�U=%�O�2+�
�y��+�FH1㶯��D]�W�^ʙ$�0��T������.���L
V�k�gD�x��i�-Umɪ�k|�Ũ�~��n]E{�|�
3j�G{�q뺠۔�>�/-ˇu��Z��w��qF��N;�8-�
}�[tJoO��jWL"�t�t�ੜx�r�"k2ٞ�T�6�08Z�����5mtD���h�-R�+d�m�~.�ª��-ߞjxB���j��?����0�@=�lB@ܴ^��U�f.8�N���.
W�0�|*r��I3����{V�^y�:t�r����}�ac<
v�|,5��1=8U +p��
4eVO� [...]
+���t��8x�)�h��4r�
6k�%Q6�v�B\ɬ�'�g�O�z�I�=�e�V�bSҋ
+���]�f�j���✿��dN����"�Fh�w�0�����=���{^�S�[��n����3r��}�A�X{�ʚ�rQ��U@@�x�JF�*�&G�S}k�t/b��{9w�>�&'�����
�m���foBd���/���J�9���z�$^wQPq���>���2�L������C���O��$-�(� ~e���q6ϕj�*�Y^%���w�^Կ�}����k
;�8
A�DGd2����pg�V���lӉ���*
+=��
������k
��A��In�O�
T4��
+endstream
+endobj
+13556 0 obj <<
+/Type /FontDescriptor
+/FontName /JLSCDF+CMSY6
+/Flags 4
+/FontBBox [-4 -948 1329 786]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 93
+/XHeight 431
+/CharSet (/asteriskmath/dagger/daggerdbl/infinity/prime/section)
+/FontFile 13555 0 R
+>> endobj
+13557 0 obj <<
+/Length1 875
+/Length2 1387
+/Length3 0
+/Length 1993      
+/Filter /FlateDecode
+>>
+stream
+xڭR{<T����3C��>��}n̠�)��A!��5�Xk����I���K�$*6
��/��{���ˮ���t�h'�H�,�N������?�{��}��{��d�
r`
%Ѱ��
hd
p��6;�J �82X�!t� �Y��d� [!4�:��4�N �D��!�X
Xsl�D΀
�H�?
��= �I �Td��A�T�
�rX�
�
ѰA	�)C�h�8��
+�
���)`����E����!P��.w��0�}s/�X��O���_hA<"V�)��K,~!,C����_���BD�=�	��FEb8�
�ԕ��"�B����`P,����4����ӛ6B		
+�
\g�5�i�'@Pl�J
+�7�����H�(�J�Ri��f�"��k-
+I�*t��d����3@M*�� V�)dT��% �L���S�:2Ac�TS�4H�������
�t�Q�h*7����#�B��b
���ud�(,�^g�X ��/��(R�k
+��
==%J���L
��
:pv�'��R�d0�Mo*���9��a%

?�@���]I.ٱ��޹��O-��
kօV�8����f"��g�*����_��
](�l��M�
-Xx�����Ќ]�Zrg��j�l�/vV���sr�ַ�U+�?q�������|�Kϰš�O�m�ؚ�8?��f�lC#U��� o�Z�$�T_�/i�0����a�?\nWX$7��+�=",~x�;��а���:�3b���8��j�m����r�{�'�}J$j�U=�
���g�[r]�2�
9�%1�"����>�����2s�V�,�Q���\=x�*�_}Uc�,
o��_���}��5g�CJ�o�g�'�,�g�&�u��؍�X0��4�y绍�Q'�76�
p�p�*�q�n]�z�CeP�פ.��
�ԉ
#�]�:�-j�v����}�������}��9��K�8��yT'��.��R���qlۿ�.�?O�IU�k��.�)��٥�p"�c{��V�� �q.]�8�w���]
%G
����
Ӹ��7~wd�t��Q����/���6]2
��RJ>�vnz>��hM���o��Y���:��V�1�҈fy%�,Ķ�ٝ-m�?o
]z����|h�aNr��n��]�ɸ<�=Z&!�>Y��e�{ޙ�.��uD1~�[h�Z�a�.[S��-(1?�uUH�U�2��l���Ze�
ֹ��$d����\�.g��yM���;�z�ϵ�)��no��tw
�"�Z=+�z�0���=��v��9�`�4���Z���^O9U7biR�<Hwd
�����u��j�~�3��r
+���G�q��$2sݯ��'Cߘn����i�}K�Ф�mF���"X59�6_=�"����?@س�0��¹���-YS9j+:�6w{o�hp�e�iz�mU�xa*k����V�*�x�k8Tm��9�.X�2�یчe��?�Y��"!���,�F����2հp���L�m�ݸ�H��(qΤ�P��Q�{55c�-N�,��#��E�7|�p�E0�V��G٣�}��vA{����+�b��f�/4�������=J#o�*�0>�hE*��� �b���G�oS�w�?�MxzppIӽypy��D�9��
D(�+�̣��2�|t�
+.��v�3l�
�ZƘe9T�+N�r�|�K�onpX�b�xۯ�t��
�fe���q�fjy`/��9�Z�d�?S�̽wo_{��Xr���i���,Å����
��ckϣ�}�_����;g�P�ԹsB�4=�+'�,���#s�l�w%��͵[�]6�y�-��Iq��Y܁��'����MN��_���x�R���qV�;����q#��",�^�J�ݘ?穁��򌟲Xㅺ�y-���D�OU�!<�?��Ҽ�L{��fm)fd~��?�~Y�3���MF���:I��.�z۪R�R�Pn
0�9�
0u�-*�^�W
p�ՏO���K?rœ澴WE����4��
+endstream
+endobj
+13558 0 obj <<
+/Type /FontDescriptor
+/FontName /WSWKRG+CMSY7
+/Flags 4
+/FontBBox [-15 -951 1252 782]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 93
+/XHeight 431
+/CharSet (/infinity/lessequal/logicaland/minus/multiply/negationslash/prime)
+/FontFile 13557 0 R
+>> endobj
+13559 0 obj <<
+/Length1 792
+/Length2 1349
+/Length3 0
+/Length 1899      
+/Filter /FlateDecode
+>>
+stream
+xڭR{<�i-��䐴y�03�0�X�&�:��Ҙ���2ޙf�)�i�-
_QZi��9�
*�ՆVZ2j�7�(ہ
rh���~����=�<�u]�}_��<�z^�fT�
�8�1�
"@6���7p
�$%CC'.B�Q6�

Gl dm
*�	 
+ Yِ�6�T��
eF���iӂ�
+P�.J�a���G ��
t
���(�
��b��<���>&(A�Q:�&�)
�b
6���|�gj��IMc��M at jfc,��у-��H��?L-m��g�<h�
�B�M�FY���hG���
#\l�4 ���
�Q~�R���P:c�`YH�O�sFc�
���Ac�E
��V��-!�����2���
��H�k��Z���$�I���y�d�v�ΆQ�	�K@�ri%���B�@1�H��0���q� MFl��£Bda�)
KJ���?cp8�` ��—\�yiGGvL��9	�YK�C�
+��������r
_�V��>�
T7�� t%Q�n�y��HI�����/���w*�E
+�w��e������
G�$���ZQ�׺�mO���h�x$�
�_S^��{a׉xJ
��WKp()c���#��{�<wX�c��}v6��T4n�����
Ǡ���'=�j�}�6믳+��ij	�Cݳ:z����}�^�|@'45.)7Xuĩ�x�Vl�{&���,2P^Ϣ��겣:t�ߋE]���7͍��Hz����
䶹)K�|}�����w������*[��;��;;��;Ӎ]8��3}Z��ӻ�oy�͘�
�0
�~~}*\�zk[X8ggR{
���k�s������<�e��=5�{�8�m{���e��;˕��N��ҫ�lk iL��5�kЏ5L�	�������h;���
��f���N
3)��|:�/B[F�"*���*��
r�;�D�N�p�z�a������o
9�W0��_�X�n�d&�M����O���O�vN
�[�q��i�m=�7��[��N��N.z��Ko�\��w�^|

��>�g��`*���J�}[����"s��Ɠc��YhȃW4-��
^���^)�O} [...]
-�7
��~��
���c���e��#s�M��[�k~��y7��,�Л,��M.s�uc��^�^?A�C�����e�*�F;��p<&�����;�XW��e�M��
�[��ÇOn\�g8%9<K�<h}�u�
!��\�/O���5C]�:f�s�y$�Gu��jKO�x:�cJ��Q�e�̡�C�F�a�o~I%
wz}mT��M�U� nj�D��*ir
����Q��OB���Z���ު5M�8:�TR����2�[� 	�/ʋ�&�h{��ִ$v�
e��2g���!�
Fn���	{��/�
N��]�=�<Nm����5ٍw)�k]e���+��浏dMSm�Z��o�o��[G�J�+d���l��9�s�N�o���U�.kť�m;�|-~>�Q��Da@����w�Y���������]b��W*�D~b��!f��!�bD�;j���]���
+��
�QΚ֙v�dy����w���.@�
+�s
+��Ņ�����{�M\��m���έ�r�
+M��J��+�0������Qy���%3B,3���1A���S�1|�'k��j�WU�UP��ګ���0����j>:�Uꚤ�7�TOQU�W%
����I*�N5g�&e�����Ip� ���-��x
]7���Il�
��˃'��L�?v(	M��>m\�Ferb����g$�]��ݰ��ڇѼ���s��:�k���܎x����萕�l���
�I�3��K�G�3��B,E#�������\�O��qE�����銻�������'=�1
+endstream
+endobj
+13560 0 obj <<
+/Type /FontDescriptor
+/FontName /JRVZXP+CMSY8
+/Flags 4
+/FontBBox [-30 -955 1185 779]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 89
+/XHeight 431
+/CharSet (/dagger/daggerdbl/section)
+/FontFile 13559 0 R
+>> endobj
+13561 0 obj <<
+/Length1 817
+/Length2 1021
+/Length3 0
+/Length 1588      
+/Filter /FlateDecode
+>>
+stream
+xڭR}TSe
NT��
�i/"�@�]ؘ
��
�\�o�쾛W�{�n�
F.Tz 
+�T�
A�� ��PD1<���	�	]0��v�?��y��y������,�G���0�$t>qD� ���
1Q
N��
+� �^>�
+���B_���x�����B1kL$ "
�pJ�T�jh����:��j ��r��T"��
�ЁX��	g,��P�@����DHi�P`!
��I�
 �JGJ�oA:��j�y�^����1���^�Q
�6�- 5�z
�@�A��(]_f����Ld%:T�+D�J
��cs��/	\�'CL��[�Uk�8	lb��� 
y�j�T��r��
�	�jC<���3��LwD�� ���rZH�N��ZN(H
'T���P�B

.m�����	
&�L�	RG_t3F�$)��R� ��M��8z'[��qܗ
8j���=��W(
jpB��@ '��Lb
+H�.g^o#(�L����>�� Ax�@ �#T�)�v���N_�J����P��h'��ygҿHY^�R2�3m���A�����)p��/x�M�+�=�}zo�S\��0E�~G��
if��������g����G:vd�ڍx{�Jj�~|��nW��'�������엠�����n��%��k����U�7�
�����Lͻ�T�[��p��I��٪\f;�>���Ll�l��rJ�ߘV�d��y�
+�>f0�hf^^���8f�y�_kf��_��=��t=���ij�G����_���n:�"k�Ks�����h���љ���hL|�K��m��xw�d{�ϋz�T
䘌%�*w�'8篮����<�̜�&�v�g�<o��Y�I2�(�3��ʹ�<�����]�U��4���`�e:u��bY7���c�b
����U�+Uᬤb޳@�*%;w�idڥ{O�2�>�N��8c{�}-zco��nh\X�9w��|��}��u�y^-5֘9�mA��2(�>n��v]<�E�7
�|��GJ^������gd�nY�+�q��:zZ�����>����Rga���m�b����}
U�ǂG�^�]:Wʭ�-R6*��عFE̋\�s��xzBUkNm�㜎j��^��1+��Wg��*��>5rG�m���#�)��L�v�
2���
7�
)�T;,[�Q[�?L��Z�p��8�OCP��5��_�R�g{{���E�i��\�
�]f�ֆ�+�k��v�y^l	�b���?�&�x\p��7�Ȧx䖲����������YY��N�������a��.����f�\d���B�x�������r�U�)����.����|
���7�ZF�<��������wK����
�w��m��������7�_a;w�|�6;՞x��7���Rha��t����N6Y�8�ńZ,��q;ʘ�ӡ�Oiŝ���l�{7V]��$�U��j�������0�?�b�ғ9�}p�[�Af��
��+�$����w�*��&7��hv��˳����/.sy{Ϟs�A'�ҫ��K%�S߉j�=j����)��=���c7%t>�(�{��Gd����p�_���B
+endstream
+endobj
+13562 0 obj <<
+/Type /FontDescriptor
+/FontName /RDTRNA+CMSY9
+/Flags 4
+/FontBBox [-30 -958 1146 777]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 87
+/XHeight 431
+/CharSet (/asteriskmath/lessequal/minus/periodcentered)
+/FontFile 13561 0 R
+>> endobj
+13563 0 obj <<
+/Length1 765
+/Length2 1314
+/Length3 0
+/Length 1852      
+/Filter /FlateDecode
+>>
+stream
+xڭRiX�W���&"��  "� Y> ĀZ!���! T�4&_�,�Q�,j�(;(
P�d��T+[`J
�"
��hY;��3��<����9�9��&F�>X��$�,�� �(4�H @
��21�� �
+�Xb� �d+�:�8(�
���E� a�D��3
+f�D
��f� �%���
l��aH,�<
@ߨ� �P$��88
�-NB�� ����&�
+һ0'2�C*
+E(Df�21�B$G(�I �E�=��i�B��C���Α<�'���~ө��Y|�'y���#Ő�	9�H��z
z'�q�H�֬��Ń��`
`A
��]
�p�c �7,f� \/ڌC�V%
+�6u��=�ǽ,�?�fқ
�
I8�dob�O�0I� '
+�AQ�>��[�Ql!VD[�%�$(�'R "
��� P�B1
'�%�™� W(Bm�+Z���{H���wrt��bA[k kET
ml�-���0ّ"$o~
�50V�	A1%��B����
���wHL�~NiR����
{ܫQ{�Q}/�?���
+��gN���s��qݻg�c}����{0��>*��W�AJ
m�j�_���^o1��xq,����%H*ҝ��������saq=�2t6��?�(f�}�
�oj��e���X(+��	�]�Z����6��C�\@S
�9������N���0C�>�����jF�Ψ!�aOURi驇����H-��Fr[�J�|���Q�cv%<
����6�;DqӧzC���A��k�}��SO���-�
�Mu�>�����Z
�I_(�~rLj�k�����u��܉9�źn-��J��vF�#�����&�
�3-�����
���8�Œ��[qG&u|e����v�R�ґOŕ�ۓ��}�ߋ�0o)
+~.wI�nF_����S�?��s������]A�
��j߅n�
+� I��T��
�N�l��.���
?�ki5�vF��ܽ�hf��P"
+>�.+F�hcNO�ſ���7��}�&�f�G�^K��Wnz;���k��(�
�B�3�+9�<�jT7�i�x�=y�ԓ
��ڹzUm4_�<�L��*�WKji�%�|'�0
4��zW5�E�q
+���q�un���H�K�i��np(H�kA�5f�l�]���P��$�o���Ji8��H��c
+����R�fw�m�|LE}���|,1p�"Ϩ�{o���]WS���.�/kSFVGc��M�V���Y��	�w&S*�zk�����s�N%���%[�W_#����Z��l5z�m�ů���'��DɝЬ�\�>{qK-��r�c�zN�P#��܋~�j0��L]
F
�
����tߣC��>ϙ{��s��n��Q
~����e��
+���c�K͔=9p�HI=�#$Q����F�.���B��JY��B��]��[H�J�%��$m�����k�O�

��h���eӝ<�L�N�e/����p!���h�������
�z����������V�L�f���2�U�U�����]���ts�����7I)Jv��v��
*}�B)QS����C;��<?6�d>]d��i��޹�XV�x���2
������,�K�����Ci�`g5�(K��%��z[<5�Xo["�t��'~��y��>{�8�
'k�x3'F
+�.Y�P,Z:L����]��T�\�6l[(
��7ۋ�{k?�
Q5�v��و:��v�ŨVH�|d:���o(��G�RjG�
��r�`��qP����I���!v��I����7�YM2���8^�-�Sr����3�ɠB3�E/,i��7��<��R\o��9S3��6d;}���4�e���� ޷�_/�z�
+endstream
+endobj
+13564 0 obj <<
+/Type /FontDescriptor
+/FontName /KNYRWO+CMTI10
+/Flags 4
+/FontBBox [-163 -250 1146 969]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 68
+/XHeight 431
+/CharSet (/p/s)
+/FontFile 13563 0 R
+>> endobj
+13565 0 obj <<
+/Length1 817
+/Length2 2201
+/Length3 0
+/Length 2766      
+/Filter /FlateDecode
+>>
+stream
+xڭ�y8�m�Cʌhe��3cCɚu"�,�1����X&��(j�-��)K!{��%ڄK�z�zߣ����;�������y=p9[{UC�
<@�2TQj(]��`�PjH(
nLq
2�j�c�� 
+�A�~$ ���t�h]�Ӽ�t2Ƀ(+�0�C/�N�� �� �83�8
+`OÓAS
0�P �7|;����5(
+�x���T(���Hп�?�Z� ݗ(r � "�F�0H�"�8o�
��ԟ��Q(q^?���?m�����@���c�t K#�t�VG�$�����Z0p2ސJ���*JS
���N�=@	�d� �(���:H%�I�	�'��򨙭�ʯ������T�����?5��DD'.H5$�1r�N��x˔���T���
��t
��R���P �J 0��P���+ '��H�C��D�� ����R�%�����&�����
s�O��8��h�A��h at U]�����!�c���� ������&�9{ �@����"<�J��Lou��U�J�
��8�$YOmzDO��^�� �|��$��g��"D�1�R�� {Dd�P��6����s�iW7����ڭ^7ν闝�.S��_��[h����9�1��g�
�dh�X?�U��T"�Xj�ux��h\��3�-ZV�vה��~���'��11�X�^̨�zf����Brѡ���Չ{�h�m�e��K�GV:�?�:9����܏I��
]�=�=(�ی�

B��t>��z�$Cm����y��,H��D9Nne��#�֩�D���
�q�q������͊:E�S��;;��k3����j+`����[P�u��`[}�s~�P6
����
��1��[�I�Uo�����oy��nT:d˰�0ֵ��W `��?-���q�}���t��� [...]
+��<�^VU�����]!���;/�޽�	�4%(l���@����1�(J��i%���'�Y��Z��\��:��
%.K�
+�h�����A���=\�]@L�iA����+G��kQW��_>�m/�у�w)k��a�:b/B�J_�@����]ߴe���u��Œ�7'E�e��Ї�x�<
+:fLΪ���W��#��V���m�9�o�}��d�Dk6�9cMD���@�
+Yߋ QtL�l
d
 �6�.W$f�N�eb2Z�m��<T���<7����
[hx:��v� /�)�_0tbv�?���γ3���8��й�<�\’K�qk��	�����>g�~�mF��Ky�ή���G_V���[Q�!~�Ki�x�xߓ���ݓ�����nA��%B0�TF�zq�*+�z��B����
�	��m��X��ДIᎫj�e�{Ѻ�>
+;����y}\SJÿ*��d�2�h�\��
/�qƱ2���Ȁ
-/�$�����RB�-gjF[zn�NhU>��B�9t���=j@��[t��~����3�)��~ڪ�f~~�

��/�f��(syG|]{�����9���(a�i�ݴ
�V��$0"ӗ�?/V4��/�O���,�}LM�剖-}/�m$��[��q�j3��h��5��퉹=!~�F��u�=�6j�{
�"���[%��I`��˼�j�_o���j��4%���"p�:	w�L��{�מy��Ύte�NmMZ'M�@�m��Jz�jN�X#���Z��H~U�
B�>�j�� ���Ǿ�W���hL��
O\E[�<��U��5-��
��W���
h+������L~`cQ5ۛ����kT�ζ0ͅ< Ioˀ~c���6�L����a_��X��]�^}��>#C�(8q{��
Zc�BҰ���mۻ��Hl���}�>S�h��d����g��m��9�(I+�
=����������!—�8�<�^;�D�%W*��5����X��񪱒���s=[&Us7{V�,���\�I���!F
y98�
yDs�|EKCKߘ�l�-D�
+��k�W*�n�J�IƼ.L��mWaUC�:�r��kÀ81
Vo�n��@����������
�$�g��_�+?����Ҩ̼ �ի
��@1�s�E/��H5{�8��7�
��ɶS0P��%����y��Cv��
�ʔ�[�/�GNi<y��y�ۼ�[�
��ۃ���0���ň

�.C3���N��g�>C��T
71i**,���k�V<���i�o|��x�
*q��S�ī�+s�ZF��"AKa�"��2kL�s
Դ��@V���̕�(7���% oX���a4��C͸-��E��Qҵ��k��T�R��
+�>��1W�Ģo��U��3.�#��q*���z��ޣ�um4�j��1��WEB�*��ę
��Z��
w��Ep�G7�͔үÕ�~O �s��{��b�
^�/�e~)��Ґ��,�jŕ�|7{������;��q8 Ar?�̷>1���y$�u���`�� �E��eJ�8צ�-32�%�{=�G�#̑����h��

��Ɇ�&�R�݃
�}ʹ����˜O!
+endstream
+endobj
+13566 0 obj <<
+/Type /FontDescriptor
+/FontName /GJXGPY+CMTI7
+/Flags 4
+/FontBBox [-27 -250 1268 750]
+/Ascent 694
+/CapHeight 678
+/Descent -194
+/ItalicAngle -14
+/StemV 76
+/XHeight 431
+/CharSet (/d/e/n/p/r/x)
+/FontFile 13565 0 R
+>> endobj
+13567 0 obj <<
+/Length1 831
+/Length2 2352
+/Length3 0
+/Length 2910      
+/Filter /FlateDecode
+>>
+stream
+xڭRy<�k��첖/������}_���,i̼f33b,�X�TR�q�$e�9Q�J�e)D1�
��M�9�9_����<<�}_��\���
����hA$P��.`j�₀8܄KNΔ
��X"�
Eu���*`L"�� ���ʼ\r�)�D#c��� �T�;I
0ƃd,E �PT��F� g"
Ri*�18}�� N $�1*\������%p��k�&��?˜`�_�� ��@�d* L�"G0�/̞��
dj�����E0g��o��Կ�(<G��Aē�� �#b at 2�G���8;�
������pX�1��?BX�6�8b�h�J�� ��s{
+`&��&�Ju/���.4��~g�a�ߘi
+x���"�D������g�4�%��� �LFѸ���D@8�0`( �2�TD*�`z	��\�'�`v���cBm ��2wF�T`�@M F���X�? ����m��	14
�@U�4 -5�
�G�

L&����1-�
�b�� �P�54HD��
���R�󼞢���&~57�5�=�y�̊��f�8V��ZL��?#�-N��4�T��矃n��̜?7C{"�\��ѦI2�1��
��-h�:�k/L9s�ŝ��3�O��Y�<�W5e�jj!-���q��դ��Ӄ
+/�Ǐ���d펹����oħ��_�8rn�x�l�$F��d���Џ�C�h�z��m�^�X
�o���d�6e�&����ևz&�k+�h,�ۓ�>��G>������P�ً-x���u�kJ��)?=�����>0_;�b��*Ÿ߻-_P%�+a�#Y��8�pZO=6��h�oV.5��b�d���
a�\���Q֧&n;�ejk
�d�]����v�
��ϛ�V!��rSr[��/@:4�|�2	�4f�Ď��S�*��x���U���fв���X���p�q��
+���D�%�\['�ߌ�\k�lg�gY�~,$f�>=�ER���1M���8ln����%=�
�&��a�zI�
t �v�o� �w_yL�
"��X6�c�$�����6����Dn��.��5
Xǒڶ��H��
�`��fWqQb~c�
$�e�,A���,���q1��J��L���Z�k�OC���0a�&�~��<���mn+Q`JUf���@��f-ܡ���2���AD�͔��r"�f�ֹ)Ӊt:ס�s����kk��2+|,y]<g~
B|���a�:{w�Иb�{���yD퉲��� oˠ��N�W��ft�A��إ
�Aqr�K(��v+g�9Yo��Z
ɭΰ� ��o�鲗�*5� �8G�
i�~

v���ܵ~ߎ���	�B
�5R��J̗�֭���”Onz=m���mE������O0ek#�"+��R���B�c��g͛��
�`�,���/)�x=ʎ،�q�v��u��բ���2�$���X�Xf4��#�� ���\�����$�#�j
��L*=�#��R��K9Ti"�
�b�J&S���"(�WJ��D!<�ή�\\�^D���<��?�!~7��������>ӏ
���k�Ao
�����
�x�\%�u��W8�!�-��D��w���
BMn��}
������S��5�(�e;&�և���1�4pf�(=8q�DM�p?����#m6%�p���J�`����[�>�]^�T
^���p����c+��h=��`�A
��e�_yX
S�M]�g�G
��~,�G�]�S�����C�G�z��8��>;? �[{�Fi�[�1�ǎܨ�?�x�[Zd��w3�}t*
S��a��v(֑P��8��}>b��s�mC��
�����` h��S�f(��N�Y���U
��F�$��Y b�
5k�ήY�� <��
V�
�$V-߮� J��뫜u�[?/��U�%�c�B	����
�/��9f_���̴(
�xQ)��X
&�^9י�
�{@�
F����F����ܢ�PRc��>/�
+e��B��<�Cͫ��Fqm5�ZZjރJ�ƶ��'ґl�
!T��
��Z��q��7֪���5qF웈���o�z��T����p�4!)>�gb�#�F�t�ң�c�'T��a����J�}!�~�^`	��|�H�μ�c
�e,5K��ٺ�?���u�ﲿ�#yM�s=�
cH$˜�ܠ�
����/1�h1�[Ǝ6]�h��r����)���������>(�X��2��c;5���;��Z��e�Hαofã�������MՒ����	���
<�8_�]�fT�Z+.��a-�W(�'�7��m�U>�Afa�q��a��~K�~V�L�yxtu�;����&�L c���Bf���j
5a��f�U�wi���ux��se״$6���5v�t���R�z�c��A.��ĩ���0��3��<�X
m#���+;�r�O
�7n$/O\�:���g�q�hp"�����i�&k!�y���5��T
K�xeS`L樕�.�dr Zd�d%T��
?j�q�iBFf_��䑌�\����
+9Ĕ�ᅫ�
z-�q´2rW�䚀�I�
:vM>���!�pIsi|�G��+y�]�V��#��w: 5��糺C'/N/q��
�?��
+��rP�����"��1�
�Qm�ڢ_
+��|s��5iYH�]Ӽ%�
&��<
ڶ
��
a�
?ЖCڈѬ�
T1q�
~
��Pw�飅�[�T��ܾ�NI�z�~�X2�ݵ�;�Ϭ��X���������u���6�(�)\���Q�%�]��_��n��A���
l�nĴ'*<y��X
1<L!'��FL�J)s/Ż�n�MVk�E���9�����H�٩Tg��SAsd��݂���g��;K�3�%�I*��C�����v�H�
+���Z{�;*b�6qP����nB���E�ؐ��ԛ�7rI9Z�?�z��
+endstream
+endobj
+13568 0 obj <<
+/Type /FontDescriptor
+/FontName /BKKFBC+CMTT10
+/Flags 4
+/FontBBox [-4 -235 731 800]
+/Ascent 611
+/CapHeight 611
+/Descent -222
+/ItalicAngle 0
+/StemV 69
+/XHeight 431
+/CharSet (/e/l/o/r/t/x/y)
+/FontFile 13567 0 R
+>> endobj
+13569 0 obj <<
+/Length1 764
+/Length2 1385
+/Length3 0
+/Length 1923      
+/Filter /FlateDecode
+>>
+stream
+xڭR{8��
N$&G.O�.���C㲝1
�frKDe���Ocf�f�-v��n;���CO��d˭"�\vn�b��F
+q���c�{���z�w��]��!5]�
�4�q��br
A#� �<<���D8�
��v.d�8
�y��1 �,L�,0X ������+$s q`*�	�(� (H�A�0 w��# �` n+'B 7(�B4#4���C�0�^1�Ĥ� �2����
+�8!S��Ĥ> �Hc1��h2Kr$q��0�^��c0Ȕ�����֦�
�� 6�
q �q�멇�5o$���w��L�3��Y+�!D��\`.5 �rx�jb��{�Ķ� }��頝3j�;W{.�����+�B^��_X�>#
�%���Ⱥ��T
fJ�kP8
� !
	�  3i���h#&�+9H"��,b�7A�*Z��A�@����!C�W��_hk��GbCcc k��p����Qy
�䮎�$��K"� >DE�t����*NF��m2�����H.���zKܫd)ƍ�?�.��/�RU
�4�;lQ#$��I�ĩ��]K#�~#Y�4�f�H��l����U��?�R^�n.L�ސ=�8��g�1��_sC�Ohy��x3s/b��R
M7����S�@�RZ��@[\T�P�>�O�z�S�ϗ�M]:&%Yq�C/�_|nh=�^1i�^�\����.�
��*?����?���o1O����]�/Ԍۧ�+�h��U��}�o.p<��V
qS�V*�9�i�Z�"��f���2^��2�z܈�%�
ȏ\oJ��5�b>�0��>�W�b}�
i�b�;/UF���ƴZ���m��O��cԁDt�(e��h��y�X+B���*���F4��!EKQY��}U�����]���@�
ԇ�]\����������,O9���eL�O�1���ԟ!�[�M!Z�9�-�'�O����̨6�Dw:B��	")�N��m���-~m{��~���+\�[��?a�x7�9���
QTC�0L��
��>^�$%���`���)߳�{�Lվ�l�Ot��V���tt�KT���h��`��]i��"�]S3E����}�J������O��T�,�w��)��	߀��=&$�0����CJ���B�Ғ��R�I�㽱z�m��$��B�����5Bޓ�1F�d�8�ܽa�ۺ�2ߤ�Q+���w�C�ǻ;�
��Q5�y��]N�����'�Y;G�¿�Ý�79g�ێ������NKۋ�.e��z|���9P������xǻ��tO�ɞ��"��磪��76�P	ķ��V0�%l����
��h���}�
ԯ�T�-;>�Ǘ$����v��!߱ߴ�{�lI}���>�x~FC#)A{j��Q���e��J��ϧ����W�gcMu�g��ʽ[���}h)إ���]��d{��cRG��E��KX���D@�
�nQk3�pd�Sn�L�._�¾�C�̿���w�<L���s��j	��u��"7��e?'�	7k�O�abZF��H�ʄ��|�먿h�l�j
�e�(�qD�	����9r�3��/g;�e���0�Q��hN�GL�کd�\���7�S<�Y���N�_�M>�ED���:}ܚ��-�\/��
�o��F{Tϸ�e^7�L��*���n�{�#[vYL�P�VmV
���sDfJ�=��:,�F|�i��o��允+?Mw�\��=�?l��8kՔI��pϋ�K�k��-l�:tԕ�(r厽x_H/q�H��jW֘3�{;k�hb����1$������nb
+1?�ڦ�Z���#4��	��l]�-��*2��
+Oy��w]��t��^��ۍ�<N�=�L^K
�^�F�
06dl�
\~��q������xE���
+,�ō�O���c�;����o��e���!�4��
+endstream
+endobj
+13570 0 obj <<
+/Type /FontDescriptor
+/FontName /UDIUDL+CMTT8
+/Flags 4
+/FontBBox [-5 -232 545 699]
+/Ascent 611
+/CapHeight 611
+/Descent -222
+/ItalicAngle 0
+/StemV 76
+/XHeight 431
+/CharSet (/e/p/x)
+/FontFile 13569 0 R
+>> endobj
+13571 0 obj <<
+/Length1 832
+/Length2 1188
+/Length3 0
+/Length 1759      
+/Filter /FlateDecode
+>>
+stream
+xڭR}8��N��vv�U�v���Q�sf�03��1Wb(T(���;�m�
3�0��%�QH�u��B����|��Dm�h#
��V[�΋m�:���Ϲ����羟��=D�m^d�@ʃ9R	J�Qh,��bsiT`N��DG
��T��0
Ь�-�
h��j͢2XT*���T�<�1
9�e0�rD$���h
���
�C�y>
���!1��UQ0
Gi�J���P`�h<gf�?j [,�sr�	�aY,��h4 @�(��"D�3���E"�˅�@�
+�erl8`�
k
�QR�X�5.ę�K1/�����bq�B,v��1��m�
���j��òń]�BK\X�(��.($F�l�H
�B
+�s%,؆��  ��rx>K���u����x�;o7��
��m"A�U!�α�c�_1����*������"3g	_*@$"`�`H&�T8*&e�`�H@$X	`%ֱE"E��@�cG&��=�9�aU�pB�
������a4>,�O�}F�2�
+��L
�lA4*�b���
+�
���W�-�c,D��°��z
H�6q��*�K����i�h8����/6t�}�0]C��m�P�>��Ty.?�9�m���<�6j{g<&4-���PX�PnD����\�j0D�m��W+�'�34<����
�-����e�p�������zKw�]j̋cZ�pr�;�
,�<��CK�zõ�[�{'6z_Š+��^Ik���Vd��y����_�.A�2����^��
���2�h��O��t�.\w���N�ӷ�7X�bH��K��ϖ�
c&�A��a�e|�A߁��
+˶#n �3�\��(���'}*R	Q��l����d/��>uk��s+e�*?�h8y�R��ޭ���m�P����ro�Ov����i9V�O��:=��t�k�c�Nt�3GM�l
��U,��mb�e�C~�
�a]$��s)��ܒr��u���M���3g6��%�;GG�/�4��ރ��
ޔ����Wc�v��9J^{�
�����j�j>~�K
8�*�2��н&
1[B)���y֬2�k�ٺ�l���hfg8fBq:���GN�EDn<{	ve,��W~[[�L1V�W��Q����
UJ�v��;I�
�i��z�
�X��
x��f��(u5�����O�?�b�\���w*�	�aG>�>1Ja���q�O C�;R^8��?�E�xʮ��m
�W��\f���CY{���2��]��nnA
Z�����I5�
/Ѯ&��=�r|�
맯��"��c�Mk|�lv��ʻŦ`s���s��
�~8[t�
�����xAW�9��p5�|�뻷�]�/��i��=?m�� ���s�!v
�"
+C+�l�Kwy��ƒI����^�N�[9ͤ����

$��9o
Z���=��W�
7�s�)<��E��*ʿ߰0Rt)�&�Y�a:+y�W?�����N�C;+��~�ש�7����7���5Ļi���zL�{WFĬ�٭�fOܔ�._od(�$Z�ɇ��h�Tf�/n=�n��0��he�
!�h�/c\�����]�
��
����4
��\�H�W�����Q��O$m�2L��|B�أ��P���L��3��j�Ē�ÓaO�;J�S�w�u�h׏י�]E���l�v��7zW4Mh�q��a���� ws�Cn�̸h;��i?���k��U��訖���<N\���[u��y+�8x���w�۲��A�&���jP5�v�
��<�]�y"��7
+��
���l�3
����K�tޫ
Y|g�q�s��I���
+�����c�
+endstream
+endobj
+13572 0 obj <<
+/Type /FontDescriptor
+/FontName /NIRNEQ+MSAM10
+/Flags 4
+/FontBBox [8 -463 1331 1003]
+/Ascent 692
+/CapHeight 550
+/Descent 0
+/ItalicAngle 0
+/StemV 40
+/XHeight 431
+/CharSet (/arrowtailright/forces)
+/FontFile 13571 0 R
+>> endobj
+13573 0 obj <<
+/Length1 920
+/Length2 3636
+/Length3 0
+/Length 4260      
+/Filter /FlateDecode
+>>
+stream
+xڭSy<���F�A��"���a�lYƖe� d��h�X&��5!dɮP�-�X�){�%�)e�q�:�9����?����{��u_��HK�����֘D�(B� �K��%DPQ�pHK��h
+�D4BS�����*��� 
 9Q>���!
X�)^ �Jp#����%c
��I�b 7*@���,�&��c	t]w4
@��qX
+U��cH�q�^@�P�g2��#�����? ��Ò�%���)��G� ��̌�A4�4c�}�r`�~�� Yz�r �U
����
�� [�蹰�J�?�����?
o�&�������
��'�ǒ�M����$K,�O��׌�������x,���	�g�
�b�8�����aٱD̿S���+1������P�����)�T��e�a�?�>2.@)+)+C�D�����_�`DwG�T��4���r(ӥT�Ԁ`�#b�A 6�^1X�H��C J���
?ר��
�~!
 6���w�7:�
��� :����� U ��i��.����>,��B��R~�{t��`Ez��P�O�
+U4U�C��ݟL�)���������.,6���n����[
++
�b9�h��8ͪ�s�7Ψ��������gg�
��sy��Y��N�%�]�0ފ�M�;\p]ν���v�%u���n�G�֦�oj���3����e=��,��ٮ�MI0t����5
�s�vq1ugT%<9���и�@��t��7Q��q�f��_Hm�'�KAE�N;�}���
e

�c��*1C�c��{r��&C2؅Ă��r!��1�yG������F*��m�"�I�����V���8k{�U�#�Kwy\o
Q�>W��މ�xҢ��J��VO�<G�n
¿އ���w�,�llp��9�.��V�)W<
�/�2~.��Q �6F
��L(�:�f�.�2'�E��E͑m���+�� �l���}9.��*m�c��D�p�!I�l��UgY���{�=�G6�W-O�=Ͳ�u�)n��	
�;q�����o�� O]���&�� C�c��
+E��2�}ܥ���j;�.�צE��ᾙo�A��dȪ��z��"�F�):�V���]��U��8;���cK��|n�푛
�i���o~}e
a^�!d]о�hgm��ȲW:�R൨ƕ!�R�y���?q�Y%W>6&��v�#
�O�A��'x�3�c�����Nze�`p���Jev%���mC�K��� {f�b�Q��TcV2���jya~��;�
�q�^�"w;�1�Q���q	N	Dž�*K�#�E�z�[��few$�vf#s�<�,h"*������U�կ4wk�q���q��y� �с��X��|X��x�Kk�z$)�-稑C��Ī���K�J�I��Qmv=݅����OO�J`�����g��|kpM�XĜѣ������[-b�W�v6��L+-�jhR3��z&�f.cjn�K��cR(ԁ9dh
O<\g\K�
�d	�$�;�
E�	H��aOs��̈́�����1�
+�2Ńo
J]���ݩ|a�	ߜ��7�&��q��Gv#�?˔!���X7,h�x1��*Sӥ�R�c\%�>=
+T�"��=f].��n�^�+-
+dz���D�ߙS��I���?�CnQ�v��>��<7=+~�
�9�D�8�r^PL:��|
Ɩ�����#���Z���� 7F���ݢ

ό�n�<���$�^4Ϙ�D�]:��g��m����G�K�-�+�:��<xnX�����C�8ȷW�Š��^�3��-=O$������W-��\ϑ�í����]��)�Ƀ<dUEy�*<�*�d�s}K�7>h��/�dz�b�v�#���rC
���':��ə�LA6��B��>�l��
ô�IS�z��>��Q�|'�;�*\d�
#\{1�mvS�B����S�S,	��>����wA{�SD����M\��WL�m�
誧�&����=�	��z���;��9��?�SQ�[�����K�������8Ns�Ye�W
+�mpc���me�P~��Ͷ*
VJ�"e���6���Jq�d�����c�5?_a���ح��>��e�k�4h��l�'��9�Ă���|X�*G�եF�3{l�����7�6�6�!pTX�x����#w�h�Ί��?Y�no�Cq|4�5s��(i&x��y�+��T�Ӡ�������^�Z'���wd/���罴��{ 
9�
�;�DZIb���~�
}��un(2e29�i1�XQ�|��T,�<c���ͅj��FIB���� �}6�h����œ{d��|5]���~.i
��k��.��f��}:�3o�����^�l�X�N�uW�V
,��C�g�JZ�K�l���I�q��^gn�0]f�
�?�ot���˒��OM�׻u��t��98V���E���x$|}N���@Yi�>C�[���j�B��ps��¾��wJ�+��E@��Ʒ)9�[i�\�ֺ����Z'g֬
��;`�5���|Ot{Wj6oD����IB�x��i�w�
+��g�ߧ)L�_�⦍n���ǦW�
��~`�-KK
���+��:���+�<�0�5�ځX�Z���Y�cę�O�b_Q�f�舄�(�v���yt񀲢���#}�{߮���@*�|k
6�/����G�5��4U�|/
&��t�X7����u1�S���b��?O�$�Sj�
�H�7��cr�O��U��J��
��[尫�Ih��3��P�0a/�&h����{����.�jU9
;[S0	�C�O2��nK@ϪV3I��fX3�xm�%����|h�d}�e�'�;mm��EI��
�C���&���O��B3"l�ɝ�WS�����cC׼��*4x�=\���Ȋ����_9�z<H���ny�
vs)W†�Y9�&�����
0�`�jԶ����-O���^�ja�m�{J�Y@�4�\fw��f#��8�3��o
$p�o䗏����I�i
�hU��6�u1�z5�$������B��+�O̓ro~��o-���DR�.j�����u�����T��D��e�|E �ܣ�G��MQ��8l��h�������
���.�>�!M�*���
�㩺�Ia���?�����{(�3��F<ew6�����5�8)oR���#�fr��������:j5WX2�{,�7o2
��T��e!��vW(eB��+��=Ȣ^鬩�x���=��L�_j�����
W�m��˄��9|�f��,�ҲL({фpi�\Q�ZR"<���򚑭���Z�c�]�h��Dǂ���Kh��qFɽ9s��a
C`8E�Ku֬Jԯ���k��E�ne�[��e?���%��N�f�#� ��IF�V����k��$��'����?����I���9qSԵ��O։B,�}
��w�X{�h����C��>
H�gy�P
�_���~y��M��R��̭+l7�Y�pG5����Ĩ���fg�ԑrȎ��k��(͕U��±�? J�s{.4U>���)9��ã(e&�>�l��L�����ȅ�ON~޻>�
����"Š��(�B�ݜ/�Ae(
�r���A;��v���y�g����F��v
�U�����rLy
}�c,F�^�53�^�4�]�
��z#��]�~}3�
"G��(��y�p͢��}���!;|�4$qх�������oJ��TfQ�m�����!�
�����ꌓr�y^���
���gfP6�?���8���3�bѾvY0,�Oem�!cjb��h���]�M)��R�L�
+��Ó��꼂?|�%*�3{��ӌ�Π
{J
֫)�Q8 at v�C�X����э@���\�_�%��4��r��
��
�?UR�L���Z|_T�n4bL�%I����	
+��Јqǜ,uPa8_��c��Qy-� g7��d�����WgtJr;�C]���RVĝfY�W�s���]�J��.��L�Y�e�����k*�d���֠@Ղ�n��¦�LIׄ�Fۏ�B
FB�;��6���V���""A.-#:����r�T�˾�մ���l��^o�;ܴ��q��,������&��&o٪���ּ=u��3����(��uz at x��b��fd����R�ގ�wڕ� ;��k���$���/���1�����-�j��ޏXꡬ��gi�'�d���,*h��–�
���3|�P��`.�|/2��b<lK�F�����S:�w/�{�WBv�3��W���t��:6Z!��2���
U�K�"Pg��b�h��G�?��v�]�!�
+endstream
+endobj
+13574 0 obj <<
+/Type /FontDescriptor
+/FontName /NUYYNC+MSBM10
+/Flags 4
+/FontBBox [-55 -420 2343 920]
+/Ascent 473
+/CapHeight 689
+/Descent 0
+/ItalicAngle 0
+/StemV 40
+/XHeight 463
+/CharSet (/C/G/N/P/Q/R/S/Z/emptyset)
+/FontFile 13573 0 R
+>> endobj
+13575 0 obj <<
+/Length1 1606
+/Length2 7537
+/Length3 0
+/Length 8356      
+/Filter /FlateDecode
+>>
+stream
+xڭVeX���ARa����ơ;����!�	ABB��dDi)IiiA)�.i���{��;��9��{]��z�u�u��y_6f��� UG��|B��� }�����
�˧�p� n�bll*^P�����Pi�P���� !)))6�
+�#�
��p��q������;����No�
�~��
uCx�C��[���F#(�t�
anP��#�����SC���C�@n ���

Ѕ��po(��p�k #���Ҽ�o��� ��
���C=~�x
P/w����; �
p����=@" 08������񇐇�6���w
Dx#��^0$�6+PU�/�Hg�wnoح�p��� �>�K�㻅��"A0�7 	�G��� @`�
n���ܷ`
^�?4|�ap�1�xA�@^7���-�-�����N���
����g7�O�?9���P7G~!�ۜ`�mn'�@���h�
 !�����|�^��{f�nI� �[  u$�G oS8�o*���D�H��?"��Oܿk�?���<�
Z���M�~; ]0�����c�W,�
��o��
h����B�n۠w��B�_�/#�[
�� aH�3��vۣ?v8���Co���F �����|��0�+�w���rAᐿ3���oK
eU-S��ߦ����#�<n��w
z�?�1���� >Q ���$@\R )!�o�����Z����nK�S�?�Z��
F
F@~O����?
��`/�[=���ۂ���3�P�?L�u
+�y��*YI�׃V���.t�'��M���°rD�㌘�2���(��!�ƀ�M��emv*7��4�nC
WG!�w��<+�o�en�=
ڛНDz4]YDږ\�<�(ⅷw���[v��ă8�^�D�LZ�A^Y����r�􄣫����� �c��'7	�M��
{|�g.���IYP,��j� ڍJqKЩ�GK�J|6F(F�{Y�_�.����F���
f�mW�������at]/>.��:��0��x}_�垏��
Ì麜~��TeO��olBNG~&��s�$Av��">���`������X����
N��z�Wc�徬��
�R���	K)IJ)+���щ�N�d�c
���Z#�����nJ�5L��O�D�5�$�T1
7�^��1�m]=s��5,_����6f��kEan����7��
@�w��U�`���JD4�N?Z�P�#���F�T�;�ή�rL�/F��TaU�4�I�ӂ�{�^3˯��D�2Ι���
��/��=&}��q�~xl�E>�L�����|�
+�����4�#n�Y��
�K�~��<�c1���d�q�M���`ff���R��]JȨ�1�1�4ܟ
+�Z2M�l8��o��P�e?@,����5z�k?��v#cu�A���tCRd�)R����^h&|*��1��G���{��l��8�
+���ǔěp�,��9F�k2kF6S�����r�ok�F�+jL,$�|ER�5�W;A����¶�)K��b
�[+*6�2
+��
QX��T9	b3�\���v؆~��$B�Ս[8�ʾx?�T?�o��PH�?MV�O��<��ō2�����wqt��@��/wjoN�C=��6-��(��o�n��l�]tM�r�d���0\=RY>4V�����3{�c7�ȧ

U���
��5�܋*�τ�i �OJy
��^�=Ym���|��3����2(�j
+�M�TK�&�V����O�C�.u���W�v݋:�[e�6g&�Of�W��[��h.���ڧ3��
���
3痫�w���Kq�;�����3��>avd[�z����(KG
DU�~�3F��4 Mߴ4�DI�bJ���-��׭�]L�|�a�C#Cl��#��*�_n��@�i�$��l�������X�a#ڑ���I�D���_?2ǵ���ˊ�v����"q�5�UQQR6'�JE�&�j��DRn
dlM� 23H ֤m�3�b�A��ˋ4��>�P��X�<�&���8���km��Թ,!�ğ��H����p�,+�a��b�����x�}�m"��֫71��a�P�����Y�@��%�6
+~���WVn�� cXZ�!�'/�^
��9^��ӗ;�m���O;�0x2`�
~-!�
e[�z������4vv
'O�F���XL"<K2�
�o�j����8?�.?N�����C9�7
`l&�r5��Ŝ'7M��$�s&d�,�2�����A�XS��\��T^��s�!��k.����V���i
B�`
��&VBND
�C�H��+�;j�2�g�o�e��l��c��U>��X>ؼn�+��4�nҡ�u���k���;9 �.�
+Z9ČC{��'�b.N䋗آ����Vw�v:�'H^LK��w�#�郹II#_��$�4t!��0hV�E`.}�/|\�U_2<y.xT�?e�Y��`_j�n�������dɤT��9�f��lu���
�
��^���qS=��F��F���!ꜽ8�F���[6j������n�73�V��3N0�Wzf,�`�D�S���Q3C
���G�>�1x��t
<��f/��>~3�r�DR���Q��>
=~�S�iW���Ņ 9��/!��!HE���O�s�n7�LA���$���=
��a_+��_3��{��\Q~��j|�|b�^-�Z�7ʟ$�CI�NB�$��a��~
K
+ H}��Z�\���x�Yƽ*Z��XreͣFA��� ޫ��@!m
�E���w�]:1p0�$�7AB����B�#��e�yQ��o���p��%أ�n6���}��e��G��(:t:�bt0����{�Z�Q���B�����b_�x��|��6����D��$�����0�������R�E��<
��O7i^lB��.�EA
�{/�(�U
�/R�?h�
�GI
�α�H6���
��:N�qyz��@�J��J�SP�3� J���$yѝ�o�d��|W
�r�v=_�2�
0�<	���
|�r-��ڞi�Tx
���V�N_�$p����+s�l��^xnd�a��W�����Il�4w �䫌��y~U�����nj�a�Ʈdk��`��o��
�[��
Aj}=e]�Pv?1�����/9䠏gVQl�o� �Γ���sJ{�f����lJj����L���Y��ɷ�v��P
_P�s-���.+�˚�d��D4�;"1���ɸ��p���	�MQ}xε3���# sӝ�L��$T�m�9o
D�)>}0�3+�vUC��.$�^��2x��Re_�
J����W�M��Ѯ��q��p�r��+N�i�Ї�qJ1�/q<;6����]K��
]QU�{��)���ro:�f);���;�������˺S��Yg���1���+��o$c�8�Iy����
yl�>
I�r.1���& �Us����;
{y���Y� �ŏMyӲ_L���r/�0����sN�V����K6�ŞE�in9 Fr�ShW�


'�x�oE�'^O�^���_|�|c�
�bL@��1aq��F�`xs�S�4�� B���6��7
�پ�����9
Q'�#r���yF���>�b��t��m�*5��cހZ�����v����R�TL�x
+u��{&�8
��|�:��(�h�>����@3ygT�ӱ�
�Ʊ�j���
"������-.%>*��N���2]H���VNv��p|>J����
�0p��"�{P�m��]��%�Q
�
ʾW�n�);�T:
t�#+��|�X��`�":/
+9er�,ސ��b�|TD�d�9�^�X��Ȕ}�Ȟ}ߢ����(
�r˕�g�В��z� �����)[�*�ɐ�����v��u�5��5��EM�4�	`��}[�v���\qr�E����{O�MId�^��&��֣}�A�U *D��S;��)������
+]V�Y{�:W��{���O�"�=i��;��q
+�'L�^F�+�^
��kE�>���: ]n�jx�n�u·;ѿ��P��A�#�E�T��
R�D
��W�(��ω�
P�k����cB
+!���e�U}j2�O�a����(=n�;���{I��v�w��˃f-3�2{��wF��?�k���,u
�ANR���T|S��k iu��;�y�p��x���7ݹv����o��|�
+��u\�
���37$�
vNˏ󏎉��w���u�w� <܋�Z��3s�
Q'�;s���7�=c���H��
��}-"����2!6���
+#��L�ݕ6&��)@[�i����ejk���{�Kk�kc|����/_^�CD�h%랁�3�K�]��gM�
jx�
Z��S`���L.�o���]�iү���ػ
+B�
�qYX��Z�N�؇�wD�Ӆ�hH�Zߕ�cΑ���&����ĦM̋��M���
9�O�ݲ�3>ɢ���&��j���~��3���0��U
y{���o�W��=1k��S��-?�N��)��/���
�>3d��X�>r��-��b���^���0�^=�V�X����`4�vhw��
+�?D
�ț��ְ�e?��~�Z6sl{v��[�+��Bn<c�qNT���b��%՜,�N�V�ɠl[j#
��Vp�&>
+KD�:�
�>
+~B4���*�i:�U��{m
(
�*Ѿp�1�5{h�
+��t�����g�����>I~[�6�q�x���(�a;􏍃��x?:��2
���$�m^��F
+�Nd����1z_��P�W���BԝP���Խm��סj��V_�S��	�eL;��.x�g�\�)9d��g$���2orv@w}(f�
����Iy�1��P\��[(�=lW������9��'Z�1h��K+c%qw/�*��L%�uU��w
���6�)�m�]��p����"���ձ�/��\Wۘm�k��
��
���,��5�A�B�
Lǚ�&,s��&Tv)�Hģ���㶺pJ���1��Qv?lѐy8nÝ�436�;���O�̈́�{��\�ӵ os��o3&S�U���/O6���#bq=>S�s�څ��3��|��LrM�4y���8�
�'0��l ��Г��‘�
�oh��7�s���_D�������f�#Y�	>kqLu��|�~ ���`J!d��)$ϡ^���
!�{,�,���F��JufN��h���@�g+y?��#�D��,
+�,��&��c
�@�;�nL~W,M�Й�(��o9y	ȭi?6Uҕ(��z�e��z�|3:��#O��ff�8ۮ�iS����M�Z�����2�b��"��7K
1���h���^?�Q��
+�Yj�Kg�~(�
+���dE>�6��^�o\���t���Q�t$�� _qHI(���ԡB��4�D
�Z�U��J׹�R�0����+��G?�Y;F���,A?x+��K:�$D;��B��ҺϵzD�g/Q���O�lAѰw��0ߡ��������Zp>���۸v�1�=�Ҏ5����
�)���tAh%�������_e�
���xu�66�K��t.���@L*�o݁L�
X3;�w���"�o�`�F~��uY���)j�Y+5ɼ
+�~9�7!�Q%:7��9T�_��,��* nSD�D�7˛Y/��L	X^�B�R~�^����c�
+|�ܞ�t�q�Ƨ�ZXK�,З9`�5��q�!�AZ{^
�h��GS�}�@���o����^�GKP�/o6'K
e͞
�KN�����4�͒q��{Eф7מ
��2�@��F�!���E��:6����emtCq|,�Z�Al{^��
+����]�
��T��^�

�܂�W�M�q�*!�_��&p`�#��^��G{c�`
�Y�$�UM`�@Zۯ�dY��Z*��`�:�>9����2�M6�2�;F�;�����>^�M������~��HA�*�h�x�U=y9�����y0&Ec�X ��-����)��M���Ag҃�ս�� >�۾�\(�0�O*\�"���b���>'�/�$��/<%�6Y���w��H�*�
�`�oPcDS�}�RD��4��B6�y^d�[��=���LaJ\7�,�������z��Ԛ�T)���X��Fx]�@'
+�2���~��ɨ�����л���xf����l}��;�̍�me��Yj,EyFP*��(�n�&S�g�9��qDS����^�l7L��}݇Y�Z�ݹ*s'PWTG9ȴl�<�xa	k3��L���5gKA)ݽD��/q��B�~��Eb�QC�Oj�c#LLǞ��b�� �},/��b߂Q��.a��2Ugڗ��,G�g�y�l�L�wR����_9�n��9������y݁�,+�
*5�+�d���4O	�Ev�8Շf�'^���@�ȝ7+����؇q
��٤��x��=�s��
�Q�qa��P� ��s�
+�4��
,�,�B��Rm�"S���Yd�o�
��FS
8����<-��L`W��_Ҩtz&-<��o�]
�(f�\��
y�]鼝Y�3}�ńU+��1t�1�`�{�ꊈ0i#�
5���s#�4d/���s3�/��Yq���]�q�7��	����6�]4QWǜ�w�߷ԟcZ1�lå�\j#_��t�I/"�t�2�5 at v
����>X(����y����B�YH���M��i���0e��=GxHT���tN�U
]���#�s�Nt��I�j�3���V~PX~��4A�fP�&�L�0kb�_�
Z��2����TrGD@��j�Ew�����r�6�`��w'
�S�zj�a,��t���1�h��c��T��S�cap�Ͻ�zƒ{�\�j
2�|J�X��
�Vw����^cu���
Q5?R��o��T��z�#��W�Oh#������iܶ�)�W6��^��vY��q)D����
uK�O�K���g��R�#�o��ts��H��XEcg��
7����)#;�9�
5
c�+���9f���L�e�8<<Z����&�(ZK�s�6��^h!�#l�T��*�
6:߃1���ξ_�\aA�՜Ԓ2:��[���4��C)��
=
�6O�/M�m�X
����J����狀GO�.��_.�E�|o�;L��{*ƛ�м�*�z��:�+t�Bȫ�3�� elq�>�Of2���a��d�"�5�
F�іT�~6�R����.l��0*�@|Q�t�SwI�B.:�&�#������,,��GO֥^`ۑ��C)٣��0��W
ZoU+���$?}%FQ�^=���z"�^l!���Z5���-�y�< XӕR�$�5�T�0&����ئ$�[�%��!���Y݁��������-K����_����`<M"=�7x���K�p��^��Z��z
����fT�K��WƘ9=���r��õ�+1} �ײE�
�)��S
�\дF����s/j
���ŝ/6C��Z|�I,��6�
p�����e �p�����9��l;��KՇY�$�R��
�rnz�h�I
�KS�8wsZՈ
tOcٍr@Ґh
'��<���D�h��	xg���G����D�YX;�����F\*�UJqb����!�"Α���3YC��H��k�MFCV��0��;��aڄq.s�[m���V���uR��)����_,1+[37bc~%�����>%Q�[���'B�m��$��♏��?Y��������w�S���?��}?OIԢOj�^Ѡ���c��q
�4PO��A�?:9ǩI�|�'�a��T"�::m�} tb�6 - [...]
�ZbBy����Ҡ�F~��$
#!�I*X�	8�

&L�4�>�S1��9U�R�gWR�a-�=|�.(ݧ�ms[i�߄�nrR˾��j�Ԙ��K819��XQ�{v�WR�����*�<CĽ
�$�<�<e��M�ݴg��Ҷ����@4{��:�Ǵ�_
+i�����_��;���,V��t||紲U�|.oV�
�3Q
+��i�~mb�p,�Z>�1"O
z|���l��5���m_�J�O(��<���|G������o& a�<4��7���|u��=هY�*{
��m�J=#��[*�I�z��pdh�S2�`�T�g�n=�bUz���ER���ú9��-X��KZ?��S��X�������V]$�iR���&6���;��ٲ�
��F�jW;=�K�+�/��Wm��e���zw�+�ERC�)vG61����J�# ��	~e
���
�� ��5��E�r`w􃊫3��F8���9���"j��f�f�`�Z����
|qF��؉�^�SJD�O#v����5
��
Z�
+�|����f��婌�|1u/‚��_�
�����H�=�r����k!�
=
�)���, �B_�$�*��0K�S��>N3/���7�l�௥k��
6c��
+endstream
+endobj
+13576 0 obj <<
+/Type /FontDescriptor
+/FontName /ZKBDIV+NimbusMonL-Bold
+/Flags 4
+/FontBBox [-43 -278 681 871]
+/Ascent 624
+/CapHeight 552
+/Descent -126
+/ItalicAngle 0
+/StemV 101
+/XHeight 439
+/CharSet (/a/bracketleft/bracketright/c/comma/d/e/f/i/l/n/o/p/r/s/t/u/v/x)
+/FontFile 13575 0 R
+>> endobj
+13577 0 obj <<
+/Length1 1624
+/Length2 10093
+/Length3 0
+/Length 10934     
+/Filter /FlateDecode
+>>
+stream
+xڭweT\�-���޸�C����h�I���ww��A��\�	�����s�~��}�G�X_ͪY2k}c,
+Uu��`3�4������]�
�7sqR;(����,T��@�W���F4u�
$M��� m�@h��p � $��
���3�^SM�����ߖ?. 3�!��N + ��+��htp~��_�� gk �dH����)� �e�52@ �����ڊ9@dtp2 ,�����9���5'�W��N S��#�
�t7:����@�=���� rXAL
�_g�
�
��\,��j��U�#��a����������! Gg�kVUI��t�6u���	�
+����`s�?-���Ҽ�Φ '�3���O.3 ���hg�������
'��տ+`@�V�
;���+�+�����O��������h�_^�U��	hgɊ�������5����ϲ�9X�
��-\
���!
����0�ajv�� X -�ؔ�ί)��;�Y�s"�$������O�j��^��������.vvʦ��
��%x�e� E��{�����bL�Av
�C�?
��W��쟘����8�;X�J��������$
rZ���ͭ��v���ˮ�`�؁
����5�� v�`� s[�?���:X���W����M郌��$��t������
�@��M������
qq�;����������f��q�������Y��r賳��s ^�������4R�`�?;��l�`�f�e���@ �����6���_
�͑���B�6i���u�������
��!���E�5�
���-�J���֦)��6��#ǧ
y��/�xvt=)��|*���u�>��@6�R��c�h��9�M8=^v���ԌJ
ߒNupA�o��\
�q�9����6��vb4Aa�

�~:��E78:2<�s�o��)'�F��6��c���f�W����8&����S��^�������n0g���jR"���E0
�T軿�_CQoa����{K��Ϻ
�>����������Zo,?�a�K!�2�rw����VlI�(�c?�7��2�����4
�
$I��X�/>��\a��( [...]
+���(%�4�T
��2��T(yCG)jԾ�Y
�+��.F�	���}\q�����s�!�_Iʣ��/�䭲Ϛ���ګւ��5*:C3X1H�[�ni�Hu�� �H�,�a���b�ʥ��g�gQ���Z�Ԓ�6��N�%/�l
�ƭT�k?�ΚxΈ@���,�O�wt�(酃m.����
��q�8(%�2�<-�3�K�Bpo�$��ߧa9�d�Z~Œ��w��T �b�̸̙�q�n�.|�������������p�
}y��[c�_)���y��C�h:/�'73��r�����7�b�қ;�p�0���Y?�1�����P�!�)q$_�i��N��F�0蔐�0�h�ɳ�v��5D�͕RÁz�B�
+�n�R�i��.~�uG2����e��Md�M��M�8ss~��&v�ojܶa^3B��d̦3���b��w
wl�t� �'5�a���w�CPm�H����0$V���y

"�Ŭ����̩�Fδ����O��Y
�3�
��p$�
�Iܔ(�v~l�M�nL���/w"��̕��s}*x�d�Hļ�C>~FK���P3
�?�rՖ�m�b$=Ԓ���p����z�%���A��a�X	�PmY�E.�p��n^A���S�a�
$7d졐l�|��p6���8K��1��ժ�ؾ��N�{@�ůM�
�$3����S
�\/u*O۟�6�/��>c��C^4�Z��P�c�ߖ׺-2��~c�-mRR��<��r��g���_BZ�"�L�n��7�x���ְ��6�\$�<&�v������p��:~�UTP����A+i�K�~ƪll$�#�Ҝ5�Wy�Aݜ��H��?��*
s��ɇ�~�E� �B.-B�3\�;�G/��
�h�!i�WZ(�A���L�Oa)k��
��YfI [...]

�A+!єх��-	��7c�Dv}�j�jpƟ#=��[x�G�r}SI���^!b�l�
��p��$i��[1+��>N/����+��"=Iaa�
�]��i�.yJmd�
�
+C(�y���}7�q���;�A\�
��xv��۶]i�&^�b���r����r"Jb��j�"�.�"�|G#݉o~���ZB���`k��%vݡpZ�(�2� �����ǝ�LN
���
��w`�mӻ��
ª1��m�f45Q�o
��tS�+��F��׫�G��b\��6�
fIJ<B��k��S9 ����W��Ζ��h���cp_U�9�S�r|$�it��v���l;�O?�:2�;���[R��a��S�gDU8a㾴��y�f�|/�6_���
1@�1��Y�>���
K�u��#Ġ-�^3����<ヲ�(��d"e���T�F�y�1
�e=?��ue�L׽"=��~��1|ԗ�ܢ�ngƕ
��
��c0xo$6
��Aq��}�������
+�k��;��
��f�
V�#��
?(��j(�d�l�1�SC}G�Z��)'��dԗ���Ŗ��#�=rv�'PG6�����DO*F>\���n
6ǎ�����C�wE�J����JJ
+�E

{�Ov�v���]��!
�я���+T��H�a���
� G�"j�=�[v�︾0�/�vt��:�U���٨J#�R6�fW���T�iW��~B(���s_���1�p���lÌ:|�c;�
��6w�b��c�,�-�O�D;��^2�y�{��z�,�0�U1��m[�U�Қ�s�ҨzUJaR�V�G������6)=҅=�g��֟R��
�f�-㛇s|7���/�ͨ��ـE�z
H{�K]�r����*�ĸjm�瀽�S�,i

+��
�)����ћqcВפK����,���xd/ 34��#��qjs���S
0����s$e�d�n7���y5
��h��/m��I]3`�s��$m�ߞY���I�"����Tq8`�4�
;���D�Jl����ټ�<���
h��xPpVk�C�
�=�uOC�d!�p򒞭{Ƭ9���H��X
+x�d���gcL��=��Bm|��y��c�
����O�mD��^ex�4�+�����:�7}z�m�ȿ_�]��zwH��X�ߕ�w�@��M.R_�nB+Q% ���A�>,����O�Wc�G��2�̌���A`9jF?
}�sZ,�VU����/9���x`�'{W��P*�r�Y�i��US &n=��16��Zx�I'p)�$Aْ�E�÷
��\������s ��>�
w�C$J1�&�f��!W�o
,�4
ov���%v~媇`x
���7�P�MA���`}X@Ч.X�[��Y���O��)�|���`� �
B�B�-3w�]�┹o��V�YE��Z��&��T��uº�v�C�
���
�/��h{��d�Oͳ����7�n�*�G�_@��D7��h!I=�p�x��+r��{8���'�y*3$��|��E��Rf)n�i�r�bSO���
�kn�׈��S�pf�O���O3J�~Ch�������)�S��������?��,:ʈ���T��3nV��!j\A2
�V�z��o��%{M:�
@�l9�տ����������&#_
u�
�Zʒ�}�C��EZz���l�g�v��i��ɱ���N����uF��e�������3�q(-eQ����mz��ݖ5�w)7�c�b���.�Q�]�w"|�&5,�0H��
xx� �\�y�#����EZ��$Qí�p69��N!�.������0<뛋��$ە�CL~sW�)�
-
M��~{RD켾�@���|JVr���r
�w�~��[»-@�a���}�Ϊ�����-p%Sz�W�*>r�f8��M.0n���H3_� [...]
+�s�[�N,RJ���⫹h��A���.wZ]�[�-x
�x\��1k���$�8B��1��F�כ<<O5�͝�ih)�Yo���ό�
�m���Ƙ��T����0#�H��9��p��@��w�����,`8��r�Kt�b�QDI�p��3uvR7��|��p��'��+�e�X1 at uɊJ��$����Os
W0��������s��__#~� AbUK�	Z��K���<�)�}lJM��<�
�
��"~m�
�UI�Z.���^�K�pC)���݊�����rRSN	��7��E�HK�\���b��i¡��ߘzA͆�'�b4;�x�N2����\�ę4\+ ��l�Ɲ�������)Vw��5
��g`���?�%{�^$��7�&����w��hpa
%2�l��ƛ����\��������.�M�
��
�&0��f��Ҩ;^޸�����ԡ�4Z�#n
�H@���Z"���n��pt��L��V�JJY�},A��j����p�Վ�:���o�3C��L�uf [...]
���� A�b�Q=��jeSr�\{������[$T�*	��I)���5��6>n��
�:��jM����]�\�S��,k)"z����Kn���}w\�i�
�m|b�ZV���������+ŋ�f9�c�. �,QS?�<:������
�(
+�2 ��,�7�׭�ОTh�3�
`r	�n�TI��jg�:��V�0��6
O��.NƳK��u�~�mؤ�O�oOK�:����
d�g'�`�4�E?p��O� ��
�Z?�x�����T�%b�����Fv��&�x��73k��p�
W��E�;�K�ƢH���@w�zP)�̼�i
��"���N��Ȧ�9���1���n��zf�	��+;�jn-�U��-Ncr�٪zE,Mֺ�<�
�P��+�M����g�u�Ah1�C*�/��8�+�n�Cd��2j�L������

���6U�~n�9�D#zc3
�߱M3�����2!1B���K��j��	�o�����?a�d.���D��|�v�0��d]ƾP�Cf�L��-!
�d2{T���4!��-`��B�(����������-~f�Sa}v�\c�9m�g���`n�=�|�C�˹�
��� �P�Ѽ�TI5aG���a��|�I-L����u�Led�J^�^�<ч�
U��o�
+D/�ZG��}
�+Y�ץ�	"y�(�e|c!H�C���6y��f�i:fBHn
+&I ��n�
#o�蚶�n$�^�`�*��i|� �X>�Y4K�L`�n��-y-��mzw���b
���oJ���}��v�P��
���{��G�M�7B;�h,�!���S�M�l%ZɅ[�f��n�}F�j�,�ҡ�JVH湙sB%
�7��3u����C�I9�s���H����3E����NX�2��b}�v 9f7���2q���^~��l��\�����E���/�
z�Q�6�������1������dE����r�L�}fc���
�S�K�,�H��
�o���'�
��:y��dT��,?�����\�8���o�C���[�����PK�y��o;��&ɴ���|�P�W�,�����KRP�����*
�BQ�q�m
+�� g�ݾ?�m�����@�nj�\$�,jN�1�P��K�d��H@��� v��P�Rm's�Ky�k��?�ͧ�%X�}~�X[���$
CW!������Q4iQ&�M� ��ooN^?Pi�Z�9'���ߝ������dg��
�>2a
+��+
��Ԯj��P��cJ��������v\�g
�\�X-1�-�6���V��U/��%ď<:b猻��w�
����CQj<s�Ԟ�D���|�ӂ�Z2��"
e5��k��OM=�#L�eQ?5�$�R�,|�H�+��*ƥ[W��ֱ0w

�e�\��|�
�Zᕁ�c�ő�H�&�U�S���3��kڰ��6zZ	6���
�e
��xD
	�f���/�CKV"W�v���V+~���K�e�vn94�


-���޵(fL"�Y
,�x�p"v"�e�<Tl5x����2�����F�:�]3l`�u��I�o�'��a�W
<�������Ȅ3gE��I�tqu=�,$.u ��W���[���Ұ�����
+��ιj��o���e������SB.|�u�
���`�jj:_�:�X&���c
�%p����Ei��KYGY�T��
g�K5����)�PS[�W����L&��B~�9�햬�v
+]+�_2'��������r%��0�2ګ�Ў�7��b�T����������L����l%iU��dѩ���[]�`�.��HO^�n��:���I{�� �7�ja�Zl�N[~��6�ğ(k��}Wq��
B5�Ӱk��
�A��d�-�z���@u2jo���:m��<Zǜ��M�*��%
+� -X��F^�9���
+�ǝ$
�;eu��e����Pw׵��ۈ'�S���
+�~⑧�n
<
QZTgy���N)W���~{�{*�2��kڲ� 1��t�]=�E�a�����|�/B��r�0u����A�<?$��Q.
���{�m�n`�� \|���Ht�!���+�����
W?�u�L���x6�uaz�H���݃��
+�?�폡�K��d��K3��^
�2h�na���z�,�>S<

�x��.��b���4���i}6
���j]�J{�+gӪ�XS�?E<i?L(�~l�c��
�Ӕ�x�(4�:���g�z?���
1��Ӵ�hJ�%h�t3�
+Ѵ{��f� �v��,�0{�|����StC����g���+��`���	�[ôc�]Yz��۵��<�*GPD�.⽡��P��6ƀ�ht��X��
�l����$x�<��v{�R�H��0%�z�����z��e������[��=�-ϡ2m���y
�g4��^��n(�K�V�5c�QO@_"Ǫ�;.F��I?�:M�W�	S
������p�n�
�ݸD�o�11�
+jӵ��p��ƫ���8~�)SxvP��
XϹ03�D�.��Nn*�蝹É�f�v�51
t�B���Q���'u�%��}��8����–���I� �G'3洲6@����Po���t�tf.M��Le͗�~��n,����a���
R�ed�'�9r#1�j
��~�1�p."v�Mi�������'3��a�✲�qB��^W�7/�_&﷬��� �ɘ�G��rg�l����
CݖP�T�rю
�.SU0�'nEH\ ����M)ß�E���޳��-�̦Җm䠕�
+�����ݐS���6!�De=�����<~tٖ+��p�}2t���� 4я�����P�\N�%�Q
+2�#�N�>:�Acs�'��s����_�f�o����+O |]t���u�(��YL��87�;F�f�j������
yR�eK_tW%(�;��黳���Y�`OC�������f��Zgx��~u
�Q�O|�q"�A��>�(J�O��Lz�
�mh�h�|0f�p[��c<�s�F��H�P�€��c��=#�|�I��-C9B�a�^NNFՓ~��I�d�hc��8�����k�:>�T*@�\
+�F���i�"t�&�t��_
ƾ
I��&��\�\�X�/�y��0�<I�F~�Q����$�Ѹ�U�^D�P��6sGX�HX@��������%�:G���^�hb�_����3��ĝ�̩�iK^_�����SfT�\l -)�Vҹ�NQ��{�s�!}t �u7aRr$�+��&z�`0��  y�YR�
G�<SN��A�k����#n|Ա
eYL�x�8�
<�SBs!��z��?��>ҫ@NB�}>
�Y�Ǟ/��l�
A[����d��?HLAJ�F�
�[O
U�sC-��׋yt��j����:?r��pa��HܴI<?�f-�ǧ�1ݖ�H��#	߃�x��]$���Xv�R�2J�:tZZ����#�;.&,�-n�?�)��^�¹��q񗇟
+��t
�W%M�
eۜX5�4·����;��_��Ѥ�.6���=ܡթ)c+�$ː�3��?o$������k�4��f�O��"S7�r����,��"ތL����h �3uW��'P.
M��Vx�Y�P��ѻ~r�Ι�:-���_����_�sp�%���}`)��~���1�l��b�L�Ӟ��{�h�+��FV�|L��J�$�{��6�a��I���>�s��
+Id;=d��Zď��5���o,�M눫��'��XK�᦭��pYhҕH�̊/��Mk�P�$$ͧ�
1� ;K����G$�j�8��8���?ZXM?Z���W���D^�!��S�wqo��I���5��27��h���E7��G��:('���$iy���aS|9p4ŋn�
���3�(��7$S&	�J���op��8ڤ���i
�r#�Y:�M�T>�O�_�Ԣ��[9�}��z�s��B�]B���(��!�

zO���R��`���V��0��Ԑ�ş]p,�~� H��{�Y�S��u��vV�D����"����^K!8��X��� J/�4�ĺy:��26�~�XA?59��'��=�>�JJ���Ǩ����r�+k:� %�2�r:?�w~4'��E�`^&
	��H�sz at U�O��\&+��J�
//��sM�nLӛ�����
"̺��T�E�H��iCYp��GS�,'͛�F��_*�h��A?��\�&T�r0�6�"��ᔎA*�>�G�~��OE氄�0#[?��;��@_��g��{2��t��"-]h�n�
�n�v��W��(��t��
+B篺|^r�K+*���'�H؇C,�a�o
�T�=��y�h+<JՆݵuM��_��
+��
p�U���� �Pke
9��,@Wfh���
HրЯ��u���.gv����(��Ǜ�mER�1� �/�?
1�Ӝ����t$�
+`5��߷$��kO���I[Q0��x�#w�@P_�ܬ(�l{H��{��A
�� ��^��n�2~H���=��E�;Ź����S������7<���қ�aT�����"�h�
5��N�}&#�O�/܉��
b&`Z�5Q:���&[KG�;���v!ĭf�
�Ku;�eR�a�w��\εE�������T�g���d�T�Fj����Hc�_G|9�KP!a��
+��7k����ao+�E�}� ��1�l�@`:E��m���rƻ`O4��
���\��P:��+Ѷl�V�unCח���-���;J����[ކ����y�9�
C�A?�0H|"���nFM�R�~IeiO�|���bH^�e<��~խ����hT���8ƛo�)��j�_��M^v�?��2K
+��z|
�#t�!�UyJ
��j�C@'�� T�3�R����gI9�r�ݳ��/�Y�PѶ��e��iGV��Aj�j�ʯ�0�A-?�׎O�|u�]2��=�
-q(�;TT�����~(��ԓ�gjC�x&(�>aܧ�
+��E7T-�)��m|��fB�i쥑त�I���2�2 ��K?4kT�?�6A�33��&_�����D{��@�"�e�ҽ}\�M��������.��)
/�?�� 'Z�P��F�J��8�PA(&�ﮞ����P
�ؠ*&ܹN��%}�^�l8���EE|�
�5.ݾ\.�u�UE���
�����*���lc�IAR��PGs]=��(�s�Ā���"�)xKB��U��y��'�}��
a�ܢH.E)�II�U�	c���p��^�##�ݹէ1�&:��h��)-��=�Ҕ��gdf� ���t��$uK�wi���s�\�y���`ұ룫9I7�w��
×�ebM�z"֢GF�
+��hLw�S��b��S��Ok-�6X�[*�#o�����#�����y��(N	w�/q�+��w~q�ҽ������-xg<-�7�|�N�$��
Ki>�P��8��T��#�E�R���^��>�w��9r����ۭ/��q[�+VSP䩸Lφ�t>mN�����B슔X?H�T����K��89<	�
�������q��0_8�b4��~�i�)���Y�z��4�4�ߝõ��

4�H�#��r�
���2����mJ�@��������
�Њ���G��in.�
 T++]j&�߬*ʜ�@r�T)�M�+���
������5�jN嚜YJa��
+Si&#"�{*�K2;W�&S�P:Q�������ٱ�T��\��|5�a���ZJ<�D�Y�Ð��k���n�
~����
o=��Sʆ,����{[���k5mN&H������*�J��z�ZƄ���.��`����(<�6�y\��]�a	��q�Xb�����`L��x6HfW�!N��1bh�cmO���:�1%�Mr5Yu
+k��*Xl���z at c�m����ը#?a������<�CϦ�~J��k���$& �����$�����8�I����
k;qg����J��?V�١�pRc��)��XI�
�i�e���^A%�X�^N�I}DcR��F47_�0��{BySo� ��j�E
�-;8�\"q��xx%TdD�S��6,-^Δ<
+�

�;8�����*F_��K��>�M[��~b��$:�tU s�?��F~�W5�}�eXXQiӯ���1M;���^lJQ�2?�RB�u
+�����bo�wjmK
WA9[�{c5c/Uצ9lbͤ�� +��X��"P=璋�f�y�;�
 �ՠ糲�E$���}c96�@@{�g���9�?���
+endstream
+endobj
+13578 0 obj <<
+/Type /FontDescriptor
+/FontName /MQGKDD+NimbusMonL-BoldObli
+/Flags 4
+/FontBBox [-61 -278 840 871]
+/Ascent 624
+/CapHeight 552
+/Descent -126
+/ItalicAngle -12
+/StemV 103
+/XHeight 439
+/CharSet (/A/C/E/I/L/M/N/O/P/R/S/T/U/V/X/Y/Z/a/c/colon/e/f/hyphen/i/l/n/o/one/p/parenleft/parenright/r/s/six/t/u/underscore/x/z/zero)
+/FontFile 13577 0 R
+>> endobj
+13579 0 obj <<
+/Length1 1612
+/Length2 18915
+/Length3 0
+/Length 19754     
+/Filter /FlateDecode
+>>
+stream
+xڬ�ctf��&�v�ضmTl��m�*��m۶͊��m�Իww=�����c���k��\cQ�(�2��9��K:ػ2�02��v&n.
+��
*�n��B8
+
+1gscW������9/@��
 nn
+`e�����Q �

����V� juM::����c0������. at K{ ��ws[G;s{׿�׎��� W+s���
 �MI[FQ
+ at -���2�7w6�(���M�@Ss{s���3���������\�b�� �.����n枦�������v@��� �
������o\
 @{S[7��+�p�WB��-�����)9����:
]�*�K�;OW+c�b� ��-�
L��)�_��0���@{�����?�L�f@G[c�����9:����
���2�8�[;�ٚ�������Ow��N��V�����׿�
�e��r ����Z0±���i��7�%�
��A���p �0�[n���?u����j�?3C�7	c3{[/���
����ߐ ��;���H�o������z�����
�o����}�OhI7[[Ec������a
 �v��������h��p�OCM�'���#�j��"��	afd���"	�47S��Z,�m�v�_ru{3sg[���_F��L 
3��Ԭ��6������*s{��L�/I�J�IAG[VR��?w꿬��r����7��Q�����:��!* [...]
+Ʈ�@O��ߒ�Y�U��x���0��f�̊��������_�Ԧn��Y�׍�[��<�k���=�M�V�
L�B�S3�\k�s�'�u�{Y���
K�
+��
zR�wx*��k��y?ۼO
?�eiF{�l�z��/���h��Q7);����
J��4�}��!t8�5v'�U
�ߡ�;؜a��h���1�
��MS�c0;QA�j
N�(��
��F��zn ����c`)��!)����t�+|"h�Қ�oگ>�5�}
r)���#��_�,������!�څ���[�+���禣�E�y~�|��QH�`�7L����ڐ��d@�
?�]S������UӾ�!�̏�(w��{�@�S03�D�U"��:�Px�-��Y���f���$
>.h�t����9�7��w���Qb<m�q�y��Y`�x#>0%?
�t��8!MVt�����ޏO
W�	����
_�z��X���"?���8�]Ԇ�f���%A�ϓ�N
K��e2�9�C��t�(�s�
-��$���� )��|�y�%-vy
����V�Se�]�[�/޲d��5ENo#�Hә��A1X��;^����9��s��I�� m�t�m^������-�~�w���y��l�w"V��v�� H^�՘�E�v�-��
�
�6��
�%��Gr?+I'�'����[�H�sh���?���%�@�1<}^�m
�nD�NjZ	�P�ga8GP���6�}�f'��Y9��_��A2F�,�R���j�
+_�����w5���D���WS�~������!��!��R���
�y�Oh��\!���"�*�dd�'�Y��^��2;l\
�q�k�(N����ml��1AN��;^�D!Z�M�A������ϗ�]M�ޫ��@�V�АG]W�ȷ�b�W�Vf���_�h��H�0��~#�&O�,�c�%���֘Β)ih�9zd#^�?0
��(R	
+r�X��4ˎC(w��3��׌[
+�8�G,��F2}<��z�z[��(
]$7�/F��}`�"��4���'��
*N��Up���#Q�\m�k0�Y�ㆲu_�20m�c�	Dw1O� �\�0]4�I;�ﲒou_��?b���62�Sٳ\���R���4�P�x�ß�����
+��43n�Up��ZQIA��4�+�I�.	�d�.mҵ(��OÑP���Fh;wGu��vg&��mF��vXf���e2��4��A�|I[ N{�<��
��p<���
�l
SW���um�p��/v̌�q�6��jO�r�y��
+��<g,e��5P
+����?�~�-��.ɽ
qYw	?��M&��$��j���
�Ү2�����/�N��T����w��`g�P���*H��b�)�#�P�
��x�L�+���>S��_��""�=�z�`�u�Rz
u/��l�	���ꏗ+.�&̍�(�)l�x��/��C̱&�g
B���-
e ���ߥ���qc6�*�
c$W(��.߯3�y�&�~���^&S��TA�
��^3���"v{B��B�>�Ev�m4���k��T�x�&��z�%�s�0�k�Q��8.�;;$�@WU��P��1N@�7l����OlSO�{�ƶZC�����(�*2M���f��h�!G]��L�p�ʄ�^q�f�ݹ�*������K�5-*��S�}�+02��K�
+�nql{q}G�_ at K�a짂�Pv�.���.����rn�d��A3\
+F��놧����wW�{�-�;#L�\�h���h
�Rn���w,rFOdi��Lh�Wɩk
�}�N�<9�-
[`�
+
��EU]�NQ�ǭ|�����Б�d���n��9��iʑTw\�?ǷQ���ǹ��
�
6�q��F�P��M9f�B��Q TQ|w|�����/�St���rJ�4
)2�}�N����>=~����ь��S8%'���
+�$���Q��S���=E�
�DŽ�@��>����H
\��h�ŭ)~��!���M-օ�cl���\�
��?}1Y��>*4�J&�
*s�Dp�� �F�6@�(g�
�(���g�q�����k
�w�T0v(ܽ������挦dB"�
�Ƀ�]I;1iLl��/� ��0�������o4Ҽg�М�ݺM�
+��b4r�>��߃du�u�2���W{'���c&�%�h
�&�'%�9)9�;m���N�N������ hh�,��x
+�`��~��z�wfP
/���_�=µZ_r�H���2�����<+]"��|
gS/W:s��V����!�z}���Vp�m`~+R�3=� j
+j�y���#��iK8
�
+]���
��B���Z���l��M�@ [��K�r*�I92=<��H#���e
̡�s���+kti�=l�W��Int�Q���~8xG�O9
��J�T�
Ծ�&Ǭ��MR�vl6�n�2/�S���b���=G/n�V�u2F�R�B��Yc�^�Y���=��zT���&/xJ:�gԢ,$yͽç���RG
��o�0m��+ѽQ�N�
%-wfa9@�]�d4QKa}�Z��S��U�!Y
L�j�=��p�4iG?Xh�j���,�DGi����hm��:���#ГYC��
� �Q�E����9i���tk�H�&�|ԥl;9��HӼ��7�B�n����+�ȁ���d��Opu at Yԝ�����ׇjE��*�|��b�x~=���#&c���7\�Dˈ�'pKC�����ŧ}����1�z��s<��9��Z���������[ɭ������<W���C�HL�d�W�O.] m:F*|�<t��U�O����?0�ɥ*��<J��#���v���M�@�e%����
�2�ޭ��L<?D�����c����Ӕ�d�b�&Y�v7O��t��p�ә���[����q8d���K}{yE���٬�9n�ȡ0�ê�(��C�@�P82	ɗA�~�9�������rjp��:x�oc�LQ"�ڄb�A�S��A�K��
}��)���N_��P^�+�o,��noЧ�w53h� ���ˠ�g�.���� '��ew0�G�l
��ǝ�N"�#CШ<(ؔ�i�J�/0~��D�8m�J�x�8�}G9
����,j
�%i8�J
�K��<���
�@�c� ck-I����r\���2�Z��M~�>!��*������U����R���@ũ�M�
6�9)պe�c2���&�S=��u�
�gb�/�m�h��<
+��ˍ�P��3
O�
�o�kx��o5ݳ�#��&R�P��#Q����/u:�2��� �BN�c�V�`�e��b�p��� *J�V���7�ӘP����:��~*_����8:�_�h��(I&��Y*&��:�h���依�{۪f�v<��ƣ:�;�룙w>_ۑ^�vKٖ�
L����
Y���;���詃��t��ag�۳�	6Ԩh�^����7
�Dġ�xʞ�Z�&�����w��^�a���x-�Щ�l�֞�TS�V�
۸��t�a�݋���h�!3AB�ؕԇ��� �P
~l�n1N](b��k����uڳ�o�}$��+I�|�P�M@֚6����)k�w�4L:p�
�M&%�:�򀟘ˁ�T7����.
��_3U��+�Y�}ۤ�ǒ�A��#�X�b(@�-j��~F���^@���
N�����p��������A�
�̩����N��rJ X�]>��
+��zo�
s�GEv��o�毟�j*f��c]�o���,��䙟�a
vY��iO���HV��{P
;�'5RI����
L�bw7ytm�i
���� G�J?ޱˁ��H�z����C��EZZ{��8KW2Fێ~V��S���D=[%�YG'���2���'�O5A��)��qAƷJ�t�|���D�[^Ew��ů?�����,6�r��B�;xBD�
j{.3E^g-�ѥZ+����
+N=2��%IWh3���۟�oC��Xw�G�j
˹u�����a�����%���*H���Η���
��,
��&z\A�&��(HC��7�{�{��
9G�{�f�ƏͶ���?C�
�Sr�NAK�����).���]���øv��Bi�"��
�w���T�
+x��;�B�Q�������Z�-yE���s��'v���݆�"�2�$�����؀
ճUF18�EDR2�G�v�.$�#E��RX�
�A at s��e7����bC n�;�2�3O.x,��ʄ0��0�=jy����̭P���o�R��;:]K��ezo*�i�x��y�z�\V���e�?�D�R�N-'����0f�
����/~�'���x�M���C���P�yQ�Ե��y���j-�U��\�#�հ�-]�W�����ٌ��њv��v{Òp-M<ŧH[=<��Y�p�Y
+� /�\��X�<�?���4�g�E->�y!�]3ĭI���27��{/��vÊ��Z���
+��7[X�6��/�3vj�U����Y,DR��p].J�hT
+
���I �NJ;�V�
��$�zar>��ȷ읱쑪�RG<�3�χWq�]�-A_��U�Y7k
��,�ު����iu��#$bޥX�ȹd����,�Lo�X�֊�]&^%���ڻ�
i�à��; +T�����1D�`B<�1^#��}�ɅȔ��.�w��()B/�#V����ݻE�n�O�l����I���H�O�P�5q
+�;ُ]Vn���Ӂ�ٟ�g6.�I&���j��X��6e�=�83�[�d��Ra���N˞��=��t���UZ��m���	뾧`ci�F���GE�~l
����y���%�C���,,No�
+B�����٬!��
�B�mI�@�J%����ߍ��WJ��I�2�����I��uX� ���c��?E�8�l�N�Um
1\o
E��NB���V}�\��dk���|�;��!�g<tm!�(�%�[$��)9���0�b�N��ھ�;��eN+���6����g7��X"ک��y��h;r�%�B�~J��)/�
�����=��%z�fGS�
2�d�*��<�Z�

�a��
����ڟˣ 
!���&u0���E�X�]�`��
m���:�^o�,�`
+O!�0#�
<�l��L0(�� �C��W#;�X �3���5���F'�~q�����{Q���Ι)4���
�����t��좳"�D�����c�dO��vc�ܠwz�S�
I�B6!}I����
+>AY�w4�?�>$�&Y ILȝ
C?p|�篇�@&,O��"�:���E( 
�����3<�TN}��
+2|
+���&��a�ǂ��V��v�̛����S���[)(o?R��'�?���z@�S���
�+���L^C�މ�JW�
TM��P��]�Q},�ф��j�(ǘ����[�����*X�#V;B��&�o�ŧ�݉���c�^�z����^{��0	��~�����
?���������.��E
���Sku[�ى�3�E2�&0
΅���.g^�G]~�/��7��

��g��|����g�B��[�҂��߯�j>ksR����q��:�̵��f鶓�X#b�'�yJعG�(��� 84�	BZ�z�,rY ֮��M�<e6���ɚ�&��y��Wu�(��6�Ò��}8�m���@�N,>~��L�j�!<`�y�I�Y`Ӊ���)aU(�!�礔�(�K��
������%��c���D����8n������N0�S~�s,#�λ*`k�l�:���`�?r,��ó�߈,/�N�����>/i/�=�%���6T�c�+�#�p]R���a9W�.ʗ���{!��`������	x-oR	����D�^�����]��o�PA޴
�����	ɐ�"��
��a�)K\ӊ��.�b��_���4
b��O�<E� weZ�T�2��.e̯o
+��"�$?�C"��|V�޹#)��Al-�����ʡ��,��,�,.��P� m.Eo�����С]f�
�.�2�԰5��=�1�����es
ط�8L��O)}˨XH���;��r�'
���?_v���������REU�L�ض`��)��,{�P=�i��_��#fBoe�c�CE
hW*���S��w��BP
�nL�e�I%e竑8��6)]%��XȓR[{R��`��oh�7���J��# k�EQ�P���e#��9
ڷ�R�ңU��y��ܺ�B��ƿ��l����7H��An�bu����
8fy.W*�:������$�qH�\�Q)�Z"�W�/�"��{��in	�:ồ�k��
o�m�l�Җ
Xtu���y�n���h??C��x6jO��U�G�,y�/�������v�ҫ�'g��{���d7��;/U/�2Tl���3��AA@�

����h�|�#�7Ѳf�C���^-������%<Iǫ=��~ex&KFę4�
�d�������:%�#
�
~ �.��3'��ύd]��g��_�iji!�T�LLQ14bx8���Q
����^GE�x^NJ=�WZrf8���W� 4��B�s�{H~�	��)�t�À?�ZN�{0B�rW����Ԝ�!�}��w�S%�m�XA���

_zb
Q�֖x�
�h�>�Nz��]�6�h������fn�"-��������m��S�հgќ�9.�Dy�R�h�b�Q�1U���ḣ�҇�عx$s�ƴ�~a~
0(�R$"�{C2]�މ�b���ws���k�7Q���๏�z	�
����j��7�ڽ�~D±ƨʼ^^G���կߡ��y&�̶��K\����7�{��
ڒ5DO��2��-!8���ce|��u�P}����H�k�J��;WxQh}Q�"��x1�b�
+�{m6�޻<��?g<�\I ʟ��6q�W�
����
+�
{
���J�Y�<��R֠�\1�
9N�hg�\�=B�=�>�����/?�kܚ8"]��M�
��Ȍ�64�/~9������D�k�0X����T)��Q�tGQ8�LҚ�@'��F�^�^�"G�FjXU�}�t\��p+�
+�]O�G at c�2/]�W��A�`K��dgıדY/�J�3o��9�	����oi��g
+�r�r��
*���׏�t)̟��]6�c�O���m�2w�,Z�<ZIN𡳓]� n���� 󲆟��
�堑��
r��������9H�����
��m)�c�1��t6�1w�
����V0'�V�b#�ɂ�
+�=�J�%Mt���
%L7�z��
�K��
n�֧����;�^�3����b��5+���B�if�9�����a�4S�xu�5�>�
�–���t�w�9c�}Պzm켢'�6�o,��4�a����*�Bp˝���Le��6����2ƅ�9��p!9{3�!J�-���+o��י������J*ap>�b˶nu��/��*���#��Sō�}���g�
+����9�8O�s�@����.nL�>��}>)�sb(��P�%/�K��
��(���J�g}j��?C���6U�LvX*����Jaa�
1��aE�#�ϸ������^Q�[Ѓ�R���e;�\h
������_� �tk��a�r �K�V�τAvvQ��T_���ހ[l��A���*�
v^��O@��	���RB���^��:o���`H
¸,k_b!�}^���2�'�Y�4rÅx�ҏ��C��bn�Ț5���N��灊V�
F7��8�T2@��'���u+j�W4	b	ڟ��_�R
iˈ�XJ��� �_�
P;
 (͞F�N��&
2�
���
�y���������|�b��*
����k�̰T�R?�hH��Z�������eF�>�C�Q��= dDTb=bp�
T}C����󫴨�ńl�1J��/�(R`�	0��]\s�D��i)��������ʴ=DMo�W��.�/�xԠ�
�2��P
��g�l�8z���Ԁ��
�I�+�m�=���{�i|w�Q���=̚�:���`�M*��`��}�A�֠��mvd�$zH(^Fv��]��0�y�F�TK����>�y
<�;��m��O�7���
�L�`}'馓ָ���]O��L�	M��P�C�@Iq(���2Iq�p��t��+��dg�FH{��
�k	��'S��.H��+!
�% 
�İ
Pdx�ny|x��^o��ҿ.��rOW�3n�hY6���^;�|��r���4��_7�x�6�>T�����������Ax�*�����i�������K����\̡�ϧ)q�����P���� �+㢭�BO�PO����M���Yए�H�c :��^�pCJ4?�Q�؜�(,��It
q.��!��P��<[��H��5r�26@ܴ�'q�h_ at 3(":L��6Ca�����n������������艦Qw��)ޅ e�
�yLKD�)������uӣ��|�H��FÈCiS�ɣ�W�����Y���B2�B�ٖ���X�j�N��"�nr����
k�ZW���

�7
Ӓ��I���ܵ�
Ė���N��h

>��
�l[�Qb�.�����o�L��>X_�
� ��4b
+MŬ(�ªku�:ܬ��*�!^�
�+��!�Z��
�
�v
+��	�G�!-��.J���!X|w�} c�f��
+j�s�!������}NgQ�����8*�]<��ôi�Sr��p��*Z����7:����5�A
�/AϤl�Rx��q��{_��,Y����|0|�JB�-�QX�#�dn�yO=�x�m���l�:I$
^�����q�
_���4�Zp� �*=0��
/x���r��]ʆ V�
��J�b��^�	�6�#��q�����1�0~Қ���W8!��F.
V������=#,��?'L�}
����_��\�����2Oc�m�^�
.�~��\�M��mt!��rFgn�p�(�Qr)J�n�5L��{uЩ[&_�g�cՃ,H$k-�kO�N�Z���n�fI�6�v9NC}U6��u��c�A�����߸2T����EaU~FL0�G��?^w7���]�U�
Q�Ȋ�m�BP�qb�S�H����?*���d
c�X��#��y���1GP��.L����Y�攈g
�;t�=9 at 4Z�>>��b4�H��@�jo����c���dqƳ��6w����
\
?%=�D��\��񞕻� Y�? �D�Q��u|Q��`�8�'S�2�Ad:�W)��ՀF�o�v��z�c�k�[r�
yq�w�I����E����0.��g�
�“O��_buL(+����_a���P��
�׌�
+�g.��)�<���BK
 ����^�8��ѵ~a.�U��Z{�����*]m��i��!s�_��W!<�\��4�w�Ì�Bl03����b����1 .c��
�\U��Dk�Z��xFET��{�
+|���@Ԓ�����S���G�����������aIJP/�K*��|�Ir�_�a�
�mRѤ���WT:�Y�]�F����B�	]�}������y��u/N��-�d�[Huۋa_��k�:}� ���U�x
,;����
�qn�h�J���o	;_��Wh<���+1|����B�Z�������6��q�m|,���q��:�;�X���K�1;���X�g�Z��$M���~/f�bd���OP�s�ʏr-��CT_���
+�2	���7EL�U�֤	�i����
��?&F
�p���B���P�.7 TYy����yx�i���_�/z,��0�}�@���̈�93�-��B�p
q�/�z�3
��jQ&�C��o�*q��3��a]�xѲ��!y��9k/;�ƺJ&}!��V5���������;j��M��ڕ��テw��
���E�4e�u{�ߧ� R�)�����5�ns��3��
p���4EU� ���#,���С���F��^�ٱ��-
���J�?g`��K�v��_�{��a
O��B:�"8�
+F�~��ǥ�d �E�y[/���`�%��]a��>җ0	!'d��
cM� :̥�?^��4�:Sr �ju6��=K��N��^��-���3\>
������rT�m:��D����*,�B��K4���Ş�����G���n#{m��YR@��F����Z���B �[��͓s�:�k�x�|Za�
�����y}��Wwv��Z���є��B���Zr�ޏ�Bk���%�R�1PSG��~�����X��.
Qػ�-�҄�-�y���g�N�Ij�����ct%��}g>,�ؗaY{q(�gN!b�e�n��
-3�*#�*@�D
�Ƅ��ٶD��KϾ
�
E�{�5b6R�O���[F�E+:"�%H��w"�ԋ��&0�LN��Ԕ)nR�O
 �.�JU�|6�ھ�jFs�iq
�� ��8�c�4��C��*��f?�f�!��^���hC�����?q�����ãCL�4���6��������SԬ\!�x�"�K樖���pd�m��~Ƌ{�/�

*,��FC�Ǧ�犀Ɵ*�
+S ;��^Cb��:��+�m�c*���JB�����\IE"�f�Z���*d�FEo+Ṽ-�)�H����ΩO�ɯ5�J+�_)�~��R���G$ˎ�C�?��\�*�C��,����z/
)S2LL�������r����s������s�K�
�K�׍V�!u��f" �(Y҈�n�)G��QqC� �c��X���6.=
+�*��
�M��`��^�bC��ҿ��f�8�*.��1e|0�d.�7��{��P��W�.Z�1�c�D#�.boPT�ް�h$�8KH=6B2Qx��p���x�V�XE���
��%����Zy�Z�Dk
�8��+�v���=(c����X@�U�l>�2|�n�z#VZƷl'���J�X��l�̹�&�0����#�jؑ�.�	�k�p�,~��_��u5(:��)�,��ID�7	���
��ǽa6x�%/�
��@�P��F��q!6/�Ib4rS����E�OmT����C�n.6�xM7�
+�D��Њ�zUX�c��� ^)z�a�
sp�`?
t�2h�
R��t��N�� �@fw+w&�6���%��Eb	�t!M,����gI;��Qͨ]��U~�=.Ͳ>��\��qO@�F�8x��';���$�l.�N�S�I5��� FX��
ɪ��޴�%
���A?��ޠL
���Q's�Ut�p��]�}P
���x5��CS�[h���T�Lë*=��^NL��
�,hz"$�E�"���s-�<���,��]��|qF���Eݗ��,��P
=‚�/:�\�G�|vXdO�b��0{��}�>�\��أ��{{uգR56���'+�@�r���N�^�=�M���a�Z
�hϩT�*�5���
Z������s�G��1ugf�ߥ��"�Ɛ�vZ��3,#������4:��ο*�(��ӵ����_ڳP�G���Ϻ�'�M��
�L-TXE���O1�V���f�lAS�T��������-*1q
+�	��9"g��1�h��Ƚ���k�Jtβ�G�d����[	4�V�k�zI�
'��ԕa���
��}�Z��oJkp���oP��
+��N|�ž��Fܧ^ţ�e,�f����[�
�U�n]Ε�c�s9
��=WE��WR�l,�9�v�Z���,���O�˳�#ӯ���Wi!�f��
<��eMa�0�����z��__�{�\�_.�yG�O�'$t����*�(��O��g��Ӄ\�6���p\��J��>���=�X �q��z���F�~��si|S�5ӭ��Q!Zc3����d�6
!
J}�F������1U��*�~u�@�U&�,9I��
�8���2HK�D�ә�C/E�H����_�ۻe�3צ�)�yۏ.T��Ё��$��ҫt|Ww!v��s�׽�������1�|�����qDm�՟s�^�2���J�
�Ӹtc�l�~��&a�Z4���^�
r_
Uq�71�RKv_G4����3�u-F/
�
+�٫�l��EbO�9��P�0`�˷1�Vz��2M�6"M�`;���5��A9�m
+9PSE�����;̄N���j�Ӯ�o����[�A�
+a�����"a����ַ��y;ڵ�\P�Һ���X��H�"���*d᪷mv��⢷M�X/�zu�ͷ�Nj��G�
p�(�� �g14ty
�� O�yӂT�Hc�C�M�&��^m
c��f�Nw��C�5�͕�MD��<����y�*�L
9�����ř�	F���3)��0���_-��3:@�<V'�Q^߀%���ʗi�&}a`��	��2�e(E�>Б?\/�E�[�9�AW4��u�)�@�w7���)�H
������"��!�������#�|W�cF��}�k8j��.���
xȂ���{�Ğ6+䟧��@y�^�G�	n���T{�Q�-/�#��)����B0É6o
��u��*�*�E6�
&�G��b��P�$P����q�@0�����of�
+J��������-fӢf��/w�S2��g�r�4�6���h�_毎^��@*2g����%�*��p��eE�WG#56}vm�k��`j�#�㕃����2
�2�'� �I,k0���JG`��O-v���a� ���U<��*���Q���P�p�[]
�����Ux9�'��� 3ϛ s�������P�o��<O�6V�B�nZ�^b���:YE�萧
+��u�i���_4O*@3��������f�
a$.�̕7Ӄ��+�B{�s�6xt�
&N
8G	�R�m����$R������&y������+�*u5���I)
+�Z�E��G�Ŗ]��]��[��?
U�
�D�HэX��B����I1څ�w�qU`,��X�Z�|��(�on �e_�����H���f,ُ6Gd �
�g�"�%�N2��L�c����_n>�Գn�H�C��1k��W�øL=���
M|zl�0*�8N� �?V��!�W��a�
+���Ӣ��
ф��
"�os��ٯڭ��i�����_�RP4��\|��
��LI] �*g������&��$L
�3?3�+�>|����T*�D��CT��E֌�S
�g�6~��2�ߟuU迻�"�S�GC]xփBϪ~�^mH���`�:T	�
+ٶH��Rk�6̪��J_p�L�3����d+L!��^�	�o �VXh�vi�]������ڍ��V�)w��E�^2�*W���
+��
+W� ~������N�[yU����Gg�med
����v_]�;�tڲN��u�� ���a�
T��9�U�����hQ��.�%!���h��	8D��r(��
/�
q���Č6E&��繊���[�����W1��Md��Z|�^�m
�����¶���t�	Dz�p<���(��g�>�ݢ^9R|m��o
C�EIYK^֭�[��"�KT
+��?Y��bg��]5q�Fѧ�@�^�Ww�r�o��=����
���N��.���>M���BB��
+��і:���4���@�˼qg��qx�)���9��Xf}���B.F���sJOB�����9�(T
z=8dvYNS҂o6�'�zŁ5[�e�jc-�e"�3�xp����}�����r��V-
+�F?0a�]���h�c��.,"���e_�K'�B׋�
�6&L9z�`<�W5�-!f�#�hݰ��
y�j
+)�	l���a<��+>���Z����q8���b8W����^
�.Ꮅ��Y�Om)9 � Ӯ���9
z�FSa�����1�s�P����|�8tAN:A��5�#\b#���mR��A*�y�JϠ�֌�p�m�*\�YK��賉���ۂ�Ѕ���
K�x=�2�.�s�i���7���-m1�'%�^3�-G��X���g.������������6;���ó
��i���S��9��z�9�l5�Xxv�I�èTA��1�;������L���w!c�)
��O
7��:�<ƕ$@k��N�;��t�]�YX�b��ɟy�Dx�D�9O�G/��r��v['��]n�Js��R'
'Lpm_��YLT{
+��a��
+7���Vc4�~���BQڨ7#daKH�+�hx�g�*��1��b��e&�
�S�]�$��*���������
���h(��XB�
� ?���uŠ��mx�B�U���Y�@Z	��y���l��\�gSXs��>]��Ӵ�~/�a!p�P���X�\=>���f~�< 
�Ɗv�!׀��X�tZ�1ɤr�YC�f�o-�����Yx�[c����)T�k�
�0 [a��4

+Qaᄎ�\�Q�^�e%qC�+�+�-}�N�o���!��j�
6
���D�z������´��
�n
=fXJþ_�2+9 at f?Oׂ;������r.����rY����Mx�W��?ڹW��.���c��ȸ���^1�j��f��Lu���^�a쐤�>ϛ|�P"��hYK��7�`�'!qıQ8�M롣��xG'��]��V�]J�n-m�>
�"pg}?����^:��[��Mk#��,��c�_�^���FD�Rt�I�-�-�X�
+�Z
�����4��d[h�
+?�A?끹
K�]W�k'<�f����	^2	M�ƑO��˱T0;�ƥc�!3��S
E3����i$��1+���|�V�ɰH�ŗ:�@���hy���^��Uɠf�
s�������-;���z��襩Y-�ܴ-��6��L�`�A���B�����
ڪ�T���+��(v]\Mx���MMm�� z2�\��
+��e�W�`�1\��݁��R��l���t�6+����z�5��
w�T���U�M?s��PIR�^�VP�.�7��R��A�"����
�{��)aa�dT�T� ʹ%�{VC���J��1�h�_Ļ[4r봆�k�Y�-�:3gڇ����}��v
�
a�$���Vu��s��F�<�#\u|�֢��+��g4gS?�C���Ƀ:R_]��Ӻ\�m��ڎ�k(�2�
�=�0[ٰ4�����z2�)�%8Nl�%�{��LER�Va�3�0x���ﷇ�K"\�T�K���?��V��S%��,�^�KJy�-��'^E-e��,��g�^�sd
῞qf]pլ�jxW�Ա�x�"�$�>Z�
吾]#�"��,ѐ�2�ow0��.��12wq� r<�c���)
ep�
6�c�9.l5Q��x/��~�T�ĸ7
+�%�b��8c���
iM��$.��q�!��Zh��>\\�?�$�x;�������b8B.,
+��~�5E���v�h�D:?!|o)�(�y�OT�����j�
E��
y��d�
��c�������@4Z7����d8�B�����w$Yp������9|7�,�w
+jpU[
L�G�d���[�ms�qxq|!�����Kf����@���k\���^2{�czR	̠�Nd�GvC���3�\yj8���'d�' !���QզZ뤯
4
�)�%S�҂~{>
"Yghl�[����cK�Td
�P����q.
+�wљD������nO|�����6��Ϳb�j<�iī���az<���(�
���������~�o�����Ө�W$
+c%N��,�
�
+�f�a
r�a�]<%������
�ԳE�"�#�8��0�O��o��
/�D�����Y.g�����
6!�\dnaHFU��_��g˶��/�
��,�I�k��>e��6�nK�����U
S���Im$�^@��$;�Z;��5ppd*�E4��hdZ!�M���j�8��q�
���)
+M��r"~�-X�O�"�rV���%�Ui!:��*��Y\�|�u�| ��S��+�`��m�Z#SLp���z�`�l��#�

��fj�Z*�9X^��5��䶿I��w胲�[�iI�`�,�n#Ëp⿯�b�ܫ���G�8X�ޔ�O�O\�o��)�JpA3�y��%n&���Q���{x��ڣ���a]�)�P`
+5'G�{,�'
����bI�&yN)֒IA~�g��"��f�
�'0�~�BJ0�r �OYB �է=�C���+5�Q�FW��AF&�%�P���^<YۨI�Iiv���O���HS�h7)o
�G�<M��N&3
$�`�,
�
d
�F���;0�p��݉��#
Q�%� CK���0n���Vrgp�y����5p|:,�$�?���
 �
(���}\�/�v�0�����Ï��ϐv,X]?]
1�<��%&���\DE���2bZ-�W\�W�
��(�%3�"���2�m5����])K��=༉������1��hz�g����
)��Ffd!|E��+����"*p�qU�'�v�'HD���i��÷Hrf��������3Ǚ�w���I
�Pa����I�A����(4�Vs�oT:� ������	��2�1�-��PB]Yo"�}ư��:��Kc%�}�&6b�&]�
v��=
 ��&��u,Q�.1J��o�$��Ӗn�?�uR�tnIm�&2�������y
y���3�+#�2E�,�W��#�#�
:��s�f6$~�u� q�&��]�
���/�� ��4�WWGCq��
ǀ�����Y����_',P�^b(ں��3����i�랰�l��
�DX隍ʵ����*�ԝ���,�ukX���W�^��ѽ�K�P�`�C�
+�:�вr1uk,���`:h�+CjK�V됁@����߷l��l/��U�~"��(�G�p(�|�œ�ă΂ᙑA��u+� �{{)�^��?���=�B?!��d��VO�R�l11n3_��$�I��� Z&�ʾ��:�ހ$V%�)��{��<������%(�L����X����[-`�����y� �|��E�'iK#��(�o)/�{(��&�8�,��E�����÷�>/�srm� l�J2�\�@č
x�
}4pF����������hƓ�� Fb�V޾r������j�n� \�_�\���>?�VȈ�y���u$����a/E�O��OЙ�8z1v�$D�I1KCыr�EՌ֌ĥ=l�G`�W��b-����f\�9�hh��R5P�5�Ʋ���9H~���\V_U���a[`�ih�F|�)
��[��6�
+nQX�굴h�]�,��d���wk%P1y
rĢ�,dx3�j�A�M1b�U���W�<*e5O
��'�*ET��Ǚ�g*q�7�!"���'��[�M����{��vCxƒ��6Z�0���e'��Ul�����(�"��
2�4��_��j�,��(C��\t���X�P��(dw"��
t�Һl+>�����S+4��a<q,B+~�z̋u]��_�!�B4r����ye�V�>�s��gGK�I(�+�飆���
����h��YT?�D�A2x�� �h�j�
�

Wn���g9�r����d�I��X�s��笿k��=1����
���z	�*؟�,���o��!�P���ǥw[��>�t�
��d;�!(�8��r���r5���a�@���p&��������E�곽��B��㙸FxaS�o`n�PUb`
�7_!�
'�(��i���(
��
_��*<�`��|?
�tP�#


�kq�
���4P��������\`@�kKj{wz|R���͇���:D��9���ъ�����a��@
c:�c"<qۡ��Jw�a	�Z��Ü�
@��9�g,`�K�+�GG��&�����4��v�A�7`�
vm�
D�J$ 8u*�a-�m���j��˞[8��s�+����yR
��C�|	�)�aY�Œ�A�q]�A;"X��8��'R��mvK���
��m�����2
;���
�'>E��8X���Z}`L���W�������D�lN�E�~x}�쀣�g�/±�t16�t�78 at dA!�f��h P��b�+�>�S�P�Vw�g��@��j3�/J1�o���QǶ{C�K��N�\
+n�fZ�
Cץ3a�����������'e;߶�
�$N�|��ݏ'��̡ڵ�j��Zk"���
��x�{���j��B�
)z=����O4,�1~ҭ��r
5��]��(���v��G{}�T"��A _��
�=8�8�{���"��4���1�~+�7�=��&�Ѳi L�O�U�t:GSzp�C����Zp�ߖ�[�5!�]"-*��
o��la
+&
[I�'#��m"P^��޸p���=YV�p	�f��
��ى�#�6��	��i�P���G��P������L-��
+j��]� ���bS�z��@����
��f��77
������`T8G[���t
O��۹r7,������.�	��3�	dXeK)�-�
�ۤϺy��8��:w��:z��:�<�;�b^
�7r�i���3'����d
ݛe5���k�#�����x�� @�t5(�
I
�d>��+�OP���
t��ʄ<�67 �[@��#�6���3�
��d��%e~�e�E]�M$1�ס�7"vs�s�_yi��O=�]=��B�eK��W�n��Tт2:$�,eF�L%x5��
J�$��^���ҳ��5�h��
Z at L��p�����$p��� 8���<��w��Q�ݦr	Z:?����=m��n9�p�&a���cd�0⢅�U%hC��ַ?
+n�@���#�� NDR�>��ѱ���<`�M��d�ǢZ��VR)�G�:�(�m������/x
+~H��8�P���Ъq]�ϫ@۫c�о
��
�`�A$z2& ��RS��@]�GN�RNl�����t�(v��׈�iJ	�w�
�8����/{5�y}\[/��^E��5g-J��m�m�J���/y)F���>
��r%��I��|(в<E�\w�����
��}=��/�x�f�{���!!��.���I7~�x�f7~���2�Qe!
�h"y_�GJ!'^��e��^�~�?hj0�n�	���
���7��u��צT�
EV}��,&/

+�&��
h`���s��������MK`�g� Gw�"F��I/1��6I��.�v���űR1
+a-��VQj�=��T���5
+l�bv‘

��Ao��9B
ӦC�؞M�Y���\��L�S��܂���z٣������
�Tn*�349bm�"�11�
)�v��
+endstream
+endobj
+13580 0 obj <<
+/Type /FontDescriptor
+/FontName /MZYJFE+NimbusMonL-Regu
+/Flags 4
+/FontBBox [-12 -237 650 811]
+/Ascent 625
+/CapHeight 557
+/Descent -147
+/ItalicAngle 0
+/StemV 41
+/XHeight 426
+/CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/a/ampersand/asciicircum/asterisk/b/backslash/bar/braceleft/braceright/bracketleft/bracketright/c/colon/comma/d/e/eight/equal/exclam/f/five/four/g/greater/h/hyphen/i/j/k/l/less/m/n/nine/numbersign/o/one/p/parenleft/parenright/percent/period/plus/q/question/quotedbl/quoteleft/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
+/FontFile 13579 0 R
+>> endobj
+13581 0 obj <<
+/Length1 1630
+/Length2 12387
+/Length3 0
+/Length 13226     
+/Filter /FlateDecode
+>>
+stream
+xڭweT��5��	�w��\�k�4Ҹ�K���$@pwwww'x��;w��ͯ��ѽާv�.��>���LI�Q���(irbdeb�(X�;��؁�U��Ί�6��w���J�h�di7r�4�� q�	��
���ˋD��ww�4�pШ�h���3���
�����{$��
�����������)�ǁ�@ ��0�����d� 4R
+� ) �hdPr~o� oi��� 3;G��? ;���_���޹D� # �
hb�
t3��1 쁎��`��3�
0w49����`	2�q6���w�����;ڽ{ؾc�dJv`'������=����?�t�0r�+7��
ؙ�{�ڙ8�����;�;�dd	��nN�2L-��6F�����
-�.�l	2�W
 G�����

~�y��k:���_�7���q�;��o�����	
�1cBbe{�i�������ײȀ�� �,���:��s:�= ��v���#S;��;�h�Ĭ`��@�?S���N����O�?��'�k�_^������Ԓ�66
+F��
�K�~����36F����g��fdki������&���߿�2NF�C��
�������%X��
h�d�db03�y���vu�)���|��ﱾ����faib
�K�@@�鿗�.���3���զ��nؿ=��7�I��
��4�_�L���������������
��� �z�7��a��������@���������ϿNz�F#2�3�ksT��@�������`gG�w��~�ߛ����݀&HK�v&�AV)�N�x����:ݝ�����ŵjy~�v
�)a���/U�Lu�|�M�s��ve��;qm�;������]yk�Z������QSO4�</f�7`��X4��F�U�^�H�[�
.�i�(\���)���|L��ⴢ�A`V��|J8����
��븂��%�ϊE��w�A���E$��^�N�U�G���e�iv.���;�2[��l��v��Ӛ�!�
]�ئr�P��;�
+�%
_�&�ʣw�*Ǔ�
+��
�!����/��9�������~g�C����Ǽ̩�e'R/G�4���HN�y�� �������w�Me1G�?t��0`�Ti�N}�}��1r�n]ӽZ !
9ܦ�	s"��>�������5W,���{+�]4(|Y�k��Me��+�Q
�u�j��U�1_^ڑDӺ�8���Ly�My�
~Ot��������O�mm�&z��Ip�l�:�˥J@�z QxM�;�0-qʞh�oJ�&�
�Y׷���X�?��0_lW�T�Dn��>㥉� L����+B�0�O	UQ���t���"[������i^.L#��� bMp��R��mx=F<��I���7eޏ�5[	�#Pc��8Tis^�YpM.S�~	�����M
D�cۭ
�̂w�(�gu�T�����"�wX��%��Y
�4-
��k��&[
�Ye��T/��-0!X���L�Q����
�h� �W�aٳΞ�w�4�X��ii��	?>
�Nc����o�Ԇ(
+�3��'���0M�')
+i�

+1l��ЩB�&�u0�ّ�Z���h��F����Q�s\d)F$��hb���[_C����4N��;�!
|�����
h� ����gMaw�t����Oc��������q�#�{
�a
	�\HE8gx{�.�IXN�On���i(�خ��.
\�qz��<.D�jP8�w5���^��з��{Br�톸�΄�wN���@���R#蚮��."��Y�
b5?V���'z ����Q�>�Wυ��+s�E܏�9q
��-.�U������˗M����#�~��
+�6�O�MH�n;�C���?K>e��-��{F�d�I�"�ܔ_Q
j\J�	r�:�2��dȸ��NtsW�h��6������5V��Fݫ�v��j2jݷ���[{3_�z��� ��{����U��k9_����
�9�P�Lu!�t�o�r?h~};vţ@�:0}�
��`��c��qj;
fXH/wG�d
��Zk0#��H�����7I�Sa
���D�(x�L�

+��T��'�A*� �Hz ��>ҞT
O���14��`m��yNZ
H�?�w�GM"(�<�uWF���w�����i�1b��5\4�jG�N̩_��ػ�޻
�'����q��?V��"uM���aO��a["^��C�.�����Ł3��>;��E��v��^3��U�|�+|\C�n9���̡�"�ẓ��ᵮ��}A-R��ep��r7<�{��R�����9�_����T<7,JYҲ�˼fWt5(
o�
{+^.A������8����������(�R<��챢�a�yg���;���
�i�`P�q�<��Y����`FV�j���T�� r<Y��0�X��l"a��4�\���$b��`���h�|J ���\0j����(�"�9t�YD*��z�@�J���SG�,6��o��
�:�&z1		._5P�9DW1���N�rc�7�0B�Z����9�2�h����PQ;7��HQ�0är�qS���&��j�E�Ըc
+��
r�
?<o�
l�]��n�	�9�d
$�
+�
N=Vˉ����%����J�&JiN�]}����nn�K	��R1̫_�E�ս����s�ں�e��
Xl�/•ϗU�Q���Ih�|�A����6+
@!] ��@�j��j8������GPj��3\��O��'xT��k\I�HI��xB at G�4��ew���G<�b�F�/����~�rK���U�\�^؛�a��H�*"��3�u�Z�#�f�ůi�ݩe�=|�G��U~���:$6��w��8�Z��f;��
�r��۞a��'��l��@�r� ����� �h0����ԅ�A>�F
�r,�M�1wG�Ȋ�{�D��e���:��,�
�h�W�J���0�P-��/-�?�
+;
KY.�0Rd���Q�h�aV19Ӭ*��ܣ�=>�x�6���_�R�Z?��p�D�s�Q۩��C17�S���b2�{N���ў� r��g���
����NƐ�vI�ж�̑U+���o�Ha�$�b
DB�ʢ��LLH
�=�@v�s�J��gX�j��������~�P�N
5
+�	��nun�dɟRڡqP����^
�9
�K��A��	m��kY���,�;
mJ����
�9la买��
�@	S���K?���`3���p$�e�U�aP$V �
F�ƒrk[�-e"PKĹ`��I���m�oe7�۴Rz�jI�$7��Q�J�o`F
�M�e���#�{��%��qx!�
nV�W}l����O��F�Sy+~e4�2
�������frh���R�R��Q���$���@FR�v: ����*s6�n9
)���>e
V5���ėm���Yh"gNҔZȈ�
�k���%1�'�!����w7Ɏ�<8��
͠�dDvn�|�rua����i
���u7δW�%��|�56F���
������)i�0���կ�%F	�>6��gkP�I�dW
���NOKZ����ձM�,q>���M�2��=�Z��(rX�3�[��
�i5�ߠ��a
�/����\�[�0V�m4�4�cD�;F�T�;�b���Y�k���_s-Ww[j�/1��d���A��I�<h�K
��TD��B	OᲳ�N�!�e�E���q���d�}V?q�	4Y-
�7���3|A^
h8��_�՚�:�P�H
�(%S�r
����XF����>�+�K�k�+�<��oL�˾���ښ�\�Rc�t�*K��>dr�$�B���z��B���l�<c�*߉m��Ǥ(㭗�cJSh�X��[z��B���&P?����)g+��ݗ�V�w"o��:b����H�S��d<�H)C}/G���] 
kg�R [...]
2��~�l�R��q��0���SK��VFF�%�^c�'��E[Psr�_m)���D����#1
��
-��%�ՎϾ�hm0΅�U
�Y��P��TC�l�c1���)H� �Z��Wt*u�~0�j��b�ނ��n��|Gy)S��oǽ3ͻ��t`{��3�85
y��FQ&�U�J�9�Q�`ȶF�o�~6y)�YiU�K`��*JjH�̈́��q��fo:�����-�D_QF����@�)y���'��#J��ECH�K�D��F|���+m������a����;��t�'������T�E�Y
\�(x�	(�W�-�������b��f�
tޔ��B�7��
1 ��XlejI��L�E�xYm�U_��]]����^C��:j%��
�W�
	�
҃���Q0�G1Q��
+�H��?	�����?�9R�����e6��� ���"�#n��Q4�u��~�TA
Oɞ��
"�B
)��Ҋ��x��+1�ѫ�]���GXcVW��S��&���J
‚����x�\�F+�ܫ�)�'�9[�qʝ�o6�>��޴O �I{������t�y�a��Y��ЩD�jo:r��8F��ͯ� 'w<��!�g)r�D����H�r�S
��yb$�a��������s
+��=��:�e�א�n���R�
+����6���2�D�g!��_�#�v9��f%uX�N�
+3q��y��]���L1�g;���

�j�έA�-歅�Le��ܳ6�e	�IE/��4\��pp��{N;���JG����

vq�hCD@��fTV$|at�[$�Knk�>͐��Tӏ���
0X�ء�h����;��{?����D�R�uN��>����[I�zz�z�C+�K�a�Î
�%
�&��#�)l���O>���i��-!^�)�b�����NF �V4!λo��;׌�PckQ//��d�MrC���`�ލ�%�y�V(�OV�
7/��}u7��аqt����>t��`�e|,19�ʊ/`?]Onl���>�g�K�wTG��J�
�G���D{=�׸���� ~z�ֆ ��f�In������Q�s���`��ߕc�+����׾�&Aɗ����?�.��j��_�g]�f��� �G���,Hq���JV�6�@ZaPcEop�\G�
)���V��]S���|�N�R�R�������
��]0�P`(9V�4�P��.KU/�N}�@ [...]
)`A5��ڸ')�q�4ZJNo�ܛz��4� ��"�g
�dg�a��0S�7������
�
�Ō���
C�h�Z�Xn�{ DE���
��(.L[�Y)�!\/�o$�1�
���Cot��G��]]��{ܣ
���
+6
 1�c��~CvS8���d&!�WΝǫ�_
z�zs�R)�u�����5����:T��Mc�I��
���8#�0ُ
=)��[K6��q��֡y����u�۰<پ�$�z�!
w H�7}C��%GEw{��}W�L'�X��Ԛ���r�� ��i�E�����{��`�,]��X���yΗF�yК?�8f�V��К^A�0d����N6��T�BZg(�G=���v�v��U�q��%Y����.�A�K��������f�ۖ^>�U�*U���<��nX�}�Q�H���v���4���
�K�Z����,���?�bn�'�͘���0	�ffhS�U�'۔�`�N��"�k#�H6A��Yd�
�09�`$|�0�X'QQ��lU[p�r�rq�	V�
��꤉yX����� �~2, �⮒+�f�x��@��Z�R�q
�y��
+��
��eo�C�	H�k������эH5D�}� ��c%|�|��\�<�7��O�Pa�%Wwh�w���F��
�q56�Knz��kkH:���[��k��m���"
":�^�z��g��c���Uצ-
x�J����
j�Gt�a�ʏ�6
}��[G���p%���N�޵��3��t�5
6�����o4�#��W��쉓ī�[n}�uVu�[�0l�=ڴ�j�1a���
�+��aC%����9�]7�L�d���nK�#�^Ώ
+X�֋��
��

uB�?��
+�/�"�Ρ��>�d�{@.A�`HQ��T��ֲR�� /ڵ����c��
+����T
+�H
��p�Υ|��Wm�׬7��
��<�X�S�4ؔs��P���]������u��β�a��-$p߹�K?����Pwٮ@��rgQ�z���Q�)�����<Ҕ+�!����te�]U����Є����������y��#U#
5��쟨e�c~�[��C
nG��)��c��a�V����@Ǧ�A^cOOI]� �|��F̌�T��&Z9"ڳ��/�
܍�1i�Qy|�JP���4d���?�!���_�
+'��7��l�
�
�I��ų
+�9�E�o���#��;%��$.�h7O�YM�|�f���C-���'>��߆$��Y���h�%��4�|��jH��N�R�/.w����ꩁթ�����k$���Z��5tj����I�ʭ����f>rc'��9�`����4{s
MK<���&/լ�
���H���K u�5w��*$)V��߭�< �
^�t�
:�h�x�4T?�׀����J�S<�s������ڗ��o���m�#
�8iK��
�V1B�YL~%��wN�Qx��n�sw��v
��
d� �9�˨C����	[�Mjel�j�x��I��*��LFe��(ib�V�8����P�����(�
+4�ko��#���'��q�|���a�	�L��`���"���!xχ��m��X���[j_�������U�0�YIv��(�K
�8I|�1��&)�%M�d91��t��x: YҰ���
+�\�3�>0���t*��
�9�\�fL!����%�|y���B��V+����
�J6�Ho<��ka!y�KD��Ÿ;��0��p+
L�
}���
r�:%E,�ظ���)���ĝ
+!�X��ۦS������wx.�����l�O�����/���w;ܕ.�={Ӻ�!@R���C�R��Z��H 
$O�l�W"
+SJ	�?�|��!S��
u���+
+7�|���gd�7F�TA�0!����WA�=���쏐�
�z���[�S��<��
�i�K�=m��kճ�W6;3��d�BӞNY��_	k+H�
+e� ��黫ySK�u��(��%y'{�W���@;����d�Un�K�����C,��H�壴����y�H>�� �ybFuG��ž���"���WG�{�����V���ST�p���H:�	I�U�]>�xއ4�j���}� >��B�%�=pj��J'S��
刲�\���&4�mU:���g�-rU��U��h��o��k���0!�ߓ䳆�t_n��3v!)��aP�oW��o֢
>�'�z���
.�a��c�
C<�
�>NJږ�O

�h_�sˆ�t��}�S/��Qx��KmR�uyL���Tr<�-����q�t��d/���8=Ӷڞ
�z
���ć�_�r��E{%��v�՛["���aX�;
�ߔz���hu8b/��F%�WH���%up�IX)�•Ζ��ڄ!�eY�D��D��5�T����+K�G?4T{i
M\�Q��|��і���Qh��L�H�sڗ`
ځ�3o	c+ȗ-��r�)+('��^kw����+��f��i�n
�hD�^3
����|�����
N�*���W�)��~������T=��(�W�E����M�d�9�V?�!+�7

RQ]|��h`�&��vc�R)���7�S���p���H������*����Q��H1V�
�ձ�g��P��IY
g���ɭ1ڨ]�+"d�S��n]���ZE�Y��6��C0S��E�����-��sI�����t�	���
P�r�)C�Ҡ��Ҙؕ�1Š��F
u�K)oL��d!l��q��ĩ�/^����F��Q�r���Ҝ9��
�Ϝ�
����u�8ch���㇄�<�ڭ�m�@��A�?sz��e
ަp)=�< �m3�N8)"�r�P:+����&��&
�(����l�p8��P,�\Xf��i�ei�����H��t�,~��|����ʧJ�sU7m%�s:@��t"�'� C��%�
Xl<5�����K��p�k�$xl9f
���>$9KVG������+	q�9}=l<���wۘзJ]���mgYq�V��YC6u�ŷP��ma</�{���i��m���tI
ƞ��k�Pa���`3� ,��d�$����Ƙ����M�BkV�J����`�v [...]
+�J��g�w��V�F�=H����
\m�j:�vQa;;��7&G
"�0�
Q`�=E5����SOA���f��Em��aX[��E�(L|q[Q�c_�j�Тh��;�l���A�]kJ,� ��ږh�W��ק+��\��y��l3
;�#��dY{�{�����u��i	���
��)
+_J����4�;:�*J�=���
��4���R�]�+��h��pS���~+� O���
V��rBy@� �@�
�G��R���I2
���`V
��

+�Kp�q�Tp���/_�δ�	�	�[�	4/��\A{��Fɒ� ��PI�^���FTR�d����HfL��k�‘;����A� �O�;��d�i�؝��lu�%
��
ɗ8θ�wV>�ê
+ݳ�hH�9~�F#�1VykT�0&�!�T~��32����\Ֆ
�J9��Y���t��ۏ�p'n�V��~s�EH��-V���܆^���Xr�JN+�R�
IQ�/�Y��u��ʍ�
7%	�o�qOz����J0�b|���bMV�!*�
"1L�wT�2a
+�O�]J�+�u��Ԇ��IB��p�CGu�j�����AN�i*+"{ܶo
���TG�N/.y�C at e`�Ur���"��3��4!��"��9ձf�����Nr7)Vso5�o�\�"7>Q��X���L�����Gӌ�8O�h�JE��y;��>�
~�� ��]x��c��p�	����R*\%F�T�wpv��7}(�e]D&6rۉ�a��5�idg?��8�X���O����a��
�ǜDW��!Y�2�e|��<��g�)�![`
��D5��R
+���鱋e`HȳydI�4�
���DlܤA���x�+y�G>���
_Ս��2x!o;r������zE=��OF���`4�Ȋ���U��K�
Ό
QF/�:��+
hs7�^N�p�c ��l)���=?��_��N��["S���&��Q
�/X�p��П�#z'����O�tV�m�h�{�N���Ѝ�\=e��پ���ɖ${�Xx�H�aq����$��Ѧx
�ηGĶ�����e1��S1|jKɣ�_!q�7 at HCg�s��ٺS�k�J�����:�2><�o16� _J%2���L1��q�i��fJ���t�l����x7ʫY�B��U��y-������82������
1[����7_�3�q"�:J+�r��1����_�T7��s=B��@.�� dl`A����+sv
<�
������J�(������R�o���Lj�������kT,��+N1��{��o[�ӱE8�q�����Q���:.�I�l'��}
�ś�ť��#P��;z\,z
חO�Ea��jIt�q�z�i�~)��EZ,�I_�s�xA̧�� ,��[��3ē}Tm��йA��
�Q p�!�Pˤ�j0�25F���FⰦ��ufrw	?墊yR�cx=ۘ��@��u��<�-���	��P�ߦt9�:��4� ��np���o�B�"�GY��g�������ޔ� . CW����o:^Q��8p����e�/�@Njw�p

_�Vd�Y����1"̝��y��
}��Ćˌ�K�=��@��H┷�n1K�0T���:�fk�f$�	�G,MS��jLD��y��X�_x��
��U[���<;2�#����)t��ޱ���^6��VJ���ʢ�e
����~v�[hGЖp
���6�ne��-3�}N���F�⺁���۸���ݲ�]��K';*����~Q�^��a��-�M 
�m 0m�E6�
������t4��\���hl���}��zyQ at x�?�I��{
`��������@:b�ոR\�?zI��*���fʸ�ʢ*x�5R�q-�L&,\���6vR��M�Q��ϚYe��<�"���3TN?*����C���N+t8��rɨ���ފ��sIN�c?Z�$?E��6�|
�,�v�"�Mz��F����F����C-��/
���v%ν��ǧ�H�5��R�'�<l'�b����Y�k�z��O��c��1���~�a���ccas)Q�"�G����
����~|v�6��V`W��K�s����*]�z`�`�����7Y	f{	���J�
�Gy�'Ud�Y�*����(��T��K��m�Z
+�5W$_�ζ�R�Sj>���$	إ��""Bᯝ|�0�R�")Ť����k ��
+�� jH~
=7Ҏ�*S�T���#�k ��}�>�qch�.�!5��0)��
:�/ݓ��a�	�T�1'f�pX�%
��S_j�Đ�%����(��!�7�ɴ��	w�8c[Q�#D��1�F����p
q��I"��抔�4&)���Z��I�S�
�v����zy(��\���g&��$���aqP��?}B�"�L-��eD�8
+��2��3��\8�7��Ǔ_�T3����_
��}a�#x(n�'cF��ėX��cc�ؿt�s�}
H���<$ê�O�:#j����C�J�o
+�f�
"���
�Pr�p�8�Z\��"�*~������/*<�����w'��ȷ	����3�h�3�u�"�:�Jbz�f$���pi|;<�NS�,�����l�����E0Y.��Z[�5 �O�桬6��$�
��Զ�|���
����D�:�C2E�7��]v���SH���X=
+h�W�o����T���8���?������m+)E�NLr��B�"����[��0�
+�j��K7�g�O�6�=�
-�b
�C�>6򼢜b���7g:�rA���8"
���r������>3���!� U���2�ޡ�)ÃXT�*6��=�
��~M�^�i��W�h����|��,�<��b��ɀ�Y����P�Vx�0A	5��S�@����� p�t/�m�7���
b.0G���'�8�΀~Q�~gO@����L3����r�!�}���cׯ�П�j���V)�2�d5�=
wCҾ��(���HF%�..r�U��-0��� �g[��,�JT˽��D'������58��s�;�@���C?e^���i>�Fz�q)
i1$���KH�5�O�r,H�I��
��1>H����ڙ���
յ)q�}oٖ��(A)q��8������uLk-��S��p1U�v��b_�*���d�0Kg>�����������8B~!�u�b�=���W�m�ҹJl0���A�z6�
i���/E5�Z(;;��~40��L$��7M�UyC� �c�}�D
�8ܸ�d7}V�
�\��+x՗!X��`��X�{à�ϥ�:�p�D������𲬜�n�ʙ��r�������x<��x��e�ƔJ8��w���<;F���?M)
S�e����zc���
+��c��炤yk�f+w�P��A��6����J���8ǟT&���С��ξ&j|���ˤ��w����B�1�;�QJ�G]�r(�1��E�R�2!h�jh=�c��3f��XA]�_���S>IǠ��^�;�G
p��m����߄XP��Ģh0M�٪��5ͭ
<�����V����
+���
T,���$uZ�.����aY��2����Q<�V�r	Z���
��]���^v�
�K?:�5�D��y��v�>�����+�k���#<H�;�bH��%����*:|�����?H"�D^�J�ڷ�#�z3N�R�
*��1��=�G��$�̎�\*�W�b=�d�w��LTY�>G��w��՜�X眡�7�!��ػ�
F�5$��b�|b��{n�@�4�SHn��LD�r�fJ�
�����)ݍ2����T��g ��Z�jc׽����9$ӳ_�G��A��e�)��fz�U��A�A71
�Kt�}=[A�ơ��OCd����0��љ�R�ʎ�ר|���Y�+ԩ��[2�� ����:����%[v�N���JÑ��4j�l�Ɓ��7��'V]��wd\1:A�
:�����+��V�֓���5�Vd���
���
���I�%,�׌�WԲ����:7�
M	IH��}&8��uS3�p]������$�ћ��F�[�N�z�w���l�1m�t ��h� �rY\�2�#�f'7��8:��5IQ\&}|���Kp
}��pc�~mo��j�gz��<=�咣�90��z�ĮQ)=I����A��
mlH��c2�c���)����h�i

���5�?��0)� ��_�霶=�X'�ԊɄg;��Z�o����4�
��ڷ��ʐ,�zg�u���4
�EJ6��� �<�
+endstream
+endobj
+13582 0 obj <<
+/Type /FontDescriptor
+/FontName /UMYBJZ+NimbusMonL-ReguObli
+/Flags 4
+/FontBBox [-61 -237 774 811]
+/Ascent 625
+/CapHeight 557
+/Descent -147
+/ItalicAngle -12
+/StemV 43
+/XHeight 426
+/CharSet (/A/C/D/E/G/H/I/L/M/N/O/P/Q/R/S/T/U/X/Y/a/b/c/colon/d/e/equal/f/g/h/hyphen/i/j/k/l/m/n/o/one/p/parenleft/parenright/period/plus/q/quoteright/r/s/slash/t/two/u/underscore/v/w/x/y/z)
+/FontFile 13581 0 R
+>> endobj
+13583 0 obj <<
+/Length1 1626
+/Length2 18386
+/Length3 0
+/Length 19237     
+/Filter /FlateDecode
+>>
+stream
+xڬ�ct���&��8Ol��c��۶mvl۶m�
w�Nr���̼����e���^�._UW���XA�����P��֙���� gac��dg#g�%C/
4� �ճÑ�
;
�-�lE
��� u�	@h
`a0sqq�����=
-�̝T�J�Դ�t����`��?-#�,�l\��v�6@[�)����@��9`ja
�+hJʉ���T�@[���5@����� ca
�uRL�
�� �v�&�����7�'�!��
hl�7
�n
���D�:�X89��X8�

m�����`akl�b���zS��w���a���7����������3�oU��t67t�����_3�������?-���7�_���������O-# ��������o���
-��������
�f��&�@'��i���g:��'��������_�v���_,���֦
p�,k;��mfa
��ϮHښ�����7q���6W��D���P�ahbgk�0��1��9�-	���c�῏����[�o���������������L-�bm-gh�w�}c ���-��� �94.6��C
k������V�������$�
��䇭�_Z�����p�p�(X8�L
����_zU[����-�/��)�����?l*��V����o���?����_�eU�4�h���_�
+��Y���/��ъ�����I#$d��g��г�1�}{qq0��J�+�ɲ�Ύ� �}31���������iDm��L�YegC[��������]

��������)�k�@w�1����1O�ezV�sݷܑ)�>f���F����^���=�J�?�!
M3ܟ�
��GR4�c}X֔����||R���m���ǁ�z���ԣ�n�dv!�8�Ԏ����J�@�t�:��<S����c�=�#��5�av�4���^��H:{~�

�?£͉�%�q�@���w���R����R����F�y��z��cl�3���̥�
=��V*4t��B�x���
���߫*�A*�
�����p�W��.f6�Q�2�1@���#
ژ�J�
J��
���m�Tm
�M(%!Zn-��.9CP:hU�����5
d
k��B��p�
�1Ed�_�M�i8S��G�p*�C��z��Icu6J_{
3z���b���&���,>/��E<"Zm񝲆��yF�5ߗ1�t`jl����Ŵ0P�Ҍ
�e�G24Y�
c�͟Ə�
�����i
rj.�Q����� ��-����II��TxSV�0%-�CG^-U��_�W���y���rȝ�#v���P�@1 �G�Р!@dZh~}�B#{etZ��<o�kY9�i	
���k�
+����UW�A�8�>q?�}���7��ͧ�7�k�˙Wq}fY
�@�ٻR�7���(L��
�4L§c�C]�L�2I�g�/�<�2�u�ڲv
b��]�e�(�q�뢰-�c}e���h���Ӝf%wJCT���xY�@m��!�
	�:����f̿ 
4d��Oy�"iF at A�OI�{"kO�+%��q~��
1v`"��\[���vě�hX��w��ԁN���1PT��M�����)�+r_�x��R�;G�gVԈA�I��[jў�K��Ѯ>R��������>�W��"N~j��7�%	Y�
	I���'�`O��U���YS[5�DNq��X\�x�h~�&�b��
�X�Ya
��jPC��E}���i	��ߔ§�����v

4c�
_�{�c��tEp;�0��H��T
�[%
�o�bl���ť�
:Zt��&0Z�.U�t��X2��O^��
�Q��1�w����ZƯ�Ws�@�Ӑ�*�������Mh�4������K���\��"#3op�z����w^NE(��f��"���{j��fZ����?��t�x�w��~/4
�MѾe��r�Gf#�c�{�T�W��>��
�lVnn_qk˪�Iu 
ܷiܗ�f14���G��=& "�.�����A�TZ�����D�&�d
Cb~ƯS�J��IZ���e��#�Zn�]W��W`S��(�+d�n��S%(]�R
1$#p�^��8��P�D�
Np҇rZ-���+�F�?�|.��GꂘK�Ȫ=���:����6\�9.���Z���c��8��S��Ϻ�U
֠�m�H*�*=b5��wb���i؝�V��2U	��� N��"�!7���b�5ˤ�kc�C��s:p�\�
+U#&|����Ǎ�2Vm��J�Z�;���ԴS����ѐ
,���>F��)��JW�A�m��A�6#	N8���t��f�<~
[֟������hn���Y7 	�-�7��P�G�U���zE�7|p~jJ�"N4��[�Y$�4N��F5��@,�"
M�ˡy~ڶg��A_���;)?�D)�P���hG�4�=ss�g�
����Jv��WsK�_ň�LqD/ڂB���!{�bwo�)�Vǧ�d����`����6��E�N`Tz��y0
��9��|d�E���<�AV���<���
[ N��rQ*c�;e���|l�n3�8�{�&���/%�w�DZ��!f��e'��
�ϵcv3о��J�ݶ'�
�9��&HZ�;R,�и|ۅ��9cJ
���5ȊV��!�� �H��h�ǡ���7(�l;B�������a���9��1��i���L8#�lz�zm�U�#����,/�h��쥫���~}
�%����4��E��]}}�N�F [...]
�z�qI?c�	j޾*�X}h��?[�ν�g��|��]�]�eko�@��ڌ�DFa���FQ��N�Í̯�v��zPxg�}m�
�~s�Z��X�����>s�
�
�8��5���uU^�O��d$�ͮ͠5�@}G#�1Q�����#N_3��(ze
���O5́NY�9��Fn��/7e[�'��5bi�9��[fLF�~�Q��Eٜ4��T�n�u��{vm�8i
D��p|a�5���Gښ��*kU�d�xkFE~�	�� e�N�Ű���ѳ���v��-�>�G�
�N =�	���#��\��	~��W�E,�D�kf�N�^�T
o'{�=>�ّ�?�/Ǽ��y7
r{A��j���'�
A2�A��<ucGM�})����%�g�mUS�j��E���.�ق4r��"��uw�z�Xh����
51u�KST�W��g���g�
��d��|2��JÓ営�2��bI�b�x4Z�<r;+�um��L�
\u�
֭�j��r��z�y�7qJYv#��BhT�L-�=C�`�j
��s�`hu�QW���/�3�m�p����j��׽��X"0�� ��h�iϽ��L�Nmm �)X��_y��ov{�9�#
�T��r�g�쳚
&W�N�A
� �ܮ,
�ߕ�▰����f�V��߇��Uu
MI�ޱD�>#"��ඡ�PQW�:%��z���Ah��7�˒��k�Ci�cx�Xq+F�6N7�
����Ju��ي��B5[^ѺG%+�
�H�/hwإL
+
�"�o0������N�.��e��z�L��x�̉�f
���f�d��`����Q�z]�1�`U��\�(x%ٔe�eꊍ٭ۇ
��T�~t5��ɩrG�����9~k�Y6{}�[�����Ӎ.&]!l@�׊�)����lRz�"N�(�|p(�U �hr���SY?��C���f
�D
�}c�,�����d�rŝJv�E3
�
�H�� �n�V"�:�+*�YO�Ģo�hL*�b_L�*������$"�����W�l���
�j�<x��`�?¦��:Q���f�Q�
�)�tW�����P,s�:L_��/��J�ʗ�|��"�tɪ{AL$������a\�]��@V��n��0�i���7��r'�-@�
+R 0����ZtG
�r+3ƴ�ۥ�������9PRJ�ߝn�����'mцF��xNs(����3sw���
�
�=_�G/��|W�%<����]Vt`�&��
%rrpx�?���w�f8౗�^���o%���Wk�)M�'!Pq"�Ctٹ�LI9I��*^���غ�bcGnt�T�y����5��e���M�7�o�:}�}
����L`<nw��%ڕ�
�v�c���DH�5��h�D�[�,C���'j:SM��i��vZt�>�J��8<�X����z�>�	�:�S��g(�j�u_f���Sc޽�=+�����–kV��X
�[�����
`p���ot�J�U*P�/�y�{PZ�jM��;�A{����q��5������#���|�7Yb��37���K��5G<�l<MUu=ppY�#��
5�>=�Pc`����j� ��5
��
<:�
s�w���ee�n
N#Ǣ�c
��ʖ�}'��
���}�H8=�;B`�ӊ�(�������t
+98��/�2=�>I5�y�t��w��N��X��#��H��~~���J�Q1q��JF{@����Kc>}���^���OF!>��낺H}b 
����
J�x�:���߻u���@��Sf\׃>X��1�1
���+�e.l
ƚ����3�f��>�{V��*���B_�����f՘��[_����ț�K�E��(I�,܂
x����󏆠K�ln ���
�X���2
{�(,�x}��]̥�όWN'6�ĂR����	�WA!�� �=�x�8Ԙ�(��a�sl�q& ��h������d<
�ܵgQ�R:�ͮ��
<
+�v?1��^�@h�uId�_X
-.�%ʎ�d_HY�����խ|�'�����GQ�٢�]�q��V3X���
g��@FLF�E����1x�Q�*
%�
Aw�0����{9���n�ɦ��Y��'_.Լ\�ٌaZ�[�y��z�n��pP�07S#yX�cX� �u����s����	
+�1�
­X��ܳ�FIXt�K�
��OwC�'�J
���Gx-��ꟲ�7j�$��K^���'�J���:g�n]���"#"�j��s԰�v���43I��=�
�E��R�)s���ܟ6M��8�=5�W��צfW%��d3�͔�^��r�?W
+	�"~�i�Q#��uu��� L�Թm��������Ց����(
+�9�܈D0�H{	���fȣx��Q�d�b�ŝ��
)o�U�yy�~.�]�a�A��=]�P�����3��a��Y��%}�gA�=On�q���ff��˾ߔ� CX�V������!�6��]��
i���P\��&en�����2���1��޽�"���k�!]i���9�=���eq�2��&$��l��B�$<
+���HvXMa[{;.�}���x�t�������+�����L�xZ=Y%���@�0�#"���@�X�Ʃ�JB�L�v/Ȳ�@7��Ϝ=����ll �<}s��'�n�G�T���H���:���DL��
ʢ��a����_�E�f
�:���2M
Xժ#!�跞�l����BH���z%{�ϣ�
��7*iIՔX�Y�	���ވjP���웠_fuTO
}�����=;
bh�����F�
����`6���!A_��
+�{��Ev��<׳2�Q,��v��ɱ��_$)��Zc���|�"㘿d�8]�U`Uf
+$
&7��#��bZOQ��	<j#��B��Ě;�X�)�S���t���#E_K,08�>��[
��C�H�>�
�Q]2P�׎���d�inV�e��/���݀��;?<��N��ĚhY0я-�#�%cNl� �O
L�|>1��r�XĔM�@�z�*��M΂!�JWN��>�uw�2=`�U�)��D�4p�ke�#�I8$"��s��v���d*&���
��.!�6��#�`�t�j`�w 
&g%��>r9��N�Ъ;k��A
��(�K�
���4�w���o�i�`k
��cjS/7�]�FY �ve����ꨤ
X����������Iz�eX|���F����d�s�5a��U��F�LE�Ȯ�Թ��
��c�"��Y��h���kм�47�ڍ԰�!@7��';��bIJ�"���n��u*�Sm�ğ�;��%����
��n�\�
2	��x���H.uƵ��1:��r$�|J�P�Q1�o��27t�S�)M��K�zť��@r#�y^e��޻B!۽ø,n�D [...]
�# 	PUk,7@�Da��b�I��
�o�wل���������Ǎ<�&"�S>"<�s[�>_�NYHо�I(��Dm}�iK�5$���X]9Z�
���]7.*�r�MO�xM��Pk�R�нL���ም
�s�[�hs,ͭ�RT
�<�|l�c9�@�vV��O�0�+L��R	
+p��_ d�e,n'��-�&;��0����M�������f���ͳ���
��V%Y�E�VbŐ��R�����i~9ጚ�b1��ǀ}E>!�dE��^$,����=w���
��_ʼn�>�sq�ԙs=Ia�ߋ@�FV]h� <��p5[O˘��
+I
�T�ኢ��e$.���1>+�-6�m. �8RD9B��WS#ц��+3T�
z�+Vq�����

�&i��5;�D���
2
�ԇ�q��r`k&�Sh;-f W��{���
��xP������j�a�6Q� �!�������R�5飙�!�2s2���*1
���Š�
Q�O���X=�3��H`^׻��AdhrI��:
��4�]�~��y3#��iz��}�+NA�x-�'
Y�I��(m/gim��
�3����/g�S����"w�2@�,���o�t})�+1�"����&
uU�u�[�&m��L�D��cH;��R�"IJ��
�-G���p����"6�P�a��5G�&�`���R:a��`U�V��e
��g}�m�@��2Y��������
C_!hY��)�>��3�?�~�R�
�͵
+��4��6�O�t
�wBvJs�04mC�`&�� CqU�
+T
�TWC�
�\ y"��A�.�� &G�#k�ڳ/qRW/�%��=�܉�詾N��n�����S邻io�('
+1ٖ�؈�<�Q"�o�I���i���א��	��P-E��1�k��?������6�@:ƬZ�a}���˺ۍ:���[J`�G�rS�����I&�f��Y;�5&�s�6����᫣Q��7��v�|
�̵�Ⱦ����N��H1��=W�m��/���r�F�ܯU��}w�>wT��	���M��rU2�6��׺h
�;��J��*BQ�~��
g��r��'&b�S�9&U'����zO̦�G��߶�y�d
�c���
i!��g�
a[[U�3�۸�����L��?���5ȍ'�P��i�zw��~7mTS�~
��4��+��$1N'�'�\)
+t�����,p}鵃0��eq,���%�NY��F�eV�eYp�����tsJ7����N�QqS鏝�׀H�4]�R3]R9�
�[�MC�j�I"]rE!��
�NR�3��[z���?�F.�����JX/ˤ©���Ʉn��*�|��`a���!
�ȏ��1���&����	Vj����*�?n 	��`9@�������|n��
�:3u�����˙7���(_fbF��-��?��~|�nH�,*)x%.��\7�65�(
!���V
+�0A��J�ҏuvߛ��s�SG��uAZ�e&���|D6�ʡ3߰Nl�7�p𻾷&�;�-#OC~i���<�._/�=�#�L��R)�lT��&���{
�oy�f
����/cB��8���v�o��8~�(t�c^
�l{f��l-���
h:�����>�;��4�ǽ���Q��?��'�7�����b�<�vNq
��WaC6Q�[ �`��ZPUo�`]��-�U7/�ҚԪ��on� ���K~�]AY�X%�Πin���ܖ%&�=�ZK���#�x���tQV��w8�VN���
�cL}�l#��(��
Jˬ���e;�nD�!��cr�0�K�T[f��3������.>��6�O9��y8{��*Ŀ�|�0��?B�M\�?d�yҕB5Zd�fC>�j�ͭ�]��"vHL['7��YWSr�	_�[|�h�BG�Ժw2W��� ��H�@ \e���^�Z�O�f�
���	u%�'���n�vK��H�t�Ľ��`������E?
��C�r��_���zʞ�5�د�$�:�
u��w�W�
44�ݥ��:��
�Sc�J�ɤl12���NFw���0�+� ��
�!��)�����r�
��
�ȝ���C�B����
�
��o?��p=׽���N��u�$z;�N�q8�f�a#V1��@{
+�4��b
�|rV�v� IF>	�t�ϮvF�S7�Q5����J�W��
K˦��'��_��Gm!zx�qV��c�t�����iH
b��F1%
+%�bp��=����ɤR�'׏ax��>!g1����
@�t�X��޲�XKr�N�F~V�}�i<6�
ew�:�>���7�lp�F1Q���wޢ�Sx�W���TY#W@���N�b87���`۷��{�9w�ttѭ�TGb�
Y��g@+�q�%h8W�{' 1��!�'�4�gC꥙��`���H�EyS�����}6#.!�/g��@�@�$�V���:�I���)�"�C���,����jY�d��2&��	,�FkXp��
C�J��Jp�4Y;�^woM�C�.
++

Uu
+4����1�><$�N��bɝsN/.�R�M��Vy��
4���UW8/�|��K �
%�b���n�W\�� �ɷ���$= �Z����(�m^�%S%�o��@�"�N�"��6��Y91���d`
+WD-��װ��~8Ȃ��v�dLZ/宮y=��['Z� 
H
����7��>�
�Y�JZ���ʔ6�|ӿ�Il�|���~rF��1��Q�{���p{�n���TA����/���*ʰW��
�/�Rz���GP�; n��{���7�Oϡ"��~s��+��+�
�J/�}~��-��!*��j�TfS
J:���#O�ҡ�ep�&�^��C�"�0�,د�T�v� #��D�ȟ蓣!�\��:�2����]�'�J��_�'�~
̭1���C�A60�A�����=���B��?#|��vY��=oUs"��Z�k�jz��OJؗc���mT0Ҽ�#���U!�� �_��H�u3�W�:J�zxv��ߘj�4!ϬnZ�T����i��AA�����v��.���!
�
+
�K��j�ޟ��
]m4?sN��JW���
..�����=#/�d�VSCO.���U
L�{3�C
��uO��
]�x�ƭ���槺"� �����8S��j��
lcԴ����St��W�~C-
����H�O�,iy���;��BL@��!E��/ߕ�w�G�F*��F�٫�Z.
��[�M�.j��LF4(����o�+vl����Ή�m��42�x<G��W2�0�X�����wֶMހ-��?�]���S�TMB���W��4�$\<
�?�"i�O�z��O־c�Rv}U�� A���JS�յ\|+2���g�c{4;xy?��∷o$,9�m7�
&��9�޳��1�k����a�����'��?��@�-]��R߃&�Dz�#E_��;7����*,�	i�icqgd�'}�H�:md��LQD����M�co�P.�g#4jDF���<��G>�<� #���k�Y>C�F�M[09]���f�	F���(Rg�#wՙ����
^��l�� n��)3,
GX��c�"My�e2�s���^�����D扂�s�lC�D/�����P�\�R�2�[�@\ө�X��v4���l���w�ck�́9T��0����6�S�Q�����H�V���"
+��K�Q^�'9�y�=����(t�&'/�����l���u�H�	j�r
+�
3�ʭ[r��29�Q�X?�n��
�H0��ٞJ{�3Α�,�;$���B ��yt���/�E����D����? M��9�*�^��Ri'Zz.����
4P�cPz��ѷEo~��5�@���#Q
#�K��X���'Y�
+�-	:�X��n]\�Z��df0���E/YsWX�� <7]�O"o<(��v�vv���n���olq��=���
S�8�W)���Ċ��
9���y���-+w�c
O�S"vv
�����*��'W�?ܘt��G%�_��;4\^
��)�4�=�j�o�j�������a(�ɨ
��'�x��}���bl� 
�_g�[��
��8�u�
+**ҖLIk��^y����j�N9��/�n��x�����8�Ć�0�0�5�� 㻪��<�r��6ũ�9G�A.7��F5t�
��
�6Xk�X���[��j�y_PΕh~�-�(!
t�ۂ~J�D��
+��O�0/V
�Ϙ����(4���:���R"!��e�
����$Y��+��H��%�^�m�k?��!Ǭ�I�:C�
w��Ҹ|!��'��
d�'J��;���[`/�.�c��{�y��7j��O�O>

�
T�
�s��X�z
+���j�5�pcp�ϓ����0��96���J��烙�wm��jz
�W|� ��~
+�֊R�WF!���z
�1��C`_��L��h�8
X9�,n��9���3=
*��}����z�4r��4���O�dH�c�*�A
���&>�$v�w�g�v�W�8dm��?���X�%�`~/���ũ�o�\	x�����c��ܳ��������ڐo��#1ܒБ�tM��d���%�"\��
��a�Ȕ$�U�1�ji梼|}|�T�!<��s�b��A�g`N�Ҥ�0'2s
+1mI��S+�	�q{���+���-���k�h��GI����B�x��3���.X���L;�3�`�E g}�x\/�ڨzq�1
��Ks�S`BS��"dAKkK&
�-�2Q���J�����\sXǺou�X(;�H�cÄ�b���0�
B+�یޑ%�
�k�y��G`�a�FA�{�j�"Z����T�Hwe{-�(�ڍ\�p
/����X+�O�n��0	�u/��y7(��ŚJ?�~�*����
+T
.݀�����WcT�]6,/_e�����Ǎs[\ϟ?��:�q
+8��l�
��6[�a���S��:d~,��8�?����I�iJ��9a��b�h�,Y�놬ˑx�q���#
8�쁫V�_:��{{V ¨���Iy��%Ry폟
��bץG/�Fk��#��&b��������ي�ɨ�yBn׾9��X�RY��\�Fa~����
�x�����Z�}k�a+�fp!��If���������D��Bq�g
�=g��[�{�9�j��
3�W�(�9-�1��h�}�ǒR	� ��
"��Y2H �xk�~��r�ĸG���%`�Y<�Xn��R2�j�X*�� 
+F�
3�=�^�J�	���;�;���c��\Ǡ"B�Z�1J>	l�4O�+w�Xi�����:
+,�T*�g%�YM��u'�Ί�ʼ�C�.�d���1�S���@�b�_㍱��d�9|���B��U���i��_8Gp�R�z�@�[5I���S�Qy�9=}����fa��
����ߔ��iQ��3DqCD�KJ\7���~^o�m�=���
�ud����|%뺺6$��硓7��r�r;���_��#�)
+#.Eb��'A
�
4�ԏ��G%CF��F*�l[��.�W�
��� m�.�l�!Q��H�R�����V�s"�!W;�_LY~�;�	��)m����)�Ax�W�&4

���cXuɣ
��
8kK��
�IY��3J������@x1�|��&�*I�	[��u�I�J36�
�bA��9C���	���km��ߑog	��}x���^����B K�Ju��,c����x�=J�H��⊩
+&���_T9/��Hco�]鄄TTLf7V����
f���s�Ho�rc�Ǔ�SB%ؒ�,���,#�J��M
r�Q����J*(���6K�=Q�+�ξ3{�M]��}�k�WgS,� �<�
S��O���ǂ�w1̜)nx���O]F��/�^V�PTZ��z����)���T�Х�ؗ9]��0�|R6m�3�ؒ��
��|]t&� ��->�_]WՒ|��M�s���qM��C�`k`.I�(6�h�����wV�̜eg߯Wv��E~��
+
���������Ac)b��ZO�~��J����C�����:�Bqc��r�s��#tpZFha�1%I�����f��'�m�@)\H��.uƿ�_�T�yEZ!�
V+\Y6C�WR��
ᛎa�����i�Aǥ�ٜ<�+vh�a�*G�Z������4TC$�S��!
чҔ(\
{4�-�2]��a�cV1�i/`ܱ�	�
��)���9Vl'(�D��zRo���ԩt��Q_��p5�?�
�#!��\n�<tf���ۈ�bһ~>��ԑLM�϶�	7��
+�����������bS���}�1*R#+��ӻ�y&�
+�4
����&�G�7b�7RR����z
�:��I>ð9����D㺃��]�
tX�;a�2�9��t�
+��M2/^ڈ����4:9�Q4��s9f�Ga��и0��y�Q��+B5��~�֟Z4���2�����yy����@
K�+�u�.�<BZ�|�)t� �G ~���:ˇv9�9O�� �T_�n������?�Ū�齧��xU9*����O,V9���
v�NbVJ��p����BV	\j
��/�����l�ᲊ�H�u� 4��׏���\
��TF
+��UY!%b���Q!�:B���Z���(��e�IoQ.�F�]{�`���w
ổ��(�%�
���Z�3T�M4�;�y�-�WB�ꤕ�C
�v�ט���^m�[����d@���
ؼ�s�rf��l ��:��*x5(t�A��w�
������-��S�����c�Ȫ���U�
+Q>i]8����
�+���;��WE\ߌ�й�
�=rO�9��b��'%*��"0�%�"c�\�ukLQ��X-��U��1�tE.S�^κ�t�e��>�5��� %l/������K0Oz��o�$λ$iTY������ڠW��
�N����8+~�9��=;�Tԝg��EJ?w
+}��r�+ɉ{8���{$<�L�
+���F��w���o�6G���[�Ӌ�v!Y��)Kއ
�N�p�~E�zn��/r+M"�a9s��
��Y��@<��
T®5��$l��&V�Y���e
�@���_�B�~�)�5j���.u��`��X�A�Z
�E�K�>���sK�O��:��
%��)�0��U�$���:�Io؉�b?�c�y�
^��"<q�#l]������hB���Q�d�R�R��WA
m�ku �{e}ڤe�B��e��"�=r�0�xh�q`����v�ΞX�����`~ZD��Vظ�U�p$�V�nܴm�f��^-W���]c�
j�D���S�=�܋�MpT��P�}ةƊ
�р�.�]�;�Z�����Wq��N
+:��R����/
+��3�
���Q��P�!��Y���Jׇ>V�bXa��P��}���4ѥ����ֽ�	���@.ԧ5jԼ�ة=���L���y��{ ��D	�
�'��O)[_;z�v0(9BD!骲���4�
�
�:�2�~�/�ݛ�Nk�N�
��`߫p����%m7s�5�"�I`�
���J˖���ĿC�G{���G�^݊
��D��1k�歹qg}�ǣ*�#6��ˋ���_#���f�jv����c+�@��jgH�T���nT�����b���	�A=�$���%l��x/�%qm�3FRG�
+�rЙdD���RVfx��r�Xd���rj_a�_-'a|ý+ˁ+�Gw�H���e�g��������d���	֦*�9x��]����1�&���}��5u���cm�L�J��g��q �|�n+�K�2ڗ6��=�<P�&<���D�쎉1,T9�"'.�/K}uB��+�;왔��?��2�Z���T&��%R.|�U�-߆�u���J�#Gg�ˬ�j���80r�S9y)47�>���U??�A�5�E��ȫzxQ�R
r�?�Ǧ��H���
6D���=0�v�
y
lBg�0�/ ;�ܞN�C��M��]
��K�#K&z�!
+m�5�j�
�0,H̲dDQ�
�R�

+9l����"���TL٤�l�r
d��2m. $�Η
�ֽ
+���5Sq�b���O$��|^?�0
� /�
+�*����`����m�D.��x=X��'�U�
�u
m~m-��
����C�.YU�9o�QjC���3��g�{����i�r&����?��*���,.���o�B�
]�
U���)��#��W�
���*1�
���5L���a��$�ܗ�N���.�FM9���Z��h�[/�ӷ�>�ab��
�S��M����f���+�W��}�
C�]q@�q4���$��ۍ��"�8q3�r�}'vq;���D�8Q�C$���:\�d��v��ytHq�%B��`v�y������,�G��s���k�oWJu���n�u�4�%�`
��}[� X
��g�S�
�[
���4�
�'�d�0�E�"N����C
v8���V��=��<�
�0%������0KgV2�
wI�
::���0�
�
��3Gr���<�		�Xq�E��5��`����蟡�$I����8'�b���΋
��������?G.�j��^ym&4�s5*&�}<�}�?�7�
q 
�^:=�!Mx�&h=4�Ί�BȪ�
�6QeF���<���
�

0D�lk&]VN�!r���҅
=�(�x�w�@����6|�� N$�x7�
t I���k��7�[��"8+
ﻮ����g��-�:/aXr�|�#d�H�}��>��M�I=bd����S��P"�_y)ɥѹ?
��;a�T#����"���G�L|�L&<Y|P���$�a3S�9r=��&i�yU�5|vfFEl KW��"�מ�C�M�7�k����>�4"}��
��i��u���!l+$�
uP�1b<u�,�~���H<q
<��X疭������~��tu�
aZ��� [...]
+�f]�Ĉ�S���k�f4�c�E��[%�
+T���
���3�2��o�P��@�qDZ�e�Zqil�X�v��.y$�3�D�aT{!�SMK�$���ٙ+o�r.���1�/�z	M#��P���D�4	�Zf&���ސ�Hʌ�z)�qI��1��:T�M�x?_P���r��N��M}&}��Y����B��&�����
��R�F�̋�a�l+�W�/�vƹ���AsZ��nE�?E=(��!j(��)n��x�+�,�L��B��1�c�'�n�M�
p�ɧ���Xg��VP�k��xmOo�e�ߜ����a����hᆜ7�w�7�C�{����Y��6A�H^< d��U����sK�I/�-:1_�b�H����jW��@Q�r"������zYj�����|eOn,95���R�	�y���f�F<GGk
���{��RX�j���jE
+ڬl�TR�����&�*G31���9���$jP�yYe�l�g4�$���-5��T	k���乲�3@]�a�H:ͤq�\a-�x�:/�U#�1=�d������fgu��̑�E�Ϡ'
�N�?� ��LB�=�۽g�
]V�hS~I
�J\���-iCЅ���撩�
�������UO�r{H���yAN�_$K�;���͞���Jr����O�̝9^z:�����n������"�J�nz�䢶���b�p�p؎[e/X��w��T1
J�H���/%&��f
?B�i(�V���;f����<�-�)IՕ�DS����CB�d>�p�[��Db����_�㡭�Dۦ�x��1���j��qQ at 0S��]�*�
��QP�_���j�(
Z�����6z�
����
�AA+L�S��y;����T
�a�����g��Y��wJ,F�N�AL��ܻn�M85�Eʺ�*�_����U�bG��<���q��'�o���@gE�ɓxc{t��mlƈ'�N��E���V
�bۥ�R#
zK��u�)�f��õs
�C�
�ࢧ��Ǯ@_�ܪ>!Mz�`�t>�
)���횩1q�=W������El�m8Ї<a~�2cD���
oo�_�3l2'"1�d����Q�4T$[t]ǭ-t�[��y�'V0�Z����̥8O����K���8'�4'|� �b��Kj�G*��be�1���텰ߥ���;4��e�ϒʕ7��%�)�0�A��w4�bC�
xw}�<���d��^���ڍ��[��|�nE��B ���9����ϑ�ܘ2$�@y��n����B8_�Y;WyQ�Q�?�'�$:(ȝ臆Fn�
L1C�w�+N����G+*,�ϩu�䥑�;0��
[��(�U;X0�?z��}�l�=
z~gDC�z��*�:�ҍ�uBy
=�D̀���%E7���
��8�:��'�����I��O '
+��}����۞U.�j4�
+�u"��BܤD&��wyI�,'�0wg:S��H���,��iK)�����W+��0?�ou���!s
��v�S���҈P.`:k������
+�_a����*1ݴ��RihN�j�|Y��7^�Rvow�e��cOmܒJ�QuPK���,R!�`�J��Z܌�p�sv����\�zL_b;&z�|h�'o��Q?�/��
�w�k��%}\ćż�S� �P�޽�,1�<2o��r�KIV���R��?�XD���p���5	�4wx=�Yv� �6�%~����`���A�@1��Z��W-�Jz����`yw`ʸ�p���7�!����Sej�R�F�>nտ�;mW�ٚM��4qc?!u˃��P�uk�#�����0�Yr����섕���;��2�����aψk�k��3��I�/��̊�{"�u
+x<��
�������EW�jYuA�De���
+����x��\=n7@�E]�=�]
 '�����fin�E���~Aw�+@�T��
+������	h�q���k�Q6��€)
Mv��{��6GLOvD����P1[rQ��
6����u_��t<�a8��P9+l�r�s
��~Qb=
!�R$Fr�e锛X�:!�8�0�i�\Z�rP�����R
$�n�&[�F��u��!*.?����|�Ɓ��/j����e��|l��'">�.6���/���
+C�9��&Z�F
�Hȸ^
d���]}�BqCN
zl��>n:���-Q���љ��Z�3������@P��mW�
��G�.��,���@s
��^;��ķʳ��-���|	b9W�L\��v�z��
`�yylL �B�0"u++��{/?�I9-�ʍ��5�m�._�S!���;�]̳��Ѵ�ZTE��

�\t�KJ��OJh�-d
�Dk�M�G�iښ,a-�ѬV�̧�3(b���a���>5���
Q6r>,�ۜ%D����Ww��`Η�qFy�T�
�u�J�<~
�*&�H�?_VF?���$d|N�V��y��%��QE �Cb����@\x�f�J�V=p��'�:J����N�Y`˶Y�߱�n=�����<�T

�#�G0�����΃���
�#7��+<:����`'�<P�J���V(�fo���	��h�v ��2�V��Q�V[
+ؼ�RoKU ���VK*{��h��F��*-ǧ�9�� u�\�
JnSŶ^%�:�d6�gl
+���V��DRӔ�\�����S���A
�CY��D���ct@�]�9=	@K̀/^����Q�	���H���$G���ӯ0�ɫ�����P��DUvsǎ3�S�����ʓ;`gʅ:x9�6���|p���O$/��cwfg��S�<���8�~$�O	�Й��R
=��k���*�[܉�
����O�
�1��F�,ә�n��عQ{
�Aܗ3��\\z �]b"kuJ^�j�|��a�"X g#SB�>IÛ�͟퐫Y�Z�mx8�Te� a y��<''~�.d#�>Q
6y��Z��Z�e�j��za���/��´M١?��#n>�:5��=�s��C�[Eu��+E`�cG�\����ݬ�pQǁR�B�r�~�'qg?�%�m�Lw�r���Ԃc�Te��/i���A�!D0����՘%�Ȩ�Y$�\#�����j�������l��䯦9/b?}�*�iM��x/��:�Aa;(T��
��
+\Am|Q՚�?!#�?�b�
X���:B��0�q at z�+H��4�~��^��Rְ��t���<@�ir9;�Q"}��E�@@Z͏�e\�I]��O���`�5C�n
+o�%�ԙ�(��Ke,<�j�� ��!�C�}�]�̵
K#!
�D�c[�
�,6"���mk{X�S�M��X�i6LE\�H�� �
���.�"iA�5'T�&^�
�7�_��}�_�9�
+;s\��#�
Ja:є�p�dm����L�:;)��ua���\8Pʵ]����L_"�n�7����pX��/�9硱rP<��ٖ��~�x��
��
gʘ���F�����>Dp���+4m���X<A��Vo �?�	;>�Ӽ|.Vu
���5�%���Qf�=��pTr���fp�攉��@�W�0p3��1jr�g��+���
��H�K�3�Q3;��
+���?,��*y
L������c
j��U��]Ѯ��7\�m��v� �[������;
�w���#z�%8����IB�k;��7R���lz3�Bg�9��첬'
Dc`|��G��VoP7F�"^��5��o�?�-Kh�f�6P�04x��WA�IH&��HM�_�
˃��EIqW�^�z �@yC~Y��bdsI����P!q�,��lƨO2��o�m{ L�e�H���cȬV����9krO�Y��ф��B٧�H��
>��h�(<A�ҟ��F�6sY`ρ܉�y�����ؒ��Z��$��%�Y:��:
��C���� {�F1�HA�����뜰@s�z)�V�k�u��
U���9�Cc����Z�Q�?Z/q�2|V?��ԡ��H�8m���ܟ�a�G�2���%4�Og"#��^t�6��5�-x��uBԲ�NM�q�H��
d���
+endstream
+endobj
+13584 0 obj <<
+/Type /FontDescriptor
+/FontName /MUQVXJ+NimbusRomNo9L-Medi
+/Flags 4
+/FontBBox [-168 -341 1000 960]
+/Ascent 690
+/CapHeight 690
+/Descent -209
+/ItalicAngle 0
+/StemV 140
+/XHeight 461
+/CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/a/ampersand/b/bracketleft/bracketright/c/colon/comma/d/e/eight/endash/equal/exclam/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/numbersign/o/one/p/parenleft/parenright/percent/period/plus/q/quotedbl/quoteright/r/s/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
+/FontFile 13583 0 R
+>> endobj
+13585 0 obj <<
+/Length1 1642
+/Length2 15122
+/Length3 0
+/Length 15984     
+/Filter /FlateDecode
+>>
+stream
+xڭ�eX�m�- �;k�n����h4����	.��-����9y���̾��g���}=w��UU����)H�T���&@	��
#3/@dc���Q ��1��@�N�ր�����	�3v�4�f 1�)�����Ã@۹;�,,� ��*�4tt��e��`����HG��-���
�lg�u�K�
�
+�,� s�5 ���-� 	��TPHm��Pr6���@�@[G 
�
� ���`
+�5�Ӛ#�_.aG�1��h
+�t3����6 Gǿ� �#�������
8� [Skg�
+�k7�� ;�_���_2%�������	�7���Ŀ�t�4v�'�#�/
 ���4�:��ҿ��4Q'c��#�	���O. �
�hgm��7�_2;п�pv�Z�W� �����5���/�_�n���/���Y��+�/������6gD`a�����on
�-�?�"mk�0��n�l��
��_D�����-��
lk�0�#0)����P�����?'�����#����'���y��o���N-�lm�`l�w ��g ��-����Y6�6��
���il�v����woM࿋[��w���¶�a`�`d���(r�)��L-���/�_vu[3��5��W���� f����Y�L����ǿ!���o�f�*�ISGB\J���i���w"���퀀�7��<��?�P���� �
�Ka`ce��px8ٽ���������N 7�.3#33
���|����h�mM�f��������ߩ�O�?�����_����6���?�4EX^ �~
�J�Hs���
���f�
�+�S+���w���m��V3�O𾷸ϟؽ����w�XSu� /�����䣯S�q��0#��jFy^��m~��d���
SV1��
+C4��� w�H���%�������Gm,v;Z�'����S�ģ����C�]��={tٱ��\>#SF��gꨗ{��;ҿ̪��.��&�k�S�I��~�_�R�ک-e��9�1.�� =���n@��ȷf���8Ko�Yai W�K��RWH��#Z�.)F��)DTx!��˜�4�:��+�O�^���aT�����gI��d_�X���}�0�?�Y|�7��)7�Yc�Ӗ�7� 2]`�c��F�����jkvG(qZ����J�Uuw�\��*%���!�����CK��l�)��S9�-�-A��
+�O,0�:��
�<$��2��S�y�B2�Z���8�p��
M��]���U�F�e'e�B���"�˿-k
$���
���b������W
nc-�y���ӗ=�{p<��p�i�t�<�/�ƾC��oj��p�kA�S�WZp�A�9
�u7j
X�1��
$�|M��i"��r@�q����
�Y)�D������ə�#�v�i\|����_tD��Ә�
^��@x���„�<��f��� 'N:x
��iCϴ+o���k4��J��f���J��\��mD67�� ���³��bԶ�b`��OQ}���J�E���RAJ?y�,^�YDE��)�Wj/Zz|�%�o�
�oml�Ɨ7�Tnc]㌾C�wB`�֐(��P;4K�p;�����WHj�i�7�m��j�W�o<�!7H����R�
��в7Q/���Ѯ+MI>�X/��d	��ky�/����
����I4$�h=㲳���pк�����Z~qP5Ӕ�:M�uopˆ�5O�X1:�g��
�Ml �i��:�L�RM�����9�sp��d�!E������E�	��Cxh~��1o�?F��ě kng�3�^���L�O��Iu���n$]]�D�!�����@"	�ҹ���E��X�l�
#��)\�f���e)���*)�^r�s�~B���f(R�*[8
O1i9B!�E�-z�p�>�gc	�i���*5��E� [...]
dH5�ڗ�2��DV�g)�ca,��d!Ս�AZgƚ`�O�O��q5�^l]�$�k�_��P��纈GU�FQ�$�<��7�go�I%si��c���)�a��R�
+G��V�LwVN	r��8ۓ�=
�=.���':�=�E��K��7Q���/����<�n��R
=*F0.
$0��)S�(���B��N]e��
+��Sv�Ү[VV-C`}�
,�U�b���6��]�n1��k�y"����Bҁ;��t�yW]�M�+�e���?D����N���f����~9��-�ƪz�Ĉ
c� �1f�d�"��}��s����ײ�P�U�OՔȾz���T"�Z��ѫ�uט����IS�$���z�~ӵ
j�fM4h7���)p��
ѦVn�i���F�'~m!����ڪCM:jR䋢�_�[l]�H��(�8� �,�A��Bk��t�t��1��~�nOt�O"jICe]df���4��� ��D�G!�.
+,���I�5
ߗ*��4��(X�j��h9�K�A��Ad�!Lg 7h��k%�����i��Q{�$���Z}�������j۷ެ<u��M8G��*�-M�J�*��(1D��e���|Op}��P\:��� 1
+NHgT׋H�������%tZ��;6"�zg�/*�R
�3>��TTa�Ӈ'7��Ѻ��W7m��&��`G��m���D2��Ҋ�Ytn�*��Z�
e�U3<��5�UK�q�d"�� �hSJˮ�*b"��?��h�K�I��&�
+w2gF���m-h%��q�MB�ĤS��>��@C��Z���w�=�bN�� 
/z����q��
����UJ�^�N�2�M����-D��%K
+b���S]�1�n����f��d
��04�7ֽ砨�9�K�>�͛�^�>��<=��Ϣ:����Bn˾?I2r�-ʩ�7��u/"~��J�\?����(<�
�&=��X_e�S��'o{
�������G�� �	f�V
��b��v���lM����G�^)���\2׵��y�igu'��6�!.�Ua�齟XS�*���W�,�[�8����̘�!H
+Q��O�X
���t���
gfz�`\�mV��.# �M���4���V����|4>��
�
NA�@�@D���h���1M���J�w�F�t�
w��{V���GxlyD*ƿ�/�����wa���ClH�q祖0ߔ�ɛ9��f퍀0MC��z��q�������!ȹ(a`�Mn��M�wռ}��ڱ�6gu�6]9q`G�Q,��0��]��^
IoU��n�����
d�0���v��w��qd*9_�S0�a*�
�o	�(
��Y�_��w�(��N�C����$Lej�7���nA|I�͍���e��d~s��j�)s3[��7��ו���c7��S���8
; i(������l�e���W��]Ŧ!����d��w�To�
lB�үG�	���
��ᨪ
|��G9�i��ō hF.�+q��.޿�����ʌ�)�N�w��IuA.{5d>��8�:#�1Q�

U��u��gEg!'�c]���;h$�6k��4�3>�a���!"Ӡ�T�4
Ԋ=��u��qWGcQZ#� [...]
+'-��E��v��|C{�/Ꞣ�V:��׭<�>���$c�
QFHR6�j87;?�\r;UA�:
X�Чm�M,b��?�ܔ
 P
�>,t��~�$>Q��E�H��H�H�ն$�
��r:/:k�]GmJ�{�7�W�5IGݛX�!0}�ȵA]j[89��
�� i�(��
	�c߫γ���Z� ���p���u8��0D�j
y
�X����+�j
J���B��ɗq�O��<)���
yx��Xj����
NU��Q��8�߶�q���c��������h�s8>�����|А`y&E��y]v�����-�r�v�Q��Vҙ,$S���{��Ѓ��y��3{I�$lw��`���G�z�t����[��R�	��pC�_D����5�p�;�́���~��0(��Z"������ӐBs�k���շ��*���dj+�P��(�i�g�v�C�-=�fO9��7^*���Nm�����jT
1[��1�sW}cN�T���Yf�$v/�~��g��Ef}i�1��O
��5��YՉL����
q
͢�㸿���qk�28�Wv��Y���6QZ�������?���ۯ�/�#u���󃪽Ragc�ӂShP��(�J"��/��7lnih�[�������טh˄���z�2T
ܪ�L�BAoJS���΄��c��&U��&^��η���?|n;%	�
��<�te�gG�Do��

rT�~2�I�`m��N��MЯR߁h��%k��i���6>����-e��	5�~
=�ӌ�x��Un$cJ�
5���N���2sG�������D��n�8&
ڐ|�ǯ�o�A
��nf7���Cݠ���G�9�4k0�|v���5<���`���X)�n=t�!ܮa��%�?!�L��М�����B���ʻ:�}]��d
+��TA�NN�k���
+	@��E!A9�4�s�K�b��� ���ng
��[���=q��;���'�ЦoeZ���}����¯b��q�
K	)������1
x��4�:��_��{�E�n��(B��
̓[�5徔���+Է�
HtA�
���1_ISq�2�j��B
"�>w���6ө��*���'�p^�AS�
u��F�?���E"
풢Q35trP��T����2�����4�Fl���Ҍ���{b�-�d�ϱ
+p�Kj߾R���CDr=��g=++C��P{`�에�bP�m_n�-y�i���m�W5�YR
+OWh�
����W��9�KrG�m��٘�Ĭ -
,�
���j�f
+V����
(O
�P�b���/8���%N5�j}��ï%v����K�O��J9�d�{�Rͼ_
��la�X)&Ke5c'�tX�Xs`hx�3Vt�F\#M
$�N
+����뵙���*B5/�&X�׭U��#�	�Ks	�EF�A�÷��#*.��]om��������G�
4<�b�d�ՈF-�̝{�'x���,�r|�Er�
Y�i�(��#����oI�
+��E�/���FF�(y�tc��bo�f2�t;O������N�F at q��cd
��G�yDɗC:ֶ�����
�� �S��>qG����lF�nSn�.S-?����u�9�\���u
�k
+a��Ң1���\�Щ�l�fJ���dqG�]�gk#/
�]��I��+ַ��]�a�����DF��^z�	�M��m"4'�JY/�A=��?�19Se�i
0OB����&�C1�-
+a�'(�v1qg2*J1����*�˺&a
��5)x���A7��*�ɥ�J�I�l�+��vmjxux�w��`�N"*����*^�Y��ƾ��J�Τ�������x��Od8_@�y

���e�~�@���b6����i���ôH(:j�w�3wM��.�{_�"�A+dE��?�_6e_�AgYD��CӯP��<���y�r(��8�"
�oq~�M+KFh�E��k
�rIJ����M%���LÆ2�M�B{�~��
Y�'�MfPYtR��dZ[�e��*,9�
��sx��N�7\R
�
T\eN�#�\�uD��z�L�o�L�J�-��s!�zG��q���P���c�F ����0��m��W���/�+�ۭs���G�[���Yȑ�O���J�g�8��6�A�5��
;�=g*=0dIT�9�����
�q���#�‘u�V�j��[�y���|N������+�<9�}*�bp�i�Zo����9
+������
.�1̨

r�|I2�����x�la�?��^��N{'�Z�m�J
��%H�Z��~��;'L-
�=hԳW*�Ӧ�s���MkzN/nL�LI
+�prڳ��3�Y���{�Ia�o�N��b	�?MI���O��At_���Y���܆QS�#�zVM��8e�ۦk�u�f�Mf��BB������t�c�����b�헙G
in�=�
"��j�
�y�p`E�.�
��ٹ�9~NN����d���9%��p��8[�uJ��rD%��
�<��s~�)g#�iQ|Ԗ•]�e&��#C�-s̕��V%��
�iײ��d�3'c����4sk� +p��D�Q����:U�R2R�
`n$�n�v
��X��
.I5+7D�
���;��>՟)#�ZҴY2<}�g\Њ��pr�k�'?�7��D�P��BB.���c0�dX�׌�
�e�Χ|� ��Ba�(��t����j�\�~nf�
H,�.}��X_�Q:�q���^A�4[I at 4����f(
k�:���=��G]lA�!��T;�gD>x�
FXڽ>��I<�{i���9
rެ�)����
�4�n?=��Us�"�������eb+��%������󐞗t�/0M�˄zSb>b_���?��ŮQ-����^��v��j��q6	Q�y^[����$
���€7](=t���l����g�zCRs�2榏��<"���ZmB���*�h;&X��p2�h
ڙ
pb���}�V.�-9Sx��2/c���.��C�����J%F�?���i�R]�톶�4��%	9�
a��Ħ��dy�8�=�g��b�
�����
�+�d��]=[�0K��`�C�xIJ
#+Q|���2��S�
C���Ԯw��\�[G���@��x�2g�U�a��m�U��ծf*as�t�I��e�d��xs�'�<�S
AmA�m6�mJ�{1�
zå�u�
=��oTO�B�r��� 
[�A��pݪ�WFJ
��������*�����I���� �a*.���<�*�Wm�P��cy5OO^'�������A���U���e+�W$��%�~�
�%r8<�xT
�v����*�S8�
�
�JT�Na�+r���iu^N7x��y��{�rtv��1��q��V���23B
r��"�Vj�2�0{@ s�L?�j���Ŵ-j@�
+���YV]0��4^��̼TFz��'a�
+��x
]��y�rc>k�d'�z�k��n�L*Eġ{�f!�
㛄��r��HV+���Ӟ���0���xU�ˬ��H1|��<|�E��o^=�.��:a8�~��
+�:D.S��WtĴ�v&=��u�s$�f'~2�(��b�Վ7����|
L^ϵ���}<!Ļ��3\/�b�d	QS7��~^X˴d���Ϥ`/NuJB���[�K5����e�ѱ�m��О�c�ST�� �Xv/�(eW
�

��8P�O%t#
+�W�����q����8IԫAp�.�`t*)�嬛i��ma~�.�j��wb��XwQ8(��Z6��c(1����64���OA�3w���hN��ꦇ��i�젓��"K�ܷ�1a�XyQ�jD�
i2l
]��'�9CX��*��y'���n o ��"���Q"��B2k(��'W�'ߐ��w�\
(����PY��|��C�

3��>����TC�~�?vrS{�w�y{�3���^�Lك3u�2��'�&Em3U��
��|��v�=�r3�#5�R��˃P���BT/�B���[`\����"ƉL�hc*
�P��j�[����ld�9�+�\�ھ�Ӈ*>��.l�
��Hf�{ ��(���
+�˜~Q8k�h�x�L�K��f��G�
��
֢�mֈ��F�3�"�q� "
4�ϛ��i��C�##Sk`������U��0�S�۬��}�-�_Z�1���p�c��R}%��QC��.9��T���Y�
ȪeYA��E�G㦑uL�|g���E���g�Im�}?�B���T0�>�V�r���e�.�]
+�
���=� ����m�ð�I������"����K�~*���z
�^,�~�C��
+�?y*��
��{c�/1#N9�>�I��.9Iw��#�}!'~�5�kt k
��\�pڦ�=Pi`l{%�æ���l
gǿ-~!.�ZJ���%�a g&*f��Z2�jLg�\l�
6L�jŪ��H�}��g�����)0�"���x����p���q�U��>��v���h���ҙ4�GD���AU%`� +�e��/Tf{���li��dm}��F�]� 9����e�^Y#Nv�,�?s�@
�f؃؉8�-/GO����)F�Ml������~C�9k}@B�o�e�$���E����3��&T
+H;��ƘC�o��VY��&WGF���l~I��3�'�(࿎.גn�e�>DϾ��!�bBCf����(^�.���5�G��sD����[I�6m-�'��_��$�]%�H9�qBE��|����g�qOxOn��F�}
r=!��#��*�>d�z�m3���"��}��������e��D������V���U9��
+MJ!d��^&�q�)�k��a�ĥz�<�+�k��\�-�e�y���H��::'Y�
Ņ�C2��	9���i�>�Nˀ�K1&ݞ
��Z���k
����p����|VN���,����s`z��D�o�R�`��+�ric"��{��c��-J�m+� �//�r3�u�h�{@Γcv����Ƭ_���g&/M�)=m���PuMWzO󊱮ս�d��&�
z��7iè+5
��Y�,~8�4���8�J�"9�X�I�*�y*���N0|��{�/to7N�
� sL���2�.�@�Ek'��ce�-P�
+JZ򆄏#\�S͒��b�]tt�E/�
�\��")�rq�|
>J)��aX_��4r��y��Kj�@���g	R���\T��&}�;F2t/��U
+�[*�����
}�

+���@�.B&bQ?�J8`X�o�Z
�YD�Ȁ��9~�w曐��N)���
��}��E+|�|z�*�ڬ=b�GiW�D��)�B�|0��Yښ���mp�/����CUq$���@�$������ҏe1
+�O�?�>��lE/�D�)�ۅX~

��mD�G����5����'vZ��wy���!p5�7�����[�2�
+v:�`��6<f�a�j(s�����^�F�[B�1CNnSn�
-�).M.A�
��S���!	?�6��5������.�l2�;^�,�)�զ�[��J#�r��8�t�BS�}p"��{��C������N�[.�T �дQl����!ne�~�gV�3>ɱ ��_�
+��LT
(����"�t����_����
`#c�����s�/���j��~G}c#�Ö8Խ�?�H�*>��|�}M,������c�|8���QZ.��y2��q�l
���E�� 
3�qݷmћuc�JEG��%���uvX�C$��F+q˗�����{	}A�.pu
+��hdP��hFb�hcɷ��{�'{gI.S
�
�ȟ\�
>
�f�M_���yM���
?N���E�c5��
�P
*�I�!�� @�@����7
+������ݼ��ߐ!i�k1��

���퐧CپJ��9���
�\�A�@�	K��Ml��U֡����R�A�
1 at AE$�
���hV
+�E���(CQ!�j�A'm��6>���Jȍ>7Ę
�Zm�2���}�4�"	��Wjb-f,����^�m�W/�d���j�E?dHc;d�+���i�2ܽ��
�׿f��i�]�d
���
+�͵���a�n�w�CZ��53�TJZ��m:��1�Q
y�\
^;�/|ß0��L}�(���%� ����I�In.�jr�����+��}h���#�[-g
���������U��%`��Hʧn����6�
�x�}b9�
+j߄�����㔛�J��vk+׼�o��_�0?�O:��6Ve��JL&�eIsK�9�dA�8E19?���
]d�{�l�R�H%HDK*9o2SK&�"��]�� ��S�9��X[F
��\	�OV#2h
+D��3�fd��N��D[â�.F�u$p�X1�@�܎AԾND^�� �?�ÉC/�
6؆ZbT����͍/�61���׻ý��]�d��Ŵ�eu ���.���B}?�^P�rSqqMr��2
ؖ2wu~��V��ЏylPҸ�+���� ��XZe��Gwy2�ĵz��)��ߣ\cj�F宫��CSj�-=Z�
:��82�����V(h��6�<:�{�R[�f'�p��x�Dl1�?�d�v��)a��t�����c�9�k=31�����*��yn�rVn�O��Ki�P{��I�+\:����}E��L}�3��uy)�ݍs����rt^�TR����
�:�e�
=�
m�	ՙ���O�eR�禔5�Ő�ДC=�@��2+�3 ��O쁊��9
+�z�Ύ��G)�:��|ѵ��Z�p^��E^��ђ~��Zy�x17A��i��;�FY軻f2�Pb�
��X���)�)<�QS��L)5:����2�ץ���Y�05�С�-�r�1{�D�,�v$�����'XM�hf�ͺ��C2�}L���W�0�
��&guY�;y�R�T�
p/o9��/iG-gŵS��bÊܢeBg�ך��ǵ���uq,
�������#���͞�w��xi�
S�i�a���S�}a%O8s{�A�x2D
+�ț_�K�Sj
CG�;���nA�ɜ
�%Bo ��Lj����G�ZJ3��
���N$�=--zg��h9c����g�e�I�ڌ
�3
+%ة��u�rģ��ȓ�-�wuF7�^�'J��̎��
��G�m�
+��
���K��7T#%����W�Fi@[qe�nK*ش�p�sR�V��OIPO�}1u�ˏ�2�;y�ߣl����ĵ���3sy�ʆ��S�҂: \�&_�3���GV��]Ȉҋ�V��XJP��
/�+!'@� 9�_H�
\�H�l�+���51�;�ű�}���F���I-�a�1|U��Tֆ�_S
e#m���NJˍ&
�۪ۣ��V��{\W?R�t0�E]��&��8��+a*Q
���M��h��qQ�pC�>72�I �Jw
+-{j%4G�e�_
��μc���Ze�3�"J�R>���O���5N%��p��י^
�PU�
x|&���S��)�;m��p7�[��Bl���O��p�����f���U���
��?&L{[d��੨%7��fWU�}0
�w0�+�3e�<�4
(���~�U`Ȝ�J�F��~f&�w��C�jܱQ��@��ww	����/��߼*��Z��B�6G��^�K���,N��VC�I4�l�PI�]dޞsU�y� �P�q�_!��T4��r������9��2�,D�
]�'FWG�}�r�ʟU�(�g�<�6���
3�~��Ъ��I�3���b��n�<��	��q�+C9�b)�m��4�_�G��@D�!��H.��,�W3i����p52ɯ|r��cdHx͈QDS�����g

=�U?� �Z����
�������8����O$���
�H*#RL�0}.b�<��J�QC�*�4dM�oK�/2	f�Z����Oc҆�<C }'�[E�
���k��o
���7bo�^N�
���em [...]
���'[Ξ鬤F
���y������n4���Gdl[<n��#
+�y0KӨ&̵�lK|2��-ԣ��_-��hA�O$�
KMpԡ���L������1�
�_T<b���[�u��ãR������>C�b ��*�����[��烜p^�e��e3�=4��q���`u�$��+�Ͳ��5�ە��j�lf��؂����yƉ�݅R2B�
V�#��0K΃㣾CZ;�f4n�A7}6o/���kMy�U�G�q.mXG�]'��+ϊ���mb�о���
�Q-3��Kn��	
��#t܋	����*��� Vl>��~"Nヨ����|�zo�x)���`�	ޤU�R�Afݱ7
+�w�
(ޣ��Ar�[��?X8
T����X4h`�KR�J�#[�g�Y;`1�É��Q ]'+j���@��K�q�ѷh�U��eDf5�A��Q�
a�oL4g`�l�xM����J2�%R)��� o?�t�9w�t!�([�D�[��1�:�4�
(H�@��Q����ٵO{5���7�ȿJa��T'�!�*D�ө6��<������XW�J�� [...]
�F	�Bl�
��G`��g��ʵP
dG
�
�[�&��we"�r�mlc����Y-�;>��-��`�6��ݭ�'�L(:s�iZ�G�L�C'�/fD�S2C- �kY>�X���|Q�S��$qy6�_X�,��L/�71���}��p?x>?���K���}W
�
+�?�s'�o2HS�ڪ�5r'X��G�L��I�9�#Y�W�\R^�	���X;�kz��gɈ�vr ��#l>�3GC��*c	P���$���n!
n���4�.
v@���f�
��C�
��)��������u�g�#4��Z)
�tu�%�~ x�3�#�I!��Ev�n�tԋz�n�B�C���+�S-�3�f��YƐ�}���.!�i�	�Om�*���P�F�Z))|_b�u
R�I��/�<g�;JЅ�!�����	N�/N��b��~��
���t^VH������^�,�V%E9��ȹl�ZԔ�.�^�Q�f�)B�t��+���E��'4��7{���Am�� e��*#��~PԶǗ�"l.�A�LJޓXQ��sz�:�Z��ȳ�OZ�i1C�}R��!|k,���Ѧ;_z����1}��%�yü��-�;��&'���X}(&�f�V�BÂ4�No��m�ɒ�r]�P/p��^,�Srso��w���N��*9een~: ����y� [...]
w�g�яk:)ʸ��[Պ�D!Ө�u����(�%��"�)�047~h"y�zn~;�&��� ' ��.�T<�~�O�x�
�;} *VOa�Ҽ
��^�
�v
u�lU^e���zx��v�B�Ҫ�r'�ȇ�����I�#[����.���0��s�vU��G�2
���9M�h� 
�X��`���{�)6����_a�当.����)�Tʕ«jD�5���Iְ+`�n����©����M�u(D�E5#���if��.��
]�gޢ�� ��ѯ��d壎�le"xJ�_���#���
O�����$)�H�W
2��E�_a���9H�^6�+J��e�f��{(o4(��;��.��ovJ�n�oC&�
���
*
In��tilmx{�:7qtZ�m������-~�km��!�A�:�.��d�e���|d-��A���
+�UcO]F�T��R���d�@���!�� o�U$c�]�4K��d��/��
+��FԽ
M��?��9Kj��i"��#Շ��Y.8P
+S��S8eQH�?
+�s��]�.���ܜX��<�

i�
'����QO�7\��j���f���8
Z�F��Ų9��=
��\Y�G��W[�_(�'j�SG=�ح��a0����n�M����O�2��Ul��<�ʑ�UE���p��	���Q�-|�:u5fl}Xu�QN�*��#>S���Y��^iv��[��������z�Wn��b
�P�gl�ӫ���:�蚔��V�rp��Ȝ���
+&L��T'RrD��R�
+�?�7
U��j���^���GL���������
+ؾ�:̊�7v�-���a%�yӲE�� s}���_�
M�]6O.���v�J|q���}�
��F�$�t� d�?�
尢6�λ��c�"�I�A��Ȓ
cQH�	��O��N�Ug��owW
�R�n%Wb�
�
+���5;��*!S�(=�4��j�/7F"�7���<i�qK�;ޘ]�k
�l��-�%�ܗrV�bA��
�G1ɴ�>h�lH��Ǫ��P������	Glp�N��	�7�t�b8���Xe�"�I���3Ea�8�6K�m'�<[Xl�)U���~��I
Ȗ
�O
&�V	7��
5�)j/���q��o␫��MBk�Y�;��̏���,g3Fr4�h
+�{c&
`��
�ɮ�<��X�ќ���FѶ��@���

��̤z��8$F���֏�$
�j���5ry������>���zA�nH�3��1�w�}'�P�ќ���(��T<I�a�
+͵�(U��������v���$
+-�t��nѪҴ�����5�����Mݏ���Mbm�l�d�ͪ����9o"�x���v��slh�H%�,����Ɋ�.S2�I��"��X%?i	����:=�h��4�����}�h{�Xz��!V�q^�(4/�/���g~�L�/���*f����ݰ�������#̛l�c�»l�G�����%
��X���1�DY��M`f�	��_ְZa^�&g'�@#�̶�
��E."�&�(����	Q0k���Ն��:��Y-<�EnvdbD��B>I��C	�Z���8_���~x !�>�$Vbp�/�!/�vÑ���v�T�q����8��9OIr��V��\�kڤ=1<9#��5�id�
&ⴌ����U�ܵ,{U��e��)�r�f�_ҀeҮ���
�ӑ�D�
zJq�g�������Q@�n�<����=
�Y.H:7;�8�p��l�1��eO��`6ߏĐ�N*���
�@EfRz��D�~�C
tC��>�W ��Ʃ�TonZ�QT���1Tx;p>�[̶a^��x�9&��pY
�svw��&��]NUg?�/;�(�s�̻���Ýz���O,�{
�!U8�y�H��u��f���cWY�>���\�\З�x[H�v�ܢ��e���Ȱ�(<���L�n@Ȃ���ti�#G8�`�I�
���R�:`�OB�\8,J�_q�vk�����K����B5� T�Ѯ�c #��3�SP�ծ%��N�
�-nP:<��pbr�pC1LY�D�T���z���8�`-X�o�ĵR>-:���1+�~�LhQ
�k�
+Ư_��lٙ`k��	#t.��\��qv]�\�{��4��{w�=�
�csG
�4Pz�|�z���g��J
�l���B��(��0$�8-1ee}{FK
=*g=�
��\X&p�'{���HD�@�����D�Uf��LY����/8����x<�
+�ʠ�
|�JR�&��;?���
N�l����
���R��ٝ�904�._^�5W�|���@3��
+?DY�At�P�TX@��M����D�Bc}��]���L�]��M�m3�Q`(#;qݰ�Ev�i=3@\�=O�
��$���2��Q뼈2?ڹ!��ؓ3Y�����ݪ!G�nKC3m�>,{�K�^<ǵj��&�꣜oa�Hz�xC�:������r>knƴIX�A���^3
K_�1<i�8�
�$ק�
��?_q��3�B���N��}+G�
�`ʵO��
+L�������
W��_������Ƀ���.�Ee�|���u
�@�5�xIA�H'����M��y�s���
)VUJ�����ث�p��C�v?A��J��.����V
A-�1W6���O�`�jT��-, �
2����Hsp	?��vh�%��"5ٕ
+C�
*K��w�2��#L{_<�7�W�إx:��j���Id~���SH�bE�r�M�vH����t+�Z���X�oIrړR��]��t�>"�Ηkz
��{��f�<��{�F&����@����˜�����
��Z��1a���	s�_D��E�>4=4s*�<��`>v�W��aPO����;/�5)�ׇMB����NZ��
�B�=6��q5�8��Yh��G��6ɑ�3�ɯ7���2���ƟIj�]46S�!�
+endstream
+endobj
+13586 0 obj <<
+/Type /FontDescriptor
+/FontName /WZFEHG+NimbusRomNo9L-MediItal
+/Flags 4
+/FontBBox [-200 -324 996 964]
+/Ascent 688
+/CapHeight 688
+/Descent -209
+/ItalicAngle -15
+/StemV 120
+/XHeight 462
+/CharSet (/A/B/C/D/E/F/G/H/I/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/a/b/c/colon/comma/d/e/eight/equal/f/fi/four/g/h/i/j/k/l/m/n/o/one/p/q/r/s/six/t/three/two/u/underscore/v/w/x/y/z/zero)
+/FontFile 13585 0 R
+>> endobj
+13587 0 obj <<
+/Length1 1630
+/Length2 21334
+/Length3 0
+/Length 22177     
+/Filter /FlateDecode
+>>
+stream
+xڬ�ct�]�&
�vv��͊Y�mg�FŶm�Nũضmە��}���q��?���
�^��5��c��((�
����l����r6F.NJv6rv\2�J at 3�_9;
9��#��������3��4� XX �\\\p� ;{wG
3sg ���:5--�J�1���毧���-����O����
���/����2p6L-�� yMI9q ���*@
h
t4�(�Y[d,���N at j���#���������?�91��r���݀n�@�Tt {�������o��������o�� ���.&�$�Wnj����
��Z����S�srv2v��w����C��y:�:����`g������埒���
�W�lha�p�9��0�p��6t��/���ſ�pq��5��
� �@3CGk���_����t�?��/���[�����_V�3
g'��)
3�ߘ��c�Y��1�3+���v f��M\��C����Q�33��04���v� M�����P�߱���G���-�����F����������B��X[���
����%ch
��g 2����������������_�Ձ�N�� &�l��-B�f�ab`����I��
h�`�ll05��۳�UmM���������� zf&���S1�0��������&����t�+��b�����/C�����n�7��Q�����<�#,l��g��гp2���ba��߄���e
�
-� ��fb�W�����'��#jklg���(;ښ����)�Gm������-��U���_s���V��y�,�2ӝ�s�&~h��0�ۗ6����u����pU��
fh���ls_<��8��9
�����N^�x�Q��nRt|�=
`�+EL?W��^�ن��`R;ܝPT�+�E8���s�L�G����ۓ=��qjC,f'JZ]��9E��������`�-d�>mN,,9�OD�H?�
|-�J�L��8�ɻ�~C͗Ci�o����17������������C1ƹ
C�
[\%&�'�@�b��hJ��b�qV18g��D��T��غ��
����o.t�D>�NۦP�7Z+�X6���Ϻ�)�)�v�:YbИ������YQ�"P�=��Q,�VN�����j�x�+�t�#���4P	i0X{D�|^�Y�?I��m�"#�k��`#�.b���5����B|N���_�D
�ᯚ�~_ɾ���@h�
�C�$mxw弄�D�ur6TFf��.25?��sH��,2{���.��δ��\��$����_R����>_۴��G�
w�Ǡ4nd
{m��WȎ\�}#�䣸�0�0T,�Q&_�8��߲P�M�� �6S��0)UQ�0�}�A�9n˼?^��������呭�\%�e�~K�	�Z �'ьV�
Q/�k���U�DBt�H���B�-O��CΠ9Q�g�ں�<�՗;L��Q|����ݞ���,Õ��W�\��4< ��_�鼨�n�,+����q�.��v0䬭��4օ�VRkW�QDLՏe)N�ԇE�E��k���q�?���Zr
�-zeS���F��BB�m��p�}�!�}T�*>ul��,

=w���D�+����C�7P��� �
3��
+�^��%7���C�K
&
��=

�>���~�bSΉ�
y�� ���X
+�Z����B�]�օΟ�w�G�i7
VǏo��eq[`Ɗ�`A���}���H)����4�(�@#��F�"���� 	�k�"x�v.����4=�u���������	@;F�|'?�z<�
�4�)���� �>s:Q��
ͯ+��L6���!�ҀU�u�G����^Z1��F
g{�-
�
�Ɔ�la(�TߪM���Q�8g���<��?� �쒰����E����ڎR�^���aY�>P��\���⿿���q�3s��^Ք�Q��@��ƃVϒ����:WG�����
�/��zT���-���-��4�d�JL��WR����	��m�;g�^ ���-��FM=���7�J��Y�2��3�}5����j4
6Ռ��+�:�f�fn2,�
\�u� 5���
��|�\��A��eAִ����H]�h�J{����� x��
�niolo�
-m�?�afy�֡$�@�l4��\����P�a�)'M�&�Ft����� /]xށ\�2ۛT�d��5�8��
�K4YN'���5��J�]� ?1#u�@����3�&2l���e�f����=%�Z��K�'��%嶘�c+'Wg5��4����#9�&����^>��L$a2
�@���XD�z>&�I�|��Q9�����c�%�����6�8�W��A�P��\��d
�^!�qw�I?�}ձ�`
>�������1
��7]�]>Y+����<)D-�v4�� �b�}!O�ihY����m��J�
+2��Rƀ2�؇����'��
6�<��>s1- \�2tCc�.��%
�#p��F�� �/�a�i�uH���!�]�>/�������ʆ��� �j���w{"
Au�ir�r����p2���P���1�l�&^\s���ؑ���������uv@/��.���ߐ'[��dEܢ�� u�4�f/�I��ʳ���_^,��^��fU�o�T
�W��nۆ���o
��rt�$J��
BD��e__-�25��-Q�
$G���m�r���k�;u�M�8%�����~̭d���O� 	r$/y�Z�|�7�+�#�F�ak#�
-��r�&�/��|qU�+��4mDKTs��*)����MEfH�>��ȃ)N�ݲ|N7
k	%�B&t��r#jؒX�7��|�\�͛�_<X� �ӌQL�s��.�QPS����t�<s�P0�
+��"�� a4�3 ���ͻ�P*t?aVMU$JS�%��깱j�[(\sF��^E�+�R�i��
�
;2i�.!ag����"w>���Ųg�G����%v�M����Yp

W�^�%�:�E7h�V��`�
���̤��‹���X�X
8w��m�:}���\� ������Ǒ��e$���~��,g7��
>�,J�]�,�&�
�
�_����=y
Y���?�������~'�����
+�?���
2N��&� ��5�%,~�0�KFcr��+Kj���i�2-��=�d�`�`����
+t��3p�7�JrC/#�CYfn	J���
+iSR0t=�|B�y�2�?�l�+7D-�eN �A
+1�Q4M~6>Q��1��%�c��W롂o2��.
�e�&�?�f
+�n
��lf�,i��Cr�l��� 'N�����ހ��bB&W�5Ik�`�
+7ׄdq��!�㌧�V��Zq|	��

+v��6v��
��|@��bz�}*|o��XB��q"��v�;�'���S��i[e���$J�6�m
�о>��;�v�ep�t1-�ͯ�
�I�(�
̓oKz��ؤ������0��Q�|e0���4�$:ߜ50�nE�j�u�V
!�J>�
�7���S� 
���� ��؟H�Y�����q7}�U[M&���k����`ӝ�Ϛ�B����l�y<�4�D�k��M�G�5�CF��Ӕ�Kp��M�t��;��[�0f��T����P��Y�gj12�$o�V*���[�<
p�P��A�w�d�,�T��w��b��l*�+;��e�u���
�B�{��Xb�����
!��&�2S�Cx�0����I���H"��K���z
���虒�(��JM�{�lB��l�Q�V�˻����P�rHI��_��d��RC;u���	���,rK"��1F٠��O���2���2�=������_��~�0���]C A��.���Ȼ�5���f�]�%��1��1��ć��w�-�?�U>'���O��XW�b:�Ij��T?v��

��c;�*^�㳢�UK�]~kWrڄ&�a+>��b
����׈Ԏ��Ye��u;r۪�(}�<&L�"iE��`�9np��
`P�/�K�אŏj�F��%-�,
+�(����u��4�2���>�L������m�UF
�e9
���Z� ���u�`'�f���{�gm6��@���n���h�A�����X^8��
��uR��4r�+�E,xV�-�̽̒���gIz�ѸT�
�`8j豾6s�*��4aK�I��h���k��&�|s=��د�`L�C�}&��i�6
+�*ρ��Ҭn�h�-��[Q �
b\����щp�9�Ғ
�
�	鯈���ѵ��o
�|�x�������W�u
'��@��c1���J(;R�
��
�,��ײ�|YҴ�b}D�8d�ޙ�*X%�u��
��x�P�#2Q�a:�Y
6�r��
�A���y�
�{��d��k"�\��똳J5�H��3[Y���J�+\��:![[n��
��9��F����Am��Q�m�<��1ܪ���9�|�e�u�m�5*���8C��.�����ޏ2��E��k'F�������O�Z�T����F<���S������
Rs/š�-�	i��&�	���s�qZ��#e
��bkt��/�Bd�P`�̒�p����ZN&��$�M
C2X��S\
�6���k�|�#:&�9�I�_c�~�z�,P�i�G_�_(j��2T��"
�g�_��
�/�"j�$��{��C���c� V���CMG�suL����(�%/&��D�&���YzR��
�fl"#�$`��y2���PC�P
�f���r�pV��P�g7&����7t��g��
Ǿ�:7���B�ڡv���9v#�ެ}m�v��-����0oWr��m�.7_y�~z�K��H��
ϹT�
6Kv�<$x�

�|\�H��|FA��d��YQ��1x������}�"
S����J�»��+�Z���K^F��Է���Nb?`��DŽe����QY;���ի���2�
��[�9ę=m�6>�Y?{
��[,!�Ҙ�k=�N�Z��w�|�[
�,��-4��T�C�B��8�px�d$���,���B�1���v����G����M�E���-�|R>)<�h$`���|��9j��iu^�
!��֖��
�:*�(A�D�x�Ҧ��̐ϛT�/"�������ê�,ʖ��P@����`�wk�����Nc�*�.��p�x₏��<
!�!5��ɿ��Ϭs�h9I[�&�����N�ׇ�+����-B�fB�P�Yu��'8xk&ܨ�7
�
��p���{
+μU�>��9`
�����Ouu����6��X�w�KtFF�Q/�h༳$E��v���9`�͗�7��IJB��M����t00A
BSv�
��$�VQ���Z'���;�)��;��|Q�AT�n�AÒ��/�.D���%!��j��p�_+�F���.���3�A�R���㌍ȿB���@�3�����}[�.[�jHd�H
0Z��9m
+�pxʮ�t����C��"D.Z��3�e���{�
+�
�o�j���k�
 <ew�
]S��e>����'��#Eoa��?<0���*
+A�zi����I��7�%����+�^voƁWpA�$���1sՒB�^)F����b��z�)A�)ցwT�O�e��O������{�h�
+�S�
�R��մ�|I<MYe����,����|
=���M���.����=����c�@�)`
���F�owN�vF��f���N�^� O�ֳT�6+ꍖ:�!�^'4�e?�J[�U8��ȹ�Q�"1�f����/#_q��Hl#
� n�9
�����:��.‘��o�{K�op[W_��T���s>t�9qC֨Uz�v
v`�7��J�m�Cf-
+�6�Q[� �f
G�3�'�@TE�
-�@S���o�G��m���� Ԓ�
Eo�e������sQ��+%=)\�Zj�#Ɯtv��s'E�y��#F��Z����)_tR�YJ‰�M��H����aN!f
 3���j��޷qg�7yS��d�B��UST��S��O�7�
��C�a��6.m�m3���%�T�nS��F��KV?� ��BȠ�>�j�	�T�1�o��rz�#
+�wS3vM����&������i��LMS��
W?">���|���x���� �
+f�zB8��������fN�1$�����欱�N��L�k���J��|�
�I��:RU��=�z�l[�&_q�A>S�
��'#��1�����Zj
��_��M0�g�9��㙺܄�j�V��W��dY�Цm���\yt�4�<�<K���
*a��`%
�����,������nE�0��&#���e�ے����*�Yv���餍�I�z�u�{�A����J@��No�t�< T��?������
�
J̈��3oC�a
+ԟw�A����U欗I|��r��m 
�t�A��3���j��(/Xe�H��A��Z
ۍY�����i
+p S��lN����cr����b��$6x:J���E�;c�^I`Ϲ����M�zv���=�q�4H�9�
;����R11���msc
�}XrEЫxO�EƁI�u�k;,�Pw����l�)�ֻ�i��9c=$;�
u�� z���@�����
��H����ߣ�9w4W.��F�'G�?��|�ZP@�;4�D��Io�8�n�+G���3�M�6S�"* ڒ��Dl���)~�-4(#�?�,ǰ�oN�s<j�ݬ�t�wyvѽ�m�	QV�9�5Fg�~S%��24]8("`A_ϩ
i?o���C,-j86g^����Tʱ�b�_�K�F��ք�ԕ�Ʃa��0+���v\e�f?�����#�N�~��H�ȕ��6�ٲw���׬��.�ۿ"�/����=��'�ı\H
�6��us�_
���xp����'Y�5	B�ν�p���7ck�t	7���k�Q���j�
x���f�A=�=�L�$�P�:yt�� �z�Yi
h��W���m��1��8q|X!%��^���2��}D����T~
��7v�ϧ���;���K�]AV!�9�]���^
D�x�8�������0����Җ=�Z�K`�
�W>��r9 ��P��}yk��x�t��+�-�Tdz��
����s�ob@��z
�U�~<E�4��;�SC?dsX��t
�(w[�x��-r�><�	JB�sSp�u�
'��Y�x����`�u�ʻ�P���B͋>@ͽ2�V��k�%?���y�4�1���~&H�bI/J�U6�B��
�dV����q@u'�r�q��������w��

C
zj%?�����P��G��u���X���t �Ii=�%� ��0w�:�l"šŋ�:ξ=��ƨ:����^%��P�G-�
���nS�&�zzRP>q�8.-�I6���c�pۿ� ����\���$���?�*�u����]1
70�~�#�3,���cSMh������-!� [...]
+��\�N�o(u���嬰�d�C��.WAU�.�����h��i�}����7=� _{��6��>�=�<I��Rc�
��ԉ���
*Z��[�?S3�
+/�Q|�w4E�=�h��
�v�aI����}M���X��,t�v���R*5��Ypm�VRzৌV������wOf���@�߄RE*�HR��>S{)��r��]�v�J��Y<DP}|��6�|)$U��{4��ߟ�E��+1�c
k�wF�j
+
�����V!�4H���,�?V��*�3�����P�!�N!��k�o`
+
Ó5b��z�zI�'3�ͺ5��T���@����1��C�ja�J���������N��f�)
+�D�T�s�6��bѲUi�=b����;5W�
���JFm�\�{��#
E-�
FZ���U�F�‘���L��_!�R>*u�nmhBCs���x��R�
+VOJ��l�<Zi[*�GϙA#dj����%����j���c�^�+
���o�f�������C}�@o|���&�-ńԅ�nĘ�M��w�"a�H�+U��o�
+����	����<��R�X���4����3H
�.�S�c���kE?��Y�iP�s
D���6%�ݧ7J���
]	��m'F)�q>`�	gӎU.�X����"��M�
�m�
ې��#�K?���|=�% @
+�}����ގ�r+�apc���t���n�`�٧]���

t�Q��
���V�h/u�W�J�W*���b�K��[�
�FqIj��j�[�hZ�Y62�0���������RD��
�.O���^�
�3��	�O	6��h���?ۢ����&����n�//��ʶ=v�La\�\���u:p�a�o
�<?�a�y�]u
� �4���G
g�J�'J*��
n�,�ڠ

+�����8�~�y����mL��3^��֭���I�
��'{���g�
oό?������X��OOZ���z)�
|��oZG����B&��4�Z)�o=x�
+U�R4Y�����z�y`�MT�xb�d�9�;!k�4
DJR�bVJ�o����Q	-�if
+��{I�L
N�PK�QH��|w���Q�f,���@�5c�.�4�
�/��+4�81�2����~>��
��9�[b�sD����lԘ�)#M�-J�2|��.n���4��i�ATC���*{�����j�5�i[�.&~o	 n����Q���
��˰�6I�g�1f{$�?-�������V
�o���I��o?��8�)
�Swn�����
ם��
�9N�:����kH���%����ՉQ�Vͅ?�b)�I�Mm"?��4�o2~mL���T8_m����^
�
LK��F��.%��#
�q���������	;ji��1��|)��c��Q&
�c�g�s��z���������A�����K<��k�7�[}�z�DW
������g�m����$�ѕ�p�8�i"�*͐2�����R�~+q)�Y�	@
�qM��{N!�7:r>��#���O/}�}��ɺ3|͈�] ($��
�[�Z�7�H�XI�D7ȤH%c6�¦�=�F_�
˟x��\�uѰ��c�-Nfկ��1N^�<�E�y��A_��V^>\J0��	)�����~�Gd�����WnZ��+<N���B��y��L� 1%�[&�"l�>!�9k����iE�4�%�t��F�ޝ2]9d[9�j�%%�.b���GJ��“��=��� �*<�\N�q�����]o��(��{���{�;U� �´23)���d�B":/��r�Y�fy�;�jmi9C�&��hP�B{��$��x�pL9��̏e�л~-0
�Ae+��>��L���l��=��k8�d�4W�^�30��{¥�q�1=a��i�X{�����7��܁R� ����/��MQ�֗��	?,���Z�(
��(:�5�oϕB�4�
�X��Ak.Y�\�8
�%SF�֖��b�w��b0 at .l�gˈ��r��`9��;
K�U5�����`�zy�y�UE+�E���M̊�T��0�ꒌ���,�7Q��|�W�UY�]��L;�5��IrT��n#����2F�
�h›�f��+y����f�CZ+�͋(JQ.�cp��P`��N�췬�SD_VM_4�ho�L���Y�s	��6뭧s\�����J�ߝ.fy�H��US����"�fe
Bh*i��[n�!ԖJ�V������ƀf�(
_��gѭ�6Mp}�ܟ:�F��Ď#���R(��Φ]��DQ.��O��[K?����yrh{�ī�Xy��)��$ٵ,dZ��#K�ք��ܬ�\^��{?�9�r	
���\8��h�h��S�w��ņ�'���D�e��H8N�(��N�9��
т
�e�����䊻�ި�nn6%��D��5]���ĝ�gWj���D���O��(�2c�GpH���|
�����.4%��Wht'�7k��ٷ��@9��N-]�>���q�w7���X'>
�DD㳃v��N�j�7�!c���`KaV���nޗ�^�
�L��f;$�[�,
+O�~�'
�N��b�)�����9
»+�&f�՝�,3ޕ�����B�q�a�߼%�z�7=!���e��m
�c��!��$��\�%S*_�qȳF��ٺj*�|!���cs�2P�n��^��O.LL��'*9_���W�N�=J�ᎁ���^
f��
+�� k�3�0�����wn0�D�2Q�n��ׯ���@&�R$��&t�
�#��thA/�U.$
�a�=L�]䩔bX�S U�u hL��R!"�M 
���~9�uw6��ܞ16�s�͕磴��+�	��g�� l���lT�������āBm_e�I�Y�~�{�j�� 
��ވ>'� W):�"��"�Q���ۿM�"b=[�� A��|����T��%d�����K_L�U�~�XB�O?s��|Ja'd,ȟ�����p'�h�>���� 
���R2=���n/6�Y�M(��/�58	|rr�s��N><�D��q�/2�L��[�QVyI��+?P�����.AH���Lb�?s��e���;xBݚ,�Np��VV}��1l)e�s���gD��
�}��Ϊ�E��P��{l/���i��䖏�𞙮 ]k)v�>�u�,�Ԩ�#o�
[9O�
(����A�ƣ�4��Y����Y�+���
b ö�5s���xuѳ�
S~x��0Ϗ^��3:����& �ʸ�*�iSP�eGQdݾ��
�
|r�j�rH4G#�:�o6ש w'Q�I�>�G�À�@|�f�G������Z�kJ?�6�7�R�+��G��R�O��xv�3����s�h���u�aA\�N�>��H�!g�*����~��M]�a<��B����}#�D8�C�_r�<�0��V����Uj�C'��M�UL<�O~9
���Ƞ5K�v�V��&�����]�H1Oi��E��(�������	B��� ͽ�G\67Q�:�mQD�X�����,E�H�j
�4]����My��w~
A����1Mzԛ���Τ�m~��F%,W�\�ryP�����3O�{*�6��Ռы3X�X��Ώ�1�]��^�x
ؐ�)���
�jPz�������rd�eK�h
��dY��)Kr7ecAF	�Pw��h����w�ʘ|�a`R��o�-�$�v�Ș�j��4�5�
�>��SVe{�ROI5�� I8���3�	S.��c����N"I�abb�T�->s4>��)>��	��g��x��I\/�� [...]
+(v�*�1���Y"?�Y�eP �P�x�7L���Ս�b�;m+
�
v��|��8V9+��&�N��n�?ķY@��*Jd�)��l�~}�C����L���!���
��|H�^*�H�=��3U_�Y��}���������O�!��ik��}[����:��ā�Rv�S�!�����n�c��H��/aB6C�ʧ��Q���
77��6(�(����J<��
Rx	�gG�4�
�G�"�,�-� N"��H��^^18��1”`�6F���D�8ʍФI�~�Ls�x�=Xmۮ�;,�=�
+�z��H#rr�1uu��vf�W��lvT��,_�h3�K�J�ֆ���X>}��a�~�����0,[��*�P���n��57�ॲV
:������N7�5�U��=B���H(
0[q�4���<��g-(��
ķr�6�Ax����w55�˵��a��P���}G9+6���-��
K|��[b��j�i�d�̷v7�z
+�ѳ��u!�!���)
�%��#8�`T���?�4#�ᅧ"
F���/�U'>
�a���
�d8��$`�Ɂ{-����j��Y�(�&���$'�v��z��yjL��r��
Z^�^�R��
r]B��f#����S	M*�E��
+@<�7S��bN�܌������Fp�@�X�~�J��N]�{��E
�����q>z2
���ɸXaX�!�
h�X���r����Ŕ+��k�^
 O��7z�
}��j��DƤ��d��%���z	a1����k�$2� a^
�S:����(��q�e�h�]

z��2��o1�z���$��&u����NX�䂚��")'��
]��#��� �"�c9�vY���;N��rLj)n|�
�n�LN��x"oi�=��%-�FX�4?�?(�
+���c����l�x#�����BZ��0���{L
T
?7:_,s9t�r5���FK�
���:}�~*�ɷI��<d��s������h��
�����8�UC
&�g����K������O�C�$�{�~�n,Βj�`���u�	�i),�z%AWG�e���i�����[2+?��Ȫn'�0L�� Q�~�K�
�����T�q��ƹ��B��Z�5�Ð_�
!2�%���
ۋ��
c���l���Q��!
&�~�`
Ɇ�`	��!�
+�
}�ւB{x�D
Z��ʧ��U�к�S�)�%�b�o�x
L�pB�숌�W�w����ٍDA�m���	E<<�
�O
�e��z�*�=N3�Rx�qO��A�3[�]������ޮ�e�a��H�{H�r�]��FhV%S�9x�r�t�à{�! 
��� �f��ߕ��sr��g��f:>��P�3h�k����e"sDI������R��(�Z�At��L@�����^�q�:>��>
Y���XI�� r��su�Q���=�G(�$�Ƨ�]�P4��ҿ���K|�;H`io-�
+�-�U,ϖf�q<���R���
��EySɆ���L���v
�ҳ�b!J�HL�g	
+��Ι�������$UKӊP>��]ZY�e6�J8qx��g�
+���n�w&tM&!O9\�*�
+�@��A�q1�q
=��
�zP8�˘B�
y��`u�<
^��9���''�0m��:�����^f�w��Y�5E��
����FV��Ÿ
�"��G�`o/��ӷz}���B1�Bfh��–:��Ѩ�+(�ݲ
\C��,��`�P��f�a>,Ŗ�nɺ���
"�϶ҏ��G����ر�O
�B�"ux
1LR�x!���=J��S�:g^%tv1.�$I�T`�rٸa�'�F�(�S"$g�#`��e�@���a1\z�D*�d!�I�.��+;}
GK�	]?UA��CpUó�%������lH�B���7V���W���dб>��d�Y9���nm����8�������H����) �O*��=����
Q
����<B�W���|�$����1V�e��<a��e�P��������9����#/ES\`���	�r/��E
+��g�rlU��N���I
��~������
)�L\��c���19�	�0g\Hr��,���Q��\��VH��TB�}�e4%
�v��v�1��F)�/F���p�������/R9i!z�9ԡ(��)�jh��� ^
M$�!y���6��E.��]R��g��Oj
��3� �۝����
�m��¾��_%[�X�uӦ��6-��av" -��%�
�+�%LNuIB�6���������Il�
�b��,n#y���xi�
�B�A~�������W�I��0�V�,�ô�9��ړ��`�ݖŒ�۩^e�7CwԀ
��5�hy+�
B=ki��
+a:�S�|Z��\:1(

+Qߍ}4\ʯ���G2��
���J��	���}��D�q	ǭ�g�7�w��E̖D:�JZE��.!1N�*��
�,nܾ/�o�V�L������K����7z_Ms���w%�'��� ����
Tv}��
$	���a�:jЎ,u`g�d�*_�+cE�"y�\MR�Y���f���&��"P��zs�)�66
>�˙-W-ܹ�WU�䦻��s5��Wo����A���0�8#V)!LKh\�#�Ɂ+\m
<���N�&�;r\�F���j`�����Ș�`j��e� L1�ԍW �h,�m��a�n1T�
�H:�友��(�G��PڀX@��gNՐ�`
�}?b����)���农H�"����zU1�r� �u��T�y1��yO"Py�+Q[�&>���n�D��0F%�<Ȗ_9$_�=f�Fbh�����1����5㔫�!���g��Θ���
+�o���Q�$�4��'r�ߋ��K��!�ITN��#`"����q���Qڦ}��Z��k[�Ba:�e���Rf&�����
-c����t��K�Sn:f`
7 �4�S��鸢h
jya,C��B9\�
�稠�'��r1R2����];׃Fn��P)g��͛Q
8���v��3y
+OI�W�wFTJ c̤5Dg7�>���6e��h2���X�p���J��h۝�h��ӈ����QLh����1}`��,.�X�8h���Ҕvq��`9sR�<RC_���a��ۓn�c�e��S�����֘z�N�^)�~�� ��P�
'�,#�O�T�,�
+&1�K�n�,X���Me
+č���T�4���Q�6>�	�F�����}�:�$𴑧IϮ�����dw@�C�	s�a�}����[�
���`��J���=� �C�yF%ib����v�
����E
5�pRS�
+�K�,Ur��M
�
U���⑧���S.�<a2GJ.�6�FJ�)2���s��<tB��dT~3�흭�-%�c.�Q;�nh�I?�R���k%r.�6^E����,6π�=ɼ�M��e�x��ً;���W~!Ih�,��2h�<�Zb`
�
Wd�	5j�19�
wTі��l��w_:W	O����0����Yt�q����Z��id��ِc�hS	�?r�,��q�
]�����0���6�<���5:>#��Ͱ<6c���R
m�#L�

+���,o“��^|*��	���e/���*K���c�"���
��A/<�CvA⢱�2���L5��y�s����*��?�
+;�'U8�J�cM!>�̜�P��ژv�K\
K��@�� �m�
+7oe{�
+�c�_	'�>���",൑e�]!7��
�Gv,P:)�c��!/����Ykyq�L��Y����;�,��e��C����)A��K���<U�s�

�n� ���4�d��#��#��"꽲��a�yHI0_*<fo_����B���E�nu���ks�
_�@�)��X��1= ,�8<�t�
j���R�e5�]��X�9�h�/�Z�=\���aD`b�h��F��1��A�/z���G�
�>�+�/���
lj���1?�fJ�
e��#�Ϗ�Jw��C*��t�4y�B,
�
WP�
��蘻ڸ ����~
�{vZ������
��× �N�Z����ՉF����Zu�7���²�Έ����K�2�e`���{[B�jY�-�*hP�EfI��ߐ2�ʆ�����3�
�]� ���	�~��UjTc������9��V͔8�Tp��g����`:�C̤�j����ScH�FJ��YHZ� /���n�4��
@�!;-�q�M��-M�p�3��
0
�ڲT~ފ�3��6�6
GvS�Mv�b�%��"B�G^[�])!����`�v��Ń԰�o�a

��t�����HR��"�R��;"�5�����xROO��vF5~<cQ�*�S��h�8��Р�u��&D		�?vRu^⺁%���
T�{J��T��tisE�M�u�
��^7Qx˜
D&�~#
�93�7�+x���ԕ+DT��:�f�
+�a�L&4
$���v�C,���#2Ĺ�ޓ$+�v��(�c�-'�3F[H�bs������4�cd�3.���:-˪E3�׾��/��썖���3��m�	���|k@�8	-b[���:ѝ)D��V~A��f�PL]̃���b�JQ�:2پ�b�e�#d�	�	��#�4A�
 e���_����
����@w1�9�
?c��
D�3[�?Te��4��
�\t��(��
ls_džl'˛x�3�#y�rf�Tr?ש�	R<Ci"�M�{�n@��ጶLտL�����RI����<��#��m�as_�-����c��#�(���2%����`�����i6F�K9���N��M�M����^vo$PE�/�d�c���DX�X�%xbJ�8Q�3�3���q>�tX��R�Ϭ���Ë	5�[�� ���(�q�ϵJi��?��\���<��(;o��s�c1?'�����ɚ�lu5��γ'Y�� �j-7%����;�+�
b�]�>N����D���E�ӽ������y
OC6�����dzX>T+BW�~t����oS�)!�
�Iq��מ�:�\�H+x׽f�9�H�H
o:v��Rӹf)c'&V�5{���_���^��y�nF�F���+S5���Y��
+'+�u��㧂m�µe�2�}�g~�c� 
n�O�kk�G���(���#ݶ�.\O�Í����+�#�Ϗ'O�W���f�޳#V%C�����&tJ3�
���K�%I�'i���`�j��R
nŮ�/�f�b>�8V��p�XÛ[�_\G
�J
A��d�i�����QB�\C��X�L�xg�����(
z����jo h��w�������Vԧ���ܩ�4Z�I\�rH�N��]D�Ό���  J��{�l���'�IIJ<�ͮ�b���G�L��
+�@�Qk�n7
� �4~ֲ��䬻���nj��ƸUh*�9��M�;�
+WR�NH��B�.�Gw��d���6��=�q�u����� ՄTM��gK�����@�nw�o
���L_kC4*����

2P�>o5_G�Z<'c��}���	ȅ��7h�	xB3�0�i��\J��*bi-u3����0`+�T	B�Ȫ�Pk�R�a�yo��N5�[aI�<p]W*k
T�fO^?�{
z����xf��T����<�o�>Fn�(Ɇ�� �����3��Bc�j���d�`�������]���;��^ɬ��u�j2]U�������E�I������_��=$�#$���
+y�i��t�ϰ�v�_y��_[
+�ӓ
�7 W;��un
�
��a�b��dz䇄N�,�
�\��
��(a�=O�k�^����m�����<׻�L/�J@^���ɬ_ȋP��
+��~VN�΅��
+���b�ڠd(������P�r�V�(����E����$�ߪ9���
+�\8��0�
��վʂ7��{���z�-db!
�~�APt��һf0)
4�Ǿ'�ZD
+���͞�Oӽke#l��&�$��g�(}e
x8��̖����$�Xծ�^~��)���1���qQCN�
����]��|��
!�6�
��� �z�M��+�u�aQED��q�dJ��?�9�-6�D�
	������76��.b�%�:/*��
eՒ�O����_G)y��V��5�+w���b�Ę�����ߋ�����E�i�>�`��`���bn���n���;>Q�۫�Kd;Ѷ@%
��#�?d��y<B���D�Ϙ�{��`��Mm�C�ۺ��<t�.D����D
�Y�)��h���:I��sՐ1�_��#��
+�,��rS��{%$�n��q �� ��Ro
Aw
+�m,‹�8}�l���O��BU��"s\8

�H�z�wg��<�Đx��S	W����B_���>�W��a������r��ƻ+
 k
`7q�0�U�RU<-zI��.ts; ,����=#�������6��
�����Q@э�t
�2�c:]g����(j
�
e���[L�k
���uY�-�4�%ەE
��e�Q�S�T�%|
���D�o���r��\
�e��v���–�u�0��I��N7b��fǷ���x
-�^GeB�6O�34���*P�T�#�\�Z�g�dSF�%
+�>��Q=l��<����;/�B��|�+2
+&v4)��T2�
+�2A8�J����#�·��@���(V�1R��,�<��-��Ł誣�6���A�p��ue�efX}�n���0Imhdi�A���j$�
��J$ql�/N
�����_��;�ٴ�<��k��9����R����f�D�E�H�3��].yj8	d.G.�
A	1��fj�7�9�-�Q�V����+p
�hJ^He��q
+���"sU��âV�'{���-W�vr������b$���v�X�y���f%��>i)�x{�'��`�5��ϊ`����EJ���r�c��M�w���k���J����Y|d���R{
翱��^m'P�=o�.������a���d7Q���R�fEj���q�1S!ۆGXVZOM"����,�6%zM���6����ܼ��5|�����J#9��Q�G�	db�����
ϊ�NjA��9GY
D���W�o��;c��Q
�KY>c�hP��g�G5�&�����Ƨ��
~�c}E�0'JEoOW���5��15\�f�9i�p��4�E���N�@u�Ż�2;�qS�.	
!W�����U<%>$�f������31����}�g}c������9K�rP��\�
=
�%��Z��i�O��ˮ9k#��H�)�[%z�����N����W�����t�93�of�� ��C�ծB�ٴ�&�@Q�]�g�
�,�L���f�/�����R�u��v��UG Q��� �
g�U���ϋ;w�Az�5�H��T�
+��H\�O'JE̶m�����
u?����8v���A<J�
�U�%iM�m"G�'��h�������ʧ��1x�k�B^bf�Љ|�fT!5`�����
+ґ� �$2���%��D�P��y'l�/eC{������/
��NV�c	Z?����a�� ���
�Q�X�.�k|�S4�е�0d�e�%�`/-u�� c�`�z^�6���E�,
���xN
ٹ�'�j�N�K���SHR�ꦑ�+�z}�<��F�LG���6�!Y���L�O��둽�^�}��D!PԦv/_��Qפn�-�
�6�]�<u�M�B�Tp��e� \��*�x�p
��P�+4y%�ܻ�D%xґ�z^%�
\��/�(*i�ʩ.�]��v@�EZ���ҙV�!��
����B9�Q���;���[l^I���#hzi�
����iۧH}e�"
+0�Y
����p
��O�c4�
������s7�A���T��7(���d����F�g߹����|!���
�>�<#a$a����[��J��P�562 87��d.���|�ǼF�����YeqĦ�{O,�-������˭f2����I慅�&u1L�a��(�Yl���G&�!أ�Z��:��>��c��'�����
�Hm��>Fܪ��k�X�>�����|�RJ���s2����0%��
���UО�TC��D˟�/T>�u�خ�.ث�]��������YK������4{�ieS�Ga�TQ�W��6J]�I��TǐILj'$6�8	� ":��S��O����r��

���)ɰ�J����ժ�2����8 �/��N�k�TD~����I�
g
+8َ>�O����=\�w0��Ӕ��߭����*+�����8��z�8����
+���D)&$�DYV��1�rE5��a�
R�
��:Q�kzH����@s�ZK�[��['�%`\�rvs|�|�"
<Ұ�t�΋4ׇ�b%���E��8��Mފ���7/s�b�YadC�#�wP��p��k셌��:D_���mn����-�����-��ޖ�U|�"����YM:���|�O[��)�y�fY��RD�
�_�	�	zDz���s!Ƣ>�-T����]mQg���G��l� �߈�K����s��dˎ	��}���0��?�5\�'�����ߓQ:��������'��l�:
+"3 at C��?o�=����z��އ�5��\NY�����T�t at Rɖ�܃�
˃���wq�����+
�o�z�`
+`�{
�m1mb�q�;�J֩����Uu�x~����E>lV��X�-�7%�>
�i��
Ϥe�"p,
�Xe��4�ZR��V%��D?騹
�Q��4�-d�R���6|���;����ɒЅpZ�X�d�9r^���������Ɏ���V�A$D#{U
��
k�O6�
{�Jj,�R��׹[M��V�<Y�WVC�7��zX�{
�<3=�;��3�S�L<�\�F�e�
��A�ۜ��&;+y���`�6�!�%�Qx�]V��p
t�a^6Uk������o����.�i�Z��5%�
�M��Q%�Z��<���X�=����n��$�����T�1?M��^xZ<xa�%�[�"f�������^�
+��X�K4�$���-J�v36�����B���wsƳ��ȫb�!�S�<�B
�@Nr�[��i�4��Uس�r��}�>.Y�� �H�`�� *���̮�[	���	�SQ�
Y�Uw���ɞrj�v
+��tz�/�[�'�Ns��^�{`�
+�+��
���
-[�[�Y�X�`C����0�
/��Ɯ{��;���Q�s(0��� &RȢK�R�#���&(��B\��Xߋ@��}
��^�iD����(
&��mta��`���Vp��&�]4��s1�j�B'n/[�d/�t��5��YVz�3�u-T�G�/����
|37�=����5�Io!�!
��O�����Clx��V#}g��!X���&�7�U[[�xj�!��d�r���Y�h�S�,�:=�R?�f
,]�q��q�:��Ż��@��^}��[�Q	��N49�'���I ��A���Z#�������p,{�v߈�n�:g���g�""��
:Y��q� |����G��+�S���$��Q�
��|Ey���f
���u�V�΅���S���9A;o�s��GJ�M���k�%O߁%���'�0�4��P�<����X-���ixX|f� }�Ko-O����w��jB�a���X5�Y9����H�_*3�;B%R:t�
�'T!�����>��S
5i{���
���<�
���B1y������S0��
�
+�2�C]���AY=S�
"�����
D��}��G��H-�����N��C>����^b~B��!��
�&���?�T�w����2�`��#��UE~�wz�G኏
8n�!�;�8@]j��<�ya�kE�Q�
W}��xQ�� e�-CMW����
��E��%��f�R�X
FBQ�
���0�Tߋ�kW&�Q��IPC1aA�\*�s�r�:"1^
o �Қ�
�x=u~_Ӟ�O'@-���D5�{k�
��7��i�ȫ��"� ��|Ru�5v��.�����B,̾
us�
+
��Y/Šo,-G��D��D����**�g	0=	�G����>g�Kۇ�7����1�RS�/IRߞ��@��t(
;�9�M*ȁ�W��*
]�Yʓ����܁�\���>i�u1t���.�����8SN��iH�(����fM�����x������1�����YR�ݻ�xT���7�nM��9�[
+�B�[[���=���T���`.|s�3N�O����!��Z�/)3nДc�E���#�#�$?~���[
+0��:
�D�轰^
>�֮2�@�
+[���c�І0BiU��وX�ʺ���	� E�
|�Յ�IC������Ŭ�/
+Ŕ�Üqk\��)�#m�
��|.�+<J��$u�\��Ƽ��
��º�
���龟3�_5f�h��W�5�rU��ֳ����\��OJl�%�g�
 圝#c��q4��G�;��I3�b:�R�.	���d��$����7�S�8h����V�
ѫ�\���z�LڼX<;k�';�Ш73OD5��^hYM\��m3	i0�Fd�`D��"�G[��[�ԎeJ���]�wE�J�2��[x�W��$��.�+����~�`��
S�����t�L���1��uD?`]�3[PR��ǭ�{M��$�S
�H�c?q�

��m“pi#�#��58t�6H�.��Z���;� z}��ƞf!u�.O��q!��F�:�����
>_/o�<p�ސ�׬�c�*�F�h�}˹1ӫ��K8a�ځ�'�1p��
+endstream
+endobj
+13588 0 obj <<
+/Type /FontDescriptor
+/FontName /DIHFWX+NimbusRomNo9L-Regu
+/Flags 4
+/FontBBox [-168 -281 1000 924]
+/Ascent 678
+/CapHeight 651
+/Descent -216
+/ItalicAngle 0
+/StemV 85
+/XHeight 450
+/CharSet (/A/AE/B/C/D/E/Eacute/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/a/aacute/adieresis/agrave/ampersand/at/b/braceleft/braceright/bracketleft/bracketright/bullet/c/colon/comma/copyright/d/e/eacute/egrave/eight/endash/equal/exclam/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/numbersign/o/one/p/parenleft/parenright/percent/period/plus/q/question/quotedbl/quotedblleft/quotedblright/quoteleft/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
+/FontFile 13587 0 R
+>> endobj
+13589 0 obj <<
+/Length1 1647
+/Length2 17999
+/Length3 0
+/Length 18864     
+/Filter /FlateDecode
+>>
+stream
+xڬ�cx�m�&
�c{Ŷ͎:��^q�ضm[
۶ѱmt����gϱ�o����}�Wᬪ묪�(I�TEMm���� 'FV&>���cgGe�
+��r��@sg'#�_
'%������$a��h M@ ����� nk��`in��QS֠��g�O�?& c�����t�4��~� ml�~ AN!��
U�@��`fi�+*i�(Hh�� R@��oJ��6�& 9K �H
0�u ��� 0��Z�S�#�_,QG���hb��
�f��G� �:��tt��
�t�;���ށ�-�db�l�O�f��J�����ŏ���`J��N�&�vN��Q�$$�������?�
-���f-MmM��)�_��0�NF� G����X�@������������
,�����%��?3` 8 ͍
Lm���a�b�s;�Y'��������_޶���_9X:9m̘X���4q������O�Ȁ�l�,���:������
���gh�&adj
�q���l�����߱���G���-�����F������y��В�66
+F?�6���
��1���
�ecc� �g�X��\�~Xڸ��������Y�O����wQ��_�Y9�8�-�t��t�*Y:�X ̌l�^޿�j S���%�����_'���S��4����U@����/o���Y[ENTF����m�e��+�T�퀀�IC���
���ux2�r�ٸY���q�e����	�/ ��<�99X�tX�XXX�����I��|�ؚ��G*NF ӿ�����M�

�2��m���8�k�@7�	�꒭	�UZf�S-N��N/+�p�]i�jQ�_�m�oZ�o��{M0S�4ߟ6��3��Y���^l��U>�79m_�&U7�a �~)R��F�����6�6�����we��w��v��'Z?r�?L�G;d���X�N�F0��³s�ē�G����ᡞ���XxJ~($�H?�
am�
+�
y����_Ük`��
}i�/m�`4e�;P��+g�
���� ��䞋��������*�<sϏڒJ
��&ź�]iu9@���ķL;�?Wi�[8�~��Q�]���9�X��z@�G`��A� E&W%���{5���Q�j���K�!҂@1q�d!I�&w������i��%$��)�
�,-�X(�Mi�I~spvp����J

��N�� ������s����Y�= �+|��[!A���GhV/t!8�(�mh��2;�B�'	
E
�_���l�I��~-�!^�ȯ�z�S
+fʺ��
c�"�w���&���C�"�5�$�I︣,x��a��R�i.䛀9��j�'73���
q0��3:�N�
�>�5	"��y��E��(�u�܍]�1*���lv*���;�o��yj_}ރc��roO���Q���ZUZ��[w 9�-\�Q����OfT�M6%],~��:�

��bݠ�:�s�G��d���/��bb���[��4	�(Ί�
�
CtP��
ȱ[C�Z�
.A����~��ʃ^Ĉd��yW5Wx�)����Ŀ�/	��߫w#.4����q�7�
�����Yq�<��s8t�GDs��U��W��ov�h��a�еNrQE
+��%y4��;g
f�on����1좄�̻��ȀnV>�!0��4��t�w��
�|_
ݕ��D��Y��q�m����K-��'T'<�����:s��F����
+z]9��1��iD���ѐ�(li��� u�=�r��� �Y���x0oO��p���a
#k��an0װ�^�4|�m���$1#
���߭&�Kp���Չ��t�8��1ۮ^�YY,kKf��B���2�z�+k�?��n�$y���<�9��>2G�
�
2�KP(�D��A9�}E�ӫ
+n�F�e��Fː6�n�9c#�����~�����0
}��
�P`۲ۛ� _�̽�g(�
E�$��P��d��d�yԀʉ��|kۣX��2�cn���L�
3�S���-�����kK
]gL%F8��*����`\8v���`f�mnL�ޑd���ܒ�<H	��9R�
/7��\Hg\�g|��l�"P����~�t����Zl�k�������Ll�>.�C���՞g͘�eм򣊂vIX�b%J����h
_X��31/��4�xv
��p "ofܘ���\�~|�wh���]�yqLs237�^!e�'�
�6����Yx':����_�S����ꂼr�����$�󽋒8�K7��`�2+���L�
����|����yF���UK	�g�
ˆډAgGq=:oX�Ӯ��PՏXQC]2����c��E�����8ϙKO�yGuю�s�{
+�UC_���Ȓ &~|��i;Eq"�/fs��K�
k�}v�HI_z*���\��l	��Q��|eo�db!�uE����.��]��g�H�j�˚\I�ȳ�E2�"���
s����<�������1�a� �ĖY����^%6L�;�k5y�߹�~�=�dF���
�A
N��ZTAV����~毶��Őh���m`|����G��ؽ)Wp��Tfq��iԩ
>���1i
�|�/
+pPyb �ݰ-�$�
$ 
��<��pY�4�-���?�՛
�� �9H!��o�
�ؿ���@
_5���0E{��K��I�#D
� <l��
+�^'h�aX/_��O���;�5���U�/�����e�����ɮ��F��Ԃ�WW��� �Ɖ���2�zČ�a&s��55�O0}�Nw�R�M����9�U���Ro��&������['���
�S˂��:5k̖͔$�p�����
@�Xw
�8�l�W�q�6ML�l��Bw
�pHmS<���ȭo�*���=������Ө��g1oy�����i���'B�
K�ٍ���<�Z5~f��_'R\(�:ĸc�(nڌ��M�o�1�	nsQ���װ�gH�=���c$�w(<
+�
��S�)
�OƗ���Ȫ͍�~'6p-S'h�.c��N��n�
�qV�n��K��m�b��0@�8
G�/"��3 ��9��] b7��g�e�:
���U
����U"��֌[�\���"��_i���
�^,��Oo �0�C�e@��;��Pm](�=f}q	C7�tYv���ͱ^F&�}i�9Ǯ錅��{�Q�L:��G
Le~���b�t�,:R���а#O�;�F[�Cv�E�q���ֈ^%���[�xQ5�5�XF�k�A�
+wH�bkP�
+��Rnu�)��4Qv�r׬��.`0q��C�amdz
����_-Y���{s	�u�~/�--J��Iz�S3c�a�
+�$vF�=�/���/� hz���t ܦB<��b��m�!v����=*LR!��W-V3zmA�*�&z��eؚ��4u��]����z�:+}#W��E�
6�pHG����Ί�Ǒv5<M��`��O�V�;^R��t	��r����7a~O�$/�ʯ+w
�?
G��
�H�/S
+�\�����'�\�O,VP{�_�a`	u��L�%u
�<���a�x�Cg�!��÷Y���¦�
+��c�x<0�t�0Nl�F��o�'.ꈤ�~�%������\�����~	�zm�ݕXN�^)��{P��m,/O[0�T���'D��}p$#�f{��:��m��j/��
�>�m$��f%F��9O��-G�6�D�x ~�ۖ�
E6�m��7{��G����p)}�Pv�2�O���`uD��8=ߢ����/�V$k�?A�`���%�we�\\��<�OY���j�-p
��:J1���v��Q��;
1JAҘ�^/(�-�<5��$�X�
X
�D�E�z�5��#�c$������iO"/@BAב�NO����J���6nX�3�9�bg˜7��b��8��
��vVs.ηo(���{���_0����}O�?����:-�zЈ���8�jh�]��YD��7�=Y��
�l�6�e�WՌ�G
+�ւ��
�{8���3�|�]Z���DV�:�7F���~�.����$�>�dYT�5X���l�n�Xnl�|�����%���&���2��c�Y����w{��
��=1���"
-���]@��1W�W���fNu�s�
�����BI�rMc��r�ŷ58W�
���R��x(a��ޱ�g��`fǪ���,S;�B�j�]��7@���������N�nʱ�s�9��G
��f�7sO#by�KN�۞O���"�t@�>�vM����1�zH�B��n<	1o.Ο�?x���O��
i�0��c5��!I��<�G(s�U��̽\i�=v��w�;�A�
jx§��i��ӕ�D/^�˔���2��x
+8r�Y\�;*7(�]�b��Lf���%PH)��ɀ0��m+�v��9 ��;��
+����d~��St���T!&
+I'�dΖ��Yu���L�����X���?_�M�b~��y�������-z��f%�1e���ʰ�99�ā׃�DqW��6D ��
ܣ��E�nj�V��Y
+[���b��/�B��1֦pA~��c1�����
��V��%*��_��_��{��4�&<��R/����
B?�Pُ���m$��n�'�����έ�����&�k[��gҨ�����!7$B0S�\=[�L�N)y��a
OO�����Vp�R����]+�[F��À���l�����#2���
+
X�cx���X�ߧ�^,:�e͕'a��`�����X�Dq�u��	3!r���Ԓy�����_>�t����o��愭�x,����`�u��&8F�;��;鰩����,3��e
Ak#�d�_ĮDF�H�5^���> ��w��P=Bf(<W����ܧV��+�z�F��tR��Y�O���j��.�"�֝|�+��q��
E_�&sc��j}<��ȷ�|
�������:f�6{�����⹙�{���`K�Ö?~a*
��r5t܋`ͳ�����_��)~0��.@$��uG����ͷkq�
�}�Y�hc��ҝ(T�#U�W^�,/���5]w�S�@�RQ�3�
+H�ߛ��t�rZJ�
76O��b&���!�����'=
�,
��P�9�آ~���l�#��G W�*�|	��s��*c�t���.���Y�+�ڋ�1���x1S�=v�@V�xn]b[���so�"{i��h�
eo�޺[*��ݒ{[]�%�N:������ɸC.0C�HX��SR
�
+֪�;1��QE���
+�2�Q2�5��7_����L'�T�z�i$O��,��
��@O]u"�Y�s�Y�*�m��O�S��&#RƉ<m��u�fђ+k
�P?f��NP��6Y���A�L�w�릖0{�V���#�
�13֚r
���i��C�N��2b����ǢW��T����TCXp��
���
+��K��.�t5�����e
B���wڳ�M�#�F�a����վ�o �;q�
m�X���y(�N���򮎞.�
eջ��dTf
r�����&�Q9����
�2%{�D�
+�� *rrT3όtB�0!t�V��̏Pv�X����
��c��S�{�;
+�0^�����r��F���xhc�8�i3lt!��(?N�\$����ѫVo����-�i��� �Ұ6q/fܙ�
+�����������3�vy������Kf�Y\5��Z���V�5�4O����|��K~��B�S9����˵�$���i������E(�j��THr�S��$Z��b��q>�˟PA��CχIƧ�q��l�e��52�Pl|&���
x��/8��F�I=�x���þգK}�����T�q��h
m�H|Y>|���իGqTa�t����s;�/�����^�T	�vZ�4sPvL��޹A�$�} j�%-���z��d�9��4ٺ�p�Z�H����C#�`0ϊ�N&.�f�cʈ��Rs.�o��c��jown��4mQ�^k�>K����|\8�{�{��s� P�\�/9q鰜��܃
+�۔��/h�C\@�)J�@^��(�K��P~�ќM�nYE+mY���y~��9�햂ə
���(�)i+UL\�B|c��
o
[C�1y�X�vX�����gSU� ��0�9�f����_+�2v�R���6�����Fs���[�&�H����ED�T�g�B=x�	�R<�W��$z
+e��pv�}��E���$jTY���y�z[.�
�z+�~ UvG��`�R�<J��k
�e��&�-VSnh��O|o�����FO����l-@@애�ԖxO���zuZ��t�	x��]���T�E.*v^���D���g���']qI'܇�U�Dv�
����f��P
+S`�Q�W&G�Y$��dž�r7w�:xѺdD�ʯ�q�P��6u�
�r�=��%xr�
+�O	�=�5WZ�����Řh��<��{t�Y
U��3����E7\�[�6���‘V9�Z�Y�/��/b`�
���AUƎ`Ƭ
+5K����5P�y5��1�汿ܜ~[E��l4lT6$<6���J�p��<��2���*������bF�� ����E�L�/eF�����,�4;݉����ȁ��A�h�u���y�X]j�S��$��
�����"3<A���
���
H���]�aJ�홃�w�
��F7���AK��S
�^�
�	��ۻ]� ���n
�am�.wO���/E��<���ݼïk�3;海wk�[+��d����𠘡n���С8
�7f�U�����h3J�\���~�H�D�<���5�������`�39��/��Yq���?{i2~2��._�����؇�	���f*����������R=}�0�?͜ùR�+Rr^��޴|]�s��ه�Դŋ���.�^�_�>`�iϐ'4U�HHݷ/l�x�*��>�A_�q�`V��L�W�K&��G�7
>A��aN�@�b;|�*n��

N�
s֒
|}�)*ۅ�"�w4]|6�5d{9���zl����
�1��q���b������(v��c_�$����p�c���
�N�=��r�&-�[$R�`��_;���h��Lp
e��@$��aew�mLG��[���;=��@n�O����_հˋ�����yH�>��ȧI
�Pۖ��l_2	de����W(��~1QJ꒐��E�v|�|?��1:����֩ �R
+�J
���}< ~�yh�2W����e����l;YsSuy��N�@∩Ю6�ҳ��ix�U�g�R������RXW
g����

-���O��B��P-ϻ�[,��=�f�Ս�I�����H� ��8
+�Qi���ot}\
W����(���0��;j��4
��<yG�[e6s�V�S��_Hr�3�{t
��8���pB�$����	�7$�Y(.�CjiL��0��ᪧ�__9
+;�egȳX�똨E9�|�i1�T�b�o�������⾦d�D__�-��j4I������!1�Rye�I� ��8��3C��$V�
d�lN���RK���f
�F.ծF0��Ԁ���|�vhn�ɏ�MZ�N�Q�����X';��+
��6H�Ɲ�R#�Ñ;j�޴8�Ml�8�)-;��l�!���b[a�^R�z�d�*��9�:؀�{"��ғؒ(i��4�4ɾ�
7�$ɇ8�,���k����@
���uɅM��b�sy�C�g�f�J���F&hz��L��MDž���Ͻ.^�Bd��[3���<?P"��A�5T�
��r"�k����n�'�cL?�NUg_�"%<�����é��L�t�uw���C��ޮ/�f�������4G�������10o]
j��m��R�)N�"�̭�
�0��fL��VǙ�u���H-�D���Ce����
��z
+�m�6���f��o���%aÈ�ޫwo�

+j�8E�����`�_�#gO
+�G�a׎Nr
+��4T\m����7VB n �leO��[���}CH~�[ .x����޼sqZy���+ ��u
?��/�z
��S�S��
s�	��5
+
�LZZ��|1��<݆�����wQ>OE���d
4SԏN�t�ٯo�����Ɣ���UX�i��v�|*�9f7��0�'�~ml�k�.}ߔ������w,�ip$�:��E�|A��"�ƖI��)�|
�+��
�O�m,�z�%�����1{*�����Xk:J!���ޒ����Uw�9$O/.N�*C����{��ћ�2��J�Uo�ǟ{g�h=�
f����
��{��[�+����6���.;�|�
k�!3RR� y���
;fT
��w�wP����f
�#�
�.sC�F{��X��>��DZp+s�5F>K��ʤ:B���+�ay��W���9m�t�D�d�
Qe�����9���J�Pn�)���O0ڄgDi�a�ݪ�X�S��If%)�
�����,N�;N��&6��h��Q�~�Dl�����
jp~B?���TJ��=�:���~��S�Ň=Ky�4�:���7�HL���]�O%"���(�zr��P)c׶%�hpp�a���4�<y�
擆b��ǓTw�U��Z�"I�
�$���z����͹*ζ(�2�I��|���Dq|�qƍ?Tw�����{�yoz�C�}�M��``)���"A�]��>�_�eT��q|Rl����
��b��ذ�Qh��V��-�'j�[7_�>t�(N�f��V�jL���NN��}��ld;rC�oQ�����4���tRZ�Hb��E�1���=��/Ɉb���^y��KD]�)uk㵫p���'pU
�-$��H
۰W
Ҏ�?R���%���^��5o��r��Όgh�FH��ܟ��"�0)�Q��u(��<#�0(y���Za9�	d��n`�%ol[�a�%�dԃ��H��w�]��u�b&u~w>y��h(f�
+�A�I4
+�x�{�V��+d%K�G�
WV������W��U��[�l�S�,>��
��2j=5^�ݸ��߾D����+xh��&PÃ�?Pk
�ؿ�:9�� M�)drȢ�\�Nd�6��c�&������X�y��[VI�}j�"g��`5Y��
��4"��f 4&����ďÀr�s
@�|�R��4�1��~�#u�%�c�Bm�9�i<�F��j�>��U����\YH���6iY�x{\(�S���l znA(��K�!)�H��
J׉�v�a��}
�)�
+��|�6�N��=h
+
I
�T�C�V%��w����QAɯ��:%W5̅���`�Zڳ�#�;�L
��+wX:�3���O
3q����O�rQ�㋑����GQ+�E�^G�����j�V��Eh�V5�8 �G�84�.O��	a2L���"sDž�/y�{��
���q���u����� �H!���u��dJ�d.��j�,��RZ�j�l�("L+x���ܕ&k��u��v>���cJ�}H!�Z��^���ߊF�Y)tr^���H�
+�h��iǀX���!��`/��|)�S��\���Q�
�1'��W�s�Y�
+U�-��
b��K�����������x�̃fdzV��#��r�
��k0���
��G�]�6#l�p��Us.qM81�Ö"��&��q�����_-��D�
�� ��ɴ
�R�7WD����
��&4���꬗`�դ^�y����'�v
���6���
��B�{ʷ]>�(ӴG�R{�٬XB4�
�\�ݻ>ބ��ڝe2��S�\g�)^��z��I�^�	�
+ޟ*Y���
3� �N��VX��&�_�G
ѵ�%÷qA�J��^���|;��c��ݻ/$juF��r�ZjDEq�6��T��&(�H��%g�T@�''F�
����t,P֋bIScs~U��z�M�R��
Z�!�X�({�
�[�8!4
+�t�����~P���II����__�
�-��9G�����͌!����b�V��߯A��AύU`�b ��UNaH�I��-����O`���s"Ց� ��'DQMo�ڨ�r\����^�v�����k�E�EAk9��c¬
-��_��e������L�WTk�K]	��:^t��l0H��UCg���Ln;'
W��
w O��
	מ�ƌsqL��Sd	I��/���õ%�
�b��iT���+9��n��r6��z*N����Z��'>���q%��ݨ>R�[H�k︟ޕ�4�r��.�nj�ˋ�(�
�*�P�=���\&7��H��h�V�U�AE�k�h��z�cY�]]�Lu�Od�]D(qY�!6lta5�w��UuL�<�,�-�5�$��
�6<z��nD#�+P���q��.x&l�t�I)x���Tr�k�i	��{���u��k���
�

lj#~�ĄȚ>�L�:ֶ����f�:��X�~Y�cN� �竺cvt72�����8N� 
��tՌn��<�81��̢J[��%G���;�����
q�v͓7�ӹ�֒���h,�V���
A��U�oEn��<ϰ?Sޙ.E'
�
+��Ng�����-Zc�
t at +��[q
���+����6�����@�� e<��۷��0�� 7��@ȵ�[Z�(�(�23Qw�4��6
YZ���|�u�H��:|���Z=br��9h=��|~D���ɼ����ږ�|!Yd�*}��/=�;�Z�L&�nh*���TJ$0��Dnг���ZdߋT�g�
���;���!��F���*�x�+�T���V>�.XK M� �E���r9
+
�
8h]c>_�����
�:!���T�Ƿ�ҫ�'
o+NQ��s������dG�Q��V�F$�TX�C�R�_�P���Zq��q~E�<�5�'��q{0�
�<J2ʁO"[%}~2Ž˕"<�K��{/׊GKd��uV�������Q4�|ʵs)��ڶ�<�|��M:�I�

���xc�]��/me�i(��ζ)hj9�	�Q�,+Y�mv�z>����j�ϒ���.;I�~��ޛZL���B$�Q[q����v$ ���h��A���$Ʃf�����A��k�.ج���g$�=
g������e3�1�9b�pͰ�KϏ
O<�(]��k/�jw��������E��L���U���=��bɜ����xm���8�HA�lH��ޜ�O�j�	K�(�Y��5o�~�X�K��Wq
���ED�Fcq ���������� �M�ug�5%1��0��t������P��ҊLӭv����W�
�<����k���'�.�iG��}+GM̙�T����
��n
+c��y���5C*~f���v7�R��jli$׮kM�-��µ_����{&��N�P�fcM�Q�v��6�D_��qZ
	��9�*���}��cn
���]a�2:�T
��r붚.9
fm���
#��p�Ur�d}��<rOm>���H,~
6%_~��0�]G2��i
�h�‘�'
y�>��L�>:.�{jx�� �8~~���U80����?F?�7-i�A�!��q�
�H�
��`�߃)_���jUU��Ǩ�]#��Hi#|�I�,7ĥ��6��*����w����
c�Ϲ�ŀ��S�4CB�`�|f��h� K��
�92��pA�����;�䮃�3ѥ�(�2����O!8߹N�lâN(���ru�@\�
m�fF��O����K�� �ʘ
d�A�X�ǿ�����d��Y��'���6_��V��6S�����a�E�"42_
꾃,�u���ny��"�Wn���#!
�����m�\o+=�2��LK?�'\�9
�����R�
�"oT�!|��)a�,�
+���������U8��
���
	���R�6:oy
�2�zTF���
�`
K�3�Q1d�6�8�$���2���i���b9z���
�&͑
�e�6���?��P6
��[�g�H�-�z��Y����!�F��b#�>a��_����_}"K�<
+�ڊT+Ƥ�g�x�
�������v�
�
+2+�e_\"����(H`�2ٹ��sN�`@��:.g��Х� 8�1�w�X�'��fm'
�p���6���_d�ulaY���x�+����bP�eB�%B�Dd
]
/�6�cX~5�2��j�N*�����N�7ۡ5HM��Y@�5�H��g�[M
�$�+u
TB��7���JG�������8/3B����W��n��iyT�pR����=�u�C�Q
�VsM��b�	��@��4�R�W%Qg���zi�i[C���]��꣋8�
����魭/�$?���
b�v.��
�/\~@$���)
O
��������F��Y���|UR�}�m߯Q� 1�4�m
�N at k�v�pY�Y�;��$�?ļlmk	}Ԟ���4L�_
�;\so42�ػ�gC��?J�� �=N�D騄�4���o������Q-�|WZ�A�6���Ä���\_���"��FO���i�3�5���N�����}2�n��m��$�O�P�[G�u����A�SI���\ٛ�;l8S2�"��a�
PGO����k� �i�k��4=V�d�@Cj�:1nm���'�ͫ
��˭U���OO[����b�i�������h�
��߹�9��}[���K�
�NS���C^��*�A� �g
�!m��J,�AT��PateL~8C$ݞϓ��R8���pi�W�]�|�ݮ�
��a�
̷���&g��6��jHf��ʚ<4�iΨ43��r�zR����q}�wmhCw���
_�+۟��{����x7H���=�7,�N8-!�K�ߕ�ߴ5���Yv#'��5��[�đW�d�U�


��bD�y����5�ತ����Y�X~���� �~Y��
+�F���<H��ǐ<%�e`.��u��s�B��r��������D��ӨÙ~q�b~dx��k2:�r�4Ua�퍪��霆�
+:q?4wc�3�
g&��^�S�ު����Qy
��]����f)�>��veh�Q!I�
�g�
{_�u!`U	{��Q}�yNNJ͔_
�ʬ3����ɏi%AjTb�[�����F���/����VokO����ʎٵ�1T=���֘h|��@����\=��R"JoվG?�|�1�n7�]1DZ���bg6�ꮕ���
�2V���^��
+��CT!�:H�ZTp�~�:�I �_��8S1J����#9��b���}�7�bh�����Gi��~���
+�o�
�n$Ȟ����NV��J]�i��e�R�${
���{�<˵����C�d�QL�n<�ء�w��۴m	b≵)`f��������W�����,����
*F��
%|�s|{�x`�mu��흎t���D�*��O�P���rJ�6>~�V�í%/qs�k�^�
5��ͩ
+SJtIE�7a)'H�1)f7E͝j
���+)$���vg�D�j����60���r�3C`�
�N��
��s���y�"A�eG!5�+��`F,s=n�)}��pz�-%|�G��]�b
F����(�O_ at g�p������<�dL
.9��
�a
o�V�}�/o���3���:
������
�����8��q��(D �[�b�v~L|�YVLԨIZ�7�X��tL��׬8^���{�
Yj#�-��uTH�B҃�:�HSM}��fF�(~�XLjD�v/ߟ(E��+3��
+=�X���0������k%��Ӣ���<���Owޡ��&z�_�@��[�
#���	V����*8g�L�p�p��j�
�f�/ Lf��� 4���Дʉ�oם��X})HL%�ߗ�Q3���i霉@옄1�M�m�PY�*�r�
*�@����X�����@ �
+o��X�@(�3���R�5��
+O
�*vt�ߓ��B�
������Jv��_޾(�=|�4�A��.kf���}{}�Ƃ�a����W�1�]OA�$56����,��]\�S9��ё��c/ˋ.A����Cɇқ$�Jn�
`�Ė��yZ&�
���]B�
��.J6jkneN?z�R��DC�Y�RC{�#� ϳ��ׁ-z�~�� I���d��}�H���`(�./#����(�y���B;\3k�M�~�'�wJ�t�m^Dd����`:F����}4
�m�4�G��	
����
Qz�Y�M�������}�g}�c΢�7.,<u׊Լ`����q7誢� UP/k
�3]~���j�:���o��a��HR:C��(-�P�I�v�%���+<�^��l�H��z������K��-�L���`�stE䮼R�v����Rt2?�A�ƃ�kR
Hl���a5��W|xT������6�%�[
+kO�:5��2fjZ<�<$ԍ�٦� �2�{c���ZK�l��K�C����
�;\ӯ�.��8�S��=#e
�#rgi��_�����}��wڮ
+����R�.��$�w��r�{E�2\�C�8�8��]�V�
+��r�L�L?�n��(��Ѯ����Eƈ��
�_8�z)
F?Z���8l�{)\��!�R�
+6��kO��^S�) �2+_m¼{��;:���)n��TS�q�:���E%�`�~(�-��R�ַ���D=f�b�-�|�|-zT�3����`�?��
9�=�q�q��ް/���{֎ֲWk�߂���S�E+��{BVQ��.��3�1KB��	3�����2`O����� ��
c�1��3�Oa�[�E��5㕝q( @R���4]�0o�"}�8-3�Ò_��"�� 
���+H<P�q�m

��\�
I��-� n��
68$�
g����+N	����Ԅ�>ɾ���'�E��
��ڢ���νd9sss& ��,xX:eP�)^�7]���G���\Hأ�O�Ǐ��>ظ����n�3
*!
C�9�ar7�#�

J#˕��=U2m�E�OG�e�)�ǁ�#�W�-8�&���.��z6L"b��
�,Kq5�sJ��S��~�xo
�
��S+�a�M����L�Ew�N��ȠF����q�G��c�#��~6��	�T�������)��ټ{��!˓Q����F
��:Y+�"ט�Hx�!�#c�1 �j�"೾
�3��x|�����07����b������e;AG��ʊ��)��6��|	��w�tYx���7v�f:�g���X���Z*
{B�l�/�%3FW��Z)�.P��6���ٜ�
w~0}�,�A�E��ȑ�7[^<�f!T�M:��OoF���'ÒiȜ2;G;��9?��D�2����O�J�����~5ۗ�A�(�
}�k�z��X���݃ǐ�
+���I���['��CX�X�xX��~D
�a
 �wG�H��#ž�
Tx�畫�	��m\�,
q�;���
Lx��r=6�
8�]�i��4v��K.J��հM����0�3��8�q���q�b
+�|��Y�
ݥ��9y
<��DJ`;�*T��C���ZfH���=�"M�Z�s�-u����Oa�k���j8��������i�z�
P����<PmM$���m��X����
+��|�U�*�Z
=M4�Q�;�u��'ȡL�5�bYϾ������}˖w��[��'ƻ����%V-�w
)�J,�\Z>� ,��KS�k�O�r<ڄ�́#YJB�?���KQy
�#�%�:��ĉ���D���z ��봳��J?�=��g��I�iS�56�w���
+�J"]/�8�G;88|dǠ�����4{���P
���/��=Q�c��&/‘l����M����<0�_����b��qv�Я���m浖dn9�
+�:����?0T��
��k�3�ҟ~�}q���6�m+�w
�H����%��ncP�I ���� �!��>�$��`�}��As��d��3�|�
+č�D��w�>s��1(w0둪bxK�D��ŝ%��e����]R�P�
+
F��z�U��c�̃�1m21��UM6#w�Ct���wn�:�����J��ϭ���X��ߤ����Q
�wiNa$
~
z`�"��g�~�g��#>�?����u�N�
�as��<VP�2�!,8���m ��BGxkG�};��c�p�u�~ʗ�����ߵ`c�q�L��iѥ��6�+E���1]!B���G��=y��ڏ�霙��cT�MY��0$�</���]�;��ϗY��(J!n��
+
�5I�-���]��`##���
T��x0%��J6�EY��
�je���{��1�w�!Ħ<�-{��j�g7�����AjK5
N�TX6����m��K
ɾ֥�җ�
9�<�����jH
�9�'�{��r�ϔ��V��s
v�د�mV��4<if�7�^�V%���O4E!�@��VĒ%���
u:
�{�L�<�$�
{%g��Y[V@���-/�Rq;��긯��5*� �
+b�����f&��&sћ���5��{�&
�N��X{��	�܆�z%q�I��qg|>|_�b�~�����{y	j���G�
����To�f)�$�
S��zs7\��~�3.��Rнd�[��Z&L��7r���Tv�7D��Y�7��~�}jQ�e=N���ΛG���~LN(�0�V]����
�N5+��YO}U�J�
׺5�`��� �; `�M��v0m(��}�A�ab��"g�!�Ā�ƌj����
g�Х/��t9u
+wi-�ڬv.{>��{�\�ԆŠx�XP
�2{^���1
}���oz/�p��Y�
�{�/A�ǩ��d�gu�m�U?�#*��?�2}Oy��L_�+��=%�
�ƥ�"_�i�
����bu!lzc�؝�,R�!>��:�*N�����A[|R�$��#��E/�Х�1�ǁ����&��8\�Terw
���o�#�
'��Y�Ҥ��J>n��@:�|�6�*
+�H&3"��dM�-�r��3}�S�J
HQP�9�N�Ue��?]o��(r��`։�y
F{
��D
��!��^b�VȨ������e}���~�c
;vI4
j�%�v�j�:�zŜoom�U�́Ԫ1�F���Z�1���^
+lB���C�[ʜ�.�F�N#7�[���jr�J��H�\��Yx�U�&�N�u���e���������7��o��-�]+�� j��/X��ϖ����s��
a\�>0�C�[ �<�S(�`�z�2��mm]T��)%��3sS��,��mk��9�Rt�Dy?{P$yⱥY���Ɏd�(`tc/�{K9F���Iu���(��#81io�
u�Za(�k���UD�д9�Yk�T�� �险4
/�v[h��
˕I
+onuֽ�>�b�uw�)ҏ��1���ܚRE2�Bq.?)
+֬�`�f�%�d�ɺ�ݟ����J vHm��<�
+��0?��Y�6_��ߢ�$
+��ݶlHF$��2\78�,m�<k7�
���zgy
,�W��y"E��Љ̸
jJ{�Ʋ�\7rn�n
T|�ݟ�p}���y$W�S�<F�0��ẹ��/ŅB����j��bڮqQ������Z�Y�.W�`����5&�ٲ�?����i���͊�L�ş*wF�6�V.<i!�`��R�=`� '�@Q��A�縼f�
�
l�l4�mNuJ"_�*�Q|F50���61�^��q�aݟ�+�
I'[d���~��A��
���@ �ފ~�A1�Tx�� ‚��]
����fzm~�rD��
,t�
��b��rQ/�3dضq�����r�R���X�,oqT�֬����W�V�}}\�~�.�,e"�i�wE�Uuaa��L�_JRBN�c��0f;GTsKy!�e��z�dD!��y^��Ga�2���\5��l��M`gO!�n�����q �(�C���)� ��pY:0�7��WK�U�C���r} ��}R�5Q���F�xtK�s�b�Rn�����!�\�HK�}���_䳭T\�LM��%��"��9@� {�v���GU9r�o�ۉ�6W��+�~����ؖ
�~�Ѳ�3���>C5�}�78R�l�5���=�y۬�\��}h
+oTz�Ea�:�S�
]	�K��<�uNO�
�6ۊ�𰛴a�q��oB�W��g�����/|�ԭmE
+�#�k��8�U�7ik��(
�1��v�9����5�����N6��U,���f��G m lRsf'/���A{\�2�=/���!��l�	 %yZ`6
r�9:��έ3$��)ց��\5uc�����v�8����Y#?
+�Sq��8��q�@gG/���zA`ǧ�hz�
+̫�

�I�D���:Q��c5�T"4:j����s�U�
��G�j���uT�ܺq�-ީ$�zF� ��Z���KH���2�{ɟ!�gA�H^T#ͭz��B�ؠ?��pC��Qm�F��Z3yy g1�+��g$���[gN��#�?x����z�q�M6��y��J����*���Yy�^�C�}��b�R�)PW�.���D`��% ێ�y=%"�&�{�����* ��dx1
Of{	4�;�$�Ubm.5���*i�
��(#���!�[-S&Q�^
�ֵ��zh��
�y4W=1b�?x�{9}X��!�G�ȡ�c
�/�+'��>Z7��$ZE^|P_8�d1c/�6w)s����9�	�K�G*��O›���⊸ˬ�r~�
*�i�ͺ
)�~�OLې�G���M5�l��r��|?���=�=
�*�����8�c2�Ka�ں_���8[�x�\��{������t��i���Z� �b�ZyS"�ڂ�0^��S���[e�
+�,��-��Ư@�M�q������y;�.>����{�f�Z�Kѯ��(�۱[�ÙC%�D�bW��-c�X(���
q�J�����m 4�I�4[�rѧ�L����odJv#���:@O�g�i��a\?���s��t11�
�$HU�7�&��Ұ�T�㏔IY�x�<�_��L4K�6A� �\�9'��2�����^�>���7�o$8
+endstream
+endobj
+13590 0 obj <<
+/Type /FontDescriptor
+/FontName /ZSLAIS+NimbusRomNo9L-ReguItal
+/Flags 4
+/FontBBox [-169 -270 1010 924]
+/Ascent 669
+/CapHeight 669
+/Descent -193
+/ItalicAngle -15
+/StemV 78
+/XHeight 441
+/CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/Y/Z/a/agrave/ampersand/b/bracketleft/bracketright/c/colon/comma/d/e/eacute/eight/equal/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/parenleft/parenright/period/plus/q/quotedbl/quotedblleft/quotedblright/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
+/FontFile 13589 0 R
+>> endobj
+13486 0 obj <<
+/Type /Encoding
+/Differences [2/fi/fl 33/exclam/quotedbl/numbersign 37/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright 147/quotedblleft/quotedblright/bullet/endash 169/copy [...]
+>> endobj
+598 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /LDBHLR+CMBX10
+/FontDescriptor 13520 0 R
+/FirstChar 48
+/LastChar 49
+/Widths 13502 0 R
+>> endobj
+580 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /AVEYOS+CMEX10
+/FontDescriptor 13522 0 R
+/FirstChar 0
+/LastChar 111
+/Widths 13506 0 R
+>> endobj
+446 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /UOVWZK+CMMI10
+/FontDescriptor 13524 0 R
+/FirstChar 13
+/LastChar 125
+/Widths 13512 0 R
+>> endobj
+2359 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /ZGGNQH+CMMI12
+/FontDescriptor 13526 0 R
+/FirstChar 60
+/LastChar 62
+/Widths 13490 0 R
+>> endobj
+618 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /WNXLJT+CMMI5
+/FontDescriptor 13528 0 R
+/FirstChar 68
+/LastChar 110
+/Widths 13501 0 R
+>> endobj
+7669 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /OMWOOP+CMMI6
+/FontDescriptor 13530 0 R
+/FirstChar 100
+/LastChar 117
+/Widths 13482 0 R
+>> endobj
+507 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /VUCJGC+CMMI7
+/FontDescriptor 13532 0 R
+/FirstChar 26
+/LastChar 119
+/Widths 13509 0 R
+>> endobj
+2120 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /ZRLUIR+CMMI8
+/FontDescriptor 13534 0 R
+/FirstChar 60
+/LastChar 62
+/Widths 13495 0 R
+>> endobj
+2337 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /WWOUVU+CMMI9
+/FontDescriptor 13536 0 R
+/FirstChar 46
+/LastChar 121
+/Widths 13492 0 R
+>> endobj
+597 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /WLMXSH+CMMIB10
+/FontDescriptor 13538 0 R
+/FirstChar 97
+/LastChar 120
+/Widths 13503 0 R
+>> endobj
+820 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /UQOYSR+CMMIB7
+/FontDescriptor 13540 0 R
+/FirstChar 112
+/LastChar 112
+/Widths 13498 0 R
+>> endobj
+540 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /HUPSVD+CMR10
+/FontDescriptor 13542 0 R
+/FirstChar 1
+/LastChar 120
+/Widths 13508 0 R
+>> endobj
+596 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /LYFRJR+CMR5
+/FontDescriptor 13544 0 R
+/FirstChar 43
+/LastChar 80
+/Widths 13504 0 R
+>> endobj
+2638 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /YPFGSD+CMR6
+/FontDescriptor 13546 0 R
+/FirstChar 48
+/LastChar 120
+/Widths 13488 0 R
+>> endobj
+541 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /XRMVPU+CMR7
+/FontDescriptor 13548 0 R
+/FirstChar 40
+/LastChar 120
+/Widths 13507 0 R
+>> endobj
+2458 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /SRQDSN+CMR9
+/FontDescriptor 13550 0 R
+/FirstChar 12
+/LastChar 118
+/Widths 13489 0 R
+>> endobj
+368 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /PACSHY+CMSY10
+/FontDescriptor 13552 0 R
+/FirstChar 0
+/LastChar 114
+/Widths 13517 0 R
+>> endobj
+678 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /TPJSSH+CMSY5
+/FontDescriptor 13554 0 R
+/FirstChar 0
+/LastChar 96
+/Widths 13499 0 R
+>> endobj
+370 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /JLSCDF+CMSY6
+/FontDescriptor 13556 0 R
+/FirstChar 3
+/LastChar 122
+/Widths 13515 0 R
+>> endobj
+581 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /WSWKRG+CMSY7
+/FontDescriptor 13558 0 R
+/FirstChar 0
+/LastChar 94
+/Widths 13505 0 R
+>> endobj
+369 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /JRVZXP+CMSY8
+/FontDescriptor 13560 0 R
+/FirstChar 120
+/LastChar 122
+/Widths 13516 0 R
+>> endobj
+2332 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /RDTRNA+CMSY9
+/FontDescriptor 13562 0 R
+/FirstChar 0
+/LastChar 20
+/Widths 13493 0 R
+>> endobj
+10269 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /KNYRWO+CMTI10
+/FontDescriptor 13564 0 R
+/FirstChar 112
+/LastChar 115
+/Widths 13481 0 R
+>> endobj
+2354 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /GJXGPY+CMTI7
+/FontDescriptor 13566 0 R
+/FirstChar 100
+/LastChar 120
+/Widths 13491 0 R
+>> endobj
+3030 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /BKKFBC+CMTT10
+/FontDescriptor 13568 0 R
+/FirstChar 101
+/LastChar 121
+/Widths 13485 0 R
+>> endobj
+4375 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /UDIUDL+CMTT8
+/FontDescriptor 13570 0 R
+/FirstChar 101
+/LastChar 120
+/Widths 13484 0 R
+>> endobj
+677 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /NIRNEQ+MSAM10
+/FontDescriptor 13572 0 R
+/FirstChar 13
+/LastChar 26
+/Widths 13500 0 R
+>> endobj
+506 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /NUYYNC+MSBM10
+/FontDescriptor 13574 0 R
+/FirstChar 63
+/LastChar 90
+/Widths 13510 0 R
+>> endobj
+5653 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /NUYYNC+MSBM10
+/FontDescriptor 13574 0 R
+/FirstChar 82
+/LastChar 82
+/Widths 13483 0 R
+>> endobj
+2229 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /ZKBDIV+NimbusMonL-Bold
+/FontDescriptor 13576 0 R
+/FirstChar 44
+/LastChar 120
+/Widths 13494 0 R
+/Encoding 13486 0 R
+>> endobj
+2840 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /MQGKDD+NimbusMonL-BoldObli
+/FontDescriptor 13578 0 R
+/FirstChar 40
+/LastChar 122
+/Widths 13487 0 R
+/Encoding 13486 0 R
+>> endobj
+404 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /MZYJFE+NimbusMonL-Regu
+/FontDescriptor 13580 0 R
+/FirstChar 33
+/LastChar 125
+/Widths 13513 0 R
+/Encoding 13486 0 R
+>> endobj
+1188 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /UMYBJZ+NimbusMonL-ReguObli
+/FontDescriptor 13582 0 R
+/FirstChar 39
+/LastChar 122
+/Widths 13497 0 R
+/Encoding 13486 0 R
+>> endobj
+402 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /MUQVXJ+NimbusRomNo9L-Medi
+/FontDescriptor 13584 0 R
+/FirstChar 2
+/LastChar 150
+/Widths 13514 0 R
+/Encoding 13486 0 R
+>> endobj
+1390 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /WZFEHG+NimbusRomNo9L-MediItal
+/FontDescriptor 13586 0 R
+/FirstChar 2
+/LastChar 122
+/Widths 13496 0 R
+/Encoding 13486 0 R
+>> endobj
+367 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /DIHFWX+NimbusRomNo9L-Regu
+/FontDescriptor 13588 0 R
+/FirstChar 2
+/LastChar 233
+/Widths 13518 0 R
+/Encoding 13486 0 R
+>> endobj
+505 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /ZSLAIS+NimbusRomNo9L-ReguItal
+/FontDescriptor 13590 0 R
+/FirstChar 2
+/LastChar 233
+/Widths 13511 0 R
+/Encoding 13486 0 R
+>> endobj
+371 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13591 0 R
+/Kids [362 0 R 399 0 R 443 0 R 483 0 R 499 0 R 518 0 R]
+>> endobj
+542 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13591 0 R
+/Kids [536 0 R 545 0 R 556 0 R 564 0 R 577 0 R 591 0 R]
+>> endobj
+621 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13591 0 R
+/Kids [610 0 R 625 0 R 635 0 R 646 0 R 657 0 R 671 0 R]
+>> endobj
+695 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13591 0 R
+/Kids [689 0 R 698 0 R 708 0 R 728 0 R 749 0 R 765 0 R]
+>> endobj
+794 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13591 0 R
+/Kids [783 0 R 800 0 R 816 0 R 835 0 R 847 0 R 860 0 R]
+>> endobj
+885 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13591 0 R
+/Kids [875 0 R 895 0 R 922 0 R 941 0 R 952 0 R 970 0 R]
+>> endobj
+1005 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13592 0 R
+/Kids [992 0 R 1019 0 R 1036 0 R 1054 0 R 1075 0 R 1099 0 R]
+>> endobj
+1126 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13592 0 R
+/Kids [1119 0 R 1129 0 R 1137 0 R 1145 0 R 1152 0 R 1158 0 R]
+>> endobj
+1170 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13592 0 R
+/Kids [1164 0 R 1173 0 R 1181 0 R 1194 0 R 1200 0 R 1205 0 R]
+>> endobj
+1213 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13592 0 R
+/Kids [1210 0 R 1216 0 R 1223 0 R 1254 0 R 1291 0 R 1328 0 R]
+>> endobj
+1391 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13592 0 R
+/Kids [1387 0 R 1458 0 R 1497 0 R 1523 0 R 1545 0 R 1576 0 R]
+>> endobj
+1671 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13592 0 R
+/Kids [1657 0 R 1728 0 R 1760 0 R 1772 0 R 1779 0 R 1790 0 R]
+>> endobj
+1808 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13593 0 R
+/Kids [1801 0 R 1828 0 R 1853 0 R 1874 0 R 1954 0 R 2012 0 R]
+>> endobj
+2081 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13593 0 R
+/Kids [2064 0 R 2114 0 R 2168 0 R 2198 0 R 2214 0 R 2225 0 R]
+>> endobj
+2244 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13593 0 R
+/Kids [2239 0 R 2248 0 R 2256 0 R 2264 0 R 2271 0 R 2279 0 R]
+>> endobj
+2307 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13593 0 R
+/Kids [2299 0 R 2328 0 R 2349 0 R 2389 0 R 2450 0 R 2512 0 R]
+>> endobj
+2573 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13593 0 R
+/Kids [2567 0 R 2635 0 R 2702 0 R 2750 0 R 2808 0 R 2828 0 R]
+>> endobj
+2842 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13593 0 R
+/Kids [2835 0 R 2845 0 R 2854 0 R 2862 0 R 2872 0 R 2881 0 R]
+>> endobj
+2895 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13594 0 R
+/Kids [2888 0 R 2898 0 R 2907 0 R 2915 0 R 2924 0 R 2935 0 R]
+>> endobj
+2953 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13594 0 R
+/Kids [2946 0 R 2958 0 R 2968 0 R 2978 0 R 2989 0 R 3000 0 R]
+>> endobj
+3019 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13594 0 R
+/Kids [3014 0 R 3026 0 R 3037 0 R 3049 0 R 3062 0 R 3071 0 R]
+>> endobj
+3088 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13594 0 R
+/Kids [3082 0 R 3091 0 R 3111 0 R 3138 0 R 3182 0 R 3241 0 R]
+>> endobj
+3315 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13594 0 R
+/Kids [3308 0 R 3366 0 R 3435 0 R 3491 0 R 3542 0 R 3589 0 R]
+>> endobj
+3613 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13594 0 R
+/Kids [3605 0 R 3617 0 R 3626 0 R 3635 0 R 3646 0 R 3655 0 R]
+>> endobj
+3669 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13595 0 R
+/Kids [3664 0 R 3673 0 R 3682 0 R 3690 0 R 3699 0 R 3710 0 R]
+>> endobj
+3726 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13595 0 R
+/Kids [3719 0 R 3732 0 R 3743 0 R 3753 0 R 3763 0 R 3775 0 R]
+>> endobj
+3792 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13595 0 R
+/Kids [3787 0 R 3798 0 R 3808 0 R 3818 0 R 3831 0 R 3839 0 R]
+>> endobj
+3856 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13595 0 R
+/Kids [3849 0 R 3859 0 R 3896 0 R 3933 0 R 3948 0 R 3957 0 R]
+>> endobj
+3972 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13595 0 R
+/Kids [3965 0 R 3975 0 R 4007 0 R 4053 0 R 4092 0 R 4147 0 R]
+>> endobj
+4216 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13595 0 R
+/Kids [4203 0 R 4257 0 R 4315 0 R 4372 0 R 4404 0 R 4420 0 R]
+>> endobj
+4444 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13596 0 R
+/Kids [4433 0 R 4447 0 R 4460 0 R 4471 0 R 4482 0 R 4493 0 R]
+>> endobj
+4504 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13596 0 R
+/Kids [4500 0 R 4513 0 R 4533 0 R 4565 0 R 4609 0 R 4663 0 R]
+>> endobj
+4689 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13596 0 R
+/Kids [4685 0 R 4693 0 R 4702 0 R 4713 0 R 4731 0 R 4773 0 R]
+>> endobj
+4839 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13596 0 R
+/Kids [4821 0 R 4850 0 R 4862 0 R 4876 0 R 4889 0 R 4913 0 R]
+>> endobj
+4959 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13596 0 R
+/Kids [4945 0 R 4973 0 R 4999 0 R 5026 0 R 5067 0 R 5117 0 R]
+>> endobj
+5195 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13596 0 R
+/Kids [5192 0 R 5233 0 R 5247 0 R 5254 0 R 5265 0 R 5277 0 R]
+>> endobj
+5301 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13597 0 R
+/Kids [5290 0 R 5310 0 R 5348 0 R 5394 0 R 5413 0 R 5425 0 R]
+>> endobj
+5462 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13597 0 R
+/Kids [5451 0 R 5491 0 R 5524 0 R 5551 0 R 5585 0 R 5639 0 R]
+>> endobj
+5709 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13597 0 R
+/Kids [5705 0 R 5724 0 R 5730 0 R 5740 0 R 5758 0 R 5772 0 R]
+>> endobj
+5791 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13597 0 R
+/Kids [5786 0 R 5794 0 R 5801 0 R 5829 0 R 5869 0 R 5894 0 R]
+>> endobj
+5914 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13597 0 R
+/Kids [5907 0 R 5929 0 R 5997 0 R 6018 0 R 6032 0 R 6059 0 R]
+>> endobj
+6123 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13597 0 R
+/Kids [6113 0 R 6171 0 R 6232 0 R 6296 0 R 6361 0 R 6421 0 R]
+>> endobj
+6481 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13598 0 R
+/Kids [6466 0 R 6491 0 R 6498 0 R 6503 0 R 6508 0 R 6516 0 R]
+>> endobj
+6530 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13598 0 R
+/Kids [6524 0 R 6533 0 R 6540 0 R 6552 0 R 6563 0 R 6572 0 R]
+>> endobj
+6586 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13598 0 R
+/Kids [6579 0 R 6589 0 R 6598 0 R 6606 0 R 6616 0 R 6626 0 R]
+>> endobj
+6645 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13598 0 R
+/Kids [6638 0 R 6650 0 R 6659 0 R 6669 0 R 6683 0 R 6697 0 R]
+>> endobj
+6716 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13598 0 R
+/Kids [6710 0 R 6724 0 R 6737 0 R 6753 0 R 6761 0 R 6787 0 R]
+>> endobj
+6839 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13598 0 R
+/Kids [6825 0 R 6874 0 R 6921 0 R 6941 0 R 6947 0 R 6960 0 R]
+>> endobj
+6984 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13599 0 R
+/Kids [6977 0 R 6987 0 R 7026 0 R 7072 0 R 7103 0 R 7120 0 R]
+>> endobj
+7140 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13599 0 R
+/Kids [7129 0 R 7156 0 R 7183 0 R 7217 0 R 7236 0 R 7248 0 R]
+>> endobj
+7266 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13599 0 R
+/Kids [7256 0 R 7286 0 R 7325 0 R 7398 0 R 7465 0 R 7489 0 R]
+>> endobj
+7507 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13599 0 R
+/Kids [7498 0 R 7510 0 R 7524 0 R 7538 0 R 7560 0 R 7613 0 R]
+>> endobj
+7674 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13599 0 R
+/Kids [7664 0 R 7708 0 R 7729 0 R 7741 0 R 7750 0 R 7759 0 R]
+>> endobj
+7775 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13599 0 R
+/Kids [7768 0 R 7782 0 R 7832 0 R 7861 0 R 7874 0 R 7882 0 R]
+>> endobj
+7897 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13600 0 R
+/Kids [7891 0 R 7904 0 R 7924 0 R 7976 0 R 8030 0 R 8089 0 R]
+>> endobj
+8150 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13600 0 R
+/Kids [8147 0 R 8220 0 R 8283 0 R 8333 0 R 8371 0 R 8387 0 R]
+>> endobj
+8400 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13600 0 R
+/Kids [8392 0 R 8403 0 R 8412 0 R 8421 0 R 8430 0 R 8440 0 R]
+>> endobj
+8454 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13600 0 R
+/Kids [8449 0 R 8457 0 R 8465 0 R 8473 0 R 8485 0 R 8497 0 R]
+>> endobj
+8513 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13600 0 R
+/Kids [8507 0 R 8519 0 R 8529 0 R 8540 0 R 8549 0 R 8562 0 R]
+>> endobj
+8581 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13600 0 R
+/Kids [8575 0 R 8587 0 R 8599 0 R 8611 0 R 8619 0 R 8630 0 R]
+>> endobj
+8647 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13601 0 R
+/Kids [8641 0 R 8683 0 R 8737 0 R 8792 0 R 8849 0 R 8921 0 R]
+>> endobj
+8983 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13601 0 R
+/Kids [8972 0 R 9007 0 R 9039 0 R 9054 0 R 9061 0 R 9069 0 R]
+>> endobj
+9082 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13601 0 R
+/Kids [9077 0 R 9085 0 R 9093 0 R 9103 0 R 9110 0 R 9117 0 R]
+>> endobj
+9133 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13601 0 R
+/Kids [9126 0 R 9136 0 R 9147 0 R 9155 0 R 9168 0 R 9182 0 R]
+>> endobj
+9199 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13601 0 R
+/Kids [9194 0 R 9206 0 R 9215 0 R 9228 0 R 9238 0 R 9252 0 R]
+>> endobj
+9281 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13601 0 R
+/Kids [9270 0 R 9310 0 R 9363 0 R 9417 0 R 9457 0 R 9475 0 R]
+>> endobj
+9486 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13602 0 R
+/Kids [9483 0 R 9495 0 R 9510 0 R 9518 0 R 9523 0 R 9530 0 R]
+>> endobj
+9548 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13602 0 R
+/Kids [9540 0 R 9552 0 R 9561 0 R 9578 0 R 9623 0 R 9657 0 R]
+>> endobj
+9683 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13602 0 R
+/Kids [9676 0 R 9710 0 R 9762 0 R 9795 0 R 9818 0 R 9831 0 R]
+>> endobj
+9882 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13602 0 R
+/Kids [9871 0 R 9919 0 R 9978 0 R 10031 0 R 10100 0 R 10154 0 R]
+>> endobj
+10214 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13602 0 R
+/Kids [10205 0 R 10233 0 R 10247 0 R 10255 0 R 10262 0 R 10272 0 R]
+>> endobj
+10286 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13602 0 R
+/Kids [10281 0 R 10289 0 R 10297 0 R 10306 0 R 10316 0 R 10326 0 R]
+>> endobj
+10342 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13603 0 R
+/Kids [10336 0 R 10348 0 R 10361 0 R 10373 0 R 10384 0 R 10395 0 R]
+>> endobj
+10414 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13603 0 R
+/Kids [10409 0 R 10422 0 R 10435 0 R 10449 0 R 10479 0 R 10510 0 R]
+>> endobj
+10554 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13603 0 R
+/Kids [10540 0 R 10570 0 R 10606 0 R 10656 0 R 10717 0 R 10777 0 R]
+>> endobj
+10858 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13603 0 R
+/Kids [10850 0 R 10914 0 R 10955 0 R 11008 0 R 11030 0 R 11037 0 R]
+>> endobj
+11045 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13603 0 R
+/Kids [11042 0 R 11048 0 R 11057 0 R 11065 0 R 11074 0 R 11084 0 R]
+>> endobj
+11099 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13603 0 R
+/Kids [11094 0 R 11102 0 R 11110 0 R 11119 0 R 11127 0 R 11136 0 R]
+>> endobj
+11155 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13604 0 R
+/Kids [11148 0 R 11161 0 R 11174 0 R 11186 0 R 11197 0 R 11207 0 R]
+>> endobj
+11227 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13604 0 R
+/Kids [11221 0 R 11238 0 R 11249 0 R 11261 0 R 11272 0 R 11282 0 R]
+>> endobj
+11314 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13604 0 R
+/Kids [11303 0 R 11340 0 R 11393 0 R 11429 0 R 11462 0 R 11477 0 R]
+>> endobj
+11495 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13604 0 R
+/Kids [11486 0 R 11498 0 R 11513 0 R 11531 0 R 11545 0 R 11579 0 R]
+>> endobj
+11613 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13604 0 R
+/Kids [11604 0 R 11635 0 R 11662 0 R 11678 0 R 11743 0 R 11807 0 R]
+>> endobj
+11875 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13604 0 R
+/Kids [11872 0 R 11937 0 R 12012 0 R 12074 0 R 12143 0 R 12214 0 R]
+>> endobj
+12276 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13605 0 R
+/Kids [12273 0 R 12380 0 R 12504 0 R 12618 0 R 12731 0 R 12855 0 R]
+>> endobj
+12974 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 13605 0 R
+/Kids [12971 0 R 13090 0 R 13182 0 R 13254 0 R 13321 0 R 13389 0 R]
+>> endobj
+13454 0 obj <<
+/Type /Pages
+/Count 2
+/Parent 13605 0 R
+/Kids [13451 0 R 13478 0 R]
+>> endobj
+13591 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 13606 0 R
+/Kids [371 0 R 542 0 R 621 0 R 695 0 R 794 0 R 885 0 R]
+>> endobj
+13592 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 13606 0 R
+/Kids [1005 0 R 1126 0 R 1170 0 R 1213 0 R 1391 0 R 1671 0 R]
+>> endobj
+13593 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 13606 0 R
+/Kids [1808 0 R 2081 0 R 2244 0 R 2307 0 R 2573 0 R 2842 0 R]
+>> endobj
+13594 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 13606 0 R
+/Kids [2895 0 R 2953 0 R 3019 0 R 3088 0 R 3315 0 R 3613 0 R]
+>> endobj
+13595 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 13606 0 R
+/Kids [3669 0 R 3726 0 R 3792 0 R 3856 0 R 3972 0 R 4216 0 R]
+>> endobj
+13596 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 13606 0 R
+/Kids [4444 0 R 4504 0 R 4689 0 R 4839 0 R 4959 0 R 5195 0 R]
+>> endobj
+13597 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 13607 0 R
+/Kids [5301 0 R 5462 0 R 5709 0 R 5791 0 R 5914 0 R 6123 0 R]
+>> endobj
+13598 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 13607 0 R
+/Kids [6481 0 R 6530 0 R 6586 0 R 6645 0 R 6716 0 R 6839 0 R]
+>> endobj
+13599 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 13607 0 R
+/Kids [6984 0 R 7140 0 R 7266 0 R 7507 0 R 7674 0 R 7775 0 R]
+>> endobj
+13600 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 13607 0 R
+/Kids [7897 0 R 8150 0 R 8400 0 R 8454 0 R 8513 0 R 8581 0 R]
+>> endobj
+13601 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 13607 0 R
+/Kids [8647 0 R 8983 0 R 9082 0 R 9133 0 R 9199 0 R 9281 0 R]
+>> endobj
+13602 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 13607 0 R
+/Kids [9486 0 R 9548 0 R 9683 0 R 9882 0 R 10214 0 R 10286 0 R]
+>> endobj
+13603 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 13608 0 R
+/Kids [10342 0 R 10414 0 R 10554 0 R 10858 0 R 11045 0 R 11099 0 R]
+>> endobj
+13604 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 13608 0 R
+/Kids [11155 0 R 11227 0 R 11314 0 R 11495 0 R 11613 0 R 11875 0 R]
+>> endobj
+13605 0 obj <<
+/Type /Pages
+/Count 14
+/Parent 13608 0 R
+/Kids [12276 0 R 12974 0 R 13454 0 R]
+>> endobj
+13606 0 obj <<
+/Type /Pages
+/Count 216
+/Parent 13609 0 R
+/Kids [13591 0 R 13592 0 R 13593 0 R 13594 0 R 13595 0 R 13596 0 R]
+>> endobj
+13607 0 obj <<
+/Type /Pages
+/Count 216
+/Parent 13609 0 R
+/Kids [13597 0 R 13598 0 R 13599 0 R 13600 0 R 13601 0 R 13602 0 R]
+>> endobj
+13608 0 obj <<
+/Type /Pages
+/Count 86
+/Parent 13609 0 R
+/Kids [13603 0 R 13604 0 R 13605 0 R]
+>> endobj
+13609 0 obj <<
+/Type /Pages
+/Count 518
+/Kids [13606 0 R 13607 0 R 13608 0 R]
+>> endobj
+13610 0 obj <<
+/Type /Outlines
+/First 7 0 R
+/Last 135 0 R
+/Count 10
+>> endobj
+359 0 obj <<
+/Title 360 0 R
+/A 357 0 R
+/Parent 135 0 R
+/Prev 355 0 R
+>> endobj
+355 0 obj <<
+/Title 356 0 R
+/A 353 0 R
+/Parent 135 0 R
+/Prev 351 0 R
+/Next 359 0 R
+>> endobj
+351 0 obj <<
+/Title 352 0 R
+/A 349 0 R
+/Parent 135 0 R
+/Prev 347 0 R
+/Next 355 0 R
+>> endobj
+347 0 obj <<
+/Title 348 0 R
+/A 345 0 R
+/Parent 135 0 R
+/Prev 343 0 R
+/Next 351 0 R
+>> endobj
+343 0 obj <<
+/Title 344 0 R
+/A 341 0 R
+/Parent 135 0 R
+/Prev 339 0 R
+/Next 347 0 R
+>> endobj
+339 0 obj <<
+/Title 340 0 R
+/A 337 0 R
+/Parent 135 0 R
+/Prev 335 0 R
+/Next 343 0 R
+>> endobj
+335 0 obj <<
+/Title 336 0 R
+/A 333 0 R
+/Parent 135 0 R
+/Prev 331 0 R
+/Next 339 0 R
+>> endobj
+331 0 obj <<
+/Title 332 0 R
+/A 329 0 R
+/Parent 135 0 R
+/Prev 327 0 R
+/Next 335 0 R
+>> endobj
+327 0 obj <<
+/Title 328 0 R
+/A 325 0 R
+/Parent 135 0 R
+/Prev 323 0 R
+/Next 331 0 R
+>> endobj
+323 0 obj <<
+/Title 324 0 R
+/A 321 0 R
+/Parent 135 0 R
+/Prev 319 0 R
+/Next 327 0 R
+>> endobj
+319 0 obj <<
+/Title 320 0 R
+/A 317 0 R
+/Parent 135 0 R
+/Prev 315 0 R
+/Next 323 0 R
+>> endobj
+315 0 obj <<
+/Title 316 0 R
+/A 313 0 R
+/Parent 135 0 R
+/Prev 311 0 R
+/Next 319 0 R
+>> endobj
+311 0 obj <<
+/Title 312 0 R
+/A 309 0 R
+/Parent 135 0 R
+/Prev 307 0 R
+/Next 315 0 R
+>> endobj
+307 0 obj <<
+/Title 308 0 R
+/A 305 0 R
+/Parent 135 0 R
+/Prev 303 0 R
+/Next 311 0 R
+>> endobj
+303 0 obj <<
+/Title 304 0 R
+/A 301 0 R
+/Parent 135 0 R
+/Prev 299 0 R
+/Next 307 0 R
+>> endobj
+299 0 obj <<
+/Title 300 0 R
+/A 297 0 R
+/Parent 135 0 R
+/Prev 295 0 R
+/Next 303 0 R
+>> endobj
+295 0 obj <<
+/Title 296 0 R
+/A 293 0 R
+/Parent 135 0 R
+/Prev 291 0 R
+/Next 299 0 R
+>> endobj
+291 0 obj <<
+/Title 292 0 R
+/A 289 0 R
+/Parent 135 0 R
+/Prev 287 0 R
+/Next 295 0 R
+>> endobj
+287 0 obj <<
+/Title 288 0 R
+/A 285 0 R
+/Parent 135 0 R
+/Prev 283 0 R
+/Next 291 0 R
+>> endobj
+283 0 obj <<
+/Title 284 0 R
+/A 281 0 R
+/Parent 135 0 R
+/Prev 279 0 R
+/Next 287 0 R
+>> endobj
+279 0 obj <<
+/Title 280 0 R
+/A 277 0 R
+/Parent 135 0 R
+/Prev 275 0 R
+/Next 283 0 R
+>> endobj
+275 0 obj <<
+/Title 276 0 R
+/A 273 0 R
+/Parent 135 0 R
+/Prev 271 0 R
+/Next 279 0 R
+>> endobj
+271 0 obj <<
+/Title 272 0 R
+/A 269 0 R
+/Parent 135 0 R
+/Prev 267 0 R
+/Next 275 0 R
+>> endobj
+267 0 obj <<
+/Title 268 0 R
+/A 265 0 R
+/Parent 135 0 R
+/Prev 263 0 R
+/Next 271 0 R
+>> endobj
+263 0 obj <<
+/Title 264 0 R
+/A 261 0 R
+/Parent 135 0 R
+/Prev 259 0 R
+/Next 267 0 R
+>> endobj
+259 0 obj <<
+/Title 260 0 R
+/A 257 0 R
+/Parent 135 0 R
+/Prev 255 0 R
+/Next 263 0 R
+>> endobj
+255 0 obj <<
+/Title 256 0 R
+/A 253 0 R
+/Parent 135 0 R
+/Prev 251 0 R
+/Next 259 0 R
+>> endobj
+251 0 obj <<
+/Title 252 0 R
+/A 249 0 R
+/Parent 135 0 R
+/Prev 247 0 R
+/Next 255 0 R
+>> endobj
+247 0 obj <<
+/Title 248 0 R
+/A 245 0 R
+/Parent 135 0 R
+/Prev 243 0 R
+/Next 251 0 R
+>> endobj
+243 0 obj <<
+/Title 244 0 R
+/A 241 0 R
+/Parent 135 0 R
+/Prev 239 0 R
+/Next 247 0 R
+>> endobj
+239 0 obj <<
+/Title 240 0 R
+/A 237 0 R
+/Parent 135 0 R
+/Prev 235 0 R
+/Next 243 0 R
+>> endobj
+235 0 obj <<
+/Title 236 0 R
+/A 233 0 R
+/Parent 135 0 R
+/Prev 231 0 R
+/Next 239 0 R
+>> endobj
+231 0 obj <<
+/Title 232 0 R
+/A 229 0 R
+/Parent 135 0 R
+/Prev 227 0 R
+/Next 235 0 R
+>> endobj
+227 0 obj <<
+/Title 228 0 R
+/A 225 0 R
+/Parent 135 0 R
+/Prev 223 0 R
+/Next 231 0 R
+>> endobj
+223 0 obj <<
+/Title 224 0 R
+/A 221 0 R
+/Parent 135 0 R
+/Prev 219 0 R
+/Next 227 0 R
+>> endobj
+219 0 obj <<
+/Title 220 0 R
+/A 217 0 R
+/Parent 135 0 R
+/Prev 215 0 R
+/Next 223 0 R
+>> endobj
+215 0 obj <<
+/Title 216 0 R
+/A 213 0 R
+/Parent 135 0 R
+/Prev 211 0 R
+/Next 219 0 R
+>> endobj
+211 0 obj <<
+/Title 212 0 R
+/A 209 0 R
+/Parent 135 0 R
+/Prev 207 0 R
+/Next 215 0 R
+>> endobj
+207 0 obj <<
+/Title 208 0 R
+/A 205 0 R
+/Parent 135 0 R
+/Prev 203 0 R
+/Next 211 0 R
+>> endobj
+203 0 obj <<
+/Title 204 0 R
+/A 201 0 R
+/Parent 135 0 R
+/Prev 199 0 R
+/Next 207 0 R
+>> endobj
+199 0 obj <<
+/Title 200 0 R
+/A 197 0 R
+/Parent 135 0 R
+/Prev 195 0 R
+/Next 203 0 R
+>> endobj
+195 0 obj <<
+/Title 196 0 R
+/A 193 0 R
+/Parent 135 0 R
+/Prev 191 0 R
+/Next 199 0 R
+>> endobj
+191 0 obj <<
+/Title 192 0 R
+/A 189 0 R
+/Parent 135 0 R
+/Prev 187 0 R
+/Next 195 0 R
+>> endobj
+187 0 obj <<
+/Title 188 0 R
+/A 185 0 R
+/Parent 135 0 R
+/Prev 183 0 R
+/Next 191 0 R
+>> endobj
+183 0 obj <<
+/Title 184 0 R
+/A 181 0 R
+/Parent 135 0 R
+/Prev 179 0 R
+/Next 187 0 R
+>> endobj
+179 0 obj <<
+/Title 180 0 R
+/A 177 0 R
+/Parent 135 0 R
+/Prev 175 0 R
+/Next 183 0 R
+>> endobj
+175 0 obj <<
+/Title 176 0 R
+/A 173 0 R
+/Parent 135 0 R
+/Prev 171 0 R
+/Next 179 0 R
+>> endobj
+171 0 obj <<
+/Title 172 0 R
+/A 169 0 R
+/Parent 135 0 R
+/Prev 167 0 R
+/Next 175 0 R
+>> endobj
+167 0 obj <<
+/Title 168 0 R
+/A 165 0 R
+/Parent 135 0 R
+/Prev 163 0 R
+/Next 171 0 R
+>> endobj
+163 0 obj <<
+/Title 164 0 R
+/A 161 0 R
+/Parent 135 0 R
+/Prev 159 0 R
+/Next 167 0 R
+>> endobj
+159 0 obj <<
+/Title 160 0 R
+/A 157 0 R
+/Parent 135 0 R
+/Prev 155 0 R
+/Next 163 0 R
+>> endobj
+155 0 obj <<
+/Title 156 0 R
+/A 153 0 R
+/Parent 135 0 R
+/Prev 151 0 R
+/Next 159 0 R
+>> endobj
+151 0 obj <<
+/Title 152 0 R
+/A 149 0 R
+/Parent 135 0 R
+/Prev 147 0 R
+/Next 155 0 R
+>> endobj
+147 0 obj <<
+/Title 148 0 R
+/A 145 0 R
+/Parent 135 0 R
+/Prev 143 0 R
+/Next 151 0 R
+>> endobj
+143 0 obj <<
+/Title 144 0 R
+/A 141 0 R
+/Parent 135 0 R
+/Prev 139 0 R
+/Next 147 0 R
+>> endobj
+139 0 obj <<
+/Title 140 0 R
+/A 137 0 R
+/Parent 135 0 R
+/Next 143 0 R
+>> endobj
+135 0 obj <<
+/Title 136 0 R
+/A 133 0 R
+/Parent 13610 0 R
+/Prev 119 0 R
+/First 139 0 R
+/Last 359 0 R
+/Count -56
+>> endobj
+131 0 obj <<
+/Title 132 0 R
+/A 129 0 R
+/Parent 119 0 R
+/Prev 127 0 R
+>> endobj
+127 0 obj <<
+/Title 128 0 R
+/A 125 0 R
+/Parent 119 0 R
+/Prev 123 0 R
+/Next 131 0 R
+>> endobj
+123 0 obj <<
+/Title 124 0 R
+/A 121 0 R
+/Parent 119 0 R
+/Next 127 0 R
+>> endobj
+119 0 obj <<
+/Title 120 0 R
+/A 117 0 R
+/Parent 13610 0 R
+/Prev 111 0 R
+/Next 135 0 R
+/First 123 0 R
+/Last 131 0 R
+/Count -3
+>> endobj
+115 0 obj <<
+/Title 116 0 R
+/A 113 0 R
+/Parent 111 0 R
+>> endobj
+111 0 obj <<
+/Title 112 0 R
+/A 109 0 R
+/Parent 13610 0 R
+/Prev 103 0 R
+/Next 119 0 R
+/First 115 0 R
+/Last 115 0 R
+/Count -1
+>> endobj
+107 0 obj <<
+/Title 108 0 R
+/A 105 0 R
+/Parent 103 0 R
+>> endobj
+103 0 obj <<
+/Title 104 0 R
+/A 101 0 R
+/Parent 13610 0 R
+/Prev 95 0 R
+/Next 111 0 R
+/First 107 0 R
+/Last 107 0 R
+/Count -1
+>> endobj
+99 0 obj <<
+/Title 100 0 R
+/A 97 0 R
+/Parent 95 0 R
+>> endobj
+95 0 obj <<
+/Title 96 0 R
+/A 93 0 R
+/Parent 13610 0 R
+/Prev 87 0 R
+/Next 103 0 R
+/First 99 0 R
+/Last 99 0 R
+/Count -1
+>> endobj
+91 0 obj <<
+/Title 92 0 R
+/A 89 0 R
+/Parent 87 0 R
+>> endobj
+87 0 obj <<
+/Title 88 0 R
+/A 85 0 R
+/Parent 13610 0 R
+/Prev 79 0 R
+/Next 95 0 R
+/First 91 0 R
+/Last 91 0 R
+/Count -1
+>> endobj
+83 0 obj <<
+/Title 84 0 R
+/A 81 0 R
+/Parent 79 0 R
+>> endobj
+79 0 obj <<
+/Title 80 0 R
+/A 77 0 R
+/Parent 13610 0 R
+/Prev 75 0 R
+/Next 87 0 R
+/First 83 0 R
+/Last 83 0 R
+/Count -1
+>> endobj
+75 0 obj <<
+/Title 76 0 R
+/A 73 0 R
+/Parent 13610 0 R
+/Prev 71 0 R
+/Next 79 0 R
+>> endobj
+71 0 obj <<
+/Title 72 0 R
+/A 69 0 R
+/Parent 13610 0 R
+/Prev 7 0 R
+/Next 75 0 R
+>> endobj
+67 0 obj <<
+/Title 68 0 R
+/A 65 0 R
+/Parent 7 0 R
+/Prev 63 0 R
+>> endobj
+63 0 obj <<
+/Title 64 0 R
+/A 61 0 R
+/Parent 7 0 R
+/Prev 59 0 R
+/Next 67 0 R
+>> endobj
+59 0 obj <<
+/Title 60 0 R
+/A 57 0 R
+/Parent 7 0 R
+/Prev 55 0 R
+/Next 63 0 R
+>> endobj
+55 0 obj <<
+/Title 56 0 R
+/A 53 0 R
+/Parent 7 0 R
+/Prev 51 0 R
+/Next 59 0 R
+>> endobj
+51 0 obj <<
+/Title 52 0 R
+/A 49 0 R
+/Parent 7 0 R
+/Prev 47 0 R
+/Next 55 0 R
+>> endobj
+47 0 obj <<
+/Title 48 0 R
+/A 45 0 R
+/Parent 7 0 R
+/Prev 43 0 R
+/Next 51 0 R
+>> endobj
+43 0 obj <<
+/Title 44 0 R
+/A 41 0 R
+/Parent 7 0 R
+/Prev 39 0 R
+/Next 47 0 R
+>> endobj
+39 0 obj <<
+/Title 40 0 R
+/A 37 0 R
+/Parent 7 0 R
+/Prev 35 0 R
+/Next 43 0 R
+>> endobj
+35 0 obj <<
+/Title 36 0 R
+/A 33 0 R
+/Parent 7 0 R
+/Prev 31 0 R
+/Next 39 0 R
+>> endobj
+31 0 obj <<
+/Title 32 0 R
+/A 29 0 R
+/Parent 7 0 R
+/Prev 27 0 R
+/Next 35 0 R
+>> endobj
+27 0 obj <<
+/Title 28 0 R
+/A 25 0 R
+/Parent 7 0 R
+/Prev 23 0 R
+/Next 31 0 R
+>> endobj
+23 0 obj <<
+/Title 24 0 R
+/A 21 0 R
+/Parent 7 0 R
+/Prev 19 0 R
+/Next 27 0 R
+>> endobj
+19 0 obj <<
+/Title 20 0 R
+/A 17 0 R
+/Parent 7 0 R
+/Prev 15 0 R
+/Next 23 0 R
+>> endobj
+15 0 obj <<
+/Title 16 0 R
+/A 13 0 R
+/Parent 7 0 R
+/Prev 11 0 R
+/Next 19 0 R
+>> endobj
+11 0 obj <<
+/Title 12 0 R
+/A 9 0 R
+/Parent 7 0 R
+/Next 15 0 R
+>> endobj
+7 0 obj <<
+/Title 8 0 R
+/A 5 0 R
+/Parent 13610 0 R
+/Next 71 0 R
+/First 11 0 R
+/Last 67 0 R
+/Count -15
+>> endobj
+13611 0 obj <<
+/Names [(Doc-Start) 366 0 R (GFDL) 1197 0 R (GFDL_GFDL) 406 0 R (GPL) 1124 0 R (GPL_GPL) 407 0 R (Item.1) 552 0 R]
+/Limits [(Doc-Start) (Item.1)]
+>> endobj
+13612 0 obj <<
+/Names [(Item.2) 553 0 R (Item.3) 559 0 R (Item.4) 560 0 R (Item.5) 561 0 R (classParma__Polyhedra__Library_1_1BD__Shape) 527 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a00b832cc0784b7b30f4d4a2f738a3032) 2709 0 R]
+/Limits [(Item.2) (classParma__Polyhedra__Library_1_1BD__Shape_a00b832cc0784b7b30f4d4a2f738a3032)]
+>> endobj
+13613 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a033967c42f02b6029fc4d6153eb8072a) 2400 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a0442c5079b3de8dcac61c224ee7a2e6f) 2642 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a07cc48290e435dfb739fb565ff1aa3fa) 2648 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a0acf1147e3f81830606dec4cc8faddd4) 2650 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a0badc932380dcb7f72ea50ca922d9d4b) 2765 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a033967c42f02b6029fc4d6153eb8072a) (classParma__Polyhedra__Library_1_1BD__Shape_a0cc08ca5d72d5cf465eb7812ffbb156a)]
+>> endobj
+13614 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a128b2fafec11e096e41f78710ba2ff0a) 2406 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a12dc6df3a06f4c97c6bb2264bbad05ac) 2394 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a15b3e8152862a6b98ecf1c4f4a142634) 2407 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a16f61fdba7e14a67990a84e93be00efb) 2530 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a178a6a88143f44b43939d36024af6162) 2710 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a128b2fafec11e096e41f78710ba2ff0a) (classParma__Polyhedra__Library_1_1BD__Shape_a1a02b17cbccf348192f3e7f776b3b3fd)]
+>> endobj
+13615 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a1a6088f536e9340145630576cfd6e6b9) 2399 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a1d00782cbab77286295552af7dba7ed8) 2523 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a1e645f35cbeedf3341428988157f71ab) 2459 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a1f8426558552c358c30b6263c758fe51) 2766 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a20814dec69b3a6602b70a9ad50db9b2a) 2575 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a1a6088f536e9340145630576cfd6e6b9) (classParma__Polyhedra__Library_1_1BD__Shape_a2204d6d24f9c68fdb6a72062afe9a209)]
+>> endobj
+13616 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a221657648a7e456dba61589e37765cd4) 2816 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a242d9bf0b5b215d4aa771e9f8595baea) 2518 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a24d2b69146ab1b2216e437468a818cea) 2716 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a24fbe68af11e373092f23f59b6cfd3e1) 2460 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a25a2d683973c6c6901e47c4fe90cf2b1) 2466 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a221657648a7e456dba61589e37765cd4) (classParma__Polyhedra__Library_1_1BD__Shape_a25c5ef784f17646705c76a5be6c724a3)]
+>> endobj
+13617 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a28b268e37d25a0cfa2b5bf39e85c758d) 2577 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a29212d49685544d8a3c71993bd30f467) 2572 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a2af430cd70ac416ca0907312b65812e6) 2720 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a33daeddebffc6eb847edd92c3ba045dc) 2522 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a35f19d0e7190c5a18aebc9ced95d554e) 2584 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a28b268e37d25a0cfa2b5bf39e85c758d) (classParma__Polyhedra__Library_1_1BD__Shape_a3825b4905d72422089bf28d3c95c2964)]
+>> endobj
+13618 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a396bd79b5d57d54685d9c1b9d970c00e) 2571 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a3e0339ccaf8da39b9fd21ff8777e99e4) 2713 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a47a21a1c8a88c306877d15d4dbc697b4) 2817 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a4aef1a4f6e9bed5d473e98320401e0e5) 2529 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a4b7615a8ec5120dc083f368ecfe2d1da) 2643 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a396bd79b5d57d54685d9c1b9d970c00e) (classParma__Polyhedra__Library_1_1BD__Shape_a4e04c3a6c835332c31dfbb928b31144e)]
+>> endobj
+13619 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a5049b85730d6720536be440753b11ed8) 2813 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a535090b407c713681228d6ab2b835e36) 2578 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a54f33edf5fdf4c6f606136b882be9f1d) 2519 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a5616d386d85dc734e155a67f12e7752f) 2712 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a5a66e6f883c7310ddbc312f78bb0970f) 2711 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a5049b85730d6720536be440753b11ed8) (classParma__Polyhedra__Library_1_1BD__Shape_a5d71f71f50ba04fe5f810acf0cf1e294)]
+>> endobj
+13620 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a5e972fbb672e9b2faec34b949c9a2918) 2527 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a620d5cdb01b8b20848ca01f4e4c05b4f) 2517 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a63e8c0f76da4e9b3520aa338d152d253) 2762 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a641b55dd6c26bce06bd8041b38aec873) 2469 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a668cbd7cea86f47c4e2b303468083712) 2585 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a5e972fbb672e9b2faec34b949c9a2918) (classParma__Polyhedra__Library_1_1BD__Shape_a6a3dd351c33d66250d2b4ac639768f07)]
+>> endobj
+13621 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a6ef0e7043830c5e6b9ffd67697d22c04) 2644 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a75188bcee0bfc88a4c8571acc04a1826) 2528 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a79a586ca093d218e5603380ac0475717) 2468 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a79acafbe4f67eb7e2710287bcd60db96) 2652 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a8101d965bc32e4ab1df6aa445730769b) 2456 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a6ef0e7043830c5e6b9ffd67697d22c04) (classParma__Polyhedra__Library_1_1BD__Shape_a82b35fc075e1e9542d4cc5cff2e236f8)]
+>> endobj
+13622 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a84a9c57aa31433a277d9be6b0077065a) 2646 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a86dd59c40a3c9867c2979ff24ba342c2) 2641 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a894e92407922be006a76577cf47b8589) 2645 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a8a87935278cb7b1290301e96cb82fcb1) 2526 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a8c73e2c464d5e93dc55862d00d5478f8) 2570 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a84a9c57aa31433a277d9be6b0077065a) (classParma__Polyhedra__Library_1_1BD__Shape_a8c89ddcd2fc4311af0e358477630d7d9)]
+>> endobj
+13623 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a8d6c186583503c4394603550b50edf59) 2820 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a8e13e7d3536de2745bc9e58a25b75b77) 2583 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a8ede75fbd470fa30f11d4c02672883f5) 2581 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a8f0bdfca2a6993bfa08358319d589ab6) 2462 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a93c1c491c0035f6c38b9ee036184aa7e) 2398 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a8d6c186583503c4394603550b50edf59) (classParma__Polyhedra__Library_1_1BD__Shape_a9507085c5b0efd13c80f08a22b0f5529)]
+>> endobj
+13624 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a988ff507806fa8126649f463ef6a1f31) 2651 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a9bf45a32e428970068f654258dd7fb0c) 2454 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a9c0703b2311336754e28a7f739b7e685) 2759 0 R (classParma__Polyhedra__Library_1_1BD__Shape_aa07f93a685253eb04edab43b5ebd27b2) 2465 0 R (classParma__Polyhedra__Library_1_1BD__Shape_aa78a6abbbb3c425992ca644f732e69e8) 2455 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a988ff507806fa8126649f463ef6a1f31) (classParma__Polyhedra__Library_1_1BD__Shape_aa7b3a5c12ea008b78eed88a621c1fab1)]
+>> endobj
+13625 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_aa85819690f928a46e3f437bfe629e976) 2580 0 R (classParma__Polyhedra__Library_1_1BD__Shape_aab3964a5c29992e6476852c9d246fe6f) 2403 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ab054f67fb31ea4e860dd7c24c0b56676) 2763 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ab0a670aeef72d808d620bbc33a5e8cd7) 2761 0 R (classParma__Polyhedra__Library_1_1BD__Shape_abee6d42dd6f94979bcc7fb3d51102864) 2453 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_aa85819690f928a46e3f437bfe629e976) (classParma__Polyhedra__Library_1_1BD__Shape_ac65231748a66ac5c074502cc8e652e10)]
+>> endobj
+13626 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_ac7f89b09f6755cdcd97daa3a92522b00) 2461 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ac91aac77237c2405df039c4fcfa08ab0) 2767 0 R (classParma__Polyhedra__Library_1_1BD__Shape_aca71bae643870b4a7aaaabbab838c330) 2524 0 R (classParma__Polyhedra__Library_1_1BD__Shape_acaa538c9c00b2f69301365d916bb49e8) 2516 0 R (classParma__Polyhedra__Library_1_1BD__Shape_accbd8986577794cea90edef63e859ab1) 2758 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_ac7f89b09f6755cdcd97daa3a92522b00) (classParma__Polyhedra__Library_1_1BD__Shape_acda762f8c081fed2862260211618fce0)]
+>> endobj
+13627 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_acdc537f0aa5117fe3749d3c50b7dc4fd) 2814 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ace010a880cb8574335f1be294907de89) 2582 0 R (classParma__Polyhedra__Library_1_1BD__Shape_acf4dc2de16f4a54ca03daa6ac1d31ce2) 2576 0 R (classParma__Polyhedra__Library_1_1BD__Shape_acfed8bc19e046453778c9d99d84df283) 2393 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ad09a9ccc89ace499a888b6b1a1f4ce44) 2457 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_acdc537f0aa5117fe3749d3c50b7dc4fd) (classParma__Polyhedra__Library_1_1BD__Shape_ad0a9267e420144cacfb867076d00a803)]
+>> endobj
+13628 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_ad2e535d5b20d25d36b4744da392edf02) 2586 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ad369744c43a49ebac904bc3e17de0478) 2574 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ad80989353ea3738abdb6b605d27cc8fa) 2707 0 R (classParma__Polyhedra__Library_1_1BD__Shape_adbf2609849c95cfb7277df1edc69534f) 2463 0 R (classParma__Polyhedra__Library_1_1BD__Shape_adf3cfc56df68bc8063e6e9eb3d0ad3f1) 2719 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_ad2e535d5b20d25d36b4744da392edf02) (classParma__Polyhedra__Library_1_1BD__Shape_adf78023ac662762ffc808902b970597b)]
+>> endobj
+13629 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_ae0a1b4b4a344cad01c58e8e006a7ff16) 2402 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ae0ba85e8cab7e4e95ec001bde5bdd99d) 2649 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ae5c66812ab981ee2d1ab96ce218a7782) 2818 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ae61fdcc22d1e0fe43b94194f2eadaa1a) 2521 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ae68d61763922cee018cbba3834b2085c) 2754 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_ae0a1b4b4a344cad01c58e8e006a7ff16) (classParma__Polyhedra__Library_1_1BD__Shape_ae748c3f5082b158453fbb3ccf57c8f70)]
+>> endobj
+13630 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_aeda87d46bc3b54b420a475934e0e1cb6) 2718 0 R (classParma__Polyhedra__Library_1_1BD__Shape_aedabe8ecd0866b972e97709e17f94681) 2396 0 R (classParma__Polyhedra__Library_1_1BD__Shape_af4b0f891a6911d7784216f537fa3e473) 2815 0 R (classParma__Polyhedra__Library_1_1BD__Shape_af6351727d099ad178db8b8e742507f4c) 2821 0 R (classParma__Polyhedra__Library_1_1BD__Shape_afa8a10ff4b09f8a87e3c558a39f5888e) 2760 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_aeda87d46bc3b54b420a475934e0e1cb6) (classParma__Polyhedra__Library_1_1BD__Shape_afaa5d6b3c1b3b83161b619c28c5f9936)]
+>> endobj
+13631 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_afad498a5802a7928442fd0d4b8c6183f) 2405 0 R (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) 937 0 R (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a35ea0c10995c89f8a11a2e8bb5dc7f17) 3122 0 R (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a5ebec8f5ff32009c4cf98dead90f4a3c) 3118 0 R (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a67b4e0eba7692bced073431cd3cc22ae) 3117 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_afad498a5802a7928442fd0d4b8c6183f) (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a6ab41afc79135511037718442fcad4d4)]
+>> endobj
+13632 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a97b2101d371edae52746a53cf34e4b67) 3120 0 R (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_af2ec3c62388f9aef1414a527e82cd1a7) 3119 0 R (classParma__Polyhedra__Library_1_1Box) 529 0 R (classParma__Polyhedra__Library_1_1Box_a00f095adfc747a3b56312f5beb93b621) 3504 0 R (classParma__Polyhedra__Library_1_1Box_a025c54a0d06e882346b74c0624ee6e71) 3558 0 R (classParma__Polyhedra__Library_1_1Box_a04732c1c89db2f6d76b3b9479ec2fb99 [...]
+/Limits [(classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a97b2101d371edae52746a53cf34e4b67) (classParma__Polyhedra__Library_1_1Box_a04732c1c89db2f6d76b3b9479ec2fb99)]
+>> endobj
+13633 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_a055f3030915a1b7de0cc50761d9a3245) 3313 0 R (classParma__Polyhedra__Library_1_1Box_a06c2ce3f0789aba0294da43628b50226) 3445 0 R (classParma__Polyhedra__Library_1_1Box_a070e05c80af78d7c91bee958b9848080) 3551 0 R (classParma__Polyhedra__Library_1_1Box_a0cb0abcc152d2d7c95a116efd3ea989a) 3555 0 R (classParma__Polyhedra__Library_1_1Box_a1039be5680ea8eceb903367e1e7aa13f) 3324 0 R (classParma__Polyhedra__Library_1_1Box_a161c87c94b78fd1111365e185d0a3 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_a055f3030915a1b7de0cc50761d9a3245) (classParma__Polyhedra__Library_1_1Box_a161c87c94b78fd1111365e185d0a3ae7)]
+>> endobj
+13634 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_a17182f3f0d9242d5821ba59b2773ae55) 3448 0 R (classParma__Polyhedra__Library_1_1Box_a1915597423b1aa0dbed55312b2308efd) 3559 0 R (classParma__Polyhedra__Library_1_1Box_a1d20ad17015746b2d9e0290631fc175b) 3548 0 R (classParma__Polyhedra__Library_1_1Box_a1d8eb71bd67ae50436968e7323bbeb7e) 3149 0 R (classParma__Polyhedra__Library_1_1Box_a21711374269e4bc42c158e233fd8d384) 3552 0 R (classParma__Polyhedra__Library_1_1Box_a22f9ceb879f1c8d892f60fb3d9577 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_a17182f3f0d9242d5821ba59b2773ae55) (classParma__Polyhedra__Library_1_1Box_a22f9ceb879f1c8d892f60fb3d9577d81)]
+>> endobj
+13635 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_a286412c3f05e82abdf69c5e5562ff949) 3246 0 R (classParma__Polyhedra__Library_1_1Box_a2d20e2dc8d4d0fbbdf87bd01a51dc01e) 3596 0 R (classParma__Polyhedra__Library_1_1Box_a2e233c23c81273bd776c73cff35ec60e) 3502 0 R (classParma__Polyhedra__Library_1_1Box_a2ebf93b52454102cd99eaa211ad6ff71) 3371 0 R (classParma__Polyhedra__Library_1_1Box_a2f516cd923f94296daf57c8ace328af9) 3260 0 R (classParma__Polyhedra__Library_1_1Box_a2f964d43c2798bde1924e82d88971 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_a286412c3f05e82abdf69c5e5562ff949) (classParma__Polyhedra__Library_1_1Box_a2f964d43c2798bde1924e82d88971ea2)]
+>> endobj
+13636 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_a319084c6ac93db482a8742a58e2e01f3) 3187 0 R (classParma__Polyhedra__Library_1_1Box_a339a341a2f7d60de83e4feb3e8986558) 3250 0 R (classParma__Polyhedra__Library_1_1Box_a36e39f75a5b973533a044d606444db4f) 3319 0 R (classParma__Polyhedra__Library_1_1Box_a3a5a6288b0ad32439b465341c6c1c528) 3507 0 R (classParma__Polyhedra__Library_1_1Box_a3c8e578089e8420dc286b27411fde2fd) 3318 0 R (classParma__Polyhedra__Library_1_1Box_a3d107d8f8a78a3925031545c8e1d1 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_a319084c6ac93db482a8742a58e2e01f3) (classParma__Polyhedra__Library_1_1Box_a3d107d8f8a78a3925031545c8e1d1a73)]
+>> endobj
+13637 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_a3daaa36a6bf749e0b4d66ce57878e2d0) 3440 0 R (classParma__Polyhedra__Library_1_1Box_a3f2210364b954a8d532905d09bcb7149) 3199 0 R (classParma__Polyhedra__Library_1_1Box_a40ab06947d065a171792da1ce6ed2505) 3322 0 R (classParma__Polyhedra__Library_1_1Box_a438eaa92ba7d9f7d8ec085fe9b00ec0b) 3597 0 R (classParma__Polyhedra__Library_1_1Box_a4aa52c6b939cf0076740afb33dd454e5) 3509 0 R (classParma__Polyhedra__Library_1_1Box_a4b5e1306956d46f1ee477428b451b [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_a3daaa36a6bf749e0b4d66ce57878e2d0) (classParma__Polyhedra__Library_1_1Box_a4b5e1306956d46f1ee477428b451b44b)]
+>> endobj
+13638 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_a4cd79f95aeca1043d5e56dcc194bf096) 3326 0 R (classParma__Polyhedra__Library_1_1Box_a4e6787c98290a49ce80b90c008aac5a8) 3546 0 R (classParma__Polyhedra__Library_1_1Box_a5307e5cfaad0770ede6799ad31962d71) 3327 0 R (classParma__Polyhedra__Library_1_1Box_a5659d55fb93c1fe31b82a674e2630c13) 3547 0 R (classParma__Polyhedra__Library_1_1Box_a573ac186b0da77408bcb80531ca0090c) 3316 0 R (classParma__Polyhedra__Library_1_1Box_a597f9740fbc8534391d2c8cb63816 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_a4cd79f95aeca1043d5e56dcc194bf096) (classParma__Polyhedra__Library_1_1Box_a597f9740fbc8534391d2c8cb6381660c)]
+>> endobj
+13639 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_a5b6323dfa423ea57b8d845237d9b576d) 3557 0 R (classParma__Polyhedra__Library_1_1Box_a5c02cdac1cee4eda75e568ef9f550da9) 3259 0 R (classParma__Polyhedra__Library_1_1Box_a5f1ce9b2af5f6ba550cd9080ff83077c) 3188 0 R (classParma__Polyhedra__Library_1_1Box_a6592baa6045a08fe1eb0ba33e8ed2942) 3595 0 R (classParma__Polyhedra__Library_1_1Box_a685232ed211cce61f5d27727d979df94) 3382 0 R (classParma__Polyhedra__Library_1_1Box_a6919ec5aef8459ad9c65bc36e8100 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_a5b6323dfa423ea57b8d845237d9b576d) (classParma__Polyhedra__Library_1_1Box_a6919ec5aef8459ad9c65bc36e8100d58)]
+>> endobj
+13640 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_a6d2f7819b7359865679b24e683231303) 3379 0 R (classParma__Polyhedra__Library_1_1Box_a6d5097ef9a821f98cb97571eb52a49aa) 3500 0 R (classParma__Polyhedra__Library_1_1Box_a6df86d90bff51a8827ba3011506639e2) 3505 0 R (classParma__Polyhedra__Library_1_1Box_a70638e55ff0529f6f481db703645be05) 3311 0 R (classParma__Polyhedra__Library_1_1Box_a736577ec65f40b0637f13486e64f051a) 3377 0 R (classParma__Polyhedra__Library_1_1Box_a7ded037fa4c26b2e12565d3aa2c6b [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_a6d2f7819b7359865679b24e683231303) (classParma__Polyhedra__Library_1_1Box_a7ded037fa4c26b2e12565d3aa2c6b70b)]
+>> endobj
+13641 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_a7e1a00f36570e89ee95817d898587743) 3247 0 R (classParma__Polyhedra__Library_1_1Box_a7e3ffa1dd9894e6418bd153a4cd2de12) 3256 0 R (classParma__Polyhedra__Library_1_1Box_a7fff251a8cd2ecd8b928175af94d7069) 3251 0 R (classParma__Polyhedra__Library_1_1Box_a818b1050a44c6fb4d635a6fc088eeeca) 3191 0 R (classParma__Polyhedra__Library_1_1Box_a84d340c4e2a8a35e81d0fb91ff2c466e) 3192 0 R (classParma__Polyhedra__Library_1_1Box_a852ebcee0de832c12a87ad15d3757 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_a7e1a00f36570e89ee95817d898587743) (classParma__Polyhedra__Library_1_1Box_a852ebcee0de832c12a87ad15d37570a2)]
+>> endobj
+13642 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_a8653fd3779f7a28930872b1f885f25ee) 3594 0 R (classParma__Polyhedra__Library_1_1Box_a87e906459b095e23114ee8f0025086cb) 3384 0 R (classParma__Polyhedra__Library_1_1Box_a8e45baf04a16a09cfa25bac864515832) 3317 0 R (classParma__Polyhedra__Library_1_1Box_a901382835b88fb9969d88eea101ae7cf) 3249 0 R (classParma__Polyhedra__Library_1_1Box_a90cc17398be6745eb507339397381d7a) 3323 0 R (classParma__Polyhedra__Library_1_1Box_a91546e88fe3474f55bc6f0eceffa7 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_a8653fd3779f7a28930872b1f885f25ee) (classParma__Polyhedra__Library_1_1Box_a91546e88fe3474f55bc6f0eceffa7251)]
+>> endobj
+13643 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_a929caef76be87459ac964105f4c75cf4) 3553 0 R (classParma__Polyhedra__Library_1_1Box_a92ef9a99d160f55e3fc44a4bd1ae78f2) 3376 0 R (classParma__Polyhedra__Library_1_1Box_a944e2c41213d3ea40e74930a90de97bf) 3380 0 R (classParma__Polyhedra__Library_1_1Box_a96038eb89649898faa9a4355206b72d3) 3495 0 R (classParma__Polyhedra__Library_1_1Box_a9de293fc5ed59d0122ccd78839b1a668) 3253 0 R (classParma__Polyhedra__Library_1_1Box_a9e6044d3d1b8cd66b7e150763a0cc [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_a929caef76be87459ac964105f4c75cf4) (classParma__Polyhedra__Library_1_1Box_a9e6044d3d1b8cd66b7e150763a0cce2a)]
+>> endobj
+13644 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_a9ff61047ef1f0f33fe206ab471aa4025) 3385 0 R (classParma__Polyhedra__Library_1_1Box_a9ffb692c7f3bd8af9b81135e38b38dd7) 3325 0 R (classParma__Polyhedra__Library_1_1Box_aa366a38561684a64bc0a042702534a07) 3374 0 R (classParma__Polyhedra__Library_1_1Box_aa7961325727c376428ef2f9431e0c204) 3195 0 R (classParma__Polyhedra__Library_1_1Box_aac61a0c0f3a687ef1d79d9014238554c) 3186 0 R (classParma__Polyhedra__Library_1_1Box_aace7b1f85601837554656295b9c90 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_a9ff61047ef1f0f33fe206ab471aa4025) (classParma__Polyhedra__Library_1_1Box_aace7b1f85601837554656295b9c90dce)]
+>> endobj
+13645 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_aacf7b2a7e0bb5007ce8cd9506d06137d) 3373 0 R (classParma__Polyhedra__Library_1_1Box_ab4b097033191e38bbb59add2ebba3e70) 3196 0 R (classParma__Polyhedra__Library_1_1Box_ab76731fc33f60619d339fd146af90e7f) 3185 0 R (classParma__Polyhedra__Library_1_1Box_ab85f80c281c840eedb4f228757b8515a) 3375 0 R (classParma__Polyhedra__Library_1_1Box_aba476c1ff2b0f1cd58f6e76b981cafac) 3508 0 R (classParma__Polyhedra__Library_1_1Box_abb6e0e38bda55fc988819da21f268 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_aacf7b2a7e0bb5007ce8cd9506d06137d) (classParma__Polyhedra__Library_1_1Box_abb6e0e38bda55fc988819da21f2689eb)]
+>> endobj
+13646 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_abd0fb1fa2293b2ca367d1ba5eba12106) 3383 0 R (classParma__Polyhedra__Library_1_1Box_abd266a7d827fb77e09de63dfea2f9d58) 3447 0 R (classParma__Polyhedra__Library_1_1Box_abd6b88d6fd6e0259faa544106b08aeaa) 3312 0 R (classParma__Polyhedra__Library_1_1Box_abe59d09769e8f4ee38d79b45a6295756) 3503 0 R (classParma__Polyhedra__Library_1_1Box_abeb3e0b3cafb96de2ab53e985c574bb7) 3194 0 R (classParma__Polyhedra__Library_1_1Box_ac5eb33b72a86a33d7ae4685d376b5 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_abd0fb1fa2293b2ca367d1ba5eba12106) (classParma__Polyhedra__Library_1_1Box_ac5eb33b72a86a33d7ae4685d376b50a6)]
+>> endobj
+13647 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_ac72c231542712976d1f9223d0537f5d5) 3193 0 R (classParma__Polyhedra__Library_1_1Box_ac86971c152fbb8d2d486d7396ad6b142) 3248 0 R (classParma__Polyhedra__Library_1_1Box_ac8a2f81fc1c5b99600d406300792119f) 3244 0 R (classParma__Polyhedra__Library_1_1Box_acbf26ad2a67dbfbd24eb9c89448a793b) 3145 0 R (classParma__Polyhedra__Library_1_1Box_acddbfcdd0e7dd70c2258493ef67d0911) 3197 0 R (classParma__Polyhedra__Library_1_1Box_ace7b6bb6c1aabdf57f1643e88a834 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_ac72c231542712976d1f9223d0537f5d5) (classParma__Polyhedra__Library_1_1Box_ace7b6bb6c1aabdf57f1643e88a834aac)]
+>> endobj
+13648 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_ad02ce2da26b1d9dcd0d45042b9f5c3e5) 3148 0 R (classParma__Polyhedra__Library_1_1Box_ad9dba7a094763a47be44e246c1120fa7) 3442 0 R (classParma__Polyhedra__Library_1_1Box_adb355a57fc1949b2ef9627d45be5f9bc) 3257 0 R (classParma__Polyhedra__Library_1_1Box_adcd50fc4fa1b8e5533d7af0513d1a833) 3190 0 R (classParma__Polyhedra__Library_1_1Box_addca3baab772ce17fb5133b0c4e60c33) 3255 0 R (classParma__Polyhedra__Library_1_1Box_adf00a3a6522cd0b27a52ba3e2ab5c [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_ad02ce2da26b1d9dcd0d45042b9f5c3e5) (classParma__Polyhedra__Library_1_1Box_adf00a3a6522cd0b27a52ba3e2ab5c8ab)]
+>> endobj
+13649 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_ae1509738a054a1ffeb070a35c41db257) 3446 0 R (classParma__Polyhedra__Library_1_1Box_ae627d4ce07125a5bf6dbe4c4464bfacf) 3189 0 R (classParma__Polyhedra__Library_1_1Box_ae70fafb10013762e436a434564d7e931) 3441 0 R (classParma__Polyhedra__Library_1_1Box_ae862a635387c2458da51889c20465f0c) 3378 0 R (classParma__Polyhedra__Library_1_1Box_ae8b96392adb007f1c59758cba8cbc886) 3450 0 R (classParma__Polyhedra__Library_1_1Box_af03e6aabc70746d795e2fd524e15f [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_ae1509738a054a1ffeb070a35c41db257) (classParma__Polyhedra__Library_1_1Box_af03e6aabc70746d795e2fd524e15f283)]
+>> endobj
+13650 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_af0b5a67b4316f5fabc76dddc85e01f95) 3556 0 R (classParma__Polyhedra__Library_1_1Box_af5edabe0fbfa14196208041ded356c65) 3506 0 R (classParma__Polyhedra__Library_1_1Box_af623edfed6d4816ac5573f42a6a1e801) 3258 0 R (classParma__Polyhedra__Library_1_1Box_afb683aefdda7a1c5dcf92ee2a03daf81) 3444 0 R (classParma__Polyhedra__Library_1_1Box_afd20bc6142cb1206b51b0b449ebf4273) 3451 0 R (classParma__Polyhedra__Library_1_1Box_afe3a91955f4b6b81c8572e60b3e26 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_af0b5a67b4316f5fabc76dddc85e01f95) (classParma__Polyhedra__Library_1_1Box_afe3a91955f4b6b81c8572e60b3e263dc)]
+>> endobj
+13651 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1C__Polyhedron) 510 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_a09726be54fe2a591787de59eeffdd2ea) 3938 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_a2b220dabc613a89a062968101429e58c) 3902 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_a33d58476db85f48e4ad680c69bca524f) 3901 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_a4b841053fdf5718c17a018ff650b550a) 3900 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_a59d0 [...]
+/Limits [(classParma__Polyhedra__Library_1_1C__Polyhedron) (classParma__Polyhedra__Library_1_1C__Polyhedron_a59d06e9b429faef7a632d58e4a0b12bd)]
+>> endobj
+13652 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1C__Polyhedron_a5eb7f86790ada6549123a0225d68a4de) 3945 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_a6424da8931d774f6a2e403c1e2f0d09a) 3939 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_a68e25304a250a8c739927adfb90043d1) 3908 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_a6b286c9e001bf126a0ab85aac675786d) 3942 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_a6f581bf46ab0488f444977453ba2ea2d) 3937 0 R (classParma__Polyhe [...]
+/Limits [(classParma__Polyhedra__Library_1_1C__Polyhedron_a5eb7f86790ada6549123a0225d68a4de) (classParma__Polyhedra__Library_1_1C__Polyhedron_a8a6c3f01edb04382620066f17b63b20c)]
+>> endobj
+13653 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1C__Polyhedron_a9720487deabf813a31afd4e9cfe695aa) 3907 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_ac3126925bcd3349b150771d52c19639d) 3906 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_ac86d25d06285c9a2e890770fed084574) 3943 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_ac98ed1378829f72aee73c40dff16f269) 3903 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_ae46f7a91b9fac1a62ef875ec5c72aab6) 3905 0 R (classParma__Polyhe [...]
+/Limits [(classParma__Polyhedra__Library_1_1C__Polyhedron_a9720487deabf813a31afd4e9cfe695aa) (classParma__Polyhedra__Library_1_1C__Polyhedron_ae9a2b78be6811d666fb9d145078d796d)]
+>> endobj
+13654 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1C__Polyhedron_afaae25a26dbecf9341c7fb2c2575f81f) 3944 0 R (classParma__Polyhedra__Library_1_1Checked__Number) 1332 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a00f887bfb5c61faba29a67def563c786) 4109 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a02949da26a3761489d2fb98018010990) 4157 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a06c0a4ba25cbc3d59797bf1c73c49497) 4213 0 R (classParma__Polyhedra__Library_1_1Checked__N [...]
+/Limits [(classParma__Polyhedra__Library_1_1C__Polyhedron_afaae25a26dbecf9341c7fb2c2575f81f) (classParma__Polyhedra__Library_1_1Checked__Number_a0803532e7523865597c394e1371d2b16)]
+>> endobj
+13655 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a08ceb442794b5f60c1ad09ce744371e1) 4153 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a0acb1530838a14041c43002dd8ee3541) 4221 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a164f8732d5fe6b526a34e168145a95ad) 4100 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a16b12775a696c6e304cf9ee7ffe2213e) 4384 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a1a79ab4c49d7ae4406b56dc2b3d94463) 4209 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a08ceb442794b5f60c1ad09ce744371e1) (classParma__Polyhedra__Library_1_1Checked__Number_a1bdc1023fb4478270594d0e965eb90c9)]
+>> endobj
+13656 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a1d723d4d200b4a6a694b141c7b6f408e) 4329 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a2024878c4c26cb836d454e2e93f40c8f) 4018 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a24e90bb8bb38d248aca79c76a1717d9d) 4071 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a268aa30d717cdc7d07e60cf7c56712e6) 4110 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a2857ee1039a41cfab001c0ba21c69ac3) 4156 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a1d723d4d200b4a6a694b141c7b6f408e) (classParma__Polyhedra__Library_1_1Checked__Number_a298300b8f88eb674c317b99ad09a474b)]
+>> endobj
+13657 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a2b39d89b5938161bd8922b7c1f28f637) 4218 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a2ee8a6019070192609b3ea6e5dfa3018) 4413 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a2f03dea4f9d5f0e15e18785cf3dd58a3) 4266 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a2f9c525f46f4ff5707b505a88c82aee0) 4270 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a307453961ae9779ce9e1e3ebcc94496d) 4323 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a2b39d89b5938161bd8922b7c1f28f637) (classParma__Polyhedra__Library_1_1Checked__Number_a33a5462cd5398fdbd61989d17aeeaa72)]
+>> endobj
+13658 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a356bd3ccfaa76c0ef4452a34ce767897) 4220 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a3cb9b031ec4e6fd7e53e53da5b0f04a1) 4211 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a3f5e732694ad7d879ac7eaef0668073a) 4320 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a404beea19c04f4e7bbcfe81aae0d6a7d) 4065 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a461dbfcb8f68886137794e4a408fc55e) 4059 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a356bd3ccfaa76c0ef4452a34ce767897) (classParma__Polyhedra__Library_1_1Checked__Number_a4bed59d493c4fd91537602efb267c938)]
+>> endobj
+13659 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a4cca5e272cecc038189aac8b2fc8ace2) 4219 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a4ced0eee2a4a2c50779c2d01ef022500) 4415 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a4f3206ab2d3c47e2014e5b306167c7c0) 4019 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a55e9dfdf5da9a55b7523bda6b7f56c78) 4095 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a59638854527a5bebee3676750668c63a) 4155 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a4cca5e272cecc038189aac8b2fc8ace2) (classParma__Polyhedra__Library_1_1Checked__Number_a5fa74080d6f3e00a7a0291e03f897390)]
+>> endobj
+13660 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a6133c234bff425e6feac34cef06b74b2) 4416 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a627ac77a4752fde3c10792ee9f1673a4) 4150 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a65b1cc4ac0c0c8a2efcbf3d36d4ac0ac) 4105 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a6957dba3dbf92459a364893d7ecfb897) 4061 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a6a2d561ac8088ed64a0bb51d8fffcd9b) 4206 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a6133c234bff425e6feac34cef06b74b2) (classParma__Polyhedra__Library_1_1Checked__Number_a6afe848ad84ff68d48142caf0599760a)]
+>> endobj
+13661 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a72ef8379745ed9575b39216ba1e51d18) 4162 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a74b0a8cfdec7831e7a3e296b3e3751dd) 4060 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a755f1ffc7dbac4ff01984c02774c9bc6) 4260 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a761744f24a8e2faed19912950cf13baf) 4159 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a76b5e4c5b9628c14a7d227517b8fb349) 4383 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a72ef8379745ed9575b39216ba1e51d18) (classParma__Polyhedra__Library_1_1Checked__Number_a77a2c5c27e9c0838fea6e6447b20c320)]
+>> endobj
+13662 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a798df1392d067294fc936bcfa19745c4) 4319 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a79a5a323f582c4260790552d3be140fd) 4381 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a79f64d099a652834da74cc8fd68f2452) 4099 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a7ce6dfd81e04c3eb8d196bf13a96ebe6) 4160 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a7e90d52413515d81ad9b68fb1740d869) 4208 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a798df1392d067294fc936bcfa19745c4) (classParma__Polyhedra__Library_1_1Checked__Number_a80993a2a72759ec030dd3cde21c8a00d)]
+>> endobj
+13663 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a80f6de87ec43c33fac3832b14a507c0b) 4016 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a84ea81a9b4eed51ac13029dbccf67662) 4222 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a8772f767006f16e376d8eca9b1578b73) 4154 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a8abdf2e292960e1fb216ce3c2c0816ff) 4096 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a91459c49e4f7d7fc2dea0347e0489ce5) 4107 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a80f6de87ec43c33fac3832b14a507c0b) (classParma__Polyhedra__Library_1_1Checked__Number_a956de4112c520bb87767ce894b4d512d)]
+>> endobj
+13664 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a95ac9759a14fe23bf8d02a621e4e9e5c) 4326 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a98dae78cdd16f7127a4b3e18c3976562) 4101 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a9a28ec8161898b61530de9bbb4a3251d) 2308 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a9b45abd63e1255df8341775c8f42b842) 4378 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a9c4298d04019ab7b5233ddceb430be03) 4158 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a95ac9759a14fe23bf8d02a621e4e9e5c) (classParma__Polyhedra__Library_1_1Checked__Number_aa355ae6b2a2a704e88060541fbaa6562)]
+>> endobj
+13665 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_aa3de5a2fe7f06d0aa3e4972be2023933) 4069 0 R (classParma__Polyhedra__Library_1_1Checked__Number_aa7885d402d5653321f316029ca0af517) 4417 0 R (classParma__Polyhedra__Library_1_1Checked__Number_aa831d9698f64ff610fa1b3341025603a) 4324 0 R (classParma__Polyhedra__Library_1_1Checked__Number_aa8f66682c527ff5a5a2496de0e3fb2ec) 4269 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ab19be1f26efb21370e8460b325a7f57c) 4104 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_aa3de5a2fe7f06d0aa3e4972be2023933) (classParma__Polyhedra__Library_1_1Checked__Number_ab1b19ff2b88ffca75ac27208cdd877a2)]
+>> endobj
+13666 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_ab45faf2ccad8057c7b27e0c999eb063b) 4151 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ab4d4a0ebee3fcc93490aa029028a810b) 4057 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ab65697a5fab14ca76c391a3aa523e3f6) 4217 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ab733c7c83da19667a83c2a3abafa5d05) 4380 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ab74908b692bc6f8112f5d27b96141431) 4020 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_ab45faf2ccad8057c7b27e0c999eb063b) (classParma__Polyhedra__Library_1_1Checked__Number_abb6ca6c02bde2f04d412129e4be9743e)]
+>> endobj
+13667 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_abe0aef8acc1101523cfbf50ebce7528e) 4325 0 R (classParma__Polyhedra__Library_1_1Checked__Number_abf60cc7fa60d33c4fe958126d55cbac2) 4063 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ac0ef828e81a5c7625db3abadcafc8438) 4013 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ac32024703f8ac04b6b68ff1761575d2d) 4322 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ac62afeb287031d74441101af60be319a) 4268 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_abe0aef8acc1101523cfbf50ebce7528e) (classParma__Polyhedra__Library_1_1Checked__Number_ac95c1fbaee07d3a9cead4d07683f6168)]
+>> endobj
+13668 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_acca11ef67e39b711f96604b6bf806feb) 4056 0 R (classParma__Polyhedra__Library_1_1Checked__Number_acdce8391d61c3090aa51f9d0656524a2) 4262 0 R (classParma__Polyhedra__Library_1_1Checked__Number_acf004b26ba068e346217011b6fd43ae3) 4376 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ad3d8562d66aeed544d8ef75b941e807c) 4321 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ad5c5cd5266cf95dcdc0f03d0108168b5) 4412 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_acca11ef67e39b711f96604b6bf806feb) (classParma__Polyhedra__Library_1_1Checked__Number_ad5ff0dd1267079af85d9938bb4a975de)]
+>> endobj
+13669 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_ad6c64cb3cfad6b8d7fb952e3f85347aa) 4261 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ada0964a53a3426e1fc35355ed38a235c) 4066 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ada7d59af059bdfb2e485d341213e6d19) 4271 0 R (classParma__Polyhedra__Library_1_1Checked__Number_adda98cdf0bda436acac3193162fa53b0) 4382 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ade4a5582f82333f20fd6a8be13ff8d7f) 4212 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_ad6c64cb3cfad6b8d7fb952e3f85347aa) (classParma__Polyhedra__Library_1_1Checked__Number_adfb768d4ea63e2eb5d58aec03b999f17)]
+>> endobj
+13670 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_ae179c684a9ed7eafbbac1825d17f7daa) 4210 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ae3a660d2b2a34f69d2d0cb1cc77f6f69) 4067 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ae4bfe4a80fb074c50ec17657eee225e8) 4327 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ae6fa6e27a794dc71b88169df7f08fcac) 4267 0 R (classParma__Polyhedra__Library_1_1Checked__Number_aed795d57d70d782ccf2a584cce183050) 4068 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_ae179c684a9ed7eafbbac1825d17f7daa) (classParma__Polyhedra__Library_1_1Checked__Number_af0647cd431d30a9658d4bdc77e32d9e4)]
+>> endobj
+13671 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_af1952cf5da3ecbadd8401b948e899a31) 4379 0 R (classParma__Polyhedra__Library_1_1Checked__Number_af2441164b4c23a8203f399f561c9a7c7) 4014 0 R (classParma__Polyhedra__Library_1_1Checked__Number_af47ee9cf59cfac8a346660698c61d113) 4062 0 R (classParma__Polyhedra__Library_1_1Checked__Number_af9af63978105e142642222864ce7c3be) 4414 0 R (classParma__Polyhedra__Library_1_1Checked__Number_af9d7eaecf113e25020c55ed0bf79eb03) 4097 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_af1952cf5da3ecbadd8401b948e899a31) (classParma__Polyhedra__Library_1_1Checked__Number_af9daca45c3c1d0d1afd57ab47c6cacd4)]
+>> endobj
+13672 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_afad3fbdebb1ba319083c56fa2ae679e6) 4098 0 R (classParma__Polyhedra__Library_1_1Checked__Number_afc3433d8ec297e2d1fbdf559d93f9080) 4207 0 R (classParma__Polyhedra__Library_1_1Checked__Number_afcb46dd5c0701130f067f577f99ef27f) 4070 0 R (classParma__Polyhedra__Library_1_1Checked__Number_afcba1dd5e579752d6dcc40ef4d5799b8) 4012 0 R (classParma__Polyhedra__Library_1_1Checked__Number_afed617fd6598839b510b46a3857387d4) 4264 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_afad3fbdebb1ba319083c56fa2ae679e6) (classParma__Polyhedra__Library_1_1Congruence)]
+>> endobj
+13673 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence__System) 1393 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) 1397 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a0ac88c873a13c4afa6f99d3d436e13a3) 5004 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a12f3d0ee3885355092a65262f24d46af) 4979 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a192ff11375b59075c9ea19a8c2b55 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System) (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a400c02f876d8f4e3f6aef2bfc5fb16cb)]
+>> endobj
+13674 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a70e56452f6edfc1943b555156e6bf828) 5002 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a97586e332fd16ccf6e7d642bb4bbf83e) 5003 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_adca809f9ebacacf70bc610d41bbaff47) 4981 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_ae575efc6c01c4bf9968c7e27bb94951b) 4982 0 R (classParma__Pol [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a70e56452f6edfc1943b555156e6bf828) (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_af0ea51d59b5026db43b2edd4cee928ba)]
+>> endobj
+13675 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence__System_a044dbf593127c9e8cbbbe2a0d169c30c) 4741 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a067b4c27cf8643f8ded50ebda77da8aa) 4790 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a0a4f8e3f3469f021594ea9311c21aadd) 4789 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a0bf701759fc56f8fb215c273e53b46ae) 4785 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a11de7a0cc309058d6aee273d613c9432) 483 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_a044dbf593127c9e8cbbbe2a0d169c30c) (classParma__Polyhedra__Library_1_1Congruence__System_a1685b5eb65ba36a9e715a8e3344dbcd8)]
+>> endobj
+13676 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence__System_a21f1586e66349acf7aa0d70c77f92b60) 4835 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a2e45b62cb223f5a21ced82480712e64f) 4826 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a339fab488002bb5b341e1bb82edee103) 4858 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a37857f2dfb7b17609b671f9070be15ca) 4791 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a39867871dd0a4fbe2f3cef2695881345) 477 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_a21f1586e66349acf7aa0d70c77f92b60) (classParma__Polyhedra__Library_1_1Congruence__System_a3fe60e1a76b2a92143004e52ccfcb7c7)]
+>> endobj
+13677 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence__System_a535895e2351f7618e9107a38d9285d73) 4788 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a548ae200545f7d25b875f190b5611368) 4831 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a562fa08178e809398402920e5e674ff8) 4824 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a5c85932f5fb67a78d1faf8165783d5d3) 4787 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a5cd2538767045bd89360588c37d2aedb) 485 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_a535895e2351f7618e9107a38d9285d73) (classParma__Polyhedra__Library_1_1Congruence__System_a6b5016000dff8b0c774381316acc0a11)]
+>> endobj
+13678 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence__System_a6e742d7ffa4f4b7037760cf3ebf62348) 4836 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a77c72d8473dc3e9856d7ff6c05ce7b07) 4829 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a7f5a110ccdfd8efa5e0eac984f90d753) 4840 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a99161b46c175aa485608154dbcc866cb) 4784 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a9d7fe3b07d9e1d35c04fa2d81e32bf34) 477 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_a6e742d7ffa4f4b7037760cf3ebf62348) (classParma__Polyhedra__Library_1_1Congruence__System_a9e8a61b2b759dde8f65219688548ffaa)]
+>> endobj
+13679 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence__System_aa341843d5eadfc196441cad0af63ac9d) 4830 0 R (classParma__Polyhedra__Library_1_1Congruence__System_aa83361b2264ca8ed30599dca32447874) 4854 0 R (classParma__Polyhedra__Library_1_1Congruence__System_ab30ab523e337d72baa4edc802452e532) 4740 0 R (classParma__Polyhedra__Library_1_1Congruence__System_acf4cf2f1d8c3e1d339b1eddc94139272) 4777 0 R (classParma__Polyhedra__Library_1_1Congruence__System_ad05bc9046303661aa532423ac5a5c16d) 482 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_aa341843d5eadfc196441cad0af63ac9d) (classParma__Polyhedra__Library_1_1Congruence__System_add39af06cea8afa45c772e94db8a1309)]
+>> endobj
+13680 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence__System_addf5f330215fb1878018673eff609704) 4781 0 R (classParma__Polyhedra__Library_1_1Congruence__System_ae4a4890ceb257496b788e0d31dbf6d7f) 4782 0 R (classParma__Polyhedra__Library_1_1Congruence__System_aea6d543c90be52299d6ffc57fc9ba5d1) 4828 0 R (classParma__Polyhedra__Library_1_1Congruence__System_aec5860620ae92988c1740dc393064fe7) 4832 0 R (classParma__Polyhedra__Library_1_1Congruence__System_af97f2d43a487ec81e040aec36bbc6ebe) 483 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_addf5f330215fb1878018673eff609704) (classParma__Polyhedra__Library_1_1Congruence__System_afefca839fc7b4d2d166e7a1fe6196fd5)]
+>> endobj
+13681 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence_a0ff04e47054c14b2edf29096ecc95ab7) 4614 0 R (classParma__Polyhedra__Library_1_1Congruence_a146b211f83e22bd011d3de2e5975073b) 4617 0 R (classParma__Polyhedra__Library_1_1Congruence_a29c63b939ed830a0395170835e60beaf) 4673 0 R (classParma__Polyhedra__Library_1_1Congruence_a29c6deef0eb3911adbb08d36a8f0b3f2) 4626 0 R (classParma__Polyhedra__Library_1_1Congruence_a2c93e938cd478716c7c9e5e9988f7a98) 4572 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence_a0ff04e47054c14b2edf29096ecc95ab7) (classParma__Polyhedra__Library_1_1Congruence_a2ca2446f563956eb2b92ddd17e5c0b2c)]
+>> endobj
+13682 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence_a2cb39e7c88e9e724e7970d0e953f2c81) 4676 0 R (classParma__Polyhedra__Library_1_1Congruence_a33e6005a1fe40cb202eb619912c25c3c) 4619 0 R (classParma__Polyhedra__Library_1_1Congruence_a39b6f38fff55dd953ec509b3739dd17d) 4575 0 R (classParma__Polyhedra__Library_1_1Congruence_a3a4c3af6146717b3302f467368eafe46) 4576 0 R (classParma__Polyhedra__Library_1_1Congruence_a3c9879f0c9dcb81fe1bbf78828509ef6) 4574 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence_a2cb39e7c88e9e724e7970d0e953f2c81) (classParma__Polyhedra__Library_1_1Congruence_a43983a6ee447e480f8700915bccb4811)]
+>> endobj
+13683 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence_a484373d269a31c21efae44a83f8be6f0) 4613 0 R (classParma__Polyhedra__Library_1_1Congruence_a54cdd6074f90a5623c8ae7ddcfedc5c2) 4681 0 R (classParma__Polyhedra__Library_1_1Congruence_a57362a4d56c397575a6d043cdbcec0f9) 4667 0 R (classParma__Polyhedra__Library_1_1Congruence_a584cb5084fe5479b0c373e3d17fe5ffd) 4573 0 R (classParma__Polyhedra__Library_1_1Congruence_a5a207ecd92e9fd8f3b1937a5064746a9) 4621 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence_a484373d269a31c21efae44a83f8be6f0) (classParma__Polyhedra__Library_1_1Congruence_a5b3db7ba1765b3a04f8d320968f70447)]
+>> endobj
+13684 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence_a6609e54e84d50cd074c2dd65f38b47da) 4627 0 R (classParma__Polyhedra__Library_1_1Congruence_a6a24743a95176da13995bb6c17151c9b) 4672 0 R (classParma__Polyhedra__Library_1_1Congruence_a7415de7b412a5e297810ff35a97a2849) 4680 0 R (classParma__Polyhedra__Library_1_1Congruence_a79c648d88214174287e3763b804f4aaf) 4577 0 R (classParma__Polyhedra__Library_1_1Congruence_a7facb7a06ac72f1af2bc514c788f1a38) 4666 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence_a6609e54e84d50cd074c2dd65f38b47da) (classParma__Polyhedra__Library_1_1Congruence_a8aab82f7118966662582f88725ce4735)]
+>> endobj
+13685 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence_a94b3624c208219e401569cd289049b38) 4618 0 R (classParma__Polyhedra__Library_1_1Congruence_aa03b119140132112557907b772102b33) 4578 0 R (classParma__Polyhedra__Library_1_1Congruence_aa948df90fc7880e7e52ceef297ee9bbf) 4675 0 R (classParma__Polyhedra__Library_1_1Congruence_aaf7dc46b2cfbd6650ac1d2035d331f15) 4678 0 R (classParma__Polyhedra__Library_1_1Congruence_ab45e800217e1c61d8595e2ffc51a83ad) 4571 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence_a94b3624c208219e401569cd289049b38) (classParma__Polyhedra__Library_1_1Congruence_ab917a480b6afe7e2750aa2862c6783cf)]
+>> endobj
+13686 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence_aba7dbedd485eab91821f129132a04723) 4570 0 R (classParma__Polyhedra__Library_1_1Congruence_ac26379e5f82fd0223682b11b9e052ea5) 4580 0 R (classParma__Polyhedra__Library_1_1Congruence_ac53e4323b140cdd4ba1ac96e7204d93a) 4616 0 R (classParma__Polyhedra__Library_1_1Congruence_ac8652f34bdfa731c02c1900f62bd5e88) 4690 0 R (classParma__Polyhedra__Library_1_1Congruence_ad07dc0dabac5685f9db8d9dc11e513f1) 4624 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence_aba7dbedd485eab91821f129132a04723) (classParma__Polyhedra__Library_1_1Congruence_ad67d37524d1fb7f31766c0b02cb8591a)]
+>> endobj
+13687 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence_adeee840f3313b6050d439dbe5fe2fdd7) 4677 0 R (classParma__Polyhedra__Library_1_1Congruence_ae0c9395c1ac4d96e245be43fcd76424c) 4679 0 R (classParma__Polyhedra__Library_1_1Congruence_ae96eebded76c559c95910dc233c68f06) 4579 0 R (classParma__Polyhedra__Library_1_1Congruence_afcf86304f17dc474e1e5bbe0486c1b59) 4674 0 R (classParma__Polyhedra__Library_1_1Congruences__Reduction) 1394 0 R (classParma__Polyhedra__Library_1_1Congruences__Reductio [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence_adeee840f3313b6050d439dbe5fe2fdd7) (classParma__Polyhedra__Library_1_1Congruences__Reduction_a1b6e413a75c138ef87cc373df0d25194)]
+>> endobj
+13688 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruences__Reduction_a302c20124e5caa73cb5a860a57d6be5e) 4885 0 R (classParma__Polyhedra__Library_1_1Congruences__Reduction_ac1c1301f7ca50550e48eb2e0e57528d0) 4884 0 R (classParma__Polyhedra__Library_1_1Constraint) 1399 0 R (classParma__Polyhedra__Library_1_1Constraint__System) 1400 0 R (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) 1395 0 R (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_a311 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruences__Reduction_a302c20124e5caa73cb5a860a57d6be5e) (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_a311a973ff993328d8cb3627f3af31129)]
+>> endobj
+13689 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_a3e8a8932563dfdc292fde93931f0bf2e) 4922 0 R (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_a4fa3c4bbfb1c6905d95c08c2d90af526) 4923 0 R (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_a641015af4c3d3b84184e8ca8dd128b10) 4917 0 R (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_a6ba82ff86685d87dd34f4d441a7d769b) 4925 0 R (classParma__Pol [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_a3e8a8932563dfdc292fde93931f0bf2e) (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_ab404db5180176140a7600b31616f9a07)]
+>> endobj
+13690 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_ad8c2dc06b66e812182f2b1445940e7ff) 4926 0 R (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_af3c5bf7dd0135194b6c180dcb232ef54) 4918 0 R (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_afc81dafc5cf15ca9acd8f6a03f66c788) 4919 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a1097cf7cb41f29a02ba271abd2f00f5e) 5361 0 R (classParma__Polyhedra__Library_1_1 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_ad8c2dc06b66e812182f2b1445940e7ff) (classParma__Polyhedra__Library_1_1Constraint__System_a257775ae01cfcd011aca9bcbccb03da7)]
+>> endobj
+13691 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint__System_a2b451e6b09162c7c19b0a2ad36545c69) 5397 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a314eb5fed86c6bbe4a7223ca8362f0a9) 5360 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a3410a53827de9155ac7d6cbd84263364) 5358 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a3badc2f43376aa26f481af4800a3515b) 5410 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a50423c4391d0c3064787f19661914973) 532 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_a2b451e6b09162c7c19b0a2ad36545c69) (classParma__Polyhedra__Library_1_1Constraint__System_a5a79ce2b52efebd42da2736164a043ad)]
+>> endobj
+13692 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint__System_a5cebd3d6d6ec070c47682e77b0248f22) 5364 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a5fbb0274f3a0a91ad283aef6e608909a) 5356 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a61e02a6ed1b9dd0d6d306d76f5da55a2) 5351 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a6293b813e42a59a9795cafe0efa762cc) 5404 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a67f95ed6867827f03a6af0a7334376e3) 536 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_a5cebd3d6d6ec070c47682e77b0248f22) (classParma__Polyhedra__Library_1_1Constraint__System_a6aec148aa41935a4072c64a43c51c577)]
+>> endobj
+13693 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint__System_a70e9ad42674d62ed9bd73268e3af7064) 5402 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a78a4d5f5e4702a16d6aae656293ec7ad) 5398 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a809a4546135123a08f12c0a65fb22241) 5355 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a8388d0d6d7ff68c627d516ec17f56b4c) 5359 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a92333180e0163e9c87f2220dceef012d) 535 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_a70e9ad42674d62ed9bd73268e3af7064) (classParma__Polyhedra__Library_1_1Constraint__System_a964e4bcbbfde58f43977d0a8e686ec35)]
+>> endobj
+13694 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint__System_ac3223cf8c7d19b02b5e3c04038024b47) 5401 0 R (classParma__Polyhedra__Library_1_1Constraint__System_ac92d2324f8ddea454926272e5ccc6dad) 5399 0 R (classParma__Polyhedra__Library_1_1Constraint__System_acd7d1ed2a688f0c6af96e1cff336f933) 5362 0 R (classParma__Polyhedra__Library_1_1Constraint__System_ad350b84c25b7c37693d2e7a08d3165ca) 5363 0 R (classParma__Polyhedra__Library_1_1Constraint__System_add9738866968b13e938d5669dd94a55e) 540 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_ac3223cf8c7d19b02b5e3c04038024b47) (classParma__Polyhedra__Library_1_1Constraint__System_adfa7b03e2ac3a6666a7538431f1bdee9)]
+>> endobj
+13695 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint__System_aea9a4fb9807eb61cda3eedf8e5a7acae) 5403 0 R (classParma__Polyhedra__Library_1_1Constraint__System_af882ff84afd3c2507e17ffa62ffd20a0) 5408 0 R (classParma__Polyhedra__Library_1_1Constraint_a047a99eb91872d19730f4fd14a81f55c) 5135 0 R (classParma__Polyhedra__Library_1_1Constraint_a09c8fc0753a389cc42f84c12f7920832) 5127 0 R (classParma__Polyhedra__Library_1_1Constraint_a0ab383f3930179982937f7733a283a03) 5082 0 R (classParma__Polyh [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_aea9a4fb9807eb61cda3eedf8e5a7acae) (classParma__Polyhedra__Library_1_1Constraint_a0ab38d6ea061e7c2cb1595ba9cf2fd42)]
+>> endobj
+13696 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint_a0d50a5df6b31c6de90fe366e18e750ff) 5123 0 R (classParma__Polyhedra__Library_1_1Constraint_a182ea33f63c0eea708e02a32b0904f30) 5243 0 R (classParma__Polyhedra__Library_1_1Constraint_a239b0622fbcfe1638b4246deab2caa29) 5075 0 R (classParma__Polyhedra__Library_1_1Constraint_a2679da4dbd5b8c33ef607aee49690c2a) 5084 0 R (classParma__Polyhedra__Library_1_1Constraint_a29202eb817eb5c9d59433abeeb4f2eea) 5085 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_a0d50a5df6b31c6de90fe366e18e750ff) (classParma__Polyhedra__Library_1_1Constraint_a2935fff040a5b31930fff594a0b2596d)]
+>> endobj
+13697 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint_a2fb9117b8937e3d9a9b4d3ae397bb79a) 5240 0 R (classParma__Polyhedra__Library_1_1Constraint_a340e8b886fb185bed798dcbc1391c126) 5238 0 R (classParma__Polyhedra__Library_1_1Constraint_a36a0c8ccab7923610bd27f637af63e1d) 5071 0 R (classParma__Polyhedra__Library_1_1Constraint_a3c1dcd74ba0b2509f45aad45a5d922ce) 5074 0 R (classParma__Polyhedra__Library_1_1Constraint_a3c920e734593812d8529bc12be6f503e) 5210 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_a2fb9117b8937e3d9a9b4d3ae397bb79a) (classParma__Polyhedra__Library_1_1Constraint_a423e3bb0d9886c630c3c227def9f2073)]
+>> endobj
+13698 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint_a442aecbe0ce384a7c1add146fb125ed6) 5079 0 R (classParma__Polyhedra__Library_1_1Constraint_a448b4387171ec166085eb46aacedaad9) 5197 0 R (classParma__Polyhedra__Library_1_1Constraint_a4b4c0277d3b6c85ab6633ae9f5e235c6) 5241 0 R (classParma__Polyhedra__Library_1_1Constraint_a54742578f3ff98e32e7e15d6b554f13f) 5211 0 R (classParma__Polyhedra__Library_1_1Constraint_a600a652347fb8718e0bc05f7230b8d8a) 5199 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_a442aecbe0ce384a7c1add146fb125ed6) (classParma__Polyhedra__Library_1_1Constraint_a61208276a246a505bd753ffbb568bfe7)]
+>> endobj
+13699 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint_a61bc4f536e4c04b9594e1b6c7e13d76e) 5198 0 R (classParma__Polyhedra__Library_1_1Constraint_a66a2134e0f7fc74d62b14f46631dc2c7) 5242 0 R (classParma__Polyhedra__Library_1_1Constraint_a6742bd7f3f2cb079b96900dda0147940) 5124 0 R (classParma__Polyhedra__Library_1_1Constraint_a745ac1cdddf74c6f387cfbbbc566dc78) 5076 0 R (classParma__Polyhedra__Library_1_1Constraint_a78c24741e21a4406ea8ad1588c768147) 5081 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_a61bc4f536e4c04b9594e1b6c7e13d76e) (classParma__Polyhedra__Library_1_1Constraint_a7bdaff085ea6859cdec9b27bffb6de4b)]
+>> endobj
+13700 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint_a852f422dfdf14a1e8a97b4dad77f7e36) 5209 0 R (classParma__Polyhedra__Library_1_1Constraint_a89943bdfa5424bf7acecc51a7b6949c8) 5208 0 R (classParma__Polyhedra__Library_1_1Constraint_a8fb8b2fe343e5afa80edc06bfa31460b) 5083 0 R (classParma__Polyhedra__Library_1_1Constraint_a93d5d6abf06ec551294c4c18abb4349d) 5122 0 R (classParma__Polyhedra__Library_1_1Constraint_a9960963fb1f8fb56631e0402557065ae) 5080 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_a852f422dfdf14a1e8a97b4dad77f7e36) (classParma__Polyhedra__Library_1_1Constraint_a9dc926136daee1f47975434ee45298ec)]
+>> endobj
+13701 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint_aaf207e746f4a3dc2722e254612dab3b3) 5129 0 R (classParma__Polyhedra__Library_1_1Constraint_ab0f18894c8f97fa0cd38736462f36132) 5120 0 R (classParma__Polyhedra__Library_1_1Constraint_ab3186208850238a080373f035cd532cc) 5078 0 R (classParma__Polyhedra__Library_1_1Constraint_ab6976f576e6e50941ee7a7b1a737c0eb) 5077 0 R (classParma__Polyhedra__Library_1_1Constraint_abbde4b86cfca3e29a917650f4c9c62d5) 5131 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_aaf207e746f4a3dc2722e254612dab3b3) (classParma__Polyhedra__Library_1_1Constraint_abdd61469bc5c6dfc6e97f306a751035c)]
+>> endobj
+13702 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint_ac7bf9d127644aa14a09eab633e87f544) 5072 0 R (classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6ab) 5036 0 R (classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6aba7491a8ba26958c3e27bed23b7eef1a7e) 5039 0 R (classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6abab5b32713c840499d9e29facf95a17f41) 5037 0 R (classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8e [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_ac7bf9d127644aa14a09eab633e87f544) (classParma__Polyhedra__Library_1_1Constraint_acc5c5125e7237c5913981b99a502f332)]
+>> endobj
+13703 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint_acedadd7f7742a18d941ded77da69ba9a) 5244 0 R (classParma__Polyhedra__Library_1_1Constraint_adba3d929f4317a38ad387c5b45a91199) 5134 0 R (classParma__Polyhedra__Library_1_1Constraint_ae3cacddb2450b8b685b8f39936a2b69d) 5200 0 R (classParma__Polyhedra__Library_1_1Constraint_ae615df068adfbb40a0b0b7a993579d22) 5201 0 R (classParma__Polyhedra__Library_1_1Constraint_ae86d21a6490f299af6229d70cf20c3ba) 5239 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_acedadd7f7742a18d941ded77da69ba9a) (classParma__Polyhedra__Library_1_1Constraint_aea0fedb82a525e6ada13cd7fd2d03225)]
+>> endobj
+13704 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint_af06b2331eb3d080794682080b7f7eb1d) 5202 0 R (classParma__Polyhedra__Library_1_1Constraint_af245f065572b31c8ca97e196e45f9cf9) 5207 0 R (classParma__Polyhedra__Library_1_1Constraint_af2eb5d22ef23937a261cfe3f6bc435e6) 5196 0 R (classParma__Polyhedra__Library_1_1Constraint_af8fcee7f8582b0afc9115eb1304c24f9) 5133 0 R (classParma__Polyhedra__Library_1_1Constraint_afa6ba487c08199e83a970fc49b53d3d0) 5125 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_af06b2331eb3d080794682080b7f7eb1d) (classParma__Polyhedra__Library_1_1Constraints__Reduction)]
+>> endobj
+13705 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraints__Reduction_a383574ff4028da9048235b061a613b99) 5435 0 R (classParma__Polyhedra__Library_1_1Constraints__Reduction_a87f25b7a2988f918a20b3d09047b08ab) 5431 0 R (classParma__Polyhedra__Library_1_1Constraints__Reduction_a898fefd81641cf4f6b854e85412a415c) 5432 0 R (classParma__Polyhedra__Library_1_1Determinate) 1402 0 R (classParma__Polyhedra__Library_1_1Determinate_a079249fd8d7a54f2b876c1cecd42ab77) 5496 0 R (classParma__Polyhedra__Librar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraints__Reduction_a383574ff4028da9048235b061a613b99) (classParma__Polyhedra__Library_1_1Determinate_a0861f18ccca1904bf9286f202c5b2648)]
+>> endobj
+13706 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Determinate_a0aec62be016edf40df1aeab68610290d) 5500 0 R (classParma__Polyhedra__Library_1_1Determinate_a0faddc05083260bac541ab1a8248c74e) 5506 0 R (classParma__Polyhedra__Library_1_1Determinate_a2cca0fbafd235d3e82edcbc0f3c41d3c) 5529 0 R (classParma__Polyhedra__Library_1_1Determinate_a3596cd03bb91402d705bbf959506cb4b) 5499 0 R (classParma__Polyhedra__Library_1_1Determinate_a452974abf6ea3b81ac94e4c004bac876) 5539 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Determinate_a0aec62be016edf40df1aeab68610290d) (classParma__Polyhedra__Library_1_1Determinate_a46f440596ccf2c1f53a4d312af97cc0c)]
+>> endobj
+13707 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Determinate_a589dd33f61bab61ce8dc566ae3955aa6) 5457 0 R (classParma__Polyhedra__Library_1_1Determinate_a5fc66875bf8b6a2838028fc66ce3f2be) 5460 0 R (classParma__Polyhedra__Library_1_1Determinate_a61f92a8e4bf29b1d20c3091cf7b4cec9) 5508 0 R (classParma__Polyhedra__Library_1_1Determinate_a6c75bb083e814ae12c8df6a2cd63fda6) 5528 0 R (classParma__Polyhedra__Library_1_1Determinate_a773a5ffce9cb4be2b75dfb92177d9ec5) 5534 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Determinate_a589dd33f61bab61ce8dc566ae3955aa6) (classParma__Polyhedra__Library_1_1Determinate_a775560d42dce1a47cd1cdedafb46d0fc)]
+>> endobj
+13708 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Determinate_a84957b848ff686880af9d36337dcaf94) 5505 0 R (classParma__Polyhedra__Library_1_1Determinate_a92fe35a10fee9c27d0958a9d4a3b5bf4) 5461 0 R (classParma__Polyhedra__Library_1_1Determinate_a97bcf298710d2a89ee8c29d457fc925b) 5531 0 R (classParma__Polyhedra__Library_1_1Determinate_ab922f32fb84e011b67fee7ac6b69d509) 5535 0 R (classParma__Polyhedra__Library_1_1Determinate_abe00577479ebd726359fe57e7005d412) 5501 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Determinate_a84957b848ff686880af9d36337dcaf94) (classParma__Polyhedra__Library_1_1Determinate_ad353ea3809ab22bb775fc17e65b6ab94)]
+>> endobj
+13709 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Determinate_ad35fd6a6bd2b3ddf76f6a85e33ada2cd) 5497 0 R (classParma__Polyhedra__Library_1_1Determinate_ad97c1aed499bc56468b3ab250b235b38) 5495 0 R (classParma__Polyhedra__Library_1_1Determinate_ae04186768b7847971b787e23badc4682) 5494 0 R (classParma__Polyhedra__Library_1_1Determinate_ae8fb80899b7c136573ec8f42beb8a207) 5530 0 R (classParma__Polyhedra__Library_1_1Determinate_af537493853b0d1460f9d868c122ae4c1) 5533 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Determinate_ad35fd6a6bd2b3ddf76f6a85e33ada2cd) (classParma__Polyhedra__Library_1_1Determinate_afa57568993488dd0803021cbaa06f3fa)]
+>> endobj
+13710 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Domain__Product) 1403 0 R (classParma__Polyhedra__Library_1_1GMP__Integer) 1406 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_a01c5bdd401e8bc17ea983d941be2aa49) 6014 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_a081a1af02e55d9903d0bf3816a6e91f1) 6012 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_a11810ad660a4aa63766e8ebb0334b7d6) 6005 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_a29b14636d21c90e28ee1821666dc1d64) 6006 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Domain__Product) (classParma__Polyhedra__Library_1_1GMP__Integer_a29b14636d21c90e28ee1821666dc1d64)]
+>> endobj
+13711 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1GMP__Integer_a2f220b5f73e79a2e6feab3a97a7e2445) 6007 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_a38ab8dc3ca19cacef112ca316bc7ce09) 6011 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_a4039bbdc92a28fade431cb98f20b0fa6) 6004 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_a6d5c75bcc32f8aea006e8da4b3f736b2) 6000 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_a6e613e3f02e896503d38da788ad593b8) 5937 0 R (classParma__Polyhedra__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1GMP__Integer_a2f220b5f73e79a2e6feab3a97a7e2445) (classParma__Polyhedra__Library_1_1GMP__Integer_a7f9dc23eef0ab2ef9d07f4d53177afce)]
+>> endobj
+13712 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1GMP__Integer_a83b02e8cbb5d14a2ebf2843e6551391d) 6010 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_a84565fd9471a52f83618d0d5ce461c3c) 6015 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_a952922658abcdfb880fcf0a8483c9620) 6009 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_a9a22818e12d0abab8d8a8e0d3346f51a) 6002 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_aaaa520f25230108e6839b82747cae794) 5939 0 R (classParma__Polyhedra__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1GMP__Integer_a83b02e8cbb5d14a2ebf2843e6551391d) (classParma__Polyhedra__Library_1_1GMP__Integer_ab2dfd07539bfb516c7ca2d04460064fa)]
+>> endobj
+13713 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1GMP__Integer_ab8dbbfce1fd68d57df6b05d5cc74c012) 5938 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_abc1d7e892f343522c751d672d5632f17) 6013 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_acf54a358f4ddf09f56364da87de68a49) 6003 0 R (classParma__Polyhedra__Library_1_1Generator) 1404 0 R (classParma__Polyhedra__Library_1_1Generator__System) 1405 0 R (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) 1396 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1GMP__Integer_ab8dbbfce1fd68d57df6b05d5cc74c012) (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator)]
+>> endobj
+13714 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_a032aca0bd08a3c854d46b4a7c567b41b) 4956 0 R (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_a16e25a87d3f2f1a0a454883b84bcf177) 4951 0 R (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_a28cff68f198562b6921add86c58008af) 4958 0 R (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_a2f74f2b935a0e1900eafe79b7a305a02) 4950 0 R (classParma__Polyhed [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_a032aca0bd08a3c854d46b4a7c567b41b) (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_a83d49cacc2666db32082dabdac76acc4)]
+>> endobj
+13715 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_aa2b418d948cce672416e77deb99b45b8) 4954 0 R (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_ab2c21b4ce7f4f822e98343689525f1b8) 4955 0 R (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_aead8142c94d4974534e7f0fe10ed63a7) 4957 0 R (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_afbb0b8b086aaa82499371c7faee19c3b) 4952 0 R (classParma__Polyhed [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_aa2b418d948cce672416e77deb99b45b8) (classParma__Polyhedra__Library_1_1Generator__System_a02e5a05e31a64af8bb2652645f74190d)]
+>> endobj
+13716 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator__System_a071ec60375df0a0f5051dc431f445e37) 5882 0 R (classParma__Polyhedra__Library_1_1Generator__System_a25fce97f25e1814c62ec46b7a04ee942) 5876 0 R (classParma__Polyhedra__Library_1_1Generator__System_a2b29f5668213f9171cfdc666ef4142ea) 5872 0 R (classParma__Polyhedra__Library_1_1Generator__System_a37abf9e26c109cf608ec7829284883ec) 5886 0 R (classParma__Polyhedra__Library_1_1Generator__System_a605b7611d045e0ea0ff47c2ec36c2268) 5834 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator__System_a071ec60375df0a0f5051dc431f445e37) (classParma__Polyhedra__Library_1_1Generator__System_a6135986b7669c295a1855279a9347433)]
+>> endobj
+13717 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator__System_a6b57cf93153051d3aa63c33e34ee4127) 5885 0 R (classParma__Polyhedra__Library_1_1Generator__System_a6e9c19c25562f9d1a71523d00b337450) 5884 0 R (classParma__Polyhedra__Library_1_1Generator__System_a7072dc2f1979eb1198aea49e10bcd59d) 5878 0 R (classParma__Polyhedra__Library_1_1Generator__System_a71a39e295673dabbc4661c7c0a2c3445) 5901 0 R (classParma__Polyhedra__Library_1_1Generator__System_a7b9d70f9508c08b9a86272878ca03b5f) 5875 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator__System_a6b57cf93153051d3aa63c33e34ee4127) (classParma__Polyhedra__Library_1_1Generator__System_a804b0e848b19f18d99664d5bbd57a3f1)]
+>> endobj
+13718 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator__System_a9db5a39fe27d6c659e9c6ce626e83dfa) 5835 0 R (classParma__Polyhedra__Library_1_1Generator__System_a9fe4a78fa5899317f5a060d7b607b5c1) 5874 0 R (classParma__Polyhedra__Library_1_1Generator__System_aa33b89d7143376193110dde339707b0d) 5840 0 R (classParma__Polyhedra__Library_1_1Generator__System_aad63aea0771a124cfb70c8e8e80779a3) 5842 0 R (classParma__Polyhedra__Library_1_1Generator__System_aaf6afcf59d181946f02b27418d9b651a) 5839 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator__System_a9db5a39fe27d6c659e9c6ce626e83dfa) (classParma__Polyhedra__Library_1_1Generator__System_ab0063024b3761b3ff89c3f259ebac6fe)]
+>> endobj
+13719 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator__System_ab174d3f8d008aca83801ae0de294528d) 5873 0 R (classParma__Polyhedra__Library_1_1Generator__System_acce6ad80815e7d09970ed92968967585) 5841 0 R (classParma__Polyhedra__Library_1_1Generator__System_ad53075833d1bde0c9e36dd70afb4b967) 5881 0 R (classParma__Polyhedra__Library_1_1Generator__System_adcd147a1c5474a820c7379514f629fda) 5900 0 R (classParma__Polyhedra__Library_1_1Generator__System_aed024de0dc1ad69e380f706d25740cb0) 5836 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator__System_ab174d3f8d008aca83801ae0de294528d) (classParma__Polyhedra__Library_1_1Generator_a0c26ae11a4146369ff86288347cc54db)]
+>> endobj
+13720 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator_a0fb144e5f3fb6815e4c28c89883607be) 5718 0 R (classParma__Polyhedra__Library_1_1Generator_a10cab5245f80aacd8000d0312730ec03) 5711 0 R (classParma__Polyhedra__Library_1_1Generator_a13c726daa7d565ded0b177e24b6d1104) 5642 0 R (classParma__Polyhedra__Library_1_1Generator_a1c884f5152f75040139ec3d9ec8ac293) 5593 0 R (classParma__Polyhedra__Library_1_1Generator_a2aba27eb7310045e1a35c7e68af01ab2) 5598 0 R (classParma__Polyhedra__Library_1_1Gene [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_a0fb144e5f3fb6815e4c28c89883607be) (classParma__Polyhedra__Library_1_1Generator_a303b4ed4262469c1834228e0f88dba74)]
+>> endobj
+13721 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator_a3bc88b2886b0b86865186d142e5ee414) 5650 0 R (classParma__Polyhedra__Library_1_1Generator_a3f29f8b40d09b17eaa4cbaac069f72a0) 5590 0 R (classParma__Polyhedra__Library_1_1Generator_a42867df59ec40173391b76074f9f0fb2) 5608 0 R (classParma__Polyhedra__Library_1_1Generator_a4fb7d78e7b37d7f4b99babdc5cc84783) 5592 0 R (classParma__Polyhedra__Library_1_1Generator_a5363ddeed325652ee6c064a8936cfe57) 5715 0 R (classParma__Polyhedra__Library_1_1Gene [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_a3bc88b2886b0b86865186d142e5ee414) (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5)]
+>> endobj
+13722 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5a05abaa6ff4aa204c25c94719e8a2b6f4) 5603 0 R (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5a4312979a12cae5ebb0791496e1ccce7a) 5602 0 R (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5ab7fe867b1243e111ef4364e3ef5b5329) 5604 0 R (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5abed2d3fff60e7c0b8fc325bf46f9725f) 5605  [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5a05abaa6ff4aa204c25c94719e8a2b6f4) (classParma__Polyhedra__Library_1_1Generator_a5c56451d80b8c02636854053de9e0440)]
+>> endobj
+13723 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator_a600c942b0a2e94b550ccd84ef9c30928) 5652 0 R (classParma__Polyhedra__Library_1_1Generator_a6804f93015ae6e1dc0c2e42e726380c4) 5654 0 R (classParma__Polyhedra__Library_1_1Generator_a6b8dae6436867a53e27720ee211f1cc7) 5657 0 R (classParma__Polyhedra__Library_1_1Generator_a75190def344d4c1ba6c59a6f0fcf7420) 5720 0 R (classParma__Polyhedra__Library_1_1Generator_a775a8cec41b0fcc88689a171f5be8546) 5647 0 R (classParma__Polyhedra__Library_1_1Gene [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_a600c942b0a2e94b550ccd84ef9c30928) (classParma__Polyhedra__Library_1_1Generator_a77fc44f44b1bdda486e19e30310634e2)]
+>> endobj
+13724 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator_a7c502c8d46ed2f68679404fdfdf8e0bf) 5594 0 R (classParma__Polyhedra__Library_1_1Generator_aa40eabb29ea4abe082c3a2e6dc820276) 5643 0 R (classParma__Polyhedra__Library_1_1Generator_aa98511973ca14e8904e4e2c1f774bd3a) 5716 0 R (classParma__Polyhedra__Library_1_1Generator_ab339ccb929a7255295ad19a5b168d5d0) 5591 0 R (classParma__Polyhedra__Library_1_1Generator_ab36bf020da4fb4583e6e1a6b94197cb4) 5656 0 R (classParma__Polyhedra__Library_1_1Gene [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_a7c502c8d46ed2f68679404fdfdf8e0bf) (classParma__Polyhedra__Library_1_1Generator_abc8ae851f2a0a6260d954b3bd8505249)]
+>> endobj
+13725 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator_ad593d3aa49a632911d8d49c83b3f4985) 5649 0 R (classParma__Polyhedra__Library_1_1Generator_ad7552a414d66f92897d12767579fa3ca) 5712 0 R (classParma__Polyhedra__Library_1_1Generator_ad8cee05f88ad5aea288c1f6b8bf7cdc7) 5595 0 R (classParma__Polyhedra__Library_1_1Generator_ade2531310fd7806c9e4f745cab145926) 5644 0 R (classParma__Polyhedra__Library_1_1Generator_ade98f4e320d7d21e223afb83240b3800) 5599 0 R (classParma__Polyhedra__Library_1_1Gene [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_ad593d3aa49a632911d8d49c83b3f4985) (classParma__Polyhedra__Library_1_1Generator_ae5902ab7e2d3304037a56ecda7fc22a4)]
+>> endobj
+13726 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator_ae6206985cd5536c4dac181de5fb21247) 5714 0 R (classParma__Polyhedra__Library_1_1Generator_ae67eb83f2626818420b3201db09e3d58) 5719 0 R (classParma__Polyhedra__Library_1_1Generator_aebb212a14f52ed934059925c1f5f2010) 5651 0 R (classParma__Polyhedra__Library_1_1Generator_aeff190ba56f86d3425859043689d499a) 5607 0 R (classParma__Polyhedra__Library_1_1Generator_af1827b1f7a42393a2526944530559c5a) 5597 0 R (classParma__Polyhedra__Library_1_1Gene [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_ae6206985cd5536c4dac181de5fb21247) (classParma__Polyhedra__Library_1_1Generator_af1bf8c762c6f36b30f2abcaffe591acb)]
+>> endobj
+13727 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator_af4abff14e1b88cbb929f0733432477ff) 5717 0 R (classParma__Polyhedra__Library_1_1Generator_afceefab91d648d188e42e5a75a3a977e) 5606 0 R (classParma__Polyhedra__Library_1_1Grid) 530 0 R (classParma__Polyhedra__Library_1_1Grid__Certificate) 1407 0 R (classParma__Polyhedra__Library_1_1Grid__Certificate_a3b727ab728f8758af9fb217eca9d791a) 6796 0 R (classParma__Polyhedra__Library_1_1Grid__Certificate_a67cbe06cd666025c2ff64652d5824a2f) 6794 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_af4abff14e1b88cbb929f0733432477ff) (classParma__Polyhedra__Library_1_1Grid__Certificate_a67cbe06cd666025c2ff64652d5824a2f)]
+>> endobj
+13728 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Certificate_a869306ea4afb6453b8e9cee36c96f46e) 6799 0 R (classParma__Polyhedra__Library_1_1Grid__Certificate_ac03d43b46ab7f9e5d0ea3c46a5eab7b3) 6792 0 R (classParma__Polyhedra__Library_1_1Grid__Certificate_acf34edb23c376600051bbc563e4122c4) 6793 0 R (classParma__Polyhedra__Library_1_1Grid__Certificate_adf9fc5ac7e45f36bc03af31b98b31a72) 6795 0 R (classParma__Polyhedra__Library_1_1Grid__Generator) 1408 0 R (classParma__Polyhedra__Library_1_1 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Certificate_a869306ea4afb6453b8e9cee36c96f46e) (classParma__Polyhedra__Library_1_1Grid__Generator__System)]
+>> endobj
+13729 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) 1398 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a26673943182a6efc6cc6e3aad8c731a7) 5033 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a2be2c8b9d00f81fc24dcbc36ad05afea) 5029 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a41cb3496510a68512516cf65f8d214c2) 5007 0 R (classParma__Polyhedra__Librar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a61b27b2ed8bbc9a128f9001d160b078d)]
+>> endobj
+13730 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a9571074ab0249afc1e440c8c5eb5d429) 5010 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a9af54d524de94ada872d460c1dbd5cc0) 5008 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_aa6e183ba7e931dc88e16fb9ecfa8b3c7) 5030 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_aa82cf61e903a201fe8892501b209ab8e) 5009  [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a9571074ab0249afc1e440c8c5eb5d429) (classParma__Polyhedra__Library_1_1Grid__Generator__System_a023dc725ab60578fb2161f06211fa023)]
+>> endobj
+13731 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_a102ffa79248502b4998a70fba5f13d98) 7078 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a1f0983add75d3a9c3663fbf925739212) 7084 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a2d0bc3adc78e64aafdab0dd9a292db1f) 7039 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a3ddc697f9236b117382c35d7f7da5419) 7082 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a4254da492e5e [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_a102ffa79248502b4998a70fba5f13d98) (classParma__Polyhedra__Library_1_1Grid__Generator__System_a465d046e2570dea82e57ab6af9b179e9)]
+>> endobj
+13732 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_a494a5dcf815a292978b1864d2d7f77ae) 7080 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a62e7b71f72659356d1d732236ed5f330) 7108 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a63fd965105d740ff7003037964ec7d10) 5936 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a642db539e09ba9a9746d490390097d73) 7032 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a6a5f64baba3a [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_a494a5dcf815a292978b1864d2d7f77ae) (classParma__Polyhedra__Library_1_1Grid__Generator__System_a6c21214d11e4dc9738dad1f72501a286)]
+>> endobj
+13733 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_a72f8cca084e83cace83223ea0ea42bca) 7033 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a8530a0719104225bd022dbe9529ae527) 7107 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a864a52992178820135a7ae3a75e65377) 7109 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a8a0c95f43fd48c07a63db5efa3564769) 7036 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a8cf170e729ac [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_a72f8cca084e83cace83223ea0ea42bca) (classParma__Polyhedra__Library_1_1Grid__Generator__System_a8e247a33c9eb40439c706a98c5d363d0)]
+>> endobj
+13734 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_a8f29bc3aa01b8f5c67a3323189f9cf9e) 7035 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a90e26e60ccfbe3c6ab8d91b5bf06dab5) 7110 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a998804f094e131a7f06d05c6e9eb5f5c) 7034 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a9e847f0bfafeac6438cecb2d2114e665) 7041 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_aa09a1ddc7936 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_a8f29bc3aa01b8f5c67a3323189f9cf9e) (classParma__Polyhedra__Library_1_1Grid__Generator__System_aa2e9eec4ddeaf5dca3afa1976d36b703)]
+>> endobj
+13735 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_aa8e33c8dd37c45144bf92a6984c7706a) 7086 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_abba3cc93433c6564ba34c1fdd360bde9) 7075 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_ac485f37c083be7bc0238a3f5c6c112e3) 7037 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_ac53b2bea17ae404e291cbcb7033dbaf2) 7077 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_ac5764ede7569 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_aa8e33c8dd37c45144bf92a6984c7706a) (classParma__Polyhedra__Library_1_1Grid__Generator__System_ace4c05e99016850c16c2bdaff5914afd)]
+>> endobj
+13736 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_ad85c523fefc56e289bd9fdf878bb339a) 7117 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_adfc60b971ed974350d241482f15f46ac) 7083 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_ae64d3d01d4baab5102f00046f941188f) 7115 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a00017ad58d66a7948b0355b3e02c750b) 6831 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a041afb1a2cc7277572fb7235cf08 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_ad85c523fefc56e289bd9fdf878bb339a) (classParma__Polyhedra__Library_1_1Grid__Generator_a065895a1428f9dc6b3002818686eff0f)]
+>> endobj
+13737 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_a081718c23b5785da17c63ffec13536cc) 6888 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a082a74ad0ce931ec2e517bf0f009daa2) 6934 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a0f19da4c46bb8b3be01875eff4c00538) 6886 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a0fafb66fa4df451fd3e2f0392329f27b) 6889 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a10e7c95784e356487a6a6263a89cec66) 5747 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_a081718c23b5785da17c63ffec13536cc) (classParma__Polyhedra__Library_1_1Grid__Generator_a10e7c95784e356487a6a6263a89cec66a25b86c6f0633416506503de2bf693876)]
+>> endobj
+13738 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_a10e7c95784e356487a6a6263a89cec66a4ac3b90df83c2e43249ccfa2702640de) 6841 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a10e7c95784e356487a6a6263a89cec66ae9cf46c5e08ead7689807e1c8ba30642) 6840 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a1177f236d8c66c01bbb43b37ff90bc7d) 6832 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a13419c5d820bde20af5eabd23e479ec8) 6879 0 R (classParma__Polyhedra__Library_1_1Gri [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_a10e7c95784e356487a6a6263a89cec66a4ac3b90df83c2e43249ccfa2702640de) (classParma__Polyhedra__Library_1_1Grid__Generator_a1a15765e7fd1f486a9ee12a061dc4c76)]
+>> endobj
+13739 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_a1aabacaac0806d617f53db4b34b3349e) 6835 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a1f0828932daf26d10e94120c1f4a4d6b) 6881 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a2a0bc130f7cf6a0678ee3b982fcc7ab6) 6836 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a3075c67d9868fc0b483db13256fb4e0c) 6936 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a41227446c918730e97998799bfe04da6) 6837 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_a1aabacaac0806d617f53db4b34b3349e) (classParma__Polyhedra__Library_1_1Grid__Generator_a58b86510b9c4dc05004c0fc01622430b)]
+>> endobj
+13740 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_a60d9658ef91fbd3a1b0064253246f36b) 6834 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a68e8cef74c6b4b5a56e2c791f41566e4) 6882 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a6fb154017052c68b63121cef49c568ce) 6938 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a76fce1702224700691a26cf5e780a1dd) 6838 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a77123fc17c8bc6d59a76802c0592a2c6) 6885 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_a60d9658ef91fbd3a1b0064253246f36b) (classParma__Polyhedra__Library_1_1Grid__Generator_a77a904793c99cfb1d61fadd277d59471)]
+>> endobj
+13741 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_a811f6f947785240bcb76bfca023fed17) 6878 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a8ab7b9abebd48fe0ad129a237338aa96) 6937 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_ab1db3272b7beca7b1d9d17f23d22ecbd) 6830 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_aba6b40a4b9708e94d6cd10f54144ed70) 6890 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_ac05ff6bef376a2835adbb0ca123a8e79) 6833 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_a811f6f947785240bcb76bfca023fed17) (classParma__Polyhedra__Library_1_1Grid__Generator_ac061731c4fec7f60c48e02ed9806b4bb)]
+>> endobj
+13742 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_ac3e03bc2df621903d136c689c38bdb6f) 6880 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_ac74dafaa0b06e9cd3d15ea0d2af1b213) 6925 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_ac915c8d26a7dbcdbbd0c4985ec5b7d4b) 6877 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_acdc0aeddab3d98e336719f42e6e5b06c) 5783 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_ae1887d907ab06bddeaa2682bdf94d268) 6891 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_ac3e03bc2df621903d136c689c38bdb6f) (classParma__Polyhedra__Library_1_1Grid__Generator_ae94a99f8e8d290b5791baa01fd540a14)]
+>> endobj
+13743 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_aedf9116549ffcced7a39f4596e65e5d0) 6931 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_af00dd6aeffc847b73a3aee11d6d169b6) 6928 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_af4e7705af87f5eb64d2ebdc60cd7a36e) 5782 0 R (classParma__Polyhedra__Library_1_1Grid_a0047a6aa4f26d9133b9d741f68384f38) 6183 0 R (classParma__Polyhedra__Library_1_1Grid_a0262a2b32220536d8bc60d84ad8dac4c) 6068 0 R (classParma__Polyhedra__Library [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_aedf9116549ffcced7a39f4596e65e5d0) (classParma__Polyhedra__Library_1_1Grid_a042613c3f4ad30b298d70143c935d7cd)]
+>> endobj
+13744 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_a0441c9c3b0ab0d55165bb6b4fd107f64) 6372 0 R (classParma__Polyhedra__Library_1_1Grid_a071aa57e439ba4f358c7fd43b03a6a49) 6310 0 R (classParma__Polyhedra__Library_1_1Grid_a07bdac3717a59f64634da7d9b1cfaefd) 6425 0 R (classParma__Polyhedra__Library_1_1Grid_a092f5c04d267ab5709dda2d3e51aaeb9) 6066 0 R (classParma__Polyhedra__Library_1_1Grid_a0c02302b6281fa91ef9275bd37e43efc) 6071 0 R (classParma__Polyhedra__Library_1_1Grid_a0d8ed7a0e48fe76e7221842 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_a0441c9c3b0ab0d55165bb6b4fd107f64) (classParma__Polyhedra__Library_1_1Grid_a0d8ed7a0e48fe76e7221842c780192b0)]
+>> endobj
+13745 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_a10e3116398b920cb137cf576a073cc68) 6431 0 R (classParma__Polyhedra__Library_1_1Grid_a1287b254a91451368e7e2e456f448114) 6243 0 R (classParma__Polyhedra__Library_1_1Grid_a145cc7c23d407576222e5af347f401c1) 6249 0 R (classParma__Polyhedra__Library_1_1Grid_a19422844125a988daaf489cbaff3835b) 6302 0 R (classParma__Polyhedra__Library_1_1Grid_a19623ff8cea2239d66331f29c1d0268d) 6127 0 R (classParma__Polyhedra__Library_1_1Grid_a1a26d0018999e56d94a7e96 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_a10e3116398b920cb137cf576a073cc68) (classParma__Polyhedra__Library_1_1Grid_a1a26d0018999e56d94a7e96db2b6e553)]
+>> endobj
+13746 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_a1a5606b64a035977b9d76b1932227246) 6182 0 R (classParma__Polyhedra__Library_1_1Grid_a1b528a2e8d4d096f62535454e05b74ba) 6433 0 R (classParma__Polyhedra__Library_1_1Grid_a1ba0bd59426889233904d052224cab76) 6126 0 R (classParma__Polyhedra__Library_1_1Grid_a1ba97c180500b43954b09532151f6c9d) 6116 0 R (classParma__Polyhedra__Library_1_1Grid_a1cb88a546d32e7b5c07dc25055e33235) 6484 0 R (classParma__Polyhedra__Library_1_1Grid_a1d51ba9ca3c3e0bf0042502 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_a1a5606b64a035977b9d76b1932227246) (classParma__Polyhedra__Library_1_1Grid_a1d51ba9ca3c3e0bf0042502f40d2e11b)]
+>> endobj
+13747 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_a214e376adb9dc271c61b58f8b2c927f0) 6303 0 R (classParma__Polyhedra__Library_1_1Grid_a2528b5f433e743dda827b1028b6c74cd) 6186 0 R (classParma__Polyhedra__Library_1_1Grid_a2581586de73769088ece60dc01409a08) 6368 0 R (classParma__Polyhedra__Library_1_1Grid_a2d4a31320735e93af31c8d2cc7e78329) 6376 0 R (classParma__Polyhedra__Library_1_1Grid_a2f31170286d3abc2f4867d0b193ae8bc) 6180 0 R (classParma__Polyhedra__Library_1_1Grid_a31603d81a2b0571a82c4c79 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_a214e376adb9dc271c61b58f8b2c927f0) (classParma__Polyhedra__Library_1_1Grid_a31603d81a2b0571a82c4c79b8c6e4564)]
+>> endobj
+13748 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_a323efbe5d43695cc65f8cd5935da94dc) 6429 0 R (classParma__Polyhedra__Library_1_1Grid_a3628b6d6e250d4c6b8301173c6ecc777) 6478 0 R (classParma__Polyhedra__Library_1_1Grid_a36cc3783cdc92ab5fc69904c298ed12c) 6130 0 R (classParma__Polyhedra__Library_1_1Grid_a3ac47497148e61f3d7a3da09d17a03bf) 6187 0 R (classParma__Polyhedra__Library_1_1Grid_a453e51570268eb4d63fc529130a54440) 6122 0 R (classParma__Polyhedra__Library_1_1Grid_a470e6a581b91bc6d5a4a638 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_a323efbe5d43695cc65f8cd5935da94dc) (classParma__Polyhedra__Library_1_1Grid_a470e6a581b91bc6d5a4a6388d1ddde99)]
+>> endobj
+13749 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_a508103dc808fc747a90b573083a60461) 6469 0 R (classParma__Polyhedra__Library_1_1Grid_a527ffa31e1581a8beb83a832244dada8) 6124 0 R (classParma__Polyhedra__Library_1_1Grid_a53b24395ac61f8b2b2accc5a3900bf69) 6119 0 R (classParma__Polyhedra__Library_1_1Grid_a53f980fb1ac8fa21265bec985bd1382f) 6238 0 R (classParma__Polyhedra__Library_1_1Grid_a59634a195948ff0617177d0a41e30602) 6181 0 R (classParma__Polyhedra__Library_1_1Grid_a596fc5b3ee0d04895aca913 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_a508103dc808fc747a90b573083a60461) (classParma__Polyhedra__Library_1_1Grid_a596fc5b3ee0d04895aca9139cb6cbcb6)]
+>> endobj
+13750 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_a5cdf44f392505e1371a85b1245775224) 6434 0 R (classParma__Polyhedra__Library_1_1Grid_a5f6fcc1dab2b08eff20b41d1412d1e2d) 6482 0 R (classParma__Polyhedra__Library_1_1Grid_a60138f2b5d41fd62c862fdcd7c4a1e61) 6436 0 R (classParma__Polyhedra__Library_1_1Grid_a621d377682c2c67051c24b1cc8a03497) 6185 0 R (classParma__Polyhedra__Library_1_1Grid_a68665d093308c111817eca341b98d70a) 6308 0 R (classParma__Polyhedra__Library_1_1Grid_a688572fbdc35859515f5ea8 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_a5cdf44f392505e1371a85b1245775224) (classParma__Polyhedra__Library_1_1Grid_a688572fbdc35859515f5ea8ba583a45a)]
+>> endobj
+13751 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_a6ae1850664122e9917f174d10fd3bf06) 6175 0 R (classParma__Polyhedra__Library_1_1Grid_a6f703ba611b9e5ff613f4df35347ee95) 6178 0 R (classParma__Polyhedra__Library_1_1Grid_a727dc2405cfc5f2252e6f21aa0f18074) 6069 0 R (classParma__Polyhedra__Library_1_1Grid_a732d3b59f8a0ba21a72877d5fa4b98a5) 6125 0 R (classParma__Polyhedra__Library_1_1Grid_a7fc86a6331f34f34a506ab2b0609ac37) 6477 0 R (classParma__Polyhedra__Library_1_1Grid_a7ff92e5d40e6faf667a0b1f [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_a6ae1850664122e9917f174d10fd3bf06) (classParma__Polyhedra__Library_1_1Grid_a7ff92e5d40e6faf667a0b1f6b8fad791)]
+>> endobj
+13752 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_a803035024ab9670971868f4b1092f7c5) 6177 0 R (classParma__Polyhedra__Library_1_1Grid_a82b76e3f18679ea161b53bfa80349009) 6300 0 R (classParma__Polyhedra__Library_1_1Grid_a85b2560352485ac05d10aab0ee483252) 6246 0 R (classParma__Polyhedra__Library_1_1Grid_a8688fd38682b19e97422816d72524790) 6121 0 R (classParma__Polyhedra__Library_1_1Grid_a87d004db7f8febf6f9c96b4a2a1c85e5) 6483 0 R (classParma__Polyhedra__Library_1_1Grid_a880344de195aef75a6b3f2a [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_a803035024ab9670971868f4b1092f7c5) (classParma__Polyhedra__Library_1_1Grid_a880344de195aef75a6b3f2a4db4787b4)]
+>> endobj
+13753 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_a8865893c48cc07adae5dca6b35081751) 6174 0 R (classParma__Polyhedra__Library_1_1Grid_a8c7fcb89eaea13582c4fecacc52d4ec3) 6375 0 R (classParma__Polyhedra__Library_1_1Grid_a8d2cc5d18d050975101f2860f2919da8) 6241 0 R (classParma__Polyhedra__Library_1_1Grid_a8edc85ba3e8a09593959814eaad72499) 6242 0 R (classParma__Polyhedra__Library_1_1Grid_a8f97dbc7a7c307fa72f7e904b2cbf21b) 6301 0 R (classParma__Polyhedra__Library_1_1Grid_a8fa02815bb561135934f91c [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_a8865893c48cc07adae5dca6b35081751) (classParma__Polyhedra__Library_1_1Grid_a8fa02815bb561135934f91c9adcd0cb5)]
+>> endobj
+13754 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_a90ca2b1613fda31a2ac7e79d9388680d) 6118 0 R (classParma__Polyhedra__Library_1_1Grid_a90e87cbe8ae0717fa09ff51b70d64b47) 6312 0 R (classParma__Polyhedra__Library_1_1Grid_a943c42b0d1b3580e54b3ab60aa55255f) 6248 0 R (classParma__Polyhedra__Library_1_1Grid_a953a608f6f9d413870fb3eee5cc6ad1e) 6250 0 R (classParma__Polyhedra__Library_1_1Grid_a9831db06919c6ee05360b08e84cccbb7) 6307 0 R (classParma__Polyhedra__Library_1_1Grid_a9bdab8408169307fbd899ec [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_a90ca2b1613fda31a2ac7e79d9388680d) (classParma__Polyhedra__Library_1_1Grid_a9bdab8408169307fbd899ec3670cb2bf)]
+>> endobj
+13755 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_a9e17201a9a12235a9a96cc31cfffd38f) 6485 0 R (classParma__Polyhedra__Library_1_1Grid_a9e4e32230b187284ac0b9ca8efba8f82) 6373 0 R (classParma__Polyhedra__Library_1_1Grid_a9e87405c740d202951ba788f9e52cbf7) 6247 0 R (classParma__Polyhedra__Library_1_1Grid_aa033cfca735240b3699b523d60ad692a) 6188 0 R (classParma__Polyhedra__Library_1_1Grid_aa26f672c32271db69ed68fc60eee8cff) 6245 0 R (classParma__Polyhedra__Library_1_1Grid_aa28d735beef86789b73b41d [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_a9e17201a9a12235a9a96cc31cfffd38f) (classParma__Polyhedra__Library_1_1Grid_aa28d735beef86789b73b41dbbde71abf)]
+>> endobj
+13756 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_aa598904833b374d50efc72c51914112c) 6426 0 R (classParma__Polyhedra__Library_1_1Grid_aa76828d01f5c454221427eef68227f78) 6377 0 R (classParma__Polyhedra__Library_1_1Grid_aa9c12ecd84df4ed86b5676a09fa39208) 6370 0 R (classParma__Polyhedra__Library_1_1Grid_ab602d97b867b5d2ea800ea7ceef4c6b5) 6369 0 R (classParma__Polyhedra__Library_1_1Grid_ab6bba83ceaafdb71df04b77e43bed022) 6378 0 R (classParma__Polyhedra__Library_1_1Grid_abb10ea556dd34e0c1e13f7e [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_aa598904833b374d50efc72c51914112c) (classParma__Polyhedra__Library_1_1Grid_abb10ea556dd34e0c1e13f7e99b9efe70)]
+>> endobj
+13757 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_ac009459805692e582a00d4b5954ab8e5) 6374 0 R (classParma__Polyhedra__Library_1_1Grid_ac418d88df400bcd2233fb6281debb08f) 6305 0 R (classParma__Polyhedra__Library_1_1Grid_ac4e1b49845e553ff84dc73e710def76c) 6432 0 R (classParma__Polyhedra__Library_1_1Grid_ac9d9eaf8b76024bc20ce524e13bf86a6) 6306 0 R (classParma__Polyhedra__Library_1_1Grid_ace98c3e57a1237e6dd5042b5a0919193) 6179 0 R (classParma__Polyhedra__Library_1_1Grid_ad09e4e3f9a9da562c6cdb73 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_ac009459805692e582a00d4b5954ab8e5) (classParma__Polyhedra__Library_1_1Grid_ad09e4e3f9a9da562c6cdb73dd7b47fbe)]
+>> endobj
+13758 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_ad14942b33fb82bb3e6a13e5e92ada475) 6176 0 R (classParma__Polyhedra__Library_1_1Grid_ad42265530a9e3b2f3bda9ab40d4a835b) 6313 0 R (classParma__Polyhedra__Library_1_1Grid_ad452407f89cb560e83fb81938c12a585) 6495 0 R (classParma__Polyhedra__Library_1_1Grid_ad743f8b71eb68f6b41f7ea7b5d21dc22) 6240 0 R (classParma__Polyhedra__Library_1_1Grid_adc7cdee1981f44b5db23f6c28c79d0a6) 6184 0 R (classParma__Polyhedra__Library_1_1Grid_adf002bbcc4dcae5efdb56ba [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_ad14942b33fb82bb3e6a13e5e92ada475) (classParma__Polyhedra__Library_1_1Grid_adf002bbcc4dcae5efdb56bae2971a64b)]
+>> endobj
+13759 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_ae47fdbff76383891b3896ac5fc213d5d) 6428 0 R (classParma__Polyhedra__Library_1_1Grid_ae5955a311fc4fde1edf2d5460f0a8356) 6309 0 R (classParma__Polyhedra__Library_1_1Grid_ae5dc5003b3652660bc4ff4a15e4060af) 6304 0 R (classParma__Polyhedra__Library_1_1Grid_ae8d42fcd571a9c9d64f0e7ffe67e995e) 6379 0 R (classParma__Polyhedra__Library_1_1Grid_aeb9b562373b4d288c03549bdba93fede) 6474 0 R (classParma__Polyhedra__Library_1_1Grid_aee33974909cfc1cba605734 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_ae47fdbff76383891b3896ac5fc213d5d) (classParma__Polyhedra__Library_1_1Grid_aee33974909cfc1cba605734a57d44df0)]
+>> endobj
+13760 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_af1ab967a6606266f7e583fc9752667fe) 6299 0 R (classParma__Polyhedra__Library_1_1Grid_af39e1b0519a47aafb9dba4121dc41a9c) 6473 0 R (classParma__Polyhedra__Library_1_1Grid_af6df34e5e4ab9beab41cd76897d64c72) 6437 0 R (classParma__Polyhedra__Library_1_1Grid_afae3a58c19c9a3b9916f29b7aca4d0e0) 6239 0 R (classParma__Polyhedra__Library_1_1Grid_afb9d83c4e182f640833116dc2f725076) 6371 0 R (classParma__Polyhedra__Library_1_1Grid_afc06f600e94b7bedb91d037 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_af1ab967a6606266f7e583fc9752667fe) (classParma__Polyhedra__Library_1_1Grid_afc06f600e94b7bedb91d0371a51f4c38)]
+>> endobj
+13761 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_afde364ce088f82cf2b9a231e7d9f2abc) 6189 0 R (classParma__Polyhedra__Library_1_1Grid_afe613a3da3edc3cb4506f70d409f061d) 6476 0 R (classParma__Polyhedra__Library_1_1H79__Certificate) 938 0 R (classParma__Polyhedra__Library_1_1H79__Certificate_a061c4c3b4f1eef970794b274dae62504) 7162 0 R (classParma__Polyhedra__Library_1_1H79__Certificate_a517f4965fd423413531cd1d2058748de) 7166 0 R (classParma__Polyhedra__Library_1_1H79__Certificate_a51b29c5dff [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_afde364ce088f82cf2b9a231e7d9f2abc) (classParma__Polyhedra__Library_1_1H79__Certificate_a51b29c5dffc073c2d350471ae9bb879f)]
+>> endobj
+13762 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1H79__Certificate_a553c3b19a36235d228039a6bb3452918) 7168 0 R (classParma__Polyhedra__Library_1_1H79__Certificate_a7e6d252ce9557b9d73833ef594f6276b) 7169 0 R (classParma__Polyhedra__Library_1_1H79__Certificate_aab939414cdbcf1ba174334859443a72c) 7165 0 R (classParma__Polyhedra__Library_1_1H79__Certificate_ab8bee5e53740adc193668686030bb4bb) 7164 0 R (classParma__Polyhedra__Library_1_1H79__Certificate_aefeb88699fb82bb331a2d24ce724bb07) 7167 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1H79__Certificate_a553c3b19a36235d228039a6bb3452918) (classParma__Polyhedra__Library_1_1Interval)]
+>> endobj
+13763 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Interval_a1c76acbe653414cc28fac54c69622446) 7231 0 R (classParma__Polyhedra__Library_1_1Interval_a241f107b045949a58b49469a6a09caf9) 7221 0 R (classParma__Polyhedra__Library_1_1Interval_a348c6523b219aee93545bb401dc0b813) 7192 0 R (classParma__Polyhedra__Library_1_1Interval_a479e61ba0938cd3303c57f1881d8f2ab) 7194 0 R (classParma__Polyhedra__Library_1_1Interval_a5915be624de343f1598d246ee4f1bc42) 7222 0 R (classParma__Polyhedra__Library_1_1Interval_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Interval_a1c76acbe653414cc28fac54c69622446) (classParma__Polyhedra__Library_1_1Interval_a6a869e3c010e87dff868fb410d4f0a20)]
+>> endobj
+13764 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Interval_a79370159de3dc1738441b20eff866329) 7245 0 R (classParma__Polyhedra__Library_1_1Interval_aa71726a7725f9269553ed9e594b0d74a) 7227 0 R (classParma__Polyhedra__Library_1_1Interval_aaeb70a45d5ee0c7fac5f5d6c659fc69e) 7193 0 R (classParma__Polyhedra__Library_1_1Interval_ab5160fe536bd1bc8d42c12de33f40493) 7190 0 R (classParma__Polyhedra__Library_1_1Interval_ac3abadf1d96bef1880657113014d46dd) 7230 0 R (classParma__Polyhedra__Library_1_1Interval_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Interval_a79370159de3dc1738441b20eff866329) (classParma__Polyhedra__Library_1_1Interval_aca669c9659132e9fa6adc7a9afbef642)]
+>> endobj
+13765 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Interval_ae34390c17dbd12de9906817c4b6cf479) 7220 0 R (classParma__Polyhedra__Library_1_1Interval_af3699ea93d8ec71859566480bede9332) 7232 0 R (classParma__Polyhedra__Library_1_1Interval_afb730d60db4b7e1ddd4c9994ec077cf6) 7191 0 R (classParma__Polyhedra__Library_1_1Linear__Expression) 1462 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a0308fb71a28c28f4e33aabfa9c5d3781) 7406 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a04a [...]
+/Limits [(classParma__Polyhedra__Library_1_1Interval_ae34390c17dbd12de9906817c4b6cf479) (classParma__Polyhedra__Library_1_1Linear__Expression_a04aff92d245522832391c1704f455992)]
+>> endobj
+13766 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_a0651bfc78898bf691898cdb599198ea9) 7342 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a0912217f15a36eb486b243ee592f3379) 7336 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a0dddfc1f0ff6f55a90c4ea8829b9752b) 7477 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a0ed481e43baf024d4a5b5e86e85c4a87) 7329 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a114f91c420cc8060d6834730c8e55721) 741 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_a0651bfc78898bf691898cdb599198ea9) (classParma__Polyhedra__Library_1_1Linear__Expression_a158df02c8c54fa5a9286836fb01563cd)]
+>> endobj
+13767 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_a2666c570468f53609bf420024a12628d) 7471 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a298a32e26d8133869f28560cca4ba73b) 7338 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a2e4d2efe88475a75dab18c7f9fe5e217) 7410 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a32a44c95ae4348ff889b48c309f9eab3) 7416 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a37de3f55cf5e917e32f7f2f9c6d34840) 748 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_a2666c570468f53609bf420024a12628d) (classParma__Polyhedra__Library_1_1Linear__Expression_a385e4d3cfe442f4fcbeefd9acf5c10eb)]
+>> endobj
+13768 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_a392d8d530782ff1240e73a9fb15f7975) 7478 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a3a808cf2742df02d856a8d9882845861) 7334 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a3fc6b9758fbac86e0592d37c23f14b1e) 7483 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a4124a10b953c4c49984524875a257f3a) 7298 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a41cdb256f546f09bd317deef44ac0009) 741 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_a392d8d530782ff1240e73a9fb15f7975) (classParma__Polyhedra__Library_1_1Linear__Expression_a49574f120ec3f9fbfda58d6f826587e9)]
+>> endobj
+13769 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_a4d372c4dff7d328d3da118817ed3d8b7) 7408 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a5a74ca4d6d20b677bd8e4bf05dd45760) 7297 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a5bb7f6903958069b19f70d1391987a51) 7339 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a62b7a88cefba86a6731c6b46487fc28a) 7404 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a65766b549090f6b52281c99cfba9eed3) 747 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_a4d372c4dff7d328d3da118817ed3d8b7) (classParma__Polyhedra__Library_1_1Linear__Expression_a691b91bcd9b5c336892574e975235de5)]
+>> endobj
+13770 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_a6ea3cf85efb71cf62fa3e233c9e9cf7b) 7470 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) 5767 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a701574facbfd5461d399dccbc88a2999) 7293 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a72b6b45299672d85c7984392454296d6) 7409 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a80d43634ca26fd76dcb1fdede6363dc5) 747 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_a6ea3cf85efb71cf62fa3e233c9e9cf7b) (classParma__Polyhedra__Library_1_1Linear__Expression_a8d443d5098921978efd7b625000f3b68)]
+>> endobj
+13771 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_a9075dd07574234cc124e6076c272e987) 7414 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a920af28903c20a4a4962761b834d577f) 7481 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a97f2c2912a13988f28555bee4fe96ef4) 7479 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a98b5ccd1157e6ec8beec7702af9acb36) 7473 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a9a14be758de0e77faef8de4a11bd8e8c) 729 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_a9075dd07574234cc124e6076c272e987) (classParma__Polyhedra__Library_1_1Linear__Expression_a9dd6ce1cb02b58fd3b973e40867362ac)]
+>> endobj
+13772 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_aa8f43e35dec15be4374b207a9440eb2c) 7330 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_ab4396e8bfbdd5831fd37d13c19194cc4) 7413 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_ab48b93c69098ab1dccd8d063f9c41575) 7335 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_ab82fb79015a9e4959fe801e608b2a0ae) 7292 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_abaf335015f8c71026d2bee65ce4d109f) 740 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_aa8f43e35dec15be4374b207a9440eb2c) (classParma__Polyhedra__Library_1_1Linear__Expression_abca5613972564c8ec5c832bc8ff200d6)]
+>> endobj
+13773 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_ac1b93dcadc82e52690114301554801b0) 7328 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_ac220e6f2cf884a8b2bb4017fc9ae53da) 7331 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_ae1dfbc8be3858f2423df19c32e043110) 7337 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_ae25d01221fd2014bead64c551c33c9c5) 7332 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_ae7df198cd5bdd6e9f87192fb3170261f) 729 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_ac1b93dcadc82e52690114301554801b0) (classParma__Polyhedra__Library_1_1Linear__Expression_ae9cc837bbae1745ada3780634c73858f)]
+>> endobj
+13774 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_aea20a64dc7e9dd789fb069c7b8faca16) 7402 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_aede3aa1f7d5925d31d3f66faf655dc66) 7340 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_af5bbfb14fef626aee9f34e71a78c0d7d) 7480 0 R (classParma__Polyhedra__Library_1_1MIP__Problem) 1463 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a0bf7e46a624f9d9df1528ae0b47ad55d) 7676 0 R (classParma__Polyhedra__Library_1_1MIP__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_aea20a64dc7e9dd789fb069c7b8faca16) (classParma__Polyhedra__Library_1_1MIP__Problem_a0f5e373c7067f61d03e3a90724a6983a)]
+>> endobj
+13775 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_a0f5e373c7067f61d03e3a90724a6983aac4528dcb9794c502cf7c9bd65e9c54ae) 7571 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a162d95e1149e222a317370e2fa25a120) 7626 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a1e73b39b2848f8141aa58219cf97dead) 7715 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a1ee38be62a49852994bf906003b0c23c) 7627 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a1ef2a882e1f0a3121f94eea90a9a16fe)  [...]
+/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_a0f5e373c7067f61d03e3a90724a6983aac4528dcb9794c502cf7c9bd65e9c54ae) (classParma__Polyhedra__Library_1_1MIP__Problem_a21e9dae374ecb009d8f7f268f5e673e7)]
+>> endobj
+13776 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_a22183a1ac7a9af9929c6153e2a7a659b) 7682 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a25be5d5e126674d8aca8b9ec828e289f) 7712 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a28dfc886a103ede666395ab45fc7950c) 7718 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a30c23ab257a58da3708591becad2bf1f) 7722 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a3601b97efe162fca1df11d70b0b3d607) 7684 0 R (classParma__Polyhedra__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_a22183a1ac7a9af9929c6153e2a7a659b) (classParma__Polyhedra__Library_1_1MIP__Problem_a3800cc1eb2fb15d0c42dd71740bb661a)]
+>> endobj
+13777 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_a3805575c5d920cbc808cf34e44c11fee) 7618 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a3a010e69cfabe1a026ee21f7639207e3) 7678 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a3aa58c4d8ded71e574db9d1c59533300) 7675 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a40f18b846fb1fe73b63da7fa7cbbbbca) 7620 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a42acbf3b42263a3dc137395dc8fe1421) 7716 0 R (classParma__Polyhedra__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_a3805575c5d920cbc808cf34e44c11fee) (classParma__Polyhedra__Library_1_1MIP__Problem_a485bfce228009ebec2a7bd83d695eddd)]
+>> endobj
+13778 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_a49625522da117289c0312c67060210f2) 7680 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a4d480f0b906eef0c0094c8fabc69a3b3) 7631 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a5da8e430d26c6471590e2c7ae5f7d82e) 7630 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a623847fa141f97cd59f3d85627536379) 7714 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a6ba0be34c122032442a7409f194e157d) 7723 0 R (classParma__Polyhedra__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_a49625522da117289c0312c67060210f2) (classParma__Polyhedra__Library_1_1MIP__Problem_a7f2b2dce631b12fb46f6f1fa719e6c84)]
+>> endobj
+13779 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_a8a238e31c3b4acf8a023a6346bbf752f) 7673 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a8ccc13c9fa8f27701c935b481a371f89) 7623 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_aa4a79e7bb87171b31d49429f9d875dcb) 7619 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_aa682606a24cf76b2d13ef9d70b0b4dde) 7628 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_aa9f9e9fbb372e1f21bd0472b2db20567) 7622 0 R (classParma__Polyhedra__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_a8a238e31c3b4acf8a023a6346bbf752f) (classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232d)]
+>> endobj
+13780 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232da4d21924dceed7aac6368d4bc5affeccf) 7575 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232da6a4badcfd0bb8d6e536fa16b2d5108d0) 7573 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232dafb044a16e827afb114b4a2b9ba86fcbb) 7574 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_aabfec033a504656ea05620f485442b1e) 7711 0 R (classParma__Poly [...]
+/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232da4d21924dceed7aac6368d4bc5affeccf) (classParma__Polyhedra__Library_1_1MIP__Problem_ab5ff957e959947c6016cd28be6e2fadd)]
+>> endobj
+13781 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_abd1a41cf267b29ebf81851eb096dc6de) 7671 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_adda1de457524bc20064ace508201876c) 7569 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_ae60e06beac90231262189084333bda57) 7677 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_aea40406b8f95d9ca4f61f23598448cd5) 7679 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_aee0ae23c1027e709991811b8398b9f46) 7629 0 R (classParma__Polyhedra__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_abd1a41cf267b29ebf81851eb096dc6de) (classParma__Polyhedra__Library_1_1MIP__Problem_af46e579954688eec46ac0a43029fdaa1)]
+>> endobj
+13782 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_afc1e5cbd96d9c2819ba1ec2151f3897e) 7667 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_aff27d012a01487b7c9c14a9a3b40d9b1) 7621 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron) 526 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a163f5dff452c6cf2e3a0c929eb2b8187) 7836 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a16829d6b83d0c21f3d3e1f87c46ac239) 7839 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron [...]
+/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_afc1e5cbd96d9c2819ba1ec2151f3897e) (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a25b59f3491de4996c701bbf044746fe5)]
+>> endobj
+13783 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_a2f41d86c5a949d903179e82072854ef4) 7864 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a42e87760e6f69306e6322cc77f20d162) 7844 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a5d2426c9804102311d41fd445b122cf9) 7849 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a60ae86027d4480aec07a5eed85f6977a) 7838 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a691bb5ef88a4c9638034de4c1b9532cc) 7847 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_a2f41d86c5a949d903179e82072854ef4) (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a6b1f2d6606a0b4d4fc8bbde3b24ce553)]
+>> endobj
+13784 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_a7358056031cb08692ae07044715987cd) 7841 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a89d5bd03139c8fcaf1ab035208d680dd) 7842 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a8ee7e3364443dc8cd55f3f6388c81ecf) 7845 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a91cfad066b0e12cdaf7454fe4585cfc5) 7837 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a9bb0903a2b33f94b096f71e604f07648) 7846 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_a7358056031cb08692ae07044715987cd) (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a9dc9e3a464def0e2d929fab9cae6e360)]
+>> endobj
+13785 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_ad5c6d64b009045df8248bcb8ffeea69e) 7843 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_aee8ba0ffc68e00046b55e12427c582cd) 7871 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_af5aee1171c6c67b9c57f3949b7b75be8) 7840 0 R (classParma__Polyhedra__Library_1_1No__Reduction) 1465 0 R (classParma__Polyhedra__Library_1_1No__Reduction_a5a0edbc51074f6e9e1a908fa292abe13) 7912 0 R (classParma__Polyhedra__Library_1_1No__Reductio [...]
+/Limits [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_ad5c6d64b009045df8248bcb8ffeea69e) (classParma__Polyhedra__Library_1_1No__Reduction_a77067a656a3aa9381a93a23dfba036e4)]
+>> endobj
+13786 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1No__Reduction_af38e352895f910cc9556dc7ac0d8f39d) 7913 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape) 528 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a025902247d9c8b46d92c514c1646ff69) 8349 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a04704288741dbaf6f50e8fc09c43f737) 7937 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a047e2a717168ae129338109f1afc9a7a) 8290 0 R (classParma__Polyhedra__Library_1_1Octagon [...]
+/Limits [(classParma__Polyhedra__Library_1_1No__Reduction_af38e352895f910cc9556dc7ac0d8f39d) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0a0d8c78069019f44dc34ebab82ecfc6)]
+>> endobj
+13787 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a0a7f222ac228554b369d460087815b87) 8033 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0a8906c6b7e5b785bd457641007d1359) 7984 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0d1677ef76c939ca2025722d2ee249e2) 8046 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0d4db6f54c7332e1a2e0bc85e16ba176) 8234 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0e09e7efc2f63aba534614086427bf49) 8152 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a0a7f222ac228554b369d460087815b87) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0e90a75aac44c14997804b8911ff7bbb)]
+>> endobj
+13788 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a0e9ecea59dea0ccb1cc3600bc11f1056) 8153 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a100662089d61a01ea43a28a944da266c) 8342 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a107c769c3c982506e2abf6979b9e92f6) 8161 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1091bf4d0e8ce7672f907cf5e7921120) 7980 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a137dcf52993d2ff3dd6e4678b45baf56) 8346 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a0e9ecea59dea0ccb1cc3600bc11f1056) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a173628da404c1dc2c4d423cad7f9f960)]
+>> endobj
+13789 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a196d1efc79437ca1d96b79b7cd60387f) 8230 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1ae372d4f3b58cfa4af6edd51d845209) 8100 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1c2f0ae89d7bf247a76c40282f31758e) 8347 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1c59e94611b71ddd67acd033a05bbbc7) 8345 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1cd37a76428add108f267548ae76664b) 8155 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a196d1efc79437ca1d96b79b7cd60387f) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1d780ef5b99cc9752eb322353b7b6b08)]
+>> endobj
+13790 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a204fb0538d07ee8ac3d5f2724419928b) 8296 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a217e4addfae235df12c449320e65f891) 8104 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a22b6ac7ec1477dc82d6db22900b59be2) 8095 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a2560fe5ce16277c4b4db17e951047028) 8378 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a25f104e58f88e05dfcb905bcd66e493b) 8233 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a204fb0538d07ee8ac3d5f2724419928b) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a2d266342acc104c59dc0046242ccdac8)]
+>> endobj
+13791 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a2f13e4ffe7b47ec50721791877b41622) 8339 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a34dbbfe20e987a3d55c7a3f2d08f1aed) 8300 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a353fe86259fbb2dd09d451e9dd468676) 8042 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a35518da8c480784110d40b680256bd61) 8097 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a38da38d0fab7eed9ee09fdb11f88fd15) 8337 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a2f13e4ffe7b47ec50721791877b41622) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a3905c42e02befd8a894c57abd9f972f5)]
+>> endobj
+13792 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a3b9f6fbac96e03a00d061a2cd2ca2baf) 7935 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a44e10aa0180433db7d19fb8e473dc829) 8235 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a46797ad634dc267c1264aa046c69f9f8) 7989 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a46a4105c8476e5f5260a775777398586) 8049 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a46d5dc7df45abdea275f0295fee58c23) 8293 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a3b9f6fbac96e03a00d061a2cd2ca2baf) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a508d952b878adf2e55d70d6ca1e64d04)]
+>> endobj
+13793 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a51fb0220102e525b11cdb06dcbe322c7) 8338 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a52516b2247ed249d7989a7048a677614) 8237 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a580264341ec83f4bf3d6da1205939b0a) 8157 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a594973c5284386e52b8c33b206a47907) 8156 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a5e4f3b53b4dd4f7f57a13df638b162e4) 8034 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a51fb0220102e525b11cdb06dcbe322c7) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a5e74729a5f7cabef57fb795cc728869c)]
+>> endobj
+13794 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a6156f452e023eb181658f23bde09ec15) 8343 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a62d44847fe22abb82cbac84a776a9c72) 8381 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a6f27f62cf5d65574cbb44025b1b3e585) 8379 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a6f9c769f48ed91cd71bec247b7733430) 7982 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a702b00ff42a88c23ab25eecf0e9acef0) 8232 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a6156f452e023eb181658f23bde09ec15) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a703f57855b17ef63b28f88fe13a51870)]
+>> endobj
+13795 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a715054228bad30a232707ed0357cdd98) 8380 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a72782e7d9a6612efd73b253b0f862c6b) 8166 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a74d2b64496aa448a85ec0b370cee0977) 8093 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a79864149b95e4560a85aa80eb9c1303a) 8165 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a7ae373e57180f03b09aa0e38d1f19811) 8099 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a715054228bad30a232707ed0357cdd98) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a7dcb9b448c8c0171e18f29551077d133)]
+>> endobj
+13796 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a81c8a26a02090eb4fb9255dd814514a8) 8047 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a87aadd3a9d47e978a32c9867b13220a4) 8294 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a891529f721ff485fe2ec90ac48952cc6) 7933 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a8a329c1ea10527cde394abab15b67356) 7988 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a8b99abb6e15eedbdb94e2466e8304c52) 8037 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a81c8a26a02090eb4fb9255dd814514a8) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a934cc1f45a6d438f5d468276140cd5a8)]
+>> endobj
+13797 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a96bae54a01fe00bad4306bec61bb4687) 7932 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a9b7061aa20aa4b513216bcdb1a905ce7) 8291 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_aa317313059bdf973567d2fcf5e030212) 8159 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_aa493e3939364ce0db66b42f0ef6511d0) 8154 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_aaae8e418bb3d7a1432117530eaea7ec4) 8043 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a96bae54a01fe00bad4306bec61bb4687) (classParma__Polyhedra__Library_1_1Octagonal__Shape_aae058fd9619a17e121c3aab9b0612d81)]
+>> endobj
+13798 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_aaf0214aee8884dc52be4e061d6b4df94) 8377 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_aafdd0083c1c10d49e06f4718a826ae1b) 7979 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ab38e5d3ce8cc120ce4b534bc43d90d34) 7983 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ab499fba7b7be2932147748248180e057) 8231 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ab5dfec17f683d1cbe01cfc71d601108c) 8038 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_aaf0214aee8884dc52be4e061d6b4df94) (classParma__Polyhedra__Library_1_1Octagonal__Shape_ab7c86f7ff6b09ff72e3ee3382b4c933b)]
+>> endobj
+13799 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_aba8ba56b075b2be7b6309cfaed039070) 8299 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_aba9abb279871c30a4f0c6cbb188fecc1) 8228 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_abfb434e3d574f4bd53314ac8749c4731) 8164 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_abfde1aac87d8218fce0fa9b4ea8a5eb1) 8162 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ac2cd6705bce0af4bd9880b990baf1198) 8348 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_aba8ba56b075b2be7b6309cfaed039070) (classParma__Polyhedra__Library_1_1Octagonal__Shape_ac5f6c7896e64b8750e2cd9729c19d66e)]
+>> endobj
+13800 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_ac6376a87e99d3cdabaa6ee7542474849) 8158 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ac720d2c0875eba7d87a4068876092025) 7990 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_acb19de0243a618e9bf3d62e2ee04ae01) 8102 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_accc6c6488ea9d8555ea8e978cf188749) 8227 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_acd9e3b1c74e12ebb2cec81b9670cc566) 8344 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_ac6376a87e99d3cdabaa6ee7542474849) (classParma__Polyhedra__Library_1_1Octagonal__Shape_acfec639e917dfd6eb63c4006ac55b807)]
+>> endobj
+13801 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_ad423a6ddce01a2f2efb34b826d0de921) 8098 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ad8d04d80653fb850dd92468af1995f97) 8286 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_adbbe0f9a58b8cfa5c92d54082f2955f2) 8238 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_adc269190695c1745ab086168fcf35835) 8151 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_adc326b7c8687b685c42817f7fec425e0) 7992 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_ad423a6ddce01a2f2efb34b826d0de921) (classParma__Polyhedra__Library_1_1Octagonal__Shape_ae057b1ed68adc20261654109ef5be01c)]
+>> endobj
+13802 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_ae37107ec8d1402bb69ac6462d7f4646d) 7986 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ae3be22e7dcdf54fdc0fb976fd755d0c7) 8092 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ae85fbe787fa3e172ecf6a63b2847d69a) 8044 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_aec298ee7df246c945e6a56442e04176d) 8163 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_aed38463ae788879580d6372653452603) 8036 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_ae37107ec8d1402bb69ac6462d7f4646d) (classParma__Polyhedra__Library_1_1Octagonal__Shape_af14ea5b6122685afd62a3df786512d77)]
+>> endobj
+13803 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_af1921cd40fb0920e1173cf67418c63fe) 8035 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_af2c70f89a472f7fa34ba64817693776a) 8045 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_af3135ed5b5cb04d1e8a54fa9be77b90f) 8298 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_af41476c22751c8d79e8599443aea93da) 8297 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_af7fd07f1f8d91c830130c061da7b6c56) 8040 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_af1921cd40fb0920e1173cf67418c63fe) (classParma__Polyhedra__Library_1_1Octagonal__Shape_af9503f2a0fd1535ce7cb9465908006dc)]
+>> endobj
+13804 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_afa62abe41a99d6a01cca319ed860bb5b) 8292 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_afa8decb7c7093c9cde1255a6c1af62d4) 7991 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_afea57a711a6b7a5d501112b84b246759) 8160 0 R (classParma__Polyhedra__Library_1_1PIP__Decision__Node) 1466 0 R (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a031ecc9f79496b10a1b48d6626fd98aa) 9315 0 R (classParma__Polyhedra__Library_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_afa62abe41a99d6a01cca319ed860bb5b) (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a27ccfe6ce15264f53bda385c5d93d0c3)]
+>> endobj
+13805 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Decision__Node_a3d06dcc99da3a287c6881d2b1e43935a) 9313 0 R (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a47e031aae6928828862422b0ceedec71) 9279 0 R (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a4d75a1f9b3e618d337fde1b4de9fdac6) 9321 0 R (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a81497d1095efd042cd3034335a3d19e6) 9317 0 R (classParma__Polyhedra__Library_1_1PIP__Decision__Node_aa5e48e146300e08949a783b435f7672c [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Decision__Node_a3d06dcc99da3a287c6881d2b1e43935a) (classParma__Polyhedra__Library_1_1PIP__Decision__Node_aafdb58651683fa65f4bbfccf374249ff)]
+>> endobj
+13806 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Decision__Node_ab6e5b1dd2b5b7cc9dae9b4ca656cd05a) 9318 0 R (classParma__Polyhedra__Library_1_1PIP__Decision__Node_ad096a02cc969dcd4b8606cd77d501070) 9278 0 R (classParma__Polyhedra__Library_1_1PIP__Decision__Node_aebe39b79533783e53ef583a9ea308fdc) 9320 0 R (classParma__Polyhedra__Library_1_1PIP__Decision__Node_af4028a0ca64c5e195dd0ca98834fd3c1) 9323 0 R (classParma__Polyhedra__Library_1_1PIP__Decision__Node_af6356910030e23dc05bd4e500f073428 [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Decision__Node_ab6e5b1dd2b5b7cc9dae9b4ca656cd05a) (classParma__Polyhedra__Library_1_1PIP__Decision__Node_af8feb908f5def7ba99abb739dd2dc6cc)]
+>> endobj
+13807 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Problem) 1467 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a04f2cd33bf24eddaa306c392810004ef) 9426 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a06368fdf7c40ae26305476c42e412172) 9386 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a0683916154cde6bb308ccdd9c22e1ece) 9377 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a0683916154cde6bb308ccdd9c22e1ecea3581e26c004ac37575fd4449822d09c5) 9379 0 R (classParma__Polyhedra__L [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Problem) (classParma__Polyhedra__Library_1_1PIP__Problem_a0683916154cde6bb308ccdd9c22e1eceaed708535b4103023ee1a5d24ea5ff7b3)]
+>> endobj
+13808 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Problem_a08ee3b2a32e3b7b8088a84a8beaca0f4) 9434 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a1c6db3c7a9e8bcc79574dfbb087cf996) 9430 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a1fe157210b8df0457fa5578d9fa466f0) 9374 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a1fefbce40046822771b243b1d2f1277e) 9469 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a25cc092f9c3d26be5b6dac41eb54186c) 9373 0 R (classParma__Polyhedra__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Problem_a08ee3b2a32e3b7b8088a84a8beaca0f4) (classParma__Polyhedra__Library_1_1PIP__Problem_a26a3ca0eb57793c00b0517a6856b8c10)]
+>> endobj
+13809 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Problem_a2a7a0b9f3dc8cd6d55e839e20fa28f12) 9460 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a2f2683794347b7bceb41d88e1b1412d8) 9424 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a38cc9e4158abcf9fa6fb719d079108d1) 9371 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a450dfb042f6d81fb394227bdbcb6fb5a) 9461 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a56ce97c41ec068deda3ccfd81766ff83) 9375 0 R (classParma__Polyhedra__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Problem_a2a7a0b9f3dc8cd6d55e839e20fa28f12) (classParma__Polyhedra__Library_1_1PIP__Problem_a62d38f242bfeb5c6d1a4ccdb28518538)]
+>> endobj
+13810 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Problem_a6dd86308a6aa3b0a99e7464fa6d64534) 9431 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a6ffb7a29c69bf20f56f8ba9f16dc74b8) 9427 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a77a39c345913dd490ff33b698d45b7e2) 9421 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a77abbac6ae63133e96588f4b57b5c861) 9470 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a785a8dddb80c0cf25b4b02f3f38b0631) 9376 0 R (classParma__Polyhedra__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Problem_a6dd86308a6aa3b0a99e7464fa6d64534) (classParma__Polyhedra__Library_1_1PIP__Problem_a86401a66d7add563a9fec4a610ca33b3)]
+>> endobj
+13811 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Problem_a8f465629efafec94694b1397a27469b4) 9435 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2) 9380 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2a2b86312f1e0350f49b28c23bd3815e9c) 9381 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2a31110533316a56c835287f82cba44ab6) 9382 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a8 [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Problem_a8f465629efafec94694b1397a27469b4) (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2a9fbd7fce64abd6f1a6459300d77884f4)]
+>> endobj
+13812 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2adf2b5f608f0f0f055f58d9bedb694855) 9385 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a934053580363fb6c281a614d593231f2) 9429 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_aa0b6112961e31a5f3439ce53351d3c20) 9387 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_aa221ca31e0aa489ae726efef9234c6d7) 9428 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_aa7ceb834deaff6303def1cbe95373edc)  [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2adf2b5f608f0f0f055f58d9bedb694855) (classParma__Polyhedra__Library_1_1PIP__Problem_ab31e5714def3177833661bb27f9aff79)]
+>> endobj
+13813 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Problem_abaa2167b4f8ff4184a73ebe46aef2720) 9466 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_abac8b241f6c2a61248fa768b9157203d) 9432 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_abe6c178703fd2e036909f2cbd6cee470) 9368 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_abfb5615fad7429cb2c340d763df8a43b) 9462 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_ad750455647786b5cb28c5422930f0ec0) 9425 0 R (classParma__Polyhedra__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Problem_abaa2167b4f8ff4184a73ebe46aef2720) (classParma__Polyhedra__Library_1_1PIP__Problem_ae37362cbad36fd84d0896ab2f30679f3)]
+>> endobj
+13814 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Problem_ae6a4663bfee916adb9330010328493d6) 9463 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_ae9d3cb337b4a4a0fc296d2b5b742b7f2) 9423 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_af353ca460687792eb573428e18467f44) 9372 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node) 1468 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a02d378f2284277bd0cf98f4f5e9daa37) 9640 0 R (classParma__Polyhedra__Library_1_1PIP__Solu [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Problem_ae6a4663bfee916adb9330010328493d6) (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a082a2f74f2c88339b84f233dc45e3370)]
+>> endobj
+13815 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Solution__Node_a2890d075ea848067ec261a99518ba12d) 9631 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a330d5c424c32abef2330e921ed0743c7) 9662 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a35a36fe85a7865e86d210e8db5e26a04) 9630 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a49e1548e93467d9fd12ba992f8712c56) 9629 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a4ec7c4c8093efb70675c35a17d6a7e28 [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Solution__Node_a2890d075ea848067ec261a99518ba12d) (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a4f54448c4e6823e33a0f5121e5d27d4c)]
+>> endobj
+13816 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Solution__Node_a603f587cd77a706bf32b9dc14d58f9f3) 9661 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a6c1045d83957e66a37f4b9605431945c) 9627 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a6c2621d99e009a3c99558671ab046b9b) 9660 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a727cd68e90dd481583b6a2bd5fdfb492) 9641 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a7ef6a6a1d69f65fd28e518f0de795ffa [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Solution__Node_a603f587cd77a706bf32b9dc14d58f9f3) (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a8db329a321108295b995b5af1058ff37)]
+>> endobj
+13817 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Solution__Node_a99469cb6d87a4b0647c47e3697573899) 9668 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a996dc24a90ed7bf0e7231563f3c78975) 9626 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_ab41e16bb175c436813472be1b131f853) 9633 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_abb1b3eeef8a1a793899d9b66f1200fb0) 9628 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_ac3cf88993e63370f39ad5ea8915ba2af [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Solution__Node_a99469cb6d87a4b0647c47e3697573899) (classParma__Polyhedra__Library_1_1PIP__Solution__Node_ad5d38b578c833abb397e67cacce7f54d)]
+>> endobj
+13818 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Tree__Node) 1469 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) 1331 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a022891f0008542ea787d812e6e6f9e48) 2345 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a243d9267fe6a9414af634749b27dac8d) 2306 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a2bd978ad611c80d14315 [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a3611ca64bf028cea3b37bbfe3c5f84e6)]
+>> endobj
+13819 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a514da3c88769e7584fe9d6da6f2cb003) 2305 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a5e151ddb186280f9ac6825e4b38e3d4d) 2336 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a6cb598653a5f9e64b0b42b88e5a9b5d1) 2334 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a78184503805baea26065449944702c97) 2304 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a514da3c88769e7584fe9d6da6f2cb003) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a9561e112f9dc57e63230b0fda3858e1a)]
+>> endobj
+13820 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a9b395593b699094656f3cc00361976f4) 2335 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_ac2c8b1fa8685b79a6e0dac07128b24d9) 2344 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_adcaa7cd147b3ebb7c52d232824de49e4) 2341 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_ae52cf600a1fc364b32296578016e12ac) 2331 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a9b395593b699094656f3cc00361976f4) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a048588fb0ac55c4315b0ce6cb1ec274b)]
+>> endobj
+13821 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_a1c4c199e8c2b7038c2cc7769d20d53c9) 9776 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a263d8e40807241816cef0286661553e1) 9327 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a3cd966830899423f741449e6567241cd) 9767 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a41a2c12dc16089ad91de449b4bc72bca) 9501 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a454c2aefff18b334bc3e37c1f6e2fb77) 9773 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_a1c4c199e8c2b7038c2cc7769d20d53c9) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a48b522405ad8896775cbe6d2344bba4a)]
+>> endobj
+13822 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_a4a60232026ce7d82ef5a4cee5e482fa9) 9805 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a51de11008f96ecfc0debcd83b616a3d0) 9799 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a675704312a01f43f3f2d23f1f24c50c2) 9803 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a6ff7edd489b1d20b1bca1f4431d802f1) 9768 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a77459bc72a66ade5bdb58c0ce1aaf020) 9772 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_a4a60232026ce7d82ef5a4cee5e482fa9) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a7b1088e26353bd6fa17d49bd9226a4b5)]
+>> endobj
+13823 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_a7d8d70c48e3726d157cdaf49f6e1028d) 9719 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a87dfbdd33330c1f2f7d43582fd060ba7) 9810 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a8a5634a2b7dfa78c19c2fe626e790c89) 9726 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a8cd66485ef35802c6c117eab5f641d08) 9724 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a97ccf10304ef9ba8b58549f7570b8cea) 9513 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_a7d8d70c48e3726d157cdaf49f6e1028d) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a9957fb5cc207114f8401d86fd66c7fba)]
+>> endobj
+13824 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_aa53032d6032bb4c199a517187c46636e) 9716 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_aafa858d51c2ba75d0778692e95c895c7) 9771 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ab57aada46f9e76478cf7db1ca6ec9091) 9770 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ab7331f9317fd2f4cf0c2c7bd066eee90) 9800 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ac9be59196bce4192897f34838353409b) 9802 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_aa53032d6032bb4c199a517187c46636e) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ace96e068dfc0f943f7d0c8da778648cc)]
+>> endobj
+13825 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_ad0f4f20d94ed76c2a147a571e3f44e6c) 9811 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ad130cf335514a1939a5d63e56a774c05) 9775 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ad2e8f2d9c5b2732df9e001bb155320ca) 9714 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ad9c8e6971861ebe65aa043657a6a49d8) 9718 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ad9cea1b6b01c041b1d247c81b3279314) 9328 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_ad0f4f20d94ed76c2a147a571e3f44e6c) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ade3035e2021726b1d2c0c563d6c1216e)]
+>> endobj
+13826 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_ae3905fc4ad45180a029f856c7ca7a2fc) 9717 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_af0d04edca3b2e3d30f5d6de7499396b5) 9725 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_af46a1a2668f581e1bc158db432912f35) 9723 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_af6518b1b7e729018dfc57b6800d904f8) 9769 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_afe89a5e748cfb2fabd6c6d46458f0d4e) 9326 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_ae3905fc4ad45180a029f856c7ca7a2fc) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product)]
+>> endobj
+13827 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a0c2c96efcf10102068f754c608a12427) 8858 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a0e39243c24d99f8d374f9c14e3da8d98) 9049 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a0ea21bf85aa2e90c449435cfedcef181) 8864 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1190fcf4794305386f8475f9ac51ce00) 8754 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a0c2c96efcf10102068f754c608a12427) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a187bdab1051f58af280af66645ce1fed)]
+>> endobj
+13828 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a19a2fb28254bc142e01f3ee00c27ea89) 8984 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1ae424886d05361c1a78c89dbdd5b7db) 8988 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1d52cb88936eb0f5bde559b39f8ec42c) 8855 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1daec40615d5a93ce0de360865d93497) 8691 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a19a2fb28254bc142e01f3ee00c27ea89) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a201ee4c814267695f31b30be833917bf)]
+>> endobj
+13829 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a21a9e355a53ec45a5a60213fa8c24f2e) 9018 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a269f357fca785afae3774b1e084d9b93) 9017 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a28f6854a94a3a7d58034cb1d51ae9c7c) 8689 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a294875fd6b469d8949f08c24b5893b6e) 8745 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a21a9e355a53ec45a5a60213fa8c24f2e) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2b4e2b95a505c70e40370e121cd179a4)]
+>> endobj
+13830 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2c47f2f619b1d0f322b742891920735f) 8932 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2d12805af932544a4fc1575f8db62a3d) 9021 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2f90e70dbef264e99b7015c0ce7e16fd) 8939 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2fe458f016db5eeeb95bee46f1800533) 8747 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2c47f2f619b1d0f322b742891920735f) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a38a5f3efb1fe599046d2ed48223bfa41)]
+>> endobj
+13831 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3a031a8e65176b8bd80d2857bd9a68b6) 8859 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3a03cd3ea1b11c1c8dbdf462959d79df) 8802 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3a18eff42a557fd87d59895399c7a13f) 9047 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3b5db50d397654bd1a8d4067d90f7419) 8687 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3a031a8e65176b8bd80d2857bd9a68b6) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3cad64f36f7df128cc7637c9e0910bf1)]
+>> endobj
+13832 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a41c9a9dc63e253ac5ed21cbdad4e2640) 8755 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a41d30675a3c28980af0f087b06a1f4c1) 8797 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a425f248891aec4ed7800bd92334fd7c1) 8749 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a43ab45399b7e22ffcd6403b7e59a473c) 9020 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a41c9a9dc63e253ac5ed21cbdad4e2640) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4857c775f03d5b4ff084723eed2b5e31)]
+>> endobj
+13833 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4a53183970490595ac39c8c070601c6f) 9011 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4ac4e4131c756f0ffce85b9dec7d2b3a) 9014 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a5358c9f367ad37e650d411ab5e558e50) 8805 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a57fc3d9d838fd7e20e80806307452a91) 8977 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4a53183970490595ac39c8c070601c6f) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a6713cca018bed4091ffafb98ca4833d0)]
+>> endobj
+13834 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a676b331ee61606b74be4cd1f90756839) 8863 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a6bd361a7c7e187c0ff63c62894e741f8) 8748 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a6d33d9f1d987efe6e333c7ad1993dd5a) 8803 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a732e7355673aa63a2fc22a470a36f707) 8934 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a676b331ee61606b74be4cd1f90756839) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a78e60691cfc6b6b52a34cc7952380a84)]
+>> endobj
+13835 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a7999968db9fb568980215d2c84393358) 8868 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a7a1f9b31c3ed7dc3e7691b9110ddbedb) 8989 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a7a9afaf958c6f9dd09c89bd706dc09b0) 9048 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a7ea45b608af772cd69e2c23d7d62a3cf) 8861 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a7999968db9fb568980215d2c84393358) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a885e896b320d1f4285b5dc92a20f8884)]
+>> endobj
+13836 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a888509fe116790d0b9a267e614be10ec) 8806 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a8b2ee24610cb804238f33581093948c1) 8867 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a8cdc72dfa85aed4e613f780b02e69e92) 8699 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a8eb19423295d8af4d69f144fc227128f) 8982 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a888509fe116790d0b9a267e614be10ec) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a97cc0d02a88d52e79cbb6615a3bbab42)]
+>> endobj
+13837 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a99247c74022e8d51cd0a2d93a87bcfe5) 8936 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a99dc4fb442b60dc9c694d7abc853a3dc) 8800 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a9a864135634ed49de1aeae3b38ed933a) 8978 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a9bd884fea397d9d6cde6426e6f47cc4e) 8976 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a99247c74022e8d51cd0a2d93a87bcfe5) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aa8128b9910f31bc963842e48c44a863e)]
+>> endobj
+13838 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aad10819182a33870e4b0a7e3b2bca564) 8753 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aafc9294d3fb5f2c0fd8d4e4d22c283b6) 8860 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ab3ad0a7ad694f4a7724504544aff49fa) 8741 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ab3b8f7e6fdd123f510ba85f4527bdee3) 9016 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aad10819182a33870e4b0a7e3b2bca564) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ab95eae83384d8c6b41b9ed8f9fd16704)]
+>> endobj
+13839 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_abb5709426ac80aa0bcf907b4f1d4a577) 8929 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_abc31d844172a202d43d08e299e26322f) 8692 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac238f59379434b7fbfd7dccd74be1cd6) 8862 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac2583843b139ce11b842155b35d60332) 8744 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_abb5709426ac80aa0bcf907b4f1d4a577) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac6434b8a020aeda5828830fd4b639277)]
+>> endobj
+13840 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac7b41dba5d22086cb9715c3f51248f98) 8930 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_acbcc65a843515d547f055b687d1e6d5f) 8975 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_acc8d0378d1cb13b5ddc04dd12cf18ebe) 8750 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ad3a8f10409a9fd73afb6691686d6862c) 8853 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac7b41dba5d22086cb9715c3f51248f98) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ad3eb603756ab7be783cd92410ac7aed7)]
+>> endobj
+13841 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adb0fa15c5f30fc4be6a94ce2606208ef) 8865 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adb466cb206f1d16d24257a838d130cf2) 8798 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adca9874a75b5ba09114b8495a23c4edd) 8694 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ade7792cb469ddf1d5d8944bbe7f1f55a) 9025 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adb0fa15c5f30fc4be6a94ce2606208ef) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adf7bd95cb0014251d60d1fd82c1d3932)]
+>> endobj
+13842 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adfe66b5a34b84fcf63d1a48777f68e4d) 8987 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ae274e65fc3f012ab21bcffa3177228c5) 8933 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ae386245235cada70fc797b0747b0d326) 8799 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ae8be1647844c9837446b9c735f11672b) 8937 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adfe66b5a34b84fcf63d1a48777f68e4d) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aef3ebc0ed74af80cd3653321153360bd)]
+>> endobj
+13843 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_af191b9781c37da15b49810d47a838823) 8991 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_af633b1416a118a2ac3146ec4a4fd4298) 8986 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_afaf0bc4f0e0a036dbc3852b3e4490243) 8856 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_afb7b94b681c4d195080fa81ed1480cc2) 8796 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_af191b9781c37da15b49810d47a838823) (classParma__Polyhedra__Library_1_1Pointset__Powerset)]
+>> endobj
+13844 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a05b872f147220805d2c4ee943a76ef13) 10039 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a0b8990ac561387e44e8c81debd1c3336) 10164 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a0c5d4cd9684f22f35f76212e54b6293a) 10046 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a0e607a3a4f75933f5770af4a1c435a2f) 9993 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a0ed96a7329312281236730beb476e4b1)  [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a05b872f147220805d2c4ee943a76ef13) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a12691e00b643410a6f401c55a2266adc)]
+>> endobj
+13845 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a14552a788e6f0f23a513ba57c1ed9129) 9987 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a17e25309469009012f40ed891a2c3f01) 10221 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a1958a70ab97d5ef79b472c38cea304cb) 10112 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a2620151d844d477b43ae04337c554e99) 9878 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a34d86332404f9819605dbce5ab19f684) 9 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a14552a788e6f0f23a513ba57c1ed9129) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a37fa37c5d3937c14095868add547dac7)]
+>> endobj
+13846 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a385074bda19450e4b4aba954520ae28b) 10114 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a3ac791813ad39c9adfb99a365636d1f7) 10169 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a3c28caf6c53b59565d9fe51ad448cbd1) 9879 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a3ecaca69acbfe46c80b475d99757138a) 10168 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a3f4e612db0eea52c329f5a6be95197b9)  [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a385074bda19450e4b4aba954520ae28b) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a410bfbb102ec5ec854351c383685ca91)]
+>> endobj
+13847 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a41c7ca1b6cc1f391be10cd4ab3396de1) 10161 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a43d9dc891079233f9ec0618bd5d4b46c) 9926 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a4ff18a1555828c7264a09d6215013279) 10218 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a58ee2abcd4b191f32ff78c0e768b18b5) 10035 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a5f25c8e732cbe55784504ff6d4f4c49d)  [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a41c7ca1b6cc1f391be10cd4ab3396de1) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a60f11695efd1e26251b6f2463b989974)]
+>> endobj
+13848 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a6390d5b6fde026f0067da39fd1278809) 10167 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a65234fd4b0ac6aa8765dc960489104c2) 9990 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a69571f990b874f16d0f62235088427ca) 10244 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a69b8be312d167dfebfba35b91c7c9f95) 9922 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a6b7fdfa5a1979cf3d8e24265225b986e) 1 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a6390d5b6fde026f0067da39fd1278809) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a6e44f3d4115b10d2b7365390182c4714)]
+>> endobj
+13849 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a6ef292d9fbb334ba7994b8d2b3a5e94f) 10038 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a7347d9123ff2c5b816d45a40d74717a9) 9931 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a7378d4cf77114743152ad5396a1b7db9) 10113 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a741a79dbeefc27764532e2be63120ff8) 9982 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a754588d1a8135cb2944e9cc0fd6ec486) 9 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a6ef292d9fbb334ba7994b8d2b3a5e94f) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a76fee04931b37e764744156fdc08d84a)]
+>> endobj
+13850 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a778189ac90f9d76fcbf966965b27c791) 10107 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a7b71c85c9201eabfb945527532eaebb4) 10034 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a7e6ce9a6495c9482980e3d2f76d948a9) 9925 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a87bccf995617f2884fa2fe2f99479e5e) 10216 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a88358b265bd62da2cd81c56fcd645ff4)  [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a778189ac90f9d76fcbf966965b27c791) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a8b27f6597e651407b433a5098a47a76f)]
+>> endobj
+13851 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a8d79ac97835780e6ca5e2022abf5ab0b) 10170 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a92c73441367e1d9c77bc360a009820b8) 9989 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a931d9a960753fc8314d50a6dbb9f5885) 10159 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9531e96c825c3a3ec880db64d5886bb9) 10103 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9639bd96c993f44bae8ec9185cf00d45)  [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a8d79ac97835780e6ca5e2022abf5ab0b) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9739127a6b925714e0e6cf8d86141938)]
+>> endobj
+13852 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a98db63b080d0117099060e3faa4f0278) 9880 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a99f8aab5b33871c9652a9f70407b30ca) 10165 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9a99b2b76d216a907dcb515f5ef61cfd) 10042 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9d108150f1f059e76bb60deba0612e92) 10043 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9df4749e0d54f9bb1ba38e2392697fa6)  [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a98db63b080d0117099060e3faa4f0278) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9fddb040df547f46e9581e9ff7f80107)]
+>> endobj
+13853 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_aa0bf2a85994114dfd0e8574b94c0843e) 9881 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_aa1a9bfc80ee005c6dcf60ad60fbcedfd) 9991 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_aa1b0f7ebce9dd3f01d55861ea1698fdc) 9935 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_aa6540753b860549e4d4be346d7cd0229) 10163 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_aa6633280f8aef2c30ed25d9c59544c11) 10 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_aa0bf2a85994114dfd0e8574b94c0843e) (classParma__Polyhedra__Library_1_1Pointset__Powerset_aada5fa9557c7ce77d8bfacb622a113cd)]
+>> endobj
+13854 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_aae1e3a3bf181638f33c685688c86e816) 10050 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab0a22c4feede666e4f5c3602d21b31ad) 10049 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab3118b07bb55902e522ddf0375eac899) 9923 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab363ed895c854b9e8cb40960a2fc87ce) 10162 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab441eefb3b97b983de4d29baff5a4122)  [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_aae1e3a3bf181638f33c685688c86e816) (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab8f4c68d176d4a8300a87af39ebe621b)]
+>> endobj
+13855 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_ab9f1d84ccf75cdd4871b4a4b1ff28325) 9885 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_abe381af245a3eb59deda1dd8d0743c44) 10116 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_acf126b6efb5eac0ac1b9228cfca539f4) 10111 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_acfb675b82bc6829361d1647880a2e00d) 9985 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad1574856ed0bd50691f53d457f7050a3) 9 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_ab9f1d84ccf75cdd4871b4a4b1ff28325) (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad1e68150be7e04e59627d8ee19c76d10)]
+>> endobj
+13856 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_ad44e727022551209ba94ec652b950b8e) 10158 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad5999a9b4d00e7c079fb27a26b640188) 10037 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad7e1698be31b1b95dc7e28d13ec162d5) 10211 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ade90870acddf26103903da3d9e270088) 9927 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_adfb4df5b07b3587b3d723514dede020c)  [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_ad44e727022551209ba94ec652b950b8e) (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae21cdaa1460a54fb14ecb34f3ea30cb9)]
+>> endobj
+13857 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_ae2abdfa9b2796151d2d8940d14129568) 9876 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae4d04c972b69315f7f82ef303f1b31e7) 9983 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae54a4b74cd6e303628d06baa3014a4a9) 9986 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae816bf5283bdc18773e7b188ef95df81) 10041 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae86262d281c712780a1fd78570080d6f) 10 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_ae2abdfa9b2796151d2d8940d14129568) (classParma__Polyhedra__Library_1_1Pointset__Powerset_aec119fe2d10b776a4fd9460fd5de4455)]
+>> endobj
+13858 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_aec6ff4fd4b372a6635251b3129cadd42) 10045 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_aee7b076885815e52c4678cfc0fb9e5a4) 9884 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_af32491e07197b3d96e0068b353e82211) 10044 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_af98f757db804a7f7c7f0ca1b36198f9b) 10110 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_af9a9dc6ee0a1a214d8d7bbf4ef0d9c67)  [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_aec6ff4fd4b372a6635251b3129cadd42) (classParma__Polyhedra__Library_1_1Pointset__Powerset_afbae47064f15bcfd238fbb8e778e4ea1)]
+>> endobj
+13859 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_afe0167a0ee971c067b50d643ae6c7189) 9932 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_afed62d6b4c6cd06a08a49942907135bb) 10209 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_affd60938da7b4567564d56fc29d5cedb) 10217 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_afffb0b03585f4317ffa46aff429b2c6c) 9981 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation) 1470 0 R (classParma__Polyhedra__L [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_afe0167a0ee971c067b50d643ae6c7189) (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a1dd09c87a931132dbee52ea24266866a)]
+>> endobj
+13860 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Poly__Con__Relation_a4cc725a9fe3bdaded2c131bb8bb47ed8) 10486 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a553ae81ae234cedad36e72b32c967e65) 10490 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a62827195c6aeacf38a8fb3df6df8ff2e) 10491 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a80b9d602f99df76039d58032b20041d7) 10488 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a825bf274e880e1c8d51b42d32c69 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Poly__Con__Relation_a4cc725a9fe3bdaded2c131bb8bb47ed8) (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a9f09728ae53c8e3dadeb202f28bb6fdb)]
+>> endobj
+13861 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Poly__Con__Relation_aa317e5d2d782c3589c48cb3b45d6790d) 10487 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_aa4b60ce3ac62aee15faac1b5035fdb4d) 10484 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_ab92b75d150bd5fbfc03cadec75d59e0f) 10485 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_ab9da0d811233cfb64481a7fe08b7f645) 10523 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_ac8b0d22ea3470020b35240f778c3 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Poly__Con__Relation_aa317e5d2d782c3589c48cb3b45d6790d) (classParma__Polyhedra__Library_1_1Poly__Con__Relation_ad1bc9d7804925b15f8205df0b3efc8a4)]
+>> endobj
+13862 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Poly__Con__Relation_af00b427f47054a80d236d124443c580c) 10524 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_af7184f692efc0672e3213f6be9d5cf4c) 10519 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) 1471 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a0ca2fc9566495b3d4ac6b970a301d9a1) 10550 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a306699ac7d5f2c2c909c3a3baf303009) 10577 0 R (classParma__Polyhe [...]
+/Limits [(classParma__Polyhedra__Library_1_1Poly__Con__Relation_af00b427f47054a80d236d124443c580c) (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a419ea78710f4b45c1542647e1212a3f7)]
+>> endobj
+13863 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a4f7df2a0b66616d7672e562fa8c4e8f6) 10548 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a5740d23d50b9aa7c95e8b6b51242258d) 10579 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a6d5d2010157ae8f712e4a3e551d355d7) 10581 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a8ede6a8a55e35d1c41065b01afac0342) 10546 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_aa303fa28c55c391afe4f067f91db [...]
+/Limits [(classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a4f7df2a0b66616d7672e562fa8c4e8f6) (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_aaf9d682418e536d9a1f6bd24991e1c56)]
+>> endobj
+13864 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Poly__Gen__Relation_ad99eb5124bfcd9c75379efdde73d1a1a) 10583 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_ade82782e3363de460caad677b3583559) 10584 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_af78754c1ef47797c0acbd31cf48f9caf) 10553 0 R (classParma__Polyhedra__Library_1_1Polyhedron) 1472 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a0514c2e57ac8154666e9fe6bb56c0e18) 10670 0 R (classParma__Polyhedra__Library_1_1Po [...]
+/Limits [(classParma__Polyhedra__Library_1_1Poly__Gen__Relation_ad99eb5124bfcd9c75379efdde73d1a1a) (classParma__Polyhedra__Library_1_1Polyhedron_a05fba1023938607f7c5e345c0be716e3)]
+>> endobj
+13865 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a08e91d11b3deb5b694356b5573d2547a) 10861 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a0a5c586d872f15baf7fd70941fc16c41) 10729 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a0c58bbc8bf8db5f570da3db42a0ae2f7) 10958 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a0d69bc8c9bd9843262551c7e3e33f5a2) 10662 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a0d9abbf681b7b0724963d97596286ae5) 10666 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a08e91d11b3deb5b694356b5573d2547a) (classParma__Polyhedra__Library_1_1Polyhedron_a13f15417d90174f6c2d3648e83d9fcf5)]
+>> endobj
+13866 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a1a3647877302fc6e0e583b8b881a7a4f) 10919 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a1cecffe684d1faa9b0f6b8d4f227e9ae) 11017 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a1d7db8ee4d8972c1818a36d6517ebbff) 10961 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a236a18fe8cc922d00ee92a6c6e42f923) 10786 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a281b8db6a8e0014ab2c41dd15f8c0708) 10918 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a1a3647877302fc6e0e583b8b881a7a4f) (classParma__Polyhedra__Library_1_1Polyhedron_a2bf7987a6ee3547c1e125e83e432ee2a)]
+>> endobj
+13867 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a3065d01256aa333117e0ee24d99b4431) 10926 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a31d70a625e092dfdaed4f3232701f35d) 10675 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a3569a428ad758dc9ac8273e0f1f77772) 10784 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a371deb67f73bf27ac9a7ff6f2216db9c) 10865 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a3b49993a1cd4fc6891da88a6259b9f93) 10967 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a3065d01256aa333117e0ee24d99b4431) (classParma__Polyhedra__Library_1_1Polyhedron_a3c1e5a2419a5f4a5cf89133606ed1680)]
+>> endobj
+13868 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a3de85538032f58e387a151ab6a9960ba) 10867 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a418f9959fe50f163773ad9de147821ed) 10929 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a43cd840b1ec99350c222b3f217739cea) 10615 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a4b428098e57a9101473a54cd71a0753f) 10792 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a4f514edad990412bd66cc666347103ab) 10860 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a3de85538032f58e387a151ab6a9960ba) (classParma__Polyhedra__Library_1_1Polyhedron_a4f9a47ba1b29f1e07a32542584d50686)]
+>> endobj
+13869 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a50e1047c49fffb06bc5089a06a051a3d) 10862 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a527e7c81841bbcf1963c6e260dadfe01) 10923 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a547a8d96908afe5a7f9e4ba2e10d7ac8) 10959 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a5d53d09dcc839672fedd4ab5d4142d57) 10730 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a5df26655af3ae7844569d7086edf8332) 10726 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a50e1047c49fffb06bc5089a06a051a3d) (classParma__Polyhedra__Library_1_1Polyhedron_a5dfef947c46e234a1ffd4707312332ec)]
+>> endobj
+13870 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a6187dbe974649c7bd4de8e66f70d3e46) 10671 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a672b0568e7a27c37b3afde649f7c0171) 10793 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a67a7d08f3cda46f7a743d46f3a6f33b5) 11024 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a6b737abc8f33b2a2362e3f9c9ab08d58) 10928 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a6c7c72e56241da463eaeccdff79b6d49) 10963 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a6187dbe974649c7bd4de8e66f70d3e46) (classParma__Polyhedra__Library_1_1Polyhedron_a6e73a7d462d6a9a3891fff6c4a923495)]
+>> endobj
+13871 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a6e9d9dd7740b414d407c16687c99a88e) 10917 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a6fb94f0e966e97bfb9dcf43dddcf12ba) 10659 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a7366f9b91109b63f078e963bccd9f5b4) 10870 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a73cb0d61cccb259e06b68d4f83deb6d7) 10966 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a787615432c9f1d6aac5a6394aea8cfa9) 10429 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a6e9d9dd7740b414d407c16687c99a88e) (classParma__Polyhedra__Library_1_1Polyhedron_a7af48c81caa850300e6042bea1008a38)]
+>> endobj
+13872 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a7b8d597a3c23af1fce9d8d3e1d36e11d) 10617 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a7df62db3bf13024d4ee9f8aaf0d27dc6) 10731 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a7e68bea365fe939d08c91ec4edc61a2b) 10780 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a8132d1a9b329271fb4f7faeb59c89c39) 10791 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a858e0030826ee6c29545a934166874ef) 11016 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a7b8d597a3c23af1fce9d8d3e1d36e11d) (classParma__Polyhedra__Library_1_1Polyhedron_a86d2bbceaa288f2f605ac88516d313cb)]
+>> endobj
+13873 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a87ebe6f7cd176227f61c6d0fe47a4f68) 10925 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a8af124edba7c75bc76ec394405aa893e) 11023 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a8c33b9ea975535b5aa0882241cf78986) 10664 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a8ed700f662722cbebdc9328344ba2839) 10665 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a90016052cbe535d7e8b1e20a2c599053) 10868 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a87ebe6f7cd176227f61c6d0fe47a4f68) (classParma__Polyhedra__Library_1_1Polyhedron_a96e902093a55f87f0aebc2bb13a8d740)]
+>> endobj
+13874 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a9764ef2f159cfdcca3f151e899bd43ef) 10922 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a97ddb3b93ac699eebaca7e79f691b0ad) 10616 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a98c785602c5af8f7e0c1be92bb5e8b71) 10866 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a9a45b4b8f148a20359a2f3e2b1c2cb2d) 10734 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a9f3c5474494eb306717bc3da7c109307) 10669 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a9764ef2f159cfdcca3f151e899bd43ef) (classParma__Polyhedra__Library_1_1Polyhedron_aa0ac997a15935821583174de968e5bff)]
+>> endobj
+13875 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_aa26e1a5815b7a0c3b610395c854594bf) 10788 0 R (classParma__Polyhedra__Library_1_1Polyhedron_aa38fbbd15d5dc2e98d5b24c92b06c290) 10962 0 R (classParma__Polyhedra__Library_1_1Polyhedron_aa39bdf85d6db02629fa73bbcaddab6d5) 10968 0 R (classParma__Polyhedra__Library_1_1Polyhedron_aa4fa3b0975b2971f5a2cbc5bc9621a81) 11021 0 R (classParma__Polyhedra__Library_1_1Polyhedron_aa6b6fed08414c86d33fc4a44c59e9e22) 10924 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_aa26e1a5815b7a0c3b610395c854594bf) (classParma__Polyhedra__Library_1_1Polyhedron_aa78179b1d8478dce6cf572af8e0b9cb4)]
+>> endobj
+13876 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_aa809bff4b85d09cd801e5e5cde1b8c06) 10794 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ab1b315e7f04c051a36f48d344dd34052) 10782 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ab4959b3da46291de301d9150f5afc3aa) 11015 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ab6ab1820f2fdf444d1431ff3af424451) 11014 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ab7a35f8df974c9e932df6291754859fb) 10618 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_aa809bff4b85d09cd801e5e5cde1b8c06) (classParma__Polyhedra__Library_1_1Polyhedron_abbb7562de97ccf13bd97b57bb5e3ac94)]
+>> endobj
+13877 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_abfd98397c137d81dcc27111fba3ccd54) 10787 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ac2182f38e9f8acede601c3dcfa71c3b3) 10727 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ac251eb38d1b24b8b570d874ee11df424) 10672 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ac26060b9b14465d4f1d948ab9c838c9c) 10869 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ac5c7acc50141a9104ef5b9b7598c1438) 10721 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_abfd98397c137d81dcc27111fba3ccd54) (classParma__Polyhedra__Library_1_1Polyhedron_ac6ea1802e6a6cfb32e5af6d6d26eb424)]
+>> endobj
+13878 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_ac93800b9ec7aae75937598e1f2209b1f) 10795 0 R (classParma__Polyhedra__Library_1_1Polyhedron_aca90e7afe251a0d4174dcf538b34006b) 10971 0 R (classParma__Polyhedra__Library_1_1Polyhedron_acb75fd68aa10bd15e590e8e8954c5002) 10661 0 R (classParma__Polyhedra__Library_1_1Polyhedron_acbc86683af6afc0818cc9e980a84fcb8) 10863 0 R (classParma__Polyhedra__Library_1_1Polyhedron_acf531d280805472a54c22fed0f689932) 10921 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_ac93800b9ec7aae75937598e1f2209b1f) (classParma__Polyhedra__Library_1_1Polyhedron_ad6a8cc7029bad7ad7ad116c90ff59aec)]
+>> endobj
+13879 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_ad6d1e866b7ba9bf4233f3a5254cda0f9) 11018 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ad84befb6d0ded481871cbef1b7306824) 11022 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ad909d5b60cab5d1a6816577c97b60fcf) 10663 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ad914801461cad05325559e95b9c4d9c6) 10723 0 R (classParma__Polyhedra__Library_1_1Polyhedron_adad834921ba7c139b0cb10c507b4070a) 11020 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_ad6d1e866b7ba9bf4233f3a5254cda0f9) (classParma__Polyhedra__Library_1_1Polyhedron_adee3b5c0c3800ce2214e68a156cbcf77)]
+>> endobj
+13880 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_ae10fbc38125e63858549f5ec8a25e046) 10857 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ae1c5216e2ba5c80d77e128daea25b46e) 10620 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ae3be29eddce8f41019e7dcb731c8ba7b) 10673 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ae58a861a42c5216a2267e3f94ecaec8c) 10969 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ae680437fdc213b7174c581caa2e0c0d3) 10722 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_ae10fbc38125e63858549f5ec8a25e046) (classParma__Polyhedra__Library_1_1Polyhedron_ae89cd985111a1a27c60a6fcc28ae9788)]
+>> endobj
+13881 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_aeb14f5522982b3874f2cd19586813421) 10781 0 R (classParma__Polyhedra__Library_1_1Polyhedron_aefab726809c553c136e5d8fda50c276e) 10960 0 R (classParma__Polyhedra__Library_1_1Polyhedron_af074d4d4d406dd065812b32cc8714222) 10920 0 R (classParma__Polyhedra__Library_1_1Polyhedron_af15f956dac6d4b19ecd8fee0f9718f29) 11012 0 R (classParma__Polyhedra__Library_1_1Polyhedron_af47944944e16e786df5c0671e7baa995) 10859 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_aeb14f5522982b3874f2cd19586813421) (classParma__Polyhedra__Library_1_1Polyhedron_af496ec55802726ee3b39e52458ab0647)]
+>> endobj
+13882 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_af60c3f345fb8ec8c708e49e8fa33f737) 10732 0 R (classParma__Polyhedra__Library_1_1Polyhedron_af740303d5461c838735ec53c5c1f8855) 10674 0 R (classParma__Polyhedra__Library_1_1Polyhedron_afc2a04d2049183cddbcf70316fdf40e7) 11019 0 R (classParma__Polyhedra__Library_1_1Powerset) 1473 0 R (classParma__Polyhedra__Library_1_1Powerset_a01b873b0e820222e07789c3ba5fa48ae) 11443 0 R (classParma__Polyhedra__Library_1_1Powerset_a04aed5c92cf15c71ce85b8c [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_af60c3f345fb8ec8c708e49e8fa33f737) (classParma__Polyhedra__Library_1_1Powerset_a04aed5c92cf15c71ce85b8cc173a893b)]
+>> endobj
+13883 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Powerset_a057c4f38d0e8b8a146af731dbd91864f) 11468 0 R (classParma__Polyhedra__Library_1_1Powerset_a0a660ed1cfae2599d7f9236f2084d499) 11444 0 R (classParma__Polyhedra__Library_1_1Powerset_a113964ab3d7ea36326ce962629a322ce) 11409 0 R (classParma__Polyhedra__Library_1_1Powerset_a1c71c9b7d1de1b77eeb054e1c0ac935e) 11345 0 R (classParma__Polyhedra__Library_1_1Powerset_a1ee74f5687635ddbb9729be31a37e2d3) 11433 0 R (classParma__Polyhedra__Library_1_1Powe [...]
+/Limits [(classParma__Polyhedra__Library_1_1Powerset_a057c4f38d0e8b8a146af731dbd91864f) (classParma__Polyhedra__Library_1_1Powerset_a241c65ff3d32769cbb9badd2c8e00ca5)]
+>> endobj
+13884 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Powerset_a272424f5d0df282c6d1ee63a5c84e3e6) 11397 0 R (classParma__Polyhedra__Library_1_1Powerset_a277ba920e188477bb301196b19d63770) 11354 0 R (classParma__Polyhedra__Library_1_1Powerset_a2a7c225e4f50e2287216dcd77eaf27d5) 11469 0 R (classParma__Polyhedra__Library_1_1Powerset_a2edf5fe7007a3e91a404546ca2f2d98c) 11406 0 R (classParma__Polyhedra__Library_1_1Powerset_a30e0b0c2c668e73566cb1720d72cdac2) 11438 0 R (classParma__Polyhedra__Library_1_1Powe [...]
+/Limits [(classParma__Polyhedra__Library_1_1Powerset_a272424f5d0df282c6d1ee63a5c84e3e6) (classParma__Polyhedra__Library_1_1Powerset_a36becc8c3ace976043199807351d5b04)]
+>> endobj
+13885 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Powerset_a37703f96495cf4bcb8ced3ff20e4c396) 11405 0 R (classParma__Polyhedra__Library_1_1Powerset_a386fa9c84bc37468f1a3a2b860a0bc3d) 11404 0 R (classParma__Polyhedra__Library_1_1Powerset_a411d42e5b59a492742793834efeeabc1) 11348 0 R (classParma__Polyhedra__Library_1_1Powerset_a44b0a622563e60fe28b91b7e9ff76364) 11403 0 R (classParma__Polyhedra__Library_1_1Powerset_a5534b8f8fbd973bfb7051cf5fb31f19d) 11435 0 R (classParma__Polyhedra__Library_1_1Powe [...]
+/Limits [(classParma__Polyhedra__Library_1_1Powerset_a37703f96495cf4bcb8ced3ff20e4c396) (classParma__Polyhedra__Library_1_1Powerset_a5a36a32ab46d46f574f3091e931e2bd2)]
+>> endobj
+13886 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Powerset_a5c3bee913efb87e4661df746e184e1e1) 11436 0 R (classParma__Polyhedra__Library_1_1Powerset_a5d2c2fc2c077e77db657af49d332c9b5) 11441 0 R (classParma__Polyhedra__Library_1_1Powerset_a5eb3117d3d7d0566a99f9f5807276864) 11402 0 R (classParma__Polyhedra__Library_1_1Powerset_a66e3e2f2433738665eb748d2f6c5878f) 11349 0 R (classParma__Polyhedra__Library_1_1Powerset_a6f4469416e02c586de17284317f8a92e) 11313 0 R (classParma__Polyhedra__Library_1_1Powe [...]
+/Limits [(classParma__Polyhedra__Library_1_1Powerset_a5c3bee913efb87e4661df746e184e1e1) (classParma__Polyhedra__Library_1_1Powerset_a754f66ed06474d4b68a93131af02a86f)]
+>> endobj
+13887 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Powerset_a7607ef1c8ef6b668dd2be62c39330406) 11357 0 R (classParma__Polyhedra__Library_1_1Powerset_a8691a3facce4d6f973b48743fa42ec42) 11470 0 R (classParma__Polyhedra__Library_1_1Powerset_a86f44d9d38638be46ef23422783f847e) 11445 0 R (classParma__Polyhedra__Library_1_1Powerset_a8c82df1de8703aefeab268dc9ffc557f) 11353 0 R (classParma__Polyhedra__Library_1_1Powerset_a900663a0e97525c064ccf31152fa8ae7) 11344 0 R (classParma__Polyhedra__Library_1_1Powe [...]
+/Limits [(classParma__Polyhedra__Library_1_1Powerset_a7607ef1c8ef6b668dd2be62c39330406) (classParma__Polyhedra__Library_1_1Powerset_a9fb86f09111d4ac21fdc7c7baa86e622)]
+>> endobj
+13888 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Powerset_aa215867508a89858bcc7ab025f8d20f1) 11396 0 R (classParma__Polyhedra__Library_1_1Powerset_aa55b32c299b7d7bec303f636b66ef624) 11471 0 R (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) 11316 0 R (classParma__Polyhedra__Library_1_1Powerset_ab66151b86ac8c495eba1a3209501928a) 11399 0 R (classParma__Polyhedra__Library_1_1Powerset_ab955487a974e74224f3d72d743ee78a4) 11407 0 R (classParma__Polyhedra__Library_1_1Powe [...]
+/Limits [(classParma__Polyhedra__Library_1_1Powerset_aa215867508a89858bcc7ab025f8d20f1) (classParma__Polyhedra__Library_1_1Powerset_aba65a2c1a6d563f5058479bc07181b9a)]
+>> endobj
+13889 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Powerset_ac3283cf8fd0dd8ff2a319cba1dead1f2) 11347 0 R (classParma__Polyhedra__Library_1_1Powerset_acdc1e9b5ac338be9d0584d50d275226e) 11352 0 R (classParma__Polyhedra__Library_1_1Powerset_ad25e2d27e5d731e6b63fb84a65700faf) 11315 0 R (classParma__Polyhedra__Library_1_1Powerset_ad34bafd07f582c558936f9ea8892abd6) 11442 0 R (classParma__Polyhedra__Library_1_1Powerset_ad3bda090e4ac93d937ac4dd775c20919) 11432 0 R (classParma__Polyhedra__Library_1_1Powe [...]
+/Limits [(classParma__Polyhedra__Library_1_1Powerset_ac3283cf8fd0dd8ff2a319cba1dead1f2) (classParma__Polyhedra__Library_1_1Powerset_adab2c45cbec19ad11bf34db42b794508)]
+>> endobj
+13890 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Powerset_adab8b3f43dd9a5e707b95e15a9c282f8) 11311 0 R (classParma__Polyhedra__Library_1_1Powerset_adef4c62b5cdf5186801c592cc62dccea) 11410 0 R (classParma__Polyhedra__Library_1_1Powerset_ae006881831b298f0af5031e99df2bc6f) 11350 0 R (classParma__Polyhedra__Library_1_1Powerset_aee126cc2eef44ab1d2055d0d15bc3169) 11439 0 R (classParma__Polyhedra__Library_1_1Powerset_af60bb41867a12ce28144596e3cc1406a) 11346 0 R (classParma__Polyhedra__Library_1_1Powe [...]
+/Limits [(classParma__Polyhedra__Library_1_1Powerset_adab8b3f43dd9a5e707b95e15a9c282f8) (classParma__Polyhedra__Library_1_1Powerset_afe22acf3f8e5b6c20880acd443350482)]
+>> endobj
+13891 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction) 1475 0 R (classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction_a8411ac9c6855778aa3f0f47a66bdfff6) 11523 0 R (classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction_aa8bb2afcbf530af32dd1251242a480e9) 11519 0 R (classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction_aaaf6dc9a305149db551f3dff63d7e6f4) 11518 0 R (classParma__Polyhedra__Library_1_1Smash__Reduction) 1476 0 R (classParma__Polyhedr [...]
+/Limits [(classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction) (classParma__Polyhedra__Library_1_1Smash__Reduction_a8041e8b3420a554e9637e4dfcf43c2b1)]
+>> endobj
+13892 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Smash__Reduction_aa3b0210cf6bc4dc319d24d429518c61d) 11536 0 R (classParma__Polyhedra__Library_1_1Smash__Reduction_aa4959b6198e090d37abbd07085b74a30) 11535 0 R (classParma__Polyhedra__Library_1_1Throwable) 1477 0 R (classParma__Polyhedra__Library_1_1Throwable_a14c081beabe1e165b1dc44b2a84b6c2b) 11551 0 R (classParma__Polyhedra__Library_1_1Throwable_a5024cc2b142473f5f733a8808cb09162) 11552 0 R (classParma__Polyhedra__Library_1_1Variable) 1478 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Smash__Reduction_aa3b0210cf6bc4dc319d24d429518c61d) (classParma__Polyhedra__Library_1_1Variable)]
+>> endobj
+13893 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Variable_a44e2225e59844067e005297572cd9ca5) 11594 0 R (classParma__Polyhedra__Library_1_1Variable_a49b4a338d3d82bfb7a404ea87481fc4d) 11588 0 R (classParma__Polyhedra__Library_1_1Variable_a5012c55d8fdb1420b80a3bfbe5a5b843) 9500 0 R (classParma__Polyhedra__Library_1_1Variable_a56a9fd5bee6f87ae9079aed0bc3de31a) 11614 0 R (classParma__Polyhedra__Library_1_1Variable_a7102c6fe85d4c8e6939d29a047becbdb) 11587 0 R (classParma__Polyhedra__Library_1_1Varia [...]
+/Limits [(classParma__Polyhedra__Library_1_1Variable_a44e2225e59844067e005297572cd9ca5) (classParma__Polyhedra__Library_1_1Variable_a75683687bda865c93db529b76271bed2)]
+>> endobj
+13894 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Variable_a8dfe38ded52523b20209cce599411c4c) 11593 0 R (classParma__Polyhedra__Library_1_1Variable_aa5f2c0410e128e2f082d761ef36820da) 11591 0 R (classParma__Polyhedra__Library_1_1Variable_ab80d28775828a4ee502fab82ba1a278c) 11584 0 R (classParma__Polyhedra__Library_1_1Variable_abb6a26c12f7bdee7504d577ca81992e0) 11586 0 R (classParma__Polyhedra__Library_1_1Variable_ad71d7986fdfd19215fc87726ebacf555) 11615 0 R (classParma__Polyhedra__Library_1_1Vari [...]
+/Limits [(classParma__Polyhedra__Library_1_1Variable_a8dfe38ded52523b20209cce599411c4c) (classParma__Polyhedra__Library_1_1Variable_aed0f237309569c2bfbf9e6f60740974e)]
+>> endobj
+13895 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Variables__Set) 1502 0 R (classParma__Polyhedra__Library_1_1Variables__Set_a0b93ff227453cf62d922dab902055f8b) 11665 0 R (classParma__Polyhedra__Library_1_1Variables__Set_a32b7f9e0a2f54d199ad55bc008bfa62e) 11647 0 R (classParma__Polyhedra__Library_1_1Variables__Set_a3a5d4b3fb638414792155bcef8b54c1c) 11649 0 R (classParma__Polyhedra__Library_1_1Variables__Set_a3d49b2488d36bda4fef0109bedf6b0cc) 11644 0 R (classParma__Polyhedra__Library_1_1Variables [...]
+/Limits [(classParma__Polyhedra__Library_1_1Variables__Set) (classParma__Polyhedra__Library_1_1Variables__Set_a4090b6696c19cb93c705d9a9e06f4915)]
+>> endobj
+13896 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Variables__Set_a4c3c15515e1335fb69130aad4f371a1c) 11651 0 R (classParma__Polyhedra__Library_1_1Variables__Set_a4e8f85cded8a6be1916c2cc0bb31c540) 11648 0 R (classParma__Polyhedra__Library_1_1Variables__Set_a5842c4add70aabcc093269aea7a348e5) 11650 0 R (classParma__Polyhedra__Library_1_1Variables__Set_a587efac6e5a2fbde0a1866dbe4427224) 11668 0 R (classParma__Polyhedra__Library_1_1Variables__Set_a6faffe6889615dc0491bf86dd601172c) 11643 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Variables__Set_a4c3c15515e1335fb69130aad4f371a1c) (classParma__Polyhedra__Library_1_1Variables__Set_a7176b36adef9683aae06961175ad94cb)]
+>> endobj
+13897 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Variables__Set_aca3690ce9d77a85740cdf8a508edf127) 11666 0 R (classParma__Polyhedra__Library_1_1Variables__Set_ad7bdf8849f22908ce11574a04ba875df) 11674 0 R (classParma__Polyhedra__Library_1_1Variables__Set_ada205f4442f845f797fb108c121fe371) 11642 0 R (group__PPL__CXX__interface) 1500 0 R (group__PPL__CXX__interface_ga00a906832c41c42a70a5c9d194e07a7d) 1755 0 R (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) 1698 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Variables__Set_aca3690ce9d77a85740cdf8a508edf127) (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1)]
+>> endobj
+13898 0 obj <<
+/Names [(group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) 1691 0 R (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) 1742 0 R (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) 1593 0 R (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) 1711 0 R (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) 1688 0 R (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd) 1705 0 R]
+/Limits [(group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd)]
+>> endobj
+13899 0 obj <<
+/Names [(group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) 1592 0 R (group__PPL__CXX__interface_ga79bd3696a302bb721ef8168fa5d650fb) 1590 0 R (group__PPL__CXX__interface_ga7a529f51bfebdd4b3e69c866dced9bc1) 1581 0 R (group__PPL__CXX__interface_ga8458e58a5e857de11c35ce3076a70ab8) 1588 0 R (group__PPL__CXX__interface_ga84cc2bd35e1437f8df3be984dd1f4638) 1714 0 R (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) 1591 0 R]
+/Limits [(group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de)]
+>> endobj
+13900 0 obj <<
+/Names [(group__PPL__CXX__interface_gaa7159523299c8f193184a1bda20d6044) 1748 0 R (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) 1594 0 R (group__PPL__CXX__interface_gaac82e7e0179442ef589f2fc61302d654) 1702 0 R (group__PPL__CXX__interface_gabadfeba0a415d210cdd6d7309365e800) 1589 0 R (group__PPL__CXX__interface_gadf9d6f17d8974c81e3499f170e7762a2) 1751 0 R (group__PPL__CXX__interface_gae19dfe022c51c874d905e2a7c81c18f1) 1587 0 R]
+/Limits [(group__PPL__CXX__interface_gaa7159523299c8f193184a1bda20d6044) (group__PPL__CXX__interface_gae19dfe022c51c874d905e2a7c81c18f1)]
+>> endobj
+13901 0 obj <<
+/Names [(group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) 1701 0 R (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a71c9b0459dc8ba8cc0c8178b6cf4f017) 1699 0 R (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1ab39e3c667ce455313f8ff578722af2e9) 1700 0 R (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea079e4b80f17b0095497103a52cffa3ab) 1696 0 R (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667 [...]
+/Limits [(group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea556cc08f48e769b9c15bea83d5d883a1)]
+>> endobj
+13902 0 obj <<
+/Names [(group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea8191bdbdcd041a9859ed465d16062ab1) 1697 0 R (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea94cf20719046117aece5acba61dcae4d) 1695 0 R (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aead8db7109fb4bb50360b05800dd245416) 1694 0 R (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2a0f182c5824807f7bc66d2d2033810feb) 1745 0 R (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd82 [...]
+/Limits [(group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea8191bdbdcd041a9859ed465d16062ab1) (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2abeee33de6f8542b0228161d044640eaa)]
+>> endobj
+13903 0 obj <<
+/Names [(group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2ae0c0414fd69996a2edb8ea476ab236e1) 1747 0 R (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2aeafcc7ca16bda73dc6b0f7deaf9470dd) 1746 0 R (group__PPL__CXX__interface_gga61102bed0c7780ab782fcc8cd57a384aaafd3e20e35e86cff976d68ffc4283c32) 1712 0 R (group__PPL__CXX__interface_gga61102bed0c7780ab782fcc8cd57a384aaf4462ec77078de4bbabb446cf61e5123) 1713 0 R (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e7 [...]
+/Limits [(group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2ae0c0414fd69996a2edb8ea476ab236e1) (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899ac7753e1dd51e1b7b3fdfafa9f8332370)]
+>> endobj
+13904 0 obj <<
+/Names [(group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fda405c8934c8b3f4d8c5ba0b21b674e559) 1709 0 R (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fda591549aad4d57135c2dcc6fd73daf554) 1706 0 R (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fda9a59b7fa00c2cf8df942badc9c414aef) 1710 0 R (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fdac58a6ff6765224e937fefbadf45a4860) 1707 0 R (group__PPL__CXX__interface_gga73813939ed838a85ae565152b [...]
+/Limits [(group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fda405c8934c8b3f4d8c5ba0b21b674e559) (group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a7869fdfe9b1ace668a0a7b1d2faba812)]
+>> endobj
+13905 0 obj <<
+/Names [(group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a7b85b6b4c644857c3809eeef6aa35dbb) 1717 0 R (group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a832f214eaa5bc2ce48e1e2d67473cf10) 1715 0 R (group__PPL__CXX__interface_ggaa7159523299c8f193184a1bda20d6044a3b60d6dfe175b3a5d48361ac121f23ae) 1750 0 R (group__PPL__CXX__interface_ggaa7159523299c8f193184a1bda20d6044a7fee51bad737377323f3d7ddb036a74e) 1749 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc [...]
+/Limits [(group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a7b85b6b4c644857c3809eeef6aa35dbb) (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a057025d0ff550a2226a0a1273c84b4f6)]
+>> endobj
+13906 0 obj <<
+/Names [(group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a0905d51325862cb4db00635875efcff8) 1685 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a0d808c2d0d6514c33e06445d7aa34270) 1602 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a202263943c451b9fdfe003b2bc8d0b1f) 1686 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a261922c7bb53bf71459671df868e55da) 1684 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc [...]
+/Limits [(group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a0905d51325862cb4db00635875efcff8) (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a4194f750c76fb24d6e5930e1696076c4)]
+>> endobj
+13907 0 obj <<
+/Names [(group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a44e009680d1b9995b04ac762c6ef8057) 1606 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a4e2e7513e80017645e24e2fc7bb6846d) 1605 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a5912e00d1de38a643d48af1f0e5dd35f) 1679 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a6c817c11198882f3864d8ace4ec326dd) 1601 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc [...]
+/Limits [(group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a44e009680d1b9995b04ac762c6ef8057) (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a9f5dce9506b72773425c0504845d8e4e)]
+>> endobj
+13908 0 obj <<
+/Names [(group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aa0f28596ac7d4a43766fab174c28ccab) 1683 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aa1bf7bec2cb0d949e45c3cd0e25874a6) 1678 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aaee8efad6ea4263d7aa15cb0db2497ea) 1675 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ab30277f972f730fe26f6cfc39098cc77) 1597 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc [...]
+/Limits [(group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aa0f28596ac7d4a43766fab174c28ccab) (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8abd1bad185f4622d07b171767dafc78b6)]
+>> endobj
+13909 0 obj <<
+/Names [(group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ac77955fc77a169347da8820b46c3247b) 1600 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aca1ef0806f3a27d811b8f7352d53a21b) 1672 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aceefc8c6d25b8e2ae5e538a9f793516e) 1687 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ad5e386c6a05c9656eac42fe9e2cdd8b5) 1599 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc [...]
+/Limits [(group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ac77955fc77a169347da8820b46c3247b) (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ae0c660bfcbcd3d10c3e764e22f41d0a1)]
+>> endobj
+13910 0 obj <<
+/Names [(group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ae704947d33ff1b60a2475950d5f18ec3) 1598 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8afda2f32e2fc3f61357ce0d9d7813f5fc) 1680 0 R (group__PPL__CXX__interface_ggaac82e7e0179442ef589f2fc61302d654a0e1a601a53491f60c89282fde55b5352) 1704 0 R (group__PPL__CXX__interface_ggaac82e7e0179442ef589f2fc61302d654a324bf568397fdfc332a4c06e7a4facf5) 1703 0 R (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170 [...]
+/Limits [(group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ae704947d33ff1b60a2475950d5f18ec3) (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2a78fc3e83d58f3eb97a8041b600870a05)]
+>> endobj
+13911 0 obj <<
+/Names [(group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2ab2bc77b49f9450faf5b5f8ca5374421d) 1753 0 R (index) 501 0 R (main_A_Note_on_the_Implementation_of_the_Operators) 944 0 R (main_Adding_New_Dimensions_to_the_Vector_Space) 665 0 R (main_Adding_a_Disjunct) 900 0 R (main_Affine_Hyperplanes_and_Half_spaces) 599 0 R]
+/Limits [(group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2ab2bc77b49f9450faf5b5f8ca5374421d) (main_Affine_Hyperplanes_and_Half_spaces)]
+>> endobj
+13912 0 obj <<
+/Names [(main_Affine_Independence_and_Affine_Dimension) 649 0 R (main_Anc91) 958 0 R (main_Approximating_Bounded_Integers) 571 0 R (main_Approximating_Integers) 568 0 R (main_BA05) 959 0 R (main_BCCetal02) 776 0 R]
+/Limits [(main_Affine_Independence_and_Affine_Dimension) (main_BCCetal02)]
+>> endobj
+13913 0 obj <<
+/Names [(main_BDHetal05) 797 0 R (main_BDHetal06) 973 0 R (main_BDHetal07) 974 0 R (main_BFT00) 975 0 R (main_BFT01) 976 0 R (main_BGP99) 935 0 R]
+/Limits [(main_BDHetal05) (main_BGP99)]
+>> endobj
+13914 0 obj <<
+/Names [(main_BHMZ04) 977 0 R (main_BHMZ05_widening) 790 0 R (main_BHMZ05a) 796 0 R (main_BHMZ05b) 978 0 R (main_BHRZ03_widening) 738 0 R (main_BHRZ03a) 741 0 R]
+/Limits [(main_BHMZ04) (main_BHRZ03a)]
+>> endobj
+13915 0 obj <<
+/Names [(main_BHRZ03b) 979 0 R (main_BHRZ05) 980 0 R (main_BHZ02a) 995 0 R (main_BHZ02b) 996 0 R (main_BHZ03a) 997 0 R (main_BHZ03b) 936 0 R]
+/Limits [(main_BHRZ03b) (main_BHZ03b)]
+>> endobj
+13916 0 obj <<
+/Names [(main_BHZ04) 887 0 R (main_BHZ05) 998 0 R (main_BHZ06a) 999 0 R (main_BHZ06b) 1000 0 R (main_BHZ07a) 1001 0 R (main_BHZ07b) 1002 0 R]
+/Limits [(main_BHZ04) (main_BHZ07b)]
+>> endobj
+13917 0 obj <<
+/Names [(main_BHZ07c) 1003 0 R (main_BHZ08a) 1004 0 R (main_BHZ08b) 1022 0 R (main_BHZ09a) 1023 0 R (main_BHZ09b) 1024 0 R (main_BHZ09c) 1025 0 R]
+/Limits [(main_BHZ07c) (main_BHZ09c)]
+>> endobj
+13918 0 obj <<
+/Names [(main_BHZ09d) 1026 0 R (main_BHZ10) 1027 0 R (main_BJT99) 1028 0 R (main_BK89) 1029 0 R (main_BMPZ10) 1030 0 R (main_BRZH02a) 1031 0 R]
+/Limits [(main_BHZ09d) (main_BRZH02a)]
+>> endobj
+13919 0 obj <<
+/Names [(main_BRZH02b) 603 0 R (main_BRZH02c) 1032 0 R (main_Bag97) 960 0 R (main_Bag98) 886 0 R (main_Basic_Geometric_Descriptors) 523 0 R (main_Bounded_Difference_Shapes) 771 0 R]
+/Limits [(main_BRZH02b) (main_Bounded_Difference_Shapes)]
+>> endobj
+13920 0 obj <<
+/Names [(main_Bounded_Polyhedra) 613 0 R (main_CC76) 775 0 R (main_CC76_extrapolation) 791 0 R (main_CC76_interval_widening) 760 0 R (main_CC79) 1039 0 R (main_CC92) 1040 0 R]
+/Limits [(main_Bounded_Polyhedra) (main_CC92)]
+>> endobj
+13921 0 obj <<
+/Names [(main_CH78) 795 0 R (main_Certificate_Based_Widenings) 933 0 R (main_Che64) 1041 0 R (main_Che65) 1042 0 R (main_Che68) 1043 0 R (main_Collapsing_a_Powerset_Element) 903 0 R]
+/Limits [(main_CH78) (main_Collapsing_a_Powerset_Element)]
+>> endobj
+13922 0 obj <<
+/Names [(main_Combinations_and_Hulls) 619 0 R (main_Concatenating_Polyhedra) 663 0 R (main_Congruence_Relations) 793 0 R (main_Constraint_Geometric_Descriptors) 525 0 R (main_Constraints_Representation) 616 0 R (main_Convex_Polyhedra) 601 0 R]
+/Limits [(main_Combinations_and_Hulls) (main_Convex_Polyhedra)]
+>> endobj
+13923 0 obj <<
+/Names [(main_Convex_Polyhedral_Difference) 661 0 R (main_Cylindrification) 714 0 R (main_Dan63) 1044 0 R (main_Double_Description) 639 0 R (main_Dropping_Non_Integer_Points) 569 0 R (main_Expanding_One_Dimension_of_the_Vector_Space_to_Multiple_Dimensions) 680 0 R]
+/Limits [(main_Convex_Polyhedral_Difference) (main_Expanding_One_Dimension_of_the_Vector_Space_to_Multiple_Dimensions)]
+>> endobj
+13924 0 obj <<
+/Names [(main_Extrapolation_Operators) 754 0 R (main_FCB07) 1045 0 R (main_FP96) 1047 0 R (main_Fea88) 1046 0 R (main_Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension) 683 0 R (main_Fuk98) 604 0 R]
+/Limits [(main_Extrapolation_Operators) (main_Fuk98)]
+>> endobj
+13925 0 obj <<
+/Names [(main_GDDetal04) 685 0 R (main_GJ00) 1048 0 R (main_GJ01) 1049 0 R (main_GR77) 1050 0 R (main_Generalized_Affine_Relations) 712 0 R (main_Generator_Geometric_Descriptors) 548 0 R]
+/Limits [(main_GDDetal04) (main_Generator_Geometric_Descriptors)]
+>> endobj
+13926 0 obj <<
+/Names [(main_Generators_Representation) 630 0 R (main_Generic_Operations_on_Semantic_Geometric_Descriptors) 550 0 R (main_Geometric_Comparisons) 910 0 R (main_Gra91) 1057 0 R (main_Gra97) 1058 0 R (main_Grid_Affine_Dimension) 827 0 R]
+/Limits [(main_Generators_Representation) (main_Grid_Affine_Dimension)]
+>> endobj
+13927 0 obj <<
+/Names [(main_Grid_Affine_Transformation) 838 0 R (main_Grid_Extrapolation) 868 0 R (main_Grid_Frequency) 842 0 R (main_Grid_Generalized_Image) 840 0 R (main_Grid_Generator_Representation) 810 0 R (main_Grid_Minimized_Representations) 821 0 R]
+/Limits [(main_Grid_Affine_Transformation) (main_Grid_Minimized_Representations)]
+>> endobj
+13928 0 obj <<
+/Names [(main_Grid_Relation_With) 852 0 R (main_Grid_Space_Dimensions) 825 0 R (main_Grid_Time_Elapse) 850 0 R (main_Grid_Widening) 864 0 R (main_Grid_Widening_with_Tokens) 866 0 R (main_Grid_Wrapping_Operator) 854 0 R]
+/Limits [(main_Grid_Relation_With) (main_Grid_Wrapping_Operator)]
+>> endobj
+13929 0 obj <<
+/Names [(main_Grids_Double_Description_Grids) 823 0 R (main_H79_widening) 737 0 R (main_HH95) 1060 0 R (main_HHL90) 1061 0 R (main_HKP95) 1062 0 R (main_HLW94) 1063 0 R]
+/Limits [(main_Grids_Double_Description_Grids) (main_HLW94)]
+>> endobj
+13930 0 obj <<
+/Names [(main_HMT71) 720 0 R (main_HPR94) 1064 0 R (main_HPR97) 721 0 R (main_HPWT01) 1065 0 R (main_Hal79) 740 0 R (main_Hal93) 1059 0 R]
+/Limits [(main_HMT71) (main_Hal93)]
+>> endobj
+13931 0 obj <<
+/Names [(main_Images_and_Preimages_of_Affine_Transfer_Relations) 693 0 R (main_Integer_Combinations) 806 0 R (main_Intersection_and_Convex_Polyhedral_Hull) 654 0 R (main_Intervals_and_Boxes) 758 0 R (main_JMSY94) 1067 0 R (main_Jea02) 1066 0 R]
+/Limits [(main_Images_and_Preimages_of_Affine_Transfer_Relations) (main_Jea02)]
+>> endobj
+13932 0 obj <<
+/Names [(main_KBBetal06) 1068 0 R (main_Kuh56) 1078 0 R (main_LW97) 1081 0 R (main_Le) 1079 0 R (main_Loe99) 1080 0 R (main_MRTT53) 1089 0 R]
+/Limits [(main_KBBetal06) (main_MRTT53)]
+>> endobj
+13933 0 obj <<
+/Names [(main_Mapping_the_Dimensions_of_the_Vector_Space) 675 0 R (main_Mas92) 1082 0 R (main_Mas93) 1083 0 R (main_Meet_Preserving_Simplification) 718 0 R (main_Meet_and_Upper_Bound) 884 0 R (main_Min01a) 1084 0 R]
+/Limits [(main_Mapping_the_Dimensions_of_the_Vector_Space) (main_Min01a)]
+>> endobj
+13934 0 obj <<
+/Names [(main_Min01b) 1085 0 R (main_Min02) 1086 0 R (main_Min04) 1087 0 R (main_Min05) 1088 0 R (main_Minimized_Representations) 632 0 R (main_NF01) 1090 0 R]
+/Limits [(main_Min01b) (main_NF01)]
+>> endobj
+13935 0 obj <<
+/Names [(main_NJPF99) 1091 0 R (main_NO77) 1092 0 R (main_NO80) 1093 0 R (main_NR00) 1102 0 R (main_NW88) 605 0 R (main_Octagonal_Shapes) 773 0 R]
+/Limits [(main_NJPF99) (main_Octagonal_Shapes)]
+>> endobj
+13936 0 obj <<
+/Names [(main_On_Const_Correctness_A_Warning_about_the_Use_of_References_and_Iterators) 955 0 R (main_On_Object_Orientation_and_Polymorphism_A_Disclaimer) 948 0 R (main_On_Pointset_Powerset_and_Partially_Reduced_Product_Domains_A_Warning) 946 0 R (main_Operations_on_Convex_Polyhedra) 653 0 R (main_PS98) 1104 0 R (main_Pairwise_Merge) 927 0 R]
+/Limits [(main_On_Const_Correctness_A_Warning_about_the_Use_of_References_and_Iterators) (main_Pairwise_Merge)]
+>> endobj
+13937 0 obj <<
+/Names [(main_Points_Closure_Points_Rays_and_Lines) 628 0 R (main_Points_Parameters_Lines) 808 0 R (main_Powerset_Extrapolation_Operators) 930 0 R (main_Powerset_Meet_Preserving_Simplification) 739 0 R (main_Pra77) 1103 0 R (main_QRR96) 1105 0 R]
+/Limits [(main_Points_Closure_Points_Rays_and_Lines) (main_QRR96)]
+>> endobj
+13938 0 obj <<
+/Names [(main_QRR97) 1106 0 R (main_QRW00) 1107 0 R (main_RBL06) 1108 0 R (main_Rational_Grids) 804 0 R (main_Rational_Polyhedra) 651 0 R (main_Relation_With_Operators) 733 0 R]
+/Limits [(main_QRR97) (main_Relation_With_Operators)]
+>> endobj
+13939 0 obj <<
+/Names [(main_Removing_Dimensions_from_the_Vector_Space) 667 0 R (main_Ric02) 1109 0 R (main_SK07) 584 0 R (main_SS07a) 1112 0 R (main_SS07b) 1113 0 R (main_SW70) 1114 0 R]
+/Limits [(main_Removing_Dimensions_from_the_Vector_Space) (main_SW70)]
+>> endobj
+13940 0 obj <<
+/Names [(main_Sch99) 830 0 R (main_Semantic_Geometric_Descriptors) 503 0 R (main_Sho81) 1110 0 R (main_Single_Update_Affine_Functions) 701 0 R (main_Single_Update_Bounded_Affine_Relations) 703 0 R (main_Space_Dimensions_and_Dimension_Compatibility) 642 0 R]
+/Limits [(main_Sch99) (main_Space_Dimensions_and_Dimension_Compatibility)]
+>> endobj
+13941 0 obj <<
+/Names [(main_Sri93) 1111 0 R (main_Syntactic_Geometric_Descriptors) 521 0 R (main_The_Powerset_Domain) 880 0 R (main_Time_Elapse_Operator) 716 0 R (main_Topologies_and_Topological_compatibility) 622 0 R (main_Upward_Approximation) 567 0 R]
+/Limits [(main_Sri93) (main_Upward_Approximation)]
+>> endobj
+13942 0 obj <<
+/Names [(main_Vectors_Matrices_and_Scalar_Products) 594 0 R (main_War03) 1115 0 R (main_Weakly_Relational_Shape_Interface) 786 0 R (main_Weakly_Relational_Shapes) 770 0 R (main_Wey35) 1122 0 R (main_Wey50) 1123 0 R]
+/Limits [(main_Vectors_Matrices_and_Scalar_Products) (main_Wey50)]
+>> endobj
+13943 0 obj <<
+/Names [(main_Widening_Operators) 735 0 R (main_Widening_and_Extrapolation_Operators_on_Boxes) 768 0 R (main_Widening_and_Extrapolation_Operators_on_WR_Shapes) 788 0 R (main_Widening_with_Tokens) 752 0 R (main_Wil93) 606 0 R (main_Wrapping_Operator) 582 0 R]
+/Limits [(main_Widening_Operators) (main_Wrapping_Operator)]
+>> endobj
+13944 0 obj <<
+/Names [(main_affine_relation) 692 0 R (main_bibliography) 957 0 R (main_bounded_extrapolation) 757 0 R (main_convex_polys) 508 0 R (main_expand_space_dimension) 679 0 R (main_fold_space_dimensions) 682 0 R]
+/Limits [(main_affine_relation) (main_fold_space_dimensions)]
+>> endobj
+13945 0 obj <<
+/Names [(main_intervals) 759 0 R (main_limited_extrapolation) 756 0 R (main_pointset_powerset) 888 0 R (main_powerset) 878 0 R (main_powerset_domain) 879 0 R (main_pps_bgp99_extrapolation) 929 0 R]
+/Limits [(main_intervals) (main_pps_bgp99_extrapolation)]
+>> endobj
+13946 0 obj <<
+/Names [(main_pps_certificate_widening) 932 0 R (main_pps_geometric) 909 0 R (main_pps_pairwise_merge) 926 0 R (main_preamble) 502 0 R (main_ps_add_disjunct) 899 0 R (main_ps_collapse) 902 0 R]
+/Limits [(main_pps_certificate_widening) (main_ps_collapse)]
+>> endobj
+13947 0 obj <<
+/Names [(main_ps_meet_upper_bound) 883 0 R (main_ps_operations) 882 0 R (main_rational_grid_operations) 829 0 R (main_relation_with) 732 0 R (main_representation) 615 0 R (main_sect_rational_grids) 792 0 R]
+/Limits [(main_ps_meet_upper_bound) (main_sect_rational_grids)]
+>> endobj
+13948 0 obj <<
+/Names [(main_use_of_library) 509 0 R (namespaceParma__Polyhedra__Library) 1257 0 R (namespaceParma__Polyhedra__Library_1_1IO__Operators) 1258 0 R (namespaceParma__Polyhedra__Library_1_1IO__Operators_a9ccf426c9d89537e0351aac50a333e95) 2285 0 R (namespaceParma__Polyhedra__Library_a02bcf74a81fe5f35657f5f006c56bb29) 2126 0 R (namespaceParma__Polyhedra__Library_a03ed91fbbeb6d32952c5d2a30bfd3830) 2077 0 R]
+/Limits [(main_use_of_library) (namespaceParma__Polyhedra__Library_a03ed91fbbeb6d32952c5d2a30bfd3830)]
+>> endobj
+13949 0 obj <<
+/Names [(namespaceParma__Polyhedra__Library_a05dd6b345e96427a50b45f9756e302ab) 2078 0 R (namespaceParma__Polyhedra__Library_a077909c2e2a30e356b03d74e287d2545) 2201 0 R (namespaceParma__Polyhedra__Library_a079a46ea302194faf75833bf0f1beb6b) 2176 0 R (namespaceParma__Polyhedra__Library_a0adf6106892886dc859985042b8a7433) 2016 0 R (namespaceParma__Polyhedra__Library_a0d0db024e7accefca878d7e09d815788) 2124 0 R (namespaceParma__Polyhedra__Library_a0f5fece719859502d9761d128734baea) 2125 0 R]
+/Limits [(namespaceParma__Polyhedra__Library_a05dd6b345e96427a50b45f9756e302ab) (namespaceParma__Polyhedra__Library_a0f5fece719859502d9761d128734baea)]
+>> endobj
+13950 0 obj <<
+/Names [(namespaceParma__Polyhedra__Library_a19b0ebdb3476fe1feb0f51d9328fd384) 2082 0 R (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766) 2022 0 R (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a00b00eff42cb35b0009a39ceb4202ac6) 2029 0 R (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a16951436466647aef85cdd1f567200af) 2026 0 R (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a3181ff1b549af004ba60f7c66403 [...]
+/Limits [(namespaceParma__Polyhedra__Library_a19b0ebdb3476fe1feb0f51d9328fd384) (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a3388ff37939783f337c4aeca28873c8a)]
+>> endobj
+13951 0 obj <<
+/Names [(namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a3bdee6d73627cc8338fb846f4a1fa935) 2028 0 R (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a4fbc5cd99bd48b3a521a9f2c5e7b0c00) 2033 0 R (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a517be2ee42ead94cbef7d4ec632500ea) 2030 0 R (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a5e739a5468d529a02f4248c77a4776a7) 2032 0 R (namespaceParma__Polyhedra__Libr [...]
+/Limits [(namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a3bdee6d73627cc8338fb846f4a1fa935) (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766ad2496277dd6e1de91ca84a903ed28b64)]
+>> endobj
+13952 0 obj <<
+/Names [(namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766ad57704b5d1b446fc9840009f06a5cb49) 2024 0 R (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766ada806236c55c963a0f138b67310de3b8) 2027 0 R (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766adb4b733a5edc79c83812093b2d020952) 2031 0 R (namespaceParma__Polyhedra__Library_a20874a85120477d5cf11da451870d497) 2075 0 R (namespaceParma__Polyhedra__Library_a273d8b57c5c3158b59a66a98351a [...]
+/Limits [(namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766ad57704b5d1b446fc9840009f06a5cb49) (namespaceParma__Polyhedra__Library_a30a5addfb775d0e3586f1575ece47bf6)]
+>> endobj
+13953 0 obj <<
+/Names [(namespaceParma__Polyhedra__Library_a31f5a518ab35f859aafd220bc3e38dfd) 2118 0 R (namespaceParma__Polyhedra__Library_a3504c6384a7e40501e2cfc49ba870ad5) 2206 0 R (namespaceParma__Polyhedra__Library_a3aa0f8a865cbe18e6202b99d388af956) 2203 0 R (namespaceParma__Polyhedra__Library_a3e6dcd6f5d8e3ea263c9205b21a83e48) 2070 0 R (namespaceParma__Polyhedra__Library_a5604f97d216583cdf012a50d2f8cdbde) 2018 0 R (namespaceParma__Polyhedra__Library_a563b92eac806093d3e743ea4dfcc0594) 2180 0 R]
+/Limits [(namespaceParma__Polyhedra__Library_a31f5a518ab35f859aafd220bc3e38dfd) (namespaceParma__Polyhedra__Library_a563b92eac806093d3e743ea4dfcc0594)]
+>> endobj
+13954 0 obj <<
+/Names [(namespaceParma__Polyhedra__Library_a56eb4e32ec57658bc9e7823cd42ecbae) 2076 0 R (namespaceParma__Polyhedra__Library_a5e801a56c2c3dcec13d2d87adf07ac47) 2072 0 R (namespaceParma__Polyhedra__Library_a63bd7c7767faf3c219f9c2762095e2dd) 2037 0 R (namespaceParma__Polyhedra__Library_a64ce78ed8253fa6b08455b187380805c) 2128 0 R (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) 2117 0 R (namespaceParma__Polyhedra__Library_a68ba0ee40d5b2fe4d512a046e19025d3) 2177 0 R]
+/Limits [(namespaceParma__Polyhedra__Library_a56eb4e32ec57658bc9e7823cd42ecbae) (namespaceParma__Polyhedra__Library_a68ba0ee40d5b2fe4d512a046e19025d3)]
+>> endobj
+13955 0 obj <<
+/Names [(namespaceParma__Polyhedra__Library_a6a54c55d8b52ef353df7cefdfa632d8d) 2071 0 R (namespaceParma__Polyhedra__Library_a6c841f33162c2419bd53a078e6c788ee) 2038 0 R (namespaceParma__Polyhedra__Library_a729bdafa0ec2ae7a6664cbdf38c09755) 2179 0 R (namespaceParma__Polyhedra__Library_a74074a5ed3718745a4d82bacd5b381ed) 2069 0 R (namespaceParma__Polyhedra__Library_a75dfd397f7fab1fe9da3eb150911853c) 2181 0 R (namespaceParma__Polyhedra__Library_a83e1eb0462a99f105974ae38c55e5382) 2171 0 R]
+/Limits [(namespaceParma__Polyhedra__Library_a6a54c55d8b52ef353df7cefdfa632d8d) (namespaceParma__Polyhedra__Library_a83e1eb0462a99f105974ae38c55e5382)]
+>> endobj
+13956 0 obj <<
+/Names [(namespaceParma__Polyhedra__Library_a8f608e24421a818d8e065a74425d8573) 2127 0 R (namespaceParma__Polyhedra__Library_a93c37cc32a1f50c36ec15d67fdbec3aa) 2080 0 R (namespaceParma__Polyhedra__Library_a95f3cc785d7b89f59b3ca216461c34b0) 2073 0 R (namespaceParma__Polyhedra__Library_a99e9dc5df3cf7c0ab581e602d1176e41) 2020 0 R (namespaceParma__Polyhedra__Library_a9bfba21dd2d808e2eabd2348e92cb96a) 2205 0 R (namespaceParma__Polyhedra__Library_a9c118832fed4c0b9b40547578459dad4) 2067 0 R]
+/Limits [(namespaceParma__Polyhedra__Library_a8f608e24421a818d8e065a74425d8573) (namespaceParma__Polyhedra__Library_a9c118832fed4c0b9b40547578459dad4)]
+>> endobj
+13957 0 obj <<
+/Names [(namespaceParma__Polyhedra__Library_aa6a2ae8d135b40f8bee030f76d52659c) 2129 0 R (namespaceParma__Polyhedra__Library_aaeffe6c0f315667496085d5673d2a14c) 2130 0 R (namespaceParma__Polyhedra__Library_abdd9791a8d91b11a5bd3a6ef0770bc86) 2083 0 R (namespaceParma__Polyhedra__Library_abe0911e6125f86a771adc88932d96fc4) 2172 0 R (namespaceParma__Polyhedra__Library_ac40e401b77b5ec6e9625c317ce6d760d) 2074 0 R (namespaceParma__Polyhedra__Library_aca6003248d614d68c07f5330b468a242) 2119 0 R]
+/Limits [(namespaceParma__Polyhedra__Library_aa6a2ae8d135b40f8bee030f76d52659c) (namespaceParma__Polyhedra__Library_aca6003248d614d68c07f5330b468a242)]
+>> endobj
+13958 0 obj <<
+/Names [(namespaceParma__Polyhedra__Library_ace0cdceaa0c7eea84cc1c38cf5bea680) 2021 0 R (namespaceParma__Polyhedra__Library_ad0719a31106af8ca454d1d1d77dbde4e) 2183 0 R (namespaceParma__Polyhedra__Library_ad11992da5c89caef7922c215278d03a8) 2185 0 R (namespaceParma__Polyhedra__Library_ad31eeb0067d6cad2eb2ea5ab5bd0a2b2) 2068 0 R (namespaceParma__Polyhedra__Library_ad4f28a7482372281b01b4221b8543bdc) 2178 0 R (namespaceParma__Polyhedra__Library_ad6c6b997fe2c49a8098bba1b6a45a008) 2123 0 R]
+/Limits [(namespaceParma__Polyhedra__Library_ace0cdceaa0c7eea84cc1c38cf5bea680) (namespaceParma__Polyhedra__Library_ad6c6b997fe2c49a8098bba1b6a45a008)]
+>> endobj
+13959 0 obj <<
+/Names [(namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8) 1960 0 R (namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8a9606fc251d767040929d3e2645dbb446) 1964 0 R (namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8a96b8890edb38e9960c455aa178e508ba) 1961 0 R (namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8a979f37a289d4cb316643f1dcc07ec7cd) 1963 0 R (namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1 [...]
+/Limits [(namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8) (namespaceParma__Polyhedra__Library_ae2684e5d6c84a8e156f58121be0dbd03)]
+>> endobj
+13960 0 obj <<
+/Names [(namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98) 1965 0 R (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a44ed03f4b908d58ac405493b10be3012) 1971 0 R (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a468389fd24e4a478d296cbcf6b104eb0) 1973 0 R (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a4e456df02ee601b05831536311de132c) 1972 0 R (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a0 [...]
+/Limits [(namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98) (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a9afce68d66f8c8eedec345f8df2e822f)]
+>> endobj
+13961 0 obj <<
+/Names [(namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98accf532c4e56a06e520b6b3f638371667) 1969 0 R (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98ae9e9040024adaad2b7a0d9ceea0c8b62) 1968 0 R (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98af4fca65e2503d4afea11aa9b9da7d51e) 1966 0 R (namespaceParma__Polyhedra__Library_ae6a8e238a8400e68173c88d38dd8a8da) 2182 0 R (namespaceParma__Polyhedra__Library_aec4c213c066101e1cd926125ccc4 [...]
+/Limits [(namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98accf532c4e56a06e520b6b3f638371667) (namespaceParma__Polyhedra__Library_aee4e9b54e65780ac3010fda40ea235a6)]
+>> endobj
+13962 0 obj <<
+/Names [(namespaceParma__Polyhedra__Library_af127b16b1a8e300aa97caca515284b6f) 2019 0 R (namespaceParma__Polyhedra__Library_af9dd9190c5f29dbbfa3d6e442dea7e7d) 2017 0 R (namespaceParma__Polyhedra__Library_afb314bce856c60de821bc388a02571f5) 2184 0 R (namespaceParma__Polyhedra__Library_afd604dc4c87ae10e8c41bceaf9eed8c3) 2173 0 R (namespacestd) 1259 0 R (page.1) 365 0 R]
+/Limits [(namespaceParma__Polyhedra__Library_af127b16b1a8e300aa97caca515284b6f) (page.1)]
+>> endobj
+13963 0 obj <<
+/Names [(page.10) 627 0 R (page.100) 2847 0 R (page.101) 2856 0 R (page.102) 2864 0 R (page.103) 2874 0 R (page.104) 2883 0 R]
+/Limits [(page.10) (page.104)]
+>> endobj
+13964 0 obj <<
+/Names [(page.105) 2890 0 R (page.106) 2900 0 R (page.107) 2909 0 R (page.108) 2917 0 R (page.109) 2926 0 R (page.11) 637 0 R]
+/Limits [(page.105) (page.11)]
+>> endobj
+13965 0 obj <<
+/Names [(page.110) 2937 0 R (page.111) 2948 0 R (page.112) 2960 0 R (page.113) 2970 0 R (page.114) 2980 0 R (page.115) 2991 0 R]
+/Limits [(page.110) (page.115)]
+>> endobj
+13966 0 obj <<
+/Names [(page.116) 3002 0 R (page.117) 3016 0 R (page.118) 3028 0 R (page.119) 3039 0 R (page.12) 648 0 R (page.120) 3051 0 R]
+/Limits [(page.116) (page.120)]
+>> endobj
+13967 0 obj <<
+/Names [(page.121) 3064 0 R (page.122) 3073 0 R (page.123) 3084 0 R (page.124) 3093 0 R (page.125) 3113 0 R (page.126) 3140 0 R]
+/Limits [(page.121) (page.126)]
+>> endobj
+13968 0 obj <<
+/Names [(page.127) 3184 0 R (page.128) 3243 0 R (page.129) 3310 0 R (page.13) 659 0 R (page.130) 3368 0 R (page.131) 3437 0 R]
+/Limits [(page.127) (page.131)]
+>> endobj
+13969 0 obj <<
+/Names [(page.132) 3493 0 R (page.133) 3544 0 R (page.134) 3591 0 R (page.135) 3607 0 R (page.136) 3619 0 R (page.137) 3628 0 R]
+/Limits [(page.132) (page.137)]
+>> endobj
+13970 0 obj <<
+/Names [(page.138) 3637 0 R (page.139) 3648 0 R (page.14) 673 0 R (page.140) 3657 0 R (page.141) 3666 0 R (page.142) 3675 0 R]
+/Limits [(page.138) (page.142)]
+>> endobj
+13971 0 obj <<
+/Names [(page.143) 3684 0 R (page.144) 3692 0 R (page.145) 3701 0 R (page.146) 3712 0 R (page.147) 3721 0 R (page.148) 3734 0 R]
+/Limits [(page.143) (page.148)]
+>> endobj
+13972 0 obj <<
+/Names [(page.149) 3745 0 R (page.15) 691 0 R (page.150) 3755 0 R (page.151) 3765 0 R (page.152) 3777 0 R (page.153) 3789 0 R]
+/Limits [(page.149) (page.153)]
+>> endobj
+13973 0 obj <<
+/Names [(page.154) 3800 0 R (page.155) 3810 0 R (page.156) 3820 0 R (page.157) 3833 0 R (page.158) 3841 0 R (page.159) 3851 0 R]
+/Limits [(page.154) (page.159)]
+>> endobj
+13974 0 obj <<
+/Names [(page.16) 700 0 R (page.160) 3861 0 R (page.161) 3898 0 R (page.162) 3935 0 R (page.163) 3950 0 R (page.164) 3959 0 R]
+/Limits [(page.16) (page.164)]
+>> endobj
+13975 0 obj <<
+/Names [(page.165) 3967 0 R (page.166) 3977 0 R (page.167) 4009 0 R (page.168) 4055 0 R (page.169) 4094 0 R (page.17) 710 0 R]
+/Limits [(page.165) (page.17)]
+>> endobj
+13976 0 obj <<
+/Names [(page.170) 4149 0 R (page.171) 4205 0 R (page.172) 4259 0 R (page.173) 4317 0 R (page.174) 4374 0 R (page.175) 4406 0 R]
+/Limits [(page.170) (page.175)]
+>> endobj
+13977 0 obj <<
+/Names [(page.176) 4422 0 R (page.177) 4435 0 R (page.178) 4449 0 R (page.179) 4462 0 R (page.18) 730 0 R (page.180) 4473 0 R]
+/Limits [(page.176) (page.180)]
+>> endobj
+13978 0 obj <<
+/Names [(page.181) 4484 0 R (page.182) 4495 0 R (page.183) 4502 0 R (page.184) 4515 0 R (page.185) 4535 0 R (page.186) 4567 0 R]
+/Limits [(page.181) (page.186)]
+>> endobj
+13979 0 obj <<
+/Names [(page.187) 4611 0 R (page.188) 4665 0 R (page.189) 4687 0 R (page.19) 751 0 R (page.190) 4695 0 R (page.191) 4704 0 R]
+/Limits [(page.187) (page.191)]
+>> endobj
+13980 0 obj <<
+/Names [(page.192) 4715 0 R (page.193) 4733 0 R (page.194) 4775 0 R (page.195) 4823 0 R (page.196) 4852 0 R (page.197) 4864 0 R]
+/Limits [(page.192) (page.197)]
+>> endobj
+13981 0 obj <<
+/Names [(page.198) 4878 0 R (page.199) 4891 0 R (page.2) 520 0 R (page.20) 767 0 R (page.200) 4915 0 R (page.201) 4947 0 R]
+/Limits [(page.198) (page.201)]
+>> endobj
+13982 0 obj <<
+/Names [(page.202) 4975 0 R (page.203) 5001 0 R (page.204) 5028 0 R (page.205) 5069 0 R (page.206) 5119 0 R (page.207) 5194 0 R]
+/Limits [(page.202) (page.207)]
+>> endobj
+13983 0 obj <<
+/Names [(page.208) 5235 0 R (page.209) 5249 0 R (page.21) 785 0 R (page.210) 5256 0 R (page.211) 5267 0 R (page.212) 5279 0 R]
+/Limits [(page.208) (page.212)]
+>> endobj
+13984 0 obj <<
+/Names [(page.213) 5292 0 R (page.214) 5312 0 R (page.215) 5350 0 R (page.216) 5396 0 R (page.217) 5415 0 R (page.218) 5427 0 R]
+/Limits [(page.213) (page.218)]
+>> endobj
+13985 0 obj <<
+/Names [(page.219) 5453 0 R (page.22) 802 0 R (page.220) 5493 0 R (page.221) 5526 0 R (page.222) 5553 0 R (page.223) 5587 0 R]
+/Limits [(page.219) (page.223)]
+>> endobj
+13986 0 obj <<
+/Names [(page.224) 5641 0 R (page.225) 5707 0 R (page.226) 5726 0 R (page.227) 5732 0 R (page.228) 5742 0 R (page.229) 5760 0 R]
+/Limits [(page.224) (page.229)]
+>> endobj
+13987 0 obj <<
+/Names [(page.23) 818 0 R (page.230) 5774 0 R (page.231) 5788 0 R (page.232) 5796 0 R (page.233) 5803 0 R (page.234) 5831 0 R]
+/Limits [(page.23) (page.234)]
+>> endobj
+13988 0 obj <<
+/Names [(page.235) 5871 0 R (page.236) 5896 0 R (page.237) 5909 0 R (page.238) 5931 0 R (page.239) 5999 0 R (page.24) 837 0 R]
+/Limits [(page.235) (page.24)]
+>> endobj
+13989 0 obj <<
+/Names [(page.240) 6020 0 R (page.241) 6034 0 R (page.242) 6061 0 R (page.243) 6115 0 R (page.244) 6173 0 R (page.245) 6234 0 R]
+/Limits [(page.240) (page.245)]
+>> endobj
+13990 0 obj <<
+/Names [(page.246) 6298 0 R (page.247) 6363 0 R (page.248) 6423 0 R (page.249) 6468 0 R (page.25) 849 0 R (page.250) 6493 0 R]
+/Limits [(page.246) (page.250)]
+>> endobj
+13991 0 obj <<
+/Names [(page.251) 6500 0 R (page.252) 6505 0 R (page.253) 6510 0 R (page.254) 6518 0 R (page.255) 6526 0 R (page.256) 6535 0 R]
+/Limits [(page.251) (page.256)]
+>> endobj
+13992 0 obj <<
+/Names [(page.257) 6542 0 R (page.258) 6554 0 R (page.259) 6565 0 R (page.26) 862 0 R (page.260) 6574 0 R (page.261) 6581 0 R]
+/Limits [(page.257) (page.261)]
+>> endobj
+13993 0 obj <<
+/Names [(page.262) 6591 0 R (page.263) 6600 0 R (page.264) 6608 0 R (page.265) 6618 0 R (page.266) 6628 0 R (page.267) 6640 0 R]
+/Limits [(page.262) (page.267)]
+>> endobj
+13994 0 obj <<
+/Names [(page.268) 6652 0 R (page.269) 6661 0 R (page.27) 877 0 R (page.270) 6671 0 R (page.271) 6685 0 R (page.272) 6699 0 R]
+/Limits [(page.268) (page.272)]
+>> endobj
+13995 0 obj <<
+/Names [(page.273) 6712 0 R (page.274) 6726 0 R (page.275) 6739 0 R (page.276) 6755 0 R (page.277) 6763 0 R (page.278) 6789 0 R]
+/Limits [(page.273) (page.278)]
+>> endobj
+13996 0 obj <<
+/Names [(page.279) 6827 0 R (page.28) 897 0 R (page.280) 6876 0 R (page.281) 6923 0 R (page.282) 6943 0 R (page.283) 6949 0 R]
+/Limits [(page.279) (page.283)]
+>> endobj
+13997 0 obj <<
+/Names [(page.284) 6962 0 R (page.285) 6979 0 R (page.286) 6989 0 R (page.287) 7028 0 R (page.288) 7074 0 R (page.289) 7105 0 R]
+/Limits [(page.284) (page.289)]
+>> endobj
+13998 0 obj <<
+/Names [(page.29) 924 0 R (page.290) 7122 0 R (page.291) 7131 0 R (page.292) 7158 0 R (page.293) 7185 0 R (page.294) 7219 0 R]
+/Limits [(page.29) (page.294)]
+>> endobj
+13999 0 obj <<
+/Names [(page.295) 7238 0 R (page.296) 7250 0 R (page.297) 7258 0 R (page.298) 7288 0 R (page.299) 7327 0 R (page.3) 538 0 R]
+/Limits [(page.295) (page.3)]
+>> endobj
+14000 0 obj <<
+/Names [(page.30) 943 0 R (page.300) 7400 0 R (page.301) 7467 0 R (page.302) 7491 0 R (page.303) 7500 0 R (page.304) 7512 0 R]
+/Limits [(page.30) (page.304)]
+>> endobj
+14001 0 obj <<
+/Names [(page.305) 7526 0 R (page.306) 7540 0 R (page.307) 7562 0 R (page.308) 7615 0 R (page.309) 7666 0 R (page.31) 954 0 R]
+/Limits [(page.305) (page.31)]
+>> endobj
+14002 0 obj <<
+/Names [(page.310) 7710 0 R (page.311) 7731 0 R (page.312) 7743 0 R (page.313) 7752 0 R (page.314) 7761 0 R (page.315) 7770 0 R]
+/Limits [(page.310) (page.315)]
+>> endobj
+14003 0 obj <<
+/Names [(page.316) 7784 0 R (page.317) 7834 0 R (page.318) 7863 0 R (page.319) 7876 0 R (page.32) 972 0 R (page.320) 7884 0 R]
+/Limits [(page.316) (page.320)]
+>> endobj
+14004 0 obj <<
+/Names [(page.321) 7893 0 R (page.322) 7906 0 R (page.323) 7926 0 R (page.324) 7978 0 R (page.325) 8032 0 R (page.326) 8091 0 R]
+/Limits [(page.321) (page.326)]
+>> endobj
+14005 0 obj <<
+/Names [(page.327) 8149 0 R (page.328) 8222 0 R (page.329) 8285 0 R (page.33) 994 0 R (page.330) 8335 0 R (page.331) 8373 0 R]
+/Limits [(page.327) (page.331)]
+>> endobj
+14006 0 obj <<
+/Names [(page.332) 8389 0 R (page.333) 8394 0 R (page.334) 8405 0 R (page.335) 8414 0 R (page.336) 8423 0 R (page.337) 8432 0 R]
+/Limits [(page.332) (page.337)]
+>> endobj
+14007 0 obj <<
+/Names [(page.338) 8442 0 R (page.339) 8451 0 R (page.34) 1021 0 R (page.340) 8459 0 R (page.341) 8467 0 R (page.342) 8475 0 R]
+/Limits [(page.338) (page.342)]
+>> endobj
+14008 0 obj <<
+/Names [(page.343) 8487 0 R (page.344) 8499 0 R (page.345) 8509 0 R (page.346) 8521 0 R (page.347) 8531 0 R (page.348) 8542 0 R]
+/Limits [(page.343) (page.348)]
+>> endobj
+14009 0 obj <<
+/Names [(page.349) 8551 0 R (page.35) 1038 0 R (page.350) 8564 0 R (page.351) 8577 0 R (page.352) 8589 0 R (page.353) 8601 0 R]
+/Limits [(page.349) (page.353)]
+>> endobj
+14010 0 obj <<
+/Names [(page.354) 8613 0 R (page.355) 8621 0 R (page.356) 8632 0 R (page.357) 8643 0 R (page.358) 8685 0 R (page.359) 8739 0 R]
+/Limits [(page.354) (page.359)]
+>> endobj
+14011 0 obj <<
+/Names [(page.36) 1056 0 R (page.360) 8794 0 R (page.361) 8851 0 R (page.362) 8923 0 R (page.363) 8974 0 R (page.364) 9009 0 R]
+/Limits [(page.36) (page.364)]
+>> endobj
+14012 0 obj <<
+/Names [(page.365) 9041 0 R (page.366) 9056 0 R (page.367) 9063 0 R (page.368) 9071 0 R (page.369) 9079 0 R (page.37) 1077 0 R]
+/Limits [(page.365) (page.37)]
+>> endobj
+14013 0 obj <<
+/Names [(page.370) 9087 0 R (page.371) 9095 0 R (page.372) 9105 0 R (page.373) 9112 0 R (page.374) 9119 0 R (page.375) 9128 0 R]
+/Limits [(page.370) (page.375)]
+>> endobj
+14014 0 obj <<
+/Names [(page.376) 9138 0 R (page.377) 9149 0 R (page.378) 9157 0 R (page.379) 9170 0 R (page.38) 1101 0 R (page.380) 9184 0 R]
+/Limits [(page.376) (page.380)]
+>> endobj
+14015 0 obj <<
+/Names [(page.381) 9196 0 R (page.382) 9208 0 R (page.383) 9217 0 R (page.384) 9230 0 R (page.385) 9240 0 R (page.386) 9254 0 R]
+/Limits [(page.381) (page.386)]
+>> endobj
+14016 0 obj <<
+/Names [(page.387) 9272 0 R (page.388) 9312 0 R (page.389) 9365 0 R (page.39) 1121 0 R (page.390) 9419 0 R (page.391) 9459 0 R]
+/Limits [(page.387) (page.391)]
+>> endobj
+14017 0 obj <<
+/Names [(page.392) 9477 0 R (page.393) 9485 0 R (page.394) 9497 0 R (page.395) 9512 0 R (page.396) 9520 0 R (page.397) 9525 0 R]
+/Limits [(page.392) (page.397)]
+>> endobj
+14018 0 obj <<
+/Names [(page.398) 9532 0 R (page.399) 9542 0 R (page.4) 547 0 R (page.40) 1131 0 R (page.400) 9554 0 R (page.401) 9563 0 R]
+/Limits [(page.398) (page.401)]
+>> endobj
+14019 0 obj <<
+/Names [(page.402) 9580 0 R (page.403) 9625 0 R (page.404) 9659 0 R (page.405) 9678 0 R (page.406) 9712 0 R (page.407) 9764 0 R]
+/Limits [(page.402) (page.407)]
+>> endobj
+14020 0 obj <<
+/Names [(page.408) 9797 0 R (page.409) 9820 0 R (page.41) 1139 0 R (page.410) 9833 0 R (page.411) 9873 0 R (page.412) 9921 0 R]
+/Limits [(page.408) (page.412)]
+>> endobj
+14021 0 obj <<
+/Names [(page.413) 9980 0 R (page.414) 10033 0 R (page.415) 10102 0 R (page.416) 10156 0 R (page.417) 10207 0 R (page.418) 10235 0 R]
+/Limits [(page.413) (page.418)]
+>> endobj
+14022 0 obj <<
+/Names [(page.419) 10249 0 R (page.42) 1147 0 R (page.420) 10257 0 R (page.421) 10264 0 R (page.422) 10274 0 R (page.423) 10283 0 R]
+/Limits [(page.419) (page.423)]
+>> endobj
+14023 0 obj <<
+/Names [(page.424) 10291 0 R (page.425) 10299 0 R (page.426) 10308 0 R (page.427) 10318 0 R (page.428) 10328 0 R (page.429) 10338 0 R]
+/Limits [(page.424) (page.429)]
+>> endobj
+14024 0 obj <<
+/Names [(page.43) 1154 0 R (page.430) 10350 0 R (page.431) 10363 0 R (page.432) 10375 0 R (page.433) 10386 0 R (page.434) 10397 0 R]
+/Limits [(page.43) (page.434)]
+>> endobj
+14025 0 obj <<
+/Names [(page.435) 10411 0 R (page.436) 10424 0 R (page.437) 10437 0 R (page.438) 10451 0 R (page.439) 10481 0 R (page.44) 1160 0 R]
+/Limits [(page.435) (page.44)]
+>> endobj
+14026 0 obj <<
+/Names [(page.440) 10512 0 R (page.441) 10542 0 R (page.442) 10572 0 R (page.443) 10608 0 R (page.444) 10658 0 R (page.445) 10719 0 R]
+/Limits [(page.440) (page.445)]
+>> endobj
+14027 0 obj <<
+/Names [(page.446) 10779 0 R (page.447) 10852 0 R (page.448) 10916 0 R (page.449) 10957 0 R (page.45) 1166 0 R (page.450) 11010 0 R]
+/Limits [(page.446) (page.450)]
+>> endobj
+14028 0 obj <<
+/Names [(page.451) 11032 0 R (page.452) 11039 0 R (page.453) 11044 0 R (page.454) 11050 0 R (page.455) 11059 0 R (page.456) 11067 0 R]
+/Limits [(page.451) (page.456)]
+>> endobj
+14029 0 obj <<
+/Names [(page.457) 11076 0 R (page.458) 11086 0 R (page.459) 11096 0 R (page.46) 1175 0 R (page.460) 11104 0 R (page.461) 11112 0 R]
+/Limits [(page.457) (page.461)]
+>> endobj
+14030 0 obj <<
+/Names [(page.462) 11121 0 R (page.463) 11129 0 R (page.464) 11138 0 R (page.465) 11150 0 R (page.466) 11163 0 R (page.467) 11176 0 R]
+/Limits [(page.462) (page.467)]
+>> endobj
+14031 0 obj <<
+/Names [(page.468) 11188 0 R (page.469) 11199 0 R (page.47) 1183 0 R (page.470) 11209 0 R (page.471) 11223 0 R (page.472) 11240 0 R]
+/Limits [(page.468) (page.472)]
+>> endobj
+14032 0 obj <<
+/Names [(page.473) 11251 0 R (page.474) 11263 0 R (page.475) 11274 0 R (page.476) 11284 0 R (page.477) 11305 0 R (page.478) 11342 0 R]
+/Limits [(page.473) (page.478)]
+>> endobj
+14033 0 obj <<
+/Names [(page.479) 11395 0 R (page.48) 1196 0 R (page.480) 11431 0 R (page.481) 11464 0 R (page.482) 11479 0 R (page.483) 11488 0 R]
+/Limits [(page.479) (page.483)]
+>> endobj
+14034 0 obj <<
+/Names [(page.484) 11500 0 R (page.485) 11515 0 R (page.486) 11533 0 R (page.487) 11547 0 R (page.488) 11581 0 R (page.489) 11606 0 R]
+/Limits [(page.484) (page.489)]
+>> endobj
+14035 0 obj <<
+/Names [(page.49) 1202 0 R (page.490) 11637 0 R (page.491) 11664 0 R (page.492) 11680 0 R (page.493) 11745 0 R (page.494) 11809 0 R]
+/Limits [(page.49) (page.494)]
+>> endobj
+14036 0 obj <<
+/Names [(page.495) 11874 0 R (page.496) 11939 0 R (page.497) 12014 0 R (page.498) 12076 0 R (page.499) 12145 0 R (page.5) 558 0 R]
+/Limits [(page.495) (page.5)]
+>> endobj
+14037 0 obj <<
+/Names [(page.50) 1207 0 R (page.500) 12216 0 R (page.501) 12275 0 R (page.502) 12382 0 R (page.503) 12506 0 R (page.504) 12620 0 R]
+/Limits [(page.50) (page.504)]
+>> endobj
+14038 0 obj <<
+/Names [(page.505) 12733 0 R (page.506) 12857 0 R (page.507) 12973 0 R (page.508) 13092 0 R (page.509) 13184 0 R (page.51) 1212 0 R]
+/Limits [(page.505) (page.51)]
+>> endobj
+14039 0 obj <<
+/Names [(page.510) 13256 0 R (page.511) 13323 0 R (page.512) 13391 0 R (page.513) 13453 0 R (page.514) 13480 0 R (page.52) 1218 0 R]
+/Limits [(page.510) (page.52)]
+>> endobj
+14040 0 obj <<
+/Names [(page.53) 1225 0 R (page.54) 1256 0 R (page.55) 1293 0 R (page.56) 1330 0 R (page.57) 1389 0 R (page.58) 1460 0 R]
+/Limits [(page.53) (page.58)]
+>> endobj
+14041 0 obj <<
+/Names [(page.59) 1499 0 R (page.6) 566 0 R (page.60) 1525 0 R (page.61) 1547 0 R (page.62) 1578 0 R (page.63) 1659 0 R]
+/Limits [(page.59) (page.63)]
+>> endobj
+14042 0 obj <<
+/Names [(page.64) 1730 0 R (page.65) 1762 0 R (page.66) 1774 0 R (page.67) 1781 0 R (page.68) 1792 0 R (page.69) 1803 0 R]
+/Limits [(page.64) (page.69)]
+>> endobj
+14043 0 obj <<
+/Names [(page.7) 579 0 R (page.70) 1830 0 R (page.71) 1855 0 R (page.72) 1876 0 R (page.73) 1956 0 R (page.74) 2014 0 R]
+/Limits [(page.7) (page.74)]
+>> endobj
+14044 0 obj <<
+/Names [(page.75) 2066 0 R (page.76) 2116 0 R (page.77) 2170 0 R (page.78) 2200 0 R (page.79) 2216 0 R (page.8) 593 0 R]
+/Limits [(page.75) (page.8)]
+>> endobj
+14045 0 obj <<
+/Names [(page.80) 2227 0 R (page.81) 2241 0 R (page.82) 2250 0 R (page.83) 2258 0 R (page.84) 2266 0 R (page.85) 2273 0 R]
+/Limits [(page.80) (page.85)]
+>> endobj
+14046 0 obj <<
+/Names [(page.86) 2281 0 R (page.87) 2301 0 R (page.88) 2330 0 R (page.89) 2351 0 R (page.9) 612 0 R (page.90) 2391 0 R]
+/Limits [(page.86) (page.90)]
+>> endobj
+14047 0 obj <<
+/Names [(page.91) 2452 0 R (page.92) 2514 0 R (page.93) 2569 0 R (page.94) 2637 0 R (page.95) 2704 0 R (page.96) 2752 0 R]
+/Limits [(page.91) (page.96)]
+>> endobj
+14048 0 obj <<
+/Names [(page.97) 2810 0 R (page.98) 2830 0 R (page.99) 2837 0 R (page.i) 401 0 R (page.ii) 445 0 R (page.iii) 485 0 R]
+/Limits [(page.97) (page.iii)]
+>> endobj
+14049 0 obj <<
+/Names [(paragraph.1.1.2.1) 524 0 R (paragraph.1.1.2.2) 539 0 R (paragraph.1.1.2.3) 549 0 R (paragraph.1.3.2.1) 583 0 R (paragraph.10.1.2.1) 2353 0 R (paragraph.10.1.3.1) 2356 0 R]
+/Limits [(paragraph.1.1.2.1) (paragraph.10.1.3.1)]
+>> endobj
+14050 0 obj <<
+/Names [(paragraph.10.1.4.1) 2358 0 R (paragraph.10.11.2.1) 4697 0 R (paragraph.10.11.3.1) 4699 0 R (paragraph.10.11.3.2) 4705 0 R (paragraph.10.11.3.3) 4706 0 R (paragraph.10.11.3.4) 4707 0 R]
+/Limits [(paragraph.10.1.4.1) (paragraph.10.11.3.4)]
+>> endobj
+14051 0 obj <<
+/Names [(paragraph.10.11.3.5) 4708 0 R (paragraph.10.11.3.6) 4709 0 R (paragraph.10.11.3.7) 4710 0 R (paragraph.10.11.3.8) 4716 0 R (paragraph.10.11.3.9) 4717 0 R (paragraph.10.11.4.1) 4719 0 R]
+/Limits [(paragraph.10.11.3.5) (paragraph.10.11.4.1)]
+>> endobj
+14052 0 obj <<
+/Names [(paragraph.10.11.4.2) 4720 0 R (paragraph.10.11.4.3) 4721 0 R (paragraph.10.11.4.4) 4722 0 R (paragraph.10.11.4.5) 4734 0 R (paragraph.10.11.4.6) 4735 0 R (paragraph.10.11.4.7) 4736 0 R]
+/Limits [(paragraph.10.11.4.2) (paragraph.10.11.4.7)]
+>> endobj
+14053 0 obj <<
+/Names [(paragraph.10.11.4.8) 4737 0 R (paragraph.10.12.2.1) 4866 0 R (paragraph.10.12.3.1) 4868 0 R (paragraph.10.12.3.2) 4869 0 R (paragraph.10.12.3.3) 4870 0 R (paragraph.10.12.3.4) 4879 0 R]
+/Limits [(paragraph.10.11.4.8) (paragraph.10.12.3.4)]
+>> endobj
+14054 0 obj <<
+/Names [(paragraph.10.12.4.1) 4881 0 R (paragraph.10.12.4.2) 4882 0 R (paragraph.10.13.2.1) 4896 0 R (paragraph.10.18.2.1) 5251 0 R (paragraph.10.18.3.1) 5258 0 R (paragraph.10.18.4.1) 5260 0 R]
+/Limits [(paragraph.10.12.4.1) (paragraph.10.18.4.1)]
+>> endobj
+14055 0 obj <<
+/Names [(paragraph.10.18.4.2) 5261 0 R (paragraph.10.18.4.3) 5262 0 R (paragraph.10.18.4.4) 5268 0 R (paragraph.10.18.5.1) 5270 0 R (paragraph.10.18.5.10) 5284 0 R (paragraph.10.18.5.11) 5285 0 R]
+/Limits [(paragraph.10.18.4.2) (paragraph.10.18.5.11)]
+>> endobj
+14056 0 obj <<
+/Names [(paragraph.10.18.5.12) 5286 0 R (paragraph.10.18.5.13) 5287 0 R (paragraph.10.18.5.14) 5293 0 R (paragraph.10.18.5.15) 5294 0 R (paragraph.10.18.5.16) 5295 0 R (paragraph.10.18.5.17) 5296 0 R]
+/Limits [(paragraph.10.18.5.12) (paragraph.10.18.5.17)]
+>> endobj
+14057 0 obj <<
+/Names [(paragraph.10.18.5.18) 5297 0 R (paragraph.10.18.5.19) 5298 0 R (paragraph.10.18.5.2) 5271 0 R (paragraph.10.18.5.20) 5299 0 R (paragraph.10.18.5.21) 5300 0 R (paragraph.10.18.5.22) 5313 0 R]
+/Limits [(paragraph.10.18.5.18) (paragraph.10.18.5.22)]
+>> endobj
+14058 0 obj <<
+/Names [(paragraph.10.18.5.23) 5314 0 R (paragraph.10.18.5.24) 5315 0 R (paragraph.10.18.5.25) 5316 0 R (paragraph.10.18.5.3) 5272 0 R (paragraph.10.18.5.4) 5273 0 R (paragraph.10.18.5.5) 5274 0 R]
+/Limits [(paragraph.10.18.5.23) (paragraph.10.18.5.5)]
+>> endobj
+14059 0 obj <<
+/Names [(paragraph.10.18.5.6) 5280 0 R (paragraph.10.18.5.7) 5281 0 R (paragraph.10.18.5.8) 5282 0 R (paragraph.10.18.5.9) 5283 0 R (paragraph.10.19.2.1) 5418 0 R (paragraph.10.19.2.2) 5428 0 R]
+/Limits [(paragraph.10.18.5.6) (paragraph.10.19.2.2)]
+>> endobj
+14060 0 obj <<
+/Names [(paragraph.10.19.2.3) 5429 0 R (paragraph.10.2.2.1) 2839 0 R (paragraph.10.2.2.10) 2865 0 R (paragraph.10.2.2.2) 2841 0 R (paragraph.10.2.2.3) 2848 0 R (paragraph.10.2.2.4) 2849 0 R]
+/Limits [(paragraph.10.19.2.3) (paragraph.10.2.2.4)]
+>> endobj
+14061 0 obj <<
+/Names [(paragraph.10.2.2.5) 2850 0 R (paragraph.10.2.2.6) 2851 0 R (paragraph.10.2.2.7) 2857 0 R (paragraph.10.2.2.8) 2858 0 R (paragraph.10.2.2.9) 2859 0 R (paragraph.10.2.3.1) 2867 0 R]
+/Limits [(paragraph.10.2.2.5) (paragraph.10.2.3.1)]
+>> endobj
+14062 0 obj <<
+/Names [(paragraph.10.2.3.10) 2893 0 R (paragraph.10.2.3.11) 2894 0 R (paragraph.10.2.3.12) 2901 0 R (paragraph.10.2.3.13) 2902 0 R (paragraph.10.2.3.14) 2903 0 R (paragraph.10.2.3.15) 2904 0 R]
+/Limits [(paragraph.10.2.3.10) (paragraph.10.2.3.15)]
+>> endobj
+14063 0 obj <<
+/Names [(paragraph.10.2.3.16) 2910 0 R (paragraph.10.2.3.17) 2911 0 R (paragraph.10.2.3.18) 2912 0 R (paragraph.10.2.3.19) 2918 0 R (paragraph.10.2.3.2) 2868 0 R (paragraph.10.2.3.20) 2919 0 R]
+/Limits [(paragraph.10.2.3.16) (paragraph.10.2.3.20)]
+>> endobj
+14064 0 obj <<
+/Names [(paragraph.10.2.3.21) 2920 0 R (paragraph.10.2.3.22) 2927 0 R (paragraph.10.2.3.23) 2928 0 R (paragraph.10.2.3.24) 2929 0 R (paragraph.10.2.3.25) 2930 0 R (paragraph.10.2.3.26) 2938 0 R]
+/Limits [(paragraph.10.2.3.21) (paragraph.10.2.3.26)]
+>> endobj
+14065 0 obj <<
+/Names [(paragraph.10.2.3.27) 2939 0 R (paragraph.10.2.3.28) 2940 0 R (paragraph.10.2.3.29) 2941 0 R (paragraph.10.2.3.3) 2869 0 R (paragraph.10.2.3.30) 2949 0 R (paragraph.10.2.3.31) 2950 0 R]
+/Limits [(paragraph.10.2.3.27) (paragraph.10.2.3.31)]
+>> endobj
+14066 0 obj <<
+/Names [(paragraph.10.2.3.32) 2951 0 R (paragraph.10.2.3.33) 2952 0 R (paragraph.10.2.3.34) 2961 0 R (paragraph.10.2.3.35) 2962 0 R (paragraph.10.2.3.36) 2971 0 R (paragraph.10.2.3.37) 2972 0 R]
+/Limits [(paragraph.10.2.3.32) (paragraph.10.2.3.37)]
+>> endobj
+14067 0 obj <<
+/Names [(paragraph.10.2.3.38) 2973 0 R (paragraph.10.2.3.39) 2981 0 R (paragraph.10.2.3.4) 2875 0 R (paragraph.10.2.3.40) 2982 0 R (paragraph.10.2.3.41) 2992 0 R (paragraph.10.2.3.42) 2993 0 R]
+/Limits [(paragraph.10.2.3.38) (paragraph.10.2.3.42)]
+>> endobj
+14068 0 obj <<
+/Names [(paragraph.10.2.3.43) 2994 0 R (paragraph.10.2.3.44) 3003 0 R (paragraph.10.2.3.45) 3004 0 R (paragraph.10.2.3.46) 3005 0 R (paragraph.10.2.3.47) 3017 0 R (paragraph.10.2.3.48) 3018 0 R]
+/Limits [(paragraph.10.2.3.43) (paragraph.10.2.3.48)]
+>> endobj
+14069 0 obj <<
+/Names [(paragraph.10.2.3.49) 3029 0 R (paragraph.10.2.3.5) 2876 0 R (paragraph.10.2.3.50) 3031 0 R (paragraph.10.2.3.51) 3032 0 R (paragraph.10.2.3.52) 3040 0 R (paragraph.10.2.3.53) 3041 0 R]
+/Limits [(paragraph.10.2.3.49) (paragraph.10.2.3.53)]
+>> endobj
+14070 0 obj <<
+/Names [(paragraph.10.2.3.54) 3042 0 R (paragraph.10.2.3.55) 3052 0 R (paragraph.10.2.3.56) 3053 0 R (paragraph.10.2.3.57) 3054 0 R (paragraph.10.2.3.58) 3065 0 R (paragraph.10.2.3.59) 3066 0 R]
+/Limits [(paragraph.10.2.3.54) (paragraph.10.2.3.59)]
+>> endobj
+14071 0 obj <<
+/Names [(paragraph.10.2.3.6) 2884 0 R (paragraph.10.2.3.60) 3074 0 R (paragraph.10.2.3.61) 3075 0 R (paragraph.10.2.3.7) 2885 0 R (paragraph.10.2.3.8) 2891 0 R (paragraph.10.2.3.9) 2892 0 R]
+/Limits [(paragraph.10.2.3.6) (paragraph.10.2.3.9)]
+>> endobj
+14072 0 obj <<
+/Names [(paragraph.10.2.4.1) 3077 0 R (paragraph.10.2.4.10) 3114 0 R (paragraph.10.2.4.2) 3078 0 R (paragraph.10.2.4.3) 3079 0 R (paragraph.10.2.4.4) 3085 0 R (paragraph.10.2.4.5) 3086 0 R]
+/Limits [(paragraph.10.2.4.1) (paragraph.10.2.4.5)]
+>> endobj
+14073 0 obj <<
+/Names [(paragraph.10.2.4.6) 3087 0 R (paragraph.10.2.4.7) 3094 0 R (paragraph.10.2.4.8) 3095 0 R (paragraph.10.2.4.9) 3096 0 R (paragraph.10.20.2.1) 5455 0 R (paragraph.10.21.2.1) 5540 0 R]
+/Limits [(paragraph.10.2.4.6) (paragraph.10.21.2.1)]
+>> endobj
+14074 0 obj <<
+/Names [(paragraph.10.21.3.1) 5542 0 R (paragraph.10.21.3.2) 5554 0 R (paragraph.10.21.3.3) 5555 0 R (paragraph.10.21.3.4) 5556 0 R (paragraph.10.23.2.1) 5744 0 R (paragraph.10.23.3.1) 5746 0 R]
+/Limits [(paragraph.10.21.3.1) (paragraph.10.23.3.1)]
+>> endobj
+14075 0 obj <<
+/Names [(paragraph.10.23.3.2) 5761 0 R (paragraph.10.23.3.3) 5762 0 R (paragraph.10.23.3.4) 5764 0 R (paragraph.10.23.3.5) 5766 0 R (paragraph.10.23.3.6) 5775 0 R (paragraph.10.23.3.7) 5776 0 R]
+/Limits [(paragraph.10.23.3.2) (paragraph.10.23.3.7)]
+>> endobj
+14076 0 obj <<
+/Names [(paragraph.10.23.4.1) 5778 0 R (paragraph.10.23.4.10) 5805 0 R (paragraph.10.23.4.11) 5806 0 R (paragraph.10.23.4.2) 5779 0 R (paragraph.10.23.4.3) 5780 0 R (paragraph.10.23.4.4) 5781 0 R]
+/Limits [(paragraph.10.23.4.1) (paragraph.10.23.4.4)]
+>> endobj
+14077 0 obj <<
+/Names [(paragraph.10.23.4.5) 5789 0 R (paragraph.10.23.4.6) 5790 0 R (paragraph.10.23.4.7) 5797 0 R (paragraph.10.23.4.8) 5798 0 R (paragraph.10.23.4.9) 5804 0 R (paragraph.10.24.2.1) 5911 0 R]
+/Limits [(paragraph.10.23.4.5) (paragraph.10.24.2.1)]
+>> endobj
+14078 0 obj <<
+/Names [(paragraph.10.24.2.2) 5913 0 R (paragraph.10.24.3.1) 5933 0 R (paragraph.10.24.3.2) 5934 0 R (paragraph.10.25.2.1) 6022 0 R (paragraph.10.25.2.10) 6036 0 R (paragraph.10.25.2.11) 6037 0 R]
+/Limits [(paragraph.10.24.2.2) (paragraph.10.25.2.11)]
+>> endobj
+14079 0 obj <<
+/Names [(paragraph.10.25.2.12) 6038 0 R (paragraph.10.25.2.13) 6039 0 R (paragraph.10.25.2.14) 6040 0 R (paragraph.10.25.2.15) 6041 0 R (paragraph.10.25.2.16) 6062 0 R (paragraph.10.25.2.17) 6063 0 R]
+/Limits [(paragraph.10.25.2.12) (paragraph.10.25.2.17)]
+>> endobj
+14080 0 obj <<
+/Names [(paragraph.10.25.2.18) 6064 0 R (paragraph.10.25.2.2) 6023 0 R (paragraph.10.25.2.3) 6024 0 R (paragraph.10.25.2.4) 6025 0 R (paragraph.10.25.2.5) 6026 0 R (paragraph.10.25.2.6) 6027 0 R]
+/Limits [(paragraph.10.25.2.18) (paragraph.10.25.2.6)]
+>> endobj
+14081 0 obj <<
+/Names [(paragraph.10.25.2.7) 6028 0 R (paragraph.10.25.2.8) 6029 0 R (paragraph.10.25.2.9) 6035 0 R (paragraph.10.26.2.1) 6512 0 R (paragraph.10.26.2.10) 6537 0 R (paragraph.10.26.2.11) 6543 0 R]
+/Limits [(paragraph.10.25.2.7) (paragraph.10.26.2.11)]
+>> endobj
+14082 0 obj <<
+/Names [(paragraph.10.26.2.12) 6544 0 R (paragraph.10.26.2.2) 6513 0 R (paragraph.10.26.2.3) 6519 0 R (paragraph.10.26.2.4) 6520 0 R (paragraph.10.26.2.5) 6521 0 R (paragraph.10.26.2.6) 6527 0 R]
+/Limits [(paragraph.10.26.2.12) (paragraph.10.26.2.6)]
+>> endobj
+14083 0 obj <<
+/Names [(paragraph.10.26.2.7) 6528 0 R (paragraph.10.26.2.8) 6529 0 R (paragraph.10.26.2.9) 6536 0 R (paragraph.10.26.3.1) 6546 0 R (paragraph.10.26.3.10) 6575 0 R (paragraph.10.26.3.11) 6576 0 R]
+/Limits [(paragraph.10.26.2.7) (paragraph.10.26.3.11)]
+>> endobj
+14084 0 obj <<
+/Names [(paragraph.10.26.3.12) 6582 0 R (paragraph.10.26.3.13) 6583 0 R (paragraph.10.26.3.14) 6584 0 R (paragraph.10.26.3.15) 6585 0 R (paragraph.10.26.3.16) 6592 0 R (paragraph.10.26.3.17) 6593 0 R]
+/Limits [(paragraph.10.26.3.12) (paragraph.10.26.3.17)]
+>> endobj
+14085 0 obj <<
+/Names [(paragraph.10.26.3.18) 6594 0 R (paragraph.10.26.3.19) 6595 0 R (paragraph.10.26.3.2) 6547 0 R (paragraph.10.26.3.20) 6601 0 R (paragraph.10.26.3.21) 6602 0 R (paragraph.10.26.3.22) 6603 0 R]
+/Limits [(paragraph.10.26.3.18) (paragraph.10.26.3.22)]
+>> endobj
+14086 0 obj <<
+/Names [(paragraph.10.26.3.23) 6609 0 R (paragraph.10.26.3.24) 6610 0 R (paragraph.10.26.3.25) 6611 0 R (paragraph.10.26.3.26) 6619 0 R (paragraph.10.26.3.27) 6620 0 R (paragraph.10.26.3.28) 6621 0 R]
+/Limits [(paragraph.10.26.3.23) (paragraph.10.26.3.28)]
+>> endobj
+14087 0 obj <<
+/Names [(paragraph.10.26.3.29) 6629 0 R (paragraph.10.26.3.3) 6548 0 R (paragraph.10.26.3.30) 6630 0 R (paragraph.10.26.3.31) 6631 0 R (paragraph.10.26.3.32) 6632 0 R (paragraph.10.26.3.33) 6641 0 R]
+/Limits [(paragraph.10.26.3.29) (paragraph.10.26.3.33)]
+>> endobj
+14088 0 obj <<
+/Names [(paragraph.10.26.3.34) 6642 0 R (paragraph.10.26.3.35) 6643 0 R (paragraph.10.26.3.36) 6644 0 R (paragraph.10.26.3.37) 6653 0 R (paragraph.10.26.3.38) 6654 0 R (paragraph.10.26.3.39) 6662 0 R]
+/Limits [(paragraph.10.26.3.34) (paragraph.10.26.3.39)]
+>> endobj
+14089 0 obj <<
+/Names [(paragraph.10.26.3.4) 6555 0 R (paragraph.10.26.3.40) 6663 0 R (paragraph.10.26.3.41) 6672 0 R (paragraph.10.26.3.42) 6673 0 R (paragraph.10.26.3.43) 6674 0 R (paragraph.10.26.3.44) 6686 0 R]
+/Limits [(paragraph.10.26.3.4) (paragraph.10.26.3.44)]
+>> endobj
+14090 0 obj <<
+/Names [(paragraph.10.26.3.45) 6687 0 R (paragraph.10.26.3.46) 6688 0 R (paragraph.10.26.3.47) 6700 0 R (paragraph.10.26.3.48) 6701 0 R (paragraph.10.26.3.49) 6702 0 R (paragraph.10.26.3.5) 6556 0 R]
+/Limits [(paragraph.10.26.3.45) (paragraph.10.26.3.5)]
+>> endobj
+14091 0 obj <<
+/Names [(paragraph.10.26.3.50) 6713 0 R (paragraph.10.26.3.51) 6714 0 R (paragraph.10.26.3.52) 6715 0 R (paragraph.10.26.3.53) 6727 0 R (paragraph.10.26.3.54) 6728 0 R (paragraph.10.26.3.55) 6740 0 R]
+/Limits [(paragraph.10.26.3.50) (paragraph.10.26.3.55)]
+>> endobj
+14092 0 obj <<
+/Names [(paragraph.10.26.3.56) 6741 0 R (paragraph.10.26.3.57) 6742 0 R (paragraph.10.26.3.58) 6744 0 R (paragraph.10.26.3.59) 6756 0 R (paragraph.10.26.3.6) 6557 0 R (paragraph.10.26.3.60) 6757 0 R]
+/Limits [(paragraph.10.26.3.56) (paragraph.10.26.3.60)]
+>> endobj
+14093 0 obj <<
+/Names [(paragraph.10.26.3.61) 6764 0 R (paragraph.10.26.3.7) 6558 0 R (paragraph.10.26.3.8) 6566 0 R (paragraph.10.26.3.9) 6567 0 R (paragraph.10.26.4.1) 6766 0 R (paragraph.10.26.4.2) 6767 0 R]
+/Limits [(paragraph.10.26.3.61) (paragraph.10.26.4.2)]
+>> endobj
+14094 0 obj <<
+/Names [(paragraph.10.26.4.3) 6768 0 R (paragraph.10.26.4.4) 6769 0 R (paragraph.10.27.2.1) 6800 0 R (paragraph.10.28.2.1) 6964 0 R (paragraph.10.28.3.1) 6966 0 R (paragraph.10.28.3.2) 6967 0 R]
+/Limits [(paragraph.10.26.4.3) (paragraph.10.28.3.2)]
+>> endobj
+14095 0 obj <<
+/Names [(paragraph.10.28.3.3) 6980 0 R (paragraph.10.28.3.4) 6981 0 R (paragraph.10.28.3.5) 6982 0 R (paragraph.10.28.3.6) 6983 0 R (paragraph.10.28.3.7) 6990 0 R (paragraph.10.28.4.1) 6992 0 R]
+/Limits [(paragraph.10.28.3.3) (paragraph.10.28.4.1)]
+>> endobj
+14096 0 obj <<
+/Names [(paragraph.10.28.4.2) 6993 0 R (paragraph.10.28.4.3) 6994 0 R (paragraph.10.28.4.4) 6995 0 R (paragraph.10.28.4.5) 6996 0 R (paragraph.10.29.2.1) 7133 0 R (paragraph.10.29.2.2) 7134 0 R]
+/Limits [(paragraph.10.28.4.2) (paragraph.10.29.2.2)]
+>> endobj
+14097 0 obj <<
+/Names [(paragraph.10.29.2.3) 7136 0 R (paragraph.10.29.3.1) 7138 0 R (paragraph.10.29.3.2) 7139 0 R (paragraph.10.29.3.3) 7159 0 R (paragraph.10.3.2.1) 3143 0 R (paragraph.10.30.2.1) 7188 0 R]
+/Limits [(paragraph.10.29.2.3) (paragraph.10.30.2.1)]
+>> endobj
+14098 0 obj <<
+/Names [(paragraph.10.31.2.1) 7243 0 R (paragraph.10.31.2.2) 7244 0 R (paragraph.10.31.2.3) 7251 0 R (paragraph.10.31.2.4) 7252 0 R (paragraph.10.31.2.5) 7253 0 R (paragraph.10.31.2.6) 7259 0 R]
+/Limits [(paragraph.10.31.2.1) (paragraph.10.31.2.6)]
+>> endobj
+14099 0 obj <<
+/Names [(paragraph.10.31.3.1) 7261 0 R (paragraph.10.35.2.1) 7494 0 R (paragraph.10.35.2.2) 7501 0 R (paragraph.10.35.2.3) 7502 0 R (paragraph.10.35.2.4) 7503 0 R (paragraph.10.35.2.5) 7504 0 R]
+/Limits [(paragraph.10.31.3.1) (paragraph.10.35.2.5)]
+>> endobj
+14100 0 obj <<
+/Names [(paragraph.10.35.3.1) 7506 0 R (paragraph.10.35.3.10) 7527 0 R (paragraph.10.35.3.11) 7528 0 R (paragraph.10.35.3.12) 7529 0 R (paragraph.10.35.3.13) 7530 0 R (paragraph.10.35.3.14) 7531 0 R]
+/Limits [(paragraph.10.35.3.1) (paragraph.10.35.3.14)]
+>> endobj
+14101 0 obj <<
+/Names [(paragraph.10.35.3.15) 7532 0 R (paragraph.10.35.3.16) 7533 0 R (paragraph.10.35.3.17) 7541 0 R (paragraph.10.35.3.18) 7542 0 R (paragraph.10.35.3.19) 7543 0 R (paragraph.10.35.3.2) 7513 0 R]
+/Limits [(paragraph.10.35.3.15) (paragraph.10.35.3.2)]
+>> endobj
+14102 0 obj <<
+/Names [(paragraph.10.35.3.20) 7545 0 R (paragraph.10.35.3.21) 7546 0 R (paragraph.10.35.3.22) 7547 0 R (paragraph.10.35.3.23) 7548 0 R (paragraph.10.35.3.24) 7563 0 R (paragraph.10.35.3.25) 7564 0 R]
+/Limits [(paragraph.10.35.3.20) (paragraph.10.35.3.25)]
+>> endobj
+14103 0 obj <<
+/Names [(paragraph.10.35.3.26) 7565 0 R (paragraph.10.35.3.27) 7566 0 R (paragraph.10.35.3.3) 7514 0 R (paragraph.10.35.3.4) 7515 0 R (paragraph.10.35.3.5) 7516 0 R (paragraph.10.35.3.6) 7517 0 R]
+/Limits [(paragraph.10.35.3.26) (paragraph.10.35.3.6)]
+>> endobj
+14104 0 obj <<
+/Names [(paragraph.10.35.3.7) 7518 0 R (paragraph.10.35.3.8) 7519 0 R (paragraph.10.35.3.9) 7520 0 R (paragraph.10.36.2.1) 7733 0 R (paragraph.10.36.2.2) 7734 0 R (paragraph.10.36.3.1) 7736 0 R]
+/Limits [(paragraph.10.35.3.7) (paragraph.10.36.3.1)]
+>> endobj
+14105 0 obj <<
+/Names [(paragraph.10.36.3.2) 7744 0 R (paragraph.10.36.3.3) 7745 0 R (paragraph.10.36.3.4) 7753 0 R (paragraph.10.36.4.1) 7755 0 R (paragraph.10.36.4.10) 7774 0 R (paragraph.10.36.4.11) 7785 0 R]
+/Limits [(paragraph.10.36.3.2) (paragraph.10.36.4.11)]
+>> endobj
+14106 0 obj <<
+/Names [(paragraph.10.36.4.12) 7786 0 R (paragraph.10.36.4.2) 7756 0 R (paragraph.10.36.4.3) 7762 0 R (paragraph.10.36.4.4) 7763 0 R (paragraph.10.36.4.5) 7764 0 R (paragraph.10.36.4.6) 7765 0 R]
+/Limits [(paragraph.10.36.4.12) (paragraph.10.36.4.6)]
+>> endobj
+14107 0 obj <<
+/Names [(paragraph.10.36.4.7) 7771 0 R (paragraph.10.36.4.8) 7772 0 R (paragraph.10.36.4.9) 7773 0 R (paragraph.10.36.5.1) 7788 0 R (paragraph.10.36.5.2) 7789 0 R (paragraph.10.37.2.1) 7869 0 R]
+/Limits [(paragraph.10.36.4.7) (paragraph.10.37.2.1)]
+>> endobj
+14108 0 obj <<
+/Names [(paragraph.10.37.2.10) 7894 0 R (paragraph.10.37.2.11) 7895 0 R (paragraph.10.37.2.12) 7896 0 R (paragraph.10.37.2.2) 7870 0 R (paragraph.10.37.2.3) 7877 0 R (paragraph.10.37.2.4) 7878 0 R]
+/Limits [(paragraph.10.37.2.10) (paragraph.10.37.2.4)]
+>> endobj
+14109 0 obj <<
+/Names [(paragraph.10.37.2.5) 7879 0 R (paragraph.10.37.2.6) 7885 0 R (paragraph.10.37.2.7) 7886 0 R (paragraph.10.37.2.8) 7887 0 R (paragraph.10.37.2.9) 7888 0 R (paragraph.10.37.3.1) 7908 0 R]
+/Limits [(paragraph.10.37.2.5) (paragraph.10.37.3.1)]
+>> endobj
+14110 0 obj <<
+/Names [(paragraph.10.39.2.1) 7930 0 R (paragraph.10.4.2.1) 3609 0 R (paragraph.10.4.2.10) 3630 0 R (paragraph.10.4.2.11) 3631 0 R (paragraph.10.4.2.12) 3632 0 R (paragraph.10.4.2.13) 3638 0 R]
+/Limits [(paragraph.10.39.2.1) (paragraph.10.4.2.13)]
+>> endobj
+14111 0 obj <<
+/Names [(paragraph.10.4.2.14) 3639 0 R (paragraph.10.4.2.2) 3610 0 R (paragraph.10.4.2.3) 3611 0 R (paragraph.10.4.2.4) 3612 0 R (paragraph.10.4.2.5) 3620 0 R (paragraph.10.4.2.6) 3621 0 R]
+/Limits [(paragraph.10.4.2.14) (paragraph.10.4.2.6)]
+>> endobj
+14112 0 obj <<
+/Names [(paragraph.10.4.2.7) 3622 0 R (paragraph.10.4.2.8) 3623 0 R (paragraph.10.4.2.9) 3629 0 R (paragraph.10.4.3.1) 3641 0 R (paragraph.10.4.3.10) 3667 0 R (paragraph.10.4.3.11) 3668 0 R]
+/Limits [(paragraph.10.4.2.7) (paragraph.10.4.3.11)]
+>> endobj
+14113 0 obj <<
+/Names [(paragraph.10.4.3.12) 3676 0 R (paragraph.10.4.3.13) 3677 0 R (paragraph.10.4.3.14) 3678 0 R (paragraph.10.4.3.15) 3679 0 R (paragraph.10.4.3.16) 3685 0 R (paragraph.10.4.3.17) 3686 0 R]
+/Limits [(paragraph.10.4.3.12) (paragraph.10.4.3.17)]
+>> endobj
+14114 0 obj <<
+/Names [(paragraph.10.4.3.18) 3687 0 R (paragraph.10.4.3.19) 3693 0 R (paragraph.10.4.3.2) 3642 0 R (paragraph.10.4.3.20) 3694 0 R (paragraph.10.4.3.21) 3695 0 R (paragraph.10.4.3.22) 3702 0 R]
+/Limits [(paragraph.10.4.3.18) (paragraph.10.4.3.22)]
+>> endobj
+14115 0 obj <<
+/Names [(paragraph.10.4.3.23) 3704 0 R (paragraph.10.4.3.24) 3705 0 R (paragraph.10.4.3.25) 3713 0 R (paragraph.10.4.3.26) 3714 0 R (paragraph.10.4.3.27) 3715 0 R (paragraph.10.4.3.28) 3722 0 R]
+/Limits [(paragraph.10.4.3.23) (paragraph.10.4.3.28)]
+>> endobj
+14116 0 obj <<
+/Names [(paragraph.10.4.3.29) 3723 0 R (paragraph.10.4.3.3) 3643 0 R (paragraph.10.4.3.30) 3724 0 R (paragraph.10.4.3.31) 3725 0 R (paragraph.10.4.3.32) 3735 0 R (paragraph.10.4.3.33) 3736 0 R]
+/Limits [(paragraph.10.4.3.29) (paragraph.10.4.3.33)]
+>> endobj
+14117 0 obj <<
+/Names [(paragraph.10.4.3.34) 3737 0 R (paragraph.10.4.3.35) 3738 0 R (paragraph.10.4.3.36) 3746 0 R (paragraph.10.4.3.37) 3747 0 R (paragraph.10.4.3.38) 3756 0 R (paragraph.10.4.3.39) 3757 0 R]
+/Limits [(paragraph.10.4.3.34) (paragraph.10.4.3.39)]
+>> endobj
+14118 0 obj <<
+/Names [(paragraph.10.4.3.4) 3649 0 R (paragraph.10.4.3.40) 3758 0 R (paragraph.10.4.3.41) 3766 0 R (paragraph.10.4.3.42) 3767 0 R (paragraph.10.4.3.43) 3778 0 R (paragraph.10.4.3.44) 3779 0 R]
+/Limits [(paragraph.10.4.3.4) (paragraph.10.4.3.44)]
+>> endobj
+14119 0 obj <<
+/Names [(paragraph.10.4.3.45) 3780 0 R (paragraph.10.4.3.46) 3790 0 R (paragraph.10.4.3.47) 3791 0 R (paragraph.10.4.3.48) 3801 0 R (paragraph.10.4.3.49) 3802 0 R (paragraph.10.4.3.5) 3650 0 R]
+/Limits [(paragraph.10.4.3.45) (paragraph.10.4.3.5)]
+>> endobj
+14120 0 obj <<
+/Names [(paragraph.10.4.3.50) 3803 0 R (paragraph.10.4.3.51) 3811 0 R (paragraph.10.4.3.52) 3812 0 R (paragraph.10.4.3.53) 3813 0 R (paragraph.10.4.3.54) 3821 0 R (paragraph.10.4.3.55) 3822 0 R]
+/Limits [(paragraph.10.4.3.50) (paragraph.10.4.3.55)]
+>> endobj
+14121 0 obj <<
+/Names [(paragraph.10.4.3.56) 3823 0 R (paragraph.10.4.3.57) 3834 0 R (paragraph.10.4.3.58) 3835 0 R (paragraph.10.4.3.59) 3836 0 R (paragraph.10.4.3.6) 3651 0 R (paragraph.10.4.3.60) 3842 0 R]
+/Limits [(paragraph.10.4.3.56) (paragraph.10.4.3.60)]
+>> endobj
+14122 0 obj <<
+/Names [(paragraph.10.4.3.61) 3843 0 R (paragraph.10.4.3.7) 3652 0 R (paragraph.10.4.3.8) 3658 0 R (paragraph.10.4.3.9) 3659 0 R (paragraph.10.4.4.1) 3845 0 R (paragraph.10.4.4.2) 3846 0 R]
+/Limits [(paragraph.10.4.3.61) (paragraph.10.4.4.2)]
+>> endobj
+14123 0 obj <<
+/Names [(paragraph.10.4.4.3) 3852 0 R (paragraph.10.4.4.4) 3853 0 R (paragraph.10.4.4.5) 3854 0 R (paragraph.10.4.4.6) 3855 0 R (paragraph.10.4.4.7) 3862 0 R (paragraph.10.4.4.8) 3863 0 R]
+/Limits [(paragraph.10.4.4.3) (paragraph.10.4.4.8)]
+>> endobj
+14124 0 obj <<
+/Names [(paragraph.10.4.4.9) 3864 0 R (paragraph.10.40.2.1) 8396 0 R (paragraph.10.40.2.10) 8416 0 R (paragraph.10.40.2.2) 8397 0 R (paragraph.10.40.2.3) 8398 0 R (paragraph.10.40.2.4) 8399 0 R]
+/Limits [(paragraph.10.4.4.9) (paragraph.10.40.2.4)]
+>> endobj
+14125 0 obj <<
+/Names [(paragraph.10.40.2.5) 8406 0 R (paragraph.10.40.2.6) 8407 0 R (paragraph.10.40.2.7) 8408 0 R (paragraph.10.40.2.8) 8409 0 R (paragraph.10.40.2.9) 8415 0 R (paragraph.10.40.3.1) 8418 0 R]
+/Limits [(paragraph.10.40.2.5) (paragraph.10.40.3.1)]
+>> endobj
+14126 0 obj <<
+/Names [(paragraph.10.40.3.10) 8437 0 R (paragraph.10.40.3.11) 8443 0 R (paragraph.10.40.3.12) 8444 0 R (paragraph.10.40.3.13) 8452 0 R (paragraph.10.40.3.14) 8453 0 R (paragraph.10.40.3.15) 8460 0 R]
+/Limits [(paragraph.10.40.3.10) (paragraph.10.40.3.15)]
+>> endobj
+14127 0 obj <<
+/Names [(paragraph.10.40.3.16) 8461 0 R (paragraph.10.40.3.17) 8462 0 R (paragraph.10.40.3.18) 8468 0 R (paragraph.10.40.3.19) 8469 0 R (paragraph.10.40.3.2) 8424 0 R (paragraph.10.40.3.20) 8470 0 R]
+/Limits [(paragraph.10.40.3.16) (paragraph.10.40.3.20)]
+>> endobj
+14128 0 obj <<
+/Names [(paragraph.10.40.3.21) 8476 0 R (paragraph.10.40.3.22) 8477 0 R (paragraph.10.40.3.23) 8478 0 R (paragraph.10.40.3.24) 8479 0 R (paragraph.10.40.3.25) 8488 0 R (paragraph.10.40.3.26) 8489 0 R]
+/Limits [(paragraph.10.40.3.21) (paragraph.10.40.3.26)]
+>> endobj
+14129 0 obj <<
+/Names [(paragraph.10.40.3.27) 8490 0 R (paragraph.10.40.3.28) 8491 0 R (paragraph.10.40.3.29) 8500 0 R (paragraph.10.40.3.3) 8425 0 R (paragraph.10.40.3.30) 8501 0 R (paragraph.10.40.3.31) 8502 0 R]
+/Limits [(paragraph.10.40.3.27) (paragraph.10.40.3.31)]
+>> endobj
+14130 0 obj <<
+/Names [(paragraph.10.40.3.32) 8510 0 R (paragraph.10.40.3.33) 8511 0 R (paragraph.10.40.3.34) 8512 0 R (paragraph.10.40.3.35) 8522 0 R (paragraph.10.40.3.36) 8523 0 R (paragraph.10.40.3.37) 8524 0 R]
+/Limits [(paragraph.10.40.3.32) (paragraph.10.40.3.37)]
+>> endobj
+14131 0 obj <<
+/Names [(paragraph.10.40.3.38) 8532 0 R (paragraph.10.40.3.39) 8533 0 R (paragraph.10.40.3.4) 8426 0 R (paragraph.10.40.3.40) 8543 0 R (paragraph.10.40.3.41) 8544 0 R (paragraph.10.40.3.42) 8545 0 R]
+/Limits [(paragraph.10.40.3.38) (paragraph.10.40.3.42)]
+>> endobj
+14132 0 obj <<
+/Names [(paragraph.10.40.3.43) 8552 0 R (paragraph.10.40.3.44) 8553 0 R (paragraph.10.40.3.45) 8565 0 R (paragraph.10.40.3.46) 8566 0 R (paragraph.10.40.3.47) 8567 0 R (paragraph.10.40.3.48) 8578 0 R]
+/Limits [(paragraph.10.40.3.43) (paragraph.10.40.3.48)]
+>> endobj
+14133 0 obj <<
+/Names [(paragraph.10.40.3.49) 8579 0 R (paragraph.10.40.3.5) 8427 0 R (paragraph.10.40.3.50) 8580 0 R (paragraph.10.40.3.51) 8590 0 R (paragraph.10.40.3.52) 8591 0 R (paragraph.10.40.3.53) 8592 0 R]
+/Limits [(paragraph.10.40.3.49) (paragraph.10.40.3.53)]
+>> endobj
+14134 0 obj <<
+/Names [(paragraph.10.40.3.54) 8593 0 R (paragraph.10.40.3.55) 8602 0 R (paragraph.10.40.3.56) 8603 0 R (paragraph.10.40.3.57) 8614 0 R (paragraph.10.40.3.58) 8615 0 R (paragraph.10.40.3.59) 8616 0 R]
+/Limits [(paragraph.10.40.3.54) (paragraph.10.40.3.59)]
+>> endobj
+14135 0 obj <<
+/Names [(paragraph.10.40.3.6) 8433 0 R (paragraph.10.40.3.60) 8622 0 R (paragraph.10.40.3.7) 8434 0 R (paragraph.10.40.3.8) 8435 0 R (paragraph.10.40.3.9) 8436 0 R (paragraph.10.40.4.1) 8624 0 R]
+/Limits [(paragraph.10.40.3.6) (paragraph.10.40.4.1)]
+>> endobj
+14136 0 obj <<
+/Names [(paragraph.10.40.4.10) 8646 0 R (paragraph.10.40.4.2) 8625 0 R (paragraph.10.40.4.3) 8626 0 R (paragraph.10.40.4.4) 8627 0 R (paragraph.10.40.4.5) 8633 0 R (paragraph.10.40.4.6) 8634 0 R]
+/Limits [(paragraph.10.40.4.10) (paragraph.10.40.4.6)]
+>> endobj
+14137 0 obj <<
+/Names [(paragraph.10.40.4.7) 8635 0 R (paragraph.10.40.4.8) 8644 0 R (paragraph.10.40.4.9) 8645 0 R (paragraph.10.41.2.1) 9058 0 R (paragraph.10.41.2.10) 9088 0 R (paragraph.10.41.2.11) 9089 0 R]
+/Limits [(paragraph.10.40.4.7) (paragraph.10.41.2.11)]
+>> endobj
+14138 0 obj <<
+/Names [(paragraph.10.41.2.12) 9090 0 R (paragraph.10.41.2.2) 9064 0 R (paragraph.10.41.2.3) 9065 0 R (paragraph.10.41.2.4) 9066 0 R (paragraph.10.41.2.5) 9072 0 R (paragraph.10.41.2.6) 9073 0 R]
+/Limits [(paragraph.10.41.2.12) (paragraph.10.41.2.6)]
+>> endobj
+14139 0 obj <<
+/Names [(paragraph.10.41.2.7) 9074 0 R (paragraph.10.41.2.8) 9080 0 R (paragraph.10.41.2.9) 9081 0 R (paragraph.10.41.3.1) 9097 0 R (paragraph.10.41.3.10) 9121 0 R (paragraph.10.41.3.11) 9122 0 R]
+/Limits [(paragraph.10.41.2.7) (paragraph.10.41.3.11)]
+>> endobj
+14140 0 obj <<
+/Names [(paragraph.10.41.3.12) 9123 0 R (paragraph.10.41.3.13) 9129 0 R (paragraph.10.41.3.14) 9130 0 R (paragraph.10.41.3.15) 9131 0 R (paragraph.10.41.3.16) 9132 0 R (paragraph.10.41.3.17) 9139 0 R]
+/Limits [(paragraph.10.41.3.12) (paragraph.10.41.3.17)]
+>> endobj
+14141 0 obj <<
+/Names [(paragraph.10.41.3.18) 9140 0 R (paragraph.10.41.3.19) 9141 0 R (paragraph.10.41.3.2) 9098 0 R (paragraph.10.41.3.20) 9150 0 R (paragraph.10.41.3.21) 9151 0 R (paragraph.10.41.3.22) 9152 0 R]
+/Limits [(paragraph.10.41.3.18) (paragraph.10.41.3.22)]
+>> endobj
+14142 0 obj <<
+/Names [(paragraph.10.41.3.23) 9158 0 R (paragraph.10.41.3.24) 9159 0 R (paragraph.10.41.3.25) 9160 0 R (paragraph.10.41.3.26) 9161 0 R (paragraph.10.41.3.27) 9171 0 R (paragraph.10.41.3.28) 9172 0 R]
+/Limits [(paragraph.10.41.3.23) (paragraph.10.41.3.28)]
+>> endobj
+14143 0 obj <<
+/Names [(paragraph.10.41.3.29) 9173 0 R (paragraph.10.41.3.3) 9099 0 R (paragraph.10.41.3.30) 9185 0 R (paragraph.10.41.3.31) 9186 0 R (paragraph.10.41.3.32) 9197 0 R (paragraph.10.41.3.33) 9198 0 R]
+/Limits [(paragraph.10.41.3.29) (paragraph.10.41.3.33)]
+>> endobj
+14144 0 obj <<
+/Names [(paragraph.10.41.3.34) 9209 0 R (paragraph.10.41.3.35) 9210 0 R (paragraph.10.41.3.36) 9211 0 R (paragraph.10.41.3.37) 9218 0 R (paragraph.10.41.3.38) 9219 0 R (paragraph.10.41.3.39) 9220 0 R]
+/Limits [(paragraph.10.41.3.34) (paragraph.10.41.3.39)]
+>> endobj
+14145 0 obj <<
+/Names [(paragraph.10.41.3.4) 9100 0 R (paragraph.10.41.3.40) 9231 0 R (paragraph.10.41.3.41) 9232 0 R (paragraph.10.41.3.42) 9233 0 R (paragraph.10.41.3.43) 9241 0 R (paragraph.10.41.3.44) 9242 0 R]
+/Limits [(paragraph.10.41.3.4) (paragraph.10.41.3.44)]
+>> endobj
+14146 0 obj <<
+/Names [(paragraph.10.41.3.45) 9244 0 R (paragraph.10.41.3.46) 9255 0 R (paragraph.10.41.3.47) 9256 0 R (paragraph.10.41.3.5) 9106 0 R (paragraph.10.41.3.6) 9107 0 R (paragraph.10.41.3.7) 9113 0 R]
+/Limits [(paragraph.10.41.3.45) (paragraph.10.41.3.7)]
+>> endobj
+14147 0 obj <<
+/Names [(paragraph.10.41.3.8) 9114 0 R (paragraph.10.41.3.9) 9120 0 R (paragraph.10.41.4.1) 9258 0 R (paragraph.10.41.4.2) 9273 0 R (paragraph.10.41.4.3) 9274 0 R (paragraph.10.41.4.4) 9275 0 R]
+/Limits [(paragraph.10.41.3.8) (paragraph.10.41.4.4)]
+>> endobj
+14148 0 obj <<
+/Names [(paragraph.10.43.2.1) 9534 0 R (paragraph.10.43.2.2) 9535 0 R (paragraph.10.43.3.1) 9544 0 R (paragraph.10.43.3.2) 9545 0 R (paragraph.10.43.4.1) 9547 0 R (paragraph.10.43.4.10) 9568 0 R]
+/Limits [(paragraph.10.43.2.1) (paragraph.10.43.4.10)]
+>> endobj
+14149 0 obj <<
+/Names [(paragraph.10.43.4.11) 9581 0 R (paragraph.10.43.4.2) 9555 0 R (paragraph.10.43.4.3) 9556 0 R (paragraph.10.43.4.4) 9557 0 R (paragraph.10.43.4.5) 9558 0 R (paragraph.10.43.4.6) 9564 0 R]
+/Limits [(paragraph.10.43.4.11) (paragraph.10.43.4.6)]
+>> endobj
+14150 0 obj <<
+/Names [(paragraph.10.43.4.7) 9565 0 R (paragraph.10.43.4.8) 9566 0 R (paragraph.10.43.4.9) 9567 0 R (paragraph.10.43.5.1) 9583 0 R (paragraph.10.43.5.2) 9584 0 R (paragraph.10.44.2.1) 9665 0 R]
+/Limits [(paragraph.10.43.4.7) (paragraph.10.44.2.1)]
+>> endobj
+14151 0 obj <<
+/Names [(paragraph.10.44.3.1) 9667 0 R (paragraph.10.44.3.2) 9679 0 R (paragraph.10.44.3.3) 9680 0 R (paragraph.10.45.2.1) 9809 0 R (paragraph.10.45.2.2) 9821 0 R (paragraph.10.45.2.3) 9822 0 R]
+/Limits [(paragraph.10.44.3.1) (paragraph.10.45.2.3)]
+>> endobj
+14152 0 obj <<
+/Names [(paragraph.10.45.2.4) 9824 0 R (paragraph.10.45.2.5) 9835 0 R (paragraph.10.45.2.6) 9837 0 R (paragraph.10.45.3.1) 9839 0 R (paragraph.10.46.2.1) 10240 0 R (paragraph.10.46.2.2) 10241 0 R]
+/Limits [(paragraph.10.45.2.4) (paragraph.10.46.2.2)]
+>> endobj
+14153 0 obj <<
+/Names [(paragraph.10.46.2.3) 10242 0 R (paragraph.10.46.2.4) 10250 0 R (paragraph.10.46.2.5) 10251 0 R (paragraph.10.46.2.6) 10252 0 R (paragraph.10.46.2.7) 10258 0 R (paragraph.10.46.2.8) 10259 0 R]
+/Limits [(paragraph.10.46.2.3) (paragraph.10.46.2.8)]
+>> endobj
+14154 0 obj <<
+/Names [(paragraph.10.46.2.9) 10265 0 R (paragraph.10.46.3.1) 10267 0 R (paragraph.10.46.3.10) 10293 0 R (paragraph.10.46.3.11) 10294 0 R (paragraph.10.46.3.12) 10300 0 R (paragraph.10.46.3.13) 10301 0 R]
+/Limits [(paragraph.10.46.2.9) (paragraph.10.46.3.13)]
+>> endobj
+14155 0 obj <<
+/Names [(paragraph.10.46.3.14) 10302 0 R (paragraph.10.46.3.15) 10303 0 R (paragraph.10.46.3.16) 10309 0 R (paragraph.10.46.3.17) 10310 0 R (paragraph.10.46.3.18) 10311 0 R (paragraph.10.46.3.19) 10312 0 R]
+/Limits [(paragraph.10.46.3.14) (paragraph.10.46.3.19)]
+>> endobj
+14156 0 obj <<
+/Names [(paragraph.10.46.3.2) 10268 0 R (paragraph.10.46.3.20) 10313 0 R (paragraph.10.46.3.21) 10319 0 R (paragraph.10.46.3.22) 10320 0 R (paragraph.10.46.3.23) 10321 0 R (paragraph.10.46.3.24) 10329 0 R]
+/Limits [(paragraph.10.46.3.2) (paragraph.10.46.3.24)]
+>> endobj
+14157 0 obj <<
+/Names [(paragraph.10.46.3.25) 10330 0 R (paragraph.10.46.3.26) 10331 0 R (paragraph.10.46.3.27) 10332 0 R (paragraph.10.46.3.28) 10339 0 R (paragraph.10.46.3.29) 10340 0 R (paragraph.10.46.3.3) 10275 0 R]
+/Limits [(paragraph.10.46.3.25) (paragraph.10.46.3.3)]
+>> endobj
+14158 0 obj <<
+/Names [(paragraph.10.46.3.30) 10341 0 R (paragraph.10.46.3.31) 10351 0 R (paragraph.10.46.3.32) 10352 0 R (paragraph.10.46.3.33) 10353 0 R (paragraph.10.46.3.34) 10354 0 R (paragraph.10.46.3.35) 10364 0 R]
+/Limits [(paragraph.10.46.3.30) (paragraph.10.46.3.35)]
+>> endobj
+14159 0 obj <<
+/Names [(paragraph.10.46.3.36) 10365 0 R (paragraph.10.46.3.37) 10376 0 R (paragraph.10.46.3.38) 10377 0 R (paragraph.10.46.3.39) 10378 0 R (paragraph.10.46.3.4) 10276 0 R (paragraph.10.46.3.40) 10387 0 R]
+/Limits [(paragraph.10.46.3.36) (paragraph.10.46.3.40)]
+>> endobj
+14160 0 obj <<
+/Names [(paragraph.10.46.3.41) 10388 0 R (paragraph.10.46.3.42) 10398 0 R (paragraph.10.46.3.43) 10399 0 R (paragraph.10.46.3.44) 10400 0 R (paragraph.10.46.3.45) 10412 0 R (paragraph.10.46.3.46) 10413 0 R]
+/Limits [(paragraph.10.46.3.41) (paragraph.10.46.3.46)]
+>> endobj
+14161 0 obj <<
+/Names [(paragraph.10.46.3.47) 10425 0 R (paragraph.10.46.3.48) 10426 0 R (paragraph.10.46.3.49) 10427 0 R (paragraph.10.46.3.5) 10277 0 R (paragraph.10.46.3.50) 10428 0 R (paragraph.10.46.3.51) 10438 0 R]
+/Limits [(paragraph.10.46.3.47) (paragraph.10.46.3.51)]
+>> endobj
+14162 0 obj <<
+/Names [(paragraph.10.46.3.6) 10278 0 R (paragraph.10.46.3.7) 10284 0 R (paragraph.10.46.3.8) 10285 0 R (paragraph.10.46.3.9) 10292 0 R (paragraph.10.46.4.1) 10440 0 R (paragraph.10.46.4.2) 10441 0 R]
+/Limits [(paragraph.10.46.3.6) (paragraph.10.46.4.2)]
+>> endobj
+14163 0 obj <<
+/Names [(paragraph.10.46.4.3) 10452 0 R (paragraph.10.46.4.4) 10453 0 R (paragraph.10.46.4.5) 10455 0 R (paragraph.10.46.4.6) 10457 0 R (paragraph.10.46.4.7) 10482 0 R (paragraph.10.47.2.1) 10518 0 R]
+/Limits [(paragraph.10.46.4.3) (paragraph.10.47.2.1)]
+>> endobj
+14164 0 obj <<
+/Names [(paragraph.10.47.2.2) 10520 0 R (paragraph.10.47.2.3) 10522 0 R (paragraph.10.47.2.4) 10543 0 R (paragraph.10.47.2.5) 10544 0 R (paragraph.10.48.2.1) 10578 0 R (paragraph.10.48.2.2) 10580 0 R]
+/Limits [(paragraph.10.47.2.2) (paragraph.10.48.2.2)]
+>> endobj
+14165 0 obj <<
+/Names [(paragraph.10.48.2.3) 10582 0 R (paragraph.10.48.2.4) 10609 0 R (paragraph.10.48.2.5) 10610 0 R (paragraph.10.49.2.1) 11052 0 R (paragraph.10.49.2.2) 11053 0 R (paragraph.10.49.2.3) 11054 0 R]
+/Limits [(paragraph.10.48.2.3) (paragraph.10.49.2.3)]
+>> endobj
+14166 0 obj <<
+/Names [(paragraph.10.49.2.4) 11060 0 R (paragraph.10.49.2.5) 11061 0 R (paragraph.10.49.2.6) 11062 0 R (paragraph.10.49.2.7) 11068 0 R (paragraph.10.49.3.1) 11070 0 R (paragraph.10.49.3.10) 11089 0 R]
+/Limits [(paragraph.10.49.2.4) (paragraph.10.49.3.10)]
+>> endobj
+14167 0 obj <<
+/Names [(paragraph.10.49.3.11) 11097 0 R (paragraph.10.49.3.12) 11098 0 R (paragraph.10.49.3.13) 11105 0 R (paragraph.10.49.3.14) 11106 0 R (paragraph.10.49.3.15) 11107 0 R (paragraph.10.49.3.16) 11113 0 R]
+/Limits [(paragraph.10.49.3.11) (paragraph.10.49.3.16)]
+>> endobj
+14168 0 obj <<
+/Names [(paragraph.10.49.3.17) 11114 0 R (paragraph.10.49.3.18) 11115 0 R (paragraph.10.49.3.19) 11116 0 R (paragraph.10.49.3.2) 11071 0 R (paragraph.10.49.3.20) 11122 0 R (paragraph.10.49.3.21) 11123 0 R]
+/Limits [(paragraph.10.49.3.17) (paragraph.10.49.3.21)]
+>> endobj
+14169 0 obj <<
+/Names [(paragraph.10.49.3.22) 11124 0 R (paragraph.10.49.3.23) 11130 0 R (paragraph.10.49.3.24) 11131 0 R (paragraph.10.49.3.25) 11132 0 R (paragraph.10.49.3.26) 11139 0 R (paragraph.10.49.3.27) 11140 0 R]
+/Limits [(paragraph.10.49.3.22) (paragraph.10.49.3.27)]
+>> endobj
+14170 0 obj <<
+/Names [(paragraph.10.49.3.28) 11141 0 R (paragraph.10.49.3.29) 11142 0 R (paragraph.10.49.3.3) 11077 0 R (paragraph.10.49.3.30) 11151 0 R (paragraph.10.49.3.31) 11152 0 R (paragraph.10.49.3.32) 11153 0 R]
+/Limits [(paragraph.10.49.3.28) (paragraph.10.49.3.32)]
+>> endobj
+14171 0 obj <<
+/Names [(paragraph.10.49.3.33) 11154 0 R (paragraph.10.49.3.34) 11164 0 R (paragraph.10.49.3.35) 11165 0 R (paragraph.10.49.3.36) 11166 0 R (paragraph.10.49.3.37) 11177 0 R (paragraph.10.49.3.38) 11178 0 R]
+/Limits [(paragraph.10.49.3.33) (paragraph.10.49.3.38)]
+>> endobj
+14172 0 obj <<
+/Names [(paragraph.10.49.3.39) 11179 0 R (paragraph.10.49.3.4) 11078 0 R (paragraph.10.49.3.40) 11189 0 R (paragraph.10.49.3.41) 11190 0 R (paragraph.10.49.3.42) 11200 0 R (paragraph.10.49.3.43) 11201 0 R]
+/Limits [(paragraph.10.49.3.39) (paragraph.10.49.3.43)]
+>> endobj
+14173 0 obj <<
+/Names [(paragraph.10.49.3.44) 11202 0 R (paragraph.10.49.3.45) 11210 0 R (paragraph.10.49.3.46) 11211 0 R (paragraph.10.49.3.47) 11224 0 R (paragraph.10.49.3.48) 11225 0 R (paragraph.10.49.3.49) 11226 0 R]
+/Limits [(paragraph.10.49.3.44) (paragraph.10.49.3.49)]
+>> endobj
+14174 0 obj <<
+/Names [(paragraph.10.49.3.5) 11079 0 R (paragraph.10.49.3.50) 11241 0 R (paragraph.10.49.3.51) 11242 0 R (paragraph.10.49.3.52) 11244 0 R (paragraph.10.49.3.53) 11252 0 R (paragraph.10.49.3.54) 11253 0 R]
+/Limits [(paragraph.10.49.3.5) (paragraph.10.49.3.54)]
+>> endobj
+14175 0 obj <<
+/Names [(paragraph.10.49.3.55) 11264 0 R (paragraph.10.49.3.56) 11265 0 R (paragraph.10.49.3.57) 11266 0 R (paragraph.10.49.3.58) 11275 0 R (paragraph.10.49.3.59) 11276 0 R (paragraph.10.49.3.6) 11080 0 R]
+/Limits [(paragraph.10.49.3.55) (paragraph.10.49.3.6)]
+>> endobj
+14176 0 obj <<
+/Names [(paragraph.10.49.3.60) 11285 0 R (paragraph.10.49.3.61) 11286 0 R (paragraph.10.49.3.62) 11287 0 R (paragraph.10.49.3.63) 11288 0 R (paragraph.10.49.3.7) 11081 0 R (paragraph.10.49.3.8) 11087 0 R]
+/Limits [(paragraph.10.49.3.60) (paragraph.10.49.3.8)]
+>> endobj
+14177 0 obj <<
+/Names [(paragraph.10.49.3.9) 11088 0 R (paragraph.10.49.4.1) 11307 0 R (paragraph.10.49.4.2) 11308 0 R (paragraph.10.49.4.3) 11309 0 R (paragraph.10.5.2.1) 3952 0 R (paragraph.10.5.2.10) 3971 0 R]
+/Limits [(paragraph.10.49.3.9) (paragraph.10.5.2.10)]
+>> endobj
+14178 0 obj <<
+/Names [(paragraph.10.5.2.11) 3978 0 R (paragraph.10.5.2.12) 3979 0 R (paragraph.10.5.2.13) 3980 0 R (paragraph.10.5.2.2) 3953 0 R (paragraph.10.5.2.3) 3954 0 R (paragraph.10.5.2.4) 3960 0 R]
+/Limits [(paragraph.10.5.2.11) (paragraph.10.5.2.4)]
+>> endobj
+14179 0 obj <<
+/Names [(paragraph.10.5.2.5) 3961 0 R (paragraph.10.5.2.6) 3962 0 R (paragraph.10.5.2.7) 3968 0 R (paragraph.10.5.2.8) 3969 0 R (paragraph.10.5.2.9) 3970 0 R (paragraph.10.5.3.1) 3982 0 R]
+/Limits [(paragraph.10.5.2.5) (paragraph.10.5.3.1)]
+>> endobj
+14180 0 obj <<
+/Names [(paragraph.10.50.2.1) 11481 0 R (paragraph.10.50.2.2) 11482 0 R (paragraph.10.50.3.1) 11490 0 R (paragraph.10.50.3.2) 11491 0 R (paragraph.10.50.3.3) 11492 0 R (paragraph.10.50.3.4) 11493 0 R]
+/Limits [(paragraph.10.50.2.1) (paragraph.10.50.3.4)]
+>> endobj
+14181 0 obj <<
+/Names [(paragraph.10.50.3.5) 11494 0 R (paragraph.10.50.3.6) 11501 0 R (paragraph.10.50.4.1) 11503 0 R (paragraph.10.50.4.2) 11504 0 R (paragraph.10.50.4.3) 11505 0 R (paragraph.10.50.4.4) 11506 0 R]
+/Limits [(paragraph.10.50.3.5) (paragraph.10.50.4.4)]
+>> endobj
+14182 0 obj <<
+/Names [(paragraph.10.52.2.1) 11524 0 R (paragraph.10.53.2.1) 11549 0 R (paragraph.10.55.2.1) 11610 0 R (paragraph.10.55.3.1) 11612 0 R (paragraph.10.55.4.1) 11639 0 R (paragraph.10.55.4.2) 11640 0 R]
+/Limits [(paragraph.10.52.2.1) (paragraph.10.55.4.2)]
+>> endobj
+14183 0 obj <<
+/Names [(paragraph.10.56.2.1) 11672 0 R (paragraph.10.56.3.1) 11675 0 R (paragraph.10.6.2.1) 4410 0 R (paragraph.10.6.3.1) 4424 0 R (paragraph.10.6.3.10) 4438 0 R (paragraph.10.6.3.11) 4439 0 R]
+/Limits [(paragraph.10.56.2.1) (paragraph.10.6.3.11)]
+>> endobj
+14184 0 obj <<
+/Names [(paragraph.10.6.3.12) 4440 0 R (paragraph.10.6.3.13) 4441 0 R (paragraph.10.6.3.14) 4442 0 R (paragraph.10.6.3.15) 4443 0 R (paragraph.10.6.3.16) 4450 0 R (paragraph.10.6.3.17) 4451 0 R]
+/Limits [(paragraph.10.6.3.12) (paragraph.10.6.3.17)]
+>> endobj
+14185 0 obj <<
+/Names [(paragraph.10.6.3.18) 4452 0 R (paragraph.10.6.3.19) 4453 0 R (paragraph.10.6.3.2) 4425 0 R (paragraph.10.6.3.20) 4454 0 R (paragraph.10.6.3.21) 4455 0 R (paragraph.10.6.3.22) 4456 0 R]
+/Limits [(paragraph.10.6.3.18) (paragraph.10.6.3.22)]
+>> endobj
+14186 0 obj <<
+/Names [(paragraph.10.6.3.23) 4457 0 R (paragraph.10.6.3.24) 4463 0 R (paragraph.10.6.3.25) 4464 0 R (paragraph.10.6.3.26) 4465 0 R (paragraph.10.6.3.27) 4466 0 R (paragraph.10.6.3.28) 4467 0 R]
+/Limits [(paragraph.10.6.3.23) (paragraph.10.6.3.28)]
+>> endobj
+14187 0 obj <<
+/Names [(paragraph.10.6.3.29) 4468 0 R (paragraph.10.6.3.3) 4426 0 R (paragraph.10.6.3.30) 4474 0 R (paragraph.10.6.3.31) 4475 0 R (paragraph.10.6.3.32) 4476 0 R (paragraph.10.6.3.33) 4477 0 R]
+/Limits [(paragraph.10.6.3.29) (paragraph.10.6.3.33)]
+>> endobj
+14188 0 obj <<
+/Names [(paragraph.10.6.3.34) 4478 0 R (paragraph.10.6.3.35) 4479 0 R (paragraph.10.6.3.36) 4485 0 R (paragraph.10.6.3.37) 4486 0 R (paragraph.10.6.3.38) 4487 0 R (paragraph.10.6.3.39) 4488 0 R]
+/Limits [(paragraph.10.6.3.34) (paragraph.10.6.3.39)]
+>> endobj
+14189 0 obj <<
+/Names [(paragraph.10.6.3.4) 4427 0 R (paragraph.10.6.3.40) 4489 0 R (paragraph.10.6.3.41) 4490 0 R (paragraph.10.6.3.42) 4496 0 R (paragraph.10.6.3.43) 4497 0 R (paragraph.10.6.3.44) 4503 0 R]
+/Limits [(paragraph.10.6.3.4) (paragraph.10.6.3.44)]
+>> endobj
+14190 0 obj <<
+/Names [(paragraph.10.6.3.45) 4516 0 R (paragraph.10.6.3.46) 4517 0 R (paragraph.10.6.3.47) 4518 0 R (paragraph.10.6.3.5) 4428 0 R (paragraph.10.6.3.6) 4429 0 R (paragraph.10.6.3.7) 4430 0 R]
+/Limits [(paragraph.10.6.3.45) (paragraph.10.6.3.7)]
+>> endobj
+14191 0 obj <<
+/Names [(paragraph.10.6.3.8) 4436 0 R (paragraph.10.6.3.9) 4437 0 R (paragraph.8.1.2.1) 1739 0 R (paragraph.8.1.2.2) 1740 0 R (paragraph.8.1.2.3) 1741 0 R (paragraph.8.1.2.4) 1763 0 R]
+/Limits [(paragraph.10.6.3.8) (paragraph.8.1.2.4)]
+>> endobj
+14192 0 obj <<
+/Names [(paragraph.8.1.3.1) 1765 0 R (paragraph.8.1.3.2) 1766 0 R (paragraph.8.1.3.3) 1767 0 R (paragraph.8.1.4.1) 1769 0 R (paragraph.8.1.4.10) 1804 0 R (paragraph.8.1.4.11) 1805 0 R]
+/Limits [(paragraph.8.1.3.1) (paragraph.8.1.4.11)]
+>> endobj
+14193 0 obj <<
+/Names [(paragraph.8.1.4.2) 1775 0 R (paragraph.8.1.4.3) 1782 0 R (paragraph.8.1.4.4) 1783 0 R (paragraph.8.1.4.5) 1784 0 R (paragraph.8.1.4.6) 1785 0 R (paragraph.8.1.4.7) 1793 0 R]
+/Limits [(paragraph.8.1.4.2) (paragraph.8.1.4.7)]
+>> endobj
+14194 0 obj <<
+/Names [(paragraph.8.1.4.8) 1794 0 R (paragraph.8.1.4.9) 1795 0 R (paragraph.8.1.5.1) 1807 0 R (paragraph.9.1.2.1) 2210 0 R (paragraph.9.1.2.2) 2217 0 R (paragraph.9.1.2.3) 2218 0 R]
+/Limits [(paragraph.8.1.4.8) (paragraph.9.1.2.3)]
+>> endobj
+14195 0 obj <<
+/Names [(paragraph.9.1.3.1) 2220 0 R (paragraph.9.1.3.10) 2259 0 R (paragraph.9.1.3.11) 2260 0 R (paragraph.9.1.3.12) 2267 0 R (paragraph.9.1.3.13) 2274 0 R (paragraph.9.1.3.2) 2228 0 R]
+/Limits [(paragraph.9.1.3.1) (paragraph.9.1.3.2)]
+>> endobj
+14196 0 obj <<
+/Names [(paragraph.9.1.3.3) 2231 0 R (paragraph.9.1.3.4) 2232 0 R (paragraph.9.1.3.5) 2233 0 R (paragraph.9.1.3.6) 2234 0 R (paragraph.9.1.3.7) 2242 0 R (paragraph.9.1.3.8) 2243 0 R]
+/Limits [(paragraph.9.1.3.3) (paragraph.9.1.3.8)]
+>> endobj
+14197 0 obj <<
+/Names [(paragraph.9.1.3.9) 2251 0 R (paragraph.9.2.2.1) 2286 0 R (section*.1) 405 0 R (section*.10) 1149 0 R (section*.100) 5833 0 R (section*.101) 5880 0 R]
+/Limits [(paragraph.9.1.3.9) (section*.101)]
+>> endobj
+14198 0 obj <<
+/Names [(section*.102) 5897 0 R (section*.103) 5935 0 R (section*.104) 6065 0 R (section*.105) 6067 0 R (section*.106) 6475 0 R (section*.107) 6479 0 R]
+/Limits [(section*.102) (section*.107)]
+>> endobj
+14199 0 obj <<
+/Names [(section*.108) 6480 0 R (section*.109) 6790 0 R (section*.11) 1155 0 R (section*.110) 6791 0 R (section*.111) 6828 0 R (section*.112) 6829 0 R]
+/Limits [(section*.108) (section*.112)]
+>> endobj
+14200 0 obj <<
+/Names [(section*.113) 6924 0 R (section*.114) 6929 0 R (section*.115) 7029 0 R (section*.116) 7030 0 R (section*.117) 7106 0 R (section*.118) 7111 0 R]
+/Limits [(section*.113) (section*.118)]
+>> endobj
+14201 0 obj <<
+/Names [(section*.119) 7112 0 R (section*.12) 1161 0 R (section*.120) 7160 0 R (section*.121) 7161 0 R (section*.122) 7189 0 R (section*.123) 7226 0 R]
+/Limits [(section*.119) (section*.123)]
+>> endobj
+14202 0 obj <<
+/Names [(section*.124) 7241 0 R (section*.125) 7263 0 R (section*.126) 7265 0 R (section*.127) 7290 0 R (section*.128) 7291 0 R (section*.129) 7341 0 R]
+/Limits [(section*.124) (section*.129)]
+>> endobj
+14203 0 obj <<
+/Names [(section*.13) 1167 0 R (section*.130) 7403 0 R (section*.131) 7468 0 R (section*.132) 7567 0 R (section*.133) 7616 0 R (section*.134) 7717 0 R]
+/Limits [(section*.13) (section*.134)]
+>> endobj
+14204 0 obj <<
+/Names [(section*.135) 7719 0 R (section*.136) 7835 0 R (section*.137) 7910 0 R (section*.138) 7928 0 R (section*.139) 7931 0 R (section*.14) 1168 0 R]
+/Limits [(section*.135) (section*.14)]
+>> endobj
+14205 0 obj <<
+/Names [(section*.140) 7934 0 R (section*.141) 8336 0 R (section*.142) 8340 0 R (section*.143) 8341 0 R (section*.144) 8376 0 R (section*.145) 8686 0 R]
+/Limits [(section*.140) (section*.145)]
+>> endobj
+14206 0 obj <<
+/Names [(section*.146) 9010 0 R (section*.147) 9012 0 R (section*.148) 9015 0 R (section*.149) 9019 0 R (section*.15) 1169 0 R (section*.150) 9023 0 R]
+/Limits [(section*.146) (section*.150)]
+>> endobj
+14207 0 obj <<
+/Names [(section*.151) 9042 0 R (section*.152) 9046 0 R (section*.153) 9276 0 R (section*.154) 9319 0 R (section*.155) 9366 0 R (section*.156) 9369 0 R]
+/Limits [(section*.151) (section*.156)]
+>> endobj
+14208 0 obj <<
+/Names [(section*.157) 9465 0 R (section*.158) 9467 0 R (section*.159) 9585 0 R (section*.16) 1176 0 R (section*.160) 9586 0 R (section*.161) 9634 0 R]
+/Limits [(section*.157) (section*.161)]
+>> endobj
+14209 0 obj <<
+/Names [(section*.162) 9682 0 R (section*.163) 9713 0 R (section*.164) 9715 0 R (section*.165) 9765 0 R (section*.166) 9766 0 R (section*.167) 9798 0 R]
+/Limits [(section*.162) (section*.167)]
+>> endobj
+14210 0 obj <<
+/Names [(section*.168) 9801 0 R (section*.169) 9806 0 R (section*.17) 1177 0 R (section*.170) 9874 0 R (section*.171) 10208 0 R (section*.172) 10210 0 R]
+/Limits [(section*.168) (section*.172)]
+>> endobj
+14211 0 obj <<
+/Names [(section*.173) 10238 0 R (section*.174) 10483 0 R (section*.175) 10489 0 R (section*.176) 10513 0 R (section*.177) 10514 0 R (section*.178) 10545 0 R]
+/Limits [(section*.173) (section*.178)]
+>> endobj
+14212 0 obj <<
+/Names [(section*.179) 10551 0 R (section*.18) 1178 0 R (section*.180) 10573 0 R (section*.181) 10574 0 R (section*.182) 10612 0 R (section*.183) 10614 0 R]
+/Limits [(section*.179) (section*.183)]
+>> endobj
+14213 0 obj <<
+/Names [(section*.184) 10965 0 R (section*.185) 11011 0 R (section*.186) 11013 0 R (section*.187) 11310 0 R (section*.188) 11343 0 R (section*.189) 11434 0 R]
+/Limits [(section*.184) (section*.189)]
+>> endobj
+14214 0 obj <<
+/Names [(section*.19) 1184 0 R (section*.190) 11437 0 R (section*.191) 11440 0 R (section*.192) 11465 0 R (section*.193) 11467 0 R (section*.194) 11517 0 R]
+/Limits [(section*.19) (section*.194)]
+>> endobj
+14215 0 obj <<
+/Names [(section*.195) 11521 0 R (section*.196) 11534 0 R (section*.197) 11538 0 R (section*.198) 11550 0 R (section*.199) 11582 0 R (section*.2) 1125 0 R]
+/Limits [(section*.195) (section*.2)]
+>> endobj
+14216 0 obj <<
+/Names [(section*.20) 1185 0 R (section*.200) 11583 0 R (section*.201) 11585 0 R (section*.202) 11590 0 R (section*.203) 11607 0 R (section*.204) 11641 0 R]
+/Limits [(section*.20) (section*.204)]
+>> endobj
+14217 0 obj <<
+/Names [(section*.205) 11667 0 R (section*.206) 11669 0 R (section*.207) 11746 0 R (section*.21) 1186 0 R (section*.22) 1187 0 R (section*.23) 1226 0 R]
+/Limits [(section*.205) (section*.23)]
+>> endobj
+14218 0 obj <<
+/Names [(section*.24) 1501 0 R (section*.25) 1579 0 R (section*.26) 1580 0 R (section*.27) 1582 0 R (section*.28) 1583 0 R (section*.29) 1736 0 R]
+/Limits [(section*.24) (section*.29)]
+>> endobj
+14219 0 obj <<
+/Names [(section*.3) 1132 0 R (section*.30) 1831 0 R (section*.31) 1832 0 R (section*.32) 1877 0 R (section*.33) 1957 0 R (section*.34) 2015 0 R]
+/Limits [(section*.3) (section*.34)]
+>> endobj
+14220 0 obj <<
+/Names [(section*.35) 2207 0 R (section*.36) 2282 0 R (section*.37) 2303 0 R (section*.38) 2342 0 R (section*.39) 2392 0 R (section*.4) 1133 0 R]
+/Limits [(section*.35) (section*.4)]
+>> endobj
+14221 0 obj <<
+/Names [(section*.40) 2395 0 R (section*.41) 2753 0 R (section*.42) 2757 0 R (section*.43) 2811 0 R (section*.44) 2832 0 R (section*.45) 3115 0 R]
+/Limits [(section*.40) (section*.45)]
+>> endobj
+14222 0 obj <<
+/Names [(section*.46) 3116 0 R (section*.47) 3144 0 R (section*.48) 3146 0 R (section*.49) 3545 0 R (section*.5) 1134 0 R (section*.50) 3549 0 R]
+/Limits [(section*.46) (section*.50)]
+>> endobj
+14223 0 obj <<
+/Names [(section*.51) 3550 0 R (section*.52) 3593 0 R (section*.53) 3899 0 R (section*.54) 4010 0 R (section*.55) 4215 0 R (section*.56) 4408 0 R]
+/Limits [(section*.51) (section*.56)]
+>> endobj
+14224 0 obj <<
+/Names [(section*.57) 4519 0 R (section*.58) 4536 0 R (section*.59) 4539 0 R (section*.6) 1140 0 R (section*.60) 4542 0 R (section*.61) 4569 0 R]
+/Limits [(section*.57) (section*.61)]
+>> endobj
+14225 0 obj <<
+/Names [(section*.62) 4620 0 R (section*.63) 4669 0 R (section*.64) 4670 0 R (section*.65) 4671 0 R (section*.66) 4738 0 R (section*.67) 4739 0 R]
+/Limits [(section*.62) (section*.67)]
+>> endobj
+14226 0 obj <<
+/Names [(section*.68) 4834 0 R (section*.69) 4853 0 R (section*.7) 1141 0 R (section*.70) 4855 0 R (section*.71) 4883 0 R (section*.72) 4894 0 R]
+/Limits [(section*.68) (section*.72)]
+>> endobj
+14227 0 obj <<
+/Names [(section*.73) 4916 0 R (section*.74) 4948 0 R (section*.75) 4977 0 R (section*.76) 5006 0 R (section*.77) 5035 0 R (section*.78) 5070 0 R]
+/Limits [(section*.73) (section*.78)]
+>> endobj
+14228 0 obj <<
+/Names [(section*.79) 5126 0 R (section*.8) 1142 0 R (section*.80) 5132 0 R (section*.81) 5236 0 R (section*.82) 5317 0 R (section*.83) 5318 0 R]
+/Limits [(section*.79) (section*.83)]
+>> endobj
+14229 0 obj <<
+/Names [(section*.84) 5400 0 R (section*.85) 5405 0 R (section*.86) 5406 0 R (section*.87) 5430 0 R (section*.88) 5434 0 R (section*.89) 5456 0 R]
+/Limits [(section*.84) (section*.89)]
+>> endobj
+14230 0 obj <<
+/Names [(section*.9) 1148 0 R (section*.90) 5502 0 R (section*.91) 5503 0 R (section*.92) 5527 0 R (section*.93) 5537 0 R (section*.94) 5558 0 R]
+/Limits [(section*.9) (section*.94)]
+>> endobj
+14231 0 obj <<
+/Names [(section*.95) 5588 0 R (section*.96) 5589 0 R (section*.97) 5648 0 R (section*.98) 5708 0 R (section*.99) 5832 0 R (section.1) 6 0 R]
+/Limits [(section*.95) (section.1)]
+>> endobj
+14232 0 obj <<
+/Names [(section.10) 134 0 R (section.2) 70 0 R (section.3) 74 0 R (section.4) 78 0 R (section.5) 86 0 R (section.6) 94 0 R]
+/Limits [(section.10) (section.6)]
+>> endobj
+14233 0 obj <<
+/Names [(section.7) 102 0 R (section.8) 110 0 R (section.9) 118 0 R (structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare) 1334 0 R (structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare_a98c515b16e12424b273eaff073b31f3b) 4537 0 R (structParma__Polyhedra__Library_1_1Grid__Certificate_1_1Compare) 1336 0 R]
+/Limits [(section.7) (structParma__Polyhedra__Library_1_1Grid__Certificate_1_1Compare)]
+>> endobj
+14234 0 obj <<
+/Names [(structParma__Polyhedra__Library_1_1Grid__Certificate_1_1Compare_a92edb0b8b1e2097c5d20795e576517cf) 4543 0 R (structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare) 1335 0 R (structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare_abf5e694ab674c48a452893f021986318) 4540 0 R (structParma__Polyhedra__Library_1_1Is__Checked) 1410 0 R (structParma__Polyhedra__Library_1_1Is__Checked_3_01Checked__Number_3_01T_00_01P_01_4_01_4) 1411 0 R (structParma__Polyhedra__Library_1 [...]
+/Limits [(structParma__Polyhedra__Library_1_1Grid__Certificate_1_1Compare_a92edb0b8b1e2097c5d20795e576517cf) (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked)]
+>> endobj
+14235 0 obj <<
+/Names [(structParma__Polyhedra__Library_1_1PIP__Solution__Node_1_1No__Constraints) 1464 0 R (structParma__Polyhedra__Library_1_1Recycle__Input) 1474 0 R (structParma__Polyhedra__Library_1_1Variable_1_1Compare) 1333 0 R (structParma__Polyhedra__Library_1_1Variable_1_1Compare_af6c069432956f215967c61be24a40939) 4520 0 R (subsection.1.1) 10 0 R (subsection.1.10) 46 0 R]
+/Limits [(structParma__Polyhedra__Library_1_1PIP__Solution__Node_1_1No__Constraints) (subsection.1.10)]
+>> endobj
+14236 0 obj <<
+/Names [(subsection.1.11) 50 0 R (subsection.1.12) 54 0 R (subsection.1.13) 58 0 R (subsection.1.14) 62 0 R (subsection.1.15) 66 0 R (subsection.1.2) 14 0 R]
+/Limits [(subsection.1.11) (subsection.1.2)]
+>> endobj
+14237 0 obj <<
+/Names [(subsection.1.3) 18 0 R (subsection.1.4) 22 0 R (subsection.1.5) 26 0 R (subsection.1.6) 30 0 R (subsection.1.7) 34 0 R (subsection.1.8) 38 0 R]
+/Limits [(subsection.1.3) (subsection.1.8)]
+>> endobj
+14238 0 obj <<
+/Names [(subsection.1.9) 42 0 R (subsection.10.1) 138 0 R (subsection.10.10) 174 0 R (subsection.10.11) 178 0 R (subsection.10.12) 182 0 R (subsection.10.13) 186 0 R]
+/Limits [(subsection.1.9) (subsection.10.13)]
+>> endobj
+14239 0 obj <<
+/Names [(subsection.10.14) 190 0 R (subsection.10.15) 194 0 R (subsection.10.16) 198 0 R (subsection.10.17) 202 0 R (subsection.10.18) 206 0 R (subsection.10.19) 210 0 R]
+/Limits [(subsection.10.14) (subsection.10.19)]
+>> endobj
+14240 0 obj <<
+/Names [(subsection.10.2) 142 0 R (subsection.10.20) 214 0 R (subsection.10.21) 218 0 R (subsection.10.22) 222 0 R (subsection.10.23) 226 0 R (subsection.10.24) 230 0 R]
+/Limits [(subsection.10.2) (subsection.10.24)]
+>> endobj
+14241 0 obj <<
+/Names [(subsection.10.25) 234 0 R (subsection.10.26) 238 0 R (subsection.10.27) 242 0 R (subsection.10.28) 246 0 R (subsection.10.29) 250 0 R (subsection.10.3) 146 0 R]
+/Limits [(subsection.10.25) (subsection.10.3)]
+>> endobj
+14242 0 obj <<
+/Names [(subsection.10.30) 254 0 R (subsection.10.31) 258 0 R (subsection.10.32) 262 0 R (subsection.10.33) 266 0 R (subsection.10.34) 270 0 R (subsection.10.35) 274 0 R]
+/Limits [(subsection.10.30) (subsection.10.35)]
+>> endobj
+14243 0 obj <<
+/Names [(subsection.10.36) 278 0 R (subsection.10.37) 282 0 R (subsection.10.38) 286 0 R (subsection.10.39) 290 0 R (subsection.10.4) 150 0 R (subsection.10.40) 294 0 R]
+/Limits [(subsection.10.36) (subsection.10.40)]
+>> endobj
+14244 0 obj <<
+/Names [(subsection.10.41) 298 0 R (subsection.10.42) 302 0 R (subsection.10.43) 306 0 R (subsection.10.44) 310 0 R (subsection.10.45) 314 0 R (subsection.10.46) 318 0 R]
+/Limits [(subsection.10.41) (subsection.10.46)]
+>> endobj
+14245 0 obj <<
+/Names [(subsection.10.47) 322 0 R (subsection.10.48) 326 0 R (subsection.10.49) 330 0 R (subsection.10.5) 154 0 R (subsection.10.50) 334 0 R (subsection.10.51) 338 0 R]
+/Limits [(subsection.10.47) (subsection.10.51)]
+>> endobj
+14246 0 obj <<
+/Names [(subsection.10.52) 342 0 R (subsection.10.53) 346 0 R (subsection.10.54) 350 0 R (subsection.10.55) 354 0 R (subsection.10.56) 358 0 R (subsection.10.6) 158 0 R]
+/Limits [(subsection.10.52) (subsection.10.6)]
+>> endobj
+14247 0 obj <<
+/Names [(subsection.10.7) 162 0 R (subsection.10.8) 166 0 R (subsection.10.9) 170 0 R (subsection.4.1) 82 0 R (subsection.5.1) 90 0 R (subsection.6.1) 98 0 R]
+/Limits [(subsection.10.7) (subsection.6.1)]
+>> endobj
+14248 0 obj <<
+/Names [(subsection.7.1) 106 0 R (subsection.8.1) 114 0 R (subsection.9.1) 122 0 R (subsection.9.2) 126 0 R (subsection.9.3) 130 0 R (subsubsection.1.1.1) 504 0 R]
+/Limits [(subsection.7.1) (subsubsection.1.1.1)]
+>> endobj
+14249 0 obj <<
+/Names [(subsubsection.1.1.2) 522 0 R (subsubsection.1.1.3) 551 0 R (subsubsection.1.10.1) 839 0 R (subsubsection.1.10.2) 841 0 R (subsubsection.1.10.3) 843 0 R (subsubsection.1.10.4) 851 0 R]
+/Limits [(subsubsection.1.1.2) (subsubsection.1.10.4)]
+>> endobj
+14250 0 obj <<
+/Names [(subsubsection.1.10.5) 853 0 R (subsubsection.1.10.6) 863 0 R (subsubsection.1.10.7) 865 0 R (subsubsection.1.10.8) 867 0 R (subsubsection.1.10.9) 869 0 R (subsubsection.1.11.1) 881 0 R]
+/Limits [(subsubsection.1.10.5) (subsubsection.1.11.1)]
+>> endobj
+14251 0 obj <<
+/Names [(subsubsection.1.12.1) 898 0 R (subsubsection.1.12.2) 901 0 R (subsubsection.1.12.3) 904 0 R (subsubsection.1.13.1) 908 0 R (subsubsection.1.13.2) 925 0 R (subsubsection.1.13.3) 928 0 R]
+/Limits [(subsubsection.1.12.1) (subsubsection.1.13.3)]
+>> endobj
+14252 0 obj <<
+/Names [(subsubsection.1.13.4) 931 0 R (subsubsection.1.13.5) 934 0 R (subsubsection.1.14.1) 945 0 R (subsubsection.1.14.2) 947 0 R (subsubsection.1.14.3) 949 0 R (subsubsection.1.14.4) 956 0 R]
+/Limits [(subsubsection.1.13.4) (subsubsection.1.14.4)]
+>> endobj
+14253 0 obj <<
+/Names [(subsubsection.1.3.1) 570 0 R (subsubsection.1.3.2) 572 0 R (subsubsection.1.4.1) 595 0 R (subsubsection.1.4.2) 600 0 R (subsubsection.1.4.3) 602 0 R (subsubsection.1.4.4) 614 0 R]
+/Limits [(subsubsection.1.3.1) (subsubsection.1.4.4)]
+>> endobj
+14254 0 obj <<
+/Names [(subsubsection.1.5.1) 617 0 R (subsubsection.1.5.10) 652 0 R (subsubsection.1.5.2) 620 0 R (subsubsection.1.5.3) 629 0 R (subsubsection.1.5.4) 631 0 R (subsubsection.1.5.5) 638 0 R]
+/Limits [(subsubsection.1.5.1) (subsubsection.1.5.5)]
+>> endobj
+14255 0 obj <<
+/Names [(subsubsection.1.5.6) 640 0 R (subsubsection.1.5.7) 641 0 R (subsubsection.1.5.8) 643 0 R (subsubsection.1.5.9) 650 0 R (subsubsection.1.6.1) 660 0 R (subsubsection.1.6.10) 702 0 R]
+/Limits [(subsubsection.1.5.6) (subsubsection.1.6.10)]
+>> endobj
+14256 0 obj <<
+/Names [(subsubsection.1.6.11) 711 0 R (subsubsection.1.6.12) 713 0 R (subsubsection.1.6.13) 715 0 R (subsubsection.1.6.14) 717 0 R (subsubsection.1.6.15) 719 0 R (subsubsection.1.6.16) 734 0 R]
+/Limits [(subsubsection.1.6.11) (subsubsection.1.6.16)]
+>> endobj
+14257 0 obj <<
+/Names [(subsubsection.1.6.17) 736 0 R (subsubsection.1.6.18) 753 0 R (subsubsection.1.6.19) 755 0 R (subsubsection.1.6.2) 662 0 R (subsubsection.1.6.3) 664 0 R (subsubsection.1.6.4) 666 0 R]
+/Limits [(subsubsection.1.6.17) (subsubsection.1.6.4)]
+>> endobj
+14258 0 obj <<
+/Names [(subsubsection.1.6.5) 674 0 R (subsubsection.1.6.6) 676 0 R (subsubsection.1.6.7) 681 0 R (subsubsection.1.6.8) 684 0 R (subsubsection.1.6.9) 694 0 R (subsubsection.1.7.1) 769 0 R]
+/Limits [(subsubsection.1.6.5) (subsubsection.1.7.1)]
+>> endobj
+14259 0 obj <<
+/Names [(subsubsection.1.8.1) 772 0 R (subsubsection.1.8.2) 774 0 R (subsubsection.1.8.3) 787 0 R (subsubsection.1.8.4) 789 0 R (subsubsection.1.9.1) 803 0 R (subsubsection.1.9.2) 805 0 R]
+/Limits [(subsubsection.1.8.1) (subsubsection.1.9.2)]
+>> endobj
+14260 0 obj <<
+/Names [(subsubsection.1.9.3) 807 0 R (subsubsection.1.9.4) 809 0 R (subsubsection.1.9.5) 819 0 R (subsubsection.1.9.6) 822 0 R (subsubsection.1.9.7) 824 0 R (subsubsection.1.9.8) 826 0 R]
+/Limits [(subsubsection.1.9.3) (subsubsection.1.9.8)]
+>> endobj
+14261 0 obj <<
+/Names [(subsubsection.1.9.9) 828 0 R (subsubsection.10.1.1) 2343 0 R (subsubsection.10.1.2) 2352 0 R (subsubsection.10.1.3) 2355 0 R (subsubsection.10.1.4) 2357 0 R (subsubsection.10.10.1) 4568 0 R]
+/Limits [(subsubsection.1.9.9) (subsubsection.10.10.1)]
+>> endobj
+14262 0 obj <<
+/Names [(subsubsection.10.11.1) 4688 0 R (subsubsection.10.11.2) 4696 0 R (subsubsection.10.11.3) 4698 0 R (subsubsection.10.11.4) 4718 0 R (subsubsection.10.12.1) 4857 0 R (subsubsection.10.12.2) 4865 0 R]
+/Limits [(subsubsection.10.11.1) (subsubsection.10.12.2)]
+>> endobj
+14263 0 obj <<
+/Names [(subsubsection.10.12.3) 4867 0 R (subsubsection.10.12.4) 4880 0 R (subsubsection.10.13.1) 4893 0 R (subsubsection.10.13.2) 4895 0 R (subsubsection.10.14.1) 4927 0 R (subsubsection.10.15.1) 4976 0 R]
+/Limits [(subsubsection.10.12.3) (subsubsection.10.15.1)]
+>> endobj
+14264 0 obj <<
+/Names [(subsubsection.10.16.1) 5005 0 R (subsubsection.10.17.1) 5034 0 R (subsubsection.10.18.1) 5237 0 R (subsubsection.10.18.2) 5250 0 R (subsubsection.10.18.3) 5257 0 R (subsubsection.10.18.4) 5259 0 R]
+/Limits [(subsubsection.10.16.1) (subsubsection.10.18.4)]
+>> endobj
+14265 0 obj <<
+/Names [(subsubsection.10.18.5) 5269 0 R (subsubsection.10.19.1) 5416 0 R (subsubsection.10.19.2) 5417 0 R (subsubsection.10.2.1) 2831 0 R (subsubsection.10.2.2) 2838 0 R (subsubsection.10.2.3) 2866 0 R]
+/Limits [(subsubsection.10.18.5) (subsubsection.10.2.3)]
+>> endobj
+14266 0 obj <<
+/Names [(subsubsection.10.2.4) 3076 0 R (subsubsection.10.20.1) 5433 0 R (subsubsection.10.20.2) 5454 0 R (subsubsection.10.21.1) 5536 0 R (subsubsection.10.21.2) 5538 0 R (subsubsection.10.21.3) 5541 0 R]
+/Limits [(subsubsection.10.2.4) (subsubsection.10.21.3)]
+>> endobj
+14267 0 obj <<
+/Names [(subsubsection.10.22.1) 5557 0 R (subsubsection.10.23.1) 5727 0 R (subsubsection.10.23.2) 5743 0 R (subsubsection.10.23.3) 5745 0 R (subsubsection.10.23.4) 5777 0 R (subsubsection.10.24.1) 5899 0 R]
+/Limits [(subsubsection.10.22.1) (subsubsection.10.24.1)]
+>> endobj
+14268 0 obj <<
+/Names [(subsubsection.10.24.2) 5910 0 R (subsubsection.10.24.3) 5932 0 R (subsubsection.10.25.1) 6001 0 R (subsubsection.10.25.2) 6021 0 R (subsubsection.10.26.1) 6494 0 R (subsubsection.10.26.2) 6511 0 R]
+/Limits [(subsubsection.10.24.2) (subsubsection.10.26.2)]
+>> endobj
+14269 0 obj <<
+/Names [(subsubsection.10.26.3) 6545 0 R (subsubsection.10.26.4) 6765 0 R (subsubsection.10.27.1) 6797 0 R (subsubsection.10.27.2) 6798 0 R (subsubsection.10.28.1) 6944 0 R (subsubsection.10.28.2) 6963 0 R]
+/Limits [(subsubsection.10.26.3) (subsubsection.10.28.2)]
+>> endobj
+14270 0 obj <<
+/Names [(subsubsection.10.28.3) 6965 0 R (subsubsection.10.28.4) 6991 0 R (subsubsection.10.29.1) 7114 0 R (subsubsection.10.29.2) 7132 0 R (subsubsection.10.29.3) 7137 0 R (subsubsection.10.3.1) 3141 0 R]
+/Limits [(subsubsection.10.28.3) (subsubsection.10.3.1)]
+>> endobj
+14271 0 obj <<
+/Names [(subsubsection.10.3.2) 3142 0 R (subsubsection.10.30.1) 7186 0 R (subsubsection.10.30.2) 7187 0 R (subsubsection.10.31.1) 7240 0 R (subsubsection.10.31.2) 7242 0 R (subsubsection.10.31.3) 7260 0 R]
+/Limits [(subsubsection.10.3.2) (subsubsection.10.31.3)]
+>> endobj
+14272 0 obj <<
+/Names [(subsubsection.10.32.1) 7262 0 R (subsubsection.10.33.1) 7264 0 R (subsubsection.10.34.1) 7289 0 R (subsubsection.10.35.1) 7492 0 R (subsubsection.10.35.2) 7493 0 R (subsubsection.10.35.3) 7505 0 R]
+/Limits [(subsubsection.10.32.1) (subsubsection.10.35.3)]
+>> endobj
+14273 0 obj <<
+/Names [(subsubsection.10.36.1) 7721 0 R (subsubsection.10.36.2) 7732 0 R (subsubsection.10.36.3) 7735 0 R (subsubsection.10.36.4) 7754 0 R (subsubsection.10.36.5) 7787 0 R (subsubsection.10.37.1) 7867 0 R]
+/Limits [(subsubsection.10.36.1) (subsubsection.10.37.1)]
+>> endobj
+14274 0 obj <<
+/Names [(subsubsection.10.37.2) 7868 0 R (subsubsection.10.37.3) 7907 0 R (subsubsection.10.38.1) 7909 0 R (subsubsection.10.39.1) 7927 0 R (subsubsection.10.39.2) 7929 0 R (subsubsection.10.4.1) 3592 0 R]
+/Limits [(subsubsection.10.37.2) (subsubsection.10.4.1)]
+>> endobj
+14275 0 obj <<
+/Names [(subsubsection.10.4.2) 3608 0 R (subsubsection.10.4.3) 3640 0 R (subsubsection.10.4.4) 3844 0 R (subsubsection.10.40.1) 8375 0 R (subsubsection.10.40.2) 8395 0 R (subsubsection.10.40.3) 8417 0 R]
+/Limits [(subsubsection.10.4.2) (subsubsection.10.40.3)]
+>> endobj
+14276 0 obj <<
+/Names [(subsubsection.10.40.4) 8623 0 R (subsubsection.10.41.1) 9045 0 R (subsubsection.10.41.2) 9057 0 R (subsubsection.10.41.3) 9096 0 R (subsubsection.10.41.4) 9257 0 R (subsubsection.10.42.1) 9325 0 R]
+/Limits [(subsubsection.10.40.4) (subsubsection.10.42.1)]
+>> endobj
+14277 0 obj <<
+/Names [(subsubsection.10.43.1) 9468 0 R (subsubsection.10.43.2) 9533 0 R (subsubsection.10.43.3) 9543 0 R (subsubsection.10.43.4) 9546 0 R (subsubsection.10.43.5) 9582 0 R (subsubsection.10.44.1) 9663 0 R]
+/Limits [(subsubsection.10.43.1) (subsubsection.10.44.1)]
+>> endobj
+14278 0 obj <<
+/Names [(subsubsection.10.44.2) 9664 0 R (subsubsection.10.44.3) 9666 0 R (subsubsection.10.45.1) 9807 0 R (subsubsection.10.45.2) 9808 0 R (subsubsection.10.45.3) 9838 0 R (subsubsection.10.46.1) 10237 0 R]
+/Limits [(subsubsection.10.44.2) (subsubsection.10.46.1)]
+>> endobj
+14279 0 obj <<
+/Names [(subsubsection.10.46.2) 10239 0 R (subsubsection.10.46.3) 10266 0 R (subsubsection.10.46.4) 10439 0 R (subsubsection.10.47.1) 10515 0 R (subsubsection.10.47.2) 10516 0 R (subsubsection.10.48.1) 10575 0 R]
+/Limits [(subsubsection.10.46.2) (subsubsection.10.48.1)]
+>> endobj
+14280 0 obj <<
+/Names [(subsubsection.10.48.2) 10576 0 R (subsubsection.10.49.1) 11033 0 R (subsubsection.10.49.2) 11051 0 R (subsubsection.10.49.3) 11069 0 R (subsubsection.10.49.4) 11306 0 R (subsubsection.10.5.1) 3940 0 R]
+/Limits [(subsubsection.10.48.2) (subsubsection.10.5.1)]
+>> endobj
+14281 0 obj <<
+/Names [(subsubsection.10.5.2) 3951 0 R (subsubsection.10.5.3) 3981 0 R (subsubsection.10.50.1) 11466 0 R (subsubsection.10.50.2) 11480 0 R (subsubsection.10.50.3) 11489 0 R (subsubsection.10.50.4) 11502 0 R]
+/Limits [(subsubsection.10.5.2) (subsubsection.10.50.4)]
+>> endobj
+14282 0 obj <<
+/Names [(subsubsection.10.51.1) 11516 0 R (subsubsection.10.52.1) 11520 0 R (subsubsection.10.52.2) 11522 0 R (subsubsection.10.53.1) 11537 0 R (subsubsection.10.53.2) 11548 0 R (subsubsection.10.54.1) 11553 0 R]
+/Limits [(subsubsection.10.51.1) (subsubsection.10.54.1)]
+>> endobj
+14283 0 obj <<
+/Names [(subsubsection.10.55.1) 11608 0 R (subsubsection.10.55.2) 11609 0 R (subsubsection.10.55.3) 11611 0 R (subsubsection.10.55.4) 11638 0 R (subsubsection.10.56.1) 11670 0 R (subsubsection.10.56.2) 11671 0 R]
+/Limits [(subsubsection.10.55.1) (subsubsection.10.56.2)]
+>> endobj
+14284 0 obj <<
+/Names [(subsubsection.10.56.3) 11673 0 R (subsubsection.10.6.1) 4407 0 R (subsubsection.10.6.2) 4409 0 R (subsubsection.10.6.3) 4423 0 R (subsubsection.10.7.1) 4521 0 R (subsubsection.10.8.1) 4538 0 R]
+/Limits [(subsubsection.10.56.3) (subsubsection.10.8.1)]
+>> endobj
+14285 0 obj <<
+/Names [(subsubsection.10.9.1) 4541 0 R (subsubsection.8.1.1) 1737 0 R (subsubsection.8.1.2) 1738 0 R (subsubsection.8.1.3) 1764 0 R (subsubsection.8.1.4) 1768 0 R (subsubsection.8.1.5) 1806 0 R]
+/Limits [(subsubsection.10.9.1) (subsubsection.8.1.5)]
+>> endobj
+14286 0 obj <<
+/Names [(subsubsection.9.1.1) 2208 0 R (subsubsection.9.1.2) 2209 0 R (subsubsection.9.1.3) 2219 0 R (subsubsection.9.2.1) 2283 0 R (subsubsection.9.2.2) 2284 0 R (subsubsection.9.3.1) 2302 0 R]
+/Limits [(subsubsection.9.1.1) (subsubsection.9.3.1)]
+>> endobj
+14287 0 obj <<
+/Kids [13611 0 R 13612 0 R 13613 0 R 13614 0 R 13615 0 R 13616 0 R]
+/Limits [(Doc-Start) (classParma__Polyhedra__Library_1_1BD__Shape_a25c5ef784f17646705c76a5be6c724a3)]
+>> endobj
+14288 0 obj <<
+/Kids [13617 0 R 13618 0 R 13619 0 R 13620 0 R 13621 0 R 13622 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a28b268e37d25a0cfa2b5bf39e85c758d) (classParma__Polyhedra__Library_1_1BD__Shape_a8c89ddcd2fc4311af0e358477630d7d9)]
+>> endobj
+14289 0 obj <<
+/Kids [13623 0 R 13624 0 R 13625 0 R 13626 0 R 13627 0 R 13628 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a8d6c186583503c4394603550b50edf59) (classParma__Polyhedra__Library_1_1BD__Shape_adf78023ac662762ffc808902b970597b)]
+>> endobj
+14290 0 obj <<
+/Kids [13629 0 R 13630 0 R 13631 0 R 13632 0 R 13633 0 R 13634 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_ae0a1b4b4a344cad01c58e8e006a7ff16) (classParma__Polyhedra__Library_1_1Box_a22f9ceb879f1c8d892f60fb3d9577d81)]
+>> endobj
+14291 0 obj <<
+/Kids [13635 0 R 13636 0 R 13637 0 R 13638 0 R 13639 0 R 13640 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Box_a286412c3f05e82abdf69c5e5562ff949) (classParma__Polyhedra__Library_1_1Box_a7ded037fa4c26b2e12565d3aa2c6b70b)]
+>> endobj
+14292 0 obj <<
+/Kids [13641 0 R 13642 0 R 13643 0 R 13644 0 R 13645 0 R 13646 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Box_a7e1a00f36570e89ee95817d898587743) (classParma__Polyhedra__Library_1_1Box_ac5eb33b72a86a33d7ae4685d376b50a6)]
+>> endobj
+14293 0 obj <<
+/Kids [13647 0 R 13648 0 R 13649 0 R 13650 0 R 13651 0 R 13652 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Box_ac72c231542712976d1f9223d0537f5d5) (classParma__Polyhedra__Library_1_1C__Polyhedron_a8a6c3f01edb04382620066f17b63b20c)]
+>> endobj
+14294 0 obj <<
+/Kids [13653 0 R 13654 0 R 13655 0 R 13656 0 R 13657 0 R 13658 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1C__Polyhedron_a9720487deabf813a31afd4e9cfe695aa) (classParma__Polyhedra__Library_1_1Checked__Number_a4bed59d493c4fd91537602efb267c938)]
+>> endobj
+14295 0 obj <<
+/Kids [13659 0 R 13660 0 R 13661 0 R 13662 0 R 13663 0 R 13664 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a4cca5e272cecc038189aac8b2fc8ace2) (classParma__Polyhedra__Library_1_1Checked__Number_aa355ae6b2a2a704e88060541fbaa6562)]
+>> endobj
+14296 0 obj <<
+/Kids [13665 0 R 13666 0 R 13667 0 R 13668 0 R 13669 0 R 13670 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_aa3de5a2fe7f06d0aa3e4972be2023933) (classParma__Polyhedra__Library_1_1Checked__Number_af0647cd431d30a9658d4bdc77e32d9e4)]
+>> endobj
+14297 0 obj <<
+/Kids [13671 0 R 13672 0 R 13673 0 R 13674 0 R 13675 0 R 13676 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_af1952cf5da3ecbadd8401b948e899a31) (classParma__Polyhedra__Library_1_1Congruence__System_a3fe60e1a76b2a92143004e52ccfcb7c7)]
+>> endobj
+14298 0 obj <<
+/Kids [13677 0 R 13678 0 R 13679 0 R 13680 0 R 13681 0 R 13682 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_a535895e2351f7618e9107a38d9285d73) (classParma__Polyhedra__Library_1_1Congruence_a43983a6ee447e480f8700915bccb4811)]
+>> endobj
+14299 0 obj <<
+/Kids [13683 0 R 13684 0 R 13685 0 R 13686 0 R 13687 0 R 13688 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence_a484373d269a31c21efae44a83f8be6f0) (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_a311a973ff993328d8cb3627f3af31129)]
+>> endobj
+14300 0 obj <<
+/Kids [13689 0 R 13690 0 R 13691 0 R 13692 0 R 13693 0 R 13694 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_a3e8a8932563dfdc292fde93931f0bf2e) (classParma__Polyhedra__Library_1_1Constraint__System_adfa7b03e2ac3a6666a7538431f1bdee9)]
+>> endobj
+14301 0 obj <<
+/Kids [13695 0 R 13696 0 R 13697 0 R 13698 0 R 13699 0 R 13700 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_aea9a4fb9807eb61cda3eedf8e5a7acae) (classParma__Polyhedra__Library_1_1Constraint_a9dc926136daee1f47975434ee45298ec)]
+>> endobj
+14302 0 obj <<
+/Kids [13701 0 R 13702 0 R 13703 0 R 13704 0 R 13705 0 R 13706 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_aaf207e746f4a3dc2722e254612dab3b3) (classParma__Polyhedra__Library_1_1Determinate_a46f440596ccf2c1f53a4d312af97cc0c)]
+>> endobj
+14303 0 obj <<
+/Kids [13707 0 R 13708 0 R 13709 0 R 13710 0 R 13711 0 R 13712 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Determinate_a589dd33f61bab61ce8dc566ae3955aa6) (classParma__Polyhedra__Library_1_1GMP__Integer_ab2dfd07539bfb516c7ca2d04460064fa)]
+>> endobj
+14304 0 obj <<
+/Kids [13713 0 R 13714 0 R 13715 0 R 13716 0 R 13717 0 R 13718 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1GMP__Integer_ab8dbbfce1fd68d57df6b05d5cc74c012) (classParma__Polyhedra__Library_1_1Generator__System_ab0063024b3761b3ff89c3f259ebac6fe)]
+>> endobj
+14305 0 obj <<
+/Kids [13719 0 R 13720 0 R 13721 0 R 13722 0 R 13723 0 R 13724 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Generator__System_ab174d3f8d008aca83801ae0de294528d) (classParma__Polyhedra__Library_1_1Generator_abc8ae851f2a0a6260d954b3bd8505249)]
+>> endobj
+14306 0 obj <<
+/Kids [13725 0 R 13726 0 R 13727 0 R 13728 0 R 13729 0 R 13730 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_ad593d3aa49a632911d8d49c83b3f4985) (classParma__Polyhedra__Library_1_1Grid__Generator__System_a023dc725ab60578fb2161f06211fa023)]
+>> endobj
+14307 0 obj <<
+/Kids [13731 0 R 13732 0 R 13733 0 R 13734 0 R 13735 0 R 13736 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_a102ffa79248502b4998a70fba5f13d98) (classParma__Polyhedra__Library_1_1Grid__Generator_a065895a1428f9dc6b3002818686eff0f)]
+>> endobj
+14308 0 obj <<
+/Kids [13737 0 R 13738 0 R 13739 0 R 13740 0 R 13741 0 R 13742 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_a081718c23b5785da17c63ffec13536cc) (classParma__Polyhedra__Library_1_1Grid__Generator_ae94a99f8e8d290b5791baa01fd540a14)]
+>> endobj
+14309 0 obj <<
+/Kids [13743 0 R 13744 0 R 13745 0 R 13746 0 R 13747 0 R 13748 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_aedf9116549ffcced7a39f4596e65e5d0) (classParma__Polyhedra__Library_1_1Grid_a470e6a581b91bc6d5a4a6388d1ddde99)]
+>> endobj
+14310 0 obj <<
+/Kids [13749 0 R 13750 0 R 13751 0 R 13752 0 R 13753 0 R 13754 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_a508103dc808fc747a90b573083a60461) (classParma__Polyhedra__Library_1_1Grid_a9bdab8408169307fbd899ec3670cb2bf)]
+>> endobj
+14311 0 obj <<
+/Kids [13755 0 R 13756 0 R 13757 0 R 13758 0 R 13759 0 R 13760 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_a9e17201a9a12235a9a96cc31cfffd38f) (classParma__Polyhedra__Library_1_1Grid_afc06f600e94b7bedb91d0371a51f4c38)]
+>> endobj
+14312 0 obj <<
+/Kids [13761 0 R 13762 0 R 13763 0 R 13764 0 R 13765 0 R 13766 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_afde364ce088f82cf2b9a231e7d9f2abc) (classParma__Polyhedra__Library_1_1Linear__Expression_a158df02c8c54fa5a9286836fb01563cd)]
+>> endobj
+14313 0 obj <<
+/Kids [13767 0 R 13768 0 R 13769 0 R 13770 0 R 13771 0 R 13772 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_a2666c570468f53609bf420024a12628d) (classParma__Polyhedra__Library_1_1Linear__Expression_abca5613972564c8ec5c832bc8ff200d6)]
+>> endobj
+14314 0 obj <<
+/Kids [13773 0 R 13774 0 R 13775 0 R 13776 0 R 13777 0 R 13778 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_ac1b93dcadc82e52690114301554801b0) (classParma__Polyhedra__Library_1_1MIP__Problem_a7f2b2dce631b12fb46f6f1fa719e6c84)]
+>> endobj
+14315 0 obj <<
+/Kids [13779 0 R 13780 0 R 13781 0 R 13782 0 R 13783 0 R 13784 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_a8a238e31c3b4acf8a023a6346bbf752f) (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a9dc9e3a464def0e2d929fab9cae6e360)]
+>> endobj
+14316 0 obj <<
+/Kids [13785 0 R 13786 0 R 13787 0 R 13788 0 R 13789 0 R 13790 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_ad5c6d64b009045df8248bcb8ffeea69e) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a2d266342acc104c59dc0046242ccdac8)]
+>> endobj
+14317 0 obj <<
+/Kids [13791 0 R 13792 0 R 13793 0 R 13794 0 R 13795 0 R 13796 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a2f13e4ffe7b47ec50721791877b41622) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a934cc1f45a6d438f5d468276140cd5a8)]
+>> endobj
+14318 0 obj <<
+/Kids [13797 0 R 13798 0 R 13799 0 R 13800 0 R 13801 0 R 13802 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a96bae54a01fe00bad4306bec61bb4687) (classParma__Polyhedra__Library_1_1Octagonal__Shape_af14ea5b6122685afd62a3df786512d77)]
+>> endobj
+14319 0 obj <<
+/Kids [13803 0 R 13804 0 R 13805 0 R 13806 0 R 13807 0 R 13808 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_af1921cd40fb0920e1173cf67418c63fe) (classParma__Polyhedra__Library_1_1PIP__Problem_a26a3ca0eb57793c00b0517a6856b8c10)]
+>> endobj
+14320 0 obj <<
+/Kids [13809 0 R 13810 0 R 13811 0 R 13812 0 R 13813 0 R 13814 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Problem_a2a7a0b9f3dc8cd6d55e839e20fa28f12) (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a082a2f74f2c88339b84f233dc45e3370)]
+>> endobj
+14321 0 obj <<
+/Kids [13815 0 R 13816 0 R 13817 0 R 13818 0 R 13819 0 R 13820 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Solution__Node_a2890d075ea848067ec261a99518ba12d) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a048588fb0ac55c4315b0ce6cb1ec274b)]
+>> endobj
+14322 0 obj <<
+/Kids [13821 0 R 13822 0 R 13823 0 R 13824 0 R 13825 0 R 13826 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_a1c4c199e8c2b7038c2cc7769d20d53c9) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product)]
+>> endobj
+14323 0 obj <<
+/Kids [13827 0 R 13828 0 R 13829 0 R 13830 0 R 13831 0 R 13832 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a0c2c96efcf10102068f754c608a12427) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4857c775f03d5b4ff084723eed2b5e31)]
+>> endobj
+14324 0 obj <<
+/Kids [13833 0 R 13834 0 R 13835 0 R 13836 0 R 13837 0 R 13838 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4a53183970490595ac39c8c070601c6f) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ab95eae83384d8c6b41b9ed8f9fd16704)]
+>> endobj
+14325 0 obj <<
+/Kids [13839 0 R 13840 0 R 13841 0 R 13842 0 R 13843 0 R 13844 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_abb5709426ac80aa0bcf907b4f1d4a577) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a12691e00b643410a6f401c55a2266adc)]
+>> endobj
+14326 0 obj <<
+/Kids [13845 0 R 13846 0 R 13847 0 R 13848 0 R 13849 0 R 13850 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a14552a788e6f0f23a513ba57c1ed9129) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a8b27f6597e651407b433a5098a47a76f)]
+>> endobj
+14327 0 obj <<
+/Kids [13851 0 R 13852 0 R 13853 0 R 13854 0 R 13855 0 R 13856 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a8d79ac97835780e6ca5e2022abf5ab0b) (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae21cdaa1460a54fb14ecb34f3ea30cb9)]
+>> endobj
+14328 0 obj <<
+/Kids [13857 0 R 13858 0 R 13859 0 R 13860 0 R 13861 0 R 13862 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_ae2abdfa9b2796151d2d8940d14129568) (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a419ea78710f4b45c1542647e1212a3f7)]
+>> endobj
+14329 0 obj <<
+/Kids [13863 0 R 13864 0 R 13865 0 R 13866 0 R 13867 0 R 13868 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a4f7df2a0b66616d7672e562fa8c4e8f6) (classParma__Polyhedra__Library_1_1Polyhedron_a4f9a47ba1b29f1e07a32542584d50686)]
+>> endobj
+14330 0 obj <<
+/Kids [13869 0 R 13870 0 R 13871 0 R 13872 0 R 13873 0 R 13874 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a50e1047c49fffb06bc5089a06a051a3d) (classParma__Polyhedra__Library_1_1Polyhedron_aa0ac997a15935821583174de968e5bff)]
+>> endobj
+14331 0 obj <<
+/Kids [13875 0 R 13876 0 R 13877 0 R 13878 0 R 13879 0 R 13880 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_aa26e1a5815b7a0c3b610395c854594bf) (classParma__Polyhedra__Library_1_1Polyhedron_ae89cd985111a1a27c60a6fcc28ae9788)]
+>> endobj
+14332 0 obj <<
+/Kids [13881 0 R 13882 0 R 13883 0 R 13884 0 R 13885 0 R 13886 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_aeb14f5522982b3874f2cd19586813421) (classParma__Polyhedra__Library_1_1Powerset_a754f66ed06474d4b68a93131af02a86f)]
+>> endobj
+14333 0 obj <<
+/Kids [13887 0 R 13888 0 R 13889 0 R 13890 0 R 13891 0 R 13892 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Powerset_a7607ef1c8ef6b668dd2be62c39330406) (classParma__Polyhedra__Library_1_1Variable)]
+>> endobj
+14334 0 obj <<
+/Kids [13893 0 R 13894 0 R 13895 0 R 13896 0 R 13897 0 R 13898 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Variable_a44e2225e59844067e005297572cd9ca5) (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd)]
+>> endobj
+14335 0 obj <<
+/Kids [13899 0 R 13900 0 R 13901 0 R 13902 0 R 13903 0 R 13904 0 R]
+/Limits [(group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) (group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a7869fdfe9b1ace668a0a7b1d2faba812)]
+>> endobj
+14336 0 obj <<
+/Kids [13905 0 R 13906 0 R 13907 0 R 13908 0 R 13909 0 R 13910 0 R]
+/Limits [(group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a7b85b6b4c644857c3809eeef6aa35dbb) (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2a78fc3e83d58f3eb97a8041b600870a05)]
+>> endobj
+14337 0 obj <<
+/Kids [13911 0 R 13912 0 R 13913 0 R 13914 0 R 13915 0 R 13916 0 R]
+/Limits [(group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2ab2bc77b49f9450faf5b5f8ca5374421d) (main_BHZ07b)]
+>> endobj
+14338 0 obj <<
+/Kids [13917 0 R 13918 0 R 13919 0 R 13920 0 R 13921 0 R 13922 0 R]
+/Limits [(main_BHZ07c) (main_Convex_Polyhedra)]
+>> endobj
+14339 0 obj <<
+/Kids [13923 0 R 13924 0 R 13925 0 R 13926 0 R 13927 0 R 13928 0 R]
+/Limits [(main_Convex_Polyhedral_Difference) (main_Grid_Wrapping_Operator)]
+>> endobj
+14340 0 obj <<
+/Kids [13929 0 R 13930 0 R 13931 0 R 13932 0 R 13933 0 R 13934 0 R]
+/Limits [(main_Grids_Double_Description_Grids) (main_NF01)]
+>> endobj
+14341 0 obj <<
+/Kids [13935 0 R 13936 0 R 13937 0 R 13938 0 R 13939 0 R 13940 0 R]
+/Limits [(main_NJPF99) (main_Space_Dimensions_and_Dimension_Compatibility)]
+>> endobj
+14342 0 obj <<
+/Kids [13941 0 R 13942 0 R 13943 0 R 13944 0 R 13945 0 R 13946 0 R]
+/Limits [(main_Sri93) (main_ps_collapse)]
+>> endobj
+14343 0 obj <<
+/Kids [13947 0 R 13948 0 R 13949 0 R 13950 0 R 13951 0 R 13952 0 R]
+/Limits [(main_ps_meet_upper_bound) (namespaceParma__Polyhedra__Library_a30a5addfb775d0e3586f1575ece47bf6)]
+>> endobj
+14344 0 obj <<
+/Kids [13953 0 R 13954 0 R 13955 0 R 13956 0 R 13957 0 R 13958 0 R]
+/Limits [(namespaceParma__Polyhedra__Library_a31f5a518ab35f859aafd220bc3e38dfd) (namespaceParma__Polyhedra__Library_ad6c6b997fe2c49a8098bba1b6a45a008)]
+>> endobj
+14345 0 obj <<
+/Kids [13959 0 R 13960 0 R 13961 0 R 13962 0 R 13963 0 R 13964 0 R]
+/Limits [(namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8) (page.11)]
+>> endobj
+14346 0 obj <<
+/Kids [13965 0 R 13966 0 R 13967 0 R 13968 0 R 13969 0 R 13970 0 R]
+/Limits [(page.110) (page.142)]
+>> endobj
+14347 0 obj <<
+/Kids [13971 0 R 13972 0 R 13973 0 R 13974 0 R 13975 0 R 13976 0 R]
+/Limits [(page.143) (page.175)]
+>> endobj
+14348 0 obj <<
+/Kids [13977 0 R 13978 0 R 13979 0 R 13980 0 R 13981 0 R 13982 0 R]
+/Limits [(page.176) (page.207)]
+>> endobj
+14349 0 obj <<
+/Kids [13983 0 R 13984 0 R 13985 0 R 13986 0 R 13987 0 R 13988 0 R]
+/Limits [(page.208) (page.24)]
+>> endobj
+14350 0 obj <<
+/Kids [13989 0 R 13990 0 R 13991 0 R 13992 0 R 13993 0 R 13994 0 R]
+/Limits [(page.240) (page.272)]
+>> endobj
+14351 0 obj <<
+/Kids [13995 0 R 13996 0 R 13997 0 R 13998 0 R 13999 0 R 14000 0 R]
+/Limits [(page.273) (page.304)]
+>> endobj
+14352 0 obj <<
+/Kids [14001 0 R 14002 0 R 14003 0 R 14004 0 R 14005 0 R 14006 0 R]
+/Limits [(page.305) (page.337)]
+>> endobj
+14353 0 obj <<
+/Kids [14007 0 R 14008 0 R 14009 0 R 14010 0 R 14011 0 R 14012 0 R]
+/Limits [(page.338) (page.37)]
+>> endobj
+14354 0 obj <<
+/Kids [14013 0 R 14014 0 R 14015 0 R 14016 0 R 14017 0 R 14018 0 R]
+/Limits [(page.370) (page.401)]
+>> endobj
+14355 0 obj <<
+/Kids [14019 0 R 14020 0 R 14021 0 R 14022 0 R 14023 0 R 14024 0 R]
+/Limits [(page.402) (page.434)]
+>> endobj
+14356 0 obj <<
+/Kids [14025 0 R 14026 0 R 14027 0 R 14028 0 R 14029 0 R 14030 0 R]
+/Limits [(page.435) (page.467)]
+>> endobj
+14357 0 obj <<
+/Kids [14031 0 R 14032 0 R 14033 0 R 14034 0 R 14035 0 R 14036 0 R]
+/Limits [(page.468) (page.5)]
+>> endobj
+14358 0 obj <<
+/Kids [14037 0 R 14038 0 R 14039 0 R 14040 0 R 14041 0 R 14042 0 R]
+/Limits [(page.50) (page.69)]
+>> endobj
+14359 0 obj <<
+/Kids [14043 0 R 14044 0 R 14045 0 R 14046 0 R 14047 0 R 14048 0 R]
+/Limits [(page.7) (page.iii)]
+>> endobj
+14360 0 obj <<
+/Kids [14049 0 R 14050 0 R 14051 0 R 14052 0 R 14053 0 R 14054 0 R]
+/Limits [(paragraph.1.1.2.1) (paragraph.10.18.4.1)]
+>> endobj
+14361 0 obj <<
+/Kids [14055 0 R 14056 0 R 14057 0 R 14058 0 R 14059 0 R 14060 0 R]
+/Limits [(paragraph.10.18.4.2) (paragraph.10.2.2.4)]
+>> endobj
+14362 0 obj <<
+/Kids [14061 0 R 14062 0 R 14063 0 R 14064 0 R 14065 0 R 14066 0 R]
+/Limits [(paragraph.10.2.2.5) (paragraph.10.2.3.37)]
+>> endobj
+14363 0 obj <<
+/Kids [14067 0 R 14068 0 R 14069 0 R 14070 0 R 14071 0 R 14072 0 R]
+/Limits [(paragraph.10.2.3.38) (paragraph.10.2.4.5)]
+>> endobj
+14364 0 obj <<
+/Kids [14073 0 R 14074 0 R 14075 0 R 14076 0 R 14077 0 R 14078 0 R]
+/Limits [(paragraph.10.2.4.6) (paragraph.10.25.2.11)]
+>> endobj
+14365 0 obj <<
+/Kids [14079 0 R 14080 0 R 14081 0 R 14082 0 R 14083 0 R 14084 0 R]
+/Limits [(paragraph.10.25.2.12) (paragraph.10.26.3.17)]
+>> endobj
+14366 0 obj <<
+/Kids [14085 0 R 14086 0 R 14087 0 R 14088 0 R 14089 0 R 14090 0 R]
+/Limits [(paragraph.10.26.3.18) (paragraph.10.26.3.5)]
+>> endobj
+14367 0 obj <<
+/Kids [14091 0 R 14092 0 R 14093 0 R 14094 0 R 14095 0 R 14096 0 R]
+/Limits [(paragraph.10.26.3.50) (paragraph.10.29.2.2)]
+>> endobj
+14368 0 obj <<
+/Kids [14097 0 R 14098 0 R 14099 0 R 14100 0 R 14101 0 R 14102 0 R]
+/Limits [(paragraph.10.29.2.3) (paragraph.10.35.3.25)]
+>> endobj
+14369 0 obj <<
+/Kids [14103 0 R 14104 0 R 14105 0 R 14106 0 R 14107 0 R 14108 0 R]
+/Limits [(paragraph.10.35.3.26) (paragraph.10.37.2.4)]
+>> endobj
+14370 0 obj <<
+/Kids [14109 0 R 14110 0 R 14111 0 R 14112 0 R 14113 0 R 14114 0 R]
+/Limits [(paragraph.10.37.2.5) (paragraph.10.4.3.22)]
+>> endobj
+14371 0 obj <<
+/Kids [14115 0 R 14116 0 R 14117 0 R 14118 0 R 14119 0 R 14120 0 R]
+/Limits [(paragraph.10.4.3.23) (paragraph.10.4.3.55)]
+>> endobj
+14372 0 obj <<
+/Kids [14121 0 R 14122 0 R 14123 0 R 14124 0 R 14125 0 R 14126 0 R]
+/Limits [(paragraph.10.4.3.56) (paragraph.10.40.3.15)]
+>> endobj
+14373 0 obj <<
+/Kids [14127 0 R 14128 0 R 14129 0 R 14130 0 R 14131 0 R 14132 0 R]
+/Limits [(paragraph.10.40.3.16) (paragraph.10.40.3.48)]
+>> endobj
+14374 0 obj <<
+/Kids [14133 0 R 14134 0 R 14135 0 R 14136 0 R 14137 0 R 14138 0 R]
+/Limits [(paragraph.10.40.3.49) (paragraph.10.41.2.6)]
+>> endobj
+14375 0 obj <<
+/Kids [14139 0 R 14140 0 R 14141 0 R 14142 0 R 14143 0 R 14144 0 R]
+/Limits [(paragraph.10.41.2.7) (paragraph.10.41.3.39)]
+>> endobj
+14376 0 obj <<
+/Kids [14145 0 R 14146 0 R 14147 0 R 14148 0 R 14149 0 R 14150 0 R]
+/Limits [(paragraph.10.41.3.4) (paragraph.10.44.2.1)]
+>> endobj
+14377 0 obj <<
+/Kids [14151 0 R 14152 0 R 14153 0 R 14154 0 R 14155 0 R 14156 0 R]
+/Limits [(paragraph.10.44.3.1) (paragraph.10.46.3.24)]
+>> endobj
+14378 0 obj <<
+/Kids [14157 0 R 14158 0 R 14159 0 R 14160 0 R 14161 0 R 14162 0 R]
+/Limits [(paragraph.10.46.3.25) (paragraph.10.46.4.2)]
+>> endobj
+14379 0 obj <<
+/Kids [14163 0 R 14164 0 R 14165 0 R 14166 0 R 14167 0 R 14168 0 R]
+/Limits [(paragraph.10.46.4.3) (paragraph.10.49.3.21)]
+>> endobj
+14380 0 obj <<
+/Kids [14169 0 R 14170 0 R 14171 0 R 14172 0 R 14173 0 R 14174 0 R]
+/Limits [(paragraph.10.49.3.22) (paragraph.10.49.3.54)]
+>> endobj
+14381 0 obj <<
+/Kids [14175 0 R 14176 0 R 14177 0 R 14178 0 R 14179 0 R 14180 0 R]
+/Limits [(paragraph.10.49.3.55) (paragraph.10.50.3.4)]
+>> endobj
+14382 0 obj <<
+/Kids [14181 0 R 14182 0 R 14183 0 R 14184 0 R 14185 0 R 14186 0 R]
+/Limits [(paragraph.10.50.3.5) (paragraph.10.6.3.28)]
+>> endobj
+14383 0 obj <<
+/Kids [14187 0 R 14188 0 R 14189 0 R 14190 0 R 14191 0 R 14192 0 R]
+/Limits [(paragraph.10.6.3.29) (paragraph.8.1.4.11)]
+>> endobj
+14384 0 obj <<
+/Kids [14193 0 R 14194 0 R 14195 0 R 14196 0 R 14197 0 R 14198 0 R]
+/Limits [(paragraph.8.1.4.2) (section*.107)]
+>> endobj
+14385 0 obj <<
+/Kids [14199 0 R 14200 0 R 14201 0 R 14202 0 R 14203 0 R 14204 0 R]
+/Limits [(section*.108) (section*.14)]
+>> endobj
+14386 0 obj <<
+/Kids [14205 0 R 14206 0 R 14207 0 R 14208 0 R 14209 0 R 14210 0 R]
+/Limits [(section*.140) (section*.172)]
+>> endobj
+14387 0 obj <<
+/Kids [14211 0 R 14212 0 R 14213 0 R 14214 0 R 14215 0 R 14216 0 R]
+/Limits [(section*.173) (section*.204)]
+>> endobj
+14388 0 obj <<
+/Kids [14217 0 R 14218 0 R 14219 0 R 14220 0 R 14221 0 R 14222 0 R]
+/Limits [(section*.205) (section*.50)]
+>> endobj
+14389 0 obj <<
+/Kids [14223 0 R 14224 0 R 14225 0 R 14226 0 R 14227 0 R 14228 0 R]
+/Limits [(section*.51) (section*.83)]
+>> endobj
+14390 0 obj <<
+/Kids [14229 0 R 14230 0 R 14231 0 R 14232 0 R 14233 0 R 14234 0 R]
+/Limits [(section*.84) (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked)]
+>> endobj
+14391 0 obj <<
+/Kids [14235 0 R 14236 0 R 14237 0 R 14238 0 R 14239 0 R 14240 0 R]
+/Limits [(structParma__Polyhedra__Library_1_1PIP__Solution__Node_1_1No__Constraints) (subsection.10.24)]
+>> endobj
+14392 0 obj <<
+/Kids [14241 0 R 14242 0 R 14243 0 R 14244 0 R 14245 0 R 14246 0 R]
+/Limits [(subsection.10.25) (subsection.10.6)]
+>> endobj
+14393 0 obj <<
+/Kids [14247 0 R 14248 0 R 14249 0 R 14250 0 R 14251 0 R 14252 0 R]
+/Limits [(subsection.10.7) (subsubsection.1.14.4)]
+>> endobj
+14394 0 obj <<
+/Kids [14253 0 R 14254 0 R 14255 0 R 14256 0 R 14257 0 R 14258 0 R]
+/Limits [(subsubsection.1.3.1) (subsubsection.1.7.1)]
+>> endobj
+14395 0 obj <<
+/Kids [14259 0 R 14260 0 R 14261 0 R 14262 0 R 14263 0 R 14264 0 R]
+/Limits [(subsubsection.1.8.1) (subsubsection.10.18.4)]
+>> endobj
+14396 0 obj <<
+/Kids [14265 0 R 14266 0 R 14267 0 R 14268 0 R 14269 0 R 14270 0 R]
+/Limits [(subsubsection.10.18.5) (subsubsection.10.3.1)]
+>> endobj
+14397 0 obj <<
+/Kids [14271 0 R 14272 0 R 14273 0 R 14274 0 R 14275 0 R 14276 0 R]
+/Limits [(subsubsection.10.3.2) (subsubsection.10.42.1)]
+>> endobj
+14398 0 obj <<
+/Kids [14277 0 R 14278 0 R 14279 0 R 14280 0 R 14281 0 R 14282 0 R]
+/Limits [(subsubsection.10.43.1) (subsubsection.10.54.1)]
+>> endobj
+14399 0 obj <<
+/Kids [14283 0 R 14284 0 R 14285 0 R 14286 0 R]
+/Limits [(subsubsection.10.55.1) (subsubsection.9.3.1)]
+>> endobj
+14400 0 obj <<
+/Kids [14287 0 R 14288 0 R 14289 0 R 14290 0 R 14291 0 R 14292 0 R]
+/Limits [(Doc-Start) (classParma__Polyhedra__Library_1_1Box_ac5eb33b72a86a33d7ae4685d376b50a6)]
+>> endobj
+14401 0 obj <<
+/Kids [14293 0 R 14294 0 R 14295 0 R 14296 0 R 14297 0 R 14298 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Box_ac72c231542712976d1f9223d0537f5d5) (classParma__Polyhedra__Library_1_1Congruence_a43983a6ee447e480f8700915bccb4811)]
+>> endobj
+14402 0 obj <<
+/Kids [14299 0 R 14300 0 R 14301 0 R 14302 0 R 14303 0 R 14304 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence_a484373d269a31c21efae44a83f8be6f0) (classParma__Polyhedra__Library_1_1Generator__System_ab0063024b3761b3ff89c3f259ebac6fe)]
+>> endobj
+14403 0 obj <<
+/Kids [14305 0 R 14306 0 R 14307 0 R 14308 0 R 14309 0 R 14310 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Generator__System_ab174d3f8d008aca83801ae0de294528d) (classParma__Polyhedra__Library_1_1Grid_a9bdab8408169307fbd899ec3670cb2bf)]
+>> endobj
+14404 0 obj <<
+/Kids [14311 0 R 14312 0 R 14313 0 R 14314 0 R 14315 0 R 14316 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_a9e17201a9a12235a9a96cc31cfffd38f) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a2d266342acc104c59dc0046242ccdac8)]
+>> endobj
+14405 0 obj <<
+/Kids [14317 0 R 14318 0 R 14319 0 R 14320 0 R 14321 0 R 14322 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a2f13e4ffe7b47ec50721791877b41622) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product)]
+>> endobj
+14406 0 obj <<
+/Kids [14323 0 R 14324 0 R 14325 0 R 14326 0 R 14327 0 R 14328 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a0c2c96efcf10102068f754c608a12427) (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a419ea78710f4b45c1542647e1212a3f7)]
+>> endobj
+14407 0 obj <<
+/Kids [14329 0 R 14330 0 R 14331 0 R 14332 0 R 14333 0 R 14334 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a4f7df2a0b66616d7672e562fa8c4e8f6) (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd)]
+>> endobj
+14408 0 obj <<
+/Kids [14335 0 R 14336 0 R 14337 0 R 14338 0 R 14339 0 R 14340 0 R]
+/Limits [(group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) (main_NF01)]
+>> endobj
+14409 0 obj <<
+/Kids [14341 0 R 14342 0 R 14343 0 R 14344 0 R 14345 0 R 14346 0 R]
+/Limits [(main_NJPF99) (page.142)]
+>> endobj
+14410 0 obj <<
+/Kids [14347 0 R 14348 0 R 14349 0 R 14350 0 R 14351 0 R 14352 0 R]
+/Limits [(page.143) (page.337)]
+>> endobj
+14411 0 obj <<
+/Kids [14353 0 R 14354 0 R 14355 0 R 14356 0 R 14357 0 R 14358 0 R]
+/Limits [(page.338) (page.69)]
+>> endobj
+14412 0 obj <<
+/Kids [14359 0 R 14360 0 R 14361 0 R 14362 0 R 14363 0 R 14364 0 R]
+/Limits [(page.7) (paragraph.10.25.2.11)]
+>> endobj
+14413 0 obj <<
+/Kids [14365 0 R 14366 0 R 14367 0 R 14368 0 R 14369 0 R 14370 0 R]
+/Limits [(paragraph.10.25.2.12) (paragraph.10.4.3.22)]
+>> endobj
+14414 0 obj <<
+/Kids [14371 0 R 14372 0 R 14373 0 R 14374 0 R 14375 0 R 14376 0 R]
+/Limits [(paragraph.10.4.3.23) (paragraph.10.44.2.1)]
+>> endobj
+14415 0 obj <<
+/Kids [14377 0 R 14378 0 R 14379 0 R 14380 0 R 14381 0 R 14382 0 R]
+/Limits [(paragraph.10.44.3.1) (paragraph.10.6.3.28)]
+>> endobj
+14416 0 obj <<
+/Kids [14383 0 R 14384 0 R 14385 0 R 14386 0 R 14387 0 R 14388 0 R]
+/Limits [(paragraph.10.6.3.29) (section*.50)]
+>> endobj
+14417 0 obj <<
+/Kids [14389 0 R 14390 0 R 14391 0 R 14392 0 R 14393 0 R 14394 0 R]
+/Limits [(section*.51) (subsubsection.1.7.1)]
+>> endobj
+14418 0 obj <<
+/Kids [14395 0 R 14396 0 R 14397 0 R 14398 0 R 14399 0 R]
+/Limits [(subsubsection.1.8.1) (subsubsection.9.3.1)]
+>> endobj
+14419 0 obj <<
+/Kids [14400 0 R 14401 0 R 14402 0 R 14403 0 R 14404 0 R 14405 0 R]
+/Limits [(Doc-Start) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product)]
+>> endobj
+14420 0 obj <<
+/Kids [14406 0 R 14407 0 R 14408 0 R 14409 0 R 14410 0 R 14411 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a0c2c96efcf10102068f754c608a12427) (page.69)]
+>> endobj
+14421 0 obj <<
+/Kids [14412 0 R 14413 0 R 14414 0 R 14415 0 R 14416 0 R 14417 0 R]
+/Limits [(page.7) (subsubsection.1.7.1)]
+>> endobj
+14422 0 obj <<
+/Kids [14418 0 R]
+/Limits [(subsubsection.1.8.1) (subsubsection.9.3.1)]
+>> endobj
+14423 0 obj <<
+/Kids [14419 0 R 14420 0 R 14421 0 R 14422 0 R]
+/Limits [(Doc-Start) (subsubsection.9.3.1)]
+>> endobj
+14424 0 obj <<
+/Dests 14423 0 R
+>> endobj
+14425 0 obj <<
+/Type /Catalog
+/Pages 13609 0 R
+/Outlines 13610 0 R
+/Names 14424 0 R
+/PageMode/UseOutlines/PageLabels << /Nums [0 << /S /D >> 1 << /S /r >> 4 << /S /D >> ] >>
+/OpenAction 361 0 R
+>> endobj
+14426 0 obj <<
+/Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.3)/Keywords()
+/CreationDate (D:20100802222447+02'00')
+/ModDate (D:20100802222447+02'00')
+/Trapped /False
+/PTEX.Fullbanner (This is pdfTeX using libpoppler, Version 3.141592-1.40.3-2.2 (Web2C 7.5.6) kpathsea version 3.5.6)
+>> endobj
+xref
+0 14427
+0000000001 65535 f 
+0000000002 00000 f 
+0000000003 00000 f 
+0000000004 00000 f 
+0000000000 00000 f 
+0000000015 00000 n 
+0000057948 00000 n 
+0003241689 00000 n 
+0000000060 00000 n 
+0000000248 00000 n 
+0000058115 00000 n 
+0003241617 00000 n 
+0000000298 00000 n 
+0000000416 00000 n 
+0000076462 00000 n 
+0003241531 00000 n 
+0000000467 00000 n 
+0000000597 00000 n 
+0000076579 00000 n 
+0003241445 00000 n 
+0000000648 00000 n 
+0000000788 00000 n 
+0000087161 00000 n 
+0003241359 00000 n 
+0000000839 00000 n 
+0000000949 00000 n 
+0000092223 00000 n 
+0003241273 00000 n 
+0000001000 00000 n 
+0000001211 00000 n 
+0000106289 00000 n 
+0003241187 00000 n 
+0000001262 00000 n 
+0000001448 00000 n 
+0000143161 00000 n 
+0003241101 00000 n 
+0000001499 00000 n 
+0000001627 00000 n 
+0000148226 00000 n 
+0003241015 00000 n 
+0000001678 00000 n 
+0000001828 00000 n 
+0000153313 00000 n 
+0003240929 00000 n 
+0000001879 00000 n 
+0000001979 00000 n 
+0000169665 00000 n 
+0003240843 00000 n 
+0000002031 00000 n 
+0000002207 00000 n 
+0000185358 00000 n 
+0003240757 00000 n 
+0000002259 00000 n 
+0000002417 00000 n 
+0000185642 00000 n 
+0003240671 00000 n 
+0000002469 00000 n 
+0000002703 00000 n 
+0000191134 00000 n 
+0003240585 00000 n 
+0000002755 00000 n 
+0000002931 00000 n 
+0000201451 00000 n 
+0003240499 00000 n 
+0000002983 00000 n 
+0000003101 00000 n 
+0000206053 00000 n 
+0003240426 00000 n 
+0000003153 00000 n 
+0000003240 00000 n 
+0000251370 00000 n 
+0003240337 00000 n 
+0000003286 00000 n 
+0000003452 00000 n 
+0000285631 00000 n 
+0003240247 00000 n 
+0000003498 00000 n 
+0000003684 00000 n 
+0000304859 00000 n 
+0003240120 00000 n 
+0000003730 00000 n 
+0000003820 00000 n 
+0000304916 00000 n 
+0003240059 00000 n 
+0000003871 00000 n 
+0000003933 00000 n 
+0000310798 00000 n 
+0003239932 00000 n 
+0000003979 00000 n 
+0000004084 00000 n 
+0000310855 00000 n 
+0003239871 00000 n 
+0000004135 00000 n 
+0000004235 00000 n 
+0000310912 00000 n 
+0003239743 00000 n 
+0000004281 00000 n 
+0000004366 00000 n 
+0000310969 00000 n 
+0003239681 00000 n 
+0000004417 00000 n 
+0000004523 00000 n 
+0000325325 00000 n 
+0003239548 00000 n 
+0000004570 00000 n 
+0000004656 00000 n 
+0000325383 00000 n 
+0003239483 00000 n 
+0000004708 00000 n 
+0000004789 00000 n 
+0000352493 00000 n 
+0003239349 00000 n 
+0000004836 00000 n 
+0000004967 00000 n 
+0000352610 00000 n 
+0003239284 00000 n 
+0000005019 00000 n 
+0000005163 00000 n 
+0000412312 00000 n 
+0003239150 00000 n 
+0000005210 00000 n 
+0000005356 00000 n 
+0000412429 00000 n 
+0003239071 00000 n 
+0000005408 00000 n 
+0000005663 00000 n 
+0000521335 00000 n 
+0003238978 00000 n 
+0000005715 00000 n 
+0000006043 00000 n 
+0000526036 00000 n 
+0003238899 00000 n 
+0000006095 00000 n 
+0000006244 00000 n 
+0000526153 00000 n 
+0003238778 00000 n 
+0000006292 00000 n 
+0000006418 00000 n 
+0000526270 00000 n 
+0003238699 00000 n 
+0000006471 00000 n 
+0000006900 00000 n 
+0000536759 00000 n 
+0003238606 00000 n 
+0000006953 00000 n 
+0000007320 00000 n 
+0000715713 00000 n 
+0003238513 00000 n 
+0000007373 00000 n 
+0000007711 00000 n 
+0000721074 00000 n 
+0003238420 00000 n 
+0000007764 00000 n 
+0000008113 00000 n 
+0000897985 00000 n 
+0003238327 00000 n 
+0000008166 00000 n 
+0000008474 00000 n 
+0000923031 00000 n 
+0003238234 00000 n 
+0000008527 00000 n 
+0000008967 00000 n 
+0001027349 00000 n 
+0003238141 00000 n 
+0000009020 00000 n 
+0000009355 00000 n 
+0001027641 00000 n 
+0003238048 00000 n 
+0000009408 00000 n 
+0000009796 00000 n 
+0001031808 00000 n 
+0003237955 00000 n 
+0000009849 00000 n 
+0000010222 00000 n 
+0001032100 00000 n 
+0003237862 00000 n 
+0000010276 00000 n 
+0000010654 00000 n 
+0001038805 00000 n 
+0003237769 00000 n 
+0000010708 00000 n 
+0000011003 00000 n 
+0001073419 00000 n 
+0003237676 00000 n 
+0000011057 00000 n 
+0000011390 00000 n 
+0001104128 00000 n 
+0003237583 00000 n 
+0000011444 00000 n 
+0000011904 00000 n 
+0001113462 00000 n 
+0003237490 00000 n 
+0000011958 00000 n 
+0000012374 00000 n 
+0001119288 00000 n 
+0003237397 00000 n 
+0000012428 00000 n 
+0000012839 00000 n 
+0001124819 00000 n 
+0003237304 00000 n 
+0000012893 00000 n 
+0000013309 00000 n 
+0001130666 00000 n 
+0003237211 00000 n 
+0000013363 00000 n 
+0000013802 00000 n 
+0001136708 00000 n 
+0003237118 00000 n 
+0000013856 00000 n 
+0000014151 00000 n 
+0001192109 00000 n 
+0003237025 00000 n 
+0000014205 00000 n 
+0000014538 00000 n 
+0001216249 00000 n 
+0003236932 00000 n 
+0000014592 00000 n 
+0000015052 00000 n 
+0001221794 00000 n 
+0003236839 00000 n 
+0000015106 00000 n 
+0000015500 00000 n 
+0001240455 00000 n 
+0003236746 00000 n 
+0000015554 00000 n 
+0000015979 00000 n 
+0001240689 00000 n 
+0003236653 00000 n 
+0000016033 00000 n 
+0000016323 00000 n 
+0001303007 00000 n 
+0003236560 00000 n 
+0000016377 00000 n 
+0000016705 00000 n 
+0001326054 00000 n 
+0003236467 00000 n 
+0000016759 00000 n 
+0000017062 00000 n 
+0001350268 00000 n 
+0003236374 00000 n 
+0000017116 00000 n 
+0000017381 00000 n 
+0001520213 00000 n 
+0003236281 00000 n 
+0000017435 00000 n 
+0000017763 00000 n 
+0001527758 00000 n 
+0003236188 00000 n 
+0000017817 00000 n 
+0000018135 00000 n 
+0001565625 00000 n 
+0003236095 00000 n 
+0000018189 00000 n 
+0000018545 00000 n 
+0001602073 00000 n 
+0003236002 00000 n 
+0000018599 00000 n 
+0000018922 00000 n 
+0001607414 00000 n 
+0003235909 00000 n 
+0000018976 00000 n 
+0000019408 00000 n 
+0001625923 00000 n 
+0003235816 00000 n 
+0000019462 00000 n 
+0000019844 00000 n 
+0001626156 00000 n 
+0003235723 00000 n 
+0000019898 00000 n 
+0000020397 00000 n 
+0001631999 00000 n 
+0003235630 00000 n 
+0000020451 00000 n 
+0000020889 00000 n 
+0001632234 00000 n 
+0003235537 00000 n 
+0000020943 00000 n 
+0000021276 00000 n 
+0001687701 00000 n 
+0003235444 00000 n 
+0000021330 00000 n 
+0000021633 00000 n 
+0001734839 00000 n 
+0003235351 00000 n 
+0000021687 00000 n 
+0000022005 00000 n 
+0001761528 00000 n 
+0003235258 00000 n 
+0000022059 00000 n 
+0000022483 00000 n 
+0001761704 00000 n 
+0003235165 00000 n 
+0000022537 00000 n 
+0000022952 00000 n 
+0001766239 00000 n 
+0003235072 00000 n 
+0000023006 00000 n 
+0000023408 00000 n 
+0001936341 00000 n 
+0003234979 00000 n 
+0000023462 00000 n 
+0000023963 00000 n 
+0002086125 00000 n 
+0003234886 00000 n 
+0000024017 00000 n 
+0000024353 00000 n 
+0002105791 00000 n 
+0003234793 00000 n 
+0000024407 00000 n 
+0000024710 00000 n 
+0002162090 00000 n 
+0003234700 00000 n 
+0000024764 00000 n 
+0000025100 00000 n 
+0002183005 00000 n 
+0003234607 00000 n 
+0000025154 00000 n 
+0000025470 00000 n 
+0002225773 00000 n 
+0003234514 00000 n 
+0000025524 00000 n 
+0000025951 00000 n 
+0002369742 00000 n 
+0003234421 00000 n 
+0000026005 00000 n 
+0000026341 00000 n 
+0002381388 00000 n 
+0003234328 00000 n 
+0000026395 00000 n 
+0000026731 00000 n 
+0002394481 00000 n 
+0003234235 00000 n 
+0000026785 00000 n 
+0000027080 00000 n 
+0002559942 00000 n 
+0003234142 00000 n 
+0000027134 00000 n 
+0000027498 00000 n 
+0002601515 00000 n 
+0003234049 00000 n 
+0000027552 00000 n 
+0000027870 00000 n 
+0002605200 00000 n 
+0003233956 00000 n 
+0000027924 00000 n 
+0000028412 00000 n 
+0002609228 00000 n 
+0003233863 00000 n 
+0000028466 00000 n 
+0000028896 00000 n 
+0002612438 00000 n 
+0003233770 00000 n 
+0000028950 00000 n 
+0000029240 00000 n 
+0002612801 00000 n 
+0003233677 00000 n 
+0000029294 00000 n 
+0000029579 00000 n 
+0002631834 00000 n 
+0003233598 00000 n 
+0000029633 00000 n 
+0000029946 00000 n 
+0000031343 00000 n 
+0000031576 00000 n 
+0000029998 00000 n 
+0000031462 00000 n 
+0000031519 00000 n 
+0003219792 00000 n 
+0003216792 00000 n 
+0003217375 00000 n 
+0003217084 00000 n 
+0003220154 00000 n 
+0000033981 00000 n 
+0000034147 00000 n 
+0000034299 00000 n 
+0000034465 00000 n 
+0000034763 00000 n 
+0000034938 00000 n 
+0000035089 00000 n 
+0000035246 00000 n 
+0000035403 00000 n 
+0000035560 00000 n 
+0000035716 00000 n 
+0000035872 00000 n 
+0000036028 00000 n 
+0000036185 00000 n 
+0000036342 00000 n 
+0000036498 00000 n 
+0000036656 00000 n 
+0000036814 00000 n 
+0000036972 00000 n 
+0000037128 00000 n 
+0000037286 00000 n 
+0000037443 00000 n 
+0000037594 00000 n 
+0000037743 00000 n 
+0000040089 00000 n 
+0000037893 00000 n 
+0000038180 00000 n 
+0000033642 00000 n 
+0000031687 00000 n 
+0000038066 00000 n 
+0003219429 00000 n 
+0000034615 00000 n 
+0003219070 00000 n 
+0000038123 00000 n 
+0000285747 00000 n 
+0000251486 00000 n 
+0000040245 00000 n 
+0000040395 00000 n 
+0000040552 00000 n 
+0000040703 00000 n 
+0000040859 00000 n 
+0000041009 00000 n 
+0000041166 00000 n 
+0000041317 00000 n 
+0000041474 00000 n 
+0000041625 00000 n 
+0000041782 00000 n 
+0000041939 00000 n 
+0000042096 00000 n 
+0000042247 00000 n 
+0000042405 00000 n 
+0000042562 00000 n 
+0000042719 00000 n 
+0000042877 00000 n 
+0000043035 00000 n 
+0000043193 00000 n 
+0000043351 00000 n 
+0000043509 00000 n 
+0000043665 00000 n 
+0000043823 00000 n 
+0000043982 00000 n 
+0000044141 00000 n 
+0000044300 00000 n 
+0000044459 00000 n 
+0000044618 00000 n 
+0000044776 00000 n 
+0000044935 00000 n 
+0000045094 00000 n 
+0000047723 00000 n 
+0000045252 00000 n 
+0000045482 00000 n 
+0000039686 00000 n 
+0000038278 00000 n 
+0000045425 00000 n 
+0003214729 00000 n 
+0000047882 00000 n 
+0000048041 00000 n 
+0000048200 00000 n 
+0000048359 00000 n 
+0000048518 00000 n 
+0000048676 00000 n 
+0000048834 00000 n 
+0000048993 00000 n 
+0000049152 00000 n 
+0000049311 00000 n 
+0000049470 00000 n 
+0000049629 00000 n 
+0000049787 00000 n 
+0000050104 00000 n 
+0000050262 00000 n 
+0000050421 00000 n 
+0000050580 00000 n 
+0000050739 00000 n 
+0000050898 00000 n 
+0000051057 00000 n 
+0000051215 00000 n 
+0000051532 00000 n 
+0000051690 00000 n 
+0000051849 00000 n 
+0000052008 00000 n 
+0000052167 00000 n 
+0000052326 00000 n 
+0000052485 00000 n 
+0000052643 00000 n 
+0000052802 00000 n 
+0000052961 00000 n 
+0000053119 00000 n 
+0000053436 00000 n 
+0000056790 00000 n 
+0000053595 00000 n 
+0000053825 00000 n 
+0000047288 00000 n 
+0000045593 00000 n 
+0000053768 00000 n 
+0000049946 00000 n 
+0000051374 00000 n 
+0000053278 00000 n 
+0000056949 00000 n 
+0000057107 00000 n 
+0000057266 00000 n 
+0000057426 00000 n 
+0000057587 00000 n 
+0000061054 00000 n 
+0000061244 00000 n 
+0000061428 00000 n 
+0000057775 00000 n 
+0000058289 00000 n 
+0000056603 00000 n 
+0000053936 00000 n 
+0000058003 00000 n 
+0000058059 00000 n 
+0000058170 00000 n 
+0000058232 00000 n 
+0003219971 00000 n 
+0003218415 00000 n 
+0003215321 00000 n 
+0000087099 00000 n 
+0000201390 00000 n 
+0000897927 00000 n 
+0000061620 00000 n 
+0000061798 00000 n 
+0000061978 00000 n 
+0000062162 00000 n 
+0000062356 00000 n 
+0000062559 00000 n 
+0000063087 00000 n 
+0000060851 00000 n 
+0000058452 00000 n 
+0000062732 00000 n 
+0000062789 00000 n 
+0000062850 00000 n 
+0000062907 00000 n 
+0000062969 00000 n 
+0000063026 00000 n 
+0001734781 00000 n 
+0000536701 00000 n 
+0001766181 00000 n 
+0000721016 00000 n 
+0001350210 00000 n 
+0001607357 00000 n 
+0002225715 00000 n 
+0001936283 00000 n 
+0000065831 00000 n 
+0000066118 00000 n 
+0000065692 00000 n 
+0000063211 00000 n 
+0000066004 00000 n 
+0000066061 00000 n 
+0003216061 00000 n 
+0003216499 00000 n 
+0003220273 00000 n 
+0000068829 00000 n 
+0000069405 00000 n 
+0000068690 00000 n 
+0000066279 00000 n 
+0000069002 00000 n 
+0000069059 00000 n 
+0000069116 00000 n 
+0000069173 00000 n 
+0000069234 00000 n 
+0000069291 00000 n 
+0000069348 00000 n 
+0000072338 00000 n 
+0000072739 00000 n 
+0000072199 00000 n 
+0000069516 00000 n 
+0000072511 00000 n 
+0000072568 00000 n 
+0000072625 00000 n 
+0000072682 00000 n 
+0000076175 00000 n 
+0000076873 00000 n 
+0000076036 00000 n 
+0000072863 00000 n 
+0000076348 00000 n 
+0000076405 00000 n 
+0000076518 00000 n 
+0000076635 00000 n 
+0000076697 00000 n 
+0000076754 00000 n 
+0000076816 00000 n 
+0000081274 00000 n 
+0000086085 00000 n 
+0000081425 00000 n 
+0000081769 00000 n 
+0000081127 00000 n 
+0000077035 00000 n 
+0000081598 00000 n 
+0003214582 00000 n 
+0003217230 00000 n 
+0000081655 00000 n 
+0000081712 00000 n 
+0000246533 00000 n 
+0000086260 00000 n 
+0000086414 00000 n 
+0000086566 00000 n 
+0000086717 00000 n 
+0000086869 00000 n 
+0000087570 00000 n 
+0000085906 00000 n 
+0000081981 00000 n 
+0000087042 00000 n 
+0000087217 00000 n 
+0000087279 00000 n 
+0003216207 00000 n 
+0003215763 00000 n 
+0003214435 00000 n 
+0000087335 00000 n 
+0000087397 00000 n 
+0000087453 00000 n 
+0000087514 00000 n 
+0000225128 00000 n 
+0000230178 00000 n 
+0000245945 00000 n 
+0000251313 00000 n 
+0000091629 00000 n 
+0000091817 00000 n 
+0000092517 00000 n 
+0000091482 00000 n 
+0000087820 00000 n 
+0000091990 00000 n 
+0000092047 00000 n 
+0000092104 00000 n 
+0000092161 00000 n 
+0000092279 00000 n 
+0000092341 00000 n 
+0003215025 00000 n 
+0000092398 00000 n 
+0000092460 00000 n 
+0003220392 00000 n 
+0000101841 00000 n 
+0000097139 00000 n 
+0000097669 00000 n 
+0000097000 00000 n 
+0000092753 00000 n 
+0000097312 00000 n 
+0000097369 00000 n 
+0000097431 00000 n 
+0000097488 00000 n 
+0000097550 00000 n 
+0000097607 00000 n 
+0000101435 00000 n 
+0000102078 00000 n 
+0000101296 00000 n 
+0000097906 00000 n 
+0000101608 00000 n 
+0000101665 00000 n 
+0000101722 00000 n 
+0000101784 00000 n 
+0000101903 00000 n 
+0000101960 00000 n 
+0000102021 00000 n 
+0000105765 00000 n 
+0000106406 00000 n 
+0000105626 00000 n 
+0000102266 00000 n 
+0000105938 00000 n 
+0000105995 00000 n 
+0000106057 00000 n 
+0000106114 00000 n 
+0000106171 00000 n 
+0000106228 00000 n 
+0000106345 00000 n 
+0000110483 00000 n 
+0000111182 00000 n 
+0000110344 00000 n 
+0000106631 00000 n 
+0000110656 00000 n 
+0000110713 00000 n 
+0000110770 00000 n 
+0000110832 00000 n 
+0000110889 00000 n 
+0000110951 00000 n 
+0000111007 00000 n 
+0000111069 00000 n 
+0000111126 00000 n 
+0000115283 00000 n 
+0000115440 00000 n 
+0000116181 00000 n 
+0000115136 00000 n 
+0000111394 00000 n 
+0000115613 00000 n 
+0000115670 00000 n 
+0000115727 00000 n 
+0000115784 00000 n 
+0003218268 00000 n 
+0003216939 00000 n 
+0000115841 00000 n 
+0000115898 00000 n 
+0000115955 00000 n 
+0000116012 00000 n 
+0000116068 00000 n 
+0000116124 00000 n 
+0000230236 00000 n 
+0000120442 00000 n 
+0000120599 00000 n 
+0000121000 00000 n 
+0000120295 00000 n 
+0000116431 00000 n 
+0000120772 00000 n 
+0000120829 00000 n 
+0000120886 00000 n 
+0000120943 00000 n 
+0003220511 00000 n 
+0000126178 00000 n 
+0000126589 00000 n 
+0000126039 00000 n 
+0000121250 00000 n 
+0000126351 00000 n 
+0000126408 00000 n 
+0000126470 00000 n 
+0000126527 00000 n 
+0000130786 00000 n 
+0000130939 00000 n 
+0000131092 00000 n 
+0000131845 00000 n 
+0000130631 00000 n 
+0000126814 00000 n 
+0000131265 00000 n 
+0000131322 00000 n 
+0000131379 00000 n 
+0000131436 00000 n 
+0000131493 00000 n 
+0000131553 00000 n 
+0000131610 00000 n 
+0000131670 00000 n 
+0000131727 00000 n 
+0000131789 00000 n 
+0000235522 00000 n 
+0000235639 00000 n 
+0000135964 00000 n 
+0000136337 00000 n 
+0000136490 00000 n 
+0000136643 00000 n 
+0000136797 00000 n 
+0000137435 00000 n 
+0000135785 00000 n 
+0000132094 00000 n 
+0000136970 00000 n 
+0000136151 00000 n 
+0000137027 00000 n 
+0000137084 00000 n 
+0000137141 00000 n 
+0000137198 00000 n 
+0000137260 00000 n 
+0000137317 00000 n 
+0000137379 00000 n 
+0000191190 00000 n 
+0000235169 00000 n 
+0000212025 00000 n 
+0000141728 00000 n 
+0000141882 00000 n 
+0000142035 00000 n 
+0000142187 00000 n 
+0000142357 00000 n 
+0000142523 00000 n 
+0000143274 00000 n 
+0000141549 00000 n 
+0000137635 00000 n 
+0000142696 00000 n 
+0000142753 00000 n 
+0000142810 00000 n 
+0000142866 00000 n 
+0000142928 00000 n 
+0000142985 00000 n 
+0000143042 00000 n 
+0000143099 00000 n 
+0000143217 00000 n 
+0000147994 00000 n 
+0000147455 00000 n 
+0000147607 00000 n 
+0000147764 00000 n 
+0000148519 00000 n 
+0000147300 00000 n 
+0000143462 00000 n 
+0000147937 00000 n 
+0000148051 00000 n 
+0000148108 00000 n 
+0000148165 00000 n 
+0000148282 00000 n 
+0000148344 00000 n 
+0000148401 00000 n 
+0000148462 00000 n 
+0000225245 00000 n 
+0000211458 00000 n 
+0000152054 00000 n 
+0000152206 00000 n 
+0000152361 00000 n 
+0000152513 00000 n 
+0000152670 00000 n 
+0000153431 00000 n 
+0000151883 00000 n 
+0000148719 00000 n 
+0000152843 00000 n 
+0000152900 00000 n 
+0000152962 00000 n 
+0000153019 00000 n 
+0000153081 00000 n 
+0000153138 00000 n 
+0000153195 00000 n 
+0000153251 00000 n 
+0000153369 00000 n 
+0003220630 00000 n 
+0000229708 00000 n 
+0000211911 00000 n 
+0000211515 00000 n 
+0000157828 00000 n 
+0000158528 00000 n 
+0000157689 00000 n 
+0000153606 00000 n 
+0000158001 00000 n 
+0000158058 00000 n 
+0000158115 00000 n 
+0000158177 00000 n 
+0000158234 00000 n 
+0000158296 00000 n 
+0000158353 00000 n 
+0000158415 00000 n 
+0000158472 00000 n 
+0000162486 00000 n 
+0000162638 00000 n 
+0000168904 00000 n 
+0000162795 00000 n 
+0000163618 00000 n 
+0000162331 00000 n 
+0000158753 00000 n 
+0000162968 00000 n 
+0000163025 00000 n 
+0003215912 00000 n 
+0000163082 00000 n 
+0000163144 00000 n 
+0000163201 00000 n 
+0000163263 00000 n 
+0000163320 00000 n 
+0000163382 00000 n 
+0000163439 00000 n 
+0000163500 00000 n 
+0000163557 00000 n 
+0000246416 00000 n 
+0000169081 00000 n 
+0000169259 00000 n 
+0000169435 00000 n 
+0000170078 00000 n 
+0000168741 00000 n 
+0000163832 00000 n 
+0000169608 00000 n 
+0000169721 00000 n 
+0000169783 00000 n 
+0000169840 00000 n 
+0000169902 00000 n 
+0000169959 00000 n 
+0000170021 00000 n 
+0000178855 00000 n 
+0000173963 00000 n 
+0000174488 00000 n 
+0000173824 00000 n 
+0000170315 00000 n 
+0000174136 00000 n 
+0000174193 00000 n 
+0000174255 00000 n 
+0000174312 00000 n 
+0000174369 00000 n 
+0000174426 00000 n 
+0000179020 00000 n 
+0000179177 00000 n 
+0000184444 00000 n 
+0000179343 00000 n 
+0000179977 00000 n 
+0000178692 00000 n 
+0000174700 00000 n 
+0000179516 00000 n 
+0000179573 00000 n 
+0000179630 00000 n 
+0000179687 00000 n 
+0000179744 00000 n 
+0000179801 00000 n 
+0000179858 00000 n 
+0000179920 00000 n 
+0000184597 00000 n 
+0000184750 00000 n 
+0000184902 00000 n 
+0000185067 00000 n 
+0000185810 00000 n 
+0000184273 00000 n 
+0000180177 00000 n 
+0000185240 00000 n 
+0000185297 00000 n 
+0000185414 00000 n 
+0000185471 00000 n 
+0000185528 00000 n 
+0000185585 00000 n 
+0000185698 00000 n 
+0000185754 00000 n 
+0003220749 00000 n 
+0000206280 00000 n 
+0000218052 00000 n 
+0000191072 00000 n 
+0000189234 00000 n 
+0000189545 00000 n 
+0000189723 00000 n 
+0000190044 00000 n 
+0000190443 00000 n 
+0000191423 00000 n 
+0000189039 00000 n 
+0000186034 00000 n 
+0000190616 00000 n 
+0000190673 00000 n 
+0000190730 00000 n 
+0000190787 00000 n 
+0000190844 00000 n 
+0000190901 00000 n 
+0000190958 00000 n 
+0000191015 00000 n 
+0000189390 00000 n 
+0000189884 00000 n 
+0000190244 00000 n 
+0000191252 00000 n 
+0000191309 00000 n 
+0000191366 00000 n 
+0000195394 00000 n 
+0000195546 00000 n 
+0000195699 00000 n 
+0000195853 00000 n 
+0000196023 00000 n 
+0000196189 00000 n 
+0000196340 00000 n 
+0000196493 00000 n 
+0000196688 00000 n 
+0000196881 00000 n 
+0000197678 00000 n 
+0000195183 00000 n 
+0000191646 00000 n 
+0000197054 00000 n 
+0000197111 00000 n 
+0000197168 00000 n 
+0000197225 00000 n 
+0000197282 00000 n 
+0000197339 00000 n 
+0000197396 00000 n 
+0000197453 00000 n 
+0000197510 00000 n 
+0000197566 00000 n 
+0000197622 00000 n 
+0000211797 00000 n 
+0000217995 00000 n 
+0000715655 00000 n 
+0001602015 00000 n 
+0000201160 00000 n 
+0000201848 00000 n 
+0000201021 00000 n 
+0000197839 00000 n 
+0000201333 00000 n 
+0000201506 00000 n 
+0000201563 00000 n 
+0000201620 00000 n 
+0000201677 00000 n 
+0000201734 00000 n 
+0000201791 00000 n 
+0000205644 00000 n 
+0000206337 00000 n 
+0000205505 00000 n 
+0000201972 00000 n 
+0000205817 00000 n 
+0000205874 00000 n 
+0000205934 00000 n 
+0000205991 00000 n 
+0000206109 00000 n 
+0000206166 00000 n 
+0000206223 00000 n 
+0000210127 00000 n 
+0000210328 00000 n 
+0000210524 00000 n 
+0000210689 00000 n 
+0000210864 00000 n 
+0000211046 00000 n 
+0000215876 00000 n 
+0000211228 00000 n 
+0000212196 00000 n 
+0000209940 00000 n 
+0000206448 00000 n 
+0000211401 00000 n 
+0000211572 00000 n 
+0000211628 00000 n 
+0000211685 00000 n 
+0000211741 00000 n 
+0000211854 00000 n 
+0000211968 00000 n 
+0000212082 00000 n 
+0000212139 00000 n 
+0000216060 00000 n 
+0000216243 00000 n 
+0000216427 00000 n 
+0000216592 00000 n 
+0000216746 00000 n 
+0000216929 00000 n 
+0000217093 00000 n 
+0000217275 00000 n 
+0000217440 00000 n 
+0000217594 00000 n 
+0000218512 00000 n 
+0000215656 00000 n 
+0000212307 00000 n 
+0000217767 00000 n 
+0000217824 00000 n 
+0000217881 00000 n 
+0000217938 00000 n 
+0000218109 00000 n 
+0000218166 00000 n 
+0000218222 00000 n 
+0000218280 00000 n 
+0000218338 00000 n 
+0000218396 00000 n 
+0000218454 00000 n 
+0003220868 00000 n 
+0000222402 00000 n 
+0000222586 00000 n 
+0000222740 00000 n 
+0000222905 00000 n 
+0000223081 00000 n 
+0000223275 00000 n 
+0000223459 00000 n 
+0000223623 00000 n 
+0000223779 00000 n 
+0000223964 00000 n 
+0000224149 00000 n 
+0000224305 00000 n 
+0000225303 00000 n 
+0000222159 00000 n 
+0000218623 00000 n 
+0000224479 00000 n 
+0000224538 00000 n 
+0000224597 00000 n 
+0000224656 00000 n 
+0000224715 00000 n 
+0000224774 00000 n 
+0000224833 00000 n 
+0000224892 00000 n 
+0000224951 00000 n 
+0000225010 00000 n 
+0000225069 00000 n 
+0000225186 00000 n 
+0000229153 00000 n 
+0000229358 00000 n 
+0000230471 00000 n 
+0000229000 00000 n 
+0000225415 00000 n 
+0000229532 00000 n 
+0000229591 00000 n 
+0000229650 00000 n 
+0000229766 00000 n 
+0000229825 00000 n 
+0000229884 00000 n 
+0000229943 00000 n 
+0000230001 00000 n 
+0000230060 00000 n 
+0000230119 00000 n 
+0000230294 00000 n 
+0000230353 00000 n 
+0000230412 00000 n 
+0000234614 00000 n 
+0000234818 00000 n 
+0000235933 00000 n 
+0000234461 00000 n 
+0000230596 00000 n 
+0000234992 00000 n 
+0000235051 00000 n 
+0000235110 00000 n 
+0000235227 00000 n 
+0000235286 00000 n 
+0000235345 00000 n 
+0000235404 00000 n 
+0000235463 00000 n 
+0000235580 00000 n 
+0000235697 00000 n 
+0000235756 00000 n 
+0000235815 00000 n 
+0000235874 00000 n 
+0000239869 00000 n 
+0000240057 00000 n 
+0000240211 00000 n 
+0000245289 00000 n 
+0000240362 00000 n 
+0000241477 00000 n 
+0000239698 00000 n 
+0000236045 00000 n 
+0000240536 00000 n 
+0000240595 00000 n 
+0000240654 00000 n 
+0000240713 00000 n 
+0000240772 00000 n 
+0000240830 00000 n 
+0000240889 00000 n 
+0000240948 00000 n 
+0000241007 00000 n 
+0000241066 00000 n 
+0000241125 00000 n 
+0000241184 00000 n 
+0000241243 00000 n 
+0000241301 00000 n 
+0000241360 00000 n 
+0000241419 00000 n 
+0000245827 00000 n 
+0000245442 00000 n 
+0000250491 00000 n 
+0000250645 00000 n 
+0000245594 00000 n 
+0000246883 00000 n 
+0000245127 00000 n 
+0000241602 00000 n 
+0000245768 00000 n 
+0000245886 00000 n 
+0000246003 00000 n 
+0000246062 00000 n 
+0000246121 00000 n 
+0000246180 00000 n 
+0000246239 00000 n 
+0000246298 00000 n 
+0000246357 00000 n 
+0000246474 00000 n 
+0000246591 00000 n 
+0000246649 00000 n 
+0000246708 00000 n 
+0000246766 00000 n 
+0000246825 00000 n 
+0000250798 00000 n 
+0000250962 00000 n 
+0000251603 00000 n 
+0000250320 00000 n 
+0000246995 00000 n 
+0000251136 00000 n 
+0000251195 00000 n 
+0000251254 00000 n 
+0000251427 00000 n 
+0000251544 00000 n 
+0003220993 00000 n 
+0000255031 00000 n 
+0000255440 00000 n 
+0000254887 00000 n 
+0000251715 00000 n 
+0000255205 00000 n 
+0000255264 00000 n 
+0000255322 00000 n 
+0000255381 00000 n 
+0000258710 00000 n 
+0000259120 00000 n 
+0000258566 00000 n 
+0000255539 00000 n 
+0000258884 00000 n 
+0000258943 00000 n 
+0000259002 00000 n 
+0000259061 00000 n 
+0000262478 00000 n 
+0000262829 00000 n 
+0000262334 00000 n 
+0000259219 00000 n 
+0000262652 00000 n 
+0000262711 00000 n 
+0000262770 00000 n 
+0000266558 00000 n 
+0000266850 00000 n 
+0000266414 00000 n 
+0000262928 00000 n 
+0000266732 00000 n 
+0000266791 00000 n 
+0000270163 00000 n 
+0000270454 00000 n 
+0000270019 00000 n 
+0000266949 00000 n 
+0000270337 00000 n 
+0000270396 00000 n 
+0000274023 00000 n 
+0000274433 00000 n 
+0000273879 00000 n 
+0000270553 00000 n 
+0000274197 00000 n 
+0000274256 00000 n 
+0000274315 00000 n 
+0000274374 00000 n 
+0003221119 00000 n 
+0000277959 00000 n 
+0000278369 00000 n 
+0000277815 00000 n 
+0000274532 00000 n 
+0000278133 00000 n 
+0000278192 00000 n 
+0000278251 00000 n 
+0000278310 00000 n 
+0000281439 00000 n 
+0000281908 00000 n 
+0000281295 00000 n 
+0000278468 00000 n 
+0000281613 00000 n 
+0000281672 00000 n 
+0000281731 00000 n 
+0000281790 00000 n 
+0000281849 00000 n 
+0003219247 00000 n 
+0000284850 00000 n 
+0000285026 00000 n 
+0000285203 00000 n 
+0000285398 00000 n 
+0000285805 00000 n 
+0000284679 00000 n 
+0000282021 00000 n 
+0000285572 00000 n 
+0000285688 00000 n 
+0000289823 00000 n 
+0000290056 00000 n 
+0000289679 00000 n 
+0000285918 00000 n 
+0000289997 00000 n 
+0000293971 00000 n 
+0000294204 00000 n 
+0000293827 00000 n 
+0000290155 00000 n 
+0000294145 00000 n 
+0000297600 00000 n 
+0000297833 00000 n 
+0000297456 00000 n 
+0000294303 00000 n 
+0000297774 00000 n 
+0003221245 00000 n 
+0000301259 00000 n 
+0000301492 00000 n 
+0000301115 00000 n 
+0000297932 00000 n 
+0000301433 00000 n 
+0000304233 00000 n 
+0000304410 00000 n 
+0000304567 00000 n 
+0000304973 00000 n 
+0000304071 00000 n 
+0000301591 00000 n 
+0000304741 00000 n 
+0000304800 00000 n 
+0000306712 00000 n 
+0000306890 00000 n 
+0000307048 00000 n 
+0000307243 00000 n 
+0000307401 00000 n 
+0000307556 00000 n 
+0000307713 00000 n 
+0000307872 00000 n 
+0000308030 00000 n 
+0000308187 00000 n 
+0000308345 00000 n 
+0000308503 00000 n 
+0000308661 00000 n 
+0000308819 00000 n 
+0000308978 00000 n 
+0000309137 00000 n 
+0000309296 00000 n 
+0000309455 00000 n 
+0000309613 00000 n 
+0000309772 00000 n 
+0000309930 00000 n 
+0000310089 00000 n 
+0000310248 00000 n 
+0000310406 00000 n 
+0000312767 00000 n 
+0000310565 00000 n 
+0000311026 00000 n 
+0000306352 00000 n 
+0000305072 00000 n 
+0000310739 00000 n 
+0000412370 00000 n 
+0000521271 00000 n 
+0000525977 00000 n 
+0000312925 00000 n 
+0000313084 00000 n 
+0000313242 00000 n 
+0000313401 00000 n 
+0000313560 00000 n 
+0000313719 00000 n 
+0000313878 00000 n 
+0000314037 00000 n 
+0000314196 00000 n 
+0000314355 00000 n 
+0000314514 00000 n 
+0000314672 00000 n 
+0000314831 00000 n 
+0000314990 00000 n 
+0000315147 00000 n 
+0000315306 00000 n 
+0000315465 00000 n 
+0000315624 00000 n 
+0000315783 00000 n 
+0000315942 00000 n 
+0000316100 00000 n 
+0000316259 00000 n 
+0000316418 00000 n 
+0000316576 00000 n 
+0000316735 00000 n 
+0000316894 00000 n 
+0000317053 00000 n 
+0000317212 00000 n 
+0000319761 00000 n 
+0000317370 00000 n 
+0000317603 00000 n 
+0000312362 00000 n 
+0000311138 00000 n 
+0000317544 00000 n 
+0000319919 00000 n 
+0000320078 00000 n 
+0000320237 00000 n 
+0000320396 00000 n 
+0000320555 00000 n 
+0000320714 00000 n 
+0000320873 00000 n 
+0000321031 00000 n 
+0000321190 00000 n 
+0000321348 00000 n 
+0000321566 00000 n 
+0000321725 00000 n 
+0000321911 00000 n 
+0000322070 00000 n 
+0000322267 00000 n 
+0000322423 00000 n 
+0000322604 00000 n 
+0000322762 00000 n 
+0000322952 00000 n 
+0000323110 00000 n 
+0000323303 00000 n 
+0000323461 00000 n 
+0000323659 00000 n 
+0000323816 00000 n 
+0000324025 00000 n 
+0000324182 00000 n 
+0000324387 00000 n 
+0000324545 00000 n 
+0000324752 00000 n 
+0000324933 00000 n 
+0000327933 00000 n 
+0000328121 00000 n 
+0000325092 00000 n 
+0000325441 00000 n 
+0000319338 00000 n 
+0000317715 00000 n 
+0000325266 00000 n 
+0000526211 00000 n 
+0000922972 00000 n 
+0001027290 00000 n 
+0001027582 00000 n 
+0001031749 00000 n 
+0001032041 00000 n 
+0000328279 00000 n 
+0000328475 00000 n 
+0000328634 00000 n 
+0000328833 00000 n 
+0000328992 00000 n 
+0000329207 00000 n 
+0000329366 00000 n 
+0000329578 00000 n 
+0000329737 00000 n 
+0000329952 00000 n 
+0000330110 00000 n 
+0000330330 00000 n 
+0000330489 00000 n 
+0000330677 00000 n 
+0000330836 00000 n 
+0000331032 00000 n 
+0000331191 00000 n 
+0000331390 00000 n 
+0000331549 00000 n 
+0000331738 00000 n 
+0000331891 00000 n 
+0000332050 00000 n 
+0000332243 00000 n 
+0000332402 00000 n 
+0000332589 00000 n 
+0000332748 00000 n 
+0000332943 00000 n 
+0000333102 00000 n 
+0000333292 00000 n 
+0000333450 00000 n 
+0000333632 00000 n 
+0000333791 00000 n 
+0000333986 00000 n 
+0000334168 00000 n 
+0000334327 00000 n 
+0000334520 00000 n 
+0000334679 00000 n 
+0000334880 00000 n 
+0000335039 00000 n 
+0000335233 00000 n 
+0000335392 00000 n 
+0000335578 00000 n 
+0000335737 00000 n 
+0000335926 00000 n 
+0000336084 00000 n 
+0000336316 00000 n 
+0000339225 00000 n 
+0000339427 00000 n 
+0000336474 00000 n 
+0000336707 00000 n 
+0000327357 00000 n 
+0000325553 00000 n 
+0000336648 00000 n 
+0003219608 00000 n 
+0003221371 00000 n 
+0001038746 00000 n 
+0001073360 00000 n 
+0001104069 00000 n 
+0001107938 00000 n 
+0001119229 00000 n 
+0001124760 00000 n 
+0001130607 00000 n 
+0001136650 00000 n 
+0001192050 00000 n 
+0001216190 00000 n 
+0001221735 00000 n 
+0001240396 00000 n 
+0001240630 00000 n 
+0001302949 00000 n 
+0001325995 00000 n 
+0001514822 00000 n 
+0001527699 00000 n 
+0001565566 00000 n 
+0001625864 00000 n 
+0001626097 00000 n 
+0000339585 00000 n 
+0000339781 00000 n 
+0000339940 00000 n 
+0000340129 00000 n 
+0000340288 00000 n 
+0000340481 00000 n 
+0000340640 00000 n 
+0000340856 00000 n 
+0000341015 00000 n 
+0000341206 00000 n 
+0000341365 00000 n 
+0000341559 00000 n 
+0000341718 00000 n 
+0000341922 00000 n 
+0000342081 00000 n 
+0000342278 00000 n 
+0000342437 00000 n 
+0000342626 00000 n 
+0000342785 00000 n 
+0000342982 00000 n 
+0000343141 00000 n 
+0000343334 00000 n 
+0000343493 00000 n 
+0000343689 00000 n 
+0000343848 00000 n 
+0000344041 00000 n 
+0000344200 00000 n 
+0000344392 00000 n 
+0000344551 00000 n 
+0000344739 00000 n 
+0000344898 00000 n 
+0000345083 00000 n 
+0000345242 00000 n 
+0000345435 00000 n 
+0000345593 00000 n 
+0000345799 00000 n 
+0000345958 00000 n 
+0000346152 00000 n 
+0000346310 00000 n 
+0000346497 00000 n 
+0000346656 00000 n 
+0000346842 00000 n 
+0000348935 00000 n 
+0000349126 00000 n 
+0000347001 00000 n 
+0000347234 00000 n 
+0000338685 00000 n 
+0000336834 00000 n 
+0000347175 00000 n 
+0001626332 00000 n 
+0001632175 00000 n 
+0001687642 00000 n 
+0001761469 00000 n 
+0001761645 00000 n 
+0002086066 00000 n 
+0002096105 00000 n 
+0002162031 00000 n 
+0002182946 00000 n 
+0002369682 00000 n 
+0002381328 00000 n 
+0002394421 00000 n 
+0002559882 00000 n 
+0002601455 00000 n 
+0002605140 00000 n 
+0002609168 00000 n 
+0002612378 00000 n 
+0002612741 00000 n 
+0000349284 00000 n 
+0000349471 00000 n 
+0000349664 00000 n 
+0000349854 00000 n 
+0000350087 00000 n 
+0000350289 00000 n 
+0000350482 00000 n 
+0000350668 00000 n 
+0000350866 00000 n 
+0000351059 00000 n 
+0000351255 00000 n 
+0000351466 00000 n 
+0000351654 00000 n 
+0000351851 00000 n 
+0000352046 00000 n 
+0000354224 00000 n 
+0000352260 00000 n 
+0000352727 00000 n 
+0000348638 00000 n 
+0000347346 00000 n 
+0000352434 00000 n 
+0000352551 00000 n 
+0000352668 00000 n 
+0002631774 00000 n 
+0000354411 00000 n 
+0000354607 00000 n 
+0000354822 00000 n 
+0000355010 00000 n 
+0000355211 00000 n 
+0000355431 00000 n 
+0000355624 00000 n 
+0000355814 00000 n 
+0000356010 00000 n 
+0000356218 00000 n 
+0000356412 00000 n 
+0000356618 00000 n 
+0000356815 00000 n 
+0000357001 00000 n 
+0000357190 00000 n 
+0000357375 00000 n 
+0000359646 00000 n 
+0000359828 00000 n 
+0000357568 00000 n 
+0000357801 00000 n 
+0000353927 00000 n 
+0000352852 00000 n 
+0000357742 00000 n 
+0000360019 00000 n 
+0000360212 00000 n 
+0000360393 00000 n 
+0000360574 00000 n 
+0000360761 00000 n 
+0000360955 00000 n 
+0000361149 00000 n 
+0000361349 00000 n 
+0000361548 00000 n 
+0000361754 00000 n 
+0000361945 00000 n 
+0000362150 00000 n 
+0000362339 00000 n 
+0000362493 00000 n 
+0000362679 00000 n 
+0000362875 00000 n 
+0000365019 00000 n 
+0000363064 00000 n 
+0000363297 00000 n 
+0000359340 00000 n 
+0000357926 00000 n 
+0000363238 00000 n 
+0000365214 00000 n 
+0000365370 00000 n 
+0000365575 00000 n 
+0000365779 00000 n 
+0000365984 00000 n 
+0000366189 00000 n 
+0000366394 00000 n 
+0000366599 00000 n 
+0000366804 00000 n 
+0000367009 00000 n 
+0000367214 00000 n 
+0000367452 00000 n 
+0000367691 00000 n 
+0000368168 00000 n 
+0000368406 00000 n 
+0000368643 00000 n 
+0000368882 00000 n 
+0000369358 00000 n 
+0000369596 00000 n 
+0000369833 00000 n 
+0000370071 00000 n 
+0000370543 00000 n 
+0000373485 00000 n 
+0000373722 00000 n 
+0000374199 00000 n 
+0000374438 00000 n 
+0000370780 00000 n 
+0000371308 00000 n 
+0000364641 00000 n 
+0000363422 00000 n 
+0000370954 00000 n 
+0000371013 00000 n 
+0000371072 00000 n 
+0000371131 00000 n 
+0000371190 00000 n 
+0000371249 00000 n 
+0000367930 00000 n 
+0000369121 00000 n 
+0000370307 00000 n 
+0000393585 00000 n 
+0000393703 00000 n 
+0000393821 00000 n 
+0000393939 00000 n 
+0000397004 00000 n 
+0000397120 00000 n 
+0000397238 00000 n 
+0000397415 00000 n 
+0000399551 00000 n 
+0000399615 00000 n 
+0000399679 00000 n 
+0000399743 00000 n 
+0000399807 00000 n 
+0000399871 00000 n 
+0000399934 00000 n 
+0000399997 00000 n 
+0000400060 00000 n 
+0000400123 00000 n 
+0000400186 00000 n 
+0000400250 00000 n 
+0000374915 00000 n 
+0000375153 00000 n 
+0000375392 00000 n 
+0000375629 00000 n 
+0000375867 00000 n 
+0000376104 00000 n 
+0000376342 00000 n 
+0000376580 00000 n 
+0000376819 00000 n 
+0000377057 00000 n 
+0000377533 00000 n 
+0000377770 00000 n 
+0000378244 00000 n 
+0000378447 00000 n 
+0000378685 00000 n 
+0000378923 00000 n 
+0000379127 00000 n 
+0000379365 00000 n 
+0000379604 00000 n 
+0000380079 00000 n 
+0000380317 00000 n 
+0000380555 00000 n 
+0000380793 00000 n 
+0000380998 00000 n 
+0000381475 00000 n 
+0000381952 00000 n 
+0000382190 00000 n 
+0000382395 00000 n 
+0000382872 00000 n 
+0000383111 00000 n 
+0000383315 00000 n 
+0000383553 00000 n 
+0000383792 00000 n 
+0000384269 00000 n 
+0000384508 00000 n 
+0000384746 00000 n 
+0000384951 00000 n 
+0000385428 00000 n 
+0000385667 00000 n 
+0000385871 00000 n 
+0000386348 00000 n 
+0000386587 00000 n 
+0000388782 00000 n 
+0000388987 00000 n 
+0000389224 00000 n 
+0000389463 00000 n 
+0000389938 00000 n 
+0000390177 00000 n 
+0000386825 00000 n 
+0000387058 00000 n 
+0000372828 00000 n 
+0000371420 00000 n 
+0000386999 00000 n 
+0000373961 00000 n 
+0000374677 00000 n 
+0000377296 00000 n 
+0000378006 00000 n 
+0000379841 00000 n 
+0000381237 00000 n 
+0000381714 00000 n 
+0000382634 00000 n 
+0000384031 00000 n 
+0000385190 00000 n 
+0000386110 00000 n 
+0003221497 00000 n 
+0000400314 00000 n 
+0000400378 00000 n 
+0000400442 00000 n 
+0000400506 00000 n 
+0000400570 00000 n 
+0000400634 00000 n 
+0000400698 00000 n 
+0000400762 00000 n 
+0000400826 00000 n 
+0000400890 00000 n 
+0000400954 00000 n 
+0000401018 00000 n 
+0000401082 00000 n 
+0000401146 00000 n 
+0000401210 00000 n 
+0000401274 00000 n 
+0000401338 00000 n 
+0000401456 00000 n 
+0000401520 00000 n 
+0000401584 00000 n 
+0000403576 00000 n 
+0000403640 00000 n 
+0000403704 00000 n 
+0000403768 00000 n 
+0000403832 00000 n 
+0000403896 00000 n 
+0000403960 00000 n 
+0000404078 00000 n 
+0000404142 00000 n 
+0000404206 00000 n 
+0000404270 00000 n 
+0000404388 00000 n 
+0000404452 00000 n 
+0000404515 00000 n 
+0000404632 00000 n 
+0000404696 00000 n 
+0000404760 00000 n 
+0000404824 00000 n 
+0000404888 00000 n 
+0000404951 00000 n 
+0000408008 00000 n 
+0000408071 00000 n 
+0000408134 00000 n 
+0000408252 00000 n 
+0000408315 00000 n 
+0000408379 00000 n 
+0000390415 00000 n 
+0000390620 00000 n 
+0000391097 00000 n 
+0000391574 00000 n 
+0000391778 00000 n 
+0000392255 00000 n 
+0000392732 00000 n 
+0000392970 00000 n 
+0000393175 00000 n 
+0000393998 00000 n 
+0000388467 00000 n 
+0000387170 00000 n 
+0000393349 00000 n 
+0000389700 00000 n 
+0000390859 00000 n 
+0000391336 00000 n 
+0000392017 00000 n 
+0000392494 00000 n 
+0000393408 00000 n 
+0000393467 00000 n 
+0000393526 00000 n 
+0000393644 00000 n 
+0000393762 00000 n 
+0000393880 00000 n 
+0000408443 00000 n 
+0000408560 00000 n 
+0000408624 00000 n 
+0000408688 00000 n 
+0000408752 00000 n 
+0000408816 00000 n 
+0000408879 00000 n 
+0000411699 00000 n 
+0000411763 00000 n 
+0000411827 00000 n 
+0000411945 00000 n 
+0000412009 00000 n 
+0000412072 00000 n 
+0000412194 00000 n 
+0000396272 00000 n 
+0000396461 00000 n 
+0000396653 00000 n 
+0000397533 00000 n 
+0000396110 00000 n 
+0000394123 00000 n 
+0000396827 00000 n 
+0000396886 00000 n 
+0000396945 00000 n 
+0000397062 00000 n 
+0000397179 00000 n 
+0000397297 00000 n 
+0000397356 00000 n 
+0000397474 00000 n 
+0000399318 00000 n 
+0000401643 00000 n 
+0000399174 00000 n 
+0000397632 00000 n 
+0000399492 00000 n 
+0000401397 00000 n 
+0000403105 00000 n 
+0000403284 00000 n 
+0000405009 00000 n 
+0000402952 00000 n 
+0000401757 00000 n 
+0000403458 00000 n 
+0000403517 00000 n 
+0000404019 00000 n 
+0000404329 00000 n 
+0000404574 00000 n 
+0000407358 00000 n 
+0000407537 00000 n 
+0000407716 00000 n 
+0000408937 00000 n 
+0000407196 00000 n 
+0000405123 00000 n 
+0000407890 00000 n 
+0000407949 00000 n 
+0000408193 00000 n 
+0000408502 00000 n 
+0000411027 00000 n 
+0000411217 00000 n 
+0000414045 00000 n 
+0000411407 00000 n 
+0000412487 00000 n 
+0000410865 00000 n 
+0000409102 00000 n 
+0000411581 00000 n 
+0000411640 00000 n 
+0000411886 00000 n 
+0000412135 00000 n 
+0000412253 00000 n 
+0003221623 00000 n 
+0000414240 00000 n 
+0000414426 00000 n 
+0000414619 00000 n 
+0000414809 00000 n 
+0000415041 00000 n 
+0000415243 00000 n 
+0000415436 00000 n 
+0000415620 00000 n 
+0000415816 00000 n 
+0000416012 00000 n 
+0000416199 00000 n 
+0000416396 00000 n 
+0000416591 00000 n 
+0000416777 00000 n 
+0000416972 00000 n 
+0000417158 00000 n 
+0000419207 00000 n 
+0000417358 00000 n 
+0000417709 00000 n 
+0000413748 00000 n 
+0000412614 00000 n 
+0000417532 00000 n 
+0000417591 00000 n 
+0000417650 00000 n 
+0000419400 00000 n 
+0000419592 00000 n 
+0000419781 00000 n 
+0000419974 00000 n 
+0000420171 00000 n 
+0000420367 00000 n 
+0000420563 00000 n 
+0000420757 00000 n 
+0000420954 00000 n 
+0000421142 00000 n 
+0000421332 00000 n 
+0000421518 00000 n 
+0000421713 00000 n 
+0000421895 00000 n 
+0000422086 00000 n 
+0000422278 00000 n 
+0000422460 00000 n 
+0000424466 00000 n 
+0000422641 00000 n 
+0000422874 00000 n 
+0000418901 00000 n 
+0000417834 00000 n 
+0000422815 00000 n 
+0000424653 00000 n 
+0000424846 00000 n 
+0000425040 00000 n 
+0000425239 00000 n 
+0000425439 00000 n 
+0000425645 00000 n 
+0000425836 00000 n 
+0000426040 00000 n 
+0000426233 00000 n 
+0000426422 00000 n 
+0000426575 00000 n 
+0000426761 00000 n 
+0000426956 00000 n 
+0000427146 00000 n 
+0000427350 00000 n 
+0000430322 00000 n 
+0000427555 00000 n 
+0000427846 00000 n 
+0000424178 00000 n 
+0000422986 00000 n 
+0000427729 00000 n 
+0000427788 00000 n 
+0000430527 00000 n 
+0000430738 00000 n 
+0000430982 00000 n 
+0000431226 00000 n 
+0000431470 00000 n 
+0000431714 00000 n 
+0000431926 00000 n 
+0000432170 00000 n 
+0000432415 00000 n 
+0000432660 00000 n 
+0000432905 00000 n 
+0000433149 00000 n 
+0000433394 00000 n 
+0000433639 00000 n 
+0000433884 00000 n 
+0000434089 00000 n 
+0000434326 00000 n 
+0000434565 00000 n 
+0000434803 00000 n 
+0000435042 00000 n 
+0000435280 00000 n 
+0000435519 00000 n 
+0000435758 00000 n 
+0000435997 00000 n 
+0000436235 00000 n 
+0000436474 00000 n 
+0000436713 00000 n 
+0000436952 00000 n 
+0000437190 00000 n 
+0000437429 00000 n 
+0000437668 00000 n 
+0000437907 00000 n 
+0000438145 00000 n 
+0000438383 00000 n 
+0000438622 00000 n 
+0000438861 00000 n 
+0000439097 00000 n 
+0000439332 00000 n 
+0000439569 00000 n 
+0000439806 00000 n 
+0000440044 00000 n 
+0000440283 00000 n 
+0000440522 00000 n 
+0000440999 00000 n 
+0000441204 00000 n 
+0000441443 00000 n 
+0000441681 00000 n 
+0000441886 00000 n 
+0000442124 00000 n 
+0000442362 00000 n 
+0000442601 00000 n 
+0000442839 00000 n 
+0000443073 00000 n 
+0000443309 00000 n 
+0000443513 00000 n 
+0000443751 00000 n 
+0000443989 00000 n 
+0000444465 00000 n 
+0000444670 00000 n 
+0000444909 00000 n 
+0000445148 00000 n 
+0000445352 00000 n 
+0000445590 00000 n 
+0000445829 00000 n 
+0000446068 00000 n 
+0000446307 00000 n 
+0000446545 00000 n 
+0000446750 00000 n 
+0000446989 00000 n 
+0000447228 00000 n 
+0000447432 00000 n 
+0000447670 00000 n 
+0000447907 00000 n 
+0000450570 00000 n 
+0000448143 00000 n 
+0000448435 00000 n 
+0000429494 00000 n 
+0000427958 00000 n 
+0000448317 00000 n 
+0000448376 00000 n 
+0000440761 00000 n 
+0000444227 00000 n 
+0000490829 00000 n 
+0000490947 00000 n 
+0000491011 00000 n 
+0000491075 00000 n 
+0000491139 00000 n 
+0000491203 00000 n 
+0000493365 00000 n 
+0000493429 00000 n 
+0000493493 00000 n 
+0000493557 00000 n 
+0000493621 00000 n 
+0000493685 00000 n 
+0000493749 00000 n 
+0000493813 00000 n 
+0000450775 00000 n 
+0000451013 00000 n 
+0000451252 00000 n 
+0000451490 00000 n 
+0000451728 00000 n 
+0000451966 00000 n 
+0000452170 00000 n 
+0000452409 00000 n 
+0000452648 00000 n 
+0000452852 00000 n 
+0000453091 00000 n 
+0000453330 00000 n 
+0000453568 00000 n 
+0000453780 00000 n 
+0000454024 00000 n 
+0000454269 00000 n 
+0000454514 00000 n 
+0000454759 00000 n 
+0000455003 00000 n 
+0000455248 00000 n 
+0000455493 00000 n 
+0000455738 00000 n 
+0000455982 00000 n 
+0000456226 00000 n 
+0000456471 00000 n 
+0000456716 00000 n 
+0000456958 00000 n 
+0000457170 00000 n 
+0000457382 00000 n 
+0000457593 00000 n 
+0000457805 00000 n 
+0000458016 00000 n 
+0000458227 00000 n 
+0000458439 00000 n 
+0000458650 00000 n 
+0000461473 00000 n 
+0000458860 00000 n 
+0000459506 00000 n 
+0000450102 00000 n 
+0000448547 00000 n 
+0000459034 00000 n 
+0000459093 00000 n 
+0000459152 00000 n 
+0000459211 00000 n 
+0000459270 00000 n 
+0000459329 00000 n 
+0000459388 00000 n 
+0000459447 00000 n 
+0000493877 00000 n 
+0000493995 00000 n 
+0000494059 00000 n 
+0000494123 00000 n 
+0000494187 00000 n 
+0000494251 00000 n 
+0000494315 00000 n 
+0000494379 00000 n 
+0000494443 00000 n 
+0000494507 00000 n 
+0000494571 00000 n 
+0000494635 00000 n 
+0000494699 00000 n 
+0000494763 00000 n 
+0000494886 00000 n 
+0000495004 00000 n 
+0000498381 00000 n 
+0000461685 00000 n 
+0000461897 00000 n 
+0000462109 00000 n 
+0000462321 00000 n 
+0000462533 00000 n 
+0000462744 00000 n 
+0000462956 00000 n 
+0000463167 00000 n 
+0000463379 00000 n 
+0000463584 00000 n 
+0000463795 00000 n 
+0000464007 00000 n 
+0000464212 00000 n 
+0000464416 00000 n 
+0000464628 00000 n 
+0000464832 00000 n 
+0000465044 00000 n 
+0000465249 00000 n 
+0000465461 00000 n 
+0000465671 00000 n 
+0000465883 00000 n 
+0000466095 00000 n 
+0000469407 00000 n 
+0000466306 00000 n 
+0000467363 00000 n 
+0000461122 00000 n 
+0000459631 00000 n 
+0000466480 00000 n 
+0000466539 00000 n 
+0000466598 00000 n 
+0000466657 00000 n 
+0000466716 00000 n 
+0000466775 00000 n 
+0000466834 00000 n 
+0000466892 00000 n 
+0000466951 00000 n 
+0000467010 00000 n 
+0000467069 00000 n 
+0000467128 00000 n 
+0000467187 00000 n 
+0000467245 00000 n 
+0000467304 00000 n 
+0003221749 00000 n 
+0000498504 00000 n 
+0000498627 00000 n 
+0000469619 00000 n 
+0000469830 00000 n 
+0000470034 00000 n 
+0000470246 00000 n 
+0000470457 00000 n 
+0000470611 00000 n 
+0000470823 00000 n 
+0000470978 00000 n 
+0000471190 00000 n 
+0000471377 00000 n 
+0000471532 00000 n 
+0000471743 00000 n 
+0000472116 00000 n 
+0000472271 00000 n 
+0000472483 00000 n 
+0000472674 00000 n 
+0000472829 00000 n 
+0000473041 00000 n 
+0000473420 00000 n 
+0000473574 00000 n 
+0000473786 00000 n 
+0000473977 00000 n 
+0000474168 00000 n 
+0000474323 00000 n 
+0000474535 00000 n 
+0000474726 00000 n 
+0000474917 00000 n 
+0000477723 00000 n 
+0000475070 00000 n 
+0000475479 00000 n 
+0000468993 00000 n 
+0000467489 00000 n 
+0000475244 00000 n 
+0000475303 00000 n 
+0000475362 00000 n 
+0000475421 00000 n 
+0003215468 00000 n 
+0000471930 00000 n 
+0000473231 00000 n 
+0000498750 00000 n 
+0000502185 00000 n 
+0000502303 00000 n 
+0000505933 00000 n 
+0000510000 00000 n 
+0000510118 00000 n 
+0000513822 00000 n 
+0000517570 00000 n 
+0000477934 00000 n 
+0000478145 00000 n 
+0000478299 00000 n 
+0000478509 00000 n 
+0000478721 00000 n 
+0000478876 00000 n 
+0000479088 00000 n 
+0000479275 00000 n 
+0000479487 00000 n 
+0000479642 00000 n 
+0000479854 00000 n 
+0000480227 00000 n 
+0000480439 00000 n 
+0000480594 00000 n 
+0000480806 00000 n 
+0000480999 00000 n 
+0000481211 00000 n 
+0000481366 00000 n 
+0000481578 00000 n 
+0000481769 00000 n 
+0000481981 00000 n 
+0000482136 00000 n 
+0000482341 00000 n 
+0000482545 00000 n 
+0000482750 00000 n 
+0000482954 00000 n 
+0000483159 00000 n 
+0000483364 00000 n 
+0000483566 00000 n 
+0000483768 00000 n 
+0000483970 00000 n 
+0000487229 00000 n 
+0000487431 00000 n 
+0000487633 00000 n 
+0000487835 00000 n 
+0000484172 00000 n 
+0000485230 00000 n 
+0000477282 00000 n 
+0000475619 00000 n 
+0000484346 00000 n 
+0000484405 00000 n 
+0000484464 00000 n 
+0000484523 00000 n 
+0000484582 00000 n 
+0000480041 00000 n 
+0000484641 00000 n 
+0000484700 00000 n 
+0000484759 00000 n 
+0000484818 00000 n 
+0000484877 00000 n 
+0000484936 00000 n 
+0000484994 00000 n 
+0000485053 00000 n 
+0000485112 00000 n 
+0000485171 00000 n 
+0000488037 00000 n 
+0000488239 00000 n 
+0000488441 00000 n 
+0000488643 00000 n 
+0000488845 00000 n 
+0000489047 00000 n 
+0000489259 00000 n 
+0000489461 00000 n 
+0000489673 00000 n 
+0000489860 00000 n 
+0000490065 00000 n 
+0000491262 00000 n 
+0000486959 00000 n 
+0000485369 00000 n 
+0000490239 00000 n 
+0000490298 00000 n 
+0000490357 00000 n 
+0000490416 00000 n 
+0000490475 00000 n 
+0000490534 00000 n 
+0000490593 00000 n 
+0000490652 00000 n 
+0000490711 00000 n 
+0000490770 00000 n 
+0000490888 00000 n 
+0000497300 00000 n 
+0000493073 00000 n 
+0000495063 00000 n 
+0000492929 00000 n 
+0000491429 00000 n 
+0000493247 00000 n 
+0000493306 00000 n 
+0000493936 00000 n 
+0000494827 00000 n 
+0000494945 00000 n 
+0000497723 00000 n 
+0000497934 00000 n 
+0000498089 00000 n 
+0000498868 00000 n 
+0000497120 00000 n 
+0000495190 00000 n 
+0000498263 00000 n 
+0000498322 00000 n 
+0003218710 00000 n 
+0000497512 00000 n 
+0000498445 00000 n 
+0000498568 00000 n 
+0000498691 00000 n 
+0000498809 00000 n 
+0000501645 00000 n 
+0000501799 00000 n 
+0000501952 00000 n 
+0000502421 00000 n 
+0000501483 00000 n 
+0000499036 00000 n 
+0000502126 00000 n 
+0000502244 00000 n 
+0000502362 00000 n 
+0003221875 00000 n 
+0000505545 00000 n 
+0000505700 00000 n 
+0000506050 00000 n 
+0000505392 00000 n 
+0000502624 00000 n 
+0000505874 00000 n 
+0000505991 00000 n 
+0000509458 00000 n 
+0000509613 00000 n 
+0000509767 00000 n 
+0000510236 00000 n 
+0000509296 00000 n 
+0000506265 00000 n 
+0000509941 00000 n 
+0000510059 00000 n 
+0000510177 00000 n 
+0000513434 00000 n 
+0000513589 00000 n 
+0000513939 00000 n 
+0000513281 00000 n 
+0000510451 00000 n 
+0000513763 00000 n 
+0000513881 00000 n 
+0000517182 00000 n 
+0000517337 00000 n 
+0000517693 00000 n 
+0000517029 00000 n 
+0000514154 00000 n 
+0000517511 00000 n 
+0000517634 00000 n 
+0000520632 00000 n 
+0000520860 00000 n 
+0000521038 00000 n 
+0000521686 00000 n 
+0000520470 00000 n 
+0000517908 00000 n 
+0000521212 00000 n 
+0000521392 00000 n 
+0000521451 00000 n 
+0000521509 00000 n 
+0000521568 00000 n 
+0000521627 00000 n 
+0000523905 00000 n 
+0000524130 00000 n 
+0000524325 00000 n 
+0000524576 00000 n 
+0000524827 00000 n 
+0000525023 00000 n 
+0000525274 00000 n 
+0000525492 00000 n 
+0000528758 00000 n 
+0000529010 00000 n 
+0000525744 00000 n 
+0000526564 00000 n 
+0000523689 00000 n 
+0000521888 00000 n 
+0000525918 00000 n 
+0000526094 00000 n 
+0000526328 00000 n 
+0000526387 00000 n 
+0000526446 00000 n 
+0000526505 00000 n 
+0003222001 00000 n 
+0001024288 00000 n 
+0000536231 00000 n 
+0000529228 00000 n 
+0000529479 00000 n 
+0000529697 00000 n 
+0000529949 00000 n 
+0000530167 00000 n 
+0000530419 00000 n 
+0000530671 00000 n 
+0000530923 00000 n 
+0000531173 00000 n 
+0000531425 00000 n 
+0000531629 00000 n 
+0000531881 00000 n 
+0000532085 00000 n 
+0000532337 00000 n 
+0000532589 00000 n 
+0000532841 00000 n 
+0000533059 00000 n 
+0000533940 00000 n 
+0000528452 00000 n 
+0000526704 00000 n 
+0000533233 00000 n 
+0000533292 00000 n 
+0003217523 00000 n 
+0000533351 00000 n 
+0000533410 00000 n 
+0000533469 00000 n 
+0000533528 00000 n 
+0003215615 00000 n 
+0000533587 00000 n 
+0000533645 00000 n 
+0000533704 00000 n 
+0000533763 00000 n 
+0000533822 00000 n 
+0000533881 00000 n 
+0000536408 00000 n 
+0000536583 00000 n 
+0000539311 00000 n 
+0000535939 00000 n 
+0000536817 00000 n 
+0000535795 00000 n 
+0000534109 00000 n 
+0000536113 00000 n 
+0000536172 00000 n 
+0000536290 00000 n 
+0003217820 00000 n 
+0000536349 00000 n 
+0000536466 00000 n 
+0000536524 00000 n 
+0000536642 00000 n 
+0003214877 00000 n 
+0000539532 00000 n 
+0000539725 00000 n 
+0000539946 00000 n 
+0000540167 00000 n 
+0000540388 00000 n 
+0000540609 00000 n 
+0000540830 00000 n 
+0000541051 00000 n 
+0000541255 00000 n 
+0000541476 00000 n 
+0000541680 00000 n 
+0000541901 00000 n 
+0000542122 00000 n 
+0000542343 00000 n 
+0000542548 00000 n 
+0000542753 00000 n 
+0000542974 00000 n 
+0000543161 00000 n 
+0000543366 00000 n 
+0000543587 00000 n 
+0000543774 00000 n 
+0000543979 00000 n 
+0000544199 00000 n 
+0000544394 00000 n 
+0000544615 00000 n 
+0000548220 00000 n 
+0000548441 00000 n 
+0000544811 00000 n 
+0000545634 00000 n 
+0000538933 00000 n 
+0000537001 00000 n 
+0000544985 00000 n 
+0000545044 00000 n 
+0000545103 00000 n 
+0000545162 00000 n 
+0000545221 00000 n 
+0000545280 00000 n 
+0000545339 00000 n 
+0000545398 00000 n 
+0000545457 00000 n 
+0000545516 00000 n 
+0000545575 00000 n 
+0000704815 00000 n 
+0000631187 00000 n 
+0000631305 00000 n 
+0000631423 00000 n 
+0000633671 00000 n 
+0000633793 00000 n 
+0000548636 00000 n 
+0000548857 00000 n 
+0000549045 00000 n 
+0000549250 00000 n 
+0000549471 00000 n 
+0000549652 00000 n 
+0000549837 00000 n 
+0000550042 00000 n 
+0000550263 00000 n 
+0000550445 00000 n 
+0000550650 00000 n 
+0000550870 00000 n 
+0000551062 00000 n 
+0000551266 00000 n 
+0000551453 00000 n 
+0000551674 00000 n 
+0000551861 00000 n 
+0000552079 00000 n 
+0000552265 00000 n 
+0000552486 00000 n 
+0000552690 00000 n 
+0000552909 00000 n 
+0000553114 00000 n 
+0000553335 00000 n 
+0000553524 00000 n 
+0000553719 00000 n 
+0000553937 00000 n 
+0000554132 00000 n 
+0000554351 00000 n 
+0000554547 00000 n 
+0000554768 00000 n 
+0000554963 00000 n 
+0000555183 00000 n 
+0000555403 00000 n 
+0000555598 00000 n 
+0000555817 00000 n 
+0000559355 00000 n 
+0000559575 00000 n 
+0000559771 00000 n 
+0000559976 00000 n 
+0000556010 00000 n 
+0000556773 00000 n 
+0000547734 00000 n 
+0000545817 00000 n 
+0000556184 00000 n 
+0000556243 00000 n 
+0000556302 00000 n 
+0000556361 00000 n 
+0000556420 00000 n 
+0000556478 00000 n 
+0003216645 00000 n 
+0000556537 00000 n 
+0000556596 00000 n 
+0000556655 00000 n 
+0000556714 00000 n 
+0000633911 00000 n 
+0000636513 00000 n 
+0000636631 00000 n 
+0000636754 00000 n 
+0000636872 00000 n 
+0000639452 00000 n 
+0000639570 00000 n 
+0000560181 00000 n 
+0000560401 00000 n 
+0000560597 00000 n 
+0000560802 00000 n 
+0000561007 00000 n 
+0000561193 00000 n 
+0000561414 00000 n 
+0000561610 00000 n 
+0000561814 00000 n 
+0000562018 00000 n 
+0000562239 00000 n 
+0000562435 00000 n 
+0000562639 00000 n 
+0000562843 00000 n 
+0000563030 00000 n 
+0000563251 00000 n 
+0000563446 00000 n 
+0000563651 00000 n 
+0000563856 00000 n 
+0000564263 00000 n 
+0000564465 00000 n 
+0000564686 00000 n 
+0000564873 00000 n 
+0000565094 00000 n 
+0000565280 00000 n 
+0000565501 00000 n 
+0000565688 00000 n 
+0000565884 00000 n 
+0000566103 00000 n 
+0000566289 00000 n 
+0000566486 00000 n 
+0000566706 00000 n 
+0000566893 00000 n 
+0000567090 00000 n 
+0000567310 00000 n 
+0000567496 00000 n 
+0000567717 00000 n 
+0000567938 00000 n 
+0000568159 00000 n 
+0000571161 00000 n 
+0000568379 00000 n 
+0000568847 00000 n 
+0000558815 00000 n 
+0000556969 00000 n 
+0000568553 00000 n 
+0000564060 00000 n 
+0000568612 00000 n 
+0000568671 00000 n 
+0000568730 00000 n 
+0000568788 00000 n 
+0000639688 00000 n 
+0000642334 00000 n 
+0000642456 00000 n 
+0000645803 00000 n 
+0000645926 00000 n 
+0000648066 00000 n 
+0000648189 00000 n 
+0000648307 00000 n 
+0000648425 00000 n 
+0000648543 00000 n 
+0000650678 00000 n 
+0000571382 00000 n 
+0000571602 00000 n 
+0000571823 00000 n 
+0000572009 00000 n 
+0000572230 00000 n 
+0000572449 00000 n 
+0000572637 00000 n 
+0000572856 00000 n 
+0000573044 00000 n 
+0000573263 00000 n 
+0000573459 00000 n 
+0000573677 00000 n 
+0000573872 00000 n 
+0000574091 00000 n 
+0000574286 00000 n 
+0000574505 00000 n 
+0000574701 00000 n 
+0000574920 00000 n 
+0000575108 00000 n 
+0000575326 00000 n 
+0000575514 00000 n 
+0000575731 00000 n 
+0000575926 00000 n 
+0000576144 00000 n 
+0000576339 00000 n 
+0000576558 00000 n 
+0000576744 00000 n 
+0000576909 00000 n 
+0000577128 00000 n 
+0000577320 00000 n 
+0000581342 00000 n 
+0000581561 00000 n 
+0000581748 00000 n 
+0000581967 00000 n 
+0000577485 00000 n 
+0000577895 00000 n 
+0000570738 00000 n 
+0000569001 00000 n 
+0000577659 00000 n 
+0000577718 00000 n 
+0000577777 00000 n 
+0000577836 00000 n 
+0003222127 00000 n 
+0000650796 00000 n 
+0000650914 00000 n 
+0000651032 00000 n 
+0000653173 00000 n 
+0000653291 00000 n 
+0000653409 00000 n 
+0000655622 00000 n 
+0000655740 00000 n 
+0000655858 00000 n 
+0000658194 00000 n 
+0000658312 00000 n 
+0000658429 00000 n 
+0000661075 00000 n 
+0000582152 00000 n 
+0000582373 00000 n 
+0000582558 00000 n 
+0000582779 00000 n 
+0000582966 00000 n 
+0000583184 00000 n 
+0000583370 00000 n 
+0000583590 00000 n 
+0000583776 00000 n 
+0000583955 00000 n 
+0000584176 00000 n 
+0000584362 00000 n 
+0000584558 00000 n 
+0000584737 00000 n 
+0000584957 00000 n 
+0000585142 00000 n 
+0000585337 00000 n 
+0000585516 00000 n 
+0000585737 00000 n 
+0000585923 00000 n 
+0000586128 00000 n 
+0000586324 00000 n 
+0000586500 00000 n 
+0000586721 00000 n 
+0000586917 00000 n 
+0000587122 00000 n 
+0000587317 00000 n 
+0000587494 00000 n 
+0000587715 00000 n 
+0000587901 00000 n 
+0000588106 00000 n 
+0000588498 00000 n 
+0000588675 00000 n 
+0000588896 00000 n 
+0000589092 00000 n 
+0000589297 00000 n 
+0000589492 00000 n 
+0000589668 00000 n 
+0000589889 00000 n 
+0000590074 00000 n 
+0000590270 00000 n 
+0000590662 00000 n 
+0000594471 00000 n 
+0000594692 00000 n 
+0000594878 00000 n 
+0000595074 00000 n 
+0000590849 00000 n 
+0000591082 00000 n 
+0000580766 00000 n 
+0000578049 00000 n 
+0000591023 00000 n 
+0003216352 00000 n 
+0000588302 00000 n 
+0000590466 00000 n 
+0000661193 00000 n 
+0000661311 00000 n 
+0000661429 00000 n 
+0000664527 00000 n 
+0000664645 00000 n 
+0000664763 00000 n 
+0000664881 00000 n 
+0000667834 00000 n 
+0000667952 00000 n 
+0000668070 00000 n 
+0000671367 00000 n 
+0000671485 00000 n 
+0000674567 00000 n 
+0000595466 00000 n 
+0000595652 00000 n 
+0000595869 00000 n 
+0000596055 00000 n 
+0000596224 00000 n 
+0000596445 00000 n 
+0000596637 00000 n 
+0000596842 00000 n 
+0000597251 00000 n 
+0000597455 00000 n 
+0000597651 00000 n 
+0000597817 00000 n 
+0000598036 00000 n 
+0000598240 00000 n 
+0000598461 00000 n 
+0000598652 00000 n 
+0000598856 00000 n 
+0000599075 00000 n 
+0000599294 00000 n 
+0000599481 00000 n 
+0000599647 00000 n 
+0000599868 00000 n 
+0000600055 00000 n 
+0000600221 00000 n 
+0000600440 00000 n 
+0000600627 00000 n 
+0000600791 00000 n 
+0000601012 00000 n 
+0000601199 00000 n 
+0000601395 00000 n 
+0000601558 00000 n 
+0000601777 00000 n 
+0000601964 00000 n 
+0000602297 00000 n 
+0000602518 00000 n 
+0000602705 00000 n 
+0000602901 00000 n 
+0000603067 00000 n 
+0000603285 00000 n 
+0000603471 00000 n 
+0000603631 00000 n 
+0000603849 00000 n 
+0000607044 00000 n 
+0000607265 00000 n 
+0000607452 00000 n 
+0000607648 00000 n 
+0000604036 00000 n 
+0000604387 00000 n 
+0000593886 00000 n 
+0000591293 00000 n 
+0000604210 00000 n 
+0000595270 00000 n 
+0000597046 00000 n 
+0000604269 00000 n 
+0000602131 00000 n 
+0000604328 00000 n 
+0000674685 00000 n 
+0000674803 00000 n 
+0000678827 00000 n 
+0000678945 00000 n 
+0000682088 00000 n 
+0000682205 00000 n 
+0000682323 00000 n 
+0000685618 00000 n 
+0000685736 00000 n 
+0000685854 00000 n 
+0000689447 00000 n 
+0000689565 00000 n 
+0000607807 00000 n 
+0000608026 00000 n 
+0000608231 00000 n 
+0000608450 00000 n 
+0000608654 00000 n 
+0000608873 00000 n 
+0000609057 00000 n 
+0000609228 00000 n 
+0000609446 00000 n 
+0000609638 00000 n 
+0000609856 00000 n 
+0000610060 00000 n 
+0000610279 00000 n 
+0000610470 00000 n 
+0000610689 00000 n 
+0000610875 00000 n 
+0000611080 00000 n 
+0000611298 00000 n 
+0000611490 00000 n 
+0000611674 00000 n 
+0000611879 00000 n 
+0000612100 00000 n 
+0000612321 00000 n 
+0000612542 00000 n 
+0000612762 00000 n 
+0000612949 00000 n 
+0000613136 00000 n 
+0000613664 00000 n 
+0000606630 00000 n 
+0000604610 00000 n 
+0000613310 00000 n 
+0000613369 00000 n 
+0000613428 00000 n 
+0000613487 00000 n 
+0000613546 00000 n 
+0000613605 00000 n 
+0000692930 00000 n 
+0000693048 00000 n 
+0000693166 00000 n 
+0000696699 00000 n 
+0000696817 00000 n 
+0000696935 00000 n 
+0000697053 00000 n 
+0000701006 00000 n 
+0000701129 00000 n 
+0000704997 00000 n 
+0000616056 00000 n 
+0000616277 00000 n 
+0000616464 00000 n 
+0000616685 00000 n 
+0000616872 00000 n 
+0000617059 00000 n 
+0000617280 00000 n 
+0000617473 00000 n 
+0000617659 00000 n 
+0000617844 00000 n 
+0000618048 00000 n 
+0000618268 00000 n 
+0000618460 00000 n 
+0000618646 00000 n 
+0000618833 00000 n 
+0000619037 00000 n 
+0000619256 00000 n 
+0000619448 00000 n 
+0000619634 00000 n 
+0000619819 00000 n 
+0000620023 00000 n 
+0000620243 00000 n 
+0000620436 00000 n 
+0000620621 00000 n 
+0000620807 00000 n 
+0000621010 00000 n 
+0000621230 00000 n 
+0000621422 00000 n 
+0000621608 00000 n 
+0000621793 00000 n 
+0000621997 00000 n 
+0000622218 00000 n 
+0000622411 00000 n 
+0000622596 00000 n 
+0000622782 00000 n 
+0000622985 00000 n 
+0000623206 00000 n 
+0000623393 00000 n 
+0000623765 00000 n 
+0000624057 00000 n 
+0000615561 00000 n 
+0000613845 00000 n 
+0000623939 00000 n 
+0000623998 00000 n 
+0000623580 00000 n 
+0000705115 00000 n 
+0000705238 00000 n 
+0000707887 00000 n 
+0000708010 00000 n 
+0000708133 00000 n 
+0000710714 00000 n 
+0000710837 00000 n 
+0000710960 00000 n 
+0000715532 00000 n 
+0000627772 00000 n 
+0000627963 00000 n 
+0000628151 00000 n 
+0000628338 00000 n 
+0000628524 00000 n 
+0000628875 00000 n 
+0000627592 00000 n 
+0000624238 00000 n 
+0000628698 00000 n 
+0000628757 00000 n 
+0000628816 00000 n 
+0000630896 00000 n 
+0000631487 00000 n 
+0000630752 00000 n 
+0000629050 00000 n 
+0000631070 00000 n 
+0000631129 00000 n 
+0000631246 00000 n 
+0003218888 00000 n 
+0000631364 00000 n 
+0003222253 00000 n 
+0000633379 00000 n 
+0000634029 00000 n 
+0000633235 00000 n 
+0000631682 00000 n 
+0000633553 00000 n 
+0000633612 00000 n 
+0000633735 00000 n 
+0000633852 00000 n 
+0000633970 00000 n 
+0000636280 00000 n 
+0000636930 00000 n 
+0000636136 00000 n 
+0000634186 00000 n 
+0000636454 00000 n 
+0000636572 00000 n 
+0000636695 00000 n 
+0000636813 00000 n 
+0000639101 00000 n 
+0000639806 00000 n 
+0000638957 00000 n 
+0000637087 00000 n 
+0000639275 00000 n 
+0000639334 00000 n 
+0000639393 00000 n 
+0000639511 00000 n 
+0000639629 00000 n 
+0000639747 00000 n 
+0000642101 00000 n 
+0000642579 00000 n 
+0000641957 00000 n 
+0000639976 00000 n 
+0000642275 00000 n 
+0000642398 00000 n 
+0000642520 00000 n 
+0000645226 00000 n 
+0000645407 00000 n 
+0000645570 00000 n 
+0000646047 00000 n 
+0000645064 00000 n 
+0000642734 00000 n 
+0000645744 00000 n 
+0000645867 00000 n 
+0000645989 00000 n 
+0000647833 00000 n 
+0000648602 00000 n 
+0000647689 00000 n 
+0000646214 00000 n 
+0000648007 00000 n 
+0000648130 00000 n 
+0000648248 00000 n 
+0000648366 00000 n 
+0000648484 00000 n 
+0003222379 00000 n 
+0000650386 00000 n 
+0000651091 00000 n 
+0000650242 00000 n 
+0000648757 00000 n 
+0000650560 00000 n 
+0000650619 00000 n 
+0000650737 00000 n 
+0000650855 00000 n 
+0000650973 00000 n 
+0000652881 00000 n 
+0000653468 00000 n 
+0000652737 00000 n 
+0000651231 00000 n 
+0000653055 00000 n 
+0000653114 00000 n 
+0000653232 00000 n 
+0000653350 00000 n 
+0000655330 00000 n 
+0000655917 00000 n 
+0000655186 00000 n 
+0000653623 00000 n 
+0000655504 00000 n 
+0000655563 00000 n 
+0000655681 00000 n 
+0000655799 00000 n 
+0000657740 00000 n 
+0000657902 00000 n 
+0000658547 00000 n 
+0000657587 00000 n 
+0000656072 00000 n 
+0000658076 00000 n 
+0000658135 00000 n 
+0000658253 00000 n 
+0000658371 00000 n 
+0000658488 00000 n 
+0000660491 00000 n 
+0000660656 00000 n 
+0000660842 00000 n 
+0000661547 00000 n 
+0000660329 00000 n 
+0000658702 00000 n 
+0000661016 00000 n 
+0000661134 00000 n 
+0000661252 00000 n 
+0000661370 00000 n 
+0000661488 00000 n 
+0000663938 00000 n 
+0000664116 00000 n 
+0000664294 00000 n 
+0000664999 00000 n 
+0000663776 00000 n 
+0000661702 00000 n 
+0000664468 00000 n 
+0000664586 00000 n 
+0000664704 00000 n 
+0000664822 00000 n 
+0000664940 00000 n 
+0003222505 00000 n 
+0000667245 00000 n 
+0000667424 00000 n 
+0000667601 00000 n 
+0000668128 00000 n 
+0000667083 00000 n 
+0000665182 00000 n 
+0000667775 00000 n 
+0000667893 00000 n 
+0000668011 00000 n 
+0000670544 00000 n 
+0000670721 00000 n 
+0000670898 00000 n 
+0000671075 00000 n 
+0000671602 00000 n 
+0000670373 00000 n 
+0000668320 00000 n 
+0000671249 00000 n 
+0000671308 00000 n 
+0000671426 00000 n 
+0000671544 00000 n 
+0000673960 00000 n 
+0000674147 00000 n 
+0000674334 00000 n 
+0000674861 00000 n 
+0000673798 00000 n 
+0000671794 00000 n 
+0000674508 00000 n 
+0000674626 00000 n 
+0000674744 00000 n 
+0000677850 00000 n 
+0000678019 00000 n 
+0000678183 00000 n 
+0000678369 00000 n 
+0000678535 00000 n 
+0000679063 00000 n 
+0000677670 00000 n 
+0000675053 00000 n 
+0000678709 00000 n 
+0000678768 00000 n 
+0000678886 00000 n 
+0000679004 00000 n 
+0000681354 00000 n 
+0000681521 00000 n 
+0000681688 00000 n 
+0000681855 00000 n 
+0000682441 00000 n 
+0000681183 00000 n 
+0000679233 00000 n 
+0000682029 00000 n 
+0000682147 00000 n 
+0000682264 00000 n 
+0000682382 00000 n 
+0000684556 00000 n 
+0000684724 00000 n 
+0000684888 00000 n 
+0000685054 00000 n 
+0000685217 00000 n 
+0000688494 00000 n 
+0000685385 00000 n 
+0000685913 00000 n 
+0000684367 00000 n 
+0000682624 00000 n 
+0000685559 00000 n 
+0000685677 00000 n 
+0000685795 00000 n 
+0003222631 00000 n 
+0000688661 00000 n 
+0000688828 00000 n 
+0000688994 00000 n 
+0000692202 00000 n 
+0000689155 00000 n 
+0000689683 00000 n 
+0000688314 00000 n 
+0000686081 00000 n 
+0000689329 00000 n 
+0000689388 00000 n 
+0003217969 00000 n 
+0000689506 00000 n 
+0000689624 00000 n 
+0000692370 00000 n 
+0000692530 00000 n 
+0000692697 00000 n 
+0000693284 00000 n 
+0000692031 00000 n 
+0000689893 00000 n 
+0000692871 00000 n 
+0000692989 00000 n 
+0000693107 00000 n 
+0000693225 00000 n 
+0000695701 00000 n 
+0000695873 00000 n 
+0000696094 00000 n 
+0000696280 00000 n 
+0000696466 00000 n 
+0000697112 00000 n 
+0000695521 00000 n 
+0000693516 00000 n 
+0000696640 00000 n 
+0000696758 00000 n 
+0000696876 00000 n 
+0000696994 00000 n 
+0000699941 00000 n 
+0000700132 00000 n 
+0000700322 00000 n 
+0000700543 00000 n 
+0000703982 00000 n 
+0000700714 00000 n 
+0000701188 00000 n 
+0000699761 00000 n 
+0000697316 00000 n 
+0000700888 00000 n 
+0000700947 00000 n 
+0000701070 00000 n 
+0000704167 00000 n 
+0000704353 00000 n 
+0000704523 00000 n 
+0000705361 00000 n 
+0000703811 00000 n 
+0000701340 00000 n 
+0000704697 00000 n 
+0000704756 00000 n 
+0000704879 00000 n 
+0000704938 00000 n 
+0000705056 00000 n 
+0000705179 00000 n 
+0000705302 00000 n 
+0000707654 00000 n 
+0000708256 00000 n 
+0000707510 00000 n 
+0000705528 00000 n 
+0000707828 00000 n 
+0000707951 00000 n 
+0000708074 00000 n 
+0000708197 00000 n 
+0003222757 00000 n 
+0000710481 00000 n 
+0000711083 00000 n 
+0000710337 00000 n 
+0000708398 00000 n 
+0000710655 00000 n 
+0000710778 00000 n 
+0000710901 00000 n 
+0000711024 00000 n 
+0000712940 00000 n 
+0000713149 00000 n 
+0000713379 00000 n 
+0000713609 00000 n 
+0000713797 00000 n 
+0000714027 00000 n 
+0000714224 00000 n 
+0000714454 00000 n 
+0000714684 00000 n 
+0000714880 00000 n 
+0000715111 00000 n 
+0000718505 00000 n 
+0000715299 00000 n 
+0000716184 00000 n 
+0000712697 00000 n 
+0000711238 00000 n 
+0000715473 00000 n 
+0000715596 00000 n 
+0000715771 00000 n 
+0000715830 00000 n 
+0000715889 00000 n 
+0000715948 00000 n 
+0000716007 00000 n 
+0000716066 00000 n 
+0000716125 00000 n 
+0000720898 00000 n 
+0000718702 00000 n 
+0000718915 00000 n 
+0000719130 00000 n 
+0000719316 00000 n 
+0000719531 00000 n 
+0000719717 00000 n 
+0000719932 00000 n 
+0000720137 00000 n 
+0000720342 00000 n 
+0000723895 00000 n 
+0000724108 00000 n 
+0000724311 00000 n 
+0000724514 00000 n 
+0000720547 00000 n 
+0000721309 00000 n 
+0000718271 00000 n 
+0000716381 00000 n 
+0000720721 00000 n 
+0000720780 00000 n 
+0000720839 00000 n 
+0000720957 00000 n 
+0000721132 00000 n 
+0000721191 00000 n 
+0000721250 00000 n 
+0000880649 00000 n 
+0000880772 00000 n 
+0000880890 00000 n 
+0000724717 00000 n 
+0000724912 00000 n 
+0000725127 00000 n 
+0000725322 00000 n 
+0000725537 00000 n 
+0000725732 00000 n 
+0000725947 00000 n 
+0000726141 00000 n 
+0000726355 00000 n 
+0000726559 00000 n 
+0000726774 00000 n 
+0000726977 00000 n 
+0000727191 00000 n 
+0000727406 00000 n 
+0000727621 00000 n 
+0000727836 00000 n 
+0000728051 00000 n 
+0000728265 00000 n 
+0000728469 00000 n 
+0000728673 00000 n 
+0000728888 00000 n 
+0000729069 00000 n 
+0000729274 00000 n 
+0000729489 00000 n 
+0000729670 00000 n 
+0000729875 00000 n 
+0000730089 00000 n 
+0000733713 00000 n 
+0000733928 00000 n 
+0000734124 00000 n 
+0000730284 00000 n 
+0000731105 00000 n 
+0000723472 00000 n 
+0000721502 00000 n 
+0000730458 00000 n 
+0000730517 00000 n 
+0000730575 00000 n 
+0000730634 00000 n 
+0000730693 00000 n 
+0000730752 00000 n 
+0000730811 00000 n 
+0000730869 00000 n 
+0000730928 00000 n 
+0000730987 00000 n 
+0000731046 00000 n 
+0000884009 00000 n 
+0000810231 00000 n 
+0000810349 00000 n 
+0000810467 00000 n 
+0000810590 00000 n 
+0000734317 00000 n 
+0000734532 00000 n 
+0000734727 00000 n 
+0000734942 00000 n 
+0000735137 00000 n 
+0000735330 00000 n 
+0000735545 00000 n 
+0000735741 00000 n 
+0000735956 00000 n 
+0000736152 00000 n 
+0000736344 00000 n 
+0000736559 00000 n 
+0000736746 00000 n 
+0000736951 00000 n 
+0000737166 00000 n 
+0000737360 00000 n 
+0000737565 00000 n 
+0000737780 00000 n 
+0000737968 00000 n 
+0000738173 00000 n 
+0000738388 00000 n 
+0000738570 00000 n 
+0000738775 00000 n 
+0000738989 00000 n 
+0000739193 00000 n 
+0000739396 00000 n 
+0000739577 00000 n 
+0000739792 00000 n 
+0000739973 00000 n 
+0000740186 00000 n 
+0000740367 00000 n 
+0000740572 00000 n 
+0000740786 00000 n 
+0000740991 00000 n 
+0000741206 00000 n 
+0000741395 00000 n 
+0000741609 00000 n 
+0000741824 00000 n 
+0000745316 00000 n 
+0000742037 00000 n 
+0000742682 00000 n 
+0000733200 00000 n 
+0000731288 00000 n 
+0000742211 00000 n 
+0000742270 00000 n 
+0000742328 00000 n 
+0000742387 00000 n 
+0000742446 00000 n 
+0000742505 00000 n 
+0000742564 00000 n 
+0000742623 00000 n 
+0000810713 00000 n 
+0000813109 00000 n 
+0000813227 00000 n 
+0000813344 00000 n 
+0000815933 00000 n 
+0000816051 00000 n 
+0000816169 00000 n 
+0000816292 00000 n 
+0000816415 00000 n 
+0000818937 00000 n 
+0000745531 00000 n 
+0000745744 00000 n 
+0000745959 00000 n 
+0000746174 00000 n 
+0000746360 00000 n 
+0000746557 00000 n 
+0000746771 00000 n 
+0000746958 00000 n 
+0000747155 00000 n 
+0000747369 00000 n 
+0000747556 00000 n 
+0000747753 00000 n 
+0000747967 00000 n 
+0000748153 00000 n 
+0000748367 00000 n 
+0000748562 00000 n 
+0000748777 00000 n 
+0000748972 00000 n 
+0000749186 00000 n 
+0000749382 00000 n 
+0000749587 00000 n 
+0000749792 00000 n 
+0000750006 00000 n 
+0000750202 00000 n 
+0000750407 00000 n 
+0000750612 00000 n 
+0000750799 00000 n 
+0000751014 00000 n 
+0000751210 00000 n 
+0000751414 00000 n 
+0000751618 00000 n 
+0000751833 00000 n 
+0000752029 00000 n 
+0000752233 00000 n 
+0000752437 00000 n 
+0000752624 00000 n 
+0000752839 00000 n 
+0000753034 00000 n 
+0000753239 00000 n 
+0000753444 00000 n 
+0000753853 00000 n 
+0000754057 00000 n 
+0000754270 00000 n 
+0000757095 00000 n 
+0000757310 00000 n 
+0000754449 00000 n 
+0000754859 00000 n 
+0000744767 00000 n 
+0000742865 00000 n 
+0000754623 00000 n 
+0000754682 00000 n 
+0000754741 00000 n 
+0000754800 00000 n 
+0000753648 00000 n 
+0003222883 00000 n 
+0000819117 00000 n 
+0000819235 00000 n 
+0000819353 00000 n 
+0000821680 00000 n 
+0000821794 00000 n 
+0000821912 00000 n 
+0000822030 00000 n 
+0000824819 00000 n 
+0000824942 00000 n 
+0000825064 00000 n 
+0000828316 00000 n 
+0000828438 00000 n 
+0000757490 00000 n 
+0000757705 00000 n 
+0000757886 00000 n 
+0000758099 00000 n 
+0000758312 00000 n 
+0000758500 00000 n 
+0000758713 00000 n 
+0000758909 00000 n 
+0000759122 00000 n 
+0000759318 00000 n 
+0000759531 00000 n 
+0000759719 00000 n 
+0000759932 00000 n 
+0000760127 00000 n 
+0000760340 00000 n 
+0000760536 00000 n 
+0000760749 00000 n 
+0000760937 00000 n 
+0000761148 00000 n 
+0000761343 00000 n 
+0000761555 00000 n 
+0000761743 00000 n 
+0000761956 00000 n 
+0000762152 00000 n 
+0000762365 00000 n 
+0000762553 00000 n 
+0000762766 00000 n 
+0000762962 00000 n 
+0000763166 00000 n 
+0000763379 00000 n 
+0000763565 00000 n 
+0000763730 00000 n 
+0000763942 00000 n 
+0000767862 00000 n 
+0000768027 00000 n 
+0000768240 00000 n 
+0000764133 00000 n 
+0000764425 00000 n 
+0000756636 00000 n 
+0000755013 00000 n 
+0000764307 00000 n 
+0000764366 00000 n 
+0000830682 00000 n 
+0000830800 00000 n 
+0000830918 00000 n 
+0000831036 00000 n 
+0000833211 00000 n 
+0000833329 00000 n 
+0000833447 00000 n 
+0000835612 00000 n 
+0000835730 00000 n 
+0000835846 00000 n 
+0000838539 00000 n 
+0000838657 00000 n 
+0000838772 00000 n 
+0000841270 00000 n 
+0000841388 00000 n 
+0000841506 00000 n 
+0000768421 00000 n 
+0000768633 00000 n 
+0000768811 00000 n 
+0000769026 00000 n 
+0000769205 00000 n 
+0000769418 00000 n 
+0000769599 00000 n 
+0000769812 00000 n 
+0000769991 00000 n 
+0000770170 00000 n 
+0000770385 00000 n 
+0000770571 00000 n 
+0000770767 00000 n 
+0000770946 00000 n 
+0000771161 00000 n 
+0000771347 00000 n 
+0000771543 00000 n 
+0000771721 00000 n 
+0000771936 00000 n 
+0000772122 00000 n 
+0000772327 00000 n 
+0000772523 00000 n 
+0000772700 00000 n 
+0000772915 00000 n 
+0000773101 00000 n 
+0000773306 00000 n 
+0000773697 00000 n 
+0000773873 00000 n 
+0000774088 00000 n 
+0000774284 00000 n 
+0000774489 00000 n 
+0000774685 00000 n 
+0000774862 00000 n 
+0000775077 00000 n 
+0000775273 00000 n 
+0000775478 00000 n 
+0000775672 00000 n 
+0000775848 00000 n 
+0000776063 00000 n 
+0000776248 00000 n 
+0000776444 00000 n 
+0000776835 00000 n 
+0000780714 00000 n 
+0000780929 00000 n 
+0000781115 00000 n 
+0000781311 00000 n 
+0000781703 00000 n 
+0000777022 00000 n 
+0000777255 00000 n 
+0000767295 00000 n 
+0000764579 00000 n 
+0000777196 00000 n 
+0000773502 00000 n 
+0000776640 00000 n 
+0000844161 00000 n 
+0000844279 00000 n 
+0000844397 00000 n 
+0000844515 00000 n 
+0000847594 00000 n 
+0000847712 00000 n 
+0000847830 00000 n 
+0000850714 00000 n 
+0000850832 00000 n 
+0000854070 00000 n 
+0000854188 00000 n 
+0000854306 00000 n 
+0000781890 00000 n 
+0000782102 00000 n 
+0000782283 00000 n 
+0000782452 00000 n 
+0000782665 00000 n 
+0000782880 00000 n 
+0000783072 00000 n 
+0000783277 00000 n 
+0000783686 00000 n 
+0000783890 00000 n 
+0000784086 00000 n 
+0000784251 00000 n 
+0000784464 00000 n 
+0000784668 00000 n 
+0000784883 00000 n 
+0000785074 00000 n 
+0000785278 00000 n 
+0000785459 00000 n 
+0000785673 00000 n 
+0000785840 00000 n 
+0000786021 00000 n 
+0000786236 00000 n 
+0000786403 00000 n 
+0000786615 00000 n 
+0000786796 00000 n 
+0000787011 00000 n 
+0000787192 00000 n 
+0000787388 00000 n 
+0000787555 00000 n 
+0000787735 00000 n 
+0000787950 00000 n 
+0000788283 00000 n 
+0000788495 00000 n 
+0000788699 00000 n 
+0000788910 00000 n 
+0000791999 00000 n 
+0000792212 00000 n 
+0000789112 00000 n 
+0000789463 00000 n 
+0000780183 00000 n 
+0000777466 00000 n 
+0000789286 00000 n 
+0000781507 00000 n 
+0000789345 00000 n 
+0000783481 00000 n 
+0000789404 00000 n 
+0000788117 00000 n 
+0000857174 00000 n 
+0000857292 00000 n 
+0000857410 00000 n 
+0000861359 00000 n 
+0000861477 00000 n 
+0000864730 00000 n 
+0000864848 00000 n 
+0000864964 00000 n 
+0000868775 00000 n 
+0000868893 00000 n 
+0000872489 00000 n 
+0000792391 00000 n 
+0000792602 00000 n 
+0000792793 00000 n 
+0000793006 00000 n 
+0000793211 00000 n 
+0000793424 00000 n 
+0000793614 00000 n 
+0000793827 00000 n 
+0000794013 00000 n 
+0000794218 00000 n 
+0000794430 00000 n 
+0000794622 00000 n 
+0000794806 00000 n 
+0000795011 00000 n 
+0000795226 00000 n 
+0000795407 00000 n 
+0000795621 00000 n 
+0000795835 00000 n 
+0000796049 00000 n 
+0000796230 00000 n 
+0000796411 00000 n 
+0000796626 00000 n 
+0000796807 00000 n 
+0000796988 00000 n 
+0000797202 00000 n 
+0000800586 00000 n 
+0000800801 00000 n 
+0000800994 00000 n 
+0000801174 00000 n 
+0000801353 00000 n 
+0000797382 00000 n 
+0000797969 00000 n 
+0000791612 00000 n 
+0000789686 00000 n 
+0000797556 00000 n 
+0000797615 00000 n 
+0000797674 00000 n 
+0000797733 00000 n 
+0000797792 00000 n 
+0000797851 00000 n 
+0000797910 00000 n 
+0000872607 00000 n 
+0000872725 00000 n 
+0000876295 00000 n 
+0000876413 00000 n 
+0000876530 00000 n 
+0000880527 00000 n 
+0000884190 00000 n 
+0000884306 00000 n 
+0000884429 00000 n 
+0000801558 00000 n 
+0000801773 00000 n 
+0000801966 00000 n 
+0000802145 00000 n 
+0000802323 00000 n 
+0000802527 00000 n 
+0000802741 00000 n 
+0000802934 00000 n 
+0000803114 00000 n 
+0000803293 00000 n 
+0000803498 00000 n 
+0000803712 00000 n 
+0000803905 00000 n 
+0000804085 00000 n 
+0000804264 00000 n 
+0000804469 00000 n 
+0000804682 00000 n 
+0000804873 00000 n 
+0000805053 00000 n 
+0000805232 00000 n 
+0000805437 00000 n 
+0000805652 00000 n 
+0000805845 00000 n 
+0000806025 00000 n 
+0000806204 00000 n 
+0000806409 00000 n 
+0000806589 00000 n 
+0000806770 00000 n 
+0000807121 00000 n 
+0000800154 00000 n 
+0000798137 00000 n 
+0000806944 00000 n 
+0000807003 00000 n 
+0000807062 00000 n 
+0000887035 00000 n 
+0000887151 00000 n 
+0000887274 00000 n 
+0000889780 00000 n 
+0000889901 00000 n 
+0000890024 00000 n 
+0000809412 00000 n 
+0000809591 00000 n 
+0000809782 00000 n 
+0000809939 00000 n 
+0000810771 00000 n 
+0000809241 00000 n 
+0000807302 00000 n 
+0000810113 00000 n 
+0000810172 00000 n 
+0000810290 00000 n 
+0000810408 00000 n 
+0000810531 00000 n 
+0000810654 00000 n 
+0003223009 00000 n 
+0000812660 00000 n 
+0000812817 00000 n 
+0000813461 00000 n 
+0000812507 00000 n 
+0000810928 00000 n 
+0000812991 00000 n 
+0000813050 00000 n 
+0000813168 00000 n 
+0000813286 00000 n 
+0000813402 00000 n 
+0000815700 00000 n 
+0000816479 00000 n 
+0000815556 00000 n 
+0000813603 00000 n 
+0000815874 00000 n 
+0000815992 00000 n 
+0000816110 00000 n 
+0000816233 00000 n 
+0000816356 00000 n 
+0000818645 00000 n 
+0000819471 00000 n 
+0000818501 00000 n 
+0000816636 00000 n 
+0000818819 00000 n 
+0000818878 00000 n 
+0000819001 00000 n 
+0000819059 00000 n 
+0000819176 00000 n 
+0000819294 00000 n 
+0000819412 00000 n 
+0000821447 00000 n 
+0000822148 00000 n 
+0000821303 00000 n 
+0000819641 00000 n 
+0000821621 00000 n 
+0000821739 00000 n 
+0000821853 00000 n 
+0000821971 00000 n 
+0000822089 00000 n 
+0000824586 00000 n 
+0000825127 00000 n 
+0000824442 00000 n 
+0000822303 00000 n 
+0000824760 00000 n 
+0000824883 00000 n 
+0000825006 00000 n 
+0000827679 00000 n 
+0000827861 00000 n 
+0000828024 00000 n 
+0000828502 00000 n 
+0000827517 00000 n 
+0000825282 00000 n 
+0000828198 00000 n 
+0000828257 00000 n 
+0000828379 00000 n 
+0003223135 00000 n 
+0000830209 00000 n 
+0000830390 00000 n 
+0000831095 00000 n 
+0000830056 00000 n 
+0000828669 00000 n 
+0000830564 00000 n 
+0000830623 00000 n 
+0000830741 00000 n 
+0000830859 00000 n 
+0000830977 00000 n 
+0000832919 00000 n 
+0000833506 00000 n 
+0000832775 00000 n 
+0000831250 00000 n 
+0000833093 00000 n 
+0000833152 00000 n 
+0000833270 00000 n 
+0000833388 00000 n 
+0000835320 00000 n 
+0000835905 00000 n 
+0000835176 00000 n 
+0000833661 00000 n 
+0000835494 00000 n 
+0000835553 00000 n 
+0000835671 00000 n 
+0000835788 00000 n 
+0000837819 00000 n 
+0000838247 00000 n 
+0000838831 00000 n 
+0000837657 00000 n 
+0000836060 00000 n 
+0000838421 00000 n 
+0000838480 00000 n 
+0000838032 00000 n 
+0000838598 00000 n 
+0000838714 00000 n 
+0000840815 00000 n 
+0000843518 00000 n 
+0000840978 00000 n 
+0000841565 00000 n 
+0000840662 00000 n 
+0000838986 00000 n 
+0000841152 00000 n 
+0000841211 00000 n 
+0000841329 00000 n 
+0000841447 00000 n 
+0000843683 00000 n 
+0000843869 00000 n 
+0000844573 00000 n 
+0000843356 00000 n 
+0000841735 00000 n 
+0000844043 00000 n 
+0000844102 00000 n 
+0000844220 00000 n 
+0000844338 00000 n 
+0000844456 00000 n 
+0003223261 00000 n 
+0000846766 00000 n 
+0000846945 00000 n 
+0000847123 00000 n 
+0000847302 00000 n 
+0000847946 00000 n 
+0000846595 00000 n 
+0000844728 00000 n 
+0000847476 00000 n 
+0000847535 00000 n 
+0000847653 00000 n 
+0000847771 00000 n 
+0000847888 00000 n 
+0000850128 00000 n 
+0000850305 00000 n 
+0000850481 00000 n 
+0000850950 00000 n 
+0000849966 00000 n 
+0000848101 00000 n 
+0000850655 00000 n 
+0000850773 00000 n 
+0000850891 00000 n 
+0000853297 00000 n 
+0000853474 00000 n 
+0000853651 00000 n 
+0000853837 00000 n 
+0000854424 00000 n 
+0000853126 00000 n 
+0000851142 00000 n 
+0000854011 00000 n 
+0000854129 00000 n 
+0000854247 00000 n 
+0000854365 00000 n 
+0000856586 00000 n 
+0000856773 00000 n 
+0000856941 00000 n 
+0000857469 00000 n 
+0000856424 00000 n 
+0000854616 00000 n 
+0000857115 00000 n 
+0000857233 00000 n 
+0000857351 00000 n 
+0000860173 00000 n 
+0000860338 00000 n 
+0000860522 00000 n 
+0000860702 00000 n 
+0000860881 00000 n 
+0000861067 00000 n 
+0000861594 00000 n 
+0000859984 00000 n 
+0000857661 00000 n 
+0000861241 00000 n 
+0000861300 00000 n 
+0000861418 00000 n 
+0000861535 00000 n 
+0000863998 00000 n 
+0000864164 00000 n 
+0000864332 00000 n 
+0000867800 00000 n 
+0000864497 00000 n 
+0000865023 00000 n 
+0000863827 00000 n 
+0000861749 00000 n 
+0000864671 00000 n 
+0000864789 00000 n 
+0000864906 00000 n 
+0003223387 00000 n 
+0000867967 00000 n 
+0000868135 00000 n 
+0000868302 00000 n 
+0000868483 00000 n 
+0000869011 00000 n 
+0000867620 00000 n 
+0000865191 00000 n 
+0000868657 00000 n 
+0000868716 00000 n 
+0000868834 00000 n 
+0000868952 00000 n 
+0000872071 00000 n 
+0000875496 00000 n 
+0000872256 00000 n 
+0000872848 00000 n 
+0000871918 00000 n 
+0000869221 00000 n 
+0000872430 00000 n 
+0000872548 00000 n 
+0000872666 00000 n 
+0000872789 00000 n 
+0000875682 00000 n 
+0000875872 00000 n 
+0000876062 00000 n 
+0000876652 00000 n 
+0000875325 00000 n 
+0000873065 00000 n 
+0000876236 00000 n 
+0000876354 00000 n 
+0000876471 00000 n 
+0000876593 00000 n 
+0000879366 00000 n 
+0000879581 00000 n 
+0000879752 00000 n 
+0000879938 00000 n 
+0000880124 00000 n 
+0000880294 00000 n 
+0000880948 00000 n 
+0000879177 00000 n 
+0000876819 00000 n 
+0000880468 00000 n 
+0000880590 00000 n 
+0000880713 00000 n 
+0000880831 00000 n 
+0000883717 00000 n 
+0000884493 00000 n 
+0000883573 00000 n 
+0000881115 00000 n 
+0000883891 00000 n 
+0000883950 00000 n 
+0000884073 00000 n 
+0000884131 00000 n 
+0000884248 00000 n 
+0000884370 00000 n 
+0000886743 00000 n 
+0000887397 00000 n 
+0000886599 00000 n 
+0000884660 00000 n 
+0000886917 00000 n 
+0000886976 00000 n 
+0000887093 00000 n 
+0000887215 00000 n 
+0000887338 00000 n 
+0003223513 00000 n 
+0000889547 00000 n 
+0000890147 00000 n 
+0000889403 00000 n 
+0000887539 00000 n 
+0000889721 00000 n 
+0000889844 00000 n 
+0000889965 00000 n 
+0000890088 00000 n 
+0000892370 00000 n 
+0000892557 00000 n 
+0000892781 00000 n 
+0000892986 00000 n 
+0000893191 00000 n 
+0000893415 00000 n 
+0000893611 00000 n 
+0000893834 00000 n 
+0000894029 00000 n 
+0000894221 00000 n 
+0000894445 00000 n 
+0000894640 00000 n 
+0000894864 00000 n 
+0000895059 00000 n 
+0000895252 00000 n 
+0000895476 00000 n 
+0000895672 00000 n 
+0000895896 00000 n 
+0000896092 00000 n 
+0000896284 00000 n 
+0000896508 00000 n 
+0000896701 00000 n 
+0000896906 00000 n 
+0000897128 00000 n 
+0000897307 00000 n 
+0000897491 00000 n 
+0000900852 00000 n 
+0000901076 00000 n 
+0000901263 00000 n 
+0000897694 00000 n 
+0000898102 00000 n 
+0000891992 00000 n 
+0000890302 00000 n 
+0000897868 00000 n 
+0000898043 00000 n 
+0000908661 00000 n 
+0000908779 00000 n 
+0000908902 00000 n 
+0000909019 00000 n 
+0000910907 00000 n 
+0000911025 00000 n 
+0000911143 00000 n 
+0000913528 00000 n 
+0000913646 00000 n 
+0000901468 00000 n 
+0000901692 00000 n 
+0000901886 00000 n 
+0000902090 00000 n 
+0000902314 00000 n 
+0000902496 00000 n 
+0000902701 00000 n 
+0000902925 00000 n 
+0000903115 00000 n 
+0000903319 00000 n 
+0000903509 00000 n 
+0000903734 00000 n 
+0000903924 00000 n 
+0000904113 00000 n 
+0000904337 00000 n 
+0000904528 00000 n 
+0000904751 00000 n 
+0000904976 00000 n 
+0000905167 00000 n 
+0000905392 00000 n 
+0000905583 00000 n 
+0000905773 00000 n 
+0000905965 00000 n 
+0000906493 00000 n 
+0000900483 00000 n 
+0000898268 00000 n 
+0000906139 00000 n 
+0000906198 00000 n 
+0000906257 00000 n 
+0000906316 00000 n 
+0000906375 00000 n 
+0000906434 00000 n 
+0000913764 00000 n 
+0000915790 00000 n 
+0000915907 00000 n 
+0000916025 00000 n 
+0000916202 00000 n 
+0000908369 00000 n 
+0000909077 00000 n 
+0000908225 00000 n 
+0000906700 00000 n 
+0000908543 00000 n 
+0000908602 00000 n 
+0000908720 00000 n 
+0000908843 00000 n 
+0000908961 00000 n 
+0000910615 00000 n 
+0000911202 00000 n 
+0000910471 00000 n 
+0000909221 00000 n 
+0000910789 00000 n 
+0000910848 00000 n 
+0000910966 00000 n 
+0000911084 00000 n 
+0000913236 00000 n 
+0000913881 00000 n 
+0000913092 00000 n 
+0000911331 00000 n 
+0000913410 00000 n 
+0000913469 00000 n 
+0000913587 00000 n 
+0000913705 00000 n 
+0000913822 00000 n 
+0003223639 00000 n 
+0000915557 00000 n 
+0000916320 00000 n 
+0000915413 00000 n 
+0000914038 00000 n 
+0000915731 00000 n 
+0000915849 00000 n 
+0000915966 00000 n 
+0000916084 00000 n 
+0000916143 00000 n 
+0000916261 00000 n 
+0000918462 00000 n 
+0000918689 00000 n 
+0000918893 00000 n 
+0000919120 00000 n 
+0000919347 00000 n 
+0000919574 00000 n 
+0000919767 00000 n 
+0000919994 00000 n 
+0000920187 00000 n 
+0000920392 00000 n 
+0000920584 00000 n 
+0000920811 00000 n 
+0000921016 00000 n 
+0000921243 00000 n 
+0000921448 00000 n 
+0000921675 00000 n 
+0000921879 00000 n 
+0000922106 00000 n 
+0000922311 00000 n 
+0000922536 00000 n 
+0000925529 00000 n 
+0000925756 00000 n 
+0000922739 00000 n 
+0000923679 00000 n 
+0000918138 00000 n 
+0000916477 00000 n 
+0000922913 00000 n 
+0000923089 00000 n 
+0000923148 00000 n 
+0000923207 00000 n 
+0000923266 00000 n 
+0000923325 00000 n 
+0000923384 00000 n 
+0000923443 00000 n 
+0000923502 00000 n 
+0000923561 00000 n 
+0000923620 00000 n 
+0000999834 00000 n 
+0000925961 00000 n 
+0000926188 00000 n 
+0000926393 00000 n 
+0000926620 00000 n 
+0000926825 00000 n 
+0000927052 00000 n 
+0000927257 00000 n 
+0000927484 00000 n 
+0000927688 00000 n 
+0000927915 00000 n 
+0000928119 00000 n 
+0000928346 00000 n 
+0000928551 00000 n 
+0000928778 00000 n 
+0000928983 00000 n 
+0000929210 00000 n 
+0000929415 00000 n 
+0000929642 00000 n 
+0000929847 00000 n 
+0000930074 00000 n 
+0000930279 00000 n 
+0000930506 00000 n 
+0000930711 00000 n 
+0000930937 00000 n 
+0000931129 00000 n 
+0000931321 00000 n 
+0000931548 00000 n 
+0000931774 00000 n 
+0000934884 00000 n 
+0000935111 00000 n 
+0000932001 00000 n 
+0000933178 00000 n 
+0000925115 00000 n 
+0000923875 00000 n 
+0000932175 00000 n 
+0000932234 00000 n 
+0000932293 00000 n 
+0000932352 00000 n 
+0000932411 00000 n 
+0000932470 00000 n 
+0000932529 00000 n 
+0000932588 00000 n 
+0000932647 00000 n 
+0000932706 00000 n 
+0000932765 00000 n 
+0000932824 00000 n 
+0000932883 00000 n 
+0000932942 00000 n 
+0000933001 00000 n 
+0000933060 00000 n 
+0000933119 00000 n 
+0000935338 00000 n 
+0000935565 00000 n 
+0000935791 00000 n 
+0000936018 00000 n 
+0000936245 00000 n 
+0000936472 00000 n 
+0000936698 00000 n 
+0000936925 00000 n 
+0000937152 00000 n 
+0000937379 00000 n 
+0000937606 00000 n 
+0000937833 00000 n 
+0000938059 00000 n 
+0000938284 00000 n 
+0000941581 00000 n 
+0000941808 00000 n 
+0000942001 00000 n 
+0000942228 00000 n 
+0000938511 00000 n 
+0000939686 00000 n 
+0000934596 00000 n 
+0000933330 00000 n 
+0000938685 00000 n 
+0000938744 00000 n 
+0000938803 00000 n 
+0000938862 00000 n 
+0000938921 00000 n 
+0000938980 00000 n 
+0000939039 00000 n 
+0000939098 00000 n 
+0000939155 00000 n 
+0000939214 00000 n 
+0000939273 00000 n 
+0000939332 00000 n 
+0000939391 00000 n 
+0000939450 00000 n 
+0000939509 00000 n 
+0000939568 00000 n 
+0000939627 00000 n 
+0000942421 00000 n 
+0000942614 00000 n 
+0000942841 00000 n 
+0000943034 00000 n 
+0000943260 00000 n 
+0000943453 00000 n 
+0000943646 00000 n 
+0000943872 00000 n 
+0000944074 00000 n 
+0000944267 00000 n 
+0000944493 00000 n 
+0000944686 00000 n 
+0000944912 00000 n 
+0000945105 00000 n 
+0000945298 00000 n 
+0000945524 00000 n 
+0000945725 00000 n 
+0000945917 00000 n 
+0000946143 00000 n 
+0000946336 00000 n 
+0000946563 00000 n 
+0000946755 00000 n 
+0000946948 00000 n 
+0000947175 00000 n 
+0000947376 00000 n 
+0000947568 00000 n 
+0000947795 00000 n 
+0000947987 00000 n 
+0000948213 00000 n 
+0000951528 00000 n 
+0000951721 00000 n 
+0000951948 00000 n 
+0000952150 00000 n 
+0000952343 00000 n 
+0000948405 00000 n 
+0000949403 00000 n 
+0000941140 00000 n 
+0000939838 00000 n 
+0000948579 00000 n 
+0000948638 00000 n 
+0000948697 00000 n 
+0000948756 00000 n 
+0000948814 00000 n 
+0000948873 00000 n 
+0000948932 00000 n 
+0000948991 00000 n 
+0000949050 00000 n 
+0000949109 00000 n 
+0000949168 00000 n 
+0000949227 00000 n 
+0000949285 00000 n 
+0000949344 00000 n 
+0000952570 00000 n 
+0000952763 00000 n 
+0000952989 00000 n 
+0000953182 00000 n 
+0000953375 00000 n 
+0000953601 00000 n 
+0000953803 00000 n 
+0000953996 00000 n 
+0000954221 00000 n 
+0000954414 00000 n 
+0000954640 00000 n 
+0000954833 00000 n 
+0000955060 00000 n 
+0000955253 00000 n 
+0000955480 00000 n 
+0000955673 00000 n 
+0000955900 00000 n 
+0000956102 00000 n 
+0000956329 00000 n 
+0000956531 00000 n 
+0000956758 00000 n 
+0000956960 00000 n 
+0000957187 00000 n 
+0000957389 00000 n 
+0000957616 00000 n 
+0000957818 00000 n 
+0000958044 00000 n 
+0000958245 00000 n 
+0000958448 00000 n 
+0000958672 00000 n 
+0000962276 00000 n 
+0000962478 00000 n 
+0000962682 00000 n 
+0000962908 00000 n 
+0000963112 00000 n 
+0000963313 00000 n 
+0000963518 00000 n 
+0000963744 00000 n 
+0000958875 00000 n 
+0000959695 00000 n 
+0000951069 00000 n 
+0000949555 00000 n 
+0000959049 00000 n 
+0000959108 00000 n 
+0000959167 00000 n 
+0000959225 00000 n 
+0000959283 00000 n 
+0000959342 00000 n 
+0000959401 00000 n 
+0000959459 00000 n 
+0000959518 00000 n 
+0000959577 00000 n 
+0000959636 00000 n 
+0003223765 00000 n 
+0001002171 00000 n 
+0001002289 00000 n 
+0001002412 00000 n 
+0001002535 00000 n 
+0001002656 00000 n 
+0001002779 00000 n 
+0000963947 00000 n 
+0000964147 00000 n 
+0000964351 00000 n 
+0000964576 00000 n 
+0000964780 00000 n 
+0000965007 00000 n 
+0000965200 00000 n 
+0000965393 00000 n 
+0000965620 00000 n 
+0000965813 00000 n 
+0000966039 00000 n 
+0000966232 00000 n 
+0000966459 00000 n 
+0000966652 00000 n 
+0000966857 00000 n 
+0000967082 00000 n 
+0000967275 00000 n 
+0000967468 00000 n 
+0000967695 00000 n 
+0000967888 00000 n 
+0000968080 00000 n 
+0000968306 00000 n 
+0000968498 00000 n 
+0000968723 00000 n 
+0000968916 00000 n 
+0000969143 00000 n 
+0000969336 00000 n 
+0000969529 00000 n 
+0000969754 00000 n 
+0000969947 00000 n 
+0000970173 00000 n 
+0000970365 00000 n 
+0000970557 00000 n 
+0000970790 00000 n 
+0000961772 00000 n 
+0000959834 00000 n 
+0000970731 00000 n 
+0001002902 00000 n 
+0001003025 00000 n 
+0001005286 00000 n 
+0001027051 00000 n 
+0001027167 00000 n 
+0001005409 00000 n 
+0001005532 00000 n 
+0001005650 00000 n 
+0001005768 00000 n 
+0001005884 00000 n 
+0001006002 00000 n 
+0001006120 00000 n 
+0001007937 00000 n 
+0000973388 00000 n 
+0000973613 00000 n 
+0000973806 00000 n 
+0000974032 00000 n 
+0000974225 00000 n 
+0000974418 00000 n 
+0000974643 00000 n 
+0000974836 00000 n 
+0000975063 00000 n 
+0000975256 00000 n 
+0000975449 00000 n 
+0000975673 00000 n 
+0000975866 00000 n 
+0000976093 00000 n 
+0000976285 00000 n 
+0000976477 00000 n 
+0000976704 00000 n 
+0000976897 00000 n 
+0000977090 00000 n 
+0000977283 00000 n 
+0000977510 00000 n 
+0000977702 00000 n 
+0000977895 00000 n 
+0000978088 00000 n 
+0000978315 00000 n 
+0000978508 00000 n 
+0000978701 00000 n 
+0000978894 00000 n 
+0000979121 00000 n 
+0000979314 00000 n 
+0000979507 00000 n 
+0000979700 00000 n 
+0000979893 00000 n 
+0000980279 00000 n 
+0000980506 00000 n 
+0000980699 00000 n 
+0000980892 00000 n 
+0000983889 00000 n 
+0000984116 00000 n 
+0000984309 00000 n 
+0000981085 00000 n 
+0000981318 00000 n 
+0000972902 00000 n 
+0000970956 00000 n 
+0000981259 00000 n 
+0000980086 00000 n 
+0001008054 00000 n 
+0001008171 00000 n 
+0001008289 00000 n 
+0001008407 00000 n 
+0001008525 00000 n 
+0001008643 00000 n 
+0001010910 00000 n 
+0001011028 00000 n 
+0001011144 00000 n 
+0001011262 00000 n 
+0001011380 00000 n 
+0000984502 00000 n 
+0000984729 00000 n 
+0000984922 00000 n 
+0000985115 00000 n 
+0000985341 00000 n 
+0000985534 00000 n 
+0000985725 00000 n 
+0000985918 00000 n 
+0000986145 00000 n 
+0000986338 00000 n 
+0000986531 00000 n 
+0000986733 00000 n 
+0000986935 00000 n 
+0000987124 00000 n 
+0000987314 00000 n 
+0000987540 00000 n 
+0000987742 00000 n 
+0000987944 00000 n 
+0000988133 00000 n 
+0000988322 00000 n 
+0000988549 00000 n 
+0000988749 00000 n 
+0000988949 00000 n 
+0000989137 00000 n 
+0000989326 00000 n 
+0000989551 00000 n 
+0000989753 00000 n 
+0000989955 00000 n 
+0000990142 00000 n 
+0000990330 00000 n 
+0000990555 00000 n 
+0000990756 00000 n 
+0000990957 00000 n 
+0000991145 00000 n 
+0000991334 00000 n 
+0000994844 00000 n 
+0000995046 00000 n 
+0000995248 00000 n 
+0000995437 00000 n 
+0000995627 00000 n 
+0000991559 00000 n 
+0000991792 00000 n 
+0000983403 00000 n 
+0000981486 00000 n 
+0000991733 00000 n 
+0003218119 00000 n 
+0001011498 00000 n 
+0001011616 00000 n 
+0001014101 00000 n 
+0001014219 00000 n 
+0001014342 00000 n 
+0001014460 00000 n 
+0001014578 00000 n 
+0001014696 00000 n 
+0001017102 00000 n 
+0000995854 00000 n 
+0000996056 00000 n 
+0000996283 00000 n 
+0000996485 00000 n 
+0000996686 00000 n 
+0000996913 00000 n 
+0000997114 00000 n 
+0000997319 00000 n 
+0000997546 00000 n 
+0000997751 00000 n 
+0000997978 00000 n 
+0000998171 00000 n 
+0000998372 00000 n 
+0000998575 00000 n 
+0000998801 00000 n 
+0000999006 00000 n 
+0000999232 00000 n 
+0000999424 00000 n 
+0000999952 00000 n 
+0000994502 00000 n 
+0000992018 00000 n 
+0000999598 00000 n 
+0000999657 00000 n 
+0000999716 00000 n 
+0000999775 00000 n 
+0000999893 00000 n 
+0001017219 00000 n 
+0001017337 00000 n 
+0001017455 00000 n 
+0001017573 00000 n 
+0001017691 00000 n 
+0001021527 00000 n 
+0001024170 00000 n 
+0001001879 00000 n 
+0001003089 00000 n 
+0001001735 00000 n 
+0001000193 00000 n 
+0001002053 00000 n 
+0001002112 00000 n 
+0001002230 00000 n 
+0001002353 00000 n 
+0001002476 00000 n 
+0001002598 00000 n 
+0001002720 00000 n 
+0001002843 00000 n 
+0001002966 00000 n 
+0001004994 00000 n 
+0001006177 00000 n 
+0001004850 00000 n 
+0001003244 00000 n 
+0001005168 00000 n 
+0001005227 00000 n 
+0001005350 00000 n 
+0001005473 00000 n 
+0001005591 00000 n 
+0001005709 00000 n 
+0001005826 00000 n 
+0001005943 00000 n 
+0001006061 00000 n 
+0003223891 00000 n 
+0001007645 00000 n 
+0001008761 00000 n 
+0001007501 00000 n 
+0001006332 00000 n 
+0001007819 00000 n 
+0001007878 00000 n 
+0001007995 00000 n 
+0001008113 00000 n 
+0001008230 00000 n 
+0001008348 00000 n 
+0001008466 00000 n 
+0001008584 00000 n 
+0001008702 00000 n 
+0001010677 00000 n 
+0001011675 00000 n 
+0001010533 00000 n 
+0001008903 00000 n 
+0001010851 00000 n 
+0001010969 00000 n 
+0001011086 00000 n 
+0001011203 00000 n 
+0001011321 00000 n 
+0001011439 00000 n 
+0001011557 00000 n 
+0001013809 00000 n 
+0001014755 00000 n 
+0001013665 00000 n 
+0001011857 00000 n 
+0001013983 00000 n 
+0001014042 00000 n 
+0001014160 00000 n 
+0001014283 00000 n 
+0001014401 00000 n 
+0001014519 00000 n 
+0001014637 00000 n 
+0001016810 00000 n 
+0001017755 00000 n 
+0001016666 00000 n 
+0001014937 00000 n 
+0001016984 00000 n 
+0001017043 00000 n 
+0001017160 00000 n 
+0001017278 00000 n 
+0001017396 00000 n 
+0001017514 00000 n 
+0001017632 00000 n 
+0001021235 00000 n 
+0001021644 00000 n 
+0001021091 00000 n 
+0001017922 00000 n 
+0001021409 00000 n 
+0001021468 00000 n 
+0001021585 00000 n 
+0001023937 00000 n 
+0001024346 00000 n 
+0001023793 00000 n 
+0001021836 00000 n 
+0001024111 00000 n 
+0001024229 00000 n 
+0003224017 00000 n 
+0001026159 00000 n 
+0001026390 00000 n 
+0001026574 00000 n 
+0001029264 00000 n 
+0001029507 00000 n 
+0001029704 00000 n 
+0001026759 00000 n 
+0001027699 00000 n 
+0001025988 00000 n 
+0001024527 00000 n 
+0001026933 00000 n 
+0001026992 00000 n 
+0001027109 00000 n 
+0001027231 00000 n 
+0001027407 00000 n 
+0001027465 00000 n 
+0001027523 00000 n 
+0001029901 00000 n 
+0001030140 00000 n 
+0001030333 00000 n 
+0001030526 00000 n 
+0001030708 00000 n 
+0001030949 00000 n 
+0001031144 00000 n 
+0001034330 00000 n 
+0001034511 00000 n 
+0001031339 00000 n 
+0001032276 00000 n 
+0001029030 00000 n 
+0001027868 00000 n 
+0001031513 00000 n 
+0001031572 00000 n 
+0001031631 00000 n 
+0001031690 00000 n 
+0001031866 00000 n 
+0001031924 00000 n 
+0001031982 00000 n 
+0001032158 00000 n 
+0001032217 00000 n 
+0001034693 00000 n 
+0001034914 00000 n 
+0001035102 00000 n 
+0001035322 00000 n 
+0001035509 00000 n 
+0001035729 00000 n 
+0001035916 00000 n 
+0001036138 00000 n 
+0001036326 00000 n 
+0001036530 00000 n 
+0001036752 00000 n 
+0001036974 00000 n 
+0001037160 00000 n 
+0001037382 00000 n 
+0001037604 00000 n 
+0001037790 00000 n 
+0001038011 00000 n 
+0001038232 00000 n 
+0001041409 00000 n 
+0001038454 00000 n 
+0001039276 00000 n 
+0001034006 00000 n 
+0001032415 00000 n 
+0001038628 00000 n 
+0001038687 00000 n 
+0001038863 00000 n 
+0001038922 00000 n 
+0001038981 00000 n 
+0001039040 00000 n 
+0001039099 00000 n 
+0001039158 00000 n 
+0001039217 00000 n 
+0001063757 00000 n 
+0001063934 00000 n 
+0001064052 00000 n 
+0001066383 00000 n 
+0001066506 00000 n 
+0001041631 00000 n 
+0001041852 00000 n 
+0001042074 00000 n 
+0001042278 00000 n 
+0001042466 00000 n 
+0001042670 00000 n 
+0001042892 00000 n 
+0001043096 00000 n 
+0001043318 00000 n 
+0001043540 00000 n 
+0001043762 00000 n 
+0001043983 00000 n 
+0001044205 00000 n 
+0001044427 00000 n 
+0001044632 00000 n 
+0001044854 00000 n 
+0001045042 00000 n 
+0001045263 00000 n 
+0001045484 00000 n 
+0001045672 00000 n 
+0001045894 00000 n 
+0001046082 00000 n 
+0001049441 00000 n 
+0001049629 00000 n 
+0001049851 00000 n 
+0001050047 00000 n 
+0001046304 00000 n 
+0001047362 00000 n 
+0001041058 00000 n 
+0001039443 00000 n 
+0001046478 00000 n 
+0001046537 00000 n 
+0001046596 00000 n 
+0001046655 00000 n 
+0001046713 00000 n 
+0001046772 00000 n 
+0001046831 00000 n 
+0001046890 00000 n 
+0001046949 00000 n 
+0001047008 00000 n 
+0001047067 00000 n 
+0001047126 00000 n 
+0001047185 00000 n 
+0001047244 00000 n 
+0001047303 00000 n 
+0001066624 00000 n 
+0001066742 00000 n 
+0001050243 00000 n 
+0001050431 00000 n 
+0001050653 00000 n 
+0001050849 00000 n 
+0001051037 00000 n 
+0001051259 00000 n 
+0001051455 00000 n 
+0001051676 00000 n 
+0001051898 00000 n 
+0001052120 00000 n 
+0001052307 00000 n 
+0001052528 00000 n 
+0001052716 00000 n 
+0001052903 00000 n 
+0001053124 00000 n 
+0001053312 00000 n 
+0001053533 00000 n 
+0001053721 00000 n 
+0001053909 00000 n 
+0001054131 00000 n 
+0001054319 00000 n 
+0001054507 00000 n 
+0001054729 00000 n 
+0001054917 00000 n 
+0001055103 00000 n 
+0001055323 00000 n 
+0001055518 00000 n 
+0001055713 00000 n 
+0001055900 00000 n 
+0001056121 00000 n 
+0001059773 00000 n 
+0001059995 00000 n 
+0001060183 00000 n 
+0001056317 00000 n 
+0001056903 00000 n 
+0001048991 00000 n 
+0001047533 00000 n 
+0001056491 00000 n 
+0001056550 00000 n 
+0001056609 00000 n 
+0001056667 00000 n 
+0001056726 00000 n 
+0001056785 00000 n 
+0001056844 00000 n 
+0001066865 00000 n 
+0001069195 00000 n 
+0001069318 00000 n 
+0001069500 00000 n 
+0001069618 00000 n 
+0001069741 00000 n 
+0001069859 00000 n 
+0001069977 00000 n 
+0001073006 00000 n 
+0001073124 00000 n 
+0001060371 00000 n 
+0001060559 00000 n 
+0001060851 00000 n 
+0001059593 00000 n 
+0001057072 00000 n 
+0001060733 00000 n 
+0001060792 00000 n 
+0003224143 00000 n 
+0001073242 00000 n 
+0001063466 00000 n 
+0001064110 00000 n 
+0001063322 00000 n 
+0001061078 00000 n 
+0001063640 00000 n 
+0001063699 00000 n 
+0001063816 00000 n 
+0001063875 00000 n 
+0001063993 00000 n 
+0001066091 00000 n 
+0001066988 00000 n 
+0001065947 00000 n 
+0001064277 00000 n 
+0001066265 00000 n 
+0001066324 00000 n 
+0001066447 00000 n 
+0001066565 00000 n 
+0001066683 00000 n 
+0001066806 00000 n 
+0001066929 00000 n 
+0001068962 00000 n 
+0001070036 00000 n 
+0001068818 00000 n 
+0001067205 00000 n 
+0001069136 00000 n 
+0001069259 00000 n 
+0001069382 00000 n 
+0001069441 00000 n 
+0001069559 00000 n 
+0001069682 00000 n 
+0001069800 00000 n 
+0001069918 00000 n 
+0001071855 00000 n 
+0001072070 00000 n 
+0001072299 00000 n 
+0001072528 00000 n 
+0001075996 00000 n 
+0001076225 00000 n 
+0001072714 00000 n 
+0001073713 00000 n 
+0001071675 00000 n 
+0001070202 00000 n 
+0001072888 00000 n 
+0001072947 00000 n 
+0001073065 00000 n 
+0001073183 00000 n 
+0001073301 00000 n 
+0001073477 00000 n 
+0001073536 00000 n 
+0001073595 00000 n 
+0001073654 00000 n 
+0001076411 00000 n 
+0001076640 00000 n 
+0001076834 00000 n 
+0001077063 00000 n 
+0001077257 00000 n 
+0001077486 00000 n 
+0001077681 00000 n 
+0001077911 00000 n 
+0001078107 00000 n 
+0001078310 00000 n 
+0001078539 00000 n 
+0001078768 00000 n 
+0001078963 00000 n 
+0001079192 00000 n 
+0001079422 00000 n 
+0001079652 00000 n 
+0001079840 00000 n 
+0001080070 00000 n 
+0001080258 00000 n 
+0001080487 00000 n 
+0001080682 00000 n 
+0001080912 00000 n 
+0001081108 00000 n 
+0001081338 00000 n 
+0001081568 00000 n 
+0001081783 00000 n 
+0001081998 00000 n 
+0001085422 00000 n 
+0001085637 00000 n 
+0001082227 00000 n 
+0001083167 00000 n 
+0001075591 00000 n 
+0001073894 00000 n 
+0001082401 00000 n 
+0001082460 00000 n 
+0001082519 00000 n 
+0001082578 00000 n 
+0001082637 00000 n 
+0001082696 00000 n 
+0001082755 00000 n 
+0001082814 00000 n 
+0001082873 00000 n 
+0001082932 00000 n 
+0001082991 00000 n 
+0001083049 00000 n 
+0001083108 00000 n 
+0001099812 00000 n 
+0001099989 00000 n 
+0001100107 00000 n 
+0001100230 00000 n 
+0001085867 00000 n 
+0001086097 00000 n 
+0001086327 00000 n 
+0001086556 00000 n 
+0001086786 00000 n 
+0001087016 00000 n 
+0001087219 00000 n 
+0001087448 00000 n 
+0001087652 00000 n 
+0001087882 00000 n 
+0001088086 00000 n 
+0001088316 00000 n 
+0001088520 00000 n 
+0001088750 00000 n 
+0001088976 00000 n 
+0001089168 00000 n 
+0001089398 00000 n 
+0001089603 00000 n 
+0001089808 00000 n 
+0001090038 00000 n 
+0001090234 00000 n 
+0001090464 00000 n 
+0001090694 00000 n 
+0001090890 00000 n 
+0001091120 00000 n 
+0001094821 00000 n 
+0001095051 00000 n 
+0001091340 00000 n 
+0001092457 00000 n 
+0001085035 00000 n 
+0001083365 00000 n 
+0001091514 00000 n 
+0001091573 00000 n 
+0001091632 00000 n 
+0001091691 00000 n 
+0001091749 00000 n 
+0001091808 00000 n 
+0001091867 00000 n 
+0001091926 00000 n 
+0001091985 00000 n 
+0001092044 00000 n 
+0001092103 00000 n 
+0001092162 00000 n 
+0001092221 00000 n 
+0001092280 00000 n 
+0001092339 00000 n 
+0001092398 00000 n 
+0003224269 00000 n 
+0001100348 00000 n 
+0001095244 00000 n 
+0001095474 00000 n 
+0001095670 00000 n 
+0001095900 00000 n 
+0001096095 00000 n 
+0001096485 00000 n 
+0001096681 00000 n 
+0001096869 00000 n 
+0001097337 00000 n 
+0001094587 00000 n 
+0001092613 00000 n 
+0001097043 00000 n 
+0001097102 00000 n 
+0001097161 00000 n 
+0001097220 00000 n 
+0001096291 00000 n 
+0001097279 00000 n 
+0001103828 00000 n 
+0001103946 00000 n 
+0001099520 00000 n 
+0001100412 00000 n 
+0001099376 00000 n 
+0001097513 00000 n 
+0001099694 00000 n 
+0001099753 00000 n 
+0001099871 00000 n 
+0001099930 00000 n 
+0001100048 00000 n 
+0001100171 00000 n 
+0001100289 00000 n 
+0001103010 00000 n 
+0001103243 00000 n 
+0001106913 00000 n 
+0001103477 00000 n 
+0001104304 00000 n 
+0001102848 00000 n 
+0001100604 00000 n 
+0001103651 00000 n 
+0001103710 00000 n 
+0001103769 00000 n 
+0001103887 00000 n 
+0001104010 00000 n 
+0001104186 00000 n 
+0001104245 00000 n 
+0001107820 00000 n 
+0001107146 00000 n 
+0001107351 00000 n 
+0001107997 00000 n 
+0001106751 00000 n 
+0001104535 00000 n 
+0001107525 00000 n 
+0001107584 00000 n 
+0001107643 00000 n 
+0001107702 00000 n 
+0001107761 00000 n 
+0001107879 00000 n 
+0001109961 00000 n 
+0001110209 00000 n 
+0001110457 00000 n 
+0001110705 00000 n 
+0001110954 00000 n 
+0001111141 00000 n 
+0001111389 00000 n 
+0001111577 00000 n 
+0001111826 00000 n 
+0001112075 00000 n 
+0001112323 00000 n 
+0001112570 00000 n 
+0001112819 00000 n 
+0001113034 00000 n 
+0001113229 00000 n 
+0001114227 00000 n 
+0001109691 00000 n 
+0001108150 00000 n 
+0001113403 00000 n 
+0001113520 00000 n 
+0001113579 00000 n 
+0001113638 00000 n 
+0001113697 00000 n 
+0001113756 00000 n 
+0001113815 00000 n 
+0001113874 00000 n 
+0001113933 00000 n 
+0001113991 00000 n 
+0001114050 00000 n 
+0001114109 00000 n 
+0001114168 00000 n 
+0001115931 00000 n 
+0001116151 00000 n 
+0001116398 00000 n 
+0001116645 00000 n 
+0001116891 00000 n 
+0001117139 00000 n 
+0001117326 00000 n 
+0001117574 00000 n 
+0001117761 00000 n 
+0001118008 00000 n 
+0001118254 00000 n 
+0001118501 00000 n 
+0001118748 00000 n 
+0001121944 00000 n 
+0001122158 00000 n 
+0001118996 00000 n 
+0001119993 00000 n 
+0001115670 00000 n 
+0001114394 00000 n 
+0001119170 00000 n 
+0001119346 00000 n 
+0001119405 00000 n 
+0001119464 00000 n 
+0001119523 00000 n 
+0001119581 00000 n 
+0001119640 00000 n 
+0001119699 00000 n 
+0001119758 00000 n 
+0001119817 00000 n 
+0001119876 00000 n 
+0001119935 00000 n 
+0003224395 00000 n 
+0001122353 00000 n 
+0001122601 00000 n 
+0001122849 00000 n 
+0001123097 00000 n 
+0001123346 00000 n 
+0001123534 00000 n 
+0001123783 00000 n 
+0001123971 00000 n 
+0001124220 00000 n 
+0001127314 00000 n 
+0001127562 00000 n 
+0001124468 00000 n 
+0001125348 00000 n 
+0001121701 00000 n 
+0001120160 00000 n 
+0001124642 00000 n 
+0001124701 00000 n 
+0001124877 00000 n 
+0001124936 00000 n 
+0001124995 00000 n 
+0001125054 00000 n 
+0001125113 00000 n 
+0001125172 00000 n 
+0001125231 00000 n 
+0001125290 00000 n 
+0001127810 00000 n 
+0001128059 00000 n 
+0001128273 00000 n 
+0001128469 00000 n 
+0001128682 00000 n 
+0001128935 00000 n 
+0001129188 00000 n 
+0001129441 00000 n 
+0001129695 00000 n 
+0001129886 00000 n 
+0001133198 00000 n 
+0001133390 00000 n 
+0001130138 00000 n 
+0001131075 00000 n 
+0001127062 00000 n 
+0001125486 00000 n 
+0001130312 00000 n 
+0001130371 00000 n 
+0001130430 00000 n 
+0001130489 00000 n 
+0001130548 00000 n 
+0001130724 00000 n 
+0001130783 00000 n 
+0001130842 00000 n 
+0001130901 00000 n 
+0001130959 00000 n 
+0001131017 00000 n 
+0001133643 00000 n 
+0001133897 00000 n 
+0001134149 00000 n 
+0001134402 00000 n 
+0001134656 00000 n 
+0001134876 00000 n 
+0001135076 00000 n 
+0001135298 00000 n 
+0001135553 00000 n 
+0001135808 00000 n 
+0001138752 00000 n 
+0001138973 00000 n 
+0001136063 00000 n 
+0001136825 00000 n 
+0001132946 00000 n 
+0001131242 00000 n 
+0001136237 00000 n 
+0001136296 00000 n 
+0001136355 00000 n 
+0001136414 00000 n 
+0001136473 00000 n 
+0001136532 00000 n 
+0001136591 00000 n 
+0001136766 00000 n 
+0001177181 00000 n 
+0001179527 00000 n 
+0001179591 00000 n 
+0001179654 00000 n 
+0001139160 00000 n 
+0001139381 00000 n 
+0001139569 00000 n 
+0001139790 00000 n 
+0001139977 00000 n 
+0001140199 00000 n 
+0001140385 00000 n 
+0001140588 00000 n 
+0001140809 00000 n 
+0001141029 00000 n 
+0001141250 00000 n 
+0001141472 00000 n 
+0001141694 00000 n 
+0001141916 00000 n 
+0001142138 00000 n 
+0001142360 00000 n 
+0001142546 00000 n 
+0001142767 00000 n 
+0001142969 00000 n 
+0001143189 00000 n 
+0001143393 00000 n 
+0001143615 00000 n 
+0001143837 00000 n 
+0001147258 00000 n 
+0001147480 00000 n 
+0001144059 00000 n 
+0001145059 00000 n 
+0001138383 00000 n 
+0001136992 00000 n 
+0001144233 00000 n 
+0001144292 00000 n 
+0001144351 00000 n 
+0001144410 00000 n 
+0001144469 00000 n 
+0001144528 00000 n 
+0001144587 00000 n 
+0001144646 00000 n 
+0001144705 00000 n 
+0001144764 00000 n 
+0001144823 00000 n 
+0001144882 00000 n 
+0001144941 00000 n 
+0001145000 00000 n 
+0001179777 00000 n 
+0001179954 00000 n 
+0001180072 00000 n 
+0001180189 00000 n 
+0001147668 00000 n 
+0001147890 00000 n 
+0001148112 00000 n 
+0001148334 00000 n 
+0001148556 00000 n 
+0001148777 00000 n 
+0001148999 00000 n 
+0001149221 00000 n 
+0001149409 00000 n 
+0001149614 00000 n 
+0001149836 00000 n 
+0001150023 00000 n 
+0001150245 00000 n 
+0001150465 00000 n 
+0001150653 00000 n 
+0001150875 00000 n 
+0001151063 00000 n 
+0001151283 00000 n 
+0001151470 00000 n 
+0001151691 00000 n 
+0001151887 00000 n 
+0001152083 00000 n 
+0001152270 00000 n 
+0001152491 00000 n 
+0001152677 00000 n 
+0001155664 00000 n 
+0001155851 00000 n 
+0001156072 00000 n 
+0001152863 00000 n 
+0001153862 00000 n 
+0001146871 00000 n 
+0001145213 00000 n 
+0001153037 00000 n 
+0001153096 00000 n 
+0001153155 00000 n 
+0001153214 00000 n 
+0001153273 00000 n 
+0001153332 00000 n 
+0001153391 00000 n 
+0001153450 00000 n 
+0001153509 00000 n 
+0001153568 00000 n 
+0001153627 00000 n 
+0001153685 00000 n 
+0001153744 00000 n 
+0001153803 00000 n 
+0001182653 00000 n 
+0001182830 00000 n 
+0001182948 00000 n 
+0001156268 00000 n 
+0001156455 00000 n 
+0001156676 00000 n 
+0001156872 00000 n 
+0001157059 00000 n 
+0001157280 00000 n 
+0001157476 00000 n 
+0001157672 00000 n 
+0001157859 00000 n 
+0001158080 00000 n 
+0001158266 00000 n 
+0001158452 00000 n 
+0001158639 00000 n 
+0001158860 00000 n 
+0001159056 00000 n 
+0001159243 00000 n 
+0001159464 00000 n 
+0001159660 00000 n 
+0001159846 00000 n 
+0001160066 00000 n 
+0001160261 00000 n 
+0001160456 00000 n 
+0001160643 00000 n 
+0001160864 00000 n 
+0001161060 00000 n 
+0001161247 00000 n 
+0001161468 00000 n 
+0001161664 00000 n 
+0001161851 00000 n 
+0001162073 00000 n 
+0001162269 00000 n 
+0001162465 00000 n 
+0001162652 00000 n 
+0001162874 00000 n 
+0001163060 00000 n 
+0001163246 00000 n 
+0001163433 00000 n 
+0001163655 00000 n 
+0001163851 00000 n 
+0001164038 00000 n 
+0001164260 00000 n 
+0001164456 00000 n 
+0001164642 00000 n 
+0001164863 00000 n 
+0001165058 00000 n 
+0001165253 00000 n 
+0001165440 00000 n 
+0001165662 00000 n 
+0001165858 00000 n 
+0001166045 00000 n 
+0001166267 00000 n 
+0001169398 00000 n 
+0001169619 00000 n 
+0001169807 00000 n 
+0001166463 00000 n 
+0001166696 00000 n 
+0001155034 00000 n 
+0001154033 00000 n 
+0001166637 00000 n 
+0003224521 00000 n 
+0001183066 00000 n 
+0001183182 00000 n 
+0001183300 00000 n 
+0001183418 00000 n 
+0001185299 00000 n 
+0001185417 00000 n 
+0001185535 00000 n 
+0001185653 00000 n 
+0001185771 00000 n 
+0001185889 00000 n 
+0001186007 00000 n 
+0001186125 00000 n 
+0001187947 00000 n 
+0001188065 00000 n 
+0001188183 00000 n 
+0001188300 00000 n 
+0001169995 00000 n 
+0001170217 00000 n 
+0001170405 00000 n 
+0001170593 00000 n 
+0001170779 00000 n 
+0001170999 00000 n 
+0001171184 00000 n 
+0001171369 00000 n 
+0001171555 00000 n 
+0001171776 00000 n 
+0001171961 00000 n 
+0001172146 00000 n 
+0001172368 00000 n 
+0001172556 00000 n 
+0001172744 00000 n 
+0001172966 00000 n 
+0001173154 00000 n 
+0001173376 00000 n 
+0001173598 00000 n 
+0001173784 00000 n 
+0001174135 00000 n 
+0001169056 00000 n 
+0001166850 00000 n 
+0001173958 00000 n 
+0001174017 00000 n 
+0001174076 00000 n 
+0001188418 00000 n 
+0001188536 00000 n 
+0001188654 00000 n 
+0001188770 00000 n 
+0001191696 00000 n 
+0001191814 00000 n 
+0001191932 00000 n 
+0001176889 00000 n 
+0001177297 00000 n 
+0001176745 00000 n 
+0001174364 00000 n 
+0001177063 00000 n 
+0001177122 00000 n 
+0001177239 00000 n 
+0001179294 00000 n 
+0001180307 00000 n 
+0001179150 00000 n 
+0001177459 00000 n 
+0001179468 00000 n 
+0001179718 00000 n 
+0001179836 00000 n 
+0001179895 00000 n 
+0001180013 00000 n 
+0001180131 00000 n 
+0001180248 00000 n 
+0001182420 00000 n 
+0001183477 00000 n 
+0001182276 00000 n 
+0001180524 00000 n 
+0001182594 00000 n 
+0001182712 00000 n 
+0001182771 00000 n 
+0001182889 00000 n 
+0001183007 00000 n 
+0001183124 00000 n 
+0001183241 00000 n 
+0001183359 00000 n 
+0001185007 00000 n 
+0001186183 00000 n 
+0001184863 00000 n 
+0001183694 00000 n 
+0001185181 00000 n 
+0001185240 00000 n 
+0001185358 00000 n 
+0001185476 00000 n 
+0001185594 00000 n 
+0001185712 00000 n 
+0001185830 00000 n 
+0001185948 00000 n 
+0001186066 00000 n 
+0001187655 00000 n 
+0001188829 00000 n 
+0001187511 00000 n 
+0001186325 00000 n 
+0001187829 00000 n 
+0001187888 00000 n 
+0001188006 00000 n 
+0001188124 00000 n 
+0001188242 00000 n 
+0001188359 00000 n 
+0001188477 00000 n 
+0001188595 00000 n 
+0001188712 00000 n 
+0003224647 00000 n 
+0001190543 00000 n 
+0001190758 00000 n 
+0001190987 00000 n 
+0001191216 00000 n 
+0001194498 00000 n 
+0001194727 00000 n 
+0001191404 00000 n 
+0001192403 00000 n 
+0001190363 00000 n 
+0001188971 00000 n 
+0001191578 00000 n 
+0001191637 00000 n 
+0001191755 00000 n 
+0001191873 00000 n 
+0001191991 00000 n 
+0001192167 00000 n 
+0001192226 00000 n 
+0001192285 00000 n 
+0001192344 00000 n 
+0001194923 00000 n 
+0001195152 00000 n 
+0001195348 00000 n 
+0001195577 00000 n 
+0001195772 00000 n 
+0001196002 00000 n 
+0001196198 00000 n 
+0001196402 00000 n 
+0001196632 00000 n 
+0001196862 00000 n 
+0001197091 00000 n 
+0001197321 00000 n 
+0001197551 00000 n 
+0001197739 00000 n 
+0001197969 00000 n 
+0001198199 00000 n 
+0001198414 00000 n 
+0001198628 00000 n 
+0001198856 00000 n 
+0001199071 00000 n 
+0001199301 00000 n 
+0001199531 00000 n 
+0001199761 00000 n 
+0001199991 00000 n 
+0001203541 00000 n 
+0001200219 00000 n 
+0001201454 00000 n 
+0001194120 00000 n 
+0001192572 00000 n 
+0001200393 00000 n 
+0001200452 00000 n 
+0001200511 00000 n 
+0001200570 00000 n 
+0001200629 00000 n 
+0001200688 00000 n 
+0001200747 00000 n 
+0001200806 00000 n 
+0001200864 00000 n 
+0001200923 00000 n 
+0001200982 00000 n 
+0001201041 00000 n 
+0001201100 00000 n 
+0001201159 00000 n 
+0001201218 00000 n 
+0001201277 00000 n 
+0001201336 00000 n 
+0001201395 00000 n 
+0001203771 00000 n 
+0001203975 00000 n 
+0001204205 00000 n 
+0001204409 00000 n 
+0001204639 00000 n 
+0001204869 00000 n 
+0001205065 00000 n 
+0001205270 00000 n 
+0001205500 00000 n 
+0001205696 00000 n 
+0001205926 00000 n 
+0001206156 00000 n 
+0001206351 00000 n 
+0001206580 00000 n 
+0001206802 00000 n 
+0001207030 00000 n 
+0001207217 00000 n 
+0001207402 00000 n 
+0001207632 00000 n 
+0001207828 00000 n 
+0001208058 00000 n 
+0001208254 00000 n 
+0001211888 00000 n 
+0001212084 00000 n 
+0001208643 00000 n 
+0001209465 00000 n 
+0001203181 00000 n 
+0001201623 00000 n 
+0001208817 00000 n 
+0001208876 00000 n 
+0001208935 00000 n 
+0001208994 00000 n 
+0001209053 00000 n 
+0001209112 00000 n 
+0001209171 00000 n 
+0001209230 00000 n 
+0001209289 00000 n 
+0001209348 00000 n 
+0001209406 00000 n 
+0001208450 00000 n 
+0001212623 00000 n 
+0001212741 00000 n 
+0001216068 00000 n 
+0001212272 00000 n 
+0001212804 00000 n 
+0001211726 00000 n 
+0001209619 00000 n 
+0001212446 00000 n 
+0001212505 00000 n 
+0001212564 00000 n 
+0001212682 00000 n 
+0001214872 00000 n 
+0001215105 00000 n 
+0001215338 00000 n 
+0001215571 00000 n 
+0001215776 00000 n 
+0001216602 00000 n 
+0001214692 00000 n 
+0001212983 00000 n 
+0001215950 00000 n 
+0001216009 00000 n 
+0001216131 00000 n 
+0001216307 00000 n 
+0001216366 00000 n 
+0001216425 00000 n 
+0001216484 00000 n 
+0001216543 00000 n 
+0001221617 00000 n 
+0001219108 00000 n 
+0001219290 00000 n 
+0001219478 00000 n 
+0001219631 00000 n 
+0001219854 00000 n 
+0001220077 00000 n 
+0001220273 00000 n 
+0001220496 00000 n 
+0001220692 00000 n 
+0001220914 00000 n 
+0001221102 00000 n 
+0001224401 00000 n 
+0001224622 00000 n 
+0001221325 00000 n 
+0001222205 00000 n 
+0001218865 00000 n 
+0001216784 00000 n 
+0001221499 00000 n 
+0001221558 00000 n 
+0001221676 00000 n 
+0001221852 00000 n 
+0001221911 00000 n 
+0001221970 00000 n 
+0001222029 00000 n 
+0001222088 00000 n 
+0001222146 00000 n 
+0003224773 00000 n 
+0001224810 00000 n 
+0001225031 00000 n 
+0001225220 00000 n 
+0001225441 00000 n 
+0001225630 00000 n 
+0001225851 00000 n 
+0001226039 00000 n 
+0001226209 00000 n 
+0001226431 00000 n 
+0001226620 00000 n 
+0001226843 00000 n 
+0001227032 00000 n 
+0001227253 00000 n 
+0001227442 00000 n 
+0001227664 00000 n 
+0001227853 00000 n 
+0001228042 00000 n 
+0001228265 00000 n 
+0001228454 00000 n 
+0001228643 00000 n 
+0001228866 00000 n 
+0001229055 00000 n 
+0001229278 00000 n 
+0001229466 00000 n 
+0001233137 00000 n 
+0001233359 00000 n 
+0001229842 00000 n 
+0001230664 00000 n 
+0001224014 00000 n 
+0001222386 00000 n 
+0001230016 00000 n 
+0001230075 00000 n 
+0001230134 00000 n 
+0001230193 00000 n 
+0001230252 00000 n 
+0001230310 00000 n 
+0001230369 00000 n 
+0001230428 00000 n 
+0001230487 00000 n 
+0001230546 00000 n 
+0001230605 00000 n 
+0001229655 00000 n 
+0001237346 00000 n 
+0001237464 00000 n 
+0001240162 00000 n 
+0001240278 00000 n 
+0001233582 00000 n 
+0001233805 00000 n 
+0001234028 00000 n 
+0001234217 00000 n 
+0001234440 00000 n 
+0001234629 00000 n 
+0001234833 00000 n 
+0001235056 00000 n 
+0001235258 00000 n 
+0001235479 00000 n 
+0001235702 00000 n 
+0001235924 00000 n 
+0001236077 00000 n 
+0001236229 00000 n 
+0001237522 00000 n 
+0001232858 00000 n 
+0001230832 00000 n 
+0001236403 00000 n 
+0001236462 00000 n 
+0001236521 00000 n 
+0001236580 00000 n 
+0001236639 00000 n 
+0001236698 00000 n 
+0001236757 00000 n 
+0001236816 00000 n 
+0001236874 00000 n 
+0001236933 00000 n 
+0001236992 00000 n 
+0001237051 00000 n 
+0001237110 00000 n 
+0001237169 00000 n 
+0001237228 00000 n 
+0001237287 00000 n 
+0001237405 00000 n 
+0001239680 00000 n 
+0001242691 00000 n 
+0001242912 00000 n 
+0001243166 00000 n 
+0001243420 00000 n 
+0001243673 00000 n 
+0001239870 00000 n 
+0001240747 00000 n 
+0001239527 00000 n 
+0001237706 00000 n 
+0001240044 00000 n 
+0001240103 00000 n 
+0001240220 00000 n 
+0001240337 00000 n 
+0001240513 00000 n 
+0001240572 00000 n 
+0001243927 00000 n 
+0001244147 00000 n 
+0001244333 00000 n 
+0001244552 00000 n 
+0001244738 00000 n 
+0001244959 00000 n 
+0001245146 00000 n 
+0001245350 00000 n 
+0001245571 00000 n 
+0001245790 00000 n 
+0001246010 00000 n 
+0001246231 00000 n 
+0001246452 00000 n 
+0001246673 00000 n 
+0001246894 00000 n 
+0001247115 00000 n 
+0001247301 00000 n 
+0001247522 00000 n 
+0001247726 00000 n 
+0001247947 00000 n 
+0001248151 00000 n 
+0001248372 00000 n 
+0001248593 00000 n 
+0001252011 00000 n 
+0001248780 00000 n 
+0001249780 00000 n 
+0001242295 00000 n 
+0001240903 00000 n 
+0001248954 00000 n 
+0001249013 00000 n 
+0001249072 00000 n 
+0001249131 00000 n 
+0001249190 00000 n 
+0001249249 00000 n 
+0001249308 00000 n 
+0001249367 00000 n 
+0001249426 00000 n 
+0001249485 00000 n 
+0001249544 00000 n 
+0001249603 00000 n 
+0001249662 00000 n 
+0001249721 00000 n 
+0001280373 00000 n 
+0001280491 00000 n 
+0001280555 00000 n 
+0001280619 00000 n 
+0001280683 00000 n 
+0001285981 00000 n 
+0001288618 00000 n 
+0001288736 00000 n 
+0001252232 00000 n 
+0001252453 00000 n 
+0001252674 00000 n 
+0001252895 00000 n 
+0001253116 00000 n 
+0001253337 00000 n 
+0001253558 00000 n 
+0001253744 00000 n 
+0001253931 00000 n 
+0001254152 00000 n 
+0001254348 00000 n 
+0001254535 00000 n 
+0001254756 00000 n 
+0001254952 00000 n 
+0001255139 00000 n 
+0001255360 00000 n 
+0001255556 00000 n 
+0001255742 00000 n 
+0001255963 00000 n 
+0001256157 00000 n 
+0001256361 00000 n 
+0001256581 00000 n 
+0001256767 00000 n 
+0001256987 00000 n 
+0001257208 00000 n 
+0001257394 00000 n 
+0001257614 00000 n 
+0001257800 00000 n 
+0001258020 00000 n 
+0001258961 00000 n 
+0001251606 00000 n 
+0001249934 00000 n 
+0001258194 00000 n 
+0001258253 00000 n 
+0001258312 00000 n 
+0001258371 00000 n 
+0001258430 00000 n 
+0001258489 00000 n 
+0001258548 00000 n 
+0001258607 00000 n 
+0001258666 00000 n 
+0001258725 00000 n 
+0001258784 00000 n 
+0001258843 00000 n 
+0003218562 00000 n 
+0001258902 00000 n 
+0001280806 00000 n 
+0001280924 00000 n 
+0001285745 00000 n 
+0001285863 00000 n 
+0001261260 00000 n 
+0001261481 00000 n 
+0001261668 00000 n 
+0001261889 00000 n 
+0001262076 00000 n 
+0001262263 00000 n 
+0001262482 00000 n 
+0001262666 00000 n 
+0001262852 00000 n 
+0001263072 00000 n 
+0001263258 00000 n 
+0001263444 00000 n 
+0001263663 00000 n 
+0001263854 00000 n 
+0001264040 00000 n 
+0001264227 00000 n 
+0001264432 00000 n 
+0001264653 00000 n 
+0001264846 00000 n 
+0001265031 00000 n 
+0001265217 00000 n 
+0001265421 00000 n 
+0001265641 00000 n 
+0001265834 00000 n 
+0001266020 00000 n 
+0001266207 00000 n 
+0001266412 00000 n 
+0001266632 00000 n 
+0001266825 00000 n 
+0001267011 00000 n 
+0001267198 00000 n 
+0001267403 00000 n 
+0001267624 00000 n 
+0001267817 00000 n 
+0001268003 00000 n 
+0001268190 00000 n 
+0001268395 00000 n 
+0001268616 00000 n 
+0001268809 00000 n 
+0001268995 00000 n 
+0001269182 00000 n 
+0001269387 00000 n 
+0001269608 00000 n 
+0001273274 00000 n 
+0001269829 00000 n 
+0001270121 00000 n 
+0001260729 00000 n 
+0001259146 00000 n 
+0001270003 00000 n 
+0001270062 00000 n 
+0003224899 00000 n 
+0001288913 00000 n 
+0001289031 00000 n 
+0001289149 00000 n 
+0001289267 00000 n 
+0001289385 00000 n 
+0001291820 00000 n 
+0001294209 00000 n 
+0001294327 00000 n 
+0001294445 00000 n 
+0001296965 00000 n 
+0001297083 00000 n 
+0001273461 00000 n 
+0001273623 00000 n 
+0001273915 00000 n 
+0001273112 00000 n 
+0001270302 00000 n 
+0001273797 00000 n 
+0001273856 00000 n 
+0001277068 00000 n 
+0001277301 00000 n 
+0001276924 00000 n 
+0001274153 00000 n 
+0001277242 00000 n 
+0001279449 00000 n 
+0001279676 00000 n 
+0001279861 00000 n 
+0001282910 00000 n 
+0001283096 00000 n 
+0001280081 00000 n 
+0001280982 00000 n 
+0001279278 00000 n 
+0001277515 00000 n 
+0001280255 00000 n 
+0001280314 00000 n 
+0001280432 00000 n 
+0001280747 00000 n 
+0001280865 00000 n 
+0001557902 00000 n 
+0001283317 00000 n 
+0001283503 00000 n 
+0001283943 00000 n 
+0001284173 00000 n 
+0001284385 00000 n 
+0001284571 00000 n 
+0001285011 00000 n 
+0001285241 00000 n 
+0001285453 00000 n 
+0001286099 00000 n 
+0001282658 00000 n 
+0001281124 00000 n 
+0001285627 00000 n 
+0001285686 00000 n 
+0001285804 00000 n 
+0001283724 00000 n 
+0001285922 00000 n 
+0001284791 00000 n 
+0001286040 00000 n 
+0001653676 00000 n 
+0001287931 00000 n 
+0001288158 00000 n 
+0001288385 00000 n 
+0001289443 00000 n 
+0001287769 00000 n 
+0001286256 00000 n 
+0001288559 00000 n 
+0001288677 00000 n 
+0001288795 00000 n 
+0001288854 00000 n 
+0001288972 00000 n 
+0001289090 00000 n 
+0001289208 00000 n 
+0001289326 00000 n 
+0001562350 00000 n 
+0001562468 00000 n 
+0001291528 00000 n 
+0001291938 00000 n 
+0001291384 00000 n 
+0001289598 00000 n 
+0001291702 00000 n 
+0001291761 00000 n 
+0001291879 00000 n 
+0003225025 00000 n 
+0001293976 00000 n 
+0001294504 00000 n 
+0001293832 00000 n 
+0001292093 00000 n 
+0001294150 00000 n 
+0001294268 00000 n 
+0001294386 00000 n 
+0001296673 00000 n 
+0001297201 00000 n 
+0001296529 00000 n 
+0001294659 00000 n 
+0001296847 00000 n 
+0001296906 00000 n 
+0001297024 00000 n 
+0001297142 00000 n 
+0001299088 00000 n 
+0001299289 00000 n 
+0001299503 00000 n 
+0001299731 00000 n 
+0001299959 00000 n 
+0001300146 00000 n 
+0001300374 00000 n 
+0001300569 00000 n 
+0001300797 00000 n 
+0001300991 00000 n 
+0001301218 00000 n 
+0001301413 00000 n 
+0001301616 00000 n 
+0001301844 00000 n 
+0001302071 00000 n 
+0001302300 00000 n 
+0001302487 00000 n 
+0001305850 00000 n 
+0001306079 00000 n 
+0001306293 00000 n 
+0001302716 00000 n 
+0001303714 00000 n 
+0001298791 00000 n 
+0001297369 00000 n 
+0001302890 00000 n 
+0001303065 00000 n 
+0001303124 00000 n 
+0001303183 00000 n 
+0001303242 00000 n 
+0001303301 00000 n 
+0001303360 00000 n 
+0001303419 00000 n 
+0001303478 00000 n 
+0001303537 00000 n 
+0001303596 00000 n 
+0001303655 00000 n 
+0001306507 00000 n 
+0001306736 00000 n 
+0001306950 00000 n 
+0001307179 00000 n 
+0001307407 00000 n 
+0001307635 00000 n 
+0001307864 00000 n 
+0001308093 00000 n 
+0001308322 00000 n 
+0001308526 00000 n 
+0001308755 00000 n 
+0001308958 00000 n 
+0001309186 00000 n 
+0001309414 00000 n 
+0001309607 00000 n 
+0001309812 00000 n 
+0001310041 00000 n 
+0001310236 00000 n 
+0001310465 00000 n 
+0001310694 00000 n 
+0001310888 00000 n 
+0001311116 00000 n 
+0001315206 00000 n 
+0001315435 00000 n 
+0001311336 00000 n 
+0001312336 00000 n 
+0001305481 00000 n 
+0001303881 00000 n 
+0001311510 00000 n 
+0001311569 00000 n 
+0001311628 00000 n 
+0001311687 00000 n 
+0001311746 00000 n 
+0001311805 00000 n 
+0001311864 00000 n 
+0001311923 00000 n 
+0001311982 00000 n 
+0001312041 00000 n 
+0001312100 00000 n 
+0001312159 00000 n 
+0001312218 00000 n 
+0001312277 00000 n 
+0001320801 00000 n 
+0001320917 00000 n 
+0001315629 00000 n 
+0001315855 00000 n 
+0001316048 00000 n 
+0001316435 00000 n 
+0001316630 00000 n 
+0001316817 00000 n 
+0001317168 00000 n 
+0001314990 00000 n 
+0001312492 00000 n 
+0001316991 00000 n 
+0001317050 00000 n 
+0001316241 00000 n 
+0001317109 00000 n 
+0001325758 00000 n 
+0001325872 00000 n 
+0001319673 00000 n 
+0001320046 00000 n 
+0001320281 00000 n 
+0001320509 00000 n 
+0001321035 00000 n 
+0001319493 00000 n 
+0001317369 00000 n 
+0001320683 00000 n 
+0001320742 00000 n 
+0001320859 00000 n 
+0001319860 00000 n 
+0001320976 00000 n 
+0003225151 00000 n 
+0001596554 00000 n 
+0001323173 00000 n 
+0001323408 00000 n 
+0001323631 00000 n 
+0001323821 00000 n 
+0001324045 00000 n 
+0001324235 00000 n 
+0001324440 00000 n 
+0001324662 00000 n 
+0001324852 00000 n 
+0001325056 00000 n 
+0001325277 00000 n 
+0001325466 00000 n 
+0001326171 00000 n 
+0001322930 00000 n 
+0001321200 00000 n 
+0001325640 00000 n 
+0001325699 00000 n 
+0001325815 00000 n 
+0001325936 00000 n 
+0001326112 00000 n 
+0001596677 00000 n 
+0001341406 00000 n 
+0001341524 00000 n 
+0001341642 00000 n 
+0001341760 00000 n 
+0001328659 00000 n 
+0001328881 00000 n 
+0001329071 00000 n 
+0001329292 00000 n 
+0001329481 00000 n 
+0001329669 00000 n 
+0001329890 00000 n 
+0001330080 00000 n 
+0001330301 00000 n 
+0001330491 00000 n 
+0001330681 00000 n 
+0001330903 00000 n 
+0001331093 00000 n 
+0001331283 00000 n 
+0001331472 00000 n 
+0001331694 00000 n 
+0001331884 00000 n 
+0001332074 00000 n 
+0001332264 00000 n 
+0001332486 00000 n 
+0001332673 00000 n 
+0001332861 00000 n 
+0001333049 00000 n 
+0001333237 00000 n 
+0001333427 00000 n 
+0001333649 00000 n 
+0001333839 00000 n 
+0001334029 00000 n 
+0001334218 00000 n 
+0001334440 00000 n 
+0001334630 00000 n 
+0001334820 00000 n 
+0001335010 00000 n 
+0001335232 00000 n 
+0001335422 00000 n 
+0001335612 00000 n 
+0001335801 00000 n 
+0001336023 00000 n 
+0001336213 00000 n 
+0001336403 00000 n 
+0001336624 00000 n 
+0001336813 00000 n 
+0001337002 00000 n 
+0001337224 00000 n 
+0001337414 00000 n 
+0001337604 00000 n 
+0001337794 00000 n 
+0001338016 00000 n 
+0001338206 00000 n 
+0001338396 00000 n 
+0001338619 00000 n 
+0001338808 00000 n 
+0001338997 00000 n 
+0001339187 00000 n 
+0001339357 00000 n 
+0001339708 00000 n 
+0001328029 00000 n 
+0001326340 00000 n 
+0001339531 00000 n 
+0001339590 00000 n 
+0001339649 00000 n 
+0001341877 00000 n 
+0001341995 00000 n 
+0001342113 00000 n 
+0001342229 00000 n 
+0001342347 00000 n 
+0001344412 00000 n 
+0001344528 00000 n 
+0001344646 00000 n 
+0001344769 00000 n 
+0001344885 00000 n 
+0001345003 00000 n 
+0001345121 00000 n 
+0001349969 00000 n 
+0001350087 00000 n 
+0001341114 00000 n 
+0001342406 00000 n 
+0001340970 00000 n 
+0001339894 00000 n 
+0001341288 00000 n 
+0001341347 00000 n 
+0001341465 00000 n 
+0001341583 00000 n 
+0001341701 00000 n 
+0001341818 00000 n 
+0001341936 00000 n 
+0001342054 00000 n 
+0001342171 00000 n 
+0001342288 00000 n 
+0001344120 00000 n 
+0001345179 00000 n 
+0001343976 00000 n 
+0001342535 00000 n 
+0001344294 00000 n 
+0001344353 00000 n 
+0001344470 00000 n 
+0001344587 00000 n 
+0001344710 00000 n 
+0001344827 00000 n 
+0001344944 00000 n 
+0001345062 00000 n 
+0001347210 00000 n 
+0001347415 00000 n 
+0001347631 00000 n 
+0001347845 00000 n 
+0001348048 00000 n 
+0001348252 00000 n 
+0001348467 00000 n 
+0001348663 00000 n 
+0001348878 00000 n 
+0001349073 00000 n 
+0001349266 00000 n 
+0001349481 00000 n 
+0001353071 00000 n 
+0001353286 00000 n 
+0001353481 00000 n 
+0001349677 00000 n 
+0001350498 00000 n 
+0001346958 00000 n 
+0001345361 00000 n 
+0001349851 00000 n 
+0001349910 00000 n 
+0001350028 00000 n 
+0001350151 00000 n 
+0001350326 00000 n 
+0001350383 00000 n 
+0001350440 00000 n 
+0001440255 00000 n 
+0001440373 00000 n 
+0001442398 00000 n 
+0001442515 00000 n 
+0001353674 00000 n 
+0001353888 00000 n 
+0001354088 00000 n 
+0001354303 00000 n 
+0001354503 00000 n 
+0001354696 00000 n 
+0001354910 00000 n 
+0001355090 00000 n 
+0001355275 00000 n 
+0001355479 00000 n 
+0001355694 00000 n 
+0001355881 00000 n 
+0001356086 00000 n 
+0001356301 00000 n 
+0001356495 00000 n 
+0001356700 00000 n 
+0001356915 00000 n 
+0001357103 00000 n 
+0001357307 00000 n 
+0001357522 00000 n 
+0001357704 00000 n 
+0001357909 00000 n 
+0001358089 00000 n 
+0001358303 00000 n 
+0001358484 00000 n 
+0001358688 00000 n 
+0001358902 00000 n 
+0001359107 00000 n 
+0001359323 00000 n 
+0001359493 00000 n 
+0001359689 00000 n 
+0001359903 00000 n 
+0001360099 00000 n 
+0001360314 00000 n 
+0001360509 00000 n 
+0001360724 00000 n 
+0001360918 00000 n 
+0001363960 00000 n 
+0001364161 00000 n 
+0001361132 00000 n 
+0001361778 00000 n 
+0001352567 00000 n 
+0001350680 00000 n 
+0001361306 00000 n 
+0001361365 00000 n 
+0001361424 00000 n 
+0001361483 00000 n 
+0001361542 00000 n 
+0001361601 00000 n 
+0001361660 00000 n 
+0001361719 00000 n 
+0003225277 00000 n 
+0001442633 00000 n 
+0001444760 00000 n 
+0001444878 00000 n 
+0001444996 00000 n 
+0001447147 00000 n 
+0001447264 00000 n 
+0001447382 00000 n 
+0001449681 00000 n 
+0001364376 00000 n 
+0001364577 00000 n 
+0001364792 00000 n 
+0001364989 00000 n 
+0001365204 00000 n 
+0001365391 00000 n 
+0001365588 00000 n 
+0001365803 00000 n 
+0001365995 00000 n 
+0001366192 00000 n 
+0001366407 00000 n 
+0001366593 00000 n 
+0001366790 00000 n 
+0001367005 00000 n 
+0001367192 00000 n 
+0001367407 00000 n 
+0001367620 00000 n 
+0001367836 00000 n 
+0001368052 00000 n 
+0001368234 00000 n 
+0001368450 00000 n 
+0001368666 00000 n 
+0001368881 00000 n 
+0001369097 00000 n 
+0001369283 00000 n 
+0001369499 00000 n 
+0001369695 00000 n 
+0001369910 00000 n 
+0001370104 00000 n 
+0001370317 00000 n 
+0001370511 00000 n 
+0001370714 00000 n 
+0001374411 00000 n 
+0001374626 00000 n 
+0001374822 00000 n 
+0001375027 00000 n 
+0001375232 00000 n 
+0001370917 00000 n 
+0001371739 00000 n 
+0001363510 00000 n 
+0001361961 00000 n 
+0001371091 00000 n 
+0001371150 00000 n 
+0001371209 00000 n 
+0001371268 00000 n 
+0001371327 00000 n 
+0001371385 00000 n 
+0001371444 00000 n 
+0001371503 00000 n 
+0001371562 00000 n 
+0001371621 00000 n 
+0001371680 00000 n 
+0001449858 00000 n 
+0001449976 00000 n 
+0001450099 00000 n 
+0001450217 00000 n 
+0001452721 00000 n 
+0001452839 00000 n 
+0001452956 00000 n 
+0001375419 00000 n 
+0001375634 00000 n 
+0001375829 00000 n 
+0001376032 00000 n 
+0001376235 00000 n 
+0001376451 00000 n 
+0001376647 00000 n 
+0001376851 00000 n 
+0001377055 00000 n 
+0001377242 00000 n 
+0001377458 00000 n 
+0001377653 00000 n 
+0001377858 00000 n 
+0001378063 00000 n 
+0001378472 00000 n 
+0001378676 00000 n 
+0001378838 00000 n 
+0001379053 00000 n 
+0001379234 00000 n 
+0001379450 00000 n 
+0001379631 00000 n 
+0001379847 00000 n 
+0001380060 00000 n 
+0001380247 00000 n 
+0001380461 00000 n 
+0001380654 00000 n 
+0001380868 00000 n 
+0001381063 00000 n 
+0001381277 00000 n 
+0001381473 00000 n 
+0001381687 00000 n 
+0001381875 00000 n 
+0001382088 00000 n 
+0001382283 00000 n 
+0001382497 00000 n 
+0001382693 00000 n 
+0001382905 00000 n 
+0001386145 00000 n 
+0001386359 00000 n 
+0001383092 00000 n 
+0001383325 00000 n 
+0001373880 00000 n 
+0001371880 00000 n 
+0001383266 00000 n 
+0001378267 00000 n 
+0001456300 00000 n 
+0001456423 00000 n 
+0001456546 00000 n 
+0001459748 00000 n 
+0001459871 00000 n 
+0001462146 00000 n 
+0001462264 00000 n 
+0001462382 00000 n 
+0001462505 00000 n 
+0001464650 00000 n 
+0001464768 00000 n 
+0001464886 00000 n 
+0001466914 00000 n 
+0001467032 00000 n 
+0001467149 00000 n 
+0001386555 00000 n 
+0001386769 00000 n 
+0001386957 00000 n 
+0001387169 00000 n 
+0001387364 00000 n 
+0001387578 00000 n 
+0001387779 00000 n 
+0001387993 00000 n 
+0001388194 00000 n 
+0001388408 00000 n 
+0001388594 00000 n 
+0001388758 00000 n 
+0001388972 00000 n 
+0001389164 00000 n 
+0001389329 00000 n 
+0001389543 00000 n 
+0001389725 00000 n 
+0001389939 00000 n 
+0001390120 00000 n 
+0001390336 00000 n 
+0001390517 00000 n 
+0001390731 00000 n 
+0001390911 00000 n 
+0001391088 00000 n 
+0001391303 00000 n 
+0001391484 00000 n 
+0001391663 00000 n 
+0001391879 00000 n 
+0001392065 00000 n 
+0001392261 00000 n 
+0001392435 00000 n 
+0001392651 00000 n 
+0001392837 00000 n 
+0001393033 00000 n 
+0001393208 00000 n 
+0001393424 00000 n 
+0001393610 00000 n 
+0001393815 00000 n 
+0001397865 00000 n 
+0001398036 00000 n 
+0001398251 00000 n 
+0001398436 00000 n 
+0001398640 00000 n 
+0001394011 00000 n 
+0001394244 00000 n 
+0001385641 00000 n 
+0001383466 00000 n 
+0001394185 00000 n 
+0001469006 00000 n 
+0001469124 00000 n 
+0001469242 00000 n 
+0001469360 00000 n 
+0001471685 00000 n 
+0001471803 00000 n 
+0001471921 00000 n 
+0001474289 00000 n 
+0001474407 00000 n 
+0001474525 00000 n 
+0001474643 00000 n 
+0001477940 00000 n 
+0001478058 00000 n 
+0001478176 00000 n 
+0001481016 00000 n 
+0001399031 00000 n 
+0001399202 00000 n 
+0001399418 00000 n 
+0001399614 00000 n 
+0001399819 00000 n 
+0001400015 00000 n 
+0001400185 00000 n 
+0001400401 00000 n 
+0001400597 00000 n 
+0001400802 00000 n 
+0001400998 00000 n 
+0001401167 00000 n 
+0001401383 00000 n 
+0001401568 00000 n 
+0001401764 00000 n 
+0001402156 00000 n 
+0001402343 00000 n 
+0001402558 00000 n 
+0001402743 00000 n 
+0001402938 00000 n 
+0001403329 00000 n 
+0001403516 00000 n 
+0001403729 00000 n 
+0001403911 00000 n 
+0001404076 00000 n 
+0001404292 00000 n 
+0001404484 00000 n 
+0001404689 00000 n 
+0001405098 00000 n 
+0001405302 00000 n 
+0001405498 00000 n 
+0001405664 00000 n 
+0001405877 00000 n 
+0001406080 00000 n 
+0001406296 00000 n 
+0001406487 00000 n 
+0001406691 00000 n 
+0001406903 00000 n 
+0001407117 00000 n 
+0001407298 00000 n 
+0001407459 00000 n 
+0001407672 00000 n 
+0001407854 00000 n 
+0001411121 00000 n 
+0001411334 00000 n 
+0001408012 00000 n 
+0001408304 00000 n 
+0001397253 00000 n 
+0001394385 00000 n 
+0001408186 00000 n 
+0001398835 00000 n 
+0001401960 00000 n 
+0001403133 00000 n 
+0001404893 00000 n 
+0001408245 00000 n 
+0001481134 00000 n 
+0001483859 00000 n 
+0001483977 00000 n 
+0001484094 00000 n 
+0001487205 00000 n 
+0001487323 00000 n 
+0001487441 00000 n 
+0001491529 00000 n 
+0001491647 00000 n 
+0001494881 00000 n 
+0001494999 00000 n 
+0001411516 00000 n 
+0001411678 00000 n 
+0001411893 00000 n 
+0001412074 00000 n 
+0001412269 00000 n 
+0001412430 00000 n 
+0001412646 00000 n 
+0001412828 00000 n 
+0001413024 00000 n 
+0001413186 00000 n 
+0001413401 00000 n 
+0001413583 00000 n 
+0001413779 00000 n 
+0001413940 00000 n 
+0001414152 00000 n 
+0001414355 00000 n 
+0001414545 00000 n 
+0001414759 00000 n 
+0001414963 00000 n 
+0001415153 00000 n 
+0001415366 00000 n 
+0001415546 00000 n 
+0001415717 00000 n 
+0001415930 00000 n 
+0001416122 00000 n 
+0001416336 00000 n 
+0001416541 00000 n 
+0001416920 00000 n 
+0001417133 00000 n 
+0001417324 00000 n 
+0001417538 00000 n 
+0001417724 00000 n 
+0001417929 00000 n 
+0001418142 00000 n 
+0001418334 00000 n 
+0001418518 00000 n 
+0001418734 00000 n 
+0001418946 00000 n 
+0001421714 00000 n 
+0001419126 00000 n 
+0001419477 00000 n 
+0001410608 00000 n 
+0001408500 00000 n 
+0001419300 00000 n 
+0001416731 00000 n 
+0001419359 00000 n 
+0001419418 00000 n 
+0001495116 00000 n 
+0001498429 00000 n 
+0001498547 00000 n 
+0001498665 00000 n 
+0001502395 00000 n 
+0001502513 00000 n 
+0001502631 00000 n 
+0001506543 00000 n 
+0001506657 00000 n 
+0001506775 00000 n 
+0001510788 00000 n 
+0001510911 00000 n 
+0001421928 00000 n 
+0001422142 00000 n 
+0001422355 00000 n 
+0001422571 00000 n 
+0001422787 00000 n 
+0001422992 00000 n 
+0001423206 00000 n 
+0001423411 00000 n 
+0001423625 00000 n 
+0001423841 00000 n 
+0001424046 00000 n 
+0001424262 00000 n 
+0001424443 00000 n 
+0001424659 00000 n 
+0001424875 00000 n 
+0001425090 00000 n 
+0001425272 00000 n 
+0001425454 00000 n 
+0001425670 00000 n 
+0001425851 00000 n 
+0001426065 00000 n 
+0001426244 00000 n 
+0001430295 00000 n 
+0001430511 00000 n 
+0001430693 00000 n 
+0001426424 00000 n 
+0001427362 00000 n 
+0001421363 00000 n 
+0001419645 00000 n 
+0001426598 00000 n 
+0001426657 00000 n 
+0001426716 00000 n 
+0001426775 00000 n 
+0001426833 00000 n 
+0001426892 00000 n 
+0001426951 00000 n 
+0001427010 00000 n 
+0001427068 00000 n 
+0001427126 00000 n 
+0001427185 00000 n 
+0001427244 00000 n 
+0001427303 00000 n 
+0003225403 00000 n 
+0001514153 00000 n 
+0001514335 00000 n 
+0001514453 00000 n 
+0001514576 00000 n 
+0001430875 00000 n 
+0001431057 00000 n 
+0001431223 00000 n 
+0001431393 00000 n 
+0001431685 00000 n 
+0001430097 00000 n 
+0001427531 00000 n 
+0001431567 00000 n 
+0001431626 00000 n 
+0001514699 00000 n 
+0001433719 00000 n 
+0001433952 00000 n 
+0001433575 00000 n 
+0001431862 00000 n 
+0001433893 00000 n 
+0001437071 00000 n 
+0001437304 00000 n 
+0001436927 00000 n 
+0001434101 00000 n 
+0001437245 00000 n 
+0001439963 00000 n 
+0001440491 00000 n 
+0001439819 00000 n 
+0001437478 00000 n 
+0001440137 00000 n 
+0001440196 00000 n 
+0001440314 00000 n 
+0001440432 00000 n 
+0001442165 00000 n 
+0001442751 00000 n 
+0001442021 00000 n 
+0001440723 00000 n 
+0001442339 00000 n 
+0001442457 00000 n 
+0001442574 00000 n 
+0001442692 00000 n 
+0001444527 00000 n 
+0001445114 00000 n 
+0001444383 00000 n 
+0001442880 00000 n 
+0001444701 00000 n 
+0001444819 00000 n 
+0001444937 00000 n 
+0001445055 00000 n 
+0003225529 00000 n 
+0001446914 00000 n 
+0001447441 00000 n 
+0001446770 00000 n 
+0001445271 00000 n 
+0001447088 00000 n 
+0001447205 00000 n 
+0001447323 00000 n 
+0001449389 00000 n 
+0001450280 00000 n 
+0001449245 00000 n 
+0001447598 00000 n 
+0001449563 00000 n 
+0001449622 00000 n 
+0001449740 00000 n 
+0001449799 00000 n 
+0001449917 00000 n 
+0001450040 00000 n 
+0001450158 00000 n 
+0001452241 00000 n 
+0001452429 00000 n 
+0001453074 00000 n 
+0001452088 00000 n 
+0001450437 00000 n 
+0001452603 00000 n 
+0001452662 00000 n 
+0001452780 00000 n 
+0001452897 00000 n 
+0001453015 00000 n 
+0001455693 00000 n 
+0001455881 00000 n 
+0001456067 00000 n 
+0001456609 00000 n 
+0001455531 00000 n 
+0001453216 00000 n 
+0001456241 00000 n 
+0001456364 00000 n 
+0001456487 00000 n 
+0001459110 00000 n 
+0001459294 00000 n 
+0001459456 00000 n 
+0001459935 00000 n 
+0001458948 00000 n 
+0001456751 00000 n 
+0001459630 00000 n 
+0001459689 00000 n 
+0001459812 00000 n 
+0001461854 00000 n 
+0001462564 00000 n 
+0001461710 00000 n 
+0001460077 00000 n 
+0001462028 00000 n 
+0001462087 00000 n 
+0001462205 00000 n 
+0001462323 00000 n 
+0001462446 00000 n 
+0003225655 00000 n 
+0001464358 00000 n 
+0001465004 00000 n 
+0001464214 00000 n 
+0001462721 00000 n 
+0001464532 00000 n 
+0001464591 00000 n 
+0001464709 00000 n 
+0001464827 00000 n 
+0001464945 00000 n 
+0001466681 00000 n 
+0001467267 00000 n 
+0001466537 00000 n 
+0001465146 00000 n 
+0001466855 00000 n 
+0001466973 00000 n 
+0001467091 00000 n 
+0001467208 00000 n 
+0001468773 00000 n 
+0001469418 00000 n 
+0001468629 00000 n 
+0001467409 00000 n 
+0001468947 00000 n 
+0001469065 00000 n 
+0001469183 00000 n 
+0001469301 00000 n 
+0001471230 00000 n 
+0001473647 00000 n 
+0001471393 00000 n 
+0001471980 00000 n 
+0001471077 00000 n 
+0001469560 00000 n 
+0001471567 00000 n 
+0001471626 00000 n 
+0001471744 00000 n 
+0001471862 00000 n 
+0001473812 00000 n 
+0001476944 00000 n 
+0001473997 00000 n 
+0001474702 00000 n 
+0001473485 00000 n 
+0001472107 00000 n 
+0001474171 00000 n 
+0001474230 00000 n 
+0001474348 00000 n 
+0001474466 00000 n 
+0001474584 00000 n 
+0001477121 00000 n 
+0001477299 00000 n 
+0001477474 00000 n 
+0001477648 00000 n 
+0001478294 00000 n 
+0001476764 00000 n 
+0001474829 00000 n 
+0001477822 00000 n 
+0001477881 00000 n 
+0001477999 00000 n 
+0001478117 00000 n 
+0001478235 00000 n 
+0003225781 00000 n 
+0001480442 00000 n 
+0001480612 00000 n 
+0001480783 00000 n 
+0001481252 00000 n 
+0001480280 00000 n 
+0001478436 00000 n 
+0001480957 00000 n 
+0001481075 00000 n 
+0001481193 00000 n 
+0001483284 00000 n 
+0001483455 00000 n 
+0001483626 00000 n 
+0001484152 00000 n 
+0001483122 00000 n 
+0001481431 00000 n 
+0001483800 00000 n 
+0001483918 00000 n 
+0001484036 00000 n 
+0001486375 00000 n 
+0001486561 00000 n 
+0001486748 00000 n 
+0001486913 00000 n 
+0001487499 00000 n 
+0001486204 00000 n 
+0001484319 00000 n 
+0001487087 00000 n 
+0001487146 00000 n 
+0001487264 00000 n 
+0001487382 00000 n 
+0001490108 00000 n 
+0001490273 00000 n 
+0001490459 00000 n 
+0001490674 00000 n 
+0001490837 00000 n 
+0001491051 00000 n 
+0001491237 00000 n 
+0001491763 00000 n 
+0001489910 00000 n 
+0001487678 00000 n 
+0001491411 00000 n 
+0001491470 00000 n 
+0001491588 00000 n 
+0001491705 00000 n 
+0001493818 00000 n 
+0001493978 00000 n 
+0001494151 00000 n 
+0001494313 00000 n 
+0001494486 00000 n 
+0001497196 00000 n 
+0001494648 00000 n 
+0001495234 00000 n 
+0001493629 00000 n 
+0001491905 00000 n 
+0001494822 00000 n 
+0001494940 00000 n 
+0001495058 00000 n 
+0001495175 00000 n 
+0001497369 00000 n 
+0001497529 00000 n 
+0001497702 00000 n 
+0001497864 00000 n 
+0001498036 00000 n 
+0001498196 00000 n 
+0001498783 00000 n 
+0001496998 00000 n 
+0001495389 00000 n 
+0001498370 00000 n 
+0001498488 00000 n 
+0001498606 00000 n 
+0001498724 00000 n 
+0003225907 00000 n 
+0001501179 00000 n 
+0001501352 00000 n 
+0001501541 00000 n 
+0001501757 00000 n 
+0001501946 00000 n 
+0001502162 00000 n 
+0001502689 00000 n 
+0001500990 00000 n 
+0001498938 00000 n 
+0001502336 00000 n 
+0001502454 00000 n 
+0001502572 00000 n 
+0001504922 00000 n 
+0001505094 00000 n 
+0001505310 00000 n 
+0001505496 00000 n 
+0001505682 00000 n 
+0001506060 00000 n 
+0001506251 00000 n 
+0001506893 00000 n 
+0001504715 00000 n 
+0001502891 00000 n 
+0001506425 00000 n 
+0001506484 00000 n 
+0001506602 00000 n 
+0001506716 00000 n 
+0001505871 00000 n 
+0001506834 00000 n 
+0001509749 00000 n 
+0001509939 00000 n 
+0001510155 00000 n 
+0001510370 00000 n 
+0001513521 00000 n 
+0001513705 00000 n 
+0001510555 00000 n 
+0001511033 00000 n 
+0001509569 00000 n 
+0001507033 00000 n 
+0001510729 00000 n 
+0001510852 00000 n 
+0001510974 00000 n 
+0001516730 00000 n 
+0001513920 00000 n 
+0001514880 00000 n 
+0001513359 00000 n 
+0001511185 00000 n 
+0001514094 00000 n 
+0001514217 00000 n 
+0001514276 00000 n 
+0001514394 00000 n 
+0001514517 00000 n 
+0001514640 00000 n 
+0001514763 00000 n 
+0001516912 00000 n 
+0001517119 00000 n 
+0001517301 00000 n 
+0001517528 00000 n 
+0001517756 00000 n 
+0001517937 00000 n 
+0001518165 00000 n 
+0001518360 00000 n 
+0001518588 00000 n 
+0001518817 00000 n 
+0001519012 00000 n 
+0001519241 00000 n 
+0001519423 00000 n 
+0001519604 00000 n 
+0001519799 00000 n 
+0001519980 00000 n 
+0001520918 00000 n 
+0001516442 00000 n 
+0001515047 00000 n 
+0001520154 00000 n 
+0001520271 00000 n 
+0001520330 00000 n 
+0001520388 00000 n 
+0001520446 00000 n 
+0001520505 00000 n 
+0001520564 00000 n 
+0001520623 00000 n 
+0001520682 00000 n 
+0001520741 00000 n 
+0001520800 00000 n 
+0001520859 00000 n 
+0001522858 00000 n 
+0001523044 00000 n 
+0001523270 00000 n 
+0001523529 00000 n 
+0001523788 00000 n 
+0001524047 00000 n 
+0001524273 00000 n 
+0001524466 00000 n 
+0001524692 00000 n 
+0001524884 00000 n 
+0001525111 00000 n 
+0001525304 00000 n 
+0001525496 00000 n 
+0001525723 00000 n 
+0001525910 00000 n 
+0001526114 00000 n 
+0001526341 00000 n 
+0001526561 00000 n 
+0001526788 00000 n 
+0001527012 00000 n 
+0001527239 00000 n 
+0001530816 00000 n 
+0001527466 00000 n 
+0001528465 00000 n 
+0001522525 00000 n 
+0001521100 00000 n 
+0001527640 00000 n 
+0001527816 00000 n 
+0001527875 00000 n 
+0001527934 00000 n 
+0001527993 00000 n 
+0001528052 00000 n 
+0001528111 00000 n 
+0001528170 00000 n 
+0001528229 00000 n 
+0001528288 00000 n 
+0001528347 00000 n 
+0001528406 00000 n 
+0003226033 00000 n 
+0001558020 00000 n 
+0001558084 00000 n 
+0001558148 00000 n 
+0001531043 00000 n 
+0001531270 00000 n 
+0001531497 00000 n 
+0001531683 00000 n 
+0001531910 00000 n 
+0001532114 00000 n 
+0001532341 00000 n 
+0001532545 00000 n 
+0001532772 00000 n 
+0001532999 00000 n 
+0001533192 00000 n 
+0001533419 00000 n 
+0001533612 00000 n 
+0001533839 00000 n 
+0001534043 00000 n 
+0001534236 00000 n 
+0001534463 00000 n 
+0001534690 00000 n 
+0001534917 00000 n 
+0001535144 00000 n 
+0001535371 00000 n 
+0001535598 00000 n 
+0001535822 00000 n 
+0001536049 00000 n 
+0001536242 00000 n 
+0001536468 00000 n 
+0001539703 00000 n 
+0001539896 00000 n 
+0001540123 00000 n 
+0001536660 00000 n 
+0001537659 00000 n 
+0001530429 00000 n 
+0001528644 00000 n 
+0001536834 00000 n 
+0001536893 00000 n 
+0001536952 00000 n 
+0001537011 00000 n 
+0001537070 00000 n 
+0001537129 00000 n 
+0001537188 00000 n 
+0001537247 00000 n 
+0001537306 00000 n 
+0001537365 00000 n 
+0001537424 00000 n 
+0001537483 00000 n 
+0001537542 00000 n 
+0001537601 00000 n 
+0001562586 00000 n 
+0001562704 00000 n 
+0001540317 00000 n 
+0001540509 00000 n 
+0001540736 00000 n 
+0001540932 00000 n 
+0001541125 00000 n 
+0001541352 00000 n 
+0001541548 00000 n 
+0001541753 00000 n 
+0001541980 00000 n 
+0001542173 00000 n 
+0001542400 00000 n 
+0001542627 00000 n 
+0001542820 00000 n 
+0001543047 00000 n 
+0001543273 00000 n 
+0001543465 00000 n 
+0001543691 00000 n 
+0001543883 00000 n 
+0001544267 00000 n 
+0001544492 00000 n 
+0001544684 00000 n 
+0001544876 00000 n 
+0001545103 00000 n 
+0001545296 00000 n 
+0001545488 00000 n 
+0001545715 00000 n 
+0001549552 00000 n 
+0001545942 00000 n 
+0001546529 00000 n 
+0001539289 00000 n 
+0001537830 00000 n 
+0001546116 00000 n 
+0001546175 00000 n 
+0001546234 00000 n 
+0001546293 00000 n 
+0001546352 00000 n 
+0001546411 00000 n 
+0001546470 00000 n 
+0001544075 00000 n 
+0001558271 00000 n 
+0001558387 00000 n 
+0001558505 00000 n 
+0001564978 00000 n 
+0001565096 00000 n 
+0001565213 00000 n 
+0001565331 00000 n 
+0001565449 00000 n 
+0001549745 00000 n 
+0001550037 00000 n 
+0001549399 00000 n 
+0001546697 00000 n 
+0001549919 00000 n 
+0001549978 00000 n 
+0001553334 00000 n 
+0001553567 00000 n 
+0001553190 00000 n 
+0001550288 00000 n 
+0001553508 00000 n 
+0001555914 00000 n 
+0001556134 00000 n 
+0001556327 00000 n 
+0001556554 00000 n 
+0001556747 00000 n 
+0001556974 00000 n 
+0001557170 00000 n 
+0001557399 00000 n 
+0001557610 00000 n 
+0001558563 00000 n 
+0001555698 00000 n 
+0001553781 00000 n 
+0001557784 00000 n 
+0001557843 00000 n 
+0001557961 00000 n 
+0001558212 00000 n 
+0001558329 00000 n 
+0001558446 00000 n 
+0001560560 00000 n 
+0001560753 00000 n 
+0001560980 00000 n 
+0001561176 00000 n 
+0001561406 00000 n 
+0001561618 00000 n 
+0001561838 00000 n 
+0001562058 00000 n 
+0001562768 00000 n 
+0001560353 00000 n 
+0001558720 00000 n 
+0001562232 00000 n 
+0001562291 00000 n 
+0001562409 00000 n 
+0001562527 00000 n 
+0001562645 00000 n 
+0003226159 00000 n 
+0001564627 00000 n 
+0001565683 00000 n 
+0001564483 00000 n 
+0001562925 00000 n 
+0001564801 00000 n 
+0001564860 00000 n 
+0001564919 00000 n 
+0001565037 00000 n 
+0001565154 00000 n 
+0001565272 00000 n 
+0001565390 00000 n 
+0001565508 00000 n 
+0001567604 00000 n 
+0001567798 00000 n 
+0001568018 00000 n 
+0001568251 00000 n 
+0001568485 00000 n 
+0001568678 00000 n 
+0001568912 00000 n 
+0001569117 00000 n 
+0001569351 00000 n 
+0001569551 00000 n 
+0001569785 00000 n 
+0001569985 00000 n 
+0001570220 00000 n 
+0001570420 00000 n 
+0001570623 00000 n 
+0001570857 00000 n 
+0001571091 00000 n 
+0001571326 00000 n 
+0001571519 00000 n 
+0001571754 00000 n 
+0001571947 00000 n 
+0001572182 00000 n 
+0001572383 00000 n 
+0001572618 00000 n 
+0001576029 00000 n 
+0001576249 00000 n 
+0001576469 00000 n 
+0001572853 00000 n 
+0001573908 00000 n 
+0001567244 00000 n 
+0001565838 00000 n 
+0001573027 00000 n 
+0001573086 00000 n 
+0001573145 00000 n 
+0001573203 00000 n 
+0001573261 00000 n 
+0001573320 00000 n 
+0001573378 00000 n 
+0001573437 00000 n 
+0001573496 00000 n 
+0001573555 00000 n 
+0001573614 00000 n 
+0001573673 00000 n 
+0001573731 00000 n 
+0001573790 00000 n 
+0001573849 00000 n 
+0001596436 00000 n 
+0001576704 00000 n 
+0001576924 00000 n 
+0001577128 00000 n 
+0001577363 00000 n 
+0001577567 00000 n 
+0001577802 00000 n 
+0001578005 00000 n 
+0001578239 00000 n 
+0001578473 00000 n 
+0001578708 00000 n 
+0001578909 00000 n 
+0001579144 00000 n 
+0001579379 00000 n 
+0001579614 00000 n 
+0001579849 00000 n 
+0001580084 00000 n 
+0001580319 00000 n 
+0001580523 00000 n 
+0001580758 00000 n 
+0001580962 00000 n 
+0001581197 00000 n 
+0001581432 00000 n 
+0001584958 00000 n 
+0001585163 00000 n 
+0001585398 00000 n 
+0001585599 00000 n 
+0001581633 00000 n 
+0001582573 00000 n 
+0001575660 00000 n 
+0001574075 00000 n 
+0001581807 00000 n 
+0001581866 00000 n 
+0001581925 00000 n 
+0001581984 00000 n 
+0001582043 00000 n 
+0001582102 00000 n 
+0001582161 00000 n 
+0001582220 00000 n 
+0001582279 00000 n 
+0001582338 00000 n 
+0001582397 00000 n 
+0001582455 00000 n 
+0001582514 00000 n 
+0001585833 00000 n 
+0001586066 00000 n 
+0001586267 00000 n 
+0001586502 00000 n 
+0001586729 00000 n 
+0001586962 00000 n 
+0001587162 00000 n 
+0001587362 00000 n 
+0001587596 00000 n 
+0001587796 00000 n 
+0001588031 00000 n 
+0001588232 00000 n 
+0001588633 00000 n 
+0001588834 00000 n 
+0001589027 00000 n 
+0001589731 00000 n 
+0001584643 00000 n 
+0001582729 00000 n 
+0001589201 00000 n 
+0001589260 00000 n 
+0001589319 00000 n 
+0001589378 00000 n 
+0001589437 00000 n 
+0001589496 00000 n 
+0001589555 00000 n 
+0001589614 00000 n 
+0001588433 00000 n 
+0001589673 00000 n 
+0001596854 00000 n 
+0001596972 00000 n 
+0001597090 00000 n 
+0001592578 00000 n 
+0001592811 00000 n 
+0001592434 00000 n 
+0001589895 00000 n 
+0001592752 00000 n 
+0001595069 00000 n 
+0001595454 00000 n 
+0001595683 00000 n 
+0001595917 00000 n 
+0001596144 00000 n 
+0001597154 00000 n 
+0001594880 00000 n 
+0001592998 00000 n 
+0001596318 00000 n 
+0001596377 00000 n 
+0001596495 00000 n 
+0001596618 00000 n 
+0001595262 00000 n 
+0001596736 00000 n 
+0001596795 00000 n 
+0001596913 00000 n 
+0001597031 00000 n 
+0003226285 00000 n 
+0001598935 00000 n 
+0001599141 00000 n 
+0001599368 00000 n 
+0001599595 00000 n 
+0001599822 00000 n 
+0001600010 00000 n 
+0001600237 00000 n 
+0001600431 00000 n 
+0001600658 00000 n 
+0001600886 00000 n 
+0001601080 00000 n 
+0001601307 00000 n 
+0001601535 00000 n 
+0001601723 00000 n 
+0001602662 00000 n 
+0001598674 00000 n 
+0001597309 00000 n 
+0001601897 00000 n 
+0001601956 00000 n 
+0001602131 00000 n 
+0001602190 00000 n 
+0001602249 00000 n 
+0001602308 00000 n 
+0001602367 00000 n 
+0001602426 00000 n 
+0001602485 00000 n 
+0001602544 00000 n 
+0001602603 00000 n 
+0001607239 00000 n 
+0001605001 00000 n 
+0001605198 00000 n 
+0001605418 00000 n 
+0001605604 00000 n 
+0001605823 00000 n 
+0001606027 00000 n 
+0001606247 00000 n 
+0001606451 00000 n 
+0001606671 00000 n 
+0001610469 00000 n 
+0001610681 00000 n 
+0001606888 00000 n 
+0001607825 00000 n 
+0001604776 00000 n 
+0001602873 00000 n 
+0001607062 00000 n 
+0001607121 00000 n 
+0001607180 00000 n 
+0001607298 00000 n 
+0001607471 00000 n 
+0001607530 00000 n 
+0001607589 00000 n 
+0001607648 00000 n 
+0001607707 00000 n 
+0001607766 00000 n 
+0001610900 00000 n 
+0001611112 00000 n 
+0001611332 00000 n 
+0001611544 00000 n 
+0001611983 00000 n 
+0001612203 00000 n 
+0001612382 00000 n 
+0001612602 00000 n 
+0001612814 00000 n 
+0001613251 00000 n 
+0001613455 00000 n 
+0001613667 00000 n 
+0001614105 00000 n 
+0001614310 00000 n 
+0001614522 00000 n 
+0001614742 00000 n 
+0001614953 00000 n 
+0001618499 00000 n 
+0001618719 00000 n 
+0001618904 00000 n 
+0001615173 00000 n 
+0001615642 00000 n 
+0001610127 00000 n 
+0001608033 00000 n 
+0001615347 00000 n 
+0001615406 00000 n 
+0001615465 00000 n 
+0001615524 00000 n 
+0001611764 00000 n 
+0001613033 00000 n 
+0001613886 00000 n 
+0001615583 00000 n 
+0001619863 00000 n 
+0001619981 00000 n 
+0001622870 00000 n 
+0001622987 00000 n 
+0001623105 00000 n 
+0001623223 00000 n 
+0001619275 00000 n 
+0001619454 00000 n 
+0001620098 00000 n 
+0001618310 00000 n 
+0001615823 00000 n 
+0001619628 00000 n 
+0001619090 00000 n 
+0001619687 00000 n 
+0001619746 00000 n 
+0001619805 00000 n 
+0001619922 00000 n 
+0001620039 00000 n 
+0001625746 00000 n 
+0001622637 00000 n 
+0001623287 00000 n 
+0001622493 00000 n 
+0001620265 00000 n 
+0001622811 00000 n 
+0001622928 00000 n 
+0001623046 00000 n 
+0001623164 00000 n 
+0001625395 00000 n 
+0001626391 00000 n 
+0001625251 00000 n 
+0001623469 00000 n 
+0001625569 00000 n 
+0001625628 00000 n 
+0001625687 00000 n 
+0001625805 00000 n 
+0001625981 00000 n 
+0001626038 00000 n 
+0001626214 00000 n 
+0001626273 00000 n 
+0003226411 00000 n 
+0001628551 00000 n 
+0001628768 00000 n 
+0001628995 00000 n 
+0001629224 00000 n 
+0001629452 00000 n 
+0001629648 00000 n 
+0001629877 00000 n 
+0001630105 00000 n 
+0001630333 00000 n 
+0001630519 00000 n 
+0001630747 00000 n 
+0001630935 00000 n 
+0001631162 00000 n 
+0001631347 00000 n 
+0001631574 00000 n 
+0001634852 00000 n 
+0001635080 00000 n 
+0001631766 00000 n 
+0001632587 00000 n 
+0001628272 00000 n 
+0001626560 00000 n 
+0001631940 00000 n 
+0001632057 00000 n 
+0001632116 00000 n 
+0001632292 00000 n 
+0001632351 00000 n 
+0001632410 00000 n 
+0001632469 00000 n 
+0001632528 00000 n 
+0001670277 00000 n 
+0001670395 00000 n 
+0001673553 00000 n 
+0001673676 00000 n 
+0001635268 00000 n 
+0001635471 00000 n 
+0001635700 00000 n 
+0001635930 00000 n 
+0001636116 00000 n 
+0001636346 00000 n 
+0001636576 00000 n 
+0001636806 00000 n 
+0001637010 00000 n 
+0001637240 00000 n 
+0001637443 00000 n 
+0001637672 00000 n 
+0001637902 00000 n 
+0001638132 00000 n 
+0001638361 00000 n 
+0001638591 00000 n 
+0001638821 00000 n 
+0001639051 00000 n 
+0001639281 00000 n 
+0001639477 00000 n 
+0001639682 00000 n 
+0001639912 00000 n 
+0001643094 00000 n 
+0001640106 00000 n 
+0001641223 00000 n 
+0001634492 00000 n 
+0001632753 00000 n 
+0001640280 00000 n 
+0001640339 00000 n 
+0001640398 00000 n 
+0001640457 00000 n 
+0001640516 00000 n 
+0001640574 00000 n 
+0001640633 00000 n 
+0001640692 00000 n 
+0001640751 00000 n 
+0001640810 00000 n 
+0001640869 00000 n 
+0001640928 00000 n 
+0001640987 00000 n 
+0001641046 00000 n 
+0001641105 00000 n 
+0001641164 00000 n 
+0001673799 00000 n 
+0001643324 00000 n 
+0001643554 00000 n 
+0001643750 00000 n 
+0001643979 00000 n 
+0001644173 00000 n 
+0001644403 00000 n 
+0001644599 00000 n 
+0001644795 00000 n 
+0001644989 00000 n 
+0001645219 00000 n 
+0001645415 00000 n 
+0001645609 00000 n 
+0001645839 00000 n 
+0001646032 00000 n 
+0001646226 00000 n 
+0001646456 00000 n 
+0001646641 00000 n 
+0001646837 00000 n 
+0001647031 00000 n 
+0001647261 00000 n 
+0001647446 00000 n 
+0001647632 00000 n 
+0001647825 00000 n 
+0001648054 00000 n 
+0001648249 00000 n 
+0001648443 00000 n 
+0001648673 00000 n 
+0001648869 00000 n 
+0001649065 00000 n 
+0001649259 00000 n 
+0001649489 00000 n 
+0001649674 00000 n 
+0001649860 00000 n 
+0001650054 00000 n 
+0001650284 00000 n 
+0001650480 00000 n 
+0001650674 00000 n 
+0001650904 00000 n 
+0001651100 00000 n 
+0001651294 00000 n 
+0001651524 00000 n 
+0001651709 00000 n 
+0001651905 00000 n 
+0001652099 00000 n 
+0001652329 00000 n 
+0001652525 00000 n 
+0001652711 00000 n 
+0001652903 00000 n 
+0001653131 00000 n 
+0001655906 00000 n 
+0001656100 00000 n 
+0001656330 00000 n 
+0001653325 00000 n 
+0001653794 00000 n 
+0001642500 00000 n 
+0001641394 00000 n 
+0001653499 00000 n 
+0001653558 00000 n 
+0001653617 00000 n 
+0001653735 00000 n 
+0001673981 00000 n 
+0001674099 00000 n 
+0001675970 00000 n 
+0001676086 00000 n 
+0001676204 00000 n 
+0001676322 00000 n 
+0001676440 00000 n 
+0001676558 00000 n 
+0001676676 00000 n 
+0001676794 00000 n 
+0001679229 00000 n 
+0001679345 00000 n 
+0001679463 00000 n 
+0001656526 00000 n 
+0001656720 00000 n 
+0001656948 00000 n 
+0001657143 00000 n 
+0001657339 00000 n 
+0001657533 00000 n 
+0001657761 00000 n 
+0001657956 00000 n 
+0001658142 00000 n 
+0001658336 00000 n 
+0001658564 00000 n 
+0001658759 00000 n 
+0001658953 00000 n 
+0001659181 00000 n 
+0001659375 00000 n 
+0001659571 00000 n 
+0001659764 00000 n 
+0001659991 00000 n 
+0001660184 00000 n 
+0001660369 00000 n 
+0001660563 00000 n 
+0001660791 00000 n 
+0001660985 00000 n 
+0001661179 00000 n 
+0001661407 00000 n 
+0001661603 00000 n 
+0001661797 00000 n 
+0001662027 00000 n 
+0001662223 00000 n 
+0001662408 00000 n 
+0001662602 00000 n 
+0001662832 00000 n 
+0001663028 00000 n 
+0001663209 00000 n 
+0001663403 00000 n 
+0001663633 00000 n 
+0001663829 00000 n 
+0001664015 00000 n 
+0001664209 00000 n 
+0001664439 00000 n 
+0001664635 00000 n 
+0001664865 00000 n 
+0001665061 00000 n 
+0001665289 00000 n 
+0001665484 00000 n 
+0001668901 00000 n 
+0001665873 00000 n 
+0001666165 00000 n 
+0001655321 00000 n 
+0001653933 00000 n 
+0001666047 00000 n 
+0001666106 00000 n 
+0001665678 00000 n 
+0001679581 00000 n 
+0001679697 00000 n 
+0001679815 00000 n 
+0001679933 00000 n 
+0001682392 00000 n 
+0001682508 00000 n 
+0001682626 00000 n 
+0001682744 00000 n 
+0001682862 00000 n 
+0001682979 00000 n 
+0001683097 00000 n 
+0001687290 00000 n 
+0001687406 00000 n 
+0001687524 00000 n 
+0001669097 00000 n 
+0001669283 00000 n 
+0001669468 00000 n 
+0001669926 00000 n 
+0001670454 00000 n 
+0001668712 00000 n 
+0001666332 00000 n 
+0001670100 00000 n 
+0001670159 00000 n 
+0001670218 00000 n 
+0001670336 00000 n 
+0001669696 00000 n 
+0001673261 00000 n 
+0001674158 00000 n 
+0001673117 00000 n 
+0001670656 00000 n 
+0001673435 00000 n 
+0001673494 00000 n 
+0001673617 00000 n 
+0001673740 00000 n 
+0001673863 00000 n 
+0001673922 00000 n 
+0001674040 00000 n 
+0003226537 00000 n 
+0001675678 00000 n 
+0001676852 00000 n 
+0001675534 00000 n 
+0001674412 00000 n 
+0001675852 00000 n 
+0001675911 00000 n 
+0001676028 00000 n 
+0001676145 00000 n 
+0001676263 00000 n 
+0001676381 00000 n 
+0001676499 00000 n 
+0001676617 00000 n 
+0001676735 00000 n 
+0001678478 00000 n 
+0001678937 00000 n 
+0001679991 00000 n 
+0001678316 00000 n 
+0001676981 00000 n 
+0001679111 00000 n 
+0001679170 00000 n 
+0001679287 00000 n 
+0001679404 00000 n 
+0001679522 00000 n 
+0001679639 00000 n 
+0001679756 00000 n 
+0001679874 00000 n 
+0001678708 00000 n 
+0001681640 00000 n 
+0001682100 00000 n 
+0001683155 00000 n 
+0001681478 00000 n 
+0001680133 00000 n 
+0001682274 00000 n 
+0001682333 00000 n 
+0001682450 00000 n 
+0001682567 00000 n 
+0001681870 00000 n 
+0001682685 00000 n 
+0001682803 00000 n 
+0001682920 00000 n 
+0001683038 00000 n 
+0001685044 00000 n 
+0001685268 00000 n 
+0001685525 00000 n 
+0001685749 00000 n 
+0001686006 00000 n 
+0001686519 00000 n 
+0001686776 00000 n 
+0001690318 00000 n 
+0001690541 00000 n 
+0001686998 00000 n 
+0001687877 00000 n 
+0001684828 00000 n 
+0001683297 00000 n 
+0001687172 00000 n 
+0001687231 00000 n 
+0001687348 00000 n 
+0001687465 00000 n 
+0001687583 00000 n 
+0001687759 00000 n 
+0001686263 00000 n 
+0001687818 00000 n 
+0001719301 00000 n 
+0001719419 00000 n 
+0001719483 00000 n 
+0001719601 00000 n 
+0001719665 00000 n 
+0001719729 00000 n 
+0001690746 00000 n 
+0001690969 00000 n 
+0001691174 00000 n 
+0001691366 00000 n 
+0001691757 00000 n 
+0001691962 00000 n 
+0001692185 00000 n 
+0001692389 00000 n 
+0001692584 00000 n 
+0001692787 00000 n 
+0001693010 00000 n 
+0001693215 00000 n 
+0001693411 00000 n 
+0001693607 00000 n 
+0001693811 00000 n 
+0001694034 00000 n 
+0001694224 00000 n 
+0001694447 00000 n 
+0001694635 00000 n 
+0001694856 00000 n 
+0001695045 00000 n 
+0001695248 00000 n 
+0001695471 00000 n 
+0001695663 00000 n 
+0001695887 00000 n 
+0001696110 00000 n 
+0001696334 00000 n 
+0001696557 00000 n 
+0001696781 00000 n 
+0001696977 00000 n 
+0001697201 00000 n 
+0001697405 00000 n 
+0001697629 00000 n 
+0001701183 00000 n 
+0001701407 00000 n 
+0001697851 00000 n 
+0001698673 00000 n 
+0001689850 00000 n 
+0001688032 00000 n 
+0001698025 00000 n 
+0001698084 00000 n 
+0001691562 00000 n 
+0001698143 00000 n 
+0001698202 00000 n 
+0001698261 00000 n 
+0001698320 00000 n 
+0001698379 00000 n 
+0001698438 00000 n 
+0001698496 00000 n 
+0001698555 00000 n 
+0001698614 00000 n 
+0001719852 00000 n 
+0001723228 00000 n 
+0001723345 00000 n 
+0001726558 00000 n 
+0001726735 00000 n 
+0001701611 00000 n 
+0001701835 00000 n 
+0001702026 00000 n 
+0001702250 00000 n 
+0001702438 00000 n 
+0001702662 00000 n 
+0001702857 00000 n 
+0001703081 00000 n 
+0001703277 00000 n 
+0001703500 00000 n 
+0001703703 00000 n 
+0001703925 00000 n 
+0001704127 00000 n 
+0001704351 00000 n 
+0001704574 00000 n 
+0001704761 00000 n 
+0001704966 00000 n 
+0001705374 00000 n 
+0001705561 00000 n 
+0001705785 00000 n 
+0001705972 00000 n 
+0001706196 00000 n 
+0001706419 00000 n 
+0001706622 00000 n 
+0001706825 00000 n 
+0001707049 00000 n 
+0001707273 00000 n 
+0001707497 00000 n 
+0001710615 00000 n 
+0001710839 00000 n 
+0001707721 00000 n 
+0001708248 00000 n 
+0001700760 00000 n 
+0001698856 00000 n 
+0001707895 00000 n 
+0001707954 00000 n 
+0001705171 00000 n 
+0003215172 00000 n 
+0001708013 00000 n 
+0001708072 00000 n 
+0001708131 00000 n 
+0001708189 00000 n 
+0003226663 00000 n 
+0001726853 00000 n 
+0001726976 00000 n 
+0001729088 00000 n 
+0001729204 00000 n 
+0001729322 00000 n 
+0001729440 00000 n 
+0001731608 00000 n 
+0001731726 00000 n 
+0001731844 00000 n 
+0001731957 00000 n 
+0001734368 00000 n 
+0001711062 00000 n 
+0001711266 00000 n 
+0001711490 00000 n 
+0001711694 00000 n 
+0001711918 00000 n 
+0001712142 00000 n 
+0001712332 00000 n 
+0001712555 00000 n 
+0001712779 00000 n 
+0001713003 00000 n 
+0001713226 00000 n 
+0001713449 00000 n 
+0001713654 00000 n 
+0001713878 00000 n 
+0001714068 00000 n 
+0001714292 00000 n 
+0001714482 00000 n 
+0001714705 00000 n 
+0001714895 00000 n 
+0001718434 00000 n 
+0001715274 00000 n 
+0001716097 00000 n 
+0001710273 00000 n 
+0001708418 00000 n 
+0001715448 00000 n 
+0001715507 00000 n 
+0001715566 00000 n 
+0001715625 00000 n 
+0001715684 00000 n 
+0001715743 00000 n 
+0001715802 00000 n 
+0001715861 00000 n 
+0001715920 00000 n 
+0001715979 00000 n 
+0001715085 00000 n 
+0001716038 00000 n 
+0001734545 00000 n 
+0001734663 00000 n 
+0001718629 00000 n 
+0001718819 00000 n 
+0001722325 00000 n 
+0001719009 00000 n 
+0001719970 00000 n 
+0001718263 00000 n 
+0001716251 00000 n 
+0001719183 00000 n 
+0001719242 00000 n 
+0001719360 00000 n 
+0001719542 00000 n 
+0001719793 00000 n 
+0001719911 00000 n 
+0001722548 00000 n 
+0001722772 00000 n 
+0001722995 00000 n 
+0001723463 00000 n 
+0001722154 00000 n 
+0001720139 00000 n 
+0001723169 00000 n 
+0001723286 00000 n 
+0001723404 00000 n 
+0001725877 00000 n 
+0001726101 00000 n 
+0001726325 00000 n 
+0001727039 00000 n 
+0001725715 00000 n 
+0001723630 00000 n 
+0001726499 00000 n 
+0001726617 00000 n 
+0001726676 00000 n 
+0001726794 00000 n 
+0001726917 00000 n 
+0001728796 00000 n 
+0001729499 00000 n 
+0001728652 00000 n 
+0001727208 00000 n 
+0001728970 00000 n 
+0001729029 00000 n 
+0001729146 00000 n 
+0001729263 00000 n 
+0001729381 00000 n 
+0001731316 00000 n 
+0001732015 00000 n 
+0001731172 00000 n 
+0001729626 00000 n 
+0001731490 00000 n 
+0001731549 00000 n 
+0001731667 00000 n 
+0001731785 00000 n 
+0001731899 00000 n 
+0003226789 00000 n 
+0001733891 00000 n 
+0001737071 00000 n 
+0001737296 00000 n 
+0001737500 00000 n 
+0001734076 00000 n 
+0001734897 00000 n 
+0001733738 00000 n 
+0001732155 00000 n 
+0001734250 00000 n 
+0001734309 00000 n 
+0001734427 00000 n 
+0001734486 00000 n 
+0001734604 00000 n 
+0001734722 00000 n 
+0001737704 00000 n 
+0001737928 00000 n 
+0001738121 00000 n 
+0001738347 00000 n 
+0001738543 00000 n 
+0001738736 00000 n 
+0001738962 00000 n 
+0001739156 00000 n 
+0001739382 00000 n 
+0001739577 00000 n 
+0001739770 00000 n 
+0001739996 00000 n 
+0001740191 00000 n 
+0001740417 00000 n 
+0001740613 00000 n 
+0001740806 00000 n 
+0001741032 00000 n 
+0001741221 00000 n 
+0001741426 00000 n 
+0001741651 00000 n 
+0001741831 00000 n 
+0001742016 00000 n 
+0001742219 00000 n 
+0001742445 00000 n 
+0001742626 00000 n 
+0001742830 00000 n 
+0001743056 00000 n 
+0001743243 00000 n 
+0001743448 00000 n 
+0001743673 00000 n 
+0001743866 00000 n 
+0001744070 00000 n 
+0001744296 00000 n 
+0001744489 00000 n 
+0001744694 00000 n 
+0001744886 00000 n 
+0001745113 00000 n 
+0001748190 00000 n 
+0001748382 00000 n 
+0001748609 00000 n 
+0001745306 00000 n 
+0001745716 00000 n 
+0001736567 00000 n 
+0001735065 00000 n 
+0001745480 00000 n 
+0001745539 00000 n 
+0001745598 00000 n 
+0001745657 00000 n 
+0001751157 00000 n 
+0001751275 00000 n 
+0001753287 00000 n 
+0001753405 00000 n 
+0001753523 00000 n 
+0001755687 00000 n 
+0001755805 00000 n 
+0001755923 00000 n 
+0001756039 00000 n 
+0001758222 00000 n 
+0001758340 00000 n 
+0001758458 00000 n 
+0001748800 00000 n 
+0001749025 00000 n 
+0001749252 00000 n 
+0001749445 00000 n 
+0001749672 00000 n 
+0001749865 00000 n 
+0001750058 00000 n 
+0001750248 00000 n 
+0001750440 00000 n 
+0001750630 00000 n 
+0001751398 00000 n 
+0001747938 00000 n 
+0001745884 00000 n 
+0001750804 00000 n 
+0001750863 00000 n 
+0001750922 00000 n 
+0001750980 00000 n 
+0001751039 00000 n 
+0001751098 00000 n 
+0001751216 00000 n 
+0001751339 00000 n 
+0001761351 00000 n 
+0001753054 00000 n 
+0001753641 00000 n 
+0001752910 00000 n 
+0001751623 00000 n 
+0001753228 00000 n 
+0001753346 00000 n 
+0001753464 00000 n 
+0001753582 00000 n 
+0001755454 00000 n 
+0001756156 00000 n 
+0001755310 00000 n 
+0001753770 00000 n 
+0001755628 00000 n 
+0001755746 00000 n 
+0001755864 00000 n 
+0001755982 00000 n 
+0001756097 00000 n 
+0001757989 00000 n 
+0001758576 00000 n 
+0001757845 00000 n 
+0001756313 00000 n 
+0001758163 00000 n 
+0001758281 00000 n 
+0001758399 00000 n 
+0001758517 00000 n 
+0003226915 00000 n 
+0001760386 00000 n 
+0001760610 00000 n 
+0001760835 00000 n 
+0001764116 00000 n 
+0001761059 00000 n 
+0001761939 00000 n 
+0001760215 00000 n 
+0001758733 00000 n 
+0001761233 00000 n 
+0001761292 00000 n 
+0001761410 00000 n 
+0001761586 00000 n 
+0001761762 00000 n 
+0001761821 00000 n 
+0001761880 00000 n 
+0001766063 00000 n 
+0001764321 00000 n 
+0001764549 00000 n 
+0001764742 00000 n 
+0001764970 00000 n 
+0001765197 00000 n 
+0001765425 00000 n 
+0001769320 00000 n 
+0001769548 00000 n 
+0001765653 00000 n 
+0001766710 00000 n 
+0001763909 00000 n 
+0001762106 00000 n 
+0001765827 00000 n 
+0001765886 00000 n 
+0001765945 00000 n 
+0001766004 00000 n 
+0001766122 00000 n 
+0001766297 00000 n 
+0001766356 00000 n 
+0001766415 00000 n 
+0001766474 00000 n 
+0001766533 00000 n 
+0001766592 00000 n 
+0001766651 00000 n 
+0001769774 00000 n 
+0001769978 00000 n 
+0001770206 00000 n 
+0001770410 00000 n 
+0001770638 00000 n 
+0001770866 00000 n 
+0001771094 00000 n 
+0001771299 00000 n 
+0001771504 00000 n 
+0001771732 00000 n 
+0001771926 00000 n 
+0001772131 00000 n 
+0001772359 00000 n 
+0001772553 00000 n 
+0001772758 00000 n 
+0001772986 00000 n 
+0001773180 00000 n 
+0001773408 00000 n 
+0001773602 00000 n 
+0001773830 00000 n 
+0001774023 00000 n 
+0001774250 00000 n 
+0001774437 00000 n 
+0001774641 00000 n 
+0001774869 00000 n 
+0001775050 00000 n 
+0001775236 00000 n 
+0001775441 00000 n 
+0001775669 00000 n 
+0001775849 00000 n 
+0001776052 00000 n 
+0001776280 00000 n 
+0001776467 00000 n 
+0001779437 00000 n 
+0001779631 00000 n 
+0001779859 00000 n 
+0001776671 00000 n 
+0001777081 00000 n 
+0001768861 00000 n 
+0001766908 00000 n 
+0001776845 00000 n 
+0001776904 00000 n 
+0001776963 00000 n 
+0001777022 00000 n 
+0001926976 00000 n 
+0001859901 00000 n 
+0001860019 00000 n 
+0001860137 00000 n 
+0001860260 00000 n 
+0001860383 00000 n 
+0001862867 00000 n 
+0001862985 00000 n 
+0001863103 00000 n 
+0001865541 00000 n 
+0001865659 00000 n 
+0001780053 00000 n 
+0001780279 00000 n 
+0001780472 00000 n 
+0001780700 00000 n 
+0001780905 00000 n 
+0001781132 00000 n 
+0001781337 00000 n 
+0001781565 00000 n 
+0001781753 00000 n 
+0001781949 00000 n 
+0001782175 00000 n 
+0001782371 00000 n 
+0001782598 00000 n 
+0001782793 00000 n 
+0001783020 00000 n 
+0001783216 00000 n 
+0001783444 00000 n 
+0001783672 00000 n 
+0001783866 00000 n 
+0001784094 00000 n 
+0001784287 00000 n 
+0001784515 00000 n 
+0001784709 00000 n 
+0001784906 00000 n 
+0001785133 00000 n 
+0001785320 00000 n 
+0001785517 00000 n 
+0001785744 00000 n 
+0001785931 00000 n 
+0001786128 00000 n 
+0001786355 00000 n 
+0001786541 00000 n 
+0001786769 00000 n 
+0001790430 00000 n 
+0001790658 00000 n 
+0001786995 00000 n 
+0001787877 00000 n 
+0001778969 00000 n 
+0001777249 00000 n 
+0001787169 00000 n 
+0001787228 00000 n 
+0001787287 00000 n 
+0001787346 00000 n 
+0001787405 00000 n 
+0001787464 00000 n 
+0001787523 00000 n 
+0001787582 00000 n 
+0001787641 00000 n 
+0001787700 00000 n 
+0001787759 00000 n 
+0001787818 00000 n 
+0001865836 00000 n 
+0001867856 00000 n 
+0001867974 00000 n 
+0001868092 00000 n 
+0001868210 00000 n 
+0001868328 00000 n 
+0001790882 00000 n 
+0001791110 00000 n 
+0001791338 00000 n 
+0001791566 00000 n 
+0001791752 00000 n 
+0001791979 00000 n 
+0001792174 00000 n 
+0001792401 00000 n 
+0001792595 00000 n 
+0001792822 00000 n 
+0001793018 00000 n 
+0001793223 00000 n 
+0001793428 00000 n 
+0001793655 00000 n 
+0001793851 00000 n 
+0001794056 00000 n 
+0001794261 00000 n 
+0001794448 00000 n 
+0001794676 00000 n 
+0001794872 00000 n 
+0001795076 00000 n 
+0001795280 00000 n 
+0001795508 00000 n 
+0001795704 00000 n 
+0001795908 00000 n 
+0001796112 00000 n 
+0001796299 00000 n 
+0001796527 00000 n 
+0001796722 00000 n 
+0001796927 00000 n 
+0001797132 00000 n 
+0001797541 00000 n 
+0001797745 00000 n 
+0001797973 00000 n 
+0001798197 00000 n 
+0001801425 00000 n 
+0001801651 00000 n 
+0001798383 00000 n 
+0001798911 00000 n 
+0001789944 00000 n 
+0001788059 00000 n 
+0001798557 00000 n 
+0001798616 00000 n 
+0001798675 00000 n 
+0001798734 00000 n 
+0001798793 00000 n 
+0001797336 00000 n 
+0001798852 00000 n 
+0001870621 00000 n 
+0001870738 00000 n 
+0001870855 00000 n 
+0001870973 00000 n 
+0001873598 00000 n 
+0001873720 00000 n 
+0001877056 00000 n 
+0001877179 00000 n 
+0001879346 00000 n 
+0001801847 00000 n 
+0001802073 00000 n 
+0001802269 00000 n 
+0001802494 00000 n 
+0001802681 00000 n 
+0001802907 00000 n 
+0001803102 00000 n 
+0001803328 00000 n 
+0001803524 00000 n 
+0001803750 00000 n 
+0001803938 00000 n 
+0001804163 00000 n 
+0001804351 00000 n 
+0001804575 00000 n 
+0001804770 00000 n 
+0001804996 00000 n 
+0001805192 00000 n 
+0001805418 00000 n 
+0001805604 00000 n 
+0001805769 00000 n 
+0001805995 00000 n 
+0001806187 00000 n 
+0001806351 00000 n 
+0001806577 00000 n 
+0001806770 00000 n 
+0001806995 00000 n 
+0001807187 00000 n 
+0001807414 00000 n 
+0001807606 00000 n 
+0001807834 00000 n 
+0001808028 00000 n 
+0001808253 00000 n 
+0001808446 00000 n 
+0001808673 00000 n 
+0001812916 00000 n 
+0001813095 00000 n 
+0001813323 00000 n 
+0001813509 00000 n 
+0001808866 00000 n 
+0001809099 00000 n 
+0001800957 00000 n 
+0001799065 00000 n 
+0001809040 00000 n 
+0003227041 00000 n 
+0001879469 00000 n 
+0001879585 00000 n 
+0001881797 00000 n 
+0001881915 00000 n 
+0001882031 00000 n 
+0001882149 00000 n 
+0001884181 00000 n 
+0001884298 00000 n 
+0001884416 00000 n 
+0001887174 00000 n 
+0001887291 00000 n 
+0001887409 00000 n 
+0001887527 00000 n 
+0001890231 00000 n 
+0001890349 00000 n 
+0001890471 00000 n 
+0001890593 00000 n 
+0001813705 00000 n 
+0001813868 00000 n 
+0001814095 00000 n 
+0001814280 00000 n 
+0001814475 00000 n 
+0001814639 00000 n 
+0001814867 00000 n 
+0001815053 00000 n 
+0001815258 00000 n 
+0001815454 00000 n 
+0001815630 00000 n 
+0001815858 00000 n 
+0001816054 00000 n 
+0001816259 00000 n 
+0001816455 00000 n 
+0001816632 00000 n 
+0001816860 00000 n 
+0001817045 00000 n 
+0001817241 00000 n 
+0001817633 00000 n 
+0001817819 00000 n 
+0001818046 00000 n 
+0001818231 00000 n 
+0001818435 00000 n 
+0001818826 00000 n 
+0001819003 00000 n 
+0001819231 00000 n 
+0001819427 00000 n 
+0001819632 00000 n 
+0001819828 00000 n 
+0001820004 00000 n 
+0001820232 00000 n 
+0001820418 00000 n 
+0001820614 00000 n 
+0001821006 00000 n 
+0001821193 00000 n 
+0001821418 00000 n 
+0001821612 00000 n 
+0001821781 00000 n 
+0001822009 00000 n 
+0001822201 00000 n 
+0001822406 00000 n 
+0001822815 00000 n 
+0001823019 00000 n 
+0001823215 00000 n 
+0001823380 00000 n 
+0001823605 00000 n 
+0001823808 00000 n 
+0001824035 00000 n 
+0001824225 00000 n 
+0001824428 00000 n 
+0001824661 00000 n 
+0001812250 00000 n 
+0001809253 00000 n 
+0001824602 00000 n 
+0001817437 00000 n 
+0001818630 00000 n 
+0001820810 00000 n 
+0001822610 00000 n 
+0001893652 00000 n 
+0001893769 00000 n 
+0001893887 00000 n 
+0001897291 00000 n 
+0001897409 00000 n 
+0001900666 00000 n 
+0001900784 00000 n 
+0001900902 00000 n 
+0001904705 00000 n 
+0001904823 00000 n 
+0001907985 00000 n 
+0001908103 00000 n 
+0001827543 00000 n 
+0001827769 00000 n 
+0001827995 00000 n 
+0001828189 00000 n 
+0001828356 00000 n 
+0001828584 00000 n 
+0001828778 00000 n 
+0001828945 00000 n 
+0001829171 00000 n 
+0001829365 00000 n 
+0001829529 00000 n 
+0001829753 00000 n 
+0001829946 00000 n 
+0001830174 00000 n 
+0001830368 00000 n 
+0001830760 00000 n 
+0001830923 00000 n 
+0001831148 00000 n 
+0001831341 00000 n 
+0001831506 00000 n 
+0001831732 00000 n 
+0001831925 00000 n 
+0001832120 00000 n 
+0001832287 00000 n 
+0001832512 00000 n 
+0001832716 00000 n 
+0001832942 00000 n 
+0001833146 00000 n 
+0001833372 00000 n 
+0001833565 00000 n 
+0001833736 00000 n 
+0001833961 00000 n 
+0001834153 00000 n 
+0001834378 00000 n 
+0001834582 00000 n 
+0001834808 00000 n 
+0001837984 00000 n 
+0001838210 00000 n 
+0001838396 00000 n 
+0001838601 00000 n 
+0001838826 00000 n 
+0001839018 00000 n 
+0001834997 00000 n 
+0001835348 00000 n 
+0001827066 00000 n 
+0001824885 00000 n 
+0001835171 00000 n 
+0001835230 00000 n 
+0001835289 00000 n 
+0001830564 00000 n 
+0001908220 00000 n 
+0001911610 00000 n 
+0001911727 00000 n 
+0001911845 00000 n 
+0001915319 00000 n 
+0001915437 00000 n 
+0001915555 00000 n 
+0001918536 00000 n 
+0001918653 00000 n 
+0001918771 00000 n 
+0001922438 00000 n 
+0001922556 00000 n 
+0001839202 00000 n 
+0001839428 00000 n 
+0001839609 00000 n 
+0001839793 00000 n 
+0001839998 00000 n 
+0001840226 00000 n 
+0001840454 00000 n 
+0001840681 00000 n 
+0001840908 00000 n 
+0001841102 00000 n 
+0001841296 00000 n 
+0001841524 00000 n 
+0001841718 00000 n 
+0001841946 00000 n 
+0001842140 00000 n 
+0001842334 00000 n 
+0001842562 00000 n 
+0001842755 00000 n 
+0001842948 00000 n 
+0001843142 00000 n 
+0001843347 00000 n 
+0001843575 00000 n 
+0001843768 00000 n 
+0001843961 00000 n 
+0001844155 00000 n 
+0001848213 00000 n 
+0001848440 00000 n 
+0001848633 00000 n 
+0001848826 00000 n 
+0001849020 00000 n 
+0001844360 00000 n 
+0001844947 00000 n 
+0001837561 00000 n 
+0001835529 00000 n 
+0001844534 00000 n 
+0001844593 00000 n 
+0001844652 00000 n 
+0001844711 00000 n 
+0001844770 00000 n 
+0001844829 00000 n 
+0001844888 00000 n 
+0001922674 00000 n 
+0001926731 00000 n 
+0001926853 00000 n 
+0001929924 00000 n 
+0001930042 00000 n 
+0001930165 00000 n 
+0001930288 00000 n 
+0001932943 00000 n 
+0001849225 00000 n 
+0001849452 00000 n 
+0001849645 00000 n 
+0001849838 00000 n 
+0001850032 00000 n 
+0001850237 00000 n 
+0001850465 00000 n 
+0001850658 00000 n 
+0001850851 00000 n 
+0001851045 00000 n 
+0001851250 00000 n 
+0001851478 00000 n 
+0001851671 00000 n 
+0001851864 00000 n 
+0001852058 00000 n 
+0001852263 00000 n 
+0001852490 00000 n 
+0001852684 00000 n 
+0001856608 00000 n 
+0001853071 00000 n 
+0001853422 00000 n 
+0001847853 00000 n 
+0001845115 00000 n 
+0001853245 00000 n 
+0001852878 00000 n 
+0001853304 00000 n 
+0001853363 00000 n 
+0001933066 00000 n 
+0001933189 00000 n 
+0001933312 00000 n 
+0001936037 00000 n 
+0001936160 00000 n 
+0001856799 00000 n 
+0001856987 00000 n 
+0001857175 00000 n 
+0001857363 00000 n 
+0001857596 00000 n 
+0001856428 00000 n 
+0001853641 00000 n 
+0001857537 00000 n 
+0001859609 00000 n 
+0001860442 00000 n 
+0001859465 00000 n 
+0001857784 00000 n 
+0001859783 00000 n 
+0001859842 00000 n 
+0001859960 00000 n 
+0001860078 00000 n 
+0001860201 00000 n 
+0001860324 00000 n 
+0003227167 00000 n 
+0001862575 00000 n 
+0001863226 00000 n 
+0001862431 00000 n 
+0001860599 00000 n 
+0001862749 00000 n 
+0001862808 00000 n 
+0001862926 00000 n 
+0001863044 00000 n 
+0001863167 00000 n 
+0001865308 00000 n 
+0001865954 00000 n 
+0001865164 00000 n 
+0001863383 00000 n 
+0001865482 00000 n 
+0001865600 00000 n 
+0001865718 00000 n 
+0001865777 00000 n 
+0001865895 00000 n 
+0001867623 00000 n 
+0001868387 00000 n 
+0001867479 00000 n 
+0001866124 00000 n 
+0001867797 00000 n 
+0001867915 00000 n 
+0001868033 00000 n 
+0001868151 00000 n 
+0001868269 00000 n 
+0001870329 00000 n 
+0001871091 00000 n 
+0001870185 00000 n 
+0001868542 00000 n 
+0001870503 00000 n 
+0001870562 00000 n 
+0001870680 00000 n 
+0001870796 00000 n 
+0001870914 00000 n 
+0001871032 00000 n 
+0001873365 00000 n 
+0001873843 00000 n 
+0001873221 00000 n 
+0001871246 00000 n 
+0001873539 00000 n 
+0001873662 00000 n 
+0001873784 00000 n 
+0001876479 00000 n 
+0001876660 00000 n 
+0001876823 00000 n 
+0001877300 00000 n 
+0001876317 00000 n 
+0001873998 00000 n 
+0001876997 00000 n 
+0001877120 00000 n 
+0001877242 00000 n 
+0003227293 00000 n 
+0001879113 00000 n 
+0001879703 00000 n 
+0001878969 00000 n 
+0001877467 00000 n 
+0001879287 00000 n 
+0001879410 00000 n 
+0001879527 00000 n 
+0001879644 00000 n 
+0001881564 00000 n 
+0001882207 00000 n 
+0001881420 00000 n 
+0001879858 00000 n 
+0001881738 00000 n 
+0001881856 00000 n 
+0001881972 00000 n 
+0001882090 00000 n 
+0001883889 00000 n 
+0001884533 00000 n 
+0001883745 00000 n 
+0001882362 00000 n 
+0001884063 00000 n 
+0001884122 00000 n 
+0001884240 00000 n 
+0001884357 00000 n 
+0001884474 00000 n 
+0001886427 00000 n 
+0001886590 00000 n 
+0001886755 00000 n 
+0001886941 00000 n 
+0001887644 00000 n 
+0001886256 00000 n 
+0001884688 00000 n 
+0001887115 00000 n 
+0001887233 00000 n 
+0001887350 00000 n 
+0001887468 00000 n 
+0001887585 00000 n 
+0001889691 00000 n 
+0001889844 00000 n 
+0001892855 00000 n 
+0001889998 00000 n 
+0001890652 00000 n 
+0001889529 00000 n 
+0001887784 00000 n 
+0001890172 00000 n 
+0001890290 00000 n 
+0001890412 00000 n 
+0001890534 00000 n 
+0001893034 00000 n 
+0001893197 00000 n 
+0001893360 00000 n 
+0001893945 00000 n 
+0001892684 00000 n 
+0001890805 00000 n 
+0001893534 00000 n 
+0001893593 00000 n 
+0001893711 00000 n 
+0001893828 00000 n 
+0003227419 00000 n 
+0001896460 00000 n 
+0001896635 00000 n 
+0001896812 00000 n 
+0001896999 00000 n 
+0001897527 00000 n 
+0001896289 00000 n 
+0001894100 00000 n 
+0001897173 00000 n 
+0001897232 00000 n 
+0001897350 00000 n 
+0001897468 00000 n 
+0001900080 00000 n 
+0001900256 00000 n 
+0001900433 00000 n 
+0001900960 00000 n 
+0001899918 00000 n 
+0001897719 00000 n 
+0001900607 00000 n 
+0001900725 00000 n 
+0001900843 00000 n 
+0001903707 00000 n 
+0001903893 00000 n 
+0001904062 00000 n 
+0001904227 00000 n 
+0001904413 00000 n 
+0001904941 00000 n 
+0001903527 00000 n 
+0001901152 00000 n 
+0001904587 00000 n 
+0001904646 00000 n 
+0001904764 00000 n 
+0001904882 00000 n 
+0001907586 00000 n 
+0001907752 00000 n 
+0001908279 00000 n 
+0001907433 00000 n 
+0001905148 00000 n 
+0001907926 00000 n 
+0001908044 00000 n 
+0001908162 00000 n 
+0001910317 00000 n 
+0001910484 00000 n 
+0001910652 00000 n 
+0001910819 00000 n 
+0001910987 00000 n 
+0001911150 00000 n 
+0001911318 00000 n 
+0001911903 00000 n 
+0001910119 00000 n 
+0001908434 00000 n 
+0001911492 00000 n 
+0001911551 00000 n 
+0001911669 00000 n 
+0001911786 00000 n 
+0001914194 00000 n 
+0001914358 00000 n 
+0001914526 00000 n 
+0001914693 00000 n 
+0001914860 00000 n 
+0001915027 00000 n 
+0001915613 00000 n 
+0001914005 00000 n 
+0001912086 00000 n 
+0001915201 00000 n 
+0001915260 00000 n 
+0001915378 00000 n 
+0001915496 00000 n 
+0003227545 00000 n 
+0001917844 00000 n 
+0001918016 00000 n 
+0001921452 00000 n 
+0001918244 00000 n 
+0001918888 00000 n 
+0001917682 00000 n 
+0001915781 00000 n 
+0001918418 00000 n 
+0001918477 00000 n 
+0001918594 00000 n 
+0001918712 00000 n 
+0001918830 00000 n 
+0001921638 00000 n 
+0001921824 00000 n 
+0001922015 00000 n 
+0001922205 00000 n 
+0001922738 00000 n 
+0001921272 00000 n 
+0001919077 00000 n 
+0001922379 00000 n 
+0001922497 00000 n 
+0001922615 00000 n 
+0001925500 00000 n 
+0001925728 00000 n 
+0001925898 00000 n 
+0001926084 00000 n 
+0001926269 00000 n 
+0001926439 00000 n 
+0001927034 00000 n 
+0001925311 00000 n 
+0001922905 00000 n 
+0001926613 00000 n 
+0001926672 00000 n 
+0001926794 00000 n 
+0001926917 00000 n 
+0001929573 00000 n 
+0001930411 00000 n 
+0001929429 00000 n 
+0001927186 00000 n 
+0001929747 00000 n 
+0001929806 00000 n 
+0001929865 00000 n 
+0001929983 00000 n 
+0001930106 00000 n 
+0001930229 00000 n 
+0001930352 00000 n 
+0001932710 00000 n 
+0001933375 00000 n 
+0001932566 00000 n 
+0001930566 00000 n 
+0001932884 00000 n 
+0001933007 00000 n 
+0001933130 00000 n 
+0001933253 00000 n 
+0001938588 00000 n 
+0001938825 00000 n 
+0001939029 00000 n 
+0001935745 00000 n 
+0001936399 00000 n 
+0001935601 00000 n 
+0001933517 00000 n 
+0001935919 00000 n 
+0001935978 00000 n 
+0001936101 00000 n 
+0001936224 00000 n 
+0003227671 00000 n 
+0001939233 00000 n 
+0001939471 00000 n 
+0001939667 00000 n 
+0001939905 00000 n 
+0001940099 00000 n 
+0001940337 00000 n 
+0001940533 00000 n 
+0001940770 00000 n 
+0001940965 00000 n 
+0001941203 00000 n 
+0001941394 00000 n 
+0001941599 00000 n 
+0001941836 00000 n 
+0001942028 00000 n 
+0001942232 00000 n 
+0001942470 00000 n 
+0001942652 00000 n 
+0001942857 00000 n 
+0001943094 00000 n 
+0001943274 00000 n 
+0001943459 00000 n 
+0001943663 00000 n 
+0001943901 00000 n 
+0001944088 00000 n 
+0001944293 00000 n 
+0001944531 00000 n 
+0001944725 00000 n 
+0001944929 00000 n 
+0001945167 00000 n 
+0001945372 00000 n 
+0001945576 00000 n 
+0001945813 00000 n 
+0001946017 00000 n 
+0001946220 00000 n 
+0001946571 00000 n 
+0001938120 00000 n 
+0001936568 00000 n 
+0001946394 00000 n 
+0001946453 00000 n 
+0001946512 00000 n 
+0002019489 00000 n 
+0002021528 00000 n 
+0002021646 00000 n 
+0002021764 00000 n 
+0002024039 00000 n 
+0002024156 00000 n 
+0002024274 00000 n 
+0002026703 00000 n 
+0002026821 00000 n 
+0002026939 00000 n 
+0002029167 00000 n 
+0002029285 00000 n 
+0001948804 00000 n 
+0001949008 00000 n 
+0001949247 00000 n 
+0001949452 00000 n 
+0001949691 00000 n 
+0001949896 00000 n 
+0001950134 00000 n 
+0001950339 00000 n 
+0001950578 00000 n 
+0001950766 00000 n 
+0001950935 00000 n 
+0001951174 00000 n 
+0001951413 00000 n 
+0001951608 00000 n 
+0001951844 00000 n 
+0001952040 00000 n 
+0001952278 00000 n 
+0001952474 00000 n 
+0001952713 00000 n 
+0001952909 00000 n 
+0001953148 00000 n 
+0001953345 00000 n 
+0001953583 00000 n 
+0001953770 00000 n 
+0001953967 00000 n 
+0001954205 00000 n 
+0001954392 00000 n 
+0001954589 00000 n 
+0001954827 00000 n 
+0001955013 00000 n 
+0001955252 00000 n 
+0001955491 00000 n 
+0001959454 00000 n 
+0001959693 00000 n 
+0001959898 00000 n 
+0001955730 00000 n 
+0001956905 00000 n 
+0001948372 00000 n 
+0001946710 00000 n 
+0001955904 00000 n 
+0001955963 00000 n 
+0001956022 00000 n 
+0001956081 00000 n 
+0001956140 00000 n 
+0001956199 00000 n 
+0001956257 00000 n 
+0001956316 00000 n 
+0001956375 00000 n 
+0001956434 00000 n 
+0001956493 00000 n 
+0001956552 00000 n 
+0001956611 00000 n 
+0001956669 00000 n 
+0001956728 00000 n 
+0001956787 00000 n 
+0001956846 00000 n 
+0001960137 00000 n 
+0001960375 00000 n 
+0001960614 00000 n 
+0001960800 00000 n 
+0001961038 00000 n 
+0001961233 00000 n 
+0001961472 00000 n 
+0001961667 00000 n 
+0001961905 00000 n 
+0001962101 00000 n 
+0001962306 00000 n 
+0001962511 00000 n 
+0001962749 00000 n 
+0001962945 00000 n 
+0001963150 00000 n 
+0001963355 00000 n 
+0001963541 00000 n 
+0001963780 00000 n 
+0001963976 00000 n 
+0001964180 00000 n 
+0001964384 00000 n 
+0001964623 00000 n 
+0001964819 00000 n 
+0001965023 00000 n 
+0001965227 00000 n 
+0001965414 00000 n 
+0001965652 00000 n 
+0001965856 00000 n 
+0001966095 00000 n 
+0001966299 00000 n 
+0001966538 00000 n 
+0001966774 00000 n 
+0001970099 00000 n 
+0001970336 00000 n 
+0001966961 00000 n 
+0001967370 00000 n 
+0001958995 00000 n 
+0001957059 00000 n 
+0001967135 00000 n 
+0001967194 00000 n 
+0001967253 00000 n 
+0001967312 00000 n 
+0002031441 00000 n 
+0002031559 00000 n 
+0002031677 00000 n 
+0002031795 00000 n 
+0002031913 00000 n 
+0002034358 00000 n 
+0002034481 00000 n 
+0002037109 00000 n 
+0002037231 00000 n 
+0002039404 00000 n 
+0002039522 00000 n 
+0001970524 00000 n 
+0001970760 00000 n 
+0001970947 00000 n 
+0001971183 00000 n 
+0001971371 00000 n 
+0001971607 00000 n 
+0001971801 00000 n 
+0001972038 00000 n 
+0001972234 00000 n 
+0001972471 00000 n 
+0001972667 00000 n 
+0001972904 00000 n 
+0001973100 00000 n 
+0001973336 00000 n 
+0001973532 00000 n 
+0001973769 00000 n 
+0001973965 00000 n 
+0001974202 00000 n 
+0001974388 00000 n 
+0001974553 00000 n 
+0001974790 00000 n 
+0001974982 00000 n 
+0001975147 00000 n 
+0001975384 00000 n 
+0001975589 00000 n 
+0001975826 00000 n 
+0001976030 00000 n 
+0001976269 00000 n 
+0001976473 00000 n 
+0001976710 00000 n 
+0001976915 00000 n 
+0001977153 00000 n 
+0001977338 00000 n 
+0001977533 00000 n 
+0001977712 00000 n 
+0001977950 00000 n 
+0001978135 00000 n 
+0001982338 00000 n 
+0001978330 00000 n 
+0001978563 00000 n 
+0001969604 00000 n 
+0001967524 00000 n 
+0001978504 00000 n 
+0002039638 00000 n 
+0002039756 00000 n 
+0002041757 00000 n 
+0002041875 00000 n 
+0002041993 00000 n 
+0002044152 00000 n 
+0002044270 00000 n 
+0002044388 00000 n 
+0002047125 00000 n 
+0002047243 00000 n 
+0002047361 00000 n 
+0002049886 00000 n 
+0002050003 00000 n 
+0002050121 00000 n 
+0002050239 00000 n 
+0002053256 00000 n 
+0002053374 00000 n 
+0001982517 00000 n 
+0001982756 00000 n 
+0001982942 00000 n 
+0001983147 00000 n 
+0001983343 00000 n 
+0001983520 00000 n 
+0001983691 00000 n 
+0001983930 00000 n 
+0001984116 00000 n 
+0001984321 00000 n 
+0001984713 00000 n 
+0001984889 00000 n 
+0001985231 00000 n 
+0001985469 00000 n 
+0001985664 00000 n 
+0001985868 00000 n 
+0001986064 00000 n 
+0001986241 00000 n 
+0001986412 00000 n 
+0001986651 00000 n 
+0001986847 00000 n 
+0001987052 00000 n 
+0001987248 00000 n 
+0001987424 00000 n 
+0001987593 00000 n 
+0001987832 00000 n 
+0001988017 00000 n 
+0001988213 00000 n 
+0001988605 00000 n 
+0001988792 00000 n 
+0001989031 00000 n 
+0001989217 00000 n 
+0001989413 00000 n 
+0001989805 00000 n 
+0001989992 00000 n 
+0001990228 00000 n 
+0001990433 00000 n 
+0001990601 00000 n 
+0001990764 00000 n 
+0001991001 00000 n 
+0001991236 00000 n 
+0001991440 00000 n 
+0001991677 00000 n 
+0001991881 00000 n 
+0001992120 00000 n 
+0001992311 00000 n 
+0001992515 00000 n 
+0001992751 00000 n 
+0001996120 00000 n 
+0001996357 00000 n 
+0001992955 00000 n 
+0001993247 00000 n 
+0001981717 00000 n 
+0001978717 00000 n 
+0001993129 00000 n 
+0001984517 00000 n 
+0001985060 00000 n 
+0001988409 00000 n 
+0001989609 00000 n 
+0001993188 00000 n 
+0002053491 00000 n 
+0002057799 00000 n 
+0002057916 00000 n 
+0002061711 00000 n 
+0002061829 00000 n 
+0002065284 00000 n 
+0002065402 00000 n 
+0002065520 00000 n 
+0002068305 00000 n 
+0002068423 00000 n 
+0002068541 00000 n 
+0001996561 00000 n 
+0001996797 00000 n 
+0001997000 00000 n 
+0001997172 00000 n 
+0001997408 00000 n 
+0001997600 00000 n 
+0001997836 00000 n 
+0001998040 00000 n 
+0001998275 00000 n 
+0001998464 00000 n 
+0001998701 00000 n 
+0001998887 00000 n 
+0001999092 00000 n 
+0001999328 00000 n 
+0001999520 00000 n 
+0001999704 00000 n 
+0001999943 00000 n 
+0002000180 00000 n 
+0002000385 00000 n 
+0002000622 00000 n 
+0002000858 00000 n 
+0002001095 00000 n 
+0002001334 00000 n 
+0002001573 00000 n 
+0002001778 00000 n 
+0002002015 00000 n 
+0002002220 00000 n 
+0002002457 00000 n 
+0002005122 00000 n 
+0002005327 00000 n 
+0002002696 00000 n 
+0002003401 00000 n 
+0001995706 00000 n 
+0001993471 00000 n 
+0002002870 00000 n 
+0002002929 00000 n 
+0002002988 00000 n 
+0002003047 00000 n 
+0002003106 00000 n 
+0002003165 00000 n 
+0002003224 00000 n 
+0002003283 00000 n 
+0002003342 00000 n 
+0003227797 00000 n 
+0002072367 00000 n 
+0002072485 00000 n 
+0002072603 00000 n 
+0002072721 00000 n 
+0002076654 00000 n 
+0002076772 00000 n 
+0002081238 00000 n 
+0002081360 00000 n 
+0002005566 00000 n 
+0002005805 00000 n 
+0002006043 00000 n 
+0002006282 00000 n 
+0002006521 00000 n 
+0002006760 00000 n 
+0002006998 00000 n 
+0002007234 00000 n 
+0002007473 00000 n 
+0002007711 00000 n 
+0002007914 00000 n 
+0002013043 00000 n 
+0002013282 00000 n 
+0002008322 00000 n 
+0002009379 00000 n 
+0002004852 00000 n 
+0002003597 00000 n 
+0002008496 00000 n 
+0002008555 00000 n 
+0002008614 00000 n 
+0002008673 00000 n 
+0002008732 00000 n 
+0002008791 00000 n 
+0002008850 00000 n 
+0002008909 00000 n 
+0002008968 00000 n 
+0002009027 00000 n 
+0002009086 00000 n 
+0002009145 00000 n 
+0002009204 00000 n 
+0002009263 00000 n 
+0002009322 00000 n 
+0002008118 00000 n 
+0002081542 00000 n 
+0002013487 00000 n 
+0002013726 00000 n 
+0002013931 00000 n 
+0002014340 00000 n 
+0002014579 00000 n 
+0002014784 00000 n 
+0002015191 00000 n 
+0002015382 00000 n 
+0002015574 00000 n 
+0002015756 00000 n 
+0002018588 00000 n 
+0002015908 00000 n 
+0002016318 00000 n 
+0002012773 00000 n 
+0002009518 00000 n 
+0002016082 00000 n 
+0002016141 00000 n 
+0002014136 00000 n 
+0002014987 00000 n 
+0002016200 00000 n 
+0002016259 00000 n 
+0002081660 00000 n 
+0002085821 00000 n 
+0002085943 00000 n 
+0002018827 00000 n 
+0002019009 00000 n 
+0002019197 00000 n 
+0002019607 00000 n 
+0002018417 00000 n 
+0002016534 00000 n 
+0002019371 00000 n 
+0002019430 00000 n 
+0002019548 00000 n 
+0002021295 00000 n 
+0002021882 00000 n 
+0002021151 00000 n 
+0002019789 00000 n 
+0002021469 00000 n 
+0002021587 00000 n 
+0002021705 00000 n 
+0002021823 00000 n 
+0002023806 00000 n 
+0002024392 00000 n 
+0002023662 00000 n 
+0002022024 00000 n 
+0002023980 00000 n 
+0002024097 00000 n 
+0002024215 00000 n 
+0002024333 00000 n 
+0002026470 00000 n 
+0002026997 00000 n 
+0002026326 00000 n 
+0002024549 00000 n 
+0002026644 00000 n 
+0002026762 00000 n 
+0002026880 00000 n 
+0003227923 00000 n 
+0002028875 00000 n 
+0002029403 00000 n 
+0002028731 00000 n 
+0002027154 00000 n 
+0002029049 00000 n 
+0002029108 00000 n 
+0002029226 00000 n 
+0002029344 00000 n 
+0002031149 00000 n 
+0002031971 00000 n 
+0002031005 00000 n 
+0002029560 00000 n 
+0002031323 00000 n 
+0002031382 00000 n 
+0002031500 00000 n 
+0002031618 00000 n 
+0002031736 00000 n 
+0002031854 00000 n 
+0002034066 00000 n 
+0002034545 00000 n 
+0002033922 00000 n 
+0002032126 00000 n 
+0002034240 00000 n 
+0002034299 00000 n 
+0002034422 00000 n 
+0002036817 00000 n 
+0002037294 00000 n 
+0002036673 00000 n 
+0002034685 00000 n 
+0002036991 00000 n 
+0002037050 00000 n 
+0002037173 00000 n 
+0002039112 00000 n 
+0002039814 00000 n 
+0002038968 00000 n 
+0002037434 00000 n 
+0002039286 00000 n 
+0002039345 00000 n 
+0002039463 00000 n 
+0002039580 00000 n 
+0002039697 00000 n 
+0002041465 00000 n 
+0002042111 00000 n 
+0002041321 00000 n 
+0002039969 00000 n 
+0002041639 00000 n 
+0002041698 00000 n 
+0002041816 00000 n 
+0002041934 00000 n 
+0002042052 00000 n 
+0003228049 00000 n 
+0002043919 00000 n 
+0002044506 00000 n 
+0002043775 00000 n 
+0002042266 00000 n 
+0002044093 00000 n 
+0002044211 00000 n 
+0002044329 00000 n 
+0002044447 00000 n 
+0002046565 00000 n 
+0002046728 00000 n 
+0002049467 00000 n 
+0002046892 00000 n 
+0002047479 00000 n 
+0002046403 00000 n 
+0002044661 00000 n 
+0002047066 00000 n 
+0002047184 00000 n 
+0002047302 00000 n 
+0002047420 00000 n 
+0002049653 00000 n 
+0002050357 00000 n 
+0002049314 00000 n 
+0002047634 00000 n 
+0002049827 00000 n 
+0002049945 00000 n 
+0002050062 00000 n 
+0002050180 00000 n 
+0002050298 00000 n 
+0002052666 00000 n 
+0002052845 00000 n 
+0002056148 00000 n 
+0002056325 00000 n 
+0002053023 00000 n 
+0002053609 00000 n 
+0002052504 00000 n 
+0002050512 00000 n 
+0002053197 00000 n 
+0002053315 00000 n 
+0002053433 00000 n 
+0002053550 00000 n 
+0002056496 00000 n 
+0002056686 00000 n 
+0002056862 00000 n 
+0002057033 00000 n 
+0002057221 00000 n 
+0002057397 00000 n 
+0002057566 00000 n 
+0002058034 00000 n 
+0002055932 00000 n 
+0002053779 00000 n 
+0002057740 00000 n 
+0002057857 00000 n 
+0002057975 00000 n 
+0002060563 00000 n 
+0002060754 00000 n 
+0002060931 00000 n 
+0002061101 00000 n 
+0002061291 00000 n 
+0002061478 00000 n 
+0002061947 00000 n 
+0002060374 00000 n 
+0002058241 00000 n 
+0002061652 00000 n 
+0002061770 00000 n 
+0002061888 00000 n 
+0003228175 00000 n 
+0002064532 00000 n 
+0002064718 00000 n 
+0002064887 00000 n 
+0002067904 00000 n 
+0002065051 00000 n 
+0002065638 00000 n 
+0002064361 00000 n 
+0002062154 00000 n 
+0002065225 00000 n 
+0002065343 00000 n 
+0002065461 00000 n 
+0002065579 00000 n 
+0002070874 00000 n 
+0002068072 00000 n 
+0002068659 00000 n 
+0002067751 00000 n 
+0002065845 00000 n 
+0002068246 00000 n 
+0002068364 00000 n 
+0002068482 00000 n 
+0002068600 00000 n 
+0002071113 00000 n 
+0002071352 00000 n 
+0002071524 00000 n 
+0002071762 00000 n 
+0002071948 00000 n 
+0002072134 00000 n 
+0002072779 00000 n 
+0002070676 00000 n 
+0002068842 00000 n 
+0002072308 00000 n 
+0002072426 00000 n 
+0002072544 00000 n 
+0002072662 00000 n 
+0002075791 00000 n 
+0002075982 00000 n 
+0002076362 00000 n 
+0002076895 00000 n 
+0002075620 00000 n 
+0002072934 00000 n 
+0002076536 00000 n 
+0002076595 00000 n 
+0002076713 00000 n 
+0002076173 00000 n 
+0002076836 00000 n 
+0002079964 00000 n 
+0002080203 00000 n 
+0002080418 00000 n 
+0002080604 00000 n 
+0002080790 00000 n 
+0002081005 00000 n 
+0002081723 00000 n 
+0002079775 00000 n 
+0002077062 00000 n 
+0002081179 00000 n 
+0002081301 00000 n 
+0002081424 00000 n 
+0002081483 00000 n 
+0002081601 00000 n 
+0002084023 00000 n 
+0002084215 00000 n 
+0002084408 00000 n 
+0002084639 00000 n 
+0002084870 00000 n 
+0002085101 00000 n 
+0002085298 00000 n 
+0002088997 00000 n 
+0002089190 00000 n 
+0002085529 00000 n 
+0002086478 00000 n 
+0002083816 00000 n 
+0002081890 00000 n 
+0002085703 00000 n 
+0002085762 00000 n 
+0002085885 00000 n 
+0002086007 00000 n 
+0002086183 00000 n 
+0002086242 00000 n 
+0002086301 00000 n 
+0002086360 00000 n 
+0002086419 00000 n 
+0003228301 00000 n 
+0002089421 00000 n 
+0002089611 00000 n 
+0002089840 00000 n 
+0002090071 00000 n 
+0002090302 00000 n 
+0002090533 00000 n 
+0002090737 00000 n 
+0002090968 00000 n 
+0002091171 00000 n 
+0002091401 00000 n 
+0002091631 00000 n 
+0002091828 00000 n 
+0002092059 00000 n 
+0002092248 00000 n 
+0002092453 00000 n 
+0002092657 00000 n 
+0002092884 00000 n 
+0002093267 00000 n 
+0002093494 00000 n 
+0002093687 00000 n 
+0002093917 00000 n 
+0002094107 00000 n 
+0002094299 00000 n 
+0002094504 00000 n 
+0002094731 00000 n 
+0002094961 00000 n 
+0002095166 00000 n 
+0002096164 00000 n 
+0002088592 00000 n 
+0002086675 00000 n 
+0002095340 00000 n 
+0002095399 00000 n 
+0002095458 00000 n 
+0002095515 00000 n 
+0002095574 00000 n 
+0002095633 00000 n 
+0002095692 00000 n 
+0002095751 00000 n 
+0002095810 00000 n 
+0002095869 00000 n 
+0002093076 00000 n 
+0002095928 00000 n 
+0002095987 00000 n 
+0002096046 00000 n 
+0002201785 00000 n 
+0002212558 00000 n 
+0002212676 00000 n 
+0002098439 00000 n 
+0002098663 00000 n 
+0002098920 00000 n 
+0002099177 00000 n 
+0002099366 00000 n 
+0002099590 00000 n 
+0002099846 00000 n 
+0002100103 00000 n 
+0002100615 00000 n 
+0002100872 00000 n 
+0002101128 00000 n 
+0002101317 00000 n 
+0002101540 00000 n 
+0002101763 00000 n 
+0002101968 00000 n 
+0002102191 00000 n 
+0002102396 00000 n 
+0002102588 00000 n 
+0002102810 00000 n 
+0002102998 00000 n 
+0002103221 00000 n 
+0002103410 00000 n 
+0002103634 00000 n 
+0002103824 00000 n 
+0002104028 00000 n 
+0002104252 00000 n 
+0002104444 00000 n 
+0002104668 00000 n 
+0002104891 00000 n 
+0002105115 00000 n 
+0002105336 00000 n 
+0002108827 00000 n 
+0002105558 00000 n 
+0002106437 00000 n 
+0002098007 00000 n 
+0002096331 00000 n 
+0002105732 00000 n 
+0002105849 00000 n 
+0002100360 00000 n 
+0002105907 00000 n 
+0002105966 00000 n 
+0002106025 00000 n 
+0002106084 00000 n 
+0002106143 00000 n 
+0002106202 00000 n 
+0002106260 00000 n 
+0002106319 00000 n 
+0002106378 00000 n 
+0002148824 00000 n 
+0002148942 00000 n 
+0002149006 00000 n 
+0002149070 00000 n 
+0002149188 00000 n 
+0002149252 00000 n 
+0002149316 00000 n 
+0002149380 00000 n 
+0002149444 00000 n 
+0002152503 00000 n 
+0002152621 00000 n 
+0002109051 00000 n 
+0002109275 00000 n 
+0002109479 00000 n 
+0002109682 00000 n 
+0002109906 00000 n 
+0002110098 00000 n 
+0002110322 00000 n 
+0002110510 00000 n 
+0002110733 00000 n 
+0002110927 00000 n 
+0002111151 00000 n 
+0002111355 00000 n 
+0002111579 00000 n 
+0002111771 00000 n 
+0002111995 00000 n 
+0002112187 00000 n 
+0002112411 00000 n 
+0002112635 00000 n 
+0002112857 00000 n 
+0002113080 00000 n 
+0002113304 00000 n 
+0002113528 00000 n 
+0002113752 00000 n 
+0002113976 00000 n 
+0002114178 00000 n 
+0002117207 00000 n 
+0002117411 00000 n 
+0002114400 00000 n 
+0002114986 00000 n 
+0002108449 00000 n 
+0002106633 00000 n 
+0002114574 00000 n 
+0002114633 00000 n 
+0002114692 00000 n 
+0002114751 00000 n 
+0002114810 00000 n 
+0002114868 00000 n 
+0002114927 00000 n 
+0002152798 00000 n 
+0002152916 00000 n 
+0002155623 00000 n 
+0002155746 00000 n 
+0002155864 00000 n 
+0002157859 00000 n 
+0002157976 00000 n 
+0002158092 00000 n 
+0002158209 00000 n 
+0002158332 00000 n 
+0002117635 00000 n 
+0002117859 00000 n 
+0002118048 00000 n 
+0002118271 00000 n 
+0002118495 00000 n 
+0002118719 00000 n 
+0002118942 00000 n 
+0002119165 00000 n 
+0002119388 00000 n 
+0002119592 00000 n 
+0002119796 00000 n 
+0002120020 00000 n 
+0002120225 00000 n 
+0002120449 00000 n 
+0002120637 00000 n 
+0002120861 00000 n 
+0002121051 00000 n 
+0002121275 00000 n 
+0002121464 00000 n 
+0002121654 00000 n 
+0002122418 00000 n 
+0002116874 00000 n 
+0002115142 00000 n 
+0002121828 00000 n 
+0002121887 00000 n 
+0002121946 00000 n 
+0002122005 00000 n 
+0002122064 00000 n 
+0002122123 00000 n 
+0002122182 00000 n 
+0002122241 00000 n 
+0002122300 00000 n 
+0002122359 00000 n 
+0002161618 00000 n 
+0002161795 00000 n 
+0002161913 00000 n 
+0002125681 00000 n 
+0002125870 00000 n 
+0002126103 00000 n 
+0002125528 00000 n 
+0002122572 00000 n 
+0002126044 00000 n 
+0002128822 00000 n 
+0002129010 00000 n 
+0002129200 00000 n 
+0002129422 00000 n 
+0002129655 00000 n 
+0002128651 00000 n 
+0002126215 00000 n 
+0002129596 00000 n 
+0003228427 00000 n 
+0002132368 00000 n 
+0002132583 00000 n 
+0002132808 00000 n 
+0002133260 00000 n 
+0002137453 00000 n 
+0002137670 00000 n 
+0002133721 00000 n 
+0002133954 00000 n 
+0002132170 00000 n 
+0002129793 00000 n 
+0002133895 00000 n 
+0002133033 00000 n 
+0002133491 00000 n 
+0002620168 00000 n 
+0002191289 00000 n 
+0002191230 00000 n 
+0002137864 00000 n 
+0002138052 00000 n 
+0002138241 00000 n 
+0002138468 00000 n 
+0002138699 00000 n 
+0002138923 00000 n 
+0002139156 00000 n 
+0002137246 00000 n 
+0002134066 00000 n 
+0002139097 00000 n 
+0002208915 00000 n 
+0002179388 00000 n 
+0002141881 00000 n 
+0002142105 00000 n 
+0002142338 00000 n 
+0002141728 00000 n 
+0002139332 00000 n 
+0002142279 00000 n 
+0002145067 00000 n 
+0002145300 00000 n 
+0002144923 00000 n 
+0002142525 00000 n 
+0002145241 00000 n 
+0002148153 00000 n 
+0002148343 00000 n 
+0002148532 00000 n 
+0002149508 00000 n 
+0002147991 00000 n 
+0002145487 00000 n 
+0002148706 00000 n 
+0002148765 00000 n 
+0002148883 00000 n 
+0002149129 00000 n 
+0002151763 00000 n 
+0002151987 00000 n 
+0002152211 00000 n 
+0002152980 00000 n 
+0002151601 00000 n 
+0002149710 00000 n 
+0002152385 00000 n 
+0002152444 00000 n 
+0002152562 00000 n 
+0002152680 00000 n 
+0002152739 00000 n 
+0002152857 00000 n 
+0003228553 00000 n 
+0002155108 00000 n 
+0002155331 00000 n 
+0002155981 00000 n 
+0002154955 00000 n 
+0002153162 00000 n 
+0002155505 00000 n 
+0002155564 00000 n 
+0002155687 00000 n 
+0002155805 00000 n 
+0002155923 00000 n 
+0002157626 00000 n 
+0002158455 00000 n 
+0002157482 00000 n 
+0002156121 00000 n 
+0002157800 00000 n 
+0002157917 00000 n 
+0002158035 00000 n 
+0002158151 00000 n 
+0002158273 00000 n 
+0002158396 00000 n 
+0002160347 00000 n 
+0002160558 00000 n 
+0002160750 00000 n 
+0002160966 00000 n 
+0002161196 00000 n 
+0002164947 00000 n 
+0002165140 00000 n 
+0002161385 00000 n 
+0002162324 00000 n 
+0002160158 00000 n 
+0002158597 00000 n 
+0002161559 00000 n 
+0002161677 00000 n 
+0002161736 00000 n 
+0002161854 00000 n 
+0002161972 00000 n 
+0002162148 00000 n 
+0002162206 00000 n 
+0002162265 00000 n 
+0002165371 00000 n 
+0002165600 00000 n 
+0002165831 00000 n 
+0002166028 00000 n 
+0002166259 00000 n 
+0002166454 00000 n 
+0002166682 00000 n 
+0002166867 00000 n 
+0002167098 00000 n 
+0002167329 00000 n 
+0002167559 00000 n 
+0002167763 00000 n 
+0002167994 00000 n 
+0002168197 00000 n 
+0002168427 00000 n 
+0002168657 00000 n 
+0002168853 00000 n 
+0002169082 00000 n 
+0002169277 00000 n 
+0002169493 00000 n 
+0002169724 00000 n 
+0002169914 00000 n 
+0002170104 00000 n 
+0002170335 00000 n 
+0002170525 00000 n 
+0002170755 00000 n 
+0002170943 00000 n 
+0002171147 00000 n 
+0002171351 00000 n 
+0002171578 00000 n 
+0002171960 00000 n 
+0002172187 00000 n 
+0002175768 00000 n 
+0002172418 00000 n 
+0002173417 00000 n 
+0002164488 00000 n 
+0002162521 00000 n 
+0002172592 00000 n 
+0002172651 00000 n 
+0002172710 00000 n 
+0002172768 00000 n 
+0002172827 00000 n 
+0002172886 00000 n 
+0002172945 00000 n 
+0002173004 00000 n 
+0002173063 00000 n 
+0002173122 00000 n 
+0002173181 00000 n 
+0002173240 00000 n 
+0002173299 00000 n 
+0002173358 00000 n 
+0002171770 00000 n 
+0002179216 00000 n 
+0002179506 00000 n 
+0002175999 00000 n 
+0002176191 00000 n 
+0002176420 00000 n 
+0002176609 00000 n 
+0002176801 00000 n 
+0002177006 00000 n 
+0002177233 00000 n 
+0002177464 00000 n 
+0002177669 00000 n 
+0002177861 00000 n 
+0002178066 00000 n 
+0002178297 00000 n 
+0002178502 00000 n 
+0002178690 00000 n 
+0002179563 00000 n 
+0002175498 00000 n 
+0002173584 00000 n 
+0002178864 00000 n 
+0002178923 00000 n 
+0002178982 00000 n 
+0002179039 00000 n 
+0002179098 00000 n 
+0002179157 00000 n 
+0002179273 00000 n 
+0002179330 00000 n 
+0002179447 00000 n 
+0002182828 00000 n 
+0002181729 00000 n 
+0002181926 00000 n 
+0002182318 00000 n 
+0002185405 00000 n 
+0002185622 00000 n 
+0002182536 00000 n 
+0002183122 00000 n 
+0002181549 00000 n 
+0002179760 00000 n 
+0002182710 00000 n 
+0002182769 00000 n 
+0002182887 00000 n 
+0002182123 00000 n 
+0002183063 00000 n 
+0003228679 00000 n 
+0002185849 00000 n 
+0002186042 00000 n 
+0002186269 00000 n 
+0002186496 00000 n 
+0002186722 00000 n 
+0002186919 00000 n 
+0002187146 00000 n 
+0002187343 00000 n 
+0002187570 00000 n 
+0002187766 00000 n 
+0002187993 00000 n 
+0002188219 00000 n 
+0002188446 00000 n 
+0002188650 00000 n 
+0002188877 00000 n 
+0002189104 00000 n 
+0002189330 00000 n 
+0002189557 00000 n 
+0002189784 00000 n 
+0002189988 00000 n 
+0002190215 00000 n 
+0002190418 00000 n 
+0002194264 00000 n 
+0002194451 00000 n 
+0002190644 00000 n 
+0002191761 00000 n 
+0002185045 00000 n 
+0002183277 00000 n 
+0002190818 00000 n 
+0002190877 00000 n 
+0002190936 00000 n 
+0002190995 00000 n 
+0002191054 00000 n 
+0002191113 00000 n 
+0002191171 00000 n 
+0002191348 00000 n 
+0002191407 00000 n 
+0002191466 00000 n 
+0002191525 00000 n 
+0002191584 00000 n 
+0002191643 00000 n 
+0002191702 00000 n 
+0002212435 00000 n 
+0002194678 00000 n 
+0002194904 00000 n 
+0002195093 00000 n 
+0002195318 00000 n 
+0002195509 00000 n 
+0002195698 00000 n 
+0002195923 00000 n 
+0002196111 00000 n 
+0002196338 00000 n 
+0002196528 00000 n 
+0002196718 00000 n 
+0002196945 00000 n 
+0002197135 00000 n 
+0002197332 00000 n 
+0002197559 00000 n 
+0002197786 00000 n 
+0002197983 00000 n 
+0002198210 00000 n 
+0002198399 00000 n 
+0002198604 00000 n 
+0002198807 00000 n 
+0002199033 00000 n 
+0002199415 00000 n 
+0002199607 00000 n 
+0002199832 00000 n 
+0002200021 00000 n 
+0002200213 00000 n 
+0002200418 00000 n 
+0002200645 00000 n 
+0002200835 00000 n 
+0002201061 00000 n 
+0002201288 00000 n 
+0002204642 00000 n 
+0002201493 00000 n 
+0002202432 00000 n 
+0002193805 00000 n 
+0002191928 00000 n 
+0002201667 00000 n 
+0002201726 00000 n 
+0002201844 00000 n 
+0002201903 00000 n 
+0002201962 00000 n 
+0002202021 00000 n 
+0002202079 00000 n 
+0002202138 00000 n 
+0002202197 00000 n 
+0002202256 00000 n 
+0002199224 00000 n 
+0002202315 00000 n 
+0002202374 00000 n 
+0002217087 00000 n 
+0002204869 00000 n 
+0002205096 00000 n 
+0002205323 00000 n 
+0002205512 00000 n 
+0002205738 00000 n 
+0002205928 00000 n 
+0002206125 00000 n 
+0002206352 00000 n 
+0002206547 00000 n 
+0002206774 00000 n 
+0002207000 00000 n 
+0002207227 00000 n 
+0002207454 00000 n 
+0002207646 00000 n 
+0002207841 00000 n 
+0002208035 00000 n 
+0002209033 00000 n 
+0002204354 00000 n 
+0002202599 00000 n 
+0002208209 00000 n 
+0002208268 00000 n 
+0002208327 00000 n 
+0002208386 00000 n 
+0002208445 00000 n 
+0002208504 00000 n 
+0002208563 00000 n 
+0002208622 00000 n 
+0002208681 00000 n 
+0002208739 00000 n 
+0002208798 00000 n 
+0002208857 00000 n 
+0002208974 00000 n 
+0002217205 00000 n 
+0002217381 00000 n 
+0002211320 00000 n 
+0002211510 00000 n 
+0002211741 00000 n 
+0002215283 00000 n 
+0002212202 00000 n 
+0002212794 00000 n 
+0002211140 00000 n 
+0002209215 00000 n 
+0002212376 00000 n 
+0002212499 00000 n 
+0002212617 00000 n 
+0002211972 00000 n 
+0002212735 00000 n 
+0002215473 00000 n 
+0002215703 00000 n 
+0002216163 00000 n 
+0002216393 00000 n 
+0002216854 00000 n 
+0002217499 00000 n 
+0002215076 00000 n 
+0002212951 00000 n 
+0002217028 00000 n 
+0002215933 00000 n 
+0002217146 00000 n 
+0002216624 00000 n 
+0002217264 00000 n 
+0002217322 00000 n 
+0002217440 00000 n 
+0002220183 00000 n 
+0002220367 00000 n 
+0002220596 00000 n 
+0002220825 00000 n 
+0002221055 00000 n 
+0002221285 00000 n 
+0002221515 00000 n 
+0002221744 00000 n 
+0002221946 00000 n 
+0002222150 00000 n 
+0002222346 00000 n 
+0002222575 00000 n 
+0002222769 00000 n 
+0002222973 00000 n 
+0002223202 00000 n 
+0002223397 00000 n 
+0002223601 00000 n 
+0002223831 00000 n 
+0002224036 00000 n 
+0002224240 00000 n 
+0002224436 00000 n 
+0002224666 00000 n 
+0002224862 00000 n 
+0002225058 00000 n 
+0002225287 00000 n 
+0002228654 00000 n 
+0002228850 00000 n 
+0002229080 00000 n 
+0002229271 00000 n 
+0002225482 00000 n 
+0002226301 00000 n 
+0002219814 00000 n 
+0002217654 00000 n 
+0002225656 00000 n 
+0002225831 00000 n 
+0002225890 00000 n 
+0002225949 00000 n 
+0002226008 00000 n 
+0002226067 00000 n 
+0002226125 00000 n 
+0002226184 00000 n 
+0002226243 00000 n 
+0003228805 00000 n 
+0002297972 00000 n 
+0002298093 00000 n 
+0002298214 00000 n 
+0002229476 00000 n 
+0002229706 00000 n 
+0002229899 00000 n 
+0002230104 00000 n 
+0002230334 00000 n 
+0002230516 00000 n 
+0002230721 00000 n 
+0002230951 00000 n 
+0002231144 00000 n 
+0002231348 00000 n 
+0002231578 00000 n 
+0002231765 00000 n 
+0002231970 00000 n 
+0002232200 00000 n 
+0002232381 00000 n 
+0002232567 00000 n 
+0002232772 00000 n 
+0002232977 00000 n 
+0002233206 00000 n 
+0002233411 00000 n 
+0002233641 00000 n 
+0002233871 00000 n 
+0002234101 00000 n 
+0002234331 00000 n 
+0002234561 00000 n 
+0002234790 00000 n 
+0002234985 00000 n 
+0002238553 00000 n 
+0002238783 00000 n 
+0002238969 00000 n 
+0002239199 00000 n 
+0002235213 00000 n 
+0002235859 00000 n 
+0002228231 00000 n 
+0002226498 00000 n 
+0002235387 00000 n 
+0002235446 00000 n 
+0002235505 00000 n 
+0002235564 00000 n 
+0002235623 00000 n 
+0002235682 00000 n 
+0002235741 00000 n 
+0002235800 00000 n 
+0002300419 00000 n 
+0002300540 00000 n 
+0002300661 00000 n 
+0002302933 00000 n 
+0002303054 00000 n 
+0002303175 00000 n 
+0002305977 00000 n 
+0002239395 00000 n 
+0002239625 00000 n 
+0002239820 00000 n 
+0002240049 00000 n 
+0002240245 00000 n 
+0002240450 00000 n 
+0002240655 00000 n 
+0002240883 00000 n 
+0002241078 00000 n 
+0002241282 00000 n 
+0002241486 00000 n 
+0002241673 00000 n 
+0002241903 00000 n 
+0002242099 00000 n 
+0002242303 00000 n 
+0002242507 00000 n 
+0002242737 00000 n 
+0002242933 00000 n 
+0002243137 00000 n 
+0002243341 00000 n 
+0002243528 00000 n 
+0002243756 00000 n 
+0002243951 00000 n 
+0002244181 00000 n 
+0002244377 00000 n 
+0002244606 00000 n 
+0002244800 00000 n 
+0002245030 00000 n 
+0002245225 00000 n 
+0002245455 00000 n 
+0002245651 00000 n 
+0002245879 00000 n 
+0002246065 00000 n 
+0002246261 00000 n 
+0002246489 00000 n 
+0002246674 00000 n 
+0002246871 00000 n 
+0002247100 00000 n 
+0002250069 00000 n 
+0002250273 00000 n 
+0002247287 00000 n 
+0002247579 00000 n 
+0002238031 00000 n 
+0002236027 00000 n 
+0002247461 00000 n 
+0002247520 00000 n 
+0002306098 00000 n 
+0002306218 00000 n 
+0002308623 00000 n 
+0002308744 00000 n 
+0002308865 00000 n 
+0002311418 00000 n 
+0002311544 00000 n 
+0002314170 00000 n 
+0002314295 00000 n 
+0002314416 00000 n 
+0002316534 00000 n 
+0002316655 00000 n 
+0002316775 00000 n 
+0002316896 00000 n 
+0002250500 00000 n 
+0002250705 00000 n 
+0002250933 00000 n 
+0002251163 00000 n 
+0002251392 00000 n 
+0002251620 00000 n 
+0002251849 00000 n 
+0002252038 00000 n 
+0002252267 00000 n 
+0002252456 00000 n 
+0002252685 00000 n 
+0002252882 00000 n 
+0002253110 00000 n 
+0002253307 00000 n 
+0002253536 00000 n 
+0002253725 00000 n 
+0002253953 00000 n 
+0002254142 00000 n 
+0002254370 00000 n 
+0002254565 00000 n 
+0002254794 00000 n 
+0002254991 00000 n 
+0002255220 00000 n 
+0002255407 00000 n 
+0002255572 00000 n 
+0002255801 00000 n 
+0002255994 00000 n 
+0002256160 00000 n 
+0002256388 00000 n 
+0002256592 00000 n 
+0002256822 00000 n 
+0002257013 00000 n 
+0002261336 00000 n 
+0002257217 00000 n 
+0002257636 00000 n 
+0002249587 00000 n 
+0002247733 00000 n 
+0002257392 00000 n 
+0002257453 00000 n 
+0002257514 00000 n 
+0002257575 00000 n 
+0002317017 00000 n 
+0002319119 00000 n 
+0002319245 00000 n 
+0002319367 00000 n 
+0002319489 00000 n 
+0002321446 00000 n 
+0002321568 00000 n 
+0002321690 00000 n 
+0002321812 00000 n 
+0002324302 00000 n 
+0002324424 00000 n 
+0002324545 00000 n 
+0002327139 00000 n 
+0002327261 00000 n 
+0002261565 00000 n 
+0002261794 00000 n 
+0002261991 00000 n 
+0002262220 00000 n 
+0002262417 00000 n 
+0002262648 00000 n 
+0002262845 00000 n 
+0002263034 00000 n 
+0002263265 00000 n 
+0002263452 00000 n 
+0002263649 00000 n 
+0002263828 00000 n 
+0002264059 00000 n 
+0002264246 00000 n 
+0002264443 00000 n 
+0002264623 00000 n 
+0002264854 00000 n 
+0002265041 00000 n 
+0002265247 00000 n 
+0002265444 00000 n 
+0002265622 00000 n 
+0002265853 00000 n 
+0002266040 00000 n 
+0002266246 00000 n 
+0002266639 00000 n 
+0002266815 00000 n 
+0002267046 00000 n 
+0002267243 00000 n 
+0002267449 00000 n 
+0002267646 00000 n 
+0002267824 00000 n 
+0002268055 00000 n 
+0002268252 00000 n 
+0002268458 00000 n 
+0002268655 00000 n 
+0002268832 00000 n 
+0002269062 00000 n 
+0002269247 00000 n 
+0002269443 00000 n 
+0002269836 00000 n 
+0002270024 00000 n 
+0002270255 00000 n 
+0002270442 00000 n 
+0002270639 00000 n 
+0002271033 00000 n 
+0002274792 00000 n 
+0002275020 00000 n 
+0002271220 00000 n 
+0002271517 00000 n 
+0002260698 00000 n 
+0002257791 00000 n 
+0002271395 00000 n 
+0002271456 00000 n 
+0002266443 00000 n 
+0002269639 00000 n 
+0002270836 00000 n 
+0002327383 00000 n 
+0002327505 00000 n 
+0002330859 00000 n 
+0002330981 00000 n 
+0002331103 00000 n 
+0002334344 00000 n 
+0002334466 00000 n 
+0002338089 00000 n 
+0002338211 00000 n 
+0002338333 00000 n 
+0002341845 00000 n 
+0002275217 00000 n 
+0002275387 00000 n 
+0002275617 00000 n 
+0002275809 00000 n 
+0002276014 00000 n 
+0002276424 00000 n 
+0002276629 00000 n 
+0002276826 00000 n 
+0002276993 00000 n 
+0002277222 00000 n 
+0002277452 00000 n 
+0002277649 00000 n 
+0002277821 00000 n 
+0002278050 00000 n 
+0002278247 00000 n 
+0002278421 00000 n 
+0002278618 00000 n 
+0002278849 00000 n 
+0002279046 00000 n 
+0002279243 00000 n 
+0002279474 00000 n 
+0002279671 00000 n 
+0002279900 00000 n 
+0002280097 00000 n 
+0002280326 00000 n 
+0002280532 00000 n 
+0002280761 00000 n 
+0002280966 00000 n 
+0002281195 00000 n 
+0002281391 00000 n 
+0002281619 00000 n 
+0002281812 00000 n 
+0002282041 00000 n 
+0002285650 00000 n 
+0002282247 00000 n 
+0002282787 00000 n 
+0002274284 00000 n 
+0002271729 00000 n 
+0002282422 00000 n 
+0002276218 00000 n 
+0002282483 00000 n 
+0002282544 00000 n 
+0002282605 00000 n 
+0002282666 00000 n 
+0002282727 00000 n 
+0002341967 00000 n 
+0002342088 00000 n 
+0002346443 00000 n 
+0002346565 00000 n 
+0002350935 00000 n 
+0002351062 00000 n 
+0002351184 00000 n 
+0002354484 00000 n 
+0002285879 00000 n 
+0002286107 00000 n 
+0002286293 00000 n 
+0002286498 00000 n 
+0002286726 00000 n 
+0002286919 00000 n 
+0002287104 00000 n 
+0002287309 00000 n 
+0002287539 00000 n 
+0002287769 00000 n 
+0002288000 00000 n 
+0002288197 00000 n 
+0002288391 00000 n 
+0002288622 00000 n 
+0002288852 00000 n 
+0002289045 00000 n 
+0002289241 00000 n 
+0002289626 00000 n 
+0002289809 00000 n 
+0002290006 00000 n 
+0002290189 00000 n 
+0002290420 00000 n 
+0002290603 00000 n 
+0002290786 00000 n 
+0002291017 00000 n 
+0002291200 00000 n 
+0002291397 00000 n 
+0002291580 00000 n 
+0002291811 00000 n 
+0002295164 00000 n 
+0002295395 00000 n 
+0002295591 00000 n 
+0002292008 00000 n 
+0002292549 00000 n 
+0002285191 00000 n 
+0002282969 00000 n 
+0002292183 00000 n 
+0002292244 00000 n 
+0002292305 00000 n 
+0002292366 00000 n 
+0002292427 00000 n 
+0002289434 00000 n 
+0002292488 00000 n 
+0003228934 00000 n 
+0002354605 00000 n 
+0002354726 00000 n 
+0002358470 00000 n 
+0002358656 00000 n 
+0002358776 00000 n 
+0002358898 00000 n 
+0002363517 00000 n 
+0002363637 00000 n 
+0002295984 00000 n 
+0002296213 00000 n 
+0002296404 00000 n 
+0002296600 00000 n 
+0002296791 00000 n 
+0002296983 00000 n 
+0002297176 00000 n 
+0002297359 00000 n 
+0002297555 00000 n 
+0002298340 00000 n 
+0002294895 00000 n 
+0002292731 00000 n 
+0002297730 00000 n 
+0002295788 00000 n 
+0002297791 00000 n 
+0002297852 00000 n 
+0002297913 00000 n 
+0002298032 00000 n 
+0002298153 00000 n 
+0002298279 00000 n 
+0002363759 00000 n 
+0002363880 00000 n 
+0002300183 00000 n 
+0002300782 00000 n 
+0002300034 00000 n 
+0002298539 00000 n 
+0002300358 00000 n 
+0002300479 00000 n 
+0002300600 00000 n 
+0002300721 00000 n 
+0002302697 00000 n 
+0002303234 00000 n 
+0002302548 00000 n 
+0002300940 00000 n 
+0002302872 00000 n 
+0002302993 00000 n 
+0002303114 00000 n 
+0002305620 00000 n 
+0002306277 00000 n 
+0002305471 00000 n 
+0002303392 00000 n 
+0002305795 00000 n 
+0002305856 00000 n 
+0002305917 00000 n 
+0002306037 00000 n 
+0002306157 00000 n 
+0003217669 00000 n 
+0002308326 00000 n 
+0002308990 00000 n 
+0002308177 00000 n 
+0002306488 00000 n 
+0002308501 00000 n 
+0002308562 00000 n 
+0002308683 00000 n 
+0002308804 00000 n 
+0002308930 00000 n 
+0002311182 00000 n 
+0002311670 00000 n 
+0002311033 00000 n 
+0002309131 00000 n 
+0002311357 00000 n 
+0002311483 00000 n 
+0002311609 00000 n 
+0003229067 00000 n 
+0002313934 00000 n 
+0002314537 00000 n 
+0002313785 00000 n 
+0002311811 00000 n 
+0002314109 00000 n 
+0002314234 00000 n 
+0002314355 00000 n 
+0002314476 00000 n 
+0002316298 00000 n 
+0002317077 00000 n 
+0002316149 00000 n 
+0002314706 00000 n 
+0002316473 00000 n 
+0002316594 00000 n 
+0002316714 00000 n 
+0002316835 00000 n 
+0002316956 00000 n 
+0002318822 00000 n 
+0002319611 00000 n 
+0002318673 00000 n 
+0002317218 00000 n 
+0002318997 00000 n 
+0002319058 00000 n 
+0002319184 00000 n 
+0002319306 00000 n 
+0002319428 00000 n 
+0002319550 00000 n 
+0002321210 00000 n 
+0002321873 00000 n 
+0002321061 00000 n 
+0002319767 00000 n 
+0002321385 00000 n 
+0002321507 00000 n 
+0002321629 00000 n 
+0002321751 00000 n 
+0002323677 00000 n 
+0002323840 00000 n 
+0002324005 00000 n 
+0002324667 00000 n 
+0002323508 00000 n 
+0002322014 00000 n 
+0002324180 00000 n 
+0002324241 00000 n 
+0002324363 00000 n 
+0002324485 00000 n 
+0002324606 00000 n 
+0002326716 00000 n 
+0002326903 00000 n 
+0002327571 00000 n 
+0002326557 00000 n 
+0002324808 00000 n 
+0002327078 00000 n 
+0002327200 00000 n 
+0002327322 00000 n 
+0002327444 00000 n 
+0003229200 00000 n 
+0002330015 00000 n 
+0002330204 00000 n 
+0002330383 00000 n 
+0002330562 00000 n 
+0002331225 00000 n 
+0002329836 00000 n 
+0002327742 00000 n 
+0002330737 00000 n 
+0002330798 00000 n 
+0002330920 00000 n 
+0002331042 00000 n 
+0002331164 00000 n 
+0002333563 00000 n 
+0002333741 00000 n 
+0002333932 00000 n 
+0002336925 00000 n 
+0002334108 00000 n 
+0002334586 00000 n 
+0002333384 00000 n 
+0002331396 00000 n 
+0002334283 00000 n 
+0002334405 00000 n 
+0002334526 00000 n 
+0002337114 00000 n 
+0002337292 00000 n 
+0002337484 00000 n 
+0002337661 00000 n 
+0002340893 00000 n 
+0002337853 00000 n 
+0002338455 00000 n 
+0002336726 00000 n 
+0002334779 00000 n 
+0002338028 00000 n 
+0002338150 00000 n 
+0002338272 00000 n 
+0002338394 00000 n 
+0002341081 00000 n 
+0002341269 00000 n 
+0002341439 00000 n 
+0002341609 00000 n 
+0002342154 00000 n 
+0002340704 00000 n 
+0002338636 00000 n 
+0002341784 00000 n 
+0002341906 00000 n 
+0002342028 00000 n 
+0002345453 00000 n 
+0002345619 00000 n 
+0002345806 00000 n 
+0002345973 00000 n 
+0002346146 00000 n 
+0002346691 00000 n 
+0002345264 00000 n 
+0002342362 00000 n 
+0002346321 00000 n 
+0002346382 00000 n 
+0002346504 00000 n 
+0002346631 00000 n 
+0002349651 00000 n 
+0002349805 00000 n 
+0002349961 00000 n 
+0002350135 00000 n 
+0002350333 00000 n 
+0002350527 00000 n 
+0002350699 00000 n 
+0002351249 00000 n 
+0002349442 00000 n 
+0002346859 00000 n 
+0002350874 00000 n 
+0002351001 00000 n 
+0002351123 00000 n 
+0003229333 00000 n 
+0002353364 00000 n 
+0002353550 00000 n 
+0002353736 00000 n 
+0002353958 00000 n 
+0002357428 00000 n 
+0002354187 00000 n 
+0002354853 00000 n 
+0002353175 00000 n 
+0002351403 00000 n 
+0002354362 00000 n 
+0002354423 00000 n 
+0002354545 00000 n 
+0002354665 00000 n 
+0002354792 00000 n 
+0002546241 00000 n 
+0002357644 00000 n 
+0002357831 00000 n 
+0002358018 00000 n 
+0002358234 00000 n 
+0002358959 00000 n 
+0002357239 00000 n 
+0002354994 00000 n 
+0002358409 00000 n 
+0002358534 00000 n 
+0002358595 00000 n 
+0002358716 00000 n 
+0002358837 00000 n 
+0002361869 00000 n 
+0002362065 00000 n 
+0002362258 00000 n 
+0002362650 00000 n 
+0002362832 00000 n 
+0002363220 00000 n 
+0002363940 00000 n 
+0002361650 00000 n 
+0002359127 00000 n 
+0002363395 00000 n 
+0002363456 00000 n 
+0002363578 00000 n 
+0002362455 00000 n 
+0002363698 00000 n 
+0002363026 00000 n 
+0002363819 00000 n 
+0002365882 00000 n 
+0002366114 00000 n 
+0002366346 00000 n 
+0002366577 00000 n 
+0002366808 00000 n 
+0002367005 00000 n 
+0002367237 00000 n 
+0002367435 00000 n 
+0002367667 00000 n 
+0002367865 00000 n 
+0002368097 00000 n 
+0002368295 00000 n 
+0002368527 00000 n 
+0002368724 00000 n 
+0002368955 00000 n 
+0002369153 00000 n 
+0002372488 00000 n 
+0002372719 00000 n 
+0002372917 00000 n 
+0002369385 00000 n 
+0002370532 00000 n 
+0002365573 00000 n 
+0002364083 00000 n 
+0002369560 00000 n 
+0002369621 00000 n 
+0002369801 00000 n 
+0002369862 00000 n 
+0002369923 00000 n 
+0002369984 00000 n 
+0002370045 00000 n 
+0002370106 00000 n 
+0002370167 00000 n 
+0002370228 00000 n 
+0002370289 00000 n 
+0002370350 00000 n 
+0002370411 00000 n 
+0002370471 00000 n 
+0002373115 00000 n 
+0002373347 00000 n 
+0002373545 00000 n 
+0002373743 00000 n 
+0002373940 00000 n 
+0002374172 00000 n 
+0002374370 00000 n 
+0002374568 00000 n 
+0002374765 00000 n 
+0002374997 00000 n 
+0002375195 00000 n 
+0002375393 00000 n 
+0002375625 00000 n 
+0002375823 00000 n 
+0002376729 00000 n 
+0002372179 00000 n 
+0002370732 00000 n 
+0002375998 00000 n 
+0002376059 00000 n 
+0002376120 00000 n 
+0002376181 00000 n 
+0002376242 00000 n 
+0002376303 00000 n 
+0002376364 00000 n 
+0002376425 00000 n 
+0002376486 00000 n 
+0002376547 00000 n 
+0002376608 00000 n 
+0002376669 00000 n 
+0002381208 00000 n 
+0002378693 00000 n 
+0002378925 00000 n 
+0002379157 00000 n 
+0002379389 00000 n 
+0002379621 00000 n 
+0002379819 00000 n 
+0002380051 00000 n 
+0002380249 00000 n 
+0002380481 00000 n 
+0002380679 00000 n 
+0002383949 00000 n 
+0002384180 00000 n 
+0002384378 00000 n 
+0002380911 00000 n 
+0002381994 00000 n 
+0002378444 00000 n 
+0002376899 00000 n 
+0002381086 00000 n 
+0002381147 00000 n 
+0002381268 00000 n 
+0002381447 00000 n 
+0002381508 00000 n 
+0002381569 00000 n 
+0002381629 00000 n 
+0002381690 00000 n 
+0002381751 00000 n 
+0002381812 00000 n 
+0002381873 00000 n 
+0002381934 00000 n 
+0003229466 00000 n 
+0002384576 00000 n 
+0002384808 00000 n 
+0002385006 00000 n 
+0002385204 00000 n 
+0002385401 00000 n 
+0002385633 00000 n 
+0002385831 00000 n 
+0002386029 00000 n 
+0002386226 00000 n 
+0002386458 00000 n 
+0002386656 00000 n 
+0002386854 00000 n 
+0002387086 00000 n 
+0002387284 00000 n 
+0002388190 00000 n 
+0002383640 00000 n 
+0002382194 00000 n 
+0002387459 00000 n 
+0002387520 00000 n 
+0002387581 00000 n 
+0002387642 00000 n 
+0002387703 00000 n 
+0002387764 00000 n 
+0002387825 00000 n 
+0002387886 00000 n 
+0002387947 00000 n 
+0002388008 00000 n 
+0002388069 00000 n 
+0002388130 00000 n 
+0002394301 00000 n 
+0002390282 00000 n 
+0002390473 00000 n 
+0002390859 00000 n 
+0002391065 00000 n 
+0002391288 00000 n 
+0002391494 00000 n 
+0002391716 00000 n 
+0002391922 00000 n 
+0002392145 00000 n 
+0002392334 00000 n 
+0002392531 00000 n 
+0002392754 00000 n 
+0002392950 00000 n 
+0002393172 00000 n 
+0002393367 00000 n 
+0002393590 00000 n 
+0002393783 00000 n 
+0002397300 00000 n 
+0002397497 00000 n 
+0002394004 00000 n 
+0002395086 00000 n 
+0002389953 00000 n 
+0002388360 00000 n 
+0002394179 00000 n 
+0002394240 00000 n 
+0002394361 00000 n 
+0002390666 00000 n 
+0002394540 00000 n 
+0002394601 00000 n 
+0002394662 00000 n 
+0002394723 00000 n 
+0002394783 00000 n 
+0002394842 00000 n 
+0002394903 00000 n 
+0002394964 00000 n 
+0002395025 00000 n 
+0002397720 00000 n 
+0002397917 00000 n 
+0002398140 00000 n 
+0002398342 00000 n 
+0002398565 00000 n 
+0002398767 00000 n 
+0002398990 00000 n 
+0002399188 00000 n 
+0002399410 00000 n 
+0002399598 00000 n 
+0002399796 00000 n 
+0002400018 00000 n 
+0002400205 00000 n 
+0002400403 00000 n 
+0002400625 00000 n 
+0002400813 00000 n 
+0002401036 00000 n 
+0002401259 00000 n 
+0002401481 00000 n 
+0002401704 00000 n 
+0002401893 00000 n 
+0002402115 00000 n 
+0002402338 00000 n 
+0002402561 00000 n 
+0002402782 00000 n 
+0002402967 00000 n 
+0002403190 00000 n 
+0002403387 00000 n 
+0002403610 00000 n 
+0002407460 00000 n 
+0002407682 00000 n 
+0002407879 00000 n 
+0002408085 00000 n 
+0002403806 00000 n 
+0002404652 00000 n 
+0002396841 00000 n 
+0002395286 00000 n 
+0002403981 00000 n 
+0002404042 00000 n 
+0002404103 00000 n 
+0002404164 00000 n 
+0002404225 00000 n 
+0002404286 00000 n 
+0002404347 00000 n 
+0002404408 00000 n 
+0002404469 00000 n 
+0002404530 00000 n 
+0002404591 00000 n 
+0002489220 00000 n 
+0002489342 00000 n 
+0002489464 00000 n 
+0002491436 00000 n 
+0002491557 00000 n 
+0002491679 00000 n 
+0002491801 00000 n 
+0002408291 00000 n 
+0002408513 00000 n 
+0002408710 00000 n 
+0002408916 00000 n 
+0002409122 00000 n 
+0002409310 00000 n 
+0002409532 00000 n 
+0002409728 00000 n 
+0002409932 00000 n 
+0002410136 00000 n 
+0002410359 00000 n 
+0002410556 00000 n 
+0002410761 00000 n 
+0002410966 00000 n 
+0002411154 00000 n 
+0002411377 00000 n 
+0002411573 00000 n 
+0002411779 00000 n 
+0002411985 00000 n 
+0002412396 00000 n 
+0002412601 00000 n 
+0002412822 00000 n 
+0002413009 00000 n 
+0002413231 00000 n 
+0002413417 00000 n 
+0002413640 00000 n 
+0002413861 00000 n 
+0002414050 00000 n 
+0002414271 00000 n 
+0002414459 00000 n 
+0002414680 00000 n 
+0002414869 00000 n 
+0002415090 00000 n 
+0002415287 00000 n 
+0002415507 00000 n 
+0002415703 00000 n 
+0002415924 00000 n 
+0002419109 00000 n 
+0002419330 00000 n 
+0002416120 00000 n 
+0002416356 00000 n 
+0002406891 00000 n 
+0002404794 00000 n 
+0002416295 00000 n 
+0002412190 00000 n 
+0002491923 00000 n 
+0002494459 00000 n 
+0002494586 00000 n 
+0002497705 00000 n 
+0002497832 00000 n 
+0002500331 00000 n 
+0002500458 00000 n 
+0002500580 00000 n 
+0002500702 00000 n 
+0002502962 00000 n 
+0002503083 00000 n 
+0002503204 00000 n 
+0002503325 00000 n 
+0002505413 00000 n 
+0002419526 00000 n 
+0002419747 00000 n 
+0002419943 00000 n 
+0002420163 00000 n 
+0002420359 00000 n 
+0002420580 00000 n 
+0002420769 00000 n 
+0002420989 00000 n 
+0002421178 00000 n 
+0002421397 00000 n 
+0002421593 00000 n 
+0002421814 00000 n 
+0002422011 00000 n 
+0002422232 00000 n 
+0002422419 00000 n 
+0002422585 00000 n 
+0002422806 00000 n 
+0002422999 00000 n 
+0002423165 00000 n 
+0002423386 00000 n 
+0002423575 00000 n 
+0002423796 00000 n 
+0002423985 00000 n 
+0002424206 00000 n 
+0002424393 00000 n 
+0002424614 00000 n 
+0002424803 00000 n 
+0002424981 00000 n 
+0002425201 00000 n 
+0002425389 00000 n 
+0002425612 00000 n 
+0002425801 00000 n 
+0002425981 00000 n 
+0002426204 00000 n 
+0002426391 00000 n 
+0002426588 00000 n 
+0002430871 00000 n 
+0002431094 00000 n 
+0002431281 00000 n 
+0002431478 00000 n 
+0002426768 00000 n 
+0002427125 00000 n 
+0002418580 00000 n 
+0002416498 00000 n 
+0002426943 00000 n 
+0002427004 00000 n 
+0002427064 00000 n 
+0002505535 00000 n 
+0002507727 00000 n 
+0002507849 00000 n 
+0002507971 00000 n 
+0002508091 00000 n 
+0002510263 00000 n 
+0002510385 00000 n 
+0002510507 00000 n 
+0002510629 00000 n 
+0002513176 00000 n 
+0002513297 00000 n 
+0002513419 00000 n 
+0002513541 00000 n 
+0002516491 00000 n 
+0002431658 00000 n 
+0002431881 00000 n 
+0002432068 00000 n 
+0002432274 00000 n 
+0002432471 00000 n 
+0002432649 00000 n 
+0002432871 00000 n 
+0002433057 00000 n 
+0002433262 00000 n 
+0002433654 00000 n 
+0002433831 00000 n 
+0002434054 00000 n 
+0002434251 00000 n 
+0002434457 00000 n 
+0002434654 00000 n 
+0002434832 00000 n 
+0002435055 00000 n 
+0002435252 00000 n 
+0002435458 00000 n 
+0002435655 00000 n 
+0002435832 00000 n 
+0002436053 00000 n 
+0002436237 00000 n 
+0002436432 00000 n 
+0002436824 00000 n 
+0002437012 00000 n 
+0002437234 00000 n 
+0002437420 00000 n 
+0002437616 00000 n 
+0002438009 00000 n 
+0002438197 00000 n 
+0002438417 00000 n 
+0002438606 00000 n 
+0002438774 00000 n 
+0002438997 00000 n 
+0002439190 00000 n 
+0002439396 00000 n 
+0002439807 00000 n 
+0002440012 00000 n 
+0002440209 00000 n 
+0002440376 00000 n 
+0002440597 00000 n 
+0002440802 00000 n 
+0002441025 00000 n 
+0002441217 00000 n 
+0002441422 00000 n 
+0002441643 00000 n 
+0002441862 00000 n 
+0002445158 00000 n 
+0002445323 00000 n 
+0002445546 00000 n 
+0002445735 00000 n 
+0002442049 00000 n 
+0002442346 00000 n 
+0002430162 00000 n 
+0002427267 00000 n 
+0002442224 00000 n 
+0002433458 00000 n 
+0002436627 00000 n 
+0002437812 00000 n 
+0002439601 00000 n 
+0002442285 00000 n 
+0003229599 00000 n 
+0002516612 00000 n 
+0002516734 00000 n 
+0002520319 00000 n 
+0002520441 00000 n 
+0002523963 00000 n 
+0002524085 00000 n 
+0002524207 00000 n 
+0002527914 00000 n 
+0002528036 00000 n 
+0002531050 00000 n 
+0002531172 00000 n 
+0002531294 00000 n 
+0002445932 00000 n 
+0002446103 00000 n 
+0002446268 00000 n 
+0002446491 00000 n 
+0002446680 00000 n 
+0002446877 00000 n 
+0002447048 00000 n 
+0002447213 00000 n 
+0002447434 00000 n 
+0002447623 00000 n 
+0002447783 00000 n 
+0002448003 00000 n 
+0002448192 00000 n 
+0002448415 00000 n 
+0002448604 00000 n 
+0002448800 00000 n 
+0002448971 00000 n 
+0002449132 00000 n 
+0002449355 00000 n 
+0002449542 00000 n 
+0002449739 00000 n 
+0002449909 00000 n 
+0002450071 00000 n 
+0002450292 00000 n 
+0002450498 00000 n 
+0002450719 00000 n 
+0002450924 00000 n 
+0002451144 00000 n 
+0002451330 00000 n 
+0002451502 00000 n 
+0002451722 00000 n 
+0002451915 00000 n 
+0002452136 00000 n 
+0002452342 00000 n 
+0002452563 00000 n 
+0002452755 00000 n 
+0002452976 00000 n 
+0002453163 00000 n 
+0002453369 00000 n 
+0002453588 00000 n 
+0002453780 00000 n 
+0002453964 00000 n 
+0002454261 00000 n 
+0002444559 00000 n 
+0002442558 00000 n 
+0002454139 00000 n 
+0002454200 00000 n 
+0002535066 00000 n 
+0002535188 00000 n 
+0002538855 00000 n 
+0002538977 00000 n 
+0002539099 00000 n 
+0002542291 00000 n 
+0002542413 00000 n 
+0002545875 00000 n 
+0002545997 00000 n 
+0002546119 00000 n 
+0002550227 00000 n 
+0002550353 00000 n 
+0002456508 00000 n 
+0002456731 00000 n 
+0002456952 00000 n 
+0002457141 00000 n 
+0002457362 00000 n 
+0002457582 00000 n 
+0002457803 00000 n 
+0002458026 00000 n 
+0002458249 00000 n 
+0002458455 00000 n 
+0002458676 00000 n 
+0002458881 00000 n 
+0002459101 00000 n 
+0002459324 00000 n 
+0002459530 00000 n 
+0002459753 00000 n 
+0002459942 00000 n 
+0002460165 00000 n 
+0002460388 00000 n 
+0002460611 00000 n 
+0002464249 00000 n 
+0002464470 00000 n 
+0002464676 00000 n 
+0002460834 00000 n 
+0002461862 00000 n 
+0002456159 00000 n 
+0002454430 00000 n 
+0002461009 00000 n 
+0002461070 00000 n 
+0002461130 00000 n 
+0002461191 00000 n 
+0002461252 00000 n 
+0002461313 00000 n 
+0002461374 00000 n 
+0002461435 00000 n 
+0002461496 00000 n 
+0002461557 00000 n 
+0002461618 00000 n 
+0002461679 00000 n 
+0002461740 00000 n 
+0002461801 00000 n 
+0002553855 00000 n 
+0002553982 00000 n 
+0002464882 00000 n 
+0002465103 00000 n 
+0002465292 00000 n 
+0002465498 00000 n 
+0002465719 00000 n 
+0002465915 00000 n 
+0002466136 00000 n 
+0002466333 00000 n 
+0002466527 00000 n 
+0002466747 00000 n 
+0002466941 00000 n 
+0002467161 00000 n 
+0002467356 00000 n 
+0002467549 00000 n 
+0002467769 00000 n 
+0002467948 00000 n 
+0002468134 00000 n 
+0002468339 00000 n 
+0002468526 00000 n 
+0002468748 00000 n 
+0002468937 00000 n 
+0002469160 00000 n 
+0002469353 00000 n 
+0002469559 00000 n 
+0002469782 00000 n 
+0002469971 00000 n 
+0002470194 00000 n 
+0002470383 00000 n 
+0002470572 00000 n 
+0002470795 00000 n 
+0002470984 00000 n 
+0002474561 00000 n 
+0002474748 00000 n 
+0002471173 00000 n 
+0002471591 00000 n 
+0002463760 00000 n 
+0002462032 00000 n 
+0002471348 00000 n 
+0002471409 00000 n 
+0002471470 00000 n 
+0002471530 00000 n 
+0002483967 00000 n 
+0002484087 00000 n 
+0002484209 00000 n 
+0002486349 00000 n 
+0002486471 00000 n 
+0002486593 00000 n 
+0002489037 00000 n 
+0002554104 00000 n 
+0002559507 00000 n 
+0002559629 00000 n 
+0002559756 00000 n 
+0002474912 00000 n 
+0002475103 00000 n 
+0002475297 00000 n 
+0002475622 00000 n 
+0002475919 00000 n 
+0002474352 00000 n 
+0002471773 00000 n 
+0002475797 00000 n 
+0002475858 00000 n 
+0002475460 00000 n 
+0002478509 00000 n 
+0002478745 00000 n 
+0002478360 00000 n 
+0002476096 00000 n 
+0002478684 00000 n 
+0002480980 00000 n 
+0002481216 00000 n 
+0002480831 00000 n 
+0002478920 00000 n 
+0002481155 00000 n 
+0003229732 00000 n 
+0002483670 00000 n 
+0002484336 00000 n 
+0002483521 00000 n 
+0002481379 00000 n 
+0002483845 00000 n 
+0002483906 00000 n 
+0002484027 00000 n 
+0002484148 00000 n 
+0002484275 00000 n 
+0002486113 00000 n 
+0002486715 00000 n 
+0002485964 00000 n 
+0002484569 00000 n 
+0002486288 00000 n 
+0002486410 00000 n 
+0002486532 00000 n 
+0002486654 00000 n 
+0002488801 00000 n 
+0002489525 00000 n 
+0002488652 00000 n 
+0002486845 00000 n 
+0002488976 00000 n 
+0002489098 00000 n 
+0002489159 00000 n 
+0002489281 00000 n 
+0002489403 00000 n 
+0002491139 00000 n 
+0002491983 00000 n 
+0002490990 00000 n 
+0002489696 00000 n 
+0002491314 00000 n 
+0002491375 00000 n 
+0002491497 00000 n 
+0002491618 00000 n 
+0002491740 00000 n 
+0002491862 00000 n 
+0002494162 00000 n 
+0002494713 00000 n 
+0002494013 00000 n 
+0002492126 00000 n 
+0002494337 00000 n 
+0002494398 00000 n 
+0002494525 00000 n 
+0002494652 00000 n 
+0002497125 00000 n 
+0002497307 00000 n 
+0002497469 00000 n 
+0002497959 00000 n 
+0002496956 00000 n 
+0002494856 00000 n 
+0002497644 00000 n 
+0002497771 00000 n 
+0002497898 00000 n 
+0003229865 00000 n 
+0002500095 00000 n 
+0002500767 00000 n 
+0002499946 00000 n 
+0002498114 00000 n 
+0002500270 00000 n 
+0002500397 00000 n 
+0002500519 00000 n 
+0002500641 00000 n 
+0002502665 00000 n 
+0002503385 00000 n 
+0002502516 00000 n 
+0002500937 00000 n 
+0002502840 00000 n 
+0002502901 00000 n 
+0002503023 00000 n 
+0002503144 00000 n 
+0002503264 00000 n 
+0002505116 00000 n 
+0002505657 00000 n 
+0002504967 00000 n 
+0002503513 00000 n 
+0002505291 00000 n 
+0002505352 00000 n 
+0002505474 00000 n 
+0002505596 00000 n 
+0002507491 00000 n 
+0002508151 00000 n 
+0002507342 00000 n 
+0002505785 00000 n 
+0002507666 00000 n 
+0002507788 00000 n 
+0002507910 00000 n 
+0002508030 00000 n 
+0002509802 00000 n 
+0002509966 00000 n 
+0002510689 00000 n 
+0002509643 00000 n 
+0002508294 00000 n 
+0002510141 00000 n 
+0002510202 00000 n 
+0002510324 00000 n 
+0002510446 00000 n 
+0002510568 00000 n 
+0002512348 00000 n 
+0002512514 00000 n 
+0002512701 00000 n 
+0002512879 00000 n 
+0002513601 00000 n 
+0002512169 00000 n 
+0002510817 00000 n 
+0002513054 00000 n 
+0002513115 00000 n 
+0002513237 00000 n 
+0002513358 00000 n 
+0002513480 00000 n 
+0003229998 00000 n 
+0002515657 00000 n 
+0002515837 00000 n 
+0002516015 00000 n 
+0002516194 00000 n 
+0002516794 00000 n 
+0002515478 00000 n 
+0002513729 00000 n 
+0002516369 00000 n 
+0002516430 00000 n 
+0002516552 00000 n 
+0002516673 00000 n 
+0002519109 00000 n 
+0002519286 00000 n 
+0002519476 00000 n 
+0002519654 00000 n 
+0002519845 00000 n 
+0002520022 00000 n 
+0002520563 00000 n 
+0002518910 00000 n 
+0002516937 00000 n 
+0002520197 00000 n 
+0002520258 00000 n 
+0002520380 00000 n 
+0002520502 00000 n 
+0002522978 00000 n 
+0002523170 00000 n 
+0002523348 00000 n 
+0002523539 00000 n 
+0002523727 00000 n 
+0002524267 00000 n 
+0002522789 00000 n 
+0002520756 00000 n 
+0002523902 00000 n 
+0002524024 00000 n 
+0002524146 00000 n 
+0002526907 00000 n 
+0002527094 00000 n 
+0002527264 00000 n 
+0002527430 00000 n 
+0002527617 00000 n 
+0002528158 00000 n 
+0002526718 00000 n 
+0002524460 00000 n 
+0002527792 00000 n 
+0002527853 00000 n 
+0002527975 00000 n 
+0002528097 00000 n 
+0002530647 00000 n 
+0002533431 00000 n 
+0002530814 00000 n 
+0002531355 00000 n 
+0002530488 00000 n 
+0002528338 00000 n 
+0002530989 00000 n 
+0002531111 00000 n 
+0002531233 00000 n 
+0002533595 00000 n 
+0002533764 00000 n 
+0002533934 00000 n 
+0002534098 00000 n 
+0002534267 00000 n 
+0002534438 00000 n 
+0002534602 00000 n 
+0002534769 00000 n 
+0002535310 00000 n 
+0002533202 00000 n 
+0002531513 00000 n 
+0002534944 00000 n 
+0002535005 00000 n 
+0002535127 00000 n 
+0002535249 00000 n 
+0003230131 00000 n 
+0002537295 00000 n 
+0002537457 00000 n 
+0002537626 00000 n 
+0002537797 00000 n 
+0002538120 00000 n 
+0002538288 00000 n 
+0002538459 00000 n 
+0002541440 00000 n 
+0002538619 00000 n 
+0002539221 00000 n 
+0002537066 00000 n 
+0002535466 00000 n 
+0002538794 00000 n 
+0002538916 00000 n 
+0002539038 00000 n 
+0002537959 00000 n 
+0002539160 00000 n 
+0002541609 00000 n 
+0002541832 00000 n 
+0002542055 00000 n 
+0002542535 00000 n 
+0002541261 00000 n 
+0002539377 00000 n 
+0002542230 00000 n 
+0002542352 00000 n 
+0002542474 00000 n 
+0002544869 00000 n 
+0002545042 00000 n 
+0002545265 00000 n 
+0002545452 00000 n 
+0002549152 00000 n 
+0002545639 00000 n 
+0002546302 00000 n 
+0002544680 00000 n 
+0002542738 00000 n 
+0002545814 00000 n 
+0002545936 00000 n 
+0002546058 00000 n 
+0002546180 00000 n 
+0002549344 00000 n 
+0002549535 00000 n 
+0002549758 00000 n 
+0002549930 00000 n 
+0002550417 00000 n 
+0002548963 00000 n 
+0002546492 00000 n 
+0002550105 00000 n 
+0002550166 00000 n 
+0002550293 00000 n 
+0002553013 00000 n 
+0002553200 00000 n 
+0002553387 00000 n 
+0002553558 00000 n 
+0002554229 00000 n 
+0002552834 00000 n 
+0002550570 00000 n 
+0002553733 00000 n 
+0002553794 00000 n 
+0002553921 00000 n 
+0002554043 00000 n 
+0002554169 00000 n 
+0002556635 00000 n 
+0002556855 00000 n 
+0002557075 00000 n 
+0002557262 00000 n 
+0002557483 00000 n 
+0002557704 00000 n 
+0002557890 00000 n 
+0002558109 00000 n 
+0002558329 00000 n 
+0002558549 00000 n 
+0002558768 00000 n 
+0002558989 00000 n 
+0002559210 00000 n 
+0002560244 00000 n 
+0002556366 00000 n 
+0002554397 00000 n 
+0002559385 00000 n 
+0002559446 00000 n 
+0002559568 00000 n 
+0002559695 00000 n 
+0002559822 00000 n 
+0002560001 00000 n 
+0002560062 00000 n 
+0002560123 00000 n 
+0002560184 00000 n 
+0003230264 00000 n 
+0002594772 00000 n 
+0002594894 00000 n 
+0002562628 00000 n 
+0002562849 00000 n 
+0002563070 00000 n 
+0002563257 00000 n 
+0002563478 00000 n 
+0002563698 00000 n 
+0002563919 00000 n 
+0002564105 00000 n 
+0002564325 00000 n 
+0002564546 00000 n 
+0002564752 00000 n 
+0002564971 00000 n 
+0002565177 00000 n 
+0002565396 00000 n 
+0002565616 00000 n 
+0002565835 00000 n 
+0002566056 00000 n 
+0002566277 00000 n 
+0002566496 00000 n 
+0002570164 00000 n 
+0002570385 00000 n 
+0002566715 00000 n 
+0002567805 00000 n 
+0002562289 00000 n 
+0002560414 00000 n 
+0002566890 00000 n 
+0002566951 00000 n 
+0002567012 00000 n 
+0002567073 00000 n 
+0002567134 00000 n 
+0002567195 00000 n 
+0002567256 00000 n 
+0002567317 00000 n 
+0002567378 00000 n 
+0002567439 00000 n 
+0002567500 00000 n 
+0002567561 00000 n 
+0002567622 00000 n 
+0002567683 00000 n 
+0002567744 00000 n 
+0002597868 00000 n 
+0002570606 00000 n 
+0002570827 00000 n 
+0002571048 00000 n 
+0002571269 00000 n 
+0002571490 00000 n 
+0002571711 00000 n 
+0002571932 00000 n 
+0002572153 00000 n 
+0002572374 00000 n 
+0002572595 00000 n 
+0002572816 00000 n 
+0002573037 00000 n 
+0002573257 00000 n 
+0002573476 00000 n 
+0002573697 00000 n 
+0002573918 00000 n 
+0002574139 00000 n 
+0002574357 00000 n 
+0002574577 00000 n 
+0002574797 00000 n 
+0002575016 00000 n 
+0002575203 00000 n 
+0002575422 00000 n 
+0002575608 00000 n 
+0002575827 00000 n 
+0002576014 00000 n 
+0002576232 00000 n 
+0002576418 00000 n 
+0002576636 00000 n 
+0002580441 00000 n 
+0002580662 00000 n 
+0002580848 00000 n 
+0002581067 00000 n 
+0002576821 00000 n 
+0002577909 00000 n 
+0002569705 00000 n 
+0002567973 00000 n 
+0002576996 00000 n 
+0002577057 00000 n 
+0002577118 00000 n 
+0002577178 00000 n 
+0002577239 00000 n 
+0002577300 00000 n 
+0002577361 00000 n 
+0002577422 00000 n 
+0002577482 00000 n 
+0002577543 00000 n 
+0002577604 00000 n 
+0002577665 00000 n 
+0002577726 00000 n 
+0002577787 00000 n 
+0002577848 00000 n 
+0002597990 00000 n 
+0002581253 00000 n 
+0002581472 00000 n 
+0002581692 00000 n 
+0002581913 00000 n 
+0002582134 00000 n 
+0002582355 00000 n 
+0002582574 00000 n 
+0002582794 00000 n 
+0002583015 00000 n 
+0002583236 00000 n 
+0002583457 00000 n 
+0002583677 00000 n 
+0002583898 00000 n 
+0002584084 00000 n 
+0002584304 00000 n 
+0002584525 00000 n 
+0002584746 00000 n 
+0002585651 00000 n 
+0002580092 00000 n 
+0002578064 00000 n 
+0002584921 00000 n 
+0002584982 00000 n 
+0002585043 00000 n 
+0002585104 00000 n 
+0002585165 00000 n 
+0002585226 00000 n 
+0002585285 00000 n 
+0002585346 00000 n 
+0002585407 00000 n 
+0002585468 00000 n 
+0002585529 00000 n 
+0002585590 00000 n 
+0002598116 00000 n 
+0002598243 00000 n 
+0002598365 00000 n 
+0002598492 00000 n 
+0002588392 00000 n 
+0002588612 00000 n 
+0002588799 00000 n 
+0002588986 00000 n 
+0002589207 00000 n 
+0002589394 00000 n 
+0002589581 00000 n 
+0002589802 00000 n 
+0002589989 00000 n 
+0002590210 00000 n 
+0002590397 00000 n 
+0002590584 00000 n 
+0002590742 00000 n 
+0002590928 00000 n 
+0002591346 00000 n 
+0002588113 00000 n 
+0002585820 00000 n 
+0002591103 00000 n 
+0002591164 00000 n 
+0002591225 00000 n 
+0002591285 00000 n 
+0002600967 00000 n 
+0002601089 00000 n 
+0002601211 00000 n 
+0002601333 00000 n 
+0002593630 00000 n 
+0002593817 00000 n 
+0002594037 00000 n 
+0002594475 00000 n 
+0002595020 00000 n 
+0002593441 00000 n 
+0002591500 00000 n 
+0002594650 00000 n 
+0002594711 00000 n 
+0002594833 00000 n 
+0002594960 00000 n 
+0002594257 00000 n 
+0002597571 00000 n 
+0002598557 00000 n 
+0002597422 00000 n 
+0002595161 00000 n 
+0002597746 00000 n 
+0002597807 00000 n 
+0002597929 00000 n 
+0002598055 00000 n 
+0002598182 00000 n 
+0002598304 00000 n 
+0002598431 00000 n 
+0003230397 00000 n 
+0002600609 00000 n 
+0002601574 00000 n 
+0002600460 00000 n 
+0002598713 00000 n 
+0002600784 00000 n 
+0002600845 00000 n 
+0002600906 00000 n 
+0002601028 00000 n 
+0002601150 00000 n 
+0002601272 00000 n 
+0002601394 00000 n 
+0002603917 00000 n 
+0002604156 00000 n 
+0002604397 00000 n 
+0002604637 00000 n 
+0002604843 00000 n 
+0002605746 00000 n 
+0002603728 00000 n 
+0002601730 00000 n 
+0002605018 00000 n 
+0002605079 00000 n 
+0002605259 00000 n 
+0002605320 00000 n 
+0002605381 00000 n 
+0002605442 00000 n 
+0002605503 00000 n 
+0002605564 00000 n 
+0002605624 00000 n 
+0002605685 00000 n 
+0002608042 00000 n 
+0002608269 00000 n 
+0002608498 00000 n 
+0002608726 00000 n 
+0002608932 00000 n 
+0002609592 00000 n 
+0002607853 00000 n 
+0002605914 00000 n 
+0002609107 00000 n 
+0002609287 00000 n 
+0002609348 00000 n 
+0002609409 00000 n 
+0002609470 00000 n 
+0002609531 00000 n 
+0002612256 00000 n 
+0002611516 00000 n 
+0002611737 00000 n 
+0002614681 00000 n 
+0002611959 00000 n 
+0002612860 00000 n 
+0002611347 00000 n 
+0002609774 00000 n 
+0002612134 00000 n 
+0002612195 00000 n 
+0002612317 00000 n 
+0002612497 00000 n 
+0002612558 00000 n 
+0002612619 00000 n 
+0002612680 00000 n 
+0002614880 00000 n 
+0002615101 00000 n 
+0002615288 00000 n 
+0002615508 00000 n 
+0002615714 00000 n 
+0002615919 00000 n 
+0002616140 00000 n 
+0002616345 00000 n 
+0002616566 00000 n 
+0002616771 00000 n 
+0002616992 00000 n 
+0002617197 00000 n 
+0002617418 00000 n 
+0002617639 00000 n 
+0002617845 00000 n 
+0002618066 00000 n 
+0002618253 00000 n 
+0002618474 00000 n 
+0002618695 00000 n 
+0002618882 00000 n 
+0002619102 00000 n 
+0002622844 00000 n 
+0002623065 00000 n 
+0002619322 00000 n 
+0002620289 00000 n 
+0002614312 00000 n 
+0002613014 00000 n 
+0002619497 00000 n 
+0002619558 00000 n 
+0002619619 00000 n 
+0002619680 00000 n 
+0002619741 00000 n 
+0002619802 00000 n 
+0002619863 00000 n 
+0002619924 00000 n 
+0002619985 00000 n 
+0002620046 00000 n 
+0002620107 00000 n 
+0002620228 00000 n 
+0002625081 00000 n 
+0002625264 00000 n 
+0002623252 00000 n 
+0002623473 00000 n 
+0002623660 00000 n 
+0002623847 00000 n 
+0002624034 00000 n 
+0002624221 00000 n 
+0002624442 00000 n 
+0002624662 00000 n 
+0002625384 00000 n 
+0002622605 00000 n 
+0002620444 00000 n 
+0002624837 00000 n 
+0002624898 00000 n 
+0002624959 00000 n 
+0002625020 00000 n 
+0002625142 00000 n 
+0002625203 00000 n 
+0002625324 00000 n 
+0003230530 00000 n 
+0002631530 00000 n 
+0002631652 00000 n 
+0002627610 00000 n 
+0002627836 00000 n 
+0002628062 00000 n 
+0002628249 00000 n 
+0002628475 00000 n 
+0002628662 00000 n 
+0002628849 00000 n 
+0002629054 00000 n 
+0002629281 00000 n 
+0002629507 00000 n 
+0002629692 00000 n 
+0002629917 00000 n 
+0002630144 00000 n 
+0002630349 00000 n 
+0002630576 00000 n 
+0002630781 00000 n 
+0002631008 00000 n 
+0002631233 00000 n 
+0002632442 00000 n 
+0002627291 00000 n 
+0002625565 00000 n 
+0002631408 00000 n 
+0002631469 00000 n 
+0002631591 00000 n 
+0002631713 00000 n 
+0002631893 00000 n 
+0002631954 00000 n 
+0002632015 00000 n 
+0002632076 00000 n 
+0002632137 00000 n 
+0002632198 00000 n 
+0002632259 00000 n 
+0002632320 00000 n 
+0002632381 00000 n 
+0002636984 00000 n 
+0002636560 00000 n 
+0002634537 00000 n 
+0002634764 00000 n 
+0002634991 00000 n 
+0002635217 00000 n 
+0002635423 00000 n 
+0002635650 00000 n 
+0002635843 00000 n 
+0002636070 00000 n 
+0002636263 00000 n 
+0002637289 00000 n 
+0002634308 00000 n 
+0002632627 00000 n 
+0002636438 00000 n 
+0002636499 00000 n 
+0002636621 00000 n 
+0002636682 00000 n 
+0002636742 00000 n 
+0002636802 00000 n 
+0002636863 00000 n 
+0002636924 00000 n 
+0002637045 00000 n 
+0002637106 00000 n 
+0002637167 00000 n 
+0002637228 00000 n 
+0002638106 00000 n 
+0002638342 00000 n 
+0002637957 00000 n 
+0002637489 00000 n 
+0002638281 00000 n 
+0002640067 00000 n 
+0002640219 00000 n 
+0002640371 00000 n 
+0002640524 00000 n 
+0002640677 00000 n 
+0002640828 00000 n 
+0002640981 00000 n 
+0002641133 00000 n 
+0002641285 00000 n 
+0002641437 00000 n 
+0002641589 00000 n 
+0002641741 00000 n 
+0002641892 00000 n 
+0002642044 00000 n 
+0002642197 00000 n 
+0002642350 00000 n 
+0002642503 00000 n 
+0002642655 00000 n 
+0002642808 00000 n 
+0002642959 00000 n 
+0002643112 00000 n 
+0002643264 00000 n 
+0002643416 00000 n 
+0002643569 00000 n 
+0002643722 00000 n 
+0002643875 00000 n 
+0002644027 00000 n 
+0002644180 00000 n 
+0002644330 00000 n 
+0002644483 00000 n 
+0002644636 00000 n 
+0002644789 00000 n 
+0002644942 00000 n 
+0002645095 00000 n 
+0002645246 00000 n 
+0002645399 00000 n 
+0002645551 00000 n 
+0002645704 00000 n 
+0002645857 00000 n 
+0002646010 00000 n 
+0002646163 00000 n 
+0002646316 00000 n 
+0002646468 00000 n 
+0002646619 00000 n 
+0002646772 00000 n 
+0002646925 00000 n 
+0002647078 00000 n 
+0002647231 00000 n 
+0002647384 00000 n 
+0002647537 00000 n 
+0002647690 00000 n 
+0002647843 00000 n 
+0002647996 00000 n 
+0002648149 00000 n 
+0002648302 00000 n 
+0002648455 00000 n 
+0002648607 00000 n 
+0002648759 00000 n 
+0002648911 00000 n 
+0002649064 00000 n 
+0002651423 00000 n 
+0002649337 00000 n 
+0002639328 00000 n 
+0002638442 00000 n 
+0002649215 00000 n 
+0002649276 00000 n 
+0002651576 00000 n 
+0002651729 00000 n 
+0002651882 00000 n 
+0002652035 00000 n 
+0002652187 00000 n 
+0002652339 00000 n 
+0002652492 00000 n 
+0002652643 00000 n 
+0002652795 00000 n 
+0002652948 00000 n 
+0002653101 00000 n 
+0002653253 00000 n 
+0002653406 00000 n 
+0002653559 00000 n 
+0002653712 00000 n 
+0002653865 00000 n 
+0002654016 00000 n 
+0002654169 00000 n 
+0002654322 00000 n 
+0002654475 00000 n 
+0002654628 00000 n 
+0002654779 00000 n 
+0002654931 00000 n 
+0002655082 00000 n 
+0002655235 00000 n 
+0002655388 00000 n 
+0002655541 00000 n 
+0002655694 00000 n 
+0002655846 00000 n 
+0002655998 00000 n 
+0002656150 00000 n 
+0002656300 00000 n 
+0002656451 00000 n 
+0002656601 00000 n 
+0002656753 00000 n 
+0002656904 00000 n 
+0002657056 00000 n 
+0002657208 00000 n 
+0002657361 00000 n 
+0002657514 00000 n 
+0002657665 00000 n 
+0002657816 00000 n 
+0002657968 00000 n 
+0002658120 00000 n 
+0002658272 00000 n 
+0002658425 00000 n 
+0002658578 00000 n 
+0002658730 00000 n 
+0002658880 00000 n 
+0002659030 00000 n 
+0002659179 00000 n 
+0002659328 00000 n 
+0002659477 00000 n 
+0002659630 00000 n 
+0002659783 00000 n 
+0002659936 00000 n 
+0002660089 00000 n 
+0002662643 00000 n 
+0002660240 00000 n 
+0002660476 00000 n 
+0002650694 00000 n 
+0002649424 00000 n 
+0002660415 00000 n 
+0002662796 00000 n 
+0002662948 00000 n 
+0002663101 00000 n 
+0002663251 00000 n 
+0002663404 00000 n 
+0002663557 00000 n 
+0002663710 00000 n 
+0002663863 00000 n 
+0002664015 00000 n 
+0002664167 00000 n 
+0002664319 00000 n 
+0002664471 00000 n 
+0002664623 00000 n 
+0002664775 00000 n 
+0002664928 00000 n 
+0002665079 00000 n 
+0002665232 00000 n 
+0002665384 00000 n 
+0002665537 00000 n 
+0002665690 00000 n 
+0002665841 00000 n 
+0002665993 00000 n 
+0002666144 00000 n 
+0002666296 00000 n 
+0002666449 00000 n 
+0002666602 00000 n 
+0002666755 00000 n 
+0002666906 00000 n 
+0002667057 00000 n 
+0002667210 00000 n 
+0002667362 00000 n 
+0002667514 00000 n 
+0002667665 00000 n 
+0002667818 00000 n 
+0002667971 00000 n 
+0002668124 00000 n 
+0002668277 00000 n 
+0002668429 00000 n 
+0002668581 00000 n 
+0002668733 00000 n 
+0002668886 00000 n 
+0002669039 00000 n 
+0002669191 00000 n 
+0002669344 00000 n 
+0002669497 00000 n 
+0002669650 00000 n 
+0002669803 00000 n 
+0002669956 00000 n 
+0002670108 00000 n 
+0002670258 00000 n 
+0002670410 00000 n 
+0002670562 00000 n 
+0002670715 00000 n 
+0002670868 00000 n 
+0002671021 00000 n 
+0002671174 00000 n 
+0002671327 00000 n 
+0002671480 00000 n 
+0002671633 00000 n 
+0002674122 00000 n 
+0002671782 00000 n 
+0002672018 00000 n 
+0002661894 00000 n 
+0002660576 00000 n 
+0002671957 00000 n 
+0003230663 00000 n 
+0002674275 00000 n 
+0002674426 00000 n 
+0002674579 00000 n 
+0002674732 00000 n 
+0002674885 00000 n 
+0002675038 00000 n 
+0002675189 00000 n 
+0002675342 00000 n 
+0002675494 00000 n 
+0002675646 00000 n 
+0002675799 00000 n 
+0002675950 00000 n 
+0002676103 00000 n 
+0002676256 00000 n 
+0002676409 00000 n 
+0002676562 00000 n 
+0002676714 00000 n 
+0002676867 00000 n 
+0002677020 00000 n 
+0002677173 00000 n 
+0002677326 00000 n 
+0002677476 00000 n 
+0002677629 00000 n 
+0002677782 00000 n 
+0002677935 00000 n 
+0002678088 00000 n 
+0002678240 00000 n 
+0002678393 00000 n 
+0002678546 00000 n 
+0002678697 00000 n 
+0002678850 00000 n 
+0002679003 00000 n 
+0002679156 00000 n 
+0002679309 00000 n 
+0002679462 00000 n 
+0002679612 00000 n 
+0002679765 00000 n 
+0002679918 00000 n 
+0002680071 00000 n 
+0002680224 00000 n 
+0002680377 00000 n 
+0002680528 00000 n 
+0002680677 00000 n 
+0002680830 00000 n 
+0002680983 00000 n 
+0002681136 00000 n 
+0002681289 00000 n 
+0002681442 00000 n 
+0002681595 00000 n 
+0002681748 00000 n 
+0002681901 00000 n 
+0002682054 00000 n 
+0002682207 00000 n 
+0002682360 00000 n 
+0002682512 00000 n 
+0002682665 00000 n 
+0002682818 00000 n 
+0002682968 00000 n 
+0002683121 00000 n 
+0002683270 00000 n 
+0002683506 00000 n 
+0002673373 00000 n 
+0002672118 00000 n 
+0002683445 00000 n 
+0002685755 00000 n 
+0002685908 00000 n 
+0002686061 00000 n 
+0002686214 00000 n 
+0002686364 00000 n 
+0002686516 00000 n 
+0002686669 00000 n 
+0002686822 00000 n 
+0002686975 00000 n 
+0002687128 00000 n 
+0002687281 00000 n 
+0002687434 00000 n 
+0002687585 00000 n 
+0002687738 00000 n 
+0002687891 00000 n 
+0002688044 00000 n 
+0002688196 00000 n 
+0002688348 00000 n 
+0002688500 00000 n 
+0002688653 00000 n 
+0002688806 00000 n 
+0002688959 00000 n 
+0002689112 00000 n 
+0002689263 00000 n 
+0002689416 00000 n 
+0002689568 00000 n 
+0002689720 00000 n 
+0002689873 00000 n 
+0002690025 00000 n 
+0002690176 00000 n 
+0002690328 00000 n 
+0002690477 00000 n 
+0002690630 00000 n 
+0002690782 00000 n 
+0002690935 00000 n 
+0002691088 00000 n 
+0002691241 00000 n 
+0002691394 00000 n 
+0002691547 00000 n 
+0002691700 00000 n 
+0002691853 00000 n 
+0002692006 00000 n 
+0002692159 00000 n 
+0002692312 00000 n 
+0002692465 00000 n 
+0002692618 00000 n 
+0002692771 00000 n 
+0002692924 00000 n 
+0002693076 00000 n 
+0002693229 00000 n 
+0002693381 00000 n 
+0002693534 00000 n 
+0002693686 00000 n 
+0002693839 00000 n 
+0002693992 00000 n 
+0002694144 00000 n 
+0002694296 00000 n 
+0002694449 00000 n 
+0002694602 00000 n 
+0002694755 00000 n 
+0002694907 00000 n 
+0002695060 00000 n 
+0002695213 00000 n 
+0002695366 00000 n 
+0002695519 00000 n 
+0002695672 00000 n 
+0002695824 00000 n 
+0002695976 00000 n 
+0002696129 00000 n 
+0002696282 00000 n 
+0002696433 00000 n 
+0002696669 00000 n 
+0002684906 00000 n 
+0002683606 00000 n 
+0002696608 00000 n 
+0002698777 00000 n 
+0002698928 00000 n 
+0002699080 00000 n 
+0002699231 00000 n 
+0002699383 00000 n 
+0002699535 00000 n 
+0002699688 00000 n 
+0002699841 00000 n 
+0002699994 00000 n 
+0002700146 00000 n 
+0002700299 00000 n 
+0002700451 00000 n 
+0002700604 00000 n 
+0002700757 00000 n 
+0002700910 00000 n 
+0002701063 00000 n 
+0002701215 00000 n 
+0002701367 00000 n 
+0002701519 00000 n 
+0002701671 00000 n 
+0002701823 00000 n 
+0002701975 00000 n 
+0002702126 00000 n 
+0002702277 00000 n 
+0002702428 00000 n 
+0002702580 00000 n 
+0002702732 00000 n 
+0002702884 00000 n 
+0002703035 00000 n 
+0002703186 00000 n 
+0002703337 00000 n 
+0002703489 00000 n 
+0002703642 00000 n 
+0002703794 00000 n 
+0002703946 00000 n 
+0002704099 00000 n 
+0002704252 00000 n 
+0002704405 00000 n 
+0002704558 00000 n 
+0002704711 00000 n 
+0002704864 00000 n 
+0002705016 00000 n 
+0002705169 00000 n 
+0002705322 00000 n 
+0002705475 00000 n 
+0002705628 00000 n 
+0002705781 00000 n 
+0002705934 00000 n 
+0002706087 00000 n 
+0002706239 00000 n 
+0002706392 00000 n 
+0002706544 00000 n 
+0002706697 00000 n 
+0002706849 00000 n 
+0002707002 00000 n 
+0002707154 00000 n 
+0002707307 00000 n 
+0002707458 00000 n 
+0002707694 00000 n 
+0002698058 00000 n 
+0002696769 00000 n 
+0002707633 00000 n 
+0002709881 00000 n 
+0002710034 00000 n 
+0002710186 00000 n 
+0002710339 00000 n 
+0002710492 00000 n 
+0002710645 00000 n 
+0002710798 00000 n 
+0002710951 00000 n 
+0002711104 00000 n 
+0002711257 00000 n 
+0002711410 00000 n 
+0002711563 00000 n 
+0002711716 00000 n 
+0002711866 00000 n 
+0002712019 00000 n 
+0002712172 00000 n 
+0002712325 00000 n 
+0002712477 00000 n 
+0002712630 00000 n 
+0002712783 00000 n 
+0002712936 00000 n 
+0002713088 00000 n 
+0002713240 00000 n 
+0002713393 00000 n 
+0002713546 00000 n 
+0002713698 00000 n 
+0002713850 00000 n 
+0002714001 00000 n 
+0002714152 00000 n 
+0002714305 00000 n 
+0002714458 00000 n 
+0002714610 00000 n 
+0002714762 00000 n 
+0002714915 00000 n 
+0002715068 00000 n 
+0002715221 00000 n 
+0002715373 00000 n 
+0002715525 00000 n 
+0002715678 00000 n 
+0002715830 00000 n 
+0002715982 00000 n 
+0002716135 00000 n 
+0002716287 00000 n 
+0002716440 00000 n 
+0002716593 00000 n 
+0002716745 00000 n 
+0002716898 00000 n 
+0002717048 00000 n 
+0002717201 00000 n 
+0002717354 00000 n 
+0002717507 00000 n 
+0002717660 00000 n 
+0002717813 00000 n 
+0002717966 00000 n 
+0002718118 00000 n 
+0002718270 00000 n 
+0002718422 00000 n 
+0002718574 00000 n 
+0002718725 00000 n 
+0002718878 00000 n 
+0002719031 00000 n 
+0002719181 00000 n 
+0002721910 00000 n 
+0002722063 00000 n 
+0002719331 00000 n 
+0002719567 00000 n 
+0002709112 00000 n 
+0002707794 00000 n 
+0002719506 00000 n 
+0002722216 00000 n 
+0002722367 00000 n 
+0002722520 00000 n 
+0002722672 00000 n 
+0002722823 00000 n 
+0002722975 00000 n 
+0002723127 00000 n 
+0002723279 00000 n 
+0002723432 00000 n 
+0002723585 00000 n 
+0002723738 00000 n 
+0002723890 00000 n 
+0002724042 00000 n 
+0002724195 00000 n 
+0002724348 00000 n 
+0002724501 00000 n 
+0002724654 00000 n 
+0002724807 00000 n 
+0002724960 00000 n 
+0002725112 00000 n 
+0002725265 00000 n 
+0002725418 00000 n 
+0002725570 00000 n 
+0002725723 00000 n 
+0002725875 00000 n 
+0002726028 00000 n 
+0002726180 00000 n 
+0002726332 00000 n 
+0002726484 00000 n 
+0002726637 00000 n 
+0002726789 00000 n 
+0002726940 00000 n 
+0002727093 00000 n 
+0002727246 00000 n 
+0002727398 00000 n 
+0002727551 00000 n 
+0002727704 00000 n 
+0002727855 00000 n 
+0002728008 00000 n 
+0002728160 00000 n 
+0002728312 00000 n 
+0002728465 00000 n 
+0002728617 00000 n 
+0002728770 00000 n 
+0002728923 00000 n 
+0002729076 00000 n 
+0002729229 00000 n 
+0002729382 00000 n 
+0002729534 00000 n 
+0002729687 00000 n 
+0002729840 00000 n 
+0002729993 00000 n 
+0002730146 00000 n 
+0002730299 00000 n 
+0002730451 00000 n 
+0002730603 00000 n 
+0002730755 00000 n 
+0002730908 00000 n 
+0002731060 00000 n 
+0002731213 00000 n 
+0002731365 00000 n 
+0002731518 00000 n 
+0002731671 00000 n 
+0002731824 00000 n 
+0002734354 00000 n 
+0002734507 00000 n 
+0002731975 00000 n 
+0002732211 00000 n 
+0002721101 00000 n 
+0002719667 00000 n 
+0002732150 00000 n 
+0002734660 00000 n 
+0002734813 00000 n 
+0002734965 00000 n 
+0002735118 00000 n 
+0002735270 00000 n 
+0002735422 00000 n 
+0002735575 00000 n 
+0002735728 00000 n 
+0002735881 00000 n 
+0002736034 00000 n 
+0002736186 00000 n 
+0002736339 00000 n 
+0002736492 00000 n 
+0002736645 00000 n 
+0002736798 00000 n 
+0002736951 00000 n 
+0002737104 00000 n 
+0002737257 00000 n 
+0002737410 00000 n 
+0002737563 00000 n 
+0002737716 00000 n 
+0002737868 00000 n 
+0002738019 00000 n 
+0002738172 00000 n 
+0002738324 00000 n 
+0002738477 00000 n 
+0002738630 00000 n 
+0002738783 00000 n 
+0002738936 00000 n 
+0002739089 00000 n 
+0002739241 00000 n 
+0002739394 00000 n 
+0002739547 00000 n 
+0002739699 00000 n 
+0002739851 00000 n 
+0002740002 00000 n 
+0002740154 00000 n 
+0002740306 00000 n 
+0002740458 00000 n 
+0002740609 00000 n 
+0002740761 00000 n 
+0002740913 00000 n 
+0002741066 00000 n 
+0002741216 00000 n 
+0002741366 00000 n 
+0002741516 00000 n 
+0002741669 00000 n 
+0002741822 00000 n 
+0002741974 00000 n 
+0002742124 00000 n 
+0002742274 00000 n 
+0002742424 00000 n 
+0002742577 00000 n 
+0002742728 00000 n 
+0002742879 00000 n 
+0002743115 00000 n 
+0002733645 00000 n 
+0002732324 00000 n 
+0002743054 00000 n 
+0003230796 00000 n 
+0002746018 00000 n 
+0002746171 00000 n 
+0002746323 00000 n 
+0002746474 00000 n 
+0002746626 00000 n 
+0002746777 00000 n 
+0002746929 00000 n 
+0002747081 00000 n 
+0002747233 00000 n 
+0002747385 00000 n 
+0002747536 00000 n 
+0002747687 00000 n 
+0002747839 00000 n 
+0002747990 00000 n 
+0002748142 00000 n 
+0002748294 00000 n 
+0002748446 00000 n 
+0002748597 00000 n 
+0002748749 00000 n 
+0002748901 00000 n 
+0002749053 00000 n 
+0002749204 00000 n 
+0002749355 00000 n 
+0002749505 00000 n 
+0002749657 00000 n 
+0002749808 00000 n 
+0002749960 00000 n 
+0002750111 00000 n 
+0002750262 00000 n 
+0002750413 00000 n 
+0002750566 00000 n 
+0002750719 00000 n 
+0002750871 00000 n 
+0002751023 00000 n 
+0002751176 00000 n 
+0002751329 00000 n 
+0002751482 00000 n 
+0002751634 00000 n 
+0002751787 00000 n 
+0002751940 00000 n 
+0002752093 00000 n 
+0002752245 00000 n 
+0002752398 00000 n 
+0002752550 00000 n 
+0002752701 00000 n 
+0002752853 00000 n 
+0002753006 00000 n 
+0002753159 00000 n 
+0002753312 00000 n 
+0002753462 00000 n 
+0002753614 00000 n 
+0002753765 00000 n 
+0002753917 00000 n 
+0002754067 00000 n 
+0002754217 00000 n 
+0002754368 00000 n 
+0002754519 00000 n 
+0002754670 00000 n 
+0002754821 00000 n 
+0002754973 00000 n 
+0002755125 00000 n 
+0002755275 00000 n 
+0002755427 00000 n 
+0002755579 00000 n 
+0002755730 00000 n 
+0002755882 00000 n 
+0002756034 00000 n 
+0002756187 00000 n 
+0002756340 00000 n 
+0002756492 00000 n 
+0002756645 00000 n 
+0002756798 00000 n 
+0002756951 00000 n 
+0002757104 00000 n 
+0002757257 00000 n 
+0002757410 00000 n 
+0002757563 00000 n 
+0002757715 00000 n 
+0002757867 00000 n 
+0002758019 00000 n 
+0002758171 00000 n 
+0002758323 00000 n 
+0002758476 00000 n 
+0002758628 00000 n 
+0002758781 00000 n 
+0002758933 00000 n 
+0002759085 00000 n 
+0002759237 00000 n 
+0002759390 00000 n 
+0002759543 00000 n 
+0002759695 00000 n 
+0002759846 00000 n 
+0002759998 00000 n 
+0002760151 00000 n 
+0002760304 00000 n 
+0002760456 00000 n 
+0002760609 00000 n 
+0002760762 00000 n 
+0002760915 00000 n 
+0002761067 00000 n 
+0002764543 00000 n 
+0002761217 00000 n 
+0002761453 00000 n 
+0002744869 00000 n 
+0002743241 00000 n 
+0002761392 00000 n 
+0002764695 00000 n 
+0002764848 00000 n 
+0002765001 00000 n 
+0002765154 00000 n 
+0002765307 00000 n 
+0002765458 00000 n 
+0002765611 00000 n 
+0002765763 00000 n 
+0002765916 00000 n 
+0002766069 00000 n 
+0002766221 00000 n 
+0002766372 00000 n 
+0002766525 00000 n 
+0002766677 00000 n 
+0002766829 00000 n 
+0002766982 00000 n 
+0002767130 00000 n 
+0002767281 00000 n 
+0002767434 00000 n 
+0002767586 00000 n 
+0002767739 00000 n 
+0002767891 00000 n 
+0002768044 00000 n 
+0002768197 00000 n 
+0002768350 00000 n 
+0002768502 00000 n 
+0002768655 00000 n 
+0002768808 00000 n 
+0002768961 00000 n 
+0002769114 00000 n 
+0002769267 00000 n 
+0002769419 00000 n 
+0002769571 00000 n 
+0002769724 00000 n 
+0002769877 00000 n 
+0002770030 00000 n 
+0002770182 00000 n 
+0002770335 00000 n 
+0002770486 00000 n 
+0002770639 00000 n 
+0002770791 00000 n 
+0002770943 00000 n 
+0002771095 00000 n 
+0002771247 00000 n 
+0002771400 00000 n 
+0002771552 00000 n 
+0002771705 00000 n 
+0002771856 00000 n 
+0002772009 00000 n 
+0002772162 00000 n 
+0002772315 00000 n 
+0002772467 00000 n 
+0002772620 00000 n 
+0002772773 00000 n 
+0002772926 00000 n 
+0002773078 00000 n 
+0002773229 00000 n 
+0002773382 00000 n 
+0002773535 00000 n 
+0002773687 00000 n 
+0002773840 00000 n 
+0002773993 00000 n 
+0002774145 00000 n 
+0002774297 00000 n 
+0002774450 00000 n 
+0002774603 00000 n 
+0002774755 00000 n 
+0002774907 00000 n 
+0002775059 00000 n 
+0002775211 00000 n 
+0002775363 00000 n 
+0002775516 00000 n 
+0002775666 00000 n 
+0002775818 00000 n 
+0002775970 00000 n 
+0002776123 00000 n 
+0002776275 00000 n 
+0002776428 00000 n 
+0002776580 00000 n 
+0002776733 00000 n 
+0002776886 00000 n 
+0002777039 00000 n 
+0002777192 00000 n 
+0002777345 00000 n 
+0002777497 00000 n 
+0002777650 00000 n 
+0002777802 00000 n 
+0002777954 00000 n 
+0002778106 00000 n 
+0002778258 00000 n 
+0002778411 00000 n 
+0002778564 00000 n 
+0002778717 00000 n 
+0002778870 00000 n 
+0002779022 00000 n 
+0002779174 00000 n 
+0002779326 00000 n 
+0002779479 00000 n 
+0002779630 00000 n 
+0002779783 00000 n 
+0002779935 00000 n 
+0002780088 00000 n 
+0002780241 00000 n 
+0002780394 00000 n 
+0002780546 00000 n 
+0002780699 00000 n 
+0002780851 00000 n 
+0002781004 00000 n 
+0002781157 00000 n 
+0002781309 00000 n 
+0002781460 00000 n 
+0002781613 00000 n 
+0002781766 00000 n 
+0002781919 00000 n 
+0002782072 00000 n 
+0002782225 00000 n 
+0002782378 00000 n 
+0002782530 00000 n 
+0002785777 00000 n 
+0002782681 00000 n 
+0002782917 00000 n 
+0002763204 00000 n 
+0002761553 00000 n 
+0002782856 00000 n 
+0002785930 00000 n 
+0002786082 00000 n 
+0002786235 00000 n 
+0002786387 00000 n 
+0002786540 00000 n 
+0002786691 00000 n 
+0002786844 00000 n 
+0002786996 00000 n 
+0002787149 00000 n 
+0002787301 00000 n 
+0002787454 00000 n 
+0002787607 00000 n 
+0002787758 00000 n 
+0002787911 00000 n 
+0002788063 00000 n 
+0002788215 00000 n 
+0002788367 00000 n 
+0002788519 00000 n 
+0002788671 00000 n 
+0002788824 00000 n 
+0002788977 00000 n 
+0002789130 00000 n 
+0002789283 00000 n 
+0002789436 00000 n 
+0002789588 00000 n 
+0002789741 00000 n 
+0002789894 00000 n 
+0002790047 00000 n 
+0002790200 00000 n 
+0002790353 00000 n 
+0002790506 00000 n 
+0002790659 00000 n 
+0002790812 00000 n 
+0002790965 00000 n 
+0002791116 00000 n 
+0002791269 00000 n 
+0002791421 00000 n 
+0002791573 00000 n 
+0002791724 00000 n 
+0002791876 00000 n 
+0002792029 00000 n 
+0002792181 00000 n 
+0002792333 00000 n 
+0002792486 00000 n 
+0002792638 00000 n 
+0002792790 00000 n 
+0002792943 00000 n 
+0002793096 00000 n 
+0002793248 00000 n 
+0002793401 00000 n 
+0002793552 00000 n 
+0002793705 00000 n 
+0002793858 00000 n 
+0002794011 00000 n 
+0002794164 00000 n 
+0002794317 00000 n 
+0002794469 00000 n 
+0002794622 00000 n 
+0002794774 00000 n 
+0002794927 00000 n 
+0002795079 00000 n 
+0002795230 00000 n 
+0002795383 00000 n 
+0002795536 00000 n 
+0002795689 00000 n 
+0002795841 00000 n 
+0002795993 00000 n 
+0002796144 00000 n 
+0002796297 00000 n 
+0002796449 00000 n 
+0002796601 00000 n 
+0002796753 00000 n 
+0002796906 00000 n 
+0002797059 00000 n 
+0002797212 00000 n 
+0002797365 00000 n 
+0002797518 00000 n 
+0002797670 00000 n 
+0002797823 00000 n 
+0002797976 00000 n 
+0002798129 00000 n 
+0002798282 00000 n 
+0002798435 00000 n 
+0002798588 00000 n 
+0002798741 00000 n 
+0002798894 00000 n 
+0002799047 00000 n 
+0002799198 00000 n 
+0002799351 00000 n 
+0002799502 00000 n 
+0002799654 00000 n 
+0002799807 00000 n 
+0002799959 00000 n 
+0002800110 00000 n 
+0002800263 00000 n 
+0002800416 00000 n 
+0002800567 00000 n 
+0002800720 00000 n 
+0002800873 00000 n 
+0002801025 00000 n 
+0002801178 00000 n 
+0002801328 00000 n 
+0002801480 00000 n 
+0002801633 00000 n 
+0002801786 00000 n 
+0002801939 00000 n 
+0002802092 00000 n 
+0002802243 00000 n 
+0002805545 00000 n 
+0002802394 00000 n 
+0002802630 00000 n 
+0002784538 00000 n 
+0002783030 00000 n 
+0002802569 00000 n 
+0002805698 00000 n 
+0002805850 00000 n 
+0002806002 00000 n 
+0002806155 00000 n 
+0002806307 00000 n 
+0002806459 00000 n 
+0002806612 00000 n 
+0002806764 00000 n 
+0002806917 00000 n 
+0002807069 00000 n 
+0002807221 00000 n 
+0002807374 00000 n 
+0002807526 00000 n 
+0002807679 00000 n 
+0002807831 00000 n 
+0002807984 00000 n 
+0002808136 00000 n 
+0002808288 00000 n 
+0002808441 00000 n 
+0002808594 00000 n 
+0002808747 00000 n 
+0002808900 00000 n 
+0002809052 00000 n 
+0002809205 00000 n 
+0002809357 00000 n 
+0002809510 00000 n 
+0002809663 00000 n 
+0002809816 00000 n 
+0002809969 00000 n 
+0002810121 00000 n 
+0002810274 00000 n 
+0002810427 00000 n 
+0002810580 00000 n 
+0002810733 00000 n 
+0002810885 00000 n 
+0002811038 00000 n 
+0002811190 00000 n 
+0002811343 00000 n 
+0002811495 00000 n 
+0002811648 00000 n 
+0002811801 00000 n 
+0002811953 00000 n 
+0002812105 00000 n 
+0002812258 00000 n 
+0002812411 00000 n 
+0002812563 00000 n 
+0002812716 00000 n 
+0002812869 00000 n 
+0002813022 00000 n 
+0002813175 00000 n 
+0002813327 00000 n 
+0002813480 00000 n 
+0002813633 00000 n 
+0002813786 00000 n 
+0002813939 00000 n 
+0002814091 00000 n 
+0002814242 00000 n 
+0002814393 00000 n 
+0002814545 00000 n 
+0002814697 00000 n 
+0002814850 00000 n 
+0002815003 00000 n 
+0002815156 00000 n 
+0002815307 00000 n 
+0002815460 00000 n 
+0002815612 00000 n 
+0002815764 00000 n 
+0002815916 00000 n 
+0002816069 00000 n 
+0002816222 00000 n 
+0002816373 00000 n 
+0002816526 00000 n 
+0002816677 00000 n 
+0002816830 00000 n 
+0002816982 00000 n 
+0002817134 00000 n 
+0002817286 00000 n 
+0002817439 00000 n 
+0002817592 00000 n 
+0002817745 00000 n 
+0002817898 00000 n 
+0002818051 00000 n 
+0002818203 00000 n 
+0002818356 00000 n 
+0002818508 00000 n 
+0002818661 00000 n 
+0002818814 00000 n 
+0002818967 00000 n 
+0002819120 00000 n 
+0002819273 00000 n 
+0002819426 00000 n 
+0002819578 00000 n 
+0002819731 00000 n 
+0002819884 00000 n 
+0002820035 00000 n 
+0002820188 00000 n 
+0002820341 00000 n 
+0002820493 00000 n 
+0002820646 00000 n 
+0002820798 00000 n 
+0002820950 00000 n 
+0002821103 00000 n 
+0002821256 00000 n 
+0002821409 00000 n 
+0002821561 00000 n 
+0002821714 00000 n 
+0002821866 00000 n 
+0002825528 00000 n 
+0002822017 00000 n 
+0002822253 00000 n 
+0002804316 00000 n 
+0002802743 00000 n 
+0002822192 00000 n 
+0002825680 00000 n 
+0002825831 00000 n 
+0002825984 00000 n 
+0002826136 00000 n 
+0002826288 00000 n 
+0002826439 00000 n 
+0002826592 00000 n 
+0002826745 00000 n 
+0002826898 00000 n 
+0002827051 00000 n 
+0002827203 00000 n 
+0002827356 00000 n 
+0002827509 00000 n 
+0002827661 00000 n 
+0002827814 00000 n 
+0002827966 00000 n 
+0002828119 00000 n 
+0002828271 00000 n 
+0002828424 00000 n 
+0002828575 00000 n 
+0002828727 00000 n 
+0002828879 00000 n 
+0002829032 00000 n 
+0002829185 00000 n 
+0002829338 00000 n 
+0002829490 00000 n 
+0002829643 00000 n 
+0002829795 00000 n 
+0002829947 00000 n 
+0002830099 00000 n 
+0002830252 00000 n 
+0002830405 00000 n 
+0002830557 00000 n 
+0002830710 00000 n 
+0002830863 00000 n 
+0002831016 00000 n 
+0002831169 00000 n 
+0002831321 00000 n 
+0002831472 00000 n 
+0002831625 00000 n 
+0002831777 00000 n 
+0002831930 00000 n 
+0002832081 00000 n 
+0002832234 00000 n 
+0002832386 00000 n 
+0002832538 00000 n 
+0002832690 00000 n 
+0002832843 00000 n 
+0002832995 00000 n 
+0002833148 00000 n 
+0002833300 00000 n 
+0002833452 00000 n 
+0002833605 00000 n 
+0002833758 00000 n 
+0002833910 00000 n 
+0002834063 00000 n 
+0002834216 00000 n 
+0002834367 00000 n 
+0002834517 00000 n 
+0002834670 00000 n 
+0002834823 00000 n 
+0002834976 00000 n 
+0002835129 00000 n 
+0002835281 00000 n 
+0002835433 00000 n 
+0002835586 00000 n 
+0002835738 00000 n 
+0002835891 00000 n 
+0002836044 00000 n 
+0002836195 00000 n 
+0002836348 00000 n 
+0002836500 00000 n 
+0002836653 00000 n 
+0002836806 00000 n 
+0002836958 00000 n 
+0002837110 00000 n 
+0002837262 00000 n 
+0002837414 00000 n 
+0002837567 00000 n 
+0002837720 00000 n 
+0002837873 00000 n 
+0002838026 00000 n 
+0002838178 00000 n 
+0002838331 00000 n 
+0002838484 00000 n 
+0002838635 00000 n 
+0002838787 00000 n 
+0002838940 00000 n 
+0002839093 00000 n 
+0002839246 00000 n 
+0002839399 00000 n 
+0002839550 00000 n 
+0002839702 00000 n 
+0002839854 00000 n 
+0002840007 00000 n 
+0002840160 00000 n 
+0002840313 00000 n 
+0002840466 00000 n 
+0002840619 00000 n 
+0002840771 00000 n 
+0002840923 00000 n 
+0002841076 00000 n 
+0002841227 00000 n 
+0002841380 00000 n 
+0002841532 00000 n 
+0002841684 00000 n 
+0002841837 00000 n 
+0002841989 00000 n 
+0002842142 00000 n 
+0002842294 00000 n 
+0002842446 00000 n 
+0002842598 00000 n 
+0002842750 00000 n 
+0002842903 00000 n 
+0002843056 00000 n 
+0002843208 00000 n 
+0002843361 00000 n 
+0002843512 00000 n 
+0002846895 00000 n 
+0002843663 00000 n 
+0002843899 00000 n 
+0002824189 00000 n 
+0002822366 00000 n 
+0002843838 00000 n 
+0002847048 00000 n 
+0002847200 00000 n 
+0002847353 00000 n 
+0002847506 00000 n 
+0002847658 00000 n 
+0002847809 00000 n 
+0002847962 00000 n 
+0002848114 00000 n 
+0002848267 00000 n 
+0002848419 00000 n 
+0002848571 00000 n 
+0002848724 00000 n 
+0002848877 00000 n 
+0002849030 00000 n 
+0002849183 00000 n 
+0002849336 00000 n 
+0002849488 00000 n 
+0002849641 00000 n 
+0002849794 00000 n 
+0002849947 00000 n 
+0002850100 00000 n 
+0002850253 00000 n 
+0002850406 00000 n 
+0002850559 00000 n 
+0002850712 00000 n 
+0002850865 00000 n 
+0002851018 00000 n 
+0002851171 00000 n 
+0002851324 00000 n 
+0002851477 00000 n 
+0002851629 00000 n 
+0002851780 00000 n 
+0002851933 00000 n 
+0002852085 00000 n 
+0002852238 00000 n 
+0002852391 00000 n 
+0002852544 00000 n 
+0002852693 00000 n 
+0002852844 00000 n 
+0002852996 00000 n 
+0002853148 00000 n 
+0002853300 00000 n 
+0002853453 00000 n 
+0002853604 00000 n 
+0002853757 00000 n 
+0002853910 00000 n 
+0002854062 00000 n 
+0002854215 00000 n 
+0002854367 00000 n 
+0002854520 00000 n 
+0002854673 00000 n 
+0002854825 00000 n 
+0002854978 00000 n 
+0002855130 00000 n 
+0002855283 00000 n 
+0002855436 00000 n 
+0002855588 00000 n 
+0002855739 00000 n 
+0002855892 00000 n 
+0002856045 00000 n 
+0002856198 00000 n 
+0002856350 00000 n 
+0002856503 00000 n 
+0002856655 00000 n 
+0002856808 00000 n 
+0002856959 00000 n 
+0002857112 00000 n 
+0002857265 00000 n 
+0002857417 00000 n 
+0002857569 00000 n 
+0002857722 00000 n 
+0002857874 00000 n 
+0002858026 00000 n 
+0002858179 00000 n 
+0002858332 00000 n 
+0002858485 00000 n 
+0002858638 00000 n 
+0002858791 00000 n 
+0002858944 00000 n 
+0002859096 00000 n 
+0002859249 00000 n 
+0002859401 00000 n 
+0002859552 00000 n 
+0002859704 00000 n 
+0002859855 00000 n 
+0002860008 00000 n 
+0002860161 00000 n 
+0002860314 00000 n 
+0002860467 00000 n 
+0002860619 00000 n 
+0002860771 00000 n 
+0002860923 00000 n 
+0002861076 00000 n 
+0002861228 00000 n 
+0002861380 00000 n 
+0002861533 00000 n 
+0002861684 00000 n 
+0002861837 00000 n 
+0002861990 00000 n 
+0002862143 00000 n 
+0002862295 00000 n 
+0002862448 00000 n 
+0002862600 00000 n 
+0002862753 00000 n 
+0002862906 00000 n 
+0002863059 00000 n 
+0002863212 00000 n 
+0002863363 00000 n 
+0002863514 00000 n 
+0002866915 00000 n 
+0002867068 00000 n 
+0002863665 00000 n 
+0002863901 00000 n 
+0002845646 00000 n 
+0002844025 00000 n 
+0002863840 00000 n 
+0003230929 00000 n 
+0002867221 00000 n 
+0002867374 00000 n 
+0002867526 00000 n 
+0002867679 00000 n 
+0002867832 00000 n 
+0002867984 00000 n 
+0002868137 00000 n 
+0002868289 00000 n 
+0002868442 00000 n 
+0002868594 00000 n 
+0002868747 00000 n 
+0002868900 00000 n 
+0002869053 00000 n 
+0002869205 00000 n 
+0002869354 00000 n 
+0002869505 00000 n 
+0002869658 00000 n 
+0002869810 00000 n 
+0002869962 00000 n 
+0002870115 00000 n 
+0002870268 00000 n 
+0002870421 00000 n 
+0002870573 00000 n 
+0002870726 00000 n 
+0002870879 00000 n 
+0002871031 00000 n 
+0002871183 00000 n 
+0002871335 00000 n 
+0002871488 00000 n 
+0002871640 00000 n 
+0002871792 00000 n 
+0002871945 00000 n 
+0002872098 00000 n 
+0002872250 00000 n 
+0002872402 00000 n 
+0002872553 00000 n 
+0002872706 00000 n 
+0002872858 00000 n 
+0002873011 00000 n 
+0002873164 00000 n 
+0002873316 00000 n 
+0002873469 00000 n 
+0002873621 00000 n 
+0002873774 00000 n 
+0002873926 00000 n 
+0002874078 00000 n 
+0002874231 00000 n 
+0002874383 00000 n 
+0002874536 00000 n 
+0002874689 00000 n 
+0002874842 00000 n 
+0002874994 00000 n 
+0002875145 00000 n 
+0002875298 00000 n 
+0002875451 00000 n 
+0002875604 00000 n 
+0002875757 00000 n 
+0002875910 00000 n 
+0002876062 00000 n 
+0002876214 00000 n 
+0002876366 00000 n 
+0002876519 00000 n 
+0002876671 00000 n 
+0002876823 00000 n 
+0002876975 00000 n 
+0002877128 00000 n 
+0002877280 00000 n 
+0002877432 00000 n 
+0002877585 00000 n 
+0002877738 00000 n 
+0002877890 00000 n 
+0002878042 00000 n 
+0002878194 00000 n 
+0002878345 00000 n 
+0002878498 00000 n 
+0002878650 00000 n 
+0002878803 00000 n 
+0002878955 00000 n 
+0002879108 00000 n 
+0002879260 00000 n 
+0002879413 00000 n 
+0002879566 00000 n 
+0002879719 00000 n 
+0002879872 00000 n 
+0002880025 00000 n 
+0002880178 00000 n 
+0002880331 00000 n 
+0002880483 00000 n 
+0002880636 00000 n 
+0002880789 00000 n 
+0002880941 00000 n 
+0002881094 00000 n 
+0002881247 00000 n 
+0002881399 00000 n 
+0002881552 00000 n 
+0002881703 00000 n 
+0002881856 00000 n 
+0002882008 00000 n 
+0002882159 00000 n 
+0002882312 00000 n 
+0002882465 00000 n 
+0002882617 00000 n 
+0002882770 00000 n 
+0002882921 00000 n 
+0002883073 00000 n 
+0002883226 00000 n 
+0002883379 00000 n 
+0002883531 00000 n 
+0002883684 00000 n 
+0002883837 00000 n 
+0002883990 00000 n 
+0002884141 00000 n 
+0002887136 00000 n 
+0002884292 00000 n 
+0002884528 00000 n 
+0002865626 00000 n 
+0002864014 00000 n 
+0002884467 00000 n 
+0002887289 00000 n 
+0002887442 00000 n 
+0002887595 00000 n 
+0002887748 00000 n 
+0002887900 00000 n 
+0002888053 00000 n 
+0002888204 00000 n 
+0002888357 00000 n 
+0002888509 00000 n 
+0002888662 00000 n 
+0002888815 00000 n 
+0002888967 00000 n 
+0002889120 00000 n 
+0002889273 00000 n 
+0002889426 00000 n 
+0002889579 00000 n 
+0002889732 00000 n 
+0002889884 00000 n 
+0002890037 00000 n 
+0002890190 00000 n 
+0002890343 00000 n 
+0002890496 00000 n 
+0002890649 00000 n 
+0002890801 00000 n 
+0002890953 00000 n 
+0002891106 00000 n 
+0002891259 00000 n 
+0002891410 00000 n 
+0002891561 00000 n 
+0002891714 00000 n 
+0002891867 00000 n 
+0002892020 00000 n 
+0002892173 00000 n 
+0002892323 00000 n 
+0002892475 00000 n 
+0002892627 00000 n 
+0002892778 00000 n 
+0002892929 00000 n 
+0002893079 00000 n 
+0002893231 00000 n 
+0002893381 00000 n 
+0002893533 00000 n 
+0002893684 00000 n 
+0002893836 00000 n 
+0002893986 00000 n 
+0002894138 00000 n 
+0002894290 00000 n 
+0002894442 00000 n 
+0002894594 00000 n 
+0002894746 00000 n 
+0002894898 00000 n 
+0002895049 00000 n 
+0002895201 00000 n 
+0002895353 00000 n 
+0002895505 00000 n 
+0002895657 00000 n 
+0002895808 00000 n 
+0002895960 00000 n 
+0002896111 00000 n 
+0002896263 00000 n 
+0002896414 00000 n 
+0002896566 00000 n 
+0002896717 00000 n 
+0002896869 00000 n 
+0002897021 00000 n 
+0002897173 00000 n 
+0002897323 00000 n 
+0002897474 00000 n 
+0002897625 00000 n 
+0002897776 00000 n 
+0002897928 00000 n 
+0002898079 00000 n 
+0002898230 00000 n 
+0002898382 00000 n 
+0002898534 00000 n 
+0002898686 00000 n 
+0002898838 00000 n 
+0002898990 00000 n 
+0002899142 00000 n 
+0002899293 00000 n 
+0002899445 00000 n 
+0002899596 00000 n 
+0002899747 00000 n 
+0002899899 00000 n 
+0002900051 00000 n 
+0002900201 00000 n 
+0002903027 00000 n 
+0002900351 00000 n 
+0002900587 00000 n 
+0002886117 00000 n 
+0002884641 00000 n 
+0002900526 00000 n 
+0002903178 00000 n 
+0002903329 00000 n 
+0002903480 00000 n 
+0002903631 00000 n 
+0002903783 00000 n 
+0002903933 00000 n 
+0002904085 00000 n 
+0002904236 00000 n 
+0002904387 00000 n 
+0002904537 00000 n 
+0002904688 00000 n 
+0002904839 00000 n 
+0002904990 00000 n 
+0002905141 00000 n 
+0002905293 00000 n 
+0002905444 00000 n 
+0002905595 00000 n 
+0002905747 00000 n 
+0002905899 00000 n 
+0002906050 00000 n 
+0002906201 00000 n 
+0002906353 00000 n 
+0002906505 00000 n 
+0002906657 00000 n 
+0002906809 00000 n 
+0002906960 00000 n 
+0002907112 00000 n 
+0002907263 00000 n 
+0002907415 00000 n 
+0002907567 00000 n 
+0002907719 00000 n 
+0002907871 00000 n 
+0002908024 00000 n 
+0002908177 00000 n 
+0002908330 00000 n 
+0002908483 00000 n 
+0002908635 00000 n 
+0002908788 00000 n 
+0002908941 00000 n 
+0002909094 00000 n 
+0002909247 00000 n 
+0002909398 00000 n 
+0002909551 00000 n 
+0002909703 00000 n 
+0002909855 00000 n 
+0002910008 00000 n 
+0002910160 00000 n 
+0002910312 00000 n 
+0002910464 00000 n 
+0002910617 00000 n 
+0002910769 00000 n 
+0002910922 00000 n 
+0002911075 00000 n 
+0002911228 00000 n 
+0002911381 00000 n 
+0002911534 00000 n 
+0002911687 00000 n 
+0002911840 00000 n 
+0002911993 00000 n 
+0002912146 00000 n 
+0002912299 00000 n 
+0002912451 00000 n 
+0002912604 00000 n 
+0002912756 00000 n 
+0002912908 00000 n 
+0002913060 00000 n 
+0002915582 00000 n 
+0002913211 00000 n 
+0002913447 00000 n 
+0002902208 00000 n 
+0002900700 00000 n 
+0002913386 00000 n 
+0002915735 00000 n 
+0002915888 00000 n 
+0002916041 00000 n 
+0002916194 00000 n 
+0002916345 00000 n 
+0002916497 00000 n 
+0002916648 00000 n 
+0002916801 00000 n 
+0002916954 00000 n 
+0002917107 00000 n 
+0002917260 00000 n 
+0002917412 00000 n 
+0002917565 00000 n 
+0002917716 00000 n 
+0002917869 00000 n 
+0002918022 00000 n 
+0002918175 00000 n 
+0002918328 00000 n 
+0002918480 00000 n 
+0002918632 00000 n 
+0002918785 00000 n 
+0002918937 00000 n 
+0002919088 00000 n 
+0002919241 00000 n 
+0002919394 00000 n 
+0002919547 00000 n 
+0002919699 00000 n 
+0002919852 00000 n 
+0002920005 00000 n 
+0002920155 00000 n 
+0002920308 00000 n 
+0002920461 00000 n 
+0002920614 00000 n 
+0002920766 00000 n 
+0002920916 00000 n 
+0002921069 00000 n 
+0002921222 00000 n 
+0002921375 00000 n 
+0002921527 00000 n 
+0002921679 00000 n 
+0002921830 00000 n 
+0002921983 00000 n 
+0002922133 00000 n 
+0002922283 00000 n 
+0002922433 00000 n 
+0002922584 00000 n 
+0002922734 00000 n 
+0002922884 00000 n 
+0002923034 00000 n 
+0002923184 00000 n 
+0002923334 00000 n 
+0002923484 00000 n 
+0002923637 00000 n 
+0002923790 00000 n 
+0002923941 00000 n 
+0002924094 00000 n 
+0002924245 00000 n 
+0002924397 00000 n 
+0002924549 00000 n 
+0002924699 00000 n 
+0002924849 00000 n 
+0002927424 00000 n 
+0002925000 00000 n 
+0002925236 00000 n 
+0002914813 00000 n 
+0002913547 00000 n 
+0002925175 00000 n 
+0002927575 00000 n 
+0002927728 00000 n 
+0002927881 00000 n 
+0002928034 00000 n 
+0002928187 00000 n 
+0002928338 00000 n 
+0002928490 00000 n 
+0002928643 00000 n 
+0002928796 00000 n 
+0002928949 00000 n 
+0002929102 00000 n 
+0002929255 00000 n 
+0002929408 00000 n 
+0002929560 00000 n 
+0002929713 00000 n 
+0002929866 00000 n 
+0002930017 00000 n 
+0002930170 00000 n 
+0002930323 00000 n 
+0002930476 00000 n 
+0002930628 00000 n 
+0002930780 00000 n 
+0002930933 00000 n 
+0002931086 00000 n 
+0002931238 00000 n 
+0002931390 00000 n 
+0002931542 00000 n 
+0002931695 00000 n 
+0002931848 00000 n 
+0002932001 00000 n 
+0002932154 00000 n 
+0002932305 00000 n 
+0002932458 00000 n 
+0002932611 00000 n 
+0002932764 00000 n 
+0002932917 00000 n 
+0002933070 00000 n 
+0002933223 00000 n 
+0002933375 00000 n 
+0002933527 00000 n 
+0002933680 00000 n 
+0002933833 00000 n 
+0002933986 00000 n 
+0002934139 00000 n 
+0002934291 00000 n 
+0002934444 00000 n 
+0002934597 00000 n 
+0002934750 00000 n 
+0002934900 00000 n 
+0002935050 00000 n 
+0002935202 00000 n 
+0002935355 00000 n 
+0002935508 00000 n 
+0002935661 00000 n 
+0002935814 00000 n 
+0002935966 00000 n 
+0002936119 00000 n 
+0002936272 00000 n 
+0002936425 00000 n 
+0002936578 00000 n 
+0002936731 00000 n 
+0002936884 00000 n 
+0002939244 00000 n 
+0002937037 00000 n 
+0002937273 00000 n 
+0002926645 00000 n 
+0002925336 00000 n 
+0002937212 00000 n 
+0002939395 00000 n 
+0002939548 00000 n 
+0002939701 00000 n 
+0002939852 00000 n 
+0002940004 00000 n 
+0002940156 00000 n 
+0002940308 00000 n 
+0002940461 00000 n 
+0002940612 00000 n 
+0002940764 00000 n 
+0002940916 00000 n 
+0002941068 00000 n 
+0002941220 00000 n 
+0002941373 00000 n 
+0002941526 00000 n 
+0002941679 00000 n 
+0002941830 00000 n 
+0002941983 00000 n 
+0002942136 00000 n 
+0002942288 00000 n 
+0002942441 00000 n 
+0002942594 00000 n 
+0002942744 00000 n 
+0002942897 00000 n 
+0002943050 00000 n 
+0002943203 00000 n 
+0002943356 00000 n 
+0002943508 00000 n 
+0002943660 00000 n 
+0002943812 00000 n 
+0002943962 00000 n 
+0002944112 00000 n 
+0002944262 00000 n 
+0002944411 00000 n 
+0002944560 00000 n 
+0002944709 00000 n 
+0002944859 00000 n 
+0002945009 00000 n 
+0002945159 00000 n 
+0002945309 00000 n 
+0002945459 00000 n 
+0002945609 00000 n 
+0002945759 00000 n 
+0002945908 00000 n 
+0002946057 00000 n 
+0002946206 00000 n 
+0002946356 00000 n 
+0002946506 00000 n 
+0002946656 00000 n 
+0002946806 00000 n 
+0002946956 00000 n 
+0002947106 00000 n 
+0002947256 00000 n 
+0002947406 00000 n 
+0002947556 00000 n 
+0002947709 00000 n 
+0002947862 00000 n 
+0002948011 00000 n 
+0002948247 00000 n 
+0002938515 00000 n 
+0002937373 00000 n 
+0002948186 00000 n 
+0003231062 00000 n 
+0002949450 00000 n 
+0002949602 00000 n 
+0002949754 00000 n 
+0002949905 00000 n 
+0002950056 00000 n 
+0002950207 00000 n 
+0002950359 00000 n 
+0002950511 00000 n 
+0002950663 00000 n 
+0002950815 00000 n 
+0002950967 00000 n 
+0002951119 00000 n 
+0002951271 00000 n 
+0002951424 00000 n 
+0002951577 00000 n 
+0002951730 00000 n 
+0002951881 00000 n 
+0002952034 00000 n 
+0002952187 00000 n 
+0002952340 00000 n 
+0002952492 00000 n 
+0002952644 00000 n 
+0002952880 00000 n 
+0002949091 00000 n 
+0002948347 00000 n 
+0002952819 00000 n 
+0002952980 00000 n 
+0002953023 00000 n 
+0002953151 00000 n 
+0002953178 00000 n 
+0002953319 00000 n 
+0003213827 00000 n 
+0002953424 00000 n 
+0002953777 00000 n 
+0002954235 00000 n 
+0002954866 00000 n 
+0002954905 00000 n 
+0002955052 00000 n 
+0002955527 00000 n 
+0002955675 00000 n 
+0002956004 00000 n 
+0002956043 00000 n 
+0002956520 00000 n 
+0002956877 00000 n 
+0002956904 00000 n 
+0002957541 00000 n 
+0002957643 00000 n 
+0002957923 00000 n 
+0002957952 00000 n 
+0002958112 00000 n 
+0002958367 00000 n 
+0002958966 00000 n 
+0002959659 00000 n 
+0002960142 00000 n 
+0002960813 00000 n 
+0002961397 00000 n 
+0002961583 00000 n 
+0002962481 00000 n 
+0002963128 00000 n 
+0002963521 00000 n 
+0002964097 00000 n 
+0002964790 00000 n 
+0002964829 00000 n 
+0002965491 00000 n 
+0002966391 00000 n 
+0002968237 00000 n 
+0002968470 00000 n 
+0002974890 00000 n 
+0002975529 00000 n 
+0002986995 00000 n 
+0002987392 00000 n 
+0002989209 00000 n 
+0002989446 00000 n 
+0002992000 00000 n 
+0002992230 00000 n 
+0002995008 00000 n 
+0002995240 00000 n 
+0003001009 00000 n 
+0003001285 00000 n 
+0003003101 00000 n 
+0003003337 00000 n 
+0003006472 00000 n 
+0003006755 00000 n 
+0003010798 00000 n 
+0003011048 00000 n 
+0003012960 00000 n 
+0003013184 00000 n 
+0003023355 00000 n 
+0003023765 00000 n 
+0003025899 00000 n 
+0003026136 00000 n 
+0003030334 00000 n 
+0003030595 00000 n 
+0003037013 00000 n 
+0003037337 00000 n 
+0003041847 00000 n 
+0003042144 00000 n 
+0003050934 00000 n 
+0003051598 00000 n 
+0003053033 00000 n 
+0003053282 00000 n 
+0003055832 00000 n 
+0003056107 00000 n 
+0003058221 00000 n 
+0003058509 00000 n 
+0003060529 00000 n 
+0003060777 00000 n 
+0003062486 00000 n 
+0003062753 00000 n 
+0003064726 00000 n 
+0003064955 00000 n 
+0003067842 00000 n 
+0003068077 00000 n 
+0003071108 00000 n 
+0003071342 00000 n 
+0003073386 00000 n 
+0003073611 00000 n 
+0003075491 00000 n 
+0003075731 00000 n 
+0003080112 00000 n 
+0003080356 00000 n 
+0003088834 00000 n 
+0003089128 00000 n 
+0003100185 00000 n 
+0003100544 00000 n 
+0003120421 00000 n 
+0003121059 00000 n 
+0003134408 00000 n 
+0003134822 00000 n 
+0003154182 00000 n 
+0003154741 00000 n 
+0003170848 00000 n 
+0003171257 00000 n 
+0003193557 00000 n 
+0003194260 00000 n 
+0003213247 00000 n 
+0003231155 00000 n 
+0003231277 00000 n 
+0003231405 00000 n 
+0003231533 00000 n 
+0003231661 00000 n 
+0003231789 00000 n 
+0003231917 00000 n 
+0003232045 00000 n 
+0003232173 00000 n 
+0003232301 00000 n 
+0003232429 00000 n 
+0003232557 00000 n 
+0003232687 00000 n 
+0003232821 00000 n 
+0003232955 00000 n 
+0003233059 00000 n 
+0003233194 00000 n 
+0003233329 00000 n 
+0003233433 00000 n 
+0003233520 00000 n 
+0003241801 00000 n 
+0003241972 00000 n 
+0003242316 00000 n 
+0003243054 00000 n 
+0003243792 00000 n 
+0003244530 00000 n 
+0003245268 00000 n 
+0003246006 00000 n 
+0003246744 00000 n 
+0003247482 00000 n 
+0003248220 00000 n 
+0003248958 00000 n 
+0003249696 00000 n 
+0003250434 00000 n 
+0003251172 00000 n 
+0003251910 00000 n 
+0003252648 00000 n 
+0003253386 00000 n 
+0003254124 00000 n 
+0003254862 00000 n 
+0003255600 00000 n 
+0003256363 00000 n 
+0003257066 00000 n 
+0003257756 00000 n 
+0003258446 00000 n 
+0003259136 00000 n 
+0003259826 00000 n 
+0003260516 00000 n 
+0003261206 00000 n 
+0003261896 00000 n 
+0003262586 00000 n 
+0003263276 00000 n 
+0003263966 00000 n 
+0003264656 00000 n 
+0003265346 00000 n 
+0003266036 00000 n 
+0003266726 00000 n 
+0003267416 00000 n 
+0003268106 00000 n 
+0003268796 00000 n 
+0003269486 00000 n 
+0003270187 00000 n 
+0003270957 00000 n 
+0003271727 00000 n 
+0003272475 00000 n 
+0003273261 00000 n 
+0003274047 00000 n 
+0003274833 00000 n 
+0003275619 00000 n 
+0003276405 00000 n 
+0003277191 00000 n 
+0003277977 00000 n 
+0003278763 00000 n 
+0003279549 00000 n 
+0003280335 00000 n 
+0003281121 00000 n 
+0003281907 00000 n 
+0003282693 00000 n 
+0003283479 00000 n 
+0003284265 00000 n 
+0003285051 00000 n 
+0003285837 00000 n 
+0003286545 00000 n 
+0003287367 00000 n 
+0003288329 00000 n 
+0003289139 00000 n 
+0003289949 00000 n 
+0003290759 00000 n 
+0003291569 00000 n 
+0003292379 00000 n 
+0003293189 00000 n 
+0003293935 00000 n 
+0003294681 00000 n 
+0003295427 00000 n 
+0003296173 00000 n 
+0003296919 00000 n 
+0003297665 00000 n 
+0003298413 00000 n 
+0003299182 00000 n 
+0003300144 00000 n 
+0003301030 00000 n 
+0003301840 00000 n 
+0003302650 00000 n 
+0003303460 00000 n 
+0003304270 00000 n 
+0003305040 00000 n 
+0003305786 00000 n 
+0003306532 00000 n 
+0003307278 00000 n 
+0003308024 00000 n 
+0003308770 00000 n 
+0003309516 00000 n 
+0003310361 00000 n 
+0003311107 00000 n 
+0003311809 00000 n 
+0003312573 00000 n 
+0003313327 00000 n 
+0003314081 00000 n 
+0003314835 00000 n 
+0003315589 00000 n 
+0003316255 00000 n 
+0003317017 00000 n 
+0003317779 00000 n 
+0003318455 00000 n 
+0003319409 00000 n 
+0003320306 00000 n 
+0003321108 00000 n 
+0003321910 00000 n 
+0003322712 00000 n 
+0003323498 00000 n 
+0003324236 00000 n 
+0003324974 00000 n 
+0003325877 00000 n 
+0003326615 00000 n 
+0003327353 00000 n 
+0003328091 00000 n 
+0003328829 00000 n 
+0003329525 00000 n 
+0003330235 00000 n 
+0003331169 00000 n 
+0003332133 00000 n 
+0003332983 00000 n 
+0003333833 00000 n 
+0003334683 00000 n 
+0003335533 00000 n 
+0003336383 00000 n 
+0003337201 00000 n 
+0003338053 00000 n 
+0003338938 00000 n 
+0003339724 00000 n 
+0003340510 00000 n 
+0003341296 00000 n 
+0003342082 00000 n 
+0003342824 00000 n 
+0003343522 00000 n 
+0003344220 00000 n 
+0003344918 00000 n 
+0003345616 00000 n 
+0003346314 00000 n 
+0003347012 00000 n 
+0003347710 00000 n 
+0003348408 00000 n 
+0003349106 00000 n 
+0003349804 00000 n 
+0003350502 00000 n 
+0003351200 00000 n 
+0003351898 00000 n 
+0003352596 00000 n 
+0003353294 00000 n 
+0003353992 00000 n 
+0003354690 00000 n 
+0003355413 00000 n 
+0003356122 00000 n 
+0003356852 00000 n 
+0003357582 00000 n 
+0003358318 00000 n 
+0003359128 00000 n 
+0003359938 00000 n 
+0003360748 00000 n 
+0003361558 00000 n 
+0003362368 00000 n 
+0003363178 00000 n 
+0003363988 00000 n 
+0003364798 00000 n 
+0003365550 00000 n 
+0003366378 00000 n 
+0003367140 00000 n 
+0003367902 00000 n 
+0003368664 00000 n 
+0003369426 00000 n 
+0003370320 00000 n 
+0003371082 00000 n 
+0003371824 00000 n 
+0003372610 00000 n 
+0003373396 00000 n 
+0003374140 00000 n 
+0003374893 00000 n 
+0003375687 00000 n 
+0003376481 00000 n 
+0003377275 00000 n 
+0003378069 00000 n 
+0003378863 00000 n 
+0003379657 00000 n 
+0003380451 00000 n 
+0003381245 00000 n 
+0003382039 00000 n 
+0003382833 00000 n 
+0003383627 00000 n 
+0003384421 00000 n 
+0003385215 00000 n 
+0003386009 00000 n 
+0003386803 00000 n 
+0003387597 00000 n 
+0003388391 00000 n 
+0003389163 00000 n 
+0003389981 00000 n 
+0003390799 00000 n 
+0003391592 00000 n 
+0003392354 00000 n 
+0003393116 00000 n 
+0003393878 00000 n 
+0003394805 00000 n 
+0003395633 00000 n 
+0003396395 00000 n 
+0003397151 00000 n 
+0003397969 00000 n 
+0003398787 00000 n 
+0003399605 00000 n 
+0003400439 00000 n 
+0003401425 00000 n 
+0003402361 00000 n 
+0003403147 00000 n 
+0003403933 00000 n 
+0003404719 00000 n 
+0003405505 00000 n 
+0003406291 00000 n 
+0003407032 00000 n 
+0003407914 00000 n 
+0003408796 00000 n 
+0003409678 00000 n 
+0003410560 00000 n 
+0003411442 00000 n 
+0003412324 00000 n 
+0003413206 00000 n 
+0003414088 00000 n 
+0003414970 00000 n 
+0003415852 00000 n 
+0003416734 00000 n 
+0003417616 00000 n 
+0003418498 00000 n 
+0003419380 00000 n 
+0003420262 00000 n 
+0003421144 00000 n 
+0003421939 00000 n 
+0003422754 00000 n 
+0003423566 00000 n 
+0003424380 00000 n 
+0003425195 00000 n 
+0003426008 00000 n 
+0003426821 00000 n 
+0003427634 00000 n 
+0003428448 00000 n 
+0003429261 00000 n 
+0003430074 00000 n 
+0003430889 00000 n 
+0003431701 00000 n 
+0003432516 00000 n 
+0003433329 00000 n 
+0003434142 00000 n 
+0003434924 00000 n 
+0003435748 00000 n 
+0003436572 00000 n 
+0003437361 00000 n 
+0003438185 00000 n 
+0003438938 00000 n 
+0003439690 00000 n 
+0003440442 00000 n 
+0003441194 00000 n 
+0003441946 00000 n 
+0003442698 00000 n 
+0003443450 00000 n 
+0003444202 00000 n 
+0003444954 00000 n 
+0003445706 00000 n 
+0003446458 00000 n 
+0003447210 00000 n 
+0003447962 00000 n 
+0003448714 00000 n 
+0003449466 00000 n 
+0003450218 00000 n 
+0003450970 00000 n 
+0003451722 00000 n 
+0003452431 00000 n 
+0003453167 00000 n 
+0003453903 00000 n 
+0003454639 00000 n 
+0003455375 00000 n 
+0003456111 00000 n 
+0003456847 00000 n 
+0003457583 00000 n 
+0003458319 00000 n 
+0003459075 00000 n 
+0003459734 00000 n 
+0003460469 00000 n 
+0003461205 00000 n 
+0003461920 00000 n 
+0003462704 00000 n 
+0003463366 00000 n 
+0003463976 00000 n 
+0003464586 00000 n 
+0003465196 00000 n 
+0003466078 00000 n 
+0003466960 00000 n 
+0003467842 00000 n 
+0003468724 00000 n 
+0003469606 00000 n 
+0003470488 00000 n 
+0003471370 00000 n 
+0003472252 00000 n 
+0003473134 00000 n 
+0003474016 00000 n 
+0003474524 00000 n 
+0003474839 00000 n 
+0003475051 00000 n 
+0003475277 00000 n 
+0003475483 00000 n 
+0003475687 00000 n 
+0003475897 00000 n 
+0003476105 00000 n 
+0003476370 00000 n 
+0003476618 00000 n 
+0003476885 00000 n 
+0003477218 00000 n 
+0003477629 00000 n 
+0003477924 00000 n 
+0003478203 00000 n 
+0003478536 00000 n 
+0003478887 00000 n 
+0003479198 00000 n 
+0003479454 00000 n 
+0003479654 00000 n 
+0003480004 00000 n 
+0003480212 00000 n 
+0003480527 00000 n 
+0003480748 00000 n 
+0003480968 00000 n 
+0003481450 00000 n 
+0003481789 00000 n 
+0003482046 00000 n 
+0003482315 00000 n 
+0003482673 00000 n 
+0003482990 00000 n 
+0003483298 00000 n 
+0003483643 00000 n 
+0003483938 00000 n 
+0003484219 00000 n 
+0003484499 00000 n 
+0003484795 00000 n 
+0003485328 00000 n 
+0003485994 00000 n 
+0003486825 00000 n 
+0003487755 00000 n 
+0003488553 00000 n 
+0003489219 00000 n 
+0003489885 00000 n 
+0003490551 00000 n 
+0003491217 00000 n 
+0003491883 00000 n 
+0003492549 00000 n 
+0003493347 00000 n 
+0003494211 00000 n 
+0003495009 00000 n 
+0003495494 00000 n 
+0003495677 00000 n 
+0003495860 00000 n 
+0003496046 00000 n 
+0003496230 00000 n 
+0003496416 00000 n 
+0003496600 00000 n 
+0003496786 00000 n 
+0003496970 00000 n 
+0003497156 00000 n 
+0003497340 00000 n 
+0003497526 00000 n 
+0003497709 00000 n 
+0003497892 00000 n 
+0003498078 00000 n 
+0003498262 00000 n 
+0003498448 00000 n 
+0003498632 00000 n 
+0003498818 00000 n 
+0003498999 00000 n 
+0003499185 00000 n 
+0003499369 00000 n 
+0003499555 00000 n 
+0003499739 00000 n 
+0003499925 00000 n 
+0003500108 00000 n 
+0003500291 00000 n 
+0003500477 00000 n 
+0003500661 00000 n 
+0003500847 00000 n 
+0003501031 00000 n 
+0003501217 00000 n 
+0003501401 00000 n 
+0003501587 00000 n 
+0003501771 00000 n 
+0003501957 00000 n 
+0003502140 00000 n 
+0003502321 00000 n 
+0003502504 00000 n 
+0003502687 00000 n 
+0003502873 00000 n 
+0003503057 00000 n 
+0003503243 00000 n 
+0003503427 00000 n 
+0003503613 00000 n 
+0003503798 00000 n 
+0003503984 00000 n 
+0003504169 00000 n 
+0003504355 00000 n 
+0003504539 00000 n 
+0003504723 00000 n 
+0003504909 00000 n 
+0003505094 00000 n 
+0003505280 00000 n 
+0003505465 00000 n 
+0003505651 00000 n 
+0003505833 00000 n 
+0003506019 00000 n 
+0003506204 00000 n 
+0003506395 00000 n 
+0003506585 00000 n 
+0003506777 00000 n 
+0003506966 00000 n 
+0003507155 00000 n 
+0003507347 00000 n 
+0003507537 00000 n 
+0003507729 00000 n 
+0003507919 00000 n 
+0003508111 00000 n 
+0003508301 00000 n 
+0003508493 00000 n 
+0003508683 00000 n 
+0003508875 00000 n 
+0003509064 00000 n 
+0003509250 00000 n 
+0003509439 00000 n 
+0003509628 00000 n 
+0003509817 00000 n 
+0003509995 00000 n 
+0003510171 00000 n 
+0003510349 00000 n 
+0003510524 00000 n 
+0003510699 00000 n 
+0003510877 00000 n 
+0003511053 00000 n 
+0003511231 00000 n 
+0003511407 00000 n 
+0003511664 00000 n 
+0003511936 00000 n 
+0003512210 00000 n 
+0003512484 00000 n 
+0003512758 00000 n 
+0003513032 00000 n 
+0003513309 00000 n 
+0003513591 00000 n 
+0003513872 00000 n 
+0003514150 00000 n 
+0003514424 00000 n 
+0003514693 00000 n 
+0003514959 00000 n 
+0003515233 00000 n 
+0003515506 00000 n 
+0003515780 00000 n 
+0003516053 00000 n 
+0003516327 00000 n 
+0003516600 00000 n 
+0003516874 00000 n 
+0003517147 00000 n 
+0003517421 00000 n 
+0003517689 00000 n 
+0003517956 00000 n 
+0003518225 00000 n 
+0003518499 00000 n 
+0003518773 00000 n 
+0003519049 00000 n 
+0003519323 00000 n 
+0003519600 00000 n 
+0003519882 00000 n 
+0003520158 00000 n 
+0003520435 00000 n 
+0003520711 00000 n 
+0003520988 00000 n 
+0003521270 00000 n 
+0003521551 00000 n 
+0003521833 00000 n 
+0003522114 00000 n 
+0003522396 00000 n 
+0003522676 00000 n 
+0003522956 00000 n 
+0003523238 00000 n 
+0003523519 00000 n 
+0003523795 00000 n 
+0003524069 00000 n 
+0003524343 00000 n 
+0003524617 00000 n 
+0003524890 00000 n 
+0003525164 00000 n 
+0003525438 00000 n 
+0003525718 00000 n 
+0003525998 00000 n 
+0003526280 00000 n 
+0003526557 00000 n 
+0003526831 00000 n 
+0003527108 00000 n 
+0003527384 00000 n 
+0003527658 00000 n 
+0003527936 00000 n 
+0003528210 00000 n 
+0003528483 00000 n 
+0003528751 00000 n 
+0003529020 00000 n 
+0003529294 00000 n 
+0003529567 00000 n 
+0003529841 00000 n 
+0003530114 00000 n 
+0003530388 00000 n 
+0003530660 00000 n 
+0003530932 00000 n 
+0003531206 00000 n 
+0003531479 00000 n 
+0003531747 00000 n 
+0003532013 00000 n 
+0003532286 00000 n 
+0003532560 00000 n 
+0003532842 00000 n 
+0003533123 00000 n 
+0003533405 00000 n 
+0003533686 00000 n 
+0003533968 00000 n 
+0003534249 00000 n 
+0003534531 00000 n 
+0003534812 00000 n 
+0003535094 00000 n 
+0003535369 00000 n 
+0003535645 00000 n 
+0003535922 00000 n 
+0003536198 00000 n 
+0003536475 00000 n 
+0003536757 00000 n 
+0003537038 00000 n 
+0003537320 00000 n 
+0003537601 00000 n 
+0003537883 00000 n 
+0003538163 00000 n 
+0003538441 00000 n 
+0003538715 00000 n 
+0003538991 00000 n 
+0003539267 00000 n 
+0003539541 00000 n 
+0003539815 00000 n 
+0003540091 00000 n 
+0003540371 00000 n 
+0003540656 00000 n 
+0003540944 00000 n 
+0003541230 00000 n 
+0003541516 00000 n 
+0003541804 00000 n 
+0003542091 00000 n 
+0003542379 00000 n 
+0003542666 00000 n 
+0003542946 00000 n 
+0003543226 00000 n 
+0003543506 00000 n 
+0003543786 00000 n 
+0003544068 00000 n 
+0003544356 00000 n 
+0003544643 00000 n 
+0003544931 00000 n 
+0003545218 00000 n 
+0003545506 00000 n 
+0003545793 00000 n 
+0003546081 00000 n 
+0003546367 00000 n 
+0003546653 00000 n 
+0003546938 00000 n 
+0003547215 00000 n 
+0003547485 00000 n 
+0003547751 00000 n 
+0003548031 00000 n 
+0003548311 00000 n 
+0003548591 00000 n 
+0003548865 00000 n 
+0003549139 00000 n 
+0003549412 00000 n 
+0003549686 00000 n 
+0003549959 00000 n 
+0003550233 00000 n 
+0003550505 00000 n 
+0003550775 00000 n 
+0003551036 00000 n 
+0003551297 00000 n 
+0003551555 00000 n 
+0003551813 00000 n 
+0003552075 00000 n 
+0003552333 00000 n 
+0003552562 00000 n 
+0003552780 00000 n 
+0003552997 00000 n 
+0003553215 00000 n 
+0003553432 00000 n 
+0003553650 00000 n 
+0003553866 00000 n 
+0003554082 00000 n 
+0003554300 00000 n 
+0003554517 00000 n 
+0003554735 00000 n 
+0003554952 00000 n 
+0003555170 00000 n 
+0003555389 00000 n 
+0003555613 00000 n 
+0003555835 00000 n 
+0003556059 00000 n 
+0003556280 00000 n 
+0003556499 00000 n 
+0003556720 00000 n 
+0003556937 00000 n 
+0003557147 00000 n 
+0003557355 00000 n 
+0003557563 00000 n 
+0003557773 00000 n 
+0003557982 00000 n 
+0003558192 00000 n 
+0003558401 00000 n 
+0003558611 00000 n 
+0003558820 00000 n 
+0003559030 00000 n 
+0003559239 00000 n 
+0003559449 00000 n 
+0003559657 00000 n 
+0003559860 00000 n 
+0003560045 00000 n 
+0003560490 00000 n 
+0003561215 00000 n 
+0003561714 00000 n 
+0003561942 00000 n 
+0003562164 00000 n 
+0003562402 00000 n 
+0003562646 00000 n 
+0003562888 00000 n 
+0003563130 00000 n 
+0003563374 00000 n 
+0003563617 00000 n 
+0003563861 00000 n 
+0003564104 00000 n 
+0003564346 00000 n 
+0003564575 00000 n 
+0003564813 00000 n 
+0003565086 00000 n 
+0003565362 00000 n 
+0003565638 00000 n 
+0003565914 00000 n 
+0003566182 00000 n 
+0003566451 00000 n 
+0003566721 00000 n 
+0003566997 00000 n 
+0003567269 00000 n 
+0003567537 00000 n 
+0003567805 00000 n 
+0003568073 00000 n 
+0003568354 00000 n 
+0003568644 00000 n 
+0003568934 00000 n 
+0003569224 00000 n 
+0003569510 00000 n 
+0003569798 00000 n 
+0003570088 00000 n 
+0003570378 00000 n 
+0003570668 00000 n 
+0003570956 00000 n 
+0003571244 00000 n 
+0003571534 00000 n 
+0003571824 00000 n 
+0003572112 00000 n 
+0003572398 00000 n 
+0003572688 00000 n 
+0003572978 00000 n 
+0003573269 00000 n 
+0003573565 00000 n 
+0003573858 00000 n 
+0003574149 00000 n 
+0003574445 00000 n 
+0003574741 00000 n 
+0003575026 00000 n 
+0003575302 00000 n 
+0003575576 00000 n 
+0003575771 00000 n 
+0003576034 00000 n 
+0003576297 00000 n 
+0003576554 00000 n 
+0003576805 00000 n 
+0003577056 00000 n 
+0003577317 00000 n 
+0003577590 00000 n 
+0003577865 00000 n 
+0003578140 00000 n 
+0003578418 00000 n 
+0003578691 00000 n 
+0003578983 00000 n 
+0003579283 00000 n 
+0003579556 00000 n 
+0003579822 00000 n 
+0003580090 00000 n 
+0003580364 00000 n 
+0003580635 00000 n 
+0003580912 00000 n 
+0003581195 00000 n 
+0003581470 00000 n 
+0003581734 00000 n 
+0003581987 00000 n 
+0003582240 00000 n 
+0003582507 00000 n 
+0003582788 00000 n 
+0003583063 00000 n 
+0003583335 00000 n 
+0003583611 00000 n 
+0003583888 00000 n 
+0003584165 00000 n 
+0003584438 00000 n 
+0003584714 00000 n 
+0003584993 00000 n 
+0003585246 00000 n 
+0003585545 00000 n 
+0003585844 00000 n 
+0003586134 00000 n 
+0003586415 00000 n 
+0003586696 00000 n 
+0003586978 00000 n 
+0003587252 00000 n 
+0003587517 00000 n 
+0003587782 00000 n 
+0003588045 00000 n 
+0003588272 00000 n 
+0003588518 00000 n 
+0003588783 00000 n 
+0003589082 00000 n 
+0003589297 00000 n 
+0003589438 00000 n 
+0003589607 00000 n 
+0003589760 00000 n 
+0003589929 00000 n 
+0003590064 00000 n 
+0003590265 00000 n 
+0003590510 00000 n 
+0003590694 00000 n 
+0003590819 00000 n 
+0003590944 00000 n 
+0003591069 00000 n 
+0003591193 00000 n 
+0003591318 00000 n 
+0003591443 00000 n 
+0003591568 00000 n 
+0003591692 00000 n 
+0003591817 00000 n 
+0003591942 00000 n 
+0003592067 00000 n 
+0003592190 00000 n 
+0003592313 00000 n 
+0003592436 00000 n 
+0003592581 00000 n 
+0003592727 00000 n 
+0003592873 00000 n 
+0003593019 00000 n 
+0003593166 00000 n 
+0003593315 00000 n 
+0003593463 00000 n 
+0003593611 00000 n 
+0003593759 00000 n 
+0003593907 00000 n 
+0003594054 00000 n 
+0003594201 00000 n 
+0003594349 00000 n 
+0003594498 00000 n 
+0003594646 00000 n 
+0003594794 00000 n 
+0003594941 00000 n 
+0003595089 00000 n 
+0003595237 00000 n 
+0003595385 00000 n 
+0003595534 00000 n 
+0003595682 00000 n 
+0003595829 00000 n 
+0003595975 00000 n 
+0003596113 00000 n 
+0003596245 00000 n 
+0003596378 00000 n 
+0003596511 00000 n 
+0003596643 00000 n 
+0003596774 00000 n 
+0003596952 00000 n 
+0003597150 00000 n 
+0003597290 00000 n 
+0003597434 00000 n 
+0003597581 00000 n 
+0003597730 00000 n 
+0003597880 00000 n 
+0003598030 00000 n 
+0003598181 00000 n 
+0003598310 00000 n 
+0003598499 00000 n 
+0003598757 00000 n 
+0003599029 00000 n 
+0003599295 00000 n 
+0003599560 00000 n 
+0003599814 00000 n 
+0003600105 00000 n 
+0003600362 00000 n 
+0003600541 00000 n 
+0003600669 00000 n 
+0003600794 00000 n 
+0003600918 00000 n 
+0003601053 00000 n 
+0003601201 00000 n 
+0003601348 00000 n 
+0003601495 00000 n 
+0003601634 00000 n 
+0003601773 00000 n 
+0003601910 00000 n 
+0003602089 00000 n 
+0003602300 00000 n 
+0003602434 00000 n 
+0003602531 00000 n 
+0003602648 00000 n 
+0003602690 00000 n 
+0003602894 00000 n 
+trailer
+<< /Size 14427
+/Root 14425 0 R
+/Info 14426 0 R
+/ID [<A15AEAC42FFD77D56E82E4A144F0E17A> <A15AEAC42FFD77D56E82E4A144F0E17A>] >>
+startxref
+3603227
+%%EOF
diff --git a/doc/ppl-user-0.11.ps.gz b/doc/ppl-user-0.11.ps.gz
new file mode 100644
index 0000000..d41e6f5
Binary files /dev/null and b/doc/ppl-user-0.11.ps.gz differ
diff --git a/doc/ppl-user-c-interface-0.10.2-html.tar.gz b/doc/ppl-user-c-interface-0.10.2-html.tar.gz
deleted file mode 100644
index 8243722..0000000
Binary files a/doc/ppl-user-c-interface-0.10.2-html.tar.gz and /dev/null differ
diff --git a/doc/ppl-user-c-interface-0.10.2.pdf b/doc/ppl-user-c-interface-0.10.2.pdf
deleted file mode 100644
index 70529af..0000000
--- a/doc/ppl-user-c-interface-0.10.2.pdf
+++ /dev/null
@@ -1,21645 +0,0 @@
-%PDF-1.4
-%����
-5 0 obj
-<< /S /GoTo /D (section.1) >>
-endobj
-8 0 obj
-(\376\377\000M\000a\000i\000n\000\040\000P\000a\000g\000e)
-endobj
-9 0 obj
-<< /S /GoTo /D (section.2) >>
-endobj
-12 0 obj
-(\376\377\000G\000N\000U\000\040\000G\000e\000n\000e\000r\000a\000l\000\040\000P\000u\000b\000l\000i\000c\000\040\000L\000i\000c\000e\000n\000s\000e)
-endobj
-13 0 obj
-<< /S /GoTo /D (section.3) >>
-endobj
-16 0 obj
-(\376\377\000G\000N\000U\000\040\000F\000r\000e\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\040\000L\000i\000c\000e\000n\000s\000e)
-endobj
-17 0 obj
-<< /S /GoTo /D (section.4) >>
-endobj
-20 0 obj
-(\376\377\000M\000o\000d\000u\000l\000e\000\040\000I\000n\000d\000e\000x)
-endobj
-21 0 obj
-<< /S /GoTo /D (subsection.4.1) >>
-endobj
-24 0 obj
-(\376\377\000M\000o\000d\000u\000l\000e\000s)
-endobj
-25 0 obj
-<< /S /GoTo /D (section.5) >>
-endobj
-28 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000I\000n\000d\000e\000x)
-endobj
-29 0 obj
-<< /S /GoTo /D (subsection.5.1) >>
-endobj
-32 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000L\000i\000s\000t)
-endobj
-33 0 obj
-<< /S /GoTo /D (section.6) >>
-endobj
-36 0 obj
-(\376\377\000M\000o\000d\000u\000l\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
-endobj
-37 0 obj
-<< /S /GoTo /D (subsection.6.1) >>
-endobj
-40 0 obj
-(\376\377\000C\000\040\000L\000a\000n\000g\000u\000a\000g\000e\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e)
-endobj
-41 0 obj
-<< /S /GoTo /D (subsection.6.2) >>
-endobj
-44 0 obj
-(\376\377\000L\000i\000b\000r\000a\000r\000y\000\040\000I\000n\000i\000t\000i\000a\000l\000i\000z\000a\000t\000i\000o\000n\000\040\000a\000n\000d\000\040\000F\000i\000n\000a\000l\000i\000z\000a\000t\000i\000o\000n)
-endobj
-45 0 obj
-<< /S /GoTo /D (subsection.6.3) >>
-endobj
-48 0 obj
-(\376\377\000V\000e\000r\000s\000i\000o\000n\000\040\000C\000h\000e\000c\000k\000i\000n\000g)
-endobj
-49 0 obj
-<< /S /GoTo /D (subsection.6.4) >>
-endobj
-52 0 obj
-(\376\377\000E\000r\000r\000o\000r\000\040\000H\000a\000n\000d\000l\000i\000n\000g)
-endobj
-53 0 obj
-<< /S /GoTo /D (subsection.6.5) >>
-endobj
-56 0 obj
-(\376\377\000L\000i\000b\000r\000a\000r\000y\000\040\000D\000a\000t\000a\000t\000y\000p\000e\000s)
-endobj
-57 0 obj
-<< /S /GoTo /D (section.7) >>
-endobj
-60 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
-endobj
-61 0 obj
-<< /S /GoTo /D (subsection.7.1) >>
-endobj
-64 0 obj
-(\376\377\000p\000p\000l\000\137\000C\000o\000e\000f\000f\000i\000c\000i\000e\000n\000t\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-65 0 obj
-<< /S /GoTo /D (subsection.7.2) >>
-endobj
-68 0 obj
-(\376\377\000p\000p\000l\000\137\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\137\000S\000y\000s\000t\000e\000m\000\137\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-69 0 obj
-<< /S /GoTo /D (subsection.7.3) >>
-endobj
-72 0 obj
-(\376\377\000p\000p\000l\000\137\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\137\000S\000y\000s\000t\000e\000m\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-73 0 obj
-<< /S /GoTo /D (subsection.7.4) >>
-endobj
-76 0 obj
-(\376\377\000p\000p\000l\000\137\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-77 0 obj
-<< /S /GoTo /D (subsection.7.5) >>
-endobj
-80 0 obj
-(\376\377\000p\000p\000l\000\137\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\137\000S\000y\000s\000t\000e\000m\000\137\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-81 0 obj
-<< /S /GoTo /D (subsection.7.6) >>
-endobj
-84 0 obj
-(\376\377\000p\000p\000l\000\137\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\137\000S\000y\000s\000t\000e\000m\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-85 0 obj
-<< /S /GoTo /D (subsection.7.7) >>
-endobj
-88 0 obj
-(\376\377\000p\000p\000l\000\137\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-89 0 obj
-<< /S /GoTo /D (subsection.7.8) >>
-endobj
-92 0 obj
-(\376\377\000p\000p\000l\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\137\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-93 0 obj
-<< /S /GoTo /D (subsection.7.9) >>
-endobj
-96 0 obj
-(\376\377\000p\000p\000l\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-97 0 obj
-<< /S /GoTo /D (subsection.7.10) >>
-endobj
-100 0 obj
-(\376\377\000p\000p\000l\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-101 0 obj
-<< /S /GoTo /D (subsection.7.11) >>
-endobj
-104 0 obj
-(\376\377\000p\000p\000l\000\137\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\137\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-105 0 obj
-<< /S /GoTo /D (subsection.7.12) >>
-endobj
-108 0 obj
-(\376\377\000p\000p\000l\000\137\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-109 0 obj
-<< /S /GoTo /D (subsection.7.13) >>
-endobj
-112 0 obj
-(\376\377\000p\000p\000l\000\137\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-113 0 obj
-<< /S /GoTo /D (subsection.7.14) >>
-endobj
-116 0 obj
-(\376\377\000p\000p\000l\000\137\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-117 0 obj
-<< /S /GoTo /D (subsection.7.15) >>
-endobj
-120 0 obj
-(\376\377\000p\000p\000l\000\137\000M\000I\000P\000\137\000P\000r\000o\000b\000l\000e\000m\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-121 0 obj
-<< /S /GoTo /D (subsection.7.16) >>
-endobj
-124 0 obj
-(\376\377\000p\000p\000l\000\137\000P\000o\000i\000n\000t\000s\000e\000t\000\137\000P\000o\000w\000e\000r\000s\000e\000t\000\137\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\137\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-125 0 obj
-<< /S /GoTo /D (subsection.7.17) >>
-endobj
-128 0 obj
-(\376\377\000p\000p\000l\000\137\000P\000o\000i\000n\000t\000s\000e\000t\000\137\000P\000o\000w\000e\000r\000s\000e\000t\000\137\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-129 0 obj
-<< /S /GoTo /D (subsection.7.18) >>
-endobj
-132 0 obj
-(\376\377\000p\000p\000l\000\137\000P\000o\000i\000n\000t\000s\000e\000t\000\137\000P\000o\000w\000e\000r\000s\000e\000t\000\137\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-133 0 obj
-<< /S /GoTo /D (subsection.7.19) >>
-endobj
-136 0 obj
-(\376\377\000p\000p\000l\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-137 0 obj
-<< /S /GoTo /D [138 0 R  /Fit ] >>
-endobj
-140 0 obj <<
-/Length 1141      
-/Filter /FlateDecode
->>
-stream
-x��VIw�6��W��W�=
@�K{��%uj����C�
 
-��p+Ց}
��l��'b��o���ʣ��}��a6zw%��™����cYFh�xq��ܛ-���l��1Կ
�𥮤�6�v��mo���z|�}�xB��yc�H�R4s��d��ȕ3y]������F��	�>tJ�w�u+�,���+
z
D��} ��4�^Lx���4D��Xnj
-BEP)a��I
���S�hjģ�Q���

`����aDD���}3W�4��A�j	4��a�9	eVh#�E$

K�S����Rf1Jb6�.��e�����,O�%�_�ceh��4���X��r��e���)�UY�
-
L��(�o��8IC .$\8�I���Xz�
Nif��ʽ���1X�9/�Y$�rͫ��/�[��'������KU
�3²֥7
����	p:�w�Cy�KR~�v��A`��
IY����&��G�L���n-��\)[L<�[�M���nӶ�6jᄶ?�"�����,�h�|���ЉCW��������68�s<ѪSR�k�n�T��+[�ʚ����~�:^r
�m������-
t:�f4�qߺc�DP:���Q�4Eށ��� ZD����,Y�w$dQ��ԟlL�+�̝nVZV(sM�q���N+1���d�-�\�������C�p�����>N���1�J�VYy�O��QU��{���ySݔ㫲�y}��I-�mW��I^qN�&B^�t��U`g����˦�9p��욺�W��l�ε��8�ҋ��_�:����B�E�(O�I�jta�h��Ig��%��
�]�*�����W����2
4yq��sߖV;�#�����'�9���)g巀1mtX8/�ط4𔛃�.��.�L��}?	q����q�!g�iW�j�ނE�[��
.�/����A�!�\�xtR�
nl�_fs�,M?��v�Z�G$=��=�G�Tʾ=N�k�Ɠ���b
-~�y����u���͂��
�d�A�,c����8���v?��ܞ��>�Ȧ.Zm�$)�{O.�����]@�z�O27����9|�1�a'm � �ь���<�
�{\��ϡOI�Ԣ#2'��g;z�MS
{5�����Z�ɒ�����/�[�?��]��s���0�S��>�
-endstream
-endobj
-138 0 obj <<
-/Type /Page
-/Contents 140 0 R
-/Resources 139 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 147 0 R
->> endobj
-141 0 obj <<
-/D [138 0 R /XYZ 90 757.935 null]
->> endobj
-142 0 obj <<
-/D [138 0 R /XYZ 90 733.028 null]
->> endobj
-139 0 obj <<
-/Font << /F50 143 0 R /F23 144 0 R /F37 145 0 R /F38 146 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-175 0 obj <<
-/Length 1838      
-/Filter /FlateDecode
->>
-stream
-x��Y�r�6}�W��LD�=}��ʉR�V%��L���$qB�*I�q���\P"i9�4�����e��svA�iK�i/:'��ѩki���զ
-`��r�\�ε�z��l�?�N���W�-�),�YvE(���:
dL��l�3=��f����L�����L+��r���5bm�����;qXk'�2�먝��3�&�����
-���é&��p�
H2N�dV��8	�I��js�	~���6�6��8�����L�r�t�Mʧ�(���t�]�D�`.�Y]I�Y�$UFw�0[+��4�Y�y��at����~;���N�#���<����Z��,�Y�r�
��AQ8SF2\G"���Q^�
�������(ͨ�N����ŪZ}L\~��eV
Qk�/58]4�����$����Cq3p\:ԏj��(�%���h&�\>Ö��bp�u��~n
-�� L��7Ԉ�B*��(���l��(_���y���n�\������ޖC�헵I�(�Ѵa�$��&��h%3
�{
���Q�j�_�9A`��>H
����%
-KX�x"g�h������,M�n/E�����S�c�D�G�
h0�Ns=t5��9	gn����(r�����c�ڡ�\��R;Tb�
5J�`����
l~��QҢKN��"*b�r\Xʸ�l�B͸4s	4
Vy�݆����,m��v�18xI��P.J5��y
�l�(�[5
�d��p���

�
k��@[Q�b��Xg�}�+2�Y2��0C��Y���0'a�, .����C�
`R�,�w/Y ��Bh-Ú�	|�����Ql )հ����P
J7����>{OЗ*�������-�v�i���
P�;p�ʼ(-�eE�r�6��{"��'�����Ã��8z��^�l�
%�
%���A�D�\u&�In�*��JT:$���jWj�6��m�L	iij�:��<��Ұ�7Jjps<
�M��(eS�M���,939d
)��zGD [W8�d{C�����{/A� "N����Qy:���'�8S嘊n�xl�L�z�c�=���'}�tL�ړ�_û�WQ���k��l,(wb��du�)�(�:�X����:���g��i8�z��k�7���S.FyT��
����A�N���-f��Һp�t=u�UQl�
]__���.}G�M|��Sމ�mZ�+p��n5�7}��C2��w��u��
-�
,�8�9�1���d8*��le)��&�Au��wE�n5�8�GÅ��p�4�@�>,s�V�Tg�՝f��Ggf�B���+c��m��
 y~l�>',ogK�N�5>D���b��jr�6K:�ּ}����z
;
5�eA.�;/UԿ�g]�m`�M�8
- �8���5�Cȕ�Sz��� ��
W����s�a�T� Q�
w�0Yn1(|�tQ�٭����W���H��AB�~�B��q�$Q�q�G-Q�g4��(�w�v���n��dWKٵ��`_�ه(Yނ�+�E��
<��c+G��ȿ,�<��?����P��1��r�9ty�Ɔ{� >C��n�
?��-�y_������>|w^�R��w�w��YZ/�py�@?5�Bf2�}!p�s�Ku�A�>6�x�TNVM��
u9��
����I^\F`ѰH�������.-<��'-�ģ{_x,��4���d�dO��������8������f���������f�Y������4
�-��bh�Ƌ!���)4z4��!¶�@t���;��ӄ�a�-Š�
4>������~�B
-��wٻ~��/��s	�7��

��0�L��g at zDž��w\8C���F�ӟ>�A�
-endstream
-endobj
-174 0 obj <<
-/Type /Page
-/Contents 175 0 R
-/Resources 173 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 147 0 R
-/Annots [ 148 0 R 149 0 R 150 0 R 151 0 R 178 0 R 152 0 R 153 0 R 154 0 R 155 0 R 156 0 R 157 0 R 158 0 R 159 0 R 160 0 R 161 0 R 162 0 R 163 0 R 164 0 R 165 0 R 166 0 R 167 0 R 168 0 R 169 0 R 170 0 R 172 0 R ]
->> endobj
-148 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [385.063 672.708 490.947 683.612]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
->> endobj
-149 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.426 650.855 322.585 659.702]
-/Subtype /Link
-/A << /S /GoTo /D (GFDL_GFDL) >>
->> endobj
-150 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [231.464 619.218 337.877 630.122]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
->> endobj
-151 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [440.112 607.263 513.996 618.167]
-/Subtype /Link
-/A << /S /GoTo /D (GPL_GPL) >>
->> endobj
-178 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 597.365 169.87 606.212]
-/Subtype /Link
-/A << /S /GoTo /D (GPL_GPL) >>
->> endobj
-152 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [219.806 513.098 383.194 522.996]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-153 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 445.813 151.499 456.692]
-/Subtype /Link
-/A << /S /GoTo /D (section.1) >>
->> endobj
-154 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 420.129 229.087 429.105]
-/Subtype /Link
-/A << /S /GoTo /D (section.2) >>
->> endobj
-155 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 392.542 252.131 401.518]
-/Subtype /Link
-/A << /S /GoTo /D (section.3) >>
->> endobj
-156 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 364.955 165.446 373.931]
-/Subtype /Link
-/A << /S /GoTo /D (section.4) >>
->> endobj
-157 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 347.35 163.723 356.197]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.4.1) >>
->> endobj
-158 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 319.743 155.484 328.72]
-/Subtype /Link
-/A << /S /GoTo /D (section.5) >>
->> endobj
-159 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 302.139 168.435 310.986]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.5.1) >>
->> endobj
-160 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 274.532 206.393 283.508]
-/Subtype /Link
-/A << /S /GoTo /D (section.6) >>
->> endobj
-161 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 254.87 215.06 265.774]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.6.1) >>
->> endobj
-162 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 237.246 279.109 248.15]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.6.2) >>
->> endobj
-163 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 219.622 199.967 230.526]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.6.3) >>
->> endobj
-164 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 201.997 189.447 212.901]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.6.4) >>
->> endobj
-165 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 184.373 201.063 195.277]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.6.5) >>
->> endobj
-166 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 158.823 196.43 167.799]
-/Subtype /Link
-/A << /S /GoTo /D (section.7) >>
->> endobj
-167 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 139.161 288.404 150.065]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.1) >>
->> endobj
-168 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 121.537 386.605 132.441]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.2) >>
->> endobj
-169 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 103.913 326.84 114.817]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.3) >>
->> endobj
-170 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 86.288 292.519 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.4) >>
->> endobj
-172 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-176 0 obj <<
-/D [174 0 R /XYZ 90 757.935 null]
->> endobj
-180 0 obj <<
-/D [174 0 R /XYZ 90 466.284 null]
->> endobj
-173 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-200 0 obj <<
-/Length 2713      
-/Filter /FlateDecode
->>
-stream
-x��ZYs��~ׯ`U
՚�
8�T��*gK^{W���x�T9$� 
���_���

e��]k牍����G��DL~:�����?"=I�4R��j1I�$��*9��O�x�t�B��򒨋S)�liN�z1	d�
��^<�'ϯNޞH�������p2[���]L��1�N�ɝ���J�o1�<�����z���ۆbp[)?
�I��/��n���T
-��fS\�Ue��p����i��z���5u�V�u�-I��X
+���Y�ڔ3+mw�ɛi�j�?��B|� M���c����`�~��Ne�G*p�D�H��B�� �r������;
-�T��
d����>��3��?��]�
:f�?�1���+�
G �?�LN
-��pG!����v��3�{��P�|�u\4��/
�^���F�>&��'߲��pCяuB*�ߑ�����B=�/��d������4M^�GZZ�
"�\�#�������n�c��������
�^TP�6��T�ޝ���
>�����`�_�e��g��Pn+�A�~���
-�N2
�/�A���?���>d:��3EO��U����,$_���e*�e�S_	�=I!
{
�y�m(hxtDk�,��kW�T��̊
��_CC�1s3'zQ�4m���r�T{/OS���4
�����H��R`�
��M]� ׺m���MU4O�K	o���q�1���'��
�
_1+��%
mM�iȶ�ؖ3+
�Oh	̬
��(̬��%xC�%a�X�lnj�B�f_����ؽ��E���
��'�v��.D�]��fx ��ݭ�يo��s����ݵ�����[��[^�N��ryn!�*��Z��A��*
-=;�Rg�3�֛���D���� VYC�80?M���:�ᇝ=P�(��U�-xҍ�߼�[0+�b��m��5(����+��3"�jmF�fS�x��Nw@���c�:-G�zw*C��ij��	�M,���SMG���9�F�c3����'���5��m���}ױ�5u�ʪ��N��jp
SҌ�j[�A
r�a[�����!JV��2<���k�I��1{�x��nef�t|����pk���v�m���Y�����9r��2p�9�1��
�Ҏ�x�pk�� 3���xw
oV�|��!
J
?����- o��X���n��1�*�4c/V^]��nj�P%���P<#���c�0�i��
�:_�Z�m
-���B�E�	�X$��#a��xK�(Z�r[���:5!�3�yD�
�}+ky�&kWe��a�e܂���D�)ĻE�~��������`.@��
-�j�T��l�}�����mI%[C�wj
�9��yhh�*�����"��t6g���/X�CV�,�( R�,�"�;>D/��@$����i��x�kQ�2�4����Iz�J ���F��!��
�ژ�p�
-Z�:�XhW��f
��X�44l]Ţ!-��,��PQ�I5=�#8L	�=V�s>Mz9��, ��؆�j6�g at V
�mݬ�B	Yg�S(YV�O�D[I����5�Rz����6 ��#m�GIW����r��������<Sn׆�D������UdP�E~�����=v+v
��MG����T�c9E�&R��$��$\�H_��sX�¡���Jo�3�6��2á|�l2ocX��^?�`JIoq�ۭ܏}� ��c��K?�U) D���b�O��
�Hz���YC_
����oaZck/Y��4�	���
-Z�VbS�]� Su��Y5+rSv��
�か�x������l�rH�q�j��X��o��pq�����HW��h������c����6-1醱;
&�8r���>L��37+�e���MQ�+�R�;�KeE��,�N�Q"r��>��ǽi��N���/��/��k���f[�Fl�ݳcwp-9 PM[og-$s.
-�q<rN�
-j^^g�(�<㛡�ɮ2ّ2~���\h^�j2`��)�ũJ�q-tv�eR��T��[�H�c\�AϷ��%3�J4��d��V
���
�Rl�þ"��eY0h_˶!>7�mR��v��~�l�
[Y{�MM(n�wN� �Q��w�
��\�i>HF�G�3�!���
�1��<Py�60am���X
���Dl�R
#{���
eK�Y:����>`����
-���
�1
:��ʵ=q9��إ��Y����œ��{"\�:�p�$0R�- �`1n���A�З�vNZ����ޛh{2!�yx85�3�M&�e
�hh����\S�ԭ,v
V�c�SJ������
c�%�*:�-Z
�=˙�X���Re���zҲbce�uf�&o͘R��<,2��
�itN
��G����6�e��I��k3
{b��r�
����������W�ԏB=%�J���8zl���]�'\�(���‰�@��#�V�U6����,�wvBp�95$��L�*v��~v�bga�]a4sg�����Q��U��QK9<�iKY�D��0cɑaE�Ꜧm�� vy�0]�Q�@�u�������ח��r��ً__?=a��#`�@Y�|�������4�	�o"XR[�5>:����NCZ���F_v�CS~�)/!o�%��}�ֿ������rkKOM9~�<2�/��(�Y�^��G�N
�3���r� :�.��v�O����Y�o�����}
-��t�~�0MG}^l]�����댢ڎ���mi�
-endstream
-endobj
-199 0 obj <<
-/Type /Page
-/Contents 200 0 R
-/Resources 198 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 147 0 R
-/Annots [ 171 0 R 183 0 R 184 0 R 185 0 R 186 0 R 187 0 R 188 0 R 189 0 R 190 0 R 191 0 R 192 0 R 193 0 R 194 0 R 195 0 R 196 0 R 197 0 R ]
->> endobj
-171 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 719.912 379.98 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.5) >>
->> endobj
-183 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 702.288 320.214 713.192]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.6) >>
->> endobj
-184 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 684.664 285.894 695.567]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.7) >>
->> endobj
-185 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 667.039 378.296 677.943]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.8) >>
->> endobj
-186 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 649.415 318.531 660.319]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.9) >>
->> endobj
-187 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 631.79 284.21 642.694]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.10) >>
->> endobj
-188 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 614.166 401.539 625.07]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.11) >>
->> endobj
-189 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 596.542 341.774 607.446]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.12) >>
->> endobj
-190 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 578.917 307.453 589.821]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.13) >>
->> endobj
-191 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 561.293 319.637 572.197]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.14) >>
->> endobj
-192 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 543.669 300.838 554.573]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.15) >>
->> endobj
-193 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 526.044 440.054 536.948]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.16) >>
->> endobj
-194 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 508.42 414.042 519.324]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.17) >>
->> endobj
-195 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 490.795 380.289 501.699]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.18) >>
->> endobj
-196 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 473.171 290.317 484.075]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.19) >>
->> endobj
-197 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6 0 obj <<
-/D [199 0 R /XYZ 90 458.567 null]
->> endobj
-201 0 obj <<
-/D [199 0 R /XYZ 90 423.898 null]
->> endobj
-198 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R /F23 144 0 R /F72 202 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-210 0 obj <<
-/Length 3192      
-/Filter /FlateDecode
->>
-stream
-xڝ�r�6�]_1�Te��$�ûypT�W�lkm%��$墆��yLxX���nt�LjR�<
� }ห��]�<������_%"	�pu�Y%�*
-�P�\�f�_
���S����O<Еn҂&7�]��i|��u�j��qù�o_���=��D�U�J�*��V������U�W+W�I��7��U���[�ޟ��ĝ���#2=_��"2on�?�������o>��z�����݋��p�+��V��-߿�=M|�9�����
m�槞r>�J�h�8�n�z}����R�D19�dwq �����4p�3���l�hs&o�"��;ݥ4���N7-M�
�v;������� *qz�K׹��|���|�ƽ��r_�h�}���Z��_�
��D��b�p����u�Bם��������w����7�,�Fe�_�Z�'"�����tӀH��+#

}"9�M"��ݷ����ϫ-MQ8���?����W���LW0
GF��GB���}^��./Q�n�wz��B���w5j�^��2؃
IOp��;;hʴ0��F���~�cL����u_�
-�銶-�\W��S��U����w�aҺqHGNvX��*-�χ�)�
-�AS��,��fy%_Y: |�	�������[�ji�1C �u`�W�4ْ�A���}�8R
��}������+E(�#g
H���M��p��῅<�Q�Dp�9,���P�ў{j1L<��I{��&�<D�(�
@��	�
M��;%��S�
TP�8���W
ح�:d-�~����F�9�����hk
���?�ni�)-K�	/X��?��
-���Я����,��.m�5�o�i�f\��.��V���X�DYZ��L>ld!�x.�e]�HHw��]ZA�]�J%"�Ԕ�(�q�NJ?7R�vfsL�weY��f
G��
�����F�
�j�I�1h��B�B�N;�	 6� ��(q,���\E~פ�a�6
ڙ�O$B���s���b$xۤe���^q� �����KZ1L�6���o;ڃQ�`�y�#؀��
�����\�ϖ�����������f%�A�������cq(T��ӌ)T�b��D�99
����
�1��n
�G����=�r���ۮ�ь헯o��\~�-
��c�OJ��Us
-
�T=q�h��������[�|?�NY��\�*�|^��vM���t�
�+��0��V��NVW� ���
-&��Y΋��+���O��P�?C���K���?C�h
S�1=F��@�P�P.i҇�k���$6�\�U�?��ZS��

-WTRL�Hc�U8Q�9l�\`����
����nޮ�T���r�&�U�8�C�8����
-
,/d�� �e����-:1̡���5��
�u�9�v4:�}C�V��
i�����p�We��
2M��Jp[��J�'I�Ёu�)V<���T9���[2����5��oyl� S������hR�A�.5E@��c���1�).>��⼛&�Rv
b��a_��
o,�I��b8W�x�I6�"�1%w˥8���P
�J���0���
��tƷo�c@����l�Hٷ�iH<V)���z��5���k��4� ���Lc�P�YK�Sm]��{a$by�ۺ���S��M7C߂�}jr>�[]�52�Pj���-�ܔ���Um_t��l�
�\��u�mW:�C�5(��=����9oj���
W�4LJJ|n�b�~���u��(�C�Ǖ
�xr�3��<��N�󻮮�Y ;�zF%R\"L���	��V��@} 
�{�:gB�?a�S�崦�6�V9F
@љ.�
Bl�9�B��[y���eǽ*�����D��y�5��i�?�������`Q�(��8�h��m}����Q����H#�@���0!�	FTb/�ļ��̾
�����=(Hl�<��)���v^����2�Z���'��Φ�T ��e�_( P�i�����a9��"��5�h�7�!̀�6���o�}��KȽ�K�֗�(��4	��ǐ��$�f�� ƹ�x�=M%�F�`�	�6��>i�2���oz��RK'?�(��i��4z����"2l{�,o
{�����.c�C�i(p/�
)�m]\,=)@m=����>W ��i����rlW)x�|}�UG�܍��vKwEޔ8�h�^�)A ��ۡ �88�N!���+:
@��s۠2Ҳ
��o�܊P��٥�/y���!#W41�Є
-�_1�n2���)� �f�g���J쀛���V�Ы��3O�,Ǘ�7?>�;^(f�p�����h�l�c'�"!���0�
�ǼC�<�º{�r
��a��h���IE�r>���
_߼��M���c<���J�O���#�tݿ���;�9��|*�
����K��U_�����S�e�GC=4�v��VT�%��=iF?4����7�IQ&N�5� K��=H�q���
�
j�
���?��شQ7ۋ����
%�� ^��L�%�����K��T
`�A��M\��yPaL��x-i;
���&�"❽��k!B��0�G\kuLT�[J�	w)�ix���k�Wj_�t61D�s0�@H۲ݘ�D��]񘍡'��־����w�/D�'`:g��%9z�Y�
����}`cC�l�
aRv�)��N���OM
-}{kK3��₣# ���Ƈ�Ѓ e&�,�2\�'��Lc��<5L���
�͊n<��a������)��l��lP����
N�������!A6ik
y��Z��q0�
&��a<��~t Uo��
~�}�@��y3s
���Z?	s�FC�0�p�@��`0yUo	b���4����y9����&��?Ֆ\=�dC�7έ׌)�]����c�*�R���r��
x�G��
-��".��׬
G\�W\�xDa�gVy8����<�PK	i�_
dz\�5ݩ�g,�ߔ=#$\2͚^�W��f�q�y|�ڧ�˅N�l=d��Q=p���ٸ�w�����!Sʞ#��l��紱]N*�3���lt���0�����	�o	�H"���o	
-?��x�C�nJI(7p�97uq��Ii�z|a��W5�r
�ѧ[>5�^����ɻ$
x�V�qo����?N�Wx�x
�+0��	~��
 K{G����^�[�W��y���B��H(�T2��Hc�6�<Lz�z�?��A
-endstream
-endobj
-209 0 obj <<
-/Type /Page
-/Contents 210 0 R
-/Resources 208 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 147 0 R
-/Annots [ 203 0 R 204 0 R 205 0 R 206 0 R 207 0 R ]
->> endobj
-203 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [197.068 422.575 240.904 433.479]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/software/libtool/)>>
->> endobj
-204 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [103.669 387.332 231.19 397.613]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.dwheeler.com/program-library/)>>
->> endobj
-205 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [361.468 345.175 387.371 356.079]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/software/glpk/)>>
->> endobj
-206 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [297.062 248.367 388.718 259.27]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://fsf.org/)>>
->> endobj
-207 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-211 0 obj <<
-/D [209 0 R /XYZ 90 757.935 null]
->> endobj
-10 0 obj <<
-/D [209 0 R /XYZ 90 318.525 null]
->> endobj
-212 0 obj <<
-/D [209 0 R /XYZ 90 286.596 null]
->> endobj
-182 0 obj <<
-/D [209 0 R /XYZ 90 286.596 null]
->> endobj
-213 0 obj <<
-/D [209 0 R /XYZ 90 180.885 null]
->> endobj
-208 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R /F72 202 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-217 0 obj <<
-/Length 3230      
-/Filter /FlateDecode
->>
-stream
-xڍZIs�6��W�6T���&��-�NR��tz����Jr�IJB�".�x~�|oI�t*x 
޾@�WǕ�����w��E�t������J��~l�a�z�W�x��!�����~�AQ�)e�*m&�6+���$I�ċֿ=�p�����w��W���7�h���w���r�X��(MVW�u^�a�o��r��;J�֟�F�2�}**\��zW"a{�0��:4E!��>t�u�{�)��`8��i�C�4�:ʴ�G$y}�SU������C�D�O}#�QX�
�V++t%�V�`�n���h�*rl�c��3��Dd
Fz&��O���K���d֡����n{����!��2s{Cnۮ�Ot��tcV_,��8�A�M�)�_��o*%=;�f
$�Q�8ԍ��8/qnYa�r��ն'�
H����u��)�®���.�m�7���:��NS��X(6뾯�g�aӱ_�c@
-����>
A7�bг#�� ���1�
_����|�����D�BG��ؘs{/S�J4FB4�U=A1��
��
-
a�	��n���]��?�K�b"�+�N&@�Ȩ��S'���Xl�[�D>]�*�K
*�VƇ���
��]/�[��x$�]�h��>/�Q�^MQ�Ţ�X�Q�S�p���x�����S\��PpҮ[o$HV4�!-2����Uk�li;�5��%�w�2wNƣ�I�Z
��B]E��
��:��gs_�^�L�5ZUu�j�j�e&V,j�5�X.��d��I�
-����d��T�+��t�:`aqX�����I F �"����TM�xg�y%E���
G���x��dt1m+��J �[V�c"�"� �bM���ך��RY�W_N��4
�9�4����"o�n%�'�p��:p�9�
(
��m=�}0����~!�Rh��" P��
-`7 ,b��z�7���]��ROGN�����U�*�s�.
�b�R�ÚmԘխ,��$.��E��WM�[��
��NK(@���Qcp�D�#FC���j���a'�W���<��s�
(9�>�
Š��t�1�I6Ƒ�y)�`�C⠋B�H
28�L;�
�$��(��v��de
� ]�J��l����mtq�8��4w}�t�j��6�-��1�ĻQ[��p

��Y����J�Lߝj�:A���U/�{YY��|�D�K�к�M7�!��޳�X��UY
�E���މ�@T,(s��
��݄��j�7�4�p��0L�F�}�J;����
���S,���
�aV�V~���P��H
i\�>��4r�#@ץ���y�:������E��-�椐���YQ71,� �uU�}[��Z���6ù���@�|.ƕ/5��4r�g��KC�yeh
0c
-�������\�ts�ʱ�
s�
��"��+�hf��I��j
[fu�\a�⍄wv5i	���Ӵ^�I�U`lY���y�mk��j���"ϡ�r�̊�t�_e�����;�KlM�d�y�C�iD���5�H
M[)4�C;aa0�A����
B�Tf2�H`�L��\
��m�t�e���H��鵸���sy�!�,hIb
-ZU[���ޔ\wDC3���%�_O����	��ٶ` |ՐF;:�!;���R� aE�z�
���tpSP�M�
�u��x��X��gs&1hy8X �SUcB�:���f�.

�fj��Q��VaN�)?�MN��4
af�N��|��Z0VE��T΋��r	�)R9�T+H��I��/e�­&���-;�BB�Nh����
r
�w
-��C�ɻ�P$
�#�E�(��^@F�P+=.E���1�J��^���m��z"JBoR�5�T�ݺ&A&$
�v'�R#c�yVW����'=|

c�؁�/
���l_*>NG4 }�<%�zZ�Xl(�o��H4�?�c�R=sM
l4��An
�ݜf_�F�
�=���7��
���ِ�E�H͙��ݭ�wC I�L[�G��D�<�i�5�x��m.G��M�/�TA4���Ȃ��(<���R��a�(SyD!�����O��c�D��^PhI��0��ˀ��آ3

= ��%
�.<~Hq}?3z	W��Zzl�����f�W�, �����q{� 
�����
�x�S��Nl�)�7��46������ȼK���
�\Ւ�q�P�����-b�!�G�&H�J�����
���{|�ӧ�
?���ˀ`|���0�Dq*�}-I�DK%���7سs��a�8o� ��>E3{k��c D�ao����v�X�e�L�H�*ڡ�,�Ԏv(
C$�M��P��O��4D�Uw�c"��laOH�
��Q��Q�J/�<s�IM����Cmq�d\Ⱦ�'V��Φ}n��X,8
-��b�h�
-,�*�5C�
��0RmF�@��J�x.Gz�6B)F�Ѡ����p�0
U���
0y�W�Ib!�sh��5U��]E;����c�
��
g�rF^W�[}�/�@]~e�g�7[���j�����k3�3�?vzvx,�>�������\:E)��[
1]�Nǽ࿺�
��(iZړ�dh,o
��=f�(Ǘ�{i��
„�JyHs�6�B�c�4��	��)�H�N�N��8
5J��]ۗ݀i�b��� Rb�J��9�
�"�&QIu&����Im�i���P&�O��,-��OfH^Í�෈{��
�fR�
-+�;<� �:�ƪ��w�Սt(�NS��v��
�b��_�HX��ð�u�O�P�hz%�\��!P�_
p���
���r�I�A�

--ֽ�ol:�Rj�M����"�P=�`9�F� O!
]��XH0V.-
�.[
�
�}�M�--r���fO�Ҭ��,�E}��9�K֋#��z
��t��B
-�79�}�Ti'�/���
Y��y����Q�
�h����Ϲ׈�Yy��+:Eo���(���7�^�+�үI.V��K
mi����W�\���t�{��X��b_������+�'?V��W�埦 ~]�pP��ᩁ
A=���ӘI@�I�~,
N��������VS�~h���$
��*":��d
�SJ'~䫪���fhQ~
cއ������.٤A�W�S����n��D�Cc�n��x�D����0͙�^z����T䍑Տ����'�Ȗ�h�zs��*���*�g4�[S-~4U�e.�Ȁo+e �M�o��
��b������ʍ�A� ��������l����ջw��u������fc�w*�n�;Něm�:,��D����&�A�n�l���5�>
-endstream
-endobj
-216 0 obj <<
-/Type /Page
-/Contents 217 0 R
-/Resources 215 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 147 0 R
-/Annots [ 214 0 R ]
->> endobj
-214 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-218 0 obj <<
-/D [216 0 R /XYZ 90 757.935 null]
->> endobj
-219 0 obj <<
-/D [216 0 R /XYZ 90 331.491 null]
->> endobj
-220 0 obj <<
-/D [216 0 R /XYZ 90 307.166 null]
->> endobj
-215 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-224 0 obj <<
-/Length 3354      
-/Filter /FlateDecode
->>
-stream
-xڍ˶۶q�B�J��2I�!v��4iR'M��EO�DBb>��������ۍ
�`f0/(�]w��ۧ�?<��&U����Q��p���.K�c����}tx
%�����iL�+��4�+[p��-L�
tN�����}���o��x
-a�`��Iv�T�+�_~
v%���G��vτU��H��ڽ��S0'3	VdF��	����
�a�
,z�6
x���[�?�3
��[���h�������a�o�����5�����]����Z���4��
-�����iq��t�����m�Gd ��u�
�(�c~�g
-�鐇(��h@��Q.��.d���^�n��_�H
N�����k�ս��#��dOrȏm�u0#f@���&shʟ�iz?��e{��6E5��1T�gq���t��'"\ݔȨx�ֶ�� ��d�=W�G/F���� �� 	B�	�;c�醡z� x�u�z��!.�O���i��T���Mh�
-3U'T$\)���v��Ow�c��! T�Gn�
#h)��(Ia��)s���_�ia3#$iO#�
-�~��)����������~,N��_꽗
1.�
��ؔ��0�P��+/N�ʭś�,ح�3B_�h����
$���{
�0�i���� �]�4 �;〯�15+�6��-�d���p���,w4jN��
-o����Ԧ^- ��ӛ��Jo�x�������`nD�qZy8���a.�*$v����
�m�l�-�L_Xt�
�G%<�@EY)K�/`��!�]�7�8
-�
-�ڀa�f��ɀ��L9.Ps��0�\�5�T�`�y��-�A�$#
���=r ��<�n�M��Dlg�Qx�x%�4�G6 at _�~�o<���p��z߃��d�wsj��H
`����Z�$�ZƢ!�v5脻Gܲ�W �D `�!���,�����1�4��CqA�[%�s[��W��"���Nƺ��
�F�����*^�U�twS�̉ �b(vi0�;pC�
����f�@��렯���(l
+{=�}�
[gSQ����fi�h�j�sK��
q��Zn��i�5����Xo
�����s�;; "����_�1DR1�}5�g�
z��
�C<�2��`|��+6%�h� ���\��"~e��VF��c��Mj��<&G��|�Rb/'�!��( �����[�X�	r��G}%�cW���wr� y
�f�����p>D�	z
|�Y4�PCA#P����;��q��nQ棘,$N�%���������p�Pĕq�_ӈ0at����-ʼ?��8Cg�{�xV`sI\��p���ٍ�z�3�vJ�f
A�\W�"�T	@�Z���c��	/���

��6���S"\O�
7��܏��GzNv x�����&G��18����T��u�6
�V�WKp4jQBh��
-�e^D��.��Gd��Sɲ϶)}��H��
F�V* #��h۰nQ��
��=M��>2��\��3"�^.�BT�5��r�N�
�V)Z�X�8�R�U1bk#� [�1�
Z���/��L�n�s�V� O�mn9`�p��'�Œ���z�F�j�m� l�Go[�
���S�6� ���~>3
�\�h>�
m!������_]U
�=%��XLn�)���|8�^��Ѓ%�2�
�UE�4
<E�%tu�|�[���t���I��!�� �g�6��ò��<
�
^
��3�#��[�= �� ��a����3�]K
D;�r̂N���L�����o�,.�"��3s�Z�d�\*�����H���$��ac< ��x at 6`�	Dj�����G����Dy+
"���Y�xU
^`ĺtFZh9F��8m��Hɠ�񡻇�)�p

h-�$H=�i��}rׁw)[�N�!3콣L�r�+��2���7(7v����F?EN2ۯo0 ���	ڳ�
�V�{�n+
/�(D��
�\[`U�ܴa��A��+
�i�Їǡ��И�ȧ�B�XK��ƅ�Ms���k
�
�*��m��È
�0Ap�yԗ�z
��b�T,�K	� :y+�+�<��kÊ%v9����v
�F���8�9�;����5U�P�^3
-����� 1���, �Q�7�v6��1c
-��
-
-K��k�q7�@o�2�
�۩�<����A^aĿh�ʑ.4Fc��yZ�3$�1,�8nd��q1S���C��~ ڥkkn�a7�����oaȡ���4mL�7s�e7/
L��T �n��9]o��3�
9~$�����%����0��a��
U�8���ĂeU��+��bB��ұ���m:lL��B�U��7�0āTLl����P���_4N�7(�M-H��)���,@P��P���o�b����5������A�DE�$��28cF&�)��8�
+-
]e@{`�������Stw">!��:ǔ�����ʁ�03���KCz�ė
��`�*�s�.�P�X�a
-��(�
-� ��P׋�Qmr5�T
�W�B�B���`�����m/��Z�DŽ��m?�\)
-9^7hUK�(�C��yոH�aS^���qBk�GH�����``r��(ke��A�j�ӏ
mV`^i3@Ώ�+��Z�%%�}��ۦ��!D

hU2z!��z��O�������$�5`�;���)6秗
F4�a�8�I�U`P�2@��i�9�k�H�:� k��+�t�TղS����YnJ����;$�g��\V�--�$.U��7y���9� �Y����������ˏCB��9iR�1�(����7.�� �q��~:"�W󈗱�":>��1I��fw��ut�"'J(�8o���k)X���*M��V>��/9'E�{뾘�S����G��Ɗ)@�
A[���[՘]��&]f���B
�����1�p�
�>�P�
f�����0M�O��8�<T���:�;��,B/%�$*�@f#�^L���wr ����l�V&
MŮEr�RN�+[���Q>�BDJ��+�>��MW��i
K�l�QB<��hg,ęg�L�ãp�Q3Ț����
N�4��U�3����I(Fsu� [...]
)�q-���KP
-endstream
-endobj
-223 0 obj <<
-/Type /Page
-/Contents 224 0 R
-/Resources 222 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 147 0 R
-/Annots [ 221 0 R ]
->> endobj
-221 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-225 0 obj <<
-/D [223 0 R /XYZ 90 757.935 null]
->> endobj
-226 0 obj <<
-/D [223 0 R /XYZ 90 618.581 null]
->> endobj
-227 0 obj <<
-/D [223 0 R /XYZ 90 270.678 null]
->> endobj
-222 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-231 0 obj <<
-/Length 2842      
-/Filter /FlateDecode
->>
-stream
-xڕْ��}��o&�vGs����.9����v�$?�3 ��
40#��ntc�Jy� �F�/�������t����W?�Ѧ�4L7O�M�o�4�0�<U���p�&������@�R��&�þV%�ߩR�F�$��|���|���Ow�p��	,�$�(ٔ���?�M�7���b��M
F�7��}���L�6���ӄ�T��P��m��@�u�
��EV?�ȲW]K���o#>�+y���C��R#�u�&[��ј�y�B/(b�$�vPzԻ �v=
���Hm�c}ɣS��x���i[C��m�
�(
+��e���'.��wl-4l��������b[v� �~��eE�
���g��茆{I�J��!���q\
"Z��*����%Pé���J��)̠y}h+�Gj��ʓ�<L�kƫ.^P^�0�"II��P�������,�v��]��0C0w
AUZ�Y�
�s�o�4����hTvg��U��KK�_�\՝{�$ �B`�����E�ޝ
Ez�{�}С^���lT�j���,3;�Yw'�W�Su���鵚y[�4�L����^��<��%�7��yi����I�,Q��vBPD��}g_6 �|�b��\�
�8�b�X�
И� pj{��dM�g�Қ����N��"=�X�▅C���)T7
O�_t

X���i��6�`U�&�8^T
B��9IR[�
��څ��w�K��`z|Q���Is�cքs
-#/�&��M�G��)k��g6
! �s��kp잨tgH$3�h�6]��
���h3vg
��0ka�ز����W��(%��
��VX�R��i��
��|�K�-0��FP�f��mU��!�I%m���҇2�5`��
�E?�B�t_���r�9g�/6x�u
$��
 z&���;������v�p�m`\q��ZA8{�xb�I8�8t���QwG-��> 2`�R����^
'�"� P��t�jy[;�
2�ƀ0lo��ඬ�$Л€���lΪ
���H2�+�k��tw�J�����2'�X��)ʓ�Fو����І���8PA��b(
-�T��3-����J�8�݆&��opB"�H1��pB$�g��l 4ʘe@B gJ��l\�!Zǂʲ�
��gyr�
N2Ƅ2��b 
\�R�2?�b�\`��1)�2.
���ȶ���Iv�P��Z���O%%��q�����
-nE������\b�cE�)k�*�s��H�
��t͖�A���at����$l�z��0�$����
��3@/x�t���9=R���Jf�������e�����љ]�,���3�ϝ��,.���P�y���8��L�\�o����c�/�
m� ����;��Xm�����3tm���g��(q6˿�
cف��
��:0`׹�e}�����W;:Z
%cڎ
�m����P3V�Vin
-�1c�cƘ*��=�p��<�x|?��Sr`�;J�@x�L�2����%y8ڌ����Z���֮9��G9�5�<#)?�a������c�O~�''�̘��`��|�:
-Ԩ��]j�)�Y
�
�͍�r���:€#�HD���&C�
L����-EC
������{�=�s�=��/�Iv
��8�Ɏ�)���)���9���2JBw���[%�%��� ����~�{qZ,}yr	�M�
�� �\���8�A�{(��kP�{�a�
����p��U�=!&���0kDc&]��]^]�?+��7�~pj�����Y1s��� ��W���+l��8k��<�BP}.�����T�O�Y1s]���ѵr�Be�H�za�3/y��Ɛ�s�o�+
1N����!�#g�|�3�䢬�IZB����8��cr�`��2!�g��w��O���q*�����Y"
-RX�����	F!r\��J
-^2�U\KCl��
�zl�tU�:��O��0
�����#W~GYa憒��

N�+RΫ;�N3*�R8��
��β)gD@��5u���,��^J�Nf�I���a�Ѫ�R�w!仞���Vu_�H���kUQ�������WdV���px�ԁa:۸&��E�6���E���Q��۷�P�*�p�IX>��
��1C��gM��ǀ���*6��n�e�R)s�m����v
��� P�S(��Z��QN�h���K�A
���d,�aⳀ]p\�r�l���UG�!8���B8D_
-�(,
>0�	?� |�Ê�ҹ����
�ǚ�+��s
�.X�~�,�^c���tsV5?:!�F�8��7x�B��y
<�D���-F�fb-�T�,�~l.����G�T��(��

�d�Ԭ��V���������38ח�m�_����0.���߱b$�l��� �@��04{��
*����
-�S�@�����|D
S�+�P�
R��
-�����G�U�+G}�`����Z�ZwZ6}��ѭi�7�Zqt
��(�CzՅ-%$Wz�v�|��8K0�Ċ�v�â�
-o
���	b�Z���4Cͥ7��7/=X>R
��q���N-�_~�������D�sˆx�ȄU��,�[8/��o �"dFl&��NG�h
�%�C���ꛚ�J��p�P
J�'aC(6�X���m[�eS\�����MVn���;�w0�[��*�L\瀈~1^�Z?��^ܭ>��‹�YwӅ��
�g
#�7<.S��?�i�A��̺?dS�Ƞ��?d��K�׈�KH��ȁ�
޳(�>v��$+-h���ka�L��!�w�=t�v�������~��\���%�z���b��
-͏��de�>o���x2�+�s�aŊu�����^].�4�Ъ��T�
-��j���A�%E���0�P�m�.��g/�3;�ˍw
-endstream
-endobj
-230 0 obj <<
-/Type /Page
-/Contents 231 0 R
-/Resources 229 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 236 0 R
-/Annots [ 228 0 R ]
->> endobj
-228 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-232 0 obj <<
-/D [230 0 R /XYZ 90 757.935 null]
->> endobj
-233 0 obj <<
-/D [230 0 R /XYZ 90 682.124 null]
->> endobj
-234 0 obj <<
-/D [230 0 R /XYZ 90 536.224 null]
->> endobj
-235 0 obj <<
-/D [230 0 R /XYZ 90 402.28 null]
->> endobj
-229 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-240 0 obj <<
-/Length 3363      
-/Filter /FlateDecode
->>
-stream
-xڥ�n��񮯘[(@����-1��
�P��!�}�!{4�9�MF�|}��d���F
,v�����zWQ���
�����݇�Y|(�2�����P�<
�4
-���/�������e�;=����c�T����tg4<ERx��O������^
B"��~
���r��O���7������JX�C���
>���.�,�Q�Y�lf��c
ޗ}w���a�oM���}�w���i�
��
�x�^?\���~�����%~��L�_�!�'8��E�px�-.�m���?�+ƫz���k�"k��3?5
�����h�՚W'`�WSW�Qdz���e�=D��h�?��W���xׁkj��xV��\āC�LE��5=H8�;���;#����EU��wn:�8hU�c+_�à͵�j�
�P'�l�W��˒��{��X�j>"I"����r@�Y�܉4�n�
2Ukk�0� ��~Z��c�k�
S��~
��K
�sl��D]�0�֢bX5
��`
Зc_7�8-��<_��@�4���z������vb!#��і�ucơ9�G {��Q�'Y���E��t����$`PU�_��c.��;�ݗ�4˭�Ǫ�
��W [...]

ӟF6�AbBӁ�Ugսh��G+�">gGk�;VZ��
��f���#��heѲ��y���5��Iȹp{.�?M�(7&QDlEHo��סG�1
<B�	�
D�J��T�Ԍ�:��� �jeF��Ak�޴� vrtE)���Al{��y'�-l>Fa�+�	,a5^��ˆ8�N�k?��p�8eC�e��joQ
Q�=�^|��
ATG�C�
�_ςz���ϾDIJv.fL���v+4�P,�����
rc
�3�����H��On��8:�)�ANQ����:��ܔ�0*$i�jIQ
q܉8���w�a�
Q��
شq��
 $����
��
��
/���,
\�ou�5]϶z����f�o��k�N�P`D1��sqnE�#HXh��pc��m�,=C�'�N���)�kV�~�������V8雊A�ua �
��tzt�+��z��Q�{ϊj�χ���ᾲ�>'ܣ�kv覞8��x熜������I
Ŝr�ܕW�n�r�C'��T��˻s8C���N1��@�/iu'	�TSX�`!��3Q��Fߩq
� ��,�����+yP�� �&(����<d�5�0H]�Aʁ�[5����J��f���Ӝ���F=���+�Wo�pVYj-PQZ�TɊ<2
�f8�-R�P��q�❟�#
�EH�V��U"��lX�
b
�D�Q���p�qhZ��	��4/�o#�����"ƅ�LA�b� ���D츥�qT�Z߱ĕi�
�D�T	�Njc�6���ӥ<�ƚ2Yb
��|�.��>����r~Y�A�[�v��4
��cH~n�zL��iHq��$l\�#/�
-~�6
-���'�s��cq|o5'��Zq�K��X��^
5�NF��.��H��X{V,�䜐�rB�`.��3�%)�I��I���G
�7y&s�LN��^qa��FR�$T7���`g���zH��$�B0�d{�p��6f`�y��C;6�I�i�i�	����3�̷j�f�|�W|�!4��'..
-��ށO��/k�>;���"ϯ#>����;ƅU+Q!���(�ׯ�
������
��2w�����'��E���C.	9�
�҅�J��q�����Q��qp��\�h7G�����?�
��������4�բ���k/�m��V
-A��U�']�� 2�>��
���R�m&E�
��?P9�߮�~�"��Dk(d��ze�i��ՙKc�����܎��(��4��
�5�R�������YO�Xf*���\�;�O��w&��2@�v�G-��%�
%bC��yp
�W;��%
�oҐ���yd�"�Ƚ��&S��i��	ڟ�%FC��D> ^����ɞyb���
t�F0�#5+�}!;�V*�1�r�
]�ݾEB�����ο���:T
ʶ��y�4s�T��[���gfs?��E�E�NoHy��Ľ5 p5��3(8�	!`�L�w]�=����PM
��:�-3
~�
n�S-�	�ε�	`L&�7�3<
��i�E�'n�q�ue��ԩ��)���m7���}+4��p{3,����� M�h;�2�rb����ɂ�����!�]$��K7*t�f�_u��;�,̠��Z���~��i����<^!����l��`��
���8�����A�r֜q̳D��g��h};�XqP��>�H�R�e�_�G=������a2�*��򨩦V	x�eP�4z�B���P��0��j�����58B�ɑv�7��8�
�
oW
.��"’�r!m�LI6Or��>nU�2f��()AQ��k֔42���6W��D{U������7��-�.llp�2/�MDBU#�LB��]�U�Á�
-��#B����
�_D�b�$�X
-�s�+��d.�WΣ�<p\�+�a�ؔ�\
,N�@IP�K!��T��|!��
���[�!�����p�o�]�u}��p�J̃M���j�1���+�4��$�ٯ.,�+e�.s֢{3�5`&4��MkKQ݁�V"d�d��#���N�n�G� ���,\ �L�dN�"�x�kJB~V�
-s
Pl�
.~���D�bY���Kf
瀙�Ev�OT�eX,Е��+�,��VM��]�4�ޒ��i�
q&ϸ�̂��Y����*�w �j&�af2�}�t�׼�����
Ë7Mz�tr�3��h� �]M�ae&��� �[��6[
���֢ �n���p�:����D&���
a��n�t3�<ŀU#�GB�gS'�c���%}u�LN̙>0�. �ư�ī�)a}ԕ�̆�J��Ky���Qk]T�w}��;�
g��5�p
�:�~:� }w��.�Gj?Q���t �1��D���߀
d�0�v���
J����a�d��m�;�Y$�$
�+�����*���D"
� C(�f<E���*�*�S2�
�L�о4���!#	�xd9
���"�t�|�N�Z
-�Rl����
��Z.��<����4�z��qjƛ��K[
�\�m�d�kl�y+
�ʝ� )���
�\��Ӊ�_-e�_�����%�c�N�e
��Ji駩�c
���{B��*��Է���Ż����/�[�&�"�&o��Pi�G3�W
p�y��� 
�0��0@��%��������:����"ءk����Ň���~e��k��ߌ����J��a�ei����~�#7��[=�"
�:
-endstream
-endobj
-239 0 obj <<
-/Type /Page
-/Contents 240 0 R
-/Resources 238 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 236 0 R
-/Annots [ 237 0 R ]
->> endobj
-237 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-241 0 obj <<
-/D [239 0 R /XYZ 90 757.935 null]
->> endobj
-242 0 obj <<
-/D [239 0 R /XYZ 90 714.318 null]
->> endobj
-238 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-246 0 obj <<
-/Length 3098      
-/Filter /FlateDecode
->>
-stream
-xڭɒ���_�[��iw��il'.;cg2ӮT��MR-d(R��(_����
�_Z�����p��
w��}�p���y�+�2����iW��"��,�v��}|���p��?ʠ��Z��[]������609
��8�����_
�~���p��YI��.w?��j��
��<�	�K�~�݇�܅>�Y�"3N�0ϘLm�i2�����?�Y�
-�I����0�W�1���]��'}�GS�rR����i��t��}�nM�XcW7������6ՠa
M.�
�Q.SU�_���x-�xa r at D��}e&�|��A���3�ȩ7pD��
^b*pd�_Gm�K���q_��,u�������O��h�����������.35��
7F1͠tg
�&O�Q�7$	���
���(/}�����A��V�u#�N�8
�GK� �;��#� 0�=<��B*���\���/��?"8�|dij�
~l�HhtT�n���h-�
�-�֋ �e�����JGYA������O�nxae����~a��
 �U�X�e���	V>�nl>O��v�^{#'��?�Ͽ�YɲTƨ
6*`�$8x��j`�����Yxz@����X#8�
��I��h�M��e��W
�@��pڊ�l��[�B�
G���Dw� �g]�$KLw>ѝ��yo�)Bw�����+�I)9K	~�f��g���F|��0��系�3N�(�Ĩ�0lӞx
�Q�����Z5GG�n�t���	��2��,L���|GZ�gK����O�o�h�fl

	�`
�x諾����� 9����jr#
Ϧ��'��mz�*�$Q<'�(�L z�B$�Kg���x�狼��Gu:�#�=C��h@�<�2N(3mȊl�<�9�
7�i�8dYP�Eȕ�>%�SM5b�!Ӄ9�_b'L�,7h
ň��P���(0� �[��
-Q�DA�_��ز�7x��!&p�j��N�e._�H�@Ͽ��T�;We����vv���K��ō�UU�J^�[ی���x�
��V0��AT
-SF
-@S���{8�1x����r	Έ� IK>��8N���|�z���J�@ER����ːMF�Z�_��+ltyޥ��9k����,s֮�+�'�N��l�����hc5a
��MQ)��Y1�gi�"x"�#�U\R�T,� �����4��4�C���dԅ�YJ
�26�X;R��.���әax�34��
�l��fn'I<�$�Jrl�ȏNރ�	����
�1 ����r��Ƅ�I1[����(6+^����#�����T��X	����JRY���K���a8E3
g�2�h[F��
�{@���
�tAo7��Q��G�1�a՞��	
&3��l&E
a��E5�<q��Q-
-Pt>L[�4��1���BC|:�Œl'�-�O�>G�
��1��R���	7	��2
2�����o�c�8�KɨG<�/JXy�y��`�0����#A�z�2&�7����?���߆�)��I�,*�f�� NR�4��ML�%T!D�?�F�>�8˅�\�}6z��KXˈ5'7"��BT�N�,ȳ�ȳ�x�7�W���'�,e��L��3q�dJe���@)��I��d�6���:DSJ�tmU%��!OV� ��s��rU�+)�k��N�a�Lk&����WV�@�
-�޵0��;KY��H�J��'���Q ʙ�
-�Ͳ<0��,�����7����PaJ��gv0��/��̴\����)_��q���"�$�3���k>�� �y)P �=��!l0@?Ч�w��
��X
o�B~Ct羅 .?1�M9
B�
�j@���w��
mׯah\�=_�Ә{��Ey�&G(Њ ;S��-�~���5I���Z۪U��
-΋eN��k2[�&�VO�18���� �� %Z�B��
�ؼ��W
�F��['-h�
'w��Hz
Ҽ\�R����M�߻
P���o��ѩ.ۿǦ�W���:'#�7�|���\/��3���G��v
qG*�l����e������䩘'��0-U��
0����/�=�3rrDw+k|�oWD�
�!��Bl��]�y�u�a��Z=�

e����i(Ū��q"�ښ��C�!h����vR�1fV��_,� �E�t�I&������)J�YY��sJ��
�^@̤�$���^*oiW"|u٫IS��J�a�����p7{��
-��h�v%��mV��;u�245��6�x٩��R �-DZ/���R��5�}��6�l�uS��졈�:
-�	�+)�X
�� 1���7��އ&,�'i%q `�K�#��CU��|,$��N~���eҖ?�NR�A
�~� ꬁ�K�|I�k�=uR
M�_�q֧�<�ڳ�z
�M%
��0>�SW��5�;�7D3�*�Xd�L�e(��U(��y�՝�LI���n��P�;\Y;^���i�H�S�.
"��ޓ�lAs�Q��g.J8�6sX�)�X�SHA��r ��W�h�<h���(�kT|�*�bY�i�v
�ߺ{)p�����X=s�KFp�?�k�1�޻N������y�*X��
[`�Q
-�<}��|��:�G!�qE���돡�:}�R��_){�
��皡�, Ks#��j>vMd!���K�[�p��c�i�ٛ:Y:��ֲ��#D̏�_NhW\xUp
M@��= _��3  *�BB,��3ʬ?����>P��
�u�]�@h˞y^p�OJ��S
�3������ě@8�׋$�)E�gi
���`BvNo�	�P�
[�� _��	�}�N���[K2�P���P�ԟ%�ט�M���Z����lC�-
�,�0�q�Dʶd*�0aN������<���;S�	�.�-�'�
&�g��}FņR�+�K������Z
-�t���1(����o�_yP�0�Ade�e�����W��1������F��[�h����+Fy���Q=��o;P҉��J@��O�x������P��$� B`�_��=�Cӈ0Xwn�7�'���+N�A�
-�u
���_???�
�N_M���Ж�^Hw%�(J��,�)�;�:�<h�?+Vz�X쟙
-endstream
-endobj
-245 0 obj <<
-/Type /Page
-/Contents 246 0 R
-/Resources 244 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 236 0 R
-/Annots [ 243 0 R ]
->> endobj
-243 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-247 0 obj <<
-/D [245 0 R /XYZ 90 757.935 null]
->> endobj
-248 0 obj <<
-/D [245 0 R /XYZ 90 541.181 null]
->> endobj
-244 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-252 0 obj <<
-/Length 3072      
-/Filter /FlateDecode
->>
-stream
-xڕɒ��>_�[�*�
I�"��
�kl��)�
��Gz\�L�>��5��@7�F�x���w�?�����gG���1=�λ*��䐧����1J��i
G���
Lgz���鹱5��������ʨ�����çO
8*�%D:/��wu�������_�⃪�ݍ��]�*�mv�?��!���;6Su��9���N���M8�"}:��h�v��Ok������A��8r�{ƴ
��v�ǰㅡ��
-��ԣu�G0KӅ�vFF�6�6f���0�7�٧�
-������M}-?�qژAh�-�1IU.F=����4�ܙq�X �X��" �-���ڼ
-�y��W�%�b�D�H	r�m�ӹ���_�dk=��a�
�xM�u'� ���
ٸ$1}�!��f
�8�^�0&�Y
�+��0X�1>7��E
|Ë$�#\�-*�(�V�2�l&y�xL/Z�[����V�8�6-��U����
�[o�����M��͏|?��l>�z�_����6W��^d^�9�s^�͇���-B�?<R�6rY���G$�;g<��T��a��`�ӾJ#d��#ٹ�_ؙf�U��_���F�9�Z�*�\{w�/{����
-�QZw��W^���Ʈo�kDY$&;���ko��y��&r�Ĥ�h�NFNg����@Y�Ew��uK�5�w��0���Y2�,aˀ��u	�g
]\�#���9�@�'��
,�l
�7�4���ѵ�&�n!2�;	�z���2
-e�1��7�����������f:�����Dhr���Q�X�^������j3�ߟ<�^���S�4���<I�%��_84�YL���]Az*�#
�T*E�Ǩ6��C��D�/�5��uw�_ъt�
-�	�L3b4^n�|�]+G0��55�&����
��.�A)mh�&Z�� %{\��(��:>�m���$�G �/�H�p0u�E��*~\��
a��Ŵ�v$��L�B�(%��J)璸6n8;L�nRxU���v8E��;P��^d5g��f��
� ����L��6�ls��1�
�
�a�ִ�PQp�,�
-B���{b\�ѝȵ�>
�{����_�7?�o
��W\��1|�z�M��#�K�u'��$wqZ����^��4������ډ(��a�ƸgqV�{�7����I�I��k\z�V�
�3�/?"�Dz4�Tͱ�Û閤��02t���c��u�����&HBN��,a~㮡���E�3U-~�`C9sT
&>\����7�tF��P�&#�S�b�E%ց���xJ2�c�+y!v�*޺�ʋ�R�R����0[KsmB�i)ے� 
�3��ae��0����gigA,���Y���0��[�� AP,>8c
�4nǃ�� ��ِ
<
�RYƹT�\��`�Z��7ġ�:���'�*�d��;5��gC)zI�xΡ!�9 
B��q�ُP��j ~���̓�n�i^�Nh�����V�rv�
vЭ� �2��Ur�Ƭs���rj�V%9��5f����o�e�I��>)#�6��g����4�a�л�)�R�F�U*���!N<C)"XגT��!�hv:��� [...]
D7��(W���t�4��(�� Ф��O�v2�Tʨ4�/��dnX�e6/渗n�3�.���>]��h2gi����/G��F쉜Ğ	'a������l��"
U
W�Gd�7�����ZVrC��N
,���~�^]-y�Gsy����1<���:tS��L�z[6�e�w��a�4
Ћ��ܣ��7�Iξ�g sx��
��������
A�~�?
-���N�M��
-�8����H�څ�ڃ�I���bi%!r��
w���:k�/
���" �@?-v�~��r=e�����O,+s�%�~���}��e�
n��"��CHd�'/qF���"�H��H��HȖ�`���s@��q-�����v-T�Kd}~��4H�=1��2ưj~ow&�S�?���g�#�
Ԏ|9; e�D7��i�l:g,[��w
O(�$����ޢ���ңVJ�g	� dM���,q{�
�7�=lI`�
���xV�@���h}�"v}���(�-�h
��[7�
h���=��|�i�0��oX��ϱ��f�tR>NX��;�c��o��=*p(�����hN~��y�RzE5���آ�$�{2I
2o�Y&%��~���Eo4� �Cl�U���R��Bp������y
��+�`�	]J`;Ȗ
��%	'
0�yS#K/��\jdl>��;X7m�r���f"����w�`�>	<�[�iW&���w�(������#�{���$�,�Y��
g�
"��8 ��&�O�
{_�����5��.@��.y1�c�xa���P��t
6�谈H�����W��9���<������֧Z��U��Jw������]Q�.�(��V3aJ���Bԯi=��J/��b��gȇ�Ȝi�1��}A�2/�U�<�9Y�Q,��)�y��87k�l>�y�A���B=�5ck�e"2�%�qץE���Bp(�0=]�T���o�〿��@��
��B�,�W
m���E�_Ҝ?:�Q݃i>֍�-/8����
9�g:ڹ��h�m��(M�Ta($1I<�.+Uaݠ�/XC�79�WJ�O�eW��ê|L���U4��Y ����3�|������:�Sv����)��.`����^�O��Hv>����,UR��������P����yu�sɝ����<2���j�4�� [...]
-�¯e���>>�ot7Q�`�n����� �F�ߓ����ƈ0X�w~�w���<�W���8]�2��?�{w���p�:{�v|w�6�VҽN�d���<V`�uT�So�</m����G$
-endstream
-endobj
-251 0 obj <<
-/Type /Page
-/Contents 252 0 R
-/Resources 250 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 236 0 R
-/Annots [ 249 0 R ]
->> endobj
-249 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-253 0 obj <<
-/D [251 0 R /XYZ 90 757.935 null]
->> endobj
-254 0 obj <<
-/D [251 0 R /XYZ 90 630.537 null]
->> endobj
-255 0 obj <<
-/D [251 0 R /XYZ 90 399.665 null]
->> endobj
-256 0 obj <<
-/D [251 0 R /XYZ 90 283.345 null]
->> endobj
-250 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-260 0 obj <<
-/Length 3484      
-/Filter /FlateDecode
->>
-stream
-xڍZK���ϯ��TՎ��Gn��벽v6��C��#B#�R�̇'ʯOw
��8�/"�h4�F�!��7�>������4��"
���aS��,
vIl���/^�}
������aۙ�O�s]���X�m�[��y�{������yz��!���M ��l�E�fz��7S������|�*X�M
F�7������6�h�	���c��c�
�����C�/����0�Eq�i���ޯa��f��m�{��v�y0�
H�}{�%.]�r
�ql��v~=��>Ƕ��k{ ��M�̈́<
+
�Xmob`����>u�KgN:�]m�7�v_t��s�I�)E�
z=V�#n
-4��&�ԑ�����Tf>9��
-B`T��^^�؛�v�i��~�MO�W؏�?�A�ٮ�چ�c7
,ۥa<]a�I�����{��7*
-�,�3kS�z�7�Mg�Q�h�c�J�
����z�J
p�����be����ޭߙ�9D5�Ø����hg��Xu�@�IJ0C	ך�0�P�w��Z�
�m�u��ŷj]ռ8�ϺVߞ�dR~lWH�mw���:B��S�8�<J
g"�)����ZU�c?��X��ۺ&(:ՠ����
�Q"���ŷi��Ē�5�z,-�����Z3�V.	�+�����
�
�.�����[�<`�0v�s�Ԗկ���@gsȑ��a�.X at Z�F���!n�<v綷�Dr�Hzc1��&�j C�`��m
�a�
-L�Y�`�{j#��K�0�Ԋ��x���Q�AWEO����wss����+��(‰�
��W�N�f�l^�����E�
g�
��D�wiG 
>M�<Z���A}���SgX��*˼�c���x�%�-nד����'����Tk�š�]
�p^����S���1���7'[-vj��J�Mb.
� 'z�V��
vu:���c�������

�nltV����ܵg�M�ٯ
�����|� ���:��X:鐐t>-�{�X*�����t���|dvF�8n��.MZ@}�Wի�G�tj��@�ӹ���h[�ntE��oOd���
�C;Ka�ƹ�6�jh_�:�X�%7D
�?��[e�@��$;���O�~��a���K�� d}{�q%}/�nZ��vf?T��\Y�V�O����a��}$�w�Տ"+��j�P:�Μ��!Ҍ��mN��H16=>
|f��B�i`hx�t7\ 9Y��K�Y],�`|����u�=K�`O��/u���UM?�Dy�|�x�j�
�Y�v��	����󝲨�g�9.}���K3�x\��l}�
��lFT���;bY"gE��uۑ��ۦTj���
�/B��݉�eT
�4��=|�O�g��j�\�,�@��*�6: ԟ�f2�<�<8	
��������b
��,��Q)`<���5��"f��Ȧ���qM���>�:q�r~�~��k���&�9�$���. �~+���vO֯����
C��P��� *�r1R+4�{#)c�G��'[N
�
�x�Ӳ^�wL�k�}�؇$u
����=w��@:_G~��L�9e|�T�÷au<Y8{�<�k'vV*N�4Ʃ��bqkd���t�/43�3��8_�磮�O��F���8�Z�yB^�<n�qz��zJA�.�Y�ה�\*-U�3���IF�1Z��$�H at OnW��\�A�{���NO��
8{OtH���Nr��l�v֯^�>[�
��$3��4�3�0UsŜN�F
�Y� �7�P�4����n.�ԓ�O+ˌ�B1g�xEl.^�<�v���v�ۉ�G�B�o)��R�[r���-�2w>b��XKC
4��S��g�:�
2
���V�4�\.�BE4:��b�oD��1�d/�·?ۺ�W�$Ѣ"_�SuU���%��8��Gdriߔ暱C��Or�ؽf��L-EZG ��ņh �Л6���`�@�Hհc���A�b�M���d�M�B���cW��6��}Λ��D�z�J��W�J8��|J�}����YMV���sW��Z�
��a�%k������ [...]
-U�"^
�x�`�?�~K��)����.
-]�٘"^�}=:k�B�9�_�徚`j��%΀yӞ
y?S�5�y�!S�S5N
-�PG�@e.CL���n���&�
p�f
-���o�2޷�
5�i�
<�)NY����ܰ�..M%�p����:
�.�Le6��
�.��\�.[�l'z= W|1<DQ�Bw��+xK�q1��Gy�m�p��h@���R
-^pZ9����=Q7EQ
qu
����z/FO�g�PQKՂ��r��e�
��|.n�]
�o�a�:�
H����(�a�VF	��Q�dy`��-���4\���w�H�P'k����0�\]�&�D��Hj	�۸�� �@RGa�\
}I���A�����âC�w̦Q���w��"W���=����r78�4ǀ��6­@�Sc�>�r�,t�Aص�5��'x3�[�_��|b�>�[0�`�N�ʂ����
-)eE�5.����J�N�
�<�Ic�F
g���ܬ����d��;t�	-���BT�"��6��hiB#I��&�!bL�`���
 �R�?�YC}�z�|�cW
�X�^��|�W=
�v(]/{2���`
-<�C�J�
x��{��/�b^u2]U벜|��
�%P�(�
-#����U�@���q�b�>�FR=S��z�y��f0���y����:�%�365,G���?%�d��u����v/C[���-β�v����[��U!]4����t�!8��l��㧖������:JO��lG�7�>�S2����i�;H9�v7T�*
t�D�:�)_)
޴�<Y�D�,�Aߐd���=���[^��5,�"$gr�лz֒�S��"O9���3��u>��T/���m<
-wA�����O��籓*��Ws�?y��W�| �-��_�O�i�x���E.��~��蒡��e��K
V���:K�,��n@����
9�2��#���,�/Amg�GYl�2Ʋ�@~3�Y��%�cR�\�}��CӘ<�W�C'è½���B(��_^��iɧ~w���7
/�~���� �
����

HqRf�����L�%�W��
Lc۱���"��<�5���l)U�򄞔F�*s0U���jȲM���C����%�h����5yM	�"��qi]�9��b�xqg�h�����+�}�K�JǍ������d~]g0�Ðɲ�+	�]-Zf��IWK��<�_�����Si�+����mJ�.E*��,���RI�K����;�'ޯ�N�Z
z���r�e������H�:_�#��Ѽ�����
���so�?�ЄM�je�@h�
-��
�]�
ֈ
��Uf�_6���
,Y�+����_�p��������}������=��WܽaNĻ�(
��{�ל��P�s�I�mw{O��	��
-endstream
-endobj
-259 0 obj <<
-/Type /Page
-/Contents 260 0 R
-/Resources 258 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 236 0 R
-/Annots [ 257 0 R ]
->> endobj
-257 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-261 0 obj <<
-/D [259 0 R /XYZ 90 757.935 null]
->> endobj
-262 0 obj <<
-/D [259 0 R /XYZ 90 716.221 null]
->> endobj
-263 0 obj <<
-/D [259 0 R /XYZ 90 153.741 null]
->> endobj
-258 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-267 0 obj <<
-/Length 2850      
-/Filter /FlateDecode
->>
-stream
-xڕY[w�F~���m�9
�;h�0�m%
����Aat"$"�8�_�uk!i�=�������._Wc}�6�W�뫛{�x#�5��z?����5F�i
ֻ�o�9�b:����� ��"Jy�|~M�-���6��&˞h�>�}�ӕ����ʀ��A���hl9��������?
��M�$u
ئ�t����Jo���
;Mk���Y
�
-��'Z6�

-����>�3s����<M�m�܈iE>4t�#J�&����:ąZ�
m]�kh8Z�>��M��(�
rrD�������GU,
-���s����fƘ��Qp��y��;�R\76�w<@$�el�.�tǴ2��r/�yu���qq,ye;�NJVu�����Ui��[��"J2��Y�1�i*?�ߙ=�d�`±KF(�I\Xb�#Ó%�5~���M)k�:1�juuVO�{����,Z	��Ȳ=6`�W�cY�'9G\���:Z.i�������I�1)��W��7��X���!��I�aLʋ*
-
-|�$�C�,�͏�I�`�

2���/*��
{ʽ�*
-	-v���X������-�Z X,B��r�k����˅Q
&u�&MHF�U"1�L�����1O�_�N��A��q}��f���
�W�;�#�`�紒l���Luum�b�
a�͂q�P�!IS/(��4�E��~����.���z�zH�I��hO8�B7+��t�ij����y���o
-L���3 ��Av�s6�9��iEu�aRGƍ� +J xL���53�l��"���	P��MP#�OW��&\I(��qeށ���;*�[�����-xƂ�~P��ѥ�D'y�vO���(

��F����|�P<�!�*�!�w��0(偩�¬�ET�
�Jf�|gFJ��1P�R&QR�@%�U CUGO���1��c,�\Q 
�1�X��ՙ
- 赁��v
D��
F���L�I<�����H*VR�x�' ��4��
��F5�\��]�����.��$m�ޕ+T2��`�R�:
L�zM�J��U#�V:
���J�
e�6�#�o	ş�Š�3�3��gH��^5���
-�t

b���A�Á�<!����f\*1l
q��	p������ۭm��eٮ�
�F�lD��Fd�X���i�W�Q_�8I�S-X��)��"
��Ёl�$&�5���"���Lmi~���W���9%��mH��}��#[]y6��.���'��؂>��Zr�~&~��v�YxiD`�Be��p��Z����b|�1Ӱ	hc6 mLC(�&�nȬ��:�p��1,���I���d_:���(�YM̼��|��fR7�=�ݸ�
�€�+����x����T����uĻ�[M�	��?��ك�][��=ix��3rUB�� ���m��i;X�u����\��2{�r̻�p�r	L�v$��Mö ���jg����
����
����cx6T���o���'xQl��s}@��r%�c �@�&({�_��'�m9c��U	��#��rg�.�޷Z
xQ4���|I�~V���1Tày�4���i�E����
�A]��K�^^Gp�}1������J�yxg�? [...]
��a8]��1�~� ���9�X.���5R,m��eG��u�/ֲ����ڿ���>?σ�7�lz;��wX�=<'��Mz�y�?�����/��D��l /�J���C�b�CZ
2 ���y	�u�x`"Y�����[<<�Y�q9���U�����
��X��O�g4x��+!�����|&� 
�2�!��ey��
�/��q�Yˤ
72瞿�ŷ>�w����b5�}�Պ��jK!O(_-����&�[,*2&
�O��])�,�5��Zu���S�
mås�PBO~8{E�6���.Ƅ%����TIc`3���f>��&|^����ʞ�:��.8
V?s�KQ����1a�
�]3eSi��\�0�i���̡�*'�q'7����y��oC
$6�>W� W�w�s!��AK'���LO������:��_�\6��t��<�-�T�
��$6��`��  �uG�����kc�م�
� ��R��e�i��gp�
��s�j�h�pt�D�I�|DA��D�4���J`���bNi�����C�ܱ br��p�`���(��x}^�թ�2ʂ�h��{�
-���&�ᔱ�'�+|E�jBқ5#�^
�<xZ��T���q�w\|��	�[Pb^;�]A<�6.��Jr^3����<��MS��:[q1A R�
�ع�Jtը&��惿���
׌mm����9�@] i��瘼��\@�`��5�e��)l* `��=/�n���>�
�a9hDR���
1��|�
�� ]�
&����w6�/�Ȳ�>0e���Wu+{�D�s
$B9L%396���6����J�&�������uX\����]c��1{��o|��h�&����!�7�o��@�=�9
-@蔂��g at T��ˉ�+�;`Ւ�F#�V�����oD������3&��o��/�;���D���x#DZ�}�X�mo'��Փ��."�Γ�"*>x2c�y����7Y�/�{zo��)�~����(;�Sx�������L�5��8g������_\�q.x��t8t�CU��}s���>ږ�s���QRݜN�M˻
��=r<Oi�
v��]gH2 
/��f��
i��.
-endstream
-endobj
-266 0 obj <<
-/Type /Page
-/Contents 267 0 R
-/Resources 265 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 236 0 R
-/Annots [ 264 0 R ]
->> endobj
-264 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-268 0 obj <<
-/D [266 0 R /XYZ 90 757.935 null]
->> endobj
-269 0 obj <<
-/D [266 0 R /XYZ 90 660.116 null]
->> endobj
-270 0 obj <<
-/D [266 0 R /XYZ 90 555.752 null]
->> endobj
-271 0 obj <<
-/D [266 0 R /XYZ 90 336.835 null]
->> endobj
-272 0 obj <<
-/D [266 0 R /XYZ 90 196.605 null]
->> endobj
-265 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-279 0 obj <<
-/Length 2530      
-/Filter /FlateDecode
->>
-stream
-xڥ]��8�}~o1U��ؘ���
{����٫T�U'����k���u�[�g7�{Am��j�w
o�
x��Wo�W���p0q'q�����cߍ�\>9��Uy���gd!+����~����;�ʢ�𑄣�����߯f˫��|8���v4v�a4HwW���k��}��$

�n0
-B�����W^��Ȼ�3]/�������p�8�w4.�on	�}�{;{"���Ñ�,o���p8ӧa
�y�tA����8ӷ���b����Y@��<,�7󻹥 ��+�w'sK���
��)�g
�/T{���&#��] �{μhd5���đ�h�.���и�)N���G4�b�1x&[80�!�:R�7q�L"�8kU��P;8�,hF8 /��D�
iƜ�[r�S���\��ʕ�/+=�#�ZK�(V4�?��RQ�!x�s[5
,V�G��Ԝ"qa;�
;#7����iG���֪؂�F��h
=��xJV��%¡SIs�2áݕ�}�Դ��D�Ӵ(��H s��@L<
A;]3�準��C���v��5S-x\�:�7��V����P}�tƎa'R�Q�������tQ�q��A5��� �X�m%v �0J�}�˺��{�-�a�D]�w�:1�e�zە�P��]А�:���a�D1b�>;P%�}������H���8`Ϝݿ%

8.gON�������r�p�h]��X_�^��[���aͤP=lFxH&k��������C��
�G���{q�������hr�A8q�zOf��'[�A�fU�ZA�@sek�(��8D(���h�K5�n�����[���7��V=������*絽	b����L�b^���y�L�}Yy�4S��[sR,vu!����4�\���<S�MÞ�3�L���s��.!��B4n*�p�F^��4Ŗ'��ZV��[�1��ך���X��Y�1VQp1�g��",�au��\w� �A������F�mY��|���5��Jg����옠ngxk#*�f��d�o
�����Ϟ�&��&��C��$�N͏�'6vgƀI;��|_s�
8���7�12��kX	�6g�0B]��L�s��j��!�7��KQ7�|��F�Jm�&FgR�I
-�*.�_���9�����J^���>��
��16l��\[�����8$���� v���P�z!ۥq���O��
�ꫝ�`{Q�g!v�`�f V����<s0)٬�ֲ��Z���U�	��yr��%	�v~�"�~|�}v��sc(�=�x�d�'��N|[�ľ� /�
�%�JRdS_�pՑ_�'):!d�D����mLB�
A&�te"��ԉ�N���U;��
�δ�P2�޻]3-�lK��%A�mI
3���Pg�����=�]+�ˁ�фMA��&$�?����"�Ǐ��3s��4y���5������EƂX�Gv�\���d&���-���2S��]2]�~w�(��jV����˾
�!������yI���<;}z��/?������U^��ve�,Ӈ��du�
�a�ts
LmǪ!�ϗ��ł?��4���M����)O?>?A+8���h<���s�����9y�5�5�*�N���lb�(l�d*!���GH
���{d.r�łէ%}a�V�s>�
-{N-%ߙ��
,��'ڕ5M�����pp������:'���3�?}
��w#����/#Ӽ���zm��̮ۆ�i[w'tPP�p9H�pd~9�.��J��KQ�����n��ݟp�G�ul����_U��/��E�Q-�F��լ74�ϕ{�
`H�،�'媻����
�9MS�Ֆ�-�
�:5wO�)�ԯV��
-���>J�(
-mN��d>��d~��}h�E<s��kh~e}�I�7�����쎣��Co(m#
-�v����
�ϏOL���xyQz��D�W2�k��u�FO�T���
�L�V�����+}�/����$�Ɇ�s,58x�y��"��.^
-�kC|
^�HN��)��x�(��=�<��2���X�fz�r�yͅY�=�����I�< �qb^�L$�'����_
#��b�w��
�����=PRoUɢ%����H����sB6�`c��s<a�Ɗ����D�ކz"�25����6E��0>� ed.:)b���& ��
,�I�H�A�#��mX�6-
�v��)�<���Ɋ�>��L�N3�s|b�bǒ��B�<����s]m�3��u�}b:����$n���)��<IB�$��-*�
X���w�
�5
Rj�'��&s&v���)��$ݬ��+m���M���H���ɾ���?���K~����D�SX�C�K�T��U�Ep���K漤��C%�\�'?���%v'chS��h	nԍaa�<��h?�Q�G�*A�wjU�J��
�܉b�[�?�:)M=ײj�l� ���=��N��\�:��Bt��1�@�Z��*N�
- m{A�*�����\�\���h�D��Gn�S!���dà[�}����.)
-endstream
-endobj
-278 0 obj <<
-/Type /Page
-/Contents 279 0 R
-/Resources 277 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 284 0 R
-/Annots [ 273 0 R 274 0 R 276 0 R ]
->> endobj
-273 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [314.956 295.063 472.963 304.17]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
->> endobj
-274 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [152.087 86.911 321.452 97.192]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
->> endobj
-276 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-280 0 obj <<
-/D [278 0 R /XYZ 90 757.935 null]
->> endobj
-281 0 obj <<
-/D [278 0 R /XYZ 90 670.268 null]
->> endobj
-282 0 obj <<
-/D [278 0 R /XYZ 90 557.938 null]
->> endobj
-277 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F78 283 0 R /F65 179 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-288 0 obj <<
-/Length 3166      
-/Filter /FlateDecode
->>
-stream
-xڝ�r���_��K���]d��sqƉ��i��N&�DB{(R�(��wo )��t�B ����+�-�
o��ջ����$\dn���e�ȼ�*��8�/��g'\���|��+w
��O
�y�����;ՕM͠�2�u��Ǝ,}������oW>��-|�#^��0^������Xxn���#a�QB[-���~�M�{�
B�Kb>�����LN���u�����_We���8(�2~�t
:h�/�_�yc�F�-㝚��i�F�-f�
�)u�̉W^��0
��
����}7��&����d[*
���4=
F3�*��Ib� A�tu�N��7u[������h����w�x�l�1D
���
��7�f�� �U�sl�� 
A�
�n�����49>'�H8�R�2�
w��9fAK�sT-`:x�W��C`L���RQ�<�%� �*
-NXE!�A����N��g��+�g��J��w��
����

ԢҊ�ǎA�h0h'h���#�j<Q}?L�8Na�v�u�ỻ����n��m���+��m���qw�;�����u�Jva��0� ��,J,eq�O��FI�8���rc/Z܆�
�<�
���A[�����,L��?���i�a��7���,���
?z��
(�\p���.2����n����o'SnwpY	��{�����z7��o������`�C�~n6�Q=4}]�7
x�swPr����Q�7�2!�ɲ�r�6Cݪi���5m7��t/����n}и�|}�?�5�]?��ͩ�尨�ز�w��!��9��{����l;S��N( �5p���Tg��a�;�geM�Ȋ�c�^n"ߩzK۝��6
����.F��T�8]�9<4Lp
_����ӻ���Jz���D��{�
�l��t�2"�\�x�=�7tX2�,��Uu#�U��n�4��i���d��9��,����
px�ƣl&��7 [...]
-G-E�+����6y	��GY�m�L��g����y�o
e�j��ib5d5Ր�
-��C�7v

 �
�0s<�`V1h%D�V�
�j���$Zh��c�
��1P6�q��LV7��0� �����8쬵�/
�
]0u`쀠�]4l���@�+�
��F8�'nI��љ��&�6�x���d�b	[Z�:��
 �ȵճJo�kdt"�����ZQ��mP�@`R�>�B��ʭ=ߋ�393L ��V�¾ՕU���5�-�L�
/B�8vZ���V�(
�ǎgAe!���۳u�2$C8��b�ނ�� �BB��ee�Eʐj��
�-�5�
\2�v�M
Z
���F�����)y�0���B�`�!#}
�bo0B
��m
%Ʉ�p�8
�tD��n/�r3Л

dA��ֹ�c�ɨ�ز�eQ���wȌ�5GIHwp�7�n�V�A�\%yMD
y0��ܪ,���ڂ�X�`�x��"�n>1��N�t+ј��1����7�Sv?1&���bdg���*Td�\I6��p5Bj�C@��csOafG9ò!��\�)*�6�G� ��B
�o��<�+Ⱥ� H{�i�C8(�*��<TV2k��s�I�|``0 M�,�
�=�m�H7/
��:uy8�5���t�^ �PJ�>kK��
D�:�o�pS��Ek�|yz|������'&s����

??�<����x�4���j�
”�[-3��
1X�x��[��0���0��ۼ"���
�ā�ک�������t�TN7
���Bc��=뗥��<r�T�, ��*Ʌ���D ���z�}<	��ML;�%�:�%#~3G��{�)�F�M�-�E�j2-⬊��#� �3P���UUw�����Hp�z�!i��0�Eol���Z ��	Бd z�r���.f��}�q
E0��;�#�Aa��\�e�ޮm��	ݳ��9��^"�
��0�6
&�+�w#
-� 
���la�
8I
���ʽֈG���l ���
$�	$Ȭ���U������F�|U�d
-~"C������Q>a�����`�>t�gYCg�&qPn�=�%CQ!r�")x����J�����-j9�dR	9��K�65�J��n�
�8���N1�)��#�
H<�=�]�̚�)����Z<톧���a�Fad^�c����%��7O�����1������g��w\���¤dž���!�2qQ`H(/�,j^���
)
��Aն�&���^m���{��Ĺ��މ�Ϛ��5�85N�$������ ���G1�ሷ1 ��!+�&�h��B��Ag;���
-�ٜ��9�.y��z�vR�Ppǰ��
�W
4��zn�nw偁t�#V:֢-�I�H��m�X5Q�P�r����!c��T,#��j�K|�kl��'b�F2�x�o~rj��D��,%e��BC���O1%�[
	6b�������D�e���3:�ˮo�a��[�f��(�'�#8<�>`|P�c�b���'H�<�N�2���q��_�%S���AGi�@)YGӇ��
a�O��M\��
G��%���f�A�0�$�3֊DJ-d"]cʜ�
k�����5���}��ΐ��|#�F�Q��-IX�E^]�2��W�eBuc�}W��'r��
<4d�r�g��u�gc
-	;�����^F��v���� \����!U[!�4�6
�1#
*2Y�#)�ە]��
J\��\����I=��8�Hc�����x8	^R$f�6���$;��C($ɭE��a���`T
-"h��)x$q��Y�1�Ø~�!Tɖ��s�'��2�Vbd���']>t�z�[ThD�E;B���˜� �B���_�)
%
#����V�f�e�Pxu3X�z�[y�$@��_$�fuC��i�7s�m��R�6�6���t���8?9@ʋ���
�-�Q�g���+vh$�R�S75�
���˿�I�f~���L�?�7[���D�37��6�?N� [��ч���N;]ųO�Ӗ��Ir%>�� 9���j3���$e�a`��')1 =��� c�k���?�#_]/��A
-ѥ�˃q������?CG"��q�Y*����!�� �S(zuO���
-endstream
-endobj
-287 0 obj <<
-/Type /Page
-/Contents 288 0 R
-/Resources 286 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 284 0 R
-/Annots [ 275 0 R 285 0 R ]
->> endobj
-275 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [225.562 684.047 508.501 694.951]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/philosophy/why-not-lgpl.html)>>
->> endobj
-285 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-289 0 obj <<
-/D [287 0 R /XYZ 90 757.935 null]
->> endobj
-14 0 obj <<
-/D [287 0 R /XYZ 90 669.352 null]
->> endobj
-290 0 obj <<
-/D [287 0 R /XYZ 90 637.423 null]
->> endobj
-181 0 obj <<
-/D [287 0 R /XYZ 90 637.423 null]
->> endobj
-286 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-294 0 obj <<
-/Length 3695      
-/Filter /FlateDecode
->>
-stream
-xڍZI��6������P�u�\DR��{:c;�qg&�$��Z|�H�K:�������q."P(
-@퐻x\���W/
�����E�J"?Z<����#o���a���	��~�:o?�,�7���8�H�U�uGS�i�W����)�� t�`���W����򰦻�x�0^�A�ȎW���.v���pWA�Y<1�q��|��ǫ���1��;��Vn
-�,
x�s��Zz��'��Z`��u
A�j�k���N�Lݦy)��Pխ4OiӤ���^��o�d�wH�	�"oZ��A'��Tg������g���H�ϓ)8Q
ǭ筒��{L ���С��� �i�U�۱@b�ZMzn�0���oX��"֦0icv���
�C�Y��6�n����?
�ٗ���Y��fn��(��X5�
-���\�ݎ���iC>3���	D�9 at c�����t�U�k�������� v��P�:-���lI ���U'�}$�/@�0\ ���e UH�
����&ݥ�Bg�D��!�\�٩6
(ѵ�:(���W�1�e�Usy�l�9�,��u�̪|�TD����P�5Z���a��~
-x4���B:�n[��W�Y9!;M���=�5�h>�0o��Q&��w�����N��C��|Oi�+�s2���L�#a/Ϩ�T���.o���!������ ̏b.h ���Jŗ�%�)��E�h0ѓ�ђ@�!j~���:=*=��h����)�{�A�6����rg
-�-{c���׵��O6�\�΍h�hՅ������0I�婳ƥ���
-&�5���Ү���gDTH�
-Ùm�"A�f��d���,pV��.�p�]���SS�c���;�]��\�#ݎȤ�2�
1WJ����Oyc<1s�#
d>}�\�Es�yL��݉��7�q�[��L1�
��vV�n�)���`��z|�=�:�BZ����MVu5�@�M�5�農�c��\��sȦ�< ��NL�S"O����J��P����;TdF���NT-5;
].�,P�Z��mS6c-�cՕ�*X��C�z,(
�q��0��e�'2��Ң0��<�8��Y�����x*8�q���X��x���]����h��X^fEǒ�S!1��?����&YڊU
-(�����
�徲I�f�G8��a�Ke�/���
�c������;����:�%�L�#��8[����
^q��Y$I���6�JZ������t	��$q�x���Fz��1>fu~j���l��Wo�3M�X�],�	�;�Q!إfA����p��B�Y�`�jƈ4�};��,
~�
�s��퍀y�F����oW�h/jZ
����>ϠZM� ���ou"�����pb3�Z���PlO�����IÙiD7"�"V4S�"�"��B�yv���*	
�@��3�����&�u��Q��H�L�̕hd���7_�,]L���hR��B�5:�d�D�B&ѷ���$ `{�ev�VY�@�[�#llrV���Bkw�~v�h����*E�C�;k�
�#5�y[h��l
��Z�
X�H���qʀ�@�f�l��ⵖv;�=�� |mS�oĂ���pӉ�E-��nF�,��x���J�4f7/�
Om|�P�p�d�lB�maS ?q��Gz�`���o�6���
�N;������@�N'���s�Y�~h�V��k�
�R�
����%�A�	��dF.v�D�{o�;�o��eh䟓���b 䓍]�	N:�K� �X8��YS<(�Q�
-p)g��f�����m%�S��h���Μ��������S��}i���*'"��%ke(�~��Az�jw�����g�>Ī1�
�p��Kf�&8�O������BV(|��(h!EPt�]��`F(Жd.
W ��ƷԴ����)�����E炈�
!��G����OS���zًD<�x0bt �*/pG��3QK�5�iY)����;�
��}o���6(�h���l�Ɵ�N�QҮ���С��qMl#|9�l�!��_��z�����R�p���.��V��W�M�@�!I�����3���Y���
2���J�(�"n �4R�TӨ��)R9	���k�s����Z��yP��`�u�:Y���yB}T�A��e¾�V>�ksTA�RÍP�>R$tU�9��<M�����g薡J
�}�F�X���T�Q�8��s�ԯ��W������
����6$� �؇����C�Q��D�N��*2̂����������W�Of*@�l'�n(�kр5hr��|��/��q='
�@'��s�)b����\��f%^�`+������d<\S������]#c;�_��PCT�"���mHi���jR�۬� Vp98�"ֽ<5�85���lh�GI�4P�I��
�����ɨ�6Л�(Һ�f��K��n��1�
_����׋e at Y9쇻�B�����>�2���n���#_Mfc��
-6�
-Df�sD�q}m���(��)4ϵw	�м;¦�}�����UG�N�K@����Uy1�f}���p�<�DVI7q-F�8K
��8p�qMuWA[�(�\���l�(��3

��,w�زv<�T��@Ne��
�F�j6E
�����R� BQHC*
7��S*��
Z�-h�N��J�V�\*�HAs�T���'Ph*�e�/BD��+HA�
�J�)�lmxrY�M��'���$����O/�Rfv(a	
-�4i�I؟h��j
a�2�+	��QS]JG�!�3oMi,j��Z�
�'�1`��љ�����>�K1'�h�"���Jxrq�R�"_)��4<�9��>��J at X6ֶL�
�6*#{˅0�����֙�aS;0�
���[jʪ{<���[�veM�=&j��Hv��*-��f�6z�XT���'y9����H�Əgâ�����%����1��3
!vhmd�nG�x����
�<����T�!{]�t�:
-�x����D�����w���0X2�@%
�9h��
�ӫ ڔ؂�΂�/y�T�j��xԸ�_O���j�R}T��ޒ�Y֜κ�QQ��h��8F.��q��ؖU�!��3_
n"
ŗU+Л>��ɗ/�XS��X%A
�[Q5=���
ɻ�<S]���q,C�Wb�k'+LZ�+�?<��Tm譍\�>�7�B��'t��ȹ���v�ަ��-�������so��=��N��
�_�W߻��s�u�hH����Eš�
�Ҕ��=Ƴ�`������`G�^{���+�s�h�D֞&��F{�?����GP=a��&��Q����ᾧ��;�M�
-.��7l�v��s�`w���s�6�qh8�Fu�`��6����� _��8��K%l�(s���;*C*��Ƶ1������{�����Q�@F��9�ϳS��I�I��N`�?�j4��%���b�F��f���G�Nu�
��nh�3
��}�

�>��?��Mϥu��a�!���?δ���gd��-�9^>H�镍l�*��Pe����Gk�W�h�J��������W�J�`���
-�U^�0�@k��1���W��`�
<�.���t��KAy��5����{Θ3��+�
&�Oˎ��@|���� tW����=�����Gc�0�>/l��O�p�/�Y�>F$[n��wϞ===��fՕ��^��3$6�.Nwr8��^�Ib���SWP�]J�$4���'���
-endstream
-endobj
-293 0 obj <<
-/Type /Page
-/Contents 294 0 R
-/Resources 292 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 284 0 R
-/Annots [ 291 0 R ]
->> endobj
-291 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-295 0 obj <<
-/D [293 0 R /XYZ 90 757.935 null]
->> endobj
-292 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-299 0 obj <<
-/Length 3241      
-/Filter /FlateDecode
->>
-stream
-xڭ�r�F�]_��˒U
`p1o��(��lYު�$1�G����kR�v�T�LO��=}����_��������D���6	���~��Wixq�n�կk��c����x�n�l�5�^6���>�˦f��r���_�� ��~��ի۫�W���#N�Tū������U�W�����LX�U*�V�W�������켡��$����a�p�����<��.���{�	�����M�
]�i����1([筬�7
7�؄����cY7Cg����=O�h���z�$��@�Z?4cv�f�
-n��~vt\��d��ֲMUv�.
J��
��s
�6F
��~�[�;���A��y��9�
	f.����v��Wܞ�%�ĩ
�P�e=����z�<����AN~��u�Y*R/	��:�I
S
-P�;���P�=������+�	��)��GQt���GsdE:
"fp=
�t[���=6���`(���U��8t2_i�B�zW
���9~��q�ݡ��5\G��y�v���uw�#6�$ c�t��D��)�y�My���f�L
b
N�@w����CO�꒗0y��HΟ]s�~��\׺?#J�~��d]5;1
��o�#�·��&����Z�(�uV�
:�, �l�}@����v��x�>��&�m�ɋ��2kf��y
l���-8��ڦovM�q7�R_�
�X3��V�2z$��e¡a��-.�[���yQ�b� �˼�P2#��q,�'��J���x]�}O&��	���dN,�N��Oxl�k�ƄGO-�z-�`�N
����ꚧ�5��F�ܝ(3J�i
ђ�B
�V��k���C&�����l�a��@V
�A�{�*;
��@v4P�eU1��ǜ��%Y�E�d���$5��X��nT�0
��;e>��
-�3<�
t�r+��=f�
�
;�/�f�4�����-�3�e ���)����J �ݵm����e�"�կ{qL4��E���n;�)�C��_�
�R��a���
��Z�%���N���G��8
��1� ${���rh��o�
>
4�?4�lH������Y�D��wzO��7���}\\<������
KثM����l���-#�x�֣�l��p�����QlP2 ��'�8�w89�/Бh���9^�,Ĥ����`!BK����˛�7/��l������?��I�8�o��x�(e���mG�Db
 _(LDf��5E�q�����H$`��y8R �.�"c*"�5
}7]�����jQ��@�"�̽@��b#������6�Ҙ�
�� 1�(�
zWv��-B�-I�8"5e
--�Ȕ����ުb�I
O��6d����!��i`l:
TtN�օ�"(��=ʡ�1O�˽&�A��Œҝ�
�U���t�ƿ��:~kԱ����MT�2�l�����9�쬁 n�v�<��}��o)34��*H�He+�g)��[���ȼ(�� !�-�yzihQ>⡕��A��a���/�J�A���ң,
�;��&4��i^�U�4�{���
�s�x�
e���'HLg�{�r?;�#���
�Z���
/�x�.-�OII�JNbaı�
� ��#�("YHd�Һ���Ҳ���+C��#6�M�*d	� �M��P�o��
��dr��
-2$;�`r��pD��
-}�
-ƹ]~���hR�_F�2
&�
t��A6h�"[J\ ,�+*+v�
7�����uϢr'�
�Q��>]�r\�
���_���#��נ�-)��|��$l�D��k�$6e��#
��p$�$;ů���2;�HwXcpϙ=�Zݝ ��m�/4�
ʓ��[uAb�֕����v#��b�2S���


��~�e�{-ե�
� ��+ at l(��I �km��ƩkQ��,�B
��
�@��������HW�q����ME"��_N���'9��C�TM�i���������g�
�p�w`I�e�d$X�Q�ߨ/
щ �
���,��
�0u�FMvh1v����S��ٴ
��&�9�B�K"��z�q�"��RkE~�խ�t�U5;��`��
$��
����
S��(�
-�^=BP6)
-���\@�O`�B�Zۜ
 19�ޛ�
���4G��XF�
��8���Yڐ�����^

o�@X�|�^��]��qj�n�$J��#$��"���V1Rc���9�U����>CX
^@\(G��ʦz��ѩ�p�
V,Ԧ( ��"��<#�\A2"w�z�*�Xq��(���(��ɝ
�r�Dg\���&����A��t����ݶ�͢ (Ϗ�G4J):I�	��&3GI�p�l�2��QA)
�m���DXg *sP�Z�gƼ�8a���ZH/f/A�S,z�G$�r��Z䄩����P�@�+fl$�����K����$��rV��(dTO���~j%���
��������o�L�B��L��(
�	���)�/����
�`X��
�pd
���SCȋ�����"��c1
[
X^|6�w��k���`�����
N��nsٗ��[s�xN�F	Y�`7��SF4�,�P�܂)�$�,#�!F	���T �&�-���~���	��(i�ԁ��%�.q����
e���a��3����q��@��͘�j��4��Y8�y��F�%�$a*��Ԙ�4t��0L�@g
��5�@b�
+a�ɵ�y�

-j!G�e%�G��۵坸E{*��B�=smN�)o�e�Y�сp]?m��\��h�C�G�R#�И>���7o3�"�Ϧ{ƛV;pd�)��:�O^�S��B�>e���3�;���>R���k�m"������F_IiI�Ғ��G �d�W����q);=�θ����T�;�������Ǽ��DX����f)�]�҉r�A*I��o)��D�o����\��;�*�
Y��
5�X��Z5t�N���9�2���=�;� � ��,��=����f�S�Tyf2Zv�uѤ�4��I^���K�
]��͌����αկ��g��E�?\��{���O
-c�"%��
���K$�
�X��/����u��
-�G�/�DS=�E�9��-�ڜ���y�(o��~�  o� �{�͝�>����"Lx����
�bΔe �=�X�
���^-�`|Z��OhFc��0�<߆���?}����|�v�7�������T=���	s� �⭵�,�p0.�!
e��K�/��� k�9�
-endstream
-endobj
-298 0 obj <<
-/Type /Page
-/Contents 299 0 R
-/Resources 297 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 284 0 R
-/Annots [ 296 0 R ]
->> endobj
-296 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-300 0 obj <<
-/D [298 0 R /XYZ 90 757.935 null]
->> endobj
-297 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-304 0 obj <<
-/Length 3221      
-/Filter /FlateDecode
->>
-stream
-xڭZY��
~�_���U�j�G�93�}L�=I�v����63���1�ί@��g��y2	� ��G���i�-�_�Z]ܼK�E��I�,V�E�-��w��_���/N��b�y���9RR�M�����D��H�j#��/�
?^���������kz
_��nƋ���_�E�����Ys�Q�o�x������z�ޱg��{���"
B�KbR�s��f��f37Jr��?��z*6p�<1,�~��
�-L
Qa�i�M #o�Nu�,h��/U�
b�hO��^��u�Fj���^^!-w>6���7\D��n'�}���D��D
�Y�+����p��n
�eD��e�s���E��h��Ac����<
��m'�
O$wu�
Z?�b�;�
u�h���Uר�2�ӆAi3�ӻ�^��F�,F[�I��#{)��HU��X\�C\���x���C�g|(�B�2=�0�Ȥ�Ц�Ƈjy�0h-%�ɹ�H�p2�\F��GN_���]4�����D-~�X�j™O8��Zw�'��������q�~��
ߜ
-�34�מ��WJ�
�E�
U��V��D�#�yl������<ۻٳ�\�]��F��C����[���
�w��*������y��5A13��H
�
�yQUmʾ0��Ms���B}�� �$I��I�c������hޟ�
i�&��)m
��(�ag0*��W����hx�v:��湣ٱ75;��UǙ	�X+TVEɣBϪ�MU3W�41�̥Fg��M�p��a0��
|:�\fx)Д)oT�)�ڃsp(S7	A� 
)�x�p7���6,��~:�0�`�m�i>u�
���� ���v��8^7�+YA�7B�������ij=2's����q�����
�	}��\�����-
�AQ��Q�=Q9P%v���9ֽr�9�#�4Ԫ&�Ő�Z�T������[fc��H�+���h� #�Y�>>�R�HtV�
5�5�v;��>ШEAc�4tS�af��aj�poi���l�C�f��Ēc;2����%d�@��R��.F^�sV�\V���o���y�Ёg�Ts�'w�F���
�U�k�j��
�Dp�0H�-��
��3��`ڂ�Іh J �ը�7U6��/�tK=0Ǝ�)t�QGZR��H����X�>�ЋN.>R�G�5�^�-0�+�B�K��#��b(%n
-�!�;�A!�0��-%�it,��LH�\<F!�Z�#"��N�ܵ���8\���XW�RF+�����OK�h��c��D{fD���F�j�ۢA+5�6PH����VL}+z�[Q����[@�?��O�hڦ@��������
�=/Q|S�,�e��}�C�k�R
����ǧ��k3
�Z*��R�B%H�/�Q
����8�;���R��N/㳷@CV�m#k�����/��'K�D�wdM����:�'�CU
y�J����`�c�Ë'Z��$[��5ެ
�5h�Y��d�k
���^��]S�O;�E�4^tWH3��F���l�ޢ
��%���ھ�+8@�
�dh"����8Rg�)z�~6��kY�ޱ���D�b/�&C��|��,������d��I�i���ݽe@`KS�_�f$)5� �nijL���镆�
�n
ձ(E���i�+z�S	��=[RNjH�ΔA0�iyxz���쭑�Rl�I�K��p�W���O}6� ���A6{նCH
�� �>��k��Cz�d�1�9uf��Js&�~�
--9v���?atXt�@;#�rb�i��dx�ӧ��Q�*����	/l�(����}+�$�}�
-x�,�ښZ���F�w�@j�Ɍ�@�c
-�?ϳ�I.�1�!B����u�3c���^}��p���B�?ݽ�_=�<��"��3@�Cܵ_+
�<�>����%�
��f�,-�4���ջ���*
.����E �LX��p����k'G�T��3p"���̈D�
{;���xx��S���#���D`b��l�lRa4
��p��Y�����W��v��g����d#�QO�FI��p���j4�(��L�
$lO4^'$8���������,6g��;���
_1����X7�\�27�8����NK��M�So���pr#)V����4�� �Jz��Q�گ���
I9��#���˗Z���L(a���ԡd!ഐ-7� ݹ�,�gk
�G	!�!�<2����3�0t�)��ZH�%s� d�
-Dd�!պy�i��coΣ�ly��RWn�K��1ت��I�3>W�-.�u(bSџ�v��
�BR��gh
-nؤ:R�
-i�����Ć�J���zR�O1��!̂��dI�<.�:�J�Hx���X  }�3%k�U�t����{�퉥�r�X�Le��f�(
6�I*�Y6H�e�+
b
�p�
�$.�;��C�*�s���ſ������+�OC���� +��^z^΋Pu��|��8t��$K�D�
`1G�,1���N���FZ��VY�.� ����us��.ռ�aR-A��T�g%��8)yO� J8F���h��2��At
a�}�M魐�q����(�K�Qz*~����b�����k'a	���*9
�M
-{��xc'��
-��l���C�d����o_�><�?���w��L#�� ��
5��P����~՚�&c�3�ShX 45_t��1(�l
�F6���V��4z��������@��Z� QE�N�����R�ޚ	���kɪ��;�?�n��)�aKЏI��0��i>3�*�Y�?��E��A.
=�d4�_��| ���9\ᲬMA3�
�͝�����1Ŕ�&$���5ܑ�щ6�U`��r��PΤ?�9�=\*�*� h�\�Bpу�+���� �BL8���I��� ̤hzA�����"���\�xũGR�&
�^�z��q��i�X�'[S,����O߈�q�@5��OD�JQd=��|��#s�����r��5*�J�må�.�
-�E����Vi�ͩ�*��D杸"�h��Iܼ6���OO�n�dn�g��F��E���a����s7�'/�0t>�ʢ����.�;Y4�Foպ����XnE����,? �m��G*a��;���D��
�a��z9�s}�
���7�G)�d�/
��?�־ ����Ax�u�?��<??����xh\��
���w�q|?r�|��L՜���V�C
Q�x����
B\V
-endstream
-endobj
-303 0 obj <<
-/Type /Page
-/Contents 304 0 R
-/Resources 302 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 284 0 R
-/Annots [ 301 0 R ]
->> endobj
-301 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-305 0 obj <<
-/D [303 0 R /XYZ 90 757.935 null]
->> endobj
-302 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-310 0 obj <<
-/Length 3215      
-/Filter /FlateDecode
->>
-stream
-xڍZIs����W�t	YeC�A����ز�DǕJr �!9O �`���zl�_����������g��={w�����&�f��n8[�f�=�B�
-\g���~�{��n`���}��M�p�s����H�����EΤ:Uy���s'\����b����3�Cg�y�,=^���=���my�r�D��3����
.�{a�#��g�a��F������E�߽�_��^��|}����z�~ϭۻ���+�s���,�t���|uؽs��k'�B��c�a����xҙ���ϋ
��
#!�%O�uń�*������m'�+���l
{�L��))�Z�H�-7t�U'�8��ë��'޳(�WxQ��cŁHP�U<ۣ��~��g��
��U]��^
���.�W6,+�
�V7�W�^�\WLL�,S[�R&^&�}�P*�JI]2]��$lZ\��j�R�5�JU5Y����Uweq�,}y��7zQA��5�h*����Qˠ���ߌ)�T��HM�c��؅�a��=�6������C2>T@�
\5�~�ۆ9Yv��x~R%�v�n|=��ɲ粯��ӲJ�i�lYKR�&9��/���K��,�������)�F�Svf���xDc`���AW�K�@c̕�:�� J�1��X���I��l��l�c��0����<�-*u,��ƛ���K&��=���]3�T5�T�LH(d�J�bq���C���u�l29	-GWB�Ҫn�rf���{��
ݛ9�b�B9�G�81ZLU1�>�!���I���LRL��t)Ӧ���\�=��r�H�8�/_�uL�<��cOY���#�v��V���k1Y0�2IQQT=��$�19�b��G�&-�eߟ�2Ѐ��u*}P�Ny��vI���UvS,�Ku5�q��
���(��?��>�Ju��{Ǧ=U�����R�5y�<�6Kd�P�}C|:�
��b
0�#K]�-���w:���a� `T&y���f���]�J����A?�ϣ΅@�c��ض���:8G-�yU�s��dT_l
B�bZ��R
�`I�v���� �(�ޜ]�V
1�F��@sk=t|�
g~�Ў0<���|۳j�:!g�xi�=�D8}�8���^uR�ƨ��)́��J�9�OZ���j�����4p�
-���E�<��
�7N�0�����'�VG�S����xhJ&0ޓ	����V��
(ӷC����9���-M�j�6'�A�a-�[�[8
d�
�NHMd�

ep�@���
-�ڡ#h&�����kf-�p#���%

�gr#ңN�ـ<�`���$��u�D� ,�By��4K����
pL�4c#:�<l���$#
�V'oj_f�^�|��
--����R(?�a�EZء{�P:%�W�7,�&�0;n;Q���n��41+�f���`�����s��'Ex40�5�z
��
-���h��#!����g
�	�W31�._�I<�.���O,�)�8�>3��B:�LLS]d�ً�е�|�e�T�Fzm/E
v��ڶ w�� 0Քd!��:}�
<�	h{�~u�7����-�h);,C#�������������3�av�6\��#����gp��cjΘ�A����ݜn�N����1�h!

-x ���4�Һ1oF��DD���x{���{P�ȥ�4#G�f�J&�a@
-Ev
!�W�&�e$����}ؙ�
-�=5�
��T�j��T}:�hU�
�g�(;>�m��T?06��'pzm
�g�&��YI]��f:e(v0����CYxp�N����3Qx&A��NHfNC�y�
�.�`wL��8�Ո�y�}�sz� �<`�He��|Sh��Bh}Ϧ����x o�OIYs����!A��5�A�JU/m��<N�d�b���[��M�$����܀���\_�Ȓ�/G�I��eyC��b��(�Q�g0�Ъ��
�Z� �R~��]c�e2 9��ؾc���|Y�_���_o�����F|��[�|�}��{X}G�@�
-n������]M��Z����70�f�#������@O�u�X(#}�\݂�#<�p��<=�*<`j\�A��/�$�`��0�cG�{��=�s"��	1���a�/hmd�JuF�#�-!�t���'��NN��9�k!?�|]�;dl�F'mU
�|2[�h����U���"(6�:�BRi�T�d�
���H�XZ����̴~�jy�S*'��0ra�8���ǫ���'k�7VQ���3���dK���t�	#��a��?�l���*I��

 U_�=?���X�m@�9��:$o�xH	�F\_����%eĴ��[F�/�Vr.iC��>��3
uȎ�T=�
�#�/
٦M;�Xׄ�ކ�2�x�����u-^���1 �C<��>SfZd�
�҈/n3}�I*�UÜ�PPZ�/UDڀ��D���#�
�a��E��$
��L-4�`������b��=.�J
-Pء��C��m��j���ݜy�E���
�5t�46pѨ���t�5O���G�ql�
��v�[��O<�XD�����蠟dǞ��R����P
ƒ^N
3���իMhJO�8�-�1���?=�R�TNo
�h�4��uǂ�
�c�KY �ʱ��5���j�����`aa~W
�b��^���dpw}
���`z\b9�k���OX'���w�A�v��3P
#T�'�x�ʥF�U
��Z\M=���4`ēl�
����C���/�
-�
<p.
�E7����z�����t���w��I�=��r�S�W?�[� \.�B��s-7��<+
-��7 ���f?���:.�[]ߛ�/�<������m�<�g��R�ĉ����c�	�;����������P��}��j!�%��c�8\h����ul�
��a��[#؇�Σ`�W�"��X��I.�k�����C���<b�㋼9_����?S�sa'�"����)s�nR�|5�uSy��M��0�V�f)n�OI�(�'x���h�u��/<Ek
}��~���hM[.��2Š�9��[#�p�����O��B+�����F[A0�e<o��SR
.�~.�3<j����)��̝7<�C���� ��`$厂@*�/�*ͯ{��c�s��V��
-���wт)���
Nw�r��eO�鴲�\�JK�W��&�t����V�f�� cǂ�:����7�.������j��
-endstream
-endobj
-309 0 obj <<
-/Type /Page
-/Contents 310 0 R
-/Resources 308 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 284 0 R
-/Annots [ 306 0 R 307 0 R ]
->> endobj
-306 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [258.676 310.234 428.041 321.138]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/copyleft/)>>
->> endobj
-307 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-311 0 obj <<
-/D [309 0 R /XYZ 90 757.935 null]
->> endobj
-312 0 obj <<
-/D [309 0 R /XYZ 90 195.555 null]
->> endobj
-308 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-337 0 obj <<
-/Length 1531      
-/Filter /FlateDecode
->>
-stream
-xڵX�s�8�_���93ĕ寘GJ[����^�騎�x�GN�	���v�Rꄤ$7���J����Jf��a����tp~N�1����I��ľqߙΜ�n8
���YWHO���1�:}�~� Vz�� up9
�3��
_�/	"'+��2g��t����	y �¹
�5`[�E�t�C�����I�$
�Šzv���p3�^))i�κRV�h�"�M�ɪ�g
�x~��ͣ���xZ��w2=p��]�!g������&�0D
-�\�rQ�D���m^�4�A��jG5
�ӊ�M�	V@��6$CT3Z{%�o�<c(�*D&�C�4ʝ��v�y��	����:�����Fƙx���.��������X|�]셌�٠۵:8�T߭�pj}D�{�W
���F�7���f8��\޾��6sk#L�ÿ���q�
�G�a���3o=0�8��^hmܳ-��-�F;�¥=�B���j[wfi,H�	,,qk��ԥ$.5�j�Y]���$�sڣ���v	IfX�p����R��U�
�̭	W�h�Bhi�ę
M�����4y�i��
�ċy�sg�Н�F3��4� "�N�Y3E�sQ�|$�U���}2
VV�^(QZF3����]Kڧ$�
D�h����FN��F���I9z<NݕP�($*���*Z0�1[�y&����\�>�4��
.����Jj����lIt��	r3t%Eʵ��F��=p���-V:b�c%U	1����ŰkL0���Fe
oOe�D��
˜c� ��Mp�I>c���:س
��Y��:��IZ<
o����
-�yc�����]Р$�
h�ゝ~�J��	ɼ 67�Ztb�1Rg����b{U
�g?^�Ϙ�,t��^����Ca�%7����
-�[ȋ�_["S
qp�a�tP	
�	?U��!��%��H�X����aky�&���$�R�UX��'��-�C�3W
�?-ld���k���!�a>�ηd�&������E!��̈6��;|�?�!a��"�6�;CfۏN�VuYkg]e�Yd���.��
���{�K�m3�d*_���@Xv��T�?�V��E-�_�Y]��-��q���E
Zl��`n1�M��)�
����l ^�a<����OgԞ�l�e�Bu�����C����c����t��j��!Kw�
}c,����Sk,n"��#�&7~3��H�
B�ۍ4��Z
妀G����nY
~�g��p��I%"`�
��f�q0�A���ڔl��n}��0�ºkiF�Mk=K��Z��
��
�
��F���
��G�<P�m#
-“Q�ݚ�t������T����<z
�[+�yGWs�y�צݟ'�X[q���:u�I06�s�ԋ��
1�m9��
�Ļl��u�3%h����
�һ�����.M�O�T
��m��;Qu�k�Z�657< 2��
���2�筽ے�9v�'�vx���c�m�aٶ���������+���9��|���
2�W��2���Z_c���b������?�V�R
-endstream
-endobj
-336 0 obj <<
-/Type /Page
-/Contents 337 0 R
-/Resources 335 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 339 0 R
-/Annots [ 313 0 R 314 0 R 315 0 R 316 0 R 317 0 R 318 0 R 319 0 R 320 0 R 321 0 R 322 0 R 323 0 R 324 0 R 325 0 R 326 0 R 327 0 R 328 0 R 329 0 R 330 0 R 331 0 R 334 0 R ]
->> endobj
-313 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 448.891 513.996 457.867]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.6.1) >>
->> endobj
-314 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 426.973 513.996 435.949]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.6.2) >>
->> endobj
-315 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 405.055 513.996 414.031]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.6.3) >>
->> endobj
-316 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 383.257 513.996 392.114]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.6.4) >>
->> endobj
-317 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 361.339 513.996 370.196]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.6.5) >>
->> endobj
-318 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 243.862 188.187 254.741]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-319 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 245.765 513.996 254.741]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.1) >>
->> endobj
-320 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 221.945 293.88 232.824]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-321 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 211.892 513.996 220.869]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.2) >>
->> endobj
-322 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 188.072 229.144 198.951]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-323 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 189.974 513.996 198.951]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.3) >>
->> endobj
-324 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 166.154 193.727 177.033]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
->> endobj
-325 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 168.057 513.996 177.033]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.4) >>
->> endobj
-326 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 144.236 288.351 155.115]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-327 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 134.184 513.996 143.16]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.5) >>
->> endobj
-328 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 110.363 223.614 121.242]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-329 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 112.266 513.996 121.242]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.6) >>
->> endobj
-330 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 88.445 188.197 99.324]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
->> endobj
-331 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 90.348 513.996 99.324]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.7) >>
->> endobj
-334 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-338 0 obj <<
-/D [336 0 R /XYZ 90 757.935 null]
->> endobj
-18 0 obj <<
-/D [336 0 R /XYZ 90 549.704 null]
->> endobj
-22 0 obj <<
-/D [336 0 R /XYZ 90 515.718 null]
->> endobj
-26 0 obj <<
-/D [336 0 R /XYZ 90 344.656 null]
->> endobj
-30 0 obj <<
-/D [336 0 R /XYZ 90 312.593 null]
->> endobj
-335 0 obj <<
-/Font << /F63 177 0 R /F65 179 0 R /F50 143 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-378 0 obj <<
-/Length 1381      
-/Filter /FlateDecode
->>
-stream
-x��XKs�H��+t[��a�z�q�!嬓b��d�(c�$"���o�
$^!6��@if��t�7�3�������_�N�2/AIHCop�%؋B�%�`���apA����L����x9�y��Y�
�T������ΛA�k��m�mKD(b��;���7��w
F,��������s��t��`���S�+����<'�#1/�
�P�����e��E9�y�j9�����YmG�t�}w�y�,��
xD�\�
-�L���@��_�c}e�~Q�����S3GC�S�Z�#
%�{��DX_+�]e@�Չ�j;t��
%�z�[��
:��Q
���'���`c�kb��46���Fw
6��AwO���"!a��WC�6�h_�/�I����5Y+�ɓT
���Ī<j��7*�wM�CW�
�3W
-���3LC�s��Jwn�ٹ��x�����U�򱞶
������r���7�e at b_V�z�8gzӖ��NLc
t
�!��W�a_/_�f��.�7��f���"�}~�L�(d�,�+Y�N@������C��91N�$=�v�
q�
ͤ����M��Iq�q[�A�Q�`K����,Z�{ˁyhwc����p��Xp�
��,�<�QG#��g2z�FS�m��5��j��x:��A�^
_�%��B�N��:.v�wyG��o�
�6��b&#���窥q�Y�9=/��&��yR���b�f��t/�,}�p��C��7���n�u4=�n:�}��3@����BE�����h���K���%�4��AR[R��}4�6�Vl4�i>]�Sk�*�����1%p�Ψ,)���C������oCq��ʴ|t��
C��2[,�w��o�̴'
-c�!o�8��ƀ � �8r P
@˳�<��t������,߼rK
���\���$D��0���ݿ�(��XC��4�� �-��$�IC�����Eԋ�E�킋�5N�T�����XoT�
-Tw�{��P���c y
��)eU{���|Yզ5������if$� X�KG�� �ʶ=t4-mqs�"�
R���Ø�/�M/��7J}���#ᅈ93�^��2��agr���/�э�����?�F����X����SU�Yi�M-xl`
U���Y�Fi�(qā
Y��w�x)�t3_�G@�n�����ݥ�m�zf��;�T)+8���~ �����^jge��Naٞ*��#MC��]9��m�����c1p�$�
-e>s�	�����V�g�U���B����q؀���C+Y���U�	��|���;�",	�Z�
bD0��T��0�\�5|�\�u���(�^~��ş��j�B�
--�lQ���ֺ��|c��@D�8+���A�&�,��y��퀧��.�
-endstream
-endobj
-377 0 obj <<
-/Type /Page
-/Contents 378 0 R
-/Resources 376 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 339 0 R
-/Annots [ 332 0 R 333 0 R 347 0 R 348 0 R 349 0 R 350 0 R 351 0 R 352 0 R 353 0 R 354 0 R 355 0 R 356 0 R 357 0 R 358 0 R 359 0 R 360 0 R 361 0 R 362 0 R 363 0 R 364 0 R 365 0 R 366 0 R 367 0 R 368 0 R 369 0 R 370 0 R 371 0 R 372 0 R 373 0 R 374 0 R 375 0 R ]
->> endobj
-332 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 720.047 286.677 730.926]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-333 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 709.994 513.996 718.971]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.8) >>
->> endobj
-347 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 686.174 221.941 697.053]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-348 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 688.077 513.996 697.053]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.9) >>
->> endobj
-349 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 664.256 186.524 675.135]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-350 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 666.278 513.996 675.135]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.10) >>
->> endobj
-351 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 642.338 312.141 653.217]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-352 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 632.405 513.996 641.262]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.11) >>
->> endobj
-353 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 608.465 247.405 619.344]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-354 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 610.368 513.996 619.344]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.12) >>
->> endobj
-355 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 586.547 211.988 597.426]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
->> endobj
-356 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 588.45 513.996 597.426]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.13) >>
->> endobj
-357 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 564.63 222.897 575.509]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-358 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 566.652 513.996 575.509]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.14) >>
->> endobj
-359 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 542.712 202.952 553.591]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-360 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 544.615 513.996 553.591]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.15) >>
->> endobj
-361 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 520.794 350.557 531.673]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-362 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [230.478 508.839 413.122 519.718]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-363 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 510.742 513.996 519.718]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.16) >>
->> endobj
-364 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 486.921 323.439 497.8]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-365 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.069 474.966 359.713 485.845]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-366 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 476.869 513.996 485.845]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.17) >>
->> endobj
-367 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 453.048 285.821 463.927]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-368 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 442.996 513.996 451.972]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.18) >>
->> endobj
-369 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 419.175 191.146 430.054]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-370 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 421.078 513.996 430.054]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.19) >>
->> endobj
-371 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 244.269 181.496 255.173]
-/Subtype /Link
-/A << /S /GoTo /D (group__Init_g7c98bac1ccfac398657571409a3fcd9c) >>
->> endobj
-372 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 205.415 175.957 216.319]
-/Subtype /Link
-/A << /S /GoTo /D (group__Init_g4af2931282f6a5f1b3444fb8e833d6a1) >>
->> endobj
-373 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 166.56 237.396 177.464]
-/Subtype /Link
-/A << /S /GoTo /D (group__Init_g635128363efd9f4c8c63e21702f40183) >>
->> endobj
-374 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 127.706 254.542 138.61]
-/Subtype /Link
-/A << /S /GoTo /D (group__Init_gfdb2c887a3a2d1daf54a764d0d7f7f76) >>
->> endobj
-375 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-379 0 obj <<
-/D [377 0 R /XYZ 90 757.935 null]
->> endobj
-34 0 obj <<
-/D [377 0 R /XYZ 90 404.48 null]
->> endobj
-380 0 obj <<
-/D [377 0 R /XYZ 90 372.417 null]
->> endobj
-38 0 obj <<
-/D [377 0 R /XYZ 90 372.417 null]
->> endobj
-381 0 obj <<
-/D [377 0 R /XYZ 429.872 328.623 null]
->> endobj
-42 0 obj <<
-/D [377 0 R /XYZ 90 311.896 null]
->> endobj
-382 0 obj <<
-/D [377 0 R /XYZ 90 263.243 null]
->> endobj
-376 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F65 179 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-407 0 obj <<
-/Length 1306      
-/Filter /FlateDecode
->>
-stream
-x��XYo�6~������&%Q��-ͱp�����da�6
��ᕨ��H$u��b�
ڢ}0xg��f�6�
l|�<��<�P�ٞ1[6|� jc�2
L9C�`���!4&��0M��M�y����0yZ�|l�`�yv>8�
�
����Q�5����36V0n`�ccW�
�v�����������
պو(�N�`a�WR��/�p+JUA���-9ذl9n Ŝɲܙ�Y���4��0	EȢ�wV��
1��z(��kي
��(\d,{
z�����L���xugr.�7ʸ�ue�}N��yk�����YZ$�r/�UB
-��#NW
I{;��6�Fص�l��]��.��'�i�����֘K���v�k���{�� e�4\A�����ȳ���ZB.EHT�s3$�dY��0�^7|���E�9*����&T"�
��"W/��%�j�,8�^ͳ���URP$�ʫ`������Qxrc�H�\Y)3�?��d�|
 0c��r�����t:���'W�G���������լT��1ȮΆ�=,5C���tSX�(�l�Vw��(���9bX.A�v�a�ѣ�����Ua&� 9�Zh�������p���o��M����
y0��q�-�\����Nv�
*�YS��T�`b�dZ��E��zQ���$�JM�VF���I/��� N�gE�4��RD��:�����%�n�<��K��
-��pq��W5%ԉN5�D�* l�6+U	X�E����0�|�oK}�d1��	ȡ�-��N���j�K�Vά��h�-8W0���/aZ��k;&���!��o�*M�h+�J��N�i�C�}����������]�{���7���zx��:L���J����>`�Wހ��/y�˔C�6��*�밖!��;�m�~��5I����y�S,
��v�
6u��
Upi�J�m�Qa���q������W�Ca�֎n����� �D���Ѷi��`QP㇕���w|��
��j�"���tz;��ڗR.��`d�5���1�<���� p-�"�WQt����j�-Sx�B ��az~z�/�2|�@
Kk �/|��7>�ˣ��iJ���P]
��1�-�ڄ�zN��c4��Lj�Ha�� izz?�Z���
S6t|����%lR�w"��=�e��[?T� b>$0���R����t�8v� �^�o[
�-,y*ؓ:?I�8����TSw9�~
R��.\��`�\S��dm��9��neU�.��s%φ��"���]�
�z[?�7Bl?�F��-sT$�6C���et��!�J�@K�3@�XY�!Lʢ�D��� >᥏
-endstream
-endobj
-406 0 obj <<
-/Type /Page
-/Contents 407 0 R
-/Resources 405 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 339 0 R
-/Annots [ 399 0 R 400 0 R 401 0 R 402 0 R 404 0 R ]
->> endobj
-399 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.731 217.587 213.038 227.514]
-/Subtype /Link
-/A << /S /GoTo /D (group__Version_g79bd3696a302bb721ef8168fa5d650fb) >>
->> endobj
-400 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.731 179.071 251.782 188.999]
-/Subtype /Link
-/A << /S /GoTo /D (group__Version_ge19dfe022c51c874d905e2a7c81c18f1) >>
->> endobj
-401 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.731 140.555 251.225 150.483]
-/Subtype /Link
-/A << /S /GoTo /D (group__Version_g8458e58a5e857de11c35ce3076a70ab8) >>
->> endobj
-402 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.731 102.039 264.505 111.967]
-/Subtype /Link
-/A << /S /GoTo /D (group__Version_gbadfeba0a415d210cdd6d7309365e800) >>
->> endobj
-404 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-408 0 obj <<
-/D [406 0 R /XYZ 90 757.935 null]
->> endobj
-409 0 obj <<
-/D [406 0 R /XYZ 90 733.028 null]
->> endobj
-410 0 obj <<
-/D [406 0 R /XYZ 90 672.244 null]
->> endobj
-395 0 obj <<
-/D [406 0 R /XYZ 90 647.875 null]
->> endobj
-411 0 obj <<
-/D [406 0 R /XYZ 90 647.875 null]
->> endobj
-396 0 obj <<
-/D [406 0 R /XYZ 90 558.617 null]
->> endobj
-412 0 obj <<
-/D [406 0 R /XYZ 90 544.199 null]
->> endobj
-397 0 obj <<
-/D [406 0 R /XYZ 90 456.979 null]
->> endobj
-413 0 obj <<
-/D [406 0 R /XYZ 90 442.561 null]
->> endobj
-398 0 obj <<
-/D [406 0 R /XYZ 267.991 379.889 null]
->> endobj
-414 0 obj <<
-/D [406 0 R /XYZ 90 363.315 null]
->> endobj
-415 0 obj <<
-/D [406 0 R /XYZ 487.773 300.643 null]
->> endobj
-46 0 obj <<
-/D [406 0 R /XYZ 90 284.068 null]
->> endobj
-416 0 obj <<
-/D [406 0 R /XYZ 90 235.415 null]
->> endobj
-417 0 obj <<
-/D [406 0 R /XYZ 90 197.019 null]
->> endobj
-418 0 obj <<
-/D [406 0 R /XYZ 90 158.503 null]
->> endobj
-419 0 obj <<
-/D [406 0 R /XYZ 90 119.987 null]
->> endobj
-405 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R /F72 202 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-431 0 obj <<
-/Length 1708      
-/Filter /FlateDecode
->>
-stream
-x��XYs�6~ׯ��&��G�r�
�v��n��d<�[�%�%�x�_��H�r��I4�p�~���Ի������h� ^L����S/
Q�y�s�1�0J��n
_�U�g�	W��г�4�O
B�s:�x~4�?�=b�?���O�$ʛ�F�?Ro�G
%"��;k�I.���F����m��ʬhGfF"E䅌B_���\Yq�u���~����L�A#dy�=�ӌno�
_��?=;|������8��ۙy���|�B�E L ����@ro�$�Q��/4���T�	���j�Kl����i 6>�F}c2�H�Vi�c���#����|�)�|��,M��W�E��N*�'��ɓg[6��1S �2/V:���ʒbb� &�ʩZ-�"[��y�DĀ�7���H��u6�A٪��]@�pF"��� /���'����*�
�
����1�~�Ρ͞�
-�S]�ˬ�;����j��_@��Ew
�4z~1$��&�H\���
^�}�ѳ����z�ឥ6�~w14؛�n���������&� �cC�
���-{��x7�3!bX�Q*�g�0-��+
kH5�Aߡ�,�Z7���HvV	I��+�	TglK�9N�

���f��q�����
�nlf�4(�'������,�Nɳ:I���Wt� &�d_�=�I���K<C
���38QQԻ��c�p�`���c[Q at X;�%[�O���� r�K=��_�jV�E��
���`>�]M�e:ke��$�
��0�q�r;L8z���q
B�tZ&�s�NDr��5qV}�#��x��+P�|�6<6it���]�²)!�
-رC	�_�3�3���~�����m��#�Ǻn]�ǐ��uɓ�K&T���6�J
-,7g��M�:�k�?�!d�+�M�*�Z��
���n�u����)[ǹ7~����Eb��y���
��G��B��Y*e�[ގwd�
1eT7��6me������t��,�"�F���d��`c'��ʵ!$u�M�z�t<�w�����!������
8S�8�6�
���� e$T���`!
S�VA 膬���-��]A �vO�7�݁M��*w`�_���
�
l�7����6#��nd�V��Eq��D�e������d2�x�>�g���#"f=�
-�6w�'[;uM�F]A���r
 p�ݪ%�XE��|�u����g^�!�)D��
��Ra8\�hK�aUm&+]t6�>���&�4j���r�&5���V
"����J5L��Dwq%R�;\���$q�za�u AQ"
��f�!.�SĄ�|��m9��D�S�`��$L)�`�� 
�:�����xZk9����M3�I�$БL�u�M<���������y<�! b:�@�� ������z�
��mnq��TIYu���ERW����r
yy��!� ��H�|��4��*�O�ؽ�,Ճ��Ƨ�_�˦7-��m�
-�Х�.��拼��]U8�t�*ѮZ��5��q�.�%�
��1A�S�}����豏��#v �PD��]�D����O�$ �_�v��]�y���qK���K�r�dW��ʭ?4n~i�8s]T���xh�
N�lm���p/!]�
��g���$���t�|�\{M뷑�����m�𢮋_��nnnȬ"�,-J��{���?�n6aP�����h*l�[{���_��":
-endstream
-endobj
-430 0 obj <<
-/Type /Page
-/Contents 431 0 R
-/Resources 429 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 339 0 R
-/Annots [ 403 0 R 421 0 R 422 0 R 423 0 R 424 0 R 425 0 R 426 0 R 428 0 R ]
->> endobj
-403 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.731 708.792 243.105 718.719]
-/Subtype /Link
-/A << /S /GoTo /D (group__Version_g7a529f51bfebdd4b3e69c866dced9bc1) >>
->> endobj
-421 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 618.572 204.032 629.476]
-/Subtype /Link
-/A << /S /GoTo /D (group__Version_gbdf8f4e9416010573d48e21cf0584762) >>
->> endobj
-422 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 581.426 204.589 592.33]
-/Subtype /Link
-/A << /S /GoTo /D (group__Version_gb51f10ea37de5299e9bc840afa206d4e) >>
->> endobj
-423 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 544.281 212.639 555.185]
-/Subtype /Link
-/A << /S /GoTo /D (group__Version_ga50f472bf6d1869a2fc1500d2fdf8213) >>
->> endobj
-424 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 507.136 197.387 518.04]
-/Subtype /Link
-/A << /S /GoTo /D (group__Version_g676f27ad949159a3b79577f78870f60f) >>
->> endobj
-425 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 469.99 175.808 480.894]
-/Subtype /Link
-/A << /S /GoTo /D (group__Version_gc6abee034f6ac000f15d1206fdeb8316) >>
->> endobj
-426 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 432.845 173.736 443.749]
-/Subtype /Link
-/A << /S /GoTo /D (group__Version_g63fef7041da34ac5bb372a2535d99377) >>
->> endobj
-428 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-432 0 obj <<
-/D [430 0 R /XYZ 90 757.935 null]
->> endobj
-433 0 obj <<
-/D [430 0 R /XYZ 90 726.054 null]
->> endobj
-434 0 obj <<
-/D [430 0 R /XYZ 90 636.691 null]
->> endobj
-435 0 obj <<
-/D [430 0 R /XYZ 90 636.691 null]
->> endobj
-436 0 obj <<
-/D [430 0 R /XYZ 90 599.665 null]
->> endobj
-437 0 obj <<
-/D [430 0 R /XYZ 90 562.52 null]
->> endobj
-438 0 obj <<
-/D [430 0 R /XYZ 90 525.374 null]
->> endobj
-439 0 obj <<
-/D [430 0 R /XYZ 90 488.229 null]
->> endobj
-441 0 obj <<
-/D [430 0 R /XYZ 90 397.148 null]
->> endobj
-442 0 obj <<
-/D [430 0 R /XYZ 90 339.217 null]
->> endobj
-420 0 obj <<
-/D [430 0 R /XYZ 90 316.905 null]
->> endobj
-443 0 obj <<
-/D [430 0 R /XYZ 90 316.905 null]
->> endobj
-444 0 obj <<
-/D [430 0 R /XYZ 90 189.393 null]
->> endobj
-445 0 obj <<
-/D [430 0 R /XYZ 90 166.105 null]
->> endobj
-446 0 obj <<
-/D [430 0 R /XYZ 90 166.105 null]
->> endobj
-448 0 obj <<
-/D [430 0 R /XYZ 90 89.441 null]
->> endobj
-429 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F23 144 0 R /F84 440 0 R /F65 179 0 R /F89 447 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-463 0 obj <<
-/Length 1974      
-/Filter /FlateDecode
->>
-stream
-xڽX[w�6~ׯ�ے�L ��}�Zr�֖����Izt`����H$�{���
 R"-Yq��/���73��е
,�z3��bpvp+"Q�kqoE����Z���`�s��u]{"�CGv!�!�]��ȓu�?8Cμ0�u~_�8�,
(
�ZT
�$�o~w���\£���vm,�q�_[���=�(%��F2Ɖ�_*���ε��#܋���ޤRTY��J����K��{��]|�24�d��c}� L
-g�y�@>,�jʷݮ��k�JY�e\$i� ���c���D֐�$�,�����|�x�=�/g�����fr3�;�o��;����|����qWӟ
�}���j�<��y3�.^wd�;r���ڼZ�����j����+��
ד��ۯ8�}���j��f���X�
������z� "��BD��i���W)ٜ�o��d>u�m�RU�?8�D�?M��S�ى�}>
���|���z1�]\ͦ���&��N.��Q%���ۙ܅j� $� �T�z��
n��6s�8��,OK��*��?��[��@l��J�D���u
#Q觍0��ᡝV����:4�q�I<N�ϵx���oFAY^�f�2�
��/Sy��~v�kY�cM�l_#��F��er]�wu�k�h�gGQ<�q%��X1/��═�$�8`�_#18F,�-Z��N�����`n�u�+P��}o�K�@=L��&������ [7��{2��ߏ�ш��	��>3�_�̌�7�kw�ڼL����ٺp�C� ����isW��xϪ"��&*�nT�y��E�GU� 6��t[�
-j���)��*�Ѯ� �)5v�>qᄞ��56
1��ht�k��j�Q����u-���s���v��N�C}��
ൾ
�$���'A��*�G�h�
�(� ��
@�ۋ4	��l�@8<�۟3Y�b���I7�|�
C(η�Q��:�[�wp�Z���,�,��J��]��z=E8�ԅ͐rІ�n~]�������bH#��d����b�HH!!�
 �
��Q̡��Q��}��?9���cV�Z�n�Y�EʋT0���x\�
þ��X�3u��*���T��ORlDf^-�͜�
�9�����/V�/k�<�{T3��Ao������qA
�D�|��4����}D�z����q�&zYA�
�g��Y
b#�~��MV��\f8��-��l_�d��_^�
NB��]Ц4�/ߤ��>�\����'�X.�쏸L
ǵ�J;|37M�0��Ͷ���/��V�y�� �t�+�?j��5rD��^�5L�t}0wV�X�mN�S-�uL���������ۭ
-
u#�3{��I!���@{X6K���h�/l�K�= �:O(Fl�!�f�(��
�ü�s\���/�S����WQ�K�VO��v�q�nݳ1Fz-����0�p��7��Z {q��!$�?&�2���!�<�ba
"���i�
�5���f�G�ʌd�ȗ5��<����L���~���< ��8�4���}1P���q���u�7��r���@�q�� �1�㓱"
���
A|H2��b6x����F"��k�9�*��=�w��]�Y�PڒUZv���P?�9�[��E�8�M;��j�!V�i�o��F���t/rPK�D�D?5�@�jJ�T�6NI�iLa�;t��{=�n���;Sw����6M%�ssN��	H��ڠ��C}�ų:�#����1(/
��e@���\g�
zY/��9,kැ�X�3ލC��&���q��n	��A��
�G��K?��O��Q rB㩿��@zM#�Jƹ}�z
�A)9�o���*M��:5�
��Z��x0�_!#ܫ����{h��d/܈\���?z�d_j��I�P�0l��]�~�6_"4��f��@��N/�a;Цת��pv���H��y��$�Π<{�@�C(���c�{��@0�J@�,�ɍx^����Ӯ��
-endstream
-endobj
-462 0 obj <<
-/Type /Page
-/Contents 463 0 R
-/Resources 461 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 339 0 R
-/Annots [ 427 0 R 449 0 R 450 0 R 451 0 R 466 0 R 452 0 R 453 0 R 454 0 R 455 0 R 456 0 R 457 0 R 458 0 R 459 0 R 460 0 R ]
->> endobj
-427 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 672.898 228.51 683.802]
-/Subtype /Link
-/A << /S /GoTo /D (group__Error_g0c0ab09a97e49f85f42c966e14cfdee6) >>
->> endobj
-449 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 657.675 263.2 667.862]
-/Subtype /Link
-/A << /S /GoTo /D (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee6f29a62bdfcf44dbeec14afb409035438) >>
->> endobj
-450 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.213 657.675 437.728 667.862]
-/Subtype /Link
-/A << /S /GoTo /D (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee6093ae02f8ceebbc40321d1eaf186f726) >>
->> endobj
-451 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.741 657.675 513.996 667.862]
-/Subtype /Link
-/A << /S /GoTo /D (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee68c65fedb9893ebb49394a3cff2f19a49) >>
->> endobj
-466 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 645.72 194.647 655.907]
-/Subtype /Link
-/A << /S /GoTo /D (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee68c65fedb9893ebb49394a3cff2f19a49) >>
->> endobj
-452 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.636 645.72 337.212 655.907]
-/Subtype /Link
-/A << /S /GoTo /D (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee66aa28e72200f879cbb83a36b60644fb2) >>
->> endobj
-453 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 629.78 258.956 639.966]
-/Subtype /Link
-/A << /S /GoTo /D (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee6bd22c4eaabb49bcb6c654a25e402c64a) >>
->> endobj
-454 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.002 629.78 356.269 639.966]
-/Subtype /Link
-/A << /S /GoTo /D (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee60860beb1b1c54c9f774b532d92404992) >>
->> endobj
-455 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.316 629.78 511.506 639.966]
-/Subtype /Link
-/A << /S /GoTo /D (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee67dae659f72f654afae1c5c6f331192a3) >>
->> endobj
-456 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 617.825 346.278 628.011]
-/Subtype /Link
-/A << /S /GoTo /D (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee603b444004b1031ddb1a51289b9d83106) >>
->> endobj
-457 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 601.541 278.951 612.071]
-/Subtype /Link
-/A << /S /GoTo /D (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee6b42a97917f263e8305d561f52cbd9c57) >>
->> endobj
-458 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 520.405 216.893 531.309]
-/Subtype /Link
-/A << /S /GoTo /D (group__Error_gd6765993c08a2ae2f0ef377f822f4d33) >>
->> endobj
-459 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.766 520.405 372.738 531.309]
-/Subtype /Link
-/A << /S /GoTo /D (group__Error_g0c0ab09a97e49f85f42c966e14cfdee6) >>
->> endobj
-460 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-464 0 obj <<
-/D [462 0 R /XYZ 90 757.935 null]
->> endobj
-50 0 obj <<
-/D [462 0 R /XYZ 90 733.028 null]
->> endobj
-465 0 obj <<
-/D [462 0 R /XYZ 90 691.872 null]
->> endobj
-467 0 obj <<
-/D [462 0 R /XYZ 90 539.378 null]
->> endobj
-468 0 obj <<
-/D [462 0 R /XYZ 90 483.085 null]
->> endobj
-469 0 obj <<
-/D [462 0 R /XYZ 90 424.384 null]
->> endobj
-470 0 obj <<
-/D [462 0 R /XYZ 90 400.169 null]
->> endobj
-471 0 obj <<
-/D [462 0 R /XYZ 90 400.169 null]
->> endobj
-472 0 obj <<
-/D [462 0 R /XYZ 107.713 323.242 null]
->> endobj
-473 0 obj <<
-/D [462 0 R /XYZ 107.713 295.346 null]
->> endobj
-474 0 obj <<
-/D [462 0 R /XYZ 107.713 279.406 null]
->> endobj
-475 0 obj <<
-/D [462 0 R /XYZ 107.713 263.466 null]
->> endobj
-476 0 obj <<
-/D [462 0 R /XYZ 107.713 235.57 null]
->> endobj
-477 0 obj <<
-/D [462 0 R /XYZ 107.713 195.72 null]
->> endobj
-478 0 obj <<
-/D [462 0 R /XYZ 107.713 167.824 null]
->> endobj
-479 0 obj <<
-/D [462 0 R /XYZ 107.713 139.929 null]
->> endobj
-480 0 obj <<
-/D [462 0 R /XYZ 107.713 112.034 null]
->> endobj
-461 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F23 144 0 R /F65 179 0 R /F89 447 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-508 0 obj <<
-/Length 1455      
-/Filter /FlateDecode
->>
-stream
-x��X[��6~�W���"t�l�om��I���]���p�� 7`Y�
��
Y2��n��O����|s�� �
~�
�W1
1���,8Hb�8%�$^�1����/�-�f8�
�?K#�f���*XH�������d�~@`o
�v/���� [
^��A����H��VjD��s\~�O�
�w�"�<����LQ�
Z�5+U>;�`��H�"���DB��z9���*��$
+=]�2_*�>��
�	�"�c�����1�T Gp^{������$B"�;N�n�lV;���#�r�>��� �p
-���G���b$8?	�t�rUg�X[
Z�N<=q�P�E'�8�!G����N��>˜!A LPL#'�
��e��4
�M
TP
�r*�R�n
�Ti7�f_�P�	I�7���PP
#���2{@9I�	�֫F�PD�J�[wb�2�:Xv��ŀ6#�Y/j#��򞸣�}��"�ލ
~0�\��
O^ba5��y1�<��
�Y4�5��O)�Y�Wr�T�T��vQ]��=Gf�duV�
�1b8qz�O샄��E9wS�F���Q
-B{��/{�؉�v�Z�|T�ˍ�n
�~7^��T�F����aY'3o����Ǵ���u�>��P
�]R+�h�?��z�������̟�}� ]M�)A4W3��:Ĺ���rs��e��^�m@ԛ�M�,2���0M����<��Om�؜�%�5�Y��.q�4@)�[�
q��q�yh��jj���#z�
��6�!K���\ej��m{�
_%4Hdg�ő
������/
l9�&�B��Csm��uS��
P��,	��=j(?�ۭ:k�y�-bg�O��ϒ
^(�iD.0����x�H!
~X��� S��d[�,E5��G�B�,��ɺ1ә���9�Lv��(קx�{���"s��Q�����O���VފNO�ק����֐�v��z{<�qzI��dgϓ
-V��l)�
-�ש��p޿�D1 at I�S�
}I�#(N�}�~[����W~�XB�o��^�E�;f���Xhx8�#z�	Xս�T���2���EQ*��O?���]�9I����� R�
}
1E��/
䫘�DhP
y�G�������5�_��E2��p�?�b�-�=N�؝yT ��⣆>U#��\<b��\�s0R*�g��g��
�p�Ω1�@莾�>0��|<|��'���|���<.�a�c����AR�1���
-�D�J�
-�Ҷw�$��}:T�\�ӥ<��1��9��ߨ �<�E޶�A����k�s�8��?����ږ�^I�J�W�r�P����
/O��
Y�9��Y}f�Y�0�g��w��W�/e�zw��7�y�t��w0�����O�ת��wxt�_m[v���Z�
��1��㻻;�ը)��F����]��&‹�m-t� lUi�t�5B�y���X�
-endstream
-endobj
-507 0 obj <<
-/Type /Page
-/Contents 508 0 R
-/Resources 506 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 339 0 R
-/Annots [ 482 0 R 483 0 R 484 0 R 485 0 R 486 0 R 487 0 R 488 0 R 489 0 R 490 0 R 491 0 R 492 0 R 493 0 R 494 0 R 495 0 R 496 0 R 497 0 R 498 0 R 499 0 R 500 0 R 501 0 R 502 0 R 505 0 R ]
->> endobj
-482 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.012 511.245 255.368 522.149]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-483 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.908 472.529 351.956 483.433]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g1822baf29ede5879f1c6ed77f0ca5984) >>
->> endobj
-484 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.771 472.529 439.128 483.433]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-485 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 433.812 251.792 444.716]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-486 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.762 433.812 331.243 444.716]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge50df8ccfc72a20b58ab7854ad2ccba9) >>
->> endobj
-487 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 395.095 251.792 405.999]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-488 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.283 395.095 380.777 405.999]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-489 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 356.378 283.024 367.282]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-490 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [290.995 356.378 393.708 367.282]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gdc58d1f680927df3786f41bdb47fa26b) >>
->> endobj
-491 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 317.662 283.024 328.565]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-492 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [314.516 317.662 443.242 328.565]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-493 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 278.945 249.281 289.849]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
->> endobj
-494 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.251 278.945 326.222 289.849]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gedee0800f6e695c36ace737095ccef5b) >>
->> endobj
-495 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 240.228 249.281 251.132]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
->> endobj
-496 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.773 240.228 375.755 251.132]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-497 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 201.511 283.602 212.415]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-498 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.572 201.511 394.863 212.415]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g84f27605574583d674403f6d71a73a24) >>
->> endobj
-499 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 162.794 283.602 173.698]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-500 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [315.094 162.794 444.397 173.698]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-501 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.707 124.078 343.168 134.982]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-502 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.94 124.078 513.996 134.982]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g5a7338130cf6d33d28dd40ed560a24d6) >>
->> endobj
-505 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-509 0 obj <<
-/D [507 0 R /XYZ 90 757.935 null]
->> endobj
-510 0 obj <<
-/D [507 0 R /XYZ 90 733.028 null]
->> endobj
-481 0 obj <<
-/D [507 0 R /XYZ 90 716.221 null]
->> endobj
-511 0 obj <<
-/D [507 0 R /XYZ 90 716.221 null]
->> endobj
-512 0 obj <<
-/D [507 0 R /XYZ 215.408 627.602 null]
->> endobj
-54 0 obj <<
-/D [507 0 R /XYZ 90 612.994 null]
->> endobj
-513 0 obj <<
-/D [507 0 R /XYZ 90 528.248 null]
->> endobj
-514 0 obj <<
-/D [507 0 R /XYZ 90 528.248 null]
->> endobj
-515 0 obj <<
-/D [507 0 R /XYZ 90 452.836 null]
->> endobj
-516 0 obj <<
-/D [507 0 R /XYZ 90 414.12 null]
->> endobj
-517 0 obj <<
-/D [507 0 R /XYZ 90 375.403 null]
->> endobj
-518 0 obj <<
-/D [507 0 R /XYZ 90 336.686 null]
->> endobj
-519 0 obj <<
-/D [507 0 R /XYZ 90 297.969 null]
->> endobj
-520 0 obj <<
-/D [507 0 R /XYZ 90 259.253 null]
->> endobj
-521 0 obj <<
-/D [507 0 R /XYZ 90 220.536 null]
->> endobj
-522 0 obj <<
-/D [507 0 R /XYZ 90 181.819 null]
->> endobj
-523 0 obj <<
-/D [507 0 R /XYZ 90 143.102 null]
->> endobj
-506 0 obj <<
-/Font << /F63 177 0 R /F23 144 0 R /F89 447 0 R /F50 143 0 R /F65 179 0 R /F72 202 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-560 0 obj <<
-/Length 984       
-/Filter /FlateDecode
->>
-stream
-x��YM��H��W�NX�R�.DZ=~�љ��֓�	��v 2}�����&h�Ɍ��PTջ�[�w�(�J�
�
�gZNsMF��Qb4�M�E�A������8�
#�h�g\���2Y��`܉��������h�y�pnJX5�2`�"����=%SlA(g�M�kA$x�&烿��E��)���Q
RXb� ����sU�ߌ#�B�%�irFR�`U��IQw+���?� )L�\^��d)v��i1>�]�b<)[��"��"��E<k+�z�7�g|�Q�
#���J����8��Ͱ���=����D�P�B��1p����}y�8<3�X�eŵf�'�I��{��?����HrQd��i�N��I-!w�9�
��x�؁ꖱ�ԭ�"�ϒt��
٘D$��l$��%�V�c؏ǩ�l�1���N���i�kN���_���W
(����?�,���-�gT�9��|�
X�,U�;�pޒ�R���M	��,�Z��M��#O�%?S��5�q��9s� ��VA�>]����!tF�vP�Q��$�W
�֋���lC;��I:IZ돢x.zȬ�ǽ���}�<w���ŒD�z�9��W����a[t
�ð�r+�̓n�ߤ��{�]���L�	���N���/F�V��ܧґ^
��u�ˌ����\�P6�^#������V��ȩY�Z����^�X�o�9VuH2&@Iqg�m�s
w���`���|>=⟙V`���K��H�@��_�˧G�ی�u ���g�Oɀ.�K���0�V���Ȳ'�)j��h�A
���z)� 
-[o
aqU�VrtU�(D�&d*��E\^��Mv}{�L�����m�O|�Wq:[dzz��r\���nz�J�G�R���+N����*�o2�W�,���J�b�� ���y�Ԥx>����r�Km=�Q���U������
LV�N��
���6$�!M1(�u��2�=�E�'��)6.�1�.i��
��
-endstream
-endobj
-559 0 obj <<
-/Type /Page
-/Contents 560 0 R
-/Resources 558 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 582 0 R
-/Annots [ 503 0 R 504 0 R 563 0 R 525 0 R 526 0 R 527 0 R 528 0 R 529 0 R 530 0 R 531 0 R 532 0 R 533 0 R 534 0 R 535 0 R 536 0 R 570 0 R 537 0 R 538 0 R 539 0 R 540 0 R 541 0 R 542 0 R 543 0 R 544 0 R 545 0 R 546 0 R 576 0 R 547 0 R 548 0 R 578 0 R 549 0 R 550 0 R 551 0 R 552 0 R 553 0 R 554 0 R 557 0 R ]
->> endobj
-503 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.62 719.912 347.081 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-504 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.145 719.912 513.996 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-563 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 708.933 178.437 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-525 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 669.103 247.598 680.007]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-526 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.568 669.103 322.855 680.007]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbf20fcbeb06790546a112b72eb0811f8) >>
->> endobj
-527 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 630.249 247.598 641.152]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-528 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.089 630.249 372.389 641.152]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-529 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 591.394 281.918 602.298]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-530 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.889 591.394 391.497 602.298]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g747bcaa4d01a8065758096b1ff0eb551) >>
->> endobj
-531 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 552.54 281.918 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-532 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [313.41 552.54 441.03 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-533 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 513.686 341.684 524.59]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-534 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.654 513.686 511.027 524.59]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gc803b1dab9dd0072acb6fdda204efd26) >>
->> endobj
-535 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.967 474.831 346.745 485.735]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-536 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [385.828 474.831 513.996 485.735]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) >>
->> endobj
-570 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 463.852 178.437 473.78]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) >>
->> endobj
-537 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 424.022 255.907 434.926]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
->> endobj
-538 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.877 424.022 339.473 434.926]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g64dda1bda497aab131fc204ed9e55894) >>
->> endobj
-539 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 385.168 255.907 396.071]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
->> endobj
-540 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.398 385.168 389.006 396.071]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-541 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 346.313 290.227 357.217]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-542 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.198 346.313 408.114 357.217]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g5e59406ab43e2f1851ea2e066137b4bd) >>
->> endobj
-543 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 307.459 290.227 318.363]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-544 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.719 307.459 457.648 318.363]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-545 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.684 268.605 359.771 279.509]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-546 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.519 268.605 513.996 279.509]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g5e128d772c07f54f135cac19e9a6ffbe) >>
->> endobj
-576 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 257.626 152.425 267.553]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g5e128d772c07f54f135cac19e9a6ffbe) >>
->> endobj
-547 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.048 217.795 362.135 228.699]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-548 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.84 217.795 513.996 228.699]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-578 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 205.84 212.758 216.744]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-549 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 166.986 270.84 177.89]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
->> endobj
-550 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.81 166.986 369.34 177.89]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gefc9900fe07bfdee6310e4705ea0bfec) >>
->> endobj
-551 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 128.131 270.84 139.035]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
->> endobj
-552 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [302.332 128.131 418.874 139.035]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-553 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 89.277 305.161 100.181]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-554 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [313.131 89.277 437.982 100.181]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gc0d389ac714f0d4d3e6950fd692e7443) >>
->> endobj
-557 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-561 0 obj <<
-/D [559 0 R /XYZ 90 757.935 null]
->> endobj
-562 0 obj <<
-/D [559 0 R /XYZ 90 733.028 null]
->> endobj
-564 0 obj <<
-/D [559 0 R /XYZ 90 688.196 null]
->> endobj
-565 0 obj <<
-/D [559 0 R /XYZ 90 649.342 null]
->> endobj
-566 0 obj <<
-/D [559 0 R /XYZ 90 610.488 null]
->> endobj
-567 0 obj <<
-/D [559 0 R /XYZ 90 571.633 null]
->> endobj
-568 0 obj <<
-/D [559 0 R /XYZ 90 532.779 null]
->> endobj
-569 0 obj <<
-/D [559 0 R /XYZ 90 493.925 null]
->> endobj
-571 0 obj <<
-/D [559 0 R /XYZ 90 443.115 null]
->> endobj
-572 0 obj <<
-/D [559 0 R /XYZ 90 404.261 null]
->> endobj
-573 0 obj <<
-/D [559 0 R /XYZ 90 365.407 null]
->> endobj
-574 0 obj <<
-/D [559 0 R /XYZ 90 326.552 null]
->> endobj
-575 0 obj <<
-/D [559 0 R /XYZ 90 287.698 null]
->> endobj
-577 0 obj <<
-/D [559 0 R /XYZ 90 236.889 null]
->> endobj
-579 0 obj <<
-/D [559 0 R /XYZ 90 186.079 null]
->> endobj
-580 0 obj <<
-/D [559 0 R /XYZ 90 147.225 null]
->> endobj
-581 0 obj <<
-/D [559 0 R /XYZ 90 108.37 null]
->> endobj
-558 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F23 144 0 R /F72 202 0 R /F65 179 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-611 0 obj <<
-/Length 1008      
-/Filter /FlateDecode
->>
-stream
-x�ݙ�r�J��<E�"-��<��MbW��sWN��A�$ !B��s4`#Y�񍝕�������}�!h�:
�;
OG[�]!K�VKF�h�.
���QB��~~���1I�W~�'7�`�z�2�
&ܯ���ף����	�Y[Rc�%�,_	���`n
�f��H0�:|�"��5�S3d N%�8�SL
Ҍc�d
�Ǖ�c���y��K)upZ]��I���J0�rl
�0&Km�
O�$���*�q�ěIRK��
-
>g��V��i<��O�0��$���7�$X�V�!�0��u����cb�����kz�
Oc:��p�
�j�D�c�`�,��V�z&�M�{#�~F�߂I�������2��r��I�
-�
-KS�eX��S�>���xis��X
 (��0E5�.H$ռ�M��e���i�ͥ�AtE��3
+��N�F��8��Ue�5_�c�����2�~xs6>���Ł9�ŽJ�A�#̙�N;͑T ʞ���$u�rE�6�m�z  ����	΢��u0�����`�� b��n8�dxl
��:7@3�{�g���CBN�s���l��D�b^�,.T�qz�/���^�`Ԕ}�
K��ԓ�:����n����}�d�U}��|��f/���p��<
6�D�r
֗�sI��B��mK��
ɀ>F��#UW�����-��ߠ>�R[��yMS��
�f�=C�Ջ)�KR��@�)�"mՠ���+wM�6O͆�����Z,zM�Z�f��k!{����{�~�
6�7�L�t��R�
3��՚Y(L� �
-m~7���YY�p���9�z��{H[��g�ݠ"d|���\^Z,e��:��s�̥��㥟޲ۅ���ޝ���˼�{?�m�YQ�M:�+�ǟ��[�
WB��W�����B$��v	H�Q�?$���Ůljp΃�'W�;��z��� ���`CJn���$Y�3
n�[<Y�M8_�x�
�Vf��8HJ{{�z�y`�(�1�Cx�����
8��k]�
-endstream
-endobj
-610 0 obj <<
-/Type /Page
-/Contents 611 0 R
-/Resources 609 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 582 0 R
-/Annots [ 555 0 R 556 0 R 583 0 R 584 0 R 615 0 R 585 0 R 586 0 R 617 0 R 587 0 R 588 0 R 589 0 R 590 0 R 591 0 R 592 0 R 593 0 R 594 0 R 595 0 R 596 0 R 597 0 R 598 0 R 624 0 R 599 0 R 600 0 R 626 0 R 601 0 R 602 0 R 628 0 R 603 0 R 604 0 R 630 0 R 605 0 R 606 0 R 632 0 R 608 0 R ]
->> endobj
-555 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 696.002 305.161 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-556 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.653 696.002 487.516 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-583 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.757 657.148 372.777 668.052]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-584 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [388.598 657.148 513.996 668.052]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g56e2574a7d2f006333151867599e8fa3) >>
->> endobj
-615 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 646.169 178.437 656.096]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g56e2574a7d2f006333151867599e8fa3) >>
->> endobj
-585 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.101 606.338 365.122 617.242]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-586 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.906 606.338 513.996 617.242]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-617 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 594.383 212.758 605.287]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-587 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 555.529 264.225 566.433]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-588 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.195 555.529 356.11 566.433]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g12c368fa0bdd20b907d9ab8e92e999d2) >>
->> endobj
-589 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 516.674 264.225 527.578]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-590 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.717 516.674 405.643 527.578]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-591 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 477.82 253.705 488.724]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-592 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.675 477.82 335.069 488.724]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g97b246f11809448c53f089779c0019a1) >>
->> endobj
-593 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 438.966 253.705 449.87]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-594 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.197 438.966 384.603 449.87]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-595 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.398 400.112 343.168 411.015]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-596 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.63 400.112 513.996 411.015]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gdb1edf876e8c62fb7d2630a9280224f1) >>
->> endobj
-597 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.834 349.302 343.605 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-598 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.989 349.302 513.996 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-624 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 337.347 169.591 348.251]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-599 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.707 298.493 385.23 309.397]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-600 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.001 298.493 513.996 309.397]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g2f2a1aa8fbda2e53218cecba593f7427) >>
->> endobj
-626 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 286.537 203.344 297.441]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g2f2a1aa8fbda2e53218cecba593f7427) >>
->> endobj
-601 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.486 247.683 385.009 258.587]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-602 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [427.87 247.683 513.996 258.587]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-628 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 235.728 256.225 246.632]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-603 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.514 196.874 404.049 207.778]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-604 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.628 196.874 513.996 207.778]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g576b0ae433a83ef58a3c174a86623582) >>
->> endobj
-630 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 184.918 240.983 195.822]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g576b0ae433a83ef58a3c174a86623582) >>
->> endobj
-605 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.917 146.064 415.452 156.968]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-606 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 146.064 513.996 156.968]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-632 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 134.109 319.328 145.013]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-608 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-612 0 obj <<
-/D [610 0 R /XYZ 90 757.935 null]
->> endobj
-613 0 obj <<
-/D [610 0 R /XYZ 90 715.095 null]
->> endobj
-614 0 obj <<
-/D [610 0 R /XYZ 90 676.241 null]
->> endobj
-616 0 obj <<
-/D [610 0 R /XYZ 90 625.431 null]
->> endobj
-618 0 obj <<
-/D [610 0 R /XYZ 90 574.622 null]
->> endobj
-619 0 obj <<
-/D [610 0 R /XYZ 90 535.768 null]
->> endobj
-620 0 obj <<
-/D [610 0 R /XYZ 90 496.913 null]
->> endobj
-621 0 obj <<
-/D [610 0 R /XYZ 90 458.059 null]
->> endobj
-622 0 obj <<
-/D [610 0 R /XYZ 90 419.205 null]
->> endobj
-623 0 obj <<
-/D [610 0 R /XYZ 90 368.395 null]
->> endobj
-625 0 obj <<
-/D [610 0 R /XYZ 90 317.586 null]
->> endobj
-627 0 obj <<
-/D [610 0 R /XYZ 90 266.776 null]
->> endobj
-629 0 obj <<
-/D [610 0 R /XYZ 90 215.967 null]
->> endobj
-631 0 obj <<
-/D [610 0 R /XYZ 90 165.158 null]
->> endobj
-609 0 obj <<
-/Font << /F63 177 0 R /F72 202 0 R /F50 143 0 R /F23 144 0 R /F65 179 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-667 0 obj <<
-/Length 1627      
-/Filter /FlateDecode
->>
-stream
-x�͙�s�8���+�v�LQ�a���r)ɥ�&)!s�i;
x
-�g������oe�SCLBھ`0��j�������������ѩ�
�u�����:qJ����d:�[]�16/��4L�.��|�a�����2B}fRn}����:dc����\ƍ���
6Fp����=�57l��:3n::x�]�!�peW/^�E��"�
-��G�
�=G
d3��R�����T[[>c|�r�� ���4?��y�r�I2
����i�y0�<l�+6%���n�!��.�ȷ�Q������͠|~9�{�E��&�y|�!�|��L�|���~��`l�Z66�/Z
�`,A>�ۭ}�`�&yg�ޱE1���
��嚞o�W���ͥK�q�6��Bj�oE6L�;�)RN>�Kj1�3M�ڭD]2�b����Y�˰��"ܔ �F˶�C�6�+C>!/��#�|8���E�5
\�nO%M�w���pX�3!�����
LIm[�u�SU�1]葃17?�q6�m���vH�'W7�����fj6h{
�G�XZ5��8W��F�H]��u"3W"R@
����
�}	���5p�hԂ^�v�+E럿=�5�[��ʜ�S���U��x�L~I� ��ö�et��0t
6C�k�N���m�짻�y�-Ȓp(�Q4q49�3�x��BP�x�or}tJ�'O��
��/e>�Lߘ)�#�9�'mbޥXBkף�w�U� [...]
-/�4��ԔEZ�
zۂ���
�z�4�G3!�ۯZ9
�ZU�V<ċ<

�w��y��q}�Q�UYЭ�}8[�2ڡ�
�E���o�,��a.j�<]��u?�h$��u�[T��w3qp�
��m\�z=�תn��c��;k�-��N��0m�-�[��ȇ�(�����b�7bQ�/��L�0���j�ۆs�>���=5�z��`a-r��ܓ�p��iI� &���I���D�B�u�#)��q�#��
uh�|��
�*�Y{����y
İ�����7���'��!燂���l�v�ϰڤ����=��F'
���re+��h(�����N �e�Ra
-�:��z&A	�䙌2� �҃2��:��J�`�;��c x��'[
F��d�V'i�(#����F��
]���7j���ˬ$c��L�K�tϢ��������*����hU�ܧC�����_
h|춬����Ï��VyW���.������}
�`
���
���<�\�]�ٲ���`���]0���"o���|<�a�Ҿɘg��T
ǂ�<�� �Ra�W��ҡ\F|f.c�5)�
F���D�Op�b,�T�PC�,fQ,�R�8��S?C��x�����VԖRZ!E�lKo�A�m
͢��	���U�>�My�Tխ<��l
 �ލb����/�
0�xm�O� hT8H�^������
-��ɝ:N���dԼ^�
�b����ջ4�q��\��dN���2�Dz�P�p�6�o�f�
x��p���
�K�"��p#�C*���.�6�<e9S
�j����I���٪bM�<������
3���$EQ~9r����J��s��@T����"jQ
7��K�z� N�s�
�
-endstream
-endobj
-666 0 obj <<
-/Type /Page
-/Contents 667 0 R
-/Resources 665 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 582 0 R
-/Annots [ 607 0 R 633 0 R 634 0 R 635 0 R 636 0 R 637 0 R 638 0 R 639 0 R 640 0 R 670 0 R 641 0 R 642 0 R 671 0 R 643 0 R 644 0 R 645 0 R 672 0 R 646 0 R 647 0 R 648 0 R 649 0 R 650 0 R 651 0 R 652 0 R 653 0 R 654 0 R 655 0 R 656 0 R 657 0 R 658 0 R 659 0 R 660 0 R 661 0 R 664 0 R ]
->> endobj
-607 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 697.247 251.533 708.151]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge5679e4f41db32b7b91dfc81574fc1d6) >>
->> endobj
-633 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 681.681 291.912 692.211]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gge5679e4f41db32b7b91dfc81574fc1d681067f9cf8984d1b3febca4488a137e1) >>
->> endobj
-634 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [309.096 681.681 511.506 692.211]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gge5679e4f41db32b7b91dfc81574fc1d6f8c3e04d66cd611db5efcd92a6c52425) >>
->> endobj
-635 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 669.725 269.267 680.256]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gge5679e4f41db32b7b91dfc81574fc1d6a166787e251ef2cbaad9213d8e9d2653) >>
->> endobj
-636 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.256 669.725 496.245 680.256]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gge5679e4f41db32b7b91dfc81574fc1d69e4eb4979711bf6699ec8e0f335de476) >>
->> endobj
-637 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 653.785 313.491 664.316]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gge5679e4f41db32b7b91dfc81574fc1d69029c33b6876c560bf78b5b86d0367c0) >>
->> endobj
-638 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.833 614.557 255.144 625.461]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf449476be1ec42bab45fb86e7478bdf9) >>
->> endobj
-639 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.505 614.557 414.236 625.461]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ggf449476be1ec42bab45fb86e7478bdf9132c76cbee67b5bc2ac9e09af9c68c4f) >>
->> endobj
-640 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [422.52 614.557 513.996 625.461]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ggf449476be1ec42bab45fb86e7478bdf91304ca7fa8d3e734d1677709a37d5d28) >>
->> endobj
-670 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 603.319 165.776 613.506]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ggf449476be1ec42bab45fb86e7478bdf91304ca7fa8d3e734d1677709a37d5d28) >>
->> endobj
-641 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.33 603.319 327.707 613.506]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ggf449476be1ec42bab45fb86e7478bdf9fdbee5cd06ff135cbf9614b661c9e923) >>
->> endobj
-642 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [342.261 603.319 513.996 613.506]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ggf449476be1ec42bab45fb86e7478bdf9b32d9464a7101eb1893562646a3cdd1a) >>
->> endobj
-671 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 591.021 145.233 601.551]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ggf449476be1ec42bab45fb86e7478bdf9b32d9464a7101eb1893562646a3cdd1a) >>
->> endobj
-643 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.362 551.793 273.916 562.697]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g5b805182b79b6fb873d0624f7dfd2ee1) >>
->> endobj
-644 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.335 551.793 453.397 562.697]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gg5b805182b79b6fb873d0624f7dfd2ee159042baec996bc386154a1825ad56de0) >>
->> endobj
-645 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [457.21 551.793 513.996 562.697]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gg5b805182b79b6fb873d0624f7dfd2ee1a05a8932097b094ca179e99e2d80b6ae) >>
->> endobj
-672 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 540.211 269.227 550.742]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gg5b805182b79b6fb873d0624f7dfd2ee1a05a8932097b094ca179e99e2d80b6ae) >>
->> endobj
-646 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.216 540.211 448.922 550.742]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gg5b805182b79b6fb873d0624f7dfd2ee13e5170687052e3962de866e2ab44d8f8) >>
->> endobj
-647 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 459.075 237.386 469.979]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge8e2db00ec6575b865057ffd3195327b) >>
->> endobj
-648 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.202 459.075 324.558 469.979]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-649 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 420.221 215.259 431.125]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gdc14acd60d7235a72f88850b9a917eca) >>
->> endobj
-650 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.075 420.221 302.432 431.125]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-651 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 381.366 215 392.27]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g7593947fa164900140d09c08b56c6cd1) >>
->> endobj
-652 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.816 381.366 302.172 392.27]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-653 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 342.512 218.318 353.416]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g56026e685fb0fe336a5f346580f84ff0) >>
->> endobj
-654 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.178 342.512 365.534 353.416]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-655 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 303.658 223.299 314.562]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g13f1f84a46d70b91637cb9d6af54af6b) >>
->> endobj
-656 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.638 303.658 359.995 314.562]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-657 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 264.804 275.881 275.708]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g0764a0e607ec4de08a53e6d3b109a714) >>
->> endobj
-658 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.697 264.804 434.744 275.708]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g1822baf29ede5879f1c6ed77f0ca5984) >>
->> endobj
-659 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 225.949 276.987 236.853]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gc37b94ca7dc0c8bb9797e6d91e16492e) >>
->> endobj
-660 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.803 225.949 435.85 236.853]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g1822baf29ede5879f1c6ed77f0ca5984) >>
->> endobj
-661 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.704 187.095 221.734 197.999]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g763a5fa98155383055703dc08cb3e11a) >>
->> endobj
-664 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-668 0 obj <<
-/D [666 0 R /XYZ 90 757.935 null]
->> endobj
-669 0 obj <<
-/D [666 0 R /XYZ 90 716.221 null]
->> endobj
-673 0 obj <<
-/D [666 0 R /XYZ 90 478.049 null]
->> endobj
-674 0 obj <<
-/D [666 0 R /XYZ 90 478.049 null]
->> endobj
-675 0 obj <<
-/D [666 0 R /XYZ 90 439.314 null]
->> endobj
-676 0 obj <<
-/D [666 0 R /XYZ 90 400.46 null]
->> endobj
-677 0 obj <<
-/D [666 0 R /XYZ 90 361.605 null]
->> endobj
-678 0 obj <<
-/D [666 0 R /XYZ 90 322.751 null]
->> endobj
-679 0 obj <<
-/D [666 0 R /XYZ 90 283.897 null]
->> endobj
-680 0 obj <<
-/D [666 0 R /XYZ 90 245.043 null]
->> endobj
-665 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F23 144 0 R /F65 179 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-706 0 obj <<
-/Length 1849      
-/Filter /FlateDecode
->>
-stream
-x��X�s�6�����J͜`�@����NG���,��L���$d��W�����X�"e]�f.��D`,v��/б�,��i�f=�x�VL��
��֊
k
��z��N�OvH�t�:�c/�c���t�QǾf-ko�3��b����o�w������ގ�*^tN�>��|��7�J���r�G�^�ʭ���Y��?'�7��|���e{6�{�@y�9{�:��nH?�f�GBs������ӌ��]ш�����(Z�I*S?i���v���n�����ny��b�qs��\�6w�S���������rt�����ܳ"5
��R���fn@� @Q�ʔ�8���N�e
7�M;KX�iU�
�2,�yR�UƧ�c�.Z�]���!�E��
gF2@ v_߆��"���C3Ue���7�$v�>~�D²��w2����W4tW�g��~M3};�q
����,/���������b����v���nQ��Y�]�oB�Z��x2�d�]���xZOj��X���jx;ƥ*A���Њf;�����̨ͤ��w=��ސ��_�џɯ���j}��Z�u@��~us�^}O�|'F����'�
�8N��4PR�	O$B�
-G߉��q�ˎ8�N�q����ԥ�Y��4�5��4F=E�d]z�C�2�C�.n���7��x���y�k�e"U����f�7D�C\�WD�5a���loV��p�X��4�L�������鎯˴�2ˡ��
+��7�?��#e��ā�F�������	u�[&2c�k�$��Z��O���t
-^O#džWʷڏ�F�^�l�BK�/�QoP�F��?��H���QI_�$��i��q�g�Vu)��)�@y<�s�����4r�f��BT�l�"����XrMʺ�
���	䞊}�4Os�F�V�]z+n�"���
{�e��w���99yy��*h
�
]�x[���o>W#2wb7"�ؗP��n4�b{��z���Jj��6��j�8=�,ϱO B. �/���
�����^�)
�v���Y�����L�
�HS�1�Ɂ�,������F%���{����r"�8=

�Y
-�)����B�`�Y��=[�D���ї.����������)�ILM�P�kx�����x���D�%zEU
X��5����Khy!c�&A��˺vV|ޚ�1�/4j�lRKgea��,Ixӌ
��W,[�� �d���"=���17z:7���@'8�
ˤ
!��iR"

�Sk;<:�)ٱ���.%~4�X&
�?#�P���6��<+x��Ӧ�ڪk7&el��
�Ƚ� �CEi�a��I�3jbDc�w�a�
�c�
-��l�gKO�DU�}{��hㄯ/���Ï�[��ܢg��
��IRl�]���k�r
2�����N@�yqփ�3GH��F^

-C
ʳAwdH�%��'�ap����PS|m�[�AfQ���.�f�.�)(���$�x
��)�<����+���
��
?&��D��E:��Q��I�1 �D�Ń=cq)�!��`�n��Y�3e�kcX�b�Y�v�l겖�LZD��_����0 �;V5g��B������(Ϡ!�zD�� 8�� ��O��Ӗw�Gf0ն�p�j5;LCe?�t��ұ�IZ���Vp�!!���#G�9v�;�K�P����]�7P1�s�&L�����껀���!��n��6W����!��~��ӘP:�!�oߩ��Υ����
����?L�p���=��
-�(k?HGl��{V`�k2
-5
�:ē9P��mŹ6Z�eF?O�G
�����޵m����~�'IC:�!k"�
Ⱦ/{�#�
4��$�cy
D�\��
��
t��(
-endstream
-endobj
-705 0 obj <<
-/Type /Page
-/Contents 706 0 R
-/Resources 704 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 582 0 R
-/Annots [ 662 0 R 663 0 R 697 0 R 698 0 R 699 0 R 700 0 R 701 0 R 702 0 R 703 0 R ]
->> endobj
-662 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.387 697.247 359.547 708.151]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g1fd59c6502c8cbb9dbb802e4af34c940) >>
->> endobj
-663 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.387 658.393 337.311 669.297]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gb9fc89c0e89d4487a1f69a26849b682a) >>
->> endobj
-697 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.387 619.539 316.27 630.443]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g735949470e98393af90b12f534b06cba) >>
->> endobj
-698 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.387 580.684 356.768 591.588]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge439fa617415f2153f4793041c41bd9f) >>
->> endobj
-699 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.387 541.83 410.028 552.734]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gef15021f65d2810602a9a1bd06fc878d) >>
->> endobj
-700 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.387 492.017 363.961 502.921]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g841003bef28b1052aa2b5297a529d4d8) >>
->> endobj
-701 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.387 453.163 354.566 464.067]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge311117a92fca76fc66fe3442ff6d09f) >>
->> endobj
-702 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.387 414.308 351.249 425.212]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g0aac22e2dc312e8c41418dd8d59701f8) >>
->> endobj
-703 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-707 0 obj <<
-/D [705 0 R /XYZ 90 757.935 null]
->> endobj
-708 0 obj <<
-/D [705 0 R /XYZ 90 716.221 null]
->> endobj
-709 0 obj <<
-/D [705 0 R /XYZ 90 716.221 null]
->> endobj
-710 0 obj <<
-/D [705 0 R /XYZ 90 677.486 null]
->> endobj
-711 0 obj <<
-/D [705 0 R /XYZ 90 638.632 null]
->> endobj
-712 0 obj <<
-/D [705 0 R /XYZ 90 599.778 null]
->> endobj
-713 0 obj <<
-/D [705 0 R /XYZ 90 560.923 null]
->> endobj
-714 0 obj <<
-/D [705 0 R /XYZ 90 511.11 null]
->> endobj
-715 0 obj <<
-/D [705 0 R /XYZ 90 472.256 null]
->> endobj
-716 0 obj <<
-/D [705 0 R /XYZ 90 433.402 null]
->> endobj
-717 0 obj <<
-/D [705 0 R /XYZ 90 376.988 null]
->> endobj
-718 0 obj <<
-/D [705 0 R /XYZ 90 209.141 null]
->> endobj
-524 0 obj <<
-/D [705 0 R /XYZ 90 184.927 null]
->> endobj
-719 0 obj <<
-/D [705 0 R /XYZ 90 184.927 null]
->> endobj
-704 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F23 144 0 R /F65 179 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-723 0 obj <<
-/Length 1460      
-/Filter /FlateDecode
->>
-stream
-x��X�r�F}�+��*��>�V�*�f
o�6����fK%����H"��>�+�!�����F=�Ϝ>=3X[jX��>
���L��%�Ԧ
�š�	J��\��K$�!��7�c�/Ɛ
-�_:��l��2B-�Se|������bc����B�	m�
|���9|�NÈY����Zk�2�����eKQ�B,G6�k7tb/�3tSCq
��X����� @	S
)G�[�X���\����٬��ɾ�(
Ϗ�24�9{+p"D%
-Iʳ��n4
�DŽ�$X���	�U�$*
7�<w�}�S�d�f��(e�����#˒�C��
-^��M��]Ӫ��QH�DX�,�x|c_���O'�׷S{�q<�oF���������?�q�E�d�g/'!X4HZ�:���j\"%���
V��K6ҬTȢ��;V�#�$ŀ&�5^�
�Bn �~n�&��A��`p�����D���.���S:�V�Dz����D
��!�$r�brx4wl���qg���L�]�@�
R=�
L&�a~�&�sC}:��&5F��?����V��H)u��
�b�`���������i���LJ�O`��BR�j����ߕ�g]�h~soaP�/��-����i�b������h�I� �e�����ב8�9l*�)өK$o�+�w�]�m	zN�Ja�c?T�85O�:/��!�Y�cю� {�
-���Oĺ	:�L
�y�c�^���?L�@��!�DijUmC�	�)zJ���,;���q�ͿG%ô?HMO�/_]��B���gGv�-�|��{`�
�����:X�
!��^
��ڍ�0AПG>�ii
4 S"�����%
�W	�%�L����x^Io��lw�<�$�˓���	;�C�:��݆�h�^^Z^R�^`?��Ɔ݆�/�؍�+p�I
�}����D{����&��Y&BQ嘟���\��������)0�/�
�����&~�.�|mp8C/������
�kA��ؐ�IA�2}F��Ԥ�r�e'	�qYA#`={���H�M�L&�v�v�#H�'�PUխ�!�V^�_,jJ]�P�u"�M���?'ؚ;V� B����q�ra�QV
&��U7�\{��A�nyAl�Y�9/���S���%E��S���M���쭩�}��������U�E����=�K)Df��&	�̵�ڣ�|Ν��SU��
IOnG�dq��RrV�Fn�*y4(Aܗ|�n���!�[�׫g���0��o�N��KfZ+�"�jx~�#�!�`6L�:���4�b[�n���]i"�����w���D�bf~�+���f�Xb$�d��eT��'w
:ٯ�{hx�Ȇ�8�r�,���}0�T2�,��!rß�������uV�oI�'�\++C��
F4�c�4W�߻nNF�����g�����n���z��͛����g4����6!��3��g�u�!l���L� l
�G���;��:Z���W�%
-endstream
-endobj
-722 0 obj <<
-/Type /Page
-/Contents 723 0 R
-/Resources 721 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 582 0 R
-/Annots [ 720 0 R ]
->> endobj
-720 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-724 0 obj <<
-/D [722 0 R /XYZ 90 757.935 null]
->> endobj
-725 0 obj <<
-/D [722 0 R /XYZ 90 733.028 null]
->> endobj
-681 0 obj <<
-/D [722 0 R /XYZ 90 714.318 null]
->> endobj
-726 0 obj <<
-/D [722 0 R /XYZ 90 714.318 null]
->> endobj
-682 0 obj <<
-/D [722 0 R /XYZ 107.713 639.496 null]
->> endobj
-683 0 obj <<
-/D [722 0 R /XYZ 107.713 624.398 null]
->> endobj
-684 0 obj <<
-/D [722 0 R /XYZ 107.713 609.3 null]
->> endobj
-685 0 obj <<
-/D [722 0 R /XYZ 107.713 594.202 null]
->> endobj
-686 0 obj <<
-/D [722 0 R /XYZ 107.713 579.104 null]
->> endobj
-687 0 obj <<
-/D [722 0 R /XYZ 90 570.032 null]
->> endobj
-729 0 obj <<
-/D [722 0 R /XYZ 90 555.84 null]
->> endobj
-688 0 obj <<
-/D [722 0 R /XYZ 107.713 480.211 null]
->> endobj
-689 0 obj <<
-/D [722 0 R /XYZ 107.713 465.113 null]
->> endobj
-690 0 obj <<
-/D [722 0 R /XYZ 107.713 450.015 null]
->> endobj
-691 0 obj <<
-/D [722 0 R /XYZ 107.713 434.917 null]
->> endobj
-692 0 obj <<
-/D [722 0 R /XYZ 90 424.903 null]
->> endobj
-730 0 obj <<
-/D [722 0 R /XYZ 90 410.712 null]
->> endobj
-693 0 obj <<
-/D [722 0 R /XYZ 107.713 336.024 null]
->> endobj
-694 0 obj <<
-/D [722 0 R /XYZ 107.713 320.926 null]
->> endobj
-695 0 obj <<
-/D [722 0 R /XYZ 107.713 305.828 null]
->> endobj
-731 0 obj <<
-/D [722 0 R /XYZ 90 289.48 null]
->> endobj
-696 0 obj <<
-/D [722 0 R /XYZ 90 267.168 null]
->> endobj
-732 0 obj <<
-/D [722 0 R /XYZ 90 267.168 null]
->> endobj
-721 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F89 447 0 R /F11 727 0 R /F8 728 0 R /F23 144 0 R /F65 179 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-759 0 obj <<
-/Length 1902      
-/Filter /FlateDecode
->>
-stream
-x��YY��6~��Ї�@��!�H�ɦ)r5�f���,ѶYr%9���wx�,{׉7i�DQ�p8��|C
-[

[�
_�.���
-P�R׺�[�<� N�u
[�lo<�
ۗiX���$�6+�Ua���x�̴�?�p�|������"J��Ǹ�F�>`+���F,���
��ZoG�pO-� 渴֋2�]��E0>���ep�d`kBa��7"1B��tz���{�i���i.��gY%�y	�z%��t�58�O.!���c�7ka4
�X7�,�Z��y^�FJ�)�EJd6�w!
r���)ɢtu��
y`k��: 
�ʚ��t)�Xh9 �g���z�o����pD�&�"o]�4�����f���=��ϼ2Ư�aU�Di:��4��|\��L=C#EFk���� s��)G�V�T�&���E
~T��"�p��������'a����xf���)ֻ	p&���AU,Lt]�rE�LH�l�w ԗ('H�
��i��
ݱ�OcN�
��|���
Ԣ#���4�шr
�z`-0Z��,�̳�
-b�aj���l0C�>N��5T�6��z�0�݉��G�i[$�������ПU��N��n���= �
-��������	�g
�Ie�Djk�rYPP�ٱ
��D��= �	Db�� I�>!9��j�Z�~tR�"�N�ZI��rg�R/�6��������o r�ƫ
��&�
pe�"�$2�;�����z��������bL�-�xQ�*��	�
��S�1tƒ5�@�˄��٥���{(��L����
tG���3�L#�n�<:���u������q0"�}���1i�r��I�n6��z�2f��y�2a�84,�x��q]�
�V[m$������C`cP�:
؆��k��P�j��]���n���H�;-�(��02�9P��{��C�
L��3�K�ʱ�5FP\V�@`�!�@��qz>�#(�@�|�Қ��`�fh����Mb�=8�{8XQ�c�.�O�
�3
��9�+�5\�0;���,�gBs4z�(ퟘ&A����
-}~}G��.R��� D���"���
�= �x���E��J*�#.)��X�������!<�d�C�HⰡ��㆜���(�^�

��!΂6+���
-?�c^ˍ9B��V�Z�Y�d����zRT
�&i�[�/!�U�0�Ys&��S�">���`9�(v�ۀ���+Ɠ�Y�ڣ�*k&߹��=�0 '�z<
��Hc����ò�l{I�$:��-b��B.��<uL�}�
�L��Z"�Ζ
�Ϙ������={]�jSh��
{��I����@
I+zL�m�w
ܦ�O̲[�s�#�����];A*��un���2��R�F�0��и2���:��Q�.�kx�#���$̪R
,<�ڴ1�y�`Y�y��mܻ�\�b���|�\�&�5�ᨇ��b�6�j"�c�۹^5C�'��.�|���C���)�7ʉ��
֛�-���{�a�^#')��|��pL;A���$���C�M��E?
B?6P
(�jI]B6�x�e�ΪQ9��b+a"!Z"3�Go���:$�Γ�<����3<:�
���agHI�3��8C�ϗ�@�n�I$�4�����s�g7c��œ�~�C)*�P
�����r��f�_!>4~��|��&��)~��w�O�y?�?���*�;�(U?Ha�.
-<���Q
 ��>�U%˜�F�-,Vw��o��f)�"�__&�",n�˥
�2��pa������(tA".~
K��^�����N`��(J�KЉx�J�T�
(܄1���G�n�)p�����īq��������v��m�d]��� �\�WѭB
�4{�b�\�<d2%E+.E}?�
���
-endstream
-endobj
-758 0 obj <<
-/Type /Page
-/Contents 759 0 R
-/Resources 757 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 582 0 R
-/Annots [ 733 0 R 734 0 R 735 0 R 736 0 R 737 0 R 738 0 R 739 0 R 740 0 R 741 0 R 742 0 R 743 0 R 744 0 R 745 0 R 746 0 R 747 0 R 748 0 R 749 0 R 750 0 R 751 0 R 752 0 R 753 0 R 756 0 R ]
->> endobj
-733 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 543.954 223.166 554.858]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_5fa6bcd4ec3cf844646033688f2fdf0a) >>
->> endobj
-734 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.982 543.954 298.463 554.858]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-735 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 496.134 277.402 507.038]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_af38dc5a17ef89e16c45f363397afb59) >>
->> endobj
-736 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.218 496.134 352.699 507.038]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-737 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 448.313 296.52 459.217]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_fabc584f4f391708d6c0d7c47030471a) >>
->> endobj
-738 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.336 448.313 371.817 459.217]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-739 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.682 448.313 489.176 459.217]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-740 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 411.451 285.96 422.355]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_39db5035590b4bf7017a43cdcca6a49e) >>
->> endobj
-741 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.775 411.451 361.257 422.355]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-742 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.952 374.59 304.924 385.494]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_1ef606afeb25edded051be3b0c728086) >>
->> endobj
-743 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [308.586 374.59 380.067 385.494]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-744 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.896 374.59 494.389 385.494]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-745 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 337.728 230.608 348.632]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_cad04388edea0d80b20c40266a3c3f14) >>
->> endobj
-746 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.423 337.728 331.917 348.632]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-747 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 264.313 244.456 275.217]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_be5af687ddf08c6379bd115d210ac22f) >>
->> endobj
-748 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.271 264.313 345.765 275.217]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-749 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 227.451 221.203 238.355]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_001b2a61c18a500a446151a9024de3fe) >>
->> endobj
-750 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.019 227.451 322.512 238.355]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-751 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 179.63 252.755 190.534]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_474cce1b8348a126a8496cea7952a1f1) >>
->> endobj
-752 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 142.768 222.319 153.672]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_526a2d8ad27e00b633408a36830dc2ae) >>
->> endobj
-753 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 94.948 223.973 105.852]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_f0b12578ecdb0571ca51ee09789b2fc3) >>
->> endobj
-756 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-760 0 obj <<
-/D [758 0 R /XYZ 90 757.935 null]
->> endobj
-58 0 obj <<
-/D [758 0 R /XYZ 90 733.028 null]
->> endobj
-340 0 obj <<
-/D [758 0 R /XYZ 90 712.582 null]
->> endobj
-62 0 obj <<
-/D [758 0 R /XYZ 90 712.582 null]
->> endobj
-761 0 obj <<
-/D [758 0 R /XYZ 90 612.125 null]
->> endobj
-762 0 obj <<
-/D [758 0 R /XYZ 90 559.033 null]
->> endobj
-763 0 obj <<
-/D [758 0 R /XYZ 90 513.235 null]
->> endobj
-764 0 obj <<
-/D [758 0 R /XYZ 90 465.414 null]
->> endobj
-765 0 obj <<
-/D [758 0 R /XYZ 90 428.552 null]
->> endobj
-766 0 obj <<
-/D [758 0 R /XYZ 90 391.69 null]
->> endobj
-767 0 obj <<
-/D [758 0 R /XYZ 90 354.829 null]
->> endobj
-768 0 obj <<
-/D [758 0 R /XYZ 90 279.391 null]
->> endobj
-769 0 obj <<
-/D [758 0 R /XYZ 90 244.552 null]
->> endobj
-770 0 obj <<
-/D [758 0 R /XYZ 90 196.731 null]
->> endobj
-771 0 obj <<
-/D [758 0 R /XYZ 90 159.869 null]
->> endobj
-772 0 obj <<
-/D [758 0 R /XYZ 90 112.049 null]
->> endobj
-757 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R /F11 727 0 R /F23 144 0 R /F72 202 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-790 0 obj <<
-/Length 1821      
-/Filter /FlateDecode
->>
-stream
-x��YYo�F~ׯ ЇR@�ރgRh�N��Mܧ$Pir%�U
V��;{Q$M_�ݾx.?��|s���Z�z�xy�8z�1+D�G=�|c���=�\J����d��.WclWU�>.�m��"��WM��u\M�N[^GmY��h�\Q�'lm���������x �G�M���w��狿����w}�3׊�ŧ/�J`���
k/O�C���q��k]���ͧV �y�Ѝ8Q���!�J����1=fGj��&m�K!���)��t��]l��H�Qc\���3�4Ny��z�|���E�	O���xjw�K�%q�F�.�
�����q@%)n
}S�ƚ�	Cs&�24�U��T��;�j�'ͻ\-.���/�%�( ����
�R�\����z����ּ�
f��m�<�C�*���
����tEܦ����C�
r�3������
-�%���Z�՜� �
-��庪�$�
LK݃i������7bJ<�!��ֳp� ������"ρk�C(�τ��,��z
-��G
�� ��:F�(�͉�Mʮ��aQ�'�팘�q��
-T
B�q,�y�)ߜ��Vj�!K�K!���
S�F8(
��j
����i��p ��O�)���l!Z:&tme�1��b��~
�B�9�C��p(j
H�x��D�B6$�
D���EU�#� g�~��F��(��x%�F-O�.�2�>��J��kMD�4̩�Lu�:�/�z�Fs�S�����gt��>���ײ

�[+�"�BS[Dtu���Q��^�&��J�z`ස�I��� �W׺F����S-K}W�#��A�a

zϥo�P5hl�*l�
��Rb��:�گ�R��2M$(�G�z m��U���^)�r�N�� �
�r� ��
-l.23�0��q(\rŋDpK~�,�
-���v+U1��')��H��vA{ $#���
;��٩��]��ϣ+5��o�y��
��� ;`v��
ղ�y�6��}Q���nyݘ�M� 
������B��!'\���Z��� 9A��
��6�D�}�jO�w<�:e��T������J‹Iw�֤&���x��[">ȕ~��h[�F���'imSB,�B)�H�0���qT%
rX n�"׽#��`���(���BټӁ�Y�aT^
	i���6c�
_���
3�{qu\�2��#��H���H�8�-*!���R}�
�c�4����Wû7�>�
��
���̰ƀ��2&"�g���@�Q�r��
-'��l��]��
l�fT�IQ�9�/L�덀nI�#� s�X��b`M�����I��p���!7��EWF(Ql/���;Y?����K�ۙ&ڎJ;h��`�!��#Tq�޷
	�
{٥YҌ��B�Z�%U88�x$t�qb�}
O�8;x��qm�&�1IT]�̖�
\����PJ�Y�S�G�����02�}��"W<��C�
R�SҒ�
�
Ҷ
-;��m���Q�1/�.�H�������ug� �0�l�%d�H
�	�t�jGE\�l��oUWj��̰�8>r�����
)����
@si�k�S������ W�h�δ8��9�m��/j�%<�FBƿ����!
-����� ��ݗ�ؓ��d�zr�u��{Av���e�p���0���:��mӟ�=�6	��k���
��Їج���Pj�jx��3��:�Q��̮v<�#��4����J-�ՑӨ�v�V�2��a�φCr���Q/���.��3a-�j�61��ߐ=�G��e��j�ٯ
��� �w�����
��{7�+ҪFi{�:�^&
@1��˽��A���U����FM��O
��
-endstream
-endobj
-789 0 obj <<
-/Type /Page
-/Contents 790 0 R
-/Resources 788 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 801 0 R
-/Annots [ 754 0 R 755 0 R 773 0 R 774 0 R 775 0 R 776 0 R 777 0 R 778 0 R 779 0 R 780 0 R 781 0 R 799 0 R 782 0 R 783 0 R 784 0 R 787 0 R ]
->> endobj
-754 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 649.574 238.369 660.478]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_a1816497499ee569563a6d97a4ff553a) >>
->> endobj
-755 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.184 649.574 339.678 660.478]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-773 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 612.752 241.686 623.655]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_1e3bb22af6b60660fcb8d201b09ec7ed) >>
->> endobj
-774 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.546 612.752 403.039 623.655]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-775 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 575.929 246.667 586.833]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_249071ec2d19ecedaaf4e32ca8fc4a8d) >>
->> endobj
-776 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.007 575.929 397.5 586.833]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-777 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.672 230.668 330.933 241.572]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_9af8efc183a5a4cd4475146207f92c8a) >>
->> endobj
-778 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.314 230.668 513.996 241.572]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-779 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [159.18 181.89 513.996 192.794]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_38ece4277d5885940d45d6c8465ca19a) >>
->> endobj
-780 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.412 169.935 298.094 180.839]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-781 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.507 169.935 513.996 180.839]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-799 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 158.354 163.61 168.884]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-782 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.623 110.199 513.996 121.103]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_9c7ea131b285ad7aaefbc1e2cf579512) >>
->> endobj
-783 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.412 98.244 298.094 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-784 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [318.302 98.244 513.996 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-787 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-791 0 obj <<
-/D [789 0 R /XYZ 90 757.935 null]
->> endobj
-792 0 obj <<
-/D [789 0 R /XYZ 90 666.546 null]
->> endobj
-793 0 obj <<
-/D [789 0 R /XYZ 90 629.843 null]
->> endobj
-794 0 obj <<
-/D [789 0 R /XYZ 90 593.02 null]
->> endobj
-795 0 obj <<
-/D [789 0 R /XYZ 90 540.64 null]
->> endobj
-341 0 obj <<
-/D [789 0 R /XYZ 90 403.864 null]
->> endobj
-66 0 obj <<
-/D [789 0 R /XYZ 90 397.234 null]
->> endobj
-796 0 obj <<
-/D [789 0 R /XYZ 90 298.77 null]
->> endobj
-797 0 obj <<
-/D [789 0 R /XYZ 90 245.737 null]
->> endobj
-798 0 obj <<
-/D [789 0 R /XYZ 90 198.981 null]
->> endobj
-800 0 obj <<
-/D [789 0 R /XYZ 90 127.29 null]
->> endobj
-788 0 obj <<
-/Font << /F63 177 0 R /F72 202 0 R /F65 179 0 R /F50 143 0 R /F23 144 0 R /F11 727 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-820 0 obj <<
-/Length 1776      
-/Filter /FlateDecode
->>
-stream
-x��Y�n�F}�W�C% Z��(�$M�4-RG}J�!W2�THʎ����Q$E�J�}�H.g�rf��
-{k{�N�,&g�}�E(��-V^���'HP�-R��4 at l6'��v�/��ź��"��77u#7�&^��T�鋢��*N����+Y�H8U�ABH(�2<{�x9�e1�4!� ���P(`�K6��ﱗ��
F,
-�k�j�q��{o&N�U~x���
��+cLj�π2�}a,����uQ5csI���U�̵���UQ7�g�(��4n�J���h�|��ަ����Q�XHܚ�
!JB�"��G����ȭAکǼr�\�N|�$�țS�"�w�����\@̳���U����م^@HjT�2��
���R�͹��|L�a��n��!DŽ�����`A��av�.��:�Y;�Q�
����p�"
�/��ӫ8�Ҹ�� 2�q��r$�!$V໸��#��
Ѩ@s�Y����ۭ�U3L�\+�ޖE�6;��|�8!�Y��_R�J�.�s�
d��\ƵLo�ޅ��2'
"��� 	
Ӟ��/��cWM�p*�V�_͏_>��Yc�\�"
-��u]�Ї rP��*$�����}�CbT�:]��g�����~��1�?>n�Z1�u3p.톘��@8ؾØl�B�QR�f����sP����
-?
-�+{�^
�
�e�ɹ;��u�u w�lv��+�g�l��%$��D+'NS��
Q�*�F��Wcjc��l�D����h�mw�CI�� ��:���$&~΢AY���"��-��q��m	1�
A]!gO?7����e��}�B�G��i����/��
�H�����篩����ʿ��.d���e��O�-k(ZW��Ad�"(kM*xD�le^j��U]:

���?+�T)�Z 
�x����<���g��m
7w
-q�G�����lι�ŷ�
|h9�[�Y1
- hBaF,AI�C� miБ��Ɏ0CǜSDD��(����3��Y.-�y&�ʶMV#
�j
1G�3P�f��[ˇV�"Q����X�}+�-F[R��[k�Ԗ$@>����p�lژ}�f_�����U���
�
���q�a�m�Rs�,��+��P,T��I�Z�^�*���)�T�_+Y
oZ�֐>31�2]�$3=Īd��&5�$��r���??��V�sQΑ A�wC�a@��� (��2�)cc��~��cB��ᵾ��ײP�w�[U�f�MVe��3*`:p�:Gsy�/e����*w����B��%D�"�+]�:�<#jx�ɠ��C�@<xjݖC���v��;�A�.�:�Y)
-��ߏ#��Tt��<ړ2��
�O��{��@��T(�
��!����NT�����C
ت
��
i)�ˍ�|������3�u�.
-���v�*2v�4�>����
��.=uv
�A�
yP�
��cl�k����RD�°F�H}�Fa��ﳖ'�,O�䲇�����؝��Sl��jD��#������G�� ���|�ƀ\p`��g�w�h����e�m����U�`�o��A�c�nA����3 ��
��E
�$�m�54�Zu��C.o+��p at U�a��nx������su}~��Q@6@���D���̦�(O0:}]�7�2�b��U����s��,y�]��߿px�W-��3����{�N!�Jm)��Px�dU�A@�0�����x��~�6ю��Ey�p{u�4����k��hWd�
-e�d��aK�
!�G��1� ۔�Á
Y7����q���d
-endstream
-endobj
-819 0 obj <<
-/Type /Page
-/Contents 820 0 R
-/Resources 818 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 801 0 R
-/Annots [ 785 0 R 786 0 R 823 0 R 802 0 R 803 0 R 825 0 R 804 0 R 805 0 R 806 0 R 827 0 R 807 0 R 808 0 R 829 0 R 809 0 R 810 0 R 811 0 R 812 0 R 813 0 R 817 0 R ]
->> endobj
-785 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.547 696.998 338.25 707.902]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_de6bd909f8bb4bcdaed4dced85c1f5f1) >>
->> endobj
-786 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.507 696.998 513.996 707.902]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-823 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 685.417 163.61 695.947]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-802 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.221 611.628 362.589 622.532]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_7f1fc328bf8f0d2ec92a6599ce7fe2d3) >>
->> endobj
-803 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.519 611.628 513.996 622.532]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-825 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 599.673 189.622 610.577]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-804 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.064 599.673 306.672 610.577]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-805 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.528 562.811 359.281 573.715]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_7ac19545b812b9ed2261c4224a6b9e9a) >>
->> endobj
-806 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.519 562.811 513.996 573.715]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-827 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 551.229 163.61 561.76]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-807 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.243 513.994 346.554 524.898]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_74f9a28eb09ee718502409ab43b657d4) >>
->> endobj
-808 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.507 513.994 513.996 524.898]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-829 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 502.039 163.61 512.943]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-809 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.07 502.039 369.765 512.943]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-810 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 157.611 261.602 168.515]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_f6cb7e34c1083df796fb12aa463739e6) >>
->> endobj
-811 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.417 157.611 375.334 168.515]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-812 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 120.749 334.099 131.653]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_ed43bafe74e2b291d7b980c6ee8f3d5f) >>
->> endobj
-813 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.915 120.749 447.832 131.653]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-817 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-821 0 obj <<
-/D [819 0 R /XYZ 90 757.935 null]
->> endobj
-822 0 obj <<
-/D [819 0 R /XYZ 90 714.099 null]
->> endobj
-824 0 obj <<
-/D [819 0 R /XYZ 90 626.706 null]
->> endobj
-826 0 obj <<
-/D [819 0 R /XYZ 90 579.912 null]
->> endobj
-828 0 obj <<
-/D [819 0 R /XYZ 90 531.095 null]
->> endobj
-830 0 obj <<
-/D [819 0 R /XYZ 90 455.752 null]
->> endobj
-342 0 obj <<
-/D [819 0 R /XYZ 90 330.854 null]
->> endobj
-70 0 obj <<
-/D [819 0 R /XYZ 90 324.253 null]
->> endobj
-831 0 obj <<
-/D [819 0 R /XYZ 90 225.781 null]
->> endobj
-832 0 obj <<
-/D [819 0 R /XYZ 90 172.689 null]
->> endobj
-833 0 obj <<
-/D [819 0 R /XYZ 90 137.85 null]
->> endobj
-818 0 obj <<
-/Font << /F63 177 0 R /F72 202 0 R /F65 179 0 R /F50 143 0 R /F23 144 0 R /F11 727 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-869 0 obj <<
-/Length 1929      
-/Filter /FlateDecode
->>
-stream
-x��Z[��6~��`�R<SkuAҧ&m:i�^���!��F�2������}�.`����z�v�O`IH���
I��������ף���y1���̋�
-�8%�u�}�C���1��rq����J�Sy�~S+��Q�|<�
��r%�Y2���;9�՘D�

3D������?���
�9"  ��Y��(dܛ.G~�^
-�?x�8��f��
(���{?�e����
%	��/B��j�Rn�o��>L8���5kq����
�x.ǔ��̪b�i�[!��G���%ٵ7��K�u
��X�0fz�G�SN�k)BaĘ�!ބ
��yBP̝��E^���jWU��)�Jz
[B�E ���D�
�Ad�x��i
�	"_�i �_g�|!U�������wm�e�B�J�
>�}E��؞���ܸ�Y�I�q
�##�0��ΆS;��C�̀���*Sҩ�ئ�$ON�YQmU4����iB0�ǝ1 qg4І��,�e�djZ��=QvX]�C� uh
-�4CР'�
��mB8G��)�(&��:>0�\��B,�O|a ��/}ZYDXԏ6-�^�
J�^}V�;�Ǩ�,#�@��o��
�`T���6
`��5@�Bэ(m#
-&v+��6��ϒ�t�G��

�UƪBOτ���	���b�E(��
-
B84 J�:���GL��r��:
-D�����c��c��Q��]
hx3�c�� [B
@}!"�4Ra&BlK��'F�����,�(���)
=m
�TBޖ�1�ǟ���!h+үC^�� ���"K�;]�;���Oe󖺦��a7Ǥ-�]�f_&�	���ꕥ�=�U���"Om�ͮ��M�I��ba�
��\��ESP����
��2=���{;0�@
�Q�d��_/W�TeE��)Q�-����5�-�l��Q��Nl
 g��g(��`���
o��.ass�fK�נ����D���h�
ݚ}�>[IoԦ��*�Y�|BA�֎�O
�	����y��&�k�

P��r ���n˕
h��&�{9U�R�V�;Upâл�!����,Xx|&邪��
��>��T�=羓jU�$�ܢ�{�'P_j^��t~��LLP@��^c�Cn���
Gi�E>QUv�%
��N���K�

�� ��Zg�!�M�� 2 �ֈ5���LpvIth	�rY�/�>�������T	�Df�1��zp����1
�v��k�J�X�c2�'-5}Q�O�/ڕ�<vk� ��8�8�A
:O�p,��c~
G�
b�<�K����
��a�?�!�L��->��
�\�
��&<���R�)S�O��Cy���Lxt�2��2
��1�7f�
FQHZ�enݵ4;bO�2�
-~P�g��U�3�kZ��
['*�1����,�r-ٲ\H�U�l�h��*KrG�!�{9�
�-,��'B.�'
�KY�%�]^��Mšk�#

�銆�L��E5�_�us4�0x������Κ�M��be�8oSK���߲>so
-D�{� >�9|�l�lS=IOa�\�ğ)|����}���9 \7df!�<��1l�B��򻍖Z���*��Nmg��F��{� @��Tև`[	Y�#ׂ�R"Gkk����'��{e�q����-V�0=z)�;
 �W���E�7]òa�,o�
j��,�[��muRm��Ծ� �F1�A�Y_��J]��R�+m��3�dVܔ��G�~��C���
Dd��Ŀ4/(Y��#�cĹ�k{����M\-����bs'�*��o��J{��xa��I��*����_(4][lAd��K
w��6�W���i���%e���l�6���8��ˆ|����#[�h�mq�T���j�^�i�VyVV(SW��},m'!�
!nKw7��eQ�˹,�U���Ю�����
-endstream
-endobj
-868 0 obj <<
-/Type /Page
-/Contents 869 0 R
-/Resources 867 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 801 0 R
-/Annots [ 814 0 R 815 0 R 816 0 R 872 0 R 834 0 R 835 0 R 836 0 R 837 0 R 838 0 R 839 0 R 840 0 R 841 0 R 842 0 R 843 0 R 844 0 R 877 0 R 845 0 R 846 0 R 847 0 R 848 0 R 849 0 R 880 0 R 850 0 R 851 0 R 852 0 R 882 0 R 853 0 R 854 0 R 855 0 R 856 0 R 857 0 R 858 0 R 859 0 R 886 0 R 860 0 R 861 0 R 866 0 R ]
->> endobj
-814 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.501 719.912 342.466 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_e5f214d520a1f232251bee39685b62a2) >>
->> endobj
-815 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.676 719.912 459.593 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-816 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 719.912 513.996 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-872 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 707.957 208.989 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-834 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.316 660.136 374.601 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_f03d1a4f7f355971ac31ec1e4cb7297d) >>
->> endobj
-835 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.627 660.136 489.544 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-836 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 648.181 261.024 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-837 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.675 600.361 382.518 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_68de3cffc4bbfa2a79c06c51adb653a8) >>
->> endobj
-838 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.903 600.361 496.82 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-839 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 588.405 261.024 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-840 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 551.544 269.043 562.448]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a8fd21a451fe377a328d750951ce36f3) >>
->> endobj
-841 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.859 551.544 408.788 562.448]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-842 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.653 478.128 319.422 489.032]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_8cba47c10a4d9a84b170b37932dc04e5) >>
->> endobj
-843 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.785 478.128 464.714 489.032]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-844 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 478.128 513.996 489.032]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-877 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 466.173 190.738 477.077]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-845 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 429.312 270.159 440.215]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_8ce02af4c13862f7988ad3e43b5290cf) >>
->> endobj
-846 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.975 429.312 409.904 440.215]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-847 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.127 392.45 271.261 403.354]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_5a6326e465cce738cb09fdd8df1d92ba) >>
->> endobj
-848 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.098 392.45 415.027 403.354]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-849 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [437.852 392.45 513.996 403.354]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-880 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 380.495 223.943 391.399]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-850 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.915 343.633 265.449 354.537]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_2c60071e2c7adec51fc7175ddb7a3bff) >>
->> endobj
-851 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.074 343.633 411.003 354.537]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-852 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [437.852 343.633 513.996 354.537]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-882 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 331.678 223.943 342.582]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-853 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 294.816 259.639 305.72]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_56b9fe489466e7376b72bc99b4f99126) >>
->> endobj
-854 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.455 294.816 399.384 305.72]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-855 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 210.442 264.61 221.346]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_3ce50d0fcf796935652563144194ccf7) >>
->> endobj
-856 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.426 210.442 378.343 221.346]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-857 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.092 173.58 324.496 184.484]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_e88c914d522014d2d181278bcfa9222f) >>
->> endobj
-858 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.297 173.58 442.214 184.484]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-859 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 173.58 513.996 184.484]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-886 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 161.625 182.977 172.529]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-860 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 88.21 276.804 99.114]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_19d1974dd5b293a48b8f2de6fa3c2c8b) >>
->> endobj
-861 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.62 88.21 416.549 99.114]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-866 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-870 0 obj <<
-/D [868 0 R /XYZ 90 757.935 null]
->> endobj
-871 0 obj <<
-/D [868 0 R /XYZ 90 733.028 null]
->> endobj
-873 0 obj <<
-/D [868 0 R /XYZ 90 677.237 null]
->> endobj
-874 0 obj <<
-/D [868 0 R /XYZ 90 617.461 null]
->> endobj
-875 0 obj <<
-/D [868 0 R /XYZ 90 568.644 null]
->> endobj
-876 0 obj <<
-/D [868 0 R /XYZ 90 493.207 null]
->> endobj
-878 0 obj <<
-/D [868 0 R /XYZ 90 446.412 null]
->> endobj
-879 0 obj <<
-/D [868 0 R /XYZ 90 409.551 null]
->> endobj
-881 0 obj <<
-/D [868 0 R /XYZ 90 360.734 null]
->> endobj
-883 0 obj <<
-/D [868 0 R /XYZ 90 311.917 null]
->> endobj
-884 0 obj <<
-/D [868 0 R /XYZ 90 225.52 null]
->> endobj
-885 0 obj <<
-/D [868 0 R /XYZ 90 190.681 null]
->> endobj
-887 0 obj <<
-/D [868 0 R /XYZ 90 103.288 null]
->> endobj
-867 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F23 144 0 R /F72 202 0 R /F65 179 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-909 0 obj <<
-/Length 2050      
-/Filter /FlateDecode
->>
-stream
-x��Y�n�F}�W�C) Z�)�&q��-��}J
-�!WQ�THʎ������ʴ,%J���^.�;3gΜ]ao�a���ד�ˀy1�x�
/�^$(�3�">������gU����L�M���Y��^$�4��
YOI�Y0D�0���u�j��z�qB���#�K"D!^����
{���0bq���Yk�S��{;�c����ڋ�zxp��Q�
)C8ƕ�u^��Z�,�)G���p�(����V#6bDI��hڬڶ#vE4��iH�!�..
$f
C0f�"����R�����
-
��*��҆��������W��F�d�ַwM+��6�+���/�^��4$�(b}��c��,����BT�d���U�Uٌ�pގ��,��Fu/32��!Ƃ�#D/�]٢X�7�4� �M�
�@��n|�
!" C��;���D���
�GC= $u�����0�������\�IQT�L���23��~^.��O�ٛ*W�lqh-ݮ�tJ��2捹�S����eg�&O��O�c'�#>P�=>��k�3R��|'M���l��<��~�lN
�M�#Dcrm���'c�X|���sp�f>����2��\Y�I�W
w-FPA ����{�؈�(��.��
E���UTI�y�:�H �*>�
�+�����x}NX@
��բ�r�W�1S
-��8pE�����g�Ex3���fmaU�s�&y���s٤u�Ѯ��{
1
3���w��Yl�TY��ʲ|ڃǶ��F;�l��Rnmwʤ��؆SW����tA���Bu�~� ��
-�V��Y��ba��{娶؋^D t�I �
-
w>�����b�l����f���R���u�E
 t�ߢ���]V��r���έn�[�"������h��I]^�,�"�X@֬gM2�bBϲ����5`���XfL�mf�A�`�`(��
-�a��7yO��v�s�E
QO
?�
v.@���fJ���od���e��qS�����d��=����j{SV��Z�?t:�0:����	7� �8�p�6m����槦ɗ�*����٩�����6�U�%c���āNZ)u1
��o���i��[��5��K����ImJp8�Wy)�z��Ӧ�窼���<��̐���#3C]v�BEOP�CF�%��Z�C�P
-<3m
� J�uL8�!sD1�
M��]\Flh� 	�x�X`�N��t�;�:��P�.�@`�6?���|�s�e�����2Ȼ	�^@l�:J���΍��tb�V��^s���[;�5'Yf5�����,v Yt�P
4�,��iy�~�IL���h���
���ӳ
��*3�����]Ô�I��<{�������ؖY@��)���)��b`�|����4�G��
��Q4�w銊 E�8������A�Ł��"�
�۲y�(�I>�<U��3%�4�}�@!2 �
�&��s�@1�pߤ���꩹E�KPn���2�C�T�ZPW�j5��Y
Y%�j֥EA���-����p.���>�!E��3��
B��͊-�uR���W�|�DN����hz8�y�a>�AI3��>�r�<8�rŀr2 at 9I�T]�Ay8�r� ʅ:w�����h*�����֮1�����JE���Y�g��:�a�"&�r�9��+t�n�� ?M��J�٧�����ͩ�Nv�[��n���㊔� �!��[�t[��Ҕy�L�6���Vo��:Ց��4��Oc�1?N�s�z�:��B�J~��:�b�i)G��%5l�j�I�?qsg��8	��d
G�~G��*k�Ӗ��X�%
m�WeG��Ɲ�s�sfWЫ�
-Ao9	��>�
��-
�����p�8�P�߰E��p�{�_�($�ZupF��Uq��Y���W��:����̔��\n��}���A
����[u�Ҙ~KJ�}�*��IY[҇Au�����6�����=�����׉���/�A����j��w���(mж�75��
(���{�6�r��(,l]��!/ap������_x�
�
-endstream
-endobj
-908 0 obj <<
-/Type /Page
-/Contents 909 0 R
-/Resources 907 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 801 0 R
-/Annots [ 862 0 R 863 0 R 864 0 R 865 0 R 888 0 R 889 0 R 890 0 R 891 0 R 892 0 R 893 0 R 894 0 R 895 0 R 918 0 R 896 0 R 897 0 R 898 0 R 899 0 R 900 0 R 901 0 R 902 0 R 906 0 R ]
->> endobj
-862 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 697.61 280.122 708.514]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_45fb5ebe8a9c33d1e73593b09d8ab877) >>
->> endobj
-863 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.982 697.61 479.911 708.514]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-864 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 661.971 285.103 672.875]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_3b54824f0f53bf664c3114fb67557115) >>
->> endobj
-865 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [338.443 661.971 474.372 672.875]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-888 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 626.332 291.19 637.236]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_beb7cdeabf40c32d3aa0c33c0499bf97) >>
->> endobj
-889 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.006 626.332 430.935 637.236]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-890 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 590.694 285.651 601.598]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_86691cc44e4ef41d379ec2477221f0de) >>
->> endobj
-891 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.467 590.694 399.383 601.598]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-892 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.571 274.286 226.746 285.19]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_6d24fa81c885803e34fadd9332287d2e) >>
->> endobj
-893 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [230.027 274.286 305.623 285.19]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
->> endobj
-894 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.525 274.286 453.251 285.19]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-895 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 274.286 513.996 285.19]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-918 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 262.705 178.862 273.235]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-896 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 215.734 293.581 226.638]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_6871446de8be708c37b2bedbf12c9b76) >>
->> endobj
-897 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.397 215.734 372.993 226.638]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
->> endobj
-898 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 169.136 315.678 180.04]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_08a4701b629d734ea0e11231a34514b0) >>
->> endobj
-899 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.494 169.136 395.09 180.04]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
->> endobj
-900 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.716 122.539 304.36 133.442]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_b67c8dacaa1610fe5ea9efe67263477d) >>
->> endobj
-901 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.786 122.539 383.382 133.442]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
->> endobj
-902 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [402.546 122.539 504.154 133.442]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-906 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-910 0 obj <<
-/D [908 0 R /XYZ 90 757.935 null]
->> endobj
-911 0 obj <<
-/D [908 0 R /XYZ 90 714.405 null]
->> endobj
-912 0 obj <<
-/D [908 0 R /XYZ 90 678.766 null]
->> endobj
-913 0 obj <<
-/D [908 0 R /XYZ 90 643.128 null]
->> endobj
-914 0 obj <<
-/D [908 0 R /XYZ 90 607.489 null]
->> endobj
-915 0 obj <<
-/D [908 0 R /XYZ 90 556.559 null]
->> endobj
-343 0 obj <<
-/D [908 0 R /XYZ 90 446.062 null]
->> endobj
-74 0 obj <<
-/D [908 0 R /XYZ 90 438.513 null]
->> endobj
-916 0 obj <<
-/D [908 0 R /XYZ 90 340.316 null]
->> endobj
-917 0 obj <<
-/D [908 0 R /XYZ 90 289.059 null]
->> endobj
-921 0 obj <<
-/D [908 0 R /XYZ 90 232.529 null]
->> endobj
-922 0 obj <<
-/D [908 0 R /XYZ 90 185.931 null]
->> endobj
-923 0 obj <<
-/D [908 0 R /XYZ 90 139.334 null]
->> endobj
-907 0 obj <<
-/Font << /F63 177 0 R /F72 202 0 R /F65 179 0 R /F50 143 0 R /F23 144 0 R /F11 727 0 R /F83 919 0 R /F82 920 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-954 0 obj <<
-/Length 1928      
-/Filter /FlateDecode
->>
-stream
-x��Z[s�~ׯ�[���
�����f;N6�v�Nv3��$LH��Ŏ�}�e�V�Ҧ})8�9�;W;[;�X��vq��gN�"����Ɖ��qJ������[���-�l}��mՊ"�&�.W�c��hD��a�~Q-I��Y0D��w[�z�����v��v�
-w�|��W�0����B硛�;
e�̜_�\`{�cώ���!$@>PE�

K_(��q�u��e��a}�jk������Xw
׵����T*��~H\���9>J��l�(�5l޼y���%���gȅ��CgE�87"��H&������š���N�
"��E#�R��摨�Ѽ��y6;���/(��'O)����I�3�����Ө:�$�g�u3G�G�E�
4��(�	�V$)b� �Q�_,-��Td�ϠHO|E/)��9Y۠
�#F�82l�K��q&Ӹ��vwq�fs�
��������sa��iv���ߖ��^u[-Y�'���x]�"���OvL�EIO�Af�yK��{Q4m�e�wbq&�Z��#d�ğ�#�b�Y1y�"�}[$�T� ��1o�y�����*���N�����1�q@(8T���{��K���T梨���B��	��d�<��2���`><@�
���p"9E�{�O��0�؋����J�F2� �����!ltv=:��Q�Ý�>�G�ن�O}�3�
���
ΐGO��(�YR�UE)�' �at�齟���fOs��W�K�@o��L�����!��R�&r��V���	��ç��\
(}�Nq������q%��H��
-�
a�)�,NH-8Ct��� �'48c>�UY�T�����אm���=74��
rqdy�bۥ�\������l��1��@*^D.��\�m\� )��@�OR/��E�v�0
�G�e�������'Ѵ�I��)?=�T�l�0�����ؘ{e�ȹ4�`���S@�4(��T��QU.�7���J�����[7fU
7���7����P�7����L�:z7nl��925����[�a�b�n���
-+.l��"5/��vqy��R��z�dݻ�Y�� ?zAp�
���
�I�Uf�-W
^�U�Mk�3���r�ݒb�픸
ʻ��@٢~eu`�tZ��e�\��6�0����7���Z���F=�߿�?��3�����=���k}��S7�j��9�"���qA�x>�	�ۜ���7�3�LJU�}�	�#�j�T"�O�gFĊ���N��!1�~l������ѧ{��L�rf����
��>5ɮ��P���>j� G��=	�n�l�htQ��}d�2���ϸ6��:�]���.����mcZ�;��p��q�����S��������D�3<P}��:D2L�.���u"�:m��1�j�K[���q�x2 �O`�����r���N��/m��!K;҉#�
B��p<p��9"��
^ֿE�1�/	�L�����@�t�^H
CBN����9��o7��d$mL��ϑ
-Q0���
-O�)�v{\!
�
���ʈ؋�w��e���w�N*Y6���D%X�ڠX��]��},E}P�l��+C
1��^��+b���s��uDm�Tw�$S1UvS6:�
�{�-��n�J�A�S��=�����!�`�
F?�i��6��m�l���9�9��]7'�1��
�m� �v����|3�vj��7vCd���^�
,띈S�P��d���
| 2	O��A�oE
��7�G��s?jm�U�sFݏ*{܉��ͯ�]W��˵��!.�m���o�
CPW�,�f��q�ƙ�M{�{����
b5>��I���s}�h$�ӿ�����Cαk�������Jj����l�@�WO�ߑ!
���
��`����A�7��

���/�F
-endstream
-endobj
-953 0 obj <<
-/Type /Page
-/Contents 954 0 R
-/Resources 952 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 801 0 R
-/Annots [ 903 0 R 904 0 R 905 0 R 924 0 R 925 0 R 926 0 R 927 0 R 928 0 R 929 0 R 930 0 R 931 0 R 932 0 R 960 0 R 933 0 R 934 0 R 935 0 R 936 0 R 937 0 R 938 0 R 939 0 R 940 0 R 941 0 R 942 0 R 943 0 R 944 0 R 945 0 R 946 0 R 947 0 R 948 0 R 949 0 R 950 0 R 951 0 R ]
->> endobj
-903 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.709 708.995 313.911 719.899]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_2845e4528b7b42c6c6527daceee21312) >>
->> endobj
-904 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [318.329 708.995 393.925 719.899]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
->> endobj
-905 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.388 708.995 513.996 719.899]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-924 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 662.254 234.723 673.158]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_0399dc1a987546af5d0491e72a6a05e4) >>
->> endobj
-925 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [238.538 662.254 340.146 673.158]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-926 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 594.548 279.554 605.452]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_5e1c7e98053b2262c5f56c46e2f04f05) >>
->> endobj
-927 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.37 594.548 384.978 605.452]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-928 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.881 594.548 478.237 605.452]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-929 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.49 559.762 256.12 570.666]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_553952be8bff48ab2a4a8b2820efc047) >>
->> endobj
-930 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.32 559.762 364.928 570.666]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-931 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [382.446 559.762 465.803 570.666]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-932 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 559.762 513.996 570.666]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-960 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 548.181 178.862 558.711]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-933 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 513.022 297.268 523.926]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_b76a7c2b32bbc5472f87b3fae17f5a0d) >>
->> endobj
-934 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.083 513.022 402.692 523.926]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-935 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.594 513.022 484.075 523.926]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-936 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 478.236 245.253 489.14]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_10d11983038c7047547f4a68f8ea2b70) >>
->> endobj
-937 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.069 478.236 350.677 489.14]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-938 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [360.58 478.236 432.061 489.14]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-939 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 443.45 225.318 454.354]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_caca085247f8483085877e21527a9cd6) >>
->> endobj
-940 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.134 443.45 330.742 454.354]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-941 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 364.785 242.484 375.689]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_f61686ed9ede21b05016ee29f9de882b) >>
->> endobj
-942 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [246.299 364.785 347.907 375.689]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-943 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 330 245.801 340.903]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_4ea3e6a8b8e929e318a5c1c450667d10) >>
->> endobj
-944 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [309.661 330 411.269 340.903]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-945 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 295.214 250.782 306.118]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_dd70a09fb9b3cb0b8b7ce79d8d9ec14c) >>
->> endobj
-946 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.122 295.214 405.73 306.118]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-947 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 260.428 256.869 271.332]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_29295feb65378f2ba04c202f4b9a1bb3) >>
->> endobj
-948 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.685 260.428 362.293 271.332]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-949 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 225.642 251.33 236.546]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_f39f78c492db753013cbfd0177ffea60) >>
->> endobj
-950 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.146 225.642 330.742 236.546]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
->> endobj
-951 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-955 0 obj <<
-/D [953 0 R /XYZ 90 757.935 null]
->> endobj
-956 0 obj <<
-/D [953 0 R /XYZ 90 725.577 null]
->> endobj
-957 0 obj <<
-/D [953 0 R /XYZ 90 678.836 null]
->> endobj
-958 0 obj <<
-/D [953 0 R /XYZ 90 609.108 null]
->> endobj
-959 0 obj <<
-/D [953 0 R /XYZ 90 576.344 null]
->> endobj
-961 0 obj <<
-/D [953 0 R /XYZ 90 529.603 null]
->> endobj
-962 0 obj <<
-/D [953 0 R /XYZ 90 494.818 null]
->> endobj
-963 0 obj <<
-/D [953 0 R /XYZ 90 460.032 null]
->> endobj
-964 0 obj <<
-/D [953 0 R /XYZ 90 379.345 null]
->> endobj
-965 0 obj <<
-/D [953 0 R /XYZ 90 346.581 null]
->> endobj
-966 0 obj <<
-/D [953 0 R /XYZ 90 311.796 null]
->> endobj
-967 0 obj <<
-/D [953 0 R /XYZ 90 277.01 null]
->> endobj
-968 0 obj <<
-/D [953 0 R /XYZ 90 242.224 null]
->> endobj
-969 0 obj <<
-/D [953 0 R /XYZ 90 192.339 null]
->> endobj
-344 0 obj <<
-/D [953 0 R /XYZ 90 83.547 null]
->> endobj
-952 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F65 179 0 R /F23 144 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-991 0 obj <<
-/Length 1844      
-/Filter /FlateDecode
->>
-stream
-x��YY��F~ׯ���*kv�M*U�㤜��d�
#-e2���ߧ� ��,�޵�����}}
�Y8��}�x:�x�3'D�O}g:wB�>A�g�8o� ��`���*�=)�.�4�gon�Z.g�j���,��(gu�O(��
��Q,�畜�rL�+s�D(	�˼����ѳ��ӈ�<�!z
��q'^�޾�N�/
�X(��
�t<��9oF��.���s�(C�>�Ge@���
wl��	��B��t,�{����
�y���NaK�Y�����v�"7ϸ�|WZ�
-@Ş $@>�� ?�y��+*!���� ���_ւ� E� e�xv-�D��z`=��/�f��v�.�&��2�LAB���W2�ji
�5�Q۾�
�U��`��n�de�Ҿ��\��Y�
����c�湣 �	@| Vȭ�
��1��zd����E���q���T6C{���I�8l�����J)�Mq�N8`Y!�4+�
ˤ+=@�N-�c���Q��n��+#��D*��J�e>G��
j�a�N�C� -���0��4� ���`TB�5��,i(i"�ld>��l���*w�sSBo�k��H�vH�L�r�WVUK��������S���&-7Ѡ-�kB� �L�
E8�a��Y���b�5&�
���^NA���8"'�l����		]�~-T��
9����Hq�tv�9d �G>��A20j�yX���.�M�q���;+�Y�[�P�pM��<hM3
k�#�5C~��8mY���ͳ��z�o%�FK�̊�� sT�H�6�� i ٘s��!ػG�w`�o'.	
q#
����i�Cm���j��T�͸��Oe\�/t�f��~�0��߼Mb:��~("�g
�@�!~	Ķ�	��2!���>`�,e_	ar�qx>Ӈ��L��|x
-����/C� z��ka�E>��{ei�H
�
��V��	���
�O
�۲��N�����`�٭ZG���:�U�'m!c�
-3)n٤Yf޴Ǿ��y
e���ٝ�ɨ�ɗ�v m��NL�aa}�S[�m
:�QS�ŦQ%�m������V��8���
�
�� R��o(ԔrM���D����5�Hj"���R���&#��}
-*�(X���1N��"<���|��v��ۋC�EK>˲u�]��
���
�X����p�^C�c��'��~
�bwP���i|H�Ԛ�{e�/��=H��	6�m�9>&�g!�*voR����� ��`��?�~��wf~
�t��'�B*W>� �wHz��$?�s{�-л���T,�E�Ǫ��o�H��H��,tƠ
-� tӹ�4e���ga�]q ��ӆ�U
-Ք�Z
 �@��VRE���G��wP�Gi2%��T��ǭ���k����rv]mR���~���DU�6!� �v�
�JU���@��߈�
𧲎�Ln�$�2]�����}v{�m�25p�����D`�Um�}��.�E��@u�
�GC
�ت,t�&v�RFɤ���|Fq�"�
�|���Jfcb|�]���Y�.
��m�]�M�����CیR����Px�-��
����[7ЯwrR� ���A�����O�x�ԍ4`���-�J؉�e�2Wg�`P]/��y�e��Ul�i
��eߟ�,E�e������/�1���ю��v�>�_����Q�@��=2��R.UvǨ���n�eRF��U����[���
y�u���_����d�P�T�	F9�%ӧB؍�R��93h�

UQ ^�羑M�`,��i��iw�Ջzaڠ溮W����Z��Di}��د����,<l�!lY�6�C�C�R�
���x��
-endstream
-endobj
-990 0 obj <<
-/Type /Page
-/Contents 991 0 R
-/Resources 989 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 801 0 R
-/Annots [ 970 0 R 971 0 R 972 0 R 973 0 R 996 0 R 974 0 R 975 0 R 976 0 R 998 0 R 977 0 R 978 0 R 979 0 R 1000 0 R 980 0 R 981 0 R 1002 0 R 982 0 R 983 0 R 984 0 R 1004 0 R 985 0 R 986 0 R 1006 0 R 987 0 R 988 0 R ]
->> endobj
-970 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 577.122 314.741 588.026]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_061420fd93cf031e877897142071c67d) >>
->> endobj
-971 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [318.557 577.122 481.613 588.026]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-972 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.849 541.9 483.414 552.804]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_60ac68b3806bdf2e8b4805d661c52def) >>
->> endobj
-973 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 541.9 513.996 552.804]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-996 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 529.945 270.438 540.849]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-974 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.842 529.945 484.911 540.849]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-975 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.57 483.764 487.693 494.668]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_dc0293455632f1e58de03ee68caa785a) >>
->> endobj
-976 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 483.764 513.996 494.668]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-998 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 471.809 270.438 482.713]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-977 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.543 471.809 476.612 482.713]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-978 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.173 436.587 338.25 447.491]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_18f6401539b34122053f5d76da0c3282) >>
->> endobj
-979 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [358.132 436.587 513.996 447.491]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-1000 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 425.006 163.61 435.536]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-980 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.84 355.727 349.582 366.631]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_93c2b042e4c644ba6052c0a0130c74ff) >>
->> endobj
-981 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [358.132 355.727 513.996 366.631]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-1002 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 343.772 163.61 354.675]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-982 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.051 343.772 274.034 354.675]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-983 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.277 308.55 342.404 319.454]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_bd830cdbf47ea1e5f0cb88ba4e3dddd7) >>
->> endobj
-984 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.392 308.55 513.996 319.454]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-1004 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 296.968 129.857 307.499]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-985 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.869 261.373 346.554 272.277]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_9427aa22f07ee35e906d05bcd352e1e9) >>
->> endobj
-986 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [358.132 261.373 513.996 272.277]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-1006 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 249.418 163.61 260.322]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-987 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.07 249.418 363.139 260.322]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-988 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-992 0 obj <<
-/D [990 0 R /XYZ 90 757.935 null]
->> endobj
-78 0 obj <<
-/D [990 0 R /XYZ 90 733.028 null]
->> endobj
-993 0 obj <<
-/D [990 0 R /XYZ 90 642.422 null]
->> endobj
-994 0 obj <<
-/D [990 0 R /XYZ 90 591.79 null]
->> endobj
-995 0 obj <<
-/D [990 0 R /XYZ 90 558.591 null]
->> endobj
-997 0 obj <<
-/D [990 0 R /XYZ 90 500.455 null]
->> endobj
-999 0 obj <<
-/D [990 0 R /XYZ 90 453.278 null]
->> endobj
-1001 0 obj <<
-/D [990 0 R /XYZ 90 370.395 null]
->> endobj
-1003 0 obj <<
-/D [990 0 R /XYZ 90 325.241 null]
->> endobj
-1005 0 obj <<
-/D [990 0 R /XYZ 90 278.064 null]
->> endobj
-1007 0 obj <<
-/D [990 0 R /XYZ 90 204.73 null]
->> endobj
-345 0 obj <<
-/D [990 0 R /XYZ 90 83.111 null]
->> endobj
-989 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R /F11 727 0 R /F23 144 0 R /F72 202 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1041 0 obj <<
-/Length 1867      
-/Filter /FlateDecode
->>
-stream
-x��Y[��8~ϯ@݇%R��hW+m۝�ݶ�vf�m1�$�R e�
csIB��N2��6��|�9�[S
[�/���Y>������
-�8%�ud}�]$�#�1��d�2K�2�
_��R��e0
�(������$�~�$'2ϖ��"�p���������׃�`�Tr��[�|��+�"�ka�|�ZU��C<�j�� o	O�9���!,�)��/.9�X	[#� ��z�롇��B�� �tc�L�2�]�k��F��ߋJ��@���hA
��/q&���DHg&g��a=񷞵�� ���
�g2�d�f=�y
	O��7�u�2"G�1k�(�� �L�R
\68j�/��Yi<P΂�n��t�i������̷��`)R!��J��R�8����u]-��2,��x���(�i:�������ԍݶ�$
9
6!�a��/��O��#(U��݊��p�S5A���!��j��+��U�.��[�Ю�(�
�V��
ƬǷ�=�@-,xĥ��	���
�>�
�ƙ�Ƌe�D
��S��K��&]�
	��f��\�qٰU?f0�����3�
^?�(2זE�Ы��
-�0�;Z�I
-�H;��d�F �_	q��	��2��Q<k;?��(�\�bC��������v6�eZ@@	�i�1l�ipS�ei��</��!�A�����q��M�l����A-p_�
�}
x���7�
���:�*Q�#5
I�SBE��^�f�Jز�d�]�]��>p3�,�E�NYf�~�Fo5Š׌�0��,M֪������
Mz��	� )�6�E؃X��� �9�+H���ټ�jWՕL�ZY�zʯ��,n���V��
��V[�lP�N$@/ߧ� �
�zָ<C�l_A����Yc0N���Y�]S�Q%�&5W�	ZӲ8/���L�M"���7�0�ƅ�	��j�z�	G+Ҟ
-��	y�w�F]�&�V�&Y	C6ը���Jɵ�+o�q4��y5"������O/���\����E|�YP
���=�w��QF��(��
Z@�%�������)k�>2����o�ˮ
8�\�� I�0�!�(�v��%MX۞��2��q>���婢��B���
b��i�ߤC۷AGAS47�7�h�?
7��E���>i�]9�����ې��ҼK
�v`�����Ҩ*�T����Ga��*Ns\UH��i�
�����ݏ2:��=�`:��' �	� �V�]n�>�7*��I�C}��>���zKӗ[�T=�9p��@J�
�b�rܜ�vB
!�)�\Ir�� 
|w0�6Ž��B
*{�
-
�UOSk��|��P�nݪ��9��F;� ��v�
*�*�
�5pZ��G�[Yݘi�-�;W��I�N'�e����(c�yAUN�	#�.�
p���ׯoo�e����2�5~���
-��*Z?ƽ�'&�!G�O�0n0dN�E}�;l
�f����8H*�zj���h��
 �U\T���0�",Ί�YP��+�q���%�����τ� ]��p-�1����#
 
F�
��TbM�\�;%T�3!��
�
/ 
�d�=��:Ux=���,��7�v�dt�O}e+uj�ړE�d�d�r�I�7�q�65�Î8�q��R$��@���AY��Ε/L>!��rA�9},o��\���'x��<e���^���>���b��PĘ��P>W�e���%뙌�@���o� _뗗zʻ �.���^�W�[�j��O!�_��ۅ��}�B$�c�[�jK��:1�Qe4T���+YW��߬��נv�u<���oV��g��
-�Z��"Gqy>��=����
�o����@�yV�R
�:�:0�m?�`N
-endstream
-endobj
-1040 0 obj <<
-/Type /Page
-/Contents 1041 0 R
-/Resources 1039 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1061 0 R
-/Annots [ 1008 0 R 1009 0 R 1010 0 R 1011 0 R 1012 0 R 1013 0 R 1014 0 R 1047 0 R 1015 0 R 1016 0 R 1017 0 R 1049 0 R 1018 0 R 1019 0 R 1020 0 R 1051 0 R 1021 0 R 1022 0 R 1023 0 R 1024 0 R 1025 0 R 1054 0 R 1026 0 R 1027 0 R 1028 0 R 1029 0 R 1030 0 R 1031 0 R 1032 0 R 1058 0 R 1033 0 R 1034 0 R 1035 0 R 1060 0 R 1038 0 R ]
->> endobj
-1008 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 575.498 254.976 586.402]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_b1988eecd5bca9d4ad8dbd128c885b9b) >>
->> endobj
-1009 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.792 575.498 362.083 586.402]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-1010 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 539.454 327.474 550.358]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_2967727ea790f1d517e1529e3f6be79e) >>
->> endobj
-1011 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [331.289 539.454 434.581 550.358]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-1012 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.057 503.41 327.771 514.314]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_6b54d1a028c5a0eff158b33ce1a6670f) >>
->> endobj
-1013 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [333.538 503.41 436.829 514.314]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-1014 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 503.41 513.996 514.314]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1047 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 491.829 176.352 502.359]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1015 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.102 444.452 360.136 455.356]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_984fd654d7b169e74d13f6207d48fefb) >>
->> endobj
-1016 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.948 444.452 467.239 455.356]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-1017 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 444.452 513.996 455.356]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1049 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 432.497 236.685 443.401]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1018 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.596 385.494 368.188 396.398]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_56d19de5207d94e358a433995ce9730c) >>
->> endobj
-1019 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.494 385.494 474.785 396.398]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-1020 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 385.494 513.996 396.398]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1051 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 373.539 236.685 384.443]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1021 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 337.495 262.418 348.399]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_0d28be41ac786db82ce3cb24e2db5543) >>
->> endobj
-1022 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.234 337.495 395.537 348.399]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1023 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.771 266.329 315.914 277.233]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_d9b9ef9435b7a3bc8d92435ccf1cc0d7) >>
->> endobj
-1024 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.395 266.329 457.699 277.233]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1025 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 266.329 513.996 277.233]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1054 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 254.374 190.738 265.278]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1026 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 218.33 263.534 229.234]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_442076de6b59703f82c552f7e70aad72) >>
->> endobj
-1027 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.35 218.33 396.653 229.234]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1028 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 182.286 327.732 193.19]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_1b4e8ec21c2f4b2b925c4e11474062b9) >>
->> endobj
-1029 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [331.548 182.286 460.851 193.19]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1030 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.728 146.243 261.237 157.147]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a975ef75ddb5359966ff21eecca491d0) >>
->> endobj
-1031 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.675 146.243 394.979 157.147]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1032 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.157 146.243 513.996 157.147]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-1058 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 134.661 189.622 145.191]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-1033 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.517 98.244 255.424 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_27f2fdd3945057760e252740c98573eb) >>
->> endobj
-1034 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.651 98.244 390.954 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1035 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.157 98.244 513.996 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-1060 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 86.662 189.622 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-1038 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1042 0 obj <<
-/D [1040 0 R /XYZ 90 757.935 null]
->> endobj
-82 0 obj <<
-/D [1040 0 R /XYZ 90 733.028 null]
->> endobj
-1043 0 obj <<
-/D [1040 0 R /XYZ 90 642.237 null]
->> endobj
-1044 0 obj <<
-/D [1040 0 R /XYZ 90 590.372 null]
->> endobj
-1045 0 obj <<
-/D [1040 0 R /XYZ 90 556.35 null]
->> endobj
-1046 0 obj <<
-/D [1040 0 R /XYZ 90 520.307 null]
->> endobj
-1048 0 obj <<
-/D [1040 0 R /XYZ 90 461.349 null]
->> endobj
-1050 0 obj <<
-/D [1040 0 R /XYZ 90 402.391 null]
->> endobj
-1052 0 obj <<
-/D [1040 0 R /XYZ 90 354.392 null]
->> endobj
-1053 0 obj <<
-/D [1040 0 R /XYZ 90 281.203 null]
->> endobj
-1055 0 obj <<
-/D [1040 0 R /XYZ 90 235.227 null]
->> endobj
-1056 0 obj <<
-/D [1040 0 R /XYZ 90 199.183 null]
->> endobj
-1057 0 obj <<
-/D [1040 0 R /XYZ 90 163.139 null]
->> endobj
-1059 0 obj <<
-/D [1040 0 R /XYZ 90 115.14 null]
->> endobj
-1039 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R /F11 727 0 R /F23 144 0 R /F72 202 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1084 0 obj <<
-/Length 1779      
-/Filter /FlateDecode
->>
-stream
-x��YYo�F~ׯ ҇R��ރ�#)
-�I]8�&�S
����G��
���
�dʷ�sI��s|���;+;��<�

�̉P�S�9Y:v� N�s�:_� ���U�9}Yu#�hN�x5_P���r'��~K!�$tE�Qʈ�����׳�Nf���;D���xƝ$�}�����v0bQ��]��Q׍�i��
[�w�ڊ�:!X�{�
-�aDaP��ύ)�u�*j�fS*��x>�
Q�H�=��e,9D,$��K�[�2k��܍�R�'Ϫ���g澊۽���L�Y�˝�h�F 1�ꋺ����F�;��)�1
-:
��>�

q< ƂQ�
��E�3"�R�GR�/
`Qʚ�*�rec�Qo�^�银����]aj�W��^iZ�vӄ�fJ\R�@2i����R�#΂0y����h�R�0
�KU�Y�����H�.�
vWs��fK��X����( ]�2��s�٘ղ��HT�q7CBA�[O��(Ԙ�u�d`;��U���5�I�W�����e�ڣ�9�eCT�[�P�#W�Y�Zo���&�,�`�Q�#�26��[�WB���fa
��N��u�[�eV���
�]����u {�-�{
4_0X|��r�1�m����bw�㸂�l%�[�WgO���.H�3�X��%��m�(w�Դ�m���/�L���7�p7��:^ؗ���CH��Q8وX�-��({�R�󬅜I���k�-
j���3����풦�"Y�����dlm�Ք6}ŷ�w�"Գ���B�5�C���C��
�@`�Z$��z2 ��|,4��ȃ
-�
-�Nv=���)"��H�ƈ<�
i��ª��YC0�2��/* 
�O{^,&[!�#r]i�/v��ϖ��"1$�M3\o�_$��cy1�ܽ#ц
��H��������m�z��6��
-M�P����;ѧ5��Ԕ8�z�ae��s�:\�(	�
u��۩�QD��n-l�Q���u���-Cyt��/c
�U����|�Ҙ�5��CQ?|��D�\����cA|q���= BƄ����2Hi��;|�
��y`�
Cq}K%k�e]G
�!�� I����G@4��x$��
ڽ2Y�q#������`�[�B����u���
W�~j��e���CYbC�O�@�	�
�tL�
uJ��$�N�m^=E��1��qe�i���d$@,
����vl���O�P�̥
�Ҧ��f	t��u��, aS}ԏ�q�/�P�'�֦��G�"�C��/
o +zGXQ��Fc\��W ]�
n��nȝ��o��FWx5�vuň<�G�A{�
�=x~%�8۴��Jԉ�*m��`��!��ç�y�݋���yz9>q�|��#3˛�
%[9�Z���Is��z#KUYβT�A���R�n��rD�{��ɴ�v0ܧ����8�/v<p�`B5C��Ǿu �q at Z&�|�� [...]
^u����
�ߛmj� d��3D]�6!
,�:`
=�zo$/d��?��>���!?�3�
?�?�BED�|�����
e����/s��1�~(7k�����m�]��}��ly�m���?�/<�\
���Lm~�..����Oթ3�J!��<Ĉ`DU�P���s?	a�a<��iWof��]�
�jͺi�燇���(�Ѷ�*���"qx�
�B�	�� �K)�
Y��'�<F�q��
-endstream
-endobj
-1083 0 obj <<
-/Type /Page
-/Contents 1084 0 R
-/Resources 1082 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1061 0 R
-/Annots [ 1036 0 R 1037 0 R 1062 0 R 1063 0 R 1064 0 R 1065 0 R 1066 0 R 1089 0 R 1067 0 R 1068 0 R 1069 0 R 1070 0 R 1071 0 R 1072 0 R 1073 0 R 1074 0 R 1075 0 R 1076 0 R 1081 0 R ]
->> endobj
-1036 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 696.998 253.014 707.902]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_c19488a8f4e64cb797b8402ea44b456d) >>
->> endobj
-1037 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.829 696.998 386.133 707.902]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1062 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 612.624 257.985 623.528]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_f8ebe9c0ce769746c2d2d01f6fcb4c91) >>
->> endobj
-1063 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.8 612.624 365.092 623.528]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-1064 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.768 575.762 315.922 586.666]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_06731c2e3b3d14dceffb5b81f1447bc8) >>
->> endobj
-1065 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.4 575.762 431.692 586.666]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-1066 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 575.762 513.996 586.666]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1089 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 564.181 176.352 574.711]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1067 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 490.392 270.179 501.296]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_4316d3e1fd40ef324f4f9ac970481c9f) >>
->> endobj
-1068 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.995 490.392 403.298 501.296]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1069 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 453.53 273.496 464.434]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_7a018b29b6f334f666391ec729265c25) >>
->> endobj
-1070 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.356 453.53 466.66 464.434]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1071 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 416.669 278.478 427.572]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_3bd9634d21689bd4b0cbcb476a101e92) >>
->> endobj
-1072 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [331.817 416.669 461.121 427.572]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1073 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 379.807 284.565 390.711]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_5e22cd8ea46cdef0e09027e6177fc838) >>
->> endobj
-1074 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.38 379.807 417.684 390.711]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1075 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 342.945 279.026 353.849]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_c8105464b2dbee48f8646bc2c2f1f2d8) >>
->> endobj
-1076 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.841 342.945 386.133 353.849]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-1081 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1085 0 obj <<
-/D [1083 0 R /XYZ 90 757.935 null]
->> endobj
-1086 0 obj <<
-/D [1083 0 R /XYZ 90 714.099 null]
->> endobj
-1087 0 obj <<
-/D [1083 0 R /XYZ 90 627.703 null]
->> endobj
-1088 0 obj <<
-/D [1083 0 R /XYZ 90 592.863 null]
->> endobj
-1090 0 obj <<
-/D [1083 0 R /XYZ 90 505.47 null]
->> endobj
-1091 0 obj <<
-/D [1083 0 R /XYZ 90 470.631 null]
->> endobj
-1092 0 obj <<
-/D [1083 0 R /XYZ 90 433.769 null]
->> endobj
-1093 0 obj <<
-/D [1083 0 R /XYZ 90 396.908 null]
->> endobj
-1094 0 obj <<
-/D [1083 0 R /XYZ 90 360.046 null]
->> endobj
-1095 0 obj <<
-/D [1083 0 R /XYZ 90 307.617 null]
->> endobj
-346 0 obj <<
-/D [1083 0 R /XYZ 90 194.674 null]
->> endobj
-86 0 obj <<
-/D [1083 0 R /XYZ 90 188.074 null]
->> endobj
-1082 0 obj <<
-/Font << /F63 177 0 R /F72 202 0 R /F65 179 0 R /F50 143 0 R /F23 144 0 R /F11 727 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1131 0 obj <<
-/Length 2104      
-/Filter /FlateDecode
->>
-stream
-x��ZY���~���rU��7I-n��
-a(
r)_����bKB�8�u�e&v�IR��}��-�
�|7��fv��gN�B�����	��y�87���
P0�"c7�7��YZVE��բ���+�a�uZ�b-�y|'W����TQʈ˂�7�Ͼ���9#�3v��Ƀ��,���`'���
�X(����u8ep�8��~��TS������MT��P�N�U�+�_y��!v�(G����a��U���.��;Y����7if_n��X���f/K�tCus
�N8"2<��%�^VYQ�0
U��:���n���od3u�ۈO��`�x�,��z�O��W
��k�����U�;=�c_!�s깻
 �Kq�iq�]��F�Ӂ���^Y=a6�M�BA�9���>���_��o�TF��ۏy!A�Y��dg#A�K����2�RS�+��`�� U+��
�>�r���p!7�PG� |���ol�e1g�+�
J@

���圀ͨ�D��6�����a��#�5B�H3h4s�0�H�*a�����"i����^6k����K,9Qs�c�SYN�	XR��`�0�Q�73�����n���qf�S���)@��leTJ [...]
	��
F�1�19�< �1��w�2Z+�&�dh-���A�F�̓�E�����I�y%m�i��#�7��
�;���R�H<
/k��"�
�j�
�"��4�}q�/�����|�`$

��u��-X��xꊨd<98��P0U��f
-K`-��ӡV�i��*��b"�Y%(�5x�3������C�k��g
v���Ά�8�Jl�
1m��8
�g*h
A
I�j�n
-p�&ZP	<^'D��HyM��#ž	%"(�?#�b����d�ّM��u:���>�$qԺ�V�]�
iD�u�l��F�:�Tw���FT���U�Ɖ<�Va�K��q��n�
��G�f�]�����g�2���l�ڭ���Q)���Ӭ�DR��l��5�F
�[��Դ�~��d�0�tH.��j��NE]~zI����ZBո#4���O�`�'}��7bh-���뤧bP5��n;��"�v�����\'�Ot�
� ���
������W��w���t�5Ƀ�w<�a^»�~��Pz�`�|��e&W�&P}�e"ǭ �΢,��!g����Rs��
-�NX�4�⾰
i�9sq>
��Y�h��'�� �L��o
�t���
�V
=�
 {��M�VX�vG�x4EK���!��P& ���
�y�T��e�l-S��墒��������]
�F�*�[��O
��W%�'�W�%�����\��ÿ/��G��3����{ia_����`a�$��
L ��� &�)Zb��I��sը��X���n�tR��Ǖݺ2_��܍�*@qeN��F��c�F�ͭG��ߘV�n��H0�0��O1j���1t.��(�S�d���<i�ѧGD�c��1�jJ�[�c6���o
-7��rUoF��X��)vk��u[V�uʖ�3�� #��x�U��4����
-.?"�R��3X_�-�B����?~J�V:�K�d�k�<�v��P�NLg�T�QD��(��Y|X��S�f����}��_,^�<Ϫ�
H3�ա���3r��6w2."��Mr[DŃyxi����u
����
}���C`�s�<�?F�9��w
-
-�jKY4G�����*���r��*�l�H����0Ӓ��Rmn�*箪�/��w�
Z��N��@Iu
�~l�"J/l5c
�f��
�!I����m�7����/�
-endstream
-endobj
-1130 0 obj <<
-/Type /Page
-/Contents 1131 0 R
-/Resources 1129 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1061 0 R
-/Annots [ 1077 0 R 1078 0 R 1079 0 R 1080 0 R 1135 0 R 1096 0 R 1097 0 R 1098 0 R 1099 0 R 1100 0 R 1101 0 R 1102 0 R 1103 0 R 1104 0 R 1105 0 R 1106 0 R 1107 0 R 1108 0 R 1109 0 R 1110 0 R 1111 0 R 1112 0 R 1113 0 R 1114 0 R 1115 0 R 1116 0 R 1144 0 R 1117 0 R 1118 0 R 1119 0 R 1120 0 R 1121 0 R 1122 0 R 1123 0 R 1128 0 R ]
->> endobj
-1077 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.658 649.041 222.207 659.945]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_0ed54f6ac264a58059f51c7fe33ab787) >>
->> endobj
-1078 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.575 649.041 296.546 659.945]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
->> endobj
-1079 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.903 649.041 448.629 659.945]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1080 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 649.041 513.996 659.945]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge5679e4f41db32b7b91dfc81574fc1d6) >>
->> endobj
-1135 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 637.086 220.377 647.99]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge5679e4f41db32b7b91dfc81574fc1d6) >>
->> endobj
-1096 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 589.831 286.956 600.735]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_b93e22d57d1f5d94ae97ba1b9de9e3f9) >>
->> endobj
-1097 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [290.772 589.831 359.742 600.735]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
->> endobj
-1098 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 542.576 305.646 553.48]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_bfb19498f2647b44344c6a84fdd6cd2d) >>
->> endobj
-1099 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [309.461 542.576 378.432 553.48]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
->> endobj
-1100 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 495.321 291.499 506.225]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_702543ee828ef523fb5fe5ffdaf25925) >>
->> endobj
-1101 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.315 495.321 364.285 506.225]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
->> endobj
-1102 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.151 495.321 479.133 506.225]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1103 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 459.025 300.057 469.929]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_2d4948b195e743f39601a13610fcf94f) >>
->> endobj
-1104 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.872 459.025 372.843 469.929]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
->> endobj
-1105 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.948 459.025 484.931 469.929]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1106 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 422.729 228.097 433.633]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_c21bd81d2f33da4dc915020bf16c801a) >>
->> endobj
-1107 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.913 422.729 326.896 433.633]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1108 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 350.87 272.929 361.774]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_380ed65a246cd38c5ca3893b40eb4603) >>
->> endobj
-1109 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.744 350.87 371.727 361.774]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1110 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.63 350.87 464.986 361.774]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1111 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 314.574 221.462 325.478]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_8c466c744746ef7249afa54667470cf5) >>
->> endobj
-1112 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.278 314.574 320.261 325.478]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1113 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.529 278.278 251.533 289.181]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_1c416a6d6a359f2f9e9d33af7dc32ea8) >>
->> endobj
-1114 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.772 278.278 355.754 289.181]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1115 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.86 278.278 461.216 289.181]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1116 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 278.278 513.996 289.181]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1144 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 266.696 178.862 277.226]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1117 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 230.026 290.642 240.93]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_adbcd3b735dae0f714d1134cf8e6b911) >>
->> endobj
-1118 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.458 230.026 389.441 240.93]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1119 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.343 230.026 470.825 240.93]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1120 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 193.73 218.693 204.634]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_414a473844efce3515611fdc6b26e4de) >>
->> endobj
-1121 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.508 193.73 317.491 204.634]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1122 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 110.912 235.858 121.816]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_9a30e394a9c84bb9d2debda31433e6b4) >>
->> endobj
-1123 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.674 110.912 334.656 121.816]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1128 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1132 0 obj <<
-/D [1130 0 R /XYZ 90 757.935 null]
->> endobj
-1133 0 obj <<
-/D [1130 0 R /XYZ 90 716.221 null]
->> endobj
-1134 0 obj <<
-/D [1130 0 R /XYZ 90 663.978 null]
->> endobj
-1136 0 obj <<
-/D [1130 0 R /XYZ 90 606.79 null]
->> endobj
-1137 0 obj <<
-/D [1130 0 R /XYZ 90 559.535 null]
->> endobj
-1138 0 obj <<
-/D [1130 0 R /XYZ 90 512.28 null]
->> endobj
-1139 0 obj <<
-/D [1130 0 R /XYZ 90 475.984 null]
->> endobj
-1140 0 obj <<
-/D [1130 0 R /XYZ 90 439.688 null]
->> endobj
-1141 0 obj <<
-/D [1130 0 R /XYZ 90 365.807 null]
->> endobj
-1142 0 obj <<
-/D [1130 0 R /XYZ 90 331.533 null]
->> endobj
-1143 0 obj <<
-/D [1130 0 R /XYZ 90 295.237 null]
->> endobj
-1145 0 obj <<
-/D [1130 0 R /XYZ 90 246.986 null]
->> endobj
-1146 0 obj <<
-/D [1130 0 R /XYZ 90 210.69 null]
->> endobj
-1147 0 obj <<
-/D [1130 0 R /XYZ 90 125.849 null]
->> endobj
-1129 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F23 144 0 R /F72 202 0 R /F65 179 0 R /F82 920 0 R /F84 440 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1168 0 obj <<
-/Length 1805      
-/Filter /FlateDecode
->>
-stream
-x��YYo�F~ׯ ЇR@�ރ�#-
-4q\8u�4Q��@eȕD�"����ك�LY�l�/&�\����|34�V�~���O�.\f(p�k͗V�-�%�Sb�c��!:#c�(��o"eX����MU��"ʳ�^$�Y���tF9�/3XZ���?ߋ�(�ķE&�e�k3�y�v�f>�6!���:�{�c܊6������[
#��N��XepM���&ؘ��&q�3���G�.�v}�������3V&Ym��:����^m��H7$�bY��u�Z�_��[�0�������|vvA�~&N�|߅�Z
���5P�A�O�=p�7/����ҩ�U�;hG��مG-�p
�Č0�(��
r
Gk�N�_i����v� wF��z�@�
GkU�k��k��Ur-2}�o�b[����2o蘑���^�lC��vF<?#���a֌R��4�	���&Z��l8�CB�� t�
�y��_��#�

�<�	�e�i
��߰�^C�l5%�~1�]䉬PzF�n�DS����T�ZN�g�z[f���$
ӟ����@eq=
�
S$�����:��$Y��Mq��=9&j"u]U��D2L�{�:>p�?�9XmB
�£�я~�/���N�>-G`@ „��pܚ �F�D���.p���',p���a|�
�$�9�s"	�
-��q����H��Kg�Q$-˩��|3&
-p��Ó7��ƙ,{
:��C OM��1}㹨�$mJ繨�2)��#�e�"�Z�|�c���O���6�����M!�Z�TJw)O5&>�ǨOj���%K\'��ZQ�R�M���Pn��ZW��{P�b�e
|)���A
��"�@�W����y��
��W��Q^�m��t���qYΆ��2�U�J�5��i*^3��ȑ5���
�;�[k�@֜�hm��d�
8P��eF$�=��7�<9`������mM�T֐Vy=8_���C�E�66�BQ�vr���[
�I�\�w|��<�^7��҆��0�6
Zh(+��z�{�v(�h�rԵ�3���&��a�¯j�47Yn
n��K��1 at wyw8�!�1T�����S����U&3l/�P����i��)C�da�
8��,�	��� /ͣ=K��\�yPW���ޜ�
\��ݽ�&iK�
B�ם�񏲠KGUz�����+��P�
�b8C$
�k
�
ydeG���#9�ˣ��Um��y��!nm���1�q8S��C��p+&Ц=
-� D��z���aʙ��~
��&�X�/��y��k�z�˃���0ޮ:
�^�q,S�v��	�qڦ�:*��&�����LhML�F�H��散���
�)]���̑|
���gLWh�y�le���P��i�z$S��Y��d��g��mM{�g�

iB����-��������2�-��2#� �08�@����)p�q���E*j�<�<	&#H~@�
`����l�`�:L�8l[�"���e��A��c��A����io~��]sZ��E�<KS
�<��1Ŭ�����K�Tߩ�|

�6LS��/��r*�J�w������ep�ٹӺq
�}��t�^�=zkE�ٽ�j&��s>
(������7�
N�T�����J�0�C7������`Zg�~��@��ŃQ�]�ެE\���U�
����rf�m�2�_����w%�����/�f`�~&��Z
)�J
�E����4��A�
큯Vs��D���K~b���u]/��v�
�*�͒�DI}�wv{&��
�EH�ˠ�&W#
ؐd��Q�4�~��͡h�
-endstream
-endobj
-1167 0 obj <<
-/Type /Page
-/Contents 1168 0 R
-/Resources 1166 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1061 0 R
-/Annots [ 1124 0 R 1125 0 R 1126 0 R 1127 0 R 1148 0 R 1149 0 R 1150 0 R 1151 0 R 1152 0 R 1153 0 R 1154 0 R 1155 0 R 1178 0 R 1156 0 R 1157 0 R 1158 0 R 1180 0 R 1159 0 R 1160 0 R 1161 0 R 1165 0 R ]
->> endobj
-1124 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 719.912 239.176 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_90e279d0af3491d3cc793595e3e1bbff) >>
->> endobj
-1125 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.035 719.912 398.018 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1126 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 683.657 244.157 694.561]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_87fc73217faaf213d5b5a810272be545) >>
->> endobj
-1127 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.496 683.657 392.479 694.561]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1148 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 647.401 250.244 658.305]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_08451f3fa991dc14b1b8874bdefd7cf2) >>
->> endobj
-1149 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.06 647.401 349.042 658.305]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1150 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 611.146 244.705 622.05]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_94ca29d276a68f3f75aa62c8ab6109e4) >>
->> endobj
-1151 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.52 611.146 317.491 622.05]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
->> endobj
-1152 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 292.164 313.058 303.067]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_b823e62915ff895212640119f062252c) >>
->> endobj
-1153 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [316.873 292.164 478.246 303.067]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1154 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.532 255.908 481.73 266.812]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_cd03b90ea728537b78a669806309a5c0) >>
->> endobj
-1155 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 255.908 513.996 266.812]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1178 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 243.953 268.754 254.857]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1156 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.717 243.953 482.102 254.857]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) >>
->> endobj
-1157 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.254 196.739 486.009 207.643]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_e2334b2eefe8cae2ad750dfea1f7cade) >>
->> endobj
-1158 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 196.739 513.996 207.643]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1180 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 184.784 268.754 195.687]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1159 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.86 184.784 473.245 195.687]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) >>
->> endobj
-1160 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.254 148.528 321.648 159.432]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_51dfb5223b7487379681d4cc1583917f) >>
->> endobj
-1161 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [326.611 148.528 513.996 159.432]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) >>
->> endobj
-1165 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1169 0 obj <<
-/D [1167 0 R /XYZ 90 757.935 null]
->> endobj
-1170 0 obj <<
-/D [1167 0 R /XYZ 90 733.028 null]
->> endobj
-1171 0 obj <<
-/D [1167 0 R /XYZ 90 700.606 null]
->> endobj
-1172 0 obj <<
-/D [1167 0 R /XYZ 90 664.351 null]
->> endobj
-1173 0 obj <<
-/D [1167 0 R /XYZ 90 628.095 null]
->> endobj
-1174 0 obj <<
-/D [1167 0 R /XYZ 90 576.41 null]
->> endobj
-383 0 obj <<
-/D [1167 0 R /XYZ 90 464.679 null]
->> endobj
-90 0 obj <<
-/D [1167 0 R /XYZ 90 457.609 null]
->> endobj
-1175 0 obj <<
-/D [1167 0 R /XYZ 90 359.273 null]
->> endobj
-1176 0 obj <<
-/D [1167 0 R /XYZ 90 307.09 null]
->> endobj
-1177 0 obj <<
-/D [1167 0 R /XYZ 90 272.857 null]
->> endobj
-1179 0 obj <<
-/D [1167 0 R /XYZ 90 213.688 null]
->> endobj
-1181 0 obj <<
-/D [1167 0 R /XYZ 90 165.477 null]
->> endobj
-1166 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F23 144 0 R /F72 202 0 R /F65 179 0 R /F11 727 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1203 0 obj <<
-/Length 1880      
-/Filter /FlateDecode
->>
-stream
-xڭYێ�6}�W�Ce ��*JIQ�I� iZ���)	�E{�ʒ#����;��jy׻�']L9�sf���[{�{={~9�x0/BQ@�r�EؓA��2�>�E����mv�Z媌뢼���j�����|A���*W�R��j��9	}��W$
9�Y4�r�v����ی���#f=!�d�[nf��`/��o=�Xz7f����5�>���a�w��A��H�
I��|�T��yާ� �Ҽv��vʵ��3 �����"�ꫴvoUj����5���X࣋���#�,�\/D<�!(Χv�z��>�uZ?9�
1�����+�G�!b��O6�3=|���4c�k�
�v�%�� �zڂ��q��K;�%��I��I_]���7�
�Q�$8n�
��z���2��܁7�
-{{
�I�\�z�^؝T�������Ή�u
�ag.N7���=%1
v��=FR�
��xvq

�N
E�C)��Q|`�I|H�e�6*?�eA��
w�?J�c<8��#"��o�sv�?��c!��^ثZ at 5�H���m�~:�\�)���0G�'4d�(l�"�?�D�AC}���U����2&Ξ*�SR�$�i�&�����ޕy5_��d*}�����>���9o ����OW�G
3��#���(]j�yb��VL%*Jg-�L =D2
��D'�� �@X7f��=�-��g��¥�^p��
��"��h|��@�" م����45:rd��@���a��"�t�KU�i�Kڗ�Z��N�|�rb�G�e��9�{�U�+"�����Km��_5�Ƃ��I���
d�cep[��F,�}_�D�_�e��YV��mf���{����o^��mYh~O�N��dQ��ޭ�\�i���g���Ie&;S��Mi��ՁI���׽
����R��AaO�P��-˯��ֱ��ӎ�-���0ixݯ�pҁ@\����K��N��
��N�C/���T
ξAߪ,6���*���S�ߴ�YG3�t�ɀ��i
Z�ܡ!L��������k��gO�Z��L2�z
s��o
%�
Ƭ[(d��`!s�.B?��v��!���!���u��E���6�
�

-���[�^�"��)���("�4�%� �
��1ԕ��Vc-Ȫ�˸l�K�~ܨ�WU���n)�����屏����n���k���J׹�k���놎��[���A����D�pЪ
�u �)�� m|k�F�*�0�_�V�ܱQ DDC'XBk��.͒�Y��6�z��u?"e�@��n�Z�
o�-}b����{�`�,8�†�y+��tr��
؇��F�Еvu�Dtݢ�*{Zۊyh_%4)����`��|R�# 3֨���<f�ֵX?N4�
���z8�/�����a�Q�f�ֽ0bf��be�o���H�-�i��Z��oȣﭘs�ZuB�i0�Ȁ=��M���|�}�p+����c��A@�K��x2܇�G�<=tv
rh�it>
��暆��$�C
釧�X���T�����6����;E���\�h��v�
-p�A���k
P
��էn�m}�W�f�Vz�M�Mr̦�7�/��	$�D,5��/j�A?�W#F��Yl�CE���6�T�}3g�O�����DU.C
-+r����~(��6��ꪍ�� .[��f���9��ikQR���������N����kJ���h��b�m3�7a)7:����l��2���K��q��/�wq���k7�ͨ�W�V��Ew����W��������]/��ʶ��# -՘@P�1�?���$�����ϙ	s��!�m����Ӌ������.O�%J�
���a��!�3�'allS�>|Hsx�1�$��e6LA
-endstream
-endobj
-1202 0 obj <<
-/Type /Page
-/Contents 1203 0 R
-/Resources 1201 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1061 0 R
-/Annots [ 1162 0 R 1163 0 R 1206 0 R 1164 0 R 1182 0 R 1183 0 R 1208 0 R 1184 0 R 1185 0 R 1210 0 R 1186 0 R 1187 0 R 1188 0 R 1189 0 R 1190 0 R 1191 0 R 1215 0 R 1192 0 R 1193 0 R 1194 0 R 1217 0 R 1195 0 R 1196 0 R 1197 0 R 1219 0 R 1200 0 R ]
->> endobj
-1162 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.524 719.912 349.582 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_cb94e9072062c0827a16766cef2c1a5e) >>
->> endobj
-1163 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [359.816 719.912 513.996 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) >>
->> endobj
-1206 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 707.957 163.61 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) >>
->> endobj
-1164 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.609 707.957 272.909 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1182 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.961 671.375 342.404 682.279]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_7d4bec3e6101e95b57973dcab5880a51) >>
->> endobj
-1183 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.075 671.375 513.996 682.279]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1208 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 659.42 129.857 670.324]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1184 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.552 622.839 346.554 633.742]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_c5344d92361779d92fcb36acf2d406ae) >>
->> endobj
-1185 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [359.816 622.839 513.996 633.742]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) >>
->> endobj
-1210 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 610.883 163.61 621.787]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) >>
->> endobj
-1186 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.07 610.883 361.456 621.787]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) >>
->> endobj
-1187 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 267.624 253.293 278.528]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_33e20d1de127c9232d2d1188bee532ef) >>
->> endobj
-1188 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.108 267.624 358.716 278.528]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-1189 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.114 231.043 325.461 241.947]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_7752ae55e7cd4d014f6498348ef47865) >>
->> endobj
-1190 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.285 231.043 433.893 241.947]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-1191 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 231.043 513.996 241.947]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1215 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 219.088 174.668 229.992]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1192 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.159 171.547 357.827 182.451]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_b1316806c765a595ddfa4de5e8d971f6) >>
->> endobj
-1193 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.696 171.547 464.304 182.451]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-1194 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 171.547 513.996 182.451]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1217 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 159.592 235.001 170.496]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1195 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.838 112.051 366.064 122.955]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_f5253fb7ef85e1875cc453d9a9998459) >>
->> endobj
-1196 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.612 112.051 472.219 122.955]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-1197 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 112.051 513.996 122.955]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1219 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 100.096 235.001 111]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1200 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1204 0 obj <<
-/D [1202 0 R /XYZ 90 757.935 null]
->> endobj
-1205 0 obj <<
-/D [1202 0 R /XYZ 90 733.028 null]
->> endobj
-1207 0 obj <<
-/D [1202 0 R /XYZ 90 688.406 null]
->> endobj
-1209 0 obj <<
-/D [1202 0 R /XYZ 90 639.869 null]
->> endobj
-1211 0 obj <<
-/D [1202 0 R /XYZ 90 564.87 null]
->> endobj
-384 0 obj <<
-/D [1202 0 R /XYZ 90 440.531 null]
->> endobj
-94 0 obj <<
-/D [1202 0 R /XYZ 90 433.714 null]
->> endobj
-1212 0 obj <<
-/D [1202 0 R /XYZ 90 335.305 null]
->> endobj
-1213 0 obj <<
-/D [1202 0 R /XYZ 90 282.633 null]
->> endobj
-1214 0 obj <<
-/D [1202 0 R /XYZ 90 248.074 null]
->> endobj
-1216 0 obj <<
-/D [1202 0 R /XYZ 90 188.578 null]
->> endobj
-1218 0 obj <<
-/D [1202 0 R /XYZ 90 129.082 null]
->> endobj
-1201 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F23 144 0 R /F72 202 0 R /F65 179 0 R /F11 727 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1251 0 obj <<
-/Length 1921      
-/Filter /FlateDecode
->>
-stream
-x��Z[��6~�W�򲦪Q�b�v��dR��lfg:���T��P_�����e
�
Hv��_��s��wΑ�����F�ݾ̋Q,���g^��P�)���'?D�xB0�~Q,~P�*��ˇ��ʨ����xB9��2�ʙL����f�
��W��E�(� ���q�����#�c������{I:����p�G#G�s=*����>��5쇎�N
o�DH���A�b�)�8�sާ	5uf��V�r����
`U�v���2j�
����1�'�'K�2�
�m^�|��O{�}R/�E`����x�����.��K=�FU�Uf��l!��Rٹ|k��
-X��d^}���#pJ�v�Y�f�T�>&�o�V嘅��Y:�Kw�*�l��Tͽ�=���<��ҝ�1�����J.�kw�Qm?�T�RS4h�}
�BL'��7�c3�ڛU�
.kU�Ɲ}���?��ƻ|�g�
M;7���삗��{J  � ��Db8����a�S�U�������q=ݼ�9"i@]�M��X "�A1�� ��f]�
��m
-�H at ZT~Ƙ9��,
�8����5�$��ׯ�ބU>I, at Q�-5F���&��l�S_�
P=��CT��&:�d�W6��%!<B��MP�4F!�b�x
��tBAU�� �p�
�TZ��;�~PfU�d!ݡ ���x	�W���5O6^Գ!�a�_$:�3�0�z��峆��J�M�ܯ���o�isKh܀�V>몦��@X��� ��0&�T�G8q.|���=
��^�0#�\��G�,d���I <�CR��b������o�Jϳ�<�h��N�,�&�<�76[���|U��]������4���@gYW�Q�>v
�uytG00 ��1�PD.n
Gx.��Mc/f;�є,"�@q!۱
F��.�^��)�W�����f������

�.�a+CC����0d0C�`ܘ
wE!����u�U����,/S5��
�}�\��/��ȸ��4t�T�ⷳh���i�TP=i\�X����RK�)q��ƽ�o�"��1�`��h�ق�P�Bڽ<Um�aK�#�

��M�a>����[7Cc at 5���l�4��6̦�q
�Ū���1Ū��Mb(�i�M�;��Rs������u���n�[g>������ʵ�n�
��
Y��
Q���n<�2U�i��n��k
&|n+�Q�`yB�M�1Ti�d�6����×�M=щ-oe��U�f�al~IyrW[���%y�~qe0�3�c�6
yj� |9T�ȩ$�]S|�#�a���������vӱ�K*QU%�����#Rnd�)�S�]V����+�҆��������F�[�|	���BW���堅� ��#
�L��zUf���JqF
_م��l?��s䛻��;�z;�$�h�-H��P�dzsZȫ�c)h��/��
ރ*���t����  ��o�
�p at Ppa��<%
YB�!�y�b!t F��m٩��@B�pE��Ϊ)}y2��QmeeJ[�CV���|��\ٯ��:��w��c�����I��6] 
�,?���U_٨c�l»^�.�D��*-��L�x� e2F�����bt2(�0�)ؾ��r�a��(�P(�7�[��+�Z��@ݩ�޼�U|�XD�e�ؾ�����2��kv��P�1��w�g��B����P���$��
A�bTu
��T
-7E�qlE/���
�~����
��E��(<F�7%�}]40濯��2��Ψ�>_�jZJ��[�X�������Vf�7ϻ�Ulnp�
�����ٖ�r���J.��OvIU6��4aD-8����}�,�מ�4�M�ы�
��_��>??��B�L%����߹l&!@b<���r�`i^*����fb
����O�{�
-endstream
-endobj
-1250 0 obj <<
-/Type /Page
-/Contents 1251 0 R
-/Resources 1249 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1061 0 R
-/Annots [ 1198 0 R 1199 0 R 1220 0 R 1221 0 R 1222 0 R 1255 0 R 1223 0 R 1224 0 R 1225 0 R 1226 0 R 1227 0 R 1258 0 R 1228 0 R 1229 0 R 1230 0 R 1260 0 R 1231 0 R 1232 0 R 1233 0 R 1234 0 R 1235 0 R 1236 0 R 1237 0 R 1264 0 R 1238 0 R 1239 0 R 1240 0 R 1241 0 R 1242 0 R 1243 0 R 1244 0 R 1245 0 R 1246 0 R 1247 0 R 1248 0 R ]
->> endobj
-1198 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 708.309 260.735 719.213]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_540cea530eaa9c142b16fbf01f781673) >>
->> endobj
-1199 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.55 708.309 392.17 719.213]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1220 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.432 636.83 314.892 647.734]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_eeec098f7c1e5939b144f3d42a2c65fc) >>
->> endobj
-1221 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.033 636.83 455.653 647.734]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1222 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 636.83 513.996 647.734]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1255 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 624.875 190.738 635.778]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1223 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 588.717 261.85 599.621]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_888341fcf1079aaaa4dd7b532662729c) >>
->> endobj
-1224 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.666 588.717 393.286 599.621]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1225 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.785 552.559 260.611 563.463]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_a7260438cfc5fa383c7fb80b127f8315) >>
->> endobj
-1226 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.106 552.559 393.726 563.463]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1227 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.84 552.559 513.996 563.463]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1258 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 540.604 189.622 551.508]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1228 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.574 504.446 254.798 515.35]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_fcc12e4f52a8ff85d16ebfc424447b63) >>
->> endobj
-1229 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [262.081 504.446 389.702 515.35]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1230 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.84 504.446 513.996 515.35]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1260 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 492.491 189.622 503.395]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1231 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 456.333 251.33 467.237]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_e9bc39a46753f158644428f3c01e73a3) >>
->> endobj
-1232 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.146 456.333 382.766 467.237]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1233 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 373.895 256.301 384.798]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_f5911dc31286d92c979c7ff89c249bc8) >>
->> endobj
-1234 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.117 373.895 361.725 384.798]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-1235 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.825 337.737 313.612 348.641]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_3f5244b219701d5ba5939982a1d11d97) >>
->> endobj
-1236 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.147 337.737 428.755 348.641]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-1237 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 337.737 513.996 348.641]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1264 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 325.782 174.668 336.685]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1238 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 254.302 268.495 265.206]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_3d3687abfb3878a67fca687b8e4ff0b9) >>
->> endobj
-1239 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.311 254.302 399.931 265.206]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1240 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 218.144 271.813 229.048]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_e12a1e70aa5010e6617de857f51574a8) >>
->> endobj
-1241 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [335.673 218.144 463.293 229.048]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1242 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 181.986 276.794 192.89]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_ba231f6ac03d82cbf693a6a29a5c2665) >>
->> endobj
-1243 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.134 181.986 457.754 192.89]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1244 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 145.829 282.881 156.733]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_067f83ba740e5b6c0c585a5175723a0b) >>
->> endobj
-1245 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [286.697 145.829 414.317 156.733]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1246 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 109.671 277.342 120.575]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_ad90ffcd536cd0d48ee183bca02103fc) >>
->> endobj
-1247 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.158 109.671 382.766 120.575]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-1248 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1252 0 obj <<
-/D [1250 0 R /XYZ 90 757.935 null]
->> endobj
-1253 0 obj <<
-/D [1250 0 R /XYZ 90 725.234 null]
->> endobj
-1254 0 obj <<
-/D [1250 0 R /XYZ 90 651.732 null]
->> endobj
-1256 0 obj <<
-/D [1250 0 R /XYZ 90 605.641 null]
->> endobj
-1257 0 obj <<
-/D [1250 0 R /XYZ 90 569.484 null]
->> endobj
-1259 0 obj <<
-/D [1250 0 R /XYZ 90 521.371 null]
->> endobj
-1261 0 obj <<
-/D [1250 0 R /XYZ 90 473.258 null]
->> endobj
-1262 0 obj <<
-/D [1250 0 R /XYZ 90 388.797 null]
->> endobj
-1263 0 obj <<
-/D [1250 0 R /XYZ 90 354.661 null]
->> endobj
-1265 0 obj <<
-/D [1250 0 R /XYZ 90 269.205 null]
->> endobj
-1266 0 obj <<
-/D [1250 0 R /XYZ 90 235.069 null]
->> endobj
-1267 0 obj <<
-/D [1250 0 R /XYZ 90 198.911 null]
->> endobj
-1268 0 obj <<
-/D [1250 0 R /XYZ 90 162.753 null]
->> endobj
-1269 0 obj <<
-/D [1250 0 R /XYZ 90 126.596 null]
->> endobj
-1249 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F65 179 0 R /F23 144 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1299 0 obj <<
-/Length 2109      
-/Filter /FlateDecode
->>
-stream
-x��Yێ�F}�W؇P@�þ�Io�@bg'N��g�;h�%�H��f2��[}�M�<ck�<�l6��r�Tu3�6^��0��vvu
R/FqHB�v�Ł'B�8��m����|�� ���|��,d�4e�l��|Ax�.Y���4�7r-�9�|Y�!
ű�����g�����aX9�^�
$(�V�ٻ?/��� �8�������k�6
�jM(
-B�j��M��25꽒����MVJ��k
��ނ0DYl��Σ����|�V��P��;�.+s�q�1��C��]��BJ4($̊�Z5�-�<�r�����I3�L�g�a�Ũ)���z�Jk�Az��FQ�Ak����C�V�;�>�P���{AQš�G��갓E��
�m�Y}��}=p�
�*wN�tB��X���A�\���t��p�� 
�(��{B�pֻ�	�Zne��s8������1�9'�)
'��w‹d��׀L�C�}��++V�!�j`ܛ�)�� �LȂ�%턾���"��(t��Ӻ�����#B)���{��y#�
׭��������K�mҴ0�]ZU��(�˝�}����D�h�ud f
jg�	��R������M�2eR 4;u���NL�F,&�Q
�f�KWK�7zcTG��:�:�%1ƴ7O��=�H�H���t"�
�n�����11�S~^��
-�T����W�\#e�ٹ�P�/eq�}�C
�~X� �n4#唄��.[ǫj�1C�~k��R�UP��2 ʱ�p� J@�
Y� 
=��Yͩ�%�bJ�D]�p���豍b�~�0���\��Yu5��.�BN�`�-O�9EL�)&@tc�8���[ÿ́8�h�U�
���jk
-�)��*���;m�z��ͱ�w���t+�X)��*/�`�� �cIJ�h��V=���wYm�pd}Hp�3/�0_ .Z�u��	 +�F�Xy,�A]��|�$x<pm�_�'�1
,(��ʮb+�j������\O��
-�d3�l���k�|%1���L�ڱ��������k�pUCBEl'
�e�
�aGjX飮�U�4�0���k��j
�	�
-�;�;��
-	ӆ��n5�m�A��u7�
U$T�>���!�ͭJ}�:ls�Oć>�zh���P��DZ�>�
-�񝨙��B5�A������j.�'�r	�.
)L��Ŋ(a� ������
-��*<S,hdɊ�,����e�Ye�m��
jv/C
7W<�ha���i�"�ӑ��u���B�?`H[������1� �E`�Eo$����;��351GJ/�llp�d(�G(��a:L
���&��)R�΃u?�	}~~Zv���E��F�%�v���#�N2Ƨ�*U��z[
�J̥�聶������k+p�6.������������DR�)���
-���$o�J�g�a��
.@��ѨA�
 ��Z۟����$���xJ�}RRq� $ϙT�p����%z��r����v�S�G����w�,O���Y�t��p���?�i^0���[��|dc�o{���[�mI��gC��V���sӁ`h|c�\�@#�X(.��>F�B��v�us)L��걨V
cx�is�t�C�
#c��� (8��pܦ��f2F��
-
��"L?�Y�0���J*s���E�e�l*�
���K�,MZ�h#ܕ�Q8�]�K�͋�pPĻptg���O����\�+����ʾ,��Lގ�棕r�幹�dv'�6���>��ǹLj�i?�g��9��
���i��C��_����;	��L�����i�<����g)ݹ-���3��,��l���ށ�ݯ����GW|J#��T��WY'9�2�
��<a
-IGs O<ӈԹk�خ��%Cat��������͡*��5
T�G�@�Z|�?�C�G�����{C at C�[�
-�7�烟ʔ��j��=�����2��1��C�T�ᥙ�&)6�dc�=��
-C��e����Y�~N
-}��ީߩ%ee�
�������#����x�O���4�N���g5mg�m�������{��ѡ��ʚ+���1�vB0f��-��ݏ�]��
Y�;���(N�
wI�
-endstream
-endobj
-1298 0 obj <<
-/Type /Page
-/Contents 1299 0 R
-/Resources 1297 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1314 0 R
-/Annots [ 1270 0 R 1271 0 R 1272 0 R 1273 0 R 1304 0 R 1274 0 R 1275 0 R 1276 0 R 1277 0 R 1278 0 R 1279 0 R 1280 0 R 1281 0 R 1282 0 R 1283 0 R 1284 0 R 1285 0 R 1286 0 R 1287 0 R 1288 0 R 1289 0 R 1290 0 R 1291 0 R 1296 0 R ]
->> endobj
-1270 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.032 456.32 220.898 467.224]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag_ce16d45c8fbb00ad5b616aa4344fb798) >>
->> endobj
-1271 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.641 456.32 293.928 467.224]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-1272 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [318.686 456.32 447.412 467.224]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1273 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 456.32 513.996 467.224]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf449476be1ec42bab45fb86e7478bdf9) >>
->> endobj
-1304 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 444.365 218.693 455.269]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf449476be1ec42bab45fb86e7478bdf9) >>
->> endobj
-1274 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.942 444.365 324.435 455.269]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-1275 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 375.194 287.046 386.098]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag_afa09f891353748a46868d342cc91cbc) >>
->> endobj
-1276 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [290.862 375.194 358.149 386.098]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-1277 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 327.941 320.799 338.845]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag_048cb229297e24f6d0f7ab4e4351e2c2) >>
->> endobj
-1278 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.615 327.941 391.902 338.845]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-1279 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 280.688 288.132 291.592]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag_b3fe811bb3a347e553576dadff55339e) >>
->> endobj
-1280 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.948 280.688 359.235 291.592]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-1281 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.658 280.688 472.957 291.592]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1282 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 244.394 296.69 255.298]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag_297969dd313ebb370c9419915398aaf2) >>
->> endobj
-1283 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.505 244.394 367.792 255.298]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-1284 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.898 244.394 478.197 255.298]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1285 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 208.1 226.414 219.004]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag_278a22338f8428e328daf84dea4f94e7) >>
->> endobj
-1286 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [230.229 208.1 323.529 219.004]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1287 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 136.246 271.245 147.15]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag_30d13726e3b27f1be7e5eb05a7814bb3) >>
->> endobj
-1288 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.061 136.246 368.36 147.15]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1289 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.821 136.246 462.177 147.15]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1290 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 99.952 219.779 110.856]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag_f2fd5edcf647f4bc5b64cf0f4f712a51) >>
->> endobj
-1291 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.594 99.952 316.894 110.856]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1296 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1300 0 obj <<
-/D [1298 0 R /XYZ 90 757.935 null]
->> endobj
-1301 0 obj <<
-/D [1298 0 R /XYZ 90 733.028 null]
->> endobj
-385 0 obj <<
-/D [1298 0 R /XYZ 90 628.882 null]
->> endobj
-98 0 obj <<
-/D [1298 0 R /XYZ 90 621.841 null]
->> endobj
-1302 0 obj <<
-/D [1298 0 R /XYZ 90 523.497 null]
->> endobj
-1303 0 obj <<
-/D [1298 0 R /XYZ 90 471.256 null]
->> endobj
-1305 0 obj <<
-/D [1298 0 R /XYZ 90 392.153 null]
->> endobj
-1308 0 obj <<
-/D [1298 0 R /XYZ 90 344.9 null]
->> endobj
-1309 0 obj <<
-/D [1298 0 R /XYZ 90 297.647 null]
->> endobj
-1310 0 obj <<
-/D [1298 0 R /XYZ 90 261.353 null]
->> endobj
-1311 0 obj <<
-/D [1298 0 R /XYZ 90 225.059 null]
->> endobj
-1312 0 obj <<
-/D [1298 0 R /XYZ 90 151.183 null]
->> endobj
-1313 0 obj <<
-/D [1298 0 R /XYZ 90 116.911 null]
->> endobj
-1297 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F65 179 0 R /F11 727 0 R /F23 144 0 R /F87 1306 0 R /F34 1307 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1338 0 obj <<
-/Length 1802      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�6~�����@��"��
�v)�fkצOma(m�m��4�~�7�r�&Ml�Ŕ(��\�s�1�V
�^M�������KP�лXz	��� N�w�y��2���_���U#��+Q�&�f���D1_Te��egg�t5�Q������B���b)�)�}Q���&������ɟ�'x�
�<�E�{�b��
�2��aĒػ֫
-/�
���0�g��<w�ZN�w�$$B!P�	���)����4� �,;;��kV���zA�b��^)�J,����1�
)��=͘E��;�j�F�[�#db��nΒ�kB�,D�ʪ�w7�c�J��6� ��7SK�a��@}	�F/��ͳ�A	���7��F'ah�D
�`(	bwF-Ek�v�
�0��0��
��4+���[Э-<�� �[���jiƫ���e.FNL
-��DX8r&���[#KCt5%�W&�� �yL�q��ݹ�́���F5����
f�E(��3JQB�'���f��T`����j� ��g��th`��€X`FFig��A��3� ���:5C]�
����"��M3����m+W�s��>dҘA��:
�"D�̖�(��GŒb��Œfo�
]O��{�mc
nl��Z��+a&AT���	�Y"ǐD0���)dC0q�Z�!���Bd��K�K$T�A�ui��̮6�d��ń��O
� E����e���I��ѱ���_�d��e���D�h
�H�a[��E�h�im\�_���k[�e%[�8�8
-%L���^B:�~eN-�t���c+���,X:���b�����-~�M���=e
�A6#FqL�h�_��zӝ��t0�3N7�B�
��_�@v��z��I| דռn`��w��ߞ����((Ta�L��-�"& �DnE�eզ��(��GF̈́�J���f���;=;�ӈCwqI�Q�G̬p
�d[�]#��Y��x  `ă���0���+�鶦����>#Ȱh��C�p�Lp`̤�A�X��w4 ���U��8��(��?`�������<�3��v¦=[���b��A����x��
���6��M���L���!��@�#2P�x

�G�^��B�y�)�c�k�;�!
Œ�x8|0
i��n2��K�]JW��6v�_��;噾̎�H`�
�"T��!>npKG��hʫ4{
���#FPF ����s��(R
� z0����.�H�(�‡a���~]�"
�CoPDx�791rmΗ�Ke���K�.Yk�o�+E,�7��i���Z�{7�e_�o+sIP�t[�B��ݣhڴ�T*A\�L
m���R噾A
Y�•Q�5Y۫|�\CY￯n������
AN RU�jY���Y��C���uk��ɼa�
h�Yq� Ά۲�����ol�›��C�%�m�qē{b�N+�H3�
-\��ڂ�y�OJM
�$Tqt�>��Qk��欴�� h
ͼ��v�'� �I��|�Y�	�Y���%�#�"=0w-�0�3�}�����n���K��
q�/�-����+Ye����9�:�z<��E��-
��ť��zk���pXv���Fnߢ5���6%��;�E������.
���WM����q�Ą(���?N<A��
c�;
W�B������f-�&5_��e�67��Yr���M�����BL}lE�r��l�+-7in�)]�#EӚ��X%��@8�?����W�=��h<n�pU�}ټ�������5Z�hSʺA�;�����l�0"OzXƊJ�d��j��h����s=�[
-endstream
-endobj
-1337 0 obj <<
-/Type /Page
-/Contents 1338 0 R
-/Resources 1336 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1314 0 R
-/Annots [ 1292 0 R 1293 0 R 1294 0 R 1295 0 R 1341 0 R 1315 0 R 1316 0 R 1317 0 R 1318 0 R 1319 0 R 1320 0 R 1321 0 R 1322 0 R 1323 0 R 1324 0 R 1325 0 R 1326 0 R 1327 0 R 1328 0 R 1329 0 R 1335 0 R ]
->> endobj
-1292 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.961 707.957 250.281 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag_318f5f2972203c84ea0fdb4b82bbab1c) >>
->> endobj
-1293 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.953 707.957 353.252 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1294 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.887 707.957 460.244 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1295 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 707.957 513.996 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1341 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 696.376 178.862 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1315 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 659.14 230.05 670.044]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag_140a26e6f6dc525c742aca71f598ed3c) >>
->> endobj
-1316 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.866 659.14 327.165 670.044]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1317 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.626 659.14 409.107 670.044]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1318 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 622.278 217.009 633.182]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag_74a772b49c2c3190ad8501ffa0337d2f) >>
->> endobj
-1319 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.825 622.278 314.124 633.182]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1320 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 537.904 234.175 548.808]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag_5d89173a47e10f469337343cfb807218) >>
->> endobj
-1321 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.99 537.904 331.289 548.808]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1322 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 501.043 237.492 511.947]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag_6d184edbb85d3c2747bb6097f7de17ad) >>
->> endobj
-1323 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.352 501.043 394.651 511.947]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1324 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 464.181 242.473 475.085]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag_30161047ab7c47dd7a68a852e98ed83e) >>
->> endobj
-1325 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.813 464.181 389.112 475.085]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1326 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 427.319 248.56 438.223]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag_6a901364857f84dc0f111a29330c33f9) >>
->> endobj
-1327 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.376 427.319 345.675 438.223]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1328 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 390.457 243.021 401.361]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag_d6d26ca0f256b0d9a45173e7d83ee4cc) >>
->> endobj
-1329 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [246.837 390.457 314.124 401.361]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-1335 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1339 0 obj <<
-/D [1337 0 R /XYZ 90 757.935 null]
->> endobj
-1340 0 obj <<
-/D [1337 0 R /XYZ 90 725.058 null]
->> endobj
-1342 0 obj <<
-/D [1337 0 R /XYZ 90 676.241 null]
->> endobj
-1343 0 obj <<
-/D [1337 0 R /XYZ 90 639.379 null]
->> endobj
-1344 0 obj <<
-/D [1337 0 R /XYZ 90 552.983 null]
->> endobj
-1345 0 obj <<
-/D [1337 0 R /XYZ 90 518.143 null]
->> endobj
-1346 0 obj <<
-/D [1337 0 R /XYZ 90 481.282 null]
->> endobj
-1347 0 obj <<
-/D [1337 0 R /XYZ 90 444.42 null]
->> endobj
-1348 0 obj <<
-/D [1337 0 R /XYZ 90 407.558 null]
->> endobj
-1349 0 obj <<
-/D [1337 0 R /XYZ 90 355.13 null]
->> endobj
-386 0 obj <<
-/D [1337 0 R /XYZ 90 242.186 null]
->> endobj
-102 0 obj <<
-/D [1337 0 R /XYZ 90 235.586 null]
->> endobj
-1350 0 obj <<
-/D [1337 0 R /XYZ 90 137.113 null]
->> endobj
-1336 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F65 179 0 R /F23 144 0 R /F11 727 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1367 0 obj <<
-/Length 1813      
-/Filter /FlateDecode
->>
-stream
-x��YY��4~ϯp�N��,i�����
-v���
-&V2.
;k;;;����+�L���l�R���}}�8�8x9��fv�}��TL��f
(
�� NIp�oC��/�8�����*K�/u���)������e�l�
�q��ht�NV�=��k]͉
ua�R���q��컛ٻ-p@�\ �x��������0bJwv�6�(�k
���:��<���%��
-A�1w��N)�۷낷
�eE㇍:�����N LHk}�甇wxaUu��7z�
����y��N��,
$�b,A�{��=��h׫���h�B�:O`l��kR��sv����Hj/]PPF�qd.�BP�"I'�}���C�.�C>tZ�ܽ1¼2�|�������X�-��=Κ�᧴�4��L����� �^c�B�u�FvQ Q�$4��%#_.�H18,J�"�S �(���uUn���#c������JY���/E�珸�
-e�sj
��<��AX��3�Q60���0$BD�i�0����x���!C�Hs����ݻ�r=}	�E�i�f��/@�
�V���L4��^3�4�|Ͻ:+GȤ���%�;U�	.�E9�N����Er
87��
��1��L�:��������8L���IU�09�.�$<6�
V���)��ڞ�8�8��; �KB��}5�ӦhH%���
ZN�P"��8�t�b��Kc����>�Dq��z��Ȟr�s�菫����8=��	j��U1�p�>ɳ4�J�:>�
��@%�A����f��Bs�y����9�a�[�wa������H�—�~�t�V���,�ݝ���u��<���K�:�u�8�z�ڑ����
+����*�����mAVnp
*uVt��w�@ͬ�z����q12n%�@��ȧ�Ku~Mue,���!	���$��迬�y,�s���'�>����U}�w(�b�)G�4X2 ]�����"z���(R�J���Qf�j_:*z���^� [...]
-0_�f_�R�I��eW���k��M���a�8h���{�ByP�D/q��˦�^
-�8b
�?LP@"!�HfJ��<F�Ϲ?)�-��ZG�G�!{�
|l9�{�y1����帹Ma��۬Ԡ�l\.q��iJ#��'\�����B7I�kO��^Uٮ��b"�b�=��꺙�����;\[R����H���6#9v
�8
!-|}]j1\���3�o=�nl8,l�p��Hw
-�����
v�~'��e��U�-h���X�$]��-mam�Z���)���J]�k7�v�Fѩ���|
����~W7DIV�V�(
�� ����в̇���>F�;�q�E4� �c����h��р�i���
�1�fdh�_xg��7Z���
i]�yi��v؂B���z
�ڑ���W'���������p
�[+X���nċd�x�?$�N���f#�h���~
-�U�O�r�
frh� ��,�Kԕ)C��
ɓ
�}��jtN���bi{�3���b 5������|b��_,)����
)��[�V�{�S�W�T���[7姤�쓍_�� �0�[���
�j��礀��ޙZ��RW�c

B

aܤi�G��v���ݏ3���.I�i��ۦ�]_]��ݡU��E��P�\�I\
��������
�@�mYigCV���2

��?�w'
-endstream
-endobj
-1366 0 obj <<
-/Type /Page
-/Contents 1367 0 R
-/Resources 1365 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1314 0 R
-/Annots [ 1330 0 R 1331 0 R 1370 0 R 1332 0 R 1372 0 R 1333 0 R 1334 0 R 1373 0 R 1351 0 R 1375 0 R 1352 0 R 1353 0 R 1376 0 R 1354 0 R 1355 0 R 1378 0 R 1356 0 R 1357 0 R 1380 0 R 1358 0 R 1359 0 R 1360 0 R 1382 0 R 1361 0 R 1362 0 R 1384 0 R 1363 0 R 1364 0 R ]
->> endobj
-1330 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.34 719.912 347.535 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_0632eaac5ec676910e433016619b3e85) >>
->> endobj
-1331 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.585 719.912 513.996 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-1370 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 707.957 163.61 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-1332 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.767 671.095 513.996 681.999]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_c23bf247df0b2721e97c8eeb8945adf1) >>
->> endobj
-1372 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 659.14 155.859 670.044]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_c23bf247df0b2721e97c8eeb8945adf1) >>
->> endobj
-1333 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.876 659.14 352.491 670.044]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-1334 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.906 659.14 513.996 670.044]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1373 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 647.185 223.943 658.089]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1351 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.209 599.364 513.996 610.268]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_f2932a2fa90f54f604e340d0e2eac7ba) >>
->> endobj
-1375 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 587.409 155.859 598.313]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_f2932a2fa90f54f604e340d0e2eac7ba) >>
->> endobj
-1352 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.041 587.409 344.656 598.313]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-1353 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.585 587.409 513.996 598.313]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1376 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 575.828 189.622 586.358]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1354 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.62 538.592 351.256 549.496]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_1842c4ba3cd1adb1e1bccef3cfcfa57f) >>
->> endobj
-1355 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.585 538.592 513.996 549.496]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1378 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 526.637 189.622 537.541]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1356 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.447 453.222 379.749 464.126]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_813ac0651ebac0120830cedf1ea58395) >>
->> endobj
-1357 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.906 453.222 513.996 464.126]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1380 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 441.267 223.943 452.171]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1358 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.942 441.267 356.484 452.171]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1359 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.595 404.405 359.281 415.309]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_f4cdf3fbe1977a24a90904e02efd791b) >>
->> endobj
-1360 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.585 404.405 513.996 415.309]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-1382 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 392.45 163.61 403.354]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-1361 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.476 355.588 376.72 366.492]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_f8d741d4315fb12dff45b47979f88808) >>
->> endobj
-1362 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.906 355.588 513.996 366.492]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1384 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 343.633 223.943 354.537]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1363 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.403 343.633 445.031 354.537]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1364 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1368 0 obj <<
-/D [1366 0 R /XYZ 90 757.935 null]
->> endobj
-1369 0 obj <<
-/D [1366 0 R /XYZ 90 733.028 null]
->> endobj
-1371 0 obj <<
-/D [1366 0 R /XYZ 90 688.196 null]
->> endobj
-1374 0 obj <<
-/D [1366 0 R /XYZ 90 616.465 null]
->> endobj
-1377 0 obj <<
-/D [1366 0 R /XYZ 90 555.693 null]
->> endobj
-1379 0 obj <<
-/D [1366 0 R /XYZ 90 468.3 null]
->> endobj
-1381 0 obj <<
-/D [1366 0 R /XYZ 90 421.506 null]
->> endobj
-1383 0 obj <<
-/D [1366 0 R /XYZ 90 372.689 null]
->> endobj
-1385 0 obj <<
-/D [1366 0 R /XYZ 90 297.346 null]
->> endobj
-387 0 obj <<
-/D [1366 0 R /XYZ 90 172.448 null]
->> endobj
-106 0 obj <<
-/D [1366 0 R /XYZ 90 165.847 null]
->> endobj
-1365 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F23 144 0 R /F72 202 0 R /F65 179 0 R /F11 727 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1420 0 obj <<
-/Length 1940      
-/Filter /FlateDecode
->>
-stream
-x��ZI����W���l.����� �d���
�
�E��h�$����&ɲ��؇ �$���Z��XE	{[{o_�-n�̋Q
����x1�€ N�w�z�!"tuC0�˪����2�+
-Q'mY�84����d���
/�/ZQo��0���F�+-E���h���?�~X|w��kA@
-��*Qȸ����^
-�?x�8��zT����5�>,~[�Y
(C8�F��"KZ����u+ˢQ2ܾ�x�"�n�������9��l�*�cҺ�hlgR�FQڇ��@e�޸�LE��Njw
�N|DB�ňcf��&h����|a&�O��m���.�V�o�z��HO�a�� ��Rʏ^�>�pp��%L��R���z��&
-��|����xV�����i�`6ҊmG��P�z�	�a#��T�f�3!�"x/��{74s�
X/�C3��;���s����j��
�v�1�-hf[+�
E�Tj��f��}-[�:��
f���J�wM�z�¥h,Ё
�24��l`3�Hc �!h�Fg�u�(F��h���������e>z4^
-f��^4� Ŝ�
-|_<ϭ�b�X�v�TۗB9F$��8f���f�,��h������	p��Ê,
��-H�&��I�}Yd�J܀�v(nLO<�ݘ����v�
��=�
-&�YǢ��E��1+^�a���K�
h{�/�X�̒{m�o-C�����a���hH�&$���?��gv=��x��4�ݾ^BS#޳��
�����E��j0�*�:1KM՚��O;h�!&�Q-y<��#���`�0�
�c�$X1
-�!����^�R�=ho����
hX�A0ɬ<GTS
C}��p�@`��
���}0F���?��������@C-�y�+�v<埚���3�hO��$j��KY���g2������u�.i��	��A� bOa,�ŵ��t����6=�TT���*�GS���dMp�@����1D�/V>^>%�L�.�aCة�"����m���w������ɟ^��ٙ�5Zz]�6�Ue���Ju۾Ҽ�v��e���DA�	��]��$�A
_�D҈t
9g*W0] ��Ά}�=����u�Ϯn~W�rsi���]����	]�ƍp4S4U����R�5dzG8�4��<3i�Dn���$�o��-f� ��"K�_�̈́>�Bv���wP�N>棨
|��BP�s�B���tD�>xW݁�(�Y�
-�s��=� �O���*������Ә2���^��z�KW�V>Y��
-�f[�����+V�7Ѽ�¸Ò-`w�w&�jA�b�<�\��������T��ؓ��3xxТm�I�
-��cBI2[U�lo�&�'
! ��
���b)�t��P����=��u�Oޝ�3�Ϫ|
���.�=Ȣ�R�
�4�tp��l��ʓBN�r���l�+ғ��^
�j�Yt��?���]%M;®pG�D��Q�m�
�`�\���F�/?���qiX�e���xb�!��x
�Oc���($
T�]w/t!�MY�"U��(_Jdvf}�5�@��$��1N|7�lm�̫L��qIk�M��)
k���QY���sj�����
}�D��Tg��2�AJ�]r:�!"A��
�ե����Ҭ[ uh���7b�����1.+�;��m�!U��-�O,-� р���|�
�_R�W�����zM/��T~�L�3�>6�|��8�
�@"�\PP��Z�h�95'�ਊt�������*��ؠh �(�d����cĹ-	��[���S�*�2�����"���'�P'���|c����]��5�������?_q�]/�K�]��g
-�OjIQ[�@'F���
-
�_~�|�X�Oϵ~\h��zQ?B�K
۶���v�ߣu�v��j$�[ ��)+�Id3<�D X^�3@Y�������OZ,�
-endstream
-endobj
-1419 0 obj <<
-/Type /Page
-/Contents 1420 0 R
-/Resources 1418 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1314 0 R
-/Annots [ 1386 0 R 1387 0 R 1388 0 R 1389 0 R 1390 0 R 1391 0 R 1392 0 R 1426 0 R 1393 0 R 1394 0 R 1395 0 R 1428 0 R 1396 0 R 1397 0 R 1398 0 R 1399 0 R 1400 0 R 1401 0 R 1402 0 R 1403 0 R 1404 0 R 1405 0 R 1406 0 R 1433 0 R 1407 0 R 1408 0 R 1409 0 R 1435 0 R 1410 0 R 1411 0 R 1412 0 R 1413 0 R 1417 0 R ]
->> endobj
-1386 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 649.104 276.535 660.008]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_303533574d5d5d4d8f58e2d8646baa69) >>
->> endobj
-1387 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.351 649.104 405.202 660.008]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-1388 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.302 612.844 377.134 623.748]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_c64c8548738734fedbc94f03519b803a) >>
->> endobj
-1389 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.146 612.844 513.996 623.748]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-1390 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.895 600.889 265.437 611.792]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1391 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.028 553.669 411.181 564.573]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_95c612736a3e7524077dd5c81bf2a105) >>
->> endobj
-1392 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [422.919 553.669 513.996 564.573]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-1426 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 541.714 164.178 552.618]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-1393 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.476 541.714 339.339 552.618]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1394 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.749 494.495 415.46 505.399]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_d4d88d3daaa672264c63c83071c2021b) >>
->> endobj
-1395 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [422.919 494.495 513.996 505.399]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-1428 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 482.54 164.178 493.444]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-1396 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.283 482.54 332.146 493.444]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1397 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 446.28 283.977 457.184]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_9fc89d795c20b4270756269edf1b9604) >>
->> endobj
-1398 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.793 446.28 438.656 457.184]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1399 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.663 374.52 334.366 385.423]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_121252cea61436e0df74e008b80c13b7) >>
->> endobj
-1400 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.738 374.52 494.601 385.423]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1401 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 362.564 208.451 373.468]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1402 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 326.304 285.093 337.208]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_3094a8093769d647b9f477e14d53a3a0) >>
->> endobj
-1403 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.909 326.304 439.772 337.208]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1404 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.998 290.044 286.066 300.948]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_e2c6fa9b0155fd9428ff3abcf1a66805) >>
->> endobj
-1405 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.774 290.044 444.637 300.948]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1406 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [467.73 290.044 513.996 300.948]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-1433 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 278.089 268.754 288.993]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-1407 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.786 241.829 280.253 252.733]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_3671e52fd03a1c456c630b7c5c632df8) >>
->> endobj
-1408 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.75 241.829 440.612 252.733]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1409 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [467.73 241.829 513.996 252.733]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-1435 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 229.874 268.754 240.778]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-1410 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 193.614 274.573 204.518]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_68cdbff6e2262bae3295484dbee9ee42) >>
->> endobj
-1411 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.388 193.614 429.251 204.518]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1412 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 110.894 279.544 121.798]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_4578b5352510727810a7c3be32208aae) >>
->> endobj
-1413 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.36 110.894 408.21 121.798]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-1417 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1421 0 obj <<
-/D [1419 0 R /XYZ 90 757.935 null]
->> endobj
-1422 0 obj <<
-/D [1419 0 R /XYZ 90 716.221 null]
->> endobj
-1423 0 obj <<
-/D [1419 0 R /XYZ 90 664.032 null]
->> endobj
-1424 0 obj <<
-/D [1419 0 R /XYZ 90 629.794 null]
->> endobj
-1425 0 obj <<
-/D [1419 0 R /XYZ 90 570.62 null]
->> endobj
-1427 0 obj <<
-/D [1419 0 R /XYZ 90 511.446 null]
->> endobj
-1429 0 obj <<
-/D [1419 0 R /XYZ 90 463.23 null]
->> endobj
-1430 0 obj <<
-/D [1419 0 R /XYZ 90 389.447 null]
->> endobj
-1431 0 obj <<
-/D [1419 0 R /XYZ 90 343.255 null]
->> endobj
-1432 0 obj <<
-/D [1419 0 R /XYZ 90 306.995 null]
->> endobj
-1434 0 obj <<
-/D [1419 0 R /XYZ 90 258.779 null]
->> endobj
-1436 0 obj <<
-/D [1419 0 R /XYZ 90 210.564 null]
->> endobj
-1437 0 obj <<
-/D [1419 0 R /XYZ 90 125.822 null]
->> endobj
-1418 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F23 144 0 R /F72 202 0 R /F65 179 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1458 0 obj <<
-/Length 2010      
-/Filter /FlateDecode
->>
-stream
-xڽY[���~��@�C�4��+��(R�7M29g�;�i7�жQ�e��ߧ��=�
'/����������Y9�y7��fv��cN�B�z���	��{	J����������`�ݲ�ܾ������e5Eu�D���
-�^卬�Q,����՜���	g.�?o~����}�X
;D/'|�3����ӟ�I`�W#ν��9�2�n���?fت��&�3�y�Ož0v|��,�~�|Z0*�;�ԩVV�zB(�)�?>֍�nӼ�U3z9^#��
|p�#
4��<wU_
� �΂
-k�
y����X�ڶhJ/���[�����v1G�g�C���RW�
�@d.qQ>��bi���Bd�ػ9��RlN���`)�
�0�.z���2�Im:m'��Sb<X��bF��)�i]�
Ɠ4�y��yL��i
Ws�2�eraǬ�e]G��\M:z���\P���,�@����嶹�߶��Y��6�Э
,2��P"QH^%j=����-+�9��)�=
��=
J�é�y�X�hy�ԯ'pC�pgA���&�"J: �MRl�	9��:
��cd���
Pyo�Q�^��l���gl)��ҷW�o�i��]���.�>c�̬�
�ݹ��QvqDS�?'�w�����%�%��N��R���_�`1�3�@o�E_�+h�"+���-��V���Ihy��R�: /}�sVy\��oHB`��`R��8m
-�d䟁�-�Y���B�F���|��_
f�E�8���t�NcU��Úg
-^���V�]M�O=�w�W������a�0?N}0�01��8Mo�mV���;wUS�<����2��;�]�0W�����~�{

h	�MS�5}T��R˼���-
�"y��	|w���	!A��g�a�Q�s�C���٦��o#OϡM6� �qy�?�t#��������ω/�r�d|-�9n�M�*�{��,8��=�IR���Iص�ۈ��M�n�T�Z�q�����=� �#`fF��<��c);�Z!ˮ_0�E�ץu
�)L�6I-�{nێܴ�9�J�*U��?wi"����j��XנAѢ½�cU���z�������.^�N��F�<�G
V)�c"<��#o$E�͆0�oֻ�q�cB=�N���
-�9$��*�6]v�+0�����0�ԃ
~��U�v-����׵
-昪CMf�"CA��w�t��l�6P�a>X���l�!���!?�"��	Y>4?]������@^��t����v�
q���3��Ж�r����xbP��Eӆ�:j:T�m�U�&/��Lf_Z�ع
���N���W�U�Xm�-I?�u��U�6���/
ra�\��z��O�~v}nFf
;
"��ϩ���Ho�1ѣ��i.����CY�Z�i�e�F^�D�jtH9e�͞�:j���6|��Is�LcīB.��d���i�����e���j���%XUk��.�n�hS�և��:I��xW��,C`DC�n�FN�WR�
.Lp��ƺs$�*Lm�8!O �#,�Q	�ji�6�u������m�;]�`(2���4�&�T�B3 �A� ��,��{0=2�eRu��ݻ�m
�g��z�$9
�
:�䀾�e^�(� g��

&����0a��
-�
iT΅����ic�zA�5u�*h��|E�9!�mJ�f���Sm�fΡF�>����g��P���5%T��uu
}�kDh�=�5
��M���fp��Ҧ�^�+P��(I,ş:!P��ӗ���qhY���ĵ����?�
t���
7�8W֜j����6f
V���a<���&>���@�����y�	N�?���� s��E��t���s�L�<u��ǵL�ȼ�N�T����L����6Z��F���_��{�Gk���Qn<
�T��SK�ʺ1GPUtn��G�V
み�����.�����)�����Gq��yZV(m.!M\�ӑ�UE�]�6��e�fW`C��`����}�/c�D
-endstream
-endobj
-1457 0 obj <<
-/Type /Page
-/Contents 1458 0 R
-/Resources 1456 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1314 0 R
-/Annots [ 1414 0 R 1415 0 R 1416 0 R 1438 0 R 1439 0 R 1440 0 R 1441 0 R 1442 0 R 1443 0 R 1444 0 R 1445 0 R 1446 0 R 1447 0 R 1448 0 R 1449 0 R 1450 0 R 1451 0 R 1452 0 R 1455 0 R ]
->> endobj
-1414 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.144 719.912 357.416 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_22e81aa8cd862935e9a0abab515cf838) >>
->> endobj
-1415 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.27 719.912 493.12 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-1416 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 707.957 241.637 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1438 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 638.237 291.738 649.141]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_bc859551651eca1bcc3839f62d45dbfe) >>
->> endobj
-1439 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.554 638.237 446.416 649.141]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1440 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.098 602.719 296.048 613.623]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_f29295940b1ad0b6b48cc44e92f04060) >>
->> endobj
-1441 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.133 602.719 513.996 613.623]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1442 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.891 555.246 299.822 566.15]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_d00a2a1877537fa49a41013078ee2bb6) >>
->> endobj
-1443 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.559 555.246 503.422 566.15]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1444 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.743 507.773 310.762 518.677]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_a6324c2e330df63ad428eec9182fcc4d) >>
->> endobj
-1445 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.215 507.773 470.077 518.677]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1446 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 460.3 300.585 471.204]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_af6f8270e3742973e0df7dcc9132f7ae) >>
->> endobj
-1447 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.4 460.3 429.251 471.204]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-1448 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.175 144.396 245.284 155.3]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_9c2a70f5f90ec3da123f549d6ca9fe4a) >>
->> endobj
-1449 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.168 144.396 342.698 155.3]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
->> endobj
-1450 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.027 144.396 498.753 155.3]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1451 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.722 132.441 284.277 143.345]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g5b805182b79b6fb873d0624f7dfd2ee1) >>
->> endobj
-1452 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [292.526 132.441 390.019 143.345]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-1455 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1459 0 obj <<
-/D [1457 0 R /XYZ 90 757.935 null]
->> endobj
-1460 0 obj <<
-/D [1457 0 R /XYZ 90 733.028 null]
->> endobj
-1461 0 obj <<
-/D [1457 0 R /XYZ 90 652.98 null]
->> endobj
-1462 0 obj <<
-/D [1457 0 R /XYZ 90 619.484 null]
->> endobj
-1463 0 obj <<
-/D [1457 0 R /XYZ 90 572.011 null]
->> endobj
-1464 0 obj <<
-/D [1457 0 R /XYZ 90 524.538 null]
->> endobj
-1465 0 obj <<
-/D [1457 0 R /XYZ 90 477.065 null]
->> endobj
-1466 0 obj <<
-/D [1457 0 R /XYZ 90 426.283 null]
->> endobj
-388 0 obj <<
-/D [1457 0 R /XYZ 90 316.026 null]
->> endobj
-110 0 obj <<
-/D [1457 0 R /XYZ 90 308.385 null]
->> endobj
-1467 0 obj <<
-/D [1457 0 R /XYZ 90 210.215 null]
->> endobj
-1468 0 obj <<
-/D [1457 0 R /XYZ 90 159.139 null]
->> endobj
-1456 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F65 179 0 R /F23 144 0 R /F11 727 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1504 0 obj <<
-/Length 2117      
-/Filter /FlateDecode
->>
-stream
-x��ZK�������:U�޶a350�04�b�R�XIT8���t��z�,ى�γ���M��z��w>��{s{oo����}#��HR��ͼ{�$HP��%�'?@���c�E:y[�d�Ve��뼜��|4���Z��x��Ϗj��	}��.1�|.G�}w����ol�=�l'0�M�7���^��y�(�
�QK�Sߩ����7؉��QI�
�	��B����;�����}
PRg��6�s'��f�Q�X!S#*��mk���|������t��ɿc�w.?h��*�o覯h"�<�*a���-�9�Bڎ)� �-�^<�^�$7��4�(����"!������kU��C��
���Vg�׶S�Gq?/�\g�a>�z���
q��c0��*�gqjV�AW�^l�IY�"
�
-~�C������D

�8���
�ӗ#"�7��FcN��[���̏�,�8KR'�,/�N
@t�s��
���[{b���c>"�7�6S��m�4�3�Ib
^UVd)6D@1����`/P
�
-
�}��
l@�l�@p����
-	D�'lfe�����¬p��a<M�#b��
�j����0ͳ�����
�*B�!�WJ�GG)���_�t� `�$�Lb�¦c pf�
Y3@�gN���v@�>� `"�!l����_�����
)�AlWoCʴgk�\�
���	ձP��!���z�H�h(�A�?ʨ	~�(�
Q���x����<;#��/�1�JR�{"E�,RB�exz�T��%��Uc��Q���x7��x�MP6 kZ�@6�Bձ3�:���#�:X'B�t�Xvh�?��#X�
�͍��Z
��q��E�E��R$Bހ��lı��:qyͦ�
1=wLY�:��_
9�!��ν
�_�6r?�������y�h�ȳDg.�v}��4my�ij[
W>��^�i��|�6'�*�T�)k��1a
�q��!��*�֐�u�k�or��c�:~�={���mYÈ�N��21�p��Y�!Nk2�I��n/kf]
-�f�}Yǁ
�V�I�T�}y� �
��,�
�����K��K�(
�v�
�S��Y�E������-5ģa��3�i�
���mdl���$?�zUf��؈�;-O<$)G�Z.���K�l@�C.��jf�/:��y�/Xx1����B� Q8�
��qi����
��Y�����8�^����
ݒ	xe�N8���CM��O�3>i
����z�}�K
�
�
8A�#
<����p�b �Da�P��Fa�6�x��gH�^
���`
�
�Ρ t�
{���ꣽD3�,�Ob
�%$����E�U{TZ�>��ž��љ0� �^f?}��rN
-�;(��J��A�NPZ���P�!z�r�
-? &��`����@s9�T�+�C�5�j��ֵ�Uŵ�L�X��~lW-���,R�4�I��\:f4��gVW_���U���C)
y`��;(g�%
U.�bG��/
�g��\s�p4 at DF'Gώ|��fh4f���R��+�fm`%�~D��j�8�j�bU��Uufien�C�/��eŪ��iU×�d]l}���B�O�F~�������#��
$
����f�e�:�WCW3�"z.�F�]�I���S�����o�N��q~��NU]�xyĩ}d@%`Ӫkac���-Sm��y 
�sa���FO\���M���C��d>; dZl�Jſ���]@q{�i>
7������Ks�S�=��:ٳ7�
=5����՟9��Ut<$?�G=��@�;�A�a�0�^�WS�'�jY\�tr��A�
2
A��Dy��A����4oˊ�-�$�0(�-2�r]"��^����� �t�
-b.���2^d�ŵq��qr�W;�C
h�S��>Q#f���D�{����2/�_�8���M˗CK�(X_�^W��'IX��Ǿ�Ծ~$Q�нQ��n~�$
-���z�\*g����O
���}�^ߗq�d��C���|��|�ʕ9�59tA�R�gdj9;�8[5���3����*�E:tb�5�0���/��4���k[��4�_�e�gY�}��������G4��*�E�t}
��}^��!J��󌭯@�e^*���L�@��7��?(/�I
-endstream
-endobj
-1503 0 obj <<
-/Type /Page
-/Contents 1504 0 R
-/Resources 1502 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1314 0 R
-/Annots [ 1453 0 R 1454 0 R 1469 0 R 1470 0 R 1471 0 R 1508 0 R 1472 0 R 1473 0 R 1474 0 R 1510 0 R 1475 0 R 1476 0 R 1477 0 R 1478 0 R 1479 0 R 1480 0 R 1481 0 R 1482 0 R 1483 0 R 1484 0 R 1485 0 R 1486 0 R 1487 0 R 1488 0 R 1489 0 R 1490 0 R 1491 0 R 1492 0 R 1493 0 R 1494 0 R 1495 0 R 1496 0 R 1497 0 R 1498 0 R 1499 0 R 1500 0 R 1501 0 R ]
->> endobj
-1453 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 708.95 310.289 719.854]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_6cb7351e1bb87181f7e6c946db398b5b) >>
->> endobj
-1454 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [314.104 708.95 404.634 719.854]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
->> endobj
-1469 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.77 663.115 338.282 674.019]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_cc700387404f10208584c1a847a6f328) >>
->> endobj
-1470 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.762 663.115 436.292 674.019]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
->> endobj
-1471 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 663.115 513.996 674.019]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1508 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 651.16 197.911 662.064]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1472 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.537 605.325 345.607 616.229]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_2a64fe7b9774c990bd9db8aecd2dacea) >>
->> endobj
-1473 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.854 605.325 442.384 616.229]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
->> endobj
-1474 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 605.325 513.996 616.229]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1510 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 593.744 197.911 604.274]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1475 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 558.494 249.656 569.398]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_9b452ce4baaf1c1644a6eb33658ae48a) >>
->> endobj
-1476 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.472 558.494 370.014 569.398]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1477 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.361 490.54 295.743 501.444]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_85958538f17770d4ae66bcd179d747a1) >>
->> endobj
-1478 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.813 490.54 417.355 501.444]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1479 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.64 490.54 513.996 501.444]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1480 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 443.709 243.021 454.613]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_dfc86b3b2966514ba2e2292584f68c08) >>
->> endobj
-1481 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [246.837 443.709 363.379 454.613]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1482 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.981 408.833 270.544 419.737]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_99aac01eb1b8adc3667bbd3db68e8d34) >>
->> endobj
-1483 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.235 408.833 393.777 419.737]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1484 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.708 408.833 494.065 419.737]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1485 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 396.878 196.576 407.782]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1486 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 362.002 253.293 372.906]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_8b96d560404b7b7ee0ec7ea1aef80280) >>
->> endobj
-1487 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.108 362.002 373.65 372.906]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1488 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.111 362.002 455.592 372.906]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1489 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 327.126 240.252 338.03]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a8e9420c29d8c75e775c4fd609830769) >>
->> endobj
-1490 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.068 327.126 360.609 338.03]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1491 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 248.213 257.417 259.117]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_fb6f23292760d6d55c57b5722f604897) >>
->> endobj
-1492 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.233 248.213 377.775 259.117]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1493 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 213.337 260.735 224.241]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_0ca9a6d6894e381babab8f958c194f07) >>
->> endobj
-1494 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.595 213.337 441.137 224.241]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1495 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 178.461 265.716 189.365]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_3fc151fc10282a5ede395e9b8a5502e2) >>
->> endobj
-1496 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.056 178.461 435.597 189.365]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1497 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 143.585 271.803 154.489]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_c5a83c9e42e34b313e12a6cef4470a75) >>
->> endobj
-1498 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.619 143.585 392.161 154.489]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1499 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 108.709 266.264 119.613]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_190a7c46776178432e89c9525db039ab) >>
->> endobj
-1500 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.079 108.709 360.609 119.613]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
->> endobj
-1501 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1505 0 obj <<
-/D [1503 0 R /XYZ 90 757.935 null]
->> endobj
-1506 0 obj <<
-/D [1503 0 R /XYZ 90 725.554 null]
->> endobj
-1507 0 obj <<
-/D [1503 0 R /XYZ 90 679.72 null]
->> endobj
-1509 0 obj <<
-/D [1503 0 R /XYZ 90 621.93 null]
->> endobj
-1511 0 obj <<
-/D [1503 0 R /XYZ 90 575.098 null]
->> endobj
-1512 0 obj <<
-/D [1503 0 R /XYZ 90 505.122 null]
->> endobj
-1513 0 obj <<
-/D [1503 0 R /XYZ 90 460.313 null]
->> endobj
-1514 0 obj <<
-/D [1503 0 R /XYZ 90 425.437 null]
->> endobj
-1515 0 obj <<
-/D [1503 0 R /XYZ 90 378.606 null]
->> endobj
-1516 0 obj <<
-/D [1503 0 R /XYZ 90 343.73 null]
->> endobj
-1517 0 obj <<
-/D [1503 0 R /XYZ 90 262.795 null]
->> endobj
-1518 0 obj <<
-/D [1503 0 R /XYZ 90 229.941 null]
->> endobj
-1519 0 obj <<
-/D [1503 0 R /XYZ 90 195.065 null]
->> endobj
-1520 0 obj <<
-/D [1503 0 R /XYZ 90 160.19 null]
->> endobj
-1521 0 obj <<
-/D [1503 0 R /XYZ 90 125.314 null]
->> endobj
-1502 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F23 144 0 R /F72 202 0 R /F87 1306 0 R /F34 1307 0 R /F65 179 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1548 0 obj <<
-/Length 1771      
-/Filter /FlateDecode
->>
-stream
-x��YI��6��W�6Ps�KL�͊�i�&�S����ʒ+�q�����6kf��甞D���[�����*���ɓ���
����2��
-BI��$�L��>���t��o�"����ՌD�t���bQǫٜ
-<}U�iu/S��.�J�Bw���h��٧�ד痓�&��1���L����'
$��:���(8�Y��S�<x?�}�o��2��h,`�8��u��ib�{��U������
�;�p0�
1����Y����tg��
'�j_,��UV���27c�i�e�Cz-��HR�����{J��۪�1��%��e��	Ό@�P]Ψ�
L_��B�qU�P��Fח���^Q��W
q��E�bm�3!��@Y����\�7iQ�&}S�u�������
-ޫ��x�����p���1��G�
U���  J+������s�x�\��8�1Ek�0�����)s/�qD����:;~s��m�:ڠ����
�պ��.+��>qzҙ)
-��
?�Ȃ��7��׻�'/bHF�O��q~;cN�@��E���]��Xy�x�NG~��V֞B�n@��\�(��&�|N����"=H��� �	�����SPW��f�V���U�y4�1ltnjo����Or� hIt;恉�[o��������
AԊ�0�
k
��DKC�o9d�g�����
5(����r�"� -Oo��|'���� ,�wd~Z�X8MS�J
-ܯdZ�
l_�*�YE�f���:��/���m�"�ȁ��
�����&�0�mgVt�� t\L�y�.�qn�ﶰ�<��l��*�h�s���a~
P�ӣ�٣���h��P�4I�X�
�^&!A����4	�3IB~W�ds��H�Hr��	����<!�ݎ��!�׋&
-�@ =?�ʯe������(2wY�����s������ٓS��7�yƤ��~4(dB5(�c(��#<�ݚgZ�����y�߰}h��Y�p��H���lu�������=79�
7����*,�����2��P]/ޝ��@TAk����1��)Q��㩫 
����Q����㬫#��<�	&T&3�-Cu{������
2�m����ڶʫ1d�yR`�5L����u�k��Ѵa�-�B�;�cV�Y6�Sr��&<DF���Q�Ч1�)�)������/�`z�q�N���j�VT��p~�����;!�=�ny��$�}����ny�1
���&#B{4#B�XF�n�ͰVٜ�]���D .�U�;��>�h3\����n�5֮�C9�V�r
Sm��p�h�Z�Kz�#���<�HU�&�`'�B:Z�=�(�b�X�JB�9G�s�1t�r��PN��>�A7J9�3F9�6���J�o
߷
X�f˺�	��a˺V߆uж��-렧�:�x�u���u ����qvb�[U{y�+1�C��@��3��R�Ў8���T�,}�TG��
�jJ.9��t��%
|j.Y�p78G��z�;�\[���2l�\GӦ��.��--a�[Z�A��
}�)d��
Nb~R�k~^��:��C\��(T���s���8bX����֞����`�/�O�+g�Ɓi���'40{���l���j�y���m�_�Ӥ����sW��婝�&.V�x�5�]���{�fg?�5.���t`��%��� :1�Q���F>}����z����~�r�vQ
�6��z����p8���l[����@]
_��B�gB5� (�)���!+�sc���a�����

-endstream
-endobj
-1547 0 obj <<
-/Type /Page
-/Contents 1548 0 R
-/Resources 1546 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1565 0 R
-/Annots [ 1522 0 R 1523 0 R 1524 0 R 1525 0 R 1526 0 R 1554 0 R 1527 0 R 1528 0 R 1529 0 R 1556 0 R 1530 0 R 1531 0 R 1532 0 R 1558 0 R 1533 0 R 1534 0 R 1535 0 R 1560 0 R 1536 0 R 1537 0 R 1538 0 R 1562 0 R 1539 0 R 1540 0 R 1541 0 R 1564 0 R 1545 0 R ]
->> endobj
-1522 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 454.503 254.399 465.407]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a891671c2b9414353067da44a108ac1d) >>
->> endobj
-1523 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.214 454.503 360.928 465.407]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1524 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.099 406.682 332.581 417.586]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_512810c3e349a2f01217c6e426645260) >>
->> endobj
-1525 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.39 406.682 448.104 417.586]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1526 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 406.682 513.996 417.586]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1554 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 394.727 190.738 405.631]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1527 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.77 346.907 359.65 357.811]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_fc650c1c744fbfc4dbd15293b9827776) >>
->> endobj
-1528 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.13 346.907 466.843 357.811]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1529 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 346.907 513.996 357.811]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1556 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 334.951 236.107 345.855]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1530 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.589 287.131 327.725 298.035]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_7d65378709f5a0c73e711f5528385990) >>
->> endobj
-1531 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [334.024 287.131 436.738 298.035]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1532 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 287.131 513.996 298.035]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1558 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 275.549 176.352 286.08]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1533 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.985 227.355 326.438 238.259]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_9ab7b109b1acae567c915b1db83b5283) >>
->> endobj
-1534 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [333.133 227.355 435.847 238.259]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1535 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 227.355 513.996 238.259]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1560 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 215.4 174.668 226.304]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1536 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.03 167.579 332.792 178.483]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_1c54d4109f395752ea23822cee000d04) >>
->> endobj
-1537 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.532 167.579 440.246 178.483]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1538 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 167.579 513.996 178.483]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-1562 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 155.624 182.977 166.528]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-1539 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.637 107.803 350.332 118.707]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_f99b9dc1c16751ce872dab5245c22fdf) >>
->> endobj
-1540 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.679 107.803 460.393 118.707]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1541 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 107.803 513.996 118.707]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1564 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 95.848 223.923 106.752]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1545 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1549 0 obj <<
-/D [1547 0 R /XYZ 90 757.935 null]
->> endobj
-1550 0 obj <<
-/D [1547 0 R /XYZ 90 733.028 null]
->> endobj
-389 0 obj <<
-/D [1547 0 R /XYZ 90 627.746 null]
->> endobj
-114 0 obj <<
-/D [1547 0 R /XYZ 90 621.146 null]
->> endobj
-1551 0 obj <<
-/D [1547 0 R /XYZ 90 522.673 null]
->> endobj
-1552 0 obj <<
-/D [1547 0 R /XYZ 90 469.582 null]
->> endobj
-1553 0 obj <<
-/D [1547 0 R /XYZ 90 423.783 null]
->> endobj
-1555 0 obj <<
-/D [1547 0 R /XYZ 90 364.007 null]
->> endobj
-1557 0 obj <<
-/D [1547 0 R /XYZ 90 304.232 null]
->> endobj
-1559 0 obj <<
-/D [1547 0 R /XYZ 90 244.456 null]
->> endobj
-1561 0 obj <<
-/D [1547 0 R /XYZ 90 184.68 null]
->> endobj
-1563 0 obj <<
-/D [1547 0 R /XYZ 90 124.904 null]
->> endobj
-1546 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F65 179 0 R /F11 727 0 R /F23 144 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1601 0 obj <<
-/Length 1960      
-/Filter /FlateDecode
->>
-stream
-x��ZK����W����   ����xS�wgwR9캦8"�a���FֿO�AJ�(J3��͉$6�读�������M���ܽ��HP��/�{� �S��'�g?D�Mgc�V����Pq���o�jJ���:-��&^Ng�c���Q�"�+��Q-��W�&")�>��_��|?�τ�,�G̨<Da��y>��
�h���(���1�r�� ���i��	v
^�F!�$h$�ֈ0�(܆4 at Xp��w�4K��,ď����Q�6�)ž�1���ϼ��M�*�$-���)�g�*Ml�rJ0h���~ܔ�����M�R��*�)-m���9
-d��/�#����F�g�I�lӢ�ܜ�\K��
6��>έRq�=�7�T�(
-<02�xdkC[qh1t{ܸk����$��P�V�L�XO" fmd�q��w�8���0 at +
�
(!F�JyO��y��iѸf��j����t���Ǡ��Y��!}Q��q��PZ���ɱ}���cA�O���ؤ�63Ɣ�		kB���󲨛��S��
�M
p�V��5���c}
��E�`a/�r��w��^
2���
`	l-�(0�!,Ip���<�!J:���=�� z
$)��7�$�a7Q�j������"Hd�RD������j�C1e���4�M����cI��P����o��
��B�S���&���zm1u0����~$�ͮ���[!�4�Z�B0}VE�����Q����V�8bv+�K��tq)�Y�ց߭�y�����-���k�P&�b{���='���
0
6d
 
���+ L F�v�
-x�C������X6�25J�(��X�M��ٮ����}K
-�к ���"���
E�K���n6㐯y?��ۑc���0$�n�o
-����ق�����
����9a�m�����2�����7����'P9/�bJu��t���G�[n	K=�QT2bA9��!�>k%��!��9�_�
j=�
�k���r���
��(`
!.N��
��
���h=��
Wi�8�h"�sa7"t<K(��Z#!6��w�*)
-�
�����^�Oe^.��)���|���[���ʨ�Hp����q��ش�%��C�^�
�_N�E ڜǤx%$Yx������O_=���uex
Ī�^Ve�6鳶2���J�lk��vI�Rm��}�`Px��b�w�
���EY�*y�)2��G�Ǵjl�:n�Z��j��JIג�P�C�j�Ʋ����
�G�&��c�v5�&ѓ�Q�B�H��JUO���/s�)E�֭�
�
�!""_� �����<�)�K;n��� n�U���f�Ő%���nm�쪋պ{����A(���C��j��N
'�CS�'a�s�
��h^�A���/���
�m�
m�Q
4H�g���M���	n��
l>��#�`�(�g������G��

y
�!�$�
���
/�"z�*�G)�Z��ͱ��<*���"���zq�s�<�-��y���l�*�wG��q	i��Ij7p�%�
�i:dz[i��	=z$�V{�z�!B�hϋ�74<��$d���� 
/"�Wl�J��9Rs

(�
0�5u���� `8 ���>��ppjA�2
-���}|^�����@x�
൧RPP����l�����y��C)-�&�ӂ�0��1�N�^Zh]��Oz���뼹p�6�v��� na+�|0ȡp�n�D�D�� �I��u֤�l;`���1k=
G��	�<����D,��D����������Ye{��A9P^�1����8����ԃ��a~� �
-�0��儃��a��� �6\�z�$���e�}RI۷���*������>.��x龷?�h�b9-4A�^�iʹ_�>��:��;��g=��
��F NQ�]�c�Rm�gW�W���ib�|�e�6��f����f�A���tU�����
��;!��u���0���RV���9fӥo7��$[)
-endstream
-endobj
-1600 0 obj <<
-/Type /Page
-/Contents 1601 0 R
-/Resources 1599 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1565 0 R
-/Annots [ 1542 0 R 1543 0 R 1544 0 R 1604 0 R 1566 0 R 1567 0 R 1568 0 R 1569 0 R 1570 0 R 1607 0 R 1571 0 R 1572 0 R 1573 0 R 1574 0 R 1575 0 R 1576 0 R 1577 0 R 1610 0 R 1578 0 R 1579 0 R 1580 0 R 1581 0 R 1582 0 R 1583 0 R 1584 0 R 1585 0 R 1586 0 R 1614 0 R 1587 0 R 1588 0 R 1589 0 R 1616 0 R 1590 0 R 1591 0 R 1592 0 R 1593 0 R 1594 0 R 1595 0 R 1619 0 R 1598 0 R ]
->> endobj
-1542 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.052 686.039 367.489 696.943]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_bbbdd7f3c4800ef97b642142cd68648d) >>
->> endobj
-1543 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.251 686.039 473.965 696.943]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1544 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 686.039 513.996 696.943]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1604 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 674.084 236.107 684.988]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1566 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 637.222 261.841 648.126]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_f232ff2f43109950ac1b0f5d124cf4cc) >>
->> endobj
-1567 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.656 637.222 394.382 648.126]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1568 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.303 563.807 315.869 574.711]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_643dad56c4e24b32e2c4951aee7a6822) >>
->> endobj
-1569 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.881 563.807 457.607 574.711]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1570 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 563.807 513.996 574.711]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1607 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 551.852 190.738 562.756]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1571 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.417 514.99 281.164 525.894]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_86c148ed14d1a2781e07bea5be7fb434) >>
->> endobj
-1572 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [286.291 514.99 415.017 525.894]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1573 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.64 514.99 513.996 525.894]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1574 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.151 503.035 213.632 513.939]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1575 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.135 466.173 329.415 477.077]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_e7af7908bffe9b331262dcf8fd020b7f) >>
->> endobj
-1576 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [338.259 466.173 466.985 477.077]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1577 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 466.173 513.996 477.077]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1610 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 454.592 178.862 465.122]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1578 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 417.356 252.436 428.26]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_e861c5919e346c3966c43edc4cd47276) >>
->> endobj
-1579 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.252 417.356 384.978 428.26]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1580 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.97 332.982 311.817 343.886]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_225478fba412d40b785e2b41809cc90d) >>
->> endobj
-1581 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [315.497 332.982 418.211 343.886]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1582 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.64 332.982 513.996 343.886]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1583 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.151 321.027 239.644 331.931]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-1584 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.051 273.206 336.188 284.11]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_84c2e36e2ae01775ce542ebc83739726) >>
->> endobj
-1585 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [342.948 273.206 445.662 284.11]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1586 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 273.206 513.996 284.11]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-1614 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 261.625 178.862 272.155]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-1587 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.266 224.39 350.567 235.293]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_bfe9ef58fb96938e1c26b63e2b4ce0d1) >>
->> endobj
-1588 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [359.543 224.39 462.257 235.293]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1589 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 224.39 513.996 235.293]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1616 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 212.434 236.107 223.338]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1590 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.666 175.573 379.739 186.477]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_3530a20e5985d6da8acabad37bfe0e93) >>
->> endobj
-1591 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.115 175.573 491.828 186.477]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1592 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 163.617 253.821 174.521]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1593 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.455 126.756 338.122 137.66]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_8172cf537ccecb7826eb21837b8d7e7b) >>
->> endobj
-1594 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.288 126.756 447.001 137.66]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1595 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 126.756 513.996 137.66]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-1619 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 115.174 178.862 125.704]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-1598 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1602 0 obj <<
-/D [1600 0 R /XYZ 90 757.935 null]
->> endobj
-1603 0 obj <<
-/D [1600 0 R /XYZ 90 703.14 null]
->> endobj
-1605 0 obj <<
-/D [1600 0 R /XYZ 90 654.323 null]
->> endobj
-1606 0 obj <<
-/D [1600 0 R /XYZ 90 578.886 null]
->> endobj
-1608 0 obj <<
-/D [1600 0 R /XYZ 90 532.091 null]
->> endobj
-1609 0 obj <<
-/D [1600 0 R /XYZ 90 483.274 null]
->> endobj
-1611 0 obj <<
-/D [1600 0 R /XYZ 90 434.457 null]
->> endobj
-1612 0 obj <<
-/D [1600 0 R /XYZ 90 348.061 null]
->> endobj
-1613 0 obj <<
-/D [1600 0 R /XYZ 90 290.307 null]
->> endobj
-1615 0 obj <<
-/D [1600 0 R /XYZ 90 241.49 null]
->> endobj
-1617 0 obj <<
-/D [1600 0 R /XYZ 90 192.673 null]
->> endobj
-1618 0 obj <<
-/D [1600 0 R /XYZ 90 143.856 null]
->> endobj
-1599 0 obj <<
-/Font << /F63 177 0 R /F72 202 0 R /F65 179 0 R /F50 143 0 R /F23 144 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1637 0 obj <<
-/Length 1492      
-/Filter /FlateDecode
->>
-stream
-x��X�n�F}�W�C) Z��KP�c�P*۪-E�����D��_����.)Q�
;���E�����ٳgf
�u�&����
y6�������qJ����d:��n�`���*�O�c�u�k�ב��"Xt{�cs�"�S��^����DR
a9hy�/������C��� ����
ƍi���3�h`�<׸��bâ
��q����u��ׇ�l!�0á
a����ɪ,��e�I�L�0M�*��]���M_
Y��Q�lK{�L)o�b|�q�)L
-=,�:Ӌ�@~P��*K&"����*yal��o|�
?��7��w8�]���i=Xg�P�mKfM)�K�
d�� �e�V 7�4��+�;e�r� ��ڠHw��%Nm���,v�aQǫ���L
�ǞǑl�Ajc����
��d8��h��.C6����1SF�,�d�P&���<
=z�4��񣊦XjMY�7"Q��Z��a��ӆg�"
r��̠ !��� �I!
9�or�
�;���?d�C�L�@]� ��i��
-1S���,��o[֫4�uMQ{�]��.��R�
suͺ�1EQfI��&
v�Om���;r��A�p'<ȧa���x��J��#��C��_.���'#6���<����Z�*T6ɰR�\$E ;
-^�
� 0�B����2l;!�b����Y�u�+�+J����kO��e�z��w�Xێ�����'���r�ͫyֵ��ƻ\��q���}�][�zOj"wm�g��7[�z��8EF��
�|���"��AkN08��<�g�u�y�
��ɼ����T�|T�G�
)�
��*�_�J-�nP��|DW�,��7�L��P��,U�f

-��m5���fNֈP�Xk��X �H�n 
�
�5����z,���`�N˸��&�bY��
I����HD�.��
�n�)T�*mY��0`�w��m1�!�ժ*L�R3����h����q�Ǫ�U
��{�%��FC&��o��[��$�Oa2�ʙ���
K*�5
��
��dVSW6ᬡl���
�aׯ
؛�ƒ��6�
-!z�.D��Fk��4|�p��E�h�A�p*�Y�o�T?�E|]7�
��	�o�@��>}�ry_������
-t������?O��ÿ�w	!�dx~柞�������<~T��Ň�V/�M���&��8��҉7��
��K �/�Q�P��
���+�&?
^��]t-l������1S�tu�_��
�_�T�u(��d.�<�{ �U�#%�M��
�2�ߣvt~uv<8>,h�i��jy��1�+�̶O�m����=���!?y4��{��VcȘ9�k2�by���9N����e�z:
-�� �W>(�Q�,�`��n�K0t���g٥��� )�H=���F~Rd���A
�
-��p�n�a˼B���ۨ�~�Tu}��\��]β(V�����[4�Q���
�E�}�a[;!P
�״�K���*��C��`\�Y�V0O�)"
<
-endstream
-endobj
-1636 0 obj <<
-/Type /Page
-/Contents 1637 0 R
-/Resources 1635 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1565 0 R
-/Annots [ 1596 0 R 1597 0 R 1620 0 R 1621 0 R 1622 0 R 1623 0 R 1624 0 R 1625 0 R 1626 0 R 1627 0 R 1628 0 R 1629 0 R 1630 0 R 1631 0 R 1632 0 R 1634 0 R ]
->> endobj
-1596 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 698.267 269.601 709.171]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_690fbcd5ef7202e646b30d92bdadcc29) >>
->> endobj
-1597 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.417 698.267 402.143 709.171]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1620 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 661.769 272.919 672.673]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_46773b226d490e5bbf6f3d587cf29dc4) >>
->> endobj
-1621 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.779 661.769 465.505 672.673]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1622 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 625.271 277.9 636.175]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_50bcfefbf053e770951fa02c2e2eb112) >>
->> endobj
-1623 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [331.24 625.271 459.966 636.175]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1624 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 588.773 283.987 599.677]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_c21bf6dd42b915ff6f157fb73fe396e0) >>
->> endobj
-1625 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.803 588.773 416.529 599.677]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1626 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 552.275 278.448 563.179]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_f78187771d58e90c174eeba577a471d5) >>
->> endobj
-1627 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.264 552.275 384.978 563.179]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1628 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 233.256 346.513 243.184]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_df86eb3611cbe63b34ef195bc87a7312) >>
->> endobj
-1629 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 196.759 342.637 206.686]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_32423400858178cc05f325962afd44e2) >>
->> endobj
-1630 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 160.261 338.045 170.188]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_8efd1f7de8fb2bbe6e33aff1d4184078) >>
->> endobj
-1631 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 123.763 340.247 133.69]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_8ca7076566ebe098ff3bc307b4d91899) >>
->> endobj
-1632 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 87.265 330.842 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_8f2ab3d77bca7257df14bda9261a1326) >>
->> endobj
-1634 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1638 0 obj <<
-/D [1636 0 R /XYZ 90 757.935 null]
->> endobj
-1639 0 obj <<
-/D [1636 0 R /XYZ 90 713.255 null]
->> endobj
-1640 0 obj <<
-/D [1636 0 R /XYZ 90 678.779 null]
->> endobj
-1641 0 obj <<
-/D [1636 0 R /XYZ 90 642.281 null]
->> endobj
-1642 0 obj <<
-/D [1636 0 R /XYZ 90 605.783 null]
->> endobj
-1643 0 obj <<
-/D [1636 0 R /XYZ 90 569.285 null]
->> endobj
-1644 0 obj <<
-/D [1636 0 R /XYZ 90 517.303 null]
->> endobj
-390 0 obj <<
-/D [1636 0 R /XYZ 90 405.087 null]
->> endobj
-118 0 obj <<
-/D [1636 0 R /XYZ 90 398.204 null]
->> endobj
-1645 0 obj <<
-/D [1636 0 R /XYZ 90 299.814 null]
->> endobj
-1646 0 obj <<
-/D [1636 0 R /XYZ 90 247.268 null]
->> endobj
-1647 0 obj <<
-/D [1636 0 R /XYZ 90 212.792 null]
->> endobj
-1648 0 obj <<
-/D [1636 0 R /XYZ 90 176.294 null]
->> endobj
-1649 0 obj <<
-/D [1636 0 R /XYZ 90 139.796 null]
->> endobj
-1650 0 obj <<
-/D [1636 0 R /XYZ 90 103.298 null]
->> endobj
-1635 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F65 179 0 R /F23 144 0 R /F11 727 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1685 0 obj <<
-/Length 2045      
-/Filter /FlateDecode
->>
-stream
-x��Zmsڸ�ί��˚��H�䗽�ڔv�M�܄�ݙ��8X�o��M��_�^l0��~�-K:�<z΋ؚY���{;Ᵹw���u\k4�ly.A�!�(�>�
"�? c;ϓ�����������W�?p8�/�J�p"�뭘
-5L��
�N��_G�����_=�E�<�!�rk��}�����0��o=�Q
�9�ĺ�������s,lq���0�
x�
��˵A�Ydț����U�W�"�GD�
��y�g\[�J��UX-K����Bg�9^Cv�8�eD����|q
�Z��<� u�V�[bT�
X�j��ss���ϰ}��rx5>��4ү��~��on�\
G���>�6<���O����֚P����4+6@���Ui@΋x�3�$K+=01�B�
�Å B�^d�p�����y<�9z{}��txל݋r%������۫z�^� ��,����/�n4
�
�F������7r���%�:
q7x1��pR��@�\��@D�>���!��bF��Ol�;��=�^^���'>�

��1��S��J�Vb
Pဨ���8iY�I��k-�MYƳt!R�W��l�N�C[�76
 a
�� F�#������S��h2����"[��
��8�A�2��M	j�/���.k�)6
s���|�F�����3��
�/���i��96�	�@up�����S.6�������[�"
m���2N"���d�"~����
n����9�.�3(`x�G������4�5\{,�J�j�����ĸX��6�IZ�QT�g���R�R@�[ߞ������â
�r�6LJ;N��迵���!���	��=W��������Ld̪}�_�m��1-t�wOU7�5n3)_�.�V�.�T��x�w^ ���]+&„и���S�&���� [...]
-o�<�\L���  l=����_}��@ ��)*T��>�ܾ-�����
b�t������v��F|�;��l�,��G�;����H'�2�
J!~�HG	_�R�:Na�MG*W/֭��& �$�
*b�A���<؈
�K5W<�����GN��Iw@���
��
:ݴ#."l�
(�+/ ��x<�c�R�����<��3�����
-�Fwc�n��HU���?�ul�{��0�S�
-U�~��0�=�o��vp�y���>b��N�;�_�c���/� kX�ug�Y�v������]D�!�7c �o��B��
-���.�1
R
:I�Y�?�HD%vQK��O�'N���,C
�$��&�6;m�KG���k1�׮  �M.��Y~~S�u�Z.M=Ԗ=�
-��,������I��c���
-zp_�Ib(|/�''P���>	P��ޛ:����@ޙ��Sf:��(�>m����ϸ*`
oů=�r�IX+�]0��w��(K:�sJ�g6(������V�v�-���H��w�oذڀ��� �}�v����E��$+��t�)�ȥ������҅|�(�<���rq/�q6
�T��3xݠk�E3/8_A�]|��ށ䥐'*���ہ<���0W�S��j��AWE�mڮ�_=���y88�d>��ݣ�M���E�CH�xk���&�Zl�}*	��}�:��g_����p0���Ԡ
)
0��g�
�N!TV�#�PWg\���̈́�п(>u
��AlUQv��A����b���Ak�Z�
[�^SpO��]�Fs8�S�b��W�|yK�!�������Һ6��gu*ɖ�y�ne�%�9�
����|_�1�^�˲:�՚-�HȝO7���� ��g�� .
-<�?@� qn�8RjQj�(��<QǾɒ����P��x�/�z�e�Ζ������hh
���R��9W?h���0]����)R&�C'F�i��,��̾�j�Y��Ǟ���.��7i^U��gg���hR�e���3����s�o�A�J}� �-�Bh�:��ok���L�
-endstream
-endobj
-1684 0 obj <<
-/Type /Page
-/Contents 1685 0 R
-/Resources 1683 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1565 0 R
-/Annots [ 1633 0 R 1651 0 R 1652 0 R 1653 0 R 1654 0 R 1655 0 R 1656 0 R 1692 0 R 1657 0 R 1658 0 R 1659 0 R 1660 0 R 1694 0 R 1661 0 R 1662 0 R 1663 0 R 1664 0 R 1696 0 R 1665 0 R 1666 0 R 1667 0 R 1698 0 R 1668 0 R 1669 0 R 1670 0 R 1671 0 R 1672 0 R 1673 0 R 1674 0 R 1675 0 R 1676 0 R 1677 0 R 1678 0 R 1703 0 R 1682 0 R ]
->> endobj
-1633 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 698.308 426.413 708.236]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_f63454e50c1937573c75495f3cb4c1d2) >>
->> endobj
-1651 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 662.114 451.11 672.041]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_9dfe99ee7d8e2b1d7360ab0119bd12eb) >>
->> endobj
-1652 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.287 625.919 513.996 635.847]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_34e5d32c224ab8293ff78c85d86e5f79) >>
->> endobj
-1653 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.032 577.769 511.579 587.697]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_c379f873623c0fec37d988c2c374ffe5) >>
->> endobj
-1654 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.223 505.213 342.668 516.117]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_b95e9f75dd971827c8a9a6b42faeeac7) >>
->> endobj
-1655 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.601 505.213 439.515 516.117]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1656 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 505.213 513.996 516.117]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1692 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 493.258 190.738 504.162]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1657 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.701 457.063 238.195 467.967]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_f59141db49e5141da6ac594d43ead2f7) >>
->> endobj
-1658 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.606 457.063 328.52 467.967]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1659 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.304 457.063 448.66 467.967]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1660 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 457.063 513.996 467.967]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1694 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 445.108 210.673 456.012]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1661 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.451 445.108 353.177 456.012]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1662 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.625 397.954 321.906 408.858]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_70c652d969734f6a69841d30a5e9033b) >>
->> endobj
-1663 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [326.24 397.954 410.155 408.858]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1664 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [442.266 397.954 513.996 408.858]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1696 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 385.999 168.601 396.903]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1665 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.867 338.846 331.706 349.75]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_8bda1b8ba9119202c16f88fdb19a535b) >>
->> endobj
-1666 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.283 338.846 421.197 349.75]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1667 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [442.266 338.846 513.996 349.75]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1698 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 327.264 168.601 337.795]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1668 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 290.696 243.041 301.6]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a1663bce444a20240c852c9443005cc0) >>
->> endobj
-1669 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [246.857 290.696 356.783 301.6]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1670 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.998 219.116 289.765 230.02]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_d2154705f0854002a4f44f95580df9c7) >>
->> endobj
-1671 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.473 219.116 405.4 230.02]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1672 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.64 219.116 513.996 230.02]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1673 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.382 170.966 375.219 181.87]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_0d5a001977b49f77a4514de614bf3c4c) >>
->> endobj
-1674 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.311 170.966 491.237 181.87]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1675 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 159.011 208.451 169.915]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1676 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.636 122.817 331.776 133.72]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_4da79f8c645b945d52635733c3f63d7d) >>
->> endobj
-1677 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.122 122.817 453.049 133.72]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1678 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 122.817 513.996 133.72]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1703 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 110.861 190.738 121.765]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1682 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1686 0 obj <<
-/D [1684 0 R /XYZ 90 757.935 null]
->> endobj
-1687 0 obj <<
-/D [1684 0 R /XYZ 90 714.266 null]
->> endobj
-1688 0 obj <<
-/D [1684 0 R /XYZ 90 678.071 null]
->> endobj
-1689 0 obj <<
-/D [1684 0 R /XYZ 90 641.877 null]
->> endobj
-1690 0 obj <<
-/D [1684 0 R /XYZ 90 593.727 null]
->> endobj
-1691 0 obj <<
-/D [1684 0 R /XYZ 90 520.124 null]
->> endobj
-1693 0 obj <<
-/D [1684 0 R /XYZ 90 473.997 null]
->> endobj
-1695 0 obj <<
-/D [1684 0 R /XYZ 90 414.888 null]
->> endobj
-1697 0 obj <<
-/D [1684 0 R /XYZ 90 355.78 null]
->> endobj
-1699 0 obj <<
-/D [1684 0 R /XYZ 90 307.63 null]
->> endobj
-1700 0 obj <<
-/D [1684 0 R /XYZ 90 234.028 null]
->> endobj
-1701 0 obj <<
-/D [1684 0 R /XYZ 90 187.9 null]
->> endobj
-1702 0 obj <<
-/D [1684 0 R /XYZ 90 139.75 null]
->> endobj
-1683 0 obj <<
-/Font << /F63 177 0 R /F72 202 0 R /F50 143 0 R /F23 144 0 R /F65 179 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1741 0 obj <<
-/Length 2106      
-/Filter /FlateDecode
->>
-stream
-x��ZK��6��W�20f�)��);�I&�ٙ�0j��VbK^I�N��o�%�m��@�=I��b��}���w�a��?og7��I$x�kOb/
�x���������f�ˏ��9���n���*��/����Y��u�R��G�Vf���փ�̿��4��v�����G�~"D!�j;��{	���a�d�=�Y[�Sύ�i��v�{�3	�9!!
- at BH"�\�Q*�6�2��B�!Ӭr�Z��ީ��L��w�`-��w�X���*�ʪ�ABٗ���>*ڈ5�Wc�����	
)1’t��2ͳ�BO�"ă�[�	����N
lp�v�@$
-x �X�a���q9���l��@d+:���
�W�=�!�#��?EZ�����^��b
Ea���p V�3�'T����{��O{Ys"|{af0QpH���u#a��2����9
}5�ؿ�6r���Q 
�ō�LDx=��5��4�Q�UJ�!��� �-��q�L�Dis�9�$,����&�����p��)pG��푫���
QFϠF����lnH�0�
�W��q�X$����EA��>�<�ָ)��n
a7x��Dc^��A�lQDCYKJ���v�K��	h�w��0��_��ӟ���S5�k��
@����$�,0.G
-��Q̹�1l�����
m�|oC�fW�-��)��]��tN��U�W-��
�R=�,�a�V�4s9����i���x`���]�6?EC�� �"n��4�1�n<D�HF?
a(`�&�
ք1�7�1���jN��t�Q�Pw��ԯ�cs�f��i��������(z�P��tqeI��šS�6���(¼s�
�A�D$
�ĔH(�R�*ݦ����m��A�E׉� ��\��iN
DC{ꏪ�Y��`�G�#�
9Q3��G�$~H�!K���')e���+�7#�����������������L�Ѓp`��:�5�cy(��y�$d�m
w;?���n�΋�J��\�d��vNZ�U%�ԮL��R`fU��[���U��D�<_�"�!'���o�:
���tp�����*
��r�aL�>���.
�t��v���1�� ��M�,s�����˯�Z�7��ȋ����`o��=v��[���ꠊ�\Z�&$�,DuT}�F�t"i�
?��<I�OCg�-�{����f�)l���Wf�j�����T-UU��C���B�͌�p�~M�͑E��.wM����
.��� �]kH���!XM�R�\9�
-*񤿅�0����h�C#�h�y���0I�	V$�e��%�hZ�aj��$Gz�
ʌ�}��<V��XT��@�t6�
�P�#y�#l\�h'jA��E��*�fm��E8g����H����ʗ&�j��྿�3�Z�i�
�L�{�y� A�y�����.fdS��ɹKY�P�P�=X�&PI?v��[�V��1;�f���
-
L��H����F��6�j��~��x\�&���^����i���?4C��0,��

r����c$	��n�TNjӴ氂_Ԟ4y�m�=�
-�u�;q*��6�*n��i6v����Y��Q�W.f>�e�6�ITU���Y���{�*����@�9
-��z�"D;����z��������)��.
.o���H

-�$�ܹ�	�q�����>���&�E��
�xY��8���(���������WMD�$�٨�P=�>=��8B�U9%���`��
���?�F]8ֽ—�:�(��6
�
:_(�.h�DN��V�4�C���F�C����SiZ����Ck��}�)��h�"Xץ��G�
�m������1J��x�.���u����	��U�%�ҍ
��k��C�ɲ
!4�#%�?
����$H�3;�G�s�jA�so��n_
K�O�f�dG�s��� �$����M�O� ���� !Aar[0�0��ؚ�Ĩ�!�<=�����ӻ".�쇷v��8����n����.rlC�����\��
~����1�w묋��3�c
���J�
�W��Z��~�yf��=�j�����}ss����V%�g�@iu�v?[!|��
0l��慲gH3�D7�G�{��`b,
-endstream
-endobj
-1740 0 obj <<
-/Type /Page
-/Contents 1741 0 R
-/Resources 1739 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1565 0 R
-/Annots [ 1679 0 R 1680 0 R 1681 0 R 1744 0 R 1704 0 R 1705 0 R 1706 0 R 1707 0 R 1708 0 R 1709 0 R 1710 0 R 1747 0 R 1711 0 R 1712 0 R 1713 0 R 1714 0 R 1715 0 R 1716 0 R 1717 0 R 1718 0 R 1719 0 R 1752 0 R 1720 0 R 1721 0 R 1722 0 R 1754 0 R 1723 0 R 1724 0 R 1725 0 R 1726 0 R 1727 0 R 1728 0 R 1757 0 R 1729 0 R 1730 0 R 1731 0 R 1759 0 R 1732 0 R 1733 0 R 1738 0 R ]
->> endobj
-1679 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.748 707.957 310.757 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_6a8d9c1c40c886054ef76aac268f33b0) >>
->> endobj
-1680 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [314.215 707.957 424.141 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1681 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [444.478 707.957 513.996 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1744 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 696.002 144.243 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1704 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.64 659.14 297.22 670.044]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_4b9b7034fd7b17eff672d49a7c85ac2f) >>
->> endobj
-1705 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.57 659.14 410.497 670.044]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1706 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.64 659.14 513.996 670.044]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1707 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [132.846 647.185 227.828 658.089]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1708 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.445 599.364 294.901 610.268]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_19ff64e7fd60a4e08c782a4683d62167) >>
->> endobj
-1709 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.056 599.364 409.982 610.268]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1710 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.977 599.364 513.996 610.268]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1747 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 587.409 179.112 598.313]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1711 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 539.588 296.739 550.492]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_b50ac757b6cb922c40504dc69c983568) >>
->> endobj
-1712 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.555 539.588 410.482 550.492]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1713 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 502.727 233.637 513.631]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_c39a1aacb6aa4f54150e2b138d7b36f2) >>
->> endobj
-1714 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.452 502.727 347.379 513.631]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1715 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 418.353 238.608 429.257]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_5357e1ed14407abf82149fe878789efd) >>
->> endobj
-1716 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.423 418.353 326.338 429.257]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1717 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.867 381.491 366.786 392.395]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_44aa5cc75376dddfb9005dd74b27ff68) >>
->> endobj
-1718 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [375.363 381.491 459.278 392.395]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1719 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 381.491 513.996 392.395]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1752 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 369.536 190.738 380.44]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1720 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.204 332.674 362.443 343.578]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_3659fef24b67be6b668955bc6865e779) >>
->> endobj
-1721 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.357 332.674 456.271 343.578]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1722 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 332.674 513.996 343.578]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1754 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 320.719 190.738 331.623]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1723 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 272.898 277.91 283.802]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_36c57e3007fcb2340dc415f8431df7aa) >>
->> endobj
-1724 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.726 272.898 365.64 283.802]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1725 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.621 272.898 481.604 283.802]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1726 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.687 236.036 288.366 246.94]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_5e359194d7a21e72a49aee51dbac25c4) >>
->> endobj
-1727 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.763 236.036 382.677 246.94]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1728 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [418.466 236.036 513.996 246.94]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1757 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 224.081 164.178 234.985]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1729 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.789 187.219 313.294 198.123]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_f349e801a615b2014d36c30fdb56022a) >>
->> endobj
-1730 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.794 187.219 404.708 198.123]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1731 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.977 187.219 513.996 198.123]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1759 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 175.264 179.112 186.168]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1732 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 138.402 312.789 149.306]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_39e443628f6b73203b0f66189b8bc1c6) >>
->> endobj
-1733 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [316.604 138.402 400.519 149.306]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1738 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1742 0 obj <<
-/D [1740 0 R /XYZ 90 757.935 null]
->> endobj
-1743 0 obj <<
-/D [1740 0 R /XYZ 90 725.058 null]
->> endobj
-1745 0 obj <<
-/D [1740 0 R /XYZ 90 676.241 null]
->> endobj
-1746 0 obj <<
-/D [1740 0 R /XYZ 90 616.465 null]
->> endobj
-1748 0 obj <<
-/D [1740 0 R /XYZ 90 556.689 null]
->> endobj
-1749 0 obj <<
-/D [1740 0 R /XYZ 90 519.828 null]
->> endobj
-1750 0 obj <<
-/D [1740 0 R /XYZ 90 433.431 null]
->> endobj
-1751 0 obj <<
-/D [1740 0 R /XYZ 90 398.592 null]
->> endobj
-1753 0 obj <<
-/D [1740 0 R /XYZ 90 349.775 null]
->> endobj
-1755 0 obj <<
-/D [1740 0 R /XYZ 90 289.999 null]
->> endobj
-1756 0 obj <<
-/D [1740 0 R /XYZ 90 253.137 null]
->> endobj
-1758 0 obj <<
-/D [1740 0 R /XYZ 90 204.32 null]
->> endobj
-1760 0 obj <<
-/D [1740 0 R /XYZ 90 155.503 null]
->> endobj
-1739 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F23 144 0 R /F72 202 0 R /F65 179 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1793 0 obj <<
-/Length 1838      
-/Filter /FlateDecode
->>
-stream
-x��Z[��6~�W��0�]}iߚd3�n��d;}H2��u
�k
6�_�#K66x��I���G:��tn6v�v��~�]�(p���Ϝ ;�K��Ĺ�:��
"b0$�~�.��n��wـ����B.�*��T��M�d6
'�|� g��&�b�AA_�齹���#�>vH���DŽ3Y�>}���q0b��<���
�
�c�}۽��t �C.�ã
aWE>S*����9����be��v���ׇb���Fm�r���PE�g�i#�B�>c���ZH�$q�rU��e��,������=����˵֔"�gH@f�� �*�s�Ih.i�G*Z[�@}9�?����L/�5�ĉK�agfRc�G�'�Ȯܰ�Of,0�_�
6�D=��1�倈>jU|c��C�)���%H���`ϓ�Zo���7E���#lRZ{�
�
,j��\��ۂ��#ʽ𺈰��s��d[o��*��E��@�j���)��
���}	���
-�����P�q��O9Q��h�g��x-�;�
�־ڷ�&l�'&���<%�oe,�P%Y;��W�	�*�3��>��Hƪ]T�Zv'l*�c)O8"
kR���@��z�d��*͏������W�KK�-�� ���y�<��W
�ӎ�
	
tp4����f2�#�W��Er/��z����]6�6$�
4�]�z~# ���@Lf i�����t~,9
-�V��#�*b��[han�x���TIcVi�:��Iv�w�.<q
-�C�d8���m
�=�����b��Q��5�`
�t�ӓTE��[�,'��vb��
�as��ܼ���o
#��#�NN���c�k/�z�+:�;���B|��.����c��s�OZ�
.�eƳ��B�Ց[���ӝ�ޱY��/�h��/�h�X���X�|Y���VZy�A�r0��DZj��Fm.&@����H�����̞��>J��C�*����w�@
�p)��Ϸ<O��f�
�� �
Was�4�T�,�i��KWdWU�lnbX�����L�%���T7gA �uU�Q{�H\��U��mae�7Ez|�C�tGНT�s���J��Hs]*o{glԇÙ�I
-�A���Ѻ��ۋ5�N�9�cp�ۢ
-3pZ����M���跕����-�k��q���:/.ꍾ����魶%5�[���F�P��
H�ve���{��i�R-rE��z7(�e-@�Aov4|�7�o�B�4�|vJE��L���O��Đp�8A�"E3�ͣ�,3|sNw�p�5�kZ�cր��X��h�G�f�f���ln�"�!��c5��	uC��͘�5ul�y�"�
��P�i�<�tr
-I����
�#k����D�����Nu)u
����a���ng�y�"|�'a>���t�L/�,�8F@���S���I��H�i��נv��/�� ��=�����0��CT�7�[�D�Y/@ҕ]g�q�Q�$�^(k>�%��	���k�չt

-w�%�Xz�� �f&�n˼���MOu?�����I���	8�C]J����@ľ�Z�0Z�
��'Y���ȶ0�ڴ�q�l�|�J�>a<m>�ɷ�~�n_�
��PK-
���ݗ)�z���
�h*��QfV4A&�F&Tv��12�+ j��=ī8b_�hVT
s	���!M��_�pg���D�������M�
#2�=PLfK
_��%��9�B��m�5
�'�啙r��U8����2
���쇁����]���3�F�5����A�FT�^4�`ɡ�-{��9�ݯ��ll�4�*.?(��8=>>�I�Vq�f(R#�J��Bq#��DP9c���2ɤ�!�apY��
�����f
-endstream
-endobj
-1792 0 obj <<
-/Type /Page
-/Contents 1793 0 R
-/Resources 1791 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1565 0 R
-/Annots [ 1734 0 R 1735 0 R 1736 0 R 1737 0 R 1761 0 R 1762 0 R 1763 0 R 1796 0 R 1764 0 R 1765 0 R 1766 0 R 1767 0 R 1768 0 R 1798 0 R 1769 0 R 1770 0 R 1771 0 R 1800 0 R 1772 0 R 1773 0 R 1774 0 R 1775 0 R 1776 0 R 1777 0 R 1778 0 R 1779 0 R 1780 0 R 1781 0 R 1782 0 R 1783 0 R 1784 0 R 1785 0 R 1786 0 R 1787 0 R 1788 0 R 1789 0 R 1790 0 R ]
->> endobj
-1734 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 719.912 270.727 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_cdbb5fd3fa1ab9faed26fc5be47cc0d2) >>
->> endobj
-1735 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.542 719.912 384.469 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1736 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 684.636 240.132 695.54]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_43a14864f62b4528d6c87856cba4da34) >>
->> endobj
-1737 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.948 684.636 353.875 695.54]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1761 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.842 650.559 330.976 661.463]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_3ff750009bec94ab2c9a01139ba22420) >>
->> endobj
-1762 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [334.528 650.559 444.454 661.463]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1763 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 650.559 513.996 661.463]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1796 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 638.604 174.668 649.508]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1764 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.129 638.604 256.61 649.508]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1765 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.803 638.604 351.284 649.508]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1766 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.394 604.527 277.987 615.431]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_e5845918fa5037ca4e9bdde4a4a3ecf2) >>
->> endobj
-1767 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.091 604.527 394.018 615.431]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1768 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [420.149 604.527 513.996 615.431]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1798 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 592.572 129.857 603.476]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1769 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.069 557.295 297.856 568.199]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_894587e76b98f15a8ae120327dc9d532) >>
->> endobj
-1770 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [311.635 557.295 421.562 568.199]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1771 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 557.295 513.996 568.199]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1800 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 545.34 174.668 556.244]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1772 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.837 510.064 277.739 520.968]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_2b4edec92d54747f5f1d2904407e744a) >>
->> endobj
-1773 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.286 510.064 393.212 520.968]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1774 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [418.089 510.064 489.57 520.968]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1775 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 498.109 196.576 509.012]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1776 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 428.26 309.441 439.164]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_e7dc964062c194e3ae8eef0a828164ae) >>
->> endobj
-1777 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [313.257 428.26 423.184 439.164]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1778 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 392.984 308.336 403.887]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_396b429302ce49ea9915778c317b81d2) >>
->> endobj
-1779 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.151 392.984 396.066 403.887]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1780 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 323.928 250.802 334.832]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_7397b715c2ccf3f6fcf2f3900efe10d6) >>
->> endobj
-1781 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.618 323.928 364.544 334.832]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1782 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 288.651 254.12 299.555]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_3789c297e202c735dbd829cd6cbed989) >>
->> endobj
-1783 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.979 288.651 427.906 299.555]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1784 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 253.374 259.101 264.278]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_086e697a92a664c83721e0c442d45271) >>
->> endobj
-1785 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.44 253.374 422.367 264.278]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1786 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 218.098 265.188 229.002]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_8190bd5fde521e37c585c5c59b65f90d) >>
->> endobj
-1787 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.004 218.098 378.93 229.002]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1788 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 182.821 259.649 193.725]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_ebfd121256089b1415f3bc6989c25bbb) >>
->> endobj
-1789 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.464 182.821 347.379 193.725]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1790 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1794 0 obj <<
-/D [1792 0 R /XYZ 90 757.935 null]
->> endobj
-1795 0 obj <<
-/D [1792 0 R /XYZ 90 733.028 null]
->> endobj
-1797 0 obj <<
-/D [1792 0 R /XYZ 90 621.232 null]
->> endobj
-1799 0 obj <<
-/D [1792 0 R /XYZ 90 574 null]
->> endobj
-1801 0 obj <<
-/D [1792 0 R /XYZ 90 442.942 null]
->> endobj
-1802 0 obj <<
-/D [1792 0 R /XYZ 90 409.688 null]
->> endobj
-1803 0 obj <<
-/D [1792 0 R /XYZ 90 338.61 null]
->> endobj
-1804 0 obj <<
-/D [1792 0 R /XYZ 90 305.356 null]
->> endobj
-1805 0 obj <<
-/D [1792 0 R /XYZ 90 270.079 null]
->> endobj
-1806 0 obj <<
-/D [1792 0 R /XYZ 90 234.802 null]
->> endobj
-1807 0 obj <<
-/D [1792 0 R /XYZ 90 199.526 null]
->> endobj
-1808 0 obj <<
-/D [1792 0 R /XYZ 90 149.039 null]
->> endobj
-1791 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F65 179 0 R /F23 144 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1818 0 obj <<
-/Length 1693      
-/Filter /FlateDecode
->>
-stream
-x��X�r�6}�W��L�B�`���qj'�-Og�d4��L%R%����wq�H�vlםN�DB�b���9 ����~�n<88	��8��7�{1��� N�7�y7~�H8
���^/'C��<ͪRV�eH����8�C��wrV
���l2ͳ����,�*/&U��(��iC�d*�륜K�Dfj�,�9~
�
8�=�
���������`������ճV^@�.���/�`��!
�:X��
��He6+�wo��ss�TҾ�l�i��y;ʧ��̪D����q�<"v@�,T���^L.
d�K�����B֢�s��0��+������Q��1���^�k3� ��1qs`b'��$��n�Ma�bfrܘ9b���SoD"����ҡp_Z,�;�a(t
={�1
-�p/�֮�W̘��ʘ,d�)�4�Ŗ�
I�ȟ���\mJ���UI�!�C&9��f�RYW���uwu
:�"
��0���^\��^~zwv|>��
__M�?�
��:���)ƈ�:��
��E

����/ii~�\�+B���,?cL��/՜ �m��#]�#BECP�m��E����ǣ㣾<
ږ����&x�Am0���
�*��T��Ž�%YnL�U�]�ot3�5��
�sфG�
)���ֳ �mn~��z���P�L���%�^�AT�.�
0?]�O�O�3P�&�-�4���[�B(�8�0��Ҫl�I���U��m�/7*�� ��#¼Q ���$:�$�8�D�;RS
@
�2qpˆa�ɼ��8[T8$���:a,�†�
d�0ځlG��e愭g[�3���0@��
��Ves9WE;�z

P-R7j�Y��#�`/`}&�>��|��t�d'
�c�{���
=m���-M�f��*�(
-�êi7�=��[��O�I�av��u�
4^T��ÒC1C<t�#,G�)���cSGuv����T�
-��d/�]ь�Uj�2��Y��>65o:
��
YFЍa
6 ��g�����5�u�&p{�N�SI�ti��V���^P��Ḍ���l�ޛ
�����!���IY���
H��r+��sB���	3n�"��q_d
i����r�J����ہ
8�z}��Z�wУ>Q��9q��\��g��`
>B��:��LG8�і���d�A�tA/%(�Q�B��}p����y�i
�t�@���CD�)&?�̀��A�Z�����Kr��Y�?��ބ��h�7d�hNJ���Y�"��bk>�՟��]a�f��ʖ�:��E��x8ϗ�\9��� ���]�
	�E�.m�-��)��Y75�L'w2��bȹ��j�0
EM�X�, at 8��UU
-Ҹ���Z�U�|�a�(�ha�`�
}��wʵs��B������?�fm�*;)4�Ր��J+-���e���c�ȫ��ba/�.u�}�E���p��E
�R�3��}!b
55�\��=Xu.ϔv~�+�M�:�ҵZ��!����V
8�Ӗ
.�*���[��C_�і^��̴J�e�W���$
�zzk��f(P

-��+M}�	h��W�*�Lj���)	�(V*���.}���,�-��y94SΒl�Iv�i�%`躔�O�7K��<�6���?�%s�*J
b�Q�:��+)-��=��A��E�Zg�j���`�ݢi�6Y�.PZ
@�
�����L�>��N�V���!�`p�Է
�<�
����
-endstream
-endobj
-1817 0 obj <<
-/Type /Page
-/Contents 1818 0 R
-/Resources 1816 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1825 0 R
-/Annots [ 1812 0 R 1815 0 R ]
->> endobj
-1812 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.557 167.829 500.327 178.733]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-1815 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1819 0 obj <<
-/D [1817 0 R /XYZ 90 757.935 null]
->> endobj
-1820 0 obj <<
-/D [1817 0 R /XYZ 90 733.028 null]
->> endobj
-1809 0 obj <<
-/D [1817 0 R /XYZ 90 716.221 null]
->> endobj
-1821 0 obj <<
-/D [1817 0 R /XYZ 90 716.221 null]
->> endobj
-1810 0 obj <<
-/D [1817 0 R /XYZ 90 590.626 null]
->> endobj
-1822 0 obj <<
-/D [1817 0 R /XYZ 90 576.166 null]
->> endobj
-1811 0 obj <<
-/D [1817 0 R /XYZ 90 429.43 null]
->> endobj
-1823 0 obj <<
-/D [1817 0 R /XYZ 90 414.969 null]
->> endobj
-391 0 obj <<
-/D [1817 0 R /XYZ 90 233.717 null]
->> endobj
-122 0 obj <<
-/D [1817 0 R /XYZ 90 226.739 null]
->> endobj
-1824 0 obj <<
-/D [1817 0 R /XYZ 90 132.053 null]
->> endobj
-1816 0 obj <<
-/Font << /F63 177 0 R /F89 447 0 R /F65 179 0 R /F50 143 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1851 0 obj <<
-/Length 1864      
-/Filter /FlateDecode
->>
-stream
-x��ZM��8��+\���F߶��|�V�٪�=MR���
��6C��۲d�0 at R9�	[����{�~2ؙ9����rԻ����/�tFS�ǎ+	�8�й����`����|�a at q?��<S���_�T7��M�͝
-���I<�$q���\�A���<�
�T������D��5U�+*�M�3�|�y��f���#`0vHa�p�˄3Y�n?c'��wF���u�k�p��w�|�����Y���[N�"	o��!,�������|Ϲ

-8o��9���uSt �eE�b5���
���
U�l�vԞF��OXན���3�P��x�K��|a��k�8o�puMY#T���#$����
-(G�G�>�(�Ic�zt��u��\�@��."��^��y����K�Ks�O္�^�Gړ���84��6ǹ��s��<)��]����ܾ�2�* �6�2�\��r�tj�E$"�/���P�!i�rH]���գ�N)���9���b@�aVO�0f`�v
�,��3�=��RH�����F��?�~0����X���,�^�L���\%�PK� ve06
��	��֏e�
�>{�a�D�1��t/@0&���x��)��,��s���t�{Yְ�u�� 	�'9�g�㷉��&�"ˢY�U@���'+e�0� ʟ
-�%Y:���d����ٓ&��;
zXZ����Щ�\�O���Lݳ�8��W�$�0�J1Bk����aO=q�a�A�b ���� ��fӃ�O�#r��B�eP��@��]�t��=Hy"��\..��R,Ts���e�
�g�̞����:_��(
�b���-'vW��Z/k�?�Zy�$U"��";�"��Ul9Y�2�Hk�I��*e��a��m[b^��������\3�^��*��7զ���\�
-C��`C�C�$@�!T1�q��k+�kI
�>+u��4.�$��Zm��Tӛo`w�[�G����٭����*hT#�(JNͦ�J��Ei�=��r@����
-�r3)Mٳ/����#*
#w£:u1�Z�P�ܯ�q<���f�.E������b(CWՌ��vw�.iQ���r5�G(7�G�{�!!+ev�
��;Qy�z���Y�N>?�'�C�6K|v�s'y��=w/����vB��~~$+�d΂�)fMœ������M(>/.�����C�
�P큋
�T��*�G�

�
G.c?.K[���!JV�9��0��K�D�Sq�t1�zn7��A�ݘ�%���
�#����4V�f�q�}�7*_�Z�1��6��2e�+s��S�����\�M���E�mU
�
up�Z���g��Ut��APT��
��P"O�CǑ�A��]�U ���sak����]��F�cq� 4�0��%Q/B�\�={x�.�FT����0�����_�^�<��*,��l�F�<J�:�E9be)6��eu[V�S�6`�>-u��a}2��Ю��-�.q�?
6y`j�V��[F���VԨ��u��<�~Q:~�� #�͵��
l2Y�L��m�
_-�΍C�
-z�O��JS����M3��y��/�&�PPlI����D�5H�߲@@z��Ί���AZ�]$kR���9�ִU{7li��2g�c{*��j��� �s��L�r��9��JܔB2�
��-	�b�#��EDͱ�f[�l����Zm�*�_K�f:k���4�;�+|��]����_
�Y�3�Q�$c�l��

F+����/i�n��+��}�V�̾o�X��`�\ Mg*}:Boa��?�v�Ls�^O	�1�1TJ�j@!�
0�T�1���W����WD���r��.ϗϯ���5�dhG�E��j� �
� h�_���k0l�����и(r��:�5M��
-endstream
-endobj
-1850 0 obj <<
-/Type /Page
-/Contents 1851 0 R
-/Resources 1849 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1825 0 R
-/Annots [ 1813 0 R 1814 0 R 1854 0 R 1826 0 R 1827 0 R 1856 0 R 1828 0 R 1857 0 R 1829 0 R 1830 0 R 1859 0 R 1831 0 R 1832 0 R 1833 0 R 1861 0 R 1834 0 R 1835 0 R 1836 0 R 1863 0 R 1837 0 R 1838 0 R 1864 0 R 1839 0 R 1840 0 R 1841 0 R 1866 0 R 1842 0 R 1843 0 R 1868 0 R 1844 0 R 1845 0 R 1870 0 R 1846 0 R 1871 0 R 1847 0 R 1848 0 R ]
->> endobj
-1813 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.291 719.912 386.001 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_bcb586fdbb2eb01ec10c0eb941f4b7f1) >>
->> endobj
-1814 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.001 719.912 513.996 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-1854 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 707.957 240.541 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-1826 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.22 672.706 473.043 683.61]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_0746b37f80c4be687b0dc5ded6190002) >>
->> endobj
-1827 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 672.706 513.996 683.61]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-1856 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 660.751 330.512 671.655]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-1828 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.989 660.751 513.996 671.655]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-1857 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 648.795 240.541 659.699]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-1829 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.278 613.544 381.627 624.448]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_8d39b1769491b0ee262118bfa31bcc67) >>
->> endobj
-1830 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.615 613.544 513.996 624.448]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-1859 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 601.589 192.402 612.493]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-1831 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.738 601.589 429.869 612.493]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-1832 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.079 566.338 377.826 577.242]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_dd8c6ae913a7e3f0a7e1470a23ba04a3) >>
->> endobj
-1833 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.615 566.338 513.996 577.242]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-1861 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 554.383 192.402 565.286]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-1834 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.738 554.383 429.869 565.286]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-1835 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.377 519.131 382.529 530.035]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_db6f375b8aad58a31f6a60abb7a9b1e2) >>
->> endobj
-1836 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.615 519.131 513.996 530.035]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-1863 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 507.176 252.167 518.08]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-1837 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.672 438.19 414.488 449.094]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_d69ffccc04d33132e31a91296afad78d) >>
->> endobj
-1838 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [427.87 438.19 513.996 449.094]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-1864 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 426.235 293.422 437.139]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-1839 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.44 426.235 403.847 437.139]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-1840 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.545 392.171 397.746 403.075]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_70541b12c8a9b281b3aa4f9c21624b3c) >>
->> endobj
-1841 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.001 392.171 513.996 403.075]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-1866 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 380.215 240.541 391.119]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-1842 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.531 344.964 404.386 355.868]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_bc4dd4b94a80075012b0f30b13339632) >>
->> endobj
-1843 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.628 344.964 513.996 355.868]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-1868 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 333.009 252.167 343.913]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-1844 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.701 297.758 411.46 308.662]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_62836b9156289bd880bf9f32056a4dee) >>
->> endobj
-1845 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [427.87 297.758 513.996 308.662]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-1870 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 285.802 293.422 296.706]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-1846 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.07 285.802 513.996 296.706]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-1871 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 273.847 189.622 284.751]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-1847 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.557 184.005 500.327 194.908]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-1848 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1852 0 obj <<
-/D [1850 0 R /XYZ 90 757.935 null]
->> endobj
-1853 0 obj <<
-/D [1850 0 R /XYZ 90 733.028 null]
->> endobj
-1855 0 obj <<
-/D [1850 0 R /XYZ 90 689.404 null]
->> endobj
-1858 0 obj <<
-/D [1850 0 R /XYZ 90 630.242 null]
->> endobj
-1860 0 obj <<
-/D [1850 0 R /XYZ 90 583.036 null]
->> endobj
-1862 0 obj <<
-/D [1850 0 R /XYZ 90 535.829 null]
->> endobj
-1865 0 obj <<
-/D [1850 0 R /XYZ 90 408.869 null]
->> endobj
-1867 0 obj <<
-/D [1850 0 R /XYZ 90 361.662 null]
->> endobj
-1869 0 obj <<
-/D [1850 0 R /XYZ 90 314.456 null]
->> endobj
-1872 0 obj <<
-/D [1850 0 R /XYZ 90 229.131 null]
->> endobj
-1873 0 obj <<
-/D [1850 0 R /XYZ 90 170.793 null]
->> endobj
-1874 0 obj <<
-/D [1850 0 R /XYZ 90 148.481 null]
->> endobj
-1875 0 obj <<
-/D [1850 0 R /XYZ 90 148.481 null]
->> endobj
-1849 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F23 144 0 R /F72 202 0 R /F65 179 0 R /F89 447 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1903 0 obj <<
-/Length 1858      
-/Filter /FlateDecode
->>
-stream
-x��YI��F��WP�U�zzڷıS�
gR9ة	#z4�d@��_��
���fur�E���~o�� �L������X ��h\\qD��$�Ȃ�a�H<��q�Z�?O)��lպ���p�j=��M���S��Uy���N۪�l��tF_�0u�Ε
�Q��,V��J��B!�\|;yy1�8! *�M�(f"�/'o��A��1��jp��~��2�NM|T�D"�y���[��F"LA"�y�xn$�H��xg?IP�e0#0%���S	zq*M�Sޞ�!
��/�a�7����tA
�+E	���!��{
��-�˩i󢰏Ք�pS�����iǜ�+����.��ޫy�|:c�.��nӵ�2�J�n�z
倨c
-ƲK����LD����d_��e��y9�8�K�O�<K[��y��h:B�?T����� ,?1%�`*����DTzc77պp�� B%Jd����B�DxVWʪ��B��f�נl�;�8u;_��Z�s��H�pG�*i�2kG�9�@<k��2�ܨ҆�ai� #�����]� KT�	Ѕ@࠮�{��Ϫ�z��6uh�����Sn�Z��3r��ԙ�@SS���@��(�h^�w�B��`@@H���
�vFxG��_�v& k��ܓ
e�'�d�F�]8�h2����r�!��Q���#��ەrM�Ζ.R��s,o��y��]*r��kG�Rg�z���cRm
o�
,i#8��Z�}��h$�@E~�H4*�QE��W^�[M�
�cժNô��6n2�݃�b�T�+Ul��ٓ�O�{� a�N�@��׆�Y���!���>�s_+��d�a�
�D�4��/'�ʼn�_�������Cf��6�Qv'�23�'A<J�����v`
:(�������#� [...]
-�C�4���RRBQ��~vў*���kШ�G�"�<��S�x,
Aƣ�"�R׌�xd\<�G�8.�I8
�s���#�����9w�s˽��
�,�����"ŷb^����
b3ˆ�^��0cQ��7PMP$���'LX�=:N(�⮥�;�ʤ�E^
8^S���zl���I��Ӑ^5wO�]����M�/��	�u���$�iFaC��s���j��y���BW�lɾ-/©�ط�]k��4���
�w_6t#�B`�7�+3P�E �w�'� .�
Uf �iS�|$�G��h_�M;���R�S��E�����Q��S�CRZ����4���@?�E<�+w�| 6�浽�qw?� ��z;���we�>�6<������>�w̚�m��U�ڊUUf>/���n�wD�=�����Re�N�b����f{�s~GN�`�	��SƬj_�+��j���ѹ���9g�tgnpZy���['��TR���(�
�U���e�֊w�)�������Q��h��Ԟ���jQv�pv�C �Œ����l1��k�_j��%���q�cQ���t�{~[�xQvc����Bq]��U�}��8A"⃋�=���O
x<��
-7��������Q�o�|��P�O�r��j̭G�n�@$(�w ����^$v�L��4�zw}���O�> 8~���I�
z$@�)A=
$�/��.��]?��`��B�~�	�w?�0�l��z�s�^�Ծ�>���zk/���r�Nn�������Q�S!��n�!-���w���Wc/�a#hX�6�_�x���j�����{�nb��
A�O�7m�z~~��lмA�2_�(o��{�u�'B ���-��̠��U�f
t�K�\��n4��?l
��
-endstream
-endobj
-1902 0 obj <<
-/Type /Page
-/Contents 1903 0 R
-/Resources 1901 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1825 0 R
-/Annots [ 1876 0 R 1877 0 R 1878 0 R 1907 0 R 1879 0 R 1880 0 R 1909 0 R 1881 0 R 1882 0 R 1883 0 R 1911 0 R 1884 0 R 1885 0 R 1886 0 R 1887 0 R 1888 0 R 1889 0 R 1914 0 R 1890 0 R 1891 0 R 1915 0 R 1892 0 R 1893 0 R 1894 0 R 1917 0 R 1895 0 R 1896 0 R 1919 0 R 1900 0 R ]
->> endobj
-1876 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.035 569.601 476.806 580.505]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-1877 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.297 467.279 372.995 478.183]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_7e3f8c5b2e614c5d18783c2ef7b092e1) >>
->> endobj
-1878 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.001 467.279 513.996 478.183]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-1907 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 455.324 214.528 466.228]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-1879 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.059 419.34 407.858 430.244]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_98e7f050a579e9deeb71a75758238928) >>
->> endobj
-1880 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.628 419.34 513.996 430.244]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-1909 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 407.385 226.155 418.289]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-1881 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.136 407.385 470.267 418.289]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-1882 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [159.477 371.401 375.814 382.305]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_79d1cb9751d21f7b364c4c41c4715737) >>
->> endobj
-1883 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.001 371.401 513.996 382.305]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-1911 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 359.446 180.776 370.35]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-1884 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.112 359.446 392.23 370.35]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-1885 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.093 323.462 346.828 334.366]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a82f0fc73b5f98fab74070ee92a100cf) >>
->> endobj
-1886 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.63 323.462 513.996 334.366]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-1887 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.933 311.507 336.051 322.411]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-1888 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.57 275.523 363.709 286.427]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_acb1e10c50be6e9dd36e3aed93c7a222) >>
->> endobj
-1889 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.989 275.523 513.996 286.427]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-1914 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 263.568 214.528 274.472]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-1890 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.05 192.568 380.855 203.472]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_1785059acd1bf60dcf4cda0044cc94b5) >>
->> endobj
-1891 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.615 192.568 513.996 203.472]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-1915 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 180.613 226.155 191.517]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-1892 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.173 180.613 336.58 191.517]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-1893 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.551 146.182 384.74 157.086]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_64b1a8e66388915a57bfd0b53a2e46c5) >>
->> endobj
-1894 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.001 146.182 513.996 157.086]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-1917 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 134.227 214.528 145.131]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-1895 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.724 98.244 385.567 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_35180fb6d38a29d74f5992815fbdf006) >>
->> endobj
-1896 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.001 98.244 513.996 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-1919 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 86.288 214.528 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-1900 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1904 0 obj <<
-/D [1902 0 R /XYZ 90 757.935 null]
->> endobj
-393 0 obj <<
-/D [1902 0 R /XYZ 90 622.82 null]
->> endobj
-126 0 obj <<
-/D [1902 0 R /XYZ 90 615.539 null]
->> endobj
-1905 0 obj <<
-/D [1902 0 R /XYZ 90 533.912 null]
->> endobj
-1906 0 obj <<
-/D [1902 0 R /XYZ 90 482.427 null]
->> endobj
-1908 0 obj <<
-/D [1902 0 R /XYZ 90 436.221 null]
->> endobj
-1910 0 obj <<
-/D [1902 0 R /XYZ 90 388.282 null]
->> endobj
-1912 0 obj <<
-/D [1902 0 R /XYZ 90 340.343 null]
->> endobj
-1913 0 obj <<
-/D [1902 0 R /XYZ 90 292.405 null]
->> endobj
-1916 0 obj <<
-/D [1902 0 R /XYZ 90 163.064 null]
->> endobj
-1918 0 obj <<
-/D [1902 0 R /XYZ 90 115.125 null]
->> endobj
-1901 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R /F23 144 0 R /F72 202 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1932 0 obj <<
-/Length 2092      
-/Filter /FlateDecode
->>
-stream
-xڽY[��H~��@� ��u*�4�Lv�3��*IԢM�f�8�ί�S7
wwi��0Eթs��s�� �Z�p��z�@"�8�^IL��$�΃wa�H-	�8��˛?"�ú��Vu�%"8<�F�pC��V�MDҰ�n�l-���OU��u�R���Z+3GUz��h(����ϋ�T�1*�%L����
�0�s��ip4�v�
�e�f��;�OcnB�̍�6�p�(�L(C8��j�D,	�N��Z!p���
��ۙ�Eg���<L����6w۬��
-��no������sN�[E""�OE}h�h^�
�U���.Y{�J�Ad�)8,��Rs��������R@�A'7�#�l\(^�		�6�D�#*I� �_@ȳ�nn��CV�t���ii���3{���.��K��<N�#$�
�*gh��=�l�	�#:|�V�`-���Yr"�00��8q&�Vݡ� X���>�u[t�'e�@;q
n40aK�ȰXۏ&�̬N�O�ZM=�I\Ս͸v_WyQmܲz��Y��w3(HQ��~BV�3RH�R���s����I�FK�Eh����3p����"@�;rGڍrX�9JϬ.�mB� 
�'KNP*��C�ϱ�K�eE�r�䗪]5ž+��Z>�,�8b.��(~�W��;͏�����PG1:
M
�+�0��"n]�vr� �Y��!r�gc
E8!OQ�WM���i�����*�λ�3�9�^
4egޝZ�}$4�]򵕭�y�
-٤�	j�m@
�=�^�!c}�Ʈ�r�R��I<�N#�
$��3�E��j���B�B��q���{�ٌ:	�f7'�х#���K��$�[���R�56>�@fI� ��2��)����сig���y=�.�w�)N��������6Ku��7�=���
�N��9̛ӕR�I'

�*�L?aL[S�bR!1(�����ԝz>Y5�02���aA�?�j�4�$�"n��f;�l���9;L���@xVxUWK�l�`�5R��,��p[7â�Ͷ�o�`�$�G6mA�?�g,1�{��.�V�OS�g��g�$��m���øD�`c
06�4�U���*��;t�m�^��nb֘q�TVuv̦
|+K�����ԧ$���KW�'�ԕ�~�
[���ن�GE$5|��=�#��{��M��� P��5�١�(�Xi�]v
a�(����rv���q��T2]��Ð��?���(�� ���4�ȓg~�N��6�wE����ӝ�I��)�'�Ct�"���`��+�����Q��
-{�(���
����)��_��瑦
K�G��>d����=��P���'L
mbp!	"R�3�n
�2�{�P
����ge�Ce��
X���Ս���d�c��*��US�DT��n��ʹ����Uճ͈跺U֔
�`��bR��?s�`�

-���d��h�
�R�<��U��n1Gq<��V���l�êG�(> �� +LHȥ1����=�F�ظ1�aa�t��_

͛��Q�f9�z7�s]{r�U�TPN*�>fp��^a�>|�}q3�
��]d�Dj���d�tw���/�xX���N
�Gg��1�;}�� �}�ŧ� ;ӿ��ۣ+��L�)�w�]
�r�2�ݭj&����#���{�3�;��]��&�]�ϼO����.+��
C\_��7}���L�SOo��T�M�zӨ�`3n�
4��xm������ 9w��o��ş�@��>d�u�,�~���.���48v~����A['���&w����
�IN���@I<�k0�
ܾ��#?TyV}�
#�	����~C�
-����m��,;��o����Bv�>Vk6{t�p4`���<r�>��i??5�L }Etc��|
�U_	f�� _�S_��ф=���İ_�8�3INP�N��4�� �Uи=���� �j�[����
B"H�a��抴��"�=-e���m�5��兝�kVm�ƭ�i����[��#B߸��e��`
��u=jk�&�
Au�������n=�w���0^>�E��=a|�u��WW���Zt��}���
-�pu^NBp��}?k;݀צނ
E�;�������
-endstream
-endobj
-1931 0 obj <<
-/Type /Page
-/Contents 1932 0 R
-/Resources 1930 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1825 0 R
-/Annots [ 1897 0 R 1898 0 R 1935 0 R 1899 0 R 1921 0 R 1922 0 R 1923 0 R 1941 0 R 1924 0 R 1925 0 R 1942 0 R 1929 0 R ]
->> endobj
-1897 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.079 697.271 377.826 708.175]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_be46bba93c5ddcf4cf4cafdb0d74f942) >>
->> endobj
-1898 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.615 697.271 513.996 708.175]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-1935 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 685.316 226.155 696.22]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-1899 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.616 685.316 459.746 696.22]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-1921 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.035 594.435 476.806 605.339]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-1922 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.395 159.329 363.884 170.233]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_26a124537b8995832b2cb157abc7cf07) >>
->> endobj
-1923 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.989 159.329 513.996 170.233]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-1941 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 147.374 180.776 158.278]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-1924 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.136 111.058 317.224 121.962]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_0bf696420bbdc5c2ef0993f61f2273b7) >>
->> endobj
-1925 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.07 111.058 513.996 121.962]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-1942 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 99.103 129.857 110.007]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-1929 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1933 0 obj <<
-/D [1931 0 R /XYZ 90 757.935 null]
->> endobj
-1934 0 obj <<
-/D [1931 0 R /XYZ 90 714.235 null]
->> endobj
-1936 0 obj <<
-/D [1931 0 R /XYZ 90 639.562 null]
->> endobj
-1937 0 obj <<
-/D [1931 0 R /XYZ 90 580.984 null]
->> endobj
-1920 0 obj <<
-/D [1931 0 R /XYZ 90 558.672 null]
->> endobj
-1938 0 obj <<
-/D [1931 0 R /XYZ 90 558.672 null]
->> endobj
-392 0 obj <<
-/D [1931 0 R /XYZ 90 315.269 null]
->> endobj
-130 0 obj <<
-/D [1931 0 R /XYZ 90 308.246 null]
->> endobj
-1939 0 obj <<
-/D [1931 0 R /XYZ 90 226.544 null]
->> endobj
-1940 0 obj <<
-/D [1931 0 R /XYZ 90 175.014 null]
->> endobj
-1930 0 obj <<
-/Font << /F63 177 0 R /F72 202 0 R /F65 179 0 R /F50 143 0 R /F89 447 0 R /F23 144 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1963 0 obj <<
-/Length 2120      
-/Filter /FlateDecode
->>
-stream
-x��YYs�F~ׯ�ۂU�s��>�Xo9�8YG[�`�TCbD!! M)�>�s  	J��JR��Bpt�t}L#
-VA�������ۘ�bWAIL�d4�ȃ�aBh:��(�º^_�8cQXe���
f4
-w����nj}{��fFӰ*/;��͙��we��+��v�A_i�G�8Ei�Y(���o��qq�����dB.������(�a�� "<K��ٵ	��\?���,r�;�4ǖ��ؔ&$
-	e�F�=�'Ƥǿ|�KP
�M�x�����l�&VU����#9��jV���)�j���\�*e�`�����;H��� �F2)���#�e~�dtRj#�*��!bwS�o^��I���
챢�#��Qt
�{
�y�6a��,���� 4�@��L����m���xT�QWm�_
HAR=Q�B�\��ߺCG!ȏ"�+�1G.�U�f7v˞P:�7X
#DX.K�a_
��q

-���N0���~��f3�I8VHdUw��]�j&�T���=������g���'y�`��*��V���M�s�T8ANx�����U�I"���Se����p*��*��y���-���A:�{�\p�u{���
#/��T�����1pX�
-����	� �(ꡫ|�
X+�"c
0�%I����ί
�1�@� '(��>�8L0⒈ލ�����ê��)^`��{ ���d�
o����Ûf&dX�����7���4��5I��5 lZ�=2`C��Ԓ�%�Ṹ��Q�d�����Xޅ���q�gm[�ʢ\Y���.2�
^<MO��yiE[`
@{���Q��{U�����JS)�������8�,�#0�>*�G�EJp8H��;
dq�\� y}�"ִݝ
����	R``X���B��+4���k��ڗs�z?[��+IH��pU��'�A
�b�DS #������"�I�d��&7��6צ��z��$~w��ꎵ*L�z��|�ԇ�
�?� |
-6����L��圈"����~�k��V)�����\����e6l�Y^������{
^ܬ�5�A��V 
Mm�1�a���Z�¶��@l���en'���l�6�2�
�"&q���Y�
wo[�aX�+^��¶,�����^�@IV�PPHZ}ǑP�s|�;U�Mf�8j�MQw���x�:&NԋY
-�Z�
i�\����
Us7&a�_�����,~֠|�G]��:�^ e��b� ���F(
-��%8�p�a�SeW(Sۘ�[��S���j��mQ���,q�Xb�qk���gtd[�A>K�^�@q2��\2� 
�_�_�U-����L����q����v��ZvjU�B2l��m^TV�����)���K���/�$z�7����ZLx��}L
�+�I6�nt
�
kj/f��H��k���O�jq�	Ok$�b�Qk��.��za�\Z��B�b���+{Dž-m��H
-T0m6(}��"7Jf�/<�=o1��ՠ�q;�\�
-�T�X�i�C\6�?�p4�R��v�P3>��0��[��r�EngYM����0�G�W���сK2A ��Z������S���7��1��<�ji���C�Fq��Q�U�خU�
1#��E�
u&�M
tk�?�L{�Fm���m
	�
E
"
K>�����;6�
�u��C@��(�3��6�.}�䥗�^;S��S���{�wJ�yK��X�@"�c�W��o�Q@
�J�{hMW�ĬʠTT&3'�ay��Ք�ý �
����f(Wɇ"3�L"��/��6�35�|ie
-��3������Z��D~�S�qu\����~�=�j��H���w���\��,|����!=u�(&��z�
����
��ȁB�0�
[Ib���U��9xm�CJ
-/�$C�w��N�MJ/�臍���
�
��2W��W\*t�������{[�~�U��A���P���a�G֘d	Oݷe���bT1��G���l0�r�W�ʮ~W,����k��;U��j�޷��m��������
+	������~n��e�a&#e.��D$Ÿ���X
���:3������u��ߜ��v;�l	�uC��
�����"P,��jb9��L��3%LnL
<����Sf
-endstream
-endobj
-1962 0 obj <<
-/Type /Page
-/Contents 1963 0 R
-/Resources 1961 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1825 0 R
-/Annots [ 1926 0 R 1966 0 R 1927 0 R 1928 0 R 1967 0 R 1944 0 R 1969 0 R 1945 0 R 1946 0 R 1970 0 R 1947 0 R 1948 0 R 1972 0 R 1949 0 R 1950 0 R 1951 0 R 1974 0 R 1952 0 R 1953 0 R 1975 0 R 1954 0 R 1955 0 R 1977 0 R 1956 0 R 1957 0 R 1978 0 R 1958 0 R 1959 0 R 1980 0 R 1960 0 R ]
->> endobj
-1926 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [169.661 708.953 513.996 719.857]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_eb8456ecf06307c108046a8c665154c9) >>
->> endobj
-1966 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 696.998 173.025 707.902]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_eb8456ecf06307c108046a8c665154c9) >>
->> endobj
-1927 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.898 696.998 369.276 707.902]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-1928 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.615 696.998 513.996 707.902]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-1967 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 685.043 192.402 695.947]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-1944 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [169.91 648.181 513.996 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_024a52502b35029ff2ba102323d8ae5b) >>
->> endobj
-1969 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 636.226 173.025 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_024a52502b35029ff2ba102323d8ae5b) >>
->> endobj
-1945 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.898 636.226 369.276 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-1946 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.615 636.226 513.996 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-1970 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 624.271 192.402 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-1947 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.888 587.409 373.403 598.313]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_91f0ccf4325f53430d7347ca73182f52) >>
->> endobj
-1948 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.001 587.409 513.996 598.313]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-1972 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 575.454 180.776 586.358]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-1949 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.112 575.454 294.518 586.358]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-1950 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [159.951 538.592 375.341 549.496]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_ae5f47efa7c023e45aed9be161dce99f) >>
->> endobj
-1951 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.001 538.592 513.996 549.496]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-1974 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 526.637 180.776 537.541]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-1952 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.211 526.637 428.342 537.541]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-1953 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [453.882 526.637 513.996 537.541]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-1975 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 514.682 267.41 525.586]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-1954 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.013 477.82 377.278 488.724]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_1b2ee4d834f0651a41647ac5b5e0f912) >>
->> endobj
-1955 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.001 477.82 513.996 488.724]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-1977 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 465.865 180.776 476.769]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-1956 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.98 465.865 431.111 476.769]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-1957 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 465.865 513.996 476.769]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-1978 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 453.91 304.5 464.814]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-1958 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.705 417.048 380.586 427.952]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_b595ea1166752d23aba600af43417bd8) >>
->> endobj
-1959 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.001 417.048 513.996 427.952]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-1980 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 405.093 180.776 415.997]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-1960 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1964 0 obj <<
-/D [1962 0 R /XYZ 90 757.935 null]
->> endobj
-1965 0 obj <<
-/D [1962 0 R /XYZ 90 726.054 null]
->> endobj
-1968 0 obj <<
-/D [1962 0 R /XYZ 90 665.282 null]
->> endobj
-1971 0 obj <<
-/D [1962 0 R /XYZ 90 604.51 null]
->> endobj
-1973 0 obj <<
-/D [1962 0 R /XYZ 90 555.693 null]
->> endobj
-1976 0 obj <<
-/D [1962 0 R /XYZ 90 494.921 null]
->> endobj
-1979 0 obj <<
-/D [1962 0 R /XYZ 90 434.149 null]
->> endobj
-1981 0 obj <<
-/D [1962 0 R /XYZ 90 358.806 null]
->> endobj
-1982 0 obj <<
-/D [1962 0 R /XYZ 90 205.081 null]
->> endobj
-1943 0 obj <<
-/D [1962 0 R /XYZ 90 182.769 null]
->> endobj
-1983 0 obj <<
-/D [1962 0 R /XYZ 90 182.769 null]
->> endobj
-1961 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F65 179 0 R /F89 447 0 R /F23 144 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2014 0 obj <<
-/Length 1905      
-/Filter /FlateDecode
->>
-stream
-x��ZKs�6��W�Vj&��$���h�N�4�&�)�h��9�H�������_�-;V;�L.B�����. �`
�������ŋ�1�#�WA�$(	.W��P"Ogc
�v���)�a���NW唨��u��Ψ��˼N˫d���w�Uj椹"��P���W��.'N��b>)$�L����'
�`�U��Up0���
�M�~��w�x�>eGªy�Y��6��Ί�]����Ye{�1aJpؘq0O��:��2�ӕ�P[/"�B7�bJEx�r痏�M���5H�8SL@"�Vُ����3��/zz�U�UO3+G��������8"J�w���z�Ơ<G����S�Û]�<���G�|�}^
9�Y�m���ŕm�)o޸�%�
��)a��|��;gT���Te
�@�.ݴk���契��o�:�$ucJ���u�½ܦ��i9�Q��Ծ
hN`)%s0q��A@]�uQ��cUe�\��}P#�{|>��=
����Oˆ���O7�	]�
�ߙ	�Z���� [...]
�r��o���v+�
�E�.e#E�r�����s+���v�O�/bF�F��LO��1MHC��ʪ�#C

�4!�v���'�
-ԍx'�f1w��|�mV!R��m��d�r�hc�y��V�(�_q�ܲ�Sz�H�x�[�Kz(�:���^��Mj�ua۬vs|�%��L�jT#�����	�"a����3�D��jT
�X#ͬ��<#=7+���4�t��[F@�
Y,ai0��E�+�z�<�J��Ad�M�;ln\賂��u��:]e���}N;8z��+�.D+H%
p�m�Ll�ϳ/:��G����(@o	*3JQĉic�V�ĉ��
�7??cT!aF�U ��h���އ�����­:�в���0�a�+�
�0OG��1��gx���,v7�W�2�C��
��y��l���Jo"��N��^�r���N�TZ�
��cFy��p4�fD ��S����ۈ�1��:��b����� ��nc�����'��礔
��QjƢq9�N˰�,f�3
�1�N��9���ck_��)��j>�RH�xS����W 圩J"��X +!Z
i+`����S	������q�-�o�p*��/4����E#�0�u�3x���_Tvq̠)��56�Z�6g
���0��ƠʠBe��9����O�i��j(ză�]��
�>���)#���n6*�$&���od!�qE

գjEv�
�L��m7�M��`ܠ�tdgݐB��*:g�c,h0k� q
�߿�A�#
`�e�A=6���z����
��i�㉨�i"�{�1$A�DT�v�Q
�D�L�'��"�w��--︄�����^�����\q&v���"�m2�c�(�<���^�:��?-���󂟏~��G6nD ��������ڒ�
=Ý<��Q+��<Ȉ�20��A�l�9�u��R���ƩG���
��
ت��@�ϓ�?55�9��
(�����J4����n�iIg�
�}�G�������Ìa�2o����.�q'��<=v����0�p=��~��O���� Ky*�	�?��h26�L=�d>���Y�>�|1����
0mbH�-̓�+�׏�����;KG
%/(O#��#Ǫ\>����cU�chw�ѹ$l��(
U6�
��Xbm�77��-�l�����~\bޘGʠ����
"��2�^��	���䌅oM]nM���:'����s��7�an��N��>Y�߿
ܠ���UZ�0"��~M�}���4��]nYًy�HM5~�]
����_�Y���/���.��M�����Ӌ��ဖ��ٮDY} �8��l�������j
n
s�
6d9
n�?��
��o�Bks
-endstream
-endobj
-2013 0 obj <<
-/Type /Page
-/Contents 2014 0 R
-/Resources 2012 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1825 0 R
-/Annots [ 1984 0 R 1985 0 R 1986 0 R 2018 0 R 1987 0 R 1988 0 R 1989 0 R 2020 0 R 1990 0 R 1991 0 R 1992 0 R 1993 0 R 1994 0 R 1995 0 R 2021 0 R 1996 0 R 1997 0 R 1998 0 R 2022 0 R 1999 0 R 2000 0 R 2001 0 R 2023 0 R 2002 0 R 2003 0 R 2004 0 R 2024 0 R 2005 0 R 2006 0 R 2007 0 R 2026 0 R 2011 0 R ]
->> endobj
-1984 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.801 531.725 336.353 542.629]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_da9021952b7c7ad4ca6fc4ff082ec9fe) >>
->> endobj
-1985 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.864 531.725 415.258 542.629]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-1986 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [444.478 531.725 513.996 542.629]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2018 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 519.77 144.243 530.674]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1987 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.223 471.95 332.716 482.853]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_bedffb6a2f5b2473d2d2ac9d448c65d9) >>
->> endobj
-1988 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.649 471.95 419.043 482.853]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-1989 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 471.95 513.996 482.853]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2020 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 459.994 180.776 470.898]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-1990 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.413 412.174 401.265 423.078]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_418a9f96c3df4cf69bc399cd807eddeb) >>
->> endobj
-1991 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.388 412.174 483.782 423.078]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-1992 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 400.219 224.501 411.122]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-1993 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.924 354.39 346.688 365.294]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_d6512d0d60c017982bd8031e9b8df336) >>
->> endobj
-1994 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.321 354.39 428.716 365.294]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-1995 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 354.39 513.996 365.294]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2021 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 342.435 210.673 353.339]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1996 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.869 296.607 359.878 307.511]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_b27e9641bc6946aef6e3254d28c6fab4) >>
->> endobj
-1997 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.457 296.607 445.851 307.511]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-1998 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 296.607 513.996 307.511]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-2022 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 284.652 210.673 295.556]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-1999 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.365 238.824 351.754 249.728]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_703c5d92387510c5cbf8b0f1da3029b2) >>
->> endobj
-2000 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [358.829 238.824 432.223 249.728]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2001 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 238.824 513.996 249.728]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2023 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 226.869 217.298 237.773]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2002 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.31 181.04 364.945 191.944]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_9d9b8361c659cadd31afb61152ccf06b) >>
->> endobj
-2003 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [375.964 181.04 449.359 191.944]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2004 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 181.04 513.996 191.944]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-2024 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 169.085 217.298 179.989]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-2005 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.162 123.257 341.213 134.161]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_bd393bd3febd678f09a51a0364756787) >>
->> endobj
-2006 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.084 123.257 427.479 134.161]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2007 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 123.257 513.996 134.161]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2026 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 111.302 180.776 122.206]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2011 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2015 0 obj <<
-/D [2013 0 R /XYZ 90 757.935 null]
->> endobj
-394 0 obj <<
-/D [2013 0 R /XYZ 90 688.32 null]
->> endobj
-134 0 obj <<
-/D [2013 0 R /XYZ 90 681.72 null]
->> endobj
-2016 0 obj <<
-/D [2013 0 R /XYZ 90 599.896 null]
->> endobj
-2017 0 obj <<
-/D [2013 0 R /XYZ 90 546.804 null]
->> endobj
-2019 0 obj <<
-/D [2013 0 R /XYZ 90 489.05 null]
->> endobj
-2025 0 obj <<
-/D [2013 0 R /XYZ 90 140.358 null]
->> endobj
-2012 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F23 144 0 R /F72 202 0 R /F65 179 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2062 0 obj <<
-/Length 2359      
-/Filter /FlateDecode
->>
-stream
-x��ZK���ϯ�-��o��)��]v
�vrZ�T

-�X�D��F���4� )J��J)W��"<4��u7 �h�����7w_i�$�\G��(��ь(΢�Y�)6���F)������[N�r�����%q��6��v����4��g����vn���]L
-�����oo�~��
h����#T��o>�J��Q"�$��Q�Hr�*�x��

����aTfDd� T+�ӇrS7�.oʪF^��
+��b�Y�M���-WqYa���?��o����+E�D��NT*p�_8W�)ѧ���$v;�T� ��� �L�忱���Գ� 
̫r=�� �� ���/��ƿPE�]5�Sm���%+�!���	�E�pÏ I��v�v�|��
%c���M��` �MR4�mn�<m����f�PWE�A��6O�m6�o��(v���Bk��ތ���]��9;��K?V��)H�L���s,� �T��4�P
���/�Hj�h�@t_�=�f	_W�M�eф1�4q6&��a.��1�#R�]���4a
��v"(����Q�`��
�u0B�C�w&Tԭ��Y�{ �Zk��h�TC�
�@��)*`���XlSh��#x�g���
�56��D�з/V+�=���
�K�]�Ӹ��湙�M��<#�k;�0��g<
H�hɰL�>F&�U3�;^B&��S"Sq=���
���w^�Bg�f4�y���d���r(l�PO=�]�
��ɉ
���ҡ�Պv���v�� Ԋ0��k
є�N
�Z��1�Ji�bܪs�/��`�� X��tS�sL^�(G��՘��)I�|��z
�tBT���
��䍈��f	�ޮ�H�]��<\6o�&���'�ݓa4}~��+w��{���8�Er.�ItF�_��>Fv�D*_�
�2�3��T7v}��#r̀ƈ瀊�*)�X at K@�Gy��N�q��o�kc�2�[.�6��03�I���38�B�6&��[HX��.�v���+G��i�L!�M{;��13�M>H�
���>::N=���5�!���Tg%�Y�v/#�]E������Y�!<a���%V6w�{�W�u,:ZW�"
'
3��b
-

^A��!�P�aс�5��ͩ��G4�
Rl؅�'�Ԩ_�'\����'Q/�P�<�{v�
t����0T`�*��	��X��v���9"׌��(y=�q���B8ARu���F���P`'�A(m�)F�3yx��F`�������A(�n3����W��P1��@����_[��.:}
��i
Le�
�&Z�7���1��U�Q)���z�<��A
�
�����$Ї(� 

��� |<�Ѕ!*]���P��A��e
�Gy�#��~] �1 
rw �B~��D4�̿�|���E�g`aV7/]O���C�ȥ�kw'u�_r9�`���o:�}���J
�tjFc/
�؝~��1kI��C�����E��"��[�^����	O51�zB�i�=����.3��ѣ8Ɇ/0���{
��,��?lm�y-���4���@gg�b�c��@h'

�p�*j����"�qʃ]��[#�C�H���<`�_=��l�^�JllQ
n�Ǟ���qt��H
6翴|�[6�=�G�= ���]*BӸ��l��k%��
�\ۦ�.@����6�,����j����.�B�<�p0L��?�h �T�w�h�'0roαx�M�׉���H�A�{�H���몘M�
M�
uҿP{|x}v'q?ilXO��ߦ���N��ߧ�
-ܦ#
�69qޅ�N4g��*7J�����(�5���k��3KX����&t?f�*{X��
�P ֺ��r�I䡍y-g���@�4aVoV�:V
t��dl��>=�
D�G��k=�ul7��v��m�` ��]\�i��
�$�[!�߷�G� :�@*��#�
G�.v�
��؞
;lڿA`
p����ɥX��<�ṵ�L at v�E��F�Ԫp��Y���v��=�5�uH��W���
��N/z�Q�,��	B¯z:f���z�y�ǎǐw�����3�>��K!$^�J���AشA���ip�n�^d���]��S%o��"w��ǯ�z����4�Nk殮y=�\���h�{�I���Z��5���
U��p̾�/
gf�&�O�.���㥁
K�����+�;�UF$�i*%JI\
� 
�D���X�p�_�'�������b�-�|�ۚ���t���՟�ϭq�?���;1��P����5�T�CdT�m��$��oQ[�Ǎ|�/U��x�4�?����{��d�)�)�; �ݩ�0@�J;̈́����e���:י
SC����
W}7&
-endstream
-endobj
-2061 0 obj <<
-/Type /Page
-/Contents 2062 0 R
-/Resources 2060 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2077 0 R
-/Annots [ 2008 0 R 2009 0 R 2010 0 R 2065 0 R 2032 0 R 2033 0 R 2034 0 R 2067 0 R 2035 0 R 2036 0 R 2068 0 R 2037 0 R 2038 0 R 2039 0 R 2040 0 R 2069 0 R 2041 0 R 2042 0 R 2043 0 R 2070 0 R 2044 0 R 2045 0 R 2046 0 R 2071 0 R 2047 0 R 2048 0 R 2049 0 R 2072 0 R 2050 0 R 2051 0 R 2052 0 R 2074 0 R 2053 0 R 2054 0 R 2055 0 R 2076 0 R 2059 0 R ]
->> endobj
-2008 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.356 698.319 358.294 709.223]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_52e2499c42a9be1e527642cbfb16ff8c) >>
->> endobj
-2009 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.36 698.319 444.754 709.223]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2010 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 698.319 513.996 709.223]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2065 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 686.364 190.738 697.268]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2032 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.453 638.976 354.718 649.88]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ebe78c4ede3d49c63765e71cfe93904e) >>
->> endobj
-2033 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [360.881 638.976 434.275 649.88]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2034 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 638.976 513.996 649.88]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2067 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 627.02 180.776 637.924]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2035 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.86 579.632 430.484 590.536]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_819d233e9b1442e06c806dea0523a2f9) >>
->> endobj
-2036 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [440.054 579.632 513.996 590.536]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2068 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 567.677 129.857 578.581]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2037 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.262 567.677 254.668 578.581]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2038 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.539 522.065 357.689 532.969]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_304dd0846a62cb4a9f79806ea82cee5d) >>
->> endobj
-2039 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.937 522.065 436.332 532.969]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2040 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 522.065 513.996 532.969]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2069 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 510.11 210.673 521.014]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2041 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.484 464.498 370.879 475.402]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_f93c7e3e554a92e8d3eeb4cf4261debd) >>
->> endobj
-2042 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.073 464.498 453.467 475.402]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2043 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 464.498 513.996 475.402]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-2070 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 452.543 210.673 463.447]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-2044 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.965 406.931 362.74 417.835]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_bf1bb44cdbf733e9ca39164f9d8e8179) >>
->> endobj
-2045 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.415 406.931 439.809 417.835]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2046 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 406.931 513.996 417.835]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2071 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 394.976 217.298 405.88]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2047 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.925 349.364 375.946 360.268]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_8948143df881c58c79da34380f847401) >>
->> endobj
-2048 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.581 349.364 456.975 360.268]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2049 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 349.364 513.996 360.268]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-2072 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 337.409 217.298 348.313]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-2050 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.392 291.797 363.215 302.701]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_1bd806c292d0576b94d3084b21736061) >>
->> endobj
-2051 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.317 291.797 442.711 302.701]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2052 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 291.797 513.996 302.701]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2074 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 279.842 180.776 290.746]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2053 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.838 133.893 343.717 144.797]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_879f2f2b0f967fa73cb59ea8d8b1d255) >>
->> endobj
-2054 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.265 133.893 426.659 144.797]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2055 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 133.893 513.996 144.797]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2076 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 121.938 180.776 132.842]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2059 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2063 0 obj <<
-/D [2061 0 R /XYZ 90 757.935 null]
->> endobj
-2064 0 obj <<
-/D [2061 0 R /XYZ 90 713.289 null]
->> endobj
-2066 0 obj <<
-/D [2061 0 R /XYZ 90 655.968 null]
->> endobj
-2073 0 obj <<
-/D [2061 0 R /XYZ 90 308.79 null]
->> endobj
-2075 0 obj <<
-/D [2061 0 R /XYZ 90 148.848 null]
->> endobj
-2060 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F23 144 0 R /F72 202 0 R /F65 179 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2120 0 obj <<
-/Length 2025      
-/Filter /FlateDecode
->>
-stream
-x��ZI������-6������ydżL?�0	����%?I
���SܴYm��� �$��R���Z(�`�໛o�on��(T�� �A$�����$B$���x��m
�N)��ǵZS"'y�P%��r<�>�T�L�ʾ���ʌQ��"!�����p������l�#1
̷7�����0b�
f�6)��&xw������cp�:!0#�
a��Y~�����������Ҭr�Z�b����
`���gjJ���p��֝ξ,���/�t�i�~����FM	���V��M���1�O�juݬYuV�}C�&c��֦=%�L�i$D����v�/��|�D��(
f���s?c����i��`��zi��j5��2��3�9VD	�И0D$b ��;4~�O7�r:c4�$�qg;ʐ(m_�N*ݒ�d�����n�J��ᦲ��kt�iD�D���[�1]q1��`a<ٗi�r�fN��*/ ![�}X祲M�%��L0�
V�
��A	�]|��h�f�Ӱ�6W [...]
�༥�.���A,}�n�ۊ���Ek�
���P��_+Z7���,3&#��~"�7+}�ʪ��+ޥv	�E��6}@Ӡݼ�˜���n��Pȯ�/Emj�*u"1�ҟvGc�?��T�tc���4ēO�&]$5�jT9�
�$ʻ�WC��&�1Q�S��6�8%��Z�-�z[��r�g
�i�v}��4��
����x�Ie�>�x6|P����j�<�&�B�� R�
��y����<���
*���9_����I����-x�;(��Vee�ڠ�r��$��N�
Ȃ!�K�v,k��`s���o-]�
��	_�z�
ҰÁ�Ѿ�k�
X>��{9�g�Mn"߱$��`�d��e~:O�`��g~�L������&���AS��048�ah
-6x¦D!�
l�����-lO
���:*D�3�.��Va˱ɲ����l�ܗ:��o:�w㬐ҋ4%�	z4��rJi�b^
�L�G@�T�j.ó&����>�
:5�:�9sh��c>8���D(/� �N"�F�EH(�
,�&���Zw�EEҬR/n�^��V�S<$,�Gw�Z!�ET#�0��/����j�c��~���
�4��T��޸���uǂ��QM
H؎)��y��6b�vP����A����B�d~�2U$��]<�kS�3�
�(`ֲ�r�,\��	�+Sd�B�Y�M�h�D���)�
LX��[�����#\�Te`\O�_Rϸ
��'��j�����t��DzR�3�_1$ė]���I
��.������׎�F�������9�˸��h�
-s<
(mn=ư`ԍ
�Ӷ��y�

^#[�=�U��_����g\����Џ��"�I�Y#|D�D�����j�1*9�/O��c;w����M1e�?�^H�MN�r
-��5���6��m��Z��W*[�se+!�K�SY�8J�ǰJ;�X`��
�	$�k��ǁ�"�
b)/���� ,�W

r�0�'�8<�	�/�N?���~
Z1N~ ���"��1��)�0}i����JHS?��o��/�@q��K��M��������[C�b���h��?����~(��Ѿ��!?%�j���|�1����H��_��/�
Fi'��d�dc�v���T���N���S�4� N�)�f5�1�o
+�s�P�F���}u{{8
мD�,�(�n�ȷǗ��"�(
׼���@�m^({�4�έ��P�N�X��
-endstream
-endobj
-2119 0 obj <<
-/Type /Page
-/Contents 2120 0 R
-/Resources 2118 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2077 0 R
-/Annots [ 2056 0 R 2057 0 R 2058 0 R 2083 0 R 2084 0 R 2085 0 R 2123 0 R 2086 0 R 2087 0 R 2088 0 R 2089 0 R 2090 0 R 2091 0 R 2092 0 R 2093 0 R 2094 0 R 2095 0 R 2096 0 R 2097 0 R 2098 0 R 2099 0 R 2127 0 R 2100 0 R 2101 0 R 2102 0 R 2128 0 R 2103 0 R 2104 0 R 2105 0 R 2130 0 R 2106 0 R 2107 0 R 2108 0 R 2132 0 R 2109 0 R 2110 0 R 2111 0 R 2134 0 R 2112 0 R 2113 0 R 2114 0 R 2136 0 R 2117 0 R ]
->> endobj
-2056 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.618 719.912 410.855 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_8b280d026e0c343ec0d3f5521dda6376) >>
->> endobj
-2057 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [415.183 719.912 488.577 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2058 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 707.957 224.501 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2083 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.838 662.129 343.717 673.033]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_f29cc9becde5f28a37567093174d6855) >>
->> endobj
-2084 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.265 662.129 426.659 673.033]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2085 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 662.129 513.996 673.033]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2123 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 650.174 180.776 661.078]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2086 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.618 602.353 410.855 613.257]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_680aecc71f3b21fa0db03c7d1cbe466b) >>
->> endobj
-2087 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [415.183 602.353 488.577 613.257]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2088 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 590.398 224.501 601.302]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2089 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 506.024 232.521 516.928]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_dc7cd513e31b7ecdda3a25a967d8a772) >>
->> endobj
-2090 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.337 506.024 335.743 516.928]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2091 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 432.609 277.352 443.513]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_9947be8614cba5c2e8b02771d48fc7d2) >>
->> endobj
-2092 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.168 432.609 380.575 443.513]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2093 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.017 432.609 479.373 443.513]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2094 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 395.747 277.661 406.651]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_50d5c68064e215d3f2cf3ee69896e676) >>
->> endobj
-2095 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.477 395.747 380.883 406.651]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2096 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.326 395.747 479.682 406.651]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2097 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.033 347.926 317.283 358.83]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_b1d03e0aac8dda484b102c536c612a45) >>
->> endobj
-2098 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.026 347.926 429.432 358.83]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2099 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 347.926 513.996 358.83]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-2127 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 336.345 176.352 346.875]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-2100 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.429 301.102 315.995 312.006]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_6c5a2f9b4702c1a0ddfcc9c6eb9b92bd) >>
->> endobj
-2101 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.134 301.102 428.541 312.006]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2102 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 301.102 513.996 312.006]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-2128 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 289.147 174.668 300.051]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-2103 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.341 254.277 276.288 265.181]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_85417db0eb420d402acee4ef0d842efc) >>
->> endobj
-2104 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.339 254.277 386.745 265.181]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2105 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [418.466 254.277 513.996 265.181]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2130 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 242.322 164.178 253.226]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2106 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.223 205.461 279.796 216.364]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_2dc649f0ee90ea5af999e3c0bae54bcb) >>
->> endobj
-2107 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.728 205.461 387.135 216.364]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2108 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.84 205.461 513.996 216.364]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2132 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 193.505 164.178 204.409]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2109 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.08 156.644 323.629 167.548]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_27fdc62bc2cae150c7d710a8e312a40d) >>
->> endobj
-2110 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [334.419 156.644 433.826 167.548]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2111 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 156.644 513.996 167.548]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2134 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 144.688 210.673 155.592]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2112 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.521 107.827 328.695 118.731]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_6d147411700f558d74d8273accfb8e04) >>
->> endobj
-2113 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.927 107.827 437.333 118.731]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2114 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 107.827 513.996 118.731]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2136 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 95.871 217.298 106.775]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2117 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2121 0 obj <<
-/D [2119 0 R /XYZ 90 757.935 null]
->> endobj
-2122 0 obj <<
-/D [2119 0 R /XYZ 90 679.23 null]
->> endobj
-2124 0 obj <<
-/D [2119 0 R /XYZ 90 521.102 null]
->> endobj
-2125 0 obj <<
-/D [2119 0 R /XYZ 90 447.687 null]
->> endobj
-2126 0 obj <<
-/D [2119 0 R /XYZ 90 412.848 null]
->> endobj
-2129 0 obj <<
-/D [2119 0 R /XYZ 90 271.378 null]
->> endobj
-2131 0 obj <<
-/D [2119 0 R /XYZ 90 222.561 null]
->> endobj
-2133 0 obj <<
-/D [2119 0 R /XYZ 90 173.744 null]
->> endobj
-2135 0 obj <<
-/D [2119 0 R /XYZ 90 124.927 null]
->> endobj
-2118 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F23 144 0 R /F72 202 0 R /F65 179 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2191 0 obj <<
-/Length 1932      
-/Filter /FlateDecode
->>
-stream
-x��Z[��4~����x|wo �� 
vWU�uۈ�B�Nw��
_�ۤ�e�0H��u��9�Ηώq0
p������ɂŒ��n�8P� AIp7	އ
-�xxC0�aY.F�
)���\O�!��"5�lxC�]M��v?�驶}tn�g"�d�����ww����b]
-��8����	��`��(X�^Y�)��"�m�� ���_m8��#�	�p�(�*�����G�6��!�(L�@@L����!+bˌ�H��>_�}�]W��}gv\��0O���$B�aSx��R?֍��}1u�,��,�[Oֆf�Ҥ�
xYVC.��S�%M�ϼ�v��v�n�@���!�U �b�N��yG��Rr
�+Z�X�]���C�r�F�-�������ȏ��b�H��F �Ҽ��*��c��``fQ�	hL����qߖ��
|И5d�k�\�e���%��^� B�	䝡�k#}��e�׮Hw)�:m�_9�
r
Ά�PC�q�5Q� N����c�vI�c���ݽ�֨p�K%���G��1/�-�C!�D
��9R6�G�2O�T�C" �~P?��cHۃ�y
ֺ
�=Xv91w����y� L�6N�/����偂�$P�4]�+�D8��\���t�$"B|
���7I��#�t`���Fe�1�J+{��f̻�t��I�o��o6�G`W�6�Vim'�rv�>�4pf1K��b�8/��E2͋z���>o��%��!T!�
e-lz�t&;)��g�$�Ǖn^5�iǦ�a�;�us�0�|b�
��
�L��2��賽 릲�~Ǝ����㙤�����x,;��`$R��_��g�Bks�g�ň�5�=$U�IPBk�u	��DqL������މ�k
&BL��y���
O$y>�F�I1X}Z��U������薙��ͳ��_;��
-�#�e�m�������@���/��SY��RW-�D8"��k���\܏�[�f~L����M�㘢��~�<�ƞ!T)?�
-(����tP��	��*6�{,�W��`3]�#荣��߈D���t�Y��Vi3�^����_�I?|#��u�+���"���-�th��q���V�,Gy���tsҚ�|9����߾��_����5��
s�v��Q
m���evB���tr����u���)�� �l^�(j��U���x�4>����


�Xr���z�Va�f�}H�G�+�']*�#̎�O��5�����oޟ.�.��I~:������<
���������0 �  t���q`�Q�C�Xz�6	�et�_{�~��
�G�8=��������vC<�F��es�^�zāS	���.'U��RDy^�7gz_�L��>2�=%�>�d��qf��xv!~�@����
�z�A��G0~��}=��n(�q��{�̷f&IX'���aR�wV ڜ���^����8�7
��{��[�?��
�������-a��M�j���'M�>pCP;���`�s7owQ��UZ�{� [...]
-�������d�(
y\�HqD��%���������)P���Q�r^����U8�0�
-�"
��Z���)
qt�KF��#��7��� ozԍ�S7~mէl8��T6�[�ȃ�F�]~Ks��k�#E^���Fԫ�J���t\O�
#�
�
Q:J@��K��t�#�`�N�c��N���U:J
T:O�q���<�Q:�i�����t��)����(��
q���?�)!���'
�7a%���;�*b$ߚ �X���BPe��
��Jܿo��*�
ݏo]��I>[&3��;�j^F�*4�^��
s
�v����d��3�
	3	��A��A��c
���ŏ���A{�����&.�#�97o�����j��5Z�iY���L��d{/9�(�ͷj
3�����j��2
��y�y����
-endstream
-endobj
-2190 0 obj <<
-/Type /Page
-/Contents 2191 0 R
-/Resources 2189 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2077 0 R
-/Annots [ 2115 0 R 2116 0 R 2141 0 R 2142 0 R 2143 0 R 2144 0 R 2145 0 R 2146 0 R 2147 0 R 2148 0 R 2149 0 R 2150 0 R 2151 0 R 2152 0 R 2153 0 R 2154 0 R 2155 0 R 2156 0 R 2201 0 R 2157 0 R 2158 0 R 2159 0 R 2203 0 R 2160 0 R 2161 0 R 2162 0 R 2204 0 R 2163 0 R 2164 0 R 2165 0 R 2205 0 R 2166 0 R 2167 0 R 2168 0 R 2169 0 R 2170 0 R 2171 0 R 2172 0 R 2173 0 R 2207 0 R 2174 0 R 2175 0 R 2176 0 R 2208 0 R 2177 0 R 2178 0 R 2179 0 R 2210 0 R 2180 0 R 2181 0 R 2188 0 R ]
->> endobj
-2115 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 686.164 245.263 697.068]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_4b5f126aef2ca062b034f795f6e5cf6d) >>
->> endobj
-2116 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.079 686.164 348.485 697.068]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2141 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 649.551 253.711 660.455]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_357ddb19493a385970c56bf4847a07a1) >>
->> endobj
-2142 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.527 649.551 356.933 660.455]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2143 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 612.938 254.668 623.842]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_b4f7535037080c7f5db32b2e85fdc80d) >>
->> endobj
-2144 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.484 612.938 357.89 623.842]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2145 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 576.326 299.898 587.23]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_9e5f40dfc278c52da81291b30fbe75f7) >>
->> endobj
-2146 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.713 576.326 403.12 587.23]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2147 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 539.713 303.374 550.617]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_39ee8e60c1d4d6faa40986d8fba28d5d) >>
->> endobj
-2148 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.19 539.713 406.596 550.617]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2149 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 503.1 251.34 514.004]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_141c3283de2a46f2fcb278dcdca0558f) >>
->> endobj
-2150 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.156 503.1 354.562 514.004]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2151 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 466.488 249.128 477.392]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_e1e938f0c844231dfe2098ab8fbca67b) >>
->> endobj
-2152 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.944 466.488 326.338 477.392]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2153 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.78 466.488 425.137 477.392]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2154 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.983 429.875 296.212 440.779]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_b32d3b44994fefe43c44e353a47cb4a4) >>
->> endobj
-2155 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.905 429.875 405.311 440.779]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2156 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.977 429.875 513.996 440.779]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2201 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 417.92 179.112 428.824]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2157 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.84 381.307 296.676 392.211]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_7135823ecf68cedd5236d53e2b5541f5) >>
->> endobj
-2158 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [306.226 381.307 405.633 392.211]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2159 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.977 381.307 513.996 392.211]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2203 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 369.352 179.112 380.256]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2160 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.607 332.739 300.683 343.643]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_93cee014592562084126f06fe47efbba) >>
->> endobj
-2161 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [309 332.739 408.407 343.643]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2162 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.977 332.739 513.996 343.643]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2204 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 320.784 179.112 331.688]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2163 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.11 320.784 270.591 331.688]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-2164 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.197 320.784 378.678 331.688]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-2165 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 320.784 513.996 331.688]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-2205 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 308.829 174.668 319.733]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-2166 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.327 263.125 249.243 274.029]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_1dd00b705631c579994677fea3a86d63) >>
->> endobj
-2167 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.28 263.125 353.686 274.029]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2168 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.875 263.125 500.601 274.029]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2169 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 251.17 196.576 262.074]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-2170 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.856 251.17 297.337 262.074]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-2171 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.996 203.598 299.418 214.502]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_0e494452cce5a8916f4fe97a1c79e237) >>
->> endobj
-2172 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [308.125 203.598 407.531 214.502]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2173 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.977 203.598 513.996 214.502]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2207 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 191.643 179.112 202.547]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2174 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.908 191.643 272.389 202.547]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-2175 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [308.024 191.643 379.505 202.547]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-2176 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 191.643 513.996 202.547]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-2208 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 179.688 174.668 190.592]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-2177 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.996 133.984 299.418 144.888]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ee4d567631589e83063cfb8f80c2bd6f) >>
->> endobj
-2178 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [308.125 133.984 407.531 144.888]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2179 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.977 133.984 513.996 144.888]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2210 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 122.029 179.112 132.933]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2180 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.784 122.029 263.265 132.933]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-2181 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.776 122.029 361.257 132.933]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-2188 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2192 0 obj <<
-/D [2190 0 R /XYZ 90 757.935 null]
->> endobj
-2193 0 obj <<
-/D [2190 0 R /XYZ 90 703.202 null]
->> endobj
-2194 0 obj <<
-/D [2190 0 R /XYZ 90 666.59 null]
->> endobj
-2195 0 obj <<
-/D [2190 0 R /XYZ 90 629.977 null]
->> endobj
-2196 0 obj <<
-/D [2190 0 R /XYZ 90 593.364 null]
->> endobj
-2197 0 obj <<
-/D [2190 0 R /XYZ 90 556.752 null]
->> endobj
-2198 0 obj <<
-/D [2190 0 R /XYZ 90 520.139 null]
->> endobj
-2199 0 obj <<
-/D [2190 0 R /XYZ 90 483.526 null]
->> endobj
-2200 0 obj <<
-/D [2190 0 R /XYZ 90 446.913 null]
->> endobj
-2202 0 obj <<
-/D [2190 0 R /XYZ 90 398.346 null]
->> endobj
-2206 0 obj <<
-/D [2190 0 R /XYZ 90 280.164 null]
->> endobj
-2209 0 obj <<
-/D [2190 0 R /XYZ 90 151.023 null]
->> endobj
-2189 0 obj <<
-/Font << /F63 177 0 R /F72 202 0 R /F65 179 0 R /F50 143 0 R /F23 144 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2255 0 obj <<
-/Length 1788      
-/Filter /FlateDecode
->>
-stream
-x��ݓ�6���+�V3��I�$[�S��:M�i��L�̍���&��w�a�e

�\o��m�v��ծd�
=�����sy%O")��n��^(�x7}�""�c�O����]��l<�~�%����e<�^P����R僸���5P��J�#��
��p���M�S���GL�<Da��ޤ��������Q #�޴�x��;��;v�>^V��%5	��7B ,���=��t_�罻�X���
N>t�zcX֠͝q/K�8I��g�b���{��V�F&*�e�妜���l��(fH�Ð�����UH��'�6�H0��<"
:�Q�,O
;����fER&�݌�
U�a�%؇���C��/�'� F"�ڈ�b��
A��T�"�J��W�f��^�YCoE��Jּ�3��z0?XIy7�e�q���-�o?S�A���Ѹ
#�0
-.!�
.(�Qx���]�W
e����|`��S �X�y�$�B���`"�.A�;������e�	
��9�դX�5؛��Da=>j�(��-��(j��К����;��ny6i%6:�r���XqNb�=�q�o�‘���N-��B,�>7�{2[�T7 �9�%
/gH��!�H��]��ߞ�%�d�;<1 �Q��Դ��"��J��2	�����
��:=��3LP��
�V�����u
-bMg��Ak
-�`���,qFdg�3)�	
 �Q"q"�&���^���j���7��	R]�}dn��@��m��L��SU
�����I2���`��6�>Z��q��)�#f��r�=��:��.0,H���]�_�x�h�����m�Mꐚ��C)��B���.LWL���~SԽ��m�3���ľ��t�93�8LRW`Ng9̷*tAQD�	B~���Y�uo�o'j����$�����8�#=s�|U���].��aXO��V+ցH-Rӯ�z�E �ڨK��W��O�uX�ؿ�l8��ne���j͸�f���Z�KTˍk=�Ǔ
�Z۹�|!�
i��~�r�B.%a;��r���`(U��<��Y�� 
"�ҼR�H'�J��?�S����V!ؗ#�+�@ .\6x=�w N`=+�j���n`�waU����,��5���Q��W�S�U)�|�6�[�+J�o
-ܤL����U��[���ū:�>��sL�+��Ci�{P
-���~5��e��x�M�Y�e#�&[�6�v���4/J5Y�~�ׅc5u�<:[0�
�
�y���n�����#��
��=��%��O8d�

-�Cy[��Z����(�@�3e�9yr��xLQ��x���	�}BMq��/��^�3��F!N<4]�� �@�� �$#�H M�m at 2.�#�r��ő�6�X� �eKn�AZ��1���Ȇ����|�-T����gib1W=�q��X�FJ���`���Z07c�ّ\��] yl��y2z�Q�
-�0�N�_+���m1S��H4� F��e2�ج��V(O���f[T$��&�2*�m:y���\�
�T��'������U��!��7�k\fE���V&�J���@L�(��<��'O�f%ge{�
�$dd$Q3#��	x�D�~�W}�'�
��!!���6�ݘ��ky>�yl@�&b����.�͎'�<�M^��p���+C��h����B��u9�
�«8�����ϺK���Hx���ӫO�0�U����G����cl�Ћ�-ζFe9������
�
-4K�i��� ��܍\!�hqY{�=���M�\Y
�T�/����y��*r,
-endstream
-endobj
-2254 0 obj <<
-/Type /Page
-/Contents 2255 0 R
-/Resources 2253 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2077 0 R
-/Annots [ 2182 0 R 2183 0 R 2184 0 R 2185 0 R 2186 0 R 2187 0 R 2259 0 R 2213 0 R 2214 0 R 2215 0 R 2261 0 R 2216 0 R 2217 0 R 2218 0 R 2219 0 R 2220 0 R 2221 0 R 2222 0 R 2223 0 R 2224 0 R 2225 0 R 2226 0 R 2227 0 R 2228 0 R 2229 0 R 2230 0 R 2231 0 R 2232 0 R 2233 0 R 2234 0 R 2235 0 R 2236 0 R 2269 0 R 2237 0 R 2238 0 R 2239 0 R 2270 0 R 2240 0 R 2241 0 R 2242 0 R 2271 0 R 2243 0 R 2244 0 R 2245 0 R 2246 0 R 2247 0 R 2248 0 R 2252 0 R ]
->> endobj
-2182 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.536 719.912 292.284 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_5a6342bc4e04c1f228d210e5c363b6d4) >>
->> endobj
-2183 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.53 719.912 394.936 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2184 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [404.37 719.912 503.777 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2185 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.168 671.75 331.574 682.654]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_bcf3ccb8e2e224496d1326e47e15fdc6) >>
->> endobj
-2186 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.452 671.75 440.859 682.654]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2187 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 671.75 513.996 682.654]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2259 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 659.795 180.776 670.699]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2213 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.166 623.587 331.582 634.491]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a309e957fa5f404b296e2e4c30e1697d) >>
->> endobj
-2214 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.458 623.587 440.864 634.491]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2215 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 623.587 513.996 634.491]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2261 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 611.632 180.776 622.536]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2216 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.543 575.425 284.541 586.329]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_f777de5ca96f8d1631d3500008bf84f8) >>
->> endobj
-2217 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.794 575.425 387.201 586.329]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2218 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.649 575.425 496.056 586.329]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2219 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 540.883 223.116 551.787]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_f98013213e01ca8514b6dbd20116af4d) >>
->> endobj
-2220 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.932 540.883 326.339 551.787]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2221 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 493.717 317.601 504.621]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_3e07a3e1a6e6c9f281227b4e215a3dc7) >>
->> endobj
-2222 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.417 493.717 420.823 504.621]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2223 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 457.51 303.375 468.414]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_01daecb5bf8e498e7d539d7f3ba8496e) >>
->> endobj
-2224 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.19 457.51 406.597 468.414]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2225 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 385.894 267.39 396.798]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_5a9b061c4408ab8d70a1dea91a6ff983) >>
->> endobj
-2226 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [271.206 385.894 344.6 396.798]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2227 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [360.042 385.894 455.025 396.798]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-2228 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 349.687 274.015 360.591]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_191744753f79b939c8d61efe45778bd8) >>
->> endobj
-2229 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.831 349.687 351.225 360.591]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2230 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.667 349.687 468.276 360.591]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-2231 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 313.48 271.265 324.384]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_2f80d4608b0b75948b50dd862a14df66) >>
->> endobj
-2232 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.081 313.48 348.475 324.384]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2233 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.917 313.48 493.221 324.384]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2234 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.747 277.273 279.532 288.177]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_8abb894f6f4a673d549aa9bf7456b638) >>
->> endobj
-2235 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.989 277.273 358.384 288.177]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2236 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.519 277.273 513.996 288.177]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2269 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 265.691 129.857 276.221]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2237 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.909 229.11 311.644 240.014]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_89c2384471ee03156c7b414dceee8f14) >>
->> endobj
-2238 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.263 229.11 390.657 240.014]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2239 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.157 229.11 513.996 240.014]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-2270 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 217.529 129.857 228.059]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-2240 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.867 182.613 323.227 193.517]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_f818756f74f766dfb937e586565db8d6) >>
->> endobj
-2241 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [333.804 182.613 407.198 193.517]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2242 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [437.852 182.613 513.996 193.517]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-2271 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 170.658 164.178 181.562]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-2243 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 136.116 298.383 147.02]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_d024f037803a208b74cd150eeaa5649d) >>
->> endobj
-2244 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [302.199 136.116 375.593 147.02]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2245 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.035 136.116 486.018 147.02]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-2246 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 99.909 305.009 110.813]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_8ffc5459233ed9781c0ca910e88fa1f9) >>
->> endobj
-2247 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [308.824 99.909 382.219 110.813]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2248 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [397.661 99.909 499.269 110.813]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-2252 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2256 0 obj <<
-/D [2254 0 R /XYZ 90 757.935 null]
->> endobj
-2257 0 obj <<
-/D [2254 0 R /XYZ 90 733.028 null]
->> endobj
-2258 0 obj <<
-/D [2254 0 R /XYZ 90 688.687 null]
->> endobj
-2260 0 obj <<
-/D [2254 0 R /XYZ 90 640.525 null]
->> endobj
-2262 0 obj <<
-/D [2254 0 R /XYZ 90 557.82 null]
->> endobj
-2263 0 obj <<
-/D [2254 0 R /XYZ 90 510.654 null]
->> endobj
-2264 0 obj <<
-/D [2254 0 R /XYZ 90 474.447 null]
->> endobj
-2265 0 obj <<
-/D [2254 0 R /XYZ 90 400.809 null]
->> endobj
-2266 0 obj <<
-/D [2254 0 R /XYZ 90 366.624 null]
->> endobj
-2267 0 obj <<
-/D [2254 0 R /XYZ 90 330.417 null]
->> endobj
-2268 0 obj <<
-/D [2254 0 R /XYZ 90 294.21 null]
->> endobj
-2272 0 obj <<
-/D [2254 0 R /XYZ 90 153.053 null]
->> endobj
-2273 0 obj <<
-/D [2254 0 R /XYZ 90 116.846 null]
->> endobj
-2253 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F65 179 0 R /F23 144 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2334 0 obj <<
-/Length 2329      
-/Filter /FlateDecode
->>
-stream
-x��Z[��~�W�-P5�u���)��Me3[���<�LQ��l�Kw�_�#�
���Jv�����;߹H�[y����O���}�(��=>y!��O���{\z���p2%��n���2�x�n�k��&$�ɬ�V�)x���P�S�P��G�����G�31�����O�
G�P{�L)$�Lx����W�-��O
F,
�3j�q��s�}�m�+��}�e	|�,B$�A�$��.�
��hS��}�
-Xg��c�]����hط��� ���i�f/q��-�$/�������_��g�K.N%��n��z!F��b���e6��x�~�M���
-��y���S�-\�.��S>�()�
}��rD$�
IZ�+�; ���x �|�dF��vHW$C�z=����Y��fM=!bl�m
Ɖc��G����E�#�(��kn���֔�� �J)��߀.
�^t��R{�	�x�oD������]tU�|Wt�]���#+$ȇ-3d���B��YzG�k��բ��G���*qm�m��^���e!�'i?1`/��.bL|�<�kv��I�	�w�ձ�:��z�vH��]
�}SJ� ���۟ܠ1J�V�ݔ��لɱ��MQ���/D8/�E�J����Є��	��r�S�l����W�J�_Z����Ǯ�d�
��(����WcK�5}r�3@����S!D ?$�0�
����������m?M�C�jB�o�?E[Ṳ5�$hS{Cd3�k�>���d^�Nk#mXQ�ϵ$b5�9�v����v����3ٵQ
�����!��0����y��g���m�+oj���|#��L�or

����N~ExC[���. [...]
-�\�O�G��M�S�[5S�h��&νs��6�6�Ԛ�!�3$ڢl�����<���u��E
�����(m�P�R�M�X�`�t/"��&���m��[G�o��S4Ҵ!4�cT�c�A ���Mr$0�öq_ֶ��X t2�175�r�f���|Av��I�*w�C �����t�(1B
f�~��b
ӳ��얼��tirgC���� t��.��H�ceҴ�uJ�p|�D�5hh�lR
�v�8
�`��8��̥�Iڷ� �]|� ��К��'mO��m�4
-\%�ꋡ��5��gp/�U����V��i��
V)
-ڎ���g��a����R�
U6P��h~먰��Tͼ�viK� N�����M*]�9����8M�
���<&o�J��f�2�����4�
&����-�)��<�*C�s2ۥ��]B�����
h��iSݸ�����DyQM<�5OYA��$�I�.ʴ�ނ���F8��8"!��GG��S
���h�N��M�KO{�$|�KV�*X�Ro���^��8QQ6��UW�vZW��Q�+���j칈UR�%.�&�����D����$J�m~.�>�Q!]��2ˁӉ�
xw�RoN{j�G��e!d����Md�䱫j�����8�o��K��)��sy�K -NG��
-7��爚R>�Q��a�R������Q�r�qQ�~_�'�bNL�r at d��f���A�?�a�`���u
�3�0%���*��q@�����:�#^S~�G����O����Dm7j��E�Z���7�PI�4/����
���
-����^� 0�|Y����]0�
-��
�Ʌ06�t�ʛ+a��WgFV
�	��ٹU-�}< � ÜV,�)����)�l��!�uQ͂�J��CA=)vL
-�h?=���5
��
ڭt�-� p���r�lP� ź�vTFQ(t�v
}� 6:dw�oN� �>����o�
HOm Ƞڀ
bpc_ű�.�6
����{YwWw'����
}S��6L��[���\�Y\_�u������`


�8��eq����^���}(�����#��Z׳]�qaN��h\膩0���X\�=��'
{H\�����qж�j}$.03G�]C��״}x�Coi׷�!
K0��\.B$De�cl��)p��nH1�����ye{��
�!JV�&s���<��g������~���ܾ�s���p��l���TYU��C�`����2e��?���������:2�ݮ�rؐ&?[���///h��2�w��࿇�u��C��D{~	ŞUl�fʮ!Nth\�d�����z
-endstream
-endobj
-2333 0 obj <<
-/Type /Page
-/Contents 2334 0 R
-/Resources 2332 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2077 0 R
-/Annots [ 2249 0 R 2250 0 R 2251 0 R 2337 0 R 2277 0 R 2278 0 R 2279 0 R 2339 0 R 2280 0 R 2281 0 R 2282 0 R 2283 0 R 2284 0 R 2285 0 R 2286 0 R 2287 0 R 2288 0 R 2289 0 R 2290 0 R 2291 0 R 2343 0 R 2292 0 R 2293 0 R 2294 0 R 2295 0 R 2296 0 R 2297 0 R 2298 0 R 2299 0 R 2300 0 R 2301 0 R 2302 0 R 2303 0 R 2304 0 R 2305 0 R 2306 0 R 2348 0 R 2307 0 R 2308 0 R 2309 0 R 2310 0 R 2311 0 R 2349 0 R 2312 0 R 2313 0 R 2314 0 R 2315 0 R 2316 0 R 2350 0 R 2317 0 R 2318 0 R 2319 0 R 2320 0 R 2321  [...]
->> endobj
-2249 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.648 708.127 307.801 719.031]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_0b031bedcfb70f485bab922596bce1c8) >>
->> endobj
-2250 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.159 708.127 390.553 719.031]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2251 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [418.466 708.127 513.996 719.031]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2337 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 696.172 164.178 707.075]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2277 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.53 659.649 311.309 670.553]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_c655ac3a494c4f92bb02d0b9294bdd85) >>
->> endobj
-2278 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.549 659.649 390.943 670.553]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2279 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.84 659.649 513.996 670.553]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2339 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 647.694 164.178 658.598]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2280 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 611.171 285.103 622.075]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_f92f3c9d758e2a155a2a6faec4235741) >>
->> endobj
-2281 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.919 611.171 362.313 622.075]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2282 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.774 611.171 472.18 622.075]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2283 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 574.648 291.191 585.552]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_784570f6ced5461b4d82cdfefa1cb31b) >>
->> endobj
-2284 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.006 574.648 368.401 585.552]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2285 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.861 574.648 478.268 585.552]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2286 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 539.949 278.747 550.853]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_7918c3a73aed2529e1e57b8983264bad) >>
->> endobj
-2287 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.563 539.949 355.957 550.853]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2288 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.418 539.949 465.824 550.853]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2289 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.629 503.426 343.088 514.33]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_9fb38e66323fe6cb24b32e32e66dba78) >>
->> endobj
-2290 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.428 503.426 430.822 514.33]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2291 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 503.426 513.996 514.33]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2343 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 491.471 180.776 502.375]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2292 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 443.99 286.209 454.893]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_bc350d1ab1c6e4da0df6bb130364af7b) >>
->> endobj
-2293 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [290.024 443.99 363.419 454.893]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2294 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [373.88 443.99 473.286 454.893]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2295 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 407.467 317.202 418.371]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ad69d01217b9ea1043883162d285505c) >>
->> endobj
-2296 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.018 407.467 394.412 418.371]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2297 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.263 370.944 330.976 381.848]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_db06752e755290368c9bb00ad14a0984) >>
->> endobj
-2298 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.949 370.944 410.344 381.848]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2299 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.64 370.944 513.996 381.848]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2300 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.351 322.467 333.94 333.37]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_8402fc25b68056511cf62f1378666a88) >>
->> endobj
-2301 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [339.001 322.467 412.395 333.37]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2302 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.64 322.467 513.996 333.37]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2303 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.783 263.03 262.173 273.934]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_9563155e281915a8bc2eea34ceff9cf0) >>
->> endobj
-2304 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.666 263.03 341.06 273.934]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2305 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [360.276 263.03 443.633 273.934]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2306 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 263.03 513.996 273.934]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2348 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 251.075 210.095 261.979]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2307 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.767 251.075 320.261 261.979]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-2308 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.781 216.375 272.893 227.279]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_8a9e2cf693ca3e9c464efb04071b8572) >>
->> endobj
-2309 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.384 216.375 349.778 227.279]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2310 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.635 216.375 447.991 227.279]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2311 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 216.375 513.996 227.279]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2349 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 204.42 210.095 215.324]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2312 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.767 204.42 320.261 215.324]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-2313 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.681 169.72 299.364 180.624]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_d015c9afd4968005d43f233359253c5a) >>
->> endobj
-2314 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [302.755 169.72 376.149 180.624]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2315 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [390.826 169.72 474.183 180.624]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2316 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 169.72 513.996 180.624]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2350 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 157.765 236.107 168.669]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2317 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.338 157.765 378.064 168.669]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2318 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [393.506 157.765 490.999 168.669]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-2319 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.71 123.065 314.115 133.969]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_6ffd595f3e1d85275962dde5f8401c7f) >>
->> endobj
-2320 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.534 123.065 392.929 133.969]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2321 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.98 123.065 495.336 133.969]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2322 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 111.11 253.821 122.014]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2323 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.693 111.11 398.419 122.014]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2324 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [416.503 111.11 513.996 122.014]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-2331 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2335 0 obj <<
-/D [2333 0 R /XYZ 90 757.935 null]
->> endobj
-2336 0 obj <<
-/D [2333 0 R /XYZ 90 725.143 null]
->> endobj
-2338 0 obj <<
-/D [2333 0 R /XYZ 90 676.665 null]
->> endobj
-2340 0 obj <<
-/D [2333 0 R /XYZ 90 628.187 null]
->> endobj
-2341 0 obj <<
-/D [2333 0 R /XYZ 90 556.965 null]
->> endobj
-2342 0 obj <<
-/D [2333 0 R /XYZ 90 520.442 null]
->> endobj
-2344 0 obj <<
-/D [2333 0 R /XYZ 90 461.006 null]
->> endobj
-2345 0 obj <<
-/D [2333 0 R /XYZ 90 424.483 null]
->> endobj
-2346 0 obj <<
-/D [2333 0 R /XYZ 90 387.96 null]
->> endobj
-2347 0 obj <<
-/D [2333 0 R /XYZ 90 339.483 null]
->> endobj
-2332 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F65 179 0 R /F34 1307 0 R /F84 440 0 R /F82 920 0 R /F38 146 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2397 0 obj <<
-/Length 2496      
-/Filter /FlateDecode
->>
-stream
-x��ZKs���W��j
�
2��d'��l�f��evJEK��D������i<H�$J�7{��-
-��@��u7���G������ɢ����~�8R� AIt?���
-�trK0��v���2�8ެ^�z^NHo�i�=Nn���_�Z��l���Oz��
]�!™�%�|���������X��U)RLD��͗�8���OF,M�g;k
q��s}���
��?�i�x�,B� A��ζ_)v9�}ї[��E����G��Ovg���؁G]�2[����i��P��1-�4_g�z��3�
|T�P|}(��|wb�*�B��ZUnd�luH̓YmVN8���(A\&�-!(�m�.v�㺔�V��E���MQ�e{8��$8(6��zU��Oؐ��ʝyӏy��r��m�+gQH�J�-�֚��������f��מ�������EaS)�u;��b���Q?���
-""�q�1b ��],ES�g�o�nJ_0C���R/�7!8~4���f��b`�v�y�t��	S���zV�&�����b �:12 i5�E��y?\��2+��W*�B��j8q'<魑J$x�
O��3ۉ,�J�r�O��[Jp��b/��(�M�ݛ�&D���K�}��K�(�|�ܕ>�6�
��T
-�D
�J[|����,���#	#RQD�;��y���X�~Y�`S?/�;��ݷ�KD�)7
��S &Q��y^9�w.N�?2;q��Y�k���
>|yx	�&���i{�'�`�
*m��`4vQ�#�[�(�a/��PJ�+�@x�=�
 �rp�'1�q�]�)N�"
� ��▋d�8���
.�D�s�Q{�U�䂾��?�!v�
�v~�)��s�ۺH
R�aJ�

��E�@S�@��cQ� ��4L	pӀ�8G	��v�J�z;>����A~k����
�,��]�\��T�(
-Q����v|@�8��}'��	!I�e��t����j2����$
) �
-8�
�M���w�TL�G�ɗpDzGX�$D�S�X�]Vo��Ku4�'2K���}PqC4��p�/!�eh�h��h�Lp�a4O��*��p� ͍�ͥ:�搐��vX�"9A�����:��}�&��O�h
2!-�HUt
R�,���ȱ/�T�c�BU��km�������A��@u�)3N ʱ-�G /!��F\8SfP��U�"A.P��h�a�Q`��Z�VE�'X[�M}l��Zl��Na+�6�o��������D]����n��MOy>O.T	�
t��@K�h���5�!��a{G�}��î��ŷ�e���9{��y�x���I�B��'��?�7���5}��e�
�Ɠ���
��D6ͲZ�7�,L���:�7��_���1I/�"!�����Ե�C?k���Tƙ��6Od��͙1
-�W՛R��]��4�׻�J�9fo�j��X�~g`D�Y
��HÚR�����<���l��, ��v-ʻ��e��x��65P�E?��\�A��{�����+b�Wf��b���s���1҅����fqm
b\�������d��+Z[�|	��,y]�F9H!&0�k	�*0:��|>�
04M�	���Y1������Fru���A�A�h�zf����^��0�W��0����j������9MkJ򛁏�3h)k��,~�
$��)���C)�M�Sn�0��'��:n�+�Z�/��4A�M
����x������xC�W�7�#���w����#%_��B�$M�g��R�7f���?}��gL�FY:���̬y��[��G�?��������7?�}���͹���&�&�S���`�[0��V(	�@�d��v��kȾ��&2�d���w�Yn����f�)m%X�:�D�@���[cP����n��4�0�e�,�.����`��8G���3��얁-� [...]
-��l��j�[�I.n�]Y����d���ཏ
��1���C,��8v��__�89!ަR�C�]g�3hS^M�r�6�Y�)cX�oM�{O� @@_��^�EBI����9G�4��|��2���LY�
J����YYY���S�op�|M ��}:��N�jp���jH�`��׶� �#��3��Κ�t���܉�M`7�p͔��ѩM�y��̠�!,�P J�Od�X�����u���;�2��q�|E�yW�T���7�E
-!�C��:T+�X˵�YF�&�2��������彛�1+
w�-*;�^;6���
��Q��f�*w��Y���_�u
Xz4�A�N0�&D��`n�l~3��;j��vc���˴P��^����ww���hV�]�oK��w�w���N�E��
X�zSjgC^���v����!|�
-endstream
-endobj
-2396 0 obj <<
-/Type /Page
-/Contents 2397 0 R
-/Resources 2395 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2077 0 R
-/Annots [ 2325 0 R 2326 0 R 2327 0 R 2328 0 R 2329 0 R 2330 0 R 2399 0 R 2356 0 R 2357 0 R 2358 0 R 2359 0 R 2360 0 R 2361 0 R 2400 0 R 2362 0 R 2363 0 R 2364 0 R 2401 0 R 2365 0 R 2366 0 R 2402 0 R 2367 0 R 2368 0 R 2369 0 R 2403 0 R 2370 0 R 2371 0 R 2404 0 R 2372 0 R 2373 0 R 2374 0 R 2375 0 R 2376 0 R 2377 0 R 2407 0 R 2378 0 R 2379 0 R 2380 0 R 2409 0 R 2381 0 R 2382 0 R 2383 0 R 2384 0 R 2385 0 R 2386 0 R 2412 0 R 2387 0 R 2388 0 R 2389 0 R 2394 0 R ]
->> endobj
-2325 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.922 708.953 313.211 719.857]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_c0e5d09ffe586f8ea5ec782570015c5b) >>
->> endobj
-2326 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [318.843 708.953 392.238 719.857]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2327 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.767 708.953 495.124 719.857]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2328 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.858 696.998 267.853 707.902]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge5679e4f41db32b7b91dfc81574fc1d6) >>
->> endobj
-2329 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.006 696.998 440.733 707.902]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2330 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 696.998 513.996 707.902]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-2399 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 685.417 178.862 695.947]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-2356 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.369 639.215 327.38 650.119]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_381b0e6e2e58df417ff578ed6d715520) >>
->> endobj
-2357 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [334.46 639.215 407.854 650.119]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2358 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.64 639.215 513.996 650.119]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2359 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.509 627.26 283.504 638.164]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge5679e4f41db32b7b91dfc81574fc1d6) >>
->> endobj
-2360 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.832 627.26 448.558 638.164]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2361 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 627.26 513.996 638.164]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-2400 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 615.678 178.862 626.208]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-2362 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.494 569.476 351.546 580.38]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_46fc9d1041d5548a5f8f220af2a07028) >>
->> endobj
-2363 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [361.75 569.476 435.144 580.38]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2364 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 569.476 513.996 580.38]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2401 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 557.521 210.095 568.425]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2365 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.43 557.521 386.425 568.425]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge5679e4f41db32b7b91dfc81574fc1d6) >>
->> endobj
-2366 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.977 557.521 513.996 568.425]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2402 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 545.566 179.112 556.47]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2367 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.501 499.738 361.275 510.642]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_6ff56c68b449b94588ea7290d01625d5) >>
->> endobj
-2368 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.485 499.738 441.88 510.642]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2369 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 499.738 513.996 510.642]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2403 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 487.783 210.095 498.687]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2370 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.43 487.783 386.425 498.687]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge5679e4f41db32b7b91dfc81574fc1d6) >>
->> endobj
-2371 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.977 487.783 513.996 498.687]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2404 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 475.828 179.112 486.732]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2372 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 391.454 285.641 402.357]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_c06aed22fa4405051df0da9e7bc16138) >>
->> endobj
-2373 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.457 391.454 362.851 402.357]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2374 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [373.312 391.454 472.718 402.357]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2375 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.181 343.633 351.58 354.537]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_dd9c4afcd6f6bd78509219f32d57e348) >>
->> endobj
-2376 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.471 343.633 428.865 354.537]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2377 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [444.478 343.633 513.996 354.537]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2407 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 331.678 144.243 342.582]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2378 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.899 294.816 352.403 305.72]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_90544f38c2980f308cd6e0f9248fdd99) >>
->> endobj
-2379 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [356.013 294.816 429.407 305.72]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2380 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [444.478 294.816 513.996 305.72]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2409 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 282.861 144.243 293.765]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2381 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.118 245.999 315.801 256.903]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a48f8ae0f3a2647949417ec2da1c97e4) >>
->> endobj
-2382 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.629 245.999 393.023 256.903]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2383 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [408.494 245.999 491.85 256.903]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2384 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.424 186.223 347.542 197.127]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_402bb86dfedf35933c2a29cc07210741) >>
->> endobj
-2385 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.676 186.223 426.07 197.127]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2386 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [444.478 186.223 513.996 197.127]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2412 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 174.268 144.243 185.172]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2387 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.166 126.447 303.425 137.351]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_abb79ab0a7936b6f14cd20e15cb14fa8) >>
->> endobj
-2388 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.3 126.447 380.695 137.351]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2389 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.272 126.447 479.629 137.351]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2394 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2398 0 obj <<
-/D [2396 0 R /XYZ 90 757.935 null]
->> endobj
-2405 0 obj <<
-/D [2396 0 R /XYZ 90 406.532 null]
->> endobj
-2406 0 obj <<
-/D [2396 0 R /XYZ 90 360.734 null]
->> endobj
-2408 0 obj <<
-/D [2396 0 R /XYZ 90 311.917 null]
->> endobj
-2410 0 obj <<
-/D [2396 0 R /XYZ 90 263.1 null]
->> endobj
-2411 0 obj <<
-/D [2396 0 R /XYZ 90 203.324 null]
->> endobj
-2395 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F65 179 0 R /F82 920 0 R /F38 146 0 R /F83 919 0 R /F34 1307 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2453 0 obj <<
-/Length 2250      
-/Filter /FlateDecode
->>
-stream
-x��ZIw����W��a���Q�'��3֜l?>�D�� ���_��	.���0@�Y���}�	ػ�����O�W�o%�BJ*��;/Ğ�	J�����+D�ٜ`���\->�(����2M�	�"_4��lN���MZ�EqjO�R3'���L�R̾��r����?W��=b�
-)&�x}��
������5��
�
�+��տ������QK�Z�($A�"1
X�>Sj�����4�h�7nXo��w���NPҞ�;8�tF�����dQ���"��i^gE�'])�3���]�;X~����I!�
�c�N�IJ	��7'�Bس:-R�|
ʑы�j��=$7��(K0X��%ޘ#��ϯ�*:��"��
3�Y�vN��a���I&�p��h'̛��io+�X�٫^��<�qST��X���WE���v!)�[4K&ۥ���f`��N�bBL�(�ZO�А�D��۽�v��h�0#���S��P�������]T��=��{��w/�^�W��p�~R/(��ň�bH��7�=�CϏ,�ߟǦ���`�`ӯE�}Ƙ���GT�� ������N���@t0�F��0Eɡ�w�TЂT�P ϡyey���Yn��O�b[ ���$E���[
-�����v�����j�U��V�8�V��T�s;�ɓ��{s&`� �a at Q�$
CǮ�BD0=��b��@�y8��֑�Ռ)?�]8
��dS��8j *�9�Z�@��T
�t��2'.��mT7n�:��8�Dy�j^ěb�~UX�v�i�|%1s�ag,�Ѿ��Ms��MS�K���q��{vS ��/�~��}V,�
-f\��O�> I�
u�Zηs��y��؉|��r 0
w���'z2�u$����4S����
-{P?%�����8�
Lww��޾{�ƪC��$�#�Q��
k?��0 ��Ti�>#�\ ��x5@�Ӭ��!mS0���5$ ���\1D dx
r�D�����Q5	�8�C�
@���P�=p�)RT�.p\PYG�U������6��D ��0�]��Q
��2�u�q�@�l�l6U�J}Ȣ��S
b��̧R ]R?�
C��sbCGu�e�d�._59#
�T	D�|�K<��1�1 �Z��
�
���}��DͰD�H�t~@�)
w*�9�8x]r(�pZQ�<8�H
r�&�4��=�{I �NWg鮚q��)Q�ʑ��)8Nn�8a����q���w�m�x7��s�5<nܹ���~�1�1��c�i�o��
�w�=S��0��k�WYm„~�L�Y웯���71J����!fb]��)�c;UNz�f/�5ڶD�)r�2)�P��Z����yѸţ����E�PRyb�4]&�q�!k��,�@V��(o2w�&��:�膒����l��@ӥ	�/)u�b��P����Q�*֋��<����� ��%��c�30"Q����<�7
-1Ŀ�+����jch�]=�
�}��N�X.;�i���R��9p�{��pc/��c��'�73�@�}m�bf�6\-���6CtST7`�R"
 b]���@� @�N��Į��2ۆ�Y��U�6l\�4�F[U��z�#�e���a��l��
�Y��C��#�$��S�)<ʔv�� M1�5
	���,$D��iX�&�}�W�I6BL—�#S(�$	
��-GB���/*�p�E&����t\�7��
>=f�=L��C�)�e#@|mM�ޟOH�
N2�9k��h	9Ш%��7�
���zt��
-A�6�ސ��.{.	�簑=7_�!

� 
9�#6Bvs",������\���l��"�Th��U��I�,+����f?
�Q?56�
�Ȩ�m
<���I��-`���
"�5Z"ti�hv��8�hOD�8���*�s�ŀ�c<<
'騥]��
j���u�LUi��W��>>�s�J�݉a�*-��~�*w�
rY���ҥ�r�����  Jȩ I�ν�X� cV'9�XE��v{�{RSmY�Iݧ+�ܧ
�s���\�K��(@�0��`����
-�'�z�i��MI� 	��j��*
-ja�����|�3�\��`(S�5��?tm��}����G�pc�����Mt�~o��d�����uZ�e�sY��_�|��;m��dZ�q`# .�G���
�Ǵ�Hž�����W�^���C��i�����-�k�ɳ�BYs
���o��B80ї��Ȱ�uQ�V�,���i�];��1�)
-endstream
-endobj
-2452 0 obj <<
-/Type /Page
-/Contents 2453 0 R
-/Resources 2451 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2467 0 R
-/Annots [ 2390 0 R 2391 0 R 2392 0 R 2393 0 R 2418 0 R 2419 0 R 2420 0 R 2421 0 R 2422 0 R 2423 0 R 2424 0 R 2425 0 R 2426 0 R 2427 0 R 2428 0 R 2429 0 R 2430 0 R 2431 0 R 2432 0 R 2433 0 R 2434 0 R 2462 0 R 2435 0 R 2436 0 R 2437 0 R 2463 0 R 2438 0 R 2439 0 R 2440 0 R 2464 0 R 2441 0 R 2442 0 R 2443 0 R 2465 0 R 2444 0 R 2445 0 R 2446 0 R 2450 0 R ]
->> endobj
-2390 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.357 709.195 314.208 720.099]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_81cc2a565346ce8ee12124224ddd8d6c) >>
->> endobj
-2391 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.274 709.195 394.669 720.099]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2392 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [417.426 709.195 500.782 720.099]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2393 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 697.24 208.451 708.144]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2418 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.695 661.346 304.848 672.25]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_d6b383704ed3f314864c52f5b715cbbf) >>
->> endobj
-2419 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [311.254 661.346 384.648 672.25]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2420 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [405.917 661.346 489.273 672.25]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2421 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.79 649.391 244.147 660.294]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2422 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 567.677 240.282 578.581]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_f8a9392f205531631b3a98c332f594b1) >>
->> endobj
-2423 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.097 567.677 343.504 578.581]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2424 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 531.783 243.599 542.686]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_d20b13c4f378bdc5aa64c3e833a62cba) >>
->> endobj
-2425 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.459 531.783 406.866 542.686]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2426 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 495.888 248.581 506.792]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_6b5c73b1f3f864c8a10c39810b4711ce) >>
->> endobj
-2427 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.92 495.888 401.327 506.792]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2428 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 459.994 254.668 470.898]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_658545ec6169d2843323bfe1ff078e6f) >>
->> endobj
-2429 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.483 459.994 357.89 470.898]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2430 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 424.1 249.128 435.003]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_affebaba13f6fc73438bdccde0966547) >>
->> endobj
-2431 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.944 424.1 326.338 435.003]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2432 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.32 327.442 345.4 338.346]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_d9547cb6430722246dea7f5a70566c06) >>
->> endobj
-2433 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.43 327.442 427.824 338.346]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2434 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 327.442 513.996 338.346]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-2462 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 315.487 208.989 326.391]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-2435 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.265 270.142 358.591 281.046]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_3bc82e8c76e1a47ecc20c85e1003036d) >>
->> endobj
-2436 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.566 270.142 444.96 281.046]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2437 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 270.142 513.996 281.046]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-2463 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 258.187 208.989 269.091]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-2438 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.935 212.843 356.401 223.747]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_7573064b44c45d804d398aec02e7a64a) >>
->> endobj
-2439 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.046 212.843 435.44 223.747]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2440 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 212.843 513.996 223.747]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-2464 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 200.888 208.989 211.791]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-2441 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.88 155.543 369.592 166.447]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_0184ad10aeca27f95d249d3a7e061b46) >>
->> endobj
-2442 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.182 155.543 452.576 166.447]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2443 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 155.543 513.996 166.447]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-2465 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 143.588 208.989 154.492]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-2444 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.184 98.244 267.458 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_6137f367c0c83a73146d84c998d37cb3) >>
->> endobj
-2445 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [271.352 98.244 370.758 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2446 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.376 98.244 513.996 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-2450 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2454 0 obj <<
-/D [2452 0 R /XYZ 90 757.935 null]
->> endobj
-2455 0 obj <<
-/D [2452 0 R /XYZ 90 726.054 null]
->> endobj
-2456 0 obj <<
-/D [2452 0 R /XYZ 90 678.205 null]
->> endobj
-2457 0 obj <<
-/D [2452 0 R /XYZ 90 582.513 null]
->> endobj
-2458 0 obj <<
-/D [2452 0 R /XYZ 90 548.641 null]
->> endobj
-2459 0 obj <<
-/D [2452 0 R /XYZ 90 512.747 null]
->> endobj
-2460 0 obj <<
-/D [2452 0 R /XYZ 90 476.853 null]
->> endobj
-2461 0 obj <<
-/D [2452 0 R /XYZ 90 440.958 null]
->> endobj
-2466 0 obj <<
-/D [2452 0 R /XYZ 90 115.102 null]
->> endobj
-2451 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F83 919 0 R /F65 179 0 R /F23 144 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2514 0 obj <<
-/Length 2197      
-/Filter /FlateDecode
->>
-stream
-x��[[���~�W�툪0;��y;IŹ��*�7u���ڒA
���H�5����
!	X����eZ����믻g
�
|7��vt�B�� #�
n��%	����u�1�	������1��z�[ij��p����|<��?�y�������2���3q�n�D(����G�ގލ���
-)&��j��w
����F����=�
-8e�
^�~
�B���������Hn�C8F.eK���m�Ǚ�2��u���r��e1�|]|.��1�0!;1F�z�og�,�W�z����I:o��)�����l/�R������,�3��y`Z>:G3�TgY�\f��;Ϻ�JD�)�A�K}f�y!p2�2\J�!܋xC�ؓ��@Q���m��� �K��1�
-S��q~�J�d��5&a<�`~k��-޾�
�+��v�n��w��,��W���&�I�%�`B�о+U�{� ���m��� xV� @ļ���͑�MW�|I��Z��(�(&���ե�P�$�}��0Q�>��Р��BX8+�̬���@���@
-7�P�*����)i~*J�R�� U�b����������(=z�`���Xv��t�$��t �&�K
��Y�L����4FJ>
zTp$%���>!�u�l���I ���
|t���h��nN����F#���)H'>���Nu7]�
����
-����`d���Ц+�:�Sj�B	'� ���ą�&
�&`oA۠�v�A��g�]ɐ4@�C�u��Cw����.ʲd�~v}2�
���(��)fU��Q�MTnzߓ��n���X+�ZN��ɲ�pP(��u���@��|�
�p6K��T��
�Y#N8ĕM�
�S5
����‰BTWp�D�A��O�J��+ �c�F��߿�?fw��,�=dV��/���>G
�w+�2�r���99e)�(��R�_y\>�vjq᾽5���5�|s����~��`�������n]r ��2�z�y�`�<JR�� _��Z߹����=D��5��u�:S3"1
=@M�[gFcر��3Ď%S��!�ȃ}R��C���ނI	3H��cꉣ�aj�
��	'�b�C�K���5"ò��t��
���\����1�r��[��
����ke_'�RI��&����QU-���e�+��-�"M�=��G�I�m7���ys�ĮЉ����x�z&�w���CF�g�,���z^9�3k�"�^��Z�6�~�̹�n�\F�V��L�s�w�|��;��!�
���0��4��@���˒��S�;�
-�����S8ޮ��#$�L��`5������
ýi���a� ��C���
�!�j�z�nuC�C�q�Πx!�(
t�^	�����E����0�EL��}$��$;H���$�$y�d]k$���'y{�T�"y��^�W`�
-�S�N+���K{Nz��drZ�	���9)�K�})�?�ZƝ7xE�2b�uW�:ʲg�(��p��:�ʺ�_�D�S]3b�9{�
bu}����~�6Ti�������5vg>��e�J�xVf�ؖ+��mX���n���rf̅1mu��
� ��ԉt����P�w�������o�>P�F��P:Y�{n+pT�#�:��8�jCH�
��,�����,W���)�����Y�W23��
eH�jӾ�ݺ���
�
#
-�ɀ�2{�T��x���5�s�z�R�[�� �OEt�
Z�����cm+������Bm�<
�A.��H����be��}�H��Ҭc��(]���Xet���J�Vk�n%�	�j��
���eHjvB��Zׅ��WCV�
-�Ղ�'�ڲ�����Ks�Ul�^f�+޻^���YeC�ð�)yV���q���/u�3�������0H��bgS�2ӑh%�O��>�ԛh�A�5�DkZ���֔���]�hM�m��D�t� V�hZ�|?њ2іjÄ\R�)��I��'gZNQ�t�%і��������ۉ��q��3K at 3 ���H@��"%�:72���b��gk���"�ߟ���h��_�����h^��yd��}�~����B������Q�)��p��o��
�71�P˵�����0���Ay�ߑ3=/�5��l����<>>�i�
�d�EI~ξi��c�8�@:�O
ݻ\ ������!I���~�
If4
-endstream
-endobj
-2513 0 obj <<
-/Type /Page
-/Contents 2514 0 R
-/Resources 2512 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2467 0 R
-/Annots [ 2447 0 R 2448 0 R 2449 0 R 2517 0 R 2472 0 R 2473 0 R 2474 0 R 2475 0 R 2476 0 R 2477 0 R 2478 0 R 2479 0 R 2480 0 R 2520 0 R 2481 0 R 2482 0 R 2483 0 R 2484 0 R 2485 0 R 2486 0 R 2487 0 R 2488 0 R 2489 0 R 2524 0 R 2490 0 R 2491 0 R 2492 0 R 2526 0 R 2493 0 R 2494 0 R 2495 0 R 2496 0 R 2497 0 R 2498 0 R 2499 0 R 2500 0 R 2501 0 R 2502 0 R 2503 0 R 2504 0 R 2505 0 R 2531 0 R 2506 0 R 2511 0 R ]
->> endobj
-2447 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.474 696.998 322.349 707.902]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_5e7090393ee5801d9c988db6d2a06a43) >>
->> endobj
-2448 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [333.533 696.998 432.94 707.902]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2449 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 696.998 513.996 707.902]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-2517 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 685.043 208.989 695.947]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-2472 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 648.181 265.716 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ea399d3df97c711c758c8bf715e0c763) >>
->> endobj
-2473 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.532 648.181 342.926 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2474 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [358.368 648.181 451.668 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-2475 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 611.319 269.592 622.223]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_612142029eeee3dd72bb0d37c670d6db) >>
->> endobj
-2476 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.407 611.319 346.802 622.223]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2477 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.244 611.319 489.864 622.223]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-2478 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.699 574.458 310.76 585.362]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_841ceef027f12d5c99fc2e739ae340fb) >>
->> endobj
-2479 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.169 574.458 390.563 585.362]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2480 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.84 574.458 513.996 585.362]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-2520 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 562.503 129.857 573.406]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-2481 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 527.633 276.814 538.537]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ad3749930a51c38886b1d5a01dbbba92) >>
->> endobj
-2482 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.63 527.633 354.024 538.537]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2483 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.485 527.633 463.892 538.537]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2484 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 490.772 301.442 501.675]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_06c7c974043c12bcf349c119e73cc681) >>
->> endobj
-2485 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.258 490.772 378.652 501.675]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2486 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.113 490.772 488.519 501.675]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2487 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.632 453.91 372.328 464.814]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_69c0a9ffd5b8910a90a91943a10fe3b6) >>
->> endobj
-2488 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.67 453.91 451.065 464.814]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2489 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 453.91 513.996 464.814]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2524 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 441.955 180.776 452.859]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2490 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.192 383.175 357.51 394.079]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_1e5a2940765710cccea4ef4f1b7f1092) >>
->> endobj
-2491 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [367.412 383.175 440.806 394.079]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2492 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 383.175 513.996 394.079]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2526 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 371.22 180.776 382.124]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2493 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.88 312.44 316.987 323.344]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_d184bea5f8f38b87293d639d57ee340b) >>
->> endobj
-2494 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.577 312.44 393.971 323.344]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2495 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [404.026 312.44 503.432 323.344]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2496 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 252.664 297.836 263.568]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_88c408677f6de73fd80903738268efa3) >>
->> endobj
-2497 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.651 252.664 375.046 263.568]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2498 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [385.506 252.664 484.913 263.568]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2499 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.594 204.844 421.847 215.748]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_977522267df419dd5f2824ce6c0f7610) >>
->> endobj
-2500 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [428.151 204.844 501.545 215.748]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2501 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 192.889 224.501 203.793]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2502 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.314 192.889 363.618 203.793]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2503 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.887 134.109 400.763 145.013]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_96eaf729b170b6df69bc2d1127f8727c) >>
->> endobj
-2504 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [405.36 134.109 478.754 145.013]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2505 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 134.109 513.996 145.013]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2531 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 122.154 206.788 133.058]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2506 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.601 122.154 345.905 133.058]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2511 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2515 0 obj <<
-/D [2513 0 R /XYZ 90 757.935 null]
->> endobj
-2516 0 obj <<
-/D [2513 0 R /XYZ 90 714.099 null]
->> endobj
-2518 0 obj <<
-/D [2513 0 R /XYZ 90 665.282 null]
->> endobj
-2519 0 obj <<
-/D [2513 0 R /XYZ 90 628.42 null]
->> endobj
-2521 0 obj <<
-/D [2513 0 R /XYZ 90 544.734 null]
->> endobj
-2522 0 obj <<
-/D [2513 0 R /XYZ 90 507.872 null]
->> endobj
-2523 0 obj <<
-/D [2513 0 R /XYZ 90 471.011 null]
->> endobj
-2525 0 obj <<
-/D [2513 0 R /XYZ 90 400.276 null]
->> endobj
-2527 0 obj <<
-/D [2513 0 R /XYZ 90 329.541 null]
->> endobj
-2528 0 obj <<
-/D [2513 0 R /XYZ 90 269.765 null]
->> endobj
-2529 0 obj <<
-/D [2513 0 R /XYZ 90 221.945 null]
->> endobj
-2530 0 obj <<
-/D [2513 0 R /XYZ 90 151.21 null]
->> endobj
-2512 0 obj <<
-/Font << /F63 177 0 R /F72 202 0 R /F65 179 0 R /F50 143 0 R /F23 144 0 R /F84 440 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2556 0 obj <<
-/Length 2355      
-/Filter /FlateDecode
->>
-stream
-x��[Ks�6��W�T��d*�8���&�d�{�$�$��F"5$5
�����LI�8����EA�_���tr;��\|s}q����$����j�Љь(�&������Lg�Rm�뛟��F����.�)��"�����+��k[�҅��o�ʺ16w]L
-i3������__|�` �0�Rb��,6���%�?�D$��ލ�L$𿞼�����;��Ř!(�
��ƹr�4�M����u�F��� �[?�so�`0�:�d�]�|���T��)Sѧ�L��:�3�VUv�?b�~��
�ϧ
����Y?i�"����D�x23$Jy;
c��0�*:��tl��L��7�
��nƉ.*Н
�4���r&ZK7u�0#@dA{�߬��b�w�7��OJ>�d��U���D�ù���C��Y�ɂJ5�b��2��?N[Q����K��Q]8��)�X7�?���������j�#�RAʺ!+B
#��f ��@��dD�V6���li�,�
!9T����R*�����Y|\<��K����ɉYռ�?C��2UvQ�9G���;��S���\�ݸ����q0�
�E5"ؐv6����L˩0Q`YR at DPވ5���=�E'Ԩe��D��
EF��
�������y�qN&_��IL!�k�<F��FQ�c0ʘ�g
��(M�
 �@*_�̜�{��EP������pTI"d��Su��i��!B���� ���@ʾ e1Q1@�^ �<��7/v��tIz�svS�\ڼz0�y!��l��uD; �/��+��

dC����'���
8�h�%Iwκ}*J
-��˨�Ӧ��\߅�i�������U��n����4��8
��Q���~�hLib�*^A{0���4#���0�S� L�݌zz�k�JEj b3����S�t�{|N�`�QZ�(-
�J�#(�h|
���@Z�AZ�4��@Z6 �
-'{ -�4��S�9�$y�ڕ��lt

-�;X�pB��Z��n$�,H�ǒ�v"G��r�E��@
Mb�{���(1�^�[M>����W
.G���hk�r�\�2y�Cq��c�iM'�LH}
T���ĝ��<i�
��4�L�%�r��[��0���$nM�˨#��	���
�;tg
j�Q'	��<���3���2�zY7��1,P��.+�ǯN� /0
�E�^��9��t� b���ؚp�:�-�:"!��à
�8(d��K�N�Sv��w�gvA�F����MM�gġAm���9}�a�����0N?��:��m���� �S�y�#����:
�����:�T�H��u9v�
?�v<���������QC=�N�j����ǸE���x\�@��Q��,}+�|
�|
�|

.��(���ҵ�cl���F<k�]��G��h���}�s�x.���|�R�Ga���}�g%^�&e9�&G��}�/r��_�a|� <o�+�s���
-?�1�{JC8<��B!�s���� ��U	H�X�������y+�t�
-:o�
�s���gf�"b
�-q
�t�
����
���X��jQf[��#o>(*`t��ƐH�6|��.��]�@
-��J�ۮe����>�r�W{T~���Nm
-e�G
9_�4_��
�:K�p�A( �����K�MG=	�%J��1V�߲
-�e�7?B����
-�:�u`�B�qg.l���V��
��y�h�d-�Sq�-��
Z�ze�b]T8W"���|n�K�
4�v
�M�[d���rw��wϏ�
�g��`X��̪:�v�
s[�[�{�W{R�t�(Գ,,�Ad�����o͝ט �v�-���W�i�<qg�6fz�Kb�M�
��M����kc�(�R ���wW��� �%Tܶ�iPt�oHG��d
����Ʀ>>t�4H�i�7���
�(jc�s�g:��"�K�X����f䅨4$�
-��C
���m|�LYϘ>��z�'�t��)�`I�
5�.=x�♨�!�B��^��h��H��£�
q]8����9�(£6P!�E��<�_�ֺx�ҭ�Xd��]����Wәd<*ȸ���X�d]I�C�ޤ
�@h�]�4�*�UB4�U��ټL�?���pYB៕�%���?ug�nw�4�չ�5|��冀u.�@�����̀j��x@��l!:�k;�p���4�8��z(�9t��
r�?K��nW��/��Ϯ�+7���
�����5�pN�C~��ۥ���7C�ǮU���T�����&��C
��[@'% 2
��xOygm0�������
k�^Xntk����~uyyO��ٶ$Y}	!x9��q,PU�V�>��`��9�@����<��� WGB7
-endstream
-endobj
-2555 0 obj <<
-/Type /Page
-/Contents 2556 0 R
-/Resources 2554 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2467 0 R
-/Annots [ 2507 0 R 2508 0 R 2509 0 R 2559 0 R 2510 0 R 2533 0 R 2534 0 R 2535 0 R 2561 0 R 2536 0 R 2537 0 R 2538 0 R 2539 0 R 2540 0 R 2541 0 R 2542 0 R 2543 0 R 2544 0 R 2545 0 R 2546 0 R 2547 0 R 2565 0 R 2548 0 R 2549 0 R 2550 0 R 2551 0 R 2567 0 R 2552 0 R 2553 0 R ]
->> endobj
-2507 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.816 707.957 368.48 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_88a7c177ebe33a3d41609609660fd3ee) >>
->> endobj
-2508 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [375.007 707.957 448.401 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2509 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 707.957 513.996 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2559 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 696.002 180.776 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2510 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.589 696.002 319.892 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2533 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.376 648.181 353.663 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_c78c1168665c72eaf8c2457b12700fba) >>
->> endobj
-2534 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.748 648.181 438.142 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2535 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 648.181 513.996 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2561 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 636.226 180.776 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2536 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.589 636.226 319.892 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2537 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.568 588.405 425.899 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_875b11e85fe96586152f53f498158b1f) >>
->> endobj
-2538 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.177 588.405 503.571 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2539 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 576.45 224.501 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2540 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.314 576.45 363.618 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2541 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.027 495.753 412.981 506.657]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_b062917f016d95800e29f87c203fd3bb) >>
->> endobj
-2542 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [423.718 495.753 497.112 506.657]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2543 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 483.798 224.501 494.702]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2544 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.314 483.798 363.618 494.702]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2545 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.386 403.1 373.128 414.004]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_5932fd0c6867d83e3a34d5e680225807) >>
->> endobj
-2546 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.224 403.1 451.619 414.004]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2547 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 403.1 513.996 414.004]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2565 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 391.145 180.776 402.049]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2548 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.589 391.145 319.892 402.049]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2549 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.946 321.407 358.31 332.311]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_d4b80df36fc02b4c47ca160420e50182) >>
->> endobj
-2550 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [367.966 321.407 441.36 332.311]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2551 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 321.407 513.996 332.311]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2567 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 309.451 180.776 320.355]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2552 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.589 309.451 319.892 320.355]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2553 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2557 0 obj <<
-/D [2555 0 R /XYZ 90 757.935 null]
->> endobj
-2558 0 obj <<
-/D [2555 0 R /XYZ 90 725.058 null]
->> endobj
-2560 0 obj <<
-/D [2555 0 R /XYZ 90 665.282 null]
->> endobj
-2562 0 obj <<
-/D [2555 0 R /XYZ 90 605.506 null]
->> endobj
-2563 0 obj <<
-/D [2555 0 R /XYZ 90 512.854 null]
->> endobj
-2564 0 obj <<
-/D [2555 0 R /XYZ 90 420.201 null]
->> endobj
-2566 0 obj <<
-/D [2555 0 R /XYZ 90 338.507 null]
->> endobj
-2568 0 obj <<
-/D [2555 0 R /XYZ 90 241.247 null]
->> endobj
-2554 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F65 179 0 R /F23 144 0 R /F84 440 0 R /F83 919 0 R /F87 1306 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2572 0 obj <<
-/Length 1721      
-/Filter /FlateDecode
->>
-stream
-x��]��4���+|�3�h�aYR��
� �)t.�Ύ�(����Ӱ����V��d;�
W�d�:::��+G�G�N^�N�nR)�R�F��H�H�qJ��y�&���`���v}�jJq\��Wz^O����͖��8��lu��r튿腶mti�H�x�����'��N��0G���G�f��
��P�}�S2��V�(�
������	~�|�Nyo>�~7u��y�����wv��V��ͮ�ۢ*]��*�mt�f�
-
�Qg4A,Q��#�(�v:�YW�zw=氅�ٌ?���.�6۵��h���p�s|��Ʈ�:�BB$�D���ʷ3�J�A�Y�lFR�{l�]���_	G
����*yU6�#v#K�x���0��@Ư�F!L�a��=|i� *����F<�IJ�Foj�\K����$E�@)M\��bm���$����]��5&�L�]e��cq�ϫ���ޕ�Ř�)CT�c����M���1����p������dQ՝q�ݔzJy�_{k�Z�<���\��Z7͈��*�(,�x���
���G]���
bXQ�a������j��^� 	�lg
&�N�+.IS�c���.�a��4p5��H�,�Z��Hԙ��A�"�
�A��H��&��
zݽ�oZ�1��S��R���g���L�u!V�����rƤ@	;B�cƃ��@x+=
�7#VHHyIrӋ��0�����[��]~��kw	�Bċ�ڸ'>�d��u3�!�m]~��X��C�$�>#ڄ�"+��}�
g�
� [...]
	��J\
 
$a\�.�(k�a
-�V��ڧk���Wh���� [��xs� �
� ���$`�(
(�	Y|PI�6���q>8����k=���Ɉ�
��3��(�1r!"�!ΐ0�.c��%�gEr�I�
(�ܙ�����A��
bʵ��
kV�KW���t�0���z�bo�!� ��$̋;H����
$̽�Do]?;	�'���Z0��@"��A�С
��$V�tǛߦ)�ڄ�%D�e�G�
s��N,����6ռ����?u�
�{p�̨	h8����={?�0e:���#n�%� qw[g��]]>3z���
�5�n��l'q��I��]H‰�Xxn��_�n��+�&F��N��t"`vh:��k�e�3��5
t~2��=���RO��,�t
-񔟐t�L�%
���"g��>�y
�	�9�mA,�ĐPw�.&��$�i�� �,0���f���8��IX��u�Y�kџ�� ��:�ژgq-Hg]�k�?�t��\�M�.�
-���4O�tLj�i�tD�����,
���j:
-m�Mw

/�ge�!�b'�{�ك\��
��kW
��|��L��:��q{3�H%���;�%��?x�����O���>�
��!� a��ݞ�z�/@c�x
�{~�J��
H�_u�W�O��UgJCUg�~��0t�~?��3��ć8���\��΍�U
�Uu�r�ꬉٔ���v)��}��;x��gd��_�/����y�H	&�?�q�X��,hVo̦�h��Gj枾,��Y}�
-׮�ˬ\�������.d���F�_L�@ݸ?f�.[�gfs�`�Եj�ĐG�h"��������G������h"ߘVm�}~u���Qޠ]YlkT�W�
\=���%T
����
-��j��P�P���\
��_T��
-endstream
-endobj
-2571 0 obj <<
-/Type /Page
-/Contents 2572 0 R
-/Resources 2570 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2467 0 R
-/Annots [ 2569 0 R ]
->> endobj
-2569 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2573 0 obj <<
-/D [2571 0 R /XYZ 90 757.935 null]
->> endobj
-2574 0 obj <<
-/D [2571 0 R /XYZ 90 733.028 null]
->> endobj
-2027 0 obj <<
-/D [2571 0 R /XYZ 90 716.221 null]
->> endobj
-2575 0 obj <<
-/D [2571 0 R /XYZ 90 716.221 null]
->> endobj
-2028 0 obj <<
-/D [2571 0 R /XYZ 90 601.983 null]
->> endobj
-2576 0 obj <<
-/D [2571 0 R /XYZ 90 587.413 null]
->> endobj
-2029 0 obj <<
-/D [2571 0 R /XYZ 332.797 512.786 null]
->> endobj
-2577 0 obj <<
-/D [2571 0 R /XYZ 90 496.059 null]
->> endobj
-2030 0 obj <<
-/D [2571 0 R /XYZ 90 353.811 null]
->> endobj
-2578 0 obj <<
-/D [2571 0 R /XYZ 90 339.241 null]
->> endobj
-2031 0 obj <<
-/D [2571 0 R /XYZ 332.797 262.557 null]
->> endobj
-2579 0 obj <<
-/D [2571 0 R /XYZ 90 245.83 null]
->> endobj
-2078 0 obj <<
-/D [2571 0 R /XYZ 90 103.581 null]
->> endobj
-2570 0 obj <<
-/Font << /F63 177 0 R /F23 144 0 R /F89 447 0 R /F65 179 0 R /F50 143 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2583 0 obj <<
-/Length 1672      
-/Filter /FlateDecode
->>
-stream
-x��[��6���y[����ķ��:��ne�C[��� aI(�����B���6�O��o�>��|
8X8�i�t>yx.X��T�e�q A��`�ކ=��q��m
_O)��qmŔ�0�
�x5�Q�ß���81���Y��dND"�C����/&?�'O����Iƃd;y�

��0bZ�kD��w���6��T�2���G�z
iV�&T��d����ճ�M-}a{���V��$��6柴:�II�sl'��M��3B��*cGg�=<��
p��0�
z�1��u�(���ۭ}��I�8n�|?��ڄI����em
��y���J��d!{��Qp,�]{�w>i!*Yw
�ԝ�@;�h����l��,���
�zΨbHGL"����t�n%�0��
�
��tr���j
W�%m��O���G_˗c�J�xDO�q�b�+u�lĨ�P��.�����x��y����Bf����M�MR{$c;�	��ċEa�rD�Q
EZ=y7��D��C.Λ@=1.L�4cP�0�~ī�2ONF
PHb�cp87h��i�iJxX�#�b�٫�ָ��������0
4�x�A$a�,��p9��
`D��)���\ø�7Dz2[;\���
Lh�Xt�
��{���׌i�4 �[]4�j�q��
؀��
-I9��B����0����J>T5�e>�A:
hX�ַ��Q���1iOc,zh$ ���)
�8GI�B�/��=,{Q� �q�Z;5�{�7q��IFR� ���K
"�a��H�o�k�e�D
-�
����� P9��n6u�fk��+U3�ܵ��"�8/�f�(�) �
-�i�
8<��$:C� #�0�P}F at Ns�>EJ��ƌaB2q7& z��W0A(bX��	�q�Y3�p��So�nE����I
������C����h+
��wI[/Lb�0X���ȹ�-4��e����I��I��[�DF؉F�v�0–
#�u��XP�

�%
#�x�R<"�ρ�@�����d�2�g���v��nȟS�]���
���Gw��|msFI��gI�v� �|�B�SS�z�S�sC�к*���f�i
���8z���)���ȹP��Λ�;���}�A���U�_6.��v��N�$�7��4W��C�Ƌژ�ӪN�>Z'�7{sob���VDߓح��=���
-Z�&6�L^6C��/	�6�na
�C7$t�j�ۨ-��C[����mY?ެt mh���m��6 @�X-�S�9�QV
	/ݫ�\
Y
����b/jY
"�jI��9����}c��O���!#ݗѝ�!��~>p��5 at h$��	�-d ����*h`���[O�'������zb��ن��Ί�;B�}�A�=���	!���G�U{���{�
��>�<���;�<���OB�K�.$t���Q){	���:[�� e�
}�uU)	��_H��]!�%tq��	�_�N訊\Bg���ΩO�&�Uhs:�]�>3�kO���������� �)�ST�
p
[
\f����A�bk���u�o}�~(���+�|��q��ǫz��S��>�]D���n�yX����>��6{1|�K��vjb�#D-6�}�E�c���'�WД~�8#w���B
��U�{��p8
PR�}��
-�V ��s�&! ,�܃���{H3nck�3;�
_��
-endstream
-endobj
-2582 0 obj <<
-/Type /Page
-/Contents 2583 0 R
-/Resources 2581 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2467 0 R
-/Annots [ 2580 0 R ]
->> endobj
-2580 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2584 0 obj <<
-/D [2582 0 R /XYZ 90 757.935 null]
->> endobj
-2585 0 obj <<
-/D [2582 0 R /XYZ 90 733.028 null]
->> endobj
-2079 0 obj <<
-/D [2582 0 R /XYZ 90 626.332 null]
->> endobj
-2586 0 obj <<
-/D [2582 0 R /XYZ 90 611.762 null]
->> endobj
-2080 0 obj <<
-/D [2582 0 R /XYZ 332.797 537.136 null]
->> endobj
-2587 0 obj <<
-/D [2582 0 R /XYZ 90 520.408 null]
->> endobj
-2081 0 obj <<
-/D [2582 0 R /XYZ 90 378.16 null]
->> endobj
-2588 0 obj <<
-/D [2582 0 R /XYZ 90 363.59 null]
->> endobj
-2082 0 obj <<
-/D [2582 0 R /XYZ 332.797 286.906 null]
->> endobj
-2589 0 obj <<
-/D [2582 0 R /XYZ 90 270.179 null]
->> endobj
-2137 0 obj <<
-/D [2582 0 R /XYZ 90 127.931 null]
->> endobj
-2581 0 obj <<
-/Font << /F63 177 0 R /F23 144 0 R /F89 447 0 R /F65 179 0 R /F50 143 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2593 0 obj <<
-/Length 2221      
-/Filter /FlateDecode
->>
-stream
-x��Zm�ں�ί�[a�h-ɒ��O	�fH��ޅ�6�d��lj�K�_�^�"0,�I��6�l�z9����H���t�v^�:7�r�
P�	����z
#Fpw��~�y�v
���m��}���ͷ�Xd}���d^����0�7N
-�-�H��X
-�F$�
-���<��y��3�u���`���jJ�!��n��|��tP��� �݃j���sӝv~�8�'9���#�06>�I�x�(oq��|Z�������!.��(��6�k\|SC��'�9r؁�

`�f,i��lw�+i:��=�U�O�Cu#?h4�둲�n��M�@`��S��s��
-Fi����Xa
�
X5U�L��h"����
-*L�F�Nu]D<Z��aӈY�!�TS��&,��nɜF��)
-� ��C�����}�Y�����P> P&4i���uX�v�]�~��0�� R�?5�P ����hh�RG�࠷��d�
-�!�f�f ��.
�i.�g��A$�Z�`��‸���ېL�BoU�-b�b��P
��E�� �z5v���>��*T�
��:L��4�/���$�OX����Q&�ꂵ.r@�@�Xd"�ۂH�'[Ŏ��Za
)�*���}@;�U�T�۴�
u�g��H��ȁ��:ͤ���'
'�B�)W��H
-���:�֦�D#^���\>U���[�ً�8��nP���~2޽����>�}�'������������I[�|��Ӏ��
�!�;FY�Tӱ�h]
�h�"�J���A.;���C��.E.o��܋s�\%i&�&
��@���
l�*��
#�EE��>*Jd�üFo�n�pS��V�3
�c���y�Bt!0�غF���媔�������8ȗ��P�AK�jjI��yN�F
�P�(wJa���5�M���ף]��S�xI4\��NK�U��
-���V*���yF��Oe�?T6��T6l+��-p�]?�2.�k��
MGV�׋�2�]��B 6�h`"
4��o#�6�urƑG����t�����(*�*Rڸї���2i]z�A����f`���f�w��O�	�z�O'�(� �v�l2_}������m
/�}<���Q��o�3�P�$�_�d~�(I�A���CeK��]��n���"�=��ʷ�
�>�ܥ�64��mY��87åf�tY�f>@�\WI�G��Ԗ�U�^/ܦ���� Q�:=�����h�ճ1����������v��>�a:{g��V;`���t4�M%a�#Ʒ�����C�㚮��릦��yM�v2�+ex!�(���Uۡ����^���q8�=�9p{��I�P�`ˀ��<��d]
-��uߊDd����;I�6�;O��ɺ��ƺ��
Z`�Ll']G��SW�����.4e���tW���p.�>
-�3���x8U;��te��"]��"]�5ԏ��K g��
e"/P�+�Ԥ�6��m��HWԹG�Y��խLG��4QG|��)��ߎNh������H2b�&��{ 
��
�Da(�A�ğ����Թ����mvbMvb��3�6�kl�/��i�V��\�`�G��X	S�Zh����e6& �0����4��y|ƒ ��_]T6��*��Zpm�0�O�C�X�9t�L����y�2��
b��&X�O@�4AuԳrJ�������G��B�~�F�
��%�r�\� n���~E�0lq#ǽJV�U���0�e�$O�EI��K��fLYk1��X���T�_f
��_iNl&W��"�;�P��	
�q�&%د��)�'
I貰�ҭ��)���ζ��ȟJ�f�*GS��|�|���L%IY���
��������d���R��R���V&��"m
�}:�τ���L�Ѻ�e�e�)�m~p��@��m���	�{��	�p+
-��v*�
���6SJ��g�PVNx�r$���2�؆i8����C�����`Wny�ap:��Q�:�G6J �)y�+e/�R����?�|��Q�p�m��$�����:f��u�{�(�'������7۵�^%��p����C��������8�S��H�k����� �p8�P���p�s��I��0}����^�b��I����7]�&�0Y�Õ��g�6Vd�
s����X/�
އ�^����F�^f ��
�b���
�7%2u�t˷�vZj��
;��n���rss8
P��}�27��7��]���XͲ:Y�mS�:�C�@�V
`��:���(
-endstream
-endobj
-2592 0 obj <<
-/Type /Page
-/Contents 2593 0 R
-/Resources 2591 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2467 0 R
-/Annots [ 2590 0 R ]
->> endobj
-2590 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2594 0 obj <<
-/D [2592 0 R /XYZ 90 757.935 null]
->> endobj
-2595 0 obj <<
-/D [2592 0 R /XYZ 90 733.028 null]
->> endobj
-2138 0 obj <<
-/D [2592 0 R /XYZ 90 603.233 null]
->> endobj
-2596 0 obj <<
-/D [2592 0 R /XYZ 90 588.792 null]
->> endobj
-2139 0 obj <<
-/D [2592 0 R /XYZ 90 453.492 null]
->> endobj
-2597 0 obj <<
-/D [2592 0 R /XYZ 90 439.05 null]
->> endobj
-2140 0 obj <<
-/D [2592 0 R /XYZ 330.436 340.513 null]
->> endobj
-2598 0 obj <<
-/D [2592 0 R /XYZ 90 324.289 null]
->> endobj
-2211 0 obj <<
-/D [2592 0 R /XYZ 450.246 249.289 null]
->> endobj
-2599 0 obj <<
-/D [2592 0 R /XYZ 90 232.691 null]
->> endobj
-2591 0 obj <<
-/Font << /F63 177 0 R /F23 144 0 R /F89 447 0 R /F65 179 0 R /F50 143 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2603 0 obj <<
-/Length 2233      
-/Filter /FlateDecode
->>
-stream
-x��Z[s��~ׯ�[�s���S�I2I����ǣ�����  
�������)�Ng:�X�圳g��}k���/�������w�-b
*��E�R�)Yܦ��K�H�Z��r��ݽ_Q�,wO�:�VD-��I
Vk�����6�h����j�G��D�/%Y}�����۫߮���.�%��/6���Ox�B��
�X�G�+_D���n����W؛��n�x��0!a
I‚;_���.�����x0�ƈE����e�e��9o�WI]g�N�[��S]�yV$MY��r;��W:?������dw��L�y�v�I�8gά}�|��<g��EJ
�Ȳ�{$�'+�o���iWn�&+}{�m��qt���%��
u$Ko��Ɩǐ
���0�:f��xx��)��9��a�</�V7��P���]Y���Gp@3�@�a&��1o���>#
��(m�J'�G]OL�+—��P!3%$
�H���n����y��c� *��`w�����͓y�&��F)|����Eٸi��C��]��mU��)�/������&&l�.��X�Z*�
���$)���H��T
E�Z8~J��כ��HEl8M��i(�L�E�W�Yp�X�n�(0=��
���#�� Z$���Ɍ�"&��'�g���
��<@��/:tr��Y3�/rP_ED�"c�X6Wm d�<���;f��?����c3fSu�SΤ�0HY!��,��&�V�n� |�+�n��;}�W�8��B'�ݷ�����X�����!n����5�m���3t��	N�8���6�G�S0�G�/\ 
- ����]ʍ��08�U%�a2�=�u#8^�
k�.À}���{]����Ü#<����L
���$�E�>�>Vz�4:�8�k��;%�����; R&���}YgMfʃ�L�
-6�"� ��5l��(D�8_
8�_:Dq3�Eq���5(?HY�D�P���yq��6�]i�=���—�r��'
-S��Gf��c�yt����15���$YD�8���
�ӂ�9G��F�|2���L&x�Ld~���/�2���4�mň n��3��+b&Jr
���M0C� �$�i�s:܇9�f� wYp��2�얡Z7 �� �xn�D<�5�m]v�g�$�6

����:���đ��C���	���q�m�_�j���M��

�� $/g�AB1d3��2p(]T��������;b�p�x�^����1��~8�F�8,�s���VlF��

Ik[kl�d ��
�B
���2��=O!z����X!��
-��*D6�	��ŌBds
-�g �/�
-��\!b�u"�:
-�?C!�g*Ğ���(D9T�J�*D���&�Ōb�Չ��t!�
Cyn2{'*�'l�(��4������|
-��0vNn�g�
�QL���Dn���Tn�"0��L�̡�<�#;�C�H\�� �+'�93I����,��)���5TC��i��&�:���-�}�x�i
>�n+;��DI�ň��ӫ����4>�~�<yrݷ�����im^�Y��:n�0du�FI %���am�J��
-k�Ũ��M۬��H#q��

F&&�e-�� ��D
���
�$iz�.n6O��N�:���n`�&�� z���}� H$���]��#
��|x��W�����,���wa!�(���i:e.��y̌��� 
FM=9��K�BKC�z��:/�����X\�bh
C��io�J�VU�}�Z��(Yn��1us
-�2�
5���
��л�>��1�*m�lc�]���S *�+
&�M��P{G��
��,⏰�oa
-��[��d�v�$މ{�BE����<I�w���1>��p�a�f
-a!�x��^����#_�P��/B
���oJ���@��,�; M�d�M�0�5�ޣ�
-3�h�.�����\<n5)�R|=`0�+��`�R���
���;���{���C`0�3�����\�j

n
ȴ�8k���3{:lH0�Jl�":�;˜���������d��u������}o64����W���<����*���~뺼K��C��ǻ?��7���ZWZ��݀��t��f0�Q���5B#�B��9�pG����t�ע}�����/jv��4������65:پBYs
�t}���$����P��4
��U��Иۛ��}�����
-endstream
-endobj
-2602 0 obj <<
-/Type /Page
-/Contents 2603 0 R
-/Resources 2601 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2609 0 R
-/Annots [ 2600 0 R ]
->> endobj
-2600 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2604 0 obj <<
-/D [2602 0 R /XYZ 90 757.935 null]
->> endobj
-2212 0 obj <<
-/D [2602 0 R /XYZ 215.12 657.884 null]
->> endobj
-2605 0 obj <<
-/D [2602 0 R /XYZ 90 642.403 null]
->> endobj
-2274 0 obj <<
-/D [2602 0 R /XYZ 215.12 423.747 null]
->> endobj
-2606 0 obj <<
-/D [2602 0 R /XYZ 90 408.266 null]
->> endobj
-2275 0 obj <<
-/D [2602 0 R /XYZ 137.91 333.017 null]
->> endobj
-2607 0 obj <<
-/D [2602 0 R /XYZ 90 318.971 null]
->> endobj
-2276 0 obj <<
-/D [2602 0 R /XYZ 90 211.179 null]
->> endobj
-2608 0 obj <<
-/D [2602 0 R /XYZ 90 197.233 null]
->> endobj
-2351 0 obj <<
-/D [2602 0 R /XYZ 90 89.441 null]
->> endobj
-2601 0 obj <<
-/Font << /F63 177 0 R /F89 447 0 R /F50 143 0 R /F65 179 0 R /F23 144 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2613 0 obj <<
-/Length 1621      
-/Filter /FlateDecode
->>
-stream
-x��YK��F��W�+H��y��6J����6�*�,l��Qmp_���=30��o�V�����<����=��4�q2�{%��HR�M�^�=%	�x����W�D��`���v=}P�g��J/�~�N��>S����R��x�����R�5:��g�W4�8y=z9�5" {Ī
-)&��f��#������BooWm<N\�޻�o#�(|���QDqeC���:g�n���t����4.��>u�?`���o,�{F-
+D9��'�����(l<
Ƃ8P�,-�k���(�Ƅ�HTF�9�`
�ֈ�����\��R/>����	�	�*$A�}���E��p�h�z^��Q� N�,wk#�n��%�뒆�a1��B�9
(R�d�+D���O�P�
-��3�G~���f�m�$u�`��n�h����I���k�zo��8 ~1dA�9:�fn%2ɨ��v�u��&�?�Z	r8�F�bJ	"�tl�ؘ��"�Pu�[��S���+�x�c��i��bx˿7�Jzk
Re�@�x��L0t�v2b�-��N��H>l����7��C�d����|Q�t]��IR
�ӗ����� BB$8���� ��Q�r��E����N�3:0"L�g��r݅
-����R��y��,��]fU�Ͷ��A�I�����i� [^2R]y$iEpu?����S�D�2�h�H5
�����yb��U{0b�<�gkm
�!�~e�4��5$y�@�
`ɡ ��;����
��&�B�!�[�h����@7Q�
��22.�]R���^|�SХ�J���M�����B��S۝��W�|Ջ�uA��q�p�̙B�%y�h�J����6:��,o��6�`:�m�/
i��	ƅN�M�~�A�ʕ>���
�m�R]$��&�ؐ�y�V�&͎:O"��:��:!�3v�X����
y
��
���o����N �nV�I�+�q�7i��&�:X�|M4��4u}�F�aS/�g�#��Pt���#���G#�с	�U���b�4�6���il����׳A69����jD�f�QsG[�O�Eן�yMH���i
N��7`�u�2�]
q�D�)�*��[  4�%71�'e�B�t���S��"�tB҈�7��S3Y�F�N�����K�K�n
0H==��|�ߤ�y�I):��&/Ce��+9�j!�GU�~tf)��[7���ʶB�̼D�$�J�N��T� .�D�J�W	��v҄�!ү˝����Fa�$��k�R�TCB�UG�
�����n�k� ��k�����
-q+��g�̃6ɶ�
�
q�&:c
-��~�
]�;�(��q�1��)�^�����hU���f�G����G�̠�wf�Ǎ��n�
��	����	������Ψ����&j�m6Yj����`/,q�A�ɶ����8%C���oS�c��ǖ"DG/޶�1�]L5mb����>v��Ify�܏nɛ8��9N���{�mQ����ο
��
�¯q����?���Z�;��C8�cD��Q0f�~�듆���^}������.ʡ�5)�*����~��ڥ�6GIy{����h�G"j�T,m��&˵�!IM��m�$N� �:;i
-endstream
-endobj
-2612 0 obj <<
-/Type /Page
-/Contents 2613 0 R
-/Resources 2611 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2609 0 R
-/Annots [ 2610 0 R ]
->> endobj
-2610 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2614 0 obj <<
-/D [2612 0 R /XYZ 90 757.935 null]
->> endobj
-2615 0 obj <<
-/D [2612 0 R /XYZ 90 733.028 null]
->> endobj
-2352 0 obj <<
-/D [2612 0 R /XYZ 509.915 675.861 null]
->> endobj
-2616 0 obj <<
-/D [2612 0 R /XYZ 90 659.134 null]
->> endobj
-2353 0 obj <<
-/D [2612 0 R /XYZ 90 510.446 null]
->> endobj
-2617 0 obj <<
-/D [2612 0 R /XYZ 90 495.875 null]
->> endobj
-2354 0 obj <<
-/D [2612 0 R /XYZ 90 347.187 null]
->> endobj
-2618 0 obj <<
-/D [2612 0 R /XYZ 90 332.617 null]
->> endobj
-2355 0 obj <<
-/D [2612 0 R /XYZ 90 154.754 null]
->> endobj
-2611 0 obj <<
-/Font << /F63 177 0 R /F89 447 0 R /F65 179 0 R /F50 143 0 R /F72 202 0 R /F7 2619 0 R /F23 144 0 R /F8 728 0 R /F13 2620 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2624 0 obj <<
-/Length 1776      
-/Filter /FlateDecode
->>
-stream
-x��[��F���~�-�ٹ_ҧ6J����6ۧ$B^0`lj`��_�33��
KhR5�،�m���E��F�ߎn^Id$���<08P� AIp;
ޅ
-�	�8�lV�7�a�z\&�"":̳�.^Dc*p�c�K�y<M��o�<qk���"��P����O����?GL�q*�B��`�
������)��
<�U�S������>i>eKј�(���!�vјq>��]��f�l��cL�d��.��x��'E�

<
-���+mZ1F�2
�um�~M�j�]��%Ϣ�b�Y8K�I�MA��>�1"�1!Ȉ����&�����*��qѧ�!�[�	�~��y��M^�Y���a�:[��$�"�d%juף
�X�{�jQ�����@[O���|�'n��i��z-)�*�
�
]���!�Ѷ� Mi��]���]2��W
-�Z		
-I���� @�l�m����
6�
f^G0��z�v˲v7E���*���a"/���^^�l7�tW[�?�e+�N�4��g
�Ķƫ��d���6e|ɖ���lk���1�CZ����b��J\�2d`KZ9��U�
d8	��C~�hXI!��ZU[!�
-��Ri���d�4�
�8XWf�3��	���}$dXU<amG!��y��Jq�R���|k�j�v�͍�v��}Q3
-���5��p�ƈX9=1�d
t#�1CΨjn
��
�c
-��
�'��\��x��T�>�<����%�6P�`����h=ѭ�3�;�m]~�X�D-k#.�%�꽰���d�큂�I�R���y�
�FiD�Q���*��nU�)�ey��Ա����zP�T
i�@��<㐷�;�)�!w(�;r'ۯ��]^�=�k�*��>T�9_�l1�Jb�
�.?�θ�-j�����49��~��$�S�U�C��o��5���<s��ݛ%Y�N���J�ͮtu�z���œUED�.J�J:����op��Hx�b��Hb}�#[̣��H�t�'a$�$�a$
��~
�ę`�&/,z1Dnr)
�+$��U����}\�(�M"�P�G�$��;�&��J
�U�$p!5�o��t�&��O4���U()I?J�K�/�\�$�nPқ�
���
=�� � %��.JZ�G(�!1(.��(FHŔ2
C�*��1
-/3
�|@c��K�J����js�8�;�t�($%
�1�<�Z
Ǟ�8B_&E��2��z�:�v�C^HS��Rx�H�Ш��_A3��W�,Ȧy�`z����׌:�0xQ��1�n[0V at +$��ry��\%�҆e=��lF�P���g�C>BB�#���n'���e}�/i�\�̍E�X�����km��
ϓ�N��B��B��B��e\�=ft��aD�3�(aH���r��*�Q�!oa~
`Di`R��Q�5��-���Q�eDy	�Xr at g�p�Q~

!`���H�S�}U��8:id�l����@ENY礑�4q��ꤑ�OK<�

�4z树

4ң�Fv�1����:y�%\�[�N�!#��!;A��
\�j
15��R�	�(�;����h�r����[XØ=O5����x"
j�&���!����
��᧧�ڦ���F������&8�4N!
�L�v�1�lV�c{I�7e]�����]���_�:�{?]����u�iy��mR|	n����>^��,��[��q|
�M���R
(3�÷I�d>շ�G�Y6~Q��.��n�y~s���[���M���
�����q�H4�9w[
���"�>��mE�v���(82
-endstream
-endobj
-2623 0 obj <<
-/Type /Page
-/Contents 2624 0 R
-/Resources 2622 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2609 0 R
-/Annots [ 2621 0 R ]
->> endobj
-2621 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2625 0 obj <<
-/D [2623 0 R /XYZ 90 757.935 null]
->> endobj
-2626 0 obj <<
-/D [2623 0 R /XYZ 90 733.028 null]
->> endobj
-2413 0 obj <<
-/D [2623 0 R /XYZ 90 560.67 null]
->> endobj
-2627 0 obj <<
-/D [2623 0 R /XYZ 90 546.1 null]
->> endobj
-2414 0 obj <<
-/D [2623 0 R /XYZ 90 357.561 null]
->> endobj
-2628 0 obj <<
-/D [2623 0 R /XYZ 90 342.99 null]
->> endobj
-2415 0 obj <<
-/D [2623 0 R /XYZ 90 154.451 null]
->> endobj
-2622 0 obj <<
-/Font << /F63 177 0 R /F89 447 0 R /F65 179 0 R /F50 143 0 R /F72 202 0 R /F7 2619 0 R /F23 144 0 R /F8 728 0 R /F13 2620 0 R /F11 727 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2632 0 obj <<
-/Length 2239      
-/Filter /FlateDecode
->>
-stream
-x��Z[��~�_�>U�
�)&�C�H��[`��>M�֦m���J���_�CR7jh�
�E O�$��s��G�8�&8��曻���$K4Ғ��n�h�(I��$�['��BD/�c��N�����ڙu� Yz���.�T��5��X���7�T��L��/
�~�����_7L�	q*�B��du�������`�t��ݬC�)��>�t��|�|��b4QDU���jKI���lMe�b_�b�y��cZ��<[��wM^���H�_�]��w����C�)0�Yu��9�������^Τ3si''K�q��J�� -����U����u��N��MS^0�P�4
���b�PD2>5ka|<,�<˜Q�.o��85�[(�>�LL���1�˫;y:D�R��j��`��;�Db�Wx 2M�ј�����&�
1�CP6:�
VU�f��g
-<���(RJ����r��_��m�D9M�cD�P2O�@2��!P��xq._��Ha�_�,�)��yy�iNf�fÕ8�N��J �
Z�
�S[\
"R_`^H���։�s���SP/�8�څ4�#Nij�&,�H+�u9MM8�}��n�z	I��dZ��ۈV��z�F�8QM�r��w�6Ռ@^�
Ԇ��!6��'����ƃ��Խ��
���ޏ��k�}���Km&A��l`
-(�r4�"{ͳ���`5HB�O>ڤ(��`�s4_FA!�dHa
�2 C:���a �x(Ի�A��{����������c}0�g
-���{�<H‹6ԍ�lڛMgî��5�{
��:OW)6��P �<ܽ`�W95r
�%;t�gV�R�n'�k&A�\�O-�y��r��
�"P��$��3���!����7����ȃ��f� c�_&d5���}��0�����o�<�9y��y`Sh����HI}� qP,=��(�@�dw�č���q���.���v�
���=X������ɯ��؃��
�g�
�9e�2{����YF_f�J����J� {�
~	�@��
���a�
ȯG
~K�AO�U�O�)oN�����`*���"o�	�p9���h��6���x�0�����@J��~��	���[��b�
�v[:@~�
�¾dk:�6R����qkZR�Ӓ��Ad����Kx�o�+�؎���_�ձ^�ն�y�3�Hˣ
RW����۲���6��jl`�:$0��@��"���Pd5
_:9�SۇK�����r�3��$g��`��C6���WD��i�+�#0�Q����i���|ޕ�]_�M�~(�\��$P�!>:�Tm]���-d~�@�h6��h>q�}e
g�k�Ab�'������g��e�b
d �e�tA�"|&"� ]���vf�����
��!��	�F��|X,%����P�c���+�>���W����Ǡ,̾#�Z}.WQ$--�����c5��}�s�\����4�JL �UPV��?l����IP]�3	��A�3_76:��W��ֱ;{{�p	C.���P��|��[��	B~�	�r$^\׮�8���s8 at 7g#�
C��H�2G'��}����,܋X=�~� k�)�i�@Hn?�lث-��B�͘
����ܶ��TO>�%�M���σ�ݗ�-Ғ0�kh
Vˀ�	њ���(��dߞ���m`�J��A�3���qtM���0<�B��C�I�ʜ��
��)�}8�9?8�߻�.��Դ�ॼL���F&�x�0�� ��%N [...]
-�b�K� ^�
#����0��?Ѓo4�핿ϻ��!7�4�K� ���8�v�Caoi��
S��~(?�E��o��)�j���'��ρ;	Zu��ј��
!���zt�(xgS����.��!F�-��Y�&O?�9�{�I?����.ʁ��޵�������V
z��S���b���br�H fF*�0�v8�Ư���Y���h
���,��
-endstream
-endobj
-2631 0 obj <<
-/Type /Page
-/Contents 2632 0 R
-/Resources 2630 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2609 0 R
-/Annots [ 2629 0 R ]
->> endobj
-2629 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2633 0 obj <<
-/D [2631 0 R /XYZ 90 757.935 null]
->> endobj
-2634 0 obj <<
-/D [2631 0 R /XYZ 90 733.028 null]
->> endobj
-2416 0 obj <<
-/D [2631 0 R /XYZ 90 565.934 null]
->> endobj
-2635 0 obj <<
-/D [2631 0 R /XYZ 90 551.364 null]
->> endobj
-2417 0 obj <<
-/D [2631 0 R /XYZ 90 378.765 null]
->> endobj
-2636 0 obj <<
-/D [2631 0 R /XYZ 90 364.194 null]
->> endobj
-2468 0 obj <<
-/D [2631 0 R /XYZ 245.645 236.078 null]
->> endobj
-2637 0 obj <<
-/D [2631 0 R /XYZ 90 219.47 null]
->> endobj
-2469 0 obj <<
-/D [2631 0 R /XYZ 332.797 144.724 null]
->> endobj
-2638 0 obj <<
-/D [2631 0 R /XYZ 90 127.997 null]
->> endobj
-2630 0 obj <<
-/Font << /F63 177 0 R /F89 447 0 R /F65 179 0 R /F50 143 0 R /F72 202 0 R /F8 728 0 R /F13 2620 0 R /F11 727 0 R /F23 144 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2642 0 obj <<
-/Length 1400      
-/Filter /FlateDecode
->>
-stream
-x��Io�6����Uj��HJ�u�v0�� m\��bѱPYr%y\��>�ڨh�̠�)'q��֏��ޣ����w���/�y��r�Eؓ� N��L�[_"�c�����zN�_d��J�9	�"_���|A9�?�*7�Z��j����!0�K>�_~�����3# ��ْK$�ֻ��=���aĢ�;�U;/�
��w3�}���s<�2���;�YR��#?��\�)���se�F�"��R����u��Z;P��*;W��Z�l�����U�EYi���| 
$����F��f�#7	aa�$���c���
�Y#ʦ(���7�A��/;�5�RŵJ�ނ�k��
BP�9����y&I��)�Bh�N��~;��Dc�d�'X����%4�s�m0�c�3��f�m��V�Yl�n_��]�%�N�Uھ	>��	�
-��O���*t�7ʚe!�8�G"��+���RGRqt9���Y�$��2Q��6�3F��!_�F#ƈ�+��c��Yc=х�
o#UO�:u&&v��4�°7��U(E�氷BQؠ>�������
�k\U�ݾ����Q�A�ɐ���Ha?���ƕ�Ӻ��/:D��P#��+	�/��=�E�6Ks
:��,W����WSX���n��5���|��a��D+
��$A�Ec6�
���h�J",ɓ�rt$
q��
�;`¨��eQ�0$����"��'���:"�!�qb82��IJW���P��C��r[�LS�~"�D�.:p3i����2x͎:����,v�e� k;bà!6<�����H�����[����b��Iװx�k�	��x���y���(�2 D�]B�!!P�
!lq��"AM at Bp�͐�^�
$@� �/��)a�P
�����^
F��W����``�$�~t��;
�'"�Ĩ��C��FwRK�|��s����C�R���-!
-���mC-'\O
�P�`TõԘL�� �}|!X�����[E�V�9
�?+���u0�u���.��CV'�Af���c�!!,I��i� ���0�#Զ�Z���5�3B��&���a�B��$����Y6A��Y���*�YA�u�m{~
�B��؅�
8�xcū��z:P}g���')�86��[}�J����?��p��N���UN8�gks��Ȳœs�_חCL3�z�#plCŠc�GM
�A.��n
�v�r�BI�l��L�(��������f�+���6���)��u�����d���1���҇2.O�se�|���C�ؼ�ad]��R�s��ʾ�[����i�[��9�a�@�H�1у�F���{m�י	�^/���-o�zyqq<
ѺB�<ݗ(�/��O���
-��m�p
�TV�4���	44����
-endstream
-endobj
-2641 0 obj <<
-/Type /Page
-/Contents 2642 0 R
-/Resources 2640 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2609 0 R
-/Annots [ 2639 0 R ]
->> endobj
-2639 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2643 0 obj <<
-/D [2641 0 R /XYZ 90 757.935 null]
->> endobj
-2470 0 obj <<
-/D [2641 0 R /XYZ 90 625.864 null]
->> endobj
-2644 0 obj <<
-/D [2641 0 R /XYZ 90 611.294 null]
->> endobj
-2471 0 obj <<
-/D [2641 0 R /XYZ 332.797 534.61 null]
->> endobj
-2645 0 obj <<
-/D [2641 0 R /XYZ 90 517.883 null]
->> endobj
-2532 0 obj <<
-/D [2641 0 R /XYZ 90 375.635 null]
->> endobj
-2646 0 obj <<
-/D [2641 0 R /XYZ 90 361.064 null]
->> endobj
-2640 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R /F23 144 0 R /F89 447 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2712 0 obj <<
-/Length 997       
-/Filter /FlateDecode
->>
-stream
-x��Xߓ�8~���G�:����p��"����U���Q5��w7��o��S:B��=L�L���םNwe� e� N>�
>
͎��N�ԕh��@�^�k�_
����G�#���ҧ��m��)^ JK�n�ܭ�k-� ���6^��/�f�-5�xN~ڣ*L@�/��A����֑�
�m����,�^�d#V)���
��
-c�`2�p?�Q�~�����ga|�u��xz��
�(���� �j�B�zgf
��7i�ü�N���uQ��t�����njD��F�>�!U67B>
-�Rk�����`:
Q����s�׮�hx���
vS�~�@u��0ԯw���:4�j�$
-4[W��#~Ro��"�r�]}��L��;�t��8��4
�<Sߦ�yD(aq����dQ
z��4�Pc���/��l���rK�Y�R�U�b�
Ͻ��Y��\����
-"���E����zuB7z�A��q�q�'�@��o2Pz�P�K�G� �T��������
�.
O���yt��l����
�G�c=�Y��!
�qjf�4
���;��G_&��A=�g���.}<�4��:� /4�AI6F_�h��!��{y
��^[<�+"�'��
r;�d{�?c�x!L�䏣�.���G�Z!-�ҚߥIV���6~@��K򯴹��Y�K��Ȇ_)����n�B.Gd�74������
�~k��%�,f�;�
z�
�����&o,���3
$�/Ä
�uY�x����lw-����YV���83���WV(�M
)T�E�2��i<tn
�m�D�����]WmsE�W�x�]�/�&�4�Hq��̩�Uv�s��X������Bl���*�i/��4��B5z6˾U�g2l
��fY�䠹|R6���Y�a6L�mF֠ �Y�����d�AGIgo��s�}֟�D_�
SJX��O�*�m��*��d)�l�	�'�f8��
�%��)]�-�s�����|�-7�d8����
-V�+��a;��
-xzi+���} ��
-endstream
-endobj
-2711 0 obj <<
-/Type /Page
-/Contents 2712 0 R
-/Resources 2710 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2609 0 R
-/Annots [ 2647 0 R 2648 0 R 2649 0 R 2650 0 R 2651 0 R 2652 0 R 2653 0 R 2654 0 R 2655 0 R 2656 0 R 2657 0 R 2658 0 R 2659 0 R 2660 0 R 2661 0 R 2662 0 R 2663 0 R 2664 0 R 2665 0 R 2666 0 R 2667 0 R 2668 0 R 2669 0 R 2670 0 R 2671 0 R 2672 0 R 2673 0 R 2674 0 R 2675 0 R 2676 0 R 2677 0 R 2678 0 R 2679 0 R 2680 0 R 2681 0 R 2682 0 R 2683 0 R 2684 0 R 2685 0 R 2686 0 R 2687 0 R 2688 0 R 2689 0 R 2690 0 R 2691 0 R 2692 0 R 2693 0 R 2694 0 R 2695 0 R 2696 0 R 2697 0 R 2698 0 R 2699 0 R 2700  [...]
->> endobj
-2647 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.191 683.853 192.146 694.757]
-/Subtype /Link
-/A << /S /GoTo /D (page.18) >>
->> endobj
-2648 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.274 650.354 279.23 660.884]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2649 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.91 626.444 197.865 636.974]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2650 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.502 602.877 173.457 613.064]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2651 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.091 578.623 179.046 589.153]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2652 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 556.396 140.809 565.243]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2653 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.165 531.146 175.121 541.333]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2654 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.649 519.191 264.605 529.377]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2655 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.294 507.236 271.25 517.422]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2656 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.95 495.28 261.905 505.467]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2657 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.979 483.325 293.934 493.512]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2658 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.252 459.415 205.208 469.602]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2659 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 436.845 140.809 445.691]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2660 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.913 422.832 236.868 433.736]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2661 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.23 410.877 235.185 421.781]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2662 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [246.472 398.922 258.428 409.826]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2663 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.965 386.967 278.92 397.871]
-/Subtype /Link
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2664 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.947 375.012 203.902 385.915]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2665 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.963 341.856 268.918 352.042]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2666 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.599 329.901 264.555 340.087]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2667 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.108 317.945 273.063 328.132]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2668 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.434 305.99 287.389 316.177]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2669 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.494 294.035 263.449 304.222]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2670 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.207 282.08 273.162 292.267]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2671 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.958 270.125 288.913 280.311]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2672 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.178 246.214 201.133 256.401]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2673 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.185 234.259 215.14 244.446]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2674 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.89 221.587 213.845 232.491]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2675 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.89 209.632 213.845 220.536]
-/Subtype /Link
-/A << /S /GoTo /D (page.22) >>
->> endobj
-2676 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.577 197.677 166.533 208.58]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2677 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.953 163.804 172.909 174.707]
-/Subtype /Link
-/A << /S /GoTo /D (page.19) >>
->> endobj
-2678 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [166.492 151.848 178.447 162.752]
-/Subtype /Link
-/A << /S /GoTo /D (page.19) >>
->> endobj
-2679 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.538 139.893 251.493 150.797]
-/Subtype /Link
-/A << /S /GoTo /D (page.19) >>
->> endobj
-2680 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.393 127.938 234.348 138.842]
-/Subtype /Link
-/A << /S /GoTo /D (page.19) >>
->> endobj
-2681 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [166.193 106.02 178.149 116.924]
-/Subtype /Link
-/A << /S /GoTo /D (page.22) >>
->> endobj
-2682 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.239 94.065 256.195 104.969]
-/Subtype /Link
-/A << /S /GoTo /D (page.18) >>
->> endobj
-2683 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.413 672.615 363.368 682.802]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2684 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.232 647.988 382.187 658.892]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2685 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.232 612.122 382.187 623.026]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2686 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.232 588.212 382.187 599.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2687 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.232 564.302 382.187 575.206]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2688 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.232 540.391 382.187 551.295]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2689 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.413 517.198 363.368 527.385]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2690 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.413 493.288 363.368 503.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2691 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.413 469.378 363.368 479.564]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2692 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.413 445.467 363.368 455.654]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2693 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.413 421.557 363.368 431.744]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2694 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.413 397.647 363.368 407.833]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2695 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.413 361.781 363.368 371.968]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2696 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.232 337.153 382.187 348.057]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2697 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.232 313.243 382.187 324.147]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2698 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.232 289.333 382.187 300.237]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2699 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.232 265.422 382.187 276.326]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2700 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.232 241.512 382.187 252.416]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2701 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.232 217.602 382.187 228.506]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2702 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.232 193.691 382.187 204.595]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2703 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.413 170.498 363.368 180.685]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2704 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [360.827 146.588 372.782 156.775]
-/Subtype /Link
-/A << /S /GoTo /D (page.20) >>
->> endobj
-2705 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.36 133.916 401.315 144.82]
-/Subtype /Link
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2706 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.56 121.96 499.516 132.864]
-/Subtype /Link
-/A << /S /GoTo /D (page.29) >>
->> endobj
-2707 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [427.795 110.005 439.751 120.909]
-/Subtype /Link
-/A << /S /GoTo /D (page.30) >>
->> endobj
-2708 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [393.474 98.05 405.43 108.954]
-/Subtype /Link
-/A << /S /GoTo /D (page.32) >>
->> endobj
-2713 0 obj <<
-/D [2711 0 R /XYZ 90 757.935 null]
->> endobj
-2714 0 obj <<
-/D [2711 0 R /XYZ 90 696.969 null]
->> endobj
-2710 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2769 0 obj <<
-/Length 1110      
-/Filter /FlateDecode
->>
-stream
-x��Y]s�6}�W��f�ɶd��f�L��
ݰ3���xĭ�*����WF@��m
6|X��=��{%Y��€�M��Io��
x�"�dnx�p	�B�df<�������|4
dh���
��[{ד�?=$��6c�66�Q��4f����퍌զWd8�-C��G
��Ē
	V��4�8���֙`�?�[�@0NE�}A?o`)<|����g<,
M���W~�� !��Z/fq��H�=/�C�����m����.>�
-*d�����}
-�H	�\
-?MfՎ��.MNQ��2�o#~!�G x0�<��Bh�4
���y��
�4I�P=��F�}�D�j�95�+F�$9�c:��H�'
v[6�Ƿ@�[p��
�߾�M��2?Y�t)��2�� �}�I9�r�hV���
��xq���.�������,��n����O�c���
�s����
-���_Lj��6�^�J�e�� ������$ADC��]
P��,	�D?�FV�
-OǪFj
^��b�vIs]R�(Z:��a�*T�Fɕ叓p��f\V�'Q�E�i{`�Q��*�r�Ґ���b��[�ց��� #�b���
�d�հPS�ŀcM�ŷ��R�4����
9��
���}d�wΦ9��T�1ꓘ\&�˿2�`�X����E�6iON��K��ǹ�_/���2�nX?�	�cB4��4��7��A�1��u�zm�rw z�V������~� �
�iὖ�;���b�
b�Hi3&�
����T
~��4c���G��+TH+����l��=\�_#ѵ
�-w��A��R�]0��ϝ��h
�]�h�� �5_u�Q�E�t�TVؤ=m�Ґ��ntl�Ig8����Z>
1����	��'�Y>�mWYCl��PH;�ȶ���`�|�KF�C#ݣ�ݑ/�k��G�ؓ����5yf��e��8�ByD�Kk�F���]��)_��+��Ƌ%]l���e����t�m��1�Sc3S|����W��������j� A`�[�6t�ƶb(�6v�~����/�h�Ο�HW��f`)�� 

��A���vV�	W���3�!�ecD�=UP������p
-endstream
-endobj
-2768 0 obj <<
-/Type /Page
-/Contents 2769 0 R
-/Resources 2767 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2771 0 R
-/Annots [ 2709 0 R 2715 0 R 2716 0 R 2717 0 R 2718 0 R 2719 0 R 2720 0 R 2721 0 R 2722 0 R 2723 0 R 2724 0 R 2725 0 R 2726 0 R 2727 0 R 2728 0 R 2729 0 R 2730 0 R 2731 0 R 2732 0 R 2733 0 R 2734 0 R 2735 0 R 2736 0 R 2737 0 R 2738 0 R 2739 0 R 2740 0 R 2741 0 R 2742 0 R 2743 0 R 2744 0 R 2745 0 R 2746 0 R 2747 0 R 2748 0 R 2749 0 R 2750 0 R 2751 0 R 2752 0 R 2753 0 R 2754 0 R 2755 0 R 2756 0 R 2757 0 R 2758 0 R 2759 0 R 2760 0 R 2761 0 R 2762 0 R 2763 0 R 2764 0 R 2766 0 R ]
->> endobj
-2709 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.454 719.912 276.409 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (page.34) >>
->> endobj
-2715 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.689 707.957 216.644 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.35) >>
->> endobj
-2716 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.368 696.002 182.323 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (page.36) >>
->> endobj
-2717 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.75 672.092 165.706 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2718 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.931 648.899 146.887 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2719 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.75 624.271 165.706 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2720 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.75 600.361 165.706 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2721 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [127.748 577.168 139.703 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (page.19) >>
->> endobj
-2722 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [262.77 564.495 274.725 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.38) >>
->> endobj
-2723 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.005 552.54 214.96 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.39) >>
->> endobj
-2724 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [168.684 540.585 180.639 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (page.41) >>
->> endobj
-2725 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.56 528.63 297.515 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.42) >>
->> endobj
-2726 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.248 516.674 238.203 527.578]
-/Subtype /Link
-/A << /S /GoTo /D (page.43) >>
->> endobj
-2727 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.927 504.719 203.882 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.45) >>
->> endobj
-2728 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [127.748 481.526 139.703 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.19) >>
->> endobj
-2729 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.75 456.899 165.706 467.803]
-/Subtype /Link
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2730 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.75 432.988 165.706 443.892]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2731 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.111 421.033 216.066 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.47) >>
->> endobj
-2732 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.237 397.123 217.192 408.027]
-/Subtype /Link
-/A << /S /GoTo /D (page.53) >>
->> endobj
-2733 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.237 373.212 217.192 384.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.53) >>
->> endobj
-2734 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.237 349.302 217.192 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (page.53) >>
->> endobj
-2735 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.312 337.347 197.267 348.251]
-/Subtype /Link
-/A << /S /GoTo /D (page.49) >>
->> endobj
-2736 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.041 314.154 178.996 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (page.53) >>
->> endobj
-2737 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.819 301.481 261.774 312.385]
-/Subtype /Link
-/A << /S /GoTo /D (page.53) >>
->> endobj
-2738 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [213.944 289.526 225.899 300.43]
-/Subtype /Link
-/A << /S /GoTo /D (page.53) >>
->> endobj
-2739 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 253.661 206.672 264.565]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2740 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 217.795 206.672 228.699]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2741 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 193.885 206.672 204.789]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2742 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 169.975 206.672 180.878]
-/Subtype /Link
-/A << /S /GoTo /D (page.74) >>
->> endobj
-2743 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 134.109 206.672 145.013]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2744 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 98.244 206.672 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2745 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 696.002 423.153 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2746 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 660.136 423.153 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (page.74) >>
->> endobj
-2747 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 624.271 423.153 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2748 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 588.405 423.153 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2749 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 552.54 423.153 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2750 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 516.674 423.153 527.578]
-/Subtype /Link
-/A << /S /GoTo /D (page.75) >>
->> endobj
-2751 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 480.809 423.153 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2752 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 444.943 423.153 455.847]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2753 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 409.078 423.153 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2754 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 373.212 423.153 384.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.75) >>
->> endobj
-2755 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [422.256 325.392 434.211 336.296]
-/Subtype /Link
-/A << /S /GoTo /D (page.54) >>
->> endobj
-2756 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.244 301.481 408.199 312.385]
-/Subtype /Link
-/A << /S /GoTo /D (page.53) >>
->> endobj
-2757 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [456.537 278.288 468.492 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.54) >>
->> endobj
-2758 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.244 229.75 408.199 240.654]
-/Subtype /Link
-/A << /S /GoTo /D (page.56) >>
->> endobj
-2759 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.491 205.84 374.446 216.744]
-/Subtype /Link
-/A << /S /GoTo /D (page.55) >>
->> endobj
-2760 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.525 182.647 442.48 192.834]
-/Subtype /Link
-/A << /S /GoTo /D (page.56) >>
->> endobj
-2761 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [501.17 158.019 513.125 168.923]
-/Subtype /Link
-/A << /S /GoTo /D (page.57) >>
->> endobj
-2762 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.244 146.064 493.199 156.968]
-/Subtype /Link
-/A << /S /GoTo /D (page.56) >>
->> endobj
-2763 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 124.211 357.291 133.058]
-/Subtype /Link
-/A << /S /GoTo /D (page.57) >>
->> endobj
-2764 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 98.244 423.153 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2766 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2770 0 obj <<
-/D [2768 0 R /XYZ 90 757.935 null]
->> endobj
-2767 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2833 0 obj <<
-/Length 1102      
-/Filter /FlateDecode
->>
-stream
-x�͙���6����oՙ0�c�vg���ޭwә��Ũ�A�ֳ}����D��'4�{��%���9@���3�����65(�̀���bH

&S�ܽ{����ޗ�;0�&D�H���Y�h�f����r��LFpd���/L��;��i[`�=��a�k �:�;�
BP	#�� `dH���J�(p
��f��bɝĝ��Q���|�����A����Հ>Υ�1�6���N��`^���
�ԙ3΄�,E�9���`��Y� ���9~�ΙF
���
��(R�ԗ�OeȮ�*�K��:����
�҈F�#f_>���sG��������R�T��
٦Ӆ��� MZ�*�7�EO�`�nA�FN
�
s�~�x�/yE��E��������-}�h
2:��g��B��Md�r���X"ܫ�i��Xe\�Tb�K��Y:��θ,~&��
��0��G��l�oFKc��ds �ZUS%�%���
��܊x��	
/�����.A�׊���)�<<�<rZ٧Е6
��$�@��L�E/�Qe���"�L�4�Z'
�U]���W�Ɯ����W��B"���!��2
y�W$�1x�߮�p~�\��"-
M4���Y��ӼUS����ME��Y�|�5�Z6��]|�ZuUr�tɼ]b�<j�2շ�}��k����fW�������
4�2�tt��̵c<��ST5�m�����l^ջc�7j�M
E5H�����D���%����Ո�n�V
�(b"�p����Ռ��Jj��cR����<>�;"����vOx��C��mw�1K
&�\-\>
��u�M��������әI���Zͺ�M�������_�����w�H+�!c�6�r�f��[y�JS���\N#E����c����س��
�}�!S�Fq}}@M-�'���tq.M�=2��9���x��NLR�f�1]��"tӿ�n7��w���M�g�?r���*=���x�Ĭ�QW~h�1?����
�\.~�{�A��*w���b
y
�^�D��c[��
�
-�_���d�1� 2���E�D�
��z1\q?�O2g{^~�
����v!Eα
,��&���r0�
-9ܓ$��pU��
-endstream
-endobj
-2832 0 obj <<
-/Type /Page
-/Contents 2833 0 R
-/Resources 2831 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2771 0 R
-/Annots [ 2765 0 R 2772 0 R 2773 0 R 2774 0 R 2775 0 R 2776 0 R 2777 0 R 2778 0 R 2779 0 R 2780 0 R 2781 0 R 2782 0 R 2783 0 R 2784 0 R 2785 0 R 2786 0 R 2787 0 R 2788 0 R 2789 0 R 2790 0 R 2791 0 R 2792 0 R 2793 0 R 2794 0 R 2795 0 R 2796 0 R 2797 0 R 2798 0 R 2799 0 R 2800 0 R 2801 0 R 2802 0 R 2803 0 R 2804 0 R 2805 0 R 2806 0 R 2807 0 R 2808 0 R 2809 0 R 2810 0 R 2811 0 R 2812 0 R 2813 0 R 2814 0 R 2815 0 R 2816 0 R 2817 0 R 2818 0 R 2819 0 R 2820 0 R 2821 0 R 2822 0 R 2823 0 R 2824  [...]
->> endobj
-2765 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 719.912 206.672 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2772 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 696.002 206.672 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (page.75) >>
->> endobj
-2773 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 672.092 206.672 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.72) >>
->> endobj
-2774 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 648.181 206.672 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.72) >>
->> endobj
-2775 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 624.271 206.672 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.72) >>
->> endobj
-2776 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 600.361 206.672 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (page.72) >>
->> endobj
-2777 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 576.45 206.672 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2778 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 552.54 206.672 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.73) >>
->> endobj
-2779 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 528.63 206.672 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.73) >>
->> endobj
-2780 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 504.719 206.672 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.73) >>
->> endobj
-2781 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 468.854 206.672 479.758]
-/Subtype /Link
-/A << /S /GoTo /D (page.74) >>
->> endobj
-2782 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 444.943 206.672 455.847]
-/Subtype /Link
-/A << /S /GoTo /D (page.74) >>
->> endobj
-2783 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 421.033 206.672 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2784 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 397.123 206.672 408.027]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2785 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 373.212 206.672 384.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2786 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 349.302 206.672 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2787 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.791 337.347 186.747 348.251]
-/Subtype /Link
-/A << /S /GoTo /D (page.58) >>
->> endobj
-2788 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.131 313.437 264.086 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2789 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.175 289.526 175.13 300.43]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2790 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.175 265.616 175.13 276.52]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2791 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.175 241.706 175.13 252.609]
-/Subtype /Link
-/A << /S /GoTo /D (page.74) >>
->> endobj
-2792 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.131 217.795 264.086 228.699]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2793 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.296 193.885 228.251 204.789]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2794 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.175 169.975 175.13 180.878]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2795 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.175 146.064 175.13 156.968]
-/Subtype /Link
-/A << /S /GoTo /D (page.74) >>
->> endobj
-2796 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.131 122.154 264.086 133.058]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2797 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.296 98.244 228.251 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2798 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [426.151 707.957 438.107 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2799 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [424.468 684.047 436.423 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.75) >>
->> endobj
-2800 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [468.612 660.136 480.568 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2801 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [432.777 636.226 444.732 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2802 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [426.151 612.316 438.107 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2803 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [424.468 588.405 436.423 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (page.75) >>
->> endobj
-2804 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 566.552 357.291 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2805 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [500.134 552.54 512.089 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2806 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [498.46 540.585 510.415 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (page.75) >>
->> endobj
-2807 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [450.789 528.63 462.744 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.72) >>
->> endobj
-2808 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [463.511 516.674 475.467 527.578]
-/Subtype /Link
-/A << /S /GoTo /D (page.72) >>
->> endobj
-2809 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.082 504.719 502.037 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.72) >>
->> endobj
-2810 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 482.866 357.291 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.72) >>
->> endobj
-2811 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [475.397 468.854 487.352 479.758]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2812 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [501.688 456.899 513.643 467.803]
-/Subtype /Link
-/A << /S /GoTo /D (page.73) >>
->> endobj
-2813 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.099 433.706 391.054 443.892]
-/Subtype /Link
-/A << /S /GoTo /D (page.73) >>
->> endobj
-2814 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 411.135 357.291 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (page.73) >>
->> endobj
-2815 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.15 385.168 433.106 396.071]
-/Subtype /Link
-/A << /S /GoTo /D (page.74) >>
->> endobj
-2816 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.658 373.212 505.613 384.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.74) >>
->> endobj
-2817 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [486.475 361.257 498.43 372.161]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2818 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.821 349.302 496.776 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2819 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [498.649 337.347 510.604 348.251]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2820 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.965 325.392 508.921 336.296]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2821 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.484 313.437 493.439 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2822 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 289.526 423.153 300.43]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2823 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.229 266.333 356.185 276.52]
-/Subtype /Link
-/A << /S /GoTo /D (page.19) >>
->> endobj
-2824 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.413 242.423 363.368 252.609]
-/Subtype /Link
-/A << /S /GoTo /D (page.22) >>
->> endobj
-2825 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.229 218.512 356.185 228.699]
-/Subtype /Link
-/A << /S /GoTo /D (page.19) >>
->> endobj
-2826 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [360.827 194.602 372.782 204.789]
-/Subtype /Link
-/A << /S /GoTo /D (page.20) >>
->> endobj
-2827 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [375.213 160.012 387.168 170.916]
-/Subtype /Link
-/A << /S /GoTo /D (page.20) >>
->> endobj
-2828 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.706 148.774 407.661 158.961]
-/Subtype /Link
-/A << /S /GoTo /D (page.20) >>
->> endobj
-2829 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.579 136.102 393.534 147.005]
-/Subtype /Link
-/A << /S /GoTo /D (page.19) >>
->> endobj
-2830 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 56.166 451.992 66.129]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2834 0 obj <<
-/D [2832 0 R /XYZ 90 757.935 null]
->> endobj
-2831 0 obj <<
-/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2835 0 obj
-[329.4]
-endobj
-2836 0 obj
-[631 507.9 631 507.9 354.2 569.5 631 323.4 354.2 600.2 323.4 938.5 631 569.5 631 600.2 446.4 452.6 446.4 631]
-endobj
-2837 0 obj
-[611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 351.8 351.8 351.8 935.2 578.7 578.7 935.2 896.3 850.9 870.4 915.7 818.5 786.1 941.7 896.3 442.6 624.1 928.7 753.7 1090.7 896.3 935.2 818.5 935.2 883.3 675.9 870.4 896.3 896.3 1220.4 896.3 896.3 740.7 351.8 611.1 351.8 611.1 351.8 351.8 611.1 675.9 546.3 675.9 546.3 384.3 611.1 675.9 351.8 384.3 643.5 351.8 1000 675.9 611.1 675.9 643.5 481.5 488 481.5 675.9]
-endobj
-2838 0 obj
-[777.8 722.2]
-endobj
-2839 0 obj
-[399.7 399.7 513.9 799.4 285.5 342.6 285.5 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 285.5 799.4 485.3 485.3 799.4 770.7 727.9 742.3 785 699.4 670.8 806.5 770.7 371 528.1 799.2 642.3 942 770.7 799.4 699.4 799.4 756.5 571 742.3 770.7 770.7 1056.2 770.7 770.7 628.1 285.5 513.9 285.5 513.9 285.5 285.5 513.9 571 456.8 571 457.2 314 513.9 571 285.5 314 542.4 285.5 856.5 571 513.9 571 542.4 402 405.4 399.7 571 542.4]
-endobj
-2840 0 obj
-[513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 799.4 513.9 799.4 513.9 543.7 770.7 777.7 733.6 847.5 756.3 656.2 804.8 850.1 449.3 566.3 870.4 699.4 992.9 821.6 782.1 656.2 810.6 777.6 627.8 599.6 699.1 599.4 970.5 849 596.5 699.2 399.7 399.7 399.7 1027.8 1027.8 424.4 544.5 440.4 444.9 532.5 477.8 498.8 490.1 592.2 351.7 420.1 535.1 306.7 905.5 620 497.5 515.9 459.2 463.7 478.8 371.1 591.4 499.2]
-endobj
-2841 0 obj
-[500 500 500 500 500 500 500 500 500 500 277.8 277.8 277.8 777.8 472.2 472.2 777.8 750 708.3 722.2 763.9 680.6 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.6 777.8 736.1 555.6 722.2 750 750 1027.8 750 750 611.1 277.8 500 277.8 500 277.8 277.8 500 555.6 444.4 555.6 444.4 305.6 500 555.6 277.8 305.6 527.8 277.8 833.3 555.6 500 555.6 527.8 391.7 394.4 388.9 555.6 527.8]
-endobj
-2842 0 obj
-[500 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 500 777.8 500 530.9 750 758.5 714.7 827.9 738.2 643.1 786.3 831.3 439.6 554.5 849.3 680.6 970.1 803.5 762.8 642 790.6 759.3 613.2 584.4 682.8 583.3 944.4 828.5 580.6 682.6 388.9 388.9 388.9 1000 1000 416.7 528.6 429.2 432.8 520.5 465.6]
-endobj
-2844 0 obj
-[556 556 167 333 611 278 333 333 0 333 606 0 611 389 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 278 250 389 555 500 500 833 778 333 333 333 500 570 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 570 570 570 500 832 667 667 667 722 667 667 722 778 389 500 667 611 889 722 722 611 722 667 556 611 722 667 889 667 611 611 333 278 333 570 500 333 500 500 444 500 444 333 500 556 278 278 500 278 778 556 500 500 500 389 389 278 556 444 667 500 444 389]
-endobj
-2845 0 obj
-[513.9 799.4 513.9 799.4 799.4 799.4 799.4 799.4 799.4 799.4 1027.8 513.9 513.9 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 1027.8 1027.8 799.4 799.4 1027.8 1027.8 513.9 513.9 1027.8 1027.8 1027.8 799.4 1027.8 1027.8 628.1 628.1 1027.8 1027.8 1027.8 799.4 279.3 1027.8 685.2]
-endobj
-2846 0 obj
-[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600]
-endobj
-2847 0 obj
-[500 500 167 333 556 278 333 333 0 333 675 0 556 389 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 214 250 333 420 500 500 833 778 333 333 333 500 675 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 675 675 675 500 920 611 611 667 722 611 611 722 722 333 444 667 556 833 667 722 611 722 611 500 556 722 611 833 611 556 556 389 278 389 422 500 333 500 500 444 500 444 278 500 500 278 278 444 278 722 500 500 500 500 389 389 278 500 444 667 444 444 389]
-endobj
-2848 0 obj
-[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600]
-endobj
-2849 0 obj
-[556 556 167 333 667 278 333 333 0 333 570 0 667 444 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 278 250 333 555 500 500 1000 833 333 333 333 500 570 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 570 570 570 500 930 722 667 722 722 667 611 778 778 389 500 778 667 944 722 778 611 778 722 556 667 722 722 1000 722 722 667 333 278 333 581 500 333 500 556 444 556 444 333 500 556 278 333 556 278 833 556 500 556 556 444 389 333 556 500 722 500 500 444]
-endobj
-2850 0 obj
-[638.9 963 638.9 963 963 963 963 963 963 963 1222.2 638.9 638.9 963 963 963 963 963 963 963 963 963 963 963 963 1222.2 1222.2 963 963 1222.2 1222.2 638.9 638.9 1222.2 1222.2 1222.2 963 1222.2 1222.2 768.5 768.5 1222.2 1222.2 1222.2 963 365.7 1222.2 833.3 833.3 1092.6 1092.6 0 0 703.7 703.7 833.3 638.9 898.1 898.1 963 963 768.5 989.9 813.3 678.4 961.2 671.3 879.9 746.7 1059.3 709.3 846.3 938.8 854.5 1427.2 1005.7 973 878.4 1008.3 1061.4 762 711.3 774.4 785.2 1222.7 883.7 823.9 884 833.3 8 [...]
-endobj
-2851 0 obj
-[472.2 472.2 472.2]
-endobj
-2852 0 obj
-[500 777.8 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 500 500 777.8 777.8 777.8 777.8 777.8 777.8]
-endobj
-2853 0 obj
-[556 556 167 333 611 278 333 333 0 333 564 0 611 444 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 180 250 333 408 500 500 833 778 333 333 333 500 564 250 333 250 278 500 500 500 500 500 500 500 500 500 500 278 278 564 564 564 444 921 722 667 667 722 611 556 722 722 333 389 722 611 889 722 722 556 722 667 556 611 722 722 944 722 722 611 333 278 333 469 500 333 444 500 444 500 444 333 500 500 278 278 500 278 778 500 500 500 500 333 389 278 500 500 722 500 500 444 480 200 480 541 0 0 0 333 500 444 1 [...]
-endobj
-2854 0 obj <<
-/Length1 837
-/Length2 1516
-/Length3 0
-/Length 2088      
-/Filter /FlateDecode
->>
-stream
-xڭRy<�k.TT�E^_��e6˘�Sj�c�
3̼���i�H)N��ʑ-K�������6#Dt��J�����:�~��羮빟�w�7Zߋfjτ�@��
-�H�����ǣ�hG�
80�D��@&[�� �
��(f

-
8�Q"�� ���	���A� *]�y�

:��
(a{.�2�l� 2�(`r 

�@(܌'w��o03:�;"|�)�p�&��d�W0A
-���ʽ�?l���%���H�ʹ�M�_<����V���h� T�	"��R?�9*��D�~f�t.�a�sA��`�ś�9|�dzq
6��s��,B̟�������{��m4�{����	�EQ �����	?jyHGl�c�x�\(?�o�?}�
1`&
-�� 
A�"�|�� & 
�	
-P(w��B�@��'�`53W��+��fKK"�
��<yv�`x ��� s�����$�Y������g���� 
ŦfD��h!7�7�H���2���
(��{��ȧ�B���=��{"�����;�?(����H��4�%_�Xc_�Xk<B��{��ޫ'�Gp�,�
�8�c�,z���c�b.�C]���{��`��:h�BSN�ż���2���j���cOc��{�$��(��?��!>r��^��1��癨�K���w&�\�|XVش<����L�ZwKd�����CUl��|Y��Y}wQ��z2���he
�G��$��6�������r��D��=1.��������\
F�J��k��\��Z`=�j�7P�9Q#����(!�:�%��W��5�*�ON�|�Nծa���h�S�3�:ach�ӌמך"����۹���Om�ݳ닭
��䶄���SVˈ���ϼ�S&�@��� g�
r�
h]_��W7�SO��8n�	���n�Tv�j��f�>�`i��K��e���a�������%�A� ����E�>ľ�a1�Y�
�2������>���"K��yϓVF
�y���(�y���
X�����em�;�tsV����<�;�ŒRr�[���+��57Y9H:Pn�k�ӈ�]�N�$�k2/��]��!�������M!�A�S-�E[
-
-Ňv��k7������u���wf�O�������\ӼU
�J�o�r��IW
-ԣW���5���.��l|�fS�:�[����7�f���ʖ��K�
��2-)U���$��J��"@��z>?�?����s<��
ܫ�Fs���?dj
�!��[�HO
d�u�z~̝�y�p":A���O.�QY�魴���,d{���O�"�^������<���W��*<��X��y}6����m;L=�z
.\���k
|<�

�p�gE\�/z�G��
%Ɏ$������e�$�v�O�6ȓtn�ةU�Dt��{����u��z�'�����?���sEr�[�d綰��c�
�3Z���+���LdE7���	�CM�59j�=���PՁ���_/�>jr
-v����ŷ/OP:��/Q��d$�:Z�&6S#ē
�m������H��
C��D��	�ôq�NS������%ӭ��\�3
-�qg�{�;
��bUSm���4
�U��
8�7���ק�&n��WF�ij�L�n�54v-�U�U���/R�"	�)[������R;[�ً�s����\�U}�Ru��	��M���S�-��
-W�X�JԾA�z���L%����D}���V�S��W��D�?#Tw
r+_t�%��{b��&\�˛dz5�;�(���dxtei��Ļݚt�p��
{Ϊ��#9����%�VG�^�:��Q�*a�MSY!��b�fݑ��iV�Z�;;ttDm��g�X׺>H۽�u���=�������O�_�������2�ۗ�kd$U9�Ckr�h�G�HY����.�q�d�>�[A7�׸�p���0a݅�؀��a��hp����F
-em���t�b�!�;�ivAb�j���SI�ɏV��?���l l�X���vŦ
�z
��J���'�+�
��ؐx��ɍ�5�
�������eO���I
S�d����S��j0
-endstream
-endobj
-2855 0 obj <<
-/Type /FontDescriptor
-/FontName /MALUHN+CMMI10
-/Flags 4
-/FontBBox [-32 -250 1048 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 72
-/XHeight 431
-/CharSet (/e/greater/less/triangleleft/triangleright)
-/FontFile 2854 0 R
->> endobj
-2856 0 obj <<
-/Length1 889
-/Length2 2479
-/Length3 0
-/Length 3083      
-/Filter /FlateDecode
->>
-stream
-xڭRy<�[VٲS?��23�RYY#Ҙ���1Øqmɍ���}_n$1��Y�FQ���TDY"�����}{�}?��|��|�s���V�Œ\AC���PAh�(������YY}2���I��h
-�
 ��4 *PU��H5m$"
蓼��x�K@A�M�	�z�d<MPh�%Г��& �$

��� �`��`��d_�A  ,
C\A7<�fɘ�#�?�X��ߔ/H�a��ۄ
�X��`A
fNb�2��?l��ܐJ ��=������hO<��/�ӋJ� ����_���o(��z��S�<F��F e��
-\�G
�c����x
-��C|��u����	#��>`z6&�6v�?���D�/��Lj�������������9�r�C��n�*R@��h��J� ��� Џa�B$QG F0�
�
�6U�
�[�/� `��Q F�j0����_� ��	� ��T�`�w��I q����O��/�فq��w�������U� eU$�pM$���_�/!�J&�D��_����g��@
dd��9�\
^l��w��#�Z��D��zLe~�� ��
xh����/�I�`Z�␓"պA��a�a�G\��i֬��y�
{��;[�=3�ލ
��Q\
�^��mb���!4�D>D�+z9��)��J��G
-V�M�9��Y"h7;q���)�4r�K�)m�gD�u�ǟ\�Z1�(���[�p�n��H�8<r.K��Z�M\ch����C�6��ޝ�^u��4�
�x���0���J����
�针T��5�(�#�#�2��<�%!`Oݱ�KM�G�.��i��2ѳ�2z��+��xs�\wb[�$�B*[�^����E���l�(���H�q�H%.�̋���j�R�<�*I�6�#y�O
�~�o�ʌ�[l
��+��r��=�-PV#U:qe5�D�f\��i۳{�׋9����
���ᴺ,<�k�
:�ϪU�շr_�Z0ȼv��W�ө��}\���o
E�'"�F����{m$���[_
�3-��q*���+(%a�8!�ӳ��i�z
�Y$VF	�L�Y�_;rR��u�m;G
	o�e�ݚ0�ǎ(y[��v�/�c� �F�A��ơ5��F
B���ZOV���i)rxg�E��9���]�;S�/��xu9�>Xa��K"����p1Ģ;�t�e�b"��Ȁt����
���$��w�O��Ed����
p<DM#^nS�TՈc/�Қ�=��Y^Q3ݢo
����ѿz����l���G�Am���QIW�/z��:,\/�[���,=�_F�>�p�U0~�ѧ����`x�:r��hP�Ŗ3,H|�}9Ә�IQ.��u_}�4_����
��r:t�2���0�
s9�����>t�VkB:�O�6 �[%jŹg%c��"<m�u��濾\/!xC�n���=`
z�x��/ `�2�Ё�����\M/a��'t���d�_��!����(U.�^��1�<^�4
�*�(�t���I2`+�б�:��g��kg�V��en}��,5��
��а�'��J��){�)M��BEݮ��E��<O6]L�
˿Q=|3�)��\�N_
7���R����Ò�R"5�Vz�{��Ln�X�t���~�=��<MrN�M"���ڡٖ0��~T��Ŏ��>�t�>�>O��/�@�����5�O�r�
I�1�Hʐ�aq/.��%E[�x���}���"WM��<Q [...]
��;��}�SHi�NI*�K�R}�U7�_�xttu�x�i���7�h�Ll�K!�b���ԗ���m��th�s�P��2X��f�l��C��c���̝8h]�x����v�eN;ܝ9G�SG������}]o���`�:�����$�ju�\�CE��崭��O��4��}εc�#�V�Y�i�ѽݻ�r�:�C��ªJ>�
-��^��Fx�z�4�׎�
�_�նOԾ=�G���v킖T,�r�A�g��|�[���(|`���7��<͙�B
)t��85����2�쬓�f{��
���+����w2& ���|Ay���J�ӱ{��?���W��Hi:��e�m�Zq�HrYL?���>n>m�h|((Z�5�O����k��c�*'_��}ӈ�Cg
���#
ut� X&�Ps�IE�|4a��%��N&�9Ӯ���s]�I!����#��
�	ŭ���}�Om'��[
eCn2�����(�3?
X	�4;U�.,��h:()_��d����5��K�bw�ɻ�d���L��n����̔��v���x��G�vF]��޽Y�=F8���~DDt���PU�,��qʍ��btq �b�|b:\�s)Q��K�鸐���ۯU��>N�a��WӫEU�p�/qyH��v|�:c���H�1_� �Y��a����������̃fʼn���:g�#��y��0�
�@_�K��c���
5��Ȫ��b�(��������B`k8�/c�+�qL�>�%'Q������n�o��fLdzWN[��=
�Jh+�]7
�;)$Qٙ�%��w���y��\?�<�ߨ�q���Y(�ՙ�nO�Ȼ�z�ug0z��+�о
-͖��U�kJ�49{M�����е
=�w
-^A�+x����M��	qˑ��J�|�df�sY�HB�zT�K#�,'xI�V�5ֺp�_%K.��i2RY�,4F
]u�2q��������Gٵ
P��;8n/�f싳ȣ�z]�V���ml
����=�f�@H������v�1I��kUau;��
���A�bfIK�e̿�n%Kw���𽯿S#l�ruհ�
�����1��f�g@����Ҽr+z���1��qg�E"]m3�	���j<�k���&̊�"��A��?��
-endstream
-endobj
-2857 0 obj <<
-/Type /FontDescriptor
-/FontName /BTJATV+CMMI9
-/Flags 4
-/FontBBox [-29 -250 1075 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 74
-/XHeight 431
-/CharSet (/d/e/l/less/m/r/triangleleft/triangleright/v)
-/FontFile 2856 0 R
->> endobj
-2858 0 obj <<
-/Length1 851
-/Length2 2927
-/Length3 0
-/Length 3514      
-/Filter /FlateDecode
->>
-stream
-xڭRy8�m�6	cO���#Y�͌}��ƾ�0�јa
Y��le'
-E�f+[([�"e��Kd�-
-}S���~����w<��
�y��}��s^������
-�6��H20Y����A�,��$*�G@#I<���V`��r�ڕ���j�
-j�rL��
އB�xx� 	�s?Eʀ�7��qC� 8�����pCbk�M��:X,`�s�B�?4J�	P7���� ?-����_e��o�M RM�l��&Qx
����L3<�44�������
�X���g��A����`)�'�{��Ih ǣ���R{�_��h���;kDBb1n:8,��U�
0h����	�#�D�:���5�_ ��&�vR��g���H6�w�)��a����0�3�/�*�>�\~;K�Gap
����$�&��"E `p(t ������$���I0�'0�
(u&���/� h_2u$W`P ���@��¨,�P���b�C*
-D�
-�
��.> HFNP?�_�BUU%���P��	4���>Rs��c�SB��nLc��n�^�uQ�!�o
�I�t=�&�U��mf�>z�-�1񕜪r�V���6O7/� @��tͲ�`=�7)��Ѽߕ���z��,8�ϙ�ח�놷WA�CS��)�:r6:��,$.�,0|�is��iˎTRv0���Fߨ��:��[
�=�"������C���Ϥ&���'���'!�r'r�5	�[�)�e�����A�	�'?ڻ+��k0O7��1���U�ȯyp�g@?�.]�� |(��2U8wY^���чЍ;��x�}p�������d�
zv&l�{2)/�qΉN���K�ǩ#+�
W �m��-�N���Ad�,��B"f��7/�s!������<����&�V<�`�����	ي����8+����صѓ�
��nS�VEe�u:�!�s�)���F�Zy�L�Q,AH�(_���r�Glf�l<�~~�5�YgK�4+{�Տ
����}��q�jjϽt*
�P��b�
� �]�������Vɬ�!APJP�%M��(U$��	�u��Bԅ�MF@�yE�Y)�4����g�'.V� +�g�
��i�¿�sYN;����C
j�N*�
�%m"���3�xs|�Ml�Z4,��R���/�(�/�?ω:t�H��D�=W�!=Qbav�e0oLUd�
H�e��{m�f.��-f�@}���1�g�o_u�Z���Q����1̣	N]cG�ힱ���i�Ʈ����t�!�W��q��_�����Y�d���K�G�R)/N�x�x/�6�t;��d��3��+ˎ�����?�%́��G�J���"
�(�l���,�V~J�-�un�>iM����a [...]
-4
|z�H��N�,;i�#�2v�Fj^I|�����:��?�!�[nכ��9�u㞔�tz9��K�?>q�Z�kk
��/��y�ˋ5(V��G�Q�3���[RW�|/=T
�a�}ޝ�\"�7sxicŐ`�C����u�SX�l
Ыf��ז�Ǻ��C� ��W��(Z�ɿ
(�T�N�
-�I+��w�]U#r�׼��_,�hM����"%"�or��r�j����f壘���;��.����I�K/o��:st��x�Y�r��KLKs�- �՞pqϴ%������;��M4^��Ô�C$G.��O�_u4	�H;���4��K|E�Q�� ]�ѽi+
- _���Gi�
#����^��
�T80fk~�b�̑��
s��uW����2+қ5��]���
�8�h�i�
�e*t���������n�����g�m�����̻��Gl��!�#���m�ʑ� 5�~�
�#��@
��� {��ެ&�iH��N�ԥ��7��F|�f�
�ͬ�?Ե�
-+8��|}�̫ry�(��?in
-t
-tĻ�,�[`
�J4�U�|x
2���M8�-��i��_�*��k�}��������p����pʌ���]�c�t�!�8���l��:��(QV����y�?����*¦��[�e�Μ���k4{�-�j
�Jȿ���U%r�.鉑Ҕձx�ȝ��8��9Ä�,�ɮ�n�D�
�![���kv����
-h��vM�~�����cm��� K�3���
_W��
��)Y�_�
�יvf����â{^ar��۠[0q҉�}[���.[Y���~΅ׯ���u;�{ŷ=䙞W�x(�����q��� lj	�W'�\��n^;����
�g�K��C��U6��O����.�Q�>���
�7�/�L7K�O5�
cO�&VE� 50k�9�Y����`6�X��խ2˵�&�Žs�^H�S�
�E���:m�ѓ��1<JE3j���0P�);s�ܝhQH�����ݹ��
Ͼ�1{l~������R�C>�!���z�2��5���ի
4��q
M3�oK.��v]�P΍	o��ܝ~�E'HJ�B�=3�I{�� Wǧ__�['��'��~�ۥ#��R����	���e3
�������V���lO�
_�5��������

n��;�բge�Z\
-�aCl�Ps�)�r�Z5�3��}r�i>"��eb���P� �Cqڳ�Z.z���ţR���qVJ��b��[�
�8��ϛ��h)k����
-���LW�©["
a��鬷
�����V>|��c��$���4�w57V�-
XL�Q<�s���oO�IЬ��l,��v)��Ð��|Қ�4�p�m�|�
�
ΗE �:�C�c~�ֹ�=�MY�Fq���0&e,-���?S�#�Y�X�b���b\c�Zi�
vűT�{ǥ�g���u�b���#��ܝ'�:z�^Ų$
-2$+⦆����g=i�f����T9x��ǫq���E�3>�� l�_��46
LX|�Jv��f7>�`:r}����7���^��ґ��-�b6,
q��h�Rd3��$
5�~�g�]��G���ȉ1#g43�#2���
-F��B5��
-��
�ōK�
�p*�Iab�q�~�=P\%n��.�l�
p�"�H7�H+`�0�}���B��7�G�*ȗn���
⭧�\ؠ
�J�|T!)mF�ww��[\s�*E�.�4�.��L�X��I�a:���ݝ�
�͘_�
�3j~���}�/�K�T��Ī��[
{�r�1_8�%rI:k���
��eX�+f �7���5X�P����
ٺf��I����GM^u��)绾A�h
-�$����e����T��b�y���2�e�z!$��H�̈́�yk�\��-X�%�$�r���ֽ~����A�}�[�Q
���
��
-endstream
-endobj
-2859 0 obj <<
-/Type /FontDescriptor
-/FontName /SWKUVX+CMR10
-/Flags 4
-/FontBBox [-251 -250 1009 969]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle 0
-/StemV 69
-/XHeight 431
-/CharSet (/a/equal/h/l/r/s/v/zero)
-/FontFile 2858 0 R
->> endobj
-2860 0 obj <<
-/Length1 810
-/Length2 1751
-/Length3 0
-/Length 2308      
-/Filter /FlateDecode
->>
-stream
-xڭRy<�kN
��N/�=fc_��0�R$d̼fF���PF�6�)b$�B������3�d���3*u�ʒ��
}�s�ο������z���]����r׶�R@{
-��
ׁ� 6�n \QQ���h�B�E3@ nl
��8@�
L�M`���
J#��
@�FcMdX�@�&�h
$	{`�D���!��P
��H��^�7��N�X

`	 �dt͏9�~-c��ߨ� �.4�
Mj B�X
-�
-`�@I�
-��?L}�ܞI$"Ѥ��Œ�ŢIb�y
-)�� i�3
���K=��֜A,�I��u`���G���nO�(��D:�^���Mc[� uAY; j�Os�B�	d�Gh�_M״��7fC#� �`:0\(�o7�ᄇ#c(XY� M��C!½"p�X0 C�~�:d
-C�FRh��aЀ��:��` ���?�PL��
(�/�/$�@e���8��)!���;������X��1L
$3�7M�7
H� C@
dx��1�	J�/f�����i�X�j���>|z_2�Y���7G���*������<1��S+
-�؆3�]��HjRƀ�wҟ�V���!�9��`����{��O�".}/��iG�[�g�frQ�
��/7<:v�C/�L��
�T��d3���/���MK
�f]���z>Gi`n[Γ��*���o��]�_r��~�Dģ/�
������UW��\ƆZ��qT�2����T��]�r��o�g�f�t�^�����|���
V�+�ƚ��3J7v�B��-�K�]M���b����-K,���c���D?Q�Ful���_g5P�/���Z�����N�8'�Y,��n�U*�5�KZCX�R�.�
����M@'\�|\�}\��2
{��U$\y��-�e�� ����e3�Q=q��|���[�y�٠C���=_�O
-�
���r��1J��V�r�y��Ա��/� g�>I�/�.(t.^9,�i˽S���!a��R���� ��r�s%ؤ'9J�� �`�,g�+~Z�Rcr����$�q�Aqtz�&#U�F?����Ɲkv�㸢^��8����)�R�ypy�n�L���P���#p1T���
-�m�oP>�"�FIe ��%�E�͹c�D#o+�"虋��*��Z˸DTW����
��칣��*���Z|��.�[f�ZMz�G���r|���k}z�	�ڳ�?�|�7.a,Z8�(7}r�Wa����
-
~l;a��

u1͜�sk�����Г{�Y�3�����զL�٭��(��
�9c��Y%�i��w޶n��**����FeO+���f;��Mr3�~u$�7��J��ㆼB����z�'����Dvr��
.Jf21.�덷������_*^�:�Fz��wڢ��M�� O�q��{9�D6��mIj�ˮV'��
�/�`5�j��A�4�m�P3u�
nK�[ش�S��/2#zbfw�8�򇓺�h�?�_x�~.K&�h����
-�K�}��:�.��
-j�5q8�GZ:�zK͕��{GQM6����Vϕ�:W|��+�f4d�SY��r���Imϔ��'�2�
&I)	y�،�#=
7ѕ�h�d\�I���c��܈Cn�
%�
U����	��i 6g��ot�-�K͜��
B.�J����!
�M���u
��}�b<D��%�!{w����
���tٸ��W� �8�_G)J@��Y�.�˱-�[�������$�B���(��#�A������'�Pׯi�[r��޷V
�r]7
e
�L�±����rF�D���'�	α�
�-Ԋ�]MKP���,1�.�6�������w�m^q���|y��
?�-���HG�Cx�i��q(����ƚ{���|⧼ �_��ꥥP����UC
|�����w��ۉ�d9sH4wެ����\� E+�~P�؎�U
-,qW��kl� ��X�
;��h�*+;^X��P4g)�O�����$,�?)u���r��&�`�Ҩ���#�F�.E\̾�1����M�Z�֏w��Vm; �8tU�JN0�:�vr^�4��@��UN��xdOԊU���Aݣ�-e
�&���ѹ�����g�tˤ$P�NU;�j��/�M�{�G�3��o�+h��I�G������ G�����U�f��;Ӎ��~^O}ߝgef�m��ZC�D�;��%�Dd��N橆�[:p�Ό�����qZ>��Y�ϖbo�.9�dl,�Y|�{0d������Dz�E:�>��L�
��p�E
-��)Q}N�Z��@�� ���#
-endstream
-endobj
-2861 0 obj <<
-/Type /FontDescriptor
-/FontName /OPBINH+CMR6
-/Flags 4
-/FontBBox [-20 -250 1193 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle 0
-/StemV 83
-/XHeight 431
-/CharSet (/b/d/e/l/u/zero)
-/FontFile 2860 0 R
->> endobj
-2862 0 obj <<
-/Length1 793
-/Length2 1596
-/Length3 0
-/Length 2144      
-/Filter /FlateDecode
->>
-stream
-xڭ�y<�kǩ���-'�dgf�X���&ٗL����јa�03��9I��Cá�d+�ت#K
"T�DZF�P����{�����<�<������������gE�A,���C�� W
��G���m� �Ѩ�	
�
@��� +��F(c�
�fhL
���鐟?д�Z4a �@��T�����3H
-�F#A ��XQ(����
� Y�Bd�� ��D�,�ਾ4 �Lf�h���1�)��Ĉd��Ƞ/���&�
��?�~
�eR(��������%B���� &�42H��l�~Gs �3��.�A�@$+���KPb�dg�A�|	�p�R�?C�c[B0����go��t�K-gDe����;tѻ�Qkq6t�
D�#�(�Q���;��V�T�
Q���� ��6L�.��G�
� �%�5��%�8�H��F�-^��	`@\,-)	��!Q��)6S��(
`�\��>��5���� zh#1
-�0F���1��t:He,=,q�?�/$N
Y 	���F2�
�T
Ϗ��j˓Җ���Hq,�}R�&��$%��>X���k&?M
>$5�6�r�^�K
v�xpJj��P��P綢�x��M��t�q���󰑤SG_3�<>���O��kΚ��߮z�*Qw0�fݕ8c�6��p�t�UW��`>�0A&{��
-� 6* A�R���
s�L�t���ʦ�s�c�o��
E>
��
%�\��yk�;�C�y�:�� Z.�VYqs�ݍ>�3��'
���#N0{�N	m�x.eS[nDpcL�c��j�Y�#���٤��
���ԍ�T�Y���[5�očn�5(w�W�`
.�n���i��d���4H�X������bdzw�#��� 9
��6/q�%i}�?�����I����^c*�>�_�F"H�������7��vܟ;nH�吇g�y����[s�2��Sj��������3]�j���[����m���� �|�q�p-���X }g�l�� ��o�\ר���&T�m�K����"9��i�eUǣ3�
rm�U�;nVa��l3���N��@���%:�i��Eqhյ�_��j�
���(��C��.R#��� ֻ:��c�]r�?��4�K}`RU����u�Q���6�
%cmXJ,X��mN=3e�AY��i��?v��`:���?�읶7j̈́���g"��
b�������N ��f�5 ����CD��1������ϴ��� [...]
-�
�.�[w����!�8Wӕ�=�Y��b����D#��r�~�[�����f��
=��,�S�/OGw��o^u�H�<�yI+0ғ�U��<�`��
D	����'�į�4���
��Ng`3w�>�!�����K���
��S�N�hpKn�t̚o��3��MD׆g�̚�+��׾�[����o��
S�j��(U⊏��u{���~�
�X
��+u@��K�1�|��
����LA�p��[�?F�MZ
-�Zwm��KeNR0��h��B�L�iQ�M1��HśL���jm�r7�<!7�s�Q���
�1�`��z;ف�
��#�
-endstream
-endobj
-2863 0 obj <<
-/Type /FontDescriptor
-/FontName /UYHLKA+CMR7
-/Flags 4
-/FontBBox [-27 -250 1122 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle 0
-/StemV 79
-/XHeight 431
-/CharSet (/b/d/e/l/u)
-/FontFile 2862 0 R
->> endobj
-2864 0 obj <<
-/Length1 949
-/Length2 3050
-/Length3 0
-/Length 3677      
-/Filter /FlateDecode
->>
-stream
-xڭRy<�{���ed�ز=�l͒u,����6�<�
c�c�DI�E��l!��
9�^��(Y�
�2�N��������<�<�}���>�u���9
4“���d� 
-��L�
� 
-���˛P@,�@&�b���B�Q�Q�?p	�4u��:h�<`B���������&-�(�pX`����


�8�q�
��D����0�
) 
E� <G����ݏɏ
h�,��C��"@J���0�0,��$b4���2c�p��a�wq�p"��]����a��b�yrpH8� �d<H!���
-��f
�	����T,��3"�A ��D3'D�x; �a�a�:H��n���VV��nN*?��A�a	$�St�?��{`�/��
�`�p$�hd|�y�6ʌ�#�	$�9hhX
-
e�i �(�@ƒQ ����T�������
&#�{�B!� ��D04��ϯu �/�
 �͢D�/�8&��� �$�f�
-�R@�����[�y7���)�� "�_��#�ŀ����7ccrT�A54p�cWH5M at Ky��4��)
�G���o�G`\F�8�q2N7)0��t�I��'�efc��L��#�܉���e�V�ʳ�n��h��o!o�#w�������W�C3sǾ���}K�iw۠YGχ�n'.�6�n.k0��Td��t��,�)�:�㘖az����0/IS�͜FtNI�WP�q��
�HUO�����b�J<��yGej����s1g�ů��B�pm�j��a�
�o�����}��1��
)�[�sN�~�ī��k
-b���<]��,�:bU���M�.��5[��GM�'��r���UL�n�
r�K�����Z��:
M(} ��!tN
�M
�k[�ÚlZ����Ay�A	�Anq�ٱC�l䚝����$'U��;3/���9|�DQF�݃�lP.��`I]޼f5w��Eߋ;��b.�s�+5�^+7�
-�
�<to��F�
N�f����rj^G�܀�Юet!l6+��Z1ē�\�Z����aRp	����F�rАN���,�
��n��\V\��}����P��
3�6�G�.�H�!�Seڕu_��1�T��/c��Z��dSe�6�/{��q��H���������)׵��?u�l��V/
-Bn������:�t�qj{ +�e`��ˣ&�э�1�g�j�0�M����z�e��+ԕ��îZBċ�
�~���K��ui��ܒ9���0��

1q�ǺhQ�j���{�l��Q&��U�L?:(�ˀ�l��:Z�#��Y�؍�4��D�r�i2��z���܁U��*��[W���-
ѡ3�&�O��(�L���Ak�*,vgM	3��$z7�9
8(E�-�����JRmv%�rLc_���'mvZ�^�
פ��n�Ϻ�6�#����oI�
M������'��i���к�ǹ�,�/��
W>{� �q�~j9�!�:`��[��=/�x����6�p�NV�Ҹ��۰t�΢[@×����b+<��T�6߼
�\����v�u���Y�\�l�wA�czE����g�������~4�gbTtsś�l�:̂裠��}�Ç�Ί����^>��y薧�/���)�Q3|��q:�h=�7���;*[*�{���T�"��-�L��'�"+_�P۩<u�
-��)�5�
��Uw>�!IJ_�s��]c���;�͕!uL2���K�yиP���U��Mj_a~�q�5���T%���捽��l�4���G���RQb�U���|rTu<BS�-mjͯy�U�b�'�P�G��}�W7M/���+�6Yg�G/V�59�a<�M	8�a����ZV��E��ЊZ6���C��T��~�%��g���sUO�ڸu�_Ɏ�	:��(I��f�!K�����]��E�X�����n����iY8�uu�c'B�����µi�&u��I�~D��/�y�b��/�a��[��
��1^q"�G���{��6�-��Һ�9�ȁ�OXZ���ʚ�"%=�P��F���JI0ڶ�Ԋ��+���9���e���>�T����z=զ����*�@a����Y}d
��l��-A:�p>�$8szĞ
��)g�ѽ�{�J�b/{ڡ�����Χ]�z���kG���T�+���#�b�/�٢��L�lJ�m�`;����-�{�D
-�0���Kd������lK�
-�ܻ�c���Tdش	!FF��%)�;�2�k�5��5
Ywϱ��1W6
-�#��L�����K��T�$��xO�c��
-G��=�D�-�g��ˣEp���g�u��
�
t6��)x�)b[*�q�h�^�x���|�3�VB�fd�l�],g����ˎ�>ˤ0�
ӻB�1e�b^~��>������+�m��dy�=S��q�FK��GԼ���x�Gu3̍۔�}&�� ��7
|�r�!���S�x�HQ�G��d}�K��� ��S>	p١/,��o]������>�Q^�f��ՙҮ�K��ӈ��d
T�G��4d���
y_�_��&���E
-(7���ݹx��ˣ�v�=ʆ��u�!��VD�h�Y�"�
�t�O��z�~��I'��=j=��
Ϳ�_
U�`�h�G��1��s��O�雟&xx���/�s�eq#@�X�j�C�JȢ|���V2��<0g#�e�˪��v�a���k
��ۅ���o��o�[מN�:9_7�-+}�"����z`X��F
o�K�
���x��sbUa�=�ȖI�+�~��|�|
aG�j=˾���\��~���
#1���5qnL�Y�<�cW��٢�Y򟍽뷡���|�q���v>��m�2�I����m?�����h�����K<����<AP J�Hp�;�#1��BA�ي������C�Y]��0{Y��D�u�!.Җ��$�p��)0T`#� n�p�}v�	+/6�*
$��q�:E�&(.x@&����|��n2e��ij�c�r.��-�����Լ�&E�
�UE��٫
;'�)��x��\�9@��
-��Z}]�ʼn�����F-I�Nq=��4ìB%��-�Qa˅]Q�%G?I	B-)��6v��dF�<N'�W9����5ݻ��.o}�nZa�>X}�~n�Pšߛ^���<���*
O�X�AHO^�wN
�T=���q;�{��ų	�I��wR�W��޴B�aGwV� ��i�
%\yڶU���Ԙ���e�`?b(��z������Nk��υ���/��#M���.Ӿݭ,ռg�����W{��
��ȡGY���LJv���JQZ/`�{�aA3nG�Ё/��������V�݀�g�Ǵ����i=�؞�朞S�����=��oC���m6�j��I�Ï�RvL!<]�f���
��)�w�'o!��J��MH��2��i"r�Jv���/�2y
�ZE�-?
=�7���,�.��^(ko����z|�h���ǨOM`��@����;
���c���R%E�D[�S�.�p�@{�
�^��U�6�I-y~EA(Y���˔���k9��G��{p2�*�O��]��b�?^��?ѯ�| �7��$���q�ЉU�֜o�ǗyG
��Z#���ֺ`����N���\=��w��{bkI]�s�m��c��W��㋾�Q��)��
�*�o��n,~��
���ƮRd>5n�o�=#S�81�;�"ZR6o7��7�H�k��i��� 
�
-endstream
-endobj
-2865 0 obj <<
-/Type /FontDescriptor
-/FontName /KKSFXT+CMR9
-/Flags 4
-/FontBBox [-39 -250 1036 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle 0
-/StemV 74
-/XHeight 431
-/CharSet (/a/d/equal/h/l/m/o/one/parenleft/parenright/r/s/v/zero)
-/FontFile 2864 0 R
->> endobj
-2866 0 obj <<
-/Length1 802
-/Length2 1027
-/Length3 0
-/Length 1582      
-/Filter /FlateDecode
->>
-stream
-xڭ�{\Li�	]&��M�U*��̙�F�VJ�Lj�N3�L�f��̤�$a)�b�K�V.+l-ي�"��g�%�Be����l�����<��y������z�"�������tD����
�6@�l���'	Q%F��P%t��+�UR�p���a�qy
k�I(�$&
S������x�]IL�‏*à��!Be at H�0�T3��L�NP R���b&A�)A(�b8��G�K����_�HHR4�JCN4���ej �K@�wA������[%�	Py_�~���Q9&S� �
-���O�!�,]
-?��S���JT���q�
Gę�v�~0����E�R$����y���������-����2�~q����j�o��1�-�]"�(���d�������
��
b
���$�����  ��0
-�(����	%}�֬�d��	�P��
-�"詄���yXҾ
�$\��g���,��o����AD�8r\���

� .����O�HE�W��m��X�ѶCE�F
!��9<����q^9�~�2�>��Q�bYI�L�^��
-�,U�
n>���8��d�h�OF��d��U�?�M�>�lW<��� 4VoJ�;⓽m�o��%�4����-��
��6T�?�X�S��Ic8�.0��Ҍ�xLO;x��Z��nҫ�
�U�D/o���]dLy'��Jf�v�=�!���Z�����6�3�|E�s�m�[��.
�D�N�3��sM�g|{[{��ױ��r
�+�[����Y)���,�&V�8��7���
'e79�>.1�	Tp���S=����GЈ��{,�=�^{�t֛ ���̅E�
�������ќ�Fϔ�C��I
��l�ޒ���,����5�����
7͌
)f$��ޟt�/�6m��@�O
]���Mo���u���
w�O^�\<���P��9��m
�_
�Ku۫��-��r��-W&u�i�������/S2��
�����i��:uڴ׸%�
-���<���P�s
�g�Fmk�=�Vs�S
+n�vȿт�����q�w\�N�
Jj���p�Ԕ˩���Mr�gE�2���qK�5y+�_�zb�Dҋpɞ�7`��Fs��/p����,ru��S�d�V�m�d�δ�n/Ln���}�:�‡�6�����������7��ժV����r�Z��d�(Ts�RLj�3�'�
5���ü���O�=x������bו�F������Ͳ.�^c�0"�ܫ!��2��}�V�_j8�*��$�s_�LqG��Ƽ7c>-�5��5W��eX��kJrI-dTT�޸&�U_z`������C�
N{��4��;���-Nr
-Q�@�����r����a�������w�!�X��w��s��
�����xS��u<%��t��d(-ە�;���«��]���p���Y��w���
;:b�zc
}꺂W�R�n>�U1;uݹ��
���#�ft�
-��:�%�N9R��5�@hԴ��{���r����ڴ�2������aɴK�ɛ�!B�z���7zb�����Թ��$3�z�&=�~���'z�eٜ�H���D�Cic�����
-endstream
-endobj
-2867 0 obj <<
-/Type /FontDescriptor
-/FontName /VUZELH+CMSY10
-/Flags 4
-/FontBBox [-29 -960 1116 775]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 85
-/XHeight 431
-/CharSet (/asteriskmath/greaterequal/lessequal)
-/FontFile 2866 0 R
->> endobj
-2868 0 obj <<
-/Length1 833
-/Length2 1649
-/Length3 0
-/Length 2223      
-/Filter /FlateDecode
->>
-stream
-xڭRy<�k��*�"*�l!f��~�C��6֌��f33�9�E��FBL
-9��v"��(��'2e�,:C__�����{�y�������~�e�
T��TȜJa�"�:����U ��B��&t�$R)�X&���`D �k�#t�B���Jcщ?&8b��.�Fd�N�a)���ȼ8,	8PqD��RF$@�w0 b@�`�&�@ <�>�H�����R��7D�NCt�8�3�x�T
-��̖�;
�9���y�y�d�%��_�4�L$��#��iAL�l�x�N�Y�}�f�A�YK&�D�Q$�"4��H�7��0'�Bx{"�|�$��C��Vx�m�9�����|��g�%R��,�?�5�G�ˈN
�p58
����?�eF�Q�D
-��4�NDz��Q�(C "�(�g�F�2y-��L�҅֗�0,����ۉ�:��#� ���`��1�鿰�1 �щ����������x����a�@U�׎@�k�c����������x�}���@P(����t���U�q"��;o
-¶-��~߷�S�E�G8�rN��yo��tI
��^�W�h{���u�[U��n`.E���^9��b�l_SQ��|蜞
�FJ��>�y^�h�G٨v�
�;c���š^����d�ÒZ}�[7�g
r{V�d��丣�k�=�
-]��z-&!��Q�{"�����

>�sTS��U{���/��!;�lmq5̓�
��6�TBz�D�I�������3��l��@q�aB�.Q���攒/�]>��X����rŰw2�*�ߑ��Q�$$m�T�Z�އ��
��)vr=�p��a��)4�%�J�!)5�|
c�Dz#��4p�]�{���·�O�j]���
-;����:�t��)��k_�T��Ys���bq�+[)�����J �QSv`h����-*�!F�XH�ɐ~E���AΪ72��b���SlL6�;���3g2�_Q�ں���<���)q�;��
3��
RR7�@�T�<M��W��O&ϥ�;[�0k톙�.�w��y&�Y� o١鷲ϟ`�gDz�&l
�̟=�4��
�MJNJU
q����/
a
-��Z�
��^أ�m�/��y�⢡A˰J]�ʵۃ���z�
/�U��ľ65%��f��7�Y�<=��hz2}��s{O����L29W_�<{���X
r>y�GN���{n��ۣ��'���+X�`�=;��|���؇��եNܗ�Z�L��&��
��/�{g^���3t���n!ԧ��
����./�����m
��žn/���a�g�G,�MMnX=2�Ÿ�$T�; �q%sI�)�^4�m�?Ye�
�jX�sQ�ʧbf

��^>�P5���� kT�A�^�U����� �>��H���|���d��-z�.W��	�1Z��h�ޮ
5'P�S�ѻm�s�,fiJ��W�����̈́k
��;�u�:ybhtFX�O�˹�d�%�7�K�J^6�i7�e1�!W���쵨W�m
ב�l�0�d�%]��s��i�]��-�����h�>�fdk:��O+����x�ֱ-s�C��9��d=A|w�S{ݐ
�/��vi,rˮߞcF5�jH��:
���v
m�����k�ӆ ׭���BZ�qd�=�O��?�i���q����K��7#���J��N�^v��f_м<�����l�j٤&��uq��{��c����_�������g�åZ	�"����>��}�Kf�R�����1*dg�[ZY�����\�����ş)[f��2]m� ���9���@Cu��Ĵ`Q�U��4���l���€���
-�!�g���;�IEr��JV���nk
a;��X�
��~�c�h�sEPp4�]���$9l�pȓF�v��Y6˫���<�Z��XE����G��Ny�G�3oOe�b�fE�x2�+|�|�3�^�pl�cX눫�=⠴
I���JTG�)YUL��� �'h��,dʓy�`�A�Ws�
�nC��-r��U���dU���]m�M�������ם�P§ߛ'
ŷT��dv(	_��Z�F�P4G���zu2���π�\�To�CC\��]p���ˈb�V
+��LG]Oծx���慫R��
�����
`2A�������D͓�:�=#bʄ�	���G�m.
�3�^Z9rJ�L����1�T1h]%\�����_m�6}��6[��7Q�J
-endstream
-endobj
-2869 0 obj <<
-/Type /FontDescriptor
-/FontName /ATFWDW+CMSY6
-/Flags 4
-/FontBBox [-4 -948 1329 786]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 93
-/XHeight 431
-/CharSet (/asteriskmath/dagger/daggerdbl/prime/section)
-/FontFile 2868 0 R
->> endobj
-2870 0 obj <<
-/Length1 746
-/Length2 603
-/Length3 0
-/Length 1117      
-/Filter /FlateDecode
->>
-stream
-x�SU
�uL�OJu��+�5�3�Rp�
�4W0�3�RUu.JM,���sI,I�R0��4Tp,MW04U00�22�25�RUp�/�,�L�(Q�p�)2Wp�M-�LN�S�M,�H����������ZR������Q��Z�ZT����eh����\������ǥr�g^Z��9D8�� &U�ZT
t��Б�
-@'����T*���q����J���B7ܭ4'�/1d<(�0�s3s*�
-�s
JKR�|�SR��Е��B�曚�Y��.�Y����옗����kh�g`l
-��,vˬHM	�,I�PHK�)N��楠;z`���{���hCb,���WRY��`�P
�"��0*ʬP�6�300*B+�.׼���̼t#S3�Ģ��J.�QF��
-Ն
-�y)�
-�@���� �( C�V!-��
�&
-�E�@���0���_Q�
Lr����
-�F�F
-�F�(
-�K��R�J�	0~Z&0 SS+R��n^�O�nɚ��me���
�X�9�X��&���
u�3Sj�M�*��,y���־���%����
-m������Hx�֮�"&4��׻,^��5�����+�Åa3�>���_�xV����/��'x楼p�Z����k�BZA�����o�`��(&^y���@O���+{�?�x��(�@Cҳ���3���6*�
���8��"�����	
:��|��/�m��L�j�}�5�����?��뀂�{��́���x��Lp���'�X�6�1q^���&����7"
��:�L��nW��a_��T��Փ��lg�cx�'�����k�]�K���9j;��/�r�hD�;�
���U-z?�����!�f�>$�̯_�6ai�|m��
�ӻ�'�u�R�e"�V]v�~��K-r��ʋ��ο�^��1�c���Kǧ�S�9m��UZ��s�ʂ�On�ܔ┓�:'j9'<`ڷ1�����O�~~;�>�ko��U�$�
u*�<�)ᅑ�x��ђw'�.9�%��c���I~G9�}{���k��CDnof�57>�Zz�5�5ۼ���1(ysx'j��N[ +/���.�����y��B���?��
�4뼫 [...]
-endstream
-endobj
-2871 0 obj <<
-/Type /FontDescriptor
-/FontName /NSJEOL+CMSY7
-/Flags 4
-/FontBBox [-15 -951 1252 782]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 93
-/XHeight 431
-/CharSet (/prime)
-/FontFile 2870 0 R
->> endobj
-2872 0 obj <<
-/Length1 792
-/Length2 1349
-/Length3 0
-/Length 1899      
-/Filter /FlateDecode
->>
-stream
-xڭR{<�i-��䐴y�03�0�X�&�:��Ҙ���2ޙf�)�i�-
_QZi��9�
*�ՆVZ2j�7�(ہ
rh���~����=�<�u]�}_��<�z^�fT�
�8�1�
"@6���7p
�$%CC'.B�Q6�

Gl dm
*�	 
- Yِ�6�T��
eF���iӂ�
-P�.J�a���G ��
t
���(�
��b��<���>&(A�Q:�&�)
�b
6���|�gj��IMc��M at jfc,��у-��H��?L-m��g�<h�
�B�M�FY���hG���
#\l�4 ���
�Q~�R���P:c�`YH�O�sFc�
���Ac�E
��V��-!�����2���
��H�k��Z���$�I���y�d�v�ΆQ�	�K@�ri%���B�@1�H��0���q� MFl��£Bda�)
KJ���?cp8�` ��—\�yiGGvL��9	�YK�C�
-��������r
_�V��>�
T7�� t%Q�n�y��HI�����/���w*�E
-�w��e������
G�$���ZQ�׺�mO���h�x$�
�_S^��{a׉xJ
��WKp()c���#��{�<wX�c��}v6��T4n�����
Ǡ���'=�j�}�6믳+��ij	�Cݳ:z����}�^�|@'45.)7Xuĩ�x�Vl�{&���,2P^Ϣ��겣:t�ߋE]���7͍��Hz����
䶹)K�|}�����w������*[��;��;;��;Ӎ]8��3}Z��ӻ�oy�͘�
�0
�~~}*\�zk[X8ggR{
���k�s������<�e��=5�{�8�m{���e��;˕��N��ҫ�lk iL��5�kЏ5L�	�������h;���
��f���N
3)��|:�/B[F�"*���*��
r�;�D�N�p�z�a������o
9�W0��_�X�n�d&�M����O���O�vN
�[�q��i�m=�7��[��N��N.z��Ko�\��w�^|

��>�g��`*���J�}[����"s��Ɠc��YhȃW4-��
^���^)�O} [...]
-�7
��~��
���c���e��#s�M��[�k~��y7��,�Л,��M.s�uc��^�^?A�C�����e�*�F;��p<&�����;�XW��e�M��
�[��ÇOn\�g8%9<K�<h}�u�
!��\�/O���5C]�:f�s�y$�Gu��jKO�x:�cJ��Q�e�̡�C�F�a�o~I%
wz}mT��M�U� nj�D��*ir
����Q��OB���Z���ު5M�8:�TR����2�[� 	�/ʋ�&�h{��ִ$v�
e��2g���!�
Fn���	{��/�
N��]�=�<Nm����5ٍw)�k]e���+��浏dMSm�Z��o�o��[G�J�+d���l��9�s�N�o���U�.kť�m;�|-~>�Q��Da@����w�Y���������]b��W*�D~b��!f��!�bD�;j���]���
+��
�QΚ֙v�dy����w���.@�
-�s
-��Ņ�����{�M\��m���έ�r�
-M��J��+�0������Qy���%3B,3���1A���S�1|�'k��j�WU�UP��ګ���0����j>:�Uꚤ�7�TOQU�W%
����I*�N5g�&e�����Ip� ���-��x
]7���Il�
��˃'��L�?v(	M��>m\�Ferb����g$�]��ݰ��ڇѼ���s��:�k���܎x����萕�l���
�I�3��K�G�3��B,E#�������\�O��qE�����銻�������'=�1
-endstream
-endobj
-2873 0 obj <<
-/Type /FontDescriptor
-/FontName /JRVZXP+CMSY8
-/Flags 4
-/FontBBox [-30 -955 1185 779]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 89
-/XHeight 431
-/CharSet (/dagger/daggerdbl/section)
-/FontFile 2872 0 R
->> endobj
-2874 0 obj <<
-/Length1 815
-/Length2 1151
-/Length3 0
-/Length 1723      
-/Filter /FlateDecode
->>
-stream
-xڭRkXSW�axl
u�
DD
-y\ D8R�)/A�I�M�c��Ǎcx���`
(XE�Q�8 P��

-Eh�(�D|4Z�-�����w������{}kWgA
�c"$S�T��72&�@4�Օ�F�8�)>�@~~�h� b�����b�\S�Ԩ4k��"��5**@��@�D�Pb01��:��d z��D#D�	�i$0*Ɓ��
-}�P�B���*�R���0�&�a�2
�	��LjY���aj~��L��g�φ�;Z(Ge��0�R�#j���Z1_�
y�-�Q�|>�
e�����@�|h
o�Մ��, at qq�edG�|+DzsF��`AP�Ǜ��q!��cuJ0~���o5���I
�B⼽�̛�c0��/�/��B
�A��b2�
�F2�I��N<D2 �Ԥ٥z�PC$�j6;ɘ%�p&�"G�1/�!
���{���R���Q�V3�>�� ,SO�f �s-� _�b�
�#k�jb��o#}[KPb
���IC���㿕�+8�\�[cA_���vbȪ-�1��
1�ʏ�����ã
�픍ח���w��g���_�j:B>�Px�X§9�V�`
E�_���ɰvU�������ݪ
3�p�
2�dw/����P����%�G���r9k��j�́�����1��+P<}훈0ER�v]��Fd>'�H6������<,�
�\{у|Y�ӵ���ь{S?l�o�:,7-ō���=�%���m^��9�5�l�*�/��i�Y���s��
GFJ������j�
-y����W�R����{���7��j��u��c;.��.�g1E�q;�|<�8ʯ���V
��!
�7�h}<��Ŏc#�5
�����2ʲ@}����ݐcD�����y8^o��
O����s�4�=�;i����gF��h�\�Bb�CG��'ܙ7��A�><�/:��4�	"���t�Aw���`���j�`A]�6���@� ��
-�{ �|֖F�
�n��H��E���K��'����+�n�l�񼟨��
�=ZJ�Xn�2�����^���E����ʲ�A.���N)�?7����	Y�J�y��%��Ѡ|����6L܂�;,�.0[���
�
#�xK�Nfx���_�T�z7��T떼
�w��뿓e���~
��\5�/����%Nţ
{ 9��m��5o�M; �y���Pi��hè�+�ҿvʏg5|����":
-#�����O[��X9�<�P{.?:�����'G�
g� oj�p��`��89"j`¢zPS�u���ơ�����*��#�%������!gѳ�_���U=����P�ij��\=`��~�~�H
���
ZUoz�Rr����.%���rUs�
���ۏ�Y�8���a���
�y�����I5gɜ�T��'x�
-�%k�t�^��$w��I>E-��pR�y��ӛץg^�kO���}V�G
xN����QO������S,��
y��݋'�{�V�y�Ҟ џt�2��j�&.�;��@�=�]�Dx��mjE"�,~KOͧ�v~.�([���B�?�(�s�=���
b-�2R�VI]Y�^��w���H�&�������ष��z���|�RX��$��[��ݩ�
���_����G�������AS�u�b�}]g��#kJ}'t�a�th�O
�g�;^^�y���\I��=�{�h(�f-3��WcK7;
-endstream
-endobj
-2875 0 obj <<
-/Type /FontDescriptor
-/FontName /GCEPBM+CMSY9
-/Flags 4
-/FontBBox [-30 -958 1146 777]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 87
-/XHeight 431
-/CharSet (/asteriskmath/element/lessequal/plusminus)
-/FontFile 2874 0 R
->> endobj
-2876 0 obj <<
-/Length1 815
-/Length2 1545
-/Length3 0
-/Length 2105      
-/Filter /FlateDecode
->>
-stream
-xڭR{<T��ȫ���=B�cf�� u#Q�A#�܌�=l��
���G�J��QIi$*��B�E�D�:�
F���ָ�۽���q�����o��]��w���Pdk:�#l�5�� oWo�`@
33"��a��F�CN ���!  tqNx���M�G �BV�
-

q!���p6D„ ?\X�Qٳx���Q��?B�!���!"
!��h�Ō�� .L&�7��� 
�
�0��A�0[;3�'�� ��4]��Q���<�p Z1������B�q���(� ��������&�De)����:�3�s�M&ĝ��Y�谀5��ɧ2a�
;�	���s�c!:��" �Ƀf��>_Z��Ya,эH����=��T���&���v=���[�±@0�Á
-����
-�'��MC�0;
����\.U��SP���{@ fӡX �U8�b�_�p�xőq5f~�`}gRs�
�����:��+��ZAkmk��m�-
p�����&�r!6�H{�3`�!(�i�<Eh�S"�_M+K�$��[l��5�&�T��������̒[�,��N���^6�x`M̷ռ
q��?&Ee�v��C�v׭
����L&-����e�n�OG_kYNPqK��;CEd��6���M��UM'S�	��yLJz�s<�O+7�l�mzo�V�H��QrBd�Z����H�`ŔD�X�c��A}�HF�
���6,#����ր��/�LP���(�?,
>ӛjO8�t+��r�W���7�F��n���o��9|��?
�
�y�Yc�Ĉ���k��[����r�D~ޟT��Rz.�(%�]���u	+;/�L]���;��s1F����"=�6�;k������Jo�d��w��_%��]�M���n��e�m ��T�����U�ܦ�wv�#ħ�M-�0v���
J��!���A�g�cR���;�����ђ�EY��K�V��E{D-|c@�O���;:c�Κ��a�z۳b�)x{GYE���䒈�L�
�
�Q��R��\��I�g����܋��Ԝ
-T�v~Om���C����X��A�J8���
-͝�d�������ݏ���ub�
��Qmʮܶ��*�` "����nH��8HBx�*�6����T�ʆ�3-��,iR������+Rg�=�OB9q�ͣ\*+n
-�"E�	U2�����>|��8@�foh���ή*]�k��voV_���t�:\�pd�8z����T��O�-��`��X,�I��� _,��Ĉ'�zæ.M;`��Ľ/n�J��&
I%�&��h�#�{.�,��ȰYmS�W��ݏ�*8}�������,��s.�-Okn
~�١��,R�1v�2��9p"fi[�OF�hn(5��})+^d�U=J%Jt*�hM��R�oc�/ɱ��>�����	���k��z�c7A��Yȑ��ؗ��$ûE	��v��g��o�[eλ�A�G��r��R@��K�=�
[�c=��>�"���ɡ{oӲ6W�2
�h}
	
�%�m߳�L�O':�z4�����C�����p]�Rx �e�$21�|��7��F_}8��J�dY��N����ף��ܗ�i+El��%}��!��#
���<�o������%�0&�|��-ql���ze
k@��s���6X���T㍋g
i��SV�]��ş�:���O�hڍxm^���Ȑ;���-խ����HI}t� 3��7q�����xH��(���{X.��>)�e
.�ļh�qx����aW���1
n�e�qN��R6�)J��AjAZ�#)���P�z������ň
mݽ��Oӹ>�n
:i���~��`r���=�q��'���M�/3�N|k
J�W1�	xM;�l�mV_t�궢�}���:�g[D�����;Q��"�
����{����.�
�Rp��z�-�2����`N�ZW[P�~q��`קo�9�\HC���^eg�-J�
n	�
;�|5M
-��zլ�ڥ�Wҫ2
V���r�m�w�9��?�C����^1��t)���U������vXro
�<�u�1-1��8�q���O�R���
-�����Ź!��"O�sA���S��i�j�f{y�Ն�{�
-endstream
-endobj
-2877 0 obj <<
-/Type /FontDescriptor
-/FontName /CDCNLO+MSBM10
-/Flags 4
-/FontBBox [-55 -420 2343 920]
-/Ascent 473
-/CapHeight 689
-/Descent 0
-/ItalicAngle 0
-/StemV 40
-/XHeight 463
-/CharSet (/Q/R)
-/FontFile 2876 0 R
->> endobj
-2878 0 obj <<
-/Length1 1612
-/Length2 16918
-/Length3 0
-/Length 17756     
-/Filter /FlateDecode
->>
-stream
-xڬ�ct�k�&�vVl;۶m۶+FŶm۶S1+֭�Ow�
������Xc|��3��w~k-2"e:A{#S1{;:&zFn����������
����+ௐ
��L�������N��Ŕ�nj1503����`� ���N��. JU%u*����c0������Ζ�v �n�6���v.!��
�MM.� 3KS�������8�R\N njg�dhPp5��4�X��9�R�� 6�q �ۙX�S�3�_,Ag�!�����򯛩����?*Z���������g��3������o\��v�6�&�$�Wnf�oBN�-l����)�;�8;Y:� �FU��<],
]���l�W
�7�kibo��OI�����պZ�9\L=\��ed
-0�tv�1���/����i�:[ڙ�g� 'SsC'Sg�0�����	�ߪ7tp������_���������=
�ߘ�.c�[��0�3(�vf� &�����:�O���ӿ
��gf��&ahbog�	015�a��w�@��2���
����B��?r�+G��%��{��+�������������a�2�v���������������_
�M�#��
Iÿ��3�K#=�-��,=LM,]�- f�6;��\���������/��6@����_t*���v����?T�v&�5��$��:�������ݩ�Z)���E���ob��Y{��u�CH���M���1�p ���db��?D���?ϲ�.N�
 �%32�[�����I�����ۛ�3+�.�v&��	�Q�:9�e������y�w�MM=L�a�W��X�ge��a�L�h�1���:�6������G�qU|Ԇ�7�p�{.�;|
IQ��a�P�^����P� o�wr�
1��g\��x�,��i�3�
�O)*�|@��t�8A�<S����>9 ��5ģw!5���_�'�>?Q
���
�ށ�����C��p�'�p����R�􎤂�h�ý��"T����##�!���yS0�߰��H����I�u�h;����]���L�����t%u��iƛ
���&
�͂l y��
p�𮳭�~�G�]
�U�*mpo�8"c��t�Bnsp&��Y��0�(ˎ��OzZR7��웷���1��u���R�?o	?C?kf/4l���	n�Ւ�� )�P���v�%�Y�����
[�����T��UfQ�9y���
��w9$[�ԏ+	.�4��h��D������L�
;��ʳ@��0�!
b���BӀkj̊|RA[��a�N򊇖g
��8��T���b��щu��_<���1za�o�0:�vltGy/���N�����֯#�^"�0�<]���������Q1��D8�pb�
�F��$�s�(+��'�#�C/
-�d$��Eq�(H$����}ؙ!I����!�>!���@ၩ�=݆�`ońL�[�Q�f�9ER����S�ܲ�֮��$n��!"u��vAؽH
q4CDl���\�����BX�>RQ�y%��y��%��#���W��R�~�Mj��Z�!�.��g�%�-
�S2z�	�PA����F3��O���>����$����s�%޺K�YO����������M��t��M��ؽ�;zT���ͱ�Q��6�
��^�����wT�
q��9��{<LTs��n��"������W*��݁��,
�0/����P=��4�|�T5K�dð�����iԼ�|���3BN_��	����V��(��7�M��"��a�c�d6fa�yɈ���*kR��5k-�.���
���Y�6�	<xB��g� F�1�n*Ŕ=�)���o�1��x8LU����t�l�~�4�qXK*n!4
���8
J
�"S
��{\��O�


-Q���fZ�
�7��
B���m�VE-�"J|&U�HM����.�
�$������F֖IT�i��6$�T�
��
 ��"�ž_<xK�#�.0�\~䝉,K�7SEY=���0�
����/?y�[`U�ϥc���e'
B�.��Exj!�d#h/c�cCW+��W��~sXu
�wL%q�%�b�+}��P�3���&حpOJj�0��.v�ca� ��
-�Ɋ��a��]�)�i�����{�4~!Ow���# �>�~e�s�Pxs�x� �x�\d�
H�
/)��DI�0�?��e�"d��"��ꑈ�^}��V~gzU�3Y\�b�2
�.��t�КT�g��xX�J�(���p���P
^�
�ra���^U"P]��!9��4����DZ�o,~:E�sE�ʔٵ[T��$3�N�3�''8�P[Y�Z_��!�2�����:
-n�u��e�z-�NjҪ�
��
M��#J���s��
e�n
��UBG�
�yO��زl\�׭7��KF<D^�c�]��eT��,��������.��5�x���p���K�́m�g���F�q(�J�;�n&�:�}>���xK�Y����,@����d[0�b����C�j2S;�GRs�Rn}�0�#fz�ٱM1p�Cwh�/nd��4E\�?�>_��R<��_د�y��&N����D5��/���@��?��~��5�s`S�E�L;���/�MWM6�����^pT� �*�vN�8
.�6� ����R
-��xdsq��d�g�%������!�������ͱ���Y�4����,o5���.U�NY��jk
���4����cp��R�)&i~f�o�{.NI��.�����?
-�*0�-
-S�dP��@�&�v@���j�Q4`$|���gB$'��ϭڇr:+�a������T|�c5���}1[wa=	{tL��o��@��A���Ԋy*	�<H�+�
�fJY�a*�D�Kܰ@)�����uyj<	��]�P�SI

R�4Nߒ�R��

h
�c{��w��оGb������[ԋe������.t�/�/�JE��j�"]jt��E\��j�@8<L�3ECyH7��u�$~M��+�A��<YmΝ~��m�.�D�xdF�A,@@
�
�w���9�$�ޠ
-u��"wVJ=�BߊQ��q�L^ٓ����b*Vu
^O�:*F�F�"�-V��~f|� �o�c,�
��B���;�Ô~���D����	n����u����rR�oq�8�5�@g�S�N��M�A�nV�q
�
^Nݠ�c��nީ��LE�V]ʙ3iJ��i6)�
�������ǰ��
�����,�AZL���Kufl���P}�0TS'(�F�p
�K�WAÍQ@��k�M&C�Z�и���~�OR

|d��L`/&�:C�9 �^+�I#�9�YVu����\�v�	.f�d���&��	u���*B;0;���KKq�3�[,k
x9�\>����[ݴ�c�^�|?�jH��n�X@�T�b�;�ƿ<��T�ϲ���re��:�L��\�HA��:}�ykl�d�ȥgPs}ޕ������#�A�Ѡq� ��K
����:D����$���XXP�L�Զ��K2�D��<�a�O�A<h��g�n�v-�}\4���ϓBO���h25��ҲIVC�,��2|���@Rb�7�O$Y�=+�F
�B%���
-�t�&	8�+S�����g3��Z��ج���3"m�#
�XlR �1�����b�)�
f�\W�(��<�yَ�
��Hl��IW���T
��C��|t���8���=�
w1{���C0��h)�.�P�
-h�峽��cD�?Hak`�*����`
e47����qnơ����r���:`�;�WBq�d��[=m���	���q83Y��_�%I������э�IVBy'�
���f�,12�
E�����	^	Vb�x��5^x&�ئ��C�5������V�6>57��y$���R��Iz�:)��&��P�0_�&ip�~-pŠ����.�
Ϙ�nպI�6��Hh
졚
v[��C��\��
���O��d�5��{��!��d$�����>Y�3�?�m$
 ��9�=sL��Z�!y�]���X80ng�
"Q.7%\3q����` �{=��Wt5��u����m�`ュe��"R��b����d䆩�*�H��Ut��l�o�E�e8�E�g�9����{7ʓ
�v%��ŝ�2+�K
-�s���-/f��s���l�U�	L�����9:�OХ�&��S��0$G��R�܈�>�x��u��%���WN�dzK��G�t����.���\�j�2��c
-�S��l ��(f�
���0�!�/� 
�k�c7�0���.~"�X���˻��}Ӎ�EeR�6 {C�L�Q�Ř9-�"����U�A�G=y�,��j�9�]�l�3
��l��՚[vK�.qթ�K�]�ӣ�8\<ЌYm�,Gl$_ @��H����,)�kO7���
����Y���x�oAE�OC”�:�(
�����2o�^����)�ntT'���8~��y��\��"��.�x�jQ�hIa��%�!�)`��'*����| �X��;��hJ�(��r��dfO�{�V��if�|%)Jt��m.�meR��u
�+�qYݩ�
M�8u�E���jD�gʹjɮz�t�	\��,_�$�� ��%I�j�����?D�]�2Jګ쭾�~H�f	?�7
̤�1�&L v~��hamD49�hܽ[��Fe3��h�o�����ߒ:g���}�`1���6^X�kg�I�c ��)���:P��O�}U������E*0�ū���O�߁j|�}��{�� [...]
�
-�}��z�-���=?���������Vq���@@�d�&~h���A���u��o���)#�jd���6�
+�yWR�(����'�I�氈�s+W
�!���n�|2U���6��`�}��t5���N��.=�3��ڡD��IIU�v��l��q���ƿ�S%�t�
O�g��1b6���g
�vV[�}���
Sҭ��9ꚑٿ�J�K-⸅8y��%�F��Vȸ��w硽{}H�(��/KI����ͺ����:}$���k**y'�kB*�,�
�ܾ�q�����i7l�p��H
�ɦt����8
-�[
Q �^Z�N�3���jQj;.��|��x�h�S�����㛈�>���I�:�kx��F��&��2���Lj-�D�d�4�xi�
diZ��-,%
�:������{h;��a�?P("2���U��
4A�tѽ�`/$��
�:�����=�1������J�QK�	U�?�üZF���U<��Y��Fz�
'��Yza���JI�y�S���s��Ld�L6�%�Y"|xj+QD���N��(��&�0�h�R���e޻�x�g)p&��?�I��q���e�|���TV��Ʒj���BV������y`Uȿ�
��B��ғ���_����x:�=L�(yZ$�+�@3H��t�f@!�VfUA
�K��w
,��βxl�+���sT���V۔I��0��.
���~x�����;Khm�Ǜ�o��
ܬ��
�R�����^[Ǎ
-�64��sd�'��_3r}�cy��}�v9M�d+{
�{�Sl���	-�0���bed�@���@X�)�b&j���Y���L.�4�1@`�&�8,
4���dE"%��ŏ��V8�0��emr�c��1s��"�V�
�a�D�fX��^l�^�Y`@�p�ߠ*$�ɖ�i��o�
�10Q��^
د8�c���"��q�A��Okq�D��D:�v5?��8k�����s'����#��=���:5�?��WaFᯑL�I\<a��FG�DU������X�+��"��́�
<���ӁK"
�!RG �A
�u��� �`���n���<�`9��je~���a��
�qP)�ND�@�΄�bs�f�R�?��p����]��x.pѼCw���6�ߘrx��]�
-Q�Ki8!\�n�gLC{,����R4�!>*'2��^�;/=�Z�7�-��T3�|%z�9OO���@<��+������>Yt|W^��̡;�K]����S��|�� \joo�����a
|SJ��
3[����(Ʊ$���P=?c��_W
��_��T���
NNJM��[þ������ù
�Z�Yyt�M�Ϫ��5���,C��t�X��0w��E_+sf�/�~N�uH�,����7<�D\�|�(x]h)�Y/M��u�h:;g�=�I"��͹�*�fVF�ez�T��u��e��G�I(2q��B�f�&0h��;�Q���к
�!�$4헨E}���@��B
-=_4�c�x�:���y�f3e
5����{z}���{t���,�_�^��;�$c�id-�z�~Q�)�l

<$���,�����)�iAL!�g�!���[����QO��b�t���A؂��>����O'=K��z[��@o�g�u�)�0~�����8��{g�5c�.!|�W�a��9��b�����"�ԪF��ͱ�+o�
9HKD��t����鄷??Uٟ���n����Dw$��݊������/D��������Qd<1 at 6�<�C��
-�����fW(����Bw4����
��+� Z�&J���;����
�]��<{�
6#��s�e��r�c&"��!�.+��4���v���������
�t�%�$��l�
(�T��~�^dwM�zڷ���ِ{�|�x�!=굪���0���K0��a���
�~�"G�f���*3bJ+��^�я-����ub�vp����d��9�L�'v�G����(U���%&P�n>�̉oG*��[�,>
�bA���u�ŋ.��<��
�U
-��	
G�2�kI�i���J�+$~JC��
���=�-����?
�6�vE�ֵF5{jJ
.�8B�{
g��j��-��<]��Q&��&xÐB`��
	��`�l�}m�D*�����4gɻ���.�ϡ��U�Hhd�}��:.�&�8w]�
���,�K6����St�Sg9�Z5`����ّ��gmd6CRЉ
8��l
�������6-�=�v�>��#���וhS�.���7�8���q��*��>"�nm�w���c����ᢖk�����H�ճ��1p�
X�4�:�װ�l3Z�c��ҧ
O̭4�P�������	n�)#�}��
q�ėR�Щ����;(��:�0
-�(�
�n;ԁP�.�Vf��m�.�'p¢��4���v^�
5��;5�����}�$O
�c�͈G�+�%6�dE$�J�X�\��*C�?
��O��O��K�(��ѣ��V���*���'�-�L5;G��.��]B��y�dWGơKo��R6k�cr��\!/�?nG�I�jcJ�:���t�3q�!o9�F��6�+
��R�u�w��Н�b��ufs�Aڭ�X�1|��?���)!��{0sx��7L��\�np�Q��o�Op�A����d+ۭc������κ�6��U<�=lcw�vݛ��Le���	g)�g���q���U��Y3s�'��:��\Hpt����x��4
S�F��ֺ6�E9��C:��� 1��RӼ�s��hE^ˍ1�0�3w�F��V�'/�&s�-��6҂Lm��F�M�jC�ʋR���)7�9��Z��
곙�
�B'n:Q������Œ�'��J�e�#�Y4�Yo�����:b
rJZ����!�	�A�
8xDx��A at W7�ܹ�`1�gnո�~ 5���
��~�x [...]
-�b瘅Y��/5�+,��`��3'dw7M�_
-V�$K3K)+Ŀ�.1�

�$r&j:�Pu���dw�og2�/�3�T���C/�y��"�$P-�����^+�`���>�����IV
tXirc~�+�]�\Z�#å�l��GK��p_y�o��q�
'�UvZK�*`�k�ծ�X�c
�WZ�2�
U�.i�O�A� �]<
k*��U�zn)\0��}���D���7�8�!�I%v
��)t
_��u
�RE��K�Wx0��H�o]�~`��T��Q�^�

����� -h�c�s��Cw
"l+��l؊4BQ��c�u�v�k�AX�PL{�Rquף~؏�?dž��'nS��:
-��M�@UsŭԻj�;���R?�]j�::���
$e��:
/:�.�I�y�"^�I�
�v]ޱ�D����U�m�@ʵ�n�
�����
�\���.�=�w] p�v;��(
�j��vҥ`̋0�.Cs��Z�1 g�x4'P���-7ڞ�Q��<i.������r�P�;�ٟ|SN9�G���
�~/�����Ĝ��f,�.
-��iQ�l�e�B�z٘��^�������aB�:�O�V��9�o at Pj5�w�XsG
��/�
WV��dD��F�\�e�;� >�,��}&��0����(�Bf�
��5̯�B����ݨ��<ˁ��XL߯Ǩ�4v���
�Ј���N�-�e�;���w��n�p�R���9̙$8��Pa\����r�i�|ق�ԢJ�nwf�&���]Guy�\!�s)�x��@Ոj�}h?��?~8J�lk�L島�b/�`
���a���H������̼��K�
I����?��%';��}�"��t�
�����x�5����
yrE�\A���%���U|őT 
-�䏁D�_(ֿ�4?=�
����71��O%�>�����Dei^>���V7�t��z�[��=�
d���e")��:x�|;�g�}
ѠL��;?(}6C��r�w44ym�x�1���><��<-�P
��b
��OqcX�sS�����t
��
��8�d9�-.���J�S;ҘÃo5� ,M!f�J�G�c��&Ɵ�-Ò�!�!m�X��	1��N�#���U��	U4üϒ��c
����l�|��>z��i�,~�j�>�$aHt�Cd�p�tL<�F�8�|�v�
��"P��U3`�C��vt��&}�S�3I�]JeY�97�q���Zث�^&�OM�2�cx`�T��ue�����dbX�<
2ʐ
���U���q�E�
94
k��Ń:P�ӓ4ϱ�#:�;�5y�%���G����dǛ�H%,�\Œ�,��Q�V���L
�4���X��HW���<�^����(B�[�[�i�C��C>i�d�d<�y�U"�C��p/��l��`A��&@ �V���X�����Q�ʪ�0(Xh}�loA��-�
 �cm����6ߥ�&Xe:�Tk�آ���"�*v�Mױmy�z^�B$^�����Y
�%�	�D[hAN[,��4�������,��x�X
�C�
���D!��X�|�>_ʃi^�.��"���Y [...]
-,�\x� ���������?:�~

$�t<���~�GG���F��ސ��8�Q�V���yT����p��K��Ť�"��T<yz%�<�f�y��v���38
�>u��R�����#i*L�����G�T
ܟ��([����;�K��f��
��X���������x>�;�6��B�>C7�<
���Z�y�eX�>k>� 3J������X~ҿ�U����S��Z���
�}���;�32&��C�
�y�9�F9HAGr�@v�
p_b��
\V���4�}yً޾�����={�#
�vJ|��_Q�SzC`���*��H�%1z��,�Ͳ�É*�2;
xK�^s�U�U1m��e�|"��* -+�t|m��A�u(*]f����!F�[��ɔ��%��!&9j�G��,ds6ж
-�p�	�6t��
��7U+,�«�V���φ��(��+���?A�Oǟ�v&9\������a��C���E�V
%����W��s$�콰q
�!��⩌09:)T~#MC�Y�R��$�&����ġ��A�ւ� 5B�"T����f����뜎)�
D��j��! ���}�N��a�Ƌ���-j{\E��ϥ���
�p��8�y�,|?��7t�()��
. ���5�A�N ����e���>����B��=ۺ�8ݦ� +�yh����{U[�!v�L\=M��q�
Hs�kl�3d2N�����f�'O|Ʊ)����W!
���̛��
1mr�&@`k�6k��d��eE�7���P�W
-�(R��r rڬN8u�v�gpO_즤\�T�fc��ܧ���k5וg�s�&�O�<I�'�_�n6^lب��1[7��x��HCt?
��p�oa��Lc]�	
F���J�BK��T�8^e
D3-�ãx�z�,Z�U�|���J^�K�d��I&���]���/S�����+��k��b�&{�
�ߓU�\UW_�G�|	>���iu�Yh�LsX��5&�C��R�w~O�	Q|�
-5	��D���C�
��&��=ߔ�.�5�7���0��
-�&Ԗ=�x9�<��Y��8棼j0��cmB���Y3�@�+X���ڎB�8Ox���2Ԯ����P�zWO�[g�@tP��EN�<�6��Iۅ,��&��6��Qu�+�ÈH�f at wM?Vе�E��>X�/ҡ��Ÿv����Ɔ�ӻ�MJ� ��Ee�M�����qZ���Za_��p-��:|�k��X]��d�QJ-I
��r��h���툂{�mu��{]�di��G��E9�q�E�n�5� ��a��`��w
��,�1WV;���1� � �¤�c��Ÿa7!S��y%z��Ň]����0ȂN�.m��r+3���!��N��~M��B�VW�`V`����;�~yv�f Y1�����\�;V���绉����[y�P���%����fvw��*���\��&����g!WB�<�{��-�o�
j�Ff
U���O1�O��ӷ�_�����F9#��s�����
-���� �Gfxٲ������{��#O)����e7ٯ�(
�_4���E�wO����v�
� ����w��A�(��O��pd׃#����t�v���K�9�8�u�����G�ڢ��[�a��_����
nS���p�1P���dI~O�
�n�e�� �q��
k�mS�]�{Ɠn���m`0f��z���L���:��'���@=D����zW��
��������6��1F�B�
n쎃L�ۂ^�vtzG�7�gZ~
-�U
�ێ�k
����kn�t�ߦv]-?1������|��|��f���K����h��U	b��
�a
R
��ij޻���صF������X���y�s[nOo���S��8F��C1�����e
9�_
6P
-?�}o�U�H��AS�2;
"�	��,�"Ļ�+�1p���3�>b�2Aͧ���rx����*�w�3�cz%aq]3�ۘ�����{�Ltȕ����}�=���dЛ���{5�⢥!�P��2����/Aކ��
i3ՠ��JU:Y<~�U��?��~R�Ҕ&7T�i�s�;ma�~Ⲑv8円���4�
&Y�e�׻�i��y�h"�
�֏�F�\�g�C-��*�V�Q�6�A��
-�1[;�Ϗ�Z˺��A"O۞
��
�o҅��2q	\
�&�D��^��#�ꊲ
��]ǫ	
�&x�T��"�����(�>��`
-�*��dY��ciܰ�oc
-���b�
�����V�S���	��*�kJCE#�Z�}��vm��B��l��4�b�]"�7&
�,C俎c�0@�#�ꇱ&��
�2��~?�a��Dyd&�������~�U��=� ���g?2r0�s�We��L#B*_?,xx�X�
-?]���i�W��K�Hw8�䜽sX��#
������K��5V@�"
{B
$��N(5_ysA��
;g2�	������{"��1~�!~!���� �$Q����/�[UND�v4E�d{3
F|w���Ș�
nna�x at 9��Z1��q �oO
�)�b1���.V[�w�t82Wo8A�m>��Ɣ|��{�lS
yX	*�_�z� Ȧ	���J2o���
��lI��m�R|� w��۷����c-8�����
�v�{�_�?kW�0���R1D%�����?Y\�����cD"������M�_�3r�@{
{�
:��ox1wC���U�B��θ\
<��b��bMۨ�"�
�uꪻ/���>��W\pC�HI��)2Y�n�e-������R�ŀ@�
 ɗ
���IR��>�(�����]��G̞	P
-ϟ�F�j�!��k�>/S�=���5�"{�ll85^fM+�qI�K�ԩA�l4+;y^7{���
��+!�]��T��-`�BcM��s��S��d����@̂W�r�'��oDOnm8E�b�wf�i%�(�"�4���Y1Ё���
q1"箑�}��.���q_'�h��I����8h��?
�O
���M���u�A������:G�*%�1�D^
��)%Y�
���r� ^l���D|GnN�<

-A
wxHvNҿ��Lm]����yN�,��N������G�+�C�`�D�Ο0U&-5����n,�r���l��h�%���7Mяr������-[;x�
�ιν�بi5U6;�G!лs�HfE
-
q�
8O�/i/��YPǘ��3�����P
�&�n�Lo�!U
^����Uly�����
�_�"��ə=�A�D��CF(��	
�2Slv����|K��&����;�YRR��ԏ1�6�#i6aƩ��'6i�c��̝a��j��u�5��l�l���VW����'�s�
�e}�M�NR��
e٦�g�^t"v�3ɪ_+�
X�Hz&d�0T;
 ��`8}!G�4)k,�G*<DT�m��y��x?
�����d�i~�Yjߔ����5
kC�L
�ЖSNM;c��3[4
-�
[����m5M��/Xz�
�����6�]�$,�ac���ۮi��]�j{D]j�J��O?P��X8:��QV\2h~�=��qk*~ѩ)>�M��1�
qoC�5:��
-�T�X���v��4�<nrh��)Z�f~-��D�Ԧ�V�$�6�
��\vi�`���R�s[��ɰBK�m�ڡ��$�ڧ�?�s�}�Q���@�5WgN�G���6���%*��.�|?�m�QBQ���F
-��(�s�p�7�aa]�}�	�
u�	���
ف�BUα��jKx��ׇn<�aW3���=�=�c��Wr}�N���B��9��.܃�U�.i$Zɍ�$��<0�!���Us)#3ym�`�^d'�`�l�y,�t;h����ֈ���n
mF��&}���B��c��m!(�qA���0�����F�u�ָ7�䒶h#��ߗgn�lp-Ч�h*'��[Tž9��L
��� ��Lܫ��
�jM�K�f,͉�kyoMlh`���11,[��^�=��f
��cWp�
 l-���s֎i���]�I�$_)!�vda<
q�K��b�92�J������\�E߉����˱�M�6�;�u
-3u���䆾�ׇВ�n��B���E��;I[����I`��� �f�GMn� ,Ȏ%NZ<D=�����\�3{sGpC
��{�ԭN44�*.a���#��P����T�����8���7�y
`x���"̔VW-O��R�b�-�J�V��҅|�z�L>�3E}�})+���#�ug'��<mC�/^��Kj>N&�!�4LS��NS�4p�dN��hk��b�u���/%
�LTw)��� e��=��/h�Ȝ�fi�u�a����(o������M4�Nsn��h.6W�.�e�䫉 H{��	�'!o�P..O�i
�S�v�e��
-��tM�efF���6f��L\T#S+.6_�<6�u��ZЋ��C�;������#0���{7�R�^��Ӕ��[k�M �/#e�"7�L��N�Q�k�i�`�H �oE��=��<����2��ͧU�֧	B�h����Q���+t�
-u�P�0Fp�K��4#�
^-����l��!����0%�JA�f@��P���� K
DgS�d��Q9Y����M5ӵ=��q;7F=uG+o�?���ڐ�q+�׼�v��WR�t���Fͼ�C3޳͛��t�+f<��SЧ/ޢ��#�">TZ�z�N�P��c��J���d���]h~Q�d���1$�l'p��c���
�U��H.R#�2���
^k?�q�a�t9_�U��A��>"�〳hm��^��d���
^�Ɖ�@�(?��]�\	��P:�����T���e�q�"*	M��� :@N�}<`3��c����G��)d�N=���/V"��
b�7E'#�*Oc��b���"$��Ȕ�q�¼d���z*�Y�%�'l�Q~�9�Ɣ�U�A��e'8T��l�.(�Xr�v0�

J�j5j]P�T���gԢR��y�R����^�'��)��Ʃ�Ou3	�A����g'
-ѝ+/�I�х��")֪����?"]B��k�z��&77uk�َ��q�:0����Hs��څS��n5�)��!|���]�K�ף�	�j�Kj,g��_
�u��n�b���	k�}�5��u��^���{�Aپ�
M���e��R[�_`J���@�ʳ���D
ʿ�M�;O��\��ܨ��~JwU�Յ�`���6��y�Q����W]'_P��k�t��
�,8����w�&�3,��

�l=,�c���'���Ü�ړ�yW1+�*���?]0��$�-���FŌH� �cX]�''k�0PA[�%�h��6�s���x7jr�9��V/�&�X$?�Q�a�K�HRU��qYGT1�'��?��*�v�O;Y�-xB*V��x�n�L���_�RH���m�U1�eZp<b0C� �
�Qr\�(U��<�WP�\���c.i�~G~����f2�O�
w����e|�y�tH��߁�'�=��g%B����B<j��8�v}��3���0wDUw7D�l
�
e�F-c
+RU�~MFh�h�����3�fv%�n�P��~�3uk���"珐;S����c at j��?ץ�1L
)/�pwŬ�Զ	g24)#���.a��
Ū
�4w���QQ]�7����Xmn�
6�
�f
�'���\��
H�
-e��Ǜ�s��&@�n�"
-����g�����b.rR������Ӝ�P'A���AV����a,||�>�Q����&u�o
j�7�p0�B�
���A	d�������N�R* ���6�]�?t�V���o����f��-��/b��C}Nh
��Z=_����
�Z� K�^ASy6/�e oF�������N#�4�ԗ�<�C��I���(D!U�S�줥��8_:������{kFt��Q a1�iA�vց���0�S�H��][Y�-o���dI� ����%�
-�6˒�*8�M�
�R���Yn"�_�rٱ�Xc��%�
��$���k! ����yU���ÿ�b������+%Ui�v����ew@�"V�Da�ǣ��uqЭ��q���j��ް�w|{�5���:gx.cS{��#�2�^��M��J�`Z
-\�?��B`���xV�wZ����
���&�:	
q���ν�p��]A����r}a󀿢�ڜ�Bo��_�?��[�y��"%S���U°(�8 �s��Q�fuA��r ~1~��Qiy`�(?�Ѯ�� ��߯$f*�ڬ����y=�Gi�;e�ΰ���O����h)p��{��h��_"+\eSXC(=�?��)fF�z�}�O&�����ʔ_ElT�)�M���rc��9F
G�@#�
V�N:�����D ����Fۧ��!�R�A�aضm�FH���l���������'�
- -~8��
ʘ^��'V;������͊�NlaO�|v���I4:0_8%�\�P�A�%SQ���U��:.X�ݐ�
j��K�\��������UE'�k��2?�8��Hw�u�
b���#z��G� U�����3wב>!���\�~�^?��~��Џd�%�Ht�
��PtS�~�B��j y,����]�H��a�~�M7R�$��3���,�6P��wN��/�b|7���Li��Щ������_	�D��S�@p��e�:��֛F4�޸
Ӹ�wfV�	
�
��ko�P�R��ջl��|PZ
-������Ƃ�7y‘�
+���$�I�k
]��{ �Mޙ�6Z
Av��?��u�n �H��L�'2�ԟ*�-
���
?�e Me� N�
-������|�SS��P�oL��TR�[�7[�A������(g���A}ys�V���t�
��V�=5a�&��ڹ��
t��~࠱���Z��<I�8q��]��洜U�vņ��TKt�1/������1Qw�!��Y+�I��S�HZ
%��Z��d���V�������EdƎ(���=��
�0�ԟ�ց肉g!&r�;k�>��A`��j�$��&?q����U�� b��cWC��T��!r�#�
�]�
-L�᳓:��n͉��
0ǃe�V�NG4�$�5`�P��}\OO,��x�5+��$e��B��ᑶ��V����4�~�i�g
���D9����w�@�\�*��1��Vo�Ѕ�r
�K�/�۞pL ˑѢy�
-|�z�ˇ�	��le�Py�F�[~!��X�zl�w�D��0P�MO�����;O%�G5�4̪

-.R���B�:�w�+�Pd>��S��
�+�/7�.T;(It߳t3����u�	��q�����h���U0o�
,��dU�#4���z,B�nMz�>�T~73�r�=#5� (�y��z���c}�V�_�>C�K<��i��/�@��6�0�
z�I܁ޏnS�a9�Sd!2x@�z����qq$�d-q� n�=̥�iT^_�t��̥4pJ�	2���{qb���!�J����\�,ݕ�!��������v�ܠy-�ۃNR6c���_�W�#M퍇�D�4J�=e�s�D��߉
��'��;>{��q�8��%�[��(7��h��(��9�g�������˖��{��B; ��9��C���l�$�)#�G���9��)��igm���|R���pBN`%;ܝ)f^kG'�Lh
�@�11�|�r0�=x��\{Qp�F1܅�w�������
c�s�B��j�Iӟk�QG*�y�Fi�����SGH��4|x��S>hco���o�늋&�[{��d!���vkX_���0PZijQ���D�-`��1kuFA���s5�M��l���rv8�{>1�_��v�S[�i�iWP8��� 0��@���
mn^� k
O�Ky��)��?���C����:�5l�y�Ϯ���Xn��
C�G���k��{��"ï�6����𯯬�e�wN�m�*�����G@�Vʹ�K�V˄�]�}t�-JNbr*5U�[F
��i�,�
-q׼,Vd�ۡ�r+t6W�ɷ�v\��C�F7g�Rcqr3�!:2��Fa�W��RH��
��
5�`6Գ�%g�W;���K�Q��\��
-endstream
-endobj
-2879 0 obj <<
-/Type /FontDescriptor
-/FontName /RKUQFJ+NimbusMonL-Regu
-/Flags 4
-/FontBBox [-12 -237 650 811]
-/Ascent 625
-/CapHeight 557
-/Descent -147
-/ItalicAngle 0
-/StemV 41
-/XHeight 426
-/CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/R/S/T/U/V/W/X/Y/Z/a/ampersand/b/bracketleft/bracketright/c/colon/comma/d/e/equal/exclam/f/five/g/greater/h/hyphen/i/j/k/l/less/m/n/numbersign/o/one/p/parenleft/parenright/period/q/quotedbl/quoteleft/quoteright/r/s/semicolon/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
-/FontFile 2878 0 R
->> endobj
-2880 0 obj <<
-/Length1 1630
-/Length2 7267
-/Length3 0
-/Length 8102      
-/Filter /FlateDecode
->>
-stream
-xڭVeXܶ�AJi$��.%���f`��n��G@%����[�C@@�C��w�9����u��1��^�Z�w��

��>��=���z���K���v�MT�G��m� |y8��
�*�z�$� {�HHH� �an�p�����PϘ����_��. ;� w��#�z��
�����
w��@}��8�! �������2�]Y��
������]+@��"@
 
 ��   ��߭!x�� [ �
߅�|� ��7�
w#w�`�n
����
 �!���
��;�����y��awd:0��y ��((�U��������

�9�y�À��[����ܡ
�`(�������#� ��w������?ex"�P�U�
��
m��qGs��{:���?��us��������g
`���/ x��q��
����,�P@��/����?0/�π��
�]��0(�`r��ӂyܥ���T��ω���?"�D������\���}�;��'�e�z� =2��W� �~g �p������l]���wGc�_��7��aUۻ��A
������
F(�}@�:`���r7�?vC�=CAw���]?��0'0��[�� ��������x>5mSEy�����Թ�_7��k���y�������#* ���	��M�?4�:k�z��> s~^~~���?>�:Y��F
-����
}[��ݲ���z��w���wM���g�A ��

(᜙��QE��gH���M �'ҭ���MaH�583fY���2��vD��wz���75���6J[�K�^] 3G{!�+J�k=�Ϫ�(k�8�Jc	�L��h}eHWϪ��~%��?�a�*
!|�F
���H��������k���3���ޞ��C��o�\��{,R^XD��!�HZ3�r�X�5��u��)�DmI
��.�#(�C3���u]

�D�����b�E��6�N�)P9�r�q�~]�,��t�����\��#����?�dD03~i��R���a�����X�эZ��L�^S(M
���U��
�]�5
-��X
��8M�u��7K�uꉨ�wZd;���b����m,�V=�C�B�IG#Z�R%6�Q��̷�7Ei�Lgϡ�������!��T�/��R��՜��$󩲷�
ˢJ�4x�5�s����W�'+�_}�CxOX��G�s�Ԕ���=�# F&�U>��u��Z
���n����\��Yc�t��͡=�iǵ/���3+,M�9|}A���{3dܲT��/�&�7��
��w�_�KW�E%W��n�u��p֎
k�>O��>�G6*�K��x�pwa��.0�ۘw>��#����
�D?�{��ȑ����,�u�fT�*�l�^X;�V�[M�׷��� 
lpy8M
��@���1a��h��Fl
����p/�[H��c{E��#>��'d�uu��C�fF��L���d�ɐ��IJ�i���gR�i/ړm��a��6I��U�ܬZ_������%��7�{�,w����v�IV��r��q�a^�r�&Sz�bZo3���%�8*L5�c�X`p���i�k [...]
-'�cR���uQ!�©�J���S�ѕ��G̓�a��F
{�_?[�T/F߯S�1n$���م��196s�����-	
F•��
-�#K����f������ۤ�^tgN�>
-.i�i'J*<r�
�����_��+s��w[�0�[�~�j� "lĔk�(l7}�-��׍6�\)L�
�
q,b}���Iq�)	�Hq�7u�3�;�\
I�����y"K��:%�]KrÙ|���p��a�૬3{�ۗ�
-e���
�x��i�\t�F�G
�Ͱ��L#����+V��~!:��"m[։�}���u>O����h2r�[�
�'�õイQb��n��]\���L/'|�{����s�aʾ���4^rI�
���� ��<���¹/���V1ZO�L�]R
 )�B����n��'� 
���'�4�f���`O�m���+_d*�GO+��F����[|V�ib�4p���
*��ܼ;d<,�=Y�r{uh��Ӥ��2DM5��������G�a���'r����ϝ��MH����CS�/fZ:�Xee��#���Y�ىT��4�Om(V�},�G�޶
��
ꎑϪ��南��H�曲$v�Ҋ:�E0�ޫ6
�
-����*]8SV��V:�ox��v�2�	?„%j�{��iE{~0C���R�R� �O~������).��寅�l
(��D!�
-����pk�x[�I��b����z=Ʃ
E"�jYùִg��CjV�I�Z���,��fcJU���B��ڳy[��+�L�_�����bd�W�6�.���Q�t ���?R��2N��Ӟ��Q����1��w�َ��I�iEW,��E$����|��%Q�Y�;�3������䧂ki#N l�Ă(܇�r�a����F!��^
-
B��ϫV3��(��vY���}G�!�T���x���Fq��p풭w�jHEMV�|�
K��4� ���#�6i�!F�
�ޖ�-%e�hc���ɐC`YS[���e
�ڋH�P,�l$��\�`+��ț��v����K�g�j�	�6@�c��=J���O��� ��"��9_^W�ܺ�-��
�~t�s8��[��:��+S
�V�6n�̰�Ya
Õ�]|�g������J�P���t:9��4.v�I���#2��L����jߜs9�����}�՛x\���9��M8�w퉪K���{��)�&�|�NZX�Jv�H��y_�<~c�<����
ˤLh����F2����n�g�
ʧ��
?��Kfm&L�׹A���(ʇ]R`��  }��9�L��Aj�Y������-_PI� �[c�A��xa�^���84&�l"w3��%+3���l�#�ԭ"*{�n�/y�ɳ5�`.�P

Ǩ����
z
-�'G쉪gQP�i#��q���Ӫ���g����>�����'�W({�F�
}@B܃�H��s�ذ��2��4��5R��
L-�$-P�-�-&�!��H�&O��{S�,�
	�օ_�
p)�=��ސz��z��@Ss">`\8�QG�d����*<�Q��ךv�;�:-��f��5j>=��>o	��s�]�1��cJ?��rI�t�#�\���$���I6�c�������%m�zkf����&�T�{�,*�o_��{8I|�&��-QQ��J($Ī;�`�T5��0[��h�
-���5Y
�d,���--��/k��
��sv�L�m͉��UN!���l�O�H�D�D�.3W
�S**��F��
��ه/����p
-�?1y�2N��~��eB5�	9,���VU|	‘x
�*S���$���/� l@�p��.]򧱁��5�
�o��cD����� %����[���BO�)۸�w(���Q�qrb�ti�=9�X�
�%C1&m4�x���IkRL8�DZ!���{D�`�V�Qt����۶�X�
�(QC���Þ��JQ��G���2g>�,ސ�@k�o�����Ҋ
��CI`p��V�2��s����
�9d*��U �4z~|T���֕O��q-z�$��+���/�G�-H�@h���3���Xc��W1C{	��u~��,M{K����o���Z� ��y��4k�0`"m�^� ��b���6
�
�����/a�+W�6��t��>J>��y9�������O�V�fJ�͓Z�v��q�G9 p��=�;;"��7����O	���F���{�ũՋ��N��_ݑ� �S��_
-e7"
��=ۥ��`�+�_���ޭԸ�B��
qi��:�)�^��,3
h��P
U�0�kT%#Y�b�
.�| �T>5@�� ��䙼T�x�Q����H�j�� O��9%��"\o�}b���)�J�x�GK���e:~��X�e��~�w�tӈ棇b�.
Y�*�Wʍ��#��1]\O�8U�d5SPJ�S������B鮻Q�a�cp�/
<�<[�
\��p25��U�e�kn�E[kX�%r����+a�TdH��a%��e�d���6*
-�qQ�@{6"/Q�\��

8�`e ��ɍ�LИB��o��ex�RW�V,s�,��e�f]NV2�L�y_f�.O���L�`��+ڥx�Z�L|
��� Շ���g�
7�h��0o�Qm;�ȧ��*8����J��f�o���3>���>{���c��!�X�Jrg]�����d�Fse9g��?34����a��"��;j�SW�R�w����
g$�V�9���EC'?*�;
-LRi���&�$���@Q��Z�����r[�
���֮[�@������{���~���X�]�Fl��F�
���m*��-�}ȿ���p�f�Zu�BD�>ˠ�b�8?�wByV�L��ӵ�����y#�L�-�΢��n���P��0,��g{>��N
Z�
�
�	4�V�ȵZyZ�}R]آxtg�I�3�m6�Y�Lُ	�‡U[[Ʒ��f��Ol�m��N1���ܨ�p�����vl9��d�E��M�ӂ@�t��(�$%�o\"�`�rĘɊv�Q��YѰ�b�:�\jb�����KAz?�^�2�>iL}λ��3b
�/�~�r�ھ�2t�
��û��i Wܞ�EQ�{����R
�x!�fȤ������Ps�#r���P����\8!�E���>
V�3�8z�@�L��
�_={��d�'&��D �fҰaY��!��
-��S�k�V#]+���,�	�{SBy�_���פrN
�Z
;k��:UĞ�`�dBo	$`����xюρ�u�
D
-_θwc,
��ji2�>4cܜ��5k�r���O�?B|���X�l��B	��_�>�f��+�,=�uߠ�k��s��[@	$�/��;��ji#�Sl���%U�i��|ǀ'h�Nj8��yW�C��J
-nkz�b���W�
+�6��k�_E�!PR<�k�<��8!�^��V�"�4D"+��8؇R�ᶡUF}�-k�a�����c�8�'��D�b���HeJ�:e����W	S��Z0��2�]�A���Պɦ¸��%�������pӬ�{M�.ѝ��|��Z�-���F���~}�����bX���m������M?�x
'�*A
gi)�*�6��ӛ�%�b�&��w.����	'0�y�t��\��5_1J�)t*�B���z|��}y�g[��~���
��7E�,�\5T����~�v'�ˬD�	�&�Z#��
��;�RQ�<��r.޳ˋ,�5��Z�΅d/�Lg���t5��yK�����}
2��<�eH��C�(+�(M�{�Q=���qm�2�L�8�9C�Ye�;>+&�&J��W�r��
O�L;� �u�A8�����7�����F�r��Ԇ�Bb���dM-KxN?c[�Nbţ��GN�_���H�+|��=�Z�-�e�E��%�b
��7�C�9$]�컖��s2b~�G��5���?+
[���b�Vi���p�Gs�#EfC$��%y0p�4��M�[��ɠlI(���F����uU�Ո���%���0��A���l*W�GL��g�N��챱���sK #��BIBj�3��Hq���]����~
Z����.�<���*�1[-��ilT�
я�i�
u!G�8,g��dQ�?*SȽѨsZ2�<YIj��覤^��_F�)Ғ��������l�k���'o��@C>:z����i�E&����W'�7�_��!P6�&f6�otd�5ig�|��(
����ܤ���
,sJğ�3�;�����Qû�7��
6����3�	�
O���
-B
�x����
-f"��nH�C��Cþ���+|J��t���A�T׽�
��C�~
-	�e!�<�]�9�X��ؾz1씯Ax��M�+�5���y�
-��qu͕!9�LV��3g o4)����*:�׀�F�qU�C�����;����o�˫�M�A�*�]R�D�"X��P�6
�H�M����E���z�+
�g�8�t��|����ع�ǩ��e����k�������{��2�<�hK�ӳW#^�A6;I��D�v��P.� �pG��Rp$���"^���R�Eǀ ��I���B�-����Y�^�ߥś�?�`�w϶i�;���>R�E5
-� 1׼��ߦ�
�+R�x����dҾ�U�"i>�d�o{6�Z��&[��th>�D}F���ok
������o>G�.���$e��R��'��D1��U�U^�љ�_R�h��6>M��2[��O��3��8
]��.J��OH���|KON�q����b>�홾(R��#u�x����f���J���#���0aĞ��x!�Ѕ6CWy�(#oF
��FQ���-����NAF����b��&����~�<HG�(z�}!ca�z$����yx'��� ۜX�Q�*9��/O����NC�-E�wfD�t/
cP	�����>K�ʡ��ܣI��^p��t��-Y����K�
;eS����zVٶ-��n��\�q6�l2�u�<���[�VE��Pىi�vX=��Yt^�{�23���{��^*�
��-�
�	��B��O����C��U�.��T@��7��(�����
fZN�ʪ�$�
��9^�'���� ɢ���N��A���&{ �ހ!{
L��
���)��1M��޳����ߋ#_�����
���
-��ͷة���ĮX�Z��鄇��y�Fu\Un&�|Y�e��R����q�k����E>��i_���OG����5��uS�/|�
y�7%�C#FA�2�x�ƭX�3�n^����A@�;t��.�MRy;�p��'q�H�N}������sl2	�q6 �:ȡ�5ǽ��
3=I�f�Pk/��JZ�Ck��8� ms.�U�}m�)*
�z��l��]r@��&m���Ƈ�\��A��g鯞MFl�$�ml��s��UP�=�Tb��1��S�P;9�G��t�r���4����9RGu~�7�X/[_AK��g��a#�#�X��U�$��ۆ�	�k��_em�;��bhd����~a
A���=	��s�N|��6�K�e�oFV���m�i��\U+��Ic�雷G��&����I���7�W�r}ۆ˯�R�2c�	�>P��
�G�x��
-���������ҚԀ��s�������vp\R� \�)�lm��Q����i�˜���p#=csm�����!���o}K?�ӷ
�zI�B!�b$�����?Z࣭f'_��l؊
��
��U'+k����<L_�5rA�j"�I�˪c^U1�
\��h�ǰw
��/���|��}e�=�F���9y�CMS$�����h��ssU���'/��@Ҿ��@��IGx�pu	��A��y،�)�~
R�ʗ��媰���­��2�A�1�
|��sO�z��\
I23
J&L/���+�����G��K�~�
o��Y�
⼞��&�����5��!R�"�-z��I�Y^g�e��0=E
-V{��
��>���^J#��< "ؐxLt�t�
��?�$
�#!u&�ce��j/X	LJo�t[�BQ��?�"��
-�bʦ[Im� ~�&1|P���1����α��SʦZ<�X�ttHV�ldJzCRO���y
qy��
*͟P�T=�[ǰ��W�J��m|�7�;��e/d5�R�]��{��範��N��X�|�%Oy��*��+�B�Ζ�D�=ꁉd�Z��}���+�\2����jC�J
��D
-�eܢ��u^7:>O��NSt���t��S�0�<>ay쏆<��
�ͷ)X��NF��&�6D�g���q�R�����D64>�|e��k[%{Xg�Y�&e����&��s˕�ۛ�7�so�� ��z�̗���Y�4��aPFL�nق��X�ꍄ���Q�K@�lbb�561"P�|x(�3�{hp��^
�2���>oƠJk�
	��/t?R3�����׋�����2�M�ˈ
-�M����
�e�����^P��T��N?�%TJ���8�[��{m��NO���u�
�ט���
�J�9g�Ο-��n�`�HZ]m��c��c�w��%�E4Q���(cb�.j&���U��_�YZ�
-endstream
-endobj
-2881 0 obj <<
-/Type /FontDescriptor
-/FontName /JOTYEC+NimbusMonL-ReguObli
-/Flags 4
-/FontBBox [-61 -237 774 811]
-/Ascent 625
-/CapHeight 557
-/Descent -147
-/ItalicAngle -12
-/StemV 43
-/XHeight 426
-/CharSet (/a/b/d/e/f/g/h/i/l/m/n/o/p/period/quoteright/r/s/t/u/v/w/y)
-/FontFile 2880 0 R
->> endobj
-2882 0 obj <<
-/Length1 1626
-/Length2 16490
-/Length3 0
-/Length 17342     
-/Filter /FlateDecode
->>
-stream
-xڬ�ctf��&�b��m'�Tl۶mۨ�b۶m۶N޽���O�?}��랼��=�zH	�i��l
�Elm�h�� 2��Ύ
-��2��R���F�o9+
)������������1@�� dl`b0rrrm��
�M͜ �
-����4�%��`��?5ߞ��6 ��c+[;kc���׎��� '3c����1 at PVN]\F@!*�
5�1vз�9X���
�m
�)&� � ��6F����H�
���p�364�v3v34��GE�3v�6wt�~�;L
�m��{�d
0�1�r6������_��
l�-��u���l
�


�� �Y�D����L��܎��j��ɷ�����?%�K�
�[�on�p2vs�'��1�����J��;�w0;��pv4�1�/4 cS}#+cG��0߱����	�ߪ׷��r�����s'Gc+:F�N߹M�m`���q[ #ÿ�F�v�S�b��Q�33�� �lm��F�&0�2�N�)�w,������@�
��-���#�?9��.�������E���d���;�d�m �{ �g�8[��\�ͭ������Z���hl���S'���~�oZ��-4w1w36�3w24��[}��_re#c+s�o^��R -#����
-m�!���*c����Mտ��ˉI���S���
徇�I�����(E���
�	# `��ed� �2�0~߽o@�l
�����
-��_gi}'s7��w�
��������a�m
m��E'}��I�_�Ԇ�����W�?���ycc7cC��E[C� �Ԍ4�j���q!��nF��`��:��<�J�.�԰m�2���`��I����S��}	���nt+�d��\\obʞ<�
�6v� z�"��3�(ϫy�-0
6���qy���x�m�PWO�~�.y~�$�v�>�)��h��@����gd	�O���#C�]7�=�8�Y�Ф�.`pd�~�Y8�4��<c0B�*�Qt]��N}�N]���@vڒ�����+O��Pb��$BB�xK�F�M]ax�O�<�Sj%b���M���
-��FO�Ӌ[�;������4d�6�P,qC��nb�*�B�@�eH���YNx3�IL�

BR袧�r��A_�$����!A�|H?��8G�z
H�����O�7��� vT[����՜A�ڢ52_鰱N18����I�k
�\�Ax���*p�
-{��e=�
�Ʒ�k>!a,Qfʂ�ĴɟI�E�f�^��E0
��WR����m�GVwRM�B�:K}gfBB�
θ%&��F��}��r��
��tܜ:���^�6�A[5��	Rc%c,���>}�&�
Є���h�Z<��ЄNqI� �b"�<(�}�*v����н&ad���'W�P�W�nc�	m�3���+�
J� x�O^e:>��<���V�0ġbޭ������	��YDg�<�U����h�`����!
-�:�9A�M���D��U�?cF���e\I����r`#�
����l�1L�q��S�Z�� O�u+�%L��S�U������JJ�x��g��
�;�f�)y����j5���N��{��P�5
���K�f/^���G<nyA���TQ$w����G4���h#G)�YsnV3��MLt�h�KY�3=�
��b:]��K��2�'&�%�-�}����
��
O�>eb���C�� [,N)���
�o�\a��Tg�>�d�����ބw�
��Qn�]���mk-��-���6�0�(M�f�h�0<��&Ŭ��_����|���"76-
�r#(�!�r�)�Qt)Q�GO�:�H
dz��-Nt��Ƒ�=ȥ,N ���2BPv�`��Q��j�6c��h
�U:�U�R��l
-�֞�
��;����
-q���[�l�}2<f��
M�Wx��v��q3�s�����>]�
gP-3rq�#�
���u�cS���2U��/(�c�K؊Zq}\A�d�
BT\�&�P��=����DѠ(��<��X�5
��RzM��
�$�vU���/:���ʀ,� w%8�)�*|j�_�9/�ݮ\���
,�|=ֹk^Vj��v � k�2��#���l
e%�c���j�z6y�6w�_�U;�^R�����r�����]�K��yV��t��
-H���N��{x��
�	�4�e�X�E�4�0.m����ܛ�$_"�[ub'�
 Z��t"��[c���t�ؘ�E�����s`
��ۂ.�����G�p`�)�j�-e\*?��_�4�p��]H�HC`����0�w��*��Q|�&�5�J�����ڭT����8��a%��E�����
�,�H�U�?0Q�p>>\`��dB�!�S�.܋g�])̯l?�&2iN�0�_{P9Q�*XYA*xKL���2���cvUԷy�.��.�4��_!f!�C	���Y�C�R�*�s�8F�-/^�I�?� �P�~:՞�}�n�����9
׆�"EE��;�sW���
Xϔ�rղu�vL`����ݢl0��P�w���!@�F�[�~�;��>$f${�P�g�(���@�W�]�N2��K��˕��ū�
ע�
-�p?��_ۗ4_�{N��X��
���j�,�@r��
-$��;h��ʡ�5ƣ&m5:��*$�
h�
KN�
p�+.N�c�2ĄPR�d�o��<y���3�*�)�PSI(m
�b]�������.��28���v�!5W{'���Ř6[P<�7�X�
-A
�����H
��(����gD������	
��
��Ԃ�%[�<x3�&�V9��N,�h�,�b��T�2?[tP�0�f䎋���G��P�]�:�q!��O?�Y����6H��~j��6,��]��$k���
-��!�P���4�̉��/��{äT�7u�?�~�=�
제S�l��Q
�w1�� �O@f=ᯟ$>�v�^?D���?ф�{=�gF�f���HT#�*���Q��Q�;<��{ 
���Y�]c�
-����E�Ԅ~5��7�߱'8
a�u7j�_
���G���9/7������2
ޮ~����G6��`���3T�=6�KN�R� ���������Y5��ĘK�Vo�p��L���I^�
-�״
W�+_^b�D� 
="�'W�&���dɞ��t��@�{�UUp:� ^C�A
�׋#
v���b�j{�GC%,�n;n�e�Q�LCV��ĄF�ہ�!��S��4�&{0P�
�YK��G⣍�Y_i��,�ѝ�#�v� ����t1k�]"B��6�X4J�Ƞj�%5�0�6���-�t��bZ��\>`
�|	.���+��Gd���=����/U�}�1�Hz�`����л��	i*�6^:@x��Akaf͌֝��M��p+ ܢ{"*<u�U�:~�Ȉ���GP"+�g�	O�����ȇ����r�)�QB1
�I�����O��^�h�-�}PA{���"�`�׿$�C�h
h•����&����~�G�!�$���eD�	��ތ������k�<8+���Tt�~��h�ˌ�5�
V
�m���o�k���k�f�����	wA�抉��0`�����X D��/�Lc
��?��4%���4e �Y�4�����l�T���~�g�����BvpC
αbQ+&��+�!���`�J҅��ӑ��u}+��A�l��[̫�t�����>���\�w9����	:�՚�A�_��qVU2�e^�вQƺ�{�͙��p��>���9c�xUY�	����
-IiDS��!��-
:� A �n��<���v�E���:��~i�m�X�������
��[��p�����0"eeh��/��j.S�%a�yp�ڜ!���N^� ��y����}������Mv6��c[�ۿog
3(�/�����4]V�s2�i�c���\�@Bl� }i���+|~�f�,Y�����T�}+Xa�N"�A�]-��/���6���
-���a�!vթ`
����I�z^�W>��Z�9��>�ss�x��6k${z�j�=���lՏ��FiL�3S"���աg�1���E�u{e)�'�3�c�NZa��f��
�غ}1�|�Q�
-�b�:=�h߭����V��*?���_�Vt�E�d�c%�G ��1����	�z{��T7lx�
	��/���
���(e+�����)q�'K�1��"�%�S�
{�I9
�Y��C�?���U�Pɱl�Sef��
�� WAw{iF5E�������19���R
h���
 �2
��Z~�ûLq�j����>�!]��LAB�ـ����
 �H�x^
eV\��=wr

-b
Jy]W�	�ئU(��
�Q��º`�ۆ(�Wa&|�g��1�w_ćh8u����cD'	�̣��0E�+�©����%=]a�.[58
-�D��U
ś��2�{{��`��l���.��D�
b���w�Y�B;��0,��p�M똚���� L�p�!�@����0�Yj(>׻?�
0x�_!K������O�J��2�~)��%涓hL�)
-��8i�
��IbD�e��9��<qs�t�m �^v^Y)xNN�;�
�jB��|?P����<l�#
�!G��2��]0<��./D�T
r��>m?l�Eb�1MG/��l����Ӂ��o�_���-s
-�s^�����{gA��_�R �&�,
-F�?e�Oθ9N��#�
b	F���oX�l����~3��,�a�2(�X
��Ku��8�����v:Q��M��Q�q�Z
Ў��+ڟ�����|!��-F$�ގinz�v�P��=��

���1
	��5y�I'E
6�pf�*�,�%��s�@�y�7���� �L�L�nq��c{�g�5}���s(�*e.�]Yd���E

s���,���^�m��i�N�2�)�N�f=v��'љlypꝔ����LFt7�Eu��)%/v��Rj�{rmjA�
-b�{rD�Z��Q��r@�(N-��#�҉�s穷��Vj��]���y���q��?����7	9��0��\F>	uU
�e�d(���\���`t���zP]Fp��+G�q�q쿉���@A�Ġ�w|����yՉ��ȅ��}t$����d�_���s
-H 
�Tڸ{�w�p�!MXg�,��iμ-D7�0��ʙhҤ�
�6���=�AY���/����6?�7��
-��-�Л2:*��"�
r����a:���َ~��
x�ۧ&�>/M��}5Z����U����T��X�
��-�Gdj{�Z!MV�5�(I]f�QKd��Jd�i�J�@a�Az���8���|&�1��MwƠ� ���`�.$us����
-�>�z%��,���C u�䂻Kh�!�oG
Ы+�zLy�@��!?d��e�9�� ��U����_~��<��L j��g������w��'[��k�ބ�� g�L�]*�K��]IWGsIRn�B�1��a`Í�Cby�IswD�
Q�
f����þ�&�� �c��a�	پt0�2��%���"~x�+y�C:h5l����x,�{��miFA
�u�ޥw#����cf��`�B3�L�M"~��!�]�!�aq���,�;��Q��D�m�!���e��!��B:8�gY
���%�}k�'.V�?Y�!�-���e
�cC1���̋��LU�ͺMY6
_!�
���W%ʥ��6���=����^��!!�D�M\��AOQ\��gq\�&���v����<����}�P� �sPgC���IQc��}
�%
-
rDX5��p��覯Jz,�8§��5�-j�0q^-e�Y�����S��-�:�峅%��S
�Rg�Y^b*�v�C��`�q'������������|����
7]z�	�ǿ{Mƥ-�,h+�,���׭�ai�P�4����?z���.{F;/�x#��1ReT��se�8����S0(F�%�m�l��N(�����z�R9�
���C��ʆ���
E90yV��
M��JE�Q��>#o��~C���;ϓ��I
��-�=�³(W�Oc,愤�pK{ug{>d���@R`���"��R�-��
��0C� @1΢}\C�C`Z&�NK^-nOt\�ޱ�8���c(��2�VJM�ͱ�X9�y@;�e��P`'iGU�|V����BA"��PBE���O�o[�V�&���kk;rR@��
��6�����ު�e��"�"U����=�!���F廛�bRbw��HF��(��
-l�86�a�����N�4�L�)�Wn�PP
�cO�p_7�DŽʝ�0I-��DH�x7,
�>�Z�w�i`ѧ�	RT�S��V_h�'*ѱ2[(�U2'�`���
-��
X8����T�^�c#���gB�+2�/՟&m����&	�����ϼ�
F��Ҋ�\�u$�&�N�8=R<.����$M�8����N�F _/֝��_�b���W�
	�yh�S�n�=;M���k.r�f�i���X�R���J���i3qq���Q8�r\Ȕ
Ru��@��}�������;�p�:��ѭ���MAP��]�@���Gyd
�͡�n�r���L+���Kֆ6�".���������
�Y�W�h?�w��o�[1���?P8�x�sGН.hWo
˱7}��O�h@|�,E Sd���">=M��@W��nb��Є\���-�7�.�^OV�,����
�a|6�Xsk����(�� o�Ncf���z4�2��x
�sLd�0鬄ܛ$m��S���3�~r��ρ���~
�[zX
�ݣ�~eQ	X�����&W����C5�8�uK�Y4���'�
�N�
��}[$�K���
���M'@���֢T�_�(103���(�8�3�#ez�H\= �g��ƀ���{����#��]�빺�|
p� �F�hz4���,�5��WI�@w�)�C��,��AQo�=ɎL
�,
�?e���S�?��/����������a�ސK��E
�bp�
-&z#f�'&Nؔ�BKĨ����ӱ_�k[٥` 
]��4r�,J��Q�`�m�I0
:B�

7��(�=���y���M���X�9�.UZ�>8��g��o��×���(1�p~:.�(�7^�# ��*��ß�$��L%_�5v�_"��{�1� ��,�~��u���`�"l,hः�RRQr8R�^������~)�F&
����r��O/��9���;�04[�H!�$���Ao`�PR�X@õ�F�*{֧�$I����>B�f�m�r�0�5����I+���>
}_��5��׵
��[L�JL��Tjg�I,��J�
��j|v�21��w8��|SE��M�T=�&<J�5��C{ï~���&��M*�
���U9��x�Kn
�)��11K� ���,q	�S
�u���L�OƔ�0�Ͻ+?7}M�����/�2l
AD���e3�Q��V%
-�����%�y"��^{o�2f
g"?�]���SZơ:<�Z��?��w��CU�$nuY���X�9-PX��:�
-�ȃ|T����)Az��z�'@��m�@�f�R�(�Ckr_
�l�A_~�(��J#�կ�}9!�/�Bg��cw��
-
Nw�a#ͣ
-"�N�	�V�'�
�е1Ξ��t�q9���A�0-1�6�=�bѩH��4m�k �
���Y��ﵚ��4W��Df�3��b/D 㵸�����`�.O�@qKP_z;��p���"���DQ�
��UF=��, �>�'���ʥ�xZ�^D�8�P�g�o�&`��q̘|�M
��z�d(��_���DX�kH��EE6w��"?�Q�\�����Y
���O�"�6
q�|�W֜�3|n�|�Έs'a��\b���
���r>����$�^�|�O�
��Ѓ���2b�Ə��jCr�jG���%h�䞻�K��)I\@�C`LE]|Y��<������p)�k���Bο������<������8>��+E
j��e!͙� x��&SKm�4�e�_
զ�5����/�x�)>�H��/2�v�	2��e<S� R_�� �bj�|��[��<wc]�V�Ӡ��'	2y�ᵇqC�ϙw�)!�0���$R��6�1�[���q�,
�T�/P�E�
-n
$�ؖ3�F
�,����
�?N�$��ٿA)��4��b��9~��q�ov-R,�������_&*|�?\��
5�SR�^K����?���+c�1�6-:������*�ʯ�Q��O����
���|p�gH�;��U�iG%6Dt)�� -�B���t�d���e�Z������)�C]��٣�j�E��(�)
����)���~���k2:��$�<�@�g��n�9TW��'�ö�@GX�����ę�q��Z�hsCUcD�o� �!œ�
��C!�L�Uݦt�'蒘��&�
x^Jf��Z���O�hn��r����!ԅ�lV��k/l����GZW���"&yB�������t��'�������2hd�]cw��UF��ӭqY#Y��bT�bC�=���
a�p|��HU��s��"V�K5�i��
�NcS�Wcg`�C$L�}uZ�p0���d��˒��
'
�0��N d*��4��T���"��lc���

:�����@�φ6�r` [...]
�'!$�Ui�l����n�H�ܕ
-���?R��`�
v��@p���-ں�^��a�X$�A�*�,�$�FsJ
�`+�
3r��F��Uq퓥S�	b�Z����!8�e�q�����4�@e$�ie�l�s
ث�t?YX��1r��l.q"
Z*ou|�
���~�]�!�"�Df�
z�9
��7{�f
6=���
�/�	J5����ro�=
��7��u���b���m��oI
<�^�R�_�PEtʙ��x�Yٛ>?���O�����V���=�]}
-�o��|�c" �i�Do���Gw:�q�`yޒ�No���1
ܠ��5��O�II	
Ϫ����(��
�K��fڛ	���J]�H�x����-��P����t���
��:�9���V��;�5%�e����ܤ���-1��:��1�R���zak�N�,$�_���L„�\=�#
'��[=�N��o?�C�
�)_�u��o^�{��0m��M�C��Y���f�%�I�3Tx��K\O�
w��OJ�4��R���U��T�n����5i
=���A��u�A\����d���
���(p��؏!�~�5��r��R��X�c�la�*���U~��"/\���_XjL�*�T��(.�rQb|OD���.����h����^x|�:W��+2V�8�k�q��',���^ئ�����r���P3�:�|�|�
��&p�N͚��I�ЎM"�I�KV8�ԕ��k��?>�j�V5��|�&݊c�)�2�F:�B��)��I
)<�y��Q�`�
��g[��z��?�z�~�f�����u7FRܗ��]K��T�
+f��
���
��#�L	�r�X��j
��}I���]U��=

�4��D
�/���kDp�
����j�橥��נ�I���1'M7�
6� =�s�R��+�`��{kl:���
ߛ��E�NC��27n�8���"��T���4��ߏރI��՛3ሰ"ڃ�ڶ��u<��T>y��!���2�����%��
�љEn<d�L(�_	�CF-ϲ86c���g�Һ��S�)���
�oG�_�Kڀ�M�x"�\w�q�i=�GS�r%5B��[,�f�I{
�C�'E���bw�0i at p�ƻ�̺�hR|�b��}��㢜C~�T���w-��
e
��х��y�����K�oo*
�
�ѼG�
�
I\65R���}v��SzWy8���T��)�%|�����\52��FO�ͥ���)�#ۥR�+��ML�`��W�J�����G������hB�AZ.�
ZT@��(j�#��x?��t�]�QC
m�Y��
u��a��4.ԘCN��bʰ=Rz�����
!�DŽ���"�b�Ϥ6M�
-θ���%�9��{j�m�FIHk�l]�>�G;J�#R��=�t-�*�/Ǭݴ4)p��s�a|��]��]j�2d�o������M��gM`��*�P	~�H��J�d%d%oк0�>��If�`��A
1���
��$�z�m�?<5����h
?{,)=�G�)d5������ק���'=T~H)�3y��,R��C�����[���5H����%���e��9r�%j�
U�%�m���^��&m̟(�
���q�@�K.��NEPb����K+aV�<�
-֭�<�Q�\�mt��/aGD��n��=�3��*�q��v��7�X"r��\�-a*��'�]�
�]�3�9�����1����5���2A���3�B����<´P�Ss��
R}/�8�5x��0=
���+�oŚ�	��hce������P�?�D6�K���2����.�m���[[�흨�n�	;��\�H�Qd
K��*�B���<Zk�}�)�_�]��HrT��������oҢ�}��Q��6�R���u5�ؘd!�|hkx+�%��:����X�f	L�*@v�ˮ��RsM�Q"����)�c2�ڱ�^$^M�0�e��ZP���3\��氺�D}�v#��
-D {��W�M2��9
�A3�\��)����p�eȺ�
T�g�FW����i�a2��	�riJZ�*΍gZ2�!O�
D�=S���%��.�`�S�]��y̜�x��`1��UKۭ
������䢝r>�u�J_��^Ʊ���w"����EQ��m�-;�z_h�5������w�)�V(5o�ނ����
�I
��I.��)$�����@��!G�5x�(
�8y̦ȁ4�E
M���O#�ܨ�*��}���V
�̳S)0p�ƣy�@��,�
Q���*��n�I��]j
Y��N�k0_�O�����wy����;��h�g��&��!䡼�mE��B�K�5c�z�=$��э�6=
���P|�0��e�s&�hHR�[��+�%���
�fb�=�#D8�px����*��
Q&~�l}O�,
a�sl
��
O��9�̅��Ln�`��Wq��z�9���:�sQ6��FMa�ޑE�XE����V"��4]�����I�`4�ZF�����`Ƭ�kZ�
x�
-�<Ŭ��Y=9�)b~�7�F,ZYtf�
i����ʩ����
��W#�˷�Ԇ|e
N��U/n:��� �8�D�=����!
-��J4����o�80��!̐����5U߶�!��֔d!���p�!�:���ys*�
ra��~�:�&�	�+:x���g2�:�V;�Aק���
-a���;�QD����s��t�>N>�
X)+�-2�:~�5�ux�&�Yţ�8]������ڋ�οP�v���w����H},J����i�,e�s2��
�C)� 
-�zxdv/
�/��ٝ7�s�ތ���!�O���7�vR=\���;����*qpwX��sG2�p=
탺�[���&��zS1��*���F��	�{�;)��^�(U���o�	�N�TB8-���le���]� 2�L
�=
LOR#�ġ������5�����жo*���
�#��,�N����qdV���@��_m��Z�d�T��������
/�no����7�b�7�,%^?RA��D��+7�[]ߛ~�
Q%b5�@u�\O�o$(x@����>�j�
��ˠ�cX
�t
�d6M)��h�GB!�
��$�������U�_Sތ!FS�FXx9�t�CV9�74��i�*��m�R9*O��p+.W1��K�ֈ�BԔ�&����T���M�(�R�|S���d����A�@Gm���b��Rz�
��R��b���������krh:W��B9���?F��
6Ik����>���d-O���>�w~�3'	W<ɋg�]����U)�%���Q�K���=���
.�zx�&^d���
�( ��\� ��[�A��⍛S����O����p��Y6O2��g�ͪ-�g��>mc��Hg��H^W /&P.3յ K-����1��I{���%���@_���*�D���Y	�� [...]
����{�]���J���ޑ���7�ȃ�Rf�"gK���DY��?M��>�Ë*�U�����#g����Z��H�L�R5ë!���ܞ[��.K
-�ޓb���J(�
��_�i�ͥG�+	�.D��)����?�0��������$�+�[��wi�R��'�����
�N��������2�KԖ�RR�g~.�2Ɂv��UT��sh
#
�'
�}������Y�e�?��=�zC.������s�.:�=K[K�e�1
'��9Em�<X6��sP�����:�H2bӨ`�:��	{�h��D [S6/1�5ޣQ��S ��Ee2��

�X3Q�Ś)� '漽I�.���цUb��_5xb��_�C{n
�r�\c(
-�
-���yr��m(���t�r���Q�@�^ʒ��`�������
۽	_#�
��֙5m�}��&�_�W>��
q�
�ȧ��M
]�@�1��GMz
T���Na����K��GI&ŇH��
B���7�Ys�X;#*k�XgG|�E�
tz�1H�ΏdK<��Ab��
���f�l��<

|h��
�
-���<�u��
�e�[�p�l�P��h)/F� {��:��������;��uˀ�E<�+�,�xӑ��-\�JL��))��0�A#��h.��%�^��
�h�V�ҏ�d$���F޿�2{���
�
-n�8Ւw ��s���!5{ہ~b�F���I/��d
�s3�9𳭳�-H�y��±K��u�t�y��릫O��Ϡ+i�lkdZϦ�Y�%UtF�m ��K�; ΁��{��Z�m�f� �G>�
�R�	3��e�� &փ
�m��&�4�z3F����?*
=�o�;,#1�!e�d�d�#��<on82H��?������� ����}��Ơ��cq����-�ь���x��!H�	��)ކ_
O�w$#���L�����Hx����;��/������z+͔�˿
-@�d:�,7
�B5��s`?@Ֆ�S��F/��m�}zo6����D
�ߠ��-��=�.x\¼.
ds]�
rO��y�fd�(�;�v����F���ՓL�
2�^޴��7�D��m��ʟ{=���⸍��1���U/�9
-��h�JhA����5V_Opk�O�2 ��ڼ��e�T5Ɠ�}�M�
r���#+m���x4-?�&Os4�M��;͐� >*
~�����4wn 2�`�A��7�B���������`�~��R�
n�,=ZfA�l�
��.��<��I�lyiC�'��
���-�=�}	�3�b�j<IU=�`��x�!n$��
-^��~��|��j'�
�
0rz²�C˞
)���?[��_����L��
N%O!�|�j�ⱑ����Pݏ[z=�!��~
� K$�޴ 1-�~$bNx�HŒʶ|�e
E&��i��S)�)��d�G�z��2�c�XT鞁h:ז��	݆=t%Uȡy��r�%�d��}��76޾#5�=�xNojF
���S1��`F'���x�v���Ӽ\��†���ʐ���/�+}V��W�e�	�@�
-�8�)'�b�7�����
�=��\{3��>�7+`��>�6�Ȅ[amF�Cv?�\��+�i�s�Uf�ǿlv�H5��w"��c���97U}�*n�>�6�8�/ �J�Ϥi.�W�b	��\i����wd�4���ķ ��A���zݩ���ث�Vt���q�S�J�P�p�zzc�P�x��X�4���~���u�D��8�:!�0�
-R���|
dA���S�y'�tK�d>+&�C��W��5���fB���ol��cr뉠O�gB���+tP�M:�y��c�m�%}'G�,L�u)
�PҢ�C���,���I
�h�� ��Z��*LF�v��*��x��?�I�� ���k+��ư���4a<���e�R��
G�阑e�����ّ�\��IP �jDW�ة�?��`q�\�Wi�0o�h�w#�^p�/�v�R4d��{�e
-f�t���&�e��$L��
�,A	�Ʈ�ɚ��L�G�#��0�`��ج ê���f���
��Fo�T˟?�%Z>�JT=��Vl=��҅��D�<�}y1g���9�м�)��%*� �R�Y+�]w�6Ium�F1�I!e�=��?�;*1��)�=�f�
ۄ�)ɮ
�~
,3_ R6$z���A��gC,��o�0O%�XeL��ٶ�os�
P/�~�|�PsnB
����%n4X�:��
5O9y`j+cч	tB
�0gU
c�M}���k�b���I4q
����t�������ʒ��k�/�����߫�������L���O����R�K?o���.!B��?r���:��f�u>����:�uk-�����ܥ�Ȉ_K� �@���T��^��G��?��r��}
"�F
w��(V��hH$�S'���'�����:"E��8�"K�r�u+q2இ�����[X9,��=͊"]���
�Z��
1���0��G2���v��`I
ֈ���ɗ�C��)Jq�Ž/�6J7F�5����d@!|�_�3�ÛH��=J�y3b[�>�
-��%�wӐ�y��9�=͏'�7�Y�(��1Vd����%4����s���ԂUu���
�X��R�Rp	-��H�	]
H�@�9�]��
3���JB7�Z4}��qt�B�g;��_�^�.���G����S���ԫ�h���b#��UB�0_�z��n�Ut�fk��7�ja�T��\�hf���SD���%ծ�s�;v�V�s��)]�0�!��
-�ĺWܒ�{��G_,�>A7�
1B3��
�,�Tqw���
y_�㾭����

�f[�
�g����p���Y�X˩)��a��p
ˍ�
-��J|x�k,�.bn
�c5��
�J埰��Ǔ~�a#L��
-��N����9D��KL7a݆����a��ӂ�=B�h *����c�fS��̚�����5�
�U�N�iX-�~����0>?�ߐ�v}�,�"��?��`e�}ev�왤G3ٗ��ٜk,�Y�MFP���?\��|�}V)��Ak�����R�����θm���
#i�=)k
2�
��4t%{��wa�d�����B��Pa�]MKj{�
����da�$�-�W�W��:�D��^�Q߁�Nvh9���1�sVd`�yH�i�e�O�_~��X�
<�Xv��E~�()Fy�2
<�Az
-��cNlB
Y&L~v�ޏ�����dgP�*.ԔNEО��S.�̎
ux�<�?�Z�CǪ;< E��&�-`�爮���gHtt`�׬���e+4
-���	��3k����}
,����-��t�" G��!���s�u��d~���{ULT��=X�+��‧���T�'�_�
�_mE�T!N�C0�_%f &�F�*��}\��
c�ZV_�9��IJ�+M�pip���(����m�A�Э<�
` m�k����c� ��C���l�E�����S�[�`
��]�9����efQr�T�ƃJ~�V�s��e���&�>r��N�"��:_�Z�Yx�lf� [)�
Jd�(�uA;
4��f�i�i)	�{3�_�&�(�"xwG�uI��f�?7�_!�]
-��b`Ғ�
o�Ps5Y�,�üPLw��Z4��|��z�y�+x&Ɗ��a8$���ʵ71����	��	_!_Pu�ZK�i`'\úF���	�K)܆��x�@�wVV�UM
0_|��ŷa@|,ᦹ��rE(�v�%�q���F���摱����6l���
�U/��.�*�b��1�����
-��h������t�"��S�,kR&�Z������4^ê�pq�b�[Ypj.{U
���� ac���4ɮ�~e�j�PAҧ�f6�5a=��D07 �/i�*���)��j�+n��J��HS{��v�0��uu�Ԑz�iLe��p�'d���h��~��Μ��/VϞ�(4bJa�xe��$
'��ln)o[K�;:sɶ;&!ŕ�
��d��כ#Z�8֞�c��[_�o\��
���Vr~l�=�v�s��x9£"!k
-�pFG"g񝨒Q���Wt��,�1��y�s{R19��6�b*h���/���k�ૣ�e����ή�k_�X�r��O+,nM����P���UV��F�3���
-��ͅ��h�<(=�m�E��?-�.���4{Ϳ����Ʈ�X�le�}&h
����(x��	�ʉD�����oCo��
�wٜ��Pg�c�9�L�<����L�
%k��
-zx2��4h*P�rb�3�5��`~�ɬ�y���a�h|:���{l���=kWX��
u¾��:,��mS
����BTHU�����ҫ��.O�Ę���D������g�?��G{~�IO +�{�D��c��1�����
#Wp��8����z��J���T���9?O���6m�οɤi��$1����rKS1�-b�0�U��(eń7VI{�1/�R�����O����k;�����
m�Fq
|�0�`�����?��:�2���1�?�;�H�� ��@I�
����q�kh9Csvsj�ٟ���<
���2�,�?��Q֥\ {�rΡ��D���V��|
-64���f���U��֑DX?
[�"��뙧,�
����.��V*Zgd+B|���|��A���M3/U���&]��yԊ��+b�
@v�h\³e�T�mz�V�)Ȥ�$�i�l��8�j�;u��$���
"�
*Y�֤�3��%y�E{q��
�%wx�9ȧ˞�Ρ�)� ��g*���#���q��n�q��Y��6�EQ�—L
o,-�p �1�:��&)9��J�ވ�s��焤a�,D<;�k���"E�(�qn�]
�3
-[ջ0��
��<�2�M��	�
����X?i��
LZ>K�Ћ>dVOV��n
�-��2c�Wb! 2�gI�
zm�TǠ���s(�
-������0��'��_
�����)h^�v�S�������a,�pb�փ�
�ڌ�lRz��z}�H�߮t1~�"��e+�M�[���:�T�a��y��\�@+�a����7���uW�}6�Oj1�q
��\�bKٻJ��E�qZӾ�Փ���6�(����K�
-endstream
-endobj
-2883 0 obj <<
-/Type /FontDescriptor
-/FontName /PHKQQQ+NimbusRomNo9L-Medi
-/Flags 4
-/FontBBox [-168 -341 1000 960]
-/Ascent 690
-/CapHeight 690
-/Descent -209
-/ItalicAngle 0
-/StemV 140
-/XHeight 461
-/CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/a/b/bracketleft/bracketright/c/colon/comma/d/e/eight/f/fi/five/four/g/h/hyphen/i/j/k/l/m/n/nine/numbersign/o/one/p/parenleft/parenright/period/q/quotedbl/quoteright/r/s/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
-/FontFile 2882 0 R
->> endobj
-2884 0 obj <<
-/Length1 1642
-/Length2 12436
-/Length3 0
-/Length 13290     
-/Filter /FlateDecode
->>
-stream
-xڭtUT]�-n��
������!8�������5��Kpw��\�k�����O�so�t��Zc}5�fU}�VQ�(�1���M@�`;gFf^�������*�V�#Ϡ 2��q6��c
Hb� cgK����3��2��� VV 
@
l��hin�
��Pբ������/���?��H'Ks; ���+�lo
�s~��o��@ g
���SR֑Q�PK)j �@v ��&�]Ll,� yK ��	D0;l�q  �v�������%�08ك���a w ��/�
`r��trz�X:�
�����
��ڸ��U���
�wA���w�w�L���t��w�gU��G�����v�|�`�wOS0�寖���i�QgcK;'�3����\& ��������{�w2{G˿�pq��3�W� G�����
��������W���Խ�������࿽��Kg'��#
�{N��{nsK;$���E��

`a��������+���
��kfhދ06��x LAfHL�`��� ���ʌ�{"�/H��"�����3q�]����O����t��Q4�}�����1����<�e�b
�k�X��Hc[K��*�߽�@�(Zlc���?�E����a`�`d����I��
d�l�
� �ۼ_��v
;S����
�]���=����0u
K���_Jp�ٙ�{��]>��������i�vV~�gu{��f�R ����/*QQ�;�����6Vv '��������o
����
-��̌��,���?�����F�6�k�Ԝ��Lߧ�?
�@G�w��^�������@�  ���l����\��7<)����=
b_ڨ^T�_��K��4z�
al�����xl��'K�?ڋcCՓ
-:���CF�W������n?�ɠ%�D+��bA~�
'�������A�

�t'�#��=�?�k�?���G_`ZC
vZF]��	e���
�����P�oؾ=B��8D
->W�(�\B�/�^�D�N�O�j�
+�')�:��򒤻��U/�:Ҧ�૳�/ƅ
-�$�qi�����)�N��F0�+C�����v8ߠt��8����'Ǫѵ���,}��2�f�$���H���g���~�ދ�z�2�L񃏳�)��@��&��?��*�
�����&���2�*�Z��
,�ڰ;AKЂ�%uT
/k{K�]�Q)�O>j�zZ��ko���r�>T��!)������Ɓ��H��C�P�-�8]�)�Rm�|m0���?�ҙ�)�`v�k�2xѼl�I]��pi�J�
��H�
���!|8�=���v�T߈�Ҁn��N��@��}
N at y���υ�#��[�
��iK4փ�ӧ�~��$XS�y��7^�s`��n[H����7�DΚ~]�L`�_N�i��I�Co������"'gj�
�i�q�sΉxa�"�?����<����n�'G2,�)�s�jڵ�o��I��#�5�a�q�����IZ5�|3^��j��B��]d.7�� ���ң�s)j�L)(\~���)TQZ�����Ja� y�<^�idU�
��;�-3��� [...]
����߆l��������C	�M�{쨥��U��yĦ�w�h�
-����.�g�>#��V���
-���V�I#�� 8��B�s	J��x��^�
	�X�"�(�4���͒!�:5�
Y
�s���R����~qD��Ku���X�9��8���&BL�,��
�ZJe ;�y�0J�=��3�OE�G;���~��p�}��������,A'c�[.>�,r�X5Tݥ}�'��>ۀ������
9@�Q"�%��
-~ĩ
�}9��{̫��������'uoA(�k������.�/�`U?��_A>�/����@�,fbЎ}x���oC�)R�e؋��t?
�Rt:�rQ�
-�σ�����|�������a��aG��p��q�K0����;1�������.A�s[Ė�Ҏ�h�Gozz�
��PP�/��k�,cbJ�U�
��q]�����4,�Q��r/7DP#�|0ڔ9棂%�
xؿ�C�\�8�*k�w�$d����
/Q�b0��x
f�{L>���}��U�$;�X �3���5����$�zt1$1�;%<~���
�f �?8�A�J� U�Y�1%
-
st�X ڰ��Ht?�6�t��<�
-(��i~�6i�y9��Ou��X����ߑ�Һ�
C�6�u��gFa�,��`����l�,�\�<Ғ���R��v�n-I�Q���������}���_��)�>
��C�T�6Q�k-�37�gV<
P�Ou���	���� �4��d��
���5_�R��P����R�Q�}W�ı��o5�Yρ�{�B�3%^���B�ҽy�
-�ЋQ}�sqW�)"���z��B���
�!
ώ�f,�PK=xXQ3��2���_��;�@��R��7�J�cs�`��c�!I��TW��dsΒU~y)�"ڇ��� aP���ϥ?�,�����}a��$�}��<XwͿ5���;9<���
�)��O�-0���������{!XS`��MN��@w1�w�1 ���W�#B!�S쯃y~��[KUY�]i}Kn�(�%Ep�nSe�h�%w��5���0�

��u�NvSE|��ƶ&o�Ǭ�Z�?�~��ל��>���u�N�壯�V�ҏ��F.#�Rڽ��[(�K,�we�#Ԕ�;<�qZ��
,~
g)�
����)<ˤJ�k W�z
-�X�]�+�'���V�
|��)�}�qo��: ���4�!C<�5MQ5MX��<�Ev��?hh��
�c���g�C
--��<K���6ĀJD���;1��*j����vbD�
޺�F:
ɫ�۽�.��TY����!�<��6����+.�$wm8�+��ϷR!���>"�̗
����VG����-�{r,��-��v�R
��� �y�zM�"�R�W����3�+D�
-~;M?OP��S�x:1��
��� ���
j�XqJ:
-ǔ�n)
��h�l��]H�r��HZ�
C�:�q�oE{>nä�ƣ�#����C"�ש�]�?�C�w�h������;zx�r���
лcwK���S��Ԍn5w�� �t��W[�'�m�2f?2�0��p�D�����>5��?��g]��s��8?8��e��5}���kbx���퉨?�K
ߦ,���[^�< �i�{�r��H�
-���8P,���|�
"�s\g�G�R*�3�WU!ay��%��U��@�R“K��X�3y���Lk`<˹v|(xэB[[�u�d}1�PUM�m&
	b�
-�>�!�[�q�m=��n�#I��ϧ\��}jg=��0�Q���:���}��hٲ��%�'�y�$�ʢ�4-
D���4��CL�~�`K���K�C�X9�H	�~L]pH�[�;�<Sq��<=�T
�Ħ�y����":¦�QU�oט�	�#��
�ɴ눷9��
-���<y�0A�x��ɓJ0�4U�?(����)�`򜮦O��q,䉁�׵��@2�a�=�O[����f����J
	�~s����xi�&�I��3���e$9���v!)Z
� T��G�-͝T��Ɂ�5Έ2N' N\A†jǟ*b
>����OXA&?E���ҡ�q!�v�+�~d���>��oc���m/OO
-�ۇ�/���r��ڷ��K�éT�Ά�+KB�]z
���f���v�:����J]����X� {�ʓ�ҥ���?����b��v�����{2:�@�y
R)l"�Էrs�-�fZG��=�J(w[^�$|譾��!=�Ē��'TR�Ƕ�Z�8>���;�։n�Q�`�����-�\F������
��S�ʊ�PZ_&��`�JK
n��p�:�]#^�AZ�a[�9���3L�/�(C��ߙHO~�R��Ə�֬}�p0Υ��=F|���Ү9�P$�sq �՗j���	l���]������d3���;%�ϒd�d���clp���2�&+s�G����k`F�s9	��-jH�[Xv]���r��kox
��t!b@��a���
s z��"(��I�Q&�=4B$L'vP�#9�".��-k�Ugs��d5�����}��Zhw�MH�p����b5Z��и���Uԫ�eY�Ds�8E�|�O����X��)h����d��}��� �?H��W�T�oXD� [...]
-�v�}��$�'wM}+�
�d��r�o��5G%n��.(��=�6�_�r�]G�꺐�hcKBf�����ӿ��.�>�
�/?�rb��0E��3ȫ�
����9
gU9�{�5�ήf��n���6S%$�`*��eU�
���,A`�=c�8����{�e��?r+o�e51�c@,�y�����_��B�0q��O��	��"�nYsoEq!��
l�Ms��=+��2ٯ��ێ�q��[ߓ�C,
�d$;��
c?=��8���־��Rf���BJ ���a^9�'�I���d/&x�ږ5���6��f+Ӄ�
_^��ׯ�d~�1�����b��᧺��(���k�֛?:j9��)�!��l�
V�3I
���3.�"Z2`FNf�R�L$��;2db���v>�='�
-vz�*��颂��&��5��eˡ�e���p�݈��=�v�aVY��P;F���}�/p�j��W/@�����ꤘU���^��\����G�`����杲���Tc�����fH5\
[����L���F[p2Kmd���Z
���B
-��������<�.�O��y��
-�oA����g�?�N<��O'�C� ��ZnC�/G4��<\i�B�
�ƃ��mB?<V�x�`����꣪���j��W�b���LT������^��D�CD��3%��/�+Jl9

�01f*�������\f��'�R�ș1��5���
-�x��3a_���:�ɴ�5�7a��މ����h���i����&k�w�
��lk�:�W"6 2'I�nO�c��^ᐒ�
�\���E��u�ɋ����s�z*
C��`	"���[lic^T�
���1
nu�L°��Ι��f%��rzz3Hw��=┒��f�]
������h�n�D�	"h�E?��ɀ#��/b~A�
�|��$ֹ��N'��߼yV/����ҷ��m�1�Cؐ�d
t��LG���Q�v�p�8^�/N�Q+M��[�Aѱ�WZ�C�3
p$��&�ٙ��#"�g`�8��3*>~bǦAo�k<yEo[�W�p����]N�/���[I�F�_�o�t�PTb�`M��
-�QS�
2y���F�W#``�����R�W�A��+�p�5$q��K*(�����̉}��;�F���:��$o�Hm��p��d��o�����&�>lo_
�p�
F����Y�	�=crxƸ<-�c/)�[�ֻ�`{�F��a�j���������Q�N,g�!�"�^|���;�O�\s�U�|A���N	QbL��yD~�l�Fq��ź��I���1o�0����h{7e�TE~����T�>T8�N
:B0�pK�À-�u���V�`.�G�\���^Vl���h4��:�O��]K�(wU�M��β»�[��knA��7]�h��w�Uu�`:�{qt����gN6m+�C̶�i�^
_8E:>��5}l�����뗵
� �g�H$ZBI��O�
 �2�]�ɖ!��+��u��%x�|�j_ȃ���t>�eQ�SHJhDE���߫~}�h��ܖW��

Nax���o<�=�K�u1
-�Q�9�,|0�T���[��}�
����“~�M96���)
��_Г���/藬�2!+��#�I0�ch��w3
[�&
��X��c�V��?�D6��ӂ��Dg����($����Ds���bg�K5�	QWg�Y���,G��u�����A�ݣ�H	�Luء���O�
��a��V
�
H��Q°� ���;������i��@�؂j6�\�R�CDO)�yY�:�Q�1�![h˟�I�H��%
�!�'��B��V}FDg����
�
��`�Ɠ��pˬoc���f���5KL�����%Xe
x��3�4��Y���_Cu�7������4
-9p�v�
h"҅X��>�bS��յ��#��ơ4�F�I���]�)���-Ff��]�hchw�Dҽ�����nP�tRf�v�;�Y
X���
�>�����C
��Nsz��
��/�-�|HZ
Mo��!������t&�K^�fpG�{�&0]ɢ��<���rY-q~�2d��r��B�\�2��R%�!��wE&$�@���k9*D�SG�v�0.��0����������e���Bւ
�v/6m�8��Y�$��+�
V�#_��9+��cK78�`�Z���ݙ���2q
��ec<����4=p�W5|�s ��^|��
Lj�T�`�w��Ħ'$�����
������
�uvd�>ɪ�!�n
�(�Bb��O�y�
iVi�_z��D
����Z��C-��aW)]?�
�ė�1ޓ�f{�J��
�!���4P�0j����
�1'�R/1�V��"q���B��������=�㍧
F
؎|kS/%Q^V
-Sr.�
?�MM,���Y���r��	TTK����7O��u!�
��N|-6��3����G��i;��&���a�i��,��ҩ���k_Rǔ�4p�`_LF�C��S"���X�y�@{�8�6�Ո��r��qJi�hAx�Mb�`�PB�F6��щ�ِ��
ju|�^'
�=�EJ�)Ć!�Xb��?�_�|J=?��L����K(��D "6�%��gC�pa�;z����y'����?pc��y�E'8S���Vw��8w|���|T�w ��
^��d����՞�{.�t�4�$�\0t��"�ʵ�	ѩ��l}Psx}Н��|���ɦ��
������eyl{�
@��{G,�������1L�f��`�ZD|�<3�s�
rU"P&"���;t
�ix�����B~ɮL`)��j
-?V�Ѥ�VX��S	^H��n_@��y��G �1>��
-����X6V%����

�}�8�:�&
J�{-
-d-�|���z�%3���O^��
H��a?�n�
M�Pd����:#U���,�E�Z/���j
y�

d~
�43�g9����
���	�1�WB��nj������
,���[���_�ZG�
[���yZP$ �8!	�G��5���=�
��M�\
O�jCoF�PP
�9�%Ѣ��|���@S;	c^�w�^Q>����I)�O�D��he�[���\[ l��%`�
}V���p�`���Y��}��5�����c� ۛ�|��"���vV����
-�`��&�G�
�F˽�}��E�*�.)�y5w��
J7[CU� >P����x�"��Mr�5嵷�P�!�_ص����Kp���)
���ˏ]���67j��K8�"
�z�>���3dո�5�������`�`4�0���'���Zx�[v������	� �&5.32��u��v*��6m�`޴3�����2�ĕ�h��U�z�Џ�X.(ӈ7^����m�'-ҰL��
(�B��-�W��U��z��;�
���>>�;���?�We3v�a7B�
D��ĸ��?Mɩ��7E �,gY#1�[mS���e�{��.��������q�],7E��Yww�����goJ<��g 4w�\�*�ʢ=��M�u�.�~�ٙՓ�<���2������]@zU�f���a5�p7�(��G����GU'�"����(Y�8�r&�UA�@��Z9�j��������n��h��#{��b5�I��G�F�V}:}�3���ܩU�н��
�9�����ZJ~��ɫHd�!����N$�
-�w� ��S�I�:�Y1~bQg��k���y��&�S��{F`���ZJ�Ҹ,V{�ZB��3~X�[]�9��Ч�I��í9���_s�3<ER��$L�_V��[뿨:
�vA�����ƴP%ʼ^��ЧA��#䆀X�}�c���'�^��
�,Y�G���"Q�:"��ڹ��̳��<5�E�
-&���
�f�y�6�z�,���j��~P}�M_,'�o^����)���S>�2�}��V=13��Ї=��V�H�
�݊\.gs��
-Kw�sl�0gR��G��N���� ,��r�?�9噜�=��|0p�r&�"��5f�6���_�h#p�
(��33[#-�Ȍ�H�qy��ʙ}�	&f�A���-e�6'�J�O�
���5�S�ŵ=VD�X
,>��P6O](�N���������Z��
��:)�/i���԰��ԡj��aG4���wHO��5Sԭ�8MMTA�.l�C�
=����
�	SѦs�!5��fDntǐJ<��܊�?v
���+lʔ���:S�0��
�v
G�u!����o��(X�u8�OPnn>��UM��l�@�$�r����D�
){vՓ���
V�3~6G� ���������&��I��w�KR�����
w�^��"���X]4?�l�ӶR��Y�nC� �J\���L��F��17��^_0Xy4
��d�?�^�C?���NϤ�M�[�f����7����ǨKR;ͦ\�����qf��� ��I$�����78�[φ��kΦ��<Ԩ���A�{�W�z
+*�J�Y*�{���{�"��t'>�����v�ތ��&���-��H�t:
_j�H]�^�U��ҥ�jԅ��Ai�;�!e)�lfZK�stx���d򖟜����փF��B9է�IItO?6��S���Mh�4��D.�_��#i�b�	_�V0�E$�0��|��I�xw����I3CS1�e�@����ܒ�V��K��_��\��=9_����T�p�x�3�O��P Q8� S�$�")
�ip0%���7����3�o��Bߜ$np�: �B���Uy��v˼�?;2ڂ�A���;��<�3A��2�C�I���c���.�
���m���u+T�´�R�5 ��8�saͱ1�J�I')�x7���׎"8����aK�������ZS��p��(M�<�8����z7�n@�?�
-�
U��~�� ��Y�hQ�%c&s�ь�-a�O���X���f\lt�
�R��ʡR�>N'ē(r,�	_��F�X�&��&R�ճ�Á @�_ �!�ꧽ���v����
�c��GD�MV������%G�&��\�M�\:V�9�h��� ]�tW�
Ոɷ�l>=�7]�!n�ʳ�i�Ɋّ��@U�l8J��2ĉ�թ۝Dz�.Gx�c�0!� {��b�p҇�ԧ
-���ك�c\��3|�'�1�Qw�O�_�	1�g,2����>�ٮ'�p�(�
&ϡ}1�1�h&
?P-Ŀ�d7�m�}5h���]�@'�M��V�9��\������K6�S?�'(a��ǵd�
S�a�
��3.	:���0�_
������d}X���u:����
��?�9A�_[���~8�F��?�5�k+��3
- ����I���`N�D�}}�
�M�b�K��ǎ�E.c� �7/��	�ĥ9pe��}�7#��̎ȟ�1G3��^bju to
AId�L
�X�OvVTɗO�^��kQ]@l�hz�C�OP-�C,���e�^'E-
-��
���‡�d�1ݕ䏿�
���`r���7[�^
���.C� �����w'��IO�8o�?�pR���i*j�=��
}���+ˌr�/������t�H^�Ծ댲��E
�扜YG�&f��������V��Y�����"�\�>` 4ׯ

C!ط�~�C�]\�Z3q(�A�B���ի����;���(��B��„�0j*̳}���c���;FJ5��
-ie!/�dQ
Y�͑m��b;��

-��S�0p���Se?*���3�h�.H��Dz�2��0�&����w��`	���w�p�#�{!B�,�23{p!���U����@��4�۬�\�T�+L��a�Nu\s���a�n�|���S�I!^�Y�Ym���%(��d�}��u#]x�����pF�7[��
-���.c�_}��b��_�[��Ȩ�R��w�B6���;r��� �:@��4�&��$)�f��h�l/�G ��3�g��B�[k��Ԍ����[K`�5�zr�_�\3w�n�w>;����e�1�i�w�Od�
�!���'�H~�x�z��h�����k�'v�G�Ώ]	���C�ؾ�$�q^��5M��CY��'�1o>N��
r�c�m�Wy�S�t�P|�ФF5�׸
-d#ܷ<�����F���&�(v���;p�|�$G��CZ��l�8���'�����>�Z$-���U��e��#l�E1�z~{	?Zm"}��ؗ
-����/x#���i��
-�x�\�}�_%^!�e�
-
E{Z�����(_Qyv-<8��%�a�F	�/+��:���}]Vh�o�,�ﶙ?�e;iȔnЇ� ��^1
b|��DH���z�x�H{}B�j��q�"|��v
V��*�a�����`�-�(øB�H�
a���t䒬�3!��c��5b\q4�M��C�&b�ʯɽ�O�wPW���d6�ψOzH��y$9
ĩ��/+�DmJ�� p�����7�7`���g��sն;exאt�R��k�Ic���k at A��YT��T��U�[�ٮ�u0Ω�`�-��װ'
�Ü1�\���"C�٦�QN�
.�)��)bj|j����m�O�Z�^s�����OȮ�Wי<�
-�XHz���=��/�K.q?����O�L���d;�
!��P"�F[��4�k���Źr2��h���?�`�1���;�_��p�w*Q�#�#�
-��QM��I��Sp}c�׽�pN�s&z�5��,7i9��b�Zx�٦ߒ���}��4��z5�U i�μ{�)��3D
__����yV��l�Ģ�i,Qq�;
�p�B����9=�
��
@-S��e,��Y[����p�4+nk�乑�g���h;_}x�?�Q���~b���}qP��B����!/���bJ��R���(���
���:��ݓ��O����\Ж̰^FS���W8��抭�X��X]��4�c�]�u��w���R��W���᧏����{��¤s�!��<f���2����Eo��]j� �
-n�-r�Z�Տ6T�Gi�&7�f0������9����/b6ܚR>n.�D�ug(��e��o����z�p�n��fȎ�uR��}��aTX|�r{��N)9�gz"�%���fE�%��M��o�ڒ�
-K[{I��/�5�4��4�D�J�Bj�-2Dfi��^=^~����gr��O�v�����8)!Kv
-�Q�AI-��ҷ��q�X�1�
B��Jd>:�j������o�+�Qŝ��}2yvbv�C8����
�wD �X2�O-9M�#�#�!x[0M�V���r���/�����k"P���2+��B��H�pW�{_S濅%[��W��G�s\`S��%��h��~���� �9�x
bJ<z�n���вH>���H5¡��>�~ ��w|���u�cĤ
]}#�VQ�Mz0�jE6S
�������Jd�-<�5'��xޔZU�[oތ�6!1����
�2�C�%O -��Y)"#טz��G��

M��t-���z1�����n���ܛ5*�4���m�VX)c���|I�BX�iR�LS
s��ÙYe�ʋ�<�k�
E��v5��
-g~A�4K��`�
��>>��
 k�Ց�r'>�`'�
�2����p����S�}T*��LR�,5��Qi����+Q�^��X�5:r����j�,�qE/�.��7�.��
����'sIun/a�q�Z<�V�1�g���9��"	�Z
-�
~йK�eW�dk�e�[����}��
E�;���0Gjw9+绉s�!=���� L�.�v�uk�^�(
!����Ox#Ϟ]N��`V�T+dSv�ᩚ�E�z���2����}xL3�B1��`�� iA�2>p РD�lˊP͝���
bNY�W�񬜔�d�L�i��
b�x��>�
1@G���vU�+9@�x���kP�ğ@�|E��W'20�d�зrq���gG9'}�R�2��mc`Q���N��`���g�A�p��.��9)�hv�)d�u��(��pff��U�ǔ����SM��<�/DZ��
��81a�ƶ(�q蔓��U��ê(�%��W���-�
\⨆�5��פx
�F���¸�j�H�qCb</�4

z
��k��`X�^�V��u�(�`zya�V�x;���4<�+ 9�FV�=��Ǐ�[����0l�E�T
��,A�ٝ%'J	�[
-t�Ĕtxh��]�}�f`���E��&����[��9<��֘X·�G3�~�!
-n���
ò<��Ų�	sT��?t��9�"@��&^u�_5 ��(G�yv�\����V����g�
V�+PB����^�f�X�u���|�$}��0
�Hۥ<5~�s��Daj����zܹ�RV���$�!�����R+v4�eC���F7#oSc?
�jyr��(6vۿ� V߽�PtG
 �{�����������I�O[/�a�u$+��l����.m
��@NQf0�&�O�Z��C����g�_��
��x�{7�@@�G\E�A%*QJo'�o�rH����'
ݨ<���rK���93�
��I�-Z�1u�rQ���Z�3��JܽӔ�ԑ��2&��g
��P�g{��g����ʝGӉ"f���ێ����U<
�ϰ�A[��Ú�n���w�ӄ+�c��]���14
v̏<�L��"���
�?�z��[�7��Q6����N
j5p�GO����={ϐ�j�tZ�B
�d��I

vzG~
�Z�C/���r.�������I��YT_�������{z��e�Bd��d�G�y=j
��H,�b�	�2}���
�+-g���Rb�KӔ�չo���H�Zu3.R��S~'^�L�1Gj��K�r��*��KF��}kuN\Y&�\�A��n"��
˃,ߡ��h��U)�����*��|��P���)��$�f�hWΚD��}�Rr�mH\6�
"��5�$M
^��
,��[V��p��H
a.K���O3���O��VD2�?!g��7�!gr�����V�
e��%����Ѐ۰�n��vpk���&Eza��ql�vCaC���'^bKx����L
��_?�v"G�ÀZ�^
����k� �1L�
-endstream
-endobj
-2885 0 obj <<
-/Type /FontDescriptor
-/FontName /LCGFKO+NimbusRomNo9L-MediItal
-/Flags 4
-/FontBBox [-200 -324 996 964]
-/Ascent 688
-/CapHeight 688
-/Descent -209
-/ItalicAngle -15
-/StemV 120
-/XHeight 462
-/CharSet (/A/C/D/E/F/G/H/I/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/a/b/c/d/e/f/fi/g/h/hyphen/i/l/m/n/o/p/r/s/t/u/underscore/v/x/y/z)
-/FontFile 2884 0 R
->> endobj
-2886 0 obj <<
-/Length1 1630
-/Length2 19973
-/Length3 0
-/Length 20820     
-/Filter /FlateDecode
->>
-stream
-xڬ�ct�]�%
;�$�m۶�ܱ͊m�b;�b۶*����}��8_�������
sa���&#RT�2�7��۹�1�3r�-m�]���m��d锁殀�r6822'��������
��4�M �� &...82���������
�RMY�����?%�� �=�C������@���
hc�`
�s�
��\,� 3K @DAQKJ^@)!�� ���l ���6�& YK��3�
-`f����`bogj�Oi�����F g���_7��	��-��dk����`�
0w2�s��{�������?	�����+!'���u��]�M�,
\ �*���;O
#�b;[�U���Z�ڛ��Sҿta�j]�,�.@�b���6F�c�sp��W�Ζv���-�	hn�djtv�
�����g����z#�y�����`��
�1��cb����olsK;8�fE���
���o�����܀N�j�?3C�7	#S{;O�)�
�A���oH ��
���}$�7P��B�
��o��W���K��z��+�������������]2Fv��{ 
�g��9��|�l-m<�O^��Z��t�`R.F�"dg��Fz�
-��-=����.& 3#��=��\���dci����
-�cbd�/:U
Kk�H`��
-hg�_+�K׿�gP��S���,�*�
UO�����j��M���aa{�7
;'���������3���&俀���,g��d���[7#ӿ������
������?���bdg�w���������_��� �V���=�4�[]�7�	�J���R��;4!����>�PڠZT��˾�/=|����&��q����s����@��p�Æ�;x���KB�[��I��AsȠ_���L#��jAvB��Q�pwBIY��

-���	��ʟĭ�����IZ}
�o�F����3��G��������\��8X2
7D�(�
\m�J�Xtj��x�D�ۃ~#��CR�}K`a��Nm�c���XQ�v�8�ܹ��
�2��#Z�d�Qu
=��s��8�8��N�MxDO�J�r\�Xʆ�a� �+m�!��\�m3(�k�n
��[��Nr`�7���̉���}��KY��,(�Α(.^{&Ȗ+'d�:2C5�<��mzkJQBEɚ(��h,="�?^��>��
lˢ�~�4��F���V	 ��󓑆�8���x&q����l\꺔{Q�@h�
�G�&�s
开�Ą�欯��z�Yd
n��c�$�+Xd�
��]X�iq�qE�#��%��b���ʶ
7�(����"�a#c�g�X�Bn�܃�@�������H��
-�2�Ih����Fn��9�����i��Z���=5��Q[��ђ}�{�����/�l��*.s��L�h�>�f��Z&�:aXs
��"FZ�cD笞d�n—
�z���>C�֝湬��a�ď�ŕؗ���T�TY�,�P���o;K�2j�U�.���.r�_o�D�����
�9k�;g�̀u!�����_A���"fGr��\�bA"
�ڮ��\����V܂�Ƌ��ٔ��]�4�E��P7Fۅ�;�i�~�8�>hl�8��p���VHC"�Su~uǣ��+�z����X�^-���Y�d�ȧ
�d�
FtVA�O?a�*�D�����K����zI.U�'��g!D`/s�A�O�9�#�Y��Â��$�wZ�؅�|S��C��<��m��'�8�-
->�L��K�2����/�c�2d�f.���n��8�:���Ǧ)�3dЎV=���l=Un�����Zv q��'A��
u�%Rp&+���!���5�u�����^q��M�-M�s���laW(�4��M���Qf�x���<��w�6)X�#����B�
'i�� ���P��\��W]
 ��L\X�WA����(؎��s@�g�
-�ހ\Y�WG�|�u��;���Qmo�_P��+�_��mX�;����
��;�2�(Y/<>��یp�v?G:۳_:Ջ�z"I
hX�L'�:a�K���
n
�	`��ll�5�t[B�Ǘe��Ѩ �>hֳ��(�spV�Mk���
�7-;/Y�$�����Ќ�4�X��5�XvK{C{
MXis���
�
�.!@:(u;|#A�;�#�4�
l֤g-lr���#�m�.;<����H�
���v>f	(�eL��Z2��J#$g�:��~���
��I���u�8I<m���Y3�q�:Ɣm#r'�1�
u�̣����n�k
+!�ʾSHWEF
N����6kh@���՘�(����k�<
�c����k�3���K��r]
����ԥ^X����G6�U��k�'nE�M��;�<r�MD}�>�6]s2�˞8>�/`
3
HRA�TjO�#�"Ά1�
����`狥&
1�����aj�=�8�����t
�,���>�wV=��
�m)��4�do	�,n�����[	�#V��5��u΃�E�Gވ�n�6[9����8^F�f�J@C�������5
-�FV'bI�:?����m�`�Q���#��Aa|3��I�
-���b���:��Rb�;��5O^�v���=el�'�Q��V�i�^<l|��f,V �8HF�����:�m�Ig�j?
�̺n��œ�C��/��U҃X��Z��

���n�!
x��<(ajƄI�#�S| �����8�D�E!*V��
^S��
�1�
.�~Wڭ5�&f�
���9w���R�
��R��`���pBB��7u�Q���_���`Sl���������~�JLZ��/,zs1!��7jn��
����Y��eV>��2�T��w�zgL�@-�������Ϣ~�]M W��s&NԄo��f��X۴������
�pv�~S�L%�*�(+������x&%��2�;��={����#��ZA|�7"�>z2\��^ϟQ��� +�k"�u���0s=gt��!���Sc�ah� �
T����Y[Ǽb[�?U'+p_�֐+T�1S
8��A��G}�cg��e`,�+1�g�qM
��5#��y�-�T�=�zf�r���ˑ��RtC7��Z��;1��N5j�뜐���T
\z
P�e��.Af�ɜ;EL#q�Գ
�be���Y�V�
-A �	1=0X�]j�~2u��FP��!�$J q/�t���|/��Pږ��Mj��]ˈP[��.u�1�K�"_ݖ�T�<�pR���k�D�Dn���l�$���`�T��+����q7�rG���7<d�Ӧ(	���,-��u�m5�
�Փ���0�ﮘ�R]
�	;�jz���:��#8(�&]�VX�}�0�b+�����5e�fϡ���0�,�tb
�P%�����_z����˵p 1WZ�"F��߸R�V����[nq�
2h�B�A��`5�r�9����?7�
-J/
��"_�qj�k��y��S�;f��Qjn4^��5U�����[��e�
-{l�14"�^�����Ԑ3�)���/�	L
�9�s_uO@�P� Q��^0�u�@��Sk��v��Jt�->�� ������ ���z
�	O�Y��)�y��|�s�)٩���q�����R��j�H7
�=����g�_��
Ͱ'ك�K˗,����7=X>�"�n�!
b�L%���p�e]�0��)'�Ւ
�4�2��Sw e��􊜢��# ���������ݻ<�"S�iفd
Bn���F�g�L�x4B씁 ��A*���*���weZ�ܪ}T(��dŁ5�[x?�r�E�21c7�o���*l� ʿ�
�HVĠX�?��/���Or��\H�����z�xc�i��
�eŞ�k?+2�؈�š���d�<��x�fZ���%��ב�-���2���
5��
�,4ўp*`Zs�m\,~��F����W	mB
v��{��>yZ�E���u�j���j|�
Hs�E�n�z�m&��Y�ܗ1Bt�)�ڴYSސ_��8��{����32�S�����
�jS4
LJ j�"H&����=j �
��#�灄R�h.�8�^��Wm�(L�@/�VRUۧP�v%�p�N�-�~�,b�� �
�h�E艿��ް���^���<�Bp(�u 5r��i�������V֟����Zaf��	�@H4��g:%�O&X�<N�͂Rȋ=�`���Җy��+��]y>o��mu�L* ���M���-�3�( su�<RqqR�F=��tRK���n�y��WK�Zy5h����~1͒�ac٣]��


�}�)ர��-�w��'�aa�$Ҍ]^r��ದ��V����^����,��
�e�h��n�K�?�dƱ�QT��Iq2e��~����y&��Ԓc��K��{o�ֿ��0�����*�,7�㘁<����M�-
fC�p�CRS
-���yG�
��P�>ؿ�{�K'��;f4lkk�6����r
-O���Q�b��Q7�aR%<ϟ��&����N
��k[ђ
-�e�ǣ�D��63����a����e$s�
�2����
��6BA�Lђ���SU�/iV�����qV8�w���:�]l������
��f�+����%<;�_�'�Ӄ#s��V���'o�r<�ۓ�M��

/�1���x7�9�8��m#Z�+-�^�ݥƟ��f
�6	���ud�~�2�/�]S����i���d at 1��
�j��̓�������0������!���oc��v��On��"^�O<i���
��tr���7�D�]
��J��)�e�$�%j���5���٩m:��P��|��"�J�^��xHjū`%���z��5M��[ ^��/�+v5t��)������$!��Kb
P�{?���]N�ÿ=�?C��j��� 5��.0^g�y�F�y�=gh�:e�
v
��cV��S�u�.���� �
r�
�~�
�$
��H��6z�|֊k
-t�tG����9B�zu��_)���Qi��2�U��4�]���m��f�KO�}
�#V<h�@<ie�is}V�C
���F�ek�&˱��z�P�� ۳Y�[�qڐоQ]-��2��m׊$)��P]E�Kz.ԣIގ���
�����G@�����ˀ@�' &v��bI���D�*�R[�H�bh�]g�Ȃ=#Qg��=�.�������:)�q~Kzw1.T�Ex�-1K������8��t��p���Y
�Έ�
�����"�o�1p�%.{͢c=�����-d+�|��a�*P
,�ô8]�6<��#�#���P�ܕN����LojU�/X):|�!D�o�Ͼ������`�:ڟ���BH^��!����	g4�5�"R�S�;ȇ�4�]{��ci�d
9���dh����ncr�^�M��
�&�]��%N�0��
�<����4��Y���i�bb^�^��
���v��E��S'�ՙ
"Hϰ�p|�O�����j'F��0��2���A$^[�����sqg
������-ݾ�����-
�k3e�=��_�!�8
�0��� b��XGȐD��H��0���S��D?}������c�dm
-ZWN��c
�
-X	Gl�-���=
��Dh���ev����Y��%2t�3K��x�F��wv�W0o�[�Ԍ���ܮ�=��¤
zյCԥ�Ir
���K�D ��2�[�ݾk����iqrCx���C#�֔����Y�`��@�ڥ�_�,Gs!^+�@{�&D])��9�p�wIrs ����-5��$v��9�]J���v�g҅�VkeN�N��rN���<�_'ߵ[�mpV8�,K�\�+*�06�v�UF��S��c(���Nx}���O���Dh��'��=
�?�k��N�.5Gv1�
-���t�ϙ�tR'g;i���FW䭐��݋7����+���n���;
-��-L�H3%�B���5�2��^�t�4]
`����@��!i��g��5�x<+��̳8��^v¤�qV��`*���鰿P����\ �T?�cw
���N���^ְ@�P�	�S�xD3���3������[ 
�t����AޑȲ0�'��
���פsV��
�bcc%�N�V����
x�=
�N|Y'����9[E2������of�;f���4��ֹժ�6^
]v����@t&4�`�c,/�����pYu�]�/t�䧿9F�(��d��s W�
�|��O�|`�"���ͱ)�Ab� ��S�T��0��IhU�dJ���{��#��`6
uQ{�0�m�����IT�94�K=�A:���X���ݫ��f�`~���
�>�"�x���Fn�,�4>F�n#����w�O"Q
�%H�aߔr��
�//n���%81��.�^U�MHj���G��v�d
��foa�����{G2y����H�>_5�΂��ݫ
1�_��o�h�J/n�8N!��F�N��F}Sq^���C��=���n
�@E,�n)��#t��x[�㙄���
]Ro�җ|�1I!;e�
-�8pO��{���8d	��
�=eA��*�
a1��k�P��Z���	�^�
i�!�NJGT
����?��t:��PO̓�;�<ѕE�B��O/��E|�N8�/t���7�A�kq�n[�=�w�X5\\4Ě�9�pM�ǡ�{!��!���Z�����D����*]������
,�!�pn��
��/o�՛�ƶ�S��6
E"�0�s�Ȼ���;�):	Րn�-��N��읙F2��B�g�	D���d�쵻��^�Y��;���7��D�8F�7�0黕,������tI�y$4f�Y�PP�'F
��i?�Ҽ�	
Q�3&����p`yxk�`��q�����׀�Nc���&�=�
-}�"�����,#�җW�����Ƒv�ݭ
3aL��z��ݮ:u������O��e
-B�M��+����9>=-�E�XJ�GQwc?
��`�5�o;�y�1'�����e��������q�t�2W��z�����m��k8����}
�X_�-����U�M
^i�{9!g��{^<����������������IfO.ʵf������$
-,��P�^�V�Q^���p�2��-7���W�Fތ2Jƕ�6HAx����;3���~
-�z��e�C��|�8}�$�-�ܕڕA��c'fx�LR?ay�!N�
G�L���sj��c�f�������޻k�z����E7���Bb�,#]��ME�l��Ƕ�H��%�
���������B�`BU�KILᨦ k�*�D��������;��h�+�~�$�{@�n1��R/��b�0��
k�
��}&�g�����\
����%;t���ف
�pe��Iv�u���Xe��cS%"�ZqEOs���,
,9^��_�:/�$�.�N�2
�S[�p��K�k?��}7 ��W4�b��ҕfgA�[Ps�)��t1�
ɯW�u�K��v׶2[�����)��
�q���V�(IAF�GF���ʹ	p��gcG۹�rc��٦�
tE�$p�L�?\R��Go�&����V�vc��?U.F~H<�Hw�
-�5ˆr��7�?c�7�oV��i{�� �F�(��M��/���m���p�P#y�牰f1�?>m�����̷��䧲��^�x�t6^�<��M[�L�ܼ��M����iɨȡp+� �]&����J~��-.dd�O
-�����ͭ0dj��,b���Ӱ'*�
��*�)�$�昫�e
�k+pl�5��;�ڑM��8������S��I���B��@?�U2F
Ls
-���<% ��>e�Qp<��f�cZ|��rm��p ��	�D�-�x[��	�������nv/�!O��9W�59�,��+2�
LF
�Ϻ�^+�n�n>����bB*)�- �p`��1D�ɑv�2{�p��-�`�F�緕��y*Ș�2�/^%�w�S:-�����u
-�n782:��}֯�!��h�o�:��.��
-�k�q�
�2�����:<
|Kv��!C�&�zT�~��L��-���R�$�*Wi�&�v��,�^H+1��Di�80�puz�E&e#2��\v@���vT�&3�rɲ�A��
S�P(��
-'X�5H�?�
��Ѷr�\�H�	��n�z��w��!�����wd9̴����&ȧ��VKиD���69%GL��8�mH�+-�(&�.�q�[`����eaUo����n���#��9��� j��c�[�ë�[��QQ���KOw�
T�W��v����"G�WIc��;E��>�����E��"ک9.\�XxN2��l
�-|3��N���D��rz訾^M��60�`�
Z�oq�
�+�i:�%�f�sU���5�a�������}`�R4F8�T���<��;b�z������Ѣ�V�=}I%99f�݅0L��x
6��<C<L^45�1M�Uw��n8��D�^Ʃ`%���A4!��g4���';O�(^(���팋,����o���+G��w���=�5�Va�]6��=
��Q���f����
ϧʦ
y>9W�(�m�%�fYT�������?'ٖg��
t��Sy1
A�e
 ��Ј$���}?�;�.�
L26I��Ne�Q�����蕍�R�N
�;��q�+�? [...]
-�
u٧.h��Xb!8X��Nad4
�g,�*כ {BM����̃��b��
�\�Bѱ��`�<�K��S?��DV�H
���
�V�
�D�߲��̽@�i�-�/I�y�B�M��S~��.��2q~
"+�T�������:iQ�猏��DǼ
N�k_'�B��\�-����>���y��#*���͢���ұR[�9m\D9
&�I
_�dz -�<�@_�dC�j�n�'Vg�\�gj%�te9-�خ�� ��'MD�~��	L�
�>m��?�:Ig�3�p�":��N��{�*E?9������RM�~��
m·�,yon��mit��C��=	�.E��p�KI��~�i+NÙm+,P
.�}
���ə
-Hє4̍@E���bk�������w�
�
�p#��c[݇Ţ��
gT�ÛE6
s2MN������
� G���J3Dϵ&��o��
-v�+��A)9���j��}@G.;y,�(`{돏
)��
0���6�@o~�R�O�&
��3������S��0x1
G������z��H|��;"�ʹ�G�w���ʜ�=��|�0��^�>d(S³�v�(�\I���OT�ֲ?�C'6eY1�o�k�s9�Q��<
0j)��o��C52��v�eDx�n��f�4�{e�]���kP ���1
��Pﯡ���
-��VNc�z�F4]���#�����:搷�y�x��	�
�m����c�&�$:Sp��&P
�"���*
�p-]�?�UfB�T��[��Z�����;��V]f��4�u�8�p����]��hq�p��^�M׾������m�Ud0�<c6�+hz
GP�3��s�h�C�v�%�Jҫ�T�����g���$���m�뽚q���|��$���=�y��R�N)Wآ��v
-�ݨO�[��Tk��]-y�G�8��4▓or�3�m'w�
-�o%%j���ܩ�L��� ��k
|�l�=-�C�����jGh$�r6%� eR�b�%���>��ӊ��E�s����P[~
ͳ�`$(Z�+:���T��D�f;=����ϛa�$ �\8X9(�C*
ca�!
Eo/�sFE��{��mvk�k7���.�ezYޤX��;�
^����)醞������U��
V�u3Z�?X_�
l�:[%��&��o�

-
-����]=j���i�\��)(�s�4O?5���5ݴ~���y�0�G��^srm<v�	:�,�\�d��
(��ы�8�Rims/1���m͝�|��S�n�K������7����o��/ԕ;��Չ�Νv���С�����
�Z��$����hX_�Ǎ6��hb�~�
 �a�����C�D���nr��#�wf��w)�ki�X�u$t��=����g[=������–n�� _�-ģ�S�����L��P+�l��2G"���'�y�7
n�7�9�7
|k����?�s�8X�C0r���}K�����:Bi�\�ݗ�eƙ�uí@�1n��e
B�0z��_��rjD�
u���V�XiI��r���$��Ut�
oN�ݫ��(7�}�'@�A���Rw�#3�Sٸn�����A9��Ġ�t+S,QtE�D����M�_�]0Ļ
�������mp��uf��)}d�c����a�����
1w��c�)�S�f�RZN�v
?7*��`ME�x2��4/�{�敹��S�38�E��oI��̦	O�v�o\7 �#�8~k���:
u��v#ffi��˦
+5�[j�,����J�x(}�Q
?@6A��@���1�>9�HU
)�\B����5��xz�Q8b?�s��m�\�ə�s��l����.D�sp�&[>�
��8�`}���0"l��G+�S�'��;��馧�A�n\&�ABչ��9����������T��<�"]�l��*�zBֱ�y���г����uG�z��tLaVx�1Ff��LL�Ş�O����
����|>�0b�W{�
^�{�ޏq�Iՠ"������/a&�=� L+��,N����>Cv�;:\�!b�w7�'���I�aA��斍��
��_�H�/Y�x�6#�$s�����d���bO��[�������r�%$C���L���$:3�K�܊�hZ�ė_USVOiOD�X��l�
S�����8�d��a�?&�����#
GP�ՌX�����$#
�p'
A���'���	aT��j>_#K
rQ�����Ua$x�7؛o���Qd܄y��a�T��L�n��u���h~E�g��� ;('��P�;��<G�ċ��t�+�*�F�"a/�Ч��;�f�Fޢ�ܡ��'���7a?g�S��:��
]n�H��9��Y)���ʅ���w����c9^ؕ�P6f�͂|�L
6Y
��D�Gb�OU��� ��Ar���\��
#(��/�f=���ζ��;�2���|������;ݪ�zP(�I���sB�K
�Pe	Xn��?�
3T��[!!�4�g҉�X���#>�l!+AF�ȕ8H�l 9��g_:_���H�n���\A�'���GK���n�(	���#�xcf�{@���g�#w��ހ�����g[�$n�z]��!!k��/[ڊbZ���G�4핛��
*J�y
��f��`5� �x�p:��<���->\ip���Ey_U���{c--�x߄K��$43����2�J�%N��ȹ��
X
-��?e!�T�C�[��GV�϶�Z�ӓ����,s�,�9C4q0G|
9��$���PS1���:�eI��'�-����@"��26b���谙�b�9q̼8�vZ�{��J�筄����'=���x�>Su���D�>8�|p��̝,���X6����ʺ��6�B�Z�S���
Dt�
sUW�ttʰk�
c��,.��E�rWx��}���"\����
-:�GP�V4�c���";
��}�
_2�'��7 k8�I���Л$��[�{X�xh��T�|B�`��/���piЎ�X,L��I8&	SS�p;�)pU��\5�mu���%�CE��ʢ���ڳ_��op��xZW]�kf�j��ɛE��E��P��!$a
oPt�u�
�� g�A&u����ZA����e3B�
����:��%�
f��+�W����.���G���s��
Xxh���)�!�pN!�{#놬]�9��n�+�Ϟ�m	Uf����� �a���h��V��.Y��n�'~q�o���u��+p���h��
�<�QXX�s���ܫh��`��"8ގulv�5�Z�+�Q��J�u�����������T�@)��!@�)��naD�q�|�
ؐ �>>��/T_�É4��.���_��s�V����.
0Pדmk�Ra��r�4/A.��Lu��q�QDً�nJBVAc�9m�O���Uc���#U,�m6���e����'�
:���CLt.�Iw�a'� ��{)�aM����A5O���XO���;S�-��6՗�0��%�1؍��4>+�r�?=�o�
VPj8�����$�E$�F��֐�Z�l���>��͟��'�#�w2�dzE��Q�&	2��� ӳ�D��{
;�$���T���9$�>|�
�Iᯙ�4S�z�*��kZ�՝��m�.��RX���8;A��)���6��<�&H����
��
�>����?~ٴP����y��?���'�k�>���6����I) ��O�s�:�CZzT��F`&ט�o����Q�:��7t��B�:�@R�Y0\%�H�.��6Yjs�Yd��r�(tB�^�n
l�j�)�_��:�R�ٱq1
�!�^�] �V��7
-���R��u�����eT�ߛ4��伔��:P��VA2��P[���M]����[��b�ʍ��,���8R�BO�Q��tā�}�͊?j36L^��P귟/V�(
A 8�ޜ5x�xඳ	��C�
���4��W_0N�O=��������?T/�����Z��
��_���Us�?%�~V��S^�����

*�m2|��a��p�EIG�,��l���G#�R
(�`#_�
|��.�k")�А����+
�0YM�3��f�h�h<�dW��>���N��}Ӑ/V����I?4
*h��7
�S1w�f
��z�t�
f-��D[`�R��[ jCܫX��}

-K��׏˦T��c
-_p�)%�� �X\~�P����ߣ�
*8��B{�
���
%��"s at qžJm��~��q���T����J50p0l��L
��1@ֱ�0:pD�6p�A�pW,NO�d��l�&t
HoL���嫲 �6x1i��t^m�$�{��y0�T`G�s����O�$j�m�sD�"s�mc�/�D9Y5��������m�_<Z��|��Rel��l��
�,nƎ�����@�O�
��p>�by��rĝ6U1�35�c��I��h�sB{�÷d�B�j਱�
��\������o�+��`����1�.��?\�􌜽�g�Jv��*<�ݢ�1�(>��3�8J�G"{�w@��ɭ��WK-�]%?�̏Cŀ����F�S?������z�!Y �؊(BX�K�-��:��'G6�qy���<)�$|��B�w���-���]D�
�^]�������&�,�erR�`xKk��n7k�a�a=�v�����E��i'�uV��,�i
�tWh_ъ�>̵y1�,z=�P [...]
���f!�

��);K�����j��_�
��-z�~I��ٴ��LK޺N2J��f��C2��=S�C�*B�s=�%�W�"�ƂZ�?k��Z=�2II�_
-��C&P�����v��ʄ�,5kJ�6���)o�i���4^�Y
�G֥�}���q��$-be��%̝I�� �
�HiW at m�1��-d
d�0]�P��K;
H�':9Nh�L��<JH0(a�z+
�q	�n�J�+§��~�M~2�ń�O'#I�3����p2�}e>Z�?4�H���@��WT� ���.��Χy���HU��p���r���]�C{�K
B�<Nv�xq
1^�j����Ntԣ�E��J�� !��
�L�{�`}��.[@��
�dKe�f��
#��T#^��!N����G̾��d�(�ڣ룎�\�<�}y��Q�s�X5��8�`��4�һ�&�
��C�/�!'�z���A]�r��e���
`�Q�o�F���b�N���9��.-d�T")��C;�-Þa2�ne�T�H
������
-�y��T_�
-�}��������>��xxϒJ��\�oj*���%c
�Ү%A�Z��i�̴� ��	
ǃ�
��Bll�ע�k
�0�○��^�!������i�9LFhUlw��<���;���2���;����b
獬�N���?
�'�-:|+9��Zsˡ���9�ٌh�@-j��:i	�^G�g�
a�
�����O���O���g����}u
" xӥ�N��fnq���
�Uxp��
-�� ����J�������;�gBR`�E*v��3�
�z�df����"���̣ �t�<�̵���
�G
-g@�ט���#�&
8��Sx��9N:g��s'�v���H��+�3��C�*���O��
-p���oc'�T��?){kX�"�Cr��-��P��wU���V�W#<ы� [
�NB�'�R�ǂ�f5�5�a���O�h8B��~���r
����a��C�����պ���jYׅ��@�R0����Ӄ�4���޾��Y�h<���9�j(b7�æ?�
&��H����"
�.v��i�O�c�8��y��q��3�
M���s8�gA�T|���� ��:0	�#c1��C�l�ܼ$)�n�{�D6N��?ؗ�s�XK<s�S��<��
��@�Y���hl��4�cН�J�>t�ą4 F�W�=�SC�ک:9��]f^7�
����T�*�ޱ;�hD��
����%pr�erߎU��ޤz�Y�	*�?/ܡ��
mt��ϖU�&��w)��˩b���
-S8��
T<A���f��X�3p8�W�ILۍحN�+�� ��z�\���`���݂��	]�+/d�E��كE��6*t�k�?�
k)n�}�v{L�+	5Ţ
zZ��Gl�
-�s�1{��PN���㘵%�vF�>\�����pT�.��K��x
Kt(�������N,��y��}
pQY�H��_[�&z�	a��EǛ;�fC�X"􅉅T��$�F�­������V��;�>��
����	��e��;�����X�5�?�?��
lA��㾦z�iUjc?�6��g�J�/s��C���H���,��(2 ��^S�����uJGO�P� �O�U�z��
?ْyH,���@K����8��8���Te�d
��
-���
�������m�~\c�]�d9��S�W������U��Fα
)X
�Y��j��o f�c%vͯ�O킳%̷�
����-L��RV���I�y=y��BZ
�~2���T!^X2�c�T|Z��S5E`z�f�E3G}��z ��tº��t��iItA5���߷O�f-�r�X
V;QY�)��k9�_�фQ�
��ez3����1F��1o�,��/Ua5T�� n[k�i���"
�Nj(9%�tRͰ��o�Du��L$�}H�1g,��y�g�%��n1@��!��{UV��
��9���?0,L��E����~�B�čHZ�vzD���R5NE

-c/Ɍ=S����!
�ᩭ�]����k�.$�]�d,7�$����=ü8�$o�c='˵+BׅA��[ �9r����֛_ �o���j�'ġ���ϫܽt=G*�e�
>��Ǭas�u ���u6�`�cU�>����	^�di��-�7�9�v���b�ʯ�� 
���]Ժ~��Dɪ^5������L'K�ɵ�)�V�m�0��S���j�oh�vݔ��'Ʊ�B�{I�Ъ�泫zp�v�Q��baY}b����%����u<c���A�@�n0��Qg��)?��c��{6�^|[W;fZ:B�X;�ӄ2˓��(U��h�bK�}9ln�^I+
}I0
-��G
�c
z��k�
&U�2�\&x�xzE~H���[K1���"g2�����w�y�R-���`;��E���#�g�Yz7?�/0�qpa�����|+ZPUB*�n9�^�/�h�MJ���P�g�Y��{�W�r>���QFI��=S��.v�yW"��2��7{���
wx� �B4���<�4^��:
�.�;��\���*�`�6��hB�,p)��4���}�{�h�#r�J�
�w�2��
>z����Kd��B��Yr�$��xˀC�
�wK�O�d��]�@��V/�@"���IH��y�i�E����������F8����� ��z6w�� �
���qN��h�w2R k4
��G�I�ȇl�mX�}�H_@��=W�%����k��P�
>���ߌ1U٣��
�;���o��,̹ꄞ}�� tqF�r at S�{�#�b�����h+����dz�U���-��x7X�#���x�
-���
��4�n%��{�ܾ\��o��p�[�Bn	�]�#�B�������
O
��gqkB
C��OH�W
�RQ�I��7F�
�zE
����2
}�z\�E`x����[3���}6�/J�
����m�
:C
�*©������-=).
���E7�����r
-��^���,�1
�O��4�
'�m��k��n$�
w�s�"ɛ�q7i̮��YW~�'��󏂳
���5�����ܺ���m<?7oၵ�jڹŎ�%�x�����u�������2Цh�Ȅ
��o;eQ�=�V�^���Іo��c�r2@��#~��
"���ʨ�%�D��K��Pљ*B�S����nB��9��e��sT�;�o���s��x��_ P��AL�8���)KN���#���X�A*&K Q�ށ�����b
ѓ!ƒ��*q
鄆��(�Qq?��2va؇���[�[痟�`,�������o�Z�����"S�2{C�^ѐ~��_����]�Y
{��-��,��+]˒~t\�Kv
-
i��m܇���"�-8l�܊����X��4����Cd�lp/�.L�2�կ^�)���mp�[A�����L�>�'ZHLĩ�4�~&)�,�$N��V2�y���+?-�7{Ѵk͙����F`���Ϳ
�<���f4WTqR
~}Hb�ݻ���:�em�H
�{~/��$d���L
q����k>� [...]
^���l�$�-ߺ��YK�'�o�*�|��R�,�P������\d�F��5��S�_������
'5�_�|��`�'�3z&fjB��yk�4 y��
QG�
�U�5h��������R�j:�8���nxt��/����@
,VᤴF���6
��k�)w��`w��-��y�u8
�W��w;Z��ć�����\�y�nڜu�C������Ι��*W�y2��xw'N�gDeV
KB<�L��)�
��/+?b�U�"�2���|�.�� Q���L���is��Bq����(�F	k�*��x�:@�h��:
��X�(,s�,f�&�;>��I
�X���=|c�Z�9�AN�9 ���r�
-��gq��?�v�^�s9>>d���g\w��[�;�

�HG�2�h4^���9.-�xْ��75&�Uo�˖�#'5����Yx������*���!8��bo���']&8��T��04{UIsS�l��6�1��|��q̻�LŢ�E��`|	�OCc�<�W�cc͝��T�S�a�����%s���PcraY*=B�p�X��
u�<�]�py�N�~������J��,��2WN ��FF����}��+(��������
zf^R�
������u{Z���o�v���_��=
��$/��.�� ��R�ȩ��#��K�7<Sg�ŽP���K�t�`D_խ�B�9+���2�2�W�<��ʍ��h�6�	�ت�&���F�U�O���~��e'{T�Y%�XZ�a�)�-����^���k�G�?���L�dX���(
��a
-a�^����'u�ƾ$
�A�>W�zC)l��VD��h��\Y�L�o��	5��1��l��3c��~����.s�d��S�4SN�"��OFq[��mW雠����K�[Ek�"�����UQ�K�$x�m9C��9�.���E�4���n���T�߫sZ:E���	gV\��?zx��
�M!�
��yTH�B8�}�z�$p��8�wA��7�
s���]L	���B��u���
���*0 at 2
���<a���0j�*L��^�CđD>��\�n��+
yOH�^�lRy��+ի����ڱe���m��^<~�+��l�S5��_�ǝ�q���<g����۟*��T+�X���'�oh
-
%���W$�>T���g�.=xC4��	�)
ۛ>v��,� � `��qpx�)`U��
�D7�у��t���vE�9c�7x�[M�e�5	Z��9�gr����;=��m��q��,��<�}�ay��ે�z�Q
-����AV��I�1�	�?r��[J��A	�� x���$
T=���OYƑ�P��
 ����"�d���ulʲ0��~D��Q�@m)`&��M�~[��yA��1��Ө���J�4%<�H�s)��6��
�AgX�~V��2�'F
�
-l��A
*�
-+J�2C�����ROe�_����[�*9G�kjyd�U�
��v�9�[ϲ!]Nj
�̉7����)�l
-ט�Yn���d�Z��{�Wx�q
-[��{礪��U�3~1�����=�$��C�x�ї9��M�jh0X��2HY��"�K1&�,!?}�w(>� �F�U
�bQ�U}d�,��4k�Ϳ��`ѣ+�@�g��+\�i�2K&=��^v]+��ځ��&t�-" iN�>�����'V1�|�gy/a�����~�� :�����Q{��35�Q��{��
����Q��.›��
��Yޤ�bj
-֏��A��_�}�/��	6=U����2�[k�߸�5Y
8Yn�3�֜����3�E�������7�;sir$;����j^z>ӤÐ���r=O�V�'ZIx/M������"��B� LVʋ�t����
�|�X?/b$ϻ�T&c?�K��c��4nGL
�*�:
-�K$
���Z�`_Et�8]/U�L)��;^��V��TŢ+�6,�,x��_{.
��*]��V1�0����w$h�*U!
��d�:.�Mk��msD��z?S�F"�ƴR%��4~k:�d�IC����J^��~�tgdž��;>P�_±�6�{��3��h���j�EY3>�w��s��%p�cd'e S���B�sk�೾`�ʬ��q�����/:V��J����
-h/7_t?�?Ycݗ\wP-~����ig��S�Zw9��M�
�S�(":��!��Q�^ �oU��>/
��D���	J����mԲ�k�K}�Nj����c�X��#��U:��� =�I%�7A0RA��^�3����Ma5= yhc{&)?��I=�>nI��i�u{FyzNw�a��TD�.���p��N���?��bg2O�X[0�6F-#�l�C^��O���˅SB���Ϻ�B]yuO2�4q_���uϺ���,�Ev�͠,<��
-U���V'��?X�J^�z���q��d�����7�.[�u6���HE$ń�
᥃� �3�95"`� i
�f�_���7������`© Qz6~�ҫ.��?�,p�%)c�]O,H�.
�
-��JL�s�Qj8��EJ�4�mM����_B��g8�*>;��s�C�,��y�Е-lz:;�H�ddd`Jԣ݃���hh����C��N��.��9�n>
���gui�F�#�����A��N�7���Ӡf�W�
M0 <�	쨥��������� �l
�%�ߕ�,�c
�����в&��O���O w	��?�j��7�(��ÿWY�̄�7Ec꿱c�&%pZ��A֎���RE�e&��>GX+��,��l�C�O'Yn��Iގ��77��CO���&��q�������2ڱ�t�A�9Y���ςu��)g�����h�<4h�����z�զ�y2}
���v
�C�1ENuk(��D�J�_m�jS�v�0��y�8l�ض̑������a�Nur,�7�ɴ
�ht�!"gZ�V09����=S�
�r�y�6~v��
���")��"������
;�p�3j�Kj�O$�g
5޿���z�:�ݰDa�S�	G�l��r3�4.TV��-�[�9%�ҕ��՞�f�G����a�,�G�8Cd+
b�U�{R�)l"�؆�H�#Jc��p�*��$l�N��V&w�n;�j��A"N�i�{�W·x�
-��9�1%.�<�|��>���h.�i��s�wVa6��uC��?߻O���
�-���"Gߺ}|�
�x
.*FŘ��Օ�!d�kĹ`�%QdJ�V�V�_����lG��Pe����~�b
�/f�e���"��1��Z�(�|�l$��~"�X-���P�������FjF�
�1X
-Z�
q���k��L]x�2{A�W��̷_G�H�@O9YI$�܌5T&�F�Q�
?̄�1�6 y��\n�2M��.��>Nl%�O�V�I��	Q
�Y�|�{�{mo���
���q��������:������c /�����
��-�˙#��Ny��ё�E��30�m�o1�
+eB�uG�>�����(���Y�#�zi7m��l����*�8۵_�)�I���[#���,湉p�k�K������
d�\L*��n潛\��2��g;����>���B��[e�Y
��s�<p�p�
)I��̞c�

Yt&>N�a�q�?74"�.��#R2�~��L9������+��$�>ҀI�#J(��;���{쓬�W��"#ŵdT��6o�W>��;L�	����j
W�o:7�y�o�͐j
!����
� <����� L��6P5e.vH��?<�b�'����	ۊ�%DJˍ�
-endstream
-endobj
-2887 0 obj <<
-/Type /FontDescriptor
-/FontName /SAGEMV+NimbusRomNo9L-Regu
-/Flags 4
-/FontBBox [-168 -281 1000 924]
-/Ascent 678
-/CapHeight 651
-/Descent -216
-/ItalicAngle 0
-/StemV 85
-/XHeight 450
-/CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/a/at/b/braceleft/braceright/bracketleft/bracketright/bullet/c/colon/comma/copyright/d/e/eight/endash/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/numbersign/o/one/p/parenleft/parenright/percent/period/plus/q/quotedbl/quotedblleft/quotedblright/quoteleft/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
-/FontFile 2886 0 R
->> endobj
-2888 0 obj <<
-/Length1 1647
-/Length2 14693
-/Length3 0
-/Length 15548     
-/Filter /FlateDecode
->>
-stream
-xڭwctf�n̎�/�;NǶ�1��F�vwlwl۶�m�f�}��g�{ϟsϏ9�|
OU�OU�1ɉ���m
�b�6N��
L� 9skCgG%[k9[.z%�������S�GN.� 4p2��1prԁ� �������G��sw075sP�*�S����K�	�����OOGsS ��
����h��	�?vTNf@��� ,��))'��S�m��E(8Z�d̍�6�@j�����������_�92|b	:
 �v@#�O7����/
��`m����
0w�:�8}ށ�-��������>�&�'d�`�ia���S�utr4r0�s|FU�G�NfN�v4�TlM>-�m���*�o�'̧������ts�+�!`l�hge��������4�
�mL��
�hj�`ltt������v�U'�To`gg������V�����#�ʄ���3���glSs8ƿ�E����������?u.@��/�ꯞ��L������
`
4�c��u�
	������G����+�����G�s�_���w��
Z���J������g �����k 2������௅cn��X�[��w��n��G��������1�d������bsG1s7����������������
��m��$�}��NLL��S137����
���6��^�'oW��&��,!K��lۿ�>��I����H겶��y�
JH��
�I����g�`�
��q�b�����7�βN�n -&&&f����ϿN:�#jcdk�W);���
-�R9;8|2��6����翇 t�-/��Z$��8Uae
��h�t1��֪���V�v�$�nq��V1�Mp�7��۽�J��
uaZQv&�s�H��sQ�)Z9h��u
RN�#=/�d6!��3��m�)*��BL��:�\<P���������!z%��`�!ׁ�V�
�P�
>�S�
�w^Av���f����@ PD��g��W-��F���/��M
`[!L�ڝ\��|BU���A��t���#-���'��dž}�
��>�a/+�̺?�o�/��[�1&Ԯ�J��զn�v��a˫d�j����2�3c�f',3�kp�p
~Oy?W�%��[U���!�
-���3�~�� !a�>1�zw�C�ܧ��ds�������!�Fs
������7�i;��b��j{Nl�6<{�|9A'�/!�@�J{ ��l�4��\�.k
'ߔN�\P�~�K���YF8�)_	
Y%���"�x�I��~%���,�o5���8� �e+
�Vi�e������C�<�9�0�I砵(h
��a��L�a:X���{9�J����nu�0��S+�	u
������i��Y�� �E���/Cdp.��$<��W�?>�n'I�5�w��ˋ]��r at jG���
	�<�^�L�0aG�v6�n-�!����_�4��/�HxdS�zM���j��
���	���_Ä����6Sѩb� �9��|���O���,��E����l��ȅ�
�K�����^���(���
g1��;!�e��H�m�k�v���n��-��z��a�3v��l�Wm�A��}]	�:H�%�?�W[�T83���ɨ��Y���0�b�%�~Ω}��5��n����0eٷd��
J���x����}Fm�(���j�S�4�oT��m�9L���xoF�-m,V��B#0���~�k
�Pk#�߃�|q���W<|���pz�",�z�y�TRo��#�i�1�k*�[���+Ҧ�
�Av�|���N�飉[+%Vs�

��Ap�ַ�(��L`��$�4)l�
�Z4�N@�l�HQ���پ�0��Q�Jʀ쿑�ɗ\p�i?Q<�*��
V��

�a:��
'���L#~ y{^@MJ���=#�M����w4�됪���[N�I�}!�I�J.����B2��H�I�� \gw��b&�ȁ�)Y�������� �l^�)'����W��V�gL
��R j�-*%��<��R�n�~M+8�"�K҇tV�����
1N
��d)%Uj\-f2a���G��������~>���;8�Tv�n��I8�q�(FX�/$�7�	��a�ץW���@܍��їE�S����ѣ�Qʷ��j0�V"��Y�sAfQʵ�
6�I�
�v�"W{����(]�WQ��ѫ
`�
�E��R�Ȝ!_^H�˱��\)���b���*�Gc�%o�
WxV�
��'��Ag1�@$C� <_���b*R��bC�q(gd
�����(e�m{�CQI�Y���Î�IUӘ��NAl�Hur[��������r
QqB<֥��GW�g|������q�U=Ѽ�h&?��n�)������ԭ<5Q�)/{
-��+m0�rt���5�!�G��)u�Ip%!��"�o��7[����Qm�iR���٬ �=������;�
�覆�)��S�*d��F:����h��c�������*IQ-Q,�����b��

�
���r��p��nP=3�\�^˰�ݽ'^���_��'�����٦&���a[�BMM�Nۂ�
-�
-�O����_�N����)�����77̋�tn֌��
ɸ4�yQ�'���W�{1��-��^&��1p�`*r��K����k¿`0|\��O�!m"� �"u�qNe]��t� 
��C���;����q��fE������lL���UQ�t��O���h/ي�	C���o���-�$�h��(fT�ԼX(ϲ5
���ĸ%����R��J�K
-d��Caj
�hbae�,Y�=�f�Fz˜:�?7j笷�c�&����F=�۵��g��
g��t;�b�
-_
�q,1K���$��h�~�MKt�0�'
��h���m�1���l��K:��;i?|���m��RA�t�m�م��Vf���S����'u��'�N�.ӈ�thM��]�r��������ӡ�<1X&�����x.0�"q�w�Q�jF��<
�$��Z7=�_?����Q�"si�w�hK�7�F�O����E{���|`���i�W������=n+:�����!sO�-R����~��i���gl�δ�"���P�+ �����jTr�}����`aO-��3�6`�6�¶zHʴ�4�]�P䏄�5��/���
��obƼ��76�8t�O��{�il ��
`�������c�V><�/r&�����E(��[��w��h��
-���X]�iV
itڂ<�@��BUj���$D����r3 Dd,y����)x��ׇC;�B��g�h��
'���{o�������ZH�PD?�C:�v��HN(�>n����FJ�l�.��o��ۊg���8�#�D{��Z�G�Q��v���Թ�m�)BP׬@ݏ�vvË.%-|���o}���Rd�
�k`-����o���{����JZ��O�����m-�0�n����ϤQ�#�f���u���R4)�F�߈�^��Q
��0<�Y�X��{�7ti��݄.u�D�OU��l�a|C-�9�T��&���3
uB�^�,���]�T��f-ȯ|\C�U֏����}��#���$��3��ݧq�� O•nk�ݼe�����.��k
Lx!�
� u����Ӗ���_��!�hqّ���O�`���VOڴ�Z
��Өd�
����d��Hfah�� �\iS��0� �@V]Y:�l��ۭ��Ng�_+*{�;��6�=�����<u�����
�AW(�$|�B��
�`�<YA�@_|��,X��"�@S��فS*��/��;=
:�uUg�	�J�y�����
�0X�Z�
�Wn�N�Ofك��B{(�d<�
��ȱ��u����Y@�z�V��MY����z�L�yA�uս�.-�T��+\�\����db��2j��4xy�7@�!��Ol�
�=�`�>'hT�}�Xǀ�4Z�(Y�I�/�	������%���{j��V�l�T-b絵����?
MW�7:�ٔ]���s�ݜ�胫c)��%3)��o_�s��Q#�K~��-ƛ�Pn-2�cSc��U^�\
c���SE~�f C��
RQB
]�қT�u�N}:����F�L4
NF��k�n�2w�c��`5:'~E�=F	�v})�o�G�W�K�<`c2`y
�e�uNu-�����#៕N�>�v�f�\
��=.�Z�����rv|wo��p�JL?X���{��qE��\rLf٬�v�G�P�y �\��ߎ��oC
-��ϟ8�:�b����a��w�C���޿
�:̝͚٨,b;�� �x�B�Ux���a�CHa}i)ij��w�̀�[據�QZb_���ñ<6}GF�.Q��y�gjkdӧ3��ƍ��F�����_���$J
=a����+Vr���V/����:�`K�޲���
5�IS�8;�)#�d�u�i�X���a���תB�Q��.��H.j�4_��,��c�r�m���]bbi�j��w�6
?��zM��k��
%PeI��;�T�ph@ q/�7�<���Iۜ��u�$Q���J��|L?�
��	\����u��W��
-"��=߳Ag5M��#''Z��$21m�5��������g��Ez~}d؏ O�3Pp�kK]������'��eK�#��y�	�g���Hf�\b
-$�{�Vx���
��*X!&��^ծ��x
�k"MH;c$�}e���,)��
��U�
�1UY/�Þ�N�3อH�!t�ԗ7u�\��L����$R;�^ujzh�ul:=���)g$=m+���
��6����%r�'��:w-�h>O��c�ĪJ�%Y��]���:M��bI���d��!7�Ǩ.�z��Z,��*wP�Q�� #��ظ�4�ޝz�C�#[���::��.R���P'���O��Fp�x؋��_}��#GI�Q���7�c�o�B��⛞�dE�|�ś~���<H��>�QNNN�F�)��
�.R`$5�_O��@�ۭ�*�
K�Q�䎕Z��NwE������@m����%qgIZ�(��\�i��V�KΈr�PO�
-l��BXl7g)��[II���Ї�����������l��.?�M���
-�n���0�nr��-���
x ��
Ac��-:٥�Ga��/d�fi�P�.��.���n�Q0s�`���:B�<��1t��4�}W�`�	KF�3?�̴���D�
-A��T�i���ߟ����wo at I6I2�|��I�D��ɸQJZv����"#.#�p
�-�h0ο	��m�]�?s�����
9J.�d�]r�&ձl-B*k6"��ZK�J~�dDʕ`��$4[ �e������o3j���C�/�$�

�īM����6��T�q0�
��*�����^����
܉_���� B%g���Y���[�J
��?�ʨ�k�_kQP#|.T
��B�����^*{��&�mB���nu �W���v�0A4�}T����,iN{?���#�i���[l��wl|�DGˎq
�TJ.���lk_�P����o�i�5M=�.�V݉�ݘ��؈����3<x6Q
S��?t�_d�/�Qm��섭#\�1O�}�P_�>�;�IR�Ė&
/�Aꏲ��~w���1�g�I1s��m��{bN�-�-�	6���3��#t�C'�-���z����T��
ΜUg������
��'6c�

�;�lf��
��tѪ�h0�5u_�E$�wS[�tmH�O�w�]��l-�����
;�A& ���c�Ɣ ߎi5��'UT�@�Ur�g0�Q���?
-,@{��м�o�{P���)��d��6��t.9=�Ǔ�:
-�zP�&?v'\KZ#�u��|_�&l��k=.ۑ/�Q���,�c�9��
�91���
�n�CNCl�w���9F������+o��kK���c�[6�o��@?���#����??���8t�3Ѫ<e9;���
�M��J�B7W���L�C*����Q��)�eʔ.�̍
�{I8���Q�:�rv����(�/��MA�}��B�j��c��

-��z��cc� �R2j�IbC_l;ͪ�k1
���oԣ�
�Vr�ۼ��b�j�r��Ƥ�����`Q�)b?1�ʠn/�uK��;.��M�5i��cټ�u��̔�����Q��4��re~�=�s��l���հ��
jr���-�j�t��|���8T�>?6��0�g"?�j�	����S&����Ǡ�
����
��"��ķ�
�H��7��=,:��������0"���a=�öU�ي�
�ܕ�!��X|�Ӿt���G}e�
����k��yjw�3ê|�B��G
o���j��ڍ�d�t{2�)ӾJr�����S�����T�IAi�i�7��8�>��Ԭ��e4�:
`��͙�@x򛁶�>D��
~vޕ��<;��u���P�J���#�;���
���+1�S)_9+�+��~�`^�:>h�Po0d�	6�e5�_��t5H^3
�ӕ�<7~e��%�Ƿ�R����:y��k�E�!r޶�!�2B3�v�U�0!|i5��3C����mY���8�Ѷ�y�dƗ��~�Oo����p�e�+7�O�.�������_	�{��j��s@#�ĨZ�7�����ׄj�?5ED�Ϝ��X2w���z�x��m�
†���u���]�?���n�EUb�0�U߯���}Ny�F������rC�iY*؝2�=��
-�_K7l�[��J��ᑟ�%.��_���6N�xV&=DH��=�)�U�K�49�I�$�<8�S�
�?��V@��t�'If�@���}��
=_�i&��=�^w?JA�tV���9�c2�|�OQ'�����j��d�a�Hl4>����}H��ъ� �f�ɆGT���=
�R���?�?{?B�T֔ܚlUg<�I:m��A�R��N�k���gn]�R�~��D$�Dj�uJ?Tx�҇x&Gp��`��{���苗��Y
]zx��+����2�R{�~ �;)eL�c�~0��M��`�V!�E� yp;#���&:(_qh[���n�+E�<�+n�
}.Y���s�'�/����?�}hH�_��oF}阢���;s��V܅�Υä�%]pw)4��Y �d��ѐ�']l�)��u+A��/d�msR�Ny�����
�Bun�����
Cj��|�	ț�U��0�T��G}��q�N��~��
@�
����\Ț��Q(�
-�e�0s���ц�� E~3��8۷�p�;���6E�)��
O?���Yd&E�/B�b/.-��,;��y������CB/Ŵ/
�Ca�4�j�������
-ɰ>3
-?ܢ(2��;	
���X����A18�����eۀ.���E;Ē�H�w�>}�
-6��
�����S9kKSjJ��.����y����c���
�N�Z����B
8��p�F{��L%m���g54(Ʀ���F_nGIe��=@.H�ۮ�@�i�2��N�A�Aj4�ȟ=������4��Ժ�`L���
�lU�Z���7��,;&�S�@�
�ZK at y!
����߄-HO��~�J�1�z&
�ն��%h��VYT�
F0QO���i3��}�q
j�u�L:����Mw�2N��V9��~��MF�ܘ
Ej6�c5g���YJ螒`��k�	�3v��R�
�4��(EH0�	o��(����]0��&)�32D��69F:�5���"˖W\Wæ�bd�uB_�<�22%�D��-	i&�����&�9g��(?B����
�B����oy{�`�^��}���%3Et�j���u�љ�rq�Ơ�#Ο�H��k�����
i19�ȳD�{f�>3�����Y���0TW�EH6[��Z�ê�\-4^��`}�h��˸�� F�
�z;�?nt���AsA}���&��1��ُ5=��Y-��H�?1��%�Cݟ���k�j�
��\Q8&Q
���kY]ʀ� 6M��n��B#��\Kͬ�
_b]Ȁ��}Ka��h�bM���BÔ	�b^���Ο�\M&�]�Fno�����M	Z�qv0:g*
k�u䎺LA�s7��u�U2r�K-՘��
R�t��,c�	V��H)���&4/a��l���+Nr�;O���Q�L �
���W"&.CXk'>��f��Y
���8s����x�#�z������
n�c�i�k�W%���oA�Rl�
ZJY
-,��BB������� ���p- -�Z�qJ?�g�`=����b�<�R�1��Q at JV�����֛}�T��
-��&�%��azk�g�����^E7
-�~�W�t�;s�Ĭ��C� ��}u��
,�%�W���3�X��C���"*�U�
-�E�?��x �Y:Z|�]2��/K�1��[��}����SH�
Bw�	N�Ngh�w�ľ�ĥ�����Π�^�N��
�ָ�B$R�
-�+��
��U�JziL����������?�|��eS4s
�Ո)w�,�㋌V둸�P�Qڗv�d���˜����9��!vЈKq+�	� ��
-��f���h�
��n�&�k�d�G���$׺H+F3���t�}�K5_���ڵD����|�J��܇%*�;v9:�u;7z
RުV%���4�)���Mr�����uW��D��?�+x ��pk=�٪Z^\.�jp��ђ+�s����<��v`:��+4���}c��U�v[��}��5���5�WЕ
-g��C|�w��VU����a���uӳl3
����E��O�*el�.
Pr�w��g��G3���)�KJ�����H4=ˠ�R>����"j�
<q�}��	H[�#t�t�D�L��=�i����<P����	�ڒ�,�zY���]@ĹbTK��&�1�C~
6L�xB���<b�ȨA�nZ��N��^(��F8�
-G-#�m�r�\���/�$�[��� �j�(
-o��'��,L�����]!�ec+�h�	-ʍ���C-6�X�"}%��1�ϕ�j���-p��M!����1���EO�����D�=�d�����7
�$ݍ���Ε jB<FM�
$�`
�E���@�,hV�0�,�
�ش�lUYWx�:�E
���������@
�F��@�\E���
�ȹL~���v��G�mg<���i�`��u?%��M�s��#�J�ϟ��
`�i�?]�^��@(��Yݙ�������o�u�	�w��:�k�g�4���o�w��)V��$5��Dl��5
�8�[˿�FKoi��ڡk�m
-6��TI9ȞQ�d�$u��2k&z�q̠��
-mZٸ5+��E��"�MB_�	��M1�]p[���nwf�H���.S��e �]a{Te�֐��粂��� E����^�[� ��-�Z��g�񍠅2E�K !|��qP!�۳k�)��Q�
��z�" C���$�V�� nxaV
�����O]p�x�%���ǻ{r�э��l&̨�ε>���<+�2��=j��WYD���d8
�M'߈� �j�H
�]�Q�"�d|�2g��(4	�J����
�#�(�WcsYx�S��)l,
\B��
��5)ppXI^ʼV^���Q�&���&*���n`�{_�5�dޭmҷ�)�s/;��ɦ򮇹Z�S�=u7�X�3~\+�L�(ONa<����
0��%��P.�k,���ł�C�z�UN�T�w�U�󘃢m(J
J�,�{�4�%�	�����W׍�Z�izΐ��r�w
��ʳE�#+i~���<���o~cl��Y��z;X�F���쫢o���f�pռ�
[kX|!Lqίy|�.�֑��3[��=ٵ�s
�i�a�2��sF�mj#�F.��'�Q��l̈́��z[ �$�����&� �"1��*{��~.���Vý��
C�gn���j-lY���%��d�Pc7�Xv�]>7��4-�����@�;H���4�IS?b|A~.���e���� @����{��b���7!؁�
� >A���c���w<ۭ��*�H��["�,�O�G
��RO؄ӽʵ�q�\��7�X��R
��=0���X�
�v�
�UoW�y���q���;��iC>g�	n/���?n�m�^b#�u���E"�dž���P��<�K*l�)�O�[�ߌ^���j�Q8��>�{]�
P�Z��� < +�_;��� �;
	��e�2_��k>r I����/�K%P����~W���9�8ל�U]�&�=���{�Yq�6��ϗ��&l�M�t�J7���"� �UMA[��ұk�
@d��qS"SK&�p�Ocsγ�,�fYkBa�	Eu�w$#yG1=�}~3VP
-�a��ju1[w�9�z��6Qn��E�Q�Cs�X�wW�*Ze�Ē=���%�F�Z�EYf���x�9Q��s�Q�i �!�T�l�C
EQF�5���Ʋ��@�՞����l�lWP-�f�@�HG܈�V�q�J�#����r
�#�b�2?��r2���*I�{>
-3�~�þ�����#{�3����@ &�G�7L5J���G���/��c����׵gcƫ�j2
��U�N�9��D.X�
-�V��Ws��r��"
\�Me��fʫ��K\
-���k�V��Zk	^���Ĩ��.zY���D-����� -�p�P�����s;\iTC�ѐ#
�A
�E�x�Y��vv��pfe�5|�+W�U,U�JG񂰋�o;!f�s�wW3
C�),��j�Ѭ
H�x ��n6��;ˮx9`/�U��uH?�v̄��k�� ����4ķ����WD��c��#�ۮ�q�s�&Ok�<���I��8b_w4�"D�[H�l���)��[|�֌�R��z�Wͭ�d\�p+�-��B�4��x��iuFN��8��`��9�Nw̍�$b��
�RĢ��iv��
b�s�2�SyK�Wໍ��Ћ��<�m њ2���[�$��S�;��rT&0$yx���C�C&@�]���HZ��{X�˙�
�)G����z���*	F�/��סB3�'|�'���k�5R��T��y�^�"i;�t� �����=g��
G�V�ɣIj!OT�'�u|5V� f�LtT�x}�
�x�
-C��}dTz�D��;j
�
4b��[��f�����k���"����1���%� �J��Z�O�"�f�i��Ȉ�W��@�xPc���	��=݇��򢫪b�
�tn�:�y���atX�./|��xT]��8֯S
�<'�V|[ɿ���y]
+��V�r�ѩ���a7
Mr�˚Bi
Ǿ7����BXL�� B���
6D�*����n�C���T)#�>\�]ڎ�`�+r���	N�~����Gᵳ=��á�n0�
+Ӱ�
-�Ֆ����}��**�|l���ƨ`�
i�m?!'�1�ə���줣`��JW��	�y����\�9���6���l�^4��o7���l�P��7��pm3y1{���U�Y�n3�#������G�{��
�{Kn��U�@�!G���g$+E
���h���L�J���{�k��'��F�އʳ�4���u�O�%��"�&���U�
-�Y#��!����*
�9�z��ߘ_Pf��jQQ���4{�
����ߠT�%�0�]���;�����6N蛒���.׆�Qix��PfԖ��~_�j�U
�JA��e'�i;	TT�۽_��a0�ȆIt�������R�ʣ�  Z�DS;V���$��=&Y�	���Ī}�<�$��4�2��w�(bHo@#K���7��-Ż;ZZu��J��.h3�k!�H��F���pf*��X�Z/�"vw�ȴ�:^Ւ݄��^YC���_�vρɢ�L*��o���e�n�N���Zm�*B0X���Ƽ5X�t���oVI ���D�"t��2TS]�.ZCk#�Ѷuۥz��
-�K�6+zM�е ��E/���\��(v.D�*�J�
�Hz4�WKn��� �6�>`�kȲ%��
�a��ј�+Ml+�C���k'��}�q����/��D���K3�[���	B�ޠ�
:c����Nٛc�[C�.H�/1�V%��܂ H��~�k3��m�$�I3=����|�&�+^�!�f�����s�=o(����i�N��`�L�.�J� x��KlG�s�B���6}�l�tV�J<
��p�
[��Ҍ��#��CBfIJ�����w=1��eZ['t����x�3S�nu�
��8�����{��
n��$�߳�.ׯ_�Λ��l�d`
:΅�G��
J��l�����k<Q^:H8�<N7?�7��1N#��z�&
~LJ�fz'J����a�"ϝˤr"-�
�e�-��^�wG2��<�����ϕopظJ�ȫ�;La!�#�Gj�$‰\NI �,~����":�ޟ�I�
�e͍����3��r3	�
�8�W�3�~r���:��+���
-n�:���.0����-�7�~ [c�y�~��q���|��[��e���� �^�"�J��5o���l�G
�y��Ͷc�Se!��<'�%�QGg�od�lY`�xUQ?�cB�� UT?x��>_�
~gۣ�R�t��O�;�

,���UCB���j�k��K�3��.�\X�
�73��m��/�


�/���q��
���]e�FL��N �
>i����P����D������;��i�#h+�z-�b{��j�v��o������t^�C�㨱#�7_���#ff���Dӝ��$��<k��aW;�
-2������S�7�z�2�v�].i֎�5%r��})��R�{Xij�W����*�+}�r7�c��8
-9T�H����d94�k�ZD�?�,/�
�)���}ڕ�~���a�!�#�:�%���+�P���B�M�^�#��ˉ񕊦�j��}��V�L��N���cl�[ƛ��4@���
��>	N�>΅AyiOɐ�3x��r풷V^ r��`-�E6��,��:,5�kqN ������0\Tfe`=�i� ��f`x��
V6������Mi���>r=c����
�5���EHv��\__ds���
�u���T�R�e�
�ӳ�ۮ���
��t
G_yT �t�e��4�l�v��d��	%eQK�X�O���G�z����>I��(#Fb
adOVV.>f������|�����_>
�_�F����X� <͜gUοx�k�a�Q׉��
v��s��(Z�����ڥ7�a�g+�Yp�
-.���aS�	eeB�/(��i|���0ƌYP77g�x�
�R�Ӵ
�^��
^32u��vg^;�l��gȄ
fbʼ��UE�Mz�e�Ac5�PV|"(q�[�}
e^~<��)��!>
7�)��t�4;E���\��(<�n$ƽ
-J�yg��k�ŗ��k��M�A0���
��G
��n<��ό9�s	u	N�1 �"�67��.�L�.b!�{���3�F]Z!˞�S]O��X�j��z{6��mD�CS
!��N4\�8�#��Q���U�Ib&���ݾ�Ay���
���z���
b4q\�y@L
̔8��~5��|ڕԼ�>�E�TO_�U��hG�P�t

��5�6�D����ҙ���D�� ���E#�=�x�[�u�R��ꃑ����ޭ����
kA:=���(A�fG�jiLj�9�
�k��ϕ���Y�A�5u��
�δ�w�0B���e/�:�(bg����1��|M;P��h-u]_u�
*�����#s%J
�j�x�C�����JV(
����������lA�k�k�4�]�J�7IF0=��b:�
��
z�e8�=�G��@ݯ$�7�=f钍2�P�	��:��z��[�H�>]�7æ�:��
-"
 ��HƵ��zŎ>H+?��x+��zU�
#���;
�d�
��h ��\H���*!���`�Sd�e�U��g�C���\5��x�GO�?>�
�����C�k������_o�O���yװ�NCCH|�7�#��H�
�5ܑ��� ОİC��� !�:HӢ).�͠C��?߾�x1+�u�q�F�e-�`�22^Q|U찋�@z5)P�v���z�i+J~ '�q`��	���t^��S���׀h7u�?���ں�nH��y[Š��e=a�n�
ѧ��U�OD�S�˗)*F���Z�?�+P��!T�FU&�`A�/����x�2(S�%�ƺ��0Y5���4�m�J$�A�\ct>!-�� ��%�Hj�
�
�%(
-X�1>e��@H�hH�V�9*������
E�׷�J|�S�
y��y���m����o`�-���<�2�V2/

y�X�t�A{���ʫgl�<l֥�8ɒ]:�L�٨�Gj��YF�
��F׳h��#E -��}��#��
-��NG
!�������fj�)���v�Q�}���Y=J����ᗻ�ɳ,㷲&�
�����*¼�5�M�TSǮb
N��r,��W��04��9��
k�
�Y��3
�5
-�,�z$�#�π��R���p<�׊�صn�Z�W�͞\m�^Ҧ��p�}ɳ1}A0�~�E���j��y�����4�,Œ��]��
 !��[�(_s�_/�b��1*C�1V;���� o���� �2

 ��$���l��s�X���%���O��h�kF�8�g��r؍F��wz�3-l��#`9D�=V��
Fo��9�Z��W�᯵��2p��n���}�N+�(�8|�m(�����[<Ull�s?�z�� � ɀ(��Ls�
�t���P�[0�@�g���O>�]�o3�M��Q�KHΏ
'9�QӀ��U�p��A)�K�
�hl�a2d�q�N�iso���=�
G^	=���˴�o~�Z����QI
��+	f�X]�����=�8�|���g��|�P�!)i^����s��^-pmD�"��	���Z����7���nݎN�o����f�?�h�@$�Y�oo�VF�[��4C
c�%E&��n�D�����>�f�z՝��	ۖ���X'���z����S�Q
����@W�M�&�6���
��H��x�����<����؏g
,f!�j�}"W63{��~E�Y���
fe�w���5S>��:��1u�U�u�a��D��WEM����
L/�
���~����(~#z6ջ2-�
�˳�q��eT
�(�Iz?��jg������X�vnZ@Ե�k٣2F9���<kel�u3������2X�$t�eW�P�
-;�c�B���$5֊m�T����;�y���
�
]u������H�3�$G�wZ�KM�J�u�\�:o��,��=������Ӧd��wd���q)��]��K��L�'���?*�&�
��h��cx����8i���,�MRij�pL��qv��rĶ���H�F!�۾�	 TO�H�kQ`	��7ߨ��fo�
%w�l�
�ٴ
�.�uf�����x�Ҭͼ���i4Y1G��*@�=�b:��
-g��N
-��`,3�B惁���yw@���zlU�i�6wdd�7�y!�j�^��4#[ {O%��R�}�TU�~Y�k
�2]=�0��ʧ�!J�҃�i���
���� ��
���K,�I�w� ���%�&';�sm�����
-endstream
-endobj
-2889 0 obj <<
-/Type /FontDescriptor
-/FontName /VFPSHM+NimbusRomNo9L-ReguItal
-/Flags 4
-/FontBBox [-169 -270 1010 924]
-/Ascent 669
-/CapHeight 669
-/Descent -193
-/ItalicAngle -15
-/StemV 78
-/XHeight 441
-/CharSet (/A/B/C/D/E/F/G/I/L/M/N/O/P/R/S/T/U/W/a/b/c/colon/comma/d/e/f/fi/fl/g/h/hyphen/i/j/k/l/m/n/o/one/p/parenleft/parenright/period/plus/q/quotedbl/quoteleft/quoteright/r/s/semicolon/slash/t/u/underscore/v/w/x/y/z/zero)
-/FontFile 2888 0 R
->> endobj
-2843 0 obj <<
-/Type /Encoding
-/Differences [2/fi/fl 33/exclam/quotedbl/numbersign 37/percent/ampersand/quoteright/parenleft/parenright 43/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater 64/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft 93/bracketright 95/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft 125/braceright 147/quotedblleft/quotedblright/bullet/endash 169/copyright]
->> endobj
-727 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /MALUHN+CMMI10
-/FontDescriptor 2855 0 R
-/FirstChar 46
-/LastChar 101
-/Widths 2842 0 R
->> endobj
-919 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /BTJATV+CMMI9
-/FontDescriptor 2857 0 R
-/FirstChar 46
-/LastChar 118
-/Widths 2840 0 R
->> endobj
-728 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /SWKUVX+CMR10
-/FontDescriptor 2859 0 R
-/FirstChar 48
-/LastChar 118
-/Widths 2841 0 R
->> endobj
-1307 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /OPBINH+CMR6
-/FontDescriptor 2861 0 R
-/FirstChar 48
-/LastChar 117
-/Widths 2837 0 R
->> endobj
-2619 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /UYHLKA+CMR7
-/FontDescriptor 2863 0 R
-/FirstChar 98
-/LastChar 117
-/Widths 2836 0 R
->> endobj
-920 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /KKSFXT+CMR9
-/FontDescriptor 2865 0 R
-/FirstChar 40
-/LastChar 118
-/Widths 2839 0 R
->> endobj
-144 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /VUZELH+CMSY10
-/FontDescriptor 2867 0 R
-/FirstChar 3
-/LastChar 21
-/Widths 2852 0 R
->> endobj
-146 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /ATFWDW+CMSY6
-/FontDescriptor 2869 0 R
-/FirstChar 3
-/LastChar 122
-/Widths 2850 0 R
->> endobj
-2620 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /NSJEOL+CMSY7
-/FontDescriptor 2871 0 R
-/FirstChar 48
-/LastChar 48
-/Widths 2835 0 R
->> endobj
-145 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /JRVZXP+CMSY8
-/FontDescriptor 2873 0 R
-/FirstChar 120
-/LastChar 122
-/Widths 2851 0 R
->> endobj
-440 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /GCEPBM+CMSY9
-/FontDescriptor 2875 0 R
-/FirstChar 3
-/LastChar 50
-/Widths 2845 0 R
->> endobj
-1306 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /CDCNLO+MSBM10
-/FontDescriptor 2877 0 R
-/FirstChar 81
-/LastChar 82
-/Widths 2838 0 R
->> endobj
-179 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /RKUQFJ+NimbusMonL-Regu
-/FontDescriptor 2879 0 R
-/FirstChar 33
-/LastChar 122
-/Widths 2848 0 R
-/Encoding 2843 0 R
->> endobj
-283 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /JOTYEC+NimbusMonL-ReguObli
-/FontDescriptor 2881 0 R
-/FirstChar 39
-/LastChar 121
-/Widths 2846 0 R
-/Encoding 2843 0 R
->> endobj
-177 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /PHKQQQ+NimbusRomNo9L-Medi
-/FontDescriptor 2883 0 R
-/FirstChar 2
-/LastChar 122
-/Widths 2849 0 R
-/Encoding 2843 0 R
->> endobj
-447 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /LCGFKO+NimbusRomNo9L-MediItal
-/FontDescriptor 2885 0 R
-/FirstChar 2
-/LastChar 122
-/Widths 2844 0 R
-/Encoding 2843 0 R
->> endobj
-143 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /SAGEMV+NimbusRomNo9L-Regu
-/FontDescriptor 2887 0 R
-/FirstChar 2
-/LastChar 169
-/Widths 2853 0 R
-/Encoding 2843 0 R
->> endobj
-202 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /VFPSHM+NimbusRomNo9L-ReguItal
-/FontDescriptor 2889 0 R
-/FirstChar 2
-/LastChar 122
-/Widths 2847 0 R
-/Encoding 2843 0 R
->> endobj
-147 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2890 0 R
-/Kids [138 0 R 174 0 R 199 0 R 209 0 R 216 0 R 223 0 R]
->> endobj
-236 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2890 0 R
-/Kids [230 0 R 239 0 R 245 0 R 251 0 R 259 0 R 266 0 R]
->> endobj
-284 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2890 0 R
-/Kids [278 0 R 287 0 R 293 0 R 298 0 R 303 0 R 309 0 R]
->> endobj
-339 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2890 0 R
-/Kids [336 0 R 377 0 R 406 0 R 430 0 R 462 0 R 507 0 R]
->> endobj
-582 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2890 0 R
-/Kids [559 0 R 610 0 R 666 0 R 705 0 R 722 0 R 758 0 R]
->> endobj
-801 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2890 0 R
-/Kids [789 0 R 819 0 R 868 0 R 908 0 R 953 0 R 990 0 R]
->> endobj
-1061 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2891 0 R
-/Kids [1040 0 R 1083 0 R 1130 0 R 1167 0 R 1202 0 R 1250 0 R]
->> endobj
-1314 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2891 0 R
-/Kids [1298 0 R 1337 0 R 1366 0 R 1419 0 R 1457 0 R 1503 0 R]
->> endobj
-1565 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2891 0 R
-/Kids [1547 0 R 1600 0 R 1636 0 R 1684 0 R 1740 0 R 1792 0 R]
->> endobj
-1825 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2891 0 R
-/Kids [1817 0 R 1850 0 R 1902 0 R 1931 0 R 1962 0 R 2013 0 R]
->> endobj
-2077 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2891 0 R
-/Kids [2061 0 R 2119 0 R 2190 0 R 2254 0 R 2333 0 R 2396 0 R]
->> endobj
-2467 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2891 0 R
-/Kids [2452 0 R 2513 0 R 2555 0 R 2571 0 R 2582 0 R 2592 0 R]
->> endobj
-2609 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2892 0 R
-/Kids [2602 0 R 2612 0 R 2623 0 R 2631 0 R 2641 0 R 2711 0 R]
->> endobj
-2771 0 obj <<
-/Type /Pages
-/Count 2
-/Parent 2892 0 R
-/Kids [2768 0 R 2832 0 R]
->> endobj
-2890 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 2893 0 R
-/Kids [147 0 R 236 0 R 284 0 R 339 0 R 582 0 R 801 0 R]
->> endobj
-2891 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 2893 0 R
-/Kids [1061 0 R 1314 0 R 1565 0 R 1825 0 R 2077 0 R 2467 0 R]
->> endobj
-2892 0 obj <<
-/Type /Pages
-/Count 8
-/Parent 2893 0 R
-/Kids [2609 0 R 2771 0 R]
->> endobj
-2893 0 obj <<
-/Type /Pages
-/Count 80
-/Kids [2890 0 R 2891 0 R 2892 0 R]
->> endobj
-2894 0 obj <<
-/Type /Outlines
-/First 7 0 R
-/Last 59 0 R
-/Count 7
->> endobj
-135 0 obj <<
-/Title 136 0 R
-/A 133 0 R
-/Parent 59 0 R
-/Prev 131 0 R
->> endobj
-131 0 obj <<
-/Title 132 0 R
-/A 129 0 R
-/Parent 59 0 R
-/Prev 127 0 R
-/Next 135 0 R
->> endobj
-127 0 obj <<
-/Title 128 0 R
-/A 125 0 R
-/Parent 59 0 R
-/Prev 123 0 R
-/Next 131 0 R
->> endobj
-123 0 obj <<
-/Title 124 0 R
-/A 121 0 R
-/Parent 59 0 R
-/Prev 119 0 R
-/Next 127 0 R
->> endobj
-119 0 obj <<
-/Title 120 0 R
-/A 117 0 R
-/Parent 59 0 R
-/Prev 115 0 R
-/Next 123 0 R
->> endobj
-115 0 obj <<
-/Title 116 0 R
-/A 113 0 R
-/Parent 59 0 R
-/Prev 111 0 R
-/Next 119 0 R
->> endobj
-111 0 obj <<
-/Title 112 0 R
-/A 109 0 R
-/Parent 59 0 R
-/Prev 107 0 R
-/Next 115 0 R
->> endobj
-107 0 obj <<
-/Title 108 0 R
-/A 105 0 R
-/Parent 59 0 R
-/Prev 103 0 R
-/Next 111 0 R
->> endobj
-103 0 obj <<
-/Title 104 0 R
-/A 101 0 R
-/Parent 59 0 R
-/Prev 99 0 R
-/Next 107 0 R
->> endobj
-99 0 obj <<
-/Title 100 0 R
-/A 97 0 R
-/Parent 59 0 R
-/Prev 95 0 R
-/Next 103 0 R
->> endobj
-95 0 obj <<
-/Title 96 0 R
-/A 93 0 R
-/Parent 59 0 R
-/Prev 91 0 R
-/Next 99 0 R
->> endobj
-91 0 obj <<
-/Title 92 0 R
-/A 89 0 R
-/Parent 59 0 R
-/Prev 87 0 R
-/Next 95 0 R
->> endobj
-87 0 obj <<
-/Title 88 0 R
-/A 85 0 R
-/Parent 59 0 R
-/Prev 83 0 R
-/Next 91 0 R
->> endobj
-83 0 obj <<
-/Title 84 0 R
-/A 81 0 R
-/Parent 59 0 R
-/Prev 79 0 R
-/Next 87 0 R
->> endobj
-79 0 obj <<
-/Title 80 0 R
-/A 77 0 R
-/Parent 59 0 R
-/Prev 75 0 R
-/Next 83 0 R
->> endobj
-75 0 obj <<
-/Title 76 0 R
-/A 73 0 R
-/Parent 59 0 R
-/Prev 71 0 R
-/Next 79 0 R
->> endobj
-71 0 obj <<
-/Title 72 0 R
-/A 69 0 R
-/Parent 59 0 R
-/Prev 67 0 R
-/Next 75 0 R
->> endobj
-67 0 obj <<
-/Title 68 0 R
-/A 65 0 R
-/Parent 59 0 R
-/Prev 63 0 R
-/Next 71 0 R
->> endobj
-63 0 obj <<
-/Title 64 0 R
-/A 61 0 R
-/Parent 59 0 R
-/Next 67 0 R
->> endobj
-59 0 obj <<
-/Title 60 0 R
-/A 57 0 R
-/Parent 2894 0 R
-/Prev 35 0 R
-/First 63 0 R
-/Last 135 0 R
-/Count -19
->> endobj
-55 0 obj <<
-/Title 56 0 R
-/A 53 0 R
-/Parent 35 0 R
-/Prev 51 0 R
->> endobj
-51 0 obj <<
-/Title 52 0 R
-/A 49 0 R
-/Parent 35 0 R
-/Prev 47 0 R
-/Next 55 0 R
->> endobj
-47 0 obj <<
-/Title 48 0 R
-/A 45 0 R
-/Parent 35 0 R
-/Prev 43 0 R
-/Next 51 0 R
->> endobj
-43 0 obj <<
-/Title 44 0 R
-/A 41 0 R
-/Parent 35 0 R
-/Prev 39 0 R
-/Next 47 0 R
->> endobj
-39 0 obj <<
-/Title 40 0 R
-/A 37 0 R
-/Parent 35 0 R
-/Next 43 0 R
->> endobj
-35 0 obj <<
-/Title 36 0 R
-/A 33 0 R
-/Parent 2894 0 R
-/Prev 27 0 R
-/Next 59 0 R
-/First 39 0 R
-/Last 55 0 R
-/Count -5
->> endobj
-31 0 obj <<
-/Title 32 0 R
-/A 29 0 R
-/Parent 27 0 R
->> endobj
-27 0 obj <<
-/Title 28 0 R
-/A 25 0 R
-/Parent 2894 0 R
-/Prev 19 0 R
-/Next 35 0 R
-/First 31 0 R
-/Last 31 0 R
-/Count -1
->> endobj
-23 0 obj <<
-/Title 24 0 R
-/A 21 0 R
-/Parent 19 0 R
->> endobj
-19 0 obj <<
-/Title 20 0 R
-/A 17 0 R
-/Parent 2894 0 R
-/Prev 15 0 R
-/Next 27 0 R
-/First 23 0 R
-/Last 23 0 R
-/Count -1
->> endobj
-15 0 obj <<
-/Title 16 0 R
-/A 13 0 R
-/Parent 2894 0 R
-/Prev 11 0 R
-/Next 19 0 R
->> endobj
-11 0 obj <<
-/Title 12 0 R
-/A 9 0 R
-/Parent 2894 0 R
-/Prev 7 0 R
-/Next 15 0 R
->> endobj
-7 0 obj <<
-/Title 8 0 R
-/A 5 0 R
-/Parent 2894 0 R
-/Next 11 0 R
->> endobj
-2895 0 obj <<
-/Names [(Doc-Start) 142 0 R (GFDL) 290 0 R (GFDL_GFDL) 181 0 R (GPL) 212 0 R (GPL_GPL) 182 0 R (group__Datatypes) 512 0 R]
-/Limits [(Doc-Start) (group__Datatypes)]
->> endobj
-2896 0 obj <<
-/Names [(group__Datatypes_g0764a0e607ec4de08a53e6d3b109a714) 679 0 R (group__Datatypes_g0aac22e2dc312e8c41418dd8d59701f8) 716 0 R (group__Datatypes_g12c368fa0bdd20b907d9ab8e92e999d2) 618 0 R (group__Datatypes_g13f1f84a46d70b91637cb9d6af54af6b) 678 0 R (group__Datatypes_g1822baf29ede5879f1c6ed77f0ca5984) 524 0 R (group__Datatypes_g1fd59c6502c8cbb9dbb802e4af34c940) 709 0 R]
-/Limits [(group__Datatypes_g0764a0e607ec4de08a53e6d3b109a714) (group__Datatypes_g1fd59c6502c8cbb9dbb802e4af34c940)]
->> endobj
-2897 0 obj <<
-/Names [(group__Datatypes_g25f4b655851f0f561cdddf94f667e833) 518 0 R (group__Datatypes_g2f2a1aa8fbda2e53218cecba593f7427) 625 0 R (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) 514 0 R (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) 572 0 R (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) 565 0 R (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) 520 0 R]
-/Limits [(group__Datatypes_g25f4b655851f0f561cdddf94f667e833) (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3)]
->> endobj
-2898 0 obj <<
-/Names [(group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) 574 0 R (group__Datatypes_g56026e685fb0fe336a5f346580f84ff0) 677 0 R (group__Datatypes_g56e2574a7d2f006333151867599e8fa3) 614 0 R (group__Datatypes_g576b0ae433a83ef58a3c174a86623582) 629 0 R (group__Datatypes_g5a7338130cf6d33d28dd40ed560a24d6) 523 0 R (group__Datatypes_g5b805182b79b6fb873d0624f7dfd2ee1) 692 0 R]
-/Limits [(group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) (group__Datatypes_g5b805182b79b6fb873d0624f7dfd2ee1)]
->> endobj
-2899 0 obj <<
-/Names [(group__Datatypes_g5e128d772c07f54f135cac19e9a6ffbe) 575 0 R (group__Datatypes_g5e59406ab43e2f1851ea2e066137b4bd) 573 0 R (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) 567 0 R (group__Datatypes_g64dda1bda497aab131fc204ed9e55894) 571 0 R (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) 627 0 R (group__Datatypes_g735949470e98393af90b12f534b06cba) 711 0 R]
-/Limits [(group__Datatypes_g5e128d772c07f54f135cac19e9a6ffbe) (group__Datatypes_g735949470e98393af90b12f534b06cba)]
->> endobj
-2900 0 obj <<
-/Names [(group__Datatypes_g747bcaa4d01a8065758096b1ff0eb551) 566 0 R (group__Datatypes_g7593947fa164900140d09c08b56c6cd1) 676 0 R (group__Datatypes_g763a5fa98155383055703dc08cb3e11a) 696 0 R (group__Datatypes_g82657533544652eb3ec1334a72da137e) 623 0 R (group__Datatypes_g841003bef28b1052aa2b5297a529d4d8) 714 0 R (group__Datatypes_g84f27605574583d674403f6d71a73a24) 521 0 R]
-/Limits [(group__Datatypes_g747bcaa4d01a8065758096b1ff0eb551) (group__Datatypes_g84f27605574583d674403f6d71a73a24)]
->> endobj
-2901 0 obj <<
-/Names [(group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) 562 0 R (group__Datatypes_g97b246f11809448c53f089779c0019a1) 620 0 R (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) 613 0 R (group__Datatypes_gb9fc89c0e89d4487a1f69a26849b682a) 710 0 R (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) 621 0 R (group__Datatypes_gbf20fcbeb06790546a112b72eb0811f8) 564 0 R]
-/Limits [(group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) (group__Datatypes_gbf20fcbeb06790546a112b72eb0811f8)]
->> endobj
-2902 0 obj <<
-/Names [(group__Datatypes_gc0d389ac714f0d4d3e6950fd692e7443) 581 0 R (group__Datatypes_gc37b94ca7dc0c8bb9797e6d91e16492e) 680 0 R (group__Datatypes_gc803b1dab9dd0072acb6fdda204efd26) 568 0 R (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) 522 0 R (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) 569 0 R (group__Datatypes_gdb1edf876e8c62fb7d2630a9280224f1) 622 0 R]
-/Limits [(group__Datatypes_gc0d389ac714f0d4d3e6950fd692e7443) (group__Datatypes_gdb1edf876e8c62fb7d2630a9280224f1)]
->> endobj
-2903 0 obj <<
-/Names [(group__Datatypes_gdc14acd60d7235a72f88850b9a917eca) 675 0 R (group__Datatypes_gdc58d1f680927df3786f41bdb47fa26b) 517 0 R (group__Datatypes_ge311117a92fca76fc66fe3442ff6d09f) 715 0 R (group__Datatypes_ge439fa617415f2153f4793041c41bd9f) 712 0 R (group__Datatypes_ge50df8ccfc72a20b58ab7854ad2ccba9) 515 0 R (group__Datatypes_ge5679e4f41db32b7b91dfc81574fc1d6) 681 0 R]
-/Limits [(group__Datatypes_gdc14acd60d7235a72f88850b9a917eca) (group__Datatypes_ge5679e4f41db32b7b91dfc81574fc1d6)]
->> endobj
-2904 0 obj <<
-/Names [(group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) 577 0 R (group__Datatypes_ge8e2db00ec6575b865057ffd3195327b) 674 0 R (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) 619 0 R (group__Datatypes_gedee0800f6e695c36ace737095ccef5b) 519 0 R (group__Datatypes_gef15021f65d2810602a9a1bd06fc878d) 713 0 R (group__Datatypes_gefc9900fe07bfdee6310e4705ea0bfec) 579 0 R]
-/Limits [(group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) (group__Datatypes_gefc9900fe07bfdee6310e4705ea0bfec)]
->> endobj
-2905 0 obj <<
-/Names [(group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) 616 0 R (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) 516 0 R (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) 631 0 R (group__Datatypes_gf449476be1ec42bab45fb86e7478bdf9) 687 0 R (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) 580 0 R (group__Datatypes_gg5b805182b79b6fb873d0624f7dfd2ee13e5170687052e3962de866e2ab44d8f8) 695 0 R]
-/Limits [(group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) (group__Datatypes_gg5b805182b79b6fb873d0624f7dfd2ee13e5170687052e3962de866e2ab44d8f8)]
->> endobj
-2906 0 obj <<
-/Names [(group__Datatypes_gg5b805182b79b6fb873d0624f7dfd2ee159042baec996bc386154a1825ad56de0) 693 0 R (group__Datatypes_gg5b805182b79b6fb873d0624f7dfd2ee1a05a8932097b094ca179e99e2d80b6ae) 694 0 R (group__Datatypes_gge5679e4f41db32b7b91dfc81574fc1d681067f9cf8984d1b3febca4488a137e1) 682 0 R (group__Datatypes_gge5679e4f41db32b7b91dfc81574fc1d69029c33b6876c560bf78b5b86d0367c0) 686 0 R (group__Datatypes_gge5679e4f41db32b7b91dfc81574fc1d69e4eb4979711bf6699ec8e0f335de476) 685 0 R (group__Dataty [...]
-/Limits [(group__Datatypes_gg5b805182b79b6fb873d0624f7dfd2ee159042baec996bc386154a1825ad56de0) (group__Datatypes_gge5679e4f41db32b7b91dfc81574fc1d6a166787e251ef2cbaad9213d8e9d2653)]
->> endobj
-2907 0 obj <<
-/Names [(group__Datatypes_gge5679e4f41db32b7b91dfc81574fc1d6f8c3e04d66cd611db5efcd92a6c52425) 683 0 R (group__Datatypes_ggf449476be1ec42bab45fb86e7478bdf91304ca7fa8d3e734d1677709a37d5d28) 689 0 R (group__Datatypes_ggf449476be1ec42bab45fb86e7478bdf9132c76cbee67b5bc2ac9e09af9c68c4f) 688 0 R (group__Datatypes_ggf449476be1ec42bab45fb86e7478bdf9b32d9464a7101eb1893562646a3cdd1a) 691 0 R (group__Datatypes_ggf449476be1ec42bab45fb86e7478bdf9fdbee5cd06ff135cbf9614b661c9e923) 690 0 R (group__Error) [...]
-/Limits [(group__Datatypes_gge5679e4f41db32b7b91dfc81574fc1d6f8c3e04d66cd611db5efcd92a6c52425) (group__Error)]
->> endobj
-2908 0 obj <<
-/Names [(group__Error_g0c0ab09a97e49f85f42c966e14cfdee6) 470 0 R (group__Error_gd6765993c08a2ae2f0ef377f822f4d33) 481 0 R (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee603b444004b1031ddb1a51289b9d83106) 479 0 R (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee60860beb1b1c54c9f774b532d92404992) 477 0 R (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee6093ae02f8ceebbc40321d1eaf186f726) 473 0 R (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee66aa28e72200f879cbb83a36b60644fb2) 475 0 R]
-/Limits [(group__Error_g0c0ab09a97e49f85f42c966e14cfdee6) (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee66aa28e72200f879cbb83a36b60644fb2)]
->> endobj
-2909 0 obj <<
-/Names [(group__Error_gg0c0ab09a97e49f85f42c966e14cfdee67dae659f72f654afae1c5c6f331192a3) 478 0 R (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee68c65fedb9893ebb49394a3cff2f19a49) 474 0 R (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee6b42a97917f263e8305d561f52cbd9c57) 480 0 R (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee6bd22c4eaabb49bcb6c654a25e402c64a) 476 0 R (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee6f29a62bdfcf44dbeec14afb409035438) 472 0 R (group__Init) 381 0 R]
-/Limits [(group__Error_gg0c0ab09a97e49f85f42c966e14cfdee67dae659f72f654afae1c5c6f331192a3) (group__Init)]
->> endobj
-2910 0 obj <<
-/Names [(group__Init_g4af2931282f6a5f1b3444fb8e833d6a1) 396 0 R (group__Init_g635128363efd9f4c8c63e21702f40183) 397 0 R (group__Init_g7c98bac1ccfac398657571409a3fcd9c) 395 0 R (group__Init_gfdb2c887a3a2d1daf54a764d0d7f7f76) 398 0 R (group__PPL__C__interface) 380 0 R (group__Version) 415 0 R]
-/Limits [(group__Init_g4af2931282f6a5f1b3444fb8e833d6a1) (group__Version)]
->> endobj
-2911 0 obj <<
-/Names [(group__Version_g63fef7041da34ac5bb372a2535d99377) 445 0 R (group__Version_g676f27ad949159a3b79577f78870f60f) 438 0 R (group__Version_g79bd3696a302bb721ef8168fa5d650fb) 420 0 R (group__Version_g7a529f51bfebdd4b3e69c866dced9bc1) 433 0 R (group__Version_g8458e58a5e857de11c35ce3076a70ab8) 418 0 R (group__Version_ga50f472bf6d1869a2fc1500d2fdf8213) 437 0 R]
-/Limits [(group__Version_g63fef7041da34ac5bb372a2535d99377) (group__Version_ga50f472bf6d1869a2fc1500d2fdf8213)]
->> endobj
-2912 0 obj <<
-/Names [(group__Version_gb51f10ea37de5299e9bc840afa206d4e) 436 0 R (group__Version_gbadfeba0a415d210cdd6d7309365e800) 419 0 R (group__Version_gbdf8f4e9416010573d48e21cf0584762) 435 0 R (group__Version_gc6abee034f6ac000f15d1206fdeb8316) 439 0 R (group__Version_ge19dfe022c51c874d905e2a7c81c18f1) 417 0 R (index) 201 0 R]
-/Limits [(group__Version_gb51f10ea37de5299e9bc840afa206d4e) (index)]
->> endobj
-2913 0 obj <<
-/Names [(interfaceppl__Coefficient__tag) 340 0 R (interfaceppl__Coefficient__tag_001b2a61c18a500a446151a9024de3fe) 769 0 R (interfaceppl__Coefficient__tag_1e3bb22af6b60660fcb8d201b09ec7ed) 793 0 R (interfaceppl__Coefficient__tag_1ef606afeb25edded051be3b0c728086) 766 0 R (interfaceppl__Coefficient__tag_249071ec2d19ecedaaf4e32ca8fc4a8d) 794 0 R (interfaceppl__Coefficient__tag_39db5035590b4bf7017a43cdcca6a49e) 765 0 R]
-/Limits [(interfaceppl__Coefficient__tag) (interfaceppl__Coefficient__tag_39db5035590b4bf7017a43cdcca6a49e)]
->> endobj
-2914 0 obj <<
-/Names [(interfaceppl__Coefficient__tag_474cce1b8348a126a8496cea7952a1f1) 770 0 R (interfaceppl__Coefficient__tag_526a2d8ad27e00b633408a36830dc2ae) 771 0 R (interfaceppl__Coefficient__tag_5fa6bcd4ec3cf844646033688f2fdf0a) 762 0 R (interfaceppl__Coefficient__tag_a1816497499ee569563a6d97a4ff553a) 792 0 R (interfaceppl__Coefficient__tag_af38dc5a17ef89e16c45f363397afb59) 763 0 R (interfaceppl__Coefficient__tag_be5af687ddf08c6379bd115d210ac22f) 768 0 R]
-/Limits [(interfaceppl__Coefficient__tag_474cce1b8348a126a8496cea7952a1f1) (interfaceppl__Coefficient__tag_be5af687ddf08c6379bd115d210ac22f)]
->> endobj
-2915 0 obj <<
-/Names [(interfaceppl__Coefficient__tag_cad04388edea0d80b20c40266a3c3f14) 767 0 R (interfaceppl__Coefficient__tag_f0b12578ecdb0571ca51ee09789b2fc3) 772 0 R (interfaceppl__Coefficient__tag_fabc584f4f391708d6c0d7c47030471a) 764 0 R (interfaceppl__Congruence__System__const__iterator__tag) 341 0 R (interfaceppl__Congruence__System__const__iterator__tag_38ece4277d5885940d45d6c8465ca19a) 798 0 R (interfaceppl__Congruence__System__const__iterator__tag_74f9a28eb09ee718502409ab43b657d4) 828 0 R]
-/Limits [(interfaceppl__Coefficient__tag_cad04388edea0d80b20c40266a3c3f14) (interfaceppl__Congruence__System__const__iterator__tag_74f9a28eb09ee718502409ab43b657d4)]
->> endobj
-2916 0 obj <<
-/Names [(interfaceppl__Congruence__System__const__iterator__tag_7ac19545b812b9ed2261c4224a6b9e9a) 826 0 R (interfaceppl__Congruence__System__const__iterator__tag_7f1fc328bf8f0d2ec92a6599ce7fe2d3) 824 0 R (interfaceppl__Congruence__System__const__iterator__tag_9af8efc183a5a4cd4475146207f92c8a) 797 0 R (interfaceppl__Congruence__System__const__iterator__tag_9c7ea131b285ad7aaefbc1e2cf579512) 800 0 R (interfaceppl__Congruence__System__const__iterator__tag_de6bd909f8bb4bcdaed4dced85c1f5f1) 82 [...]
-/Limits [(interfaceppl__Congruence__System__const__iterator__tag_7ac19545b812b9ed2261c4224a6b9e9a) (interfaceppl__Congruence__System__tag)]
->> endobj
-2917 0 obj <<
-/Names [(interfaceppl__Congruence__System__tag_19d1974dd5b293a48b8f2de6fa3c2c8b) 887 0 R (interfaceppl__Congruence__System__tag_2c60071e2c7adec51fc7175ddb7a3bff) 881 0 R (interfaceppl__Congruence__System__tag_3b54824f0f53bf664c3114fb67557115) 912 0 R (interfaceppl__Congruence__System__tag_3ce50d0fcf796935652563144194ccf7) 884 0 R (interfaceppl__Congruence__System__tag_45fb5ebe8a9c33d1e73593b09d8ab877) 911 0 R (interfaceppl__Congruence__System__tag_56b9fe489466e7376b72bc99b4f99126) 883 0 R]
-/Limits [(interfaceppl__Congruence__System__tag_19d1974dd5b293a48b8f2de6fa3c2c8b) (interfaceppl__Congruence__System__tag_56b9fe489466e7376b72bc99b4f99126)]
->> endobj
-2918 0 obj <<
-/Names [(interfaceppl__Congruence__System__tag_5a6326e465cce738cb09fdd8df1d92ba) 879 0 R (interfaceppl__Congruence__System__tag_68de3cffc4bbfa2a79c06c51adb653a8) 874 0 R (interfaceppl__Congruence__System__tag_86691cc44e4ef41d379ec2477221f0de) 914 0 R (interfaceppl__Congruence__System__tag_8cba47c10a4d9a84b170b37932dc04e5) 876 0 R (interfaceppl__Congruence__System__tag_8ce02af4c13862f7988ad3e43b5290cf) 878 0 R (interfaceppl__Congruence__System__tag_a8fd21a451fe377a328d750951ce36f3) 875 0 R]
-/Limits [(interfaceppl__Congruence__System__tag_5a6326e465cce738cb09fdd8df1d92ba) (interfaceppl__Congruence__System__tag_a8fd21a451fe377a328d750951ce36f3)]
->> endobj
-2919 0 obj <<
-/Names [(interfaceppl__Congruence__System__tag_beb7cdeabf40c32d3aa0c33c0499bf97) 913 0 R (interfaceppl__Congruence__System__tag_e5f214d520a1f232251bee39685b62a2) 871 0 R (interfaceppl__Congruence__System__tag_e88c914d522014d2d181278bcfa9222f) 885 0 R (interfaceppl__Congruence__System__tag_ed43bafe74e2b291d7b980c6ee8f3d5f) 833 0 R (interfaceppl__Congruence__System__tag_f03d1a4f7f355971ac31ec1e4cb7297d) 873 0 R (interfaceppl__Congruence__System__tag_f6cb7e34c1083df796fb12aa463739e6) 832 0 R]
-/Limits [(interfaceppl__Congruence__System__tag_beb7cdeabf40c32d3aa0c33c0499bf97) (interfaceppl__Congruence__System__tag_f6cb7e34c1083df796fb12aa463739e6)]
->> endobj
-2920 0 obj <<
-/Names [(interfaceppl__Congruence__tag) 343 0 R (interfaceppl__Congruence__tag_0399dc1a987546af5d0491e72a6a05e4) 957 0 R (interfaceppl__Congruence__tag_08a4701b629d734ea0e11231a34514b0) 922 0 R (interfaceppl__Congruence__tag_10d11983038c7047547f4a68f8ea2b70) 962 0 R (interfaceppl__Congruence__tag_2845e4528b7b42c6c6527daceee21312) 956 0 R (interfaceppl__Congruence__tag_29295feb65378f2ba04c202f4b9a1bb3) 967 0 R]
-/Limits [(interfaceppl__Congruence__tag) (interfaceppl__Congruence__tag_29295feb65378f2ba04c202f4b9a1bb3)]
->> endobj
-2921 0 obj <<
-/Names [(interfaceppl__Congruence__tag_4ea3e6a8b8e929e318a5c1c450667d10) 965 0 R (interfaceppl__Congruence__tag_553952be8bff48ab2a4a8b2820efc047) 959 0 R (interfaceppl__Congruence__tag_5e1c7e98053b2262c5f56c46e2f04f05) 958 0 R (interfaceppl__Congruence__tag_6871446de8be708c37b2bedbf12c9b76) 921 0 R (interfaceppl__Congruence__tag_6d24fa81c885803e34fadd9332287d2e) 917 0 R (interfaceppl__Congruence__tag_b67c8dacaa1610fe5ea9efe67263477d) 923 0 R]
-/Limits [(interfaceppl__Congruence__tag_4ea3e6a8b8e929e318a5c1c450667d10) (interfaceppl__Congruence__tag_b67c8dacaa1610fe5ea9efe67263477d)]
->> endobj
-2922 0 obj <<
-/Names [(interfaceppl__Congruence__tag_b76a7c2b32bbc5472f87b3fae17f5a0d) 961 0 R (interfaceppl__Congruence__tag_caca085247f8483085877e21527a9cd6) 963 0 R (interfaceppl__Congruence__tag_dd70a09fb9b3cb0b8b7ce79d8d9ec14c) 966 0 R (interfaceppl__Congruence__tag_f39f78c492db753013cbfd0177ffea60) 968 0 R (interfaceppl__Congruence__tag_f61686ed9ede21b05016ee29f9de882b) 964 0 R (interfaceppl__Constraint__System__const__iterator__tag) 344 0 R]
-/Limits [(interfaceppl__Congruence__tag_b76a7c2b32bbc5472f87b3fae17f5a0d) (interfaceppl__Constraint__System__const__iterator__tag)]
->> endobj
-2923 0 obj <<
-/Names [(interfaceppl__Constraint__System__const__iterator__tag_061420fd93cf031e877897142071c67d) 994 0 R (interfaceppl__Constraint__System__const__iterator__tag_18f6401539b34122053f5d76da0c3282) 999 0 R (interfaceppl__Constraint__System__const__iterator__tag_60ac68b3806bdf2e8b4805d661c52def) 995 0 R (interfaceppl__Constraint__System__const__iterator__tag_93c2b042e4c644ba6052c0a0130c74ff) 1001 0 R (interfaceppl__Constraint__System__const__iterator__tag_9427aa22f07ee35e906d05bcd352e1e9) 1 [...]
-/Limits [(interfaceppl__Constraint__System__const__iterator__tag_061420fd93cf031e877897142071c67d) (interfaceppl__Constraint__System__const__iterator__tag_bd830cdbf47ea1e5f0cb88ba4e3dddd7)]
->> endobj
-2924 0 obj <<
-/Names [(interfaceppl__Constraint__System__const__iterator__tag_dc0293455632f1e58de03ee68caa785a) 997 0 R (interfaceppl__Constraint__System__tag) 345 0 R (interfaceppl__Constraint__System__tag_06731c2e3b3d14dceffb5b81f1447bc8) 1088 0 R (interfaceppl__Constraint__System__tag_0d28be41ac786db82ce3cb24e2db5543) 1052 0 R (interfaceppl__Constraint__System__tag_1b4e8ec21c2f4b2b925c4e11474062b9) 1056 0 R (interfaceppl__Constraint__System__tag_27f2fdd3945057760e252740c98573eb) 1059 0 R]
-/Limits [(interfaceppl__Constraint__System__const__iterator__tag_dc0293455632f1e58de03ee68caa785a) (interfaceppl__Constraint__System__tag_27f2fdd3945057760e252740c98573eb)]
->> endobj
-2925 0 obj <<
-/Names [(interfaceppl__Constraint__System__tag_2967727ea790f1d517e1529e3f6be79e) 1045 0 R (interfaceppl__Constraint__System__tag_3bd9634d21689bd4b0cbcb476a101e92) 1092 0 R (interfaceppl__Constraint__System__tag_4316d3e1fd40ef324f4f9ac970481c9f) 1090 0 R (interfaceppl__Constraint__System__tag_442076de6b59703f82c552f7e70aad72) 1055 0 R (interfaceppl__Constraint__System__tag_56d19de5207d94e358a433995ce9730c) 1050 0 R (interfaceppl__Constraint__System__tag_5e22cd8ea46cdef0e09027e6177fc838) 1 [...]
-/Limits [(interfaceppl__Constraint__System__tag_2967727ea790f1d517e1529e3f6be79e) (interfaceppl__Constraint__System__tag_5e22cd8ea46cdef0e09027e6177fc838)]
->> endobj
-2926 0 obj <<
-/Names [(interfaceppl__Constraint__System__tag_6b54d1a028c5a0eff158b33ce1a6670f) 1046 0 R (interfaceppl__Constraint__System__tag_7a018b29b6f334f666391ec729265c25) 1091 0 R (interfaceppl__Constraint__System__tag_984fd654d7b169e74d13f6207d48fefb) 1048 0 R (interfaceppl__Constraint__System__tag_a975ef75ddb5359966ff21eecca491d0) 1057 0 R (interfaceppl__Constraint__System__tag_b1988eecd5bca9d4ad8dbd128c885b9b) 1044 0 R (interfaceppl__Constraint__System__tag_c19488a8f4e64cb797b8402ea44b456d) 1 [...]
-/Limits [(interfaceppl__Constraint__System__tag_6b54d1a028c5a0eff158b33ce1a6670f) (interfaceppl__Constraint__System__tag_c19488a8f4e64cb797b8402ea44b456d)]
->> endobj
-2927 0 obj <<
-/Names [(interfaceppl__Constraint__System__tag_c8105464b2dbee48f8646bc2c2f1f2d8) 1094 0 R (interfaceppl__Constraint__System__tag_d9b9ef9435b7a3bc8d92435ccf1cc0d7) 1053 0 R (interfaceppl__Constraint__System__tag_f8ebe9c0ce769746c2d2d01f6fcb4c91) 1087 0 R (interfaceppl__Constraint__tag) 346 0 R (interfaceppl__Constraint__tag_08451f3fa991dc14b1b8874bdefd7cf2) 1172 0 R (interfaceppl__Constraint__tag_0ed54f6ac264a58059f51c7fe33ab787) 1134 0 R]
-/Limits [(interfaceppl__Constraint__System__tag_c8105464b2dbee48f8646bc2c2f1f2d8) (interfaceppl__Constraint__tag_0ed54f6ac264a58059f51c7fe33ab787)]
->> endobj
-2928 0 obj <<
-/Names [(interfaceppl__Constraint__tag_1c416a6d6a359f2f9e9d33af7dc32ea8) 1143 0 R (interfaceppl__Constraint__tag_2d4948b195e743f39601a13610fcf94f) 1139 0 R (interfaceppl__Constraint__tag_380ed65a246cd38c5ca3893b40eb4603) 1141 0 R (interfaceppl__Constraint__tag_414a473844efce3515611fdc6b26e4de) 1146 0 R (interfaceppl__Constraint__tag_702543ee828ef523fb5fe5ffdaf25925) 1138 0 R (interfaceppl__Constraint__tag_87fc73217faaf213d5b5a810272be545) 1171 0 R]
-/Limits [(interfaceppl__Constraint__tag_1c416a6d6a359f2f9e9d33af7dc32ea8) (interfaceppl__Constraint__tag_87fc73217faaf213d5b5a810272be545)]
->> endobj
-2929 0 obj <<
-/Names [(interfaceppl__Constraint__tag_8c466c744746ef7249afa54667470cf5) 1142 0 R (interfaceppl__Constraint__tag_90e279d0af3491d3cc793595e3e1bbff) 1170 0 R (interfaceppl__Constraint__tag_94ca29d276a68f3f75aa62c8ab6109e4) 1173 0 R (interfaceppl__Constraint__tag_9a30e394a9c84bb9d2debda31433e6b4) 1147 0 R (interfaceppl__Constraint__tag_adbcd3b735dae0f714d1134cf8e6b911) 1145 0 R (interfaceppl__Constraint__tag_b93e22d57d1f5d94ae97ba1b9de9e3f9) 1136 0 R]
-/Limits [(interfaceppl__Constraint__tag_8c466c744746ef7249afa54667470cf5) (interfaceppl__Constraint__tag_b93e22d57d1f5d94ae97ba1b9de9e3f9)]
->> endobj
-2930 0 obj <<
-/Names [(interfaceppl__Constraint__tag_bfb19498f2647b44344c6a84fdd6cd2d) 1137 0 R (interfaceppl__Constraint__tag_c21bd81d2f33da4dc915020bf16c801a) 1140 0 R (interfaceppl__Generator__System__const__iterator__tag) 383 0 R (interfaceppl__Generator__System__const__iterator__tag_51dfb5223b7487379681d4cc1583917f) 1181 0 R (interfaceppl__Generator__System__const__iterator__tag_7d4bec3e6101e95b57973dcab5880a51) 1207 0 R (interfaceppl__Generator__System__const__iterator__tag_b823e62915ff895212640 [...]
-/Limits [(interfaceppl__Constraint__tag_bfb19498f2647b44344c6a84fdd6cd2d) (interfaceppl__Generator__System__const__iterator__tag_b823e62915ff895212640119f062252c)]
->> endobj
-2931 0 obj <<
-/Names [(interfaceppl__Generator__System__const__iterator__tag_c5344d92361779d92fcb36acf2d406ae) 1209 0 R (interfaceppl__Generator__System__const__iterator__tag_cb94e9072062c0827a16766cef2c1a5e) 1205 0 R (interfaceppl__Generator__System__const__iterator__tag_cd03b90ea728537b78a669806309a5c0) 1177 0 R (interfaceppl__Generator__System__const__iterator__tag_e2334b2eefe8cae2ad750dfea1f7cade) 1179 0 R (interfaceppl__Generator__System__tag) 384 0 R (interfaceppl__Generator__System__tag_067f83b [...]
-/Limits [(interfaceppl__Generator__System__const__iterator__tag_c5344d92361779d92fcb36acf2d406ae) (interfaceppl__Generator__System__tag_067f83ba740e5b6c0c585a5175723a0b)]
->> endobj
-2932 0 obj <<
-/Names [(interfaceppl__Generator__System__tag_33e20d1de127c9232d2d1188bee532ef) 1213 0 R (interfaceppl__Generator__System__tag_3d3687abfb3878a67fca687b8e4ff0b9) 1265 0 R (interfaceppl__Generator__System__tag_3f5244b219701d5ba5939982a1d11d97) 1263 0 R (interfaceppl__Generator__System__tag_540cea530eaa9c142b16fbf01f781673) 1253 0 R (interfaceppl__Generator__System__tag_7752ae55e7cd4d014f6498348ef47865) 1214 0 R (interfaceppl__Generator__System__tag_888341fcf1079aaaa4dd7b532662729c) 1256 0 R]
-/Limits [(interfaceppl__Generator__System__tag_33e20d1de127c9232d2d1188bee532ef) (interfaceppl__Generator__System__tag_888341fcf1079aaaa4dd7b532662729c)]
->> endobj
-2933 0 obj <<
-/Names [(interfaceppl__Generator__System__tag_a7260438cfc5fa383c7fb80b127f8315) 1257 0 R (interfaceppl__Generator__System__tag_ad90ffcd536cd0d48ee183bca02103fc) 1269 0 R (interfaceppl__Generator__System__tag_b1316806c765a595ddfa4de5e8d971f6) 1216 0 R (interfaceppl__Generator__System__tag_ba231f6ac03d82cbf693a6a29a5c2665) 1267 0 R (interfaceppl__Generator__System__tag_e12a1e70aa5010e6617de857f51574a8) 1266 0 R (interfaceppl__Generator__System__tag_e9bc39a46753f158644428f3c01e73a3) 1261 0 R]
-/Limits [(interfaceppl__Generator__System__tag_a7260438cfc5fa383c7fb80b127f8315) (interfaceppl__Generator__System__tag_e9bc39a46753f158644428f3c01e73a3)]
->> endobj
-2934 0 obj <<
-/Names [(interfaceppl__Generator__System__tag_eeec098f7c1e5939b144f3d42a2c65fc) 1254 0 R (interfaceppl__Generator__System__tag_f5253fb7ef85e1875cc453d9a9998459) 1218 0 R (interfaceppl__Generator__System__tag_f5911dc31286d92c979c7ff89c249bc8) 1262 0 R (interfaceppl__Generator__System__tag_fcc12e4f52a8ff85d16ebfc424447b63) 1259 0 R (interfaceppl__Generator__tag) 385 0 R (interfaceppl__Generator__tag_048cb229297e24f6d0f7ab4e4351e2c2) 1308 0 R]
-/Limits [(interfaceppl__Generator__System__tag_eeec098f7c1e5939b144f3d42a2c65fc) (interfaceppl__Generator__tag_048cb229297e24f6d0f7ab4e4351e2c2)]
->> endobj
-2935 0 obj <<
-/Names [(interfaceppl__Generator__tag_140a26e6f6dc525c742aca71f598ed3c) 1342 0 R (interfaceppl__Generator__tag_278a22338f8428e328daf84dea4f94e7) 1311 0 R (interfaceppl__Generator__tag_297969dd313ebb370c9419915398aaf2) 1310 0 R (interfaceppl__Generator__tag_30161047ab7c47dd7a68a852e98ed83e) 1346 0 R (interfaceppl__Generator__tag_30d13726e3b27f1be7e5eb05a7814bb3) 1312 0 R (interfaceppl__Generator__tag_318f5f2972203c84ea0fdb4b82bbab1c) 1340 0 R]
-/Limits [(interfaceppl__Generator__tag_140a26e6f6dc525c742aca71f598ed3c) (interfaceppl__Generator__tag_318f5f2972203c84ea0fdb4b82bbab1c)]
->> endobj
-2936 0 obj <<
-/Names [(interfaceppl__Generator__tag_5d89173a47e10f469337343cfb807218) 1344 0 R (interfaceppl__Generator__tag_6a901364857f84dc0f111a29330c33f9) 1347 0 R (interfaceppl__Generator__tag_6d184edbb85d3c2747bb6097f7de17ad) 1345 0 R (interfaceppl__Generator__tag_74a772b49c2c3190ad8501ffa0337d2f) 1343 0 R (interfaceppl__Generator__tag_afa09f891353748a46868d342cc91cbc) 1305 0 R (interfaceppl__Generator__tag_b3fe811bb3a347e553576dadff55339e) 1309 0 R]
-/Limits [(interfaceppl__Generator__tag_5d89173a47e10f469337343cfb807218) (interfaceppl__Generator__tag_b3fe811bb3a347e553576dadff55339e)]
->> endobj
-2937 0 obj <<
-/Names [(interfaceppl__Generator__tag_ce16d45c8fbb00ad5b616aa4344fb798) 1303 0 R (interfaceppl__Generator__tag_d6d26ca0f256b0d9a45173e7d83ee4cc) 1348 0 R (interfaceppl__Generator__tag_f2fd5edcf647f4bc5b64cf0f4f712a51) 1313 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag) 386 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag_0632eaac5ec676910e433016619b3e85) 1369 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag_1842c4ba3cd1adb1e1bccef3cfcfa5 [...]
-/Limits [(interfaceppl__Generator__tag_ce16d45c8fbb00ad5b616aa4344fb798) (interfaceppl__Grid__Generator__System__const__iterator__tag_1842c4ba3cd1adb1e1bccef3cfcfa57f)]
->> endobj
-2938 0 obj <<
-/Names [(interfaceppl__Grid__Generator__System__const__iterator__tag_813ac0651ebac0120830cedf1ea58395) 1379 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag_c23bf247df0b2721e97c8eeb8945adf1) 1371 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag_f2932a2fa90f54f604e340d0e2eac7ba) 1374 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag_f4cdf3fbe1977a24a90904e02efd791b) 1381 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag_f8d741d [...]
-/Limits [(interfaceppl__Grid__Generator__System__const__iterator__tag_813ac0651ebac0120830cedf1ea58395) (interfaceppl__Grid__Generator__System__tag)]
->> endobj
-2939 0 obj <<
-/Names [(interfaceppl__Grid__Generator__System__tag_121252cea61436e0df74e008b80c13b7) 1430 0 R (interfaceppl__Grid__Generator__System__tag_22e81aa8cd862935e9a0abab515cf838) 1460 0 R (interfaceppl__Grid__Generator__System__tag_303533574d5d5d4d8f58e2d8646baa69) 1423 0 R (interfaceppl__Grid__Generator__System__tag_3094a8093769d647b9f477e14d53a3a0) 1431 0 R (interfaceppl__Grid__Generator__System__tag_3671e52fd03a1c456c630b7c5c632df8) 1434 0 R (interfaceppl__Grid__Generator__System__tag_4578b [...]
-/Limits [(interfaceppl__Grid__Generator__System__tag_121252cea61436e0df74e008b80c13b7) (interfaceppl__Grid__Generator__System__tag_4578b5352510727810a7c3be32208aae)]
->> endobj
-2940 0 obj <<
-/Names [(interfaceppl__Grid__Generator__System__tag_68cdbff6e2262bae3295484dbee9ee42) 1436 0 R (interfaceppl__Grid__Generator__System__tag_95c612736a3e7524077dd5c81bf2a105) 1425 0 R (interfaceppl__Grid__Generator__System__tag_9fc89d795c20b4270756269edf1b9604) 1429 0 R (interfaceppl__Grid__Generator__System__tag_a6324c2e330df63ad428eec9182fcc4d) 1464 0 R (interfaceppl__Grid__Generator__System__tag_af6f8270e3742973e0df7dcc9132f7ae) 1465 0 R (interfaceppl__Grid__Generator__System__tag_bc859 [...]
-/Limits [(interfaceppl__Grid__Generator__System__tag_68cdbff6e2262bae3295484dbee9ee42) (interfaceppl__Grid__Generator__System__tag_bc859551651eca1bcc3839f62d45dbfe)]
->> endobj
-2941 0 obj <<
-/Names [(interfaceppl__Grid__Generator__System__tag_c64c8548738734fedbc94f03519b803a) 1424 0 R (interfaceppl__Grid__Generator__System__tag_d00a2a1877537fa49a41013078ee2bb6) 1463 0 R (interfaceppl__Grid__Generator__System__tag_d4d88d3daaa672264c63c83071c2021b) 1427 0 R (interfaceppl__Grid__Generator__System__tag_e2c6fa9b0155fd9428ff3abcf1a66805) 1432 0 R (interfaceppl__Grid__Generator__System__tag_f29295940b1ad0b6b48cc44e92f04060) 1462 0 R (interfaceppl__Grid__Generator__tag) 388 0 R]
-/Limits [(interfaceppl__Grid__Generator__System__tag_c64c8548738734fedbc94f03519b803a) (interfaceppl__Grid__Generator__tag)]
->> endobj
-2942 0 obj <<
-/Names [(interfaceppl__Grid__Generator__tag_0ca9a6d6894e381babab8f958c194f07) 1518 0 R (interfaceppl__Grid__Generator__tag_190a7c46776178432e89c9525db039ab) 1521 0 R (interfaceppl__Grid__Generator__tag_2a64fe7b9774c990bd9db8aecd2dacea) 1509 0 R (interfaceppl__Grid__Generator__tag_3fc151fc10282a5ede395e9b8a5502e2) 1519 0 R (interfaceppl__Grid__Generator__tag_6cb7351e1bb87181f7e6c946db398b5b) 1506 0 R (interfaceppl__Grid__Generator__tag_85958538f17770d4ae66bcd179d747a1) 1512 0 R]
-/Limits [(interfaceppl__Grid__Generator__tag_0ca9a6d6894e381babab8f958c194f07) (interfaceppl__Grid__Generator__tag_85958538f17770d4ae66bcd179d747a1)]
->> endobj
-2943 0 obj <<
-/Names [(interfaceppl__Grid__Generator__tag_8b96d560404b7b7ee0ec7ea1aef80280) 1515 0 R (interfaceppl__Grid__Generator__tag_99aac01eb1b8adc3667bbd3db68e8d34) 1514 0 R (interfaceppl__Grid__Generator__tag_9b452ce4baaf1c1644a6eb33658ae48a) 1511 0 R (interfaceppl__Grid__Generator__tag_9c2a70f5f90ec3da123f549d6ca9fe4a) 1468 0 R (interfaceppl__Grid__Generator__tag_a8e9420c29d8c75e775c4fd609830769) 1516 0 R (interfaceppl__Grid__Generator__tag_c5a83c9e42e34b313e12a6cef4470a75) 1520 0 R]
-/Limits [(interfaceppl__Grid__Generator__tag_8b96d560404b7b7ee0ec7ea1aef80280) (interfaceppl__Grid__Generator__tag_c5a83c9e42e34b313e12a6cef4470a75)]
->> endobj
-2944 0 obj <<
-/Names [(interfaceppl__Grid__Generator__tag_cc700387404f10208584c1a847a6f328) 1507 0 R (interfaceppl__Grid__Generator__tag_dfc86b3b2966514ba2e2292584f68c08) 1513 0 R (interfaceppl__Grid__Generator__tag_fb6f23292760d6d55c57b5722f604897) 1517 0 R (interfaceppl__Linear__Expression__tag) 389 0 R (interfaceppl__Linear__Expression__tag_1c54d4109f395752ea23822cee000d04) 1561 0 R (interfaceppl__Linear__Expression__tag_225478fba412d40b785e2b41809cc90d) 1612 0 R]
-/Limits [(interfaceppl__Grid__Generator__tag_cc700387404f10208584c1a847a6f328) (interfaceppl__Linear__Expression__tag_225478fba412d40b785e2b41809cc90d)]
->> endobj
-2945 0 obj <<
-/Names [(interfaceppl__Linear__Expression__tag_3530a20e5985d6da8acabad37bfe0e93) 1617 0 R (interfaceppl__Linear__Expression__tag_46773b226d490e5bbf6f3d587cf29dc4) 1640 0 R (interfaceppl__Linear__Expression__tag_50bcfefbf053e770951fa02c2e2eb112) 1641 0 R (interfaceppl__Linear__Expression__tag_512810c3e349a2f01217c6e426645260) 1553 0 R (interfaceppl__Linear__Expression__tag_643dad56c4e24b32e2c4951aee7a6822) 1606 0 R (interfaceppl__Linear__Expression__tag_690fbcd5ef7202e646b30d92bdadcc29) 1 [...]
-/Limits [(interfaceppl__Linear__Expression__tag_3530a20e5985d6da8acabad37bfe0e93) (interfaceppl__Linear__Expression__tag_690fbcd5ef7202e646b30d92bdadcc29)]
->> endobj
-2946 0 obj <<
-/Names [(interfaceppl__Linear__Expression__tag_7d65378709f5a0c73e711f5528385990) 1557 0 R (interfaceppl__Linear__Expression__tag_8172cf537ccecb7826eb21837b8d7e7b) 1618 0 R (interfaceppl__Linear__Expression__tag_84c2e36e2ae01775ce542ebc83739726) 1613 0 R (interfaceppl__Linear__Expression__tag_86c148ed14d1a2781e07bea5be7fb434) 1608 0 R (interfaceppl__Linear__Expression__tag_9ab7b109b1acae567c915b1db83b5283) 1559 0 R (interfaceppl__Linear__Expression__tag_a891671c2b9414353067da44a108ac1d) 1 [...]
-/Limits [(interfaceppl__Linear__Expression__tag_7d65378709f5a0c73e711f5528385990) (interfaceppl__Linear__Expression__tag_a891671c2b9414353067da44a108ac1d)]
->> endobj
-2947 0 obj <<
-/Names [(interfaceppl__Linear__Expression__tag_bbbdd7f3c4800ef97b642142cd68648d) 1603 0 R (interfaceppl__Linear__Expression__tag_bfe9ef58fb96938e1c26b63e2b4ce0d1) 1615 0 R (interfaceppl__Linear__Expression__tag_c21bf6dd42b915ff6f157fb73fe396e0) 1642 0 R (interfaceppl__Linear__Expression__tag_e7af7908bffe9b331262dcf8fd020b7f) 1609 0 R (interfaceppl__Linear__Expression__tag_e861c5919e346c3966c43edc4cd47276) 1611 0 R (interfaceppl__Linear__Expression__tag_f232ff2f43109950ac1b0f5d124cf4cc) 1 [...]
-/Limits [(interfaceppl__Linear__Expression__tag_bbbdd7f3c4800ef97b642142cd68648d) (interfaceppl__Linear__Expression__tag_f232ff2f43109950ac1b0f5d124cf4cc)]
->> endobj
-2948 0 obj <<
-/Names [(interfaceppl__Linear__Expression__tag_f78187771d58e90c174eeba577a471d5) 1643 0 R (interfaceppl__Linear__Expression__tag_f99b9dc1c16751ce872dab5245c22fdf) 1563 0 R (interfaceppl__Linear__Expression__tag_fc650c1c744fbfc4dbd15293b9827776) 1555 0 R (interfaceppl__MIP__Problem__tag) 390 0 R (interfaceppl__MIP__Problem__tag_086e697a92a664c83721e0c442d45271) 1805 0 R (interfaceppl__MIP__Problem__tag_0d5a001977b49f77a4514de614bf3c4c) 1701 0 R]
-/Limits [(interfaceppl__Linear__Expression__tag_f78187771d58e90c174eeba577a471d5) (interfaceppl__MIP__Problem__tag_0d5a001977b49f77a4514de614bf3c4c)]
->> endobj
-2949 0 obj <<
-/Names [(interfaceppl__MIP__Problem__tag_19ff64e7fd60a4e08c782a4683d62167) 1746 0 R (interfaceppl__MIP__Problem__tag_2b4edec92d54747f5f1d2904407e744a) 1811 0 R (interfaceppl__MIP__Problem__tag_32423400858178cc05f325962afd44e2) 1647 0 R (interfaceppl__MIP__Problem__tag_34e5d32c224ab8293ff78c85d86e5f79) 1689 0 R (interfaceppl__MIP__Problem__tag_3659fef24b67be6b668955bc6865e779) 1753 0 R (interfaceppl__MIP__Problem__tag_36c57e3007fcb2340dc415f8431df7aa) 1755 0 R]
-/Limits [(interfaceppl__MIP__Problem__tag_19ff64e7fd60a4e08c782a4683d62167) (interfaceppl__MIP__Problem__tag_36c57e3007fcb2340dc415f8431df7aa)]
->> endobj
-2950 0 obj <<
-/Names [(interfaceppl__MIP__Problem__tag_3789c297e202c735dbd829cd6cbed989) 1804 0 R (interfaceppl__MIP__Problem__tag_396b429302ce49ea9915778c317b81d2) 1802 0 R (interfaceppl__MIP__Problem__tag_39e443628f6b73203b0f66189b8bc1c6) 1760 0 R (interfaceppl__MIP__Problem__tag_3ff750009bec94ab2c9a01139ba22420) 1810 0 R (interfaceppl__MIP__Problem__tag_43a14864f62b4528d6c87856cba4da34) 1809 0 R (interfaceppl__MIP__Problem__tag_44aa5cc75376dddfb9005dd74b27ff68) 1751 0 R]
-/Limits [(interfaceppl__MIP__Problem__tag_3789c297e202c735dbd829cd6cbed989) (interfaceppl__MIP__Problem__tag_44aa5cc75376dddfb9005dd74b27ff68)]
->> endobj
-2951 0 obj <<
-/Names [(interfaceppl__MIP__Problem__tag_4b9b7034fd7b17eff672d49a7c85ac2f) 1745 0 R (interfaceppl__MIP__Problem__tag_4da79f8c645b945d52635733c3f63d7d) 1702 0 R (interfaceppl__MIP__Problem__tag_5357e1ed14407abf82149fe878789efd) 1750 0 R (interfaceppl__MIP__Problem__tag_5e359194d7a21e72a49aee51dbac25c4) 1756 0 R (interfaceppl__MIP__Problem__tag_6a8d9c1c40c886054ef76aac268f33b0) 1743 0 R (interfaceppl__MIP__Problem__tag_70c652d969734f6a69841d30a5e9033b) 1695 0 R]
-/Limits [(interfaceppl__MIP__Problem__tag_4b9b7034fd7b17eff672d49a7c85ac2f) (interfaceppl__MIP__Problem__tag_70c652d969734f6a69841d30a5e9033b)]
->> endobj
-2952 0 obj <<
-/Names [(interfaceppl__MIP__Problem__tag_7397b715c2ccf3f6fcf2f3900efe10d6) 1803 0 R (interfaceppl__MIP__Problem__tag_8190bd5fde521e37c585c5c59b65f90d) 1806 0 R (interfaceppl__MIP__Problem__tag_894587e76b98f15a8ae120327dc9d532) 1799 0 R (interfaceppl__MIP__Problem__tag_8bda1b8ba9119202c16f88fdb19a535b) 1697 0 R (interfaceppl__MIP__Problem__tag_8ca7076566ebe098ff3bc307b4d91899) 1649 0 R (interfaceppl__MIP__Problem__tag_8efd1f7de8fb2bbe6e33aff1d4184078) 1648 0 R]
-/Limits [(interfaceppl__MIP__Problem__tag_7397b715c2ccf3f6fcf2f3900efe10d6) (interfaceppl__MIP__Problem__tag_8efd1f7de8fb2bbe6e33aff1d4184078)]
->> endobj
-2953 0 obj <<
-/Names [(interfaceppl__MIP__Problem__tag_8f2ab3d77bca7257df14bda9261a1326) 1650 0 R (interfaceppl__MIP__Problem__tag_9dfe99ee7d8e2b1d7360ab0119bd12eb) 1688 0 R (interfaceppl__MIP__Problem__tag_a1663bce444a20240c852c9443005cc0) 1699 0 R (interfaceppl__MIP__Problem__tag_b50ac757b6cb922c40504dc69c983568) 1748 0 R (interfaceppl__MIP__Problem__tag_b95e9f75dd971827c8a9a6b42faeeac7) 1691 0 R (interfaceppl__MIP__Problem__tag_c379f873623c0fec37d988c2c374ffe5) 1690 0 R]
-/Limits [(interfaceppl__MIP__Problem__tag_8f2ab3d77bca7257df14bda9261a1326) (interfaceppl__MIP__Problem__tag_c379f873623c0fec37d988c2c374ffe5)]
->> endobj
-2954 0 obj <<
-/Names [(interfaceppl__MIP__Problem__tag_c39a1aacb6aa4f54150e2b138d7b36f2) 1749 0 R (interfaceppl__MIP__Problem__tag_cdbb5fd3fa1ab9faed26fc5be47cc0d2) 1795 0 R (interfaceppl__MIP__Problem__tag_d2154705f0854002a4f44f95580df9c7) 1700 0 R (interfaceppl__MIP__Problem__tag_df86eb3611cbe63b34ef195bc87a7312) 1646 0 R (interfaceppl__MIP__Problem__tag_e5845918fa5037ca4e9bdde4a4a3ecf2) 1797 0 R (interfaceppl__MIP__Problem__tag_e7dc964062c194e3ae8eef0a828164ae) 1801 0 R]
-/Limits [(interfaceppl__MIP__Problem__tag_c39a1aacb6aa4f54150e2b138d7b36f2) (interfaceppl__MIP__Problem__tag_e7dc964062c194e3ae8eef0a828164ae)]
->> endobj
-2955 0 obj <<
-/Names [(interfaceppl__MIP__Problem__tag_ebfd121256089b1415f3bc6989c25bbb) 1807 0 R (interfaceppl__MIP__Problem__tag_f349e801a615b2014d36c30fdb56022a) 1758 0 R (interfaceppl__MIP__Problem__tag_f59141db49e5141da6ac594d43ead2f7) 1693 0 R (interfaceppl__MIP__Problem__tag_f63454e50c1937573c75495f3cb4c1d2) 1687 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) 391 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_0746b37f80c4be687b0dc5ded6190 [...]
-/Limits [(interfaceppl__MIP__Problem__tag_ebfd121256089b1415f3bc6989c25bbb) (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_0746b37f80c4be687b0dc5ded6190002)]
->> endobj
-2956 0 obj <<
-/Names [(interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_62836b9156289bd880bf9f32056a4dee) 1869 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_70541b12c8a9b281b3aa4f9c21624b3c) 1865 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_8d39b1769491b0ee262118bfa31bcc67) 1858 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_bc4dd4b94a80075012b0f30b13339632) 1867 0 R (interfaceppl__Pointset__Pow [...]
-/Limits [(interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_62836b9156289bd880bf9f32056a4dee) (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_d69ffccc04d33132e31a91296afad78d)]
->> endobj
-2957 0 obj <<
-/Names [(interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_db6f375b8aad58a31f6a60abb7a9b1e2) 1862 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_dd8c6ae913a7e3f0a7e1470a23ba04a3) 1860 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) 393 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_1785059acd1bf60dcf4cda0044cc94b5) 1920 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_35180fb6d38a [...]
-/Limits [(interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_db6f375b8aad58a31f6a60abb7a9b1e2) (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_64b1a8e66388915a57bfd0b53a2e46c5)]
->> endobj
-2958 0 obj <<
-/Names [(interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_79d1cb9751d21f7b364c4c41c4715737) 1910 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_7e3f8c5b2e614c5d18783c2ef7b092e1) 1906 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_98e7f050a579e9deeb71a75758238928) 1908 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a82f0fc73b5f98fab74070ee92a100cf) 1912 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterat [...]
-/Limits [(interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_79d1cb9751d21f7b364c4c41c4715737) (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_be46bba93c5ddcf4cf4cafdb0d74f942)]
->> endobj
-2959 0 obj <<
-/Names [(interfaceppl__Pointset__Powerset__C__Polyhedron__tag) 392 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_024a52502b35029ff2ba102323d8ae5b) 1968 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_0bf696420bbdc5c2ef0993f61f2273b7) 1943 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_1b2ee4d834f0651a41647ac5b5e0f912) 1976 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_26a124537b8995832b2cb157abc7cf07) 1940 0 R (interfaceppl__Pointset__Powerset [...]
-/Limits [(interfaceppl__Pointset__Powerset__C__Polyhedron__tag) (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_91f0ccf4325f53430d7347ca73182f52)]
->> endobj
-2960 0 obj <<
-/Names [(interfaceppl__Pointset__Powerset__C__Polyhedron__tag_ae5f47efa7c023e45aed9be161dce99f) 1973 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_b595ea1166752d23aba600af43417bd8) 1979 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_eb8456ecf06307c108046a8c665154c9) 1965 0 R (interfaceppl__Polyhedron__tag) 394 0 R (interfaceppl__Polyhedron__tag_0184ad10aeca27f95d249d3a7e061b46) 2471 0 R (interfaceppl__Polyhedron__tag_01daecb5bf8e498e7d539d7f3ba8496e) 2264 0 R]
-/Limits [(interfaceppl__Pointset__Powerset__C__Polyhedron__tag_ae5f47efa7c023e45aed9be161dce99f) (interfaceppl__Polyhedron__tag_01daecb5bf8e498e7d539d7f3ba8496e)]
->> endobj
-2961 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_06c7c974043c12bcf349c119e73cc681) 2522 0 R (interfaceppl__Polyhedron__tag_0b031bedcfb70f485bab922596bce1c8) 2336 0 R (interfaceppl__Polyhedron__tag_0e494452cce5a8916f4fe97a1c79e237) 2212 0 R (interfaceppl__Polyhedron__tag_141c3283de2a46f2fcb278dcdca0558f) 2198 0 R (interfaceppl__Polyhedron__tag_191744753f79b939c8d61efe45778bd8) 2266 0 R (interfaceppl__Polyhedron__tag_1bd806c292d0576b94d3084b21736061) 2073 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_06c7c974043c12bcf349c119e73cc681) (interfaceppl__Polyhedron__tag_1bd806c292d0576b94d3084b21736061)]
->> endobj
-2962 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_1dd00b705631c579994677fea3a86d63) 2206 0 R (interfaceppl__Polyhedron__tag_1e5a2940765710cccea4ef4f1b7f1092) 2525 0 R (interfaceppl__Polyhedron__tag_27fdc62bc2cae150c7d710a8e312a40d) 2133 0 R (interfaceppl__Polyhedron__tag_2dc649f0ee90ea5af999e3c0bae54bcb) 2131 0 R (interfaceppl__Polyhedron__tag_2f80d4608b0b75948b50dd862a14df66) 2267 0 R (interfaceppl__Polyhedron__tag_304dd0846a62cb4a9f79806ea82cee5d) 2079 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_1dd00b705631c579994677fea3a86d63) (interfaceppl__Polyhedron__tag_304dd0846a62cb4a9f79806ea82cee5d)]
->> endobj
-2963 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_357ddb19493a385970c56bf4847a07a1) 2194 0 R (interfaceppl__Polyhedron__tag_381b0e6e2e58df417ff578ed6d715520) 2414 0 R (interfaceppl__Polyhedron__tag_39ee8e60c1d4d6faa40986d8fba28d5d) 2197 0 R (interfaceppl__Polyhedron__tag_3bc82e8c76e1a47ecc20c85e1003036d) 2469 0 R (interfaceppl__Polyhedron__tag_3e07a3e1a6e6c9f281227b4e215a3dc7) 2263 0 R (interfaceppl__Polyhedron__tag_402bb86dfedf35933c2a29cc07210741) 2411 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_357ddb19493a385970c56bf4847a07a1) (interfaceppl__Polyhedron__tag_402bb86dfedf35933c2a29cc07210741)]
->> endobj
-2964 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_418a9f96c3df4cf69bc399cd807eddeb) 2027 0 R (interfaceppl__Polyhedron__tag_46fc9d1041d5548a5f8f220af2a07028) 2415 0 R (interfaceppl__Polyhedron__tag_4b5f126aef2ca062b034f795f6e5cf6d) 2193 0 R (interfaceppl__Polyhedron__tag_50d5c68064e215d3f2cf3ee69896e676) 2126 0 R (interfaceppl__Polyhedron__tag_52e2499c42a9be1e527642cbfb16ff8c) 2064 0 R (interfaceppl__Polyhedron__tag_5932fd0c6867d83e3a34d5e680225807) 2564 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_418a9f96c3df4cf69bc399cd807eddeb) (interfaceppl__Polyhedron__tag_5932fd0c6867d83e3a34d5e680225807)]
->> endobj
-2965 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_5a6342bc4e04c1f228d210e5c363b6d4) 2257 0 R (interfaceppl__Polyhedron__tag_5a9b061c4408ab8d70a1dea91a6ff983) 2265 0 R (interfaceppl__Polyhedron__tag_5e7090393ee5801d9c988db6d2a06a43) 2516 0 R (interfaceppl__Polyhedron__tag_612142029eeee3dd72bb0d37c670d6db) 2519 0 R (interfaceppl__Polyhedron__tag_6137f367c0c83a73146d84c998d37cb3) 2466 0 R (interfaceppl__Polyhedron__tag_658545ec6169d2843323bfe1ff078e6f) 2460 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_5a6342bc4e04c1f228d210e5c363b6d4) (interfaceppl__Polyhedron__tag_658545ec6169d2843323bfe1ff078e6f)]
->> endobj
-2966 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_680aecc71f3b21fa0db03c7d1cbe466b) 2138 0 R (interfaceppl__Polyhedron__tag_69c0a9ffd5b8910a90a91943a10fe3b6) 2523 0 R (interfaceppl__Polyhedron__tag_6b5c73b1f3f864c8a10c39810b4711ce) 2459 0 R (interfaceppl__Polyhedron__tag_6c5a2f9b4702c1a0ddfcc9c6eb9b92bd) 2140 0 R (interfaceppl__Polyhedron__tag_6d147411700f558d74d8273accfb8e04) 2135 0 R (interfaceppl__Polyhedron__tag_6ff56c68b449b94588ea7290d01625d5) 2416 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_680aecc71f3b21fa0db03c7d1cbe466b) (interfaceppl__Polyhedron__tag_6ff56c68b449b94588ea7290d01625d5)]
->> endobj
-2967 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_6ffd595f3e1d85275962dde5f8401c7f) 2355 0 R (interfaceppl__Polyhedron__tag_703c5d92387510c5cbf8b0f1da3029b2) 2030 0 R (interfaceppl__Polyhedron__tag_7135823ecf68cedd5236d53e2b5541f5) 2202 0 R (interfaceppl__Polyhedron__tag_7573064b44c45d804d398aec02e7a64a) 2470 0 R (interfaceppl__Polyhedron__tag_784570f6ced5461b4d82cdfefa1cb31b) 2351 0 R (interfaceppl__Polyhedron__tag_7918c3a73aed2529e1e57b8983264bad) 2341 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_6ffd595f3e1d85275962dde5f8401c7f) (interfaceppl__Polyhedron__tag_7918c3a73aed2529e1e57b8983264bad)]
->> endobj
-2968 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_819d233e9b1442e06c806dea0523a2f9) 2078 0 R (interfaceppl__Polyhedron__tag_81cc2a565346ce8ee12124224ddd8d6c) 2455 0 R (interfaceppl__Polyhedron__tag_8402fc25b68056511cf62f1378666a88) 2347 0 R (interfaceppl__Polyhedron__tag_841ceef027f12d5c99fc2e739ae340fb) 2532 0 R (interfaceppl__Polyhedron__tag_85417db0eb420d402acee4ef0d842efc) 2129 0 R (interfaceppl__Polyhedron__tag_875b11e85fe96586152f53f498158b1f) 2562 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_819d233e9b1442e06c806dea0523a2f9) (interfaceppl__Polyhedron__tag_875b11e85fe96586152f53f498158b1f)]
->> endobj
-2969 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_879f2f2b0f967fa73cb59ea8d8b1d255) 2075 0 R (interfaceppl__Polyhedron__tag_88a7c177ebe33a3d41609609660fd3ee) 2558 0 R (interfaceppl__Polyhedron__tag_88c408677f6de73fd80903738268efa3) 2528 0 R (interfaceppl__Polyhedron__tag_8948143df881c58c79da34380f847401) 2082 0 R (interfaceppl__Polyhedron__tag_89c2384471ee03156c7b414dceee8f14) 2275 0 R (interfaceppl__Polyhedron__tag_8a9e2cf693ca3e9c464efb04071b8572) 2353 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_879f2f2b0f967fa73cb59ea8d8b1d255) (interfaceppl__Polyhedron__tag_8a9e2cf693ca3e9c464efb04071b8572)]
->> endobj
-2970 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_8abb894f6f4a673d549aa9bf7456b638) 2268 0 R (interfaceppl__Polyhedron__tag_8b280d026e0c343ec0d3f5521dda6376) 2137 0 R (interfaceppl__Polyhedron__tag_8ffc5459233ed9781c0ca910e88fa1f9) 2273 0 R (interfaceppl__Polyhedron__tag_90544f38c2980f308cd6e0f9248fdd99) 2408 0 R (interfaceppl__Polyhedron__tag_93cee014592562084126f06fe47efbba) 2211 0 R (interfaceppl__Polyhedron__tag_9563155e281915a8bc2eea34ceff9cf0) 2352 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_8abb894f6f4a673d549aa9bf7456b638) (interfaceppl__Polyhedron__tag_9563155e281915a8bc2eea34ceff9cf0)]
->> endobj
-2971 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_96eaf729b170b6df69bc2d1127f8727c) 2530 0 R (interfaceppl__Polyhedron__tag_977522267df419dd5f2824ce6c0f7610) 2529 0 R (interfaceppl__Polyhedron__tag_9947be8614cba5c2e8b02771d48fc7d2) 2125 0 R (interfaceppl__Polyhedron__tag_9d9b8361c659cadd31afb61152ccf06b) 2031 0 R (interfaceppl__Polyhedron__tag_9e5f40dfc278c52da81291b30fbe75f7) 2196 0 R (interfaceppl__Polyhedron__tag_9fb38e66323fe6cb24b32e32e66dba78) 2342 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_96eaf729b170b6df69bc2d1127f8727c) (interfaceppl__Polyhedron__tag_9fb38e66323fe6cb24b32e32e66dba78)]
->> endobj
-2972 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_a309e957fa5f404b296e2e4c30e1697d) 2260 0 R (interfaceppl__Polyhedron__tag_a48f8ae0f3a2647949417ec2da1c97e4) 2410 0 R (interfaceppl__Polyhedron__tag_abb79ab0a7936b6f14cd20e15cb14fa8) 2417 0 R (interfaceppl__Polyhedron__tag_ad3749930a51c38886b1d5a01dbbba92) 2521 0 R (interfaceppl__Polyhedron__tag_ad69d01217b9ea1043883162d285505c) 2345 0 R (interfaceppl__Polyhedron__tag_affebaba13f6fc73438bdccde0966547) 2461 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_a309e957fa5f404b296e2e4c30e1697d) (interfaceppl__Polyhedron__tag_affebaba13f6fc73438bdccde0966547)]
->> endobj
-2973 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_b062917f016d95800e29f87c203fd3bb) 2563 0 R (interfaceppl__Polyhedron__tag_b1d03e0aac8dda484b102c536c612a45) 2139 0 R (interfaceppl__Polyhedron__tag_b27e9641bc6946aef6e3254d28c6fab4) 2029 0 R (interfaceppl__Polyhedron__tag_b32d3b44994fefe43c44e353a47cb4a4) 2200 0 R (interfaceppl__Polyhedron__tag_b4f7535037080c7f5db32b2e85fdc80d) 2195 0 R (interfaceppl__Polyhedron__tag_bc350d1ab1c6e4da0df6bb130364af7b) 2344 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_b062917f016d95800e29f87c203fd3bb) (interfaceppl__Polyhedron__tag_bc350d1ab1c6e4da0df6bb130364af7b)]
->> endobj
-2974 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_bcf3ccb8e2e224496d1326e47e15fdc6) 2258 0 R (interfaceppl__Polyhedron__tag_bd393bd3febd678f09a51a0364756787) 2025 0 R (interfaceppl__Polyhedron__tag_bedffb6a2f5b2473d2d2ac9d448c65d9) 2019 0 R (interfaceppl__Polyhedron__tag_bf1bb44cdbf733e9ca39164f9d8e8179) 2081 0 R (interfaceppl__Polyhedron__tag_c06aed22fa4405051df0da9e7bc16138) 2405 0 R (interfaceppl__Polyhedron__tag_c0e5d09ffe586f8ea5ec782570015c5b) 2413 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_bcf3ccb8e2e224496d1326e47e15fdc6) (interfaceppl__Polyhedron__tag_c0e5d09ffe586f8ea5ec782570015c5b)]
->> endobj
-2975 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_c655ac3a494c4f92bb02d0b9294bdd85) 2338 0 R (interfaceppl__Polyhedron__tag_c78c1168665c72eaf8c2457b12700fba) 2560 0 R (interfaceppl__Polyhedron__tag_d015c9afd4968005d43f233359253c5a) 2354 0 R (interfaceppl__Polyhedron__tag_d024f037803a208b74cd150eeaa5649d) 2272 0 R (interfaceppl__Polyhedron__tag_d184bea5f8f38b87293d639d57ee340b) 2527 0 R (interfaceppl__Polyhedron__tag_d20b13c4f378bdc5aa64c3e833a62cba) 2458 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_c655ac3a494c4f92bb02d0b9294bdd85) (interfaceppl__Polyhedron__tag_d20b13c4f378bdc5aa64c3e833a62cba)]
->> endobj
-2976 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_d4b80df36fc02b4c47ca160420e50182) 2566 0 R (interfaceppl__Polyhedron__tag_d6512d0d60c017982bd8031e9b8df336) 2028 0 R (interfaceppl__Polyhedron__tag_d6b383704ed3f314864c52f5b715cbbf) 2456 0 R (interfaceppl__Polyhedron__tag_d9547cb6430722246dea7f5a70566c06) 2468 0 R (interfaceppl__Polyhedron__tag_da9021952b7c7ad4ca6fc4ff082ec9fe) 2017 0 R (interfaceppl__Polyhedron__tag_db06752e755290368c9bb00ad14a0984) 2346 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_d4b80df36fc02b4c47ca160420e50182) (interfaceppl__Polyhedron__tag_db06752e755290368c9bb00ad14a0984)]
->> endobj
-2977 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_dc7cd513e31b7ecdda3a25a967d8a772) 2124 0 R (interfaceppl__Polyhedron__tag_dd9c4afcd6f6bd78509219f32d57e348) 2406 0 R (interfaceppl__Polyhedron__tag_e1e938f0c844231dfe2098ab8fbca67b) 2199 0 R (interfaceppl__Polyhedron__tag_ea399d3df97c711c758c8bf715e0c763) 2518 0 R (interfaceppl__Polyhedron__tag_ebe78c4ede3d49c63765e71cfe93904e) 2066 0 R (interfaceppl__Polyhedron__tag_ee4d567631589e83063cfb8f80c2bd6f) 2209 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_dc7cd513e31b7ecdda3a25a967d8a772) (interfaceppl__Polyhedron__tag_ee4d567631589e83063cfb8f80c2bd6f)]
->> endobj
-2978 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_f29cc9becde5f28a37567093174d6855) 2122 0 R (interfaceppl__Polyhedron__tag_f777de5ca96f8d1631d3500008bf84f8) 2274 0 R (interfaceppl__Polyhedron__tag_f818756f74f766dfb937e586565db8d6) 2276 0 R (interfaceppl__Polyhedron__tag_f8a9392f205531631b3a98c332f594b1) 2457 0 R (interfaceppl__Polyhedron__tag_f92f3c9d758e2a155a2a6faec4235741) 2340 0 R (interfaceppl__Polyhedron__tag_f93c7e3e554a92e8d3eeb4cf4261debd) 2080 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_f29cc9becde5f28a37567093174d6855) (interfaceppl__Polyhedron__tag_f93c7e3e554a92e8d3eeb4cf4261debd)]
->> endobj
-2979 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_f98013213e01ca8514b6dbd20116af4d) 2262 0 R (page.1) 141 0 R (page.10) 268 0 R (page.11) 280 0 R (page.12) 289 0 R (page.13) 295 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_f98013213e01ca8514b6dbd20116af4d) (page.13)]
->> endobj
-2980 0 obj <<
-/Names [(page.14) 300 0 R (page.15) 305 0 R (page.16) 311 0 R (page.17) 338 0 R (page.18) 379 0 R (page.19) 408 0 R]
-/Limits [(page.14) (page.19)]
->> endobj
-2981 0 obj <<
-/Names [(page.2) 211 0 R (page.20) 432 0 R (page.21) 464 0 R (page.22) 509 0 R (page.23) 561 0 R (page.24) 612 0 R]
-/Limits [(page.2) (page.24)]
->> endobj
-2982 0 obj <<
-/Names [(page.25) 668 0 R (page.26) 707 0 R (page.27) 724 0 R (page.28) 760 0 R (page.29) 791 0 R (page.3) 218 0 R]
-/Limits [(page.25) (page.3)]
->> endobj
-2983 0 obj <<
-/Names [(page.30) 821 0 R (page.31) 870 0 R (page.32) 910 0 R (page.33) 955 0 R (page.34) 992 0 R (page.35) 1042 0 R]
-/Limits [(page.30) (page.35)]
->> endobj
-2984 0 obj <<
-/Names [(page.36) 1085 0 R (page.37) 1132 0 R (page.38) 1169 0 R (page.39) 1204 0 R (page.4) 225 0 R (page.40) 1252 0 R]
-/Limits [(page.36) (page.40)]
->> endobj
-2985 0 obj <<
-/Names [(page.41) 1300 0 R (page.42) 1339 0 R (page.43) 1368 0 R (page.44) 1421 0 R (page.45) 1459 0 R (page.46) 1505 0 R]
-/Limits [(page.41) (page.46)]
->> endobj
-2986 0 obj <<
-/Names [(page.47) 1549 0 R (page.48) 1602 0 R (page.49) 1638 0 R (page.5) 232 0 R (page.50) 1686 0 R (page.51) 1742 0 R]
-/Limits [(page.47) (page.51)]
->> endobj
-2987 0 obj <<
-/Names [(page.52) 1794 0 R (page.53) 1819 0 R (page.54) 1852 0 R (page.55) 1904 0 R (page.56) 1933 0 R (page.57) 1964 0 R]
-/Limits [(page.52) (page.57)]
->> endobj
-2988 0 obj <<
-/Names [(page.58) 2015 0 R (page.59) 2063 0 R (page.6) 241 0 R (page.60) 2121 0 R (page.61) 2192 0 R (page.62) 2256 0 R]
-/Limits [(page.58) (page.62)]
->> endobj
-2989 0 obj <<
-/Names [(page.63) 2335 0 R (page.64) 2398 0 R (page.65) 2454 0 R (page.66) 2515 0 R (page.67) 2557 0 R (page.68) 2573 0 R]
-/Limits [(page.63) (page.68)]
->> endobj
-2990 0 obj <<
-/Names [(page.69) 2584 0 R (page.7) 247 0 R (page.70) 2594 0 R (page.71) 2604 0 R (page.72) 2614 0 R (page.73) 2625 0 R]
-/Limits [(page.69) (page.73)]
->> endobj
-2991 0 obj <<
-/Names [(page.74) 2633 0 R (page.75) 2643 0 R (page.76) 2713 0 R (page.77) 2770 0 R (page.78) 2834 0 R (page.8) 253 0 R]
-/Limits [(page.74) (page.8)]
->> endobj
-2992 0 obj <<
-/Names [(page.9) 261 0 R (page.i) 176 0 R (paragraph.6.2.2.1) 411 0 R (paragraph.6.2.2.2) 412 0 R (paragraph.6.2.2.3) 413 0 R (paragraph.6.2.2.4) 414 0 R]
-/Limits [(page.9) (paragraph.6.2.2.4)]
->> endobj
-2993 0 obj <<
-/Names [(paragraph.6.3.2.1) 443 0 R (paragraph.6.3.3.1) 446 0 R (paragraph.6.4.2.1) 471 0 R (paragraph.6.4.3.1) 511 0 R (paragraph.6.5.2.1) 719 0 R (paragraph.6.5.3.1) 726 0 R]
-/Limits [(paragraph.6.3.2.1) (paragraph.6.5.3.1)]
->> endobj
-2994 0 obj <<
-/Names [(paragraph.6.5.3.2) 729 0 R (paragraph.6.5.3.3) 730 0 R (paragraph.6.5.4.1) 732 0 R (paragraph.7.15.2.1) 1821 0 R (paragraph.7.15.2.2) 1822 0 R (paragraph.7.15.2.3) 1823 0 R]
-/Limits [(paragraph.6.5.3.2) (paragraph.7.15.2.3)]
->> endobj
-2995 0 obj <<
-/Names [(paragraph.7.16.2.1) 1875 0 R (paragraph.7.17.2.1) 1938 0 R (paragraph.7.18.2.1) 1983 0 R (paragraph.7.19.2.1) 2575 0 R (paragraph.7.19.2.10) 2589 0 R (paragraph.7.19.2.11) 2595 0 R]
-/Limits [(paragraph.7.16.2.1) (paragraph.7.19.2.11)]
->> endobj
-2996 0 obj <<
-/Names [(paragraph.7.19.2.12) 2596 0 R (paragraph.7.19.2.13) 2597 0 R (paragraph.7.19.2.14) 2598 0 R (paragraph.7.19.2.15) 2599 0 R (paragraph.7.19.2.16) 2605 0 R (paragraph.7.19.2.17) 2606 0 R]
-/Limits [(paragraph.7.19.2.12) (paragraph.7.19.2.17)]
->> endobj
-2997 0 obj <<
-/Names [(paragraph.7.19.2.18) 2607 0 R (paragraph.7.19.2.19) 2608 0 R (paragraph.7.19.2.2) 2576 0 R (paragraph.7.19.2.20) 2615 0 R (paragraph.7.19.2.21) 2616 0 R (paragraph.7.19.2.22) 2617 0 R]
-/Limits [(paragraph.7.19.2.18) (paragraph.7.19.2.22)]
->> endobj
-2998 0 obj <<
-/Names [(paragraph.7.19.2.23) 2618 0 R (paragraph.7.19.2.24) 2626 0 R (paragraph.7.19.2.25) 2627 0 R (paragraph.7.19.2.26) 2628 0 R (paragraph.7.19.2.27) 2634 0 R (paragraph.7.19.2.28) 2635 0 R]
-/Limits [(paragraph.7.19.2.23) (paragraph.7.19.2.28)]
->> endobj
-2999 0 obj <<
-/Names [(paragraph.7.19.2.29) 2636 0 R (paragraph.7.19.2.3) 2577 0 R (paragraph.7.19.2.30) 2637 0 R (paragraph.7.19.2.31) 2638 0 R (paragraph.7.19.2.32) 2644 0 R (paragraph.7.19.2.33) 2645 0 R]
-/Limits [(paragraph.7.19.2.29) (paragraph.7.19.2.33)]
->> endobj
-3000 0 obj <<
-/Names [(paragraph.7.19.2.34) 2646 0 R (paragraph.7.19.2.4) 2578 0 R (paragraph.7.19.2.5) 2579 0 R (paragraph.7.19.2.6) 2585 0 R (paragraph.7.19.2.7) 2586 0 R (paragraph.7.19.2.8) 2587 0 R]
-/Limits [(paragraph.7.19.2.34) (paragraph.7.19.2.8)]
->> endobj
-3001 0 obj <<
-/Names [(paragraph.7.19.2.9) 2588 0 R (section*.1) 180 0 R (section*.10) 242 0 R (section*.11) 248 0 R (section*.12) 254 0 R (section*.13) 255 0 R]
-/Limits [(paragraph.7.19.2.9) (section*.13)]
->> endobj
-3002 0 obj <<
-/Names [(section*.14) 256 0 R (section*.15) 262 0 R (section*.16) 263 0 R (section*.17) 269 0 R (section*.18) 270 0 R (section*.19) 271 0 R]
-/Limits [(section*.14) (section*.19)]
->> endobj
-3003 0 obj <<
-/Names [(section*.2) 213 0 R (section*.20) 272 0 R (section*.21) 281 0 R (section*.22) 282 0 R (section*.23) 312 0 R (section*.24) 382 0 R]
-/Limits [(section*.2) (section*.24)]
->> endobj
-3004 0 obj <<
-/Names [(section*.25) 416 0 R (section*.26) 434 0 R (section*.27) 465 0 R (section*.28) 467 0 R (section*.29) 513 0 R (section*.3) 219 0 R]
-/Limits [(section*.25) (section*.3)]
->> endobj
-3005 0 obj <<
-/Names [(section*.30) 669 0 R (section*.31) 673 0 R (section*.32) 708 0 R (section*.33) 761 0 R (section*.34) 796 0 R (section*.35) 831 0 R]
-/Limits [(section*.30) (section*.35)]
->> endobj
-3006 0 obj <<
-/Names [(section*.36) 916 0 R (section*.37) 993 0 R (section*.38) 1043 0 R (section*.39) 1133 0 R (section*.4) 220 0 R (section*.40) 1175 0 R]
-/Limits [(section*.36) (section*.40)]
->> endobj
-3007 0 obj <<
-/Names [(section*.41) 1212 0 R (section*.42) 1302 0 R (section*.43) 1350 0 R (section*.44) 1422 0 R (section*.45) 1467 0 R (section*.46) 1551 0 R]
-/Limits [(section*.41) (section*.46)]
->> endobj
-3008 0 obj <<
-/Names [(section*.47) 1645 0 R (section*.48) 1824 0 R (section*.49) 1905 0 R (section*.5) 226 0 R (section*.50) 1939 0 R (section*.51) 2016 0 R]
-/Limits [(section*.47) (section*.51)]
->> endobj
-3009 0 obj <<
-/Names [(section*.52) 2714 0 R (section*.6) 227 0 R (section*.7) 233 0 R (section*.8) 234 0 R (section*.9) 235 0 R (section.1) 6 0 R]
-/Limits [(section*.52) (section.1)]
->> endobj
-3010 0 obj <<
-/Names [(section.2) 10 0 R (section.3) 14 0 R (section.4) 18 0 R (section.5) 26 0 R (section.6) 34 0 R (section.7) 58 0 R]
-/Limits [(section.2) (section.7)]
->> endobj
-3011 0 obj <<
-/Names [(subsection.4.1) 22 0 R (subsection.5.1) 30 0 R (subsection.6.1) 38 0 R (subsection.6.2) 42 0 R (subsection.6.3) 46 0 R (subsection.6.4) 50 0 R]
-/Limits [(subsection.4.1) (subsection.6.4)]
->> endobj
-3012 0 obj <<
-/Names [(subsection.6.5) 54 0 R (subsection.7.1) 62 0 R (subsection.7.10) 98 0 R (subsection.7.11) 102 0 R (subsection.7.12) 106 0 R (subsection.7.13) 110 0 R]
-/Limits [(subsection.6.5) (subsection.7.13)]
->> endobj
-3013 0 obj <<
-/Names [(subsection.7.14) 114 0 R (subsection.7.15) 118 0 R (subsection.7.16) 122 0 R (subsection.7.17) 126 0 R (subsection.7.18) 130 0 R (subsection.7.19) 134 0 R]
-/Limits [(subsection.7.14) (subsection.7.19)]
->> endobj
-3014 0 obj <<
-/Names [(subsection.7.2) 66 0 R (subsection.7.3) 70 0 R (subsection.7.4) 74 0 R (subsection.7.5) 78 0 R (subsection.7.6) 82 0 R (subsection.7.7) 86 0 R]
-/Limits [(subsection.7.2) (subsection.7.7)]
->> endobj
-3015 0 obj <<
-/Names [(subsection.7.8) 90 0 R (subsection.7.9) 94 0 R (subsubsection.6.2.1) 409 0 R (subsubsection.6.2.2) 410 0 R (subsubsection.6.3.1) 441 0 R (subsubsection.6.3.2) 442 0 R]
-/Limits [(subsection.7.8) (subsubsection.6.3.2)]
->> endobj
-3016 0 obj <<
-/Names [(subsubsection.6.3.3) 444 0 R (subsubsection.6.4.1) 468 0 R (subsubsection.6.4.2) 469 0 R (subsubsection.6.4.3) 510 0 R (subsubsection.6.5.1) 717 0 R (subsubsection.6.5.2) 718 0 R]
-/Limits [(subsubsection.6.3.3) (subsubsection.6.5.2)]
->> endobj
-3017 0 obj <<
-/Names [(subsubsection.6.5.3) 725 0 R (subsubsection.6.5.4) 731 0 R (subsubsection.7.1.1) 795 0 R (subsubsection.7.10.1) 1349 0 R (subsubsection.7.11.1) 1385 0 R (subsubsection.7.12.1) 1466 0 R]
-/Limits [(subsubsection.6.5.3) (subsubsection.7.12.1)]
->> endobj
-3018 0 obj <<
-/Names [(subsubsection.7.13.1) 1550 0 R (subsubsection.7.14.1) 1644 0 R (subsubsection.7.15.1) 1808 0 R (subsubsection.7.15.2) 1820 0 R (subsubsection.7.16.1) 1872 0 R (subsubsection.7.16.2) 1873 0 R]
-/Limits [(subsubsection.7.13.1) (subsubsection.7.16.2)]
->> endobj
-3019 0 obj <<
-/Names [(subsubsection.7.17.1) 1936 0 R (subsubsection.7.17.2) 1937 0 R (subsubsection.7.18.1) 1981 0 R (subsubsection.7.18.2) 1982 0 R (subsubsection.7.19.1) 2568 0 R (subsubsection.7.19.2) 2574 0 R]
-/Limits [(subsubsection.7.17.1) (subsubsection.7.19.2)]
->> endobj
-3020 0 obj <<
-/Names [(subsubsection.7.2.1) 830 0 R (subsubsection.7.3.1) 915 0 R (subsubsection.7.4.1) 969 0 R (subsubsection.7.5.1) 1007 0 R (subsubsection.7.6.1) 1095 0 R (subsubsection.7.7.1) 1174 0 R]
-/Limits [(subsubsection.7.2.1) (subsubsection.7.7.1)]
->> endobj
-3021 0 obj <<
-/Names [(subsubsection.7.8.1) 1211 0 R (subsubsection.7.9.1) 1301 0 R]
-/Limits [(subsubsection.7.8.1) (subsubsection.7.9.1)]
->> endobj
-3022 0 obj <<
-/Kids [2895 0 R 2896 0 R 2897 0 R 2898 0 R 2899 0 R 2900 0 R]
-/Limits [(Doc-Start) (group__Datatypes_g84f27605574583d674403f6d71a73a24)]
->> endobj
-3023 0 obj <<
-/Kids [2901 0 R 2902 0 R 2903 0 R 2904 0 R 2905 0 R 2906 0 R]
-/Limits [(group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) (group__Datatypes_gge5679e4f41db32b7b91dfc81574fc1d6a166787e251ef2cbaad9213d8e9d2653)]
->> endobj
-3024 0 obj <<
-/Kids [2907 0 R 2908 0 R 2909 0 R 2910 0 R 2911 0 R 2912 0 R]
-/Limits [(group__Datatypes_gge5679e4f41db32b7b91dfc81574fc1d6f8c3e04d66cd611db5efcd92a6c52425) (index)]
->> endobj
-3025 0 obj <<
-/Kids [2913 0 R 2914 0 R 2915 0 R 2916 0 R 2917 0 R 2918 0 R]
-/Limits [(interfaceppl__Coefficient__tag) (interfaceppl__Congruence__System__tag_a8fd21a451fe377a328d750951ce36f3)]
->> endobj
-3026 0 obj <<
-/Kids [2919 0 R 2920 0 R 2921 0 R 2922 0 R 2923 0 R 2924 0 R]
-/Limits [(interfaceppl__Congruence__System__tag_beb7cdeabf40c32d3aa0c33c0499bf97) (interfaceppl__Constraint__System__tag_27f2fdd3945057760e252740c98573eb)]
->> endobj
-3027 0 obj <<
-/Kids [2925 0 R 2926 0 R 2927 0 R 2928 0 R 2929 0 R 2930 0 R]
-/Limits [(interfaceppl__Constraint__System__tag_2967727ea790f1d517e1529e3f6be79e) (interfaceppl__Generator__System__const__iterator__tag_b823e62915ff895212640119f062252c)]
->> endobj
-3028 0 obj <<
-/Kids [2931 0 R 2932 0 R 2933 0 R 2934 0 R 2935 0 R 2936 0 R]
-/Limits [(interfaceppl__Generator__System__const__iterator__tag_c5344d92361779d92fcb36acf2d406ae) (interfaceppl__Generator__tag_b3fe811bb3a347e553576dadff55339e)]
->> endobj
-3029 0 obj <<
-/Kids [2937 0 R 2938 0 R 2939 0 R 2940 0 R 2941 0 R 2942 0 R]
-/Limits [(interfaceppl__Generator__tag_ce16d45c8fbb00ad5b616aa4344fb798) (interfaceppl__Grid__Generator__tag_85958538f17770d4ae66bcd179d747a1)]
->> endobj
-3030 0 obj <<
-/Kids [2943 0 R 2944 0 R 2945 0 R 2946 0 R 2947 0 R 2948 0 R]
-/Limits [(interfaceppl__Grid__Generator__tag_8b96d560404b7b7ee0ec7ea1aef80280) (interfaceppl__MIP__Problem__tag_0d5a001977b49f77a4514de614bf3c4c)]
->> endobj
-3031 0 obj <<
-/Kids [2949 0 R 2950 0 R 2951 0 R 2952 0 R 2953 0 R 2954 0 R]
-/Limits [(interfaceppl__MIP__Problem__tag_19ff64e7fd60a4e08c782a4683d62167) (interfaceppl__MIP__Problem__tag_e7dc964062c194e3ae8eef0a828164ae)]
->> endobj
-3032 0 obj <<
-/Kids [2955 0 R 2956 0 R 2957 0 R 2958 0 R 2959 0 R 2960 0 R]
-/Limits [(interfaceppl__MIP__Problem__tag_ebfd121256089b1415f3bc6989c25bbb) (interfaceppl__Polyhedron__tag_01daecb5bf8e498e7d539d7f3ba8496e)]
->> endobj
-3033 0 obj <<
-/Kids [2961 0 R 2962 0 R 2963 0 R 2964 0 R 2965 0 R 2966 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_06c7c974043c12bcf349c119e73cc681) (interfaceppl__Polyhedron__tag_6ff56c68b449b94588ea7290d01625d5)]
->> endobj
-3034 0 obj <<
-/Kids [2967 0 R 2968 0 R 2969 0 R 2970 0 R 2971 0 R 2972 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_6ffd595f3e1d85275962dde5f8401c7f) (interfaceppl__Polyhedron__tag_affebaba13f6fc73438bdccde0966547)]
->> endobj
-3035 0 obj <<
-/Kids [2973 0 R 2974 0 R 2975 0 R 2976 0 R 2977 0 R 2978 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_b062917f016d95800e29f87c203fd3bb) (interfaceppl__Polyhedron__tag_f93c7e3e554a92e8d3eeb4cf4261debd)]
->> endobj
-3036 0 obj <<
-/Kids [2979 0 R 2980 0 R 2981 0 R 2982 0 R 2983 0 R 2984 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_f98013213e01ca8514b6dbd20116af4d) (page.40)]
->> endobj
-3037 0 obj <<
-/Kids [2985 0 R 2986 0 R 2987 0 R 2988 0 R 2989 0 R 2990 0 R]
-/Limits [(page.41) (page.73)]
->> endobj
-3038 0 obj <<
-/Kids [2991 0 R 2992 0 R 2993 0 R 2994 0 R 2995 0 R 2996 0 R]
-/Limits [(page.74) (paragraph.7.19.2.17)]
->> endobj
-3039 0 obj <<
-/Kids [2997 0 R 2998 0 R 2999 0 R 3000 0 R 3001 0 R 3002 0 R]
-/Limits [(paragraph.7.19.2.18) (section*.19)]
->> endobj
-3040 0 obj <<
-/Kids [3003 0 R 3004 0 R 3005 0 R 3006 0 R 3007 0 R 3008 0 R]
-/Limits [(section*.2) (section*.51)]
->> endobj
-3041 0 obj <<
-/Kids [3009 0 R 3010 0 R 3011 0 R 3012 0 R 3013 0 R 3014 0 R]
-/Limits [(section*.52) (subsection.7.7)]
->> endobj
-3042 0 obj <<
-/Kids [3015 0 R 3016 0 R 3017 0 R 3018 0 R 3019 0 R 3020 0 R]
-/Limits [(subsection.7.8) (subsubsection.7.7.1)]
->> endobj
-3043 0 obj <<
-/Kids [3021 0 R]
-/Limits [(subsubsection.7.8.1) (subsubsection.7.9.1)]
->> endobj
-3044 0 obj <<
-/Kids [3022 0 R 3023 0 R 3024 0 R 3025 0 R 3026 0 R 3027 0 R]
-/Limits [(Doc-Start) (interfaceppl__Generator__System__const__iterator__tag_b823e62915ff895212640119f062252c)]
->> endobj
-3045 0 obj <<
-/Kids [3028 0 R 3029 0 R 3030 0 R 3031 0 R 3032 0 R 3033 0 R]
-/Limits [(interfaceppl__Generator__System__const__iterator__tag_c5344d92361779d92fcb36acf2d406ae) (interfaceppl__Polyhedron__tag_6ff56c68b449b94588ea7290d01625d5)]
->> endobj
-3046 0 obj <<
-/Kids [3034 0 R 3035 0 R 3036 0 R 3037 0 R 3038 0 R 3039 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_6ffd595f3e1d85275962dde5f8401c7f) (section*.19)]
->> endobj
-3047 0 obj <<
-/Kids [3040 0 R 3041 0 R 3042 0 R 3043 0 R]
-/Limits [(section*.2) (subsubsection.7.9.1)]
->> endobj
-3048 0 obj <<
-/Kids [3044 0 R 3045 0 R 3046 0 R 3047 0 R]
-/Limits [(Doc-Start) (subsubsection.7.9.1)]
->> endobj
-3049 0 obj <<
-/Dests 3048 0 R
->> endobj
-3050 0 obj <<
-/Type /Catalog
-/Pages 2893 0 R
-/Outlines 2894 0 R
-/Names 3049 0 R
-/PageMode/UseOutlines/PageLabels << /Nums [0 << /S /D >> 1 << /S /r >> 2 << /S /D >> ] >>
-/OpenAction 137 0 R
->> endobj
-3051 0 obj <<
-/Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.3)/Keywords()
-/CreationDate (D:20090418071524+02'00')
-/ModDate (D:20090418071524+02'00')
-/Trapped /False
-/PTEX.Fullbanner (This is pdfTeX using libpoppler, Version 3.141592-1.40.3-2.2 (Web2C 7.5.6) kpathsea version 3.5.6)
->> endobj
-xref
-0 3052
-0000000001 65535 f 
-0000000002 00000 f 
-0000000003 00000 f 
-0000000004 00000 f 
-0000000000 00000 f 
-0000000015 00000 n 
-0000022488 00000 n 
-0000726196 00000 n 
-0000000060 00000 n 
-0000000134 00000 n 
-0000027112 00000 n 
-0000726109 00000 n 
-0000000179 00000 n 
-0000000345 00000 n 
-0000065541 00000 n 
-0000726020 00000 n 
-0000000391 00000 n 
-0000000577 00000 n 
-0000086896 00000 n 
-0000725894 00000 n 
-0000000623 00000 n 
-0000000713 00000 n 
-0000086952 00000 n 
-0000725833 00000 n 
-0000000764 00000 n 
-0000000826 00000 n 
-0000087008 00000 n 
-0000725707 00000 n 
-0000000872 00000 n 
-0000000957 00000 n 
-0000087064 00000 n 
-0000725646 00000 n 
-0000001008 00000 n 
-0000001088 00000 n 
-0000094567 00000 n 
-0000725520 00000 n 
-0000001134 00000 n 
-0000001264 00000 n 
-0000094679 00000 n 
-0000725446 00000 n 
-0000001315 00000 n 
-0000001448 00000 n 
-0000094797 00000 n 
-0000725359 00000 n 
-0000001499 00000 n 
-0000001730 00000 n 
-0000098210 00000 n 
-0000725272 00000 n 
-0000001781 00000 n 
-0000001891 00000 n 
-0000108458 00000 n 
-0000725185 00000 n 
-0000001942 00000 n 
-0000002042 00000 n 
-0000115777 00000 n 
-0000725111 00000 n 
-0000002093 00000 n 
-0000002208 00000 n 
-0000159626 00000 n 
-0000724996 00000 n 
-0000002254 00000 n 
-0000002379 00000 n 
-0000159739 00000 n 
-0000724922 00000 n 
-0000002430 00000 n 
-0000002664 00000 n 
-0000166339 00000 n 
-0000724835 00000 n 
-0000002715 00000 n 
-0000003063 00000 n 
-0000173108 00000 n 
-0000724748 00000 n 
-0000003114 00000 n 
-0000003381 00000 n 
-0000190947 00000 n 
-0000724661 00000 n 
-0000003432 00000 n 
-0000003661 00000 n 
-0000208382 00000 n 
-0000724574 00000 n 
-0000003712 00000 n 
-0000004060 00000 n 
-0000218532 00000 n 
-0000724487 00000 n 
-0000004111 00000 n 
-0000004378 00000 n 
-0000226026 00000 n 
-0000724400 00000 n 
-0000004429 00000 n 
-0000004658 00000 n 
-0000243423 00000 n 
-0000724313 00000 n 
-0000004709 00000 n 
-0000005052 00000 n 
-0000251745 00000 n 
-0000724226 00000 n 
-0000005103 00000 n 
-0000005365 00000 n 
-0000269929 00000 n 
-0000724137 00000 n 
-0000005417 00000 n 
-0000005642 00000 n 
-0000277589 00000 n 
-0000724046 00000 n 
-0000005695 00000 n 
-0000006067 00000 n 
-0000286548 00000 n 
-0000723954 00000 n 
-0000006120 00000 n 
-0000006411 00000 n 
-0000303425 00000 n 
-0000723862 00000 n 
-0000006464 00000 n 
-0000006717 00000 n 
-0000322386 00000 n 
-0000723770 00000 n 
-0000006770 00000 n 
-0000007038 00000 n 
-0000339785 00000 n 
-0000723678 00000 n 
-0000007091 00000 n 
-0000007329 00000 n 
-0000375230 00000 n 
-0000723586 00000 n 
-0000007382 00000 n 
-0000007802 00000 n 
-0000394914 00000 n 
-0000723494 00000 n 
-0000007855 00000 n 
-0000008242 00000 n 
-0000400819 00000 n 
-0000723402 00000 n 
-0000008295 00000 n 
-0000008634 00000 n 
-0000419214 00000 n 
-0000723324 00000 n 
-0000008687 00000 n 
-0000008917 00000 n 
-0000010191 00000 n 
-0000010424 00000 n 
-0000008969 00000 n 
-0000010310 00000 n 
-0000010367 00000 n 
-0000720804 00000 n 
-0000719228 00000 n 
-0000719661 00000 n 
-0000719372 00000 n 
-0000721160 00000 n 
-0000012785 00000 n 
-0000012951 00000 n 
-0000013103 00000 n 
-0000013269 00000 n 
-0000013567 00000 n 
-0000013742 00000 n 
-0000013893 00000 n 
-0000014044 00000 n 
-0000014195 00000 n 
-0000014346 00000 n 
-0000014502 00000 n 
-0000014652 00000 n 
-0000014809 00000 n 
-0000014960 00000 n 
-0000015115 00000 n 
-0000015271 00000 n 
-0000015428 00000 n 
-0000015585 00000 n 
-0000015742 00000 n 
-0000015892 00000 n 
-0000016049 00000 n 
-0000016206 00000 n 
-0000016362 00000 n 
-0000019955 00000 n 
-0000016517 00000 n 
-0000016804 00000 n 
-0000012454 00000 n 
-0000010535 00000 n 
-0000016690 00000 n 
-0000720448 00000 n 
-0000013419 00000 n 
-0000720096 00000 n 
-0000016747 00000 n 
-0000065654 00000 n 
-0000027225 00000 n 
-0000020111 00000 n 
-0000020268 00000 n 
-0000020425 00000 n 
-0000020582 00000 n 
-0000020739 00000 n 
-0000020895 00000 n 
-0000021052 00000 n 
-0000021210 00000 n 
-0000021368 00000 n 
-0000021526 00000 n 
-0000021684 00000 n 
-0000021842 00000 n 
-0000021999 00000 n 
-0000022157 00000 n 
-0000022315 00000 n 
-0000022600 00000 n 
-0000019696 00000 n 
-0000016902 00000 n 
-0000022543 00000 n 
-0000720980 00000 n 
-0000026168 00000 n 
-0000026352 00000 n 
-0000026539 00000 n 
-0000026720 00000 n 
-0000026882 00000 n 
-0000027339 00000 n 
-0000025997 00000 n 
-0000022724 00000 n 
-0000027055 00000 n 
-0000027168 00000 n 
-0000027282 00000 n 
-0000030900 00000 n 
-0000031244 00000 n 
-0000030761 00000 n 
-0000027450 00000 n 
-0000031073 00000 n 
-0000031130 00000 n 
-0000031187 00000 n 
-0000034916 00000 n 
-0000035260 00000 n 
-0000034777 00000 n 
-0000031342 00000 n 
-0000035089 00000 n 
-0000035146 00000 n 
-0000035203 00000 n 
-0000038420 00000 n 
-0000038820 00000 n 
-0000038281 00000 n 
-0000035358 00000 n 
-0000038593 00000 n 
-0000038650 00000 n 
-0000038707 00000 n 
-0000038764 00000 n 
-0000721278 00000 n 
-0000042501 00000 n 
-0000042788 00000 n 
-0000042362 00000 n 
-0000038918 00000 n 
-0000042674 00000 n 
-0000042731 00000 n 
-0000046204 00000 n 
-0000046491 00000 n 
-0000046065 00000 n 
-0000042886 00000 n 
-0000046377 00000 n 
-0000046434 00000 n 
-0000049881 00000 n 
-0000050282 00000 n 
-0000049742 00000 n 
-0000046589 00000 n 
-0000050054 00000 n 
-0000050111 00000 n 
-0000050168 00000 n 
-0000050225 00000 n 
-0000054084 00000 n 
-0000054428 00000 n 
-0000053945 00000 n 
-0000050380 00000 n 
-0000054257 00000 n 
-0000054314 00000 n 
-0000054371 00000 n 
-0000057596 00000 n 
-0000058054 00000 n 
-0000057457 00000 n 
-0000054526 00000 n 
-0000057769 00000 n 
-0000057826 00000 n 
-0000057883 00000 n 
-0000057940 00000 n 
-0000057997 00000 n 
-0000060918 00000 n 
-0000061093 00000 n 
-0000065116 00000 n 
-0000061267 00000 n 
-0000061611 00000 n 
-0000060763 00000 n 
-0000058152 00000 n 
-0000061440 00000 n 
-0000061497 00000 n 
-0000061554 00000 n 
-0000720270 00000 n 
-0000721396 00000 n 
-0000065311 00000 n 
-0000065711 00000 n 
-0000064969 00000 n 
-0000061722 00000 n 
-0000065484 00000 n 
-0000065597 00000 n 
-0000069724 00000 n 
-0000069954 00000 n 
-0000069585 00000 n 
-0000065809 00000 n 
-0000069897 00000 n 
-0000073513 00000 n 
-0000073743 00000 n 
-0000073374 00000 n 
-0000070052 00000 n 
-0000073686 00000 n 
-0000077282 00000 n 
-0000077512 00000 n 
-0000077143 00000 n 
-0000073841 00000 n 
-0000077455 00000 n 
-0000081053 00000 n 
-0000081229 00000 n 
-0000081516 00000 n 
-0000080906 00000 n 
-0000077610 00000 n 
-0000081402 00000 n 
-0000081459 00000 n 
-0000083517 00000 n 
-0000083674 00000 n 
-0000083831 00000 n 
-0000083988 00000 n 
-0000084145 00000 n 
-0000084302 00000 n 
-0000084475 00000 n 
-0000084632 00000 n 
-0000084828 00000 n 
-0000084985 00000 n 
-0000085165 00000 n 
-0000085322 00000 n 
-0000085494 00000 n 
-0000085651 00000 n 
-0000085848 00000 n 
-0000086004 00000 n 
-0000086184 00000 n 
-0000086341 00000 n 
-0000086511 00000 n 
-0000089059 00000 n 
-0000089255 00000 n 
-0000086666 00000 n 
-0000087120 00000 n 
-0000083226 00000 n 
-0000081614 00000 n 
-0000086839 00000 n 
-0000721514 00000 n 
-0000159682 00000 n 
-0000166282 00000 n 
-0000173051 00000 n 
-0000190890 00000 n 
-0000200802 00000 n 
-0000208953 00000 n 
-0000225968 00000 n 
-0000089412 00000 n 
-0000089591 00000 n 
-0000089748 00000 n 
-0000089919 00000 n 
-0000090077 00000 n 
-0000090279 00000 n 
-0000090437 00000 n 
-0000090622 00000 n 
-0000090780 00000 n 
-0000090957 00000 n 
-0000091114 00000 n 
-0000091293 00000 n 
-0000091451 00000 n 
-0000091625 00000 n 
-0000091783 00000 n 
-0000091995 00000 n 
-0000092190 00000 n 
-0000092348 00000 n 
-0000092551 00000 n 
-0000092746 00000 n 
-0000092904 00000 n 
-0000093099 00000 n 
-0000093257 00000 n 
-0000093429 00000 n 
-0000093587 00000 n 
-0000093775 00000 n 
-0000093963 00000 n 
-0000094150 00000 n 
-0000094337 00000 n 
-0000094910 00000 n 
-0000088680 00000 n 
-0000087218 00000 n 
-0000094510 00000 n 
-0000094622 00000 n 
-0000094735 00000 n 
-0000094853 00000 n 
-0000243365 00000 n 
-0000251687 00000 n 
-0000269871 00000 n 
-0000277531 00000 n 
-0000286490 00000 n 
-0000303367 00000 n 
-0000322328 00000 n 
-0000339727 00000 n 
-0000375172 00000 n 
-0000400761 00000 n 
-0000394857 00000 n 
-0000419157 00000 n 
-0000097687 00000 n 
-0000097801 00000 n 
-0000097915 00000 n 
-0000098029 00000 n 
-0000096579 00000 n 
-0000096770 00000 n 
-0000096961 00000 n 
-0000097152 00000 n 
-0000100589 00000 n 
-0000097343 00000 n 
-0000098494 00000 n 
-0000096408 00000 n 
-0000095021 00000 n 
-0000097516 00000 n 
-0000097573 00000 n 
-0000097630 00000 n 
-0000097744 00000 n 
-0000097858 00000 n 
-0000097972 00000 n 
-0000098091 00000 n 
-0000098148 00000 n 
-0000098266 00000 n 
-0000098323 00000 n 
-0000098380 00000 n 
-0000098437 00000 n 
-0000102665 00000 n 
-0000100780 00000 n 
-0000100971 00000 n 
-0000101161 00000 n 
-0000101352 00000 n 
-0000101542 00000 n 
-0000101732 00000 n 
-0000105454 00000 n 
-0000101923 00000 n 
-0000103006 00000 n 
-0000100394 00000 n 
-0000098605 00000 n 
-0000102096 00000 n 
-0000102153 00000 n 
-0000102210 00000 n 
-0000102267 00000 n 
-0000102324 00000 n 
-0000102381 00000 n 
-0000102437 00000 n 
-0000102494 00000 n 
-0000719807 00000 n 
-0000102551 00000 n 
-0000102608 00000 n 
-0000102722 00000 n 
-0000102779 00000 n 
-0000102836 00000 n 
-0000102893 00000 n 
-0000720624 00000 n 
-0000102950 00000 n 
-0000105642 00000 n 
-0000105861 00000 n 
-0000106083 00000 n 
-0000106525 00000 n 
-0000106746 00000 n 
-0000106966 00000 n 
-0000107187 00000 n 
-0000107408 00000 n 
-0000107629 00000 n 
-0000107850 00000 n 
-0000108039 00000 n 
-0000108228 00000 n 
-0000109412 00000 n 
-0000105211 00000 n 
-0000103156 00000 n 
-0000108401 00000 n 
-0000108514 00000 n 
-0000106305 00000 n 
-0000108571 00000 n 
-0000108628 00000 n 
-0000108685 00000 n 
-0000108742 00000 n 
-0000108799 00000 n 
-0000108856 00000 n 
-0000108918 00000 n 
-0000108980 00000 n 
-0000109042 00000 n 
-0000109104 00000 n 
-0000109165 00000 n 
-0000109226 00000 n 
-0000109288 00000 n 
-0000109350 00000 n 
-0000115601 00000 n 
-0000111392 00000 n 
-0000111585 00000 n 
-0000111778 00000 n 
-0000111971 00000 n 
-0000112144 00000 n 
-0000112337 00000 n 
-0000112510 00000 n 
-0000112703 00000 n 
-0000112883 00000 n 
-0000113076 00000 n 
-0000113256 00000 n 
-0000113449 00000 n 
-0000113621 00000 n 
-0000113814 00000 n 
-0000113986 00000 n 
-0000114179 00000 n 
-0000114359 00000 n 
-0000114552 00000 n 
-0000114732 00000 n 
-0000114925 00000 n 
-0000115122 00000 n 
-0000118088 00000 n 
-0000118284 00000 n 
-0000115314 00000 n 
-0000116459 00000 n 
-0000111085 00000 n 
-0000109549 00000 n 
-0000115487 00000 n 
-0000115544 00000 n 
-0000115658 00000 n 
-0000115715 00000 n 
-0000115833 00000 n 
-0000115890 00000 n 
-0000115947 00000 n 
-0000116004 00000 n 
-0000116060 00000 n 
-0000116117 00000 n 
-0000116174 00000 n 
-0000116231 00000 n 
-0000116288 00000 n 
-0000116345 00000 n 
-0000116402 00000 n 
-0000149410 00000 n 
-0000118669 00000 n 
-0000118840 00000 n 
-0000119033 00000 n 
-0000119204 00000 n 
-0000119397 00000 n 
-0000119576 00000 n 
-0000119769 00000 n 
-0000119947 00000 n 
-0000120137 00000 n 
-0000120332 00000 n 
-0000120524 00000 n 
-0000120720 00000 n 
-0000121104 00000 n 
-0000121276 00000 n 
-0000121469 00000 n 
-0000121641 00000 n 
-0000121834 00000 n 
-0000122014 00000 n 
-0000122207 00000 n 
-0000122387 00000 n 
-0000122580 00000 n 
-0000122777 00000 n 
-0000123162 00000 n 
-0000123359 00000 n 
-0000123742 00000 n 
-0000123917 00000 n 
-0000124107 00000 n 
-0000124283 00000 n 
-0000124476 00000 n 
-0000124660 00000 n 
-0000127609 00000 n 
-0000127794 00000 n 
-0000124852 00000 n 
-0000125993 00000 n 
-0000117661 00000 n 
-0000116596 00000 n 
-0000125025 00000 n 
-0000125082 00000 n 
-0000118477 00000 n 
-0000125139 00000 n 
-0000125196 00000 n 
-0000125253 00000 n 
-0000125310 00000 n 
-0000125367 00000 n 
-0000125424 00000 n 
-0000120913 00000 n 
-0000125481 00000 n 
-0000125538 00000 n 
-0000125595 00000 n 
-0000125652 00000 n 
-0000125709 00000 n 
-0000122970 00000 n 
-0000125766 00000 n 
-0000123551 00000 n 
-0000125823 00000 n 
-0000125880 00000 n 
-0000125937 00000 n 
-0000721632 00000 n 
-0000127987 00000 n 
-0000128189 00000 n 
-0000128574 00000 n 
-0000128776 00000 n 
-0000129161 00000 n 
-0000129335 00000 n 
-0000129527 00000 n 
-0000129701 00000 n 
-0000129894 00000 n 
-0000130065 00000 n 
-0000130257 00000 n 
-0000130428 00000 n 
-0000130620 00000 n 
-0000130815 00000 n 
-0000131007 00000 n 
-0000131202 00000 n 
-0000131587 00000 n 
-0000131791 00000 n 
-0000132176 00000 n 
-0000132381 00000 n 
-0000132765 00000 n 
-0000132977 00000 n 
-0000133362 00000 n 
-0000133574 00000 n 
-0000137165 00000 n 
-0000133959 00000 n 
-0000134930 00000 n 
-0000127206 00000 n 
-0000126117 00000 n 
-0000134132 00000 n 
-0000134189 00000 n 
-0000134246 00000 n 
-0000128382 00000 n 
-0000134303 00000 n 
-0000128969 00000 n 
-0000134360 00000 n 
-0000134417 00000 n 
-0000134474 00000 n 
-0000134531 00000 n 
-0000134588 00000 n 
-0000134645 00000 n 
-0000131395 00000 n 
-0000134702 00000 n 
-0000131984 00000 n 
-0000134759 00000 n 
-0000132573 00000 n 
-0000134816 00000 n 
-0000133170 00000 n 
-0000134873 00000 n 
-0000133767 00000 n 
-0000137358 00000 n 
-0000137583 00000 n 
-0000137809 00000 n 
-0000138034 00000 n 
-0000138260 00000 n 
-0000138485 00000 n 
-0000138678 00000 n 
-0000138904 00000 n 
-0000139354 00000 n 
-0000139579 00000 n 
-0000140030 00000 n 
-0000140223 00000 n 
-0000140449 00000 n 
-0000140899 00000 n 
-0000141125 00000 n 
-0000141318 00000 n 
-0000141511 00000 n 
-0000141704 00000 n 
-0000141897 00000 n 
-0000142085 00000 n 
-0000142277 00000 n 
-0000142470 00000 n 
-0000142663 00000 n 
-0000142856 00000 n 
-0000143049 00000 n 
-0000143242 00000 n 
-0000143435 00000 n 
-0000143628 00000 n 
-0000143820 00000 n 
-0000147012 00000 n 
-0000147205 00000 n 
-0000144013 00000 n 
-0000144755 00000 n 
-0000136762 00000 n 
-0000135054 00000 n 
-0000144186 00000 n 
-0000144243 00000 n 
-0000139129 00000 n 
-0000139805 00000 n 
-0000140674 00000 n 
-0000144300 00000 n 
-0000144357 00000 n 
-0000144414 00000 n 
-0000144471 00000 n 
-0000144527 00000 n 
-0000144584 00000 n 
-0000144641 00000 n 
-0000144698 00000 n 
-0000151615 00000 n 
-0000151729 00000 n 
-0000151791 00000 n 
-0000151853 00000 n 
-0000151913 00000 n 
-0000151975 00000 n 
-0000152037 00000 n 
-0000152150 00000 n 
-0000152212 00000 n 
-0000152274 00000 n 
-0000152336 00000 n 
-0000152398 00000 n 
-0000152512 00000 n 
-0000152574 00000 n 
-0000152636 00000 n 
-0000152754 00000 n 
-0000147398 00000 n 
-0000147590 00000 n 
-0000147783 00000 n 
-0000147975 00000 n 
-0000148168 00000 n 
-0000148361 00000 n 
-0000148554 00000 n 
-0000149524 00000 n 
-0000146809 00000 n 
-0000144879 00000 n 
-0000148727 00000 n 
-0000148784 00000 n 
-0000148841 00000 n 
-0000148898 00000 n 
-0000148955 00000 n 
-0000149012 00000 n 
-0000149069 00000 n 
-0000149126 00000 n 
-0000149182 00000 n 
-0000149239 00000 n 
-0000149296 00000 n 
-0000149353 00000 n 
-0000149467 00000 n 
-0000151328 00000 n 
-0000152868 00000 n 
-0000151189 00000 n 
-0000149648 00000 n 
-0000151501 00000 n 
-0000151558 00000 n 
-0000151672 00000 n 
-0000718358 00000 n 
-0000718649 00000 n 
-0000152094 00000 n 
-0000152455 00000 n 
-0000152698 00000 n 
-0000152811 00000 n 
-0000155307 00000 n 
-0000155513 00000 n 
-0000155686 00000 n 
-0000155892 00000 n 
-0000156065 00000 n 
-0000156270 00000 n 
-0000156443 00000 n 
-0000156636 00000 n 
-0000156841 00000 n 
-0000157014 00000 n 
-0000157219 00000 n 
-0000157391 00000 n 
-0000157583 00000 n 
-0000157789 00000 n 
-0000157982 00000 n 
-0000158188 00000 n 
-0000158381 00000 n 
-0000158587 00000 n 
-0000158780 00000 n 
-0000158985 00000 n 
-0000159191 00000 n 
-0000162776 00000 n 
-0000162982 00000 n 
-0000159396 00000 n 
-0000160478 00000 n 
-0000155000 00000 n 
-0000153017 00000 n 
-0000159569 00000 n 
-0000159795 00000 n 
-0000159852 00000 n 
-0000159909 00000 n 
-0000159966 00000 n 
-0000160023 00000 n 
-0000160080 00000 n 
-0000160136 00000 n 
-0000160193 00000 n 
-0000160250 00000 n 
-0000160307 00000 n 
-0000160364 00000 n 
-0000160421 00000 n 
-0000163175 00000 n 
-0000163381 00000 n 
-0000163574 00000 n 
-0000163780 00000 n 
-0000163971 00000 n 
-0000164201 00000 n 
-0000164398 00000 n 
-0000164626 00000 n 
-0000164823 00000 n 
-0000165208 00000 n 
-0000165438 00000 n 
-0000165634 00000 n 
-0000168898 00000 n 
-0000169127 00000 n 
-0000165826 00000 n 
-0000166621 00000 n 
-0000162517 00000 n 
-0000160615 00000 n 
-0000165999 00000 n 
-0000166056 00000 n 
-0000166113 00000 n 
-0000166170 00000 n 
-0000166226 00000 n 
-0000166395 00000 n 
-0000166451 00000 n 
-0000166508 00000 n 
-0000165016 00000 n 
-0000166565 00000 n 
-0000721750 00000 n 
-0000169512 00000 n 
-0000169742 00000 n 
-0000170128 00000 n 
-0000170321 00000 n 
-0000170551 00000 n 
-0000170943 00000 n 
-0000171173 00000 n 
-0000171558 00000 n 
-0000171750 00000 n 
-0000171963 00000 n 
-0000172143 00000 n 
-0000172356 00000 n 
-0000175908 00000 n 
-0000176121 00000 n 
-0000176301 00000 n 
-0000172536 00000 n 
-0000173334 00000 n 
-0000168615 00000 n 
-0000166758 00000 n 
-0000172709 00000 n 
-0000172766 00000 n 
-0000169320 00000 n 
-0000172823 00000 n 
-0000169935 00000 n 
-0000172880 00000 n 
-0000170748 00000 n 
-0000172937 00000 n 
-0000171366 00000 n 
-0000172994 00000 n 
-0000173164 00000 n 
-0000173221 00000 n 
-0000173278 00000 n 
-0000176687 00000 n 
-0000176899 00000 n 
-0000177078 00000 n 
-0000177271 00000 n 
-0000177484 00000 n 
-0000177663 00000 n 
-0000177856 00000 n 
-0000178069 00000 n 
-0000178262 00000 n 
-0000178475 00000 n 
-0000178668 00000 n 
-0000179054 00000 n 
-0000179267 00000 n 
-0000179460 00000 n 
-0000179672 00000 n 
-0000179864 00000 n 
-0000180257 00000 n 
-0000180470 00000 n 
-0000180663 00000 n 
-0000181057 00000 n 
-0000181269 00000 n 
-0000181461 00000 n 
-0000181673 00000 n 
-0000181853 00000 n 
-0000182065 00000 n 
-0000182244 00000 n 
-0000182629 00000 n 
-0000182839 00000 n 
-0000186495 00000 n 
-0000186707 00000 n 
-0000186899 00000 n 
-0000187112 00000 n 
-0000183028 00000 n 
-0000183941 00000 n 
-0000175481 00000 n 
-0000173471 00000 n 
-0000183201 00000 n 
-0000183258 00000 n 
-0000176494 00000 n 
-0000183315 00000 n 
-0000183372 00000 n 
-0000183429 00000 n 
-0000183486 00000 n 
-0000178861 00000 n 
-0000183543 00000 n 
-0000183600 00000 n 
-0000180060 00000 n 
-0000183657 00000 n 
-0000180860 00000 n 
-0000183714 00000 n 
-0000183771 00000 n 
-0000183827 00000 n 
-0000182436 00000 n 
-0000183884 00000 n 
-0000187305 00000 n 
-0000187517 00000 n 
-0000187710 00000 n 
-0000187923 00000 n 
-0000188103 00000 n 
-0000188307 00000 n 
-0000188478 00000 n 
-0000188670 00000 n 
-0000189055 00000 n 
-0000189260 00000 n 
-0000189432 00000 n 
-0000189636 00000 n 
-0000189806 00000 n 
-0000190010 00000 n 
-0000190182 00000 n 
-0000193847 00000 n 
-0000194052 00000 n 
-0000194224 00000 n 
-0000190375 00000 n 
-0000191288 00000 n 
-0000186196 00000 n 
-0000184065 00000 n 
-0000190548 00000 n 
-0000190605 00000 n 
-0000190662 00000 n 
-0000190719 00000 n 
-0000190776 00000 n 
-0000190833 00000 n 
-0000191003 00000 n 
-0000191060 00000 n 
-0000188862 00000 n 
-0000718504 00000 n 
-0000719084 00000 n 
-0000191117 00000 n 
-0000191174 00000 n 
-0000191231 00000 n 
-0000194417 00000 n 
-0000194622 00000 n 
-0000194815 00000 n 
-0000195020 00000 n 
-0000195212 00000 n 
-0000195405 00000 n 
-0000195608 00000 n 
-0000195800 00000 n 
-0000195993 00000 n 
-0000196339 00000 n 
-0000196544 00000 n 
-0000196737 00000 n 
-0000196910 00000 n 
-0000197114 00000 n 
-0000197306 00000 n 
-0000197477 00000 n 
-0000197681 00000 n 
-0000197873 00000 n 
-0000198078 00000 n 
-0000198271 00000 n 
-0000198472 00000 n 
-0000198661 00000 n 
-0000198866 00000 n 
-0000199058 00000 n 
-0000199263 00000 n 
-0000199456 00000 n 
-0000199660 00000 n 
-0000199832 00000 n 
-0000200858 00000 n 
-0000193460 00000 n 
-0000191451 00000 n 
-0000200005 00000 n 
-0000200062 00000 n 
-0000200119 00000 n 
-0000200176 00000 n 
-0000200233 00000 n 
-0000196166 00000 n 
-0000200290 00000 n 
-0000200347 00000 n 
-0000200404 00000 n 
-0000200461 00000 n 
-0000200518 00000 n 
-0000200575 00000 n 
-0000200632 00000 n 
-0000200688 00000 n 
-0000200745 00000 n 
-0000203242 00000 n 
-0000203472 00000 n 
-0000203669 00000 n 
-0000203897 00000 n 
-0000204289 00000 n 
-0000204482 00000 n 
-0000204711 00000 n 
-0000205105 00000 n 
-0000205298 00000 n 
-0000205527 00000 n 
-0000205913 00000 n 
-0000206142 00000 n 
-0000206528 00000 n 
-0000206721 00000 n 
-0000206950 00000 n 
-0000207344 00000 n 
-0000207574 00000 n 
-0000207960 00000 n 
-0000208152 00000 n 
-0000209009 00000 n 
-0000202907 00000 n 
-0000200982 00000 n 
-0000208325 00000 n 
-0000208438 00000 n 
-0000208495 00000 n 
-0000208551 00000 n 
-0000204092 00000 n 
-0000208608 00000 n 
-0000204908 00000 n 
-0000208665 00000 n 
-0000205720 00000 n 
-0000208722 00000 n 
-0000206335 00000 n 
-0000208780 00000 n 
-0000207146 00000 n 
-0000208838 00000 n 
-0000207767 00000 n 
-0000208896 00000 n 
-0000211545 00000 n 
-0000211759 00000 n 
-0000211940 00000 n 
-0000212154 00000 n 
-0000212335 00000 n 
-0000212548 00000 n 
-0000212728 00000 n 
-0000213115 00000 n 
-0000213329 00000 n 
-0000213510 00000 n 
-0000213898 00000 n 
-0000214112 00000 n 
-0000214293 00000 n 
-0000214681 00000 n 
-0000214895 00000 n 
-0000215089 00000 n 
-0000215303 00000 n 
-0000215497 00000 n 
-0000215885 00000 n 
-0000216098 00000 n 
-0000216290 00000 n 
-0000216503 00000 n 
-0000216696 00000 n 
-0000216910 00000 n 
-0000217104 00000 n 
-0000217500 00000 n 
-0000217713 00000 n 
-0000217906 00000 n 
-0000221600 00000 n 
-0000221814 00000 n 
-0000218299 00000 n 
-0000219295 00000 n 
-0000211095 00000 n 
-0000209146 00000 n 
-0000218473 00000 n 
-0000218589 00000 n 
-0000218648 00000 n 
-0000218707 00000 n 
-0000218765 00000 n 
-0000212921 00000 n 
-0000218824 00000 n 
-0000213704 00000 n 
-0000218883 00000 n 
-0000214487 00000 n 
-0000218942 00000 n 
-0000219001 00000 n 
-0000215691 00000 n 
-0000219060 00000 n 
-0000219119 00000 n 
-0000219178 00000 n 
-0000217302 00000 n 
-0000219237 00000 n 
-0000218103 00000 n 
-0000721868 00000 n 
-0000222008 00000 n 
-0000222222 00000 n 
-0000222401 00000 n 
-0000222615 00000 n 
-0000222794 00000 n 
-0000223182 00000 n 
-0000223396 00000 n 
-0000223590 00000 n 
-0000223803 00000 n 
-0000223995 00000 n 
-0000224209 00000 n 
-0000224403 00000 n 
-0000224617 00000 n 
-0000224810 00000 n 
-0000225024 00000 n 
-0000228857 00000 n 
-0000229063 00000 n 
-0000229236 00000 n 
-0000229430 00000 n 
-0000225205 00000 n 
-0000226083 00000 n 
-0000221294 00000 n 
-0000219433 00000 n 
-0000225379 00000 n 
-0000225438 00000 n 
-0000225497 00000 n 
-0000225556 00000 n 
-0000222988 00000 n 
-0000225615 00000 n 
-0000225673 00000 n 
-0000225732 00000 n 
-0000225791 00000 n 
-0000225850 00000 n 
-0000225909 00000 n 
-0000229817 00000 n 
-0000230023 00000 n 
-0000230196 00000 n 
-0000230401 00000 n 
-0000230573 00000 n 
-0000230779 00000 n 
-0000230952 00000 n 
-0000231146 00000 n 
-0000231352 00000 n 
-0000231525 00000 n 
-0000231719 00000 n 
-0000231925 00000 n 
-0000232119 00000 n 
-0000232324 00000 n 
-0000232517 00000 n 
-0000232709 00000 n 
-0000232915 00000 n 
-0000233109 00000 n 
-0000233315 00000 n 
-0000233509 00000 n 
-0000233702 00000 n 
-0000234050 00000 n 
-0000234255 00000 n 
-0000234448 00000 n 
-0000234621 00000 n 
-0000234826 00000 n 
-0000235019 00000 n 
-0000235225 00000 n 
-0000238778 00000 n 
-0000238984 00000 n 
-0000239178 00000 n 
-0000239384 00000 n 
-0000235419 00000 n 
-0000236416 00000 n 
-0000228407 00000 n 
-0000226221 00000 n 
-0000235593 00000 n 
-0000235652 00000 n 
-0000235711 00000 n 
-0000229624 00000 n 
-0000235770 00000 n 
-0000235828 00000 n 
-0000235887 00000 n 
-0000235945 00000 n 
-0000236004 00000 n 
-0000236063 00000 n 
-0000236122 00000 n 
-0000236181 00000 n 
-0000233876 00000 n 
-0000236240 00000 n 
-0000236299 00000 n 
-0000236357 00000 n 
-0000239578 00000 n 
-0000239784 00000 n 
-0000239977 00000 n 
-0000240182 00000 n 
-0000240353 00000 n 
-0000240583 00000 n 
-0000240780 00000 n 
-0000241009 00000 n 
-0000241403 00000 n 
-0000241597 00000 n 
-0000241827 00000 n 
-0000242221 00000 n 
-0000242414 00000 n 
-0000242644 00000 n 
-0000246243 00000 n 
-0000246473 00000 n 
-0000246860 00000 n 
-0000242838 00000 n 
-0000243774 00000 n 
-0000238454 00000 n 
-0000236567 00000 n 
-0000243012 00000 n 
-0000243071 00000 n 
-0000243130 00000 n 
-0000243189 00000 n 
-0000243248 00000 n 
-0000243307 00000 n 
-0000243480 00000 n 
-0000243539 00000 n 
-0000243597 00000 n 
-0000241206 00000 n 
-0000243656 00000 n 
-0000242024 00000 n 
-0000243715 00000 n 
-0000247054 00000 n 
-0000247284 00000 n 
-0000247677 00000 n 
-0000247907 00000 n 
-0000248294 00000 n 
-0000248487 00000 n 
-0000248700 00000 n 
-0000248880 00000 n 
-0000249093 00000 n 
-0000249273 00000 n 
-0000249661 00000 n 
-0000249874 00000 n 
-0000250054 00000 n 
-0000250442 00000 n 
-0000250655 00000 n 
-0000250835 00000 n 
-0000254688 00000 n 
-0000254901 00000 n 
-0000251219 00000 n 
-0000252097 00000 n 
-0000245874 00000 n 
-0000243912 00000 n 
-0000251393 00000 n 
-0000251452 00000 n 
-0000246667 00000 n 
-0000251511 00000 n 
-0000247481 00000 n 
-0000251570 00000 n 
-0000248101 00000 n 
-0000251629 00000 n 
-0000251802 00000 n 
-0000251861 00000 n 
-0000251920 00000 n 
-0000249467 00000 n 
-0000251979 00000 n 
-0000250248 00000 n 
-0000252038 00000 n 
-0000251029 00000 n 
-0000255093 00000 n 
-0000255305 00000 n 
-0000255498 00000 n 
-0000255885 00000 n 
-0000256097 00000 n 
-0000256291 00000 n 
-0000256504 00000 n 
-0000256698 00000 n 
-0000257091 00000 n 
-0000257303 00000 n 
-0000257496 00000 n 
-0000257888 00000 n 
-0000258100 00000 n 
-0000258294 00000 n 
-0000258507 00000 n 
-0000258687 00000 n 
-0000258900 00000 n 
-0000259080 00000 n 
-0000259468 00000 n 
-0000259681 00000 n 
-0000259875 00000 n 
-0000260088 00000 n 
-0000260282 00000 n 
-0000260494 00000 n 
-0000260687 00000 n 
-0000260900 00000 n 
-0000261094 00000 n 
-0000261307 00000 n 
-0000261487 00000 n 
-0000262487 00000 n 
-0000254238 00000 n 
-0000252235 00000 n 
-0000261661 00000 n 
-0000261720 00000 n 
-0000261779 00000 n 
-0000255691 00000 n 
-0000261838 00000 n 
-0000261897 00000 n 
-0000256894 00000 n 
-0000261956 00000 n 
-0000257691 00000 n 
-0000262015 00000 n 
-0000262074 00000 n 
-0000262133 00000 n 
-0000259274 00000 n 
-0000262192 00000 n 
-0000262251 00000 n 
-0000262310 00000 n 
-0000262369 00000 n 
-0000262428 00000 n 
-0000265154 00000 n 
-0000265358 00000 n 
-0000265529 00000 n 
-0000265722 00000 n 
-0000266109 00000 n 
-0000266303 00000 n 
-0000266508 00000 n 
-0000266680 00000 n 
-0000266885 00000 n 
-0000267057 00000 n 
-0000267262 00000 n 
-0000267434 00000 n 
-0000267628 00000 n 
-0000267832 00000 n 
-0000268004 00000 n 
-0000268198 00000 n 
-0000268401 00000 n 
-0000268593 00000 n 
-0000268797 00000 n 
-0000268989 00000 n 
-0000269182 00000 n 
-0000269386 00000 n 
-0000272889 00000 n 
-0000273094 00000 n 
-0000273288 00000 n 
-0000273482 00000 n 
-0000269579 00000 n 
-0000270515 00000 n 
-0000264803 00000 n 
-0000262612 00000 n 
-0000269753 00000 n 
-0000269812 00000 n 
-0000269986 00000 n 
-0000270045 00000 n 
-0000265915 00000 n 
-0000270104 00000 n 
-0000719950 00000 n 
-0000718794 00000 n 
-0000270163 00000 n 
-0000270220 00000 n 
-0000270279 00000 n 
-0000270338 00000 n 
-0000270397 00000 n 
-0000270456 00000 n 
-0000721993 00000 n 
-0000273830 00000 n 
-0000274033 00000 n 
-0000274226 00000 n 
-0000274399 00000 n 
-0000274604 00000 n 
-0000274798 00000 n 
-0000275003 00000 n 
-0000275196 00000 n 
-0000275401 00000 n 
-0000275595 00000 n 
-0000275800 00000 n 
-0000275994 00000 n 
-0000276198 00000 n 
-0000276392 00000 n 
-0000276597 00000 n 
-0000280126 00000 n 
-0000280361 00000 n 
-0000280766 00000 n 
-0000281237 00000 n 
-0000281439 00000 n 
-0000276769 00000 n 
-0000277706 00000 n 
-0000272565 00000 n 
-0000270681 00000 n 
-0000276943 00000 n 
-0000277002 00000 n 
-0000273656 00000 n 
-0000277061 00000 n 
-0000277120 00000 n 
-0000277179 00000 n 
-0000277238 00000 n 
-0000277297 00000 n 
-0000277356 00000 n 
-0000277414 00000 n 
-0000277473 00000 n 
-0000277647 00000 n 
-0000281826 00000 n 
-0000282298 00000 n 
-0000282501 00000 n 
-0000282889 00000 n 
-0000283124 00000 n 
-0000283512 00000 n 
-0000283748 00000 n 
-0000284136 00000 n 
-0000284330 00000 n 
-0000284566 00000 n 
-0000284970 00000 n 
-0000285205 00000 n 
-0000285593 00000 n 
-0000285787 00000 n 
-0000286606 00000 n 
-0000279739 00000 n 
-0000277844 00000 n 
-0000285961 00000 n 
-0000286020 00000 n 
-0000280564 00000 n 
-0000286079 00000 n 
-0000281002 00000 n 
-0000281632 00000 n 
-0000286138 00000 n 
-0000282062 00000 n 
-0000282695 00000 n 
-0000286197 00000 n 
-0000283318 00000 n 
-0000286256 00000 n 
-0000283942 00000 n 
-0000286313 00000 n 
-0000284769 00000 n 
-0000286372 00000 n 
-0000285399 00000 n 
-0000286431 00000 n 
-0000289198 00000 n 
-0000289417 00000 n 
-0000289603 00000 n 
-0000289822 00000 n 
-0000290008 00000 n 
-0000290202 00000 n 
-0000290421 00000 n 
-0000290793 00000 n 
-0000290987 00000 n 
-0000291205 00000 n 
-0000291576 00000 n 
-0000291769 00000 n 
-0000291987 00000 n 
-0000292180 00000 n 
-0000292398 00000 n 
-0000292591 00000 n 
-0000292785 00000 n 
-0000293004 00000 n 
-0000293198 00000 n 
-0000293417 00000 n 
-0000293611 00000 n 
-0000294016 00000 n 
-0000294235 00000 n 
-0000294428 00000 n 
-0000294833 00000 n 
-0000295052 00000 n 
-0000295246 00000 n 
-0000295465 00000 n 
-0000299111 00000 n 
-0000299330 00000 n 
-0000299514 00000 n 
-0000295649 00000 n 
-0000296588 00000 n 
-0000288766 00000 n 
-0000286744 00000 n 
-0000295823 00000 n 
-0000295882 00000 n 
-0000295941 00000 n 
-0000296000 00000 n 
-0000296059 00000 n 
-0000290607 00000 n 
-0000296117 00000 n 
-0000291391 00000 n 
-0000296176 00000 n 
-0000296234 00000 n 
-0000296293 00000 n 
-0000296352 00000 n 
-0000293813 00000 n 
-0000296411 00000 n 
-0000294630 00000 n 
-0000296470 00000 n 
-0000296529 00000 n 
-0000299708 00000 n 
-0000299927 00000 n 
-0000300121 00000 n 
-0000300340 00000 n 
-0000300534 00000 n 
-0000300752 00000 n 
-0000300945 00000 n 
-0000301164 00000 n 
-0000301358 00000 n 
-0000301575 00000 n 
-0000301757 00000 n 
-0000301966 00000 n 
-0000302142 00000 n 
-0000302334 00000 n 
-0000302528 00000 n 
-0000306406 00000 n 
-0000306616 00000 n 
-0000302722 00000 n 
-0000303601 00000 n 
-0000298805 00000 n 
-0000296713 00000 n 
-0000302896 00000 n 
-0000302955 00000 n 
-0000303014 00000 n 
-0000303072 00000 n 
-0000303131 00000 n 
-0000303190 00000 n 
-0000303249 00000 n 
-0000303308 00000 n 
-0000303483 00000 n 
-0000303542 00000 n 
-0000306793 00000 n 
-0000307003 00000 n 
-0000307181 00000 n 
-0000307568 00000 n 
-0000307779 00000 n 
-0000307957 00000 n 
-0000308345 00000 n 
-0000308556 00000 n 
-0000308750 00000 n 
-0000308960 00000 n 
-0000309153 00000 n 
-0000309345 00000 n 
-0000309556 00000 n 
-0000309750 00000 n 
-0000309961 00000 n 
-0000310155 00000 n 
-0000310349 00000 n 
-0000310523 00000 n 
-0000310734 00000 n 
-0000310927 00000 n 
-0000311101 00000 n 
-0000311311 00000 n 
-0000311504 00000 n 
-0000311715 00000 n 
-0000311909 00000 n 
-0000312120 00000 n 
-0000312314 00000 n 
-0000312525 00000 n 
-0000312719 00000 n 
-0000312930 00000 n 
-0000313124 00000 n 
-0000313335 00000 n 
-0000313513 00000 n 
-0000314568 00000 n 
-0000305938 00000 n 
-0000303739 00000 n 
-0000313687 00000 n 
-0000313746 00000 n 
-0000313805 00000 n 
-0000307375 00000 n 
-0000313863 00000 n 
-0000308151 00000 n 
-0000313921 00000 n 
-0000313980 00000 n 
-0000314039 00000 n 
-0000314098 00000 n 
-0000314157 00000 n 
-0000314216 00000 n 
-0000314274 00000 n 
-0000314333 00000 n 
-0000314392 00000 n 
-0000314451 00000 n 
-0000314509 00000 n 
-0000316952 00000 n 
-0000317166 00000 n 
-0000317347 00000 n 
-0000317561 00000 n 
-0000317741 00000 n 
-0000318129 00000 n 
-0000318341 00000 n 
-0000318521 00000 n 
-0000318909 00000 n 
-0000319123 00000 n 
-0000319304 00000 n 
-0000319691 00000 n 
-0000319905 00000 n 
-0000320086 00000 n 
-0000320472 00000 n 
-0000320685 00000 n 
-0000320866 00000 n 
-0000321254 00000 n 
-0000321468 00000 n 
-0000321649 00000 n 
-0000325590 00000 n 
-0000325804 00000 n 
-0000325985 00000 n 
-0000322036 00000 n 
-0000322915 00000 n 
-0000316574 00000 n 
-0000314721 00000 n 
-0000322210 00000 n 
-0000322269 00000 n 
-0000322444 00000 n 
-0000322503 00000 n 
-0000322562 00000 n 
-0000317935 00000 n 
-0000322621 00000 n 
-0000318715 00000 n 
-0000322680 00000 n 
-0000319498 00000 n 
-0000322739 00000 n 
-0000320280 00000 n 
-0000322798 00000 n 
-0000321060 00000 n 
-0000322856 00000 n 
-0000321843 00000 n 
-0000722118 00000 n 
-0000326373 00000 n 
-0000326587 00000 n 
-0000326781 00000 n 
-0000326995 00000 n 
-0000327189 00000 n 
-0000327577 00000 n 
-0000327790 00000 n 
-0000327983 00000 n 
-0000328175 00000 n 
-0000328349 00000 n 
-0000328563 00000 n 
-0000328757 00000 n 
-0000329105 00000 n 
-0000329318 00000 n 
-0000329511 00000 n 
-0000329724 00000 n 
-0000329905 00000 n 
-0000330098 00000 n 
-0000330292 00000 n 
-0000330505 00000 n 
-0000330685 00000 n 
-0000331072 00000 n 
-0000331285 00000 n 
-0000331465 00000 n 
-0000331852 00000 n 
-0000332066 00000 n 
-0000332247 00000 n 
-0000332441 00000 n 
-0000332654 00000 n 
-0000332834 00000 n 
-0000336079 00000 n 
-0000336293 00000 n 
-0000333221 00000 n 
-0000334101 00000 n 
-0000325095 00000 n 
-0000323053 00000 n 
-0000333395 00000 n 
-0000333454 00000 n 
-0000326179 00000 n 
-0000333512 00000 n 
-0000333571 00000 n 
-0000327383 00000 n 
-0000333630 00000 n 
-0000333689 00000 n 
-0000328931 00000 n 
-0000333748 00000 n 
-0000333807 00000 n 
-0000333866 00000 n 
-0000330878 00000 n 
-0000333925 00000 n 
-0000331658 00000 n 
-0000333983 00000 n 
-0000334042 00000 n 
-0000333027 00000 n 
-0000336487 00000 n 
-0000336701 00000 n 
-0000336895 00000 n 
-0000337107 00000 n 
-0000337300 00000 n 
-0000337514 00000 n 
-0000337708 00000 n 
-0000337922 00000 n 
-0000338103 00000 n 
-0000338311 00000 n 
-0000338519 00000 n 
-0000338727 00000 n 
-0000338934 00000 n 
-0000342912 00000 n 
-0000339140 00000 n 
-0000340197 00000 n 
-0000335800 00000 n 
-0000334226 00000 n 
-0000339314 00000 n 
-0000339373 00000 n 
-0000339432 00000 n 
-0000339491 00000 n 
-0000339550 00000 n 
-0000339609 00000 n 
-0000339668 00000 n 
-0000339843 00000 n 
-0000339902 00000 n 
-0000339961 00000 n 
-0000340020 00000 n 
-0000340079 00000 n 
-0000340138 00000 n 
-0000343120 00000 n 
-0000343327 00000 n 
-0000343535 00000 n 
-0000343743 00000 n 
-0000343951 00000 n 
-0000344126 00000 n 
-0000344514 00000 n 
-0000344722 00000 n 
-0000344896 00000 n 
-0000345089 00000 n 
-0000345477 00000 n 
-0000345671 00000 n 
-0000345879 00000 n 
-0000346053 00000 n 
-0000346441 00000 n 
-0000346648 00000 n 
-0000346822 00000 n 
-0000347209 00000 n 
-0000347415 00000 n 
-0000347607 00000 n 
-0000347814 00000 n 
-0000348005 00000 n 
-0000348197 00000 n 
-0000348404 00000 n 
-0000348597 00000 n 
-0000348791 00000 n 
-0000348998 00000 n 
-0000349191 00000 n 
-0000353322 00000 n 
-0000353530 00000 n 
-0000353724 00000 n 
-0000349578 00000 n 
-0000350514 00000 n 
-0000342462 00000 n 
-0000340335 00000 n 
-0000349752 00000 n 
-0000349811 00000 n 
-0000349870 00000 n 
-0000349929 00000 n 
-0000349988 00000 n 
-0000350047 00000 n 
-0000344320 00000 n 
-0000350106 00000 n 
-0000345283 00000 n 
-0000350165 00000 n 
-0000346247 00000 n 
-0000350224 00000 n 
-0000347015 00000 n 
-0000350282 00000 n 
-0000350340 00000 n 
-0000350399 00000 n 
-0000350456 00000 n 
-0000349384 00000 n 
-0000354112 00000 n 
-0000354317 00000 n 
-0000354509 00000 n 
-0000354701 00000 n 
-0000354895 00000 n 
-0000355103 00000 n 
-0000355297 00000 n 
-0000355685 00000 n 
-0000355893 00000 n 
-0000356087 00000 n 
-0000356295 00000 n 
-0000356489 00000 n 
-0000356697 00000 n 
-0000356872 00000 n 
-0000357080 00000 n 
-0000357255 00000 n 
-0000357642 00000 n 
-0000357850 00000 n 
-0000358025 00000 n 
-0000358413 00000 n 
-0000358620 00000 n 
-0000358794 00000 n 
-0000358988 00000 n 
-0000359195 00000 n 
-0000359369 00000 n 
-0000359756 00000 n 
-0000359964 00000 n 
-0000360139 00000 n 
-0000360527 00000 n 
-0000360735 00000 n 
-0000364363 00000 n 
-0000364571 00000 n 
-0000364765 00000 n 
-0000364972 00000 n 
-0000360910 00000 n 
-0000361850 00000 n 
-0000352827 00000 n 
-0000350639 00000 n 
-0000361084 00000 n 
-0000361143 00000 n 
-0000353918 00000 n 
-0000361202 00000 n 
-0000361261 00000 n 
-0000355491 00000 n 
-0000361320 00000 n 
-0000361379 00000 n 
-0000361438 00000 n 
-0000361497 00000 n 
-0000357449 00000 n 
-0000361556 00000 n 
-0000358219 00000 n 
-0000361615 00000 n 
-0000361674 00000 n 
-0000359562 00000 n 
-0000361733 00000 n 
-0000360333 00000 n 
-0000361791 00000 n 
-0000365165 00000 n 
-0000365373 00000 n 
-0000365567 00000 n 
-0000365955 00000 n 
-0000366128 00000 n 
-0000366302 00000 n 
-0000366510 00000 n 
-0000366704 00000 n 
-0000367092 00000 n 
-0000367300 00000 n 
-0000367494 00000 n 
-0000367881 00000 n 
-0000368089 00000 n 
-0000368283 00000 n 
-0000368456 00000 n 
-0000368630 00000 n 
-0000368837 00000 n 
-0000369030 00000 n 
-0000369238 00000 n 
-0000369413 00000 n 
-0000369621 00000 n 
-0000369815 00000 n 
-0000370022 00000 n 
-0000370216 00000 n 
-0000370424 00000 n 
-0000370617 00000 n 
-0000370825 00000 n 
-0000371018 00000 n 
-0000371226 00000 n 
-0000371401 00000 n 
-0000372278 00000 n 
-0000363895 00000 n 
-0000361975 00000 n 
-0000371575 00000 n 
-0000371634 00000 n 
-0000365761 00000 n 
-0000371693 00000 n 
-0000366898 00000 n 
-0000371752 00000 n 
-0000367688 00000 n 
-0000371807 00000 n 
-0000371866 00000 n 
-0000371925 00000 n 
-0000371983 00000 n 
-0000372042 00000 n 
-0000372101 00000 n 
-0000372160 00000 n 
-0000372219 00000 n 
-0000374819 00000 n 
-0000374937 00000 n 
-0000375055 00000 n 
-0000374331 00000 n 
-0000377864 00000 n 
-0000378110 00000 n 
-0000374527 00000 n 
-0000375347 00000 n 
-0000374178 00000 n 
-0000372403 00000 n 
-0000374701 00000 n 
-0000374760 00000 n 
-0000374878 00000 n 
-0000374996 00000 n 
-0000375113 00000 n 
-0000375288 00000 n 
-0000722243 00000 n 
-0000378536 00000 n 
-0000378780 00000 n 
-0000379205 00000 n 
-0000379593 00000 n 
-0000379839 00000 n 
-0000380227 00000 n 
-0000380440 00000 n 
-0000380686 00000 n 
-0000381074 00000 n 
-0000381287 00000 n 
-0000381533 00000 n 
-0000381920 00000 n 
-0000382165 00000 n 
-0000382551 00000 n 
-0000382744 00000 n 
-0000382990 00000 n 
-0000383416 00000 n 
-0000383662 00000 n 
-0000384088 00000 n 
-0000384333 00000 n 
-0000384720 00000 n 
-0000385107 00000 n 
-0000385303 00000 n 
-0000386244 00000 n 
-0000377405 00000 n 
-0000375459 00000 n 
-0000385477 00000 n 
-0000385536 00000 n 
-0000378323 00000 n 
-0000385595 00000 n 
-0000378992 00000 n 
-0000379399 00000 n 
-0000385654 00000 n 
-0000380033 00000 n 
-0000385713 00000 n 
-0000380880 00000 n 
-0000385772 00000 n 
-0000381727 00000 n 
-0000382357 00000 n 
-0000385831 00000 n 
-0000383203 00000 n 
-0000385890 00000 n 
-0000383875 00000 n 
-0000385949 00000 n 
-0000384526 00000 n 
-0000384913 00000 n 
-0000386008 00000 n 
-0000386067 00000 n 
-0000386126 00000 n 
-0000386185 00000 n 
-0000388718 00000 n 
-0000388914 00000 n 
-0000389153 00000 n 
-0000389565 00000 n 
-0000389803 00000 n 
-0000390214 00000 n 
-0000390408 00000 n 
-0000390647 00000 n 
-0000391038 00000 n 
-0000391242 00000 n 
-0000391481 00000 n 
-0000391676 00000 n 
-0000391882 00000 n 
-0000392120 00000 n 
-0000392508 00000 n 
-0000392746 00000 n 
-0000393134 00000 n 
-0000393327 00000 n 
-0000393565 00000 n 
-0000393977 00000 n 
-0000394215 00000 n 
-0000397986 00000 n 
-0000398225 00000 n 
-0000398612 00000 n 
-0000394624 00000 n 
-0000395444 00000 n 
-0000388322 00000 n 
-0000386382 00000 n 
-0000394798 00000 n 
-0000394972 00000 n 
-0000395031 00000 n 
-0000389359 00000 n 
-0000395090 00000 n 
-0000390008 00000 n 
-0000395149 00000 n 
-0000390843 00000 n 
-0000395208 00000 n 
-0000395267 00000 n 
-0000392314 00000 n 
-0000392940 00000 n 
-0000395326 00000 n 
-0000393771 00000 n 
-0000395385 00000 n 
-0000394420 00000 n 
-0000400643 00000 n 
-0000398805 00000 n 
-0000399001 00000 n 
-0000399230 00000 n 
-0000399618 00000 n 
-0000399847 00000 n 
-0000403740 00000 n 
-0000404198 00000 n 
-0000404392 00000 n 
-0000400233 00000 n 
-0000400995 00000 n 
-0000397743 00000 n 
-0000395569 00000 n 
-0000400407 00000 n 
-0000400466 00000 n 
-0000398419 00000 n 
-0000400525 00000 n 
-0000400584 00000 n 
-0000400702 00000 n 
-0000400877 00000 n 
-0000400936 00000 n 
-0000399424 00000 n 
-0000400040 00000 n 
-0000410379 00000 n 
-0000404780 00000 n 
-0000405236 00000 n 
-0000405429 00000 n 
-0000405816 00000 n 
-0000406045 00000 n 
-0000406437 00000 n 
-0000406631 00000 n 
-0000406860 00000 n 
-0000407252 00000 n 
-0000407446 00000 n 
-0000407857 00000 n 
-0000408085 00000 n 
-0000408476 00000 n 
-0000408669 00000 n 
-0000409054 00000 n 
-0000409283 00000 n 
-0000409675 00000 n 
-0000410497 00000 n 
-0000403335 00000 n 
-0000401133 00000 n 
-0000409849 00000 n 
-0000409908 00000 n 
-0000403969 00000 n 
-0000404586 00000 n 
-0000409967 00000 n 
-0000405008 00000 n 
-0000405622 00000 n 
-0000410026 00000 n 
-0000406241 00000 n 
-0000410084 00000 n 
-0000407056 00000 n 
-0000407652 00000 n 
-0000410143 00000 n 
-0000408280 00000 n 
-0000408863 00000 n 
-0000410202 00000 n 
-0000409479 00000 n 
-0000410261 00000 n 
-0000410320 00000 n 
-0000410438 00000 n 
-0000413045 00000 n 
-0000413251 00000 n 
-0000413424 00000 n 
-0000413811 00000 n 
-0000414016 00000 n 
-0000414188 00000 n 
-0000414575 00000 n 
-0000414781 00000 n 
-0000414954 00000 n 
-0000415148 00000 n 
-0000415353 00000 n 
-0000415525 00000 n 
-0000415912 00000 n 
-0000416118 00000 n 
-0000416291 00000 n 
-0000416653 00000 n 
-0000416859 00000 n 
-0000417032 00000 n 
-0000417420 00000 n 
-0000417624 00000 n 
-0000417796 00000 n 
-0000418157 00000 n 
-0000418363 00000 n 
-0000418536 00000 n 
-0000422540 00000 n 
-0000422746 00000 n 
-0000422918 00000 n 
-0000418924 00000 n 
-0000419506 00000 n 
-0000412622 00000 n 
-0000410635 00000 n 
-0000419098 00000 n 
-0000419271 00000 n 
-0000419330 00000 n 
-0000413618 00000 n 
-0000419389 00000 n 
-0000414381 00000 n 
-0000415718 00000 n 
-0000416472 00000 n 
-0000417226 00000 n 
-0000417976 00000 n 
-0000419447 00000 n 
-0000418730 00000 n 
-0000529553 00000 n 
-0000529671 00000 n 
-0000529789 00000 n 
-0000529912 00000 n 
-0000530030 00000 n 
-0000423306 00000 n 
-0000423511 00000 n 
-0000423683 00000 n 
-0000424069 00000 n 
-0000424274 00000 n 
-0000424620 00000 n 
-0000424814 00000 n 
-0000425020 00000 n 
-0000425193 00000 n 
-0000425580 00000 n 
-0000425786 00000 n 
-0000425959 00000 n 
-0000426321 00000 n 
-0000426526 00000 n 
-0000426699 00000 n 
-0000427086 00000 n 
-0000427292 00000 n 
-0000427465 00000 n 
-0000427827 00000 n 
-0000428033 00000 n 
-0000428206 00000 n 
-0000428594 00000 n 
-0000428800 00000 n 
-0000428973 00000 n 
-0000432583 00000 n 
-0000432789 00000 n 
-0000432962 00000 n 
-0000429361 00000 n 
-0000429829 00000 n 
-0000422072 00000 n 
-0000419631 00000 n 
-0000429535 00000 n 
-0000429594 00000 n 
-0000423112 00000 n 
-0000429653 00000 n 
-0000423876 00000 n 
-0000424447 00000 n 
-0000425387 00000 n 
-0000426140 00000 n 
-0000426893 00000 n 
-0000427646 00000 n 
-0000429712 00000 n 
-0000428400 00000 n 
-0000429770 00000 n 
-0000429167 00000 n 
-0000722368 00000 n 
-0000530152 00000 n 
-0000532526 00000 n 
-0000532644 00000 n 
-0000532767 00000 n 
-0000532883 00000 n 
-0000433156 00000 n 
-0000433362 00000 n 
-0000433535 00000 n 
-0000433923 00000 n 
-0000434129 00000 n 
-0000434302 00000 n 
-0000434496 00000 n 
-0000434702 00000 n 
-0000434896 00000 n 
-0000435102 00000 n 
-0000435296 00000 n 
-0000435490 00000 n 
-0000435696 00000 n 
-0000435890 00000 n 
-0000436084 00000 n 
-0000436289 00000 n 
-0000436482 00000 n 
-0000436869 00000 n 
-0000437075 00000 n 
-0000437269 00000 n 
-0000437657 00000 n 
-0000437863 00000 n 
-0000438057 00000 n 
-0000438445 00000 n 
-0000438651 00000 n 
-0000438845 00000 n 
-0000439232 00000 n 
-0000439437 00000 n 
-0000439631 00000 n 
-0000440019 00000 n 
-0000440225 00000 n 
-0000440419 00000 n 
-0000444243 00000 n 
-0000444449 00000 n 
-0000440806 00000 n 
-0000441510 00000 n 
-0000432061 00000 n 
-0000429954 00000 n 
-0000440980 00000 n 
-0000441039 00000 n 
-0000433729 00000 n 
-0000441097 00000 n 
-0000441156 00000 n 
-0000441215 00000 n 
-0000436675 00000 n 
-0000437463 00000 n 
-0000441274 00000 n 
-0000438251 00000 n 
-0000441333 00000 n 
-0000439038 00000 n 
-0000441392 00000 n 
-0000439825 00000 n 
-0000441451 00000 n 
-0000440613 00000 n 
-0000533006 00000 n 
-0000535929 00000 n 
-0000536047 00000 n 
-0000536164 00000 n 
-0000444643 00000 n 
-0000444849 00000 n 
-0000445043 00000 n 
-0000445249 00000 n 
-0000445442 00000 n 
-0000445647 00000 n 
-0000445839 00000 n 
-0000446045 00000 n 
-0000446238 00000 n 
-0000446441 00000 n 
-0000446633 00000 n 
-0000446839 00000 n 
-0000447012 00000 n 
-0000447205 00000 n 
-0000447411 00000 n 
-0000447605 00000 n 
-0000447992 00000 n 
-0000448197 00000 n 
-0000448391 00000 n 
-0000448779 00000 n 
-0000448985 00000 n 
-0000449175 00000 n 
-0000449563 00000 n 
-0000449736 00000 n 
-0000449910 00000 n 
-0000450254 00000 n 
-0000450460 00000 n 
-0000450653 00000 n 
-0000450847 00000 n 
-0000451020 00000 n 
-0000451193 00000 n 
-0000451399 00000 n 
-0000451593 00000 n 
-0000451981 00000 n 
-0000452155 00000 n 
-0000452329 00000 n 
-0000452673 00000 n 
-0000452879 00000 n 
-0000453073 00000 n 
-0000453461 00000 n 
-0000453635 00000 n 
-0000457252 00000 n 
-0000457458 00000 n 
-0000457651 00000 n 
-0000457844 00000 n 
-0000458049 00000 n 
-0000458242 00000 n 
-0000453809 00000 n 
-0000454690 00000 n 
-0000443649 00000 n 
-0000441635 00000 n 
-0000453983 00000 n 
-0000454042 00000 n 
-0000454101 00000 n 
-0000454159 00000 n 
-0000454218 00000 n 
-0000454277 00000 n 
-0000454336 00000 n 
-0000454395 00000 n 
-0000454454 00000 n 
-0000447799 00000 n 
-0000454513 00000 n 
-0000448585 00000 n 
-0000449369 00000 n 
-0000450082 00000 n 
-0000454572 00000 n 
-0000451787 00000 n 
-0000452501 00000 n 
-0000454631 00000 n 
-0000453267 00000 n 
-0000536287 00000 n 
-0000539227 00000 n 
-0000458629 00000 n 
-0000458835 00000 n 
-0000459029 00000 n 
-0000459417 00000 n 
-0000459623 00000 n 
-0000459817 00000 n 
-0000460011 00000 n 
-0000460217 00000 n 
-0000460411 00000 n 
-0000460617 00000 n 
-0000460811 00000 n 
-0000461016 00000 n 
-0000461208 00000 n 
-0000461413 00000 n 
-0000461584 00000 n 
-0000461778 00000 n 
-0000461984 00000 n 
-0000462157 00000 n 
-0000462351 00000 n 
-0000462556 00000 n 
-0000462728 00000 n 
-0000462921 00000 n 
-0000463127 00000 n 
-0000463300 00000 n 
-0000463688 00000 n 
-0000463893 00000 n 
-0000464065 00000 n 
-0000464426 00000 n 
-0000464632 00000 n 
-0000464805 00000 n 
-0000465167 00000 n 
-0000465372 00000 n 
-0000465544 00000 n 
-0000465737 00000 n 
-0000465942 00000 n 
-0000466114 00000 n 
-0000470439 00000 n 
-0000470645 00000 n 
-0000470818 00000 n 
-0000466307 00000 n 
-0000467246 00000 n 
-0000456685 00000 n 
-0000454815 00000 n 
-0000466481 00000 n 
-0000466540 00000 n 
-0000466599 00000 n 
-0000458435 00000 n 
-0000466658 00000 n 
-0000459223 00000 n 
-0000466717 00000 n 
-0000466775 00000 n 
-0000466834 00000 n 
-0000466893 00000 n 
-0000466952 00000 n 
-0000467011 00000 n 
-0000467070 00000 n 
-0000463494 00000 n 
-0000464245 00000 n 
-0000464986 00000 n 
-0000467128 00000 n 
-0000467187 00000 n 
-0000539349 00000 n 
-0000539471 00000 n 
-0000539593 00000 n 
-0000471206 00000 n 
-0000471411 00000 n 
-0000471584 00000 n 
-0000471971 00000 n 
-0000472177 00000 n 
-0000472350 00000 n 
-0000472543 00000 n 
-0000472749 00000 n 
-0000472922 00000 n 
-0000473116 00000 n 
-0000473322 00000 n 
-0000473495 00000 n 
-0000473689 00000 n 
-0000473894 00000 n 
-0000474066 00000 n 
-0000474453 00000 n 
-0000474658 00000 n 
-0000474830 00000 n 
-0000475022 00000 n 
-0000475228 00000 n 
-0000475401 00000 n 
-0000475607 00000 n 
-0000475780 00000 n 
-0000475973 00000 n 
-0000476177 00000 n 
-0000476349 00000 n 
-0000476541 00000 n 
-0000476746 00000 n 
-0000476917 00000 n 
-0000477110 00000 n 
-0000477497 00000 n 
-0000477691 00000 n 
-0000477897 00000 n 
-0000478070 00000 n 
-0000478264 00000 n 
-0000478651 00000 n 
-0000478844 00000 n 
-0000479049 00000 n 
-0000479221 00000 n 
-0000479414 00000 n 
-0000479801 00000 n 
-0000479995 00000 n 
-0000480189 00000 n 
-0000480394 00000 n 
-0000480567 00000 n 
-0000480760 00000 n 
-0000480953 00000 n 
-0000481146 00000 n 
-0000485430 00000 n 
-0000485636 00000 n 
-0000485809 00000 n 
-0000486003 00000 n 
-0000486197 00000 n 
-0000486391 00000 n 
-0000481339 00000 n 
-0000482102 00000 n 
-0000469782 00000 n 
-0000467371 00000 n 
-0000481513 00000 n 
-0000481572 00000 n 
-0000471012 00000 n 
-0000481631 00000 n 
-0000471777 00000 n 
-0000481690 00000 n 
-0000481749 00000 n 
-0000481808 00000 n 
-0000474259 00000 n 
-0000481867 00000 n 
-0000481926 00000 n 
-0000481985 00000 n 
-0000482043 00000 n 
-0000477303 00000 n 
-0000478458 00000 n 
-0000479607 00000 n 
-0000539711 00000 n 
-0000542033 00000 n 
-0000542156 00000 n 
-0000542274 00000 n 
-0000542392 00000 n 
-0000486779 00000 n 
-0000486984 00000 n 
-0000487156 00000 n 
-0000487349 00000 n 
-0000487542 00000 n 
-0000487735 00000 n 
-0000488122 00000 n 
-0000488327 00000 n 
-0000488498 00000 n 
-0000488885 00000 n 
-0000489078 00000 n 
-0000489465 00000 n 
-0000489671 00000 n 
-0000489843 00000 n 
-0000490231 00000 n 
-0000490424 00000 n 
-0000490812 00000 n 
-0000491018 00000 n 
-0000491191 00000 n 
-0000491385 00000 n 
-0000491590 00000 n 
-0000491763 00000 n 
-0000492151 00000 n 
-0000492356 00000 n 
-0000492528 00000 n 
-0000492915 00000 n 
-0000493121 00000 n 
-0000493294 00000 n 
-0000493487 00000 n 
-0000493693 00000 n 
-0000493865 00000 n 
-0000494253 00000 n 
-0000494459 00000 n 
-0000494630 00000 n 
-0000498324 00000 n 
-0000498530 00000 n 
-0000498703 00000 n 
-0000498897 00000 n 
-0000494824 00000 n 
-0000495350 00000 n 
-0000484845 00000 n 
-0000482267 00000 n 
-0000494998 00000 n 
-0000486585 00000 n 
-0000487928 00000 n 
-0000488691 00000 n 
-0000489272 00000 n 
-0000490037 00000 n 
-0000490618 00000 n 
-0000495057 00000 n 
-0000495116 00000 n 
-0000491957 00000 n 
-0000495175 00000 n 
-0000492721 00000 n 
-0000495234 00000 n 
-0000495291 00000 n 
-0000494059 00000 n 
-0000544922 00000 n 
-0000545037 00000 n 
-0000545154 00000 n 
-0000548160 00000 n 
-0000548278 00000 n 
-0000499090 00000 n 
-0000499295 00000 n 
-0000499467 00000 n 
-0000499660 00000 n 
-0000499853 00000 n 
-0000500059 00000 n 
-0000500253 00000 n 
-0000500459 00000 n 
-0000500653 00000 n 
-0000500859 00000 n 
-0000501052 00000 n 
-0000501258 00000 n 
-0000501451 00000 n 
-0000501655 00000 n 
-0000501826 00000 n 
-0000502029 00000 n 
-0000502201 00000 n 
-0000502589 00000 n 
-0000502795 00000 n 
-0000502967 00000 n 
-0000503327 00000 n 
-0000503533 00000 n 
-0000503705 00000 n 
-0000504093 00000 n 
-0000504298 00000 n 
-0000504471 00000 n 
-0000504831 00000 n 
-0000505036 00000 n 
-0000505229 00000 n 
-0000509075 00000 n 
-0000509281 00000 n 
-0000509474 00000 n 
-0000505422 00000 n 
-0000506127 00000 n 
-0000497847 00000 n 
-0000495515 00000 n 
-0000505596 00000 n 
-0000505655 00000 n 
-0000505714 00000 n 
-0000505773 00000 n 
-0000505832 00000 n 
-0000505891 00000 n 
-0000505950 00000 n 
-0000506009 00000 n 
-0000502395 00000 n 
-0000503147 00000 n 
-0000503899 00000 n 
-0000504651 00000 n 
-0000506068 00000 n 
-0000722493 00000 n 
-0000548396 00000 n 
-0000548518 00000 n 
-0000550677 00000 n 
-0000550795 00000 n 
-0000509862 00000 n 
-0000510068 00000 n 
-0000510241 00000 n 
-0000510435 00000 n 
-0000510641 00000 n 
-0000510814 00000 n 
-0000511008 00000 n 
-0000511213 00000 n 
-0000511386 00000 n 
-0000511745 00000 n 
-0000511951 00000 n 
-0000512123 00000 n 
-0000512317 00000 n 
-0000512523 00000 n 
-0000512696 00000 n 
-0000512890 00000 n 
-0000513095 00000 n 
-0000513266 00000 n 
-0000513653 00000 n 
-0000513858 00000 n 
-0000514031 00000 n 
-0000514418 00000 n 
-0000514622 00000 n 
-0000514794 00000 n 
-0000514987 00000 n 
-0000515193 00000 n 
-0000515366 00000 n 
-0000515560 00000 n 
-0000515766 00000 n 
-0000515939 00000 n 
-0000516133 00000 n 
-0000516327 00000 n 
-0000516533 00000 n 
-0000516705 00000 n 
-0000517093 00000 n 
-0000521138 00000 n 
-0000521343 00000 n 
-0000521516 00000 n 
-0000521904 00000 n 
-0000517287 00000 n 
-0000518167 00000 n 
-0000508544 00000 n 
-0000506265 00000 n 
-0000517461 00000 n 
-0000517520 00000 n 
-0000509668 00000 n 
-0000517579 00000 n 
-0000517638 00000 n 
-0000511565 00000 n 
-0000517696 00000 n 
-0000517755 00000 n 
-0000517814 00000 n 
-0000513459 00000 n 
-0000517873 00000 n 
-0000514225 00000 n 
-0000517932 00000 n 
-0000517991 00000 n 
-0000518050 00000 n 
-0000518109 00000 n 
-0000516899 00000 n 
-0000550917 00000 n 
-0000522098 00000 n 
-0000522304 00000 n 
-0000522477 00000 n 
-0000522864 00000 n 
-0000523057 00000 n 
-0000523263 00000 n 
-0000523436 00000 n 
-0000523629 00000 n 
-0000523822 00000 n 
-0000524028 00000 n 
-0000524201 00000 n 
-0000524395 00000 n 
-0000524589 00000 n 
-0000524793 00000 n 
-0000524964 00000 n 
-0000525350 00000 n 
-0000525544 00000 n 
-0000525749 00000 n 
-0000525921 00000 n 
-0000526309 00000 n 
-0000526503 00000 n 
-0000527149 00000 n 
-0000520742 00000 n 
-0000518305 00000 n 
-0000526677 00000 n 
-0000526736 00000 n 
-0000521710 00000 n 
-0000526795 00000 n 
-0000522671 00000 n 
-0000526854 00000 n 
-0000526913 00000 n 
-0000526972 00000 n 
-0000525156 00000 n 
-0000527031 00000 n 
-0000526115 00000 n 
-0000527090 00000 n 
-0000529261 00000 n 
-0000530211 00000 n 
-0000529117 00000 n 
-0000527314 00000 n 
-0000529435 00000 n 
-0000529494 00000 n 
-0000529612 00000 n 
-0000529730 00000 n 
-0000529853 00000 n 
-0000529971 00000 n 
-0000530094 00000 n 
-0000532234 00000 n 
-0000533065 00000 n 
-0000532090 00000 n 
-0000530336 00000 n 
-0000532408 00000 n 
-0000532467 00000 n 
-0000532585 00000 n 
-0000532708 00000 n 
-0000532825 00000 n 
-0000532947 00000 n 
-0000535637 00000 n 
-0000536410 00000 n 
-0000535493 00000 n 
-0000533190 00000 n 
-0000535811 00000 n 
-0000535870 00000 n 
-0000535988 00000 n 
-0000536106 00000 n 
-0000536228 00000 n 
-0000536351 00000 n 
-0000538994 00000 n 
-0000539769 00000 n 
-0000538850 00000 n 
-0000536535 00000 n 
-0000539168 00000 n 
-0000539290 00000 n 
-0000539412 00000 n 
-0000539534 00000 n 
-0000539652 00000 n 
-0000722618 00000 n 
-0000541741 00000 n 
-0000542451 00000 n 
-0000541597 00000 n 
-0000539894 00000 n 
-0000541915 00000 n 
-0000541974 00000 n 
-0000542097 00000 n 
-0000542215 00000 n 
-0000542333 00000 n 
-0000718939 00000 n 
-0000719516 00000 n 
-0000544630 00000 n 
-0000545213 00000 n 
-0000544486 00000 n 
-0000542628 00000 n 
-0000544804 00000 n 
-0000544863 00000 n 
-0000544980 00000 n 
-0000545096 00000 n 
-0000547868 00000 n 
-0000548641 00000 n 
-0000547724 00000 n 
-0000545403 00000 n 
-0000548042 00000 n 
-0000548101 00000 n 
-0000548219 00000 n 
-0000548337 00000 n 
-0000548460 00000 n 
-0000548582 00000 n 
-0000550444 00000 n 
-0000551035 00000 n 
-0000550300 00000 n 
-0000548818 00000 n 
-0000550618 00000 n 
-0000550736 00000 n 
-0000550858 00000 n 
-0000550976 00000 n 
-0000552932 00000 n 
-0000553083 00000 n 
-0000553233 00000 n 
-0000553383 00000 n 
-0000553534 00000 n 
-0000553685 00000 n 
-0000553836 00000 n 
-0000553987 00000 n 
-0000554138 00000 n 
-0000554288 00000 n 
-0000554437 00000 n 
-0000554588 00000 n 
-0000554739 00000 n 
-0000554890 00000 n 
-0000555041 00000 n 
-0000555191 00000 n 
-0000555342 00000 n 
-0000555492 00000 n 
-0000555643 00000 n 
-0000555794 00000 n 
-0000555945 00000 n 
-0000556096 00000 n 
-0000556246 00000 n 
-0000556397 00000 n 
-0000556547 00000 n 
-0000556698 00000 n 
-0000556849 00000 n 
-0000556999 00000 n 
-0000557149 00000 n 
-0000557299 00000 n 
-0000557449 00000 n 
-0000557600 00000 n 
-0000557751 00000 n 
-0000557902 00000 n 
-0000558053 00000 n 
-0000558203 00000 n 
-0000558353 00000 n 
-0000558504 00000 n 
-0000558655 00000 n 
-0000558806 00000 n 
-0000558957 00000 n 
-0000559108 00000 n 
-0000559259 00000 n 
-0000559410 00000 n 
-0000559561 00000 n 
-0000559712 00000 n 
-0000559863 00000 n 
-0000560014 00000 n 
-0000560165 00000 n 
-0000560316 00000 n 
-0000560467 00000 n 
-0000560618 00000 n 
-0000560769 00000 n 
-0000560920 00000 n 
-0000561071 00000 n 
-0000561222 00000 n 
-0000561373 00000 n 
-0000561524 00000 n 
-0000561675 00000 n 
-0000561824 00000 n 
-0000561973 00000 n 
-0000562124 00000 n 
-0000564271 00000 n 
-0000562390 00000 n 
-0000552239 00000 n 
-0000551160 00000 n 
-0000562272 00000 n 
-0000562331 00000 n 
-0000564422 00000 n 
-0000564573 00000 n 
-0000564724 00000 n 
-0000564874 00000 n 
-0000565025 00000 n 
-0000565175 00000 n 
-0000565325 00000 n 
-0000565476 00000 n 
-0000565626 00000 n 
-0000565775 00000 n 
-0000565926 00000 n 
-0000566075 00000 n 
-0000566226 00000 n 
-0000566377 00000 n 
-0000566528 00000 n 
-0000566678 00000 n 
-0000566828 00000 n 
-0000566979 00000 n 
-0000567130 00000 n 
-0000567281 00000 n 
-0000567432 00000 n 
-0000567583 00000 n 
-0000567733 00000 n 
-0000567884 00000 n 
-0000568034 00000 n 
-0000568185 00000 n 
-0000568336 00000 n 
-0000568487 00000 n 
-0000568638 00000 n 
-0000568789 00000 n 
-0000568939 00000 n 
-0000569090 00000 n 
-0000569240 00000 n 
-0000569391 00000 n 
-0000569542 00000 n 
-0000569692 00000 n 
-0000569843 00000 n 
-0000569994 00000 n 
-0000570145 00000 n 
-0000570296 00000 n 
-0000570447 00000 n 
-0000570598 00000 n 
-0000570749 00000 n 
-0000570900 00000 n 
-0000571050 00000 n 
-0000571200 00000 n 
-0000571350 00000 n 
-0000571500 00000 n 
-0000571651 00000 n 
-0000571802 00000 n 
-0000574143 00000 n 
-0000571952 00000 n 
-0000572185 00000 n 
-0000563668 00000 n 
-0000562476 00000 n 
-0000572126 00000 n 
-0000722743 00000 n 
-0000574294 00000 n 
-0000574445 00000 n 
-0000574596 00000 n 
-0000574747 00000 n 
-0000574898 00000 n 
-0000575049 00000 n 
-0000575199 00000 n 
-0000575349 00000 n 
-0000575499 00000 n 
-0000575650 00000 n 
-0000575801 00000 n 
-0000575952 00000 n 
-0000576103 00000 n 
-0000576254 00000 n 
-0000576405 00000 n 
-0000576556 00000 n 
-0000576707 00000 n 
-0000576857 00000 n 
-0000577006 00000 n 
-0000577155 00000 n 
-0000577305 00000 n 
-0000577456 00000 n 
-0000577607 00000 n 
-0000577757 00000 n 
-0000577907 00000 n 
-0000578058 00000 n 
-0000578208 00000 n 
-0000578359 00000 n 
-0000578510 00000 n 
-0000578660 00000 n 
-0000578810 00000 n 
-0000578960 00000 n 
-0000579111 00000 n 
-0000579262 00000 n 
-0000579412 00000 n 
-0000579562 00000 n 
-0000579712 00000 n 
-0000579863 00000 n 
-0000580014 00000 n 
-0000580165 00000 n 
-0000580316 00000 n 
-0000580467 00000 n 
-0000580618 00000 n 
-0000580769 00000 n 
-0000580919 00000 n 
-0000581070 00000 n 
-0000581220 00000 n 
-0000581371 00000 n 
-0000581522 00000 n 
-0000581673 00000 n 
-0000581823 00000 n 
-0000581973 00000 n 
-0000582123 00000 n 
-0000582274 00000 n 
-0000582425 00000 n 
-0000582576 00000 n 
-0000582727 00000 n 
-0000582878 00000 n 
-0000583029 00000 n 
-0000583262 00000 n 
-0000573468 00000 n 
-0000572284 00000 n 
-0000583203 00000 n 
-0000583361 00000 n 
-0000583387 00000 n 
-0000583515 00000 n 
-0000583954 00000 n 
-0000583986 00000 n 
-0000584455 00000 n 
-0000584911 00000 n 
-0000585312 00000 n 
-0000717847 00000 n 
-0000585634 00000 n 
-0000586110 00000 n 
-0000586432 00000 n 
-0000586784 00000 n 
-0000587260 00000 n 
-0000587640 00000 n 
-0000588118 00000 n 
-0000588810 00000 n 
-0000588848 00000 n 
-0000588973 00000 n 
-0000589616 00000 n 
-0000591824 00000 n 
-0000592088 00000 n 
-0000595291 00000 n 
-0000595556 00000 n 
-0000599190 00000 n 
-0000599433 00000 n 
-0000601861 00000 n 
-0000602094 00000 n 
-0000604358 00000 n 
-0000604586 00000 n 
-0000608383 00000 n 
-0000608655 00000 n 
-0000610357 00000 n 
-0000610615 00000 n 
-0000612958 00000 n 
-0000613222 00000 n 
-0000614458 00000 n 
-0000614685 00000 n 
-0000616704 00000 n 
-0000616950 00000 n 
-0000618793 00000 n 
-0000619055 00000 n 
-0000621280 00000 n 
-0000621501 00000 n 
-0000639379 00000 n 
-0000639913 00000 n 
-0000648136 00000 n 
-0000648428 00000 n 
-0000665892 00000 n 
-0000666401 00000 n 
-0000679813 00000 n 
-0000680163 00000 n 
-0000701105 00000 n 
-0000701726 00000 n 
-0000717396 00000 n 
-0000722832 00000 n 
-0000722952 00000 n 
-0000723078 00000 n 
-0000723167 00000 n 
-0000723249 00000 n 
-0000726269 00000 n 
-0000726457 00000 n 
-0000726972 00000 n 
-0000727487 00000 n 
-0000728002 00000 n 
-0000728517 00000 n 
-0000729032 00000 n 
-0000729547 00000 n 
-0000730062 00000 n 
-0000730577 00000 n 
-0000731092 00000 n 
-0000731673 00000 n 
-0000732452 00000 n 
-0000733089 00000 n 
-0000733737 00000 n 
-0000734348 00000 n 
-0000734740 00000 n 
-0000735239 00000 n 
-0000735652 00000 n 
-0000736205 00000 n 
-0000736824 00000 n 
-0000737506 00000 n 
-0000738217 00000 n 
-0000738892 00000 n 
-0000739567 00000 n 
-0000740242 00000 n 
-0000740787 00000 n 
-0000741398 00000 n 
-0000741993 00000 n 
-0000742807 00000 n 
-0000743487 00000 n 
-0000744168 00000 n 
-0000744849 00000 n 
-0000745464 00000 n 
-0000746081 00000 n 
-0000746698 00000 n 
-0000747401 00000 n 
-0000748125 00000 n 
-0000748798 00000 n 
-0000749471 00000 n 
-0000750086 00000 n 
-0000750695 00000 n 
-0000751304 00000 n 
-0000752003 00000 n 
-0000752759 00000 n 
-0000753480 00000 n 
-0000754201 00000 n 
-0000754839 00000 n 
-0000755496 00000 n 
-0000756153 00000 n 
-0000756788 00000 n 
-0000757469 00000 n 
-0000758150 00000 n 
-0000758831 00000 n 
-0000759454 00000 n 
-0000760087 00000 n 
-0000760720 00000 n 
-0000761353 00000 n 
-0000761986 00000 n 
-0000762619 00000 n 
-0000763252 00000 n 
-0000763965 00000 n 
-0000764902 00000 n 
-0000765770 00000 n 
-0000766651 00000 n 
-0000767385 00000 n 
-0000768060 00000 n 
-0000768677 00000 n 
-0000769294 00000 n 
-0000769911 00000 n 
-0000770528 00000 n 
-0000771145 00000 n 
-0000771762 00000 n 
-0000772379 00000 n 
-0000772996 00000 n 
-0000773613 00000 n 
-0000774230 00000 n 
-0000774847 00000 n 
-0000775464 00000 n 
-0000776081 00000 n 
-0000776698 00000 n 
-0000777315 00000 n 
-0000777932 00000 n 
-0000778549 00000 n 
-0000779166 00000 n 
-0000779447 00000 n 
-0000779618 00000 n 
-0000779787 00000 n 
-0000779956 00000 n 
-0000780128 00000 n 
-0000780303 00000 n 
-0000780480 00000 n 
-0000780655 00000 n 
-0000780832 00000 n 
-0000781007 00000 n 
-0000781184 00000 n 
-0000781359 00000 n 
-0000781533 00000 n 
-0000781751 00000 n 
-0000782002 00000 n 
-0000782260 00000 n 
-0000782528 00000 n 
-0000782801 00000 n 
-0000783073 00000 n 
-0000783346 00000 n 
-0000783618 00000 n 
-0000783885 00000 n 
-0000784102 00000 n 
-0000784305 00000 n 
-0000784506 00000 n 
-0000784707 00000 n 
-0000784910 00000 n 
-0000785115 00000 n 
-0000785324 00000 n 
-0000785531 00000 n 
-0000785725 00000 n 
-0000785906 00000 n 
-0000786127 00000 n 
-0000786356 00000 n 
-0000786591 00000 n 
-0000786812 00000 n 
-0000787062 00000 n 
-0000787329 00000 n 
-0000787603 00000 n 
-0000787884 00000 n 
-0000788165 00000 n 
-0000788435 00000 n 
-0000788584 00000 n 
-0000788745 00000 n 
-0000788980 00000 n 
-0000789170 00000 n 
-0000789372 00000 n 
-0000789614 00000 n 
-0000789872 00000 n 
-0000790121 00000 n 
-0000790351 00000 n 
-0000790584 00000 n 
-0000790814 00000 n 
-0000791042 00000 n 
-0000791268 00000 n 
-0000791494 00000 n 
-0000791720 00000 n 
-0000791891 00000 n 
-0000792007 00000 n 
-0000792135 00000 n 
-0000792267 00000 n 
-0000792390 00000 n 
-0000792517 00000 n 
-0000792652 00000 n 
-0000792747 00000 n 
-0000792944 00000 n 
-0000793194 00000 n 
-0000793369 00000 n 
-0000793482 00000 n 
-0000793594 00000 n 
-0000793634 00000 n 
-0000793834 00000 n 
-trailer
-<< /Size 3052
-/Root 3050 0 R
-/Info 3051 0 R
-/ID [<3C58E1122DA7973E82A6EE9D402B5436> <3C58E1122DA7973E82A6EE9D402B5436>] >>
-startxref
-794166
-%%EOF
diff --git a/doc/ppl-user-c-interface-0.10.2.ps.gz b/doc/ppl-user-c-interface-0.10.2.ps.gz
deleted file mode 100644
index 2fc37bb..0000000
Binary files a/doc/ppl-user-c-interface-0.10.2.ps.gz and /dev/null differ
diff --git a/doc/ppl-user-c-interface-0.11-html.tar.gz b/doc/ppl-user-c-interface-0.11-html.tar.gz
new file mode 100644
index 0000000..f5a82e6
Binary files /dev/null and b/doc/ppl-user-c-interface-0.11-html.tar.gz differ
diff --git a/doc/ppl-user-c-interface-0.11.pdf b/doc/ppl-user-c-interface-0.11.pdf
new file mode 100644
index 0000000..8aeba23
--- /dev/null
+++ b/doc/ppl-user-c-interface-0.11.pdf
@@ -0,0 +1,26448 @@
+%PDF-1.4
+%����
+5 0 obj
+<< /S /GoTo /D (section.1) >>
+endobj
+8 0 obj
+(\376\377\000M\000a\000i\000n\000\040\000P\000a\000g\000e)
+endobj
+9 0 obj
+<< /S /GoTo /D (section.2) >>
+endobj
+12 0 obj
+(\376\377\000G\000N\000U\000\040\000G\000e\000n\000e\000r\000a\000l\000\040\000P\000u\000b\000l\000i\000c\000\040\000L\000i\000c\000e\000n\000s\000e)
+endobj
+13 0 obj
+<< /S /GoTo /D (section.3) >>
+endobj
+16 0 obj
+(\376\377\000G\000N\000U\000\040\000F\000r\000e\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\040\000L\000i\000c\000e\000n\000s\000e)
+endobj
+17 0 obj
+<< /S /GoTo /D (section.4) >>
+endobj
+20 0 obj
+(\376\377\000M\000o\000d\000u\000l\000e\000\040\000I\000n\000d\000e\000x)
+endobj
+21 0 obj
+<< /S /GoTo /D (subsection.4.1) >>
+endobj
+24 0 obj
+(\376\377\000M\000o\000d\000u\000l\000e\000s)
+endobj
+25 0 obj
+<< /S /GoTo /D (section.5) >>
+endobj
+28 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000I\000n\000d\000e\000x)
+endobj
+29 0 obj
+<< /S /GoTo /D (subsection.5.1) >>
+endobj
+32 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000L\000i\000s\000t)
+endobj
+33 0 obj
+<< /S /GoTo /D (section.6) >>
+endobj
+36 0 obj
+(\376\377\000M\000o\000d\000u\000l\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
+endobj
+37 0 obj
+<< /S /GoTo /D (subsection.6.1) >>
+endobj
+40 0 obj
+(\376\377\000C\000\040\000L\000a\000n\000g\000u\000a\000g\000e\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e)
+endobj
+41 0 obj
+<< /S /GoTo /D (subsection.6.2) >>
+endobj
+44 0 obj
+(\376\377\000L\000i\000b\000r\000a\000r\000y\000\040\000I\000n\000i\000t\000i\000a\000l\000i\000z\000a\000t\000i\000o\000n\000\040\000a\000n\000d\000\040\000F\000i\000n\000a\000l\000i\000z\000a\000t\000i\000o\000n)
+endobj
+45 0 obj
+<< /S /GoTo /D (subsection.6.3) >>
+endobj
+48 0 obj
+(\376\377\000V\000e\000r\000s\000i\000o\000n\000\040\000C\000h\000e\000c\000k\000i\000n\000g)
+endobj
+49 0 obj
+<< /S /GoTo /D (subsection.6.4) >>
+endobj
+52 0 obj
+(\376\377\000E\000r\000r\000o\000r\000\040\000H\000a\000n\000d\000l\000i\000n\000g)
+endobj
+53 0 obj
+<< /S /GoTo /D (subsection.6.5) >>
+endobj
+56 0 obj
+(\376\377\000H\000a\000n\000d\000l\000i\000n\000g)
+endobj
+57 0 obj
+<< /S /GoTo /D (subsection.6.6) >>
+endobj
+60 0 obj
+(\376\377\000L\000i\000b\000r\000a\000r\000y\000\040\000D\000a\000t\000a\000t\000y\000p\000e\000s)
+endobj
+61 0 obj
+<< /S /GoTo /D (section.7) >>
+endobj
+64 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
+endobj
+65 0 obj
+<< /S /GoTo /D (subsection.7.1) >>
+endobj
+68 0 obj
+(\376\377\000p\000p\000l\000\137\000A\000r\000t\000i\000f\000i\000c\000i\000a\000l\000\137\000P\000a\000r\000a\000m\000e\000t\000e\000r\000\137\000S\000e\000q\000u\000e\000n\000c\000e\000\137\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+69 0 obj
+<< /S /GoTo /D (subsection.7.2) >>
+endobj
+72 0 obj
+(\376\377\000p\000p\000l\000\137\000A\000r\000t\000i\000f\000i\000c\000i\000a\000l\000\137\000P\000a\000r\000a\000m\000e\000t\000e\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+73 0 obj
+<< /S /GoTo /D (subsection.7.3) >>
+endobj
+76 0 obj
+(\376\377\000p\000p\000l\000\137\000C\000o\000e\000f\000f\000i\000c\000i\000e\000n\000t\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+77 0 obj
+<< /S /GoTo /D (subsection.7.4) >>
+endobj
+80 0 obj
+(\376\377\000p\000p\000l\000\137\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\137\000S\000y\000s\000t\000e\000m\000\137\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+81 0 obj
+<< /S /GoTo /D (subsection.7.5) >>
+endobj
+84 0 obj
+(\376\377\000p\000p\000l\000\137\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\137\000S\000y\000s\000t\000e\000m\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+85 0 obj
+<< /S /GoTo /D (subsection.7.6) >>
+endobj
+88 0 obj
+(\376\377\000p\000p\000l\000\137\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+89 0 obj
+<< /S /GoTo /D (subsection.7.7) >>
+endobj
+92 0 obj
+(\376\377\000p\000p\000l\000\137\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\137\000S\000y\000s\000t\000e\000m\000\137\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+93 0 obj
+<< /S /GoTo /D (subsection.7.8) >>
+endobj
+96 0 obj
+(\376\377\000p\000p\000l\000\137\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\137\000S\000y\000s\000t\000e\000m\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+97 0 obj
+<< /S /GoTo /D (subsection.7.9) >>
+endobj
+100 0 obj
+(\376\377\000p\000p\000l\000\137\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+101 0 obj
+<< /S /GoTo /D (subsection.7.10) >>
+endobj
+104 0 obj
+(\376\377\000p\000p\000l\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\137\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+105 0 obj
+<< /S /GoTo /D (subsection.7.11) >>
+endobj
+108 0 obj
+(\376\377\000p\000p\000l\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+109 0 obj
+<< /S /GoTo /D (subsection.7.12) >>
+endobj
+112 0 obj
+(\376\377\000p\000p\000l\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+113 0 obj
+<< /S /GoTo /D (subsection.7.13) >>
+endobj
+116 0 obj
+(\376\377\000p\000p\000l\000\137\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\137\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+117 0 obj
+<< /S /GoTo /D (subsection.7.14) >>
+endobj
+120 0 obj
+(\376\377\000p\000p\000l\000\137\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+121 0 obj
+<< /S /GoTo /D (subsection.7.15) >>
+endobj
+124 0 obj
+(\376\377\000p\000p\000l\000\137\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+125 0 obj
+<< /S /GoTo /D (subsection.7.16) >>
+endobj
+128 0 obj
+(\376\377\000p\000p\000l\000\137\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+129 0 obj
+<< /S /GoTo /D (subsection.7.17) >>
+endobj
+132 0 obj
+(\376\377\000p\000p\000l\000\137\000M\000I\000P\000\137\000P\000r\000o\000b\000l\000e\000m\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+133 0 obj
+<< /S /GoTo /D (subsection.7.18) >>
+endobj
+136 0 obj
+(\376\377\000p\000p\000l\000\137\000P\000I\000P\000\137\000D\000e\000c\000i\000s\000i\000o\000n\000\137\000N\000o\000d\000e\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+137 0 obj
+<< /S /GoTo /D (subsection.7.19) >>
+endobj
+140 0 obj
+(\376\377\000p\000p\000l\000\137\000P\000I\000P\000\137\000P\000r\000o\000b\000l\000e\000m\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+141 0 obj
+<< /S /GoTo /D (subsection.7.20) >>
+endobj
+144 0 obj
+(\376\377\000p\000p\000l\000\137\000P\000I\000P\000\137\000S\000o\000l\000u\000t\000i\000o\000n\000\137\000N\000o\000d\000e\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+145 0 obj
+<< /S /GoTo /D (subsection.7.21) >>
+endobj
+148 0 obj
+(\376\377\000p\000p\000l\000\137\000P\000I\000P\000\137\000T\000r\000e\000e\000\137\000N\000o\000d\000e\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+149 0 obj
+<< /S /GoTo /D (subsection.7.22) >>
+endobj
+152 0 obj
+(\376\377\000p\000p\000l\000\137\000P\000o\000i\000n\000t\000s\000e\000t\000\137\000P\000o\000w\000e\000r\000s\000e\000t\000\137\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\137\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+153 0 obj
+<< /S /GoTo /D (subsection.7.23) >>
+endobj
+156 0 obj
+(\376\377\000p\000p\000l\000\137\000P\000o\000i\000n\000t\000s\000e\000t\000\137\000P\000o\000w\000e\000r\000s\000e\000t\000\137\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+157 0 obj
+<< /S /GoTo /D (subsection.7.24) >>
+endobj
+160 0 obj
+(\376\377\000p\000p\000l\000\137\000P\000o\000i\000n\000t\000s\000e\000t\000\137\000P\000o\000w\000e\000r\000s\000e\000t\000\137\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+161 0 obj
+<< /S /GoTo /D (subsection.7.25) >>
+endobj
+164 0 obj
+(\376\377\000p\000p\000l\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+165 0 obj
+<< /S /GoTo /D [166 0 R  /Fit ] >>
+endobj
+168 0 obj <<
+/Length 1142      
+/Filter /FlateDecode
+>>
+stream
+x��VIw�6��W��W�=@�K{��%uj����C�
 ��pQA����;�@�d�no��Xf��f��Wz��8��|?�&�.Eⱔp&bo��X���^�1�9�f�g�TA��o&|��]�Y����\K�	��>y<%y̼�3��
͜91ٖkY:�W�Qz0��B�jL訚��}����~�Z7�]�ڊ����@T>@)�2�%��N�J#=�5�3�P��������0�E8J�
���LI��^�D$
m�us�M��d�J�hP�)��)��&P
�܋I9�6� ��q�2�	Jb&���ʱC��SU�G�R�/
�r��t
K�$�X�r��E����jU]

L�� �oǡb�\E�
u�.׽A0~⾔Qk`,ۋ��	�%���� &P�E3���zp�ɣ��=R�ǒ��<�u�M'�b���N�m�P���)�]��e�IƢm�T�0y�?Zj:�wK��J�R♿���<�׫U��zpB�`���}[Y��24N�[�wlñ%�����Y-*՚
+���h�+����@w���-we�}�}B�
+
/9�n�Z�N����ժ���
:�,áoC��P;9���Q�4Uу��� zD�7�w�,Y�s$b�d*�t����ԲA�3�*�
loZ��/O���E8VVZ�A�~�����0s2�I1B7/fVi�RV^��MoTӣ��0{zֵFwuxYw6��xz��z�W;r�W��Ɂ��R�+;
T��#�/�Q���)�wmՖ����ֵf�6p�G���]����*��Q���u���,1�̷��~!NK^�ܻ�56�A	�nֵ�zezh�(�vK�-��H��;r�}r���C��n�������~�L��Z�L�Sa��Ϟ&۴:g�3e/w�$đ2���eTG��}U�(�������
\�_�N��^��,Ct<���9TH����y~��i�0à�ڽ��j�
��t��U�(��8m�uO����)�%����ö�G�'�o����p$��ڄ�9{�@��qDr���8vs{�O���'�Zi;%Ie�{r��
nT����a��y�$���=�q;�+	�
�&t [...]
+endstream
+endobj
+166 0 obj <<
+/Type /Page
+/Contents 168 0 R
+/Resources 167 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 175 0 R
+>> endobj
+169 0 obj <<
+/D [166 0 R /XYZ 90 757.935 null]
+>> endobj
+170 0 obj <<
+/D [166 0 R /XYZ 90 733.028 null]
+>> endobj
+167 0 obj <<
+/Font << /F56 171 0 R /F23 172 0 R /F40 173 0 R /F41 174 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+203 0 obj <<
+/Length 1842      
+/Filter /FlateDecode
+>>
+stream
+x��Y�s�8~����3ő�߽�#9�ң�r7���q� O�Mmsi]K6Ƙ
I��N�di%����[�%�,����:g�Q<ݳ����GǦ�Ũ2�+�Ջ�Ѭ?�M���7�Ɉ�
Y4�(��g��

+2��b���a)����#Q� ���\��5�#R��?;���n��:�-��d�Q�ާ�r�k]f���(1B��lF(�Ir��<�s��/G��
+�oA�o�p�j���aMT/�J�.ut��b��*���yl�<�+��,H�[.���F-�O�r�qݯ��\�0�M��~���xxt�1O�a��I�u
FT\~���|���FQH#i��� ���0�a��ns.����,IEy���Ž(�R�n��~�yZv�:rX��,�ڨ�jt-$�)�զ��M�.��y�/���3�k���F)Uy�U�Tg�	�?F#ߋJ��\��Aq}�f{��
+m��[9W�F�"0?)e鏎��R,�(M�E~���S)��i��؃�$�
�;��]����/�
#0]G
ĚI`�
���@<�*���]��L�8�^$8��%6��Ls��Q�E�4����Z�)�����C
N]G��Z�?�DS��Bz��P���D��	~� ����-��]2�_QX�y$��
g�4.�']�P3)�\ 
���"��"%��>���#��1�KQ(h�E1�axjV8�p��V�
+�XR~�>T��o�B���Z{�:�-/WT�Δ�3ɮM�
<���~�\�E�2
T��gBX'
�
���!�@�� 
�=H�*�4��A�!�|���
��� R
�~.��[Ҷ�lp-w�}�.��/e<Aym)@
�H
l��k�;�+܁*J� ~KZ]��1�X���@
�?�Oz�V�_�����h�
%��	J0�D�>��1��M X%^�
+�`�\H��(�[�{���6z!�B���=������n��;)�(��M&����Q��I9�c�Ό��#!>Zo�P�T%��AK}۟\��	5q>f�d�T|/�Q:����(��g���M4�������'��ד�մ��9�\�I��*����FI�Z�+*
qvb�Iy���~e�N�M�z�d2��n�y�N˖0�	ֵ���A�)�Q���
@w�� y,�e�� �K
�
)������|������N/?H��6��lo�"'��n�6Ce�J���]��pE�#�l$�`Z��!
1�BԷ~y�
�-��I]�P�̹��-;�,���L�r:L��@�x.�92+ٟ�hNw�j�U}2C���:�Y3�o#9� �/M[���T�t�zn�G�
�.:�}n�z�B��5k���&`�E~ޏ�y�а e���K%��Yx��>@,	���ϲ���~
>+�I�pV6w�0� _� �n� ���<ױU��r� 2ݰw ����� �OH@ř
�G�t~r\�"�{ 	���֙t�^�1��<����A%~��H
�]Sc������Fv5�]��8 �>��� �6{�x8��S
Q�S:���e"��
�x�GA����hFX�Ǭ�9�s�i at u9r:7�������-�P:����s���o*fL�
�	��d�S�b�Mt�K��!,�
�F�W�k��͔��8�7Ag�M2?Oқ�_�em�!�/x���c<�Cv'�n��#��|
��v����sf
�é���E�x�(�}��l��a�C�U�֛��k���
uO},.�m�s
W>[�nY{�ԏ�f<��]g<�߉eLz����&
�ώD%:��U�k��)?��R\^�v�LS�Vu�w���m(�:P+��\�֮k��^�$.G
+endstream
+endobj
+202 0 obj <<
+/Type /Page
+/Contents 203 0 R
+/Resources 201 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 175 0 R
+/Annots [ 176 0 R 177 0 R 178 0 R 179 0 R 206 0 R 180 0 R 181 0 R 182 0 R 183 0 R 184 0 R 185 0 R 186 0 R 187 0 R 188 0 R 189 0 R 190 0 R 191 0 R 192 0 R 193 0 R 194 0 R 195 0 R 196 0 R 197 0 R 198 0 R 200 0 R ]
+>> endobj
+176 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [385.063 672.708 490.947 683.612]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
+>> endobj
+177 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 650.855 322.585 659.702]
+/Subtype /Link
+/A << /S /GoTo /D (GFDL_GFDL) >>
+>> endobj
+178 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [231.464 619.218 337.877 630.122]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
+>> endobj
+179 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [440.112 607.263 513.996 618.167]
+/Subtype /Link
+/A << /S /GoTo /D (GPL_GPL) >>
+>> endobj
+206 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 597.365 169.87 606.212]
+/Subtype /Link
+/A << /S /GoTo /D (GPL_GPL) >>
+>> endobj
+180 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [219.806 513.098 383.194 522.996]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+181 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 445.813 151.499 456.692]
+/Subtype /Link
+/A << /S /GoTo /D (section.1) >>
+>> endobj
+182 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 420.129 229.087 429.105]
+/Subtype /Link
+/A << /S /GoTo /D (section.2) >>
+>> endobj
+183 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 392.542 252.131 401.518]
+/Subtype /Link
+/A << /S /GoTo /D (section.3) >>
+>> endobj
+184 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 364.955 165.446 373.931]
+/Subtype /Link
+/A << /S /GoTo /D (section.4) >>
+>> endobj
+185 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 347.35 163.723 356.197]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.4.1) >>
+>> endobj
+186 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 319.743 155.484 328.72]
+/Subtype /Link
+/A << /S /GoTo /D (section.5) >>
+>> endobj
+187 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 302.139 168.435 310.986]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.5.1) >>
+>> endobj
+188 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 274.532 206.393 283.508]
+/Subtype /Link
+/A << /S /GoTo /D (section.6) >>
+>> endobj
+189 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 254.87 215.06 265.774]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.6.1) >>
+>> endobj
+190 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 237.246 279.109 248.15]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.6.2) >>
+>> endobj
+191 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 219.622 199.967 230.526]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.6.3) >>
+>> endobj
+192 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 201.997 189.447 212.901]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.6.4) >>
+>> endobj
+193 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 184.373 165.935 195.277]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.6.5) >>
+>> endobj
+194 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 166.748 201.063 177.652]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.6.6) >>
+>> endobj
+195 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 141.199 196.43 150.175]
+/Subtype /Link
+/A << /S /GoTo /D (section.7) >>
+>> endobj
+196 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 121.537 428.497 132.441]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.1) >>
+>> endobj
+197 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 103.913 325.574 114.817]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.2) >>
+>> endobj
+198 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 86.288 288.404 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.3) >>
+>> endobj
+200 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+204 0 obj <<
+/D [202 0 R /XYZ 90 757.935 null]
+>> endobj
+208 0 obj <<
+/D [202 0 R /XYZ 90 466.284 null]
+>> endobj
+201 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+235 0 obj <<
+/Length 2253      
+/Filter /FlateDecode
+>>
+stream
+x��Z�s�6�_��{8j� H���fZ��q/��j�S�� $$��H�q���XR�,���6q��X�c��X��ң�'�^���[R/!I�#�j�%ԓ#�3�*���l6��?��t�ŌQ_-�췫��ń�����<�����	
���OH"��7�Q/��
%A{����
y �»<��	E���z���ҊhGZFC���'y at h$����9� �fS\�U��t���˻����*��:ou�ڪ�n��iv^ka�K�c���6c�b�dޛ���OfsA��=�$ٶ��c
�
+��>@�3I"
�H�G�8Ru��?
�� ��!�CvV\�O��T
�3�X8�X�c8���T�>g,�I��s��M���Q@�D��
u9>��0rGA���0�
��„���|���"��SLv/�
��H �ˋ�h�#�C�
�X ��;,���x�7;��y�焨��s�rP�d��������}�N�>� PG֬�

+�� N/-X��u^jU_�aS�ɫ�HO/�p:rr��O��u��86:?êlb�Gl���
@�;����~��#ϝQ
�
�����X2��IN'�ReD|��q:�*��i������Oj��!��¯�~dI�Խ6�����
.*8�7�bƅ�k�8�fq��Y
��,�����5lO��`��O�1��S�K:���$ŏ���� �oY\�B�DՓ�:
���+{%�B���-Ϝ�[�y���������{"��H��o����oWj��L������q�J�3�9zQծ[���r44�/.^���}&�߸ng�M�gR`�J�cŦ�R8[��6w�UѼ��"�j�q��=��	
U�
+
+
Q�������_��L�
������c�
�VE��������J�L׎��R^ ���^�E��R��~ơS�:�z�H
}?�4�Vy���Q�]��
+����n�e���V�yk��l�-�T���|yn�s���;\��-���^�:s��Zo��k*�� SY78�?I���u��W{s}��oVUW`���=�2-:p*�Av
6����Rܹ�+�ϕ#�j����	�����P��@��r�P�gL�z/�
Q�=IIYBZ���P��<� �':��
�� d����W�X;'�ı
���9Peպ���Ϙ)t�z�U]��n@�3t�	\�r�
J֌V|���4$q

��<�/+�n���|�R�vq봐Y挑D����m�j�1B#��HA(g�m�J��.��0�1�� ���V8��W��p�(	�����A���!��G��]�Ԧ�0��vS; S�Xj��
L�C
��0�T�i9`�_��U�x���_��2l��aZ$
�"a8[$�N��5
��j���`&��m����
$}PK�8b��U����n1����ӱ��9��E�� ނ
xW��6�Ƙ����(

)v�Z7�+�׼�\�
���
_�#4wڹ�[�CfZe��0 �cPA+gnTh�?n�sGe��(�}�d
�+���
	��{[�`�b�|p�@(�{�&��������4i:`v�/�j���(m���"0s��k:����J��F��qN�X"B��[wH"�<P����KF����ƚ�ظ���>.���
T�q!d�p϶�W0֙{�L��
R#�/��0��ŃQ�"� }p@ۘD�Pɸ�&��VhV��B
)�u٭���kW��F}��
,!��{G�
�=d?bOQ�����!=�XQ*�z�+MC�Jӑ6C�/$]�ض1�Y
�����AH�l����(�*O��v��ޘɮ�1W��
��uzG>��%��W�e+�}]M<0�DХ��S��RLe��q-̃ah÷Э��oV��[�	;�T�`�D7�l�stY��zoTZ�
�4�a_G����s�a�=�)1RXقT2X�]��&O�qU�f����D�{�������5�cb֥��{5J�l+>t4�#W��e7����qV��ng�RE�� 
�+�%"\��
w�u������y�X��ٴ֪�7]�;���cƺ  �i�.ma_7�E"F7Kf.^��K����M�P2�f�/R�"z�_�6"쯐���^A��gBNb7���פ���&~`��롆���T���i����kvv2�
h�YϷ'
A]�^76C&����P�P�R��
+����S�qg��V��a�]��������$mH�IޞB�;��N0†��%�(���U��%0�6Xɾ����9
+endstream
+endobj
+234 0 obj <<
+/Type /Page
+/Contents 235 0 R
+/Resources 233 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 175 0 R
+/Annots [ 199 0 R 211 0 R 212 0 R 213 0 R 214 0 R 215 0 R 216 0 R 217 0 R 218 0 R 219 0 R 220 0 R 221 0 R 222 0 R 223 0 R 224 0 R 225 0 R 226 0 R 227 0 R 228 0 R 229 0 R 230 0 R 231 0 R 232 0 R ]
+>> endobj
+199 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 719.912 386.605 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.4) >>
+>> endobj
+211 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 702.288 326.84 713.192]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.5) >>
+>> endobj
+212 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 684.664 292.519 695.567]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.6) >>
+>> endobj
+213 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 667.039 379.98 677.943]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.7) >>
+>> endobj
+214 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 649.415 320.214 660.319]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.8) >>
+>> endobj
+215 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 631.79 285.894 642.694]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.9) >>
+>> endobj
+216 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 614.166 378.296 625.07]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.10) >>
+>> endobj
+217 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 596.542 318.531 607.446]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.11) >>
+>> endobj
+218 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 578.917 284.21 589.821]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.12) >>
+>> endobj
+219 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 561.293 401.539 572.197]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.13) >>
+>> endobj
+220 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 543.669 341.774 554.573]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.14) >>
+>> endobj
+221 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 526.044 307.453 536.948]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.15) >>
+>> endobj
+222 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 508.42 319.637 519.324]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.16) >>
+>> endobj
+223 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 490.795 300.838 501.699]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.17) >>
+>> endobj
+224 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 473.171 325.734 484.075]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.18) >>
+>> endobj
+225 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 455.547 297.52 466.451]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.19) >>
+>> endobj
+226 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 437.922 324.09 448.826]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.20) >>
+>> endobj
+227 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 420.298 308.22 431.202]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.21) >>
+>> endobj
+228 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 402.674 440.054 413.578]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.22) >>
+>> endobj
+229 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 385.049 414.042 395.953]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.23) >>
+>> endobj
+230 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 367.425 380.289 378.329]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.24) >>
+>> endobj
+231 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 349.801 290.317 360.704]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.25) >>
+>> endobj
+232 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6 0 obj <<
+/D [234 0 R /XYZ 90 335.585 null]
+>> endobj
+236 0 obj <<
+/D [234 0 R /XYZ 90 300.916 null]
+>> endobj
+233 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F72 207 0 R /F23 172 0 R /F79 237 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+245 0 obj <<
+/Length 3552      
+/Filter /FlateDecode
+>>
+stream
+xڝZYs�6~ׯ�J����"�۵yp\^�
Z[�>dS*h�!�
�g�v�^�o�6@
}~ݠ�گ�ի���.�����e��W׻U毒��H��u���덈|�ջ�mC����\u���R��ު�Q�a
+��v������g
��W�L
%,	���p��o�*��ς,]ݛQ�U(x��g�:��ی��6E��8�m��v"[]�
n!��
+��WV�%��*s"V%��;E
]��.e���ݬ�з��O��?򡧱}i��;Y�-qWWjժP��^[M�0?J&<	{��y7��,�õ#.ӆ�a6�[sߓ۞�}��ZD���,ۆ�[YR�V�I����w���S�O8�ʉ��ޞf+��V5v�]Wn
�qg̈��j�O�eY���X��t�wU�f�L��S���!e~$���\ İ4���.��<ii�<v-5e�橷��t����Q��)��XvRG.[ٞ��o�خu'�$M��O,,��%y�m��8}��lt� `�Q~3�^��v�����Hy�)��Y:����jT���mK�Oy*8
����}��ǚG^Uӧ�lZYn�#�Q
���^�wv���΍=wr-@
�]#/�b�!!|&�����fc�	�<B6���˫����-��f�|)gA����Q�8�
���b�%>k%�H
�N�#�"�b�X+
�Y��Wu
�
ΡK�j����r{��
Ƿ_+�g�

��-�1�
���ohA�<`Q��p��V[5Q�*h���a�9�-6���N[����;"K�eW��md<�̃�F
�p�,ʆ�n�Ӈj�ֈ�
b"���)��T9�� b� 
H�Ba�tmfO��{�[G��[J����#�M���ܐ`\

8(Y�1&  	ϱ��~�?
��0�rƬ�

+��$pm7>�4���kZ�;E�Yn1��
UM�
�D�,N{{�U��

+��2Oh��D�
+�ZS��G��81#s� 
Ѯ0".hg1���v��oe�
�����=C�
/V���j�=���k:4p��&��+$Pa���{q
g��Ї��<d�O���cbNB>v"��{�#�1k9U���Q*�D�>D��UV+�^��5&���;�K}d��ьC׸�LQ*Y�»���W��!j��Zb��rAQ�Ġ�np�xc֓A��U�3-�(����`��`��N��
	&�b����"��I ��t�r_� #��8�fB怿���3nD�
,�>�!�g>��>��{�[����G�B�Q�h���ŀ��H��6-c�ظU�0F�H0'Î�pԅڴ�`�©�O�mW�m��rm��v/o~y�����w7o��~��|�q+�ɠ�w8h#b>�x��%6��7X���_^���{n���ӈ�p�^�3����
�6���Eo/��{�}n�u9yw���l�t�;
k%���p
���rdžD/��"c�DBF�� ?�y8�����M������X%,K|�&\�,�E��
"$�?�ӧ�w�-�FY�����-uF ��o
/��٩�Y���p�v��{c�����g���t��o��-أ�-8�27��D��u���
+%~?1I�<&9�G��L�>�� � H���ٙ��n��+dM��h��2�+��t]��C�=���vh�‰��6K�I)&��#p1%
U,
+�]��
+}�d*��l�����<Ƨ#�DO��brhH"��=����i6v�V�7dv
 ��,��'��;��#�gI�drc�i�Z�҆ke}���X�aڍSW��O�<"\Z�x��8
�x��e��"s
fDC!~@�.3
!��b����;�|�hL�
+Iu]��ֹ�n\<)e������1��u�եM;cjH�
0��4m=tUe+�j�*m�d;<�F�"�L6l��Z��/ܟ
�V��Z�,�8ɐ�ᩒlr*H$=��$1��<��s���s�$�P�&t��V���
O
�)6*Ѭ
pnj�
d�Ib�:{
]���Q�X�~�X�$퐄†��< H�\ҁ0� =�Y
��zf�I�K��jD�JF�RU$�xa�v�
�]��ْc
+`�io�0Ż]�,d�Yo���Oa�dc�,F�Ќb��L�e/x
��A4���^�2����� �YU?�N�;F���/_�N�3�LN����x��O����1����ԏ�;x����9:r�,$L ;���="�{���S�{?��˦�=����Դ���	B��T�ғ{yU*��rP�Z�
�<Y���)
Ӯ�A<�b��d��iDF���4�0�cr���0�H�(�)��hH�LB�p��������blNR���C*I`�^��Уr�,�
j�S@�W@�~�%
z8Y�*"8�/�I\
^� �6 �:��]�
Z^�/
�D�
��O�Ҹ�-ف4ї�u����
[/
����?�L/� e&S4���Dw0z��r��6���~
y�ϗ0�+���9��c�@Q��ʮ�/p
j`�¢��+����	�M+
HRW;Jǵ��a<��Fمu;��)���Rn�����4E,��e�wY�.
��-!����i@�r7�J�`�9T�%
5���w��l-�:�{3�~�k�w��"6V6o�����v�]��Mrmk����=�^��
���US
\%4NX�g�㦪�)��b=���
�	�@oT�l�
;
+��ts at u�"�]�tEK�I�q�ܥ`o^m�͇
�C�>��h��3�
+���۩xc����2W��l�	)F��y�8��EK�}��
�V����ʵ~:�GL?5W�V&o�m[U�SWp!D�A��3����g5\�j��YoQi�Qk��e�;iE��ޗ�Lњ:
.V�NSsG2��iP�JA�x�a�F�}T������?����L���A�T�
��e���eE��(�/HH;#�@jK��0.�M�S�^0�)چ�̕�li����af-(�
t
Cor�Ї���m�Y�
�Y�=�/����*��'S��	 ��U>[��y����nZ}���,
���
#������}���{d����fe`
.�Bs�
��(d�8�7D1Ɲ��h�<
�
�d0l|G
�Q���@��/�}�9!yI�B/4js-��m����G�ˉ���%��S=����
�#ű����z 끯&�ŮV	
�����\c�J���;H�/[궩xc붋w
1K����B� faB��HL�.�1*��Z�A�8rOw
�C�'g�̖�Q:�.�+�b�}�!"�����
F^չo�y��@Y��g���)0�2�an�GS9��V%a���7W?=e;"f���8�'�@[4\���H
K�2d?���I�(�g�`^���V�M�\���(|(��^����G�s���꒏�$ca�r�1���p���nZ� �kb��9�C�>
�C=_w����O&2��.�,����-����!� s���",+��ks<��
���UU��T^Kw�Q�慥�r�ɽ�������4�z+��1�gZP��\�9��F0Z?��é�
���m��..���ٶa]��5�-:���
+>̂W�I_�ٹ
�P���e��\J�>DQ�
+endstream
+endobj
+244 0 obj <<
+/Type /Page
+/Contents 245 0 R
+/Resources 243 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 175 0 R
+/Annots [ 238 0 R 239 0 R 240 0 R 242 0 R ]
+>> endobj
+238 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [197.068 242.843 240.904 253.747]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/software/libtool/)>>
+>> endobj
+239 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [103.669 207.601 231.19 217.882]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.dwheeler.com/program-library/)>>
+>> endobj
+240 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.468 165.443 387.371 176.347]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/software/glpk/)>>
+>> endobj
+242 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+246 0 obj <<
+/D [244 0 R /XYZ 90 757.935 null]
+>> endobj
+10 0 obj <<
+/D [244 0 R /XYZ 90 138.822 null]
+>> endobj
+247 0 obj <<
+/D [244 0 R /XYZ 90 106.894 null]
+>> endobj
+210 0 obj <<
+/D [244 0 R /XYZ 90 106.894 null]
+>> endobj
+243 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F79 237 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+251 0 obj <<
+/Length 3040      
+/Filter /FlateDecode
+>>
+stream
+xڕ�r�6��_����l�7�٧d��d'3�k�R[�<P$$��C!�(���F7��t&y���h��
{�����p��������dn����ɼM��n
���r�l��s~��3D#����/þ��?�B4J��n�p���7�
o~���(o�k�q�a�)�_�6%��xn��6���DA�����?7ޔ�8Y�����D����=����'��z�����x^J���4zh���
C�o��i���{�6�������|ژѿ�����۹^��)Mש�ϯ������ЭW�3[���M����)ݵm��,v����9���}/J�-��	Z�7<]J�wr�
<g����]kZ��P4�
�ɜXY#¶j�����K
��4���(�#��v@ׇ������,��ey�U�n�ع�Rs[+&�
�?�/
���}_���sD^�+A�g܄�A�QF�O�+2|�#q�s �a�0|�ā/PM7
ڎꙎ�L`��'���dS�Q���7�ݓr-�&zAJBs��/:u�z-  C@8�./zYh���=�w���P��ޯu�'\oУZщW�\ہ�B�m=߮N�E7�P�Jи�7��)�@�v��W^�6}�+�� ���E�+z�����(z?!�P6�hJ��h���8�]3��o���$t
�7M��0L�� �7�1XͲ�*pE���r�Zp��c��wwu=J�9�҉:�ف
!L/t�"M���h<(�
+�
�2���]��f}fJ.Gs���.7
c<�f-
+-==0��#=
[�ᇦ?�36!�����`z�(4�p*?�+�kJY��,�o�A��ό�((}u��l��Uͪ�w��W���
��%^ò�m}D9�
��iPk7�icń늺5
�U���I �
1�F�:���@�~�՜x�Cļ��>֥n~]G� eb$`)��� L�;��֭����O�&�NL�|
��,���kE��[�bc+8�{]5�ap�1��9�r4����wx���&'<
� �!6bvF��0Z"@0�!/���s`�;2d��fQ�)����&0�Hu¤薬��:]щBH
��� T�F������G�ؤ�}v��\c�ݒCY��"
]���\4�X��
& �
���X$��X����~�rl�f���8�7�������u��!
<As|!ȣk�;"$�EOƪ#G'�D[, An�5Q��HƢ]�����
�R�;#{����H�9��0)�zZ���yuF���	�㏽
�8�9Z�W�0 ��jn�)D��(E�D�3L���쵭!T [...]
+D����H�ǟy}�4�^F�	3$�,]�v��`�5�
Cq"HN 6�[���$8
+��{i�3)�`2�oaHbRvN=�F�\)Z�6&��EX
�HG�n���
��Qyͫ����l�;c� Z8�cR�Mc0�f2a�$� 
�}뛏� ��m;:�%��(]q��::�� �;� ]s���uJ)8{��8.뗘z�r�:.
N�9*(8�9`T�1��;?���z��j(��v◪�L��+aN	�	'� ���G��>�9��z)_db<��.Ջ�zM5,�Z�;���
+��Evje
�Z�B/�3ܚ��X��`�F+�1G�դGR������q
�s]�{
+뇹w�M�A�LKӧHwo�ع�����QZ��p��B~�s���E�澢/'w`�t"z�x��Lw:�(y�sťMd���R��*: 5,{�q���԰>�"iE�Si�����}��
\�.�^ј+Zoza����o�
 ������Av�
{�Yy���W�
�]T��b/xe��� ��쪼]�[����3�!�+a<�EV�s���7Z�O�- ꁶ�L�bk)��<™�E��L﹪����Yh�OR���1f�fF���6�A��x_(�tq���B��B�̤
ҁPM��,�Z:B��_����
��4_�P��p�؊
��lT�
!
Y�3��:`a�}>�����h�3u켱�ɷfc�e��!�4x��4���#����k���0+
+�6�>���]���@eA�@0��>��
+M
��T��(
+E!U�c�|�.WE��/�NJxJ���W:�m1
'�Rp���&
+w�"��B*� �
�4\��
+Z��"lP_�}R�մ?K��I�6/��4�ZF�3\quF6pzh�  �3�u���_���#k-{al���a��.���$#���
�W�I�S
{�Ѧ���0K͸W�"3P?�%ȧ��`�@�;��F^^	���
��W�p��@g'8��dNM6���$��u�����M�����$���@9/�R��=ڙa��J��~k�_6���O�����u��k�)�����	x	\Ce��m��*�)�
1��
�F�۴F$pч
>'$�C��t8}_ ����h���-D.dM�M��Tk]F�V
+
P�����K�4{�4���Yw�;�f�U�
�]i�TpRW�^j4A�5m-o���yx�j��ZY�V�s3��R7XZ���V*�Бy �^���2�>���&�0�$��p,�p�����&\�ZT�N�>��a� ��,Y��J��ۅғ��襰
��ُ�6G�g��0�wm
��
�s,/(_j�M��C)P!W*1[S�ݔ�g�0}�2�>D޵T����Z�|�<��z4ǿ�>���?=���>����ϟ�~x���ӃE�⋝�)�[��4t5��/}_� |\N ��<�[�Z�q
 �������p��E�f��DU���⻝�Q��՜w��v��~���+�0����� ~�@�2j�~�#:��瀪Q)ڤD-Q� ���X�\�#�}�^��';P���}�7�����᎟��̍�U|A.�]�ϳ_��ze�a�;��{
6�Ga^���8Af���^m1���O�BIc��LY<��M��*_�_��VA�~�-�W�r���r�F�;W�� ѕ���~�Zo� [...]
+endstream
+endobj
+250 0 obj <<
+/Type /Page
+/Contents 251 0 R
+/Resources 249 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 175 0 R
+/Annots [ 241 0 R 248 0 R ]
+>> endobj
+241 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [297.062 719.912 388.718 730.816]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://fsf.org/)>>
+>> endobj
+248 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+252 0 obj <<
+/D [250 0 R /XYZ 90 757.935 null]
+>> endobj
+253 0 obj <<
+/D [250 0 R /XYZ 90 652.703 null]
+>> endobj
+254 0 obj <<
+/D [250 0 R /XYZ 90 160.851 null]
+>> endobj
+255 0 obj <<
+/D [250 0 R /XYZ 90 136.526 null]
+>> endobj
+249 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+259 0 obj <<
+/Length 3081      
+/Filter /FlateDecode
+>>
+stream
+xڍɖ���_�[���5\D��m2�v����M���"�<��Ų���
��t�, �*�^��{���o
��������e���vϗ]��Sp��`�\�~���S��7?�$]�N���q<�&���&�u��%M��w������W��=p��
u�
�(����Ͽ������C�����v�0�g����Nf|Z�F�3���0z���Q�}욗NU ;"��:}�]ϓC�OU�ػ�i����;�r
ԹD76�~+�Â��u�;Ay5�\.�����J���VAk��'TQt������OAp��s�fD~3Є9K��'�@�p�ӹi���قJ�yp��4ua�a��n�Q�=��=��{�ǀ��W
����#09��#��Oa5l�:�j
+s�˱ S��]'�UZ�=�k��o���xDe�_��AP��|.�Z��Ts����5���
N��
+�1�ӿ��3�˒&R�-鴺�L���G�q�8�#; bM!��¸aL���.Ҩ��|�Ww
�����{�h at k�rp�f,��#"�["��3�"+�Ͼک��X0`Adƴ͙=1���V]i�(������I<��X�qm=)�۸7���4o�
a��g Z�����^�:9�&��_+���M�"f��V��
�)��
��ӑ�&��� 
+y���JB[�a^k��~���1��f�B�#��X���W�o��
8���o�	�\
�^�M]���2 D�����Ů2�MPW�x��[�Tm
uڵ4Q�
+����<2�l[�ne����#
,ǡ �,{DՎ�aDs�z���S�W�
;X�y2pe�qrD�B'W��L��c�Q�Q�6�	��	�:sއ��Ӯ�~싨��R7�/��:��a�!xܒ��U��p
+saJ	����J�[�	
WɈ=�M%��f��xmc�d���$&
nZ����m�q���? CK�Y2��g"�Z��L���
+��FH�����!��r�pE� >
�ҙ
�"*}{�Ei�z����Ö�~ �g�t���փ�����u����ujNo�
�
=���V�
\��6G7��`0��?�5kA��-E,l�G��xbr~E8!��%
�s�[iKu����j�����L\�=�@�-�c3@�e�( ����*{ؕ
�xB��
|�d�U�Xp^c��%\1�#�]ejXUR�}�F�<�V��jY �� @����%�2J;b�K�_9T\[�-�cKSD��	� ����*�X�;2U
��H$1=?�f�T:6�B�&>�uLD��>�]pt[�2���ՙ��k!IY�(�0�.�sR���d_6bν��k�����
��
8!� �x���\����n��h��@�y�
@�^ �^�A�G�}{�4�xז�rS,;x�b`	�j3-�����
+XY�"-��E�1�.���]=>. �l��
�Z�$��D�����Z��w��"�9��f�*
+A&\R�}jF��r9�CShپ(ga;�v��I0#� �G7��\�s�/��([��.�
 �L7�҂AK�0�nj���a�r�˝�28n�Dأ~���`��}���m+p
-��<�`Q?�k�w��u��.�XH2"�Ӡ0-��\����e��<%<�� �0r��5��@'ݖ���~A���$@p�
~@Jм@��i��օ"B�-�޹)\��D�
�$����a0�U/#����UP��� ��4�DYN>�J�-�=+
 JU���E[�j��a���n�`�K�ѕY�jl~Z�)
(���=3�p��d�J��Ҵ�Xr�+�O����oΝ���9R�<�,ux.k
I�>oHp�
j� � X�(�
ٗ�
9smm�$������kSjA#lg\'(
+�E
E�ĕ ���3��( j�D�g�UF��iU�E�pE�p�
�?�_)���
:g ���2<y���t�PCY#�ۃ {��_�Co槅�Mc��n�,iL�Ew�G=O75�\�T;��$�gG2�D|QbJ��lj˝���
�^�ĝ<
�G��-�
F
j���[KOK��M
6W�����O�� )k�F�i��K���i��jmC�	����QRaO+��/�\��ѡ�QE�2���h���eN�d
�p0�M����E	�b�1]!��H�(~E��"��u)hoP�$
��h2d��|pҍ�u5��/�c�L'��;:2%m�О��3����}5?���t:c�+�
軑��(bU
ٛ�	]�)� ��
?��c��S7^Օ��&���A��b^�B
+�
+�)�6Pm��
@�p�T�a�2J�\ ��8�c�E �(�M�R���no�#�I@��u��țM���\k]p���E�з�Ao�jL
9AY�#=��!i	w�R.���صKY]a%�'N�����L.N�yZ��f�j�L�H$����
�ż[�lMCה�f�6���[F���l���`ʀ��R���|�IK�P�y�X����
+�g��`��� �
_�V>�c�:���)�?m��'�����2x�qե�2�D���6t�׭�
)��qG�I\i�}_�Z��WLxV]9\>�k߆��T�(�����o5��
I�:f�
���5ʍCa`?�`�� �xk
�E��9%���Bo��=�I��������v���&ǶH���8��";�� ��q`#$
�/�5�� ^�w #���*.�`\Z��Wq�Uer�
^Xs��xv���8E'��
��c �����a
ӛ��K�r��G5�AC)�q�Ռ�
|A�6w�P�A��
���]�U�M�[@ �Il����֮`����t%����3�z�/
O�=x�;�
�|���
+A��^������9#|Y}�	l.�s�A�y����A��L��C�C�k���V
1�F��k+�}aꍂ�m���[��Aa�1e
+S����j�WՖ�ܟ
��Y8��,H��_�_N�,�R��B�
�x��G���I^��~�E���)ж���A`R���:��O�.<�X^ԣ��&��
�u�m�Jk�
+���Ύ���	g\���!�3�"������ݻ��v���i�
��m�w��]�M
�V�8�W��AEI&�JJ��mk�
+endstream
+endobj
+258 0 obj <<
+/Type /Page
+/Contents 259 0 R
+/Resources 257 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 175 0 R
+/Annots [ 256 0 R ]
+>> endobj
+256 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+260 0 obj <<
+/D [258 0 R /XYZ 90 757.935 null]
+>> endobj
+261 0 obj <<
+/D [258 0 R /XYZ 90 464.398 null]
+>> endobj
+257 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+265 0 obj <<
+/Length 2796      
+/Filter /FlateDecode
+>>
+stream
+xڍْ��}�Bo��<
އ���d]vlg�
Ǖ��DAjyh	r'��t� )Q�}�������ql~|�����]
lJ�̢l�rؔ�&�B?����~�����Qx?��;d+{Q��y�ժ��/����0)�����/??�����CW�РNs?��M�<|�3����&��ؼ�]�&�b�֛��z���(��,e2��c
�B[���Q�ɾQZ���>��.�fX��c��qR��k�+��^
O���� �4۽�i8��8����͹�;t�/@��}��.�r^j�N=�
�m��Y�vu��a���{D���0�˔%U�]mvg޹�!lV{�3�e�
�`�U��Հ2�5�-�9����{aadsa�D��;��������1��Ѵ�ҍ=-�m��7�N}L^��Q?�r3�%����
+�0�`��&q�Jw�p
:t軆���U���`�
+dOX#����h�A�m��݅�l 2I�DM� ����Z
2�h q�
)oji]���� [�fzP�8HM�}ni�e
�$��m��jDR}j;$ᵖ��E�ꄑ�#$�@�"�w��j�]�.��
��C�ydn�G��,M�+k��y�x�j�{_��E�# ���	��6D�U���
>!&	W�qB��p㉸�8��(
$-�H�Y	k�3��@
����
�n�x�m0"�� �LȫN��8���'5��;�iC�^:�-�3��JƉ����i���ʠ�5���[%�\Ҭ�����`�
+�
�� �����Hф؄T�xbBuW��<���e��Q���/����D��V��yƁ�
�w�PN���G=�A�a\$�"�N�P�{)�VJ �8�E
�q�"��A�R_�t�	���u6� �I���9��m.Jb� AUלM�1Q��zJY��ƙ͚b�`�f�˷:��
+[�ɵ0h�Sze*
+8A��?��DC�/F������C��X��w���|
Y�Y�3�h4�	�۟�(�R��f	 e���2]X*N���
!ͨ�>ti�ꎶ�5!CJ{�E#���<��`�[��$�g;����@��T,$���N���
�Nj�
G���d&=s�5������m�$����]`"m\'@����Z�PwRg�����[����{{�*AV��b
70�y(J�J���@}�V�?XU�5��@
��Q}�AL��˺
+0��
�v���J
+�p�7�6x�j]��5�e����ܿ!�v��0������W�����e˫b
(�#?,���k��~
���2K���7�1ȣU�m� �wt�����
�*�1$�����m
x_Q���Q�z�p 8Ur8�'�p����K���g�c�M
�& -}�)n���Ҵb8�]�
U%w#�
{^g
al�qr����v���e�c����)?�E�b��̕g�
+�AUq�{a�g�
+�?~z�'��
+)���b�0�}w6��PA���
���ٛò� %A�Aw%�k�j�/����3Q�U炁
z5�6�U��'�1��`�8T�&�j���$M�Ù2��;�L�U5-��4�31,R���bi/�c2�S�K�&kZ>�K���*���N�+���_<�0�s�B���
�k�W
p��
��,�<\{΁	:'1�.�Bݡ$�UJ�
���<p�ԐB(�]I�2 at n
�
׬6T,0�
�Fg��sC�+]�B57:�"h���^h\��A�3����WJ��;
Xhw�	��ǖ�d,��Ŋ
�U 8+�,P���J�Z�o�i�1�c8�rQ�����4�8	E�74[�0B&��l^�ߵ#��J����7^}'g��'���� ����`��I;P	'�������3�CQQ?����p�@wS4�R5(t��Խ9� H�N*i��y$x�b)��P.�u�1���̤
�r�Ɔw,Z�5�P�|e�W����n�T�K��9蝡��h���G�hb���Ne#>�����?���z���G�i	�V�G
*	��Ok�`�F�6ImoF�7�Є
+ ЏM�� l�S�"
 "����i�ph�nUU�3��G�ɖw8�y�[�{�0��>̌ɼ�C�L4���1c
&a�\:�q���m%���!�O����
�ʏ)��y��Z0^^�|���[�X��V<��a���z��B�����J}0sp��

H�N�T�GI
�'���*�����,Q7	6z�:�����.����D��ͷ3�FX&+35z<��~���T֚˃�
���`+3�s)�"�
��?���=� ��2V��L}I��H���
pA�����;��]�6ԅ}6)�o�IA��//�����5����ԇ���{�����%�JsU����1UZs?����s�'��{�eS��ܺ
=�`��S��DWkG�m��3�.ٿ�6a�'qj���ȉˏ�F/w}xL�0�� 
	ߋ�j�L$�_l�B���c�Q-��\S�3�9��͕�*�t�2�#�C"�놜޼��{Hm��5�0�}�����x���x��E�
`�
G�;g��t
+�p|��{�.�V͗�!'�#�-�9B[�Y�,l(
+5ю
?��맣�J�
I��t2Q���O���gUb%�yT=��F°�)L�?m$-\�����'�)h#v�t������Y�p6Y���/լ�˰��T�?�2���c�Դ�Ӕ���g���6�箾�����]/�o��O1�qG>��?=�d���g*T!��v��:Xf���v�$��M��{)Y����
���f\EI�i	K���0��{zz}}�+폭:����&zZ�J6a���6pq��s�
)��o����yg
+endstream
+endobj
+264 0 obj <<
+/Type /Page
+/Contents 265 0 R
+/Resources 263 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 271 0 R
+/Annots [ 262 0 R ]
+>> endobj
+262 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+266 0 obj <<
+/D [264 0 R /XYZ 90 757.935 null]
+>> endobj
+267 0 obj <<
+/D [264 0 R /XYZ 90 716.221 null]
+>> endobj
+268 0 obj <<
+/D [264 0 R /XYZ 90 491.019 null]
+>> endobj
+269 0 obj <<
+/D [264 0 R /XYZ 90 345.12 null]
+>> endobj
+270 0 obj <<
+/D [264 0 R /XYZ 90 211.176 null]
+>> endobj
+263 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+275 0 obj <<
+/Length 3183      
+/Filter /FlateDecode
+>>
+stream
+xڥZI���
��_�[��'��99��5��5�<R
ZdK�
7s��}��IJ�g*syj�
������;o����^��|�z��͓ ٽ�v��Kߍ�R�~q��!�=營~�ld/*zx?
+U���*d3HxȲ(s���/?>����'^��|}t��i���_�]	�w����U��wQ�o����'�����ɂ]�K�(�vi�^�� ֯7�v�
b�s��^��i��g����NȮ���0�����"�*�Q�L|�����3>��h����K[I���R��$��ޭ^���f��εm�=�m-y�jF&v�p@�v�%����n
��
�6��w��
+sX��_�I��C��
�k|��*{�<�=O����~-"0^����/����w�B
+>a��hLyMY*$�Y�X�Z�Q����s��8e��	�7Ѵ��\��T��\]h�`�Ɓ��GzE怨��y;�/+���頙 ���XT<����8�.9
}s�0a.yCʳ�s��Ɠ�iP�$s:����(�Y �{�%��&Fp�5�Y5�;�
ZT�b��ZM}�<gy�H��v�k�'G
�
��J�b��Sq��:�!�:t\���"��t	D$������B.n�$�ݵ��k R P�*��
+A�E���o2X�$L_��|@
y�VL��U�䤯��ڶ�БB_
L3���R
]%�D������]%̾����%?�#(}�+��s�3#=���>��>C���5<x, R7�V,s�i�E[�p������%,
\W  N=ѭ
6����
�0aP�O��md�iT�lU����!���K�7u�,��5���۩J0XE��Q��T�#�|� .�%���{��"�Z4��N�����GiۉB@:U�i40 �ap��q���i�8��P�o���dC
�pa��]�޽x8�@�0��y\̼��[h���ȣj�Y��$�NK�H����3ĝ�gh���Ϝ3�%�;2��MpA������~��;"M[M����jz�
 ��z"�5��btT��Z�j��J���H[
+2�(�H^ ��y`F	��v(f��k�d+0�qk)1\/���̆�^�/#��p`@� ��F�]dRjœ�
+�+
+
+�0֗�����@� J��}��NTJB�-���>���r���(9
b�^`�21�<�T��J��h��D#�=y�m�j�h�s��}�{|�7��q慼�O�U+�R��yD��i�Y�	�hs/Mn�D�ċଵ�F.���0�t��G
�7�?�5
\?�&.��w-Gz�+YX�h�
> F�O���Q����=����t�"	�4��A0D�i�an��,�\w��
+xCR�h���t�l+%�Vpd2��\�t�IC}��grV�F�C��X��H3�J�F
a����j@��H��[ˌt2qCZ>uA�B7k䡗����k{��|F�I����Y�ՑFҜ���Mz��{&���T]��� ��Y�*�o�)�O��*�>J�'f��m\O�',�Y�0fM�H5�SFp�[�R0'f:!�O���q
�\�h9���̱���8膑�h�]�x��Q�@1�9����!Ì{���o��k��q�����:x�"A���s-k�a�C�d�m
�8lXH
C(`��4��
:q,.�9˯�Տ�$�&���s6����ot
ؠ�4�`��<�F���$�{��}����4	,�W&�d����ԫr9[���L o^�g��t56��B�"��^r�~��±�Q��:)0'����
0��7�y��:2� Ög��ک��~���Y�H�X��C
j�����&���
(�p��j������emf�L�H�Q�
+��g�
s㊶
��P��rG'�񴊝��q�0�x�8|�%���TN٫fm
b7$=^M���(�#F�;��̸k��w`���K`ST��0��Д�/̀]�
@�Yȭ�Y�Y�Vk�r�蔝엽���6����2��.�
+*4�H�Z�
N�M�G�o��.2�
Z����iє6%tMJ̷rc�V�Lo�+��
�}�%���Z��K7fz�o�u�����S���a�6O�}v���Z�Yi��ٯr�
��
2RS��H�){o9w��l>eF]��p�s%�EB��!�۟��FX�&3��d
r��K=��kD��de
b��J��6d��Ȣ��
+�<,j�B n��i��&x�s�lݰ>�����ͥ�Q��Ԓ��
�2�$�
�T֬#��-x
�ʾ�?�87��99�֯o�~�i�H��4�bM"��ˬ0���T�8&'�T�'�Πo�IC��D�'".�{0���|
��
n�)FPg��%�Ld�mbm�L��U������97�Ś<��F'�7�Q�ȴ�y�o����b�
���l�ҧ���
B�[��!N�EQ���\�#]‡�� .Aw��C� lLZ�Y���%|�!;>�o��EP�1N�!��8�o�P�umY.�����
����'˘��+�S�	aIL5L��d�Gf�wq&YęT��[Ʌ��z�M*��F��wa����KN�j��3$�E
b��
L>�
r�	j�trge�	�9�����R�¦���릁Ť����F�w�SizO���4$��.>����4ƁQ�>E�G� >q���x��:�)oNZ+s#�Zĩ���Ƈ��r�RSO�V:�H���/�w��sl~�E��
��w�+�c���U�y-��D�As|V�2�����S��DpY�
+^�UЂ� bC���X}�ӲA���ѥFH���I~>s�LF4
���OR�2�=���h���LtnZ`����4n����G>�35��q�
a��I#��;;Y��}�_{��`)�@>J�
��l(bZ�q���������P�(
͑��(܌�JY��|����w%2K���[���[�v�3�o�
��f�9"_Hَ��Ƈ�����]�͏
���h�ڽS�^�6e����w�}&��"3|Tn}A.������kI27��/���o,���a��u�n
Gt	/���ȫ�k���mu�Ȳ닡��iPO������Z"�
pk����?E3������P<X��\_7/�[�)�*H�O;3��/Q��*�"׏s��R]Ʊ��͛��W�ܩQ]��M�UoV�{s7��p,b��u�d��A�NK�(�e
+endstream
+endobj
+274 0 obj <<
+/Type /Page
+/Contents 275 0 R
+/Resources 273 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 271 0 R
+/Annots [ 272 0 R ]
+>> endobj
+272 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+276 0 obj <<
+/D [274 0 R /XYZ 90 757.935 null]
+>> endobj
+277 0 obj <<
+/D [274 0 R /XYZ 90 503.104 null]
+>> endobj
+273 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+281 0 obj <<
+/Length 3370      
+/Filter /FlateDecode
+>>
+stream
+xڍْ��}�Bo��v��):Ok'v��cc�+��� ��Y��y�X����˜$/#��ht7���=���W�?=��2�w�!O�t�t���.K�C��r���������'�ڶ��ɇ�T���߸�֝����l����}z��!���]@���Eɮ�>����+���?D�q�BX�]
F�[�~|���?g3IWl���Of�
��{��a�Sg[�}h�r(z �
p
�Z�_�?����L�����&bo �����^�ZS
mS�Ļ�7��;UVHضkjR
@/�L
t?�!OD2�9�S�nګ��;φΖ<:7-��:p��w��g�v��'@�M�K.M%4nC{k:ۭ�P5!���������{���֍t�
+ruC ��%�iM�p#��
�ɼ��V�y�?&i���������������ʭ	�n��z���0Q	��
��<T�VPo�.p	[B�,��y��?��X/G�W�FP
����3�93Z��&�ٚg
�����r�#�៛i{W
��$%�ima�>TR%���3
+�?P�ib��$$�
!��H���
��;3��.<�98��\���~��z���C-�e���TT�떋�K�Q�(��
L�-+�Fc`B]o��Ņ&B��\Ȕ��+8���|�\������f�k��$"a�~0��m���U4�C��~�E�	#B��|BPã���X4�I6�@���J5�0�9rf�G��B# ���8�6\
���Bg�b:�v�	���
�LXAñm�(ȅY�.��oG��ݒ�n��ǐ�D�4�����.<j�
\��=O�e45^��~���0�umJE;�����x�yvHØ9G?|_��J"d�����K�Ł�I��&F�X3"������)I)1�Yaˡ�
+0,���3.>���e�KYh芷���9`����ע��


��S�j NA�z˫�iҽ�����	
CH�H�aVw�7�G=^ءP�G�26)&綹n�
+<*����|�b���s}ǃ/�t~k꒲�~l���d�����&Z)�?�Q7�1��A
+6�~�@�;
\�J|�w� �n\�y�
<��9��/o��B\D8�˲�a�/ˉ���a^7�a:��g��U�#91g�l{����
s<��k�)a|���g�٬?T���
���Քv�7����7@}�B�ou���&�
�A�
 ��|�K�Q	�T���"�<
+\\n! �_�:�"pU	g]�H4�dx.F��f7�E����4ؐ�K2�i�b�� �L�0L�
�T
+#[MFD�uJ����4
���k��eEJX�ڝl��@j
d缢��+���TP�`s�
�]��|*��r7G��6��
��������̝ky�sQ����>m@
+\]J��rg,Hr���k^V,͕�Jw�/�,
!
�<(��4b�|{�J�⬂�88�I���
P
��F$6j�F��^�p��L��fjG���;/�d���$�	c���	M��C�K�Zi�����==B�oe�ndn7r"�����
$�s �
�2+֖<Dӿ3Jk{��NQ6e2'W��D9[<ˍ��\\��k
bZ
�� ��4:����&#�7��VQ�8:|<ϖ�H1�
3$<*Wn��~@k��[4�e|�u�u��
%��3*b)�;���� ��2Ofz�����`B)������8Ss��l��
7�q����+,�^�
Z��^us����V��9�4�g�d�H
�1�g�Ų1��rsr���h�]�t@����ډ��dJ[�l���h�Iq5vH�%�;
�NW|�R�3�l���T.%e-�Om�yy4�]���
f��
��SN��$*?���Vg
��A�i�H"�A�%�
רX;k[�h������XO�rF�?��b�Y�C�0dh��뛢��s��jW��P2E�h�4v23�6=z�@� �Hl&�7ܔ���
�y8���"o��C�1��B�+G
A���'cf�	e�W�{œ~�5�ü�X
2�� 7z/�d�c�)���0����L��͏\>�I�_�!���$�RW~h̹0a���%�
�~C�b�^Q
��։������h�#��S�o���,d��լ�\Y�P�L��䍞b�#���
	��i�X�d�PQxr*�H���ҡ���}
�G^;��xfa|��|j����c���Q���c3Tդ`�ɐMF�*�/Gq�6uX��	d�Ȟr��߫�Ⱥ�1g���zi���.U4���x��D�XM�
+93�S
�D_a�|�D���I�;^Ί@RE�Lq��y}}�˱�s�
I�5W^�WW��6M�
aG�~��,�
���jh�-�l�ɿԙ���k��ɱ�"?��{)�Y��� `v��Ɂc��.������/X
6+^��
�:7F�/n��HH����V�<� 6uc�&��s�������™4�9
s�,���\�����Mg�����~��w���U{���8�Ɠ�d��+ո�<�� �wp"Fm
l}
+�v=p�pɶ�7��̴��Q'�6��A�F�G�DD ��+"�Ѡ��\�Wo[Ԕ��$zPėG�{&+-C���
�tF�1�������ᆹ�m�#a4z
�@-*
+&�� ���.M�SS�A	Uq������E�F�ODj��B�
�/��{*�"�eĚ��k�0ŝ� O
+"��2l�yc��-v}8��µ茴����<�(%��Vt��rI��s l`L)mc�V�B6-�C�tM���r�u,�K��N�q���%�$��d�5��V�����p�w���
n��ԟϳ/\r�
?���]��RD��(��7~������A��l�J���6}z�Ly��$_gc������Y:j�g,7
U�L����\�n(�s�
�@�_o�y�]A
��nN�U!��:�XL���0�~���C:}K�8s�Z�,�n�_h\���_
+�vAz��#h�!9fc��,�~~L�5I�����ʸ+_p�-;p��ɬ ��*7���ܓ;�D�(�*�
+��������6
�ZZ� 6�J�q$=
�4_^���ϣ�,��
Pц�W�I�.�~���7���:�V*o�y�����W�٫3�U�U;�G�T4�WM��b���A y�f'��<���['U��
0\�_.����
���4��ze���a��>�e҇k� ��׮��ة��ǖ���7�����xȃ����1�o1�!����b���$��	
�i��@k*Ӧ�_l�u�SkZ��
���y0ϲ�=}s!G)��;����[S�1
=��]��������ZQ��q�����$�3��8>IK$ե�o��}���r(��P�[{p�[7o�]�&��"c⦇mc�`���� /9�
+endstream
+endobj
+280 0 obj <<
+/Type /Page
+/Contents 281 0 R
+/Resources 279 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 271 0 R
+/Annots [ 278 0 R ]
+>> endobj
+278 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+282 0 obj <<
+/D [280 0 R /XYZ 90 757.935 null]
+>> endobj
+283 0 obj <<
+/D [280 0 R /XYZ 90 338.56 null]
+>> endobj
+279 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+287 0 obj <<
+/Length 2968      
+/Filter /FlateDecode
+>>
+stream
+xڭɒ��>_�[��7|\E2>�l�b��)���F(s�)+���
$H��NU.#��h4zop���.�}����+�]V��{9�hW
�0O���i�c�쟓<
+>���N[���۱15��nj�
&e��A���嫧��<}|��h��4���ӏ?G����EaZ��;a��,I��}��H،|v��n

�,-wE���!g�J���w�v?>�Q�?Ey��f�w����M���<h�`���Aw��>��W�3o/��5��aQ�<jը�Q�;A��k�Ǜ�r��?���(�'F�u灶��A�;�eve�
��s
�U.
n����N��Q;��eGӎ�:f��w���
����3%�'s�'yp�d ��[
�4"��;���3��Tų�(1�
����м�I[��Agt\�&�����Z��ꊂN�kPC���ab��q/3�:މ�w�~�5�\3̓��1
�33��j� � ��8��֝�L�N��M+�BE�y²A|�V��E 0����!	�7-f�
(Gj��W�؃e
�����`gM�T�?g©���
�N
�ފ`��z�ĩ�N8(g}���8��g�7����w���Kσ�͜���(�O9��i
��"�i�
��
+ a�Ł�ɀ���P��U�7G\
���h��hv ���b�)��\
�����Nt�hy/�&��'oq^��b��!
8{l��i�yŌ:Gn�|���9mHl>'YXE�a^��(�*pgy����U[����OK��t2Ȩ����v�%+8p���O��uz���
H0�55]3��
+)6.���V+	�D
�
t��%|v����8
+��4��� &X$�� ��
� �o�� v����PCP
��� ��Uّ��y���V��S�t��1���Y�^쌅0i#;_{<O<�sl
�(A�����+F�C������
+�Jd�� 0&2�������%Nޑ�
aG��
Z��> E%E	+	@�q���"8����Ի��Y�)�s�?��)�<Kc�q�@�
yBv>��j>�c+����&I=��Ŏ@;�%�s
�I,�	.�
8����<�s,̹D�]z�ch�e#�s|��vq)N
6��-��0L���a�$/9�j� �쓣��V̖�yړ��%O�+@�)x0� �.�]��В_�lj)�-�C��dm�h&�3VB�lp��O�/��� �꺷�=-ΜW�X3��k�df��
##\UkYf���Q�P��t��C�<�7[
�ΆK ��BF
�r=�H�\> � �
"�d�Q�t�R����-rR��E�JJ8&^��L� ���v�,Ң���8���a#V�[� 9����E�Sµ�Uҋ%죑�g��+��΂�"UH,�
�H?�n��b�,Z?�D.W
�
l$I��n�8j�޸@�! �ӱ^KC���Zs��٪�W�e�&�â�,��|�f���j����
�$�+���^�U��;*ae���I��w�k��ad�r��Q�A!���u
2j�P0���<�1L�σo#��ۈ2KLv��pl���m:�
�qI"rQ ��$@Y�>]P*�w��&��iwCN�I�
+��u	�2��.¨� "
+��
+{sB���a�n�,̨��!ɀ�5�EO��/�
SGcב!�x�k͵	�
������i
+�s���+��o1z�Cj	�}�c}k����Q�
+�e+�'q�-�2p�_���w=��ń�i>�CM�K�P��Z
���ix�W�7S�v����"���!��*�,fĘ24��!"�*
W�5��QV��h�o�
]����6M�v(�FJ�l¬ %Mh�6>P m���8%@�J�oF��ѠMU�l��	o�,�E�d|U5ӣ� F�4�Qʹ$���̉���

*��ѵ�%eՁ�M�"�9��9�������B�i���/�>rHs���%��7�
e�{�(����{b�$r�ƥb~�4��[�y|p��8��3|�[�M��#sH���lz4�8�e��Vq��'�&yb�Xb���H��#�%R]�o�
�^ȔDGi$�$Q��Z8s�:�_�"�BZA/I�n�̰�[�m�a��Ѵz���T���cӊPWd	�w���+,JW��h�{	����k��)W�
D�Mĸ�-�PL�"�S��E�r�u��Q���mg�8���f��e�b�T���'�8Y����zm._�y[,rG S�,����3/�D:�B���Ro�Zx�����^�=��`i<��`<���H��t��|

K
�[i6w��T�d�W��UL}��٠�2s�
 [...]
+��Ȼ�
$(��~��M5
����l���U�L��=
��[-�fY�D�������Pc���Z���]�_��q9}
����/�i*��Lz���q|�@�M�D�Ao+�@�䩤�eUKE�=��s�A�1:��Ev?����['g���:�"�\ ȣ f^B5^C	���x�6��<az9��8}l( �5����������

���0>�4)���y�6Lۯ���<��4&�jぺS�'�n���\��f�����Fv�]��R�2�o!5Y#�g��JC?�ȓ(D��Py7����i�Q��Q)���.��?��ɱ顒d�C%��h1�P���l��/D�!��/��/�{�O�	�ꗣֹ�Eμ$Ϫ1G�D��xa��z�`餕q���X
�HKM�ue%7��m��V�0u^��.�j�ur��M�!#���dD�W~�J+)��Ǟ��3�P��Ї�Og��2����~sw��aU���K@^�y.�H/.��2P�md�7o}��}�=Z
$
N��כz��_B�j�Yp���A�?��<����OEX�y_���o�����"
+��/;7���!�n�dY�,ѭ.�x������=���֙�
���zm�/���M
g!�"S�k{��'w|��	_K��#1
+endstream
+endobj
+286 0 obj <<
+/Type /Page
+/Contents 287 0 R
+/Resources 285 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 271 0 R
+/Annots [ 284 0 R ]
+>> endobj
+284 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+288 0 obj <<
+/D [286 0 R /XYZ 90 757.935 null]
+>> endobj
+289 0 obj <<
+/D [286 0 R /XYZ 90 417.953 null]
+>> endobj
+290 0 obj <<
+/D [286 0 R /XYZ 90 187.081 null]
+>> endobj
+285 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+294 0 obj <<
+/Length 3391      
+/Filter /FlateDecode
+>>
+stream
+xڍ˒��>_�[��
-�"s�8^��Nj�)�����CI��O� �w��h4�F�9��eo�y�������xS��2-7O�M
o�e�+�d�t����Ǵ��o���
t��jx�qzń�ߛ��
��ʫ��������O�>$pT�I�t���bsh~�%�
��&�eu��V���
~���z��x�4��e��L���1K����2�}����L����Ŀﷀ��n�*Ҫe����\���a�<�}_�����1�wY^�_���'�hZ��8z�'
�n���oۤ�4�ye�r��U��������7��<�g����JH8UӼ�N��f�:���ƽb�l�ʥ
�ޚ�����c���Bd�{{;�A�*{�-��N�@��hN�
U
rRd�����-"5j^�j䵀�l������� k��x6�D���d�g��扱��]?ʵ�p�Ὗ�(�ޮ��;X8x�8��1�;h�?��/\�
yxQv4(X�\�x���v����Ls>�]�
+��~N�
�ь(/лѪnP���
,�D�â�i�l:ik����6ھ�	�8m�3{�pz�����J>+p�0��Q��D� #�2
z
",�'6�:�;
��2!ziQ!�#+�9��k���^'-c�^G�f�ueˀ��ч�ɉ����Y
�9]�h���p+
+#f�',W�����P�e
�|���8�^~��p=
ΊE�l�9z�
^\�ҋ�Π����4��h�0z=��z
T�*w.oQ��������3��E$/ x��0�B�t�`�
ezVG
0Z�N��^2uG-x�ɖy0���%�L�Xu9��f"��A��y�!�$� =��0�S�"�Z��z����
�~�'{��%~
*.;

��
�
+3Nxo���sM��dpV��(aQl�q��%���VC�)�8�'�4�S���������Q�^y�.��j
��)3pݓ,� ֐�

�g�R�
(���Z{0�$I=D��� ��`Z>WC?�qj[��t,�д�
+s�*����{8�|31]eV�&d��G����H�<�(�XJb^U��,"��C{'�<:��PGby���rY�$�«�[
+���P�aZ:i�Jf1��@|������@�.��&�?�)b�
�I�
+��
,���Q�e@/�����WJr8�s-�Q(��0�K3�PHb�x�f�i��+N.p���ȟ�E,tq'��,��S
�m�'����*�7��A7ͼҳ�i�oqb&�hP�V�% �!HW u�K�>�

�]���%ry���9w6��Ƌ�
��]R��<���#�(I�Ϥ�ﰄ�)O���<oSJ�-�GiU�@I񏋅���7���L�Ч�
���������)E.#�ߛ-�YW�̼�m8��W���W
+�
+\���9�o
��A\^��}a>9�0oA� ��8.I`��`����0�K+���	�WW��;,^>K
�(
�XJ'0V��vh'����s��i�I)J�6r�U\�[���,����/�b�X��Y3-N�Q
D��L�N��8�
+�Z�F�C��QW>
�~MNq`���7�H�Y��VZ�AA��%�m[3rDCB���OFYN��wb��Ht
�,#�g��؝� 0P!"�|����T�hu��Z��[�N^e
�k�=�^��
�Ǝj��(�½��;��*�,��G�U.�	H��&	�`5�P�̹V.��x?x���=L�%0R�@�$0־�r�̓e�T���j����/�r^uf���;.�'���x*�Gc����JrEw�J�h5B�Aa[�\9͍�4��%�@b	�d�h��J��fu���������L�t��9^͑a�0�z<Y����0�	N\<�\����xõ����*��$��>LZ��|c���U��� ���������P8a`0'k0�
�j8����Z>
�E��Ki��������t>�vR�yp��=�������)p#
m�[��]ŮR�=2H#�B%����Pe
��&��)�:e�-xg�˩g���^��Qw}k:���4�JmJE��4�x݁1���DV���ߎ��� �;�3P(�jןD5)�+�p=Y^���
n�Яo!��3���0��$��E` t�
%�y:%Gy�@��܀��@A�/n%�40�"�
+^�8i��i6@��t�>��
+������sO��/�(�#9�
lx���ڟ.��ٜ��r4[�Zg�+D��ٲ�
n�S���������. 9�ѠΕB���΋����}�������,��,�
��z�x�G�5
�7̵r�k���
+��\�<�G
$p�R���'bG^p��ر	��0��r�d 0
+r6l�m?����F����(��K��:�P��1��&m���c!��  �~
����K�$C�;���
CY�py�VP��Q�?���E%b����>`����
#9�Ʋl���(��R��=Ri `Qg�����<�]t"�Y����d,��Yw�����E�1�<�q�T^�k�K�3��8L��<,3��♙�L����'H� ɹ����
+�<"�=�ܱ����].\�5���5c��C*
ut<�s�)��=��(E�0Z��G����>U
�[�)�#?%1 ��]N$v��gĉ6;��<�%��HzTr��{�sE���nA0=�e8H܈���{��Q�3���eظ��}ɹ2� s�
O�����^�� @�۵hG
+��q�ŷ���+���ݕ�4���s�����4h��
+�{ȳ�
��]9QK{�O�ݾ�pnAF#+
?W�Q�<_��g��p%�4=8�E?՘�j%��De�
��a�J��sl*+��٨qz�i��	�R��\� �}��eu�m��
��9
��֥8v>�6��X��mn>ö�F�X
�
&������Y�u3��+�)LTR�+_�,�x�g47�c��(=�X�����j�P������Q.���B���z�`�m�dH-/�.ՙ��'�B~#Qוm�D��&|��xy��}S߃��G"r��ɠ�5S��׳��.e�S� /�����S�`s���"(g�1��>�⨑���S�OwMһ����k"p ^�멋+o����� gMs�GK	�%��
k�6��+S� ☑��^�.Nwŷ� �~�|D�jxl9���,�(y�2�
6ς�8U���s�Ae������C�#��rW�J���wE!����x/e[)�>���Y�r��g��(�W�6���?��Å��~��8l��Cu��O(̧��]��� [...]
+���4% ҷd ����ݾ�� �+k�
+endstream
+endobj
+293 0 obj <<
+/Type /Page
+/Contents 294 0 R
+/Resources 292 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 271 0 R
+/Annots [ 291 0 R ]
+>> endobj
+291 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+295 0 obj <<
+/D [293 0 R /XYZ 90 757.935 null]
+>> endobj
+296 0 obj <<
+/D [293 0 R /XYZ 90 714.318 null]
+>> endobj
+297 0 obj <<
+/D [293 0 R /XYZ 90 492.922 null]
+>> endobj
+292 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+301 0 obj <<
+/Length 3101      
+/Filter /FlateDecode
+>>
+stream
+xڍ�v�8��Э��b�;��9���'�=�2��N(��B�j.�V��p1���
+����l?�g/�n.�>D�l�X�n8��f+{��"p��&��f��K7����_e�
+U�9O��m�%<��%��L����
{���׋���
βg��E���x����,��3{᭖�'Zu����|�x�
��g��t��
̧�;���QU���*wo`yVY1 �񻲒�H�&+
��ʂ��A�,._"���RM�XV�%�Z��M��qã�t}RI�ö�$��3#�U\4�
�tp�8�U ¶E���(b$R��X�/��k}�;�m�-�:�g
e�P�ܷ�?I8�sf*�F#����Os$Y��َ�g}K��8�U#�6�`
+��۫�*����9�W�\դ욪
jEˆt��Bc�s׶�:+T-K�4�M���2�7Y�gh]��A�����tȒYj
㟸��C��"rQ��a�h�c��f&��
���F��,���T
��&��`��U��8g���߈)�����
��n�k������[)Q�W_s
kH�Kg
+��
�[ʀxl󔧕JK̂�8��37�(��lW�G
��[�w� .�T�1+⦬�
;Ŭ~
�:���
�1�qx���
�J0�
D
YDq� ҉d�1����`9qۻ��l^�n{�/{,
�S
+Y�c�q*�N���žY��MC��4�ޖ%��	TWY.��`لqٷ�����EpQ
����+OU��	ES��M��)�c$P�:	�+�8¬U:q�U<�w�%x~ΑP�@�@&��
+�tȇrz`�������k�[�ظN8�<�� T@ц�
�.��%��"ȶ��a5Z��Ϭޖpo)+:�����o��K
�*�S���[,�8D%y���B9\��@�H ��)�4�N��f`V�0U;�ˁ ��
vU�e���9���S�U��o�9�O�)18�6WC
�=�MT�-'�?�����O�0����
�܅��
8��V�{l�j�,���i
l�����^���(�
�%8�����cn���]
�a6
+8�#,R�1�w�$:��?
�W`�azm�𰬐a�I�>��x_)����6��N@�������,ix�
�b('��@��|�KK�Rm���B;�W
H� ʂ{��`�r��nD3�
<x"9L�h��Pv����f;�����
5��&띐��c�7q�ʶ���g�<P��!��}
��X")`���.

#5��"Ճ
�|���|_H�����9�$i��1�\�h
+8v@��M�R�?ZU$�R��r�a��/�}^�<|��yVsW��WQ(0�G
!K	WT
+�Aw&�:�������غ�]�$��:e��`!��*i3�*���8�zrI���.rԤ�����t��H�7G�����fZ�^��U	��Hډ^��e��{eg,i'�fQ��0�8ٖ�)@�[
�v��L5�[#���L�kho5�P+���V���h�J�R���^,�'�+AT�
�I�jj �펜�ǯw;E��|]��� ��XCL�$
��t
v�8�b��PVs�J��Z�aЋ�n�(,8H���
B8fuG���<+~
+�WB��͸0�����J��]i�.m�=W#��#)/1��J!���%���� 6���U��1L�����@HM�l���S�SP�唔�z݈����"F�/���~��VԐ$�:z詡mmxYd�!
�^��B
+�d/�dE�)GXQ��L6�l
'�)�M
�
]�;�D���Z\W

ƙ��~��`RA����e��@r�׳�3�6"��ab�
��� .�vф)�Ag��
+��3�Hb�=Q���v�-}
+��{F[�@����5��oZ����H�&��g�g8�ij%��;S��/pc�
����xͫ�(���YyP	+��c�5Gp����<����&�����5�" .�F\Y��8P3��e�f�|���} �rLX]Ҏ
7 ;*���H�~P�>��� 7
�n8b�bym� T���T<���SVQQ�݉�q����LzGP���.���a�f�R
OJ4��d�Ӵ�V�\Y�G}0N�X{k�"�dﻎQQ�
�8������$(,�!���!ܼ\�.�$��=nA� ����q��j�R�ļq�Z/�
�Y���:����>�܆��
�<_�!@�H퍈�ވ�������[�{];Nr(T+^�;����b�g�A`�� ^(�-b�e �1���FĠ�b"��".�8��]ҙ�F��x�=���2�e|	>D�*r=~��}y�m����p3YA8{�W����=w�O�c� Ø�����I�HS�w�IZ��	���	�j�2��٫	Y�O��7(k���������*�y&9��.�;�c;��n�����v�n?��>�}e���>'�i����_���.3b�C�>���3��M���d��ӕ
�wm�g~4����g�� ��01Ն���Lü@��Zmͯ���n��������c����J/ �8I�	�D���w�����@��T����*�[ɱ�1&5��a&�D����wv�c�D�66�g��N���^�-�h7��~��D��;��(qQ(�
�)� [...]
+H�����l�q�=ѓ��ɠC�w����,��bX��Z:�:W]����4��kz�@j��Y��1�Y���o�|K��y=�+��ͧ��z~�;�u����;�~�;��
�o7�������h˻��_����
��w�e��mַٲ~�r�٬���о���|3�"��~�y��#����
+儺���P~���0�ۧ�-C�+�
���G����C{=w��!x#{�=�lnn?2�8������7?mxѧ������o�w������Y����
��U�-���"�^�@W
�%�x#�2?C�b݂l���'�*�x/�o���QI�V�	��L��w|>�����x�R�
+���L��������r}�+@�T��9������i�ԋ��N�"k���(w�5 k�Jn��S5� <vI�o���J8:
+endstream
+endobj
+300 0 obj <<
+/Type /Page
+/Contents 301 0 R
+/Resources 299 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 271 0 R
+/Annots [ 298 0 R ]
+>> endobj
+298 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+302 0 obj <<
+/D [300 0 R /XYZ 90 757.935 null]
+>> endobj
+303 0 obj <<
+/D [300 0 R /XYZ 90 570.761 null]
+>> endobj
+304 0 obj <<
+/D [300 0 R /XYZ 90 442.486 null]
+>> endobj
+305 0 obj <<
+/D [300 0 R /XYZ 90 338.121 null]
+>> endobj
+306 0 obj <<
+/D [300 0 R /XYZ 90 119.205 null]
+>> endobj
+299 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+311 0 obj <<
+/Length 2635      
+/Filter /FlateDecode
+>>
+stream
+xڥY[��H~�_���9�A�y�������:����
��FdD"8�N��332222._$���w�������i��;m�Ng��
�N�14�4:�m�b��L[W^f+�Di��	
�uo�?�7QZD0�[ݾb���_��ÿ
�K�B���z���
���w�@���k֠߹�c�kZ�&���������iZ��ؤ�p6~���'��)s��+�W��
u`*C_u��}d�����7v�k�����F3�L�R��2��^ �.��x���j��0�������3�v8�@���>�6�Y���l�
���
k��-|7�1
�L��Sϕ
��h�{�
?���U`0#;�`�yK)l�}e�k��7�m:�O%L�5
q��a+o�?z�	u`)�go����|B
o9��u�G�4�p�h5
��b�/恫��lQ�}|��{�g���K@�s��	�߄��4CRU�@Uqv�����p6riFxe�2�0�4�q@����֦q �2��̞I2�Ӑi��Fx2�؝�����>Ҙ7��0VonC������Hx�6�Rg��!hu[iF��jB
�17F]��K��|Ϲ
�}U��ĉ�[�f
�$�p44�1.�2�R���$���8�˫���H}hv5�; ��
�4�p�����DZͦ"���x�11>��pq?>O]O��@��L�Ȅ�x�]Z<�B
y�_|o	���n�?� ���->|��uI���t���4�B��V
Ґ^���uN���؛�$%	����������b�7��aă� �{<sp>��K��#Cb�J?�Wъ� u,���,�B5֠
7_ܙ�����U� [...]
+��M����0��@X�3�%�I� �?����òoЈ��4Я�	b��;'��7���V�
�ap���^�����sL�٤Mq2�j�B�kc����ߝA
��W�F+�W�M�����`�`oF2,�Q���]m����[��_+�c�7
���DE�zӕ(8?�y��R���3 *���D8��;`�
+���HS` 
5
��
�
`eBm��R�0��s�����
2�U"��\
�+|������^tx�~�%��j&tCؾ˟�=�^ZF9��)G
GmU!�6H,hd�Ԇ�	ΏT�
^tJy���W�q�I������.�L��a
+UHP�F�$�U�����Zbx�3�6��m�
�5Q�'"�M��YI�5���jJ����6x��D8�WmER�
���:m�n6Y���=&����: Ι��⑒-��ޱh.ժMv�˂V�0I�
�Nɕ��!2$!jxaᇰ��1+��I�"��:�ȳ?�cXFKM�]Yr.���#��
��z�
�Q��H�O�ú��-N�+KS�.�_��@3(�Y��>�X]�rN��(h&�5͈AeX��(���M:)YW����)L�>�f��p�k37���{�ԤA��G�9������E����
�+��c��M�]B��;�sPH�
���*��
�L��f��$�5C�/�pƢ�=
F��!*�$K�1
�����4�Eypq���p���5;Sn�[,%`b1�\J�@�Sf�d�
dI�HK�%�[Fc�q
g�?�
�<�
�e��(�u�sga�%/�o֥��INWgeZ�K�3�
���e8�l��������|�xDyĔ"ە�	L�
�́��}�k�2�&��и��
+_���M��
�t��s���*�e�$k��%~���������
�ϲ
��0IF��]�$Y
a�:ވt��2k,������x%Q���-�
y����b�,0�(��
s�&��J�2a�
+��t�LDI1�Ll	�-ݨ��&Wb�
K���
Qv��$�
�ɅϬ#�j 2�/���5�d��WW�8d�9!z�V�K�I��(�����y�?��-���%qzG
|�,��Fx_Q
�A���c@31vĢ���J�O����9]� �������
C"
]g5���`���Kʁ;
a?4L�#O���5�<��.�>��1�"*���v�E����5�?ٚ�s�`NVx���޴?JFx��Ս��u���b�5
+��F��Mo�Rx.P��m�T�����r)Ъf!>
	��'�	��g
+�Ǝ@ �T$Чn#0�VN��m���j�<���ὒjY��՜x[
��������mU(#��
�!b�[u�6�Tv�L���G"Dp����rJx
X�>+��ɓ�j`������-xŵHD���	�w*��(췄��P�y�M�wG9d�*����'�5�@etxl;/lB<��0�w�����/R4d�\}��Պ��$�J_�[&{�e{�"[=9�g���1V
�3R��Q7�GX1�
a
c'��R���c(�nI%�q
_qR���9�?d�Z"�J�̣M@ڄG(
��;[�
&^�?�軈���xo(*�8E���?:�����V
�������r���Y���SBO
��>M
��� ���F���h�
���
h�-oX���0?r�]d�*���:s�폘��s(�v�)`'��֮�(�I�m�k�[���P�+|�,�']3
~]��aE������
8��V�ܛB;��)���	>X�־��at5�B�O.�q�2�Q��_��;��
+endstream
+endobj
+310 0 obj <<
+/Type /Page
+/Contents 311 0 R
+/Resources 309 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 317 0 R
+/Annots [ 307 0 R 308 0 R ]
+>> endobj
+307 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [314.956 92.633 472.963 101.741]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
+>> endobj
+308 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+312 0 obj <<
+/D [310 0 R /XYZ 90 757.935 null]
+>> endobj
+313 0 obj <<
+/D [310 0 R /XYZ 90 622.348 null]
+>> endobj
+314 0 obj <<
+/D [310 0 R /XYZ 90 470.163 null]
+>> endobj
+315 0 obj <<
+/D [310 0 R /XYZ 90 357.732 null]
+>> endobj
+309 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F85 316 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+323 0 obj <<
+/Length 2992      
+/Filter /FlateDecode
+>>
+stream
+xڝYYs�8~��P�%R�M��<�;�����N�f�j!���-����o_�H��N� 4����א;{����g��g��Kw�:i�dz��,ug��s"ߛ=����������ܹ�^2ךG?����Uma*&������ �{����n���s����̣5���
�Y�=��w����i2��v������g�P�(>��
7�X߫�1���s����ہ��ݘ���<h���v���qgu�V�:kkS�,R�";��5w��(
�5�|�-��Y�����K�y������V[
���F�u�-*U�`
��簀�_
�"�-��kw��7���B�L
�+����vSȺ����2�V�mc��Uu�
�
/�vӞ�Fr![��7d�m{y�D�n2�&��I�tv�D�X�= �
��p��Eh ����u��cם��F�;�����2�����~x�
+n�K�x^����͚[յp��_xA���.l4eQ�t��]�8��V
}_��]]?}���|s�������ӧ���/oyv˝\�`T"�=�D���E���M*e�u���Ƭ۽����M;d�D��s�K܆,o��u^4m]��Vf�j&T�\�62]�>*{0U^�U7o�����Q8|-�Xp�C��Є�N�,�	h���"�v�<��w#��-l�a\׆�_s�N�'���+�e������bW��̷c��94�s4�+𬒩�ݪ�h3�Yi��E�F�(e������;�����2�6�z�����;���>�]i�&/ָ���!��%���tȤ�y����)
�1��l�<s�.��
�RMm�w���t�W�/���!���#ɨ\t��+N�{�-w�4�x���ҠN
+�0�!�X�|�a��"���9ѭ�)�͈�&�S�)n<�ba�$�8��
�
d/^��l<���HC�k�c�y��~Y�
+T �O\��O<1��Ft#	��Jg�iTMڀ��7�E��{Hb��,�O�
�3gb[�r�Hf'I�Y�0L�/�eFt-K�9d�L�
}��?�^��$F_g���E�cX�
$}�ش�����~�w^��1��eɎ�\���Ip���\��x����#�|������z�F�x4�{��F �ٚI;��/���;S�UT/��M�G(A�hz2D
����>��`hB���G�׋���R�nU���frY�j�(�$�:�nՁy �7��2U���� ��]�C2TC�ieQ}�`���Y44�Sۢd�����}?G�ӡ�R]:
a)�3��7��9�"�(�UB&�}�R<� ��Y/� �=x"����
��zX
\EմZ�<c�S���

�8�5EU���MK�Y�Z��;������֢�ε��i�ns��o`��ˮt6����A�p�0
��*^�a�S���"7�At�����s���f�R�&�@,蟐n�>���s|�H�'����s�w��R�c��]@KC�ÏwN�/<���
�=	��ѭ��|@�]�MbE+��V���´�V>�-��ޖ��B�6Mۋ�p%ʸ>�e�ɠ�P>?]M�z���c����|�9!'
N��)q+�m��wՉu-�o{�\Z#�b%��U'7�mT�B�G�Hm�ۤ^Y��ΏV{jR=>u�1!t<~���p}3m�ߤ?���A:hd@(2L��� d��B��a:�!q�,�����h��+c�
+����j^d�UT�R�BI��C�x
�ô?L
����T�F��1`$�.����l� `X�v������S
R���L-�v\�e�"��0Y��}����y׊��*H�����"1�D���X8�*f!	�Z�A
Z�uV�e
E[$^�j4)	
`��"K�E�g�$��
ZU����`���%�����,c�jD���҄`@G���
�2<͖��h����k ��
!��S4ϐ�ag����
d蜥��vHZُ�%��1f���������
����,G���c�׈d�%L�/fO��9 ��	d�@ye����nt�F�
�m�"��m� "lR�~ԉA�In�x-��x�@�v���m�Kk
ǂ5b ���0���"��c���j��P@޵<
&
�oF�I�FJ�p`�r��b������h�A�5�Gʔ��)�4�aZ���D"�^B%�U2�ZO�����"j ��Fa\�w���|
�b�wB
�!&X�H&N�m��ܒ���ݜP�f�7T
�,��ҙ�NsN�z��S����ш�9���0�F|}-�d[�c�ߖ�*)j"�qO@�/	[9�8��ZP[|"ѻ�
��,6�iӔn$3L>����v����O����Ivr	��[�"�dJ��J��Ո�����(7w�va� ',�&���:/�ڀ=�a4��k|���-Y
2H��h�C8(��)6��<TBV2[㻐�!���a�� �֔�*�π����F�a��b'�p�Ð�Í�wv�K���H�]6�s@�Ԛ޽2�

7t|O��������������s��
7�ww�w��ģ3���$\�j��� mo���� [...]
+�	�q�u��r���f�%�)��������:ʶab��� vQ�L�q���s�
0����U�
.$�$}2��:Ɛ��n�6�j[���� �{B�[0 ��k%�G���-�<��"X�k
� (z
+��Ę��+[;#>�{֥<�ɣ&��q(���?^�Q��ݣ�z�f�fw�D@�~����(zy�M.����=���
�>���tьJ��?)c(Ͻ���Gi����t$��d�:Q4�� <�T�U24��g�l��w(���z���O�L�
нۇ�9Y��ごC�w
��<|P�����S���������'k��*v�S���&�S�R</t���}�����-���A_
+endstream
+endobj
+322 0 obj <<
+/Type /Page
+/Contents 323 0 R
+/Resources 321 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 317 0 R
+/Annots [ 318 0 R 319 0 R 320 0 R ]
+>> endobj
+318 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [152.087 538.456 321.452 548.737]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
+>> endobj
+319 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [225.562 484.343 508.501 495.247]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/philosophy/why-not-lgpl.html)>>
+>> endobj
+320 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+324 0 obj <<
+/D [322 0 R /XYZ 90 757.935 null]
+>> endobj
+14 0 obj <<
+/D [322 0 R /XYZ 90 469.649 null]
+>> endobj
+325 0 obj <<
+/D [322 0 R /XYZ 90 437.72 null]
+>> endobj
+209 0 obj <<
+/D [322 0 R /XYZ 90 437.72 null]
+>> endobj
+321 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F85 316 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+329 0 obj <<
+/Length 3492      
+/Filter /FlateDecode
+>>
+stream
+xڍ�v�6����e��l5w��uzKg҉g�d�Ir�H��4E2\�x�~j	�t&(
+@�v�_=��Շ�/�^���U���0]�V����`����\��E��0��~ύ��&�yZs�mS�']j0M͠oL��
�S?J� ��z��ջ��߮X�_�F�m�(Y����W%��^��(߭
	봊������W���$��om�4�����t��6�G����~j��vsG���&|��(t;p{8jnT�!�c�}�S��� ��M�xכ�ȏ�SS��7
K���oB�}��#Rh�ϲD-�q����o��L���.��6O中�N��'�u�;n�]v��80�R� ���D-ۦa��^3�������I�� 

<��:k�i<�rD�{'��1T��>1�96

����l4�H,`�Tq�m�Y�x�g�k
��tK��>����{��
�t-�d�G  �6$޽l�._Yԡ�SVj�TM=4��m��Q=�s�'ϣ ��w�Q����
���3=ju�%	Ҷ�.��K�
ޡߜ�0h�,w�w�%�ccf;���J�*فF��QT���{�	an�W
�,?���
�i`������Ѵ
����v^;�+�{������0pa�#:n^��&I<K�+����q�`��)��6��
�� ���
���pC$��I($,�H���Hc%���'�/M["���X2
g��&�a�h�r���q�y��[�<Z8�#~Ē�~���!�KȰo��<@b#����S��Q��)����$�4I��+�0��Rv
��!C</�%�/�融p*r8	a�M���� )
�Z� :�
��7�)T�}8Fm7�sD�����t+o�ތ7�Ѵ$1˷�.�)�3UĖ�M�rm
�餻�L��h��o�SL0=
e��	l��
3�m [...]
����<�"�hy���C�,)��p��!�ř(4��I��
�wl
�J���HBH���^#d��`���#��4��O��k�	B��� R? ��S{�ľ���Zf��Ww
��
��cH��׈�j
w�P�p:-6L	�
2�
#��d4����3{E;	��m�M��D7��[�q���7�/�v ��4f�N�x�f��
"��{
`�O���9��Q���=E/�og��
}���S�
�K��`�!xl�0�&�e ��H4�
&Sb��cv���5{6B�ye����5Ϗ��ya�b�/���Qy�K+9
���z
+n�P�_b'�/v���D�{+}��
/}1
�2o}���5D�R�h7�^�D�e�;8������* d�7�V��W2�2�K�ɵ�F%26�C���'wMwR�
���h�Յ�@`J�v/L1�I�1p
+<S�v�B�T
/6
t��
w(*.���`�
+�
�
3̤�ѡ������a��L����CN�	#��,�+!�\8��,a��3v2G�qH�f�P=� �~�� hNl.p 5HQB�\����P>a��0s�0D�ۮy��I��5�!��8	F8�椗OYr"GӍ�Y��+]��LJF~��)ѿk2X�C�� ʛ��
�qi�a,cJt�}�� Ij(
*�����M9�O������h�]�g�wb��
�L6r�?@罣����n�h�J�L�����O����p
��b�=��>�p�\h���'�}
[��8�B`�
L@!ăK�#9+��58�R
l���Y�ߣ����y��D�st�܇��׿���{:�HP��ۣx���6���F�
o��%���ā�Zh�2˟�B�gP��#�.��층���g !YtR�f��#[ձ���
|[���#
�jLo�
,8�ʖn�ߵ
+ؾ^�����N-��x
?u���
����"�3��(���E5�����f��7?r-mC*(���M}h,EԿ-�
��rœD6+m�h�w���7
���G
ٗ`S�]S�d���%��޿�8/a�� �
+H���q�j���K�$8����^�k��B�qWt�븹��;���{p��y�N����j��k��p�������m� 0`�Ɛ4
{�8��5����$�n�� ��߼�%ӒǾ���e�'C'Q����k�lS��
�j
+��t�$�h������ƀc
ijr�y¶'�/�͓)��

���eX�™|	��x4ő�R=!�a�T��������4U/h�唆/�D"+:N�{.�x1Q(<	m1�I&� �X�LB�L&����L �]�����-P B-���
�\.�r��X���s
8�����aT%(tw�����16�XK��-��5w)���d�`�X�? �T�R���7U���l+z����� ���{[-c@�j�r�<[��vB�ֺ\^�� �>6&��.��3��l
+��1b��B�I��.�I��. �+
���,Pu^u
�ڂ}1A$a4[z
����{��:>��sINb�j�!=Y,�`�0yo0w"�\��!�?��~ .@�l��MPґ�
��‘�O?H�(���5�$�g�a

 �V�!qPQ��d�e�R�.
�����m	�Ӡr���"��5� NS>�04�)�m��8��մ-
+������5Lܣ�
~䱇H���X���
�9�sk�ؓ���r�)/d4��Z����B�#
��6�b_�j�o<j6: �T^|\�%"�UPj�'����/kЙ_���b��׿ܩ=�
+b��=,
+ٽ�9I��k��ی��
+^�Q@�Z�8ِ��/�IzX�������4^V���[�Mymd�%�?!.�c
����G<����&�2����@�k�T�MDC�1����&�� [J ��
t
��
-z
�E�K�u�.=[�I�Z �̢���Im.J�7�q��H�EB�h���ƪ�������x���5:�JfGs�{��ЋH� �o!��x�4�d�S0˥�3ِ|�7���`�4`}��!���t>I~��
4�f/��,���=�WY�&*�rq���8�¾6�W��@�Iw���2{>�(:F���v���]7B_N�(��
+Ne8
�%�I|�D��X)��%�����bs�`EzzKD�lh�����Y7��RpJEX��k8x�5��,
��5;I��8И�@K�Nv�!�F��o��]�(Ժ�fיJа���]�E(������&¬
�����Λ�n����׏������6v��?�O?�6Ϣ���'ɷI�>c��
�@l$ݦz:j���	��$F�M����G�\;~r/�=L7����Ѿ�������
h~�IwZ
+���W��w��U�*��m��0�"1
��^=>>n�~
>��fx��ꌹ�	�x
d�)�ex�dj��so�|�i�
+endstream
+endobj
+328 0 obj <<
+/Type /Page
+/Contents 329 0 R
+/Resources 327 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 317 0 R
+/Annots [ 326 0 R ]
+>> endobj
+326 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+330 0 obj <<
+/D [328 0 R /XYZ 90 757.935 null]
+>> endobj
+327 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+334 0 obj <<
+/Length 3529      
+/Filter /FlateDecode
+>>
+stream
+xڥَ�6��okm�D]v�2�L��df��,$yPK���$::���o]�(Y=;H�L�EV�n��:���7w��^�M��aw�U�z<��*��]���c��e
l�*��߼��o���_k�__���tݥ]aj}_d�nq>��h퇛�
������;��V>�%�$�VYu��o�*�w+o
��+aU�P�[�>��x����yU�����������7�`�_W�3�uf.�?38�s�E�5��Fy��<ٝ5OZ�\�v�Ə�B��y�W��m��Z��a��T�n�"-KA52S�z2G�{����!F.����,r
�U��v8J`T�
i�	�06�O�
���t��6
���LB`���pu���y�M���d�y�Ĺi ��KYh9Ug�9�k�`�h�6����>C~�$�e�`����A��,
=ӵ�\�jÿFnƋ�H�]�2uˠ+Ph��(7ʜQ#b�w0���
-�����d$�2��beT� Eː���Ng���R0u��
I�H��d�@Y�L֢>�/��5�:t� mt��
����7,^��1b
G
����� �=`�w$�L*�S�YD�~��A�^'R
+x�����-&�,ӗ��`0�x��n��3P�+;��Iq�����G��}\�bfn�Б��S���Nյ�Og
�}�D�1I~��pLL���N�����є%�����)(i'~�X[��^6�
l$�X�s�G���M6-5�p�{�����1
�M�Ԃ��B&}b/E*�R����I.�8�R�@��N���f!i�$��[�y���w���w��#��O��[�����g&7����5i�
+Da at gl���51��	��W/�H�fpRL��Ȑ�P
!V��)"�p}NQ�Xt����mZ��g�9Z��ʺ��0�:�FvP�*9�j���w/N�n.��X���6Q�nyr
�0�	�h�}�n
�޸�g��MbM�keOV<	�t���
��Iw�B��
+�Lb<'AFY�4n�;\g�NREXʜVI�;O��K!��i:,�����������
2�� G\,ǟP Ϲ ��A�~�f��wE�lW�O
E�`�ky4�T �)��׆R�$�ɗ�#v>�gN`{PW����|I`��xʥt���،|6�H��B�b�p�Hq���`V؀��Z[�nX�Sn���JͳW����+�%��-c��|KGQ�6 3��p!PA�T�$��j��?�$��6�<7	NlHElJ�``ӡ=���&
�J���l���m"���QX@�
`NB��"�B�y1a*���hH�X����%jN����,�qr�_te����r[8���΍�)���l�}�pM���
Ni$�rLr�0󴨫
dgc��*L>�6��
����p,^ /h�
mJ
�5��Ɲ8y��(I�p`�
�l�Q�Nd�����Lكf�������穎.��@�.b�gӗ9�/}7;:�iZ�dj-ۀͳ$	%��E%���͕�=�1mM���8Β��YF�f]Oz�-y�i�iyQ�zF�;I����i�
+�)Rzҳ�d*6�<7S��[
nKZ@|I��5Ϗ��AR�����[���
�sD��a�;�s*�"-\H��Q&�O��EW����m�z���<��oҺ��ꑘ<�)艄����u�1��?Y(*��\�Jl�LͳS������n(H�?X���4x3�Zw0��P{�̖7�
Q����\�~8�[ܓ�uC.��m��e�3m
�)v�I��j[&B�-�r.B�Ҥ�/�&�jLs
b���8��ә̔-���ܗ�f�ͭ2�ئ�Y=m�c��
A��F�)&�$�/{ s;N��3F��PB�ģ�Zju_ױ�����Ws?Y
U
,�`�5:��4}.�
9t�/\va�A׼d��$>��ω1�v,�\y�G%��
+�K�H֐T�K�Ň�=P	7�]fQ��o-0ڻ(ׂR���*�=�D/$X�
+6j��M+ュ*�R��4�އZ�+p'L@:A^I7��M��
�&��#ߣMkhŰ ��]Aw ��f %Z<7y���>9׬+b�]��.�
�~�I`2Cp�Ң
�?��`o	��S�Y�a�]����S˿�
`t
�Q?��༒�� bAH�Q|����_�	�������4�!��"8�|]5i��Yԑ�V�|j����D��up^���O�x*�^� �j�
��6��eN�v�� �:a�咏��Ms��
/{�n��.I(]������͗�C�~|x���':"�]�0���cG�C�-o��4�S?���<�x���?2	�dh�С�vG�mM��U��!吐�@�������W�~�yl�G|��
5z
m�e0a�g���`\�Y�jrAd�-���>
G��s���b�d�8���,�lb+S4�<s̱t2�D]��֧�7�Z7���,�[ɡg
'�{M8�� �J)1��yֿ'K4m��oj�N�m���`
j����ݿ���Gg��1���;�
�]޾�W2�̵��]�W���[VU*�`�
�~�� �/w
v�]����M#�w�fy�{iG ��4=�UY��s����)���
+� ���G�����87čǽP��8�
I��xx�T�=�����
e+�Nԅ	�dx�Q�(|B�H*Tp
3�Gn���
�f�N�"6��n��UF�6��So�f�6�
�&M�����O�`�Rɍ]
66� �t�B��F�R� �ǵ���>I =�e䩰pb�@�n;+��4d�T�`{���I���,�&:��YL�h[�IM�i�Ʊ�;��aO�_�'�����^�'k���͟|Z�"�MX� ���#�Ɯ�R�⯔�06[~�t��i�qe_�η��b�L�.��"돃� 3�ڤ����wIqp{ۣ9�

L��
��-t��
rH� ����Sy��L��x�aK�IV\��Գ��
?hz��
+
!�5j���EB����6���T(zN��]GV
5?y6�i�&�54Q"@vPr��B���_C���VZI��Ғ�Y�
6�
�x�M�IhQ>JGe�����{�0��	�&v�����b���
�@�
:��R�.��A�¼hQbp[��E>L���z[޼O��E����9uÔ�0
��
+|�C~��>:P���Zz�
j�������
T:��
!���
+_�z����<q;KRq���I�Ց�&�����R�]���SQb�
�%*��EE�
W�~�b$��%�>��X~[��#_|��*��e�=D�T�m�H���Ϛ��6d01D��+"5��
+x��K ^��<R�[
)I�ܵ�/� ;��&�`�j�:��I��Lj��?��x�;�����5�Ok1�9$��Ok�aERp?Z;�Ġ��R�`��Λ��g�S�6R��XZ���s>� �#�Dj���7��=:ƴ

10�ݤU���%i�r��"
+����
��^9\�0��Ѡ�箻|����z�e��K�+�W�K�jf<��~y�%r��0�������&˃[�
u��
+endstream
+endobj
+333 0 obj <<
+/Type /Page
+/Contents 334 0 R
+/Resources 332 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 317 0 R
+/Annots [ 331 0 R ]
+>> endobj
+331 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+335 0 obj <<
+/D [333 0 R /XYZ 90 757.935 null]
+>> endobj
+332 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+339 0 obj <<
+/Length 3192      
+/Filter /FlateDecode
+>>
+stream
+xڭ˒�8��_����Um�D�wO��tf:�V;��5��,�mUd��#=ޯ_� %J-�L�r	� �xQ��q��^��^ݾ��Ub'�W��*qVQ�ځpW�|���7"p���?Q�M�vcKJ꽪��(�.튺"�/E&��C�
,7X��}w�z{��ʅ5����";�Uv���7g���ʱ�$^=)���
|���տ�
��1�B�o�	mߋW��l'
���B��z�l���	
(�6���5?�(�����
,�`,�w
�VwH;����\�
ti�;0pߗ��m�����@w��w�okXiS�UG�2C���V95��/���9#�Bخ#x��z���V�[^mx�׵��eW�y��Y�m
VK�q�С����6$㍛�^$��X~Z<�#4�]��}�\��w_�e'I6�����u�3�����v��s�k
�e���`�n���e����$���
;���ꊮ�����O�:us���~$�x��خ��TFUʃi΍��%��*MB
����#���Vʴ�H�ԆH}B�mE<,
Xg�6��ܭ$j��}w�����I ��
ܒ���i���}��
GH����u]P����[�N�����;RdEݏ��>�VlBP���ڭ3�(0�Q�0S-�M��x� �\�Zt� ΐ'3
3
EW9kd��P]IB
���A�0͔9�-慝�Y1�."�nK�-44g4�F�L�jfECJ�aǵ�o��4�'(�T
�D���\�YS�Ԯ
�<S67U
���_��6ϬީQJ���{��Տ7t��±���
>�;4*�=����/ �\g�3�x}ǵ�=�La�y
��� Մ�c
:��uC
�+�2ٶ���
+���I���ݰ硽MN��p<�fcO]}�C�0��� xY|�id\�VN�������Rw.
 Յ��G���DYt�]s�c�
_�Q��]�*��p����൷I;��cz��
Ne�ф�Y�4����@�M��*��¥ I�‘U��X�
 L�-�KK.�������?J{
)��gk��멠y�$7Ô{&�V�g�$,(5qIㆅr�x��ܣ�i5
����M�X@�0�!�3�"N�6�ɲ!���Ƚl�r�3O�C'�
��U's٬|O ���)H��9Qb���8@'
��]�3�~��
%J��&LM����
�\�/���
�*����J�^8�377l:h�c��X��I��s�����`4���
�w�����;�{�E!�o�4m=P�����:pWh��N	�-��G��Y��Q���ht[�,��~��C�s)�
c)6�Ac!�����mI�ys�i�،�qT�;B/nr��lT�d����ڃ>�~&�t����>��`&F��+��`�ь�NE�����<bw������?�l��ַŘ������S��i
�=1��_W9ęllt#���g&�@@�l��`xNj���G�$%ߙ~��b���E��R�껃kv�5;�Fv�g at g*
+���6���a��cgJ��y!z���ٛ7�����Y7
F����0eM_��D�K
P�
g�XQ��j�����B�?�/%��
C^mV����M�١l����	w�M�.a��<�$�%��j�Ro�v��o�-l�i�aH����
+�x��7=�dv_��	[_���|rfL� ��U�6�Kd/�{�҈.��'P�+�9	Zj�SA+@�eC�FZ�uƐ���i�
+� p�Z�I�� s��R�-���[df���+C<���֨��TD���O�`�lQj��k�Ţ�#�	���PMe��
���=�@ ^.�œ�^���A�T.D0��
pKq�R9�#G�����o���x4W�'c�>��
��!��kp��fdBgР6�3�:11mbn�0�C���Y�Me.�e�n��8�=�cԑU��DD��
R����]|��pwI8���
� ��B��
�� !k�
O�`�{>�#�bk���K��t�9T���I�6ק
+AcH�C�tw�+�s�p�rUV���yZa��S���u���' ]X�*:X�CV
բ(�b����t�Π9��L�|�Z�{��)�VA���m�(	��	��D}�~z�ar�c���-�k�>u�(#>���YuGE
uAs�k�ĥ
 �Y���
Up[:4
t��[<�I<���et���M#dװ�y}��;l@��-|1�\
�O�M �ч�<�Z�|&-������	&\�+E����=}��H�k%�a�d�;
��N��CS������q�9�\.�d��jF��k�]�B��ղ�S�<d�*P��}"0k!3�F���:c����͞��ְw�Q�g\lVz�K���,D2)���:�
y�1��[z����
b�7b�a
YQ�tU �[iQ)(-@�ϰ�u\S��n��{��R�S)��!JX�H��1�T>�F���A
�
��
{k����Lh]�����-�<�ٜ����XM���?�k�J\\�CC��t��E˼U��~p��Вb����34^&d���d
%��
+��K�<u��z�2ޡ��m^�QH&1�VjJ��*�A�&w�� T/tF1��*A�=#�&�t� ���Xd�
��kΞ�8=�$P�d|b:����w��޿�,���O���o��^W8:�w0�:�
+e�
�8�ypCb�p
CB3g��p�%_�;�\���
+.^��E����
b,?
)%<3��O�tg3Q�����`�Yڿ!?5�Mu���=m���f����X����㢚`m�N��r�����Yqs�d�P�m ��YW��p�`��j���b��"v$�C�X�
��/F�}|'�7�U��!��[��7-��?Nf�yQ�)-uk��
+
��2
+�=D���X�ᵊ�Dd��3De��!
+��6ЗZ�創)bǾ�S�D at i�[f*���R
�?�.P���!��
[N�'�~�NJ�
p���.(�� 
+�Si�7���D���ޒF��( �E���y��c�U
-����w�0�7��3鿗B;�����
+;|S!��#�B��|�y��Vv�*�`�%� .�U����
+��^�������
�}Z�)k1:�g/Y����m<Hɢ��Y���X�Ʈ���n0��]w�����ӓ��v_��.��ө����&�q]ߎ����Z��.� ���r#���t7KV
+endstream
+endobj
+338 0 obj <<
+/Type /Page
+/Contents 339 0 R
+/Resources 337 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 317 0 R
+/Annots [ 336 0 R ]
+>> endobj
+336 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+340 0 obj <<
+/D [338 0 R /XYZ 90 757.935 null]
+>> endobj
+337 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+345 0 obj <<
+/Length 3192      
+/Filter /FlateDecode
+>>
+stream
+xڍ�v�8�����:2�e�䱕�݉�c+�7��4IY�pQ��㿟*T)��	(
�B�zZ٫g�؝]���U�IB7\����^E��	\g��W�[����և�/4x߮��*
+�]7�Pu����	�IdE��zh{���?w��mwg��
��^9r� �D^�ʪ����W9�Y�/�W��Z�������g��o��u��
�o.�k7��E
l!G��5u��g�V鷵c[������a���"�4�=*2uV�j�}����
��<����&E�O�=s%��1E�EW��|D��8�$��i%��L+R� �O�NK��ChZB���:���E;�@
��1CK��A�>ג�XS+ʎwN	q�Kh�C����Y�����l�?TLGV��Y8g��g���oӶ������6�bGcQ�0��L�l[7�ڷ�x�����H�NG�8Lꦇ锬�̚�Q�EN�g<w�~��sF����7�K�G���,�wX/�@8� ��
+���,Z�֎5
 �Z
+''�� ��}9��<c�t J&���P*����AI�;
�,����|xP��G�E���7��;�c�0�����tLc<�o����ތ�e�t`O����gBM�&��Nu�� ���"����
u
�����
��
FyQ=�FZ�o ������92:s�35
+����O��W�����t��]��՗����њ8�-��~��pJYS��~���NI
�!i��
+:��t��דW��1�� ������P� I�(
{uR��$!�9�)Z,N$;ؖ�s�
+�C�*9.f�Q�3�1�O���Ё�h?��� �q\��F)�u �����_�I��r�N햕C^,�-r�nVr�y�q3��XǶAՆ��0	w��t18��Sd1D���B;H�C�	�	�h���?p��}�Ot@�
��S�Ey%���a�hmTJ�`���-�]C�]�u��A�����m����ҟ�%
���������?�׍Yۑ�H+
׮m
�/ ��
�Y�T��+��_���]��0ϴ=��U�34��h}���ٝ|^c_Y�?���N�I�ۀ�p�0��J��r�Q^.�%/wA+�U��Gn��h�*)�g�HQ���i
O���Cl����_b���������]1��z���������-���x	�����
���>��x�ʿ]�37�+���haִJ�:�:��I���E��$i�) v$�i�[�>K/Z
!��Va���=�r� ]��Il����~��4���\�O�1�H��)���	E���=T��H:Wf�f�1"IF<O��
m�s�
ޚ��=�$K��@��C)�²׈�	���FaE��C�IEA|���RT���F~K�H�:B�j2n�ۢM�?�����v-��(i�45��Lbn�n���QUdu�x��BD* _�z�n|=5��fl�0�?�� A�������d
+�
+��F�;�X�@�x�N`$�Wc�k̃-�s������ڱ���V]Q�6)��׌v������tgڳ�qnP��A��"�M�֑��=A��� ڂ�	
��i?N<������!w~,y'4o�1H%a&I���[|OV/��00nlT('�8�B��:���	&�
�rϠ�B* �D�hKjg
+��;��с����L�2��Mp푷�ilN����LR���9��1C��L����$֏5�`
�
k��\��&^��O��"�9(ʨ��ބ\�7?y����Qѽ�
+��O�9��
���t��*��X��u�i����Vñ��G�i'<O����MC|>4�+��
�F̧��_�>|ӌד��n�V�֝�3�M~շ�tC	�M��m}5(-�4��ö�LE
�AK�yP�7��ɦͩ5
Nr^��#/�t�,m��aFi�z�k ��!������FOd±�e9H��.t�{��R"D�2�k�y������2�a3�c.B�����j�Ӕ��-P8>6�BbQ6p�2��a��3~
Ξ �k*�ixc�n�ҒL`ݐ�C
L�T�
��#��.�
�I�R׉
kA���8\l�%��/�4`ֽ�
e�ДiO� �(�Ȝ*�X_��l7���i��<v���	e
��6W��`���
�sUNmv� ��:�
X�r-��LEE��zμ�su_��9(-���h���
�Y��-���C
�C�� �W�
�]ٴ��:CF%����ED
sB1Ej@�w�<e�zRK�
+�K�	��
B��
���
���D|Yf;{ڃ�I.�>�!$�O����
Z��?
�;�%�3��BBuM�m1FfQ.7��u��ǎ�����^�1��NL�ms�P��	�׻�P�M��
�"�Uט�zW3]��?����5��L_/�.�h͜Z���
��m�}J�����_�"�6�lMH9y�l�I7�Z!�ugR^o��l�?��b`xKV���uT���J �9R�H� �Z
�Y��2�˂�O�>P�f�3i;��fű'��3ᠣ]'���:��iCw!EU�R_�p��N/����P�t���}Q
{��
+���d*
�9ʂ��fDx"
+O�8���i�=��V���l����7X
����
��Z֜^ ;�--�� B�����QL!�֏d��Xs*�����^
evK�C��+k�"+��5'<*��T����r5��'�z7��,�k}6J s����R_0�C�h1�*�(��F06xS�Ú
+��/��'��^��k`S��$'{��;6��/�/�[�p������[����|����>l�P3Hc7�������zh��l5P��P�
܁
+��E���3Akz��\���2jwSw
�g���/��� }�0aj�M,����I��8���t�B��>���#ͺ̘fL�2��
�`'*Q��Q�[
<�VpZ�wT�:9n�N��)�N�q�_ZDƷӝ�`���s�������y�ǓA�X�j$�J/A%[ʶ
|_.e{�w���Vj�+~_�J��&�M

����������S=l���|�KY��
&I_~�t�	��7��Lp����&q�~k��1	7I����I�l��7
s����R�6�ˡ��T}e����a�ٜ�������/�@ҡZC8���:�D�$w�7��7�z�\��8A�pY�jql7��8
˅��8���a��jTr#jl�Hc<���F���
+endstream
+endobj
+344 0 obj <<
+/Type /Page
+/Contents 345 0 R
+/Resources 343 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 317 0 R
+/Annots [ 341 0 R 342 0 R ]
+>> endobj
+341 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [258.676 114.516 428.041 125.42]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/copyleft/)>>
+>> endobj
+342 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+346 0 obj <<
+/D [344 0 R /XYZ 90 757.935 null]
+>> endobj
+343 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+356 0 obj <<
+/Length 1917      
+/Filter /FlateDecode
+>>
+stream
+xڝۖ�6��_�ٗ�s�,��i�r�$�n�4��$2�6
* �����H(N�>!�h4��p���Z/O֋��k%N��Zo�ĵ��sB�Y��zo�k���*�
+A�2_�ׯ���
׏�*u֋��]/�Zx t-O��N�VzX���Z�_Y��'+�N
����-���o
w([Mdc�1
+��-O��k?���K/��l�$@��oh�{A��<e�7yC�]�d�&.��&˛6/w]���s�I�
6B.��v��a�w[B�\�UiweKw7�H���Dc��V\�ӵ�=�IB�_�e��]�%
�\�Od�� �3|۽�/LJ�����)O�)x+�.��'�ȕ�xmE߼}�Ul��� {�d�܈�U��Qr[E�n8jC���D;4�eF��*�
/���qI8����k20yF���F�Тue
���&+п!�F@�9��IJ��7t˪���e�
+<�f�o[8��vs",� ϥЫ�j�
�
� 
E��2�h�I�T1ɌK 0�I�W)�ª�H�l{�5�~FA�	�l*C�U��!:
!lX�S��?>�WF)����#�#V��Uґ�i�@oZ�q͟�g`Z�n4we�i42�P݈ԝ�L�(���^Vxۑ�'&~�FTm)X�	��-*�ቛ��tz�i6�zT%�5

Gb�^� ���O4G?1
�A�`��ҳKZrBg}��\�q�#�(�%�8��L�.��ҪF#�h��DI"���&/����ȡ�.ꮝ
G"C��
��2��[�u�(��0��v̟]coUI ��i�5߉U4}�|!B��7E�	ƒ�	�*r�D7ۧUm�\�)��`����f�뻷t�ǯo��.A;�
ϼ�����q��$/[��`,��rzDKl}2�t��=X��ׇ*S�A��͍�sf��$��uY�%����w��lĕ)X��u9W��nJn<���a4�_�v\~
�
+
+n7���g�T�P�W��z��
�#�):Xj�ߕ���y��� R��
�O=�U�^?�>a��Kk��
�~��O��
�������
��a=:�3���4�m�g�ٜ,W���+g��]�);�*�{���.�36
N uW.�@Y0@��>�0cx$�;�[/cP
!`M�A�	���N�HQ<t��ξ}���8Έ¹"d��b��Qp�V�M����M��9F{^R�BUU姻���ϗ�w�4�����:VǗ#b���l��r�����L���fC�7�$�X�.���.���B��lH��V�FM�A�
+7�1 pMutKEc/���K�5P�51�M�
H2}�ȼ���Q8{�
94�Y�P-��y k��L���-6y۝'$u�D,��'�j�Q���2A%ȕ���;I�s^�l�u���<R
0����
�E��=#f��l�2:!E!xC#�^�0e1�yjP�|��(8O7=Dh� Sn�
+�*9��� �h�G\q��� ̋o]���62�Q�[&B^�RH�ex�},%���*�18Q�pi~��dHU�����ށ�����3bfN
���_	��^��@�JC� �n�㍨�a�})�]�*7S���Tt�8��+�p�E��W�"�t
{��x^�:��u���b��[����#o_,����n`{�,_�U
+"3]�����d�����ߦ

���P
z�E!��웅����h���^��0�.k˂$���]�n�*[�=��+���OV�
+Z��5��י]��#�����?LFn|�a�9�ߗ��͂Y^�o�J1��_o�[�$��ҿ���	C]�צ������A�ԛ�8��,�y�T�JN��jлF��g���׼��K|	� �u<_G0��
�&&�H�O�Y�L��Y+@��$���o��Ǜ���褍ӕy-������fd�m<� p�k�cISC��S�p�C/�>��7
+endstream
+endobj
+355 0 obj <<
+/Type /Page
+/Contents 356 0 R
+/Resources 354 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 359 0 R
+/Annots [ 347 0 R 348 0 R 349 0 R 350 0 R 351 0 R 352 0 R 353 0 R ]
+>> endobj
+347 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 227.674 513.996 236.65]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.6.1) >>
+>> endobj
+348 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 205.756 513.996 214.732]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.6.2) >>
+>> endobj
+349 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 183.838 513.996 192.814]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.6.3) >>
+>> endobj
+350 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 162.04 513.996 170.897]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.6.4) >>
+>> endobj
+351 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 140.003 513.996 148.979]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.6.5) >>
+>> endobj
+352 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 118.204 513.996 127.061]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.6.6) >>
+>> endobj
+353 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+357 0 obj <<
+/D [355 0 R /XYZ 90 757.935 null]
+>> endobj
+358 0 obj <<
+/D [355 0 R /XYZ 90 622.348 null]
+>> endobj
+18 0 obj <<
+/D [355 0 R /XYZ 90 328.487 null]
+>> endobj
+22 0 obj <<
+/D [355 0 R /XYZ 90 294.501 null]
+>> endobj
+354 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+411 0 obj <<
+/Length 1230      
+/Filter /FlateDecode
+>>
+stream
+xڵY]s�6}�W��b�q$��޷6ݦ��thC��;�cq
6k������$02&+�н��{�=���n?�׿J
$a""�gA�)H�#����ë�ct�H��4?S�m�e�1`���J�}���;x?
|
p‴�qJʃl9x���)�?8�I
lڷ��(�.����|a!e"r�E0�����/g��0�틃�PF����Ο�1}��P��� ��7U)�~�͓mdz0U�h����Y�u����)-�����fC�Lه��y2��*W3Ӝ�:��U��x�����j«�e������DR ���j���T5�g��,O�QK�.6�W_ת��$�i�I��)�I���b
 H�>c��C���ʀ�i�f�"k
͆Gee
3n^̍Y�� ބ���d��;�0r��6�������!1:\IC��������
_d
����
[������ �Υ ��)��D���7ެ;x/`=G����"+�Y��u��=���!XF,X���5
X� [...]
��x]��~t�({�D#NcD����W��.7��`��0�ҋط(/������&~0�n��v�_�-"����Yik:����\��2��l��
�w�iLa�w�	#g�
*�0�Y�u�h8W�qL1b�_I\
^�9E�z�t�
+���*Oؑ�jUϺ*��V�`tU}Z��{��.r�O�GTy���s%�!
6�
�K��)�'��>^��7�\
��"�*�{`��r�W�h�U9�3�PN
+��٧8��[��2e����N�3
G�c�*�<�~ˀD�#�c���*�&■�!���k��7�E;�i���z~�A������h2j�/��{�Λ��
�
+��q_j8�N~QY���r�.v���Y�U�T��.F�C6G�����ل�"C"��\���g�����M�E!<Am�σ���;�g�;���9E��Ay4K]���^l�*����-}*8�
V*�����V*��V*`�*�Su�S��Fw����-u���M;'�W.�2{��j�X���u�ᵼ��d���oo�D�H��x���3C��6��jiYX��b������`}i1_�s�n�;7���w����#����X�O-�����v���T�ӎ�=�C���o�Z��;�*b,$<q���Y����l6aV��"_Ua�\CN��H>�����T6s�tY�?
���T�4���?�<~"
+endstream
+endobj
+410 0 obj <<
+/Type /Page
+/Contents 411 0 R
+/Resources 409 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 359 0 R
+/Annots [ 360 0 R 361 0 R 362 0 R 363 0 R 364 0 R 365 0 R 366 0 R 367 0 R 368 0 R 369 0 R 370 0 R 371 0 R 372 0 R 373 0 R 374 0 R 375 0 R 376 0 R 377 0 R 378 0 R 379 0 R 380 0 R 381 0 R 382 0 R 383 0 R 384 0 R 385 0 R 386 0 R 387 0 R 388 0 R 389 0 R 390 0 R 391 0 R 392 0 R 393 0 R 394 0 R 395 0 R 396 0 R 397 0 R 398 0 R 399 0 R 400 0 R 401 0 R 402 0 R 403 0 R 404 0 R 408 0 R ]
+>> endobj
+360 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 643.852 340.256 654.731]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) >>
+>> endobj
+361 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 633.799 513.996 642.776]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.1) >>
+>> endobj
+362 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 609.979 230.688 620.858]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag) >>
+>> endobj
+363 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 611.882 513.996 620.858]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.2) >>
+>> endobj
+364 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 588.061 188.187 598.94]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+365 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 589.964 513.996 598.94]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.3) >>
+>> endobj
+366 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 566.143 293.88 577.022]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
+>> endobj
+367 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 556.091 513.996 565.067]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.4) >>
+>> endobj
+368 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 532.27 229.144 543.149]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+369 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 534.173 513.996 543.149]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.5) >>
+>> endobj
+370 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 510.352 193.727 521.231]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
+>> endobj
+371 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 512.255 513.996 521.231]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.6) >>
+>> endobj
+372 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 488.434 288.351 499.314]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+373 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 478.502 513.996 487.358]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.7) >>
+>> endobj
+374 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 454.561 223.614 465.441]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+375 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 456.584 513.996 465.441]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.8) >>
+>> endobj
+376 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 432.644 188.197 443.523]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
+>> endobj
+377 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 434.547 513.996 443.523]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.9) >>
+>> endobj
+378 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 410.726 286.677 421.605]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
+>> endobj
+379 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 400.674 513.996 409.65]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.10) >>
+>> endobj
+380 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 376.853 221.941 387.732]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+381 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 378.756 513.996 387.732]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.11) >>
+>> endobj
+382 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 354.935 186.524 365.814]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
+>> endobj
+383 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 356.838 513.996 365.814]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.12) >>
+>> endobj
+384 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 333.017 312.141 343.896]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
+>> endobj
+385 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 322.965 513.996 331.941]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.13) >>
+>> endobj
+386 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 299.144 247.405 310.023]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
+>> endobj
+387 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 301.047 513.996 310.023]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.14) >>
+>> endobj
+388 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 277.226 211.988 288.106]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
+>> endobj
+389 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 279.129 513.996 288.106]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.15) >>
+>> endobj
+390 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 255.309 222.897 266.188]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+391 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 257.212 513.996 266.188]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.16) >>
+>> endobj
+392 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 233.391 202.952 244.27]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+393 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 235.294 513.996 244.27]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.17) >>
+>> endobj
+394 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 211.473 226.384 222.352]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Decision__Node__tag) >>
+>> endobj
+395 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 213.376 513.996 222.352]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.18) >>
+>> endobj
+396 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 189.555 199.635 200.434]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
+>> endobj
+397 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 191.458 513.996 200.434]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.19) >>
+>> endobj
+398 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 167.637 225.846 178.517]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Solution__Node__tag) >>
+>> endobj
+399 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 169.54 513.996 178.517]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.20) >>
+>> endobj
+400 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 145.72 209.408 156.599]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag) >>
+>> endobj
+401 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 147.622 513.996 156.599]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.21) >>
+>> endobj
+402 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 123.802 350.557 134.681]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
+>> endobj
+403 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [230.478 111.847 413.122 122.726]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+404 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 113.749 513.996 122.726]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.22) >>
+>> endobj
+408 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+412 0 obj <<
+/D [410 0 R /XYZ 90 757.935 null]
+>> endobj
+26 0 obj <<
+/D [410 0 R /XYZ 90 733.028 null]
+>> endobj
+30 0 obj <<
+/D [410 0 R /XYZ 90 712.582 null]
+>> endobj
+409 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+449 0 obj <<
+/Length 1367      
+/Filter /FlateDecode
+>>
+stream
+x��XK��F��+t�T�I�G�񆔝��dq��
��B�z�l~}z�H��Ɇ�}�4jiZ������v������`4����4�#g�rR��A�'�t�ܺ�7�)vߖ�6gj}U.�
+���e�

[]�z�o�L�tc�H]4Fq@��fp�;K��q0
+���ɷ6N�p͝�����:�
+}�Z+�����ā��U�o��l���-y�Ԭ�7
��UB�J��{��<��e1�
����fM��~C�ۡ�S<���}زړ��X�Ū-)�ݕ�S���3��ku+��枉�8$Di:CBPJ�K^k~�R�L�u��0
?��S�6p�<�=�8pc���u�M���?v�pz�
5O����<�3A�\<i���<��)S5���r�4�~Bc������{>l��}�p>l����d�8�W�޽Ӓ�b��@���d[mhvTQ
+q�<�I���YB�"��0H��6����r�Ri��JM����kd#D���uV��l�ս.�诲S�h��\B��0U����G��U����5�WY�`�����o�L���ͽ�[]��D`,�Q�
�}ȵ�  3�
 ��g��7<��ߺ\��b��|�Q`�6��
��$
+�6�(2U����a|S,��z�������IJ���	n�N&F�0Q����J-L��f	�F�����c
*\
<�[�20<��u����M[7j5�_Ydynbf�D@��
]������Гi逛��
JtJ�ȹ��/^���RW��w at O�j

/�����*�b	��
�i6�\�$E7�9df<y���Oۢ.����4���Y�X�<��^��ͳ�0bx�h
J����%��ˢ�́! ]oߕ�'��+u�M���[2W�:_6�� �,~��ez�(��0��U��#]¿q:�U%
�r��׺.�½-j�. e݄!�[	
+S1V)� ,O�
�B�;�s����@�A�Y�hc(,�����B��k��w�(�}��d����B�2u7����
E�� ��-�͢�6����1
QD��L���,���
���6O��Z6,B�Mچ��5���Ջ�o�-�S��3�@Qv�b��#�F�� R�J]H��u[Q�G!�T��';��}	�+����Z�u�
����v3�pD�ڑrD�<t�E �4��f��q��8�g��[-�p
��6 =�rV���
��tv�I��g���
<�%�[�ڊO��D
��%r�>��-�� 0��?�h�(
�?�=1l�F��5�~ͅ�mV����*�d���cD��SC}�L������o�8�
���Bjs�}�l�v�
ZԨ-��B�A\��總)+���&���� �d'Y���Rd
+endstream
+endobj
+448 0 obj <<
+/Type /Page
+/Contents 449 0 R
+/Resources 447 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 359 0 R
+/Annots [ 405 0 R 406 0 R 407 0 R 436 0 R 437 0 R 438 0 R 439 0 R 440 0 R 441 0 R 442 0 R 443 0 R 444 0 R 445 0 R 446 0 R ]
+>> endobj
+405 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 720.047 323.439 730.926]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+406 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.069 708.092 359.713 718.971]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+407 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 709.994 513.996 718.971]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.23) >>
+>> endobj
+436 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 686.174 285.821 697.053]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+437 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 676.241 513.996 685.098]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.24) >>
+>> endobj
+438 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 652.301 191.146 663.18]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+439 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 654.204 513.996 663.18]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.25) >>
+>> endobj
+440 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 477.395 181.496 488.299]
+/Subtype /Link
+/A << /S /GoTo /D (group__Init_ga7c98bac1ccfac398657571409a3fcd9c) >>
+>> endobj
+441 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 438.54 175.957 449.444]
+/Subtype /Link
+/A << /S /GoTo /D (group__Init_ga4af2931282f6a5f1b3444fb8e833d6a1) >>
+>> endobj
+442 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 399.686 237.396 410.59]
+/Subtype /Link
+/A << /S /GoTo /D (group__Init_ga635128363efd9f4c8c63e21702f40183) >>
+>> endobj
+443 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 360.832 254.542 371.736]
+/Subtype /Link
+/A << /S /GoTo /D (group__Init_gafdb2c887a3a2d1daf54a764d0d7f7f76) >>
+>> endobj
+444 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 321.977 224.654 332.881]
+/Subtype /Link
+/A << /S /GoTo /D (group__Init_gaf090a4178ad2e0dc0ea185961e13b3f1) >>
+>> endobj
+445 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 283.123 240.703 294.027]
+/Subtype /Link
+/A << /S /GoTo /D (group__Init_ga234d52733263ece8ac36c980a80292c9) >>
+>> endobj
+446 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+450 0 obj <<
+/D [448 0 R /XYZ 90 757.935 null]
+>> endobj
+34 0 obj <<
+/D [448 0 R /XYZ 90 637.606 null]
+>> endobj
+451 0 obj <<
+/D [448 0 R /XYZ 90 605.543 null]
+>> endobj
+38 0 obj <<
+/D [448 0 R /XYZ 90 605.543 null]
+>> endobj
+452 0 obj <<
+/D [448 0 R /XYZ 429.872 561.749 null]
+>> endobj
+42 0 obj <<
+/D [448 0 R /XYZ 90 545.022 null]
+>> endobj
+453 0 obj <<
+/D [448 0 R /XYZ 90 496.368 null]
+>> endobj
+454 0 obj <<
+/D [448 0 R /XYZ 90 341.071 null]
+>> endobj
+455 0 obj <<
+/D [448 0 R /XYZ 90 245.803 null]
+>> endobj
+456 0 obj <<
+/D [448 0 R /XYZ 90 177.205 null]
+>> endobj
+457 0 obj <<
+/D [448 0 R /XYZ 90 152.836 null]
+>> endobj
+458 0 obj <<
+/D [448 0 R /XYZ 90 152.836 null]
+>> endobj
+447 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F79 237 0 R /F23 172 0 R /F85 316 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+471 0 obj <<
+/Length 1503      
+/Filter /FlateDecode
+>>
+stream
+x��X[o�6~�����@͐���޲6)ܵi�ŀ�0d�����RT�����&˲R�C�m^D��w.4v�v^�~��.�#�$(	�Йo�;QH��3_;���	���0���YU�'
��
[}���x�0®�ǟ�GW�����!�
�P�SgU�>~���_;�I�
ԩ�	<�ܹ�>�F6���q�0��
	-猉��	u�Z	ao�U�s��(‰3�SO_��}������ӛ�o�/��W��^��%��kv	�2	�����m�)Ď�I�-y��� &s�Z/Ҝ�tm�de&�4��bk���h8!E!�`��/<�g���B�����'��R��{�0��	�c�R�*[�'��'Za�(�|��:Ӵ�r���)/R���
[s�|cT��$$�;�e�Ħ)W�N��F����J󜭍�6�q3-%Gc�
+���P��'F�(IB.(��art�w���I��ԏݪ)����أn��܏ �
}�\߾�nxTks���T��f�J���r���Lk��*0�_��e��Z�˦XB�꘻�_
�*��J����T�D`W�Z,��k�=㛊Z ⦍�
+`,A�`���a�<��ODV0��Q	hlIw�Ȱdlm�U�e�QE\�jQq������ ��j�k�/
�����Y�-3f*�Y���C7<� �|� �b/ž�TM at Z=*�:���ph-����\2p8����Ѫ�9tO�D�d�&���2��#L,`�� X)i�X�s	U��<�%[��֩��:��Tȷ�C��8���n%:�^ؗ�������Y���I���@î�m����JK��\�[���c�s�hS�ٶ)ä�Г�'�l!��$g�=��'�tj`
<
+s�ޮ����k�i�:�jL��؆����V=����w�C�=%O��-N�rX�
�t��wŘ@.*�B�&?����JN�L)�~Ktz3_���c��,�Ak��b�l�xK�ɭ����h;�Զ�6V����k�o���ń~�\�
��
�������
+����Fz0�XHz�Mz��
.ۡ�D�
+y56�Rf
�8e�>�
m�Zz�a�̵UU�q����ȍD���D��*ul� �K&mi�t�@���
�׬�
+�Y�/�,�O�<+2a�/L��i����0��=�#��� �;q�4'�����tX�!��@V��7�`n��`�d*%�~�{ڦ�(�c�硐���)���Q%��ֆ��(_w|k�y3u��Ň�����M����
#B��|����l�M'3'
+ �81�]��Q𶚬�R�Yٮϛ�{�T���p.@/�	<��m
�U��͆L���u�V�"��F����7)�mMo�MD��n���D���~` �B�?��G� J�v}��Wǩ�K�m�n��i	�d��ʕ�z���1��)�oӲ��X&�{ɲ� d��jz�;f������o�Q{��
 �ж^���rqq8
ЪFM��9���>�)�H� ⢶�iۈ��
˖-=�����e��
+endstream
+endobj
+470 0 obj <<
+/Type /Page
+/Contents 471 0 R
+/Resources 469 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 359 0 R
+/Annots [ 465 0 R 466 0 R 467 0 R 468 0 R ]
+>> endobj
+465 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.731 164.772 213.038 174.7]
+/Subtype /Link
+/A << /S /GoTo /D (group__Version_ga79bd3696a302bb721ef8168fa5d650fb) >>
+>> endobj
+466 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.731 126.018 251.782 135.946]
+/Subtype /Link
+/A << /S /GoTo /D (group__Version_gae19dfe022c51c874d905e2a7c81c18f1) >>
+>> endobj
+467 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.731 87.265 251.225 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (group__Version_ga8458e58a5e857de11c35ce3076a70ab8) >>
+>> endobj
+468 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+472 0 obj <<
+/D [470 0 R /XYZ 90 757.935 null]
+>> endobj
+461 0 obj <<
+/D [470 0 R /XYZ 90 696.244 null]
+>> endobj
+473 0 obj <<
+/D [470 0 R /XYZ 90 681.719 null]
+>> endobj
+462 0 obj <<
+/D [470 0 R /XYZ 90 568.96 null]
+>> endobj
+474 0 obj <<
+/D [470 0 R /XYZ 90 554.435 null]
+>> endobj
+463 0 obj <<
+/D [470 0 R /XYZ 267.991 467.414 null]
+>> endobj
+475 0 obj <<
+/D [470 0 R /XYZ 90 450.733 null]
+>> endobj
+464 0 obj <<
+/D [470 0 R /XYZ 484.685 363.712 null]
+>> endobj
+476 0 obj <<
+/D [470 0 R /XYZ 90 347.03 null]
+>> endobj
+478 0 obj <<
+/D [470 0 R /XYZ 379.133 248.054 null]
+>> endobj
+46 0 obj <<
+/D [470 0 R /XYZ 90 231.995 null]
+>> endobj
+479 0 obj <<
+/D [470 0 R /XYZ 90 182.719 null]
+>> endobj
+480 0 obj <<
+/D [470 0 R /XYZ 90 144.085 null]
+>> endobj
+481 0 obj <<
+/D [470 0 R /XYZ 90 105.331 null]
+>> endobj
+469 0 obj <<
+/Font << /F70 205 0 R /F72 207 0 R /F56 171 0 R /F90 477 0 R /F23 172 0 R /F79 237 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+494 0 obj <<
+/Length 1418      
+/Filter /FlateDecode
+>>
+stream
+x��XKs�6��Wp�C��ƒ ���;N�$���d<[l$R%){�_�Ń�HS��&i2=h� W��o�]`����ϣ'���$ĞDRP�ͮ=��P�)�f
�/O��=��WE���xB9��.U�>�n�FD�}J��f�Gdzџ#�G�<
��q/Y�޼��֟{1yw�k�����.G���ӭ?Z]���"к*���2���Ζ�*�N���d�]ϕ��k;V5߫Wg���}m
2v�Sdz��bJ�(�
I��[JyG��f���-�4S�F��qP]6������ӗ/�.�_�j�/N��A={(�� � �T�Y�1��m�:�����l,���
 &�?WUl�$�
H0V5�	�H��
���[=�<�s;��[�$��I����Jťr����'��ZX�U�Y����eo&� 8�\ZS�e^�hP��b����
�:�fIƖ
� ,��P�}�������fuu�
���j
��8�-��vL!����Sc�BU�"+{��n��
���dͯ޷��?�B�i�H�:��}*��x�\��qt���}�%��+�v���A��@��I���G��L�,gGM��os��	 �w
�{�V��Cn��l�_, at Q�������
��2t����fp.�� m��*����h<5J0�I�UV��y
K�Uq�5��
B�0 �/:�q����GT�_20(�Q�
�B�X�	D@�N��"�A{�+]���L�I�n*�
z>�����滼_��U�4��U�Uw[aq��v��Q�����Z��".�]��d$[�cD�	����H�ZF�\`-˓��c�ڶ�5�
,m
�o��F�

c$Cf�>����"��b[����LU
+ڭ��h�|�1�$i�!�u���YH�Bey�C�v���K��e��q���]��w�����_^��&l
|?}���Ab�!t}�d��(T�Qd��2ح�ǂ�	��6�A��:�4��լ�:��
i9��(j�>�$G��C8
�6ɤn�y^-����ѩuH
 N
��=9^��5ȡF�s5D&&(䬋�`
�l�"�sC�$��
E�]Eb(s�L�6�GB!?��`;�ʭ
�*��r��0���n�k�,� E�}�
A�	۔�B?�,��LHP�!;����#��$��
+�pz����\�Ԛ�0�=(0������J�`9�[y�w�ÝYǽ�C�R�<���{
E a/q4�㰩�
+\vֶv������ڀD��X��I0P��"r��\"���m�L� ��M���R-
+7=۽;���8���7����$��e����JU�8�,�n��8ۚע�Q��������g[�_��m���ޫ�_F&Z�h ���sYU���ӻ�;��h���������ǟV
+��.l.���o�vO�����d/�
Pׄ�
+endstream
+endobj
+493 0 obj <<
+/Type /Page
+/Contents 494 0 R
+/Resources 492 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 359 0 R
+/Annots [ 483 0 R 484 0 R 485 0 R 486 0 R 487 0 R 488 0 R 489 0 R 490 0 R 491 0 R ]
+>> endobj
+483 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.731 696.978 264.505 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (group__Version_gabadfeba0a415d210cdd6d7309365e800) >>
+>> endobj
+484 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.731 658.124 243.105 668.052]
+/Subtype /Link
+/A << /S /GoTo /D (group__Version_ga7a529f51bfebdd4b3e69c866dced9bc1) >>
+>> endobj
+485 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 565.426 204.032 576.33]
+/Subtype /Link
+/A << /S /GoTo /D (group__Version_gabdf8f4e9416010573d48e21cf0584762) >>
+>> endobj
+486 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 526.572 204.589 537.476]
+/Subtype /Link
+/A << /S /GoTo /D (group__Version_gab51f10ea37de5299e9bc840afa206d4e) >>
+>> endobj
+487 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 487.718 212.639 498.622]
+/Subtype /Link
+/A << /S /GoTo /D (group__Version_gaa50f472bf6d1869a2fc1500d2fdf8213) >>
+>> endobj
+488 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 448.863 197.387 459.767]
+/Subtype /Link
+/A << /S /GoTo /D (group__Version_ga676f27ad949159a3b79577f78870f60f) >>
+>> endobj
+489 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 410.009 175.808 420.913]
+/Subtype /Link
+/A << /S /GoTo /D (group__Version_gac6abee034f6ac000f15d1206fdeb8316) >>
+>> endobj
+490 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 371.155 173.736 382.059]
+/Subtype /Link
+/A << /S /GoTo /D (group__Version_ga63fef7041da34ac5bb372a2535d99377) >>
+>> endobj
+491 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+495 0 obj <<
+/D [493 0 R /XYZ 90 757.935 null]
+>> endobj
+496 0 obj <<
+/D [493 0 R /XYZ 90 715.095 null]
+>> endobj
+497 0 obj <<
+/D [493 0 R /XYZ 90 676.241 null]
+>> endobj
+498 0 obj <<
+/D [493 0 R /XYZ 90 584.4 null]
+>> endobj
+499 0 obj <<
+/D [493 0 R /XYZ 90 584.4 null]
+>> endobj
+500 0 obj <<
+/D [493 0 R /XYZ 90 545.665 null]
+>> endobj
+501 0 obj <<
+/D [493 0 R /XYZ 90 506.811 null]
+>> endobj
+502 0 obj <<
+/D [493 0 R /XYZ 90 467.957 null]
+>> endobj
+503 0 obj <<
+/D [493 0 R /XYZ 90 429.102 null]
+>> endobj
+505 0 obj <<
+/D [493 0 R /XYZ 90 333.835 null]
+>> endobj
+506 0 obj <<
+/D [493 0 R /XYZ 90 275.134 null]
+>> endobj
+482 0 obj <<
+/D [493 0 R /XYZ 90 252.822 null]
+>> endobj
+507 0 obj <<
+/D [493 0 R /XYZ 90 252.822 null]
+>> endobj
+492 0 obj <<
+/Font << /F70 205 0 R /F79 237 0 R /F56 171 0 R /F23 172 0 R /F93 504 0 R /F85 316 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+526 0 obj <<
+/Length 1661      
+/Filter /FlateDecode
+>>
+stream
+xڭX[s�8~���maZ$��ec�z��Y��2mǃm
3��+p�����{t��8��C&�tttn��

��p����q��4p��>�xn���Q��xf|7}�Y6v
nj�p�,�e��|����v��&!����Nw��`P�X(�
+\jLW��?
c�rîq/�V�G\��4�:v�'
#.r|�
s��L;���*+riY��nVi^%b
+��6�녍���Y^�}��r<I�<U
�p�c�D�E^*��"a\��)X���.r`��~8����d��{(�<-��mOa��4Q,e�ߐ�q���u
��(
\)��eUZJC�’n�HH�V��IC
��=[�w��Z Q�+ �:rp����b�L�ղb�n�Ry���w�H����\TF(5�ȥM	
+<�OT1�b�f�?L�5+,Lͻl&b�Y>/�*Q�ɤ�Tr(O�m�d���SV��{>jl.�i��`u{���dz+E��:"�j�r���ƒ�����ER�Ej�ϳ<�|��Cv�rR
�y�ɻw|�B�V�l)���M���H��'q�M���R�
�OX¶�OM�G�����͞��u�����R��͗�z�[�Zŭ
�R��|��ded#��}�%�>{>������wۣ
Ѐ�KQc���Yn��k��Am�1�
@HA���8�n���.5N+�xZ��}E\�Ǵ�;fc
+h!m��
G�/��h<������Et1
�<~��.K�}؁��V�|��K���~o|<:�����T�{*�V
�҉���?�I���
+��Y��
ʜ�=
��Q�?-8�s4:=Z�/�0��@h��{�ᛜ��������y��

i�
|H'`�����׎G�q��$������k���etG��%ߑ�/"^��7���/���$�>��)�����O��m���z�1<̶z�e���撼~��k a
+kp�hQ�$�y$�V�-��J�4���L�
��zȼ&J��
�;�U�i
��p�s�ga�L+��
�);rN���+Td3A�p0�GN>d7-�[�f��W�� �Ͽ���s�1t!��k,�˜�lͳ�l�/)F���tI�
�``�\�W#	�Cm�T��V��V��)A]���t�K����E�x���7��
+L�����
�H]U�nM
j��K�g.���]\U�W�դ ��H*зR_�Y�R�y�.�:
�����\9Z("�3�
kD��M�v�Fj���3����=誣#��A�K�U���(���yh{�4?~���~8(
}�"����#E���F�~@#Gɳ�
B��I�����j0
�G]�FX�I���g��U4\,$����> �4�,S)�k�/W
5]�4-K9�H�`���\Oy8��o��]ޖ��ӶH6%��~8[��q�<�

+��ݧ�~D
b�#r|(���
�>�r~���[�>�[u�U���ڢ�e��H��
ϸ�
|��<�^�����b�/s�:Y%��gV��}Vs5'obV�X���g|�\�}��M|�����&CCD5}����`m��Y,��t���s�}�'j.�o6ɍ����W���kx�~�_��I.�ю�ͺ�t�#���s̫T?���[C�>u����WЦ�R_�EU�?

��ߣi�6y�f(�� (�
���CԟZ����
�u��,�g	�
+endstream
+endobj
+525 0 obj <<
+/Type /Page
+/Contents 526 0 R
+/Resources 524 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 359 0 R
+/Annots [ 509 0 R 510 0 R 511 0 R 512 0 R 532 0 R 513 0 R 514 0 R 515 0 R 516 0 R 517 0 R 518 0 R 519 0 R 520 0 R 533 0 R 521 0 R 522 0 R 523 0 R ]
+>> endobj
+509 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 530.854 228.51 541.758]
+/Subtype /Link
+/A << /S /GoTo /D (group__Error_ga0c0ab09a97e49f85f42c966e14cfdee6) >>
+>> endobj
+510 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 515.631 263.2 525.817]
+/Subtype /Link
+/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6af29a62bdfcf44dbeec14afb409035438) >>
+>> endobj
+511 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.213 515.631 437.728 525.817]
+/Subtype /Link
+/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a093ae02f8ceebbc40321d1eaf186f726) >>
+>> endobj
+512 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [448.741 515.631 513.996 525.817]
+/Subtype /Link
+/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a8c65fedb9893ebb49394a3cff2f19a49) >>
+>> endobj
+532 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 503.676 194.647 513.862]
+/Subtype /Link
+/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a8c65fedb9893ebb49394a3cff2f19a49) >>
+>> endobj
+513 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.636 503.676 337.212 513.862]
+/Subtype /Link
+/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a6aa28e72200f879cbb83a36b60644fb2) >>
+>> endobj
+514 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 487.735 258.956 497.922]
+/Subtype /Link
+/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6abd22c4eaabb49bcb6c654a25e402c64a) >>
+>> endobj
+515 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.002 487.735 356.269 497.922]
+/Subtype /Link
+/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a0860beb1b1c54c9f774b532d92404992) >>
+>> endobj
+516 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.316 487.735 511.506 497.922]
+/Subtype /Link
+/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a7dae659f72f654afae1c5c6f331192a3) >>
+>> endobj
+517 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 475.78 346.278 485.967]
+/Subtype /Link
+/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a03b444004b1031ddb1a51289b9d83106) >>
+>> endobj
+518 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 459.84 278.951 470.027]
+/Subtype /Link
+/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6ab42a97917f263e8305d561f52cbd9c57) >>
+>> endobj
+519 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.495 459.84 410.78 470.027]
+/Subtype /Link
+/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a24fd14db2a8ae42b3abcae3288e46edf) >>
+>> endobj
+520 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.324 459.84 513.996 470.027]
+/Subtype /Link
+/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a8bf236a519f7da9efd5f874a17d9689d) >>
+>> endobj
+533 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 447.541 148.72 458.071]
+/Subtype /Link
+/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a8bf236a519f7da9efd5f874a17d9689d) >>
+>> endobj
+521 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 366.405 216.893 377.309]
+/Subtype /Link
+/A << /S /GoTo /D (group__Error_gad6765993c08a2ae2f0ef377f822f4d33) >>
+>> endobj
+522 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.766 366.405 372.738 377.309]
+/Subtype /Link
+/A << /S /GoTo /D (group__Error_ga0c0ab09a97e49f85f42c966e14cfdee6) >>
+>> endobj
+523 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+527 0 obj <<
+/D [525 0 R /XYZ 90 757.935 null]
+>> endobj
+528 0 obj <<
+/D [525 0 R /XYZ 90 733.028 null]
+>> endobj
+508 0 obj <<
+/D [525 0 R /XYZ 90 716.221 null]
+>> endobj
+529 0 obj <<
+/D [525 0 R /XYZ 90 716.221 null]
+>> endobj
+530 0 obj <<
+/D [525 0 R /XYZ 90 615.208 null]
+>> endobj
+50 0 obj <<
+/D [525 0 R /XYZ 90 600.638 null]
+>> endobj
+531 0 obj <<
+/D [525 0 R /XYZ 90 549.827 null]
+>> endobj
+534 0 obj <<
+/D [525 0 R /XYZ 90 385.379 null]
+>> endobj
+535 0 obj <<
+/D [525 0 R /XYZ 90 329.085 null]
+>> endobj
+536 0 obj <<
+/D [525 0 R /XYZ 90 270.384 null]
+>> endobj
+537 0 obj <<
+/D [525 0 R /XYZ 90 246.17 null]
+>> endobj
+538 0 obj <<
+/D [525 0 R /XYZ 90 246.17 null]
+>> endobj
+539 0 obj <<
+/D [525 0 R /XYZ 107.713 144.893 null]
+>> endobj
+540 0 obj <<
+/D [525 0 R /XYZ 107.713 116.997 null]
+>> endobj
+541 0 obj <<
+/D [525 0 R /XYZ 107.713 101.057 null]
+>> endobj
+524 0 obj <<
+/Font << /F70 205 0 R /F23 172 0 R /F90 477 0 R /F56 171 0 R /F72 207 0 R /F79 237 0 R /F85 316 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+558 0 obj <<
+/Length 2161      
+/Filter /FlateDecode
+>>
+stream
+x��Y�r�8}�W�m��M�/��u��3��q�٩J�\4	I�P��K
��o7�EV��Tv�j_,܉�>}�����9�N��:9}yN�&!���I<'
+�+8sV��a�b�`���^�e^�r3�s��0���ѫ���'��������I"r#_8���ß����/���I���U;'�>�λ��N<s+o|�d|;�<�{�q�|(��o�^�.on�7����\^�Z�
��쉧/E8>.�]?�����/��Ͳ�lں�Z5g����jM���{���_2ki�ݦ-���LuENr���k&eNӪmhb�~U�n���`<v�ق1�5b�e�Sm�;��f������D�P'��=�r��m�7��
+7	���\�^�Y�.�o��p��˛�����'�&|7����
4�Y4Kk�nw�U�+�
���G��9p{��gU�uu��Ý�i�hld�nߵi���6
R��raT�.O�Tu���ɲ-
`u�f�le]w��E�
��jh.s�A��X at 4HĬ�U	G�U5p��Dbm��^�����g������os!f���ҺԂ5��kЫ��]Օ�V��6*o#k��'���o*sV�5��3�7߀6@��������'A�� r@�UM͑���w5	����s�Q%����Z�1;�ZG`0
Fû�6N��e�i��*K
"��>�*��^'�
�[�+Ӫ+{?e�k�=�0�5UEzW�~Q�A
�&�.V���:��č�^kO��"��v�������j.�Iz@�A21��r�2-�g��M�m��];�J7e�hb����
+r`
�k���Fk���89�q����;�![�LPr�F�e�!�)��.�t����+"�+�?����
���͋���˷��뫧t����Þ/ �>۴�ki�Sφ�=���Z��?���
թ"�B��T�A����Bi+��O?Q���E�vf
���
 ���!��g�zU/�x�<_-_<�Q��)�Y[�i��
p���SI���F�p<��4)~��c��$�6�/
 ��ST�o���x��~�z
 ћ� �85���|���ǜ?œO~
���� ?��ݗ���
+�;��h�/�� ��\
����l��3QS�H5�6�1�S�7e7�hVx�
+r��AT�IN�aSV(
+�jS�;�!����߮1IBX�5�#"�Ǧ��-"���u�BC�h�mr�u6�9�7h|VT���{��s$Hf���Cf	�[
4~��x��A[����I=
A��I
gF8�W�7��£Oj��{z���ZK��B���M%���xX���g,bl��+�ee��n������5qz�`�S��,��	\ߔ:/�2R�U�!�R2j.�a5�۰�ef�Ҫ���~_��o�m��ַ[,�4�a��'<�Q�)2$&*�#��P� 3��$�5̤���a�`x�,��p�n�U��Il����J3�M�#ס�3�{έr�d��\���O��}>}�8(�
y$�+�.԰�"��E>-�@TEs�u����Ĺ���(�
��ig����ګ��� �B]�N���T�P3N1�&cd��
���\���
��b��t�:]NƦɜ6�ԧ"�k���Ff2+(��Fi��%]C����i��J��]:lM�(F�(G<=���Hyt_ȿ4yE��9BQN�q
�ʾ���D
��ȣ�����L�툎KC�D�}���{��{-���M��)`@qL�uk��cn�>�ղ�j��h��9
��B����G�_9 )�i͓��̇�s7��+9�=�H��h_{�y���
�����p.A���Fmz���ֱ=�*
�`����
+�L`2�w�=��!�@gm�z���ؒ��%Nr��h;��h&?w��	l�\�u_�.��No���ә8(�
�;e6+0�݄�`�Z>�@_P(
+O�m���*��:
����ШN���[�w��!?�->�� *�6?��j�m�'�V��f[Y0��x�s�o���5&�8�-��
�� 	��������d!fa���H\!�qm�%2?���t��a+��t/�u�bx��x7f�
+d�
+3�
����oҲ�$��g�ג�2L��y(y'�Q
��ɱ�_Ot�7H�ͣw�����������+վvU{
+;}
z�S`"�s��1��Qn5�X�?�h
+endstream
+endobj
+557 0 obj <<
+/Type /Page
+/Contents 558 0 R
+/Resources 556 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 566 0 R
+/Annots [ 551 0 R 552 0 R 553 0 R 554 0 R 555 0 R ]
+>> endobj
+551 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 255.571 193.122 266.475]
+/Subtype /Link
+/A << /S /GoTo /D (group__Timeout_ga3b97bf31964a662176749152d0086271) >>
+>> endobj
+552 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 216.716 200.863 227.62]
+/Subtype /Link
+/A << /S /GoTo /D (group__Timeout_ga3ebabd1a7396005fadcd08efb53c1f58) >>
+>> endobj
+553 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 177.862 250.127 188.766]
+/Subtype /Link
+/A << /S /GoTo /D (group__Timeout_ga8394b6aef8fc9841ec4e63c2724ad75d) >>
+>> endobj
+554 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 139.008 257.868 149.912]
+/Subtype /Link
+/A << /S /GoTo /D (group__Timeout_ga7e11189e03e9d1452b16e24dae5d6bc3) >>
+>> endobj
+555 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+559 0 obj <<
+/D [557 0 R /XYZ 90 757.935 null]
+>> endobj
+542 0 obj <<
+/D [557 0 R /XYZ 107.713 723.065 null]
+>> endobj
+543 0 obj <<
+/D [557 0 R /XYZ 107.713 695.17 null]
+>> endobj
+544 0 obj <<
+/D [557 0 R /XYZ 107.713 655.319 null]
+>> endobj
+545 0 obj <<
+/D [557 0 R /XYZ 107.713 627.424 null]
+>> endobj
+546 0 obj <<
+/D [557 0 R /XYZ 107.713 599.529 null]
+>> endobj
+547 0 obj <<
+/D [557 0 R /XYZ 107.713 571.633 null]
+>> endobj
+548 0 obj <<
+/D [557 0 R /XYZ 107.713 543.738 null]
+>> endobj
+549 0 obj <<
+/D [557 0 R /XYZ 107.713 515.842 null]
+>> endobj
+560 0 obj <<
+/D [557 0 R /XYZ 90 475.205 null]
+>> endobj
+550 0 obj <<
+/D [557 0 R /XYZ 90 452.893 null]
+>> endobj
+561 0 obj <<
+/D [557 0 R /XYZ 90 452.893 null]
+>> endobj
+562 0 obj <<
+/D [557 0 R /XYZ 215.408 339.925 null]
+>> endobj
+54 0 obj <<
+/D [557 0 R /XYZ 90 325.255 null]
+>> endobj
+563 0 obj <<
+/D [557 0 R /XYZ 90 274.544 null]
+>> endobj
+564 0 obj <<
+/D [557 0 R /XYZ 90 235.81 null]
+>> endobj
+565 0 obj <<
+/D [557 0 R /XYZ 90 158.101 null]
+>> endobj
+556 0 obj <<
+/Font << /F70 205 0 R /F90 477 0 R /F56 171 0 R /F79 237 0 R /F72 207 0 R /F23 172 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+575 0 obj <<
+/Length 2011      
+/Filter /FlateDecode
+>>
+stream
+x��XK���ϯ`��j��wn�z75��d��T9�-��$��!��e�ק�n�ь�.�r"� ������������{x�p/cY,co��2�%�`��f����,^������vywY�e���s���I��u d�2\��������;��',�(aIyE}�Ï����� K��]U{�
�[y��q�_�K�Ǒ�+b�$�Z鼬ԎDS}ѕ']����]��po-C��y74�Y���}��WZ���XwjA�e��A�
�Y�
��e�$�$iݑ$m[
�j��$﵄v�j�h�w:U�@�O$��#�ZG�nh��ЀI�d�\2���α�
��K�b��cqØk��LJ�C�5!e?(M��G��ԕ���>
�9m8�^M���
U�C5�᧡�s~�JD�/��c�yE�u;8���I�1ڮT_s�e���
(ܞV�uy���������)Kx&J���ֳ=
{Z�G��g�f���[jq
�]��_�{U��"�����z=�4��^we�+��C�r�N�Gg�������r�l3�����}R�:���!��0
���\V.�B[u�p�6��з�8�m��FN
W9�\�
��A��/H#Z47!��&��ȄH<�+����.
+-��

!Qx�*?�V�$���)��ID	 �"��R���f�a���f�T)�7���ӆ����Y
+!��lj�5�y�Ʃ����*��{��|���2�])�Zƨ��.�d�?�&���Cg���T��;u�m"�,I�2������wo��|z��7o�6�￿�G!#(a������Fw.{u�Ǘ{��v at X�JU���|�
,�jꏲ�LAC}$/%��tngkL��ɲ��ˉ����ĖXl!�$��1a�0��
Z�i��ܔ�Y6e����!��W�_�?B 4Lk�Pr��,͢9Hɗ@jg�f]6e���w@�
B�2�\6�Uy8��q�k�%���m��]%

[;����4�Kѳ��^u�KY�3�9U��ծ�v%�����`��5Y2"�?�
t;Efk�m������f�Ҷ��A��8
gJ��
+��F��ga�4~�R��e�V�R_���x-K����\"�Ȅ�
�5`dr
׉]L 'v�v�pD&cW�L8c�#V��8dB�q�
+��Y �a
,s�1<ǘP$c����,X��G��G�
ሡ/q$�a�Ḽ2N��
��F�=��,y
�e�o�	h���`s���d	��X@ϋ�.�8�2Z���[�js}��m�%��+��+�-���L�	� �+�M�/���厼��w�4�# k<��gσ/�X�ټUE>��s�i���mj�-N^�
+v8q��({�o
��5,���#m��.mf���kS}�h�N�ޑaޞ�ر�ٵ{:�l$إK
5�'���N�����]@���AU��P�
���.�`�K�E���m]2���Py��kk����e9�hh�ӵMMC������t
h�SW���ת�_�Me�� 
��=��`�b�'���y>���߼3 �L��zjd�,���@�q�
+�ֲ���� |�"e0�
��c�P��R��c��S�A�U�
b��N-y�^h0lZ����"�j,�m�>+��2)z.M�>#M�
�b���[O�8�xݳi�`g�72���G����Sp4��/���,��Y�7�y�%�%��.H‹� �9��
��#��CC��M$N�p��h�d���4G��C��m�it&^��~��5w��º��x�\�J����D@�p��_���+�
��qa�N���F��9���y��Q���K�m+��:o�1pL����8e�`_�
j�AA1��%AJϠQƢ(�겟�򮦛�S[]�j����no��7�!?��G�~�m�V�c��?�"�D��.o״�7��%rh��T����rp�������NLZ�0d"{��֧??<��gV�
��ԱR?@�<<�b!Bh�
���u�\ec�%�'�+/��h0
+endstream
+endobj
+574 0 obj <<
+/Type /Page
+/Contents 575 0 R
+/Resources 573 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 566 0 R
+/Annots [ 569 0 R 570 0 R 572 0 R ]
+>> endobj
+569 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.939 492.974 511.506 503.878]
+/Subtype /Link
+/A << /S /GoTo /D (group__Timeout_ga3ebabd1a7396005fadcd08efb53c1f58) >>
+>> endobj
+570 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.772 302.779 480.025 313.683]
+/Subtype /Link
+/A << /S /GoTo /D (group__Timeout_ga7e11189e03e9d1452b16e24dae5d6bc3) >>
+>> endobj
+572 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+576 0 obj <<
+/D [574 0 R /XYZ 90 757.935 null]
+>> endobj
+577 0 obj <<
+/D [574 0 R /XYZ 90 733.028 null]
+>> endobj
+578 0 obj <<
+/D [574 0 R /XYZ 90 682.244 null]
+>> endobj
+567 0 obj <<
+/D [574 0 R /XYZ 90 659.932 null]
+>> endobj
+579 0 obj <<
+/D [574 0 R /XYZ 90 659.932 null]
+>> endobj
+568 0 obj <<
+/D [574 0 R /XYZ 90 484.172 null]
+>> endobj
+580 0 obj <<
+/D [574 0 R /XYZ 90 469.856 null]
+>> endobj
+581 0 obj <<
+/D [574 0 R /XYZ 90 139.075 null]
+>> endobj
+58 0 obj <<
+/D [574 0 R /XYZ 90 133.308 null]
+>> endobj
+573 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F90 477 0 R /F72 207 0 R /F79 237 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+617 0 obj <<
+/Length 1072      
+/Filter /FlateDecode
+>>
+stream
+x��YMs�6��W�V�@ �u�L�t�����hh���Z$Rv�_�	Z�l��LוO�`w��>,>�#��~

��Ak�$͐&(�
F�h��=��PB��1�0���&��S\��m��~R�C�	������h�m@�6A��%"
�M��M��Dp���[-g!<����y2.b"E�ȏ�L�YY{n�O��׏J�C�ưl�~a.ڶ:��j�5#,��q��ј�֧��mSW�i�H�2ͳ��fv�	C�HAh���lH���r�9oB�!k�/��<K��W�U�ω77>^|�����o��4/�#/)�G�dU���p�x�Z�E\�pא
�x�M�@r�*�z�~x
+��L+��h�n�}#���,i>��@d���*�˪XV��2�T�R��B�Ju�Άs
�裰n�H���.�Mns�b3ǷO钥l�.
+��#����^Vf9�A:'9� Ѐp6I![�U<��Z�P.�⪇Dy��>�
hH���:{�񷥣�ȭhA��z�@�u`w��>�+�`�z`�v�|.�����FW��9)��3�T�/e|L�$6�w&)�Y�C��D�
8y��~lHV��K+�UP�#0+֛2�ͅ���7�����]��a�O�X�܏�1��Z'��U d���=V�C� ��oV g�e�,v)R�����!�\�c,ݨw��z	M
F��0�����I�;�ķ�Ԁ��H�*7]Ja�”
�
��i�lF�[
�S�1`������C��	��8����:����sݘ�EH����6��
$B����9,��(d�Hn�y�}��-�!�{� ��s1�?��
�Υ���������"��JlƮ
1�u$z����0�G�-��s
F0�/��'�ؼ�@,w��/D �?��m.D��Bl�
�^_�E�>���dj���%Ή�g�e<w����|J��
��eb����y�q�l/!����u�{@��$�R{��������_�}��f&�7*[v��9^VU��pxss�'%^fiapZ
���K��
+i����P|����P���؞��g7��/d��b
+endstream
+endobj
+616 0 obj <<
+/Type /Page
+/Contents 617 0 R
+/Resources 615 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 566 0 R
+/Annots [ 571 0 R 582 0 R 583 0 R 584 0 R 585 0 R 586 0 R 587 0 R 588 0 R 589 0 R 590 0 R 591 0 R 592 0 R 593 0 R 594 0 R 595 0 R 596 0 R 597 0 R 598 0 R 599 0 R 600 0 R 601 0 R 602 0 R 603 0 R 631 0 R 604 0 R 605 0 R 606 0 R 607 0 R 608 0 R 609 0 R 610 0 R 611 0 R 614 0 R ]
+>> endobj
+571 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.012 697.247 255.368 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+582 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.908 658.393 351.956 669.297]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga1822baf29ede5879f1c6ed77f0ca5984) >>
+>> endobj
+583 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.771 658.393 439.128 669.297]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+584 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 619.539 251.792 630.443]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+585 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.762 619.539 331.243 630.443]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+586 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 580.684 251.792 591.588]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+587 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.283 580.684 380.777 591.588]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+588 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 541.83 283.024 552.734]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+589 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [290.995 541.83 393.708 552.734]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gadc58d1f680927df3786f41bdb47fa26b) >>
+>> endobj
+590 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 502.976 283.024 513.88]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+591 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [314.516 502.976 443.242 513.88]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+592 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 464.122 249.281 475.025]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
+>> endobj
+593 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.251 464.122 326.222 475.025]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaedee0800f6e695c36ace737095ccef5b) >>
+>> endobj
+594 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 425.267 249.281 436.171]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
+>> endobj
+595 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.773 425.267 375.755 436.171]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+596 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 386.413 283.602 397.317]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+597 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.572 386.413 394.863 397.317]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga84f27605574583d674403f6d71a73a24) >>
+>> endobj
+598 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 347.559 283.602 358.463]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+599 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [315.094 347.559 444.397 358.463]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+600 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.707 308.704 343.168 319.608]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+601 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.94 308.704 513.996 319.608]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga5a7338130cf6d33d28dd40ed560a24d6) >>
+>> endobj
+602 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.62 257.895 347.081 268.799]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+603 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.145 257.895 513.996 268.799]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+631 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 246.916 178.437 256.844]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+604 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 207.085 247.598 217.989]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
+>> endobj
+605 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.568 207.085 322.855 217.989]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabf20fcbeb06790546a112b72eb0811f8) >>
+>> endobj
+606 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 168.231 247.598 179.135]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
+>> endobj
+607 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.089 168.231 372.389 179.135]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+608 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 129.377 281.918 140.281]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+609 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.889 129.377 391.497 140.281]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga747bcaa4d01a8065758096b1ff0eb551) >>
+>> endobj
+610 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 90.523 281.918 101.426]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+611 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [313.41 90.523 441.03 101.426]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+614 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+618 0 obj <<
+/D [616 0 R /XYZ 90 757.935 null]
+>> endobj
+619 0 obj <<
+/D [616 0 R /XYZ 90 714.318 null]
+>> endobj
+620 0 obj <<
+/D [616 0 R /XYZ 90 714.318 null]
+>> endobj
+621 0 obj <<
+/D [616 0 R /XYZ 90 638.632 null]
+>> endobj
+622 0 obj <<
+/D [616 0 R /XYZ 90 599.778 null]
+>> endobj
+623 0 obj <<
+/D [616 0 R /XYZ 90 560.923 null]
+>> endobj
+624 0 obj <<
+/D [616 0 R /XYZ 90 522.069 null]
+>> endobj
+625 0 obj <<
+/D [616 0 R /XYZ 90 483.215 null]
+>> endobj
+626 0 obj <<
+/D [616 0 R /XYZ 90 444.361 null]
+>> endobj
+627 0 obj <<
+/D [616 0 R /XYZ 90 405.506 null]
+>> endobj
+628 0 obj <<
+/D [616 0 R /XYZ 90 366.652 null]
+>> endobj
+629 0 obj <<
+/D [616 0 R /XYZ 90 327.798 null]
+>> endobj
+630 0 obj <<
+/D [616 0 R /XYZ 90 276.988 null]
+>> endobj
+632 0 obj <<
+/D [616 0 R /XYZ 90 226.179 null]
+>> endobj
+633 0 obj <<
+/D [616 0 R /XYZ 90 187.324 null]
+>> endobj
+634 0 obj <<
+/D [616 0 R /XYZ 90 148.47 null]
+>> endobj
+635 0 obj <<
+/D [616 0 R /XYZ 90 109.616 null]
+>> endobj
+615 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F79 237 0 R /F23 172 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+670 0 obj <<
+/Length 978       
+/Filter /FlateDecode
+>>
+stream
+x��YMw�8��Wh7�"/��`9
� ÙBê�三�;8�����
+��N�M˜Yɖ%��{u��$Jf����?G�ቡā�\��q��@qFFSr
h�����/�0�����_af��h�Ɲ��
������M	ێ�
��d�;�H��_
+�Yr�m�$�
,���G�_�e�#��2����pT���V�MT8�J�q��K��$��Y�\~�&l���:<Q�
4�AK�� ���\�� ��`��L����:K7��7ˁIg
���[W���(��0K����:��㭿�y�k�pV�5<A����B�����RQar�
H�w���Q�N'CL����)�X�=��Z>�6M��]�Y���18�m�JK
�|�� �0
�!�Ryq�
�H
3�����օڞ'�,�D�$�S�E
ʺo�(1��8�TT�ξU�`�� �j�b�7G_9L=� ���/u2�
+����`g�8>p%eLv��ǁ�F�Z��U4#�	��7����%#�X:2��0� �s�=,�•]��?f¥`�m��51�*WK��
������s
�j�1&@I��v�9�;ϛ.:��o?z����(�O�e�uqJ+�δ�ڳ{d�@�p�;�l5xץmցd�� �s,`ɥ���]� 9,�o��
+����$=��'/��i
zg��J%�8�SK���
Z֟��m��:2�3
�j@wq����vr#A�G8��U%}��4=��>
���~@wV`v�h��L��v<Z��2��'w?\M߾:
������U!�-��%�?�c�&C#
<���^X�
��_���Jy�Fמ��>SA�.C��,n��i�_K�.�}]�6����~�g4'���:J��+����a�	��U���d���I\T�)��A~�C��(����������+.qF�-��Y�z6
����d
�x�Ja�
��
�%l��;~�?��I��h
c�2�����E��5���
+endstream
+endobj
+669 0 obj <<
+/Type /Page
+/Contents 670 0 R
+/Resources 668 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 566 0 R
+/Annots [ 612 0 R 613 0 R 637 0 R 638 0 R 674 0 R 639 0 R 640 0 R 641 0 R 642 0 R 643 0 R 644 0 R 645 0 R 646 0 R 647 0 R 648 0 R 680 0 R 649 0 R 650 0 R 682 0 R 651 0 R 652 0 R 653 0 R 654 0 R 655 0 R 656 0 R 657 0 R 658 0 R 659 0 R 660 0 R 688 0 R 661 0 R 662 0 R 690 0 R 663 0 R 664 0 R 667 0 R ]
+>> endobj
+612 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 696.002 341.684 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
+>> endobj
+613 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.654 696.002 511.027 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gac803b1dab9dd0072acb6fdda204efd26) >>
+>> endobj
+637 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.967 657.148 346.745 668.052]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
+>> endobj
+638 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [385.828 657.148 513.996 668.052]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) >>
+>> endobj
+674 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 646.169 178.437 656.096]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) >>
+>> endobj
+639 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 606.338 255.907 617.242]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
+>> endobj
+640 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.877 606.338 339.473 617.242]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga64dda1bda497aab131fc204ed9e55894) >>
+>> endobj
+641 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 567.484 255.907 578.388]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
+>> endobj
+642 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.398 567.484 389.006 578.388]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+643 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 528.63 290.227 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+644 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.198 528.63 408.114 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga5e59406ab43e2f1851ea2e066137b4bd) >>
+>> endobj
+645 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 489.775 290.227 500.679]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+646 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.719 489.775 457.648 500.679]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+647 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.684 450.921 359.771 461.825]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
+>> endobj
+648 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.519 450.921 513.996 461.825]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga5e128d772c07f54f135cac19e9a6ffbe) >>
+>> endobj
+680 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 439.942 152.425 449.87]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga5e128d772c07f54f135cac19e9a6ffbe) >>
+>> endobj
+649 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.048 400.112 362.135 411.015]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
+>> endobj
+650 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.84 400.112 513.996 411.015]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+682 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 388.156 212.758 399.06]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+651 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 349.302 270.84 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
+>> endobj
+652 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.81 349.302 369.34 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaefc9900fe07bfdee6310e4705ea0bfec) >>
+>> endobj
+653 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 310.448 270.84 321.352]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
+>> endobj
+654 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [302.332 310.448 418.874 321.352]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+655 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 271.593 305.161 282.497]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
+>> endobj
+656 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [313.131 271.593 437.982 282.497]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gac0d389ac714f0d4d3e6950fd692e7443) >>
+>> endobj
+657 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 232.739 305.161 243.643]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
+>> endobj
+658 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.653 232.739 487.516 243.643]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+659 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.757 193.885 372.777 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
+>> endobj
+660 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [388.598 193.885 513.996 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga56e2574a7d2f006333151867599e8fa3) >>
+>> endobj
+688 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 182.906 178.437 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga56e2574a7d2f006333151867599e8fa3) >>
+>> endobj
+661 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.101 143.075 365.122 153.979]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
+>> endobj
+662 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.906 143.075 513.996 153.979]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+690 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 131.12 212.758 142.024]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+663 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 92.266 264.225 103.17]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+664 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.195 92.266 356.11 103.17]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga12c368fa0bdd20b907d9ab8e92e999d2) >>
+>> endobj
+667 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+671 0 obj <<
+/D [669 0 R /XYZ 90 757.935 null]
+>> endobj
+672 0 obj <<
+/D [669 0 R /XYZ 90 715.095 null]
+>> endobj
+673 0 obj <<
+/D [669 0 R /XYZ 90 676.241 null]
+>> endobj
+675 0 obj <<
+/D [669 0 R /XYZ 90 625.431 null]
+>> endobj
+676 0 obj <<
+/D [669 0 R /XYZ 90 586.577 null]
+>> endobj
+677 0 obj <<
+/D [669 0 R /XYZ 90 547.723 null]
+>> endobj
+678 0 obj <<
+/D [669 0 R /XYZ 90 508.869 null]
+>> endobj
+679 0 obj <<
+/D [669 0 R /XYZ 90 470.014 null]
+>> endobj
+681 0 obj <<
+/D [669 0 R /XYZ 90 419.205 null]
+>> endobj
+683 0 obj <<
+/D [669 0 R /XYZ 90 368.395 null]
+>> endobj
+684 0 obj <<
+/D [669 0 R /XYZ 90 329.541 null]
+>> endobj
+685 0 obj <<
+/D [669 0 R /XYZ 90 290.687 null]
+>> endobj
+686 0 obj <<
+/D [669 0 R /XYZ 90 251.832 null]
+>> endobj
+687 0 obj <<
+/D [669 0 R /XYZ 90 212.978 null]
+>> endobj
+689 0 obj <<
+/D [669 0 R /XYZ 90 162.169 null]
+>> endobj
+691 0 obj <<
+/D [669 0 R /XYZ 90 111.359 null]
+>> endobj
+668 0 obj <<
+/Font << /F70 205 0 R /F79 237 0 R /F56 171 0 R /F23 172 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+723 0 obj <<
+/Length 944       
+/Filter /FlateDecode
+>>
+stream
+x��YMs�H��+�t����v7�T�ɮ���r�B��"B���
I��*Xd���� �t�Ǜף�dB(y��s�
J
8�5]G��
gd4&�}
:0Ji�]r���u0��_�y�_/�e0�;��&�2z��{���c86%�K0B�h�;�B���
+�YrU<5#�
�N�I�C�Vqկe��X�SK'N
+��P��X�[��Vq�"M�y���>�m{x��
 ���
�\�g����t���8�(g\��*ʫ�|�٤��c�B�bz�����q��O��Y
N���Ǣt�,F
!8��1��RW�b�|��
H���(fX��5�L�B`C��r3��M�w�*����8ʟ3��0SgB)l��8ޝI�8����xl��D`
H�:�
h	���'�Q T?���q�(�
љjSoLJb A��&U8
+�cU�ŅQ@�6
��Wq�,�t�N
V3�#qԦ�r�‚	+��qpnq?�
����:U�^d8�%�{~�q�NWy{q 
+�+�M�u9+��:���7jCŘ���^\��Y���s���	Bˣ$D���a�ḅ��Pօ��Ör�`�=D�l�C
OQ�3�tGz�0e-m�9�1�yt�����
-��*��a+F8�Xz�'�QWJ� ���
+��卒�
�؁FAQ��(~dL
���x�f�T�!p7��/���0�q��ϴ���:��0O툣=k��
Y0�� ����������
i��`�wEi1��(c�rtz�o	��W��9���e6OM��C��
l-�<��
�Q�3�Vg0���e���*�
+�YXݦ���x�U�k�3U}�|�
+'��o|���0��>-��E�����W�l��~�Sƙ�疝����b�+h���'?[�x&����D*��
�2�/�ë�+����'�
�|���am�YÆ!��~}�V��Ҭ�(�c�,�u֐����6
+endstream
+endobj
+722 0 obj <<
+/Type /Page
+/Contents 723 0 R
+/Resources 721 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 566 0 R
+/Annots [ 665 0 R 666 0 R 692 0 R 693 0 R 694 0 R 695 0 R 696 0 R 697 0 R 698 0 R 699 0 R 700 0 R 701 0 R 702 0 R 703 0 R 704 0 R 705 0 R 706 0 R 707 0 R 708 0 R 709 0 R 710 0 R 711 0 R 712 0 R 713 0 R 738 0 R 714 0 R 715 0 R 740 0 R 716 0 R 717 0 R 742 0 R 720 0 R ]
+>> endobj
+665 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 696.002 264.225 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+666 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.717 696.002 405.643 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+692 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 657.148 260.908 668.052]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
+>> endobj
+693 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.878 657.148 349.475 668.052]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga73918c511d88c3fd8ad4de602c4d20df) >>
+>> endobj
+694 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 618.293 260.908 629.197]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
+>> endobj
+695 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [292.399 618.293 399.008 629.197]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+696 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 579.439 271.608 590.343]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag) >>
+>> endobj
+697 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.578 579.439 370.875 590.343]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf4f8f4bacd6f148fbbfb9209fb5b2b33) >>
+>> endobj
+698 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 540.585 271.608 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag) >>
+>> endobj
+699 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [303.099 540.585 420.408 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+700 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 501.73 289.122 512.634]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Decision__Node__tag) >>
+>> endobj
+701 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.092 501.73 405.903 512.634]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f9463d3385bd998e4fabcdce8dec5a) >>
+>> endobj
+702 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 462.876 289.122 473.78]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Decision__Node__tag) >>
+>> endobj
+703 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [320.613 462.876 455.436 473.78]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga43246761a1030d751e756845a246bf68) >>
+>> endobj
+704 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 424.022 287.478 434.926]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Solution__Node__tag) >>
+>> endobj
+705 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.448 424.022 402.615 434.926]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga68fae2777effe5d0ed0e3dcec1310e1f) >>
+>> endobj
+706 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 385.168 287.478 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Solution__Node__tag) >>
+>> endobj
+707 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [318.969 385.168 452.149 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga934e8eb1ed3d9f688ffafe0f82ad02f6) >>
+>> endobj
+708 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 346.313 288.962 357.217]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag) >>
+>> endobj
+709 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.932 346.313 405.583 357.217]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gac3cf4d5c81ff784729bb5d1c8d48ce23) >>
+>> endobj
+710 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 307.459 288.962 318.363]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag) >>
+>> endobj
+711 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [320.453 307.459 455.117 318.363]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) >>
+>> endobj
+712 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [340.09 268.605 491.899 279.509]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga9448cd0d782a819c066e27cf3ebc1add) >>
+>> endobj
+713 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.785 229.75 513.996 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga261d916137f01c0effdefeb266a73172) >>
+>> endobj
+738 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 217.795 161.83 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga261d916137f01c0effdefeb266a73172) >>
+>> endobj
+714 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.377 178.941 394.356 189.845]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) >>
+>> endobj
+715 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [404.797 178.941 513.996 189.845]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga2fdde49c81e0fd5d54dba2cb056847b3) >>
+>> endobj
+740 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 166.986 221.595 177.89]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga2fdde49c81e0fd5d54dba2cb056847b3) >>
+>> endobj
+716 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.157 128.131 392.136 139.035]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) >>
+>> endobj
+717 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [424.005 128.131 513.996 139.035]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
+>> endobj
+742 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 116.176 266.815 127.08]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
+>> endobj
+720 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+724 0 obj <<
+/D [722 0 R /XYZ 90 757.935 null]
+>> endobj
+725 0 obj <<
+/D [722 0 R /XYZ 90 715.095 null]
+>> endobj
+726 0 obj <<
+/D [722 0 R /XYZ 90 676.241 null]
+>> endobj
+727 0 obj <<
+/D [722 0 R /XYZ 90 637.387 null]
+>> endobj
+728 0 obj <<
+/D [722 0 R /XYZ 90 598.532 null]
+>> endobj
+729 0 obj <<
+/D [722 0 R /XYZ 90 559.678 null]
+>> endobj
+730 0 obj <<
+/D [722 0 R /XYZ 90 520.824 null]
+>> endobj
+731 0 obj <<
+/D [722 0 R /XYZ 90 481.969 null]
+>> endobj
+732 0 obj <<
+/D [722 0 R /XYZ 90 443.115 null]
+>> endobj
+733 0 obj <<
+/D [722 0 R /XYZ 90 404.261 null]
+>> endobj
+734 0 obj <<
+/D [722 0 R /XYZ 90 365.407 null]
+>> endobj
+735 0 obj <<
+/D [722 0 R /XYZ 90 326.552 null]
+>> endobj
+736 0 obj <<
+/D [722 0 R /XYZ 90 287.698 null]
+>> endobj
+737 0 obj <<
+/D [722 0 R /XYZ 90 248.844 null]
+>> endobj
+739 0 obj <<
+/D [722 0 R /XYZ 90 198.034 null]
+>> endobj
+741 0 obj <<
+/D [722 0 R /XYZ 90 147.225 null]
+>> endobj
+721 0 obj <<
+/Font << /F70 205 0 R /F79 237 0 R /F56 171 0 R /F23 172 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+781 0 obj <<
+/Length 1204      
+/Filter /FlateDecode
+>>
+stream
+x��X�r�6��+�+9SAx��N�שb+��8
-Q2���������-���h�_�Ź��������Y����z���!ORic�Ö�	J�`d]�I�I0�v'�I���iR���0
ӇE�t��P���u��~��� [$�%RLX�i��
�F�����\�>k5�8ep�����
lp�u|B��#X"�\KQ��9�ϔ�l���u� Y#
E�
�2MV��4�����:�6��ݠ;�{��F�|6H��F��;�������r���$���cn�X�[��B �u�&a
	��
G
�y��E�m�Y/��,��b�����"�)\����ٴ�g�,P��"��{6�3��&��W?{H��ZZ����h��/T��B��0/#]��G�~89��)䩣|A���z,1F�z�+�����W����pYO
W�����F���~�����f���:��9AX�`�<a��c���X:�2,9ٗ�r
+�yR�A��énXyq�ͪ��*I}�쾑M%�_�${>�Y�ꅏA��<�T��Q�bX�%#P���<��Υ.���]�/�y�����!~�̬��wo�]v�Dm��OlbW�Z>u���t����:^���D����\�O�\�X�2+�
>X�?��K?�M�!
{�,ʟ��v
K��,\��ɧ��1���?1���D'���� p`B �m����*����s���1w�����E?��/�A��:~�?�h_��ۿV��BT��
������
�Եe�����緳�"�{���\�{c�-�� �S��:S�F�a��s��
+�� �Ô
�	��Z�e��n�L�f#�D���j��n?(�<��,��I��ʥ�vȣin��
�g�p�k�x�/�$�G��O���$���ca:�p���޽��d���e���T
+gJ��-����G�X�G�`gff��F���
M�q�D2͂L���?.clM�I<�C���T���;?})	oĬm��
���^����s��L~H��Nj�|�-.q�=�.ά%�l6�3u�!!LzA�O7ÔL�D^�����y��y�&�pb���=�X'ͫ�e���a��|g��.��������,3�K���|l��B�y�_���O�
]ˊr���6�6M��Z���h�D�Y�HP���[��[��(�<n��
q:OLF�
^N��q�5`�_u64�
+endstream
+endobj
+780 0 obj <<
+/Type /Page
+/Contents 781 0 R
+/Resources 779 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 566 0 R
+/Annots [ 718 0 R 719 0 R 743 0 R 744 0 R 745 0 R 746 0 R 747 0 R 748 0 R 787 0 R 749 0 R 750 0 R 789 0 R 751 0 R 752 0 R 791 0 R 753 0 R 754 0 R 793 0 R 755 0 R 756 0 R 795 0 R 757 0 R 758 0 R 759 0 R 760 0 R 761 0 R 762 0 R 763 0 R 764 0 R 765 0 R 797 0 R 766 0 R 767 0 R 798 0 R 768 0 R 769 0 R 770 0 R 799 0 R 771 0 R 778 0 R ]
+>> endobj
+718 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 719.912 253.705 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+719 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.675 719.912 335.069 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+743 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 681.058 253.705 691.962]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+744 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.197 681.058 384.603 691.962]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+745 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.398 642.204 343.168 653.108]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+746 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.63 642.204 513.996 653.108]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gadb1edf876e8c62fb7d2630a9280224f1) >>
+>> endobj
+747 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.834 591.394 343.605 602.298]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+748 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.989 591.394 513.996 602.298]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
+>> endobj
+787 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 579.439 169.591 590.343]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
+>> endobj
+749 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.707 540.585 385.23 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+750 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [401.001 540.585 513.996 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga2f2a1aa8fbda2e53218cecba593f7427) >>
+>> endobj
+789 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 528.63 203.344 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga2f2a1aa8fbda2e53218cecba593f7427) >>
+>> endobj
+751 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.486 489.775 385.009 500.679]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+752 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.87 489.775 513.996 500.679]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+791 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 477.82 256.225 488.724]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+753 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.514 438.966 404.049 449.87]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
+>> endobj
+754 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.628 438.966 513.996 449.87]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga576b0ae433a83ef58a3c174a86623582) >>
+>> endobj
+793 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 427.011 240.983 437.915]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga576b0ae433a83ef58a3c174a86623582) >>
+>> endobj
+755 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.917 388.156 415.452 399.06]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
+>> endobj
+756 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 388.156 513.996 399.06]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+795 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 376.201 319.328 387.105]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+757 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 295.439 251.533 306.343]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gae5679e4f41db32b7b91dfc81574fc1d6) >>
+>> endobj
+758 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 279.872 291.912 290.402]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6a81067f9cf8984d1b3febca4488a137e1) >>
+>> endobj
+759 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [309.096 279.872 511.506 290.402]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6af8c3e04d66cd611db5efcd92a6c52425) >>
+>> endobj
+760 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 267.917 269.267 278.447]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6aa166787e251ef2cbaad9213d8e9d2653) >>
+>> endobj
+761 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.256 267.917 496.245 278.447]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6a9e4eb4979711bf6699ec8e0f335de476) >>
+>> endobj
+762 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 251.977 313.491 262.507]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6a9029c33b6876c560bf78b5b86d0367c0) >>
+>> endobj
+763 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.833 212.749 255.144 223.653]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf449476be1ec42bab45fb86e7478bdf9) >>
+>> endobj
+764 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.505 212.749 414.236 223.653]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9a132c76cbee67b5bc2ac9e09af9c68c4f) >>
+>> endobj
+765 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [422.52 212.749 513.996 223.653]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9a1304ca7fa8d3e734d1677709a37d5d28) >>
+>> endobj
+797 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 201.511 165.776 211.698]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9a1304ca7fa8d3e734d1677709a37d5d28) >>
+>> endobj
+766 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.33 201.511 327.707 211.698]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9afdbee5cd06ff135cbf9614b661c9e923) >>
+>> endobj
+767 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [342.261 201.511 513.996 211.698]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9ab32d9464a7101eb1893562646a3cdd1a) >>
+>> endobj
+798 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 189.212 145.233 199.742]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9ab32d9464a7101eb1893562646a3cdd1a) >>
+>> endobj
+768 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.362 149.984 273.916 160.888]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga5b805182b79b6fb873d0624f7dfd2ee1) >>
+>> endobj
+769 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.335 149.984 453.397 160.888]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gga5b805182b79b6fb873d0624f7dfd2ee1a59042baec996bc386154a1825ad56de0) >>
+>> endobj
+770 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [457.21 149.984 513.996 160.888]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gga5b805182b79b6fb873d0624f7dfd2ee1aa05a8932097b094ca179e99e2d80b6ae) >>
+>> endobj
+799 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 138.403 269.227 148.933]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gga5b805182b79b6fb873d0624f7dfd2ee1aa05a8932097b094ca179e99e2d80b6ae) >>
+>> endobj
+771 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.216 138.403 448.922 148.933]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gga5b805182b79b6fb873d0624f7dfd2ee1a3e5170687052e3962de866e2ab44d8f8) >>
+>> endobj
+778 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+782 0 obj <<
+/D [780 0 R /XYZ 90 757.935 null]
+>> endobj
+783 0 obj <<
+/D [780 0 R /XYZ 90 733.028 null]
+>> endobj
+784 0 obj <<
+/D [780 0 R /XYZ 90 700.151 null]
+>> endobj
+785 0 obj <<
+/D [780 0 R /XYZ 90 661.297 null]
+>> endobj
+786 0 obj <<
+/D [780 0 R /XYZ 90 610.488 null]
+>> endobj
+788 0 obj <<
+/D [780 0 R /XYZ 90 559.678 null]
+>> endobj
+790 0 obj <<
+/D [780 0 R /XYZ 90 508.869 null]
+>> endobj
+792 0 obj <<
+/D [780 0 R /XYZ 90 458.059 null]
+>> endobj
+794 0 obj <<
+/D [780 0 R /XYZ 90 407.25 null]
+>> endobj
+796 0 obj <<
+/D [780 0 R /XYZ 90 314.413 null]
+>> endobj
+779 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F23 172 0 R /F79 237 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+843 0 obj <<
+/Length 1696      
+/Filter /FlateDecode
+>>
+stream
+x��Y[s�8~�W�m�LQt�uߚ4�KH����q@ς�
4����G�l�q�Ii��E:�O�9��6հ��u:j�\�Xs�kQK�k.�l� �m4�>���
�1�{�]�'�5������!�i��u�N����o��Q���X#�,�F63����
�&0���s
m��Zhe�k��-������֖}[�`�fS��eJ#?Sj��uڧ�	&�p�P�žd�
��g?�x�Y�i�
'|�u���Oy����I�m`=�d��!��S
dX��!&r
i�`��N����T�o��Y.$�KW2�ҕ��x%�w�P�.r��
O �
�s-��n b3�k�\%��m�y>R���^>�d�@d�6m@B"s̢Z��;��P�,�“!�|ޘ����� r�<Nx�C�fAV�	Q��i����\
����
�y!Y,�
=�u�����<g��A����jt��
+���ַ����iH*����g�YԦ����˅}۫�͓�o��ί/z�63�[����`x@�sMB��l+�}������E�0p��HX�r�����b��R�]+��
+�䈈���sv���1��p,p����5Y�r$>W�������ꥱ?��$X�0�a1�36��rA�rO��������"&�K���+�B~
R�Y�~�$�
��J!H���"�ER�cn-cr�R���#�F-��f\ʂ�
����<��uJ�r(�sh��v.������p2�w�a�d��0ֈ��!�2�=,�F���,�E�(|)i�ϗ�ȶ�)D�"���i0
�L�ݬ&��\�'0�[���'�7�G���t4�kQ���:��@�=tr�Ӛ��a�[�IMn���j��p%%>�l-�A�"
+j�a�$
#
+��ټo�΋���խj�U�5تt����7�xt�t��4�+�Dm|�������2�
|쨱 F��
Աa�B�lK��H8���@ϊ�U�D��6�� �xc[1��
d�*�����ϣq'�
%CU�C�}盝�q$�Ҥ�l�s=
Ƣ����U�#e�2	
����q�R
a8�o���	J�I^R�,�lzT�K�.>=�
�{�a�����}B�mu�n�CZ��1F��T��!��
+3):���h� �N�\�2Pt=ճ�8�k��\@3^��:�hÂ
ƁF\��Ur��D�.�fY}�C�� ��S��1%���DK��b��j���-l�u�!��K�C���f��Bu�0
�]jpPQn#gs�U Y'~�)j���1d9��T��1�2HT*���4�2�2}��I��AaN �ބ�٬f�	l��y��jh�f�<���
�Y��Cs
N�4A0i9��r)rfS�����d�<�
��VZ	ܵ<��q�nť���r{
g7�����=L����R�d��.{�f�=��|���������;�����ޠ߃�����ݷ�g���3�M�Y4�Е���t�~�
n�?��"��M�E<��.9���K�lI�}~� ���+O�)�Bشe��`��Pd�1�����;
� N��v�w:

+7P���h�pPS^�
+�l��� ���I�~�|c<Sc~8]�S�^\�'�"L��Mʓ_�!��/�pYx/�Uݳo��0"DP/1�SE�����o����-���d�
�,��_ON��5�hq���������H!����%k-�� ��E���Q���=Sj
+endstream
+endobj
+842 0 obj <<
+/Type /Page
+/Contents 843 0 R
+/Resources 841 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 858 0 R
+/Annots [ 772 0 R 773 0 R 774 0 R 775 0 R 776 0 R 777 0 R 815 0 R 816 0 R 817 0 R 845 0 R 818 0 R 819 0 R 820 0 R 846 0 R 821 0 R 822 0 R 823 0 R 824 0 R 825 0 R 826 0 R 827 0 R 828 0 R 829 0 R 830 0 R 831 0 R 832 0 R 833 0 R 834 0 R 835 0 R 836 0 R 837 0 R 838 0 R 840 0 R ]
+>> endobj
+772 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 719.912 308.53 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4b10979f4464f0574331e442e9025d3c) >>
+>> endobj
+773 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 704.689 169.601 714.876]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gga4b10979f4464f0574331e442e9025d3cae072091ed81a04a85178bba39494a601) >>
+>> endobj
+774 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.59 704.689 233.262 714.876]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gga4b10979f4464f0574331e442e9025d3ca5c5c70a1d41e6e79718bbeb33df7cad4) >>
+>> endobj
+775 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.251 704.689 296.923 714.876]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gga4b10979f4464f0574331e442e9025d3ca48a27a450babc28cd9e37b24e4c7f870) >>
+>> endobj
+776 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [299.912 704.689 360.584 714.876]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gga4b10979f4464f0574331e442e9025d3ca8cbde0e6dec605c51ef708fb8cd2b52e) >>
+>> endobj
+777 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 688.405 179.564 698.936]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gga4b10979f4464f0574331e442e9025d3ca5637cd5e0441762c2efba8ec4549156a) >>
+>> endobj
+815 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.907 649.178 345.156 660.081]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6b8429baa2a70746836586aad6905b64) >>
+>> endobj
+816 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.666 649.178 430.714 660.081]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gga6b8429baa2a70746836586aad6905b64a8a337487ebb2a4938a04103368bc24dc) >>
+>> endobj
+817 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.073 649.178 513.996 660.081]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gga6b8429baa2a70746836586aad6905b64a81a7221b987cf71e9577f1d3162fc994) >>
+>> endobj
+845 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 637.596 184.535 648.126]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gga6b8429baa2a70746836586aad6905b64a81a7221b987cf71e9577f1d3162fc994) >>
+>> endobj
+818 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.686 598.368 330.4 609.272]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4813a2ed52eb4aeac03bde07be0ddd83) >>
+>> endobj
+819 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [356.466 598.368 474.403 609.272]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gga4813a2ed52eb4aeac03bde07be0ddd83a60e9236626a09f76d3fe049e03bd6926) >>
+>> endobj
+820 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [486.539 598.368 513.996 609.272]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gga4813a2ed52eb4aeac03bde07be0ddd83ab602a0c001878a0debc775c4bee33777) >>
+>> endobj
+846 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 586.786 232.375 597.317]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gga4813a2ed52eb4aeac03bde07be0ddd83ab602a0c001878a0debc775c4bee33777) >>
+>> endobj
+821 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [235.364 586.786 377.102 597.317]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gga4813a2ed52eb4aeac03bde07be0ddd83ab34d1f06ae438f58dd44c6262b3281ce) >>
+>> endobj
+822 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 505.65 237.386 516.554]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gae8e2db00ec6575b865057ffd3195327b) >>
+>> endobj
+823 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.202 505.65 324.558 516.554]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+824 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 466.796 215.259 477.7]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gadc14acd60d7235a72f88850b9a917eca) >>
+>> endobj
+825 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.075 466.796 302.432 477.7]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+826 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 427.942 215 438.846]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga7593947fa164900140d09c08b56c6cd1) >>
+>> endobj
+827 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.816 427.942 302.172 438.846]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+828 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 389.087 218.318 399.991]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga56026e685fb0fe336a5f346580f84ff0) >>
+>> endobj
+829 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.178 389.087 365.534 399.991]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+830 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 350.233 223.299 361.137]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga13f1f84a46d70b91637cb9d6af54af6b) >>
+>> endobj
+831 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.638 350.233 359.995 361.137]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+832 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 311.379 275.881 322.283]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga0764a0e607ec4de08a53e6d3b109a714) >>
+>> endobj
+833 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.697 311.379 434.744 322.283]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga1822baf29ede5879f1c6ed77f0ca5984) >>
+>> endobj
+834 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 272.525 276.987 283.429]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gac37b94ca7dc0c8bb9797e6d91e16492e) >>
+>> endobj
+835 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.803 272.525 435.85 283.429]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga1822baf29ede5879f1c6ed77f0ca5984) >>
+>> endobj
+836 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.704 233.67 221.734 244.574]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga763a5fa98155383055703dc08cb3e11a) >>
+>> endobj
+837 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.387 140.953 359.547 151.857]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga1fd59c6502c8cbb9dbb802e4af34c940) >>
+>> endobj
+838 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.387 102.098 337.311 113.002]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gab9fc89c0e89d4487a1f69a26849b682a) >>
+>> endobj
+840 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+844 0 obj <<
+/D [842 0 R /XYZ 90 757.935 null]
+>> endobj
+847 0 obj <<
+/D [842 0 R /XYZ 90 524.624 null]
+>> endobj
+848 0 obj <<
+/D [842 0 R /XYZ 90 524.624 null]
+>> endobj
+849 0 obj <<
+/D [842 0 R /XYZ 90 485.889 null]
+>> endobj
+850 0 obj <<
+/D [842 0 R /XYZ 90 447.035 null]
+>> endobj
+851 0 obj <<
+/D [842 0 R /XYZ 90 408.181 null]
+>> endobj
+852 0 obj <<
+/D [842 0 R /XYZ 90 369.327 null]
+>> endobj
+853 0 obj <<
+/D [842 0 R /XYZ 90 330.472 null]
+>> endobj
+854 0 obj <<
+/D [842 0 R /XYZ 90 291.618 null]
+>> endobj
+855 0 obj <<
+/D [842 0 R /XYZ 90 159.926 null]
+>> endobj
+856 0 obj <<
+/D [842 0 R /XYZ 90 159.926 null]
+>> endobj
+857 0 obj <<
+/D [842 0 R /XYZ 90 121.192 null]
+>> endobj
+841 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F79 237 0 R /F23 172 0 R /F85 316 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+881 0 obj <<
+/Length 1840      
+/Filter /FlateDecode
+>>
+stream
+x��Xے�}�W�-TU�xg��٥���d���k�RaHh�,EҼ���O
PGk'�V��O��>��
R�š���֓��c�$���Yo��:q�H�1g�;�܈D����w���q:�B���w�Z�әϼ�w}:�y�~�XO~�0؛:L��$�C'�O>�L�
��
J�4qz��	<�����cB�^_�j}��L_F#��3JXb����B��]�|��`B_��9� ��LR�6/F�G=]Mxx���?~x�[�s��q3�{�Zm���x���
�L�����(�
HǨ޼��Pm��팠/�h���-/P�U��S����θ?+xے����O3���$𿺟
>ށ��7}��<.��Mc�z	��js�\����_�Ϯ�P�e��W���9ϲ�Fˏ�|����ȯuU
w"o�A�V%�x��f���ĥ���֞��v{~�� �m��.W�½���fB.�����V���|m����j1_����?Gϧ)��=�F�%�1FO��H("S],�@�4�@�$
v�b�%����*�z���W���J{��$i����̊>?�a�ݷ���������kb�G#V�־k���a��Īi?=��b�'�� [...]
U��욺���X����� 94�t<z����N��\> �J
�3�+�k��VB�,�G졻���Nh����B���2 ���=
+ �K ��������=�a��U�3CƫPF̺j��
�(�^q�hAY�v
��|ۉZ�sR	��L�%�zP�U)�65��u��AG�lw�����
��4|s��ݿj��|؉��4� ���H�����0�o2H�s�(�;o"<3#:�``5"ވ���
+�s�-�
?V�۴v� 5b�p%�o��z�����*
�j�Y&��2/�pŬ5�/g�Cz����=C��i
~3�Xe=X�#O�wΈz�@����3��
<^�>�0?�3?�aOL���W��	�S��FV�W�O#�s!6U��}���QZ�DC����o��1�a
+�B�391��{ ��I k��i���>'1��nm���
X7���/_��||�[��3a�N1��
���=��t
+���fJ�ݷf͡���&�t�^����	��!������G^���W��#=F|: ����pu#x�3���h�
؂
�E�!T	}Q̴_�*B�xɈ%Ddʵi�zL�uAj2-H�^�m��!'����K
�{:�[^dY"��H3���͹T7
]�0��t�	o�hMU��:��0�h���6/M��"�)��<
+)A4;^�W�J"��u68��)�+h%ɀ�<`�<`���L���Ə�pն/��37?N#�?0%�j#��+,t)�3y����Z�]v�v�+� C'Ax�g�B�l�����?pS't���o�[~�
�-J`C����������v3ZS��f�_
�ձ�>/T��B#��Y��
+��:#�k��5�$
��=貽�s�5U��^����=1뗣$
+�'ȼQ�b ���ᅡ����@!%�)�V�6Z	�
+���c[����
�NW~�u��nn��Z�C���݀�o�V��]��N�g �=��`�^�M�(�h
Z
+endstream
+endobj
+880 0 obj <<
+/Type /Page
+/Contents 881 0 R
+/Resources 879 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 858 0 R
+/Annots [ 839 0 R 873 0 R 874 0 R 875 0 R 876 0 R 877 0 R 878 0 R ]
+>> endobj
+839 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.387 707.028 316.27 717.932]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga735949470e98393af90b12f534b06cba) >>
+>> endobj
+873 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.387 668.308 356.768 679.212]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gae439fa617415f2153f4793041c41bd9f) >>
+>> endobj
+874 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.387 629.588 410.028 640.492]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaef15021f65d2810602a9a1bd06fc878d) >>
+>> endobj
+875 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.387 579.91 363.961 590.814]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga841003bef28b1052aa2b5297a529d4d8) >>
+>> endobj
+876 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.387 541.19 354.566 552.094]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gae311117a92fca76fc66fe3442ff6d09f) >>
+>> endobj
+877 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.387 502.47 351.249 513.374]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga0aac22e2dc312e8c41418dd8d59701f8) >>
+>> endobj
+878 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+882 0 obj <<
+/D [880 0 R /XYZ 90 757.935 null]
+>> endobj
+883 0 obj <<
+/D [880 0 R /XYZ 90 726.054 null]
+>> endobj
+884 0 obj <<
+/D [880 0 R /XYZ 90 687.334 null]
+>> endobj
+885 0 obj <<
+/D [880 0 R /XYZ 90 648.615 null]
+>> endobj
+886 0 obj <<
+/D [880 0 R /XYZ 90 598.936 null]
+>> endobj
+887 0 obj <<
+/D [880 0 R /XYZ 90 560.216 null]
+>> endobj
+888 0 obj <<
+/D [880 0 R /XYZ 90 521.496 null]
+>> endobj
+889 0 obj <<
+/D [880 0 R /XYZ 90 465.278 null]
+>> endobj
+890 0 obj <<
+/D [880 0 R /XYZ 90 305.554 null]
+>> endobj
+636 0 obj <<
+/D [880 0 R /XYZ 90 281.339 null]
+>> endobj
+891 0 obj <<
+/D [880 0 R /XYZ 90 281.339 null]
+>> endobj
+892 0 obj <<
+/D [880 0 R /XYZ 90 153.607 null]
+>> endobj
+800 0 obj <<
+/D [880 0 R /XYZ 90 129.393 null]
+>> endobj
+893 0 obj <<
+/D [880 0 R /XYZ 90 129.393 null]
+>> endobj
+879 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F79 237 0 R /F23 172 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+897 0 obj <<
+/Length 1129      
+/Filter /FlateDecode
+>>
+stream
+x��X]s�8}�W�m��$�˝vgH�fӥ	g:���q@$��ae�����-��d�l������
�s�-h�[кl���{-x
3+�X
�8C�bdc�� s�Bh��;�'��)�/�,ʞ2u�.žk���
|h�A�Ҿ��
+_��Rk4k}���^�`A�z�z,�f����Z�֧��EY
vd�ຐ�H�w9�
O� ͅ��(��IZ�.�Le�ɱY�+���H[f*��
�+ 5V�x
�ژ ιA�'˙TQ6Wo�
]��6]`��F@���~���\�A��:�/}?���a�ս����	
+����OP�N���%	�I���\�� ��m�E
`�V~sc.��Rlr�a\�Ac�� O�ʠN�/mW��9��P@�c��
B����}�jw{M<a������T��2^�p@ �
�AL��58v�D|"�D �
��d�n
įĝ8D�;S���ѩ�FN�" �W��s9��v��Wj.���Fu�qX�����I屎�!z�^���y�����h��2=,u[l�L\�O�\�P�g��XL��.����"a�pb뙺'8,�z�m
~�x�`jO��c?�d\#���>��O�y���?0�� ak���~u�7v$��9�vjd��v��~'���+�;} �^����
� ��3����a�>�ָ��d��o� �R� �ĺ��ye�!-
���y�fx;8q�,��D<��ӥ�u����Xw"�,���m������u��DӃ��
�{����sOv/�xa�`�
���������
�W��"R�LfR���(#�j�)��
@0 9z9��Z�z�r�OK䰖���d,���h��k1����q�� +b�|v,Lk��3��<t Q�^�X�A��߁�zϮ�a(���a �M�2�8K�K�|l�d���5F�@�_-��!�s;b+B�����%!�Y2rzHm�3�D�q/9\����n֏S� 
���T�(,�7�<E��m������"5+%ݟO�
�X��['?��Z��/����\�j�+E�r�6�ꏼ��%�hj��A
+��CJ����,B=���GJ�
JYRa��aUW��Ya�N��?d��M����F)X&�B�8����ݔ����Wo������KC��_����.��	��
+endstream
+endobj
+896 0 obj <<
+/Type /Page
+/Contents 897 0 R
+/Resources 895 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 858 0 R
+/Annots [ 894 0 R ]
+>> endobj
+894 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+898 0 obj <<
+/D [896 0 R /XYZ 90 757.935 null]
+>> endobj
+801 0 obj <<
+/D [896 0 R /XYZ 107.713 680.236 null]
+>> endobj
+802 0 obj <<
+/D [896 0 R /XYZ 107.713 664.644 null]
+>> endobj
+803 0 obj <<
+/D [896 0 R /XYZ 107.713 649.052 null]
+>> endobj
+804 0 obj <<
+/D [896 0 R /XYZ 107.713 633.461 null]
+>> endobj
+805 0 obj <<
+/D [896 0 R /XYZ 107.713 617.869 null]
+>> endobj
+806 0 obj <<
+/D [896 0 R /XYZ 90 607.563 null]
+>> endobj
+901 0 obj <<
+/D [896 0 R /XYZ 90 593.149 null]
+>> endobj
+807 0 obj <<
+/D [896 0 R /XYZ 107.713 491.937 null]
+>> endobj
+808 0 obj <<
+/D [896 0 R /XYZ 107.713 476.345 null]
+>> endobj
+809 0 obj <<
+/D [896 0 R /XYZ 107.713 460.754 null]
+>> endobj
+810 0 obj <<
+/D [896 0 R /XYZ 107.713 445.162 null]
+>> endobj
+811 0 obj <<
+/D [896 0 R /XYZ 90 433.914 null]
+>> endobj
+902 0 obj <<
+/D [896 0 R /XYZ 90 419.501 null]
+>> endobj
+812 0 obj <<
+/D [896 0 R /XYZ 107.713 319.23 null]
+>> endobj
+813 0 obj <<
+/D [896 0 R /XYZ 107.713 303.638 null]
+>> endobj
+814 0 obj <<
+/D [896 0 R /XYZ 107.713 288.047 null]
+>> endobj
+859 0 obj <<
+/D [896 0 R /XYZ 90 276.799 null]
+>> endobj
+903 0 obj <<
+/D [896 0 R /XYZ 90 262.385 null]
+>> endobj
+860 0 obj <<
+/D [896 0 R /XYZ 107.713 162.114 null]
+>> endobj
+861 0 obj <<
+/D [896 0 R /XYZ 107.713 146.523 null]
+>> endobj
+862 0 obj <<
+/D [896 0 R /XYZ 107.713 130.931 null]
+>> endobj
+863 0 obj <<
+/D [896 0 R /XYZ 107.713 115.34 null]
+>> endobj
+864 0 obj <<
+/D [896 0 R /XYZ 107.713 99.748 null]
+>> endobj
+865 0 obj <<
+/D [896 0 R /XYZ 90 89.441 null]
+>> endobj
+895 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F90 477 0 R /F11 899 0 R /F8 900 0 R /F23 172 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+907 0 obj <<
+/Length 1931      
+/Filter /FlateDecode
+>>
+stream
+x��XIs���W��j �%�̌�r��v�rr�K�h
+Y�pE����M�e���E�F�_/ ���~���������㞵�X!�|����\[��
�fsF)��җ*��9��
5Qs��z6w
��ߗ?]-�W^1�M-�x	�������ߩ����,J�0���*�\��f=]�|E/��
B=��E
"�n�hs��n���i��l��\�n�Fne�Z�|��W_定����,���,P����Qk�2����gF�JR���/Z�~HAڌ	$�
�$�|�wdٜ�0�9wI���X ��)��'G�g�[s*�f��x�z����~��H��΀CxBx�N=u�-:[^���	�X����1g�xl������×ǻŗ���&L at 8C�S��(�2�SD�����^��3aCTf\���ټ��Q�"B�9�NU]({�s�H��p\�<���f?c��fBص�O\�L��j
+d��K]fmc�z����NH<�)Ա�c������꿔:%.�oc�A�Ϝ]�2�f
�O����3�����͝Z������O�:8A���q�
�-:�
�� }{_E�]Zl5y�����s}{�E1D{
R�^&i��r��I��0ڠs�u�#���J����v���{=I�d�
�@T���j�\�VM�o�E/sea /�mVje����!���ÍE��m��$
��f�u�<�
+0b �\�8�m@�I!:A���������	hS�#�s�2"��8���}
+c�{-pa�\n�a��P��I���A3P�m���
�)�L��K=W��
�VLM�Ы�`�V��Λ���u����\�{�0�j��}�ȋ�	�Ϧi�Њ�V&bR��ס]��le%��K���e��m���A���7Ӟ]w�P72�/_d�3*���7�>���u+5QS~P��&J��V�-�8^`�Z��
+3� CoL�/�osN�A�ٛ�Ho�vY �p+.�XV=�}�$ze,r
�x����4�(o ֣��ܧ�}
xs�P���9,���җ4K���S2�D�y>9�0�
E��dG	%���2��t#k]���}'N=�є�t�+ ��"3�pT�_i
5�����%�� �^p��~y|xz��x�x�
�bhPg�R!=�����
�a��h`
+�ze�:�ӕ�Q����*P�:��mm����������Le\x��)�@�`����!��;�6�?�੍��Z��.U�
+���O�81�M��f9�F �X�q_�����
+M1�\��90
�<:t�QAʌ�
++�
��B��0U�4�BƲ�!�:���N�G�!������*2L�&�GM��zè�A�-�I|.�6ߔ�#8-���(a�p�D�
+� Tx��~�^t��|�]�ܴ\ဵ��Jw���YAgs�s�ћ�He.�A�9;IUF�
��U��n�/:���(�rs]B9�u��Z��
[���;�”��y�>8��I��k ��nVYZ�U&��y�
��0M^�Ł�Ho�T�H�!t�a���3�
�x��
�ܘn���L����u�a�
��V��s�j��
�#�
U�CY�﹓�tB��x��XݡY�
�˾L�m�%���L�l�?��L�V
���Ne����1l/�-Ȋ���Ѡ��\VBs��&�/:�az�UC����f�
+���S�ԑw�&�4�#�^�I�Կ3)ʲ#�F)򂍫m._o
�9�
w�:_e�V裢~k����9�n?�
+�
�o+]β2��ߨo��4Ӈ+
��f
�����{�V���`�p������腨ʍ��evH�2��/��̞���~�b��
<Ü:��%*�(�b'�d�!�ư�=�����V����U
z}gN�f����~�'qM�"�U$m��a_��y��������f^V}ـ�\���(�����
+endstream
+endobj
+906 0 obj <<
+/Type /Page
+/Contents 907 0 R
+/Resources 905 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 858 0 R
+/Annots [ 904 0 R ]
+>> endobj
+904 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+908 0 obj <<
+/D [906 0 R /XYZ 90 757.935 null]
+>> endobj
+909 0 obj <<
+/D [906 0 R /XYZ 90 733.028 null]
+>> endobj
+866 0 obj <<
+/D [906 0 R /XYZ 107.713 638.217 null]
+>> endobj
+867 0 obj <<
+/D [906 0 R /XYZ 107.713 622.607 null]
+>> endobj
+868 0 obj <<
+/D [906 0 R /XYZ 90 599.359 null]
+>> endobj
+910 0 obj <<
+/D [906 0 R /XYZ 90 584.937 null]
+>> endobj
+869 0 obj <<
+/D [906 0 R /XYZ 107.713 484.621 null]
+>> endobj
+870 0 obj <<
+/D [906 0 R /XYZ 107.713 457.056 null]
+>> endobj
+871 0 obj <<
+/D [906 0 R /XYZ 107.713 358.412 null]
+>> endobj
+912 0 obj <<
+/D [906 0 R /XYZ 90 317.923 null]
+>> endobj
+872 0 obj <<
+/D [906 0 R /XYZ 90 295.611 null]
+>> endobj
+913 0 obj <<
+/D [906 0 R /XYZ 90 295.611 null]
+>> endobj
+905 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F90 477 0 R /F11 899 0 R /F8 900 0 R /F10 911 0 R /F23 172 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+935 0 obj <<
+/Length 1708      
+/Filter /FlateDecode
+>>
+stream
+x��Yْ�F}�+T΃�j��E-u۩TyM�Yj2&O����̨,$,�������M�0���$D��]ι�7~�
t.��8�HF4
+�@� ���q������,�*{��ͧ*��:-�^�x��X���}�͠�C at 4��c3
�����q0������¬�!ep͂��:xC-"F��E�o�"�Q
Ա2��8�S��
+''d6ˆ/�:��1
�I6���M�d�jU?�os���pT�U=L�YR�Nn���rx4IF���VU���ꗬ"<Z��C[&�
������rf$���L��H��O�������m����Wﮜ�K쓙7�B�/t]
���V���|���NqBVVr�b
�
n��������V%cU��y��HD~�/M̖+�$�2�ED��_�,��s���M=�	s�gQ�0շI��T����M^�?�j�E�!A ��{��� a���#���aT�G����
+~QU�M�ѻ���/]�m�N�P�a�:�����W��}XOa
�Xs��qd�6
(	�	[�z�w[��Y����
�s�V��l��o�� <h:G�ĝ��pd�Wa��`
t�'kN�� 
��YZ�
��d���%M��
��y��=�
��6ra�c,X����<�@â����Ÿ�Gt�E�%�:
�=wU�H"���@/�b�ZG�U�h��l��Z}��}
+Lg�G) 4<�,�"t8)��9�i��OD���ͨ0��0��Z�/v;�`*���#}H��;��lfu<��*4T���ϭmLc�i���#t�[�O[�]����޾TLZHCBhxC�]��N�4�y�°!��f���~bU��*�'.Ud�N3�e[��6v$(�c��;W$��˼K(����24HML!��B]��B�t�PIo6��q�C�M�f����uf���U9:�Ҷ7Z�z�����4=������q2f�$Lв�D ����n����D No�!�
��z��
$	#ˑ�� �g���Ð>X Nl��T9��w�,
'M�ՠ�e���
H�q�Z��%I	ɷI}�:���
5�v�ܦ�-H�.Mϊ|�L~�Ya_y!�4ss��w0T̓,s|��V_�TR��~@�l��2=v�����
�����S��>�cNcD�۾�Z��SsГl3�
8���A��
ە�t������F���	��{��}5?����P��B!�lC<]Q	�V
+G]�D�F��]��.kL
9K�vu30
EM�׭��[��m�jH��9�V$�}�1�5�=jh�Z�ա��e�qa
|zّ��<�Z)�
�.67��<G�
��
�k�k潍Qf0��� [�_��׀'��T=فW=P����aP%�
	(��<
OD��d� @)]d�P޷�i�����e���C7�;z�v��~
+��U=/u�΄I��2+*ȩw���@+�vݘ.H������
��F
�Ė�ȼ�֤ShBְ�{
����u[�21��
~sk�
+�ݜV�@�y���Ն��m�8�yΉ1s<�PƸX����"tVM���Ss�&�}z�)�9�nGH�L��.�t�
����8u����oոt?O��I���W�Y��̓�z�b�b���ߕ*��8�f��$��
��{��Te��c��F�s���4k������1gK�h�^f�ۺ�=��\,hT�y��J�֗����u)� 1��iq��?hHsx85�V�Q�(�
?yG

+endstream
+endobj
+934 0 obj <<
+/Type /Page
+/Contents 935 0 R
+/Resources 933 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 858 0 R
+/Annots [ 914 0 R 915 0 R 939 0 R 916 0 R 941 0 R 917 0 R 918 0 R 942 0 R 919 0 R 944 0 R 920 0 R 921 0 R 945 0 R 922 0 R 923 0 R 947 0 R 924 0 R 925 0 R 949 0 R 926 0 R 927 0 R 928 0 R 951 0 R 929 0 R 930 0 R 953 0 R 931 0 R 954 0 R 932 0 R ]
+>> endobj
+914 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.967 543.954 382.12 554.858]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_adbcbb0f82f71091112f2c768d2107bb8) >>
+>> endobj
+915 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [404.797 543.954 513.996 554.858]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) >>
+>> endobj
+939 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 531.999 232.78 542.903]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) >>
+>> endobj
+916 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.02 495.138 513.996 506.041]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_a26270ebae88b22836f94cbdd003a022e) >>
+>> endobj
+941 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 483.182 225.029 494.086]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_a26270ebae88b22836f94cbdd003a022e) >>
+>> endobj
+917 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [235.05 483.182 446.624 494.086]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) >>
+>> endobj
+918 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 483.182 513.996 494.086]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
+>> endobj
+942 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 471.227 344.968 482.131]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
+>> endobj
+919 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.462 423.407 513.996 434.31]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_afa0c60a0cce5f80bcf4fdd22ba4913a9) >>
+>> endobj
+944 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 411.451 225.029 422.355]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_afa0c60a0cce5f80bcf4fdd22ba4913a9) >>
+>> endobj
+920 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.133 411.451 442.707 422.355]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) >>
+>> endobj
+921 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 411.451 513.996 422.355]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
+>> endobj
+945 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 399.496 318.955 410.4]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
+>> endobj
+922 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.24 362.634 372.835 373.538]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_a4ce5a35bce2cfe414dd42739b15819c7) >>
+>> endobj
+923 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.785 362.634 513.996 373.538]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
+>> endobj
+947 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 350.679 232.78 361.583]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
+>> endobj
+924 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.518 277.264 406.777 288.168]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_ab1e38080e1de577a82f181e1e87cea61) >>
+>> endobj
+925 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [424.005 277.264 513.996 288.168]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
+>> endobj
+949 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 265.309 278 276.213]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
+>> endobj
+926 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.423 265.309 433.086 276.213]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) >>
+>> endobj
+927 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.221 228.447 393.866 239.351]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_a2c8e06a14ae0f5878428e7385e98bedf) >>
+>> endobj
+928 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [404.797 228.447 513.996 239.351]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) >>
+>> endobj
+951 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 216.492 232.78 227.396]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) >>
+>> endobj
+929 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.546 179.63 403.749 190.534]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_a27c82492b590d5445541451928a593ac) >>
+>> endobj
+930 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [424.005 179.63 513.996 190.534]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
+>> endobj
+953 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 167.675 278 178.579]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
+>> endobj
+931 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [309.615 167.675 513.996 178.579]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
+>> endobj
+954 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 155.72 163.61 166.624]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
+>> endobj
+932 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+936 0 obj <<
+/D [934 0 R /XYZ 90 757.935 null]
+>> endobj
+62 0 obj <<
+/D [934 0 R /XYZ 90 733.028 null]
+>> endobj
+413 0 obj <<
+/D [934 0 R /XYZ 90 712.582 null]
+>> endobj
+66 0 obj <<
+/D [934 0 R /XYZ 90 712.582 null]
+>> endobj
+937 0 obj <<
+/D [934 0 R /XYZ 90 612.125 null]
+>> endobj
+938 0 obj <<
+/D [934 0 R /XYZ 90 559.033 null]
+>> endobj
+940 0 obj <<
+/D [934 0 R /XYZ 90 512.238 null]
+>> endobj
+943 0 obj <<
+/D [934 0 R /XYZ 90 440.507 null]
+>> endobj
+946 0 obj <<
+/D [934 0 R /XYZ 90 379.735 null]
+>> endobj
+948 0 obj <<
+/D [934 0 R /XYZ 90 292.343 null]
+>> endobj
+950 0 obj <<
+/D [934 0 R /XYZ 90 245.548 null]
+>> endobj
+952 0 obj <<
+/D [934 0 R /XYZ 90 196.731 null]
+>> endobj
+933 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F72 207 0 R /F11 899 0 R /F23 172 0 R /F79 237 0 R /F85 316 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+981 0 obj <<
+/Length 1608      
+/Filter /FlateDecode
+>>
+stream
+x�͙�o�6���W��d`f�-�lm3�˶�͞��Pe���Ir���;J�W,;�k}�$�9��~w<��ZY��u���������<I�u��<l9� A�u��������Y�����4�h~7%��s?V��祿�Ψ��M�K?P��[�T����Jtq<)mƧ��L^�O���	�H5�p�Äē�����7F�s�m�+�8e�w��&���!,E�A���J�~�E=�W��0+�4�S���'[3��^-�~�b�s�����Yn�@K0��4�_B��_���

Q=�n�9떬�g��t���$�fkc�Elb��~5���:4	+WTnjܱ����+��	6�X�i܈P��(J�T��V
=�H��
�x�"q悵��1�JŰ���0 �� �6Zז�<!�6���8"Ĺ�{
.N���m�pؾ��
� �,�	��
9����,!��t�ۺ��@�ːte����]���T��jL�VE
8׭=�
�X�?�R5��eK\�㙗$5?�*���'�G ��N!Ći��'_�,����(a�#l���m�(?��~�rU&�
��x�H��@���X�\f����DV�gUq�
8����,;S�
D[;R;Vn����!�s�ga�0M
r��y�f��rQZ�����3`�5�E��dH�4]��U��jJ�
�L�cO�A�ce���#�"
8j���&��#�PC�V�5�
+�	p���eʅ�:�UF�e5H�R'��g��Z˸�Z�AN�*ыV�CȷC1}z
XZ� ��ᕟA�˧ꏳ�|Uԓ���
z�=X�:���IJ~>�y�j"g0��wx#:�A�"涃6���#������'ƍG��↺�
&�4Nu��n�9��;쀠K��{0x��
N�߹8���u]��j>�a���*/�륇�GΑ�g�]�$���/�|'{��F��ʩs\"
a�[��};i�s��8W���gP�S�!2󌹈S��$٦��sS�c����4�d\�HR�
� 	�%:L�Y=p7��.�vA���Q�$��&z[FkC�iE�?�>��v9~܃mQ��C6æGQ.�M9"vj�91[���Q]�RM�Y\�<շ�7��k�`F=�\H��5�d#;O����)�\���⅁�}>$7�\
��b�
+��Ki
�c��D�34ԙ�"����/N�*X7��*#)Y��=dUo=�e�W��/˕o�c�(J�Y��;C�CB��d��YZ�C2���:
��k�x�E�����<i�>�����D�c}��@�A�i�2L������"��bg_u�3Nړb���@����q4��B2��ؠ=k5Om�>�!���v#u��tu��s�]s0�M�^6;zP�:�+����4�΍T�=�
����$�
�v
��4}xϝ�A[�S.�4
݋"�+�ς��[6	b�{�%[u�ސ�s�k.��_�靔�!6i�.�>��"7�����?�/M���6�J��j�U*�^�g��'�fW�Y}�C��;�ň���z����Z����Ium�iE9�vEƤ��^\]m�[h��Y���
+B�jw_�I!���f��b(N��L�
+����K�Hfl4
+endstream
+endobj
+980 0 obj <<
+/Type /Page
+/Contents 981 0 R
+/Resources 979 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 858 0 R
+/Annots [ 955 0 R 956 0 R 957 0 R 986 0 R 958 0 R 959 0 R 960 0 R 961 0 R 962 0 R 963 0 R 964 0 R 989 0 R 965 0 R 966 0 R 967 0 R 968 0 R 969 0 R 970 0 R 971 0 R 972 0 R 973 0 R 974 0 R 975 0 R 976 0 R 977 0 R 978 0 R ]
+>> endobj
+955 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [129.838 494.804 328.132 505.708]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag_a8758040d0309c4f1bce32f105cf4c554) >>
+>> endobj
+956 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [334.864 494.804 469.527 505.708]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) >>
+>> endobj
+957 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 494.804 513.996 505.708]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+986 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 482.849 198.911 493.753]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+958 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [127.55 444.15 275.234 455.054]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag_a6bc95e351716acc4b56829a62464cddb) >>
+>> endobj
+959 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.678 444.15 414.341 455.054]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) >>
+>> endobj
+960 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.64 444.15 513.996 455.054]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+961 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [130.966 432.194 202.448 443.098]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+962 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [127.231 393.495 336.604 404.399]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag_a80b6aa70e38446636a0523f06353c8f2) >>
+>> endobj
+963 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [340.729 393.495 475.392 404.399]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) >>
+>> endobj
+964 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 393.495 513.996 404.399]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+989 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 381.913 167.678 392.444]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+965 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.33 342.84 284.573 353.744]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag_a12aac19f5cba4af9f1a177cd7b772242) >>
+>> endobj
+966 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.797 342.84 424.461 353.744]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) >>
+>> endobj
+967 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [442.515 342.84 513.996 353.744]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+968 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 256.174 275.539 267.078]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag_a0340ab7363ad499c2d6a0182bc874057) >>
+>> endobj
+969 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.354 256.174 414.018 267.078]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) >>
+>> endobj
+970 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 219.622 278.856 230.526]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag_adc5d20f68f042656187d507cff5ceea7) >>
+>> endobj
+971 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [342.716 219.622 477.379 230.526]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) >>
+>> endobj
+972 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 183.07 283.837 193.974]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag_a23b660d538bf3d3140ab3a4dfe649f61) >>
+>> endobj
+973 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.177 183.07 471.84 193.974]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) >>
+>> endobj
+974 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 146.518 289.925 157.422]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag_acb2d4b9c84cd7b7b4f2abb568471c424) >>
+>> endobj
+975 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.74 146.518 428.404 157.422]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) >>
+>> endobj
+976 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 109.966 284.385 120.87]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag_ac7eb99bc96d86baf058f856e41b2ddfe) >>
+>> endobj
+977 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.201 109.966 396.852 120.87]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag) >>
+>> endobj
+978 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+982 0 obj <<
+/D [980 0 R /XYZ 90 757.935 null]
+>> endobj
+983 0 obj <<
+/D [980 0 R /XYZ 90 733.028 null]
+>> endobj
+414 0 obj <<
+/D [980 0 R /XYZ 90 645.99 null]
+>> endobj
+70 0 obj <<
+/D [980 0 R /XYZ 90 639.15 null]
+>> endobj
+984 0 obj <<
+/D [980 0 R /XYZ 90 540.747 null]
+>> endobj
+985 0 obj <<
+/D [980 0 R /XYZ 90 512.037 null]
+>> endobj
+987 0 obj <<
+/D [980 0 R /XYZ 90 463.165 null]
+>> endobj
+988 0 obj <<
+/D [980 0 R /XYZ 90 412.511 null]
+>> endobj
+990 0 obj <<
+/D [980 0 R /XYZ 90 361.856 null]
+>> endobj
+991 0 obj <<
+/D [980 0 R /XYZ 90 271.175 null]
+>> endobj
+992 0 obj <<
+/D [980 0 R /XYZ 90 236.646 null]
+>> endobj
+993 0 obj <<
+/D [980 0 R /XYZ 90 200.094 null]
+>> endobj
+994 0 obj <<
+/D [980 0 R /XYZ 90 163.542 null]
+>> endobj
+995 0 obj <<
+/D [980 0 R /XYZ 90 126.99 null]
+>> endobj
+979 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F72 207 0 R /F11 899 0 R /F79 237 0 R /F85 316 0 R /F23 172 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1019 0 obj <<
+/Length 1961      
+/Filter /FlateDecode
+>>
+stream
+x��YY��6~��Ї�@��!�H�i�I�m�}J
+C+ѶPYr)9���wx鰵�l�}EQ3Ùo�ぽ���g��̮�G�KP�лYy	��� N�w�{o����`��ݮ\>���-�4+D�.�t=_P��U+�*̈́y}%VB�I�JwQʨ���ϛ��nf�(�
��x�"ƽl;{�'�r��aĒ�;�Q[/�
���z��
�5�2�C�
��XӿmZ�"7�}/�L���+e��s
�`oAĂĈ���ؿۉf�`��i���W�*Sl������ŵ
)�¸*-ͧ]*ӭ O5h�	�o6Œm��б�P���(�j^j&���[��d=��܆)�̳�ћ�ql�9��A�ɼ1n�����'
�h�O�,���R��{&�
S�0q�#m�$��
+i`#��F�u���R
9ݥ��
�ͽ�1��ע2m
V��:�	-K3��� WS+��`A��(`1��#Z�����G�Yp�<�r#�
����6֧�:FT9e�D� �.�����sN����30B9�3�Av:t�D�����}n�!d0�3A�[0|3!
�k
��
9�3ơ�m��~Ă5���P&\�{%�
ϻ�?迷��_��%�&m;H5.٤mT����[!�
�@�=�&@ !����@@+�Y[��+#�i��Je�Qh�ڡ#mG�$

�F�y�C��nU��ږ�Wz�Ҩ�V	�W�# 
K4I��"�d�Y�G���F
8\�_l"�Jb�A-;�ċ�0�����[�(��z&�,��J�q
��
�GU`u�N'H����P�3�]Z���V��	�t��X6�7�泡
���M5����
Ȝ�s�
+�
{R��s�ScS#�?���P����<�10 
+G��Ļ� r� ����@'��KE
������A'e!����i�����?���
�M�W>�W�
+S4�z���	|�1�j��R��U}�❨L���hX���˵���{
 I+�v��h@����'��$���<��E�IM�K�e�mh{�(zm�E1�ڠ�V�.{
iL�F�]�<�:� jև�������	0"��{��ߔy�9���Lzp������?|8oP#L�q
~�/��-��B�_m��ww�U����`�t`��G����v)���e�x=�;=�h�.�0��0a>�k�qX�_._R�
���
+ʛ�(�G�a�ݮ�4F
Pu�L�(�u5�Îc�k���ۻ#���[���Ah�h�ϱ��
��
��
�.�,;���
,�B

z�
?�L�m��>
+}�}g��)��f"��{���v
+� 4= ���#�
���\�4���e
��*@/*��P*�<���%�����
/dO���gI_�
�nӿt�����0�	֤e�]]��I���O�r(�Ҵ4_B�k�i�X�V
.Eڈ�<^�95 �Dq�!x�S�4_�V9eO3��qD>:��cv,N��v|
/̐�E{����ԨG�E�vz+R:(S��8�ϡ��G����2��
�ix��[��z�^�↿W7E
�
�y�=��\�c��τ
�v+�ª=Sz�zߊ\�?�
�+r�+��55i[4�5��~j��ŭ\lw��G�����ՌL��EZ���WD��g�� �Vj��0	
b�ܤ�{�r��N\
w
+;�8!&8��#��r
p�6Z+4_0h�шվ<�
��vN���A\w\��K�h
I�<B��5s�fy[�
vi�d�;5���?�2�߭ކ��S����9'i��v_	t��"���(
+&
+��
_X���,���J}O	�
QA�4��<A��n]��2��~��˻�ȥ}������
�����z����ht�X�_��&;�_�j���A
A��Mw��!*�˯���0���s��f�~��
D�s�M��\]
�5h_;���
+�vu����~�إ϶�

T����$J� Wv��
+endstream
+endobj
+1018 0 obj <<
+/Type /Page
+/Contents 1019 0 R
+/Resources 1017 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1032 0 R
+/Annots [ 996 0 R 997 0 R 998 0 R 999 0 R 1000 0 R 1001 0 R 1002 0 R 1003 0 R 1004 0 R 1005 0 R 1006 0 R 1007 0 R 1008 0 R 1009 0 R 1010 0 R 1011 0 R 1012 0 R 1013 0 R 1014 0 R 1016 0 R ]
+>> endobj
+996 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 461.216 223.166 472.12]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_a5fa6bcd4ec3cf844646033688f2fdf0a) >>
+>> endobj
+997 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.982 461.216 298.463 472.12]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+998 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 413.722 277.402 424.626]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_aaf38dc5a17ef89e16c45f363397afb59) >>
+>> endobj
+999 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.218 413.722 352.699 424.626]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1000 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 366.227 296.52 377.131]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_afabc584f4f391708d6c0d7c47030471a) >>
+>> endobj
+1001 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.336 366.227 371.817 377.131]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1002 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.682 366.227 489.176 377.131]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1003 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 329.692 285.96 340.596]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_a39db5035590b4bf7017a43cdcca6a49e) >>
+>> endobj
+1004 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.775 329.692 361.257 340.596]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1005 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.952 293.156 304.924 304.06]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_a1ef606afeb25edded051be3b0c728086) >>
+>> endobj
+1006 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.586 293.156 380.067 304.06]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1007 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.896 293.156 494.389 304.06]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1008 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 256.621 230.608 267.525]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_acad04388edea0d80b20c40266a3c3f14) >>
+>> endobj
+1009 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.423 256.621 331.917 267.525]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1010 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 184.103 244.456 195.007]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_abe5af687ddf08c6379bd115d210ac22f) >>
+>> endobj
+1011 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.271 184.103 345.765 195.007]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1012 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 147.567 221.203 158.471]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_a001b2a61c18a500a446151a9024de3fe) >>
+>> endobj
+1013 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.019 147.567 322.512 158.471]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1014 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 100.073 252.755 110.977]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_a474cce1b8348a126a8496cea7952a1f1) >>
+>> endobj
+1016 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1020 0 obj <<
+/D [1018 0 R /XYZ 90 757.935 null]
+>> endobj
+1021 0 obj <<
+/D [1018 0 R /XYZ 90 733.028 null]
+>> endobj
+415 0 obj <<
+/D [1018 0 R /XYZ 90 634.068 null]
+>> endobj
+74 0 obj <<
+/D [1018 0 R /XYZ 90 627.215 null]
+>> endobj
+1022 0 obj <<
+/D [1018 0 R /XYZ 90 528.816 null]
+>> endobj
+1023 0 obj <<
+/D [1018 0 R /XYZ 90 476.213 null]
+>> endobj
+1024 0 obj <<
+/D [1018 0 R /XYZ 90 430.741 null]
+>> endobj
+1025 0 obj <<
+/D [1018 0 R /XYZ 90 383.247 null]
+>> endobj
+1026 0 obj <<
+/D [1018 0 R /XYZ 90 346.711 null]
+>> endobj
+1027 0 obj <<
+/D [1018 0 R /XYZ 90 310.176 null]
+>> endobj
+1028 0 obj <<
+/D [1018 0 R /XYZ 90 273.64 null]
+>> endobj
+1029 0 obj <<
+/D [1018 0 R /XYZ 90 199.1 null]
+>> endobj
+1030 0 obj <<
+/D [1018 0 R /XYZ 90 164.587 null]
+>> endobj
+1031 0 obj <<
+/D [1018 0 R /XYZ 90 117.092 null]
+>> endobj
+1017 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F79 237 0 R /F72 207 0 R /F11 899 0 R /F23 172 0 R /F85 316 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1051 0 obj <<
+/Length 1867      
+/Filter /FlateDecode
+>>
+stream
+x��YY��D~��P�U��ܒ��
+�,��PF+�m�$t�,���K��ڋ�-^,M��������&���o/fg�B
�(�T� �A(	�Y�a
"�X��v��e��;U�j���i�~��EӮ�V�I[֫6�,�T���H�$U��N�U� �\Iٜ���of�_����ļ_�(d"H���� �� #G��p�N\w��ٯ3�l��jlr`#!!��!C���~�Tu���Kf�E��Z�z��|g�i�/j��b�c��hW��8���?b���?�ֺ��BF��
+�����\+M)��K�.8�T��E�B6O�*���?i��Tk�
�7
��Ò��5�ZCLz���z�¹��˲+2��Ч�Y�a��
"�[')i�6��U$�:s�(P�U����0!q�ɝ�j�M[ZKڭʝ� '�w{{���:���,��(
+�G�"��-�O�sl/%�9�
f��
#1��҇�G������'��?����GZ��|$���t�7�G�#G𑡅�
�G���=|�O���>��G:��%
>@9>�>
E�=9~!��%���\s1y}�����+�6��:}Z��'�=	�rU��y
�7��F�F����=)�QX>�j7� BD��B�n�3 ^�ˈ%��hڬ��	9�"�H|XI���#=]I�H��W��~o�Mzoo>�a�kdGqD�.�U�q��σ �	"|6�u ����e�B�V
�wH�
��yb�O���y ��-��)A���D7 ��

U��0��^%���ve�4�I�2K���4�#�ԝ�v at t��M���W��~ʓ)��nGl��	��
n�6Gc$% ���^�q��w�M���;դu^��7
��qם/�_Uʴ}2O
+-D����.k{��b�A�%�b~a�8�GI��U]�@|�3�%٫��Z��nF�
�	C���w��dXTb!��/OǮ�j
Ε�1LKpl��L�i�`p�•����`�h
s[������XͰO�,å�F��vj
:��p�z�]��B;w9m��n
�j�������qڥU7�2�qf)�5$��~:�]�2e���Z��:�0�^�B���%��j-���[{J�*����^{�V7��j]�l���IT]�ño&Y�v�w&�d�f:���S
��7'�|�
+����Z����i�K�4F)[�1ݩ/�5�H�Yd�.���MŔ��V%�&S�֡*�0�eՉ�&��xƟ
T=tq-���>
�}�0��W�Um�s����$�a�,/�]�9U	pB�
�>�������������#yC2����>2�	�-ʘ���~I�
�4ZJ�}+|���U
vI��qĤv7E��Y���]����_�'ЀC6��K���K4�k��4M�)t��D
�c���?b�"�X�ʤᝠ?}�p�
+vw.�X;��`��+���P�y{�1+FP9�3ַ]�˚��S�|��?�	ǜԏ�-��D�P�ӱ�-<ܩ��{$�k�١����df
M�aN"�q��a�bSt=�3)
��n��$F��$һ�|�N��t�*A"BG�ĴzK;��þ
���Au�v< #|!�J	ƹ�2�z 3I�)�$�m�5�KI�1-�+{W�'�Mxl~\q^�7tp�zp	��c�
4�ɦIk���,�K�S'�9g�͝�%���P��?�ݑ�1�0D���_!�k$�������r���"b$��(xn,���r������jw|�_�I}e/
-)6]�Q��h4$��((�0����SRt�n�o�nbm��#B�кd �R���?���L'G�(�ޅ۶��8;;
(mPW�U���
2��z�=J!�
a�o��ؾ�C^ qo��kQ����
+endstream
+endobj
+1050 0 obj <<
+/Type /Page
+/Contents 1051 0 R
+/Resources 1049 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1032 0 R
+/Annots [ 1015 0 R 1033 0 R 1034 0 R 1035 0 R 1036 0 R 1037 0 R 1038 0 R 1039 0 R 1040 0 R 1041 0 R 1042 0 R 1043 0 R 1044 0 R 1062 0 R 1048 0 R ]
+>> endobj
+1015 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 708.363 222.319 719.267]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_a526a2d8ad27e00b633408a36830dc2ae) >>
+>> endobj
+1033 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 661.354 223.973 672.258]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_af0b12578ecdb0571ca51ee09789b2fc3) >>
+>> endobj
+1034 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 579.214 238.369 590.117]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_aa1816497499ee569563a6d97a4ff553a) >>
+>> endobj
+1035 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.184 579.214 339.678 590.117]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1036 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 543.164 241.686 554.068]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_a1e3bb22af6b60660fcb8d201b09ec7ed) >>
+>> endobj
+1037 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.546 543.164 403.039 554.068]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1038 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 507.114 246.667 518.018]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_a249071ec2d19ecedaaf4e32ca8fc4a8d) >>
+>> endobj
+1039 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.007 507.114 397.5 518.018]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1040 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.672 182.704 330.933 193.608]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_a9af8efc183a5a4cd4475146207f92c8a) >>
+>> endobj
+1041 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.314 182.704 513.996 193.608]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
+>> endobj
+1042 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.18 134.699 513.996 145.603]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_a38ece4277d5885940d45d6c8465ca19a) >>
+>> endobj
+1043 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.412 122.744 298.094 133.648]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
+>> endobj
+1044 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.507 122.744 513.996 133.648]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+1062 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 111.163 163.61 121.693]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+1048 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1052 0 obj <<
+/D [1050 0 R /XYZ 90 757.935 null]
+>> endobj
+1053 0 obj <<
+/D [1050 0 R /XYZ 90 725.261 null]
+>> endobj
+1054 0 obj <<
+/D [1050 0 R /XYZ 90 678.252 null]
+>> endobj
+1055 0 obj <<
+/D [1050 0 R /XYZ 90 595.992 null]
+>> endobj
+1056 0 obj <<
+/D [1050 0 R /XYZ 90 560.062 null]
+>> endobj
+1057 0 obj <<
+/D [1050 0 R /XYZ 90 524.012 null]
+>> endobj
+1058 0 obj <<
+/D [1050 0 R /XYZ 90 472.578 null]
+>> endobj
+416 0 obj <<
+/D [1050 0 R /XYZ 90 354.973 null]
+>> endobj
+78 0 obj <<
+/D [1050 0 R /XYZ 90 347.743 null]
+>> endobj
+1059 0 obj <<
+/D [1050 0 R /XYZ 90 249.453 null]
+>> endobj
+1060 0 obj <<
+/D [1050 0 R /XYZ 90 197.58 null]
+>> endobj
+1061 0 obj <<
+/D [1050 0 R /XYZ 90 151.597 null]
+>> endobj
+1049 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F79 237 0 R /F85 316 0 R /F23 172 0 R /F72 207 0 R /F11 899 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1083 0 obj <<
+/Length 1735      
+/Filter /FlateDecode
+>>
+stream
+x��X[��F~��@�C��΅�a[Uj��JzQ�q��hE`�E�� ������a�xכ��>�p8�������ޯ�g����{1�Cz˕c/
+	�x��{�G��c�o����\�;Y����m���e���
ʱ��le�JRi
/�J�s"|�$B�Ϣ�����/����G�y�"ƽt3{�{���0b��n�P��{;�k���Ǯ�(
��"$B!H�A���R��q�y�
����.+��U�Bo 
��I���r�iU6�e�Hڪ�\����]C5
+B�-@՘s�+���RG3R�
�ʄ�}z�X�m$=�xhBS�`�qW�`
f�a�h�D
>g(���g���`+1���ޚ�je��t�@5s���;G����3*P���4{�
+	�q{�jBL�(n�uJJ���
4鉽G�]��#�coA)�I��X�f���| 6���	x�3
��Џ�UG5o��W�<��uR�Y��f����
+9Z�0
+]�@���� Ѹ@{�[��Ӝ`�����s�� ��Yo�U��-�v�2�N�M^�N*`_˲�%Eas��\Ȥ���`�@@dB�-4� 6���U}_�Aݧ��fq*uV�_��/�Aͼ�z.�1��v���P *PP������i�2���N��1�Y������V[��Q�Վ�_�#�B�9WP�#�`�
cf�=A�bAݞ��e|A"���I�𣀹�W��Q�
��{9woU���
����n�v�(�l�튽���h�$Yfw7jS�8��jJm�"��m���a�-�@h����CR�>H��N������hA&�^ӡ)���>�V���ԕrN���= 
���"�
+=
,
N�T����!��=��5��D����}
�.d���eB�'u�V
�ki� 2R��&
5,F����K���Oga��8� �gՑ*��_& .P$:ʣ�q��]븽W�#>J-
�� �����-g�|�9+F�m�+�`��%(|
��/-:���QP�
Dx�f_��~_�6�
i��
٤u�m�h�0� d�2-����з��!�ve�$��T��V�}��^
�$�7�
����4e%����H�]<�z*H0����3�THUe�-�R�P�>IS�"���|j��0, +U�׾VÛz��ǾN���d�|��s}֠���?j��C l������,�cdh��bp~����q�#�Ġ�{
����/]�Ϫt�
O4n�
�
}��7�ɾ_�R��AQ�0�:˪*�jN9L
+�� ���<�5H�@)K9�1��o��yyQ� T�:�X
j8�� sD�-��
�f��c ������'c
�������DHo'g(�ρ?NȊPt��U�с<�P�/�?u>�i
Q�A�ra���
"/;��Dպ��Z9�4���Q���ʾ���GY�����}\��(
�|m�z���c�Ks�i�0�P���c�tDB�7H�C8O1��a�wn�Q��	��#�ɓ�ɟ��<��E�%�=��l�<��t�<n�b�T�

�M�h�J�8~E�,�Y��c��Au(4zN<�v��!�#���p
���1��m��XO����+������c������ZR�w�Z�
�e����{U����HJ�\���ꗲn�N�!
+ �O���ҝ~�?y��h{�h ����v{~vvss����|[��=��
&�^
+�:u�
]��T���%,nt�
F
���d}d
+endstream
+endobj
+1082 0 obj <<
+/Type /Page
+/Contents 1083 0 R
+/Resources 1081 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1032 0 R
+/Annots [ 1045 0 R 1046 0 R 1047 0 R 1063 0 R 1064 0 R 1087 0 R 1065 0 R 1066 0 R 1089 0 R 1067 0 R 1068 0 R 1069 0 R 1091 0 R 1070 0 R 1071 0 R 1093 0 R 1072 0 R 1073 0 R 1074 0 R 1080 0 R ]
+>> endobj
+1045 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [150.623 707.957 513.996 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_a9c7ea131b285ad7aaefbc1e2cf579512) >>
+>> endobj
+1046 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.412 696.002 298.094 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
+>> endobj
+1047 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [318.302 696.002 513.996 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+1063 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.547 647.185 338.25 658.089]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_ade6bd909f8bb4bcdaed4dced85c1f5f1) >>
+>> endobj
+1064 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.507 647.185 513.996 658.089]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+1087 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 635.603 163.61 646.134]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+1065 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.221 561.815 362.589 572.719]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_a7f1fc328bf8f0d2ec92a6599ce7fe2d3) >>
+>> endobj
+1066 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.519 561.815 513.996 572.719]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+1089 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 549.86 189.622 560.763]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+1067 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.064 549.86 306.672 560.763]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1068 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.528 512.998 359.281 523.902]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_a7ac19545b812b9ed2261c4224a6b9e9a) >>
+>> endobj
+1069 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.519 512.998 513.996 523.902]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
+>> endobj
+1091 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 501.416 163.61 511.947]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
+>> endobj
+1070 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.243 464.181 346.554 475.085]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_a74f9a28eb09ee718502409ab43b657d4) >>
+>> endobj
+1071 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.507 464.181 513.996 475.085]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+1093 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 452.226 163.61 463.13]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+1072 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.07 452.226 369.765 463.13]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+1073 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 113.467 261.602 124.371]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_af6cb7e34c1083df796fb12aa463739e6) >>
+>> endobj
+1074 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.417 113.467 375.334 124.371]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+1080 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1084 0 obj <<
+/D [1082 0 R /XYZ 90 757.935 null]
+>> endobj
+1085 0 obj <<
+/D [1082 0 R /XYZ 90 725.058 null]
+>> endobj
+1086 0 obj <<
+/D [1082 0 R /XYZ 90 664.286 null]
+>> endobj
+1088 0 obj <<
+/D [1082 0 R /XYZ 90 576.893 null]
+>> endobj
+1090 0 obj <<
+/D [1082 0 R /XYZ 90 530.099 null]
+>> endobj
+1092 0 obj <<
+/D [1082 0 R /XYZ 90 481.282 null]
+>> endobj
+1094 0 obj <<
+/D [1082 0 R /XYZ 90 405.939 null]
+>> endobj
+417 0 obj <<
+/D [1082 0 R /XYZ 90 286.71 null]
+>> endobj
+82 0 obj <<
+/D [1082 0 R /XYZ 90 280.109 null]
+>> endobj
+1095 0 obj <<
+/D [1082 0 R /XYZ 90 181.637 null]
+>> endobj
+1096 0 obj <<
+/D [1082 0 R /XYZ 90 128.545 null]
+>> endobj
+1081 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F79 237 0 R /F85 316 0 R /F23 172 0 R /F72 207 0 R /F11 899 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1130 0 obj <<
+/Length 1986      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs�6��W�r�T�x �������3N�a�r�"$�B�\�J��� @��(ɶ�
r"ht���� ���������A�bAEp�b
HA�$�K�O��tF0Ɠ���-�e�V�\��6Z��u���(Ǔ��V�"�+��Z�zJ���
3D��	����}w�ϻ���X H+�K$櫛O�� ����X
���*)�g
|���
v��}%��)A�DFH��j���ߍ
>�8��5���K��m��Q�PS�'�����>�V�jU�� 3�7��Q	��:���
(�S�1�$6��a�L�=#�(�Hק�7�
2�u7���ƉЌ�1"
�`F��	�Ygy�ؽM�4��|R�@{U4YY$��Ӻh��HL���Ab��VU7e�ڗM�i5���9ti��v]�g��S&'�i�)"�S��!,��v�M"��A��ڙl`��
+�8�Q�8�/ 
���-�r�k>���B�"�B�}q\K!E�����
b� ���;�\�_�
#����Py
�a4яba<i�b�+]�}�Z��Q
]�N��oe�o헤\mݧ��۸=�������|�

�A����s�$��s�e�S��7�L#� �;�� �����)�*
��hG�RqL��.|
��H�=5�������5�
b���d��_�|FYptѐlf]�]]ǻ�*�c�E,#C�A�����p�+��
���k�����(�0��O(�;I�P�n	߬π�>w̲܁�}e�*�
wfD7�
G�N!!	��<n1,[%M�-��3���An���Gi�Pt
��@S_}�nM5�u
��
&�y<�>��>�>��*�0!�s�V
�#J<w���E
�p�����r�TA�V�1������!h+B2��b��S�gi�_����
�Oe��u͛/Ƿ9&>_Џ��}��1%x�	k��
@�v.�*�Ԧ9���J;h�M���ܾ���Iz��]>���s�4*=���� �3�8d�3x2���n]�5� �z]��W1�T���4[l�4�v�\#�ٯ1!��ƈQqz#�8��TPM���j��k�ج�d�
�����?]�Wz���:���6�32�;��]�r�9��_��Ք����(�n5B#s��s�
hv[3�\���aX�F`��Tc��GH0z6c�,T)��)���=��!��Z�?(����oۢ�'�O��2�y�zJ���h��	
+Itz���c�U�N|�|�1PQ3]gOY��������^��v�՛�i=�
�)&W@���d<��Zf�LpvMt���e�p�Gݚb��#� �Df�j	ḣ�z�0 �lb��JX|wrf�e�$�鳪��������K��(|
+��씆1����c!F
��"Ǝ9�"=��� 6ӝ�2��� \%]_O՝/_ \�����	/�-吪�7��?����va���Lx��2�G�2t
�1�7f�7�"I��eN�F��
i�NW*5��O2d�j�342킴��<T��n�L��lU�
+�F�h�6����Β����ƃߞ��X
O����I��Ǥ:R�+�%
&E8��P����'4t`:+읐�[���˯�Z�]m��X���)œu��KY�u
���WֆR *�3k���_�&<��9���\2^�����瓿���F
�벰�Y��1c��${A����(�tQ�9(���./�/,��1r��D
E��'.ŵ"Z��̬q/d
�I��Z�}k��
���a�ӓWr����r�&�s�h�"�����
oVt��
Xַ[w��lMRo��\UxԱF1�����/����y��a%�\m_��>�9�������
ŒE�O*<ޕ�w��~i��z����2�>��v?�
jc��][R,��R���b���6���sc��
�:�w������~`D��
}UGF��A����1�ie
ٕ=�ZW_��n64oкȪe��u{�v�`��a�G�UY�c
�Դ	�ߥ�Ø4{
+endstream
+endobj
+1129 0 obj <<
+/Type /Page
+/Contents 1130 0 R
+/Resources 1128 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1032 0 R
+/Annots [ 1075 0 R 1076 0 R 1077 0 R 1078 0 R 1079 0 R 1134 0 R 1097 0 R 1098 0 R 1099 0 R 1100 0 R 1101 0 R 1102 0 R 1103 0 R 1104 0 R 1105 0 R 1106 0 R 1107 0 R 1139 0 R 1108 0 R 1109 0 R 1110 0 R 1111 0 R 1112 0 R 1142 0 R 1113 0 R 1114 0 R 1115 0 R 1144 0 R 1116 0 R 1117 0 R 1118 0 R 1119 0 R 1120 0 R 1121 0 R 1122 0 R 1148 0 R 1127 0 R ]
+>> endobj
+1075 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 719.912 334.099 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_aed43bafe74e2b291d7b980c6ee8f3d5f) >>
+>> endobj
+1076 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.915 719.912 447.832 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+1077 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.501 683.84 342.466 694.744]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_ae5f214d520a1f232251bee39685b62a2) >>
+>> endobj
+1078 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.676 683.84 459.593 694.744]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+1079 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 683.84 513.996 694.744]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1134 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 671.885 208.989 682.789]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1097 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.316 624.853 374.601 635.757]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_af03d1a4f7f355971ac31ec1e4cb7297d) >>
+>> endobj
+1098 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.627 624.853 489.544 635.757]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+1099 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 612.898 261.024 623.802]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+1100 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.675 565.867 382.518 576.77]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a68de3cffc4bbfa2a79c06c51adb653a8) >>
+>> endobj
+1101 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.903 565.867 496.82 576.77]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+1102 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 553.911 261.024 564.815]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+1103 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 517.839 269.043 528.743]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_aa8fd21a451fe377a328d750951ce36f3) >>
+>> endobj
+1104 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.859 517.839 408.788 528.743]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+1105 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.653 446.594 319.422 457.498]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a8cba47c10a4d9a84b170b37932dc04e5) >>
+>> endobj
+1106 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.785 446.594 464.714 457.498]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+1107 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 446.594 513.996 457.498]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1139 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 434.639 190.738 445.543]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1108 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 398.566 270.159 409.47]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a8ce02af4c13862f7988ad3e43b5290cf) >>
+>> endobj
+1109 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.975 398.566 409.904 409.47]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+1110 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.127 362.494 271.261 373.398]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a5a6326e465cce738cb09fdd8df1d92ba) >>
+>> endobj
+1111 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.098 362.494 415.027 373.398]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+1112 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [437.852 362.494 513.996 373.398]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
+>> endobj
+1142 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 350.539 223.943 361.443]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
+>> endobj
+1113 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.915 314.466 265.449 325.37]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a2c60071e2c7adec51fc7175ddb7a3bff) >>
+>> endobj
+1114 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [275.074 314.466 411.003 325.37]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+1115 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [437.852 314.466 513.996 325.37]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
+>> endobj
+1144 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 302.511 223.943 313.415]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
+>> endobj
+1116 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 266.439 259.639 277.342]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a56b9fe489466e7376b72bc99b4f99126) >>
+>> endobj
+1117 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.455 266.439 399.384 277.342]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+1118 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 184.235 264.61 195.139]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a3ce50d0fcf796935652563144194ccf7) >>
+>> endobj
+1119 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.426 184.235 378.343 195.139]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+1120 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.092 148.162 324.496 159.066]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_ae88c914d522014d2d181278bcfa9222f) >>
+>> endobj
+1121 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.297 148.162 442.214 159.066]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+1122 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 148.162 513.996 159.066]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1148 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 136.207 182.977 147.111]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1127 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1131 0 obj <<
+/D [1129 0 R /XYZ 90 757.935 null]
+>> endobj
+1132 0 obj <<
+/D [1129 0 R /XYZ 90 733.028 null]
+>> endobj
+1133 0 obj <<
+/D [1129 0 R /XYZ 90 700.743 null]
+>> endobj
+1135 0 obj <<
+/D [1129 0 R /XYZ 90 641.757 null]
+>> endobj
+1136 0 obj <<
+/D [1129 0 R /XYZ 90 582.77 null]
+>> endobj
+1137 0 obj <<
+/D [1129 0 R /XYZ 90 534.742 null]
+>> endobj
+1138 0 obj <<
+/D [1129 0 R /XYZ 90 461.475 null]
+>> endobj
+1140 0 obj <<
+/D [1129 0 R /XYZ 90 415.47 null]
+>> endobj
+1141 0 obj <<
+/D [1129 0 R /XYZ 90 379.397 null]
+>> endobj
+1143 0 obj <<
+/D [1129 0 R /XYZ 90 331.37 null]
+>> endobj
+1145 0 obj <<
+/D [1129 0 R /XYZ 90 283.342 null]
+>> endobj
+1146 0 obj <<
+/D [1129 0 R /XYZ 90 199.116 null]
+>> endobj
+1147 0 obj <<
+/D [1129 0 R /XYZ 90 165.066 null]
+>> endobj
+1128 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F23 172 0 R /F79 237 0 R /F85 316 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1172 0 obj <<
+/Length 1971      
+/Filter /FlateDecode
+>>
+stream
+x��Ym��6��_�L?��:I �2Mg�K��4���S���m�\��\~}W/`��|v����X�˳��b�-=��6��zrqcO �Ȼ^x{qD�Ļμ�~���`��ͦ�_V���2��6YNg�a�y��z���||-���]�D�8�1}�b��z�����#�$�8`^���}��
�_x�{7z��
i ��{3�k���x�=����1
��1�
�L�=罝10(/[��ԩ�V��z�2EY�W�M
;����mZ����x��W���Ve3"lގ����Ew��	���Q��E!�f$@"��ٯ�ڍz�⊳����f�'����H�
m5"C J�nG�fն
�PDa�nC���,r"9
	��
L$<O$'�����g�,�d�2��ήwf�cA�';�2Y?zX�o���!����+[��GY�[ ƦÆsF
+b�?g�a����J�A���zD · �H�.8j���ƾ-�sY'EQ�3�?iefV���\N	�9�7U�ڐš�t���)a��|�s��A��v[��ԏy2�?���Gl��Y~>L�ϻ�N�4���v��
���䞲�
QAN/�G�30����)o#�آ��2��\Y�I�W]�Z���@�	�� �{@؈�(�߶���}tU�}�΄+�G�~!����Ы�`�9a��k
�E=
�_��Dq��q����7
�TId<�f!E��nD`��!�l�����S٤u�Ѧߍy!
+Ba�\O9�o7R9F�����b[�J�^��EU������h5h:
8��5���C"�EA��R��c��N�2J��,��6tZ�ՏDЏ(�o�Z�5},v���&�6��b�y���B'z��@L�X�i����뎕eU�]�P4�k��u�������,e�kȋ0貿E=[[�Z�-��ܐ�a YEb�YM���J&4y�|��^Ğq>5Eϊ
�z��,�I��Š�� dCW�@� ku���Y����i�ͬ
�
v� ŢO�Fd�t
�uq���}�<
���u����æ2`����x@�1;_�b�����
��ßU�%�*i{ 5v1��MY�/�r���y��ѡJ>4��f
+B�RQ�z��U��F�K���R��^L��٭�i�o!��
�$�+/��Z)u6
��/����v����&
���Mzh(��L��K���g�6�?W�ݦ�
/��g��q�B��S�/+�P�S(�!���h.�!hH.M��$�\�R8�!rDU~��:Ỹt(�@	{P�@��H\���'�Y3Å���#�l�0\�G�G�sD� ��%{
 ���(�ʶ�:7փщYZ���4�������{Z�9�2ˑ�&Hl�uF1p�Y���yJ~�I��U����a
n�=�!ɛ!3s[Y?�p���w����
0��{笱��A��)��2�4�����nm��u5k�E�����`��,B<b����?`��w
N�Sƻ����l�_5��$
+i�U�~�_�>s��
H�BZĝ:A��q�wiH� B��\�*�[ ݨ���e�����f�P��J��,u٬�,��*�ujQ`�!wS���3
��)y0��/�{LQH�wB�"ΪZ,����o��X9��2���
Lb��
P"i�4�GQ�]���('\ �o ��
+�G�f�
��܃rm���9�-����MiC�4�a�V5�
hm	
���{-EY�fP(}�a��q.������^�w
��m����d�0
2,Nj�'u `���r_���� VO�1�"�Z��1a"�_��cv�M��P#�G�#?�~/���aJ6��2�4�����}��o�_U��Jf���2�P'��]K��6Y��D�D�����jt���#){ڤ�Q
)�]���E�l2��]����x���=�@t�ī��<�����Ai��e��Q�^@
.�Nq;)����������4/aq�ߦ��(�7gܷ
+endstream
+endobj
+1171 0 obj <<
+/Type /Page
+/Contents 1172 0 R
+/Resources 1170 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1032 0 R
+/Annots [ 1123 0 R 1124 0 R 1125 0 R 1126 0 R 1149 0 R 1150 0 R 1151 0 R 1152 0 R 1153 0 R 1154 0 R 1155 0 R 1156 0 R 1157 0 R 1158 0 R 1182 0 R 1159 0 R 1160 0 R 1161 0 R 1162 0 R 1163 0 R 1164 0 R 1165 0 R 1169 0 R ]
+>> endobj
+1123 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 719.912 276.804 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a19d1974dd5b293a48b8f2de6fa3c2c8b) >>
+>> endobj
+1124 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.62 719.912 416.549 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+1125 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 683.05 280.122 693.954]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a45fb5ebe8a9c33d1e73593b09d8ab877) >>
+>> endobj
+1126 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [343.982 683.05 479.911 693.954]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+1149 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 646.189 285.103 657.093]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a3b54824f0f53bf664c3114fb67557115) >>
+>> endobj
+1150 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [338.443 646.189 474.372 657.093]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+1151 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 609.327 291.19 620.231]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_abeb7cdeabf40c32d3aa0c33c0499bf97) >>
+>> endobj
+1152 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.006 609.327 430.935 620.231]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+1153 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 572.465 285.651 583.369]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a86691cc44e4ef41d379ec2477221f0de) >>
+>> endobj
+1154 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.467 572.465 399.383 583.369]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+1155 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.571 256.62 226.746 267.524]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_a6d24fa81c885803e34fadd9332287d2e) >>
+>> endobj
+1156 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [230.027 256.62 305.623 267.524]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
+>> endobj
+1157 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.525 256.62 453.251 267.524]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1158 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 256.62 513.996 267.524]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1182 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 245.039 178.862 255.569]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1159 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 196.844 293.581 207.748]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_a6871446de8be708c37b2bedbf12c9b76) >>
+>> endobj
+1160 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.397 196.844 372.993 207.748]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
+>> endobj
+1161 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 149.024 315.678 159.928]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_a08a4701b629d734ea0e11231a34514b0) >>
+>> endobj
+1162 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.494 149.024 395.09 159.928]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
+>> endobj
+1163 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.716 101.203 304.36 112.107]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_ab67c8dacaa1610fe5ea9efe67263477d) >>
+>> endobj
+1164 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.786 101.203 383.382 112.107]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
+>> endobj
+1165 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [402.546 101.203 504.154 112.107]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1169 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1173 0 obj <<
+/D [1171 0 R /XYZ 90 757.935 null]
+>> endobj
+1174 0 obj <<
+/D [1171 0 R /XYZ 90 733.028 null]
+>> endobj
+1175 0 obj <<
+/D [1171 0 R /XYZ 90 700.151 null]
+>> endobj
+1176 0 obj <<
+/D [1171 0 R /XYZ 90 663.29 null]
+>> endobj
+1177 0 obj <<
+/D [1171 0 R /XYZ 90 626.428 null]
+>> endobj
+1178 0 obj <<
+/D [1171 0 R /XYZ 90 589.566 null]
+>> endobj
+1179 0 obj <<
+/D [1171 0 R /XYZ 90 537.138 null]
+>> endobj
+418 0 obj <<
+/D [1171 0 R /XYZ 90 429.863 null]
+>> endobj
+86 0 obj <<
+/D [1171 0 R /XYZ 90 423.263 null]
+>> endobj
+1180 0 obj <<
+/D [1171 0 R /XYZ 90 324.791 null]
+>> endobj
+1181 0 obj <<
+/D [1171 0 R /XYZ 90 271.699 null]
+>> endobj
+1185 0 obj <<
+/D [1171 0 R /XYZ 90 213.945 null]
+>> endobj
+1186 0 obj <<
+/D [1171 0 R /XYZ 90 166.125 null]
+>> endobj
+1187 0 obj <<
+/D [1171 0 R /XYZ 90 118.304 null]
+>> endobj
+1170 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F79 237 0 R /F85 316 0 R /F23 172 0 R /F72 207 0 R /F11 899 0 R /F92 1183 0 R /F91 1184 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1218 0 obj <<
+/Length 2050      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s۶~���ۡf" 	^ҧ6�ϤM�4u�IG���)o����]\H�m+�����$.���^A�l
�����˫;1�8�k'�N�(q�S��`�$c���՛��ԝ(�j�f��
��V�k���Q�E� ��f�	��������.��������C�J,D�ǜ$���;vR���ȋ#�N��
�zp͜_.~��v��W�E�D�E�+.���ېz̰�M'��Y,=�\]|7�1�햷��?��7�Z�ry�����n�J��2�C^�����{W�V4fn�oy�f�
�˺ߕ
)Ă�k��JR/����<;=3<M��fA�ff�K�3� n0�Yl�Y��Q����^.�X0���󐏉� ���gJل��i� m�h��J�����'x�(83+�4rS�����|�O\��3� ���QH�$�W�l����i!!?�@��nq��	l�̊� 爄
�N��Y��ZK�1�����W�|�Uc��5��>�)EX[`��9DD m��i�:1�$�g�M;G [...]
���o�
�n�F����
��<�)��d�]�O5����q�zN#
b;��[i�����n�V��r������,RY�ha�J�R���Yf�E��,����3��>��� �)
A���(�c�箺"ieY
�S~Sݽ-�����P�r}��� �)H�g��T� �#P5D�U*sQ4��Y�����7�j�}��3���
("x��g�=�É�|��K~��@�����Sk�͆\��9O��(<U>c�ѝ��1�U`nwz�
��)�}t��ΐ�(��8C@-)�zA�RM�(@¢�$`Sk?� dO����V���K
Ao���E�7���H�����d�N��
>}y��� J �Y�Nq�t�ג��F�
W8��LdqDj�<Dw�vZ�`���'�4g��,�e^nD!ʮYA�����М����4U)�F�Z��E+�N��x�
+[`��	T ?&�U^�]�5�'H�_��~1���K�x��1"�;S #�!�<]U2R�O��k+����j�L3S��nU6����
�B�ccﵙ"g+�����P
J��0����"}�
W"]^��qm�n�[
oe��o���P�
���̫L�*~��6�S
�*
�h�6_��Ж+F*�XB�����XD`[����D����V�[��lz�9+8"�OngC}qw�sK�j�T���6b���Lw�t�+n��V�f(�e���Y�QQ�+��۪k/�Z��v���Xm�rU�0�o������6:�壐�-���[}��Ӵi��5s����3�91C1T��󚠻��ʻz��[�ϤP%,@��/)T��<?"�K�E(b�l��6?6���J�����
��91h���	�3@
o��M��ˢ=؀�p8���Qw�HB�?
��b�8��kYV&K�k�/txkkG���dz�Re
�ж1-íLT0��(،{�*��To%��?
 ;��|���žyځ)��y�?�$R��.����
p�`�|�/w�G#���C�[�?ݰ�G�c��ʶ�!O��Zq�Ch���b���*G��p��L��OY�����H�U��I
ES$�~O�$@��6�v>G*B�?�"<�g���1U���$
N����oE�e�;Ϸ�IjY����D%X�ڠV�)׋����V0�%
&�zt�㦄��]i�’ƾ{��
+x�= C�d�,3Pե>E�����
�0�Vƴ�a�	�zQ��i3Hy��<�'L1� 'I����ԲFT}��I�O�5�X�3����������
Y��:�K��%�Z��P��J7��Kc(PY��>�ft(YmO!8C���Y��{�\
�������8�
�oSX����l^�6[�Pf�[���񽼩ym���1^l:��/X&
����b���^t<[
��V-)��1F�(od+�_D�+��p���E�W�Y�+޶m������%
�
+Y�H�� ��ÂwG��C�2 (/�˪:!eh_K]�3
+endstream
+endobj
+1217 0 obj <<
+/Type /Page
+/Contents 1218 0 R
+/Resources 1216 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1032 0 R
+/Annots [ 1166 0 R 1167 0 R 1168 0 R 1188 0 R 1189 0 R 1190 0 R 1191 0 R 1192 0 R 1193 0 R 1194 0 R 1195 0 R 1196 0 R 1224 0 R 1197 0 R 1198 0 R 1199 0 R 1200 0 R 1201 0 R 1202 0 R 1203 0 R 1204 0 R 1205 0 R 1206 0 R 1207 0 R 1208 0 R 1209 0 R 1210 0 R 1211 0 R 1212 0 R 1213 0 R 1214 0 R 1215 0 R ]
+>> endobj
+1166 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.709 687.556 313.911 698.46]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_a2845e4528b7b42c6c6527daceee21312) >>
+>> endobj
+1167 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [318.329 687.556 393.925 698.46]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
+>> endobj
+1168 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.388 687.556 513.996 698.46]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1188 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 641.772 234.723 652.676]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_a0399dc1a987546af5d0491e72a6a05e4) >>
+>> endobj
+1189 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [238.538 641.772 340.146 652.676]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1190 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 576.699 279.554 587.602]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_a5e1c7e98053b2262c5f56c46e2f04f05) >>
+>> endobj
+1191 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.37 576.699 384.978 587.602]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1192 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.881 576.699 478.237 587.602]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1193 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.49 542.87 256.12 553.774]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_a553952be8bff48ab2a4a8b2820efc047) >>
+>> endobj
+1194 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.32 542.87 364.928 553.774]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1195 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.446 542.87 465.803 553.774]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1196 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 542.87 513.996 553.774]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1224 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 531.288 178.862 541.819]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1197 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 497.086 297.268 507.99]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_ab76a7c2b32bbc5472f87b3fae17f5a0d) >>
+>> endobj
+1198 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.083 497.086 402.692 507.99]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1199 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.594 497.086 484.075 507.99]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1200 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 463.258 245.253 474.162]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_a10d11983038c7047547f4a68f8ea2b70) >>
+>> endobj
+1201 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.069 463.258 350.677 474.162]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1202 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [360.58 463.258 432.061 474.162]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1203 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 429.429 225.318 440.333]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_acaca085247f8483085877e21527a9cd6) >>
+>> endobj
+1204 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.134 429.429 330.742 440.333]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1205 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 353.397 242.484 364.301]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_af61686ed9ede21b05016ee29f9de882b) >>
+>> endobj
+1206 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [246.299 353.397 347.907 364.301]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1207 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 319.568 245.801 330.472]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_a4ea3e6a8b8e929e318a5c1c450667d10) >>
+>> endobj
+1208 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [309.661 319.568 411.269 330.472]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1209 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 285.74 250.782 296.644]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_add70a09fb9b3cb0b8b7ce79d8d9ec14c) >>
+>> endobj
+1210 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.122 285.74 405.73 296.644]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1211 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 251.911 256.869 262.815]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_a29295feb65378f2ba04c202f4b9a1bb3) >>
+>> endobj
+1212 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.685 251.911 362.293 262.815]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1213 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 218.083 251.33 228.987]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_af39f78c492db753013cbfd0177ffea60) >>
+>> endobj
+1214 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.146 218.083 330.742 228.987]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
+>> endobj
+1215 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1219 0 obj <<
+/D [1217 0 R /XYZ 90 757.935 null]
+>> endobj
+1220 0 obj <<
+/D [1217 0 R /XYZ 90 703.898 null]
+>> endobj
+1221 0 obj <<
+/D [1217 0 R /XYZ 90 658.115 null]
+>> endobj
+1222 0 obj <<
+/D [1217 0 R /XYZ 90 591.019 null]
+>> endobj
+1223 0 obj <<
+/D [1217 0 R /XYZ 90 559.213 null]
+>> endobj
+1225 0 obj <<
+/D [1217 0 R /XYZ 90 513.429 null]
+>> endobj
+1226 0 obj <<
+/D [1217 0 R /XYZ 90 479.6 null]
+>> endobj
+1227 0 obj <<
+/D [1217 0 R /XYZ 90 445.772 null]
+>> endobj
+1228 0 obj <<
+/D [1217 0 R /XYZ 90 367.717 null]
+>> endobj
+1229 0 obj <<
+/D [1217 0 R /XYZ 90 335.911 null]
+>> endobj
+1230 0 obj <<
+/D [1217 0 R /XYZ 90 302.082 null]
+>> endobj
+1231 0 obj <<
+/D [1217 0 R /XYZ 90 268.254 null]
+>> endobj
+1232 0 obj <<
+/D [1217 0 R /XYZ 90 234.425 null]
+>> endobj
+1233 0 obj <<
+/D [1217 0 R /XYZ 90 185.713 null]
+>> endobj
+419 0 obj <<
+/D [1217 0 R /XYZ 90 84.505 null]
+>> endobj
+1216 0 obj <<
+/Font << /F70 205 0 R /F79 237 0 R /F85 316 0 R /F56 171 0 R /F23 172 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1255 0 obj <<
+/Length 1874      
+/Filter /FlateDecode
+>>
+stream
+x��YI��6��W�!2sH�ڦE�&i��
����F�m!��H�8����i�&����$��
�������o�����+[!
+=dz�K+Ė��:Ě'�;�G�tF0��v�-^yU�Q�׋뻪�E,Fi�˨.�E
��3����
��Q���_�rJ��b�8�lF��o&��'�&������)u�x3y�[	���0�a`�媍�

+�̺��=�YA��:F�"칏(
�p���::���a��P�:�ؾ��J�
�zY��NaK�Y��E��z�"WϸaW}W��
+)|�� ��0��i
g�D�JHg�K�z�j�O#�@g �^ �/�<Jx��#����3��� ��"�RkF�PT[�gQ͵b^5�9������6L��j��+=��%/��onx90R
+�P�9�0D|*�`T�����5�3E���JW��s5f����n9	E̅M������~���\��@�T��']�bGa��O
���p�P�;��JY�[Y��"�5�1�#�g(
H�8��d��
+�G�I�Q��m�R��<ߥYb<R�O	�H}�+h
RL	I���/a�Og
��AdaH�%�$��6�4�A��cp��AWX�I]� .i\���
t�
��
��A��� ��bY�Ϊ)���kx9�b�〜�i��@F�����H�+`�\�>;�3�����
�zȃ�9�
�1�aʨ��/F��W�*�ʹJ�D�3.�w�X�����n43�j�!BT�����:
/CK�a_�j_�4;�r6�b��I�@E�|�
�ё���(���֧�δ�z��$Tn�4u�מ�<�&��W�7$�c�[UƧ��):ަ
+�~�P�#��eS�tʾ�<4�^N�<jpL�yW�h� ;
�	�C���<��!��.�8|
��Lx�k~>:�9�_F�!x�H�G �:�2l�FY�DM�� FG�C�x|�~/ǢCN���T��D��f�j���ZK

�E�4=�
+�O�!�O�L��p}
��.�2�
+7��sƣ�'_��=;�
`hg�7�z�{���v���/V��~o�h��_?�i���OC���CE�C�uR�
=��4��M��G�{"�&<)�B�ł�ʲ�K&��ü�
+�T.��9�9����H�ӋȢ�i�v��Z�������:3�9�978���pG]c�cԆ�� ���}�!�/<�
R�i��
�<D�{�?<J���g`= �=
xU1<B1-�mBWO�A������
ܙ�-T
���9\���I�S�������7 �׻RT�4�J<�EQ떫/`���d%��R���.դjЂA-

5ő�A�6V�:�Jm�y��oM��{�j�P�6gOwG���G�%�-*c���
��C�)�^kN��}��B�p�f?B�$�{�iX긐�D������}����Q���,2.ӭ8 =�
B���(
���b\5�0�9���
[
wϱ�xs�=s}j�%@`�6;f'��S`v�$CRj�{^���-
Yy�	�f�Q2+rQ���(�Q���"���Z/��T�`=-�7��zt�b�i��܍� �W
��X�~��Q�A u���C��,�ɪB��e��c��!FA[B!EV��Mun"R�;!|$�ӿ�h�����ǽ���+�
�D�s�A�YYV��Ŧ��
+���e?���E
iv���݋�����2�Y5��� @S|⍔���z(�!u��u�@�o�Aʍ����ݚ'���#�)�Rw/�X��vъw/�z�����S!���QAj�
�ߊ-yY56È��)��[P�����y5�J�0�m��������~�Gq�vy�-QZ_��/���
+�,d5�A���ۤ9
n$���J�����
+endstream
+endobj
+1254 0 obj <<
+/Type /Page
+/Contents 1255 0 R
+/Resources 1253 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1272 0 R
+/Annots [ 1234 0 R 1235 0 R 1236 0 R 1237 0 R 1260 0 R 1238 0 R 1239 0 R 1240 0 R 1262 0 R 1241 0 R 1242 0 R 1243 0 R 1264 0 R 1244 0 R 1245 0 R 1266 0 R 1246 0 R 1247 0 R 1248 0 R 1268 0 R 1249 0 R 1250 0 R 1270 0 R 1251 0 R 1252 0 R ]
+>> endobj
+1234 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 576.165 314.741 587.069]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_a061420fd93cf031e877897142071c67d) >>
+>> endobj
+1235 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [318.557 576.165 481.613 587.069]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+1236 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.849 540.458 483.414 551.362]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_a60ac68b3806bdf2e8b4805d661c52def) >>
+>> endobj
+1237 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 540.458 513.996 551.362]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+1260 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 528.503 270.438 539.407]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+1238 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.842 528.503 484.911 539.407]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+1239 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.57 481.838 487.693 492.742]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_adc0293455632f1e58de03ee68caa785a) >>
+>> endobj
+1240 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 481.838 513.996 492.742]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+1262 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 469.883 270.438 480.787]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+1241 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.543 469.883 476.612 480.787]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+1242 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.173 434.176 338.25 445.08]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_a18f6401539b34122053f5d76da0c3282) >>
+>> endobj
+1243 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [358.132 434.176 513.996 445.08]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+1264 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 422.595 163.61 433.125]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+1244 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.84 351.984 349.582 362.888]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_a93c2b042e4c644ba6052c0a0130c74ff) >>
+>> endobj
+1245 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [358.132 351.984 513.996 362.888]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+1266 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 340.028 163.61 350.932]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+1246 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.051 340.028 274.034 350.932]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1247 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.277 304.322 342.404 315.226]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_abd830cdbf47ea1e5f0cb88ba4e3dddd7) >>
+>> endobj
+1248 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.392 304.322 513.996 315.226]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+1268 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 292.741 129.857 303.271]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+1249 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.869 256.661 346.554 267.565]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_a9427aa22f07ee35e906d05bcd352e1e9) >>
+>> endobj
+1250 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [358.132 256.661 513.996 267.565]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+1270 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 244.705 163.61 255.609]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+1251 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.07 244.705 363.139 255.609]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+1252 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1256 0 obj <<
+/D [1254 0 R /XYZ 90 757.935 null]
+>> endobj
+90 0 obj <<
+/D [1254 0 R /XYZ 90 733.028 null]
+>> endobj
+1257 0 obj <<
+/D [1254 0 R /XYZ 90 642.313 null]
+>> endobj
+1258 0 obj <<
+/D [1254 0 R /XYZ 90 590.954 null]
+>> endobj
+1259 0 obj <<
+/D [1254 0 R /XYZ 90 557.27 null]
+>> endobj
+1261 0 obj <<
+/D [1254 0 R /XYZ 90 498.65 null]
+>> endobj
+1263 0 obj <<
+/D [1254 0 R /XYZ 90 450.988 null]
+>> endobj
+1265 0 obj <<
+/D [1254 0 R /XYZ 90 366.773 null]
+>> endobj
+1267 0 obj <<
+/D [1254 0 R /XYZ 90 321.134 null]
+>> endobj
+1269 0 obj <<
+/D [1254 0 R /XYZ 90 273.473 null]
+>> endobj
+1271 0 obj <<
+/D [1254 0 R /XYZ 90 199.546 null]
+>> endobj
+420 0 obj <<
+/D [1254 0 R /XYZ 90 82.627 null]
+>> endobj
+1253 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F72 207 0 R /F11 899 0 R /F23 172 0 R /F79 237 0 R /F85 316 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1306 0 obj <<
+/Length 1848      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��F~��@�Cm)��
3 at RUj�n����d�>$����F�� ^���=�
cl���*O
̜���ˀ����?/nW��<�	*����a�qJ����4t�;��p��'/�$/2?J���M^�Ť�g�1�x�:)d6��o?ȩ�F�
�DMW8bh�ї�7��o��)7�r�����l�0��ˆy��.�ZX6ep������#<!��V�S����
d���e%l������mnF.
n�2�_�I��U�jn�L�Z}����H���흈���N?EI�B#!�79CX
��Y
�
��A��\���мg=�!���_�zm����e�3�01�� c���׵��3��]Zs��F27�~fIj
.��Vf
k#X��H��R];
+��b8���� YE��O�¿�y4K�rW��W�zuk����!��&1l���R����i��
+zZQ#��|(_P;*�%rD�p�
���eսK�cEG�^�
��*\|Ƙ���F�Kj��!�x�
�	���.�
�
�ƙ�ƋU�5��U.�ŦM=N�m��*ͺ�\gQQ�U_��0����kT9���a6b�P��.o�N�@�y-�
g�
+�H���

�>�%�2�_J��d�N�h1�v~
d1�Q襐�0� I K_@�͇���IŏM X%�_D�%��m�m��"�c�C���IԳ� :�G at 7��Ek���Zࡨ��q�j���{z at S����D��Ջ`H�*���J;۔�}$
�
�*����Q[eQ=ȣd�"M�m��+��yO�#}�&�F����~a�1���K�J�u��"�A,G̩�
�����l^�G���J	�T--N]�Weq
7F�d���@s��X��{/
+�����Q�p�	�h��L�T
~�A/��`� ����һ���J�m&j�
��e~^RQ�
+��DDCC�ܔ�0�z�׷�~j���&�V��
+��	y���F
�$�F�:Y	C65(�z�敒k�W���ּR:
�՘��l�w?���Lp.r G���x^	2�l���=�w��QF�0/�{-Z@�%�H�g'e+�em�Gݭ�^��p��C��
+  i�\����:
��K`��"�bX��3·R�<W�P�T՗M
\���dd��G�_͵�M$���K��Ma�?�w�G�pW�#����:"�W��|�C��2��i�e��6s��(�YGql�U��;�+?�j�[��8�~.�È�s������@
Ri�����Ss���t�S��iM7
M_v�z�s��@J��|�rRwf;!��@.%9XY�;Cka'�f)�=B�r����5��~9Ԩ�S�[�ho�c6r�h�衒����Y��N侓剙fٲ>s�I��;�-c\$}@���
�r��yw�u�A�c^�:�-VY'
/�-Etg��K�ge�4~�z�OL�M��
a\c�t�yu�;�
��ɸȢ�ȏK�zj���h��
 �u�����
sE���'0�$J�7�`r����G‹�l� F[��˘y�H�' ��8��X�h'2��	%��LȨ�G�#�d�̇���Q�]]���U�g95��`�����
+>Ց��Q��kO�) �ٓ���:	�jNDIRא��8Զ��R$��3@���AY&�Α/�|F����s�X ���/q�����

���QX/�}sqn~1�T(z_([ؾO��\����+�����͗f�Of+&ۿ�U�K�r��<�|hx��O �6��Nm)��Ĉe 4�8����`��W��9(�Y7Z)X���X>��Z��(��*����+p��ngҬB 48u�X��_�Y��`r�v	u��?�n�
+endstream
+endobj
+1305 0 obj <<
+/Type /Page
+/Contents 1306 0 R
+/Resources 1304 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1272 0 R
+/Annots [ 1273 0 R 1274 0 R 1275 0 R 1276 0 R 1277 0 R 1278 0 R 1279 0 R 1312 0 R 1280 0 R 1281 0 R 1282 0 R 1314 0 R 1283 0 R 1284 0 R 1285 0 R 1316 0 R 1286 0 R 1287 0 R 1288 0 R 1289 0 R 1290 0 R 1319 0 R 1291 0 R 1292 0 R 1293 0 R 1294 0 R 1295 0 R 1296 0 R 1297 0 R 1323 0 R 1298 0 R 1299 0 R 1300 0 R 1325 0 R 1303 0 R ]
+>> endobj
+1273 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 575.498 254.976 586.402]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_ab1988eecd5bca9d4ad8dbd128c885b9b) >>
+>> endobj
+1274 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.792 575.498 362.083 586.402]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+1275 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 539.454 327.474 550.358]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a2967727ea790f1d517e1529e3f6be79e) >>
+>> endobj
+1276 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [331.289 539.454 434.581 550.358]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+1277 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.057 503.41 327.771 514.314]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a6b54d1a028c5a0eff158b33ce1a6670f) >>
+>> endobj
+1278 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [333.538 503.41 436.829 514.314]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+1279 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 503.41 513.996 514.314]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1312 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 491.829 176.352 502.359]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1280 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.102 444.452 360.136 455.356]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a984fd654d7b169e74d13f6207d48fefb) >>
+>> endobj
+1281 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.948 444.452 467.239 455.356]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+1282 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 444.452 513.996 455.356]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1314 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 432.497 236.685 443.401]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1283 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.596 385.494 368.188 396.398]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a56d19de5207d94e358a433995ce9730c) >>
+>> endobj
+1284 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.494 385.494 474.785 396.398]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+1285 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 385.494 513.996 396.398]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1316 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 373.539 236.685 384.443]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1286 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 337.495 262.418 348.399]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a0d28be41ac786db82ce3cb24e2db5543) >>
+>> endobj
+1287 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.234 337.495 395.537 348.399]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1288 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.771 266.329 315.914 277.233]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_ad9b9ef9435b7a3bc8d92435ccf1cc0d7) >>
+>> endobj
+1289 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.395 266.329 457.699 277.233]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1290 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 266.329 513.996 277.233]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1319 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 254.374 190.738 265.278]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1291 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 218.33 263.534 229.234]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a442076de6b59703f82c552f7e70aad72) >>
+>> endobj
+1292 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.35 218.33 396.653 229.234]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1293 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 182.286 327.732 193.19]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a1b4e8ec21c2f4b2b925c4e11474062b9) >>
+>> endobj
+1294 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [331.548 182.286 460.851 193.19]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1295 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.728 146.243 261.237 157.147]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_aa975ef75ddb5359966ff21eecca491d0) >>
+>> endobj
+1296 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.675 146.243 394.979 157.147]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1297 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.157 146.243 513.996 157.147]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+1323 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 134.661 189.622 145.191]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+1298 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.517 98.244 255.424 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a27f2fdd3945057760e252740c98573eb) >>
+>> endobj
+1299 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.651 98.244 390.954 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1300 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.157 98.244 513.996 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+1325 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 86.662 189.622 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+1303 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1307 0 obj <<
+/D [1305 0 R /XYZ 90 757.935 null]
+>> endobj
+94 0 obj <<
+/D [1305 0 R /XYZ 90 733.028 null]
+>> endobj
+1308 0 obj <<
+/D [1305 0 R /XYZ 90 642.237 null]
+>> endobj
+1309 0 obj <<
+/D [1305 0 R /XYZ 90 590.372 null]
+>> endobj
+1310 0 obj <<
+/D [1305 0 R /XYZ 90 556.35 null]
+>> endobj
+1311 0 obj <<
+/D [1305 0 R /XYZ 90 520.307 null]
+>> endobj
+1313 0 obj <<
+/D [1305 0 R /XYZ 90 461.349 null]
+>> endobj
+1315 0 obj <<
+/D [1305 0 R /XYZ 90 402.391 null]
+>> endobj
+1317 0 obj <<
+/D [1305 0 R /XYZ 90 354.392 null]
+>> endobj
+1318 0 obj <<
+/D [1305 0 R /XYZ 90 281.203 null]
+>> endobj
+1320 0 obj <<
+/D [1305 0 R /XYZ 90 235.227 null]
+>> endobj
+1321 0 obj <<
+/D [1305 0 R /XYZ 90 199.183 null]
+>> endobj
+1322 0 obj <<
+/D [1305 0 R /XYZ 90 163.139 null]
+>> endobj
+1324 0 obj <<
+/D [1305 0 R /XYZ 90 115.14 null]
+>> endobj
+1304 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F72 207 0 R /F11 899 0 R /F23 172 0 R /F79 237 0 R /F85 316 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1348 0 obj <<
+/Length 1808      
+/Filter /FlateDecode
+>>
+stream
+x��Y�n�F}�W�C)����IQ�m��I����C�$"�r(;���Y�ɔ���9�G�w9s�B�<��5�c>9>؋Q
�Л/�{"$�S���'_�x:#c�,7g���$��:YMg�c�4�e�LRio�˥��$�en
Qʈ���������	�7c��7q��^��|���<�a��Ȼ0��^@\7އ�?�޿Z+b/+�@[A�(,e�ܚ�R�*WVͺ�
�D��3�(�f{��v�Pr�XD�=��j��eVk빟�Ee��T�,_�d�ˤ�[���d���b��#�
+!���T�܎�Oi�¨�_����h-D&(��z|��
0f�Bd(� �(&��R>��}�q �V�>֡�V.����!�>��޾���~�
�f$7�ȫ�ĥ
+�Q������f��8�����UE���^�Beuv�cFbm���_M	���[��H�bpo̮E����{/�fcWˢ��ő>h�ϐ�PA�6��
+�v�J�
l�T6�7R��=ɶ�Fne^��"o��֜'U�@T���k�_M��7 at qp�Vǰ�(�U[�&
�KY��ҝ�m��8�ݪb�p��r�Q�*	��]g���@��jp�����t�`�Q��nc7,����_��;�
`g���xKu���!�O�3"B`&��;b:��vwCM�ĝ�K�(��r�:���-/
:����&p��G9��F&������m��y�@�
��--j�?B�$(��
0�
%E�f��6�.28�ʞW���ߍ�)c����;�x�1
�,W��3��p���"UG��ɀ���13,� r(�(�9�_��B�$"�
yj<Ҡ��Uyy��`e���.���L��v����B$D��ԯ%���y�
gyj3H�l�\o�_�R����r�ߓh� a($�D{�������}QG�OH�YqVVMWP����{ѧ3�]e(q��d�ʁ��е�7
+�Q"�
�^���QDE|�6�(�~��*X���<9}�Қ��0p��5�4fw
,P�5�>�l�n��q�1#a�8�؀�
!CBYA}�����;B�C�<0�
��D�D��VYW@�ì�@2�����F�F�
�D4�ĺ�r�Hg�oR˦��+]�CYx4�mwY
���u���
f��j��g�h�
BZb}׏�@��m:��ڥ'*Ͳ��n[>E�r19���qm�i���dD 
��Lo*6�I�'}(���z����ƚY�wx�[
@�X��#z\�	�����Q�țP��䋢[���V�:��Wo���@7
ĭq�6�#�"$�b�ztEףk�P׌ȣЛ.��s��<��u�mZ}!UZe�1�jH0�

��i>��Y�f�����,�v�����f�io����)�
���B�s]�����R�����
+�vB�~]V�N'���IN�]ڒ~j2�R稶���D�a�U��C�!��wq��mZ�^���C����A]�[\�2N�yS�-�t�
"�
����b����%sYuiyY]��,
����v
���lxȡ{
4iS�x|Q��t���R�n7�Γس��ڵ" �x��#w��`��

[Ww@��I0�����3t����AHo'gH�-~
�%��4�wa㾁�������� 
���ȴٷ�&d���C
����ch��=��3ȯ���{Wl.�rQ��7��J��d�=K��.Y�~(���d��ƌj��.�L�Tu�_)�n��!:E���)�+��߼f�zb��YE�
o=���������J��YY��>�@
_�dtR	�hSV��mQ5��\P0��G�?�� �
+endstream
+endobj
+1347 0 obj <<
+/Type /Page
+/Contents 1348 0 R
+/Resources 1346 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1272 0 R
+/Annots [ 1301 0 R 1302 0 R 1326 0 R 1327 0 R 1328 0 R 1329 0 R 1330 0 R 1353 0 R 1331 0 R 1332 0 R 1333 0 R 1334 0 R 1335 0 R 1336 0 R 1337 0 R 1338 0 R 1339 0 R 1340 0 R 1345 0 R ]
+>> endobj
+1301 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 696.998 253.014 707.902]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_ac19488a8f4e64cb797b8402ea44b456d) >>
+>> endobj
+1302 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.829 696.998 386.133 707.902]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1326 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 612.624 257.985 623.528]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_af8ebe9c0ce769746c2d2d01f6fcb4c91) >>
+>> endobj
+1327 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.8 612.624 365.092 623.528]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+1328 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.768 575.762 315.922 586.666]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a06731c2e3b3d14dceffb5b81f1447bc8) >>
+>> endobj
+1329 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.4 575.762 431.692 586.666]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+1330 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 575.762 513.996 586.666]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1353 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 564.181 176.352 574.711]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1331 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 490.392 270.179 501.296]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a4316d3e1fd40ef324f4f9ac970481c9f) >>
+>> endobj
+1332 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.995 490.392 403.298 501.296]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1333 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 453.53 273.496 464.434]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a7a018b29b6f334f666391ec729265c25) >>
+>> endobj
+1334 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.356 453.53 466.66 464.434]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1335 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 416.669 278.478 427.572]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a3bd9634d21689bd4b0cbcb476a101e92) >>
+>> endobj
+1336 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [331.817 416.669 461.121 427.572]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1337 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 379.807 284.565 390.711]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a5e22cd8ea46cdef0e09027e6177fc838) >>
+>> endobj
+1338 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.38 379.807 417.684 390.711]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1339 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 342.945 279.026 353.849]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_ac8105464b2dbee48f8646bc2c2f1f2d8) >>
+>> endobj
+1340 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.841 342.945 386.133 353.849]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+1345 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1349 0 obj <<
+/D [1347 0 R /XYZ 90 757.935 null]
+>> endobj
+1350 0 obj <<
+/D [1347 0 R /XYZ 90 714.099 null]
+>> endobj
+1351 0 obj <<
+/D [1347 0 R /XYZ 90 627.703 null]
+>> endobj
+1352 0 obj <<
+/D [1347 0 R /XYZ 90 592.863 null]
+>> endobj
+1354 0 obj <<
+/D [1347 0 R /XYZ 90 505.47 null]
+>> endobj
+1355 0 obj <<
+/D [1347 0 R /XYZ 90 470.631 null]
+>> endobj
+1356 0 obj <<
+/D [1347 0 R /XYZ 90 433.769 null]
+>> endobj
+1357 0 obj <<
+/D [1347 0 R /XYZ 90 396.908 null]
+>> endobj
+1358 0 obj <<
+/D [1347 0 R /XYZ 90 360.046 null]
+>> endobj
+1359 0 obj <<
+/D [1347 0 R /XYZ 90 307.617 null]
+>> endobj
+421 0 obj <<
+/D [1347 0 R /XYZ 90 200.343 null]
+>> endobj
+98 0 obj <<
+/D [1347 0 R /XYZ 90 193.743 null]
+>> endobj
+1346 0 obj <<
+/Font << /F70 205 0 R /F79 237 0 R /F85 316 0 R /F56 171 0 R /F23 172 0 R /F72 207 0 R /F11 899 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1395 0 obj <<
+/Length 2084      
+/Filter /FlateDecode
+>>
+stream
+x��ZY��6~�_��HU

Ntj6N��^{Ry�
Ұ,�4��'�~q�k,y�D
+�F��_$��
��u������ {!
+}�{�
/�^�$(�nc��$@��`�'y����Ҳ*�$�fU��^S�'o�J�h���wj��)���!J�p>���ǫn�>]�{��$0���W��^
�?z�Pz3k�q����_��
+2�}a�~�VQ�b+��:�W	H�e�y-�ރػ�
1
�����5��Q���j�T���ݤ��s��wpds�h�B�1�n�n��	G$` �@�:1���y��
��?�2Y�k��M�ԝ�{�L��mpN��	A<d��G���
�u��J�ҙ띙��o���)�Må8F�;�z���`�����}9;a6bM�BI�9��Şspa����g?'������B���t6z��c�'UZ���ZO�I �n��T��?��T��c���j
j�L�'A>�	��7�𪘲`��J@

5���Ք���D��5������o�1�Y�䕲3AF;wK
F	[��o�\
]�S$�P���ß͚����'N�\�؞�,��<)�`0"�(�hz��d��Z�ܒ�'�q�g��&��%��I��Z���Z����XRګ�TG+G0YK4��n�B�O+���!E�Y
z
N;�X\ � }�'_@ ��2�K�
;[L	ܪ
���q
+�`E�O�c=Ѩ,|�/��w�O괌��!htg< ��g�L�r��>
�#��:��9�^'%>���?�3�{!#p��(;�N
�N
2Dv�uZ�N
��i�j�V����x��[.u��cQ����<+�*��?$�ㅡ�S�0;��9P�
�|/�Ee�O 
Qvh�S2qLlAX
a"9��� l��ޔ Q�i��UB$Y�H����a�/��(�R~L�Mj��[K+��!�C2�c
�,�Npcc	��6���
*�GVZ�LJ�v�J��Ѥ��hA4�����	�D4��'.�l�'A=w0���4|q�\6A�)��y�/3
��}��:Y�,�n<u�P2��?�KN(��lu3�%�X
�o;Ԫ�}�@�+����q�@	���7��qI��׹���!2�����B\Vg�tY
�j�6N�1m
�=8��X��1�O�++@�1H�q�3AR�t�Q�"	�5���{&���Hb��P��JUꋡsf"3��t
+��C�J⨥���]�
XD$�@69f�Dg���u�Q�*�^emI�	�
+G.y��I�gn,�͛E6�����
TZA�ذڝ�?�RQ�����w�D5R���������+Pm�^�dq�x
�tH.Ԍj��I)g]�tI�
�t� �j���
�)�)�����L#Fn{���:�T

+����#^ �vd��΅�-��s��P at .q�|d�Ŏv�߂
+ߩ�.�!����ᰇ%����}�z(=G�
+B>��<S
]��<QO�V��Ko
Bv�
�4Zި�Q��lY"�K�\������,}VW�7{�I�
��1��
1��$�
B��1
�̝� ��i���VX�vG�x0EK�#����!��P&!���
�yi*I�u�T���rV�b������]
�V�:�[���(�����ʠ�$�2�/���~��?�$�	[��G�� �4�Z
vJ2ڻ�P��`ҽKܶe�x�k������
5?n��>վ���ȮWn�d���yL&Q�r+}"[� 7�U��mL�"�*þ��P~�A�
�(窸��
N�n_'�+�q�� �����5%՝m�]S�7���K��W��O��Ojc�e[V�u�V�3�� #������7i^W7��\F�)8���g�$��v��S����t��Ʉ���烴����ub�8���(�"
�F~���2D
�a�� L�0 ����	��~���&kאz��
�U\��?'wET������e
-U�c�~�)��7�o��<\a
��ke
���*�2
#B�i�o�WM.j���k�~҆��S�A�kr�WU���f�٠y��4�
�T7����nѭB �
Z��Ί6�j�4�m5��� M�$�
+endstream
+endobj
+1394 0 obj <<
+/Type /Page
+/Contents 1395 0 R
+/Resources 1393 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1272 0 R
+/Annots [ 1341 0 R 1342 0 R 1343 0 R 1344 0 R 1399 0 R 1360 0 R 1361 0 R 1362 0 R 1363 0 R 1364 0 R 1365 0 R 1366 0 R 1367 0 R 1368 0 R 1369 0 R 1370 0 R 1371 0 R 1372 0 R 1373 0 R 1374 0 R 1375 0 R 1376 0 R 1377 0 R 1378 0 R 1379 0 R 1380 0 R 1408 0 R 1381 0 R 1382 0 R 1383 0 R 1384 0 R 1385 0 R 1386 0 R 1387 0 R 1392 0 R ]
+>> endobj
+1341 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.658 649.041 222.207 659.945]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_a0ed54f6ac264a58059f51c7fe33ab787) >>
+>> endobj
+1342 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [227.575 649.041 296.546 659.945]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
+>> endobj
+1343 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.903 649.041 448.629 659.945]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1344 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 649.041 513.996 659.945]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gae5679e4f41db32b7b91dfc81574fc1d6) >>
+>> endobj
+1399 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 637.086 220.377 647.99]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gae5679e4f41db32b7b91dfc81574fc1d6) >>
+>> endobj
+1360 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 589.831 286.956 600.735]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_ab93e22d57d1f5d94ae97ba1b9de9e3f9) >>
+>> endobj
+1361 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [290.772 589.831 359.742 600.735]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
+>> endobj
+1362 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 542.576 305.646 553.48]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_abfb19498f2647b44344c6a84fdd6cd2d) >>
+>> endobj
+1363 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [309.461 542.576 378.432 553.48]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
+>> endobj
+1364 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 495.321 291.499 506.225]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_a702543ee828ef523fb5fe5ffdaf25925) >>
+>> endobj
+1365 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.315 495.321 364.285 506.225]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
+>> endobj
+1366 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.151 495.321 479.133 506.225]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1367 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 459.025 300.057 469.929]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_a2d4948b195e743f39601a13610fcf94f) >>
+>> endobj
+1368 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [303.872 459.025 372.843 469.929]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
+>> endobj
+1369 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.948 459.025 484.931 469.929]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1370 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 422.729 228.097 433.633]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_ac21bd81d2f33da4dc915020bf16c801a) >>
+>> endobj
+1371 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.913 422.729 326.896 433.633]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1372 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 350.87 272.929 361.774]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_a380ed65a246cd38c5ca3893b40eb4603) >>
+>> endobj
+1373 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.744 350.87 371.727 361.774]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1374 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.63 350.87 464.986 361.774]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1375 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 314.574 221.462 325.478]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_a8c466c744746ef7249afa54667470cf5) >>
+>> endobj
+1376 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.278 314.574 320.261 325.478]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1377 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.529 278.278 251.533 289.181]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_a1c416a6d6a359f2f9e9d33af7dc32ea8) >>
+>> endobj
+1378 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.772 278.278 355.754 289.181]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1379 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.86 278.278 461.216 289.181]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1380 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 278.278 513.996 289.181]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1408 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 266.696 178.862 277.226]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1381 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 230.026 290.642 240.93]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_aadbcd3b735dae0f714d1134cf8e6b911) >>
+>> endobj
+1382 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.458 230.026 389.441 240.93]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1383 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [399.343 230.026 470.825 240.93]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1384 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 193.73 218.693 204.634]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_a414a473844efce3515611fdc6b26e4de) >>
+>> endobj
+1385 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.508 193.73 317.491 204.634]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1386 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 110.912 235.858 121.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_a9a30e394a9c84bb9d2debda31433e6b4) >>
+>> endobj
+1387 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.674 110.912 334.656 121.816]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1392 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1396 0 obj <<
+/D [1394 0 R /XYZ 90 757.935 null]
+>> endobj
+1397 0 obj <<
+/D [1394 0 R /XYZ 90 716.221 null]
+>> endobj
+1398 0 obj <<
+/D [1394 0 R /XYZ 90 663.978 null]
+>> endobj
+1400 0 obj <<
+/D [1394 0 R /XYZ 90 606.79 null]
+>> endobj
+1401 0 obj <<
+/D [1394 0 R /XYZ 90 559.535 null]
+>> endobj
+1402 0 obj <<
+/D [1394 0 R /XYZ 90 512.28 null]
+>> endobj
+1403 0 obj <<
+/D [1394 0 R /XYZ 90 475.984 null]
+>> endobj
+1404 0 obj <<
+/D [1394 0 R /XYZ 90 439.688 null]
+>> endobj
+1405 0 obj <<
+/D [1394 0 R /XYZ 90 365.807 null]
+>> endobj
+1406 0 obj <<
+/D [1394 0 R /XYZ 90 331.533 null]
+>> endobj
+1407 0 obj <<
+/D [1394 0 R /XYZ 90 295.237 null]
+>> endobj
+1409 0 obj <<
+/D [1394 0 R /XYZ 90 246.986 null]
+>> endobj
+1410 0 obj <<
+/D [1394 0 R /XYZ 90 210.69 null]
+>> endobj
+1411 0 obj <<
+/D [1394 0 R /XYZ 90 125.849 null]
+>> endobj
+1393 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F23 172 0 R /F79 237 0 R /F85 316 0 R /F91 1184 0 R /F93 504 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1432 0 obj <<
+/Length 1802      
+/Filter /FlateDecode
+>>
+stream
+x��Yے�F}�WP��@�5;W.N*U��N�qR��<�.�H�� Zy�>=�pӲ�jw���z�{Nw�F�Z[��m�l1�x�a+@�K]k��ly.A�k[l��	��.�t���d�y�|]�r��򬪗ImF�p�̩���
�Va$��;���C|[fj���6Χ��ً��대>�"���C
V��}����_[����ͪ��)�kj���5��<�I���
ox�!�
+m�GJ���{և� +��6�J�rm�z�,P�(7$�rU��t�\�_��[�0��#��7/���KPa��ﻰZ��1ӫF�s��]�p��z�PzՖ��}��h��&�%\���F���A��im�*�+��/�)G����@u
�Uu�!Ro
V�ɕ��m���]=�� ʼ�c&6RzÀY�&��
y~N�@g֜R�s�8�	���&ڄ�l
BB���;6�P� �G
��'ԗm��y4o~�Z�z
I��C��d�����
��&�
"�~L*}-
�ٲޕY+�*	��.����6P�]�I�)R�|4DN:��$Yƻmq"ow
+t�)ܒ��6y�xR$�ؿ3")����cD^���C�yw
��ЗJfuX'y��V8 pĄ�ǀܙ �&�D��
p�8'��<��"��m�;'��U��(�{I���V
EҪt����(����
O���t@�*�	�2s�)�c��a�����M����ʤhL�y$X�(b<�b����B*�
���.��3��U*�
u���3�,�
��5���虢�Ue�Jbي�צ��T��dWm�;T��f�����##!�a��ƺ��2�C�R�q�7�V��ݚ�]�$*Σ�v�0m\ô��v����͓�_k�ߞܪh���*�zۘ�ʬ�mLS�t
��E\�]*GRMSN��P����Ƹ[�kT�/#"����׮��&�[
�5< ����֭���4*W�O�38��,Jw�є��J���ԟ'dA��;h
]ߺ}$�g��_���.��q�\B��6+�ɴ����/G]�
+şy-[؅u��
����r3����-��� }/��Qg����P����p*Sx~��d��;8u�of�h��tUE�O�#��L6Qx
��+�G����Q)f.��D�uR߹3������.I�Jl�!U���
�pl�/����a�K�
���d*ǝC҂��Ʊ����쫬���F�ܓ�Q�o�oJ�@�����79�>�C��q
��#���
+� ��*�� �s?}�r��S"�@	��8 <rg���b^O����Uz$ԏQ^\�i��ਝg��
����?�������ml���֌k��fM�F�H���+G�
kM��+���>��
	� ���1Z=�m_�
����6��~�z$P��Y��X��3[UFw
��

CMS�q��Qc:�1g���L~I���#^M���X��� � ��_p�� =�;�@�PlZ��2��<4��	$���G�1�U�pl_�i�
�� b��ͣ�!��m<��t*qD{�߷{�����ݪ�Nz7�Y�dX�Y�u)f,�/E��}����I�W��wa���×SV2�>�n��@8����<Ę�ۗ�K�5P�I��EzPQ�Ί�ؽ�
+j&��s�@��]�jw�ߔ
N�P��_S�_Q.
+�7G��������&	�[�<����Fƥy|�|.�Ҩ�܌��z��
5�W�,����3������R�U�} KW�FP/A�{)�+��_����Y�B�Vц@u�cS��Ӌ��~��
+�(QR_@�]��z)��뾌w��6o��$��m�E
�ҿvpg
+endstream
+endobj
+1431 0 obj <<
+/Type /Page
+/Contents 1432 0 R
+/Resources 1430 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1272 0 R
+/Annots [ 1388 0 R 1389 0 R 1390 0 R 1391 0 R 1412 0 R 1413 0 R 1414 0 R 1415 0 R 1416 0 R 1417 0 R 1418 0 R 1419 0 R 1442 0 R 1420 0 R 1421 0 R 1422 0 R 1444 0 R 1423 0 R 1424 0 R 1425 0 R 1429 0 R ]
+>> endobj
+1388 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 719.912 239.176 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_a90e279d0af3491d3cc793595e3e1bbff) >>
+>> endobj
+1389 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [303.035 719.912 398.018 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1390 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 683.191 244.157 694.095]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_a87fc73217faaf213d5b5a810272be545) >>
+>> endobj
+1391 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.496 683.191 392.479 694.095]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1412 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 646.47 250.244 657.374]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_a08451f3fa991dc14b1b8874bdefd7cf2) >>
+>> endobj
+1413 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.06 646.47 349.042 657.374]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1414 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 609.749 244.705 620.653]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_a94ca29d276a68f3f75aa62c8ab6109e4) >>
+>> endobj
+1415 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.52 609.749 317.491 620.653]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
+>> endobj
+1416 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 294.492 313.058 305.396]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_ab823e62915ff895212640119f062252c) >>
+>> endobj
+1417 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [316.873 294.492 478.246 305.396]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
+>> endobj
+1418 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.532 257.771 481.73 268.675]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_acd03b90ea728537b78a669806309a5c0) >>
+>> endobj
+1419 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 257.771 513.996 268.675]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
+>> endobj
+1442 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 245.816 268.754 256.72]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
+>> endobj
+1420 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.717 245.816 482.102 256.72]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) >>
+>> endobj
+1421 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.254 198.136 486.009 209.04]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_ae2334b2eefe8cae2ad750dfea1f7cade) >>
+>> endobj
+1422 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 198.136 513.996 209.04]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
+>> endobj
+1444 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 186.18 268.754 197.084]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
+>> endobj
+1423 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.86 186.18 473.245 197.084]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) >>
+>> endobj
+1424 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.254 149.459 321.648 160.363]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_a51dfb5223b7487379681d4cc1583917f) >>
+>> endobj
+1425 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.611 149.459 513.996 160.363]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) >>
+>> endobj
+1429 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1433 0 obj <<
+/D [1431 0 R /XYZ 90 757.935 null]
+>> endobj
+1434 0 obj <<
+/D [1431 0 R /XYZ 90 733.028 null]
+>> endobj
+1435 0 obj <<
+/D [1431 0 R /XYZ 90 700.257 null]
+>> endobj
+1436 0 obj <<
+/D [1431 0 R /XYZ 90 663.536 null]
+>> endobj
+1437 0 obj <<
+/D [1431 0 R /XYZ 90 626.815 null]
+>> endobj
+1438 0 obj <<
+/D [1431 0 R /XYZ 90 574.559 null]
+>> endobj
+422 0 obj <<
+/D [1431 0 R /XYZ 90 467.566 null]
+>> endobj
+102 0 obj <<
+/D [1431 0 R /XYZ 90 460.857 null]
+>> endobj
+1439 0 obj <<
+/D [1431 0 R /XYZ 90 362.416 null]
+>> endobj
+1440 0 obj <<
+/D [1431 0 R /XYZ 90 309.535 null]
+>> endobj
+1441 0 obj <<
+/D [1431 0 R /XYZ 90 274.836 null]
+>> endobj
+1443 0 obj <<
+/D [1431 0 R /XYZ 90 215.201 null]
+>> endobj
+1445 0 obj <<
+/D [1431 0 R /XYZ 90 166.525 null]
+>> endobj
+1430 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F23 172 0 R /F79 237 0 R /F85 316 0 R /F72 207 0 R /F11 899 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1467 0 obj <<
+/Length 1898      
+/Filter /FlateDecode
+>>
+stream
+x��YY��6~��ڇ�@��cSh�n��@��OI�P,�+T�
I������^^�O�(r�~3�
�����ד���U��E>���ʋ��	J�E�}���ٜ`���mv�Z沌뢼�p�j�����lN���kY��4���J�3Ne��H�8�r�y�v��b�uB`�#zA��	o��|�����z�(��z����3�>L��`�y�UB�
%	�3������B/��y��J��v��k���z@�q��E^��im{Y*����5��OX��������\/D��9!(V�f�z��:�uZ?;��1�r_��رcY
"F(|26Ř���s�čٮA{��
+"P+�}���	��'�xh���`�ᤞ��W��L��a��͘�x[o��/�:�-xc�Ц0͛8O2�庰��avR�V�zF�T�pF�T��
+���$�����S"�ak���c�FC4j�֮��É�( �Px~�?��^����Rnd~���p�7�%��C���B�pDf�o@}vN���Q� �U
�
>R��a[���N /�3����S�#�<A�(l� �HIHt?hȯ�8��eutVZ��*�?"P��7*�p���zW��l�B
��c[T��I�#g�B
�i�25x��<��EiCӶ�
��b,PQ�8kp�}�!
+B�
� :"��(�c�cw
+1�3���y>�s.l�k����rV��

+$
� �"�Y(���X�LS�SG�eL��¶�""†6a��+Y�i&㵯d�,�m��H�İ7��[Z�`燭��=�!��]�Tl�J��00ԇ�^a	=|�@k�+��
+��
�
�]-���B����A<�e at m�k� �u[
+���D��(��2N�E�
��x�T�R�uTO
�!3
�+3�X�)��ٙz5�������j��| ^*[9 ����8��FYc�nLOa./ۨи��aGAB��ton;���\�p	 )�;�z�᣻V�k�7ie�IG?;q���wk"��UYl�fUdY1�b�op=���~xW�j�T ݑ>t
���s� �Ѝ5<�ZmAjH�� ��SV!�6M�rg��	z�B
^�2j��B�<��~~���%B:#CA�`��YP,�nt��
ړ2䷱��� F�=SY�A���:Y���� w�P�ᅧZ@���q��La?n��,�F�%M�+JL����r�T��kU��\����BD�C�O��d�
X�J�3����ˁ
�y�?<�1�Z�Q�U"
V�U���( "�a�ƼإY�x�y�Ͷ>t�ǴuD'����NOr�Ǟ.�
þgE��.G��H����z\E��-����[�t��{�{$�?5��Z5`D�-
���2p�~!�R�l&���D}ˍ�9<���ȒjhT�3Y�d�^G�kI�J 
�
цw�yT+v��C�����>�	�cW�d�"Ŭq����yT{e0��
����'΀=��>��l��6}t}�~�G�������W"
+� ���Ȁ�>�ODy�����CqO���C�X�<xC�i� ����ݱz�?���
���[8���ږ���;�X�S-p�D
+����oi�S��&?A��m�poht�)z�@�����:@���O��T�N�¥(�8�5c{�GQ~�G��$�m7�w�b���!>Q��s��jp��=�US睸�����ă��;/;G/� 0�&%U���>��䇚�����a)&��h�z�	1,��i��k�wEv��Ii_�H��qiM�����z�e�
���T��I�������]����M-)˪��1Ծ
+21� �&����k�>хb�� �6
������b�ߣe�vy�-QZ_ r/��V
+�M&nj�M᪸4�΍��8:�� �Q�
+endstream
+endobj
+1466 0 obj <<
+/Type /Page
+/Contents 1467 0 R
+/Resources 1465 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1272 0 R
+/Annots [ 1426 0 R 1427 0 R 1470 0 R 1428 0 R 1446 0 R 1447 0 R 1472 0 R 1448 0 R 1449 0 R 1474 0 R 1450 0 R 1451 0 R 1452 0 R 1453 0 R 1454 0 R 1455 0 R 1479 0 R 1456 0 R 1457 0 R 1458 0 R 1481 0 R 1459 0 R 1460 0 R 1461 0 R 1483 0 R 1464 0 R ]
+>> endobj
+1426 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.524 719.912 349.582 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_acb94e9072062c0827a16766cef2c1a5e) >>
+>> endobj
+1427 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [359.816 719.912 513.996 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) >>
+>> endobj
+1470 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 707.957 163.61 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) >>
+>> endobj
+1428 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.609 707.957 272.909 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1446 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.961 671.095 342.404 681.999]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_a7d4bec3e6101e95b57973dcab5880a51) >>
+>> endobj
+1447 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [352.075 671.095 513.996 681.999]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
+>> endobj
+1472 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 659.14 129.857 670.044]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
+>> endobj
+1448 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.552 622.278 346.554 633.182]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_ac5344d92361779d92fcb36acf2d406ae) >>
+>> endobj
+1449 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [359.816 622.278 513.996 633.182]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) >>
+>> endobj
+1474 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 610.323 163.61 621.227]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) >>
+>> endobj
+1450 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.07 610.323 361.456 621.227]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) >>
+>> endobj
+1451 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 271.564 253.293 282.468]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_a33e20d1de127c9232d2d1188bee532ef) >>
+>> endobj
+1452 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.108 271.564 358.716 282.468]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+1453 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.114 234.702 325.461 245.606]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_a7752ae55e7cd4d014f6498348ef47865) >>
+>> endobj
+1454 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.285 234.702 433.893 245.606]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+1455 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 234.702 513.996 245.606]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1479 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 222.747 174.668 233.651]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1456 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.159 174.927 357.827 185.831]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_ab1316806c765a595ddfa4de5e8d971f6) >>
+>> endobj
+1457 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.696 174.927 464.304 185.831]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+1458 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 174.927 513.996 185.831]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1481 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 162.971 235.001 173.875]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1459 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.838 115.151 366.064 126.055]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_af5253fb7ef85e1875cc453d9a9998459) >>
+>> endobj
+1460 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.612 115.151 472.219 126.055]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+1461 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 115.151 513.996 126.055]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1483 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 103.196 235.001 114.1]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1464 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1468 0 obj <<
+/D [1466 0 R /XYZ 90 757.935 null]
+>> endobj
+1469 0 obj <<
+/D [1466 0 R /XYZ 90 733.028 null]
+>> endobj
+1471 0 obj <<
+/D [1466 0 R /XYZ 90 688.196 null]
+>> endobj
+1473 0 obj <<
+/D [1466 0 R /XYZ 90 639.379 null]
+>> endobj
+1475 0 obj <<
+/D [1466 0 R /XYZ 90 564.037 null]
+>> endobj
+423 0 obj <<
+/D [1466 0 R /XYZ 90 444.807 null]
+>> endobj
+106 0 obj <<
+/D [1466 0 R /XYZ 90 438.207 null]
+>> endobj
+1476 0 obj <<
+/D [1466 0 R /XYZ 90 339.735 null]
+>> endobj
+1477 0 obj <<
+/D [1466 0 R /XYZ 90 286.643 null]
+>> endobj
+1478 0 obj <<
+/D [1466 0 R /XYZ 90 251.803 null]
+>> endobj
+1480 0 obj <<
+/D [1466 0 R /XYZ 90 192.027 null]
+>> endobj
+1482 0 obj <<
+/D [1466 0 R /XYZ 90 132.252 null]
+>> endobj
+1465 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F23 172 0 R /F79 237 0 R /F85 316 0 R /F72 207 0 R /F11 899 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1515 0 obj <<
+/Length 1903      
+/Filter /FlateDecode
+>>
+stream
+x��ZKo�6��W��b��DJjO}m�v�nwS�[�L�D�G%:��}��(K�l�Y���Hb�!g�of(ao�a�۫/�n^�؋Q�)��f^����(����Q�O�xT��oe&K����ݺ�2��b>�P�G����L$�>��3Y�I4��"�� 
�v���7wW\� �H� 
Q�3/I�����)��a�Ǒ�T�J���p]z�~�����]k��(EH�8H	A�V���z;�w��	5U��a��r���m=��f�0�K��9���0�{�’<��i���+�Gz�qW�d�E�4�Ҕ"
oB|�bnu���
=���
+-+�*�h|��t)��W눊 !�Ej!��3;��
�[�9z���}L��-V�ʱ����I^��ȳ��P5c��Q�<�����1a�G��X.�v�Av����S4h�
vcL���7�k�V�W�,�
+\�T��}���y3�C>U�������� n��룀yJ  >��D|8����~�R�U�׶����q-n^]�i at m�M�
�X�#�A1c� �^����[ƃ8��sD�P�c�B�g� �us���ׄq�Q?�~-�&��H���Rad��l����9�c>�գLZD��l�#K�ye�iw'�E��t�C1�Q�ژ>
C[6�PP��/&�C�,���-�z�o�ܷR�JG�^
+p�V���@yihy^�d�E5���E��>��-�@O-�[>kʮ���F5�s�y�6;��
� m哪j�=

��g�B@�>�dt���
�X>����

3�=0�
`FX����Y��0x�����>
I���I �}L~QUj�
�E����p���h��q�|�`��W=�I��w��>iW��؃��em�Cu�ص����-Mh���x��}�s����
�˦;�`���l�
L�<b��x�
��5;ziTW����_^#X�I����;8]�K'CC����0e0C�`��?�.�B��K5�>ɺ���Y^�rz
����~
̚vC�έ�V�;��m�IQ�Qi��P=j�m�X�c��R	�)���ƽ�o�"6�c���M������B{ڽ<���0�Áچ�������u��8`�ܮ��1��~��l�4�3fS�0��bU�q��bU��e��&1�r�4���&���Psŗ����e���n�g>:�	w2p�rM�� �B'�H�&1C���O%u�2M���m�}�`§�bEAx�'��9D�
C��K:��v�o~|�Ԃ�
!�E�V)�����1��mm�~����ٕ� ΀�}Ñ����Ce�
KRݚ�����d�%6������m"���*Q���X��r#LA�ro�b�o~Zi�ؕ6$|��5G�*�/J��

��1D��l�� -
+�\{�48(2I{�U�i�*�}�h��.
8>�a�qv�#_ݾ��j�;�$l��8�$
�R���7ytL���6
>����{Pe�cM��kp ���sf 
+Ό Q��d!�A��oޭ큑��;v*�9��1\�d�Y5��/O&�_����ti*|Ȫ�[����+���B%&�.�yl�9��J
��
�g�
�y���F
Sd���tQ%J�OWi�7d��#{(��	�:e>�>l�ll_��\k�6J
+E�F��O�bn��%�P~
ԭ
+���N��EtY��;)vyl-s1�d'y
U�?Nzx"�(�z�yAU�A�s��|���FU����P�)�c+z
�����检�v�78�C?j�Fa1b�)��\��n�ʴ��7�r��Ӳy|�
J�_�_5c"���\v?V1���d~�n�SӒT�&[��,� ��,)�M�h"́�;�^D[�����(��
 �m�7,�.>��yzzBI�V�*J��
 �f�q�H!�aa
���+�����9J���x�/t
+	�
+endstream
+endobj
+1514 0 obj <<
+/Type /Page
+/Contents 1515 0 R
+/Resources 1513 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1534 0 R
+/Annots [ 1462 0 R 1463 0 R 1484 0 R 1485 0 R 1486 0 R 1519 0 R 1487 0 R 1488 0 R 1489 0 R 1490 0 R 1491 0 R 1522 0 R 1492 0 R 1493 0 R 1494 0 R 1524 0 R 1495 0 R 1496 0 R 1497 0 R 1498 0 R 1499 0 R 1500 0 R 1501 0 R 1528 0 R 1502 0 R 1503 0 R 1504 0 R 1505 0 R 1506 0 R 1507 0 R 1508 0 R 1509 0 R 1510 0 R 1511 0 R 1512 0 R ]
+>> endobj
+1462 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 708.309 260.735 719.213]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_a540cea530eaa9c142b16fbf01f781673) >>
+>> endobj
+1463 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.55 708.309 392.17 719.213]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1484 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.432 636.83 314.892 647.734]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_aeeec098f7c1e5939b144f3d42a2c65fc) >>
+>> endobj
+1485 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.033 636.83 455.653 647.734]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1486 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 636.83 513.996 647.734]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1519 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 624.875 190.738 635.778]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1487 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 588.717 261.85 599.621]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_a888341fcf1079aaaa4dd7b532662729c) >>
+>> endobj
+1488 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.666 588.717 393.286 599.621]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1489 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.785 552.559 260.611 563.463]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_aa7260438cfc5fa383c7fb80b127f8315) >>
+>> endobj
+1490 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.106 552.559 393.726 563.463]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1491 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.84 552.559 513.996 563.463]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
+>> endobj
+1522 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 540.604 189.622 551.508]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
+>> endobj
+1492 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.574 504.446 254.798 515.35]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_afcc12e4f52a8ff85d16ebfc424447b63) >>
+>> endobj
+1493 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [262.081 504.446 389.702 515.35]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1494 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.84 504.446 513.996 515.35]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
+>> endobj
+1524 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 492.491 189.622 503.395]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
+>> endobj
+1495 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 456.333 251.33 467.237]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_ae9bc39a46753f158644428f3c01e73a3) >>
+>> endobj
+1496 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.146 456.333 382.766 467.237]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1497 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 373.895 256.301 384.798]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_af5911dc31286d92c979c7ff89c249bc8) >>
+>> endobj
+1498 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.117 373.895 361.725 384.798]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+1499 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.825 337.737 313.612 348.641]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_a3f5244b219701d5ba5939982a1d11d97) >>
+>> endobj
+1500 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.147 337.737 428.755 348.641]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+1501 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 337.737 513.996 348.641]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1528 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 325.782 174.668 336.685]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1502 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 254.302 268.495 265.206]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_a3d3687abfb3878a67fca687b8e4ff0b9) >>
+>> endobj
+1503 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.311 254.302 399.931 265.206]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1504 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 218.144 271.813 229.048]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_ae12a1e70aa5010e6617de857f51574a8) >>
+>> endobj
+1505 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [335.673 218.144 463.293 229.048]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1506 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 181.986 276.794 192.89]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_aba231f6ac03d82cbf693a6a29a5c2665) >>
+>> endobj
+1507 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.134 181.986 457.754 192.89]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1508 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 145.829 282.881 156.733]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_a067f83ba740e5b6c0c585a5175723a0b) >>
+>> endobj
+1509 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [286.697 145.829 414.317 156.733]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1510 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 109.671 277.342 120.575]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_aad90ffcd536cd0d48ee183bca02103fc) >>
+>> endobj
+1511 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.158 109.671 382.766 120.575]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+1512 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1516 0 obj <<
+/D [1514 0 R /XYZ 90 757.935 null]
+>> endobj
+1517 0 obj <<
+/D [1514 0 R /XYZ 90 725.234 null]
+>> endobj
+1518 0 obj <<
+/D [1514 0 R /XYZ 90 651.732 null]
+>> endobj
+1520 0 obj <<
+/D [1514 0 R /XYZ 90 605.641 null]
+>> endobj
+1521 0 obj <<
+/D [1514 0 R /XYZ 90 569.484 null]
+>> endobj
+1523 0 obj <<
+/D [1514 0 R /XYZ 90 521.371 null]
+>> endobj
+1525 0 obj <<
+/D [1514 0 R /XYZ 90 473.258 null]
+>> endobj
+1526 0 obj <<
+/D [1514 0 R /XYZ 90 388.797 null]
+>> endobj
+1527 0 obj <<
+/D [1514 0 R /XYZ 90 354.661 null]
+>> endobj
+1529 0 obj <<
+/D [1514 0 R /XYZ 90 269.205 null]
+>> endobj
+1530 0 obj <<
+/D [1514 0 R /XYZ 90 235.069 null]
+>> endobj
+1531 0 obj <<
+/D [1514 0 R /XYZ 90 198.911 null]
+>> endobj
+1532 0 obj <<
+/D [1514 0 R /XYZ 90 162.753 null]
+>> endobj
+1533 0 obj <<
+/D [1514 0 R /XYZ 90 126.596 null]
+>> endobj
+1513 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F79 237 0 R /F85 316 0 R /F23 172 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1564 0 obj <<
+/Length 2142      
+/Filter /FlateDecode
+>>
+stream
+x��YY��F~ׯ �����}�Mo�@bg�Bb�"v �bK"B�
+I�d��o��K���5���f�����n��
��f���nn���Q
�л[{q�E!F�`�.����d��A��}��N�J��Z6�f� <�_����J��7r-�9�,�q�31����ٷw�?g�
xX�G(��[�f�~���Dc�=�U;�
+��{;�u�՚P���#l�~%�$�ej�{%�U�훬,�N7�<�	
+�a���ȹ�����z��0J�T
��>+%���
6�=fY=��#h����h����m�Y�
����	ف_?�J���W�
s�>K��D��G�ܺ%ӡ�c��
WS�	��\���%Q�sI�XA�� P�� x����c�P���,0c �� B!a��[�IZ�;Y4���Ҷk-�YmF&��s�%�uU���1:+,�߃��|�1�@��1* 
1A���	��U�ܦ�j��I
+���G[�H ��?QNY8��!
��$�S ���0�n�`6pu
�Y�P��Կ�b�R�ƽ�����"�	Y����]�����@��(�[��ֿ�
+�G�R�/�Z��ȼ��mk�G��>���e��d�4-�j;�TvP���N�>�j�`�� 5�:2 ,":D�K�T��
+ȗF��u�m
+�*���٥�����1�A����<�!��"�jc���^��Q+�N��cI�1�͓���i���>�QDZ
@�҉X��Bk��+bb�����1+dR-��k_I�rY���f�B�ޔ�a�q-,�E!�3
R��г�e���yg�P�;3^�r���xm�P��Ќ{��'��!��#b�jN#_Bn)��Oԅ� �
+���(j�W
3]��5͌�UW���BM�m�sٖ������
 ��N
If୼fB
GTtekA濶ښ
+r�*�J�~��.[�
�:es�	t�t���b�+�>Y�e}0,z� QA�z̅��z_�
�z��W�ڤ����"�Hg^:a~�x�گk.L Y�6n��c�

+�������
+�<ɍ�`A	&T�+�b�P���^��z
+5�_4�O6��v�������gP=Ne�Վ��͢-�-�N_��"!���-&:6��6;���Դ�G]��idanT���45��L�C����D,�^(��lO
+_����P�4�*S�vLݪH��}�5��C���J}�:ls���C�Y=4Quz�[���nզF�G!z�#�;Q3A1h
"�
ݸ�������l.�'�r	�.
+L�ժ(au��eE��b._�g���(��R��K�(�*�l�fRð{�ู"�E��4x�`H��=
	(�Z�1Kh� ��"a &����.�-z����o�����\
[(�즮g�K%�!\�0���0UuT�����XZ��RxZv��j�#z��0�Q�
Y�v���iA��tW��:�@olQ����=Ѷ �ִ �5t}���&63�U�Tz�
<'�J-9�T4Ph
�'�@x�TJ=��T:k(�}.�0kzGn��6�j��9I���p���H�����;�+�
�>���܆[�SJ؅O�^��f�|�S�oY������
+���U�<Ӿ`"P�
���������eD���)
��
��[U�[��������s�
�0�b>$�$�oJ�鮛k���V��\2<�5�
�
J��9��#Hi� Pp
+�����~2F��
+
��"L�OdV�Q�����\6�s�s]*����Bmh�<K��9�w�t���v�b*
�.
݁�.�C�������Wee�e_i{0o�J���	y��܌4��ˢ�ͥ#���r.�Zm�����y,x#%kA#
Ym����#�W����N�*�l�8�t"�tF���AJ7o�nC��8���Z=����s�=P���]pI�����S�()
��o��:IR�!ђ�n�)$
�9 <�\C����Ҿ�
&C��f���ĉS����'�
�b�~Z�A���g3�� ���������!�!��
�?8�����h������V����1�P%�%��v.)6�d#�� ]�[��
��Ӻ��|.��ꓲ��
��T��f��
��?<7�a�vV���m�o�f�������jt(�}����ss̩���|��xW��xY�;���(J���M�
+endstream
+endobj
+1563 0 obj <<
+/Type /Page
+/Contents 1564 0 R
+/Resources 1562 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1534 0 R
+/Annots [ 1535 0 R 1536 0 R 1537 0 R 1538 0 R 1569 0 R 1539 0 R 1540 0 R 1541 0 R 1542 0 R 1543 0 R 1544 0 R 1545 0 R 1546 0 R 1547 0 R 1548 0 R 1549 0 R 1550 0 R 1551 0 R 1552 0 R 1553 0 R 1554 0 R 1555 0 R 1556 0 R 1561 0 R ]
+>> endobj
+1535 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.032 460.532 220.898 471.436]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_ace16d45c8fbb00ad5b616aa4344fb798) >>
+>> endobj
+1536 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.641 460.532 293.928 471.436]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
+>> endobj
+1537 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [318.686 460.532 447.412 471.436]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1538 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 460.532 513.996 471.436]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf449476be1ec42bab45fb86e7478bdf9) >>
+>> endobj
+1569 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 448.577 218.693 459.481]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf449476be1ec42bab45fb86e7478bdf9) >>
+>> endobj
+1539 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.942 448.577 324.435 459.481]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1540 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 378.951 287.046 389.855]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_aafa09f891353748a46868d342cc91cbc) >>
+>> endobj
+1541 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [290.862 378.951 358.149 389.855]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
+>> endobj
+1542 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 331.242 320.799 342.146]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_a048cb229297e24f6d0f7ab4e4351e2c2) >>
+>> endobj
+1543 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.615 331.242 391.902 342.146]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
+>> endobj
+1544 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 283.534 288.132 294.438]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_ab3fe811bb3a347e553576dadff55339e) >>
+>> endobj
+1545 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.948 283.534 359.235 294.438]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
+>> endobj
+1546 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.658 283.534 472.957 294.438]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1547 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 246.785 296.69 257.689]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_a297969dd313ebb370c9419915398aaf2) >>
+>> endobj
+1548 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.505 246.785 367.792 257.689]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
+>> endobj
+1549 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.898 246.785 478.197 257.689]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1550 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 210.035 226.414 220.939]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_a278a22338f8428e328daf84dea4f94e7) >>
+>> endobj
+1551 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [230.229 210.035 323.529 220.939]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1552 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 136.929 271.245 147.833]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_a30d13726e3b27f1be7e5eb05a7814bb3) >>
+>> endobj
+1553 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [275.061 136.929 368.36 147.833]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1554 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.821 136.929 462.177 147.833]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1555 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 100.18 219.779 111.084]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_af2fd5edcf647f4bc5b64cf0f4f712a51) >>
+>> endobj
+1556 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.594 100.18 316.894 111.084]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1561 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1565 0 obj <<
+/D [1563 0 R /XYZ 90 757.935 null]
+>> endobj
+1566 0 obj <<
+/D [1563 0 R /XYZ 90 733.028 null]
+>> endobj
+424 0 obj <<
+/D [1563 0 R /XYZ 90 633.64 null]
+>> endobj
+110 0 obj <<
+/D [1563 0 R /XYZ 90 626.953 null]
+>> endobj
+1567 0 obj <<
+/D [1563 0 R /XYZ 90 528.506 null]
+>> endobj
+1568 0 obj <<
+/D [1563 0 R /XYZ 90 475.582 null]
+>> endobj
+1570 0 obj <<
+/D [1563 0 R /XYZ 90 396.023 null]
+>> endobj
+1573 0 obj <<
+/D [1563 0 R /XYZ 90 348.315 null]
+>> endobj
+1574 0 obj <<
+/D [1563 0 R /XYZ 90 300.607 null]
+>> endobj
+1575 0 obj <<
+/D [1563 0 R /XYZ 90 263.857 null]
+>> endobj
+1576 0 obj <<
+/D [1563 0 R /XYZ 90 227.108 null]
+>> endobj
+1577 0 obj <<
+/D [1563 0 R /XYZ 90 151.98 null]
+>> endobj
+1578 0 obj <<
+/D [1563 0 R /XYZ 90 117.253 null]
+>> endobj
+1562 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F79 237 0 R /F72 207 0 R /F11 899 0 R /F23 172 0 R /F85 316 0 R /F96 1571 0 R /F37 1572 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1602 0 obj <<
+/Length 1804      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~�����@͐��K7
��%Hۭ]�>���X�MT�Ir���
�d�Q.Ml��)��\�s�1v�v�&�''�!vb4p�+'�N�(q���
�3�1v�*[��"]���I[֋�7M��Ų,�v!Z��&��2���J�\O/���S���K1����ӯ�7�?�'x�Q<��
s����W줰���ȋ#�Z��
�z0f���?l�kTr��''!!
+�BH"F�/�2ō���<c �(Z�,��׆�
�!�"��N)˒����_0�K���;���K��$�j��Ȏ������9�#��"�E#�b��T|��+�nRO}�>��Lnq"��3�Ōi����6��N/�X��p
����H��
��ȞQ	�h<�]JI��4b��|y�Ć���;�����n
<�� �;���r�ǫ��e�GN�=�݉�q�L!/"v�(4���`W�xJ�`�1y� ����m��{4�ٝ�^0�^�|�xF)���
?��
� 
W��R��� 
�4��a�
LPV��P+�|5b:b�>�
�(
�=T�� X�,����Sp\~kk�4b]Xi�C*��d�iH"�c�G̟3�Q��f�0{����z$.x���-����jD+��^Q���:
�z�C���? ������<�4�UY�<}!'�+����
�ꯚ���
j}7�T��<�U�s��-�.
+��G�ʢm~�������!s�1�Q( }Ěel\�ռ�$�Ap�|S:2Ӧ�
��R4�q\qJ� �a/��t��R�Z��̃�O
_m3�ae�)�S�ݭ2�Z����5�7�{JN�2lFB���:3�6��ն=y�ma�g�n���}38c�ԁ���� S�� �'�EU�Ν�
��?�?H6�PP�,�Ι�?X"�EL at 0	펦M�m;BǣV�5c�b(Q���r�G����ݟZ
ࠇ%?BwQB��w
8�Q�+u���I��,}X< 0b�^�x at D�\j��5�tSӕ�Ao� d�p��C�0��`�$�#A����w4 ������8���)��?`�������,+�3���ܤ=[�"�b��A����x�K��7&��K���H�����@�#2P�x
=L��r�H���t�W�L?�w�Cx{�����H}Yv�!
_����Pغ��7~�����3u�
+�"��0�D(�1"Ct���(
+�є�I�44=G
A~tL|":��ށ��D����Q��v>F*Ba<K4>��j�X83�"¢��	3��|��Dd6n��Ͳ����I�tP���3�Fؽ��%�#���ȇUW�멼9x�s�4pI �Rw.�	��}���K��D�-=�����E�d�9��\��:m:%D����n7�� �\������L�\���m唖�m>�Ww�j7b����r����F	�l��5��V%�Y%mwE�7܌�
:,	LG�!?ЪPyd��I
+J��/�
bG+���eHzP.D��?���������֬����@�v���_��CS?�b�mS�3!���C�f�u�V�B��$}KX+
�E

+�.���٩�_ �R�g,Ě��g;X
���+Y���˖[&m�GۯHꮇa^�<��%^g
t_�ǃ:[����}%To�2<�
�j�]���?�:�up��3A�	��k����8�1�1�>��R���Pf7��f�N\�I}�'��ZR��ɚ��b">5��Y:���_I�M�i�ӯ䑼n�ȃ!Rݦ����K���
��v�и����}��qӶ�˓���k�lжU�D{0=�ݫ�Q!`�]�����P���X����Ь�
+endstream
+endobj
+1601 0 obj <<
+/Type /Page
+/Contents 1602 0 R
+/Resources 1600 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1534 0 R
+/Annots [ 1557 0 R 1558 0 R 1559 0 R 1560 0 R 1605 0 R 1579 0 R 1580 0 R 1581 0 R 1582 0 R 1583 0 R 1584 0 R 1585 0 R 1586 0 R 1587 0 R 1588 0 R 1589 0 R 1590 0 R 1591 0 R 1592 0 R 1593 0 R 1599 0 R ]
+>> endobj
+1557 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.961 707.957 250.281 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_a318f5f2972203c84ea0fdb4b82bbab1c) >>
+>> endobj
+1558 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.953 707.957 353.252 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1559 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.887 707.957 460.244 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1560 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 707.957 513.996 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1605 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 696.376 178.862 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1579 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 659.14 230.05 670.044]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_a140a26e6f6dc525c742aca71f598ed3c) >>
+>> endobj
+1580 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.866 659.14 327.165 670.044]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1581 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.626 659.14 409.107 670.044]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1582 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 622.278 217.009 633.182]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_a74a772b49c2c3190ad8501ffa0337d2f) >>
+>> endobj
+1583 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.825 622.278 314.124 633.182]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1584 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 537.904 234.175 548.808]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_a5d89173a47e10f469337343cfb807218) >>
+>> endobj
+1585 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.99 537.904 331.289 548.808]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1586 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 501.043 237.492 511.947]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_a6d184edbb85d3c2747bb6097f7de17ad) >>
+>> endobj
+1587 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.352 501.043 394.651 511.947]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1588 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 464.181 242.473 475.085]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_a30161047ab7c47dd7a68a852e98ed83e) >>
+>> endobj
+1589 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.813 464.181 389.112 475.085]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1590 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 427.319 248.56 438.223]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_a6a901364857f84dc0f111a29330c33f9) >>
+>> endobj
+1591 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.376 427.319 345.675 438.223]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1592 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 390.457 243.021 401.361]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_ad6d26ca0f256b0d9a45173e7d83ee4cc) >>
+>> endobj
+1593 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [246.837 390.457 314.124 401.361]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
+>> endobj
+1599 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1603 0 obj <<
+/D [1601 0 R /XYZ 90 757.935 null]
+>> endobj
+1604 0 obj <<
+/D [1601 0 R /XYZ 90 725.058 null]
+>> endobj
+1606 0 obj <<
+/D [1601 0 R /XYZ 90 676.241 null]
+>> endobj
+1607 0 obj <<
+/D [1601 0 R /XYZ 90 639.379 null]
+>> endobj
+1608 0 obj <<
+/D [1601 0 R /XYZ 90 552.983 null]
+>> endobj
+1609 0 obj <<
+/D [1601 0 R /XYZ 90 518.143 null]
+>> endobj
+1610 0 obj <<
+/D [1601 0 R /XYZ 90 481.282 null]
+>> endobj
+1611 0 obj <<
+/D [1601 0 R /XYZ 90 444.42 null]
+>> endobj
+1612 0 obj <<
+/D [1601 0 R /XYZ 90 407.558 null]
+>> endobj
+1613 0 obj <<
+/D [1601 0 R /XYZ 90 355.13 null]
+>> endobj
+425 0 obj <<
+/D [1601 0 R /XYZ 90 247.855 null]
+>> endobj
+114 0 obj <<
+/D [1601 0 R /XYZ 90 241.255 null]
+>> endobj
+1614 0 obj <<
+/D [1601 0 R /XYZ 90 142.783 null]
+>> endobj
+1600 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F79 237 0 R /F85 316 0 R /F23 172 0 R /F72 207 0 R /F11 899 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1631 0 obj <<
+/Length 1827      
+/Filter /FlateDecode
+>>
+stream
+x��YY��6~��ڇ�@��!��(�4��@��OI�*m
�%G������֮��M�d���3�����ދѓ�����D2��7[z{" �S��b��X �O�c<�n���"��/T���ʋ���R�y�&S���eV�b-�}}�����p�2=D��1Ǔ�W�g���-�G̮\ ���،�}�^
�<��
��Y��|��7�ގ�ag�Zƒ�%���2�n�yO)7���y�
lK��
ku����Y@�����P>���E���<����. D��cg��>�8؊��O��A�M	A�;��=�Uo׋�`~�&&ڃ�3���k>�!��lWI*���V����
_8���0I?���4.-"�>$�C��1�>k#�6��$��þ�پ�5L�gU^�pK��8.&L�UYZSC�ј2�����U=�(���ztE뒞/�T$
�H�>���
����7�C���`�D���JY��
�E��[\H�4�Y5T���R� ,D�wQ6Ј;�0�GD�a�0��8g>;��.C�d���ҎD�u�o��S�
�>�%
+��s��'"�A�/ N�L�hX3Q-�f>h���{��YXBF���`_T�c!GBCéH��	rC4��7䶀c)@m
0�˨,�U���MC�m�md㸼��T7s��bM�}s�BʲX܇���s�g�/���9h����6�B��IȠ�	C����X�D�4Y
�|����H�0��t�S�U�*�ue��q��q4@���_f���4����i��"����D�	חC��GT6@�։��>M
׻�;6�`[�p�ͳ8�\E��r�Ѣ�O��>��~��j����G��8UQ���A�q!���}�⾋�O]S�6���Y��
��X���>��I��M$�̺~-��$�A�����?�ݣh�
+m�i�I�}%	nD�yU�m��㛷?Q���yE��`��=Bj,i�.ݯ���|z��R/R�:���Qf�^*:���V�
+��
��n�tN�C��V��Ր
���T�F$����8o�~�~�����+�k�������X6��~���6��(������/�iB�-��r -�dw���9`��/Z���_�6�����}��FU�B��,4QM�l�Bݕ�opNJ�8����;Y�I���1,tj��P�K!
����
+��36�L� %x�B8(������t�j
A[��܅�s��
��<���+Ʌ4�1|UL��*tӑ��%��M�Oᢹ�e��;ܧ���T9?U�H�U�gy����k6ͯ���g�-���r�-�7no w�
"���׆�T�׾��%�L94�3���rH�@��v��	��U��En
+�$Vv�PQ<�3S���h�Щ�L�`	c6X�RWGl'�t�0�W;a�c����ة�n��\�kjD
W�\vosuMBkd���.��)kt�t��
��m�����/`H���@�;:5��.|��狝�Ed�e��u�Ҷ&]3݇{��杧j��[������47W�M�e#M�e?��}s��'r�	��5
<���1Z;�C460��7q"�0|�K�!d��鰣��N�� Pw�5󬕴�e�x�R+��N9B:+9C��>
�%�𛢥��ڿ=y!CAx���GAh:�;�uT�U )���^\"�A�ڐ�ظ��u�^�U\�׿��ET�V�7e�]�R������R�4����
e�Ej�r|��TEٰ*j�S6�E�ު�����?G�߭U�`�e⺪����
-J�˒m������m��Df0m�B�
����9:<����y�
+endstream
+endobj
+1630 0 obj <<
+/Type /Page
+/Contents 1631 0 R
+/Resources 1629 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1534 0 R
+/Annots [ 1594 0 R 1595 0 R 1634 0 R 1596 0 R 1636 0 R 1597 0 R 1598 0 R 1637 0 R 1615 0 R 1639 0 R 1616 0 R 1617 0 R 1640 0 R 1618 0 R 1619 0 R 1642 0 R 1620 0 R 1621 0 R 1644 0 R 1622 0 R 1623 0 R 1624 0 R 1646 0 R 1625 0 R 1626 0 R 1648 0 R 1627 0 R 1628 0 R ]
+>> endobj
+1594 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.34 719.912 347.535 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_a0632eaac5ec676910e433016619b3e85) >>
+>> endobj
+1595 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.585 719.912 513.996 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
+>> endobj
+1634 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 707.957 163.61 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
+>> endobj
+1596 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.767 671.095 513.996 681.999]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_ac23bf247df0b2721e97c8eeb8945adf1) >>
+>> endobj
+1636 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 659.14 155.859 670.044]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_ac23bf247df0b2721e97c8eeb8945adf1) >>
+>> endobj
+1597 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.876 659.14 352.491 670.044]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
+>> endobj
+1598 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.906 659.14 513.996 670.044]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1637 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 647.185 223.943 658.089]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1615 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.209 599.364 513.996 610.268]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_af2932a2fa90f54f604e340d0e2eac7ba) >>
+>> endobj
+1639 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 587.409 155.859 598.313]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_af2932a2fa90f54f604e340d0e2eac7ba) >>
+>> endobj
+1616 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.041 587.409 344.656 598.313]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
+>> endobj
+1617 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.585 587.409 513.996 598.313]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1640 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 575.828 189.622 586.358]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1618 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.62 538.592 351.256 549.496]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_a1842c4ba3cd1adb1e1bccef3cfcfa57f) >>
+>> endobj
+1619 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.585 538.592 513.996 549.496]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1642 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 526.637 189.622 537.541]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1620 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.447 453.222 379.749 464.126]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_a813ac0651ebac0120830cedf1ea58395) >>
+>> endobj
+1621 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.906 453.222 513.996 464.126]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1644 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 441.267 223.943 452.171]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1622 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.942 441.267 356.484 452.171]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1623 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.595 404.405 359.281 415.309]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_af4cdf3fbe1977a24a90904e02efd791b) >>
+>> endobj
+1624 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.585 404.405 513.996 415.309]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
+>> endobj
+1646 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 392.45 163.61 403.354]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
+>> endobj
+1625 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.476 355.588 376.72 366.492]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_af8d741d4315fb12dff45b47979f88808) >>
+>> endobj
+1626 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.906 355.588 513.996 366.492]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1648 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 343.633 223.943 354.537]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1627 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.403 343.633 445.031 354.537]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1628 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1632 0 obj <<
+/D [1630 0 R /XYZ 90 757.935 null]
+>> endobj
+1633 0 obj <<
+/D [1630 0 R /XYZ 90 733.028 null]
+>> endobj
+1635 0 obj <<
+/D [1630 0 R /XYZ 90 688.196 null]
+>> endobj
+1638 0 obj <<
+/D [1630 0 R /XYZ 90 616.465 null]
+>> endobj
+1641 0 obj <<
+/D [1630 0 R /XYZ 90 555.693 null]
+>> endobj
+1643 0 obj <<
+/D [1630 0 R /XYZ 90 468.3 null]
+>> endobj
+1645 0 obj <<
+/D [1630 0 R /XYZ 90 421.506 null]
+>> endobj
+1647 0 obj <<
+/D [1630 0 R /XYZ 90 372.689 null]
+>> endobj
+1649 0 obj <<
+/D [1630 0 R /XYZ 90 297.346 null]
+>> endobj
+426 0 obj <<
+/D [1630 0 R /XYZ 90 178.117 null]
+>> endobj
+118 0 obj <<
+/D [1630 0 R /XYZ 90 171.517 null]
+>> endobj
+1629 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F23 172 0 R /F79 237 0 R /F85 316 0 R /F72 207 0 R /F11 899 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1684 0 obj <<
+/Length 1918      
+/Filter /FlateDecode
+>>
+stream
+x��ZK��6��W���\��HNM�,�4i�٢�4Xh-�KD�J���
��$˲���'Q25��|�<(ckma�b��jv���V������
+��1J����:�qgc<�������OyVYq�eWV<�����2<�V�X�K�n/��
��y*�����ŷ���߮f��h�-R��<���Z&��߰���Fv�[�zVb9Ԇkl}��9ãPa�)
.y
V<R�ݤ�Jdi)u8��΋�:���@��f�SViS�۰2#^�a�i�Lxr&��Y
�(e���\{�Ϯ�[��T�f	�]>W�-K�N��E�T[����{���$6r,B���VJ��+��3.��z,�T���.�	rE���/(�o��ї*_�;{T��zV
Z�� �I�h�a{�ǰ�>1s�u9����=ב�Q���o`�\�S^mD
��	�ʓ�کa�v�
g+u]�ez� 0;�asi��/{
���桺��Ae��� �\��X�ޜ��>�C}��cw�AMڳ���|3
��|��#�:�i��������^Y����H���4��=
+|����R���U5D��C�
 �a
ۄ���H�1��T�*�֣����+��[м
+E
+B�}��;5
+̈́\?��<�݀ ���z �
پ��%v�E��
��x�V�
���/u�����\���5���`mj��a<$6_����1
���{
�d�Z��xV{��7��
BS;@�e߉:��!�Ó����U��U�u�.��r4 at M�6ДST!#Gb_��#���`�1�
�a� X1��.����^�R�=�����;0�<�`k}��&t�	+�]���O�{�`�|윌@?�3M?�����ZX�}�$��!���	��F��
��)HTˇ���݄�*���J�[�5��h����0��g ja��7̂��PN �n���
A�
<
��J��	R��hġv�S�'
��j��C�]�p��.�E6%x�
�
�C����u�b��A���[��'��^��ܨ��[z�:��Y���|��eꥥ�q�	�;h7al���}9�aɣq�
�\a�\�v� �6{�v۽
���[>���c�ծg�EC����o`t�
���H_P��_GZ���K��75��>#e�@mT��hx]�r>���ȇ���*)yp5�9
+��j��N;�l�M�K��!���K:�O�#�
_��;o�x��3��

���{j
S�'�L

Ɣ:��B�%�6E/K��J�i�6p�UZ����+��7���l�q�%�����H�A;�b�<�\�e
}ٿ�ЍN��acG�pS����u&DŽ�d����N�=Zp
,���P2v@"��J��P�#����:V�5k
+OPޜ��+�gy����l�į�d7� "M�R`����Ђv�[���
yR�P�M�q��Ƽ4:ȤtrtK���\�t��;˪�]n�§D�Ð籓�r�`�L�N
#�?Y
'~

�t�8	�8L��AP�
E
i�*�[^7B0ZeE�#�-���@*3׷�\S)T��eX	�
Sn�7RD���$���V�ެ�Q�c!�T����J��^��N���8�?�½�@9/n��H��%�7Ha�KW@�C�

Q���X8l��uS$������6��\�E�fApS�q�$�|S��y����su�[ˏ���-�w2J/�	/N��t">'�t�]�eҜ1��y���J�)�.������DvӼ5�*yU��T
���.��^x
��6��0�y<�
� x.
+��h`bL��Wf�>��S$:�~���-�
+}���)�B���~��M���?kȽn
R�,3����P�V�N.ɋvK0"DBI�/ܜ.(��[f�A�v���!m��������v�E�mR�HT���CR�R3^��&%Y�t�2�סy�k�� 8+��
+endstream
+endobj
+1683 0 obj <<
+/Type /Page
+/Contents 1684 0 R
+/Resources 1682 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1534 0 R
+/Annots [ 1650 0 R 1651 0 R 1652 0 R 1653 0 R 1654 0 R 1655 0 R 1656 0 R 1690 0 R 1657 0 R 1658 0 R 1659 0 R 1692 0 R 1660 0 R 1661 0 R 1662 0 R 1663 0 R 1664 0 R 1665 0 R 1666 0 R 1667 0 R 1668 0 R 1669 0 R 1670 0 R 1697 0 R 1671 0 R 1672 0 R 1673 0 R 1699 0 R 1674 0 R 1675 0 R 1676 0 R 1677 0 R 1681 0 R ]
+>> endobj
+1650 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 649.104 276.535 660.008]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_a303533574d5d5d4d8f58e2d8646baa69) >>
+>> endobj
+1651 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.351 649.104 405.202 660.008]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
+>> endobj
+1652 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.302 612.844 377.134 623.748]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_ac64c8548738734fedbc94f03519b803a) >>
+>> endobj
+1653 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.146 612.844 513.996 623.748]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
+>> endobj
+1654 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.895 600.889 265.437 611.792]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1655 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.028 553.669 411.181 564.573]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_a95c612736a3e7524077dd5c81bf2a105) >>
+>> endobj
+1656 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [422.919 553.669 513.996 564.573]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
+>> endobj
+1690 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 541.714 164.178 552.618]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
+>> endobj
+1657 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.476 541.714 339.339 552.618]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1658 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.749 494.495 415.46 505.399]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_ad4d88d3daaa672264c63c83071c2021b) >>
+>> endobj
+1659 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [422.919 494.495 513.996 505.399]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
+>> endobj
+1692 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 482.54 164.178 493.444]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
+>> endobj
+1660 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.283 482.54 332.146 493.444]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1661 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 446.28 283.977 457.184]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_a9fc89d795c20b4270756269edf1b9604) >>
+>> endobj
+1662 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.793 446.28 438.656 457.184]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1663 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.663 374.52 334.366 385.423]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_a121252cea61436e0df74e008b80c13b7) >>
+>> endobj
+1664 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [343.738 374.52 494.601 385.423]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1665 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 362.564 208.451 373.468]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1666 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 326.304 285.093 337.208]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_a3094a8093769d647b9f477e14d53a3a0) >>
+>> endobj
+1667 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.909 326.304 439.772 337.208]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1668 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.998 290.044 286.066 300.948]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_ae2c6fa9b0155fd9428ff3abcf1a66805) >>
+>> endobj
+1669 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.774 290.044 444.637 300.948]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1670 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [467.73 290.044 513.996 300.948]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
+>> endobj
+1697 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 278.089 268.754 288.993]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
+>> endobj
+1671 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.786 241.829 280.253 252.733]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_a3671e52fd03a1c456c630b7c5c632df8) >>
+>> endobj
+1672 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.75 241.829 440.612 252.733]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1673 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [467.73 241.829 513.996 252.733]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
+>> endobj
+1699 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 229.874 268.754 240.778]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
+>> endobj
+1674 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 193.614 274.573 204.518]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_a68cdbff6e2262bae3295484dbee9ee42) >>
+>> endobj
+1675 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.388 193.614 429.251 204.518]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1676 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 110.894 279.544 121.798]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_a4578b5352510727810a7c3be32208aae) >>
+>> endobj
+1677 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.36 110.894 408.21 121.798]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
+>> endobj
+1681 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1685 0 obj <<
+/D [1683 0 R /XYZ 90 757.935 null]
+>> endobj
+1686 0 obj <<
+/D [1683 0 R /XYZ 90 716.221 null]
+>> endobj
+1687 0 obj <<
+/D [1683 0 R /XYZ 90 664.032 null]
+>> endobj
+1688 0 obj <<
+/D [1683 0 R /XYZ 90 629.794 null]
+>> endobj
+1689 0 obj <<
+/D [1683 0 R /XYZ 90 570.62 null]
+>> endobj
+1691 0 obj <<
+/D [1683 0 R /XYZ 90 511.446 null]
+>> endobj
+1693 0 obj <<
+/D [1683 0 R /XYZ 90 463.23 null]
+>> endobj
+1694 0 obj <<
+/D [1683 0 R /XYZ 90 389.447 null]
+>> endobj
+1695 0 obj <<
+/D [1683 0 R /XYZ 90 343.255 null]
+>> endobj
+1696 0 obj <<
+/D [1683 0 R /XYZ 90 306.995 null]
+>> endobj
+1698 0 obj <<
+/D [1683 0 R /XYZ 90 258.779 null]
+>> endobj
+1700 0 obj <<
+/D [1683 0 R /XYZ 90 210.564 null]
+>> endobj
+1701 0 obj <<
+/D [1683 0 R /XYZ 90 125.822 null]
+>> endobj
+1682 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F23 172 0 R /F79 237 0 R /F85 316 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1722 0 obj <<
+/Length 2036      
+/Filter /FlateDecode
+>>
+stream
+xڽYY��8~�� b
G�U:�ٍ���+z�g�����{���&�pU׿���ac�]U�/F`���S�{+{�f���]�؋Q
�лYz1�DH�Ļɼ/�@��c�W���]�g��d!�-��6Y��c�}��z����~�KY�I��B="1
�������gonf�,�=���	ƽt;���2x����#�^��zep�x�g��a�:
��Á	���2�Cn��J)�˻��/
F�Ek+u��듞�p���M+��y�Ⱥ��s��
�+���"'h�����:&+BAy
BP̭�JxZM{�}�*l+Д��pW at I
��0
��D�� %0K���h
 sI����ʥ��k
��cGs�}�؜p����mć
�V��^ke��tRA�n���"�b'��C0<vS���uSu��,��,�mn-ϋ��3�ˤ�ٕ}f�/d*�&���h���n��L�ނ���ȹ�ڵ��ٵp1+��i
�5�E�7
+C�ш>c�����a�4�� ��Θ���D~?Ô�0 c
T�7�� xYT|
~��%
��6+w�
F!�
�N�d/��P
�o��3���./�(
b
ѷ�?�1��2�zGH����13�FF(�h�Z&۫���R���raehC����^
6{I2��6��fw���{�qE8 +p�"�I4r�J�K�5�J�I=	�p�����K�ΪN��2��
�
&ŌgP�)G���8�b�M6�2]�ߤ�����B������������y���z\�L�kwu���ɔ�4D�����6PE?�T�)���� ��I��6�m�}���/]Ӕ*�!4����:��N$W2N�B56�cX-_�
߳YJ�f��\Y�Iۑ%`�S
� z>�N6!�
���l(��(s���6e�=�9]™��?�/�(����Dl-��@���LIx��0g�kY���)Q at dDx
Ȣ� ;���"yz��@»&
2�m�_�6�7.Ѿ�MZ當�0&�9���#�?TRy�����
�]�`n��
l��F]
Bј_�AsH�ؿь&�犧��x�m�lsSե*9wy&��ʦa�s���j��XסAբܿ���o�����ti��1�
��}
!P��U
+�F�B�@Xo
���t�
ոB3��<��X`���r�_ր�1i\�P�媰�l��F�8���
�z@���<����Z&8G5�k�M�`P��H�P
�/w�t�u�p�@o����S�A�$:^f�����2�!���!w�������СΙ#yCa��v�
� �T�D۬�Inzt��N{P����:��`�؇ImEi����7�;W�Sih�k�� |��Q�KU at lU��i�U�v�^p!�٩��S�M�RH��
9�S�/���
�
��(d�%U�Z��nB�l�C^Ȥ�}�e�N���2i#�L�Su�p:�Ų�m�;j־�n�N����q�ƈW�\��t�� �i��=��=�ku�a���	���b����F��z�>���܈K�>f
#sЍ�:��"�sY�;@tkݹ'r�Jg�E����(���4j�s���c������m�=]��Qbnu�i�f3�s�@3�
 1�����'f��T=*!Dw��U�Py�.o&ϒ���뢳I
(�.�jE [...]
��Xǚ�|�\�o�F��٣�Y�Dl.�Xk��:o[}�7�E��d���S�"�Af�y}�:���-/���c}�
�z���
�~�+kεK��K6f�3�D�U��<v�C�ds#�U!.��0���
�-��E�}�
A�
�#"���
���So���r�Ymo?��j�mD߼�ϒb�KVr�G�������ex�&����Ԓ��݇!*�+������
c���2�����P�OC붭~�����Gi�vE^�(o�!K\ґ^
+��"�ơ#��ґ����[�$
D�O-��
+endstream
+endobj
+1721 0 obj <<
+/Type /Page
+/Contents 1722 0 R
+/Resources 1720 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1534 0 R
+/Annots [ 1678 0 R 1679 0 R 1680 0 R 1702 0 R 1703 0 R 1704 0 R 1705 0 R 1706 0 R 1707 0 R 1708 0 R 1709 0 R 1710 0 R 1711 0 R 1712 0 R 1713 0 R 1714 0 R 1715 0 R 1716 0 R 1719 0 R ]
+>> endobj
+1678 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.144 719.912 357.416 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_a22e81aa8cd862935e9a0abab515cf838) >>
+>> endobj
+1679 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.27 719.912 493.12 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
+>> endobj
+1680 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 707.957 241.637 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1702 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 636.873 291.738 647.777]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_abc859551651eca1bcc3839f62d45dbfe) >>
+>> endobj
+1703 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.554 636.873 446.416 647.777]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1704 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.098 600.859 296.048 611.763]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_af29295940b1ad0b6b48cc44e92f04060) >>
+>> endobj
+1705 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.133 600.859 513.996 611.763]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1706 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.891 552.889 299.822 563.793]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_ad00a2a1877537fa49a41013078ee2bb6) >>
+>> endobj
+1707 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [352.559 552.889 503.422 563.793]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1708 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.743 504.92 310.762 515.824]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_aa6324c2e330df63ad428eec9182fcc4d) >>
+>> endobj
+1709 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.215 504.92 470.077 515.824]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1710 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 456.95 300.585 467.854]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_aaf6f8270e3742973e0df7dcc9132f7ae) >>
+>> endobj
+1711 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.4 456.95 429.251 467.854]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
+>> endobj
+1712 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.175 144.644 245.284 155.548]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a9c2a70f5f90ec3da123f549d6ca9fe4a) >>
+>> endobj
+1713 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.168 144.644 342.698 155.548]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
+>> endobj
+1714 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.027 144.644 498.753 155.548]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1715 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.722 132.689 284.277 143.593]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga5b805182b79b6fb873d0624f7dfd2ee1) >>
+>> endobj
+1716 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [292.526 132.689 390.019 143.593]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1719 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1723 0 obj <<
+/D [1721 0 R /XYZ 90 757.935 null]
+>> endobj
+1724 0 obj <<
+/D [1721 0 R /XYZ 90 733.028 null]
+>> endobj
+1725 0 obj <<
+/D [1721 0 R /XYZ 90 651.739 null]
+>> endobj
+1726 0 obj <<
+/D [1721 0 R /XYZ 90 617.747 null]
+>> endobj
+1727 0 obj <<
+/D [1721 0 R /XYZ 90 569.778 null]
+>> endobj
+1728 0 obj <<
+/D [1721 0 R /XYZ 90 521.809 null]
+>> endobj
+1729 0 obj <<
+/D [1721 0 R /XYZ 90 473.839 null]
+>> endobj
+1730 0 obj <<
+/D [1721 0 R /XYZ 90 422.449 null]
+>> endobj
+427 0 obj <<
+/D [1721 0 R /XYZ 90 316.87 null]
+>> endobj
+122 0 obj <<
+/D [1721 0 R /XYZ 90 309.613 null]
+>> endobj
+1731 0 obj <<
+/D [1721 0 R /XYZ 90 211.331 null]
+>> endobj
+1732 0 obj <<
+/D [1721 0 R /XYZ 90 159.511 null]
+>> endobj
+1720 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F79 237 0 R /F85 316 0 R /F23 172 0 R /F72 207 0 R /F11 899 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1768 0 obj <<
+/Length 2101      
+/Filter /FlateDecode
+>>
+stream
+x��Zݓ�6�����Uk�>$O�Mvk����f��a�r1F����<��_-$0x���{w/������O��-=콿�������^�����‹�'�%�]�}�%"b2%c�(���R'��*Se\�嬎��)���ժ\�se/?��*'$�Uf�H�8���v���w7��!0=�H3��H2��W7_~�^�?z�(�Q+�S�����?n�[���F%�T"D� $HB����+��YN���e*@I�ծ�,�\�u~nՌ25��ڶƟ��g�^͊|#��n
�
�S���Rn߁�h"�ܲ*a�XxK}����c�%,�
�n���
᱀�ǦTb�����"!��o�	���kU��C����!�ή/�m�
��~^����|�u�O5!~9��ϧ`F�U:���ެ
+��F�(譓2�".[?�!LzER6�C!�� l
�� t�M{��d�	��Uj�-�c���8KR��E^�{���K�
���[��=1��ͱ��o�G��m�4�3�Ib
^Uvɡ�-Y�b����`.P
�
+��}��l`�؂��	�Z:8+l �=a�(��V��F�ec�Q�4
��
�1��:Jb�a�gU=�Z�3
+<�U�lBh�*
O

�`+�0F�[�4����� [6
#�3lȚz��</�m��K&�
�� (����	��r!e&���6�L{�Y��q!�>�Eu,�juH���
!F4
�A�?ʨ	~�(
�@�2
��qU�evF���1'%��=�"�x)!�Axz�T��5����T��Z�g�nZ��$
��l@ִ^�l$2�,�cgX�pB��`�|DN�(�v7�옔 ~&�G �
�͍��Z
��q��E�E��R4�܃��l±��:qyM�뎘^:&�,y��o�
Ð`Q��턯����jm�gk�y^:Z*�,љK�]_n��B�t��VÕ�*��q�:0߫�é�+��GJπx�F���A�
bޭ�y
�Zg�6��>���]���D/��4}�E�8b�z���L�8���C��`�ӚLs�%��b�S�®��/��Xڠj3��
�/�a�cr�ձ!�a�t	�q��RŽ�V#qb�

�����8���x4
t&r"MB���ir�n�_#�Ϫ^��696�
�'n��#v-�Q��%v6��1��s�0�
��k���,�����E ���p+z4k�K���7B"F��m��q��&'{��%���pEU��l��|�8�)$[�
���:���#�pd7#
<����p�b@�W�0j(
�W��Dl<��+�{o���`
�
��!�$���8���h�
,���g�u{�_��j�J���1	`�b_� �dt&̀4�׃��?�������ҵ~T��V�}-!�v�
=\����)`C0	�I�R�9�\�䍹|��� ��
7um���ZW&Z,�r?�RD�-h��T�
s�0���l���շ�S�J��
�`(e!

�`�̱d�ʇ��Q&�+��Y�+�
7
����Qxo���L4�Y��ڕV�6�u?��_7N\v�Y�.�٪:��2'�!
�V�b]������N�)��B��F��gE	#�ra��kb�Y��
$
AW
� ��Tu��ǎfE�\*�0(� ���8�݇�?X�%&�q~�k��.U�:b׾2��iյ��uJDߖ�6hG�< �C�\<D z���W��g��&�[�Hp҇���Y���(Ba��
�����4�O�_�~������1��l/�E�I��I������� [...]
+`�>

+w�
�\���8W#�'B�C��:�Ƅ�C���cFqm\�y�\�ӎ�E���8����
+0b�dQA�K"�|���d� �6-_��
+��
�^W��' ���~��~~�H��}Q���N~�&
+��z�\9*����*)��G}_ƥ{Q�����r
/U��+�'t��P����Zνl��u�J��G3�*7�ju
W����#C���^��� �����|0ә��ono���мB�L%��-���e���Bt��*/��.3%l����K�?��
+endstream
+endobj
+1767 0 obj <<
+/Type /Page
+/Contents 1768 0 R
+/Resources 1766 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1786 0 R
+/Annots [ 1717 0 R 1718 0 R 1733 0 R 1734 0 R 1735 0 R 1772 0 R 1736 0 R 1737 0 R 1738 0 R 1774 0 R 1739 0 R 1740 0 R 1741 0 R 1742 0 R 1743 0 R 1744 0 R 1745 0 R 1746 0 R 1747 0 R 1748 0 R 1749 0 R 1750 0 R 1751 0 R 1752 0 R 1753 0 R 1754 0 R 1755 0 R 1756 0 R 1757 0 R 1758 0 R 1759 0 R 1760 0 R 1761 0 R 1762 0 R 1763 0 R 1764 0 R 1765 0 R ]
+>> endobj
+1717 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 708.95 310.289 719.854]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a6cb7351e1bb87181f7e6c946db398b5b) >>
+>> endobj
+1718 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [314.104 708.95 404.634 719.854]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
+>> endobj
+1733 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.77 663.115 338.282 674.019]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_acc700387404f10208584c1a847a6f328) >>
+>> endobj
+1734 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.762 663.115 436.292 674.019]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
+>> endobj
+1735 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 663.115 513.996 674.019]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1772 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 651.16 197.911 662.064]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1736 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.537 605.325 345.607 616.229]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a2a64fe7b9774c990bd9db8aecd2dacea) >>
+>> endobj
+1737 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.854 605.325 442.384 616.229]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
+>> endobj
+1738 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 605.325 513.996 616.229]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1774 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 593.744 197.911 604.274]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1739 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 558.494 249.656 569.398]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a9b452ce4baaf1c1644a6eb33658ae48a) >>
+>> endobj
+1740 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.472 558.494 370.014 569.398]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1741 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.361 490.54 295.743 501.444]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a85958538f17770d4ae66bcd179d747a1) >>
+>> endobj
+1742 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.813 490.54 417.355 501.444]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1743 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.64 490.54 513.996 501.444]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1744 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 443.709 243.021 454.613]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_adfc86b3b2966514ba2e2292584f68c08) >>
+>> endobj
+1745 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [246.837 443.709 363.379 454.613]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1746 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.981 408.833 270.544 419.737]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a99aac01eb1b8adc3667bbd3db68e8d34) >>
+>> endobj
+1747 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.235 408.833 393.777 419.737]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1748 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.708 408.833 494.065 419.737]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1749 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 396.878 196.576 407.782]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1750 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 362.002 253.293 372.906]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a8b96d560404b7b7ee0ec7ea1aef80280) >>
+>> endobj
+1751 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.108 362.002 373.65 372.906]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1752 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.111 362.002 455.592 372.906]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1753 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 327.126 240.252 338.03]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_aa8e9420c29d8c75e775c4fd609830769) >>
+>> endobj
+1754 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.068 327.126 360.609 338.03]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1755 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 248.213 257.417 259.117]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_afb6f23292760d6d55c57b5722f604897) >>
+>> endobj
+1756 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.233 248.213 377.775 259.117]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1757 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 213.337 260.735 224.241]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a0ca9a6d6894e381babab8f958c194f07) >>
+>> endobj
+1758 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.595 213.337 441.137 224.241]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1759 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 178.461 265.716 189.365]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a3fc151fc10282a5ede395e9b8a5502e2) >>
+>> endobj
+1760 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.056 178.461 435.597 189.365]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1761 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 143.585 271.803 154.489]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_ac5a83c9e42e34b313e12a6cef4470a75) >>
+>> endobj
+1762 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [275.619 143.585 392.161 154.489]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1763 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 108.709 266.264 119.613]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a190a7c46776178432e89c9525db039ab) >>
+>> endobj
+1764 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.079 108.709 360.609 119.613]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
+>> endobj
+1765 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1769 0 obj <<
+/D [1767 0 R /XYZ 90 757.935 null]
+>> endobj
+1770 0 obj <<
+/D [1767 0 R /XYZ 90 725.554 null]
+>> endobj
+1771 0 obj <<
+/D [1767 0 R /XYZ 90 679.72 null]
+>> endobj
+1773 0 obj <<
+/D [1767 0 R /XYZ 90 621.93 null]
+>> endobj
+1775 0 obj <<
+/D [1767 0 R /XYZ 90 575.098 null]
+>> endobj
+1776 0 obj <<
+/D [1767 0 R /XYZ 90 505.122 null]
+>> endobj
+1777 0 obj <<
+/D [1767 0 R /XYZ 90 460.313 null]
+>> endobj
+1778 0 obj <<
+/D [1767 0 R /XYZ 90 425.437 null]
+>> endobj
+1779 0 obj <<
+/D [1767 0 R /XYZ 90 378.606 null]
+>> endobj
+1780 0 obj <<
+/D [1767 0 R /XYZ 90 343.73 null]
+>> endobj
+1781 0 obj <<
+/D [1767 0 R /XYZ 90 262.795 null]
+>> endobj
+1782 0 obj <<
+/D [1767 0 R /XYZ 90 229.941 null]
+>> endobj
+1783 0 obj <<
+/D [1767 0 R /XYZ 90 195.065 null]
+>> endobj
+1784 0 obj <<
+/D [1767 0 R /XYZ 90 160.19 null]
+>> endobj
+1785 0 obj <<
+/D [1767 0 R /XYZ 90 125.314 null]
+>> endobj
+1766 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F23 172 0 R /F79 237 0 R /F96 1571 0 R /F37 1572 0 R /F85 316 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1813 0 obj <<
+/Length 1863      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~�����@��N�
��`]7lm���j)�0[�d�Y��wx��J�4�ð=�:��s�>�CG�G�����
+GiIetqi
)I��$�H�c���L	�x�ݮfo�"K�٫�����l��7ŬJ�)x�cQe�e2����2s�
+#"1��X�ɧ�7�W�?G����
+��|=��	G)��D1
GW��:��s��6·Z@�R�D�
/�*�WY��{���e������k![�hJ9b\�q.&1
_o�
���8)R׸�s3��_nJ�X���Ȋ�L�M�C�)gx|��ܗ�`<r������L���,�垹
DŽ���AZx�T�	�+ۣLw�	J�����q��:����fB�€ߤ@,��d�j
Q0�B�r�ѥ�I����YQ%6V�̆F��w�յƊ����wK�e�Y�!�0�j�,�
�؏�U��B2`*"q��
���)�^�³b>[fI
+Nb��ދ�k�ij|2
C�?�d'�ֽ�+�D�m���2���`�VN�
���l��~���>�z��)R�i���Ƃu ��
��
���������M�)�Q�����w٪����
w:�#��M�h%U
��&�o�q��?ge���"
H�g� �Q��Q:5^� U���U��Ϣ0<���9ߵ3[�N�0	��n�<ы��].�"��v0���%Z�?�

�q�>91z�@rh����d�q6X�tLj����¡�����R`.\��,^���@*��n5/,y���&�6��ؐ���
c��M�e�M��u
+Ɓ��e��:� ��5|�a�oM���o�i�0s$+�������h���Y���m[�V���
@^[x�l
Xhp�ᛋN,Z^&��X�V|����$a��j�w��I.M8'��'D��1?�ʫ嬎B����C
�}Y��;���"S��S��ϝ��6rf��!���-�{7�I
u�QȄ�Qh>
���xfĆgf
o�/�̼a�0<3���R��5p�ؚ)|�r�

��	���,�^�P_i&���}(ʈ����\�;Y1"��� ������+k������z�
�
�8�|��R�`���I5
5�A*
j+�[�	d,����7�k��\!6��ۖa`b�j�>3鯡[KӚY�v�R~u0
Ϭ�Wf^�N�Qv��#*Y���1������	ȿ�
+p��	�ǵ>�~��M���� ��9&��t���
��V`�Hb�e_c�0����ʦGx�ڃ�C�6#��Fe����'>
[��w����g�O&�
�((gږrV����(g�jS�e�˕��1�R�aIOi0�<^�#���MQ�`�	v���i���Q8Ga{¢T2�9BBe�̵�Ô[|��
�
=ܣ�
�q���>C���
<�x���:(7�-�`
W
�}k�A۱w�I�uF��k=�@�?�:�ّ�nQ���]��䏱�aNOXbJ9@;J`�#��k,}�TG��
��K.9��|�~��,�s;8�3z�;�\SΛ�R5y��i]ZJ��LÕ��]Z�^�3�.�4�~7���}�� ����4W_]
�:��c
�(��8�t��\�{�:��C�����Lx�SwC[�.�S����Z/��<��]s�Q�V
I�=�'���(_g?��gtZzI;��k���T"�{[�
�`
+{U��l�_�ŽS��ػV{�
+���ݱ
+���/�~��*׉ݬ��YZ�׷��2)���
/K��>Yd�;���ﻬ��\�����boO����3eV6.�P�d#w��>
���GZ?���Sc��4 �vᲪ�O�ή���|��E�-Q^���Q�Q�EՄ��֛p+� \ۻ΃(�� 
+endstream
+endobj
+1812 0 obj <<
+/Type /Page
+/Contents 1813 0 R
+/Resources 1811 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1786 0 R
+/Annots [ 1787 0 R 1788 0 R 1789 0 R 1790 0 R 1791 0 R 1819 0 R 1792 0 R 1793 0 R 1794 0 R 1821 0 R 1795 0 R 1796 0 R 1797 0 R 1823 0 R 1798 0 R 1799 0 R 1800 0 R 1825 0 R 1801 0 R 1802 0 R 1803 0 R 1827 0 R 1804 0 R 1805 0 R 1806 0 R 1829 0 R 1810 0 R ]
+>> endobj
+1787 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 463.365 254.399 474.269]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_aa891671c2b9414353067da44a108ac1d) >>
+>> endobj
+1788 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.214 463.365 360.928 474.269]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+1789 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.099 416.542 332.581 427.446]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a512810c3e349a2f01217c6e426645260) >>
+>> endobj
+1790 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.39 416.542 448.104 427.446]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+1791 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 416.542 513.996 427.446]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1819 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 404.587 190.738 415.491]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1792 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.77 357.764 359.65 368.668]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_afc650c1c744fbfc4dbd15293b9827776) >>
+>> endobj
+1793 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.13 357.764 466.843 368.668]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+1794 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 357.764 513.996 368.668]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1821 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 345.809 236.107 356.713]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1795 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.589 298.986 327.725 309.89]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a7d65378709f5a0c73e711f5528385990) >>
+>> endobj
+1796 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [334.024 298.986 436.738 309.89]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+1797 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 298.986 513.996 309.89]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1823 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 287.404 176.352 297.934]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1798 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.985 240.208 326.438 251.112]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a9ab7b109b1acae567c915b1db83b5283) >>
+>> endobj
+1799 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [333.133 240.208 435.847 251.112]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+1800 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 240.208 513.996 251.112]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1825 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 228.252 174.668 239.156]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1801 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.03 181.429 332.792 192.333]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a1c54d4109f395752ea23822cee000d04) >>
+>> endobj
+1802 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.532 181.429 440.246 192.333]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+1803 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 181.429 513.996 192.333]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1827 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 169.474 182.977 180.378]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1804 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.637 122.651 350.332 133.555]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_af99b9dc1c16751ce872dab5245c22fdf) >>
+>> endobj
+1805 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [357.679 122.651 460.393 133.555]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+1806 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 122.651 513.996 133.555]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1829 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 110.696 223.923 121.6]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1810 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1814 0 obj <<
+/D [1812 0 R /XYZ 90 757.935 null]
+>> endobj
+1815 0 obj <<
+/D [1812 0 R /XYZ 90 733.028 null]
+>> endobj
+428 0 obj <<
+/D [1812 0 R /XYZ 90 635.411 null]
+>> endobj
+126 0 obj <<
+/D [1812 0 R /XYZ 90 628.037 null]
+>> endobj
+1816 0 obj <<
+/D [1812 0 R /XYZ 90 529.789 null]
+>> endobj
+1817 0 obj <<
+/D [1812 0 R /XYZ 90 478.194 null]
+>> endobj
+1818 0 obj <<
+/D [1812 0 R /XYZ 90 433.393 null]
+>> endobj
+1820 0 obj <<
+/D [1812 0 R /XYZ 90 374.615 null]
+>> endobj
+1822 0 obj <<
+/D [1812 0 R /XYZ 90 315.837 null]
+>> endobj
+1824 0 obj <<
+/D [1812 0 R /XYZ 90 257.059 null]
+>> endobj
+1826 0 obj <<
+/D [1812 0 R /XYZ 90 198.281 null]
+>> endobj
+1828 0 obj <<
+/D [1812 0 R /XYZ 90 139.503 null]
+>> endobj
+1811 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F79 237 0 R /F72 207 0 R /F11 899 0 R /F23 172 0 R /F85 316 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1867 0 obj <<
+/Length 1899      
+/Filter /FlateDecode
+>>
+stream
+x��ZY��4~�_�7�b��dI��'XX
+X����a�Jyb%��G���_O˒��q�I�'Q�[�_�2vVv���������
��
+�f����A��&t>L<D�tF0Ɠ�:���R��o�Z�S"'�(�,���j:�
O�KK�/��2�o�R�u�~E$er�����ﯾ�����!W�!���"���;vBx�����K�Z�8��p��wW�^a��}�jg\tvF��P�A�R����q��9f
���}���WVη��x�� v?%�U:��M���F;V3�<K�J3��9j�1�{Yn���.!6	��Ř�"6�K
����
4�sn4��Ң<��� 7��T_X>0�`��"�
�\他ח@z�,��,����˖�Z�Y8ŕP�^M)�h�ޤU��k�{<	>q*v �Y�L"W�zM�
��%�^�
�"q�z
�H��
0gK��n(E>>
�ܸi�bU�#���$H��XD�n#}D|�N��q�*� p�a�
$!by��~�^��'��ʻ�RO�?� e�����E�[���4�R����iQy���)�{��� �-�oU�ϱ
+
+�#���n��	ĥpf��8q��^o�E	�i������\���0Z>n��M���q�'�vtu�`�$g�b��'�kH+�0JT:����rE/V#��0��Ci#�|\�-�A&j�' z�&}��5 !_�zMr��͸ ��^�[
��5�\��װp&�JۘYC����m
U����)��CN��ǟV��
�aՕt*�ZN��ޘ."���R�%a�%E%#�#����x=���˫�]���I��0���Q�Q0�J��\���H������2D��h�z�>ȣ�v0��弆#,<XOD�E�����g�*)r�
����=^�wY��T��M1�!�&�qvI7Ѣ����
���
+q��7�uͪ*n*�[$j�� z]-\��aL�'B�A5�.Y�B��>�Z�F�����U�*0�uVDet��L|�w�C��qn�DC������(�Hc���}PU%
w�,OT�
�-"T��zd���4k���
+�:�����M��c9�
JS%T�1�?��֑���o
e�
�� ,����ڊ�>2
��Z�w�zO��%�S�,*j��
�z⏫�E�מ�t��O2�7Eә
7�
���� 4j�%u��nS�q�4�M�VũeE�P�=�Y�'*��<�߸�@���_o�^�!�RbX�ʗ[ �Һ���.։�
�T��� �����v�O�E�m=�h���
+(����\�ć�v�P̃\
�L�y:����38���E ���C;3��~wփ/�
1�.����WvA
���
B�w
���L��.9rb�c���NJ�+��R���pgJ�
+�:�(��6u���I���e��a8��Co(�Ku��Πz/f�7C]�tM�?�t�3D[/�ۖ
+�{mi�{� ���R��S:�#trc��ͨXwGE�X�Op-Tie���U����G
|�W�5N�E�&�'��R��ĸc�c:��
I���Y
��qu�e��\qv L�Z�
�:��b��A���7]�8����:q�s�.<N���8�P�
���i�Z	i�P� ��]i
+�&4~h*}�:4��<%>��2���sQ�Ծ*%�c �
؊�m��!K
wP�	]s���0vr��T��8�N+Ky at agNl�6:� ����f|�
9䵱����oO�>��~zRZ"���~4�}�93�nj5�R�/O�
�d��
+�nn� �M�+�.HW�`�����t�T�
�6�|R�
J�	lϧ�y�Y��=y��E4
��靪
o��?���
+��e���X�,�/��

Т@�4Z�(*��׻�NK�
�Z��#�$˛Ĩ'��p�J� � <�
+endstream
+endobj
+1866 0 obj <<
+/Type /Page
+/Contents 1867 0 R
+/Resources 1865 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1786 0 R
+/Annots [ 1807 0 R 1808 0 R 1809 0 R 1870 0 R 1830 0 R 1831 0 R 1832 0 R 1833 0 R 1834 0 R 1873 0 R 1835 0 R 1836 0 R 1837 0 R 1838 0 R 1839 0 R 1840 0 R 1841 0 R 1876 0 R 1842 0 R 1843 0 R 1844 0 R 1845 0 R 1846 0 R 1847 0 R 1880 0 R 1848 0 R 1849 0 R 1850 0 R 1851 0 R 1852 0 R 1853 0 R 1854 0 R 1883 0 R 1855 0 R 1856 0 R 1857 0 R 1885 0 R 1858 0 R 1859 0 R 1860 0 R 1864 0 R ]
+>> endobj
+1807 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.052 707.969 367.489 718.873]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_abbbdd7f3c4800ef97b642142cd68648d) >>
+>> endobj
+1808 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.251 707.969 473.965 718.873]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+1809 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 707.969 513.996 718.873]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1870 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 696.014 236.107 706.918]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1830 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 659.177 261.841 670.081]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_af232ff2f43109950ac1b0f5d124cf4cc) >>
+>> endobj
+1831 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.656 659.177 394.382 670.081]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1832 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.303 585.829 315.869 596.733]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a643dad56c4e24b32e2c4951aee7a6822) >>
+>> endobj
+1833 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.881 585.829 457.607 596.733]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1834 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 585.829 513.996 596.733]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1873 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 573.874 190.738 584.778]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1835 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.417 537.037 281.164 547.941]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a86c148ed14d1a2781e07bea5be7fb434) >>
+>> endobj
+1836 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [286.291 537.037 415.017 547.941]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1837 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.64 537.037 513.996 547.941]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1838 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.151 525.081 213.632 535.985]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1839 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.135 488.244 329.415 499.148]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_ae7af7908bffe9b331262dcf8fd020b7f) >>
+>> endobj
+1840 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [338.259 488.244 466.985 499.148]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1841 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 488.244 513.996 499.148]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1876 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 476.663 178.862 487.193]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1842 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 439.452 252.436 450.356]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_ae861c5919e346c3966c43edc4cd47276) >>
+>> endobj
+1843 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.252 439.452 384.978 450.356]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1844 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 391.656 266.822 402.559]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_ab348eeffa0a61124b880932c35d0188b) >>
+>> endobj
+1845 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.637 391.656 399.364 402.559]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1846 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.196 354.818 377.816 365.722]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a5f05719adb05b4fc86b33bbcf63884eb) >>
+>> endobj
+1847 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.722 354.818 513.996 365.722]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1880 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 343.237 129.857 353.767]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1848 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.97 269.515 311.817 280.419]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a225478fba412d40b785e2b41809cc90d) >>
+>> endobj
+1849 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [315.497 269.515 418.211 280.419]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+1850 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.64 269.515 513.996 280.419]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1851 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.151 257.56 239.644 268.464]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1852 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.051 209.764 336.188 220.668]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a84c2e36e2ae01775ce542ebc83739726) >>
+>> endobj
+1853 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [342.948 209.764 445.662 220.668]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+1854 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 209.764 513.996 220.668]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1883 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 198.182 178.862 208.713]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1855 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.266 160.971 350.567 171.875]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_abfe9ef58fb96938e1c26b63e2b4ce0d1) >>
+>> endobj
+1856 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [359.543 160.971 462.257 171.875]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+1857 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 160.971 513.996 171.875]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1885 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 149.016 236.107 159.92]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1858 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.666 112.179 379.739 123.083]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a3530a20e5985d6da8acabad37bfe0e93) >>
+>> endobj
+1859 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.115 112.179 491.828 123.083]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+1860 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 100.224 253.821 111.128]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1864 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1868 0 obj <<
+/D [1866 0 R /XYZ 90 757.935 null]
+>> endobj
+1869 0 obj <<
+/D [1866 0 R /XYZ 90 725.064 null]
+>> endobj
+1871 0 obj <<
+/D [1866 0 R /XYZ 90 676.272 null]
+>> endobj
+1872 0 obj <<
+/D [1866 0 R /XYZ 90 600.901 null]
+>> endobj
+1874 0 obj <<
+/D [1866 0 R /XYZ 90 554.131 null]
+>> endobj
+1875 0 obj <<
+/D [1866 0 R /XYZ 90 505.339 null]
+>> endobj
+1877 0 obj <<
+/D [1866 0 R /XYZ 90 456.546 null]
+>> endobj
+1878 0 obj <<
+/D [1866 0 R /XYZ 90 408.75 null]
+>> endobj
+1879 0 obj <<
+/D [1866 0 R /XYZ 90 371.913 null]
+>> endobj
+1881 0 obj <<
+/D [1866 0 R /XYZ 90 284.588 null]
+>> endobj
+1882 0 obj <<
+/D [1866 0 R /XYZ 90 226.859 null]
+>> endobj
+1884 0 obj <<
+/D [1866 0 R /XYZ 90 178.066 null]
+>> endobj
+1886 0 obj <<
+/D [1866 0 R /XYZ 90 129.274 null]
+>> endobj
+1865 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F79 237 0 R /F85 316 0 R /F23 172 0 R /F93 504 0 R /F91 1184 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1904 0 obj <<
+/Length 1615      
+/Filter /FlateDecode
+>>
+stream
+x��XYo�6~��ڇJ��!)Q�E��
��9��
�]�M�Bu������C��%[��N���d8���9�����_'���
�.u�����]�%�df|19"����Z���h
�s�xfv
�$(Å5�
����<�
+��R�E%&�j	�E�Z�&�Ǔ���c�T�1��͌i2��
3X�d`d��q[I%�Cmx�����ֶ?�|bn�'B8rA'�+ǾR�*s��3�
x��^���
m�e%�xnC���h��Q*�<8�[�(�,
���L�-�̯�i$��>R�W��U�l鶈�A$�4����X�{�n�J�4K�2JA�C��C��gLa�c��V2�)�N:�'��ž�:��dž=l�ׄ:��)��KM��rV�
�b��ln*T�f'
k��>b� VjgE���x��H-s}߫q��"i�:����
�gjH<��m�
ͿQ�Z��
��u:-�٢��6�m�0cH	���,7����`���.��"�4i�v�E/��K$J��.����'�Xo:bw=���e֣�G��Z�(gٺ�^6E�ō�8}��� �<��'����dtz��KZ
�l�ڵ[�
l%�q�A��de.����F�=��4��񣛪эH�k����
.��]x�L ��gg�

+�Rh����G!q��
z�G��n��Y�)��+�(T�$��l:������U�?J�滎�*�d���5�.��E��T?�B=U�,�yZk���>����߁��*{��#��%�����U��i�u�z�j�c�@ִm�d/O���M\�u�y��ȇ:+U���P�R�х����k��A�e����{3�(�^7��t at l���!v�Y8�>v�Wp��[���N^QH�.w��:���+9�9�ټ���,Yҧ�C���c���v�.s"�Qw(L���]D�|$�0���z$�i
��fD���Bَ��L,��+Q����nΛ��Z�g�zٌD��L�
�
+d
m�Ւ�f����*���M4�F%�J�fj~���q.�V3�C��9�Z�gE�
8
Zz�al�lO}
H9����̠
"Dβ�BڞIݮͲ�:�2Tc!{��jV�u}P���
��|S��9P���3��ײ���i,�w=�Ɂ�s�㉫�Q�R�3@�1-5��P�S��*�����
/n^�i\�w��
��
M^�Q ���QE�Q{���x=���&���ߜ�{tqĝ�Ĵᬡ�蓃�����v�q���vC~�AII^�xÍ�
�8|���ge}h�aِ�Ћa�_�LLDr]��
��l�v���i���>��b�&+���)
+u�����ip1���F~�!�dtq
�]

g��.?�$<ykp��DS����$����*Q��� ��K}� ���ڕڔ�t+��5:C���M�����wi9ؼ�xz|\M,�65N�����'��FU
�c����
�A�y�u}%�"�C�V���G�9[�j,�
+�D�}�,�_�Y��F�y���C���u��l�)c�
��$����ga�c��ao�"/��a(�2��&]	�!Q��e�o�
�d��:�\X�n�e�zpp{{��Z��*GQy Y�`7�l�"��F�.
IVg�(�Ť�X�U��1
+endstream
+endobj
+1903 0 obj <<
+/Type /Page
+/Contents 1904 0 R
+/Resources 1902 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1786 0 R
+/Annots [ 1861 0 R 1862 0 R 1863 0 R 1907 0 R 1887 0 R 1888 0 R 1889 0 R 1890 0 R 1891 0 R 1892 0 R 1893 0 R 1894 0 R 1895 0 R 1896 0 R 1897 0 R 1898 0 R 1899 0 R 1901 0 R ]
+>> endobj
+1861 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.455 707.984 338.122 718.888]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a8172cf537ccecb7826eb21837b8d7e7b) >>
+>> endobj
+1862 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.288 707.984 447.001 718.888]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+1863 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 707.984 513.996 718.888]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1907 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 696.402 178.862 706.933]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1887 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 622.76 269.601 633.664]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a690fbcd5ef7202e646b30d92bdadcc29) >>
+>> endobj
+1888 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.417 622.76 402.143 633.664]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1889 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 585.952 272.919 596.856]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a46773b226d490e5bbf6f3d587cf29dc4) >>
+>> endobj
+1890 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.779 585.952 465.505 596.856]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1891 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 549.144 277.9 560.048]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a50bcfefbf053e770951fa02c2e2eb112) >>
+>> endobj
+1892 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [331.24 549.144 459.966 560.048]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1893 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 512.335 283.987 523.239]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_ac21bf6dd42b915ff6f157fb73fe396e0) >>
+>> endobj
+1894 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.803 512.335 416.529 523.239]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1895 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 475.527 278.448 486.431]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_af78187771d58e90c174eeba577a471d5) >>
+>> endobj
+1896 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.264 475.527 384.978 486.431]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+1897 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 160.881 346.513 170.809]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_adf86eb3611cbe63b34ef195bc87a7312) >>
+>> endobj
+1898 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 124.073 342.637 134.001]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a32423400858178cc05f325962afd44e2) >>
+>> endobj
+1899 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 87.265 338.045 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a8efd1f7de8fb2bbe6e33aff1d4184078) >>
+>> endobj
+1901 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1905 0 obj <<
+/D [1903 0 R /XYZ 90 757.935 null]
+>> endobj
+1906 0 obj <<
+/D [1903 0 R /XYZ 90 725.071 null]
+>> endobj
+1908 0 obj <<
+/D [1903 0 R /XYZ 90 637.825 null]
+>> endobj
+1909 0 obj <<
+/D [1903 0 R /XYZ 90 603.039 null]
+>> endobj
+1910 0 obj <<
+/D [1903 0 R /XYZ 90 566.231 null]
+>> endobj
+1911 0 obj <<
+/D [1903 0 R /XYZ 90 529.423 null]
+>> endobj
+1912 0 obj <<
+/D [1903 0 R /XYZ 90 492.614 null]
+>> endobj
+1913 0 obj <<
+/D [1903 0 R /XYZ 90 440.252 null]
+>> endobj
+429 0 obj <<
+/D [1903 0 R /XYZ 90 333.084 null]
+>> endobj
+130 0 obj <<
+/D [1903 0 R /XYZ 90 326.442 null]
+>> endobj
+1914 0 obj <<
+/D [1903 0 R /XYZ 90 227.982 null]
+>> endobj
+1915 0 obj <<
+/D [1903 0 R /XYZ 90 174.97 null]
+>> endobj
+1916 0 obj <<
+/D [1903 0 R /XYZ 90 140.184 null]
+>> endobj
+1917 0 obj <<
+/D [1903 0 R /XYZ 90 103.376 null]
+>> endobj
+1902 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F79 237 0 R /F85 316 0 R /F23 172 0 R /F72 207 0 R /F11 899 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1951 0 obj <<
+/Length 1834      
+/Filter /FlateDecode
+>>
+stream
+x��YYs�6~�����L
� x�O>���L;M:
��d6���
��wq��$F�
�i�D ����
bkba����h���Ŗ�|�:�hl��r
�8%�(���\D��>��f�4�8âO�^~��iP���>�w�U�����k1j��������1�yo0��k��|l%���e܊�{���V
�?[1߳
Ԭ�eS�Ժ��e�W�����ǖ�#
+M�2�
�
:�c�c>����
��gc�	X��Zݘ}�k�_鑲
+�y��A����;-��S�
��'��?Pʗ���spv�UfXz��w]�	R���\��u�ƽ����Ep3���w�'��F�n�w�GW�.O'[�\�Z�%aȡ�S�v�ϳX���]
Ggg�]��*�&�>;��
��y0���wx}x1
���>�=h����7/v�Z���bŋ]^�AjU/ϊ$J���d�g�����B`(�
��KeБcߍ�����������݃v��+ѧ������������o�Q�{�GoF��pp3
+'o��C9�x�S���b�j��QU�3QV�"��	����m�e>�k�C��;�����M�� �0fy��
h��N����0�|.p��U1���(_k	�e�L��ȌZafN�QO]�������nd3��M��Uj�Py����:=
�4(g�q��I��JP
|VF+�4Y�a�
.
c
 �mx������W̷��z�l��^o0����a_΁}�>��T�ssR5���L�)�%#I' ��VH���Ax4O���14a��'a�y/�|iN=ޖ�mȔy�XOYR�]�5X{(�J,�u/����3�1Z?��3�'ʲK�!�g���P��*���<�c�F�����kku��H�;D9w
��f K��'�Iª�B���pф�w��G`�UsM�D�����B�y����f�J�ߵb*
&5qNw��� 
:��
�0�B��us{Tڛ��c
��{}����Bz:��6��Q���De�(����z�t��r��������3�uJpᠡ
ä�KC�8�
#��Rͼ�G�Oa
0@ɜ�PH�J��My���W�
J�vH�y����&�Q�=v���
�zc�n>�7��v�|�ۈ�|�|�o��T�f+� 
�Z�n%
���]p#���|(��%aą�W�L�J�?��٣n�t��v��80�QG
D�V0N� h�RA i��]U�ˆ*�e#SU�Cj�t8������|��1gs���"��&����C��E�
�� vl�*x�*MV������1��� �%�����<�e����U�2�j$wޜu��]$
��aб
�
0~3�|}
�&d���B�yP#�i����H�n"��-9s;����u��e2!��$�c��is�v�*ܮ��� <�7�yu����GU��n97�Ѳ�(/
��,njz3�돢z��$5E�b�{���a�ߊ��)�e��Ć��"�}/pj��{urbr���
\�q2~\�������}m�!����r��I��ۊ��Ĥ�/���<���Q	o+p~m�����m��V�7hXl at 7��
u��#g���Y�楌��JyF�g
��5���ǻ Q��ր�ͧ���q ���@w���\Gx�6�{�/�c�YI�:nW�:���{��\���9�w������87	¨F�P��)�&I��㝈
�=On��0�vl��l2'���Z���w�(~�s^��^�ټ�P�x/E�b"
�dʊ{7������U���0�-���+��]U�~<8x [...]
+endstream
+endobj
+1950 0 obj <<
+/Type /Page
+/Contents 1951 0 R
+/Resources 1949 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1786 0 R
+/Annots [ 1900 0 R 1918 0 R 1919 0 R 1920 0 R 1921 0 R 1922 0 R 1923 0 R 1924 0 R 1925 0 R 1960 0 R 1926 0 R 1927 0 R 1928 0 R 1929 0 R 1962 0 R 1930 0 R 1931 0 R 1932 0 R 1933 0 R 1964 0 R 1934 0 R 1935 0 R 1936 0 R 1966 0 R 1937 0 R 1938 0 R 1939 0 R 1940 0 R 1941 0 R 1942 0 R 1943 0 R 1944 0 R 1948 0 R ]
+>> endobj
+1900 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 698.298 340.247 708.225]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a8ca7076566ebe098ff3bc307b4d91899) >>
+>> endobj
+1918 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 662.082 330.842 672.01]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a8f2ab3d77bca7257df14bda9261a1326) >>
+>> endobj
+1919 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 625.867 426.413 635.795]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_af63454e50c1937573c75495f3cb4c1d2) >>
+>> endobj
+1920 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 589.651 451.11 599.579]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a9dfe99ee7d8e2b1d7360ab0119bd12eb) >>
+>> endobj
+1921 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.287 553.436 513.996 563.364]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a34e5d32c224ab8293ff78c85d86e5f79) >>
+>> endobj
+1922 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.032 505.266 511.579 515.193]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_ac379f873623c0fec37d988c2c374ffe5) >>
+>> endobj
+1923 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.223 432.652 342.668 443.556]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_ab95e9f75dd971827c8a9a6b42faeeac7) >>
+>> endobj
+1924 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.601 432.652 439.515 443.556]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+1925 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 432.652 513.996 443.556]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1960 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 420.697 190.738 431.6]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1926 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.701 384.481 238.195 395.385]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_af59141db49e5141da6ac594d43ead2f7) >>
+>> endobj
+1927 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.606 384.481 328.52 395.385]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+1928 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.304 384.481 448.66 395.385]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1929 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 384.481 513.996 395.385]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1962 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 372.526 210.673 383.43]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1930 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.451 372.526 353.177 383.43]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1931 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.625 325.352 321.906 336.256]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a70c652d969734f6a69841d30a5e9033b) >>
+>> endobj
+1932 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.24 325.352 410.155 336.256]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+1933 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [442.266 325.352 513.996 336.256]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1964 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 313.397 168.601 324.3]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1934 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.867 266.222 331.706 277.126]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a8bda1b8ba9119202c16f88fdb19a535b) >>
+>> endobj
+1935 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.283 266.222 421.197 277.126]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+1936 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [442.266 266.222 513.996 277.126]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1966 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 254.641 168.601 265.171]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1937 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 218.052 243.041 228.956]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_aa1663bce444a20240c852c9443005cc0) >>
+>> endobj
+1938 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [246.857 218.052 356.783 228.956]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1939 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.998 146.414 289.765 157.318]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_ad2154705f0854002a4f44f95580df9c7) >>
+>> endobj
+1940 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.473 146.414 405.4 157.318]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1941 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.64 146.414 513.996 157.318]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1942 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.382 98.244 375.219 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a0d5a001977b49f77a4514de614bf3c4c) >>
+>> endobj
+1943 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.311 98.244 491.237 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1944 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 86.288 208.451 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1948 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1952 0 obj <<
+/D [1950 0 R /XYZ 90 757.935 null]
+>> endobj
+1953 0 obj <<
+/D [1950 0 R /XYZ 90 714.261 null]
+>> endobj
+1954 0 obj <<
+/D [1950 0 R /XYZ 90 678.045 null]
+>> endobj
+1955 0 obj <<
+/D [1950 0 R /XYZ 90 641.83 null]
+>> endobj
+1956 0 obj <<
+/D [1950 0 R /XYZ 90 605.614 null]
+>> endobj
+1957 0 obj <<
+/D [1950 0 R /XYZ 90 569.399 null]
+>> endobj
+1958 0 obj <<
+/D [1950 0 R /XYZ 90 521.228 null]
+>> endobj
+1959 0 obj <<
+/D [1950 0 R /XYZ 90 447.569 null]
+>> endobj
+1961 0 obj <<
+/D [1950 0 R /XYZ 90 401.42 null]
+>> endobj
+1963 0 obj <<
+/D [1950 0 R /XYZ 90 342.291 null]
+>> endobj
+1965 0 obj <<
+/D [1950 0 R /XYZ 90 283.161 null]
+>> endobj
+1967 0 obj <<
+/D [1950 0 R /XYZ 90 234.991 null]
+>> endobj
+1968 0 obj <<
+/D [1950 0 R /XYZ 90 161.331 null]
+>> endobj
+1969 0 obj <<
+/D [1950 0 R /XYZ 90 115.183 null]
+>> endobj
+1949 0 obj <<
+/Font << /F70 205 0 R /F79 237 0 R /F56 171 0 R /F23 172 0 R /F85 316 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2006 0 obj <<
+/Length 2200      
+/Filter /FlateDecode
+>>
+stream
+x��ZI�������-ம�E:�����̴���@�Ē�X"��v�����E���:@��R��}��J8X8�����
�I
�(i<΃2$HP<���DD��	�x�٬&?��0�P�I4*�+����b|O
��kU����\�n*7MX7�h������}G`}
���H2��w��� ���X
Ϧ�:��s|���
v{�}ڳ�Ag	�>
�Qx��!

+{��ʬV��e]�
=��Dg�(�0�齶
z�JR�;�Kw�|��‘�{1��
�2�x�<�?V�FJi�Vy�yՌ��
I
7;�6{"!"�wAḞ���N�
��S8p
x�(�N�_(�Y�����f��r���t ��
�X�1Z�rb�>�zg3�,��5��3Zw� qp2��7G6Lbaf��}@�<�hE1��ȡ��~٨�%�����P����ɠ��`	�b����.*i2�O�
_0���PUۆMQe��
t4p��f at R�Z����8A!o��VCh�(�
ēժ7�
�5��q
�=\w6�)�\X�1�E����a6z?ߑW���=�q)@�۱��\^��e�9K��b�X6�<��*�oV
�7�|��3r���SV�!~g�<UZ�J/$4�߂ϔ�=:[37)斅e3��X���
�
�0��L�� �����J+8��B.=� �I��J��s)���?����'��2�0
+������� �*�2mX�W9frd�
�=��ˣP�o�"�b9d�k�
fc�-�'I
n+5n�=H���`��6�;��wB]�;\eǦ�����#�G����^B���ln�
��`a<Jj�����U5��P�(
�Շ��];��]`��Ƽnֆ�<�j`��"*O���ˁ�(��
+ߩO@;y�z�����k����ߟy�YoG�a���q���&�>A[���#��
hˢ}�TL��fu6�b�ū&�m>�����,�a���q�r�|��~�r���ɡ��?6%���
G���X�RgӐ
�衰�E�0��C��0��DJ�Lj�2���jL���A�n
	���A��N�O�Q�Yٸ�no
�r�
B�(:�����vQd(�ܡ�q�Dc��yG7�U!�[xC��i���u�g�e>Y�`�s?�"�ũ�n�0���m��&��
���s
G�@Z�s��#ӷ���2��i���'��$6�Y��j+��r,�8X5��LrBQ1D�w+?+�����E�V)�k\
���Ϲ��vT8��-S� v�YW��� �r���=�>�SRf	��u>��`�����αKHs��nT�L6��u������O���	�p�I;z�B�����uj�c�ur/�Vj�u)�ܧ���j��5j\4��f[��Uu�1
@�
spls,���9��hlC������R���e�t˜;N��X 0�:A����u��.�U�}{�V���1��B���L\s�=e��� o���(�WTF����F{R�``��9vN��������Ң��xqy��)�.o^S��[�F���������>��=�
v����
+��^y�L_�>�/���-
,�@B����-k]���x��p� �7)�D!
z]\T���\�v=ʼnj>&�j�7�|W���?�����.|r�2�8�[��;��G����j�� #�
� ��+��5�Mړ2N���������Ə�/�����C�
1,�c��:zO>&B����H�_
�5���[�ɣ�
>�u7�
?�n7�l�4E�,���s~R@�6||�|�sR����DQ���y1�[�h�煎s$�|�,D����v���uP�svM��L�\^e]�*a}F.q5S�n������ˁ��T5vNOK�WA�!��L���[TcB<��dt �{nM���1�'ݚ
��z��}zq���/���6�I�ګ�٠
�H���:�(���B�o~!q��j
��Z��M
Ǹt7]W��
��/z� 
��n%�S��Xok���:���p퓝!,:
1� p���uM�,���k
v���?m�?g�CK�?��	���Mx���\�3~(V/K����lZ&�;�w�-��d��Dӱc��Z��/c!F����[_t�ж
(�eB4�\��I�\��������E;�� t��~Yכo
���ѬB�<۔(� ��5�v�lo ��ٺ(����Ҥ)#��Z�:���
+endstream
+endobj
+2005 0 obj <<
+/Type /Page
+/Contents 2006 0 R
+/Resources 2004 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1786 0 R
+/Annots [ 1945 0 R 1946 0 R 1947 0 R 2009 0 R 1970 0 R 1971 0 R 1972 0 R 2011 0 R 1973 0 R 1974 0 R 1975 0 R 1976 0 R 1977 0 R 1978 0 R 1979 0 R 2014 0 R 1980 0 R 1981 0 R 1982 0 R 1983 0 R 1984 0 R 1985 0 R 1986 0 R 1987 0 R 1988 0 R 2019 0 R 1989 0 R 1990 0 R 1991 0 R 2021 0 R 1992 0 R 1993 0 R 1994 0 R 1995 0 R 1996 0 R 1997 0 R 2024 0 R 1998 0 R 1999 0 R 2000 0 R 2026 0 R 2003 0 R ]
+>> endobj
+1945 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.636 697.241 331.776 708.145]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a4da79f8c645b945d52635733c3f63d7d) >>
+>> endobj
+1946 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [343.122 697.241 453.049 708.145]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1947 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 697.241 513.996 708.145]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2009 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 685.285 190.738 696.189]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1970 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.748 637.95 310.757 648.853]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a6a8d9c1c40c886054ef76aac268f33b0) >>
+>> endobj
+1971 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [314.215 637.95 424.141 648.853]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1972 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [444.478 637.95 513.996 648.853]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2011 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 625.994 144.243 636.898]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1973 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.64 589.617 297.22 600.521]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a4b9b7034fd7b17eff672d49a7c85ac2f) >>
+>> endobj
+1974 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.57 589.617 410.497 600.521]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1975 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.64 589.617 513.996 600.521]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1976 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [132.846 577.662 227.828 588.566]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1977 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.445 530.326 294.901 541.23]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a19ff64e7fd60a4e08c782a4683d62167) >>
+>> endobj
+1978 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.056 530.326 409.982 541.23]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1979 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.977 530.326 513.996 541.23]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2014 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 518.371 179.112 529.275]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1980 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 471.035 296.739 481.939]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_ab50ac757b6cb922c40504dc69c983568) >>
+>> endobj
+1981 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.555 471.035 410.482 481.939]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1982 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 434.658 233.637 445.562]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_ac39a1aacb6aa4f54150e2b138d7b36f2) >>
+>> endobj
+1983 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.452 434.658 347.379 445.562]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1984 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 351.617 238.608 362.521]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a5357e1ed14407abf82149fe878789efd) >>
+>> endobj
+1985 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.423 351.617 326.338 362.521]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+1986 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.867 315.24 366.786 326.144]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a44aa5cc75376dddfb9005dd74b27ff68) >>
+>> endobj
+1987 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [375.363 315.24 459.278 326.144]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+1988 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 315.24 513.996 326.144]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2019 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 303.285 190.738 314.189]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1989 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.204 266.908 362.443 277.812]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a3659fef24b67be6b668955bc6865e779) >>
+>> endobj
+1990 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [372.357 266.908 456.271 277.812]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+1991 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 266.908 513.996 277.812]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2021 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 254.953 190.738 265.857]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1992 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 207.617 277.91 218.521]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a36c57e3007fcb2340dc415f8431df7aa) >>
+>> endobj
+1993 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.726 207.617 365.64 218.521]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+1994 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.621 207.617 481.604 218.521]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1995 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.687 171.24 288.366 182.144]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a5e359194d7a21e72a49aee51dbac25c4) >>
+>> endobj
+1996 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.763 171.24 382.677 182.144]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+1997 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [418.466 171.24 513.996 182.144]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2024 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 159.285 164.178 170.189]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1998 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.789 122.908 313.294 133.812]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_af349e801a615b2014d36c30fdb56022a) >>
+>> endobj
+1999 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [320.794 122.908 404.708 133.812]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+2000 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.977 122.908 513.996 133.812]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2026 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 110.953 179.112 121.857]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2003 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2007 0 obj <<
+/D [2005 0 R /XYZ 90 757.935 null]
+>> endobj
+2008 0 obj <<
+/D [2005 0 R /XYZ 90 714.22 null]
+>> endobj
+2010 0 obj <<
+/D [2005 0 R /XYZ 90 654.929 null]
+>> endobj
+2012 0 obj <<
+/D [2005 0 R /XYZ 90 606.597 null]
+>> endobj
+2013 0 obj <<
+/D [2005 0 R /XYZ 90 547.306 null]
+>> endobj
+2015 0 obj <<
+/D [2005 0 R /XYZ 90 488.015 null]
+>> endobj
+2016 0 obj <<
+/D [2005 0 R /XYZ 90 451.638 null]
+>> endobj
+2017 0 obj <<
+/D [2005 0 R /XYZ 90 366.574 null]
+>> endobj
+2018 0 obj <<
+/D [2005 0 R /XYZ 90 332.22 null]
+>> endobj
+2020 0 obj <<
+/D [2005 0 R /XYZ 90 283.888 null]
+>> endobj
+2022 0 obj <<
+/D [2005 0 R /XYZ 90 224.597 null]
+>> endobj
+2023 0 obj <<
+/D [2005 0 R /XYZ 90 188.22 null]
+>> endobj
+2025 0 obj <<
+/D [2005 0 R /XYZ 90 139.887 null]
+>> endobj
+2004 0 obj <<
+/Font << /F70 205 0 R /F79 237 0 R /F85 316 0 R /F56 171 0 R /F23 172 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2067 0 obj <<
+/Length 1736      
+/Filter /FlateDecode
+>>
+stream
+x��ZIs�6��W�Vi&��rio����ԉ��!�ph	��J�J���_�\EےLgҋE��[?�
����ֻѯףٹ�-y6����a˱	�X�
���AęL	�x�ݮ��/.��dB�q|��_�ɔ
+<���L��\_?ɥ̷�(_�zQx����Go�G������	9LX����Wl-`����\�.ߵ�8e𹶮FG�Ȏ�:��!��eۢP�
�"g_���<�U)���IVF�O�-u�v�r*�oU�	�*�#/d����,��Ȫ>�p��0��Xn@������L�r�6׆�ٜXSǝ�WR�%uk��Ԧfb���l���m2ᢀ��ev�k�`੽�sE�M-����K�=*��!J����tWM�+��M��2=�j�
4�`+� a so��
+�U�W�:�m�g��i��E*C\ s�<���0�Spi�c��i��Q��K@�I�,�
.��8
U������jB�BK���C
&��5�@^h8���K��L�3n�������]��	�`���)�qn�����S��i�~<���d8A;��Y\Q�<�^8̬�o����t`ΰ�P<�M�MU���H�Ra�
q�)�s*�'�;�'Xg��~|󷜫�X����Y4σR�[��v�+�GOH�5�M�F�	�]0X�
��d$�@�I?�Vo��Y,�Zw}V硌T?�(�
Gl!�C!O8TM�
����u{ɷ�d�*7���'�QQ���Z���z
�� ��U=��s`��

�9��hpw?�-e����W�5Ir������]jb5�=�S@�Z[M��Ks0Yᒖa9�\Z�ٮ'�]V�_㌿���ɾ���m-��P�5w��o���G���)�
G
����
�"§i�=Ϥ�VY�
�4�3��̤t�����n
+tH[�('��vRu
�K(L/xb��
#���N����c�k/�z�j���a�C�A1{%��g�.N�錺c{ �s�Oz�
����٫e9�"Äu��4ܹ�
Z%hbO�
=��;����j�������M]���r����ڛ��'�C����P9����L
��ͮ����8RE�m���
b��d�
�|;wa+�4�T��m)�kwd�QQlO��ݧ �@I9��5�Üq����Z�.���ѫd���0H�u�

P�
;
нR�s�z� a���@�9.U�}	f���Ѡp$�*�ʸ�e�5�w&�1�#{/�Y_*V�	7r'~�7�|�>�$
�I�􋭢��=�Tm鷃�6�s�G�60��{��g�byO����S
��MU:UqO�d_|��3��ϳm(����W��a�
+�\��H�!�=
��ĪC�)���1X
Q�����c�n�(�T1g�������
��h��\D�L���|"���Y�=�[���&����W���KR���W��.�UN���N��{�T-�L��a�SLj�@
e0���`��_|x�\�n�eG������А��/�;7o��
TV�N������M�Ӷ���!���=�	҃q3�
�^�h4���#��O�a��kB��j�����73�71l�9�5o��V^�_����dcp����V.��Cx�eB:3kA�ʂ�l�m�w��'�2�i"��d�߃(+��5Y�Vw+�
�&S��d9e*���*�~�'�6��] �'g�Jm������<EYn�8b���j*�pT>�	"��*u��&+u����خ
+endstream
+endobj
+2066 0 obj <<
+/Type /Page
+/Contents 2067 0 R
+/Resources 2065 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2083 0 R
+/Annots [ 2001 0 R 2002 0 R 2027 0 R 2028 0 R 2029 0 R 2030 0 R 2031 0 R 2032 0 R 2033 0 R 2071 0 R 2034 0 R 2035 0 R 2036 0 R 2037 0 R 2038 0 R 2073 0 R 2039 0 R 2040 0 R 2041 0 R 2075 0 R 2042 0 R 2043 0 R 2044 0 R 2045 0 R 2046 0 R 2047 0 R 2048 0 R 2049 0 R 2050 0 R 2051 0 R 2052 0 R 2053 0 R 2054 0 R 2055 0 R 2056 0 R 2057 0 R 2058 0 R 2059 0 R 2064 0 R ]
+>> endobj
+2001 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 719.912 312.789 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a39e443628f6b73203b0f66189b8bc1c6) >>
+>> endobj
+2002 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [316.604 719.912 400.519 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+2027 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 646.497 270.727 657.401]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_acdbb5fd3fa1ab9faed26fc5be47cc0d2) >>
+>> endobj
+2028 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.542 646.497 384.469 657.401]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+2029 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 609.635 240.132 620.539]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a43a14864f62b4528d6c87856cba4da34) >>
+>> endobj
+2030 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.948 609.635 353.875 620.539]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+2031 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.842 574.766 330.976 585.67]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a3ff750009bec94ab2c9a01139ba22420) >>
+>> endobj
+2032 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [334.528 574.766 444.454 585.67]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+2033 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 574.766 513.996 585.67]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+2071 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 562.811 174.668 573.715]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+2034 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.129 562.811 256.61 573.715]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+2035 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.803 562.811 351.284 573.715]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+2036 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.394 527.942 277.987 538.846]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_ae5845918fa5037ca4e9bdde4a4a3ecf2) >>
+>> endobj
+2037 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.091 527.942 394.018 538.846]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+2038 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [420.149 527.942 513.996 538.846]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+2073 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 515.987 129.857 526.89]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+2039 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.069 479.125 297.856 490.029]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a894587e76b98f15a8ae120327dc9d532) >>
+>> endobj
+2040 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [311.635 479.125 421.562 490.029]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+2041 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 479.125 513.996 490.029]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+2075 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 467.17 174.668 478.074]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+2042 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.837 430.308 277.739 441.212]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a2b4edec92d54747f5f1d2904407e744a) >>
+>> endobj
+2043 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.286 430.308 393.212 441.212]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+2044 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [418.089 430.308 489.57 441.212]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+2045 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 418.353 196.576 429.257]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+2046 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 344.938 309.441 355.841]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_ae7dc964062c194e3ae8eef0a828164ae) >>
+>> endobj
+2047 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [313.257 344.938 423.184 355.841]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+2048 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 308.076 308.336 318.98]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a396b429302ce49ea9915778c317b81d2) >>
+>> endobj
+2049 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [312.151 308.076 396.066 318.98]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+2050 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 271.214 313.895 282.118]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_ad8caceee4f21496294aee9eb9aea4ec1) >>
+>> endobj
+2051 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.71 271.214 427.637 282.118]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+2052 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 234.352 328.121 245.256]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a97fad1530ac4a3704d08097aec4bf206) >>
+>> endobj
+2053 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [331.937 234.352 441.864 245.256]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+2054 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 160.937 250.802 171.841]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a7397b715c2ccf3f6fcf2f3900efe10d6) >>
+>> endobj
+2055 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.618 160.937 364.544 171.841]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+2056 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 124.075 254.12 134.979]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a3789c297e202c735dbd829cd6cbed989) >>
+>> endobj
+2057 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.979 124.075 427.906 134.979]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+2058 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 87.214 259.101 98.117]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a086e697a92a664c83721e0c442d45271) >>
+>> endobj
+2059 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [312.44 87.214 422.367 98.117]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+2064 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2068 0 obj <<
+/D [2066 0 R /XYZ 90 757.935 null]
+>> endobj
+2069 0 obj <<
+/D [2066 0 R /XYZ 90 733.028 null]
+>> endobj
+2070 0 obj <<
+/D [2066 0 R /XYZ 90 661.576 null]
+>> endobj
+2072 0 obj <<
+/D [2066 0 R /XYZ 90 545.042 null]
+>> endobj
+2074 0 obj <<
+/D [2066 0 R /XYZ 90 496.226 null]
+>> endobj
+2076 0 obj <<
+/D [2066 0 R /XYZ 90 360.016 null]
+>> endobj
+2077 0 obj <<
+/D [2066 0 R /XYZ 90 325.177 null]
+>> endobj
+2078 0 obj <<
+/D [2066 0 R /XYZ 90 288.315 null]
+>> endobj
+2079 0 obj <<
+/D [2066 0 R /XYZ 90 251.453 null]
+>> endobj
+2080 0 obj <<
+/D [2066 0 R /XYZ 90 176.015 null]
+>> endobj
+2081 0 obj <<
+/D [2066 0 R /XYZ 90 141.176 null]
+>> endobj
+2082 0 obj <<
+/D [2066 0 R /XYZ 90 104.314 null]
+>> endobj
+2065 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F79 237 0 R /F85 316 0 R /F23 172 0 R /F93 504 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2090 0 obj <<
+/Length 1834      
+/Filter /FlateDecode
+>>
+stream
+xڵX[S�F~���[�x٫.�S����3�)�x�-���J2N�}��tC&@�$/������v�v>��g��3;!
+=�9��b���8��s�����	����f~y>�O�1	��n��*Z�'T`�<��b-b��*^�j[��%,=<�2�mt:�;"�~��>�#�	g��n�`g	�9�0p�jW�p��q�G����XB' ,
�XLj­OžЀ�E�U�t��,�ݔ#wXo��wt��ȣ�n�r�4җ4�l��D���x�W�
+޶
����扌��a-��Ř�^�LJ}-��w�jWd��C
�O=�Cf��Wo0P�[��|

+�љ�Z�1a�"̝	�($\[�L��qn'j�e��bm�}�6��Ť
)*I2_��mߜ��
|О��ȳ��X��
}5y8;�8�с�j0��C4�l|>c��N$8
+Ҋs
�� 
f/��H���B�k' �d;��Uƣ] [})㬊�$7���@%H2���J�� ��Dq�E9`�QDa�UEB�_���ɣ��*�k��@k��D_[K�GX�O�R�m\ �YKJ���*�\�y:d*@��=����+�'Z�}�v�)"�o�
#^'q%ˠ'q�(����8'X�1#�q��o���(��.�
uW�l!
��U^�u�����S��DPߝ��z��ƨ5ƺƨ5Ƭ1Z�MK�xH��5���de%GJ1@�`��C!j٢�ݫ
Ų��ߠg
yA-#F�eN���% ��~zB�aF at A ;!oe���I�ٲ}�-��i���D�$0_�Һ|
�VҴ�:��<z$��0e�y��0��bE9}]i�=e�;�A���FH��@((F�	��t��� �+h:��a�2{�(
+�c��'� ��&�ս���I��heӧ��/D�i�D�ڐ� 

jD��N�{b��פ��PT��nO��� Op	�
+`�P��JZ�����p�{I18�0��oz��w�����r~={7����|<;}w}~l����b��e-Y���o	7:�pc�~��
�Y.��[By�@�4�Mo�MA�&W��D��?y���̞>��O7ONO���퀠�7�4 ��
���ݘbwW�f
+�n�rmB>�%�}*ߩ����

+�u�CQ����NRW����o�p�w
T w�2�˖B��`�if�%�i:;�<�k8�0�x^�f�)MԼ�Z�=(s��-Ӥ�ItZG�%�f'�
r)4�O؀�њM5�� ۩�T|!^��pŠ������ �|�{/�Cp�q҅|�f��úP��|������|�pb�5W��,�dD����y��� ũ��	=�k%ۥ�.C���2Ά�Aߑ(38���K
Oʄ�E[%Nm��S}�h1���h����gn���D� e��Gs(
0��Ir=4� ��I3$���L�8�1LO偉�[{Bc�
:�t�vP�Տe�I���s3��A��\��J��C>˻�.�m[������k
+i�l
���vjP���|�vS��\0��H�
o?�!*�d]s�����k���|i7��
m
F�9��X��$���������A�bm�R���2:9�f�?Z�<�R�b
���
v@�&4�6!]�}6��f�;$&
b������դ[
?~ڠp��
��ͳG
+�
hZ�*��� o1�/9zt���]�
 i�s?+����.O"
̧p"!x������"5�r����}�,�ϋ䮈�o��{�e�]��۟��]-ݔq��Xׄ�2�v6x��u�e�e�x"����u
�Ph��8��w}DjPQS���6�U����h�ߣE�vY�-PR
A

=��
+!
5s��RF�Q��b�cl;K�
*�
+endstream
+endobj
+2089 0 obj <<
+/Type /Page
+/Contents 2090 0 R
+/Resources 2088 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2083 0 R
+/Annots [ 2060 0 R 2061 0 R 2062 0 R 2063 0 R 2087 0 R ]
+>> endobj
+2060 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 696.998 265.188 707.902]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a8190bd5fde521e37c585c5c59b65f90d) >>
+>> endobj
+2061 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [269.004 696.998 378.93 707.902]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+2062 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 660.136 259.649 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_aebfd121256089b1415f3bc6989c25bbb) >>
+>> endobj
+2063 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.464 660.136 347.379 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+2087 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2091 0 obj <<
+/D [2089 0 R /XYZ 90 757.935 null]
+>> endobj
+2092 0 obj <<
+/D [2089 0 R /XYZ 90 714.099 null]
+>> endobj
+2093 0 obj <<
+/D [2089 0 R /XYZ 90 677.237 null]
+>> endobj
+2094 0 obj <<
+/D [2089 0 R /XYZ 90 624.809 null]
+>> endobj
+2095 0 obj <<
+/D [2089 0 R /XYZ 90 555.015 null]
+>> endobj
+2084 0 obj <<
+/D [2089 0 R /XYZ 90 531.841 null]
+>> endobj
+2096 0 obj <<
+/D [2089 0 R /XYZ 90 531.841 null]
+>> endobj
+2085 0 obj <<
+/D [2089 0 R /XYZ 90 380.677 null]
+>> endobj
+2098 0 obj <<
+/D [2089 0 R /XYZ 90 366.106 null]
+>> endobj
+2086 0 obj <<
+/D [2089 0 R /XYZ 90 181.113 null]
+>> endobj
+2099 0 obj <<
+/D [2089 0 R /XYZ 90 166.543 null]
+>> endobj
+2088 0 obj <<
+/Font << /F70 205 0 R /F79 237 0 R /F85 316 0 R /F56 171 0 R /F23 172 0 R /F90 477 0 R /F99 2097 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2116 0 obj <<
+/Length 1729      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~�����@L��(Qݰ�-͐.�6C��P,���$9i��wx�d�r�Ά�DC��w.<����֯���'�
[
+<�Y�k+����(��#��#§3�1��"Y..�s���8ϖo�H,�p3�Q��ˬ�:\	��V�E9%���">����W��ד�'$�Q
��|�Y�t���"�ea�ܺS�R˥<���	6��Z� a�Z>��\��bJ�
�a*@�J�1$4����|
X3xbF5�4.z��/���	���RRu�zk���r�E��$"�a@��vf��C
5|�]z/_qB��.��$�<o�aUśLD��ndʢ
�ԯ�z�����44�n���a���@��50H�Dv���z�@9O���: )�5s|�9�f �

�+0OV�5 ^o�.�6��*V�W�j�����7"�&n_�y:p�'I.庋3O1��xѳ�E<�:
duQ �S�~���O}�1���V�"c6��S*R��%��W
I�E�uO��]��X���
�_
+a�f��v�JZ��|��Qd�1�*d��}v�K�Z���*�EF0 hw�9�|����Z��@ls`߶�]{�<������{AB\��q��.��I���
ߴ�G��
�ºEX�DO�D|n����F��# E��:��-�{�1Y��:@�sPQ/W�8��ҙC��;��Q��! }=�Cr�]�SbK at 9�	��3�%J~����
=��8S�#דeB��N'���av)Ę(�
�j{)c���z@pF
>��a\,k�~೎�4�2�
0
+0��C>7¾/�Z��O�:�,��W ��4�ާ�v��`�)*S�%�,W��夞"�6{*�x�ܙ��(����|l��DC�
��@/Ṭ�fDL���
���:(`�X�<.�seU��\�IuT<r�xP�(�L��Q������׾���
���d�}�=G��:��
�F�4�^N
 �������5�ˬ����w5<F��ц�A�FE�T���
�kX�/�N
懃젊��
�������+'(Ըy!Ů�
���8��(�di��v�h����]=
���@h
�8
 
�
��vO��ʋ˫�Z�~
{�O�$\ҙ�az�m)���@�y��!�ߖn�[az�\��! ��}��B���c(�
	��6,�@%�w6� :$�r�
U��0∸��
���
�n����]o
�˫ܒ�z��
A�P���mu��-s/(��o�zW�w��8
��v{��4��T�=�P˺g�� ���U
/�]Z�����H�t\�g�ϛƧC��&A��|{Sl&`�}0�Q����x+F���c�nUȳ1"Q̟7�.�>;a�;��$����D��[	��qEq�����}J\ɑ��?Wk�ŧc�8�
������kة˜ȸg�\�xsm�sD���\�a�4��\T�2.�됀빎\��uH蹎�Ws
���:���u�k�
�����n�;�#��(sYOn�Hh
+�9��ɫ���k=����j���b9�i��h{1�
����O2e�A����`��`�=5�u����ԏ`]>��`blh
����i<y�e+�Ҽ^�7eX~�/���0���}���g%��Jƾ��l׌�e��,E�M.1"D&/ ��މ�����e5��&j
�iE]hʺ���������
ZUh��E��z��^�;*D΁ڦ�EP�7��8��T�

���Ӓ�
+endstream
+endobj
+2115 0 obj <<
+/Type /Page
+/Contents 2116 0 R
+/Resources 2114 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2083 0 R
+/Annots [ 2100 0 R 2101 0 R 2102 0 R 2120 0 R 2103 0 R 2104 0 R 2105 0 R 2106 0 R 2107 0 R 2108 0 R 2109 0 R 2110 0 R 2111 0 R 2112 0 R 2113 0 R ]
+>> endobj
+2100 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.555 464.596 294.025 475.5]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Decision__Node__tag_a6455bb2686ced2d1a463955f6cbfa542) >>
+>> endobj
+2101 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.475 464.596 432.298 475.5]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga43246761a1030d751e756845a246bf68) >>
+>> endobj
+2102 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 464.596 513.996 475.5]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2120 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 452.64 213.506 463.544]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2103 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 367.709 275.699 378.613]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Decision__Node__tag_a384e3002cf83ca2e73c4290d8629e043) >>
+>> endobj
+2104 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.514 367.709 414.337 378.613]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga43246761a1030d751e756845a246bf68) >>
+>> endobj
+2105 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 331.485 279.016 342.389]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Decision__Node__tag_a4c12656e0256a4db3311855f9e94a36d) >>
+>> endobj
+2106 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [342.876 331.485 477.699 342.389]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga43246761a1030d751e756845a246bf68) >>
+>> endobj
+2107 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 295.261 283.997 306.165]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Decision__Node__tag_a8f1b879675bf41b40bab41ebe9a97346) >>
+>> endobj
+2108 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.337 295.261 472.16 306.165]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga43246761a1030d751e756845a246bf68) >>
+>> endobj
+2109 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 259.037 290.084 269.941]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Decision__Node__tag_a6b1a2446aa655ae65ce51b8a025c5751) >>
+>> endobj
+2110 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.9 259.037 428.723 269.941]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga43246761a1030d751e756845a246bf68) >>
+>> endobj
+2111 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 222.814 284.545 233.717]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Decision__Node__tag_ab8a5eaf323d5fb0076b2ce079f9f5fc4) >>
+>> endobj
+2112 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.361 222.814 397.172 233.717]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Decision__Node__tag) >>
+>> endobj
+2113 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2117 0 obj <<
+/D [2115 0 R /XYZ 90 757.935 null]
+>> endobj
+430 0 obj <<
+/D [2115 0 R /XYZ 90 615.634 null]
+>> endobj
+134 0 obj <<
+/D [2115 0 R /XYZ 90 608.539 null]
+>> endobj
+2118 0 obj <<
+/D [2115 0 R /XYZ 90 510.21 null]
+>> endobj
+2119 0 obj <<
+/D [2115 0 R /XYZ 90 481.746 null]
+>> endobj
+2121 0 obj <<
+/D [2115 0 R /XYZ 90 382.628 null]
+>> endobj
+2122 0 obj <<
+/D [2115 0 R /XYZ 90 348.427 null]
+>> endobj
+2123 0 obj <<
+/D [2115 0 R /XYZ 90 312.203 null]
+>> endobj
+2124 0 obj <<
+/D [2115 0 R /XYZ 90 275.979 null]
+>> endobj
+2125 0 obj <<
+/D [2115 0 R /XYZ 90 239.755 null]
+>> endobj
+2126 0 obj <<
+/D [2115 0 R /XYZ 90 188.108 null]
+>> endobj
+431 0 obj <<
+/D [2115 0 R /XYZ 90 82.109 null]
+>> endobj
+2114 0 obj <<
+/Font << /F70 205 0 R /F90 477 0 R /F56 171 0 R /F72 207 0 R /F11 899 0 R /F23 172 0 R /F79 237 0 R /F85 316 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2154 0 obj <<
+/Length 1442      
+/Filter /FlateDecode
+>>
+stream
+x��X�r�6}�Wp҇�3D /m�3�#{����toIFC���)/*IEU��K�)Y��Xn��E��%�{����6�L�����
S�g[�g�gj��#X�C�� �]l���Xē�p4�v��:�ɤ
�F�0S�%�g����c>�O�)��T�������?;�75\��
�P�M�Λw���k�D�s�U-�h����O
sKw���Q��L�
PyP�w��F��%��'N�
���
^���4��2��Q���Y���!��֣@�
�l��
dK��M�N�e(���%�(r *S~�c/�t���
B���
��ٮ�����9��C�R�K{�
+�1���Kۏ������ؗ7A�F���A.i&�\�|
g[�b�#�e �vh���9B��ur���T�yەAZ�m�)�������6^��t�/JK9]�>�K��k���S�ϱa���������7<��
���_]N�Ώ��!��4�e�����mUZ�l
��@[Ob~���l֠-ϖ�E̼CW�b"t����\
+���f��R����'E�b�φ�^=%h٢���oE����~̎.�}��
���q�l�Ɠs�2
Ɠ�+��� �c����O��݆�Ɏ
��0|^�(���,�t�`���t�@��|-ўfi)^��f��Kx��G
+����'��ϵ@��O�p��ˁ��
�K��J�Bb�%8����;���r���ҽ
yk�0�\�@�I��~5���s��_p~��8�������吇����������[�
P[�
��U��������c��
+�Gz)	�R_�x����ʫ.�����IL�ԇ�*_N�,/^��E�ӄ��V���+ч�_��N׫����+�&-�Y�%�bL�$�@�������"��'����e�-���A�
"��(�-�䶦�/��	
$Ua�r�dk�^�;&�S�}��}�}���P5H�2��GA�a*o�}�ޱ��'2���
��Y���z)X	4D[�Q�7պ�EU���xF�����A
��.m��l����C!�-�MW��2"��n�<>%�.�������ջ�=C
��{G��J=�"
�7���w+)�
���S��s%���&�aB��@&j��@_����Ya�!�n�a�b��ѥ�F��vM��(�jŸXM��k��^"d��I��j������Cĭ�	~���i�c���C\(
K4���C�Q�S����[�E�' \��
��
�~ ��|z���]|\�݇6���=�m#ϡ��݃���T�i0�w�<��y���
���it��Z6m�\����{��U���_<^�nd�?
ҥ�U>y_
���cSO��
+ �]r������я���~k��ƚ4S��o{��j��Z��"GQ����tnw��S���M&�T_<Ja2	�.8���?F�Q=
+endstream
+endobj
+2153 0 obj <<
+/Type /Page
+/Contents 2154 0 R
+/Resources 2152 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2083 0 R
+/Annots [ 2127 0 R 2128 0 R 2129 0 R 2130 0 R 2131 0 R 2132 0 R 2133 0 R 2134 0 R 2135 0 R 2166 0 R 2136 0 R 2137 0 R 2138 0 R 2168 0 R 2139 0 R 2140 0 R 2141 0 R 2170 0 R 2142 0 R 2143 0 R 2144 0 R 2172 0 R 2151 0 R ]
+>> endobj
+2127 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 576.632 334.727 586.56]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_ab5075367b0d60e3b979b18b4b8b36f55) >>
+>> endobj
+2128 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 540.668 327.524 550.595]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a83ff647a9f553f233355dcfe08f925ca) >>
+>> endobj
+2129 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 504.704 482.861 514.631]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a1492c1ef5bc77d977d14267b2344ddf1) >>
+>> endobj
+2130 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 468.74 495.155 478.667]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a73faac81cdd75868a90e0769e6e810ce) >>
+>> endobj
+2131 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 432.775 481.008 442.703]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_ae4b7a344b75c9fc8646539a69ee55cb3) >>
+>> endobj
+2132 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 396.811 496.5 406.739]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_ab98bad036b29cb094195b1d8e8212c71) >>
+>> endobj
+2133 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 360.847 473.247 370.775]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_aa91485e68401872e9369580d71074838) >>
+>> endobj
+2134 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 324.883 493.302 334.811]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a7fde6bb756bf47a2801a8de40b1472d5) >>
+>> endobj
+2135 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.387 288.919 513.996 298.847]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_ad5da07355917717a2b3ea402a2a27cec) >>
+>> endobj
+2166 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 278.045 170.255 286.891]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_ad5da07355917717a2b3ea402a2a27cec) >>
+>> endobj
+2136 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.496 205.041 330.623 215.945]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_add80dff3a130d086d15874ada6e8d8ae) >>
+>> endobj
+2137 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [334.829 205.041 415.426 215.945]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
+>> endobj
+2138 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [444.478 205.041 513.996 215.945]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2168 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 193.086 144.243 203.99]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2139 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.399 157.122 319.045 168.026]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_aeb57397366e3cabbdac796f793cacc8b) >>
+>> endobj
+2140 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.153 157.122 407.75 168.026]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
+>> endobj
+2141 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [445.583 157.122 513.996 168.026]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2170 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 145.167 168.601 156.07]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2142 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.989 98.244 328.193 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a00a4b6909bbb8ab2fbf602d8589707b9) >>
+>> endobj
+2143 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.892 98.244 417.489 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
+>> endobj
+2144 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [445.583 98.244 513.996 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2172 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 86.662 168.601 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2151 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2155 0 obj <<
+/D [2153 0 R /XYZ 90 757.935 null]
+>> endobj
+138 0 obj <<
+/D [2153 0 R /XYZ 90 733.028 null]
+>> endobj
+2156 0 obj <<
+/D [2153 0 R /XYZ 90 642.255 null]
+>> endobj
+2157 0 obj <<
+/D [2153 0 R /XYZ 90 590.51 null]
+>> endobj
+2158 0 obj <<
+/D [2153 0 R /XYZ 90 556.568 null]
+>> endobj
+2159 0 obj <<
+/D [2153 0 R /XYZ 90 520.604 null]
+>> endobj
+2160 0 obj <<
+/D [2153 0 R /XYZ 90 484.64 null]
+>> endobj
+2161 0 obj <<
+/D [2153 0 R /XYZ 90 448.676 null]
+>> endobj
+2162 0 obj <<
+/D [2153 0 R /XYZ 90 412.711 null]
+>> endobj
+2163 0 obj <<
+/D [2153 0 R /XYZ 90 376.747 null]
+>> endobj
+2164 0 obj <<
+/D [2153 0 R /XYZ 90 340.783 null]
+>> endobj
+2165 0 obj <<
+/D [2153 0 R /XYZ 90 304.819 null]
+>> endobj
+2167 0 obj <<
+/D [2153 0 R /XYZ 90 219.895 null]
+>> endobj
+2169 0 obj <<
+/D [2153 0 R /XYZ 90 173.998 null]
+>> endobj
+2171 0 obj <<
+/D [2153 0 R /XYZ 90 115.12 null]
+>> endobj
+2152 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F72 207 0 R /F11 899 0 R /F79 237 0 R /F23 172 0 R /F85 316 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2209 0 obj <<
+/Length 2273      
+/Filter /FlateDecode
+>>
+stream
+x��Z�r�}�W�-T�
+@�w���85��d2�T
<S*J�$�J$���h�>�
��.�H�T
\�`h4��>h;+;������!�N�B�����	��qJ���yrD�ɔ`��<��޿{?{_L�p��FngU��L)���2ZH��\J��Lu��s}o����??��~G`~�=P�qg��{����v0�B�觶�
\7�ǻ�ak��j�:��3��0�pPa����,�UZ3#sYd���eKs��v!�`s��ͪ�*��NE9>ء�(��y�o�@� �3U62L�(�qY���#��3H{�K�����)	)��yJ)
+hh��D)��<M9lw�V�Y�S����<�{��P�X\L,�l;[diY
R

�3�����
�Y���� 4����"�y�G>a�����P��>ϓ�����&��V�e���j���2�4�=a>8���[pŧF%�e?5��}ܗ����%@��ʊ�j��QˢEY�h|�n";84��T&_$t�
HOL�9r�i橸|����g@��	<��C���~�%�h�	S4����]��u�+s_�:J���c�
"h�8BE at WH��fN;��j�R��31P5�𢮆
��a�~4I{}�k
 �	v��?$����`#��6����&��c؋@
7L�adH�p؄1��z��;�0hjb���~4
+@>m��l���/무�8I�d!m{�X슺}4 ����ұE at Z�MP�����\��ܴT2���ΝGfg��BmN��0Li�0İ��
��l���1��&R
���I~)ua�>#}�K'q��MGU��M�]Gi�C� Y4���S�
�Z�;�6�M���,w��n�^d�i/�
ЖZqc�2ө��K�٘;���,�jm6VJ�e��FF��O��B�K�
�1`y��ql\~إ���I��l��Sf��lïY�,����+�	��W�:�S�w��`�}z��u0���pwL��*��s�L�,�寁���~��D|l/�Nқ���:���HZŒ	H��6gm��V��hh7`\?�(K��Q���6Y�h2��@�G;t���!�B�i`
+ʿ������sY̲�
����C�
[5�UЪ
:����
`��F2_��i����ڭpkv��~v
Bv�/��v}��.{#tY���
+ ��2���U��Xm���J�hS}��"�(�[

� ��iɭ�P��c��t�i�!��iV��m�11�|�Ӡ
nDM�Ew�!�Es�Q�=4w�;S�@���u�y�u�u���q���@Z�-m��ւd������V�&,��mj�]���tt)ſ�Ku�Ym�.�����>;��F�*{_Ab���W����:d>*���bm�I�!;Bb~�ă��I.HA���/�A
�2?��`7l
+�����M��Z��
+�A�jP?��#����O7LW>�E����'�։���x�k
Nb��`�����
�I�
�/�Yp��;�uP��86��987#,�����t�Ī��b��^�!�r�v�!
Rq�J
�V.��c�j�@�Q
������ש�(3N»6��b�����a��ԟO��C�� �*�/.f���8;<A]U,Q��(�mq�
��/��c�ї:�0[�Fft�sk�Yz2%qT�x�T�9�-X&�j=^�
+Y3]��f�.��ki��RP�RP�)j�����e
	1���z2�tR�0ʻs�8fW,��h�U�f��۬�ig�΍+�V���-�Y=�xL���r	_�/���0���
���r�bR�hJ�FC��f�ڷyR��磇3�r]p��W��� j���D�ң,�T���`u���8��|� �[":
~#����o���Y�
+UF��Y�[�y��Q���R�SaGˇ�G������Ecb'~����Y��10�a�&H�
�zR3ye�,�*)U֗���(IU�G�m�� ��*�L�W��M\�D���ɞ�x
+H?��W��G���iR��\�(?�-��'�,i^玺���pN6�>���8s#G��)���?K���2Ҳ.��r>����\5��|W����m/�(́좗t��űo���co#��:�0
�w�������_�p�	�-����q�V���~��>���2.�Ͽ&�"���O�-JW�h%�ߺ)�45G�Y�	�nY�o��,�Ք�hK<�
`q�Q�G0��ߜ���4�Y��Gx��U����%ڥI^����M�?�M;
+��K�~�RS�R��Tұ
w�?z3�
+endstream
+endobj
+2208 0 obj <<
+/Type /Page
+/Contents 2209 0 R
+/Resources 2207 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2083 0 R
+/Annots [ 2145 0 R 2146 0 R 2147 0 R 2148 0 R 2149 0 R 2150 0 R 2173 0 R 2174 0 R 2175 0 R 2176 0 R 2177 0 R 2178 0 R 2179 0 R 2180 0 R 2181 0 R 2182 0 R 2183 0 R 2215 0 R 2184 0 R 2185 0 R 2186 0 R 2217 0 R 2187 0 R 2188 0 R 2189 0 R 2219 0 R 2190 0 R 2191 0 R 2192 0 R 2193 0 R 2194 0 R 2195 0 R 2196 0 R 2197 0 R 2198 0 R 2199 0 R 2200 0 R 2201 0 R 2206 0 R ]
+>> endobj
+2145 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.229 697.183 307.902 708.087]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a51082042eaafc2db84f50f28d3d5b646) >>
+>> endobj
+2146 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [314.841 697.183 395.438 708.087]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
+>> endobj
+2147 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.64 697.183 513.996 708.087]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2148 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.676 685.228 301.732 696.132]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+2149 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.226 685.228 492.283 696.132]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+2150 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.79 673.273 244.147 684.177]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2173 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 625.822 239.724 636.726]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a8e179abb162b61259eb3923f067944ad) >>
+>> endobj
+2174 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.539 625.822 350.148 636.726]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2175 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.211 553.423 288.661 564.327]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a1ebc3efbeb7fcf8da5556b365a9a1839) >>
+>> endobj
+2176 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.582 553.423 403.191 564.327]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2177 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.64 553.423 513.996 564.327]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2178 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.412 506.784 383.245 517.688]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a7387184a11ae23fd66b730a1ae720215) >>
+>> endobj
+2179 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [388.367 506.784 494.976 517.688]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2180 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 494.829 208.451 505.733]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2181 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.951 458.337 340.088 469.24]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a4f7ccdbb25ecfb4dcd2facbed54f26b7) >>
+>> endobj
+2182 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.749 458.337 457.358 469.24]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2183 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 458.337 513.996 469.24]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2215 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 446.381 190.738 457.285]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2184 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.037 398.93 343.059 409.834]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a41b5af390cf2af727c18a043bb869ffc) >>
+>> endobj
+2185 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [352.806 398.93 459.415 409.834]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2186 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 398.93 513.996 409.834]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2217 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 386.975 190.738 397.879]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2187 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.998 350.483 309.69 361.387]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a76361c178cf8799f530f17e791e8d0b1) >>
+>> endobj
+2188 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [315.399 350.483 422.008 361.387]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2189 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [444.478 350.483 513.996 361.387]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2219 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 338.528 144.243 349.432]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2190 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.082 302.036 294.344 312.94]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a68099fb9bb1067212c3e998b00255b24) >>
+>> endobj
+2191 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.136 302.036 404.745 312.94]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2192 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [422.913 302.036 506.27 312.94]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2193 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 290.081 220.077 300.985]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+2194 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 242.63 310.577 253.534]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a2f230174a1c6cf8b3d0115ab268d02e1) >>
+>> endobj
+2195 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [314.393 242.63 421.002 253.534]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2196 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 206.138 324.804 217.042]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a66b9c383e8c77d79c0ffbd2f99987a94) >>
+>> endobj
+2197 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.62 206.138 435.229 217.042]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2198 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 169.646 230.319 180.55]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a65ace8cdf5e2fbf6e82c6834d3d29ada) >>
+>> endobj
+2199 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.135 169.646 340.744 180.55]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2200 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 86.288 235.29 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_aca972841d5888907f7dcf13b24134e27) >>
+>> endobj
+2201 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.106 86.288 319.703 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
+>> endobj
+2206 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2210 0 obj <<
+/D [2208 0 R /XYZ 90 757.935 null]
+>> endobj
+2211 0 obj <<
+/D [2208 0 R /XYZ 90 714.191 null]
+>> endobj
+2212 0 obj <<
+/D [2208 0 R /XYZ 90 642.83 null]
+>> endobj
+2213 0 obj <<
+/D [2208 0 R /XYZ 90 523.792 null]
+>> endobj
+2214 0 obj <<
+/D [2208 0 R /XYZ 90 475.345 null]
+>> endobj
+2216 0 obj <<
+/D [2208 0 R /XYZ 90 415.939 null]
+>> endobj
+2218 0 obj <<
+/D [2208 0 R /XYZ 90 367.492 null]
+>> endobj
+2220 0 obj <<
+/D [2208 0 R /XYZ 90 319.044 null]
+>> endobj
+2221 0 obj <<
+/D [2208 0 R /XYZ 90 259.638 null]
+>> endobj
+2222 0 obj <<
+/D [2208 0 R /XYZ 90 223.146 null]
+>> endobj
+2223 0 obj <<
+/D [2208 0 R /XYZ 90 186.654 null]
+>> endobj
+2224 0 obj <<
+/D [2208 0 R /XYZ 90 101.274 null]
+>> endobj
+2207 0 obj <<
+/Font << /F70 205 0 R /F79 237 0 R /F85 316 0 R /F56 171 0 R /F23 172 0 R /F91 1184 0 R /F92 1183 0 R /F93 504 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2261 0 obj <<
+/Length 1935      
+/Filter /FlateDecode
+>>
+stream
+x��ZY��6~�_���*�� ��)늷��1�L*�KE��̊DrIpƓ_���Cu�I��	$v7�_�vVv�s��ǻ��� 
��ǥ`GxqJ���y?��	���|=�{?�/��e�u���p5�P�GoS�p��w�2���TOa�?>~�����������@�qg��{�;��`��y֫6�K�k���;le�f/���^<W텸Qx�!�q��wq��H)?Yqa[�!/�.7{�K23����N�S��|�-�X�́D�&N�$K�+F�(��e��{
�L(E�K��yf#(�[D��jJRi���+{���w�htF�LK:k�,ga���<��,���<v��!y���/&!�k:�T�z��(�V���3���}�p�=��NX�XQ{"���"ܔ�2��
 ""N�O}#��QT�o�o|�YJ	D�"-;�=�x�ѯ���7�o�"
"n�}�	=�'����U�z�#в�A��4��*ԃ�
+��
�]�I���#��|b��k��e�
/'�A�Ao���̊�Y�oA"p�0"�A#���O
�pǢ�\@�k�H�qЎ\kFQ�
��'F_��O��A���m	
	lC˃��"�~X��Ä�.T͚P�Ea1fbd��y�H>`L�S�	-5�9�@dT�!��
r[s �@��Lge"[Y�I���T(<�/�|
�Ѱ���!�f:� ѹ=��&�q�9
��	��j�N}n�Xt؆!�{�;b�]���	
=�47J)m��0��|�,B[��tH�"1��N	�n&)��sXJ�x>�xTY��i�5�UVէ�^�@8R���a����yCZ2�'��
is�
}�k}����p)�ƽ^d�︁{�ip<m=��M�j�
fv���
1 1�t�t�P!�!G48�hm�,�1����$pNCa��2�
=���bi1f�a�i-N�V
����1�L��#l�e0o6иx�����aa�v��
��_���$]m��E����hQ���d_�\�2Y��̥H�7q���NJ�>��-*�Qʸ7�҇�@;$�墼�-��@�`��bn�/,���w�;珷�,\���O��|,
���&�d�-UC��,@�f���C���A
t;*[b��
` [V�
wō�R��P&��V�PtQ0FqJ
��{�

Y:�%��
&?��l� 
����rFC��
E6键���ia4��\&�%R�8��E�fn?^fU}�P���l[z���9)/�]U/L�o

�ړ韇�x��;|���< T���P
��^�놕&;�Œ�*S>'�N)e(��L�B=��w��T��k�뀃��T3=k}���=�!@q<�)�⁂�f
��F�hkύ���������Ѻ(���L�S��P��<�oE�T��U���E�� �\�I�l8-���2+�s��� ��
V5H-dKy.P� ��
2�x�>6��k/b�I��K�6�(����z�P>�XF���0K.Ŭ�

���yP���a���<8�Iu%��e��
+�����_��x��Lb�&�P
H��٫�{���
���J�V�T�E�n�M_:v��H��1��E�
�O���>ul_��rB� ��*1pFA�t�3�g���Y=ֳ�C���_*Ż
d.����^����x6$|�|�q<d�:�;��|���Z�e�!ߦP�N�d^���T�B�\U
pK��A&�,Wus_�}��o�K���[����y�>ɣ�h︉����J�aQ��Vx��O�c��(�C�`��3�̍�Ң����Rll
+z��_>�Qa_H�EX�
�k;��*\��?��PX��Z�ſƜ�����U��
+�{S_�P�Ti/�
��4��ݩ���K;�R���G|�2�z:}~~F�Ui�(�S��t�Z*����0X�wӛ��k���PYԎ��OE�
+endstream
+endobj
+2260 0 obj <<
+/Type /Page
+/Contents 2261 0 R
+/Resources 2259 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2083 0 R
+/Annots [ 2202 0 R 2203 0 R 2204 0 R 2263 0 R 2205 0 R 2226 0 R 2227 0 R 2228 0 R 2265 0 R 2229 0 R 2230 0 R 2231 0 R 2267 0 R 2232 0 R 2233 0 R 2234 0 R 2235 0 R 2236 0 R 2237 0 R 2238 0 R 2239 0 R 2240 0 R 2241 0 R 2242 0 R 2243 0 R 2244 0 R 2272 0 R 2245 0 R 2246 0 R 2247 0 R 2274 0 R 2248 0 R 2249 0 R 2250 0 R 2251 0 R 2252 0 R 2253 0 R 2258 0 R ]
+>> endobj
+2202 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.08 697.246 365.681 708.15]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a6b6bd9554098c88af56947f5a9e02818) >>
+>> endobj
+2203 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.471 697.246 457.068 708.15]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
+>> endobj
+2204 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 697.246 513.996 708.15]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2263 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 685.29 190.738 696.194]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2205 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [230.279 685.29 313.636 696.194]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2226 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.519 639.71 370.755 650.614]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a9f81c698a50d6b97d896dca8cda4042c) >>
+>> endobj
+2227 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.984 639.71 460.581 650.614]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
+>> endobj
+2228 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 639.71 513.996 650.614]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2265 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 627.755 190.738 638.658]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2229 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.478 580.429 337.394 591.333]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a2828646f7257660ec4a2a6a06427a715) >>
+>> endobj
+2230 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [342.582 580.429 423.179 591.333]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
+>> endobj
+2231 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [444.478 580.429 513.996 591.333]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2267 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 568.474 144.243 579.378]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2232 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 532.107 274.593 543.011]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a0a539cf36d2797f1c1cb24a5f3ae13e3) >>
+>> endobj
+2233 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.408 532.107 359.005 543.011]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
+>> endobj
+2234 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.217 532.107 472.2 543.011]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+2235 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.953 495.74 279.315 506.644]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a239ff7924a1294205e5057d1048986ac) >>
+>> endobj
+2236 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.978 495.74 364.575 506.644]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
+>> endobj
+2237 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.693 495.74 513.996 506.644]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2238 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 411.73 267.409 422.634]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_ab69f3fd82a3be2e835c16d812f6ef39f) >>
+>> endobj
+2239 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [271.225 411.73 377.834 422.634]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2240 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 375.363 236.815 386.267]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_adeef8fc42bbbeee0f82d5da5ed6b9fb6) >>
+>> endobj
+2241 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.63 375.363 347.24 386.267]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2242 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.685 340.741 252.621 351.645]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a0fa81de47c40e47efad3842142159fe5) >>
+>> endobj
+2243 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.016 340.741 367.625 351.645]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2244 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.139 340.741 513.996 351.645]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2272 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 328.786 129.857 339.69]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2245 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.543 292.419 295.638 303.323]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a227bae7ca5019a2488065ba188acbc84) >>
+>> endobj
+2246 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.891 292.419 405.501 303.323]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2247 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [422.699 292.419 513.996 303.323]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2274 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 280.464 156.417 291.368]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2248 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 208.41 306.124 219.314]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a182da2aa2af850a82ea4b4ab3773a759) >>
+>> endobj
+2249 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [309.94 208.41 416.549 219.314]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2250 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 172.043 305.018 182.947]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_ab51c22e30fbf76be062c500f2187b0a9) >>
+>> endobj
+2251 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.834 172.043 389.431 182.947]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
+>> endobj
+2252 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 99.989 247.485 110.893]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a0e81a3be2c1e438646f752885e8e2671) >>
+>> endobj
+2253 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.3 99.989 357.909 110.893]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2258 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2262 0 obj <<
+/D [2260 0 R /XYZ 90 757.935 null]
+>> endobj
+2264 0 obj <<
+/D [2260 0 R /XYZ 90 656.687 null]
+>> endobj
+2266 0 obj <<
+/D [2260 0 R /XYZ 90 597.406 null]
+>> endobj
+2268 0 obj <<
+/D [2260 0 R /XYZ 90 549.084 null]
+>> endobj
+2269 0 obj <<
+/D [2260 0 R /XYZ 90 512.717 null]
+>> endobj
+2270 0 obj <<
+/D [2260 0 R /XYZ 90 426.685 null]
+>> endobj
+2271 0 obj <<
+/D [2260 0 R /XYZ 90 357.719 null]
+>> endobj
+2273 0 obj <<
+/D [2260 0 R /XYZ 90 309.396 null]
+>> endobj
+2275 0 obj <<
+/D [2260 0 R /XYZ 90 223.365 null]
+>> endobj
+2276 0 obj <<
+/D [2260 0 R /XYZ 90 189.02 null]
+>> endobj
+2277 0 obj <<
+/D [2260 0 R /XYZ 90 114.943 null]
+>> endobj
+2259 0 obj <<
+/Font << /F70 205 0 R /F79 237 0 R /F56 171 0 R /F85 316 0 R /F23 172 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2287 0 obj <<
+/Length 2002      
+/Filter /FlateDecode
+>>
+stream
+x��YK��6��W�T���� ��)�3[N�UG�

��#R3�H���f���A��l�kW."�~|�u���C��/~X/nn�$�)M��.�8)A��h]Doc��\��8>
���Ww��fI���ߗ�M�?,W���UՕ�.ߖ��M�+Ͳ�2S�g,N������O��ޏ#b���G����;
0�s��Y�lV
��2����.�������ӑM���A"ή?)���ۢ�+F��s�Z������,Жi/�z�;6�����b*M/�s|���O���-�0RJ{�h��>3�*P=A2#���k������m�
t�tsڽ�H�(d��i��X����30$�̪s�=�Z�3>ZND`�~oWu<h���-f�G��TVvX��㩛yG*e"��̋E&�24k�`t���
��)E�$_7y{5p��y3

�R���s<z�F.:�=�5z�o���^�~_oW�7���΂�zX
�Vk�9�a�Iz~T�%��U��6K&�;5U/�I�s��a�|�����0�0E8���
G:o�Jm���x	��}v\
.#�$J9�|b��T$%	��%��;�1��h/mYuy�ꞣv3H d�~��6#� :d��!9��L�o��}�_���K<�|�W`�~)���$��k��kBI�/��J�f��>̉ʐ�u��>�I߸��dz4Z%.���?�,�\�{}Y��F
���!�ڳ�%��Y/3
8��U�R�j�$ޝ�����wuc���h�Ӣ�*M�x�[
=ߝ	��0r&�za^��O�({A�j��N
��m�Heɹ/[���fES�> ����4�e�5�:�}� [...]
+[�F�%
9+/��5V��e�&N���l�sY��,M���7y56'3�΄��h�_��s
�X�)28��l���ǻ�H�!����|)
��Ѩ�l}�c��cgA�$���P�zc}�>��������Qn�ڵX&�v��}���\
"R(��(v3#J��k�Q���9�9��V
6Q������+P�TX�����
�|��rD`�?�d��Ô����;�xlϛ�PI�/�����9~����V�1HUw�A��N\�7�Pҭ�������#<G
�L��T��m^��m7`��<��H3��
���'�����>��,(#�s#�ɑ��S��q�*��
�����!�\� �*`
��"`��
_cƉF���3 �B��i/S��
�t��-�J[� ��'

�$�(�`ʦ

Fܤo�m��C�S
>���
A1��NU�����`1� �X�
M��\-�а�"xg˼˾
�T ݤaMcP��86�R�'
�{
� [...]
�@k��qum;6%�=�`P9�[�
+4���wn�q{L�vlJ���'n�u
��͔�aJ�B%za�䪓S�3v5eb��З2���z��&&�!aQ�}_�FU�%�r@ .|��D]s}x�+I��g��+�B�H��I}�*����\ƒa�	
�� c��y<�T��7x���x�S���A?q�-
`Ӏ���d�9��\�9N!�ė�|�?R̈́V3����\�O>�����1����h
��>���0	���' �21���%L�>Lz~
&��Y����}ig�Ǻu�Ƕ�G�� n�쬪
+�G�7����܂-#�w�����r�0>j��"
���LU��nk���J����*�0%��p�p_��G��F
+��e�.�ɔ���ysp�;����Dzh��ku����G7�W���
���c���m��c�y���ɫS�aj�ա�ő��V������~����s�
+�;t����������3ڶ�T�c�Tw���9i
RI�����U�P�9�*�<��Y���9�o
+endstream
+endobj
+2286 0 obj <<
+/Type /Page
+/Contents 2287 0 R
+/Resources 2285 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2297 0 R
+/Annots [ 2254 0 R 2255 0 R 2256 0 R 2257 0 R 2280 0 R 2281 0 R 2282 0 R 2283 0 R 2284 0 R ]
+>> endobj
+2254 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 707.957 250.802 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a4c043227bbacc5af1e44439c140f95fc) >>
+>> endobj
+2255 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [314.662 707.957 421.271 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2256 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 671.095 255.783 681.999]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_aaa0eabf4e1c5b3bacdbadbc4fceeb6e7) >>
+>> endobj
+2257 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [309.123 671.095 415.732 681.999]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2280 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 634.234 261.87 645.137]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_aee2f9e1a5347b0fd66ca5f9aec8009e1) >>
+>> endobj
+2281 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.686 634.234 372.295 645.137]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2282 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 597.372 256.331 608.276]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_abe40c32264f8b51a8c0d259d0777afc3) >>
+>> endobj
+2283 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.147 597.372 340.744 608.276]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
+>> endobj
+2284 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2288 0 obj <<
+/D [2286 0 R /XYZ 90 757.935 null]
+>> endobj
+2289 0 obj <<
+/D [2286 0 R /XYZ 90 725.058 null]
+>> endobj
+2290 0 obj <<
+/D [2286 0 R /XYZ 90 688.196 null]
+>> endobj
+2291 0 obj <<
+/D [2286 0 R /XYZ 90 651.334 null]
+>> endobj
+2292 0 obj <<
+/D [2286 0 R /XYZ 90 614.473 null]
+>> endobj
+2293 0 obj <<
+/D [2286 0 R /XYZ 90 562.044 null]
+>> endobj
+2294 0 obj <<
+/D [2286 0 R /XYZ 90 492.25 null]
+>> endobj
+2225 0 obj <<
+/D [2286 0 R /XYZ 90 469.077 null]
+>> endobj
+2295 0 obj <<
+/D [2286 0 R /XYZ 90 469.077 null]
+>> endobj
+2278 0 obj <<
+/D [2286 0 R /XYZ 236.688 368.064 null]
+>> endobj
+2296 0 obj <<
+/D [2286 0 R /XYZ 90 351.336 null]
+>> endobj
+2279 0 obj <<
+/D [2286 0 R /XYZ 184.963 130.951 null]
+>> endobj
+2285 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F23 172 0 R /F79 237 0 R /F85 316 0 R /F90 477 0 R /F99 2097 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2315 0 obj <<
+/Length 1847      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~ϯ������.ilk2�K۬q1`]a�6��%M�����P$eIV:��X����;���6��O'?,NN�#
$(�T�� �A$	��u�6�ų9��U�/�.���e��YY,_�k����lN/
+��t���ku���CU�#%��R��-���-N�<! H{��P�D�ڜ�}��5�?0bI
<�T��S�yp}��	���!,���$�"�4�
+m��\���s�Y6e~?#8t���(.�ޫ�h��O����<�@c�l%���
�$�/��"�S�'"(����U�j�~g)��Q�HsNP1Kݪ#B�X}�S
�pF�[-�x�oF����T�	*$�y��,�Z�m]d��DZ�Oe��9�7:���H�
�gN@!
G��rD����6�
����/=�Q��#,�5��.��^�������z����������/�hBC�1�ȩ����JkH���<xC�/Yc?�R��(lR�5�cLg$L��	��Q��
;7��\A��B�^�=R�������ogϦ<������4 ��֛L7C?���6i���� �Rɐ�<���k��X���F�y��=�)k/H����b��K#���V�6A�8��f��M��匊��1}��
 & q����	���!��]�/�T���&D��
���%c��sߧ�����y��c�:y
m������s�w�}+@$�#|�u�:�~��|�v�ң
E;$;�
Ro[o��PKO��D.�|SHE�Q©��(��֒&�,��Ju���
����r_n�潪G&G>�
�L��ǦHַ�Z�n	H�ԭ��*�Ӎ�u�ZޛXH�j�w�D���%��7��>;n
+���_=.7Ųek3[���iͥ�uY�1�h���c_�Q=�8��E�_�/�B����CU��r�.z��P�w�� �����j�۽ꔀ�����+�
Qj��0]}��δ�^(�.�m����I��]��ϙ0$�$��Z�Ǫl�kw��l���6mK��=S3�C0ڌE�5�=/M)$|��{
�ޗ��L��P�
+��.��rJ
�Z��]�2o&aM�
ޑ�>��"��ω��6��$4��	����H���w^�(��>}���1��z���!�
%G�d	Y��j�܏� ;bR0�>
�"�	���ذ]���BGDvX�0�SS��'�
)�
H�)�.�z
+��@l���/�,sP��N�z�扮<���� Ǒ��=%�5�V���{l|@��-B��#d�I�f�ʷ�6��� !
�sd�G�P�<D�;��G J�if@��ڧ����F����R��
�k
SFV�����lB��
uW�[:NwP���ݹ�5�"�Y�s���)�a�	�~Bj�=�O�)�����wwڬ�l��n���Z9�<�5�0�
��aV8��
+D
&�g��ho����҆C64c�� �pB����S�M0!0���n�K8�#��+/����H�2��O/Ƈ
��Y��>&�̆�G��f8�6S�bE�0lş�ָM7Q�̮��g�5
"nQ�L�4�}^}��U�U��OZ���0��0pn�0pn�0p�[���[À�b�A�C}0�Iv���.M5��֎k�x�b�y3�9
��n�Z�z�t��a�lj�R3�Z��%(�d��Hp;��A���K�}x��3 $�x1y�����2�x�ֵ{����i�Ѿ�����v�ު��n��|Ө�K�(t��"-�~ij�]��MN�=b"������aV�?��]uﴢ
���z�u������Z5h[dU�2}
+y�t��q!���+XݒpS�EWV��&�}/��ܡ�
+endstream
+endobj
+2314 0 obj <<
+/Type /Page
+/Contents 2315 0 R
+/Resources 2313 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2297 0 R
+/Annots [ 2298 0 R 2299 0 R 2300 0 R 2319 0 R 2301 0 R 2302 0 R 2303 0 R 2304 0 R 2305 0 R 2306 0 R 2307 0 R 2308 0 R 2309 0 R 2310 0 R 2311 0 R 2312 0 R ]
+>> endobj
+2298 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.368 416.357 320.707 427.261]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Solution__Node__tag_ad6ece2828d918bbd4cded63665b88e96) >>
+>> endobj
+2299 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [323.97 416.357 457.149 427.261]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga934e8eb1ed3d9f688ffafe0f82ad02f6) >>
+>> endobj
+2300 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 416.357 513.996 427.261]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2319 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 404.402 179.554 415.306]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2301 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.108 404.402 325.834 415.306]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2302 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 320.561 274.055 331.465]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Solution__Node__tag_a9526c7cca61983debf9ced54bf89aa7f) >>
+>> endobj
+2303 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.87 320.561 411.05 331.465]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga934e8eb1ed3d9f688ffafe0f82ad02f6) >>
+>> endobj
+2304 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 284.822 277.372 295.726]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Solution__Node__tag_ad4796bea8c483cdbd25979da0c81007a) >>
+>> endobj
+2305 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.232 284.822 474.412 295.726]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga934e8eb1ed3d9f688ffafe0f82ad02f6) >>
+>> endobj
+2306 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 249.082 282.354 259.986]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Solution__Node__tag_a1eef951ad8a431e18a3e9d6a9e56594d) >>
+>> endobj
+2307 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [335.693 249.082 468.872 259.986]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga934e8eb1ed3d9f688ffafe0f82ad02f6) >>
+>> endobj
+2308 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 213.343 288.441 224.247]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Solution__Node__tag_af60a51929fc4969d04191e4f524f6031) >>
+>> endobj
+2309 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [292.256 213.343 425.436 224.247]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga934e8eb1ed3d9f688ffafe0f82ad02f6) >>
+>> endobj
+2310 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 177.603 282.901 188.507]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Solution__Node__tag_a6c514d39c645b2b47002b597d998f527) >>
+>> endobj
+2311 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [286.717 177.603 393.884 188.507]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Solution__Node__tag) >>
+>> endobj
+2312 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2316 0 obj <<
+/D [2314 0 R /XYZ 90 757.935 null]
+>> endobj
+2317 0 obj <<
+/D [2314 0 R /XYZ 90 733.028 null]
+>> endobj
+432 0 obj <<
+/D [2314 0 R /XYZ 90 567.177 null]
+>> endobj
+142 0 obj <<
+/D [2314 0 R /XYZ 90 559.707 null]
+>> endobj
+2318 0 obj <<
+/D [2314 0 R /XYZ 90 461.488 null]
+>> endobj
+2320 0 obj <<
+/D [2314 0 R /XYZ 90 335.359 null]
+>> endobj
+2321 0 obj <<
+/D [2314 0 R /XYZ 90 301.642 null]
+>> endobj
+2322 0 obj <<
+/D [2314 0 R /XYZ 90 265.902 null]
+>> endobj
+2323 0 obj <<
+/D [2314 0 R /XYZ 90 230.163 null]
+>> endobj
+2324 0 obj <<
+/D [2314 0 R /XYZ 90 194.424 null]
+>> endobj
+2325 0 obj <<
+/D [2314 0 R /XYZ 90 143.37 null]
+>> endobj
+2313 0 obj <<
+/Font << /F70 205 0 R /F90 477 0 R /F99 2097 0 R /F56 171 0 R /F72 207 0 R /F11 899 0 R /F23 172 0 R /F79 237 0 R /F85 316 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2344 0 obj <<
+/Length 2020      
+/Filter /FlateDecode
+>>
+stream
+xڽYm��6��_!�>�
�\�"%�W
�k�"m��m��$0�6m
�%W�ח�WK���6���M
��gf�8�8�~����M���1���:Hq��qJ��*�&���`����Xܾ�]̧	
�)�����J.�l3�Q�÷e+�u����N���X�%�Ƙ�q2�<�a�z>�}B@

}*OP�`��|�����`�"8�]������ɿ'�Q
h�p̽QkÛ:��1�,WN�"k�}ys(�m^���U�<�d�fz	�Sg����]��9)/[�0f�[�⠾5���v���l'�:_.
��Yq�����x:�T�ϗUٴ#BZ��͛�k5��	f���[���~�T�
���(F�P��l��V9�٨3�/{9rB�Q"���!��1�d�?�]�Ɛwy)�z���{��Ɯf$@hOH��(���OGc
+���S�M�%a'1�X1iwA�zW|�
>��<��E�Q"�/�~��_�U�p��ՂvC���Pўd�&�ےa�k�q_�*�ԋP��ö���e����l<l֪���}�0��A����yv�]�5�
+��E��5 �4��ɭ�Űy+�#�g�@�
��
�G��@�B:AgvqF@e���rR�Qh���Rk<oJG�%G�?Q��=�EaVe��<՚
�)��J�}]��wv�ݐ�mY@�yVh�UwY7�pω�,��O�G��[M=N@����^����8�0X?�L糞'" �b|
Np�
��]W���Scf�Y(e��K:��4�g:�W��|�5����$
���:���g�2�urQ9�R�L�Z���q
�k�'r��"�<���,i�ϤˀJ9� PwJ_�e�<�3�޾[����2
�|�x��?SH��廷�/���������3�O"B�|=FP$�M�`(�p�]�"���8��e��C���Pg
�v;Z� ��y�� �
+����͘F�SA�j�dQ÷�_�G��'�IZf�u�ֈ�\ҥ
O,S�=��(!
B� .�VW�.�Nm��(�
j�q
�Q���7����[��Ή�NhQT
+�Ǽ�8�Ĵ��� �0 4>yj���R���q�m[�\le���n}'a�N
�H`�����<\�>s>8��̅���kۮ6�kg��@��fc<k�� I�N붿A.W�	���JR�oGdAK��^'h
�ܓ'"
_3�9����M�" MG���{�KU�}_�ҁ,k=��
+�w��q'w��n{�#�[�9���,�a��ة�No�q��.���!+k���&��&.�

}��86��+�������e��C �}i:%�G�	pl��w$���$�r��ťS�RP+�c���:{�zF��X���6��w�.�ٙ�]�Ѐ����@�#6<�
9+��;�5�
6���#��_
8��4��y�{4��
E~F�.br��S�5�\^D�J.�f
�{V�ïW���ע�����S�2�/F�0M������
+��}-�G�����%��_��'�n�4��
$4C���gL���@H�:�/��;���×����S@�'�)�������I��`_~8m�0�D'�<�j��ˀF�n��������	�^ա6pm�1���x�(	�}ވ�F�N��HB1��<��!b%�ʀ6p4~�q(�ݤ<�o���0�>���j�x3{?\5y�?H�F#5�n!鸫�1&$�"̮
+
G
'=*�G����	F��\)��E�#�s�5QG�mv�]�F-wS�9)ykW��
����RF=��	 �?�$��#�bG��l/n0��tba��{Yo���q���
ո�f�ў7���{��q�Q1�#����2��H]
��F��`�Z��)��At�����������!1�%�����@���NZ���q>����
R�l9���/[�������j{;��]���!���������jl�
�)+��T>�#e}���r�:�twc������D�'�(�ћ{&ڶ�������
:���Fy{�}s~�t�B 1 �]�&��T��A|��_v�
+endstream
+endobj
+2343 0 obj <<
+/Type /Page
+/Contents 2344 0 R
+/Resources 2342 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2297 0 R
+/Annots [ 2327 0 R 2328 0 R 2329 0 R 2350 0 R 2330 0 R 2331 0 R 2332 0 R 2352 0 R 2333 0 R 2334 0 R 2335 0 R 2354 0 R 2336 0 R 2337 0 R 2341 0 R ]
+>> endobj
+2327 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [132.008 269.336 265.925 280.24]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a9fa4831093fbb97122699c344264e792) >>
+>> endobj
+2328 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.827 269.336 392.136 280.24]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2329 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [445.583 269.336 513.996 280.24]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga934e8eb1ed3d9f688ffafe0f82ad02f6) >>
+>> endobj
+2350 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 257.381 183.987 268.285]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga934e8eb1ed3d9f688ffafe0f82ad02f6) >>
+>> endobj
+2330 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [131.75 218.527 266.763 229.431]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a242792f5af528730b645b3831b4c6dab) >>
+>> endobj
+2331 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [275.407 218.527 392.716 229.431]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2332 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [445.583 218.527 513.996 229.431]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga43246761a1030d751e756845a246bf68) >>
+>> endobj
+2352 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 206.571 185.631 217.475]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga43246761a1030d751e756845a246bf68) >>
+>> endobj
+2333 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.965 167.717 282.816 178.621]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a97dd1858b35adebeeb6f0d2edeecb693) >>
+>> endobj
+2334 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.676 167.717 410.985 178.621]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2335 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 167.717 513.996 178.621]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2354 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 155.762 199.488 166.666]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2336 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 116.908 229.835 127.812]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a0095864fde9ce398bbcdc67fd7d7f795) >>
+>> endobj
+2337 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.65 116.908 350.96 127.812]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2341 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2345 0 obj <<
+/D [2343 0 R /XYZ 90 757.935 null]
+>> endobj
+2346 0 obj <<
+/D [2343 0 R /XYZ 90 733.028 null]
+>> endobj
+2326 0 obj <<
+/D [2343 0 R /XYZ 90 716.221 null]
+>> endobj
+2347 0 obj <<
+/D [2343 0 R /XYZ 90 716.221 null]
+>> endobj
+433 0 obj <<
+/D [2343 0 R /XYZ 90 420.661 null]
+>> endobj
+146 0 obj <<
+/D [2343 0 R /XYZ 90 414.061 null]
+>> endobj
+2348 0 obj <<
+/D [2343 0 R /XYZ 90 315.589 null]
+>> endobj
+2349 0 obj <<
+/D [2343 0 R /XYZ 90 286.646 null]
+>> endobj
+2351 0 obj <<
+/D [2343 0 R /XYZ 90 237.62 null]
+>> endobj
+2353 0 obj <<
+/D [2343 0 R /XYZ 90 186.811 null]
+>> endobj
+2355 0 obj <<
+/D [2343 0 R /XYZ 90 136.001 null]
+>> endobj
+2342 0 obj <<
+/Font << /F70 205 0 R /F90 477 0 R /F23 172 0 R /F99 2097 0 R /F56 171 0 R /F72 207 0 R /F11 899 0 R /F79 237 0 R /F85 316 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2378 0 obj <<
+/Length 1788      
+/Filter /FlateDecode
+>>
+stream
+x��YK��F��+T�DT��yj$�
ۛZ�I
�T���a % ɒX��>=	I��ìS� hF=�����<��4�q:���؋P���.�{2 HP�M�_"J��1��|3{;��ϒ�*U�~�	���ЂN��Y�E1&����y���,�TWY1���xB��R-㹲?ߩ�2��T�g�����ѫ��ˈ���#�@!�d›oG>ao��
F,
+����8e��x�G���s���A� 
 �BO��6)Ɯ�=��D at X N��+V��wf@$]ܮ�Φc&�B�ٯ�B�����*f�rU�c:O�MٟA+��>9�Qoc|<Iu���y��*��لk�D��Bă�)����X$[��	䷺�Ug��K�!�A��ٳQĘ�ѽ�s�͘-8L:*�e�DA��[��k��}���gX+-������[��P6s�
��1�Z;�ڄ����>�FA*7[��Y�Wڙ��<�
?ު��U�/;��A
�-')�L����;�
%�Xg|��'9C�E�@4�C�;ɚ�H ބ2�
�����g���x�trN��c���ad�>o�V;���f�4W޻
-�}[l����PO$��yY&�T2
N�?B�B�p�I��1��f��_�
�wpCK��$�U!IWO������@>9��La���͘
_@��
�Z|і�=
�/:"�DC&"G�p���cS�`b�3��Ru�A*]���g䎙�v�H��_�aT
s�cD�m܉��
��q��>w�m�H�i-Й4�3����=��=���K3���T#��a�!j����	ƀˁ�gfL+q�u. !�	
XMWi��.~�U�ܾܥ�
+ړ�ךt�<��� �
4>���uKI6�
y̝!����Z�׻B�R@C6�#.��o���PC<	����n��� k H�!DY-��oET>p5�~$��s�E�ԯ�2��g*/�޼�nu�_"�/�������x��v+"8�9��gGH��]%��5��%��
@��n|�
!" C����{�h���{D
1
�AtH�k*�a`<2�b��ƛM6��ϸR
���
+�k�?�6��~՚��d�
����ܞΖ�jW����$
��G���@����\�"����|��<If��6�
����IJɠ	��ټ3<i��H�/�y���-J&*m0��Q��?�-Fs$0�A�	�z
��tH��)����E�LD|tm�x�0t�W"$
UA!�6Wo��s�� f��3��Ř
?���}�
��~��DJo�)""lN���<����dS/�/U9/���~�

+9b��C���7�9�c:�Z	#�����|iN'@�R�*`}7R ���M��}M�`��?];aUO@�	pwRO����y��r�,Tm����.L��[�pw�
E	6f{3�X�MJZ�#CAؔ�
!
�=F/�C!#�DB�,� �5��Ӻ;[d�ݶ
J�i���퐭������P�����.3���i{<d�L7�Y��Ğ�� $"��
��I���P�!8h��=l����A
�Ǽ����ֵ�$������`Z(e�&���q.'��S�51D��Z���g���ER��_-��ޮ����ׂ&r6�M�\��%�����2ӿ
+B�g��P}��HB��=��J �xw�R[�am���&�\�ō�����t��W�}��a��*~��sA�%Nw�}�.{�zJ�IC0}�
�^�@�{Uo��{�����K[^Q�J�������~�G���$/PR]@N.��EZ��p��`e��%�fI8��?��"�
+endstream
+endobj
+2377 0 obj <<
+/Type /Page
+/Contents 2378 0 R
+/Resources 2376 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2297 0 R
+/Annots [ 2338 0 R 2339 0 R 2340 0 R 2381 0 R 2356 0 R 2357 0 R 2358 0 R 2383 0 R 2359 0 R 2360 0 R 2361 0 R 2385 0 R 2362 0 R 2363 0 R 2364 0 R 2365 0 R 2366 0 R 2367 0 R 2368 0 R 2369 0 R 2370 0 R 2371 0 R 2372 0 R 2375 0 R ]
+>> endobj
+2338 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.097 706.961 308.401 717.865]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a53680b4913fbc0c8bbf3a3f4097f672d) >>
+>> endobj
+2339 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.392 706.961 436.702 717.865]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2340 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 706.961 513.996 717.865]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2381 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 695.006 179.554 705.91]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2356 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.829 656.151 239.344 667.055]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a8fd26a28b5329cecc22ad0a6958a9ea8) >>
+>> endobj
+2357 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.068 656.151 362.377 667.055]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2358 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [404.797 656.151 513.996 667.055]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) >>
+>> endobj
+2383 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 644.196 221.595 655.1]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) >>
+>> endobj
+2359 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [130.618 594.383 233.531 605.287]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a4a89db919ecd790e62027d3559d8d539) >>
+>> endobj
+2360 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.044 594.383 358.353 605.287]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2361 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [404.797 594.383 513.996 605.287]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) >>
+>> endobj
+2385 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 582.428 221.595 593.332]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) >>
+>> endobj
+2362 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 496.061 258.185 506.965]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_ad9ec458d7b2f78d11393475db3e4cfe3) >>
+>> endobj
+2363 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [262 496.061 379.309 506.965]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2364 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 459.199 261.502 470.103]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a331092da872154b17ae2e8d675b88145) >>
+>> endobj
+2365 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.362 459.199 442.671 470.103]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2366 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 422.338 266.483 433.242]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a83a66e20c2502b8a2cf7f8a4b9925769) >>
+>> endobj
+2367 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.823 422.338 437.132 433.242]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2368 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 385.476 272.57 396.38]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a74f00bca9deb1df435f5f32e16be9849) >>
+>> endobj
+2369 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.386 385.476 393.695 396.38]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2370 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 348.614 267.031 359.518]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a5c88187145d242b27660f9247fe83ded) >>
+>> endobj
+2371 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.847 348.614 362.144 359.518]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag) >>
+>> endobj
+2372 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.557 140.502 500.327 151.406]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+2375 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2379 0 obj <<
+/D [2377 0 R /XYZ 90 757.935 null]
+>> endobj
+2380 0 obj <<
+/D [2377 0 R /XYZ 90 726.054 null]
+>> endobj
+2382 0 obj <<
+/D [2377 0 R /XYZ 90 675.245 null]
+>> endobj
+2384 0 obj <<
+/D [2377 0 R /XYZ 90 613.476 null]
+>> endobj
+2386 0 obj <<
+/D [2377 0 R /XYZ 90 511.14 null]
+>> endobj
+2387 0 obj <<
+/D [2377 0 R /XYZ 90 476.3 null]
+>> endobj
+2388 0 obj <<
+/D [2377 0 R /XYZ 90 439.439 null]
+>> endobj
+2389 0 obj <<
+/D [2377 0 R /XYZ 90 402.577 null]
+>> endobj
+2390 0 obj <<
+/D [2377 0 R /XYZ 90 365.715 null]
+>> endobj
+2391 0 obj <<
+/D [2377 0 R /XYZ 90 313.287 null]
+>> endobj
+434 0 obj <<
+/D [2377 0 R /XYZ 90 206.012 null]
+>> endobj
+150 0 obj <<
+/D [2377 0 R /XYZ 90 199.412 null]
+>> endobj
+2376 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F23 172 0 R /F79 237 0 R /F85 316 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2417 0 obj <<
+/Length 1699      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��6~��`�<kuAҧ��Io�nܧ4�#{i08�����
!	��^�Iә>!��Α���|v�v~<�^	�(��gN�
��)qƱ�����`���2��R��IV��2/C�ݵ,T�sS���ȸ��ͳ�4��j�T�����T�|8�
��3��ES�_��Lֿ�LUq�y�ߏ
�
>
�
R��;����{��P���
g]�Z8
e�L������Y���v�Z�Q%cmЫU6�0^�p���[?bgD=ļP����׼2�T7QeK�4�Qa
+Yn>.��x\�gv,]��ik�}�L'
"��
���f<W3]�Ꞟ�IN�$J��#UiLɌ�/d�|gȖ��!��H�$0S�w~qލ8@�a��Rs�f�u��A��!��z�R^W4 2 �O{H�֓pP
���oN�<?pF��
�T���mM�(�<�dP�Yv<ĶY&Uߊ�`]����H�#�)
cV��*I��,�A�
�R��Y;���
�Iy򸅅u_w������tn�0M�3�3����$�[&SƐ����ю_�G���
꜊�
QA�z�8�s����<pNfE��>̪���l6jW/f)L?��1��g"���
+mE?�`�b��'�FS�;�A6f�ßi��ӥ|�j#�����D
��f��,�
����H0������7^�u<�'Y{Lv��px�e;�t�nY���np���:~����e�̳��>�X��AQ�	#Ȕ 5lpm�ҹ��GK����b
�"]����Z�
5��mS�O+�n���/�4�=L��@�Ѝ[]�������0�A�b ����"!��FS��O��-�QY�@/�qI:p�e���?�
^�D-�e:�e*+y�LP�}
B
����:S��]
5�D
�N�| �~��I��k�H�@X�$��E�Q)|;X���Hk�i^�,e�gq�M]���N�I��+f�ʬZEiz�l
+[?�2*e����G
<b�{aN6�
`m����r=�"y��%�^~����=
��U�>VN�s
%�F�X��:������d�Q+��^�a7kʁ}��wD�(�܉��T`��%A�7xS8��g�X�OQ/DL�
E���M6��Dó�]�KZ4l5�\��
�� y���FY�
6�zNT
��ŻĹS�ȓ��}�%!�7ϝ.��L��*;!I`??�
Sʼ} jŬ�x�C2@��`�s�
�E@���>����pQ]�
+�o%����^�xH0�5�4)�J
�|U�� CܽD�J897R�������[؍	X�~~�{�Ϗ8��R[�w-���}ײZJ��6�c���Kn�~���D���dc"t���Xc�n��ꠡ�#������c

>w�FFY�u裀����Nl��̪���p�y��[���=g0�f�L7��s�Aa
�J�;�~���I{𲝲s����=��;HD�-�
YEI*7WX�"Y�+��k��,�[6��6�on�̫���������E�~2v��ue�˃V.վ ��:e:�~���y�Q( [���<�d���:��F|�0
Z���ɇ"*�zn�l���r��Wѥ�������!箙�_�
0��*�ݪ!aN��K�Q ����J��Gǖ~Rآ[^Qء��寧�O����5��h�%�%���վ|��B �l���,r{��dP���[�V��fN
+endstream
+endobj
+2416 0 obj <<
+/Type /Page
+/Contents 2417 0 R
+/Resources 2415 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2297 0 R
+/Annots [ 2373 0 R 2374 0 R 2421 0 R 2392 0 R 2393 0 R 2423 0 R 2394 0 R 2424 0 R 2395 0 R 2396 0 R 2426 0 R 2397 0 R 2398 0 R 2399 0 R 2428 0 R 2400 0 R 2401 0 R 2402 0 R 2430 0 R 2403 0 R 2404 0 R 2431 0 R 2405 0 R 2406 0 R 2407 0 R 2433 0 R 2408 0 R 2409 0 R 2435 0 R 2410 0 R 2411 0 R 2437 0 R 2412 0 R 2438 0 R 2413 0 R 2414 0 R ]
+>> endobj
+2373 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.291 648.051 386.001 658.955]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_abcb586fdbb2eb01ec10c0eb941f4b7f1) >>
+>> endobj
+2374 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [401.001 648.051 513.996 658.955]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
+>> endobj
+2421 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 636.096 240.541 647]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
+>> endobj
+2392 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.22 599.234 473.043 610.138]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_a0746b37f80c4be687b0dc5ded6190002) >>
+>> endobj
+2393 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 599.234 513.996 610.138]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
+>> endobj
+2423 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 587.279 330.512 598.183]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
+>> endobj
+2394 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.989 587.279 513.996 598.183]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+2424 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 575.324 240.541 586.228]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+2395 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.278 538.462 381.627 549.366]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_a8d39b1769491b0ee262118bfa31bcc67) >>
+>> endobj
+2396 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.615 538.462 513.996 549.366]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
+>> endobj
+2426 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 526.507 192.402 537.411]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
+>> endobj
+2397 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.738 526.507 429.869 537.411]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
+>> endobj
+2398 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.079 489.645 377.826 500.549]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_add8c6ae913a7e3f0a7e1470a23ba04a3) >>
+>> endobj
+2399 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.615 489.645 513.996 500.549]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
+>> endobj
+2428 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 477.69 192.402 488.594]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
+>> endobj
+2400 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.738 477.69 429.869 488.594]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
+>> endobj
+2401 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.377 440.828 382.529 451.732]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_adb6f375b8aad58a31f6a60abb7a9b1e2) >>
+>> endobj
+2402 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.615 440.828 513.996 451.732]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+2430 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 428.873 252.167 439.777]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+2403 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.672 355.458 414.488 366.362]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_ad69ffccc04d33132e31a91296afad78d) >>
+>> endobj
+2404 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.87 355.458 513.996 366.362]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+2431 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 343.502 293.422 354.406]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+2405 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.44 343.502 403.847 354.406]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2406 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.545 308.633 397.746 319.537]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_a70541b12c8a9b281b3aa4f9c21624b3c) >>
+>> endobj
+2407 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [401.001 308.633 513.996 319.537]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
+>> endobj
+2433 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 296.678 240.541 307.582]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
+>> endobj
+2408 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.531 259.816 404.386 270.72]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_abc4dd4b94a80075012b0f30b13339632) >>
+>> endobj
+2409 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.628 259.816 513.996 270.72]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
+>> endobj
+2435 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 247.861 252.167 258.765]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
+>> endobj
+2410 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [150.701 210.999 411.46 221.903]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_a62836b9156289bd880bf9f32056a4dee) >>
+>> endobj
+2411 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.87 210.999 513.996 221.903]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+2437 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 199.044 293.422 209.948]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+2412 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.07 199.044 513.996 209.948]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+2438 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 187.089 189.622 197.993]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+2413 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.557 95.676 500.327 106.58]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+2414 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2418 0 obj <<
+/D [2416 0 R /XYZ 90 757.935 null]
+>> endobj
+2419 0 obj <<
+/D [2416 0 R /XYZ 90 716.221 null]
+>> endobj
+2420 0 obj <<
+/D [2416 0 R /XYZ 90 663.418 null]
+>> endobj
+2422 0 obj <<
+/D [2416 0 R /XYZ 90 616.335 null]
+>> endobj
+2425 0 obj <<
+/D [2416 0 R /XYZ 90 555.563 null]
+>> endobj
+2427 0 obj <<
+/D [2416 0 R /XYZ 90 506.746 null]
+>> endobj
+2429 0 obj <<
+/D [2416 0 R /XYZ 90 457.929 null]
+>> endobj
+2432 0 obj <<
+/D [2416 0 R /XYZ 90 325.734 null]
+>> endobj
+2434 0 obj <<
+/D [2416 0 R /XYZ 90 276.917 null]
+>> endobj
+2436 0 obj <<
+/D [2416 0 R /XYZ 90 228.1 null]
+>> endobj
+2439 0 obj <<
+/D [2416 0 R /XYZ 90 140.803 null]
+>> endobj
+2415 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F23 172 0 R /F79 237 0 R /F85 316 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2461 0 obj <<
+/Length 1845      
+/Filter /FlateDecode
+>>
+stream
+x��Y[s�~ׯ����B�ľ%��NҤMw���qi��P�������W^Dˎ�����` ���
�p�
p���W7���)	M���@� M�7E�!Leњ`������!�8lʺ�do'��Q�j�]�N�h#��M}[��������m��
��԰t�o���(��,k����)�>�|���f�iE�U
�OQ�x�٭>|�A��1�G�kĔ��
+~Z�}�/�I�	�bRD����R�Eg���.
�U�K;y�7}��f���
v��s���5����zD,�_�fL�T�����A��U�X����$X����
s
��j���s�+z���X�4(���4Ჿ2�&vX�]&�MH[Z`���9J�᭐�-p�F~O���dh��KĘA�R}h
*>��<�F�ld�A�46'��VJ��,��!�flP�½$Fq��-Ƕ���zVn>Zwf���Ee
�o���.��;T���~V��w�oQ��%^)��l��	�
O��}�9�
	
l�S@|2fN�3Jx���yX+6��Z�P�(]
8���Ϙ�R]�B L��?����ee$�$Z�XF��:C��˪2�&�<<�:b ���Y��I�7���-���rӿ��*¼VL�C�C��}��Өg�Z�Ƥ�uBDń� �1�7CX�$���u��Wu>��P��c�$�֜������b�W�bl�ZP%�AU�a"^��Cs����	��n}#E�{Rw҈R�J�Э'e
�V'�s�� Ng��͡U^��GmH%��\]�,�
)�Q�b��ヴ)A���=nb����� BJ���C�q�I��K�M눔6g�:����Q�����V��%�������o�ʰ�Y��J+�f�IP�2�1���R>��a�!뽽���7od�Dj¦��ň��T��Ck��o�
����*�]��\��Y����t�� [...]
+���ʂ�A�t�L���F��-�N��
C1JP��eī:�q�%i��WKm���сxNLߥK���]D�ZG�
�I6�g
�o��r&�XCF�밉c$2_A������%�$֑!�P+�
	j��ա�\�n��Z�����[���?�,�j'9=�T/�
Q���WEqI	E	#����E�G�X.�ε0-+)'Pz@
+�7E���� ���"�V%�G��b�b8>
+�e>.‘`x���<ґ������u�;�՟�,\uz6����I�o���'�sl&�ԋzZ f
+�(�����D��
%~��0nt�j?�L��Zo�;
��e}fxu��
��Y�^۾��,��eH��t��5�m��eו[W=��q�2���"� �P��p<�`.��/�J^�ʾx�
V�g
Xq��]i��t������>/�r��o|f� �%/� ��(����X����3�į)S
�B��?ڟF�>����
���,A����͂��
( ��
^S������*�U�E����i ��O7�������LY�o��
C��ߡq��Q�xG�;��aFzӴ���7u��]k̡���4r4�u�J��!�����æ�s~��/	�����Y���n�5�����,��Ε{���f���?�eo��i�y[t��I�T�=��K	�W�D�2�K	PDdzN�:��;[:L��w�]���շv-���|+�ݗI����'硵��y
��Ƕ����;F�(��h�࢟���0����_V�'9HEc <�|��������6
:��Ee
>z}�
+n!�6C9�[=��u7�w�ـ�V�/�p6�
+endstream
+endobj
+2460 0 obj <<
+/Type /Page
+/Contents 2461 0 R
+/Resources 2459 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2297 0 R
+/Annots [ 2441 0 R 2442 0 R 2443 0 R 2467 0 R 2444 0 R 2445 0 R 2469 0 R 2446 0 R 2447 0 R 2448 0 R 2471 0 R 2449 0 R 2450 0 R 2451 0 R 2452 0 R 2453 0 R 2454 0 R 2474 0 R 2458 0 R ]
+>> endobj
+2441 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.035 448.644 476.806 459.548]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+2442 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.297 344.692 372.995 355.596]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a7e3f8c5b2e614c5d18783c2ef7b092e1) >>
+>> endobj
+2443 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [401.001 344.692 513.996 355.596]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+2467 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 332.737 214.528 343.641]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+2444 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.059 295.928 407.858 306.832]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a98e7f050a579e9deeb71a75758238928) >>
+>> endobj
+2445 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.628 295.928 513.996 306.832]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+2469 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 283.972 226.155 294.876]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+2446 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.136 283.972 470.267 294.876]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+2447 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.477 247.164 375.814 258.067]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a79d1cb9751d21f7b364c4c41c4715737) >>
+>> endobj
+2448 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [401.001 247.164 513.996 258.067]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+2471 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 235.208 180.776 246.112]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+2449 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.112 235.208 392.23 246.112]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+2450 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.093 198.399 346.828 209.303]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_aa82f0fc73b5f98fab74070ee92a100cf) >>
+>> endobj
+2451 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.63 198.399 513.996 209.303]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+2452 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.933 186.444 336.051 197.348]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+2453 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.57 149.635 363.709 160.539]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_aacb1e10c50be6e9dd36e3aed93c7a222) >>
+>> endobj
+2454 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.989 149.635 513.996 160.539]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+2474 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 137.68 214.528 148.584]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+2458 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2462 0 obj <<
+/D [2460 0 R /XYZ 90 757.935 null]
+>> endobj
+2463 0 obj <<
+/D [2460 0 R /XYZ 90 733.028 null]
+>> endobj
+2440 0 obj <<
+/D [2460 0 R /XYZ 90 716.221 null]
+>> endobj
+2464 0 obj <<
+/D [2460 0 R /XYZ 90 716.221 null]
+>> endobj
+459 0 obj <<
+/D [2460 0 R /XYZ 90 501.223 null]
+>> endobj
+154 0 obj <<
+/D [2460 0 R /XYZ 90 494.582 null]
+>> endobj
+2465 0 obj <<
+/D [2460 0 R /XYZ 90 412.77 null]
+>> endobj
+2466 0 obj <<
+/D [2460 0 R /XYZ 90 360.046 null]
+>> endobj
+2468 0 obj <<
+/D [2460 0 R /XYZ 90 313.015 null]
+>> endobj
+2470 0 obj <<
+/D [2460 0 R /XYZ 90 264.251 null]
+>> endobj
+2472 0 obj <<
+/D [2460 0 R /XYZ 90 215.487 null]
+>> endobj
+2473 0 obj <<
+/D [2460 0 R /XYZ 90 166.723 null]
+>> endobj
+2459 0 obj <<
+/Font << /F70 205 0 R /F90 477 0 R /F23 172 0 R /F99 2097 0 R /F56 171 0 R /F72 207 0 R /F79 237 0 R /F85 316 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2486 0 obj <<
+/Length 1944      
+/Filter /FlateDecode
+>>
+stream
+x��YMs�6��W�rY�ʂ ��i3����&�x+�ɔ�!�Y�THjd��m|����
Oe+'���~x��!�h
��_��nf�o�$�)M��U$q$R�8%�M���l� �x��n�S
7e�w�w/s��j��k7T=lT��I7�m���
�q�Mݫv�/�}}�V��Q�
"D&4d������7�?f\�1.q�D£�v���
+�6�(�Yt0���	<����3����0y:��RX!h�p�m��Q���~]�~�!p�
kwڵ�띙���T�9�D
�D	��}�������O���~�
_��l�lꮿ��B/�2��,T��.�i_�S�ٔ�����������[���8ծd��,�'z�ɹ0�C��� #�G�BB�2M�^���"!	�K!^G�7@�DĆf�	hwvˌ3�!��eo��� 	n
ڲ/kG��>
��&���q�o�s��'ݾ:Z(���}�t�s�,
+7w�g�3ā�
�	�9J2�=����Tj+
>�����A���N��^�j��3bk��ƥ�.��3�⩄$
��6	��!�
�eNT�6ID�{��.Ϛ�=������Zi����|
K� �I 	d
a/"	I���^$	X����z�$

+a�W�dg
�
,�}��dP��
d��������m��������������QOn��n�S����If�~���Ge��;5g8^���"2.W�KC,3��}���z���lZW�vM]��h�5S�JK��'� C"K�(�VH�2
��ãF\B�
����~͎���' �CΙ�āC����HW�a!�šo��l'�;$��l3��}Oq
���e�
+��oT�l�]_6�D#��7��\����;�T@�i>���7��u�iz
�b,.^Fܺf廩G3�	9�o
c���01�$@E
To�RՅ��>�w��{��[�C�Y�f�
�S��pZ�I��oUû��D�.Sڰ6��d,OMy�ޮ��!��aēAs5=�
+��9uf|}��Gw	�9J���.1�R
+��G
�L�J�$
c�5��ѕe�zs�[˅��ࠞ)�'ttR�p�w>W�
�
��u}|ge����B�z	�����JDHv���W�������a�\��(����W'��P�0ch>�9�k�������(D��I�i����	����`����Y�uS/<�0��A��+ʒ�x÷(â�Ͷ�wn�v��#�����_���q��r
�O&���кA
��ͦ�l�B)O�Y`b�Y|����S�e���ʽ���ļ5�2ު���e
|WUV��+�g$n�Ҙ.s/��+
+a��;(�V߆_�JIfdO�5��"l�JmPw��m����ʶ�:���aSV�V�uǮaִ�������v���q��\2͸��Og�g�0c~��\�`��.>%y��Ԙ3b��{-��8�=J�y6eeD|J
2�)�Q.�N]_V��h�Q��
+{�C�a�9h���Ni�~�_͵x�t0��ձ*üe
��O��M�q���&&-$��@���n
�&I���Hb���z}^��=� A �8���U��H9�8��0����*����*l �YP���T8]b��N�P
+������pfF�:;
+��[]����
��[�ڨ�N���
�鉼
6�uNfːU!YF�c��x>���T ����&$ۨ!w���t9X�ߤu�~�>�7��Z�Z�|Ϸj�퉟��k[pU+A�^�{P�l�$3I��#?8��
����>
��Z!p6�72���`�ٯ
��,��v�}c�
���if~�|��_�z@��9�%✝p�'s�m�����^�/�ڼu2�ڍ��z����
�ө�s�c�y
N�/���t��Z2]�tuC�(�@����O�͌�
��
�Ã\l�~����p8�e��u�kQ�_��ϫ��
+�-SP�p�ۦU>�`pk����a���
+endstream
+endobj
+2485 0 obj <<
+/Type /Page
+/Contents 2486 0 R
+/Resources 2484 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2499 0 R
+/Annots [ 2455 0 R 2456 0 R 2488 0 R 2457 0 R 2475 0 R 2476 0 R 2490 0 R 2477 0 R 2478 0 R 2492 0 R 2479 0 R 2480 0 R 2494 0 R 2481 0 R 2482 0 R 2483 0 R ]
+>> endobj
+2455 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.05 719.912 380.855 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a1785059acd1bf60dcf4cda0044cc94b5) >>
+>> endobj
+2456 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.615 719.912 513.996 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+2488 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 707.957 226.155 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+2457 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.173 707.957 336.58 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2475 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [150.551 673.088 384.74 683.992]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a64b1a8e66388915a57bfd0b53a2e46c5) >>
+>> endobj
+2476 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [401.001 673.088 513.996 683.992]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+2490 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 661.133 214.528 672.037]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+2477 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.724 624.271 385.567 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a35180fb6d38a29d74f5992815fbdf006) >>
+>> endobj
+2478 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [401.001 624.271 513.996 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+2492 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 612.316 214.528 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+2479 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.079 575.454 377.826 586.358]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_abe46bba93c5ddcf4cf4cafdb0d74f942) >>
+>> endobj
+2480 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.615 575.454 513.996 586.358]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+2494 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 563.499 226.155 574.403]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+2481 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.616 563.499 459.746 574.403]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+2482 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.035 472.086 476.806 482.99]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+2483 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2487 0 obj <<
+/D [2485 0 R /XYZ 90 757.935 null]
+>> endobj
+2489 0 obj <<
+/D [2485 0 R /XYZ 90 690.189 null]
+>> endobj
+2491 0 obj <<
+/D [2485 0 R /XYZ 90 641.372 null]
+>> endobj
+2493 0 obj <<
+/D [2485 0 R /XYZ 90 592.555 null]
+>> endobj
+2495 0 obj <<
+/D [2485 0 R /XYZ 90 517.212 null]
+>> endobj
+2496 0 obj <<
+/D [2485 0 R /XYZ 90 458.512 null]
+>> endobj
+2497 0 obj <<
+/D [2485 0 R /XYZ 90 436.2 null]
+>> endobj
+2498 0 obj <<
+/D [2485 0 R /XYZ 90 436.2 null]
+>> endobj
+435 0 obj <<
+/D [2485 0 R /XYZ 90 153.353 null]
+>> endobj
+158 0 obj <<
+/D [2485 0 R /XYZ 90 146.753 null]
+>> endobj
+2484 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F23 172 0 R /F79 237 0 R /F85 316 0 R /F90 477 0 R /F99 2097 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2526 0 obj <<
+/Length 2122      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs�6��W�R�&
|%��L&��f*;q*���
!�D2$5�����(Y~$�U�
 ��F�׍�a�
+����W��0�H�8�ZY$1%��U
|�$��錆a8����SNJ]��j]gJ��N�8��
��nT^Oi:)��V��3��o�V�K�P��A-���
+
�4�l���/W�]|}u��À���$<
+�����A��!�Y�̬M ��u��ſ.“�c��qd��A�e�r+ѻm�huY4(��(
,
���̮�F���u[iod�[�q��v��t7j3�-����"@��M{����T�p#F�
++�WN򿗋�-X.SMJ���씼�Hm�?�"('")(�S�'Ƣ{K��� ��0��^9{~0��YDu�(l�$�"@P�QSMV�h"�k�o/{첔�
�gx- at 1�Q�3\
�D�i p$Y��7��g�Z��S6̀d�bhCPb�qK�m=`�ʛ�v7
�l�Q�o��`�\:{��W��[�
�\0̐''i��d�U�����)r���^��l#o�F�/j�6��|�r�#pA�<(�St��<��ы\-����8K�1F�({X�H�
�F�q�N\�\tX
�t�rVɮ�} X�zQxg�Oa�G� �~N�ǹ���@kFI�~�u����r0��4�y=�
��>�>�G��v�!Ib?�q0�IL�
+M��'��
���Õ����z�|��������Cl'/��v����:�9���VxK��"T��?�v[�sXڟ�lt�?+�D�D���
�z��0;��?
R#���GnG ���u
by
a�,L��q:�3�Pt��n�1�R�ii�>PH�|<���Ɯ�s*�B��
w.{�W��,�����9o����2�获�`������t�N�b~�Q%��ڟ��A:{ğ�ӟ�3a�%�I�O>�7��T�IJ��������x�4�$�H�E��p>25�1�&5z6����T����_��$���R���v-۲
�����:6�#~���x�&&����m�w��C�
+ at T��v
���{� �!z1�n<Zr���s��ߍ�" ��:G
���
?/f
γ�ѫB+�p��EF�ދ�I�n:?/��h
<�

y����.���ܡ0c�TJ���
��iрg
G/
�H�
��"��8
�L�Y��T8@^p�guӞd�
�f�ϒ�Z6��6�Lxuxփ�ޣ�	^IBҰ�=��s��>�E��0��
�j�
'I<xɉB�W��6W&yd>HS��;Ҍ��c%��^���R����9����5z�jƞ�8=D�ᑥݔ9�n��R�-`���
���E�L�(�ye�hͅ��[��F
��A
t��krC�
�
����q
�UD b�y�-r;��=��ܸ�4�
f"&q��iw��ڿv�3��+�a[� �K ��af)(IY_�"ԕ�ުV굯��U͢��N
��\MS��V���A@��<�:v|�G.�E��(*�
�5N���2�U���t%lr�iU$|��|^H�|�Ʋ7��ʢծ��
�෕�Y�$�\�Kͭ�HcwhYVnR�	�[� �5ό�l�6�ga{�������G�O�Qx�ލTN1������-��b�墕��0Ёns#�b�r�0��K+d��fU뼱qr&������ށ�Ⱥ
Z|g�)p���kUժq�d�8�Ҹ־̎mk��Z8

�k�8b�a;�@�;���\�;�n$��gk�{�&�ت�jm�a��w>#$>����תѹQ&K|b�
���K�c��(
YP�r�v�Fs���
+���7P��qB%� ݼ\l�z�i9��X�
�0�r�!@S�V^�‡5�]���m�b8����NE�[o�� xv��
��1�6�|�(W�]lײ�/#��I��&L��
+tk�w��w00�G�r�
٣�:
+ֲe�+��
�c��Py?����c8�hzn�ߔ��|1���R�A�� z����\��{	���u��絬���7&��V�������F��F�B�^�
 b��]:U��Re8�Q�4����������	8���›�������vd�8
����2���"~O�B��t�F��7eݽ����X��J��E	1
+endstream
+endobj
+2525 0 obj <<
+/Type /Page
+/Contents 2526 0 R
+/Resources 2524 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2499 0 R
+/Annots [ 2500 0 R 2501 0 R 2530 0 R 2502 0 R 2503 0 R 2531 0 R 2504 0 R 2533 0 R 2505 0 R 2506 0 R 2534 0 R 2507 0 R 2536 0 R 2508 0 R 2509 0 R 2537 0 R 2510 0 R 2511 0 R 2539 0 R 2512 0 R 2513 0 R 2514 0 R 2541 0 R 2515 0 R 2516 0 R 2542 0 R 2517 0 R 2518 0 R 2544 0 R 2519 0 R 2520 0 R 2545 0 R 2521 0 R 2522 0 R 2547 0 R 2523 0 R ]
+>> endobj
+2500 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.395 649.294 363.884 660.198]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a26a124537b8995832b2cb157abc7cf07) >>
+>> endobj
+2501 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.989 649.294 513.996 660.198]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
+>> endobj
+2530 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 637.339 180.776 648.243]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
+>> endobj
+2502 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.136 601.187 317.224 612.091]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a0bf696420bbdc5c2ef0993f61f2273b7) >>
+>> endobj
+2503 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.07 601.187 513.996 612.091]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
+>> endobj
+2531 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 589.232 129.857 600.136]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
+>> endobj
+2504 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.661 554.718 513.996 565.622]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_aeb8456ecf06307c108046a8c665154c9) >>
+>> endobj
+2533 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 542.763 173.025 553.667]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_aeb8456ecf06307c108046a8c665154c9) >>
+>> endobj
+2505 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.898 542.763 369.276 553.667]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
+>> endobj
+2506 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.615 542.763 513.996 553.667]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
+>> endobj
+2534 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 530.808 192.402 541.712]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
+>> endobj
+2507 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.91 494.656 513.996 505.56]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a024a52502b35029ff2ba102323d8ae5b) >>
+>> endobj
+2536 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 482.701 173.025 493.605]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a024a52502b35029ff2ba102323d8ae5b) >>
+>> endobj
+2508 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.898 482.701 369.276 493.605]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
+>> endobj
+2509 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.615 482.701 513.996 493.605]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
+>> endobj
+2537 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 470.746 192.402 481.65]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
+>> endobj
+2510 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.888 434.594 373.403 445.498]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a91f0ccf4325f53430d7347ca73182f52) >>
+>> endobj
+2511 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [401.001 434.594 513.996 445.498]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+2539 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 422.639 180.776 433.543]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+2512 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.112 422.639 294.518 433.543]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2513 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.951 386.488 375.341 397.392]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_aae5f47efa7c023e45aed9be161dce99f) >>
+>> endobj
+2514 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [401.001 386.488 513.996 397.392]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+2541 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 374.533 180.776 385.437]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+2515 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.211 374.533 428.342 385.437]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+2516 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [453.882 374.533 513.996 385.437]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+2542 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 362.577 267.41 373.481]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+2517 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.013 326.426 377.278 337.33]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a1b2ee4d834f0651a41647ac5b5e0f912) >>
+>> endobj
+2518 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [401.001 326.426 513.996 337.33]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+2544 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 314.471 180.776 325.375]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+2519 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.98 314.471 431.111 325.375]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+2520 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 314.471 513.996 325.375]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+2545 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 302.516 304.5 313.42]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+2521 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.705 266.364 380.586 277.268]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_ab595ea1166752d23aba600af43417bd8) >>
+>> endobj
+2522 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [401.001 266.364 513.996 277.268]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+2547 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 254.409 180.776 265.313]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+2523 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2527 0 obj <<
+/D [2525 0 R /XYZ 90 757.935 null]
+>> endobj
+2528 0 obj <<
+/D [2525 0 R /XYZ 90 716.221 null]
+>> endobj
+2529 0 obj <<
+/D [2525 0 R /XYZ 90 664.937 null]
+>> endobj
+2532 0 obj <<
+/D [2525 0 R /XYZ 90 571.641 null]
+>> endobj
+2535 0 obj <<
+/D [2525 0 R /XYZ 90 511.579 null]
+>> endobj
+2538 0 obj <<
+/D [2525 0 R /XYZ 90 451.518 null]
+>> endobj
+2540 0 obj <<
+/D [2525 0 R /XYZ 90 403.411 null]
+>> endobj
+2543 0 obj <<
+/D [2525 0 R /XYZ 90 343.349 null]
+>> endobj
+2546 0 obj <<
+/D [2525 0 R /XYZ 90 283.287 null]
+>> endobj
+2548 0 obj <<
+/D [2525 0 R /XYZ 90 208.815 null]
+>> endobj
+2524 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F79 237 0 R /F85 316 0 R /F23 172 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2571 0 obj <<
+/Length 1918      
+/Filter /FlateDecode
+>>
+stream
+x��YKs�6��W�VjƄ�$��u'}�m�Ni��H��V"U�����.^|���D3�' ��]�����:��7�7��k���1���U��@�	J��e�6���yD0��n���iNqXn��Բ��$,��&[�#*p��hT���v_��2sTa�g"�l������7�?gT�1K
+�$�b;{�K�6���Ip0���
�M�f��
?�>eǢU�#�
��rU,k���b���d�r��}�h򲰽���~��&3C�8��@�ӾxD�y���2�
+�jոΜ��*=p5��:��=���7,�<D�I�eQ7'eFFINACD��T8GLm��|y����1�3�G������Ĉ����:{Q�E�4#�?�7���z����>L�F!2h'F'&�O"(�����wv��{3#�3
D
�#����*o�
��tZ��g,E4�cE�	G��~Js�`P���\�v�׿�@s+��Ċ�H��ۊ�%��)�@�cc�ƈH�(l��_N]��*5�j�@�$N���~����T
ظ���jND���0�*���̠ީ��(r�
���>�w.Z���E`S���1����oql��n]�i�V�sss���Ք�!��������*TաU�[/By��M9��.
�A(Ӎz6�gֻ1I\�R������ ���
腖��m��-�v˜L�`C�y��8�F�v3��yTd�.W�!�#��;��r��G��HʫWW~�9��_:xL�����	N U�F��I�O��I� ��5�)��*�ҽܪϭ/��v��!� q&W�ګ��)�����u�.t��u$z�O��G���4A$�G�NdvX'�j�2�k3�S{�2�Щ�� ѧ!t[� �n�9(^�#�� ��
Z†v'��5�3
c q�h�s�v�h���xľ�Z�]Z�h*Ӏ�'�026��ࢥ ǂ�]s�X��A�Ƽ'z�
����S�H�X�\��ce�Eh��
�
l��5l|oF!e��~���C�����a	B>]jU܂w�v��3�P�捛��%(ɤzXדq��ۧ	��I��<b��YiJ
�� [...]
+@
J��(�
 Ʉ}~nys���mlٕ[n�/)zNHIpg|6HE,N�|��;��F�8A����s*��c�?�18���>c��˜)�3-���o��Fm�pRΙ�$����o"D�#m�7C�� ��dTw6;����ς�ؖ�и��
n O��0�+Ϡg�����AS.Ckl��Xm�T�R��ilQO�*�
+�
��W6{x<��^�� &��g$��3
�g���'��јp79]|"
+	ň'�
0$�=r��B��~�Q-
!���<.
�Yϣ�6<��Y:r{�
uG�4M�E
2
� f\v�cW�G��g�n�b���4���Q��@�cO "cHJz
+�Iw�4@��=���
�@����]�aD�;.�`�
q����ӀH@�x
+����"O����CQHy:#����t| Z�9�!
�?�b�N
܈�ȒG
Z�d
���ʼnɲO�
f~��y������`"EB�ѭ�OP��]x������*��7��g�z��U�Jyp��K��/�P2����b�m�M���f���kz���7 ���g��?�����鬢
8I�!�4�g����-j�/�]���������B��:�hﯷ����
ܚ
h�K�  �gY
+endstream
+endobj
+2570 0 obj <<
+/Type /Page
+/Contents 2571 0 R
+/Resources 2569 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2499 0 R
+/Annots [ 2550 0 R 2551 0 R 2552 0 R 2577 0 R 2553 0 R 2554 0 R 2555 0 R 2579 0 R 2556 0 R 2557 0 R 2558 0 R 2559 0 R 2560 0 R 2561 0 R 2580 0 R 2562 0 R 2563 0 R 2564 0 R 2581 0 R 2565 0 R 2566 0 R 2567 0 R 2582 0 R 2568 0 R ]
+>> endobj
+2550 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.801 387.727 336.353 398.631]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ada9021952b7c7ad4ca6fc4ff082ec9fe) >>
+>> endobj
+2551 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.864 387.727 415.258 398.631]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2552 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [444.478 387.727 513.996 398.631]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2577 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 375.771 144.243 386.675]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2553 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.223 328.927 332.716 339.831]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_abedffb6a2f5b2473d2d2ac9d448c65d9) >>
+>> endobj
+2554 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.649 328.927 419.043 339.831]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2555 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 328.927 513.996 339.831]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2579 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 316.972 180.776 327.876]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2556 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.413 270.128 401.265 281.032]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a418a9f96c3df4cf69bc399cd807eddeb) >>
+>> endobj
+2557 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.388 270.128 483.782 281.032]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2558 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 258.173 224.501 269.077]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2559 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.924 212.833 346.688 223.737]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ad6512d0d60c017982bd8031e9b8df336) >>
+>> endobj
+2560 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.321 212.833 428.716 223.737]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2561 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 212.833 513.996 223.737]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2580 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 200.878 210.673 211.782]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2562 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.869 155.538 359.878 166.442]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ab27e9641bc6946aef6e3254d28c6fab4) >>
+>> endobj
+2563 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [372.457 155.538 445.851 166.442]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2564 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 155.538 513.996 166.442]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+2581 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 143.583 210.673 154.487]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+2565 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.365 98.244 351.754 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a703c5d92387510c5cbf8b0f1da3029b2) >>
+>> endobj
+2566 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [358.829 98.244 432.223 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2567 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 98.244 513.996 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2582 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 86.288 217.298 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2568 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2572 0 obj <<
+/D [2570 0 R /XYZ 90 757.935 null]
+>> endobj
+2573 0 obj <<
+/D [2570 0 R /XYZ 90 733.028 null]
+>> endobj
+2549 0 obj <<
+/D [2570 0 R /XYZ 90 716.221 null]
+>> endobj
+2574 0 obj <<
+/D [2570 0 R /XYZ 90 716.221 null]
+>> endobj
+460 0 obj <<
+/D [2570 0 R /XYZ 90 543.149 null]
+>> endobj
+162 0 obj <<
+/D [2570 0 R /XYZ 90 535.792 null]
+>> endobj
+2575 0 obj <<
+/D [2570 0 R /XYZ 90 454.188 null]
+>> endobj
+2576 0 obj <<
+/D [2570 0 R /XYZ 90 402.561 null]
+>> endobj
+2578 0 obj <<
+/D [2570 0 R /XYZ 90 345.784 null]
+>> endobj
+2569 0 obj <<
+/Font << /F70 205 0 R /F90 477 0 R /F23 172 0 R /F99 2097 0 R /F56 171 0 R /F72 207 0 R /F79 237 0 R /F85 316 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2620 0 obj <<
+/Length 1965      
+/Filter /FlateDecode
+>>
+stream
+x��ZK��6��W�V��|?�S�h��m�&��&0
[�
+���6���;$�������(�D���3��f�3��2��σ�7��+����2�YJ$(	n���P!*FWc<��V�w#�����.��#����$�.GWT���MƋ�,���E��	7n�p&���>ݼ�t3�k@�
��PH1�փ�O8���� #ft�wo�N��������o�^
hGr+�Q�*������>Z�`�����pD�p���������k
���Od����.��䐤�ڿ�]�q��,�{+b�
�Ң�%q��s��,{��?E�	�^�n��>�Ұ.�
��
+3.����9w�|+`��Wf�a8Mù�7��T �8kd���T �:M�q>�$�.�4A
+�����K8��_A�0
:��+!+VzE(F\S� C�'�D�Q	n�n�I�ekn�2�������l�
M�'�2����pf�v����uq����J����TROkƯ�KX.g�z>b̼
+k��ȀJ-�xXPBw
\��fL"�5�TD
���
&��=�Y���k���&��?F��2lJ�ٵk��4>����
H�Y�%g���
�v�"Ю�@ � +y
�
	&k����L�R�@;w��y�H�aV�
m� Ih
nUL:=?
�s ��PM2�
�i�aN�$Zn�\��um�I�����$�Iz
<LKG
*I3i�e��,�
��
Z�
�
�`����4�d��vw�3vD���dm+�0��2C &��E#�
�J�O�K1�H�@����i�U)���)$�)�[����t�:�dH�]��
]

\���o�;2�������^��t-<9V�Hv�tM�p�D]Q���ե��!0qBꁉC�W�U!�$=��.d�_����
׻�p	؊4�J�?�����a����I4�ƥKHs��~�8V���)_��"烹$�Q���FU	��uF
+F��=.U��F����
��$�
:ȁ�1�0�(����Ȳ��Zn
�")X=P�0-�qx�'�/�����c�f��j�g�ÊA���Z�
��any�C��<��&�b�D®��)�78������c.���܂kѧ����a�9�y+vCN���q�{wׇCa�8��9Fu;ۥ6y�(��(����|������_݈ƨt�`�L�2��w2eR
�����I-5U`����B[(m
�; ���#5`Oj�A�v��	-z@��������
t�[9��
y�Y�V�7�
�R��O �cpw�)�w_�(^Wɹ��1����|�m�]�23�O��_�@�Z�%�gD#H�sPE�Cg�+�i�~#qnI�kA�6���3]ʂ�ʲf;i�$��)�}�֭���@��
+:��
+:�8���L�E
�4���h����
�"GA˩�`��VQG"�����sIYU|
����q0ZZ}V)Re�r0�v}
�VY�+���(��ʶ<���Tm��U��O0)Z0ww\��¡F��S�UR^=�]�
++�W]�߷7�
6q(��<W���<'
�lX"}FC�����`�H,X+~���y
�t���#?��z�}��X.Z��H�N�68��$�4�7-�"
+rߞa�D�筍�;f�QP#L�3�n�$c����A(Y�))�HJ��EOQS��� 4̷�mv��jw�da�ю�>i�A��ow�I��'�@J�����7RQK���R�
~�w�I��_�@ 7�ϩ(\�T�����&���hY8�`��c�E�u���I�E��:�
#]E��a<7m�dѽ��_+I��™+�����$2���+a�Y��&�K��u������_���4>Ժ��N7���2�~�e�
�GX$a��H�av��M7�Ӭ;aM���2�]��-bD�� �Z���6/��A>����HE!�Q��.Mwߏ���
�t��v1��1����8-�0KU��Eށ]o�0�
��z�F�~	�ҿ٨��
+endstream
+endobj
+2619 0 obj <<
+/Type /Page
+/Contents 2620 0 R
+/Resources 2618 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2499 0 R
+/Annots [ 2587 0 R 2588 0 R 2589 0 R 2622 0 R 2590 0 R 2591 0 R 2592 0 R 2624 0 R 2593 0 R 2594 0 R 2595 0 R 2626 0 R 2596 0 R 2597 0 R 2598 0 R 2628 0 R 2599 0 R 2600 0 R 2629 0 R 2601 0 R 2602 0 R 2603 0 R 2604 0 R 2630 0 R 2605 0 R 2606 0 R 2607 0 R 2631 0 R 2608 0 R 2609 0 R 2610 0 R 2632 0 R 2611 0 R 2612 0 R 2613 0 R 2633 0 R 2614 0 R 2615 0 R 2616 0 R 2635 0 R 2617 0 R ]
+>> endobj
+2587 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.31 687.036 364.945 697.939]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a9d9b8361c659cadd31afb61152ccf06b) >>
+>> endobj
+2588 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [375.964 687.036 449.359 697.939]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2589 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 687.036 513.996 697.939]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+2622 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 675.08 217.298 685.984]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+2590 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.162 629.252 341.213 640.156]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_abd393bd3febd678f09a51a0364756787) >>
+>> endobj
+2591 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.084 629.252 427.479 640.156]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2592 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 629.252 513.996 640.156]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2624 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 617.297 180.776 628.201]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2593 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.356 543.882 358.294 554.786]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a52e2499c42a9be1e527642cbfb16ff8c) >>
+>> endobj
+2594 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.36 543.882 444.754 554.786]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2595 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 543.882 513.996 554.786]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2626 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 531.927 190.738 542.831]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2596 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.453 484.106 354.718 495.01]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_aebe78c4ede3d49c63765e71cfe93904e) >>
+>> endobj
+2597 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [360.881 484.106 434.275 495.01]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2598 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 484.106 513.996 495.01]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2628 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 472.151 180.776 483.055]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2599 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.86 424.33 430.484 435.234]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a819d233e9b1442e06c806dea0523a2f9) >>
+>> endobj
+2600 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [440.054 424.33 513.996 435.234]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2629 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 412.375 129.857 423.279]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2601 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.262 412.375 254.668 423.279]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2602 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.539 366.547 357.689 377.451]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a304dd0846a62cb4a9f79806ea82cee5d) >>
+>> endobj
+2603 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.937 366.547 436.332 377.451]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2604 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 366.547 513.996 377.451]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2630 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 354.592 210.673 365.496]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2605 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.484 308.764 370.879 319.668]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_af93c7e3e554a92e8d3eeb4cf4261debd) >>
+>> endobj
+2606 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.073 308.764 453.467 319.668]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2607 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 308.764 513.996 319.668]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+2631 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 296.808 210.673 307.712]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+2608 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.965 250.98 362.74 261.884]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_abf1bb44cdbf733e9ca39164f9d8e8179) >>
+>> endobj
+2609 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.415 250.98 439.809 261.884]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2610 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 250.98 513.996 261.884]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2632 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 239.025 217.298 249.929]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2611 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.925 193.197 375.946 204.101]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a8948143df881c58c79da34380f847401) >>
+>> endobj
+2612 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.581 193.197 456.975 204.101]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2613 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 193.197 513.996 204.101]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+2633 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 181.242 217.298 192.146]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+2614 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.392 135.414 363.215 146.318]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a1bd806c292d0576b94d3084b21736061) >>
+>> endobj
+2615 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.317 135.414 442.711 146.318]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2616 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 135.414 513.996 146.318]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2635 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 123.459 180.776 134.362]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2617 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2621 0 obj <<
+/D [2619 0 R /XYZ 90 757.935 null]
+>> endobj
+2623 0 obj <<
+/D [2619 0 R /XYZ 90 646.353 null]
+>> endobj
+2625 0 obj <<
+/D [2619 0 R /XYZ 90 558.96 null]
+>> endobj
+2627 0 obj <<
+/D [2619 0 R /XYZ 90 501.207 null]
+>> endobj
+2634 0 obj <<
+/D [2619 0 R /XYZ 90 152.514 null]
+>> endobj
+2618 0 obj <<
+/Font << /F70 205 0 R /F79 237 0 R /F85 316 0 R /F56 171 0 R /F23 172 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2677 0 obj <<
+/Length 2364      
+/Filter /FlateDecode
+>>
+stream
+x��ZK��6�ϯ�m�* 	>�7�׮d7��'���RaHHb�"�e��6��S
K3�k+U�� 4Ѝ��n���͂.�]����y�ED"�����"���gDp��K��p��f�R�,��/KN�"{ܪ�Z��)�U#7�k.��}ިj-c��_�Z�>*7M�s���w?\�����+K�
f�	\��wW����XP�F��`z�
w�-�_�����O���0�������u�-��qST5�����%�C�[e���.=�<,uTU�P5�?���F ��F�I��	y8�kU��q�Ϝf�t�;���MD
-���ҺQ	���8vȽʊ�2�WP�V�
rR�#�G�)�zɜ+e��T`��~!��c�T(
t3���
��5�i�hō��D�ZVB�:��ɼIc�m�튝j��	�Wi��zD#���e���%�ж�hC#��
&�	�Ǚ
`!���>E���
}��*m�1���<2\�6 `3�`ޑ!r3�zW�ɪUgu
�	{����l&��
4׭�����V�j�+�\ř�k-"�
��������̹͔��ǥ ���B��f�BA�|
+�,;L�$E�=���f�>�B�5>���X�櫋�ۺ���hpܟƎ�jӭ��D]���Q�n?
�g+��2d��C�'�|�bs�
�R��W�-�D=d�9�0��u�s��=Ko- �YXQ�S'��om���T���..v%��+m
�!$`��vIw�V' �"��=�2�z�m�S���֞[k���

�
�.���w��ߛ�`�
]�	X9�p�򏜋ѐŇk�%}�YG�jcCï�C���[~Xn^ '~�i�6� ���3`h�e6� ��Z��'��@`#]�Hw�Daק,���V/�џ�:,�^�e��ī<�D�b�p��?��W<d������5lQ�6Pi��I��Ƒ{�s��r��/�ߴ��ո(��Xc
�Z�)@��&�5�L�����O�
��|v[&�0V�@-�C�u����.8
T��j{�G��*mT�:n��?��D6 ��[�U�e��"�b�r
+�w�2��
zzdF�g4��$ؽ�g�b�Oh�4��OX�;���L���#�u�D�����=���C�lW֣���G�L�R~I���� 0;���E�
�1U{B�&�+�@�[,���lJ�v�M(
)��ǭM`���QKi
:��A�t'��ٸ��d�\�|ȶϦ��`���ט���v%٦ rnw�|����$b.�T.ƤM�6慵0��JfV/B�k8M;�D	� 
+�D
o���5>�_~��Y�}=��.�u
^#�`����7�����x)���i��.
�LX��Ki;
�uI�k�j��9������	���",�[NO0��[�L�f��
+|��m��u!#e�I罌s�S��.�O��[����O���Mx"7�pFh��
�µn=7X����4�6��6Z�;�ֺj��.�GkN|����V�
����v*�ϒ�j�D���%�M�[,�M M�vS^
�3��8_0��&*S��LbЮ����\���o���Ʊ�{��Y��q
�,�f����r��
&��:L4��J��O枬��٣�㢲�,�<�n�m[wYg�
�,ki	<xPy��Yˆ{5
�)Y��eep���SL�:��<��h��P�MaAٺ��$]?N=~yq.T�
@u�����Z%�N����b��,jW�j
K��x컄{�9�xw.i�(`�Ř6��sS���x��^�v��'�Co}tk�	X
T�
�~Y����J�d�b��>'�}�%
�*`;�<���4_���_h
+�}=h��7M�
���O�
s�
�G��Z��n�s�2@��Zg"�A�ĥ
d@��\+�I���yog�=\�k�&j:��p�a�$��1�sq
]���'��ZJ�܏�A�?9r��YEK?�&�sZ
�S�J��8��F�+���9
��ɏ.q�bL_��9X�L����,|M-{)�p3�4�E|���
������g�~��d����v�b
�?M�&�fȦ����9��z�~'�"��|�4�o���<J���!�{6���ۿ���N(�
^
�t/�@n�Xx��T�_?
�)�0Cq�
?
��Z�q���#�����<�̟��Ox�Dm��� [\�8
+�p�Q
���z*R��
�̟E#l�@��>	���u�v'��"H��w��G��~m�f#����|T�$
+ ����L�e����W惈��F���0������B�|Ve�d��ˍ~@��ڥۿժ���Җa?�|�~��7�AO9�.���G0.z�ڜ���hK������/�;�m�򻛛��@���H���
�
�{)QIБ��=��jo�qg<���� ��
�
+endstream
+endobj
+2676 0 obj <<
+/Type /Page
+/Contents 2677 0 R
+/Resources 2675 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2499 0 R
+/Annots [ 2642 0 R 2643 0 R 2644 0 R 2680 0 R 2645 0 R 2646 0 R 2647 0 R 2648 0 R 2649 0 R 2650 0 R 2682 0 R 2651 0 R 2652 0 R 2653 0 R 2654 0 R 2655 0 R 2656 0 R 2657 0 R 2658 0 R 2659 0 R 2660 0 R 2661 0 R 2662 0 R 2663 0 R 2664 0 R 2686 0 R 2665 0 R 2666 0 R 2667 0 R 2687 0 R 2668 0 R 2669 0 R 2670 0 R 2689 0 R 2674 0 R ]
+>> endobj
+2642 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.838 624.271 343.717 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a879f2f2b0f967fa73cb59ea8d8b1d255) >>
+>> endobj
+2643 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [353.265 624.271 426.659 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2644 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 624.271 513.996 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2680 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 612.316 180.776 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2645 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.618 564.495 410.855 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a8b280d026e0c343ec0d3f5521dda6376) >>
+>> endobj
+2646 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [415.183 564.495 488.577 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2647 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 552.54 224.501 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2648 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.838 506.712 343.717 517.616]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_af29cc9becde5f28a37567093174d6855) >>
+>> endobj
+2649 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [353.265 506.712 426.659 517.616]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2650 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 506.712 513.996 517.616]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2682 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 494.757 180.776 505.661]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2651 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.618 446.936 410.855 457.84]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a680aecc71f3b21fa0db03c7d1cbe466b) >>
+>> endobj
+2652 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [415.183 446.936 488.577 457.84]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2653 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 434.981 224.501 445.885]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2654 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 350.607 232.521 361.511]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_adc7cd513e31b7ecdda3a25a967d8a772) >>
+>> endobj
+2655 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.337 350.607 335.743 361.511]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2656 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 277.192 277.352 288.095]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a9947be8614cba5c2e8b02771d48fc7d2) >>
+>> endobj
+2657 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.168 277.192 380.575 288.095]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2658 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.017 277.192 479.373 288.095]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2659 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 240.33 277.661 251.234]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a50d5c68064e215d3f2cf3ee69896e676) >>
+>> endobj
+2660 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.477 240.33 380.883 251.234]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2661 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.326 240.33 479.682 251.234]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2662 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.033 192.509 317.283 203.413]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ab1d03e0aac8dda484b102c536c612a45) >>
+>> endobj
+2663 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.026 192.509 429.432 203.413]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2664 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 192.509 513.996 203.413]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+2686 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 180.928 176.352 191.458]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+2665 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.429 145.685 315.995 156.589]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a6c5a2f9b4702c1a0ddfcc9c6eb9b92bd) >>
+>> endobj
+2666 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.134 145.685 428.541 156.589]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2667 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 145.685 513.996 156.589]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+2687 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 133.73 174.668 144.633]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+2668 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.341 98.86 276.288 109.764]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a85417db0eb420d402acee4ef0d842efc) >>
+>> endobj
+2669 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.339 98.86 386.745 109.764]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2670 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [418.466 98.86 513.996 109.764]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2689 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 86.905 164.178 97.809]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2674 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2678 0 obj <<
+/D [2676 0 R /XYZ 90 757.935 null]
+>> endobj
+2679 0 obj <<
+/D [2676 0 R /XYZ 90 639.334 null]
+>> endobj
+2681 0 obj <<
+/D [2676 0 R /XYZ 90 523.813 null]
+>> endobj
+2683 0 obj <<
+/D [2676 0 R /XYZ 90 365.685 null]
+>> endobj
+2684 0 obj <<
+/D [2676 0 R /XYZ 90 292.27 null]
+>> endobj
+2685 0 obj <<
+/D [2676 0 R /XYZ 90 257.431 null]
+>> endobj
+2688 0 obj <<
+/D [2676 0 R /XYZ 90 115.961 null]
+>> endobj
+2675 0 obj <<
+/Font << /F70 205 0 R /F79 237 0 R /F90 477 0 R /F56 171 0 R /F23 172 0 R /F85 316 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2741 0 obj <<
+/Length 1970      
+/Filter /FlateDecode
+>>
+stream
+x��Zˎ���Wh�b�Mjf��� �	0� ��i[�-9�\��ò,��]AP+ɴx/yy���G�G?�������Q�bIe�8�b
)I��$z�D�
+Q1�'��j��6�x�/^�fR
�
�٨Jf�{*��oYe�i26��G35���"™(9��񗻟
��{G�	8"ΥPH1��w�����0b��6�e�)��"�t��;
��~��đ��Hn�C8F^eK����"�L�[���8��ʿΓl�}����w�+1H�,T(_��,���|��fi6kU\m�������R�e1�õq5����:����$�O&`���)��,F�����+ٹFn����ა
��3.�4��	M��/PӴ}� !3_l��|tH�<�B� [3S� �bmAT�M�_��Gm:{n̚V�C;
��xӔ�
S����m
�$�:�'�"`�E��� �.v04B��	�a~l��Q����K:�5��
��chC�t!�,�H���'����g1*9�N>�k��]�<o��ˤ��[����G�0R�Zh���7�@,p�i�.�?��#���s�[�lpm�c!T4l
r@����::�Z"��k�AI�5��eA="�>/�
1N�|��p~N���Đ
-�M��-h��G��ƽ�5+���9��)R��+4C�R�)��P���9B "��9Bpޜ#��l�Z�Mƞl֫�<�w7G��I?o�1eت
S���h�{��1�APXA0�R�[��H�����'A���z8����,W�K�����\��E�Pr�/�M�.�}M^�eZ��A1��f��`6$x +
_8�(L'��L�c���~�U��%�2���
i�c�W
�C!.D
��Y�W��:K�0�?�)���$�'��g�
+�l�s�?�1�
�h��2x�`��j�x�����
��a�FXlr
�+|����B=a��A��*��� O.G.�(3S�V�������m����
�l+y��
+���!9*6i��R�*��g�8Y,^F�E^�I�)���Y!na��w� ����+�R�6�m�P��B��7I�qa*�&Gge9.\
L�yi��@�a��oY_�.��ĨЯ6����:��F׻�홤K��������M���ϫ�{sG����e�9)��չ�5���1��ܴٓ��ד�]����#���
O$�4?`�KQ�Ѵȗ��)���+Ͷq[���л��U�ԯif�����O_W�)=��h�0�2�pD��1ha.]��S�~
��n�@,��t8�)�O��3I�
�*���Ǖ��>?Hu@<7Ѓ›@���� |.��pmN�7��
�5�EZ�0m#x�|u��MZͻ���M�S0�ǯ&�F�JLz\I������
?1
�&��m���(�5�oN:s�wCW-�}S K��9g��$�
�zyF��1�pr�
+��&3ER�ő4�"�ba�H��:�Qe��Q�[x 
��[8��d�%w�hip�,�������J�I���N�O��Z~������fP��.	��I~��w����<
[�����
�졘 f  ���"X����,�A�m��%�>�ހ��zG�4�(�7��lS��x
�4y�ZW��'	]��(AJ|��2up�i	�
+��6g����:�}b�1;�>�d��if���xn-~B@�
�
�Y
yD��R�
��E��A@�>K�X fo�5�G{��$��ҽ�AR��R��S���)�2Yǃ'{�r]����|���z���/���5���gӼh}���I��cn��
�w
޿�ҫ�Tk��-6����5����۟�'���谿�*b$o��6�7�Z.�A��
+?M������CY�����4o�Za�o���4�_��l��?�l�,���������'|�
!C��V|��m��nE��
��݊~^U�

6�
�h�������ud/6��j�up���N��p�Pp0J��N
+endstream
+endobj
+2740 0 obj <<
+/Type /Page
+/Contents 2741 0 R
+/Resources 2739 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2499 0 R
+/Annots [ 2671 0 R 2672 0 R 2673 0 R 2744 0 R 2694 0 R 2695 0 R 2696 0 R 2746 0 R 2697 0 R 2698 0 R 2699 0 R 2748 0 R 2700 0 R 2701 0 R 2702 0 R 2703 0 R 2704 0 R 2705 0 R 2706 0 R 2707 0 R 2708 0 R 2709 0 R 2710 0 R 2711 0 R 2712 0 R 2713 0 R 2714 0 R 2715 0 R 2716 0 R 2717 0 R 2757 0 R 2718 0 R 2719 0 R 2720 0 R 2759 0 R 2721 0 R 2722 0 R 2723 0 R 2760 0 R 2724 0 R 2725 0 R 2726 0 R 2761 0 R 2727 0 R 2728 0 R 2729 0 R 2730 0 R 2731 0 R 2738 0 R ]
+>> endobj
+2671 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.223 697.33 279.796 708.234]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a2dc649f0ee90ea5af999e3c0bae54bcb) >>
+>> endobj
+2672 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.728 697.33 387.135 708.234]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2673 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.84 697.33 513.996 708.234]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2744 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 685.375 164.178 696.279]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2694 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.08 649.178 323.629 660.081]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a27fdc62bc2cae150c7d710a8e312a40d) >>
+>> endobj
+2695 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [334.419 649.178 433.826 660.081]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2696 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 649.178 513.996 660.081]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2746 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 637.222 210.673 648.126]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2697 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.521 601.025 328.695 611.929]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a6d147411700f558d74d8273accfb8e04) >>
+>> endobj
+2698 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.927 601.025 437.333 611.929]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2699 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 601.025 513.996 611.929]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2748 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 589.07 217.298 599.974]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2700 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 541.913 245.263 552.817]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a4b5f126aef2ca062b034f795f6e5cf6d) >>
+>> endobj
+2701 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.079 541.913 348.485 552.817]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2702 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 505.716 253.711 516.619]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a357ddb19493a385970c56bf4847a07a1) >>
+>> endobj
+2703 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.527 505.716 356.933 516.619]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2704 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 469.518 254.668 480.422]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ab4f7535037080c7f5db32b2e85fdc80d) >>
+>> endobj
+2705 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.484 469.518 357.89 480.422]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2706 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 433.32 299.898 444.224]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a9e5f40dfc278c52da81291b30fbe75f7) >>
+>> endobj
+2707 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [303.713 433.32 403.12 444.224]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2708 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 397.123 303.374 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a39ee8e60c1d4d6faa40986d8fba28d5d) >>
+>> endobj
+2709 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.19 397.123 406.596 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2710 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 360.925 251.34 371.829]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a141c3283de2a46f2fcb278dcdca0558f) >>
+>> endobj
+2711 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.156 360.925 354.562 371.829]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2712 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 324.728 249.128 335.631]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ae1e938f0c844231dfe2098ab8fbca67b) >>
+>> endobj
+2713 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.944 324.728 326.338 335.631]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2714 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.78 324.728 425.137 335.631]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2715 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.983 288.53 296.212 299.434]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ab32d3b44994fefe43c44e353a47cb4a4) >>
+>> endobj
+2716 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.905 288.53 405.311 299.434]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2717 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.977 288.53 513.996 299.434]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2757 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 276.575 179.112 287.479]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2718 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.84 240.377 296.676 251.281]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a7135823ecf68cedd5236d53e2b5541f5) >>
+>> endobj
+2719 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [306.226 240.377 405.633 251.281]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2720 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.977 240.377 513.996 251.281]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2759 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 228.422 179.112 239.326]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2721 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.607 192.224 300.683 203.128]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a93cee014592562084126f06fe47efbba) >>
+>> endobj
+2722 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [309 192.224 408.407 203.128]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2723 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.977 192.224 513.996 203.128]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2760 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 180.269 179.112 191.173]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2724 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [199.11 180.269 270.591 191.173]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+2725 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.197 180.269 378.678 191.173]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+2726 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 180.269 513.996 191.173]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
+>> endobj
+2761 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 168.314 174.668 179.218]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
+>> endobj
+2727 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.327 122.818 249.243 133.722]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a1dd00b705631c579994677fea3a86d63) >>
+>> endobj
+2728 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.28 122.818 353.686 133.722]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2729 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.875 122.818 500.601 133.722]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2730 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 110.863 196.576 121.767]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+2731 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.856 110.863 297.337 121.767]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+2738 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2742 0 obj <<
+/D [2740 0 R /XYZ 90 757.935 null]
+>> endobj
+2743 0 obj <<
+/D [2740 0 R /XYZ 90 714.265 null]
+>> endobj
+2745 0 obj <<
+/D [2740 0 R /XYZ 90 666.112 null]
+>> endobj
+2747 0 obj <<
+/D [2740 0 R /XYZ 90 617.96 null]
+>> endobj
+2749 0 obj <<
+/D [2740 0 R /XYZ 90 558.848 null]
+>> endobj
+2750 0 obj <<
+/D [2740 0 R /XYZ 90 522.65 null]
+>> endobj
+2751 0 obj <<
+/D [2740 0 R /XYZ 90 486.453 null]
+>> endobj
+2752 0 obj <<
+/D [2740 0 R /XYZ 90 450.255 null]
+>> endobj
+2753 0 obj <<
+/D [2740 0 R /XYZ 90 414.057 null]
+>> endobj
+2754 0 obj <<
+/D [2740 0 R /XYZ 90 377.86 null]
+>> endobj
+2755 0 obj <<
+/D [2740 0 R /XYZ 90 341.662 null]
+>> endobj
+2756 0 obj <<
+/D [2740 0 R /XYZ 90 305.465 null]
+>> endobj
+2758 0 obj <<
+/D [2740 0 R /XYZ 90 257.312 null]
+>> endobj
+2762 0 obj <<
+/D [2740 0 R /XYZ 90 139.753 null]
+>> endobj
+2739 0 obj <<
+/Font << /F70 205 0 R /F79 237 0 R /F85 316 0 R /F56 171 0 R /F23 172 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2808 0 obj <<
+/Length 2007      
+/Filter /FlateDecode
+>>
+stream
+x��Z[��~�_�7�*��lɶO������ݡ��B�����
�����i�|I��L�<�Q�n��u��mcg�`竻�>�ݿ
����yX8
;a@��8o�yl2%c�,׳&
v��n%�jB"��gM��L=�ݯ�FT�x.���b!�
��!B}��䗇o�|������C�J��g�<�{�
v����瑳U�2�z>\�Λ��Y����
z�"$DH	A�l�g�&Wcs�N�3�3,WW-�2_�	!%��`�,��,�C̶i���E�|+V>�3f��\%s^�uӗ<*�\}z|yQ��D�JsW����D��3pƴ��PV���1U
ݵ8�*d\�zQ���c�?��S�7��|1�o+.�t�E���_�wG���Z�L�6ƾ�5 E<j��(7���6���C�{C�~%rQ�MQ
.]:�B��
��W�Gg�*�RDB�{ ���_�fS��d�{��K B�I�
=
+Ąbw9!�/ԃ
�����c�"�X�9�5�(�vFj��E�5��lvf-y2�"���>�G4D*��<�V��&��Ef��bk�:������0
+;���@�R2��t>!�]i��6�mV�
<�e�`0

7
�%j@:���
�e�ͤÀ�ݮ���c�C8
+1?g;Pj�hQ�^����Ԩ��"�c^d�	�aǁ�L	c� B<G���F��T�d$U��,��<I!NFR}?I���{�DRo?�^�^ 
���8�����t�0p�83wq����D
��aA�5�!bH�i������h�)�v��&�Y���u1�8r
+<
�W+êg������8�Ѓ�tO�C%��	}�w��{'xB�y��K�w��?��8�WH�]���z
q��%�A���8�0٪��dK�Rᇑh.ij�G�ŵȢE����^ň��C�2+k7�
By������m�������������0�H#C�  �Z
�M����J	� l4�`��IO��<rJ�4��j��
�%��X�a�}(��	���(e�o��h?���,I�_e��-�";���F�����ш
/fP!NN�S
+iyЀq�#���3�`��~=z�3�߄�}��DD��̀ވЛ1z=3Pe8�;��e��k�����Q��
�
�GcX���0l+�
<��v,x��J��j��FA�^�/=�>4�2
+4Ε
O6F<��ߌ�Ҷb��wPeBU�P\�H�B��T�@.��sk(�jY��|+%m�H��k!�,]K���ݼ��4�a
Qy���6
���|X{὞K)�U\�f�o�H�g]dmLMkq�E������z1����
����G�������
K���Tu��47��rS�y��J	<�1�_ԩhD���Y&�����|�n׈�y=ɴ*jY��})�л��[�qq���d�O�*m,�FK1��(�
CN޵�u��YC�B[
{La���k�S,�f�òΐ�
+j
+��}xd
]��g;��u����c�V��y���G�R� �U��ԮA)��F�Ai�/J�Ҟ}� ����,��B�Mپ��"�|V�l?ЯAk�:�Z�_n��y�LV�)S���ο+�3��Ls�v���7��=��p�8I�?T�H��2�ēήI;�v)��O�`�'ɐ�ϋrw��&2A�mC}�����6�9�~�K���P�Pk�Wc��E��=�����r�e�Q�|�3K�%��G��g����
�)z5��	H�
+z���k;�T��	(:�)��Qn~X��+�]lF 4�c���,����\�X�
+�o�H
+{9�I	}""��S��,�q�G��O��X�P�[�eF��)8�
�#��!̃������HQ�
�����A����O�W�{�y�t�*3f��2?_���2�f,Η�x)��J��㟀2a̭-���w���JQu�CZ��1M�7�f|���
{�����ەGK�IWMS���~�ݢy�6yZV(m����칓I
u���O�I[��v�j]
O
N�O��i�
+endstream
+endobj
+2807 0 obj <<
+/Type /Page
+/Contents 2808 0 R
+/Resources 2806 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2827 0 R
+/Annots [ 2732 0 R 2733 0 R 2734 0 R 2810 0 R 2735 0 R 2736 0 R 2737 0 R 2811 0 R 2764 0 R 2765 0 R 2766 0 R 2813 0 R 2767 0 R 2768 0 R 2769 0 R 2770 0 R 2771 0 R 2772 0 R 2773 0 R 2774 0 R 2816 0 R 2775 0 R 2776 0 R 2777 0 R 2818 0 R 2778 0 R 2779 0 R 2780 0 R 2781 0 R 2782 0 R 2783 0 R 2784 0 R 2785 0 R 2786 0 R 2787 0 R 2788 0 R 2789 0 R 2790 0 R 2791 0 R 2792 0 R 2793 0 R 2794 0 R 2795 0 R 2796 0 R 2797 0 R 2798 0 R 2826 0 R 2805 0 R ]
+>> endobj
+2732 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.996 707.957 299.418 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a0e494452cce5a8916f4fe97a1c79e237) >>
+>> endobj
+2733 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.125 707.957 407.531 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2734 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.977 707.957 513.996 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2810 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 696.002 179.112 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2735 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.908 696.002 272.389 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+2736 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.024 696.002 379.505 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+2737 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 696.002 513.996 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
+>> endobj
+2811 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 684.047 174.668 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
+>> endobj
+2764 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.996 638.219 299.418 649.123]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_aee4d567631589e83063cfb8f80c2bd6f) >>
+>> endobj
+2765 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.125 638.219 407.531 649.123]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2766 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.977 638.219 513.996 649.123]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2813 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 626.263 179.112 637.167]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2767 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.784 626.263 263.265 637.167]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+2768 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.776 626.263 361.257 637.167]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+2769 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.536 578.443 292.284 589.347]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a5a6342bc4e04c1f228d210e5c363b6d4) >>
+>> endobj
+2770 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.53 578.443 394.936 589.347]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2771 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [404.37 578.443 503.777 589.347]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2772 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.168 529.626 331.574 540.53]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_abcf3ccb8e2e224496d1326e47e15fdc6) >>
+>> endobj
+2773 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.452 529.626 440.859 540.53]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2774 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 529.626 513.996 540.53]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2816 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 517.671 180.776 528.575]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2775 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.166 480.809 331.582 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_aa309e957fa5f404b296e2e4c30e1697d) >>
+>> endobj
+2776 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.458 480.809 440.864 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2777 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 480.809 513.996 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2818 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 468.854 180.776 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2778 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.543 431.992 284.541 442.896]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_af777de5ca96f8d1631d3500008bf84f8) >>
+>> endobj
+2779 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.794 431.992 387.201 442.896]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2780 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.649 431.992 496.056 442.896]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2781 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 397.123 223.116 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_af98013213e01ca8514b6dbd20116af4d) >>
+>> endobj
+2782 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.932 397.123 326.339 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2783 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 349.302 317.601 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a3e07a3e1a6e6c9f281227b4e215a3dc7) >>
+>> endobj
+2784 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.417 349.302 420.823 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2785 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 312.44 303.375 323.344]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a01daecb5bf8e498e7d539d7f3ba8496e) >>
+>> endobj
+2786 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.19 312.44 406.597 323.344]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2787 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 239.025 267.39 249.929]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a5a9b061c4408ab8d70a1dea91a6ff983) >>
+>> endobj
+2788 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [271.206 239.025 344.6 249.929]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2789 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [360.042 239.025 455.025 249.929]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+2790 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 202.163 274.015 213.067]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a191744753f79b939c8d61efe45778bd8) >>
+>> endobj
+2791 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.831 202.163 351.225 213.067]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2792 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.667 202.163 468.276 213.067]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+2793 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 165.302 271.265 176.206]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a2f80d4608b0b75948b50dd862a14df66) >>
+>> endobj
+2794 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [275.081 165.302 348.475 176.206]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2795 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.917 165.302 493.221 176.206]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2796 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.747 128.44 279.532 139.344]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a8abb894f6f4a673d549aa9bf7456b638) >>
+>> endobj
+2797 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.989 128.44 358.384 139.344]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2798 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.519 128.44 513.996 139.344]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2826 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 116.858 129.857 127.389]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2805 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2809 0 obj <<
+/D [2807 0 R /XYZ 90 757.935 null]
+>> endobj
+2812 0 obj <<
+/D [2807 0 R /XYZ 90 655.319 null]
+>> endobj
+2814 0 obj <<
+/D [2807 0 R /XYZ 90 595.544 null]
+>> endobj
+2815 0 obj <<
+/D [2807 0 R /XYZ 90 546.727 null]
+>> endobj
+2817 0 obj <<
+/D [2807 0 R /XYZ 90 497.91 null]
+>> endobj
+2819 0 obj <<
+/D [2807 0 R /XYZ 90 414.224 null]
+>> endobj
+2820 0 obj <<
+/D [2807 0 R /XYZ 90 366.403 null]
+>> endobj
+2821 0 obj <<
+/D [2807 0 R /XYZ 90 329.541 null]
+>> endobj
+2822 0 obj <<
+/D [2807 0 R /XYZ 90 254.104 null]
+>> endobj
+2823 0 obj <<
+/D [2807 0 R /XYZ 90 219.264 null]
+>> endobj
+2824 0 obj <<
+/D [2807 0 R /XYZ 90 182.402 null]
+>> endobj
+2825 0 obj <<
+/D [2807 0 R /XYZ 90 145.541 null]
+>> endobj
+2806 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F23 172 0 R /F79 237 0 R /F85 316 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2878 0 obj <<
+/Length 1956      
+/Filter /FlateDecode
+>>
+stream
+x��ZK���ϯ�-R��@ �S�Sq�*gwr��RqEH�D"��Y�ק��CC������s�G����������׻�<���ȱ'�`�ykO`�3�BJ����4㈆��ϊb��uN�,�

eR�I4˳e
o�
��߲Z��x%��r-�;2ӷH�3
Ϳ<�t�������=��
9�~�vw��`/��?y�"��[;/�>�n��w���V}ܟF�z� �#_p�#�B3��梆o��>-B�X����R��X�>�����YÌ�$Y�r5'����d�ʳ�.c�S���>��C|r���k����
9�B�o�X~<T��-�#/B��!H���A��V(J��4� rc��n��A$E�"��$�q|�hPi-�u�6��T�t����¾p��c#we�9V ��I�J��b��C
�a�@��R #Κ7��f�펐���!
�aE 
�	�T\�M�WKp MA����
+�A�`5شj���[b3��}[
p��\M�
B���1X��`g��WB�B�yt��d��Q���L.����]ޜ�:=������֥Ȣ�� �|ĸE�;k`h���ǝy��}�fW�r!#�HY9d����	��8P�A,�1N��_�I��'��qҳ�0���H�J���avi ��K2'3��d����XQ�F�" d;c�{��w S���\)u%��L �s���(F�t�¿4
��2x5���0p��W�~�jM}X��ǃ��!�X�m3\���J��T�J7�m�۷�s�9I�)
H��s��삍�&-q��p�*�[Шy)_ƨ���`ڼg��k��$(�>��j�����‘���E�w�6�M`�/
+Y.���,�ݢ�ߏ8�˕~�"v�=�Qڌ�R�r���"Dz����
d
�Hܛ�"
xK������,u*�?��l̼3�<�Z�:�-U\��!����;���=`F�>���T�D�!7��]�Mׇ�N�ʦ�T4�[}¿Z�4�>�a򾋇��+���]��p�m<�6s�ii'e�(lr��aT��g(����ki����P�
ޥ`;n�݌�4���),>W{"�u]��Qk��cP��Ɔ��ȫ�N�dCa� �6�n��Q�^Pu.�a�P��Zd�2G����#2�7���'�3�+�C7��;��Է���˛�X�v"���c:>���c1���W�\j0C�ܤMT�;��۸�~ߩ�Fl��
ʎ
cGKZd�,ev�3�j~��0�s���2����ۀ1��t�y�/o
��q
+
�K��i�JS�P�J�fmL >׹�(��
*���Aœ�;'3ժ[VE

+��Ui>p�0��Ø����z=����cY��oG��Iq鸜BQ~����
 �
`�M#��M�p���fo�L���C����t��	^[[3$�[��>O ��A?Q}>
gZ����_�����e��VU���
1��vУ�w��n�ϸ=⻡G
=x��
\��a߉k��A�
�2�&�F����
���4����:ʜy��n�izk���Nt��4�;8�ZP�P$�yorA�T��6�7�E�,�f?<�C}��h���o0m����xZ
�縪n�ꉽ\�pI�,_��}sd#{E�!!���H3$���}������`/3 bjjQÎ.yv>�El&Qe��N��6d��f2.�?|+JY�a]�f+�؆��=W�<�k�L9��0ÙYXY���]u�A

*/?"�]��������;��n�f�V�ãNG
n@�L�[�"yy莁�$���]s�NeQ���`(P���_�a˝]�
��ߟӯe\Z��g��Z7�s�*Ķ�៕,���f
�K����֓R���0"Ĵ�t��(��`��o�����
��JG�u�X����ѪB�,-J������#㾰
��6��l/'/�N���
��_*�m�
+endstream
+endobj
+2877 0 obj <<
+/Type /Page
+/Contents 2878 0 R
+/Resources 2876 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2827 0 R
+/Annots [ 2799 0 R 2800 0 R 2801 0 R 2880 0 R 2802 0 R 2803 0 R 2804 0 R 2881 0 R 2830 0 R 2831 0 R 2832 0 R 2833 0 R 2834 0 R 2835 0 R 2836 0 R 2837 0 R 2838 0 R 2885 0 R 2839 0 R 2840 0 R 2841 0 R 2887 0 R 2842 0 R 2843 0 R 2844 0 R 2845 0 R 2846 0 R 2847 0 R 2848 0 R 2849 0 R 2850 0 R 2851 0 R 2852 0 R 2853 0 R 2891 0 R 2854 0 R 2855 0 R 2856 0 R 2857 0 R 2858 0 R 2859 0 R 2860 0 R 2861 0 R 2862 0 R 2863 0 R 2864 0 R 2865 0 R 2866 0 R 2867 0 R 2868 0 R 2896 0 R 2869 0 R 2875 0 R ]
+>> endobj
+2799 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.909 719.912 311.644 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a89c2384471ee03156c7b414dceee8f14) >>
+>> endobj
+2800 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.263 719.912 390.657 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2801 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.157 719.912 513.996 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+2880 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 708.331 129.857 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+2802 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.867 673.361 323.227 684.265]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_af818756f74f766dfb937e586565db8d6) >>
+>> endobj
+2803 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [333.804 673.361 407.198 684.265]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2804 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [437.852 673.361 513.996 684.265]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+2881 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 661.406 164.178 672.31]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+2830 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 626.81 298.383 637.714]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ad024f037803a208b74cd150eeaa5649d) >>
+>> endobj
+2831 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [302.199 626.81 375.593 637.714]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2832 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.035 626.81 486.018 637.714]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+2833 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 590.496 305.009 601.4]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a8ffc5459233ed9781c0ca910e88fa1f9) >>
+>> endobj
+2834 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.824 590.496 382.219 601.4]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2835 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [397.661 590.496 499.269 601.4]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+2836 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.648 554.181 307.801 565.085]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a0b031bedcfb70f485bab922596bce1c8) >>
+>> endobj
+2837 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.159 554.181 390.553 565.085]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2838 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [418.466 554.181 513.996 565.085]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2885 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 542.226 164.178 553.13]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2839 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.53 505.911 311.309 516.815]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ac655ac3a494c4f92bb02d0b9294bdd85) >>
+>> endobj
+2840 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.549 505.911 390.943 516.815]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2841 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.84 505.911 513.996 516.815]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2887 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 493.956 164.178 504.86]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2842 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 457.641 285.103 468.545]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_af92f3c9d758e2a155a2a6faec4235741) >>
+>> endobj
+2843 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.919 457.641 362.313 468.545]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2844 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [372.774 457.641 472.18 468.545]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2845 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 421.326 291.191 432.23]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a784570f6ced5461b4d82cdfefa1cb31b) >>
+>> endobj
+2846 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.006 421.326 368.401 432.23]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2847 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.861 421.326 478.268 432.23]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2848 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 386.73 278.747 397.634]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a7918c3a73aed2529e1e57b8983264bad) >>
+>> endobj
+2849 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.563 386.73 355.957 397.634]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2850 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.418 386.73 465.824 397.634]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2851 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.629 350.416 343.088 361.319]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a9fb38e66323fe6cb24b32e32e66dba78) >>
+>> endobj
+2852 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [357.428 350.416 430.822 361.319]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2853 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 350.416 513.996 361.319]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2891 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 338.46 180.776 349.364]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2854 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 291.187 286.209 302.091]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_abc350d1ab1c6e4da0df6bb130364af7b) >>
+>> endobj
+2855 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [290.024 291.187 363.419 302.091]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2856 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [373.88 291.187 473.286 302.091]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2857 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 254.872 317.202 265.776]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_aad69d01217b9ea1043883162d285505c) >>
+>> endobj
+2858 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.018 254.872 394.412 265.776]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2859 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.263 218.557 330.976 229.461]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_adb06752e755290368c9bb00ad14a0984) >>
+>> endobj
+2860 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.949 218.557 410.344 229.461]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2861 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.64 218.557 513.996 229.461]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2862 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.351 170.287 333.94 181.191]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a8402fc25b68056511cf62f1378666a88) >>
+>> endobj
+2863 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [339.001 170.287 412.395 181.191]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2864 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.64 170.287 513.996 181.191]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2865 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.783 111.058 262.173 121.962]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a9563155e281915a8bc2eea34ceff9cf0) >>
+>> endobj
+2866 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.666 111.058 341.06 121.962]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2867 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [360.276 111.058 443.633 121.962]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2868 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 111.058 513.996 121.962]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2896 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 99.103 210.095 110.007]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2869 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.767 99.103 320.261 110.007]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+2875 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2879 0 obj <<
+/D [2877 0 R /XYZ 90 757.935 null]
+>> endobj
+2882 0 obj <<
+/D [2877 0 R /XYZ 90 643.774 null]
+>> endobj
+2883 0 obj <<
+/D [2877 0 R /XYZ 90 607.46 null]
+>> endobj
+2884 0 obj <<
+/D [2877 0 R /XYZ 90 571.145 null]
+>> endobj
+2886 0 obj <<
+/D [2877 0 R /XYZ 90 522.875 null]
+>> endobj
+2888 0 obj <<
+/D [2877 0 R /XYZ 90 474.605 null]
+>> endobj
+2889 0 obj <<
+/D [2877 0 R /XYZ 90 403.694 null]
+>> endobj
+2890 0 obj <<
+/D [2877 0 R /XYZ 90 367.38 null]
+>> endobj
+2892 0 obj <<
+/D [2877 0 R /XYZ 90 308.151 null]
+>> endobj
+2893 0 obj <<
+/D [2877 0 R /XYZ 90 271.836 null]
+>> endobj
+2894 0 obj <<
+/D [2877 0 R /XYZ 90 235.521 null]
+>> endobj
+2895 0 obj <<
+/D [2877 0 R /XYZ 90 187.251 null]
+>> endobj
+2876 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F79 237 0 R /F85 316 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2950 0 obj <<
+/Length 2479      
+/Filter /FlateDecode
+>>
+stream
+x��[ݓ��߿��HU��|���rN�rWu9o��v����HH���_�
f@�@ ��S?����������
-
<8����nn�*
d$���}`p�$A���n��)D�|A0Ƴ�a��uN�l�}y�6���>Y���|A��%ɣ�>\G��ߢ��%�%™�)3�x��͏w7��!`H�R(��ֻ��q���?1���b�.���6xw�����,�%dmZ�($A�"Q���>P��5�|.x�0�8��ek^�����@�r��^ ��s*f0�I�<�Q�
��`
+����ܖ��K ͏o.�Fy!d�$����C�%��
�s�g#��I�/v`��:X��΍?�I��?��3��L'��6��J���Q��u
%y��
��4n���L5R�b�9"���i��n.�
���d��t����}�
�0��ܪ�}�EM��Hs�
+y�G7��#%L9��
WY
��<N|愉���Qb�]�l��c�L͜s������!Z���h�.<�i
����!�t��Y�TYfsD)Hi2%W�Y����dm�9ӝ0xr�ࡄ!rL���	�����
�	��0#%
W�S)�=���dUD�����3�!�I9�J��9��������P�%�
�B�s�?:y>'!��tړȡ�6�w���y�WH�k�a
���T �Q��H)0$�w�vu���@r��Tg�
+-�U"�X2l��
��k�8
$SHk�Tn�e���eQQ�];����q��HQ]��i.�ͯb'��R$��46n,�P*
+V_�F��6����:��c������1~�kr�o*��.�5��VZ���P�i�ĩC�	��	�}��}~n\�m.�ܶb��vN_��L��X͌�^�q��A��~v�G��6�bhcm.c*E��&j[�v��o��	�B"-��<x��&x����Җn�-��4����,��[ �P�B�$�v)�2�
��l���Do֏��5
�!��!�i��zЛ}zXj�57g�
�6�]���9cS�ۚp��
�� ���]`
%�]�.%]M^�"3 K��4.���:�G�h���.�A~
�[���M�n��S��V�J� � �f*h�A\��RwY�<�
h`-dyMdwSp����7Z�n�i"{%���
X$F"��)�H��(m #�Ef�]�qBh
�Q�h����(P��X�
+Xes�S@��0)��V*[x����D���c��1��30oa_tͽ���V[��}��X3wZ�[���%Y�7��l����RDLk:���&�*|�<t��
3>�|
[��-��X�����!�X@
+3�u��eN�(�z� 89���D
��U{�[+.�S��G&h7�s��)����@+����w:I@�Hr�"GV^��L��l�${�Ių
8��%
+���f$	�!���vj$	@�LccuȰ�î@�Z�)$`Ei�A��d�h�6�La����_"
+^���_��%
+.і��6�
�r��-�Ǭ��
+�F	�
l
�';�_9�q����R��0���X�0c8��{F��>tp��J��ǧ���sp�:�q�^���Kή�P���VI/˓vs2�����'����
���x���K�6��Ȉr�cޏ�M���w�5-��O�X�����u�������r�"����l�J��S�k3pF.����_I�/�SC8��i�Ǭ�<f��<�tXoUǬ]
���:�*M鮎ad�:fg�1Q
C�w:"���@)b,��~
�~+Q�0��2f�����
+JV�dm��&��俄/��~߿�����0�zi߼�;D&����{�w�qV7���ŐofXLif��5T8Z�y���eX C�Llb	�F�m
Iz
~>2rAj�hYbT�B��j��k���C�(w_�Z������8�Ja� <�0�Vh
w;іR�
����#�5DfUR�ۭ�U ��R٢|�ګ�0q_V~�~�� ]�AH1�
AzN1a}Ep��'�H�)�)�=
�(�cC?�w�y��./M�v=v�T ,�V�ҹ�g�3��
���i�LJ̳�p�Yf���9)“�2�(L6�h��6�)2��L
�zҳS��ڬ���jI��f�u%��kmzB�ⓤ�+|v�SM%�mN���������|
�mi߬(<�U��|��
8�`}E��T���������95�qkPD�!��Öw������*�[|���'�	�j3c^n���i��[=�����<_c2e�ʎ���6�{��f�
��
�?K_�&g���-���;��?e [...]
+endstream
+endobj
+2949 0 obj <<
+/Type /Page
+/Contents 2950 0 R
+/Resources 2948 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2827 0 R
+/Annots [ 2870 0 R 2871 0 R 2872 0 R 2873 0 R 2952 0 R 2874 0 R 2901 0 R 2902 0 R 2903 0 R 2904 0 R 2953 0 R 2905 0 R 2906 0 R 2907 0 R 2908 0 R 2909 0 R 2910 0 R 2911 0 R 2912 0 R 2913 0 R 2914 0 R 2915 0 R 2916 0 R 2917 0 R 2918 0 R 2954 0 R 2919 0 R 2920 0 R 2921 0 R 2922 0 R 2923 0 R 2924 0 R 2955 0 R 2925 0 R 2926 0 R 2927 0 R 2956 0 R 2928 0 R 2929 0 R 2957 0 R 2930 0 R 2931 0 R 2932 0 R 2958 0 R 2933 0 R 2934 0 R 2959 0 R 2935 0 R 2936 0 R 2937 0 R 2938 0 R 2939 0 R 2940 0 R 2962  [...]
+>> endobj
+2870 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.781 709.091 272.893 719.995]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a8a9e2cf693ca3e9c464efb04071b8572) >>
+>> endobj
+2871 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.384 709.091 349.778 719.995]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2872 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.635 709.091 447.991 719.995]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2873 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 709.091 513.996 719.995]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2952 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 697.136 210.095 708.04]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2874 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.767 697.136 320.261 708.04]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+2901 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.681 662.541 299.364 673.445]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ad015c9afd4968005d43f233359253c5a) >>
+>> endobj
+2902 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [302.755 662.541 376.149 673.445]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2903 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.826 662.541 474.183 673.445]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2904 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 662.541 513.996 673.445]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2953 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 650.586 236.107 661.49]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2905 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.338 650.586 378.064 661.49]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2906 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [393.506 650.586 490.999 661.49]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+2907 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.71 615.992 314.115 626.896]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a6ffd595f3e1d85275962dde5f8401c7f) >>
+>> endobj
+2908 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.534 615.992 392.929 626.896]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2909 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.98 615.992 495.336 626.896]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2910 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 604.037 253.821 614.941]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2911 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [269.693 604.037 398.419 614.941]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2912 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [416.503 604.037 513.996 614.941]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+2913 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.922 557.487 313.211 568.391]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ac0e5d09ffe586f8ea5ec782570015c5b) >>
+>> endobj
+2914 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [318.843 557.487 392.238 568.391]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2915 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.767 557.487 495.124 568.391]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2916 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.858 545.532 267.853 556.436]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gae5679e4f41db32b7b91dfc81574fc1d6) >>
+>> endobj
+2917 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [312.006 545.532 440.733 556.436]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2918 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 545.532 513.996 556.436]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+2954 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 533.95 178.862 544.481]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+2919 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.369 488.023 327.38 498.927]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a381b0e6e2e58df417ff578ed6d715520) >>
+>> endobj
+2920 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [334.46 488.023 407.854 498.927]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2921 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.64 488.023 513.996 498.927]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2922 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.509 476.068 283.504 486.972]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gae5679e4f41db32b7b91dfc81574fc1d6) >>
+>> endobj
+2923 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.832 476.068 448.558 486.972]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2924 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 476.068 513.996 486.972]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+2955 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 464.487 178.862 475.017]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+2925 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.494 418.56 351.546 429.464]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a46fc9d1041d5548a5f8f220af2a07028) >>
+>> endobj
+2926 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [361.75 418.56 435.144 429.464]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2927 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 418.56 513.996 429.464]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2956 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 406.605 210.095 417.509]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2928 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.43 406.605 386.425 417.509]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gae5679e4f41db32b7b91dfc81574fc1d6) >>
+>> endobj
+2929 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.977 406.605 513.996 417.509]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2957 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 394.65 179.112 405.553]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2930 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.501 349.096 361.275 360]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a6ff56c68b449b94588ea7290d01625d5) >>
+>> endobj
+2931 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.485 349.096 441.88 360]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2932 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 349.096 513.996 360]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2958 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 337.141 210.095 348.045]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2933 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.43 337.141 386.425 348.045]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gae5679e4f41db32b7b91dfc81574fc1d6) >>
+>> endobj
+2934 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.977 337.141 513.996 348.045]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2959 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 325.186 179.112 336.09]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2935 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 242.049 285.641 252.953]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ac06aed22fa4405051df0da9e7bc16138) >>
+>> endobj
+2936 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.457 242.049 362.851 252.953]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2937 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [373.312 242.049 472.718 252.953]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2938 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.181 194.778 351.58 205.682]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_add9c4afcd6f6bd78509219f32d57e348) >>
+>> endobj
+2939 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.471 194.778 428.865 205.682]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2940 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [444.478 194.778 513.996 205.682]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2962 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 182.823 144.243 193.727]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2941 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.899 146.511 352.403 157.415]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a90544f38c2980f308cd6e0f9248fdd99) >>
+>> endobj
+2942 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [356.013 146.511 429.407 157.415]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2943 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [444.478 146.511 513.996 157.415]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2964 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 134.556 144.243 145.459]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2944 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.118 98.244 315.801 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_aa48f8ae0f3a2647949417ec2da1c97e4) >>
+>> endobj
+2945 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.629 98.244 393.023 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2946 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [408.494 98.244 491.85 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2947 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2951 0 obj <<
+/D [2949 0 R /XYZ 90 757.935 null]
+>> endobj
+2960 0 obj <<
+/D [2949 0 R /XYZ 90 256.99 null]
+>> endobj
+2961 0 obj <<
+/D [2949 0 R /XYZ 90 211.741 null]
+>> endobj
+2963 0 obj <<
+/D [2949 0 R /XYZ 90 163.474 null]
+>> endobj
+2965 0 obj <<
+/D [2949 0 R /XYZ 90 115.207 null]
+>> endobj
+2948 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F79 237 0 R /F85 316 0 R /F37 1572 0 R /F93 504 0 R /F91 1184 0 R /F41 174 0 R /F92 1183 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3009 0 obj <<
+/Length 2387      
+/Filter /FlateDecode
+>>
+stream
+x��ZYw۸~���[�sl+�y�q�i��i��OI�CBO%�%);�_ߋ���Ŗܾ�$��w7;K;�^��pu{�c'D�G=�a���=�%�C�|q}D��`�ݢX�?�(v���J&�n���h9����Z��(���\H�Gf��p&� Ͼ=�v����?WD��S
+�L8����7�$����
�I��8�2����W���V��ը:��q��Q��)C�F�Or��very��(g\��F=yn����Q�u^�ƪ0�A3�Ϋ4[*Un�џO``����X�>C�"���N�N�I��Y���^E�y�34_�8��1��iH3�K��J����
�G�F�lBB�
��t��0�ѹa���S 	��t�fˍ2p�0�p���9G�{��I5�B�m4�a��C3va֠����f�d[��8����s�M�O(”���i�%��E��U����bö���f�,����~�gR-Ҹ���{��HxC1E���"?�
_)P�?���F`5am��ʥ��'݁�ג[j�
�Q���*]�d9�����7�I
�
�w��4��
q�_V�AZ!�7s�^ �#�8K������5@D2��;������2
��p��k��4�	�=�����
��Pn��b
3��ځ�ʛY��n�n�<3T�8�U�خM'C�z[f���US�r	Hi��'��F�����Մ"
�:�M�!
:~��6N 
+�g����8���y<�����p�\�������}\��?������ C-A`>�cS����#M��sr`.�8אL�'�}e
����hm��,V^HyN����y2�d��TkW�P��QV
��e��i�Hx-5�2�b
���N�½��c�ƪqe
W�}<��>��٣m��e*���cH�hDP �4�����QDY2f���&������2�a����I�Y�|?��9�
��+X�P	{�C��=dg9rm�yS�&m�N��2vh�ǽ�Iv�w�.4��"JZǰك�v��>ꅤ ���
�A���|�
u.�3��f>��S��C�_�Zz4|"c^��d��<1Fʬ2��a|ˆ-��_@�J\�m�A��W3D�Z�����S��<��4S~G�V9����9��Q
v��є�P�����b
J�pVAx8
RK�v��6|ˇ�t`��K"����$|�x�G��	_�x��	��!��� Q7�ϊm}��m]4S�۠gh at F�
��B{x��(���(�g��L1����T���?N�`�=N���t�
+P����&?�W{����`u�o�qE�c��<Q(PH�E��v��n����> BN
h�0c�tH�Q�niJmNp
 �C�DS�0XZ���	�
C'"z@
��ra����LT���x����c��=��w�*���T�ʷ�$}�����<�ѿ���B*�x��A�"OUq�B/�L&���y�Q�hJ~�!
���O�	�JL2
����do��*N�y��o��>챉��rq�Q�C���I
+���!&�
+ZW� D/G ]�TGu?כ��`�	��A����t��(��ƅ
�xK<��(y
��Eg�
�����HR|g|�?����p�d ��󉡂~��"p�sC��	��?[���<
���q1� ���
+
wv]l�����SӨբAU%@�BZg>$
�ڦ� �N+�)�+u
a���w�Οf>�nR��R笪c[	�MW�;�v��c��8WmEf^&�r�J��(�Mk��v���~
��8/-J�<Kt��T[{Ղ��N�j|Y%7QV�v����F��M���2-��j�t�CB�������3dq��O�A��7�_e&˨����gؐ�x
+��
{12
�x(|Q�]
������ߍ���ꩄ�_�
�9mזի�,�٦km�|�c
�tU=x�3�1FU[��6o̭̞�F]'���U&M5D�6U�e��"�Z���S+ ȷU�,1s<���Ct����ZZi�a`+h�����
�XМʩ����,;
�,vS�HK��C9�|��Ȕj
"����bă�@A�A at B�p?K�c��x-���$�?tJ�w����Fц��#���f�)	�!	��
+��ҒP=ܙ�{�� .��0ERh2�G!4g�UdT��:	�O'#c�G�v|�dTs4d�iԐQ�k2d��hO�}�ۀz}�ڤ�\$0�8��lOh3������ԿO�Ij���,���!�A`[z������4�c�����2*�̓�>D�r-e�/aj��ÙU���:����Q�Շ�6�2�J)��)�Q�e�ϲ970���i����N{ZQ`���������	��fiQ������(�~K�E�m�R6�_h�D�tz�K��5�7
+endstream
+endobj
+3008 0 obj <<
+/Type /Page
+/Contents 3009 0 R
+/Resources 3007 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2827 0 R
+/Annots [ 2973 0 R 2974 0 R 2975 0 R 3012 0 R 2976 0 R 2977 0 R 2978 0 R 2979 0 R 2980 0 R 2981 0 R 2982 0 R 2983 0 R 2984 0 R 2985 0 R 2986 0 R 2987 0 R 2988 0 R 2989 0 R 2990 0 R 2991 0 R 2992 0 R 2993 0 R 2994 0 R 2995 0 R 2996 0 R 2997 0 R 2998 0 R 2999 0 R 3020 0 R 3000 0 R 3001 0 R 3002 0 R 3021 0 R 3006 0 R ]
+>> endobj
+2973 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.424 686.166 347.542 697.07]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a402bb86dfedf35933c2a29cc07210741) >>
+>> endobj
+2974 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [352.676 686.166 426.07 697.07]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2975 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [444.478 686.166 513.996 697.07]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+3012 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 674.211 144.243 685.115]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2976 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.166 626.645 303.425 637.549]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_aabb79ab0a7936b6f14cd20e15cb14fa8) >>
+>> endobj
+2977 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.3 626.645 380.695 637.549]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2978 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.272 626.645 479.629 637.549]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2979 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.357 568.989 314.208 579.892]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a81cc2a565346ce8ee12124224ddd8d6c) >>
+>> endobj
+2980 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.274 568.989 394.669 579.892]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2981 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [417.426 568.989 500.782 579.892]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2982 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 557.033 208.451 567.937]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2983 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.695 520.426 304.848 531.33]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ad6b383704ed3f314864c52f5b715cbbf) >>
+>> endobj
+2984 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [311.254 520.426 384.648 531.33]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2985 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [405.917 520.426 489.273 531.33]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2986 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.79 508.471 244.147 519.375]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2987 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 424.796 240.282 435.7]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_af8a9392f205531631b3a98c332f594b1) >>
+>> endobj
+2988 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.097 424.796 343.504 435.7]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2989 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 388.188 243.599 399.092]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ad20b13c4f378bdc5aa64c3e833a62cba) >>
+>> endobj
+2990 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.459 388.188 406.866 399.092]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2991 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 351.581 248.581 362.485]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a6b5c73b1f3f864c8a10c39810b4711ce) >>
+>> endobj
+2992 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.92 351.581 401.327 362.485]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2993 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 314.973 254.668 325.877]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a658545ec6169d2843323bfe1ff078e6f) >>
+>> endobj
+2994 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.483 314.973 357.89 325.877]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2995 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 278.365 249.128 289.269]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_aaffebaba13f6fc73438bdccde0966547) >>
+>> endobj
+2996 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.944 278.365 326.338 289.269]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2997 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.32 179.747 345.4 190.65]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ad9547cb6430722246dea7f5a70566c06) >>
+>> endobj
+2998 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.43 179.747 427.824 190.65]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2999 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 179.747 513.996 190.65]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+3020 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 167.791 208.989 178.695]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+3000 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.265 122.09 358.591 132.994]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a3bc82e8c76e1a47ecc20c85e1003036d) >>
+>> endobj
+3001 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.566 122.09 444.96 132.994]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+3002 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 122.09 513.996 132.994]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+3021 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 110.135 208.989 121.039]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+3006 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3010 0 obj <<
+/D [3008 0 R /XYZ 90 757.935 null]
+>> endobj
+3011 0 obj <<
+/D [3008 0 R /XYZ 90 703.204 null]
+>> endobj
+3013 0 obj <<
+/D [3008 0 R /XYZ 90 586.026 null]
+>> endobj
+3014 0 obj <<
+/D [3008 0 R /XYZ 90 537.463 null]
+>> endobj
+3015 0 obj <<
+/D [3008 0 R /XYZ 90 439.811 null]
+>> endobj
+3016 0 obj <<
+/D [3008 0 R /XYZ 90 405.225 null]
+>> endobj
+3017 0 obj <<
+/D [3008 0 R /XYZ 90 368.618 null]
+>> endobj
+3018 0 obj <<
+/D [3008 0 R /XYZ 90 332.01 null]
+>> endobj
+3019 0 obj <<
+/D [3008 0 R /XYZ 90 295.403 null]
+>> endobj
+3007 0 obj <<
+/Font << /F70 205 0 R /F79 237 0 R /F85 316 0 R /F56 171 0 R /F92 1183 0 R /F23 172 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3068 0 obj <<
+/Length 2338      
+/Filter /FlateDecode
+>>
+stream
+x��Z]�۶}�_��K�
�o�}�=M�M]{;�����"W�D�d����{/ R��Kq-�u�+��{/�9� H'�	��p�������N"i�'7���NB͈�lr�L�!�j:c��`�[�_M9
���*M�)3�6�W�r:�/�*-n�E�
_���m�涊I�æ�n~����Շ+&�	�C���BM�����$���&���L�m��Dr��ɛ�]Qo�c��-�[n1
=��F���W��9��&og
+
���W�y�����6�B�H�锫�~���/�|D ��v3�!��"����;���J7��`7�RE
ȅ��q����{p���0�u�Q*��Q$�L�f�[=�Ҹ�^l��3l;�	����c$R�u�q|=��C<,K�u�9xFvji'K
+��
���uR#��f��
��W���
+���n���=U��Jk�+oo��r�h��`��>�.�F��<�P5�\�6]G8Q�j�$�7�}�Uiח|��f� ]C���{\Si\���΁�FC�(D,�|����I��(�\3���
�>�4 �nBzg�0�
´R"
�C̜�E#��t�q�/��Jbo���s~9JF�����X���1����Cu`"�Y&b� —u
��,_�*�rl_�+������5���N0R.X��8L�H4#vU5#��2�e�n1�P1"%��MS��g$�~�J��39)#PvNre�y�L+���,"Ҍ��]�
'��'
	�ukM�����
��t�6���!�����/5*�íǶ� ����|��e�V7�r��<w<l���=DS�_7N���F�
�r�۱�0ȅt���@.� y�>�o�<�d�Mw��^��/�xk��!땭�����'rABb.������,T�p.E�fJ�/"X�ex�����ha�ԥxv���d䌌�
qP�U���'FcQ
+����I�c����d��ay�Y�"F7*��t��6�x �6�k

���m����y(�1MI�?z\I�5�
+�+�!�]&9�0|:���
\H�8
�J�[9����!�
+�Ou>��gk�:V�ؙ`���U�
:y �Gӆ/��<��B0�Q����a��0Ղ��2۷0żg��[��qYf�����:z���Y��u�l�ɞl
���O���8���Fq %*$T�S}w�/z�� 
+����N���zmd�e�k
�$��ü۴�{�?4�¯9�'3O�����^ ���R�
i �� �g�/Ԅkv��8�2�/��#
�:a8��k�;)K�M����ߥ}�$����0x�ljVŽF�c�#�H�u���.O ��
<\Жi1����.��2�ɤZ=�����T�``|�����üNwEZ�yW�6��@CF��ܤ]O�ϏX�x����	��u��	������
���/b����Cb��n�7�.G4�CBpPэ�b�٭m >e�~^� ��:y�Yc
�
Y�d��Yr������Z�g�B')a�����
��ގ�ֱn������>5w����G'�=���߻N��w�n����c�MӅ=`���ދc�?_��j~�ߺ|���D��
y��3�C"��u����pՂS�3޷H�f)H�S	��wOTrȈ�x���URq,��|�*��Y��A��xx�V�j����l����4_�
eR�1�'�
'���&���0
+Y�~��T��紑��7���%n���g P8yd�!�Tz(W0�
^l�J�/į�6�4�V���#](�@��9[�m:�4���b(j�10
�� n�9;p��	��^;
7�:H�jH�{�l
Y�齙
l�M4��Eѩ�N��v�-����aI`�<��_qEȻ3ς|��S���@��SA�n��Mq��r�܌4
yЄ��
���Z�`�%�:������*�>���2�
+4�9 �ά
��\�BJ�]@M��P���:�G�
��u��p�Q��ij�%9{Gg4;���"���'��Ð3��]��P>�z�
++b"1���E
+� -�aP���Va,{��xƦ�45F�;���*<����t��1,�-���
����-J6�Fu�?�����0��2��	��.:s-��]!�<k��b	t�#�Z
Z�be�Ptm7-��o��b�Ht�
+u�7lt��OwC�}|c�{�Ϋ66�
��k�J�{ ��M]���}S����;�b�/�j���qᯄ^��8_��˴�/��l�]�ş�J�G���s�\�c8�u�-���m
C�t�&��5���M���P�x�+�d���v�����'����ٮ Yu
�>�Bwb����&w����7�"��<P��g
�Y�Y��.L0
+endstream
+endobj
+3067 0 obj <<
+/Type /Page
+/Contents 3068 0 R
+/Resources 3066 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2827 0 R
+/Annots [ 3003 0 R 3004 0 R 3005 0 R 3070 0 R 3025 0 R 3026 0 R 3027 0 R 3071 0 R 3028 0 R 3029 0 R 3030 0 R 3031 0 R 3032 0 R 3033 0 R 3074 0 R 3034 0 R 3035 0 R 3036 0 R 3037 0 R 3038 0 R 3039 0 R 3040 0 R 3041 0 R 3042 0 R 3077 0 R 3043 0 R 3044 0 R 3045 0 R 3046 0 R 3047 0 R 3048 0 R 3049 0 R 3050 0 R 3051 0 R 3052 0 R 3080 0 R 3053 0 R 3054 0 R 3081 0 R 3055 0 R 3056 0 R 3057 0 R 3058 0 R 3083 0 R 3059 0 R 3060 0 R 3061 0 R 3085 0 R 3065 0 R ]
+>> endobj
+3003 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.935 708.953 356.401 719.857]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a7573064b44c45d804d398aec02e7a64a) >>
+>> endobj
+3004 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.046 708.953 435.44 719.857]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+3005 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 708.953 513.996 719.857]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+3070 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 696.998 208.989 707.902]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+3025 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.88 651.17 369.592 662.074]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a0184ad10aeca27f95d249d3a7e061b46) >>
+>> endobj
+3026 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.182 651.17 452.576 662.074]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+3027 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 651.17 513.996 662.074]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+3071 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 639.215 208.989 650.119]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+3028 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.184 593.387 267.458 604.291]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a6137f367c0c83a73146d84c998d37cb3) >>
+>> endobj
+3029 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [271.352 593.387 370.758 604.291]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3030 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.376 593.387 513.996 604.291]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+3031 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.474 544.57 322.349 555.474]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a5e7090393ee5801d9c988db6d2a06a43) >>
+>> endobj
+3032 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [333.533 544.57 432.94 555.474]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3033 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 544.57 513.996 555.474]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+3074 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 532.615 208.989 543.519]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+3034 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 495.753 265.716 506.657]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_aea399d3df97c711c758c8bf715e0c763) >>
+>> endobj
+3035 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [269.532 495.753 342.926 506.657]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+3036 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [358.368 495.753 451.668 506.657]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+3037 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 458.891 269.592 469.795]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a612142029eeee3dd72bb0d37c670d6db) >>
+>> endobj
+3038 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.407 458.891 346.802 469.795]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+3039 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.244 458.891 489.864 469.795]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+3040 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.699 422.029 310.76 432.933]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a841ceef027f12d5c99fc2e739ae340fb) >>
+>> endobj
+3041 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.169 422.029 390.563 432.933]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+3042 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.84 422.029 513.996 432.933]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+3077 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 410.074 129.857 420.978]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+3043 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 375.205 276.814 386.109]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_aad3749930a51c38886b1d5a01dbbba92) >>
+>> endobj
+3044 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.63 375.205 354.024 386.109]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+3045 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.485 375.205 463.892 386.109]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3046 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 338.343 301.442 349.247]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a06c7c974043c12bcf349c119e73cc681) >>
+>> endobj
+3047 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.258 338.343 378.652 349.247]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+3048 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.113 338.343 488.519 349.247]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3049 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.633 301.481 194.429 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a5eeb3bf2e0ec7e6cd38e47b53eb43423) >>
+>> endobj
+3050 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.772 301.481 276.166 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+3051 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.796 301.481 385.153 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+3052 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [463.855 301.481 513.996 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4b10979f4464f0574331e442e9025d3c) >>
+>> endobj
+3080 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 289.526 250.255 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4b10979f4464f0574331e442e9025d3c) >>
+>> endobj
+3053 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [269.803 289.526 475.051 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga6b8429baa2a70746836586aad6905b64) >>
+>> endobj
+3054 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 289.526 513.996 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4813a2ed52eb4aeac03bde07be0ddd83) >>
+>> endobj
+3081 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 277.571 290.095 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ga4813a2ed52eb4aeac03bde07be0ddd83) >>
+>> endobj
+3055 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [323.412 277.571 452.716 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+3056 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.632 219.788 372.328 230.692]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a69c0a9ffd5b8910a90a91943a10fe3b6) >>
+>> endobj
+3057 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.67 219.788 451.065 230.692]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+3058 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 219.788 513.996 230.692]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3083 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 207.833 180.776 218.737]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3059 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.192 149.053 357.51 159.957]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a1e5a2940765710cccea4ef4f1b7f1092) >>
+>> endobj
+3060 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [367.412 149.053 440.806 159.957]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+3061 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 149.053 513.996 159.957]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3085 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 137.098 180.776 148.002]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3065 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3069 0 obj <<
+/D [3067 0 R /XYZ 90 757.935 null]
+>> endobj
+3072 0 obj <<
+/D [3067 0 R /XYZ 90 610.488 null]
+>> endobj
+3073 0 obj <<
+/D [3067 0 R /XYZ 90 561.671 null]
+>> endobj
+3075 0 obj <<
+/D [3067 0 R /XYZ 90 512.854 null]
+>> endobj
+3076 0 obj <<
+/D [3067 0 R /XYZ 90 475.992 null]
+>> endobj
+3078 0 obj <<
+/D [3067 0 R /XYZ 90 392.306 null]
+>> endobj
+3079 0 obj <<
+/D [3067 0 R /XYZ 90 355.444 null]
+>> endobj
+3082 0 obj <<
+/D [3067 0 R /XYZ 90 236.889 null]
+>> endobj
+3084 0 obj <<
+/D [3067 0 R /XYZ 90 166.154 null]
+>> endobj
+3066 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F23 172 0 R /F79 237 0 R /F85 316 0 R /F93 504 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3128 0 obj <<
+/Length 2159      
+/Filter /FlateDecode
+>>
+stream
+x��[�s�6�_���f"�7������u�M|/�t<�EٜʔC�q��߂ D��(�t7Ջ-R�b���-$N.���仳��N
2���l��(I��$9[$�R����	�8��Y��2�8]���E5#:]��uv9�S���e�W��"w�o�eތ����L���~;���g'O���L)RL$�'�~�����`ČN�Q�	�
����'��`�>��22��$�BQ��Ζ�l�Ӈ�%��
+��߶�T�^�7� J���[
���av~W,�(/ϳͦ�,��)��{,�N�}��C	*��jD5F�rS�tʐ��?��I4���v�(E�����n�^/��L���u%�%	A��{�����O���ލ�̣� ��b��)uV�HZ�
w�(�����M���V^�ucVs�+��+G ބ�a���	�t����8u~ބ��r�0�������b��_/�S
K
�CV"#��\��0YV.ICƼ�
�6�:)81�A_�3SRP�~�������_M�?�0�^��F>:�CD�(�tq-�?�����gD'�@��?�|0K�|p{�|�M>�MH>�5; �
i��32J�f��c�=�|��[}!��!��)�i�d��!�s&b"��Ziˠui�'d���nU\u��ψH?�U.��8'Af�W����������ܘ��iu۝�q��
���i:�"=8鿷+Ș�����ί��^l^��趴
�����u
5)����c�ܨ�{92�%��C1��:%P�T1� T�bU4¼K�
+�Ê�`Ŵ�b"X1��YXќ=V���ݰ�ȘԎ�[}���~^0��"]�
�����@�J�%w���`�����6e7�EݸJ�Ԧ���,�M�W6�m�o��b�%P}k�5�b3��#*g��U3[鹋
��2��>��Q�UO��uPJ
�,a@?��0A&Pȿ
�D���Mƽ�~��u�j�c5��Ey���&�BR$�^�F��\9w��~��E����W����UY|��R
+?*h+�"{a�M������t���6Hb�wmp[�~ʊU�a���
�Y�<C�iݾ��l��T�ct*�Y���RƝ��&�����I��("�����X^���k����
�S����"�	Pk�O���g��K|������gz��9�3��"�Z�3���
^ Y�c��tWd/���^1�|Am0�a9ǁ�FX��/���M�|�ԧ8b�/4���O��=�
+$M�ꁄ1�&��������PZ"�!�����z�en��������z�Va��4
ؖ���h�d';a�g'
��o�;��N�v-;�]섑l	���������E���+��c��]�Ud
	��[�c��
U��!�K�!���hH�
gs�=����-�O	B�x��
�v<%x�S�/X�.�,�"tB*ڮ�n��� �q�qy�46��#�K�
G\�Lpy
����B�< �V9
.�������B����
+����݅rm

�AX�k~�d�T��#2�fZ/{����z�CA���8��GюwI�!��X��V�B`��
Z5�\)n
�aW]����v�8I�a���ഔ ����dqC�v��`-�V�+A�ĥ~��
��mP�:�
+��Ezm|8�8����ݾ� ���N��Z�p����6�pe� �;Ͼ8�s�E�R���T� |p��;�
>��}�������j�NJ��}p
�}��^�n-�f_6���68��f�]�ٷ=�c��'w Ó{�w���;��)g_��^P�X�=OIw�A3;h	���
>��>��.�Ѓ
z�
��Gw��?��=t�A����A�X�mA��c
�b�
+
t����
8�E
:y@���ݱ�;t/����W�My��)��.݃��&\X]�.8���@��͋y�������ȱ����4},����W+�
����^����9� ���f�)}��<V�4ҷ�H�h�g"������p����ue��e�ֵ0H��pJ�K�\�u�/����?Ň*�����^V^�f�y�J�E��k������fB�����tu�]�2�6
�&F�����6��R8�O§��FVQE�ئ�U]�������]l�mY�T��O�����
�RJm��eS��Z��*<�YZ�n����^?��
+endstream
+endobj
+3127 0 obj <<
+/Type /Page
+/Contents 3128 0 R
+/Resources 3126 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2827 0 R
+/Annots [ 3062 0 R 3063 0 R 3064 0 R 3090 0 R 3091 0 R 3092 0 R 3093 0 R 3094 0 R 3095 0 R 3096 0 R 3097 0 R 3098 0 R 3099 0 R 3134 0 R 3100 0 R 3101 0 R 3102 0 R 3103 0 R 3136 0 R 3104 0 R 3105 0 R 3106 0 R 3107 0 R 3138 0 R 3108 0 R 3109 0 R 3110 0 R 3111 0 R 3112 0 R 3113 0 R 3114 0 R 3115 0 R 3116 0 R 3117 0 R 3118 0 R 3119 0 R 3142 0 R 3120 0 R 3121 0 R 3122 0 R 3123 0 R 3144 0 R 3124 0 R 3125 0 R ]
+>> endobj
+3062 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.88 719.912 316.987 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ad184bea5f8f38b87293d639d57ee340b) >>
+>> endobj
+3063 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [320.577 719.912 393.971 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+3064 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [404.026 719.912 503.432 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3090 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 661.686 297.836 672.59]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a88c408677f6de73fd80903738268efa3) >>
+>> endobj
+3091 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.651 661.686 375.046 672.59]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+3092 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [385.506 661.686 484.913 672.59]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3093 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.594 615.415 421.847 626.319]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a977522267df419dd5f2824ce6c0f7610) >>
+>> endobj
+3094 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [428.151 615.415 501.545 626.319]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+3095 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 603.46 224.501 614.364]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3096 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.314 603.46 363.618 614.364]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+3097 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.887 546.23 400.763 557.134]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a96eaf729b170b6df69bc2d1127f8727c) >>
+>> endobj
+3098 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [405.36 546.23 478.754 557.134]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+3099 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 546.23 513.996 557.134]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3134 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 534.275 206.788 545.179]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3100 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.601 534.275 345.905 545.179]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+3101 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.816 477.045 368.48 487.949]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a88a7c177ebe33a3d41609609660fd3ee) >>
+>> endobj
+3102 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [375.007 477.045 448.401 487.949]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+3103 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 477.045 513.996 487.949]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3136 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 465.09 180.776 475.994]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3104 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.589 465.09 319.892 475.994]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+3105 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.376 418.819 353.663 429.723]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ac78c1168665c72eaf8c2457b12700fba) >>
+>> endobj
+3106 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.748 418.819 438.142 429.723]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+3107 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 418.819 513.996 429.723]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3138 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 406.864 180.776 417.768]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3108 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.589 406.864 319.892 417.768]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+3109 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.568 360.593 425.899 371.497]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a875b11e85fe96586152f53f498158b1f) >>
+>> endobj
+3110 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.177 360.593 503.571 371.497]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+3111 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 348.638 224.501 359.542]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3112 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.314 348.638 363.618 359.542]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+3113 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.027 269.49 412.981 280.394]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ab062917f016d95800e29f87c203fd3bb) >>
+>> endobj
+3114 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [423.718 269.49 497.112 280.394]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+3115 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 257.535 224.501 268.439]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3116 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.314 257.535 363.618 268.439]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+3117 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.386 178.387 373.128 189.291]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a5932fd0c6867d83e3a34d5e680225807) >>
+>> endobj
+3118 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.224 178.387 451.619 189.291]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+3119 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 178.387 513.996 189.291]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3142 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 166.432 180.776 177.336]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3120 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.589 166.432 319.892 177.336]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+3121 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.946 98.244 358.31 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ad4b80df36fc02b4c47ca160420e50182) >>
+>> endobj
+3122 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [367.966 98.244 441.36 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+3123 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 98.244 513.996 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3144 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 86.288 180.776 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3124 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.589 86.288 319.892 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+3125 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3129 0 obj <<
+/D [3127 0 R /XYZ 90 757.935 null]
+>> endobj
+3130 0 obj <<
+/D [3127 0 R /XYZ 90 733.028 null]
+>> endobj
+3131 0 obj <<
+/D [3127 0 R /XYZ 90 678.4 null]
+>> endobj
+3132 0 obj <<
+/D [3127 0 R /XYZ 90 632.129 null]
+>> endobj
+3133 0 obj <<
+/D [3127 0 R /XYZ 90 562.944 null]
+>> endobj
+3135 0 obj <<
+/D [3127 0 R /XYZ 90 493.759 null]
+>> endobj
+3137 0 obj <<
+/D [3127 0 R /XYZ 90 435.532 null]
+>> endobj
+3139 0 obj <<
+/D [3127 0 R /XYZ 90 377.306 null]
+>> endobj
+3140 0 obj <<
+/D [3127 0 R /XYZ 90 286.204 null]
+>> endobj
+3141 0 obj <<
+/D [3127 0 R /XYZ 90 195.101 null]
+>> endobj
+3143 0 obj <<
+/D [3127 0 R /XYZ 90 114.957 null]
+>> endobj
+3126 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F79 237 0 R /F85 316 0 R /F23 172 0 R /F93 504 0 R /F92 1183 0 R /F96 1571 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3148 0 obj <<
+/Length 2242      
+/Filter /FlateDecode
+>>
+stream
+x��YIwܸ��W�-��,
��\2J�Y��X9y��(-1�&{H����)� n
[�%�\� �B�_U���qC7�����武��䊫��n�ӍV�H�6w��C�	��kF)M����/[N�v~2U�eY�6�C��&?6��vEi���fg�
Ӹ)�
+�db����]�~ŀ�a�J��rS
�>|��
+��P"�lsr���
x�7�~�������7��R+K)�0�\�$�����t2<Y�2�
�D��,�7o39#�R"3w��gܱ�H�\���G�e�
Eݘ
+o����J�v86�?{�M


�z��˜10�<\�9š$"
�o�l�����ǦG覂�L�����
#�?���TW���G���E�k5�W���P��6�{�5ǝESEu@(�/X'��c�t�hқr�9���B�ʚ�`�L��C?1� ��e"\P�� ��I_ŀ�n+��/����R
�z8�]����c��q3!��<C&���肰KM0
�
Ǽa2<�է��T1�)�\�&��j׮��b.�U$�c�n����ej��S��&RȉO#D i�tu)��<l]qɮ$:K_�����)K�*��rF2)�vR~I�s0�X	���–�
j�!#٨�_�Z�u��ƻ�5���`ܥ;ês稓xwv
��
B?]�~��s�Y�����d��u�X%�k��L�{�
4�MY�0��b ��N$i�����C
�0k�F�4D�^��mF���� HS�Cn�{nJK���\z����j<~��<oWT޽�3q۔�kA����C6)���,�C�p�O�<E�[������|�
�BbǮݲ4�ToYR�K����$���u����������ei s����
XZ��}�Kp�3.���w6�e�qo}v�%/�J�v���X�EW�iNG��@�HM���
eK�P��@U�C��ŝf8���->
�v����4j�c*\h˵
=\C6�����������d�1t&ׅ�IM�Ub\C@��/�\@����.B�YL�+�81[�Mhm��1�o��)H��oHJo\a����p�J}�P[5?����;82���3N�
��m��
wB%:cV��� _D҄rv�8B
�N偽�ڧ�\���d��(;�,R�?)�3�@E�;ȳ�b�&��k~(l�����š�>z�v\�W�
���0"@�.��5	�0I�ѭ'�|��b���Z�����3�94�`���+����T�m��`�x
����y{=�Wܗ�!
��EY�:
��*�ɡ����]ѝq�
"ᵃj���H��p�pm�������ٚ�-=�{� [@;7���
��T5P�
��lT��#�����dt��d�\β�Y�mW���̟�*4q�b���s at -����IT�ԷNvH~L�`/{P��t�&w88�Wm�soeܛ��pFz�-Ī/v��8����@�ŀЀ\�r���MD�P{�*#ˋ�|����.F3��|���<�N&FHE'��uI.�J��U�iHo� )S���C�����r¨4aN�������P��sL�B���e{����P
+� ڝ\O������	���z0�� Q� p��!o8h3[.�S���3"1�P
xVUF�o \��/\,�?X_�x9�.c�<����){�]
��<���Msw�Bǁ%듙�e���=�@6��=�@zj;S�PȦ̈́���,�,2�Z�p-�m/�ߟ��
��4 �ʿ�bD)�2 at 5�$��=����/l���80@=$�c����Ο�&�������j 
����s��X�����
p�GP���Fvٖev�
u��@lB�����ZO�WY�����fᝅ��s�������TB��x�c�C��1���ϝ�u�nb�6�^���U��ְ/k�N��mh6O��/C8�J

�j�(�r�J|� 
��Bڵ𑺄�h�u,�O��ܛ(
h�@�o�M	���p���E8H�.��@ Q���	,�$���X�M:>&ף��.�V
�)m� 
a��v�5j���z�]qL	M�,� 	�b��;��
#w�t�2�3KHP�Pl��	�
+	c1��SHA������?p��<)2�W�̉�k���>Ew�¿ξT����^n�
t��ţ���5}�������V��W?�p�#�-��ǡnR d3f��~�B�M��P��l���+��I*���	�/O�p����t:��'�M}�H=� ��\Vzh4��	D���s;<�~�w�݅��
Z@�
+endstream
+endobj
+3147 0 obj <<
+/Type /Page
+/Contents 3148 0 R
+/Resources 3146 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3155 0 R
+/Annots [ 3145 0 R ]
+>> endobj
+3145 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3149 0 obj <<
+/D [3147 0 R /XYZ 90 757.935 null]
+>> endobj
+3150 0 obj <<
+/D [3147 0 R /XYZ 90 665.656 null]
+>> endobj
+3151 0 obj <<
+/D [3147 0 R /XYZ 90 517.6 null]
+>> endobj
+2583 0 obj <<
+/D [3147 0 R /XYZ 90 495.288 null]
+>> endobj
+3152 0 obj <<
+/D [3147 0 R /XYZ 90 495.288 null]
+>> endobj
+2584 0 obj <<
+/D [3147 0 R /XYZ 90 356.701 null]
+>> endobj
+3153 0 obj <<
+/D [3147 0 R /XYZ 90 342.131 null]
+>> endobj
+2585 0 obj <<
+/D [3147 0 R /XYZ 332.797 243.155 null]
+>> endobj
+3154 0 obj <<
+/D [3147 0 R /XYZ 90 226.428 null]
+>> endobj
+3146 0 obj <<
+/Font << /F70 205 0 R /F79 237 0 R /F85 316 0 R /F93 504 0 R /F92 1183 0 R /F96 1571 0 R /F56 171 0 R /F72 207 0 R /F23 172 0 R /F90 477 0 R /F99 2097 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3159 0 obj <<
+/Length 1543      
+/Filter /FlateDecode
+>>
+stream
+x��XK��6��W�V��|�bzˢ)����٢�$X(m
�eW����wF�^����9�
R�<��(,|?yu?�y�i`��x�/C
1�8
���}�	W����������p�>�lZLY
n�*YNg\����"�[7��.l��浈I��XN?޿�|w?�s�@��H��*�o&�?� ���a��P���
x��w�_&ԫO/�B�
4���3��i��TRa���Z��
7�U�{��DS���r�߯�r:���}>��m�3n�i��Rn�j��na��˪H��r
屬�ƭ�
tL��>
Q
0�����(X+0/_�MU9'��f�~��bpB�/�0q�oݱIY�7�Fw�o�'��f<�D(����M����{�̪�
>O9�t�����ŒAT�f���.��쓪�צή�

n�rl����m�,�踇wޝ����t��9I�)
�<uBu�("���{F�v��
�%e�i�[�3VE?q
�S����Bã$$,c]�GNb��SY1�
���H
��M�
�N*�~
�(LA��%�[
�ƫ}�N1ƚ�	>h�[����n�c��T���v�v�U���

�
�8o}Q��� �ħ>�$�͖$O��"�l�I�h�k��b[��׮5j}t�ya�O����|@�C$��ia�1s �L
+Ȟ1s41�5����$�D�2��lPȗb��ju��k_��ʂSܤj^.w-L����eּ	!��l$
�����	��?��T ���}
\_��k;	���.��1<Њ����W� �XD�h�D
�d��/q�����%����&
�	����煝c���`��E�- m��:ʮ B�X���O�� ��
 ���PT�@�
��)b@���w
g�i�OA���"B�o�BC
� tI$�36�u���O�p�e��w�K�/6E��F؀]�xH��	��A�Մ
�}�V�� ��㎳E$�\��9[��hQi0���q�va��U+`G���~ɪ��f��h( $;�'B�����
+��H\Ar ئ_�
����I����u�����ޡ=�w�Ceڶ����?'
L=_k���("�!^#�	�v��P��a%k^q��v7e4<��(�0
Uv
juk���fܱ�
R�(t  �>D�Z�?����=�q
:*4%�O�S��"V"5আJ��Wﶕ}>Ƅ��n�8\.!̺2��W���=��*2�2�6���/�k�q�^�������w����P�
�=�Y��yX
{�m��K�=��B�q�L�̕5HE 
��+��x�i¸���b�'d��A}_��q>�wx@[�pH�Dm���U8oZ|gV]� ��"JtdNB����W��N�7p�{�߽�o
�a�����2�O��O�"f%�&�S�?�)�T$�dz[/K��>Y��K�?�{~+m��T�У��I�O�or>㑶�
H��cY�/4|g
v��4�'��;������ϧUU�^��
2/�>�vɪ���sd� 4t�n.���,l� �$�!Ϣ��ϫ�
+endstream
+endobj
+3158 0 obj <<
+/Type /Page
+/Contents 3159 0 R
+/Resources 3157 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3155 0 R
+/Annots [ 3156 0 R ]
+>> endobj
+3156 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3160 0 obj <<
+/D [3158 0 R /XYZ 90 757.935 null]
+>> endobj
+2586 0 obj <<
+/D [3158 0 R /XYZ 90 684.191 null]
+>> endobj
+3161 0 obj <<
+/D [3158 0 R /XYZ 90 669.621 null]
+>> endobj
+2636 0 obj <<
+/D [3158 0 R /XYZ 332.797 568.588 null]
+>> endobj
+3162 0 obj <<
+/D [3158 0 R /XYZ 90 551.861 null]
+>> endobj
+2637 0 obj <<
+/D [3158 0 R /XYZ 90 385.263 null]
+>> endobj
+3163 0 obj <<
+/D [3158 0 R /XYZ 90 370.693 null]
+>> endobj
+2638 0 obj <<
+/D [3158 0 R /XYZ 90 232.086 null]
+>> endobj
+3164 0 obj <<
+/D [3158 0 R /XYZ 90 217.516 null]
+>> endobj
+2639 0 obj <<
+/D [3158 0 R /XYZ 332.797 118.54 null]
+>> endobj
+3157 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F72 207 0 R /F23 172 0 R /F90 477 0 R /F99 2097 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3168 0 obj <<
+/Length 1722      
+/Filter /FlateDecode
+>>
+stream
+x��[o�6���+�6�^DR�ڠ
��i�x؊�0T�����Ir���
���r�`݀}II�~�H�Y;��i�r>�x-���T8󕣰#A�g�t޻Q>�����Ƌ�)�n�o�2����E��3ʱ{��:_�����JW��Z"
�ϧ�?O^�'M��
R
�%��;a2y�;KX����)��WO%�G\c�n��?(>e
މ�(�k��I�tI�~qss9���;�c���Ң�xuqw_�:1;��x:��;i���k���
In����1�O��#�D��v�yfh:c� �}gFR�7��7�
!
y�kN	��3��w�rR�� �������R/?�'��KL|����%�o��E���n`/��R���<d�ڼYj�����(]ۥr��
e���^��,���'
�a*�1P�p�Ik� ]ڍ�yT��ײ���@�Z��ޜ�̨/��Бa��
m*�U7󠬯�e��1u%�H�Cc�H�X��JC�BKH$h-�|S'u�1��Q [...]
+��K���*�t8L�|�G�S��?���An")5q4�`x��$V`չi����)qW�4,+�� ɖd7��]�{��E���F*��
1
-��ާ�1��䡼����P��.�w[+��]�>�	��4��E�K����
�Z�O�P�!��0@�`Y��qb�U
��	�Fc܂���("�`Z
1��aze�A�:����F3�4Fc�qg
U�,�=q��]������"�|R�G���~�{'H-i�9Iz��5KjX
�n��,�wl�R��X���������\

�������,�a���
�!���6�>�2�?�F��7 �$p����
+�6T��ITPйy�*��W�7�<S�*ۈA��
@
R���8 ���r
T�&�̥
>�T8��
F!�8h�̒�@-���
�z�
҃��?
�
dʰq37\�i�p��+.Z鎸���;�����׸�Y�q3sk){Qh�m�J9h���D���\����6n���q��W5nf�߸U"S�]�m�&�`�����ԤOjF��������Q��.)���kT��
+r�<�e�}$�%te��g��gX}��'k�؝�㠉��n���g�d�po�;���~4�ՙ�x;O���oW���[EJ���\L1 �!�#��h��n��k��ɰR�F��HJA� ��
ߜ�� ��]aKԂ�:�m;�o�Bۡ5���D��2��

*�&X������p,> �3��Jp��l�kj7��{i��m��c�+_��V*�AU}r�:	y& )�l
 ���Qd��W�8���fւ*
�;(b%�W<
���

����)1ޫ�[&����T���׋˷on�_�y5���~qw��}{���훫�cF�9b���g�<L�<
�ѣ�Qg�V_G#퇏�e^ܼm���D��3��55����,7�f&�{a]��F�
tPm�Z�a
����.,���E�i�DA�<9�<4
+��;��
�������Π�0���ΐ���æ�ֈ�I��
���u�)�:/� ]��Q7���_�:�aʹ[��&Hw�ڦ<~1G���0TCy%6��MBY�?;��I
�V&�	o?g6e�}~q���QX�]ms�P�.�S����m\�PJ 
���� ��k�_W
+endstream
+endobj
+3167 0 obj <<
+/Type /Page
+/Contents 3168 0 R
+/Resources 3166 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3155 0 R
+/Annots [ 3165 0 R ]
+>> endobj
+3165 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3169 0 obj <<
+/D [3167 0 R /XYZ 90 757.935 null]
+>> endobj
+3170 0 obj <<
+/D [3167 0 R /XYZ 90 733.028 null]
+>> endobj
+2640 0 obj <<
+/D [3167 0 R /XYZ 90 571.936 null]
+>> endobj
+3171 0 obj <<
+/D [3167 0 R /XYZ 90 557.365 null]
+>> endobj
+2641 0 obj <<
+/D [3167 0 R /XYZ 332.797 456.332 null]
+>> endobj
+3172 0 obj <<
+/D [3167 0 R /XYZ 90 439.605 null]
+>> endobj
+2690 0 obj <<
+/D [3167 0 R /XYZ 90 273.008 null]
+>> endobj
+3173 0 obj <<
+/D [3167 0 R /XYZ 90 258.437 null]
+>> endobj
+2691 0 obj <<
+/D [3167 0 R /XYZ 90 95.298 null]
+>> endobj
+3166 0 obj <<
+/Font << /F70 205 0 R /F23 172 0 R /F90 477 0 R /F99 2097 0 R /F56 171 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3177 0 obj <<
+/Length 2235      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��:~�_�ۚ��FK�w��I�%3�S��$Ey� o���������39�<�e��꛾n�qo�ý�7og7��z��@Pћ-{�y� NIo��}v<Dy@0��v���;Y�c-y��N���p�P��qZ�|FҼ>ʥ�42�S�e��E�����hv�"�
�[ry�����篸���=�X����j�s)�gқ���_�2���Gju�Ӳ?`�keR����
��Z��f��u��y�m���
�?
�/�c�\��a���[9��N-���k<q�A?��
��-=ը��n׿��-(E���D	���9Z[�#B���{�Ae�F	�W4
���s�[�Ή�4���Þ�s���\|5�\4(LPā��_x̬x���ENc���	a�������r
��t�ͳ��6��!6jj�
mڟ$�
�!��K�
���q�2�T��*�!�6�u��
+i�ƞ}ʦ�
q!�!�Ȕ��d�YifY$�C|��d��ZZ� y��H�f��A�j��<�a�H,<,��
ʵ�Ie��>�a^�\*����[4C�A�X�(���H4NH��!x�h�F�
+Z�s�|M��rT��]VʣEm�>�p ^��Ԭ�)m9=�
�y\�62-!x���hmW�`��s��[�(���ߔ��d';� :��!
&���LJ��_�٧�p�f:�?�O>��
��t����F���1p1E^pn�[M�z���:� P:vC�+ʼ�����eȭl
2;qa��4�U��8{�4Lj1�(
�z
���.�l$jl�wQY��:,��M�M
&e���;�8�G ������Ng���h��/&�>�U�j1��B�� ���'(�z9A
�?
��th���9��8"���
�6����A^�2�Ǭ�)c��ѷ��rkX��,˽����R� ������\�u,�D�?O7 U=6^�AG����p�(�: �/!H<��(�]�8C�{`�r������+�4K��U&�X!�o�]:��|�Q�0YV�b�*{.A)u(�lhg��j�9.�qa�e�K����@U�)��:h
q;
�5�9�&Sy���p`; -�w����M�����6��ߍ���w3��ڂ��q<�U�;� ^���h8�*|��K��
'O�F��
+
/Y�)��<=��h�ϓ��*�.d��|�q������{e�w����k����(s��@�Hptgp[wL^��e*�Pg

�
+����޿�����0� ����T;�:6�+ʉE9���Ovupf�B��ɑ�Ġ*ϡ^��a)	�K�(V}
��"�R�ª���(.
I�����5j��aՋ�iԚeŭ��
U�g�.�a��?�h�~t��Oo�OG
+��5�*|(��(b� &� (����E��}E��"ނ"��A�&�
j�_i`h�Yz�� ��\����a6;A��0���o
ZE|����f�"��m�;̚��a&�_0�Q,ϔ���~�u����.�`~N��e��6\C�R�6ҡtku�@CB�
�@���w���9kR�rN�f�j�Y]^�L��b��z��:1�f�cL�
+��c�q��l
��IJ묪K$��<Gܯ�Zvs�6Q��ꦟp���ݤƃD�x��l�.$��e�m�.ϙR��l�n8@"^�q
+�⦹�n�Faa�R�j�î��N8�z.!�
�
Z��\V��\;Ush-s٥�r��b�"�2��U�)��B����;����
�=�D�����i/�
K��Yʼh��������c|p�CQ�Q0�iڗ<��
+iOT����hѵ�
+��p9(��H[n��Y= Gy�D�D�~�]�ryq��eVeh�җ
�b��oY�W���.�����9��[�I#U\Ҟȯ��Ͼ
��$m�BP{����2�m���z��U����uE
#O�}:']с�?��B��V�'(5u��%58T!�ס�K�$�fH�C��z�k]�(ɢ�rTߗ�w��65Q��0)�!q�ޘ���GkrUi_6�U�e�*-�����짜ڀ�ʭQ��\�
���
��B�Q��슠6��T>
+�����_"'ԝԷ�y��Q�A	��ժ@�u?�an�a
�\��v�J6����R�+}*d��>�U�c��v�*�M��k��P
��
��
;SY����[���F���J�!�P#��r�����~����x�������4�j.<W�
:���dU��)Ln�Y:��� ����
+endstream
+endobj
+3176 0 obj <<
+/Type /Page
+/Contents 3177 0 R
+/Resources 3175 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3155 0 R
+/Annots [ 3174 0 R ]
+>> endobj
+3174 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3178 0 obj <<
+/D [3176 0 R /XYZ 90 757.935 null]
+>> endobj
+3179 0 obj <<
+/D [3176 0 R /XYZ 90 733.028 null]
+>> endobj
+2692 0 obj <<
+/D [3176 0 R /XYZ 90 577.45 null]
+>> endobj
+3180 0 obj <<
+/D [3176 0 R /XYZ 90 562.88 null]
+>> endobj
+2693 0 obj <<
+/D [3176 0 R /XYZ 330.436 439.994 null]
+>> endobj
+3181 0 obj <<
+/D [3176 0 R /XYZ 90 423.64 null]
+>> endobj
+2763 0 obj <<
+/D [3176 0 R /XYZ 450.246 324.291 null]
+>> endobj
+3182 0 obj <<
+/D [3176 0 R /XYZ 90 307.564 null]
+>> endobj
+3175 0 obj <<
+/Font << /F70 205 0 R /F23 172 0 R /F90 477 0 R /F99 2097 0 R /F56 171 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3186 0 obj <<
+/Length 1996      
+/Filter /FlateDecode
+>>
+stream
+x��YK����W��j��� ��)�r\v���;)6[*��$&")�a����  >4�c6s�EA��������]��fz�=�Y� F��"x�1� �S<o��s�(_,	�x~<
V���y�6ՂD�X5�n��
�,Um�T��_�VucT�u���y$_��}�<�mF@
�nI.�d<H���/8�@�OF,��S7*B���|��}���sq�>e
n��q���hP�b��u#�{3b"�����
�jP���ʏ�Y7鼬<rC�"�ݬ�zXpQ6F�l��ژ�mU榕�������z���
�W��p�s��T�V����$�����u{\
mi��(r���LFQ��b6���휊��O��w�8"�����,os�j
#�b7�o�2�$
��@0�`9�Y�x$2���%Z�C��m�Զ1��h�6��@v�qj-�
��	�
QD�M2���q-�����?juʚ��h
�%x�CH�r=3-���f�Q,
+�B�b��|�S��
��K��*�V�=������j$��<(�r�'1T�e>�j
�A�L�W�����ϭb�*|��h�����I,$(�l�>�&!"^��d]����}��V�Zt�T���)+�ABq?��UaJ
9���!Eàϕ:$��|�� �DqH!��= �݌_:�$d���w,���a��%�~���b:|�NH���#>�O�xúa��Sȋ��a	?�{��^?��ա�֞��^��}�L��H�dQ��uRO�,ݛf��֧;S^�n�B*/ [...]
��ٻ�Y�8mnP�<�ۋ���F��v��M+�|�U��woo�Qi�e
+�s4TSSjP�*E�nN���ȡL�����1nVr�ˋ���l@ϧ�
�9�)��x�Z6���t�����o��d��Me�V�qH��P��}H^H�U1 �T�e!sDQ. �������
����u�G�}�'�0<v��
��s?�c�gxX�
��o���
�>��B������1r���Z@�3��<A�������_��<�� �xރK�>!=&�=+����#܂<�-P��n1�R/����������H7�=�D(wn�� �B
�PYC�zYJ~g:�����&�/j�
�olދ�B-�
u�H��:�oe��� (i<v����sJt�71�o�f��'g���iV�G��y��^�ɜk
��U�k�eVh� ��`�97&�!ɨ+Z�v��L�;׭LcB�8��s
�C&��������h
���H6���|I��AmV=�h4���a��=�PC>p=D�[1�Zq*�>��F�~� 
�_"�}7B

5��EĻk ���l.����zZ����` �ѥ)7���|��oi8^Ön�f*C�rB��
+p>�GW��FǗ�!
���Q2߶Ejjp�py��tѭ�����`�yᜣ�U�ì��O�w��'To�p՝��}�
��>��h�"6[�=
+���3�B)�B���Aib�X۫*B� �& �'��=�p{9�s_\^H$���>9��x
+
�5а�Z��L���WAC�����Nf�(>�J����7���)�3"������{�w����[�at{乘�H���.��	p=�
�,�>�	����
�c�yxqq�Q�GR�$��_��s���ʖ)l_R��d�Ɵ�<��������C�n�_��h���m��j��At� ���?)wf��w�Z�uN
��a�}�
�?=�N'�֨-�c���	"��%<R���q��w��
dt��Eŋ]�/:��
+endstream
+endobj
+3185 0 obj <<
+/Type /Page
+/Contents 3186 0 R
+/Resources 3184 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3155 0 R
+/Annots [ 3183 0 R ]
+>> endobj
+3183 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3187 0 obj <<
+/D [3185 0 R /XYZ 90 757.935 null]
+>> endobj
+2828 0 obj <<
+/D [3185 0 R /XYZ 215.12 711.11 null]
+>> endobj
+3188 0 obj <<
+/D [3185 0 R /XYZ 90 695.187 null]
+>> endobj
+2829 0 obj <<
+/D [3185 0 R /XYZ 215.12 442.35 null]
+>> endobj
+3189 0 obj <<
+/D [3185 0 R /XYZ 90 426.427 null]
+>> endobj
+2897 0 obj <<
+/D [3185 0 R /XYZ 137.91 326.829 null]
+>> endobj
+3190 0 obj <<
+/D [3185 0 R /XYZ 90 312.34 null]
+>> endobj
+2898 0 obj <<
+/D [3185 0 R /XYZ 90 175.284 null]
+>> endobj
+3191 0 obj <<
+/D [3185 0 R /XYZ 90 160.895 null]
+>> endobj
+3184 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F72 207 0 R /F23 172 0 R /F90 477 0 R /F99 2097 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3195 0 obj <<
+/Length 1630      
+/Filter /FlateDecode
+>>
+stream
+x��YK��6��W�V	Xs���� [4M��q�C,d���Z���n�_ߑHɒ-�)�
r2�%g�y~#.�6
�~����]߄��HK*�����
%A�o{��Q�	����w�o��|wؚ����춊6��
+���U�XG+c7k��1Y��p&|����׳W���3�GZ�"D!�*�����޿�0bZy�������{7�m�
||���
�DDrkʟ�~���%٦�I��rp�(b��	��
_l��C]g�*�3���q�cj�_����U�m��Y�塬Lj�E��O�}^
8`
��\ 

+ �X�/�T
+���S�;X���"����,�/������*
+���K�H��TJ$����4�]Xۣ�T�]�ܺ�
r&
�0'X�8E`�9�(��%V�U��	r)�����K���Y|
F$�̞��H	�ų�����H�����p2D�
��Qa-���"X!BX��0�I#���=ĉ�C1)J�M�
��*�Hp8�OR�8��=�C�2�*��5�U=�O���Y䲠
�].��
YOh!�"|L�:j�'��T��s$D�սdS���m6J�by�4��ϵ+ZX�y%�]�����9��6�� V�o��R�j*���@C^

٦��9Ԩ��ֻ���&�!?���pL�q�@B2��4�9�qoΠ
��!�!��R)E��e�6I���[m�	&�STD��]��*@h��ӡ��$5Y�4B{3!W�x�;h���'��q�f���M����}�io	��Z��i��`�Ν�4�CE�)V��ܴ.]%&�.�m���d�В�w�Q�>=�
� ����r�i�D���}�N%;�H���	�.n˕�j��ai���M�n�Ʀ�}c�*�8��
n��ܛ���x�YE-w����	Q��ǐ�ڂ|�R@���S���h<5P(�z��" C��_L���U����t�2��'
+��4�����X3�ET�czs
��m�ڞ�i1쬱��)�Д�y���ɪ�$�SSDU^�<�<쏠�J�(�@�J���,O��3P��y�PNjt�B�{ �GHµΎ+���gq������\A0
W`$�BH(�q����+�zYVIUW_
]�ot��υo��E���\�<j?M|�mG,_p�,�`��ct"&س�bN�
�$� k�'�]�d�1
+U߇w�IC$b�O��TS/�)�J`�
+|*7����Hȡ���]�Ls�Ӟ����
���Sģ����O*�
����s��Z���E�^Ħ!
����3�%�t��NԨ�+�����)������=��RY��W��gHS�����.g
Q�!4
+�~�W"�R���W���57!Hb`"%e��4M t.�(���(%� }�!}�f�7 }`(�R O��xB)pc�&�]G�#�:�Z=�5M�=�k
+�|�B�[9�>e^s�
�l<�^�K�4QO��oa��#.!4�I���޶9X��{�����dYD��>�t�lS��g��N[�!�(M�] _����:��uC0w�J���I#B���h{�g������׭~��~��B� �o�۪ڿ�����G��Y�/PR]Cۼ>��a�p�CӺ��4/�F�5�Z[�gQ�ăv
+endstream
+endobj
+3194 0 obj <<
+/Type /Page
+/Contents 3195 0 R
+/Resources 3193 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3155 0 R
+/Annots [ 3192 0 R ]
+>> endobj
+3192 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3196 0 obj <<
+/D [3194 0 R /XYZ 90 757.935 null]
+>> endobj
+2899 0 obj <<
+/D [3194 0 R /XYZ 90 684.191 null]
+>> endobj
+3197 0 obj <<
+/D [3194 0 R /XYZ 90 669.621 null]
+>> endobj
+2900 0 obj <<
+/D [3194 0 R /XYZ 509.915 580.543 null]
+>> endobj
+3198 0 obj <<
+/D [3194 0 R /XYZ 90 563.816 null]
+>> endobj
+2966 0 obj <<
+/D [3194 0 R /XYZ 90 390.778 null]
+>> endobj
+3199 0 obj <<
+/D [3194 0 R /XYZ 90 376.208 null]
+>> endobj
+2967 0 obj <<
+/D [3194 0 R /XYZ 90 203.17 null]
+>> endobj
+3200 0 obj <<
+/D [3194 0 R /XYZ 90 188.6 null]
+>> endobj
+3193 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F72 207 0 R /F90 477 0 R /F99 2097 0 R /F79 237 0 R /F7 3201 0 R /F23 172 0 R /F8 900 0 R /F13 3202 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3206 0 obj <<
+/Length 1722      
+/Filter /FlateDecode
+>>
+stream
+x��Y��F���z��2��G򔸼�8N�&�<�.J� ��D�z��ӒF�8v�$��'��t�������ޏ����=���һ[x{J$(����_!*�#�1�����vH��Wv�
���h�����)��d�l~��]�l���[�3�k3�t�v��n�瀀
+�#ٖB!ń7�
>|��
��0bF{٪��)�ϵ�~�� ;�q�� ����DD�ܔ�!�~�
z�2=��oL]
+�Ha��
�KٮO�o��?!��~��ޭ�/��eq�_�W�>��ܝ$�v�8���wG4T�
�O�os$'u҈ʶN�C*�
a0]�;�����]<��_�6�I��*V�T�G�id�F��gW�]�0��ؓk�٣L��zz�

+��Z�D�
跏����H�u���Ph�F�>[���6���yr��gr�>!LΙp�n�����*�`~J��[� >b�g�fG����6�7at�������P��Q=Q���ވ�
�j��rW����q�W�\~L�E��d�׷p,m�d��Hj�[-s��b4�?AF��̼�0�BM���|��<��(5{����")�'�J!��)�"^eU*z��Oޅ�
�ɛ���]�Y�N|
�����>�;2�)�1�te١s7��1�m���fg8
m���"�?��}+d!��1u1iZ.���D;���l�Ԉ1��Y��z���eT��iA����չ�:D�8/ϥ�<H�.1�¥@��+�?��UQ�w[;ۗ��Y��Rw�H^�X�m:�5iV��f����{ΐ)��
��'��Lj��2�5ZMH8�p�	Xΰ>E%�K�\�sHmC�����iڈ%Р
K��
��'(K�:݈J$��
+��|9U3�A#� O��l-���}�yk��]n��&��C��
$<p��4��>C�Н>kD
 ��u�����,<
H*��S�E��������/L�„/L�t&
&��<Wˀ�

 ��

+r
2�����$e at o��(u	r~�^n��P�X���p�T��&wC����`P�Kl��{�t�$���/���k�	�
�j�W�Cv	
���B�1}l(i/
+��ᛨ�3�`(I7
+x��B��
At����&=`(�mπ!9�T\
�][`��^](6� +B`��ê�BC"�?�`+HE�`���`+ q�%�*��h[�pť�7H�(�}?[�㍨�իԍP�W6�
û
V�I5�m2O�4l�xI<E(0!��j1�׮�G���#��$
���f��P�RKY�|�
��s�6>�
�z�'v���.���a��y/Y���?�UP�����L�
+�ӛgb�
k�p,Q�jL����M��N�y	���gq5���1r�
���iGz�]=�c������׎��Зp
��I�8���9�B�T�p�������@������;?�S�h�C@�?4�
+���Շ���R
���դ�g�Z3@ښ����������)ԓp=��:�z�T����ҙ"��c�"�9�����s9y��x�z�b=�c던s����瘏`гL���D7�
�-52D_�Wt�uثr;�P�?j��Y�&��]���.߅�$H�|�D�C9���^Ϙ������M�
+�;��D�`]M^��-�MK�bDHZ�PZ߱��0����W|�y�y���B�!�|CZ���o�㇇4ۡCn��P[�m4�O����,_(��gQ�̚�C��>�/�
+endstream
+endobj
+3205 0 obj <<
+/Type /Page
+/Contents 3206 0 R
+/Resources 3204 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3211 0 R
+/Annots [ 3203 0 R ]
+>> endobj
+3203 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3207 0 obj <<
+/D [3205 0 R /XYZ 90 757.935 null]
+>> endobj
+2968 0 obj <<
+/D [3205 0 R /XYZ 90 634.577 null]
+>> endobj
+3208 0 obj <<
+/D [3205 0 R /XYZ 90 620.169 null]
+>> endobj
+2969 0 obj <<
+/D [3205 0 R /XYZ 90 421.205 null]
+>> endobj
+3209 0 obj <<
+/D [3205 0 R /XYZ 90 406.797 null]
+>> endobj
+2970 0 obj <<
+/D [3205 0 R /XYZ 90 197.156 null]
+>> endobj
+3210 0 obj <<
+/D [3205 0 R /XYZ 90 182.748 null]
+>> endobj
+3204 0 obj <<
+/Font << /F70 205 0 R /F90 477 0 R /F56 171 0 R /F99 2097 0 R /F72 207 0 R /F79 237 0 R /F7 3201 0 R /F23 172 0 R /F8 900 0 R /F13 3202 0 R /F11 899 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3215 0 obj <<
+/Length 1925      
+/Filter /FlateDecode
+>>
+stream
+x��YɎ�D��)�	G�T��Z��F
b�hNC+r'��"��힦yz�Z��qw
���d����W6��Z|q��z-q�XP\�R�)	����P"ʗ+�1��~��8̏�-�D�y����rE9��j]v��N�=:�S$b<������ŗ׋�D��,�D��`sZ�����	0b�
+��SQ�c������j�a
�
+DD�Ty�$8L��A���1&t�:�S!
+I
+xbN
��08y����	�8��b�^�-
+o�<s�����-��L�d�./Oz�r�` ��sX�b�
�wI9+�BT�
u�;/�!ɶ�J�~�ݒr�V��
�L�k��{��29�h:ٙC�`L3�W
���J}L�4�
�Љ;�NV�9%E�Lņ�W��t��[2֠��ma��g�������
�+��a����K��ߋRW��t29-��l;��ycg:lu�����i��L��]Q�����^[�ET�J�f�k|�$�s�� �����x���r��
/W\]�mNy�I�P+/��`4BJI�p��l��ߥ�N���`
+[!�9&��#.� ��Q��Zj�>PPq�ь֯
�2�2
+
+=Ō(x���nZ?�1��'��~,F
+*t��PM�3A�&�O)�o"Hu~ykS_oo��A�C/���P�#�^2w�sr��ȈhX�^
�;E��=?A�D�uڸDr6��+$�9eN���)�qp��Gr�Л���2v\��
E��7��$��ɶ�H[�Y������Tr`P.�
��j9�Q�F��na�0W�rRF�EM�`���-����
-����W��<
�����������.�kF��|9`;
�|# �
��m�s��W�l�o�
z�0���G�9!
+�L�yX�)L$C
��
+���ٿ
#� �(��(����b�v,?8Α������k�@NJOC 5� R<
�n4F@�#N��ę|
+0�\����D(@�
P��
�M�
B �ߠM��>~m�\���9
"H�y, gGX�Pb�t

�W�/�`b� ���a�, ��v
�X
.�F��2( ɸM��������c��:Pk,��X �cƢK����H6z�MO:3�*w��}!Գ�>��
��T1�R�w�V�u=�yc�
�%�WoAO(37S����mc���=)3���<�M5VP�>��ҧ�U*�Hd�W�F
���u���}b�W&3�j%L�3Q]�|�2
֕n)�l�r�f{O3w;��~G

�����u�
ݹ�]���@A��+���+�xS�
�����̚&��@�u
\
�(Ʀ/���I'Yu��m�+4�Nk�s���n�BR���Rp�ހ��!�
�������r(
+E�AtV����S�p����(���W
H�:��8��,Ù�V��u���6D�����V�tBb	 �����~E��A����;>���HR1g���>N�*G� ��(PS}枦�dy�N�#��ZX�m����'��N�0�r���>�lF�0�_Vm���]��Yp�N�}�c  �>��.i�h��α�O�E�H8
D�@x^ Ո�'
�������^#1G[!%�X�9�8��Q-H��yf<��
��%�̹
P�U�hXÕ��'l�KXf�Duw�ݻ-m|va*��?^���4[���
An�␰c������A
f�.Afo��_�y��@Cy��M�޶�����#�Cpш�ao+�������/��dV
�2
l"S9���7��R�PL�S��ߢ���g	HMΣr{c,O�z�ߥ�eR>��+?�d�;w�m���B����J�/9}k�>���1��u��j��!w at 1`@�'��ws��4o�.l�uZQ�a���v��⓫���{���]�%J�+(�W砶w�Ku�v�O�S^z����7��ϼ�'���
+endstream
+endobj
+3214 0 obj <<
+/Type /Page
+/Contents 3215 0 R
+/Resources 3213 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3211 0 R
+/Annots [ 3212 0 R ]
+>> endobj
+3212 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3216 0 obj <<
+/D [3214 0 R /XYZ 90 757.935 null]
+>> endobj
+2971 0 obj <<
+/D [3214 0 R /XYZ 90 645.118 null]
+>> endobj
+3217 0 obj <<
+/D [3214 0 R /XYZ 90 631.439 null]
+>> endobj
+2972 0 obj <<
+/D [3214 0 R /XYZ 90 450.351 null]
+>> endobj
+3218 0 obj <<
+/D [3214 0 R /XYZ 90 436.673 null]
+>> endobj
+3022 0 obj <<
+/D [3214 0 R /XYZ 90 255.585 null]
+>> endobj
+3219 0 obj <<
+/D [3214 0 R /XYZ 90 241.907 null]
+>> endobj
+3023 0 obj <<
+/D [3214 0 R /XYZ 245.645 89.441 null]
+>> endobj
+3213 0 obj <<
+/Font << /F70 205 0 R /F90 477 0 R /F56 171 0 R /F99 2097 0 R /F72 207 0 R /F79 237 0 R /F8 900 0 R /F13 3202 0 R /F11 899 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3223 0 obj <<
+/Length 1361      
+/Filter /FlateDecode
+>>
+stream
+x��K��6����Ub�oR�5�&h�i�E����h[�-��
�߾CQo��It��H�����ǡ����n�f2�U�
P ��&s/���	J�I�=�
+Q1
���ݮ�����ai�tH��I�y������In�y83�����b�I�G�3�d�8y?�i2�g@@�H1�PH1��փ�G�E����
��/F�=N�+�~�� _�O�R4�E
�6�IR4)�I�~zwʤ�����Lb�0ߤ��C���}������	I�.�5r�7ʘ�Hc�
a�0fnT��O0�
��._�A
#G�j��F��@�j�j:�$Y~���ӝ�i4zى�C��F� 凂� �4�ՠ�Ԭ��D�n��m�Ԏ
�ي����U�
G�(?tEb�T�{׸sŶ\�M���t�v�|i\%+]d뛹+�RT�і
��I:��@��jH�D��4�MW�:W���&�i+MZ
\s��HvBX�a���7[����eE��NY����B�9
+�6��	VHü#蕴��,�q�
���ǫ��������F^��mk
D��$Y\�	:��Y%���Hm�ۃ2��D�>�a�%�@��$p �
f+s
+��7�@1P\�o��,
���0x
�-��o��9R�x��� ,��R�hBw��D �S3Ⴣ�ĞC��>諀`���
n�^�?�H��w+"��WD�����!�
}��`�t� �0�&�DŽ:G8��s{�y\�ᯡ~��HJl
u?НK#U춠q�d�ÀQ�Kfyac�_o��65e�;���B��>��+�i�M�"��t8��֚�>�(�"�e5f�u�(L����4����5̲�z[)��,,Mx2U<2س���0*=Y�0�3W�l#$\��IBCT)�?PK����
@KU���5x��3���q-��aq���+.��N���fE�c��L��"��V�k��8 ck:3����
+��X~�Ό�.�Y��պeCgV�k-q�|��CR���k�$_c

}
W26TD �&"h	���36
�"_l��̋[�F��խ��}�
NA���z�G��'O]�
 $x/E�@qr�]g���(�%P��,���B�	���M~O��󄍷	��Y�Bط�
M[�xρY
+~�

2�Dx��3̥p�j*_�%��(����>ٰK���HLB"T]K�x���9ϳ�P�$���ndC������g�6.~�\�
b��],$D���т%L�a�,ðl�?�azp���Y�,v�´�	��B矙I
+���[��’�6�?�)M���&�6��=|�oL�������ˠX��*�9"��e�o_����
�2�K�m��|
�?>�f�A��Xu)2�ZoRS��p
Z
y�_7 at I�
+endstream
+endobj
+3222 0 obj <<
+/Type /Page
+/Contents 3223 0 R
+/Resources 3221 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3211 0 R
+/Annots [ 3220 0 R ]
+>> endobj
+3220 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3224 0 obj <<
+/D [3222 0 R /XYZ 90 757.935 null]
+>> endobj
+3225 0 obj <<
+/D [3222 0 R /XYZ 90 733.028 null]
+>> endobj
+3024 0 obj <<
+/D [3222 0 R /XYZ 332.797 639.557 null]
+>> endobj
+3226 0 obj <<
+/D [3222 0 R /XYZ 90 623.523 null]
+>> endobj
+3086 0 obj <<
+/D [3222 0 R /XYZ 90 464.62 null]
+>> endobj
+3227 0 obj <<
+/D [3222 0 R /XYZ 90 450.743 null]
+>> endobj
+3087 0 obj <<
+/D [3222 0 R /XYZ 332.797 349.71 null]
+>> endobj
+3228 0 obj <<
+/D [3222 0 R /XYZ 90 333.675 null]
+>> endobj
+3088 0 obj <<
+/D [3222 0 R /XYZ 90 174.773 null]
+>> endobj
+3229 0 obj <<
+/D [3222 0 R /XYZ 90 160.895 null]
+>> endobj
+3221 0 obj <<
+/Font << /F70 205 0 R /F23 172 0 R /F90 477 0 R /F99 2097 0 R /F56 171 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3233 0 obj <<
+/Length 2253      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��6~����*�H��}JNm����df�<̙ra�mj1�L~}�%q
Ɠl�˾!�����n�:'�:�|����NP'&q���щ�#BF�ǜ��yt��v�(�n]�O[��U�r��ڲȭ�}���;�S����꘤Ҽ�$�R�b�����>=�������
��4K.��^6�O��`��?����uqχg��o~�P+>}S�(&���B�����yr7��[��I
�S������YD��
�)������|�s�]��yU�s/U��ԓv�=K�p��TI[)3߼4���%��A�df��Ҁ�D/`��Қ���`���<a����P
0h;U~
/�s��pM���Խ䞛&V��D���
}"Dz�Q�K����𙷍<o=�h�Ibş
��������#�G�;���O�e
�bϽ��ރ��	�ľ��r����w�g<��шĔ����_��J�x�Գ�"�&G�/�\�3�A�I�<���p��ȃ�a4����uQc2�o+�(�|O���y����.�o���d�Ǹ;I�؊�����By֞Wز��@
�_��pW��؟i���:�$`�\�A��dm���e�h�[11D**��U��$<�]���z�2�J�W8��%$��j��O|1DZZ�Mkt�,�'^�޳���*G��k���R���z�(욘

�tO�U��h#�+1� f^S
�bT�R�}ٷg%�sUdk�ᘢAN��ׄ�"
���Y��g]R/+�E
`�F��R��F��A�G%�����
+6�Ш>8 ����h�A c��V+��$���!+�!:
�A#>��-Bi�������#���QU�v��`R��A���B�֐ʾ���r<c���N=���I�e�]�$��A����5���]�H<0
LS�H�E��X
�(	 !"�ϝb�]�O�r�)G�l��5� ��<�Od���*@	���ƶ���А��"��if��d@
+�
ԉ����ެ)8�c`>�mR��
��礵ְV�(�c�.2���<�,|��2U�
1������P�����<�pytI�y���5eFn
+l�N.o��Ҿ�����]�o�k.�uU��\�"Q*Y+ژe+�+��Z,/��†,��
+���zӈ�A�WV����yDž��]{S��Ҭ݆5�
����Eh����/�^����ă�2S��-�#�׺+(P&�����R�Ϫ[FУ�� F}L���W\��`��cJѻ��ٚ��h
���Go���}
����<�ypO��45ϸshXl �*4�
�����@9�NG�z���8�9�p�Μk`��+3m�R��YK�B�L�� ��窑f� Bb�
@H�=�}�-�l�m����V�V3��G�pa�ߙ������+�/
Ƥ�
k�yQFⱩ�g��b�
}d-ˬ1�2!-l����PH�TV��*�^���s�V���L�
h����'4�
�ɲ�p�����糴��U�C��P�U�h}�̱�`t,kf�ԭ�/xю	���շ2�|���H�fB�Ϣ�jjf��R���%�ҿ�:�h
�Q�V���x)���yz�!w�r�,��x�R���$�<���}��v���?w���0@�\��4v6]��8�Ѕ;:�	e�4x531�q�23�(Y��o׷*�.����kst�g�̺f��ǃ�ʞ�E�3S�5����
or�
ސh}a%yEE��։ƺ��gkn�h�e6�A0���K���$�i>�
+�n���4a�/4]њ�����ɩ�r��d�pp17�K=��9�{�i�����U�;e
H���Z�|3�z$
���K�����
���
�Y���F|X9��fE�o�����t����
o��V?�,C�o�p��h�(����[V�������U*�'p�
K�ޭpb��`l��Y;�=6��
(��J+�ނW�M�>0�,t�Ũ5���
��:X仾�t���OJ&m_�#2ĸHsY�h�ym7������
�o@��d�����
�H,�׬J�˼z=V}]zΛ�dUG
�}�c�߮����շsy�UQ��p�lQ�B~����B�X7ؼw�/���
w�R��~&ɪ_fۖ���[�{�(�
����B�4�o�p
,l�	*Q�ľڮܾ�=?�D�s�h�r�IN���Y�ߍT�r�Z�#)����ƩE�f84J3g��н��F��8��o
w�V^�t9�m����z���!]�׊��]]w�cq��X@���
�4`\3�v3�<�� ����
+endstream
+endobj
+3232 0 obj <<
+/Type /Page
+/Contents 3233 0 R
+/Resources 3231 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3211 0 R
+/Annots [ 3230 0 R ]
+>> endobj
+3230 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3234 0 obj <<
+/D [3232 0 R /XYZ 90 757.935 null]
+>> endobj
+3089 0 obj <<
+/D [3232 0 R /XYZ 90 684.191 null]
+>> endobj
+3235 0 obj <<
+/D [3232 0 R /XYZ 90 669.621 null]
+>> endobj
+3231 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F72 207 0 R /F90 477 0 R /F23 172 0 R /F99 2097 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3306 0 obj <<
+/Length 1075      
+/Filter /FlateDecode
+>>
+stream
+xڽX]��8}�_�#T���#��f�
qz�f�RL�v�rъ8���~�
[���O"�sO�WN�*-$Urԣ�G��a�S%����K�U�RO�uM�}�K_d/�������?}[�4�l��P���vM�.���n����m� �7/�}U4U�_�o;4fV�
�?@�A��������Zw��
+�Q����5��U��x����
+k�`:��"��}�-C;��#Y�HvK@���m�Ԃ��a!�x���`�'��L1U��E�j9�}
ޅ�Q4M����+
���B؈H�
�
�����(�a���<a
hTZ�]�  p�jE�� �f�~� ���4d
/��i�^ ��%[�~�����;Ւ?�`z�[�����,P��@gX���
U\��VVV��
+c���*�%?co2
��{�օ>�#0f�� �:Ө9n乌�YW�L}0m��,(`���z��$���W[����!E���)}Ufz���+B�RUc����6Z's�19_B��)ِ�I�d��QC�=�+�gߚ�tol�J7��4��h�S��.I	��m
+|L٥��
+t�C����-�I�uI�j���~ݦ/<�8ke���1s{�..,�Λ��/����tEO/��@=�n�
O����.�7 B���Տ�	�@�^���� N��[��-|T�
�
dtg5:�E[�Aࢧ۸�]ܛ@�3��1��I[,����?%]��f_�������2�� |��!b��M�4
���p���!;�(���a�?*%�i��
�
�t��e�F^�f6#ox��ez���b��jN�nH�����%�"H���Y��|�G�V]+���j]��K�쬆��`GO�e�p4�,�X�7�p%��
��rQR�
j��'��)^r/�F��t����o<�+�/F�BO�s�p��'_iLٵ������|�azo�˝R�c�W<��t���q=܇@	��}P[W�<��Q���}A��-�l�Pn����Aۼ���ʹjs?�2��O
�A�oiS�|U�&�/c>�l
�F3�����X5F���p��t�V,�\���ߊE���$�/i�w�
�

�q
+endstream
+endobj
+3305 0 obj <<
+/Type /Page
+/Contents 3306 0 R
+/Resources 3304 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3211 0 R
+/Annots [ 3236 0 R 3237 0 R 3238 0 R 3239 0 R 3240 0 R 3241 0 R 3242 0 R 3243 0 R 3244 0 R 3245 0 R 3246 0 R 3247 0 R 3248 0 R 3249 0 R 3250 0 R 3251 0 R 3252 0 R 3253 0 R 3254 0 R 3255 0 R 3256 0 R 3257 0 R 3258 0 R 3259 0 R 3260 0 R 3261 0 R 3262 0 R 3263 0 R 3264 0 R 3265 0 R 3266 0 R 3267 0 R 3268 0 R 3269 0 R 3270 0 R 3271 0 R 3272 0 R 3273 0 R 3274 0 R 3275 0 R 3276 0 R 3277 0 R 3278 0 R 3279 0 R 3280 0 R 3281 0 R 3282 0 R 3283 0 R 3284 0 R 3285 0 R 3286 0 R 3287 0 R 3288 0 R 3289  [...]
+>> endobj
+3236 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.191 683.853 192.146 694.757]
+/Subtype /Link
+/A << /S /GoTo /D (page.18) >>
+>> endobj
+3237 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.571 650.698 189.526 660.884]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3238 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.59 638.742 184.545 648.929]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3239 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.59 626.787 184.545 636.974]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3240 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.59 614.832 184.545 625.019]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3241 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.609 602.877 179.564 613.064]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3242 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.274 590.578 279.23 601.108]
+/Subtype /Link
+/A << /S /GoTo /D (page.30) >>
+>> endobj
+3243 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.91 566.668 197.865 577.198]
+/Subtype /Link
+/A << /S /GoTo /D (page.30) >>
+>> endobj
+3244 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.502 543.101 173.457 553.288]
+/Subtype /Link
+/A << /S /GoTo /D (page.30) >>
+>> endobj
+3245 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.091 518.847 179.046 529.377]
+/Subtype /Link
+/A << /S /GoTo /D (page.30) >>
+>> endobj
+3246 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 496.62 140.809 505.467]
+/Subtype /Link
+/A << /S /GoTo /D (page.30) >>
+>> endobj
+3247 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.165 471.37 175.121 481.557]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3248 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.649 459.415 264.605 469.602]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3249 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.294 447.46 271.25 457.646]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3250 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.95 435.505 261.905 445.691]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3251 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.979 423.549 293.934 433.736]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3252 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.252 399.639 205.208 409.826]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3253 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 377.069 140.809 385.915]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3254 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.655 363.774 265.61 373.96]
+/Subtype /Link
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3255 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.53 351.818 264.485 362.005]
+/Subtype /Link
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3256 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.855 339.863 241.81 350.05]
+/Subtype /Link
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3257 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.156 327.908 268.111 338.095]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3258 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.966 315.953 198.921 326.14]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3259 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 293.383 140.809 302.229]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3260 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.601 267.415 205.556 278.319]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3261 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.909 255.46 293.865 266.364]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3262 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.913 243.505 236.868 254.409]
+/Subtype /Link
+/A << /S /GoTo /D (page.30) >>
+>> endobj
+3263 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.23 231.549 235.185 242.453]
+/Subtype /Link
+/A << /S /GoTo /D (page.30) >>
+>> endobj
+3264 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [246.472 219.594 258.428 230.498]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3265 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.965 207.639 278.92 218.543]
+/Subtype /Link
+/A << /S /GoTo /D (page.30) >>
+>> endobj
+3266 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.947 195.684 203.902 206.588]
+/Subtype /Link
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3267 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.963 162.528 268.918 172.715]
+/Subtype /Link
+/A << /S /GoTo /D (page.22) >>
+>> endobj
+3268 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.599 150.573 264.555 160.76]
+/Subtype /Link
+/A << /S /GoTo /D (page.22) >>
+>> endobj
+3269 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.108 138.618 273.063 148.805]
+/Subtype /Link
+/A << /S /GoTo /D (page.22) >>
+>> endobj
+3270 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [275.434 126.663 287.389 136.849]
+/Subtype /Link
+/A << /S /GoTo /D (page.22) >>
+>> endobj
+3271 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.494 114.708 263.449 124.894]
+/Subtype /Link
+/A << /S /GoTo /D (page.22) >>
+>> endobj
+3272 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.089 102.752 254.044 112.939]
+/Subtype /Link
+/A << /S /GoTo /D (page.22) >>
+>> endobj
+3273 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.207 90.797 273.162 100.984]
+/Subtype /Link
+/A << /S /GoTo /D (page.22) >>
+>> endobj
+3274 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [493.439 684.571 505.395 694.757]
+/Subtype /Link
+/A << /S /GoTo /D (page.22) >>
+>> endobj
+3275 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [405.659 660.66 417.614 670.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.22) >>
+>> endobj
+3276 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [419.666 648.705 431.622 658.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.22) >>
+>> endobj
+3277 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [457.684 636.75 469.639 646.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.22) >>
+>> endobj
+3278 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [418.371 624.078 430.326 634.981]
+/Subtype /Link
+/A << /S /GoTo /D (page.22) >>
+>> endobj
+3279 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [418.371 612.122 430.326 623.026]
+/Subtype /Link
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+3280 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.059 600.167 383.014 611.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.21) >>
+>> endobj
+3281 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.547 578.249 359.502 589.153]
+/Subtype /Link
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+3282 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.435 544.376 389.39 555.28]
+/Subtype /Link
+/A << /S /GoTo /D (page.19) >>
+>> endobj
+3283 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.974 532.421 394.929 543.325]
+/Subtype /Link
+/A << /S /GoTo /D (page.19) >>
+>> endobj
+3284 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [456.02 520.466 467.975 531.37]
+/Subtype /Link
+/A << /S /GoTo /D (page.20) >>
+>> endobj
+3285 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [442.181 508.511 454.136 519.415]
+/Subtype /Link
+/A << /S /GoTo /D (page.20) >>
+>> endobj
+3286 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.874 496.556 450.829 507.46]
+/Subtype /Link
+/A << /S /GoTo /D (page.19) >>
+>> endobj
+3287 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.675 474.638 394.63 485.542]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+3288 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [460.721 462.683 472.676 473.587]
+/Subtype /Link
+/A << /S /GoTo /D (page.19) >>
+>> endobj
+3289 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.413 429.527 363.368 439.714]
+/Subtype /Link
+/A << /S /GoTo /D (page.22) >>
+>> endobj
+3290 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.232 404.899 382.187 415.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3291 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.232 380.989 382.187 391.893]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3292 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.232 357.079 382.187 367.983]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3293 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.232 333.168 382.187 344.072]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3294 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.232 309.258 382.187 320.162]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3295 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.232 285.348 382.187 296.252]
+/Subtype /Link
+/A << /S /GoTo /D (page.30) >>
+>> endobj
+3296 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.232 249.482 382.187 260.386]
+/Subtype /Link
+/A << /S /GoTo /D (page.30) >>
+>> endobj
+3297 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.232 225.572 382.187 236.476]
+/Subtype /Link
+/A << /S /GoTo /D (page.30) >>
+>> endobj
+3298 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.232 201.662 382.187 212.566]
+/Subtype /Link
+/A << /S /GoTo /D (page.30) >>
+>> endobj
+3299 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.232 177.751 382.187 188.655]
+/Subtype /Link
+/A << /S /GoTo /D (page.30) >>
+>> endobj
+3300 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.413 154.558 363.368 164.745]
+/Subtype /Link
+/A << /S /GoTo /D (page.22) >>
+>> endobj
+3301 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.413 130.648 363.368 140.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.22) >>
+>> endobj
+3302 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.413 106.738 363.368 116.924]
+/Subtype /Link
+/A << /S /GoTo /D (page.22) >>
+>> endobj
+3307 0 obj <<
+/D [3305 0 R /XYZ 90 757.935 null]
+>> endobj
+3308 0 obj <<
+/D [3305 0 R /XYZ 90 696.969 null]
+>> endobj
+3304 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3372 0 obj <<
+/Length 1302      
+/Filter /FlateDecode
+>>
+stream
+x��Y�w�8~���m�-M�D�7���q�9�99TSˮ�q
����éZ�hՙ'%�w��ݛ{����ʍ_����P
�a��
 �0T�% =ʖ�2����
+u�5�^vè��ӯ|�@>$���jjMGR\y�
+�� U7��<{j,U5����n��
+X%��
+�
I5���(7j2�?3ùE6,L{w��JC@ִ�~�,]�
�
+B�@�붉�yJȎG�Ν�|�����֙�;=�8��cv�m���g$�����k6}���D��mGё|o����ܰ[齆�"W�P�n�yh��o9v�Dn���i�^C�ʾ�)s��k�f���<���e�o�+doI�,&tZBG��Ӷlsg/�b���������la����}T\���ktL��~N��A�Ÿ�dz�����:ݮu�>A��cI�x۽�y�:3��ý�p��Ӡk�q�F�N�m�
󒥣�,�"�oEq��i�_�ag�=;��2�N&#�`I� �#^s ��iB��o3�)���4���C�t�Č$��Д[��B����V�[���(�l�Ο��G�4����J݌鳢!9w�F��'�RO�q4dy���iB�E��
+>Š lm;,�
++�g�М&,��NJQGX����
+��8�fcrϢ
+Jh:��|�J
ȼ��{:DOI=Nss~��.�ΣF�|�	�������
����u]�Z���io
+��+I|�wȷ�1K.�g �1�
h���$�6||����
���|!��`�@�>S��
��ݞ[Q�������WW�����\�1"��@�+oX�?JP���l��r'8Z S+�
y�����0&�ӆ�0xQϒ�,!ϳ��6
��d:q6sL/�a4|1���0�#援QN3��cY�p�X.qY�u�>U9�z4
���?�k��������{��$mB���$	�|��dK/Fh�4
���2� " �QIE�H�����e�
�;���D8�
�BeJ�I���h�B���g��Gv���a�›�x2�֦?�d���
�
�
+jyn��������E��G����Vo�T>!;,�nsyp:rx�t�}��=Zf�
O�}��؟���L�
��\��?Mn
$�j���9����FM����[�b��P%���7��‹�
>��-�f1D�Y0,�O���Y�@��PoJ�
+B�4���,��� ����)*��T�+�u)-����WZ���
�k+^iժ
+��<�I��_����\�O�YN�&�<P�k�nhaU��s�rZ�
�
g_D��(�ۗ2
+endstream
+endobj
+3371 0 obj <<
+/Type /Page
+/Contents 3372 0 R
+/Resources 3370 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3211 0 R
+/Annots [ 3303 0 R 3309 0 R 3310 0 R 3311 0 R 3312 0 R 3313 0 R 3314 0 R 3315 0 R 3316 0 R 3317 0 R 3318 0 R 3319 0 R 3320 0 R 3321 0 R 3322 0 R 3323 0 R 3324 0 R 3325 0 R 3326 0 R 3327 0 R 3328 0 R 3329 0 R 3330 0 R 3331 0 R 3332 0 R 3333 0 R 3334 0 R 3335 0 R 3336 0 R 3337 0 R 3338 0 R 3339 0 R 3340 0 R 3341 0 R 3342 0 R 3343 0 R 3344 0 R 3345 0 R 3346 0 R 3347 0 R 3348 0 R 3349 0 R 3350 0 R 3351 0 R 3352 0 R 3353 0 R 3354 0 R 3355 0 R 3356 0 R 3357 0 R 3358 0 R 3359 0 R 3360 0 R 3361  [...]
+>> endobj
+3303 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.931 720.63 146.887 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.22) >>
+>> endobj
+3309 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.931 696.719 146.887 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.22) >>
+>> endobj
+3310 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.931 672.809 146.887 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.22) >>
+>> endobj
+3311 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.931 648.899 146.887 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.22) >>
+>> endobj
+3312 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.931 613.033 146.887 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.22) >>
+>> endobj
+3313 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.75 588.405 165.706 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3314 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.75 564.495 165.706 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3315 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.75 540.585 165.706 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3316 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.75 516.674 165.706 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3317 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.75 492.764 165.706 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3318 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.75 468.854 165.706 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3319 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.75 444.943 165.706 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3320 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.75 421.033 165.706 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3321 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.75 397.123 165.706 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3322 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.75 373.212 165.706 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3323 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.75 349.302 165.706 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3324 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.931 326.109 146.887 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.22) >>
+>> endobj
+3325 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.931 302.199 146.887 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.22) >>
+>> endobj
+3326 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.75 277.571 165.706 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3327 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.763 253.661 191.718 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3328 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.048 241.706 222.004 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3329 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.346 218.512 156.301 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.21) >>
+>> endobj
+3330 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.878 205.84 184.834 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.34) >>
+>> endobj
+3331 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [271.079 193.885 283.034 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.36) >>
+>> endobj
+3332 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.314 181.93 223.269 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.37) >>
+>> endobj
+3333 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.993 169.975 188.948 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.39) >>
+>> endobj
+3334 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.454 158.019 276.409 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.40) >>
+>> endobj
+3335 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.689 146.064 216.644 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.41) >>
+>> endobj
+3336 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.368 134.109 182.323 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (page.43) >>
+>> endobj
+3337 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.75 110.199 165.706 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3338 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.75 86.288 165.706 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3339 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.232 707.957 382.187 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3340 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.232 684.047 382.187 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.30) >>
+>> endobj
+3341 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.413 660.854 363.368 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.22) >>
+>> endobj
+3342 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.232 636.226 382.187 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.30) >>
+>> endobj
+3343 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.232 612.316 382.187 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+3344 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.229 589.123 356.185 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.19) >>
+>> endobj
+3345 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [479.251 576.45 491.207 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.45) >>
+>> endobj
+3346 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [419.486 564.495 431.442 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.46) >>
+>> endobj
+3347 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [385.166 552.54 397.121 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.47) >>
+>> endobj
+3348 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 540.585 513.996 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.49) >>
+>> endobj
+3349 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [442.729 528.63 454.684 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.50) >>
+>> endobj
+3350 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [408.408 516.674 420.363 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.52) >>
+>> endobj
+3351 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.229 493.481 356.185 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.19) >>
+>> endobj
+3352 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.232 468.854 382.187 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.30) >>
+>> endobj
+3353 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.232 444.943 382.187 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3354 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [420.592 432.988 432.548 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.53) >>
+>> endobj
+3355 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.718 409.078 433.673 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.60) >>
+>> endobj
+3356 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.718 385.168 433.673 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.60) >>
+>> endobj
+3357 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.718 361.257 433.673 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.59) >>
+>> endobj
+3358 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [401.793 349.302 413.748 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.56) >>
+>> endobj
+3359 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.522 326.109 395.477 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.60) >>
+>> endobj
+3360 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [466.301 313.437 478.256 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.60) >>
+>> endobj
+3361 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.426 301.481 442.381 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.59) >>
+>> endobj
+3362 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 265.616 423.153 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+3363 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 229.75 423.153 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+3364 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 205.84 423.153 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+3365 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 181.93 423.153 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.90) >>
+>> endobj
+3366 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 146.064 423.153 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.85) >>
+>> endobj
+3367 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 110.199 423.153 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+3369 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3373 0 obj <<
+/D [3371 0 R /XYZ 90 757.935 null]
+>> endobj
+3370 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3427 0 obj <<
+/Length 1100      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��8~�W�mi����m��i����J+M+Ā���VC�����
d� C23��|�;�����
+ p%�������P�2�%�P)�D�`a������w���-ރV RT�]:���Wz���KXt"�ӏ�
+U� ˓�!`��� AE��6��f�"�.��>I����ĻL�*
��dJ��5恻[3����?S�z��q|����D&h�)�x�Lp&u�1�IA���2m�7E��YcLF;�e��7���E��eA��(f^:�)��u�����onJ,y�M� O31['^V�.K���Ļ-�����o�o�K:A�
=����q�
^&���I_=ۅ�9���bz�S�ȂW8���&hA���x�,'r�ܛ�f-�ӣن*�
+�s
ܻ�3L�6��1h;
�M�a�v̻g�	:
+Z at n[P�b�������H�|�T �H�����/�(��H�
�Ƀ�G1�P&�,�-=�Q8���!}s���0�W,6B��
��c?�$e��
������Av���ԇ�5]
�*D{0��BF��ֆ��3j j`$̚i�a<i�����ʆ���y!�gK��S5��zj38�-X��R< -`i%X�Oa;�D��2���}�#��\�$�9������X"��V�Fw�������4֋!Z?�/�T��b���������A�U�bhozj�U��#K�s�AI��*�<�$	�ۿ�o����>hD�o�^��~�6 ���mv�2����>3
�\�g&��'�lhHZwH��Ʒ���J���u��^e���t�Bπphw8�dsErl�EzA����:2�z����
�vx
gzE~VLg��3�G����O��f��a���
��}��?�j���fz�z8@
y*�á�@�͜���:��7���b����R��m��y|�L5�c����j�B]U�����b�?� /�l���'0M�y37%o~t��wY�M�g��M���ֵ/vl�1F#�^��/��	EY�_��:{����$yz�v"���p<Q��[�rJ2�����ͽ\�J�� &��~~
��_��v��V7�r��S��i��#n0�A!6�����[����K�	/���)
+endstream
+endobj
+3426 0 obj <<
+/Type /Page
+/Contents 3427 0 R
+/Resources 3425 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3429 0 R
+/Annots [ 3368 0 R 3374 0 R 3375 0 R 3376 0 R 3377 0 R 3378 0 R 3379 0 R 3380 0 R 3381 0 R 3382 0 R 3383 0 R 3384 0 R 3385 0 R 3386 0 R 3387 0 R 3388 0 R 3389 0 R 3390 0 R 3391 0 R 3392 0 R 3393 0 R 3394 0 R 3395 0 R 3396 0 R 3397 0 R 3398 0 R 3399 0 R 3400 0 R 3401 0 R 3402 0 R 3403 0 R 3404 0 R 3405 0 R 3406 0 R 3407 0 R 3408 0 R 3409 0 R 3410 0 R 3411 0 R 3412 0 R 3413 0 R 3414 0 R 3415 0 R 3416 0 R 3417 0 R 3418 0 R 3419 0 R 3420 0 R 3421 0 R 3422 0 R 3424 0 R ]
+>> endobj
+3368 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 719.912 206.672 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+3374 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 684.047 206.672 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.90) >>
+>> endobj
+3375 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 648.181 206.672 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.85) >>
+>> endobj
+3376 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 612.316 206.672 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.84) >>
+>> endobj
+3377 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 576.45 206.672 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.84) >>
+>> endobj
+3378 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 540.585 206.672 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.90) >>
+>> endobj
+3379 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 504.719 206.672 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.84) >>
+>> endobj
+3380 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 468.854 206.672 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.84) >>
+>> endobj
+3381 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 432.988 206.672 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.84) >>
+>> endobj
+3382 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 397.123 206.672 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.91) >>
+>> endobj
+3383 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.208 385.168 222.163 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.60) >>
+>> endobj
+3384 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.919 349.302 213.875 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.65) >>
+>> endobj
+3385 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.919 325.392 213.875 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.65) >>
+>> endobj
+3386 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.919 301.481 213.875 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.65) >>
+>> endobj
+3387 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.994 289.526 193.949 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.61) >>
+>> endobj
+3388 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.763 266.333 191.718 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.65) >>
+>> endobj
+3389 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.627 253.661 222.582 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.65) >>
+>> endobj
+3390 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.367 241.706 270.322 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.65) >>
+>> endobj
+3391 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.49 217.795 240.445 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+3392 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.564 205.84 220.52 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.65) >>
+>> endobj
+3393 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.041 182.647 170.996 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+3394 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.694 169.975 204.649 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+3395 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.775 122.154 217.73 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+3396 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.763 98.244 191.718 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+3397 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [456.537 708.674 468.492 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+3398 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.244 660.136 408.199 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.71) >>
+>> endobj
+3399 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.491 636.226 374.446 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+3400 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.525 613.033 442.48 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.71) >>
+>> endobj
+3401 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [501.17 588.405 513.125 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.72) >>
+>> endobj
+3402 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.244 576.45 493.199 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.71) >>
+>> endobj
+3403 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 554.597 357.291 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.72) >>
+>> endobj
+3404 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 528.63 423.153 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.87) >>
+>> endobj
+3405 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 504.719 423.153 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.87) >>
+>> endobj
+3406 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 480.809 423.153 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.91) >>
+>> endobj
+3407 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 456.899 423.153 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.87) >>
+>> endobj
+3408 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 432.988 423.153 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.88) >>
+>> endobj
+3409 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 409.078 423.153 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.88) >>
+>> endobj
+3410 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 385.168 423.153 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.88) >>
+>> endobj
+3411 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 361.257 423.153 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.86) >>
+>> endobj
+3412 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 337.347 423.153 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.88) >>
+>> endobj
+3413 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 313.437 423.153 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.89) >>
+>> endobj
+3414 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 289.526 423.153 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.89) >>
+>> endobj
+3415 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 253.661 423.153 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.89) >>
+>> endobj
+3416 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 229.75 423.153 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.90) >>
+>> endobj
+3417 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 205.84 423.153 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.86) >>
+>> endobj
+3418 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 181.93 423.153 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.86) >>
+>> endobj
+3419 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 158.019 423.153 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.85) >>
+>> endobj
+3420 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 134.109 423.153 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (page.85) >>
+>> endobj
+3421 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.273 122.154 403.228 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.72) >>
+>> endobj
+3422 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [468.612 98.244 480.568 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+3424 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3428 0 obj <<
+/D [3426 0 R /XYZ 90 757.935 null]
+>> endobj
+3425 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3480 0 obj <<
+/Length 1030      
+/Filter /FlateDecode
+>>
+stream
+x��Y]s�8}�W�m�
�������t�ٴ�vv&�0
+�XS���뺿���;�?2y2���ܣ{�(@]kN��[#Gw,�B�r0�-�S����
7�o��~��Ccb�ش���ce���T��Ĉ�S[�M��H{������Mg�V�]&���^���:jՈ
�E��-@�8t%t�r/ݻE��s_-�;S�Ƚ\�@-��{�S&Y
]�;�
q�NR
���/X�����ZC�Y^/�A�
�:�$�bB����5�\�t�vq�zpq��\no/[�ݽ���Q
�!���"]w)E�a���ᬽ��?5��@���
e����Z�E�i��F��ܫ1�.v�I���y�<Y�2�k��䱗sRC��N�#�:S�z)V't�u"V}
F���F��~�����4��;�O^�!�J�
�T�&=5��S\Ǚe����!�+"��N�
>V|/�I���R��O��
�9�����
��daR際����B���2�C��p��j޹Ɯ��6R:,��d��6+n��t�X�&1��狈�D@��_�
 �E�.��z���
y����,����� ���M�_��@��Y�1WE�sY��@
�V
+��W��^��
ַt
+�X��[�xO��Ed�ɔ='ڸnO +y�p��޻*�#d�H�F�.�x�
[�S��)W��Txn
++v�LѧC��{�H컙�Hp�`�7g��j����5{�
+��5��LOd���r
-�x�iwS���q�� >a��;s�����7��6j�iHp�%�
�i�o@<b?�Bs'l[ =͍[�>T�|F��
+���G&���7���l��mp���s�+x��z›�����*wCg���nMr
{~b�>�[�c���?u�E��i:�2wًS+OK���{�Z�"�cLK��g7�<<�
X1�o��oCJIq�7��RP
���Aֳ�uB�ч&�缔���WT
���sa�fe��:�N���<M�?F��j�{���"V�HG��ц�[�2�!l�cA+�>Y
		�Q^���@������
+endstream
+endobj
+3479 0 obj <<
+/Type /Page
+/Contents 3480 0 R
+/Resources 3478 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3429 0 R
+/Annots [ 3423 0 R 3430 0 R 3431 0 R 3432 0 R 3433 0 R 3434 0 R 3435 0 R 3436 0 R 3437 0 R 3438 0 R 3439 0 R 3440 0 R 3441 0 R 3442 0 R 3443 0 R 3444 0 R 3445 0 R 3446 0 R 3447 0 R 3448 0 R 3449 0 R 3450 0 R 3451 0 R 3452 0 R 3453 0 R 3454 0 R 3455 0 R 3456 0 R 3457 0 R 3458 0 R 3459 0 R 3460 0 R 3461 0 R 3462 0 R 3463 0 R 3464 0 R 3465 0 R 3466 0 R 3467 0 R 3468 0 R 3469 0 R 3470 0 R 3471 0 R 3472 0 R 3473 0 R 3474 0 R 3475 0 R 3476 0 R 3477 0 R ]
+>> endobj
+3423 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.175 707.957 175.13 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+3430 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.175 684.047 175.13 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+3431 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.175 660.136 175.13 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.90) >>
+>> endobj
+3432 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.131 636.226 264.086 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.85) >>
+>> endobj
+3433 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.296 612.316 228.251 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+3434 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.175 588.405 175.13 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+3435 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.175 564.495 175.13 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.90) >>
+>> endobj
+3436 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.131 540.585 264.086 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.85) >>
+>> endobj
+3437 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.296 516.674 228.251 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.84) >>
+>> endobj
+3438 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.67 492.764 221.625 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.84) >>
+>> endobj
+3439 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.987 468.854 219.942 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.90) >>
+>> endobj
+3440 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.131 444.943 264.086 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.84) >>
+>> endobj
+3441 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.296 421.033 228.251 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.84) >>
+>> endobj
+3442 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.67 397.123 221.625 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.84) >>
+>> endobj
+3443 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.987 373.212 219.942 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.91) >>
+>> endobj
+3444 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 351.359 140.809 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.87) >>
+>> endobj
+3445 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.652 337.347 295.608 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.87) >>
+>> endobj
+3446 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.979 325.392 293.934 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.91) >>
+>> endobj
+3447 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.308 313.437 246.263 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.87) >>
+>> endobj
+3448 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.03 301.481 258.985 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.88) >>
+>> endobj
+3449 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.6 289.526 285.556 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.88) >>
+>> endobj
+3450 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 267.673 140.809 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.88) >>
+>> endobj
+3451 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.916 253.661 270.871 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.86) >>
+>> endobj
+3452 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.206 241.706 297.162 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.88) >>
+>> endobj
+3453 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.617 218.512 174.572 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.89) >>
+>> endobj
+3454 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 195.823 140.809 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.89) >>
+>> endobj
+3455 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.669 169.975 216.624 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.89) >>
+>> endobj
+3456 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.177 158.019 289.132 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.90) >>
+>> endobj
+3457 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [269.994 146.064 281.949 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.86) >>
+>> endobj
+3458 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.34 134.109 280.295 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (page.86) >>
+>> endobj
+3459 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.168 122.154 294.123 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.85) >>
+>> endobj
+3460 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.484 110.199 292.439 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (page.85) >>
+>> endobj
+3461 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.003 98.244 276.958 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.87) >>
+>> endobj
+3462 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.713 86.288 175.668 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.91) >>
+>> endobj
+3463 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 707.957 423.153 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.87) >>
+>> endobj
+3464 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.229 684.764 356.185 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.20) >>
+>> endobj
+3465 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.806 660.854 375.761 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+3466 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.413 636.943 363.368 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+3467 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.229 613.033 356.185 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.20) >>
+>> endobj
+3468 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.229 589.123 356.185 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.19) >>
+>> endobj
+3469 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.806 565.212 375.761 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+3470 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [360.827 541.302 372.782 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.21) >>
+>> endobj
+3471 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [451.605 506.712 463.56 517.616]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+3472 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.6 494.757 406.555 505.661]
+/Subtype /Link
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+3473 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [375.213 460.884 387.168 471.788]
+/Subtype /Link
+/A << /S /GoTo /D (page.21) >>
+>> endobj
+3474 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.706 449.646 407.661 459.832]
+/Subtype /Link
+/A << /S /GoTo /D (page.21) >>
+>> endobj
+3475 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.579 436.973 393.534 447.877]
+/Subtype /Link
+/A << /S /GoTo /D (page.20) >>
+>> endobj
+3476 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 403.1 423.153 414.004]
+/Subtype /Link
+/A << /S /GoTo /D (page.91) >>
+>> endobj
+3477 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [333.163 56.166 448.132 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3481 0 obj <<
+/D [3479 0 R /XYZ 90 757.935 null]
+>> endobj
+3478 0 obj <<
+/Font << /F70 205 0 R /F56 171 0 R /F72 207 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3482 0 obj
+[329.4]
+endobj
+3483 0 obj
+[631 507.9 631 507.9 354.2 569.5 631 323.4 354.2 600.2 323.4 938.5 631 569.5 631 600.2 446.4 452.6 446.4 631]
+endobj
+3485 0 obj
+[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600]
+endobj
+3486 0 obj
+[611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 351.8 351.8 351.8 935.2 578.7 578.7 935.2 896.3 850.9 870.4 915.7 818.5 786.1 941.7 896.3 442.6 624.1 928.7 753.7 1090.7 896.3 935.2 818.5 935.2 883.3 675.9 870.4 896.3 896.3 1220.4 896.3 896.3 740.7 351.8 611.1 351.8 611.1 351.8 351.8 611.1 675.9 546.3 675.9 546.3 384.3 611.1 675.9 351.8 384.3 643.5 351.8 1000 675.9 611.1 675.9 643.5 481.5 488 481.5 675.9]
+endobj
+3487 0 obj
+[777.8 722.2]
+endobj
+3488 0 obj
+[571 571 856.5 856.5 285.5 314 513.9 513.9 513.9 513.9 513.9 770.7 456.8 513.9 742.3 799.4 513.9 927.8 1042 799.4 285.5 285.5 513.9 856.5 513.9 856.5 799.4 285.5 399.7 399.7 513.9 799.4 285.5 342.6 285.5 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 285.5 799.4 485.3 485.3 799.4 770.7 727.9 742.3 785 699.4 670.8 806.5 770.7 371 528.1 799.2 642.3 942 770.7 799.4 699.4 799.4 756.5 571 742.3 770.7 770.7 1056.2 770.7 770.7 628.1 285.5 513.9 285.5 513.9 285.5 2 [...]
+endobj
+3489 0 obj
+[513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 799.4 513.9 799.4 513.9 543.7 770.7 777.7 733.6 847.5 756.3 656.2 804.8 850.1 449.3 566.3 870.4 699.4 992.9 821.6 782.1 656.2 810.6 777.6 627.8 599.6 699.1 599.4 970.5 849 596.5 699.2 399.7 399.7 399.7 1027.8 1027.8 424.4 544.5 440.4 444.9 532.5 477.8 498.8 490.1 592.2 351.7 420.1 535.1 306.7 905.5 620 497.5 515.9 459.2 463.7 478.8 371.1 591.4 499.2]
+endobj
+3490 0 obj
+[826.4]
+endobj
+3491 0 obj
+[500 500 500 500 500 500 500 500 500 500 277.8 277.8 277.8 777.8 472.2 472.2 777.8 750 708.3 722.2 763.9 680.6 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.6 777.8 736.1 555.6 722.2 750 750 1027.8 750 750 611.1 277.8 500 277.8 500 277.8 277.8 500 555.6 444.4 555.6 444.4 305.6 500 555.6 277.8 305.6 527.8 277.8 833.3 555.6 500 555.6 527.8 391.7 394.4 388.9 555.6 527.8]
+endobj
+3492 0 obj
+[500 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 500 777.8 500 530.9 750 758.5 714.7 827.9 738.2 643.1 786.3 831.3 439.6 554.5 849.3 680.6 970.1 803.5 762.8 642 790.6 759.3 613.2 584.4 682.8 583.3 944.4 828.5 580.6 682.6 388.9 388.9 388.9 1000 1000 416.7 528.6 429.2 432.8 520.5 465.6 489.6 477 576.2 344.5 411.8 520.6 298.4 878 600.2 484.7 503.1 446.4 451.2 468.8 361.1 572.5 484.7 715.9]
+endobj
+3493 0 obj
+[513.9 799.4 513.9 799.4 799.4 799.4 799.4 799.4 799.4 799.4 1027.8 513.9 513.9 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 1027.8 1027.8 799.4 799.4 1027.8 1027.8 513.9 513.9 1027.8 1027.8 1027.8 799.4 1027.8 1027.8 628.1 628.1 1027.8 1027.8 1027.8 799.4 279.3 1027.8 685.2]
+endobj
+3494 0 obj
+[556 556 167 333 611 278 333 333 0 333 606 0 611 389 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 278 250 389 555 500 500 833 778 333 333 333 500 570 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 570 570 570 500 832 667 667 667 722 667 667 722 778 389 500 667 611 889 722 722 611 722 667 556 611 722 667 889 667 611 611 333 278 333 570 500 333 500 500 444 500 444 333 500 556 278 278 500 278 778 556 500 500 500 389 389 278 556 444 667 500 444 389]
+endobj
+3495 0 obj
+[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600]
+endobj
+3496 0 obj
+[500 500 167 333 556 278 333 333 0 333 675 0 556 389 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 214 250 333 420 500 500 833 778 333 333 333 500 675 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 675 675 675 500 920 611 611 667 722 611 611 722 722 333 444 667 556 833 667 722 611 722 611 500 556 722 611 833 611 556 556 389 278 389 422 500 333 500 500 444 500 444 278 500 500 278 278 444 278 722 500 500 500 500 389 389 278 500 444 667 444 444 389]
+endobj
+3497 0 obj
+[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600]
+endobj
+3498 0 obj
+[556 556 167 333 667 278 333 333 0 333 570 0 667 444 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 278 250 333 555 500 500 1000 833 333 333 333 500 570 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 570 570 570 500 930 722 667 722 722 667 611 778 778 389 500 778 667 944 722 778 611 778 722 556 667 722 722 1000 722 722 667 333 278 333 581 500 333 500 556 444 556 444 333 500 556 278 333 556 278 833 556 500 556 556 444 389 333 556 500 722 500 500 444]
+endobj
+3499 0 obj
+[638.9 963 638.9 963 963 963 963 963 963 963 1222.2 638.9 638.9 963 963 963 963 963 963 963 963 963 963 963 963 1222.2 1222.2 963 963 1222.2 1222.2 638.9 638.9 1222.2 1222.2 1222.2 963 1222.2 1222.2 768.5 768.5 1222.2 1222.2 1222.2 963 365.7 1222.2 833.3 833.3 1092.6 1092.6 0 0 703.7 703.7 833.3 638.9 898.1 898.1 963 963 768.5 989.9 813.3 678.4 961.2 671.3 879.9 746.7 1059.3 709.3 846.3 938.8 854.5 1427.2 1005.7 973 878.4 1008.3 1061.4 762 711.3 774.4 785.2 1222.7 883.7 823.9 884 833.3 8 [...]
+endobj
+3500 0 obj
+[472.2 472.2 472.2]
+endobj
+3501 0 obj
+[500 777.8 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 500 500 777.8 777.8 777.8 777.8 777.8 777.8]
+endobj
+3502 0 obj
+[556 556 167 333 611 278 333 333 0 333 564 0 611 444 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 180 250 333 408 500 500 833 778 333 333 333 500 564 250 333 250 278 500 500 500 500 500 500 500 500 500 500 278 278 564 564 564 444 921 722 667 667 722 611 556 722 722 333 389 722 611 889 722 722 556 722 667 556 611 722 722 944 722 722 611 333 278 333 469 500 333 444 500 444 500 444 333 500 500 278 278 500 278 778 500 500 500 500 333 389 278 500 500 722 500 500 444 480 200 480 541 0 0 0 333 500 444 1 [...]
+endobj
+3503 0 obj <<
+/Length1 852
+/Length2 1775
+/Length3 0
+/Length 2353      
+/Filter /FlateDecode
+>>
+stream
+xڭR{<�i��ϩ
D��9Ή
9rh�����k�̼3�
���Zai�Tr�f+mIF�c�(�9fZk%%�;�m�����=�<�u]��\�뾑o��=��taC|S,
+k	8�HnX
 �c00$ґ
R�
6�Dზ �H$ �1L g`,,�f�x
pds\}0p4\Y �,�ˠR �D��Y�
T
+ ��
�/@�L&�����<�
�P0,�1�|`7Hg at 0�'7(�
X|�i1��T,��ILk6
�Ib
+ C{�%��/�[_7w�a2=)���kI����L��
+6��� �M���� �9Hcİ�f��&�jљ `�5Ga�?�
�
#�y3��=@���p�}�D�ߚ���C����ߣ]#�)
��'� �z��~�%!qq@��`%B��|
��3g�ʦ1 :�� 
+�K�$K$��@<`@40 �$��(�͗<$�
��\��\���hp[+	8 M_�<Iv�` �y� s
 -�GYM�	F��/ħ�f�X"�޿V�;+v\��0��%�1�� 
<����1\.���Q���:�!ƁT���j��7����D�ު��<���)ݷRηBM�X��s�����)�*�eT+��xԢiQ�1���	m�dt�r���aIy�,u:4\����?���"
1���o�
����_�9��(՘9![����׉�I��D
+?�t���Šn��w�1�����v[t�

Z���,��E)�ӋH2���1�qQ��`س�:��sDw����Wq> �i������Az!7���8�����v�`�k�����j�f���
��zap3�jI��
V����Y��r�� }#�~D�青�{�~��J�F�,5
!�^'
`��m���a7Fc��cm� ʞ�I���눂]�]V��x��%H
8���☮��|��+6!_nl�>�9N�t�>^���;��gq�.�!#�7�
��\�]�Z�&����R��(�
�p�#lT��6)ه���=������{�T���jW[
+�>X=����vm�"A;q��#��3P���ⷽ���Q)��V������<�_��O^tu�G�Q��Q>��X�+S��4o��kT7
�d��`dx�Y󊯔���4�
���,�����m|,�W�*���gs�����̤�W�͵�G�,�'�
���+)��;b���CD�dU�p��8q��r��u`��M�ƥ�O��|Lq�Q~�f��u�륬5$MM��@����H��n��P�uN�Q>��cCY�.t�x��g��s��"�]eII�.��U/p�
�Z\)��x/���
}�.�j�̉{On���H+!�HxO�Y(�+6O����
�5��KD2�V3���T^IZS����^��s�*�4��p�[����0/:4NI��XI
Ȥ|<6]V�����W��Fz��Sko_��)x�vy$np�>�ZZ]��j\�(`���"�=����5w�E����ă�ø0s�ɲ>ߵ=G70\��dΕ��qͤo:��#�|��L��{��G#.،4�C'
spԎ:O6;���#]�X���x`Qޮo�����(=�1�:
G���"<al�6�i"�k����!uL^�Bk}a���ߊʘ'O
z:���hf�w�pR9��lfI��?��!�<�dE�Я��h�W��:��To���̗TN�៶)`Bm���m����*ӭxswb�N3���
�ׇ�f�c�&͏0�#�#��<'��x�) �y��/?��;�.�J;����Q�M�/�oK��9����ֺ���᪙�H���
A�`���aD��R��߶��,-j�vh��0o�ϼ�Uޮ���Y���J�bÐ[���=v��4D~�����o���>���?`�X�_�!�L��!�����6�����S5xW���`�9Nz
7ν�W��2&R7��o�V�г#t�F����.Q�A���d��o����!����五}��-����?�0k�|�8���}����E�h��0*�QY��R�.r�7Z��	MI��C�Ee�xOU���Q^W�ޥT���z�A�E/[�O�;���7X�]
�	�jEV獝
}Xz&[</v얝���,�i�G>�z��ڊ�SR�2���*fM?
�##<�
�p����
+^v�M�ێ=�ⓓ��7كVā�u��>�����3���a��	ϋ}J�u��hd�X����W�sõ>~q�áLÂ�[����
���曳�W.G���/�sV{r�+��a�aWjk��z�9��b�Iԏ$gOR;��b��J9Z'{�T���[;�m�Ne?@[�.5v�_F��z+Z^\K�[6;�O�N�B�L��}v�?hp��� ��_��tP
+endstream
+endobj
+3504 0 obj <<
+/Type /FontDescriptor
+/FontName /JRBWAO+CMMI10
+/Flags 4
+/FontBBox [-32 -250 1048 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 72
+/XHeight 431
+/CharSet (/e/greater/less/triangleleft/triangleright/w)
+/FontFile 3503 0 R
+>> endobj
+3505 0 obj <<
+/Length1 744
+/Length2 1168
+/Length3 0
+/Length 1696      
+/Filter /FlateDecode
+>>
+stream
+xڭ�kTSW���P��Z��!�)!B�`�A��";1���䜬0D�"��h���BP��
�*�Z�{4Dk�\�*4�
+2��5��s~��������8�����c�a�J�($�`�Y4`X��8'� 1�J

�J����� $E <<��C�4�8'��db$!Q\�s"`��qQ��J�����
+@$�C�DF
� D��H0�S!���P �I�v���8�9$���6?E�n�
+��(�2�IH>�
+d��q�a��4h`�`-4J¸�9����2�
+��L(J�@1`c|(FJ��o�ؐ��NY� �1�n/��mIB���A$�D�$��>D�
I
��s�G����a���������(������gm�H�H�V2�L�����*n�Y�P
�G��A�\��+Ñ
V
T*H� �C)�R�;	�$�-��n��qs�J�Ё�ι
���db�42p�,)4
+�Qɻ�G�K�!*��I
9���CtJ!��b<߬$ecvuƺ��3b�Cɉ�-�Ε��������:���	�}�I�ɥ��7Ժ���V42ү�E��m}�ʖx�4��	o,v�I�JӺDX��H��W��'w������
+�؊���շ�3�;�t��Y�	��T�B��ᡂ�^=�*0���.�To�F��u�gǀU	=O�^t+�>����|�!
�C����N�~?\�uJZ�j^��oª-���ƭԺ�i��
�
��{u"aH��ab���G�5�
MN��%?H���M�Q��i�4���cJ�1����[o͖���U��gԝ�FU�>����7���7^��<ݺ���#�a�^�	��<,�|�0)S.Rx��dj�H�*��sՈʯhW�r����_XRYd\���n�5<-�_����/4R����p�����6/b�[N��U�Ș��變�����c
t�s.�-�=k"86�r
k*4�]��b�c
~��>�T��W����S�~4Pdx�M�s�̚��E.��{�Sg�X��-�5�;����1�̫�Ƴl/
�A%}*���z��~�z5��c���(�Xq蠣��iݏ_[_�ojc�����@��,���/~�(��m�٣���i��#�!M�i7�a��oC�+]��Q��Ol�
+��:��ݙ|�n�2e�a'�٧��硪��
�
��O��Ǵ[]f^�6�wyk�}2�����-�3��^�(e*ߝ���q����Gmw�ێ�)�[�g���r
(���Pަ%SZ^q at WK�c���ہ��#]��'��=���
��
ȗ+s:���dZ�
�+�vZƣ�{���G�;�|�6�g�Sf�}���v�Y�z��m�q�W��a�擣K9�Q6ق���.�����Y�1"[!H�=3^��1|��5*i|]g��,���Z� 7�OuF+V�Zy�g~Ӕ�����j��2zpyG�
���4j�����[��k�MY��
=�}Jy���Ȫx�f��WaӰN��
�C�ړ59m��~`I�+G��&'�G�3�#���
-x��L,��_~�i�hO�����#�)2nq:-5���{������6yˣ�t��G��7|j��q�vu��\�R�p���L~�w���.������������<�|��Y0р��;��؉9����K|'��$��_�}�wYFΆj�L��i�z͏�V�޾�����W�]�;��4�>�
+endstream
+endobj
+3506 0 obj <<
+/Type /FontDescriptor
+/FontName /VNHVYB+CMMI7
+/Flags 4
+/FontBBox [0 -250 1171 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 81
+/XHeight 431
+/CharSet (/w)
+/FontFile 3505 0 R
+>> endobj
+3507 0 obj <<
+/Length1 907
+/Length2 2573
+/Length3 0
+/Length 3185      
+/Filter /FlateDecode
+>>
+stream
+xڭRy<�k�ɖlٷ/C3c��%�
!��1_�f��Y������DBt�"�
�,Y��lY�J��T��v������s���\����#/cc�j�#c�SdUU
���P�H����9��) ��'�L0TPPC"� �@����u:�<`L���}|�����7�6`H)x/
	@a�� ���! vd/<H
��`��D `
�� �TSpx/*�}�$NطH�$o2����
���
+)�P����J #$�L"� 8Л�&3nY��~5?H �1�o���_4��'����L��� EƁүRG�G6��eͩ�ː�C U5M(\�G
p
+
�l�T/_�C ��A��$��}��EYڟ�V�1��
O�ڇ�� ���;V��-��W8Wc���/w����8<�PGh
+�	gX�#@��'��` 
f�AId*��hL�M�p~�*	���D"�[�{�1U ��T`�?�o ��o�������
C�O��	�(���� ��2̷�@o�OB�'����t`\�
�w�����a��H at U
�x5\h#��!�
+�P@��?f��o�gL�A/��Q��n��͆؊K���Y�$r�c�Z����B��u��)���A�M��|~�J���U0�7bV��0�+�vu�����ҭ\;�5�e�s�ݴ��<Ă��������k�홠VֻV�j�E��	+^���/���?;Ε��,��t�5[e��fR���bF.&��v
��n
|
m�zq�w2��b����+{��s�块
w�
ia��.�5���j��S5/upg���SϖKz�8"v���c `�����2:d��-y
:�1���*�:%�z/�-3���O}[��W��5B>Hb�K{����3T�a�Wh���Զ(�̩X�&��r��'����5l�$L
�˛w�!�˅.KV��k�r։fu�,���EC�L�/�=�/H��Z{sXܨ�
+ʅ{��`M�l�r��x'ɲ��e�&g�
X�X�u���İ�ɽ�ö�dA���Of�]�ِM���F�e#,�W
�6����ݝ�hһ�R18�<�[�Z����^YQ�u�����6E�$ohhe`�&JE�,�n�.�^��~g'묺x��ⶮ��
 ���E�:��jI^ �$�n���uA)�Ui�@q�ď %���0�-
����m�@�Am�|!;R���{C,ӏ�+��[�4+�~��Ͽ�Ͳy�m��Lݼ�%�3Һ'�r��}�,��Ƈ!����g[�Yd����f��q

�
�]�sIO�%�Ե�9*��3��{���ی�чVʇ\BF��ߤ�f'v�Ft<L��^N�`e>���r�hj?���!^��X�y^���P]м�k��
�U�M(6R��c6l�mw|�}[8���T:6z��7�z���e����
j/��v��B5q糸-�wrG�CZ<]ί�t��9[�`�PQ��K1�C
���}loĝ&-(��p��z^N���(���i�iƦ�����w�T�Ҧ/�۷"z<�Ͷ�	�<���Lߣl��=���B&b�h�1�wg����3X���"݌[��U�vj�B��æadYwK
OA��`CQR�՟��H�:�y��,���~�n�������P�r�.�	[	�~�~���#����L�L�9�I��x�b��������5�w��h�7���%�����
�vrtaZ!���ןvg�KM��K*+���k,�X��^��v�4��\Ǭ�VN�$A|��y�M���ݸ�_��/x�P"�RBuB}����zȔ��S�~��
k��gj�K��&:w����B(E�G]fk��2y��+�P&q���D{�����%6Q3H����F���U���Q
�p�TGv���q9
�4���GeE���o?�1g��ߧ����e�+�����s&�f�J�p>)Kx��'iI�լ�h8UA�� %&��Čd�C���y�W	̖��7
�a
���V��N-t
+�ZZ�/)�Vhp�p�/������㴸�6���Zs�Һi�S�Җ�V

�j�+�w��`���[��:�E��HG��>pj�U�u
e�60�zpZ����?�YX�
��c����T��Ϫ���֌N4"�}?|�:8v4)*G���I�Fw��9_��k
2Ex(�<y�./�fF �IĠ�xX{tGu���:]{�m����۲���
V�m͎��YQ���
x�:;�-�FF�K�xQ漿�rl$Ea2%ո�$>m�v-��?��G����D��Y'u�;��������)�թx�Y���y��)���K�NL"�
���J�Y���^u���ʛ���g��i|���Ie�+�]Y�܊�ћ����]�'#��2;��ҧ.�#xt�{����^��\7�5�_<�?�����7
J��|.]lY�iL��_�,BY���Ѹ�HO�SJ?M��m
V��O�q��7��TjU?,4˹
~�����(�1��
��:K�3� 4]$=ȓK��(�:N�!��8
����Y8V!��'qY��NBꬑ�6��������WaĞF	��M���b�`¤���4�<\x�ɲ}~魖�H�h0gtX޳�<��*f����A.&������rD<��M��J&����s
�o��KDօ;���6�����&��pq�;�W��m��k*
�
Q+2�U��<f���V��q|%�Uo��Qa5�e�M;�G���4�c!�y�~�i��2( [...]
+A��V+�7��Ӳ����J����[�z��x�����J��?�4�4rq:�`�YS�$������W1���|�ͷ����y Q�k<pBw�m�����ə��X?�Hz�~��$]����G4����
�`E����ߐ�m��9�
+;
+endstream
+endobj
+3508 0 obj <<
+/Type /FontDescriptor
+/FontName /RMKTHO+CMMI9
+/Flags 4
+/FontBBox [-29 -250 1075 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 74
+/XHeight 431
+/CharSet (/comma/d/e/l/less/m/r/triangleleft/triangleright/v)
+/FontFile 3507 0 R
+>> endobj
+3509 0 obj <<
+/Length1 867
+/Length2 3077
+/Length3 0
+/Length 3672      
+/Filter /FlateDecode
+>>
+stream
+xڭRy8��ۦc	�Q�m�e����a�fI�1�0fc�N����-٢�Yʒ-$�o�������{������
�s<�}^�y_����-$ 7��p�ۣt�8�D�
h�L 2 DZFF$$�E@!�<NAD)%%Y@eO^�_eyeY���w�%`��D at TK��"��"`�
 C�(Wr$
���W��b��;< ���r�A �I�QN
�Ӓ>�\�]v�t���B<Ȧ �_6� �I<�
8�
A`#<�4�����?��zb�Fן��_4������͓�" 0����Sj���
�r�x����X
R�E2�K]���!"р#��UG�
�4AN��u-��������
�h���Oן�_򿘜��Ȑㅐ����Ս?���!�� � �D�=d� ܆ ��@��
��qx"y
@�$ p�@?J�	��
A! ��I
����< F�
*��2K�T �
�@ L����&o��ʓ����� 55�>��d  �C�%%@	���HO�#����9��
1䩡P>($��'<R%�9�&�(P'���Z�Rө6���y�}��}JlA����X������L�Գ�އ<
w����]
qOH�x<�uk6ݯ���F:�w���n�"sC��֒�񇱞�d���̵��
����ܩ�(Zl��Z2¡��c�#�T�	����E�G~�fIN���>,�9�����:�ѓm?�6;��v�#���/g�M��dNm�0?������\=p2% ��#�&��aY�#�3��un�q��D��V%��

	Ao�Lߔ���ο:�Df-1_+�G�w�
H����h�$8��ϜD̉����`�s��iݞ����a�zdέ:練L��~C#����b�w�;
4��gn�_��̪�34h3�$�����'5�|��'l��1&���0��MBl_Y�T�1u���Lk4rC�C�}��
y�9�r�@�
���2�g�h
+��t�8i��f���KU�w��S9.4^V�=p5��hl˲;��p�$3�
;�F+�j�����K�<�^�#T� �S�$~�醖�#u[x�:	��`I�ϔ��9O
ӓ�)��
�,�&<Y��Җ�(_��Y��.�̄�Ӱ�_��͕9ʫ��V��K/i�@�������L���[������7u�����&���d�qC,\(���d��ң����{p6�"<A�R�a��c�;�t�;d���
+��-���\��+Y6/��
��.+D��Yw~9jCG���KY��j����5�j{�p����^��Z�#W Ø�beHIư��V�
�m���z�f��o�"ѽW���eD���'�Y2#X1B�\�Ω����a|�_�y�Z`�߃���W�U�4g���!�&���7=�U�h:�=��@Ӻ4�p���
�D�_����:O���W�����jM2�?|�
~���ay����)�{5z�P~SB�`��mα�Z��a~5�^D+���$E4"4���M��sx���W��ŬrF��zW'F�*.���
�E�ND�]Y�z�;U-���ed<�ڔ��C
�����21L�0���?ҡ�n�*
glxa�]�rrY
/7
�7F:M^j����ĥ����vt'o�Z���:m�'[I/�O}�V|-�G7�&�3�	[fѓ��pd��c	���2��v�����9
M��U���ګ>-N\�r��
+�{��򉣹	��%5��S��`z���8�
?����:&^Ak:wt��'5cU�
�"
����$�Q�����.i�����~V��"7�WD���$÷")�Y�]g����⬯�:w�9�����u�
|{���6]*L�TT{����G��oD��.��&
��ܠ�M����8[<
����o��
d9���y*�0t�w�vZ�OO���Ӧ)�_2�
CG�?_I%
�	�s�2
+M9�
+��_���ׅ-�6�
��/um�
���wt�;h
T��l%z���#e�˯�e�NF0�d��h�z�ռ#�]��;u�'�C+�@ؽV�C�a��ת[dp�"5�wx�B���k���"��ؚ坿��ܣ:f:	���?v����u1�#���˰~��=j[ ���� s7�ڏ)U:^��p	�ђ�!}�����@����c�4��y�M0��[DN����	��;&�W����IN/�����D�ʉ�;�D��q�P��J�~����%�|�`f?�D���2��n�P/��$��9h
+^�ֱS��x+x%�
�	}d���~�Fꐰ���@��T�MlnJ��>��rf
+-�7�vdx����h�.a+~{tT�~�h�Y�����
H�U����Jga�c�1
����#}
2vwJL�P��,]�!���N��
�ti��
�QĎA�Нt���W���Q$�r."�d��{��$Y�&�m�'��ZX�K�r��+�V&U�
e�i�j��b�;02cU���;���v«A�;�_.ä���7�_�Jtd�����Ơ�����
�wm�u��R�e��
�>5�@�-o?녈2�X>����l����&�DX{Ų�	,�
��[
�jS
Z��V�؊����]�F���k|E��+�Q���-s)wY�8��庠��
�;׊df�l�uםҠ���=��Yd�'�ÿ��i�YI:�`��w���0С��`xV�]� g*[��&J��

��_�ǖuW߻������%Q ��DD<�
��}}�-{W
��bOH
��n����.w��fj]�s���"�lK���}M��
�I�b�u����
������v��dl�)=D�(�g�������,]d����
�w��㩐�.��?�G��;$�m�TpO����C�����v��*�C�@.�a���8Qھ	�ҭ�x [...]
��)��o(��4����>8+
�����0P��T<�_�x=��$�5�����p�f�/�Y��V~���= v�q�o��BP�L6U1;���(��]���t̥خ��{8ںZ�W�mm��/�w.a���j\<�a�ژRb|ec
w_nѾV� (�[5�/y�^��\�N9(��u��N�	�w3��������BY�}��-�؉�X�+����"֡Vnĺ�g�\�ף��ퟧ�ǫ�n��Jy�b/��+ƈ�BJwϓz�rn�M~<
t&�5���Y���I�Wy��{�%T�=2�{�s"@���:!�������?�K;2��S�����z�[�/����MO�F5��|�
��h����ˢ�†*8C�_�'^am|"zI}���ۥ�;�7

�������d�o��
�w�f
+�&<3ɠd�z&w\<�=�|��b�UL�TJmJ\��`��
�t�t��7�O���`튱�Q
%��/L��lHHZOWp� 6aJ�f4����VkQ�W2,yT\U|��k��RH���g�\dHu`h}s)��P��ͭh�#�Ȭ�(9:�;�ּ!�A>O?Z�\)w0��k��;�u�y��;����=��t����Q^_
��at�2�g-�Y�P�\��Ý�q:Q���a��śoHb�>o�瑝���!��3/n�Y�~�v
�?��]�{w�A���k̅p�g-�蜜m�#6���
k-�C_�3!��R&ƻ�d�:s����.\���f���/'U���wd�9�	�
+endstream
+endobj
+3510 0 obj <<
+/Type /FontDescriptor
+/FontName /XCKPWW+CMR10
+/Flags 4
+/FontBBox [-251 -250 1009 969]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle 0
+/StemV 69
+/XHeight 431
+/CharSet (/a/equal/h/l/r/s/two/v/zero)
+/FontFile 3509 0 R
+>> endobj
+3511 0 obj <<
+/Length1 810
+/Length2 1751
+/Length3 0
+/Length 2308      
+/Filter /FlateDecode
+>>
+stream
+xڭRy<�kN
��N/�=fc_��0�R$d̼fF���PF�6�)b$�B������3�d���3*u�ʒ��
}�s�ο������z���]����r׶�R@{
+��
ׁ� 6�n \QQ���h�B�E3@ nl
��8@�
L�M`���
J#��
@�FcMdX�@�&�h
$	{`�D���!��P
��H��^�7��N�X

`	 �dt͏9�~-c��ߨ� �.4�
Mj B�X
+�
+`�@I�
+��?L}�ܞI$"Ѥ��Œ�ŢIb�y
+)�� i�3
���K=��֜A,�I��u`���G���nO�(��D:�^���Mc[� uAY; j�Os�B�	d�Gh�_M״��7fC#� �`:0\(�o7�ᄇ#c(XY� M��C!½"p�X0 C�~�:d
+C�FRh��aЀ��:��` ���?�PL��
(�/�/$�@e���8��)!���;������X��1L
$3�7M�7
H� C@
dx��1�	J�/f�����i�X�j���>|z_2�Y���7G���*������<1��S+
+�؆3�]��HjRƀ�wҟ�V���!�9��`����{��O�".}/��iG�[�g�frQ�
��/7<:v�C/�L��
�T��d3���/���MK
�f]���z>Gi`n[Γ��*���o��]�_r��~�Dģ/�
������UW��\ƆZ��qT�2����T��]�r��o�g�f�t�^�����|���
V�+�ƚ��3J7v�B��-�K�]M���b����-K,���c���D?Q�Ful���_g5P�/���Z�����N�8'�Y,��n�U*�5�KZCX�R�.�
����M@'\�|\�}\��2
{��U$\y��-�e�� ����e3�Q=q��|���[�y�٠C���=_�O
+�
���r��1J��V�r�y��Ա��/� g�>I�/�.(t.^9,�i˽S���!a��R���� ��r�s%ؤ'9J�� �`�,g�+~Z�Rcr����$�q�Aqtz�&#U�F?����Ɲkv�㸢^��8����)�R�ypy�n�L���P���#p1T���
+�m�oP>�"�FIe ��%�E�͹c�D#o+�"虋��*��Z˸DTW����
��칣��*���Z|��.�[f�ZMz�G���r|���k}z�	�ڳ�?�|�7.a,Z8�(7}r�Wa����
+
~l;a��

u1͜�sk�����Г{�Y�3�����զL�٭��(��
�9c��Y%�i��w޶n��**����FeO+���f;��Mr3�~u$�7��J��ㆼB����z�'����Dvr��
.Jf21.�덷������_*^�:�Fz��wڢ��M�� O�q��{9�D6��mIj�ˮV'��
�/�`5�j��A�4�m�P3u�
nK�[ش�S��/2#zbfw�8�򇓺�h�?�_x�~.K&�h����
+�K�}��:�.��
+j�5q8�GZ:�zK͕��{GQM6����Vϕ�:W|��+�f4d�SY��r���Imϔ��'�2�
&I)	y�،�#=
7ѕ�h�d\�I���c��܈Cn�
%�
U����	��i 6g��ot�-�K͜��
B.�J����!
�M���u
��}�b<D��%�!{w����
���tٸ��W� �8�_G)J@��Y�.�˱-�[�������$�B���(��#�A������'�Pׯi�[r��޷V
�r]7
e
�L�±����rF�D���'�	α�
�-Ԋ�]MKP���,1�.�6�������w�m^q���|y��
?�-���HG�Cx�i��q(����ƚ{���|⧼ �_��ꥥP����UC
|�����w��ۉ�d9sH4wެ����\� E+�~P�؎�U
+,qW��kl� ��X�
;��h�*+;^X��P4g)�O�����$,�?)u���r��&�`�Ҩ���#�F�.E\̾�1����M�Z�֏w��Vm; �8tU�JN0�:�vr^�4��@��UN��xdOԊU���Aݣ�-e
�&���ѹ�����g�tˤ$P�NU;�j��/�M�{�G�3��o�+h��I�G������ G�����U�f��;Ӎ��~^O}ߝgef�m��ZC�D�;��%�Dd��N橆�[:p�Ό�����qZ>��Y�ϖbo�.9�dl,�Y|�{0d������Dz�E:�>��L�
��p�E
+��)Q}N�Z��@�� ���#
+endstream
+endobj
+3512 0 obj <<
+/Type /FontDescriptor
+/FontName /OPBINH+CMR6
+/Flags 4
+/FontBBox [-20 -250 1193 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle 0
+/StemV 83
+/XHeight 431
+/CharSet (/b/d/e/l/u/zero)
+/FontFile 3511 0 R
+>> endobj
+3513 0 obj <<
+/Length1 793
+/Length2 1596
+/Length3 0
+/Length 2144      
+/Filter /FlateDecode
+>>
+stream
+xڭ�y<�kǩ���-'�dgf�X���&ٗL����јa�03��9I��Cá�d+�ت#K
"T�DZF�P����{�����<�<������������gE�A,���C�� W
��G���m� �Ѩ�	
�
@��� +��F(c�
�fhL
���鐟?д�Z4a �@��T�����3H
+�F#A ��XQ(����
� Y�Bd�� ��D�,�ਾ4 �Lf�h���1�)��Ĉd��Ƞ/���&�
��?�~
�eR(��������%B���� &�42H��l�~Gs �3��.�A�@$+���KPb�dg�A�|	�p�R�?C�c[B0����go��t�K-gDe����;tѻ�Qkq6t�
D�#�(�Q���;��V�T�
Q���� ��6L�.��G�
� �%�5��%�8�H��F�-^��	`@\,-)	��!Q��)6S��(
`�\��>��5���� zh#1
+�0F���1��t:He,=,q�?�/$N
Y 	���F2�
�T
Ϗ��j˓Җ���Hq,�}R�&��$%��>X���k&?M
>$5�6�r�^�K
v�xpJj��P��P綢�x��M��t�q���󰑤SG_3�<>���O��kΚ��߮z�*Qw0�fݕ8c�6��p�t�UW��`>�0A&{��
+� 6* A�R���
s�L�t���ʦ�s�c�o��
E>
��
%�\��yk�;�C�y�:�� Z.�VYqs�ݍ>�3��'
���#N0{�N	m�x.eS[nDpcL�c��j�Y�#���٤��
���ԍ�T�Y���[5�očn�5(w�W�`
.�n���i��d���4H�X������bdzw�#��� 9
��6/q�%i}�?�����I����^c*�>�_�F"H�������7��vܟ;nH�吇g�y����[s�2��Sj��������3]�j���[����m���� �|�q�p-���X }g�l�� ��o�\ר���&T�m�K����"9��i�eUǣ3�
rm�U�;nVa��l3���N��@���%:�i��Eqhյ�_��j�
���(��C��.R#��� ֻ:��c�]r�?��4�K}`RU����u�Q���6�
%cmXJ,X��mN=3e�AY��i��?v��`:���?�읶7j̈́���g"��
b�������N ��f�5 ����CD��1������ϴ��� [...]
+�
�.�[w����!�8Wӕ�=�Y��b����D#��r�~�[�����f��
=��,�S�/OGw��o^u�H�<�yI+0ғ�U��<�`��
D	����'�į�4���
��Ng`3w�>�!�����K���
��S�N�hpKn�t̚o��3��MD׆g�̚�+��׾�[����o��
S�j��(U⊏��u{���~�
�X
��+u@��K�1�|��
����LA�p��[�?F�MZ
+�Zwm��KeNR0��h��B�L�iQ�M1��HśL���jm�r7�<!7�s�Q���
�1�`��z;ف�
��#�
+endstream
+endobj
+3514 0 obj <<
+/Type /FontDescriptor
+/FontName /UYHLKA+CMR7
+/Flags 4
+/FontBBox [-27 -250 1122 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle 0
+/StemV 79
+/XHeight 431
+/CharSet (/b/d/e/l/u)
+/FontFile 3513 0 R
+>> endobj
+3515 0 obj <<
+/Length1 1003
+/Length2 3432
+/Length3 0
+/Length 4088      
+/Filter /FlateDecode
+>>
+stream
+xڭ�y<�
�dz�����-�
�m��]�.�0�	3����
�/ɚ"[�(I�-��]�R&�;�sw��Ͽ���������~�9����9
�
	à�r
+ 5@��
+(�����u�H8
�A���H5@
+U t�=��򀂲���t1~�X��
�ԕ�aRt|�X�;

���^H_R
w�p�B�A���`��

`��!�H�^A@��������1D{` �_a���ߩ $G�$I�R 	�A��=�
C�$��@��8����
���<iF�����|��������X��@b����"��"(�g
�p����	��
+�p0Ta�»{
p
�g
�F��4��`Ks{�����2���x�`��Exj�4i6XT�(��W I��oN�ju�A�ФsPR�X,<��t$��* (4 �H�`�'}�Fx`��?�I��#�K) `7,����Az����0�T&ِ��I{�m8
�=P���R �a��`�$�����R��Ġ��hRk?8��/"E��D��?�H��H% ��C*�?�$��J�T����y�,&(T�N+�&,QT�������%!��*���[{�H7�D!��g�1��ї��VD�+
���&;�٘j��c��!j&�̧t����R����\�U�U�������0�ا��SoN
����4��������Em�4?z��A�����PE�}Io��Ӎ��zV�hDNt:<�̋VV����Xb�OAD,Yo^��S$,�f�S.�EE\"�>���ƴ����e
]��Jaso�X���|�������Rw��_��x^��Ts����Q�
��!|�\�m񌞋3
�$��b'r(��T��"��Ub4sW~+�S�(x�������$g��5�
��@�8ա�ҙeG���I�-фDna
9q��~�������ou�i��3���o��/'���[i\�y*tv�{GR)��@ַ|ՙ�y �/�]3�Ū�ܠfؖ�� >r�L�Jp��tۈu�ע;[����Ї���2�!m��F��q�K
��cLIȭ{����f-S�H �'^4eW�[�ޯ:p�F �����v�kt�tq�E5L��2S��E�P�P��&�Ry̼V�
��:Ãz�U�9�"zNox���<�|����,m�`��m��+4��~4o��>�9�Q5^.�i��M
Q�nU�0�7�~�ե�<�
tS3�
�z
)�n6�R�3�r)Libz��S] �i�"��_Lf���
���f�`��
��w�?��V;�V��rUsn�)eJx~����J��!(�O���t5%�����w��X
}|>��b�}�_a� K����
�9E��0@�����$
g��=�)��&v�:`9N6���Sp�ݡ�>��.H�	������)�FE�6ڢ�8Wx��H�t��<�1�h1/t�Ky�a}
�{��R�m�}��`�j��d���p�cht |���G�c����/
�݆�N�A�S:\JG���Y^������~��VgՂp*���K��|��GE�H� D�X_\��ͱ��$�e5�φˆ�9�L�E^�:�?n�&�u
��� /���f��5zy�3�T�i��1-�vQ�͡�F�'
�U�I?��'�L�N0%��Y&
�����
7�`�M~�7�c!��,Ή"'h��l���	�[�:��J�g
]��gܮ�����sS�ګ1�t�ɰP
G�Up6���/ޛ`�qae
.�S1(���Ӯ
|��kV�x�P�գ~Tr��+�|��U��,�_4VP��n5b�A�"oj`��Ul�'{�?�)���|�GQ�/��>Zy����
�۰
w)AvѶ�W�:
++�ݬ����Rg?l�����v��:G�p��
fʌ�xI���� �p=X5M9UAXZ�\Sz��j�4�v^��9U�}��\;#���:3#MIk�^�F���W;��4����S.v�J�,H1|�l�����^JY�H3�82�5�JS�\�u�K���M�j�.�W�5�_���qX�wrF��MO��J�Xb�^���p�@�.Xk����S�N>��,����p��kE��� �V�����kM��˩щ
ZWy�>�S�>� ��8<|"�--Y/d�^� :^bK8��|J���a�c��p��5�~���
JIc��Q��q�p�a"����]jG�AC����
���3
�w���ٵv��;F�܇pZ��
�V��"yg
ч8�0/���Z�7��
��o?�k0߆~a��YV��\
+��[TЌ�n��j4
��x�wv��T��]��vIJ�~55��kK���w�?3�/���?�����t�ƕ���1Kݡ�#8Ag�������n	��	�)�M@~ґ��.��_��h�E�
9��$��r9�Ը���)Mҙ�_�|b2]<Z,�x&I���X8?ID16L�$M�"AS�K��4�V�+sb����F8��Y%r�qڝ�Ӱ�-l�m~��k��k"�
�-��m�	�	�E.�+�@B*�m�Zܢ�>�Y]��{�q�MW� ��l����`�׫q���݃WB9�،L���`�[
7�nII/s|���~��1p5'�	�����+öpvɺ;�/�З���V
k0�K{�_u�]��!w.5�
��G
�x�C���+��5J�㙸oZn)���갽�d�'��OW�m��_;��h��9�id�nv}���K/��:��!�J�9ݤ������~��N1���� ��LjR�x}��ܦ�K���̚�b.iBWi
���'�>y�Y�
��^�
Y��@�o�-�T0��]BF�*������S<��D
��r���M��i����*�������̆A_a��3�z"�B��wWm��#y���ʇm#
�NT1��n`�)?";[�s7ed�-&
+�c�p�� ߍ���Ca��c������������:}X~%�*}��?/��2�f�>�خ#�ȅr��A{�B��{�ɀ��h_��
�j�b�`M�6(�`ϳS%��+
+I�SK����� 
O}P�^�`����@7+����ݱ+k���Ug-{C[�=)H�X�c
խ���׈��1x5�
!Vk&K4�j���r���6B�W$ȹ5]�hWr`�R
�+Z
xv\�ʞ�5#���E���P[���
�*�O�Rf
?m�#�H��Wd+����g�
��z�.��gnI�(��[��%��\p�H�IX�~@�L�f,����'�Y�a�r�+����>����j9C�Mb�_
)�
g���hǐ��ުG}�'v2�-3���Y )��>�}�ʹC��/D�˿ds$�x^gӱ 4���mu���2�]���wF#Y�
j.�
��,Q�Y)%�$Ot������2{�����y���tQ�� �l������}�	S��#�Ox��:R3^ ��-OZ�톒���7����
��y^��~�����u��ً��{�01Z������inD�͑�=u�A��
�
m��-1�����&f�-R�F�o;G����ٜ��V�
�������({R�oǂ��	}��_�����-��k�H�xvo����1
O
O��O7���qٹݷ��-]�ۓ4AO��hx�J�'����SZ6o�1RO˨������Q�X8���]��;~�/�roׇst�:�e�����;č��Yb�(1gJ��r� aS#
~��~�Pi	ݐU�ʵ����!w�9ͻ.5ɬ�oJ'�l+P�1OX�J*�,�>��
�~H@�2=��;�Q�
~ǒ��i�_����\'pI���o��j��j�$�
lY�X<\�=:�)2��bE[�o���
�xM70[�=yрUt�,��5M����SfM�Y�rs��$�j):�!�S�����8�*E/��f{���U��b��,!cF���U�͠��,i�$W&�_-��r\���T��-��u���@�d����&�����ɾi��ѯ%!���6�C^��(B�}&ſs?%V^](�
��ii��S��R!��~I�v�oke�q��X�{j��;��0�Ov�3��ޓ���D�����X��S�0�g�^O(>1�M-�?�෎�خ�i6f���o�
]�p�8��_��Œ�2�1��� O�ņ
+endstream
+endobj
+3516 0 obj <<
+/Type /FontDescriptor
+/FontName /HRPHYH+CMR9
+/Flags 4
+/FontBBox [-39 -250 1036 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle 0
+/StemV 74
+/XHeight 431
+/CharSet (/a/bracketleft/d/equal/fi/h/l/m/o/one/parenleft/parenright/r/s/t/v/zero)
+/FontFile 3515 0 R
+>> endobj
+3517 0 obj <<
+/Length1 802
+/Length2 1027
+/Length3 0
+/Length 1582      
+/Filter /FlateDecode
+>>
+stream
+xڭ�{\Li�	]&��M�U*��̙�F�VJ�Lj�N3�L�f��̤�$a)�b�K�V.+l-ي�"��g�%�Be����l�����<��y������z�"�������tD����
�6@�l���'	Q%F��P%t��+�UR�p���a�qy
k�I(�$&
S������x�]IL�‏*à��!Be at H�0�T3��L�NP R���b&A�)A(�b8��G�K����_�HHR4�JCN4���ej �K@�wA������[%�	Py_�~���Q9&S� �
+���O�!�,]
+?��S���JT���q�
Gę�v�~0����E�R$����y���������-����2�~q����j�o��1�-�]"�(���d�������
��
b
���$�����  ��0
+�(����	%}�֬�d��	�P��
+�"詄���yXҾ
�$\��g���,��o����AD�8r\���

� .����O�HE�W��m��X�ѶCE�F
!��9<����q^9�~�2�>��Q�bYI�L�^��
+�,U�
n>���8��d�h�OF��d��U�?�M�>�lW<��� 4VoJ�;⓽m�o��%�4����-��
��6T�?�X�S��Ic8�.0��Ҍ�xLO;x��Z��nҫ�
�U�D/o���]dLy'��Jf�v�=�!���Z�����6�3�|E�s�m�[��.
�D�N�3��sM�g|{[{��ױ��r
�+�[����Y)���,�&V�8��7���
'e79�>.1�	Tp���S=����GЈ��{,�=�^{�t֛ ���̅E�
�������ќ�Fϔ�C��I
��l�ޒ���,����5�����
7͌
)f$��ޟt�/�6m��@�O
]���Mo���u���
w�O^�\<���P��9��m
�_
�Ku۫��-��r��-W&u�i�������/S2��
�����i��:uڴ׸%�
+���<���P�s
�g�Fmk�=�Vs�S
+n�vȿт�����q�w\�N�
Jj���p�Ԕ˩���Mr�gE�2���qK�5y+�_�zb�Dҋpɞ�7`��Fs��/p����,ru��S�d�V�m�d�δ�n/Ln���}�:�‡�6�����������7��ժV����r�Z��d�(Ts�RLj�3�'�
5���ü���O�=x������bו�F������Ͳ.�^c�0"�ܫ!��2��}�V�_j8�*��$�s_�LqG��Ƽ7c>-�5��5W��eX��kJrI-dTT�޸&�U_z`������C�
N{��4��;���-Nr
+Q�@�����r����a�������w�!�X��w��s��
�����xS��u<%��t��d(-ە�;���«��]���p���Y��w���
;:b�zc
}꺂W�R�n>�U1;uݹ��
���#�ft�
+��:�%�N9R��5�@hԴ��{���r����ڴ�2������aɴK�ɛ�!B�z���7zb�����Թ��$3�z�&=�~���'z�eٜ�H���D�Cic�����
+endstream
+endobj
+3518 0 obj <<
+/Type /FontDescriptor
+/FontName /VUZELH+CMSY10
+/Flags 4
+/FontBBox [-29 -960 1116 775]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 85
+/XHeight 431
+/CharSet (/asteriskmath/greaterequal/lessequal)
+/FontFile 3517 0 R
+>> endobj
+3519 0 obj <<
+/Length1 833
+/Length2 1649
+/Length3 0
+/Length 2223      
+/Filter /FlateDecode
+>>
+stream
+xڭRy<�k��*�"*�l!f��~�C��6֌��f33�9�E��FBL
+9��v"��(��'2e�,:C__�����{�y�������~�e�
T��TȜJa�"�:����U ��B��&t�$R)�X&���`D �k�#t�B���Jcщ?&8b��.�Fd�N�a)���ȼ8,	8PqD��RF$@�w0 b@�`�&�@ <�>�H�����R��7D�NCt�8�3�x�T
+��̖�;
�9���y�y�d�%��_�4�L$��#��iAL�l�x�N�Y�}�f�A�YK&�D�Q$�"4��H�7��0'�Bx{"�|�$��C��Vx�m�9�����|��g�%R��,�?�5�G�ˈN
�p58
����?�eF�Q�D
+��4�NDz��Q�(C "�(�g�F�2y-��L�҅֗�0,����ۉ�:��#� ���`��1�鿰�1 �щ����������x����a�@U�׎@�k�c����������x�}���@P(����t���U�q"��;o
+¶-��~߷�S�E�G8�rN��yo��tI
��^�W�h{���u�[U��n`.E���^9��b�l_SQ��|蜞
�FJ��>�y^�h�G٨v�
�;c���š^����d�ÒZ}�[7�g
r{V�d��丣�k�=�
+]��z-&!��Q�{"�����

>�sTS��U{���/��!;�lmq5̓�
��6�TBz�D�I�������3��l��@q�aB�.Q���攒/�]>��X����rŰw2�*�ߑ��Q�$$m�T�Z�އ��
��)vr=�p��a��)4�%�J�!)5�|
c�Dz#��4p�]�{���·�O�j]���
+;����:�t��)��k_�T��Ys���bq�+[)�����J �QSv`h����-*�!F�XH�ɐ~E���AΪ72��b���SlL6�;���3g2�_Q�ں���<���)q�;��
3��
RR7�@�T�<M��W��O&ϥ�;[�0k톙�.�w��y&�Y� o١鷲ϟ`�gDz�&l
�̟=�4��
�MJNJU
q����/
a
+��Z�
��^أ�m�/��y�⢡A˰J]�ʵۃ���z�
/�U��ľ65%��f��7�Y�<=��hz2}��s{O����L29W_�<{���X
r>y�GN���{n��ۣ��'���+X�`�=;��|���؇��եNܗ�Z�L��&��
��/�{g^���3t���n!ԧ��
����./�����m
��žn/���a�g�G,�MMnX=2�Ÿ�$T�; �q%sI�)�^4�m�?Ye�
�jX�sQ�ʧbf

��^>�P5���� kT�A�^�U����� �>��H���|���d��-z�.W��	�1Z��h�ޮ
5'P�S�ѻm�s�,fiJ��W�����̈́k
��;�u�:ybhtFX�O�˹�d�%�7�K�J^6�i7�e1�!W���쵨W�m
ב�l�0�d�%]��s��i�]��-�����h�>�fdk:��O+����x�ֱ-s�C��9��d=A|w�S{ݐ
�/��vi,rˮߞcF5�jH��:
���v
m�����k�ӆ ׭���BZ�qd�=�O��?�i���q����K��7#���J��N�^v��f_м<�����l�j٤&��uq��{��c����_�������g�åZ	�"����>��}�Kf�R�����1*dg�[ZY�����\�����ş)[f��2]m� ���9���@Cu��Ĵ`Q�U��4���l���€���
+�!�g���;�IEr��JV���nk
a;��X�
��~�c�h�sEPp4�]���$9l�pȓF�v��Y6˫���<�Z��XE����G��Ny�G�3oOe�b�fE�x2�+|�|�3�^�pl�cX눫�=⠴
I���JTG�)YUL��� �'h��,dʓy�`�A�Ws�
�nC��-r��U���dU���]m�M�������ם�P§ߛ'
ŷT��dv(	_��Z�F�P4G���zu2���π�\�To�CC\��]p���ˈb�V
+��LG]Oծx���慫R��
�����
`2A�������D͓�:�=#bʄ�	���G�m.
�3�^Z9rJ�L����1�T1h]%\�����_m�6}��6[��7Q�J
+endstream
+endobj
+3520 0 obj <<
+/Type /FontDescriptor
+/FontName /ATFWDW+CMSY6
+/Flags 4
+/FontBBox [-4 -948 1329 786]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 93
+/XHeight 431
+/CharSet (/asteriskmath/dagger/daggerdbl/prime/section)
+/FontFile 3519 0 R
+>> endobj
+3521 0 obj <<
+/Length1 746
+/Length2 603
+/Length3 0
+/Length 1117      
+/Filter /FlateDecode
+>>
+stream
+x�SU
�uL�OJu��+�5�3�Rp�
�4W0�3�RUu.JM,���sI,I�R0��4Tp,MW04U00�22�25�RUp�/�,�L�(Q�p�)2Wp�M-�LN�S�M,�H����������ZR������Q��Z�ZT����eh����\������ǥr�g^Z��9D8�� &U�ZT
t��Б�
+@'����T*���q����J���B7ܭ4'�/1d<(�0�s3s*�
+�s
JKR�|�SR��Е��B�曚�Y��.�Y����옗����kh�g`l
+��,vˬHM	�,I�PHK�)N��楠;z`���{���hCb,���WRY��`�P
�"��0*ʬP�6�300*B+�.׼���̼t#S3�Ģ��J.�QF��
+Ն
+�y)�
+�@���� �( C�V!-��
�&
+�E�@���0���_Q�
Lr����
+�F�F
+�F�(
+�K��R�J�	0~Z&0 SS+R��n^�O�nɚ��me���
�X�9�X��&���
u�3Sj�M�*��,y���־���%����
+m������Hx�֮�"&4��׻,^��5�����+�Åa3�>���_�xV����/��'x楼p�Z����k�BZA�����o�`��(&^y���@O���+{�?�x��(�@Cҳ���3���6*�
���8��"�����	
:��|��/�m��L�j�}�5�����?��뀂�{��́���x��Lp���'�X�6�1q^���&����7"
��:�L��nW��a_��T��Փ��lg�cx�'�����k�]�K���9j;��/�r�hD�;�
���U-z?�����!�f�>$�̯_�6ai�|m��
�ӻ�'�u�R�e"�V]v�~��K-r��ʋ��ο�^��1�c���Kǧ�S�9m��UZ��s�ʂ�On�ܔ┓�:'j9'<`ڷ1�����O�~~;�>�ko��U�$�
u*�<�)ᅑ�x��ђw'�.9�%��c���I~G9�}{���k��CDnof�57>�Zz�5�5ۼ���1(ysx'j��N[ +/���.�����y��B���?��
�4뼫 [...]
+endstream
+endobj
+3522 0 obj <<
+/Type /FontDescriptor
+/FontName /NSJEOL+CMSY7
+/Flags 4
+/FontBBox [-15 -951 1252 782]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 93
+/XHeight 431
+/CharSet (/prime)
+/FontFile 3521 0 R
+>> endobj
+3523 0 obj <<
+/Length1 792
+/Length2 1349
+/Length3 0
+/Length 1899      
+/Filter /FlateDecode
+>>
+stream
+xڭR{<�i-��䐴y�03�0�X�&�:��Ҙ���2ޙf�)�i�-
_QZi��9�
*�ՆVZ2j�7�(ہ
rh���~����=�<�u]�}_��<�z^�fT�
�8�1�
"@6���7p
�$%CC'.B�Q6�

Gl dm
*�	 
+ Yِ�6�T��
eF���iӂ�
+P�.J�a���G ��
t
���(�
��b��<���>&(A�Q:�&�)
�b
6���|�gj��IMc��M at jfc,��у-��H��?L-m��g�<h�
�B�M�FY���hG���
#\l�4 ���
�Q~�R���P:c�`YH�O�sFc�
���Ac�E
��V��-!�����2���
��H�k��Z���$�I���y�d�v�ΆQ�	�K@�ri%���B�@1�H��0���q� MFl��£Bda�)
KJ���?cp8�` ��—\�yiGGvL��9	�YK�C�
+��������r
_�V��>�
T7�� t%Q�n�y��HI�����/���w*�E
+�w��e������
G�$���ZQ�׺�mO���h�x$�
�_S^��{a׉xJ
��WKp()c���#��{�<wX�c��}v6��T4n�����
Ǡ���'=�j�}�6믳+��ij	�Cݳ:z����}�^�|@'45.)7Xuĩ�x�Vl�{&���,2P^Ϣ��겣:t�ߋE]���7͍��Hz����
䶹)K�|}�����w������*[��;��;;��;Ӎ]8��3}Z��ӻ�oy�͘�
�0
�~~}*\�zk[X8ggR{
���k�s������<�e��=5�{�8�m{���e��;˕��N��ҫ�lk iL��5�kЏ5L�	�������h;���
��f���N
3)��|:�/B[F�"*���*��
r�;�D�N�p�z�a������o
9�W0��_�X�n�d&�M����O���O�vN
�[�q��i�m=�7��[��N��N.z��Ko�\��w�^|

��>�g��`*���J�}[����"s��Ɠc��YhȃW4-��
^���^)�O} [...]
-�7
��~��
���c���e��#s�M��[�k~��y7��,�Л,��M.s�uc��^�^?A�C�����e�*�F;��p<&�����;�XW��e�M��
�[��ÇOn\�g8%9<K�<h}�u�
!��\�/O���5C]�:f�s�y$�Gu��jKO�x:�cJ��Q�e�̡�C�F�a�o~I%
wz}mT��M�U� nj�D��*ir
����Q��OB���Z���ު5M�8:�TR����2�[� 	�/ʋ�&�h{��ִ$v�
e��2g���!�
Fn���	{��/�
N��]�=�<Nm����5ٍw)�k]e���+��浏dMSm�Z��o�o��[G�J�+d���l��9�s�N�o���U�.kť�m;�|-~>�Q��Da@����w�Y���������]b��W*�D~b��!f��!�bD�;j���]���
+��
�QΚ֙v�dy����w���.@�
+�s
+��Ņ�����{�M\��m���έ�r�
+M��J��+�0������Qy���%3B,3���1A���S�1|�'k��j�WU�UP��ګ���0����j>:�Uꚤ�7�TOQU�W%
����I*�N5g�&e�����Ip� ���-��x
]7���Il�
��˃'��L�?v(	M��>m\�Ferb����g$�]��ݰ��ڇѼ���s��:�k���܎x����萕�l���
�I�3��K�G�3��B,E#�������\�O��qE�����銻�������'=�1
+endstream
+endobj
+3524 0 obj <<
+/Type /FontDescriptor
+/FontName /JRVZXP+CMSY8
+/Flags 4
+/FontBBox [-30 -955 1185 779]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 89
+/XHeight 431
+/CharSet (/dagger/daggerdbl/section)
+/FontFile 3523 0 R
+>> endobj
+3525 0 obj <<
+/Length1 815
+/Length2 1151
+/Length3 0
+/Length 1723      
+/Filter /FlateDecode
+>>
+stream
+xڭRkXSW�axl
u�
DD
+y\ D8R�)/A�I�M�c��Ǎcx���`
(XE�Q�8 P��

+Eh�(�D|4Z�-�����w������{}kWgA
�c"$S�T��72&�@4�Օ�F�8�)>�@~~�h� b�����b�\S�Ԩ4k��"��5**@��@�D�Pb01��:��d z��D#D�	�i$0*Ɓ��
+}�P�B���*�R���0�&�a�2
�	��LjY���aj~��L��g�φ�;Z(Ge��0�R�#j���Z1_�
y�-�Q�|>�
e�����@�|h
o�Մ��, at qq�edG�|+DzsF��`AP�Ǜ��q!��cuJ0~���o5���I
�B⼽�̛�c0��/�/��B
�A��b2�
�F2�I��N<D2 �Ԥ٥z�PC$�j6;ɘ%�p&�"G�1/�!
���{���R���Q�V3�>�� ,SO�f �s-� _�b�
�#k�jb��o#}[KPb
���IC���㿕�+8�\�[cA_���vbȪ-�1��
1�ʏ�����ã
�픍ח���w��g���_�j:B>�Px�X§9�V�`
E�_���ɰvU�������ݪ
3�p�
2�dw/����P����%�G���r9k��j�́�����1��+P<}훈0ER�v]��Fd>'�H6������<,�
�\{у|Y�ӵ���ь{S?l�o�:,7-ō���=�%���m^��9�5�l�*�/��i�Y���s��
GFJ������j�
+y����W�R����{���7��j��u��c;.��.�g1E�q;�|<�8ʯ���V
��!
�7�h}<��Ŏc#�5
�����2ʲ@}����ݐcD�����y8^o��
O����s�4�=�;i����gF��h�\�Bb�CG��'ܙ7��A�><�/:��4�	"���t�Aw���`���j�`A]�6���@� ��
+�{ �|֖F�
�n��H��E���K��'����+�n�l�񼟨��
�=ZJ�Xn�2�����^���E����ʲ�A.���N)�?7����	Y�J�y��%��Ѡ|����6L܂�;,�.0[���
�
#�xK�Nfx���_�T�z7��T떼
�w��뿓e���~
��\5�/����%Nţ
{ 9��m��5o�M; �y���Pi��hè�+�ҿvʏg5|����":
+#�����O[��X9�<�P{.?:�����'G�
g� oj�p��`��89"j`¢zPS�u���ơ�����*��#�%������!gѳ�_���U=����P�ij��\=`��~�~�H
���
ZUoz�Rr����.%���rUs�
���ۏ�Y�8���a���
�y�����I5gɜ�T��'x�
+�%k�t�^��$w��I>E-��pR�y��ӛץg^�kO���}V�G
xN����QO������S,��
y��݋'�{�V�y�Ҟ џt�2��j�&.�;��@�=�]�Dx��mjE"�,~KOͧ�v~.�([���B�?�(�s�=���
b-�2R�VI]Y�^��w���H�&�������ष��z���|�RX��$��[��ݩ�
���_����G�������AS�u�b�}]g��#kJ}'t�a�th�O
�g�;^^�y���\I��=�{�h(�f-3��WcK7;
+endstream
+endobj
+3526 0 obj <<
+/Type /FontDescriptor
+/FontName /GCEPBM+CMSY9
+/Flags 4
+/FontBBox [-30 -958 1146 777]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 87
+/XHeight 431
+/CharSet (/asteriskmath/element/lessequal/plusminus)
+/FontFile 3525 0 R
+>> endobj
+3527 0 obj <<
+/Length1 815
+/Length2 1545
+/Length3 0
+/Length 2105      
+/Filter /FlateDecode
+>>
+stream
+xڭR{<T��ȫ���=B�cf�� u#Q�A#�܌�=l��
���G�J��QIi$*��B�E�D�:�
F���ָ�۽���q�����o��]��w���Pdk:�#l�5�� oWo�`@
33"��a��F�CN ���!  tqNx���M�G �BV�
+

q!���p6D„ ?\X�Qٳx���Q��?B�!���!"
!��h�Ō�� .L&�7��� 
�
�0��A�0[;3�'�� ��4]��Q���<�p Z1������B�q���(� ��������&�De)����:�3�s�M&ĝ��Y�谀5��ɧ2a�
;�	���s�c!:��" �Ƀf��>_Z��Ya,эH����=��T���&���v=���[�±@0�Á
+����
+�'��MC�0;
����\.U��SP���{@ fӡX �U8�b�_�p�xőq5f~�`}gRs�
�����:��+��ZAkmk��m�-
p�����&�r!6�H{�3`�!(�i�<Eh�S"�_M+K�$��[l��5�&�T��������̒[�,��N���^6�x`M̷ռ
q��?&Ee�v��C�v׭
����L&-����e�n�OG_kYNPqK��;CEd��6���M��UM'S�	��yLJz�s<�O+7�l�mzo�V�H��QrBd�Z����H�`ŔD�X�c��A}�HF�
���6,#����ր��/�LP���(�?,
>ӛjO8�t+��r�W���7�F��n���o��9|��?
�
�y�Yc�Ĉ���k��[����r�D~ޟT��Rz.�(%�]���u	+;/�L]���;��s1F����"=�6�;k������Jo�d��w��_%��]�M���n��e�m ��T�����U�ܦ�wv�#ħ�M-�0v���
J��!���A�g�cR���;�����ђ�EY��K�V��E{D-|c@�O���;:c�Κ��a�z۳b�)x{GYE���䒈�L�
�
�Q��R��\��I�g����܋��Ԝ
+T�v~Om���C����X��A�J8���
+͝�d�������ݏ���ub�
��Qmʮܶ��*�` "����nH��8HBx�*�6����T�ʆ�3-��,iR������+Rg�=�OB9q�ͣ\*+n
+�"E�	U2�����>|��8@�foh���ή*]�k��voV_���t�:\�pd�8z����T��O�-��`��X,�I��� _,��Ĉ'�zæ.M;`��Ľ/n�J��&
I%�&��h�#�{.�,��ȰYmS�W��ݏ�*8}�������,��s.�-Okn
~�١��,R�1v�2��9p"fi[�OF�hn(5��})+^d�U=J%Jt*�hM��R�oc�/ɱ��>�����	���k��z�c7A��Yȑ��ؗ��$ûE	��v��g��o�[eλ�A�G��r��R@��K�=�
[�c=��>�"���ɡ{oӲ6W�2
�h}
	
�%�m߳�L�O':�z4�����C�����p]�Rx �e�$21�|��7��F_}8��J�dY��N����ף��ܗ�i+El��%}��!��#
���<�o������%�0&�|��-ql���ze
k@��s���6X���T㍋g
i��SV�]��ş�:���O�hڍxm^���Ȑ;���-խ����HI}t� 3��7q�����xH��(���{X.��>)�e
.�ļh�qx����aW���1
n�e�qN��R6�)J��AjAZ�#)���P�z������ň
mݽ��Oӹ>�n
:i���~��`r���=�q��'���M�/3�N|k
J�W1�	xM;�l�mV_t�궢�}���:�g[D�����;Q��"�
����{����.�
�Rp��z�-�2����`N�ZW[P�~q��`קo�9�\HC���^eg�-J�
n	�
;�|5M
+��zլ�ڥ�Wҫ2
V���r�m�w�9��?�C����^1��t)���U������vXro
�<�u�1-1��8�q���O�R���
+�����Ź!��"O�sA���S��i�j�f{y�Ն�{�
+endstream
+endobj
+3528 0 obj <<
+/Type /FontDescriptor
+/FontName /CDCNLO+MSBM10
+/Flags 4
+/FontBBox [-55 -420 2343 920]
+/Ascent 473
+/CapHeight 689
+/Descent 0
+/ItalicAngle 0
+/StemV 40
+/XHeight 463
+/CharSet (/Q/R)
+/FontFile 3527 0 R
+>> endobj
+3529 0 obj <<
+/Length1 1606
+/Length2 4916
+/Length3 0
+/Length 5720      
+/Filter /FlateDecode
+>>
+stream
+xڭTeX���&��C�D��QI	�.%�)������A���!�SJ�AR$DB�ot�s���w~������x�u�u����16�F9AtPH�����2���䎹�B�i�` �)G�ǧ�b�(�
QXA� - -
�RRR��h��^np�3 haj%$""���W
+����I

���
A(�+��C���  �����]c=#]����@��� cw'
0�� H
D E� 
+	��j
#�Ǻ� 4��x� �_!Q ��
+�`�� 8 s"��`Q 8�p�"��CQ�	��P�
W|
f��`1 78
�W5����'���ULJ((>���j�w
��b�p$��xb�r� �p
���ƃ���i�c�H؟
Dn�
��`0x<�����'�ߺ���ߧQ������@PqJ)i|M_GRJ�Z=$����vG�3���{@��vFOF!^ 0J)a���K�;���>������y�7q��ѿ]���>�Z�
�0����aP C��7���]������D+�
��
��-$
/����N8F�	ñ g �����	��!�H^��c�IIJ�%f�
=@���!�W�xy~�013�����k�;��:��
�'��>���2~ahh�<>b�2 1iE���@QA��?T�
#��}�u�{��[�����?�?-���h#A(�-1��`�b���+
rws���������{�!O�rjR	qINK�V]��Ժ��&E��.|e��P�j}�
��T�xZ*^;�|���D���
�kcA�&B�fs��
+�����7)�|��/�Nٲz���p��V^���Ҡ��}��%��&7�#� �G9L��4�����f�Z����-����C���ޞ��=��v��
+>�G$��Q3�o�Z��DO��
"XnnI�Z{�X�g¥�U�J{<��^�_��iFՋ2��q����;�=�][�ծM�k��-<��MgL�q;���
�2t�j�/�Y.C'�z��
EDg���&�Rv�
F�..Q�i�~�D*��%h'��,=�rm!�`��~:�dB�W��:�כ���Dq�"F�t�*_��Ɠg<�M��1�� ߹�7�V����^�ͺ
݇!��͟��k�Z	��R1s��z��״bE�`�u̺��=Fk; �+��5�� W!�ѧ��$��BP��ǻ�to0ʍQ� 3�-*�a�3���w��ϧ�	����ଔ�ـ�{�}���Ο�q�[Y���Q��a�U=���~
�v`���6��|5[��:�t��7,@ r�i���K�QoI���~��Bl���y��	�))^�+z*����2��y�s
��=Y��5�F"���n��z�%�[�~�?8ѵ�^U������v�hCQf|��
Fퟂ��=��,�H�
��/Fk?���
�jZY^{��[l�R�ŝ}}�������4����-�S�5z�[8
�f�T��\)2��&�Qr|��^�1��ƻ��MT�����s��L#"?4@?�+�q��ǔE��'�4"��+xx������$ȕ�i�U�*��\I�IM�#꤮\6��2���=���A��;�ؘ��#���F��1-��� #���KO^lU��N�܍0��wI{N�^n������:]Y�`���H	׃��ᾡ���3�^��d��,��/�jal��<�8�n���0$t_9�l
i�-V�����B}�/�<k�ЖE�������
���ŋO
ir�*�j��E�K 3�u����~Q�S4<ԗm�ز|E�j���Oj;׵��[C8���
���,���JXd
SE5N?/lo��p
+�M����b����.>�Zo��
�5����w�>'z�n�J«Pg)���
�s\�3��᳍�͊G�y�&1�]ye��9)���$�w���S2����b�x��x�X,XG�S�c����ݰ%�T�(�)C>� `ޔ��
th�ު�(��Wm�.V2�ͯ��1a��
ZX�f<Iņ�2��EJ��URP}��~���ޔ�:��r���R�ʞW��՛�J���/�0�oj].�	�©�>I'bYk��!��ԕ ~���
[�$|��-�a�/h�E�T���su
+��2p��r���0>�!E9p�%yR<�N���5g?��P8]�K�]�����
�+0
b���d%w�� �g��g����C��:X��%�^G��PF�
���$�8�֊�bLM��z	uq�
��f�Z����L�⤽T`���h������(/�#��]�Ʊ��֌���)Bf_
��N
'���jȐ�c��d�9˪0���0z��#�V� �Wl���֕b�7��
�K��ieF�j�J5�D��|�
+��az�
L��@�ߧ�
Xe���A
qu�V�hᶭKϺig�q������Fb¢�b&S�+Y�fF�
�5�V�0�QW%8�
��K7s]�;/3��
��*2)�L�'�N��v@��n��Xo�Q:&P))�yP��d
T�B;f���!��E)U�1���~8�L���{�x�����'���c��������U\�_A}w���o
���P���g�+��#{?#��SZ�f�'?��\��Z��*�{��\�+�Z9���3�����"�����z;���X�*(��K��%������)ÛiM
��XٟOs��gs�`�R�y�}��KZ�%6^c ��ɌoB[f�&7tsV�h���T*Hx�q��j,eG�}\���|&'��i�
dJc�|��y2N�6-[Zm�j����� pz	ގ�P�GS
1��8�U�7喛��c8ֻͬR%��}~�z?z^���s��f2�1����
�5�LdYwc�PL��)&^�.��V-*�*~�\4-�}~M�'�G�����b�c��Z�"�*�\u����v��R�R�}�8�=%�
+	�4=��A�Y�t���	��i��
%C��E�E��
Ǐe
	^����R‘��S�<[i�5���_RN���鿢
4�s��q��&(�	<,

�zQ�$&��G��M*��^�}oG��g�T���������GFVe���p���
3�
��>�G���?�@cEQ&��O,[yS�g����$�fX�Yk���9;���
3�2HL*��+#.�+K�
�~�\"�1~w69���Y9Y�kQ hn;�뭨��
~�υ���	#2d��{
e��ؐ����R�Y��a�Ur>��5y;� tTC�U��d��}}�{�W��9Zj��b�6�9J�N��3W\��"=	��=oK�{@�}�F�P��0}�q

^�ò@x�eO��C�$��GS���.(/.��N�51f��k��q&=��L?6��(h�

�!Xl2gJ_6�ܧ:G������Sw#�8��C�iח�a�,�
/��/�x/�fYeR6��N�D%�'h�N^
��=��?U�[H� �9�w
+���M�s��~V���3��Oo���1��2�\ӟm"7#����|��n '�j'���
Wj�p9SSе���qC�9�:�R�a����NW����t,�[+(Q���Պ�
��]jF�YV�jrdʋX�1�����_�3���RC���i%�2!}s����^v*�?hY卮�a��M
)�%zG�??.��k ��\�%"���
��p
0�T��P�.J�#? �6�b���e	��F�ю�~�'l5�G��k�
7,�N�D�=�M�m ��t�u8u��<��0_�q&R��+�+�&�z�,������0X�
'���k�h~m}g_v��E.R}l,�0�Q��^��ǁ����X̊9q���
���?@
���l����ib���n8K^ٔ�;��&��#�1�M��s���J�
�Mi;5Q47<��J�.nT�>���g͢����;ֽ�����~�r_��8�_�-�e�o�H
����!b2,قw�ޏ\7�B��i���a{p�#m���X�)ZyxZ��f�۪�rKO

I=����g�v�9���)/'�%�
،�

�
��#⾥�JEj����/N�P;Ӹ��0���6M~��e�)ZO�S������
*��I���T���d*�E�G׾����
B�M�^Dk��-?˝ʾg(��Iˋ�/���vR�#ǹ��YP��h��]`
�R���p�*r=Ž�n
u�-zF�B���z�$kf�%�E�jW㬤�?���7zu��;v*F�ߟ�O/��/%n����`���1=���o���;���*��b���8��\ҥ��W����#2V�v�-�W��<
��>N'	=��P;^�[I��?�S�?�ځ� �IZh[��v�P�5�A�Ez\s,Ю۴z)<�3ݮ�1� [...]
s�X��oQ at a*
�S�0��2��A
d
ԟ�e���+`*���	���� K|�/?�wݲ+������eA�O�)b��-�g��u��^ ~��X��H���b9���5��M� �(�h �cċ~�IÞt�i�� �\�
ha,���� 
+ZN
+ӏnF���O
%ic�;
+��6�E�oC�G^�/��l�H����

t�#&�a���л+Ryu�����	��u���S)f���!�{�����8�+�d�yu}�4���g&���K;�����L'
>
���F�
��}dr��V6�������C��+�q�Mh�@�NP�&wx��e~z��%�8t����Sv7$��8����]�{v�8�������ٌAz�y�>����H�/�d`w������-�O\��

���*�l��µ��%
U�X#���V�urw\����F�
5U�
+ُ5GJ0�X�I
�� K
���9����"O�C�o�q8Z	&(��%�խfE�'ԕڌ9sls����Y��\���O$}�� ��#㏍H(4�8
+��9����f	:��0_v
a]Cd�Q�JKj�#J�H��3���ɝK�^��h�-\F�|���5\G�ܸǃ�$A� �&q�V)��I

t�|�o1^��,��u_�R�i��^����5�GZ"z��
���Lg/���s�QnK�M�
�Z����y�ت�a6a÷s��5J��-�?<��0��rM�BS�������4�L+�N��
+��k�̵�1��~]��
�"��P�d_g�h��^7���b�̊1������I�3��d��&�[�΀����p�ŲY����?GR��c1JD{�T������E�J�
��� %0�]�|�@�g��i��X��Xy}B̧�4�I�
w
l�cR�UQ�
���o~>�a��'���F�7ļż.�1�;��\rA�����վ��oa�4�hݝ�Oz7�8�� gC��
+endstream
+endobj
+3530 0 obj <<
+/Type /FontDescriptor
+/FontName /QSNXBJ+NimbusMonL-Bold
+/Flags 4
+/FontBBox [-43 -278 681 871]
+/Ascent 624
+/CapHeight 552
+/Descent -126
+/ItalicAngle 0
+/StemV 101
+/XHeight 439
+/CharSet (/a/bracketleft/bracketright/d/e/l/r/t)
+/FontFile 3529 0 R
+>> endobj
+3531 0 obj <<
+/Length1 1612
+/Length2 17017
+/Length3 0
+/Length 17858     
+/Filter /FlateDecode
+>>
+stream
+xڬ�ctf��&�v��N*�ض�'�Q1*��T�Tl۶m;��z����>}���~�1�=qM\�k,
+E!S{c����

#3@�����Y��N�Ah�
+�+䀣�q�X�ۉ� y @S�(���
+`��憣 ��;x:Y�[� �Ք5h����K�	���j�z:[��(���m�
l�v.!��
U�@��`fi�((jI�K �%�� @;���
@����� ki�s� �� 6�> L��L-�)͙�/��3��� 4����0:���8 �l-����,��NFv.{�b��3�q5�'��r3�%��d������/����������
�oTEQ���ba��Olg˿j���_KS{�J���/�_�����3����O,c ��������o�`N��J�������2�8͍�Lm���a�b�ӝ���Uo��`��/o�Y��
,]��6f�p,�c����mni��ϠHٙ�X��-7uu��:7�ӿD�����M������`
+4�c��w�@��2���
����B��?r����������	-�jc#od�w ��` 7�=@�ώ�1r���Z�x�
��P��$�?p�\��6C���/!̌��Z:�[z M-]L, fF6;�/���)�������5�����:U
Kk�Z��o���?��KҿRg�W�T����ϝ�/+ſܻ�z:�M��"go���`
�{ ���@V6N����XX|�����_g9#'K��ߒ�Y�U��x���0bv&���̊��������_��&�NNY�׍�[��<�kЁ@�	�꒽��`���t�Z�ܡ	Q��
���zբ�j�n���
�
+Ï�Ɔ)�?���g�Ҵ�#=X6T�)��|2���M�vN��@&�R��s�(���m�o�ꇻJ��%P�S�lN0��4�dn��OH�&��c1;P@�j
��)O���F���o!{��rba)��A RF�;��
h�Ux��@�7"�߶]�!����ϣ �#���}S4�_�k��H�Lo�M�s�l9��ĺ����J����Zw�s��m$�
껛�&�΄�M4�vC��
�]k[M�֋�;?<��Q�۽ꀂ�a8ܵI�����KwYX���+;�.6y�iAØ��gֺ�\�4Wϩ6G����)�i�B��[��I١��m�qI��s%�v߫H�>|��2�'�HM
�����R��f�y�礑��V�V
���l1r_�D�0�82$,�����:_g��
[vhi�^���X�p3�@�+&Z��|r![͢A�v����gM������b���U���0� �X�(���7d8�z;�����yR?�AH�w�1��!$p/$Qs�hގ
�{ϱ�zxGb��(WK�a��B [...]
�5�r�9
���
g�{�?#����h�R8�oD]��/z�^�O�s�e<f�gcV��
)��Z��G�$�X��`n�0���
gb�,���b��9G`:i��w\>����@G0~�"`���md6��g;W�z�rʏ�[��@�
+c�����+�jd���~r��XP�B�
7�˟K�,	:��.n�5+i�N��P����k9u�Dv��v� Ʊ�G�,mͰ27L#�Oʤt�iP'dq�'o�8�q��d�,�A���sK�R�'�-L^Oevյ�k�)�~�ef|��n�W}>��ʷ�o��/�>g)孁"�
룿�ΎY.'5X�y;��|!m#�H��I��P� /
p�]e6]u��[��Үf������A� ���I��`��_ (Sh	y
+M�ɿ���P������}������R)�����xP�={���K�-)R�BK�4a<��c�&�X�!��
쒌�]~��TygyU�5�_�f�1
�)��t���
׸c���_�J�(��[s��
+S
+Zi��pa���]V&R���";��6���PÈ��10�8��ɹ�^f���.*�\|���$����	
+,�QѶ6�w�
# g�2_E�/ ��M�{�ζZC����� �*4E������n���o�!
+G]��D/w�„�Vq�f�ձ�*�(��u�%�

�׼�XeW�b�o�)G�`�8�������OS�a4ZN
|0�o���!�%]F��g��!�z�0	�
+�[�N����\�ﱖ:ӂ$}����6�{�� *����y�b'�$�V
����ܺ�A�G촎�C�bА�ΐ�,
T�%�T%|��_�
��RA:��,�W��mtS��w
�������VJЌx�[�cz��2N\��
��I�����U�c�>	��
+J��]e�W�(
'!%@�C'9;�J�3lίПL	�;Ss3Cw�����7����
۝>P4�p��KO�U��
�фn����Uk�BXܚ$�U
t
*��d]�9�&��h��s��+)��c��
z��K��W	���A�K�l i�jT�A9��G�~.����$}<ܘa|����C����|5e6�9
�cN
��ۺ��K�cb��}���d{�R�+�H��A�d��i������I��
������5{��[�I��캃��B^h���y�t��X��@����.�����5�)#MAPߤQ,����@z��z�{�_� ���W�R�'�_,�rj�_m����
�%_���͓̚��S���y
�Z�9����t�ߊ���ׇ���:x���tO�s�L �F��Gm��~,������6~iO�.�χ�T�)t5���
�E�_�
U����f_�\����
+]R�n� [�M��
]�gD7��V����һ
��I�R���@�
+�cFMp�:9};.E�Q	�̱Ogp1e�VԎ��q�ʛ:�S1d!g´!i�Ѵ�gt���M-�뙀i\�<5�O�4$'y1̓������b�Y�-���k����nEM7fA@ܶm6�xQs���5?
� ��H�� �S�F";Dq��)��>���)O:i���_�'J�[���G���O�
���M�0�j���}�}����Tg[��r�#�e��)����YF���l0��7��CAE�x�0�w`�_Y�=P�aQ��S���wB��Z>N��7/�LƔ�#k\�$��gps����_7U�����Á�
�A\S.�����k��2���֣���e at n��
�]Pȶ!s_��A�|"�3���_�>;w��j*�ᦃ�Ǭrx
~��Đ�&��(��Kt/=���d����6�	��.��|"���Z���24����+Y�EF��HWLa�2�ÓX�`d��<����y�e�`ƞm�j�����.���CN��z�z �����ʵ� [...]
+AO�r�.^@7���]$%��
��n��W� ���ֺ�~�
+��(̀u�Pf��|�y��Rނ��H����h>��U�;
W;��k��_�� c��*�Rp�ؕc#mÔ�%VǣرX�(��y�P��Gq��
I��gR�m�w�s;��1w�^&w0f����щ��N�����9��/.�+�q�7)�%����ٺ)Û�+�#ve��V�V�X��4��uFh��<fb� ��Л�U]�?I�1(�QX���y
���X��8
2(�
+�kxa���5]3���`�%��ֵ�#7�ɛ^�ä�p�A�

�F�,6�$��'DJ���r@�
,�%�na�0�z�.�����(������m��&Z��l
����l솭�.8O���h[ŔЖ���hD�t�f}$���k;����R���;�ef�s)�4���}K^��a�X�3�Y���
��y�8jdl��K�u�m�4qp��Dž�1�}����=���KH%0+
�� :��-�ʣ�j2��a�F�n&D�k���c �S��t���v�>�� �P#(�~6f�X�N�o:kz�	#uZ3/�H�
��ԉ��6�kZZ�J/&���T�t���$�L���`(���1��Ϩn[��
7�������Vܲ�z�I+O�]f�"�

YGb)@��jZ�8������� �~`�������;z���u�>o�R��և;~s����&DV��!��^=��������
>�Ћ�h���4%,X?�ѐ��ǺD�M].*.)�^�c� vY��iO�
gH�+���)O
�����|T��aw5�wn���d�V��Ef������V$v>_�0��P�r���=QF��+
�mC?��کB�z����ꨣNC]�����QI$j�ghX��Q%r6�s1��@"ҁ-�����٧/�����<.�j��L�
;p\H�j{.+UVg-���Z�����N="��9YG`��;}�/U���e���($�S�ha����:��>Df��ז� �����ʺ,?_�f����QcrB������=!\;\�1��
y����?7[���n��ܡ'e�
+
+�&��3gRR�%_:��ʇp	lkÓү�\����	�P���)	�@
����	n[
i�6���>���<���,�x�2�����%���jK#��d���2��Y��'����i%r���B�<Q��V
�a��kj���>�8�*_�Ʊ��ĝ
�&�2.�]s��<V��{�N��kMs��qe=�-���~h�Rzޝd>�n��E��[����BX��gfIGU[����[��G�N���ɫd;�2S?�� _۔)�=�i�Z��U��<n�����*E���i�-U��̝�VBg��y6�of���u��ݲ$�HO~���
���L��$�_��W.gR"f

n���
u{ҽӃ"������Ȯ�ڨw���E���C��]��j��w��B$���Ҧ����N����:�w�6���6�
��D��H��p�Ő��줶�o�:3�������
+
+���
W=��v�C8����&*�K�������*����۵v�ur/l��
Zm��$��T�X�
Tz�%�

e
�Z������;X;��A�4QY{d�J
�9��}��nL�2�Ĺ�/]� ��ٮ�(��7
+��b�^b����P�f�����2Uσ� 6E�����9�	7ĩ�^�)>��2���
��/�߸g������I���ZJ�P}�hS'>�K�R~O��.�{��t�w�$��[
+�J&�N~R�G}��;{�
x�7��Vo�_6Cw��(�Əkf�ܳ*��x^B<�ai�����ePA�102�=H�(u	^$�-��O�O��r�
jH%��˪�42Kb�8
+�t�QwQ�
2�ܗ
[H�9"�ig�e´jc��f[ �dub�g��˟��olm�5�
o�ǖ��H����[H�r��i%f)ݶ��k���-ғg�6�NjeYS�=�#y�j=a�v9
?)��v~��<Op�
��[�`?']F��z��z�Z���Q�D���hh�C��W��^��Xi�a��1��pZh���qˉ�K52�K
�,q4aW����F�c�簎(��6[�~4��]�d
�{��x!�a@��"�~���
S,�������`a��X�:|����΄�
���C��%0��������x��⬽"�L�ʓp���m�dG��zk�T�{v/[�
A�B6!yE\���NQ�w<�;�6 �&^(ALȕC�r�立�H&(K����:���I�'	�����34�XF}��
+2t���&��i�ǂ��Z���v�̓���㛸���b@�A��K4�/���_�s���-�
���t~}����rg�+TM��`�O��]�=,�����Rj�H�؈��;�μ��*X�cV[B�F�
+̒3ޮ$'��Xl�W����օ�
496LB(W>����z=�e'F�q�v�������K���x�?��Z_]f��B�%�s�#�
s!��&��Y�m�W�i
TJ��e͡��X�P��vH i�d���U�X�V&i~�?,®��;q.k����d1�Ȟ��
i�Q�w�'�k����a���b�A�*�Ԫ����8cN�XgOq�Ix��rͫ	������px]��yib Я��]/5Ѽ�a�m
8�B�+�����
I����r�wTLf�o�%�dZֆ,XE��_�6OZo���e4���cd3 s��ϸÔ����Ȳ����Z'��I�h����M�����kH��r��Vh_A�������~z,�ݾ����D�.��@��
�+T�����k!��Qc��x
+^˓\
+�k�&�'��s:z_=2��ϓ~i��2.
�N>LD���^9�;i�kRq�瑓�D�5F�ҟ��Ad��S��sw1,�M��6�䖌k?�S	�KA�
tY�䧈PxX����Wo��y
+����L9�⠹�y��%Z:�9����-�E�?�>':���4{����^���f����d�3�a[j1Ϟ}����0�r�;�����D�b ��
+ +����8�u�������<�-M�HY"Ѹ.�m
9���׼��]����-'#|:�N*:V-XX�v�2��/-Է+����stcr?ǠW"9�@��Q��Q�:���L���ʃ�s�cCc�1^�V
�Ys4�R�b5�6����Ȯ�`�Ԁ
�r�ǽ�����+k�ہj���ۏ�z��Q��Z���y"� ^>�l��JEV����Y•�=�T�uo�R�%2_偂R,��쮠���s���2���
a͵���Z���.��
+
���:�v�ӤlO�#v�I`[�q�p�P8��'��/8�k;֮Õ{tcu���Y���|�Jws�By�z����Y��^��
���)` �
��#��=I�5S�E{���}͕}�װdm϶������$,)!�o�	찧+����LOnoR��3Ќ���A�R�<r
�}\I�Ul�
�}�L�~�1O�����@#��1�l
�X�=��k+��k[�����
�ľ|��y�gQ!�m�kPv���1�t�S�7�F��k \o�jW�����
�
a~�>C�3�G9�m�DN���

_rb
Q�ֆx�fO8OT;㷊m�6�'hܼ��$���f^�<-��;-�����]�8o:�c���G�+�.�xy8�R�H�|�q�U���p������hs����AQA�e at P�Px���x���#��]Ǐ�mb���Y�$WG�
o��Rk�C�����^�kn�'�#�����
ZS1��o9����6�aK��:�I���i����Z�5Dϵf3R�:�A8�Q��e�ꨡz���s��tր�v.;�x�h���7B�Gx��"�vr����Q^�������.$��n���m��m��J�
+þ{��I�"d6z
7Ķ[^��(+gl(G��ڹ$gG� FZw�7i���C������F��_h���d�_�Z�1mͨ+�Q at McsgoT�*%�:ʒ�H
+���	Zcm��Hԛ��䈼u��x����	w�R�ΐ�zh
��_��j��l=�
�8v�R�E�u��^�c��	��F(^� ,',)/Р!��R�߂zz���E�3�&��})��<�X@���e���Do:[�u
+��L
~�
+2O+��n��Zq/J� Gk�P��t� ��=o�^9~�^�b?�
r?�LfB�f��O�o~�����Bl�1%Y0^��#Q.7���}D=�£������Me}O�
57���G��f�T7��	��MK>Kъ�laj!y�4+�{��Q��_�)g���
+]�ęBn�z�f*�+�1�jE�6v^�n�G
������͕
+�B`�)��;�Te_��� ���ƥ�e��**BJ�f�}��{2ϥg���'��Dr*� +i������:�ms1�?�W�̶�5'K�{Sd�����G
+��s5p��
+��-�^��;�0�z���K\C��_�-y
+_� Vf�G��W���Q��
f �ZW}�3�a��O/h-M��Y2�`�
+d�g�uΕ�p&b+�jԌ
8LV��c�}�~�m�N\WL��V~y�xۥ�ߋI8Á��W¦Ҁ}:���➦��G�{��l{ �`�n"��&�iy*�/��;P�|KmQl���:��E�D�'CR �UY�
�˺vA��or�
CW\��-�(�l0��l�V������ԛ>n�(%�@t�8��E>�iwY����m}��,3�U�
��í��KI��|z��~�g~ ř����7��#F��Y/a�a��m�O	
!쉏I悯���x��F�LsU*����ğ�u+/m,<�Q����
��U����D�V��GMշ��h���1��;Y��1#UJ^�"
#��� ��%57��
�¹X�O�Lۃ��F����ˆ��Z]A�ӜX���A����O#�
�~����H�9~�T:2^��!�Ԟ�WL��# ����`�4�Q���|�@���C��-��
���f{fM����UD�7�U1
+#�2��LL��Nχ�c^���㇣ܦ�1�D>{=�|� ����V(I����wnў��k�D
p��D�Oy�=B9J�#q���	���s�o�_̀g[�h��'WT�%�:�,y�� ��K��pD?,�2@��]����m�
��o]
+�վ��G���y�LJ�[��Y[�k���>�@��7�L�`)�
���ś}�ð�*��|��2�S4�hg=�W�̧��[y���'E��_	��M��v��������<<�=8��7���gP,'�%���щ}tk��S�x	
#F�D�a����x�
0�r6e�2ք�d��˕��&
�I3D�|�Q!Jf�w�rS
�}��-\Oް�G O��M��4
:��dL	�(�lPN��BB�	G�Hm'�o���}D�
5�
�H�:��1��Ͼ�v�q��
)l
Qg�[��Z"��;u_�D�)	�f�L���ݮ,62x܃\,LKR'��r#�27�_0[nrH;��&#�0�0{�;�R�96^#�§�
�5��Y
+ML���X_*�
 v|��4"r�%�(I�*k�u��\���ʳo��_ȌP1�Hs��5���=�"��%���F�Q�Npyԣl�
+�#�[e
+;T�6�2�a1�I
6d�l"$J
uHP���*�ϙk
��ZMÂ��7��&4)��?��d�lÿ��*x̷�D�	.�
H��7�o��Fsk����6�s	?/�H
 �._D��F-��L"-��'�����O����j��ͷ�������x#����P?U��	��5.G�^v�Q[ѭ�R�h��h��`��gĕZH��-<�z�%����@�F�>
�i�ù�`�sL��rl�3�Z�J�۹u}Pg<D
��H^����-
t���>�Ô�EuF!�N*�B�̡�x-M��aEp��~��DY�'��n�q���v��=�.�/7��=cZ)�+�m��f��Ȇ�M���7gƸ�KS����>��}P0Q��Y~��m����
+)L�pM���|�[T�Z�ⲛ�Q��BG�]!Y��.�r
[���Lꈖ}�K�K�Y��c��4����VZmv�Kw����0��
Nm\=`wz
���yyhϡo|'~E_-ւ|7���ka�.��3.��+C�L�Q�SL�X�}_Wn�5��]���c�N�3
*�T�����s��'�s^15{H��U��%;8���P��7ܨ�H�3cb�<��@�7|�έ�/��dLg*TG;���"��J0u�|��/;��W��!�`�|����?u���&���
J��L}|��B���7$������q�6r�ЅÓ��'o	�����z� `�F!<�oZOdT
+��\8��S_��9�.�a���"��Ƴd��~�K
���P��
+ۜ��,C!
p!�

�sD���L�ɸ�ib�z��r`�"+f�ȴ7��Q�3�����JM��ƛ�b�"�3�i����ۊ����`2���yE�z/��w�<���
+
+���Z��޳���I�MV�ˣ�S�q�9�	;f��)
L�Tw{H���	-�H��D���3��s'Cd���#PFz��=�� A�C���L⃋�ke
�|�V[�8C���D�y�)��
�g��Z�H&�/|���#mu��Փ-��s�y�y�E�^NZk�D��xYG�)z���F�r��H-��d
*��
W�x�B�����ڏ<�)džD���(HܷGKo�]
�^����j��u�<���F�i^�%Yr�\,�1r�}!>i܃p�����I�6��!�I
��
��2�R-��9�����7^������\��a�je�(z�A�vӱ���]��z	V�C�ƚb�ixlh��\s[|���Npz=�0��b�2����`Z�A�
�[�����r���ݗ
+�^�7%;O�(��U�̘R��Y@���9���KP+b�}���;�X�)_�k�}ܕ��`���~6��Rk�31�9l��c�!�1��[	�L���T_r��
"�[ᄤ=D�гB�>qjn��%ǿzk
gM�	i,
�.��u��^N�*�V����/�G�7��?�W�"eI��T�Q����
�9[B�����`(Ծ�
�"P��
��Tv{QR�N�L��EǦ�@MJ�]�j଼��nL�uݧ
;/�1�Y/̃�|���^!>�I�mX�i��=	r\�'�^����D�
-�#
����#��*�y%
���S-2`����aR�"b�%�8J7,�G[�� ��:{P��ZJ�	�[�٨/l4������G at Z���r�[�{�	��~)k�0��,LG���0���Ժ�����,r��b�]�c?�*�EiP��*������	
bY�2�a�ԃ.ʹ"T5Wֺ�?�.s��p�b�1Vq�lR�
r�� %�"q�b:枤
+
R�z�U=���Pve	��H	9���� �+.���a�n正!�ű�A�duʌ����c�:�bd��մUz1�X���n��+�\�˭j�[�6�:lS_t\���
~��,=R;��$�z'��!u�SI�I��;]1o|V�V}�V0���0��;�"��hiX,xc
��
�7#�&(
F�%[l��/v��1E�����+]d�%.�?�(���*�PM��ui"PI���I��O��jk'����V�GC��!�C���g
�˜�

����r��n��W
�5:,
_2S���.����H�}?�}b�0{�>{�N{�E���FF����}�5�ߠ6ԝ�����j��X�j�[�<
�$Я�sأ��g�j�ކl
f�mڒl���u���n���{/5�,Gʻ������N�MDLlFn�cB;��Q�h����)S:Ihi3�~/K%�
�I���lcd̂؇��3)�v����	qA`�}�J�:��U�6.�e:S� �j:Qi���5>CK>}�P�P� [...]
+̓I�=>�iKy���"�^�c�Y8�
q�
���>䎄�W�WPfA��/
��zh��"@�6��R�YE�e?4���=>�M-�(RDshy��f;�x*-����e�&$Ö;�	
qaW�Z��C@���e��Մ���@s~�
~��|&5��&��t̎���SB���$�
�Ja*�R�"H
+�a�5�3\���~�hrD��.ʉ6�@�LKA��E�[��}n��S�����1�:�n
��mD��57�qz2w\�c��: }źX�����
0�	y�c�&/
��P��E�ب�
r��
v:n���G��C/n�ì$�K����3{P�{�
��g*@�)�s&� �ߌ��AB��nw�Y
�v�F޼�i�zO6q��#��=g���l��.���r�H��B`
#�?("8z�6~g�ם�

�ԊY�
+��2��6+n�$T3��o
੯v���8O��/���ۂ(
��~l֛���-Z��3
+
���[��IW?��'>�0��~qŞ_��a��y���D�i���~yp�$-��
+��2�����j
���S
k��#l�hc�K�]E�J��l��d޿1���,<�=
���M��v��ԯ-Jb��-����1�Cm.c��¾Z�f��t���x��A�Tˢ���e�u���JG�5wq�C
��NK at kH�A����u:��3"���T��\^)5A�a
j�|�+@ā��r�Z�P�=~��#Sl3�TQ�>yr��
+���wr:�N兴�B�IP1�����|?+� ��>"�'� (U
�	,v����<T��>���|����1O������9�=Kc�~p!�S��&{B����]
�^���΂�v�%K.�{�u]ۢ�����'��e9F��e�~��Lm?i_1C�l]Z��
i���i��R�B�E
�,أO�.Q2qD�Kq1�w�'�|ejB�CZ���R�P>�0��Ym�5���9D���B]��b��Ó���|E6J�ʧ���	�6�$�G�5���~g1:o<�N�͍�<t�o�1��А=����Hb^5Üި\��q���Q塱�
Q�O�!���fK
ڔ,%�`�U/peAk
�0�6�~�^`���:9(��_DokE��&&�ܖ�
+j���k��93�
*zd������	u�,�vڥnJ��渧�~�)�%�vᲝq��s�}��H0�_�(^�;����k"m�.��h��k����[�5{���T���wi����/Xn��ᒷ�{e�Z�YK���-:�ui��!G�`�J�-7�Ml��E��ũ��_
�cI<�Z���吪`�"FR?�ܤ�9"FUi߯T�8�d����t����
s�b����(���ђi��T��r�cB����9ߒpa�h9��64c���4
�Kg$�fҚW X	�x����m
�
�tcܺ�X�r����9w�cC�!dt���o%̏�_�G�����E4�"*Z
�&v�c�W&-S���&h
�
CL�%P��[G�z��Z�6�`�v�IV�cn�\��J��g@���G��X�W�W
Mr�	�M��� ?I�V�岵��vK���+J��3�����G�3>�fR(��;f��>��y����E�1� V�B����<͂W��Ss��8z?�M!T��;EǰZ$7e�g���jYR�!�쎭���*K�V�C�k��P.
�j��A��-�S��{��E%
|FVyh�B� �,voM��=B���)DS�}O�gS�X���V
lm��\��u�Js�K�w�/�^�61

K�-���ʍ�ʍ�����E�>Lq����3��Ò����^_�G�.#k!r��䨧�
+���8%gl�;��d5��;��U�L�YYzG�����/eo�ɋ�Ӎ�l��К���_��O$S*�K��r��\���+�1��j
��65؏H�_�q�,�8.��Oc��0 ��fQu�U�{&b0n�a6��	s�H��V�Ԍ��0q�R�_�H�N�*���N��2T�qƁ�<�mJ���ȿIx[Дh��jy=r�h��fXn��!�S�D�q�b>#Sé�
B4�gc�˳�$<�}I]�`�6�͑#>���4v�B��@o�"5A#r�~<C�o
Ȏ�i�@0�o��w]�]���Q��A���蒅�g�����h+��T�����x!�—��~E��|ţ�i�g��Mgը��7 � ���,�?���L�Q�5�r���R�?t?�d����)�3aT/�
�v�d�
<.(����18Qp*8�R�/@�J���j��'��7���"��ʵ[1g�!~���ި����L�����5���ue���^�*���E-�v�Bٙ�"�.U��/���� [...]
�^|��[��Ua�y_����	�}25��@S���놭��3=��$�h�5�2�
Z��h�6Z�`�;���&uL=��ԋ
p�i�5�{G,=���e3?�F�֒"4��C�Yl(:�����|/)O�*������0�y���pvK�P9�
�M��_��
�e�æ�R�
+��;����ް��r�'�U�m���P�Օb�6�dU��$��6i�1����@pD�X����&�эenlk�qY�_�p"z
+w�s�9������D�7�5���B���S�Y����W@õ�jP����� n\�p�J~��80�:�N0]����x5�R�wLE�����
r��wkt�Rʊ$@�T�!g�J�vE+aC���=�A�h*q��N>RAe��No�u

��\�gV���D��{N��A�o}1�<y7�}�f]�V2y}��&�
CƆ�<��m����Ja;enRV7�
�;�z�3ާ\�r����R[��Y��QY��``���7���ǁ�Hi�BC/����~�ּ,8�
c���+
�ѧ@V#t������`>�a���H��
��O�dK�I�g�+CB@~@%�_��z��`<�&��u�K aIO
+��oy��\�5c��J���Rz�ńtc`�
���h�˜att7 
'�W��,
0��n��/��C޷����(z��ǎ�U-�QA$���Č
��}�
CBpH�((��F�BU���j�؊�jw�K� �%
]�6r͎�	_�.� �ǧ�����ׁ	�os���qh�y1<�~n
�
�W�;V<w���#zU[��ָ>h7�h�IћiԵ�n���PĽ��p����I^��אY��B�L�
+MFZ����!/
R����@��G���g�HE�y���D(I��]9X��
�oG:,Imu�%mD�J!��|�;Y�'7���h
�[��]h�_
B��bQ��5�-�C���ϰ,�-����.�x�^����+Y�eP�+
]Y��X?9�KvTe��'%���U3L�����P�JY�~�ocZ�xd%��[D��]J8
u
+A
+�U�W���l��/���=����{0I�40=\3�{����0�~��Gp���"
�uçβ�;�T�}�����C�(�����U�n��7�4��U2�]�_=
���d�್�D�U�F
÷w~�z4`.��;1��
P�O���w�
�{��o�X���
Z�õ������.��Xg���j,����x��t��e��sE�QBOp�9�d�G��0ٺ%@B��V��
+���kӲ'�
�	�Y�B��e3*T}������ș���]
V+7� ��;��	��5��e at q�:X%�
+�
��1���� �(�fqCߐ��x��� flm�LSkP�S�ՙX�b�
�����Հ�2�+���OA6�[9Y0����@[C;�kJ����z�r��v���
ɿɔ&`�u��¤.��aF��>ĩ��C�	st�.ʗD�Y�s�	��u{�BSp�`�.�0����1���"�[�7��,R�|�f�|���~����Sp5��FU
K�����s�
HP�/`�������?~mO���s�5�z�f��o�B��[��
�
��%�(��_vv������ce�G |�B;jH��}�ɤ������9p�+�
��}�R���2��"�o�]�%e��$���S�=�<Yꆟ����^_��<�'�a���G�9�C��nR��-
����2��d�����;���*&ϧ����f�j�O�<.l;�X��f�煸 ��S�C��ȏ�S���?iy�.-�p,]�Hl�3�����ּI*�
��禜���J�W�m�6��cOzX�[�Ϥ)6�ބ�
+SΩ�Ƨq�@Z��?߅�N�e��
��Qn��M���`�5�w��dd#ɁO�S�28��S���];]F~
˿zFjQ1߅#
���t�)�)w�;
A�.�>t(�}B���t'�:b���<Ɔ����dWRD��2�����3]�jrf�"��X	�M�M-R�����s�Y�uC8����0�7�P��1���lxSD�Y�����  %Ρ���s��!-+�*��r$A8��|sC�%߽\ �c��oF���(ϸG��G���
��Bϟm�+�儀����
A����/��q\R���!4�;�_�J5�P��Z�g"E���k�"�������B��3�򑚅j�!���)�n�{��A���9���.z8��X
�Ya:/B�>5�6	��NT��>��� E���ו��"�.�
��|��'J�W�������r2�Z��\k��􆈓�,m7%C�V�ɹ����J��+
!��@K[
ī��
���|�'5C$���@N���,$3 [...]
+��5T�UJ���{�D��L?��-R˰���ZA�r�J���^K�7�(o��&�d鴴�j`@G�tP�G9�Bu�,u��/h��MV��
g��nX))W܅bC�q~C�BM�v55>�
��O,
���̸��񭌂��� �xt�TݪȣeH
�Do<��7� 
#8�,ujA�T������F\�(G
+��8:��J+��}���7)"զ��
�S��g�gh�&Y�y�G	4�˺�1�TW�s�u�����C
+���e�n�&�$���ȳ?Ю`
Y�XT����B}|�l�8L3�tYo�����B�W�g���A�����^�U��'��3�f��O,�J�X�A!��t��CW��Vv�-Z
E,H��lȴ����H��1�#��S$�"��ݏ�f��AѸ0Ȁ��8��0
�
+^�D0��
�
j_�.5Z��3+9�=^%��b��/���A=����!���9��]��_WrE<P(��ʏo�0�K���yj��F-'��i(oHMRmf�
s�"���VLp�G����'M����^�C�v?���<������8O
o�w0�
���`�G�A�o��=��	s�A�i[�
+�u+�|��\"C��[
�(�Ʋ2|z7Y��"�s�������a$-t�::��%z��A���Ԛj��Ǧ�����?������O^��C��Ê��5������
+�
+endstream
+endobj
+3532 0 obj <<
+/Type /FontDescriptor
+/FontName /NQXOMN+NimbusMonL-Regu
+/Flags 4
+/FontBBox [-12 -237 650 811]
+/Ascent 625
+/CapHeight 557
+/Descent -147
+/ItalicAngle 0
+/StemV 41
+/XHeight 426
+/CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/R/S/T/U/V/W/X/Y/Z/a/ampersand/b/bracketleft/bracketright/c/colon/comma/d/e/equal/exclam/f/five/g/greater/h/hyphen/i/j/k/l/less/m/n/numbersign/o/one/p/parenleft/parenright/period/plus/q/quotedbl/quoteleft/quoteright/r/s/semicolon/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
+/FontFile 3531 0 R
+>> endobj
+3533 0 obj <<
+/Length1 1630
+/Length2 8201
+/Length3 0
+/Length 9038      
+/Filter /FlateDecode
+>>
+stream
+xڭUeXܶF:$DJr@�����KB�`hg�n��;�AJJ�;����.%/��s�}�{~�{~�<�׻ֻ�]{
���$��
,�`g�b��A�̝`��*l�`K����#��IG'
��!�2fp�0@
Ȁ� nn ���&
@���
+���u4��XXX�e��0w��	�X��8�m

����G��s�
�[�[0@������<�Q^M �C�l�N�� * �
fX8@�
 @{�wk0�G.I�
 s!�a`W ��7�
+pC� 0��o �����g w @쁶N��<�-
��ux�{�
��
`p
+q�
�����U'��
�;7
�
,
=A@��-��
i
Q��
��]�s�� �����1�#�#�
'���_��`K3(�
�=�<r������

m��D;���g
8
lk�������m	�����,�� .ο� '�`�`�1����"�@��n ��C�����S��?'�@�����y���]��q�������rN��jfv�
��#x|e
 *�����y��_afv[��wG=�_��7��aE���P$�-�a��f���
��A\� u
h�0�}����=
��؃��3�� Nοa�V���o���������(ן�9��T�
Y��
��S�q��n�`���Su ���GJ������`�� �����M�?4\�:����W�NvNN.���?>�:��F�
� ��9Zp3{�����:A������M���g��`W0sv�(`���
+� ���y��ƅ��XX����[����"T���<��zD���mj��nC�y���Ȗ�5	|�C����=��"}� ˦?�I!v�^��Ѥ�2�!?���ꐆ���[T��F
(����K�\_�KG
o`�h�&�j����}����K���ޞ����
2��h
:gdl�p�wYd�:%
�,눕�TQ�q��f��r����R&�?h��h��{7eyf(
 }Ll��F�hr�iMؘN"yV�޵F���ܚ��V`�Ebs䓪�;tq>$���ks��5�w�w������p�X�u�O�7�d�N#��������'ktVS
�h�;��V=��VK
�
{]��[�[Kzn��YX������-��B�>�>�/�s��o?&4Q_Fڇ�ɶ�֪��U��t!6�9��z�d�zb.��8mW�~�]�V��S�
+ۊ
+(C��;Q���1s7�
d:�*����^
�T�C���Xӿq�=Yhe��8yʦT�OJ�
�%ӆE{Lþ]_�;)dU�yL-nɳ9����i�Q��W[��:����}+g��lw۞�‚L����V�
�@9��x>���@u���+���{�A��̫�:rk1sGt�gB����
�N]����^�6��+�It�
�0ª�7�BƲ��Z�M���+�W^S�T����QE
S�
5�شwsqMq��[�l�
qo�u{
&�G!As��Me��
�&*�O)j+mg�\�gC�bK�q�ENs��w1Ad��{̥�Noc~N�U��ҫ��`Ϛ�E�c����f�Be;}��gkÇ�(hO
�5$�'5���
+�+Ԗe�&��
T<B2�
~B)�q�*ן	����|��QI� �zz��PE�*��ϣ�;Y^�{v�ek�8�ܭW��儛��Ց������Ft�K��5��z�τFR��s��ԖML���+u`�@�<�a�Y`�r�2Ü���
�SƷ	ؽ?�S��i|��]۱crO��g��В�3S_K��q���M������7� ����U˄f�n�Ƭ�z[�v�>�4LK�͡a�q慠|���&�]��F��}�ݮ'H�E%���޷�	oY�=�
+�
f�^z��d�?S9y��?}'#�Q��u�Q�,lrHXO��B���}�be�����
?�$�8�K{&&xHM�#0	�J��h�%��Y����u�.uNkP%s46�b�m}O�4�
+9|�
r�%=L�w�11��@�����~ٝɺݔ;?��*@f�Đ��y���G�񼑵�A�8n�4Ҫ9=#53��LJ8Y�a�_��:#^Ʊ4zQ��q�gŅ�]��Z	i(��W�#�I��ٸ��'T'��{)���
�O����[��|��K�Vp~Ҵ��
+��L,��~Ĥ���5S���`[���
��n�5IMm��-��~NA��M<�4��D��-�Z��Q�qA�`����ԪQg
�pɷ�	(
��8v|�CjA����OC1*
<��k�m;Z�����'w��5��6��
+3@�.hk�,_|Jc�P�in/�˕��nv��
�K�%���(}Ë�l�X^�/x;��Ft��̽
힌�:���p����f-�&a4�Z��+�)�d��|
z��s�'�ը
5�Ї&��FEqV2#�X�SӞfE�o�������(C���C�
�1����g�@J+�,>R<yԾ�W=^�F�f�0����~N�<���O�xMG���o=V����xZ4��d_oZ�T�eJp��.�0bvE!��	B{�!����#��X�,Ä�[

|U����V
ga��4�[�NVq�]Uٳ�4x��R���f&����]�U�
���t
�g9>'�u({�5:�A��wM͈���}�/�TO�����*�M�C���_�!��e�~��
l�b���O0��%�K�(�$GԾ>��
+a�ם��V6-J���dI�g�*��
�?.�O:��d��4U��
��'�.�Q��MJ6�^�C��_J�4���/?�ը��q�f0�B�),�A����s����o#X�n�W��wN�>��mt���f�Z}f�ve�c=g����8���y
�X��.>φ�5mA�^d�eѹ~)݄�_��[!�XJ�ܽ��nv�Ҝ�)L���W�
��MO#0:������2
+s��
{&�X[ǔA�T�
�
#45{h�>p˩#p�l:��jw+�<-?,��<
�I6
��%�h��":�NC
����֭5��;�U�
a��Ce�
*�֊���"#dp~��xd�3�k����
A���)�q"՟��>�B�>�cHTj{��(��*Qo��ˀ�+��up��6x)�
+%��CE1��U�/U"��
�-��Z�mvq�v�5��N|��l^��zBt��F,���E�j���KM�l�� ��i�)I���r'�k��u�X"+ާZ�c�����n�1ɫvh�4.$�F
�ѭ72~n;�q�����LY"�ǀ���y�O0 ,�ey=.��'�~��l��$���7XƓ`��)L$}��)q�ڙ‡���(��D�>E�9G�#R|�!3W�u��s�0�Y1L�z�ϘW�Ô(��U8�����u�
��b\�����3
���q�
c�4���3
2ey��
f at 1rl
�K��Z"�[0�8?E)�(z^��
��)��bL�vx���Xͷk��
�ѣBE�G)�2eDq���(8/�y�$Q�{��P1�a֓JC��&J���A�����?ˡ��j�l"��ͳ�j�yXc3t�#�;�܆�9�Q��7�h�h4(�=�TZ7{KF�ѷ Q3�?C��d�*�����q������
�j������M���h�l!x�-r��{��s n� �+�_�o*_�V`2K���ژ{�
�h���3Y��]}+c����#7>��A�R�L��f���ϥ��B�
<���{ͦ
J����EC~�~�k`S��B(Y���U[�ҡd��
�iS��\ѹ5����Fϩbi|o
%l�OW�K��2OF'[9
+���Ч_ �!K� S�Q��e��w�ޫw���'�N/�r�82�¦��V�RMO��
�<�flձ@���D�b�{���[������9�4�����)m2��g��,Ѫw����*�m��gG%(Ϟ�������Y���O{���y�WX ��{�
i
�*�< c*n��i��r%�IМU+:��ѥ:;I�6�K��"�k���P!UX���Bm�Aݫo�B(
�C�����M��Z���s�'������k�BÙ<�Q*J����H ;<�SX��閄CnZ%���V���֏����Iq��g_6�����#��/ŏVW����?~Y���r$�{�j��/�+���T�_X������v���9x%Q=O`Cg��\�Ȣ�'m����
�k��VH������av
���ڡV����@o2@�Xd>�e�z"j�/�L�nDሂ�!��I�g�+�ǣ��e��X�����p�W
#�.o�����r�pz��M��
#����q(8R?�#��M�Qr�S�
���h� [...]
+��������)�-q��'����8�f[,�Y�!_���/覓�N%��r/�$m�y������i�{9�����@�1�4�t�c0
�
�u����)�
�%����ً�
�
a*�$ӁN�s�(}>H�%���Uň<SD"\>,�x.�
�ޚU�H�
��+�x;��B��$M뉢b8�U�Ev���Fk)?���fÕ%ci��Y2-]p��9T����dde?j��v񔧀[(
Yo�w;���Xa

�_b�"�w|lG����,��W����+�4^�.�+�^��[k�ot���{�Dt���"���Ӛg!�#Si���k�7)&
�
_M�Ǵ_�Kջ�/(b��0~����7AW&���]�SN3A�Ԣ:
+��]����D.��6��GY�}2�
%>4�����[
�0"�`�	

���
����h~փZye9���qA��<�=%�6E�����+����GFM��p�
MR�v
�+2���n�ˮ������/�N��
��m��'�xi\���&A|3�JNUKk*��_��(��5�x��*��>�}� �S�_\�.�j�Α��C��|��Ñ�]
F�̭9.���Ҽ
��
��
�ޝ%�M��aag��.䐍��+Jǀ��������
��=f_h��}V0{�T�]��~Y�<gB�߲o�6Ń�ngF�0w�C1b��X���
ڴSTH�l=@�PL����TT0&�y��CY�V��#t_�U��X��wY����~
��Ƶ���<�L7H��(�"�]p��c%��c��ӷ��_ސ�4&��M�Q�>E}�
zi̛b�h���փ���I�p#7_]QAu�v���.�_�z����E�bu�><��z��X�G�w�!^���A�� a]�1��c
u�\t7���PU��ेW������Lcf'װ(�
�
4���������Y��4Cv�Ʉ���
��>2`�n�H�7
UqD�ܬ�Fp���Hk�髨�7���^K�	���ny}�Y#L9n��8���s��
n��O�ٕI�ݴF89��
��r
+����G�����#^X|w��'��s�X�9��Y<ּ3KyZ\�3��I���
6}�rU���G�B�i@�#@���,ϿƲ�d��>���W
�zG�x�aS`HX�>>�[,�5����wV
���9�����l��,(�F�53��H���\��¦uyŃ|���>\�
#W�$螠,OL���e�t͑P����-�u"��d�դ�k���e��x��*	�K-_�1��)�::�,���}�-�
)���
���`�|5��
^�ik���'�\��W�`�

�
)��
+�c��*v�c�MfE
+���m ҈]�>��%#M�q�
�nv���]�CIz��c{�U�E�z]7��w��_w���
�!�L�/����!��/�y�n��)g��mc
�
���:�[�h��91�
Dx��s�
�R�4�=#�~o|����]Y;�=r��t����\���������ƷC?�H�gp�����2旸eq�Zn7j	��e��I�HH"H�`�xv�XTvU�T�A�/d-�|�8�"�c���v���Ђ�NN�)��E��۵W���yњ
+���9����#?T���W�J���l�&��F����W<ϯ�c�̆�p�@!�3���C�9�Ɲ>�Z�����i9,�"16ú�=r��
�|
�n
��60��O�o��e����˺Wr�]�B/��7�F���"饿RM
�~�����!\�����/�"��Yn;���
�S��!E�꽇҄U�
O 
�9	oh��YO�R��
@�w��b
)�-��O�r�!�
/�1�}��w۞��P�V��LaTum����k�Q����i�M��m��9<��s�8�J�ا������#��y��4@��n1]P�)�B9�.[�� �?b���d
�`wLo��e,�wN��d��*��x�̣�kH�6tcoW��O�_]�nM��l=|u�݁�6����A
+� �ƹ��5m#����I�°�Ф�t�: �W�
�P�;Q�)��2
ƏhS�/��4:���xJ�2�gψ��[��XAi���\�������2RMf�S;h�K�]Z��"��nu��ۊ��#�ke;��T�0��Ǖ�{#(�b��N�i]�ѳ��ZKɾx� b�Ii~��(�_��&�7�.u��d=;�eΗG+ڗ�uߝ��
+Uh>�;��kW�-ؔ:�E�
�N�	� ��

+���L����.
��R��&��h�}�!����?[
+"
��h��5�B�灾P��Ke�)z��I˞��t��
�؏���)��T�s<�ʷm�x�ž7�=�g���^���K�z�b�gR�>I֑�
�K������ ����C�
]�L��]��T
�]
_�dW!"^��t��|]/[P�F4B�|Ycow��O�C��)uB�F@�<$sd��)ϰ~/���@(%���nh��j��fp�;�SN4�c�Cc}M+�}=XeD�ҳ;��k	�u�� ��G�zx��R���x
��+c�VR
ׯ���^KI�������J
ni��/�Zf���,���Y��S�`�Kdqsu�vqk�
+jQ�A����[y�f�Z�j`֨pF0��9��<	��6��Tr)�
�J��K��.��P`D��fЛ�'�Xuɹ�[�w��5�/��ᦴ���8�E��>6nR
%<�O_�>��<&��kz��n<|N|P��ࡹm�7��^M㚸�p(=�ilI�RY�o>�Vp�O>�G�R��D��2�^�hPt"��V>�j�&lWQ��*��t�
�t]k�{�b�"N؆��E?/eV22���h
�<g�ӈ�W)x��݋e�ө�����0�d��ְρ
n�ꌵfF}
��ގ�K�((��)��%�K��S�F`��AMv��V��)w����aT��KF��8�Pi r38=��*cU���a��%!��}w�I{&��𳨓���SM�XQ,��������G>܉��c��1u ����HPoJ�U��.��]�_n���*n��ϰ9q7��p+مn����p��MӺ"ڄ�`�.<*#�4UηI�������_�	ʖ@
%b%�l�Y˧�]L���ޠ
4(�L�m�����
��F�<�"��d��N&�ދ`�	�(��6�=��p��
]*G9q�����s��OV%�7�L����E]Tw��$��L�#
+����3�5�����W��^�v 
�Ƞ��6I9�{���M�B�<��V�
�h�y.�&��@�$c�s�:���_��!C��j��:t��S�
�Y[�
�W�js�Rh��y�b��jփ��r��
�MB*`�
���KT�G�u�裢J)y���=�������+�mBxD~�rK����|����\�ߛ�C�P���t�Td;9Zv2�C�D'p�<�<�⊼g�\'~���O<��Ev�
�
{�r��9Q�[عE�0�����vT�`�Z���z�5�՚�6XН�ѱ�0�	?�2ڞ��~D�SkК��u!~�/�$Ľ���j��T��OWw�pI��J��&���)˗�xw�z.(GG��aS��wM��Œo�1&�::]nΥ����B�^��U`������P(��C�=xr���$%{�zs�Z4F��˖�����%m��iޭW����ija-�~|�lTM����m��Z!|7tݚ����
�jAM�̞��p,������e��#�z"E[��p�5�c�v�,�r$y��Y3���tɼ����4Y�����[�Q [...]
��i�p�BQ�m�6;L��׋�
<���).:���)��I\�����r:h^�$�SƑ�o�A4����h�d"+��X�^��)�,���ݯ���屟��{x`
_{b�3�Q�c��:��=m{u`߻e�7�t뫭��eF�}�Z
+��Aa��l�1Ayh+��{�~�ЩEZc
+�#�Ɠ�9��Ι�'���
��f��{�R9�1�:�Ud7�<�N��
��
+���H�-����	>��eBl�9��u���C�	�d
�
n��Z�b������h!�og�4b����k3�6r�<�k���m��#�dž<Zή�A�K��Og��!Q]�`C
@�
�{�)�����{��˒B�ojS[I씹
D�W/M�D�g�f�C�]���('���V�{��n�lk�OS=�I��Ի�xn:�iZ$e�)c��B,`���E�q����9Y��f¯���	���(��-��S�q�]%rzn�(���,"� l脴/�.v�z͈?�+�Ck�M�� &��Z��BlT��q��6����L�
fγ���9�����|	݉��چ��
���(�!��9���a!�Y��ˡ�4Y�G8��e�O�
��e�cq�����O��P4�l��!!��婆S��0%��Lt#p['�!99�����`����q7
�H��(6.J�lu�=L�
T�l��.+���G]i��ю��8&����َd
��!O��w˅E�G��SL)?��Z✰�н�^f>�
ec�DXWR���b1�l�zB��v�������&/�&
+�Z��)W��M\ClJ��r!>d]S�Į`Y����7M"��s����x
�����P�z¢vY��$��ϗO��i̱Z�0�S
�,H���mV��0��
u�C���"�~;Z	���+O�C�%�
+<NSB at WC~�Cκmܕ���������
b
+endstream
+endobj
+3534 0 obj <<
+/Type /FontDescriptor
+/FontName /BFMNIZ+NimbusMonL-ReguObli
+/Flags 4
+/FontBBox [-61 -237 774 811]
+/Ascent 625
+/CapHeight 557
+/Descent -147
+/ItalicAngle -12
+/StemV 43
+/XHeight 426
+/CharSet (/a/b/c/colon/d/e/f/g/h/hyphen/i/l/m/n/o/p/period/plus/quoteright/r/s/t/u/underscore/v/w/x/y/z/zero)
+/FontFile 3533 0 R
+>> endobj
+3535 0 obj <<
+/Length1 1626
+/Length2 16520
+/Length3 0
+/Length 17372     
+/Filter /FlateDecode
+>>
+stream
+xڬ�cte��.�b{�VŶQ�m�h�v�v*fŮ�b�N�N��ͻ�9�;m�s������������1&(I�TE�
L�%
� FV&^������������<����5�S΁@I)�ln
�v ���y��f qsS�ׯ V


J��������@���IKO��_�L &��S���bm	P}޸��98ڛA�!��
U�� +s����9@웒����FJQ
 e4w6�(���Y��Ḿ.� 
g�ݿ S���?��0}�q\
�M�?��=L�
�Q1 
͝�]\>��. Kgc � �5����� �r
�rtv�����}Srp��:[;� �Y��%��de
�'�����`�ii�`��OI��}��Ԃ���. ���\&� 3kG;c��ܟ�
������h�_ ����fv�..�a>c�ӝ���Uo��h��/o�Y�/
� s;
&֯�9MA��-����̊
�����o�����Թ�;��A4��
�'c3��'����Y��@� [...]
����B��?r����m�����Z���N���s �}� >c ����9h\��_.���v��_N�i�i�o��vf����Dh�I

˿��.��
�fJ� S+����g��%W��;�Y�?y�WK��,,��S��6��C ǿU�@����Iտ�3+KJ������*}H�����(E���-�	#*���fd��0���~�O@<�,�����
+��_kc���@��n�U�?��Z��G	����?c�
+2�}N����6uuv�$�_��������̛�{��"�,:��ؤge�jqr��u{�Y!C
KԊ
+�
��ӿo�T�ք25N�z.�8�����wc�Qw���������mP�s��1�"e�jF{_��oB�p�h�o�+����M��9�]<���`R�;"�����au�6�����R%
=�S��

t]A������S�A!QE8��Wx���B�0t'�:�k9q��nO5>�=r�>����

�)�?�h� �~
�]�V/��Lmit{G<��/��3��,c��
(�h�k�b+a	�Z�r
��>U*�>���.������b���!,<�������6��pN%�ݦ@ŽK��9C���T��U&
�|����� w�Z��R ԝ���d4�^�
�O39�Q �6��GFB��"�R��=�G<�0��J�m^鵞�1���d�B��G$�"�
�������#�d8&98�DN����c�KNwJ]�J�:{cgvRR�.
��-.\I3q��ws%f
�G�_��L¼���^E�v�A-��	JsI5s<ϲ�>c�.�
؄����O��š	���A��d�yH���U�.�
7}�[]Ҩ��휗�w�p�g�ns�	}�S����$�ăO��_� I�~�
$y��o۰��̑�Y�Xv�)`�v�<IcA7)T���,}�ƴ�mN
�����"Yuu�ǘ���voJ}T���H�o�_��?�vY�9�xW�i�
+0�C'*�U��&����U|F��t?RҪ�f��vAD��

�ҕ��AՍx�
+oq�O��vn�G��eZs����ʉ�|�4�/�T|�תR�+g�6��>�1��f��DgݙU�PG79�Ţu/m}���X7���t� �j�3�<���K�������q��~Вoi�PC%�[�f?_:^-Z����X�?�4�J�Z��
+�o2T��`uwB�/�Z�0?�1�r̡��n����l�{�[���O�T�2��.ͬ�z����${��vq���C$��ΐk%��(��齷�w:3��&6h�y��.�R�U�V)$�z��Ѩvg�@���|��*ɪ��O��\궞�c
������*��c�k�"|�=E?*E"6��H]�gdΙ�/��3�s�ԯ�;l~]A
,�p�3J��#���
+�U
.cS�?�ek4MX�0$:�l�ԗ�U���xC
�L��u�x,~����
�n���@bt�
+�Y���[8���7jI
�������dk�۩����vG�g�ƣʯ�陸�������I�ņ��k���i��~�` q	�JU�D2L��
�QW�=y��o�Tk���������w��F���U*[�����gI�������Aw_声DZ+z��ř)=	�N�7'3v)�R�h�s [��Wϖh��(�6�����"�6^G�(t׶؜ �A,�N�1�d����7�y&D
�!NQP�n��G�	�i����~p�~wD��b�}!�zu�̡
C�b��5��}�����_ �<��)?{!�8��(ۓ��N)D�
�і|�`5����.Qkο�b���!�@�)���2����,U!�-t���pxߜ�f8�ŵ��� �������,�@f���^�ދ����X���rޠ3��
3
��+�t��Q(8�v�Z�fuh��h��y���%��;
Lf<?��Č��rK�,ڑtT��
�އ쌏�_e�a�o?S1�[��u�{�����c��T���
�\
	,Mx���O��^���-����672���s{/4c�Xp���/��Q
Q�7�!A���Vu���9"�����F�32�?�
���^
vl�(�X�`��!��t�-
�^u�1�5�paQ�`��xJj
��B��^��a�r3��7����5<�p����j��%�
Q���jn
;����[���
���b6c��!	d�|0�1�$D�;� �&)be��"�BgE
?
�����
[� e�_dXh7+�U��PFfITPC��—E8cBZ���Dm�K��1>�qv�$������f+_��a����i#�� ���w�:P��7�R��"g�����'3<�%�H%?����S�I\5,�c���>�h
lc��[l�3��
�v}5VǞ�+�y ^?N��v#���
+�7~`W�-��ʎL��N0���E�TE2��4��v~$�
���Fd���R
���,*�.���
���6B��Pj�k�Ӭ�q-yZ\�$��;{^iC�_��i�C�キ�K�����'�`�l1flP��A��	9�Z��n�|�Ok>%g���#���w6u#&dp�e;��G��쌅|vd�@�j]FX{��S���@�g�E]h
6� QS�I,�ϓ

~���b�fG�[S�WDz���Þ���.+��	�<:�}}SF7P��4�.W(X���Uk��W�=00s���g��,
�፾
�~��75��2�
+�d�x�-��,��g�A�J[^z�ap=|:u#n�z�Ō	�B<�:�����_>!�_����n1ή��4e���Ơ��=B}��A��7Q�]
+@:�vA&@D��I[qv݌ލ�(0L�
aӽ

�>ஊK�0sh����OL6'���X ���agS��k�c���0�
�4E�<��ѕ)��`�{L ئ�
���V�t)y��s	���VIC�k�
����M�����x��U�6�MV������Z|a1��
�����"EU��Ǘ�6��Y|��H}���@+P�I�����w���f7o��̜�x���wl(�E`t~"��
P���ѦD
X[�LA��A_Ǎ��Z�\�*|�����?�,�R�_�Cs���K+�J�Hc.� a�(�P=�~���^^K�pS��
{�
[.�|�|=��\���G�?�x g>�2u�
+�1�Nk���[7*8�v� ��y��o.���Q!±g�,���
�'la?��%��Tz(;
+BC�@u7��
����u6D�
�ُ�|hl�٬RX��)!
�3ێ��S��?#���d��/���.�h��*y�jOQ��	'������j�2�֗
+h 
';qU�ۘ�;�ne
���/Z: ��WՅ򰘴�3��c\|ACm��|jΒ�)�8;��D��U��/�U�^�UYkS(��P�֊��H����ƾ�p�m�����H_Gw�����p
�2s�5UN�b6��E�ur
�]]�
��̚};9[5ß
7~~��'�j�5'۞)�e!��m�
�oUq�ZY�~ܓ���r�`��r
ܭ9C=+��X
?[w1������
3��hm�Z�Y�*���!ܿ�f��1Y��R��
�}�5�8������,�#�ڤ��!j��]�n�^U���zJ�ۃ-�St��܉�_E'�I%��Y������5rp�q�SVo�^�[!U7�fu���{2o������%����c����lb� �V��2d�)���D~��Th��ih�M�^�~1A��/�����p6��
�3���P��P���_���JQt|��،��<�߯7[0Ņl��"l�_wo�C�QM�nK:�G
R����HӔ|��@
����n��*�7�����Ru�z����߻��IF�������
��'*�P�='|SO�:���1���mcZJ;���u��|�QoL���V���p���dF�Ѕ%��՗��Pqa�P�������Kl��1�rS6z�oX�
+V=ƒ��X�0s��
d�Y�31� LF�?9���
+^ER�5��_���Z�F~�C7�p�|��0�߁"�����D�B�[I�֯=�íd����_6y}��rY&
	׵ȳ���RiPh��B�t���+;���
+8Ÿ\i(:�	+qj��Qj�
e�8{(v��Uӊ\�s�ߋ�ßJ�h��Ցi�tX0��dF{w�c
��LZ?u�-��� �xn�ҽ�0� �B�'
+�Di2y�\k�
�C��/o
�I~*d��va�H<4\����A2�6b���E*6U�S�>��J��/�M�$�CAH*#+%��Y���[s~s<���Ԯ�C�5is�\��[�U��20и�Ԕ��4��/Ì_G����~�i�����~�
M��׺���͊M���M�>���6����Z�^�嘆���k=��Q��J@�A=��=��ڱ�c牯��fzZ�c��
�;/��Ĭ+� �������udoD^3�������Y�T�6
��
PL|��Fp]fH�?Wp��p��x�
+x!!��ᠷ��_�
+C����B����
d����e T���2s*h&,�t����76�Hba-x�	�G����dW���٢X
+�e^��(��吜i�,o�'��Z ����{�um�얬�U�}�����tt|���D�ƜGw_V�E}��ғ��&O�?��8�j�֏�D�g�
���G
{+Q��?�P�j�[Ӕ�/�]i%se�$���A����`�硽��G�{�>Rי���gzH�0���@�dq*Sz��:"�Ѕ�
\<S�Fg���P���"]H'������
+
+2j��O{��b���0d��a�
+;���S����_y�p�8��Ji�M䈪J���w�
�a��2��UȄ`�J�S��W��K��@woINiﯨK���6 �GL at a{��ps��
S�
吵L�õ�.�z�g�~�c-
۱�?�4��-G��$sp%(w�E>d��N�5��X߲/��Ҍ�
�[�l�[�F�������ɠ�n>J Է�{VNل�@8�<.ٻܻ	ԉ>3|��
�
*V9
�7����
+;��k�Ї�
+�~�Ҁ��1�k�>�̈́��71>I�. �~� n3]�>�l
�tB��vKQ���:�������{ζt%�oY�jx��d/f�����e�� ^]�7�����M�=�T� ���
@2��v?�(�:
=�KĽh)D��CҚQL��.�`cM�#��a#��n)ۦ��Zy����w�zC�o�!'���6�6
j��
:+�-�=N�H�P�tn�
t���5�z�h����O.[���FA`~��k�n�c!�Y	��B�
+�t�5C=
+4\�6���
�;h\Y
�l�2y�4��Gh���c��av�P��S��8���h�����|�����h�hO��w!kD+��/cLh4����99�s
�
+U	f�{��}  �31A�@��;u8і|�0���RMd?��4M�����6�:b�/
}GQd���"���3W��
R�i���x_�f�]���"�$ȲBܓ��VƉ쨸��V�8ߧ���[z���gX
,=�0��f�P��_Y���K���S��Q�>���*fB
�0/0]�}AB5��9�����[LO%0<>��
��/Lx�4˥nC�C���j4zF��)|3�8�U���
'm��v*����)a
.K� ��WL���d�d_%��,A��!T�*~��+&_��$���e���B<�Z��N���w�c����5d����wL8*�#u�
H�T
��fJ
��5�DK�:�Ȩ��j��	=ި̀�@�����W)�?�G�??��p2��V@�sm�Q�:��0�%�_^��O�ՈG�9�����k����.�ʗ�M
���mJ:(����q]��iy�`��*R�7��cf�ao:��)�25�}03cs6!�V �"�P~���s�����z���8T*���}'AA���
��)Z$�K�5�h�����9�g�?��B32�c�6������z���C�^aЗ	��~r���Ț^
��㠬�&���F�}�Ӊ{�O���_cyN�/S��4M�O�?Q�TY/���LOS��0UE�.DX�%7����=���
{ʭA7R5���DTGgC�6?��7��vZ�F"�g��fA��f�rr�

o;�x4L>
+�9"3I�tUC�-
QpX�g��)h�
L�y��WWWޫ#���@ Ezs/n\�BV�#��C��J�7�����]

��8�ek�i
�
+��;��A���=4v�s���m�_M�@�R{��E3���hi(+����h�x�S�Cuf�(B# �w��ƀ��7�V?�=�C��
�˹��Bh� �f�f,���
�5��g9�`O���N_
+����D��O�А��|]�egyc�W4�CN�}�e���cV�;՗�O~�(��^
#"UTD�R4�9�=1q̩�
^.M��딜��l\��%� ��%�C'���
�5�
���tD�s?�;\T��tc씦�k�U�C�%T���;T�6�ԹF[���`7�����W��*b:Z�)!S��
����Wt��850p�J䓝���2�T�_����s4�Wo"6�rh�������+E�
��
�L��`Z:Zn���Z�����>��ɇ�hߜB\
+
+#2��g���	X�f��i��2p��M,Y* �Y�Hbyw3(V����<�Q��s�c��@�n����
����/��R�ɣ�z����
�=t�G{$JK�@9�A��o�`���Y��*�.�g�h�sI'�c��h�յ+bPj��ED�pD�\���h\z�C�	L�1"� �U�_�G?��1��~
����
+
/�b��C>�q۷˻+��gM��o���{���a�+|8~,J��0T��#)�����lE�?���M�F�(<3j	z�
���ף�-���, at cG4lu��ȡ�q����SِI�.��@C�IT
n^+
�����J5��0]��״#M|���`�;�2`;V���8CkJ
��!���j#:����}�ya�O���4�ec7N.*^���#�FU$AN��h�T��Y���c]��Y����hY�B�Zc���=A	�1�hՏ
��k

{��$9�l���A��
�
bdV�32Qߤ�Ȳ ��	iDOHa�fQ���
L����n,�}mw� V�JBG>�E�z�d�֘�\3�C��#>^MvW��M���C�G�������jT*�
W8��EF�(R�
+#{��Л
�c
-׵�x�F-�E��MDm:@��e�/�-�s�@Y�/fe
���w%�vJ�?��k�-vj��d��~�$��:|��x���>2
*f`���4dŕJ{1ԇ��ԏ᧟%i���ˇ���
,O^@- at aM��Z|Z��:0��B��q�
)��
+�S��ĺ↺��>�O~��k��Eg	�i�m����\I�B�ހ�zZ�'�[w�0�em��8��J �#-�	GBU��H:�8T�g�D�pA���=1$�h�R��3ϗ��OsC�6?“�ٲY*e�}���qS���W�)q�@��&(���J��vE�7
�o�t1���96��N0�^��U|h�Cq�����9���^�y=*?@4G�ɹ���p5:�Pq�e
ɬ�$����2�w-�-S�������'�|�ݝk@
����S^ʿP�%<h6[��	S�p�,�4_�J���1UO�׵�N_�G��
��|�
�

p$9
	v�j�;�I��˗�d|��i�����d����:N/sUI�r
+yӖ%a�*�[h�/�=ab��;!��0 n��N�&#]܄�Sz�YS{ �������sޒ
��=e``�}���<�]+[�WSMsd�� �)
ʜ�
��8K��b�E���w�%i��?8�n��YDi٥[k]~���1,$|x
�詩
C�
K�
"��>�6c-���̍�+d_�I��ȝ?�m��3ŭ�f/wkG(bQw��А�֘1��n���1�	����
��j|�&���$��
�Fٕ��d�^��z��<Clߕ��
46y1v
+5>D���AOLv 	APH�[�oE�.��3.��1�J��
S��؝�|>�vY���q�&����4�;q�`���U%(���S�#Y=�3h+�i	�]�8��0�
�j���>�����j͗]� �����Z̝h���x�����ER��y���>2
���Q���9��M��&ad�5�
B%�QƮo(/<Պ��$�����P�w�
#����������3'ƣ�ҫ�ȞM�l6�ִ�"�2��gf}[�1�s�[��
��7�0Ɗ�x�Pb}]ۿ`��ݜ�s,8���L8��
�8ys7�sB�(���k����Af��dc���Q��>F�A���2�𜃖�j1��`�1��]��bz�m��1�FS*W H�V��ϧ�ݞ-#��v(�X����'-���oPvuo���[h:1�F�G�:��~�	\�����߶�(b6��N7h��t<���-;�*�n˯�
h�N�
� �55<"���
�
������?�2���%f\t��^,x����45
+$�'Y�:�u�.�/�Gy
]�hj��}�6��f�JzIKi�!��4����@N�����
o�M\i��-|;�,K@��L҄�R#�=;��K#�
A�Ô`?�]���p�e��A�k��0c��#�ٹ\�*_��O�9�q�+\D��[|O�8_��_Z�4��R�)
��E��T�a����=e3���~4��}ӵ��~|��d��Κ���(x���!�~�5?ߓJ��ˁ���������u��r#��[��H�ת%��^5&3�v�Ѽ̕R��ިl�w$]2_�ŢP�('kq}��E�
.�dV�����D$��o�M'|�-�^Cϊq���x"�0��~�����6�9�M�X��!���:����
�)��㨭�a]�7����V����
�+I����PCd���\3�e2�
��;zC����
�D���az��u���~�ekz l�t7G�ܖ��\�IBԖ��q��C\�
�!Q�I
�p�^��i�NS�����_SW�;��2����"�N���;"�q
+AL�K�o�������o�
�9<@�l��0�{�BL*"^��87�&˟xm�������J��iƦu�)C���0R�YAu]q���Lc�R��w�si��T"�{$�~y}{��:�B$t����֊(S�8m��Q@{�o�\po�Й��&�	�
+6Y!\�D� �Uϻ�����n}�{)�gC��	�[4C����p�t���G�@���=�8)�W�h:R��N�z����/e�}B���
zW��
.��x�U�
�]�ߢc���Q|�kؗ�Z���]�� �}S�{�Bl�.t�ҘŔ�����bWզxw�X�#
Ŏ�j�nt�X��v�r��zWQ���4�idd������W͆��k�Sf��k���+!w)�w��~�E1&��fk�$���LKݢN����`֡-���,�`md���P7^���=��u$���[� �G��D��
�
uְ��cR�������V!����h	�T\�('��3�-Ӛb3�	�}�T��F	��E�7z�et6�G��c\d;Pi:��{� ���b׮Z[T�I�������#.�I㙲����3d%Rg�ړذ�I�TCߢ2��1�8F��)ߚ�-�h�zSY5Y�y�x�GN��
+"!���2
��+tq@�=�S�
���wcC�7�"�W}O���<�杺`NeT�-��؉��UN��۳���-���}V�1j�-z�S�-�u��)/�Q��.c�h�:
��r�`�s^��NUHr�׶�s;	��*
����Q�|�-l��	TŜn��]�S���q�����82j��|�M	:�ڇ�
�
�
�SI�9n�А:��X|z'�:Dٟ|�u�h1(�rq�ՙ��#�:��ۛQ��=�"�,�D���
$z���IM
��/��,y�'F(]He�X����w���T;u@�Tb�
+��d�9�N�@�2�^�՟�M���'���֣���V��x?���Do�
o�
Y at b���m��?�d�Á��*K�m�zX]�s����9���9�ҵE��
 K�@��j�м{�!�؝��p� ��-HS
e^��MB�-�$􄴄y|Ml{nD��2��o���ƙÆ2� ��
ZD��ҋ=J��ֺb™���el椑z�b+��yF�2Tjhˊ���ZEy�)���8#�or=	�
4�E����ϠD ��l�Մ�!.���Y!_N4��� ��+{8Q�!@�O�E�;�_�f�#^�~U�AK1
�����E
u�4�Eg��Kr�nۍW��;P�X���{�y�n�����%l���F�R�K*8��x�x-w��ֳW��ɷt����D/]rh�;fK ���$+�rd��
/�77,�t�&�E�44.�Y�-}�3���w�zd`G�Y��e�4G��]�9���
7t�yY��rz�'��-˸�ݘ`��������W_�e�\
-�}��P��C�������c���s+�� \���Cmڏ��z���_�^nS%x*4&{?��cj�'�101�^Pg����
�{�h
&�\�?MiF�H'��]��v�+��T���g�9���n�<rߺ�;�
�(��)yᔟ
+�N+
Ǻ��i���_��>d,'*�;��윐d2��̀�>e-b��,���^�*.ʟ�k����R�"��6�o%�����LN�c�*Q��/�恪'�
��K 
+2��٣+�/5��NCv0�ߎ�z�Td
-oN����W
�
)
��Eܑ������w�^�Z�O?ê8�w���a��&�Is{����.f�xQ�ʿP�	E�T��%FE4ě71���և����:$���8�8↰�x�/v[�e��Z������*z�3��ZZ��x����	�VU�Ms/�����L��c�R,����HI��\WC_�"zl�,�
�m��>�E
R
Ȕag~�vS�lK
�~�h��!
{����տ��.1�w���f5@�f�ޏ�5���&�A��K�q�

�_�s��QF����H�gl�Ft�|��>�����x`\���z�8�1�s�>j8k������቉�P��Ԧ��!���SL.z�����1����OǏk.���"����E�F�_��.-#���>��^
���~e��`FF���p4�/�yp�WO6�!��W/��!�!�h�ut
�'�"��%C��4m�o	Tܲ+��"�
#&
V�E
�`�]*�s�)i<?��2
+��
+�%۠����6��'��:���h':֢���v6���Q����ӵ��I!�� �ِF�d�6�/�]�R�
�ި6�-ӗ=�0~�6
�.1a�(M��_X��a�;
�Li�#��Ge\�#�9���6!�_�r4
���]<a��R�r��CY�4���B��
��q�k�=�`B�
}���\�Y�x�/2�	��;����M6�6p��V	�@Ӏh#L��^!���%Mh�+��,�����c�ڌ�eU�B�p�m���
+�5U��[
!9��lx�p?>�� �z{*L�PcY]c��j�Rp~o��|@Rg�ÇHDg�<��5
މ݈{�
W��w���w���{�Jl-L��_�	��e���
�S��(�c�Μ^����
�C�b���r�J��jԹ��������&pe�,Xœ
0[�a�w<S�����z��^b�H?�n�#m��C<h�u)��#վ�Y
IO�������2lꍌ�
�2H�=sh=U���U~.�`�"�Uq��\
(C<�r��K����\�䟱~�]á�#��dž@�:��
+��c*�Z����?-
|�e������͵\�NM���oO����o
+@�R,5�/	�#���A��w��k�E�
|A��N�`�4:ݹ� 
6����B$K
�b�+G�
����NC��NG�?D�=c���o�v]�<�c�NiW���
twL�EK�/-�t��
n��OE�B5�����_��</"MbYyOߤ����Q��w�ݵ���|o��-�$
+@��i�EIJ=�����	�=y��� ���3�A�Dn;�"[N%҅��/U3��U��_ISx�)F��4��w�ٖ{q9z�t�?Vz�<@X�)1�S�e7^��IO��vT\�+��5H�\��O
��\M�H����6m[�\rw_S=GhŽ�CM���NXa<PxVݘ��}Ȯ/��߂�-�ݡ�
�՞���	�cu�ק�����t|�t=
k���֚w�2�0Y����� bi�r]6j�,0��163S���D"֣��/�
+�5��zdFn:]L���� ��VjFN�f� �4]�_��i�|�*�9gr����{�E��(_-ײ�8ޯ��v㍰C�`�$��	=_f�+�N
=ی����7h(a̻OG�k���wwHȠ8l��g�`���
������L��;���諎U6��n�0
�
�[&��&�sTs
�FD��b$�m�[�m���V�Jo$�*���
~WR�<����
�r�&��Қ^]0(r�����7����6΄�t+��
?Y�+��s�
:���I�d0����d�ѥ��~��dajy��oV��`��>
Z�B�g��9�>D����h)�#�	,�.�/�s��h+�)���D����Ar�:з+��wr�J�蝶$L˱/ak
�M�9�Ө!mD<9�0%�X#lX�g?�ԢY$滪D(-�T{�Ȓ��Â܃cC�-��e2c��d��Z��
E�w�h
+3��n�r�R��7_�;���y�
�t����#�6���e��?Ÿ�����Q��b&f$�����MV�eE\s!���nS����28EQ��L at T6^
��l���w�
ԫ�_�d��e����"}�m�_�~���V��$�Y��?R�(��c�B� ߭�V���%��2�n�P�
;�R�
�&x�P�
+g0�-9�ȩ3��N�p�+ڵ}X�P*M]�`í�
j����J���/-f�WR�L�qBNEd
��]�l�X��+zq�� ��4�DŽ��*GJ
bó�LO$�p۫�$�*E�@ۥذ�j葿��̞��Ѧ�t
�u��d1�d���4E�-A\1��|�
(��R��T׀�@���m���T;��
q
j
Ȣ���<��P��s {S�5�ǯ0�Ǎt?�
��o��=ĥ��1�,�g
g���A�v9��
���i#�2s�Q����* t�P@���Ԩ�13;�ku���j2��{�C���
nƹ��x���
+�!�10�I'���ݛ�E�x����
�
�Zp����|�N�`��-�

_{����G�F�63
h�
H�K�.1<�ߛVI����8P��K�>����9.��M��Pئ��&���L1�M��
]OE4ŵ�-S
�d���iJگ�5�>��H�g
��ZF�T��s\k�	SDLĿ�K����{����m%
�g�����M�����}����ل�a���N�w�(#��0��i�b>J.�^� H$Y��Te��x�U�l��^me���]�o���(D�u�_�bJ�xVHjKO�	^uȚR��[j��nCH�7
4moĩ	K�
|c�+=����Seu8c���#�vvl��Y���^&h�8���mD���͟�a,�/P�g���E"&����$^�V��?�:f ��)-�0h�\q���ǎL��]�E=��55�;��`3ׁ%�����i��!���P��#[͂�ꖁ�l��!摘6x���?U��aҾ����Kb)�6���\¼���
��?e� [...]
<�[��e���j)��+���n�}Pf�i�HP�G4z)�
�����lG;����A�=
�?�(��t�'�ZRW���]�^�dYo˨Id�Y)a� c�&�\��Z����Ѵ%���
�dWL_�Xtg5��|�+d�%�>U�.�(���Cj��5g�"Z�<L���Ϩ�c����*�[�W�
m
}���pE�v�q�;��/���yI�k�~�y~I�dž=ż��c���O������q�Ү�9a�
ր���6�q��g!��(ј��N�Q���޹�W!�t��

�w���a0a��J�A�?x�_�H��j
y��в�O��l��e�&J�
+Е�\l{�-K�$O]g6�DͰfi�R���(Y��Ź��$д*8�Y�끭»���P���/0�"�@�&Q��!�
{�zyd>����Z�0�Z$�����?
+)�%�R'R��
+�<��Tzi":<;i+�oQ,�\$����K��\�����(00e���j�MY���NV���5�J���)h����d]�TM*5$���5�g�G����)ID�f�,^8�
+��Es��o$����d3#��wkh�+ĥ�K���x�}$������*�XGzٕy��o�3��0#k�/Ak~��m��SR�
�o����	ӡN���w�Ɩ��N!�.��������r�IQ$�u�!p���s57ʎ���+0����-��
�G�4C�y�
#I;��+�v:����)�k�"�
5t;��L� .��%��y��j��̡����/ǒ�!��U�`g���	�
���]�L;\j
hc�F�4 2��Ey��8���/粴KF.(ᨨ4k�(�����ÒTyrڜ1�ы��y��U%r�:�N���L�vĽ@�B �
�9�����ev�"�9�Zr�f��|k�\Y��&~
-��\���
<
/}*�?R%���<0
R���l��sj|���d�7�V��
+�_��U�m��X|��h����������5}F���HM\ѥ5��˛�9���g|��������vDŽ.u����bo
���/6fl>#��1���V^":��2�%@���A�~����ȼ��e���_EL(�{n���F�t��A�,�$>8���\�|��x��Rx����TV��W���2�N<6~Z�r���
J�}�E�"NBiP͹���'ɏ�^l��8;YK�L
����
��N�c�I��X½5@�wрux�I��Њ �'�bBާ�N����5�x.nԈ��.3UG+\��$z��r@��Nb+���6
?�F'�;7�c���`�J���
�Q\�U9��c��M8�5�Ձ�j
gA3[�+�:�+�ȳ�����T�X<r�H�W�}ׯ�Ͷ��[
+G`��=��_A�� �l|²�ʇ?|&S�J/�L���_e	��l鐽'aP}J
S�x@��
1�#�E�
+s�]CW��$���χ��ߢ91͆oZ��R_�)%�`~�u(�x��5�]Ж�Y�� +(w�ux���,~�
P*�H5k`��,v:�X�F~@<�qf�����GU�{H�da�
+.Fj9y��y��o���|i��7L�oe��,�Ё��]��6����
���Sg��>&{�kهe7
#q
+%і�5T�~��eq�D���c����	�2�|5����c0ueؽ����:�v,W����)%��
vg�Fp���Ҟ�
+?
P����;Bo
�����ˣo�ڀ��ǍMԧ��v�#
0ծJ�;�
�2��1��!�A"�9!�\\�|#.��*Έ�(	;�g�RU�
!8�X�%���-��Є\�f� � ,�h��P�Dž`|�'��ڱ��,�r~Y�� �&�1cC��d]�lu��j�1�����F\_�����@�������3�r�b:h7�2;�h{N�,��J���~��1�߻/�fE�[;Tˈhj�$�C��s�k �
3
�)��U6�|�by��i�)ʷv
テ��sQ{y�TE
 J۵�m�
h���__���i؎!�YP�8�G����ʨy�CX��<1�
+ݯ�S�(W�/�/���5X����@R��"�iI����l)��޸���m&z�u� ���%?aB�!�q$F�AEey
-8�ܖ77I_�
na���|N�t�rZE\���B��]A�
+�{aU���މ����GI��ݹ������s9�j��� ��L2�q�a�

�E
��BüXF;���U9�
���7Ɯk:��A�0m�z���*�":cr5�^�G�1��m�#�
fw6�Nv������ ?hmXf�xR���A*ο�ţ�
d�v�XǷ�Q��=&�����H��cN!��P�7�揅("8�El�"x0a%��g� 6
+ӷ��>
F:�]
+endstream
+endobj
+3536 0 obj <<
+/Type /FontDescriptor
+/FontName /QFFDLZ+NimbusRomNo9L-Medi
+/Flags 4
+/FontBBox [-168 -341 1000 960]
+/Ascent 690
+/CapHeight 690
+/Descent -209
+/ItalicAngle 0
+/StemV 140
+/XHeight 461
+/CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/a/b/c/colon/comma/d/e/eight/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/numbersign/o/one/p/parenleft/parenright/period/q/quotedbl/quoteright/r/s/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
+/FontFile 3535 0 R
+>> endobj
+3537 0 obj <<
+/Length1 1642
+/Length2 14266
+/Length3 0
+/Length 15123     
+/Filter /FlateDecode
+>>
+stream
+xڭ�sx�o�.�v:�mk‰펝����I&31&�db۶m�8�}�Yk�k����{��}�Sw�]U�]o�KE���$f�h
+�vt 1�1�����M�\U
�
�����r ;�'ƅ@E%�4Y;:H���� -�9@h`g����!P$
��\�-�@ Z
U-:�����0���3����@���
h��dt }R��� �`amH(���)� he�4 2@��g*n�v�f k3��+�`�����`��`n�Ok�̟\b� �����3
�it�b8]�]]?�]�.&��; 9�
�����)��n�����\
?=�?�O2GW������UER��u��L@��v�������fn���/���X;�@@O�?�L� skW';��ܟdN.��*������*`� -M\�퀮��4������	�_�7qr���W�㿼��k�+�΂���3��3����?�"�`�`c������?0w�˿.������,������
`�@`Qr}�������?'�����#����'���y��o���N-�fg�db�9 ��3��Ec� ��5 �?���
�Ͼ�6��D��[�y��b�����E�;ڙ�w���b���0�q1s��l�*m�	4W��Y,L�>/�_v
s�����S���g+��ԭ��l
�Q�������7�ٿ�gQVU��b��l�9�|NH��	�3i):����*qqGO��g)L
� >>n 7���O����Y��b�	�cefee|~���N��F������R�8�N�����\\>���"�l�?��� �h��4�h&j�����������d����T�W� /�ұ# =b������s�8�{��ܱ������N
;��4�y.�]W
�u
�^0�a1rƉV��Ŭ��.7�����WUâW�����@
+��@,�{'��5�حh�`���'�ɇ�4�C�}
W�]��
Y��T�P��с�Y�"�e>q����3j;5��'��:��
+��;�K��:��H��ga�&���d���9
�
0
�����0C)-�����;�A�jq?�Ŋ:�ĩ14�I���0��Лeڥ�R�v�:e.
�����\?�Xl������� �P��,�&�<�fL�O���<�B����e����{��8]!��
+�:���U��
+I�è�L7�L(���6k�M�3��f܃�et*�ၪl����DrO8ʰp�n��n%�*�4;y;L���Is4e7�ft�}�W�k��Y*M �F�l��v�t�I�Ž 
����IZ�A퟿��5����n���w���/��S�S�����{�����4VCm��B��p�I������^�sa9�m�J�����EM���['�',��N���J�@�u�W�塤di���ۮ�s ��ze���`�G�wyVQ�Ɠ'�#J4�;X2o�3�q3��IfNq�d\�9
+��c�dU3�7
tUC�g��
��x�M�y�矄_�Q[&���
+�|��aJ���翧���z)kg�O����q��w��H�`
�;h��1����
�c���u�n�AHwB��t�	z�(�������	n���Rx��-��8�	!
?V⵭��^�&�
�gb<����G#��q	9�I�0t��M�|t��T�0��H
�M��-W gR�
O��t�!�rڗ���
�g����S��g�u�`��Gy���
+
�Ɲ�e�ϭ�^��S.���5��l�
+(�p�+�҅�&����|�/ͼ�o���׎�����QQ��<�
+Faya�v�t�D�IJ�?�̯�rOɃ1uˉ�W-�R���߮W�u�
K`H#�QX3�H]G���]��Q�c�*�*�K�
ls�

+CZ�W��e-��iL"J
h��<O")�}��ܝ���S�;6cGxr?s���3S��X	�4���Ю�
�	��
wY�X�n
NtC*��(&���&Q95Q��N[�<S��-�FWo��;o��
�K��)�
+��L�o�i��1
�x9������lQ.ֲ������/x~������.�ذ�p|�i�
�э*��0�vI*k�m��(v�������
+&��*c�G��ޖ���u
w%ܱ�DSA|iH�IQ�=®���=;���IW���;S7�>
+�ek��������r�̦�m+�o�[S�n4���� JM��׸��_Pmj�?eIS��1 1��@�jR��aI���
�T䦂
���H�n_�:}��KZEƝ�O$*o���%x�!D��g��(:
�l*#8�{����,~ҵ��:�{��G��]�"��P��O��O�R�O�k�
~�?+���D]Gn�4�$'����s6HUW}~8���F'�=9�G	Ω�]�v����a�t���tq��7dDŽa�u��1���Z������&;~�����,
�$��?�}ِt
b��)��HV�F�t=?��ߞ!#ʢ�\��{�	��,2/���N�����f����E�
+���k=;�XdY-��f��������ӓZ�NF�M��	�H��D��):�J��A����<��^��s���p�X�r��}�8���)�i4�KK��x���c=t� �Pͬ��
M�S:�(�$�Ppk�N`�#�e6֧��z:��0y
���
ERT����8v�H��UD8�y���
O���yo
+
F���H��W!�+MY3��}B3���"4�����������`�A���\Q^�M��N��k�v������]�c������]��|�S�3�Z��$�
t
�r�#��ɨ�叁��N�q�"1�ba� �-�ח�T�`�QȌm0wRSp,e2���ny�vFޫG�)
ǻ$*�W�LHo�E����װ�
��:o�n"�
(��|��5n�[`h-�S!%�/�bN�$�r������
�~���i
47�K��]ݧ�F^�|���i��
+Ǯ��
3�ݙ3������TϑƟ*�)~Gr��E`ueCQٓƌ�K�`/�)y�6.��8ؒ]��������c��t]��)���R��b��?=P����>_�Z^-���4��]*Q�2C:e4�,��	6��d�y�AΦ�r6�Ҹ‚T����I)���q�E�ݕ5�
+�>c�������=�4�Ё[��ɣ�N?(�|
��C��S�s.G�t���K�y*�f��+�4p/h'{�P��m�1ΩRM
q�v�m��x.��b�:�B��\Q��g	���<���2�39'�#�u+ ��>@�X*�w�:i
%;桞M�V�L�(	��UA��t
�e!\��T6?(_	��"��a���B��x�q�%w�wF��?�e�!�
Qӕ
�
s��0��V߭ߜ���#%�5m|�i�s fiQ�Γ��ȿi��d���fCl}мS_Wq��X9�b"@�5�.�d������A%0��3I$��n)B�d�J�ǁE�6����E�ר�4BP�w�d&e���'k+��Ѝ�Y��C5‡�成�k����d�P�F
5��={
9�H�>�.��8bf�ju_�_8�ֿ�an*n:��oUY`\��{��sN�T�r'Rjzp����h�g�O���T/&M��ry�NT�ЪP��1��\~��S��U���j}΍��Zu���H>���|�hE�/��}�F5�	�#�

+�mȳ�T������A�C��L.w
�Y���]Y��$S%Z
+K�
����R�
F^��I1C���{0Y|/�p at 8{K�~|}��3e
'��E�-��
��X�y+6�C���e�I�h؇f��
+8�8[�@��~��q
^�O�$��_r|29�-yaT$�%l���E�z�v�o42���4t%�@T�y��P�h�1m
V8�N��W��ݍJ͚ʬ4r�
"S9�B:}�В�/ʁJ�
�S
+9$�5�¨m-��O�}���d��!��o�Z����>ՄSj^��|�
dڼV����r�B��	!��J�R=,m��O���uq)�z�\�3��$��1+O����C������V^,�3ԋ�mn
�۞�}L-����t
%�ml�o��A������B����X��C�/N�B�
}�P��#���QC�?���
��\��
�,l�ҵ�Xhi��
j�[ߌ�.�*MV���KE�1�l��ϳM�-�������?ko��]IU�\�A�tYi����G��N̑��a܁A�+���U�~�i�ˆ�j.eJd��XΗ��#�-4�~3�����4�A��D8(�v��b����z
=�U�V�m�
H'�-��
+��z��^����lإ>c�l3�g�w�.�1�.�MU���1L��!��
�*��G�P�a�s_�֬��u��fhɎ�|��� �s�a8�����|�s�X�q���p�4A&��$��<
\m�>�X0
���O�H�$H�2��!q�1�c��3u�#�x�֗]Ժ�l^

�b�`Z�"�L4M�^��[�P�Q��Tv�aeX�����n����4Yb��7PG�ķB���_E��C�.�.���<�C�T_�"�����kH�\q L=����µ�B��"ahDŽ�ҤXզ��2����+&'jN��g����Ұ���K�yU?����11HaӶ���I �ษ>F�:�'��t���^�g'�@�r!�p^


�r��u�
�v���z����N���7�>��N���P
�]J�]ߝ1aӐ2
��2lߤ��;��a���@�%�7>��m*9`��#��,ec�C��z���_��Y�4�m�[�jLR-���	 ������u_{��J=߳�Q~
���|dd��������h��F���:O/���:5��%��ځ%d*	�Ʊ�3�����
B\TJ�����WMQ�F���b�-�ZkJuLB*�zDN��
�_?�
�̉���|L
�
=����5E
�B���iqanI����s��F
[�ָ��Dwޯj¸�
 M�y��9��
t
"�q��n�OT��$��2�o	!����^gP��qz����G��z�4Tiht������u��il
+reK
�[��������/5���8�c0�gzr �d^T�,y����'����Ð"2�K��S	v����7��4��x�v%�%��C�whl�;)��	�
�x��7��+&v��?�K|
�ħwc�pYj��1��1�TQ�q�
Bٍ;��d�����z�[���i�pB.�G��,0c�s�>���\�㧦L��4��*�]FYI1��JGy�#��Ö�l���3mqWS ��C����򃯃�ti4�H�@=���ym�<���C�á�m��+�%] ;�$���V�1���nI�{|��Y�p�8���L�
�-fļ
�ۃ=w5���>&�l at co�[h<d�s'�wl8{�$�/�����i��fi��K/-P]+�Gu����N�����q}Ĩ�6[�T����c������MP�d�\�<�Ƶ,��h���~Q&7s�|�����gڪ��

ȣ`�)�i;���V�pyIi��W�ӫ�
+Z-�~��Џ~���s��u޸q�>�qZV�ݮb�u�u�s��P>��2�t�k0wY��",���)�& RYv�F��QCj���O���ԉ6ۂI!
��'��מGoS�v��G�C��8�Ȝ�Y_=
+WBa��a|*�
�U����W�y�tP.1�n�����o�
6D�cw=��,��7gx�1�u�N��E�Vna�}B����
f��Y(mv
���co���::��匘pO�Z��P&#� f%�
$!�_� l���W�c����Y/����#����2��Īf*��V{��x���^�$/�3w\���Ē��B�����lQl?�
�z����!���'��c-�����_(�9�wj�E+M
�tI
�ׯƦyС8�梂v��O�s�5����d���Kj|���DER�r	(��F�x��Y�f�Qv��ciM���NC�k�O��|�R���d�3�3�t�C�s�\h����_)��D�n7M#�����W :
G�
��
�<C��nJ�XΒ^��i˅��c(%�����2�����Sx��Ā~=����as��;l��k"���
�����.r�G�݉r^�V��|K���.�e�H�Tµ
s4RRk�@�ī梑��B�P�)���m��U�r$���]M8^�
+-�<�p��s8	M
����9��Um�V-��FD�S#c]|�[ͯK5{Î2�ugmCH�����9��b���\u��
��d7{����[�B�T�$�F'&
W6�q^���
܇ K��_Q�=(x>�I�_C�v:��=�(��T9�D*��	i�k���Ta[
,Y,�p���)Ŏ(�K�����#[��5���N��"oiڲ:�0��Fa����9(�$�
+I�?b�u ��S
d�i<A) �
�
+9���x��4����]�6�v�LN�d��������x��%S�
��
h~�×e�R|�0��
�%֤�j�A
c�B<���Vo����U���Ws�
&�(���An*����H[[s�5���E�Ž6
+�0�%Ȥ

Xu��KE!ش�N�M��a�gf��j��e.�vV@�����k���fY
�J

ƕpc����l3pXeT�?Kp.���e�A

+��#��Yö5)P�th�َ��Q��a[�4 �s$N����⾎Z�Y!Ik�O�MQ�;�d�z�
}��� �YШL�F%��V
쵟���G�\��isBp�5L�͉�Q�
?�U>���ERw�+����:�ܭ��)�뜎�o
ׁ��%ͯ�WsF��>֍���ɠ)9^4p�#�:��Ɍ��
4=���@��
m��?I���f�od{��NA~A�n�;v����G�
yv�ˬ t��ْ�E�bh����Pw�ө �Gvգ�р�H��Y���iq��7v�:�+u���r��K��I�g<T��xP��X�2�EP
��x�6��'��Ga6��#��*�q�"��k����m�a۽."JwA����y��|��{P��p��l��v��T�yB�K:*m
4�Zʋ�����M��}P�'ZC�ܲQĩ�-[�c|H$�(ɒ�׃>,Dm�J%͞������ĵ+��?a��=!۞
�����tU�>C��G¢iծ�2(�$DRn�J�8���T�݃�2��A��7H����� h���U�	͊
�(+^���c2q�@̼�
K_d;�+S�S��Y^0����u�Hp�}k�
����5��`�9���ip"
�w-C���<�
��Fi4�����P|{�fBZ&V�
�a��G
�pC���Q�%��@�U�,a��l����Z�(
+��u���^
`@e�>�G^��P�6+���Z�����Q9$��,̓������ p��V��b�f(��GAA��.�2�$+��v��Wn|u������#�2�Y&t�S�Y��������L��Ÿ����=��"�VU���`�Յ �+l��sl^���eZj���
z���1��n���;e6��?�~:iaP@�����|Аh�������G�t��/ �J��ݏ�0ܕ���nç']{}��᪩#�C���Q
�&�)%�����'e�g��J4��Q/��6XK��<������9Ng��ס]����Ё`\�08��:��o݌
fT5v�s)T��ʐ����!�"r�`��7%�9
�[BM��'r>�����Q
��[t�{��9C�K�+3rl���� H̑��E���mm6��dz4ה�!�gp+�G����p�L�a�e�dx���[����H�~��$�r)���B�
,���8��Ho�-�XT���D
ٙH�f��9W�
+"7�xٶ�ׇ���t-�N
+�4��8�X��#G�
+�:9-�x�=��,b1�u�:#G�#c7F��2�]�,o��S^�U��.�m
��R�:lt�+�3�{U*�s�O�I1cZc��\)Œ4o�`l��X���9
+���	�PS��f���<�Rf�(T�p�.o��|	�r�;
����`M�[;�20xMBFD9�k?>����\��t��l�:���
����4�SH��T�����BfQ�>�O)�|����̈
�z���$��E�w���
�9�]�P�jY�X_]=	�J6�]�Aq�E?���`s#a�o����杛�'�*��
i��q�W25�p����������1d��(�y�4gȗF���g�r�O8�QKv����125c�]Z����L �1�0m3�L
0O�Mp���.��%`Opx�EŷV��ܯ
?���c2�>$��(
�1)E����E��E�
 Q�H������S�)b"8�r���Plo/Տ�62hL
4.��| %���5-�b��g�I�q�^����l�Nq��w���eĒI�/"�w=��y ����-WG�`��NZ$7$�tPn`w�������)� -P.*\����V&v
֞G4 at d[����;iM
.,.�4����Y
�O9�H�S
_��ՃM+�r*�S1צ]��K��ė��T�x�
�臩��=}���G��$z1Ѡ���mM��2���E��)3Q=<�"�4 ���\N)إ���2�	N C�C,/�*�1���o��i|>z\U�����bO\rkD��~�1qV�Q�L���c�Pj� ��߼*���h�Ҭ�&
���N�1�n"��=w��J��XCd�X-�
���b�[��7�Cp߂
+�#A}u~Y=�˙������������E� ��4
_r=o�%Ѻ��ɿiL�GW�4�&WoNA������W�恵,�
���v?8�:nT�~��u�c>���vI
G� �[�ͨk�٤o[K�Ց�A2~�v��(�b�b
+�2�q�������R��
=*�Ժ�O$�ڴ��A�cE��s�d
+�ԑ�d�n9�G��Ҿ�`�P߬��R�5���+��y�0�?�䉪I9���[�pAdv��$
v�۲��|l�ǦM��d4��%j8	vi��>h뮘�]€��Y޻�ğ1��)�
l��74�����X��M(UPO��U��*{T�k:+�r�Ff9�;��LU}�Jwh���N�iNq�^�Y�Y��� .$���&�PsE���D�: �
+����
��m��F=�*����տ��;Y
��"�xr2{+7���Pzy��r�w-0�0
�S�d$��8L�����b�P	�+hB�9�3y(YQ qk/��_���B����7��u"
�Q�G>9�
��0�9��S�TӼ�z�Y�N-����\F�5d�{�E
��G)Z�T�*�=WՏ�V���%����
���VM�]$�2s%�=�
�h�ʏ�3�3~�p��д���X���|��97?�>l�yOz�\�i�[�{a�y�tk��0Q�,��Я_�퍪��D'�o*�c���b�I�lj
9csp{��
`e2��I�s���t��ęږo�US-��!���M�V�g�'*:��%���ĉ�=��b�!) J���?1^:~U�{�
s���vZ1�D�
��jO���U.2m1Q�*��$�
�_����
#��o ��%����]�y�Wsںm��ϖ�#Ү?����rӬ^0'U���0$k��dh��c,���
����Z^�O�1^D~:A'C/��B�I_ĥR"�Ch9Ϸ�|�
+�Uƴ�P��7�
จB��.Z
+����W�bǁn�Ka��Ȃ�(C~b�S$/#kĎx���Y)[S�4A� �
<B��Ԣ�N�B�bU���{o<P�����8\NSN	k	2���dL	0-�df^����z�Ζ��(�
���`|���ޣ�?
���v�ߝ$s]�)7j��
_9 ���F�(vZP���o�s�dQ,�]���t�H��`��ڟ��x`���1�ݴ��Ͽ�J@zĎ���cӂa��RY���`�ϦEM�~Z��ğw��+*-��G8���U~�_%3���g����4WRFoh�MjB���:
+4
��<ʷH�>v2>U���Y����*�Z��
�c�F�:(��T�eb
0r���ѷS �PM����V��ޕ�5�Y���|�οM�G3����-'\E�,�Bd�u����*���` SB�9v�
/�@���R�eAFq�ݴ}�udU�:�C�HGG�&"du�Í�RBJ>g�X8�~��2]��r�^��v�UW����e5]v��V%��
�5�V�� v��H�!��B���	�q�;o�ƍ�5+}��%/	��8V�G|��o��f:T<�� o���#*��&"~+�[ivb۱Y
��2��5��V�vNΌ�J�q&�;�x���v�|P;�d��v�Z��T����K��W7���ޏ5D�+�Π���:���8(
�dH�z��k� ��ߐ�3��[��k*�qsDH����ϡ�;:k�����`�zF��x:�
��1��сC�<��4�CE;]Q��`��5�mI�N�4�t��˯X�f3�ْ����E��w�9�W���f��Y�v�&�^@0���)��w�j��!*�1>��?4&�D���4�&�;1��V0GؙJ���~*���
�};y:L��z�d�$��Ze{.6��Km��_�a��],�2�Ϭ�+o��_
s�|��D�o�O�k���,���~����X_b3�>OwP�q�_;��o�&�
�R���[����
����TJ^2@�^:4�8�iOK8>��nN!��걹1��f� �b|. [...]
b�`SIkl�-<l��0`����7�J����h����^��X��0E�3h
+z���7D����TX��M}D/#��h%�e�J�&�!��F�䇛����FD��jş�
�i�ΉI
&�pp��H+�L�a���}.�V7��$he��C͢f��{w&g�Ǵ��1F�ᧀ�g���,�SBn�3��N�������5�ZAC���:+��<�l���d���U�ڔ�j��X�yu��� �T(�`?���#�6�|ZY���@��i�(�v�PƖʾB��
�}��E�����a���������*6'��4����[��;�+�Tc@�/y��nV16=o�U.��Hɿ��U��4�}W#k]g-���Ŧ
+��'��)���{&W��Ր7�"f���5��<K�P	g�K3��h��?bN�q;
+h'��x�E�@�=�b�?I��@�:J��	�{�q��7HNo�f;s(������v�D1�
+%��Fp��H��
�銫Tt
/��@&!whݤ:���`�w���//����+�OQ���X�*�IM	%:��n�k�.`
��K?�a4�����2��|�w�W{��D����Y���-��E�"V�T8��zià�^��db��6U��n�&���27��z��"`x\]̯
�6U��ul�*V=ʌ�wRVd�|�K;#�YbρB���^���i^�_HXtu�!�3QQ�T�N4�e�wO
+�Zrܻ~5�e�2^�o�
+�7d�ce�q�D?
+���?�$�������:Ʋ�QDo�˛����|�k,8��Z�����w�`:W��2�`�]���#J�7
>3��ŜLk���_ٯ�-I3��֙��V�ɳ/}����&
�bѡ`����d��aC��TY9(d޼>F�h���;z��Qd�L��nO� ��	$�,�O
����q7�V-�4�֗��&b�F
"$
+kr!vCyϨth���g�hc˶��O�3�8w.��G�i�r��#e���2�ڌ{,��򐵈����mK����u�c�.��
��5 ��>0��JyE��>
�\
vS
~<zs��	Z%u�j���d7��L��2��] �SEl"LK�$��=�-ei����
9�F�u�[��*�
�EX����y��ە_�\C)���
�� }
�H g�X`��T<����
�[j�f\w�
�0]�DB�s��In�5��t�l���O��'����1�&�i�����W�/���KMW��Y$}������:�`�����a�~-ψ�͝�Y
�(����
p
K��T��kmlg�6��
��$�
SX����9G�ך�h��A$GX,�#s�[��:Un�=m��C�7���?����47��q��;�
\�4���s�&���i�z�W��xH�ȅ���$$��e������)nD��DҒ~���&o���������!t��19rdB��_�5�k�t������v�Ĥ7&L^
`֪�#~��(?V
+mY
\
ՙ��A���JQ��$2�(��K�Q9�{"�M7�S�'YS �����CB��ff�6����=>��0K4'Ow�]��̴��t���Iрs �;Ϗ(�SIU��p�H���uv+�_��NzeE=�s��wq��&��(�Tm�,�ă��mmΘs�=�;<��`0���kL�.
�}1Hj
+�HT^_���K^p�3�� ����
���p�b<�.���EI��8\	���/�S��D��
����>��/�&�� �Tda�ؒg at a�
�S�%۔�
&/C��^6H|7�o�Z)�[��ҋ �')\�uQ��vz�$̽*Vʭܻ#+
�@ß��儒۝7tO�[��W�)�Q
�U*�x����7��Ht��=�w��1z��-�
ޔ���c�T��E�%:jÝ��m:mh��9�t�O���Ct��
+
�ޑ�)C���C��
+Y��
� �J���)
J�N�(C�.���<�(+3b*lޗ�;K#����;_ 8� שμ���P�!d�e����Z��<�� �L�{�.��L��R��ܲ�hi�
+7�8��Vs~���\�k�r{���bH�;,��n��7km^l��H�5n�R��h�S���лk�z�.��d��}ٙ��~B������(U6��^l�J��u�]�$h����G���ڷ���>�"��ż�V9�'i;b��9�Ʉ�"�b�ƒ�I��֥
� '#ݲ�4ގ�(��W��f�2
�|*
+m��L�b*�5��j���ݛQ8,�!�[�ݿvK��Հ[e�p,g��
lϨ�'U�7Rw+$+��b y6��&g����1/ K��b����+!T���E
"��
R�}��kNK·�D6f��{ǯ���c����!��|���x(��۶����}պ1 mH����y �D/��\�8��(�
+M�U��I��{(�ND�`���źP�qR۱|�3Gԁ�kV�
�ޘph��
o|v���F
+� �<N��׶���~��"0���完�*So���
��﨔\�v#�}`���
�!�j2.# �IG���pR�&��\����#���س�R��Q�߾ٷ���כ|Vzh
��U>��]s�2P�#��
���_w;��en64��͓��iv�W���Sz�f��r"Vb
���;qx_4\C����Ӿ9͟��$��<-f��ڭ�,!�^#�넵�
=�^K�����.V? ��ݿ���%�h�NN���B1&��;����/��LM��l�7'��V�T���~�⴦F_�5궅#�(��
5�Y{�~j�r�)n0��u�
+���03�����ױ��L�l�s��u�~��Io������
������̌��{�<����֗��y"ް@��6�饧تD�`r(~���3�&
�_����i�/����s�f@��
I��/�)�w�N?���E+���:f����^R:Z��)x�v�â�3
+�
����EH8:�L�~��b�c���
�F�b�=M�s�ZGК]Y}��:PWॷDK9K
VɾRIm�8jD��w�֍\�<AJ��qn)*�@,�o���Ѭ'Z@�� ���A5�����D����~ 2a�L܇�k�_�-V~��z	�y�W�3�TSH��y��'�JI���{�]��f����#�Lx�r�)$�l��<�SE�Ce#�R at XH!?��^������]�~
�$��������'$H��H�5�Xk Q-�q�W�{h��PJK,
+��9���$K�V�C�NB��<d9/(�W;�nה�KRɭ�l�||F�7��껀H~�q`6
%������)����*���V��1n����'�}I�WZ��T�?<ȉ�?�ѩׇU��%������
�fv[���~66��BX����Yn�HTص�m+'A�w��բ6m8���m��u�w���>B��z
sF#��,�N�=%�\y�l�2�
�Ix��#Q}޸�h��=�Y�aZt���m�Y~��2
�He��]wC	'
+bB�,�^�2\��B63>����~����b�����E�2��X#U�S��ܖ��!���p#ȻV
+~�{Y"�c��(%��C�%�~���a�(ي�P
���=η�J���}�;���Ds[�~?�"�ew&q��^�Sda���Ч
+�L����)r'�M�]
sz�cR�D��q������ڞ�x~
�b�[MU�^A��W��1�a�9��]����N��
��4�la��n�	����ty{eӵC��Q��6�6�(�XU�-Ӳ��2��0��6����&ܲ(�Ĕ��j=
;�H �mo'*D
X(�v�[6��

�V�1�
+T{t`kO=Τ��1�f-J3��ڸ���^-�
!6�g�֟�u� ���sJ�c �U�3����?H$(�ٽ��(���c�9���i��;!^;���n�Ĭ��O�۠C��<��
�)�`|�D&F���˱���攱�D�
�-c����/�&*,h�)�8+��z�u��Dv����%q�FՃb!���c�#[�^�cӘ�Y��{q�vC
+�����/�� \��r�
Wc.&�
�ӎ9�1:���LP���h��
+��i������g��ä&����
y
4���  ̔n���i�WO�M��A��=o:J�~�h�~]�t_*9ë(�uf����`A�I�L����u|5�t�$���
L0�QS�ܷ�AR"lp��?�^��b89nV�k�E�z
V����Y�k@��bp׉Jc�QJ��]
9���/�Z���x��
+�b����
�
�U�K��w���q���zAM*nr���&qTZ�%
��
��;Z�7�!
;�|�5`~�c�����Sxqe\�vh���;G8�XG�b�0Ϋ
�2���
+endstream
+endobj
+3538 0 obj <<
+/Type /FontDescriptor
+/FontName /ORNUBW+NimbusRomNo9L-MediItal
+/Flags 4
+/FontBBox [-200 -324 996 964]
+/Ascent 688
+/CapHeight 688
+/Descent -209
+/ItalicAngle -15
+/StemV 120
+/XHeight 462
+/CharSet (/A/B/C/D/E/F/G/H/I/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/a/b/bracketleft/bracketright/c/comma/d/e/eight/f/fi/four/g/h/i/l/m/n/o/one/p/r/s/six/t/three/two/u/underscore/v/w/x/y/z)
+/FontFile 3537 0 R
+>> endobj
+3539 0 obj <<
+/Length1 1630
+/Length2 19973
+/Length3 0
+/Length 20820     
+/Filter /FlateDecode
+>>
+stream
+xڬ�ct�]�%
;�$�m۶�ܱ͊m�b;�b۶*����}��8_�������
sa���&#RT�2�7��۹�1�3r�-m�]���m��d锁殀�r6822'��������
��4�M �� &...82���������
�RMY�����?%�� �=�C������@���
hc�`
�s�
��\,� 3K @DAQKJ^@)!�� ���l ���6�& YK��3�
+`f����`bogj�Oi�����F g���_7��	��-��dk����`�
0w2�s��{�������?	�����+!'���u��]�M�,
\ �*���;O
#�b;[�U���Z�ڛ��Sҿta�j]�,�.@�b���6F�c�sp��W�Ζv���-�	hn�djtv�
�����g����z#�y�����`��
�1��cb����olsK;8�fE���
���o�����܀N�j�?3C�7	#S{;O�)�
�A���oH ��
���}$�7P��B�
��o��W���K��z��+�������������]2Fv��{ 
�g��9��|�l-m<�O^��Z��t�`R.F�"dg��Fz�
-��-=����.& 3#��=��\���dci����
+�cbd�/:U
Kk�H`��
+hg�_+�K׿�gP��S���,�*�
UO�����j��M���aa{�7
;'���������3���&俀���,g��d���[7#ӿ������
������?���bdg�w���������_��� �V���=�4�[]�7�	�J���R��;4!����>�PڠZT��˾�/=|����&��q����s����@��p�Æ�;x���KB�[��I��AsȠ_���L#��jAvB��Q�pwBIY��

+���	��ʟĭ�����IZ}
�o�F����3��G��������\��8X2
7D�(�
\m�J�Xtj��x�D�ۃ~#��CR�}K`a��Nm�c���XQ�v�8�ܹ��
�2��#Z�d�Qu
=��s��8�8��N�MxDO�J�r\�Xʆ�a� �+m�!��\�m3(�k�n
��[��Nr`�7���̉���}��KY��,(�Α(.^{&Ȗ+'d�:2C5�<��mzkJQBEɚ(��h,="�?^��>��
lˢ�~�4��F���V	 ��󓑆�8���x&q����l\꺔{Q�@h�
�G�&�s
开�Ą�欯��z�Yd
n��c�$�+Xd�
��]X�iq�qE�#��%��b���ʶ
7�(����"�a#c�g�X�Bn�܃�@�������H��
+�2�Ih����Fn��9�����i��Z���=5��Q[��ђ}�{�����/�l��*.s��L�h�>�f��Z&�:aXs
��"FZ�cD笞d�n—
�z���>C�֝湬��a�ď�ŕؗ���T�TY�,�P���o;K�2j�U�.���.r�_o�D�����
�9k�;g�̀u!�����_A���"fGr��\�bA"
�ڮ��\����V܂�Ƌ��ٔ��]�4�E��P7Fۅ�;�i�~�8�>hl�8��p���VHC"�Su~uǣ��+�z����X�^-���Y�d�ȧ
�d�
FtVA�O?a�*�D�����K����zI.U�'��g!D`/s�A�O�9�#�Y��Â��$�wZ�؅�|S��C��<��m��'�8�-
+>�L��K�2����/�c�2d�f.���n��8�:���Ǧ)�3dЎV=���l=Un�����Zv q��'A��
u�%Rp&+���!���5�u�����^q��M�-M�s���laW(�4��M���Qf�x���<��w�6)X�#����B�
'i�� ���P��\��W]
 ��L\X�WA����(؎��s@�g�
+�ހ\Y�WG�|�u��;���Qmo�_P��+�_��mX�;����
��;�2�(Y/<>��یp�v?G:۳_:Ջ�z"I
hX�L'�:a�K���
n
�	`��ll�5�t[B�Ǘe��Ѩ �>hֳ��(�spV�Mk���
�7-;/Y�$�����Ќ�4�X��5�XvK{C{
MXis���
�
�.!@:(u;|#A�;�#�4�
l֤g-lr���#�m�.;<����H�
���v>f	(�eL��Z2��J#$g�:��~���
��I���u�8I<m���Y3�q�:Ɣm#r'�1�
u�̣����n�k
+!�ʾSHWEF
N����6kh@���՘�(����k�<
�c����k�3���K��r]
����ԥ^X����G6�U��k�'nE�M��;�<r�MD}�>�6]s2�˞8>�/`
3
HRA�TjO�#�"Ά1�
����`狥&
1�����aj�=�8�����t
�,���>�wV=��
�m)��4�do	�,n�����[	�#V��5��u΃�E�Gވ�n�6[9����8^F�f�J@C�������5
+�FV'bI�:?����m�`�Q���#��Aa|3��I�
+���b���:��Rb�;��5O^�v���=el�'�Q��V�i�^<l|��f,V �8HF�����:�m�Ig�j?
�̺n��œ�C��/��U҃X��Z��

���n�!
x��<(ajƄI�#�S| �����8�D�E!*V��
^S��
�1�
.�~Wڭ5�&f�
���9w���R�
��R��`���pBB��7u�Q���_���`Sl���������~�JLZ��/,zs1!��7jn��
����Y��eV>��2�T��w�zgL�@-�������Ϣ~�]M W��s&NԄo��f��X۴������
�pv�~S�L%�*�(+������x&%��2�;��={����#��ZA|�7"�>z2\��^ϟQ��� +�k"�u���0s=gt��!���Sc�ah� �
T����Y[Ǽb[�?U'+p_�֐+T�1S
8��A��G}�cg��e`,�+1�g�qM
��5#��y�-�T�=�zf�r���ˑ��RtC7��Z��;1��N5j�뜐���T
\z
P�e��.Af�ɜ;EL#q�Գ
�be���Y�V�
+A �	1=0X�]j�~2u��FP��!�$J q/�t���|/��Pږ��Mj��]ˈP[��.u�1�K�"_ݖ�T�<�pR���k�D�Dn���l�$���`�T��+����q7�rG���7<d�Ӧ(	���,-��u�m5�
�Փ���0�ﮘ�R]
�	;�jz���:��#8(�&]�VX�}�0�b+�����5e�fϡ���0�,�tb
�P%�����_z����˵p 1WZ�"F��߸R�V����[nq�
2h�B�A��`5�r�9����?7�
+J/
��"_�qj�k��y��S�;f��Qjn4^��5U�����[��e�
+{l�14"�^�����Ԑ3�)���/�	L
�9�s_uO@�P� Q��^0�u�@��Sk��v��Jt�->�� ������ ���z
�	O�Y��)�y��|�s�)٩���q�����R��j�H7
�=����g�_��
Ͱ'ك�K˗,����7=X>�"�n�!
b�L%���p�e]�0��)'�Ւ
�4�2��Sw e��􊜢��# ���������ݻ<�"S�iفd
Bn���F�g�L�x4B씁 ��A*���*���weZ�ܪ}T(��dŁ5�[x?�r�E�21c7�o���*l� ʿ�
�HVĠX�?��/���Or��\H�����z�xc�i��
�eŞ�k?+2�؈�š���d�<��x�fZ���%��ב�-���2���
5��
�,4ўp*`Zs�m\,~��F����W	mB
v��{��>yZ�E���u�j���j|�
Hs�E�n�z�m&��Y�ܗ1Bt�)�ڴYSސ_��8��{����32�S�����
�jS4
LJ j�"H&����=j �
��#�灄R�h.�8�^��Wm�(L�@/�VRUۧP�v%�p�N�-�~�,b�� �
�h�E艿��ް���^���<�Bp(�u 5r��i�������V֟����Zaf��	�@H4��g:%�O&X�<N�͂Rȋ=�`���Җy��+��]y>o��mu�L* ���M���-�3�( su�<RqqR�F=��tRK���n�y��WK�Zy5h����~1͒�ac٣]��


�}�)ர��-�w��'�aa�$Ҍ]^r��ದ��V����^����,��
�e�h��n�K�?�dƱ�QT��Iq2e��~����y&��Ԓc��K��{o�ֿ��0�����*�,7�㘁<����M�-
fC�p�CRS
+���yG�
��P�>ؿ�{�K'��;f4lkk�6����r
+O���Q�b��Q7�aR%<ϟ��&����N
��k[ђ
-�e�ǣ�D��63����a����e$s�
�2����
��6BA�Lђ���SU�/iV�����qV8�w���:�]l������
��f�+����%<;�_�'�Ӄ#s��V���'o�r<�ۓ�M��

/�1���x7�9�8��m#Z�+-�^�ݥƟ��f
�6	���ud�~�2�/�]S����i���d at 1��
�j��̓�������0������!���oc��v��On��"^�O<i���
��tr���7�D�]
��J��)�e�$�%j���5���٩m:��P��|��"�J�^��xHjū`%���z��5M��[ ^��/�+v5t��)������$!��Kb
P�{?���]N�ÿ=�?C��j��� 5��.0^g�y�F�y�=gh�:e�
v
��cV��S�u�.���� �
r�
�~�
�$
��H��6z�|֊k
+t�tG����9B�zu��_)���Qi��2�U��4�]���m��f�KO�}
�#V<h�@<ie�is}V�C
���F�ek�&˱��z�P�� ۳Y�[�qڐоQ]-��2��m׊$)��P]E�Kz.ԣIގ���
�����G@�����ˀ@�' &v��bI���D�*�R[�H�bh�]g�Ȃ=#Qg��=�.�������:)�q~Kzw1.T�Ex�-1K������8��t��p���Y
�Έ�
�����"�o�1p�%.{͢c=�����-d+�|��a�*P
,�ô8]�6<��#�#���P�ܕN����LojU�/X):|�!D�o�Ͼ������`�:ڟ���BH^��!����	g4�5�"R�S�;ȇ�4�]{��ci�d
9���dh����ncr�^�M��
�&�]��%N�0��
�<����4��Y���i�bb^�^��
���v��E��S'�ՙ
"Hϰ�p|�O�����j'F��0��2���A$^[�����sqg
������-ݾ�����-
�k3e�=��_�!�8
�0��� b��XGȐD��H��0���S��D?}������c�dm
+ZWN��c
�
+X	Gl�-���=
��Dh���ev����Y��%2t�3K��x�F��wv�W0o�[�Ԍ���ܮ�=��¤
zյCԥ�Ir
���K�D ��2�[�ݾk����iqrCx���C#�֔����Y�`��@�ڥ�_�,Gs!^+�@{�&D])��9�p�wIrs ����-5��$v��9�]J���v�g҅�VkeN�N��rN���<�_'ߵ[�mpV8�,K�\�+*�06�v�UF��S��c(���Nx}���O���Dh��'��=
�?�k��N�.5Gv1�
+���t�ϙ�tR'g;i���FW䭐��݋7����+���n���;
+��-L�H3%�B���5�2��^�t�4]
`����@��!i��g��5�x<+��̳8��^v¤�qV��`*���鰿P����\ �T?�cw
���N���^ְ@�P�	�S�xD3���3������[ 
�t����AޑȲ0�'��
���פsV��
�bcc%�N�V����
x�=
�N|Y'����9[E2������of�;f���4��ֹժ�6^
]v����@t&4�`�c,/�����pYu�]�/t�䧿9F�(��d��s W�
�|��O�|`�"���ͱ)�Ab� ��S�T��0��IhU�dJ���{��#��`6
uQ{�0�m�����IT�94�K=�A:���X���ݫ��f�`~���
�>�"�x���Fn�,�4>F�n#����w�O"Q
�%H�aߔr��
�//n���%81��.�^U�MHj���G��v�d
��foa�����{G2y����H�>_5�΂��ݫ
1�_��o�h�J/n�8N!��F�N��F}Sq^���C��=���n
�@E,�n)��#t��x[�㙄���
]Ro�җ|�1I!;e�
+�8pO��{���8d	��
�=eA��*�
a1��k�P��Z���	�^�
i�!�NJGT
����?��t:��PO̓�;�<ѕE�B��O/��E|�N8�/t���7�A�kq�n[�=�w�X5\\4Ě�9�pM�ǡ�{!��!���Z�����D����*]������
,�!�pn��
��/o�՛�ƶ�S��6
E"�0�s�Ȼ���;�):	Րn�-��N��읙F2��B�g�	D���d�쵻��^�Y��;���7��D�8F�7�0黕,������tI�y$4f�Y�PP�'F
��i?�Ҽ�	
Q�3&����p`yxk�`��q�����׀�Nc���&�=�
+}�"�����,#�җW�����Ƒv�ݭ
3aL��z��ݮ:u������O��e
+B�M��+����9>=-�E�XJ�GQwc?
��`�5�o;�y�1'�����e��������q�t�2W��z�����m��k8����}
�X_�-����U�M
^i�{9!g��{^<����������������IfO.ʵf������$
+,��P�^�V�Q^���p�2��-7���W�Fތ2Jƕ�6HAx����;3���~
+�z��e�C��|�8}�$�-�ܕڕA��c'fx�LR?ay�!N�
G�L���sj��c�f�������޻k�z����E7���Bb�,#]��ME�l��Ƕ�H��%�
���������B�`BU�KILᨦ k�*�D��������;��h�+�~�$�{@�n1��R/��b�0��
k�
��}&�g�����\
����%;t���ف
�pe��Iv�u���Xe��cS%"�ZqEOs���,
,9^��_�:/�$�.�N�2
�S[�p��K�k?��}7 ��W4�b��ҕfgA�[Ps�)��t1�
ɯW�u�K��v׶2[�����)��
�q���V�(IAF�GF���ʹ	p��gcG۹�rc��٦�
tE�$p�L�?\R��Go�&����V�vc��?U.F~H<�Hw�
+�5ˆr��7�?c�7�oV��i{�� �F�(��M��/���m���p�P#y�牰f1�?>m�����̷��䧲��^�x�t6^�<��M[�L�ܼ��M����iɨȡp+� �]&����J~��-.dd�O
+�����ͭ0dj��,b���Ӱ'*�
��*�)�$�昫�e
�k+pl�5��;�ڑM��8������S��I���B��@?�U2F
Ls
+���<% ��>e�Qp<��f�cZ|��rm��p ��	�D�-�x[��	�������nv/�!O��9W�59�,��+2�
LF
�Ϻ�^+�n�n>����bB*)�- �p`��1D�ɑv�2{�p��-�`�F�緕��y*Ș�2�/^%�w�S:-�����u
+�n782:��}֯�!��h�o�:��.��
+�k�q�
�2�����:<
|Kv��!C�&�zT�~��L��-���R�$�*Wi�&�v��,�^H+1��Di�80�puz�E&e#2��\v@���vT�&3�rɲ�A��
S�P(��
+'X�5H�?�
��Ѷr�\�H�	��n�z��w��!�����wd9̴����&ȧ��VKиD���69%GL��8�mH�+-�(&�.�q�[`����eaUo����n���#��9��� j��c�[�ë�[��QQ���KOw�
T�W��v����"G�WIc��;E��>�����E��"ک9.\�XxN2��l
�-|3��N���D��rz訾^M��60�`�
Z�oq�
�+�i:�%�f�sU���5�a�������}`�R4F8�T���<��;b�z������Ѣ�V�=}I%99f�݅0L��x
6��<C<L^45�1M�Uw��n8��D�^Ʃ`%���A4!��g4���';O�(^(���팋,����o���+G��w���=�5�Va�]6��=
��Q���f����
ϧʦ
y>9W�(�m�%�fYT�������?'ٖg��
t��Sy1
A�e
 ��Ј$���}?�;�.�
L26I��Ne�Q�����蕍�R�N
�;��q�+�? [...]
+�
u٧.h��Xb!8X��Nad4
�g,�*כ {BM����̃��b��
�\�Bѱ��`�<�K��S?��DV�H
���
�V�
�D�߲��̽@�i�-�/I�y�B�M��S~��.��2q~
"+�T�������:iQ�猏��DǼ
N�k_'�B��\�-����>���y��#*���͢���ұR[�9m\D9
&�I
_�dz -�<�@_�dC�j�n�'Vg�\�gj%�te9-�خ�� ��'MD�~��	L�
�>m��?�:Ig�3�p�":��N��{�*E?9������RM�~��
m·�,yon��mit��C��=	�.E��p�KI��~�i+NÙm+,P
.�}
���ə
+Hє4̍@E���bk�������w�
�
�p#��c[݇Ţ��
gT�ÛE6
s2MN������
� G���J3Dϵ&��o��
+v�+��A)9���j��}@G.;y,�(`{돏
)��
0���6�@o~�R�O�&
��3������S��0x1
G������z��H|��;"�ʹ�G�w���ʜ�=��|�0��^�>d(S³�v�(�\I���OT�ֲ?�C'6eY1�o�k�s9�Q��<
0j)��o��C52��v�eDx�n��f�4�{e�]���kP ���1
��Pﯡ���
+��VNc�z�F4]���#�����:搷�y�x��	�
�m����c�&�$:Sp��&P
�"���*
�p-]�?�UfB�T��[��Z�����;��V]f��4�u�8�p����]��hq�p��^�M׾������m�Ud0�<c6�+hz
GP�3��s�h�C�v�%�Jҫ�T�����g���$���m�뽚q���|��$���=�y��R�N)Wآ��v
+�ݨO�[��Tk��]-y�G�8��4▓or�3�m'w�
+�o%%j���ܩ�L��� ��k
|�l�=-�C�����jGh$�r6%� eR�b�%���>��ӊ��E�s����P[~
ͳ�`$(Z�+:���T��D�f;=����ϛa�$ �\8X9(�C*
ca�!
Eo/�sFE��{��mvk�k7���.�ezYޤX��;�
^����)醞������U��
V�u3Z�?X_�
l�:[%��&��o�

+
+����]=j���i�\��)(�s�4O?5���5ݴ~���y�0�G��^srm<v�	:�,�\�d��
(��ы�8�Rims/1���m͝�|��S�n�K������7����o��/ԕ;��Չ�Νv���С�����
�Z��$����hX_�Ǎ6��hb�~�
 �a�����C�D���nr��#�wf��w)�ki�X�u$t��=����g[=������–n�� _�-ģ�S�����L��P+�l��2G"���'�y�7
n�7�9�7
|k����?�s�8X�C0r���}K�����:Bi�\�ݗ�eƙ�uí@�1n��e
B�0z��_��rjD�
u���V�XiI��r���$��Ut�
oN�ݫ��(7�}�'@�A���Rw�#3�Sٸn�����A9��Ġ�t+S,QtE�D����M�_�]0Ļ
�������mp��uf��)}d�c����a�����
1w��c�)�S�f�RZN�v
?7*��`ME�x2��4/�{�敹��S�38�E��oI��̦	O�v�o\7 �#�8~k���:
u��v#ffi��˦
+5�[j�,����J�x(}�Q
?@6A��@���1�>9�HU
)�\B����5��xz�Q8b?�s��m�\�ə�s��l����.D�sp�&[>�
��8�`}���0"l��G+�S�'��;��馧�A�n\&�ABչ��9����������T��<�"]�l��*�zBֱ�y���г����uG�z��tLaVx�1Ff��LL�Ş�O����
����|>�0b�W{�
^�{�ޏq�Iՠ"������/a&�=� L+��,N����>Cv�;:\�!b�w7�'���I�aA��斍��
��_�H�/Y�x�6#�$s�����d���bO��[�������r�%$C���L���$:3�K�܊�hZ�ė_USVOiOD�X��l�
S�����8�d��a�?&�����#
GP�ՌX�����$#
�p'
A���'���	aT��j>_#K
rQ�����Ua$x�7؛o���Qd܄y��a�T��L�n��u���h~E�g��� ;('��P�;��<G�ċ��t�+�*�F�"a/�Ч��;�f�Fޢ�ܡ��'���7a?g�S��:��
]n�H��9��Y)���ʅ���w����c9^ؕ�P6f�͂|�L
6Y
��D�Gb�OU��� ��Ar���\��
#(��/�f=���ζ��;�2���|������;ݪ�zP(�I���sB�K
�Pe	Xn��?�
3T��[!!�4�g҉�X���#>�l!+AF�ȕ8H�l 9��g_:_���H�n���\A�'���GK���n�(	���#�xcf�{@���g�#w��ހ�����g[�$n�z]��!!k��/[ڊbZ���G�4핛��
*J�y
��f��`5� �x�p:��<���->\ip���Ey_U���{c--�x߄K��$43����2�J�%N��ȹ��
X
+��?e!�T�C�[��GV�϶�Z�ӓ����,s�,�9C4q0G|
9��$���PS1���:�eI��'�-����@"��26b���谙�b�9q̼8�vZ�{��J�筄����'=���x�>Su���D�>8�|p��̝,���X6����ʺ��6�B�Z�S���
Dt�
sUW�ttʰk�
c��,.��E�rWx��}���"\����
+:�GP�V4�c���";
��}�
_2�'��7 k8�I���Л$��[�{X�xh��T�|B�`��/���piЎ�X,L��I8&	SS�p;�)pU��\5�mu���%�CE��ʢ���ڳ_��op��xZW]�kf�j��ɛE��E��P��!$a
oPt�u�
�� g�A&u����ZA����e3B�
����:��%�
f��+�W����.���G���s��
Xxh���)�!�pN!�{#놬]�9��n�+�Ϟ�m	Uf����� �a���h��V��.Y��n�'~q�o���u��+p���h��
�<�QXX�s���ܫh��`��"8ގulv�5�Z�+�Q��J�u�����������T�@)��!@�)��naD�q�|�
ؐ �>>��/T_�É4��.���_��s�V����.
0Pדmk�Ra��r�4/A.��Lu��q�QDً�nJBVAc�9m�O���Uc���#U,�m6���e����'�
:���CLt.�Iw�a'� ��{)�aM����A5O���XO���;S�-��6՗�0��%�1؍��4>+�r�?=�o�
VPj8�����$�E$�F��֐�Z�l���>��͟��'�#�w2�dzE��Q�&	2��� ӳ�D��{
;�$���T���9$�>|�
�Iᯙ�4S�z�*��kZ�՝��m�.��RX���8;A��)���6��<�&H����
��
�>����?~ٴP����y��?���'�k�>���6����I) ��O�s�:�CZzT��F`&ט�o����Q�:��7t��B�:�@R�Y0\%�H�.��6Yjs�Yd��r�(tB�^�n
l�j�)�_��:�R�ٱq1
�!�^�] �V��7
+���R��u�����eT�ߛ4��伔��:P��VA2��P[���M]����[��b�ʍ��,���8R�BO�Q��tā�}�͊?j36L^��P귟/V�(
A 8�ޜ5x�xඳ	��C�
���4��W_0N�O=��������?T/�����Z��
��_���Us�?%�~V��S^�����

*�m2|��a��p�EIG�,��l���G#�R
(�`#_�
|��.�k")�А����+
�0YM�3��f�h�h<�dW��>���N��}Ӑ/V����I?4
*h��7
�S1w�f
��z�t�
f-��D[`�R��[ jCܫX��}

+K��׏˦T��c
+_p�)%�� �X\~�P����ߣ�
*8��B{�
���
%��"s at qžJm��~��q���T����J50p0l��L
��1@ֱ�0:pD�6p�A�pW,NO�d��l�&t
HoL���嫲 �6x1i��t^m�$�{��y0�T`G�s����O�$j�m�sD�"s�mc�/�D9Y5��������m�_<Z��|��Rel��l��
�,nƎ�����@�O�
��p>�by��rĝ6U1�35�c��I��h�sB{�÷d�B�j਱�
��\������o�+��`����1�.��?\�􌜽�g�Jv��*<�ݢ�1�(>��3�8J�G"{�w@��ɭ��WK-�]%?�̏Cŀ����F�S?������z�!Y �؊(BX�K�-��:��'G6�qy���<)�$|��B�w���-���]D�
�^]�������&�,�erR�`xKk��n7k�a�a=�v�����E��i'�uV��,�i
�tWh_ъ�>̵y1�,z=�P [...]
���f!�

��);K�����j��_�
��-z�~I��ٴ��LK޺N2J��f��C2��=S�C�*B�s=�%�W�"�ƂZ�?k��Z=�2II�_
+��C&P�����v��ʄ�,5kJ�6���)o�i���4^�Y
�G֥�}���q��$-be��%̝I�� �
�HiW at m�1��-d
d�0]�P��K;
H�':9Nh�L��<JH0(a�z+
�q	�n�J�+§��~�M~2�ń�O'#I�3����p2�}e>Z�?4�H���@��WT� ���.��Χy���HU��p���r���]�C{�K
B�<Nv�xq
1^�j����Ntԣ�E��J�� !��
�L�{�`}��.[@��
�dKe�f��
#��T#^��!N����G̾��d�(�ڣ룎�\�<�}y��Q�s�X5��8�`��4�һ�&�
��C�/�!'�z���A]�r��e���
`�Q�o�F���b�N���9��.-d�T")��C;�-Þa2�ne�T�H
������
+�y��T_�
+�}��������>��xxϒJ��\�oj*���%c
�Ү%A�Z��i�̴� ��	
ǃ�
��Bll�ע�k
�0�○��^�!������i�9LFhUlw��<���;���2���;����b
獬�N���?
�'�-:|+9��Zsˡ���9�ٌh�@-j��:i	�^G�g�
a�
�����O���O���g����}u
" xӥ�N��fnq���
�Uxp��
+�� ����J�������;�gBR`�E*v��3�
�z�df����"���̣ �t�<�̵���
�G
+g@�ט���#�&
8��Sx��9N:g��s'�v���H��+�3��C�*���O��
+p���oc'�T��?){kX�"�Cr��-��P��wU���V�W#<ы� [
�NB�'�R�ǂ�f5�5�a���O�h8B��~���r
����a��C�����պ���jYׅ��@�R0����Ӄ�4���޾��Y�h<���9�j(b7�æ?�
&��H����"
�.v��i�O�c�8��y��q��3�
M���s8�gA�T|���� ��:0	�#c1��C�l�ܼ$)�n�{�D6N��?ؗ�s�XK<s�S��<��
��@�Y���hl��4�cН�J�>t�ą4 F�W�=�SC�ک:9��]f^7�
����T�*�ޱ;�hD��
����%pr�erߎU��ޤz�Y�	*�?/ܡ��
mt��ϖU�&��w)��˩b���
+S8��
T<A���f��X�3p8�W�ILۍحN�+�� ��z�\���`���݂��	]�+/d�E��كE��6*t�k�?�
k)n�}�v{L�+	5Ţ
zZ��Gl�
-�s�1{��PN���㘵%�vF�>\�����pT�.��K��x
Kt(�������N,��y��}
pQY�H��_[�&z�	a��EǛ;�fC�X"􅉅T��$�F�­������V��;�>��
����	��e��;�����X�5�?�?��
lA��㾦z�iUjc?�6��g�J�/s��C���H���,��(2 ��^S�����uJGO�P� �O�U�z��
?ْyH,���@K����8��8���Te�d
��
+���
�������m�~\c�]�d9��S�W������U��Fα
)X
�Y��j��o f�c%vͯ�O킳%̷�
����-L��RV���I�y=y��BZ
�~2���T!^X2�c�T|Z��S5E`z�f�E3G}��z ��tº��t��iItA5���߷O�f-�r�X
V;QY�)��k9�_�фQ�
��ez3����1F��1o�,��/Ua5T�� n[k�i���"
�Nj(9%�tRͰ��o�Du��L$�}H�1g,��y�g�%��n1@��!��{UV��
��9���?0,L��E����~�B�čHZ�vzD���R5NE

+c/Ɍ=S����!
�ᩭ�]����k�.$�]�d,7�$����=ü8�$o�c='˵+BׅA��[ �9r����֛_ �o���j�'ġ���ϫܽt=G*�e�
>��Ǭas�u ���u6�`�cU�>����	^�di��-�7�9�v���b�ʯ�� 
���]Ժ~��Dɪ^5������L'K�ɵ�)�V�m�0��S���j�oh�vݔ��'Ʊ�B�{I�Ъ�泫zp�v�Q��baY}b����%����u<c���A�@�n0��Qg��)?��c��{6�^|[W;fZ:B�X;�ӄ2˓��(U��h�bK�}9ln�^I+
}I0
+��G
�c
z��k�
&U�2�\&x�xzE~H���[K1���"g2�����w�y�R-���`;��E���#�g�Yz7?�/0�qpa�����|+ZPUB*�n9�^�/�h�MJ���P�g�Y��{�W�r>���QFI��=S��.v�yW"��2��7{���
wx� �B4���<�4^��:
�.�;��\���*�`�6��hB�,p)��4���}�{�h�#r�J�
�w�2��
>z����Kd��B��Yr�$��xˀC�
�wK�O�d��]�@��V/�@"���IH��y�i�E����������F8����� ��z6w�� �
���qN��h�w2R k4
��G�I�ȇl�mX�}�H_@��=W�%����k��P�
>���ߌ1U٣��
�;���o��,̹ꄞ}�� tqF�r at S�{�#�b�����h+����dz�U���-��x7X�#���x�
+���
��4�n%��{�ܾ\��o��p�[�Bn	�]�#�B�������
O
��gqkB
C��OH�W
�RQ�I��7F�
�zE
����2
}�z\�E`x����[3���}6�/J�
����m�
:C
�*©������-=).
���E7�����r
+��^���,�1
�O��4�
'�m��k��n$�
w�s�"ɛ�q7i̮��YW~�'��󏂳
���5�����ܺ���m<?7oၵ�jڹŎ�%�x�����u�������2Цh�Ȅ
��o;eQ�=�V�^���Іo��c�r2@��#~��
"���ʨ�%�D��K��Pљ*B�S����nB��9��e��sT�;�o���s��x��_ P��AL�8���)KN���#���X�A*&K Q�ށ�����b
ѓ!ƒ��*q
鄆��(�Qq?��2va؇���[�[痟�`,�������o�Z�����"S�2{C�^ѐ~��_����]�Y
{��-��,��+]˒~t\�Kv
-
i��m܇���"�-8l�܊����X��4����Cd�lp/�.L�2�կ^�)���mp�[A�����L�>�'ZHLĩ�4�~&)�,�$N��V2�y���+?-�7{Ѵk͙����F`���Ϳ
�<���f4WTqR
~}Hb�ݻ���:�em�H
�{~/��$d���L
q����k>� [...]
^���l�$�-ߺ��YK�'�o�*�|��R�,�P������\d�F��5��S�_������
'5�_�|��`�'�3z&fjB��yk�4 y��
QG�
�U�5h��������R�j:�8���nxt��/����@
,VᤴF���6
��k�)w��`w��-��y�u8
�W��w;Z��ć�����\�y�nڜu�C������Ι��*W�y2��xw'N�gDeV
KB<�L��)�
��/+?b�U�"�2���|�.�� Q���L���is��Bq����(�F	k�*��x�:@�h��:
��X�(,s�,f�&�;>��I
�X���=|c�Z�9�AN�9 ���r�
+��gq��?�v�^�s9>>d���g\w��[�;�

�HG�2�h4^���9.-�xْ��75&�Uo�˖�#'5����Yx������*���!8��bo���']&8��T��04{UIsS�l��6�1��|��q̻�LŢ�E��`|	�OCc�<�W�cc͝��T�S�a�����%s���PcraY*=B�p�X��
u�<�]�py�N�~������J��,��2WN ��FF����}��+(��������
zf^R�
������u{Z���o�v���_��=
��$/��.�� ��R�ȩ��#��K�7<Sg�ŽP���K�t�`D_խ�B�9+���2�2�W�<��ʍ��h�6�	�ت�&���F�U�O���~��e'{T�Y%�XZ�a�)�-����^���k�G�?���L�dX���(
��a
+a�^����'u�ƾ$
�A�>W�zC)l��VD��h��\Y�L�o��	5��1��l��3c��~����.s�d��S�4SN�"��OFq[��mW雠����K�[Ek�"�����UQ�K�$x�m9C��9�.���E�4���n���T�߫sZ:E���	gV\��?zx��
�M!�
��yTH�B8�}�z�$p��8�wA��7�
s���]L	���B��u���
���*0 at 2
���<a���0j�*L��^�CđD>��\�n��+
yOH�^�lRy��+ի����ڱe���m��^<~�+��l�S5��_�ǝ�q���<g����۟*��T+�X���'�oh
+
%���W$�>T���g�.=xC4��	�)
ۛ>v��,� � `��qpx�)`U��
�D7�у��t���vE�9c�7x�[M�e�5	Z��9�gr����;=��m��q��,��<�}�ay��ે�z�Q
+����AV��I�1�	�?r��[J��A	�� x���$
T=���OYƑ�P��
 ����"�d���ulʲ0��~D��Q�@m)`&��M�~[��yA��1��Ө���J�4%<�H�s)��6��
�AgX�~V��2�'F
�
+l��A
*�
++J�2C�����ROe�_����[�*9G�kjyd�U�
��v�9�[ϲ!]Nj
�̉7����)�l
-ט�Yn���d�Z��{�Wx�q
+[��{礪��U�3~1�����=�$��C�x�ї9��M�jh0X��2HY��"�K1&�,!?}�w(>� �F�U
�bQ�U}d�,��4k�Ϳ��`ѣ+�@�g��+\�i�2K&=��^v]+��ځ��&t�-" iN�>�����'V1�|�gy/a�����~�� :�����Q{��35�Q��{��
����Q��.›��
��Yޤ�bj
+֏��A��_�}�/��	6=U����2�[k�߸�5Y
8Yn�3�֜����3�E�������7�;sir$;����j^z>ӤÐ���r=O�V�'ZIx/M������"��B� LVʋ�t����
�|�X?/b$ϻ�T&c?�K��c��4nGL
�*�:
+�K$
���Z�`_Et�8]/U�L)��;^��V��TŢ+�6,�,x��_{.
��*]��V1�0����w$h�*U!
��d�:.�Mk��msD��z?S�F"�ƴR%��4~k:�d�IC����J^��~�tgdž��;>P�_±�6�{��3��h���j�EY3>�w��s��%p�cd'e S���B�sk�೾`�ʬ��q�����/:V��J����
+h/7_t?�?Ycݗ\wP-~����ig��S�Zw9��M�
�S�(":��!��Q�^ �oU��>/
��D���	J����mԲ�k�K}�Nj����c�X��#��U:��� =�I%�7A0RA��^�3����Ma5= yhc{&)?��I=�>nI��i�u{FyzNw�a��TD�.���p��N���?��bg2O�X[0�6F-#�l�C^��O���˅SB���Ϻ�B]yuO2�4q_���uϺ���,�Ev�͠,<��
+U���V'��?X�J^�z���q��d�����7�.[�u6���HE$ń�
᥃� �3�95"`� i
�f�_���7������`© Qz6~�ҫ.��?�,p�%)c�]O,H�.
�
+��JL�s�Qj8��EJ�4�mM����_B��g8�*>;��s�C�,��y�Е-lz:;�H�ddd`Jԣ݃���hh����C��N��.��9�n>
���gui�F�#�����A��N�7���Ӡf�W�
M0 <�	쨥��������� �l
�%�ߕ�,�c
�����в&��O���O w	��?�j��7�(��ÿWY�̄�7Ec꿱c�&%pZ��A֎���RE�e&��>GX+��,��l�C�O'Yn��Iގ��77��CO���&��q�������2ڱ�t�A�9Y���ςu��)g�����h�<4h�����z�զ�y2}
���v
�C�1ENuk(��D�J�_m�jS�v�0��y�8l�ض̑������a�Nur,�7�ɴ
�ht�!"gZ�V09����=S�
�r�y�6~v��
���")��"������
;�p�3j�Kj�O$�g
5޿���z�:�ݰDa�S�	G�l��r3�4.TV��-�[�9%�ҕ��՞�f�G����a�,�G�8Cd+
b�U�{R�)l"�؆�H�#Jc��p�*��$l�N��V&w�n;�j��A"N�i�{�W·x�
+��9�1%.�<�|��>���h.�i��s�wVa6��uC��?߻O���
�-���"Gߺ}|�
�x
.*FŘ��Օ�!d�kĹ`�%QdJ�V�V�_����lG��Pe����~�b
�/f�e���"��1��Z�(�|�l$��~"�X-���P�������FjF�
�1X
+Z�
q���k��L]x�2{A�W��̷_G�H�@O9YI$�܌5T&�F�Q�
?̄�1�6 y��\n�2M��.��>Nl%�O�V�I��	Q
�Y�|�{�{mo���
���q��������:������c /�����
��-�˙#��Ny��ё�E��30�m�o1�
+eB�uG�>�����(���Y�#�zi7m��l����*�8۵_�)�I���[#���,湉p�k�K������
d�\L*��n潛\��2��g;����>���B��[e�Y
��s�<p�p�
)I��̞c�

Yt&>N�a�q�?74"�.��#R2�~��L9������+��$�>ҀI�#J(��;���{쓬�W��"#ŵdT��6o�W>��;L�	����j
W�o:7�y�o�͐j
!����
� <����� L��6P5e.vH��?<�b�'����	ۊ�%DJˍ�
+endstream
+endobj
+3540 0 obj <<
+/Type /FontDescriptor
+/FontName /SAGEMV+NimbusRomNo9L-Regu
+/Flags 4
+/FontBBox [-168 -281 1000 924]
+/Ascent 678
+/CapHeight 651
+/Descent -216
+/ItalicAngle 0
+/StemV 85
+/XHeight 450
+/CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/a/at/b/braceleft/braceright/bracketleft/bracketright/bullet/c/colon/comma/copyright/d/e/eight/endash/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/numbersign/o/one/p/parenleft/parenright/percent/period/plus/q/quotedbl/quotedblleft/quotedblright/quoteleft/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
+/FontFile 3539 0 R
+>> endobj
+3541 0 obj <<
+/Length1 1647
+/Length2 15584
+/Length3 0
+/Length 16436     
+/Filter /FlateDecode
+>>
+stream
+xڭ�cx�]�.�F'��mtl�Nfl;
�v:�ӱݱ͎m���}{���u�����1����G�U5���IN��B/djo
��s�gf`��[��:+����s��+�]�\�l 1v8rr'��������
��4�M ,, fnnn8r���������
�JMY�����,�l{�������@���
hc�`
�s�K��\,� 3K @DAQKJ^@%!�� �����jlci��4�9�f�N �/ &�v�������K�`pv �X�uz� 
��� @'[Kg�� Kg�������3p�Xڙظ����_����rp�����/��L����������7������t�0r�'���_`o�w�����?%�
�K�u1��s� =\��e
�Z:;�y��������_i�:[ڙ�Wt '�����
���/�_�N���o�98�x����_��3Kg��
3�ߘ&.c�[��1��/Rvf� f��M]
�s:�뀨���I����xL�fp���.C���Tf���@����G���'���������w���7��� ��3������w� d�
#'�?�����jdki��r��5����q�w��!����*D�����o������T����`fd����eW�3:�X������������0U
Kk��`�7�3��5���_0�	��(�����6+��
+UO �EҐ�7���?T���
 ozfn =
'�����:r���������\�,= :L
LL̀����������3�7���T\��L�����M\���*��i���X�� �
@��%{�`��
�:��	Q��^f����Fբ�5�=���;ܕ��!
MS<�m�����4��X6�=��˟�|I��
+P7):8i�K3�4���d�!�9��v'���Kޡ�:X�`������� {t@�3Ik���DiA�+<=�H:~z�


깁��ǧ͍�%�u�@���ᘋ/��V�
�.'�\95�9̾B��֗^��vBU���A��rZ��+#��H'�^ā��
���l�*��{<;lK.�{X��Rw��e�k�� �e��X��naS�N�#��0ejs����w�Ĵ��S`pW�[�_�W�⛾լ�z���".�N�Wl��=�/x�8�M��,!*�J��ej��D�kN/M��1
� #
��\�HǦ~p�Žd�{��3�L�-�hV��������O�gm���
[	=LZ4�ȉ�=��'b#��
P�n���;�7&����
�������AߩL�����r�s�Q ���
u��L��;�<0]�?͆������P	�s2�9�����=�a�ļ�M��S��y���X��
+A_E��8$��˚qK��[���2����8K�k�p�^]��I�R;�=�^�J�r� �D�8�u����@��I�f'�� ���"�͠����<wx�n~�Hն F
c�m	ebP%�AsU�c�j
ʤ�赮��G����jes
���
+��^UyЇހ��$���w9��S�������}�{�n书
^Ώ{
��"�+š��f�t�3�\6]���C}I�&H��?
+7;]T�s����hZ�y(��0��\�*���9��[
�
��]�0U��Vd�����Gz��-E&M:�P5M��KԳ�f4�i�?�h=;~2EIX}i���̶w��(�D
+���&?��X
+���ͨ
�W8�o��_

��.�:i�T��Q�6Du8�o5���
˰�F�}��&k�����dO��n�n���A���Jbu���yD'C���k�f�
2o���a�e�t�.�
u*X��ljs��J�LR���|.���hǩ�Y5y/O`���k,
��od>8Q�>W�#����XR�?
9i���,|�y��T���~�/�KaL�7�!�L��VR	���B���z��W�s�ə�%Jh��?�к�X�V�s�X~�~����Ų���#�EأQR*��-�4��6t�c| Q���}�
�嚺Z��6 �LWRRe&5b�V�|��̠�=^���xQ�y��IW���1�ꇑ��E�F�Ō�K@�� �
�|_y7
)�
�ۚa��.������ӇT�ÃԀu��|
ϲX 2�Z�㰲\���D�����_��
 ��br]]GY �Ǡil�y:d Y�6O=*w�|u)
*���
��D�,\
�� ���Q�
�u0R�U�7_��7���~
sN$2$M��M�8(��2e^
v�qQ�jF�Dk\��J��yT��
��&���Luͅ���
�v�L�U�o�����ߪ.H���@"�ؚ䜯��u���R�����Z���9��W����55u�̵���V�N�Uo��!�-fR�nS��V�$�(�$�

I�4�=}����6ۊ;yy�]:"-*
^��5@����a�%yՓ�C���w�`pzʄR&�A[Đc}~<�+:fq�o ��75ei��2���
z���ؼ{cl���2�^��/n�N�<��.Lr�t7r���7ch@��
���C��u��R���Ҍ��/ա���9 g�AE*E$��P��o�f�-%����
?�'�~-���l7L�o
+˺���L�J֥�
�f5P	�-w�N�3�b����$-W��>|k�D�d�����
@�F�LD�
18�˹�
+
� ��=G{*7�<��
+ ᩓhs-�������E(ؙ�jW7�b���5^k�ߜ��SF�$[��?�?��IX�1�Q-����0��P_�����*:�!<���	�GV�X+G#(�	����#�
�X����-�M
D��r�lw��
+�t|�'ƽ�tV���LM����
+�-ܱ@E��8W�%10�R�I��h�R���$��9�a�
1��ѽ]M�bd
+��I��k�Rw�S+�$��v=����:�9r~�öݮ�hPο����G�dCkA�P��W

���I��ߟ����2��
u''s�y�I�|ʎs�~�3���2��\7z�%�hg�R��pkY���J/�T�4O[$�Ӣ?[*X����ɴ�8jԳ�H��L�w�\���$�Px���~4�~RٵQ;2��B�Z��A.A(�16:8�5ky��
�w

Y�'S�!���>l�1�ʾ~Lʴ�:�W�X��ŽX$ ����\leƺ��75�9�t O�|�i��$;‰،�+=,9�ĺ�}z�0]�J�M
���1R�S�Ɇ�yW���[f
�05��Ԫ9��y�� >+���-�+�H�B�K�0"Db������[�!�`�!vn��#�P�)cI�{�+��
�,+5������qj�|����x���T}�uӛ��]�b5V�7Ԛ
����S�<�'�L{���@����~����ܵ��5JHߢD#��~~˗.#+r��1`s����Zt���'`#�������o [...]
�B���{r�e�(1țp����p���'5Ѫԍ0v����
?
�K�i_����x��V�a2��I9�xxfK3�z3i�>Z}�n��q�f��jԋ�3�������k�]i
rK���4"Y]lm���FA�,+�ݷF1������)��e~
�_H��Թ
v��
�w�,�b��gO
����qIf�5�/��螒���b/t�ٻ=�	u��NJ�����p
1w
��L�g)H*����
�ፙ���f��٬�t�(��cid�Q�`؟-���:�*]oZ%d���~��=9̬�(��W��7}�
2r.U�^�"5�5�~�.f&� �f�y�CW� �$��9�w_��r�V
��+r̿��\�뗥��dz@��y�
+��87��h�Nwt�u��9������6�j�o���?�i�N��ӳ
G�M�+�?�ꙮz�L�U�o���#,�߈����\�Ū 	b���\�筪0i��	�����$���i�G��º�M�1N�p�\%�'���;O�m]�K�9R~�
�3yM�#N�qs%��_
�z�zu��2d��
�bǂ�F�˧�3៵
�n~�.���\�׋n�F����Yy~����m�he&��!��~[�c����f��6�+��dhϦ��6�r��'d��a�*��/\p=P�8T}�0<t����l���j�G
�v��8�e���_��pM5ޑ�]����]��n�B9P����s���+
��I8W'f�Ȳ%�~�F�ۛ�
�-񠭱��=e���ڍ'	Ń��HYi�1z�N������3 y��G�I"Ԟ�0P�sޯ�4m΢��6!m��"��3�H�8�U��^W*;.�
9�+�]�M����6���|����tW1,,J��Xƥ�����S/ ��YK��e�
$��[�1q!Ɩ�ɖU�_�ܵ{g���N��<��^�C�Q��KOy
���>��g���|B��
�ș�/�jOY�Pt��p�*��4�N�n��0�X�
���+	�]����:>���h�V*2��{��˽x��$П�`9E�T��^R�6� ��
�����䯴�$��E��������u%��芘Z���H��B����v������Jj��,��?��+�ݖ��/e�t�3�Z�q��Fo��ޑ �(
�
LȾ?b(�c���IR�eO=�5�z< oDG
�rh�L#���\�����ۿ�R�
�!�욭U0�.��t��f�@N[�őF��u
[�.�0�F��PU9�
vH.tr-��Z�X����o]Jq��5rX�䙨�^� [...]
/XcdGzYMי8��Q/Hjp����օ���}VTG���殝��2�DV0�Ws\�T�5I�R/{6��L�&�4
;I��ŭ��7��05D�w���� [�?�=��pN2��Yç� �%|�t��Ջm��5蘁�QJ��h!�Cb��\1��+�*F at O�z��FeQ�-6�T
�CȨV�y�T1ۯ�:��
�E|lӹ��y6�S��f���:��e��	��~����0�J�mɎ�2T���c+'��mm��M���KO���c����W�N�U�h��fܡVUF�Ø�4���+$����׸
"��"���#��CX�
�M�vC
�km����m�M�6P�R[�˙��V����Y���>|V_M��iKr�j
�~
oY3���D߮�f�A�k3v�%u��/���L�>E�~p�N�ٍ�8U��� ���/v�r�C����$���O~�Q��
N
+�}K��fm�6�����9p&Q�d���C�x�$���j��r����c��#�ء�;a��B?�������x�8iV�_
~H��\y I�llBw��&��_�n�fI��]Qj��<���4����5�
�G�AOog
+��ǧ�w�OC{�H>��T�~_P�4"�O �"��
6BH
U�AH�=Ͳ��4=ר�0�,��L��H����
��
+#�D��E
�Ҟ�,��Tc�tP4#Q�S�?[.����p“�����n!����`��A7�]g�΃����
l`

+�X~1W[��}�L
&�FŊ�2��{ �<_�2/���L" �]������j>��G����8��QV��)�F�]DDG�m2-L�BDj�u�#�-
�<\�'�\=�ԗ.��26%S���<M�7�P��
�w����a�b�~�P���.�- �p��
+�Gڂ4Ϛ���(4�8P����#��{S̉E�['�p��ӛD�a����E!:�9W'gHu$�d嗱adz�Z�x<�
Z��zs�W�e:�1�F�(S��������g�
"��o�ԫ:43�mrWu��x�Q�z�{��u�0<�N
��K({��&�c�B��0������ȸ��[С��xQ�;>
+;n��"K��!� mXg˭Ӯ԰���i�c�O�Us:��ˆ�1B�
U�znD0�3��W�U��J��K9,���S;aW;��*�&U-D7�?9��Mf�[p3 h
3o�>e>~�6�j�F�mV�<�R�>ɺa���^LjME�Y�����H[æ�����P 8��P��ydذ��o$Deg�t"\/�h�_@=!��T��
e� �7�j=�o���|�{�o���7���-��-ᗆ2fB?�#���a�뛒�;e�ğ�su�H���¨���#�M쫋�U
z���N{�
�A��H�V(��tI�������R
+�\9?�qt��{��h��+(!;��&��������`墱�f*�q�~�C$eYΨ��m�j�G'�CO��@K34z�Nʦ�0���`�<��_�]�]��5�]8<�|f]�:f�%��U����䃧�����"�1�EjU�
�*�L�3���@�N�خnv�I��Nk��|�:}Pr�sw4�[��&�@���;t��I���ҍ�6q� )@�oOW��@���j�L����v�H�fzZ�)�֢�0Ʒ&����[�0�Z�a�-a��WT�6�@�C���w�ٗ�?�!���yj�h�5��P�����@�X���
w��d޵�1,x��X�Z�b
i�z*.�3�((G��L�
�/�t��0�����j1Hy�+[�9?��<�����~IG��
/�
k��Z���(��Q�����E���[3	�e��
��g"a
Ew

�V���FJ��yW�r���-


F��̓�}���S����w!��A�Ү6}<�LJ�(A�d�$:=^,��n��OL�
�vD/�?�w�&�����p��ǧ���'��]
���Ul�-b���v��,M
8��4��Iй�M\����!�ۏ%����v�ӆ��

~N�M|>��e��1�<��$�L�a�?���c��`�k�BY~���ZL	����s�b
�>m��~�g�t��
�em�*����&���lu=�י�Rq�xo-R%'aD^-��h��E2���H�a�&�� 6M�y��E�Z�zl���P�&e���c�]��>w�,0�S\�^�`�֧���Q�lEDp�&j#j”'|�IG���\M#��B;	�A��?S�\�,���L,�k�4܎%�Y �Dsd�e?-�� v*>�w�m�P�~��4"��Yb���������-d�-�F���3H%@>�qN�����3vZRM�1�`&�%����
o�Je�'�O4��U�1�Wd�<���.��N�
pEO [...]
+�5eays,%~�� -���O��t��:��
+rT��wK`����bA���'uNy�85ğ�⹻��U����sNʔ�SZ��.��`�dVPN:J��wh7TV�ڱfs��m��z���v�������봾�,�2�B��.�T1���_i}"#��c��
#f��j�]"�=�a��g�Bla�=*����&�oY�����YH4h�Mɼ'ܙ�QI��Gj� �D��.J���s��~�|�
�$�
Y+���'qJ���k�IJUZp�Hr]J��&;�﵌�yq}F�_��*�JV���N|����M��STL�J��J��W��6��G�V�����I��6��l��.~�>"'�T
+kKSIq1' .i�_+z-ҧ��
�}GM�
��� �C.��p�iol
�Kxr��l�1�3�_�/9Ƈ����� �C{��MbI�����Kթ�/�52TĈ޼�I��u�v�ܣ0(�1���m��h�3�_
�H$Y�����5�ߛ�߮@$Z��3ge�
�Q�6:�e:�wh��#�ve}�r�j�l��=���d�!�
t�[�W���n��^�ɪ�U=tD}�7f+�o}
<xƩ������'c�.���'x�d�{�m��/JB�Wr�Ɇ4��-��O�p\�rɍ]�ޞ�oX�
+�q���
C��*�-Q��
t���x{�͑�o��_]�ֲ
u
�m~��~�vZx]�
d f
6PV4<	��`�3�
+�.��ŕ6\2��yj6b�"0�m!��1��7(I���Bmt�^�ݰ���=�щ(R{*az��X
Y�h� �
{��0��stߜ����ã�&wr����6�
f�+�
+�i!N&����ΐ���(��ɛ�D �?�4�+6��k����l���5�\J�I�a7�[
���ɂv2�0�7��H_�T�s��PMr���̼d��?�/n��C����\-�=�`H�|�s۳ȕt���֝
p�*H���40A}��‘n�~�����d��䔼\��2��vH��v	���ͼ/��s�E��{+�R&/�)���S/�[���j�~ D�3��Vef�Ѵ��Jxd
��a�Q9$
PTE?TU��7iK��ʌ
��.�bT�آ����=�����x>�,��W��w��c�q at P� T
�0J�D�^��5��t��*å,�������P��f�0��8���I@#T�
����
�nt��8O�Ů5,��	��|?��?�T���/
+-{G��3���"u�ZS���"�9>�ѓ�7�-��8��h,���a|�uӘ?��]�
E��}H`�:����\
«�‚����~ZF������a\x�i�3Q�Ə/�c���\K�M$��?��;W�ȺO:8���ݵ�xlXu�:����.kHR%DU��pLD�<	@"ε����
��q2�T�T��[=�xEmpCv�a���9d���0*[	�|,��F
+~��k^��#��C7|�dj��
��W��	�zQ��k�|���#���d��򘤻���?Y�ݞ��a`4`(m���m�@+��O?0.�
�=tMH0f
��tkK
꨸����#��:��u.�9\E[��M��K�[i
�.��	7��e����\���
+�_���}`W�T��
,��>��B���:B����Wu��&{�1�pm�zvH}��h LN%�w�gMm�M(Ue��.����w5�+�!�B�O�XY'��]FC�
V���U��w=�eDz{hV7שꡟ 
���S�=�|<�.�$S��,���yc��)nY�����_��9��!^7�U��c:� aȲ�F�W?�
;�=
B��L��'����T8��n�m���x(i��=��N eO��\��
����������1K
������ZK-l'K�!��y���퇊㘄�R�F����g���1n����K~X-�f�����>YŚ ��e�[R(�E���db��X�-sRP���S@�Ђ��>�u��տ+r�6�
���2,��]ڷx�쀂��*͓��$w���nZt"�P��^�*6��"���pCG�ɤv�6`S7���9����;�n���'�������ע�' <��к/N���G�E}�1|�x�JQ
�wK���@�=^8��5��D���4�:uz��[g����̙Օ�7
w������P����o?�=h�#������,�g鴍�q�o�D<DK?W�L�57C�0e��C)�u�'ob��`�&�l�,Zu���
�v�k=����~��/� �&
�\Rg*l�bǻ�uʶW�J�H�uV
v��O�O�`���^�����duaۏ{ẵu�U��[p�mEc:V	d�L
+�q�)T����JօBSm%b��9}C~In�B��R$b_7��؝'С��w��_��-�5���<u̓ɄJ����,�@� �Ma��n+
��P��@��rH����d��,}޻��6]zA���B�����xҽ&��$6L�
�������
�h�n�~p;�N��-�щ2��&�aF���g@�C��TF���'1��
ѭ ��3 l�2�mk_��8�ߗ�[‹ӯ��k��xYJ�!�\�GO�d���
�M;���
�M�\�؜���@��
��/�6_�S����=;е����x��됑��p*2��K̶�
���4j"��X���~?�J�+�x~To�:�3��ƅ
/�!G&)ߝ�t���+�w[Z
� T��~g�2������޲�q+Bf�I{�ۤ	�_Ԥ�����u43��n�6�	#�~��
(
���"m0�
2]�J����񣍠S�h䂵(@�z�3������~,�1;}���,�Xjw�N-��i͗�����l�C��hH�c?�2>;��ӏ?XI�Wb�&

6�‹Јװ
D%k�ÐIJ
�?
����:����=܅�V�.�R�[�s�̰�lY
�잊�=
+���hL��j�

�]�^o��쑛Ih�NM6�����@w |�cC�|�����8m�4]h���/'�[ʲ���A�%�Za��&y����5�
��j$r�����
+c�:l[��YI:I,w46��o��
m��e�f7�t~45�G���l��R�sۂK�DN��h#�e�����)�x.�'X?�MI�~����6
����"��c>���[bu�<"�8��#�<�0��͞�
+�m�G�s��e��=�4��,���||����J�h�v�؉��pQq��X�k��&gE~��FJ"��W��

+��������7_��f�Kݟ�"��݈:�
R��$K��XY���.W��qS��
���C��S��8�Qν�k�']�z���QIU�tF�n���gg��
���B^
-Q*�8�a�0&�
�S�ҟ��6�u��h���[D�m�P.���?F�Hȩ{���	k�oYXJP����M��嗢�**�Zw�>
��;~�	}��Ȑ}d�;^��wuO�S�bI�:�]��NO &W�M`�t*�Xn6B�A&օ{-#xl�
BozR0vEsF='���w$ĭ��e���g��[s�;��9��^�ʇё�H��ZA��}
��u̬(Omˆ+;�����g3Ea�"�j�Tm��ƛ�o�0�y����������ٚ�s L�K�Њ��硫��s
wF�b
��L�I5�������U+�wKX�<1�__�t�q.\zlEs؞\z��D�E<\�FsP{��:n��}
؃6>'<�l���ƾ�ܜ��
+AӃ�L�����$�Tq��N���u���K�xn/��V,��b�����s2��^�eh���JBg
ߝ������2F1����k!,�
���
+2��I���\�<j�v�q&ΑBKփ��_ccR�q��_Q�+�f��{��&�Is#��5��H�"1 �m�<�J6	��S���P��SӢ
q:��5�����}B�DB'��q
ո��,���}���B)�x<����t*X���ےx.��~�8
�.�M M�3(���t���%W��vV�T�e4�K*�E��G0�ܐ> �k���t���
fu�4���/N��!�W
�gZ��@Z�x��`[A��"!���
��2]���CN����Hj/v���Y}�L_E�� ��-
{�w��"}�e�^8v��d����PP���Q�?�0#"^���x���A-KAY��uJ��U���™�(�	��i
m���f;b�e&�ɘ����������;9
ӫx��V�d9t�v�ߩ�$��X�\6�a{x���K�v��C�+��v�Y��+��)4��Zq"����8���.�
+�b�������۹ro��:���rgq�<iy]
��Z<M*�]|=2�CE8ܫ�^��"K" �9���P$�J��
4�`���`�M2�a
�$UE��	�
�Fp�nb�����FSͱ����:N�~�Es��$� n�rW�W�O��ؘ ���ܙ�ʖ������W��]J��豨��e�k:
�ꥴX���}yq�z��#�V�l~�5hB�-w2n1x;N��6� �^<8�W��iw�ٞ��s�̱�	
^?<�ꜞGᤧ�?w��J��N\�
�d���N��‚A�\+E�;��_x�S�5����'����y7��<���/Dw\hBdjF�'zޞUˋ��j
+�����ҝ�?��.c� �l�u��N^#���]n���>9�p�M�-�bj}�?%�Q����2����
+e3G��']]��s��n�(o��sxD9��
�O
��
3�o)4����d

a8–�V ��L�����Vn�
7�d'��;t����ʌׇzu��=o˒=m�O)����m���hjU��'�|F���RՄCA�
+OdU�<�(H�]�4����*���?^\�
+�R�J�˲xm��0x
����b�
Sz����ٮ�
�
+�� 
����
���Kr��y����t�W
�)x
M�mL�p!�\��=^&�F����c����l�')D��R)�
����=��8⣪�gq��;�8
*d�����>���,��i�
X��b^�"�-L��/�0 at X��f>Z�6���J�������V���Ęv�;���B_��<�G�aD>[�]���*/��Â���C������P���HБ�bK��Wc�~

�@*���^��H��.(��N*V\��Q��`�jE�
���ǜ�ĺ�NP���EO��� ���j�[&�VR��c`QY�f��w
�<�4t� 귓P�dYj5�@
_g��!�G�
�`����y�$�dG���G�����^��b�~>,��ԅ۶�E�q��O��G2�x�]���T�_2iFw��h�-x�[5��
+���> x`$��%7�'
f5��<_�G,A���7�v�q� ��)܌�FTf��[Ff 
@U͑3�x�~q˳���q�L��H�t�w� z�i'�THC�ɤr�#���R�XZ��
L��#�M�H��6�{9�*�&
��+=��6C;x3,b�YN�R)�[���O���ϟ��~��)=�����띞�X�>1͊���?��}79ӜZ7i��w��kh<\x}��!t��?'༴L��H�+c��F�\��� 2��o��|�B��]D{���ځ!y�\����"'t�!�0����L����8zxҪ�>W�$[�F��vr���0ʙR���˯n��Pv�f�2j��
/u^�ءI�W�Y����سO��I7� X�ˮ��!h�=��]�˶W�o|�D��;��ɫ�����G��+��Pf��>+i�2�� ��72{֚�Vg����M�K��RD���T�\Ҽġ��7�
3���H��?���]�����a�Fq��e�c��
+��ݬ���~�`�k������A]�M���-�)~1u�"83L�֒qpŷ�_9��	�AX�H���n�޼u�
���	�5�V47P#�V���yn[��*?��+QK?V�����:Y��/ɘO��#����^��"���6
e��Kd��ے��L
��Շ�}Q��$����B���\t6���"�w�K%t
���k1^*�����m���ݯ�A�ߛaE�!��*���m���x3�>�<��l��?����9S
����J�$�����
6��y
M�"|��Gb��ZUT��)�<d�vY�0B�aRX��*-\G�&��H��=�ͮ$>�8}7�)����7q�~%��b[3�F¯[�Pό3�i�\�,m��dF�!�p
�i
�)��C(N��Q�\i �Y���2tz
��V�
�N�E���X
�`�����'��1G\��J1.�Q��ˤU
+��HXѱꁣ�	���H��T���n��LZ�����%��[���W�s��5��@�n1�Dž'���x���
�
���/
]�
R��n
+����I�ěO��,����
����2�dDX��-���Z�҈�X�Do$�@����q�-�;
$q*���x�zG9��G���K�q.)㠞rI�u�-�IS�/���\'��g4%���S��ə�f
����~fW��%
Md�DI���J�:2W��qr�Q�U�v.�_�?^�lR�T"չ��痫��yL����T�G5!:
+�
bs�*)�1�ce��<}��գ���`�5͹=�js��ҩ�g��b�?
h�r�"�.�t;m򣺣we�r$�Ӄ���F�.{./�B��	��#l�@�/��
�k��1�"� n)m��@�K����|>�D�B���[�$6���*\��]�0�7 �B#_�t��h 	��dye���"lΛkP���a��:֣Q�>~n&
���̪;{o_��ދ����?iܹ��Z:�!�
���
������&��Y&@*��ɦy�Aʴ<�쵒��a�
>�D�E7�D0�!�-0���,$�cr9u���C#��! <�2Z��&�NM��ۤR��M{��Q��%؊{���3)�_��%�� k�E	;�Xًn��v<�kB�C�n��{1z$YK)T����Xx
+ar��)~�@z��,���S��l#WRF�
����6.ʚ��t�-e�#�L��<(h�/�0R+!Ѝ�H���(#�4�,T��;mҡ�El^)V��/nc���#.�;��~l�o!�p{���H�⶟�d�Q�P�|}��H#��
��! �;��,J�?�$�r�$C�e*�`��N�ވ~�d1E�v��,_��v.��޷:,Be���LCfB㽳�
��T�:< hS���%HJ!\v�r�"ʝ
�v{C�Y
$6PT��e�$��=p�&�q�|�?afn �u��4���eQ!QJ�\{��d=Օ�K���!9*gg�>تX�j�ᵒ�h�Y5�
�eB4�R����4��F<p�Ϣ�՜*85�+���|�2RD�L�S>FQR
��#a��\�����@�Jf��zG������
�͈�f7*���B�}dz2���]=�Jj=C�lp�q�,�1�[��;@�6�2:4�l�}5P
V�.N2����m
�(}#�.�f��e�m`�WI˔�R�Q�\"�
�7b#�W6�ɊZR�<:|r��H�����,�:���=�S�F�zYM�_�J1���G���*j[g��=I�qO�?��$G0	c$EF�?6}¹�%4�K3+	�|hM`�;�4��!��lh�Տʈ���uL���o�M��b��^��SK2�F��|��l���]��Y��k�e�
��M$@��g���
���)��6̤�N��zi
$�� MfT�/q ��H_!��1~c��I�B?B*UH�~|�d;��65!��V�BG��Y
E�B��G"�:I��V�N�hkz��L�C}ud���Coe
E�{ˆ���b�z����4� ���)|J)�6�v`��}� ���S���
]��ݪ�x�m�`g�����ƚ,�4�0����-�r�H_	l�6���$�'� {��A}~{� �ޔ�7G�-�b4S����V<��G�8<�%|�=�/t���&F^�Q�7=˛�����gNsM9�\�
���f�: 
���\���9�1��
��P���n{�e��5�T�� ,��5ҳ�cV�(�;��R^�.$�Y6���,�

�e�
+��]#�a
\_S�dNuJ�/%|
��u��Ev�p/RO%�3��fB�`�)cb��wf���w��\��cMҸ fa�l�-if�f�@�g�oș��"ϟ�T'������G��s
�?�,��Ӄ3�Rk��{��5W�[��Hʆ�
��s8�h�L�qp��?۫f沄��<0��.4i���Pn֛����֌7�	�#�=0�\4N�0u��i��+#��P��<'R*�(
^G��y�z��ri��᠕e��8M�������'%>�O�}���,
t�E0��������A`���}���|%�HLD�3�R�"6�C�"0X�1�
1L-&
�[$
�;q��S/�p�h��D��q�{�۩��ܩ��f6;�|��x��S�i�'=���R+B峺��:Q����z�ZE�}"���
�V��>d�HW;
|��ċ
�иފ��<7M*�|���(qeZu=��7�k��d*MذC�H�Kw�E7�j�}G�G�Qn�WS���
2��2[����U�t:P/16�^��b��,WШؖ�D֗��
+��WTX�x��Cu�׳��@4�I�v�h�y6:
�s
�~hr0�������F��q�&y�2${܂���]
�RI��s�- ��d|AE��u�O���=��|}(s�Y���kJz�srK��
[��sӈ �ڟ}>�n.��i�`��y
�9��ID\�1�xD�7�
r�
�!lV�d�m��t#^��xR�5�
��E�־P���������@�O�M-�
+�1����V��,y=X��7�/��G���T{��ظ�"�)�e�`����$����
��2�a;XҘ������'��p�#�fpx֥�q�ҵ��,��N,�N~���f`���䖬���Z���~λH+dIӆ�
I�q
��c��m�|�_���m��=7�p`
+*�a������N�-�W1˱
+�Q�L�V��X�ko�\gw�T-��
����
&b��3P�h쳦-��~�F����e
О7��9�9
+�����4�r8���Te0PB��:ڷ6ѻ�b��F/
:�j�
!�b���
+�^Z���o�
+endstream
+endobj
+3542 0 obj <<
+/Type /FontDescriptor
+/FontName /EBESOF+NimbusRomNo9L-ReguItal
+/Flags 4
+/FontBBox [-169 -270 1010 924]
+/Ascent 669
+/CapHeight 669
+/Descent -193
+/ItalicAngle -15
+/StemV 78
+/XHeight 441
+/CharSet (/A/B/C/D/E/F/G/H/I/L/M/N/O/P/R/S/T/U/W/Z/a/b/bracketleft/bracketright/c/colon/comma/d/e/f/fi/fl/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/parenleft/parenright/period/plus/q/quotedbl/quoteleft/quoteright/r/s/semicolon/seven/slash/t/three/u/underscore/v/w/x/y/z/zero)
+/FontFile 3541 0 R
+>> endobj
+3484 0 obj <<
+/Type /Encoding
+/Differences [2/fi/fl 33/exclam/quotedbl/numbersign 37/percent/ampersand/quoteright/parenleft/parenright 43/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater 64/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft 93/bracketright 95/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft 125/braceright 147/quotedblleft/quotedblright/bullet/endash 169/copyright]
+>> endobj
+899 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /JRBWAO+CMMI10
+/FontDescriptor 3504 0 R
+/FirstChar 46
+/LastChar 119
+/Widths 3492 0 R
+>> endobj
+911 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /VNHVYB+CMMI7
+/FontDescriptor 3506 0 R
+/FirstChar 119
+/LastChar 119
+/Widths 3490 0 R
+>> endobj
+1183 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /RMKTHO+CMMI9
+/FontDescriptor 3508 0 R
+/FirstChar 46
+/LastChar 118
+/Widths 3489 0 R
+>> endobj
+900 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /XCKPWW+CMR10
+/FontDescriptor 3510 0 R
+/FirstChar 48
+/LastChar 118
+/Widths 3491 0 R
+>> endobj
+1572 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /OPBINH+CMR6
+/FontDescriptor 3512 0 R
+/FirstChar 48
+/LastChar 117
+/Widths 3486 0 R
+>> endobj
+3201 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /UYHLKA+CMR7
+/FontDescriptor 3514 0 R
+/FirstChar 98
+/LastChar 117
+/Widths 3483 0 R
+>> endobj
+1184 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /HRPHYH+CMR9
+/FontDescriptor 3516 0 R
+/FirstChar 12
+/LastChar 118
+/Widths 3488 0 R
+>> endobj
+172 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /VUZELH+CMSY10
+/FontDescriptor 3518 0 R
+/FirstChar 3
+/LastChar 21
+/Widths 3501 0 R
+>> endobj
+174 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /ATFWDW+CMSY6
+/FontDescriptor 3520 0 R
+/FirstChar 3
+/LastChar 122
+/Widths 3499 0 R
+>> endobj
+3202 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /NSJEOL+CMSY7
+/FontDescriptor 3522 0 R
+/FirstChar 48
+/LastChar 48
+/Widths 3482 0 R
+>> endobj
+173 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /JRVZXP+CMSY8
+/FontDescriptor 3524 0 R
+/FirstChar 120
+/LastChar 122
+/Widths 3500 0 R
+>> endobj
+504 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /GCEPBM+CMSY9
+/FontDescriptor 3526 0 R
+/FirstChar 3
+/LastChar 50
+/Widths 3493 0 R
+>> endobj
+1571 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /CDCNLO+MSBM10
+/FontDescriptor 3528 0 R
+/FirstChar 81
+/LastChar 82
+/Widths 3487 0 R
+>> endobj
+2097 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /QSNXBJ+NimbusMonL-Bold
+/FontDescriptor 3530 0 R
+/FirstChar 91
+/LastChar 116
+/Widths 3485 0 R
+/Encoding 3484 0 R
+>> endobj
+207 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /NQXOMN+NimbusMonL-Regu
+/FontDescriptor 3532 0 R
+/FirstChar 33
+/LastChar 122
+/Widths 3497 0 R
+/Encoding 3484 0 R
+>> endobj
+316 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /BFMNIZ+NimbusMonL-ReguObli
+/FontDescriptor 3534 0 R
+/FirstChar 39
+/LastChar 122
+/Widths 3495 0 R
+/Encoding 3484 0 R
+>> endobj
+205 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /QFFDLZ+NimbusRomNo9L-Medi
+/FontDescriptor 3536 0 R
+/FirstChar 2
+/LastChar 122
+/Widths 3498 0 R
+/Encoding 3484 0 R
+>> endobj
+477 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /ORNUBW+NimbusRomNo9L-MediItal
+/FontDescriptor 3538 0 R
+/FirstChar 2
+/LastChar 122
+/Widths 3494 0 R
+/Encoding 3484 0 R
+>> endobj
+171 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /SAGEMV+NimbusRomNo9L-Regu
+/FontDescriptor 3540 0 R
+/FirstChar 2
+/LastChar 169
+/Widths 3502 0 R
+/Encoding 3484 0 R
+>> endobj
+237 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /EBESOF+NimbusRomNo9L-ReguItal
+/FontDescriptor 3542 0 R
+/FirstChar 2
+/LastChar 122
+/Widths 3496 0 R
+/Encoding 3484 0 R
+>> endobj
+175 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3543 0 R
+/Kids [166 0 R 202 0 R 234 0 R 244 0 R 250 0 R 258 0 R]
+>> endobj
+271 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3543 0 R
+/Kids [264 0 R 274 0 R 280 0 R 286 0 R 293 0 R 300 0 R]
+>> endobj
+317 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3543 0 R
+/Kids [310 0 R 322 0 R 328 0 R 333 0 R 338 0 R 344 0 R]
+>> endobj
+359 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3543 0 R
+/Kids [355 0 R 410 0 R 448 0 R 470 0 R 493 0 R 525 0 R]
+>> endobj
+566 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3543 0 R
+/Kids [557 0 R 574 0 R 616 0 R 669 0 R 722 0 R 780 0 R]
+>> endobj
+858 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3543 0 R
+/Kids [842 0 R 880 0 R 896 0 R 906 0 R 934 0 R 980 0 R]
+>> endobj
+1032 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3544 0 R
+/Kids [1018 0 R 1050 0 R 1082 0 R 1129 0 R 1171 0 R 1217 0 R]
+>> endobj
+1272 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3544 0 R
+/Kids [1254 0 R 1305 0 R 1347 0 R 1394 0 R 1431 0 R 1466 0 R]
+>> endobj
+1534 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3544 0 R
+/Kids [1514 0 R 1563 0 R 1601 0 R 1630 0 R 1683 0 R 1721 0 R]
+>> endobj
+1786 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3544 0 R
+/Kids [1767 0 R 1812 0 R 1866 0 R 1903 0 R 1950 0 R 2005 0 R]
+>> endobj
+2083 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3544 0 R
+/Kids [2066 0 R 2089 0 R 2115 0 R 2153 0 R 2208 0 R 2260 0 R]
+>> endobj
+2297 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3544 0 R
+/Kids [2286 0 R 2314 0 R 2343 0 R 2377 0 R 2416 0 R 2460 0 R]
+>> endobj
+2499 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3545 0 R
+/Kids [2485 0 R 2525 0 R 2570 0 R 2619 0 R 2676 0 R 2740 0 R]
+>> endobj
+2827 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3545 0 R
+/Kids [2807 0 R 2877 0 R 2949 0 R 3008 0 R 3067 0 R 3127 0 R]
+>> endobj
+3155 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3545 0 R
+/Kids [3147 0 R 3158 0 R 3167 0 R 3176 0 R 3185 0 R 3194 0 R]
+>> endobj
+3211 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3545 0 R
+/Kids [3205 0 R 3214 0 R 3222 0 R 3232 0 R 3305 0 R 3371 0 R]
+>> endobj
+3429 0 obj <<
+/Type /Pages
+/Count 2
+/Parent 3545 0 R
+/Kids [3426 0 R 3479 0 R]
+>> endobj
+3543 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 3546 0 R
+/Kids [175 0 R 271 0 R 317 0 R 359 0 R 566 0 R 858 0 R]
+>> endobj
+3544 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 3546 0 R
+/Kids [1032 0 R 1272 0 R 1534 0 R 1786 0 R 2083 0 R 2297 0 R]
+>> endobj
+3545 0 obj <<
+/Type /Pages
+/Count 26
+/Parent 3546 0 R
+/Kids [2499 0 R 2827 0 R 3155 0 R 3211 0 R 3429 0 R]
+>> endobj
+3546 0 obj <<
+/Type /Pages
+/Count 98
+/Kids [3543 0 R 3544 0 R 3545 0 R]
+>> endobj
+3547 0 obj <<
+/Type /Outlines
+/First 7 0 R
+/Last 63 0 R
+/Count 7
+>> endobj
+163 0 obj <<
+/Title 164 0 R
+/A 161 0 R
+/Parent 63 0 R
+/Prev 159 0 R
+>> endobj
+159 0 obj <<
+/Title 160 0 R
+/A 157 0 R
+/Parent 63 0 R
+/Prev 155 0 R
+/Next 163 0 R
+>> endobj
+155 0 obj <<
+/Title 156 0 R
+/A 153 0 R
+/Parent 63 0 R
+/Prev 151 0 R
+/Next 159 0 R
+>> endobj
+151 0 obj <<
+/Title 152 0 R
+/A 149 0 R
+/Parent 63 0 R
+/Prev 147 0 R
+/Next 155 0 R
+>> endobj
+147 0 obj <<
+/Title 148 0 R
+/A 145 0 R
+/Parent 63 0 R
+/Prev 143 0 R
+/Next 151 0 R
+>> endobj
+143 0 obj <<
+/Title 144 0 R
+/A 141 0 R
+/Parent 63 0 R
+/Prev 139 0 R
+/Next 147 0 R
+>> endobj
+139 0 obj <<
+/Title 140 0 R
+/A 137 0 R
+/Parent 63 0 R
+/Prev 135 0 R
+/Next 143 0 R
+>> endobj
+135 0 obj <<
+/Title 136 0 R
+/A 133 0 R
+/Parent 63 0 R
+/Prev 131 0 R
+/Next 139 0 R
+>> endobj
+131 0 obj <<
+/Title 132 0 R
+/A 129 0 R
+/Parent 63 0 R
+/Prev 127 0 R
+/Next 135 0 R
+>> endobj
+127 0 obj <<
+/Title 128 0 R
+/A 125 0 R
+/Parent 63 0 R
+/Prev 123 0 R
+/Next 131 0 R
+>> endobj
+123 0 obj <<
+/Title 124 0 R
+/A 121 0 R
+/Parent 63 0 R
+/Prev 119 0 R
+/Next 127 0 R
+>> endobj
+119 0 obj <<
+/Title 120 0 R
+/A 117 0 R
+/Parent 63 0 R
+/Prev 115 0 R
+/Next 123 0 R
+>> endobj
+115 0 obj <<
+/Title 116 0 R
+/A 113 0 R
+/Parent 63 0 R
+/Prev 111 0 R
+/Next 119 0 R
+>> endobj
+111 0 obj <<
+/Title 112 0 R
+/A 109 0 R
+/Parent 63 0 R
+/Prev 107 0 R
+/Next 115 0 R
+>> endobj
+107 0 obj <<
+/Title 108 0 R
+/A 105 0 R
+/Parent 63 0 R
+/Prev 103 0 R
+/Next 111 0 R
+>> endobj
+103 0 obj <<
+/Title 104 0 R
+/A 101 0 R
+/Parent 63 0 R
+/Prev 99 0 R
+/Next 107 0 R
+>> endobj
+99 0 obj <<
+/Title 100 0 R
+/A 97 0 R
+/Parent 63 0 R
+/Prev 95 0 R
+/Next 103 0 R
+>> endobj
+95 0 obj <<
+/Title 96 0 R
+/A 93 0 R
+/Parent 63 0 R
+/Prev 91 0 R
+/Next 99 0 R
+>> endobj
+91 0 obj <<
+/Title 92 0 R
+/A 89 0 R
+/Parent 63 0 R
+/Prev 87 0 R
+/Next 95 0 R
+>> endobj
+87 0 obj <<
+/Title 88 0 R
+/A 85 0 R
+/Parent 63 0 R
+/Prev 83 0 R
+/Next 91 0 R
+>> endobj
+83 0 obj <<
+/Title 84 0 R
+/A 81 0 R
+/Parent 63 0 R
+/Prev 79 0 R
+/Next 87 0 R
+>> endobj
+79 0 obj <<
+/Title 80 0 R
+/A 77 0 R
+/Parent 63 0 R
+/Prev 75 0 R
+/Next 83 0 R
+>> endobj
+75 0 obj <<
+/Title 76 0 R
+/A 73 0 R
+/Parent 63 0 R
+/Prev 71 0 R
+/Next 79 0 R
+>> endobj
+71 0 obj <<
+/Title 72 0 R
+/A 69 0 R
+/Parent 63 0 R
+/Prev 67 0 R
+/Next 75 0 R
+>> endobj
+67 0 obj <<
+/Title 68 0 R
+/A 65 0 R
+/Parent 63 0 R
+/Next 71 0 R
+>> endobj
+63 0 obj <<
+/Title 64 0 R
+/A 61 0 R
+/Parent 3547 0 R
+/Prev 35 0 R
+/First 67 0 R
+/Last 163 0 R
+/Count -25
+>> endobj
+59 0 obj <<
+/Title 60 0 R
+/A 57 0 R
+/Parent 35 0 R
+/Prev 55 0 R
+>> endobj
+55 0 obj <<
+/Title 56 0 R
+/A 53 0 R
+/Parent 35 0 R
+/Prev 51 0 R
+/Next 59 0 R
+>> endobj
+51 0 obj <<
+/Title 52 0 R
+/A 49 0 R
+/Parent 35 0 R
+/Prev 47 0 R
+/Next 55 0 R
+>> endobj
+47 0 obj <<
+/Title 48 0 R
+/A 45 0 R
+/Parent 35 0 R
+/Prev 43 0 R
+/Next 51 0 R
+>> endobj
+43 0 obj <<
+/Title 44 0 R
+/A 41 0 R
+/Parent 35 0 R
+/Prev 39 0 R
+/Next 47 0 R
+>> endobj
+39 0 obj <<
+/Title 40 0 R
+/A 37 0 R
+/Parent 35 0 R
+/Next 43 0 R
+>> endobj
+35 0 obj <<
+/Title 36 0 R
+/A 33 0 R
+/Parent 3547 0 R
+/Prev 27 0 R
+/Next 63 0 R
+/First 39 0 R
+/Last 59 0 R
+/Count -6
+>> endobj
+31 0 obj <<
+/Title 32 0 R
+/A 29 0 R
+/Parent 27 0 R
+>> endobj
+27 0 obj <<
+/Title 28 0 R
+/A 25 0 R
+/Parent 3547 0 R
+/Prev 19 0 R
+/Next 35 0 R
+/First 31 0 R
+/Last 31 0 R
+/Count -1
+>> endobj
+23 0 obj <<
+/Title 24 0 R
+/A 21 0 R
+/Parent 19 0 R
+>> endobj
+19 0 obj <<
+/Title 20 0 R
+/A 17 0 R
+/Parent 3547 0 R
+/Prev 15 0 R
+/Next 27 0 R
+/First 23 0 R
+/Last 23 0 R
+/Count -1
+>> endobj
+15 0 obj <<
+/Title 16 0 R
+/A 13 0 R
+/Parent 3547 0 R
+/Prev 11 0 R
+/Next 19 0 R
+>> endobj
+11 0 obj <<
+/Title 12 0 R
+/A 9 0 R
+/Parent 3547 0 R
+/Prev 7 0 R
+/Next 15 0 R
+>> endobj
+7 0 obj <<
+/Title 8 0 R
+/A 5 0 R
+/Parent 3547 0 R
+/Next 11 0 R
+>> endobj
+3548 0 obj <<
+/Names [(Doc-Start) 170 0 R (GFDL) 325 0 R (GFDL_GFDL) 209 0 R (GPL) 247 0 R (GPL_GPL) 210 0 R (group__Datatypes) 581 0 R]
+/Limits [(Doc-Start) (group__Datatypes)]
+>> endobj
+3549 0 obj <<
+/Names [(group__Datatypes_ga0764a0e607ec4de08a53e6d3b109a714) 853 0 R (group__Datatypes_ga0aac22e2dc312e8c41418dd8d59701f8) 888 0 R (group__Datatypes_ga12c368fa0bdd20b907d9ab8e92e999d2) 691 0 R (group__Datatypes_ga13f1f84a46d70b91637cb9d6af54af6b) 852 0 R (group__Datatypes_ga1822baf29ede5879f1c6ed77f0ca5984) 636 0 R (group__Datatypes_ga1fd59c6502c8cbb9dbb802e4af34c940) 856 0 R]
+/Limits [(group__Datatypes_ga0764a0e607ec4de08a53e6d3b109a714) (group__Datatypes_ga1fd59c6502c8cbb9dbb802e4af34c940)]
+>> endobj
+3550 0 obj <<
+/Names [(group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) 624 0 R (group__Datatypes_ga25f9463d3385bd998e4fabcdce8dec5a) 730 0 R (group__Datatypes_ga261d916137f01c0effdefeb266a73172) 737 0 R (group__Datatypes_ga2f2a1aa8fbda2e53218cecba593f7427) 788 0 R (group__Datatypes_ga2fdde49c81e0fd5d54dba2cb056847b3) 739 0 R (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) 620 0 R]
+/Limits [(group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec)]
+>> endobj
+3551 0 obj <<
+/Names [(group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) 676 0 R (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) 633 0 R (group__Datatypes_ga43246761a1030d751e756845a246bf68) 731 0 R (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) 626 0 R (group__Datatypes_ga4813a2ed52eb4aeac03bde07be0ddd83) 868 0 R (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) 678 0 R]
+/Limits [(group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5)]
+>> endobj
+3552 0 obj <<
+/Names [(group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) 735 0 R (group__Datatypes_ga4b10979f4464f0574331e442e9025d3c) 859 0 R (group__Datatypes_ga56026e685fb0fe336a5f346580f84ff0) 851 0 R (group__Datatypes_ga56e2574a7d2f006333151867599e8fa3) 687 0 R (group__Datatypes_ga576b0ae433a83ef58a3c174a86623582) 792 0 R (group__Datatypes_ga5a7338130cf6d33d28dd40ed560a24d6) 629 0 R]
+/Limits [(group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) (group__Datatypes_ga5a7338130cf6d33d28dd40ed560a24d6)]
+>> endobj
+3553 0 obj <<
+/Names [(group__Datatypes_ga5b805182b79b6fb873d0624f7dfd2ee1) 811 0 R (group__Datatypes_ga5e128d772c07f54f135cac19e9a6ffbe) 679 0 R (group__Datatypes_ga5e59406ab43e2f1851ea2e066137b4bd) 677 0 R (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) 635 0 R (group__Datatypes_ga64dda1bda497aab131fc204ed9e55894) 675 0 R (group__Datatypes_ga68fae2777effe5d0ed0e3dcec1310e1f) 732 0 R]
+/Limits [(group__Datatypes_ga5b805182b79b6fb873d0624f7dfd2ee1) (group__Datatypes_ga68fae2777effe5d0ed0e3dcec1310e1f)]
+>> endobj
+3554 0 obj <<
+/Names [(group__Datatypes_ga6b8429baa2a70746836586aad6905b64) 865 0 R (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) 790 0 R (group__Datatypes_ga735949470e98393af90b12f534b06cba) 883 0 R (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) 741 0 R (group__Datatypes_ga73918c511d88c3fd8ad4de602c4d20df) 726 0 R (group__Datatypes_ga747bcaa4d01a8065758096b1ff0eb551) 634 0 R]
+/Limits [(group__Datatypes_ga6b8429baa2a70746836586aad6905b64) (group__Datatypes_ga747bcaa4d01a8065758096b1ff0eb551)]
+>> endobj
+3555 0 obj <<
+/Names [(group__Datatypes_ga7593947fa164900140d09c08b56c6cd1) 850 0 R (group__Datatypes_ga763a5fa98155383055703dc08cb3e11a) 872 0 R (group__Datatypes_ga82657533544652eb3ec1334a72da137e) 786 0 R (group__Datatypes_ga841003bef28b1052aa2b5297a529d4d8) 886 0 R (group__Datatypes_ga84f27605574583d674403f6d71a73a24) 627 0 R (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) 630 0 R]
+/Limits [(group__Datatypes_ga7593947fa164900140d09c08b56c6cd1) (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f)]
+>> endobj
+3556 0 obj <<
+/Names [(group__Datatypes_ga934e8eb1ed3d9f688ffafe0f82ad02f6) 733 0 R (group__Datatypes_ga9448cd0d782a819c066e27cf3ebc1add) 736 0 R (group__Datatypes_ga97b246f11809448c53f089779c0019a1) 783 0 R (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) 686 0 R (group__Datatypes_gab9fc89c0e89d4487a1f69a26849b682a) 857 0 R (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) 784 0 R]
+/Limits [(group__Datatypes_ga934e8eb1ed3d9f688ffafe0f82ad02f6) (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56)]
+>> endobj
+3557 0 obj <<
+/Names [(group__Datatypes_gabf20fcbeb06790546a112b72eb0811f8) 632 0 R (group__Datatypes_gac0d389ac714f0d4d3e6950fd692e7443) 685 0 R (group__Datatypes_gac37b94ca7dc0c8bb9797e6d91e16492e) 854 0 R (group__Datatypes_gac3cf4d5c81ff784729bb5d1c8d48ce23) 734 0 R (group__Datatypes_gac803b1dab9dd0072acb6fdda204efd26) 672 0 R (group__Datatypes_gac9397590f57ede293eed34366aec11dd) 727 0 R]
+/Limits [(group__Datatypes_gabf20fcbeb06790546a112b72eb0811f8) (group__Datatypes_gac9397590f57ede293eed34366aec11dd)]
+>> endobj
+3558 0 obj <<
+/Names [(group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) 729 0 R (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) 628 0 R (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) 673 0 R (group__Datatypes_gadb1edf876e8c62fb7d2630a9280224f1) 785 0 R (group__Datatypes_gadc14acd60d7235a72f88850b9a917eca) 849 0 R (group__Datatypes_gadc58d1f680927df3786f41bdb47fa26b) 623 0 R]
+/Limits [(group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) (group__Datatypes_gadc58d1f680927df3786f41bdb47fa26b)]
+>> endobj
+3559 0 obj <<
+/Names [(group__Datatypes_gae311117a92fca76fc66fe3442ff6d09f) 887 0 R (group__Datatypes_gae439fa617415f2153f4793041c41bd9f) 884 0 R (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) 621 0 R (group__Datatypes_gae5679e4f41db32b7b91dfc81574fc1d6) 800 0 R (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) 681 0 R (group__Datatypes_gae8e2db00ec6575b865057ffd3195327b) 848 0 R]
+/Limits [(group__Datatypes_gae311117a92fca76fc66fe3442ff6d09f) (group__Datatypes_gae8e2db00ec6575b865057ffd3195327b)]
+>> endobj
+3560 0 obj <<
+/Names [(group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) 725 0 R (group__Datatypes_gaedee0800f6e695c36ace737095ccef5b) 625 0 R (group__Datatypes_gaef15021f65d2810602a9a1bd06fc878d) 885 0 R (group__Datatypes_gaefc9900fe07bfdee6310e4705ea0bfec) 683 0 R (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) 689 0 R (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) 622 0 R]
+/Limits [(group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4)]
+>> endobj
+3561 0 obj <<
+/Names [(group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) 794 0 R (group__Datatypes_gaf449476be1ec42bab45fb86e7478bdf9) 806 0 R (group__Datatypes_gaf4f8f4bacd6f148fbbfb9209fb5b2b33) 728 0 R (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) 684 0 R (group__Datatypes_gga4813a2ed52eb4aeac03bde07be0ddd83a60e9236626a09f76d3fe049e03bd6926) 869 0 R (group__Datatypes_gga4813a2ed52eb4aeac03bde07be0ddd83ab34d1f06ae438f58dd44c6262b3281ce) 871 0 R]
+/Limits [(group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) (group__Datatypes_gga4813a2ed52eb4aeac03bde07be0ddd83ab34d1f06ae438f58dd44c6262b3281ce)]
+>> endobj
+3562 0 obj <<
+/Names [(group__Datatypes_gga4813a2ed52eb4aeac03bde07be0ddd83ab602a0c001878a0debc775c4bee33777) 870 0 R (group__Datatypes_gga4b10979f4464f0574331e442e9025d3ca48a27a450babc28cd9e37b24e4c7f870) 862 0 R (group__Datatypes_gga4b10979f4464f0574331e442e9025d3ca5637cd5e0441762c2efba8ec4549156a) 864 0 R (group__Datatypes_gga4b10979f4464f0574331e442e9025d3ca5c5c70a1d41e6e79718bbeb33df7cad4) 861 0 R (group__Datatypes_gga4b10979f4464f0574331e442e9025d3ca8cbde0e6dec605c51ef708fb8cd2b52e) 863 0 R (gro [...]
+/Limits [(group__Datatypes_gga4813a2ed52eb4aeac03bde07be0ddd83ab602a0c001878a0debc775c4bee33777) (group__Datatypes_gga4b10979f4464f0574331e442e9025d3cae072091ed81a04a85178bba39494a601)]
+>> endobj
+3563 0 obj <<
+/Names [(group__Datatypes_gga5b805182b79b6fb873d0624f7dfd2ee1a3e5170687052e3962de866e2ab44d8f8) 814 0 R (group__Datatypes_gga5b805182b79b6fb873d0624f7dfd2ee1a59042baec996bc386154a1825ad56de0) 812 0 R (group__Datatypes_gga5b805182b79b6fb873d0624f7dfd2ee1aa05a8932097b094ca179e99e2d80b6ae) 813 0 R (group__Datatypes_gga6b8429baa2a70746836586aad6905b64a81a7221b987cf71e9577f1d3162fc994) 867 0 R (group__Datatypes_gga6b8429baa2a70746836586aad6905b64a8a337487ebb2a4938a04103368bc24dc) 866 0 R (gro [...]
+/Limits [(group__Datatypes_gga5b805182b79b6fb873d0624f7dfd2ee1a3e5170687052e3962de866e2ab44d8f8) (group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6a81067f9cf8984d1b3febca4488a137e1)]
+>> endobj
+3564 0 obj <<
+/Names [(group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6a9029c33b6876c560bf78b5b86d0367c0) 805 0 R (group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6a9e4eb4979711bf6699ec8e0f335de476) 804 0 R (group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6aa166787e251ef2cbaad9213d8e9d2653) 803 0 R (group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6af8c3e04d66cd611db5efcd92a6c52425) 802 0 R (group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9a1304ca7fa8d3e734d1677709a37d5d28) 808 0 R (gro [...]
+/Limits [(group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6a9029c33b6876c560bf78b5b86d0367c0) (group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9a132c76cbee67b5bc2ac9e09af9c68c4f)]
+>> endobj
+3565 0 obj <<
+/Names [(group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9ab32d9464a7101eb1893562646a3cdd1a) 810 0 R (group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9afdbee5cd06ff135cbf9614b661c9e923) 809 0 R (group__Error) 530 0 R (group__Error_ga0c0ab09a97e49f85f42c966e14cfdee6) 537 0 R (group__Error_gad6765993c08a2ae2f0ef377f822f4d33) 550 0 R (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a03b444004b1031ddb1a51289b9d83106) 546 0 R]
+/Limits [(group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9ab32d9464a7101eb1893562646a3cdd1a) (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a03b444004b1031ddb1a51289b9d83106)]
+>> endobj
+3566 0 obj <<
+/Names [(group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a0860beb1b1c54c9f774b532d92404992) 544 0 R (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a093ae02f8ceebbc40321d1eaf186f726) 540 0 R (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a24fd14db2a8ae42b3abcae3288e46edf) 548 0 R (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a6aa28e72200f879cbb83a36b60644fb2) 542 0 R (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a7dae659f72f654afae1c5c6f331192a3) 545 0 R (group__Error_gga0c0ab09 [...]
+/Limits [(group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a0860beb1b1c54c9f774b532d92404992) (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a8bf236a519f7da9efd5f874a17d9689d)]
+>> endobj
+3567 0 obj <<
+/Names [(group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a8c65fedb9893ebb49394a3cff2f19a49) 541 0 R (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6ab42a97917f263e8305d561f52cbd9c57) 547 0 R (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6abd22c4eaabb49bcb6c654a25e402c64a) 543 0 R (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6af29a62bdfcf44dbeec14afb409035438) 539 0 R (group__Init) 452 0 R (group__Init_ga234d52733263ece8ac36c980a80292c9) 464 0 R]
+/Limits [(group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a8c65fedb9893ebb49394a3cff2f19a49) (group__Init_ga234d52733263ece8ac36c980a80292c9)]
+>> endobj
+3568 0 obj <<
+/Names [(group__Init_ga4af2931282f6a5f1b3444fb8e833d6a1) 461 0 R (group__Init_ga635128363efd9f4c8c63e21702f40183) 462 0 R (group__Init_ga7c98bac1ccfac398657571409a3fcd9c) 457 0 R (group__Init_gaf090a4178ad2e0dc0ea185961e13b3f1) 454 0 R (group__Init_gafdb2c887a3a2d1daf54a764d0d7f7f76) 463 0 R (group__PPL__C__interface) 451 0 R]
+/Limits [(group__Init_ga4af2931282f6a5f1b3444fb8e833d6a1) (group__PPL__C__interface)]
+>> endobj
+3569 0 obj <<
+/Names [(group__Timeout) 562 0 R (group__Timeout_ga3b97bf31964a662176749152d0086271) 567 0 R (group__Timeout_ga3ebabd1a7396005fadcd08efb53c1f58) 564 0 R (group__Timeout_ga7e11189e03e9d1452b16e24dae5d6bc3) 565 0 R (group__Timeout_ga8394b6aef8fc9841ec4e63c2724ad75d) 568 0 R (group__Version) 478 0 R]
+/Limits [(group__Timeout) (group__Version)]
+>> endobj
+3570 0 obj <<
+/Names [(group__Version_ga63fef7041da34ac5bb372a2535d99377) 508 0 R (group__Version_ga676f27ad949159a3b79577f78870f60f) 502 0 R (group__Version_ga79bd3696a302bb721ef8168fa5d650fb) 482 0 R (group__Version_ga7a529f51bfebdd4b3e69c866dced9bc1) 497 0 R (group__Version_ga8458e58a5e857de11c35ce3076a70ab8) 481 0 R (group__Version_gaa50f472bf6d1869a2fc1500d2fdf8213) 501 0 R]
+/Limits [(group__Version_ga63fef7041da34ac5bb372a2535d99377) (group__Version_gaa50f472bf6d1869a2fc1500d2fdf8213)]
+>> endobj
+3571 0 obj <<
+/Names [(group__Version_gab51f10ea37de5299e9bc840afa206d4e) 500 0 R (group__Version_gabadfeba0a415d210cdd6d7309365e800) 496 0 R (group__Version_gabdf8f4e9416010573d48e21cf0584762) 499 0 R (group__Version_gac6abee034f6ac000f15d1206fdeb8316) 503 0 R (group__Version_gae19dfe022c51c874d905e2a7c81c18f1) 480 0 R (index) 236 0 R]
+/Limits [(group__Version_gab51f10ea37de5299e9bc840afa206d4e) (index)]
+>> endobj
+3572 0 obj <<
+/Names [(interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) 413 0 R (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_a26270ebae88b22836f94cbdd003a022e) 940 0 R (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_a27c82492b590d5445541451928a593ac) 952 0 R (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_a2c8e06a14ae0f5878428e7385e98bedf) 950 0 R (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_a [...]
+/Limits [(interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_ab1e38080e1de577a82f181e1e87cea61)]
+>> endobj
+3573 0 obj <<
+/Names [(interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_adbcbb0f82f71091112f2c768d2107bb8) 938 0 R (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_afa0c60a0cce5f80bcf4fdd22ba4913a9) 943 0 R (interfaceppl__Artificial__Parameter__tag) 414 0 R (interfaceppl__Artificial__Parameter__tag_a0340ab7363ad499c2d6a0182bc874057) 991 0 R (interfaceppl__Artificial__Parameter__tag_a12aac19f5cba4af9f1a177cd7b772242) 990 0 R (interfaceppl__Artificial__Parameter__t [...]
+/Limits [(interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_adbcbb0f82f71091112f2c768d2107bb8) (interfaceppl__Artificial__Parameter__tag_a23b660d538bf3d3140ab3a4dfe649f61)]
+>> endobj
+3574 0 obj <<
+/Names [(interfaceppl__Artificial__Parameter__tag_a6bc95e351716acc4b56829a62464cddb) 987 0 R (interfaceppl__Artificial__Parameter__tag_a80b6aa70e38446636a0523f06353c8f2) 988 0 R (interfaceppl__Artificial__Parameter__tag_a8758040d0309c4f1bce32f105cf4c554) 985 0 R (interfaceppl__Artificial__Parameter__tag_ac7eb99bc96d86baf058f856e41b2ddfe) 995 0 R (interfaceppl__Artificial__Parameter__tag_acb2d4b9c84cd7b7b4f2abb568471c424) 994 0 R (interfaceppl__Artificial__Parameter__tag_adc5d20f68f042656 [...]
+/Limits [(interfaceppl__Artificial__Parameter__tag_a6bc95e351716acc4b56829a62464cddb) (interfaceppl__Artificial__Parameter__tag_adc5d20f68f042656187d507cff5ceea7)]
+>> endobj
+3575 0 obj <<
+/Names [(interfaceppl__Coefficient__tag) 415 0 R (interfaceppl__Coefficient__tag_a001b2a61c18a500a446151a9024de3fe) 1030 0 R (interfaceppl__Coefficient__tag_a1e3bb22af6b60660fcb8d201b09ec7ed) 1056 0 R (interfaceppl__Coefficient__tag_a1ef606afeb25edded051be3b0c728086) 1027 0 R (interfaceppl__Coefficient__tag_a249071ec2d19ecedaaf4e32ca8fc4a8d) 1057 0 R (interfaceppl__Coefficient__tag_a39db5035590b4bf7017a43cdcca6a49e) 1026 0 R]
+/Limits [(interfaceppl__Coefficient__tag) (interfaceppl__Coefficient__tag_a39db5035590b4bf7017a43cdcca6a49e)]
+>> endobj
+3576 0 obj <<
+/Names [(interfaceppl__Coefficient__tag_a474cce1b8348a126a8496cea7952a1f1) 1031 0 R (interfaceppl__Coefficient__tag_a526a2d8ad27e00b633408a36830dc2ae) 1053 0 R (interfaceppl__Coefficient__tag_a5fa6bcd4ec3cf844646033688f2fdf0a) 1023 0 R (interfaceppl__Coefficient__tag_aa1816497499ee569563a6d97a4ff553a) 1055 0 R (interfaceppl__Coefficient__tag_aaf38dc5a17ef89e16c45f363397afb59) 1024 0 R (interfaceppl__Coefficient__tag_abe5af687ddf08c6379bd115d210ac22f) 1029 0 R]
+/Limits [(interfaceppl__Coefficient__tag_a474cce1b8348a126a8496cea7952a1f1) (interfaceppl__Coefficient__tag_abe5af687ddf08c6379bd115d210ac22f)]
+>> endobj
+3577 0 obj <<
+/Names [(interfaceppl__Coefficient__tag_acad04388edea0d80b20c40266a3c3f14) 1028 0 R (interfaceppl__Coefficient__tag_af0b12578ecdb0571ca51ee09789b2fc3) 1054 0 R (interfaceppl__Coefficient__tag_afabc584f4f391708d6c0d7c47030471a) 1025 0 R (interfaceppl__Congruence__System__const__iterator__tag) 416 0 R (interfaceppl__Congruence__System__const__iterator__tag_a38ece4277d5885940d45d6c8465ca19a) 1061 0 R (interfaceppl__Congruence__System__const__iterator__tag_a74f9a28eb09ee718502409ab43b657d4)  [...]
+/Limits [(interfaceppl__Coefficient__tag_acad04388edea0d80b20c40266a3c3f14) (interfaceppl__Congruence__System__const__iterator__tag_a74f9a28eb09ee718502409ab43b657d4)]
+>> endobj
+3578 0 obj <<
+/Names [(interfaceppl__Congruence__System__const__iterator__tag_a7ac19545b812b9ed2261c4224a6b9e9a) 1090 0 R (interfaceppl__Congruence__System__const__iterator__tag_a7f1fc328bf8f0d2ec92a6599ce7fe2d3) 1088 0 R (interfaceppl__Congruence__System__const__iterator__tag_a9af8efc183a5a4cd4475146207f92c8a) 1060 0 R (interfaceppl__Congruence__System__const__iterator__tag_a9c7ea131b285ad7aaefbc1e2cf579512) 1085 0 R (interfaceppl__Congruence__System__const__iterator__tag_ade6bd909f8bb4bcdaed4dced85c [...]
+/Limits [(interfaceppl__Congruence__System__const__iterator__tag_a7ac19545b812b9ed2261c4224a6b9e9a) (interfaceppl__Congruence__System__tag)]
+>> endobj
+3579 0 obj <<
+/Names [(interfaceppl__Congruence__System__tag_a19d1974dd5b293a48b8f2de6fa3c2c8b) 1174 0 R (interfaceppl__Congruence__System__tag_a2c60071e2c7adec51fc7175ddb7a3bff) 1143 0 R (interfaceppl__Congruence__System__tag_a3b54824f0f53bf664c3114fb67557115) 1176 0 R (interfaceppl__Congruence__System__tag_a3ce50d0fcf796935652563144194ccf7) 1146 0 R (interfaceppl__Congruence__System__tag_a45fb5ebe8a9c33d1e73593b09d8ab877) 1175 0 R (interfaceppl__Congruence__System__tag_a56b9fe489466e7376b72bc99b4f99 [...]
+/Limits [(interfaceppl__Congruence__System__tag_a19d1974dd5b293a48b8f2de6fa3c2c8b) (interfaceppl__Congruence__System__tag_a56b9fe489466e7376b72bc99b4f99126)]
+>> endobj
+3580 0 obj <<
+/Names [(interfaceppl__Congruence__System__tag_a5a6326e465cce738cb09fdd8df1d92ba) 1141 0 R (interfaceppl__Congruence__System__tag_a68de3cffc4bbfa2a79c06c51adb653a8) 1136 0 R (interfaceppl__Congruence__System__tag_a86691cc44e4ef41d379ec2477221f0de) 1178 0 R (interfaceppl__Congruence__System__tag_a8cba47c10a4d9a84b170b37932dc04e5) 1138 0 R (interfaceppl__Congruence__System__tag_a8ce02af4c13862f7988ad3e43b5290cf) 1140 0 R (interfaceppl__Congruence__System__tag_aa8fd21a451fe377a328d750951ce3 [...]
+/Limits [(interfaceppl__Congruence__System__tag_a5a6326e465cce738cb09fdd8df1d92ba) (interfaceppl__Congruence__System__tag_aa8fd21a451fe377a328d750951ce36f3)]
+>> endobj
+3581 0 obj <<
+/Names [(interfaceppl__Congruence__System__tag_abeb7cdeabf40c32d3aa0c33c0499bf97) 1177 0 R (interfaceppl__Congruence__System__tag_ae5f214d520a1f232251bee39685b62a2) 1133 0 R (interfaceppl__Congruence__System__tag_ae88c914d522014d2d181278bcfa9222f) 1147 0 R (interfaceppl__Congruence__System__tag_aed43bafe74e2b291d7b980c6ee8f3d5f) 1132 0 R (interfaceppl__Congruence__System__tag_af03d1a4f7f355971ac31ec1e4cb7297d) 1135 0 R (interfaceppl__Congruence__System__tag_af6cb7e34c1083df796fb12aa46373 [...]
+/Limits [(interfaceppl__Congruence__System__tag_abeb7cdeabf40c32d3aa0c33c0499bf97) (interfaceppl__Congruence__System__tag_af6cb7e34c1083df796fb12aa463739e6)]
+>> endobj
+3582 0 obj <<
+/Names [(interfaceppl__Congruence__tag) 418 0 R (interfaceppl__Congruence__tag_a0399dc1a987546af5d0491e72a6a05e4) 1221 0 R (interfaceppl__Congruence__tag_a08a4701b629d734ea0e11231a34514b0) 1186 0 R (interfaceppl__Congruence__tag_a10d11983038c7047547f4a68f8ea2b70) 1226 0 R (interfaceppl__Congruence__tag_a2845e4528b7b42c6c6527daceee21312) 1220 0 R (interfaceppl__Congruence__tag_a29295feb65378f2ba04c202f4b9a1bb3) 1231 0 R]
+/Limits [(interfaceppl__Congruence__tag) (interfaceppl__Congruence__tag_a29295feb65378f2ba04c202f4b9a1bb3)]
+>> endobj
+3583 0 obj <<
+/Names [(interfaceppl__Congruence__tag_a4ea3e6a8b8e929e318a5c1c450667d10) 1229 0 R (interfaceppl__Congruence__tag_a553952be8bff48ab2a4a8b2820efc047) 1223 0 R (interfaceppl__Congruence__tag_a5e1c7e98053b2262c5f56c46e2f04f05) 1222 0 R (interfaceppl__Congruence__tag_a6871446de8be708c37b2bedbf12c9b76) 1185 0 R (interfaceppl__Congruence__tag_a6d24fa81c885803e34fadd9332287d2e) 1181 0 R (interfaceppl__Congruence__tag_ab67c8dacaa1610fe5ea9efe67263477d) 1187 0 R]
+/Limits [(interfaceppl__Congruence__tag_a4ea3e6a8b8e929e318a5c1c450667d10) (interfaceppl__Congruence__tag_ab67c8dacaa1610fe5ea9efe67263477d)]
+>> endobj
+3584 0 obj <<
+/Names [(interfaceppl__Congruence__tag_ab76a7c2b32bbc5472f87b3fae17f5a0d) 1225 0 R (interfaceppl__Congruence__tag_acaca085247f8483085877e21527a9cd6) 1227 0 R (interfaceppl__Congruence__tag_add70a09fb9b3cb0b8b7ce79d8d9ec14c) 1230 0 R (interfaceppl__Congruence__tag_af39f78c492db753013cbfd0177ffea60) 1232 0 R (interfaceppl__Congruence__tag_af61686ed9ede21b05016ee29f9de882b) 1228 0 R (interfaceppl__Constraint__System__const__iterator__tag) 419 0 R]
+/Limits [(interfaceppl__Congruence__tag_ab76a7c2b32bbc5472f87b3fae17f5a0d) (interfaceppl__Constraint__System__const__iterator__tag)]
+>> endobj
+3585 0 obj <<
+/Names [(interfaceppl__Constraint__System__const__iterator__tag_a061420fd93cf031e877897142071c67d) 1258 0 R (interfaceppl__Constraint__System__const__iterator__tag_a18f6401539b34122053f5d76da0c3282) 1263 0 R (interfaceppl__Constraint__System__const__iterator__tag_a60ac68b3806bdf2e8b4805d661c52def) 1259 0 R (interfaceppl__Constraint__System__const__iterator__tag_a93c2b042e4c644ba6052c0a0130c74ff) 1265 0 R (interfaceppl__Constraint__System__const__iterator__tag_a9427aa22f07ee35e906d05bcd35 [...]
+/Limits [(interfaceppl__Constraint__System__const__iterator__tag_a061420fd93cf031e877897142071c67d) (interfaceppl__Constraint__System__const__iterator__tag_abd830cdbf47ea1e5f0cb88ba4e3dddd7)]
+>> endobj
+3586 0 obj <<
+/Names [(interfaceppl__Constraint__System__const__iterator__tag_adc0293455632f1e58de03ee68caa785a) 1261 0 R (interfaceppl__Constraint__System__tag) 420 0 R (interfaceppl__Constraint__System__tag_a06731c2e3b3d14dceffb5b81f1447bc8) 1352 0 R (interfaceppl__Constraint__System__tag_a0d28be41ac786db82ce3cb24e2db5543) 1317 0 R (interfaceppl__Constraint__System__tag_a1b4e8ec21c2f4b2b925c4e11474062b9) 1321 0 R (interfaceppl__Constraint__System__tag_a27f2fdd3945057760e252740c98573eb) 1324 0 R]
+/Limits [(interfaceppl__Constraint__System__const__iterator__tag_adc0293455632f1e58de03ee68caa785a) (interfaceppl__Constraint__System__tag_a27f2fdd3945057760e252740c98573eb)]
+>> endobj
+3587 0 obj <<
+/Names [(interfaceppl__Constraint__System__tag_a2967727ea790f1d517e1529e3f6be79e) 1310 0 R (interfaceppl__Constraint__System__tag_a3bd9634d21689bd4b0cbcb476a101e92) 1356 0 R (interfaceppl__Constraint__System__tag_a4316d3e1fd40ef324f4f9ac970481c9f) 1354 0 R (interfaceppl__Constraint__System__tag_a442076de6b59703f82c552f7e70aad72) 1320 0 R (interfaceppl__Constraint__System__tag_a56d19de5207d94e358a433995ce9730c) 1315 0 R (interfaceppl__Constraint__System__tag_a5e22cd8ea46cdef0e09027e6177fc [...]
+/Limits [(interfaceppl__Constraint__System__tag_a2967727ea790f1d517e1529e3f6be79e) (interfaceppl__Constraint__System__tag_a5e22cd8ea46cdef0e09027e6177fc838)]
+>> endobj
+3588 0 obj <<
+/Names [(interfaceppl__Constraint__System__tag_a6b54d1a028c5a0eff158b33ce1a6670f) 1311 0 R (interfaceppl__Constraint__System__tag_a7a018b29b6f334f666391ec729265c25) 1355 0 R (interfaceppl__Constraint__System__tag_a984fd654d7b169e74d13f6207d48fefb) 1313 0 R (interfaceppl__Constraint__System__tag_aa975ef75ddb5359966ff21eecca491d0) 1322 0 R (interfaceppl__Constraint__System__tag_ab1988eecd5bca9d4ad8dbd128c885b9b) 1309 0 R (interfaceppl__Constraint__System__tag_ac19488a8f4e64cb797b8402ea44b4 [...]
+/Limits [(interfaceppl__Constraint__System__tag_a6b54d1a028c5a0eff158b33ce1a6670f) (interfaceppl__Constraint__System__tag_ac19488a8f4e64cb797b8402ea44b456d)]
+>> endobj
+3589 0 obj <<
+/Names [(interfaceppl__Constraint__System__tag_ac8105464b2dbee48f8646bc2c2f1f2d8) 1358 0 R (interfaceppl__Constraint__System__tag_ad9b9ef9435b7a3bc8d92435ccf1cc0d7) 1318 0 R (interfaceppl__Constraint__System__tag_af8ebe9c0ce769746c2d2d01f6fcb4c91) 1351 0 R (interfaceppl__Constraint__tag) 421 0 R (interfaceppl__Constraint__tag_a08451f3fa991dc14b1b8874bdefd7cf2) 1436 0 R (interfaceppl__Constraint__tag_a0ed54f6ac264a58059f51c7fe33ab787) 1398 0 R]
+/Limits [(interfaceppl__Constraint__System__tag_ac8105464b2dbee48f8646bc2c2f1f2d8) (interfaceppl__Constraint__tag_a0ed54f6ac264a58059f51c7fe33ab787)]
+>> endobj
+3590 0 obj <<
+/Names [(interfaceppl__Constraint__tag_a1c416a6d6a359f2f9e9d33af7dc32ea8) 1407 0 R (interfaceppl__Constraint__tag_a2d4948b195e743f39601a13610fcf94f) 1403 0 R (interfaceppl__Constraint__tag_a380ed65a246cd38c5ca3893b40eb4603) 1405 0 R (interfaceppl__Constraint__tag_a414a473844efce3515611fdc6b26e4de) 1410 0 R (interfaceppl__Constraint__tag_a702543ee828ef523fb5fe5ffdaf25925) 1402 0 R (interfaceppl__Constraint__tag_a87fc73217faaf213d5b5a810272be545) 1435 0 R]
+/Limits [(interfaceppl__Constraint__tag_a1c416a6d6a359f2f9e9d33af7dc32ea8) (interfaceppl__Constraint__tag_a87fc73217faaf213d5b5a810272be545)]
+>> endobj
+3591 0 obj <<
+/Names [(interfaceppl__Constraint__tag_a8c466c744746ef7249afa54667470cf5) 1406 0 R (interfaceppl__Constraint__tag_a90e279d0af3491d3cc793595e3e1bbff) 1434 0 R (interfaceppl__Constraint__tag_a94ca29d276a68f3f75aa62c8ab6109e4) 1437 0 R (interfaceppl__Constraint__tag_a9a30e394a9c84bb9d2debda31433e6b4) 1411 0 R (interfaceppl__Constraint__tag_aadbcd3b735dae0f714d1134cf8e6b911) 1409 0 R (interfaceppl__Constraint__tag_ab93e22d57d1f5d94ae97ba1b9de9e3f9) 1400 0 R]
+/Limits [(interfaceppl__Constraint__tag_a8c466c744746ef7249afa54667470cf5) (interfaceppl__Constraint__tag_ab93e22d57d1f5d94ae97ba1b9de9e3f9)]
+>> endobj
+3592 0 obj <<
+/Names [(interfaceppl__Constraint__tag_abfb19498f2647b44344c6a84fdd6cd2d) 1401 0 R (interfaceppl__Constraint__tag_ac21bd81d2f33da4dc915020bf16c801a) 1404 0 R (interfaceppl__Generator__System__const__iterator__tag) 422 0 R (interfaceppl__Generator__System__const__iterator__tag_a51dfb5223b7487379681d4cc1583917f) 1445 0 R (interfaceppl__Generator__System__const__iterator__tag_a7d4bec3e6101e95b57973dcab5880a51) 1471 0 R (interfaceppl__Generator__System__const__iterator__tag_ab823e62915ff8952 [...]
+/Limits [(interfaceppl__Constraint__tag_abfb19498f2647b44344c6a84fdd6cd2d) (interfaceppl__Generator__System__const__iterator__tag_ab823e62915ff895212640119f062252c)]
+>> endobj
+3593 0 obj <<
+/Names [(interfaceppl__Generator__System__const__iterator__tag_ac5344d92361779d92fcb36acf2d406ae) 1473 0 R (interfaceppl__Generator__System__const__iterator__tag_acb94e9072062c0827a16766cef2c1a5e) 1469 0 R (interfaceppl__Generator__System__const__iterator__tag_acd03b90ea728537b78a669806309a5c0) 1441 0 R (interfaceppl__Generator__System__const__iterator__tag_ae2334b2eefe8cae2ad750dfea1f7cade) 1443 0 R (interfaceppl__Generator__System__tag) 423 0 R (interfaceppl__Generator__System__tag_a06 [...]
+/Limits [(interfaceppl__Generator__System__const__iterator__tag_ac5344d92361779d92fcb36acf2d406ae) (interfaceppl__Generator__System__tag_a067f83ba740e5b6c0c585a5175723a0b)]
+>> endobj
+3594 0 obj <<
+/Names [(interfaceppl__Generator__System__tag_a33e20d1de127c9232d2d1188bee532ef) 1477 0 R (interfaceppl__Generator__System__tag_a3d3687abfb3878a67fca687b8e4ff0b9) 1529 0 R (interfaceppl__Generator__System__tag_a3f5244b219701d5ba5939982a1d11d97) 1527 0 R (interfaceppl__Generator__System__tag_a540cea530eaa9c142b16fbf01f781673) 1517 0 R (interfaceppl__Generator__System__tag_a7752ae55e7cd4d014f6498348ef47865) 1478 0 R (interfaceppl__Generator__System__tag_a888341fcf1079aaaa4dd7b532662729c) 1 [...]
+/Limits [(interfaceppl__Generator__System__tag_a33e20d1de127c9232d2d1188bee532ef) (interfaceppl__Generator__System__tag_a888341fcf1079aaaa4dd7b532662729c)]
+>> endobj
+3595 0 obj <<
+/Names [(interfaceppl__Generator__System__tag_aa7260438cfc5fa383c7fb80b127f8315) 1521 0 R (interfaceppl__Generator__System__tag_aad90ffcd536cd0d48ee183bca02103fc) 1533 0 R (interfaceppl__Generator__System__tag_ab1316806c765a595ddfa4de5e8d971f6) 1480 0 R (interfaceppl__Generator__System__tag_aba231f6ac03d82cbf693a6a29a5c2665) 1531 0 R (interfaceppl__Generator__System__tag_ae12a1e70aa5010e6617de857f51574a8) 1530 0 R (interfaceppl__Generator__System__tag_ae9bc39a46753f158644428f3c01e73a3) 1 [...]
+/Limits [(interfaceppl__Generator__System__tag_aa7260438cfc5fa383c7fb80b127f8315) (interfaceppl__Generator__System__tag_ae9bc39a46753f158644428f3c01e73a3)]
+>> endobj
+3596 0 obj <<
+/Names [(interfaceppl__Generator__System__tag_aeeec098f7c1e5939b144f3d42a2c65fc) 1518 0 R (interfaceppl__Generator__System__tag_af5253fb7ef85e1875cc453d9a9998459) 1482 0 R (interfaceppl__Generator__System__tag_af5911dc31286d92c979c7ff89c249bc8) 1526 0 R (interfaceppl__Generator__System__tag_afcc12e4f52a8ff85d16ebfc424447b63) 1523 0 R (interfaceppl__Generator__tag) 424 0 R (interfaceppl__Generator__tag_a048cb229297e24f6d0f7ab4e4351e2c2) 1573 0 R]
+/Limits [(interfaceppl__Generator__System__tag_aeeec098f7c1e5939b144f3d42a2c65fc) (interfaceppl__Generator__tag_a048cb229297e24f6d0f7ab4e4351e2c2)]
+>> endobj
+3597 0 obj <<
+/Names [(interfaceppl__Generator__tag_a140a26e6f6dc525c742aca71f598ed3c) 1606 0 R (interfaceppl__Generator__tag_a278a22338f8428e328daf84dea4f94e7) 1576 0 R (interfaceppl__Generator__tag_a297969dd313ebb370c9419915398aaf2) 1575 0 R (interfaceppl__Generator__tag_a30161047ab7c47dd7a68a852e98ed83e) 1610 0 R (interfaceppl__Generator__tag_a30d13726e3b27f1be7e5eb05a7814bb3) 1577 0 R (interfaceppl__Generator__tag_a318f5f2972203c84ea0fdb4b82bbab1c) 1604 0 R]
+/Limits [(interfaceppl__Generator__tag_a140a26e6f6dc525c742aca71f598ed3c) (interfaceppl__Generator__tag_a318f5f2972203c84ea0fdb4b82bbab1c)]
+>> endobj
+3598 0 obj <<
+/Names [(interfaceppl__Generator__tag_a5d89173a47e10f469337343cfb807218) 1608 0 R (interfaceppl__Generator__tag_a6a901364857f84dc0f111a29330c33f9) 1611 0 R (interfaceppl__Generator__tag_a6d184edbb85d3c2747bb6097f7de17ad) 1609 0 R (interfaceppl__Generator__tag_a74a772b49c2c3190ad8501ffa0337d2f) 1607 0 R (interfaceppl__Generator__tag_aafa09f891353748a46868d342cc91cbc) 1570 0 R (interfaceppl__Generator__tag_ab3fe811bb3a347e553576dadff55339e) 1574 0 R]
+/Limits [(interfaceppl__Generator__tag_a5d89173a47e10f469337343cfb807218) (interfaceppl__Generator__tag_ab3fe811bb3a347e553576dadff55339e)]
+>> endobj
+3599 0 obj <<
+/Names [(interfaceppl__Generator__tag_ace16d45c8fbb00ad5b616aa4344fb798) 1568 0 R (interfaceppl__Generator__tag_ad6d26ca0f256b0d9a45173e7d83ee4cc) 1612 0 R (interfaceppl__Generator__tag_af2fd5edcf647f4bc5b64cf0f4f712a51) 1578 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag) 425 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag_a0632eaac5ec676910e433016619b3e85) 1633 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag_a1842c4ba3cd1adb1e1bccef3c [...]
+/Limits [(interfaceppl__Generator__tag_ace16d45c8fbb00ad5b616aa4344fb798) (interfaceppl__Grid__Generator__System__const__iterator__tag_a1842c4ba3cd1adb1e1bccef3cfcfa57f)]
+>> endobj
+3600 0 obj <<
+/Names [(interfaceppl__Grid__Generator__System__const__iterator__tag_a813ac0651ebac0120830cedf1ea58395) 1643 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag_ac23bf247df0b2721e97c8eeb8945adf1) 1635 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag_af2932a2fa90f54f604e340d0e2eac7ba) 1638 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag_af4cdf3fbe1977a24a90904e02efd791b) 1645 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag_af8 [...]
+/Limits [(interfaceppl__Grid__Generator__System__const__iterator__tag_a813ac0651ebac0120830cedf1ea58395) (interfaceppl__Grid__Generator__System__tag)]
+>> endobj
+3601 0 obj <<
+/Names [(interfaceppl__Grid__Generator__System__tag_a121252cea61436e0df74e008b80c13b7) 1694 0 R (interfaceppl__Grid__Generator__System__tag_a22e81aa8cd862935e9a0abab515cf838) 1724 0 R (interfaceppl__Grid__Generator__System__tag_a303533574d5d5d4d8f58e2d8646baa69) 1687 0 R (interfaceppl__Grid__Generator__System__tag_a3094a8093769d647b9f477e14d53a3a0) 1695 0 R (interfaceppl__Grid__Generator__System__tag_a3671e52fd03a1c456c630b7c5c632df8) 1698 0 R (interfaceppl__Grid__Generator__System__tag_ [...]
+/Limits [(interfaceppl__Grid__Generator__System__tag_a121252cea61436e0df74e008b80c13b7) (interfaceppl__Grid__Generator__System__tag_a4578b5352510727810a7c3be32208aae)]
+>> endobj
+3602 0 obj <<
+/Names [(interfaceppl__Grid__Generator__System__tag_a68cdbff6e2262bae3295484dbee9ee42) 1700 0 R (interfaceppl__Grid__Generator__System__tag_a95c612736a3e7524077dd5c81bf2a105) 1689 0 R (interfaceppl__Grid__Generator__System__tag_a9fc89d795c20b4270756269edf1b9604) 1693 0 R (interfaceppl__Grid__Generator__System__tag_aa6324c2e330df63ad428eec9182fcc4d) 1728 0 R (interfaceppl__Grid__Generator__System__tag_aaf6f8270e3742973e0df7dcc9132f7ae) 1729 0 R (interfaceppl__Grid__Generator__System__tag_ [...]
+/Limits [(interfaceppl__Grid__Generator__System__tag_a68cdbff6e2262bae3295484dbee9ee42) (interfaceppl__Grid__Generator__System__tag_abc859551651eca1bcc3839f62d45dbfe)]
+>> endobj
+3603 0 obj <<
+/Names [(interfaceppl__Grid__Generator__System__tag_ac64c8548738734fedbc94f03519b803a) 1688 0 R (interfaceppl__Grid__Generator__System__tag_ad00a2a1877537fa49a41013078ee2bb6) 1727 0 R (interfaceppl__Grid__Generator__System__tag_ad4d88d3daaa672264c63c83071c2021b) 1691 0 R (interfaceppl__Grid__Generator__System__tag_ae2c6fa9b0155fd9428ff3abcf1a66805) 1696 0 R (interfaceppl__Grid__Generator__System__tag_af29295940b1ad0b6b48cc44e92f04060) 1726 0 R (interfaceppl__Grid__Generator__tag) 427 0 R]
+/Limits [(interfaceppl__Grid__Generator__System__tag_ac64c8548738734fedbc94f03519b803a) (interfaceppl__Grid__Generator__tag)]
+>> endobj
+3604 0 obj <<
+/Names [(interfaceppl__Grid__Generator__tag_a0ca9a6d6894e381babab8f958c194f07) 1782 0 R (interfaceppl__Grid__Generator__tag_a190a7c46776178432e89c9525db039ab) 1785 0 R (interfaceppl__Grid__Generator__tag_a2a64fe7b9774c990bd9db8aecd2dacea) 1773 0 R (interfaceppl__Grid__Generator__tag_a3fc151fc10282a5ede395e9b8a5502e2) 1783 0 R (interfaceppl__Grid__Generator__tag_a6cb7351e1bb87181f7e6c946db398b5b) 1770 0 R (interfaceppl__Grid__Generator__tag_a85958538f17770d4ae66bcd179d747a1) 1776 0 R]
+/Limits [(interfaceppl__Grid__Generator__tag_a0ca9a6d6894e381babab8f958c194f07) (interfaceppl__Grid__Generator__tag_a85958538f17770d4ae66bcd179d747a1)]
+>> endobj
+3605 0 obj <<
+/Names [(interfaceppl__Grid__Generator__tag_a8b96d560404b7b7ee0ec7ea1aef80280) 1779 0 R (interfaceppl__Grid__Generator__tag_a99aac01eb1b8adc3667bbd3db68e8d34) 1778 0 R (interfaceppl__Grid__Generator__tag_a9b452ce4baaf1c1644a6eb33658ae48a) 1775 0 R (interfaceppl__Grid__Generator__tag_a9c2a70f5f90ec3da123f549d6ca9fe4a) 1732 0 R (interfaceppl__Grid__Generator__tag_aa8e9420c29d8c75e775c4fd609830769) 1780 0 R (interfaceppl__Grid__Generator__tag_ac5a83c9e42e34b313e12a6cef4470a75) 1784 0 R]
+/Limits [(interfaceppl__Grid__Generator__tag_a8b96d560404b7b7ee0ec7ea1aef80280) (interfaceppl__Grid__Generator__tag_ac5a83c9e42e34b313e12a6cef4470a75)]
+>> endobj
+3606 0 obj <<
+/Names [(interfaceppl__Grid__Generator__tag_acc700387404f10208584c1a847a6f328) 1771 0 R (interfaceppl__Grid__Generator__tag_adfc86b3b2966514ba2e2292584f68c08) 1777 0 R (interfaceppl__Grid__Generator__tag_afb6f23292760d6d55c57b5722f604897) 1781 0 R (interfaceppl__Linear__Expression__tag) 428 0 R (interfaceppl__Linear__Expression__tag_a1c54d4109f395752ea23822cee000d04) 1826 0 R (interfaceppl__Linear__Expression__tag_a225478fba412d40b785e2b41809cc90d) 1881 0 R]
+/Limits [(interfaceppl__Grid__Generator__tag_acc700387404f10208584c1a847a6f328) (interfaceppl__Linear__Expression__tag_a225478fba412d40b785e2b41809cc90d)]
+>> endobj
+3607 0 obj <<
+/Names [(interfaceppl__Linear__Expression__tag_a3530a20e5985d6da8acabad37bfe0e93) 1886 0 R (interfaceppl__Linear__Expression__tag_a46773b226d490e5bbf6f3d587cf29dc4) 1909 0 R (interfaceppl__Linear__Expression__tag_a50bcfefbf053e770951fa02c2e2eb112) 1910 0 R (interfaceppl__Linear__Expression__tag_a512810c3e349a2f01217c6e426645260) 1818 0 R (interfaceppl__Linear__Expression__tag_a5f05719adb05b4fc86b33bbcf63884eb) 1879 0 R (interfaceppl__Linear__Expression__tag_a643dad56c4e24b32e2c4951aee7a6 [...]
+/Limits [(interfaceppl__Linear__Expression__tag_a3530a20e5985d6da8acabad37bfe0e93) (interfaceppl__Linear__Expression__tag_a643dad56c4e24b32e2c4951aee7a6822)]
+>> endobj
+3608 0 obj <<
+/Names [(interfaceppl__Linear__Expression__tag_a690fbcd5ef7202e646b30d92bdadcc29) 1908 0 R (interfaceppl__Linear__Expression__tag_a7d65378709f5a0c73e711f5528385990) 1822 0 R (interfaceppl__Linear__Expression__tag_a8172cf537ccecb7826eb21837b8d7e7b) 1906 0 R (interfaceppl__Linear__Expression__tag_a84c2e36e2ae01775ce542ebc83739726) 1882 0 R (interfaceppl__Linear__Expression__tag_a86c148ed14d1a2781e07bea5be7fb434) 1874 0 R (interfaceppl__Linear__Expression__tag_a9ab7b109b1acae567c915b1db83b5 [...]
+/Limits [(interfaceppl__Linear__Expression__tag_a690fbcd5ef7202e646b30d92bdadcc29) (interfaceppl__Linear__Expression__tag_a9ab7b109b1acae567c915b1db83b5283)]
+>> endobj
+3609 0 obj <<
+/Names [(interfaceppl__Linear__Expression__tag_aa891671c2b9414353067da44a108ac1d) 1817 0 R (interfaceppl__Linear__Expression__tag_ab348eeffa0a61124b880932c35d0188b) 1878 0 R (interfaceppl__Linear__Expression__tag_abbbdd7f3c4800ef97b642142cd68648d) 1869 0 R (interfaceppl__Linear__Expression__tag_abfe9ef58fb96938e1c26b63e2b4ce0d1) 1884 0 R (interfaceppl__Linear__Expression__tag_ac21bf6dd42b915ff6f157fb73fe396e0) 1911 0 R (interfaceppl__Linear__Expression__tag_ae7af7908bffe9b331262dcf8fd020 [...]
+/Limits [(interfaceppl__Linear__Expression__tag_aa891671c2b9414353067da44a108ac1d) (interfaceppl__Linear__Expression__tag_ae7af7908bffe9b331262dcf8fd020b7f)]
+>> endobj
+3610 0 obj <<
+/Names [(interfaceppl__Linear__Expression__tag_ae861c5919e346c3966c43edc4cd47276) 1877 0 R (interfaceppl__Linear__Expression__tag_af232ff2f43109950ac1b0f5d124cf4cc) 1871 0 R (interfaceppl__Linear__Expression__tag_af78187771d58e90c174eeba577a471d5) 1912 0 R (interfaceppl__Linear__Expression__tag_af99b9dc1c16751ce872dab5245c22fdf) 1828 0 R (interfaceppl__Linear__Expression__tag_afc650c1c744fbfc4dbd15293b9827776) 1820 0 R (interfaceppl__MIP__Problem__tag) 429 0 R]
+/Limits [(interfaceppl__Linear__Expression__tag_ae861c5919e346c3966c43edc4cd47276) (interfaceppl__MIP__Problem__tag)]
+>> endobj
+3611 0 obj <<
+/Names [(interfaceppl__MIP__Problem__tag_a086e697a92a664c83721e0c442d45271) 2082 0 R (interfaceppl__MIP__Problem__tag_a0d5a001977b49f77a4514de614bf3c4c) 1969 0 R (interfaceppl__MIP__Problem__tag_a19ff64e7fd60a4e08c782a4683d62167) 2013 0 R (interfaceppl__MIP__Problem__tag_a2b4edec92d54747f5f1d2904407e744a) 2086 0 R (interfaceppl__MIP__Problem__tag_a32423400858178cc05f325962afd44e2) 1916 0 R (interfaceppl__MIP__Problem__tag_a34e5d32c224ab8293ff78c85d86e5f79) 1957 0 R]
+/Limits [(interfaceppl__MIP__Problem__tag_a086e697a92a664c83721e0c442d45271) (interfaceppl__MIP__Problem__tag_a34e5d32c224ab8293ff78c85d86e5f79)]
+>> endobj
+3612 0 obj <<
+/Names [(interfaceppl__MIP__Problem__tag_a3659fef24b67be6b668955bc6865e779) 2020 0 R (interfaceppl__MIP__Problem__tag_a36c57e3007fcb2340dc415f8431df7aa) 2022 0 R (interfaceppl__MIP__Problem__tag_a3789c297e202c735dbd829cd6cbed989) 2081 0 R (interfaceppl__MIP__Problem__tag_a396b429302ce49ea9915778c317b81d2) 2077 0 R (interfaceppl__MIP__Problem__tag_a39e443628f6b73203b0f66189b8bc1c6) 2069 0 R (interfaceppl__MIP__Problem__tag_a3ff750009bec94ab2c9a01139ba22420) 2085 0 R]
+/Limits [(interfaceppl__MIP__Problem__tag_a3659fef24b67be6b668955bc6865e779) (interfaceppl__MIP__Problem__tag_a3ff750009bec94ab2c9a01139ba22420)]
+>> endobj
+3613 0 obj <<
+/Names [(interfaceppl__MIP__Problem__tag_a43a14864f62b4528d6c87856cba4da34) 2084 0 R (interfaceppl__MIP__Problem__tag_a44aa5cc75376dddfb9005dd74b27ff68) 2018 0 R (interfaceppl__MIP__Problem__tag_a4b9b7034fd7b17eff672d49a7c85ac2f) 2012 0 R (interfaceppl__MIP__Problem__tag_a4da79f8c645b945d52635733c3f63d7d) 2008 0 R (interfaceppl__MIP__Problem__tag_a5357e1ed14407abf82149fe878789efd) 2017 0 R (interfaceppl__MIP__Problem__tag_a5e359194d7a21e72a49aee51dbac25c4) 2023 0 R]
+/Limits [(interfaceppl__MIP__Problem__tag_a43a14864f62b4528d6c87856cba4da34) (interfaceppl__MIP__Problem__tag_a5e359194d7a21e72a49aee51dbac25c4)]
+>> endobj
+3614 0 obj <<
+/Names [(interfaceppl__MIP__Problem__tag_a6a8d9c1c40c886054ef76aac268f33b0) 2010 0 R (interfaceppl__MIP__Problem__tag_a70c652d969734f6a69841d30a5e9033b) 1963 0 R (interfaceppl__MIP__Problem__tag_a7397b715c2ccf3f6fcf2f3900efe10d6) 2080 0 R (interfaceppl__MIP__Problem__tag_a8190bd5fde521e37c585c5c59b65f90d) 2092 0 R (interfaceppl__MIP__Problem__tag_a894587e76b98f15a8ae120327dc9d532) 2074 0 R (interfaceppl__MIP__Problem__tag_a8bda1b8ba9119202c16f88fdb19a535b) 1965 0 R]
+/Limits [(interfaceppl__MIP__Problem__tag_a6a8d9c1c40c886054ef76aac268f33b0) (interfaceppl__MIP__Problem__tag_a8bda1b8ba9119202c16f88fdb19a535b)]
+>> endobj
+3615 0 obj <<
+/Names [(interfaceppl__MIP__Problem__tag_a8ca7076566ebe098ff3bc307b4d91899) 1953 0 R (interfaceppl__MIP__Problem__tag_a8efd1f7de8fb2bbe6e33aff1d4184078) 1917 0 R (interfaceppl__MIP__Problem__tag_a8f2ab3d77bca7257df14bda9261a1326) 1954 0 R (interfaceppl__MIP__Problem__tag_a97fad1530ac4a3704d08097aec4bf206) 2079 0 R (interfaceppl__MIP__Problem__tag_a9dfe99ee7d8e2b1d7360ab0119bd12eb) 1956 0 R (interfaceppl__MIP__Problem__tag_aa1663bce444a20240c852c9443005cc0) 1967 0 R]
+/Limits [(interfaceppl__MIP__Problem__tag_a8ca7076566ebe098ff3bc307b4d91899) (interfaceppl__MIP__Problem__tag_aa1663bce444a20240c852c9443005cc0)]
+>> endobj
+3616 0 obj <<
+/Names [(interfaceppl__MIP__Problem__tag_ab50ac757b6cb922c40504dc69c983568) 2015 0 R (interfaceppl__MIP__Problem__tag_ab95e9f75dd971827c8a9a6b42faeeac7) 1959 0 R (interfaceppl__MIP__Problem__tag_ac379f873623c0fec37d988c2c374ffe5) 1958 0 R (interfaceppl__MIP__Problem__tag_ac39a1aacb6aa4f54150e2b138d7b36f2) 2016 0 R (interfaceppl__MIP__Problem__tag_acdbb5fd3fa1ab9faed26fc5be47cc0d2) 2070 0 R (interfaceppl__MIP__Problem__tag_ad2154705f0854002a4f44f95580df9c7) 1968 0 R]
+/Limits [(interfaceppl__MIP__Problem__tag_ab50ac757b6cb922c40504dc69c983568) (interfaceppl__MIP__Problem__tag_ad2154705f0854002a4f44f95580df9c7)]
+>> endobj
+3617 0 obj <<
+/Names [(interfaceppl__MIP__Problem__tag_ad8caceee4f21496294aee9eb9aea4ec1) 2078 0 R (interfaceppl__MIP__Problem__tag_adf86eb3611cbe63b34ef195bc87a7312) 1915 0 R (interfaceppl__MIP__Problem__tag_ae5845918fa5037ca4e9bdde4a4a3ecf2) 2072 0 R (interfaceppl__MIP__Problem__tag_ae7dc964062c194e3ae8eef0a828164ae) 2076 0 R (interfaceppl__MIP__Problem__tag_aebfd121256089b1415f3bc6989c25bbb) 2093 0 R (interfaceppl__MIP__Problem__tag_af349e801a615b2014d36c30fdb56022a) 2025 0 R]
+/Limits [(interfaceppl__MIP__Problem__tag_ad8caceee4f21496294aee9eb9aea4ec1) (interfaceppl__MIP__Problem__tag_af349e801a615b2014d36c30fdb56022a)]
+>> endobj
+3618 0 obj <<
+/Names [(interfaceppl__MIP__Problem__tag_af59141db49e5141da6ac594d43ead2f7) 1961 0 R (interfaceppl__MIP__Problem__tag_af63454e50c1937573c75495f3cb4c1d2) 1955 0 R (interfaceppl__PIP__Decision__Node__tag) 430 0 R (interfaceppl__PIP__Decision__Node__tag_a384e3002cf83ca2e73c4290d8629e043) 2121 0 R (interfaceppl__PIP__Decision__Node__tag_a4c12656e0256a4db3311855f9e94a36d) 2122 0 R (interfaceppl__PIP__Decision__Node__tag_a6455bb2686ced2d1a463955f6cbfa542) 2119 0 R]
+/Limits [(interfaceppl__MIP__Problem__tag_af59141db49e5141da6ac594d43ead2f7) (interfaceppl__PIP__Decision__Node__tag_a6455bb2686ced2d1a463955f6cbfa542)]
+>> endobj
+3619 0 obj <<
+/Names [(interfaceppl__PIP__Decision__Node__tag_a6b1a2446aa655ae65ce51b8a025c5751) 2124 0 R (interfaceppl__PIP__Decision__Node__tag_a8f1b879675bf41b40bab41ebe9a97346) 2123 0 R (interfaceppl__PIP__Decision__Node__tag_ab8a5eaf323d5fb0076b2ce079f9f5fc4) 2125 0 R (interfaceppl__PIP__Problem__tag) 431 0 R (interfaceppl__PIP__Problem__tag_a00a4b6909bbb8ab2fbf602d8589707b9) 2171 0 R (interfaceppl__PIP__Problem__tag_a0a539cf36d2797f1c1cb24a5f3ae13e3) 2268 0 R]
+/Limits [(interfaceppl__PIP__Decision__Node__tag_a6b1a2446aa655ae65ce51b8a025c5751) (interfaceppl__PIP__Problem__tag_a0a539cf36d2797f1c1cb24a5f3ae13e3)]
+>> endobj
+3620 0 obj <<
+/Names [(interfaceppl__PIP__Problem__tag_a0e81a3be2c1e438646f752885e8e2671) 2277 0 R (interfaceppl__PIP__Problem__tag_a0fa81de47c40e47efad3842142159fe5) 2271 0 R (interfaceppl__PIP__Problem__tag_a1492c1ef5bc77d977d14267b2344ddf1) 2159 0 R (interfaceppl__PIP__Problem__tag_a182da2aa2af850a82ea4b4ab3773a759) 2275 0 R (interfaceppl__PIP__Problem__tag_a1ebc3efbeb7fcf8da5556b365a9a1839) 2225 0 R (interfaceppl__PIP__Problem__tag_a227bae7ca5019a2488065ba188acbc84) 2273 0 R]
+/Limits [(interfaceppl__PIP__Problem__tag_a0e81a3be2c1e438646f752885e8e2671) (interfaceppl__PIP__Problem__tag_a227bae7ca5019a2488065ba188acbc84)]
+>> endobj
+3621 0 obj <<
+/Names [(interfaceppl__PIP__Problem__tag_a239ff7924a1294205e5057d1048986ac) 2269 0 R (interfaceppl__PIP__Problem__tag_a2828646f7257660ec4a2a6a06427a715) 2266 0 R (interfaceppl__PIP__Problem__tag_a2f230174a1c6cf8b3d0115ab268d02e1) 2221 0 R (interfaceppl__PIP__Problem__tag_a41b5af390cf2af727c18a043bb869ffc) 2216 0 R (interfaceppl__PIP__Problem__tag_a4c043227bbacc5af1e44439c140f95fc) 2289 0 R (interfaceppl__PIP__Problem__tag_a4f7ccdbb25ecfb4dcd2facbed54f26b7) 2214 0 R]
+/Limits [(interfaceppl__PIP__Problem__tag_a239ff7924a1294205e5057d1048986ac) (interfaceppl__PIP__Problem__tag_a4f7ccdbb25ecfb4dcd2facbed54f26b7)]
+>> endobj
+3622 0 obj <<
+/Names [(interfaceppl__PIP__Problem__tag_a51082042eaafc2db84f50f28d3d5b646) 2211 0 R (interfaceppl__PIP__Problem__tag_a65ace8cdf5e2fbf6e82c6834d3d29ada) 2223 0 R (interfaceppl__PIP__Problem__tag_a66b9c383e8c77d79c0ffbd2f99987a94) 2222 0 R (interfaceppl__PIP__Problem__tag_a68099fb9bb1067212c3e998b00255b24) 2220 0 R (interfaceppl__PIP__Problem__tag_a6b6bd9554098c88af56947f5a9e02818) 2278 0 R (interfaceppl__PIP__Problem__tag_a7387184a11ae23fd66b730a1ae720215) 2213 0 R]
+/Limits [(interfaceppl__PIP__Problem__tag_a51082042eaafc2db84f50f28d3d5b646) (interfaceppl__PIP__Problem__tag_a7387184a11ae23fd66b730a1ae720215)]
+>> endobj
+3623 0 obj <<
+/Names [(interfaceppl__PIP__Problem__tag_a73faac81cdd75868a90e0769e6e810ce) 2160 0 R (interfaceppl__PIP__Problem__tag_a76361c178cf8799f530f17e791e8d0b1) 2218 0 R (interfaceppl__PIP__Problem__tag_a7fde6bb756bf47a2801a8de40b1472d5) 2164 0 R (interfaceppl__PIP__Problem__tag_a83ff647a9f553f233355dcfe08f925ca) 2158 0 R (interfaceppl__PIP__Problem__tag_a8e179abb162b61259eb3923f067944ad) 2212 0 R (interfaceppl__PIP__Problem__tag_a9f81c698a50d6b97d896dca8cda4042c) 2264 0 R]
+/Limits [(interfaceppl__PIP__Problem__tag_a73faac81cdd75868a90e0769e6e810ce) (interfaceppl__PIP__Problem__tag_a9f81c698a50d6b97d896dca8cda4042c)]
+>> endobj
+3624 0 obj <<
+/Names [(interfaceppl__PIP__Problem__tag_aa91485e68401872e9369580d71074838) 2163 0 R (interfaceppl__PIP__Problem__tag_aaa0eabf4e1c5b3bacdbadbc4fceeb6e7) 2290 0 R (interfaceppl__PIP__Problem__tag_ab5075367b0d60e3b979b18b4b8b36f55) 2157 0 R (interfaceppl__PIP__Problem__tag_ab51c22e30fbf76be062c500f2187b0a9) 2276 0 R (interfaceppl__PIP__Problem__tag_ab69f3fd82a3be2e835c16d812f6ef39f) 2270 0 R (interfaceppl__PIP__Problem__tag_ab98bad036b29cb094195b1d8e8212c71) 2162 0 R]
+/Limits [(interfaceppl__PIP__Problem__tag_aa91485e68401872e9369580d71074838) (interfaceppl__PIP__Problem__tag_ab98bad036b29cb094195b1d8e8212c71)]
+>> endobj
+3625 0 obj <<
+/Names [(interfaceppl__PIP__Problem__tag_abe40c32264f8b51a8c0d259d0777afc3) 2292 0 R (interfaceppl__PIP__Problem__tag_aca972841d5888907f7dcf13b24134e27) 2224 0 R (interfaceppl__PIP__Problem__tag_ad5da07355917717a2b3ea402a2a27cec) 2165 0 R (interfaceppl__PIP__Problem__tag_add80dff3a130d086d15874ada6e8d8ae) 2167 0 R (interfaceppl__PIP__Problem__tag_adeef8fc42bbbeee0f82d5da5ed6b9fb6) 2279 0 R (interfaceppl__PIP__Problem__tag_ae4b7a344b75c9fc8646539a69ee55cb3) 2161 0 R]
+/Limits [(interfaceppl__PIP__Problem__tag_abe40c32264f8b51a8c0d259d0777afc3) (interfaceppl__PIP__Problem__tag_ae4b7a344b75c9fc8646539a69ee55cb3)]
+>> endobj
+3626 0 obj <<
+/Names [(interfaceppl__PIP__Problem__tag_aeb57397366e3cabbdac796f793cacc8b) 2169 0 R (interfaceppl__PIP__Problem__tag_aee2f9e1a5347b0fd66ca5f9aec8009e1) 2291 0 R (interfaceppl__PIP__Solution__Node__tag) 432 0 R (interfaceppl__PIP__Solution__Node__tag_a1eef951ad8a431e18a3e9d6a9e56594d) 2322 0 R (interfaceppl__PIP__Solution__Node__tag_a6c514d39c645b2b47002b597d998f527) 2324 0 R (interfaceppl__PIP__Solution__Node__tag_a9526c7cca61983debf9ced54bf89aa7f) 2320 0 R]
+/Limits [(interfaceppl__PIP__Problem__tag_aeb57397366e3cabbdac796f793cacc8b) (interfaceppl__PIP__Solution__Node__tag_a9526c7cca61983debf9ced54bf89aa7f)]
+>> endobj
+3627 0 obj <<
+/Names [(interfaceppl__PIP__Solution__Node__tag_ad4796bea8c483cdbd25979da0c81007a) 2321 0 R (interfaceppl__PIP__Solution__Node__tag_ad6ece2828d918bbd4cded63665b88e96) 2326 0 R (interfaceppl__PIP__Solution__Node__tag_af60a51929fc4969d04191e4f524f6031) 2323 0 R (interfaceppl__PIP__Tree__Node__tag) 433 0 R (interfaceppl__PIP__Tree__Node__tag_a0095864fde9ce398bbcdc67fd7d7f795) 2355 0 R (interfaceppl__PIP__Tree__Node__tag_a242792f5af528730b645b3831b4c6dab) 2351 0 R]
+/Limits [(interfaceppl__PIP__Solution__Node__tag_ad4796bea8c483cdbd25979da0c81007a) (interfaceppl__PIP__Tree__Node__tag_a242792f5af528730b645b3831b4c6dab)]
+>> endobj
+3628 0 obj <<
+/Names [(interfaceppl__PIP__Tree__Node__tag_a331092da872154b17ae2e8d675b88145) 2387 0 R (interfaceppl__PIP__Tree__Node__tag_a4a89db919ecd790e62027d3559d8d539) 2384 0 R (interfaceppl__PIP__Tree__Node__tag_a53680b4913fbc0c8bbf3a3f4097f672d) 2380 0 R (interfaceppl__PIP__Tree__Node__tag_a5c88187145d242b27660f9247fe83ded) 2390 0 R (interfaceppl__PIP__Tree__Node__tag_a74f00bca9deb1df435f5f32e16be9849) 2389 0 R (interfaceppl__PIP__Tree__Node__tag_a83a66e20c2502b8a2cf7f8a4b9925769) 2388 0 R]
+/Limits [(interfaceppl__PIP__Tree__Node__tag_a331092da872154b17ae2e8d675b88145) (interfaceppl__PIP__Tree__Node__tag_a83a66e20c2502b8a2cf7f8a4b9925769)]
+>> endobj
+3629 0 obj <<
+/Names [(interfaceppl__PIP__Tree__Node__tag_a8fd26a28b5329cecc22ad0a6958a9ea8) 2382 0 R (interfaceppl__PIP__Tree__Node__tag_a97dd1858b35adebeeb6f0d2edeecb693) 2353 0 R (interfaceppl__PIP__Tree__Node__tag_a9fa4831093fbb97122699c344264e792) 2349 0 R (interfaceppl__PIP__Tree__Node__tag_ad9ec458d7b2f78d11393475db3e4cfe3) 2386 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) 434 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_a0746b37f80c4 [...]
+/Limits [(interfaceppl__PIP__Tree__Node__tag_a8fd26a28b5329cecc22ad0a6958a9ea8) (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_a0746b37f80c4be687b0dc5ded6190002)]
+>> endobj
+3630 0 obj <<
+/Names [(interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_a62836b9156289bd880bf9f32056a4dee) 2436 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_a70541b12c8a9b281b3aa4f9c21624b3c) 2432 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_a8d39b1769491b0ee262118bfa31bcc67) 2425 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_abc4dd4b94a80075012b0f30b13339632) 2434 0 R (interfaceppl__Pointset_ [...]
+/Limits [(interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_a62836b9156289bd880bf9f32056a4dee) (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_ad69ffccc04d33132e31a91296afad78d)]
+>> endobj
+3631 0 obj <<
+/Names [(interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_adb6f375b8aad58a31f6a60abb7a9b1e2) 2429 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_add8c6ae913a7e3f0a7e1470a23ba04a3) 2427 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) 459 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a1785059acd1bf60dcf4cda0044cc94b5) 2497 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a35180fb6 [...]
+/Limits [(interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_adb6f375b8aad58a31f6a60abb7a9b1e2) (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a64b1a8e66388915a57bfd0b53a2e46c5)]
+>> endobj
+3632 0 obj <<
+/Names [(interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a79d1cb9751d21f7b364c4c41c4715737) 2470 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a7e3f8c5b2e614c5d18783c2ef7b092e1) 2466 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a98e7f050a579e9deeb71a75758238928) 2468 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_aa82f0fc73b5f98fab74070ee92a100cf) 2472 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__it [...]
+/Limits [(interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a79d1cb9751d21f7b364c4c41c4715737) (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_abe46bba93c5ddcf4cf4cafdb0d74f942)]
+>> endobj
+3633 0 obj <<
+/Names [(interfaceppl__Pointset__Powerset__C__Polyhedron__tag) 435 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a024a52502b35029ff2ba102323d8ae5b) 2535 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a0bf696420bbdc5c2ef0993f61f2273b7) 2549 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a1b2ee4d834f0651a41647ac5b5e0f912) 2543 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a26a124537b8995832b2cb157abc7cf07) 2529 0 R (interfaceppl__Pointset__Powe [...]
+/Limits [(interfaceppl__Pointset__Powerset__C__Polyhedron__tag) (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a91f0ccf4325f53430d7347ca73182f52)]
+>> endobj
+3634 0 obj <<
+/Names [(interfaceppl__Pointset__Powerset__C__Polyhedron__tag_aae5f47efa7c023e45aed9be161dce99f) 2540 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_ab595ea1166752d23aba600af43417bd8) 2546 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_aeb8456ecf06307c108046a8c665154c9) 2532 0 R (interfaceppl__Polyhedron__tag) 460 0 R (interfaceppl__Polyhedron__tag_a0184ad10aeca27f95d249d3a7e061b46) 3087 0 R (interfaceppl__Polyhedron__tag_a01daecb5bf8e498e7d539d7f3ba8496e) 2821 0 R]
+/Limits [(interfaceppl__Pointset__Powerset__C__Polyhedron__tag_aae5f47efa7c023e45aed9be161dce99f) (interfaceppl__Polyhedron__tag_a01daecb5bf8e498e7d539d7f3ba8496e)]
+>> endobj
+3635 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_a06c7c974043c12bcf349c119e73cc681) 3079 0 R (interfaceppl__Polyhedron__tag_a0b031bedcfb70f485bab922596bce1c8) 2884 0 R (interfaceppl__Polyhedron__tag_a0e494452cce5a8916f4fe97a1c79e237) 2828 0 R (interfaceppl__Polyhedron__tag_a141c3283de2a46f2fcb278dcdca0558f) 2754 0 R (interfaceppl__Polyhedron__tag_a191744753f79b939c8d61efe45778bd8) 2823 0 R (interfaceppl__Polyhedron__tag_a1bd806c292d0576b94d3084b21736061) 2634 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_a06c7c974043c12bcf349c119e73cc681) (interfaceppl__Polyhedron__tag_a1bd806c292d0576b94d3084b21736061)]
+>> endobj
+3636 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_a1dd00b705631c579994677fea3a86d63) 2762 0 R (interfaceppl__Polyhedron__tag_a1e5a2940765710cccea4ef4f1b7f1092) 3084 0 R (interfaceppl__Polyhedron__tag_a27fdc62bc2cae150c7d710a8e312a40d) 2745 0 R (interfaceppl__Polyhedron__tag_a2dc649f0ee90ea5af999e3c0bae54bcb) 2743 0 R (interfaceppl__Polyhedron__tag_a2f80d4608b0b75948b50dd862a14df66) 2824 0 R (interfaceppl__Polyhedron__tag_a304dd0846a62cb4a9f79806ea82cee5d) 2638 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_a1dd00b705631c579994677fea3a86d63) (interfaceppl__Polyhedron__tag_a304dd0846a62cb4a9f79806ea82cee5d)]
+>> endobj
+3637 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_a357ddb19493a385970c56bf4847a07a1) 2750 0 R (interfaceppl__Polyhedron__tag_a381b0e6e2e58df417ff578ed6d715520) 2970 0 R (interfaceppl__Polyhedron__tag_a39ee8e60c1d4d6faa40986d8fba28d5d) 2753 0 R (interfaceppl__Polyhedron__tag_a3bc82e8c76e1a47ecc20c85e1003036d) 3024 0 R (interfaceppl__Polyhedron__tag_a3e07a3e1a6e6c9f281227b4e215a3dc7) 2820 0 R (interfaceppl__Polyhedron__tag_a402bb86dfedf35933c2a29cc07210741) 3011 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_a357ddb19493a385970c56bf4847a07a1) (interfaceppl__Polyhedron__tag_a402bb86dfedf35933c2a29cc07210741)]
+>> endobj
+3638 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_a418a9f96c3df4cf69bc399cd807eddeb) 2583 0 R (interfaceppl__Polyhedron__tag_a46fc9d1041d5548a5f8f220af2a07028) 2971 0 R (interfaceppl__Polyhedron__tag_a4b5f126aef2ca062b034f795f6e5cf6d) 2749 0 R (interfaceppl__Polyhedron__tag_a50d5c68064e215d3f2cf3ee69896e676) 2685 0 R (interfaceppl__Polyhedron__tag_a52e2499c42a9be1e527642cbfb16ff8c) 2625 0 R (interfaceppl__Polyhedron__tag_a5932fd0c6867d83e3a34d5e680225807) 3141 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_a418a9f96c3df4cf69bc399cd807eddeb) (interfaceppl__Polyhedron__tag_a5932fd0c6867d83e3a34d5e680225807)]
+>> endobj
+3639 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_a5a6342bc4e04c1f228d210e5c363b6d4) 2814 0 R (interfaceppl__Polyhedron__tag_a5a9b061c4408ab8d70a1dea91a6ff983) 2822 0 R (interfaceppl__Polyhedron__tag_a5e7090393ee5801d9c988db6d2a06a43) 3073 0 R (interfaceppl__Polyhedron__tag_a5eeb3bf2e0ec7e6cd38e47b53eb43423) 3089 0 R (interfaceppl__Polyhedron__tag_a612142029eeee3dd72bb0d37c670d6db) 3076 0 R (interfaceppl__Polyhedron__tag_a6137f367c0c83a73146d84c998d37cb3) 3072 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_a5a6342bc4e04c1f228d210e5c363b6d4) (interfaceppl__Polyhedron__tag_a6137f367c0c83a73146d84c998d37cb3)]
+>> endobj
+3640 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_a658545ec6169d2843323bfe1ff078e6f) 3018 0 R (interfaceppl__Polyhedron__tag_a680aecc71f3b21fa0db03c7d1cbe466b) 2691 0 R (interfaceppl__Polyhedron__tag_a69c0a9ffd5b8910a90a91943a10fe3b6) 3082 0 R (interfaceppl__Polyhedron__tag_a6b5c73b1f3f864c8a10c39810b4711ce) 3017 0 R (interfaceppl__Polyhedron__tag_a6c5a2f9b4702c1a0ddfcc9c6eb9b92bd) 2693 0 R (interfaceppl__Polyhedron__tag_a6d147411700f558d74d8273accfb8e04) 2747 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_a658545ec6169d2843323bfe1ff078e6f) (interfaceppl__Polyhedron__tag_a6d147411700f558d74d8273accfb8e04)]
+>> endobj
+3641 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_a6ff56c68b449b94588ea7290d01625d5) 2972 0 R (interfaceppl__Polyhedron__tag_a6ffd595f3e1d85275962dde5f8401c7f) 2968 0 R (interfaceppl__Polyhedron__tag_a703c5d92387510c5cbf8b0f1da3029b2) 2586 0 R (interfaceppl__Polyhedron__tag_a7135823ecf68cedd5236d53e2b5541f5) 2758 0 R (interfaceppl__Polyhedron__tag_a7573064b44c45d804d398aec02e7a64a) 3086 0 R (interfaceppl__Polyhedron__tag_a784570f6ced5461b4d82cdfefa1cb31b) 2899 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_a6ff56c68b449b94588ea7290d01625d5) (interfaceppl__Polyhedron__tag_a784570f6ced5461b4d82cdfefa1cb31b)]
+>> endobj
+3642 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_a7918c3a73aed2529e1e57b8983264bad) 2889 0 R (interfaceppl__Polyhedron__tag_a819d233e9b1442e06c806dea0523a2f9) 2637 0 R (interfaceppl__Polyhedron__tag_a81cc2a565346ce8ee12124224ddd8d6c) 3013 0 R (interfaceppl__Polyhedron__tag_a8402fc25b68056511cf62f1378666a88) 2895 0 R (interfaceppl__Polyhedron__tag_a841ceef027f12d5c99fc2e739ae340fb) 3088 0 R (interfaceppl__Polyhedron__tag_a85417db0eb420d402acee4ef0d842efc) 2688 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_a7918c3a73aed2529e1e57b8983264bad) (interfaceppl__Polyhedron__tag_a85417db0eb420d402acee4ef0d842efc)]
+>> endobj
+3643 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_a875b11e85fe96586152f53f498158b1f) 3139 0 R (interfaceppl__Polyhedron__tag_a879f2f2b0f967fa73cb59ea8d8b1d255) 2679 0 R (interfaceppl__Polyhedron__tag_a88a7c177ebe33a3d41609609660fd3ee) 3135 0 R (interfaceppl__Polyhedron__tag_a88c408677f6de73fd80903738268efa3) 3131 0 R (interfaceppl__Polyhedron__tag_a8948143df881c58c79da34380f847401) 2641 0 R (interfaceppl__Polyhedron__tag_a89c2384471ee03156c7b414dceee8f14) 2897 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_a875b11e85fe96586152f53f498158b1f) (interfaceppl__Polyhedron__tag_a89c2384471ee03156c7b414dceee8f14)]
+>> endobj
+3644 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_a8a9e2cf693ca3e9c464efb04071b8572) 2966 0 R (interfaceppl__Polyhedron__tag_a8abb894f6f4a673d549aa9bf7456b638) 2825 0 R (interfaceppl__Polyhedron__tag_a8b280d026e0c343ec0d3f5521dda6376) 2690 0 R (interfaceppl__Polyhedron__tag_a8ffc5459233ed9781c0ca910e88fa1f9) 2883 0 R (interfaceppl__Polyhedron__tag_a90544f38c2980f308cd6e0f9248fdd99) 2963 0 R (interfaceppl__Polyhedron__tag_a93cee014592562084126f06fe47efbba) 2763 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_a8a9e2cf693ca3e9c464efb04071b8572) (interfaceppl__Polyhedron__tag_a93cee014592562084126f06fe47efbba)]
+>> endobj
+3645 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_a9563155e281915a8bc2eea34ceff9cf0) 2900 0 R (interfaceppl__Polyhedron__tag_a96eaf729b170b6df69bc2d1127f8727c) 3133 0 R (interfaceppl__Polyhedron__tag_a977522267df419dd5f2824ce6c0f7610) 3132 0 R (interfaceppl__Polyhedron__tag_a9947be8614cba5c2e8b02771d48fc7d2) 2684 0 R (interfaceppl__Polyhedron__tag_a9d9b8361c659cadd31afb61152ccf06b) 2636 0 R (interfaceppl__Polyhedron__tag_a9e5f40dfc278c52da81291b30fbe75f7) 2752 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_a9563155e281915a8bc2eea34ceff9cf0) (interfaceppl__Polyhedron__tag_a9e5f40dfc278c52da81291b30fbe75f7)]
+>> endobj
+3646 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_a9fb38e66323fe6cb24b32e32e66dba78) 2890 0 R (interfaceppl__Polyhedron__tag_aa309e957fa5f404b296e2e4c30e1697d) 2817 0 R (interfaceppl__Polyhedron__tag_aa48f8ae0f3a2647949417ec2da1c97e4) 2965 0 R (interfaceppl__Polyhedron__tag_aabb79ab0a7936b6f14cd20e15cb14fa8) 3022 0 R (interfaceppl__Polyhedron__tag_aad3749930a51c38886b1d5a01dbbba92) 3078 0 R (interfaceppl__Polyhedron__tag_aad69d01217b9ea1043883162d285505c) 2893 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_a9fb38e66323fe6cb24b32e32e66dba78) (interfaceppl__Polyhedron__tag_aad69d01217b9ea1043883162d285505c)]
+>> endobj
+3647 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_aaffebaba13f6fc73438bdccde0966547) 3019 0 R (interfaceppl__Polyhedron__tag_ab062917f016d95800e29f87c203fd3bb) 3140 0 R (interfaceppl__Polyhedron__tag_ab1d03e0aac8dda484b102c536c612a45) 2692 0 R (interfaceppl__Polyhedron__tag_ab27e9641bc6946aef6e3254d28c6fab4) 2585 0 R (interfaceppl__Polyhedron__tag_ab32d3b44994fefe43c44e353a47cb4a4) 2756 0 R (interfaceppl__Polyhedron__tag_ab4f7535037080c7f5db32b2e85fdc80d) 2751 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_aaffebaba13f6fc73438bdccde0966547) (interfaceppl__Polyhedron__tag_ab4f7535037080c7f5db32b2e85fdc80d)]
+>> endobj
+3648 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_abc350d1ab1c6e4da0df6bb130364af7b) 2892 0 R (interfaceppl__Polyhedron__tag_abcf3ccb8e2e224496d1326e47e15fdc6) 2815 0 R (interfaceppl__Polyhedron__tag_abd393bd3febd678f09a51a0364756787) 2623 0 R (interfaceppl__Polyhedron__tag_abedffb6a2f5b2473d2d2ac9d448c65d9) 2578 0 R (interfaceppl__Polyhedron__tag_abf1bb44cdbf733e9ca39164f9d8e8179) 2640 0 R (interfaceppl__Polyhedron__tag_ac06aed22fa4405051df0da9e7bc16138) 2960 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_abc350d1ab1c6e4da0df6bb130364af7b) (interfaceppl__Polyhedron__tag_ac06aed22fa4405051df0da9e7bc16138)]
+>> endobj
+3649 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_ac0e5d09ffe586f8ea5ec782570015c5b) 2969 0 R (interfaceppl__Polyhedron__tag_ac655ac3a494c4f92bb02d0b9294bdd85) 2886 0 R (interfaceppl__Polyhedron__tag_ac78c1168665c72eaf8c2457b12700fba) 3137 0 R (interfaceppl__Polyhedron__tag_ad015c9afd4968005d43f233359253c5a) 2967 0 R (interfaceppl__Polyhedron__tag_ad024f037803a208b74cd150eeaa5649d) 2882 0 R (interfaceppl__Polyhedron__tag_ad184bea5f8f38b87293d639d57ee340b) 3130 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_ac0e5d09ffe586f8ea5ec782570015c5b) (interfaceppl__Polyhedron__tag_ad184bea5f8f38b87293d639d57ee340b)]
+>> endobj
+3650 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_ad20b13c4f378bdc5aa64c3e833a62cba) 3016 0 R (interfaceppl__Polyhedron__tag_ad4b80df36fc02b4c47ca160420e50182) 3143 0 R (interfaceppl__Polyhedron__tag_ad6512d0d60c017982bd8031e9b8df336) 2584 0 R (interfaceppl__Polyhedron__tag_ad6b383704ed3f314864c52f5b715cbbf) 3014 0 R (interfaceppl__Polyhedron__tag_ad9547cb6430722246dea7f5a70566c06) 3023 0 R (interfaceppl__Polyhedron__tag_ada9021952b7c7ad4ca6fc4ff082ec9fe) 2576 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_ad20b13c4f378bdc5aa64c3e833a62cba) (interfaceppl__Polyhedron__tag_ada9021952b7c7ad4ca6fc4ff082ec9fe)]
+>> endobj
+3651 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_adb06752e755290368c9bb00ad14a0984) 2894 0 R (interfaceppl__Polyhedron__tag_adc7cd513e31b7ecdda3a25a967d8a772) 2683 0 R (interfaceppl__Polyhedron__tag_add9c4afcd6f6bd78509219f32d57e348) 2961 0 R (interfaceppl__Polyhedron__tag_ae1e938f0c844231dfe2098ab8fbca67b) 2755 0 R (interfaceppl__Polyhedron__tag_aea399d3df97c711c758c8bf715e0c763) 3075 0 R (interfaceppl__Polyhedron__tag_aebe78c4ede3d49c63765e71cfe93904e) 2627 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_adb06752e755290368c9bb00ad14a0984) (interfaceppl__Polyhedron__tag_aebe78c4ede3d49c63765e71cfe93904e)]
+>> endobj
+3652 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_aee4d567631589e83063cfb8f80c2bd6f) 2812 0 R (interfaceppl__Polyhedron__tag_af29cc9becde5f28a37567093174d6855) 2681 0 R (interfaceppl__Polyhedron__tag_af777de5ca96f8d1631d3500008bf84f8) 2829 0 R (interfaceppl__Polyhedron__tag_af818756f74f766dfb937e586565db8d6) 2898 0 R (interfaceppl__Polyhedron__tag_af8a9392f205531631b3a98c332f594b1) 3015 0 R (interfaceppl__Polyhedron__tag_af92f3c9d758e2a155a2a6faec4235741) 2888 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_aee4d567631589e83063cfb8f80c2bd6f) (interfaceppl__Polyhedron__tag_af92f3c9d758e2a155a2a6faec4235741)]
+>> endobj
+3653 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_af93c7e3e554a92e8d3eeb4cf4261debd) 2639 0 R (interfaceppl__Polyhedron__tag_af98013213e01ca8514b6dbd20116af4d) 2819 0 R (page.1) 169 0 R (page.10) 302 0 R (page.11) 312 0 R (page.12) 324 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_af93c7e3e554a92e8d3eeb4cf4261debd) (page.12)]
+>> endobj
+3654 0 obj <<
+/Names [(page.13) 330 0 R (page.14) 335 0 R (page.15) 340 0 R (page.16) 346 0 R (page.17) 357 0 R (page.18) 412 0 R]
+/Limits [(page.13) (page.18)]
+>> endobj
+3655 0 obj <<
+/Names [(page.19) 450 0 R (page.2) 246 0 R (page.20) 472 0 R (page.21) 495 0 R (page.22) 527 0 R (page.23) 559 0 R]
+/Limits [(page.19) (page.23)]
+>> endobj
+3656 0 obj <<
+/Names [(page.24) 576 0 R (page.25) 618 0 R (page.26) 671 0 R (page.27) 724 0 R (page.28) 782 0 R (page.29) 844 0 R]
+/Limits [(page.24) (page.29)]
+>> endobj
+3657 0 obj <<
+/Names [(page.3) 252 0 R (page.30) 882 0 R (page.31) 898 0 R (page.32) 908 0 R (page.33) 936 0 R (page.34) 982 0 R]
+/Limits [(page.3) (page.34)]
+>> endobj
+3658 0 obj <<
+/Names [(page.35) 1020 0 R (page.36) 1052 0 R (page.37) 1084 0 R (page.38) 1131 0 R (page.39) 1173 0 R (page.4) 260 0 R]
+/Limits [(page.35) (page.4)]
+>> endobj
+3659 0 obj <<
+/Names [(page.40) 1219 0 R (page.41) 1256 0 R (page.42) 1307 0 R (page.43) 1349 0 R (page.44) 1396 0 R (page.45) 1433 0 R]
+/Limits [(page.40) (page.45)]
+>> endobj
+3660 0 obj <<
+/Names [(page.46) 1468 0 R (page.47) 1516 0 R (page.48) 1565 0 R (page.49) 1603 0 R (page.5) 266 0 R (page.50) 1632 0 R]
+/Limits [(page.46) (page.50)]
+>> endobj
+3661 0 obj <<
+/Names [(page.51) 1685 0 R (page.52) 1723 0 R (page.53) 1769 0 R (page.54) 1814 0 R (page.55) 1868 0 R (page.56) 1905 0 R]
+/Limits [(page.51) (page.56)]
+>> endobj
+3662 0 obj <<
+/Names [(page.57) 1952 0 R (page.58) 2007 0 R (page.59) 2068 0 R (page.6) 276 0 R (page.60) 2091 0 R (page.61) 2117 0 R]
+/Limits [(page.57) (page.61)]
+>> endobj
+3663 0 obj <<
+/Names [(page.62) 2155 0 R (page.63) 2210 0 R (page.64) 2262 0 R (page.65) 2288 0 R (page.66) 2316 0 R (page.67) 2345 0 R]
+/Limits [(page.62) (page.67)]
+>> endobj
+3664 0 obj <<
+/Names [(page.68) 2379 0 R (page.69) 2418 0 R (page.7) 282 0 R (page.70) 2462 0 R (page.71) 2487 0 R (page.72) 2527 0 R]
+/Limits [(page.68) (page.72)]
+>> endobj
+3665 0 obj <<
+/Names [(page.73) 2572 0 R (page.74) 2621 0 R (page.75) 2678 0 R (page.76) 2742 0 R (page.77) 2809 0 R (page.78) 2879 0 R]
+/Limits [(page.73) (page.78)]
+>> endobj
+3666 0 obj <<
+/Names [(page.79) 2951 0 R (page.8) 288 0 R (page.80) 3010 0 R (page.81) 3069 0 R (page.82) 3129 0 R (page.83) 3149 0 R]
+/Limits [(page.79) (page.83)]
+>> endobj
+3667 0 obj <<
+/Names [(page.84) 3160 0 R (page.85) 3169 0 R (page.86) 3178 0 R (page.87) 3187 0 R (page.88) 3196 0 R (page.89) 3207 0 R]
+/Limits [(page.84) (page.89)]
+>> endobj
+3668 0 obj <<
+/Names [(page.9) 295 0 R (page.90) 3216 0 R (page.91) 3224 0 R (page.92) 3234 0 R (page.93) 3307 0 R (page.94) 3373 0 R]
+/Limits [(page.9) (page.94)]
+>> endobj
+3669 0 obj <<
+/Names [(page.95) 3428 0 R (page.96) 3481 0 R (page.i) 204 0 R (paragraph.6.2.2.1) 458 0 R (paragraph.6.2.2.2) 473 0 R (paragraph.6.2.2.3) 474 0 R]
+/Limits [(page.95) (paragraph.6.2.2.3)]
+>> endobj
+3670 0 obj <<
+/Names [(paragraph.6.2.2.4) 475 0 R (paragraph.6.2.2.5) 476 0 R (paragraph.6.3.2.1) 507 0 R (paragraph.6.3.3.1) 529 0 R (paragraph.6.4.2.1) 538 0 R (paragraph.6.4.3.1) 561 0 R]
+/Limits [(paragraph.6.2.2.4) (paragraph.6.4.3.1)]
+>> endobj
+3671 0 obj <<
+/Names [(paragraph.6.5.2.1) 579 0 R (paragraph.6.5.2.2) 580 0 R (paragraph.6.6.2.1) 891 0 R (paragraph.6.6.3.1) 893 0 R (paragraph.6.6.3.2) 901 0 R (paragraph.6.6.3.3) 902 0 R]
+/Limits [(paragraph.6.5.2.1) (paragraph.6.6.3.3)]
+>> endobj
+3672 0 obj <<
+/Names [(paragraph.6.6.3.4) 903 0 R (paragraph.6.6.3.5) 909 0 R (paragraph.6.6.3.6) 910 0 R (paragraph.6.6.4.1) 913 0 R (paragraph.7.17.2.1) 2096 0 R (paragraph.7.17.2.2) 2098 0 R]
+/Limits [(paragraph.6.6.3.4) (paragraph.7.17.2.2)]
+>> endobj
+3673 0 obj <<
+/Names [(paragraph.7.17.2.3) 2099 0 R (paragraph.7.19.2.1) 2295 0 R (paragraph.7.19.2.2) 2296 0 R (paragraph.7.19.2.3) 2317 0 R (paragraph.7.20.2.1) 2347 0 R (paragraph.7.22.2.1) 2464 0 R]
+/Limits [(paragraph.7.17.2.3) (paragraph.7.22.2.1)]
+>> endobj
+3674 0 obj <<
+/Names [(paragraph.7.23.2.1) 2498 0 R (paragraph.7.24.2.1) 2574 0 R (paragraph.7.25.2.1) 3152 0 R (paragraph.7.25.2.10) 3172 0 R (paragraph.7.25.2.11) 3173 0 R (paragraph.7.25.2.12) 3179 0 R]
+/Limits [(paragraph.7.23.2.1) (paragraph.7.25.2.12)]
+>> endobj
+3675 0 obj <<
+/Names [(paragraph.7.25.2.13) 3180 0 R (paragraph.7.25.2.14) 3181 0 R (paragraph.7.25.2.15) 3182 0 R (paragraph.7.25.2.16) 3188 0 R (paragraph.7.25.2.17) 3189 0 R (paragraph.7.25.2.18) 3190 0 R]
+/Limits [(paragraph.7.25.2.13) (paragraph.7.25.2.18)]
+>> endobj
+3676 0 obj <<
+/Names [(paragraph.7.25.2.19) 3191 0 R (paragraph.7.25.2.2) 3153 0 R (paragraph.7.25.2.20) 3197 0 R (paragraph.7.25.2.21) 3198 0 R (paragraph.7.25.2.22) 3199 0 R (paragraph.7.25.2.23) 3200 0 R]
+/Limits [(paragraph.7.25.2.19) (paragraph.7.25.2.23)]
+>> endobj
+3677 0 obj <<
+/Names [(paragraph.7.25.2.24) 3208 0 R (paragraph.7.25.2.25) 3209 0 R (paragraph.7.25.2.26) 3210 0 R (paragraph.7.25.2.27) 3217 0 R (paragraph.7.25.2.28) 3218 0 R (paragraph.7.25.2.29) 3219 0 R]
+/Limits [(paragraph.7.25.2.24) (paragraph.7.25.2.29)]
+>> endobj
+3678 0 obj <<
+/Names [(paragraph.7.25.2.3) 3154 0 R (paragraph.7.25.2.30) 3225 0 R (paragraph.7.25.2.31) 3226 0 R (paragraph.7.25.2.32) 3227 0 R (paragraph.7.25.2.33) 3228 0 R (paragraph.7.25.2.34) 3229 0 R]
+/Limits [(paragraph.7.25.2.3) (paragraph.7.25.2.34)]
+>> endobj
+3679 0 obj <<
+/Names [(paragraph.7.25.2.35) 3235 0 R (paragraph.7.25.2.4) 3161 0 R (paragraph.7.25.2.5) 3162 0 R (paragraph.7.25.2.6) 3163 0 R (paragraph.7.25.2.7) 3164 0 R (paragraph.7.25.2.8) 3170 0 R]
+/Limits [(paragraph.7.25.2.35) (paragraph.7.25.2.8)]
+>> endobj
+3680 0 obj <<
+/Names [(paragraph.7.25.2.9) 3171 0 R (section*.1) 208 0 R (section*.10) 277 0 R (section*.11) 283 0 R (section*.12) 289 0 R (section*.13) 290 0 R]
+/Limits [(paragraph.7.25.2.9) (section*.13)]
+>> endobj
+3681 0 obj <<
+/Names [(section*.14) 296 0 R (section*.15) 297 0 R (section*.16) 303 0 R (section*.17) 304 0 R (section*.18) 305 0 R (section*.19) 306 0 R]
+/Limits [(section*.14) (section*.19)]
+>> endobj
+3682 0 obj <<
+/Names [(section*.2) 253 0 R (section*.20) 313 0 R (section*.21) 314 0 R (section*.22) 315 0 R (section*.23) 358 0 R (section*.24) 453 0 R]
+/Limits [(section*.2) (section*.24)]
+>> endobj
+3683 0 obj <<
+/Names [(section*.25) 479 0 R (section*.26) 498 0 R (section*.27) 531 0 R (section*.28) 534 0 R (section*.29) 563 0 R (section*.3) 254 0 R]
+/Limits [(section*.25) (section*.3)]
+>> endobj
+3684 0 obj <<
+/Names [(section*.30) 619 0 R (section*.31) 796 0 R (section*.32) 847 0 R (section*.33) 855 0 R (section*.34) 937 0 R (section*.35) 984 0 R]
+/Limits [(section*.30) (section*.35)]
+>> endobj
+3685 0 obj <<
+/Names [(section*.36) 1022 0 R (section*.37) 1059 0 R (section*.38) 1095 0 R (section*.39) 1180 0 R (section*.4) 255 0 R (section*.40) 1257 0 R]
+/Limits [(section*.36) (section*.40)]
+>> endobj
+3686 0 obj <<
+/Names [(section*.41) 1308 0 R (section*.42) 1397 0 R (section*.43) 1439 0 R (section*.44) 1476 0 R (section*.45) 1567 0 R (section*.46) 1614 0 R]
+/Limits [(section*.41) (section*.46)]
+>> endobj
+3687 0 obj <<
+/Names [(section*.47) 1686 0 R (section*.48) 1731 0 R (section*.49) 1816 0 R (section*.5) 261 0 R (section*.50) 1914 0 R (section*.51) 2118 0 R]
+/Limits [(section*.47) (section*.51)]
+>> endobj
+3688 0 obj <<
+/Names [(section*.52) 2156 0 R (section*.53) 2318 0 R (section*.54) 2348 0 R (section*.55) 2419 0 R (section*.56) 2465 0 R (section*.57) 2528 0 R]
+/Limits [(section*.52) (section*.57)]
+>> endobj
+3689 0 obj <<
+/Names [(section*.58) 2575 0 R (section*.59) 3308 0 R (section*.6) 267 0 R (section*.7) 268 0 R (section*.8) 269 0 R (section*.9) 270 0 R]
+/Limits [(section*.58) (section*.9)]
+>> endobj
+3690 0 obj <<
+/Names [(section.1) 6 0 R (section.2) 10 0 R (section.3) 14 0 R (section.4) 18 0 R (section.5) 26 0 R (section.6) 34 0 R]
+/Limits [(section.1) (section.6)]
+>> endobj
+3691 0 obj <<
+/Names [(section.7) 62 0 R (subsection.4.1) 22 0 R (subsection.5.1) 30 0 R (subsection.6.1) 38 0 R (subsection.6.2) 42 0 R (subsection.6.3) 46 0 R]
+/Limits [(section.7) (subsection.6.3)]
+>> endobj
+3692 0 obj <<
+/Names [(subsection.6.4) 50 0 R (subsection.6.5) 54 0 R (subsection.6.6) 58 0 R (subsection.7.1) 66 0 R (subsection.7.10) 102 0 R (subsection.7.11) 106 0 R]
+/Limits [(subsection.6.4) (subsection.7.11)]
+>> endobj
+3693 0 obj <<
+/Names [(subsection.7.12) 110 0 R (subsection.7.13) 114 0 R (subsection.7.14) 118 0 R (subsection.7.15) 122 0 R (subsection.7.16) 126 0 R (subsection.7.17) 130 0 R]
+/Limits [(subsection.7.12) (subsection.7.17)]
+>> endobj
+3694 0 obj <<
+/Names [(subsection.7.18) 134 0 R (subsection.7.19) 138 0 R (subsection.7.2) 70 0 R (subsection.7.20) 142 0 R (subsection.7.21) 146 0 R (subsection.7.22) 150 0 R]
+/Limits [(subsection.7.18) (subsection.7.22)]
+>> endobj
+3695 0 obj <<
+/Names [(subsection.7.23) 154 0 R (subsection.7.24) 158 0 R (subsection.7.25) 162 0 R (subsection.7.3) 74 0 R (subsection.7.4) 78 0 R (subsection.7.5) 82 0 R]
+/Limits [(subsection.7.23) (subsection.7.5)]
+>> endobj
+3696 0 obj <<
+/Names [(subsection.7.6) 86 0 R (subsection.7.7) 90 0 R (subsection.7.8) 94 0 R (subsection.7.9) 98 0 R (subsubsection.6.2.1) 455 0 R (subsubsection.6.2.2) 456 0 R]
+/Limits [(subsection.7.6) (subsubsection.6.2.2)]
+>> endobj
+3697 0 obj <<
+/Names [(subsubsection.6.3.1) 505 0 R (subsubsection.6.3.2) 506 0 R (subsubsection.6.3.3) 528 0 R (subsubsection.6.4.1) 535 0 R (subsubsection.6.4.2) 536 0 R (subsubsection.6.4.3) 560 0 R]
+/Limits [(subsubsection.6.3.1) (subsubsection.6.4.3)]
+>> endobj
+3698 0 obj <<
+/Names [(subsubsection.6.5.1) 577 0 R (subsubsection.6.5.2) 578 0 R (subsubsection.6.6.1) 889 0 R (subsubsection.6.6.2) 890 0 R (subsubsection.6.6.3) 892 0 R (subsubsection.6.6.4) 912 0 R]
+/Limits [(subsubsection.6.5.1) (subsubsection.6.6.4)]
+>> endobj
+3699 0 obj <<
+/Names [(subsubsection.7.1.1) 983 0 R (subsubsection.7.10.1) 1475 0 R (subsubsection.7.11.1) 1566 0 R (subsubsection.7.12.1) 1613 0 R (subsubsection.7.13.1) 1649 0 R (subsubsection.7.14.1) 1730 0 R]
+/Limits [(subsubsection.7.1.1) (subsubsection.7.14.1)]
+>> endobj
+3700 0 obj <<
+/Names [(subsubsection.7.15.1) 1815 0 R (subsubsection.7.16.1) 1913 0 R (subsubsection.7.17.1) 2094 0 R (subsubsection.7.17.2) 2095 0 R (subsubsection.7.18.1) 2126 0 R (subsubsection.7.19.1) 2293 0 R]
+/Limits [(subsubsection.7.15.1) (subsubsection.7.19.1)]
+>> endobj
+3701 0 obj <<
+/Names [(subsubsection.7.19.2) 2294 0 R (subsubsection.7.2.1) 1021 0 R (subsubsection.7.20.1) 2325 0 R (subsubsection.7.20.2) 2346 0 R (subsubsection.7.21.1) 2391 0 R (subsubsection.7.22.1) 2439 0 R]
+/Limits [(subsubsection.7.19.2) (subsubsection.7.22.1)]
+>> endobj
+3702 0 obj <<
+/Names [(subsubsection.7.22.2) 2463 0 R (subsubsection.7.23.1) 2495 0 R (subsubsection.7.23.2) 2496 0 R (subsubsection.7.24.1) 2548 0 R (subsubsection.7.24.2) 2573 0 R (subsubsection.7.25.1) 3150 0 R]
+/Limits [(subsubsection.7.22.2) (subsubsection.7.25.1)]
+>> endobj
+3703 0 obj <<
+/Names [(subsubsection.7.25.2) 3151 0 R (subsubsection.7.3.1) 1058 0 R (subsubsection.7.4.1) 1094 0 R (subsubsection.7.5.1) 1179 0 R (subsubsection.7.6.1) 1233 0 R (subsubsection.7.7.1) 1271 0 R]
+/Limits [(subsubsection.7.25.2) (subsubsection.7.7.1)]
+>> endobj
+3704 0 obj <<
+/Names [(subsubsection.7.8.1) 1359 0 R (subsubsection.7.9.1) 1438 0 R]
+/Limits [(subsubsection.7.8.1) (subsubsection.7.9.1)]
+>> endobj
+3705 0 obj <<
+/Kids [3548 0 R 3549 0 R 3550 0 R 3551 0 R 3552 0 R 3553 0 R]
+/Limits [(Doc-Start) (group__Datatypes_ga68fae2777effe5d0ed0e3dcec1310e1f)]
+>> endobj
+3706 0 obj <<
+/Kids [3554 0 R 3555 0 R 3556 0 R 3557 0 R 3558 0 R 3559 0 R]
+/Limits [(group__Datatypes_ga6b8429baa2a70746836586aad6905b64) (group__Datatypes_gae8e2db00ec6575b865057ffd3195327b)]
+>> endobj
+3707 0 obj <<
+/Kids [3560 0 R 3561 0 R 3562 0 R 3563 0 R 3564 0 R 3565 0 R]
+/Limits [(group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a03b444004b1031ddb1a51289b9d83106)]
+>> endobj
+3708 0 obj <<
+/Kids [3566 0 R 3567 0 R 3568 0 R 3569 0 R 3570 0 R 3571 0 R]
+/Limits [(group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a0860beb1b1c54c9f774b532d92404992) (index)]
+>> endobj
+3709 0 obj <<
+/Kids [3572 0 R 3573 0 R 3574 0 R 3575 0 R 3576 0 R 3577 0 R]
+/Limits [(interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) (interfaceppl__Congruence__System__const__iterator__tag_a74f9a28eb09ee718502409ab43b657d4)]
+>> endobj
+3710 0 obj <<
+/Kids [3578 0 R 3579 0 R 3580 0 R 3581 0 R 3582 0 R 3583 0 R]
+/Limits [(interfaceppl__Congruence__System__const__iterator__tag_a7ac19545b812b9ed2261c4224a6b9e9a) (interfaceppl__Congruence__tag_ab67c8dacaa1610fe5ea9efe67263477d)]
+>> endobj
+3711 0 obj <<
+/Kids [3584 0 R 3585 0 R 3586 0 R 3587 0 R 3588 0 R 3589 0 R]
+/Limits [(interfaceppl__Congruence__tag_ab76a7c2b32bbc5472f87b3fae17f5a0d) (interfaceppl__Constraint__tag_a0ed54f6ac264a58059f51c7fe33ab787)]
+>> endobj
+3712 0 obj <<
+/Kids [3590 0 R 3591 0 R 3592 0 R 3593 0 R 3594 0 R 3595 0 R]
+/Limits [(interfaceppl__Constraint__tag_a1c416a6d6a359f2f9e9d33af7dc32ea8) (interfaceppl__Generator__System__tag_ae9bc39a46753f158644428f3c01e73a3)]
+>> endobj
+3713 0 obj <<
+/Kids [3596 0 R 3597 0 R 3598 0 R 3599 0 R 3600 0 R 3601 0 R]
+/Limits [(interfaceppl__Generator__System__tag_aeeec098f7c1e5939b144f3d42a2c65fc) (interfaceppl__Grid__Generator__System__tag_a4578b5352510727810a7c3be32208aae)]
+>> endobj
+3714 0 obj <<
+/Kids [3602 0 R 3603 0 R 3604 0 R 3605 0 R 3606 0 R 3607 0 R]
+/Limits [(interfaceppl__Grid__Generator__System__tag_a68cdbff6e2262bae3295484dbee9ee42) (interfaceppl__Linear__Expression__tag_a643dad56c4e24b32e2c4951aee7a6822)]
+>> endobj
+3715 0 obj <<
+/Kids [3608 0 R 3609 0 R 3610 0 R 3611 0 R 3612 0 R 3613 0 R]
+/Limits [(interfaceppl__Linear__Expression__tag_a690fbcd5ef7202e646b30d92bdadcc29) (interfaceppl__MIP__Problem__tag_a5e359194d7a21e72a49aee51dbac25c4)]
+>> endobj
+3716 0 obj <<
+/Kids [3614 0 R 3615 0 R 3616 0 R 3617 0 R 3618 0 R 3619 0 R]
+/Limits [(interfaceppl__MIP__Problem__tag_a6a8d9c1c40c886054ef76aac268f33b0) (interfaceppl__PIP__Problem__tag_a0a539cf36d2797f1c1cb24a5f3ae13e3)]
+>> endobj
+3717 0 obj <<
+/Kids [3620 0 R 3621 0 R 3622 0 R 3623 0 R 3624 0 R 3625 0 R]
+/Limits [(interfaceppl__PIP__Problem__tag_a0e81a3be2c1e438646f752885e8e2671) (interfaceppl__PIP__Problem__tag_ae4b7a344b75c9fc8646539a69ee55cb3)]
+>> endobj
+3718 0 obj <<
+/Kids [3626 0 R 3627 0 R 3628 0 R 3629 0 R 3630 0 R 3631 0 R]
+/Limits [(interfaceppl__PIP__Problem__tag_aeb57397366e3cabbdac796f793cacc8b) (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a64b1a8e66388915a57bfd0b53a2e46c5)]
+>> endobj
+3719 0 obj <<
+/Kids [3632 0 R 3633 0 R 3634 0 R 3635 0 R 3636 0 R 3637 0 R]
+/Limits [(interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a79d1cb9751d21f7b364c4c41c4715737) (interfaceppl__Polyhedron__tag_a402bb86dfedf35933c2a29cc07210741)]
+>> endobj
+3720 0 obj <<
+/Kids [3638 0 R 3639 0 R 3640 0 R 3641 0 R 3642 0 R 3643 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_a418a9f96c3df4cf69bc399cd807eddeb) (interfaceppl__Polyhedron__tag_a89c2384471ee03156c7b414dceee8f14)]
+>> endobj
+3721 0 obj <<
+/Kids [3644 0 R 3645 0 R 3646 0 R 3647 0 R 3648 0 R 3649 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_a8a9e2cf693ca3e9c464efb04071b8572) (interfaceppl__Polyhedron__tag_ad184bea5f8f38b87293d639d57ee340b)]
+>> endobj
+3722 0 obj <<
+/Kids [3650 0 R 3651 0 R 3652 0 R 3653 0 R 3654 0 R 3655 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_ad20b13c4f378bdc5aa64c3e833a62cba) (page.23)]
+>> endobj
+3723 0 obj <<
+/Kids [3656 0 R 3657 0 R 3658 0 R 3659 0 R 3660 0 R 3661 0 R]
+/Limits [(page.24) (page.56)]
+>> endobj
+3724 0 obj <<
+/Kids [3662 0 R 3663 0 R 3664 0 R 3665 0 R 3666 0 R 3667 0 R]
+/Limits [(page.57) (page.89)]
+>> endobj
+3725 0 obj <<
+/Kids [3668 0 R 3669 0 R 3670 0 R 3671 0 R 3672 0 R 3673 0 R]
+/Limits [(page.9) (paragraph.7.22.2.1)]
+>> endobj
+3726 0 obj <<
+/Kids [3674 0 R 3675 0 R 3676 0 R 3677 0 R 3678 0 R 3679 0 R]
+/Limits [(paragraph.7.23.2.1) (paragraph.7.25.2.8)]
+>> endobj
+3727 0 obj <<
+/Kids [3680 0 R 3681 0 R 3682 0 R 3683 0 R 3684 0 R 3685 0 R]
+/Limits [(paragraph.7.25.2.9) (section*.40)]
+>> endobj
+3728 0 obj <<
+/Kids [3686 0 R 3687 0 R 3688 0 R 3689 0 R 3690 0 R 3691 0 R]
+/Limits [(section*.41) (subsection.6.3)]
+>> endobj
+3729 0 obj <<
+/Kids [3692 0 R 3693 0 R 3694 0 R 3695 0 R 3696 0 R 3697 0 R]
+/Limits [(subsection.6.4) (subsubsection.6.4.3)]
+>> endobj
+3730 0 obj <<
+/Kids [3698 0 R 3699 0 R 3700 0 R 3701 0 R 3702 0 R 3703 0 R]
+/Limits [(subsubsection.6.5.1) (subsubsection.7.7.1)]
+>> endobj
+3731 0 obj <<
+/Kids [3704 0 R]
+/Limits [(subsubsection.7.8.1) (subsubsection.7.9.1)]
+>> endobj
+3732 0 obj <<
+/Kids [3705 0 R 3706 0 R 3707 0 R 3708 0 R 3709 0 R 3710 0 R]
+/Limits [(Doc-Start) (interfaceppl__Congruence__tag_ab67c8dacaa1610fe5ea9efe67263477d)]
+>> endobj
+3733 0 obj <<
+/Kids [3711 0 R 3712 0 R 3713 0 R 3714 0 R 3715 0 R 3716 0 R]
+/Limits [(interfaceppl__Congruence__tag_ab76a7c2b32bbc5472f87b3fae17f5a0d) (interfaceppl__PIP__Problem__tag_a0a539cf36d2797f1c1cb24a5f3ae13e3)]
+>> endobj
+3734 0 obj <<
+/Kids [3717 0 R 3718 0 R 3719 0 R 3720 0 R 3721 0 R 3722 0 R]
+/Limits [(interfaceppl__PIP__Problem__tag_a0e81a3be2c1e438646f752885e8e2671) (page.23)]
+>> endobj
+3735 0 obj <<
+/Kids [3723 0 R 3724 0 R 3725 0 R 3726 0 R 3727 0 R 3728 0 R]
+/Limits [(page.24) (subsection.6.3)]
+>> endobj
+3736 0 obj <<
+/Kids [3729 0 R 3730 0 R 3731 0 R]
+/Limits [(subsection.6.4) (subsubsection.7.9.1)]
+>> endobj
+3737 0 obj <<
+/Kids [3732 0 R 3733 0 R 3734 0 R 3735 0 R 3736 0 R]
+/Limits [(Doc-Start) (subsubsection.7.9.1)]
+>> endobj
+3738 0 obj <<
+/Dests 3737 0 R
+>> endobj
+3739 0 obj <<
+/Type /Catalog
+/Pages 3546 0 R
+/Outlines 3547 0 R
+/Names 3738 0 R
+/PageMode/UseOutlines/PageLabels << /Nums [0 << /S /D >> 1 << /S /r >> 2 << /S /D >> ] >>
+/OpenAction 165 0 R
+>> endobj
+3740 0 obj <<
+/Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.3)/Keywords()
+/CreationDate (D:20100802222454+02'00')
+/ModDate (D:20100802222454+02'00')
+/Trapped /False
+/PTEX.Fullbanner (This is pdfTeX using libpoppler, Version 3.141592-1.40.3-2.2 (Web2C 7.5.6) kpathsea version 3.5.6)
+>> endobj
+xref
+0 3741
+0000000001 65535 f 
+0000000002 00000 f 
+0000000003 00000 f 
+0000000004 00000 f 
+0000000000 00000 f 
+0000000015 00000 n 
+0000025355 00000 n 
+0000870224 00000 n 
+0000000060 00000 n 
+0000000134 00000 n 
+0000030169 00000 n 
+0000870137 00000 n 
+0000000179 00000 n 
+0000000345 00000 n 
+0000068338 00000 n 
+0000870048 00000 n 
+0000000391 00000 n 
+0000000577 00000 n 
+0000087809 00000 n 
+0000869922 00000 n 
+0000000623 00000 n 
+0000000713 00000 n 
+0000087865 00000 n 
+0000869861 00000 n 
+0000000764 00000 n 
+0000000826 00000 n 
+0000097765 00000 n 
+0000869735 00000 n 
+0000000872 00000 n 
+0000000957 00000 n 
+0000097821 00000 n 
+0000869674 00000 n 
+0000001008 00000 n 
+0000001088 00000 n 
+0000102267 00000 n 
+0000869548 00000 n 
+0000001134 00000 n 
+0000001264 00000 n 
+0000102380 00000 n 
+0000869474 00000 n 
+0000001315 00000 n 
+0000001448 00000 n 
+0000102498 00000 n 
+0000869387 00000 n 
+0000001499 00000 n 
+0000001730 00000 n 
+0000106108 00000 n 
+0000869300 00000 n 
+0000001781 00000 n 
+0000001891 00000 n 
+0000116703 00000 n 
+0000869213 00000 n 
+0000001942 00000 n 
+0000002042 00000 n 
+0000121573 00000 n 
+0000869126 00000 n 
+0000002093 00000 n 
+0000002160 00000 n 
+0000125196 00000 n 
+0000869052 00000 n 
+0000002211 00000 n 
+0000002326 00000 n 
+0000191506 00000 n 
+0000868937 00000 n 
+0000002372 00000 n 
+0000002497 00000 n 
+0000191619 00000 n 
+0000868863 00000 n 
+0000002548 00000 n 
+0000002959 00000 n 
+0000199569 00000 n 
+0000868776 00000 n 
+0000003010 00000 n 
+0000003292 00000 n 
+0000206753 00000 n 
+0000868689 00000 n 
+0000003343 00000 n 
+0000003577 00000 n 
+0000213283 00000 n 
+0000868602 00000 n 
+0000003628 00000 n 
+0000003976 00000 n 
+0000220339 00000 n 
+0000868515 00000 n 
+0000004027 00000 n 
+0000004294 00000 n 
+0000238818 00000 n 
+0000868428 00000 n 
+0000004345 00000 n 
+0000004574 00000 n 
+0000256639 00000 n 
+0000868341 00000 n 
+0000004625 00000 n 
+0000004973 00000 n 
+0000266825 00000 n 
+0000868254 00000 n 
+0000005024 00000 n 
+0000005291 00000 n 
+0000274376 00000 n 
+0000868165 00000 n 
+0000005342 00000 n 
+0000005572 00000 n 
+0000291812 00000 n 
+0000868074 00000 n 
+0000005625 00000 n 
+0000005969 00000 n 
+0000300189 00000 n 
+0000867982 00000 n 
+0000006022 00000 n 
+0000006285 00000 n 
+0000318470 00000 n 
+0000867890 00000 n 
+0000006338 00000 n 
+0000006563 00000 n 
+0000326163 00000 n 
+0000867798 00000 n 
+0000006616 00000 n 
+0000006988 00000 n 
+0000335170 00000 n 
+0000867706 00000 n 
+0000007041 00000 n 
+0000007332 00000 n 
+0000352121 00000 n 
+0000867614 00000 n 
+0000007385 00000 n 
+0000007638 00000 n 
+0000371232 00000 n 
+0000867522 00000 n 
+0000007691 00000 n 
+0000007959 00000 n 
+0000389545 00000 n 
+0000867430 00000 n 
+0000008012 00000 n 
+0000008250 00000 n 
+0000431569 00000 n 
+0000867338 00000 n 
+0000008303 00000 n 
+0000008574 00000 n 
+0000438818 00000 n 
+0000867246 00000 n 
+0000008627 00000 n 
+0000008865 00000 n 
+0000472446 00000 n 
+0000867154 00000 n 
+0000008918 00000 n 
+0000009189 00000 n 
+0000478723 00000 n 
+0000867062 00000 n 
+0000009242 00000 n 
+0000009493 00000 n 
+0000486949 00000 n 
+0000866970 00000 n 
+0000009546 00000 n 
+0000009966 00000 n 
+0000504304 00000 n 
+0000866878 00000 n 
+0000010019 00000 n 
+0000010406 00000 n 
+0000511030 00000 n 
+0000866786 00000 n 
+0000010459 00000 n 
+0000010798 00000 n 
+0000529223 00000 n 
+0000866708 00000 n 
+0000010851 00000 n 
+0000011081 00000 n 
+0000012356 00000 n 
+0000012589 00000 n 
+0000011133 00000 n 
+0000012475 00000 n 
+0000012532 00000 n 
+0000863785 00000 n 
+0000862034 00000 n 
+0000862467 00000 n 
+0000862178 00000 n 
+0000864141 00000 n 
+0000014954 00000 n 
+0000015120 00000 n 
+0000015272 00000 n 
+0000015438 00000 n 
+0000015736 00000 n 
+0000015911 00000 n 
+0000016062 00000 n 
+0000016213 00000 n 
+0000016364 00000 n 
+0000016515 00000 n 
+0000016671 00000 n 
+0000016821 00000 n 
+0000016978 00000 n 
+0000017129 00000 n 
+0000017284 00000 n 
+0000017440 00000 n 
+0000017597 00000 n 
+0000017754 00000 n 
+0000017911 00000 n 
+0000018068 00000 n 
+0000018218 00000 n 
+0000018375 00000 n 
+0000018532 00000 n 
+0000021721 00000 n 
+0000018687 00000 n 
+0000018974 00000 n 
+0000014623 00000 n 
+0000012700 00000 n 
+0000018860 00000 n 
+0000863429 00000 n 
+0000015588 00000 n 
+0000863077 00000 n 
+0000018917 00000 n 
+0000068450 00000 n 
+0000030282 00000 n 
+0000021878 00000 n 
+0000022034 00000 n 
+0000022191 00000 n 
+0000022347 00000 n 
+0000022504 00000 n 
+0000022660 00000 n 
+0000022817 00000 n 
+0000022975 00000 n 
+0000023132 00000 n 
+0000023290 00000 n 
+0000023448 00000 n 
+0000023606 00000 n 
+0000023763 00000 n 
+0000023921 00000 n 
+0000024079 00000 n 
+0000024236 00000 n 
+0000024393 00000 n 
+0000024550 00000 n 
+0000024708 00000 n 
+0000024866 00000 n 
+0000025024 00000 n 
+0000025182 00000 n 
+0000025467 00000 n 
+0000021406 00000 n 
+0000019072 00000 n 
+0000025410 00000 n 
+0000863961 00000 n 
+0000029387 00000 n 
+0000029571 00000 n 
+0000029758 00000 n 
+0000033718 00000 n 
+0000029939 00000 n 
+0000030339 00000 n 
+0000029224 00000 n 
+0000025591 00000 n 
+0000030112 00000 n 
+0000030225 00000 n 
+0000033881 00000 n 
+0000034282 00000 n 
+0000033571 00000 n 
+0000030450 00000 n 
+0000034054 00000 n 
+0000034111 00000 n 
+0000034168 00000 n 
+0000034225 00000 n 
+0000037681 00000 n 
+0000037968 00000 n 
+0000037542 00000 n 
+0000034380 00000 n 
+0000037854 00000 n 
+0000037911 00000 n 
+0000041082 00000 n 
+0000041539 00000 n 
+0000040943 00000 n 
+0000038066 00000 n 
+0000041255 00000 n 
+0000041312 00000 n 
+0000041369 00000 n 
+0000041426 00000 n 
+0000041482 00000 n 
+0000864259 00000 n 
+0000045040 00000 n 
+0000045327 00000 n 
+0000044901 00000 n 
+0000041637 00000 n 
+0000045213 00000 n 
+0000045270 00000 n 
+0000049015 00000 n 
+0000049301 00000 n 
+0000048876 00000 n 
+0000045425 00000 n 
+0000049188 00000 n 
+0000049245 00000 n 
+0000052587 00000 n 
+0000052931 00000 n 
+0000052448 00000 n 
+0000049399 00000 n 
+0000052760 00000 n 
+0000052817 00000 n 
+0000052874 00000 n 
+0000056640 00000 n 
+0000056984 00000 n 
+0000056501 00000 n 
+0000053029 00000 n 
+0000056813 00000 n 
+0000056870 00000 n 
+0000056927 00000 n 
+0000060403 00000 n 
+0000060861 00000 n 
+0000060264 00000 n 
+0000057082 00000 n 
+0000060576 00000 n 
+0000060633 00000 n 
+0000060690 00000 n 
+0000060747 00000 n 
+0000060804 00000 n 
+0000063822 00000 n 
+0000063997 00000 n 
+0000064398 00000 n 
+0000063675 00000 n 
+0000060959 00000 n 
+0000064170 00000 n 
+0000064227 00000 n 
+0000064284 00000 n 
+0000064341 00000 n 
+0000863251 00000 n 
+0000864377 00000 n 
+0000067737 00000 n 
+0000067913 00000 n 
+0000068108 00000 n 
+0000068506 00000 n 
+0000067582 00000 n 
+0000064509 00000 n 
+0000068281 00000 n 
+0000068394 00000 n 
+0000072329 00000 n 
+0000072559 00000 n 
+0000072190 00000 n 
+0000068617 00000 n 
+0000072502 00000 n 
+0000076406 00000 n 
+0000076636 00000 n 
+0000076267 00000 n 
+0000072657 00000 n 
+0000076579 00000 n 
+0000080146 00000 n 
+0000080376 00000 n 
+0000080007 00000 n 
+0000076734 00000 n 
+0000080319 00000 n 
+0000083894 00000 n 
+0000084069 00000 n 
+0000084299 00000 n 
+0000083747 00000 n 
+0000080474 00000 n 
+0000084242 00000 n 
+0000086582 00000 n 
+0000086738 00000 n 
+0000086895 00000 n 
+0000087052 00000 n 
+0000087208 00000 n 
+0000087365 00000 n 
+0000087522 00000 n 
+0000087921 00000 n 
+0000086395 00000 n 
+0000084397 00000 n 
+0000087695 00000 n 
+0000087752 00000 n 
+0000864495 00000 n 
+0000089829 00000 n 
+0000090039 00000 n 
+0000090196 00000 n 
+0000090379 00000 n 
+0000090536 00000 n 
+0000090708 00000 n 
+0000090864 00000 n 
+0000091060 00000 n 
+0000091217 00000 n 
+0000091396 00000 n 
+0000091553 00000 n 
+0000091725 00000 n 
+0000091882 00000 n 
+0000092079 00000 n 
+0000092236 00000 n 
+0000092416 00000 n 
+0000092573 00000 n 
+0000092745 00000 n 
+0000092902 00000 n 
+0000093098 00000 n 
+0000093255 00000 n 
+0000093434 00000 n 
+0000093592 00000 n 
+0000093763 00000 n 
+0000093921 00000 n 
+0000094123 00000 n 
+0000094281 00000 n 
+0000094466 00000 n 
+0000094624 00000 n 
+0000094801 00000 n 
+0000094959 00000 n 
+0000095139 00000 n 
+0000095297 00000 n 
+0000095470 00000 n 
+0000095627 00000 n 
+0000095808 00000 n 
+0000095966 00000 n 
+0000096140 00000 n 
+0000096298 00000 n 
+0000096479 00000 n 
+0000096636 00000 n 
+0000096812 00000 n 
+0000096970 00000 n 
+0000097182 00000 n 
+0000097377 00000 n 
+0000099666 00000 n 
+0000099871 00000 n 
+0000100066 00000 n 
+0000097535 00000 n 
+0000097877 00000 n 
+0000089330 00000 n 
+0000088019 00000 n 
+0000097708 00000 n 
+0000191562 00000 n 
+0000199513 00000 n 
+0000206695 00000 n 
+0000213225 00000 n 
+0000220282 00000 n 
+0000238760 00000 n 
+0000248944 00000 n 
+0000257225 00000 n 
+0000274318 00000 n 
+0000291754 00000 n 
+0000300131 00000 n 
+0000318413 00000 n 
+0000326105 00000 n 
+0000335112 00000 n 
+0000352064 00000 n 
+0000371174 00000 n 
+0000389487 00000 n 
+0000431511 00000 n 
+0000432098 00000 n 
+0000472388 00000 n 
+0000478665 00000 n 
+0000486891 00000 n 
+0000510972 00000 n 
+0000100224 00000 n 
+0000100419 00000 n 
+0000100577 00000 n 
+0000100748 00000 n 
+0000100905 00000 n 
+0000101094 00000 n 
+0000101282 00000 n 
+0000101470 00000 n 
+0000101659 00000 n 
+0000101848 00000 n 
+0000102037 00000 n 
+0000102896 00000 n 
+0000099423 00000 n 
+0000097975 00000 n 
+0000102210 00000 n 
+0000102323 00000 n 
+0000102436 00000 n 
+0000102554 00000 n 
+0000102611 00000 n 
+0000102668 00000 n 
+0000102725 00000 n 
+0000102782 00000 n 
+0000102839 00000 n 
+0000504246 00000 n 
+0000529165 00000 n 
+0000105582 00000 n 
+0000105696 00000 n 
+0000105809 00000 n 
+0000105928 00000 n 
+0000104780 00000 n 
+0000104970 00000 n 
+0000105162 00000 n 
+0000105352 00000 n 
+0000106335 00000 n 
+0000104617 00000 n 
+0000103033 00000 n 
+0000105525 00000 n 
+0000105639 00000 n 
+0000105752 00000 n 
+0000105871 00000 n 
+0000105990 00000 n 
+0000863605 00000 n 
+0000106046 00000 n 
+0000106164 00000 n 
+0000106221 00000 n 
+0000106278 00000 n 
+0000110505 00000 n 
+0000108174 00000 n 
+0000108366 00000 n 
+0000108558 00000 n 
+0000108749 00000 n 
+0000108941 00000 n 
+0000109133 00000 n 
+0000109325 00000 n 
+0000109517 00000 n 
+0000109709 00000 n 
+0000110619 00000 n 
+0000107971 00000 n 
+0000106472 00000 n 
+0000109882 00000 n 
+0000109939 00000 n 
+0000109996 00000 n 
+0000110053 00000 n 
+0000110108 00000 n 
+0000110163 00000 n 
+0000110220 00000 n 
+0000110277 00000 n 
+0000110334 00000 n 
+0000862613 00000 n 
+0000110391 00000 n 
+0000110448 00000 n 
+0000110562 00000 n 
+0000116532 00000 n 
+0000112778 00000 n 
+0000112967 00000 n 
+0000113188 00000 n 
+0000113412 00000 n 
+0000113859 00000 n 
+0000114083 00000 n 
+0000114306 00000 n 
+0000114530 00000 n 
+0000114754 00000 n 
+0000114976 00000 n 
+0000115198 00000 n 
+0000115420 00000 n 
+0000115865 00000 n 
+0000116055 00000 n 
+0000116245 00000 n 
+0000117285 00000 n 
+0000112511 00000 n 
+0000110769 00000 n 
+0000116418 00000 n 
+0000116475 00000 n 
+0000116589 00000 n 
+0000116646 00000 n 
+0000116759 00000 n 
+0000113636 00000 n 
+0000115643 00000 n 
+0000116816 00000 n 
+0000116873 00000 n 
+0000116930 00000 n 
+0000116987 00000 n 
+0000117043 00000 n 
+0000117099 00000 n 
+0000117161 00000 n 
+0000117223 00000 n 
+0000120845 00000 n 
+0000120907 00000 n 
+0000120968 00000 n 
+0000121030 00000 n 
+0000121092 00000 n 
+0000121154 00000 n 
+0000121216 00000 n 
+0000121278 00000 n 
+0000121397 00000 n 
+0000119848 00000 n 
+0000120040 00000 n 
+0000120231 00000 n 
+0000120423 00000 n 
+0000120615 00000 n 
+0000121799 00000 n 
+0000119677 00000 n 
+0000117435 00000 n 
+0000120788 00000 n 
+0000121340 00000 n 
+0000121454 00000 n 
+0000121511 00000 n 
+0000121629 00000 n 
+0000121686 00000 n 
+0000121742 00000 n 
+0000864613 00000 n 
+0000124911 00000 n 
+0000125025 00000 n 
+0000124183 00000 n 
+0000124375 00000 n 
+0000126924 00000 n 
+0000124567 00000 n 
+0000125252 00000 n 
+0000124028 00000 n 
+0000121936 00000 n 
+0000124740 00000 n 
+0000124797 00000 n 
+0000124854 00000 n 
+0000124968 00000 n 
+0000125082 00000 n 
+0000125139 00000 n 
+0000127118 00000 n 
+0000127312 00000 n 
+0000127506 00000 n 
+0000127679 00000 n 
+0000127873 00000 n 
+0000128046 00000 n 
+0000128240 00000 n 
+0000128419 00000 n 
+0000128612 00000 n 
+0000128791 00000 n 
+0000128984 00000 n 
+0000129156 00000 n 
+0000129350 00000 n 
+0000129522 00000 n 
+0000129716 00000 n 
+0000129896 00000 n 
+0000130090 00000 n 
+0000130270 00000 n 
+0000130464 00000 n 
+0000130661 00000 n 
+0000130854 00000 n 
+0000131050 00000 n 
+0000131437 00000 n 
+0000131608 00000 n 
+0000131802 00000 n 
+0000131973 00000 n 
+0000132167 00000 n 
+0000132346 00000 n 
+0000132540 00000 n 
+0000132718 00000 n 
+0000135652 00000 n 
+0000135848 00000 n 
+0000132909 00000 n 
+0000134050 00000 n 
+0000126529 00000 n 
+0000125376 00000 n 
+0000133082 00000 n 
+0000133139 00000 n 
+0000133196 00000 n 
+0000133253 00000 n 
+0000133310 00000 n 
+0000133367 00000 n 
+0000133424 00000 n 
+0000133481 00000 n 
+0000133538 00000 n 
+0000133595 00000 n 
+0000133652 00000 n 
+0000133709 00000 n 
+0000133766 00000 n 
+0000131244 00000 n 
+0000133823 00000 n 
+0000133880 00000 n 
+0000133937 00000 n 
+0000133993 00000 n 
+0000176387 00000 n 
+0000136042 00000 n 
+0000136238 00000 n 
+0000136625 00000 n 
+0000136797 00000 n 
+0000136991 00000 n 
+0000137163 00000 n 
+0000137357 00000 n 
+0000137536 00000 n 
+0000137729 00000 n 
+0000137909 00000 n 
+0000138103 00000 n 
+0000138300 00000 n 
+0000138686 00000 n 
+0000138883 00000 n 
+0000139268 00000 n 
+0000139444 00000 n 
+0000139636 00000 n 
+0000139812 00000 n 
+0000140006 00000 n 
+0000140191 00000 n 
+0000140385 00000 n 
+0000140570 00000 n 
+0000140764 00000 n 
+0000140966 00000 n 
+0000141353 00000 n 
+0000141555 00000 n 
+0000141941 00000 n 
+0000142113 00000 n 
+0000144925 00000 n 
+0000145099 00000 n 
+0000142304 00000 n 
+0000143389 00000 n 
+0000135233 00000 n 
+0000134174 00000 n 
+0000142477 00000 n 
+0000142534 00000 n 
+0000142591 00000 n 
+0000136432 00000 n 
+0000142648 00000 n 
+0000142705 00000 n 
+0000142762 00000 n 
+0000142819 00000 n 
+0000142876 00000 n 
+0000138494 00000 n 
+0000142933 00000 n 
+0000139076 00000 n 
+0000142990 00000 n 
+0000143047 00000 n 
+0000143104 00000 n 
+0000143161 00000 n 
+0000143218 00000 n 
+0000141160 00000 n 
+0000143275 00000 n 
+0000141749 00000 n 
+0000143332 00000 n 
+0000145293 00000 n 
+0000145467 00000 n 
+0000145661 00000 n 
+0000145835 00000 n 
+0000146029 00000 n 
+0000146206 00000 n 
+0000146400 00000 n 
+0000146577 00000 n 
+0000146771 00000 n 
+0000146951 00000 n 
+0000147144 00000 n 
+0000147324 00000 n 
+0000147517 00000 n 
+0000147698 00000 n 
+0000147892 00000 n 
+0000148073 00000 n 
+0000148267 00000 n 
+0000148450 00000 n 
+0000148644 00000 n 
+0000148827 00000 n 
+0000149021 00000 n 
+0000149214 00000 n 
+0000149599 00000 n 
+0000149809 00000 n 
+0000150195 00000 n 
+0000150405 00000 n 
+0000153736 00000 n 
+0000153908 00000 n 
+0000150791 00000 n 
+0000151876 00000 n 
+0000144538 00000 n 
+0000143513 00000 n 
+0000150964 00000 n 
+0000151021 00000 n 
+0000151078 00000 n 
+0000151135 00000 n 
+0000151192 00000 n 
+0000151249 00000 n 
+0000151306 00000 n 
+0000151363 00000 n 
+0000151420 00000 n 
+0000151477 00000 n 
+0000151534 00000 n 
+0000151591 00000 n 
+0000151648 00000 n 
+0000151705 00000 n 
+0000149407 00000 n 
+0000151762 00000 n 
+0000150003 00000 n 
+0000151819 00000 n 
+0000150599 00000 n 
+0000154102 00000 n 
+0000154274 00000 n 
+0000154468 00000 n 
+0000154663 00000 n 
+0000154856 00000 n 
+0000155051 00000 n 
+0000155438 00000 n 
+0000155642 00000 n 
+0000156028 00000 n 
+0000156233 00000 n 
+0000156618 00000 n 
+0000156829 00000 n 
+0000157215 00000 n 
+0000157426 00000 n 
+0000157812 00000 n 
+0000158006 00000 n 
+0000158233 00000 n 
+0000158461 00000 n 
+0000158688 00000 n 
+0000158916 00000 n 
+0000159143 00000 n 
+0000159337 00000 n 
+0000159565 00000 n 
+0000160019 00000 n 
+0000160246 00000 n 
+0000160701 00000 n 
+0000160895 00000 n 
+0000161123 00000 n 
+0000161577 00000 n 
+0000164843 00000 n 
+0000165036 00000 n 
+0000165263 00000 n 
+0000165490 00000 n 
+0000165718 00000 n 
+0000165946 00000 n 
+0000161805 00000 n 
+0000162547 00000 n 
+0000153285 00000 n 
+0000152000 00000 n 
+0000161978 00000 n 
+0000162035 00000 n 
+0000162092 00000 n 
+0000162149 00000 n 
+0000162206 00000 n 
+0000155245 00000 n 
+0000162263 00000 n 
+0000155836 00000 n 
+0000162320 00000 n 
+0000156426 00000 n 
+0000162377 00000 n 
+0000157022 00000 n 
+0000162434 00000 n 
+0000157619 00000 n 
+0000162490 00000 n 
+0000159792 00000 n 
+0000160474 00000 n 
+0000161350 00000 n 
+0000176558 00000 n 
+0000178375 00000 n 
+0000178437 00000 n 
+0000178499 00000 n 
+0000178561 00000 n 
+0000178623 00000 n 
+0000178685 00000 n 
+0000178799 00000 n 
+0000178861 00000 n 
+0000178923 00000 n 
+0000178985 00000 n 
+0000179047 00000 n 
+0000179161 00000 n 
+0000179222 00000 n 
+0000179284 00000 n 
+0000166173 00000 n 
+0000166367 00000 n 
+0000166595 00000 n 
+0000167050 00000 n 
+0000167242 00000 n 
+0000167470 00000 n 
+0000167925 00000 n 
+0000168153 00000 n 
+0000168346 00000 n 
+0000168539 00000 n 
+0000168731 00000 n 
+0000168923 00000 n 
+0000169113 00000 n 
+0000169307 00000 n 
+0000169501 00000 n 
+0000169695 00000 n 
+0000169889 00000 n 
+0000170083 00000 n 
+0000170277 00000 n 
+0000170471 00000 n 
+0000170665 00000 n 
+0000170858 00000 n 
+0000171051 00000 n 
+0000171245 00000 n 
+0000174541 00000 n 
+0000171439 00000 n 
+0000172296 00000 n 
+0000164448 00000 n 
+0000162671 00000 n 
+0000171612 00000 n 
+0000166823 00000 n 
+0000167698 00000 n 
+0000171669 00000 n 
+0000171726 00000 n 
+0000171783 00000 n 
+0000171840 00000 n 
+0000171897 00000 n 
+0000171954 00000 n 
+0000172011 00000 n 
+0000172068 00000 n 
+0000172125 00000 n 
+0000172182 00000 n 
+0000172239 00000 n 
+0000864731 00000 n 
+0000179346 00000 n 
+0000179460 00000 n 
+0000179522 00000 n 
+0000179584 00000 n 
+0000179646 00000 n 
+0000179707 00000 n 
+0000179768 00000 n 
+0000182411 00000 n 
+0000182473 00000 n 
+0000182535 00000 n 
+0000182649 00000 n 
+0000182711 00000 n 
+0000182773 00000 n 
+0000182892 00000 n 
+0000174734 00000 n 
+0000174928 00000 n 
+0000175122 00000 n 
+0000175315 00000 n 
+0000175508 00000 n 
+0000175701 00000 n 
+0000176672 00000 n 
+0000174354 00000 n 
+0000172433 00000 n 
+0000175874 00000 n 
+0000175931 00000 n 
+0000175988 00000 n 
+0000176045 00000 n 
+0000176102 00000 n 
+0000176159 00000 n 
+0000176216 00000 n 
+0000176273 00000 n 
+0000176330 00000 n 
+0000176444 00000 n 
+0000176501 00000 n 
+0000176615 00000 n 
+0000178145 00000 n 
+0000179824 00000 n 
+0000178006 00000 n 
+0000176796 00000 n 
+0000178318 00000 n 
+0000861016 00000 n 
+0000861454 00000 n 
+0000178742 00000 n 
+0000179104 00000 n 
+0000179403 00000 n 
+0000182124 00000 n 
+0000183006 00000 n 
+0000181985 00000 n 
+0000179973 00000 n 
+0000182297 00000 n 
+0000182354 00000 n 
+0000182592 00000 n 
+0000861162 00000 n 
+0000182835 00000 n 
+0000182949 00000 n 
+0000185320 00000 n 
+0000185563 00000 n 
+0000185982 00000 n 
+0000186469 00000 n 
+0000186678 00000 n 
+0000187066 00000 n 
+0000187553 00000 n 
+0000187763 00000 n 
+0000188149 00000 n 
+0000188392 00000 n 
+0000188779 00000 n 
+0000189023 00000 n 
+0000189407 00000 n 
+0000189601 00000 n 
+0000189845 00000 n 
+0000190264 00000 n 
+0000190507 00000 n 
+0000190890 00000 n 
+0000191276 00000 n 
+0000192131 00000 n 
+0000184957 00000 n 
+0000183168 00000 n 
+0000191449 00000 n 
+0000191675 00000 n 
+0000191732 00000 n 
+0000185773 00000 n 
+0000191789 00000 n 
+0000186225 00000 n 
+0000186872 00000 n 
+0000191846 00000 n 
+0000187309 00000 n 
+0000187957 00000 n 
+0000191903 00000 n 
+0000188586 00000 n 
+0000191960 00000 n 
+0000189217 00000 n 
+0000192017 00000 n 
+0000190055 00000 n 
+0000192074 00000 n 
+0000190700 00000 n 
+0000191084 00000 n 
+0000194309 00000 n 
+0000194526 00000 n 
+0000194720 00000 n 
+0000195079 00000 n 
+0000195294 00000 n 
+0000195487 00000 n 
+0000195679 00000 n 
+0000195852 00000 n 
+0000196069 00000 n 
+0000196263 00000 n 
+0000196608 00000 n 
+0000196823 00000 n 
+0000197016 00000 n 
+0000197188 00000 n 
+0000197405 00000 n 
+0000197599 00000 n 
+0000197816 00000 n 
+0000198010 00000 n 
+0000198226 00000 n 
+0000198418 00000 n 
+0000198635 00000 n 
+0000198828 00000 n 
+0000199044 00000 n 
+0000199226 00000 n 
+0000200193 00000 n 
+0000193970 00000 n 
+0000192281 00000 n 
+0000199399 00000 n 
+0000199456 00000 n 
+0000199624 00000 n 
+0000199681 00000 n 
+0000194900 00000 n 
+0000199738 00000 n 
+0000199795 00000 n 
+0000196436 00000 n 
+0000199852 00000 n 
+0000199909 00000 n 
+0000199966 00000 n 
+0000200023 00000 n 
+0000200080 00000 n 
+0000200137 00000 n 
+0000202697 00000 n 
+0000202903 00000 n 
+0000203075 00000 n 
+0000203282 00000 n 
+0000203455 00000 n 
+0000203662 00000 n 
+0000203836 00000 n 
+0000204031 00000 n 
+0000204238 00000 n 
+0000204412 00000 n 
+0000204619 00000 n 
+0000204792 00000 n 
+0000204986 00000 n 
+0000205194 00000 n 
+0000205389 00000 n 
+0000205597 00000 n 
+0000205792 00000 n 
+0000206000 00000 n 
+0000206195 00000 n 
+0000209767 00000 n 
+0000206403 00000 n 
+0000207397 00000 n 
+0000202386 00000 n 
+0000200343 00000 n 
+0000206577 00000 n 
+0000206636 00000 n 
+0000206810 00000 n 
+0000206869 00000 n 
+0000206928 00000 n 
+0000206987 00000 n 
+0000207046 00000 n 
+0000207105 00000 n 
+0000207164 00000 n 
+0000207222 00000 n 
+0000207279 00000 n 
+0000207338 00000 n 
+0000864849 00000 n 
+0000209975 00000 n 
+0000210183 00000 n 
+0000210391 00000 n 
+0000210586 00000 n 
+0000210794 00000 n 
+0000210989 00000 n 
+0000211197 00000 n 
+0000211390 00000 n 
+0000211622 00000 n 
+0000211820 00000 n 
+0000212051 00000 n 
+0000212249 00000 n 
+0000215799 00000 n 
+0000216031 00000 n 
+0000216229 00000 n 
+0000212638 00000 n 
+0000213516 00000 n 
+0000209497 00000 n 
+0000207548 00000 n 
+0000212812 00000 n 
+0000212871 00000 n 
+0000212930 00000 n 
+0000212989 00000 n 
+0000213048 00000 n 
+0000213107 00000 n 
+0000213166 00000 n 
+0000213340 00000 n 
+0000213399 00000 n 
+0000213457 00000 n 
+0000212444 00000 n 
+0000216424 00000 n 
+0000216655 00000 n 
+0000217044 00000 n 
+0000217276 00000 n 
+0000217665 00000 n 
+0000217859 00000 n 
+0000218091 00000 n 
+0000218486 00000 n 
+0000218718 00000 n 
+0000219106 00000 n 
+0000219299 00000 n 
+0000219514 00000 n 
+0000223201 00000 n 
+0000223416 00000 n 
+0000223597 00000 n 
+0000223811 00000 n 
+0000223991 00000 n 
+0000219695 00000 n 
+0000220514 00000 n 
+0000215484 00000 n 
+0000213667 00000 n 
+0000219869 00000 n 
+0000219928 00000 n 
+0000219987 00000 n 
+0000216850 00000 n 
+0000220046 00000 n 
+0000217471 00000 n 
+0000220105 00000 n 
+0000218289 00000 n 
+0000220164 00000 n 
+0000218913 00000 n 
+0000220223 00000 n 
+0000220396 00000 n 
+0000220455 00000 n 
+0000224380 00000 n 
+0000224595 00000 n 
+0000224776 00000 n 
+0000224971 00000 n 
+0000225185 00000 n 
+0000225364 00000 n 
+0000225559 00000 n 
+0000225774 00000 n 
+0000225969 00000 n 
+0000226184 00000 n 
+0000226379 00000 n 
+0000226769 00000 n 
+0000226983 00000 n 
+0000227177 00000 n 
+0000227392 00000 n 
+0000227587 00000 n 
+0000227983 00000 n 
+0000228197 00000 n 
+0000228391 00000 n 
+0000228786 00000 n 
+0000229001 00000 n 
+0000229196 00000 n 
+0000229410 00000 n 
+0000229591 00000 n 
+0000229806 00000 n 
+0000229987 00000 n 
+0000233848 00000 n 
+0000234063 00000 n 
+0000234257 00000 n 
+0000234471 00000 n 
+0000230377 00000 n 
+0000231315 00000 n 
+0000222733 00000 n 
+0000220665 00000 n 
+0000230551 00000 n 
+0000230610 00000 n 
+0000230669 00000 n 
+0000224185 00000 n 
+0000230728 00000 n 
+0000230787 00000 n 
+0000230845 00000 n 
+0000230904 00000 n 
+0000226574 00000 n 
+0000230963 00000 n 
+0000231021 00000 n 
+0000227785 00000 n 
+0000231080 00000 n 
+0000228588 00000 n 
+0000231138 00000 n 
+0000231197 00000 n 
+0000231256 00000 n 
+0000230182 00000 n 
+0000234665 00000 n 
+0000234880 00000 n 
+0000235075 00000 n 
+0000235289 00000 n 
+0000235484 00000 n 
+0000235699 00000 n 
+0000235880 00000 n 
+0000236086 00000 n 
+0000236258 00000 n 
+0000236452 00000 n 
+0000236841 00000 n 
+0000237048 00000 n 
+0000237221 00000 n 
+0000237428 00000 n 
+0000237600 00000 n 
+0000237806 00000 n 
+0000237979 00000 n 
+0000241904 00000 n 
+0000242110 00000 n 
+0000242282 00000 n 
+0000238174 00000 n 
+0000239170 00000 n 
+0000233506 00000 n 
+0000231453 00000 n 
+0000238348 00000 n 
+0000238407 00000 n 
+0000238466 00000 n 
+0000238525 00000 n 
+0000238583 00000 n 
+0000238642 00000 n 
+0000238701 00000 n 
+0000238875 00000 n 
+0000238934 00000 n 
+0000236646 00000 n 
+0000861308 00000 n 
+0000861889 00000 n 
+0000238993 00000 n 
+0000239052 00000 n 
+0000239111 00000 n 
+0000242476 00000 n 
+0000242683 00000 n 
+0000242878 00000 n 
+0000243085 00000 n 
+0000243279 00000 n 
+0000243474 00000 n 
+0000243678 00000 n 
+0000243871 00000 n 
+0000244065 00000 n 
+0000244412 00000 n 
+0000244618 00000 n 
+0000244812 00000 n 
+0000244985 00000 n 
+0000245192 00000 n 
+0000245387 00000 n 
+0000245560 00000 n 
+0000245767 00000 n 
+0000245962 00000 n 
+0000246169 00000 n 
+0000246364 00000 n 
+0000246571 00000 n 
+0000246766 00000 n 
+0000246972 00000 n 
+0000247165 00000 n 
+0000247372 00000 n 
+0000247567 00000 n 
+0000247773 00000 n 
+0000247946 00000 n 
+0000249001 00000 n 
+0000241481 00000 n 
+0000239349 00000 n 
+0000248120 00000 n 
+0000248179 00000 n 
+0000248238 00000 n 
+0000248297 00000 n 
+0000248356 00000 n 
+0000244238 00000 n 
+0000248415 00000 n 
+0000248474 00000 n 
+0000248531 00000 n 
+0000248590 00000 n 
+0000248649 00000 n 
+0000248708 00000 n 
+0000248767 00000 n 
+0000248826 00000 n 
+0000248885 00000 n 
+0000251455 00000 n 
+0000251687 00000 n 
+0000251885 00000 n 
+0000252117 00000 n 
+0000252513 00000 n 
+0000252708 00000 n 
+0000252939 00000 n 
+0000253335 00000 n 
+0000253530 00000 n 
+0000253760 00000 n 
+0000254148 00000 n 
+0000254379 00000 n 
+0000254768 00000 n 
+0000254963 00000 n 
+0000255195 00000 n 
+0000255591 00000 n 
+0000255823 00000 n 
+0000256212 00000 n 
+0000256406 00000 n 
+0000257282 00000 n 
+0000251095 00000 n 
+0000249139 00000 n 
+0000256580 00000 n 
+0000256696 00000 n 
+0000256755 00000 n 
+0000256814 00000 n 
+0000252315 00000 n 
+0000256872 00000 n 
+0000253137 00000 n 
+0000256930 00000 n 
+0000253954 00000 n 
+0000256989 00000 n 
+0000254574 00000 n 
+0000257048 00000 n 
+0000255393 00000 n 
+0000257107 00000 n 
+0000256018 00000 n 
+0000257166 00000 n 
+0000864974 00000 n 
+0000259813 00000 n 
+0000260028 00000 n 
+0000260209 00000 n 
+0000260424 00000 n 
+0000260605 00000 n 
+0000260819 00000 n 
+0000260999 00000 n 
+0000261388 00000 n 
+0000261603 00000 n 
+0000261784 00000 n 
+0000262174 00000 n 
+0000262389 00000 n 
+0000262570 00000 n 
+0000262960 00000 n 
+0000263175 00000 n 
+0000263370 00000 n 
+0000263585 00000 n 
+0000263780 00000 n 
+0000264170 00000 n 
+0000264384 00000 n 
+0000264577 00000 n 
+0000264791 00000 n 
+0000264985 00000 n 
+0000265200 00000 n 
+0000265395 00000 n 
+0000265791 00000 n 
+0000266005 00000 n 
+0000266199 00000 n 
+0000269935 00000 n 
+0000270150 00000 n 
+0000266592 00000 n 
+0000267588 00000 n 
+0000259363 00000 n 
+0000257433 00000 n 
+0000266766 00000 n 
+0000266882 00000 n 
+0000266941 00000 n 
+0000267000 00000 n 
+0000267058 00000 n 
+0000261193 00000 n 
+0000267117 00000 n 
+0000261979 00000 n 
+0000267176 00000 n 
+0000262765 00000 n 
+0000267235 00000 n 
+0000267294 00000 n 
+0000263975 00000 n 
+0000267353 00000 n 
+0000267412 00000 n 
+0000267471 00000 n 
+0000265593 00000 n 
+0000267530 00000 n 
+0000266396 00000 n 
+0000270345 00000 n 
+0000270560 00000 n 
+0000270739 00000 n 
+0000270954 00000 n 
+0000271133 00000 n 
+0000271523 00000 n 
+0000271738 00000 n 
+0000271933 00000 n 
+0000272147 00000 n 
+0000272340 00000 n 
+0000272555 00000 n 
+0000272750 00000 n 
+0000272965 00000 n 
+0000273159 00000 n 
+0000273374 00000 n 
+0000277200 00000 n 
+0000277407 00000 n 
+0000277580 00000 n 
+0000277775 00000 n 
+0000273555 00000 n 
+0000274433 00000 n 
+0000269629 00000 n 
+0000267739 00000 n 
+0000273729 00000 n 
+0000273788 00000 n 
+0000273847 00000 n 
+0000273906 00000 n 
+0000271328 00000 n 
+0000273965 00000 n 
+0000274023 00000 n 
+0000274082 00000 n 
+0000274141 00000 n 
+0000274200 00000 n 
+0000274259 00000 n 
+0000278164 00000 n 
+0000278371 00000 n 
+0000278544 00000 n 
+0000278750 00000 n 
+0000278922 00000 n 
+0000279129 00000 n 
+0000279302 00000 n 
+0000279497 00000 n 
+0000279704 00000 n 
+0000279877 00000 n 
+0000280072 00000 n 
+0000280279 00000 n 
+0000280474 00000 n 
+0000280680 00000 n 
+0000280874 00000 n 
+0000281067 00000 n 
+0000281274 00000 n 
+0000281469 00000 n 
+0000281676 00000 n 
+0000281871 00000 n 
+0000282065 00000 n 
+0000282413 00000 n 
+0000282619 00000 n 
+0000282813 00000 n 
+0000282986 00000 n 
+0000283192 00000 n 
+0000283386 00000 n 
+0000283593 00000 n 
+0000287158 00000 n 
+0000287365 00000 n 
+0000287560 00000 n 
+0000287767 00000 n 
+0000283788 00000 n 
+0000284785 00000 n 
+0000276750 00000 n 
+0000274584 00000 n 
+0000283962 00000 n 
+0000284021 00000 n 
+0000284080 00000 n 
+0000277970 00000 n 
+0000284139 00000 n 
+0000284197 00000 n 
+0000284256 00000 n 
+0000284314 00000 n 
+0000284373 00000 n 
+0000284432 00000 n 
+0000284491 00000 n 
+0000284550 00000 n 
+0000282239 00000 n 
+0000284609 00000 n 
+0000284668 00000 n 
+0000284726 00000 n 
+0000287962 00000 n 
+0000288168 00000 n 
+0000288361 00000 n 
+0000288568 00000 n 
+0000288740 00000 n 
+0000288971 00000 n 
+0000289168 00000 n 
+0000289398 00000 n 
+0000289791 00000 n 
+0000289985 00000 n 
+0000290215 00000 n 
+0000290607 00000 n 
+0000290800 00000 n 
+0000291031 00000 n 
+0000294665 00000 n 
+0000294896 00000 n 
+0000295285 00000 n 
+0000291226 00000 n 
+0000292165 00000 n 
+0000286834 00000 n 
+0000284950 00000 n 
+0000291400 00000 n 
+0000291459 00000 n 
+0000291518 00000 n 
+0000291577 00000 n 
+0000291636 00000 n 
+0000291695 00000 n 
+0000291870 00000 n 
+0000291929 00000 n 
+0000291988 00000 n 
+0000289595 00000 n 
+0000292047 00000 n 
+0000290411 00000 n 
+0000292106 00000 n 
+0000295480 00000 n 
+0000295711 00000 n 
+0000296104 00000 n 
+0000296335 00000 n 
+0000296724 00000 n 
+0000296918 00000 n 
+0000297132 00000 n 
+0000297312 00000 n 
+0000297526 00000 n 
+0000297706 00000 n 
+0000298096 00000 n 
+0000298310 00000 n 
+0000298490 00000 n 
+0000298880 00000 n 
+0000299094 00000 n 
+0000299274 00000 n 
+0000303128 00000 n 
+0000303342 00000 n 
+0000299662 00000 n 
+0000300542 00000 n 
+0000294296 00000 n 
+0000292316 00000 n 
+0000299836 00000 n 
+0000299895 00000 n 
+0000295091 00000 n 
+0000299954 00000 n 
+0000295908 00000 n 
+0000300013 00000 n 
+0000296530 00000 n 
+0000300072 00000 n 
+0000300247 00000 n 
+0000300306 00000 n 
+0000300365 00000 n 
+0000297901 00000 n 
+0000300424 00000 n 
+0000298685 00000 n 
+0000300483 00000 n 
+0000299469 00000 n 
+0000303535 00000 n 
+0000303748 00000 n 
+0000303942 00000 n 
+0000304331 00000 n 
+0000304544 00000 n 
+0000304739 00000 n 
+0000304953 00000 n 
+0000305148 00000 n 
+0000305541 00000 n 
+0000305754 00000 n 
+0000305948 00000 n 
+0000306340 00000 n 
+0000306553 00000 n 
+0000306748 00000 n 
+0000306962 00000 n 
+0000307142 00000 n 
+0000307356 00000 n 
+0000307536 00000 n 
+0000307926 00000 n 
+0000308140 00000 n 
+0000308335 00000 n 
+0000308549 00000 n 
+0000308744 00000 n 
+0000308957 00000 n 
+0000309151 00000 n 
+0000309365 00000 n 
+0000309560 00000 n 
+0000309774 00000 n 
+0000309954 00000 n 
+0000310954 00000 n 
+0000302678 00000 n 
+0000300693 00000 n 
+0000310128 00000 n 
+0000310187 00000 n 
+0000310246 00000 n 
+0000304136 00000 n 
+0000310305 00000 n 
+0000310364 00000 n 
+0000305344 00000 n 
+0000310423 00000 n 
+0000306143 00000 n 
+0000310482 00000 n 
+0000310541 00000 n 
+0000310600 00000 n 
+0000307731 00000 n 
+0000310659 00000 n 
+0000310718 00000 n 
+0000310777 00000 n 
+0000310836 00000 n 
+0000310895 00000 n 
+0000865099 00000 n 
+0000313667 00000 n 
+0000313873 00000 n 
+0000314045 00000 n 
+0000314240 00000 n 
+0000314630 00000 n 
+0000314825 00000 n 
+0000315031 00000 n 
+0000315203 00000 n 
+0000315409 00000 n 
+0000315581 00000 n 
+0000315787 00000 n 
+0000315959 00000 n 
+0000316154 00000 n 
+0000316359 00000 n 
+0000316531 00000 n 
+0000316726 00000 n 
+0000316932 00000 n 
+0000317127 00000 n 
+0000317333 00000 n 
+0000317527 00000 n 
+0000317722 00000 n 
+0000317927 00000 n 
+0000321447 00000 n 
+0000321653 00000 n 
+0000321848 00000 n 
+0000322043 00000 n 
+0000318121 00000 n 
+0000319058 00000 n 
+0000313316 00000 n 
+0000311092 00000 n 
+0000318295 00000 n 
+0000318354 00000 n 
+0000318528 00000 n 
+0000318587 00000 n 
+0000314435 00000 n 
+0000318646 00000 n 
+0000862756 00000 n 
+0000861599 00000 n 
+0000318705 00000 n 
+0000318764 00000 n 
+0000318823 00000 n 
+0000318882 00000 n 
+0000318941 00000 n 
+0000318999 00000 n 
+0000322391 00000 n 
+0000322595 00000 n 
+0000322789 00000 n 
+0000322962 00000 n 
+0000323168 00000 n 
+0000323363 00000 n 
+0000323569 00000 n 
+0000323763 00000 n 
+0000323969 00000 n 
+0000324164 00000 n 
+0000324370 00000 n 
+0000324565 00000 n 
+0000324770 00000 n 
+0000324965 00000 n 
+0000325171 00000 n 
+0000328727 00000 n 
+0000328963 00000 n 
+0000329368 00000 n 
+0000329841 00000 n 
+0000330043 00000 n 
+0000325343 00000 n 
+0000326280 00000 n 
+0000321123 00000 n 
+0000319237 00000 n 
+0000325517 00000 n 
+0000325576 00000 n 
+0000322217 00000 n 
+0000325635 00000 n 
+0000325694 00000 n 
+0000325753 00000 n 
+0000325812 00000 n 
+0000325871 00000 n 
+0000325930 00000 n 
+0000325988 00000 n 
+0000326047 00000 n 
+0000326221 00000 n 
+0000330432 00000 n 
+0000330906 00000 n 
+0000331109 00000 n 
+0000331499 00000 n 
+0000331735 00000 n 
+0000332125 00000 n 
+0000332362 00000 n 
+0000332752 00000 n 
+0000332947 00000 n 
+0000333184 00000 n 
+0000333588 00000 n 
+0000333824 00000 n 
+0000334214 00000 n 
+0000334409 00000 n 
+0000335228 00000 n 
+0000328340 00000 n 
+0000326431 00000 n 
+0000334583 00000 n 
+0000334642 00000 n 
+0000329166 00000 n 
+0000334701 00000 n 
+0000329605 00000 n 
+0000330237 00000 n 
+0000334760 00000 n 
+0000330669 00000 n 
+0000331304 00000 n 
+0000334819 00000 n 
+0000331930 00000 n 
+0000334878 00000 n 
+0000332557 00000 n 
+0000334935 00000 n 
+0000333387 00000 n 
+0000334994 00000 n 
+0000334019 00000 n 
+0000335053 00000 n 
+0000337811 00000 n 
+0000338031 00000 n 
+0000338217 00000 n 
+0000338437 00000 n 
+0000338623 00000 n 
+0000338818 00000 n 
+0000339038 00000 n 
+0000339410 00000 n 
+0000339605 00000 n 
+0000339824 00000 n 
+0000340195 00000 n 
+0000340389 00000 n 
+0000340608 00000 n 
+0000340802 00000 n 
+0000341021 00000 n 
+0000341215 00000 n 
+0000341410 00000 n 
+0000341630 00000 n 
+0000341825 00000 n 
+0000342045 00000 n 
+0000342240 00000 n 
+0000342645 00000 n 
+0000342865 00000 n 
+0000343059 00000 n 
+0000343464 00000 n 
+0000343684 00000 n 
+0000343879 00000 n 
+0000344099 00000 n 
+0000347784 00000 n 
+0000348004 00000 n 
+0000348188 00000 n 
+0000344283 00000 n 
+0000345222 00000 n 
+0000337379 00000 n 
+0000335379 00000 n 
+0000344457 00000 n 
+0000344516 00000 n 
+0000344575 00000 n 
+0000344634 00000 n 
+0000344693 00000 n 
+0000339224 00000 n 
+0000344751 00000 n 
+0000340010 00000 n 
+0000344810 00000 n 
+0000344868 00000 n 
+0000344927 00000 n 
+0000344986 00000 n 
+0000342442 00000 n 
+0000345045 00000 n 
+0000343261 00000 n 
+0000345104 00000 n 
+0000345163 00000 n 
+0000348383 00000 n 
+0000348603 00000 n 
+0000348798 00000 n 
+0000349018 00000 n 
+0000349213 00000 n 
+0000349433 00000 n 
+0000349628 00000 n 
+0000349847 00000 n 
+0000350041 00000 n 
+0000350260 00000 n 
+0000350443 00000 n 
+0000350655 00000 n 
+0000350833 00000 n 
+0000351028 00000 n 
+0000351223 00000 n 
+0000355099 00000 n 
+0000355310 00000 n 
+0000351418 00000 n 
+0000352297 00000 n 
+0000347478 00000 n 
+0000345360 00000 n 
+0000351592 00000 n 
+0000351651 00000 n 
+0000351710 00000 n 
+0000351769 00000 n 
+0000351828 00000 n 
+0000351887 00000 n 
+0000351946 00000 n 
+0000352005 00000 n 
+0000352179 00000 n 
+0000352238 00000 n 
+0000355487 00000 n 
+0000355698 00000 n 
+0000355876 00000 n 
+0000356265 00000 n 
+0000356477 00000 n 
+0000356655 00000 n 
+0000357045 00000 n 
+0000357257 00000 n 
+0000357452 00000 n 
+0000357663 00000 n 
+0000357857 00000 n 
+0000358050 00000 n 
+0000358262 00000 n 
+0000358457 00000 n 
+0000358669 00000 n 
+0000358864 00000 n 
+0000359059 00000 n 
+0000359233 00000 n 
+0000359445 00000 n 
+0000359639 00000 n 
+0000359813 00000 n 
+0000360024 00000 n 
+0000360218 00000 n 
+0000360430 00000 n 
+0000360625 00000 n 
+0000360837 00000 n 
+0000361032 00000 n 
+0000361244 00000 n 
+0000361439 00000 n 
+0000361651 00000 n 
+0000361846 00000 n 
+0000362058 00000 n 
+0000362236 00000 n 
+0000363291 00000 n 
+0000354631 00000 n 
+0000352448 00000 n 
+0000362410 00000 n 
+0000362469 00000 n 
+0000362528 00000 n 
+0000356071 00000 n 
+0000362586 00000 n 
+0000356850 00000 n 
+0000362644 00000 n 
+0000362703 00000 n 
+0000362762 00000 n 
+0000362821 00000 n 
+0000362880 00000 n 
+0000362939 00000 n 
+0000362997 00000 n 
+0000363056 00000 n 
+0000363115 00000 n 
+0000363174 00000 n 
+0000363232 00000 n 
+0000865224 00000 n 
+0000365780 00000 n 
+0000365995 00000 n 
+0000366176 00000 n 
+0000366391 00000 n 
+0000366571 00000 n 
+0000366961 00000 n 
+0000367174 00000 n 
+0000367354 00000 n 
+0000367744 00000 n 
+0000367958 00000 n 
+0000368138 00000 n 
+0000368527 00000 n 
+0000368742 00000 n 
+0000368923 00000 n 
+0000369313 00000 n 
+0000369527 00000 n 
+0000369708 00000 n 
+0000370098 00000 n 
+0000370313 00000 n 
+0000370494 00000 n 
+0000374398 00000 n 
+0000374613 00000 n 
+0000374794 00000 n 
+0000370882 00000 n 
+0000371762 00000 n 
+0000365402 00000 n 
+0000363457 00000 n 
+0000371056 00000 n 
+0000371115 00000 n 
+0000371290 00000 n 
+0000371349 00000 n 
+0000371408 00000 n 
+0000366766 00000 n 
+0000371467 00000 n 
+0000367549 00000 n 
+0000371526 00000 n 
+0000368332 00000 n 
+0000371585 00000 n 
+0000369118 00000 n 
+0000371644 00000 n 
+0000369903 00000 n 
+0000371703 00000 n 
+0000370689 00000 n 
+0000375184 00000 n 
+0000375399 00000 n 
+0000375594 00000 n 
+0000375809 00000 n 
+0000376004 00000 n 
+0000376394 00000 n 
+0000376609 00000 n 
+0000376804 00000 n 
+0000376998 00000 n 
+0000377172 00000 n 
+0000377387 00000 n 
+0000377582 00000 n 
+0000377930 00000 n 
+0000378145 00000 n 
+0000378340 00000 n 
+0000378555 00000 n 
+0000378750 00000 n 
+0000378965 00000 n 
+0000379355 00000 n 
+0000379569 00000 n 
+0000379750 00000 n 
+0000379944 00000 n 
+0000380138 00000 n 
+0000380353 00000 n 
+0000380534 00000 n 
+0000380924 00000 n 
+0000381139 00000 n 
+0000381320 00000 n 
+0000381709 00000 n 
+0000381924 00000 n 
+0000382105 00000 n 
+0000385399 00000 n 
+0000385614 00000 n 
+0000385795 00000 n 
+0000382300 00000 n 
+0000383240 00000 n 
+0000373894 00000 n 
+0000371913 00000 n 
+0000382474 00000 n 
+0000382533 00000 n 
+0000374989 00000 n 
+0000382592 00000 n 
+0000382651 00000 n 
+0000376199 00000 n 
+0000382710 00000 n 
+0000382769 00000 n 
+0000377756 00000 n 
+0000382828 00000 n 
+0000382887 00000 n 
+0000382945 00000 n 
+0000379160 00000 n 
+0000383004 00000 n 
+0000383063 00000 n 
+0000380729 00000 n 
+0000383122 00000 n 
+0000381515 00000 n 
+0000383181 00000 n 
+0000386185 00000 n 
+0000386399 00000 n 
+0000386593 00000 n 
+0000386808 00000 n 
+0000387003 00000 n 
+0000387216 00000 n 
+0000387410 00000 n 
+0000387625 00000 n 
+0000387820 00000 n 
+0000388035 00000 n 
+0000388216 00000 n 
+0000388425 00000 n 
+0000388634 00000 n 
+0000392337 00000 n 
+0000388841 00000 n 
+0000389838 00000 n 
+0000385102 00000 n 
+0000383405 00000 n 
+0000389015 00000 n 
+0000389074 00000 n 
+0000385990 00000 n 
+0000389133 00000 n 
+0000389192 00000 n 
+0000389251 00000 n 
+0000389310 00000 n 
+0000389369 00000 n 
+0000389428 00000 n 
+0000389603 00000 n 
+0000389662 00000 n 
+0000389720 00000 n 
+0000389779 00000 n 
+0000392546 00000 n 
+0000392754 00000 n 
+0000392963 00000 n 
+0000393171 00000 n 
+0000393380 00000 n 
+0000393589 00000 n 
+0000393798 00000 n 
+0000393973 00000 n 
+0000394361 00000 n 
+0000394570 00000 n 
+0000394744 00000 n 
+0000394938 00000 n 
+0000395327 00000 n 
+0000395521 00000 n 
+0000395730 00000 n 
+0000395904 00000 n 
+0000396292 00000 n 
+0000396501 00000 n 
+0000396676 00000 n 
+0000397066 00000 n 
+0000397275 00000 n 
+0000397470 00000 n 
+0000397679 00000 n 
+0000397872 00000 n 
+0000398066 00000 n 
+0000398274 00000 n 
+0000398468 00000 n 
+0000402592 00000 n 
+0000402801 00000 n 
+0000402996 00000 n 
+0000398661 00000 n 
+0000399659 00000 n 
+0000391905 00000 n 
+0000389989 00000 n 
+0000398835 00000 n 
+0000398894 00000 n 
+0000398953 00000 n 
+0000399012 00000 n 
+0000399070 00000 n 
+0000399129 00000 n 
+0000399188 00000 n 
+0000399247 00000 n 
+0000394168 00000 n 
+0000399306 00000 n 
+0000395133 00000 n 
+0000399364 00000 n 
+0000396099 00000 n 
+0000399423 00000 n 
+0000396871 00000 n 
+0000399482 00000 n 
+0000399541 00000 n 
+0000399600 00000 n 
+0000403386 00000 n 
+0000403594 00000 n 
+0000403788 00000 n 
+0000404177 00000 n 
+0000404384 00000 n 
+0000404578 00000 n 
+0000404772 00000 n 
+0000404967 00000 n 
+0000405175 00000 n 
+0000405369 00000 n 
+0000405758 00000 n 
+0000405967 00000 n 
+0000406162 00000 n 
+0000406371 00000 n 
+0000406566 00000 n 
+0000406775 00000 n 
+0000406950 00000 n 
+0000407158 00000 n 
+0000407332 00000 n 
+0000407721 00000 n 
+0000407930 00000 n 
+0000408105 00000 n 
+0000408495 00000 n 
+0000408703 00000 n 
+0000408877 00000 n 
+0000409072 00000 n 
+0000409280 00000 n 
+0000409454 00000 n 
+0000409843 00000 n 
+0000410052 00000 n 
+0000410227 00000 n 
+0000413997 00000 n 
+0000414206 00000 n 
+0000410617 00000 n 
+0000411555 00000 n 
+0000402079 00000 n 
+0000399797 00000 n 
+0000410791 00000 n 
+0000410850 00000 n 
+0000403191 00000 n 
+0000410908 00000 n 
+0000403982 00000 n 
+0000410967 00000 n 
+0000411026 00000 n 
+0000405563 00000 n 
+0000411085 00000 n 
+0000411144 00000 n 
+0000411203 00000 n 
+0000411262 00000 n 
+0000407526 00000 n 
+0000411320 00000 n 
+0000408300 00000 n 
+0000411379 00000 n 
+0000411438 00000 n 
+0000409648 00000 n 
+0000411496 00000 n 
+0000410422 00000 n 
+0000414381 00000 n 
+0000414590 00000 n 
+0000414785 00000 n 
+0000414994 00000 n 
+0000415189 00000 n 
+0000415397 00000 n 
+0000415591 00000 n 
+0000415980 00000 n 
+0000416153 00000 n 
+0000416327 00000 n 
+0000416536 00000 n 
+0000416731 00000 n 
+0000417120 00000 n 
+0000417329 00000 n 
+0000417524 00000 n 
+0000417913 00000 n 
+0000418122 00000 n 
+0000418317 00000 n 
+0000418490 00000 n 
+0000418664 00000 n 
+0000418873 00000 n 
+0000419068 00000 n 
+0000419276 00000 n 
+0000419450 00000 n 
+0000419659 00000 n 
+0000419853 00000 n 
+0000420062 00000 n 
+0000420257 00000 n 
+0000420466 00000 n 
+0000420661 00000 n 
+0000420869 00000 n 
+0000421064 00000 n 
+0000421271 00000 n 
+0000424592 00000 n 
+0000424801 00000 n 
+0000424995 00000 n 
+0000425203 00000 n 
+0000421463 00000 n 
+0000422345 00000 n 
+0000413511 00000 n 
+0000411693 00000 n 
+0000421637 00000 n 
+0000421696 00000 n 
+0000421755 00000 n 
+0000415785 00000 n 
+0000421814 00000 n 
+0000416926 00000 n 
+0000421873 00000 n 
+0000417719 00000 n 
+0000421932 00000 n 
+0000421991 00000 n 
+0000422050 00000 n 
+0000422109 00000 n 
+0000422168 00000 n 
+0000422227 00000 n 
+0000422286 00000 n 
+0000865349 00000 n 
+0000425846 00000 n 
+0000425964 00000 n 
+0000426082 00000 n 
+0000425377 00000 n 
+0000426200 00000 n 
+0000424412 00000 n 
+0000422496 00000 n 
+0000425551 00000 n 
+0000425610 00000 n 
+0000425669 00000 n 
+0000425728 00000 n 
+0000425787 00000 n 
+0000425905 00000 n 
+0000862902 00000 n 
+0000426023 00000 n 
+0000426141 00000 n 
+0000428446 00000 n 
+0000428660 00000 n 
+0000428853 00000 n 
+0000429239 00000 n 
+0000429455 00000 n 
+0000429650 00000 n 
+0000429866 00000 n 
+0000430061 00000 n 
+0000430277 00000 n 
+0000430471 00000 n 
+0000430687 00000 n 
+0000430880 00000 n 
+0000431096 00000 n 
+0000431278 00000 n 
+0000432155 00000 n 
+0000428176 00000 n 
+0000426365 00000 n 
+0000431452 00000 n 
+0000431627 00000 n 
+0000431685 00000 n 
+0000429046 00000 n 
+0000431744 00000 n 
+0000431803 00000 n 
+0000431862 00000 n 
+0000431921 00000 n 
+0000431980 00000 n 
+0000432039 00000 n 
+0000434185 00000 n 
+0000434393 00000 n 
+0000434602 00000 n 
+0000434811 00000 n 
+0000435019 00000 n 
+0000435228 00000 n 
+0000435435 00000 n 
+0000435644 00000 n 
+0000435853 00000 n 
+0000436271 00000 n 
+0000436480 00000 n 
+0000436655 00000 n 
+0000437044 00000 n 
+0000437253 00000 n 
+0000437427 00000 n 
+0000437816 00000 n 
+0000438024 00000 n 
+0000438198 00000 n 
+0000442632 00000 n 
+0000442841 00000 n 
+0000443016 00000 n 
+0000443210 00000 n 
+0000443408 00000 n 
+0000443606 00000 n 
+0000438585 00000 n 
+0000439640 00000 n 
+0000433843 00000 n 
+0000432319 00000 n 
+0000438759 00000 n 
+0000438876 00000 n 
+0000438935 00000 n 
+0000438993 00000 n 
+0000439052 00000 n 
+0000439111 00000 n 
+0000439169 00000 n 
+0000439228 00000 n 
+0000439287 00000 n 
+0000439346 00000 n 
+0000439405 00000 n 
+0000436062 00000 n 
+0000439464 00000 n 
+0000436850 00000 n 
+0000439523 00000 n 
+0000437622 00000 n 
+0000439582 00000 n 
+0000438392 00000 n 
+0000443800 00000 n 
+0000444009 00000 n 
+0000444204 00000 n 
+0000444413 00000 n 
+0000444608 00000 n 
+0000444802 00000 n 
+0000445011 00000 n 
+0000445206 00000 n 
+0000445401 00000 n 
+0000445609 00000 n 
+0000445803 00000 n 
+0000446192 00000 n 
+0000446400 00000 n 
+0000446594 00000 n 
+0000446983 00000 n 
+0000447191 00000 n 
+0000447386 00000 n 
+0000447776 00000 n 
+0000447984 00000 n 
+0000448178 00000 n 
+0000448371 00000 n 
+0000448566 00000 n 
+0000448774 00000 n 
+0000448968 00000 n 
+0000449177 00000 n 
+0000449371 00000 n 
+0000449579 00000 n 
+0000449773 00000 n 
+0000449979 00000 n 
+0000453706 00000 n 
+0000453913 00000 n 
+0000454087 00000 n 
+0000454475 00000 n 
+0000450152 00000 n 
+0000451033 00000 n 
+0000442146 00000 n 
+0000439791 00000 n 
+0000450326 00000 n 
+0000450385 00000 n 
+0000450444 00000 n 
+0000450502 00000 n 
+0000450561 00000 n 
+0000445997 00000 n 
+0000450620 00000 n 
+0000446788 00000 n 
+0000450679 00000 n 
+0000447581 00000 n 
+0000450738 00000 n 
+0000450797 00000 n 
+0000450856 00000 n 
+0000450915 00000 n 
+0000450974 00000 n 
+0000466384 00000 n 
+0000454669 00000 n 
+0000454877 00000 n 
+0000455051 00000 n 
+0000455440 00000 n 
+0000455649 00000 n 
+0000455824 00000 n 
+0000456214 00000 n 
+0000456423 00000 n 
+0000456598 00000 n 
+0000456791 00000 n 
+0000456999 00000 n 
+0000457173 00000 n 
+0000457367 00000 n 
+0000457575 00000 n 
+0000457769 00000 n 
+0000457978 00000 n 
+0000458171 00000 n 
+0000458380 00000 n 
+0000458575 00000 n 
+0000458964 00000 n 
+0000459173 00000 n 
+0000459368 00000 n 
+0000459758 00000 n 
+0000459966 00000 n 
+0000460159 00000 n 
+0000460368 00000 n 
+0000460543 00000 n 
+0000460751 00000 n 
+0000464203 00000 n 
+0000464412 00000 n 
+0000464607 00000 n 
+0000464816 00000 n 
+0000460943 00000 n 
+0000461765 00000 n 
+0000453229 00000 n 
+0000451212 00000 n 
+0000461117 00000 n 
+0000454281 00000 n 
+0000461176 00000 n 
+0000455245 00000 n 
+0000461235 00000 n 
+0000456019 00000 n 
+0000461294 00000 n 
+0000461353 00000 n 
+0000461412 00000 n 
+0000461471 00000 n 
+0000458770 00000 n 
+0000461530 00000 n 
+0000459563 00000 n 
+0000461589 00000 n 
+0000461648 00000 n 
+0000461706 00000 n 
+0000466502 00000 n 
+0000466625 00000 n 
+0000465011 00000 n 
+0000465219 00000 n 
+0000465414 00000 n 
+0000465623 00000 n 
+0000465798 00000 n 
+0000466689 00000 n 
+0000463987 00000 n 
+0000461903 00000 n 
+0000465972 00000 n 
+0000466031 00000 n 
+0000466090 00000 n 
+0000466149 00000 n 
+0000466208 00000 n 
+0000466267 00000 n 
+0000466326 00000 n 
+0000466443 00000 n 
+0000466566 00000 n 
+0000865474 00000 n 
+0000469062 00000 n 
+0000469278 00000 n 
+0000469472 00000 n 
+0000469861 00000 n 
+0000470056 00000 n 
+0000470272 00000 n 
+0000470465 00000 n 
+0000470681 00000 n 
+0000470876 00000 n 
+0000471092 00000 n 
+0000471287 00000 n 
+0000471503 00000 n 
+0000471698 00000 n 
+0000471914 00000 n 
+0000472096 00000 n 
+0000472916 00000 n 
+0000468783 00000 n 
+0000466854 00000 n 
+0000472270 00000 n 
+0000472329 00000 n 
+0000472504 00000 n 
+0000469667 00000 n 
+0000472563 00000 n 
+0000472622 00000 n 
+0000472681 00000 n 
+0000472740 00000 n 
+0000472799 00000 n 
+0000472858 00000 n 
+0000478547 00000 n 
+0000475466 00000 n 
+0000475677 00000 n 
+0000475871 00000 n 
+0000476259 00000 n 
+0000476470 00000 n 
+0000476665 00000 n 
+0000477054 00000 n 
+0000477266 00000 n 
+0000477461 00000 n 
+0000477850 00000 n 
+0000478062 00000 n 
+0000481474 00000 n 
+0000481686 00000 n 
+0000481881 00000 n 
+0000478255 00000 n 
+0000479075 00000 n 
+0000475196 00000 n 
+0000473094 00000 n 
+0000478429 00000 n 
+0000478488 00000 n 
+0000478606 00000 n 
+0000478781 00000 n 
+0000478840 00000 n 
+0000476065 00000 n 
+0000478899 00000 n 
+0000476860 00000 n 
+0000478957 00000 n 
+0000477656 00000 n 
+0000479016 00000 n 
+0000482269 00000 n 
+0000482481 00000 n 
+0000482676 00000 n 
+0000483095 00000 n 
+0000483307 00000 n 
+0000483502 00000 n 
+0000483923 00000 n 
+0000484135 00000 n 
+0000484326 00000 n 
+0000484538 00000 n 
+0000484733 00000 n 
+0000484945 00000 n 
+0000485140 00000 n 
+0000485350 00000 n 
+0000485544 00000 n 
+0000485756 00000 n 
+0000485934 00000 n 
+0000489385 00000 n 
+0000489632 00000 n 
+0000486130 00000 n 
+0000487007 00000 n 
+0000481123 00000 n 
+0000479253 00000 n 
+0000486304 00000 n 
+0000486363 00000 n 
+0000482076 00000 n 
+0000486422 00000 n 
+0000482887 00000 n 
+0000486481 00000 n 
+0000483713 00000 n 
+0000486540 00000 n 
+0000486598 00000 n 
+0000486655 00000 n 
+0000486714 00000 n 
+0000486773 00000 n 
+0000486832 00000 n 
+0000490054 00000 n 
+0000490300 00000 n 
+0000490726 00000 n 
+0000491116 00000 n 
+0000491363 00000 n 
+0000491753 00000 n 
+0000491966 00000 n 
+0000492213 00000 n 
+0000492602 00000 n 
+0000492814 00000 n 
+0000493061 00000 n 
+0000493451 00000 n 
+0000493698 00000 n 
+0000494087 00000 n 
+0000494281 00000 n 
+0000494528 00000 n 
+0000494954 00000 n 
+0000495200 00000 n 
+0000495625 00000 n 
+0000495871 00000 n 
+0000496260 00000 n 
+0000496649 00000 n 
+0000496843 00000 n 
+0000497664 00000 n 
+0000488926 00000 n 
+0000487145 00000 n 
+0000497017 00000 n 
+0000497076 00000 n 
+0000497135 00000 n 
+0000489845 00000 n 
+0000497194 00000 n 
+0000490513 00000 n 
+0000490921 00000 n 
+0000497253 00000 n 
+0000491558 00000 n 
+0000497312 00000 n 
+0000492408 00000 n 
+0000497371 00000 n 
+0000493256 00000 n 
+0000493892 00000 n 
+0000497430 00000 n 
+0000494741 00000 n 
+0000497489 00000 n 
+0000495412 00000 n 
+0000497548 00000 n 
+0000496065 00000 n 
+0000496454 00000 n 
+0000497605 00000 n 
+0000504128 00000 n 
+0000500035 00000 n 
+0000500231 00000 n 
+0000500471 00000 n 
+0000500883 00000 n 
+0000501123 00000 n 
+0000501535 00000 n 
+0000501730 00000 n 
+0000501970 00000 n 
+0000502362 00000 n 
+0000502567 00000 n 
+0000502807 00000 n 
+0000503002 00000 n 
+0000503208 00000 n 
+0000503447 00000 n 
+0000507185 00000 n 
+0000507424 00000 n 
+0000507814 00000 n 
+0000503836 00000 n 
+0000504715 00000 n 
+0000499729 00000 n 
+0000497802 00000 n 
+0000504010 00000 n 
+0000504069 00000 n 
+0000504187 00000 n 
+0000504362 00000 n 
+0000504420 00000 n 
+0000500677 00000 n 
+0000504479 00000 n 
+0000501329 00000 n 
+0000504538 00000 n 
+0000502166 00000 n 
+0000504597 00000 n 
+0000504656 00000 n 
+0000503642 00000 n 
+0000508008 00000 n 
+0000508247 00000 n 
+0000508659 00000 n 
+0000508899 00000 n 
+0000509310 00000 n 
+0000509550 00000 n 
+0000509940 00000 n 
+0000510135 00000 n 
+0000510330 00000 n 
+0000511088 00000 n 
+0000506906 00000 n 
+0000504880 00000 n 
+0000510504 00000 n 
+0000507619 00000 n 
+0000510563 00000 n 
+0000508453 00000 n 
+0000510622 00000 n 
+0000509105 00000 n 
+0000510681 00000 n 
+0000509745 00000 n 
+0000510740 00000 n 
+0000510799 00000 n 
+0000510858 00000 n 
+0000510915 00000 n 
+0000865599 00000 n 
+0000513916 00000 n 
+0000514146 00000 n 
+0000514536 00000 n 
+0000514766 00000 n 
+0000515155 00000 n 
+0000515615 00000 n 
+0000515810 00000 n 
+0000516200 00000 n 
+0000516658 00000 n 
+0000516853 00000 n 
+0000517242 00000 n 
+0000517472 00000 n 
+0000517864 00000 n 
+0000518059 00000 n 
+0000518289 00000 n 
+0000518681 00000 n 
+0000518876 00000 n 
+0000519287 00000 n 
+0000519516 00000 n 
+0000519907 00000 n 
+0000520101 00000 n 
+0000520488 00000 n 
+0000520718 00000 n 
+0000521110 00000 n 
+0000521874 00000 n 
+0000513457 00000 n 
+0000511253 00000 n 
+0000521284 00000 n 
+0000521343 00000 n 
+0000521402 00000 n 
+0000514341 00000 n 
+0000514960 00000 n 
+0000521461 00000 n 
+0000515385 00000 n 
+0000516005 00000 n 
+0000521520 00000 n 
+0000516428 00000 n 
+0000517048 00000 n 
+0000521579 00000 n 
+0000517668 00000 n 
+0000521638 00000 n 
+0000518485 00000 n 
+0000519082 00000 n 
+0000521697 00000 n 
+0000519711 00000 n 
+0000520296 00000 n 
+0000521756 00000 n 
+0000520914 00000 n 
+0000521815 00000 n 
+0000529047 00000 n 
+0000524363 00000 n 
+0000524570 00000 n 
+0000524743 00000 n 
+0000525133 00000 n 
+0000525340 00000 n 
+0000525513 00000 n 
+0000525903 00000 n 
+0000526110 00000 n 
+0000526283 00000 n 
+0000526478 00000 n 
+0000526685 00000 n 
+0000526858 00000 n 
+0000527248 00000 n 
+0000527455 00000 n 
+0000527628 00000 n 
+0000527990 00000 n 
+0000528196 00000 n 
+0000528368 00000 n 
+0000528755 00000 n 
+0000529458 00000 n 
+0000524012 00000 n 
+0000522012 00000 n 
+0000528929 00000 n 
+0000528988 00000 n 
+0000529106 00000 n 
+0000529281 00000 n 
+0000529340 00000 n 
+0000524938 00000 n 
+0000529399 00000 n 
+0000525708 00000 n 
+0000527053 00000 n 
+0000527809 00000 n 
+0000528562 00000 n 
+0000643774 00000 n 
+0000643892 00000 n 
+0000644010 00000 n 
+0000646341 00000 n 
+0000532174 00000 n 
+0000532380 00000 n 
+0000532553 00000 n 
+0000532914 00000 n 
+0000533121 00000 n 
+0000533294 00000 n 
+0000533684 00000 n 
+0000533891 00000 n 
+0000534063 00000 n 
+0000534453 00000 n 
+0000534659 00000 n 
+0000534831 00000 n 
+0000535220 00000 n 
+0000535425 00000 n 
+0000535770 00000 n 
+0000535965 00000 n 
+0000536172 00000 n 
+0000536345 00000 n 
+0000536735 00000 n 
+0000536942 00000 n 
+0000537115 00000 n 
+0000537477 00000 n 
+0000537682 00000 n 
+0000537854 00000 n 
+0000538243 00000 n 
+0000538450 00000 n 
+0000538623 00000 n 
+0000538985 00000 n 
+0000539192 00000 n 
+0000539365 00000 n 
+0000539755 00000 n 
+0000540223 00000 n 
+0000531670 00000 n 
+0000529623 00000 n 
+0000539929 00000 n 
+0000532734 00000 n 
+0000539988 00000 n 
+0000533489 00000 n 
+0000540047 00000 n 
+0000534258 00000 n 
+0000540105 00000 n 
+0000535025 00000 n 
+0000535597 00000 n 
+0000536540 00000 n 
+0000537296 00000 n 
+0000538048 00000 n 
+0000538804 00000 n 
+0000540164 00000 n 
+0000539560 00000 n 
+0000646459 00000 n 
+0000646582 00000 n 
+0000646700 00000 n 
+0000646818 00000 n 
+0000649260 00000 n 
+0000649378 00000 n 
+0000543257 00000 n 
+0000543464 00000 n 
+0000543637 00000 n 
+0000544026 00000 n 
+0000544233 00000 n 
+0000544406 00000 n 
+0000544600 00000 n 
+0000544807 00000 n 
+0000544980 00000 n 
+0000545370 00000 n 
+0000545576 00000 n 
+0000545748 00000 n 
+0000545943 00000 n 
+0000546150 00000 n 
+0000546345 00000 n 
+0000546552 00000 n 
+0000546747 00000 n 
+0000546942 00000 n 
+0000547148 00000 n 
+0000547342 00000 n 
+0000547536 00000 n 
+0000547743 00000 n 
+0000547938 00000 n 
+0000548328 00000 n 
+0000548535 00000 n 
+0000548730 00000 n 
+0000549119 00000 n 
+0000549324 00000 n 
+0000549517 00000 n 
+0000553268 00000 n 
+0000553474 00000 n 
+0000553668 00000 n 
+0000549903 00000 n 
+0000550489 00000 n 
+0000542807 00000 n 
+0000540361 00000 n 
+0000550077 00000 n 
+0000550136 00000 n 
+0000543832 00000 n 
+0000550195 00000 n 
+0000545175 00000 n 
+0000550254 00000 n 
+0000550313 00000 n 
+0000550371 00000 n 
+0000548133 00000 n 
+0000548925 00000 n 
+0000550430 00000 n 
+0000549710 00000 n 
+0000649501 00000 n 
+0000649619 00000 n 
+0000652569 00000 n 
+0000652685 00000 n 
+0000554056 00000 n 
+0000554262 00000 n 
+0000554457 00000 n 
+0000554847 00000 n 
+0000555054 00000 n 
+0000555249 00000 n 
+0000555638 00000 n 
+0000555845 00000 n 
+0000556040 00000 n 
+0000556247 00000 n 
+0000556442 00000 n 
+0000556649 00000 n 
+0000556843 00000 n 
+0000557049 00000 n 
+0000557242 00000 n 
+0000557449 00000 n 
+0000557643 00000 n 
+0000557849 00000 n 
+0000558044 00000 n 
+0000558251 00000 n 
+0000558424 00000 n 
+0000558618 00000 n 
+0000558824 00000 n 
+0000559018 00000 n 
+0000559407 00000 n 
+0000559613 00000 n 
+0000559808 00000 n 
+0000560198 00000 n 
+0000560405 00000 n 
+0000560596 00000 n 
+0000560986 00000 n 
+0000561159 00000 n 
+0000561333 00000 n 
+0000561677 00000 n 
+0000561884 00000 n 
+0000562078 00000 n 
+0000562273 00000 n 
+0000562447 00000 n 
+0000566412 00000 n 
+0000566619 00000 n 
+0000566814 00000 n 
+0000567204 00000 n 
+0000567378 00000 n 
+0000567552 00000 n 
+0000562621 00000 n 
+0000563618 00000 n 
+0000552692 00000 n 
+0000550640 00000 n 
+0000562795 00000 n 
+0000562854 00000 n 
+0000553861 00000 n 
+0000562913 00000 n 
+0000554652 00000 n 
+0000562972 00000 n 
+0000555444 00000 n 
+0000563030 00000 n 
+0000563089 00000 n 
+0000563147 00000 n 
+0000563206 00000 n 
+0000563265 00000 n 
+0000563324 00000 n 
+0000563382 00000 n 
+0000563441 00000 n 
+0000559212 00000 n 
+0000563500 00000 n 
+0000560003 00000 n 
+0000560791 00000 n 
+0000561505 00000 n 
+0000563559 00000 n 
+0000652807 00000 n 
+0000567896 00000 n 
+0000568103 00000 n 
+0000568298 00000 n 
+0000568688 00000 n 
+0000568862 00000 n 
+0000569036 00000 n 
+0000569243 00000 n 
+0000569437 00000 n 
+0000569631 00000 n 
+0000569837 00000 n 
+0000570031 00000 n 
+0000570420 00000 n 
+0000570627 00000 n 
+0000570822 00000 n 
+0000571212 00000 n 
+0000571419 00000 n 
+0000571614 00000 n 
+0000571809 00000 n 
+0000572016 00000 n 
+0000572211 00000 n 
+0000572418 00000 n 
+0000572613 00000 n 
+0000572819 00000 n 
+0000573012 00000 n 
+0000573218 00000 n 
+0000573389 00000 n 
+0000573584 00000 n 
+0000573791 00000 n 
+0000573964 00000 n 
+0000574159 00000 n 
+0000574366 00000 n 
+0000574539 00000 n 
+0000574734 00000 n 
+0000574940 00000 n 
+0000575112 00000 n 
+0000579170 00000 n 
+0000579377 00000 n 
+0000579550 00000 n 
+0000579912 00000 n 
+0000580119 00000 n 
+0000580292 00000 n 
+0000575501 00000 n 
+0000576382 00000 n 
+0000565845 00000 n 
+0000563756 00000 n 
+0000575675 00000 n 
+0000567009 00000 n 
+0000567724 00000 n 
+0000575734 00000 n 
+0000568493 00000 n 
+0000575793 00000 n 
+0000575852 00000 n 
+0000570225 00000 n 
+0000575911 00000 n 
+0000571017 00000 n 
+0000575969 00000 n 
+0000576028 00000 n 
+0000576087 00000 n 
+0000576146 00000 n 
+0000576205 00000 n 
+0000576264 00000 n 
+0000576323 00000 n 
+0000575306 00000 n 
+0000865724 00000 n 
+0000655524 00000 n 
+0000655645 00000 n 
+0000580653 00000 n 
+0000580859 00000 n 
+0000581031 00000 n 
+0000581225 00000 n 
+0000581430 00000 n 
+0000581601 00000 n 
+0000581794 00000 n 
+0000582001 00000 n 
+0000582174 00000 n 
+0000582563 00000 n 
+0000582769 00000 n 
+0000582942 00000 n 
+0000583330 00000 n 
+0000583537 00000 n 
+0000583710 00000 n 
+0000583904 00000 n 
+0000584110 00000 n 
+0000584282 00000 n 
+0000584476 00000 n 
+0000584682 00000 n 
+0000584854 00000 n 
+0000585048 00000 n 
+0000585255 00000 n 
+0000585428 00000 n 
+0000585817 00000 n 
+0000586024 00000 n 
+0000586197 00000 n 
+0000586391 00000 n 
+0000586598 00000 n 
+0000586771 00000 n 
+0000586978 00000 n 
+0000587151 00000 n 
+0000587345 00000 n 
+0000587551 00000 n 
+0000587724 00000 n 
+0000587918 00000 n 
+0000588125 00000 n 
+0000588297 00000 n 
+0000588492 00000 n 
+0000588881 00000 n 
+0000593334 00000 n 
+0000593541 00000 n 
+0000593714 00000 n 
+0000593909 00000 n 
+0000594298 00000 n 
+0000589075 00000 n 
+0000589955 00000 n 
+0000578558 00000 n 
+0000576520 00000 n 
+0000589249 00000 n 
+0000579731 00000 n 
+0000580473 00000 n 
+0000589308 00000 n 
+0000589367 00000 n 
+0000589425 00000 n 
+0000582369 00000 n 
+0000589484 00000 n 
+0000583136 00000 n 
+0000589543 00000 n 
+0000589602 00000 n 
+0000589661 00000 n 
+0000585623 00000 n 
+0000589719 00000 n 
+0000589778 00000 n 
+0000589837 00000 n 
+0000589896 00000 n 
+0000588687 00000 n 
+0000655766 00000 n 
+0000655887 00000 n 
+0000658233 00000 n 
+0000658351 00000 n 
+0000594492 00000 n 
+0000594699 00000 n 
+0000594872 00000 n 
+0000595067 00000 n 
+0000595456 00000 n 
+0000595650 00000 n 
+0000595844 00000 n 
+0000596050 00000 n 
+0000596223 00000 n 
+0000596417 00000 n 
+0000596612 00000 n 
+0000596807 00000 n 
+0000597002 00000 n 
+0000597209 00000 n 
+0000597382 00000 n 
+0000597577 00000 n 
+0000597772 00000 n 
+0000597967 00000 n 
+0000598356 00000 n 
+0000598562 00000 n 
+0000598734 00000 n 
+0000598928 00000 n 
+0000599123 00000 n 
+0000599318 00000 n 
+0000599708 00000 n 
+0000599914 00000 n 
+0000600085 00000 n 
+0000600474 00000 n 
+0000600668 00000 n 
+0000601057 00000 n 
+0000601260 00000 n 
+0000601428 00000 n 
+0000601814 00000 n 
+0000602008 00000 n 
+0000602397 00000 n 
+0000602604 00000 n 
+0000602777 00000 n 
+0000602972 00000 n 
+0000603178 00000 n 
+0000603351 00000 n 
+0000603741 00000 n 
+0000603948 00000 n 
+0000604121 00000 n 
+0000604511 00000 n 
+0000604717 00000 n 
+0000604889 00000 n 
+0000605082 00000 n 
+0000605550 00000 n 
+0000592641 00000 n 
+0000590080 00000 n 
+0000605256 00000 n 
+0000594104 00000 n 
+0000595262 00000 n 
+0000598162 00000 n 
+0000599513 00000 n 
+0000600279 00000 n 
+0000600863 00000 n 
+0000601619 00000 n 
+0000602203 00000 n 
+0000605315 00000 n 
+0000605373 00000 n 
+0000603546 00000 n 
+0000605432 00000 n 
+0000604316 00000 n 
+0000605491 00000 n 
+0000658474 00000 n 
+0000658592 00000 n 
+0000661079 00000 n 
+0000661197 00000 n 
+0000661315 00000 n 
+0000664021 00000 n 
+0000664139 00000 n 
+0000608653 00000 n 
+0000608859 00000 n 
+0000609030 00000 n 
+0000609419 00000 n 
+0000609626 00000 n 
+0000609797 00000 n 
+0000609992 00000 n 
+0000610199 00000 n 
+0000610372 00000 n 
+0000610567 00000 n 
+0000610762 00000 n 
+0000610968 00000 n 
+0000611140 00000 n 
+0000611334 00000 n 
+0000611528 00000 n 
+0000611733 00000 n 
+0000611926 00000 n 
+0000612133 00000 n 
+0000612328 00000 n 
+0000612535 00000 n 
+0000612729 00000 n 
+0000612936 00000 n 
+0000613130 00000 n 
+0000613337 00000 n 
+0000613510 00000 n 
+0000613713 00000 n 
+0000613884 00000 n 
+0000614273 00000 n 
+0000614479 00000 n 
+0000614650 00000 n 
+0000618861 00000 n 
+0000619068 00000 n 
+0000619240 00000 n 
+0000615009 00000 n 
+0000615713 00000 n 
+0000608212 00000 n 
+0000605743 00000 n 
+0000615183 00000 n 
+0000615242 00000 n 
+0000609224 00000 n 
+0000615301 00000 n 
+0000615360 00000 n 
+0000615419 00000 n 
+0000615478 00000 n 
+0000615537 00000 n 
+0000615596 00000 n 
+0000615654 00000 n 
+0000614078 00000 n 
+0000614829 00000 n 
+0000664257 00000 n 
+0000664375 00000 n 
+0000666495 00000 n 
+0000619630 00000 n 
+0000619835 00000 n 
+0000620007 00000 n 
+0000620366 00000 n 
+0000620573 00000 n 
+0000620768 00000 n 
+0000620963 00000 n 
+0000621169 00000 n 
+0000621362 00000 n 
+0000621751 00000 n 
+0000621958 00000 n 
+0000622131 00000 n 
+0000622326 00000 n 
+0000622533 00000 n 
+0000622706 00000 n 
+0000622901 00000 n 
+0000623107 00000 n 
+0000623280 00000 n 
+0000623639 00000 n 
+0000623846 00000 n 
+0000624018 00000 n 
+0000624213 00000 n 
+0000624420 00000 n 
+0000624593 00000 n 
+0000624788 00000 n 
+0000624995 00000 n 
+0000625168 00000 n 
+0000625363 00000 n 
+0000625752 00000 n 
+0000625946 00000 n 
+0000626335 00000 n 
+0000626530 00000 n 
+0000626737 00000 n 
+0000626909 00000 n 
+0000627299 00000 n 
+0000627505 00000 n 
+0000627678 00000 n 
+0000631696 00000 n 
+0000631902 00000 n 
+0000632075 00000 n 
+0000628068 00000 n 
+0000628773 00000 n 
+0000618285 00000 n 
+0000615865 00000 n 
+0000628242 00000 n 
+0000619435 00000 n 
+0000620186 00000 n 
+0000628301 00000 n 
+0000628360 00000 n 
+0000621556 00000 n 
+0000628419 00000 n 
+0000628478 00000 n 
+0000623459 00000 n 
+0000628537 00000 n 
+0000628596 00000 n 
+0000625558 00000 n 
+0000626140 00000 n 
+0000628655 00000 n 
+0000627104 00000 n 
+0000628714 00000 n 
+0000627873 00000 n 
+0000666618 00000 n 
+0000666735 00000 n 
+0000666857 00000 n 
+0000669826 00000 n 
+0000632270 00000 n 
+0000632476 00000 n 
+0000632648 00000 n 
+0000632842 00000 n 
+0000633049 00000 n 
+0000633222 00000 n 
+0000633416 00000 n 
+0000633610 00000 n 
+0000633816 00000 n 
+0000633987 00000 n 
+0000634376 00000 n 
+0000634571 00000 n 
+0000634777 00000 n 
+0000634950 00000 n 
+0000635339 00000 n 
+0000635533 00000 n 
+0000635740 00000 n 
+0000635913 00000 n 
+0000636303 00000 n 
+0000636498 00000 n 
+0000636705 00000 n 
+0000636878 00000 n 
+0000637073 00000 n 
+0000637268 00000 n 
+0000637474 00000 n 
+0000637646 00000 n 
+0000637841 00000 n 
+0000638036 00000 n 
+0000638243 00000 n 
+0000638416 00000 n 
+0000638806 00000 n 
+0000639001 00000 n 
+0000639206 00000 n 
+0000639377 00000 n 
+0000639764 00000 n 
+0000639957 00000 n 
+0000640778 00000 n 
+0000631165 00000 n 
+0000628924 00000 n 
+0000640131 00000 n 
+0000640190 00000 n 
+0000640249 00000 n 
+0000640306 00000 n 
+0000640365 00000 n 
+0000634181 00000 n 
+0000640424 00000 n 
+0000635145 00000 n 
+0000640483 00000 n 
+0000636108 00000 n 
+0000640542 00000 n 
+0000640601 00000 n 
+0000640660 00000 n 
+0000638611 00000 n 
+0000640719 00000 n 
+0000639571 00000 n 
+0000643425 00000 n 
+0000644133 00000 n 
+0000643281 00000 n 
+0000640957 00000 n 
+0000643599 00000 n 
+0000643658 00000 n 
+0000643717 00000 n 
+0000643833 00000 n 
+0000643951 00000 n 
+0000644074 00000 n 
+0000865849 00000 n 
+0000646108 00000 n 
+0000646881 00000 n 
+0000645964 00000 n 
+0000644339 00000 n 
+0000646282 00000 n 
+0000646400 00000 n 
+0000646523 00000 n 
+0000646641 00000 n 
+0000646759 00000 n 
+0000648968 00000 n 
+0000649677 00000 n 
+0000648824 00000 n 
+0000647020 00000 n 
+0000649142 00000 n 
+0000649201 00000 n 
+0000649319 00000 n 
+0000649442 00000 n 
+0000649560 00000 n 
+0000652277 00000 n 
+0000652930 00000 n 
+0000652133 00000 n 
+0000649816 00000 n 
+0000652451 00000 n 
+0000652510 00000 n 
+0000652627 00000 n 
+0000652749 00000 n 
+0000652871 00000 n 
+0000655291 00000 n 
+0000656005 00000 n 
+0000655147 00000 n 
+0000653069 00000 n 
+0000655465 00000 n 
+0000655586 00000 n 
+0000655707 00000 n 
+0000655829 00000 n 
+0000655946 00000 n 
+0000658000 00000 n 
+0000658707 00000 n 
+0000657856 00000 n 
+0000656144 00000 n 
+0000658174 00000 n 
+0000658292 00000 n 
+0000658415 00000 n 
+0000658533 00000 n 
+0000658650 00000 n 
+0000861744 00000 n 
+0000862322 00000 n 
+0000660846 00000 n 
+0000661433 00000 n 
+0000660702 00000 n 
+0000658898 00000 n 
+0000661020 00000 n 
+0000661138 00000 n 
+0000661256 00000 n 
+0000661374 00000 n 
+0000865974 00000 n 
+0000663788 00000 n 
+0000664438 00000 n 
+0000663644 00000 n 
+0000661637 00000 n 
+0000663962 00000 n 
+0000664080 00000 n 
+0000664198 00000 n 
+0000664316 00000 n 
+0000666203 00000 n 
+0000666975 00000 n 
+0000666059 00000 n 
+0000664616 00000 n 
+0000666377 00000 n 
+0000666436 00000 n 
+0000666559 00000 n 
+0000666676 00000 n 
+0000666798 00000 n 
+0000666916 00000 n 
+0000669593 00000 n 
+0000669944 00000 n 
+0000669449 00000 n 
+0000667114 00000 n 
+0000669767 00000 n 
+0000669885 00000 n 
+0000671978 00000 n 
+0000672129 00000 n 
+0000672280 00000 n 
+0000672430 00000 n 
+0000672580 00000 n 
+0000672730 00000 n 
+0000672881 00000 n 
+0000673031 00000 n 
+0000673181 00000 n 
+0000673332 00000 n 
+0000673483 00000 n 
+0000673633 00000 n 
+0000673783 00000 n 
+0000673934 00000 n 
+0000674083 00000 n 
+0000674233 00000 n 
+0000674384 00000 n 
+0000674535 00000 n 
+0000674686 00000 n 
+0000674835 00000 n 
+0000674985 00000 n 
+0000675134 00000 n 
+0000675285 00000 n 
+0000675435 00000 n 
+0000675586 00000 n 
+0000675737 00000 n 
+0000675887 00000 n 
+0000676038 00000 n 
+0000676188 00000 n 
+0000676339 00000 n 
+0000676489 00000 n 
+0000676640 00000 n 
+0000676791 00000 n 
+0000676941 00000 n 
+0000677092 00000 n 
+0000677243 00000 n 
+0000677394 00000 n 
+0000677545 00000 n 
+0000677695 00000 n 
+0000677846 00000 n 
+0000677996 00000 n 
+0000678147 00000 n 
+0000678297 00000 n 
+0000678448 00000 n 
+0000678599 00000 n 
+0000678750 00000 n 
+0000678901 00000 n 
+0000679050 00000 n 
+0000679201 00000 n 
+0000679350 00000 n 
+0000679501 00000 n 
+0000679651 00000 n 
+0000679801 00000 n 
+0000679952 00000 n 
+0000680103 00000 n 
+0000680254 00000 n 
+0000680405 00000 n 
+0000680556 00000 n 
+0000680707 00000 n 
+0000680858 00000 n 
+0000681009 00000 n 
+0000681160 00000 n 
+0000681311 00000 n 
+0000681462 00000 n 
+0000681613 00000 n 
+0000681764 00000 n 
+0000681915 00000 n 
+0000684338 00000 n 
+0000682184 00000 n 
+0000671240 00000 n 
+0000670083 00000 n 
+0000682066 00000 n 
+0000682125 00000 n 
+0000684488 00000 n 
+0000684639 00000 n 
+0000684790 00000 n 
+0000684941 00000 n 
+0000685091 00000 n 
+0000685241 00000 n 
+0000685391 00000 n 
+0000685541 00000 n 
+0000685691 00000 n 
+0000685841 00000 n 
+0000685991 00000 n 
+0000686141 00000 n 
+0000686291 00000 n 
+0000686441 00000 n 
+0000686591 00000 n 
+0000686741 00000 n 
+0000686892 00000 n 
+0000687043 00000 n 
+0000687193 00000 n 
+0000687344 00000 n 
+0000687495 00000 n 
+0000687646 00000 n 
+0000687796 00000 n 
+0000687947 00000 n 
+0000688097 00000 n 
+0000688248 00000 n 
+0000688399 00000 n 
+0000688550 00000 n 
+0000688701 00000 n 
+0000688851 00000 n 
+0000688999 00000 n 
+0000689150 00000 n 
+0000689301 00000 n 
+0000689451 00000 n 
+0000689601 00000 n 
+0000689751 00000 n 
+0000689902 00000 n 
+0000690052 00000 n 
+0000690203 00000 n 
+0000690353 00000 n 
+0000690504 00000 n 
+0000690654 00000 n 
+0000690805 00000 n 
+0000690956 00000 n 
+0000691107 00000 n 
+0000691258 00000 n 
+0000691409 00000 n 
+0000691560 00000 n 
+0000691711 00000 n 
+0000691862 00000 n 
+0000692013 00000 n 
+0000692164 00000 n 
+0000692314 00000 n 
+0000692465 00000 n 
+0000692615 00000 n 
+0000692765 00000 n 
+0000692915 00000 n 
+0000693065 00000 n 
+0000693216 00000 n 
+0000695475 00000 n 
+0000693367 00000 n 
+0000693600 00000 n 
+0000683654 00000 n 
+0000682270 00000 n 
+0000693541 00000 n 
+0000695626 00000 n 
+0000695777 00000 n 
+0000695928 00000 n 
+0000696078 00000 n 
+0000696228 00000 n 
+0000696379 00000 n 
+0000696530 00000 n 
+0000696681 00000 n 
+0000696832 00000 n 
+0000696983 00000 n 
+0000697134 00000 n 
+0000697285 00000 n 
+0000697436 00000 n 
+0000697587 00000 n 
+0000697737 00000 n 
+0000697887 00000 n 
+0000698038 00000 n 
+0000698189 00000 n 
+0000698339 00000 n 
+0000698488 00000 n 
+0000698639 00000 n 
+0000698790 00000 n 
+0000698940 00000 n 
+0000699090 00000 n 
+0000699241 00000 n 
+0000699391 00000 n 
+0000699541 00000 n 
+0000699690 00000 n 
+0000699840 00000 n 
+0000699990 00000 n 
+0000700141 00000 n 
+0000700291 00000 n 
+0000700442 00000 n 
+0000700593 00000 n 
+0000700744 00000 n 
+0000700895 00000 n 
+0000701046 00000 n 
+0000701197 00000 n 
+0000701348 00000 n 
+0000701499 00000 n 
+0000701649 00000 n 
+0000701799 00000 n 
+0000701950 00000 n 
+0000702100 00000 n 
+0000702250 00000 n 
+0000702400 00000 n 
+0000702551 00000 n 
+0000702702 00000 n 
+0000702853 00000 n 
+0000705023 00000 n 
+0000703003 00000 n 
+0000703236 00000 n 
+0000694881 00000 n 
+0000693699 00000 n 
+0000703177 00000 n 
+0000866099 00000 n 
+0000705173 00000 n 
+0000705323 00000 n 
+0000705472 00000 n 
+0000705622 00000 n 
+0000705772 00000 n 
+0000705922 00000 n 
+0000706072 00000 n 
+0000706223 00000 n 
+0000706374 00000 n 
+0000706524 00000 n 
+0000706675 00000 n 
+0000706826 00000 n 
+0000706977 00000 n 
+0000707127 00000 n 
+0000707278 00000 n 
+0000707429 00000 n 
+0000707580 00000 n 
+0000707731 00000 n 
+0000707881 00000 n 
+0000708031 00000 n 
+0000708179 00000 n 
+0000708329 00000 n 
+0000708480 00000 n 
+0000708631 00000 n 
+0000708782 00000 n 
+0000708933 00000 n 
+0000709084 00000 n 
+0000709235 00000 n 
+0000709386 00000 n 
+0000709536 00000 n 
+0000709687 00000 n 
+0000709838 00000 n 
+0000709988 00000 n 
+0000710137 00000 n 
+0000710288 00000 n 
+0000710439 00000 n 
+0000710589 00000 n 
+0000710739 00000 n 
+0000710889 00000 n 
+0000711040 00000 n 
+0000711191 00000 n 
+0000711342 00000 n 
+0000711492 00000 n 
+0000711641 00000 n 
+0000711792 00000 n 
+0000711943 00000 n 
+0000712094 00000 n 
+0000712243 00000 n 
+0000712476 00000 n 
+0000704447 00000 n 
+0000703335 00000 n 
+0000712417 00000 n 
+0000712575 00000 n 
+0000712601 00000 n 
+0000860505 00000 n 
+0000712729 00000 n 
+0000712853 00000 n 
+0000713292 00000 n 
+0000713324 00000 n 
+0000713954 00000 n 
+0000714410 00000 n 
+0000714436 00000 n 
+0000714837 00000 n 
+0000715263 00000 n 
+0000715585 00000 n 
+0000716061 00000 n 
+0000716417 00000 n 
+0000716893 00000 n 
+0000717273 00000 n 
+0000717751 00000 n 
+0000718443 00000 n 
+0000718481 00000 n 
+0000718606 00000 n 
+0000719249 00000 n 
+0000721722 00000 n 
+0000721988 00000 n 
+0000723804 00000 n 
+0000724025 00000 n 
+0000727330 00000 n 
+0000727601 00000 n 
+0000731393 00000 n 
+0000731640 00000 n 
+0000734068 00000 n 
+0000734301 00000 n 
+0000736565 00000 n 
+0000736793 00000 n 
+0000741002 00000 n 
+0000741291 00000 n 
+0000742993 00000 n 
+0000743251 00000 n 
+0000745594 00000 n 
+0000745858 00000 n 
+0000747094 00000 n 
+0000747321 00000 n 
+0000749340 00000 n 
+0000749586 00000 n 
+0000751429 00000 n 
+0000751691 00000 n 
+0000753916 00000 n 
+0000754137 00000 n 
+0000759978 00000 n 
+0000760244 00000 n 
+0000778224 00000 n 
+0000778763 00000 n 
+0000787922 00000 n 
+0000788254 00000 n 
+0000805748 00000 n 
+0000806235 00000 n 
+0000821480 00000 n 
+0000821887 00000 n 
+0000842829 00000 n 
+0000843450 00000 n 
+0000860008 00000 n 
+0000866188 00000 n 
+0000866308 00000 n 
+0000866434 00000 n 
+0000866551 00000 n 
+0000866633 00000 n 
+0000870297 00000 n 
+0000870485 00000 n 
+0000871008 00000 n 
+0000871531 00000 n 
+0000872054 00000 n 
+0000872577 00000 n 
+0000873100 00000 n 
+0000873623 00000 n 
+0000874146 00000 n 
+0000874669 00000 n 
+0000875192 00000 n 
+0000875715 00000 n 
+0000876238 00000 n 
+0000876761 00000 n 
+0000877386 00000 n 
+0000878181 00000 n 
+0000878976 00000 n 
+0000879771 00000 n 
+0000880409 00000 n 
+0000881172 00000 n 
+0000881795 00000 n 
+0000882234 00000 n 
+0000882601 00000 n 
+0000883108 00000 n 
+0000883527 00000 n 
+0000884382 00000 n 
+0000885136 00000 n 
+0000885843 00000 n 
+0000886407 00000 n 
+0000887040 00000 n 
+0000887734 00000 n 
+0000888456 00000 n 
+0000889145 00000 n 
+0000889834 00000 n 
+0000890523 00000 n 
+0000891079 00000 n 
+0000891704 00000 n 
+0000892310 00000 n 
+0000893135 00000 n 
+0000893823 00000 n 
+0000894512 00000 n 
+0000895201 00000 n 
+0000895823 00000 n 
+0000896448 00000 n 
+0000897073 00000 n 
+0000897783 00000 n 
+0000898514 00000 n 
+0000899195 00000 n 
+0000899876 00000 n 
+0000900498 00000 n 
+0000901115 00000 n 
+0000901732 00000 n 
+0000902438 00000 n 
+0000903200 00000 n 
+0000903929 00000 n 
+0000904658 00000 n 
+0000905302 00000 n 
+0000905967 00000 n 
+0000906632 00000 n 
+0000907274 00000 n 
+0000907963 00000 n 
+0000908652 00000 n 
+0000909341 00000 n 
+0000909949 00000 n 
+0000910590 00000 n 
+0000911231 00000 n 
+0000911872 00000 n 
+0000912513 00000 n 
+0000913154 00000 n 
+0000913795 00000 n 
+0000914436 00000 n 
+0000915077 00000 n 
+0000915711 00000 n 
+0000916352 00000 n 
+0000916993 00000 n 
+0000917634 00000 n 
+0000918275 00000 n 
+0000918916 00000 n 
+0000919557 00000 n 
+0000920198 00000 n 
+0000920844 00000 n 
+0000921509 00000 n 
+0000922244 00000 n 
+0000923189 00000 n 
+0000924064 00000 n 
+0000924953 00000 n 
+0000925693 00000 n 
+0000926375 00000 n 
+0000927000 00000 n 
+0000927625 00000 n 
+0000928250 00000 n 
+0000928875 00000 n 
+0000929500 00000 n 
+0000930125 00000 n 
+0000930750 00000 n 
+0000931375 00000 n 
+0000932000 00000 n 
+0000932625 00000 n 
+0000933250 00000 n 
+0000933875 00000 n 
+0000934500 00000 n 
+0000935125 00000 n 
+0000935750 00000 n 
+0000936375 00000 n 
+0000937000 00000 n 
+0000937625 00000 n 
+0000937965 00000 n 
+0000938136 00000 n 
+0000938306 00000 n 
+0000938477 00000 n 
+0000938646 00000 n 
+0000938820 00000 n 
+0000938997 00000 n 
+0000939172 00000 n 
+0000939349 00000 n 
+0000939524 00000 n 
+0000939701 00000 n 
+0000939876 00000 n 
+0000940053 00000 n 
+0000940228 00000 n 
+0000940405 00000 n 
+0000940579 00000 n 
+0000940791 00000 n 
+0000941042 00000 n 
+0000941293 00000 n 
+0000941549 00000 n 
+0000941814 00000 n 
+0000942083 00000 n 
+0000942356 00000 n 
+0000942628 00000 n 
+0000942901 00000 n 
+0000943172 00000 n 
+0000943439 00000 n 
+0000943656 00000 n 
+0000943859 00000 n 
+0000944060 00000 n 
+0000944261 00000 n 
+0000944464 00000 n 
+0000944671 00000 n 
+0000944880 00000 n 
+0000945087 00000 n 
+0000945296 00000 n 
+0000945496 00000 n 
+0000945676 00000 n 
+0000945887 00000 n 
+0000946113 00000 n 
+0000946348 00000 n 
+0000946581 00000 n 
+0000946809 00000 n 
+0000947047 00000 n 
+0000947314 00000 n 
+0000947581 00000 n 
+0000947859 00000 n 
+0000948140 00000 n 
+0000948420 00000 n 
+0000948701 00000 n 
+0000948976 00000 n 
+0000949125 00000 n 
+0000949287 00000 n 
+0000949491 00000 n 
+0000949725 00000 n 
+0000949913 00000 n 
+0000950170 00000 n 
+0000950423 00000 n 
+0000950651 00000 n 
+0000950886 00000 n 
+0000951134 00000 n 
+0000951383 00000 n 
+0000951621 00000 n 
+0000951853 00000 n 
+0000952085 00000 n 
+0000952348 00000 n 
+0000952609 00000 n 
+0000952837 00000 n 
+0000953065 00000 n 
+0000953237 00000 n 
+0000953353 00000 n 
+0000953469 00000 n 
+0000953595 00000 n 
+0000953733 00000 n 
+0000953864 00000 n 
+0000953991 00000 n 
+0000954126 00000 n 
+0000954266 00000 n 
+0000954361 00000 n 
+0000954535 00000 n 
+0000954765 00000 n 
+0000954939 00000 n 
+0000955062 00000 n 
+0000955170 00000 n 
+0000955291 00000 n 
+0000955331 00000 n 
+0000955531 00000 n 
+trailer
+<< /Size 3741
+/Root 3739 0 R
+/Info 3740 0 R
+/ID [<57FD70DF4FD272A8325AEECF540B33BB> <57FD70DF4FD272A8325AEECF540B33BB>] >>
+startxref
+955863
+%%EOF
diff --git a/doc/ppl-user-c-interface-0.11.ps.gz b/doc/ppl-user-c-interface-0.11.ps.gz
new file mode 100644
index 0000000..524554e
Binary files /dev/null and b/doc/ppl-user-c-interface-0.11.ps.gz differ
diff --git a/doc/ppl-user-java-interface-0.10.2-html.tar.gz b/doc/ppl-user-java-interface-0.10.2-html.tar.gz
deleted file mode 100644
index 11eae5a..0000000
Binary files a/doc/ppl-user-java-interface-0.10.2-html.tar.gz and /dev/null differ
diff --git a/doc/ppl-user-java-interface-0.10.2.pdf b/doc/ppl-user-java-interface-0.10.2.pdf
deleted file mode 100644
index 8317926..0000000
--- a/doc/ppl-user-java-interface-0.10.2.pdf
+++ /dev/null
@@ -1,19040 +0,0 @@
-%PDF-1.4
-%����
-5 0 obj
-<< /S /GoTo /D (section.1) >>
-endobj
-8 0 obj
-(\376\377\000M\000a\000i\000n\000\040\000P\000a\000g\000e)
-endobj
-9 0 obj
-<< /S /GoTo /D (section.2) >>
-endobj
-12 0 obj
-(\376\377\000G\000N\000U\000\040\000G\000e\000n\000e\000r\000a\000l\000\040\000P\000u\000b\000l\000i\000c\000\040\000L\000i\000c\000e\000n\000s\000e)
-endobj
-13 0 obj
-<< /S /GoTo /D (section.3) >>
-endobj
-16 0 obj
-(\376\377\000G\000N\000U\000\040\000F\000r\000e\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\040\000L\000i\000c\000e\000n\000s\000e)
-endobj
-17 0 obj
-<< /S /GoTo /D (section.4) >>
-endobj
-20 0 obj
-(\376\377\000M\000o\000d\000u\000l\000e\000\040\000I\000n\000d\000e\000x)
-endobj
-21 0 obj
-<< /S /GoTo /D (subsection.4.1) >>
-endobj
-24 0 obj
-(\376\377\000M\000o\000d\000u\000l\000e\000s)
-endobj
-25 0 obj
-<< /S /GoTo /D (section.5) >>
-endobj
-28 0 obj
-(\376\377\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000I\000n\000d\000e\000x)
-endobj
-29 0 obj
-<< /S /GoTo /D (subsection.5.1) >>
-endobj
-32 0 obj
-(\376\377\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000L\000i\000s\000t)
-endobj
-33 0 obj
-<< /S /GoTo /D (section.6) >>
-endobj
-36 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000I\000n\000d\000e\000x)
-endobj
-37 0 obj
-<< /S /GoTo /D (subsection.6.1) >>
-endobj
-40 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000H\000i\000e\000r\000a\000r\000c\000h\000y)
-endobj
-41 0 obj
-<< /S /GoTo /D (section.7) >>
-endobj
-44 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000I\000n\000d\000e\000x)
-endobj
-45 0 obj
-<< /S /GoTo /D (subsection.7.1) >>
-endobj
-48 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000L\000i\000s\000t)
-endobj
-49 0 obj
-<< /S /GoTo /D (section.8) >>
-endobj
-52 0 obj
-(\376\377\000M\000o\000d\000u\000l\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
-endobj
-53 0 obj
-<< /S /GoTo /D (subsection.8.1) >>
-endobj
-56 0 obj
-(\376\377\000J\000a\000v\000a\000\040\000L\000a\000n\000g\000u\000a\000g\000e\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e)
-endobj
-57 0 obj
-<< /S /GoTo /D (section.9) >>
-endobj
-60 0 obj
-(\376\377\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
-endobj
-61 0 obj
-<< /S /GoTo /D (subsection.9.1) >>
-endobj
-64 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000\040\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-65 0 obj
-<< /S /GoTo /D (section.10) >>
-endobj
-68 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
-endobj
-69 0 obj
-<< /S /GoTo /D (subsection.10.1) >>
-endobj
-72 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000B\000y\000\137\000R\000e\000f\000e\000r\000e\000n\000c\000e\000<\000\040\000T\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-73 0 obj
-<< /S /GoTo /D (subsection.10.2) >>
-endobj
-76 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-77 0 obj
-<< /S /GoTo /D (subsection.10.3) >>
-endobj
-80 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000e\000f\000f\000i\000c\000i\000e\000n\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-81 0 obj
-<< /S /GoTo /D (subsection.10.4) >>
-endobj
-84 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-85 0 obj
-<< /S /GoTo /D (subsection.10.5) >>
-endobj
-88 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-89 0 obj
-<< /S /GoTo /D (subsection.10.6) >>
-endobj
-92 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-93 0 obj
-<< /S /GoTo /D (subsection.10.7) >>
-endobj
-96 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-97 0 obj
-<< /S /GoTo /D (subsection.10.8) >>
-endobj
-100 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000D\000o\000m\000a\000i\000n\000\137\000E\000r\000r\000o\000r\000\137\000E\000x\000c\000e\000p\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-101 0 obj
-<< /S /GoTo /D (subsection.10.9) >>
-endobj
-104 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-105 0 obj
-<< /S /GoTo /D (subsection.10.10) >>
-endobj
-108 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-109 0 obj
-<< /S /GoTo /D (subsection.10.11) >>
-endobj
-112 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-113 0 obj
-<< /S /GoTo /D (subsection.10.12) >>
-endobj
-116 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-117 0 obj
-<< /S /GoTo /D (subsection.10.13) >>
-endobj
-120 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000I\000n\000v\000a\000l\000i\000d\000\137\000A\000r\000g\000u\000m\000e\000n\000t\000\137\000E\000x\000c\000e\000p\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-121 0 obj
-<< /S /GoTo /D (subsection.10.14) >>
-endobj
-124 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000I\000O\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-125 0 obj
-<< /S /GoTo /D (subsection.10.15) >>
-endobj
-128 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000L\000e\000n\000g\000t\000h\000\137\000E\000r\000r\000o\000r\000\137\000E\000x\000c\000e\000p\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-129 0 obj
-<< /S /GoTo /D (subsection.10.16) >>
-endobj
-132 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-133 0 obj
-<< /S /GoTo /D (subsection.10.17) >>
-endobj
-136 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000C\000o\000e\000f\000f\000i\000c\000i\000e\000n\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-137 0 obj
-<< /S /GoTo /D (subsection.10.18) >>
-endobj
-140 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000D\000i\000f\000f\000e\000r\000e\000n\000c\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-141 0 obj
-<< /S /GoTo /D (subsection.10.19) >>
-endobj
-144 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000S\000u\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-145 0 obj
-<< /S /GoTo /D (subsection.10.20) >>
-endobj
-148 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000T\000i\000m\000e\000s\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-149 0 obj
-<< /S /GoTo /D (subsection.10.21) >>
-endobj
-152 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000U\000n\000a\000r\000y\000\137\000M\000i\000n\000u\000s\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-153 0 obj
-<< /S /GoTo /D (subsection.10.22) >>
-endobj
-156 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000V\000a\000r\000i\000a\000b\000l\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-157 0 obj
-<< /S /GoTo /D (subsection.10.23) >>
-endobj
-160 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000L\000o\000g\000i\000c\000\137\000E\000r\000r\000o\000r\000\137\000E\000x\000c\000e\000p\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-161 0 obj
-<< /S /GoTo /D (subsection.10.24) >>
-endobj
-164 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000M\000I\000P\000\137\000P\000r\000o\000b\000l\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-165 0 obj
-<< /S /GoTo /D (subsection.10.25) >>
-endobj
-168 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000O\000v\000e\000r\000f\000l\000o\000w\000\137\000E\000r\000r\000o\000r\000\137\000E\000x\000c\000e\000p\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-169 0 obj
-<< /S /GoTo /D (subsection.10.26) >>
-endobj
-172 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000a\000i\000r\000<\000\040\000K\000,\000\040\000V\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-173 0 obj
-<< /S /GoTo /D (subsection.10.27) >>
-endobj
-176 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-177 0 obj
-<< /S /GoTo /D (subsection.10.28) >>
-endobj
-180 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000a\000r\000t\000i\000a\000l\000\137\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-181 0 obj
-<< /S /GoTo /D (subsection.10.29) >>
-endobj
-184 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000i\000n\000t\000s\000e\000t\000\137\000P\000o\000w\000e\000r\000s\000e\000t\000\137\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-185 0 obj
-<< /S /GoTo /D (subsection.10.30) >>
-endobj
-188 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000i\000n\000t\000s\000e\000t\000\137\000P\000o\000w\000e\000r\000s\000e\000t\000\137\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\137\000I\000t\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-189 0 obj
-<< /S /GoTo /D (subsection.10.31) >>
-endobj
-192 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000l\000y\000\137\000C\000o\000n\000\137\000R\000e\000l\000a\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-193 0 obj
-<< /S /GoTo /D (subsection.10.32) >>
-endobj
-196 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000l\000y\000\137\000G\000e\000n\000\137\000R\000e\000l\000a\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-197 0 obj
-<< /S /GoTo /D (subsection.10.33) >>
-endobj
-200 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-201 0 obj
-<< /S /GoTo /D (subsection.10.34) >>
-endobj
-204 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000V\000a\000r\000i\000a\000b\000l\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-205 0 obj
-<< /S /GoTo /D (subsection.10.35) >>
-endobj
-208 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000V\000a\000r\000i\000a\000b\000l\000e\000s\000\137\000S\000e\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-209 0 obj
-<< /S /GoTo /D [210 0 R  /Fit ] >>
-endobj
-212 0 obj <<
-/Length 1152      
-/Filter /FlateDecode
->>
-stream
-x��VIw�6��W��W�=@�K{��%�k����C�
 ��pQ@(���;�@�M���D,3��|���[x��8��|?LG�.�XJ8�7�{,�	MS/��{��?]� ����Եt۶�,Ճv��r�����W
�H��^��Y�f�d���-�`�i�f��
g��1J�F}Y��JN3g%E+���?B�
j��f-++��G
Q!x
�$˸�
;�(�P�8�QA�H*#,[iA�ِ��ʶA<J%
����fD�Xxa�04s�Δ6-���Fc�n�z)�Sʬ*0
�܋I9�6Ca
-*1�3�	Jbb�.��Q{C��KYU`)��X9Zx�V���Q�O9��Ĕ5����"?
-��0'Y�AʅC�tY!�Np�)ͭ���ϧ��#K0��6��$P�E=��zp~�Qp?�
{��cINX�º�&�߱�;N�ɶt(�{I�jg�lݐ�E�v)mm���̴�
��
ϔ���3%��6xڭW�V��6?�"�����,�
-�8�v��]S�/.��բT�)�y^�V���X:t��*
^قW��w�'�����v��d��
�VU�NgЌf��2 &���I��H���)�
�?�"¿���Laɢ�#�{� ��xm�^	enu�вF�Sh*�
lwZ��/dz�h��"�,+�L/9��G{�7̜�qR��M��Uڬ���d�Uwh�'̞����m^T���#��Ym�rON��sb�
y��}���*D�
�o��
�ᝒ]۔�5�޺V��Ρ��(�纭�ty<SE�9�3\-Z]�%��v��/�i�+�{������#(��ͺ2e�LM
E@�~�ܷ��ڑ#���쐜�'�9���)g叀1mtX8/�ط4�T���6��.v����~b����q�g�iW.�ނE�[��
.��o'w���A�!�BVxtR6
nl�_fs��M?��v�Z�G;HzI{ȏ���}{��
�:�'}}�����j�7���
��7
J�;r<�IlmB�=���_���8vs{�/���#�\i;%Ii� [...]
D:?�yz;��,�=_@��J���Ȃ���l�]�mu�ծ��c���V���o�?��r��������W�������
-endstream
-endobj
-210 0 obj <<
-/Type /Page
-/Contents 212 0 R
-/Resources 211 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 219 0 R
->> endobj
-213 0 obj <<
-/D [210 0 R /XYZ 90 757.935 null]
->> endobj
-214 0 obj <<
-/D [210 0 R /XYZ 90 733.028 null]
->> endobj
-211 0 obj <<
-/Font << /F50 215 0 R /F23 216 0 R /F37 217 0 R /F38 218 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-245 0 obj <<
-/Length 1725      
-/Filter /FlateDecode
->>
-stream
-x��Y�o�6~�_��I@�����eI��\dz�
E[�M�Beɓ���w�#e[��$-���#yG�}ߑ��qc0�E�l�9��
#�#_��taD�|n{�ӹ��<�
N{���z?}e����uW��No����A�
^��;p<c��}ό9�_�v�и�G�@
�H�I���]��Z+��|O�$_[��wEr������Nx�j�1�Nʈ$��ZUN���&��X�b
�&�o���dɺ�<ϴ�
-��]o�]
ؾp��t��4{��6+���e9+�k�:������+er��wK9�+$�E\�m�3
��
�b��e�gV��ą`yS�Y%���&n�3�$���g rBs��,т�M%iX��O��|�,�^-���6Q�&��BQ:*X��/����bxE��B�fS܎<�6��RW�����dV�g��Ϳ,ι)���綠.\8
-�
�|G�4������ݙ��u��K�6��\-"����h��
�m=�^~]���]Jr�fr�
�4�a���мM�����3f���r�X Z����'r�JKtF�7�/�<���9ZV��ߜZ3%J>Y]@��M�`�i�Vr�>����J���S�jPU+�h�����"G��'Xf�t3��}���R�~��H����
�r.���Q�f\��ӑb���4��1���#�!0�K�Դ�rQ�q��,w �vB�b��Q�8�J!��UT6,twX�ӯY�*�"�:W��e�>b
Vd&�8=��ra�!�[��͸$�.Y@\��_"

Q!�I-�`��P�@B�h�t:$'�	
>��6"F���T㊆BX�C9(_�Z0�b��m>�X�|�� -� -�cK
l�ဒ*�{QZKM�zag��%6�D�� Nz��Ƨ����:��%����8J7"J7$��`�sՙQ'�	�|-��
�Hr��)ծ��M)���jj�ݟ����Ұ��%�8�9
�O��7V$jD��~s=Ub��`f�ܣ 1Z�ӄ�
-�x�ޑ� 虯{��`Њ g�A�F
(���O���D5.�T9�b��<
[>3������
]�G���M6&R�I��&�i��uC�|'�Ս���n
-�o0U�����k�V�^奺�l��*��UO����N�-uR~�ŨL*�|���~�{��s{��C����"��eU��������������:=ٳS߉�k;�/PY���D��
}!��WV�GHٺX�kE`G�
-
�
�3_��0
�@�i�R.m�#}���2 at WD+^�p��<
&�� �Ǣ�
����9ms��C��'3t!��C�ڙ�|�*c}8<?�}	�	'h|
���C�����qõ�z�j�ރ
]�b����E���� ��&J��_�Yx��>@<�a���:�
��[x���x08��� �h��
�l��
�'"�#|��4.��*�;F_&������+g��,�=1<	ѓ0�rDp��C ����ל�7 Hx���i_`�0�M��p���6 y���)������
-��T]Է�ٽ�T�
�`Є�k`
�F|
	�#�)��#!j��ƇӇ�~3}Hw�K�E��B2��'p�ױ<=�D�32��p?9��
����
>�v?|����÷��	�_/�=o�3���ɏ��誔�/��C��u�m�?��>�3�ٜق�Qt
P5�ǿ�O�����!o�͇?��
�!���!��%�] ������
���/��	�
�� �J@�
-endstream
-endobj
-244 0 obj <<
-/Type /Page
-/Contents 245 0 R
-/Resources 243 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 219 0 R
-/Annots [ 220 0 R 221 0 R 222 0 R 223 0 R 248 0 R 224 0 R 225 0 R 226 0 R 227 0 R 228 0 R 229 0 R 230 0 R 231 0 R 232 0 R 233 0 R 234 0 R 235 0 R 236 0 R 237 0 R 238 0 R 239 0 R 240 0 R 242 0 R ]
->> endobj
-220 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [385.063 672.708 490.947 683.612]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
->> endobj
-221 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.426 650.855 322.585 659.702]
-/Subtype /Link
-/A << /S /GoTo /D (GFDL_GFDL) >>
->> endobj
-222 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [231.464 619.218 337.877 630.122]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
->> endobj
-223 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [440.112 607.263 513.996 618.167]
-/Subtype /Link
-/A << /S /GoTo /D (GPL_GPL) >>
->> endobj
-248 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 597.365 169.87 606.212]
-/Subtype /Link
-/A << /S /GoTo /D (GPL_GPL) >>
->> endobj
-224 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [219.806 511.177 383.194 521.075]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-225 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 443.46 151.499 454.339]
-/Subtype /Link
-/A << /S /GoTo /D (section.1) >>
->> endobj
-226 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 417.776 229.087 426.752]
-/Subtype /Link
-/A << /S /GoTo /D (section.2) >>
->> endobj
-227 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 390.189 252.131 399.165]
-/Subtype /Link
-/A << /S /GoTo /D (section.3) >>
->> endobj
-228 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 362.602 165.446 371.578]
-/Subtype /Link
-/A << /S /GoTo /D (section.4) >>
->> endobj
-229 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 344.998 163.723 353.844]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.4.1) >>
->> endobj
-230 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 315.488 180.928 326.367]
-/Subtype /Link
-/A << /S /GoTo /D (section.5) >>
->> endobj
-231 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 297.729 192.764 308.633]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.5.1) >>
->> endobj
-232 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 272.179 155.484 281.156]
-/Subtype /Link
-/A << /S /GoTo /D (section.6) >>
->> endobj
-233 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 252.518 192.714 263.422]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.6.1) >>
->> endobj
-234 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 226.968 155.484 235.944]
-/Subtype /Link
-/A << /S /GoTo /D (section.7) >>
->> endobj
-235 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 209.244 168.435 218.21]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.1) >>
->> endobj
-236 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 181.757 206.393 190.733]
-/Subtype /Link
-/A << /S /GoTo /D (section.8) >>
->> endobj
-237 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 162.095 225.67 172.999]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.8.1) >>
->> endobj
-238 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 134.642 221.874 145.522]
-/Subtype /Link
-/A << /S /GoTo /D (section.9) >>
->> endobj
-239 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 116.884 321.39 127.788]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.9.1) >>
->> endobj
-240 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 91.334 196.43 100.31]
-/Subtype /Link
-/A << /S /GoTo /D (section.10) >>
->> endobj
-242 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-246 0 obj <<
-/D [244 0 R /XYZ 90 757.935 null]
->> endobj
-250 0 obj <<
-/D [244 0 R /XYZ 90 463.931 null]
->> endobj
-243 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-290 0 obj <<
-/Length 1243      
-/Filter /FlateDecode
->>
-stream
-x�͚]s�8����[{f����ٙm�d�&
hoҎ�%
-�,V����+�	$a#Kȕ��e����9�@�8i|�6Zǂ�Ƃн1���
�7�:8���=���߻g�a	�ͫ�2\�l
u�6��� ���#Qz���wn��3� �%��=5�Ps
�N����2_������q��8���	^�A
69G�8��4�w�F�� ��S�pp��!�R�J����6��1^�V
-(L�*Y�y�eH���:$�Q�x�O[
��t2	��4�I�
i�� 4�FBoty�=LP
����NM�9�8M
Aa$-:�X:�0iW7G�\z

-�$oK���؎���64�jc2R�!��7�H/SyQ�d����a��.���2+����3
-��0"�'�nF�6���0)԰>��ҷE�-��`R�4s�!��Nm��T��+E�19��`r'D֢��#-(>���Cr��H'G�zj\d.�IF�h^vl�|�r��b���䘼k'QYc
J�>"q�?�
$����n�a$ރ�lFee>A\�x�\��
	+��+?�C���eΚ
��t�eПM��3���_��!�̢����9��p����>�Wᯣ;Wy����ۉ>V_a��j�Ez���=�j2qR
!���>�+�
Q$�|���=f�ޗ��?f3�
U#�ض^���]�v�.�
�?��R䪼R
dC5q��͖s�(|eE�
-�����"˧�Ǜ[����Wy_C�q��,�1P.��6�۵���5[2��Q?���k"�.c���X����v��#���w��T;��<LÒ�]�
1�61���Pv�o'��7�
�҉%�k���L��Bb

-Lm[H�q����s at _�TF0�\�6��u�J"0��
d�N�� M,#��e?Eu��,l?��

m!��k
�z8��%���Ar<�{K�<�
�oC��t�z�c��
>ܒ��GY^LTa�`6Z)]��ۇXn��#ZQ����p]��	�8�Gt�ئd�`��yr��c0�����=V])���D����C{X��p�U���5�s����zNIv�;�Lz��R� l�tT���3� ͯϏd		��uOd-�]	GTV��x
9�(w�*K{L���
��OR��4$����8��Ӵ��7A�2Q����ꖋ4�����o��j6�\Y-7� 1E�@����Zt�
�?`��SyH$\@�Op����պ����	���Xìh�ǃ���@a�`�< w��Ñ����3�T��Im��]������i7�~�w7N6
-endstream
-endobj
-289 0 obj <<
-/Type /Page
-/Contents 290 0 R
-/Resources 288 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 219 0 R
-/Annots [ 241 0 R 253 0 R 254 0 R 255 0 R 256 0 R 257 0 R 258 0 R 259 0 R 260 0 R 261 0 R 262 0 R 263 0 R 264 0 R 265 0 R 266 0 R 267 0 R 268 0 R 269 0 R 270 0 R 271 0 R 272 0 R 273 0 R 274 0 R 275 0 R 276 0 R 277 0 R 278 0 R 279 0 R 280 0 R 281 0 R 282 0 R 283 0 R 284 0 R 285 0 R 286 0 R 287 0 R ]
->> endobj
-241 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 719.912 386.152 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.1) >>
->> endobj
-253 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 702.288 360.165 713.192]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.2) >>
->> endobj
-254 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 684.664 346.625 695.567]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.3) >>
->> endobj
-255 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 667.039 350.74 677.943]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.4) >>
->> endobj
-256 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 649.415 385.061 660.319]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.5) >>
->> endobj
-257 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 631.79 344.114 642.694]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.6) >>
->> endobj
-258 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 614.166 378.435 625.07]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.7) >>
->> endobj
-259 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 596.542 406.082 607.446]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.8) >>
->> endobj
-260 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 578.917 342.431 589.821]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.9) >>
->> endobj
-261 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 561.293 376.752 572.197]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.10) >>
->> endobj
-262 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 543.669 365.674 554.573]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.11) >>
->> endobj
-263 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 526.044 399.994 536.948]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.12) >>
->> endobj
-264 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 508.42 420.757 519.324]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.13) >>
->> endobj
-265 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 490.795 313.111 501.699]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.14) >>
->> endobj
-266 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 473.171 402.207 484.075]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.15) >>
->> endobj
-267 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 455.547 377.858 466.451]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.16) >>
->> endobj
-268 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 437.922 426.863 448.826]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.17) >>
->> endobj
-269 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 420.298 425.18 431.202]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.18) >>
->> endobj
-270 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 402.674 401.11 413.578]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.19) >>
->> endobj
-271 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 385.049 407.397 395.953]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.20) >>
->> endobj
-272 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 367.425 438.181 378.329]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.21) >>
->> endobj
-273 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 349.801 416.034 360.704]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.22) >>
->> endobj
-274 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 332.176 397.225 343.08]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.23) >>
->> endobj
-275 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 314.552 359.058 325.456]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.24) >>
->> endobj
-276 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 296.927 411.213 307.831]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.25) >>
->> endobj
-277 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 279.303 358.347 290.207]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.26) >>
->> endobj
-278 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 261.679 408.144 272.583]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.27) >>
->> endobj
-279 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 244.054 382.58 254.958]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.28) >>
->> endobj
-280 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 226.43 438.51 237.334]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.29) >>
->> endobj
-281 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 208.806 472.811 219.71]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.30) >>
->> endobj
-282 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 191.181 381.205 202.085]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.31) >>
->> endobj
-283 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 173.557 381.195 184.461]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.32) >>
->> endobj
-284 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 155.932 348.538 166.836]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.33) >>
->> endobj
-285 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 138.308 335.796 149.212]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.34) >>
->> endobj
-286 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 120.684 357.384 131.588]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.35) >>
->> endobj
-287 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-288 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F11 291 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-295 0 obj <<
-/Length 3094      
-/Filter /FlateDecode
->>
-stream
-xڭ�v�6��_����X4	��>5�&���fk�e�
��%6��Td��w. x��9���`0�;�.�
w��������P.'	E�xxZ$�"
-='��!_|Zz����Ң�և��.ӭZ���~�{��z	�"`��W�x��r�����_9�
����o�"���
בI�8�~�
	�rq��+wB��;��!NH�
K��ߢ��m�N�.�"r��>�,	c\,�f�b7Y~���N�Mʳ�ŦI�3�e�^�<��
��A�<q*�
���U��'�&�=�
�uf���J�˯+�T�� ���!o�U�j-ð'�r�x+�8��9I��zhj<��"'� 3��vW�/����WM����ݴ]�f]QWzůn�fu��@�����}�@��,_���v�
T��K�uevͩ.s`�Z?�b�
�(�'*�^����R���_�G��n�Q��
�%02���تJ5H �6u~�3�42���)�b�$���h�Q�F�@`Jg��U���
�������T} J5��?�Μ���g�ˢe�m�÷��� a�ZDz
�F$�	\itܢ>��a���:c.U.r�XZ� �G�������c��@�Q�ŘW �YSlP:*O��f�
Tֵf<��p��q���uE�Aj�&�$&�������dY
ʯ�k>0آ1�bayR�T<�0FƎ�G�h'
R2'�j
�{�*�3�$p(3�+�
�AF���/��Җ���,��K˒
tQ����<�
Ћ}' -Ԕ�
�f�x"t|�3 at u3��u�8�)�lV��ĉ"�%�G#
:����m��H�x�f��_�.�i���P�o����W�xk4�R�ɶ�V��ߪ� Zְ0w����
-0�J3:Ϳ���L�K;�j����H,m1�Xt�ƃ.<���
�H�O�`
�i
�}`3 F������^^��hr at KQ��R1
�N�Xc�S�v z�k
-�-�2m[���ݴ��A��
.��Zyi�=x�9!M t�`y�֊
{r�Yt��Y��D�U��Ē�*�J�;����U
<�����tR����Ab.�M'����~=�ܾ2r��b��
[t����@�y��*�
�ba;�z�F�N�R�x�9�^�c�U@�T�,�UW%:._�O���)��ب��
D��W��h�
-
s��ܨ�G�� ��(x�_��^s��*5}����"U=_?�t1���|���k��UWh�~yi
���4{Vo/�+
O�K�AXm'�F�P���`��
l[F��j�wc�;a�W�M0���!p
��p�e�e�ȇ�#��ޝY��׏&V���ww�������5XG�X�oҬӠ�J?��
- �Q%�ZZ"�³��\O��3�0����=���w�g2�g��O;�Aмc at rEЭ�� ��Mh�G���b[��1ۥ
^�ft����ں�*�j;h>����d�m�
������$@q�F�[H���س���:tC�Ϻ��U�
Ą	u����K1��A�ca�ϰg-:�8 Y�f��ā�e�v��'��M}� �"G��3[�G�#���C������m%�]S�C���&v��
-�������P�I�I�x��輾
hu����
-��φn���Ϗg�WN�ʁ�J�
B'9�g��g�
�3�x�����
-�k��ߧ�n4G�t�(��#jȦ���8��γ��χ	�g
�$�
	1�bM̨dbROh<�e�[���%�A���X4\�n8	f'BC��� l�
-���	�S
�t�C����v&��]Nje,���8�����S�ĭ��s��	d8�
������Kw����g��-������rw�a�;H�\��;�}�>�c�N�u��$���,G&�1
€��h��r��)���¦���og��Iu�f.g�m�x���@b|s8����q8�ZQ��/*"�G/K�Cdd��j|��t$\��b[p�D�ky�F~�ҽαi �En�8c/� &}
����H[�gJk� ���S1f�i�4L��x"�7)|�`3�C�T����Ge¤NWq$�����7�Eu|����vj��	 9�Z���a�S���A������b�
k�!HX�;m=W0�
7�C-��?@N�`��Tl�jY��BT�W<զC�
M
-1�����T�b�����,é"�8�m��:e��r@�ѺrGk?��(m#S9
9h��!\4�gn�|0$O�5GT��QX�=
Ɔ�/s����iT{����S�ZO��9�=�`��
|�RO�wS��5����u!����{h��v>��МV0>�ɣ���7tR;2�]�`��J���8��s��
�ۃ[�Y
��I��
��B�oTw�Zɪ�ۉ?f���a�%�7�<����0V��/�}��
�b#_ZoN�
)���D�z��
�y\�"�ʋ����`XӶu���^�M�ڂ�g�:�p�=��P'�)�<t[1�Jz
� ��Ƿ���nW��L⛊4���m�Jq�o��Kti�"�<7�lD7��u���6���M^x��DG9�*6e�sG�M(#Z�
.�(1�|i��Av��: |G��s���2r�؂��Xj�}��7+�9w��������ߓD����;9 �6EYtg�o��JX����0Q�{��%�qPFNdM�/������
���.��������>�b˘�� 9W
-�������]P�D�?�����Q�q��'��fή�/��?舍U�P�f\us�:�W�܁�q��%h
���i\]
K��{�9�"7�S���DfT��9<�o� ����
�	�@ �g�/�*X,:�yCUtEZh��`�)gR���Q��
�;m��l�&��Q��iK�/�v�fG��K�
-0m%F�%�m
&�o�6ʜ�3�Y�F
�+�>�m�{�l����"ud�؈1a�$Ƭn��^46fs�=�kB&
n���L�$ �!�s�'�	A�ߟ�5��)��Eo=�{;|��|ѹ�? �����0���U,[��
z�x�rMkkӐ����2D���sa�
-ـ���0���(��(�b���bv]w����t:9Y�
���8E����e}���y�X��
F�|���iq�<�J�����~
-endstream
-endobj
-294 0 obj <<
-/Type /Page
-/Contents 295 0 R
-/Resources 293 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 219 0 R
-/Annots [ 292 0 R ]
->> endobj
-292 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-296 0 obj <<
-/D [294 0 R /XYZ 90 757.935 null]
->> endobj
-6 0 obj <<
-/D [294 0 R /XYZ 90 733.028 null]
->> endobj
-297 0 obj <<
-/D [294 0 R /XYZ 90 709.842 null]
->> endobj
-299 0 obj <<
-/D [294 0 R /XYZ 90 596.315 null]
->> endobj
-293 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R /F11 291 0 R /F23 216 0 R /F8 300 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-305 0 obj <<
-/Length 3179      
-/Filter /FlateDecode
->>
-stream
-xڕ�r��]_1o˩�P��͓�x�v�N6�r\��(3��C�	r�}�/Q�E4@��n�۝v������7w�p��y$���.�vi�q����W'���s���g�FuE͓��C�K
ҥj��I�E����x�����7>\��|::N�4�w����oޮ�ǝ�y�{"��.
-B��w_n�y�	�ޜ�؛��{���.
B�Kb��� ��z�o��{��]��c�HL}��^����mÀ�������x���'
�s;��/����
A1C�쮢�Q��tK0���^5��#�!!�3p��^�����㊄Z?tEg����a�̍�|w�}7���j��\��`T�.�p�������/g���S������2m�糪:�~)��6�[�
��\�n����
��ғ�k
C�^@eQײ�WFЎm�"C!��8Z
-��&8�0�c�<��	��
G\p
9(����1�6�-*�H�ǂ�����0�}˰J��"
W��A����KQm�#�[Q�� ,J
�����}/(�\(Ft��xf8Y�� �x�A5H��
oY�Z��yb��κ(�������x?���mש�'��nL�&s@,���UXk���źe+��G��z.x(y{´�g�]�K�Z�y�<(�]W4'@M�P6W�0���?,-��H���"�^.i*Y�ކhd�J���*�xUF+�t>���Vl'	� e����ہ�"^�5�U���̓B���0c>@,�yƦ���)�/$��Q�r��a�H�!K]?
w�r7��1����g��K ����Cш�}��[�[�
r!}h��祣E�nD|��%���ӹgT����N�딜��=�O�1�@ޡ�j`+�1?4�u�
 wv��"^�zqf�{���ۻ��9�mw�[8�Wv��a?J�xn�y,�:q����'e0)K�ސ9�H��/�w�
�����x��a�V�W�O�˳7�cހ��pQMO�"녆31�h$����l�¦y�!���O
-Y
	3�	#��2��������
��m
CU���Z��Ɏ`BO����#Ja�\��<��o
�ϼ�1�	
Z�M�z�M%W��hS�=wK��AIho5<�kapi)(�hE @� X���vEIQ�W��e��Z)�O����s�;�Y��j�7>3|���
���r�9�di�L�/
-�x��O�
�ʜ��m��0��AZ�XD��Q�0E�I�~¢��.�/f����H�+A�‚}��sho�{i�/�f/D %[0�垆!�
{p�^����
{�,�ū8���
-ҩK��qGv����\#U»,9��m��v����_��v�x��)Y����h�qim�q�0�
xu<��G+<�X��x
N������)
�
�O�|-�I�D���WEm�ex.�Zei�V?y֩Zf
�g�Y&C�Ƀ�2���?�����
���D�,$\"���%m��0U1����+RJ���7��xdW<�� d�C<9��}�H�ө��:��Ă�0��a ��
�ߛ��?��tn���b�O��Kc�72sZ���;3�(����\ˆS2�%uBkd�~�;gH�
�4���
/b.��	;����
+���a'���q`�;	l�D��lY���_�b�mΘ!��dV���+=�R9��2.�JFt;B
-��OJN������fD#:�-:�CG�8/�W�bb6D?�x
\/�*�Zcэͼ)��B����[����M;;����V혔[¸
ڎ��Ziy�
�2�X�o��.S&
@[A�&��Yϡ�S�U
;R^U���kl� �&��r��R�Ǎ=B �W�QtSH��9�?�2�p�s��W�0�3ki�)U���C��B����=�B���S��I�q⸕
#q+W���Afy���.m5�o�˾�%�s���"�Y	7y����
-$sl�8=�VLq���vw�����Ӎ"!���غ1Cyf���Dn�iOg%Q�NX?��B��'*d�,IBJ�\n*eԳ��Q�`�kZ�ŀ�t�`�NX,��1�E�����b˙5Z �
a�1)��1��L@��]
��޷��p
- ��};���4J7�/z��o`/ t��2�J��T�TJ������P�[�s�E�䅣�z��
&ŜR���5-��5�

���/����W	’
-2���� yO-�(�9G��s���`�
9��2>���j�r	��֗��a���3�U{v�2Nd�S�W��LSg�
-xp�i�(�)G\��'V�3���q�c�.�
[f�X�2�D12�M�#ݝ-c�>l3\M�&J&iUV�Hԟ���R� I���g"Ni�D�L�,��)!��(�({�k-uM4�5L�R��P#�aa'I>�Z�#��n�Υ�rcz?�Z�7piT,������
z%�
�\�> �\}����
{���r�
-v)�
�*��Yt|�%@�9��n�߸NtfF
Bz�������`���)�X �m���غe���/�g�
2�_�Ғ��C����<��1_�2riF���J“}e�8Y��6���Z�tCÃ�t a%
��j{��^�|���+��bs��6���|!B�7�t�{�o�W�Q�J����Ǿ�
sl���
ʖ��r��NMX��[�)���!�4x��4]��"����;�eV�m}���F�m�P�s X�.�B����`5��-ˁCQ����Z��X��������O�RU7�x�j(j�;±��o9�?�5�;	��F��ӫNjl��B��l�lP_�=~+�j�_$�t��ͫ�6�斑F�
7^6Sgd���� @�u.b̐Qg�x��4Ek�
c�5�
v9M� 7Yfsw���v�
�;I�E�a�%�K�f�l��Xr�߸�OA�ߺp�-��zf(=-�%a�P�lKe'��M
�f��
$w2\
�q�/1}0��#��O�3�߷
*KA��k���0�H�!m��Яb/�a,�q?cs-�EO��\��/�k�
.��-���M	u��t�t
n#�H�_z�ʙ�? pL���>Wv
�����_!������'��χ���0�Ԉs7��շ��7z�ξ�S�g��o~��q(N�~�Z|�D�� �7{d��``C�@��
@��=7�ߊ�/�����kzb'n槫�^OOOniܡ�������Zo|�N���M�ܞr��Oi�
��w�0�
R�$���@�P��]���|�
-endstream
-endobj
-304 0 obj <<
-/Type /Page
-/Contents 305 0 R
-/Resources 303 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 219 0 R
-/Annots [ 301 0 R 302 0 R ]
->> endobj
-301 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [297.062 555.358 388.718 566.262]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://fsf.org/)>>
->> endobj
-302 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-306 0 obj <<
-/D [304 0 R /XYZ 90 757.935 null]
->> endobj
-10 0 obj <<
-/D [304 0 R /XYZ 90 625.516 null]
->> endobj
-307 0 obj <<
-/D [304 0 R /XYZ 90 593.588 null]
->> endobj
-252 0 obj <<
-/D [304 0 R /XYZ 90 593.588 null]
->> endobj
-308 0 obj <<
-/D [304 0 R /XYZ 90 487.876 null]
->> endobj
-303 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-312 0 obj <<
-/Length 3116      
-/Filter /FlateDecode
->>
-stream
-xڍZI������-�{�
.�H�6;�8��$�>�>�I�I0\�Q~}jH���/"P�
-��+@��y���ݛ���]���{<�p��� ���c��y
�4���')�V���ʧ�6%�?�R���J��������w�>���.���]DS�Y�%�l�~�5�U@�~I��^�W�;�	|���܅K6���8	�S�l�z{S���$<�+}����(���v�n�A�&�
�����ǗC�U�ZZ�>����Vڦ�F��P����~&Y���l?^|��
oV��HӋ.������((Rٚ©�k*
:^plT�N����J�Ϻ�Y��a��U��F�Y��z������W
�K;�2�Q_��������,N���z�G�_�t

R�>
r���f�~!:���x1x�\Ԣ��>pA
��w�J��mc�Tmk��I& 
�d��o��
-�o��?
���}�c
-<�Yp�����<�2Ht�.H��
�Vf4�����]C�|5��2�ע]Ur5Sc+�Kƥ�϶�-
�
�8�J6��
�� ��1��\8���?|��o?~Åw?~�����?~�����c�


(�p��F^Zޚ,��ڛq��q��]9 
�<�``k�b��m�4�~�Q��)K���7ϗ��JN�^���)�7Z��X.�>���	t���"=�0q"��+w!K��{&}1m%C�E��ܓ��)��0��j�A�n
*�T��R�ը�˰�q��
^�?�ҋ(��(��D_�⾮�au ꩖�
�\���+
2��ᔬP�B���U���P��
`��EU��ˤ��ƶqsW;�~DU�"k�aV9oX؎f��"s�F]�n��n�T��hc�Q�>�0�������`���Xqi���U�����8�&���Q�:1p��ۆK�P��T7ʔu�l��c��DƄ��>�Z�ۂ�3E���&	�^�k2=��5O��>\�Ф��'g $�\p�<f� Q��2q
-_�I�J�[!��?=�8/
m�5S=��[��#N �D��k0GN<��\��+�̘��fO�Y�!��,V_���j����^~ť�ۜ{S��Γ�w![qӻ�

��e�j��ԮN��2�~uo�}��+�|�|�����C�ٍO��qN�\kΉC�(3T��	���†�/�����cA�v�J��Q�R�JAo�M���3BX��
K��N
]��
c,0�
.6�]/Ӟ��`_�&�	�󨵉I�Z�=�̶U�Nzp�ԥ�ؐhaY��3��`��� ��$߳ד��Y^9�)��1ɓ�7��fGT'trE�ʹe=U�����W�i
^�_�4QC�q��o~�`@t�
o�W��3�M-!r�lf�I��& ���6ځũ�
�-*���f%�]�_�!H\�
���\dbI!K&\�L$:K
-� 
�
�9���ݭ�(W�)؏�#39D�� >G�Ӆ
�"�}{��7��ax�%�t��9�(���?�
�y�wy���׭^�9_У;����Z'�
���F8
��	��!q8���&n*������t���A��pd/�l�����\U5�m�)
Y&v�@<�tk�|�# -��@*�ߋ�aW2r�G
JJf��fCF���j�-"����M�jטzՄ�����
���j�X
�G
�Dh�\]
t#ؑ�?]
B�ʡbߖN���:��>���:)^��pG�jc�h#I����.���A��+S@����=«��L��}���,e�"�5�kaI9
�i�JW�9)B�8�/so����;����+l��6H�DI�8E*ɟ��uڢ=5a����l��l�v
J<�����A�{ki@� ��ˋ�W�(?����|��5���U.�Q�!^�s�e`P޵�����F�Ϩ�uH�X�Y�8̗7�Wc{`"ؾRH� *$E��}��P�,��V��,0���nj�9J��0^
���%�3�Wy
ҍ����Q&��'h�DbX�\��W� �[����)	�|�ǧ� n[A�7�����ŕ?�qj6�v����BVC�G��b���
7�G؃<%|o�=sW�X���57-�2�iх'҆�>�h`���L����p]�c�'���t�d+y���J�ʟ��R
R�#M��ʔta�# �b$
�`��r������a�B���I=k�T�y�
#�0��
8�z�u�w�����\���7�
��v�.[
O�ZöXp���:������+��#������u�!���
	F��q!��p@�V��=���
�@��)�+9�q@���Z��m�'(
-�gL�8�)B`��rB
�H�@d�LXۉҩ�z�(c�
�?��(��
�M���;F��
"C�
���
�F$�m��Z��{Z�g�d�ē��
���Y�n�-A�L�
�2��Vz�A"I?s%[���c�,�.#tG��5s����%M�Ւ�
jk�
����n�/u�\�M�v�|:�
��x�t�L�rNc��_nu�:�g$�yǝ���{N�ӊ
-��9gm�_thl��'�N�K��
	���N���jѴ�E��]�3��
-�C�$�WQ78I�[]˴/�:����
��W:p�V�u�����1l泃-���L�5_���rF��3��]�
-㸖�N�q>����
�����V��*��M���Z��q�_���T�y�
�w�W�k5�͖���j����	��#��:���W���'�BC��Y
�
-l
@]��a�,_
-����.��Tڏm���_��N
-y��>V�[�+��<Y�;�ͻ�&�kr��8�IK�V-��[���u)�+���&��@q{�2��Ͳ����/�n�.��Lrl�� �@�
=��<�I��ۚ_`�}��+#y~�[���/�b�.%7r%�Y(�<��
�:@<0����,���~��Y�����I����<O�������)(�$���E���ϻ��$Dm���z�U�ܫ"nB`��
�/͂��v`���N@)�vr�����
@� 
-�Bp)��r.|_v��w��G��b���<ʠ��x���o޼���L�����o��~�:雃��c�E��ſf7�g��"
-��{�`P��
͛Bep+���[RQ
-endstream
-endobj
-311 0 obj <<
-/Type /Page
-/Contents 312 0 R
-/Resources 310 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 219 0 R
-/Annots [ 309 0 R ]
->> endobj
-309 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-313 0 obj <<
-/D [311 0 R /XYZ 90 757.935 null]
->> endobj
-314 0 obj <<
-/D [311 0 R /XYZ 90 640.475 null]
->> endobj
-315 0 obj <<
-/D [311 0 R /XYZ 90 616.15 null]
->> endobj
-316 0 obj <<
-/D [311 0 R /XYZ 90 292.774 null]
->> endobj
-310 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-320 0 obj <<
-/Length 2903      
-/Filter /FlateDecode
->>
-stream
-xڍْ��}�Bo��2Z��쓽ɺ���Iv
W��DAjy� W�ߧ/��p��E@��w7��y��������4Z��T����j��4�&*\=W����Q%�������L�
�<����<���r&�]�['�?�?<����χ�
-V!�N�m%��|��`u��U����Օv��XE�_�>>��!���wd�h�	�Y���(H�g&���4Y�
-֟7
-F�Ї��SkdԴ��ե��׋�/��[ðޙ#������� P
b+�Ә�T����
�.��
t�Y����kHU����/}
��>�'*
�U���-�Ժ>1��Ȟ�&
�	���4���7aB<�5����)�_����mk\SWG"7}��6d�ʋ�����!~�7

r��'���Ÿ��չ�
�i�]W��U�����# �D�����}� �uu�mHf���(��� ;�La�n��l�u�U��9ko�>������,<��h�~�TEA0��`����
��`
�m�+V��j����޶(�(Tp?k'H�����s��$U�pԝ�-y]�}�ba�"1�����
=Q��z]z��tWc*6uQo
NYB �&
j`B�C�[Y&�%�`T\k�M���L|���),���F!X�!��l��<�������Pd�k`߭�a�+
�d2�K:�C�]
�����Nm]����/=��
-ď��"����x�*���3�gVD�&'�\�l)��'�tO�rIdw����6����#���v>N<��3�,��t�d�����Q�g$�nR�=_��0��:2L��Ցt
� c�1$��3��
�WtJ��Օ<"q�^7��].K�ݩ'6tN�w(�K-H�� ��~\R����J)&��}�G�3���t�9j ��5�-[��C�'{�+�fdݶ#���OH :��L��@Gx��
-[Z�9�p'����=.�#�~��(.	��8�D�\�]�w|��
���b��fX��
֦^7bUޫ��9P\��ȩ=J��3`9�ޘz���P(F��qpħ�*^���Q@>�T~'�\g���`�4���5��� F�ϗs#Ո$�T�+/���Q�8a4�~��Vv�S\�w-ߎJT4���%���ϵ �s�;s�P�q�uV����	�=zPtM�x��'��5�d���h�y�;߽�0n�
v��	2
kH�A<�&E$^�T����^�TE�Ai�,[`:�-�0!�dp�<M d���H�҈��&�I����3�t�~���'Jg��)f))��K�ŋ��BFM�6�+�j����;�iE���/c��#��f*�ٵA�w�x
�L�"q����X�h)XⰗ�U:�9�-|*?E98'�r���/����q���8b
-\Cnƒ<�ޫ�
�
ɘi�
-d�
���G
2g�
-[4�Z`*�Z*��J��+$

-}�ĂD�jI�1�����ё)�R�N����6ж?Iz���I' ��-��d��8��H
!e�>4i�w5oyU����uU�Os�ʼn��Ғ8��8B>�K�SN�̳I���A�٠��.�`;G����x�=�A�����A�?Mh[JI����{���Y�=!V�Bk
-�7��6�4����[L�߽�� �H
1�k`�㐊׹m�����}�j�ҕ�_��G��b�'���*�<�\�v0��H� C!BM��żn��}F-v��1.s|+)��0	�p�{r��i0/u��
��\\bg$��S��XSwx�'�,���F�9{���'
-0~�Ǥ>�����;K0��g"���Q_7Y��Bv/����T�e����
jx�N8<�?S���
��
�P9��rۓ��0Z.\����X�1�4������6	�8i0}���}Ⲡ����F��!'
-�Ɉ�,
.�0��*�g�:
�̉�9������ɣ�<�v�Fw7Aw�R`DG-  ����JT
���~����
�܅�8(
-�Β�1�#�4�T=�׵v�ll��
�*��c�r��$�b*���P�#�2��+�L�I5/�Hi�ic)J\�s}��D	`O�m�d�ˍXt�8AR~V.\x=n!�⑙B.��3[m�(�|S!
$za��s�f.�=��#!g�I�>�d���I�0ˈ,
)�b�8&� 2R��Y���a�<~�̔d�SE8Z�ږ/d���9a����[�R7�����$�ڄ܉�B�sB�+r��O��k*L؁�Ҧ����n�7�$Y
�c�A�6u���8v�!��gs
F�(�P�kT�W��
�����V���Q,!kL
@o�#�̱�t ���9���W4��rH%��!
,���7�1�����7���!4�@c�M

7%U�O�l=�f�uh����}7Qi"�
m_ʎYE�z�Z�r�
-�	�ؼ�{�y���A��ҹ�f>���`��.<!�������H�W/����_�wpo��I�ix	�V�y
���R�8�ӎ'��q��_���ʆ�5�
�c�� �գ�t�� "ⴜ�v�!�������H���p���+�%1Qs��{����'��a
��0�J�0ť�T����o��[t��қ�*��t�ݺ��ׂUT�ܬ=�^%����~�5(I������Aڇ
�����26p 9�hJZ��h��;��C�G�/���J��uTzz��n��W�D��M�
��,��B�뛦n�)�sa-~�h9��������/�������n����h�?֦�}��cm��&����'d�nK��.nsl������W�a�%�Wչ�gA���GJ�iF
��U�c��A�Kw_�ml,�v>#|af|Z��?�y2y�J��.�`��x��o�\��m�}e�vk�7`�of��cT��,�{,��ʺ�vd��6���c�B_b�wJK^���8
��
-endstream
-endobj
-319 0 obj <<
-/Type /Page
-/Contents 320 0 R
-/Resources 318 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 325 0 R
-/Annots [ 317 0 R ]
->> endobj
-317 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-321 0 obj <<
-/D [319 0 R /XYZ 90 757.935 null]
->> endobj
-322 0 obj <<
-/D [319 0 R /XYZ 90 589.002 null]
->> endobj
-323 0 obj <<
-/D [319 0 R /XYZ 90 363.8 null]
->> endobj
-324 0 obj <<
-/D [319 0 R /XYZ 90 217.9 null]
->> endobj
-318 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-329 0 obj <<
-/Length 3065      
-/Filter /FlateDecode
->>
-stream
-xڭْ۸�}�Bo��,�$�k�q�[v�.�<����	I�)R
����O7�
�q9�}�F������yn~������ש�A������)�M�FAG��j�i��qnz�
T������p�uI�w�TM��%��6��z�����w��EpT����Id"ٔ׻O���
-�o7a �|�`���C,�Yo>���.��5c�iB�L��^D��U�������Q7g���m�?�a�*z��f��R��� �N�M��_�N��y�fq(��"8�
`5�z��4(���V��%>��ު5_x���
a�}�E��=y}��f1}erJ��y��Sn����1uOϓi��<CO� �#�Q	��Ԛ+��=ѳ:��mţ����!
�e��b�*���rxAO�8�쫮�����i�hy
Yw-��J�VϷ��;��ҖK?X�t*���� rk$yFT~��d��i��b��a�~����0�2CǗ)�1����nT�3Mۃ�0'�
d��s���Bcu�\�
C�z#��&�
F��N�tgW�W��4�0(x�|��#�.�hy1�
�D;��v
Nh�WO;.���
ю#힌���� �5��J>:
ķ�A�l��P���s]
UxSD[Y���W_��*
-�
��A
��#�Q�
ڨ+I����&�1������+HC|�NL�f��
��e�Tf2�=,d�wl�����Y1us��q�ף�wvP �$��T�<�ʎP$=
.m�xʱ����쀖�X�F�]�l��_xk��sЩ�#��9
xJ��
���K�-J=N�3�W�}Ж����E��j�ޒ�[k�vM�5NI�
-]�c�;��/�T��|W
�u��Eİ$s
8%~�\���f�J
-�^2�U�eG��4=
��R���;p1������A2�}
ƣ�T��(�]�E�U��[D��0ᘼB%�<_;�@��	���y�dS���2�k��ى�5Jx�b��;��^�Y�=�b�w=/�	�j�{�~g��;�5:bB��Bxu�������"�dN28��l`���ŀRM8�C��
-{��ؾ�
�.��g���5�S
-PJ�R����Y�:��e-8.d�[%-cbYpI��[m�, �x��r3�X	��Fm�	�=�¿⎩SG5^ĠL^<���MZ
-q����L BW	��,���s��j	b5�8|���s���v�
�`��b9�rj@��)���s&���exV_l�[��<U���]�Mג�Ձ��!���mJG<�t7����%�Z6�C�5�7kx��`qS�cc�d+�;�N��9�08>�vp��s�f��X��ރ�LAp~	5 ��.���ģ�,�3F��ػ	'
� #��/9T�a����[ �j߁�<�Sj.(ĉZ���l�%JC)�_�#(�h9�q鈤�W�4m=\9���
���5��y���7����o���"���3���K�d3f>�|��^aFC+�i�]�
�l��
1n��ըn�9�Ɣ�ý��KO R
JZi0P��sH�g���'�*��,)�\�!��3aV�!J����E'(%!��&t�e�$������8
�=��Y�
ȉY�ᒡȕģ���D=�=E�}Ӕ�@���GV���T�'۹y�+�R��yv��Cdz��G��˂�5R)�"w�.�P�\� 0�yR1r2��#7f�8U�AT��{��f��7�F9�����H��� la�Ţ� �
k�W�
� ����ek	��V�0�F.C�M s5�`� |M��=�a���~X���0�
gM���a��_A8�x�!����u��5jo��(���W���ah�ϐZA%O�s���� #�9���oz� ���P[�؁_���Y�*���쫵�S�:g����1KF��n9ck�G(f�1�n:%��no���ʕ�Щ����mB���8����=	�dc:��
�K􎲡+���(�zK9#��3Nc���O�`���F
�V��Z
^��$�M����W�@�~5�:��1��K� [...]
-��N��)�
 �f��<���k��(�v7R� ÖgI=�p�������aO�x����^#bAa`�y��Y�%J���{�
�ST�a֬�\�)�JsT�B5�XsE�Lѷc,Ś�7t"
w��x�ʅ�	n�O7�$r�
-�^���!v�����T�\�#1����<F�/s㈳�����;�^b��ˆh���BWn�{�
xd���j��m��+w��
l�N���Ѷk��B����.��Uث#jeH68%w)-_z/�����l��hQ�bV%4MJ��r��}%�Z6M�ڕ��u��Qe�7���l���
-�s/�V��E���ϟ���
4kjV�]�9�1,�>,d�T��tS�ow��|�e�4��Y��T�M��
r��VW��L4�
&㐫��^��A�Ο{4�'-��s�U��mH5A�e);�sur�Դ
�
𸥶��ݛ�HN���uE�|Go�_7�.N�Om,
�2�$ڏC���G8�[0�JS=��8�(�
q鷴2�����ĪV"�+S�	�$�D��<1���U�8&#�P�'U�� o�I��V˒wD�p6�
-��5�
����C��Fg�
4�6��\�~��A cR�d�͗��8���&�
�N^y�Z�<o��|y��a���jVk��`(6
~S?�O21)Jq���vdKx���^���lLZ�ݶ���}����e�6	�8��)8�>�x���h:�լ�d���B��C��d�s�1�Ƙ�/I�F��E H���Yd>��$Τ�8�ٚja�U�y��������"�UA�A�I�H� I�3����X�+G�m�xQ���G#ݧ��M"N\,|Y�@�Ax{3���om�4d3�?���2�:�� 
-ֹ��Q)�
1��ƍ���I&$K�<�`ʒx���/_><<e
���@�/o����
FE�!Ȣ���
9��V�Ȣ �f�����X1����`)��?�xX
-endstream
-endobj
-328 0 obj <<
-/Type /Page
-/Contents 329 0 R
-/Resources 327 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 325 0 R
-/Annots [ 326 0 R ]
->> endobj
-326 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-330 0 obj <<
-/D [328 0 R /XYZ 90 757.935 null]
->> endobj
-331 0 obj <<
-/D [328 0 R /XYZ 90 714.318 null]
->> endobj
-332 0 obj <<
-/D [328 0 R /XYZ 90 375.452 null]
->> endobj
-327 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-336 0 obj <<
-/Length 3436      
-/Filter /FlateDecode
->>
-stream
-xڍ˒��>_�[��.ߏ��T�Z'N6�q�`� ��Y��	rg��O���r�9�h4�F�_�x9����}~x�]

-�H���|9�!K/	��su������?~�����ݫ�;�smJn�ݔ��:y
������}~��!���C@���ˢ�P�
~��?T ���{Q�^	�v������ÿ
�%���`3b��CF��&��Y3+m߸8*�V�r
-��E��x����)H��g�_��o;�ؠ+���yoG!*������ک~��������um?X���G�||���x)���ǻi^�]U��
F�G$H�)�"��v}��6�)󉍛2� �+k�znV���`��r��H�ˀ��8�

����?�.T�J�V1��~��De�����æ�P�K���vmS�ԝ�|lǾ���)*��O���	d�W��(�,?��f�(IZ�3�kkI�0DK#l�4��b�����. ��F2C����ge at z-c�����-̇n��:}	}9sS�s-:z��I��֝��4ZWN
�T)5{�
𪭐�Q�`�U֣�����)�� v�����a���~yJ|�QQ�"�5�9G�?\��E�E6)YA:Z�44;
G��'j��^5�f�M�S��b��8���M��ɂ�t?����Z�G���ǒ�c!EHff��1
P�T��JOb��}��D��h�bT�
��e:M�S1�Ђ��dIa�s���۴{�V^�B9L���Y1;�-_q����
K��%y�t��E��%j�|����Ӷ�=)&$E�E>
Ak�.���
�]�D����X9�\������܎
����x���9�t�U?���q�P�j�:�a��+����LF��E��dB��@��x�����,���K�l����o��
 3��_mD�q
-��@�h�N�v�9�n&�{/
-8#S^y�U#�U�n6tռ�$7�mH?�  �db�c���<G>�������-
-[d�"?����˻��
7��m-4���@��
E�hp��i<1D��5/���M�݋�.�l�v]o
Q]�(B\���R�Ɏի�kX�Y����W�A�7�079O>��\95�lc���.0Q	�َ��2�<V*O�W8��M��G~n���MR�I�q�OD|��rF&�J����
:�8�ߝ�x�U���Ȕc�<��G�[j��&&2
-�&
-�WF�4p/IBR���BEig뽾��B��Q��:ؽw�D����e{��iވf�/2��>���v=�8�E�U\�����
�0�5��D(���$A>
 WKvIݗg�;۰@��<畈�*��
Y�Y9�Vp��w`�0"d��g�xt���� I����1+U�I�d
3qu������@
�?_R����㕢���/X���KHqt_2r�LS�v�'���3�M�<-8F��eg/L��'�..
��Jsj�rRM-1#�@�az�
�m�Z�o&�L����qkx�7 ��
�)X@�� �-[�
�q�pM>L���T�8y*�׶"��t�J]A`� j����w��'�{v�˱�a�N��s�L� ��
t)
�e�pD���d��q�<
-�&�;b?-'e!���e���̺Y��3�X��
�al&t(�z+t�ּA�bх
ˍm��9����Jm�k�=�
)N&�lNu"�l1L�+���`�����el(f�b������Xm7^d3q��8h�>2�V0��N��쾚a"'�
��] �W��Wӥ��Y�j��J��g����ų���J����tx�+g$;�-�U��9��y��B� >�
�s��	Ŕ���#ÕJ�$��o@��l�����K����/J�����6^�(
ŗ��[!=�e9Rd h�2
� CȕD	ALc�l�ə€s�i�
��y�n�@
V����qH���\6T~~����B
l�����k�Z̡ �^�3�+hb#ɸ�;=�f�/=w��ゃ����9h�u
J��pg
-H
-���ּnXZ
-���"�}J�K���8B~P�"��$�8� �EFE���
��F$VjNJ�
�^�p��T	ξS�!Y���pg;'��'L&�'$Aߎ��J�e�9�Z�8���:�D 3�2Hg@32{�t.kB�ʚ��k�(Z���'uƂ%*MT���
߈����Agbp�M
A!q �t͊
sɖu2r�u5�Ӆ����f"�m&��GǕi�v�j�?De۵�����%R;L�e��6J (��~2s�
CR��\�����t>�mNvn�T�yY
�K�=�pK���R�%���
g΄g�d�r
���3�Ųɋm|s�
��Iф��k�}	��ڣ�S���nٖ"�l���h�Ip5eH�!�;��N7|��
�=��oʒ��T%e)����2���;��� 
�Y��K9����7]_�
�V��rg��R�r!��Ƥ�)i]�,7��x2��^V��z_����Ϧ�YiV��X;2���
m��vSOǴklL��@I�}벦)�Yp���B�@� �
H�:�GN�Y�����
Y�p$�,}?r���!��Wz!Ƒ#��F���䙰C��rW����ü��>�$���k)�Wm9�\�
}4���`
���"��WBS����l�%���d�ϵ��RWޫ�O�+nG�:�F��.ۘ8W���O���)kE-����"��h��t��Z��VQ�T'��rz�#u�<�¦��

-�T��п�*�t�=��n��
-�՛�O��(.�t��oh�)x��b]�9�'
h`g��*-t	��/��կ�)âYF �ᔍu�ϓ�X6Ж� �ɫ$���R�/^$�����A.
��%^Z��UظX� "`��W� ��XRS
�:��jqf{�!��x�Ս��J���c!h�<4�G���k;�\�k8E+�Ye��+�$�4�s�I��cەt�
$LHNx��S �S���|/]I1k��_1(�v#^Ԏ��TF�N�^$$~-��U!��—l�Ƅ�hb�N�^�b�j
-{�B�|�B�%`�v빍�����f�1�����F푫bcRh�j����ly�eY��G
-�R
��QZ��;�`4��[p�pɴ�'M�,���-v������ȏ8��`�{UDP�qF��9(X
nj[t.�1H�B
M
���
i;wD(�U�
�� vl,UǗ*�WJ��(pJ�$����f�9�����X+��gc��te�}u-"��0B�
���
E4b�����F��d[�g��^�
`�{�4��4���~��zE��k���d�%��DD�m��UW�Z��R�E� êy�{�~O6�Ɍ�0���	KK��Q5��(�Mi�?�^�{!'w�w?j-raa|:����S�b�`
�<�`��x
����޽��z�� �z�
����[Iz#(�=S��[���7|��^���
&_U���9���m
-endstream
-endobj
-335 0 obj <<
-/Type /Page
-/Contents 336 0 R
-/Resources 334 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 325 0 R
-/Annots [ 333 0 R ]
->> endobj
-333 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-337 0 obj <<
-/D [335 0 R /XYZ 90 757.935 null]
->> endobj
-338 0 obj <<
-/D [335 0 R /XYZ 90 201.692 null]
->> endobj
-334 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-342 0 obj <<
-/Length 3028      
-/Filter /FlateDecode
->>
-stream
-xڭ˒��>_�[��
.��H٧M9q�]N<>�v}�����)��ק_�K
g�
�F��~wCm^6��ۇ�>=���.����.�m��}��w*�b�y�6�x�gQ�폿��4��'?]�k[���-M��EZ��ק������A�Q�F�,�$۔���F�
-��o�0��+a�6i�������hz�,Z\3N�h��5m�Ҡ4��<I�Rw�c��hxk/
:��=����mU��S�1���1�T�B؅1O�Ƙ�Z��IW��mېX �l��v
@���{㬮��4�}�b���
�}T*�g���۷���)ۭʂ��qD���oxzh����<�p�w��8
�إnx�b�q6C��k�p���k��̛�/ǞA#���P
�����?v�n*ۼ��|��pȍ'-���g�FlZ$'���G��H��.ba�^�<c��b�$P��^� �
-hD�` 6�Ú��?�������&z<�.�c[W�u���ߠe�sĆ���r>��d�~A
Owtl��S�
P�d�W���6j�I�^ìș��q�ͱ><f��
��ە��'V0 H��9���<[�Ԁ�x��϶����h��H��<���#��b``�.|;S����@e�oM%��\��I�tP�E�����
3,��zp��~��8�c={�e���V���T`a�Xڼ��
��=�}����;��~����*
��
ĝ��0|��_���f��큁����S1O��w���ŋ
0����/=j)'���,���2l�_\2°�/��;�����xo�5�Eppl�'h��J��\{���8��9Cꁃ{�k'�cPx��[dA��$0�$U~�Xo3|�S�·(Ս�j�)����?	�(T����
�+onW"|}��AS����9�?Kß<���(l��
-��h�~
%��/>�
��LE
G��sۙE�l�i	�)�C�r�Kw�����
-�ї٥6�,�Ɣ�7�$�<�
�<������T�M��ʐ�i�֨�+OX6�O�J$� �kO�G���$
4�$�2 at B;�0{�2i˟�)��=���pj��SC�SJ,E0r�߉:qJ�!��Q�Sd�F
�~�3
N��J��1<�
[
@�ڦC��8��h^�8WM,�h

-`m
- �z���{��<@1h:]�O\w��t���Y*0���N0@��l����,H
��JQ4�9+m�jgư>ސb��t�l.0`��yŌ��3�>���\�>�i���y���1
R
-m�(���>��Y��e.9��:[I��ۣY'��π���XL�*�؜��{OFK �%��*��5�K1��@E!�`��
��s
đC)��W�^�*7�+�Z� ,͝���88k�3�=,�%��)�?\���4��)o,D�I[��2-���~J��8�T�14uK� \|%��  �D� �D�Q0��}���;|��ց�N�{/�CQIQ�J�f�z�7�my����Q�	�s��d�)�&�� )yBv�w��>�c+��q�I=��Ŏ��[K��ł`
bR�H^�Oy�yޖ�Z�
�!Ϧ14]����3�ѧ8q�Dʶd(�0a�����伡S�<m؇&�8`�����(�j}N�>H�ˮ|,�fZ���kZZ���ڔh&V�4�j����Y�Q��^j�
%�@uY��c����{��|ۆR����K�3=��2�e�B�B�J����!X�ڋ+sgͥ
�kbǨ�{�X���! �y\��C�B$h�o���ENJ ��"g%�
�I$+[� kW�
3'��(��>�#cp<l��}-��ڗ�w��Sµؙ'=%a�������#lp�;�T��O�
�H?�f��V�i
-�|��
d�H����پ7����fE �-�c'-
������E5���A���N��nx&�Չ���c
��e	��
-wL�P����������VvΞB#*`�t�;���$�$�F)�`3����~
!̣�Aa�?w��x�o#�(1��1ña���p�$L"�'��GJ� 	�y�{��Ԡ���R�]-9Y*+����c���7��� "
-��
-[[�Ŧ�ԍ�~�T�TA��d���Z��'��/�
CGcߑ���ӂ��

�16e}���>VXؾ�y���;���۷?v�Lx���T���q��J<�R�R������W3��Ä�i>�KM�O�PĔFw����y�7��C�����?�"¤tH)�
-&�1�
�`~�H�J�U,Emy���K�_`�/�k�&z;�T=�v6aV�<~�t�hM���V
-� a_(q��fz�6�瞐`��aX��Ѳ��b����#=�b�H���K�ZmΆw��7JP� w��

��~�e��k�*uN~wX����B��;���S9$�9�'�D;�.����g��*����
-��4�������������
ߺ��㔠�1
/��֙i�O�82����L�G��S[�l�Ky��(O�^
�A���>�f�băD����W� �C�dJ��$�W������9s�:�/��BZA/��n�l7�[�m����ޞ��"�p�iE�/���+f2��\�0/�ߝ�I���K䧧b� C��(��qO[ܩ!�El���%�o�a��OI�k{
����D��ƚ���R�R<���q�4W}�i
��X���m1�<}�
	2�F��N��NL�3ʥ�!�I��}K �IF̥�(���AOu8X�&�g�Ƴ�g��T�JW����X���Jӱ3N��'M'EO�Wԇɞ�
3ȳ�t��$*�s^H}�������cy��Ѹj��狮9bOB�Bh��J��Z�2�����Y��bR��
�(��
/��`W�Ѯ���9��k�
�yR��d�0˼M�{��
j�L��v4�����g���{�X��������_��wP�9N���~�������
E1�L�~� ��k4�
 [...]
-�d�y�a�����-ޘO�z���q
-endstream
-endobj
-341 0 obj <<
-/Type /Page
-/Contents 342 0 R
-/Resources 340 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 325 0 R
-/Annots [ 339 0 R ]
->> endobj
-339 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-343 0 obj <<
-/D [341 0 R /XYZ 90 757.935 null]
->> endobj
-344 0 obj <<
-/D [341 0 R /XYZ 90 285.07 null]
->> endobj
-340 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-348 0 obj <<
-/Length 3279      
-/Filter /FlateDecode
->>
-stream
-xڍɖ���_�[���5�E�6I�;~�L��g��&�&2)�dd��S@P��D�P(�
-�K��e�z�����/�dW
�<�wO�]�yt��h���~
-��c���W?�(�+Su<y??w�����V��`Ri��_��}����ׇ�
-w�Ύ�c�����O�������CR�+a�wi����}x��C��k��!�3�fy�?&Q��ku���V|����V����"P
CN�8
�+��O�/<��p�j< o��B��p���$-����#8v���$	*�p=��C��8�^��k��#'BD�=�(��mT�4�we��xr���<���
nx�/N�l{o�S�A|YV��Zw]en�8�E�2_�p�^�YPMz�C���e
�z��i ^���|d̡�gcHи8��nBdd�#��uV���
��_'��ix�1!N��dz
GwO�G�<=>�����8S�|դ��
j�uzo�{
)����E|=��i�i�A�����@FA�
�lj��i�� l�8 �#��,�@
��O'�8�H��8��U�
-Y|�C�O7
��p�oy�Έa�y
��Ut��
5fd4ݟ���(+f�_ډ�����
4rQ2ޅ�g�G�NRZ��er��Q��(u�7�bY�I���Wu^+I/��u�gY�|s@�}�k+� l�����f㗮ﳕ3[�S�o�w�o#�q?��@!�Q�2�(�
r[�i8k+��|]����k?N�7��u�����'��U���GP7}F;>�,
�������z!�����6{�N�H
 {+!aY�:r/������Y��y2�Y.m��������:�w0��-�O��W,kH��z�ɝݑ�j���<.��1����Z�,y	
0Zt=��~H�lH�lH�k��֨�;�(`[��zX��Z�����%��	�:��HH�Tf��ar�S�0�U�pp�
y,�]5\��8N�����#g�
�RF"�a�⩇�m:)h tm2C��$�]�
H��-z�;�7�|�	b�
�`��}���8�i�!��wO�'�
-��5����t
B߼N���
��b�ucˈ���7'>�>~�6�`�(���-�g�=s�ͭ�M�\���1��7B��	x�
���c���-�72��
-ΆE�l�i�'>���5�4��Ӎ���a��M֋��S�B��Xi�ʁE���Sf�/�,
d�w�A�R&
���QƉ�m���0ћ;���C��=g�x1w�a
�0o>'ܬ���Ғ�n&��A8f�}x�l��]i)b/�PJ�
��z\� a���5~Z��G�}��� ĵ���vD�d]�x����,-�]��J��EMk���U�C_��Ź�bܩ��{��Wqp�n�*R�3V
-��a�~���r}@�}2��Z�U�s�����֖�]U��
-
�,���]�QC?�al�v��X�Q
��8�/�
�"߬���2�RI���#Y��E
	�9��Q,�1��ܪ�K���Vx���PKb}���RYb%��qNn1HJd�C��qn��*��� ���I|3�b
���
X�����E�P�u7KPPşڀi>�]��
�>�7�6�JN�wn��U(��8�	�3�PHb�x'�im)
����{��݉I�I\m���Yv��� E9�W4.�Quݲ2��)�nqb&�`�H�K@�C����:B,W��
XX"�gl<]rg=}.'�C�@��ߣ��d�LJ�{,)�I���g��!�5��E���?�U`�C�*	�P	}�Z�t�
�fn��S�Ҳ����u}2f��6
,�+Dߖ+yY.n:�k����Q�
���ը����$0
�x�fM

s���׆i\�?/HN0J����b��I�DY0�R�8���t�C;�vF~o�S�OLJq���p�GVq	o�2�p���_��]�m��)q��L�A$ln2�]+̺`�ba^�&�C��p��VD��&�80}V��<R}����,��]�IRd∆�n��#$y�9i�މ��#!�z$B0� ��'zb����A�e,�����S�:r�R����K+�����
K�\K\cϭ�R [...]
�r�
��ё��
A`
-/����F���ԐGd��(���/\V{����y՚�Gjۜ�(2R�SQ=��h��+ڃ7{�dg�m=/��A9�����:��^*���Ij�U���4��4z�e*�u�]s�
Î~��x2J1%�dI�pb�Ib���{�7�jL,~1.��Br
-��ĥ4�
-̧�yK��� ���������P8a`0'k0�
R:
m��)�w�c�Z>�K;P�_^[��͠�
j'%��'��
�S��
]�Gm��7�і��\�U�*��#�4r)Tbi��U�82 h+�n���S6z�p9��h�o��F��Y�p�����/c�M��~�b`��;0��y��jR�����

�� x�Q�a�Q�'QM���
EO�z��nW�_�?B�{�����3�J$��y��-]v�$��
��Ӿ ub|Hr�6�1�>�����d�p&?
X��6prV��
�b�
��y}х�
�q�G�
��������-
-�HNn�������Cu�m6'��n�G�ͮu��B�u�:Y�s��}��u7�CaǿCPu�{$7�չR�r3�zQ
�7X`�k�p��)���~V��\�!�S��#�h������V]�7�@4�~L�<:
$p�R��'b
/��BhلEH��z�d a��l�
n�0��[^����@N/��LB�&_:��Y��������0��L7�}F�v�9
-�1&]��j��3����Җ"��8�+*��yĝ>`�e��
#9�Ʋl��+!PXK���{�� ��΀#y��٨�Y��Z���/��d|V=�o��z�{�<�[
[/�f����LiƿQ�sW��~�;�gf���Ÿ Q�$��J�J
:���<�S�B��gv�p���P굆��u`
�pTcy��H�{N1�#E�8�U�n����TPx�n�����
 Xt9�X+�#��3%l0�ޯ��s����H^
¼������d��P
�B�#���,?����Z�9K�x?t�V5��9���?@��[�
d�`�^��7�9;Q����-�}�V�l�/�J�ei

Qx�]��J�\Xwv�
�
&�X���PDGX"�i�������z�����9����ҽ]I�NPQ�
�Qi��l�=�]
-�zȒ|�x�M���J���;�.R�?
-endstream
-endobj
-347 0 obj <<
-/Type /Page
-/Contents 348 0 R
-/Resources 346 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 325 0 R
-/Annots [ 345 0 R ]
->> endobj
-345 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-349 0 obj <<
-/D [347 0 R /XYZ 90 757.935 null]
->> endobj
-350 0 obj <<
-/D [347 0 R /XYZ 90 714.318 null]
->> endobj
-351 0 obj <<
-/D [347 0 R /XYZ 90 597.999 null]
->> endobj
-352 0 obj <<
-/D [347 0 R /XYZ 90 376.602 null]
->> endobj
-346 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-356 0 obj <<
-/Length 3237      
-/Filter /FlateDecode
->>
-stream
-xڕɲ����B7KU~�KnN���ؓ�8U)���$�p�A���ק7��
_jr��&�޻A��.�}��׏O���]y,�(�}<��`�g�1����z��>:<Gi���ǟe��Q-O�ϧVW<�AWM?60)�؇�᷏�?}������
-v!����<NwU���o���������]��lw�����L��sF�1�R>gS_p�,�OW5}��l:D�~�p��σ�BySS�O<n����}����C��8������/��[��$���r��`>�L��T��������{ّ�x;���7
�␦���3H�
-By�c�
-�Ù�.G*��#�#r$ U<}8R	��֖�l�w��~����2�`�k8��5"ujƢ
��wfM�7'�t��!yl1|U�Z�
-ٟi�8�<�~��V7�(]*#�?�Z]��1���3�!.��m6��N�,��� �q���
�o�I=�_�te�b��Ci h2��Gͫ�̥�@V�;Y����EUxF{��n�r �&��t_�/c怮�
Yr
l���
-J0-�#"�e��B"kY�����bXp�(��!��!$X �C����0Wܔ�t3�ܣѤ[a�	7l�/�+_(���:���
�c�RI����J�J��k}�3!9D�l)����
���bp5��Hv���N]n��.b�`^��p�w/
�#��
�0
�	A6C�&]���3���֪�$���uG�^�
-1��5C �;��q�ϓ��������_�u.R�#O
-�@��kŵ
+�;ݫi0w�$Bsf=�
y�����놡(FD�;GP��9��F��.daq�Fw�'�
-_���5+�߭4ic�p��i�T��h���(�I�`b���VS��[��W��..��#q�}��A�B<=A/.!��I��m(~��=s��Wb)/lrĸ��})�1U��< U�`�Gs
-V�~�Q z6
-�h��M��e

Z�-9	bzKꢽ,MI�PL	|�M��Af	#�>{�ix�ud�fR
<��'��N���q8O�&0���[a�媫+�kt���~��]��S
�a�h��n�Uې�By.�L<'^�ȖN ��ʩ�Eoi�7�9}/��*(
-��[�D��9� �t
��������;[�����^K҃��r
d��f8]��:�p��;�Ќqv6C�#�"��$��
�u$d�Bc?���_�4P��#_�WG,�٧�n�+�9c�6c[�\e�rC���t�d��NJ!�a�Nղ˄�0p����!��ޮ�띘s��@d��V���c#^�m�)�l���H��h`���B=WMK��g5t7�*\`d:	��'�ea�*��(U��sH>s�r� 
^�6�{[��Tv��-ek�H��'��>�`4z5JS�* h��l���2�
-�|�&�q��|��t�����d�ry�S�d
-t�rS��(,��VC-���K$��uw�~��tn��e8l#ú9#^6�7��-[示Ț�!��|�V�'�&q��-7r��]�h�"�r��W
�J�
-}�����p� ��cX���8��G���l�!,�Ͳ��(��_���jꡓmV��M�
㤴=
�'K
�a6O9�#42Pu�Pj��DZ2�˿\�	R`���f3�p0x`�I`�	�9u1��Ѳ�U���<U��c�u51�}��'���@~p�
I����q��O.ca 6<Sh�������>{kPk9���Ú��q�m�^�hqr?n�����`6����I�#���,ˍ���I��0����������$���x=!�F̟�efa���؆���>Nؓ�Z��}/�SB;s��{R1���p�U<�p��>7Խ#@
-�D�
\�o� ׂW�ٶGl7��7HE��l

-BV#��R8H�=��y�E <Ӎ��*�Wx
ӻ6e��B�m�jb�b��{V-ד�\��|����M���M����{�e��� �i��g� xoHU
I'�i���{e�����Y|�{����0��O�C�����Esky���n�]A*TӜ
�
-Xp��6M+�����bz�*B.�Y$��b� ?�@�D���Ju>7��ϻ���� ��8BL�$�e^�Ζd�Q1FaH�\�e�ae���z�7�m���L ���qY���V����b*�N����^�u[e��ȖV�E��g���r�f�
-�v
9- b&�ƺ
XY*
�
-P� �,�8e�'@HM���vĈ�w�8Q<o^i���׍�u'�7n���_d�#$	��e=��,�d�ܹ!^�>XA�1E��TP�����ٮ 'Š�>�dw��pS�қ�	_����>
��J,Q�}4	��Mj?HI01�c "tr��Y��@���Jۈpچ��6�=��S��bfC×�
-��Yx�
��V�@a��r�-=�f�{���@�������+��Բ��Fƹ���x&}F�H<�g#��^Z�
N����V����[d�aC)��(��sG�
�XBUH~C��W��~��E x�;
?H��^ �l �d�DFAk��F��
j���
h�D@��B tt��퇙
 ��Q�=
Ѣz�dA(��1<�����6TEٲ�U޸AP�j
&��:��7E���^�ީn�Co7S��`�ký8ٲe�a���n\7��#�f���BA�a����R��ZIPXyC�ūCp�L���l-���	�L��{NÐ+)�h %O�%G3Z2j�B�~ `�/1�շ���(	��8�{H�5��Z#��5"b���_�]K��
'-T��i�M�c[L
%l?��/��1�: i�I��|*L���r(�2������|f�QbS^�6D4Z��D�-@%9���	����\�y/.�LZ�L�^�+�Ʈ}�/��P*�4,�1

�uL� �"]��
'����E@�AP��TB�C#5[5!��
8����<yyϿWq�3�ul
�H6}�}�s�*��K7��YM�,ky�����
�e�aRx�M
��֠��FB����3���"	��Jײ�-e |���N�䏁<�/M�AX	 Y� Wn$��i��L
���� +>��*�O*ٱ��B�����4M��L
	2�L'%����������d�U}���	ZA�UY�;�y�J@�1����g�
��+�	�ap���Ij���

��Ύ���J=�4;a(�_�4�������˱�s�o樧w߭$� �ʣ<,�*g���["�s���4�v�9�����t�y�z�/	�b
-endstream
-endobj
-355 0 obj <<
-/Type /Page
-/Contents 356 0 R
-/Resources 354 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 325 0 R
-/Annots [ 353 0 R ]
->> endobj
-353 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-357 0 obj <<
-/D [355 0 R /XYZ 90 757.935 null]
->> endobj
-358 0 obj <<
-/D [355 0 R /XYZ 90 451.826 null]
->> endobj
-359 0 obj <<
-/D [355 0 R /XYZ 90 323.551 null]
->> endobj
-360 0 obj <<
-/D [355 0 R /XYZ 90 219.187 null]
->> endobj
-354 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-364 0 obj <<
-/Length 2780      
-/Filter /FlateDecode
->>
-stream
-xڍY[w��~ϯ�mp��p�9O�`�
���ɚ=1��
���O�@p��짮�ꮮ���t��>{Z���!����fo��m����X�
m]�
��{�+F�ΰ4�i�"��"L��z�H���y�YCgdF������8��_7:���t�m
աi�����h�5��4�
�zG��

ڴ���z���
;
S�l���
�6l�#��P��[ M]��a��}��s��oYJ)�z@�UXŻ8�����0��}fQ|��f����-%.ʤ�+yƼ}\��
4�'{��y��7�eO���*�6��98\���uul���x�p�-�M^0Qmc	H��Nm
U���9��뚒6���m�%�w቉ϤoX2��� 
-�뤂)�
-��E����i��`_
����
-��Py�q�1>/P���ӇJ�g��g�RŠ��⮰W$�=xt͝�c�$��I: m����ΩH>���m��c����qyHe���Z�4�>%Fy
�4�wT��n�)�
-6
Uˆu
<j�͏I�a������mpXQ�Yu�5Etv�	t�
�Yg��xN�n���s�Xr���
M�x�d�3k��iL�z��7y�E��}}�,/�9��"�)��������=y}��w�=�<�A������?�}�
}i��6u^��=;
�.�*�����t?�Me��u]!��ʜ7�
��3�r$���w�}zx��r��x�53'��{�	�p^���h�����t
_��>���0���h9�%�
��  2���3`��
���@:ݸ�93n'����6[���x���ي��H���9��~������SOp����&�,*2:
�w�.��V�Y"s�ٍ�k�m�\8�m�� J���� ��>�s��Ƙ�,`/̕41
;᙮����ץ��C+�y�b	��!��Aj�QN]
��mB�W��f¦�
4�P`��d1uXB���ԇ��g�s��&�X��,�!W氘1�
-E�����1��̙�W���w&��zq:Zu�
(9b�&h�|��™B@���~�L���Ɣ�
�s8V�����ӥ�i�ŏ�-8:OvIELG�I�����("�1
rÑ�|%�C�j1��C�s8�.�<�%�}sدa��
q���sx�I-
S[�`u\��U��e�6�a���;�*�2�lC��5#�ޞ�L�,�)k`\�_�w|����m
�A�:8L
�� �y���۹+��V��M��d� �>R��s
_t5�&\��'g�x�9��ՙ�ҳP��@ҜGКC�/����b��
;La;P+3��
���s}`
�aZghDV����
1��E@�M���W�u�z蜡~����b����,�]3�]��3՝d�*6!��0�s��T"Гm��t��W)�T窿�Ow�:L�Q���57xv���տO|��h����Y���Wt|�|�r�0.J�l�3 *��yG(���jIe�C��Ї��WO�����2��_M��b�`zY��5�{�
4 [...]
�£(�;5P��*J��5�Q��$;����5�����C_C~OҾ�ޙ�ca�
-�����$�m��%��ʳ����Ǥڲ�����b��C��eɒP�t3��²<��g�ldۘ��m��$�^��ks�6.�%�b�՗��P\�d��M
_}�p�s�>�f�p��LNj
��.~��M��
����>���

?v��
��.��K�I�0��ٝ�N������8m��1
0����p�z
I��$
Y���#�Ie-y`

A��&��8�5zI%�s���7Sp�E� ��yY&���
}.^GojbK��`=M�9]��ڟa�M����S"nO.ܿ
�D��ˏ��l�X8e����s�&і���)�d �'R�WE�ч�&~�m�}
-�5E�9eɮfs�7܂=P�Ԛ`*:Ά����L!;���#FA�R'�#ȫ�3aP'
h`�[1��mn8*���uMT��yÑ�UX�6J�ō�%TBt�5�)
)�Ė1���֡������yVfn��c�(=�r�r�m���L��~�3���j�Un�C*#�!F�|6�W,I㰬.��ǘ�"��\�B�d�y$��ϓ�y�������R7�T
�9����!)�'��
�� �
 �:��l�˛?��ib'Rh
-����5g+���O%w�p'��|	�H��f.�#
�$�v��e��f�,��Ts������|_���L��L�C�gw�;�T{<O��S
����g�k��}���&�֎����d{�dtB��	��g�h#A�DA?m�����Dz����U[�G
>u�W�a��w#��>D�?}�S��A���C�����6���:.��#d�T�
����G������#���Ucj�́E;)��<=�IEX?�|a!���r��Z
�~k\�{���.�U�$迄١�+����5�
-10)�r�DZ����g��~��:oѰ�H�a��۪��|<
ըTY�/Ԥ������/
��u��k-�'�./��:���i��0I�8�`�.�e
��Sz
-endstream
-endobj
-363 0 obj <<
-/Type /Page
-/Contents 364 0 R
-/Resources 362 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 371 0 R
-/Annots [ 361 0 R ]
->> endobj
-361 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-365 0 obj <<
-/D [363 0 R /XYZ 90 757.935 null]
->> endobj
-366 0 obj <<
-/D [363 0 R /XYZ 90 640.589 null]
->> endobj
-367 0 obj <<
-/D [363 0 R /XYZ 90 500.359 null]
->> endobj
-368 0 obj <<
-/D [363 0 R /XYZ 90 348.174 null]
->> endobj
-369 0 obj <<
-/D [363 0 R /XYZ 90 235.743 null]
->> endobj
-362 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F76 370 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-378 0 obj <<
-/Length 2614      
-/Filter /FlateDecode
->>
-stream
-xڝY�s�8�_��K�X�����K��I6q���ݙ�e��D��
���P�\����I����w���rzvq
���I#
��A���sB�
�����?��
~�{��u5�R���ζkU6��uI��<Se���CO���~>����u�����3{���� [�}��
́�y�:~�
vf�z�����3�#o8H@�(@y=���A,|Dž#t���#�U�zҋf'+K��rn�>'��aME�WU��8����m9�1y��� ��s�4LI�?�Е
���-����<��rO�B6'"8Fw����ۈȱ�LWyM�6�^VrM
K��uS�m��<P�
e�7ʒ��9wyQPk�s��Zl����&4�?7�_ԙ�}e���qr7���eݬ�]�^թX�zS�Vh��J�;����\=~�6�\���L��7C7~3��zz���#�F����������Ϗ�OW�h�	�
���ll��?�RU����yֱ�,�Lkm�q���?�7��W��U5�`��+�T��W�8I�Lo�?��K�stY�ry�O���"�"ox�R7�8�R|f
-/������Z5�����n�s������ �ꋎ�@
�����=
-icA!b,b'Lb|RԚ��ϩ��p3�Pf�+=�pG���e�^�Pg�W��ٞ��PYS�Uh6)y��ܠ�cs
W�J��H$��K]6Z��R8ת�qU��o
{y	}����p��e�,<��|n�嶤R���-�T����V��[��
�Y5���V��D.T���
�K���8f��\}����8:���
-I�v]�*�\~'?���H̼��U�\q�� ��Db���M�:Qۅ{%�ּď��\��+�-D��g���׎�� ^gz��SO�\>��>O�n9������6�p
a7�۸�_��
�~����A(�]�����yn�ռMiL�al�
-<o�m<:��6�� ٦�LUp��*���h��/?9W��_oSt6��(
�7�<�K�!��^��׆���ӗ�
f��g<n�5N��h��rF��r�(��!��14����!`#�v�gq�� ���
��	�h[�"��щ�Sk��G!�hg�g�ޚ��	p�<_�Y�(�$���=�$I�O�74ل���
mO�vHg%�ܭ��Ȥ�;�B�rf0����o��!���3�Q��pЖ���T
5Xi4T�A4ʴ7A�0d�v
5H��9���kt�*�|H�̿�VZ��n4�l�$��(
��98=_�
ިH�FB�k�j����~Y!s ԃg7��Ɣ����HB� �0Qײ2Ҁ�7�F�h��0ȩM�#�2gb���39Ir�UQ
MD��b�M�聬�A����Uoi��O�����0��"� �6U�u�/�
?�
Y�X����
��R~OY�c�T
���H����A(���t��\b3�Vf�J_�-���jO+x
�O04!I���Q� l�
-/5)����vV���"r��*�(�$a
	����@Яs�
�ll
F�,D�k��`5 ���R �wt>EC��>�;�I6(YʩX��
E���cHu�rxJ���wg
-*
�#"Ʉ���Fp�W���}y@��6�܂'� �
��`(fR[~�%�4�}���

�	p�KU<WTuc��(�$�!$v`�F��|@ka��ڬ�B�z��_�V�1X��Xn
-gլ����
-'
����7
/p� &��v�
 :`��ӆ��������5`"�ق~�t�����sG�;���zf��9��ہ�'����S�
~�sÞʩ7��ܔY/V�ܯ�"),L{�%�u�����кb򥮛���	
�
-�� �AD�<?Mzw�zU�^���R��۷
�9�n�VOA(���i[��!���{����q1?g+ჵO �J������9Ų0qۈWz���=5����:

�&_.o�����"�[H5w
�
R��Ar2�\G� =�!�'-��J�-f�BS���i��$�K�j��b[����,�d�{��{��2��K�w}mN ."$
�� MBɑ�_�z�CL����m�3ա e���T
j���1o^��-�l-Ж?#��
s�M@��`P��]�'XC��/��� �$j_/-ZWU��e�	E[$^�3�	
`��"KVy�f�$�[���!R��`���%��ݑbb�Ř�j�;�:���A�1��-2�Ij�!"o�yu���9A�
�E#��1S���jN��`$��v
T<&�L6�{��s�}2�_��#Tn���kD2�b����E�̜Ʈ����Y��;<h��A��[+i�K��s.�l��#O
:JZ��ݽ�:��cy���/LXת��У�}ȅ�
�)�96j�C5� 
-ț�F�dt��ug
�m��`;
��#�/"�$���4A�=*%Jq��y\N),��瑉���Ĕ
�V�W���{�/H�8n���O����Ic?�?k�pU'�x�1��b�R�JZC �t>K�Kd<
�k+����\'�3��> �/&P���q
H�a	簧*�Ga�$^�
��ٖ��r���|OQv�����ri/��@�c�	�h0{6ʹ����� ��?p
-endstream
-endobj
-377 0 obj <<
-/Type /Page
-/Contents 378 0 R
-/Resources 376 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 371 0 R
-/Annots [ 372 0 R 373 0 R 374 0 R 375 0 R ]
->> endobj
-372 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [314.956 612.712 472.963 621.82]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
->> endobj
-373 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [152.087 402.893 321.452 413.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
->> endobj
-374 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [225.562 348.78 508.501 359.684]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/philosophy/why-not-lgpl.html)>>
->> endobj
-375 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-379 0 obj <<
-/D [377 0 R /XYZ 90 757.935 null]
->> endobj
-14 0 obj <<
-/D [377 0 R /XYZ 90 334.085 null]
->> endobj
-380 0 obj <<
-/D [377 0 R /XYZ 90 302.157 null]
->> endobj
-251 0 obj <<
-/D [377 0 R /XYZ 90 302.157 null]
->> endobj
-376 0 obj <<
-/Font << /F63 247 0 R /F65 249 0 R /F50 215 0 R /F76 370 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-384 0 obj <<
-/Length 3712      
-/Filter /FlateDecode
->>
-stream
-xڍ�v���_���R��Z^DJL���x��q��6i���,t)��K
��;7��L�y��` 
���Ǚ?�p�z{��}��e���l����l��8
f�|��-n���>|���E�����*돺�Tg��A�L���?�� Z���x�n{��*�5�Y at k���:�g�����Y�3���a
g�0�o1{������7�/�FK?�y��\l|V�6�wP���~_���5��ι�
L˭a��1%�&׍`V������J0���U�^@���	m����F_/nVA��t��Ә�;8�M,�XNXj��:ab'�k/��X
��w�Dy��n��F
�
��ȹ�UGͭ'�
y<�a&2�w���A�A���(�q��:�AuSG��(,gg�	W)
D�K�
��}�0��s�a��:�h:�\�T���
�BEɔ�N���)�N
-��$
h���-
�U����ԑ�~\İ���-r.����w��Yǝ��:�<D���Aפc�����=�\�
X�hc�Ύ��+�7�
��F� � 	�h�,�'��t3S��81>YNȭ=
*{gu�����l���Fb�4z�]fz��_X*��z����@������ݛ��w��?3��/o�\�{��n{�×&xfJ,��2��c
����0ZF�.�w
�`���>�����(&7Q���yFB�?
-i�d�Z��`\���Bet���	-T���˪7rj��T`�
��,
Jw�N��?W 쬲�8�C+ۋ�m��"�sҕ��2
%�Qj�{��
���p5�7�A`�ʮ=v���)�L��6LA�*:�*��
�p�͠��/G�	�n��
YU�ڈi0ol�
a�^.�� ��;�
k�߂���dD������{K�Ds�s��rϺ�a
K'�'0R
��w���B`K\F� � %i
G���� �ug
�q���.���gC�1����0Z_[q�y�&�M�yF���E���T�s�O�z?/�e/Y����kh�������d�X
�|�Wޱ�����d��{.�+8��K��gP	�F�M�:5eJA?L��
-4/�������^�
�u�h��p�_}?$.Ɓ��X�`�:s��{
<��.�
�"9���9���,����Ib�`�w�q,��z�k
Ն,��2|"�5;�������0�!lȔU;r��+�ځUi
QC�G6xP�nf{�ثG}��x�y$��A�����}�v�m�J�W񧄰)H]��5`/f=
��
0�f�
- �j��a-��4F�3XI+�
�A�c���'�fkР0sɹ��b~F֪�6�f ��
L�@��k3'h��O\GG�w����
�Ap���_1D�B��S�J�V��Տ��z���	
�z2�x
x���RFFG,
�08K��D�56�d	hO�6!�ꈱ+f�)/'??
:e>
zJ?��o}{̓d�V/�{G(|�
��Q��Z5
Clt��"����
4��
W�����>�?
2J�J�:B�>,v
�BC<.�$�Ox�-�D�p�t=�
w��x�j�H��
�HW5&�@>�\�,��q��~�X����:�WBo��hX���[�5.>qKŘ&��@`�df �STm�l�Ar �wL`]i
`��hq��t'}
-1;��a~W.VhyC�iI���9w)ۊ ��t��
3� "�
�I����t�n/(q�|�:�<g����c�iO�
�v'xI+Q�0��M<���T�B��ZD
�8
-=#� ZQ\�=��<Ϣ��p
��ݞ�J���8�θ��(4��I��
�sl
�r���HBH���^#d��`�8
�3�$GZ�Iy1{�2A(<�LS��8�q�/^��!�?���5q�m��B�
��%X��	���4 �(;a��^Z2e~�.Rz�H�l��J�?tb���m0l�X�bl;RN��JAcTN�	�
wܬU�B�#��
��
�y��(J�^������3'��k�}��2��3��x���"'}�����d�ʽ�U$e���\�
Yn4d���ɂ4�2p��8�n�f)��ݤ
W6*�Zi�g�x�^��j�S�$����:�W���^.�b<
i�|� ��5D��rMbH��8�+pL'C�E��2��M�U�v��Ց�|.A'WC���8\m�0�5V��J�a�3
�:s�l��

+��
b�x��� ���^l<�c9�p�����
&��]C|a�����)07-;�$����|�i0a��R��!ޜ,�P�&�=L��p�:��t
��� �O� ͑�Eȥd��傾gh
�
�6�� ��c�T���]�Yr���``�C��*�
e�Bt�����V�K����hïY;%�wM+~�^@y�8\ֽ5.c:�eL���Ñ$I��BE2��@|"��de
������p[m�e[�{�!�ޱ�d#��t�;:j,�2���MZ.�I�ps�T���=
-� |a(�6?�}�ᨹж�#4�������R�&�Z,"3���@�
-�;M�T�y�@-�"��D�:&�K�X$���%�>���ֿp��=�Q�6Lm�C"�ėx#�/���f`��я�$c��g��
����#���ĭ� ��A8	ɤ�:V�-٪�
[�?�lوǺ�,0��L8�–n�?�
-�>�������5��x
?q��_;���E�g
�Q*D	�)��'I�!�]{�o���"��Q���uæ�W�"�߄���m rœB6*m�r�����O
�������K���î�8Y�3s��۷��R�J�
-�
���
����%`�z�o?���tͽ{�1
��p
7�Ty�ݿ}π���,� >�Gz� عfaX��
Q8�Oٖ
- V{R~�cO�X<�F9\z����R����{[2�y����%�X<:��� �_�f��g�VS�fJ����bmtc����T%��4fۓ�.�M�!��

g�m+�eX�™|1���t0�ƶzB�Ð�
-;Rg���ש�V�(J)
�:�DVt�p�\d�b�Px�2b8�L�+6 �$���L��!a� l;�3;s'[�@�Z
9]t��}Gs���r*(tw����Ea�
'�R��6�|�]
-��9Y��"����hL5���*xC��֢7�v�.�R骋���2���< �̳O�o#����k����R��vfv�M�IOr� ��M���=����� �_i����"U�U�	マe4kz
�Y�+��B���`{Nb�j�!=�,�`�0x���o-8���t���b H�]�t�t���(�p�ǧ�D���� .�'kD�,A���m�
Ea8LFXfN��°��KMЖ@
*���i'"P��QC
2�T�酡1N��h�d,�Qg���mQ�N���y`�
��#�=D���Ē
�@�@��9�v�=��	h�˅����D#k!_ �&C]؏,��K��Xd|�*������3��ǥQ"[��}R{������e��/&z�s�˝�B��!F��=j�o��_̒��O6�f��e�2]G�gY�.��-�������J�*N�٣�Ci׈�����'�a9)����6�6�	��V7����yl#_�~3>���_���?Ph-|af|������~�s�0N��`
Ct�C��߽z�����%�g�,M����Wg��`T��� �T�u��l7�:X�Q2�Y�$�c�)��Q�vq��؟

-endstream
-endobj
-383 0 obj <<
-/Type /Page
-/Contents 384 0 R
-/Resources 382 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 371 0 R
-/Annots [ 381 0 R ]
->> endobj
-381 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-385 0 obj <<
-/D [383 0 R /XYZ 90 757.935 null]
->> endobj
-382 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-389 0 obj <<
-/Length 3631      
-/Filter /FlateDecode
->>
-stream
-xڝZY���~�_�ڗ�U"���$˲ױ%9^9Ql?
�!���8��ߧ�����J�0��z���Awu\��o�^=�=�����x�xX��U{N�{��|��:�l��]��7��/]k�o�M֝uժ�0��/2]5��A����o���}�x���k�+�ֈ'	�Uv���7w������tu%��*�x����~�s�����~��q���`�4]7�����ɻ�d��R�3�/ݭ�o
ۇ
�3e�K���uG�g@�%��N<R5�u�2�T1_��F4��~�Z�EF"Z�����M�� 8���]$;7�fD0��EӚ�v���F�f��q��k��0��Z7�����!�I�yі���́�|l)!Xy�����u3
/r6yq��f���og���r(!���j}V2��(~
7/ �����>��^����yQ
��5�<2[���r��'�C^��ĺ8ڽ��W7&UVv�f�?QΪ�U�J���JU�u�0��(���4���e!�2- ����M�@�Z�Xv��$�����R�=f��%O�L��9p���Y�ev�d~
`Q��f��E�k�����K��Iz�7��� C��g��|*�ȩ5~���uG��MU޸�H�B�%}� ����e��H�n<{D�׋�6�@�+
)�T���
R͔���W\l��pݩ԰s"5$��,
��D�2Q=��~�S�~�J'%��(�>�S9�m�5�/���74�9���f�}f>�
�����j�뗛]� [...]
gλ
ϋ�$qd(Kn��
-�~@6%lb3��h�#r�C5Ƨ�97F���wI
-@��
�Ѩ�l+��l�
-��=R #R�,
���marPF狋�(Z�t$=��:;U�	J�Ԫ�j�&��4���AY�LƢ>���֦�y�*�Zk%Q�g
և�f9�8֏��0̱p2>�>�a9�W�p�dRqxN�
-d%��[�')�
x��/3qj����2
�b��(�!���/;��(�8�]�e����:
1l�F��T�0�BՕ�'q��yO�
�>+&lӡ�Iv��OU6�Y���n�QEA��'E� P�El1�7\��m�h����m	_�*����0(]�`��"#�g/E�lMnOvr���dJy�_J�e��OE �†��?�:~� by������
�
?
��9�K]TtX|�M ڀ�]Ҵ��7�A��,��g�ya�A�u����`��Q֝.��Q6�q4�+���<�}&N�n.I-� ��6�2�
�D2—�Q�߻���}5�?3?nk�m#k�����H���4M��?tG~�2�C&1	�
 ��fQa��J�jRE�'��A^�/Ǽ�x:�0d~>蝜��758��13��AX�@8�`��d�
b���W*�4_�U��>5���
�rk�(� �Spׯ
A�&��/[�|��
-��v�c� `烼I`��.��[-#kOM���b/�,
�"a��f҂^9�.��Zζ�6����{
�De{)+0�5��;���p& 3"h�� !A�!�T\m V�h@�k�
��ĆT�&X�����[p<��T!u-v��m"����4w�v`#@��"����"`*!w�h�	��s�Fc
8��ҐW����8��v��%&��ma���o���1@�G�t���M�K i��1ɵB�~QW[@gC�32:�
�9�q��FH@��p�
�f`h�})�`C
4�샓9_�6l
��M�0��qZc���dفf������jH�\k q9���ʜۗ��m
���TZ��gIK�E%;�I�X�vk$F՘J��8�.��*k;B葻䍧�ayQuz6�W�I�����2)DRG=��	R��;p�HE���{��㻋����?�)�Y)#�(3�;�+cdc�4�A8ڕ��A�.d(r�
mקڧ�N�ݶ���eh�"b����Gbr�QB [...]
-l
Hw���SNI:_� 
�
�����f(�d�Qd-5���m��B���y6�Y

��`��֙p��r1o�Э�p�K���s��GV�:1fԎH��g:(y����T�F�P�E�^�c[�N pc���0S��xɂF����ZD�R)��):��U�`��
^$��NmV�z��Srն����L\I7�Ȧ�L���:�=ZXC#�m��h<)��^ȩ; �`��!�fm)ӯZK̀WY����V��{���O��V%�B3����{
�^�%ax"8����~��P�=_�Vˆ(����x6�{?�	��
�Q�`jY��2f!/x�j�(Qԁ�VZ|j��qr��
2��|�j�l*�c1Ԫz��'�!���nge	"��^.��-��os����ͿP%	�J�û�o
��j���?�AE�i)L8,߸=���V
§Ut��LN�=�@����C
2�U�p\vG�-M��U�� 5�B*dB�g�
�n^�
-�y�=�%fl�]�7��u�����>;.P�y�
:+M�"����֨����+��X2Y?N�%�Mle
-�ڐg�9�N�FQ���O�.�s=	VDe�üg�t�����Z����D�K����4�ߓ%�������(n
6V�b0�E�cϾX��g���1����;9�������`�V��b'
�����I��h�4���	�
t�Kg��=�I���҈�3�EYn4|�g�{�:�%Y��%�r�k�)}\���(C!�L�EK%�eh�
k�
-An �s�q��G��x�#���po�'[9��
xB?�?����{B�HTp
=#��0��~ENY����1yj]��Wi�g��+��;v4d�I,����A�z��� �z�
8��(l���
���
B�A�
c��
e�@J,�d橰�c��@�n
+8�� [�[�:3*�I����_6��qt����\4����`N[6���s@���=���=��,���b:Y�S�5obP�j
�46a��b#��
dIN�)�7��
�
ucʹ����,�����5��`)Y�T\d��7<�Sm��%M\7}�����n�ߠc���3V���~����Rxݹ�����Y�KB?�dŅ����p���3][0��y�ׯ8u�8���������]
����(�������>K�yo��I絲��ת� �|	�#��WձS�>T��
�%m�����2\T���K=���\����'m���������-D�#B��^bU�Զ�ϟ_�W'k��*.�S��/���̢&���I�ަ6�!�&%
ω�x�M`�gKE�xV���{�q��C
-endstream
-endobj
-388 0 obj <<
-/Type /Page
-/Contents 389 0 R
-/Resources 387 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 371 0 R
-/Annots [ 386 0 R ]
->> endobj
-386 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-390 0 obj <<
-/D [388 0 R /XYZ 90 757.935 null]
->> endobj
-387 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-394 0 obj <<
-/Length 3100      
-/Filter /FlateDecode
->>
-stream
-xڭ]�ܶ��~�νT;��I�w�����N��s�v:I
��V�V������ @��j�N|O"�A_��y�8�oo�~��{z��NBn
���D�k��<�_,o��c}����x�n�ؒ�z�u6�dէ}QW���d�!>t��r��o��n^?�|�qaMg�5�Ȏ�`��n~���� �ql/�7ϊ���r�p����7p
~]׷'�D³�0 �5[۝'|�W'pҲ�N}�o�w�hڢʊ&e|:�Ǻ�^A�V1R����܊�z�-u�cZ��
��߷n`IX�USy�P���4�D�z�,e��ι
x��>i�C!�v�k'ﲕ�����Q[	YKi��m?L��$��W!����i�C�ߨ	��������@=nK5
�p�E_r�I�䂢JOz�a�j�}YtG�*�}�(e�S�[�u-�v�����te� ����
��H�~+
kUbpZQ��>���-)�Z9c4����X�x:�,���+�]��V��M��ϛ
-�Ħ^_ِ뻚�
��q-T~�+m���
E���v Dۡ��ni h}K��n�LJ����N3u����4�d ��'mY[P�����RF ����s�w��
[��{[e�KT�8���I�(�b+=��(�-l���
�Y+%`9Zۑ�&x*�*�����*dld{*��l7�@�hgv����
j�UO,.��_D�
U�vf�����X݄�Y኎Z�<p�$U-Ƃ����
ke���TSV���{Y�6���_j+�]U �F~x��ǂ�]t
=A����Kk5�aP�B�v��d����w���.S��� �Af�
QZ��`ב�75rF�D�
K9���X�U�zB�$=a#STW,�_����6;��>�﮸���{ɶ��
��
��E_ĥ�-�Y�sa~]����v��Ď�u����$���
;�����焺�T�nϷ�Dbe
-��1:q&Uʃ�4�b\BEG����Ĝ`d�&�R&�h�'R����x\%����ܭ(�":#`19�"<>8Ok���"�`i�<"�;�{�M}�i6#���$�����BP�����
�����j�n�� 
 �/>C �gȃ���	�
�"����R�cDՕ$��` :�
e�L����b6w�W��
-���E
ݖH[0hLq9�U�Ѕ��ȊPJ�aF���~�~�(y��M��H��.k�={đ+�T��cZx5#�Dj3qa��V��M����wW�O�W|�i�F%�g4ru�`�k
-�@�>U*
�T���p��Y�
 *��쎙�E
�aC�!j�,��ȕQA}���i�5��������f'Ek8�a����>|�!h���
�d �,>�02.E'g��BJH_�A*v�� PQ]Y�z$
h̔eE�5wz16��U
�
�C������~<J�Id��3!�
hJ��s���/�ͬ
t�$�Y��/��Tu�8������)�á%�� �C���m�?I{
)z�3����yhO`�1<���I�a{	�I=�$�a�\�
�,*�0�e�a1�����a���(�5����|�<�V�5}M�b����M��J�$���$/
-t��{!f
-?u�U���P
`O�v������
�#�Y�/Y�
�)����J�^8ᙛWl7h�c�X]�Y��s����� K��
=��+Tg�����%��hB�I����Q��z%�jEpk:K�լp�$�K
�
V+��*�
�pE�b�Z �$Ol���JVㅉ�� �2��(��'��#VY:"/Znr��lT3�dF��F��L����F��f8�Nj�Oe�����y��J2<_�Sb����+�))_�_�)�����
���g��bJN�e)U
�wLې�ư
л}]�a�M�с��à�	N�2�r<� Izϋ���GX���,C�
s5�{�����t*����Bkv���9À�(Ti/�k��
�+��3i�od���gbg?ޚ#C�?��Wd�"X�z.��5}EpO3���*@Yt������V
-���B��/%�=C�.+���������6Edq�����&l��a�n-R
�`��7��9��v��W�B
ލV�uKߴid�SŘVǘ[�������})J� ��U���KӮ{��҈>��'Pi+�9	Zj�� ��c��Y*6
#-���=h�3�Q�
 �6
��Ѧ-�l�x��	�|}���@��C6�je��W6�52�����b�
�GԆ�h�h�
��H�8�8v���0��#�X�#�z)/����L�yf�X 0��Kok�Z!�"G'���i�����+Ó1T�����g<�b
���5#�:ǀU��A��ԉ�iKӦ��B��Y䚌
�"��
�@G����`�:Ҙ� ����hج����b@�g��SWU��/d&/�t�g{��*ָTgr��GK�ct�9�ΐ�qd"�%�1ED�~�D6�d��f���F-����y^a�����u����g;*:X��W
ۢ@�b�C�t�ΠQ��\�/X�|OW6��-�7iש�K�)��CnC}�~z�_�q�w<]��S��2勪;�ͪ;�l�
��X�%.m p���K6T�mͦ#ҵ��
�'qɓ���4d��220dݰ�y�X�]>6 HE��&�]!�ϣ�] )�OUy�*y!-������	f\�+E����}W��:�J���9����?,�<Cl���ȴ�<M
�˥
�?hF�l�]JD��ղ�?Ӄ
rU�"��hf9�([��g�Lq�B�'[<#	ӌ`�
-<����o ���,D2+���:�
y�3��A6
������o�����)���R�-���� ei��z�)�\��P�����R�OC)��-Q��֘{*O�7
&��� 
���W�JU�[��O���w
:�B ]w��Ϝ�g�ڋ*����1]cg
�/�
-c�	���!�cPh'��LAbG��z:hO�&>���(�6��y�VE��y����%3�g�fy[A�{P�H-��!�0:ߧՐ�O
x�/J~����xu9�z���B���ѭ�1�	�-BTk��������=??�YgUѴv��5My�Ȗf��?�"w̗�Nq�)'7�
x�f� W?��c|z���9���


-endstream
-endobj
-393 0 obj <<
-/Type /Page
-/Contents 394 0 R
-/Resources 392 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 371 0 R
-/Annots [ 391 0 R ]
->> endobj
-391 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-395 0 obj <<
-/D [393 0 R /XYZ 90 757.935 null]
->> endobj
-392 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-399 0 obj <<
-/Length 3140      
-/Filter /FlateDecode
->>
-stream
-xڥ�r�6򮯘�%�*k��c��X�"ǖ��8��$j��`�ǘ 3���nt)�q�^�@��h��qW�+wu}������8Xe�,���v���U{���V�b���/��u�o?��]��R�,iv�l��mC�bW6��n9^��s���j{��̃=ݕ����MD�]}���� ����	�tuRX�*�xV�����6��;��6n
�ۃ��w�?��n�J���9yS����P	y(����	��d�	iV��lڞ�
�����u~�yk?r�Z{���eW
)I\��%�A��R):�%�K�⃳_x�&�����#a�c�D�DS�OE
���e�O߉�X�)�N�|N���Yg��m!�p]�,h����<���0dsfJ�t������6��s��w�����f�{�������(L��)��
o,tc�Α/7qvm� ����8X����o��a�(�p��*s�N/���x�\@a徂�e����2rQ�� ��B�����|'�}'$X�Тص� Hi��\BHJ�
-B�9v�\� wyO�'�
D����$"�u
-
�Hs��TU���1A�i֡
l��睸X:k�Z�����J��D�Ӵ- �F@'
����0��
��@�<�\
q��{C�&o{2S�
����-��
���F#��qX��`P�� �#0}���)��p�ԥ
�+��M Al<
-aS���o�^t
��}�R�]��,dcX����e�g��u�5����
-I
�����P9��'����#�R
��X=T�8VL���MT�`�"[!1�J�� 
����]y��r���#<MrzH�<V�mNG�$�4�L�R�X�
���lɢ lY��p�p�ud �=�3zX��3�K6W�=n�v(hJ%�8��/x��f�p ������w���t\��Ј��Z�S�X^ 2
��MJ2�q
�3W�I
sd� VM��$J��i%z�X���f��	��������>f�~��iQ��Fq�je%y�G��N3��O�L�GK�:A��� Y�g����u�慮ͪKZ��c0)��y|ɇ <�
t���)Y��
���y���Z ib��wq�K1.���v��X��	�<
 W�NA��?�0��霦ꌩ�! h���$�eT�g%��:�&'c�ab)
-�7���?q����F��0*I�1�7�����7#�f�m`�������br�J<91�8��/���zε�U��
F�R�<Q}���X�����W���&?|�z�����'Jw����2	���
c�D�	|�ڪ2�U�F�N�
-L�㸎�E*�Τ\�&�
MB�
���1�4�itQ����b��h�����DSНD9��|'0����B�
-s�A0��Eo�?�n��S��QN�hyc.p%Ee��Ի�"�t�	4p-ͨ:8{Vg��t
��
Wy
Q�6s�AX
��O�
12!

� �5Ot at e
�<)�"�����l�b�q*mG0����aײq�E(�C0n`��}��zz��Ck	��h��bߵ5�P���S
�~�֎$�E:��LI؂w�Z��/��ؽj���~�m?
9��@4|�
ɍ��.TC�x�w
-C��֫d
j�'r��i1�p����]�7�a
�r�/�܅�jUk�#7�ktD]��3k�,mY�4��
�>�w����o�湾�tu�f
^���o#7۟�������
-~n���
�>��
��
�^�O���}&�u�G�X�fm��L ̉�1�z�1��"�C�S �%�y�[�=�(Z
��5^a���}�G-�*����VO����
ݥ�up�:��B",�$&�&4�2�PcX�\,�~IF<�-k��s�
ޚ��;�K��@`�x�Z��(j�څ�`�Qx�|��\��� .j�Y�Z�K���ߊ �)Ih�L�m�q[���5�<�ٮc
ͧ���O� ����
:��i:��5���.B���eC`���&
3��L$(/���5�j�T����U�]���a�RBG����b.�r�}���Ü+^ut�t����
-���e5���#_r�E6��K.�p��&�����[���h�N\
�	ҕ_�q�-�;y0	�|-#C��P�N(h�Z2Ha6I���[�@�^xaa.hl4(/
��B��� ����
�y�g�^#���L�hKf�F70;��ف����l�2��M��o�[7k�ݝMj�G�9
��4U��,(&�������a-z�O1��+����F�x�2oe6����@Qe�ĢY*�KyD��m�s@�I�]�$�e
ɏ����vZ��B�[�P��{�3�'��TҶ#�m�Bh�V��L��Oon�?�e��Ńno�����F�<�WC��na��s�4t�/�a �����t� tT���p��t������`�ȋ�����k+
fT/�7��-��p{
Ac$�I��8��u�."��Ԧ�"�M�ѧ��;��<�rT`�Cd�氙!������1�y�]�yI�

_7�u7Ta���
"�_4��?��j�˶f���}����h���R�T���(�t*��7�����8\l�e�� �4`2���
e�МiO� ��[���"�jϏK�e�y��v��'���:��m�n���X79P����r��K�
�d����\���D@��@y�<F�L�xd�hfA}Wp= �m�@T�;%8��iW��
�`FO�	����baԹ��ڻa�v�^����dA�|�!���Rգv�}f2��De���=������'��d�鹟>��cG���â?pG���bƝ3IH�ɱ+��,��C�%�qS���fd�n�?�f���\���q���,��&�U�)�B�5f��ծEġ��`5����_�}X4_*U��_���Լ��(��鈟��?
�C.
��|4͇���3%��h>d�"�����ä*0���$N7n�~��N��M�M�)��$�6Q4�|�bD�]�󴭞e���?1Pu,��9�K�ǯA,���ӷH�{L�����T�
i�O� [...]
-endstream
-endobj
-398 0 obj <<
-/Type /Page
-/Contents 399 0 R
-/Resources 397 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 371 0 R
-/Annots [ 396 0 R ]
->> endobj
-396 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-400 0 obj <<
-/D [398 0 R /XYZ 90 757.935 null]
->> endobj
-397 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-406 0 obj <<
-/Length 2432      
-/Filter /FlateDecode
->>
-stream
-xڕYYs�8~��`�e����!���S&�$�:���TMe�!�;<�<���o_�H=�}�n���n|݀\ko�ֻ���W�o��J�$�#k��׊#�	}�Z��7{���C��X�]��}_������k��� ��z1R���W����Z
�
c'Bk[\}�ݵR��\'HV։F���[OW��r����D7V�B^�ׅ�vՁZ�g�
�.��)�글�Eگ��E�f�
!��n�g[]6ZFT5ON������w��,�=hf���v�.e
��B��V[
��!�X���L:���T�L��݁Yk2�k�x����������
���Y�,A��%�:#+�+Э�Q�mu�� ���8�E�%c[�ϋ-xNU���)�G�@��HfM#�WY*K�2e�)��=���
-�f[����ȵ[]Y�h�0��UW3�����a*�dz��u1S��������g�LX���UlU�fZ&�7
-��ѼP��:��Hy
X&��j�{�-W��wuU at kE����� i�l=7���9��4֏��LĈ
ڛ1enS1=��=S�,�t��z� �օ�ʹ�� aב�!ڣ8�*�`|�0��
;�/�=���p�_�_�X���/�O��?=q��[����
����ݧ�;?�#~���tX��~[kjE�S�kOx
Tmxh�
-| �W�<���G<́�%��@��a(
��L
�%����j�
 ���u��9@�q���K� 3+��*CY 
b�n`?�;�nT�N4U�_�ڈ�&+�\��!/#��Y�B�2A����Mx�`�پ� �A�vz�R�[����
A��Q�;��A v��BX����u�H�=i��&(L@X��Ȯ� ��(q��7)�жǟnoO���/;������\��[��k�^;�E
��&b�].���N�߂��UL�p
-�|���v���T�sȳr�APgx�g)�b
	C��&Lb�~nj~���樷�o���ƌS-�Ԝ	\�
�b(�gu�h�x���JĨ>B'���$�ZF
�
䷂�Y+(N�<�HiT�v���1���ze̗"7L�4�4k�L"Cg�ρ�^_�vM&O�5qb©f.ZgIց����D�昆I�g�_�t K��.%(��\ߣ��nZ�]
<�n��e� ��[c�&��1&a&Ťo\�+2Z�"�B�׈l�;���~f�r 
���e���b�2{`��R�
��CUq
-/��#F6G�4�!��޴�S�����������@�D��i�ۍx�SC�&��w�D2,TV M��@s��5A,��j�ܬ��3u:���f>��K�Q��bG�K"+}�
�'��0+��T�N/�{`J1hL�*�� 㵚��҃��ͻT�D�u5�(JH=U:��z�ҝ�A`��#d���44�\8��TmJ�$q�ȇ�0��8��]c��oƁYk�|G��?���%�A�\���%�	�Ï�U��7�E��e��r�z>��{�h���>�O�?�9�
\�����l�G���UI%.v0��7�
-C��qn1�-� �z0{��h!5;O�����(���FlM�>$] {������sz�
�R�d���p� O��9O��E A�K�
�>��	�,���峪� �~�[Jj�ƣ��U�޼����k��5�(n��V�?d�4Ցz}q�
���0z�`��7���.�>�s���r�9�ڙ�����N��Y.g;I2��Ok`ݗx�}FT0@�� �1<�A����֋ؕ�
-�Z�\� O���sd�Zs��,A�s`_c�8�3��\33��ٛ��$?�>�焞Ao��?_R9�@��t����|w/д�_?�=I����D�|�Ϯ4
��'��
��<���H�`N� �fB
���4Զ�5	$�)X\yj^S�M��+�U��w
���K'��I��LD0�[���U�_�� 2��
����_͸�i���d�&k�K�4}t s­�_��5���`H�������W�T�4��*�9)y�񈮶��
-#(��3��i���lK�<�ֹV
W|y�`��K�:Q�75��癇�ȼ�!��l��Jzm�g�oM�����_zk]����
8C^X%e"�.u�D�/�BɌ��(��8b��R��Փ��b�ѽ�/%���g�8q�����=�}ၜ�e�\Σ����7��u�{]�%T�)�L)Gn��G�������
-6��AE≚0\���~�U�;��
Gi��ϋ�{J��� 
�]Y�`��8�}wV����q�Տ�e`�*��$V�WA�8a8z
=��^�B6���P�fO٦V��;��L�
-�k���ˉ��*;%^��w|���@���ї���0rV^<�2�m��̎�����c>�0u���cH
-�y��M��%�&�!m�u�$� 
,.08��8��C
-endstream
-endobj
-405 0 obj <<
-/Type /Page
-/Contents 406 0 R
-/Resources 404 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 409 0 R
-/Annots [ 401 0 R 402 0 R 403 0 R ]
->> endobj
-401 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [258.676 612.933 428.041 623.836]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/copyleft/)>>
->> endobj
-402 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 103.07 513.996 112.046]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.8.1) >>
->> endobj
-403 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-407 0 obj <<
-/D [405 0 R /XYZ 90 757.935 null]
->> endobj
-408 0 obj <<
-/D [405 0 R /XYZ 90 497.744 null]
->> endobj
-18 0 obj <<
-/D [405 0 R /XYZ 90 203.883 null]
->> endobj
-22 0 obj <<
-/D [405 0 R /XYZ 90 169.897 null]
->> endobj
-404 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-437 0 obj <<
-/Length 1057      
-/Filter /FlateDecode
->>
-stream
-xڵX�n�8}�W�m%`C�"�,ض�4���/ia06m�%�����wD]j�(��$J��9s4�pD�
t=x5
��9�p�3�f("(�)���=8½`�8��R噜���&�����-�(DŽ��N�a�tp5|PxH�.E�.�d9x�J���"�y����D
�p�����٣G=�=�5�@���G	9N���8��t� Z��
vp��dK�Ҽ$U�o���뼺����v���q\
��d�TI���}� �
ֺXT�G�Um=U����i�_Z��~^K�ͼ�����i��?�A��3i�r���f��F�c�h��� ���
d������ܺT@�L8O.m�����ZBp�伾?���O�(�u��a��M(<�,�U(~�
_�2ϟ�~�[�o�)\:�E��|6�M�d��.d�H�3�)yj�0�j��7�/���O�2�j�$��t�ŪP;Se�-�*�Rls89~=./_mƟ�LY)T�Ձ�m��#"�M�V�)3��0:�#”�
�<�!{NaX��[
Yu"C��8���N��
!l�a�
OY�E�
�Nc�Π�ܬ��!Ž�p�
1�8���Z�X�����
B�
#�9q���l��X�E?�o�%����]E�_��(���; B���Z%���9�u�����U
�AjF а�@����DK�^��B
-|/rx��M�z�.�1��˔ù=et�4!��#=��pB�p�7�;�̋�sWCǣ�$��N�,q��<��IpF(�΂?�:d0�X������T�Sy�g{��c\�;
I.��Sk�g
s<�%	�ʱ�����y�i�R��?'�r�N'�SD��C��
��Pݥ��1>�����
�~���
�];M�a™
ί�1�
��0�͙�iyl��շM�M�X5NUS$���S�5�e2_�-Ѝm��v���se~s�����;��d�vL�DW�n/�!�剺l��{��սj������?�Yl�Ȅ�C��싢�.���z�'9^%:3X�,��{m؎P���F��[�l����ł��" ���N`�R��4����BKO@
-endstream
-endobj
-436 0 obj <<
-/Type /Page
-/Contents 437 0 R
-/Resources 435 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 409 0 R
-/Annots [ 410 0 R 411 0 R 412 0 R 413 0 R 414 0 R 415 0 R 416 0 R 417 0 R 418 0 R 419 0 R 420 0 R 421 0 R 422 0 R 423 0 R 424 0 R 425 0 R 426 0 R 427 0 R 428 0 R 429 0 R 430 0 R 431 0 R 432 0 R 434 0 R ]
->> endobj
-410 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 643.852 216.421 654.731]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceparma__polyhedra__library) >>
->> endobj
-411 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 645.754 513.996 654.731]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.9.1) >>
->> endobj
-412 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 530.266 513.996 539.243]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.1) >>
->> endobj
-413 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 508.348 513.996 517.325]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.3) >>
->> endobj
-414 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 486.431 513.996 495.407]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.4) >>
->> endobj
-415 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 464.513 513.996 473.489]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.5) >>
->> endobj
-416 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 442.595 513.996 451.571]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.6) >>
->> endobj
-417 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 420.677 513.996 429.653]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.7) >>
->> endobj
-418 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 398.759 513.996 407.736]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.8) >>
->> endobj
-419 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 376.842 513.996 385.818]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.9) >>
->> endobj
-420 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 354.924 513.996 363.9]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.10) >>
->> endobj
-421 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 333.006 513.996 341.982]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.11) >>
->> endobj
-422 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 311.088 513.996 320.064]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.12) >>
->> endobj
-423 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 289.17 513.996 298.147]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.13) >>
->> endobj
-424 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 267.253 513.996 276.229]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.14) >>
->> endobj
-425 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 245.454 513.996 254.311]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.15) >>
->> endobj
-426 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 223.536 513.996 232.393]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.16) >>
->> endobj
-427 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 201.619 513.996 210.475]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.17) >>
->> endobj
-428 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 179.581 513.996 188.558]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.18) >>
->> endobj
-429 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 157.783 513.996 166.64]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.19) >>
->> endobj
-430 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 135.865 513.996 144.722]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.20) >>
->> endobj
-431 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 113.828 513.996 122.804]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.21) >>
->> endobj
-432 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 91.91 513.996 100.886]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.22) >>
->> endobj
-434 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-438 0 obj <<
-/D [436 0 R /XYZ 90 757.935 null]
->> endobj
-26 0 obj <<
-/D [436 0 R /XYZ 90 733.028 null]
->> endobj
-30 0 obj <<
-/D [436 0 R /XYZ 90 709.842 null]
->> endobj
-34 0 obj <<
-/D [436 0 R /XYZ 90 629.157 null]
->> endobj
-38 0 obj <<
-/D [436 0 R /XYZ 90 597.094 null]
->> endobj
-435 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F11 291 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-480 0 obj <<
-/Length 1300      
-/Filter /FlateDecode
->>
-stream
-xڵX�s�8~�_���Z�$A��f�\�k����\_Ҏ�`�a�+p��]!pl�ܳ_l!V���V�����e��m��B0'@��¹�8v� �S�܎�;W��c�,	��?�c���~{�x�!�$h*EI`f{緽=��!�:.�d܉f��������
|穔�9
e�87�z�rm����{�H�H
-nn���z��Y�|Pc
���^�zyzz�M�ht�u��n�G�ϑ�q��N[o��r��eϹs�z�����
(A�-|�8

���D��6K)!��d7�~�ٿ��JØef��g����0�
�a����
B����^PW��Vd+㈲�ħw� ��PF)�%�xޖz�0zY�Y3�T0�r�r؇����@c�l�f��"���"���Oq�����l�qZ䪨�P��f�l#0e�6�%�s�������>J�E��v1�p�<d���
lQIزk�����6~��0

�x������2��F7���%�����Ł��m���Pزq�F�e�K���0A_���nT�t\1N�
��P2OP�ZW�Y�h�V܂`��\X�*��8tjZ9.y��:�
��㵶n��'A�Kie��zP<T���Ryu��^DE��H��+Ca:��JOʖ���S\<�ѽ����*�t\
���)j9����KاU֫J#�뼕�����WI��P ���1�V[�H-�
s�>��@�-�8���y`6v>�́'���ө��-�r��&	��B����
L�k ������m�$�����d=4�kp�4�8ǒ�����Xi�>�Ikh5����}����@�a��nYq���>#P�a�R�g;7���=c�k�i;v�5g�� ;�Q
�n�;
^���u A���\F��"��E�� $q�B��O��
Fq;>���2/V�(o!ɭP9�&ۈ�.����"�.
ƭu���cV
� �u�ߜo�p��_�%;��_��ttʔ��e�X��3��+
��/Ш(����0�
���t�vn\j�cU����r������zh*ˊ�p���}W7�n{u�������+���r�QL

���VѩT��4<:
��fp
-¯r	�Ù긙��Ω��u�"N�
��=\y�<H�d~u5�
��*:X��a���f�z�#V�r{�Q>\���<�),�^��tNUM������7W�7S�U�?�)��Ul���q�e02�D&l�?`��F�G�
�N=�dH*_�H�@>Yڇ�����<==�(G�0�(.N���d��n� �duO5��;˴���I��pU7�q
-����mh�<�ţ�
-endstream
-endobj
-479 0 obj <<
-/Type /Page
-/Contents 480 0 R
-/Resources 478 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 409 0 R
-/Annots [ 433 0 R 440 0 R 441 0 R 442 0 R 443 0 R 444 0 R 445 0 R 446 0 R 447 0 R 448 0 R 449 0 R 450 0 R 451 0 R 452 0 R 453 0 R 454 0 R 455 0 R 456 0 R 457 0 R 458 0 R 459 0 R 460 0 R 461 0 R 462 0 R 463 0 R 464 0 R 465 0 R 466 0 R 467 0 R 468 0 R 469 0 R 470 0 R 471 0 R 472 0 R 473 0 R 474 0 R 477 0 R ]
->> endobj
-433 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 721.95 513.996 730.926]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.23) >>
->> endobj
-440 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 700.151 513.996 709.008]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.24) >>
->> endobj
-441 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 678.114 513.996 687.09]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.25) >>
->> endobj
-442 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 656.196 513.996 665.172]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.26) >>
->> endobj
-443 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 634.278 513.996 643.255]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.27) >>
->> endobj
-444 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 612.361 513.996 621.337]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.28) >>
->> endobj
-445 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 590.443 513.996 599.419]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.29) >>
->> endobj
-446 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 568.525 513.996 577.501]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.30) >>
->> endobj
-447 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 546.607 513.996 555.583]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.31) >>
->> endobj
-448 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 524.689 513.996 533.666]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.32) >>
->> endobj
-449 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 502.772 513.996 511.748]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.33) >>
->> endobj
-450 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 480.854 513.996 489.83]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.2) >>
->> endobj
-451 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 458.936 513.996 467.912]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.34) >>
->> endobj
-452 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 437.018 513.996 445.994]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.35) >>
->> endobj
-453 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 319.627 310.042 330.506]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4) >>
->> endobj
-454 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 309.575 513.996 318.551]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.1) >>
->> endobj
-455 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 285.754 284.117 296.633]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-456 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 287.657 513.996 296.633]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.2) >>
->> endobj
-457 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 263.836 268.984 274.715]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-458 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 265.739 513.996 274.715]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.3) >>
->> endobj
-459 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 241.918 274.523 252.798]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
->> endobj
-460 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 243.821 513.996 252.798]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.4) >>
->> endobj
-461 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 220.001 309.94 230.88]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
->> endobj
-462 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 221.904 513.996 230.88]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.5) >>
->> endobj
-463 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 198.083 268.994 208.962]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
->> endobj
-464 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 199.986 513.996 208.962]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.6) >>
->> endobj
-465 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 176.165 304.41 187.044]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-466 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 178.068 513.996 187.044]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.7) >>
->> endobj
-467 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 154.247 334.119 165.126]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Domain__Error__Exception) >>
->> endobj
-468 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 156.15 513.996 165.126]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.8) >>
->> endobj
-469 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 132.329 267.32 143.209]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-470 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 134.232 513.996 143.209]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.9) >>
->> endobj
-471 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 110.412 302.737 121.291]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
->> endobj
-472 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 112.314 513.996 121.291]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.10) >>
->> endobj
-473 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 88.494 292.784 99.373]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
->> endobj
-474 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 90.397 513.996 99.373]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.11) >>
->> endobj
-477 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-481 0 obj <<
-/D [479 0 R /XYZ 90 757.935 null]
->> endobj
-42 0 obj <<
-/D [479 0 R /XYZ 90 420.42 null]
->> endobj
-46 0 obj <<
-/D [479 0 R /XYZ 90 388.357 null]
->> endobj
-478 0 obj <<
-/Font << /F63 247 0 R /F11 291 0 R /F50 215 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-542 0 obj <<
-/Length 1624      
-/Filter /FlateDecode
->>
-stream
-x��YYs�6~ׯ�[ə�H�G�ә�M<v�č��$
DA2Z�dyDv}iI�,ʉ�<\,�oO��X�8�1
�^��ّ���xnD�|l���
ll
1B�<KhYZC� �5/+�����k#7 Y��A�:x1
�;�@D�I`.1����gd̀~i ۍBc%�����L���_��}
-y�B
~���y6\#p�`>Q��i���<K�o٬���O
Z�?{v^��䜥��UVLn�ˊ-�
-͞�G��'D�s�{���8�����Q#L#
��}x�(4�hc��Z�s�`;���.R�C�
#�&���B
������]��g鶾n�H}[PE�bZ�l&�؜�+��Aia��9��=;�<c���W�U���v�4��cq��١�������gI�⊧
�~1z��:�5h�폝 �OP�q��F�Y��n'/
-0|h���5:�
�X]�Ë/�.�U��є/��ց���G%��)8��Ԭ<."�����{s�~ �QM.Qbe��-OH�5f�
��
n����h49���BN�!�:A��F?�~b�,lށ��
��٩� ��I�^��Ӗ��H�zF�q�c3���i ���s�i�:�CƷ��n���&�dC<���L1�`™�{1[?�����!���{�JV�z����<
j�r�9���jc1�K�r[�{�����{ڦ٬�+K�
-
ē��F{Ab�
��Mh�{ڔ��B
<ڽ�	�}��;y���䊧u��K�� �����T"�th
U�mP�oP

S���+M�Ӥ�����Sb�@�n<(�*A[K���!����	\Ur}�cq�O�[��q������
-ڬ����(kdi��g�	
VC 
-K���d��6�����zr�N6�m'j; '4����
-�"�؂VˢbO�&iZꢠ˥�A@��U��D ,/8U�,gF��h�i*ٺ���
Y�t
�";[蚶�Y}ZGp3���x-��B��%��7k׷�5���bٺ|ێ�r��U)�a�0DZ=�7��o��е
<����om?q�k��ҕ�)��`�:6���BHnOTЋ�k��[�׊��{aЂ����W�P��R�P���"��'j^�X����)�&9u����8M&/�����‡�	Y�]��� �Z&	ͳ̩����4pi�r�t�c�YJ�\Eȩr�r�V%����t�
-A8�p�Y�_xn/{0���+
-����o�˕�����;�rg:��E���u�ўBVގ��>9��T
�CL�~w�5��/�����#7
��z�Q�|�&	N{MhN:9�߱��l�<g�Z�R]�f��SV�K�4U�|5%J��|��EZV��� �wqe@��,h�_ď+�N`=��u]�\��IE�^CP-Z���
ð��Vș��oޜ�D�O�_�ٝbPG�_�A�o���?����_#��XeG��H$�	�Ԯ헞k	�C�66i�*�NG�\Ra�/�f����.�(q�(���&�/Y�E��s�MkY�u��E����#[4�=�_=��\����hKɚ�����n�*6�V+;.�:�ya�j���h��� 
-�]�v��&J�Y!Ob��6q}c�"�O������joH;���
-endstream
-endobj
-541 0 obj <<
-/Type /Page
-/Contents 542 0 R
-/Resources 540 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 409 0 R
-/Annots [ 475 0 R 476 0 R 493 0 R 494 0 R 495 0 R 496 0 R 497 0 R 498 0 R 499 0 R 500 0 R 501 0 R 502 0 R 503 0 R 504 0 R 505 0 R 506 0 R 507 0 R 508 0 R 509 0 R 510 0 R 511 0 R 512 0 R 513 0 R 514 0 R 515 0 R 516 0 R 517 0 R 518 0 R 519 0 R 520 0 R 521 0 R 522 0 R 523 0 R 524 0 R 525 0 R 526 0 R 527 0 R 528 0 R 529 0 R 530 0 R 531 0 R 532 0 R 533 0 R 534 0 R 535 0 R 536 0 R 539 0 R ]
->> endobj
-475 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 720.047 328.201 730.926]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System) >>
->> endobj
-476 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 721.95 513.996 730.926]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.12) >>
->> endobj
-493 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 698.129 349.212 709.008]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-494 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 688.077 513.996 697.053]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.13) >>
->> endobj
-495 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 664.256 234.683 675.135]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1IO) >>
->> endobj
-496 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 666.159 513.996 675.135]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.14) >>
->> endobj
-497 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 642.338 330.801 653.217]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
->> endobj
-498 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 632.405 513.996 641.262]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.15) >>
->> endobj
-499 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 608.465 303.693 619.344]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-500 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 610.488 513.996 619.344]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.16) >>
->> endobj
-501 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 586.547 354.602 597.426]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
->> endobj
-502 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 576.615 513.996 585.471]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.17) >>
->> endobj
-503 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 552.674 352.748 563.553]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
->> endobj
-504 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 542.622 513.996 551.598]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.18) >>
->> endobj
-505 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 518.801 328.051 529.681]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
->> endobj
-506 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 520.824 513.996 529.681]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.19) >>
->> endobj
-507 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 496.884 334.507 507.763]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
->> endobj
-508 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 486.951 513.996 495.808]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.20) >>
->> endobj
-509 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 463.011 367.902 473.89]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
->> endobj
-510 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 452.958 513.996 461.935]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.21) >>
->> endobj
-511 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 429.138 344.838 440.017]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
->> endobj
-512 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 419.085 513.996 428.062]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.22) >>
->> endobj
-513 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 395.265 324.156 406.144]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Logic__Error__Exception) >>
->> endobj
-514 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 385.212 513.996 394.189]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.23) >>
->> endobj
-515 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 361.392 283.748 372.271]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
->> endobj
-516 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 363.414 513.996 372.271]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.24) >>
->> endobj
-517 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 339.474 339.449 350.353]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Overflow__Error__Exception) >>
->> endobj
-518 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 341.377 513.996 350.353]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.25) >>
->> endobj
-519 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 317.556 281.622 328.435]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4) >>
->> endobj
-520 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 319.459 513.996 328.435]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.26) >>
->> endobj
-521 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 295.638 338.981 306.517]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library) >>
->> endobj
-522 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 285.586 513.996 294.562]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.27) >>
->> endobj
-523 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 261.765 295.464 272.644]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceparma__polyhedra__library_1_1Partial__Function) >>
->> endobj
-524 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 263.668 513.996 272.644]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.28) >>
->> endobj
-525 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 239.847 366.617 250.727]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
->> endobj
-526 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.501 239.847 498.554 250.727]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-527 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 229.795 513.996 238.771]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.29) >>
->> endobj
-528 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 205.974 405.341 216.854]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-529 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.84 194.019 338.393 204.898]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
->> endobj
-530 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 195.922 513.996 204.898]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.30) >>
->> endobj
-531 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 172.102 305.327 182.981]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-532 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 162.049 513.996 171.025]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.31) >>
->> endobj
-533 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 138.229 305.327 149.108]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
->> endobj
-534 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 128.176 513.996 137.152]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.32) >>
->> endobj
-535 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 104.356 271.943 115.235]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-536 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 94.303 513.996 103.28]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.33) >>
->> endobj
-539 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-543 0 obj <<
-/D [541 0 R /XYZ 90 757.935 null]
->> endobj
-540 0 obj <<
-/Font << /F63 247 0 R /F11 291 0 R /F50 215 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-587 0 obj <<
-/Length 1164      
-/Filter /FlateDecode
->>
-stream
-x��X�n�8}�W�PѤ$�
�iZ4���ۗ�0h�v��%�����wx�-'uR$)�$S�gΜ!��������w�^�C
:�� vS'�ND�
&΅�z~@�����׿�W�v�ˆ5yUz~��S7 ޏ�i�d���#��
��h���:�y��v&����(�Rg�f͝(�Y8�z��u�)��� ��r�#D��I��j�L��pQ�+>lX�#����軗.9�[�r��s�������Nr�V��a5�����q���qS	=�ll�b�w
�u�4#n�;�?�9<����$��b=<��~^3/����&/��K"Wx$u9��w��
�+�./'��׏q>
-�t�yQ�0�R���a��,Z+�`�O� ���%J��
���r��n9��>�rֲ�A�T6\LeP-�FuX�i���5����m��(
-S�,@���e���P�n,�~͡4���~�S.xi
'dی
����
x�gt
�(���=)�Ij'��W��	��Y
G:�����p�Ⱦ5&��7+=�hu��a�˙~3o��j�ʉ�QV���g̊��|ᅉ+9QO�
=`x��(�g�r�;��T���`��˿î��íf��쳡D. ��^�@i(g��
-~����LX
-��O��!`x��>&
j
���7|ԇ*��,�d��ٲͦc�r�`�Ӄ�),+D!��:1a��0S�}5�'BTbxr;�
[<��5Pm������L��FOBx�B���0��̼z:9[
-�z!h��TQ#V�;���斬<�wN�_�U�h��EPgr/��~g�P<�|
>�&�
-֩��f�,e֕Q���^����LֳJn$��d���B^��E�*��1{m#��m�x�
�]���PS�!z���n�����<��/o����}���__�'y}ݖ�_��a�
֑����&��GD�0��|�`l
-
I�k=�qQ��k����<rWi�ik�a����L�x�-i?|������8}l+L5���eI���
����	82CK�ieh������p#��=���-�k.^Iɘ
��J��7G��\
��u
#�8��8���ι��i2�s쯿eLJn���$�=���Y
�����kԖ�B���/E�n�e�B �	�,�zәWBY��aB
c�O�#��s�A����?��K+
-endstream
-endobj
-586 0 obj <<
-/Type /Page
-/Contents 587 0 R
-/Resources 585 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 409 0 R
-/Annots [ 537 0 R 538 0 R 566 0 R 567 0 R 568 0 R 569 0 R 570 0 R 571 0 R 572 0 R 573 0 R 574 0 R 575 0 R 576 0 R 577 0 R 578 0 R 579 0 R 580 0 R 581 0 R 582 0 R 584 0 R ]
->> endobj
-537 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 720.047 259.22 730.926]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-538 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 721.95 513.996 730.926]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.34) >>
->> endobj
-566 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 698.129 281.357 709.008]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
->> endobj
-567 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 700.032 513.996 709.008]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.35) >>
->> endobj
-568 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 581.759 328.111 592.663]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4) >>
->> endobj
-569 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 542.905 288.583 553.809]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-570 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 504.051 292.698 514.954]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
->> endobj
-571 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 465.196 327.019 476.1]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
->> endobj
-572 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 426.342 286.073 437.246]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
->> endobj
-573 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 387.488 320.393 398.392]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-574 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 348.633 348.04 359.537]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Domain__Error__Exception) >>
->> endobj
-575 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 309.779 290.496 320.683]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-576 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 270.925 302.123 281.829]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-577 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 232.07 380.468 242.974]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
->> endobj
-578 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.55 217.45 232.722 227.355]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-579 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 193.216 414.769 204.12]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-580 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.94 178.595 389.318 188.501]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
->> endobj
-581 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 154.362 284.389 165.266]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-582 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 115.508 318.71 126.411]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
->> endobj
-584 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-588 0 obj <<
-/D [586 0 R /XYZ 90 757.935 null]
->> endobj
-50 0 obj <<
-/D [586 0 R /XYZ 90 683.434 null]
->> endobj
-589 0 obj <<
-/D [586 0 R /XYZ 90 651.371 null]
->> endobj
-54 0 obj <<
-/D [586 0 R /XYZ 90 651.371 null]
->> endobj
-590 0 obj <<
-/D [586 0 R /XYZ 90 600.733 null]
->> endobj
-585 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F11 291 0 R /F70 298 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-613 0 obj <<
-/Length 1090      
-/Filter /FlateDecode
->>
-stream
-x�ݘYo�6���)�V	�i�2uE��M�\��x�%Y�L+DuU���O_^rbo���n��$�"��qf8
��Y�qop�{ ��O|0����ǐ
�Sp��}�r.\L
���]��]�P�\�<iY���y��j�b����!��4�蝌{�����
<
-�w�	��l� zQ�W�ē�����!+=�M�3��p�  
D>5��	�z��;pק�O�յ}�U�U���~�dU�&e�.��b�T<T�Z

�Ub:9�9�XSTk�o^�����DB�?$���0��Qxl�%rPs���+�?��
M=㒫i*��o�B�
�)k���I+$okr����Ym3Lf�LQM�񩕒��AB:��!�>%
���ױ�:I�񼙜|�yو"ߕ�j�� �Y[s
�ai��(Q*L��>/�R�͞�Ɉ0�E��yb�������<��ϓ�qrRU��v����v��mY��
j��n
ҨZ�7
���d�e
-YY����X�l��.A��@����0mh�����Th�G��BƁ=�۷�XsR�H�~�;�Nac>�U��r��p�Ch�3^�\�K;B
?Z?�
-MC�a�1_�!�E�
���P�m������f5v=ꈌ�{#V���q�N�m��,����!�/&�"o�]��_y��Xš���Nv��Gc,sM�
R�&{���˼�%��i�E"�%}�
�-�2=��2�̱juz0�E� ���4�έL��aF����dTr��u<���4YE�#�3�5�{D�1Ry�M��pR�{��V�l�ăDx3W���
�*�Y��Ujrs+a�
$��^j��I�S������r$=�/��F�
/�z\����#X�
���~�r�O�0|��K%}mw2���djY�պ���e�'�s�+�^�V/���=�S�(;(f��f<}��Ye�C��p�"kWT�ax���ү��ر�a
H?\0�ɚ���c]O�*j^��R��+�,oY�5m�y��T>��(t��
�wi���7��.U��>�EB}���S<6My4,
װ�EYA�
�2
��� ���x儳�F��V�^�!�|��G��.r�1���W��/���
-endstream
-endobj
-612 0 obj <<
-/Type /Page
-/Contents 613 0 R
-/Resources 611 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 409 0 R
-/Annots [ 583 0 R 593 0 R 594 0 R 595 0 R 596 0 R 597 0 R 598 0 R 599 0 R 600 0 R 601 0 R 602 0 R 603 0 R 604 0 R 605 0 R 606 0 R 607 0 R 608 0 R 610 0 R ]
->> endobj
-583 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 719.912 307.632 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
->> endobj
-593 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 681.239 341.953 692.143]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System) >>
->> endobj
-594 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 642.566 362.715 653.47]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-595 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 603.893 255.069 614.797]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1IO) >>
->> endobj
-596 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 565.22 344.165 576.124]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
->> endobj
-597 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 526.546 319.816 537.45]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-598 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 487.873 368.822 498.777]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
->> endobj
-599 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 449.2 367.138 460.104]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
->> endobj
-600 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 410.527 343.069 421.431]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
->> endobj
-601 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 371.854 349.355 382.758]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
->> endobj
-602 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 333.181 380.139 344.085]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
->> endobj
-603 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 294.508 357.992 305.411]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
->> endobj
-604 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 255.834 339.183 266.738]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Logic__Error__Exception) >>
->> endobj
-605 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 217.161 301.017 228.065]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
->> endobj
-606 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 178.488 353.171 189.392]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Overflow__Error__Exception) >>
->> endobj
-607 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 139.815 300.305 150.719]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4) >>
->> endobj
-608 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 101.142 350.102 112.046]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library) >>
->> endobj
-610 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-614 0 obj <<
-/D [612 0 R /XYZ 90 757.935 null]
->> endobj
-611 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F11 291 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-650 0 obj <<
-/Length 1332      
-/Filter /FlateDecode
->>
-stream
-x��X[S�H~ϯ�7�j����oQ��ɅMpJי�0A��@H\�����
��@���������s�'��U��i�.U�P%8��@@S1$��
:�b#��k�%"�E��[S"H�x���{��e~���RWC�d�s�0���
L!�
�hP�	M�?��k��l���� E��3�Ɵ
T�[��f�dF*Td
hA��ܖ�D�:���}�P��57�j�`�&O��~�8����N����'��������;Ix�{9�FYG+X��֥��NV��$AU�@+�P
-}�b�����R6_��t���������A4F~
-?�e�y�RI����(��t_��-�<�܁z�p��\8!eM(��?{��bQp�TIT�“^4^93��4Kxp)M���#��1��
���?��h?�Ϭ���eq��>���Y�0MـHME���9hϛ�\J�"a�R�w��U%���J�{��`D��N�r-ʔBs����y�k1%$��Xzb�tgoF���p�̡>�Y�KYU��y
O�!�� �7~��
YՄ�=�����z����M&�FHQ


R�v���
��r���?���*�j��E���k�V5_�{w�X�L�V�f����X�WIk�:��i�,�E��Ԥ�
�XE�ɥ��\C�(K��-
-0���j�,��)�RG�Z{`�[��U�[���y\͵]�.�C^�hX&�ɢ,e�n�h���,��ǫU�ђ��k���6bƄ��UĬ:


Ӵ͡�W�{��
��8��bdHk�
-f޶E�^���%��
��9���
9E�Y�
-�>�
�6�0{���ޯ�W#5���װ'?b��wMj�e� ��mO�����

�O�b����0���+�7�u����>�s��D~
լ��P�ң,��s�_і$���^偎�a��nf'I�k�S�����/����a��t"������9_�V�לw�Û��n��I��)�d���Vvۿ�^�z
�`�~��T�۞;�pYVe]�:
�5�=hwM�
�V;?8"W�ߏ͚/}o�jM�J�k'�����f��[�Z�Xm�_��ui���Y�t�V
�t��%���J�Y��wa^p��IeO�:��m��Z�� �n��Y6�7�
S�<Ћ
����ѕ����\�ª:D���!l9dU���z1+&$dc�7��b�a��,&�ň%�x��rΦ�5�r4˷nR?9	)�ɮ����DМ�����
-A��D���ؔ���_&���@���MWȒ�Q��5�/n�s�MO[���8J�,
-�	
��t�6�,�R0
���RʢO��	�4e
C"�����!���	��l��?
)
/
-endstream
-endobj
-649 0 obj <<
-/Type /Page
-/Contents 650 0 R
-/Resources 648 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 661 0 R
-/Annots [ 609 0 R 615 0 R 616 0 R 617 0 R 618 0 R 619 0 R 654 0 R 620 0 R 621 0 R 655 0 R 622 0 R 623 0 R 624 0 R 625 0 R 656 0 R 626 0 R 627 0 R 628 0 R 629 0 R 630 0 R 631 0 R 632 0 R 633 0 R 634 0 R 635 0 R 657 0 R 636 0 R 637 0 R 638 0 R 658 0 R 639 0 R 640 0 R 641 0 R 659 0 R 642 0 R 660 0 R 643 0 R 647 0 R ]
->> endobj
-609 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.15 706.961 326.212 717.865]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceparma__polyhedra__library_1_1Partial__Function) >>
->> endobj
-615 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 668.107 323.163 679.01]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-616 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 629.252 277.754 640.156]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-617 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.107 548.49 263.359 559.394]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceparma__polyhedra__library) >>
->> endobj
-618 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.697 467.727 321.961 478.631]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_g0cd3c405aa537a001f59e642f2acddd3) >>
->> endobj
-619 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.05 467.727 513.996 478.631]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd3d48fce92c56bf2ff6ee0ffeeba90de18) >>
->> endobj
-654 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 455.772 180.102 466.676]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd3d48fce92c56bf2ff6ee0ffeeba90de18) >>
->> endobj
-620 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.749 455.772 417.34 466.676]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd372e00beade5e3123d604866d4318562c) >>
->> endobj
-621 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.987 455.772 513.996 466.676]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd3e0c67618b9d2e22a193c392f031ddbc1) >>
->> endobj
-655 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 443.817 238.761 454.721]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd3e0c67618b9d2e22a193c392f031ddbc1) >>
->> endobj
-622 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.477 404.963 353.705 415.867]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_g9006be5f6c0f7616400b3554738e732f) >>
->> endobj
-623 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.355 404.963 513.996 415.867]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg9006be5f6c0f7616400b3554738e732fe64f42c3dc2245c0a2dfdfdf81804916) >>
->> endobj
-624 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.08 354.153 350.202 365.057]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ge574051d412d3ee587c872f48de81663) >>
->> endobj
-625 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.056 354.153 513.996 365.057]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge574051d412d3ee587c872f48de816632ac9e83af49bbfe366e6d82f2f3cde52) >>
->> endobj
-656 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 342.198 230.124 353.102]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge574051d412d3ee587c872f48de816632ac9e83af49bbfe366e6d82f2f3cde52) >>
->> endobj
-626 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.5 342.198 511.506 353.102]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge574051d412d3ee587c872f48de81663829fa1b449ab43dfd7a5fbd21bfbbd21) >>
->> endobj
-627 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 330.243 321.211 341.147]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge574051d412d3ee587c872f48de8166354806b7252847b0cb5c2ca71e1ab43b3) >>
->> endobj
-628 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.526 291.388 335.713 302.292]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_g16616f4113ae69d86cdaf2b7b10cc0d6) >>
->> endobj
-629 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.46 291.388 511.506 302.292]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg16616f4113ae69d86cdaf2b7b10cc0d634c41f8889b9f0e04d597dfeaa1d356b) >>
->> endobj
-630 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 279.433 256.464 290.337]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg16616f4113ae69d86cdaf2b7b10cc0d6985226363a0c8f82ffd9eccd025e9d79) >>
->> endobj
-631 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.685 240.579 331.964 251.483]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_g464c2bc94f19f4509ffedb8b7b60439a) >>
->> endobj
-632 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.03 240.579 511.506 251.483]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab117095d72cf0b414b10649e6ad6f776273beff) >>
->> endobj
-633 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 228.624 242.686 239.528]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg464c2bc94f19f4509ffedb8b7b60439a4f9ea739b8717fe026aba79a67be5cc6) >>
->> endobj
-634 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.276 228.624 407.397 239.528]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab117095569a186f6e30ceae8ad51ca3bf7a8ccc) >>
->> endobj
-635 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.987 228.624 513.996 239.528]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg464c2bc94f19f4509ffedb8b7b60439a8e71cc2282a035560ecc13c306e79a99) >>
->> endobj
-657 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 216.669 227.703 227.573]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg464c2bc94f19f4509ffedb8b7b60439a8e71cc2282a035560ecc13c306e79a99) >>
->> endobj
-636 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.916 177.814 335.438 188.718]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ge444adc8164dfda0378177ddab117095) >>
->> endobj
-637 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.965 177.814 475.441 188.718]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab117095d72cf0b414b10649e6ad6f776273beff) >>
->> endobj
-638 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.809 177.814 513.996 188.718]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab1170956c4381dbaddfd9e2c92dc85a43dbec0f) >>
->> endobj
-658 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 165.859 252.24 176.763]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab1170956c4381dbaddfd9e2c92dc85a43dbec0f) >>
->> endobj
-639 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.229 165.859 393.35 176.763]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab117095569a186f6e30ceae8ad51ca3bf7a8ccc) >>
->> endobj
-640 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [169.568 127.005 364.156 137.909]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gd7cbdacd9a5e2c068c25c12f47f8936a) >>
->> endobj
-641 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.987 127.005 513.996 137.909]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggd7cbdacd9a5e2c068c25c12f47f8936af8a08f4943e38d19a2d06ad647e37729) >>
->> endobj
-659 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 115.05 283.214 125.954]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggd7cbdacd9a5e2c068c25c12f47f8936af8a08f4943e38d19a2d06ad647e37729) >>
->> endobj
-642 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [311.129 115.05 513.996 125.954]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggd7cbdacd9a5e2c068c25c12f47f8936a50069f21f8a038aa6bda4255c9e1e79c) >>
->> endobj
-660 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 103.095 162.558 113.999]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggd7cbdacd9a5e2c068c25c12f47f8936a50069f21f8a038aa6bda4255c9e1e79c) >>
->> endobj
-643 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.546 103.095 402.346 113.999]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggd7cbdacd9a5e2c068c25c12f47f8936a6ceb40deeaaaf0f057da97c1aaac0a3c) >>
->> endobj
-647 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-651 0 obj <<
-/D [649 0 R /XYZ 90 757.935 null]
->> endobj
-652 0 obj <<
-/D [649 0 R /XYZ 90 565.561 null]
->> endobj
-653 0 obj <<
-/D [649 0 R /XYZ 90 486.701 null]
->> endobj
-648 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-696 0 obj <<
-/Length 1350      
-/Filter /FlateDecode
->>
-stream
-xڭW[w�8~���pN�Hqɛ�ЬS_Ҙ�&����$�r+��=��w@1�v.�H��|3��+�
-VNz���GSW
��T����e�(Q��r�ڈh}�1VO5�T_�L��
o}ʰ:�ە��0)���_TK�4
��7��z�=*�Bj�B�ΔEܻ���%�*鎭�קbŠ:<#e������]��
�7� �D�n+�����RV�#�S��
<
�U,�+��[a�y}Bg:U3?��y�F�`���(���|}x8��0���0M��tt��D������y�F��(}B��w��;
N������z�餣W}�[e���{���ڔσ��
�4��X:�o �!8�l��E^G"e�
 �N
(h��M�h�)E�A�#��߉�^l΃�z����h2;#-�� 
n�N5#w6�{
^S��'N����r�hV�	��p�����[4�V�^�O�]��������
BKٖ`�^
�L�_��#�;��
�m�o�0�!醦����`�%�"�Z��
@A
��݉�<��
�K���|_,�8(�k�cf��|�w��^�us�{�B(�Is�RJէ�a0t�d��D�A܁�Nq6p��<�7@�4�Pי�s�.�{R�	�ՀZs���<J�,
-~��z~�E�
nb!�J.l� ��
d�]�&F�c��
xODO:��;��&"(���3*왎4�R/'��p0�M�g#�b�]v,i7Z�hۘ������(�
��U`%i
�Q�2��5��]_[���
-^���g�ں�ZI�p��J�T�AY�@RpSa�cj�w]%��r��
?�ķ������s�ΞtTX��O���3}tL�lK�8H*��{�&!&�
��Ϭ�B�/)���5b�i4?��=�� J>���eQ������xx&��)L\��~��4j
�z�_:�*�|x4��싎��6et���p&�|����,�7
�ma��",jU�h�/6leq����w������mb�vtǃ6�y�{�μ�{|��?���<QY���+Q�YYP -��R�eu#�ޚ W
p�.]������������B'��,�^Y�o
/>w1@ׇ�m�_������'�A�Z�
�bP��ѓ8��g���
o �
����Q�TI �E�ܝ�p�6��7���{�}�N?��[��k� �E�(����N��Fu�&�i?��+��&r,���:s���k���Cֶk|kR�R�f��d%z��?+�P�͸�n�(Oɾ�f��s0�+��SU�l�E�Ld���ݕevxpp�Z% [...]
-endstream
-endobj
-695 0 obj <<
-/Type /Page
-/Contents 696 0 R
-/Resources 694 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 661 0 R
-/Annots [ 644 0 R 645 0 R 698 0 R 646 0 R 686 0 R 687 0 R 688 0 R 689 0 R 699 0 R 690 0 R 691 0 R 692 0 R 693 0 R ]
->> endobj
-644 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.232 706.961 360.829 717.865]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gb884929ad9e98d94cac675f7fe3e9771) >>
->> endobj
-645 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.987 706.961 513.996 717.865]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggb884929ad9e98d94cac675f7fe3e97716123d48765236f5a4dc9b6589f3009a9) >>
->> endobj
-698 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 695.006 218.826 705.91]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggb884929ad9e98d94cac675f7fe3e97716123d48765236f5a4dc9b6589f3009a9) >>
->> endobj
-646 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.815 695.006 405.305 705.91]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggb884929ad9e98d94cac675f7fe3e97713b313393fbe3b2f84daa5d5e440d5fc9) >>
->> endobj
-686 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 656.151 317.076 667.055]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-687 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 640.211 278.601 651.115]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b8d1443a727b974ff807ec5bc5cd1dece) >>
->> endobj
-688 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.155 640.211 473.255 651.115]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b671181c4f0b106836b2bfa9c51d75464) >>
->> endobj
-689 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.809 640.211 513.996 651.115]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b7efe7873dcfccf876422dfa5f1fdc5a8) >>
->> endobj
-699 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 628.256 226.079 639.16]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b7efe7873dcfccf876422dfa5f1fdc5a8) >>
->> endobj
-690 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.068 628.256 439.746 639.16]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b468e42a8760cc57fdc62aef53af8908e) >>
->> endobj
-691 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 612.316 300.18 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b8b42d305e53e64514a7f004b4e55f862) >>
->> endobj
-692 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [428.767 145.258 474.784 156.251]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-693 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-697 0 obj <<
-/D [695 0 R /XYZ 90 757.935 null]
->> endobj
-700 0 obj <<
-/D [695 0 R /XYZ 90 574.996 null]
->> endobj
-701 0 obj <<
-/D [695 0 R /XYZ 90 516.295 null]
->> endobj
-662 0 obj <<
-/D [695 0 R /XYZ 90 492.08 null]
->> endobj
-702 0 obj <<
-/D [695 0 R /XYZ 90 492.08 null]
->> endobj
-663 0 obj <<
-/D [695 0 R /XYZ 107.713 415.153 null]
->> endobj
-664 0 obj <<
-/D [695 0 R /XYZ 107.713 399.212 null]
->> endobj
-665 0 obj <<
-/D [695 0 R /XYZ 107.713 383.272 null]
->> endobj
-666 0 obj <<
-/D [695 0 R /XYZ 90 371.153 null]
->> endobj
-704 0 obj <<
-/D [695 0 R /XYZ 90 356.582 null]
->> endobj
-667 0 obj <<
-/D [695 0 R /XYZ 107.713 279.789 null]
->> endobj
-668 0 obj <<
-/D [695 0 R /XYZ 90 267.67 null]
->> endobj
-705 0 obj <<
-/D [695 0 R /XYZ 90 253.099 null]
->> endobj
-669 0 obj <<
-/D [695 0 R /XYZ 107.713 176.306 null]
->> endobj
-670 0 obj <<
-/D [695 0 R /XYZ 107.713 148.411 null]
->> endobj
-671 0 obj <<
-/D [695 0 R /XYZ 107.713 132.47 null]
->> endobj
-672 0 obj <<
-/D [695 0 R /XYZ 90 120.351 null]
->> endobj
-694 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F81 703 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-719 0 obj <<
-/Length 1095      
-/Filter /FlateDecode
->>
-stream
-x��Wے�6}�+��*ɶ|�7&�bv�,�T��%@0������|�ʖ�e������N��>�V#�<u�N��ԁ
S3����!�0���U�!V�!�<��(TՈ�Eň?u5��ns�eb53�l�Xڦ�(Q?y�
��|�`n\� �tVA��k�� �;6ؗ_��t�����j�����HjА�Y��XL��.�hwxc�.v�2�����mY�����c
��p��؂�f#�p�
-�h#~׬�N%��e�%t���),Ry�p���㘀o�<zš˝(P���d�7� 4
 N׆�h`>��Ngn��<6)^��ޤ
y�˄�%);q�g��!��1���ߢ�|{W��X�1�G3'
t%�.&�1������������qv��v��eP(�4A�6
�]C��Xuё�E�$t%
O�
��ˢ;z��6K�|�wԔ. ^�V=�|��^O
"y����2$�P����U
)���L�+�F2	=�&Q��H�:��x0�ZCcA�7��#?�.�F�ֹ��2�ͧ��"'ۆ�n��i���<aM�M�a�@dȊ��c�P1��^����?Bi?Nɣu��D�O�C�s�m�L��
nU	O)
���R5I��YM�T�L��;ޭ��:
L�DŶ-y�Y�2���e�N�4��U��l�q�(z�Gq�J��N5}���a�4|7�w�d7?���7�i��Q㘏
��lp��.J�S�@ʘ/�mYƆ�f�Ks,
=Ir
n-�.�
-�����~<=���3	���2��5[_&W`�ɍ'�`8��Fr:�F;�7ZH(�g~@wj��<����n"^2�����/�qa���f�h�v����Ro��?ܶ��Q��~Q^�`<jm����6\�4���9K�K��pu�
��]φr�9���Ʀ9�<(�}�W�v��	
K��hG
HH��O�9��H.+1�yT(J,���ZL iW�iv%_�S��TDK:;�a^�����j:F��A������+Rf�:�E0��ӇB���FLh� ޲,�����=\���^q��ǻ���}C�؀>&nS5� JJ&�ՐO��~���Ғ]���=�u=�_^:j
-endstream
-endobj
-718 0 obj <<
-/Type /Page
-/Contents 719 0 R
-/Resources 717 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 661 0 R
-/Annots [ 715 0 R 716 0 R ]
->> endobj
-715 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.841 297.174 249.291 307.101]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
->> endobj
-716 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-720 0 obj <<
-/D [718 0 R /XYZ 90 757.935 null]
->> endobj
-721 0 obj <<
-/D [718 0 R /XYZ 90 733.028 null]
->> endobj
-673 0 obj <<
-/D [718 0 R /XYZ 107.713 661.74 null]
->> endobj
-674 0 obj <<
-/D [718 0 R /XYZ 107.713 645.799 null]
->> endobj
-675 0 obj <<
-/D [718 0 R /XYZ 90 633.68 null]
->> endobj
-722 0 obj <<
-/D [718 0 R /XYZ 90 619.11 null]
->> endobj
-676 0 obj <<
-/D [718 0 R /XYZ 107.713 542.316 null]
->> endobj
-677 0 obj <<
-/D [718 0 R /XYZ 107.713 526.376 null]
->> endobj
-678 0 obj <<
-/D [718 0 R /XYZ 107.713 510.436 null]
->> endobj
-679 0 obj <<
-/D [718 0 R /XYZ 107.713 494.496 null]
->> endobj
-680 0 obj <<
-/D [718 0 R /XYZ 90 482.376 null]
->> endobj
-723 0 obj <<
-/D [718 0 R /XYZ 90 467.806 null]
->> endobj
-681 0 obj <<
-/D [718 0 R /XYZ 107.713 375.072 null]
->> endobj
-682 0 obj <<
-/D [718 0 R /XYZ 90 347.013 null]
->> endobj
-724 0 obj <<
-/D [718 0 R /XYZ 90 332.442 null]
->> endobj
-683 0 obj <<
-/D [718 0 R /XYZ 107.713 256.625 null]
->> endobj
-684 0 obj <<
-/D [718 0 R /XYZ 107.713 240.685 null]
->> endobj
-685 0 obj <<
-/D [718 0 R /XYZ 107.713 224.745 null]
->> endobj
-706 0 obj <<
-/D [718 0 R /XYZ 90 212.625 null]
->> endobj
-725 0 obj <<
-/D [718 0 R /XYZ 90 198.055 null]
->> endobj
-707 0 obj <<
-/D [718 0 R /XYZ 107.713 121.262 null]
->> endobj
-708 0 obj <<
-/D [718 0 R /XYZ 107.713 105.322 null]
->> endobj
-709 0 obj <<
-/D [718 0 R /XYZ 90 93.202 null]
->> endobj
-717 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F81 703 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-742 0 obj <<
-/Length 1179      
-/Filter /FlateDecode
->>
-stream
-x��XKs�6��W�V�@ 	><��8���q]GVNvFɐ̆����wA�������D$v���v�Kl�-l]�ލz��g�(h`�fV��0 �Qb�
�{;v\ʰ}�3Q.�T����t����UR���4p���z�Q�[��xl�Z

Q�1k���`�֯,��8�V�W��S��u�����Q�ih"�" H0ƶȗ���2��E��<�G��i2�\���
EZ
߽d�"Uh����KBP_kh6h�e��D��
�-�.Fq
X.��k)@&$�
-y��u-""
�Œj׃������-���>��;DYj��Ϸo�s�F�0D
}
ǃO��g�g���!�Q�(�s�r}WH}ߖ<5/�ø��.��c�6�?��l�JM
-\�c�h0�)����ť���iw]��U� �wvp!��k�#��V���\/F$
��P'����J#(f��<���� �����[��b�I�K{��*L��̾��k}s�
��g�2��$O�T|[-��+���S6x��Xq���AJ���Ӕ"�2�@)��cݻ
\1U��
UJ����a�����e\;a� �%J"��&ο�q�zq��h�
��6��[�ֶ������	�!��%E�T�s��e��Ie�-���P�I�^ɖ��&<�7y��o�<M�ɋ+
/�kb���
a6z��OTpJ0�5Mh���B��
0��,�6P6\���R Y�*8���\.>
��4�������A�DY��H֖Z�>f�V�o0�
�沒<9����O�� 4g"|Ь�����
t)�+}�)�~_d�a<�������X4'�[lo�M�^������c�ِCJ�m+�`>�?nMc�v��ȕ�A��M2��9gM><`�/�N›�
X& [...]
-|�������?pբX	�@�j��k�r"���m+k9���t�Nm�`��Y���?�=@q��
�Y��N�ۚ�048	j
����n�����{���n����u��L���픦��Yi����0R-�JH�
��M'����j�>��c"eD��˞�jq��V+4-�2O%U�H��#�Z
-�؇����ڑ�F3KH`�,7�M��If���� �d`

-endstream
-endobj
-741 0 obj <<
-/Type /Page
-/Contents 742 0 R
-/Resources 740 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 661 0 R
-/Annots [ 726 0 R 727 0 R 728 0 R 729 0 R 730 0 R 731 0 R 732 0 R 733 0 R 734 0 R 735 0 R 736 0 R 739 0 R ]
->> endobj
-726 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 448.45 221.312 459.354]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4) >>
->> endobj
-727 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 411.913 181.785 420.76]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-728 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 371.262 185.9 382.166]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
->> endobj
-729 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 332.668 220.22 343.572]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
->> endobj
-730 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 296.131 179.274 304.977]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
->> endobj
-731 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 255.479 213.595 266.383]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-732 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 216.885 241.242 227.789]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Domain__Error__Exception) >>
->> endobj
-733 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 178.291 183.698 189.195]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-734 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 139.696 195.324 150.6]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-735 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 101.102 273.669 112.006]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
->> endobj
-736 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.55 86.612 232.722 96.517]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-739 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-743 0 obj <<
-/D [741 0 R /XYZ 90 757.935 null]
->> endobj
-744 0 obj <<
-/D [741 0 R /XYZ 90 733.028 null]
->> endobj
-710 0 obj <<
-/D [741 0 R /XYZ 107.713 662.39 null]
->> endobj
-711 0 obj <<
-/D [741 0 R /XYZ 107.713 646.71 null]
->> endobj
-712 0 obj <<
-/D [741 0 R /XYZ 107.713 631.03 null]
->> endobj
-713 0 obj <<
-/D [741 0 R /XYZ 107.713 615.349 null]
->> endobj
-714 0 obj <<
-/D [741 0 R /XYZ 107.713 599.669 null]
->> endobj
-58 0 obj <<
-/D [741 0 R /XYZ 90 582.88 null]
->> endobj
-439 0 obj <<
-/D [741 0 R /XYZ 90 547.27 null]
->> endobj
-62 0 obj <<
-/D [741 0 R /XYZ 90 547.27 null]
->> endobj
-745 0 obj <<
-/D [741 0 R /XYZ 90 467.294 null]
->> endobj
-740 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F81 703 0 R /F11 291 0 R /F70 298 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-766 0 obj <<
-/Length 1038      
-/Filter /FlateDecode
->>
-stream
-x�ݘ_s�6���)�V��e	,�}�^s7I���⻗�Q�LԂ�⦟���c{�IZ3g�O !�ݟvW�B ���M�E!��YD`�3�C`�X�o�?�!����i]��l)iZ�;I�?�~�%kj�1���VL�8��]8���
b���bt��>�jy�Y��0	����W��� ��6�J0
B�,����9���iT"hK%�"8
c�tj��
b���7c���
-�4�P�N�Of�Vn^q�6�M�oͤn�UM���y�$m+����s�.F QbFS-f�h�1��vR��'o5N�9M��Ӽ������_���Nd�P�쓾������n����"��g�����x������ٖq�p�$9xW�31s
��iݿ�M���'��5*x�)U�I?�=�5�$��׏M�ʁ�4v�
��5-���P��
Uyɗ��v�I����%�κcO�
jx`(��E��Ylt?=9�y:��Baycά�+�hӳ?2V�|/��
��L��qF��9&w���V-���&�XQ����@1c��ʪ�`Y�En���(ӧ�&uL�/�����LJ���
-ڪr
ܑ)�,����Ne"
;.
��SK�4��:p�
����0G�Y�4N�Vl���-BAƕ�~�6t�
�{�l.V�)�s0%�
-e�N
�O��S5��d�xJ{�Һ���D_��GQ��^����+����5]�@��C�qUq��^��v�fz�cR��/9�g����n8�*!ViLN�
��� }�1�*��`e�C��^,�J����r�
�+���Jˎ�	�C'-[BlRh��Z�-�V�Ż
ܩ����pZW��t.+�q������(�(J^{5�_}Ep����#3HȾ��M	&KgM�͕k^n��]Pm��Fr���;���΅*wWz6��&��7%ng���ۊ[DЃ^��'�G#�O��PMu�z��0~����’l��&8V����m[�0���k�5�������.&;��@ae~1���l���JI�8�1$aƱ��Yj`i�ݮY�}�
��*f
-endstream
-endobj
-765 0 obj <<
-/Type /Page
-/Contents 766 0 R
-/Resources 764 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 661 0 R
-/Annots [ 737 0 R 738 0 R 746 0 R 747 0 R 748 0 R 749 0 R 750 0 R 751 0 R 752 0 R 753 0 R 754 0 R 755 0 R 756 0 R 757 0 R 758 0 R 759 0 R 760 0 R 761 0 R 763 0 R ]
->> endobj
-737 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 706.991 307.97 717.895]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-738 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.94 692.4 389.318 702.306]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
->> endobj
-746 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 670.254 177.591 679.101]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-747 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 629.403 211.912 640.307]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
->> endobj
-748 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 591.586 200.833 601.513]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
->> endobj
-749 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 551.815 235.154 562.719]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System) >>
->> endobj
-750 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 513.021 255.917 523.925]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-751 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 476.285 148.271 485.131]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1IO) >>
->> endobj
-752 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 435.434 237.366 446.338]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
->> endobj
-753 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 396.64 213.018 407.544]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-754 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 357.846 262.023 368.75]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
->> endobj
-755 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 319.052 260.34 329.956]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
->> endobj
-756 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 280.258 236.27 291.162]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
->> endobj
-757 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 241.464 242.556 252.368]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
->> endobj
-758 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 202.67 273.341 213.574]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
->> endobj
-759 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 163.876 251.194 174.78]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
->> endobj
-760 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 125.082 232.385 135.986]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Logic__Error__Exception) >>
->> endobj
-761 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 87.265 194.218 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
->> endobj
-763 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-767 0 obj <<
-/D [765 0 R /XYZ 90 757.935 null]
->> endobj
-764 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-804 0 obj <<
-/Length 1372      
-/Filter /FlateDecode
->>
-stream
-x��X[o�8~ϯ� M
0��j�N�V��	S�ꌐ��)�X I�j����Є6�I�*�d0�����Tf
-T���F��28�n)ޭ�@�m!�u�xS�Zu ҚB�&$�?�Ç;:M�7)I�����'s�%dB����TC�J#��l�nk?��
�k��@�z���:�m+�y��T�l�����ʪ85WL�`k��6�d�����b3Q,���t@[i���

�z�=���N�S̈́�LCPeL��!�aQ��'$���fb5��fL6���<�f�c">ބt
-)���:�p
���j GB�]��
庉�&!�2��c��$���gc��Q�54bM���w�4N}�~B�<���0�`�2�c����P&�.���X�@K��J��T���o�!�
R~�u���M�t��
��� t�<p�I�v�)
���?v���1����jθ �V�K.h���?$R%�b!Ѵd�������?$�*�te y�eJ��1C:�+'�K���
)Z�P|�]D�ª?�8g�[� <J�
-Hy at B�T2�'tAvShi?r]
��`N��:D�`B��j��8�G4$��Ż�����VK���
�W��"�V[����_�4�(˅�1���8\gtp�H���<I t�(uQ�@Ҁ���'ϫ�R�K@�,R��
28�j d���{B�/�$`�!�4��%QN�����GU���m�V�6���k�@��^�Ŝ�D�/�4���a
D��q���܎�a"�$�'"��9
_k�W�
SW_'3
t��@��?�u���ɠ7캗
�FL��:�q���t���7��p�r��p��i+�B��nQ�f�n�66�g���6�,�.Y���r�������Dy���ܬb���M�K<�$h�:'��ٛ�{����lӿz��ޥ�	���
��A�<\����_G����
X�"��-~z|��U��=�
�c�w����iw���.N���O�;K�ϝ� l^�^
�V�d�{�,���K��`p�����uܖ9�%s:��d�w���|)��!$��˘�Q�����\��������
��%�?g����ӵAGUoI����f��<L��ʙ�G��
7B��n���6F��!V�vu�A����t�o#����@U�?/����1߯�4�����PsX)3:;ڃ�ߨ�zg5c��Aq�1�ehٿ:e-��L�pڬ�a� ���UMt���,�:⵻>$�Jx���s��3�f
2�O�ا��M�x� CY�D�r|���r���WA��t|j
���H�iiN�����w
xMD
[�F�rnw���o��j��
,� IA���$l=�
�� ��6rJ*U���i�	kL�`�R�m��� b�Eg��W��� *���
-endstream
-endobj
-803 0 obj <<
-/Type /Page
-/Contents 804 0 R
-/Resources 802 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 661 0 R
-/Annots [ 762 0 R 768 0 R 769 0 R 770 0 R 771 0 R 772 0 R 773 0 R 774 0 R 775 0 R 776 0 R 777 0 R 778 0 R 807 0 R 779 0 R 780 0 R 781 0 R 782 0 R 783 0 R 808 0 R 784 0 R 785 0 R 786 0 R 787 0 R 788 0 R 789 0 R 790 0 R 791 0 R 792 0 R 793 0 R 794 0 R 795 0 R 796 0 R 801 0 R ]
->> endobj
-762 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 696.002 246.373 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Overflow__Error__Exception) >>
->> endobj
-768 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 657.865 193.507 668.052]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4) >>
->> endobj
-769 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 618.293 243.304 629.197]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library) >>
->> endobj
-770 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.15 580.415 219.413 590.343]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceparma__polyhedra__library_1_1Partial__Function) >>
->> endobj
-771 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 540.585 216.365 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-772 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 501.73 216.355 512.634]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
->> endobj
-773 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 464.933 170.956 473.78]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-774 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 424.998 192.544 434.926]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
->> endobj
-775 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.448 343.259 214.914 354.163]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_g0cd3c405aa537a001f59e642f2acddd3) >>
->> endobj
-776 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.506 343.259 360.535 354.163]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd3d48fce92c56bf2ff6ee0ffeeba90de18) >>
->> endobj
-777 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.434 343.259 478.227 354.163]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd372e00beade5e3123d604866d4318562c) >>
->> endobj
-778 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.126 343.259 513.996 354.163]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd3e0c67618b9d2e22a193c392f031ddbc1) >>
->> endobj
-807 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 331.678 180.102 342.208]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd3e0c67618b9d2e22a193c392f031ddbc1) >>
->> endobj
-779 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 292.823 244.968 303.354]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_g9006be5f6c0f7616400b3554738e732f) >>
->> endobj
-780 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.738 292.823 294.581 303.354]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg9006be5f6c0f7616400b3554738e732fe64f42c3dc2245c0a2dfdfdf81804916) >>
->> endobj
-781 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.585 253.969 255.909 264.5]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ge574051d412d3ee587c872f48de81663) >>
->> endobj
-782 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.774 253.969 448.819 264.5]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge574051d412d3ee587c872f48de816632ac9e83af49bbfe366e6d82f2f3cde52) >>
->> endobj
-783 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [463.855 253.969 513.996 264.5]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge574051d412d3ee587c872f48de81663829fa1b449ab43dfd7a5fbd21bfbbd21) >>
->> endobj
-808 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 242.014 232.286 252.544]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge574051d412d3ee587c872f48de81663829fa1b449ab43dfd7a5fbd21bfbbd21) >>
->> endobj
-784 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.275 242.014 335.777 252.544]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge574051d412d3ee587c872f48de8166354806b7252847b0cb5c2ca71e1ab43b3) >>
->> endobj
-785 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 202.786 223.927 213.69]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_g16616f4113ae69d86cdaf2b7b10cc0d6) >>
->> endobj
-786 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.698 202.786 282.945 213.69]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg16616f4113ae69d86cdaf2b7b10cc0d634c41f8889b9f0e04d597dfeaa1d356b) >>
->> endobj
-787 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.934 202.786 321.69 213.69]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg16616f4113ae69d86cdaf2b7b10cc0d6985226363a0c8f82ffd9eccd025e9d79) >>
->> endobj
-788 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 163.932 205.018 174.836]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_g464c2bc94f19f4509ffedb8b7b60439a) >>
->> endobj
-789 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [212.789 163.932 237.466 174.836]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab117095d72cf0b414b10649e6ad6f776273beff) >>
->> endobj
-790 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.455 163.932 262.433 174.836]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg464c2bc94f19f4509ffedb8b7b60439a4f9ea739b8717fe026aba79a67be5cc6) >>
->> endobj
-791 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.421 163.932 296.744 174.836]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab117095569a186f6e30ceae8ad51ca3bf7a8ccc) >>
->> endobj
-792 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [299.732 163.932 381.426 174.836]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg464c2bc94f19f4509ffedb8b7b60439a8e71cc2282a035560ecc13c306e79a99) >>
->> endobj
-793 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 125.078 228.261 135.981]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ge444adc8164dfda0378177ddab117095) >>
->> endobj
-794 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.032 125.078 260.709 135.981]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab117095d72cf0b414b10649e6ad6f776273beff) >>
->> endobj
-795 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.698 125.078 325.107 135.981]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab1170956c4381dbaddfd9e2c92dc85a43dbec0f) >>
->> endobj
-796 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.096 125.078 359.418 135.981]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab117095569a186f6e30ceae8ad51ca3bf7a8ccc) >>
->> endobj
-801 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-805 0 obj <<
-/D [803 0 R /XYZ 90 757.935 null]
->> endobj
-806 0 obj <<
-/D [803 0 R /XYZ 90 362.233 null]
->> endobj
-802 0 obj <<
-/Font << /F63 247 0 R /F70 298 0 R /F50 215 0 R /F11 291 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-825 0 obj <<
-/Length 1306      
-/Filter /FlateDecode
->>
-stream
-x��X�n�6}�W��fH�
���:��� E�
C��D]]��$p��/�e�c��O�h�p�����X�װ��s6�\8��#ߡ�6��|��A6%�l���]jc��8(
-9<��*ai�Q�]����7��.;�Y�[� 6ֈ��]䚶&��/X[������{ړX�h5�k�ΧVv�}6n�G��,��\j"����ϔ���z�v۵1�YZ%j�ۓ�+�&b�m}4��y��Y2��GU��᫾��������a.�&���kx
���ǀήo����o����Z��ۊ���l0�yT������yr�b��
�1�qM8�B�e�SƆ���("�R�$��0K�Mv'���Y2oX�.ؗ�E?�� ��h�%[�vTѥ9���|�
Qp+�We�D
}�Gْ�c��a��������W����������G���H�>˙
/��(LX,#0]'�,~U
�����!��t:���{m ľ�ɼ�� X��_Oo�J����8�+�'o�+2$;�{8y_*��>i�g��*>]�G�Ӻ���mJ4D�.� �sVQ̖��"̣�8
-�[b���L�gu���rp���@�Di��;�n�ի ��3a���EUn����
��Ȋ�f�P
-�"H�ɦ'T��rΒp^�L=���pl�+O9?���[��u-� _˗�#���� W�(
�jɖ���ܨ��ب
M�E� �PE0����QAz�S�`�j

-!�^��	��;?_�~�c�����z>aw�Hp:C&a�]i�R�F��m���y�ф"�o�����9���(
����ʕ
�A�J�Z�Ҕ�h�2��r-_�-j���V�Qz��tU�$.u�4K�;��A
w�n���&mC��ɘA#��D���PUk�,�1��Ґt�Uj�i�M%��6mo��աrM^;7}�6��µ����\�?��D�ZϪ(^5�M|9s�UQ���K�f6$Д�V-��4n�\�c�c!���ů��#
-'���>���E��u�`����v���y��
�vxu}dY�?��8�N�Gx�
&��yB�C䄕U��nZ�!�,VY`��åo"��H�N���H��
�k7Tl�{�n�
�*ċ���W�y���J��
�P�b���~�,7�R�6�R��e־;
�]��^��K��|��t��[���5��F��;�Mװ���}�����f�`�O�m늂Q�VAllT��Ogy�i���C��bG�o
I��撌�Z=��#d�u���[K�,W�''OOO(,P�F�
E��j����-
-��[!�ey}�Ʌ%P�\���h]6�>Jaa"��ݸB
���"�
-endstream
-endobj
-824 0 obj <<
-/Type /Page
-/Contents 825 0 R
-/Resources 823 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 835 0 R
-/Annots [ 797 0 R 798 0 R 799 0 R 800 0 R 809 0 R 810 0 R 811 0 R 812 0 R 813 0 R 814 0 R 815 0 R 816 0 R 817 0 R 818 0 R 819 0 R 820 0 R 821 0 R 822 0 R ]
->> endobj
-797 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.99 720.286 225.779 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gd7cbdacd9a5e2c068c25c12f47f8936a) >>
->> endobj
-798 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.454 720.286 369.659 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggd7cbdacd9a5e2c068c25c12f47f8936af8a08f4943e38d19a2d06ad647e37729) >>
->> endobj
-799 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.099 720.286 511.506 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggd7cbdacd9a5e2c068c25c12f47f8936a50069f21f8a038aa6bda4255c9e1e79c) >>
->> endobj
-800 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 708.331 243.912 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggd7cbdacd9a5e2c068c25c12f47f8936a6ceb40deeaaaf0f057da97c1aaac0a3c) >>
->> endobj
-809 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 669.103 221.336 680.007]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gb884929ad9e98d94cac675f7fe3e9771) >>
->> endobj
-810 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.107 669.103 301.924 680.007]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggb884929ad9e98d94cac675f7fe3e97716123d48765236f5a4dc9b6589f3009a9) >>
->> endobj
-811 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.912 669.103 381.604 680.007]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggb884929ad9e98d94cac675f7fe3e97713b313393fbe3b2f84daa5d5e440d5fc9) >>
->> endobj
-812 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 630.249 210.278 641.152]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-813 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 614.682 171.803 625.212]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b8d1443a727b974ff807ec5bc5cd1dece) >>
->> endobj
-814 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.792 614.682 257.093 625.212]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b671181c4f0b106836b2bfa9c51d75464) >>
->> endobj
-815 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.082 614.682 295.329 625.212]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b7efe7873dcfccf876422dfa5f1fdc5a8) >>
->> endobj
-816 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.318 614.682 402.198 625.212]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b468e42a8760cc57fdc62aef53af8908e) >>
->> endobj
-817 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 598.742 193.382 609.272]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b8b42d305e53e64514a7f004b4e55f862) >>
->> endobj
-818 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 337.912 172.889 348.816]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_b4470b84b8b57bae591239910d220c70) >>
->> endobj
-819 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 299.058 146.976 309.961]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_133f3756e88145e6ff5bf3d1b41838d9) >>
->> endobj
-820 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [122.488 260.203 136.655 271.107]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_a3a5f10fed94188b162073ef8efff393) >>
->> endobj
-821 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [122.488 179.441 137.213 190.345]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_d35d7381bcd3c4cf029d4b76bb6545b8) >>
->> endobj
-822 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-826 0 obj <<
-/D [824 0 R /XYZ 90 757.935 null]
->> endobj
-827 0 obj <<
-/D [824 0 R /XYZ 90 561.048 null]
->> endobj
-66 0 obj <<
-/D [824 0 R /XYZ 90 471.647 null]
->> endobj
-482 0 obj <<
-/D [824 0 R /XYZ 90 439.719 null]
->> endobj
-70 0 obj <<
-/D [824 0 R /XYZ 90 439.719 null]
->> endobj
-829 0 obj <<
-/D [824 0 R /XYZ 90 356.886 null]
->> endobj
-830 0 obj <<
-/D [824 0 R /XYZ 90 356.886 null]
->> endobj
-831 0 obj <<
-/D [824 0 R /XYZ 90 318.151 null]
->> endobj
-832 0 obj <<
-/D [824 0 R /XYZ 90 279.297 null]
->> endobj
-833 0 obj <<
-/D [824 0 R /XYZ 90 196.512 null]
->> endobj
-834 0 obj <<
-/D [824 0 R /XYZ 90 196.512 null]
->> endobj
-823 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F21 828 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-859 0 obj <<
-/Length 1840      
-/Filter /FlateDecode
->>
-stream
-x��YQs�8~�W��`�I�l��
i:�]{�$��vc�jlj�P���J����6i.י{[�W�߷�ڕ�3w��s~�\��3$C�����R'��9�S�}�Q�{}F)�b�Wy�]�i��dRD���l4��q�5z,��Y���Ҩ,�嵜I�Lf��n�xץ���o:/o;�;
4�S���p�e��G�La��C�;
����t<����t��Г�p�P_Xkaƞ
YEI*�Z�
Y�E���
t\
-�'�:}��j9���U�&�V��;c��*�K�UI6�#�uMR�o��,��Y��$�Ҵ?��
D
�"�
.��sO/�0ӧy��e"���兾�Iy�ئ�`ys3��,��F`V���UY
KӼ�Ewc
�@)O���a>��Pa4
r���Es��� �Ϸ�kk��z�
.i؁?��P���kɮG�xZ��:��
���	re������&&����Z�<k��u��ER�2��bnB�Z����g~�y�X\��
 5�]�'ik5���D�\g1zVِ�c�#,p#N3vS�sG��b�V�:��<p}�7�!���O�
-�xu
�U+X�i���b\Y�4�
{��4���:f�/u�����dS��ZQ\�	�@�C;�c�
-������:I�5^&Q��7զC�<a�;�cP���
��-�<p;�6j�����J�9󜴚q_�҂�A�(
��)(�������nV\���J��*�1�)9_m-c-	N�W3���
��	�L�������/�_	�Q���ʬ���u>o�7�=S@
S}��$�C�j�����`�	��g
-S�+DIV�o�e%������L�
�B�ִ�ece�Ec�9
���\���;�x�
l� ��x�k��N�8��2�ƎV
-���.��[9�	sʡ���0<]=gP�c�l�K����t���9+�������2�Q)k��T_=7��2_���~���{�9��%�dۖy@<jqW��1�`��e��BV�N,��2��W����?v �iJwp5�l�k����0S�
��r)R��u�6���U����c�U(
-�!i�L� 4���,�����&�g�� *T��f�I�;B�^
�+��^�)��y���	QI����
�p��Q�k��Z�-�g�+�aW�Oj��
�*��cN0��R�mG�ZGm8�Z���w˗�*��^ï�**�������
 P�ݛ�l���v�-��j��*\F~�b��	�������N�g7�WE�-
�54��P�7�K�}�����	�^�
//��l=������E�������
F�Z8�������*&���=@aY���[�z���P���€�>qAm��I_->�z���|�ãl���]����o���0~��R/v�ϼ��/ε3*����ʼe��
8N�s��"��m�?���s�a��T�lz�E��0g�.���:��b?�f��K�9w����
��GQ�'+Ve3X����̓Z�*�!����4
���C�J�[�"R��`
@�K���B>��
�����q�⦔��~���J�
gl�;����׻w�YO��>�ui�W�lLm�x>�;
[۝��5��U������O��
���);�VJ���_i�gh�^�Cȼ8�w���Y�o����FC/ ܚ�y��Ӑ��M~H(4^���I}fg��0 �џ�Đq�y�Jo�K�`M���]���7�B��(�����:�d1S_ob3�W)�_pw6<���u
F�?�E�k�a)ᦆrAԍ�5���귎b`g">	��/U�:
6�
�K�ΒUA�j�Z���-s'�A/
��5��j��ԩP�
-�� ^2Θd0q��q5y
�z<8y
-endstream
-endobj
-858 0 obj <<
-/Type /Page
-/Contents 859 0 R
-/Resources 857 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 835 0 R
-/Annots [ 836 0 R 837 0 R 838 0 R 839 0 R 840 0 R 841 0 R 842 0 R 843 0 R 844 0 R 845 0 R 846 0 R 847 0 R 848 0 R 849 0 R 850 0 R 851 0 R 852 0 R 853 0 R 856 0 R ]
->> endobj
-836 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.93 576.922 276.658 587.826]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-837 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 500.884 184.651 511.788]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_1c91471f55b22735023d37417f0bef70) >>
->> endobj
-838 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.633 500.884 304.022 511.788]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_g16616f4113ae69d86cdaf2b7b10cc0d6) >>
->> endobj
-839 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 466.316 184.651 477.22]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_509185b3d326e5d4496fbe8953b82f88) >>
->> endobj
-840 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.467 466.316 248.023 477.22]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-841 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 430.057 184.651 440.961]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_5491f9cbaf4f0215196fc05ce17eaec9) >>
->> endobj
-842 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.467 430.057 248.023 440.961]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-843 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.836 430.057 333.302 440.961]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_g0cd3c405aa537a001f59e642f2acddd3) >>
->> endobj
-844 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 395.49 184.651 406.394]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_d008d79cb35b51e7dfbee0dcc3741dc3) >>
->> endobj
-845 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.467 395.49 266.294 406.394]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-846 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 360.922 184.651 371.826]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_bf571357a5156e495293957a44145a9b) >>
->> endobj
-847 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.467 360.922 272.919 371.826]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
->> endobj
-848 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 326.728 189.015 337.258]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_173c08eeeb4a96b0060d5f023e4ba4a6) >>
->> endobj
-849 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 180.874 184.651 191.778]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_558341813be1d1bf607bf1c50e6e1ba3) >>
->> endobj
-850 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 144.616 184.651 155.52]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_a37dcee4fa14c58b76c8d3c4227849e8) >>
->> endobj
-851 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.222 144.616 347.688 155.52]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_g0cd3c405aa537a001f59e642f2acddd3) >>
->> endobj
-852 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 110.048 184.651 120.952]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_e79d42cfe6b21bcf264fd9ea84e78fb2) >>
->> endobj
-853 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.467 110.048 264.61 120.952]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
->> endobj
-856 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-860 0 obj <<
-/D [858 0 R /XYZ 90 757.935 null]
->> endobj
-861 0 obj <<
-/D [858 0 R /XYZ 90 733.028 null]
->> endobj
-483 0 obj <<
-/D [858 0 R /XYZ 90 646.577 null]
->> endobj
-74 0 obj <<
-/D [858 0 R /XYZ 90 639.509 null]
->> endobj
-862 0 obj <<
-/D [858 0 R /XYZ 90 541.172 null]
->> endobj
-863 0 obj <<
-/D [858 0 R /XYZ 90 483.266 null]
->> endobj
-864 0 obj <<
-/D [858 0 R /XYZ 90 343.304 null]
->> endobj
-865 0 obj <<
-/D [858 0 R /XYZ 90 195.787 null]
->> endobj
-857 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-880 0 obj <<
-/Length 1734      
-/Filter /FlateDecode
->>
-stream
-x��X[��F~����R��;�V��MR%�����J"��c
8���{���x/�F}��̜�w�s�,
��2yq=9{-��PR�\/�;�$HP�\ϝ.��N=�1v��\G�"Ow+5/�Y�ܔQ�{��|v9�ص/�$p�l�Q���4�*s�^-T�Ne���'�ed��������vB�"���#�	'^O>|��
��u0ba�l�Uk�S��s5�c��7��c�����)CX
-����
-,k��P�*�W�Q�����`�
ǣ��7>R*z[����eQ�L�p�L�p��p�穊2�\�[.��zѦ(T9��7�|L��,Y̔�5��.��#��P2d��gc�w���^������k�)E��#����,�
܅0�
f�7��e��
- !�@^ �0M��z�TfQ_)G2$�

"IڭٍH	�����4p��6�'�yܾ6�Wփ:Q
�����.7�^A������7%�����X���6�Ԉ&��P�C1�14�QZ��
�=�1�*�	��J��C�9
g�f�]�P"��x��I��
��ik��&��$��J�8
�3�S[קʲ�J9��JT?���QR�Xr���x�X�x���QD����g`@(��<��JհR۶U��y�n�u`
%!�E��c\�d**g��u�c>
��}L�闎ǀ(C)!��B�w�P��nZ���n�b�t�Cn�x9
���]�T
�d#u;R)>0ml�zuX*U�4���<"8����.F�
��{�9��S�
St�zjZt
�hf���6��4C2�;�1�Y�&�S-�Q}�ڌ�8�WЉ+e	-J�^��Ms���QM	v������n�ȩLG�k	@���
�� �zBC��h/U
%ik�KU�eR��<�!��qĸ���[p„�/��3��4�Z�1��ͥ
H��LdC���
�܎�� 5�vq�[ ~��{�2�7k�i�6�

0R�P<j\=5IJ�78K�li�
-)�� qڑ�|�u \�uO �@pm�2UF���J85%n="
��&�$�9���)��4��1ȹgWyD��MNjM���20�j:���)6�0�5��<�:�A-
�A[�3I���{u���s�7��bDLu��y���4P���3*f�:_]\^�5&'DA
� m�^}aC����̍K5���
�N�o�6��F��j]�;��(a��
TP���Tz���]\gK�m���aa�t�$=q Z�E�^�'� ƒ��F_c�Ck��
L�2�?��1�b$�J�����"U_�z73'�cuz*�O�q�aL-������
����OV�";2$��q^�6��
-q��|�W��]�1��jP{A�
��ڻ^�V��PC�:Jƨ&�ˆ�����)/��DK�C�=%��!�t����ծ��z��a���㡸1�3
��?
$
-�|�]���E��e
�p��7Fm��
<��K�$�#�B���ᆩd�eI=�b5�
��
�%��=օ!�Q�)	�fĿ�p��bu��_��r
yp��O'�����'a��#�:8�<Nf�ȵ~�|(6��Ѓ����O�=ԇn�~۔0��࡟6�O��
8Ň��@+B$�0(���޶6��������
��u�-7�Ҋz�ժ\�Ӆ��J��O�p-�.�l�{���GL�tai�"=`�J��8��N{�뤉��E*$
-HW��.���m�[Wf��DI}V���u/�}��xoў#�Б�'
-�`��!}��ޝd�pݜ1���#T؃
-endstream
-endobj
-879 0 obj <<
-/Type /Page
-/Contents 880 0 R
-/Resources 878 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 835 0 R
-/Annots [ 854 0 R 855 0 R 872 0 R 873 0 R 874 0 R 883 0 R 875 0 R 876 0 R 877 0 R ]
->> endobj
-854 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 697.994 306.942 708.898]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_3665335e295bd7c05eeca13be606616f) >>
->> endobj
-855 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [310.757 697.994 370.313 708.898]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-872 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.905 608.266 255.461 619.17]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-873 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [427.859 608.266 491.28 619.17]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_ef6bc45c4726c7fb386547c6ec104cf5) >>
->> endobj
-874 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 608.266 513.996 619.17]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-883 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 596.31 161.84 607.214]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-875 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.301 596.31 231.857 607.214]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-876 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.356 515.921 191.678 526.452]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_1f026c17289bb2174eaec0d61a4a2e67) >>
->> endobj
-877 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-881 0 obj <<
-/D [879 0 R /XYZ 90 757.935 null]
->> endobj
-882 0 obj <<
-/D [879 0 R /XYZ 90 627.239 null]
->> endobj
-884 0 obj <<
-/D [879 0 R /XYZ 90 534.522 null]
->> endobj
-885 0 obj <<
-/D [879 0 R /XYZ 90 534.522 null]
->> endobj
-886 0 obj <<
-/D [879 0 R /XYZ 90 478.228 null]
->> endobj
-887 0 obj <<
-/D [879 0 R /XYZ 90 419.527 null]
->> endobj
-866 0 obj <<
-/D [879 0 R /XYZ 90 397.215 null]
->> endobj
-888 0 obj <<
-/D [879 0 R /XYZ 90 397.215 null]
->> endobj
-867 0 obj <<
-/D [879 0 R /XYZ 90 320.551 null]
->> endobj
-889 0 obj <<
-/D [879 0 R /XYZ 90 305.981 null]
->> endobj
-868 0 obj <<
-/D [879 0 R /XYZ 240.245 241.153 null]
->> endobj
-890 0 obj <<
-/D [879 0 R /XYZ 90 224.426 null]
->> endobj
-869 0 obj <<
-/D [879 0 R /XYZ 332.797 173.709 null]
->> endobj
-891 0 obj <<
-/D [879 0 R /XYZ 90 156.982 null]
->> endobj
-870 0 obj <<
-/D [879 0 R /XYZ 338.775 106.266 null]
->> endobj
-878 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R /F11 291 0 R /F81 703 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-901 0 obj <<
-/Length 2000      
-/Filter /FlateDecode
->>
-stream
-xڵYێ۶}���۱��CR$%�hӦH��f���Ʀm���Hr���n�$S���A�ƒL������h
��כ��on_�8�P&���WQ��D�)����	�(���x�˛m>����F.�|^M�<>�����E!�n:�
O^�yۚ�?�J6S�Nd����1��t�����/�7�o��#���	Jb
-�7�?�h	�_G A�F�j1�g����_T��
ޫA�_Ue~7�xb�PR�U�)(Ǩ�|�
��{p(x�2%GR1"NȬ�z4K<�2
-��Ԃh�(F
gь�q�ыz�+�ע{�c�
�d�q�-�B�2D斂R�,��hь�IE��"A�2���}Q.��s�}��쫍��&��(���z7%���[.�E
;��b��v}Y��F�Y�89�h̏��Y�����
eI� ㊘3���Z���ޝlL<%|��lT�pX�}l8�uU7r��ܵ�O�U����U�5�EW7��&oM�z[����?r:}�I��5F@"��J69>��vr@k���1�n�(
|v�q�QJ}@Z�)��EĮ�z;�Ik����vڵ�Q��ⴑ^��6�}�QJ����C͓~,��(-�j#����
֖ �-ܛ�Q@��j0�݌�	�$
��e��r� -�_�E���s����G�<X��6�؍*X����2!&u]ʼ27���n'��C���s�Z��y��K
�V�cnV�bJ���f�s�O����J��q�v��Z�K���
�<�X�ԝ�m��ϩ ���%�
O7���ҋ4�"��
47�P������_H�AW�b��� �ʫ91���u�Lj�Ds(Z2x�D�|���
r[ 'ԇ�K(�8
}}q4C��L@�P�&v�_�.�NEV��{u�T�Y���ڟjS�$E�.P�A�WՔA�e���ؘ8�O
-�3��j6`�~�Ԛ�,'!�2�A����'�}H�g�+z��͘Pg��!
=��
!��X

A1!
�Q�d����t�%��Գ;u��ٟxN�)�Y�P��m֫b,(N���MQu���2u�A6����I��L�Q���H�`��C�3[{)�$��d
-/�J��
v�
-�W at 1�-T
c�_q�ջ Wg)��M8�<q{�)b�۟�m?�� �LS�1�0��
}
��Y�N1�3R��aXW���'�ћ�PtGO�N�Z6���x>��Ւ�@��8��x#�PLs�$��~L?�>_����0�_��h:��q_֭����_��T��Z��\�Ԥ�C�j�I����혘��8Ai���n(�*�q��� РUѴ]@
-�o�8���q�
-l����
�R%�>N|w�z��ad%"S�C�C�?FEk'�0���.�[��L����ε�C���=@g_��TI���e,�(]����~RDo�*���=5�(I�k��3c,8�LX;�g���ql
�lh7�KwfD�
�+�uD
����0���#2S�j몋^�����d,}��U=��m]���bfl1"8���
1~<����Y�;��㗸�۪h+�$� �f�$��
�߾y�sOk}^>�z�4L�>_��ʐ.I��
�|�Yw�u��nƢKH;u�g���]$��_.��
VuY�ҵ��n(�i)�r[��_�Z
��:O��KA3����믏 �����:4�+	�jfy���!���3�
�kg�#4o�ݽqs+�R"�\[���n�P�
-Y� �#�[
gq:��O,~��X��;v���Y��-��$rB&33$�*�J19;��s�<]���)�m3�.��5+����R��
-t�AS��p�*c�(�w3fY� *O�9�AA� ��'��@)h;�~��<���l���n�sqbnߘ`17��#�|�W�}��[�Re�J������?Sh
�����ލv�L&h��
F��3|�
�wRZ�c�
���L
2�H9�>��5���=��=
h�"H����nWޞҰ
�&C���s
i�e�$�^��.*X�մ��~�>A�i
-endstream
-endobj
-900 0 obj <<
-/Type /Page
-/Contents 901 0 R
-/Resources 899 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 835 0 R
-/Annots [ 894 0 R 895 0 R 896 0 R 898 0 R ]
->> endobj
-894 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 464.739 230.651 475.608]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-895 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 125.229 159.927 135.76]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_ac1766c4ad4a4697f6f9d4a92b200cb2) >>
->> endobj
-896 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 86.288 159.927 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_ffb4611ad564f09455819718964b6e80) >>
->> endobj
-898 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-902 0 obj <<
-/D [900 0 R /XYZ 90 757.935 null]
->> endobj
-903 0 obj <<
-/D [900 0 R /XYZ 90 733.028 null]
->> endobj
-871 0 obj <<
-/D [900 0 R /XYZ 461.214 675.861 null]
->> endobj
-904 0 obj <<
-/D [900 0 R /XYZ 90 659.263 null]
->> endobj
-905 0 obj <<
-/D [900 0 R /XYZ 90 591.949 null]
->> endobj
-892 0 obj <<
-/D [900 0 R /XYZ 90 569.637 null]
->> endobj
-906 0 obj <<
-/D [900 0 R /XYZ 90 569.637 null]
->> endobj
-893 0 obj <<
-/D [900 0 R /XYZ 90 456.365 null]
->> endobj
-907 0 obj <<
-/D [900 0 R /XYZ 90 441.924 null]
->> endobj
-484 0 obj <<
-/D [900 0 R /XYZ 90 231.45 null]
->> endobj
-78 0 obj <<
-/D [900 0 R /XYZ 90 224.405 null]
->> endobj
-908 0 obj <<
-/D [900 0 R /XYZ 90 143.686 null]
->> endobj
-909 0 obj <<
-/D [900 0 R /XYZ 90 143.686 null]
->> endobj
-910 0 obj <<
-/D [900 0 R /XYZ 90 105.238 null]
->> endobj
-899 0 obj <<
-/Font << /F63 247 0 R /F81 703 0 R /F50 215 0 R /F65 249 0 R /F11 291 0 R /F70 298 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-927 0 obj <<
-/Length 1489      
-/Filter /FlateDecode
->>
-stream
-xڽX�r�F��+pJ�*s4
��r�e�/�b+'٥��!	
3 $��ӳ  P�
1'l�F�{��z�����7�����s�9�|�;�+'�N��)q.��՜`�
�1�oc����2�߈�����F�����,ֲE"��x~��UeN?���.	��)����s�\������3#�v��.P���䳫/�Y���F,
-�;�*w<��9�fΰ�a|�1�	!&�S1!
:e�����I��u26��+��g�i���6�o�K�1@�{f#N���`fV
>�
��HǼ��s�{,,�P2g>?��gJ�ȈBN�-��̜���T$��"��T\�1�/��oE-\��k�I߿I�	��v
���(8�!�h�ޤ�BV�"� ���#���i�6�V��+�z|^����j\�$���\H�s�5�
-^��,̳�� � �x-��t�я�A!�9���ɰ��9�D���m��Y����Lj]�'��W�����z�>u
kQO.��A�YT���mĜnD��=�~��0����z�N%3�#Od�H2�3Ӭ=�"L;�d�X�|%�8̈́��nu�i
a`�C̋��_�;�{���X�z�ȧ�y돛�"�+F��2}��b?�����A���0��JE�-����L�#)s�K�a��69��Ej���}� ���$i����1�������-[tHq�5[)�
-��^��U-cp�����q]ʶJ
�SU�*-�M'6��w<��Z���G��?u�n�*�&ﺰ��Ͼ����##�Xu��.ݱ(�XBҋz�?��p
-w�ۖ�����=�]�J
�ї�
_0
!�JF'�R7HH+uOȜP�^�$B�7����
E��n;n���#���r;A���]���n2���(� �r�k|�,.���&���
 +!���ȯA�c���1\nd�0�k�YM ��톰)\B��
.�RX⊲�
-
�^1�Ӗ|�|�3���NԀ�#Fm -��1�і���Ƒ�v��%�K5���+O�Ԫ�2U7˩D�ĐI� �����qY}�b��إ-4]�F��X�
d��Gؗ
*Bm˵�Z�4Nj�&K���R؜�7E�K���mх�
���
�=
���^��֊Ȕ	A^<>

f�>a�I5��*��*�	�᮱�	!�o  
�&�_&�D(�Ag�N� u"=���R�h�����v7���<h��C%�����
f����
�\��[5�X�w"�?�*I��e�o�>h�mW��z,HO�8�d'�Cv���
�����L���Q����#�ag�����
� �?#��y~�0L��ӿ�3_�)��
�A��7R�
E��;{ي�k;�V>s�/��1LPM����nU��@�
-�_��?���-��i�Z�h�BV
��S�-RH�ʌ�o�={7�$�B��G!��~S��ӓ���;�T�)ҭDi}��f'�qg�@�;���'/�0#
�G�dgҴ05�Z}
���m
-endstream
-endobj
-926 0 obj <<
-/Type /Page
-/Contents 927 0 R
-/Resources 925 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 835 0 R
-/Annots [ 897 0 R 911 0 R 912 0 R 913 0 R 914 0 R 915 0 R 916 0 R 917 0 R 918 0 R 919 0 R 920 0 R 921 0 R 924 0 R ]
->> endobj
-897 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 696.282 159.927 707.186]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_4445a4d60c39e32b6f6d3e2dcb901e55) >>
->> endobj
-911 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 657.987 159.927 668.891]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_7c968f7ba606e8b99863ae8cdef3c686) >>
->> endobj
-912 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 620.065 159.927 630.596]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_2ae111e41ccba8a228746939bb1c595f) >>
->> endobj
-913 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.743 620.065 209.76 630.596]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-914 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.861 581.397 215.488 592.301]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_aff569442866d78436e19428b4cb8e75) >>
->> endobj
-915 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.225 481.857 200.241 492.761]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-916 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 188.502 164.042 199.406]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_71cf9ab9ae4f184bf520137a8209ff3e) >>
->> endobj
-917 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.858 188.502 245.107 199.406]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-918 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.991 188.502 337.241 199.406]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-919 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.125 188.502 398.142 199.406]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-920 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 150.207 215.13 161.111]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_6bcbe60c7d20f1fee7847e262993b626) >>
->> endobj
-921 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 111.912 201.302 122.816]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_1a974f4ed60693790cec91f324a85b05) >>
->> endobj
-924 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-928 0 obj <<
-/D [926 0 R /XYZ 90 757.935 null]
->> endobj
-929 0 obj <<
-/D [926 0 R /XYZ 90 715.095 null]
->> endobj
-930 0 obj <<
-/D [926 0 R /XYZ 90 638.505 null]
->> endobj
-931 0 obj <<
-/D [926 0 R /XYZ 90 600.21 null]
->> endobj
-932 0 obj <<
-/D [926 0 R /XYZ 90 544.608 null]
->> endobj
-933 0 obj <<
-/D [926 0 R /XYZ 90 456.579 null]
->> endobj
-934 0 obj <<
-/D [926 0 R /XYZ 90 434.268 null]
->> endobj
-935 0 obj <<
-/D [926 0 R /XYZ 90 434.268 null]
->> endobj
-485 0 obj <<
-/D [926 0 R /XYZ 90 295.259 null]
->> endobj
-82 0 obj <<
-/D [926 0 R /XYZ 90 287.792 null]
->> endobj
-936 0 obj <<
-/D [926 0 R /XYZ 90 207.196 null]
->> endobj
-937 0 obj <<
-/D [926 0 R /XYZ 90 207.196 null]
->> endobj
-940 0 obj <<
-/D [926 0 R /XYZ 90 169.02 null]
->> endobj
-941 0 obj <<
-/D [926 0 R /XYZ 90 130.725 null]
->> endobj
-925 0 obj <<
-/Font << /F63 247 0 R /F70 298 0 R /F65 249 0 R /F50 215 0 R /F81 703 0 R /F88 938 0 R /F82 939 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-955 0 obj <<
-/Length 1646      
-/Filter /FlateDecode
->>
-stream
-xڽXI��F��W���۽�[Ҥ8`�RE`rjJ�۶@���0�>�ɒ,������ׯ�כֿ����W�?�f�K����
-�j���A��j�|p	F|� cw�Yt�/�۝\��u��ʨ���x^�۲�y,���V���
ʱ�<���ܾ�Y�I�*!PG�.�柮^�^^;���
���>�w�l��v�����
�FKe�G\S�����s+�!,���[mAQ˸�kc׳�.��
�ijYisZ}�K�{ʈ@

��H�
-?R���=�[��w�f·�r3����1�������ˊu�6�Hxx]^��	�N�);�}
u�C��;�vr>Ч�����׸�qN��&W
A�`!€�����<'؍�/�V>.�o�\F�����RVUR�灜�~
�ߢ��'�M�6w�(��W%�8���Z���{>����wIe���pme�={� �!��8C!y$��G�L��F�r 38q�
�8RH ����ˮ
"6���u��mjz!��L���u�
�<ļ��yf]L2�fm����HP��ܢ��
��TF�������?@�~Ml��&V+�rY'��
-�
���P���ˠS�<���uB�>5x��
�X���#ϧm3B�(�aY�
P
� @�Mv��zb৔��B��փz"QX؊����D��g�
-��K���٤s֧v!��D�2��0��M,��1���,6��#���>�J��	U}^�A��'���r�����X���Ǻ��~�����<@�㬀W��������?;V
 ��vA�AH�> B�Cڍ��d)'��{
SS
"FI+��1n"�1ᮓL�:���*R�k����>��)��8t�x�|���>������$�u簅VO���
-g���7�-*�h��I�
 ���{|��nk��p�L|�l-��O�s��$�
�x�;U�����NWle.
Ռ1D�2Sw��*ձy?
y�w��E�(Z�C�������8��D��Z?���x�:���|&�ڸ�X'D
-eA/iOh�zث-$y=޳��DiRߚ��R
�?$
-�K��e�
���� zN	�/��U�� ��%`�� s�'�טt{p��
���~3GT����.|�M
�
�B¶^���N��|w�P�� +�&8Jl�Y溒�
l_{y���Y"T��'��|]�
Ԫ:ҝ�~�)�vO���l�Fϋ�A%�2���MYd#86E��r�t���/�Ou��x�m�s�US��|�
��!M�7z4��p�$���UOY��(�P���"F!���"�*Mb��?2[��_6y�H|�s�1(C�j��
�g��r5i�AS�e�Eyu\ϜL$�z4��l�Jǹ�=s�&�5r[xr"��T����.���9�EU�$��&�?��dݔ�-�d�YTw1�:�2�R;��潹T�<1=��A1��IB������H= �c�j?	9 A��/�||�+�a
:�W��~�*x�8������c���������~�7��|�t��)�ݘ�L��J���9L[6YFy���"�8EYu�b��*n��5�e{Lb���w�4	���
��:�����b����Aq��<ٗ(���}�<NϽ~
�?��U�0S*TxdB�����$71
�
-<�oݪ
-endstream
-endobj
-954 0 obj <<
-/Type /Page
-/Contents 955 0 R
-/Resources 953 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 835 0 R
-/Annots [ 922 0 R 923 0 R 942 0 R 943 0 R 944 0 R 945 0 R 946 0 R 947 0 R 948 0 R 949 0 R 952 0 R ]
->> endobj
-922 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 699.305 159.927 708.151]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-923 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.425 699.305 196.739 708.151]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_7622929270f419e884d16cec2fc172b5) >>
->> endobj
-942 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 616.485 191.16 627.389]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-943 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 616.485 205.277 627.389]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_637fe9105c9bc0b2722544d16453e87c) >>
->> endobj
-944 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 577.63 191.16 588.534]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-945 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 577.63 205.825 588.534]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_240b9d144edd0d6dca5cb42904f9b279) >>
->> endobj
-946 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.82 477.559 227.951 488.463]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
->> endobj
-947 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 245.845 198.363 256.749]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System_392557cee71bc7b2eb23f07a9d788062) >>
->> endobj
-948 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 206.991 215.13 217.895]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System_2da6d6ce1ce4057b0332826381042d4d) >>
->> endobj
-949 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 168.137 201.302 179.041]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System_6b7400f7e25b1bb473b2fc16c0c90b32) >>
->> endobj
-952 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-956 0 obj <<
-/D [954 0 R /XYZ 90 757.935 null]
->> endobj
-957 0 obj <<
-/D [954 0 R /XYZ 90 716.221 null]
->> endobj
-958 0 obj <<
-/D [954 0 R /XYZ 90 716.221 null]
->> endobj
-959 0 obj <<
-/D [954 0 R /XYZ 90 633.556 null]
->> endobj
-960 0 obj <<
-/D [954 0 R /XYZ 90 633.556 null]
->> endobj
-961 0 obj <<
-/D [954 0 R /XYZ 90 596.724 null]
->> endobj
-962 0 obj <<
-/D [954 0 R /XYZ 90 540.31 null]
->> endobj
-486 0 obj <<
-/D [954 0 R /XYZ 90 352.267 null]
->> endobj
-86 0 obj <<
-/D [954 0 R /XYZ 90 345.667 null]
->> endobj
-967 0 obj <<
-/D [954 0 R /XYZ 90 264.819 null]
->> endobj
-968 0 obj <<
-/D [954 0 R /XYZ 90 264.819 null]
->> endobj
-969 0 obj <<
-/D [954 0 R /XYZ 90 226.084 null]
->> endobj
-970 0 obj <<
-/D [954 0 R /XYZ 90 187.23 null]
->> endobj
-953 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R /F8 300 0 R /F1 963 0 R /F10 964 0 R /F13 965 0 R /F7 966 0 R /F11 291 0 R /F23 216 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-987 0 obj <<
-/Length 1229      
-/Filter /FlateDecode
->>
-stream
-x��XKs�6��W�Vr&�� H�=%N���̤�zr2��$$|( ��� P-ɯ(����o���܃�����`x/i�co<�R�%1#o<�n|A
�B�/�,�dY�w
>�l��[�����yU֍d�l�S�笮��ϸ
���eƕ
�	�	
��/�ƃ���
j��$�zY1����z�A@ґ�nw^��z����<�& ƴ�d�x�&r>5���u&ŲU�m^P�%z!� �R#�9S��
/̺��gV�s��N�@
�GQb
٣e����+����g��f���ih
&rn��z?�n��wz&��
��@�n¾��<f
��m�[��Ro(��]v�Uވ��XK��}������C-W:Cz���8Z�c��>7��U�ˆ��k_�*i�BX�e&�}f�y�%k

f�*�Q��y`�E97�>C�s~�k'�ADF�'���3ƴ
-����,�����0�?Ed� �
�x4JN���%}.J�,����墹�)`ߪ
�}LM�zy�$
Pjc�iu���
�ȋ[n]��LG����ge�;���{��e�����'h
-����"1y��R򺶅�/"���q�_�客Bq[���H�O��A��+�P
�l��B6�4��+�E �,�߬D>��a]�SH1�c�L��\ZW{��	�L
H�s]~�f���^�L�sYj��[_�Ё�^
�M��SD��ʛ�X
Q�g�d���S~�r/	�oV�A�1�׬�r�����]&G�p	@+��ܶ���vMP
Jݦ� E	�	��U!�b��Ob�*~rR Sr� P0����j��|��_��bq
u�'��H�U�8��R�����Z���{����3!&�U�<9���ڪ�:��5][��.K�oG�U���m<RH��0"���
�
(E/
IS��:a@,ύ�gb��@�gdA��
ш�D�Ca�4P�ie�d��&�?b�v��Qm{�����&�#=��P�j{�|�P�����~�B�G	,�2�Trl+ؠx at E�(��)܇��{�N�����nk�I<0
=�
I�eD�M
�DYe���P���S�ǫ�m��2�F;U��۶��Y9_����.���̾����R�����+w+�
-h*����A�
-C;�� $J�5w
���V�
-�q��Pwk,�fy6
��k��`U���.����x���T�M6%�#SQI�#$�*�$��D
�W�(�
�
�8�
c��.
-endstream
-endobj
-986 0 obj <<
-/Type /Page
-/Contents 987 0 R
-/Resources 985 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 998 0 R
-/Annots [ 950 0 R 951 0 R 971 0 R 972 0 R 973 0 R 974 0 R 975 0 R 976 0 R 977 0 R 978 0 R 979 0 R 980 0 R 981 0 R 982 0 R 983 0 R 984 0 R ]
->> endobj
-950 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.91 677.939 266.363 688.843]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
->> endobj
-951 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [110.861 665.984 160.993 676.888]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
->> endobj
-971 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 509.369 157.417 520.273]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_0b1d26f53dd99cfe4e2f8a4fc3e8b5d3) >>
->> endobj
-972 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.232 509.369 238.482 520.273]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-973 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.135 509.369 327.876 520.273]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-974 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.454 509.369 442.704 520.273]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-975 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 470.515 191.16 481.418]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-976 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 470.515 252.31 481.418]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_e62d06b1c82e9d9f4f12bbb3c6f4bcae) >>
->> endobj
-977 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 431.66 191.16 442.564]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-978 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 431.66 257.849 442.564]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_148544cb9ef5bf6b9a60ee56655bff26) >>
->> endobj
-979 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 392.806 185.651 403.71]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-980 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [186.149 392.806 205.855 403.71]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_dc27929d7731cdc3beeba475147e3127) >>
->> endobj
-981 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 353.952 215.13 364.856]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_1112ff3331d87019a2df0fb9a83cfeb8) >>
->> endobj
-982 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 315.097 201.302 326.001]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_4738abd11cb0fdcb233ed4f18c874d56) >>
->> endobj
-983 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.82 215.026 221.326 225.93]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
->> endobj
-984 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-988 0 obj <<
-/D [986 0 R /XYZ 90 757.935 null]
->> endobj
-989 0 obj <<
-/D [986 0 R /XYZ 90 733.028 null]
->> endobj
-487 0 obj <<
-/D [986 0 R /XYZ 90 615.791 null]
->> endobj
-90 0 obj <<
-/D [986 0 R /XYZ 90 609.191 null]
->> endobj
-990 0 obj <<
-/D [986 0 R /XYZ 90 528.343 null]
->> endobj
-991 0 obj <<
-/D [986 0 R /XYZ 90 528.343 null]
->> endobj
-992 0 obj <<
-/D [986 0 R /XYZ 90 489.608 null]
->> endobj
-993 0 obj <<
-/D [986 0 R /XYZ 90 450.754 null]
->> endobj
-994 0 obj <<
-/D [986 0 R /XYZ 90 411.899 null]
->> endobj
-995 0 obj <<
-/D [986 0 R /XYZ 90 373.045 null]
->> endobj
-996 0 obj <<
-/D [986 0 R /XYZ 90 334.191 null]
->> endobj
-997 0 obj <<
-/D [986 0 R /XYZ 90 277.777 null]
->> endobj
-488 0 obj <<
-/D [986 0 R /XYZ 90 91.418 null]
->> endobj
-985 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1010 0 obj <<
-/Length 1075      
-/Filter /FlateDecode
->>
-stream
-x��W�r�6��+p
Y5� ����[��TM,�dO� 
-�8�
E� �#۱Ǖ
T (����
v ���1��]��w|�܂��ǐ8,7�����BfIyFWe�
�l��*M֜��|~Q��4��jq��,�!ȼHiU��
�2n��dy̤8��t}���ָZX�� nՓ .qf�A`#���(�vW<Ǖc
-�����1�q:_
"���/҃�5A#�
�^��~T����b�Ƹ�UA%�$R��@
yJ��z�&�:��ekiD;���X$RT�f��(�C�
�e�;8

���Q!�;
����D����1����$x"�3'@ ���^cNc�� {0��lK�T���cQ�e��k�Af��
���e�8>����9��Ⱥ3�ٝ�2�"�Ϡ�1ʩH,���]L)_��;��;ض~Tq��6uV��wL�<�@֪T�m!�@�QK	�9MՊ[n`�R
�m��We,Y�#
]?�Ƶ��>�ԮS;%����/#��M���DD'��1
:m��WB.����ȝ�����CR��I�b͡�L�$�R�U1O���I��Q
@��&|l��Y���X��V�b��$n��|���9MnJ*%����w�sd��Kh&��vu�2�kI�&�*�׸�`��s
-�����)�z�r��aS�uv�d�Ԥ�$���;X���ر�q�sǖYw�u�ҴhJ��'�BN��v���,��;WՏ����j����5:j�N��A
}&����E&���x{�|u�w����7��bZW
��c�F���8/��M�ϛ���ΐ�bDz�[�b�,��
�͍ 
-q[�#��
��r���P�Ӆ��|xu�F�U����
{��샾����We����x�|Q՜��?M����$|��}�H�}��!$d�'��FW��
Jj���J-n�qP�|Wӝ�K�
-n�4���?*��15��h^w�bSӪ��U����9MuC��/Ӹ(0���W�ml
�����^�r>�
W���D��2�=��A
-�T
�f_4Y�[Kd��7r}`��(�\��M�N������
-endstream
-endobj
-1009 0 obj <<
-/Type /Page
-/Contents 1010 0 R
-/Resources 1008 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 998 0 R
-/Annots [ 999 0 R 1000 0 R 1001 0 R 1002 0 R 1003 0 R 1004 0 R 1007 0 R ]
->> endobj
-999 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 640.704 191.737 651.607]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System_8be9b5793c5bcbd09cbe45d5def529d0) >>
->> endobj
-1000 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 601.849 215.13 612.753]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System_ad362521f7fba585112f1a2a5aea3d96) >>
->> endobj
-1001 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 562.995 201.302 573.899]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System_f2e1b75d9c8484321bfc25bb122970b7) >>
->> endobj
-1002 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.363 462.924 257.19 473.828]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1003 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 453.026 132.51 461.873]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
->> endobj
-1004 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 294.354 219.384 305.258]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Domain__Error__Exception_3d2371e510d8b88b2660a631d6857953) >>
->> endobj
-1007 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1011 0 obj <<
-/D [1009 0 R /XYZ 90 757.935 null]
->> endobj
-94 0 obj <<
-/D [1009 0 R /XYZ 90 733.028 null]
->> endobj
-1012 0 obj <<
-/D [1009 0 R /XYZ 90 659.677 null]
->> endobj
-1013 0 obj <<
-/D [1009 0 R /XYZ 90 659.677 null]
->> endobj
-1014 0 obj <<
-/D [1009 0 R /XYZ 90 620.943 null]
->> endobj
-1015 0 obj <<
-/D [1009 0 R /XYZ 90 582.088 null]
->> endobj
-1016 0 obj <<
-/D [1009 0 R /XYZ 90 525.675 null]
->> endobj
-489 0 obj <<
-/D [1009 0 R /XYZ 90 400.776 null]
->> endobj
-98 0 obj <<
-/D [1009 0 R /XYZ 90 394.176 null]
->> endobj
-1017 0 obj <<
-/D [1009 0 R /XYZ 90 313.328 null]
->> endobj
-1018 0 obj <<
-/D [1009 0 R /XYZ 90 313.328 null]
->> endobj
-1019 0 obj <<
-/D [1009 0 R /XYZ 90 257.034 null]
->> endobj
-490 0 obj <<
-/D [1009 0 R /XYZ 90 161.715 null]
->> endobj
-102 0 obj <<
-/D [1009 0 R /XYZ 90 155.114 null]
->> endobj
-1008 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1040 0 obj <<
-/Length 1346      
-/Filter /FlateDecode
->>
-stream
-x��XMs�6��W�VrƄ ��zJ�7�Im�d{<4�l)R�8ί� (R�dŶ��ACR ��o�֝����o���$��
��܊�1J��̺�	F�����L�"�Y���=���&�nE"
'�S^p�ԥp\ʰ�>O�J���9�l^�
�0/�l/t��g����7�E�iY�B�Y�bty���fa#�������ܺ�1�;�@=����eu�g�r�3_�r��ɪH�,��
co|�p�	��E�K)
-��+JYo�Z��Ӌ9?
Y�.�ޗ|�Pf_aLӌ��äg�L��U iw�n��
Ïl3��؊�����K�}j��G��+�?��H@�u:�
4
���R]��<�0�2
c����D=�eKm^�~K���J8^h�N�#����W�Ц�Z��2!�F���>��� k\�=&[§�U$���!̸wQ���ӽ�D+��,����C�
HR8�)�뼄��k>Ӑ5E�w]�G�K$�ud�X at b�� |� $6�~, �c�.�A#R��^��zTj�B@�� �

tI	K}��a����i5<�2�@VjҝA[�"{i�R~��fK���h�
-����oK��JFh�?���ny7���@gw���d=�1
��|C>@�����
v���l�C@�i�	h�K@�
�p ���߸k�Do��
M�����ƻ����y1�ӂw����D foO���=���s�NV��i�������(݅,~���x��8|]�?�'|�B]Ox�""�����I��Z��R�-�.�h�!�>��X�y�7s
�E�>�z��%@��Y��L$�uQ��T_�^}
;[�<���e�ќ��Mmng��y^J�x�Zqҷ��RP���H�@��o��|)�� ��e|����Wy�%~Oh���("1밎j�
����e�Z�5��F�u�N�_-6.aa؉�������Lte&o<de�[��.�E�����
��$��ت��$"
 ��f�5\*��� yc� z�ӆU�@(̘t�Q�t0���M�, at P��
/�B�q�bz=� .
{�,T��
%����E8�6���
!?���
\<��_� x
�������\�+�;0�;���F����E�D(ı�.���|U�ق
Q����f�D�Isz/�
�d��0�H�
�
�F�sQ�1ټ�
�&B{^�5�|0m ���K>C�雵hj|ivKHT�i�U}~R)�>��b����4'��*�Ӧ>ʫ��C�d���ϊ�_
�l���I�2w-2��E��Z��ʬA�끩
n�
-��-�����~�D���c�u����(�ЪȖe�x���O���B���7s�y.J�x���a`�!
��XV�{%Xȓ8�
>�`
-endstream
-endobj
-1039 0 obj <<
-/Type /Page
-/Contents 1040 0 R
-/Resources 1038 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 998 0 R
-/Annots [ 1005 0 R 1006 0 R 1020 0 R 1021 0 R 1022 0 R 1023 0 R 1024 0 R 1025 0 R 1026 0 R 1027 0 R 1028 0 R 1029 0 R 1030 0 R 1031 0 R 1032 0 R 1033 0 R 1034 0 R 1035 0 R 1036 0 R 1037 0 R ]
->> endobj
-1005 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 697.621 159.927 708.151]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1006 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.425 697.621 189.845 708.151]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_cdcf46a226e15d398fe41d10873779ca) >>
->> endobj
-1020 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 658.393 215.13 669.297]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_d96733e3e3c9087e06a052e5af198ba6) >>
->> endobj
-1021 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 619.539 201.302 630.443]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_ce05db6f6b402898007ea5bf6ea4a831) >>
->> endobj
-1022 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 538.776 179.254 549.68]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1023 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.752 538.776 235.981 549.68]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_0673eda2d88204107796ffacffe269c0) >>
->> endobj
-1024 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.797 538.776 317.046 549.68]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1025 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [326.949 538.776 372.966 549.68]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1026 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 499.922 179.254 510.826]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1027 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.752 499.922 196.689 510.826]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_80f1c0111cb5ffc8bfc06f7d4ad88b06) >>
->> endobj
-1028 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.504 499.922 277.754 510.826]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1029 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 461.068 179.254 471.972]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1030 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.752 461.068 202.228 471.972]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_2a43c640dcbae8922c616491ad95e906) >>
->> endobj
-1031 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.044 461.068 283.293 471.972]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1032 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.966 461.068 341.982 471.972]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1033 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 422.213 179.254 433.117]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1034 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.752 422.213 194.467 433.117]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_01ffce41500b158f8a1272d73418822e) >>
->> endobj
-1035 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.283 422.213 275.532 433.117]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1036 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.82 322.142 219.642 333.046]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1037 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1041 0 obj <<
-/D [1039 0 R /XYZ 90 757.935 null]
->> endobj
-1042 0 obj <<
-/D [1039 0 R /XYZ 90 716.221 null]
->> endobj
-1043 0 obj <<
-/D [1039 0 R /XYZ 90 677.486 null]
->> endobj
-1044 0 obj <<
-/D [1039 0 R /XYZ 90 638.632 null]
->> endobj
-1045 0 obj <<
-/D [1039 0 R /XYZ 90 557.75 null]
->> endobj
-1046 0 obj <<
-/D [1039 0 R /XYZ 90 384.893 null]
->> endobj
-1047 0 obj <<
-/D [1039 0 R /XYZ 90 223.198 null]
->> endobj
-1048 0 obj <<
-/D [1039 0 R /XYZ 90 200.886 null]
->> endobj
-1049 0 obj <<
-/D [1039 0 R /XYZ 90 200.886 null]
->> endobj
-1050 0 obj <<
-/D [1039 0 R /XYZ 90 96.202 null]
->> endobj
-1038 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R /F81 703 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1060 0 obj <<
-/Length 1318      
-/Filter /FlateDecode
->>
-stream
-x��X�s�F~�_�[�L8�o at o�kg�&3��>�
�N-��8�_�=�@B���i��<�����߷{��������nG�+ɼŒJ�v���
%A��v���#�����D���M����\'�Y���2��U��IU�Ǜ��R�q@�/��,��Z(=&���k�q�h�p�~ty;�sD�
�f{��	o�
�=`o��{�8�Yk�S�̻�:�GC�
a)�PbDuєUR��q���`���N�4Wfv��c�?�(я�_66̲L�܄7��ȎO�P�cp��(SvJ�����3�6qs�Μ��Ɉz %��
�.͍WoƁ��{���Y�aY�$�vٵ�j��LU+eol|�X��<�jVuq�
"�#�^��M��nj2ߦn��P���^ ٓ<�K.�����^N{��Fz@��8[���:�ҵ�ԺН�=Oz>,�D���Jc*��|
0���^̘���XK�HQ��
��w � j#I�1� ͬc�V�J�Weoc���e�['�����c"|�
����!AX�;�&�)4@ǀP�""���؞�(�I�
�4&���6E�Wv�k��b�(a'��� mp���"�Xp�Dz��Z�cLg) =��D�w9���Q
�
-��"�M:W���z��9�m�ۤp �(���P/B\v��
���=
���1�

9H>�&%o�L�d
�`G�0HvE?u���t1(82�pPq|Oq1��3�s��N^�d����&��[EXħzWx&�!8
�[&�wӻ�zW�S�pJ�(v˽-�g(h}
��Ӳit��(�oϰD|
���`}o��H�n��m��VPU�Q0��~�Q)��N�E�3ˊ�ֻ=��خ�Ҫl�fHfa�V��
-8��kR��W���q��	@V
-$&HB�
-h�D�����bV���I|�h�Zn�uƻO�g���
���j�V�b�WbE�Y��|�* �L�����پ.b��{JE�] @��Ff��{2��0�G�i۶
jK�3�8d/��>W�刵��Ѯ*w���g�nU�'�à2Ů�����

?��SK��:o�Wy��-����� h�����k�������W�]��9����>x�M���0wi�Y-�:s4�A8��Me�B��=�t�i6wIH
m�zS�
A���xo:EC
�h������AF�Q��?͟�^© �D���{"���,tÖ�v������ݾN�e�,��wy�����=��T�#��$��lۍl��eW �65)D��
N�?���QS�!R!QD�CЪ�6������JT��F���l6�䐤[+�7AH��VW�օV���>��!,r���
&��J��+��/:��
-endstream
-endobj
-1059 0 obj <<
-/Type /Page
-/Contents 1060 0 R
-/Resources 1058 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 998 0 R
-/Annots [ 1054 0 R 1057 0 R ]
->> endobj
-1054 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 116.175 190.054 127.079]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System_b1265553cab293b2c77d31f57682ae2b) >>
->> endobj
-1057 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1061 0 obj <<
-/D [1059 0 R /XYZ 90 757.935 null]
->> endobj
-1062 0 obj <<
-/D [1059 0 R /XYZ 90 733.028 null]
->> endobj
-1052 0 obj <<
-/D [1059 0 R /XYZ 90 625.809 null]
->> endobj
-1063 0 obj <<
-/D [1059 0 R /XYZ 90 611.239 null]
->> endobj
-1053 0 obj <<
-/D [1059 0 R /XYZ 90 508.593 null]
->> endobj
-1064 0 obj <<
-/D [1059 0 R /XYZ 90 494.022 null]
->> endobj
-1051 0 obj <<
-/D [1059 0 R /XYZ 90 379.172 null]
->> endobj
-1065 0 obj <<
-/D [1059 0 R /XYZ 90 364.602 null]
->> endobj
-491 0 obj <<
-/D [1059 0 R /XYZ 90 222.597 null]
->> endobj
-106 0 obj <<
-/D [1059 0 R /XYZ 90 215.997 null]
->> endobj
-1066 0 obj <<
-/D [1059 0 R /XYZ 90 135.149 null]
->> endobj
-1067 0 obj <<
-/D [1059 0 R /XYZ 90 135.149 null]
->> endobj
-1058 0 obj <<
-/Font << /F63 247 0 R /F81 703 0 R /F65 249 0 R /F50 215 0 R /F70 298 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1087 0 obj <<
-/Length 1227      
-/Filter /FlateDecode
->>
-stream
-x��XYo�F~ׯط�@�ڃ��}J�ب� ��>ف@S+�)E�K����;{�iY6\�-� 6xhv����$AKD����hrr��$d!�.PBPR,E�9��(���cJ�֩Z��uU��ʹJgE~�Ruwrr����L�R�M��1�{W�umo/�B*�ƞ,3	������|�a:�mD
A�l."
q�����
Asx��I��Fj���Z����#�
!�	�g%!x�"�1	���1a�oס�� 
˴�}&��}*<i�_6*/�NZ�TK�¬�2i���l�Y��Z���D�������4"(�a��2�À�1
p�l6�t����nK{������s����TeZ�'��ȓk{�eـ���Q-4$� ���&�0pf��6��T'�MZ!|д��=Fƌ
p�X���#MՓzE>쥶�=��� (
�p�����yLc�#P<`�B�\P��M��7u���k�#@Y�y�XEo��wu#W�y�l�Am��4�!s���H���*����R��[i_d&�<�2�t9gviA
�����R{i��
Zx�C�~��˱�斵�V���k��u��~��D(N��H�����y)5<�`�]{�� ܻ��X̊��(�/���O��xz���U�Y��u�&s�Nu�ַ>�i�Gx�G
U�ڥ�UV��m(ׄ�B��M�6_� Ip<;
��_S�H�M��#{��F���L��j�SCg	J흦��4U�JBw!����Qܙ�ۄ3LG���M�gv�'��i5�n�L�\��tX7[ ~+�����l�8�'��K
ȅ�?Z���(i���7�5:��t�y����>ªT�>��V��]�0T!_�S�b����yn�%��+}!
"��^
����g�#�
A�����T��o�c~WɅN3��g9��!%�˻ح[�L>�'X��9;��;��@�T����>i?��r9�PO�g&}`����\a������m�jpq�X�+u�19�"��\c��u�xAb"�?��
��n�zp"�kډp/�;>
�����h'�jXMO*Ǧ�Gjw��K��=�ᗯ0�$�������$<�˝H�"���ɔ���v����|c���'�sZ.7�ҩ�Q��
3�e��/�T��Bx�T?���uf�
���N�||`v
��R�� �0~E��O#,;�qL���m���d��nqV�M��Λ�z]L�_;-?�u�ݐ���ACT=#�8�E.�楝�<��/A�B�
-endstream
-endobj
-1086 0 obj <<
-/Type /Page
-/Contents 1087 0 R
-/Resources 1085 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 998 0 R
-/Annots [ 1055 0 R 1056 0 R 1068 0 R 1069 0 R 1070 0 R 1071 0 R 1072 0 R 1073 0 R 1074 0 R 1075 0 R 1076 0 R 1077 0 R 1078 0 R 1079 0 R 1080 0 R 1081 0 R 1082 0 R 1083 0 R 1084 0 R ]
->> endobj
-1055 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 719.912 215.13 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System_7695c9f42b5164da2b71e7a2b1382d06) >>
->> endobj
-1056 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 681.058 201.302 691.962]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System_58d5c27c8e3d638fc7d25ee54d04b08c) >>
->> endobj
-1068 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.27 580.987 256.414 591.891]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
->> endobj
-1069 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 569.032 130.826 579.936]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1070 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 412.417 215.13 423.321]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_a32ef5503c68b0c2ccbd8d69251ecfd7) >>
->> endobj
-1071 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 373.563 201.302 384.467]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_e846d01ef7cc5222216fcac8f2d255c9) >>
->> endobj
-1072 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 292.8 202.497 303.704]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
->> endobj
-1073 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.995 292.8 240.962 303.704]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_27971df55a7b8e685f759f3001b0aef8) >>
->> endobj
-1074 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.778 292.8 322.028 303.704]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1075 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 253.946 202.497 264.85]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
->> endobj
-1076 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.995 253.946 244.818 264.85]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_3043f8c7edfaa1e5c98955234589301c) >>
->> endobj
-1077 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.633 253.946 325.883 264.85]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1078 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [335.786 253.946 381.803 264.85]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1079 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 215.092 202.497 225.996]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
->> endobj
-1080 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.995 215.092 246.502 225.996]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_5dcfc9bdd9d995b7be67da9f47e731ca) >>
->> endobj
-1081 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.317 215.092 327.567 225.996]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1082 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.47 215.092 383.487 225.996]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1083 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.82 115.021 242.885 125.924]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
->> endobj
-1084 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1088 0 obj <<
-/D [1086 0 R /XYZ 90 757.935 null]
->> endobj
-1089 0 obj <<
-/D [1086 0 R /XYZ 90 733.028 null]
->> endobj
-1090 0 obj <<
-/D [1086 0 R /XYZ 90 700.151 null]
->> endobj
-1091 0 obj <<
-/D [1086 0 R /XYZ 90 643.738 null]
->> endobj
-492 0 obj <<
-/D [1086 0 R /XYZ 90 518.839 null]
->> endobj
-110 0 obj <<
-/D [1086 0 R /XYZ 90 512.239 null]
->> endobj
-1092 0 obj <<
-/D [1086 0 R /XYZ 90 431.391 null]
->> endobj
-1093 0 obj <<
-/D [1086 0 R /XYZ 90 431.391 null]
->> endobj
-1094 0 obj <<
-/D [1086 0 R /XYZ 90 392.656 null]
->> endobj
-1095 0 obj <<
-/D [1086 0 R /XYZ 90 311.774 null]
->> endobj
-1096 0 obj <<
-/D [1086 0 R /XYZ 90 177.771 null]
->> endobj
-1085 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1105 0 obj <<
-/Length 1407      
-/Filter /FlateDecode
->>
-stream
-x��XK��F��Wp
T��<��S��8v��ޜ֮-�$^���ק����\NI�$5=�_��;[;�O�˗�91���Ɖ�
-�8%��ڹq	F�z>��u��䶮���\��6��T��W�W*[߾��TI[����M+
ϧ
���i���H�ȕe*=?
-��
�������������C�x�BƝ�X�|���_;�8r��U���o�_���6
|��Gi,P�"'�
a�Mn(����w΍�!���
�&�l��qj�
��(�E^�����i��}b����s�����p락�ʴͪҼ=�Ү�e��C�\�F���"�S�-S�gA�NK�ǢK�Z�9�Y)����7�[&�����_��{��@�/#r�B#&��7�38(���G�
?�1A%��MV��x�S�h��0�
	
C�!0G��l;UZ޶;i
L���ژ�u�dڎI�� �$5���8

ЄChB��<��2�e������j����e��O4>��+۬�/�����$��F�D|��z�*�rw�d"t����1cB��������k�?@��<�3�q�	
�-F���@�Z����L
�U��JD�9��G�
��k�B�0�	���uS'��mZ�C �$�iӎm;4����n����v�h�����l�E 6?�gl0���B�����4�g�r��x�&=���_ݼD��cvI�
P�����D����@��'��8m��r�
P�Gk�\�8�D����'ƀ��i��?����$�<>39�g2 �#S�_p�N��2��$���aM�m�H5O�X���#�Θ���#�Tvyk>i1I�N6���نի�g�*M��Hf�
v��L�F��V�
l�(y ��
ߵ&���HC~�	~F�1�F�7(2�vE��"k*fs*PXp���3�J��ML�PH�yAd1���+����"~�"���I;A�Q�Ϫ߸�Yθ��x�g�@�f
,���!v� [...]
b3�Ov�u�l����a�m���U
�C���w�]�/O|���<J�{�x$� ���P[{�q��r
�����*�|���

8Ike�HZDa�)lH��ƪ�f$�ԪN�Vp*N�i
-tY��5I,�eQ������в�S
ޛ���^��aXC.��nv� ����1�<8i�w}
�I�:Ӽ�1�4/���o�N�m�l���K85�N��o�T?�ƱP�Mʮ_l����f����.
2`����b����~Y�vH�r�"2�?���W��~�Gi��2���e]�ˇ
=x��!unԨ�R��

a5�������â׶u�:�58
-endstream
-endobj
-1104 0 obj <<
-/Type /Page
-/Contents 1105 0 R
-/Resources 1103 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 998 0 R
-/Annots [ 1100 0 R 1102 0 R ]
->> endobj
-1100 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 101.154 213.297 112.058]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System_84738aa470464f9f3192817554d26d30) >>
->> endobj
-1102 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1106 0 obj <<
-/D [1104 0 R /XYZ 90 757.935 null]
->> endobj
-1107 0 obj <<
-/D [1104 0 R /XYZ 90 686.641 null]
->> endobj
-1097 0 obj <<
-/D [1104 0 R /XYZ 90 664.329 null]
->> endobj
-1108 0 obj <<
-/D [1104 0 R /XYZ 90 664.329 null]
->> endobj
-1098 0 obj <<
-/D [1104 0 R /XYZ 90 550.355 null]
->> endobj
-1109 0 obj <<
-/D [1104 0 R /XYZ 90 535.856 null]
->> endobj
-1099 0 obj <<
-/D [1104 0 R /XYZ 90 404.417 null]
->> endobj
-1110 0 obj <<
-/D [1104 0 R /XYZ 90 389.918 null]
->> endobj
-544 0 obj <<
-/D [1104 0 R /XYZ 90 207.67 null]
->> endobj
-114 0 obj <<
-/D [1104 0 R /XYZ 90 200.826 null]
->> endobj
-1111 0 obj <<
-/D [1104 0 R /XYZ 90 120.049 null]
->> endobj
-1112 0 obj <<
-/D [1104 0 R /XYZ 90 120.049 null]
->> endobj
-1103 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F81 703 0 R /F65 249 0 R /F70 298 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1121 0 obj <<
-/Length 1187      
-/Filter /FlateDecode
->>
-stream
-x��W�r�6}�W��L��on{�6��R��� �)E� ��ō%��&�L4 )`��=K��"�r��l4�HB��<	4[���4�8(�-ЍG	��?���ab��ͦz��
��Uy'�x8;����x_}J<V����P�U�浜��V�F���1��T�m��/9��<^�'I�y�?�ޏ��F�(`$�jLq��0F�zt����
m��5���
-MG����Q�
���)Ipf(U��������q
���,� V�
7�L�(�]�P������5�-�r���͡U��-�	���?7N.R�2��D
-n�$
-ИF8�,�k.;Q��2�n��L��OJ�0�e-��Ye���
o��olG�f� A��{hNq�� N;��ekV
qB)��-�'Cۅ8`d
�1�a�&8���
V�"fh���rH
��<x:���,�)
G� �v�0���%++W;oy[�ҨZ#0G���Qn
���Z��}xz\��Z\�
&7�Ր�
��$�`�U^����}ᅴse$��n^��<�7,���K�k>5�ɇ�ekl23�����8�jփ�Y�H�s���1@�uWɲ��.���"�8�Dz-�碃%����N&v��/6���{E
�Lt���ӭn��>WK�Y���������-!A�φ8��ð ��3}�$��
��5_̪(D:��
]��Ea�e��w�Y��\�Y׺��=��m��+�!��8FFBG!Hڥ�cwW������︥���
�?�L�t>�R�y:Y����!~���8��t��^m��E�� ��
-�J�
�e�c�
7��G4�H��K���RY��C�;�g�������(�$
-�����u�t
-|J�6cSţU��+���Z�Q�
���(}���mk����2�/t�
V���j����j<��B��
-�~�_�5B1$�b��O������j�X�%�Q��O�
~�}o�K�
����v�I�U)�
	Ъh+T>Y����NM
-M;|%���o����*�0I��^�ܥ)�y
-ub.�q�����|��AH�ѩ�<�f$e
��
����U�V�ԕ��,u�)�O-?�q��
|`u�1�hL
���-ț�@��q����<�d����ב>s�B
�g����KٜM&��-�������&���Y�%Nw�����Fh$����a��)l����6W6��ցǿ�


-endstream
-endobj
-1120 0 obj <<
-/Type /Page
-/Contents 1121 0 R
-/Resources 1119 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1130 0 R
-/Annots [ 1101 0 R 1113 0 R 1114 0 R 1115 0 R 1116 0 R 1117 0 R 1118 0 R ]
->> endobj
-1101 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 706.961 215.13 717.865]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System_183f982bd3198d2c455e51e7cedd4e33) >>
->> endobj
-1113 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 668.107 201.302 679.01]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System_4f9d506f39d5a65a2c2cec090a1578f0) >>
->> endobj
-1114 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.907 568.036 278.294 578.939]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System) >>
->> endobj
-1115 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.526 557.057 190.592 566.984]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
->> endobj
-1116 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 399.466 234.059 410.369]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception_df699afd1b4f9dbc15fd31424e9d15e7) >>
->> endobj
-1117 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.627 160.404 246.21 171.308]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1IO_2080ebe48063615d891b98ef65f2ca71) >>
->> endobj
-1118 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1122 0 obj <<
-/D [1120 0 R /XYZ 90 757.935 null]
->> endobj
-1123 0 obj <<
-/D [1120 0 R /XYZ 90 726.054 null]
->> endobj
-1124 0 obj <<
-/D [1120 0 R /XYZ 90 687.2 null]
->> endobj
-1125 0 obj <<
-/D [1120 0 R /XYZ 90 630.786 null]
->> endobj
-545 0 obj <<
-/D [1120 0 R /XYZ 90 505.888 null]
->> endobj
-118 0 obj <<
-/D [1120 0 R /XYZ 90 499.287 null]
->> endobj
-1126 0 obj <<
-/D [1120 0 R /XYZ 90 418.439 null]
->> endobj
-1127 0 obj <<
-/D [1120 0 R /XYZ 90 418.439 null]
->> endobj
-1128 0 obj <<
-/D [1120 0 R /XYZ 90 362.145 null]
->> endobj
-546 0 obj <<
-/D [1120 0 R /XYZ 90 266.826 null]
->> endobj
-122 0 obj <<
-/D [1120 0 R /XYZ 90 260.226 null]
->> endobj
-1129 0 obj <<
-/D [1120 0 R /XYZ 90 179.378 null]
->> endobj
-1119 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1145 0 obj <<
-/Length 1373      
-/Filter /FlateDecode
->>
-stream
-x��X[��6~���0S˒@\�-ͥ�iv�f��l2
�e��+ ������
o&�L_ldK��;W�����_'��'�W�kE(�o��V���'�Qb�WփM0"̙�����.^��q�W"^d�R�����
�7�v�R��v!/�$|_�E�L)���,.K��������;ӐQ����i�z�r>�{B�.le
P�2+�M
>ak���0r��:�];ˣ.|g����	�������CĠz��8��J�����H��`���
IؚR�^�=�g�#���2�Ti�����[����D
--��3ĺa�<j̻�%0���2B��ER�x^ō�C�i)�&p8r�


������<���p����o���
D�_���1��B�:�1�
�SF���TF�-?;S�v�W#Ҥ#��ٚ�+``1U�n"?��)!(b��+���JJ���N��		��ֽ�kŚ|���1e�|��D� }�]�-�vYK!��Ip
-1�X�R�lz�A�i$ا4P���a�C�fi��j�*L�V[�d���\(��[b(�?U�!��R��h3y�n�Q�9�hs�Ijb�x�Ey�;~ӣ��(�2FB���
�Α
�!���7�ʢI��d<o�l�.Z2:�����r�֩�,�1�z1���9�$Cxb�>
ݦ�\�BKRF�'��Y:%����&�*��0-�Ll�Gn����ƒ
�3�
��C��>Hq����C�]W��9��7���2�d��2�yU
�Q>H�����B�T�7�t
- ]��f��
Q�!�c�^�:8-O��A��Ylx�E\5jע�
�YC.
��C�������Z�G�*^��|���w=�Z}��Kg|�����VC5�F�
�����9���R�l�[>6��ԣe����L�F5��W�/��e��
6>��íq	E�3.�#�ؘY�}�#�=����N,:x�n9�>l�`��5c�'+�����>P���
-��b�3��i�FR�”ۙ�؏�L�
�K-j��	�]N��X��$����P�c�j��,@~?;v���;t
�`�q����T3�=*CB34�W���
-�,bK���tP P�(I��r;���{^��u�Dg��A�"U��Ɇ�+���W�U����ӤF�(��T�
��鎗OQ
��S`}�Ꮑ���ߥy=�ZO2��c~�	�J�4^f'
���F�W�|o��@��(
- ���7)6�r�dbIf����7�^��V�w�o�xcD��p_QSf�� >�\��0f�Bp�u�9m��,��%�-Ps0��o!�/��yC�&�/�y�m�.�G���($A3�n�j3�
����ӽ@i5���i�>J!��^Uے�+77� .�.\�8D��
lܩVq�� �f�
-endstream
-endobj
-1144 0 obj <<
-/Type /Page
-/Contents 1145 0 R
-/Resources 1143 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1130 0 R
-/Annots [ 1132 0 R 1133 0 R 1134 0 R 1153 0 R 1135 0 R 1136 0 R 1154 0 R 1137 0 R 1155 0 R 1138 0 R 1142 0 R ]
->> endobj
-1132 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 320.85 215.509 331.754]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception_5b5e4c1fe8b8af4696ac7cc839fb3b40) >>
->> endobj
-1133 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.625 122.154 408.678 133.058]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
->> endobj
-1134 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.987 122.154 513.996 133.058]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
->> endobj
-1153 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 110.199 245.674 121.103]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
->> endobj
-1135 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.591 110.199 465.892 121.103]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
->> endobj
-1136 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.809 110.199 513.996 121.103]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
->> endobj
-1154 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 98.244 272.713 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
->> endobj
-1137 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.772 98.244 513.996 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
->> endobj
-1155 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 86.288 116.46 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
->> endobj
-1138 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.326 86.288 358.55 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
->> endobj
-1142 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1146 0 obj <<
-/D [1144 0 R /XYZ 90 757.935 null]
->> endobj
-1147 0 obj <<
-/D [1144 0 R /XYZ 90 733.028 null]
->> endobj
-1148 0 obj <<
-/D [1144 0 R /XYZ 90 682.403 null]
->> endobj
-1131 0 obj <<
-/D [1144 0 R /XYZ 90 660.092 null]
->> endobj
-1149 0 obj <<
-/D [1144 0 R /XYZ 90 660.092 null]
->> endobj
-547 0 obj <<
-/D [1144 0 R /XYZ 90 427.824 null]
->> endobj
-126 0 obj <<
-/D [1144 0 R /XYZ 90 419.797 null]
->> endobj
-1150 0 obj <<
-/D [1144 0 R /XYZ 90 339.363 null]
->> endobj
-1151 0 obj <<
-/D [1144 0 R /XYZ 90 339.363 null]
->> endobj
-1152 0 obj <<
-/D [1144 0 R /XYZ 90 284.404 null]
->> endobj
-548 0 obj <<
-/D [1144 0 R /XYZ 90 192.768 null]
->> endobj
-130 0 obj <<
-/D [1144 0 R /XYZ 90 184.741 null]
->> endobj
-1143 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F81 703 0 R /F65 249 0 R /F70 298 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1186 0 obj <<
-/Length 1342      
-/Filter /FlateDecode
->>
-stream
-x��XMs�6��W�Vr�� � Iߒ8�$�gR[���h 
-��R�ʏ(��]�Mɪ��$�"��v��[
[:o���
w���r�?�Bl�� F��Y6���N�`���gb0ϒ��
�b���\�OWWƩ����y���Eg��]&Ǐ�(�i�t)���D����c��N#�t9q}�s���O���ο
b��1�.��Y��+�F�����֢~kfyԅ�ĺ�������.œ��}��I
in�l��7U����vgi�w��1‘�V��s�
>R�6��{�'f3w:�C��k�i���<+��Ƌ��#f�<����Z��� [N,��c+�}sO�R�=ju���g���e����r*����"+�@[��CD]V�-�Ӹ�/m.��d��HG{
�xؼ��
-C@����������'X��!��X
����_�j�F�(
�\V)
y�S� �!h
-�0���~x&� :����|�d�|ڕ�:��+��c"z�
�������l�;���2��a��-i4#zi�(3��Wb�J��fqZ
���yK��a{"T�k#���
MT�ȹ�S���#If �b]�y&
Q�(�&@�(�?5�o2����k�Pl��JIj��硻t�5�
�)ĂR��a�����t��(�8
������P��ԗ�
:Ҳ�#}���S��;��>�c�NB�\�_0�A^��.KI�m�u�h.�jgbHꝀ9m�|��� 
-
-�z����f8"f������e�\�"��yi$c�:
�y`(Ԇ���V��Q��I�Qm�A�B"��9�&�r� �L+ \D��t�a��x�vr��
-
-�����C��~����8"��C��*=����?�'��m !(d��
;�[�&�Rl�~x� <�Adp�%z�������6�bp
מB�\7Χ����
��
�힎������Ϣj��� �����V3��!J���D�2���X�m�,I2��E���D^m��6Y�a�.�;�G߄
-��j
aǵ4�T+�1��+�z���uE?[��
��c+�7�7j�1��<.�� ;��*��mK���l����IS��
����~�)(5��)��,
5�Vf���u�@�n�ag��
�#�ؙ�.�#�b��A���Ýl���Z/�:�b��}Z����K�ן��s�%��
���h
 ̃S���ch��ä
���Y����g��Jm��Rr
S�k��7�֋��[��JL���j��yy����oc��V��rTR@�1#_(�Q�?r@�a��K�4�X˫?:�>��HG��fZ��^o�X��@U�s���<��
-��
-2�լ�4#�,�=�Z��d�r���G�� N�X�����B)6
-endstream
-endobj
-1185 0 obj <<
-/Type /Page
-/Contents 1186 0 R
-/Resources 1184 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1130 0 R
-/Annots [ 1139 0 R 1140 0 R 1141 0 R 1156 0 R 1157 0 R 1158 0 R 1159 0 R 1160 0 R 1161 0 R 1162 0 R 1163 0 R 1164 0 R 1165 0 R 1166 0 R 1167 0 R 1168 0 R 1169 0 R 1197 0 R 1170 0 R 1171 0 R 1172 0 R 1198 0 R 1173 0 R 1174 0 R 1175 0 R 1176 0 R 1177 0 R 1178 0 R 1179 0 R 1180 0 R 1183 0 R ]
->> endobj
-1139 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 698.146 191.16 709.05]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1140 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 698.146 210.258 709.05]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_d3d011ec5cd66a3e9bf71053d6b818b5) >>
->> endobj
-1141 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.074 698.146 291.323 709.05]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1156 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 661.09 191.16 671.993]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1157 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 661.09 225.192 671.993]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_3866453e844ec10e038e9ae2b336159d) >>
->> endobj
-1158 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.007 661.09 306.257 671.993]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1159 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 624.033 191.16 634.937]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1160 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 624.033 215.239 634.937]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_af751a048f4895ec1ca6eb753a196908) >>
->> endobj
-1161 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.055 624.033 265.072 634.937]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1162 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 586.976 191.16 597.88]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1163 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 586.976 245.675 597.88]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_2a76c9ab182bf0cbd015cea16a24c635) >>
->> endobj
-1164 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.384 549.92 224.634 560.824]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1165 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.132 549.92 248.703 560.824]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_f5d9b1e4dec7faf038dd87f36773252b) >>
->> endobj
-1166 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 512.863 215.13 523.767]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_0c0b91260da0f4729a335faa3747c397) >>
->> endobj
-1167 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 475.806 201.302 486.71]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_491b55e596bb0dc1e707355a1b2169b5) >>
->> endobj
-1168 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.08 377.443 257.33 388.347]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1169 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 377.443 513.996 388.347]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
->> endobj
-1197 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 365.488 173.446 376.392]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
->> endobj
-1170 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.861 365.488 309.116 376.392]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
->> endobj
-1171 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [318.531 365.488 419.033 376.392]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
->> endobj
-1172 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [428.448 365.488 513.996 376.392]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
->> endobj
-1198 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 353.533 133.337 364.437]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
->> endobj
-1173 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.326 353.533 273.899 364.437]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
->> endobj
-1174 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.93 238.558 305.978 249.461]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1175 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 185.406 240.166 196.31]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_b531066aa6dba222c8c61a8c3978257d) >>
->> endobj
-1176 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.981 185.406 289.998 196.31]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1177 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 148.349 159.927 159.253]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1178 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.425 148.349 199.867 159.253]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_24d3c42f7ed7c7a99a8a2bb5369eed4d) >>
->> endobj
-1179 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 111.292 240.166 122.196]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
->> endobj
-1180 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.664 111.292 264.235 122.196]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_edf10f9d2de45d7e8de1809d4417741b) >>
->> endobj
-1183 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1187 0 obj <<
-/D [1185 0 R /XYZ 90 757.935 null]
->> endobj
-1188 0 obj <<
-/D [1185 0 R /XYZ 90 716.221 null]
->> endobj
-1189 0 obj <<
-/D [1185 0 R /XYZ 90 716.221 null]
->> endobj
-1190 0 obj <<
-/D [1185 0 R /XYZ 90 679.284 null]
->> endobj
-1191 0 obj <<
-/D [1185 0 R /XYZ 90 642.227 null]
->> endobj
-1192 0 obj <<
-/D [1185 0 R /XYZ 90 605.171 null]
->> endobj
-1193 0 obj <<
-/D [1185 0 R /XYZ 90 568.114 null]
->> endobj
-1194 0 obj <<
-/D [1185 0 R /XYZ 90 531.057 null]
->> endobj
-1195 0 obj <<
-/D [1185 0 R /XYZ 90 494.001 null]
->> endobj
-1196 0 obj <<
-/D [1185 0 R /XYZ 90 440.194 null]
->> endobj
-549 0 obj <<
-/D [1185 0 R /XYZ 90 310.531 null]
->> endobj
-134 0 obj <<
-/D [1185 0 R /XYZ 90 301.144 null]
->> endobj
-1199 0 obj <<
-/D [1185 0 R /XYZ 90 203.481 null]
->> endobj
-1200 0 obj <<
-/D [1185 0 R /XYZ 90 203.481 null]
->> endobj
-1201 0 obj <<
-/D [1185 0 R /XYZ 90 166.543 null]
->> endobj
-1202 0 obj <<
-/D [1185 0 R /XYZ 90 129.487 null]
->> endobj
-1184 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1220 0 obj <<
-/Length 1116      
-/Filter /FlateDecode
->>
-stream
-x��X]s�8}������Z��#om�t���dS�S��`,l���񿯄l'n����'@���sν�@`�0x;
��\
-���x.��`0��;
#�}{�B�*�p�����D8I�������$㡘�X	�/�$�&�I
sݐE�
��wiX���w޺�P�q����������"�A�2-w_���k� 
|��z-�C������ztv�B�2=��
-@^��3
�MY�djd�K^Tp�x�+�v�a:�CB 	<
�
!�󍞃����~��!�d��ylf}A�D	�ʧ?S�"�Y��޽��<|��uR��ub2� 
/�$UD�B
�j6�,�җB6'�\�)�/�Jv}�cuw�?<��'ȐI
}�`c9bc�K^�IZ�sɋH$�R�W�{� )����!��)��n�Z'��w,�
��
?���X�K�
��<Z/e��lF�sQ3��Gm
ll,�2s�q6fl�4��y��
-ϦD!K�E��֝Ċ���4^��_��{��B�ӽj
5�RH�a�������;o�8j'�˓���
�dž�J��)�
�1[p��u�8����`���ɂ
�IR
}�@�YO�$Ґ?���W�,Rn<���?Z��
t�%��:m[���e=EH�����>)�V�G�Փe�
3����{>�&�:o�c��e���4���o϶b���
l
�!��id�Kgʯ��f�Q0�n��>�A�>1���P�b| �'�2���c���)���BNvR$��F|�ny�Y_N5��S��
-A-���7U��>�Dn�p�<��A��3K ���?K��J��}d�g?E�NAܩW�R����ަ�?W	Z��]������9vǁ4�w���3��R����L�W��G)'L��B��'
�]�����S�K�Sg�C�_�խ�{'�&@�w�+�q��ߎ�/��ͅ�'��
r��X�hz�$P�X�Bl�W��"��z�~
f�u87�>f%qEz�
.����
-��l
�v��ܫѹh�җ��@[�c����+�&�?P��5�r��"a.�qS�e���6�
�
-�Β��I9Z����b�F�2߽6��-sQ!�ˏ'Ӑ�`�ɏ�/�$�
��5a_��O��
-endstream
-endobj
-1219 0 obj <<
-/Type /Page
-/Contents 1220 0 R
-/Resources 1218 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1130 0 R
-/Annots [ 1181 0 R 1182 0 R 1203 0 R 1204 0 R 1205 0 R 1206 0 R 1207 0 R 1208 0 R 1209 0 R 1210 0 R 1211 0 R 1212 0 R 1213 0 R 1214 0 R 1215 0 R 1216 0 R 1217 0 R ]
->> endobj
-1181 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 699.672 159.927 708.518]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1182 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.425 699.672 182.632 708.518]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_ab30b6ef6e87a1df35c14d15237af04c) >>
->> endobj
-1203 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.93 498.285 305.978 509.189]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1204 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 444.123 238.482 455.027]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_d6e4fdbf5475e6d24aaffaceb4a4abf9) >>
->> endobj
-1205 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.298 444.123 319.547 455.027]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1206 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.008 444.123 407.258 455.027]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1207 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 406.003 191.16 416.906]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1208 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 406.003 252.31 416.906]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_d213660ecdcc0e4142a2fd7536489781) >>
->> endobj
-1209 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 367.883 191.16 378.786]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1210 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 367.883 257.849 378.786]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_f0e7fc37eefdbd145c4e9203cfd5e5e7) >>
->> endobj
-1211 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 329.762 238.482 340.666]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
->> endobj
-1212 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [238.98 329.762 262.551 340.666]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_6e2a52ee587e255b6172f976f5a823d1) >>
->> endobj
-1213 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 250.065 191.16 260.969]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1214 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 250.065 205.277 260.969]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_87e8e31d3cf9dbe3c2e1041ea8ccf873) >>
->> endobj
-1215 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 211.945 191.16 222.849]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1216 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 211.945 205.825 222.849]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_2b2271e2f858709aef3d3705ac8c075d) >>
->> endobj
-1217 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1221 0 obj <<
-/D [1219 0 R /XYZ 90 757.935 null]
->> endobj
-1222 0 obj <<
-/D [1219 0 R /XYZ 90 716.221 null]
->> endobj
-1223 0 obj <<
-/D [1219 0 R /XYZ 90 716.221 null]
->> endobj
-1224 0 obj <<
-/D [1219 0 R /XYZ 90 660.992 null]
->> endobj
-550 0 obj <<
-/D [1219 0 R /XYZ 90 568.61 null]
->> endobj
-138 0 obj <<
-/D [1219 0 R /XYZ 90 560.871 null]
->> endobj
-1225 0 obj <<
-/D [1219 0 R /XYZ 90 462.729 null]
->> endobj
-1226 0 obj <<
-/D [1219 0 R /XYZ 90 462.729 null]
->> endobj
-1227 0 obj <<
-/D [1219 0 R /XYZ 90 424.729 null]
->> endobj
-1228 0 obj <<
-/D [1219 0 R /XYZ 90 386.609 null]
->> endobj
-1229 0 obj <<
-/D [1219 0 R /XYZ 90 348.489 null]
->> endobj
-1230 0 obj <<
-/D [1219 0 R /XYZ 90 268.671 null]
->> endobj
-1231 0 obj <<
-/D [1219 0 R /XYZ 90 268.671 null]
->> endobj
-1232 0 obj <<
-/D [1219 0 R /XYZ 90 230.671 null]
->> endobj
-1233 0 obj <<
-/D [1219 0 R /XYZ 90 175.322 null]
->> endobj
-551 0 obj <<
-/D [1219 0 R /XYZ 90 82.94 null]
->> endobj
-1218 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1259 0 obj <<
-/Length 1130      
-/Filter /FlateDecode
->>
-stream
-x��X�r�6}�W��L�B����L�f&��''��)Hb�[AҲ�>  R#Y�c�}"H���sv�D`	�0z3
M�}
-"����|
�`:�FG�#���ˌ��"ݬ�\�Y��H.7gg%��r����.
QUI�Ϯ��
���)�*3�
a��p�a���1���b�~:�o��[`�
`@����W���@�F!X�Y�U�\��
�AHÈ1��D(D>{��T(�s��A���x�z�Y}�滪�U,̵^�Xݙ�T�o����Q�'*�.Қ��g�~�WB&u��4 ʥE���\kK�	׬b�P�}h"�I�%
-K����&Mb��'����y��u����J؇

T�
Q_a;�썋)p_3����
b� D�1������QF6�<���%@ T��^�K��G�
�<���&I�6�xn��曈k�H+nGҥ�#Js�D^W݌�Iؽ��rӿ2ܳ{~�ȇ�z�e�ҝ���z�������>+
���l�aPe�}�v �T�)�H
(��/g���tيE=[�`gU2�2�Wȿu#�!��f�.n�m=x�AD!�=A�*���OT3�����Зe@&�իP��i"�"zJ��y����z��8-���#{��ҒT��
-;MlL��x���L��V�*,�ԵLn\���/��
�;��HZ
��ߘ����StG�y�#r�<1�}
-��B/_�'�
-a
-��TeX+8�!&����~b��~'j��]ټU,������ָ7;/�&S� ��я���Ւ��^����R�B�^��\-�4-\œu�/]�u���lW{�P4E��!��x�D��Z�ߘ�;�%�q�<�sϴ
'�����S�b�t֎f~��n�;��X�P�`lj"x7
�럐���	i�Rf8=�9)=rNz;dm�����v��Wj_�I^6v�����'O֟g�v���1�����c���?.*xF��O�Å��φ����嶾�mWd�=7�J37�μ����Kk�c^
���
�G�TB��2�X�?��ۇ}ۮ.�VFT�R�آ�1U��D���_Ѝ�
��
�0���Ԭ�<�L��5�+��I)aRO�2��X�[+Xek���}3�
-�=Q��.M}0�G6��\M�t�C
�	S�=
-endstream
-endobj
-1258 0 obj <<
-/Type /Page
-/Contents 1259 0 R
-/Resources 1257 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1130 0 R
-/Annots [ 1234 0 R 1235 0 R 1236 0 R 1237 0 R 1238 0 R 1239 0 R 1240 0 R 1241 0 R 1242 0 R 1243 0 R 1244 0 R 1245 0 R 1246 0 R 1247 0 R 1248 0 R 1249 0 R 1250 0 R 1251 0 R 1252 0 R 1253 0 R 1256 0 R ]
->> endobj
-1234 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.93 677.939 305.978 688.843]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1235 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 623.079 214.413 633.983]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_ef62be6cb1c9f4c4f3aff2c5f456c374) >>
->> endobj
-1236 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.228 623.079 295.478 633.983]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1237 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.939 623.079 383.188 633.983]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1238 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 584.225 191.16 595.129]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1239 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 584.225 252.31 595.129]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_8bacbf073ef0e1064e8c53ede4ad59bd) >>
->> endobj
-1240 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 545.371 191.16 556.274]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1241 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 545.371 257.849 556.274]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_e42dcbc09bb42d181a19512206d15f70) >>
->> endobj
-1242 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 506.516 214.413 517.42]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
->> endobj
-1243 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.911 506.516 238.482 517.42]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_26114c4deaf17e8a12123a0a8f760d5d) >>
->> endobj
-1244 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 425.754 191.16 436.658]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1245 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 425.754 205.277 436.658]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_8d44f98f79421126eba1448fb80331b4) >>
->> endobj
-1246 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 386.899 191.16 397.803]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1247 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 386.899 205.825 397.803]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_e1191ef860c3201d40fa4e20fd02ba2d) >>
->> endobj
-1248 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.93 185.073 305.978 195.977]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1249 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 130.214 220.699 141.118]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_6dec5edff0aa73961373ed7e1b9e0729) >>
->> endobj
-1250 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.514 130.214 301.764 141.118]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1251 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [310.013 130.214 356.03 141.118]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1252 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 91.359 191.16 102.263]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1253 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 91.359 252.31 102.263]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_015f6e2febd260a93299564dfde659e5) >>
->> endobj
-1256 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1260 0 obj <<
-/D [1258 0 R /XYZ 90 757.935 null]
->> endobj
-142 0 obj <<
-/D [1258 0 R /XYZ 90 733.028 null]
->> endobj
-1261 0 obj <<
-/D [1258 0 R /XYZ 90 642.053 null]
->> endobj
-1262 0 obj <<
-/D [1258 0 R /XYZ 90 642.053 null]
->> endobj
-1263 0 obj <<
-/D [1258 0 R /XYZ 90 603.318 null]
->> endobj
-1264 0 obj <<
-/D [1258 0 R /XYZ 90 564.464 null]
->> endobj
-1265 0 obj <<
-/D [1258 0 R /XYZ 90 525.61 null]
->> endobj
-1266 0 obj <<
-/D [1258 0 R /XYZ 90 444.728 null]
->> endobj
-1267 0 obj <<
-/D [1258 0 R /XYZ 90 444.728 null]
->> endobj
-1268 0 obj <<
-/D [1258 0 R /XYZ 90 405.993 null]
->> endobj
-1269 0 obj <<
-/D [1258 0 R /XYZ 90 349.579 null]
->> endobj
-552 0 obj <<
-/D [1258 0 R /XYZ 90 254.26 null]
->> endobj
-146 0 obj <<
-/D [1258 0 R /XYZ 90 247.66 null]
->> endobj
-1270 0 obj <<
-/D [1258 0 R /XYZ 90 149.187 null]
->> endobj
-1271 0 obj <<
-/D [1258 0 R /XYZ 90 149.187 null]
->> endobj
-1272 0 obj <<
-/D [1258 0 R /XYZ 90 110.453 null]
->> endobj
-1257 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1291 0 obj <<
-/Length 1159      
-/Filter /FlateDecode
->>
-stream
-x��X�r�8��+p�@
�ŷ��T<I��QNNJES��
ErHв�>M �dZ��-��9�J �~�u�	Z �>��LF�Ӏ��
�d�b�€b�(��ХC	f��(!ĩ�z�L�2�]�Y�L��N�ۓ�OY!�z����]9�i���~-����h�c�8o��
9�fn�J��#�
?p�O�F�'�G�G��!�@�jt���|��q��z�
-���5G_F��
mxա�Ej�w�Rc��qLa½���
{H��f�˹2�eR�̨�f��rޝp���)e��^W-��̺sHӸ��u���
-�C�G���#���,�11X���^X</>�Х'��
�
_?�[g���v0L5��)߈ �{��p�.
��W
�M0
��$Ap̄�b$L'.N���qt�yY�
-	o�,�YsI��v�%'k�
�T��T�|H5jS�\��d����O����e�i� ��4�>���������s�	���4��:�|�< ��@�COz}_'y+��>���
?<B���@�$��W���>L

��&O�m��m��J��Ϣw�I�R�q�1��pTu9kSu���&ˌ�K��e�L�1�T�A6�H��i�����i��Y�ڬ8/�m���n��ڥ���Y�B�ɦ���r5`s^�yٝg�
זG�ryr�rn����\��Å�H�
-v�m�X�p��PoR���}Lz
^�g�8�}�Oz��C��
�G]��
Ǿ�Y�������vj�
-���
n9;Z4{��X�:S}z��c��SO�d�
�3L��}�^�YjN�Y���=�i[�]��w$�������~*�!4�7O�{�A�����L�H�OV��@��
hɇ,�#���<�\
;�����쩷'O�o�S
��7��D'�B���u���;�P�v�b��6 *���
��y��`!1{9K}(��7կk���'�:z��
3�e;¨ub~����.�� :�Յ~E�8��6F��C�t��Ӯ�۾��O�)���]7b~N�E�,�R
%�6T���k#�?\!
+��I�&��I��nwYo�8Q�/]f`p �����ԏ�i6�!2�n�X*U������
n���q��U���Kw�
-��������'�d	�z� y!<dE�0q�;�]^�ǟa`�$
-endstream
-endobj
-1290 0 obj <<
-/Type /Page
-/Contents 1291 0 R
-/Resources 1289 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1130 0 R
-/Annots [ 1254 0 R 1255 0 R 1273 0 R 1274 0 R 1275 0 R 1276 0 R 1277 0 R 1278 0 R 1279 0 R 1280 0 R 1281 0 R 1282 0 R 1283 0 R 1284 0 R 1285 0 R 1286 0 R 1287 0 R 1288 0 R ]
->> endobj
-1254 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 696.156 191.16 707.06]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1255 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 696.156 257.849 707.06]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_ffc79b9a795454f61542224d1b0dea1a) >>
->> endobj
-1273 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 657.609 220.699 668.513]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
->> endobj
-1274 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.197 657.609 244.768 668.513]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_7f106ecc8b4f062f0b2b53cd3098e50c) >>
->> endobj
-1275 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 577.292 240.166 588.196]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
->> endobj
-1276 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.664 577.292 254.282 588.196]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_121be923ed152a60238e69a8296bf966) >>
->> endobj
-1277 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 538.745 191.16 549.649]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1278 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 538.745 205.825 549.649]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_4b0fc20a0d733d684c6a4e7e8f49c174) >>
->> endobj
-1279 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.93 324.016 305.978 334.92]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1280 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 269.448 251.483 280.352]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_a51b2de39e7e3568d5c9322de4b0454b) >>
->> endobj
-1281 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.299 269.448 332.549 280.352]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1282 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 230.901 191.16 241.805]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1283 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 230.901 231.1 241.805]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_ab53a108e173a6657e2af82a66ea3737) >>
->> endobj
-1284 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 192.354 251.483 203.258]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
->> endobj
-1285 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.981 192.354 275.553 203.258]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_2834d46309af2717b28dc79843e1331d) >>
->> endobj
-1286 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 112.038 191.16 122.941]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1287 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 112.038 206.194 122.941]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_2f88b2137b58031e4838f19daff12f4a) >>
->> endobj
-1288 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1292 0 obj <<
-/D [1290 0 R /XYZ 90 757.935 null]
->> endobj
-1293 0 obj <<
-/D [1290 0 R /XYZ 90 715.095 null]
->> endobj
-1294 0 obj <<
-/D [1290 0 R /XYZ 90 676.548 null]
->> endobj
-1295 0 obj <<
-/D [1290 0 R /XYZ 90 596.112 null]
->> endobj
-1296 0 obj <<
-/D [1290 0 R /XYZ 90 596.112 null]
->> endobj
-1297 0 obj <<
-/D [1290 0 R /XYZ 90 557.685 null]
->> endobj
-1298 0 obj <<
-/D [1290 0 R /XYZ 90 501.717 null]
->> endobj
-553 0 obj <<
-/D [1290 0 R /XYZ 90 407.627 null]
->> endobj
-150 0 obj <<
-/D [1290 0 R /XYZ 90 400.55 null]
->> endobj
-1299 0 obj <<
-/D [1290 0 R /XYZ 90 288.268 null]
->> endobj
-1300 0 obj <<
-/D [1290 0 R /XYZ 90 288.268 null]
->> endobj
-1301 0 obj <<
-/D [1290 0 R /XYZ 90 249.841 null]
->> endobj
-1302 0 obj <<
-/D [1290 0 R /XYZ 90 211.294 null]
->> endobj
-1303 0 obj <<
-/D [1290 0 R /XYZ 90 130.858 null]
->> endobj
-1304 0 obj <<
-/D [1290 0 R /XYZ 90 130.858 null]
->> endobj
-1289 0 obj <<
-/Font << /F63 247 0 R /F70 298 0 R /F65 249 0 R /F50 215 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1316 0 obj <<
-/Length 1148      
-/Filter /FlateDecode
->>
-stream
-x��W[s�8~���maf-K��[/�N��L6q��v<2�mu1Pq��{��Y��4�� �s��w��Y:��k�v2����8��3Y81v�� F�3�;�.��RoH0�n�՚O�<�_����T�W�''e&���~/�GƮ(K�g�O^L]�$���R��w)/Ks{%�l�x�A�}��N'�o�a��xX�"�9�zp�;sX?w0�㱳ѻ�N@}������in�G8d��"6����2s�{Q&J$�5:cx�v�4@~C��M0
a��c.�'�b�0Wn.����퀚A
5��$B!
z��yR�EV�X^��N���d
��#��>,E&���*_�GEk,Ms�2w#��Y��1Mʼn�J
�CB�c �GA� ?S��w�`�C
K��
3��Y]��ܣؽk|r2��3F���+�G
�NB>X�7Ӭ͚
k�V}�-L�&��������Ui�mZB-mo\i�3�†�_%u����ЄpY�R��x/�z&l�gu�4\,�l�`��B��#l9��a�|�!]{�3�e�(X����<��&ag
��A�$���P��[����U>�*[`[��mVyos���j�ʰ
��AӑF봿;�e/.� n�

L�H��dL�VLw��O��qh�Җ�[jY;V�g���+Q�*��nO��G�(̥�@:���794��v{�ڏ�
�y?�����y&^����܍*t�Þ
-
�����Ll��w�����S��
۞8��m	��w����Ti}țQl�{���
���Z�+�P*W����,�Ch0��5<�U����+�-�{P
Q��Ju*E�AN���
-x��旺����_�����<
��h�
q�{X^�{s3��ض���g�U� I��3{�t?
���TVv]k-,����b��<�(�)��ɳ˛6��ig	N�tt/�t6�Z٬EYt_4-r E6�x���}T�����f8����c�5�?&0.Dq�i�1Y����eC�F��c�y��>�p�+��5ϖ5_ZS�J��F#�K7�Px���
��<���6�U���Q�TMw#T
-�ע�$0`��w�G�6E�B4&Q������d4�l6()Q��B!Y��"
�WѶVHED��JW�u�t$�A��a����`�Zs�����X;
-endstream
-endobj
-1315 0 obj <<
-/Type /Page
-/Contents 1316 0 R
-/Resources 1314 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1327 0 R
-/Annots [ 1305 0 R 1306 0 R 1307 0 R 1308 0 R 1309 0 R 1310 0 R 1311 0 R 1312 0 R 1313 0 R ]
->> endobj
-1305 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.93 578.79 305.978 589.694]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1306 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 524.942 229.336 535.846]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable_642f2ab97bf846e69686a874001a9930) >>
->> endobj
-1307 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.152 524.942 268.34 535.846]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-1308 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 487.151 149.098 498.055]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-1309 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.596 487.151 189.038 498.055]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable_5c54fa6c29a576ab9de69361d15f8b17) >>
->> endobj
-1310 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 449.361 229.336 460.265]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
->> endobj
-1311 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.834 449.361 253.406 460.265]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable_e2482d18059a20a1cea2423a8b3d1043) >>
->> endobj
-1312 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 214.928 210.527 225.832]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Logic__Error__Exception_11bc5303b1d7a594017971538e60858f) >>
->> endobj
-1313 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1317 0 obj <<
-/D [1315 0 R /XYZ 90 757.935 null]
->> endobj
-1318 0 obj <<
-/D [1315 0 R /XYZ 90 733.028 null]
->> endobj
-554 0 obj <<
-/D [1315 0 R /XYZ 90 649.627 null]
->> endobj
-154 0 obj <<
-/D [1315 0 R /XYZ 90 641.377 null]
->> endobj
-1319 0 obj <<
-/D [1315 0 R /XYZ 90 543.383 null]
->> endobj
-1320 0 obj <<
-/D [1315 0 R /XYZ 90 543.383 null]
->> endobj
-1321 0 obj <<
-/D [1315 0 R /XYZ 90 505.713 null]
->> endobj
-1322 0 obj <<
-/D [1315 0 R /XYZ 90 467.922 null]
->> endobj
-1323 0 obj <<
-/D [1315 0 R /XYZ 90 413.052 null]
->> endobj
-555 0 obj <<
-/D [1315 0 R /XYZ 90 321.989 null]
->> endobj
-158 0 obj <<
-/D [1315 0 R /XYZ 90 313.739 null]
->> endobj
-1324 0 obj <<
-/D [1315 0 R /XYZ 90 233.37 null]
->> endobj
-1325 0 obj <<
-/D [1315 0 R /XYZ 90 233.37 null]
->> endobj
-1326 0 obj <<
-/D [1315 0 R /XYZ 90 178.619 null]
->> endobj
-1314 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1353 0 obj <<
-/Length 1447      
-/Filter /FlateDecode
->>
-stream
-x��X[s�8~�W���LQ$��o��N�M�6�}I:�0����
	��{dI'@z����eI��;7	;s;��_
�^G���4�#�j�؉#��O���s�������d�`�e�o|*�8���ٳ���x$=���$�7�)v_䬮��|��ϼ�8l�aꆉ���������m�CZ�4Fq@��\����8i�ܶ�
-'�x�����6��]�(ޱ���A��~�pD�Y7�O[�v�s=�`��j.��+)+9~u��e#�}b��ݵ�S��U-f���R_�-b��$�ɐkE�����Q�Z�ozՅ��u�T���
W�sت
����L�?��F��KV��끥lUBJ��Cb���s^.��Q�u������'�5����{�#�J^Te��U�T���Jc�Kn��8�O�!��Qt�g�grn
�CǼfB�p�1:�*��T-r���V1v�*
-�VJ���B����+�O����H�,7���,^H�-�
�bh��ϧ�B�`
-�P<5��l��!���_n�f��Y}t�m��r)y]CT�ۥ�|zD��х��T\�/�)�o��0J��6�5nL�R��dȎ�h�

�0�C�
X���@�U/�J�jP極��
-�)�D��V
LՓ��%�bb�̴X#�Yp-0k�R�B��?�
e�Ħ1�qhw��}B1�ij�<U�VZKd�6��U�5�-
��$�X
Ęd��$��]
-�vx�#�!���$�,���I���
-I:þ.4I�4NLl�䩃����NjY���g{���B�
U�=8S���PN���h-�)Ti_�5S�V����D͚I���=P~�9g5�`�,H/�]^W��Of��d
��\�ؚ?���~�B�[D���u�V���i���kDc�Xգ�\�5W��z�V��ʰ�A��Ԍ�`�,�����F�Z�!�8�P7�a�5f�V�\d�U��Ķ��M��n����l�D;ЂWzi\�]e�V���N�]��k��u�
-)��N��w���9�:��{�+���C >螆���f%�xq�+w�X���t�jT1
�q
�]K�G����P[�odk<S���S��
c�0�P�
x�h�
ǣ���B\&���%o
oL�"�=eޏ�����U�v
e=lW��\���>15��NJĝM��fئ_[�&��
B���_���'��˲nY��b��0_
�9.3皭������ԃݳ�jT������q�]V<8���I�
z�l�x���:b<]�/���
lM_�|���rU�Z8��Kd�"j��+
�
sY�l=�7��	���P��ٽr՟Y9_�9��iʙꌻ��W���Rװw�ʕ�QSfk �(c��h���ew��`���
ږ{k�O#���vӋ�Y>;;���EY�V�XJ$���2?{ؔnw!��۞|VI�]�����D�0�E��#J�X��
<���Չ
-endstream
-endobj
-1352 0 obj <<
-/Type /Page
-/Contents 1353 0 R
-/Resources 1351 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1327 0 R
-/Annots [ 1328 0 R 1329 0 R 1330 0 R 1331 0 R 1332 0 R 1333 0 R 1334 0 R 1335 0 R 1336 0 R 1337 0 R 1338 0 R 1339 0 R 1340 0 R 1341 0 R 1342 0 R 1343 0 R 1344 0 R 1345 0 R 1346 0 R 1347 0 R 1348 0 R 1350 0 R ]
->> endobj
-1328 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 588.892 172.361 599.796]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_4dfc6347addaec85187c46bff12def97) >>
->> endobj
-1329 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 550.038 172.361 560.942]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_ee14b86bac3475fb14914092715b5916) >>
->> endobj
-1330 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.298 550.038 306.125 560.942]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1331 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.82 550.038 405.07 560.942]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1332 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [431.198 550.038 513.996 560.942]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gb884929ad9e98d94cac675f7fe3e9771) >>
->> endobj
-1333 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 488.269 172.361 499.173]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_64a91a5f142efd873b50d2cb7d27e660) >>
->> endobj
-1334 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.176 488.269 234.626 499.173]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
->> endobj
-1335 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.356 449.789 177.83 460.319]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_c2cab9caa4fff25fd03b1012a0c8cf5b) >>
->> endobj
-1336 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.356 410.934 191.678 421.465]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_4cdcdb051551e8a23b6ff80a3294c5de) >>
->> endobj
-1337 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.739 307.88 264.491 318.784]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_e0371bb311150040a06e7839efb57a83) >>
->> endobj
-1338 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [292.672 294.256 345.558 304.161]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
->> endobj
-1339 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.739 271.019 242.354 281.923]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_49981873be6474f7f399f1f54bc8861d) >>
->> endobj
-1340 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 234.157 208.312 245.061]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
->> endobj
-1341 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.81 234.157 315.797 245.061]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_23fb2ed36793d2fa8974d9b6c3f93705) >>
->> endobj
-1342 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 197.295 229.362 208.199]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1343 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.861 197.295 275.021 208.199]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_1a896ee4273234f7c7181d76bdd9260f) >>
->> endobj
-1344 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 160.433 228.785 171.337]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1345 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.283 160.433 305.586 171.337]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_caffbc7bc53bf538c9d8a75cb4a7e872) >>
->> endobj
-1346 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 123.572 234.334 134.475]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gb884929ad9e98d94cac675f7fe3e9771) >>
->> endobj
-1347 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.832 123.572 314.313 134.475]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_e1db1d48c605e6f79aa78ea2a4a9cda7) >>
->> endobj
-1348 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.384 86.71 226.314 97.614]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_7fa63d4674ffff39446dd46ed0c26e6f) >>
->> endobj
-1350 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1354 0 obj <<
-/D [1352 0 R /XYZ 90 757.935 null]
->> endobj
-556 0 obj <<
-/D [1352 0 R /XYZ 90 712.938 null]
->> endobj
-162 0 obj <<
-/D [1352 0 R /XYZ 90 706.338 null]
->> endobj
-1355 0 obj <<
-/D [1352 0 R /XYZ 90 607.866 null]
->> endobj
-1356 0 obj <<
-/D [1352 0 R /XYZ 90 507.363 null]
->> endobj
-1357 0 obj <<
-/D [1352 0 R /XYZ 90 468.508 null]
->> endobj
-1358 0 obj <<
-/D [1352 0 R /XYZ 90 429.654 null]
->> endobj
-1359 0 obj <<
-/D [1352 0 R /XYZ 90 348.772 null]
->> endobj
-1360 0 obj <<
-/D [1352 0 R /XYZ 90 322.959 null]
->> endobj
-1361 0 obj <<
-/D [1352 0 R /XYZ 90 288.119 null]
->> endobj
-1362 0 obj <<
-/D [1352 0 R /XYZ 90 251.258 null]
->> endobj
-1363 0 obj <<
-/D [1352 0 R /XYZ 90 214.396 null]
->> endobj
-1364 0 obj <<
-/D [1352 0 R /XYZ 90 177.534 null]
->> endobj
-1365 0 obj <<
-/D [1352 0 R /XYZ 90 140.672 null]
->> endobj
-1366 0 obj <<
-/D [1352 0 R /XYZ 90 103.811 null]
->> endobj
-1351 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1400 0 obj <<
-/Length 1799      
-/Filter /FlateDecode
->>
-stream
-x��Y[s�8~�W�maZI�|��n���i���K��8X$��Z����=��`��@�}`,c��󝫄�[;�]�^y��У�s=uB��
A��:q>
	F���c<���,��E��IGYzS���ŋ�7��e9"�����l4�
ϳXJ3�(�B�D 1��p��ї뷃�׃o�`��ݹ�|�;�����$��[#7
�{=k�0��3s�����Ԓ��	@2�)�Q`�Sa��>�jQ��8�O9IS3� rU�ļ�y%�<��[9r�����yWiaiS%
(�o��z>0�7��Rif���~֓���61�^q��ޘ�
��a@�O,��)�-*Χ1<s�wD�p9"|(
�WU��v������|��Ԝ�h�jh�o�1��#�\w��c�{@>�� 1iv;P� 7���:'��h�����:ϊ�k���h&fE���<�YUB
U�}�P�Y����}�<
/5 텆c�q2Y��ړnV���<e�j�>�̮��OL�=���v("7E�	;A����߉Ɉ��W����4β��  ��˸L㼪=�8��
-$��1�"٭�5{�\0v=�C��!s
��D�\c#qeF���H�i�n��d��
h�)o"�#l�J{E��o��GÏ���ڃ��dO �
���!0�4�
-k�V2�mQ�a�i�e�L믠l3�8ɸ��~�C<�T��T �I�y<Q��D.�YEq�Dbv#�m��pi��S��3Izaˆ���`���<J�	�PR�[�S���Z�����O��
�E�lG�
n�5���"�r�
���
#����T!��ފ�l�}+��#B�PBЗ��D�G#���縔���ȕ���-����]!�����/<׈J�n�n�
���̀w��]�k�-C���툀�;�t��J6�Jc� sU�$����ε�'��
�5ꤘ��E�a\�\3�A8l�ɖH� �͔��(O(C��_
-�|
-���JV��S��F�m`e��=>LB��5�}
�Th��s�b�� C�L��A ��jq�ߧ9Th����RH��lx�Xn%X�׆������zYS��>�=D�C�K�t�+�W�,��[�hV@����$.��P���#�����d'n>
-XsSK��s�m]�844~��:/f�E�t��
WE�h�h��6�Q-p*���T%�)�nC��a��ժ}��
r���:������c�����Rȱ�Au�N�S�f]Uq��
��9z���,��B
=�5G:�'
����
{0Y/SmB��+�GJS�쎍�E.�X�i=K;;Cd����w0�<�#b�)����a�����=Ȍ�T��y�KPȭ�{��6B�5��w�� �#����*
�&��
���t�z��S:�0�Ps��'���Q���i�|���Y���Ue�.�T���g�as�A8�Cs���.�;2
-%�
*���v�-��:MBQ��'4+�0{v��*�Nt�Q��|Y[_g�Fa�^ׅ���[����P����]
�-(�`c���m�/{(��X�=~ �w�ӧ"�)Ľ���G��N�]m��[�7[=�`e���S���Yvjy0�#���%q�x����M�>=��F�[�����)ur�`�+�'"ֽ�����G^���C�컁������F�뺮��mx9��~Y�M����ڼ���&���q~��o-�7�nw�ʚ��(�q>��Gޜ�+\�I����1R��
-n�"#��8���N=z7�(�E�����ப�/������D�E��K�Vg�yv���_S!�`�5���PxV�†]u��e��"kdin.�A�6����J���
-endstream
-endobj
-1399 0 obj <<
-/Type /Page
-/Contents 1400 0 R
-/Resources 1398 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1327 0 R
-/Annots [ 1349 0 R 1369 0 R 1370 0 R 1371 0 R 1372 0 R 1373 0 R 1374 0 R 1375 0 R 1376 0 R 1377 0 R 1378 0 R 1379 0 R 1380 0 R 1381 0 R 1382 0 R 1383 0 R 1384 0 R 1385 0 R 1386 0 R 1387 0 R 1388 0 R 1389 0 R 1407 0 R 1390 0 R 1391 0 R 1392 0 R 1393 0 R 1397 0 R ]
->> endobj
-1349 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.384 697.2 212.486 708.104]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_5b935844aeba5303d77ca82130998245) >>
->> endobj
-1369 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.739 660.743 268.376 671.647]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_52edb70858467236238aaec3b1884d37) >>
->> endobj
-1370 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 624.66 201.946 635.19]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_2d9c6ed1390e4148c2fccb3491c7b4a7) >>
->> endobj
-1371 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 552.357 192.89 562.888]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_f27bf62f81d315063d66dc394ef9559c) >>
->> endobj
-1372 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 517.317 316.306 528.221]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_4c0dddb2c112aeef626eef4d7e539d2d) >>
->> endobj
-1373 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 482.65 310.627 493.554]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_7c8c10d940074e8ec96a4d319b88e490) >>
->> endobj
-1374 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [314.443 482.65 371.219 493.554]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
->> endobj
-1375 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 448.356 232.192 458.887]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_f66f20c1209205a55c53e42c83761b82) >>
->> endobj
-1376 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.008 448.356 279.514 458.887]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
->> endobj
-1377 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 413.316 236.068 424.22]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_203692374bea9a641aba897049f2ae03) >>
->> endobj
-1378 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.883 413.316 317.71 424.22]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1379 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 378.649 263.893 389.553]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_cf903011430930b9c3afca546ecb07db) >>
->> endobj
-1380 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.709 378.649 344.958 389.553]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1381 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 343.982 267.071 354.886]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_d202d113166e7f68344ee82ba6e7b0fd) >>
->> endobj
-1382 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.886 343.982 353.685 354.886]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gb884929ad9e98d94cac675f7fe3e9771) >>
->> endobj
-1383 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 272.053 239.036 282.583]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_ab8f9339a589d7ecd8eba424cd8c8d3f) >>
->> endobj
-1384 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 237.386 239.325 247.916]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gd7cbdacd9a5e2c068c25c12f47f8936a) >>
->> endobj
-1385 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.823 237.386 262.697 247.916]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_31c3eb3b5ccbe373dc04fe4d86234b87) >>
->> endobj
-1386 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.663 202.346 288.644 213.249]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_81cb4962caaa75c19cdf6c8a5af4e46b) >>
->> endobj
-1387 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.021 202.346 335.844 213.249]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1388 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.306 202.346 457.323 213.249]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1389 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.029 202.346 513.996 213.249]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1407 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 190.764 146.454 201.294]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1390 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 144.764 193.358 155.668]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1391 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.856 144.764 252.296 155.668]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_fa2c94e0b2f7b773f7d2daf6d53f9874) >>
->> endobj
-1392 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 110.098 193.358 121.001]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1393 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.856 110.098 264.491 121.001]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_75aa539f287d460bc26a347512e51760) >>
->> endobj
-1397 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1401 0 obj <<
-/D [1399 0 R /XYZ 90 757.935 null]
->> endobj
-1402 0 obj <<
-/D [1399 0 R /XYZ 90 714.2 null]
->> endobj
-1403 0 obj <<
-/D [1399 0 R /XYZ 90 677.743 null]
->> endobj
-1404 0 obj <<
-/D [1399 0 R /XYZ 90 641.286 null]
->> endobj
-1405 0 obj <<
-/D [1399 0 R /XYZ 90 360.982 null]
->> endobj
-1398 0 obj <<
-/Font << /F63 247 0 R /F70 298 0 R /F65 249 0 R /F50 215 0 R /F84 1406 0 R /F36 1408 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1432 0 obj <<
-/Length 2373      
-/Filter /FlateDecode
->>
-stream
-xڵYKs�8��W�CUE0 >@zO���d7[�Ļ�$��)HƆ">lg�4� ER��djN�F����
��ޣ�?.�__\��/%i�c�z��1#g�����3Jx�Z3J�_g�!��U��Vn�lS��&k�]]�����]�b�_��Z��/��mq�^�Y�e.�Y��ԏ������W�_/HC=fN�A�凋������7
%A�x����<����p���7��Ett#��a���q����yd�w�����Xf�Z�ȿ[�ȗ(�݊S�R[K��l�V��f����N
�bs��gE/��5�'jo���Qɝ���R�+YvK,����qI��f+K�M����kA��Z���8dޚq�Y��� �V��D#R�8���!Q�fŽ%$H��������)w4 �w�����:$b/"�
0@��X���� �F�`�����P�A�(�
�M�
"R�	*HBţW��Z:r�S���a[}�����l٠O�?;���*��ɢ�O�>	k1���[!I� [...]
-<
�>�.�N@
��V
dٞ�N�yWY;�u�˿OYj�����ɬU��jP� ³�]2s�Љ�9�P^���W�M��B8�_��P�e�K��U�n�F�v+��w�r h�\6|�eY�mcdih�sv1���KY�r_�
-�Fe���gv{��{�Q`l���p����F�pd���a��u�r�ߐD���1
-���)N�bL��Ȭh����vl~1��'9cחyw��ĥ���d����l^=ԍl[�F�� �����1�I�1+�Ì��
��aEkc�z��6�b��C�
X:���z���j:���c��H�7h�T�7�C��̾���_&Ž��(�g�(�?n�V[��(�p �f֞r[��)4 ��o5\
������Vv���
�a:�2�]������j'��R}�e
;�C�>�8�Egy�,�h�X����h>T�D(�z�.l�.���9�8��H��-��Mf�
��&
XG�`��Ua(C�	IQ��_nK�x8nD3A��.Ʌ�<��$v��p kq��ʌ'"�N����H�]�OY��X
�E���]��(p�f��@
����:�涳ċW��GS���4w
������l��]�P>~�}e��tݤS��6l�@z���B����v�
��B�?�<N@��7�
HXx�p�?���e wHm� �ꪵ���p��}k����p���ɫC�w��N�{ݟV͗%�ed��M�mUjUQ������XM���J>�^�W2�܏N��a�y+�Wk���Mz��GZU��Smk6㨢%���	��v��a� a
5
5^�����+�[G��|C~�5l _J�☜�I���Ւ�
˜��F����w
�q��m���\�?ְژ���*�1�1o��X�CW��G�3��������|���}���&�+�:,\Z?cѡ]w]���O�$��GU����Bۦs
-a@�A�V7�{Ul�I�
U3�a"M��n{$:�M6��n��P/p��|�U�K���_[
I;{kK������Uy

�tA�p@�%0��x2m���yȭ���-��#g’�
N ��|��!YQ\�87��W?Ԟ�&�#+W�W��$�=�M(I��<��6�����3�
0C�,(V�����瞓8%a8�_��f���e^T�r�6�c���k�)$x at R���2�B�Ls�
ri�L��5f^W����ꪐ徻�Ȧ���T("�E|Ta3�
�=��1;	:'��e��ȥܶg���  ���Co��6�euP<y`�?<s�|��#��O�P'O�O���ݠ��բ�D���h�6*�sY`e�J�
-��M��6�ܰː��l/��a��8���Z����"�:�۬��%�-���@��NX����A�����s��Q�W�QL&�>o��������'yK�R�
Q�e]��V9ra,�V�
�k�`�_B�hp
�쟔��Cv��� `
-endstream
-endobj
-1431 0 obj <<
-/Type /Page
-/Contents 1432 0 R
-/Resources 1430 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1327 0 R
-/Annots [ 1394 0 R 1395 0 R 1396 0 R 1420 0 R 1421 0 R 1422 0 R 1423 0 R 1424 0 R 1425 0 R 1426 0 R 1427 0 R 1428 0 R 1429 0 R ]
->> endobj
-1394 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 719.912 230.289 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_053b3ad9ab9c0920ee835d51589cb703) >>
->> endobj
-1395 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.105 719.912 280.122 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1396 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.315 719.912 349.332 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1420 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 653.116 256.859 664.02]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ge574051d412d3ee587c872f48de81663) >>
->> endobj
-1421 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.357 653.116 349.541 664.02]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_54d7ba808dcfc372e231fe597f5daf1f) >>
->> endobj
-1422 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.356 653.116 459.786 664.02]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_g9006be5f6c0f7616400b3554738e732f) >>
->> endobj
-1423 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 619.196 262.618 630.1]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_caf3268d04168d4d22ebe73d9578d7d5) >>
->> endobj
-1424 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.433 619.196 371.757 630.1]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ge574051d412d3ee587c872f48de81663) >>
->> endobj
-1425 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.411 422.06 342.66 432.964]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1426 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.006 333.133 322.456 344.037]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
->> endobj
-1427 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.912 303.553 329.362 314.457]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
->> endobj
-1428 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.651 94.73 406.173 125.575]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_e0371bb311150040a06e7839efb57a83) >>
->> endobj
-1429 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1433 0 obj <<
-/D [1431 0 R /XYZ 90 757.935 null]
->> endobj
-1434 0 obj <<
-/D [1431 0 R /XYZ 90 667.459 null]
->> endobj
-1435 0 obj <<
-/D [1431 0 R /XYZ 90 635.562 null]
->> endobj
-1436 0 obj <<
-/D [1431 0 R /XYZ 90 586.737 null]
->> endobj
-1437 0 obj <<
-/D [1431 0 R /XYZ 90 266.731 null]
->> endobj
-1367 0 obj <<
-/D [1431 0 R /XYZ 90 244.419 null]
->> endobj
-1438 0 obj <<
-/D [1431 0 R /XYZ 90 244.419 null]
->> endobj
-1368 0 obj <<
-/D [1431 0 R /XYZ 90 89.441 null]
->> endobj
-1430 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R /F36 1408 0 R /F81 703 0 R /F8 300 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1445 0 obj <<
-/Length 1931      
-/Filter /FlateDecode
->>
-stream
-x��X]��6}�_�[�X+	����i�N��t���%�xX#{i18�w�������w�ig�b��8��#p�	p���˛���q$b7�@��1J��,�0#�h� ��.���rW�w2��e���i�xqq��jyU�I2�n
��/(ó��i��{��zX�+	��43F�nޞ��9�|F�
�;㈇,Xm�>|�A���"	
�m������3|�"
��'�"���L�G��#fxNfEUn��2�<$���{g��L�,$
1Lܜ�E��V�M[�y�.��Vn'V_�a�b

B�`��U3�G���-x�./eZ/_}ٙ�4M^���X�ru���EG��k�m�w�º��*�S�3ę{o�������Iqb'��%���C^��'3��a�hDP
-�G1��
/�y�)�R6KK�	W�lW���ӻtN��>����f�*4�Kȯ,�(��	�br��4�-��뺲[�wv�U�
-cX�� �:t�b��������M�6�~7H�\��
.��ͤ�t�/W��H�,�|Dv�;k*X�I�̐D5 �y2@�p/�0���o"�
i�qT1Б@� �)C�,����:��V�ͅ�~��h� �����=x� }�nt���
M&0k�ߺq��U[���.�`���
'���p
�a�k���k��*
\fHDC�
s���&��a��!C|&�#ƴ4U7��Z�M�i�j��������Z04٢��ЏHt`�T�(�l�<a�Ysh���Q�pD�84c�jN>b�����W_Vr��x>�UE_�M�]\�ܴwKY׀��p�(�{g�J���z��'�Q���4:`��Kf�Jb��5���
�C��={�~Y��Zv��z��BG�QeT<��P5$g
ȼ�GP�i�g˴�����Ԯ�M��g�����ץ�.����]�ٱFs
��h��u���@����Z;��hr/CN`z���R�[�S\w�T:j��Ћ�KOԦN�A��Ƴ���mj��Eө�2h�Ix�P�GhB�,"h�<������T
�P���[g�kׂ��O�J##u]�Z�7#�-��]�����ݫ���@�rۅ���W��>�:�B�}��^6�m&�I���S�)FQ/����~�z��MZ5B�W�!w3��S��
DY����lĵ�>;���Q���L0���>�x�E�?!'C�Ҋ�EL�'�
I4��2�o���4��T�,A�-tÒVp�z`
9!A�������
-��C��k��"1?a?d�$�B f:��[-2N܄Rj=�z��N�j��1�4�,p��|o�I�w��(D���X��,���t�
��)�=u9j���*��	��"�=�1����[�X�>��L+pN���4��aQ�@��"����i0�J���i`
���t�c6�K�
-I������U�:>�� 
Dbuj�%| ���>t!�����0tj�!/
-3r+͓��j����
��|s'��<��̄N��13T]{�xi.PO-|?
`�e�����b׼�[�bN��
p
-IfS�OJ�N\
(*�$ ����������F�6ٓMb�
-���k�ײ�h�D�v]!_ާ��g/��8�y��?!��
�J�����5�<z001
>�f�Z�
�8wFgr���S�x��	
-Y|L��x�㯬O����JJ7z��_��o9�
Ϻ�M���8��J��ˀ���*�۷�S���2�tBaѲjͶ��V��J�}�ɀ�����'�O�*�
���<i+)��5�o�1�q6����?��V1<L�t&cѨ�_��+r���!��;C���R]Hv8-7�tc�z��Z�8������90�-�˴���
���^�É
��
��R��}R1��+pW��NջHY���]��.��

ЪA�2��(o�w�����*��x�ܵn�ʒ�"��

9q�������4��
-endstream
-endobj
-1444 0 obj <<
-/Type /Page
-/Contents 1445 0 R
-/Resources 1443 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1327 0 R
-/Annots [ 1440 0 R 1441 0 R 1442 0 R ]
->> endobj
-1440 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.651 541.376 406.173 572.22]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_e0371bb311150040a06e7839efb57a83) >>
->> endobj
-1441 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.639 261.173 300.161 271.455]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_e0371bb311150040a06e7839efb57a83) >>
->> endobj
-1442 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1446 0 obj <<
-/D [1444 0 R /XYZ 90 757.935 null]
->> endobj
-1447 0 obj <<
-/D [1444 0 R /XYZ 90 733.028 null]
->> endobj
-1448 0 obj <<
-/D [1444 0 R /XYZ 90 499.782 null]
->> endobj
-1409 0 obj <<
-/D [1444 0 R /XYZ 90 477.47 null]
->> endobj
-1449 0 obj <<
-/D [1444 0 R /XYZ 90 477.47 null]
->> endobj
-1410 0 obj <<
-/D [1444 0 R /XYZ 227.842 424.716 null]
->> endobj
-1450 0 obj <<
-/D [1444 0 R /XYZ 90 407.989 null]
->> endobj
-1411 0 obj <<
-/D [1444 0 R /XYZ 184.963 224.162 null]
->> endobj
-1451 0 obj <<
-/D [1444 0 R /XYZ 90 207.434 null]
->> endobj
-1412 0 obj <<
-/D [1444 0 R /XYZ 90 94.711 null]
->> endobj
-1443 0 obj <<
-/Font << /F63 247 0 R /F81 703 0 R /F65 249 0 R /F50 215 0 R /F8 300 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1455 0 obj <<
-/Length 1682      
-/Filter /FlateDecode
->>
-stream
-xڵX�r�6}�W��L  zK=I&i:Ic�)�h`	��H��K
�뻸P���$v_$ �{��:����o���W"
$����vH
D� NIp�
>�	F�M�c<ީ|��l�x����o��\右�o>�?������N�����F�{��W�v�t��XH�
s:�|�v��v�uD�
;;�P�`�
}���%��
0
-e
<�Qۀ��7����>	
�	
-Q
M��dB������Q��%K�vi���Z.�,-�\%i��s|ݴA�W�b�r0���"p���pC:10�b�� qc8n��2
aE��DHP�ƾX.=���-����ѽe����`�&`7��_g�1���-�=� �2�8!�����B��
 ��3���B����u�mlt%1��S�����r6K�	��U�d9W���jq�P'.ɑ�u\��y6�|��N�!�de����4�Ar��S(J��~��pF��
'��O���P>��,��2^���^��»�L �@tap@����h��6>MֹV%0�/�J{
�'1��I|�
@1���u��;Wzh g%��X1�a�x)�("<��᷐Q��B�?����|>���.�7�E	�8@~
-�p�3FTʳ�'�R�S��/c'2� tX��eq��;@a��s	� �TA ^����!A��YA0�.N�ǝ� :�Vt1�"2<�)�O
�K�[8�@H���O��8�V
-�g���	3�1���"��G��'�s�m/<5�D��|
@ǐ��%RrZI`eA
-��D]%G�$�HKIˆ�����gw��E��|U��alE
my���a]y�}�
-�‚y�/L�P�:v�q zB��:[^
-�W����Z*��\��f��7����E �4$���.
"$_�l��gS�?)G��(k��T��6U`��2���4t#�(������0Xo(
]���I���_S�4F6�n
q�
-��q�d�J��
&nt�Ŀ˲��%�r�&ż k�U����Gx�����׋/�z6���Ǵ��I�\RH.�
�0���.���O�~Jz��s�]�+=�@
�]J|U�R���zIVg����^���a
��܉O�N/+�7�*��GS��6m����{Яm�.�TVa(���k��õ}LbXzh��0�mʪ����d��k�g0
YU.��v��<5���4����FL�*��ڕ���W�+��f��*
�6�*]�:�|�����
D�$��+6|��G��0L[%��?�0�,��Zm*�����A�^�T窄�K����O��N��5G�6B��p��C�י^�-=x��9��~J��P9�8|�ݥN��>2v�̡��NP����s�]��$;�����=JF�̀ 6��?n�0*K
�� 8HFa�wV"d iHiǵ�%�澈D(9u�
����l��l�)�(�2�H~*#��s,�J�<�uQmJ�h��<����:-{
՝�ߪ;���-�q,N'~����&ڿ�&���kL�,o#
&�D���r�b��i�ÿ���^�9q/oՄb��V�Rko�M
-%���J}>����/s����9�٨
�yS��Q'��L�h�qq`|	��]���W.���}Y�fWWhQ�*Mv9Jʫ�nsu�)�R�
5%����m���-������"���I
-�vO9X�� a0�!
-endstream
-endobj
-1454 0 obj <<
-/Type /Page
-/Contents 1455 0 R
-/Resources 1453 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1327 0 R
-/Annots [ 1452 0 R ]
->> endobj
-1452 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1456 0 obj <<
-/D [1454 0 R /XYZ 90 757.935 null]
->> endobj
-1457 0 obj <<
-/D [1454 0 R /XYZ 90 733.028 null]
->> endobj
-1413 0 obj <<
-/D [1454 0 R /XYZ 90 635.762 null]
->> endobj
-1458 0 obj <<
-/D [1454 0 R /XYZ 90 621.192 null]
->> endobj
-1414 0 obj <<
-/D [1454 0 R /XYZ 90 506.466 null]
->> endobj
-1459 0 obj <<
-/D [1454 0 R /XYZ 90 491.895 null]
->> endobj
-1415 0 obj <<
-/D [1454 0 R /XYZ 90 379.172 null]
->> endobj
-1460 0 obj <<
-/D [1454 0 R /XYZ 90 364.602 null]
->> endobj
-1416 0 obj <<
-/D [1454 0 R /XYZ 90 273.686 null]
->> endobj
-1461 0 obj <<
-/D [1454 0 R /XYZ 90 259.116 null]
->> endobj
-1417 0 obj <<
-/D [1454 0 R /XYZ 90 158.248 null]
->> endobj
-1462 0 obj <<
-/D [1454 0 R /XYZ 90 143.678 null]
->> endobj
-1453 0 obj <<
-/Font << /F63 247 0 R /F81 703 0 R /F50 215 0 R /F65 249 0 R /F23 216 0 R /F10 964 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1467 0 obj <<
-/Length 1635      
-/Filter /FlateDecode
->>
-stream
-x��Xے�F}�W�
�*
�E3���� ����	(�,�m]
I�!_�����M��Py�
Ks�>}�t���w��r���ly'��PP�<�;� �S�<l�.�����`��cTf��X�_r[F�4ٔQ�u�z�ל`W�1f���/�rN�(�/���X'E>_P���iTUf�N%�X���������ً�ٟ36b�h���|Ɲ8�}���-<�`���9�Y��QS������~!��s|*���^�
�Q&kYV+m�x��]@zې �8t�sj��E�)��|X%y=�gy�qo��!(?�ʇ�4Șuz��v>$��
�fZ��,�:�S�B�k�Ny�~N�Ԍ6��4
�?m�ܢ������þ�4?e�ܢ
�u�mޜ
6~I�]q��Q����#d�Ei}ݍ�_xa
7O�m�����2���!���)8�Ȓ�	��z�$ M�"ZZ�	�HJ�#��U�]��
��d���=��6�Cxu�.
��Y!�n�SK�|�[�1�p��>$��4�@��N����F�G�
�9S	 [...]
sĵ�������T  ,[�v2�v랴}�
�?2�!8}$���;Y�ʼ���x���d�w��!oC�J�Q���52�s~2g6�nt��BUW��@"����-2��,Kȵ<
T�'��Y�d���Ա���$��=�L#�4���G!$�4	�A�`͒����.Z��Qz��Ce���B�)�T���1q�P8�}��l
Y��T�k��a#
ќ�I�':|"p;N��:�
-r��	�H�A^�4��I��M�Ie�$ lS,�|S��mS��>"eX�ؔ�F)C��
x��E�N�c3&J�z�j?�v*e�r�����g<(2����a
9�
-h�]c�Q�N��WP�yZ�<Ҟf;��i���U�ɔ_�j,�M|{�{YWS�
�����!C127�[�ji�
�/�i���F�#��� =e��
�`CP8zа.V$�C�A�������Ì悥/T�#	4%>����
o�Q���<Ƈ-L[d�"=uW��&�&m�M�Y�
)��8���#��xZ)d���A��A"�OҺD�?-��Z%+Fr	�"k�@.�y+���r��;��D
��T
Z�T�6r��S��r�	�r�{�[������G�]���\ܺg�zՠ�o�ٕE6b�HSL��-0M�X*�<HU�9
lP)��Y
�n
�p�����	��f���vc���?��d��J��3���d�����p�u��mwT^USUNa=�ܟ6i�^Ufi#|g��T7��Mh�V����,�VEߵ�z{a��q �(�M���.[�TMe��";��XA6S$<�4
~��ɼ��S��cB��&7j��?�� a����+�.�_`

"~�y�
-E>��a��������Or�:���ho�z�ײ��Č��+Y>�s�Z^���SӐ+pmT���pa��P0�9pC}�'�N3�e�e�WZ9�NCu}\-����:�ɱDI�<
��%�z�b擶
-�2���J�+I�Z�nI�cl���L��0�� ���
-endstream
-endobj
-1466 0 obj <<
-/Type /Page
-/Contents 1467 0 R
-/Resources 1465 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1474 0 R
-/Annots [ 1463 0 R 1464 0 R ]
->> endobj
-1463 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 111.925 224.515 122.829]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Overflow__Error__Exception_6c67cb8304bf0e784ad1aa328e82e20e) >>
->> endobj
-1464 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1468 0 obj <<
-/D [1466 0 R /XYZ 90 757.935 null]
->> endobj
-1418 0 obj <<
-/D [1466 0 R /XYZ 90 612.307 null]
->> endobj
-1469 0 obj <<
-/D [1466 0 R /XYZ 90 597.977 null]
->> endobj
-1419 0 obj <<
-/D [1466 0 R /XYZ 90 509.827 null]
->> endobj
-1470 0 obj <<
-/D [1466 0 R /XYZ 90 495.497 null]
->> endobj
-1439 0 obj <<
-/D [1466 0 R /XYZ 90 397.449 null]
->> endobj
-1471 0 obj <<
-/D [1466 0 R /XYZ 90 383.119 null]
->> endobj
-557 0 obj <<
-/D [1466 0 R /XYZ 90 218.667 null]
->> endobj
-166 0 obj <<
-/D [1466 0 R /XYZ 90 211.24 null]
->> endobj
-1472 0 obj <<
-/D [1466 0 R /XYZ 90 130.632 null]
->> endobj
-1473 0 obj <<
-/D [1466 0 R /XYZ 90 130.632 null]
->> endobj
-1465 0 obj <<
-/Font << /F63 247 0 R /F81 703 0 R /F50 215 0 R /F65 249 0 R /F23 216 0 R /F10 964 0 R /F70 298 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1485 0 obj <<
-/Length 1204      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~����$`�yu	�]�
KZ�K����!K��T�<J����
��,;��
m��!�D
���s�C[

[�~�
F
�BzԳ&s+Ė��)�&�uk���
	��^GrM�Ev����Y:���?;;�Q*�����!=}�
�K}�֨�I��T&�V��GgH9���E)r	o%~L��,*K��Z̅tH`�<
s=jsWi�O
,�i��>������#���0ba`m���R�̺�1�'��
a�o��0߈*J3�h߈2��J�\��qO���E�
���/�hDMtI-�KU�g�nV����1+
�퍞R�Dʊ�K|�d���R�JS 8��}30G�~��b!�M�Y
-3_-��I����v�
���=��e��� �u�H�W�/
�?�E!�*
�0NE^��z�b�s�/��
-��~V�y҂]��] x�A���莚
i��4 /S�{�M�MS�c!r!��57�Ū]*ZeY�7E��
�x2q֤d�SP=�eA��a���(�R�C	���
�����v��4Fj2�G�DU�
[{�E��k ��)��"B�C���pȎp��:a���j;J�
�"a�[n��ⵊO��\?5�Y-����~m��J?�<i#"4���Ld�6���q=��X/z'V3aL_�y�K��{atYC'�d͕T�'���i���E*�j��X����m]��K�k��s)$���д�kQղ尮4�ٝ������֎ 1l�
�<8���G��@X��^.
0��\C"
	�B7"^���F7�6�Oͯ��
b�e�%e����D�6�o��h%��R�N����~^�h�Be�����&��D'�;6 at 0Ϡ�Éك6� {:��'�L��t��
�-ў"k�(7js
Y?�����"�3C�T�����Vv��z)�O�s��r9("��N�r�s;��-z
�^�)�
8��UtWȯB�2�5y��9�z�Ey�Fn<~k�[e�:��1��-��'_�4QDs�5�R�yZ���2�J���>e,��� �dl���^ ���7���
a{(���7��=X�3h4��4�s��\������E
-����>*�M��П��?�Viv�]��Q�ta��у����@ΐ��!
.�OV�v��r�"�p�!��)˪Z��F���%��t-QZ���l�Il�u�$�-�;��
-�x��'�3���ȜR�
W�A���?'�S
-endstream
-endobj
-1484 0 obj <<
-/Type /Page
-/Contents 1485 0 R
-/Resources 1483 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1474 0 R
-/Annots [ 1475 0 R 1476 0 R 1477 0 R 1478 0 R 1479 0 R 1480 0 R 1482 0 R ]
->> endobj
-1475 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 510.407 156.032 521.311]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4_5c1e588b7f6a9f94b053a5cec723dfe6) >>
->> endobj
-1476 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 471.858 167.091 482.762]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4_637f0b668a07b52f0fc9454c13f4d16e) >>
->> endobj
-1477 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.068 195.041 247.464 205.945]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_51207bdf0804635cce036bd6b6459abf) >>
->> endobj
-1478 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.068 159.164 248.022 169.694]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_952c4e092ec518368be278c13c689acd) >>
->> endobj
-1479 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.068 122.913 256.072 133.443]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_9f9880633bb81d02f27e6fb22dc83bdc) >>
->> endobj
-1480 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.068 86.662 240.819 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_0f295b8b6083b12c373b48417ae8a466) >>
->> endobj
-1482 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1486 0 obj <<
-/D [1484 0 R /XYZ 90 757.935 null]
->> endobj
-1487 0 obj <<
-/D [1484 0 R /XYZ 90 733.028 null]
->> endobj
-558 0 obj <<
-/D [1484 0 R /XYZ 90 617.013 null]
->> endobj
-170 0 obj <<
-/D [1484 0 R /XYZ 90 609.939 null]
->> endobj
-1488 0 obj <<
-/D [1484 0 R /XYZ 90 529.228 null]
->> endobj
-1489 0 obj <<
-/D [1484 0 R /XYZ 90 529.228 null]
->> endobj
-1490 0 obj <<
-/D [1484 0 R /XYZ 90 490.799 null]
->> endobj
-1491 0 obj <<
-/D [1484 0 R /XYZ 90 434.828 null]
->> endobj
-559 0 obj <<
-/D [1484 0 R /XYZ 90 323.106 null]
->> endobj
-174 0 obj <<
-/D [1484 0 R /XYZ 90 316.033 null]
->> endobj
-1492 0 obj <<
-/D [1484 0 R /XYZ 90 235.322 null]
->> endobj
-1493 0 obj <<
-/D [1484 0 R /XYZ 90 209.967 null]
->> endobj
-1494 0 obj <<
-/D [1484 0 R /XYZ 90 175.738 null]
->> endobj
-1495 0 obj <<
-/D [1484 0 R /XYZ 90 139.487 null]
->> endobj
-1496 0 obj <<
-/D [1484 0 R /XYZ 90 103.236 null]
->> endobj
-1483 0 obj <<
-/Font << /F63 247 0 R /F11 291 0 R /F50 215 0 R /F21 828 0 R /F70 298 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1505 0 obj <<
-/Length 1627      
-/Filter /FlateDecode
->>
-stream
-x��X[s�F~ׯ�hֻ���[�ԝ�Ɍ�(ONF�B+���X������ ]�q���A�a�߹|�
��;{�N~�O.����P���7_{�҄ o��n}�Q�N�1��Ln�b+ʧ{��lQK�������`�L^OC�w
>�� ��[����
_s9%3�W9�i��O��������	p�#
MQQ/�Ln�bo��=��l��̪��<K���	v���F�{3P4���$�@L��Zmo�jd�P�{n�%W�JU�Yr#��h���+<j�_�BF�S�.�(��>C���<3[H_�n
-ΨSE�`�8
��8%�wh>)YTwn�6��sV�1g�f��@�W��/�b���:���B'���5�k
�ȹ�+���l�%�*��RF�4|)#:l�����)!��3���gLP�F3k%�T�
Ƒ`�=؊�Rv�P^4ժ[�+>�4r$�SL���8�17>��T��;��j!
��Zȅ6�K���U0�4"�u���?[ANc���
�v�R-�j735�o
��� њ�\s�=KV����w�}w�Ң�t�|v`'䃕r!�)�:�
��ʬZr�>�U�4��&g�3gK^+!�b
?�^������[b�
��Q��*
�v���Cxs�U�
-V3���5
-��`�yj�cG�и�
 ⺁wP�R��>�
�sYl�+%#�B��1�b%o\��w�(K�N�Z%�{��S릲a��E�pQ"��>��!�����ʝ�Ћ���J���;�S��?�f6����X;C������ۦ�K��͉����Pi��N�[
��q?�%a�µ��zw��27�𴚄$�Rh>+^�٢�P޴q
l)eE{'l�w�H�ky�G�v
���yU��D�,�K
%��>��N�'$�ԓ��A~�E/�����)ٳ��$����^i!�m�@
i��w����_jw7E���6�	���v�\�����VH�?讶3�rv��nW)ă�t�0S�F��d�'xǐ	�lGl I8;�
��E�c������98�~s�Xk���}��G��fC���$O�V(t6��H麆�
L�"���]��T��dۦ�~���^��o�Մ��ߖ�R����mav3�s˥�
 ��(��%ge�䆔�1(C�*6��A��oa���i�
��e�����6Q���s�

-��(�W���U��}����p���h�������չB�����=_����b�ek�
c�C�$=�
��g�3È&��Pǭ�a�
tC� ���9�и.�Y+����ődm��p/h�͠��ڮ�Q܄	�W<�um��������3�

�7r2l��� 7u�{_�`���;����:�2��� ���
��6�%a5� G�4oݸto�I��u
��m��Cg�T
l-�f&khN�����7,���$Aq�!��f���pm���
|.�i�O�	��oe���d	�d�����w0�f����~4C����t�-J�:������N��aw��*����<wC�k.�m�s�GV5��'���)3��N�:�]�}������k��'&M�U
i�f$m�ԽR�ˋ��n��5U���P�myq�)b
-!1JI֞�E�F3N�g��(�6��}㾪�� ���
-endstream
-endobj
-1504 0 obj <<
-/Type /Page
-/Contents 1505 0 R
-/Resources 1503 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1474 0 R
-/Annots [ 1481 0 R 1497 0 R 1498 0 R 1499 0 R 1500 0 R 1514 0 R 1501 0 R 1502 0 R ]
->> endobj
-1481 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.906 696.998 233.078 707.902]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_8219b76f7582cc02ef563bf70b045ae6) >>
->> endobj
-1497 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.906 660.136 231.006 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_4254863fcee52d3a2ee594e14999fc21) >>
->> endobj
-1498 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.062 586.721 287.823 597.625]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_3d5082778a4123e14fc66912860bb420) >>
->> endobj
-1499 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.062 540.893 304.969 551.797]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_868e2f5d243f0fa2bbc4abef8f68fc74) >>
->> endobj
-1500 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.893 253.382 513.996 264.286]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_868e2f5d243f0fa2bbc4abef8f68fc74) >>
->> endobj
-1514 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 241.427 155.753 252.331]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_868e2f5d243f0fa2bbc4abef8f68fc74) >>
->> endobj
-1501 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.473 162.029 424.869 172.933]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_3d5082778a4123e14fc66912860bb420) >>
->> endobj
-1502 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1506 0 obj <<
-/D [1504 0 R /XYZ 90 757.935 null]
->> endobj
-1507 0 obj <<
-/D [1504 0 R /XYZ 90 714.099 null]
->> endobj
-1508 0 obj <<
-/D [1504 0 R /XYZ 90 505.566 null]
->> endobj
-1509 0 obj <<
-/D [1504 0 R /XYZ 90 446.865 null]
->> endobj
-1510 0 obj <<
-/D [1504 0 R /XYZ 90 424.553 null]
->> endobj
-1511 0 obj <<
-/D [1504 0 R /XYZ 90 424.553 null]
->> endobj
-1512 0 obj <<
-/D [1504 0 R /XYZ 90 335.934 null]
->> endobj
-1513 0 obj <<
-/D [1504 0 R /XYZ 90 321.364 null]
->> endobj
-1515 0 obj <<
-/D [1504 0 R /XYZ 267.991 244.58 null]
->> endobj
-1516 0 obj <<
-/D [1504 0 R /XYZ 90 227.853 null]
->> endobj
-560 0 obj <<
-/D [1504 0 R /XYZ 90 99.881 null]
->> endobj
-1503 0 obj <<
-/Font << /F63 247 0 R /F70 298 0 R /F50 215 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1524 0 obj <<
-/Length 1658      
-/Filter /FlateDecode
->>
-stream
-x��Xmo�6��_�o���&%Q/A1`EסY:d��)-
Ʀ�z�$�����Me9M���������û�;;�^-g�7Q�(���Yn�;qD����87.��O�
��5k
-����p�7
[��mÚ�����`�5]��՛]��{>��۲�͖��z}Ϸ����奘"8�B�F�O�����ٿ3ja�H5h��:�bv�	;��t0
-����U��<s����
�DJ)��M~�pD��M`��
�D���!
-�T
���U+��ek�7϶���d/�~EVn�5o�:ͺ?8-�ICu���6��j�;^܂�rl,j%����$Ba���>�
v}�Z{���yU��yq͝���r�8�`_WY�ZW��`Y9"�|����
�����rQ(�J�������=�v
�$�u�<88+v�zy`����S�[.�7����^cu;���ɛD�&���3�����<�mU圕�ºn�|%nJ��
�|uXI'>:0(1pD
-Q��b/'|\DTh\iW����E�~K��:�Gbx���
-x������Q�g���EG-O|a�>�L;+R�gx�
��|�c���	EI��	�)
-��, at gP�xN
����� h��������w�'��=kW����a�S��d
�͎O`�
�����6�f��g�Xn䨧�a����!>'�E:�3Mg�����A�w�`1�K��=�GR�q�]$
$ODt�|�;��\�����&��9?<
-�DD�V�-��A�V�Fd=1�,�m���� ^�{_�}���y��G���}��7j|�� ����
�
��M�������ÎX��~�9+y�ʓ�x滧��j��)�4Eq�3ۋ���Z������9���j�9�,qp4�}�G"
��E������_<J	�1P<�(Ѥ;�u $W��W&T�3�PI
�e�I��53�[�a[�D�qV��
9u}}%G���ӓ"8r>qUؾ��T��=���.��u=*�gX0qU~����8/�@�A���a�|
{S����j�;¤cc{ZPƆ��	����l��
	�qPoj�t>M��0�Ǭ=�� �Ix��6����Og��-�K�cnǃpO���(.U��Ds���>�s5{"
����,W4.�U���0Y��J�d�3\�͉kӇ秱�DV"��?b�R$PO1$�lL�u��IO���F�߼�d
-"M}��@_}'eU�3��1zL����q�
��&��KHk������0��
FY�ˍ}�/�O��x���*JKEX}�LN��O��]�ȏ}t,�^N[H(�)�/�\ˠ8�n,K�aڎ����dd�_Q�<c5�S�����	i	
-��|!��sM������	tBwC���	����/��H
 �HECx�F'[��,;'J�3�ِkO�6bCz>��z!�l�>��&( �
1��g�L����G�1M7�M��%oXg,�6U1�g[幪s3����Ǯӎ�
�
o宅���<��U8Z��?�EP�A�<��=��
`
�S
��� R:�G�U��!N�z��S�\uU�Yy��߷���u�/sJ]��;V�׉X���ء �B��� ���nj��I�;���%�����/��~��-ڕYݠ�[�u�8-��R�1���w�B�x�	��_
��)saa�N˂{�I�?
-endstream
-endobj
-1523 0 obj <<
-/Type /Page
-/Contents 1524 0 R
-/Resources 1522 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1474 0 R
-/Annots [ 1517 0 R 1518 0 R 1519 0 R 1521 0 R ]
->> endobj
-1517 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 640.704 210.268 651.607]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceparma__polyhedra__library_1_1Partial__Function_c89f45a1ba3b8814dbd6be95e571cdfa) >>
->> endobj
-1518 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.942 601.849 170.966 612.753]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceparma__polyhedra__library_1_1Partial__Function_e268ac659921ee5731b202d530b9d35d) >>
->> endobj
-1519 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.942 521.087 237.376 531.991]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceparma__polyhedra__library_1_1Partial__Function_b3b4fbf99544ba087c9b1bb423043849) >>
->> endobj
-1521 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1525 0 obj <<
-/D [1523 0 R /XYZ 90 757.935 null]
->> endobj
-178 0 obj <<
-/D [1523 0 R /XYZ 90 733.028 null]
->> endobj
-1526 0 obj <<
-/D [1523 0 R /XYZ 90 659.677 null]
->> endobj
-1527 0 obj <<
-/D [1523 0 R /XYZ 90 659.677 null]
->> endobj
-1528 0 obj <<
-/D [1523 0 R /XYZ 90 538.158 null]
->> endobj
-1529 0 obj <<
-/D [1523 0 R /XYZ 90 483.767 null]
->> endobj
-1530 0 obj <<
-/D [1523 0 R /XYZ 90 340.453 null]
->> endobj
-1531 0 obj <<
-/D [1523 0 R /XYZ 90 317.518 null]
->> endobj
-1532 0 obj <<
-/D [1523 0 R /XYZ 90 317.518 null]
->> endobj
-1533 0 obj <<
-/D [1523 0 R /XYZ 312.673 240.854 null]
->> endobj
-1534 0 obj <<
-/D [1523 0 R /XYZ 90 226.184 null]
->> endobj
-561 0 obj <<
-/D [1523 0 R /XYZ 90 108.11 null]
->> endobj
-1522 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F11 291 0 R /F65 249 0 R /F81 703 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1557 0 obj <<
-/Length 1935      
-/Filter /FlateDecode
->>
-stream
-x��YK��6��W�T�������묝�ę=�)DB&ɐ���_�
4@�J3��d�����ht���r���䛛����s��<tn�NB�(d$�̹ɜ�.��'�����h�b^W��Vf���������)�n��]+�9���[٨��f
-?��ح���}[����Or)�;Y�r:���A4�����7�?&
������IדϿR'���%^;[M�v|����2�yB���I����r��0x����o7�
q�^���
/&q�;3�ďP�xy�>��YZ��O��
����<0r�L��
-D�5+��O�N�Ϩ����DJԕy_-~�i�-%#r���l�Θﴶ�������� m���z>��,�<E�?������oʴ˫�
�
�|�"t‰�����V�1=\*]U��Y�"IV�E~$��m�|~ R0��FI_8� �J��J��)
\�+ܡ�y�Uk��YMW��m&ǖ�B
-?6����ub�;�ܠ��g~Ab��]3�A?5h�c����Z�|���8��?6�jЦg���M)�|�������̏���j�m�"�P0�8O,�(
-dh��ݲ*gk�5_
�Fr-���`������C��C���2e���%	<Pƹ�j�u{(�K�]� !32�� �Ym�`�x
-L��\��H�����'�����6��m�Pn�~Z���P5�D��5���B��rV<�k�ഛ���
�4�)����^�A� ��
-���<��pߧ<J��>�l�Oy�%�P�	�UY�z��_By-r��+�;�JG����wƵF��B���nd� �}�D���|xF'���A���!��ML:5�y����K!��I^����z��lD5�P�
XW��<��u�!´jA��^T�`r�"��!�Y�
�S%p�������
���tX%��G���!
�N�2dx,!��/*�Zd�2��D-����7&&(��1�`ɥ�P�
�<1=��Y6�~zFz(�d�Û,k��j�@�ϟ�
�-8�ݸ�G�	�A6��
m�|U�x/mc�N�
#_E
s�ρ�A�ɣx���
��>;��$);(*$����� �`k�4��Ȣqx�u�z(�
�%�Y��;`��
�Ż�8�H�;��H -UEQms�U;�B�a;ۇ��h��}]�+�gt�O�r��e�`�~

�3,��R޴ݫsBF'����a
��G���G�R��dO�N��:�:�J�{Ll

�
��Q=�Xu~��9�wl��0��h�x'��ޯT�`>PP�
-v_�b�I���
-z�B�K�Z��6o�K��h�Pe��
��<H������B%����n����d�-�&X���
-[�s=��`�1�U1��	�P'�x6no��|����(-��FW�,���m+�Ce��a�������c7�ae��j2�Ŧ̫��0���@A8�n�3�s�
3�d'��F�w�M��V'�#��y`��n�q,���U3��
���T�f�
�t��rѩ��7;$���jN��ߐ�V"27/K�^;
(D��fضr��I��X��(g����^렀@C��z��AF������=^�q�~�	
��Vi'VU�h	��VԲ5ċ
-em����<k16i9ߔH`θ�KY���`h��mY�񀻍�٪�r5fX(�ޫ���
-�(�DpS�n���*��A
-N+��v�{���+�3	���By����G�$m-RiY�
-�f
�������a
-�������\J��L�3
�sяwH�zk֦ݰ�d���}>�f�~�kQ�6beX}(�
X��'l���V6�*��1Q��ZJ��;�W����b��~�6��2~w��w
��[XBn�ogn��~}u��nI�uuC�����a{.
��h_ /m��u�Jd�H#��\<�%�E7f�� ֪��
-endstream
-endobj
-1556 0 obj <<
-/Type /Page
-/Contents 1557 0 R
-/Resources 1555 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1474 0 R
-/Annots [ 1520 0 R 1535 0 R 1536 0 R 1537 0 R 1538 0 R 1539 0 R 1540 0 R 1541 0 R 1542 0 R 1543 0 R 1544 0 R 1545 0 R 1546 0 R 1547 0 R 1548 0 R 1549 0 R 1550 0 R 1551 0 R 1568 0 R 1552 0 R 1553 0 R 1554 0 R ]
->> endobj
-1520 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.683 681.615 207.239 692.519]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-1535 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 588.085 231.425 598.989]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_307f552cb6559fb3316979350f0698e4) >>
->> endobj
-1536 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.739 540.976 189.224 551.88]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_d3ecaaf79c9a60ab4848342458e261d7) >>
->> endobj
-1537 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 506.463 273.029 517.367]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_cb627ec2ad25203404db2046bd1b415c) >>
->> endobj
-1538 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.844 506.463 414.746 517.367]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
->> endobj
-1539 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 470.313 272.779 481.217]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_91754711e181bd642b50021a3750ba1b) >>
->> endobj
-1540 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.595 470.313 414.496 481.217]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
->> endobj
-1541 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 434.162 323.738 445.066]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-1542 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.236 434.162 381.969 445.066]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_6a0c0235057e5bd924816e77fbe24f13) >>
->> endobj
-1543 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 398.012 323.738 408.916]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-1544 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.236 398.012 374.367 408.916]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_b86276be6b184ca176f526bdce7db8cb) >>
->> endobj
-1545 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 361.862 224.451 372.766]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_43f91b349368a1f43667546d2d844941) >>
->> endobj
-1546 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.267 361.862 287.823 372.766]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-1547 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 325.712 228.327 336.616]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_25fcf44b7620128ac3646cf9cb7ec333) >>
->> endobj
-1548 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.142 325.712 404.345 336.616]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-1549 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.974 278.603 232.636 289.507]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_0ae5c861cdc8a2fed1057cb873c928fc) >>
->> endobj
-1550 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.669 278.603 408.872 289.507]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-1551 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.341 278.603 513.996 289.507]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-1568 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 266.648 218.952 277.552]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-1552 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 230.497 238.817 241.401]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_1deba0aacc90a96b069e32f8c3d4559e) >>
->> endobj
-1553 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.683 139.778 207.239 150.682]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-1554 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1558 0 obj <<
-/D [1556 0 R /XYZ 90 757.935 null]
->> endobj
-182 0 obj <<
-/D [1556 0 R /XYZ 90 733.028 null]
->> endobj
-1559 0 obj <<
-/D [1556 0 R /XYZ 90 628.265 null]
->> endobj
-1560 0 obj <<
-/D [1556 0 R /XYZ 90 603.728 null]
->> endobj
-1561 0 obj <<
-/D [1556 0 R /XYZ 90 523.386 null]
->> endobj
-1562 0 obj <<
-/D [1556 0 R /XYZ 90 487.236 null]
->> endobj
-1563 0 obj <<
-/D [1556 0 R /XYZ 90 451.085 null]
->> endobj
-1564 0 obj <<
-/D [1556 0 R /XYZ 90 414.935 null]
->> endobj
-1565 0 obj <<
-/D [1556 0 R /XYZ 90 378.785 null]
->> endobj
-1566 0 obj <<
-/D [1556 0 R /XYZ 90 342.635 null]
->> endobj
-1567 0 obj <<
-/D [1556 0 R /XYZ 90 295.526 null]
->> endobj
-1569 0 obj <<
-/D [1556 0 R /XYZ 90 247.42 null]
->> endobj
-1570 0 obj <<
-/D [1556 0 R /XYZ 90 184.905 null]
->> endobj
-1555 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1587 0 obj <<
-/Length 1513      
-/Filter /FlateDecode
->>
-stream
-x��X�r�6��+�+5� I��]�4
���M�U���"$3!$��_�
�D=������@�ι{+{�O�_O�^š��,b�z�e�Kb�h@������B<���_3U�y-��-���ōbjs~~5
�/
�6���Ŕ`͕�xa��kS��R�/Z�X+�tP�(YӘ�������Xp�8�|�N?]���v=�:!`8�Ho(MPRoQM>|�^��=�7K�u�� ����~���:M��A�pL���yS�7���-7�U������Z�)��i/��YQ����煰���l4�b�-f��+��>�]��n
)�������l��\.�����#�ž��q'g���Zo�9ky�b��r�A$y�����k�-7�� 4U�7
������l�gk�wz0-�
N
@�˅Y���,�B���ZA4���i���]�_l�g�M
j�8	�5��,
����
-�9&r�-E
&l�垀�,K�8<���N,Zp
��K'�2
��MA��O������WZ� ��d�n�0�F����S:���kp)������{~�[���J��QFit�1�
o;%����n���hrl�.�Z���̬�V=��)d�L�9$����:�V��0I����N��ЖI9VkͿvI�
�V�b[��:��.V\h.;mK%���,��q���qP�� �
-�Ea
-���f�ȏA@ǧ>�(P㕎
��c��9�<)�m� �y�l
6�h$gNW!��?�+h��4B�E�Q|�Q
Rp���͛_]�
��
�
���1Q����Eje�һ>������N]�N[�MZ�`�'��z]8ݧC}�f���3�����%�UwS�vs�5#���:0/@�k��;���GeD�]*��s2��q�l�
�{)� �t��Q 8E�K��]Q�c��,�fLM�>� ݑ�f(I2��Kܘ#�A��st���A�LP�	��D���o&CK��Rʒ3q?������\Ѫ�`��!"!F�K�Vu�(Q��ݡb�7YHQZ��C�9��|O�}(�Pg[3ZuDI�@[9j&�
�r*�E%��z8��L���0�[{�U�A�R���(�!"y2����ֺ�7�M����}7��y��|k�}�a�$�ݢ'��/�����&I�]�ðy8��qr�8��
-ʫ��)@<>��¯��
g
���Xu�!�f�{�DI�;d����O�9K���
�sÛ��6��,��Г�s�
�1�SD��AI�҆����f
��#�Nx9Za
&("�7� �ihgWsSha�u|y���H�&X�/�O���a'���`�ȭ�K��y������7;�2
������T�,�̧:
-e���̯���Gv��Hf��\������<fbձ�u!`�\��������)��M\2ѱr��~�j��08bh���.�~�{�/���Ǥ�`�b at c������m���z�
�DQ+T�gu]�
�|+� ]�-Jý����`4����K��V��1���?�
-endstream
-endobj
-1586 0 obj <<
-/Type /Page
-/Contents 1587 0 R
-/Resources 1585 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1474 0 R
-/Annots [ 1572 0 R 1573 0 R 1574 0 R 1575 0 R 1576 0 R 1577 0 R 1578 0 R 1579 0 R 1580 0 R 1581 0 R 1582 0 R 1584 0 R ]
->> endobj
-1572 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.181 488.507 379.083 499.41]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
->> endobj
-1573 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 416.023 286.113 426.926]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_041438b5dfc0a27bb1ef8944ccef9b20) >>
->> endobj
-1574 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.928 416.023 462.131 426.926]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-1575 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.383 377.168 201.83 388.072]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_d6b10e19a21f12cc1e19304c400cbcc9) >>
->> endobj
-1576 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.646 377.168 377.848 388.072]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-1577 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.356 338.688 179.355 349.218]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_8f633594965f90e853f0a0b7d9667e7a) >>
->> endobj
-1578 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.356 299.46 179.803 310.364]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_1063791d47e047aeeb186ba499482460) >>
->> endobj
-1579 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.351 260.605 199.907 271.509]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-1580 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.405 260.605 251.105 271.509]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_5204a6f9136985b1cf438bea23fd9489) >>
->> endobj
-1581 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.356 222.125 177.83 232.655]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_3e689b13a25dfaf0b6f22b21127bf4f9) >>
->> endobj
-1582 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.356 141.362 191.678 151.892]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_4b29f6a5bfc34297ed8cad2fc85141ef) >>
->> endobj
-1584 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1588 0 obj <<
-/D [1586 0 R /XYZ 90 757.935 null]
->> endobj
-1589 0 obj <<
-/D [1586 0 R /XYZ 90 682.428 null]
->> endobj
-1571 0 obj <<
-/D [1586 0 R /XYZ 90 660.116 null]
->> endobj
-1590 0 obj <<
-/D [1586 0 R /XYZ 90 660.116 null]
->> endobj
-562 0 obj <<
-/D [1586 0 R /XYZ 90 554.017 null]
->> endobj
-186 0 obj <<
-/D [1586 0 R /XYZ 90 547.417 null]
->> endobj
-1591 0 obj <<
-/D [1586 0 R /XYZ 90 434.996 null]
->> endobj
-1592 0 obj <<
-/D [1586 0 R /XYZ 90 434.996 null]
->> endobj
-1593 0 obj <<
-/D [1586 0 R /XYZ 90 396.262 null]
->> endobj
-1594 0 obj <<
-/D [1586 0 R /XYZ 90 357.407 null]
->> endobj
-1595 0 obj <<
-/D [1586 0 R /XYZ 90 318.553 null]
->> endobj
-1596 0 obj <<
-/D [1586 0 R /XYZ 90 240.844 null]
->> endobj
-1597 0 obj <<
-/D [1586 0 R /XYZ 90 159.962 null]
->> endobj
-1598 0 obj <<
-/D [1586 0 R /XYZ 90 159.962 null]
->> endobj
-1585 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1617 0 obj <<
-/Length 1622      
-/Filter /FlateDecode
->>
-stream
-x��XKs�6��W�Vj&���C�֮;I����C��@$$!�H����w�$ZR2���
l ����}��[z��m�����6�
eq{
/�^D�=�[�`��`��
k�l���݊
��bްf7�ލ���캮f��dR��xP�_��m��=_�fLR�W9���O����W�_F���=�u�	JB�������+`���d��ի�^��[zoF��E{������Yt�%%/��7����ʃRW�H��$�PeF���@!y�dݘQ�7w��䊛�B��*�vA�0�L#`Lo����F�[����l������[ި�5

F�
P
�p �C�"�
�X^���[mo��=}7uޭy%�e��#Z��1��'���h샮�A������&_�(g�
(�{�	�M�z���Z�_Zv��%�s��a�Ꮬ�$("#�ˮ��3t�Q��[y�u��β@�0C$N@��+W�=q:�kF�t���	�#��8�����qL}�P��r:�ptIQ�3��A��	��$|�
�X~�S��
>	�	 6&��LM��zc+EY�G��BQ� ��]=l��,��x.��	a��yg�,zWV;sf� ���
}ƪ ��!
��
iޮ��L�j
)������,�q8�_�
��z��?�7X�B���O��Ч��֞�Ye�dm��N�z�I6/�yͪ�̷��+�#�bc^U+�X�P���04�Q�
��{,a�U���@E�PiL
��]�s;�*{�	,(9k�tx��V~�R��F�ax8�_��W�
-h�,�_.Nq�p`yg"���ŋ�Qk�S�j_��F���S�m%jUl��N`�oW"_�G
��̮*\v��J6uy\ zݺ�Qjb^�����Q��|���q���G���a���R��Y�h��@�E]�y:a�����#1���
PX�
& 
-��V9��K�Lw3�yvSށB�SY�DP_�
���v� ��ݠ|��h�ι�r^
9�f��tU
��he��ᾢv�u�R�f���^���.��(=C��
��{��eWWEe��CWg�p�%�KA�8ҥ/@q �"�MX�����9��
����UB]j粈|be��:y��&N	�7f�e���5d��r
'֛R��
Xg7
޻�nb�X囦��,��+�M��xf
H�cDI�Z�a���E(�'Z�c�B��� ��� E$�n��$���O�N�{�E)�&Q�"bqy��
��8�L�9�
ׁK.qvT��J�g\�[�σ�Hy�O�r�lh��ƮS�Yc�a��D��ɓB�
�tCg�a��k�iH:���29Хh��z��L�ѥ�O�p[��E�]-���D.a���3���N�)}�*D���'�v�s��t�}����Ps��eW�Z��G
�ޞ�Nk{	�'%��
=&;u�h�{j|"f:���6v��2��8��O��&��,���|¤�4 q�Ձϸ'M_{��s�1�W�7+�Uˎ-���*a-�1�SC-�I5��׬�X��rf?b�}���b���� �
wߋ
=���H�u{���M�J����j�ݢ�E]%6
�j�)�
�Z{)�%!���_��uc>�L„ ��$�M�)*X��n~�+��ݤ�,
-endstream
-endobj
-1616 0 obj <<
-/Type /Page
-/Contents 1617 0 R
-/Resources 1615 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1631 0 R
-/Annots [ 1583 0 R 1600 0 R 1601 0 R 1602 0 R 1603 0 R 1604 0 R 1605 0 R 1606 0 R 1607 0 R 1608 0 R 1609 0 R 1610 0 R 1611 0 R 1612 0 R 1613 0 R 1614 0 R ]
->> endobj
-1583 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.181 695.563 379.083 706.467]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
->> endobj
-1600 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [159.072 568.659 218.628 599.627]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-1601 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 375.862 194.507 386.766]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_5703e74effb8a5b4090be08699d6b808) >>
->> endobj
-1602 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.942 338.643 179.274 349.547]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_86ef4d8f3963d0e41bd32e5745b2b161) >>
->> endobj
-1603 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.09 338.643 263.687 349.547]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-1604 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 260.251 218.029 271.155]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-1605 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.527 260.251 250.965 271.155]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_0b8fd6b1ed827658839d73fcb11d4755) >>
->> endobj
-1606 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 223.032 218.029 233.936]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-1607 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.527 223.032 262.043 233.936]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_d487a3b3a0d3590dd3678cf333549f47) >>
->> endobj
-1608 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 185.812 218.029 196.716]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-1609 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.527 185.812 290.804 196.716]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_103c1a923368f15f9846bb63c5fc8bcd) >>
->> endobj
-1610 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 148.593 218.029 159.497]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-1611 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.527 148.593 266.456 159.497]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_0ce79e66e5f99bf6dae5077d3eeb15a8) >>
->> endobj
-1612 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 111.374 218.029 122.278]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-1613 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.527 111.374 255.378 122.278]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_981388a9978a768d9859bc6a05b59612) >>
->> endobj
-1614 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1618 0 obj <<
-/D [1616 0 R /XYZ 90 757.935 null]
->> endobj
-1619 0 obj <<
-/D [1616 0 R /XYZ 90 733.028 null]
->> endobj
-1620 0 obj <<
-/D [1616 0 R /XYZ 90 682.725 null]
->> endobj
-1599 0 obj <<
-/D [1616 0 R /XYZ 90 660.413 null]
->> endobj
-1621 0 obj <<
-/D [1616 0 R /XYZ 90 660.413 null]
->> endobj
-563 0 obj <<
-/D [1616 0 R /XYZ 90 483.265 null]
->> endobj
-190 0 obj <<
-/D [1616 0 R /XYZ 90 474.131 null]
->> endobj
-1622 0 obj <<
-/D [1616 0 R /XYZ 90 394.018 null]
->> endobj
-1623 0 obj <<
-/D [1616 0 R /XYZ 90 394.018 null]
->> endobj
-1624 0 obj <<
-/D [1616 0 R /XYZ 90 356.919 null]
->> endobj
-1625 0 obj <<
-/D [1616 0 R /XYZ 90 278.407 null]
->> endobj
-1626 0 obj <<
-/D [1616 0 R /XYZ 90 278.407 null]
->> endobj
-1627 0 obj <<
-/D [1616 0 R /XYZ 90 241.307 null]
->> endobj
-1628 0 obj <<
-/D [1616 0 R /XYZ 90 204.088 null]
->> endobj
-1629 0 obj <<
-/D [1616 0 R /XYZ 90 166.869 null]
->> endobj
-1630 0 obj <<
-/D [1616 0 R /XYZ 90 129.65 null]
->> endobj
-1615 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R /F70 298 0 R /F84 1406 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1644 0 obj <<
-/Length 1105      
-/Filter /FlateDecode
->>
-stream
-x��W˒�6���/�l�ѻ	���Nτt3��)J���v�>�%l
EeBj���G��K����ϓ���wA#��`� ��!%L�ॏt�3�����5�n�t��s��i2L����A}�<����OY��3 �G)+
-���/�pp��Y̥I�B��#����ˤ�gKL�
`�R�{/���� �D!�ֻ��#��M�s��
�x
�B���y0��D�yɒ��5����E���KP�{�,!0 
t�H����J��;��s���e��aټ�>γ�,�J��*O8�>��0��L֛��yV���*���/�����pݠ(o ڡj�Ǖ�|�n�

��)�V�K�q�J���ם�,�4�
B��$[ꥯ����"�*؇��xRH#��WBh{�ˀJ����G�^��)��)?L�D*cQJ�Pּ�A
7�R�&2d��as��k�@
����Y����O|=�&���R	�
�	���ޣ �!��r<��֢�[-��h5(
�T��

/@ ��|O�S�<"����3�yP�6)��h��Ԑ(
rǓd*m[F�XZqV�|��h`A�
-��:��yʙ��k��$�8��ُ��{�=�N��De��,:
-ͳt׼��z}RL�/�B�Q/=��AvO]��=mh.���n:�c��{��۝�D�T�yϰ�J.YW�
<bjxyV������͈��N/j�$�~��yY��H�$d+a�m�`�lgR�¸eJސŢ�������|޴צ��j���$�hi��6��yè��jˊe���
ۂ�™]�nQ�Ί���`c�q���Mzל�G
����a���aϽvث�.��q�{8�c�
-~DxUF���<���՜Y�T��c�_m���s��l�Ebu{������+�O_�����r�<�f4
��ݎ}��w/�~(��w��*���(���wPAJ�2�k���4��Ƭ5�s}��bKc�
*ŢN��,}���'����O,�X���(��DPꖨ�Cg�JSϜ^4 ���^=��H�C�
O����
������d#`R7�tx<��`�f
Y+�>׹���,
0����ȴ�$��:]�q�U�[

-endstream
-endobj
-1643 0 obj <<
-/Type /Page
-/Contents 1644 0 R
-/Resources 1642 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1631 0 R
-/Annots [ 1632 0 R 1633 0 R 1634 0 R 1635 0 R 1636 0 R 1637 0 R 1638 0 R 1639 0 R 1641 0 R ]
->> endobj
-1632 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 521.324 194.497 532.228]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation_a542fab30058371e9f17fca3eb84724b) >>
->> endobj
-1633 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.942 482.47 179.274 493.374]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation_ba48365387e24282c5facb79d544df54) >>
->> endobj
-1634 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.09 482.47 263.677 493.374]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
->> endobj
-1635 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 401.707 218.019 412.611]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
->> endobj
-1636 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.517 401.707 250.955 412.611]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation_52e2da847dc03a6a0bd03eb718bbc2c5) >>
->> endobj
-1637 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 362.853 218.019 373.757]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
->> endobj
-1638 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.517 362.853 259.253 373.757]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation_c9b4e9cbc50b16d0b8eae819ba758bb1) >>
->> endobj
-1639 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.912 125.778 306.267 136.682]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-1641 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1645 0 obj <<
-/D [1643 0 R /XYZ 90 757.935 null]
->> endobj
-1646 0 obj <<
-/D [1643 0 R /XYZ 90 733.028 null]
->> endobj
-564 0 obj <<
-/D [1643 0 R /XYZ 90 627.746 null]
->> endobj
-194 0 obj <<
-/D [1643 0 R /XYZ 90 621.146 null]
->> endobj
-1647 0 obj <<
-/D [1643 0 R /XYZ 90 540.298 null]
->> endobj
-1648 0 obj <<
-/D [1643 0 R /XYZ 90 540.298 null]
->> endobj
-1649 0 obj <<
-/D [1643 0 R /XYZ 90 501.563 null]
->> endobj
-1650 0 obj <<
-/D [1643 0 R /XYZ 90 420.681 null]
->> endobj
-1651 0 obj <<
-/D [1643 0 R /XYZ 90 420.681 null]
->> endobj
-1652 0 obj <<
-/D [1643 0 R /XYZ 90 381.946 null]
->> endobj
-1653 0 obj <<
-/D [1643 0 R /XYZ 90 325.533 null]
->> endobj
-565 0 obj <<
-/D [1643 0 R /XYZ 90 212.589 null]
->> endobj
-198 0 obj <<
-/D [1643 0 R /XYZ 90 205.989 null]
->> endobj
-1642 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F84 1406 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1686 0 obj <<
-/Length 1671      
-/Filter /FlateDecode
->>
-stream
-x��ZK�7��+��2Z=F�'��
;�N9�&��� `*���XL~}Z���
�ec\k�
(4 �Z_�j�{s{���]�.^
-�E(Tx�3/�^ �x�S�O0bl0$��R�
-�d�P�B��x\�b�����}���<
)���,K�|�f�����y���� ����z/.{�z�
1
-� �{��w�{S���zD��2�Rϧ
��}��
�u1�!,�]��z������A#�~Yg�*γҨ��k�=�#0oH)�oEu7��BV��Kn����o�i<[7ݔmt��V��%ǭ5�|�$����R�3Ļr�W&�x at yz at x�M������hs�;3J�(�r�F�8UY���|�
Çt�u�2�^�
-_�
�	�xC�;��;U��.��vJ�����V�*w�%m��el���I�@����Zĥ�"�DM'Թ��RFQDC����0���10��W���(���
#�D� �G�M�'vm��&8:f�J��S쨢�e����xQ��R
n�+,��s��xG�^M�}&��LP��f�y�
-#D�99�0t��
;�s�2�9İ��qV�ޯ�J�{j
6�
+�(+�ۢEi�	V�P�̉��>����ީ��a�U
�Tϣ>�2�����rv( RjRS��x������
�>C
"�Cq�4��4�WMG�I\�\��¶��
L�u6�Y�5�v�
�|%G���x�,ܙEt:�w4��h�����h��&€�V)�~�

���i���C=��5A��7�)"���!��c�L]
�bH���bۡ��(BBb~|��~Q�8D���pm4��D��v&���$8g��v����*0��t�Egq-Y��%��Rq��Of���6������N4�"B�������ZC�R=ڴeS�]� ����,;�!
-B�}4�Ad�
[N�rR���;[�4��s�Ґ>P�U90,���$둮 =�d�OZ�t�uP�D��e��z\���5�J	HG+8��#8�%�-sxzd��
7��6�Z6�o�m�tќi
-��ju{�>xt;8����җE,�I�p�U���<�(
ȃ�ɵ,:f��
o��s~'�cA����w�T b_w�,<�L�R�fE���8��w*'��5�%�ы��B����&>A��Y
-�r�}i'I�����
�z˹�oE�9ˇ�"���o�W��X��
BV�k�嚆}u�gQxƸ&4��~Dc�
'���Ϧȹ/T
�����n�|��-�D��<W��l�X��ʴ��^��/%h�d`<[�l52D���E�7Ğ��\H0�%�e"#l���5b�M<FtSt|��Ǟ Ƒ�6��� ��X�huzW�
���
6����ȧA�a����uXF�tX��4F�D�_��L_��r]����#�`(b�XP�d�D۠`��n@��;0DO��3�iiF�jO��,l��1ȉ+��
g"��ضF^/�
��f2���r���˺R��X��F��'��v��Ut(
-tfn���&����c�	c�����析}|m/
هWR�y�	��[f�ZΝ���R̴16�<�*U��@�qWidV�d���)�n^��~��� �j���i��3V�.�r���;�EU-�^\�V+4)Q������r�\ܼ���B���-f�A:�
� U`
0�4�G�c*���v�80S
-endstream
-endobj
-1685 0 obj <<
-/Type /Page
-/Contents 1686 0 R
-/Resources 1684 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1631 0 R
-/Annots [ 1640 0 R 1654 0 R 1655 0 R 1656 0 R 1657 0 R 1658 0 R 1659 0 R 1660 0 R 1661 0 R 1662 0 R 1663 0 R 1664 0 R 1665 0 R 1666 0 R 1667 0 R 1668 0 R 1669 0 R 1670 0 R 1671 0 R 1672 0 R 1673 0 R 1674 0 R 1675 0 R 1676 0 R 1677 0 R 1678 0 R 1683 0 R ]
->> endobj
-1640 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.739 675.65 242.354 686.554]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_8b521c98491fa559861dae11ad3ec3f3) >>
->> endobj
-1654 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.739 639.109 242.663 650.013]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_84625e35d755ced248ffe55750614f09) >>
->> endobj
-1655 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 602.568 229.362 613.472]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1656 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.861 602.568 275.021 613.472]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_56bf9c6096c448f27d61416f27a05db1) >>
->> endobj
-1657 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 566.027 235.988 576.931]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
->> endobj
-1658 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.486 566.027 288.271 576.931]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_dd544c3d22008bb22d0b6fa536c651dd) >>
->> endobj
-1659 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 529.487 229.362 540.39]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1660 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.861 529.487 322.621 540.39]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_d0f0c9ad050583abd703aaedb6e5cca1) >>
->> endobj
-1661 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 492.946 235.988 503.85]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
->> endobj
-1662 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.486 492.946 335.872 503.85]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_81c4315daec6710e58a0617d92839e81) >>
->> endobj
-1663 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 445.446 224.093 456.35]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_25143e2f87da1099e3cb5c065a2e0890) >>
->> endobj
-1664 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 409.278 232.541 419.809]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ad130af7dc19af625d583e25020026e1) >>
->> endobj
-1665 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 372.737 233.497 383.268]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_1d1b69611f06c6e9aa03fd1b951573f8) >>
->> endobj
-1666 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 336.197 230.169 346.727]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_951904ccc728d261cf367a0bc613478d) >>
->> endobj
-1667 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 299.282 282.204 310.186]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_9f7d55f53c6ca0b56163de733c0bca5d) >>
->> endobj
-1668 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 262.741 278.727 273.645]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_50926d4c45d6e451ccec518c8051733c) >>
->> endobj
-1669 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 226.574 227.958 237.104]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_b7c4fb00dc7b0fff7edbe9d80ad15ae6) >>
->> endobj
-1670 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.774 226.574 266.961 237.104]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-1671 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 191.491 269.164 202.395]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_4949285de47134b38f894d92823a931b) >>
->> endobj
-1672 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.979 191.491 350.229 202.395]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1673 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 156.782 269.771 167.686]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_c72ffc5f5715e6a10e6d5e63a43b6e9e) >>
->> endobj
-1674 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.587 156.782 350.836 167.686]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1675 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.81 122.074 229.095 132.978]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_c4f92e1418a46d38b818059a3dadab69) >>
->> endobj
-1676 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.031 122.074 311.281 132.978]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1677 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.439 122.074 382.456 132.978]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1678 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [414.259 122.074 460.276 132.978]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1683 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1687 0 obj <<
-/D [1685 0 R /XYZ 90 757.935 null]
->> endobj
-1688 0 obj <<
-/D [1685 0 R /XYZ 90 716.221 null]
->> endobj
-1689 0 obj <<
-/D [1685 0 R /XYZ 90 690.649 null]
->> endobj
-1690 0 obj <<
-/D [1685 0 R /XYZ 90 656.13 null]
->> endobj
-1691 0 obj <<
-/D [1685 0 R /XYZ 90 619.589 null]
->> endobj
-1692 0 obj <<
-/D [1685 0 R /XYZ 90 583.048 null]
->> endobj
-1693 0 obj <<
-/D [1685 0 R /XYZ 90 546.507 null]
->> endobj
-1694 0 obj <<
-/D [1685 0 R /XYZ 90 509.966 null]
->> endobj
-1695 0 obj <<
-/D [1685 0 R /XYZ 90 462.466 null]
->> endobj
-1696 0 obj <<
-/D [1685 0 R /XYZ 90 425.925 null]
->> endobj
-1697 0 obj <<
-/D [1685 0 R /XYZ 90 389.384 null]
->> endobj
-1698 0 obj <<
-/D [1685 0 R /XYZ 90 352.844 null]
->> endobj
-1699 0 obj <<
-/D [1685 0 R /XYZ 90 316.303 null]
->> endobj
-1700 0 obj <<
-/D [1685 0 R /XYZ 90 279.762 null]
->> endobj
-1684 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R /F82 939 0 R /F11 291 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1742 0 obj <<
-/Length 1713      
-/Filter /FlateDecode
->>
-stream
-x��Z[��6~���0˺ �N��d���m�}J2
֖mR.�u�_�#$|a1^{��&�'��Α���OGlM-l��
^	f(TXW+��'�XWc�M0b����=�$
γx5��<
��u
���/
�m�C|;K�>�ؾ�âзo�DV�d:�`�u�k
�|�z�{y���#0 l�j �C
��(����1��Ƃq���Z%�K\c�]�
6��w�&���$	� 

��x���Jy5������a�iXF���C�
Cw�g_gY,��4W�Χf�o��.v�Q�+�F���㽽�ߣT����y.�"���&
�-
��:F��E&'j
-0���! B�6�(�
�N[�a�����Sux��U�G��>!(�BǼbE�h0xE�H. �`��g�bF��[7x���a�q$^��吡
-�E������+�\!\շ�S�Դ(��zV�"O
�H��
#/�jOe�0߱H]�RR7�&N�Q�ӱ�a�\�J��n�����8���Ҭ�
d2/W��}��uw�8��m����X��L�����H���L,mq�0=43%]u  s��VY]΢�ʙY��>cQ�>�6 d����Bj�*g�&JՁ��M/�'F�FY2_�r�Z�������"����8
b�
� &���_Z5H��)�w� �ú���y� 
eH	����	��l�t�A��Le
�Yޜ�z8=�z�[ء^�
�r�������E��=��+��5θٯ`�.
-�u(o(Xx�9Bv�ew1��T1N�$D���,ۄ�B��їyAZU�˙��Z�Bx�(���T�u#m,�S�F@#�,4���x���Si�C�v�RY����.<YN	�>}TrJd�$9�L��,^
/�t�V�Э��{���p�����V_pX�yݖ�*Dw��t�r��&�.I4z���,��Q:�?�e��2m�X�4h�<	\D��u�U֬\�U�P`�i泇`�P���J�����C.���,��ˬ�E�G#�T��* �LP���]�G�vjy��܂��~O�5����RC�oY����p�QX��s	V�0a�T�q;�*l�vfz%�qq<K.M�oo)T�����n%L
�[wUu�N���֪ni�[]�T
E��6
��k�
� ��sV�hT�
=1��L����ʽ��)@�w�7�.WJ!
-��y��qT|R{��$���oN�M������E��qcd{{VCs��x��;3s��E?�a����0��S�BA�h7[
�^�#s���F�M6�${���"�}�?���
�)w�B=6c���-}��wz�rdl���
?]wc��
H��
@)�4���L�|5������Ń�%����K��bTЉ3i���4�a�c }0�;���#�3�E.��S�0\eV��8U��
Y6-�Q'V
��9��	
���;������| �*�����6��ii���
-�t��9EL�o�y#
�(���+�ۡ6�����e?���F�{@ѧ{uδ%��:��i~)@�׏ �
�4
�͗��k���ίꌿ�e���.�����7��ǛP}�y�p���tN��_SX�&J�Ñ���B�?9���?�tQ+�B[�'/�х#�H��>S�d]P�`�c�w��*6S�\ ��A�����`�\.Ѩ@�4��(*�y<؉|#P���۠�J
--�Y.�+A(�8��}�+<s,��0�h��+��\�~
-endstream
-endobj
-1741 0 obj <<
-/Type /Page
-/Contents 1742 0 R
-/Resources 1740 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1631 0 R
-/Annots [ 1679 0 R 1680 0 R 1681 0 R 1682 0 R 1705 0 R 1706 0 R 1707 0 R 1708 0 R 1709 0 R 1710 0 R 1711 0 R 1712 0 R 1713 0 R 1714 0 R 1715 0 R 1716 0 R 1717 0 R 1718 0 R 1719 0 R 1720 0 R 1721 0 R 1722 0 R 1723 0 R 1724 0 R 1725 0 R 1726 0 R 1727 0 R 1728 0 R 1729 0 R 1730 0 R 1731 0 R 1732 0 R 1733 0 R 1734 0 R 1735 0 R 1736 0 R 1737 0 R 1739 0 R ]
->> endobj
-1679 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.286 709.025 228.916 719.928]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a8a9da2a38c61eb14ed1922e970552ba) >>
->> endobj
-1680 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.591 709.025 311.841 719.928]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1681 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [338.658 709.025 384.675 719.928]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1682 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [415.369 709.025 461.385 719.928]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1705 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.81 651.384 229.095 662.287]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_e4e82dc62f09b889cc2c699b6a8abda1) >>
->> endobj
-1706 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.031 651.384 311.281 662.287]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1707 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.439 651.384 382.456 662.287]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1708 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [414.259 651.384 460.276 662.287]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1709 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.037 639.428 308.86 650.332]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1710 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.286 593.743 228.916 604.646]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_f212c66bfb25b5b1949ee91f0e4b48ab) >>
->> endobj
-1711 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.591 593.743 311.841 604.646]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1712 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [338.658 593.743 384.675 604.646]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1713 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [415.369 593.743 461.385 604.646]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1714 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.383 581.787 307.206 592.691]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1715 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 536.102 232.132 547.005]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-1716 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.63 536.102 287.753 547.005]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_3dec267cc9fa523feea43a8c0acdbe00) >>
->> endobj
-1717 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.569 536.102 335.075 547.005]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
->> endobj
-1718 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 501.375 232.122 512.279]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
->> endobj
-1719 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.621 501.375 287.743 512.279]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_0debe61d4b261fe21a4109f8920557e0) >>
->> endobj
-1720 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.559 501.375 333.381 512.279]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1721 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 466.648 232.132 477.552]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-1722 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.63 466.648 287.753 477.552]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_7817a26193f804a89ffeb2dbf18fc702) >>
->> endobj
-1723 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.569 466.648 341.7 477.552]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
->> endobj
-1724 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 431.921 220.765 442.825]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_bc5704127ba61d2413c9bff4fd30f323) >>
->> endobj
-1725 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.581 431.921 272.511 442.825]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1726 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 397.194 253.422 408.098]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_269b05089d9f1a4c329d5f5f1fe87dec) >>
->> endobj
-1727 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.238 397.194 305.168 408.098]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1728 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 362.467 253.432 373.371]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_c302814cfa610b65b7e92426d20b7efd) >>
->> endobj
-1729 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.248 362.467 305.178 373.371]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1730 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 327.74 213.014 338.644]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_4ee0954f71183611c9b29ad07ad9fba2) >>
->> endobj
-1731 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.83 327.74 264.76 338.644]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1732 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [159.127 291.163 186.574 302.067]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_b8b346098cc00bd96852efadc70e42d3) >>
->> endobj
-1733 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.546 254.959 205.831 265.49]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_45dd7fcc9b518abdc94c454b66ba1d5b) >>
->> endobj
-1734 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.739 219.859 282.603 230.763]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_3eced5e4c9a959bf44ba28393466ed15) >>
->> endobj
-1735 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.739 183.282 268.376 194.186]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_101725c81694df74ced9b4f2cca1fbad) >>
->> endobj
-1736 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.384 146.705 212.486 157.609]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_4b3c940e8c7c8981b9b2124a75e011c1) >>
->> endobj
-1737 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.384 110.128 226.314 121.031]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_5d5942488536d6a9095fc4bdebb9f7ed) >>
->> endobj
-1739 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1743 0 obj <<
-/D [1741 0 R /XYZ 90 757.935 null]
->> endobj
-1744 0 obj <<
-/D [1741 0 R /XYZ 90 344.77 null]
->> endobj
-1745 0 obj <<
-/D [1741 0 R /XYZ 90 308.193 null]
->> endobj
-1746 0 obj <<
-/D [1741 0 R /XYZ 90 236.889 null]
->> endobj
-1747 0 obj <<
-/D [1741 0 R /XYZ 90 200.311 null]
->> endobj
-1748 0 obj <<
-/D [1741 0 R /XYZ 90 163.734 null]
->> endobj
-1740 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F11 291 0 R /F70 298 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1803 0 obj <<
-/Length 1933      
-/Filter /FlateDecode
->>
-stream
-x��ZKs�8��W�R�ƃ ��f3��dfj��g.ɔ�� �5�cIʎ��o� �!ɴ#GUكK4�G����
`o�a���?�GWo�B
-*��bO
-�8%����4&16���8��$���z{�E4[�7ETl_�z?�xl_OH0��ɔr<~����<~PKUS�\�x����`���ߍ�\��3" �H- �H2�͓ѧ������<�#
���U�������8�������8�-���!,�Y�gJy=}���4��4��	��	�ce��ɲ��R�\�Y���ꎺѿ~�N���9�?����z+�����rR��O�)a(�����k��m/�o�^����
-���"��ʶ��	��*JXY�c��)�C�v�1e��cq�ŏy4���'*-���Kmv+NW���*��w���M:��G�,%�l�hk�E���ԁ��r��ϐϽ)%($�p��Փŋ�Ə��
RQ�V��pp���}�DQȭ
��X4h0?�,�͖�=�^t#����
Z���������U�g�r[V*96i�~|8;��̃v�۸tH at wd�꾏��lc!��i���mq��f\�ܬ+��㞱-�/���
�kUlj�|
-���������
-㢅��aY�`���r��(9	��H�4���S��d�H�Ȓލ5��f�ͫ����bM��Z�
�
�5����@k��HB�|_�,Օ���G�
.P�O%�%��^�h@	/jP�����!��8u�6>x�X�2�B�]"�9�d�#ž$�!"��<��CD#"�����N<��B��:
���e�|
C��
-�(�k����E�lA�O���~�� ���%=��
��\)��=E{
]�aDaQ�3�8Ĉ�2b�6
t*9"A���C���΋�B�H;U3�{��Q��R

�ݍ�
�2���
���J)�G�E�p����.@���p�@'�ᷢ��
�
�6ur�pB�A��NOƈ?h7�]@�iA"_�).-�yJz��A�PI.OF7,�<��X��� �b�(U]1�Ee����xo#���w�������"Oz��8��fe*�VG�EB��&J.Hr$�x{��
;�L�w���dW`5�f��j5��M!�V�NUl��Ѹ�sU�n�M����X��9 
�Ĉ2�
�8l�ÈѳCf	$t\��ޜ.	5����`����t>;�U����nr'�t
T~��Gq�d��
�Uq�fj
��wd�y�$1�7��	�C�C���nbP�Ԩ�1���m�U�+��#<A�
'Y�bg�8TpI����z6_g�8���N�fqՎ���c�z9c��̩6�f�	���u	0$����q����v�)�t*Wբ~�.�(;hA�����
9�^�+�6N���y�o؛0�Q�N��Q
�;�?}2'؉-�G����N����r�1�h����A�#�ǿ8t(�u�e�v� �ǠUn\�e�6E��@��3��T��#{U��T�K�$��>Թ^��
�1����I�zB-��	�h�/�ܬ����
��x��qq~�S�7_4�������nj�:S��r��*� :����*)�ǡ.���jrʗ i]�`�+���ҷ���5�~  ��'�=8}��#!�k:yc��~XڋH�$�����}�e
6�U�s �;3�;�0'e�Ə9h@�~Y��.[iƊ�ծ�Z�# [...]
-#�;j.B�)�G�X�(�o�y�uT;I�D}7,����WWW���h^�M����<__=��؍B`#�]az�ٺS��R�$u1���R{�Bä��о
����
-endstream
-endobj
-1802 0 obj <<
-/Type /Page
-/Contents 1803 0 R
-/Resources 1801 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1631 0 R
-/Annots [ 1738 0 R 1760 0 R 1761 0 R 1762 0 R 1763 0 R 1764 0 R 1765 0 R 1766 0 R 1767 0 R 1768 0 R 1769 0 R 1770 0 R 1771 0 R 1772 0 R 1773 0 R 1774 0 R 1775 0 R 1776 0 R 1777 0 R 1778 0 R 1779 0 R 1780 0 R 1781 0 R 1782 0 R 1783 0 R 1784 0 R 1785 0 R 1786 0 R 1787 0 R 1788 0 R 1789 0 R 1790 0 R 1791 0 R 1792 0 R 1793 0 R 1794 0 R 1800 0 R ]
->> endobj
-1738 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 720.286 201.946 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_c5dfab82eea6ba1f83cbebca0237b084) >>
->> endobj
-1760 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 646.871 232.192 657.401]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_af462d898fecd8d545ce48f6a0632c3e) >>
->> endobj
-1761 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.008 646.871 279.514 657.401]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
->> endobj
-1762 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 611.628 238.818 622.532]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_db6d91da0ca1b3f0f9b755297ab69722) >>
->> endobj
-1763 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.633 611.628 292.765 622.532]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
->> endobj
-1764 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 576.759 236.068 587.663]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_f31626a3fd875ced253836666b29990b) >>
->> endobj
-1765 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.883 576.759 317.71 587.663]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1766 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 541.889 242.693 552.793]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_0db3ec1fb2ff3022b06cd0760dbc9b11) >>
->> endobj
-1767 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [246.509 541.889 330.961 552.793]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
->> endobj
-1768 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 496.435 263.186 506.965]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_2a7c7870e8a2d07650293ccce8893174) >>
->> endobj
-1769 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.001 496.435 310.507 506.965]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
->> endobj
-1770 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 461.192 269.811 472.096]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_3e3093f0cebb7f7d4b1ac1f1dda4df5b) >>
->> endobj
-1771 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.627 461.192 323.758 472.096]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
->> endobj
-1772 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 426.323 267.061 437.227]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_5b00da433f9d9473b1fbd2cdf6c5976e) >>
->> endobj
-1773 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.877 426.323 348.704 437.227]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1774 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 391.454 273.686 402.357]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_d453d2930f64cc40ad0b5dbe4ac50c07) >>
->> endobj
-1775 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.502 391.454 361.955 402.357]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
->> endobj
-1776 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 356.584 249.905 367.488]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ea3d6d51b260b5aa832a1a3a68ac98a0) >>
->> endobj
-1777 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.721 356.584 301.651 367.488]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1778 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 321.715 255.993 332.619]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_0f157e4c644b4ca57dc6d0ffe0509ae2) >>
->> endobj
-1779 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.809 321.715 307.739 332.619]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1780 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 286.846 243.549 297.75]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_be395df0f967ad2074e87c95cab973ee) >>
->> endobj
-1781 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.365 286.846 295.295 297.75]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1782 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 251.977 251.011 262.881]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_6e6eb647853269db9de88ed234a16656) >>
->> endobj
-1783 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.827 251.977 302.757 262.881]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1784 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 217.107 282.005 228.011]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_5b12ca4fb2557b59516d1bbb2e30fa43) >>
->> endobj
-1785 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 180.246 311.394 191.149]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_0c39fad28012b1e32b3bb3f51aa395e9) >>
->> endobj
-1786 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [315.21 180.246 363.14 191.149]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1787 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 134.417 225.298 145.321]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_6e67cd103e4b330d46ded91f0ed0ec2b) >>
->> endobj
-1788 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.114 134.417 264.301 145.321]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-1789 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.856 134.417 359.105 145.321]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1790 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.74 134.417 427.757 145.321]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1791 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 88.589 238.02 99.493]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a7225f4984a8ca7b4701b78e9aa545b3) >>
->> endobj
-1792 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.836 88.589 277.024 99.493]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-1793 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.578 88.589 371.827 99.493]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1794 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.462 88.589 440.479 99.493]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1800 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1804 0 obj <<
-/D [1802 0 R /XYZ 90 757.935 null]
->> endobj
-1805 0 obj <<
-/D [1802 0 R /XYZ 90 733.028 null]
->> endobj
-1806 0 obj <<
-/D [1802 0 R /XYZ 90 234.208 null]
->> endobj
-1801 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1860 0 obj <<
-/Length 2730      
-/Filter /FlateDecode
->>
-stream
-x��[[s�}���[���;��Ng�4i�If�k�/�
-�6[�R)yU���^���t7}�(� |�s@O�t������!
-%���c�@I�%�}
|�����x���U4߬���$Σ�2}ȣ�����)�w{J�d�MgT��w�h�-.?$���_�-��9�ɧ�ܿ�����_7�b RL����_p��w�#��޶Z�2�\w7��n2�O;9�
���L�p�(\*�����7�m���0#��ڌ|"��S�
�6�=�ۢM�4�kY7J�6��=C�
�m=N��|˜fI��&O�U�x̋̇��G�(!���5ʗ,���~vcx|����|[E�M:%����9���a�x�'L!&+����?	���֝��%�!�%�t0c�<�H@��x.1���M>ej�@��t�n�Ej�N�����3P
>(G�+
71EP*�}�H�U�8�֫4�v��=�t�٤��Z�3u=�(���
�B�
-�(-+�Ǚ�
-��&�>O� 7�h���g�����'Wl쓦���dC<of���f?��',p���ߧ�@0�T�>���	���ͩa����,����'i����<16�<m���Ljĥ�7𶐮NF۷��N*.�$�

5�|I�q^�D
FFad��]�
^�b!�
���j��5�<y2�-/�p>�g��OwυEW�P�;��C�
-v:^
�!�Qe�em�@P��<YF;��
-�*x.�� �-l-�Q��$�*{�{�@0j\.��h�Q�(�T�����TX�FDӊ�,����mQDY�>�7�Ñ$f�9s�)w
i3�0�58�
-5)A��� <���n ��-�� �nUwۚҌ	�4�L#�牅FX��X�ӱ �@�R +zU(*Sa �4 0�l$�%T ��;&��1��z�V^&0�dj��1�g��7�|�
�cn<4Lά�h��Ӈ'�����
��p�F�!�f�3��0��W�"�S(zL�Y]9����]X�0��S�D"��t(L�� �:
���
k$�ܮ#g�!*�(~�25�B��^O����p%S;H����`�C����b�:���S�%y�L�3n���Uk�bXc�
-\N>�R��
V��1[���j��
Q.H�r ��[
P�r(I��`��u Q�1}t�
����|�"�F
-W�i�j�p������N�����
k���m�CS����T
iG<�$k��(b�a�1��6*[
Q���+�oܞ���D��{6����9|My�=�pL�G ;Z%R�6�|�B�ų�*p�^'�b
��"��T��*<��Uᅛ9�-ԅ��1
Z��ts����)�J�#��� N��
ⴱs�p��0�v0[Pٳm at dP��-�6��]�ܼ�
��S}VWv��Z�m�0�mg��n���U{
��Cm�6�N`7���ka��X�#��*F
-��
XO�b�kl
����J ��eb�M�'qZ#��ׁ�l
N_���Ր�
7��(1���lHL�����1=(��!
v���y�*@
-����0%:(L5m�
��n��_��>xG��Ŷ�-�Q|��_"�_�l�_c����iC���0��P��`/zvw�Y�
-ȟ}���z�bA+
-.�1kƀ찑fM��e��B�I�JI^g�L<Jd�KD&��L���K6,0�~y�j[����;��,��0����3{�l��ݲ
�<�+]�
]�A�҈?�.~]`�4t	�_�(@�h�2����.��)�1��]J�&�ץإ���]L1괃yk�Ͷ�<J��v-�y����������q��� n������j�K�)%��j\0`�J�,�S�4�s{&fѨ����s%O
-2�
�8D�Y��l

-���ŧu|q���Q��8X$a�������
^r^k��eY���
	�ڵ�7wsb���|���^����]��٭�ɼ�s_T�[B�I`�e&��%`���. ���u�����;lhGo�B�v3pc���@��?�8̭v���R)U��|�6bHZUJZ]
�k��3	�`�%�[�䡔�������ZB
�*�\J!|�v	��81.��8�j޻�~�9L�(���an��ڳ��W�4&
��x��W�P7iˑ�d;�����
s
�U�Ak���2�Q��&�we��U���}+��HSO�saѣ����j�y��U8+��
��m؇d�O}1b_��3�1N�!6r���W����Q��0/�4�hw���d�`�	���W�2r~�9:��u�>
:8�NJ�[A����	�v��Y�kN���F�\�?7��{�H�6�^�����>����
-g�Y�ӄ'��)��fGz|���=ԥ����ԃ�ʫxg��{p)P��,�
:@��9�LxΥ Xۅ���(����
�37%���r]���5�7q��;���DϪ'U�2��}ybߪ�V8
���
S3��Zv����k�Y�u���
�)�7!?+�#��
�&_��H���p[ۍ��[�D�N�s�z�H��+�A��I�K걿K��� q$��
�W	sV���/���tm~\徖��*��T�̪��.��rG��;ʞ^�v��f�^�hi�t�߶I����mI��K�v}L�����
�W��E�����
ʫolz�S��^}��y�ۼ�����h�E/Y��Q���l����^[!�#U+��2N�u^�0H����`��c2i
Wv�w����`�
-endstream
-endobj
-1859 0 obj <<
-/Type /Page
-/Contents 1860 0 R
-/Resources 1858 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1631 0 R
-/Annots [ 1795 0 R 1796 0 R 1797 0 R 1798 0 R 1799 0 R 1822 0 R 1823 0 R 1824 0 R 1825 0 R 1863 0 R 1826 0 R 1827 0 R 1828 0 R 1829 0 R 1830 0 R 1831 0 R 1832 0 R 1833 0 R 1834 0 R 1835 0 R 1865 0 R 1836 0 R 1837 0 R 1838 0 R 1839 0 R 1840 0 R 1866 0 R 1841 0 R 1842 0 R 1843 0 R 1844 0 R 1845 0 R 1846 0 R 1847 0 R 1848 0 R 1849 0 R 1850 0 R 1851 0 R 1852 0 R 1853 0 R 1854 0 R 1857 0 R ]
->> endobj
-1795 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.335 687.036 265.386 697.939]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_2c5d0c7fb2c1bbaa9359ed0b497152cf) >>
->> endobj
-1796 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.599 687.036 304.787 697.939]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-1797 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [323.235 687.036 400.485 697.939]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1798 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.747 687.036 513.996 697.939]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1799 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.176 675.08 208.193 685.984]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1822 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.864 628.049 285.637 638.953]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_52cb475c174028850d7ddd0998e089bf) >>
->> endobj
-1823 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.615 628.049 328.802 638.953]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-1824 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.721 628.049 432.971 638.953]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1825 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 628.049 513.996 638.953]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1863 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 616.094 171.361 626.998]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1826 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.94 616.094 254.957 626.998]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1827 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.436 569.063 276.092 579.967]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ac326b042c380a004289377eca7d2342) >>
->> endobj
-1828 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.856 569.063 315.043 579.967]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-1829 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.503 569.063 404.243 579.967]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-1830 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.747 569.063 513.996 579.967]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1831 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.232 557.108 193.249 568.012]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1832 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.977 511.28 296.356 522.184]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_79d4ff349ca7b314602b79a2d74fe976) >>
->> endobj
-1833 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.89 511.28 339.078 522.184]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-1834 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.999 511.28 436.739 522.184]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-1835 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 511.28 513.996 522.184]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1865 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 499.325 171.361 510.229]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1836 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.996 499.325 240.013 510.229]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1837 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.237 453.497 275.893 464.401]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_94e51c5141f6c2a46e4c8d8aaea539b4) >>
->> endobj
-1838 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.557 453.497 356.806 464.401]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1839 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [373.639 453.497 445.379 464.401]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-1840 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 453.497 513.996 464.401]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1866 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 441.541 171.361 452.445]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1841 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.922 395.713 296.3 406.617]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_9a21e654ffec08b0a79e6aa5ec29d72d) >>
->> endobj
-1842 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.807 395.713 381.056 406.617]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1843 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [406.466 395.713 478.206 406.617]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-1844 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 383.758 202.344 394.662]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1845 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 337.93 293.621 348.834]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_5e9ac1ca10b983f0dee8146e6e95370b) >>
->> endobj
-1846 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.437 337.93 332.624 348.834]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-1847 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 292.102 297.497 303.006]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_f3ff44da0089b15593e3ce719e37e677) >>
->> endobj
-1848 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.312 292.102 358.089 303.006]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
->> endobj
-1849 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 246.274 240.501 257.178]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_faf7844389329a23b58abf355ae79ded) >>
->> endobj
-1850 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.317 246.274 292.247 257.178]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1851 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 172.859 193.906 183.762]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_5f7cb393111807edd0542e1e4367f249) >>
->> endobj
-1852 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.722 172.859 245.652 183.762]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1853 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 137.989 316.306 148.893]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_250dcd46824fa3fcc48f2dd92a8293ea) >>
->> endobj
-1854 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 103.12 317.412 114.024]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_40f85671a746d80dd6a5a14292f6df72) >>
->> endobj
-1857 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1861 0 obj <<
-/D [1859 0 R /XYZ 90 757.935 null]
->> endobj
-1858 0 obj <<
-/Font << /F63 247 0 R /F70 298 0 R /F65 249 0 R /F50 215 0 R /F34 1862 0 R /F84 1406 0 R /F82 939 0 R /F38 218 0 R /F83 1864 0 R /F11 291 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1914 0 obj <<
-/Length 2065      
-/Filter /FlateDecode
->>
-stream
-x��ZYs�F~��[��p4�kk�l�ʎ�M9��k�X0�P� ����9pQ�LJ�Wy�5G_�|=l�-l�����]\��
-P�R׺YY�<� N�u[�l�c���eXe�,�ݝ��p�&�UX�^��0��6��ķ�|��
ۗiX����X	�M䑀�
�9���ݼ���f�nj�@�"J �!�q+�f�~�V
��[ G�[[�*�
��Z׳_f�(s誔�x�$!
ra�PD��5�L���g}Zp�:�dN�}?'�Z�{�p��R�jm��z�VQ�Ga#` �C$�||��3���8�c�b��:�ч�zq�a��]GjL)r
b-@�׾V"�4�
�����|�S͛���m�#3��	݆��8ϴ�͒h��F�a��XM J��
�xb
‘tmvS� �	��1U���` �~L�U���j�<;�x'�F����4B�bqW��
���
-�I�\�e�e�d"��'��0��R5���6��Z4Sc4��V,Ǔ�ρ�G5h-���4m�a
R�"J>cLE�_
�Tϫj�p����݋�G�1�>R�}i$����K�w�:ڥi���l���o�>_�1,�]卖O�]!�!�Ǎ['�{�}[���f��
-=Qo�&���u�&,p��^�	1�0h�A�@k���y&��
����i`	(�^pn�(���l���g��T�{)c���٣-{���˥�2,"���h�|�^�&�$W�/GeҦ	��조3�s��Wke��I���:J<�<މt6y(qa���C
_�T��;zVE��BN)����X$>sW��`�H����
5� �St�
�9�R\�]�$��@'8'�Aĥ�NNYX~t}��U����j�Ǵ�V���3׸��G�>
d���B�(2�q�J�	FMe]�t�,����
��g�
a(��Ao�Q��`� ��
-�wL��ڐ�wE�oZ˷$K"�U[�ﲣ����ϗ��aXN���rU� �����%A��-�
�I�H�'?I�!s��r+�b;�
�*� ���eÎ-F��t�|��'k�̕�1��"
�����
�6/3���s�_��U��J-�/`�&֍�ŗ^ qy��URd���W���*)���ݯ�r�������G#���E���;�~����m���~r�2��׆i���Y[�7�Qm�\�m�Ad��s�D���8�o�fI�dɟ"^����ױ���ۤ�3ň�}:N�M
��pz��t/�������/do�~�y
�,&l�l����&va`h�ۆY ڴg:O�G�f�Ny��6���%֊�����~�mE��Ii�A�
��ܤ|���0��,-�� 7F��b�ƨv;�������o�t�x��d�)�0>c#
��p8�19���˾�C
�i
��#
E|}����]2���&M_�^��\�YK�M2ٔ����,-F���(�Ɖ��+QI�����2����R [...]
-p��1�ݪ�Cި����&Fcq�U}�<0X�9Д�ba� �2c���t���"��CTd������G��&�n_�n��/P�v�����
-1�1<����Q��)�㜛���H�<Ns�H=���$�,�D�MN���$p�caD�ߐ����{�x�Il���0b.�S�
��fi��6M!P��BKN��ВӚ�:,Z���"�A�$oT
R�H���d�.���Ő?��z,r
������T����Y�7�����6���ֱ�WME�?�:jق��?����P���L5�օ�^�+��

J��m�&
�
-!p��ŘO�C�?=�(����ǂqy�3>q
�}[�_ :�ã��ݡS��0�
�6 P�_�5�G�����?L.�G����0��(�(� 1���x �
nr�qu������6�z�I���އ2��/�9�כpm��!S�$D�S�_kQ}7��q�w�o�c�Vt
��SP�d��R#��E��������8S.�U��E~��]Ӕ�..��-�j�ɓ�BIsQ���Ý�~�H�t�\�'
-YQ	,΀�zЉ����0S11�+��/!U��
-endstream
-endobj
-1913 0 obj <<
-/Type /Page
-/Contents 1914 0 R
-/Resources 1912 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1920 0 R
-/Annots [ 1855 0 R 1856 0 R 1879 0 R 1880 0 R 1881 0 R 1882 0 R 1883 0 R 1884 0 R 1885 0 R 1886 0 R 1887 0 R 1888 0 R 1889 0 R 1890 0 R 1891 0 R 1892 0 R 1893 0 R 1894 0 R 1895 0 R 1896 0 R 1897 0 R 1898 0 R 1899 0 R 1900 0 R 1901 0 R 1902 0 R 1903 0 R 1904 0 R 1905 0 R 1906 0 R 1907 0 R 1911 0 R ]
->> endobj
-1855 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 708.953 250.443 719.857]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_b492b453a39228bad565e4964c7ad257) >>
->> endobj
-1856 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.259 708.953 302.189 719.857]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1879 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 674.084 280.59 684.988]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_88d0ec91f9e05922238463630dccc296) >>
->> endobj
-1880 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.406 674.084 341.182 684.988]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
->> endobj
-1881 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 639.215 311.026 650.119]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_95849529fc06d893870e1b39fe009db8) >>
->> endobj
-1882 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 593.387 275.759 604.291]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_178d863fdd91da50df37aac742b5f89b) >>
->> endobj
-1883 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.574 593.387 314.762 604.291]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-1884 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 558.517 267.061 569.421]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_e44edf9029d653931c7a450481127e14) >>
->> endobj
-1885 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.877 558.517 327.653 569.421]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
->> endobj
-1886 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [385.705 558.517 420.892 569.421]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-1887 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 523.648 268.167 534.552]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_beedcb4af89476e04d9b358ae522dab0) >>
->> endobj
-1888 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [271.983 523.648 340.246 534.552]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceparma__polyhedra__library_1_1Partial__Function) >>
->> endobj
-1889 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 424.33 227.679 435.234]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
->> endobj
-1890 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.177 424.33 271.664 435.234]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_f15807720fca193200fa6ea8627ef10b) >>
->> endobj
-1891 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 387.468 227.679 398.372]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
->> endobj
-1892 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.177 387.468 319.264 398.372]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_dd26476af2dfda6abbb7508ef88cae2d) >>
->> endobj
-1893 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 350.607 230.519 361.511]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_0c70e4b9986758a2c5cfabd0968c80a2) >>
->> endobj
-1894 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.334 350.607 276.157 361.511]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1895 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 315.737 234.394 326.641]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_d8155c4d2baca71b59e67eb7396bb18c) >>
->> endobj
-1896 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [238.21 315.737 314.353 326.641]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
->> endobj
-1897 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 280.868 241.617 291.772]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_2d8112f8870851653e56b12e910f7e45) >>
->> endobj
-1898 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.432 280.868 293.362 291.772]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1899 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 244.006 266.244 254.91]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_6661b721ae109cee00992746554acf53) >>
->> endobj
-1900 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.06 244.006 317.99 254.91]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1901 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 207.145 282.015 218.049]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_894ed94e4bfdc07cd6ef5d45e5c464b7) >>
->> endobj
-1902 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.831 207.145 333.761 218.049]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1903 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 172.275 262.638 183.179]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a9a506db5b2ca3606ffdc72bae993831) >>
->> endobj
-1904 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.454 172.275 314.384 183.179]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1905 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.765 137.406 332.797 148.31]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_5c870a4502b7d88bf273472936bf4fb8) >>
->> endobj
-1906 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.725 137.406 385.655 148.31]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1907 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [397.971 137.406 475.798 148.31]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1911 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1915 0 obj <<
-/D [1913 0 R /XYZ 90 757.935 null]
->> endobj
-1916 0 obj <<
-/D [1913 0 R /XYZ 90 439.394 null]
->> endobj
-1917 0 obj <<
-/D [1913 0 R /XYZ 90 404.569 null]
->> endobj
-1918 0 obj <<
-/D [1913 0 R /XYZ 90 297.969 null]
->> endobj
-1919 0 obj <<
-/D [1913 0 R /XYZ 90 261.107 null]
->> endobj
-1912 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R /F11 291 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1946 0 obj <<
-/Length 2220      
-/Filter /FlateDecode
->>
-stream
-x��Z[o��~ׯ�[) ύC�(
-l�Iw�d�M�>4Y5���%);��=s�U�l��
P�XCj����Ό�������^�ή^
�(T8�'Ď/�(qn��'�`��|A0��>*�h�/��N��h�&�2*���������n�����MU�~����y,A
猻B��}3{u;�uF� �m��#�yN��>���5��
a���Y��)����8�y��3�{N�#+|����3��V߬s>-<�2��dN=�nN<L��X9���|eg���+լ4ɒZ��?��R��_�2�p��"_B(�m>֨�}�
>+�}o[L�=΅�8o�O�{S�U='n%y��x�j�MɊ�s���q�P� q8
BP�ٰ�D�$„�ׄ���!I~ "�̿��L`Dy3�Ǽ�a�Be�
-cy�����a,lf�{�#��|^��1�
-�պ���
B�n����{n1'ؽ��lC��I3(��weuHk�\l�	�e���!�7�A9,̓|k���8"�6��"�j]1F��h>��*�H�B�+�֊����*٥
-�ʶu#ɍb��N1	@���j�8&`m�w�u?2��E�`����'�:	��
-|�>cL�� �q�#������X�u�R�a�v��%S�R�-�NB���UĠ�
!?�� !���!
�#��]�|
������ �|-H���
�B	��f?#�FFl3� �	x�A�Ι 	��m|S���'�2
�D�/P�`��
-xc�6�`
O�^��
-�8	.cE��0�����!<4 ���7�
-x�}�O�00Q�A�0��
-�zFē���a���CuN�i���Y��h
� E�DKੰ�X?���m��L�	��I'��	!c
�ޗSe���z
��){¡�s����	lh�1����Q��z7!J�FK���T��oK��	� f>n���	�^4�dx��
�)�1��߀�(L��*J��c(�caKiOiz���3��!>��|`x�Ҕ
���ϔ���~㦗�
)��mX��O8�4
���^��1�a��N��3ۦ�f��1
-c*��
�b�p�E�
��ȧ�%�{��<�1�4ʅ��S
F1�a 	���}��`n�
O�.�w��
S��� ��.B�3Z����n��Ȩ���b�w/�����^�Q�6^|/��L�NN�D��E����7���;E��
FT����
K��
(����ʭ�~��pl�v͢�Q16���g�{e����}{p�h���~��K�?�/
���2"���p���ʊ�6�4,�`�I�ܵ] ��i��5uѳT^�5to���C��ae����֠����xTm��a
��աvկ�]qH�
u2���
+��*�U��V�
�e���f�uP�@�wE)Md��R�[5��wo���
m�{.���0��q��A^�f���sSJ�!7=�G؋��wQ���k�s�s�����8i���k>Ma�E��Q~�R�c!n콮�|��N౔�
�RN9
-��E��C&[��5�v�l���b�Ā5�f�d{��U*�6ܷ
�4 ��;���U��Zl����Q
 �Kt+L���
P��"�����k��븹V�:���<���L"������)�LKKwQ9
�Q �
��&p|`�@���Aև2�Z
�i����AN�q�jN6#
,�&��fB4~���ַ�`��f���S��{�]�V at wN��PCaw�2d����7s���W_b����>s&��(�Dq��K��
_Di�^~W�ͳl5����� rҶ#�������ʺs����qB
H���nb�v��0�j�`1���3
�i��'��(��@
75=��=.�M�
������Zn̋l���p���B�F�=U���՗��wXU�mʠBxyi�#��	�!j�?-t�]RQ5H��l3V�ռ��x �#L�\s��A�����

���86
�@��?���r�&�$��#�t��/���������J���3��g �]�@G_U�  ��
Q ����

-���I"�E���4?
��*��5�™��.
��4 	��;������4y���m�hkE���r�ϤM��O8��e�y�-�w��֝�q��0R��j�#u���G)m\L0��4��tJ:b��ɮ���WW���(��!O�%J��>�m�A����]촷$YQ6��>�r
 f��7"Q���>����+`
-endstream
-endobj
-1945 0 obj <<
-/Type /Page
-/Contents 1946 0 R
-/Resources 1944 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1920 0 R
-/Annots [ 1908 0 R 1909 0 R 1910 0 R 1932 0 R 1933 0 R 1934 0 R 1935 0 R 1936 0 R 1937 0 R 1938 0 R 1939 0 R 1940 0 R 1941 0 R 1942 0 R 1943 0 R ]
->> endobj
-1908 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.932 719.912 318.587 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_0d6e2bbaaefe11efb5429fe1a61e3d22) >>
->> endobj
-1909 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [326.098 719.912 374.028 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1910 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.157 719.912 469.985 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1932 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.144 663.543 337.254 674.447]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_27c32393002b42d894f964a5d60af964) >>
->> endobj
-1933 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.371 663.543 389.301 674.447]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1934 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.794 663.543 477.621 674.447]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1935 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.311 596.215 323.044 607.119]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_d078549415d6b45298d374eb3b6f5c7d) >>
->> endobj
-1936 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.745 596.215 377.675 607.119]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1937 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [393.981 596.215 471.808 607.119]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1938 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.806 465.607 195.736 476.511]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1939 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.44 465.607 513.996 476.511]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-1940 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 314.265 230.651 325.134]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1941 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 204.631 230.651 215.5]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1942 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 94.997 230.651 105.866]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1943 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1947 0 obj <<
-/D [1945 0 R /XYZ 90 757.935 null]
->> endobj
-1949 0 obj <<
-/D [1945 0 R /XYZ 90 528.358 null]
->> endobj
-1950 0 obj <<
-/D [1945 0 R /XYZ 90 416.804 null]
->> endobj
-1701 0 obj <<
-/D [1945 0 R /XYZ 90 394.492 null]
->> endobj
-1951 0 obj <<
-/D [1945 0 R /XYZ 90 394.492 null]
->> endobj
-1702 0 obj <<
-/D [1945 0 R /XYZ 90 308.71 null]
->> endobj
-1952 0 obj <<
-/D [1945 0 R /XYZ 90 294.776 null]
->> endobj
-1703 0 obj <<
-/D [1945 0 R /XYZ 90 199.076 null]
->> endobj
-1953 0 obj <<
-/D [1945 0 R /XYZ 90 185.142 null]
->> endobj
-1704 0 obj <<
-/D [1945 0 R /XYZ 90 89.441 null]
->> endobj
-1944 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F11 291 0 R /F70 298 0 R /F65 249 0 R /F84 1406 0 R /F83 1864 0 R /F87 1948 0 R /F81 703 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1963 0 obj <<
-/Length 1761      
-/Filter /FlateDecode
->>
-stream
-x��[o�6���+�6��IeÀ��u
е�S[�M��lɓ�ٯߡH]-���C��$�P�F�s>���m���FϯF?J�(�TW� ā�	J��y�~L0bl2%��&����&]�/�<��W�Me���o&���	��4�L����h�u�o���L23 �s��RM>^����5"`Ha�PH1�֣�q0���#��]1j
p���*x7�m�:C�R4�Aq�P����'�����o�te��s<��\G��u����
�:NL�]���q�o�1�\��Q���8��B��4v|1��
шJ�bг�T�
/R���1��&�{D
�tX>��m��
ɔ���Hn����f"�~~�^�s�)]JīǾ�F�U#��Y��$҄���q�J��bw�
��f+���7H�Ơ)�
I
-��wcߚ|�%[/S4�c�e�D��L�L
-� �
/lB�q�������w��־
-�
��͗���������Sa֛��V��Dj$�*6��=A�M�K�����ҵ�s�N���)lfڛqң�`�p(���`�7a�ĉ�[Ƴ��4����4J�g�̗�3X왱��8�4�b
�v�f�+�,]ov����ƕE�����`=<��"���(��&7����t-���5R8c5‚�'��L7$�WSvU��*J�;66� �׭�Z���7~|Y��edn�0���3a���&�ێ-ߧ�
D��^��w
-ݠ�!�E��}�[�,�S�t�
92�G
t���͏����ys���8�
-���}�*�\��y�	,N(]��K.K�J�n
8R�T�ڦ����m�']H�$��u/?��&�e>�qN�[O)o�s0�
��Ʉ�Q�*�_�����J��J�@f�H �!m�i�Z�*l��)b5'
(����Wu�S��:��r���-�8��H�f���]"�l�SHh僵�-�H�Uj��(D7
ǴlZ�0��#���^�Ec����^u��
��׳>�`�pQ����<С�j�
-�(�4d	ս������u_��\
�;`f�A`+0��ڢ��L�(VW�jY���7�]�������n��ǧ�"v�_
ѿ
�'������>E���E?�C���Rɽ�Ȭ�>�ג�I�����?S�Su����6�s�[(�
-���(q��7Ul�<G�����������N����A��{٬\�s7�_r.�;q�����R��5�'6)

�a�	����
�_���❁���t|
��Fת�
z��������)�x���������Z�_�A��H7R����!����C��8n'ޣ�?��/�������	�Oی�N�MN�z
��F�b<��u:������_�[4��|��=�w�ʳп�Z_
�y����/�C�r�����_��CD듾���S�_á>H�՟D��B����t��?�x�I</��?�
���BM��Np�R���P��m&�vS&eS�'m&�S6T�;?)7艛	�̈́=%������6*Z�ܿM'�
-�-Mf���핝G ����z̊�����:C4ϲ�����e��e�q/C���Qby�͌��z`h'�v��� X
�������&���. K��Dw���;yYHp���Qr��n���H�E�3���ɾ�1�9�k�좕;�@�JWV�]��+�9�d�@�;c|\\0�
ʣ_��[�p]�e�o./.����l�vI��P�_l6���i���!Q�y]�ӸN���)h�
@�D�
-$S�}B�y�d�
-endstream
-endobj
-1962 0 obj <<
-/Type /Page
-/Contents 1963 0 R
-/Resources 1961 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1920 0 R
-/Annots [ 1957 0 R 1958 0 R 1960 0 R ]
->> endobj
-1957 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 541.376 230.651 552.245]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1958 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 290.978 230.651 301.847]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1960 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1964 0 obj <<
-/D [1962 0 R /XYZ 90 757.935 null]
->> endobj
-1965 0 obj <<
-/D [1962 0 R /XYZ 90 733.028 null]
->> endobj
-1749 0 obj <<
-/D [1962 0 R /XYZ 211.842 504.862 null]
->> endobj
-1966 0 obj <<
-/D [1962 0 R /XYZ 90 490.137 null]
->> endobj
-1750 0 obj <<
-/D [1962 0 R /XYZ 211.842 254.464 null]
->> endobj
-1967 0 obj <<
-/D [1962 0 R /XYZ 90 239.74 null]
->> endobj
-1961 0 obj <<
-/Font << /F63 247 0 R /F81 703 0 R /F11 291 0 R /F50 215 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1974 0 obj <<
-/Length 1921      
-/Filter /FlateDecode
->>
-stream
-x��Ym�����B�j1��"�E��!9�%��-�!	Z���ʒ+��m}�"�BY~��"h��%g�3��#�h���ݛǻ�o$�4Ғ��q
i
Œ AI�~���/�x�O�]�/���Y��S�>�I����qN��Oω��|A��͒�r�Ofm�{&_��9�3��?=~�����w�i1������~��
-�?D��Vѱyjq��?�����
���Q�
�"Ŕ!,��l�|Nw�]�A��!�DK��,�˃�O�#��!*Ǥ}(];{�|�E���Q{��7���X�m�$��у���ſ�T�C����ɋ�"��hA��t�mF+;숵f�mk�j��N��ԩ=U���˥1��+�$dvL���x6n	
z�����:+`z_�y�E��-��:��};ܚ��:8�&�;�y_N��ҝ)�I�[S�=Һ�
����?i�C"<���h
#ÄYp�$GS���N�ן�fo=V=k���������#
-�X�v���}>�U����?������S���>#���g
�eam<�]����S�$���A��?D�T�K�mZ]T�X�`lV.�|Y���ϙ;�x�d,a#�=n���E!M�u
��]:۸�zfv���
�r�K��}4!8/j7x.���
ex�.���N��9��c��r+ 4�]J�>�P�QDb:޽4��l2��k�ܠณ)�OY��R�o��H1���b:m>�`
-\�a����	i
-q�N�23�ڍy]
 eVȋ��q*�P9�������
BzN,��ȗ҆D��$w�(��4�������.�MR\�]�*�#�����XLx�=(@!P���f�#�t9'��iB��H�>
-�uK�t
-~�q ���/�&Cѫ)���(=���)lO�ud(=��N��\BP"o�ɝ
-b�9�y�����l<؏A��}���L���BÑ�Q�9Ҫ3b�L���$���H��=����j�`3�
}��bJ
W����`j�@	�&���p���s��{x��N��k�u�gJ��
�
�{`�ѳ�\�uO��0a�D-�lcHsыkv9n���M-W �$C
-�k���Q-�m��vA��6qmS'�7m�+�?���oڬF~�xm
p�=ڞm� *�Fhߙ1'���פLv�6���\/�,4�\�gB���j+F��nllI1
�]��;����8�j	���Ͳ�$����4��
!�����1T:ub~=��'G�Ƅ�\�]Q�mv��ꢆ@�br����8����
t
`�Y
-�� ��4
�r��z]_�@	�:��(��M���J0P-Z
-7l��%j��͖_�L�?�㟣���'
��?c@�S�i�'��|�?��֍0����2��	(%�Py��9<K@�����i
-
-��Nf}�b��N��,�{ˋ�_��
_���MІ��
�E8�,&��T�T�����YK.��9��̃0g�u��q+��̞�i�ub,9�&�pؓVu���l�a�.���l�S~��0���C
�C2��+��E�J�Mۭ�Gc�ъ�3�TgO��	V����w[,A����-b�
�(/��c�r�a�����[N����
j��N��!��ЗA
	�-��$�F�@͡�0��-���|�܆Ć�
�6s�}�t�E�/��Zj���my
��-~s��	_儙M �.�
-����������
ƥ3��O�/�n/��3{�=T*�Aԍ�C�ϟ�	(Cms�t�J�Gd��}a3�_���.�s9�.>$6�
!�|sH6^���6�y���S�L��� �����$sc

�Fٿ���6��|F��"�}o���s�?�v�#ʽ��W�+fۺ�?���G���!O�%J���>�?%��B8����K�]Q��� ���a���h���
�����
-endstream
-endobj
-1973 0 obj <<
-/Type /Page
-/Contents 1974 0 R
-/Resources 1972 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1920 0 R
-/Annots [ 1959 0 R 1968 0 R 1969 0 R 1970 0 R 1971 0 R ]
->> endobj
-1959 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 647.077 230.651 657.946]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1968 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 360.728 230.651 371.597]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1969 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 214.648 230.651 225.517]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1970 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 98.147 230.651 109.016]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1971 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1975 0 obj <<
-/D [1973 0 R /XYZ 90 757.935 null]
->> endobj
-1751 0 obj <<
-/D [1973 0 R /XYZ 192.853 610.949 null]
->> endobj
-1976 0 obj <<
-/D [1973 0 R /XYZ 90 594.914 null]
->> endobj
-1752 0 obj <<
-/D [1973 0 R /XYZ 192.853 324.6 null]
->> endobj
-1977 0 obj <<
-/D [1973 0 R /XYZ 90 308.565 null]
->> endobj
-1753 0 obj <<
-/D [1973 0 R /XYZ 90 205.942 null]
->> endobj
-1978 0 obj <<
-/D [1973 0 R /XYZ 90 191.441 null]
->> endobj
-1754 0 obj <<
-/D [1973 0 R /XYZ 90 89.441 null]
->> endobj
-1972 0 obj <<
-/Font << /F63 247 0 R /F81 703 0 R /F65 249 0 R /F50 215 0 R /F11 291 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1986 0 obj <<
-/Length 1347      
-/Filter /FlateDecode
->>
-stream
-x��Xߏ�6~��[Aj��F��vuW�����zBY0�6$4	���q���J�J}!$q�3�}ߌm�-<����q�~���HK*�����
$A�o<��	F�
|�1��lN�i��4�,���cfϣ������~�
|*p�&����7sS�3�Ԁ=��K=�:��}
���p{�t@(`›�z_�bo��<�C+o[�Zy�2���C�
>
eK�
���*�$,���o�ܢR��`&7i2�71
)���F.Z��dKg�,0X�m��OҢ�o�m�����'E�"aQ�a|9n�F�b���
 �7F�1>�H� &
��܍�7�&K*���q�����2�gQ�p7����
|Q���{3S"!���XFy�T"�I=(LfSLӤ������ E-��q�ԫ�s�L�Q�8�
L�$X-?��45�2)��ǻ�%p���|oͶP$
-XC����d���a
�&?d���$Ť��s����M�/�t at E[�;��)b����(H���PP���0���Ex�Q2MWk �clP�}�D6���:�69%mK�4�MX��*1C�E�j��y
�U�g�@�|B���n���b�p�A�Lp�- ���K����$~>C �e�*59�pT��A����L�D1D4y���v$�E�*�5���!���\֡9a��u�HA6�⹥U�*��u�����P�ì�w�"�%�3�$��

(��R:&{J��:��EM
h�{��/�<'P��$�˭Б�v �D�ߧ��d6��T���$�T ^ؼ)a�m� ���O��-��N��wz����OfQ�g�s�t�l��%@��
-p�y��,�N�
2 �[��� l�O� R����K�P �#@	D��j߆��sB���U��
)
�zK��3k|`�+���0_ޤ3�[ߟ%���c�
V{e�U7���
�s
��H���Ҥ���������vqE�:I��J[ho��|3]�;���&��u���/�ܵk
f�	M8�7��G
R�x��,,�H�n{��
�4b��9����@�PU
=�3�}��R}�r}�|E��f�~1��i�{nTk���*���
-1���듣ufr(�����+]ԤP�(ӯ�?��"��R�=7�M���k�Ѧk�X����in�v9<��
-�+�G���#�
�<�R�
tm��^A�٦�B[�����_
���.���	�_��b.*S�Ia���O8�
A��B�+@
�M�8����#F�R
|�
�����W���W�
�
-�
�Qز(֣�p�ݢi�6I��PT
��xxЭ[�"���4,h�[��qh�� �?��H�?`�d��� ���(
-endstream
-endobj
-1985 0 obj <<
-/Type /Page
-/Contents 1986 0 R
-/Resources 1984 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1920 0 R
-/Annots [ 1979 0 R 1980 0 R 1981 0 R 1982 0 R 1983 0 R ]
->> endobj
-1979 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 644.853 230.651 655.722]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1980 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 539.467 230.651 550.336]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1981 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 410.171 230.651 421.04]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1982 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 280.874 230.651 291.744]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1983 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1987 0 obj <<
-/D [1985 0 R /XYZ 90 757.935 null]
->> endobj
-1988 0 obj <<
-/D [1985 0 R /XYZ 90 733.028 null]
->> endobj
-1755 0 obj <<
-/D [1985 0 R /XYZ 90 635.762 null]
->> endobj
-1989 0 obj <<
-/D [1985 0 R /XYZ 90 621.192 null]
->> endobj
-1756 0 obj <<
-/D [1985 0 R /XYZ 90 518.421 null]
->> endobj
-1990 0 obj <<
-/D [1985 0 R /XYZ 90 503.851 null]
->> endobj
-1757 0 obj <<
-/D [1985 0 R /XYZ 90 389.125 null]
->> endobj
-1991 0 obj <<
-/D [1985 0 R /XYZ 90 374.554 null]
->> endobj
-1758 0 obj <<
-/D [1985 0 R /XYZ 90 259.828 null]
->> endobj
-1992 0 obj <<
-/D [1985 0 R /XYZ 90 245.258 null]
->> endobj
-1759 0 obj <<
-/D [1985 0 R /XYZ 431.18 194.542 null]
->> endobj
-1993 0 obj <<
-/D [1985 0 R /XYZ 90 178.437 null]
->> endobj
-1807 0 obj <<
-/D [1985 0 R /XYZ 218.507 127.098 null]
->> endobj
-1984 0 obj <<
-/Font << /F63 247 0 R /F81 703 0 R /F50 215 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2002 0 obj <<
-/Length 1576      
-/Filter /FlateDecode
->>
-stream
-x��XM��F��Wp�T���0{s\v�NR������b+Q�@dY���a��H��޸r�`�t��~�V~����\��,�HK*��}�q�$A��`�
>L	F���c<�E�6����:Y��&�+��x}}3�x�g$���lN���Dei/�%�I�,���q��T�����ɫ���	�p at j�B�� �N>|������C�kp��{���>���
a):� ��teQ���~2�����ӥ�{B����ry�YYQ�U���X���{�:$
'�f����>�v�G�� ��#pgϜi����($)��_,�.�����h���f�w k-̑���wx��
�
Un�Vk�hy,�d{����`�hJ#'��
8�J�1���i���.�4K��4[��*�r��
��.æ�z�ϩ�HsI��17Ũ��I��g�5�%��Ha
�	�f�^`�M\���~�U��]
���^ݹ�P��+�o�* ���!MNi�
1���Y�]���
'�*��ѵtQ�
o�;�7,	g�M6����&]޾(V�m�U����d�
�@���"�Q1= �O�N�C��~%� �H���e�:����Q*.5'!H�S"�"�V�
X-_
�i��
0��&�A�1c*#�����	�e
-�����C4@[@IHB��9P�P=Vg8�c��`s�o8xU��1
7k9��W���x5��F>Fœ�R�N#>��=}"�
0M��y�1�e����
QN
Ӹ͞�s� ;3$�~�Oq����̈�~��jsl8y�
M����у�)�<�L($�~�>e���:�<�5ˣB�(�M���u&%D^N� AE=:1f�iʇQ�ƈI�B
�e0����x��R��vE���o,;&�i�ve�~�%����D� gR4m��E��3 �e�dR h	�S`x�aRt(PC5|�
-�=_����`�	i
{o%��F�������j=N������נrѥGX��V�n�_��B�
r��ܯ �=�
-��9��G
'�a·Njs�`Ub\�2.��+��)�.�V�Z�P�o�\IO����+Lz�^��
-�*{����BVs(��y8�c��Aǒ�:th�p&�L
�0WchpO�tDD/����ސ1n�Ѭ�af���!7rL�c�9_�\���K�B��Q����K�
m����j���V=�ېܼZ]�fX��;�mM'��M��Nh��0os
�
���r
ǔ���IQk�RK����pP'ُ@X=k�ܹ
��5;<=[�<6���I�F�S?������
侺����
��h��2�G�#
-���3���@�@�T�3
-bp�@A�����z�I�T
����t*C;>���]+��w��O�J�
-{e��Ͱ
�l�
S:�3�m��Y˟R�A-�Wd�����{iӔ6
�{i��3�uЍ�،
w��
{��

��md&�'Sr��([�3�(���٠��2)~��Tr@�e�hӾ��dN�H�����Vf�<<}�$
�_As�ˤ�v" =����]_]
�h������n��z�4��[��~ߤl���D�
XP���;l�F�y�7�]w
-endstream
-endobj
-2001 0 obj <<
-/Type /Page
-/Contents 2002 0 R
-/Resources 2000 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1920 0 R
-/Annots [ 1994 0 R 1995 0 R 1996 0 R 1997 0 R 1999 0 R ]
->> endobj
-1994 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 613.107 230.651 623.976]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1995 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 483.81 230.651 494.68]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1996 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 310.813 230.651 321.682]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1997 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 125.86 230.651 136.729]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1999 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2003 0 obj <<
-/D [2001 0 R /XYZ 90 757.935 null]
->> endobj
-2004 0 obj <<
-/D [2001 0 R /XYZ 90 733.028 null]
->> endobj
-1808 0 obj <<
-/D [2001 0 R /XYZ 90 592.061 null]
->> endobj
-2005 0 obj <<
-/D [2001 0 R /XYZ 90 577.49 null]
->> endobj
-1809 0 obj <<
-/D [2001 0 R /XYZ 90 462.764 null]
->> endobj
-2006 0 obj <<
-/D [2001 0 R /XYZ 90 448.194 null]
->> endobj
-1810 0 obj <<
-/D [2001 0 R /XYZ 90 289.767 null]
->> endobj
-2007 0 obj <<
-/D [2001 0 R /XYZ 90 275.196 null]
->> endobj
-1811 0 obj <<
-/D [2001 0 R /XYZ 90 104.814 null]
->> endobj
-2000 0 obj <<
-/Font << /F63 247 0 R /F81 703 0 R /F50 215 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2015 0 obj <<
-/Length 1300      
-/Filter /FlateDecode
->>
-stream
-x��XK��6��+�+,z[b�f�Nnۙ4���
�
<��&���
Y��`��&әl0������s$��=����y�����HK*������%A�o4�>v	F���c�]�*���nN�`���� �
��{w�t��n��T���e�e��p��x�<�����y��y3���!��H���τ7Yu>~���<�C+o[�Zy�2x.���
|�����D�΢8ȣ
��/�ԢR��I45#y��á5��4��(_�'I��iŹ�	
����o9P{}B�N�]R��#k}� �F�5}��O|$)�K��B��>&��غ��d����Ϋ���t��Iç�R���:�4�dq"�
�(k
-QԄ��"m�q?r�L�����&�����I��#�mX�\=M�s����Z`�B>� ]W�y�8$O����W�|�
-�|\~��;Gv*���9Z�I����(�58�S�$��0�8.���
-���W�6HC+t��X܏�I�Z���!jH�>U�EB~b�}}K�KN�,9aw��<�X*2�
,a�o�.Q(����S�R���M�
�j����T�!��s��7�	��T
+XO?�	.�+X��� +y��o����J��7�Yh���T����Q�^E�;�Ѭ�OQB렪�wY
� �|DdU����Z_��H� +n�l����m��&3�e��|�׀�:
S,�p�:���4X�y����
-aA
nE$�aIp� 9�3���M:�����3�i��
e�SC㈸G3
-<��`�:K6�E"U��
-�<�9��JZX���"
_Y�
��ŜcE���5ERW�8o����h�`��O�3/�F��E�9ѹ�0���=x�E��|	^��'F(c�ڙ���o���9?�;2#�N+��oc�+ �,j�D�P#o�FF�E3��!� I���a
dY4��C�
WS�
�	t���w�r��/^�@�He!����W�BY���s�VvS�K$
�~v>���E�)��
-�
�
��$�,s��sI����X�9�'�y��*�N/
(�9gR��	A�6B���R(��R(5�aΆz	,T��Zy�L��WIj�c}	B��d���LJ7
�K(|R]{
\\�!�[�)w
, �����2
-J���q�=���o�s��!0<�ńg�:�!c�N�;��YQ�'n
-��]���&X�������xK�b���nq�y
C�댿���_;E4+��@��]y�
��M2���u��|�^/�mC%�@s쓒g&��4��d>A��|�D������d�I
�jP,�
-endstream
-endobj
-2014 0 obj <<
-/Type /Page
-/Contents 2015 0 R
-/Resources 2013 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2022 0 R
-/Annots [ 1998 0 R 2008 0 R 2009 0 R 2010 0 R 2011 0 R 2012 0 R ]
->> endobj
-1998 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 646.614 230.651 657.483]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2008 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 533.112 230.651 543.981]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2009 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 377.67 230.651 388.539]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2010 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 222.228 230.651 233.097]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2011 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 108.726 230.651 119.595]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2012 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2016 0 obj <<
-/D [2014 0 R /XYZ 90 757.935 null]
->> endobj
-2017 0 obj <<
-/D [2014 0 R /XYZ 90 733.028 null]
->> endobj
-1812 0 obj <<
-/D [2014 0 R /XYZ 90 639.284 null]
->> endobj
-2018 0 obj <<
-/D [2014 0 R /XYZ 90 625.031 null]
->> endobj
-1813 0 obj <<
-/D [2014 0 R /XYZ 90 525.783 null]
->> endobj
-2019 0 obj <<
-/D [2014 0 R /XYZ 90 511.529 null]
->> endobj
-1814 0 obj <<
-/D [2014 0 R /XYZ 90 370.341 null]
->> endobj
-2020 0 obj <<
-/D [2014 0 R /XYZ 90 356.087 null]
->> endobj
-1815 0 obj <<
-/D [2014 0 R /XYZ 90 214.898 null]
->> endobj
-2021 0 obj <<
-/D [2014 0 R /XYZ 90 200.645 null]
->> endobj
-1816 0 obj <<
-/D [2014 0 R /XYZ 90 89.441 null]
->> endobj
-2013 0 obj <<
-/Font << /F63 247 0 R /F81 703 0 R /F50 215 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2031 0 obj <<
-/Length 1640      
-/Filter /FlateDecode
->>
-stream
-x��Y[��F~�W�� �{�j��S%U�TJ�Ӿ$�
��/��!��w��
s�$Q*Ey�Y��|3�͌����ޯ�_nG7/�E(
-h��.�{a@��Ļ]x��#�&>��3��j����Z/r5ۘ�\����̈́�q}{B�8M&>x�l���]��K]����y�3>��������?#
-a�T
-��Lx�x��#�p��zD��U�b�S����~��ā1�"*j�U�	��{�jq���,�J>���t�e:�ݥ�d1��*q"?`�0�o^Hr�0�|BP$j}�nK�&����L�
���n�OBP�>��Q��dq(�#*[����i�8&�&�V����|w�.�	%�4|�1
-�
-"�a+h? E�(��T�Z,G��$�� ̨@L�'���4iRL{�v�6`�U
�o�Ԟ;�D!���Χ/�	��S��=�W�X'�=i�#��u1p���	�
���5C��	N.�D������C cѢ�r��*SH�t��M2O�
�nS����{a �P�Xp�����������Y�F ��(�3yO1>�{�8��Nfy�nm�[9W�>�
1L������@�T|����=�s��z��x��"�p*;��
4�
2�1����
>�ظm�.��vS�kS������V�*)�^�h;Z��Mbb�^<�GK��}W|Ģ#B
-�#‐��Q�T��3�QYѱ�r=�}9�I�	�-:���������IV���ą#$Eט ���p�p.t���;]�N,a��e_��a@�2�A.�9��sSN@��n�J��Q�R�8ۘ�~�- �f��ݧ��k��s5�h
"~�s�%�"���ǜ#�YΉ���!m�P
�H�:c�K?sMO��{G@�����t��D8�{�@.
�*�Q���)�N��L�-QJ:�td�^���K�X�_.��
�V�RmI�Q`�=S4���<ы'��*�vQ�3"���
-ʼ �L�.�i�t���I .P$v�A��9AFgZ���@�<v TK�܉��X�����DP0ʚ;4ж�W��Mto}���#Q�8�M�Uᔹٴ(� �J��zQ���J�iw�/ �g��,���!F��:Ia�Qe:$_P$�p;���6i!9G�P�Α{��h(Epy����\U͵���t�
��
��$���KSnģG�M��7k���d�M��U��̕X�[��a_�{C�a_���==:
�����������:�gH���E�׶:U%����C5
-�S������$T��*
-��b�~%yc�C�*ֶHMϰ�p� ��s����K���E���7�����	��8򣭟�����z@���H��)~��#�d��s�P�<�N�I�`敗z����?�h}�S�
F�9}�5!?�������ݳ�$�Z����(�5�;]�W���"���]
l��	IJm?����	 �y�?2�?1�t&�
��h˅�G������Z/��ꖯ]�u�W�Z�z��JV۪���K��9C���?���i"ĸ���U�m ����![\1�����;�k\
{��o��A:� 
-!-m��2����v;4/�61Y�Ly�e������0!im�J���͐ ��QBx�4ml��Y�ď��
-endstream
-endobj
-2030 0 obj <<
-/Type /Page
-/Contents 2031 0 R
-/Resources 2029 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2022 0 R
-/Annots [ 2023 0 R 2024 0 R 2025 0 R 2026 0 R 2028 0 R ]
->> endobj
-2023 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 645.122 230.651 655.992]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2024 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 528.369 230.651 539.238]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2025 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 399.66 230.651 410.529]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2026 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 258.996 230.651 269.865]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2028 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2032 0 obj <<
-/D [2030 0 R /XYZ 90 757.935 null]
->> endobj
-2033 0 obj <<
-/D [2030 0 R /XYZ 90 733.028 null]
->> endobj
-1817 0 obj <<
-/D [2030 0 R /XYZ 90 624.346 null]
->> endobj
-2034 0 obj <<
-/D [2030 0 R /XYZ 90 609.824 null]
->> endobj
-1818 0 obj <<
-/D [2030 0 R /XYZ 90 507.592 null]
->> endobj
-2035 0 obj <<
-/D [2030 0 R /XYZ 90 493.07 null]
->> endobj
-1819 0 obj <<
-/D [2030 0 R /XYZ 90 378.883 null]
->> endobj
-2036 0 obj <<
-/D [2030 0 R /XYZ 90 364.361 null]
->> endobj
-1820 0 obj <<
-/D [2030 0 R /XYZ 90 238.219 null]
->> endobj
-2037 0 obj <<
-/D [2030 0 R /XYZ 90 223.697 null]
->> endobj
-2029 0 obj <<
-/Font << /F63 247 0 R /F81 703 0 R /F50 215 0 R /F65 249 0 R /F70 298 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2044 0 obj <<
-/Length 1987      
-/Filter /FlateDecode
->>
-stream
-x��ZIo�F��W�V	�Ƴ�� 	��@���$�AK�DT�X������Y�
Mj��(r1
�2o���q�
p�r�����dA�"Iep�"
(I��$���#�&S�1
�q�������*���:�)������	�c�zB��6�L���g�x����Eb~K�Y�8g|����������#��B��`�}���9�
�
QܙU��S�u�~��;g�Sa�0恢ɭc�?ϒ�L����ѕb�)�άw/AhHZBI���)�WBX���	���x�ί���&���ZS��������q��Z�	�;�QI�q��B�=����-��'�$�n�,.��]��WaJ���Ί�'5�>�J��I����M>�}
-FDEբ8��ȡI��5�
-�8*�H�`�A
�w���<����O�l���q�ެ�y�#}����(�ڔ۸�%0�7!I]Fg��������SY��,��
�
�� ���ĴS{�CL�`�	�mU-��aW���@j�?`����oӹ}:��//��G�i�\綦�M�tR?b���D"��:�f�r8V���ަ{��[4��<���	ajN�^��ޤYPeΖ�ΕZGk���~��ZCD%m�Nl޳mb���P�=��@a4X~�|A��j��W�'�S�#*~*$�kXO��e��B1.�}} Z�T�2
-z+g�" �5!	��n(�B�
��[ǔ��N��ͩ���lgxPD9��}6�Ibwae
���>��k^o�<O��}�����E� �đ@����{_;l�p�E��~�J&D�!�\�����R�e2�/n��	�=�xappL7^l�N�R �4i�
�n��


-�
-�C��[�qo�2)�l�L�i",���y�
�4��u`/�捎��ޭ��ʽ�V{4o�bU5���fW��L�?wL�:ۦD��o�h���{�d %
-�j����aC�Rk��M�!{�	�������,���4����w��[h�"���J����~]��`�w�n��3YI;�O�o�� E�)�����!E�A�d )�P������
�x���z~]#F���"��wT4��TT����Y�\ Cȱ(��D�~X	���k��$�-���'B�Edz�� m�i��`L����(��ɶSA
��(���
xcb ��Ѧ?�ܵtP0�� x
�u�U -Y��$%���DG��*�j��u��E����
�x(���?2�z~���P*Bp�܄�Vb�N�QI[[-
- 
j �(�g
-�D��d�X��D��>n8�D�qŪ���!� NVH�(U@ C[��m�ڑH���T�*��8�(<u8
-A$�tY� Ԓ�O�7�g5���!8
r�BX@�:�J�nظ���t�NO���|
�-Rt
<�O@�
����CV3�C�lP���,q��vbx�����sd�#1~�#�<'�5
?:�vp�F�A��6��
7xס"zѢ�)��Z��_h(j�;��m�Y������5�l󩃣�tz�|Gb�DR��滞��p �s
-�O6B�p
-�A�%6TYb3�'B�1�Ëݎ� 9���'}ЖP��ЗH �.x�U����������B�
��2���Ӵ#<�8�G!N��t�9i&	����1'`6-�OcN�Y���&P���N�*�m��Y��?H�IU���UG��C���������!<J���(r���z�C
-�O���
�r��k?����T��S�G8�Z��T⁜J
�T�+i-�IHƩ�(��>�:̩ QՀ^
�Tp�<�T�aR��QK��養RE��0T��I��PdzH��A������'�
1t����d��� J\�q魶A�~�X���Ƃ ��:�H�F��
g˽����*�D�\�BB�⧉c�~��}�)4@���!�j���
j�a3���݌����ב��T@/#uѮ�2������C�
�gi^��������з��*�|]T��l�g��[����Qu��IHԍ㿲-c
-endstream
-endobj
-2043 0 obj <<
-/Type /Page
-/Contents 2044 0 R
-/Resources 2042 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2022 0 R
-/Annots [ 2027 0 R 2038 0 R 2039 0 R 2041 0 R ]
->> endobj
-2027 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 703.18 230.651 714.049]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2038 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 488.591 230.651 499.46]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2039 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 243.289 230.651 254.159]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2041 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2045 0 obj <<
-/D [2043 0 R /XYZ 90 757.935 null]
->> endobj
-1821 0 obj <<
-/D [2043 0 R /XYZ 90 682.698 null]
->> endobj
-2046 0 obj <<
-/D [2043 0 R /XYZ 90 668.229 null]
->> endobj
-1867 0 obj <<
-/D [2043 0 R /XYZ 90 468.109 null]
->> endobj
-2047 0 obj <<
-/D [2043 0 R /XYZ 90 453.64 null]
->> endobj
-1868 0 obj <<
-/D [2043 0 R /XYZ 90 222.807 null]
->> endobj
-2048 0 obj <<
-/D [2043 0 R /XYZ 90 208.339 null]
->> endobj
-2042 0 obj <<
-/Font << /F63 247 0 R /F81 703 0 R /F50 215 0 R /F65 249 0 R /F70 298 0 R /F7 966 0 R /F23 216 0 R /F8 300 0 R /F13 965 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2056 0 obj <<
-/Length 1898      
-/Filter /FlateDecode
->>
-stream
-x��ZKs�6��W�Vi&��&��L�I��K���$qJ�*E�q~}>@��3��$��X�~�
l
�<��zr�F� F��2�^1BI��$�^�#�fs�1��r�,�Ev�U�2Yd�M�����W3�����D�"�ͩ��WYr8��{�V�ʗ
-�q��4�O��&��'�L8�b
!
-�����O8X��w�G���
8e�̂��'؁�]P�"
��!,�Ev�Y����xPO�x#pg
�P�|1���bɏ;U&UQ�n��Ϫ�~���vS
�U�ol/YϨ���1��P5#b
-^��!-�{�x �Λ9(�֥�ʋ]�_
��)B��`��#/�ݮȡE�;�Y4��u���e�Fq�J;#�W�����-l3ƒ�����;�~�� X��� ��X��`l���4�����+��.����R�^���O�z�$;�M'.�m�w
�
#I� �#�c����K��>
.���S�o�q����	
 �S�bz��88�d�j�x�J����P�bs
���|�
��4]k#�Ot�p
-
4SzQԳ/#$��I����iO�-]'F�u-ko\o
Αl��8��أ)�d�C��	�x�$qqa
?�t�.E$��f�j
�Oׁ��ԃ�҅�*��Ա=Os�b��Jo2����;FCLF���d
ňS�LtZ*\�'�q�'˾;M�XR���9�
Ť���
� C��(#"��D�b��[z���!�l�HW�~M���ܨ
rr�~Q�E���f�3����YL��D�qܻ���f�=t@4��b6X׶,ѷu��~wSd�#�;�Re��݀qnB��Ms�����~��9�F����zr{-|�#D%��Pfǖ�N����@Q<�,<�����z14g�^C�9	!ͺZ��ml-��U1�MtM��h�p���5�BA7�_pĠ�<�v�-8ڢ�VjY5����Y�5B6�
�ؘ��53�JG��
%�D��	k�X8u����c8Q�^�΄���
�*D�"���!I\�c7�{����(4#2�^8D
�&!�G�s?�|^ǥ�9^@9a�?��`و7��й%�8�
S �Da
�9�r�o��L*LI��}�۪R
l
-����m��l�_�!�c���
;,�C�Iڦ
K�T�t�x?X
$��
J$>q�+���G��t<�se�S��T���3Fn"���K���E'#zB�3�v�lk��٦t��\�%�a�ݩc��>���s�˸�-
P�N0

����tW>'V�2SξZ���f��v?M�8�,
�T͢I��O�

H?�z����nY@���o|@���"��0�<�����o�jǨzy������I�Qq�8R P��S�Y�BtKG�d#�ZB�Sb��Z�H�$�aA �B�Rh�#�
�J�H1~�S	����1�@��v���J ��kT�6�ؾS	�MG%�W��ϒ0(��
�
�AZ:�k5��Ee?ڃ�ʫE�w�
T�w��x��6�5)o��t0,�Wި�#��_+��L��xE�S�Nm�TؓS|DNQ�;rJ��.�� qTZ��*��=5"��&���}VZ�\iI
��:�%zJ�r9���IVg���Z�f	�BZG���>
G�1O|��-6b�yo��bK���A��'�bˬqFlI��[r\l	P�Ԋ-yNlI�#iĖx��b���b�dB�Vl�Ėx[�b�?(��w�����Ė|[ߏ��b�Yl���Ɲ��A�PYe����`h���&0!b$��+C>A��n-�l�W��l�]����d�s�o��ZC�m|����w�?��a&��m�o [...]
-�? �lv4��P��݌������
R��
-�h���t[U�ˋ���;�<�c��K�V�}vqZz:
�p�&��u����,��!Lr�9�a���9�
���
-endstream
-endobj
-2055 0 obj <<
-/Type /Page
-/Contents 2056 0 R
-/Resources 2054 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2022 0 R
-/Annots [ 2040 0 R 2049 0 R 2050 0 R 2059 0 R 2051 0 R 2052 0 R 2061 0 R 2053 0 R ]
->> endobj
-2040 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 646.537 230.651 657.406]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2049 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 402.182 230.651 413.051]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2050 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 390.102 513.996 401.006]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-2059 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 378.147 176.565 389.051]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-2051 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 145.872 230.651 156.741]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2052 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 133.792 513.996 144.696]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-2061 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 121.837 176.565 132.741]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-2053 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2057 0 obj <<
-/D [2055 0 R /XYZ 90 757.935 null]
->> endobj
-1869 0 obj <<
-/D [2055 0 R /XYZ 90 625.491 null]
->> endobj
-2058 0 obj <<
-/D [2055 0 R /XYZ 90 610.921 null]
->> endobj
-1870 0 obj <<
-/D [2055 0 R /XYZ 90 369.181 null]
->> endobj
-2060 0 obj <<
-/D [2055 0 R /XYZ 90 354.61 null]
->> endobj
-1871 0 obj <<
-/D [2055 0 R /XYZ 90 112.871 null]
->> endobj
-2054 0 obj <<
-/Font << /F63 247 0 R /F81 703 0 R /F50 215 0 R /F65 249 0 R /F70 298 0 R /F8 300 0 R /F13 965 0 R /F11 291 0 R /F7 966 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2072 0 obj <<
-/Length 1757      
-/Filter /FlateDecode
->>
-stream
-x��YM��6��W�V���&�=�AR$m�m��%	
�M�Beٕ��l}�"m}X�w�M���آD
�3o�<I8X8�q�����dA�"Iep�"
(I��$���C�c�	���8_���&�_�y
O��&����˫1š?=&:�d�	8|��E�ߚ����lf�
猇J�?^���
�9"�H�PH1�֣�q0��o�#�����8e��F�����P���� ���;��2
��p�R��`�������\���q��e��x�c��i�����ܜ�"�����9�L�O_~ں�E���4i�EKĹ 
՝�psZ�%��s��'�ȧ��M6}w��٤}�!DT�o�MZܯ{�S��
�u?�HD�a�~�!7�)��ܘ3a�I)9R!I���
�]fj\������8G����r�=ƩDL�s����W
n=�E?��.)W�`n��������8
�iA	$��2�
-���):����̓C�_c�T�A�3�
:�H�c`H)�=�(�G|]�g5s,��4�4f�1�*��Y� ���Њ��Iـ�:ܭLnz�f���ֲm�)���s��	dno��?PW��]5*\U��e�yx���`�@��WZ-��@��+�XqOk�"�	�g*'� �,
�<^����e�@m�U�D#�#������-���n^���E�Vq�Q$s IE
H6�Y 
G�wVl99�KND��n�
e@�Gn����╙��g�U�x�d������2�[px�if�v�Pp�6_���v
Q]��1�V	d3�>ϗ�k����J�k�X0�:��O��;�AJ�a��'n��9v�^�I���
�	�h8I�P�[��Mj�Z��+���̔�2%U�s6yo�CK�Nܑ�� @���vj��p�
-F2��n��N�M�����_��=�+���қz��
�:(�dV�(�Q
-�K�!�ԍ��;9����ᗫ;/|����&�DW�i1(�"
�WbJ���@�{��e�ГD
{�y���~���|���.����*O+=������9��P�僕�
VzQ"�ғ畞�)��R/�Ro�"���UvZ�E�K>O�������@��I�
��>\݉^݉�Pw���/�w�У
��(<�u
��<� }Ǿ�'�wjH�Q%���*�8}w
(���8ɦ�6���aC���qD�����X��Q�@x��H�SDb��� z��-�
7�ZB(�H�ݧI6�KD��Jh-%(�j��
-�T��A�+���ZQ�d��b�[?�9��<�f��E�5��¸��I��CU9 �ܦ�?٧(Aj0}v�
�/�NS9RX|����q�q��Ƶ=
֡�
-)�U�KR/�n��F���������y��Mr�#Ny�
�M٦��D�� ���!�lC�(?�LD?��!�Ś6����i��Pm1}g�
��
\?n�7f�kO�{�{����4v�;�
,Y4����a��`x ��4�DH?� Ve���������W��W`a��{h�S�,u|��!)t;����i��P>�^k�dFt
�U��g�^\�~��\nO�r9�������gJ	�+�C�RV_'a��QL�	�;�|U=�C1�ᾢ��gWVn�&��ugij9Ζ��5�^g�QU{ٓ�o�ɿ
z
�%�ncO�����І􃡢�e�@���w����`��~U!��H�D�
��,�����
-t�%�
%��v�^
���;	 �"
,�����7��KA[e2����8��`�*��<�
|���
-endstream
-endobj
-2071 0 obj <<
-/Type /Page
-/Contents 2072 0 R
-/Resources 2070 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2022 0 R
-/Annots [ 2062 0 R 2063 0 R 2064 0 R 2065 0 R 2066 0 R 2069 0 R ]
->> endobj
-2062 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 557.974 230.651 568.844]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2063 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.086 545.895 230.642 556.799]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-2064 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 342.077 230.651 352.946]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2065 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.086 329.997 230.642 340.901]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-2066 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 169.827 230.651 180.696]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2069 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2073 0 obj <<
-/D [2071 0 R /XYZ 90 757.935 null]
->> endobj
-2074 0 obj <<
-/D [2071 0 R /XYZ 90 733.028 null]
->> endobj
-1872 0 obj <<
-/D [2071 0 R /XYZ 90 537.164 null]
->> endobj
-2075 0 obj <<
-/D [2071 0 R /XYZ 90 522.636 null]
->> endobj
-1873 0 obj <<
-/D [2071 0 R /XYZ 90 321.266 null]
->> endobj
-2076 0 obj <<
-/D [2071 0 R /XYZ 90 306.738 null]
->> endobj
-1874 0 obj <<
-/D [2071 0 R /XYZ 90 160.972 null]
->> endobj
-2077 0 obj <<
-/D [2071 0 R /XYZ 90 146.444 null]
->> endobj
-2070 0 obj <<
-/Font << /F63 247 0 R /F81 703 0 R /F50 215 0 R /F65 249 0 R /F70 298 0 R /F8 300 0 R /F13 965 0 R /F11 291 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2085 0 obj <<
-/Length 1746      
-/Filter /FlateDecode
->>
-stream
-x��Yێ�6}�W�6P�$ERҶ(�)�6�H�m_���-��F�
I^���Eו��6A���.�sf��!;;?M��N/��(T8�wN�
O�)qn#�ݔ`亳9�O�a�
��,9me���$^�a~��z=�xjψ?��ٜr<�1	��\��wR���Z�=�\6��������������C���<�;����{�D��Ɓu�sԣv�.�&���ol���N�˜9
�f
{=#x��N�2/��B��/|�2C|�����/�Ԙ)��J.�:K�2�TF
S�
��% �o��ۭ4��4ٝ}���]�dZ���6�c�q����
�Yꭣ�Ȝ@`1�C���<�����4�	P���z3<����t���>L�hy�o�L���4{3a
t�-hy6�|z@\�a|����5����Rn��
��u ൶Uc=���>,�U"ͻc\n�U��G*Z귄8G� 9�` ��1#�7��P�k�
`y
q�JI�Z��K�K[;��d�����}��Oj�uV�r� [...]
-q���H�h�rU.�q���C�jI{O�U��X_?)�,7y�&o���[3臺F�E�x�@�4�샦Z]�0\�c���
s(��Gnej����i�	/�N�-�	��
/E
-�؄��B�BT[4�Q/�a�|ݤ�H&��Β�m<H�Yg4
�B
4ة��O��Q��!��漏����&(k�=�M|�눆�4�*3(�ls���*��o#�L��P&�������
�pG��#�B�K#.4U=E\�po�]�(\��Ӌ�X�u!s}������	~_
D����:nS�- Vh
�ظ�oi��R��o��m��������gX��
(%���N)��R
-m��O�}$:����lb� �
�]�������O$�0��z����XKCm��izt��G�U:�zΐ����B]Ph=����A���.��/�G��*iƏ�F@����~�<0J>���b��Fv���S�تfR��4�)��2�]��ꓚZ���3}�
SFga\P�
vcBA��H>��=�d�)���y��O�
؄�F�w8Te|gt&xZo�:��ě��pr���ar*�l��w�W�sf����u���㭝�I��5a�� � B
D���<������m�;�0nJ/�ԧE#%N �9}�
���jy���"�����S�U��:	��
�o
;���
��i�σ5}F��sҬl1����3�f�
]�<p��#t}d�@=x�o���9���k��L���(s�ʤ���ima��0�
5���;M�̿2�f���B�k�
¤I+Dޜ�c��ƌ��B����W
��ꗉN��E����5۲�_-���
tH�}��r����>�X!:>������.˥�W� Ќ�H�A���P��8�
��w

-endstream
-endobj
-2084 0 obj <<
-/Type /Page
-/Contents 2085 0 R
-/Resources 2083 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2022 0 R
-/Annots [ 2067 0 R 2068 0 R 2078 0 R 2079 0 R 2080 0 R 2082 0 R ]
->> endobj
-2067 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 659.479 230.651 670.348]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2068 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.809 659.354 513.996 690.323]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-2078 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 458.586 230.651 469.455]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2079 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 341.244 230.651 352.114]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2080 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 182.224 212.778 193.093]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
->> endobj
-2082 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2086 0 obj <<
-/D [2084 0 R /XYZ 90 757.935 null]
->> endobj
-1875 0 obj <<
-/D [2084 0 R /XYZ 90 638.433 null]
->> endobj
-2087 0 obj <<
-/D [2084 0 R /XYZ 90 623.862 null]
->> endobj
-1876 0 obj <<
-/D [2084 0 R /XYZ 90 437.54 null]
->> endobj
-2088 0 obj <<
-/D [2084 0 R /XYZ 90 422.969 null]
->> endobj
-1877 0 obj <<
-/D [2084 0 R /XYZ 90 332.154 null]
->> endobj
-2089 0 obj <<
-/D [2084 0 R /XYZ 90 317.583 null]
->> endobj
-1878 0 obj <<
-/D [2084 0 R /XYZ 90 161.801 null]
->> endobj
-2090 0 obj <<
-/D [2084 0 R /XYZ 90 147.231 null]
->> endobj
-2083 0 obj <<
-/Font << /F63 247 0 R /F81 703 0 R /F50 215 0 R /F65 249 0 R /F11 291 0 R /F70 298 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2101 0 obj <<
-/Length 1685      
-/Filter /FlateDecode
->>
-stream
-x��YKs�6��W�Vi�����L�I�Τ��K���",��H�����wA�A�r<�;Ӄ��%���ow!
�"
�6��jr�R�H#-���n"�#%	�DWi�qJ0bl6'��.)��bWl��&-��&�.�������=#��gs*���&����;sc�1�/
���R��W�'/�&�LlG�ހPH1-����q�����C�ѱ���8ep�D�'N�W�*k�1���H�{;#x����T��_��K�x��#�u4�+ԉ�
/^
-�]@A��z���8,������w�N����Y�{��]�4E��Z�A��hN9�r}�uiv�6���\y�ߍ+
��tBߘ|U�/ʲ(�F 
�`
-qB�,fTL��_��f
&��Y���@E�Y��3�n�o݌�1b����Z�� 
��a�h}�8lR7�L{�F��_r;#bj�UQ��Ik� $%�Z�
��ۂ�� !���;�
7��v��E��E���Ȁބ
-����A���i�;�(�M��I�Y<n�?P�a��,uO����e�/�ʀT� 6�V�B�V�ި�
8 'Q�jv7�G��	# �9x��mxh$�v���;:�}�p�h�
-���~@8
��4ɸ9*�GR��y����@���>y:������T���$O�I+�8�
ҧ	?{��/��x����އ��2�bz��(��SҖ��W���_'�,]<+W����pj���b0d&N��?1S���[!�i�B�X�ͳ|Ylw�q��z�> �R�0<�f��&\`B9�/�`�_u(���(;Xեl��)��ڔj�v�پO����X!�hH����$0B�Ɛ�	!n>B�+�anx��nW�m��о^�+�����f��f	��~��T�.9?h�X\�EY�I�� P�J?D�Ud2'
-I�7�.�Y*�l�2M)f��'���r�_rS�ޚ�<hʹ�]��e�T��B9�P�Hy�L݃՚�-�D�
�0#�4���'�6
�eQ�f�+��
*܎	
����xO��ǐj����F�R
CB<X�)�&j+��8�n�UkwW���mY�՗9�~��#���%�
�bs��$��,o�0"ޘ"��r�PG��R���1-Ѻ�}��V�0-w
�'Z=����:[�M��t�)�v)�Lps��:.��
�����1�Ј?@� �o����2�y	��~S�%����T�U@(�M����<5gǬ�wx�N,�N~o3C)]3D�b�K�f$0BOTX<3�t
��(A	s�-������O[
s:Z
S
:�U�*ҥ++yU(�pf���9�4ևѓY��6
-\�!FzT4F�
iB�R��cM�
a�U�A�~$���;��t���˱��1�mR(F@���
-Pc�w�#�
�€�y�c׈��
�x$����E����gC��hY첦l���窗�fM�x˦-�a)h�ٷ1:/�c
F�n4����ޫom�7N�]��Xe��d��K	v�?.��	��O���aP�K��y
�����{kS��B�؄�{|���=����⇓|uHV^ԫ
�sS�Q���)��#��H�C�[�.Q�'x0p!�6V���ޛ��r`|����'�7�T�B����ߺ�v���-��g�e��n����')�@v:U7M��-J�sc}@
]
8�� d9L�֭;���__>?
-endstream
-endobj
-2100 0 obj <<
-/Type /Page
-/Contents 2101 0 R
-/Resources 2099 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2107 0 R
-/Annots [ 2081 0 R 2091 0 R 2092 0 R 2093 0 R 2094 0 R 2095 0 R 2096 0 R 2098 0 R ]
->> endobj
-2081 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 660.541 212.778 671.41]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
->> endobj
-2091 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 533.56 230.651 544.429]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2092 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 518.045 212.778 528.914]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
->> endobj
-2093 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.708 392.842 250.895 421.908]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-2094 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 348.424 230.651 359.294]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2095 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.809 348.3 513.996 379.269]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-2096 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 211.491 230.651 222.36]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2098 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2102 0 obj <<
-/D [2100 0 R /XYZ 90 757.935 null]
->> endobj
-1921 0 obj <<
-/D [2100 0 R /XYZ 90 641.18 null]
->> endobj
-2103 0 obj <<
-/D [2100 0 R /XYZ 90 626.8 null]
->> endobj
-1922 0 obj <<
-/D [2100 0 R /XYZ 90 498.683 null]
->> endobj
-2104 0 obj <<
-/D [2100 0 R /XYZ 90 484.304 null]
->> endobj
-1923 0 obj <<
-/D [2100 0 R /XYZ 90 328.441 null]
->> endobj
-2105 0 obj <<
-/D [2100 0 R /XYZ 90 314.061 null]
->> endobj
-1924 0 obj <<
-/D [2100 0 R /XYZ 90 193.509 null]
->> endobj
-2106 0 obj <<
-/D [2100 0 R /XYZ 90 179.13 null]
->> endobj
-2099 0 obj <<
-/Font << /F63 247 0 R /F81 703 0 R /F50 215 0 R /F65 249 0 R /F70 298 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2117 0 obj <<
-/Length 1883      
-/Filter /FlateDecode
->>
-stream
-x��Y]s�F}ׯ�h&Z�'��S�I2Iۙ4q�f4ki%�J@�q}�
bX�4i�6
��=��s�"
l
���p5�x�@"�(��qD��$�Z�B�c����*�jY���.�r�^�����|7�8t��$	�l���/v��l�����V���0N柯��^^����H����`��}���5<�>d�5���
�����v��Q	�E0LHXS�p$�e�f�v��+��#(��,�t���֊찿3�v���R�t���un��nĪԪ�k4X��|��0 E\�5_~Y�N���
��r�`{�����X
����M6�8�U�t�|^n{���n��uN����=d�|NExg<�Y�n�$`���`
��[U�>��f�Q�g���N��m���U�gk{� 
We/�l����q���x�s"B�����W�Zi4��
�
�$�a
�$�[�Ig��f��,��Pb��E�EI��P��i�
A5�,e�
��6K��3��n'o���w�U��ݜ@lvk�z���o,���ò?[d�� �"A�
�O�q��^��8�l�:�0��u�˲Yeٍ�


d,� ��Anz/�(��D�s�""�
�!�x�/Suj�5���	��M����X��rc����Ck�6��eL�8�4Te��w�Z~е5Ƌˈ#����:_^����n
X�Z/��]?�/��_id
!���$��% ^�v�p΂Đ<Ib(�.�^�Ѐ�,�nZ�hq}ұ�!��D�=
��@�QJ��if�w8e
��ΰ�a�
�I��b�q���w�R�u��	Ɵ��X�M�~�~��r!NJ\�뮾��CV
>5�?�	!���r
��߁$����m��+��q���Z�~?��gkg`����&9A4�>$�@�CҶ��zb
tjvh�7�ONJ�+NMU�>i�
����S�:�/�����X����.��g��qL���BN�
��#5�7i5��0orTt
�'i����i�,yx��7���
!P����i
-%����̝g�>�Y.��FZ�
-�q�d2,
�Aӡ�As�ʳZ��)��v�@�@4N
K�d29�ނ�"|��r�B��
�Ѹ�"	ދ��)c�y��'�訁����[H �������X>,)$C�M�dBPp*{z��=IN�Uq�$�i�vpE�N���=�٪��_�1���+�z��
��s�	���>��C�o�X]Oy�C���O�����h��c8"WX<H<;L(��E^F@�ߦ�wΘ�P
-�zR���t8�U��?��y��G�{�%Z�n���h~���R��	"���}�-��NO˭�L�lc�d����i�D�����)

- =�Lr��^�?_�W���0�
������~<
-�����G=
-ʬ��������;�|@
-���{��M��NV��,ݧ���î6h�I-�n!��T3ѿ�f"LB��pT�Hĸ8����N7�2�E"�p�D
���1աs�*��g�C��^!�H��_�}{r�t�+�["�HL�J3����`s��n&Nt�']�昣7�/j�a-o��gpYN���s�]�~�:fw�ár�
NP�q6x�
!��

�m���rz�8�>X�aK
-�E̶�
�9��$��R<�,;�؄�% <���,<�V��
-�����Mh�I:�Ⱥ�ya�{uƋ�
��t��?@8�������>�%�R2.��gD p�#�h~���̙
���ɘ�'�@н3��d��m)���dy�޼U�
�
�Zeۃں��d���Q'�~�t��\��a����z4Ai�xYu"h#j�o�`��=�Z0��֏��T��t���uqyqqww�V:diQ���(���i|
g!��1�
-ܦ-,������|5��E�|q����~�3
-��o�0�
-endstream
-endobj
-2116 0 obj <<
-/Type /Page
-/Contents 2117 0 R
-/Resources 2115 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2107 0 R
-/Annots [ 2097 0 R 2108 0 R 2109 0 R 2110 0 R 2111 0 R 2112 0 R 2114 0 R ]
->> endobj
-2097 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 674.432 230.651 685.302]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2108 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 658.492 212.778 669.361]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
->> endobj
-2109 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.502 530.974 241.69 560.04]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-2110 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 469.554 230.651 480.423]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2111 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.849 457.475 179.037 468.379]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-2112 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 224.82 230.651 235.689]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2114 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2118 0 obj <<
-/D [2116 0 R /XYZ 90 757.935 null]
->> endobj
-1925 0 obj <<
-/D [2116 0 R /XYZ 90 638.069 null]
->> endobj
-2119 0 obj <<
-/D [2116 0 R /XYZ 90 623.499 null]
->> endobj
-1926 0 obj <<
-/D [2116 0 R /XYZ 90 437.4 null]
->> endobj
-2120 0 obj <<
-/D [2116 0 R /XYZ 90 422.83 null]
->> endobj
-1927 0 obj <<
-/D [2116 0 R /XYZ 90 321.115 null]
->> endobj
-2121 0 obj <<
-/D [2116 0 R /XYZ 90 306.545 null]
->> endobj
-1928 0 obj <<
-/D [2116 0 R /XYZ 90 203.774 null]
->> endobj
-2122 0 obj <<
-/D [2116 0 R /XYZ 90 189.203 null]
->> endobj
-2115 0 obj <<
-/Font << /F63 247 0 R /F81 703 0 R /F50 215 0 R /F65 249 0 R /F70 298 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2129 0 obj <<
-/Length 1734      
-/Filter /FlateDecode
->>
-stream
-x��Y[��8~�W�mA*
_b'�]��V���mg_��P D��&���Ǘ\� �کT�ı���;f^���
H$��m q	�8%��4x�'16�q��d��۹��h�����^_�P�����l0�
��.��t�oխ��T6Q /
Y؏�����޳���
�p@�<B��d�{�S
�
26v�2)��"x�����1��Q�D�AD""t�=�:Q+��Yym�ؗ�)f^��/@hLZBI�",�!�!Ν�W� ��/�"��
��RezT�Թ��s��RAGi��o�E>��������[#��5�@8��%z��nҎ`#�դ$�v2&�jʬK
-�Ʋ�R(���!+��v�f�|�Jt:^�Wy���Q��Fl0�$D
s�i��^�h0d�[�x�my$Q,�9�#F��0�A
.Wz�Dg�1=W�ܖZ-���֍�T��D�E��9��f�i�qĉ��#˵��)$x�>6E��n�<)ݬ,��b���p"Wy��y��0d	F�!FX���|}g����5?�	����өy� �����o��l�I�*K��� �eN��q��%�̈́�XsvJ�QQyr�ap�¦�
�=q��v��Bvi
�u�~�
>�u*�ʴ���C9��V���a����c/ A^�68�t�Ԑ�l5$�c�c�i��:ꘝ+
�nU�r
U��ݛ�0WS�k
Q�{νw���P�M�\~
���P ���+�Q*�0�q$bq�1G�O�8�ϫ
)
�f��
��C<�yc�))��Ҫ8�y���a�Z�
k!
啎�]@���:��'�#BQ�$���.ץ��$Aa�ƪʀL'i���1�
-� ��\���ԯ{��z/C��&�
�UL�,p
�v�Ҁ
��P���p���uf�ɚ�
$BCN�4�=Ό��\��s?���c@;h��H4����F��?Y̵5
�
<VJ���u� 20W��ZU�)����r�P�M��2�+6��W�Q�v�X@׫qn��֯R�y�~^+�[�� �� �;u��3N�fg�Eγ3)�t��'�	��y��ΌZGؙyeؕ�
�3�0��(;��e�#,�d�eP�/c/#٦�w,�j����b�|���+A"�(���( N�	$�;�	���D|G>A�d�}�}�߃O�K���|��[(���3���R��߃R�#�"�r���BJ�H��Vӑ?�P_u���Ąt�yZQ
m�<�3��|�)�SH`�'�<{�N�%KΪ%O��1��':Ӱ�o�3��F8
-��G^-WPe��$�}e�����#fО����*1/:шI
R�ql^���[�[�(s7��ۼ�Xuj�ro&u"��]g��
C�	��ȹ$n�Zu�`b���E ��%�]~��V
z�q:Y,��ɂS�ӻ����N��n\�@������s%�`G{
 ^�t�*��a�.�o%��T���pV��^����48c�����p���=��S�Jr��A�E�B~�!�b���_
�]�3�1�z��K��4�
����z�c$�8s$U{z��� �]�)�o�`�'b��0�%�<�C�7}
���t�:��
^��տN��:�yQ�-��KM��?�*~p��0�W���EC4
�eZ5�
orUbY�;��_�3>��=��D����7ε^]_]m64)�:KWJ�@��!&6R�<j�s��x�f˼P.�,��d��*�0qi��A
�\�9M
-endstream
-endobj
-2128 0 obj <<
-/Type /Page
-/Contents 2129 0 R
-/Resources 2127 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2107 0 R
-/Annots [ 2113 0 R 2123 0 R 2124 0 R 2125 0 R 2126 0 R ]
->> endobj
-2113 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 703.18 230.651 714.049]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2123 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 505.028 230.651 515.898]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2124 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 318.832 230.651 329.701]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2125 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 106.382 230.651 117.251]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2126 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2130 0 obj <<
-/D [2128 0 R /XYZ 90 757.935 null]
->> endobj
-1929 0 obj <<
-/D [2128 0 R /XYZ 90 674.284 null]
->> endobj
-2131 0 obj <<
-/D [2128 0 R /XYZ 90 660.453 null]
->> endobj
-1930 0 obj <<
-/D [2128 0 R /XYZ 90 488.088 null]
->> endobj
-2132 0 obj <<
-/D [2128 0 R /XYZ 90 474.256 null]
->> endobj
-1931 0 obj <<
-/D [2128 0 R /XYZ 90 301.891 null]
->> endobj
-2133 0 obj <<
-/D [2128 0 R /XYZ 90 288.06 null]
->> endobj
-1954 0 obj <<
-/D [2128 0 R /XYZ 90 89.441 null]
->> endobj
-2127 0 obj <<
-/Font << /F63 247 0 R /F81 703 0 R /F50 215 0 R /F65 249 0 R /F11 291 0 R /F70 298 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2140 0 obj <<
-/Length 1899      
-/Filter /FlateDecode
->>
-stream
-x��ZYo�F~ׯ��J�����
d�d�ILf��
h���H�BR��ߧ��)ʒ7�]$�I6������������3y}3��R�� #��n�"�#%	�D7��)���ٜ`�����Ƌ]�9�'�"^l��".��ogO���i���T��相,���.q�l��<��j<����䋛�o
-�8�B��h����
�V0�&=��
ܬm�)��&z?�~�5�2����(<X��U:#x���j1��}����l��ޤ۴JV���Y$�"�u�C�-��:�ւ�sB�A����#���W_j�1Fp$���n����ˑw���j6`��yV�"iV-��*َH61���rD�F�����蟪[F���D���>
�
'By=��J� �X�Wͼ��`�f�j7��J�z���9w�̩��Pg��ռb�]�ψ��� ͨ�V���)�r���}~׾t��i���N��*��l=���d3y�ow����oq{��xS��.���bi�
�2��l`�O� 4�
)���"����F��>�Dž38�3C�d����.Ƙ&+����o6��y���r���o
kIEL�V�tLO�{C��F.�ԙb �9a
-<
*S��\�֦����I��uo}+��A�
6 N#,h'N;
z: C���j�}
�s���1�GF7�ݗ՘�	���`�BH�Ob	�!&�\���Ҟk��0D 
s���]|�r�L�xS���I�FGmP
n;�/k�<ُ��\
�K�8c�ӯk��:'�P�X�����	ԗDʄW���?�3[6�f0���
-�d�n?RVy���-���~{
i�
:Y���x�P忺җ�~��F��aN�&�}�O� n��
�.�
"Z�ݫ<|�]j�n��$�p�}}t�j�Ѓ,-�±J6q�'U�������M�g�
h��э�/>,��M�'"�s�b
�ʻ�9����:�qp~�IW�ϊ�~�@5nv:�YرU��� `��|��a�4
K�
N�'��1*8���Q ��d
g���
�U���
-G��<��8˪
�1_�if�T]x���J��%8��qN�$�CD���7��E�DsN!M�]��"�=�H�ya����
-������b>FG��\B^L
���C��;.�E�`�T[*N�G3~}T�|���#��Rŕ�Ȟ���
��RS��AB������i�#
:�H�I��@h��<j
c�J!M�8��]n�(�X$��e�N�"�M�E|�Eu��
����X�
^�-w����"gd�I;�X0\
�dL��HM$��8���&�""�/�d���భ���'�w�]���!�h�P�8� 
˱�@�u܇11��#��)@FH+�M�У���N6 ���sN!��BF��P��@
�v��X4$m�(�S=�#�Bش�!�0�f��c��5�U���.����s�9
����瀿��r��9��谗F��yit�*�N
�/��߬ӑ�����!Rt:
x��]�s�i|���
���

&`��Bn>�򖻜�D.���T�_��?�r9��\I�
�
-�Qo�7
sT��rHv-{������Ʀ����
xȾq%��ةƆKĸ����g�s}
A ���Z*��5��'�5��?
hs6G�ꁷO�5P��
�0��g�mζ3�W
mA�H���I��ǁ���s�8� Mɳ�8/����8��&�>�ɑ�ə���sB҅��ϑ�>g��	�*��?q?
��PL���������0�d7<֌�?~�i�x�9��:���x
DY�Vܹl�
C?�I�Ӏ���loZ��A^�i�D0�Lλ�}�}�$�/��F��7�
-Z��H�L���v�WWhY�}��
-�VW���c�R�0�4���5(��6o(�"H0@��E�����
�� �0�
-endstream
-endobj
-2139 0 obj <<
-/Type /Page
-/Contents 2140 0 R
-/Resources 2138 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2107 0 R
-/Annots [ 2134 0 R 2135 0 R 2137 0 R ]
->> endobj
-2134 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 545.361 230.651 556.23]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2135 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 292.662 230.651 303.531]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2137 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2141 0 obj <<
-/D [2139 0 R /XYZ 90 757.935 null]
->> endobj
-2142 0 obj <<
-/D [2139 0 R /XYZ 90 733.028 null]
->> endobj
-1955 0 obj <<
-/D [2139 0 R /XYZ 90 524.315 null]
->> endobj
-2143 0 obj <<
-/D [2139 0 R /XYZ 90 509.744 null]
->> endobj
-1956 0 obj <<
-/D [2139 0 R /XYZ 90 271.616 null]
->> endobj
-2145 0 obj <<
-/D [2139 0 R /XYZ 90 257.046 null]
->> endobj
-2138 0 obj <<
-/Font << /F63 247 0 R /F81 703 0 R /F11 291 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R /F23 216 0 R /F31 2144 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2155 0 obj <<
-/Length 1707      
-/Filter /FlateDecode
->>
-stream
-x��XIs�6��W�Ԑ3
�ߒ��$mfRG���x 
-��P�R^����pe;nr�$<��}o��v��f�j1;:
}'AIHCgq�$؉B�%�b�\�#?��c�n����m��_���y��\���r��e.�9e�}��2���JH�Į(R�KXD������t1�>#�
-v�ޚE(�nf_����wh��έ��q��3w>���ak>hN� �'�!"a`L:�KŶ�ʢ:�J��m�ڪu��Ƥ'��(‰3'0Ę������<[]����F�e���>Gg
�����6N
\\�ң̽- Ƅ�ٕ�ޚ�G$J�%�uV�I��G	!ͤ�'�0$���"bGQ3��	$B4�9�"$@1�Ո��XV��R��~�i���:3n�Ji��
� ȹ��)P�( 
������� -m��>�*SM�
�+�!�h(�[�y�G����ZB�Z��JYn�����¬X����\
��!!
-���QZ%?Sʆ�.�
B��#��ߔ"�R�%�|yR�݃B�+�(x�ڔ[�|�`D�f/��~M���5~��
_Z�R�gy5��F�*Һ����;
-r��v�<K͚�b�v�ٮHu��
�hCE�?D�~���|�$���Ί�(��9�"
A��*gAS�
P at lb~���U5�l�PZJ���+�mY�Z'��Ѫ�\֢ʸ%��5��P�+�
뮍��n> �f���h� j��w��9
�fA��E����
O���X
b��p.�,�Dt�M��A�!��4��
-���9I0��h?���2N�g"�3(��OB^�e)^
P
"᠈ǣ����1dM�(���k�
7Ž�L"Q�R��|�=�I�X�r����
R���6�5/&����Ǵp3
n]K�;
qc�?`A����f@���Y!��x^M�ȥ�suݖUv���C�"��3
U/y�
(�!�є�
��d0x��#>��F�lNh���& _��^�F��Q�,o2ĉ�R��m�/.�J �z!���� �r����+���ԋ��?
-�q%C���k���ͣg���Zs� 됲fVHY��z	Z�v��:
z��@w%�1���,tw�"JUfd�+՞��e^���pV��R���Ð��z�*%�ޛ�Mi�3�X.P���ʳBpi~�q���T��4rOyzm��6�i�
-����������Ж��]ޛ'7���B��@b�)�ƅԄX�[���:Fug���E�Ok�����Φ�ը�>a����ꇪ-�B
�U=�bW���
�����}�P��F�k����.�~k�v0|28�X��kŶi�I��T��4�ڐ�ɖ��I4���Rԝ��;>
-�6�_d���/�iN#8���0�Lw�gm�۟��j��͠��
���
%с�>��4�(�T�,���WO�x8�A mĩ����o�p0C$f��

-��{���! b8���|/�&���|ל�Ie�F��N���A}x���H�W�E�܃:4
}�Ѯ�r��|�[�[4�ԏ���8ĺ
-�"4� 
ch?�����>0 �0���%Kc��m>�{��~6��?
���]���
_[Qo���+�U�
���%�����w�ָ��.8�bDM9�ҁݏ�iz
ߜ�폙���D�B�6_�����������V��>�n��,�I!p���aC��0wg�!��,"�L������_(ǡ�
-endstream
-endobj
-2154 0 obj <<
-/Type /Page
-/Contents 2155 0 R
-/Resources 2153 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2107 0 R
-/Annots [ 2136 0 R 2146 0 R 2147 0 R 2148 0 R 2149 0 R 2150 0 R 2152 0 R ]
->> endobj
-2136 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 703.18 230.651 714.049]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2146 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 531.187 149.098 541.718]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable_293bf4ae6670add8afd68cbca2edd0e5) >>
->> endobj
-2147 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 493.399 136.665 503.93]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable_df4acacc53bd647f2c4ccaac0aa7643a) >>
->> endobj
-2148 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 455.238 173.486 466.142]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable_a771ef39be258755e151cd5edb617e94) >>
->> endobj
-2149 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.302 455.238 212.49 466.142]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-2150 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [184.141 345.221 219.329 356.125]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-2152 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2156 0 obj <<
-/D [2154 0 R /XYZ 90 757.935 null]
->> endobj
-591 0 obj <<
-/D [2154 0 R /XYZ 90 637.876 null]
->> endobj
-202 0 obj <<
-/D [2154 0 R /XYZ 90 629.623 null]
->> endobj
-2157 0 obj <<
-/D [2154 0 R /XYZ 90 549.255 null]
->> endobj
-2158 0 obj <<
-/D [2154 0 R /XYZ 90 511.586 null]
->> endobj
-2159 0 obj <<
-/D [2154 0 R /XYZ 90 473.798 null]
->> endobj
-2160 0 obj <<
-/D [2154 0 R /XYZ 90 407.972 null]
->> endobj
-2161 0 obj <<
-/D [2154 0 R /XYZ 90 296.635 null]
->> endobj
-2162 0 obj <<
-/D [2154 0 R /XYZ 90 273.949 null]
->> endobj
-2163 0 obj <<
-/D [2154 0 R /XYZ 90 273.949 null]
->> endobj
-592 0 obj <<
-/D [2154 0 R /XYZ 90 139.504 null]
->> endobj
-206 0 obj <<
-/D [2154 0 R /XYZ 90 131.251 null]
->> endobj
-2153 0 obj <<
-/Font << /F63 247 0 R /F81 703 0 R /F50 215 0 R /F65 249 0 R /F70 298 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2167 0 obj <<
-/Length 686       
-/Filter /FlateDecode
->>
-stream
-xڍTMS�0��W�u�"ɖ?r+�0�e��
0�b+���Q�&��+[rp���!�J��߾}�l�i�,�C$(	i�
H0�B�% ���K0����m�*�cS��'�+�(����u���	u�*�Z��q%:�Q��ϒ��	o�F(HbWT��p~'nL�Cz�|I�?�|0 ��Y�"���t�
0���%�4���S%������g.�G8d&��~-����Z3��ʺ��ڑ΄�8gxFB�1�(E�xO);�crP[��ͅ�<������C�����=fX����'� �|�`�3�(�H�� 0|N�B�V��I�@�M�j�v�L�1�g�Ȭ�*�b�E��
-�z~���$�a��/�Xǜ��R��L��*�A��H`��
�$蓹���!e.G}WH�B��J�ջd�CV�YJ��/ßMk��PHm�I����RT
�[�ZMrV����;H���b+*�x7%�QuyT�M-e=���ڊc*���
{�1Ē��}h,4����q������l�/]�%�fg��%���H��A�aV��40��fq9�j^�j���ZuBmF�3����2�Zݯx�s	�
�<�Z��b�MI��B��5�J���7��o���,E�B�H�S|�f�X�v;�����F��[4�\��
o(D7iD�	eo��V#�I���~�H_������r4#:��_ׯn�
-endstream
-endobj
-2166 0 obj <<
-/Type /Page
-/Contents 2167 0 R
-/Resources 2165 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2107 0 R
-/Annots [ 2151 0 R 2164 0 R ]
->> endobj
-2151 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 697.621 170.687 708.151]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set_961dfccd93ec291961f9938db0c86b2d) >>
->> endobj
-2164 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2168 0 obj <<
-/D [2166 0 R /XYZ 90 757.935 null]
->> endobj
-2169 0 obj <<
-/D [2166 0 R /XYZ 90 716.221 null]
->> endobj
-2170 0 obj <<
-/D [2166 0 R /XYZ 90 716.221 null]
->> endobj
-2171 0 obj <<
-/D [2166 0 R /XYZ 90 659.927 null]
->> endobj
-2165 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2225 0 obj <<
-/Length 963       
-/Filter /FlateDecode
->>
-stream
-x�͙]��0���Wp�3�&  ��Z�k�ݥ[�i��d"D�
 L���_�D��htD{�����9'�ɉ@�h@�� +׷Ë��mS��ٶ
m8�\�9�i�-�-�
�~
�ߍ���F��[@s[�mزКh��v�<�x§$��l�A�aiM[�e�%�G%,��"�(�#�������ů�Q�5.���.���a�v��D��Y�I��4����47}y��B����2(F��6����Mk�0�<��;xBb�q�x���8�`�
0��hJ�I�Ј�)q�p
 �Hp��p��[���8���G�gu��R�OƐX��-}B��)���q�0,� FL����@���Nj�2�ty�
u�n�A�k������n@���s��q]�}��V�W�S��i�ԙy�2�!���|���
@!�������|��^��A�lW����t[

.����L�L�x�p��I\gd�$����`�N��Cɪ�}�©s��-6Eb`�	e=�w�=0�
��c�K�)s!<b��I��ZjX��+�F$d2
��U��.z�o�r�-4�	us%}?�
���@0�s��U���u��-�1�6~H0_�⺷$+�tw�>���w׿
V�ԐjWR��tʅ䱥�R�*W��
,��bF*�Sr�Z��
%�(	sa��
uC!i5��Tq�}��X����>���
-Z��i�$��k�$����࣮��,D�>GD��s�ukԗ�P����h��(
�jBPO���_��:ב1����
*DU@%�M?�T��ջ�������(;��h�rP��ސ�C杇S�l$er?���h<�}����j8Ŭ`�,�gG+'4���h�R1�Cw!{J%ߏYl9IJOs�b�\C�gG}|:S�d�t르}�R�T�!�*
-��K4lt�>KΙ�'$��>J)9���_�E��L/�;	����7�ϔ����Z������n
-endstream
-endobj
-2224 0 obj <<
-/Type /Page
-/Contents 2225 0 R
-/Resources 2223 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2228 0 R
-/Annots [ 2172 0 R 2173 0 R 2174 0 R 2175 0 R 2176 0 R 2177 0 R 2178 0 R 2179 0 R 2180 0 R 2181 0 R 2182 0 R 2183 0 R 2184 0 R 2185 0 R 2186 0 R 2187 0 R 2188 0 R 2189 0 R 2190 0 R 2191 0 R 2192 0 R 2193 0 R 2194 0 R 2195 0 R 2196 0 R 2197 0 R 2198 0 R 2199 0 R 2200 0 R 2201 0 R 2202 0 R 2203 0 R 2204 0 R 2205 0 R 2206 0 R 2207 0 R 2208 0 R 2209 0 R 2210 0 R 2211 0 R 2212 0 R 2213 0 R 2214 0 R 2215 0 R 2216 0 R 2217 0 R 2218 0 R 2219 0 R 2220 0 R 2221 0 R ]
->> endobj
-2172 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 671.898 278.601 682.802]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2173 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 647.988 278.601 658.892]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2174 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.166 624.078 289.122 634.981]
-/Subtype /Link
-/A << /S /GoTo /D (page.50) >>
->> endobj
-2175 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 612.122 278.601 623.026]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2176 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.166 588.212 289.122 599.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.51) >>
->> endobj
-2177 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 576.257 278.601 587.161]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2178 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 552.347 278.601 563.25]
-/Subtype /Link
-/A << /S /GoTo /D (page.77) >>
->> endobj
-2179 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 528.436 278.601 539.34]
-/Subtype /Link
-/A << /S /GoTo /D (page.77) >>
->> endobj
-2180 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.166 504.526 289.122 515.43]
-/Subtype /Link
-/A << /S /GoTo /D (page.50) >>
->> endobj
-2181 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 492.571 278.601 503.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.75) >>
->> endobj
-2182 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 468.66 278.601 479.564]
-/Subtype /Link
-/A << /S /GoTo /D (page.75) >>
->> endobj
-2183 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.166 444.75 289.122 455.654]
-/Subtype /Link
-/A << /S /GoTo /D (page.50) >>
->> endobj
-2184 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 420.84 278.601 431.744]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2185 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 396.929 278.601 407.833]
-/Subtype /Link
-/A << /S /GoTo /D (page.72) >>
->> endobj
-2186 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 373.736 204.998 383.923]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2187 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 349.109 278.601 360.013]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2188 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.713 303.28 175.668 314.184]
-/Subtype /Link
-/A << /S /GoTo /D (page.54) >>
->> endobj
-2189 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 279.37 278.601 290.274]
-/Subtype /Link
-/A << /S /GoTo /D (page.78) >>
->> endobj
-2190 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 255.46 278.601 266.364]
-/Subtype /Link
-/A << /S /GoTo /D (page.72) >>
->> endobj
-2191 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 231.549 278.601 242.453]
-/Subtype /Link
-/A << /S /GoTo /D (page.72) >>
->> endobj
-2192 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 207.639 278.601 218.543]
-/Subtype /Link
-/A << /S /GoTo /D (page.79) >>
->> endobj
-2193 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 183.729 278.601 194.633]
-/Subtype /Link
-/A << /S /GoTo /D (page.79) >>
->> endobj
-2194 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 159.818 278.601 170.722]
-/Subtype /Link
-/A << /S /GoTo /D (page.65) >>
->> endobj
-2195 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 135.908 278.601 146.812]
-/Subtype /Link
-/A << /S /GoTo /D (page.65) >>
->> endobj
-2196 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.069 102.035 295.024 112.939]
-/Subtype /Link
-/A << /S /GoTo /D (page.30) >>
->> endobj
-2197 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 92.137 140.809 100.984]
-/Subtype /Link
-/A << /S /GoTo /D (page.31) >>
->> endobj
-2198 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.648 671.898 505.603 682.802]
-/Subtype /Link
-/A << /S /GoTo /D (page.50) >>
->> endobj
-2199 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 648.705 421.479 658.892]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2200 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.02 624.078 488.975 634.981]
-/Subtype /Link
-/A << /S /GoTo /D (page.37) >>
->> endobj
-2201 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.214 600.167 493.17 611.071]
-/Subtype /Link
-/A << /S /GoTo /D (page.32) >>
->> endobj
-2202 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 576.974 421.479 587.161]
-/Subtype /Link
-/A << /S /GoTo /D (page.23) >>
->> endobj
-2203 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 552.347 495.083 563.25]
-/Subtype /Link
-/A << /S /GoTo /D (page.76) >>
->> endobj
-2204 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 528.436 495.083 539.34]
-/Subtype /Link
-/A << /S /GoTo /D (page.65) >>
->> endobj
-2205 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 504.526 495.083 515.43]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2206 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 481.333 421.479 491.519]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2207 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 457.422 421.479 467.609]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2208 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 423.549 421.479 433.736]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2209 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 398.922 495.083 409.826]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2210 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.02 375.012 488.975 385.915]
-/Subtype /Link
-/A << /S /GoTo /D (page.37) >>
->> endobj
-2211 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 341.856 421.479 352.042]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2212 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 317.945 421.479 328.132]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2213 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.648 293.318 505.603 304.222]
-/Subtype /Link
-/A << /S /GoTo /D (page.51) >>
->> endobj
-2214 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 269.408 495.083 280.311]
-/Subtype /Link
-/A << /S /GoTo /D (page.76) >>
->> endobj
-2215 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.648 235.535 505.603 246.438]
-/Subtype /Link
-/A << /S /GoTo /D (page.52) >>
->> endobj
-2216 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 211.624 495.083 222.528]
-/Subtype /Link
-/A << /S /GoTo /D (page.77) >>
->> endobj
-2217 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 177.751 495.083 188.655]
-/Subtype /Link
-/A << /S /GoTo /D (page.73) >>
->> endobj
-2218 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 153.841 495.083 164.745]
-/Subtype /Link
-/A << /S /GoTo /D (page.73) >>
->> endobj
-2219 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [498.071 153.841 510.027 164.745]
-/Subtype /Link
-/A << /S /GoTo /D (page.74) >>
->> endobj
-2220 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 130.648 421.479 140.834]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2221 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.436 94.065 495.392 104.969]
-/Subtype /Link
-/A << /S /GoTo /D (page.58) >>
->> endobj
-2226 0 obj <<
-/D [2224 0 R /XYZ 90 757.935 null]
->> endobj
-2227 0 obj <<
-/D [2224 0 R /XYZ 90 696.969 null]
->> endobj
-2223 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2298 0 obj <<
-/Length 1362      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�8~�W�m��u�\��Z�D۴CZ�2�h:#�C�K.ㄶ̯_�SR�8��$�9���
������q|�u�ְ2+T,���!e0R���s���cp�HP�ľ�m�O���C��l�iK7��߸���x~�@�;���C���T�m|n��@LX�	����]�ݖ�j�>�����`�j�f��Db�f*G�,v�z
rEU
6U�lR�	��t+
�?�#����8D����
i&ljf�>�((�ᰂk�u��X�7"�,`�&!'Ն�y�^#»@dH ����^�ޔJD�OIN�lĩX|�)����
���Ȃ�BqȏB����s�d9����
&�Ʊ7	��� �eK��Ƅ�Q2'�p������!�ģSr1
�����2^�l�
]w�m�WH���ۖ��İ�������%f�)�D(�D/&#/�7�r2桿G<�]��K<1M��;���n��
��P��+ �HBg/��m��`2���j׉�%��UV
��V"W�C�
�稩�{	��O�oP',��	�B��@nd׀��iy���;�kwO�4�D�QZ�͡�$�I�&�T1�5rF�u��D�F$���E�Y
P�>mYFJS|�L�kd�n�k���V��훏
M>}^���3e�p�5�6`	���u��c|/X
-q�t�E�10��`]X3v&V\W�k��ź,<~
�j1�zX�mB�Y����:�9Y9�0J<_����t��IJ��N��M����g��Jg��
F�Xz���s�
���}7�
�����\>i�Yj����&�S
��귺���ؔK�K}&����
��X�4 (��tN�l�8
���
_ �b ��,�X���ʗ����r�`

���X��
-��傪s���!�eSt�BO+�j�e֩a��T.4��E�v�fQ�8�g��hk�7.Z
:L6��e=�,d�ԯ����cA%7�
�̶�yT+*�����R�b�o椿��y�T�-�Ģ����el�@� F��lpI\�CN������p��,��w���fW�p�3���]�y.	o�
��ŵ��5�h;
-;8
��f	��%
���p�v��,�^j�&�[���,+�=VJe)�
 ���t�H�0����ҿh��W�ݜ�|��v�
�����שቧ㮄������;,�$;
��Ԓ\'���爳8��m�Y�9�6�ؖ�8_\�c�X�]\��0�b�2x(�3�9�_\v,����G~��G����ї��?T�l���.
ft��M��rg<S���k�P�tA�-fE�0�S��I��`�8�fb`��_
�$:9>~zz��/��K��hz�"�2����q�sd~����n!`��8-�	-���B?0��B�����H
-endstream
-endobj
-2297 0 obj <<
-/Type /Page
-/Contents 2298 0 R
-/Resources 2296 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2228 0 R
-/Annots [ 2222 0 R 2229 0 R 2230 0 R 2231 0 R 2232 0 R 2233 0 R 2234 0 R 2235 0 R 2236 0 R 2237 0 R 2238 0 R 2239 0 R 2240 0 R 2241 0 R 2242 0 R 2243 0 R 2244 0 R 2245 0 R 2246 0 R 2247 0 R 2248 0 R 2249 0 R 2250 0 R 2251 0 R 2252 0 R 2253 0 R 2254 0 R 2255 0 R 2256 0 R 2257 0 R 2258 0 R 2259 0 R 2260 0 R 2261 0 R 2262 0 R 2263 0 R 2264 0 R 2265 0 R 2266 0 R 2267 0 R 2268 0 R 2269 0 R 2270 0 R 2271 0 R 2272 0 R 2273 0 R 2274 0 R 2275 0 R 2276 0 R 2277 0 R 2278 0 R 2279 0 R 2280 0 R 2281  [...]
->> endobj
-2222 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 708.674 204.998 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2229 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 684.764 204.998 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2230 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 660.854 204.998 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2231 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.782 636.226 295.737 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.39) >>
->> endobj
-2232 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.782 612.316 295.737 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (page.39) >>
->> endobj
-2233 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 578.841 278.601 589.745]
-/Subtype /Link
-/A << /S /GoTo /D (page.78) >>
->> endobj
-2234 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 545.033 140.809 553.88]
-/Subtype /Link
-/A << /S /GoTo /D (page.55) >>
->> endobj
-2235 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 519.065 278.601 529.969]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2236 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 485.591 278.601 496.495]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2237 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 461.681 278.601 472.585]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2238 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.166 437.77 289.122 448.674]
-/Subtype /Link
-/A << /S /GoTo /D (page.51) >>
->> endobj
-2239 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.801 416.251 202.756 427.155]
-/Subtype /Link
-/A << /S /GoTo /D (page.20) >>
->> endobj
-2240 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 383.494 204.998 393.68]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2241 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 359.583 204.998 369.77]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2242 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 334.956 278.601 345.86]
-/Subtype /Link
-/A << /S /GoTo /D (page.78) >>
->> endobj
-2243 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 311.046 278.601 321.949]
-/Subtype /Link
-/A << /S /GoTo /D (page.78) >>
->> endobj
-2244 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 287.852 204.998 298.039]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2245 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.539 263.225 272.494 274.129]
-/Subtype /Link
-/A << /S /GoTo /D (page.37) >>
->> endobj
-2246 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.272 239.315 290.228 250.218]
-/Subtype /Link
-/A << /S /GoTo /D (page.31) >>
->> endobj
-2247 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 205.84 278.601 216.744]
-/Subtype /Link
-/A << /S /GoTo /D (page.77) >>
->> endobj
-2248 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 172.032 140.809 180.878]
-/Subtype /Link
-/A << /S /GoTo /D (page.55) >>
->> endobj
-2249 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 146.781 204.998 156.968]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2250 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 122.154 278.601 133.058]
-/Subtype /Link
-/A << /S /GoTo /D (page.65) >>
->> endobj
-2251 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.59 122.154 293.545 133.058]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-2252 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 98.961 204.998 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2253 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 719.912 495.083 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-2254 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [498.071 719.912 510.027 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-2255 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.648 696.002 505.603 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (page.49) >>
->> endobj
-2256 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 672.809 421.479 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2257 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.648 638.219 505.603 649.123]
-/Subtype /Link
-/A << /S /GoTo /D (page.52) >>
->> endobj
-2258 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 615.026 421.479 625.212]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2259 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 591.115 421.479 601.302]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2260 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.648 566.488 505.603 577.392]
-/Subtype /Link
-/A << /S /GoTo /D (page.52) >>
->> endobj
-2261 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 533.332 421.479 543.519]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2262 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [500.263 508.704 512.218 519.608]
-/Subtype /Link
-/A << /S /GoTo /D (page.39) >>
->> endobj
-2263 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.726 496.749 423.681 507.653]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2264 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [500.816 484.794 512.772 495.698]
-/Subtype /Link
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2265 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.829 472.839 486.784 483.743]
-/Subtype /Link
-/A << /S /GoTo /D (page.29) >>
->> endobj
-2266 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [387.955 460.884 399.911 471.788]
-/Subtype /Link
-/A << /S /GoTo /D (page.30) >>
->> endobj
-2267 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [402.899 460.884 414.855 471.788]
-/Subtype /Link
-/A << /S /GoTo /D (page.31) >>
->> endobj
-2268 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.82 448.928 403.776 459.832]
-/Subtype /Link
-/A << /S /GoTo /D (page.31) >>
->> endobj
-2269 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [449.773 436.973 461.728 447.877]
-/Subtype /Link
-/A << /S /GoTo /D (page.31) >>
->> endobj
-2270 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [461.289 425.018 473.244 435.922]
-/Subtype /Link
-/A << /S /GoTo /D (page.32) >>
->> endobj
-2271 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.416 413.78 386.371 423.967]
-/Subtype /Link
-/A << /S /GoTo /D (page.32) >>
->> endobj
-2272 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [465.404 401.108 477.359 412.012]
-/Subtype /Link
-/A << /S /GoTo /D (page.33) >>
->> endobj
-2273 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [499.725 389.153 511.68 400.057]
-/Subtype /Link
-/A << /S /GoTo /D (page.33) >>
->> endobj
-2274 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.778 377.197 470.734 388.101]
-/Subtype /Link
-/A << /S /GoTo /D (page.34) >>
->> endobj
-2275 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.099 365.242 505.054 376.146]
-/Subtype /Link
-/A << /S /GoTo /D (page.35) >>
->> endobj
-2276 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [390.715 341.332 402.67 352.236]
-/Subtype /Link
-/A << /S /GoTo /D (page.35) >>
->> endobj
-2277 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [457.095 329.377 469.05 340.281]
-/Subtype /Link
-/A << /S /GoTo /D (page.36) >>
->> endobj
-2278 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.628 317.422 396.583 328.326]
-/Subtype /Link
-/A << /S /GoTo /D (page.37) >>
->> endobj
-2279 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.818 306.184 369.774 316.37]
-/Subtype /Link
-/A << /S /GoTo /D (page.37) >>
->> endobj
-2280 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.335 294.229 357.29 304.415]
-/Subtype /Link
-/A << /S /GoTo /D (page.37) >>
->> endobj
-2281 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.875 281.556 362.83 292.46]
-/Subtype /Link
-/A << /S /GoTo /D (page.37) >>
->> endobj
-2282 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.114 269.601 355.069 280.505]
-/Subtype /Link
-/A << /S /GoTo /D (page.37) >>
->> endobj
-2283 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [491.416 257.646 503.371 268.55]
-/Subtype /Link
-/A << /S /GoTo /D (page.38) >>
->> endobj
-2284 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [480.338 245.691 492.293 256.595]
-/Subtype /Link
-/A << /S /GoTo /D (page.38) >>
->> endobj
-2285 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.366 233.735 378.321 244.639]
-/Subtype /Link
-/A << /S /GoTo /D (page.39) >>
->> endobj
-2286 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.906 221.78 383.861 232.684]
-/Subtype /Link
-/A << /S /GoTo /D (page.39) >>
->> endobj
-2287 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.222 209.825 382.177 220.729]
-/Subtype /Link
-/A << /S /GoTo /D (page.39) >>
->> endobj
-2288 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.656 185.915 391.612 196.819]
-/Subtype /Link
-/A << /S /GoTo /D (page.39) >>
->> endobj
-2289 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [390.715 162.004 402.67 172.908]
-/Subtype /Link
-/A << /S /GoTo /D (page.40) >>
->> endobj
-2290 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [427.775 150.049 439.73 160.953]
-/Subtype /Link
-/A << /S /GoTo /D (page.40) >>
->> endobj
-2291 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.983 138.094 389.938 148.998]
-/Subtype /Link
-/A << /S /GoTo /D (page.41) >>
->> endobj
-2292 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [390.715 114.184 402.67 125.088]
-/Subtype /Link
-/A << /S /GoTo /D (page.41) >>
->> endobj
-2293 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [492.522 102.229 504.477 113.133]
-/Subtype /Link
-/A << /S /GoTo /D (page.41) >>
->> endobj
-2295 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2299 0 obj <<
-/D [2297 0 R /XYZ 90 757.935 null]
->> endobj
-2296 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F11 291 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2399 0 obj <<
-/Length 1583      
-/Filter /FlateDecode
->>
-stream
-x��Z]s�8}�W�ma�8��l��ٙm���I�6��n��[���Z�,M�J�a�%�
��>��6�{��չW�-ciX�e�٬w��u
��]�5f
÷
�&��1
��������gW�8��x�{Ń1�w{���= nZ(�
=�s�Ľ��-#��
�t���)>#�#��G��'�[Xtai/�,�(K��	F�3��>��	�
]|�ᜦ	|
�
C`
0}X���d1�a��e�%I��p�dϖ�o.{�ǡ
��Ȯ��,��1Г0{N
b
�H-��rK��u��2�Y!�

ا1��Fo�tC����Y#�n  �cF�<R�ۉU���`,����ك�Aw�3��)K���
�� !36<4��i�s��R�uh5a�r��`�`<�A�H�D?G8	��$�N4O� I ���}g��� ��
�H]�G������/$�iy[�&h�N���ktehA0�"�D�id�݈E9�8�\���H���7�J�
�q���$ݼ,��7�,O3N�6�<�J��0��p�t[�`bԝT���������k'�S�
S&1�^ ��g�6]�߶u��9hŀe�����

-F�@�o?��,�
�vP*��mpm�`+�������q]~�5%��!�
'	Q�ިqʋB��Lh���N�K�I(&�#Q���	-Db
-薈�c�S59��Bs&Cu�^a.�_�ߋ2����-Akq�q�["����G�i�
�ɋ�>n���x�)��7��y?�AXwMr°H�G1�y�fCʿ�dS፻y
ݣs��
��N^�'|��K�o��h���p�v7�dk����t�?	�^���~��AlI���y�P�
V��(�9ۆ�8�k�N�&��Q쌥�9숾��I��R��
���Z
�nN+
P��u�=2=+j�^���rІ�$��
sN����5c�e�@B�>�v{܎�AW�(�_ŔXȩf\��1�y������G
���SiCkE�Bm�9����
RHb ��\��y��J��y�:(͢
l�j:;
2a2�q5���E�m�s��,+��&���uu��\_z͋%9�O#��nղ:OC�M��f�h���b���d�,�B�ыhL��r�g��܎U+�SM
w��Un���ke��"�Dˬ��l�P0RM�
�W�KE�>��O
��<�[8�Q;���\�v
�x��@+�\�?P���ӂsg]ܣ5�"-+|%')�b�h�G��4��
���Y�L.b�Dd�4��:٥f��c�X`�9�D���I*`�*���T�9m�g�֑���~W��hz�9�#yKs��Oo'�g���1r��
-l�:�+)٢�A�2b�t
�
���Ux��I���VNo��GV���ۛ������fz}�~2���s~�l� ����;6-w��������=g\��}�j�i�"�a��,���KyY�ݔ�̫�8Y������
8S�z�	�e a���78Y������XO*Wy�2噘x���Pwd�2��^�7���6t�1ؽG�������f�1n��1��gY�
D�( F�v'i�����L���:bh=�%�];��E�`���_U"�J
-endstream
-endobj
-2398 0 obj <<
-/Type /Page
-/Contents 2399 0 R
-/Resources 2397 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2228 0 R
-/Annots [ 2294 0 R 2300 0 R 2301 0 R 2302 0 R 2303 0 R 2304 0 R 2305 0 R 2306 0 R 2307 0 R 2308 0 R 2309 0 R 2310 0 R 2311 0 R 2312 0 R 2313 0 R 2314 0 R 2315 0 R 2316 0 R 2317 0 R 2318 0 R 2319 0 R 2320 0 R 2321 0 R 2322 0 R 2323 0 R 2324 0 R 2325 0 R 2326 0 R 2327 0 R 2328 0 R 2329 0 R 2330 0 R 2331 0 R 2332 0 R 2333 0 R 2334 0 R 2335 0 R 2336 0 R 2337 0 R 2338 0 R 2339 0 R 2340 0 R 2341 0 R 2342 0 R 2343 0 R 2344 0 R 2345 0 R 2346 0 R 2347 0 R 2348 0 R 2349 0 R 2350 0 R 2351 0 R 2352  [...]
->> endobj
-2294 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.86 708.674 189.815 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.42) >>
->> endobj
-2300 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.176 684.764 188.131 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.43) >>
->> endobj
-2301 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.107 660.854 164.062 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (page.44) >>
->> endobj
-2302 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.393 636.943 170.348 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.44) >>
->> endobj
-2303 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.178 612.316 201.133 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (page.45) >>
->> endobj
-2304 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.031 589.123 178.986 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (page.46) >>
->> endobj
-2305 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 566.552 140.809 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.46) >>
->> endobj
-2306 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.241 552.54 269.196 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.47) >>
->> endobj
-2307 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.57 541.302 184.525 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (page.50) >>
->> endobj
-2308 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.445 529.347 188.4 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.51) >>
->> endobj
-2309 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.684 516.674 268.639 527.578]
-/Subtype /Link
-/A << /S /GoTo /D (page.50) >>
->> endobj
-2310 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.005 504.719 262.96 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.50) >>
->> endobj
-2311 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.267 493.481 145.223 503.668]
-/Subtype /Link
-/A << /S /GoTo /D (page.50) >>
->> endobj
-2312 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.899 480.809 237.854 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.51) >>
->> endobj
-2313 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.358 468.854 182.313 479.758]
-/Subtype /Link
-/A << /S /GoTo /D (page.52) >>
->> endobj
-2314 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.386 457.616 177.341 467.803]
-/Subtype /Link
-/A << /S /GoTo /D (page.51) >>
->> endobj
-2315 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.368 445.661 182.323 455.847]
-/Subtype /Link
-/A << /S /GoTo /D (page.49) >>
->> endobj
-2316 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.667 432.988 182.622 443.892]
-/Subtype /Link
-/A << /S /GoTo /D (page.52) >>
->> endobj
-2317 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.552 421.033 194.507 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.52) >>
->> endobj
-2318 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.27 409.078 216.226 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (page.51) >>
->> endobj
-2319 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.792 397.84 146.747 408.027]
-/Subtype /Link
-/A << /S /GoTo /D (page.51) >>
->> endobj
-2320 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.234 373.212 186.189 384.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.52) >>
->> endobj
-2321 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.53 361.257 268.485 372.161]
-/Subtype /Link
-/A << /S /GoTo /D (page.53) >>
->> endobj
-2322 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.713 337.347 175.668 348.251]
-/Subtype /Link
-/A << /S /GoTo /D (page.53) >>
->> endobj
-2323 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.018 326.109 152.974 336.296]
-/Subtype /Link
-/A << /S /GoTo /D (page.54) >>
->> endobj
-2324 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.825 313.437 233.78 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (page.54) >>
->> endobj
-2325 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.679 301.481 216.634 312.385]
-/Subtype /Link
-/A << /S /GoTo /D (page.54) >>
->> endobj
-2326 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.054 289.526 279.009 300.43]
-/Subtype /Link
-/A << /S /GoTo /D (page.55) >>
->> endobj
-2327 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.352 277.571 213.307 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.55) >>
->> endobj
-2328 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.941 265.616 146.896 276.52]
-/Subtype /Link
-/A << /S /GoTo /D (page.55) >>
->> endobj
-2329 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.773 241.706 191.728 252.609]
-/Subtype /Link
-/A << /S /GoTo /D (page.56) >>
->> endobj
-2330 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [129.402 230.468 141.357 240.654]
-/Subtype /Link
-/A << /S /GoTo /D (page.57) >>
->> endobj
-2331 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.074 205.84 226.029 216.744]
-/Subtype /Link
-/A << /S /GoTo /D (page.57) >>
->> endobj
-2332 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.617 193.885 174.572 204.789]
-/Subtype /Link
-/A << /S /GoTo /D (page.58) >>
->> endobj
-2333 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.388 181.93 291.343 192.834]
-/Subtype /Link
-/A << /S /GoTo /D (page.58) >>
->> endobj
-2334 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.378 169.975 291.333 180.878]
-/Subtype /Link
-/A << /S /GoTo /D (page.59) >>
->> endobj
-2335 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [246.721 158.019 258.676 168.923]
-/Subtype /Link
-/A << /S /GoTo /D (page.59) >>
->> endobj
-2336 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.195 146.064 191.15 156.968]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2337 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.071 134.109 195.026 145.013]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2338 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.57 122.871 184.525 133.058]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2339 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.445 110.916 188.4 121.103]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2340 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.896 98.244 182.851 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (page.77) >>
->> endobj
-2341 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.772 86.288 186.727 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (page.77) >>
->> endobj
-2342 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [473.165 719.912 485.12 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (page.75) >>
->> endobj
-2343 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.271 707.957 486.226 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.75) >>
->> endobj
-2344 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [382.157 696.002 394.112 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2345 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.879 684.047 406.834 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.72) >>
->> endobj
-2346 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.329 672.092 388.284 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2347 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.874 660.136 450.829 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (page.78) >>
->> endobj
-2348 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.45 648.181 433.405 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.72) >>
->> endobj
-2349 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [434.172 636.226 446.127 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.72) >>
->> endobj
-2350 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.509 624.271 505.464 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.79) >>
->> endobj
-2351 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.132 612.316 486.087 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (page.79) >>
->> endobj
-2352 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.995 601.078 423.951 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (page.65) >>
->> endobj
-2353 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.603 589.123 424.558 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (page.65) >>
->> endobj
-2354 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.302 576.45 419.257 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (page.76) >>
->> endobj
-2355 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.79 565.212 382.745 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.65) >>
->> endobj
-2356 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.597 553.257 375.552 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2357 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [400.408 540.585 412.363 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2358 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [432.617 528.63 444.573 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.76) >>
->> endobj
-2359 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [423.92 516.674 435.875 527.578]
-/Subtype /Link
-/A << /S /GoTo /D (page.77) >>
->> endobj
-2360 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.056 504.719 445.011 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.73) >>
->> endobj
-2361 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [445.778 492.764 457.733 503.668]
-/Subtype /Link
-/A << /S /GoTo /D (page.73) >>
->> endobj
-2362 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [460.722 492.764 472.677 503.668]
-/Subtype /Link
-/A << /S /GoTo /D (page.74) >>
->> endobj
-2363 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [419.497 480.809 431.452 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.78) >>
->> endobj
-2364 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.684 469.571 381.639 479.758]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2365 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [406.764 456.899 418.719 467.803]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2366 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.264 444.943 408.219 455.847]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2367 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.431 432.988 499.386 443.892]
-/Subtype /Link
-/A << /S /GoTo /D (page.78) >>
->> endobj
-2368 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [468.054 421.033 480.009 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.78) >>
->> endobj
-2369 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [425.026 409.078 436.981 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (page.77) >>
->> endobj
-2370 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.684 397.84 381.639 408.027]
-/Subtype /Link
-/A << /S /GoTo /D (page.65) >>
->> endobj
-2371 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.628 397.84 396.583 408.027]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-2372 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.03 385.885 379.985 396.071]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-2373 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [382.974 385.885 394.929 396.071]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-2374 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [426.67 373.212 438.625 384.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2375 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.545 361.257 442.5 372.161]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2376 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [420.044 350.019 432 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2377 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [423.92 338.064 435.875 348.251]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2378 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.522 326.109 395.477 336.296]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-2379 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [467.885 313.437 479.84 324.34]
-/Subtype /Link
-/A << /S /GoTo /D (page.76) >>
->> endobj
-2380 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [437.449 301.481 449.404 312.385]
-/Subtype /Link
-/A << /S /GoTo /D (page.76) >>
->> endobj
-2381 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.226 289.526 466.181 300.43]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2382 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.254 277.571 408.209 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2383 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.765 265.616 362.72 276.52]
-/Subtype /Link
-/A << /S /GoTo /D (page.75) >>
->> endobj
-2384 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.87 253.661 419.825 264.565]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2385 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [450.48 241.706 462.435 252.609]
-/Subtype /Link
-/A << /S /GoTo /D (page.74) >>
->> endobj
-2386 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.355 229.75 466.311 240.654]
-/Subtype /Link
-/A << /S /GoTo /D (page.74) >>
->> endobj
-2387 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.852 217.795 424.807 228.699]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2388 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [397.36 205.84 409.315 216.744]
-/Subtype /Link
-/A << /S /GoTo /D (page.75) >>
->> endobj
-2389 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [450.46 193.885 462.415 204.789]
-/Subtype /Link
-/A << /S /GoTo /D (page.80) >>
->> endobj
-2390 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.587 182.647 375.542 192.834]
-/Subtype /Link
-/A << /S /GoTo /D (page.80) >>
->> endobj
-2391 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [472.048 169.975 484.004 180.878]
-/Subtype /Link
-/A << /S /GoTo /D (page.80) >>
->> endobj
-2392 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 146.781 421.479 156.968]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2393 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.02 122.154 488.975 133.058]
-/Subtype /Link
-/A << /S /GoTo /D (page.37) >>
->> endobj
-2394 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 98.961 421.479 109.147]
-/Subtype /Link
-/A << /S /GoTo /D (page.23) >>
->> endobj
-2396 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2400 0 obj <<
-/D [2398 0 R /XYZ 90 757.935 null]
->> endobj
-2397 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F11 291 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2470 0 obj <<
-/Length 1323      
-/Filter /FlateDecode
->>
-stream
-x��Y]w�8��Wp�pΖ&`@{gm��Qa�ۙ�C5*�,�ί�𡫝�Xp�	y���ܔ\�vkծ��k�MER8k�5�*PD�1��k�;�(|�
�:�E �l\��P���j�� k
L#UTeč��o����r��-ӷ�\]�ٿ˙��5�M�-"�{	q�ĦUP6i��D�z���G�z�=e�M
Ns�N�{���zޟM�.W�M�c���9
`b�Z�*�{FY6�� ?�ou�A��P�n	B���H�����~9�]l�U1܆�������k=j=��\\�^�PO�W�+R7�ߑ�fc��^���^9��Д�֠���@�ɯ�4�.�+�?�����9�ø���;%�e Ĵ06�i|��?�U�߻r��}Wd��6T
}
?Z����
ڀq�/CM-�oez
�o�!�;ɰ�[�ƀ*�Uָ�<0O�[W0K���5���$�$����bN�0m�hZ�5����
-��:�];����{q��H@�ОSƃ�����&��5lwA���]*�)�hhǔ`�Ω�c�����XB𫠤:�3&U��
�/l�Č�x��Ӄؙ;?���=��Ǵ��
��A�������)��v�K
��J|�p&�p�v��%�)o�_LEb3��n���B{�w���6	|w5���&������f?�0��"
�W $���������z��^ZF��{Gx������]��>�Eqh3�8#/�Y�W�3v�!ɊX*��Pd��P9����R���L�5�Dh?�P*ӠZ���OJ��Ʌ��3���(
-�Z��a�LĘF{�U���Y~z����HI�~�����;��
��*�u�Ϋ�^�͆
Yz���@0�K63�������b'1�\Г�7JL��lՇ���N譥J&��eb���=�a=S��
8S䰽�3Y�E�H�E�8��ń�✩wƘ��B���t�x���ר�'"]�0y�M
-�Fj
G��y��%�Q�Rղt|���4�(t��op�8�/�n9�Ť�e� �4�mF{�<]�>a1]Ƚδ�T`��e�]��ѯ}���S�(�Y���%I�{��ҭ�ό�3!Y�G���NH%r����

����C���#|� ��3�^R+�_�͝���g�!�Q��y}欈MUn�ߨ)"T�x[3*��o
-��q���1/��m�ɻmo���9���
=mF4�M@�����-l7��
-�ʇ0
�i#!%�E�JfP&��|2a�ͭ�>%��hk�R�ܜ���8���^.��(���_�{�#�W���.��
rVyg��l������2C��!�lP��w<��<��;�L�� 1/�
-endstream
-endobj
-2469 0 obj <<
-/Type /Page
-/Contents 2470 0 R
-/Resources 2468 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2228 0 R
-/Annots [ 2395 0 R 2401 0 R 2402 0 R 2403 0 R 2404 0 R 2405 0 R 2406 0 R 2407 0 R 2408 0 R 2409 0 R 2410 0 R 2411 0 R 2412 0 R 2413 0 R 2414 0 R 2415 0 R 2416 0 R 2417 0 R 2418 0 R 2419 0 R 2420 0 R 2421 0 R 2422 0 R 2423 0 R 2424 0 R 2425 0 R 2426 0 R 2427 0 R 2428 0 R 2429 0 R 2430 0 R 2431 0 R 2432 0 R 2433 0 R 2434 0 R 2435 0 R 2436 0 R 2437 0 R 2438 0 R 2439 0 R 2440 0 R 2441 0 R 2442 0 R 2443 0 R 2444 0 R 2445 0 R 2446 0 R 2447 0 R 2448 0 R 2449 0 R 2450 0 R 2451 0 R 2452 0 R 2453  [...]
->> endobj
-2395 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 720.63 216.625 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2401 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.611 708.674 205.566 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2402 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.673 696.719 159.629 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2403 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.166 684.42 159.121 694.951]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2404 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.798 672.465 227.753 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2405 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.389 660.854 203.345 671.04]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2406 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.219 648.555 206.174 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2407 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [169.81 636.943 181.766 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2408 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.595 624.988 148.55 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2409 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.61 613.033 200.565 623.22]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2410 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [184.734 601.078 196.689 611.265]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2411 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.919 589.123 253.875 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2412 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.327 577.168 185.282 587.354]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2413 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.24 565.212 155.195 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2414 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.947 553.257 259.902 563.444]
-/Subtype /Link
-/A << /S /GoTo /D (page.23) >>
->> endobj
-2415 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.761 541.302 165.716 551.489]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2416 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.125 529.347 287.08 539.534]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2417 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.963 517.392 284.918 527.578]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2418 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [212.42 505.437 224.375 515.623]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2419 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.895 493.481 145.85 503.668]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2420 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.71 481.526 237.665 491.713]
-/Subtype /Link
-/A << /S /GoTo /D (page.23) >>
->> endobj
-2421 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.324 469.571 263.279 479.758]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2422 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.122 457.616 261.078 467.803]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2423 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.165 445.661 175.12 455.847]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2424 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.384 421.033 199.339 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.23) >>
->> endobj
-2425 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.348 409.795 230.303 419.982]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2426 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.242 397.84 229.197 408.027]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2427 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.307 385.168 209.262 396.071]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2428 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.398 373.212 190.353 384.116]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2429 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.641 361.257 213.596 372.161]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2430 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.708 350.019 211.663 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2431 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.716 337.347 206.671 348.251]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2432 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.658 325.392 195.613 336.296]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2433 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 302.199 204.998 312.385]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2434 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 278.288 204.998 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2435 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 254.378 204.998 264.565]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2436 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 230.468 204.998 240.654]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2437 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 196.595 204.998 206.781]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2438 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.539 171.967 272.494 182.871]
-/Subtype /Link
-/A << /S /GoTo /D (page.37) >>
->> endobj
-2439 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 148.057 278.601 158.961]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2440 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 124.146 278.601 135.05]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2441 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 100.236 278.601 111.14]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2442 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 719.912 495.083 730.816]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2443 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 696.719 421.479 706.906]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2444 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 672.092 495.083 682.996]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-2445 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 648.181 495.083 659.085]
-/Subtype /Link
-/A << /S /GoTo /D (page.76) >>
->> endobj
-2446 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 624.271 495.083 635.175]
-/Subtype /Link
-/A << /S /GoTo /D (page.76) >>
->> endobj
-2447 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.195 588.405 392.15 599.309]
-/Subtype /Link
-/A << /S /GoTo /D (page.54) >>
->> endobj
-2448 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.648 554.931 505.603 565.835]
-/Subtype /Link
-/A << /S /GoTo /D (page.51) >>
->> endobj
-2449 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.195 519.065 392.15 529.969]
-/Subtype /Link
-/A << /S /GoTo /D (page.54) >>
->> endobj
-2450 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 495.872 421.479 506.059]
-/Subtype /Link
-/A << /S /GoTo /D (page.23) >>
->> endobj
-2451 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 471.245 495.083 482.149]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2452 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [449.136 435.379 461.091 446.283]
-/Subtype /Link
-/A << /S /GoTo /D (page.57) >>
->> endobj
-2453 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.648 411.469 505.603 422.373]
-/Subtype /Link
-/A << /S /GoTo /D (page.51) >>
->> endobj
-2454 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 387.559 495.083 398.463]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2455 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 363.648 495.083 374.552]
-/Subtype /Link
-/A << /S /GoTo /D (page.75) >>
->> endobj
-2456 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 330.174 495.083 341.078]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2457 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 297.417 421.479 307.603]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2458 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 272.789 495.083 283.693]
-/Subtype /Link
-/A << /S /GoTo /D (page.74) >>
->> endobj
-2459 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 248.879 495.083 259.783]
-/Subtype /Link
-/A << /S /GoTo /D (page.74) >>
->> endobj
-2460 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 225.686 421.479 235.872]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2461 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 201.775 421.479 211.962]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2462 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 177.148 495.083 188.052]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2463 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.754 153.237 506.709 164.141]
-/Subtype /Link
-/A << /S /GoTo /D (page.31) >>
->> endobj
-2464 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [470.385 119.763 482.34 130.667]
-/Subtype /Link
-/A << /S /GoTo /D (page.80) >>
->> endobj
-2465 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 86.288 495.083 97.192]
-/Subtype /Link
-/A << /S /GoTo /D (page.75) >>
->> endobj
-2467 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2471 0 obj <<
-/D [2469 0 R /XYZ 90 757.935 null]
->> endobj
-2468 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2475 0 obj <<
-/Length 415       
-/Filter /FlateDecode
->>
-stream
-xڍ�]o�0���+��@�؆\N�d�L��V�����?;S�R������!P�k�)G��!Ùd�-d��X0
-�����竇�)_ at B9&\ٺ)���]��/��I�N�Ba���|"���̳�)���q{�p�~ �D�
f'J��Fw�~0U[N8Ԧ2�8>�Ӧѫn_?ѫ��m�y���w'Z�iJ����2b�	�q���y�V�0}�سH�3�S/RdX����"�p��T'1�<+r捓包	�!�>���K�j��ن�z�]���|�zg����kw$�
O�
�W��9	�3�8��mu_���c�����i��
�LH���k��n��8�u�m�\
q����x(J�hv��G���DWvk��H�"��Uk=X!�Uw��� ��X
-endstream
-endobj
-2474 0 obj <<
-/Type /Page
-/Contents 2475 0 R
-/Resources 2473 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2228 0 R
-/Annots [ 2466 0 R 2472 0 R ]
->> endobj
-2466 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.219 707.957 243.174 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.41) >>
->> endobj
-2472 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 57.047 460.789 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2476 0 obj <<
-/D [2474 0 R /XYZ 90 757.935 null]
->> endobj
-2473 0 obj <<
-/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2477 0 obj
-[777.8]
-endobj
-2478 0 obj
-[777.8]
-endobj
-2479 0 obj
-[513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 799.4 513.9 799.4 513.9 543.7 770.7 777.7 733.6 847.5 756.3 656.2 804.8 850.1 449.3 566.3 870.4 699.4 992.9 821.6 782.1 656.2 810.6 777.6 627.8 599.6 699.1 599.4 970.5 849 596.5 699.2 399.7 399.7 399.7 1027.8 1027.8 424.4 544.5 440.4 444.9 532.5 477.8 498.8 490.1 592.2 351.7 420.1 535.1 306.7 905.5 620 497.5 515.9 459.2 463.7 478.8 371.1 591.4 499.2 736.6 582.6]
-endobj
-2480 0 obj
-[611.1 675.9 546.3 675.9 546.3 384.3 611.1 675.9 351.8 384.3 643.5 351.8 1000 675.9 611.1 675.9 643.5 481.5 488 481.5 675.9 643.5 870.4 643.5]
-endobj
-2481 0 obj
-[642.5 589 600.7 607.7 725.7 445.6 511.6 660.9 401.6 1093.7 769.7 612.5 642.5 570.7 579.9 584.5 476.8 737.3]
-endobj
-2482 0 obj
-[513.9 799.4 513.9 799.4 799.4 799.4 799.4 799.4 799.4 799.4 1027.8 513.9 513.9 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 1027.8 1027.8 799.4 799.4 1027.8 1027.8 513.9 513.9 1027.8 1027.8 1027.8 799.4 1027.8 1027.8 628.1 628.1 1027.8 1027.8 1027.8 799.4 279.3 1027.8 685.2]
-endobj
-2483 0 obj
-[569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 323.4 323.4 323.4 877 538.7 538.7 877 843.3 798.6 815.5 860.1 767.9 737.1 883.9 843.3 412.7 583.3 874 706.4 1027.8 843.3 877 767.9 877 829.4 631 815.5 843.3 843.3 1150.8 843.3 843.3 692.5 323.4 569.5 323.4 569.5 323.4 323.4 569.5 631 507.9 631 507.9 354.2 569.5 631 323.4 354.2 600.2 323.4 938.5 631 569.5 631 600.2 446.4 452.6 446.4 631 600.2 815.5 600.2]
-endobj
-2484 0 obj
-[892.9 339.3 892.9 585.3 892.9 585.3 892.9 892.9 892.9 892.9 892.9 892.9 892.9 1138.9 585.3 585.3 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 1138.9 1138.9 892.9 892.9 1138.9 1138.9 585.3 585.3 1138.9 1138.9 1138.9 892.9 1138.9 1138.9 708.3 708.3 1138.9 1138.9 1138.9 892.9 329.4]
-endobj
-2485 0 obj
-[594.7 542 557.1 557.3 668.8 404.2 472.7 607.3 361.3 1013.7 706.2 563.9 588.9 523.6 530.4 539.2 431.6 675.4]
-endobj
-2486 0 obj
-[1055.6]
-endobj
-2487 0 obj
-[399.7 399.7 513.9 799.4 285.5 342.6 285.5 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 285.5 799.4 485.3 485.3 799.4 770.7 727.9 742.3 785 699.4 670.8 806.5 770.7 371 528.1 799.2 642.3 942 770.7 799.4 699.4 799.4 756.5 571 742.3 770.7 770.7 1056.2 770.7 770.7 628.1 285.5 513.9 285.5 513.9 285.5 285.5 513.9 571 456.8 571 457.2 314 513.9 571 285.5 314 542.4 285.5 856.5 571 513.9 571 542.4 402 405.4 399.7 571 542.4]
-endobj
-2488 0 obj
-[525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525]
-endobj
-2489 0 obj
-[761.6 489.6 761.6]
-endobj
-2491 0 obj
-[556 556 167 333 611 278 333 333 0 333 606 0 611 389 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 278 250 389 555 500 500 833 778 333 333 333 500 570 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 570 570 570 500 832 667 667 667 722 667 667 722 778 389 500 667 611 889 722 722 611 722 667 556 611 722 667 889 667 611 611 333 278 333 570 500 333 500 500 444 500 444 333 500 556 278 278 500 278 778 556 500 500 500 389 389 278 556 444 667 500 444]
-endobj
-2492 0 obj
-[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600]
-endobj
-2493 0 obj
-[388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 277.8 777.8 472.2 472.2 777.8 750 708.3 722.2 763.9 680.6 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.6 777.8 736.1 555.6 722.2 750 750 1027.8 750 750 611.1 277.8 500 277.8 500 277.8 277.8 500 555.6 444.4 555.6 444.4 305.6 500 555.6 277.8 305.6 527.8 277.8 833.3 555.6 500 555.6 527.8 391.7 394.4 388.9 555.6 527.8]
-endobj
-2494 0 obj
-[500 500 167 333 556 278 333 333 0 333 675 0 556 389 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 214 250 333 420 500 500 833 778 333 333 333 500 675 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 675 675 675 500 920 611 611 667 722 611 611 722 722 333 444 667 556 833 667 722 611 722 611 500 556 722 611 833 611 556 556 389 278 389 422 500 333 500 500 444 500 444 278 500 500 278 278 444 278 722 500 500 500 500 389 389 278 500 444 667 444 444 389]
-endobj
-2495 0 obj
-[500 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 500 777.8 500 530.9 750 758.5 714.7 827.9 738.2 643.1 786.3 831.3 439.6 554.5 849.3 680.6 970.1 803.5 762.8 642 790.6 759.3 613.2 584.4 682.8 583.3 944.4 828.5 580.6 682.6 388.9 388.9 388.9 1000 1000 416.7 528.6 429.2 432.8 520.5 465.6 489.6 477 576.2 344.5 411.8 520.6 298.4 878 600.2 484.7 503.1 446.4 451.2 468.8 361.1 572.5 484.7 715.9 571.5]
-endobj
-2496 0 obj
-[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600]
-endobj
-2497 0 obj
-[556 556 167 333 667 278 333 333 0 333 570 0 667 444 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 278 250 333 555 500 500 1000 833 333 333 333 500 570 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 570 570 570 500 930 722 667 722 722 667 611 778 778 389 500 778 667 944 722 778 611 778 722 556 667 722 722 1000 722 722 667 333 278 333 581 500 333 500 556 444 556 444 333 500 556 278 333 556 278 833 556 500 556 556 444 389 333 556 500 722 500 500 444 394 220 394 520 0 0 0 333 500 500 [...]
-endobj
-2498 0 obj
-[638.9 963 638.9 963 963 963 963 963 963 963 1222.2 638.9 638.9 963 963 963 963 963 963 963 963 963 963 963 963 1222.2 1222.2 963 963 1222.2 1222.2 638.9 638.9 1222.2 1222.2 1222.2 963 1222.2 1222.2 768.5 768.5 1222.2 1222.2 1222.2 963 365.7 1222.2 833.3 833.3 1092.6 1092.6 0 0 703.7 703.7 833.3 638.9 898.1 898.1 963 963 768.5 989.9 813.3 678.4 961.2 671.3 879.9 746.7 1059.3 709.3 846.3 938.8 854.5 1427.2 1005.7 973 878.4 1008.3 1061.4 762 711.3 774.4 785.2 1222.7 883.7 823.9 884 833.3 8 [...]
-endobj
-2499 0 obj
-[472.2 472.2 472.2]
-endobj
-2500 0 obj
-[777.8 277.8 777.8 500 777.8 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 500 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 1000 777.8 777.8 1000 1000 500 500 1000 1000 1000 777.8 1000 1000 611.1 611.1 1000 1000 1000 777.8 275 1000 666.7 666.7 888.9 888.9 0]
-endobj
-2501 0 obj
-[556 556 167 333 611 278 333 333 0 333 564 0 611 444 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 180 250 333 408 500 500 833 778 333 333 333 500 564 250 333 250 278 500 500 500 500 500 500 500 500 500 500 278 278 564 564 564 444 921 722 667 667 722 611 556 722 722 333 389 722 611 889 722 722 556 722 667 556 611 722 722 944 722 722 611 333 278 333 469 500 333 444 500 444 500 444 333 500 500 278 278 500 278 778 500 500 500 500 333 389 278 500 500 722 500 500 444 480 200 480 541 0 0 0 333 500 444 1 [...]
-endobj
-2502 0 obj <<
-/Length1 754
-/Length2 1067
-/Length3 0
-/Length 1597      
-/Filter /FlateDecode
->>
-stream
-xڭ�{<Ti��RL7%�A�"vR�3F.�6�qc�0��4sƜ�9g̜ш%�K[HZ�-*E4�P��K�dS�(�Ɉ�t��*E�=T��տ�9���y~��|���X�s�m�l
��P���\�g #
� ȎB!YYy�`
�`��]��B~
-1�: *�J��ҜIV��FːȞ�GDN�.�e��� 
.�%D>O
�1>��v�.���r�aY,�#A |
��#�d?��
-1��9-PH���`�������``�8`!ɞ��`���ۜ���<�H�Q����$�8���H8,� ��c���g� X�($c��8O���h���)D�D�����|��rx4����s��,�P��_�t���!(�<Z�O��h
���%��B������3���1�F ��"���x�$b{���@ A��J����p� L�	1i�E�)�^��HF�
���H���}<<0e�-�l�.��4Gpr���%_!��(>�.�-_c!B��J�O���_��>�Lrq
���D�F�#�"�]^w�ܤĶ����&�H�������S�u��6�7�o��]���I��T�~�Z۝��7���܀�GR����Ӫ��~��Q;�f�����C��^z~�C�Z�xb��V}xԩ�_�9�1s�+R��Y;��"�Si)����Y�5��֧�V.�ׇU+f
����q��ʦKE5�[,�
M�tܦ�H�c"62�n�U_�
X�?����(+~��M�p [...]
���A���Cw��x�eZ���T�E��d��l�n�c�?��
xw�rau�է}CѴ��g5��+Cɾ�
�N��w����Nk�wYǘ�����!����-M��~��BA�h^TXT�WY�\b����y��IF9�%������mgb
,y�^���2g�6L�5!�q�-"(�w�NbT[�Yn��=�JHRB'פ�F�!��A��6O˨R�<��T��MM�J%r��r�>>��y���c{u�[9�@�ZN?�+�&�u���Y�������C��8��T�6�+�����oy�o���ݫy����uqv�tҚi}��/��Lp���.�N�t
-�.��i\R������9�ԁ
��U�9{�]m,Ye$P�n�ܷ�NM>?���{��Ǘ/�?m�>�����B�gի��5S�<yɾ���1.E�7���½�]�ȉ=R*��at	
*��K��r
۬��k��ˍ��s��x��M�){��u^�� ������q-b��{��܋�
�n�ܱ|'�N���t��%�BM���F����1%ͯ�U�c
s
���hS\
��վ�R��\��ko��wC�(�F�[L�-����++�Q�
�2z�;*�����A���m����+R����vh��[kv"O�ԧ��;�
1C��e]7
��.
>S�8�x�V;k��&�[�I�K]���`_F�U�W}����΁�Sz]�zXYB�)=�6��\����ӷT�A�hoA{��X��	�o�E�8�O�`m�����c�{�D�C����'
#]���gW}(��3��8�v�Y;ϋ���qV�,:on�~㌸�4��ȭE����<�0�T�7��b
-endstream
-endobj
-2503 0 obj <<
-/Type /FontDescriptor
-/FontName /LBWBDW+CMEX10
-/Flags 4
-/FontBBox [-24 -2960 1454 772]
-/Ascent 40
-/CapHeight 0
-/Descent -600
-/ItalicAngle 0
-/StemV 47
-/XHeight 431
-/CharSet (/summationtext)
-/FontFile 2502 0 R
->> endobj
-2504 0 obj <<
-/Length1 925
-/Length2 2998
-/Length3 0
-/Length 3616      
-/Filter /FlateDecode
->>
-stream
-xڭVi<�m���4��zKj�13��]�,�!똹��,C�l��Z��,ɒ�Jh�$-��#�W�?R��N�>o����w��s9��:��í���
7#�}A+:�	G���s
��8g$��b� �L2�f�g�� JOO�
� � RG���ց� ���0�ϟ	��U� fT�A&�i ���
�8�	d���Q(�ӏ� �	
! Q
�BD2�	��~d�C�-�Dt~������B at FG �)S�$�i�0�� �Ct�m G����?ɭ�)�Cx���N�O
O%S��]A�3A��A��R
�K
$���fm�x
-�`F� 
�����'Y�CA��I�HxJ�3҈*���S�0�������L:��4&6,���b�o�1�Aܑ�H$�S���9y�q�%�@'�i~�Z�3�0g�8
D� 2��`(G1B�FgrZ �3� �΀��+g4���/�
 |���5 �ߏ5��O
��4�.A
-�_y= A�
9�F��
j��dZ
.�C�?���$����įE���0�'�_�
��F�55 ��cRK�A##�O!!�� i̟���?�D�LCA��K'��x/�<ʲ���O5H.�4��������
ĺ��XP�o�Ӣ���E�f�@I��=���Έ����B��9���	�
^�ϯ<k����R��U�P^
y�w�~
-�S�=�[�׻��z�%p��<����>t�4��juƚ^Lg�<���Y�`A��:����]���d}ߎT
%����rY������崻]
-�.#�lW�����9��z�Jق���"�lp�G��V��e)F�%�-`U��'TcZc�D��)���
�
���L'���߻�y�x�����y�d���%}����kS�VmCB���Z�����?2�Ll�
��{F}c2z�~����H�%)�4 S�l�ł���j��Z3<,C��ܞ�
G�>?}r.W�������Cl���ʚ�b
��D^��:+���u����RJ��r;E�<&��
-��34m���I1�*[���v~�w����#������Q|�q�)�3�}�s<�V��u�V�i}!��"{�x1�z���jآ���
-��O��G_��ZHWi�-����}��T�_V.2E�
֊|�n&�4����������
~�ƥNWK"R������xC�F�������YQ��_���D-���Y���C/F�z�q���+���c�z�al���!J�F )njg����단�*D����~0�t+F����4��>�\�S�����,D�D��]m%��J�>�y��=�>.�!ޕ�,�eFl~��NMA
-�d������U�ᷫ�1�/gϾ~�@C�l�;g�H��S����� >N��
#_e�-��9r�ʎ����4�[�u�v:S|������4+���-�m_��zO�u����J�bi�⸾���
����]�g�d��/�j}��;�%�nЙ,
Ɇ������
v�žGN¦w��K��$J�O'�
��]�fE��]}�m!P�E'[fe����"�cV��ȫo0R�I��Kn�7*�o�w�h�/
->�U)=� @��D��<��@q���H�X�B��b��S�X鵍��
���p���g�x�~���v��(�qs�
�_ıWhy�|�]T��d
�3�o�\����{��N����
����߷��5��K�Q�o����fDJ
w�b;<(aH�n�jc�vy�D��
Ga�f�Fkg!6��ZD>#}wqӫ�
-���ז��V^
�e�
��<�#w��W���9����V���R
�]T5;ו+���X�"ҿ.��I���q��ꔿ��g`l����*�^����Tt��~
is�ܼ
�4��Q�;��5������U�;$l�
-�e�N QME�+�j��V��oM����(Q��a�5;��R{�^�j����������W�w����m:'~�0O���6�Y ;�r�饘��QH7���ۻw/��څ��z�V.b�#�+E��fd���w��1�H[���_#��^ߊ$뀷�c
-��_T�H�p��] ;�����9�Mڷ~�X�U�]qD�K{&*=
GJ�
�T��v9�wi��/u���olC�G
,��?�cȅ��85��vYK�&��F�
.�I��ϣz�%┵|�����4+��X3_/q��Ӹ��wz���\z
!�2]v�9�dݧT��LLd|�����M3���·v���^�p��J_p&Vi��E)�*m1NUH{�]�Ym+���w��)h>w����z*�
T���_��N
�<�|�7���8�E�`Ŷ{�0�������_wQ����� ���7Y��\���@~�V(�\@xe�Ce�|v�D�`���cgռ����a�c.��Ԍ?g2�����p��kG��h�C/^DY��
-��VB
���6��6��C���N
���o�K
Y�~lV`a�`LjX�t��ò�g}�2J���o�؉���d<tԿ�!=��m�$�w������Ot7ʚ������%%g$�t��c�!̺{�ʫYb���02=����w�>��ċ�!�^}��IeC�U
-�e�r�S	�P����K�Ʌm$nl�5��wa}2�h��d�L�,�G
�
�*�)�ܦ��&nݐ~�<�p��L)�B/#�%p�H��H)ޘM��*�oEI��͔��޽�)[�5���L��YG�_Zw������ٙ��?��r������\`[���#�mH��4�eX
1Ɖ���0o�{�9�g�}��Ļ4}S
-�-Z!	�����I�'���(��Ϗ.ׄ�C�Tc{xB-�o��-V]/��Cp
x��ŕ�=ј�h$V���:ʷ
�kW��p��Aߺ�b�'�o��h�����^(�gԔ��-�f���ےe�Z�;����wO��R�������*^�`��QM#���\'�z<�Z���KZ�󑬯2t��PD�P*o�&;Ԏ.P�~m���o��
��=~�j���nxi��ݝ���)cm�//pǻtc�h/���I)�
��[xQ��0o-$=�`�P�/+a�od�-̙�����!�a�}?��Q��S��"�)|d绱��k5D@��K��U(�oR�pz3��

Y
O��H�M{�Ǡ��l{�����xK�Z�e��I�v/
�.�߆�6��ڛ�����'���eo6a
~�mf2{�l�����tU��$�
S���+��Y����R(æM�e��p��D��[��Q9J����q�r�M�[���控�ɦ�OC��E�c�a�|:
Z���0�ә'w<�q��8�\���V���+WG�?
�3�Z��0�?숶���xga!��������SA�r�S�W-b��p�u�π�uI� �\°�����~Iq���i��ҧ]�aK��Ba������!�<�B��$)Fõ���ÑD٪�p��"�D��6�r-�yb�N.9���'�}&]�<%�{�=��Q0=��C�c^���*/Y�^���Xh�K���7�bu
6�ѱ|Y��i8��B
�^�����p�g`[i�ǹ�G�9;���f�J�����%�ܥ�n�8R<�iF�23�o�'B$-D�5]��r���?<1�=`Xi��N8�{��n����dӶ
CƎ�}��u��
-endstream
-endobj
-2505 0 obj <<
-/Type /FontDescriptor
-/FontName /OTQMQX+CMMI10
-/Flags 4
-/FontBBox [-32 -250 1048 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 72
-/XHeight 431
-/CharSet (/a/b/greater/k/less/m/n/r/triangleleft/triangleright/x)
-/FontFile 2504 0 R
->> endobj
-2506 0 obj <<
-/Length1 771
-/Length2 1151
-/Length3 0
-/Length 1696      
-/Filter /FlateDecode
->>
-stream
-xڭRkTS���2ȳ"����U*�!%H1��T�hxHE.!g�&�`0�@�](
-�C

�PA[
-"�*��UQ��X�b�F�{���J��5��{����3��a|7��� 
S����l������h$
-%@
-�
-�too/�U�0X��9��b3�$
-�U2T�� K�N�X�#�2T(� O�H�R��P |\�B��
p$�v�
��r(K��;�N*T�x(F1u�S0&��=�$%~���LN�K�l.�I�$*�@��� ���akz�$�$T �l?��?x����T���$�
�@6]ߛ�AM�Ng�	*�`b	ntOw��{
��J���
-a	$r8�C
���o��k.7t͗����Sd� ��Dh��j�_5�
U��4w�N��a�aڰ��GPL
L/ ��*�h�`2A*
�� *	�Tw
WG �L�2��z1 U<�Ո��=FT	�˧�^��W��yЀ�I��1� �IK��P�$�AL1�}��>�"��B%��]��g����
�+KoT�Z*w,�v��Fmm����/>��e��á�s��F����U�Q�>�����ʧj��d1oiI��p0&vF{q[���H�c�K_b�g#w��Mn�U2 at g
%�6���7�o�\��7/@?:H�P|6$F��fw�
�⥸���>���G��-�:7,
-���fv
{��[�7���U�c(��~�6�ԉ<�Ս�����V��>���Ζk�R��tC��˽�3����
�,�M�ת<`hըf�f�_ݨ/�k�[�/�S�Q���[�t��m~=a�T�|��q4����Y���.����Ő���T��f|�S{t�� ����&���ھ��)Li��gI9��QUP���hW�~�nAIMY.3�է���
/���ώ���u<��`���Q��,��M�!�!)c�G�


��/<�w��*)�%
�O�:�ȩZ����i���On9�ɢ�Ԛf}������W]㪗���.��a^��$�}�N�ӧ~͸G�E�]m��zm��60��͓g
�F��#�\�:s�W:xfXe��r��iyv�H>e_$k�
J
7�����[�=�s��

u
�J��y1h�m��u)x{�팜�n����A��/�������3IpI�N��ՙ����}���k��3�5
*�~m���$�^d����i
E�'C4��Ʋd;�ji}TaՎ��u��|�brmٍ�9�2
Q5 [...]
q���
����2�k��b"ۆbj���d@���|��^ק5�+�����'��c/t���b�ƻ���)��b�B�	?����E�I�ܸ��G8���s�=}
-ճ,
.�
�
��y᪪�Cu�
��'e�
-M�w���|p9��+�|�ɶ>C|�2���N!����[����o2�Ù�q'
-t�zT�]^�.�t�]�>ͯ�f���5���N�OV�+2�Ϭ�zS�w�`�s�jeq�'
�m�z�d
�N�9�]H�5^��=
�9���2��~^��vM�� �b=�
-endstream
-endobj
-2507 0 obj <<
-/Type /FontDescriptor
-/FontName /ZGGNQH+CMMI12
-/Flags 4
-/FontBBox [-30 -250 1026 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 65
-/XHeight 431
-/CharSet (/greater/less)
-/FontFile 2506 0 R
->> endobj
-2508 0 obj <<
-/Length1 805
-/Length2 2096
-/Length3 0
-/Length 2657      
-/Filter /FlateDecode
->>
-stream
-xڭ�y<�k�OQ���Gf�0dKvٲ/M3�0��
������}�H��J�=:�d_B�^1�%$������v�}?�?��~�u��}�JY�*�a��Ac"����#4

35��TV����@G$�(�&���P����S�����)MU�,`@�p�^ j ;0�z� 	�F 
�
�e�@��-�)48���6;Ȁ
HI A  
M.��8D� Ɍ�%�����Z �̀��0a C$�i �B�,���@�������x�%��`�AP�j�|qxڟ���?$D
H"�hu ��Y����]3
-
-�C�<� ��@•���8�1�
-b�p��E���:H��Hˆ���
�
��_췞
-G����@@�o�7��[3""ᨀ�2\Y�02��Vn?�eD@18�'����H$
�����
-! 
R�� V����L�%� �ʸC@	sP�S" %�RP��["f�?�:���M������� ƳRTQe� ���r�����$H�|{a���X
#w��h�P?��}��P����#0�DjQ��ߣ��j��cZ|���N;��*o�7��'e��\	�U� Z��d�5���) �I�eYB�]��f�n��͸53$9�W��4,�1
������\х��%��k�>a����cd>�@ܲ��'�����۾̛�C�®i�{C�
��>�9S5��,����]L*���%ͨ�����7l�
�U#T�
-�h�p�^��҈'�Ū�"�B��}3nx8��W�
����q�Ԅ�e��
V�� �����;�M��,a�Ԥ����4��5KťB�Gc��}�+��~�D�6/����f���7	�O-'�Z�y
�����{:���&�
�a��"�|۬ΫL�<WHg�������bV�!B<e��k\X.Y��'5��5��q�
��!��9�ٲj�_)�_^Zl�n$��\z��Ԯ*?|FPk���
C�ZL(/3��Ǣ����o�;
-��j�]�e|��\��c���z77" ��1��<���9��k}�6?S��N{7��"|��vD����0��_C�;�ܳ���
^��^
������J��I��Y�I���w
��aYa2*{��-	���n�I�7���h��x<Ӻ8 �^XT���U�M�Iȑ��+r
�:.��Yw�ʩ5	gk�e�E��s�#��r2oaЈ�>T�q7�p��b}���e�?ö٩�
�����1�<�+�˧X%�DC�c9%֌ՙ�m�$fq�p�uj�&[ϗ�64n��y}v����z
r~�1�M����.w��T��jm�N�vӂܸ�/�6��}��,���������ݚ��
-�P����'�'�����ᨖ/�h���l;��m�O.EY�ݬ�A��4�5�ެsm��>P�:���s�ZgX[#E�g���vU쐽=B�^��F'�+%���t����_�L�~�w�a����L4a����4^��gzˉl�|;��LS��ә��>���ʲ9�:7�:��?~��W6>���'�ƣ�{��fE8k#�
�����%Ӑ1m��z��N�iɻ�$(S'<v�#�gS[�|
��;����Qq��
<�ˤw�Q��#Z��
:�*�ש�-Sw#�C^�a�,5U>�>C��

O��9^^���3
����F����$sU�Wy�{�����#z��
Zsz{x�x?���<����b4�����
�6���ިW
]שe?��X׼�W�i��ߣu��bs����?-�w��9qh��l,d�E0�49�����M�X�
[Ŭ�P�1���sQK�{O9�j{�G�
�$K�}�ٓ4���;��A'f��x��ad3zP`�`=������E�����
�:�q���
��|���
rY��k(�i�fK3�I�O/M5oX
v]>1j
~�
-{H��g����y�ԩ>ֲG�\����.S�.��"�S��{i�]g�$�9�az˥ڛO�</ϪLvj�M����ۺ���6M�
-plz�!�94�����]W�s���T���y
�
�.6��|)���W�)���NwDGb�G�����6��x���S�z�B���f6���OL�d��5<l�z5K;�b=����Yr�
�L�J���^Oᰩ�v��<&��
n�o���r�ӯ�c�����'��nL
b��s2���1s&G��A{�C�)T�;lE��E��J�|�݅M`��n+؆P}��rϓD=0��øM?��0?��l���ȗ�n�y1=���eO6�q3Z�Tp�A��;���w��b-�M�:*�;L%�g��?L`R�= 8��`�,�
b�OZO$��'J�/\
h󯽷����H[�<:,]�z�5*�q񹧩�\:�|3S����aiz9Xg��
���ҵ����+�Nij��_�=a3��7b��������L��pL��T�ĕ�r]=�B�D�
s�-�"E�ޗ�جgc���~s����D�N{�$�\sU�~Kv3G�j�>a�f	�WU�S�g5=�Dαt\Ҡr
�?ɬE��縒�
5nN���s�\� [...]
-
!.6��0۷d�r=Ђm�J�
)��^[9
hw]f򽑂���b6b3l�M�!ɗ[ܤ[3��ə�3��UM����k��\5n�r��:_���#��~�Ew��إ>��}G��
�ڕ����d�$E�@w�8կ$����F�fb��k�0���d�
-endstream
-endobj
-2509 0 obj <<
-/Type /FontDescriptor
-/FontName /OMWOOP+CMMI6
-/Flags 4
-/FontBBox [11 -250 1241 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 85
-/XHeight 431
-/CharSet (/d/e/m/n/u)
-/FontFile 2508 0 R
->> endobj
-2510 0 obj <<
-/Length1 819
-/Length2 2291
-/Length3 0
-/Length 2854      
-/Filter /FlateDecode
->>
-stream
-xڭRy8�k�^�,�$�����`NKֱ�E�1�F�0#K��儌��Be
�81��)K�"[��%%[��:�:����]���{?��<�}�ϫt��I
��x�'(d�\
���і�����L� �F��M14P���� VAD at C�!�59WP	0���R	>�4@��MB (H%`1d ����$N,�8Q�����D�q�"pAj0�S��
K�AY�-ɒ�� �a\��_�`���|�	8"q21��xA�-�3
�h������ "�C�n�mԿ���'�B���T M��T��T7�64�#�~�Z�0DE�!��\K
��#N<A��8{
�
�1�@�{
$�~V±���������������4�P��M���c�ET
8S���
"�����i�K��>�����R1��0N+
mm 
�8��t�`�:�B� 
c" <�*��U�(n;�'�P�P��� (�o�Ԓ� 4�;��
��z
P�Іm� B�?4l�
-�i���ҿ0����A��� ���ˮ�/�4+�-�
ȹ��W��T�CJ���{�����q�~�2�+��P
^{B��
��{%�."	���$����<��Q��,J��45t����
�
-���L�J�8��|2o����/�g�?�b�&�z<��]��ӻ�?�S
-)C�
Ҟ��{6�d�G_�
��K)@�
���(T�ϯ$T;��>��^N6xX_���
h[��Xء�R"����j֮,
����N&����C�%�n�C:�y^KL/u�n�u�w86��T�]ۭ5�8�;�Iw at G��]˖Ce`%�,�щ�ё��7�6�{�yf
�Yzȹ�����h[77߭���ө�4��Ţ����k��/+�_B�y.�4�+
n��<d��|{�� ��^�����_��W�gf�U40��P����``إ:K����C
Ҥ�-�$۟Ka��œ
�aWu=��V����	}���o����Vئٛq�c�cr�ɯ�>��igد^2/7i���cڽi�������L��B�ŭ("t�ޜ��z�{�7����9����X��w�4Vq|>,�Jp����
�Ù>ǰ���3�4F��ac*d�;a�A��)�ԝ
����:�Ǧ�l��
'g��)�}�ɤ{�Y�p����%�2�(���
�ʮ�W��wD�MkŦ 6�����7��N�GƏ�R��u��x [...]
���)*�).�k�X�I/�H>i��+�$���V	H���4R"��&4�bjbv��æMY+E��ۄ��\(=y.�f)�UZ{]C�o|�Ր}�
(�26�
Y۸6-Z�t-
�Uy$��+{t-��9�<y8>NE��y��`�m���~��7�{�P�
~�
���+���".����%��ȧ��6녲�ߌװ�M̶�V.�S~1�xSQ";�H-&�D]��U���K֍��oH*\�3�ƎQ��V>��9bs�W�)W-f���k8�ˌ8lשM{
-I�N���4�$�2�_�uV}_��tswU�
1|�.����	�q��4v#�eڵ.�PN���O}R��AI��.Oۮ,���^��d}�خ��j�
	u��;
��ݿ
�~���Wp��c4��d���ѯ����\{�T��߄L#K+|�J���m�-X������oG�_�P�x�"�궴īX)
���{L��ѥ�I�V2F���7��v�Q�{�F�:�4�
J0ٳYS-�|
�t� Z��|J��,�Z8ٌ`�N�Ď0��_���a��]��x17�
&��c��2U1��W�oZ����1WSޱij��?<�2�f�{G)�Y�l�X�R��q����0�
�B�R�C����j���>>WY
������o�����W�}�:��I�t�u26C�/�z�q9��.���~��>np\m��?��e�3s(zg��d���O{G���_�(����	9 (�M�	�E߄K4����dM؇f��T���Cq���S�fJ�d-�č��/Ab�߄]D�ۘ�����^e%�\"E�uLf橬�rbe��T����K�I{V���0��:o���5�,Tm�q�D���;v(�V��O�"w�u�G,o�V"-��c!���}K�/�r�ui�
��-�h��I��m�{����
->��'N�3��1�&� ܒM_L�	ذr�#����)n�-
d
ɮ���҄�:��i�[I1"#'PU������v+��#,���F!Dj2n<��f�h.^7Z��z�|�hm(�����gtE�Z��ר��)�.����L�}�{�
.9n��6��=��#�e�
�K�?�s�.��r�`�MQ#����x�X��z�#���:
�D��Ð�P����M��s���̯i�n>�5�Ž��w�̖����m��z�� �W]q�;���(D��G�Un��
X�щ��mq�/�{��p��q��u���i
Dx�H�i���N����$W$�TF�^�
�r^(�8XZ]m�6��
;��>������M�K7T��\��q�y�n��f��<�LM6q��3J�u����
�Èe%�.���y��A��C�uu���
��ά`���>'�E�
-u�Ah�?��\�ĆD�L��/�O���_j��
-�iƨٙD3y��c�bJ�9������r����<
�
��.?��ߥjva�
%q^����}�1|PĞ���Ճ4���]Z�b(s��^?&#�%�
û���ɊH�ϒKp�Z�m�(f�2�K��Mc
��
� ��ѝ��e;�#bfw�w}���CV\iO��>Na:]7`Kse"�K��&��sf酻i2Q��s
-endstream
-endobj
-2511 0 obj <<
-/Type /FontDescriptor
-/FontName /NNLWPH+CMMI7
-/Flags 4
-/FontBBox [0 -250 1171 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 81
-/XHeight 431
-/CharSet (/d/e/i/m/n/u)
-/FontFile 2510 0 R
->> endobj
-2512 0 obj <<
-/Length1 829
-/Length2 1697
-/Length3 0
-/Length 2268      
-/Filter /FlateDecode
->>
-stream
-xڭ�y<�k�Q��-�^O�2�Y0��d/i��!T��3L�
�ط��H&["
JL�ԄȖ�d)˴�H'�tbޒ�
��>o�����s_�����
�
N.�$�hG��
Pp�)`���c���hk[3@�B��X�)��b1�A604�&�h#S4�
X��_? ��[
2,@�H�8�
z	T��N���08`I�Ϋ7��3�� 	A� ��|@_
-
�XE����ɷ6�
�]
-L! [����$:��@2��
_�,������T*��j�ԿdB ���z@ �2 
�2h?�����p ���Y�g��%͗
-(c8��[�´���$'
-���	T&��i��I��q l�r���[��D��X�a� ��1�V�~�ˆ�P�	G"Q�A���t짷liD:�B�
���`� H��!
D� 
-��`���Y�+�0�(�Lg at V��A*�d�v�(�1�`�S� !
a5
*Hf�0?�o����P��V�;++zh��!00D
9�&h�����A"�� i��?O���L�CA"�?D'��>�u;�4��J��
zL����6����gF�6?a�z]�m���OR��.�:p$2z\�edG�
"~D�CZQ�r���
q��XgA{�l@~�k���@���S�`,�qCši�I��l���ᡯ���1=�|�l��ȱ��C
𗩱����_��;��r
-�|���ϥs�g
p�s�~�Dꅒ�聠�����/a��nT�
	�O�:�vq'��_���ڽk�#���NX�}��lϙ�4�V�	r�g��G9Їj�[6�PH��k�
�5k�k��)C)�;b���"RQ���b���*�C��}�S��5� ��f��7埠
-
ގ�9�R ��7y��I�V��za��\�����t��g~��G�j!�Z�5^�5�ޤfU��^���r��yc&1f!�]��sj��͑â3[?�IE+���
y�����|�&hۛ�:
�yE[���C��dp� �i��&���ET���
�[�?����K�Į��
W}�RGVK�K�|'���42<��]��K~4U��Tre�랣�$e�	5gO��}Цe�Sſx�`4��N)�y��=p�Gv5����=��<���l/��1���� �ײ��E�p#V_*����j�II�H��>W�995oo>
��r�� 1.F���|(_
-��u�JvX��������+V�r�'�n�����Zb��W�,�xlc�ҢZ�5�bR%K�cڞ���*�D�5���۫�=�n)�d�e��
���Ey
?����WY�
�u-{�qN�E

�k9��4�b_/�g�4��HbkB�1z�����
s4ѽ�_Czzԇc������R��s�}�|�Hۊ̦��
Y��<?a�O��{�����1YR:�
0�ٯ�K�j��s��3�Vرot����q��!aԐ-V��d^��b��N��
���⑎��%�����;T

��u�
J�L�ΩkV
�䶿4C[�NT
Z��S�K��ҥ��Oc���n�d�8�F��������7�f�pg
g��RF`�qp���wa�
N�^��D�7<������h
�|�k��D
	ϬU�G���^#(_Qh5��J�g�&yEb	B�V��{�mU�!X<Egp �`
�^���
�B5X)-lN=���Ѱ����o�� �<����|�Em���2�~}�`��-62d^>�bWj

�s �\HP��$�������`R�<OjV�NG?P
B���i�vr�(�=�\�}�W
�rC��H�6Bk��R�LC�ӆbc�p�WUM��g�
�?5�̀:�r���9�:��W���Hy�
�/;3��̼�0<�%� ƪ����`�V�[̶@�?�٥%2��t�a�cW��X��T4���
L�v{P�~��=�u�^'�k�D!�-jco����Z����'<BļڳI|�����y�~QQ�n��4��PK������]�>K�j2��wq��K����d4Yn�j;T�~��}�����}i�:q��/�E^�����3��1*��ĩ�5WGw6�WKJu��~y
-ݠ���Ke��n��k���?�
#�w�MoO;V���i��f��Q1�ֶ�m�sZ4eGN�ŏ��x�N�I�~]q
�[y����C#�ٖ6�Ǐ�A������=/��^pn���?k4=�6
�n
���z�q��.��nP��XW�,��!+�V�\�g����Rh����.Y�7`��s����
�HaKʵ3�_���Hd��]P��"���y���|
h7��1�7�1OA
-endstream
-endobj
-2513 0 obj <<
-/Type /FontDescriptor
-/FontName /DGLWIM+CMMI9
-/Flags 4
-/FontBBox [-29 -250 1075 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 74
-/XHeight 431
-/CharSet (/less/r/triangleleft/triangleright/x)
-/FontFile 2512 0 R
->> endobj
-2514 0 obj <<
-/Length1 1003
-/Length2 4417
-/Length3 0
-/Length 5068      
-/Filter /FlateDecode
->>
-stream
-xڭ�y8�����l�e�[�}�Bv��]v5�`3�ƚ-[�5dW��("��D!;��H$���<���<�����纯�}��s>��3<��f"jN(G�6
-����	h�M%�	QqquJ


4
�����
�& �� 	h�
���M�2��<���
wq� ��Mr��

�B� �q�y�k@!�
��0~����>�
�¼ah��(����b G�

I)�I���
;a=��򁡽�P �� 
�	�D�N0gJ1C�6�����ŵ��!��w�ߍ�?i�
�������0�	�F��j	��

s�c=����@p����
����8��1
u�!o�q������� �a�
���s��!p$���󯪿�h��5�;h8�ǷWo�?�����]ZH(�	�t$ed
��o^�  
��0

XL��� ���(4���g"�
�S) bп���8 ��� �`^X���6Hb.��Ҁ��?�< �O3�����mb���4>�B�����=!hs��
��O�ϵ�+���D`��Q
O���������}��a�?Y�� ��Q� I	 ���@AV!�9�X4�
-�������p���`8�rjU�p�l�,
�*
)'$Twy�d���*|2��_�Kp���"�
-�*�*��)�;�5�dH{'�+�����Ͻ�l�f�Տl�ߊ�_�[�������}�(K�.y���{�И_�|�|������ygN����v6�"�A=��)�#��h�9_�������nQ/�fvQ�X��b���s�_L���V)�%AF�5���%Qt�u]�5�9��X%��0��
ϻY��Ϧuw�;�V4�gG��Պ�G�~�闻RBw]K�&��O)FU��
Q��o�
-E�����CviS1��w�lH9/7�q1ۼ��a��l��Ly�S%�" ��m��ԛ�Lw�.pl�HE�խd��ǜ�x�@�˔-v=Au��z��h͢����8Sz���9Q`;�
=�:�j��ʬI�(8�Kh.bX��ˤR�G)I
 ���W^�&+�1Ԣa&��Y}�\0����Vm���y��7��s��֮<���N��i����;�9�M�7k"�T���Ѳ	��9�~ٚD�v'H�=�-��)���0ޫ�Av�7��''0��E,�N�'���b—ծ��2VBw�uMl�$�E�gōX�ƵL��N.����C�\��3���-��w��{3tS�1�5y‚6��Z�DY20R�&��_[>z�]��A�E��ʴ�I�%n�w��}�Ž~u)ݫ��!d;϶�R�0��L4�d�M��9O�k��%����z�G��z�2�� ^��z��G%�TB�Y���E�B+r&%���0p���؊iA���Z��ԋ�R�u?�r "E��I�	dźe���� _� [...]
Ʃ�03��nUhR.�Z��A��Z���9�#�όܨN�-hc����e�@�4A���K��3�[6*�v6�~�
-n�]W
����ښ���2�������@�A��ރ|!��j�d?�u]&�.�[g(6�
\�
+�o�L}��݈t�LQ�tLES�V~�}0�Jb�`Y,|���F�
-O�P������2svԯ"@�q��
-�Ӵ�Ӫ"Rǀ�.��=b�F�/>ɘlK}
.#|+��*~}[X[���Q!,�h�MW��ڃ�Dz�+���B\׏�﹚�כ�(�p�IX�Ni\���RCU�9����P2�;W��K�$�-(��_aP1�_�~���:���y�.��DӖ������P�C�i�zTo
+���\�30b
�:X�����v��l����r�13�t9?X�h���8%�����O̜/�d���3p�{�����L�[��Z���/��|s
-�����6lh��l8�1��a,� ױ�k6-�+�F�+iοD�_��?r>d#j��=��q+����6�[2���
2�P]����
�3��v[�7ى�zI��NfhI�{_
-p�&q�H�
c
t\����ͮ��n��
-䅇ܗ��^�a�3d���i��2���;R�r�2���_����Ph@�C;�βO{�/4��|�$ư!�!�Uیw^o|�C�6�
,��o���}��̺�������gBf2�&�E@�9�Z��9�p�l�7�^��f��g ץ
-���/_a��Q�A�q0t�-
@)�ް�(ߣ�&�΍-Τ���v�bJX�BD�\J�~'��`6
=�>H
��
	?eC$��n�e'~Wm/�t��%OS~2`��6�����p�ұ6�S��Q�
y��X�1IV]Y��6�]�.�7
-��m�NWj�JѺY���&/�|CZ.٣��)��7����:�-���
(�rW�c
��hK�>��`f/��=eµ�v��+L�]�d�bu
���	��G�VB��/�?�a��W�^�@���y��� ���/}*58ˢ�L�{T����8M)�[Z��
J��*��[ė�|�?��5��x��,q� �b����A��������N�u��K��"���e�#pf�O"�Q&�?f���=x@�ϼБa����> P_z�}W���^ؽ6a
[��}�.�zPԯ����~۲�
�n�~a��
dK�̞���������
��^�3I)�b�I�ҿ��o�=�q���ّ���*Oh�����Pi_��O�G���V�h.0)mtL
����B�T�ǥqL�u���n�%
�s8�>e���VA�$4Y���qK�5^J��=�|%н(�3�جDT)lfʭ���2�
<��w�O���w5�z�,C�4��Y�ܫE:HWG�l�'Wށ�
Q��c��}3�v�G���-�
��T�9�ĎG �� h!U�soE���aD����+Mj�eyF)�t�USO��[���5X�|��p����/ys��ň>��LAm���p3|pD�E#�%(ʼ�
-O�Kž��aE�#2��I�5'>����Y
-�jO�VkF���8�yG:��9�<�S��1K�
-��(��/bᵿV�s�D�ѷ�!��g4��O�K;�Eͨ&B�`)u���ݧ	��
��q�l���..}TuW
���ra-�:���INF�/�
-u@��
���0�(f뼡w�K�Z��ΰ��TH�烕|�2J��t�{����h����8�D���L�~���>�Z�D�F��l��m�D����vx<_B����,�4����MOHZAy��ʯ}��[��鬛���	����2bجn=A)<�uj��o��T[Rl��gu#�#=U�y��r͟
1��?�ziR�����m�x3��$�����d�{9��(=]G$�h�#�Ks�"�Ϳ��
��9
N�
>��3�1CB�{X�݀MI�k�4��~��;��J-
يg��EDC
�]վ�I>��w���.�
-�Y1�,eWomV��#�8��$����`�t��.1}�p6T��
B ���|[��ת���B�O�]-q��:�fr
�+׊	��k��j }|���$��Nm��j�����:�f<җ�˓�F�i;����7}������;'��y
G=�x��ӥ����2z�bKSa��9I֝ѩ7�oFc��Y:D��Ap���IS�G������
I��[��z��7��� [...]
-
H��JЏ��L���ɠC���w<���FͯSd2����M$
�t�uo���V�
-*
!_b®��:=8��a�r_=q7���1J�E��:��<���Ko*x*���F/
{q$_b8���6�۽�3��-	ks���ٮ�
-(�z~B��2l�O�Y�n��u�]s�>D���xTt'Xy���D��W�Xb*���*�e%��m�R���FFK2yxD��m6N�Q����J�]uw�ig�,x�v�5_:��Х�Нo^J�(���7��^2a�p���{|D�������kN� �
�T'0�-c997}�[��������R�r�N;O/l�z��,<ZP
�0���́�߻_���&��Sk<�ڼQ��Mj�k��G�YNW�,��}��=te�� J��ݷAFY�u�I��z�2��1�Zs��:YZ�}dwS)Ɉ$ ��!�:T7Z��l���'�-]��� ��\7��
��aѻAh�O>�d�

.8�����U�R��GwIH+��f�����O
�¾��h�-��`��|7��B�)�_����
-4��o#w$�
�Uָz����k�-��>u
_Q%Z���Ү�
V���m�Bv��~,M���~\@qt��~�_�s!Y*yo�����H���Aa��(2�f���N��8v
zǐdx����6:���T�
-
����
�3I���-0Z�z\������m	��`V™�j�"�A��
'�j�^ﭴ��{
Z_���o�j�]�X�H~,+��� �L��X�Q�_є���Œ$S�k�+�-����0��q�
��C�;���w*:6=��:Pjӫsk�*?�(�bzt�IJ��Uy�U�&̶q�y��F�[p��{��a�䩲���l`���FhIW��v(��S�Q{�]�}2�f"xC���T��}�&�
/�q���|q=�^�ǰ~��X��� �
a�
1�O���'b�мT!v��Y�D��NKɌ�P܄���5'�*
-W`��g�h���*���r?ֳ��䱩�3V/�H�K��\�>+����R
�6YL��.����ʞ>�̘\z����P��z�zm�>3��M�<]Y��&�l�_O
�E�?��,I�ҵR���9�h��ݽv�� ����K���!n����&�Қ�4wu
*
Ɠ.�ÔQ��?!��.ɴot�0[jtW�)�@X˸���E�3�:A��e�#lJ�s
��?S�r��[�G�?X}�
-���h�iHB�c�D�sͺF
-endstream
-endobj
-2515 0 obj <<
-/Type /FontDescriptor
-/FontName /CZIMXX+CMR10
-/Flags 4
-/FontBBox [-251 -250 1009 969]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle 0
-/StemV 69
-/XHeight 431
-/CharSet (/a/c/d/equal/g/h/l/m/o/one/parenleft/parenright/plus/r/s/v/zero)
-/FontFile 2514 0 R
->> endobj
-2516 0 obj <<
-/Length1 927
-/Length2 3031
-/Length3 0
-/Length 3638      
-/Filter /FlateDecode
->>
-stream
-xڭ�y<����)$�����
3c_Bָ
cw����
3cg�I!Dv
-!$[4�d�LdK��$Y�o=S�s��������s��9�����9_1a����4��H�9�:�gb�
@��lbbz$�����a$�: QS� :�h@

@������lb�
�ӟ�A�� I=��E*������p�	���k�a�%
�A��� 
ww���
"`�$"	>H�
 0p�Dcpl��~�q(<��W���w�I �M�t�R �"�s�H�O
Iw��a������0����
�W�q���<��ӛ�$ &x���w�-�/k&H����Yc�
���ݑ ���h��C"��@�܉�_q$�o��� ��16�0��5�_)(
�#Y�{�G�g�/�����0~�=X
��
���'�=e���
}
��� �g�����@��!�~ ҏ�$�Ó�W zK����s��`?C�* r�A�` ��
! �* �oH���� �B����t)�o(�<CE D�
��7�[�������
tu�~���
-Yy%zW j
-��8��½	$��k����Q�ܑH?$�mh ׈Ħ�D�

t3K3�k�M+�z�#>$0�t\�
}j�S��s|�y��� �B
2�2\
-�O�?��q�M
��[M3��ٌX�|^ӷ�U����hgQҟ[2�[r���VsG��^��T�L�TV�3Ls��y㩸��W�WQ���_���L#�"�؛��d>����;Xs
���_�?�ѯ숣��x���n��(��yp'��~o�4�ݭP#
�����H�)<���1�T�I�
�љ��c�I��;2m��Em{[�H��"��}�V�S׫���ۖ���[��E���8�i�5��9=!��t��܋�l�D�koFT�.�O(_�L0��,���t��ɫ�u�ș�ֻ'͠���]_'�6'�V
̸��=

��%��9c�(���E��̀��!ׇ;���+W5��W�(I�>
��N�p�9@�?j��.$]ք�h��t�9gh��%�U
I2]&
�Ve
)�0�x��l͜��Y
Yx�#��⒝(�U��;�u�힧����3��)��5,�KI�[/�bC=jLߠ��"R�K��j�W��[v^
-�_ٓ,N���1�u���������������E3l �P*x [...]
-�*��@4�{g���{��I�塳y��c�Y՘
-�\��4z��[�=uB�)���M/
1�H��=�D����}�頿�P,9sa��R�?�� 1����m
�M��
��I.fO2�H)��rx��`a	��5���20i?�p��t
k^4o�z�G��>�j[B�r��ݍ
��ڃ��l?��c��k�z<^��z��8�n�x
�؇R���H��rz����ӧ��lZ �)������}���R܆�����J�Q�2FE&w�$x\��$4���3�ܵ_��Qt�
��l
�%��S�P��<n��z�i�?4O-O]��JW?7�	��z�j���7��:�S\�yh��R"�u)/�*�ǘ�<�-�Tk��=,lR��Ų�p���z�^��C��-��!ϛ��<c��$��\�k>r=����M3���”������ϒ�϶F�W5fBzxk�<�բޖɃD
����3�5:8\1�筐�MEk��ݛ0�[I��OՃ��}���MY;��ߕ%`����ޡ������t�E�*x\�r����"W� ��i
-N�&����*~�5c
i�3s
����S�G[�ֲ<A�y�݆f��ב�;�w��j��O�
콫Ӊ����x�,�r���SI������rv)F-NeS� b��d�`%�+�=$mqG\d�Fp����ęg��M,
UG�j�2'�
@BƓ.0��Ͳd�;:ٴ\�U�p�\�Wl�!N�Hr�
-�Y�K��j/�
��ҋ��#�	\�L��B$^��,[��?���%�5#y�/|(}k% �=�S
�ZE
3�
dC�?�h�	�v���b9B+{V�'[���ZWSע�r/m��Bf
�̣*C3��5������4*�<� ��p<��\��Ts���M��H�Xlk	E
'��%#|MF�G�-KW�)�TKN*TP��B�9�hډB\Ӿr���0)R6�@��t��00��ސJC�&{=��H�j���m��
g}?ru�2w�C�Z2ž,�b"*��˩�U��
?��s5����U{U�/�;�>lrV~�aI�`S+Q�lm�t��m��C_��Èm�
-TT� �����n�
Z�T����R�tj�+�p&�z�l
�����Ŭ��:'E�'�,�Z3Ǫ�

�rr�Ժ�f�t���`8�7��Ӫ5�1s���<
\�Xg>
�N��
-
M�z,�%���S���!x�t��#ܾ��Qr2��{���M��gtz
+
t��E�_M�2_���N�^\�dQ�-�WR�f�1��0�}�
[&3�Z����a���W�G7��.�E%�R�ҒÍs-z�s�7C��(�DG^Ⴋ�j3]�7�<'����L2R8���y��Ǡ�^+5{�6��71��&��Eo�x�/b!��{���9MO
��n�#m�x����	13
y� Ť�A�a ��͝2܁�綏c��U9�گ��'

-��
�#��__9�ފ|Ӊ
-���;�Z���z�/>QW�
q�cMq�=�+,�*4�~ pr�ǵJXђ��Kp& ���tY'���Ekm��U�C�O
-��i��}5���^��ȓ=���SA�%�$����Bg�+V�Km�BT�A���uC[�Hw�?�������G��D�
��]���;�[��\���&�@��
2�v��B�)�IU�uRyhxFB�n��ɭf�Vv�9�s�Raթ�ǔO��D���k��5?�(�E������M0���a
-�c2���~8m�۶k[b��)���-���}͗:��W��c�i��
�$g
�\���Ԟ��E1*A��q��@�ȱ��kQ���[ѓa�~�c��ݡn6�qؾ��ߞ
�Q��`��2+ZI ��+O����t�>�3ieT`T���^۾���!}k�Jb��
3gD]I��皽�a�.��ϛ
���VQ1F�O5dn�.Of�
;A�>����)iՠu�*����6�36W�MXgm�������V��XOQ2���Q7��}�{}���1��BO�>rfK�%ݕ�
-�ɒ�:����\v
ϯT�AM�!BQ�J;K��{o���O���&����0ZUN�c�L��o;�y��/g�3��HDg�%���^��N:?�l|�	DZ0�h��5��q������°�e��g�4�
���zsg�3�r��C6�A�{�-��,!��뚁�^b~*ⶾ�������$iN�1��l9f��`8Y�Z8�Nhs���?8�myB5�f�(�Jr�61U�PM��V�
N�;j���'��
����Y��#�+n��\f
-'��.�@o��v\z0D$���}�(e,�����5u����!̹�����a�M��>�J;�}���)��:���	�I��(�����R��	γ@�z�C]���� &
o
-endstream
-endobj
-2517 0 obj <<
-/Type /FontDescriptor
-/FontName /UVIORO+CMR6
-/Flags 4
-/FontBBox [-20 -250 1193 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle 0
-/StemV 83
-/XHeight 431
-/CharSet (/a/b/d/e/i/l/m/n/o/p/r/t/u/x)
-/FontFile 2516 0 R
->> endobj
-2518 0 obj <<
-/Length1 978
-/Length2 3406
-/Length3 0
-/Length 4041      
-/Filter /FlateDecode
->>
-stream
-xڭ�y<����)Z�2�o�/Ř�/B��֐ef0�f�
ٲ�Ȗ�${��,Y�d�E�,EB2�d�M�߽�����}|��<�9��y}�y�����!���:!���T�h��PI)���&�H at a1W
	H% ��Խ] � �S�VT�AAB�&���rq% ��b?��u$w� ��W�Y����QH��$��F�?���H<�DH��P �� '�

-���q���ޞ�|�8<� J6)�-"��?�@:� FXr/$����Կŵ��h#G�����W������<��ӛ���X��w�%�Ok�H����Y]�#WǸ���ԟ!^�D\C஀�#��Gb�6A
�/

Kkk]�
���+u��!��{�-���C�a�lp(?�FJRJ
-J.$?������E�0�� +8�p�� � �,P�@���B$1X��<� ���\&y#ǟ�?I�8�MP)) ��
� �7��$/o���)� �ߐ��{V�x��P�8�7$�a�Fr-��-
 ���
 ���r �����$_��?�dWHܟ��{mX�@	�< ������J�G!��Cb�ny��3�|T�H?$
41��+G��?�,
�z0RF-N����Qm�����$JtQ����l��~y&����>���ɠ�F��݌�GK>K�ϸ�H���=�w�W�MO�l��R���/M�.���ڽZpM����i>�v����9y+�L�y��ai>S�
��h��_��d����`��3
�6��ތ����;����הw�~��R	#ɬ:
-�VW
�j$i�
��ٮ�����
�����R�rV=i`*�Q�~��P�s�{\=~FKG�hR�s��ft��F�����/G�
K�}v^��0�ҾwR̨~5�$QRe����/�xu����dQ ��:B$��K
-:��V-&�=
��q�H�3�ZD�!�
BD0�����TΠ�o {����V��=_��_n��'��z#�-_��~�q*�[�X�q�8t���P�l^�ݶ��M"_���^�m9m�D��f
ޝ��� ���
D*!~ d�Vw^~���L�br؂[��
��T�H
���tru���fH�F���s�
�j�-��!y�b2Q�Z7j�_յh�\�TH���fF�![����/�d2�=fӅ��b8�����	1����v���&�_>8.�n
��>���1�I�q�ys�L`^(�<�|�l�M\�7��6
-�
Ӑ�q��-/TvZ�T�D�[(]+��L��R$�8D����f��l�
-Y�H=���T(���4�Y��
	�r�`��B/�
8����Dy��6�=2�����{�2ߋ��3��7s�?-�v��^
��0�.�����Rz���;E��z?�.�P��4�[��9	8���
�K��6��u�Q5���Mg�&�&?A���]�X/Q�Ӫ9p��'���J�
�;�7��S3���2�{���'[��Gy���'8_�r?|a
-؁�-_��[������j�:]������&��&+�V�vծ��\C�i��T
�H8��,�d��^�(���b�k��Uj�_8���rg�P�}�_� _��^HC���n0Z���5
�~���#����w*i��E�P�T�Q摏2��L��>b/�����7��q��u�
}�9�K��RM�lG����u
�$��҇!������z3e�Ջ����ec.t%�]�i)��C�
Fb�v�
�NU
7m���5�coi�̐���P|��D�2��߄�=��x��Jk%r�B�&���C���nr���B�u��{��Ǟq��\
I�cS����cs�x�v����ѱ&�'����`
<F�b�Jj���_�ޑ
-���{�z
%("����<���t��5'�9`
�����~hw+��`CO���=l3w�r�!��ס�46�1����O���u�%����\"����j[U�jxϓ����L
G���)KPhh;w0oJ��1kO��~�uN��A��ȖW���<���U��ͪgQ}'\$@�gnJ��SB���Nv=��y�t7��1W�ÃY��b~7�̦�4
-ͽ���2�V�wV��-�]L��f) r)
v�Umq�#U"�5S`4{��f���\�cL�庹r��'�Η����7*�W��iT�Air�ɹ1Ch��b�R�����g�g�Zg��pK4����Bz�iDl`�35#��Z�z�
�E����8��'��.��"�;^�R�C���X&�(����\����qt�p��B��"G�l�[}�ռ�x�����\���&0�%����hzl;���6N���v�M���U�{�&����\q.g괠����9]��X$*���Z?��)��Xӄ<G[�
���U�g��7�*�v��?�
�x�D���gvHH�����A��=<��ɢ˹~�E[���4�
��Q�
��^'p��M=�_��
�QR�R{b�dn_�.�^)�enf%��ʭ��J�ΠV��a5�흰؁㕭��hw}
-�O�
z�ς&"���X�	�9�
9�w
bA���T�7x6�d�g��J�
-6�HѸܧ���r�SV��}[��SӼ�
qo�%(h���f��� �a��׿��yn^
-fq})c���9~�����
��
�L�q��mXu
^��Q�J��y��I�5�xw]A(!%���Þe�>@�SӤ�U3SYhꌹە��T������Eׯ�{�r�A+�(��4K�߳����qI��|ʽkSp��r��:dg���4W��]o9�C	��Ve'
� �L��S��c�Q���KB�Hp��}=��~������w��D(A��B�Z�8�
O{��
�J
-�{�ɻ����\�"Z{�':T�K;Z³���#%׀������,Qg���+x��"hRyi:�Q�*���$�	g�4
��Sy���
S��b=sҤw�!�ܥM��q��}�|)B�o\�H9�4uit�R�t=���\����A
��,��999�۽>=OR���E��t�	�C�
�{���+�V���0a
C#����X0�j6�[��B}��+���	@��m��\��
�k�e���

��KQ��}�r�Uh��;�q=����1o$%S=�'�w]��"zt}�H
�L��c�>ÌB��h����F�
)���Gݳ��#�[���
-5���ّʩw�
j�
mԏ�����U���i�N0��v�@���]�w0��t<9���t������i�<v?OZٝc�h�P������S�6_l���9��FfU�3��|%�ϛ�#F�<����p����Ydq�Q+q���.�l"�fe�5��ۯ�K�ېz���*�'����X�gt���
->����+�p=\Խ�TM��>ְ.�+�y���lT�D�>˷Z�:$^8t��1�X�
�.�S���n�᫁&�	�{���B��G�p/�S��;ێ�"nY�c�7���D�~�j[���V��3o}t�Z����E�o�
[/S�ٳJ畤um�
AGe�	%�s�{|�X������3*EMN�
����1q
ف�x�[��&�eF����ه�Ϥ�
���*�U�
�_�%qH�kc��Cq���݋�Wx�l%��`���&�&�>���-z8�
�K$8���=z�Mg���
wˀT����
�u�xP[hqFT�@�E��벱+���݁��Lul��w��=�
��������6})��G�r;׽S�b�+JK�'M:���$j��ƥ�z�A��
�����fu��RA^H��+RF4ǜ�eA	�vpK
-G'邢��I@��ߠ���k��&�� ��Mc�%�;#�:��O�u
>Iގ��l��%�x�:�Ώ#��W_�D24��y�X�
/-g% �&�M(�2�;��3�z{Ԥ�n��İ6?�w�NE2
��gK��La�Y�g����ɮM��9=�w''ݴiYT���U%sy�X3�2R緰90��Dk���ԅ���*�RK��&�שqw����}�#�n��(L�M3��R;j��'zR
�$��8�e�VO ��
�����
-endstream
-endobj
-2519 0 obj <<
-/Type /FontDescriptor
-/FontName /VWYYIV+CMR7
-/Flags 4
-/FontBBox [-27 -250 1122 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle 0
-/StemV 79
-/XHeight 431
-/CharSet (/a/b/d/e/equal/i/l/m/n/o/one/p/r/t/u/x/zero)
-/FontFile 2518 0 R
->> endobj
-2520 0 obj <<
-/Length1 933
-/Length2 2943
-/Length3 0
-/Length 3560      
-/Filter /FlateDecode
->>
-stream
-xڭRy<�{�&d+�XFģ"���VG�D�d_c�<�
c�C��^a,)�-
d
�V��BB��d����=������y�y�����}}��75��B�]@=<�(�����fj L^�CBB� "�<NI���
��s B
�����!h�I��;��>�]�hy�

-���DwЋ����x$��-,0���0}A�?���� 4E\@7
��ݏ���,������A�/� E7y�[D�qX�]9�&x�,�����������X�����
����`I���^�~D� �� ����i�Dc��~g
�H,��sÂ����W �M1D�;����?� ��	��~X�ꞵ4ӳ�������-H��4����a�0}7L `� �� �
�������š�h
�~� I  I
�#e `ph0  �~��8<����$p�8��IO��^��`
-
- �D� (��G��@	���
���j ����T���F@
t%����[�y'������� }���
t~���$Ξ���� 9Ee�n�@EY!��Q~��#���7v���� ��z�҈�H��V���_�"�x֭6Ѥ���&��$F,���Gz��f����,ˬ��
aߘ�+{�V�|ӆ�f��g)���6�(Ƥ��G���j�,)3^x1�St�6�#��d񮩔��
�8C���������
kY)	7�I�)�V�zs��f2���(�:��U|��V.[Nʞ�:�!T��lZ��lNs�0/����[{g��
�͜ ̲���u�g�q�<+�� M�n����l}�����q���	.��w~$_����/�!��<�}����K���Ζ��N~�%XvMؔOe!��
35z�4�
��! &('q�Wĭ�SX|bH��_�Y���|dD������
ww�&V�N�H�WGo"3���
�#\��p[����k*���s�J߭��S���r [...]
Eٞ��ւc=g�w�q��.�M��*[�w0n��,�R�
�ƾ��"��G�h	
��nS�
-��O�J�!ӆ�ݐ=�X����s0e�͡ ��s)��T��&��jq��v�a�����:�3�d��*UL�U���%�s�VJ�
��ޘ5���\~�j�6˻��V6�O\%֢�zl�'��G���vb�Z�\�=S��M���"�N�	��=Ӱ��,�?�UNx
�2�a]ېA���W��p
Im	���HU�?�P����|P�)�4�`⹢��K �:��Q&�����ئ��'o��l,v)�
��tM��@ތI�s�A�cDY:'\��5��q�#�䜺O9#�)v�?������2E�j��a/U
3?!'�ڡ
z���F��Z��f�a���R8o��M�]?�N޹��6}��D�#djB����y�겤�L%�:Ոrp��I�>}�4�˗Bv�M
$�g
;˞6^Z0�jLFD��X
-<)Y;�2��^����}A��-/�J99�l��NV��3����g(+H���<�W2��t7�(m4�;��8�?'J���al��<�RQ
�@�&���.�=���
+9��m�Sx5$��Ls�df�m
�a�{\��(�kG���S{k�z$!X�?:,ź�CD{���
��,#LԾ.�u����K�\�}ڪ����A��;S�ߋX�tA�z��$J�M�o\3 �����5����� �p��K�p��ȓ�:���ex�J-��^u2��M��_���@a������ �h0�$"~���SR�������@�Z���`���G��v�Fg����W�X�=A����#
I�ԆmA��ؾY�|*|W4���@��D���+��K���q����p�x�{��o���V��TԺ�l�SA��#�k?Z�"��].Uh�e�+�*��]�m��qk�ɀPn�U�j�c�s}�2[����^k���E���U��i��;���C�US
�F
��w��-%���R�9
7�
-D�"��6pD�Y��
-��߆�V��XlIF��$*ސ
-�9pIx|��ȴk��:q�h
���tT��^��L�u��skz�v̜)�ؕϘ�y�zu����9�5��O��N��8:>�<����r�Aϫ*/��0��O
D��%�~\lNnzD
�,#[�=��M�m8�4a+�^r�J ��x��atqȓu��O�3�gw�����������n�K]b�J�ժ=,e�����u��DL�SH���Ȥ���@
,��n*0�"x�M,�ٷgQ�aU���KO��+�e!OAD��w�gu��s�FQ��];.J%����3�M+l�Ď2PC<�!��N
d���mL��͖���R�
��*s�()�����oHcgC+i�I�1u�L.�~ț�2�5˩��'�s��KR�I�a�����"T�K�Y)SL�d�ʢ��LU�6c�nƞ��
����}ϼ��p2��RDnj�U$E=M3Tb�^�g.�4g�1�xo�$��Y��?&;����mg��ե�e�2�a�
.��0�cw���Y4��sא�E(�~Zw
-<�o�됧Z���p����,��\�ڵQ]�^�-�β6�:�mL�[9u%�lHǯ"(��m�<7�ml���~��兓wj�'�M�7y��ފE'\!��ޫ�x8�8�Q�&�]
i�H:v��׹Q,cWX���J�
�˳�ry����"���
E���E�.ȉW�˚�Ե�T���͙�
wQ-諣
�}��k92�<�<��V2I��\Z����."�h�aZ�l(�Y%kf����-��%
-�8c������Pnd[�Ɵj�E�끧�
-�[�U�o,#=m��|�Ze�k�
-�Hg�n�z*!�M�M��e�h}CG�n-:������RUqq�o|���Yz�
���p
<�����g
ެ�GT.\��B�穾&�s�dZ=�%ᥭ_��9��D|��?W����%��kl=�/�P��07�d�z�^u�_Bt�s�$���.�^c��N�W�>Q�X�1h�0����̺
]�|��R���q��0��U "��1
Zv��#謥��������i�J�)�1�
�c�:^+���
��D8F�rϽ����m8��&�W"c�#bI��dl:)�[ْ`��FR��]�l?
Fj��N=zBM1��SR�8.Q��^K��6|޳�
��Ýɵ�͔*�gh^q�~��;]�1�&J���;S���$+���@곭�)
޺��X�w"�qЬ�HSG{�u�G�ml7t�r���r|�m��*0�펹�zI+P/î��ʥ�ccLW7�f�gŇ�}Ŧ2Ż���	%+H/��!u�E�R�t.a�9�#؝G���M'��TP�OX��W��DJ�#���~I�<���\����r���
���(i}���L�����f&�
-��̆�YULI›�6"�o�t�[j�<�6��(���u���E�=''��Վ�f�t�H;ӄ>����z��+OFd��9���1�k�
��t��q��L���g��s�he��(9�Q,��7�c�*Ki�9�C�Mz��~Zϱ��B�w�&3!
������81����
-endstream
-endobj
-2521 0 obj <<
-/Type /FontDescriptor
-/FontName /EBURFX+CMR9
-/Flags 4
-/FontBBox [-39 -250 1036 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle 0
-/StemV 74
-/XHeight 431
-/CharSet (/a/d/equal/h/l/m/o/parenleft/parenright/r/s/v/zero)
-/FontFile 2520 0 R
->> endobj
-2522 0 obj <<
-/Length1 861
-/Length2 1309
-/Length3 0
-/Length 1905      
-/Filter /FlateDecode
->>
-stream
-xڭRy<�kn�Ҍ��Qɓ8��"c�$IYg���i杙����
�
-j
-��	��t�
�,'K��ʯt����]#Y��^:}��ο���罯�z��z��6[�M�rb
-�@�|�G��
��D �33gD���F��D
-���l@$�Κ`G"c̀�@(�l��;�����
:x�%
���`й�&`��D�N\.�N�*$�D��!fH�
�
�1�iGn|� ���L��+�Ĉ)`��\	�L�+L���{
-�� �������7I�\O:o��LJ���<�+�G!�	�H<LH��^�}1�1a)�{�MB��
'>�
+�
����ś`��%
`ѹbh���� �����:o�m��g�3�7
�K�Ʌ |S���o5����@�@ "B�����e.|��	����d
�"]�A6�H �`>�H�8���	r �D�@��
�j�����`q(2�49�� q!
ė��F0.$CaRdx_Q��|���Q��C��s��oMm^ȕ�����ۆ
Y��5XQl�w���L&E���!�_3�����f��� H10�
����sw]W��?�Rǣ'��{�5K�af4��Ⳍ-�қږ�P�Z���aFWt{q����4�_󔗯
�!��hz��ʳڟ,W����O:�fhW"j����U����UcS��v���4h�hA=iab at n����HO���/��}��1��<ww��oR��e9h���v`�Xᵵ�>�Neu�m�̩y^�Je�F�M���=�]��(�Q���z��ŧ���BcJ�6T�|Z~��
��Zl侤�}5gҠ����6�e�����ŏB:|�I��ܭi���JM�{�hcdXfѺ1_��h��;緫��k5-$�:�5;'N\B{>�PZ{H�F��s��zol
7<u��
Û�]���'�.&ދ��F|ٛ��Bk���z��~�ns�����[L�do[;SZp�B�}=7?���Xj:�#�>�Rm|ٕ��
:Z���^vQ�.�y�
ʢ܇��sE&&b��W�hP_�q�2�ԉV9
�U��G7S�_&��;������1_P��$�:eO�5��v�2���	�^0Ҵ����Jԓ�b���i'���e�Z�ge
�4�\�r؝i����Teg�&ŢJ\>
�b
�v��˛XS�������
L�Z��Z���y����嚳L�ޑ�7 ��S�gb^�,ԭ�V�<aݪ(4;Q�=`-��d�wp�����
�Q|p*�p���	��������b;�_��Y�b���z��h>��&C�Ƌ��A�N-��t�:�M'��h�����I��@jP-
���8=�:
�-�kiОo�|w#��KR�MUF������r��-8��i�y%��IZPwiP�E���m]������L�l<�l�fEM�E*z7
k��T�YyX�@[�n$�ê�[�e�Ĕ��ώ��
Zb�;e���.ԙg�"�"3����/eO�umn"������
���1
�K=����V�Sk�����Ek/�_;t�v\�tL�(G#�������?���3�w�7�z5xH�|'rUj�
N΅D����|oB]��o����1^
��oc�s�o�ZPb��F5�8;x��U%��u��Њ���E5OQ����Ƴ���A$X��"左�.��!��&�M�־��*J�?!9�ޢZ��1'�|�H���Uu���
���+�����Q�
�[�5����
~��k�[ݱY9?u��ȿ�kr���w���+�/m>�Vcty�BV�
Κ'���=��ş���O�j]E���6��O�e�����Z�Pٕ�J���txY�e����勤����b�[���?��#,9A����]כ��
F�Wa?i���2'\[-��55.Ձ�
Q�.=?��	��6^�}�?1���
-endstream
-endobj
-2523 0 obj <<
-/Type /FontDescriptor
-/FontName /UUCYST+CMSY10
-/Flags 4
-/FontBBox [-29 -960 1116 775]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 85
-/XHeight 431
-/CharSet (/asteriskmath/element/lessequal/minus/negationslash/plusminus)
-/FontFile 2522 0 R
->> endobj
-2524 0 obj <<
-/Length1 833
-/Length2 1649
-/Length3 0
-/Length 2223      
-/Filter /FlateDecode
->>
-stream
-xڭRy<�k��*�"*�l!f��~�C��6֌��f33�9�E��FBL
-9��v"��(��'2e�,:C__�����{�y�������~�e�
T��TȜJa�"�:����U ��B��&t�$R)�X&���`D �k�#t�B���Jcщ?&8b��.�Fd�N�a)���ȼ8,	8PqD��RF$@�w0 b@�`�&�@ <�>�H�����R��7D�NCt�8�3�x�T
-��̖�;
�9���y�y�d�%��_�4�L$��#��iAL�l�x�N�Y�}�f�A�YK&�D�Q$�"4��H�7��0'�Bx{"�|�$��C��Vx�m�9�����|��g�%R��,�?�5�G�ˈN
�p58
����?�eF�Q�D
-��4�NDz��Q�(C "�(�g�F�2y-��L�҅֗�0,����ۉ�:��#� ���`��1�鿰�1 �щ����������x����a�@U�׎@�k�c����������x�}���@P(����t���U�q"��;o
-¶-��~߷�S�E�G8�rN��yo��tI
��^�W�h{���u�[U��n`.E���^9��b�l_SQ��|蜞
�FJ��>�y^�h�G٨v�
�;c���š^����d�ÒZ}�[7�g
r{V�d��丣�k�=�
-]��z-&!��Q�{"�����

>�sTS��U{���/��!;�lmq5̓�
��6�TBz�D�I�������3��l��@q�aB�.Q���攒/�]>��X����rŰw2�*�ߑ��Q�$$m�T�Z�އ��
��)vr=�p��a��)4�%�J�!)5�|
c�Dz#��4p�]�{���·�O�j]���
-;����:�t��)��k_�T��Ys���bq�+[)�����J �QSv`h����-*�!F�XH�ɐ~E���AΪ72��b���SlL6�;���3g2�_Q�ں���<���)q�;��
3��
RR7�@�T�<M��W��O&ϥ�;[�0k톙�.�w��y&�Y� o١鷲ϟ`�gDz�&l
�̟=�4��
�MJNJU
q����/
a
-��Z�
��^أ�m�/��y�⢡A˰J]�ʵۃ���z�
/�U��ľ65%��f��7�Y�<=��hz2}��s{O����L29W_�<{���X
r>y�GN���{n��ۣ��'���+X�`�=;��|���؇��եNܗ�Z�L��&��
��/�{g^���3t���n!ԧ��
����./�����m
��žn/���a�g�G,�MMnX=2�Ÿ�$T�; �q%sI�)�^4�m�?Ye�
�jX�sQ�ʧbf

��^>�P5���� kT�A�^�U����� �>��H���|���d��-z�.W��	�1Z��h�ޮ
5'P�S�ѻm�s�,fiJ��W�����̈́k
��;�u�:ybhtFX�O�˹�d�%�7�K�J^6�i7�e1�!W���쵨W�m
ב�l�0�d�%]��s��i�]��-�����h�>�fdk:��O+����x�ֱ-s�C��9��d=A|w�S{ݐ
�/��vi,rˮߞcF5�jH��:
���v
m�����k�ӆ ׭���BZ�qd�=�O��?�i���q����K��7#���J��N�^v��f_м<�����l�j٤&��uq��{��c����_�������g�åZ	�"����>��}�Kf�R�����1*dg�[ZY�����\�����ş)[f��2]m� ���9���@Cu��Ĵ`Q�U��4���l���€���
-�!�g���;�IEr��JV���nk
a;��X�
��~�c�h�sEPp4�]���$9l�pȓF�v��Y6˫���<�Z��XE����G��Ny�G�3oOe�b�fE�x2�+|�|�3�^�pl�cX눫�=⠴
I���JTG�)YUL��� �'h��,dʓy�`�A�Ws�
�nC��-r��U���dU���]m�M�������ם�P§ߛ'
ŷT��dv(	_��Z�F�P4G���zu2���π�\�To�CC\��]p���ˈb�V
+��LG]Oծx���慫R��
�����
`2A�������D͓�:�=#bʄ�	���G�m.
�3�^Z9rJ�L����1�T1h]%\�����_m�6}��6[��7Q�J
-endstream
-endobj
-2525 0 obj <<
-/Type /FontDescriptor
-/FontName /ATFWDW+CMSY6
-/Flags 4
-/FontBBox [-4 -948 1329 786]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 93
-/XHeight 431
-/CharSet (/asteriskmath/dagger/daggerdbl/prime/section)
-/FontFile 2524 0 R
->> endobj
-2526 0 obj <<
-/Length1 763
-/Length2 673
-/Length3 0
-/Length 1198      
-/Filter /FlateDecode
->>
-stream
-xڭ�}PTU�CJa�
�t���q7p�eŁm�%�
��g��w�]���v�@%5RC
CE0���DH�b���4i�00Q �&����6���>�s��;�9!A�,���`
-E2<��I�,=��X�񅜐
U
��d% [�R�`b ���0�X�	2Jo��6�a�p�)Hu�Fj	�UL>Ա3�*dQj
H	d:W@&4@�q>� ��
ȃZDrN�TRC��97��[&HX(�B��H�p����dI����S�!W��!=�V�a��@��F� ��!M.�n�sl�GF��n*�"�ZJj	xX4_��x��
)�
qb��@�"
pV�$��MoD�1#-;I
9w��=�
-�L�E��y�ƞ�lF42�\!_(�X#�����`�դ���"q
PѴ����Db1�b �84hf�|�b�%�M�h(��T!�i48�Y!:�4b����JJ��V
�y+��Db���Ǩ6�4$�ٗæ3_k�(�f���ݤ����;�eYC�꺞S/	ܟ8G��|�s��S�f��di��cdžZ>��n��N
_�C���-ߥ���9�RQs"��bq�V����b�ҿ#C�R��V�Z!頇ٸQ}�ܭ�#����u�������<��~I��k������
�a�ѡ����F}�j座#q�N4s˺�"�7��~7���xwv.�]��Y�0�/��]�/O�~"��W��<<\3��_�#�j�H��ᨎ��Y
-;Mi�g��W���+gpLJ�S
���vU��_���v=4/���5��b�����e�10����ƨo�Xgܹ�]^�){�c�'��NT_]Ե�Q��M�
-�^#���6}Vt4r��Z�M겊����}R��އ����G{l�V,-R_痕6T7�4>
�p����r�G�
���[�;�~W8�m��M:a���
��>T*#�՜R�Atm�bU�-��
�ع.��\��p����pG�l�r|[���?,���ך�B���1�Oޖ��8��l���4ojzD[I2X�X
���`_���E�:�gpf�ҖO
��
\t��q��|_�X��?�R
�8x[IKܨ��'��j+o�K��N�~}qh$ȴ�Ԑ����EnM	���}��k�Q��5�	X�wP�m%�i-�
4u����q;����M븉��s�c�� ��n��������^���?s�=�
-endstream
-endobj
-2527 0 obj <<
-/Type /FontDescriptor
-/FontName /ZQLTBN+CMSY7
-/Flags 4
-/FontBBox [-15 -951 1252 782]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 93
-/XHeight 431
-/CharSet (/minus/prime)
-/FontFile 2526 0 R
->> endobj
-2528 0 obj <<
-/Length1 792
-/Length2 1349
-/Length3 0
-/Length 1899      
-/Filter /FlateDecode
->>
-stream
-xڭR{<�i-��䐴y�03�0�X�&�:��Ҙ���2ޙf�)�i�-
_QZi��9�
*�ՆVZ2j�7�(ہ
rh���~����=�<�u]�}_��<�z^�fT�
�8�1�
"@6���7p
�$%CC'.B�Q6�

Gl dm
*�	 
- Yِ�6�T��
eF���iӂ�
-P�.J�a���G ��
t
���(�
��b��<���>&(A�Q:�&�)
�b
6���|�gj��IMc��M at jfc,��у-��H��?L-m��g�<h�
�B�M�FY���hG���
#\l�4 ���
�Q~�R���P:c�`YH�O�sFc�
���Ac�E
��V��-!�����2���
��H�k��Z���$�I���y�d�v�ΆQ�	�K@�ri%���B�@1�H��0���q� MFl��£Bda�)
KJ���?cp8�` ��—\�yiGGvL��9	�YK�C�
-��������r
_�V��>�
T7�� t%Q�n�y��HI�����/���w*�E
-�w��e������
G�$���ZQ�׺�mO���h�x$�
�_S^��{a׉xJ
��WKp()c���#��{�<wX�c��}v6��T4n�����
Ǡ���'=�j�}�6믳+��ij	�Cݳ:z����}�^�|@'45.)7Xuĩ�x�Vl�{&���,2P^Ϣ��겣:t�ߋE]���7͍��Hz����
䶹)K�|}�����w������*[��;��;;��;Ӎ]8��3}Z��ӻ�oy�͘�
�0
�~~}*\�zk[X8ggR{
���k�s������<�e��=5�{�8�m{���e��;˕��N��ҫ�lk iL��5�kЏ5L�	�������h;���
��f���N
3)��|:�/B[F�"*���*��
r�;�D�N�p�z�a������o
9�W0��_�X�n�d&�M����O���O�vN
�[�q��i�m=�7��[��N��N.z��Ko�\��w�^|

��>�g��`*���J�}[����"s��Ɠc��YhȃW4-��
^���^)�O} [...]
-�7
��~��
���c���e��#s�M��[�k~��y7��,�Л,��M.s�uc��^�^?A�C�����e�*�F;��p<&�����;�XW��e�M��
�[��ÇOn\�g8%9<K�<h}�u�
!��\�/O���5C]�:f�s�y$�Gu��jKO�x:�cJ��Q�e�̡�C�F�a�o~I%
wz}mT��M�U� nj�D��*ir
����Q��OB���Z���ު5M�8:�TR����2�[� 	�/ʋ�&�h{��ִ$v�
e��2g���!�
Fn���	{��/�
N��]�=�<Nm����5ٍw)�k]e���+��浏dMSm�Z��o�o��[G�J�+d���l��9�s�N�o���U�.kť�m;�|-~>�Q��Da@����w�Y���������]b��W*�D~b��!f��!�bD�;j���]���
+��
�QΚ֙v�dy����w���.@�
-�s
-��Ņ�����{�M\��m���έ�r�
-M��J��+�0������Qy���%3B,3���1A���S�1|�'k��j�WU�UP��ګ���0����j>:�Uꚤ�7�TOQU�W%
����I*�N5g�&e�����Ip� ���-��x
]7���Il�
��˃'��L�?v(	M��>m\�Ferb����g$�]��ݰ��ڇѼ���s��:�k���܎x����萕�l���
�I�3��K�G�3��B,E#�������\�O��qE�����銻�������'=�1
-endstream
-endobj
-2529 0 obj <<
-/Type /FontDescriptor
-/FontName /JRVZXP+CMSY8
-/Flags 4
-/FontBBox [-30 -955 1185 779]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 89
-/XHeight 431
-/CharSet (/dagger/daggerdbl/section)
-/FontFile 2528 0 R
->> endobj
-2530 0 obj <<
-/Length1 815
-/Length2 1151
-/Length3 0
-/Length 1723      
-/Filter /FlateDecode
->>
-stream
-xڭRkXSW�axl
u�
DD
-y\ D8R�)/A�I�M�c��Ǎcx���`
(XE�Q�8 P��

-Eh�(�D|4Z�-�����w������{}kWgA
�c"$S�T��72&�@4�Օ�F�8�)>�@~~�h� b�����b�\S�Ԩ4k��"��5**@��@�D�Pb01��:��d z��D#D�	�i$0*Ɓ��
-}�P�B���*�R���0�&�a�2
�	��LjY���aj~��L��g�φ�;Z(Ge��0�R�#j���Z1_�
y�-�Q�|>�
e�����@�|h
o�Մ��, at qq�edG�|+DzsF��`AP�Ǜ��q!��cuJ0~���o5���I
�B⼽�̛�c0��/�/��B
�A��b2�
�F2�I��N<D2 �Ԥ٥z�PC$�j6;ɘ%�p&�"G�1/�!
���{���R���Q�V3�>�� ,SO�f �s-� _�b�
�#k�jb��o#}[KPb
���IC���㿕�+8�\�[cA_���vbȪ-�1��
1�ʏ�����ã
�픍ח���w��g���_�j:B>�Px�X§9�V�`
E�_���ɰvU�������ݪ
3�p�
2�dw/����P����%�G���r9k��j�́�����1��+P<}훈0ER�v]��Fd>'�H6������<,�
�\{у|Y�ӵ���ь{S?l�o�:,7-ō���=�%���m^��9�5�l�*�/��i�Y���s��
GFJ������j�
-y����W�R����{���7��j��u��c;.��.�g1E�q;�|<�8ʯ���V
��!
�7�h}<��Ŏc#�5
�����2ʲ@}����ݐcD�����y8^o��
O����s�4�=�;i����gF��h�\�Bb�CG��'ܙ7��A�><�/:��4�	"���t�Aw���`���j�`A]�6���@� ��
-�{ �|֖F�
�n��H��E���K��'����+�n�l�񼟨��
�=ZJ�Xn�2�����^���E����ʲ�A.���N)�?7����	Y�J�y��%��Ѡ|����6L܂�;,�.0[���
�
#�xK�Nfx���_�T�z7��T떼
�w��뿓e���~
��\5�/����%Nţ
{ 9��m��5o�M; �y���Pi��hè�+�ҿvʏg5|����":
-#�����O[��X9�<�P{.?:�����'G�
g� oj�p��`��89"j`¢zPS�u���ơ�����*��#�%������!gѳ�_���U=����P�ij��\=`��~�~�H
���
ZUoz�Rr����.%���rUs�
���ۏ�Y�8���a���
�y�����I5gɜ�T��'x�
-�%k�t�^��$w��I>E-��pR�y��ӛץg^�kO���}V�G
xN����QO������S,��
y��݋'�{�V�y�Ҟ џt�2��j�&.�;��@�=�]�Dx��mjE"�,~KOͧ�v~.�([���B�?�(�s�=���
b-�2R�VI]Y�^��w���H�&�������ष��z���|�RX��$��[��ݩ�
���_����G�������AS�u�b�}]g��#kJ}'t�a�th�O
�g�;^^�y���\I��=�{�h(�f-3��WcK7;
-endstream
-endobj
-2531 0 obj <<
-/Type /FontDescriptor
-/FontName /GCEPBM+CMSY9
-/Flags 4
-/FontBBox [-30 -958 1146 777]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 87
-/XHeight 431
-/CharSet (/asteriskmath/element/lessequal/plusminus)
-/FontFile 2530 0 R
->> endobj
-2532 0 obj <<
-/Length1 781
-/Length2 1493
-/Length3 0
-/Length 2036      
-/Filter /FlateDecode
->>
-stream
-xڭR{<�Y֛٩��J.
�)3c.FL���b"�%�e����ߏ13L.]f
��%ū��TV��Z"]DlR�Fm���mߡm�������y���<�9��bM}�Nld'��Bɚ� \����dm��b]S�E`W�r ${{pq ��hT����$J"�r"���7G�N|H�e1a�`
-# �J���?�Ņ�k���߹1���b�m�!� �����
c�s�6����Tf��>�РFe
-X�L��"�y���1ĭ��.H���a�Kq7���ɟ��
�m&�˓�I@�Q"!$ 
�
	�/���'o
����n2y\���A��S��ƍ��>\!+"h�
��/=�b�w@�����i��;�{>L.,�D�%:G�Ǥ��*
7|kcmcCRU��n�wm�Y�
�����S�Q
�
-قx��l(@q*�Dk�� U$� 
`�~��R%Bs�?�= ���TB�۶6�(�E��?�����h�@�P�-�
h�����	,��%Ul�q8W�1�A,LO7¢�v
���&m:�^��/p��fn���yEC���^�-�h��ʠ�3�KP�b�
c�.'l���v_tf~��8l�`�Eà���?��tX�R���m�9�O6�6��t��~l�������f�V�
HI�\M1�]�]�JMy�,'K��=iҮ�EuV�c�e���E�ٳ�jY_��';=���kCJ�G��cEsP�>? ��Y���!֝l{�/��@��~��٥��p�F����%BȔ��P$'����vlu^�;K��a[r���`\p�{�pva��-�Qܡ\Y4�c�#g����
K�&Q
+=�%�MzG��)�ʹ��~��J;ni\?3 շ����{[�M
���-�g�b3���Gn5����b"Z6�?�~t�ޏ
-vIכ��>�1��޹�e
�Q�_�ՓD����`�J=:O?D{�����J
�j��E���Q~�Fo�҄	>�hĤ�@x�ǵ�ƜV2)oٔː��L
p:��5F :�:I�<��
+
�
��+��r�[JC��Ր�ʱ
�r�&���
���qO���r�L3�K�>4��̶����p�Ju{(4������^�
�e>yͲ�^B
b�|�Pc0T��>ӽ�@���c`o�1㤡ۇ=�������'�E
-/�V�ju^�<><9��D���Q�_��z�:y]����;��L�H\��/��8~�xR�
�
-y"w㣢�4�hԒ��f�0�*^�)(2W�	�9����i%�y�Eٱ|��J���A��V�
i쥠��S�.���0D��_��ؙ�6�i�z�*"�����g8�N�c�����"�
6�+Q�b;5`��n���l!��*���o^
W
���hʁb��)�
ۜF�9F����oj
-�����lp?�w�a}�3�}?����M?
-!j���{�!���+�&��u�V�	�r� ~�7X��_e\M=6�V_Dl��M�0#<�x=������d���f7D�Q��;��}c��E��Z��mD�_�)��^|aw�}
_^����m�iDy_��)���E7��
-��9}���K��	,�s�
�j������
uS�M�[;~�r;�yBJ|0e�S���w�ן���kn��V���
��g�f���O����NC�G����z=�x�ؕ��W����z��l���N�ك�/=�i�Y���k4�x����)�e�YeI5

-%��|�x⏑	(�����Y�y��5�]�<��.��j����vm?'��5N�K��R�x"�
�l^|=�]���[ǃ��d՚�dkئsbf(�G]����;O�P����~n"�oʎ����
�:|���7Zn�z��Ʌ�:�ȣ��ha�2�1]��-�􂇳xGl,�^���M.:�&e
-��v��Ҁ������E��@�]�6�tV
Y�^j�e�D��N_�x�]� [�x��1[H-C]��k
��M�7KO�I5VǖY��;���V_��PT=��)
s��,YX�L�Y�
ɐ��82XQ�0>�s��И
-endstream
-endobj
-2533 0 obj <<
-/Type /FontDescriptor
-/FontName /YGAXLK+CMTT9
-/Flags 4
-/FontBBox [-6 -233 542 698]
-/Ascent 611
-/CapHeight 611
-/Descent -222
-/ItalicAngle 0
-/StemV 74
-/XHeight 431
-/CharSet (/e/m/one/two)
-/FontFile 2532 0 R
->> endobj
-2534 0 obj <<
-/Length1 801
-/Length2 1229
-/Length3 0
-/Length 1780      
-/Filter /FlateDecode
->>
-stream
-xڭR<T��_1�%nVK9��0��c0��1(���Vn�̙q43g��a���k[IJ��r�EZ*�lWr������rU�U�qn�~���������}��}��y�K�c�8�yH
䏈eN 	� �!>L�8�@
��@!�
Fľ
����T �  
 A��A�� �#�B��8D�1
)�
�����@
�8% �� �Ba.G���D/�#B.
ɔ$���H�(,���
�1����B!��!�!)�&A<
̕q� ��
��|�-�yr��R�J1s�=f�����P�
�ǑY�a��
C-'��
�,��_��o�
,T.!��B]���FbB<X.Z^
�q�0�.!��������a7
�s�Rh1�y˥�u-
-��軘�,��a����bY�R���b
�7ƶ��
- �B�P@
�}_1����\������AQ�G���]]�  �y����d��a-�D.KŎ
�-�ƭ @޽���փ��8�9�8c�Lu��Δ��r�(
-�e�g�m�ċ��A���4� �/��4
�L�S�\6p\�#�������
���Š�]��#W#窊,>
7�M�`-=ڜ����tFbn��v<)v�h�u�ȗEL�?$����M
��']W��ܭ̏*k/�g��R��o��ʿ��F'յ��r�E�	�r��n���$V
v�N6�����*-!Ǩ��pi��ϩ�.���m�l*���/��Y
�96�,Z� �2��^�z
<el�N�(��,�v��ջ��5�m�t򖾌��ic\�WњUa>��b<��.!��V~J}*Iy-�������	�d�5jmU�:j��P;��~U�7�3=��
��4��1	��Կ��r�:JE[���ό��;6|{�xm�v�������gV�,?EU�я�P���DI��ׇ��(�S��
	��C{���/��6:^����z�[ �M�=a�_\��e0�u�
���kO3�۷�q"!�Ŕ��;|d���aO��Ṋ\2��;�>(�#�*k�(o�5��
-<
�%�HT��]DEF�֕A���N��6N~�]m�L���I��.3lc�qkaԏ]bQ�&��'ˆ�Y�K;�
�� Qo�9���ں����
8�L�n���(5mԮb�f�
�0�0���<�ۓQ�7|>?*JX��ƫ���
-�u��(kV*
��"��7+���~��Lj���@�9} �{}�?Pg	��:���d����NiWN�e��9�����*����:�gϽ���� ?gb�Nv�D?~*�jL����QB�tj�YYKn6s�v"�G��_|�U~��@u��H2A�횫��������3��+,�~1�S�u`�Ĉ@cK����m5�}�{t�
���� ��?�nyw�֭���'z��w�(��;�{90�:�t�\��٭s��娲���.�
<��an}�g�n��Ł-
-�>�_]0)��:]S�
���2x󡱤o(�|�W�z-,v4�p{������w=��9!_�5�u��O�PEa��/O��1
�BMJ~�n�Uil	'OIf���l(d�l-�3-r��߉J��8���3���-�_9v#�:�J�A]�٭�F�u�6�vw��j
��
�y;�;L.����:�(nOPG�����h�
��>�5��se��vVY
����A
��t��B-���.��_�_U7���
-{����{a��v�����
��f�y��an>3�qS4=��q�[<#z'_�j�O鈋�tC��i��/�3��k�v&����W�_���.\�
-endstream
-endobj
-2535 0 obj <<
-/Type /FontDescriptor
-/FontName /OAKMXN+MSBM10
-/Flags 4
-/FontBBox [-55 -420 2343 920]
-/Ascent 464
-/CapHeight 689
-/Descent 0
-/ItalicAngle 0
-/StemV 40
-/XHeight 463
-/CharSet (/Q)
-/FontFile 2534 0 R
->> endobj
-2536 0 obj <<
-/Length1 1612
-/Length2 15120
-/Length3 0
-/Length 15951     
-/Filter /FlateDecode
->>
-stream
-xڭ�eT�_�%�kp�����	��qm�������%�w'H @���y�Νu�y������T�ٵ�v�iJRe5FQ3����
#+
@����������*����ȉ@I)�X9�K� � Z at 3����`���E��;8z��,,] 4�Z���
�i�'`����7��,�T?܀��v@{����Հ@��%`ne
�+)��*Jh�5 �@{ ����jbke
-P�2�;i� �� S{3�Jsf��%�
08;M��^z�
�q1 
� ;+g�� +g�����o\
 V����f��k7w�!G�������`��.Φ +G�߬�R���bi��Ong��n����H3S�J���/�_�����3����O. ��������o�`� ��pu����O
 ��df
tv�
�����g����zcGG[��v�W���`��
�5gB`e�����on
+{�E������o�����܀�5�柙��K������`4G`Vtp��@��2����
����"�����U��m��_���BK���*��
�?0��/�@��ck
����Y�z�.��@-�I���Ⱥ�m����_AX�X�m�r��� �)[��Z̍m�v�_v
{3 ���
�W�5�����_|�V�6������.���%�W�Qg���Ԗ���o꿢��j�������,嫃��:��!&���f����l�� ��	yXY}��������. +��ߒYX�U�����I���Hڛ:��3+j.��f���q���@U����-�?��t �h����`�b����Ҁ�?6-�74�
-9�Xެ^RP�����[m�V��2����r��~$Gw<1�mKݟ�.$�%�
,Bۦ��?b6(GʼԊ�YV؅��b�<ޟVQ5({�!��f��<���`R<:"���7�c�����7_\R%�==R�L������
<"�ϋ���w�B��p�#�ը�����l�B���D��۠���"�N�E٢pþK�-:�KX �+H��F�vq6Z at 4y�w!�sӕR�G��p&x�nކ"x.��x��f�9»����e9i|N���ɽ
戒�q<ҵY��љ���1yK�[En�}|��㲖�`���M���Y�>�!W��-�
뼕�ظ����Xp뭮�w��K�n��h�!��J�G�hm=�ڌ��-�=�
-K�O)}��(��+!��~��_"(ȑ�M�r���>/�O�<v��3�����\G��旊���t8U���v�%���TU�mO���q|�i����N��S�ȳ9����1a�/(ߚ�9��
-�,���F�m^��l�ǐ!��%,bz���=�b��HT�b\�H�ǿH]/֛��G����B��8���4_ߝg&w�E��Q�I�K�'\{�7G�Q7���@}!yD�4K�#�Rg|��
��ۊ	�ֲ$����ES��/���� �����"E4
|�I�GO����hClj]�i¤0k{W?�
	�I
�fK��H��{�
\z��*���M]B����Z���]�0h��5ҕ;X���%|R���$��+��0n廗<�t�x�g���2\O ���QI����ܣ�/iŲ��^�Ӌ�p�^Am>%g��R��:*⥨hľ�;ҩ7
���dř
�k@?����ֹ�D1/������%�7�x�~��!S�`�H {ɜ.쁞�4�W'������
>
ȉCЛ#
�!�֜�#:.|S��/�_G�f�ec����:h��jom~����#*�w�؁��14��/�]�s��wJ
F��D�qT��y�i�'-b�dž4eB��z:]�t�[W)Lo�ϡ�*��{����B�r�Lwsf
b<psTB!E�u@��G�R��n�F_JX�:Ϗo��8
B���a�Ed�N�Btj{Y�j���u0/hb�#�.�0�+5�<r>����0�>���[�E��1�Q�D�r4�T�we��
�8<�eWOy�
��XsH9ZLɞ.�
c���xNi#[:��;
-Ֆ��`�MS+
) �lŇS&����f*�h�M�׆�)�En���*��
�Z�<�͕��ɑP��:���d�I?�eL�
���䦲�������-k��%S�#g�n��Lۃ��g[���L�+M���ԕש[���U�%#(�ť��v�#(0��a����Y'�~�����;�F��H����n�Z:��T��iI���68�QR���߮x�8�=��ʭv��*���3�耷�E����	י�&�t��P�B�].��	KO#��Ө�J_�B��l��֔����MJ����T��d;��G�A�v����=
�;
�S$�v�N�<(z�$�Ts�$�J��>�H=�l�$kg!���%��r��񓀶�l켩�_��7l
Sk
-�'޺�F`>�Q
�ć �:��@��XU�
}�SW�{M���3&=��� �3K��e�
QZu
��k��y�)��k�G��h����z�׵%Km�c�J�Ym�%����~cpݣ�q�[�^����u�/M<��Wo�0H
?���}�h�I�������c�g�N�R���
D;U�9�wF��t����[�
�T�N��N[�b&�P(L�S�(��.�2�y�/0r�jW��9�L��6%�0)�]8y�VK
s2���H�o��?�D
-� T���9��h(R���D���g�7�o��?�M������%o�w�IřS��)�Pҙ�آ�ޜd��#�'������
$
�M�H�w�������`:l~C���w�S�{J#j����2+7`�H��7��A�v3K�*�O��Dv�b
�V�/��|��
��7mk���K%�����p�amZ�y�Ӓ8 ����*����w_����޶o"3	��|�p�R�Mv2S�{�PX�Cf�V_���^
��l��΢�����u����P_'%�:����Q�R��ɇѕT9S�P/\[U�at�Ȭ��9����~�t�=�`���䡹�#���[^\	ނ/�=���\Yb���J�d@sB^F+��k��4^��)������ŗ$h^���QG�p{���yk��X���W��[�+��v�;���Y_�b/�#��l^���\�G��%�U�n�ic��m�B*cOl�
^��~��.�z���G�Ӧ^�<��X
b��r���<Lo�_��+U�S
-^�K�

-5W�=�΄c䫑 ����%��������@�f��d�{
�=^!�+�&�|.m�9�C �q��5H*BgT�Zگ'��K����*��͡�g�����Q沮Sj��k�����Xւ
�x���$�
-hC��|��m��(��p	p�t)y��T�;�D5�5�-�5W�Ǝ�|
	�x�gW�M`��대���N���d1����O�:}�:� �-׈����x�O�B���B�^C�c۸*��{����*�$��f5�2ĂW�T�����E7�	�'���5c�Y:���kw�A�d4^A���و�U4)8���nOq��2�P�<�zX=��!$�ȸ:��v�2<�2�”SFh�H������P�$8X�Ն�v�*j־
�҇�פ�R^���7�r����)G�ȗO���\ج!�\4�Уi�$��=��C�1�f�R�d�n���D�|
-v�
	���vmvvPftKE
|
��U�d� {���&YJc�A`�Oj:� �")�v��az�0��9���&]
-e��p�l����ˁ��
�/X$vW���*�����u�P�.[�_MӖ>�)�+E�_e�t� �+?I�����)	�}ϳ����B�
��{t���>���s��f�����
���8L�2L�-/I�N�q�Ƨ��S$�*��6U5������y}!�ӞH?�1��4��^$���߉h������M��a��p�tʑ$�1@ш�=��6�$�G
-�-����/�W�^�����cP����K�t��E���c��t��c��N;���
b�`䈬���a+���� ��z)�!bH�	�e�73o���*��Fؚ�Q�����k��
-2��*XGx4�H*e��~���V���Y���Nm���
,;�%���|
�;����|tӕ���r	f?RV=�l!w
�.�3�������H!����me�V��
�>T��)
vH�D/��kz�(�:]���=� �O�xr�e{d�k��7���J�V
��z@�[
L�Œ�5
�I����]��b�>���a� �G��v�wo	�}�G��s2Sҕ�=���hFpC
���"n5D�)R�i�dV��M�"�:��g�i�7^�n��Ԅ&Y�v�n�I]��7Z
�M�{����[�/ƪ�׬�%4-��k�9�"�}\��E��z��ʋieD���6�_$�U����
$b�]���xŗ���f����h"��?��כ��n�\ʠ�
-���^?q6ɾĺs:�]@��u���AeX|�ćkA�k=�
z�[Î�;�lc¶ԋ�*|��3��C��xl��K���c4���w��ؙsѺ2���T��B��@s�[��w.�
-���pTW�i�}He~�h��
,3x&�t��s��jF�Zr�z�|Bc$I���
��=����Q�jRH�ZZxL�\��%
Q-���
m/���?�W\B
�[�a��uahN����b���Q����
?�w���
-�,��S+�(�X
-�����H1R�[����H��zC
��:܂i��z���
-a��O���j��\��yz����$����k.�Q3�q�v�l��!�2��D�\�F�_Q
]g�p���+
ֹƘ�v�B��zU+b]�����
 +�x�ׂ�i��D�#�Z��,sU+��j<o}��Z߸�ES�����)�z�ؒ�V�0J��9�x����\h
��
q\���ˮE<7(�ؑ�]�Ύ�U2�<�聢5II��|P�R^�Μ���+�Ń�{���
��ab�v�`�Qu������bC�xe��Ϻ��`<,ot���n��M�#~���I���#�
��h���(�l*f�X%aִ_���L��ޛ0�ࠫ�3�I�^�
��;/�-$��9��j��
kV{"ޤ'|A�:�)�V.�cr��F at vb\�Y�
�jz��+�F���'�)Y��DVp~�&�L��
�A�7�`�m◞��u��H[�%�$'�������/9�a`X�x
L�Ԏ��a
-�+r�Kq������*��/�13:
���ϱbN�����s�Pr��*`��I��&��P!��
��߿*��d��gi��TZ���k��k��
-�m�9��X�N��J�E��ڼ�Q��<
B�&;/�.����x��B�k�M�������t�C��}Y���NO�[�?M(֬��#$:6u��0{:�U��b ~�5�*
	zR��YH� �A
��Ԭ=㣂�, ��+x�uC�l�� ���e�>ޣ�&���'^��`�^��X=r׎6�h�c�3@�^E�#����g[�����(�Xl�+� �+������T ���iɨ��FL��]�&�[<_��qV*� ��Ϊm��e�'V���C�O�W�/%6:Qg���5Rx�Ra��e�i�̆_�/~	�}ԭ
��?�3\G<��s��,^�UÌs4$�g�z�!�>h
��t�u����"L���z�M't��SZpO	tծ
�d8O��3�a1�,M��1)�P6y�
�
�(�ROxk
j�*�f��2�	� ��e�{�����u9c�+�vj�j8o�-����Jn�$e� Ϊ|/6郶,�q��?1�vQ�5f��
�CM�hi�D�IA��Z������S􄑓G�O��ەNn�:)%
��`�p^�֡����1-&ɹ��2�1�/���WKq��?��ɏ>��"��)�N��O��'0�q#��9}�ex����d$�s��fNCE(�׼9��^�
"�����4�7��IhB�r���˥XŒ�`s�;\�Ϋ����
,�o ��� {��py��di��u�����)]�L�
-c�!�wႎI�T3��W���؁�Z{��}���%gj��P��ؔD���J�+�k�r���,���ݿf �6�{ F�{0Z'z/yzF
$i��A�X�;fì%X�Ƽcgl�|�W9�s	F�(6�
j�ur�!t�4����Cy��p����j�B:�7�ߗ�xQ�bI���:��v�p�&s�U�6�-p?S��$�ˢi�@6���t�C�3�Dn$}y6#qW���B�
"��ʍњ���}j��m_֒�
u(�	MMϢ%Ch��y�"�M�GS"�c��S�\��aa��%�0A��x[�	�%"�Ț�%uz��!  �6��N�*&����
(�Z: �}Ty��fV�XŬ�JJ at Q<�W}1�B�M�*n�5+QN��
��uԱ\�
~���|r���#�	P�^L�{���J�]�Z-+�g�Se�B��๨
�W�m�
C����ۆ�,�
o~+�4���|%q`��S��Vu����z���
����J�{[C{O�#E��b���@"^�����4�tEZ
<���P�k;�hk�
�O��
�A�µ�&��I�
-��z��cT�j����|�-X91/�%o��~��9&�H|G�+�Z at Jr�[3:�6
��d9�)�~��ٽ�T���8���ݎJ�D��ۥ
�±���$��$�
���
�t� z�	����V�3&��*��$w��T
�Z���h��
J�5B��}k0�	]�)o��B
G�#�m��s
E�{�3d�lY�\�C��^�՛=
U^��h� e;$�^/�6Z��qu*���P5���1μR숯��X9�-1_��}�~�e�T�;�t+���ѨQL�6�	�;68�
��Ԛ��ks�
7�[F�����-��
���H�oc<�����X&C
�_�؛��,�ts�+Z%�
:�WE+r�NOuG(K�=��y��Q�flt���^hQY�_Q�>^�!���)0"
-Ã����\����_�K�����B��zSB�V;��1,�WRC�-��;�v�{ߍ:ծ���E�I�+� 鋜9�=��/���_���L>�"����l��9���(
*{/�����	�`�
��x�0CF�黸
�7�Zͻ �bSj6ahvH�&g��h�;O��6�}�ˈ8�
-0SGG/����!�=慜��{��59-��'��`O���qD�˗Q�k��2m��i]0}��	��1�9u�m�d�J�Cn5t�s��W�%)v�,M!|�o�~c��1�-[v~	̇�4d	�H�����5]�y����y��K���C58J�W	O�$=W��X��‰?�m���jk'��Xʺ��~��?�)�o�Q�)��۠�vI�����]�s���W���Z~;���.F؀����P�
-�'��
����G���?���y6��Dȯ�Z���ʯEu�b���$�`$�nPm��Lt����%�h�0�z���G>����9�}���=7H����t���	�ϗg�rר��v'g(_
-M69Y�A�Co^��I�
��>na��7��{�E��OD�
�
�ބ�
�$�jm�4�,��
m���D�������d�WU͑�ñ�
-yI�r5I
-;l�1
-�
~|�����XJ�,���v��]�9�F��‡�����1��,��I�Ҫ�>*�P:��r�~�X�Y��˦Z4�k7�FX��T����T�6��ON�������nD
X:&
L��ֺ	G+�WO�8l%~#p��‘���Kaף��;�,H��C
- G+�V:BB�G��F�a�&BcV+�ެ�`!��pT�:��~��c���qG4
W�`s�
�Ao<�P]����_����s;�C*��o@�o";�g�h��۬��$B�W�3R��1��d{
�ӌ�������G?	�V-x[��N���pyNש���4/Z��JG��2�w�o�a�@�U'ik�S�|��
Ӌ�z+��V���N�+�W\g�
3�>[��ȶ�zgܣ�1��e���ߑ��$(��Ǩe�f1�i.���s��>��d�/~�z�x[�S���b��#�|�{�@�
0�xY��e �+�\9i(s�w�Ax�H���yf��Y�Φ���Br��`/�ؕf������9�r�Cf���P����f1��aD�%�xM�T�P�g��wj�x�-6<3<[�AU:Oa�b�ָKT�-�
�R�
�����I��W�{^/�/E1M�/�d?r��D���KMQ\2
i�s�����e���#�V)�
��)x��y݆^�j,��k)�*}�<T
H�R({���]�Km�@@
�ZL&J�q7�'�����������]
��>����e��oV[��;M����ت�,�Mci�қ�y��;�����ۛ�»���ϴ+:���)r0���
B-�|���V
a<�>��D��
_.��wq�L
-QL�:A
s����
0��ٜm\�3\Q�!��2�H��w��G�N�7�.#&��`~�Bq��O���v�4�G�/�'T
-؝���
~I�m�R�>��1�͝ĺ�/�NG盞�
-gč��&tLt7�/cXc�2�N"�%b�E'�J~ �.�{��N.�qx�y���z}c�	�ٕK`%
�E� }���{�bm$�8&�m�[T)p1Zx���L���<�"�6ԪVwƀ���h�hU���A�m�y]�n¶&� Z��
����#�����T(��4��.�i����c"4���@�bt��i䏻"��4I��u�ۘ��Ų
n��;_�$(0�øv��<��Nj�B���''���p�fg��ेFL�-?�-~k�_w�� \�~vJ��B�9�뺏G���Œ���I"<?����LQ�
?/��Y��W�w����v��=�v"Hfr�4��q�#ш��zo�ř_/C��]�Q,]�
76;���i�i��y��n��9�0J�.j�4
Wf�]�w�e8���j�L��� Y��ŕNc��m<
O
�hCd��8̎,
��A
�c8�bsB�5b��
�{��[O���
�
s9�"�g�*���
���e�כN
�`�mW䴪N�
�O�  �Xe
"Y�
5�E{JHy�MT�ۄ�6K.�Ht%��>x��I{&-�W����V k��B�@f��!z��RM�
�"�[J��EMZ3�D�qO��B�L�(D�/p�v���NsA���]_c�$d��98���z�� 
A��S��1�޸Ŀ���v9;�xo�Rc��b�:������&���
�`\d,�9},q
�eX�MUh\��ןrk.�
Eٔ�y+��>�_�
�긽d8����߅�m�0��>t��#��^�_����֋��gW~m�$V�x#B�L����q��5#{����븾0UCUۯZK�É��H��>��b&�2cP���)
LX�UFV!j#&1�| ����%CoDA��7���nIE
=���WgԮ,H��RBT�D:7����%37`
��a����T�L�`�<
-�`N�Tw5nt4�t�ͽP&C��v�;��6(�`�
8y������r��O��[�![Je zE��.~��$v�(My�[��GOK��7��e����
�V��zj��U}��1��M�u��Ae��V"OK�j;`��e
J�'23���"� ��ơ
�
�~U
����xC�ǣ�Y|x�����I����#-K1�G���Ќ<�ߑ�G�E�&Bp�T�����Cj쌓a�KA��o �Ϛ���Q[x�(N�s�
-��g'�K%��T����u���Dhf
u�
e�p$�U���٣3����U��>�`�k\��@�֥��v&7
ME�D}�+o]8�r��; ���
������T�Ҍ
-P�㩌�ݐ�5�_ጓ��A�'��
`>��1#�����}b�o�{�VG�"I�St��
@��Pa���sMT�rb+�������_��ȗO�Y!W4˙g��d6���z��Z�zŒ�t�
-*8��d+Aj�:=�
�j�n��6j�=R�����Jc_��e�/��2.;
BG/̼Ń���Iv�V"p���q��ܺ&A�w�Vλ��p] \�%5� b��n��9#�_R<p|�p�[W�+6r)�����׽��n�y^��߆����LHƂ
�
�+�P��~W��.}*�����H�?s��"���A,���{Ğ
-��
�'��8��9�Ч���'Q'�L1�R*���3"�����Ǘٛ�S����3߇y�*n��
--�a����x���=s�;�����N����]w�ĵn�z�û�o����#����{��R
��)x�u���QT���͑���ԶugO ӓ��-;ns��InEm.��5c
����-�!��%��`���M��
B�K�
�
�>MJs���v�p˔r��1�d�#}w,Z�뻛�����:�� �N	�x�ZV�����m����]������s�†~��U-iLs�	�F
��	��@ɍV�ǜM��Ԕ挎Q�����u�+��T�3��
�w���A �X�
i?��q��Q��S��(6ւO6�����Uhb���(�(�7d.3����{�)5��?�ͣd�0�U�
�s}�'�+mD�(mrgڟ;{��b<�`���u8�]��Wt?
�ډ=��Y��V�����x�0�
W������kt�`�l�ϳ9�QVY�E��ؐS��r<ڣ
5{J�	a)���P:}P�,k����z���Wӧ����i�[�~�uiRNP�K��`�D�^�.
T*�ϊ��
[^�3�n�ke]&|�*�+���
?��
�6Ma��ږ >��p5�
h�;���;K�	�CA�a����Y��g�w
.�AJ����6W 
�Q�ǚ[�ӷ~�ԮDkm(��<��浗�|j�����v�6����7
��
����q�txV/������G�������B$�x)A�쵸4
.���n�XXA���&�߅
��DM����l6���
���<3��D�
�,�`��"�%�_ha$�q��B�ׅ���_�TJZmҖ�vDEpID
�vA����*E�4�삷��~Ϗ�\����MS0��'�jه����X>L��ڂ�m ���l�
���_%(D�����\����U�K yf���Lv�E>Ì�i'X��f�>7�񀅨��Ȝ�8���$�0�f�?�m����v���BHyn:#�{�(+�ĕ��r�lJ^�|��Y"v�^�f����p����F�kpzG]On �P`��Hm=�� m[hG��J���i��ǰ�2�v<E�o��6t��mڄ���
5r�1����o���
,C��������k�o���?��+�;��G=�� � �IR��5�>G)���1���z�h��K�'6��t�=�KP�	�)(31�?cS+��\�C���TqMOv��2�~�j�������S�������r�ŧq����o��f`�o�
�	��_�ǻ���8Dk����� [...]
��0ͦ�������3����tW��hv�h(~^N��
������;�U����9��CR�#�[� �L��P�y_
-L���Xeߪ���?xe,xB�J
uM�N1�&��	/~�|˄�G��_L
��~DpО�IWѯ=}�4�>� �w� �%%�%r����>��U�dRj��y�4�<L
~&�E��ԉO�k�
�v��}Z����h4�=�nW�m���w�.�uY�`���
��VQ�cG��Y���f?�����l���/T9��5�bѸG �q Kˌ��e7Ck�qnA��ū�k
� �,T�;q)�NP�Ũ�c� �9N��Y
"&T^�����`=��Z���
��*?�`e�{
6H���{'�
��o��g�"�߀��a�`�2�Q�_� �K�=1�۲:E�$Sɬw
mP�=1>��	���W�F=���y�.q�W�!YBHT�H�s�E���\��`Bȿ
M��gӯ�ň;U��V���?�g��
ˊ�>���h�`>�l~�d��Ԕ��E
gO������d|0�69
QF���n�H	S�u?LD���
�Z��c$q
,��l��H��uM��v�Qb��p؊�p/����}1���Cg�3
.�=7N��jޗm�4�}��NZ�{BuqJr�_
C�)d���5l�Wb)�jG]L��0Չ�:$o�o�����*����W�u�F>�?�Pq9h.�|�7�t"�) vZ��@ �{>]��Q
{c�T�^�nR������	$ ��x0����&a�F�$RV�_\���ş'�؆���M�̩
o11���D��\H���g3][�z���}g��]]
��ﴘNN����ī�:5�i�3>ו*϶�r+;��
�F��K"P�E���������]m\2�?T

nm�����u��8f�+�T����I;!��j�i׸{5��'o�����f�:��kE�܊�g�M

-�'��^�g�!�l��n'R=+�@Nj3�z�^����cYCS��+���&ư�A�r�d�-�Ҧ���n��r��l�� ������ NM^B�hz�֤�	��3x�x8E��,쌓~�l��.py5�f٦|;(���:�iY7z�	z�ܵ�#i�٫%
�ﯷ��[��=-E
�1�D�J�	�
�3�r��ﶛ�"c>�m�?�z��x����'�˯B O7_
�A��#r���q�cP���\*[��R4
�V=���9�
�w����d���(5��d�/��s
X
#�����te:L�n�茥��ۅ�̝�x�o�?�xO�.A�#�e1_E��|�-��������g�H�+A;���
���&PiL9"��@���X��mO�
]���
y�
�@�W��Z�fT5~�9��ݞ
�
-���p�8Tg��5��i#��F�M(���E�N
]�jQ�
�F�1 0��Phb6�Z�&�<���j��U7Y��m
ŝ�[���­ߕz�s|����A	Q���O����o
F}�n�:> bm����b�1v[�Im�ޱ@��Jg�XP`�ެ���'��}qe/���D�� mk�w5V븫�Ba=���;"�<���
J�h�i�Se�/���
�?j����c^�/?`�L�os���%0;��>R�Z�Lj
6Y
0fߪ�
-�Y��B�ϓğ��R菸Td�� 7m����I�iQ��#
� 3�q�_��wz�Wo��zrI�B1�q��6Oh�;6

�V]�
[�a8�eC�֭��(9����s���G�ʣ]�l���"����x4{�c��|8�����%
sx�����w.��5�l��|���}5�>g��:��l7{��g�^<�A��[~h��)��s���B�J)�]pX�C�쑍�n�Ƙ�N���{Z^J
ë��9S���Xkҁ
fA,�V�s~+��
�ɏ�(��N���|��?
m��@�u�����8�|�#�Sn��O�[(F���f��č�a�ƕ��#�Kb�`������7�T٘[�@��s_��)y�<>���֟4�t�T]��6ex"�@s<ja:�,��?��	"�zw7�w !
-_,pէ}~����-z�C�;N9F�\���D���Ж/�F聲�v�D�s��ƭ����$9�!/y���E&L!�w����{���/	W���Qm����O���|͘�>Ǜ�����
�*��)��orV˖�3����'��S��F\�ln�J�e��Yçj���AU儃�1�0�� �&�J���p�-�O/�����x͎��#֦
-��Ȅ����C����D�lw#���	�@�we]���o!�d��KD�)T�ޕ�PWup�!De
���w��ȥAy�rx�Z�Չ1
��q��y3�)�Lj�6��Q���)CwC3�-��l쾱
.�\aڢ}�;���aH���ڼ��N
"k&#
\u �z�V��5��
-qTw��
-�"Ӭ�輕C0Ӓх����
������6*G�G�o
��*����H�>�mm��Ma� �L��<|���c�ډ��-vW��އr�xy
��QL��{0�i
�E}��
O�@Öf+��G�R��f7� �ɭ##d>��
j�&a���U�]q��X��n�tGzl
ai5����i
,�*
:?Vn%��;v���&6��9*i#p+��J`i�&�-`BUḃ^�z�W=�@y��ג(
�
˂.����0BSi�ʣ���O;ѡI�
;�b���blQV'�U
�{(~UX��BI�a..���G^�W���ݹ�c
M5w��J�
�\�vp�a���Wm&A'z`pj�e� +xJ�L��3?���^
�{�^�y��aߋ
�jʖ��o�n���H-���������n.�@��ɡ�lQmɈN
G��Ӎ}��dO/]�u��L�z)���/?��y�bF��1q��R����,2'$�VC��{_�t��%�&e�
�
-�?gE"��-V
����������G!�\��af�-O�bB��c�}�������Fe��֫���{ʷ�
�4���b_Gq�(�b
-{�]W��FE��	�c��0MX�S-E{�2����[���4)
��P��r
-�ȵ��N�2�H!7N�B-���ʌ.�u#��峥�Ahܾx������v\��F�5 at d���#u��>�6��:Y&����W&�U�ʏ��GGu�f��?r��͊%O|W� �(�V4!)S�p}�s�ڳFE�!<��vN��a�<�2�\����;�^rѴ@���Nw�$�%h�
-��
��
R��w�����VLd)��8E�\h0<loӭ�Nl{��>�[��*5��mv>gR��
�\���Ǻ��P�=h.$mWiT)��0��'�R٧�3'���Ӧwx�M��#��2����	
[��?v7��&��+PpX����T[�=��
� �xk��"�2	��y
	Kѓ���Ytq���bf�O-��HN�
�:�B�����$�e�����4� O��+<�h?"y��IN�
��"
�r����14t��7=�	�������D�$�"�9���D�q��
C?ͺ"�meSL
ic�����#9+C^z�9U������t݈.2���@�8

-��rA�
�W'ߕ'>�H��f�y�d~�����fu�A
-(���VV
��"�]�-�z�q�/U��

�b���i ާK�ź	
-^��^
-�
�D�^~Wro�?]�V�4F�Ӄ�€����S��'�v�b����u�����|�#A�u�ǧc��
�~s��x�ZU<\ ��]�����`�,8Y{���s���U�DV�q~��mv�"���Z�m�s.pIJ
-6��S��>���_jk��[�"jY���M(
Nho�E����XqBC~W`�7�S����ל�h�����N��1���
-�.A�,x>n�(>������׎D�W�V��c�'x�
۲��
��B� 
��V ��^�����`I�(�u���
��\��(zX(�~�g[��<���
-
-�
ɤUg�A(ů�'=�;�@�r��̟����5�]%��{��4@��6�ݚ�g�Yi�`��.�g�"ܢp�U>��.�2�HTNm=�0��)Ӹ�D�V�Zy�qv�/� P��I�bx!���>���C/8う��	9u��V�1�
yA2�d�,�����
FT��Gch���͇@T�K
�R�7�[,EI�q�%yY�3�`�N������[Z����s=}���{E-=�C��
~��a(-E�9��
s1�z$#+�ܰ�D��AO����G1�æ�1Ժ�@
6���]CM�&A-�=�`idjW̐��
r�
�m
-�z�mEq8������5͒$���������˂�΋��k�,Ψ��x�B�Bm�7��q�Ȳ=�֯8N��
�˘��yJ�2���%��5�k���n����qY�og�(��IX��\�cW��?��*H1��P%ZJ=��w
tk\��NvHЪ4.b
���EzR,�l:�!����
V��Bpw�K�Ǡ�xj�i
-endstream
-endobj
-2537 0 obj <<
-/Type /FontDescriptor
-/FontName /FAEEXD+NimbusMonL-Regu
-/Flags 4
-/FontBBox [-12 -237 650 811]
-/Ascent 625
-/CapHeight 557
-/Descent -147
-/ItalicAngle 0
-/StemV 41
-/XHeight 426
-/CharSet (/A/B/C/D/E/F/G/H/I/J/L/M/N/O/P/R/S/T/U/V/W/Y/a/b/bracketleft/bracketright/c/colon/comma/d/e/equal/f/five/g/h/hyphen/i/j/k/l/m/n/o/one/p/parenleft/parenright/period/q/quotedbl/quoteleft/quoteright/r/s/semicolon/slash/t/three/two/u/underscore/v/w/x/y/zero)
-/FontFile 2536 0 R
->> endobj
-2538 0 obj <<
-/Length1 1630
-/Length2 7267
-/Length3 0
-/Length 8102      
-/Filter /FlateDecode
->>
-stream
-xڭVeXܶ�AJi$��.%���f`��n��G@%����[�C@@�C��w�9����u��1��^�Z�w��

��>��=���z���K���v�MT�G��m� |y8��
�*�z�$� {�HHH� �an�p�����PϘ����_��. ;� w��#�z��
�����
w��@}��8�! �������2�]Y��
������]+@��"@
 
 ��   ��߭!x�� [ �
߅�|� ��7�
w#w�`�n
����
 �!���
��;�����y��awd:0��y ��((�U��������

�9�y�À��[����ܡ
�`(�������#� ��w������?ex"�P�U�
��
m��qGs��{:���?��us��������g
`���/ x��q��
����,�P@��/����?0/�π��
�]��0(�`r��ӂyܥ���T��ω���?"�D������\���}�;��'�e�z� =2��W� �~g �p������l]���wGc�_��7��aUۻ��A
������
F(�}@�:`���r7�?vC�=CAw���]?��0'0��[�� ��������x>5mSEy�����Թ�_7��k���y�������#* ���	��M�?4�:k�z��> s~^~~���?>�:Y��F
-����
}[��ݲ���z��w���wM���g�A ��

(᜙��QE��gH���M �'ҭ���MaH�583fY���2��vD��wz���75���6J[�K�^] 3G{!�+J�k=�Ϫ�(k�8�Jc	�L��h}eHWϪ��~%��?�a�*
!|�F
���H��������k���3���ޞ��C��o�\��{,R^XD��!�HZ3�r�X�5��u��)�DmI
��.�#(�C3���u]

�D�����b�E��6�N�)P9�r�q�~]�,��t�����\��#����?�dD03~i��R���a�����X�эZ��L�^S(M
���U��
�]�5
-��X
��8M�u��7K�uꉨ�wZd;���b����m,�V=�C�B�IG#Z�R%6�Q��̷�7Ei�Lgϡ�������!��T�/��R��՜��$󩲷�
ˢJ�4x�5�s����W�'+�_}�CxOX��G�s�Ԕ���=�# F&�U>��u��Z
���n����\��Yc�t��͡=�iǵ/���3+,M�9|}A���{3dܲT��/�&�7��
��w�_�KW�E%W��n�u��p֎
k�>O��>�G6*�K��x�pwa��.0�ۘw>��#����
�D?�{��ȑ����,�u�fT�*�l�^X;�V�[M�׷��� 
lpy8M
��@���1a��h��Fl
����p/�[H��c{E��#>��'d�uu��C�fF��L���d�ɐ��IJ�i���gR�i/ړm��a��6I��U�ܬZ_������%��7�{�,w����v�IV��r��q�a^�r�&Sz�bZo3���%�8*L5�c�X`p���i�k [...]
-'�cR���uQ!�©�J���S�ѕ��G̓�a��F
{�_?[�T/F߯S�1n$���م��196s�����-	
F•��
-�#K����f������ۤ�^tgN�>
-.i�i'J*<r�
�����_��+s��w[�0�[�~�j� "lĔk�(l7}�-��׍6�\)L�
�
q,b}���Iq�)	�Hq�7u�3�;�\
I�����y"K��:%�]KrÙ|���p��a�૬3{�ۗ�
-e���
�x��i�\t�F�G
�Ͱ��L#����+V��~!:��"m[։�}���u>O����h2r�[�
�'�õイQb��n��]\���L/'|�{����s�aʾ���4^rI�
���� ��<���¹/���V1ZO�L�]R
 )�B����n��'� 
���'�4�f���`O�m���+_d*�GO+��F����[|V�ib�4p���
*��ܼ;d<,�=Y�r{uh��Ӥ��2DM5��������G�a���'r����ϝ��MH����CS�/fZ:�Xee��#���Y�ىT��4�Om(V�},�G�޶
��
ꎑϪ��南��H�曲$v�Ҋ:�E0�ޫ6
�
-����*]8SV��V:�ox��v�2�	?„%j�{��iE{~0C���R�R� �O~������).��寅�l
(��D!�
-����pk�x[�I��b����z=Ʃ
E"�jYùִg��CjV�I�Z���,��fcJU���B��ڳy[��+�L�_�����bd�W�6�.���Q�t ���?R��2N��Ӟ��Q����1��w�َ��I�iEW,��E$����|��%Q�Y�;�3������䧂ki#N l�Ă(܇�r�a����F!��^
-
B��ϫV3��(��vY���}G�!�T���x���Fq��p풭w�jHEMV�|�
K��4� ���#�6i�!F�
�ޖ�-%e�hc���ɐC`YS[���e
�ڋH�P,�l$��\�`+��ț��v����K�g�j�	�6@�c��=J���O��� ��"��9_^W�ܺ�-��
�~t�s8��[��:��+S
�V�6n�̰�Ya
Õ�]|�g������J�P���t:9��4.v�I���#2��L����jߜs9�����}�՛x\���9��M8�w퉪K���{��)�&�|�NZX�Jv�H��y_�<~c�<����
ˤLh����F2����n�g�
ʧ��
?��Kfm&L�׹A���(ʇ]R`��  }��9�L��Aj�Y������-_PI� �[c�A��xa�^���84&�l"w3��%+3���l�#�ԭ"*{�n�/y�ɳ5�`.�P

Ǩ����
z
-�'G쉪gQP�i#��q���Ӫ���g����>�����'�W({�F�
}@B܃�H��s�ذ��2��4��5R��
L-�$-P�-�-&�!��H�&O��{S�,�
	�օ_�
p)�=��ސz��z��@Ss">`\8�QG�d����*<�Q��ךv�;�:-��f��5j>=��>o	��s�]�1��cJ?��rI�t�#�\���$���I6�c�������%m�zkf����&�T�{�,*�o_��{8I|�&��-QQ��J($Ī;�`�T5��0[��h�
-���5Y
�d,���--��/k��
��sv�L�m͉��UN!���l�O�H�D�D�.3W
�S**��F��
��ه/����p
-�?1y�2N��~��eB5�	9,���VU|	‘x
�*S���$���/� l@�p��.]򧱁��5�
�o��cD����� %����[���BO�)۸�w(���Q�qrb�ti�=9�X�
�%C1&m4�x���IkRL8�DZ!���{D�`�V�Qt����۶�X�
�(QC���Þ��JQ��G���2g>�,ސ�@k�o�����Ҋ
��CI`p��V�2��s����
�9d*��U �4z~|T���֕O��q-z�$��+���/�G�-H�@h���3���Xc��W1C{	��u~��,M{K����o���Z� ��y��4k�0`"m�^� ��b���6
�
�����/a�+W�6��t��>J>��y9�������O�V�fJ�͓Z�v��q�G9 p��=�;;"��7����O	���F���{�ũՋ��N��_ݑ� �S��_
-e7"
��=ۥ��`�+�_���ޭԸ�B��
qi��:�)�^��,3
h��P
U�0�kT%#Y�b�
.�| �T>5@�� ��䙼T�x�Q����H�j�� O��9%��"\o�}b���)�J�x�GK���e:~��X�e��~�w�tӈ棇b�.
Y�*�Wʍ��#��1]\O�8U�d5SPJ�S������B鮻Q�a�cp�/
<�<[�
\��p25��U�e�kn�E[kX�%r����+a�TdH��a%��e�d���6*
-�qQ�@{6"/Q�\��

8�`e ��ɍ�LИB��o��ex�RW�V,s�,��e�f]NV2�L�y_f�.O���L�`��+ڥx�Z�L|
��� Շ���g�
7�h��0o�Qm;�ȧ��*8����J��f�o���3>���>{���c��!�X�Jrg]�����d�Fse9g��?34����a��"��;j�SW�R�w����
g$�V�9���EC'?*�;
-LRi���&�$���@Q��Z�����r[�
���֮[�@������{���~���X�]�Fl��F�
���m*��-�}ȿ���p�f�Zu�BD�>ˠ�b�8?�wByV�L��ӵ�����y#�L�-�΢��n���P��0,��g{>��N
Z�
�
�	4�V�ȵZyZ�}R]آxtg�I�3�m6�Y�Lُ	�‡U[[Ʒ��f��Ol�m��N1���ܨ�p�����vl9��d�E��M�ӂ@�t��(�$%�o\"�`�rĘɊv�Q��YѰ�b�:�\jb�����KAz?�^�2�>iL}λ��3b
�/�~�r�ھ�2t�
��û��i Wܞ�EQ�{����R
�x!�fȤ������Ps�#r���P����\8!�E���>
V�3�8z�@�L��
�_={��d�'&��D �fҰaY��!��
-��S�k�V#]+���,�	�{SBy�_���פrN
�Z
;k��:UĞ�`�dBo	$`����xюρ�u�
D
-_θwc,
��ji2�>4cܜ��5k�r���O�?B|���X�l��B	��_�>�f��+�,=�uߠ�k��s��[@	$�/��;��ji#�Sl���%U�i��|ǀ'h�Nj8��yW�C��J
-nkz�b���W�
+�6��k�_E�!PR<�k�<��8!�^��V�"�4D"+��8؇R�ᶡUF}�-k�a�����c�8�'��D�b���HeJ�:e����W	S��Z0��2�]�A���Պɦ¸��%�������pӬ�{M�.ѝ��|��Z�-���F���~}�����bX���m������M?�x
'�*A
gi)�*�6��ӛ�%�b�&��w.����	'0�y�t��\��5_1J�)t*�B���z|��}y�g[��~���
��7E�,�\5T����~�v'�ˬD�	�&�Z#��
��;�RQ�<��r.޳ˋ,�5��Z�΅d/�Lg���t5��yK�����}
2��<�eH��C�(+�(M�{�Q=���qm�2�L�8�9C�Ye�;>+&�&J��W�r��
O�L;� �u�A8�����7�����F�r��Ԇ�Bb���dM-KxN?c[�Nbţ��GN�_���H�+|��=�Z�-�e�E��%�b
��7�C�9$]�컖��s2b~�G��5���?+
[���b�Vi���p�Gs�#EfC$��%y0p�4��M�[��ɠlI(���F����uU�Ո���%���0��A���l*W�GL��g�N��챱���sK #��BIBj�3��Hq���]����~
Z����.�<���*�1[-��ilT�
я�i�
u!G�8,g��dQ�?*SȽѨsZ2�<YIj��覤^��_F�)Ғ��������l�k���'o��@C>:z����i�E&����W'�7�_��!P6�&f6�otd�5ig�|��(
����ܤ���
,sJğ�3�;�����Qû�7��
6����3�	�
O���
-B
�x����
-f"��nH�C��Cþ���+|J��t���A�T׽�
��C�~
-	�e!�<�]�9�X��ؾz1씯Ax��M�+�5���y�
-��qu͕!9�LV��3g o4)����*:�׀�F�qU�C�����;����o�˫�M�A�*�]R�D�"X��P�6
�H�M����E���z�+
�g�8�t��|����ع�ǩ��e����k�������{��2�<�hK�ӳW#^�A6;I��D�v��P.� �pG��Rp$���"^���R�Eǀ ��I���B�-����Y�^�ߥś�?�`�w϶i�;���>R�E5
-� 1׼��ߦ�
�+R�x����dҾ�U�"i>�d�o{6�Z��&[��th>�D}F���ok
������o>G�.���$e��R��'��D1��U�U^�љ�_R�h��6>M��2[��O��3��8
]��.J��OH���|KON�q����b>�홾(R��#u�x����f���J���#���0aĞ��x!�Ѕ6CWy�(#oF
��FQ���-����NAF����b��&����~�<HG�(z�}!ca�z$����yx'��� ۜX�Q�*9��/O����NC�-E�wfD�t/
cP	�����>K�ʡ��ܣI��^p��t��-Y����K�
;eS����zVٶ-��n��\�q6�l2�u�<���[�VE��Pىi�vX=��Yt^�{�23���{��^*�
��-�
�	��B��O����C��U�.��T@��7��(�����
fZN�ʪ�$�
��9^�'���� ɢ���N��A���&{ �ހ!{
L��
���)��1M��޳����ߋ#_�����
���
-��ͷة���ĮX�Z��鄇��y�Fu\Un&�|Y�e��R����q�k����E>��i_���OG����5��uS�/|�
y�7%�C#FA�2�x�ƭX�3�n^����A@�;t��.�MRy;�p��'q�H�N}������sl2	�q6 �:ȡ�5ǽ��
3=I�f�Pk/��JZ�Ck��8� ms.�U�}m�)*
�z��l��]r@��&m���Ƈ�\��A��g鯞MFl�$�ml��s��UP�=�Tb��1��S�P;9�G��t�r���4����9RGu~�7�X/[_AK��g��a#�#�X��U�$��ۆ�	�k��_em�;��bhd����~a
A���=	��s�N|��6�K�e�oFV���m�i��\U+��Ic�雷G��&����I���7�W�r}ۆ˯�R�2c�	�>P��
�G�x��
-���������ҚԀ��s�������vp\R� \�)�lm��Q����i�˜���p#=csm�����!���o}K?�ӷ
�zI�B!�b$�����?Z࣭f'_��l؊
��
��U'+k����<L_�5rA�j"�I�˪c^U1�
\��h�ǰw
��/���|��}e�=�F���9y�CMS$�����h��ssU���'/��@Ҿ��@��IGx�pu	��A��y،�)�~
R�ʗ��媰���­��2�A�1�
|��sO�z��\
I23
J&L/���+�����G��K�~�
o��Y�
⼞��&�����5��!R�"�-z��I�Y^g�e��0=E
-V{��
��>���^J#��< "ؐxLt�t�
��?�$
�#!u&�ce��j/X	LJo�t[�BQ��?�"��
-�bʦ[Im� ~�&1|P���1����α��SʦZ<�X�ttHV�ldJzCRO���y
qy��
*͟P�T=�[ǰ��W�J��m|�7�;��e/d5�R�]��{��範��N��X�|�%Oy��*��+�B�Ζ�D�=ꁉd�Z��}���+�\2����jC�J
��D
-�eܢ��u^7:>O��NSt���t��S�0�<>ay쏆<��
�ͷ)X��NF��&�6D�g���q�R�����D64>�|e��k[%{Xg�Y�&e����&��s˕�ۛ�7�so�� ��z�̗���Y�4��aPFL�nق��X�ꍄ���Q�K@�lbb�561"P�|x(�3�{hp��^
�2���>oƠJk�
	��/t?R3�����׋�����2�M�ˈ
-�M����
�e�����^P��T��N?�%TJ���8�[��{m��NO���u�
�ט���
�J�9g�Ο-��n�`�HZ]m��c��c�w��%�E4Q���(cb�.j&���U��_�YZ�
-endstream
-endobj
-2539 0 obj <<
-/Type /FontDescriptor
-/FontName /JOTYEC+NimbusMonL-ReguObli
-/Flags 4
-/FontBBox [-61 -237 774 811]
-/Ascent 625
-/CapHeight 557
-/Descent -147
-/ItalicAngle -12
-/StemV 43
-/XHeight 426
-/CharSet (/a/b/d/e/f/g/h/i/l/m/n/o/p/period/quoteright/r/s/t/u/v/w/y)
-/FontFile 2538 0 R
->> endobj
-2540 0 obj <<
-/Length1 1626
-/Length2 16978
-/Length3 0
-/Length 17822     
-/Filter /FlateDecode
->>
-stream
-xڬ�ct���&�v�ض��mOl�cul�v:�ѱ�ӱ����=3�}�|��~�׺ū�*
-%U3����+
#3/@�����E��N��G�A
hf�+瀣�u�Z9؋�y�@3����
-`��ၣ �:8z9[YX���U4i����K�	���j�z�XY�(���m

���C�_;�� WK ���UTҖV�PK*�$��@gc[������)@��h���;8l�� �:؛Y�S�
��X". c��#���������
�t��rq���rX8ۻ�큫������� �����������o0%WSg+GW�߬Jb���ji��On��j���_K3S�J���o��ZWc+{�+����\&@�����������9:[�
������!�8-���l�..����Ow��N��V�����׿�
�e��0X�� m��XX��4u�����
��Y��7w �0�[n���?u�@�5������
������
`4�cRpp��@��2���
����B��?r����m�������p��U0��; ��1��G��
��� � �
7������������Zk��������]���D���/-̌��Z�HXy͔�\M-�ƶ��/�������
���������:5K+S����
-ho����R�/�L��ꊒjt����/C��C������(E���=�	�훃'����������w����d��?��W ��z��:[yt���������_/��#no�`��ب�ۛ����%�Gm������-�ߪ���_3zM�֖
L�B�ӳ2\��F~�����:�5��:������2z�
el���l�Z���q(C{4ևeK՛
-�, �%��/Dݢ��;
-b2(C�8ӌ��Z�ہ��d�8����bP�E8���
s�D@�^�A���g���م�
�V_��2���#�����p�
d�!>]n
,�;"eT�S.���z�O,v8k
��)���?�"
�`{���'���jO!@��h�d��F+Ŏ&�-<��N|��ebߐ�,���F��E�
bf2�������?¡M�m�-�T+<��a[�g��Ц0��ٿ�$D+�&���%g�����21�ǃ�a-]Rʁ�쑣�<���:�9G�{
Δ��U&���!mS�E梵2%O�;���`f��mo�fr~'O�Oeh���V�Er�����4#
�R��v*(5�Sxm�jJ
-(Se���ʺ-�
M
���i����K<�

Y*�EA��9��ۗ��һ��ܓ��r@������h�Ч������4� ��h�d@�S}�A
�d
-�(���*4��,�L}�[���J�Y
�2(���YRMf^ǹo�Y����w���%�jH��}�z��
g~���O�[���+�M/����?}�2� �/��#
����Ҕ�-}�$��Kz�#�^G��L�XҍA
U��?O�6mr_�G�fj�JV]_͙4{�ծ�Mi�JU�/�jC���=`��$�]6S
ڍ���NU��S&M
)���������JI�y�b�C�G�
��ԕ��Gэx�

ou�"O
��vn�
E�
`�p���`��QH��4��">���L����
5b�t�`��^�F���ܲa�����j�j��1zov����b��[�F5�}�PJ�%W�W����q��~ЊoI挹��J"�$�Q,�T�Z� {3zi��PI�����\O
�1�t�������_�
��IA�c���CG#��-'���.��$}1�v/�d�8�����f����{��^I�'��}$��Ψ[5:�
���$ɣ��#w6���믖��\
�4��*p.�P���=
 �#v���׉E�Z�LNB����?�׍A~�k,���+�e�T٠�S������5,��84�:9��fv�k�T�(�ݷ�3
|��}yē�[1�l�ZӻИ>���T�0��;�ӳ���<F?��	&����� M$/�A��
�'hF�lq�G}ᶽ�l��!��n�-�z>t6.�F����2��1ܾ�
�OZ4���n?�
����畟����Q���w&���0��ɟ�[��C�i[ݼ��TyS;����d�(�\�
=������f��U�j�����?�OBS��Q�ŵ�ҁ�-�����Ъ,�_k�z̢RP�3<��趒����ء�>��>�Ԧ�ތ�~ΘL��.SkH��ϙ�^G���Y���Un��v�h
��9�"<V[6���l��A� ����� ����=�$B�f�F�9ϴg���1�E�,H�>dx�k؋$�����-�U�Nk�� a�b��
-���+���T�%~9((�,wR8=�7#5A�p=
Ӈ#
}�g��k�_�ay�"N��尟=j<训��2G"p��f����)��o�<$�� �N at gX��E����d��P�V�$�..�0G
��H�
T�XT
�
�4�������b��}�O:
d����..��Qt[�cؚ���I��S&���v
���"�9b��[�/N�0�
�œ	K���-�\{|'���6cyު[\ _�%��ʯ�xw
����؅�oZ$땝0s��:���]��3�
��U�t7����P�t�,�@�D
�k��u
�3�ы��qƿ�G���.;�4��|+��G1�Б�M�;�{��_�G��5�y`y<6�0$b�儶�T(^\�cG���
��#VT�~.nn�&UD�=�g�lU��`���
�aW�fz����ȭ��0���:�TS�&-9��1*"��
-���7v
��,�`�8 ��
���^
-��֚���86p�P
�P�^j$�h^��l��
z�l�C��oB=H`�*�~��L4f���#-�3n
�����
?Bjd�DؿQ����9�j��%
�]��y����d���m�ȩ~+:��)5��V Z�'����u��q��t̙
-
���1��v����j��)2kV���]��h
-�
tO����� h%�
��ƌt
�V���e/����2��F�8쀪������HA���[�,$�>UѾ~=j��$��͚_�TBl65�렦P�R&���$sr'���3�Z��GM��#�9������a��5��'��Ÿ.�3�/r=��0�X-
�ıkqH[y�_
-�C�>���eL��:
�6?%4����%&���}i]{�å�:Q�u����?�v�~,�G�~�j�}����X������@:^|C6]I��E�;�-�Z�"�?q"���ay�,�J��.bB����[?�ZS���}z ��=n�U�n�մu�^��N��M�켢(��2��h�
,ޔ�L[u�������]��mX�'}�ޗ���-<���$��J'�3,�p���y��z�E̾��� r�,r�`B����m�Ӓԇ`�Q�g���H���=��!���zz 

�hyL<�u�l���4��X�T�}����w��3��
����[SA�R��UzI!��(
-Ë
ѱ�K^y��#�c�\ a�38y���H���wk��r���ZH�z%��z��G\ToR�Ӻ�|���c:�X��*GYH'�K
F��_�-��
;��q�M��|��2́�Ffc[�i�i�W�0뀸�(9xU�B*���RĻ��k��b�����3+����fk����З�OiȮz���!��ܮ�؊�
-�85\��.]a0��Ci�A���
�5z�
���Mݥ�5�

;�xM	��z�������5��2
;���u��A��R���M\�'�P�I�� �hӢ�UJ;WU�;���-�������H�'�X8���5h8�D�(
��wt��'M��f��n1�xO!�E��k�/,v¼
^1��Ua�@���<]�s�8�:�S(�n���`��%������
��X5�կ�b�Vp��

-{���!��3��{Lv����iYs^Lze���A%s���
�&�v)>��؅~
��k��/�����W
���^�xw�*�$#�����`�]A��3
�0��#�y�
\ϗ��a
-;Ђ�s9w�?p
~��Qz  ��~6gBo*$
��y��4�S�����)Ё��80���OU�qE�Bռ/�Ho�e&Ȏ);/�*m�H\1Q���
Zo�f�9`��X���sR(�k�z

?5�=���r
�ȥ�X��Z��Rݙ?]��w��7�
��⮠	��[u��0�)a&��
-�-�(s��@�ug6hn�ӌ�/���k~�6��'�v�8@�T�J��ť����
�1xo��χS��\f���3PB�J�)���[�)�
��K
����k����`�*0J��E�C>(;��r��ӌ:��]�lڿ���$����T at c;�ʢ��1��Q.S�����8��h~T�V�Y@��B�����!ft?�1ƺCqZ{�ڴ�do��EcT
��U�d
����;��)̴�m�

�o�3硡߆��) g�H��p.�l1�jGV@�r������+鯿�<ʶ�=����Ш��Q$|a������R�4�;'�}�
�g)+�A�Tx��%۲P��FI�$9�g�!eۖ^u r*����<�e
��1���54!-���~��q}�E�w� ���@��̉AE'�}�*�����ل��
�'�Nm���m�n+���֢�z�}��qI3��
܇-$ѵ���r�F� �qɩX8@�M}�Ӂ�2����"�q�r9O^���=ު��C��A\
��
ZD�	�A��$){������� [...]
ީrX2�2����5i��d�
�Ⱦ+�A�-��z�p�q�˘�}��
�1��k
<@��U�|ϻ��o�'dϷ�h}��$�"bѥ϶�^�G�X>����ht�+�Y�J�ڙa��|	: %��}0
��*�쓃������:נ���
���3��$�:����;��R^�n gd,�/���,��:�W��z瓼s�G����矈�Xد,�q^i6%�ё?
O|��
�����}s\�ׁ�{���T�
5����^��A\��`fB�ܼ����-Y��{�k�uf�#�e<iPn&����kL�cq&G]��F[�R����1\-[!�1j.�a�|b,��*�7�����
4���lQu����`Txz
kC3hl+W����U��t��N��ž����i�˫��h�^�:�C�7(��J�4��UʼB���9]�ϭ�䏁4�UƠ=ە +�
�?=�
[��(�'!Z�	�7Ϋ���F,�k'$�H�ǵ��Y��dK�[�Nj�
+���� n<��Xt*��0�(�l��
�>� [...]
-�O��e�4�;S�R�1�
z'l��IA;�O<��~�>�������8w_$���p���k�7y�,>|�Y����E��w�'�4�#>-\�.�	%
�_�:��ˌ��ĸE��/�լ9NoC�;7�#�귛��.7���rm���*Hv��]�Jg�9�<�~N�ˉ6
u�@�+p0�"�IZ�V*\n�,n�
�Vg�ۃ��(���О���)����G����+G�ARG�R�kQ�jK|�bG��;�f�>te��aO+N֞C�]�g��L
:$��D	�`0=��EB��B�@q��ڬ��]z��(����(P�����L��r�U�X�<��g��C�%��dԡ
^Ρu\����ɺ��X�j��4
�Z��1�<
6w��0v)�ל�1���=�֫���&��'�'�`�/b	�>�]�X��KQ� <�q�,Y��/t��F�z��Rͅ�NC�9aM�����~��
-7�x��_�e
�*X��
��= jxt�G]�
w�R�g�NР�����W�=�X(=h�:�-�%)�^����P!��,,+����{U�~��򛺦��~��*ҫs��
�
��E�9^�2
-�W�P�킝�t4g\�|6B�+�",���y������ŷ@̢�1���!$3D�͉�U/��=$�_
x&�f� �X��9�X#�I������^N
-�$��k�k�}�pno�!_���t
�
q��)��V��U�o�W������͟!�
G�/�_M�)m��N�c�����<��Ug����f��1��J�Fv좧��I�N�vx��E�
-3!�e�2h
\r�B����@}]�8�^U���`�f�ځ��L�
�tc03��7�ߔY��O��38��������R�.c?�'�]Z���U�����TԺ!:%�PY])�'�
-Gʶ"逋�\��oDaVc�Ԍ�uٳO���g�
��݇\׈zn]	/��}��Ej}9up�9�"8��-`~�9����ղCb�	G�)�fՎ�A��t
yt?+�k="0�V�'��zG�[ͅ�'M����j�O}b���1� �c���$>�#�p���&�1����L��;h�=r�$�:�uz��k0��z>��m�����t2��4�r
p}��C�� U5�B�Vx���d�!�nx��!F׹�]�2TÞ΢eӪ*zù[��t��yBDh1G=�9�
�L�>'�C�ف�QOS0�{�o����ZG��,�(8�
}�.lG?f:`�LY���ė��~�o[�S)�y��Cp����ٟ�.��}�)�6�"���]vo�O��9���nf2������"�� �-�����}��:c[}�:
��g��q�2"\�"qô�ă㲷���F��u
V�'%2���v�0'�K�x2
-g�]��٫xs�x�� wNێS,A-���ݗg
ɱO?��݋�*�e}���
-4L�uP�d��#���+F*A>�вiHM^�</��[c��$=���~aA�F�<���4]���;����8j�7���~�x�XD'Y����M��t<-�J���^���~L.����C���߱�̺��ta��.(��<�ױ:H̷� �U�Ǘ�`���$�;���?�_�/���n�
����I�>U�T:s2eL.3[q���f�
��ec-�mFs
OM��SD�(O��z׽����o�	�r�Ea���ٚ�wBʼ�jz�
[���1#FR�K[�	
��B�|���ʀ�.�83l��W�6b ��
6�������,*<7��_5W�ڛ�	����l�R
-���B.t6�y�j�3:����}�H-o�b*Ӷ��'�Pm4�1��v�j:�
�|I��囹�ȃb�EH��	�`��t�|r���>$G�h��,A4��DS	�
�E n�(���~�e�YF\�]�L�
-%{�
�"��Y!�9�u��8���²'hGh-�����^�==�D�E�mȞ~3��l�1Y[�Z�o4&z�r�
7"U.��?,��H���7��xR�a��(\��/�R
~
��4�Ԏ쩢4�R�{ї���m[ޗo(�z�>�-H5�f���Lu>���Z����
�����'�m�h�רx�m���[
ylHI�.@��`�b��O��l���ڭQ��腻
L]�%�7gA�8Ɠ������Y�
����v�K��u�R��W�V�xZM�`�o�_�zz��\���~�]�ɣw�-_*����p���T�RV��*f��V�VE�l~r�!h��@/�I���^By~��A�;P�7$ś<rigoA�䨜J�R-��
]���p��+�'�a�FS;g��A��^͇vYP���=U��۲UcV�6@���g��/)��*��z�s?s�e<F]f�r�����v�|���^����l��վ6�$��l�
�h�#�0\�
��XI3�Y;
��´�
P!3)(�sB�)&�&��.몪����Xi|#Ō��
?P����
]"s0Y(C���5�
��-{��	��h���TO�]�}��.4[=���K
ܶs�
T^����.>����6�l���F٫��	V��ֱ`���dͽ��<-am�C�)Ð���aY���D-�Sߔo�5"hpta|�P�����x��X�B��̼�mP%x��-��
-r�
<
ܘ@c
0�t3���$> *�S�''�@ �<�<~|�!5\jLgz�d�-��9��S�6�c���oc��?��u;,�~�� ���YM�~���L���"DЗXI���
aST�2���nd[��r:��r�x
��|�U�
-������
`�Gp��ǩnz�+��I�^����`�D�
ٷU���n at U9v.JS���
]��n�p�
�5[�f�g�c�(D|e)[=Z� j���+b�q̕���_KVI
-��
-���d��N;�uA����ͱ�Q� ���|9����+����U��F��x.��
����Mm�^UA��
kqm3a�.���!:���
-c��b�^�H�9��L�y��� Ht�d�')��˦�V��J��x�p��z�E$I%tg��cڅ���tnp��ᦃ�X���2{�-Y�366r"�z�we��O<��V|~|�W&�G��s�Ng��W�}�½X��
pA�r��
^� }�VF�G*MDE�$ɮ�^
M�ʝ�YM�8�?�[�	?p����>تb4����.,(N���ET�0.�E�	��%�%�-����Y�%a�1�����Ă)�^
mu
-�]`$���$
��3��k���ī�)¼7������Ym�R����{4H�S��;�[e:&�xW�\Z����AhK
u>���y�e��]Q�!
d�k��K 5V�$G|'�h���?��]���}C�:��qs�>��X*C�����(o,�g��u���+���|A���cy�Qx[;/�6D[��/@�����5�l}w��a�>��?��x�nR�
�2�a�5��$�^��W|�'V��
-ۛ�D���x�q><���;�d�E�/���w87)DA3��40gK2���U!D4
i>�y����-Fc"'��rڠ#v�cQO���B|Ȭ\xM���<Mˢ,�I�	��VE�l�`�x�9���ԙ��5
@|�n+��&%�
-O��������nl}�.���BjG��R%
-����yh8���Ζ�2�PE�[������`�W~�6���65�D����d|n��Ɨ������?�?�/�eW`
�x��#Z�C�ږ=���r�H�񏰢
-X�4�Z�/s�Z��"�c�f�&.!�MY�N��

)=R�4U�9�M.z��;��e��b}o��-�
|�v�Z]Q��35UGO�D;p�3s�,�M����1�TxV�+�1�߳�0�DZl?�HX��s���P�Wz�Ur��#F+�fV:��`$#<~��Kޡ�ò�ʖ\̾m��`5��
�c��;X�� P�
���)w�K6 hd�b��{��:Zd���Q�j�l2�4�9M6�hª+9
y!�Ç�s��Z�U������Ǘ1���_E�z��Qu��䅬��mʢN��e}��k���}ĝ�՛eE��k�.]Z��H���
-@�"Y��Ύⱳ1;B��l�jF��-G&pؾ��Օ�Ҽ������9k}@%@�z��0�J\�VH�����"����‡'���\Y�
�O' 5
��/0��MS��6��Y���
�A�eOx؅�
�v�^qfJU��8�%��ȁ 6����HQ���Q<��¡��TbߞƱmB�Cm�mA0jSKs1X�
�)"J� �
-�DG�X���O�)r
�<�����rk��mEL�beuĠSS��G
-;
�{�.�;������&�!E p��;�<�șE�t7�އ����V,Pyq�pڽ�Hf�P��
-���
P���N
�����(���Z
 RT�9�w�^�?A���kh�6�K">��)���q����W�C����j‹�G&�D�05a<є�~u������S�m�̏?����:�f�;nm15&��i����S�-ym���ް�m�s�*q��_B��;�>fS5F0�u��-Pݓ�yY�4����
%Pu
�!��� `%�ís�]w�v�Σ�nc��a!C�A��?�P�"����X_�2-%*3��n���(��@��'~��x0��x]��X1K��/��Rh��a#=-YшH�LA��i����A�`C����\��;�6�HjG��p�؄���~�\��wK�����eH���\o�0�
��9��*�����ؘo�ڝC��ܠ����� +���m(dAゾl_��a��XIT�4
2I�T��f��������P;��+�P:�8��yt�=�e�q��oQ�
-/TШh�|Go<Vi2����
;ZÙx�͎�?���]k�r;	��EƐ�Kb�8���+����!�Y���XdS8+�t��P?
�3�5B%�����	3iW�!��W��Ϧ������*.{�R�
-�Q�-��?��>�q��W4��!���'���MN���'�;�+^���%�4��J��2G�T�
v-���]
������_�y�b�|t�Mw"��yl��
I&4��
��p#h����fp�N��v�ޮ��)�ϰ�?ᩜ�U��$�2��e��p��d�̍��E[���ҍ�c�}f����'���A��C
x���^����
l&��t~D7\r����@��F��?��C���v����Y��o�
xS�ְ0���9��0��
WYS�7�qn��л�����(G�]E�M�\�� vv�ҫ��e
H�AW�X��O53|� ����B>�\$�%�� ���ׁU�4�^<v�͖�����q��
OY��1u+n�!^+�0�d�e�����숆�7�ŋ^��	�g���XO��	iqu��!7BDE�+	���n7+!�
s��E ��~[��q�͝:��\~�jW��WS巌���HR��;vFz���P���}E���q����$��˖/�[�T"o�o��k����OR��z����s!�pፖv�U�xl
a �J�Ͱ ��q_�PW�8��c�c?�2�RksP��s�}5�<
|�"���!���D��k[���s)�P��xMA$ŲcMm�L]'��p'��\��-��D��ԀƗ�I}�v�.�X�r	y�8�ui�����1�&"	��d�M{]yK�;F���ӻ�o���B�kR)i�!��ẹX�;f��q��EB%����/�(��%aDKS�~��J��@MqC|
-?�����4r�{�Ÿ���K����J�~@�P�����Oo��w�7�#e-Q���)%�	p��
-ܵ��dTg��(٢�J$ƾ�
�H�A�,�ґ�*֭���zAO�*K�ǃ�k�bY�/��X���0zF3��0��>
�O~��0v����qB��:[Jb��?|����cs�IpgugB
�#P��+k���<*<���~���\��)/[C}~+�i�{�|�ɫ�X���mG��2�GP�5�s(�
����q�^���d&��	�v�Y���ئY��X}��t�*���$GX
� Ħm+w�d�*���� ����8��%��qc}�ZD�,�oK+%rD��wo�O�G޷;1V��w�N��>��<!���BF[�uD"�XSI{�P���!��G9 [
-��U��H��H 
�h�~v�ZQ'�ב�����;c�zv�n�d&�[�
S������#����ʈ?lX�
�I
�_��CN�X�P��K�/e��Tʯ�i6R���;�u��^ED�(
�4
��y^��z��2�V�8��-�?fט�ϞV����1�uW!�_*r�1��c�ɵ���?E�yϾ>o��=
V�n�p���␨��x%P�!RP�[4�?�a��ҸC|T�8?
ow�
h/�-\rV*r\T6�}�È4X���lM�9RYM.�

�7U�z2b��4�4ͩ�3�

�9
-Cp�	���Ó7M����M�4�3�K9�e��=���~����K�}
'+��hO
VKEi8���m
�,������_�%��
����gv
��[\�
6���(��MKE�����F�Kƪj+d���^ʅ
-�ID1@�
#	�W��� ��>�� �u��
�D�S�P}�i��hR�KmV���
帗�|��~�
��������I<k��<Ҏ�	��
��s��w�&ߒ\U���^	Fs	�Q(��2ED{��2�"�D��<m��c^)j��z�,[�N!tO`_~��i at 5vD�[a6e1G�c� ���B-�<XUNC �9"F��y �}�"�X���
��9�d����4JM�]�� �2?��;�O�NA
5�������r�OP��UHnj7v�+�i
"����ϩ�;�E����|4k/�����	f\uAI���b�0���[ ʛ����:s1��sd}�*��o�D����HY<�L�*Krv�X�D�74ז
�u#,��^ʾ�vV�S>;R�5W!`��m��m O��Ѣ���o���&k���9����5ym!sW��
�f�p�\(�GD[���	q/ 93��z���G��x�j��y��79�i��>)�4;��H��3c�;��5��{;P�����ӜW/�������2
'��3�x�R�C?���4+�tLq�>b��!K�� [...]
-��2
l��"�X�x���*iS
����.�AZ�x�J
�|Ş�Q5�A	G��Ї%}�Z+W%uT�{��ɾb�BLe�H�l����pR�VuBMzp
��,".*MÓW��+��
�jLA�qtɤT]�I��(z>��9ޓm�X����ട���u���~؇�
�;๽L���
�Ã�����H��L�Y��E�e(�dgK�cb�Лr�F�K���
Rc�"/���d�q�7��aAmP/�N�_%�Q�4LvD�|�?N��(��>/F�[����X�ζ
x��"�s�#)��8@ذ'��9�;�=�����2�ՠl������dY	"<m�GE�#5i����G%���
��Y��90>
�6"{���
Qʻ���t�[��
����~!8K�2��Ӛ
߮oF4.��rg�r�e��6=7_s���Ga
 ��{�P��o��B$�ٝ?y�E
��1����?H��!�6R�f���b,c~���K:$�PR��V���Rr�v8�e��<@����c	%��ᑠ�5�ZY�m�Bb���e���`i��8��.j��u+������V�ي��|
/
)Ӱ�� eY�#6-t�
x
�%�W�yω���
g�v(]�8�P\������d:~�a%�ijf�C
�w�?�����/���]�B6���/��4��i��R#]O.��eK��@�
��l��I4h��,�8���j	
-����CG��koL�+lMU��0����$o�x�on[C����ERk{��2���t�.����h8iۅ�@�'^(�#�U�&�x�H����I�mSC�}	�6S�ؓ�-E��U���,��pPwW�%��*|*/�k��-0k�J��t�L��DŽr�æ0�� ���y�5�L����rй���d�/��ElqZW
-s��Ե<�4{(�kZ��&�D��u�I�
�w����c��H�dgHmm���`�������?g,�(���SU)Y�3�/� �Z��[��Q�k��Gq��2ћ�(��*�:��MY}����.o���l�(#�3�c��$oF߲��ڸ���
X�<M���.(Yo'�
�Vt�?�=�W�o�4�\����j�D�OQ7��u��N7k�pF��5�¹�4����j��[%$��!�
��s���W"M_y-��H�a7R��0���##�J�b
;In���і�.'̂�灔	��b��W�������^JS�%?tu�pitx�y�g��J�7 eo�,�
-�'���2�������A��/0���|�D��Vpyw���,^�
�pzuV�هXzCЃ��͸�;7^���

$95�
��w�hR]�q( -	e�5[�L����+�
��R�F��,ѥ�	6�x
����J']Y��nZyZg��b�)D�$D,�TίY���`��h,L�c��.���V��\�+���uͣќY.
0p�Ӊg��Q^��uةh�
�g���
)����c}�C��X�*��x���E6���M%�l~�\I�m��~Vqc� �� ���qb��z�!񶯗تθ�6���BKm��f��ơ��s
o
��R��M�ҿA-,���
|�*�_�p���&��d�'��:�f����ǍI���m� ��oEE�� ���۳2|�K��ɻ�!O��@��嶹��XE��G�S�
o�[.��u��e
��bT0���nA���TLZ�FG��zO��4=I����݊M����bDJ�����$>��
[n���]��˙�lC%ݖ��b\��͂Q^F%�|2-��L����������~��?{��Y��6 ��qO[�
[=���;�r�c��#��6>5c��f
꾣���
�:�,���x��5�#�>S�@j�ppi�d��pb�JTy��!| h�J�QR�Q �����R�`���̭c�Գ�
~�Rlڔ�13RDT?ce�d�Z_�o� ����p�����P6��t"�P` I�
�����w<���=�9�%������p�8
�
�-�iI4d\��Gu
�E�=�������!u�A�sRB����������F[�n%
孌g���~ϐ?���;q�mW�3��(iu�e�38P�ܴ���e���
�E'�����

��z�lO�
k5��`���
�V�-� �R�Q��v�	
�gH���T����>e�w�N!N/J��$On�>���щb���s���_�g�P�͙�� y��W�'���
�i��(���z��%p
¤xv�;�7VBF���b`o�����|-V�s(���oܩ!E���mt�
0R?p.��y�;�Θp�	�GG�u�d��|h�u1�/��0��ܻ
��΍"��SD�Aգj�p�i���	�ؽ3F�@lJ���y Zj�Ʊ�rK��Ӧ�힂XA���cy̝)�Kܴ)����٫%~�D��*����7�(dd����s?� 4%�*ː�t�	��L��&�me���.�㼰BR_���������M���L�FϛPc)�ZH��p��lZ�H���ܙ��q��'�$4W�{Z�)�^��Z�OD��w��+�&`|���K��D��Byς�������^�$
���Ѱ��BR�b������	RU�G��J �7S�2��$����
�-+�&
�6��3 f֕���I4�;T'�>q7�PJ��c��f�
hE_��`���?�
�gI?^T����O9�s<��~,�����mw��"Z7[��v��_H̰��$��{��]'0��Kso�2��
)q�K ���Kz*�?'���NO��|,�&p/��;��pDx�.E��eW���ֶ�xo[
�K
7f��:���z��>��fm��z����%�@��`Z8�ߘ9�EЅ�b S�mW�
����r��m
1��Pg��/n�}��X"���^m�h=åY��5=�Y��</�c�vI{B˯�

�
��x^���N���\k�JS���IJ�F�`��+�8t��

\z�r�HSs��ߔ���f^�)�`
I_���}�F��]���=c�0�Պ��>U�#
���^k�;b{9�|�g�
*�l��KJ��\5p\�X�FЛ �<*��c�^A�up�BKͫ+� ���f�o]i�͆Tyf�(��f�1�R@)
mp���VhsyF;v�Yv��B>��L��Ε��۝�vh�H�<�:aeg7n�z7����x���#�X9�@�����"���%�x�rYm��FR�f|�Q��G��i�
"g4�	�P�W���
���2������a��Ġ�_s���
J�
-���q�۫�܊�(	�8�1�YG��8�,�����q�}�ybAvh���>n�t��y{Ԣ�� �n��<���\�Ӯ4��Ǣ��z��5_ia'T:HR�݁
i�|��N}nW8 5�qʓ?�ey"�
/�-o�6;!)��ፉK2�W �
��T�`�n�P�c����"��[��ϒ�m�"�&8�18�E
0l�
����-w��<�9L
�Q� �Gw�T�Y8��W|z� �V�0VMI��B��Fo���(�$|DX�]9�n��
C!�K�
n����>gv�J��M���y#���2	��(�Kp��5P�}UN���/<-M�7�$��y��e�c!���y��w|;�K��
-b�a��'���R���D�ό���n�����%�A�筟
�:<�,��	L�[�"܊i�
����mlV�yc�7

1B�]{��vM'�/+4�"JZ�
��W����R�Y
%���N�0�G8��=R��e��Zz�~�<�ǰ��9���҅(�R��J
�2'�Nx��[OfPR钩Y�V`��o|n(��'�b��L9��;��� �B��d��I3�|>]���
-5�{V�2
�'݌�Q`Ɖ�*jxC]&�H�o�k�ص`,��vX�����.�����@�<�I�)(����&^��T�s�����V?x0
Z�矹�|c�T��E���y !��_��:� �%�ƺ|��v%�QQ,�������F5?�P���)�j��Q)��>V@��
��U�h�a3��V!@�S
-( �/�UL��}
����`�z��`~$�u
KN|�[ra\�Ӄ����bjm���YWѶ
-��󡼳
�D�<��Eĉ4$�G��E2{bj�<�W�~���*�0�Gۜ�4��
�#�눨�T9�: ���
ƢlK��Q
"Y7�^�?vר��ڞ6Rի���k��*�����v_�u��A��	�'<(�帯�u�l��hH�x�h�("/!o���{����9
��P 
-qQEU����P�Th������P�!�U����P�
-�D���i��?��SLQ=��4�U,���D�|�
a���O/

��3��a����+w��A�̙Ѝ�^
���n%^�׊R�Ҭ��,Ӡb at X��
�b/ߒ� ���$������ʙ9O+sn:�.��]��
��$)���
'8i̧�����n��F�jMK��%�S�[SQl�O

a��H
'	(\
�
��	Ӌ�H<�'�T�l��*c�Y��'"����n��
iy6
�4^R�i/�S���<U��@��vT�/>d��r�2d��u�C����7
F3����1�q
-�G�Y��8�oR3��%gf̸r��
�͕���m!�
\{�t�	x�^�����A���"�����k�|_�^
{j�rb4�/��O�4J�t]��F�o�h¥%	��L
3p�@m�ɉoI���b�Xi��Aol�B
�:G��M>�MK�Fm,�}A4k5�y�<N����S�b]:�"����)+�*�:l�\���ܡ��Wu�l�����5J��qp����?�ܾ�%��t��%�q�}��{&�a��lѵi����,�*�aҞz.aN~����
=�k�����W��wt���ܱ�A�z�ek/�6l�a�?���o�Fϐ���>f��s0&�:��JdSIz��n �6�S�VG��s 9%8ã�NZ�W���#���P��7����X������up
���.s��g�\_J�yYȎ�(�
-endstream
-endobj
-2541 0 obj <<
-/Type /FontDescriptor
-/FontName /KMUOGT+NimbusRomNo9L-Medi
-/Flags 4
-/FontBBox [-168 -341 1000 960]
-/Ascent 690
-/CapHeight 690
-/Descent -209
-/ItalicAngle 0
-/StemV 140
-/XHeight 461
-/CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/a/ampersand/b/c/colon/comma/d/e/eight/endash/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/parenleft/parenright/period/q/quoteright/r/s/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
-/FontFile 2540 0 R
->> endobj
-2542 0 obj <<
-/Length1 1642
-/Length2 13793
-/Length3 0
-/Length 14651     
-/Filter /FlateDecode
->>
-stream
-xڭ�cx�m�-t��m�F���c��L2�۶mv�qǶ�m����;k�}�s���׏9��Q5��
��CI���(l
-2��l�Y�XxI�6�Ύ� y�,�
�(�ddM�ㄣ�q 9A��FN ^
�)�(�����������Dd�� 4�p"�QS֠��g�/�?.$������t�ےP�}pX��l �N)��U  '
 ��@"���%%/AB#!�F"�8�mB���hB"
4�:hI�@$��>���lM������KؑĈ��`�p3��1��
l����I��$�F�N��	D�5�v6����v3п
-�s ������%S9:9�8 �H�fU�w�NFN��v��I at f=MA&����/�/�_��h�H�ps�'�1���hgm��7�_2;��pvښ�W
$ s#Sk���_�������I�todgg���hп�����#�ڌ	���oN���́�p��̋�������vSg���\ �� �f��oF� [kwS�
�<��oJ��3����D���D��y������//�����ߩŝ���l����
��EcdK�wאȒ��l�mH��7@��O��
����߽5 �.����c���5��#+'���@Gq��T�dbAbfd����eW�58Xm����
ba�o������%8�
lM�{5�W��jrZ�b����M�/gſ��n �3iȁL���Տ 7OF���0��q���p��pqx��d���匜
�n$:,L,,�$����_'��F#fk2�g�T��lM�N���M�

����E���8�k� 7�	��"Ȅ/�2-3ݩ;wp\T���r0خ�^����
-����Sa�V
��0����pb��'M�?܍eMݕ��'�&��)@]�j�F���_��~��y9/��E��E}{\IY��4�d����GZ?r�?
�;$�ԺX�v�0��“S�ģ��������k��=|��XXJ>�/�T�~�9���j�1�z�
/s*�u˽�ɸZ�T��d�x�+x�o�Z�����m�B9uҳ�T}ʧ
&�5�d^�9�/���z^B��X
:B\OE
�BvI1*�M!"‹y
�Ft&��Ig��?%{��2W������n�%�6�}ab-�J�I�!��M�C�̟�����\N[r�
��t ����?���9
!�� ��ZʅW��%�	.��T��g��H�P
��-�s2�&\�O��p�t��~ʬ>��4��x2��!����\��K�)�2>��D����(
-�譨�o�7�[vR�)�I���H�
-�D��	�?�|%��=�@i>l���n�C5KS�r~����#���S̀f�TakM�q
�T�J���Y�M��`��(s=.��oT91lc�����|��h#�M���lqKi�S���S�DP�d�QP07G�
���u�u�xc���ןμ�0��
-đ!
&�7�9\1m_�:q���f�px�_y��8�EH*�_l��i+�̷�F�p�
RX|��Z��6U�	���)n��Tn�(�=Y.L�h��i=�����1a�J�EɈ�d���kc�5���v�`��
��a��D�ŅڡXp��A�?^�
�B� Lb�����eߤ5�x at Cn��e�;*����"^$"��
G����Ԣ��W�S��p#�r
xs��Ël���mʒh��Qz&d�
��B�|,}�ůk��A��P�
h7�Կ]1ȩy��x����9#5XLk�d
-�Jяջ�eɔi荷�Z�>�E$[)vx��뛇�/��
�C�S�ďe3�1Bn'�Qc;��E&�J�xujfD�&Qġ��KS����::24E�7�z�'qȴ�eu-��R	�5j� k�p���C�7�HA%%G`i���C����D5c��e��	Hx�Y�$�m�#����
�ǥm����Q0���(mZ�1�
�X4M+8D:[��ò뻃
�xi�m��K��_������roQ����g�Q�����f k>)�V��!<��
_MY�C�	�<�[�A|S��X�
_�L�mV���=ס;�+ԐF�+�'���(� a�46ŵ�W�ck�x��7�
-i��rv���g�1]b�ij�=�)�f:��M����/l
��5���70�F����>�2�@Ƅ1�o�&����w�e��LE�, b���y(�u���l�����5�&�K���S�v-�"��
��T��.�U����(4N4���q9o��\/�`�x�zخ�����s�2��R���6��dI�
�
��]�m�
����e�ᛨ�������'�
7�"��
eChbhԏ���_H��>������PI��̧��I�n������
ҷ�Q&�
��m�ş����3��m�~"����DІ}?��r��PY�I�+�e���;D����N���b��bu���Ӈ�A��Z���4S� �z�T���}$��s��Ȭªk�Z��]�j*D_�Б$���ǁV�j�*\�5��`�nҴ�#q�ǒ�^����"u׬�ɦB�&;��qynU��!��_�������Q���G	b^\[�iHnj�}���K�K��
���!��
�j�[�h�f*�ʜ�!���w{�+ [...]
-YwQb���M�q�6����T�w�Co�E��U�[��\R2�x��A
�0�ݠ�#�����W��} G��� ��j�Y�S+�[7�6���|5�E�����U�[v�x�
��D�Y��V4Ҷ

<A
��C�q�;_�E)� ��]/"��O��wo�Q�|bo��	����
6$;6�g}�f����fOn�u�ϯn�X�|��/�
{R�q�}�d�`��7��0Q�/�,P>$�	�f|��5���P?F0��-�dSFǡ����;n��x@ޣ�/m�
��'�����т��ܟ��Z�t���5>o��(	���E9z�'9
�f�޿���Eµu�>O1I������R�ַ�Ay�Lj�{r�q�fK�ϥ>:էQ�d�	�Ki�3i}BBԓ�Carc�{�H��4��߼���c1!,0 ��^�԰�KY͌�q[�&I˞�(��ܴJDԿ��3�Q��sa������ay��*��I:	�1�j��Q(��S㙟a�;#��x���bt�h,��ps<{SC��Q�WJ
��7��vԈ�_�g�'��6����ε�U���'֔�
-)dzU���f�!Ns1�>�&�pBTjS��B5u5]b��YY�<h�Ų���*�a������01�T��Ӫ�~B"�����x�����i�(�(�^mu����4��}gkx.��	�.���_�����
[
Jp��J�Sqq����
F�p��;����6y���ݬ�����b�5�
���kN���
����e���ux���o4\;����3L����8���(_at��v� ���G����,V#/��"aa� �4-�r��D6r��`��� 0�q�(4��9�Z[�;��2$�]'�!�w3�����7��h%�nA�I�͍����d3�U�J�)K3{�08s���2x�汲��ܩ�QJ
�
��
�4�A��DD&�Pk��U_�`W�i@���,Q7m���-���݅�,���H)b�a��2
U����Em�s���^̐��ei5N'�Ż6\��4�ܨ@h���Ԫ;��:���̀�xDaTeV*|�WNpLT!��f�g!|'�c
��;(�6k��t�3~�aȕ��!B���4���t
��=i�$�uƖQWGcqz#�v��ǧY���}�&K��6���S��
��ɣc�}�bm��ʡoW��7W_Q��<{ՙ�J'M��%��v��h{<5O(uK�}��V4
��Hn��k�(CJ�
I�%JU������.y��*@^m�v�_P�m��M������nJ��$���}X������
�}�0'���-�HA�նļ
����/�k�]Gm��{�w�W�5b	G��X�!C�k����p
-��E��A��MZMb�Q��7E�g?��:� ���p����J��]hBՎ|4N�WPE<��j���bo?���a�e
�S�O�� h�1'�!Cu�{�b$upj����$8�*%������k�.�
��|M$t],F#Ќ��156�
����3I2�?���wY�����2��
5饝ɒAҥ�h*#+
E

G�+k�)��'a���������j�3����:��'t6¿K���"B^V
筡�C>Xo�FU^�bm���}4���+�?gMB�����S^������*�2��F��C:"�ם�؝ݷ�̙>�[m�T"�*��.c�V
-T�=b���c���ƝjU�p��aY��w/�j�Rd��Gf�5�H��������юLòB���b��q�_
-{���i	
�)�Wɪ�I�M��/kb+�
-
5B����
|w��<��ӌ�N�n�%��1
���a#���Hq\�L����-�~�86�˜��m����rW܀�U�̃]u�
�H����8!�3��?v��N�
-�q��
-���X�X��m��^ᠤ�粎4�~!QN$R��m��!ga嘕��lR&[۵u��h�~�x�
�(�H(t���Q^&��a�&� ��t.Sn�E�7���i�oȡ�C;ї/+,
��&~���
-��b�(C��y��G|�A
���Lo�I
u��ĵ�.s��ӮA+��9�[�{d�O��|�E�e�����n w���
���C$�HY����t�KSM��
�Ӻ�~@0!��P��NN�k��e/��+�D�t�e�4Ɵ(�B
�I$�3�~g
ꝯ��xOT�.���� �)����\3�H��!�H�M4�
-{Π����k� �`P���i&�K�ܱ7�⦐»<�w�T�E�8�h8��!�Wb
+���v �yv�o�r%E�]��a�E >�0��ܡf��T��YbmoOF��"�����
��{��m�D��%E�a���I�7[�H���TR ����3
OH1�UR�6�h�i�Ÿcbɕֽ�SUԾ_ϫ�[��HF`��;0m�K(`�/�0q֒8޴�~Ǵԭ��*-�%�+2S��U��>��Q%���Mb�{� ��E�i!J2H�O�O�f
-F����,0_�@�r�����,F�2�*a��b�!y�]0x�|y��N�\1כ�מ�d3/�#�����BQ�dv3f"m��5'���Sew�`�5��A�픰@_�n�n�Y�z�24�P�bz��h�Z��9B
-_�,���G-�l{����Q
����@PP�	pD�A��-�Hf_
o�"�ҹ�v�����.�/�Z,�Ș���^���=��d��t/�W���"b�oh����I?��{�4�u��yb()Pb�~�;
-�s��'���pt�O�|9��mm�x��3�0]N�"Y
�
�GFzi3J�m�j�v�z� u'ʈ�s�م�*��P��0\SM��
�.ՀもJ�o�>[�9�$�=*�
-;Wy�o��N���Z���<��:���մ<�c,J�'
�٤&l�9iL�z�
�1
��睙Й:�N�;��OA�*LR�;$�ߒ~E�r3w��$K�Ψ`
�R��kZ����a���K���ol%~�R)7I�vE߲�Mu�����>���_�vC
�po
���^��n���GX�1غ�;^m�D����P����:���oV�ȷ�x�+x�8&�J3?BQ�{����kX<~#��U,��DT�
~��۔y�Qf6�
ͼAjh��=�[�2
�RQ�q!D8��b�
�Q��д�.?�<T��[ȟJ*�5`ן�	e��N�����9��H�ʤ6�qAʲ6�t�a��_v�:0��������
pIu=PUxi�5sh��z�_6�����3�Ͼ�}3e:qV�(�9�����/f�|���F��ϜGD��,?D��T��q[�u���j��}�(s
�|�31��w)�8q��E�ast_s�DǸ���s�|�M�Dm�U��}<���x�Uu
y���:T'��ͫ���p�=p�hO�֮D@���T��Ŧ}k���Ǧ�1H
H?/s��P�0�
-�A�%ɸS@(ۻ�]���Fj��v�i��\;u�(�.~J6��� OF�� Q�(��Q�^�hO���	p�7��9��1I;-!���e�>+�d�f	��y ���M?y2�Ň���г�v��\�űNC��
��
-rG���>
-�zU?e�ߦo�s�f�K��
BB�G����r���!)���H�/7�:�
�
 �G���� f?6
�Z�s`D�-���۹�9�
'��ITw2��Ҟ��P�{S���,�;�'
�9����/��le���+�	g[H>�ʾ�_�g%��"C�V8��yT���mI
���r(�e���cY�)�5��� *�!�7#7 ����T�H�L�p
��7��ޕw�@Yd}�пP �����@�����
��L	.͂�5Ȃ��S.�N4D����}����3�$���AW�� 2�4�LsX��q�p�ð,^ׅ�/
�4WH���X��.Wv�[-ګ��f����b̲wh��U
�'[��U�o��	�&�
mR�vl3�D���<j�CpJ���M��}F�g9����[`�˚IJ��2���(x����o\bx�t����B|���0�Q�K8��^V�
(���% ,NF���p��𼬽}�n�_.�ӛ
-��
�\��F���F6��%��ܧ٪�z6^�eAK���U��
-cq��>��e}^&܇XIL�+j�wBs&�%"���!��<���(J]B���.�vt����T��:�3ɉ]�_��j�8_r��>%^�u�[
$��
%Q�#�_h��¦
5Q0�
]1p ���h�` ����ZR���a��
��ʋe�+����.
-�+�T��]{�0�o�s�q�|� �Ҕ|&F�� ��
-
-��S�
c�����o��|������yC�g���!6a��"жav��V����́���0I�}��͑���OIH�9�~��P�	m��8w��75䨣�\���}�
-���E���l��VݾrR��4%ď���/0�a���N�_��
ҰQ'�
��x�E�<VT���w_!�l�,.
$-
(�[V���X�!�/K�+�-�a!ŢZ���d
؏�
UP����g�"���C]���Nf`eձ�o����~����6���41��12�ʊ�����f������4���>I�z�G��d�b�5�QN�H�,�.
����U'"3+�����IX�D�,Y�B��h޼\E[��/�)�^�c
u�m�N���
~�
�QDrW��'��1�����򴧋'�
�X��b}��k"R�X��mc��u	f�ϫ��e7M;
k�/CO
]��e�0����n��άKp��z����dF�M��_���(�p�*@C��\k�y��B��+�8��2*!K1qӸ�煱HOf	
�B
-��R�"�ވ�5�T}/+Xa����
�=fT:E��	Ԏ��"�R��wU��B�v�TD5���,�%g��F���J���5�E�J-鶒}3�Y�-,���Zmz�AdJ�q��dD�i3�;0�3YdC��{��2{���d0�frH�
�<)�(�p�{?֋�SᭆWɕ"�TF����d2o c�
�\%��
�
 �^B�=J�UYL&c�������r������I̵� � wX�5k ��m�p��-�v�z(��<u'w0��zW��3j������#8K�=�}*i2P�6SPy�\���+�M�����i=��д�]>�|u]�Z�
��"+P�"�O�|܏�u}"t����^-1k����zgw�ҋ<�\�P�gڹ�M�Al|�Lw����c~U�!>�Bh3/��a-���/�	�	��l���$C{�E)�uH8�5bb��,����ܥ$���M��Ft�!����i5�Wwa
z*����i�mև��>|��p�Vot��-� ��Cf�4�@q�a�P��KN�'�&
�@��"��~yvP	Q��фI�~=s��Y�s1/�ə`R%v_*d�֕ч�r�'g�Z��Rϥ�Y�{�C��*�ߦ:
���[�-��I(�+Q���|�����͋�;̆t���һ!k=-�������}|@�ӫH1
�.�*���'�����r��������@`�*��8 [...]
XzF��bs
[jA<+vI!�ʐ�s�~�8�]СD
�Pu����/N{M����n��M�

��++�F��%�Ԕ6}%1���k��Nݨ�
ͽ��;�>)UоTZ�
-m�J�p|&�߇�A&g���b���_||W)Ԩ��H�U�Ѻ�)�l�,�$6Mo<r����9vM m&��)���x�M��K��P��=�`��9[����~�����H�DZ=���2�|��)&
�����_+&����/B?��k�/#�|��BU��r
=����"̴�V�`C�A�����PV�����ɇ<�~>_u��Q��E�҂q�b���Q*�ix��d��'�<U�F�%D
-
��v��7�ߌ�)��
�n�
-�/�Q>��֋խ��)��W���]��W�SU!���"�U�1M�߹~���}�b΍��u��x�oe|�i)�ɳ�]R9<?�j)#�/b|�-��
ԛ�=�ƃe$��|%��⻐Gwd�0���P�"�D�Y�����vڠ|�MV��&ƀE�8���m��iz �L' }���5���K/nk�f^I�z!�D{)[$A�ř�iq �ZB+ֺ>R`�ϝ�
�y_,�G�k�w��}�I
�'*V��7d3����z��^�r2�#0)�V��f8�@��:���^
-P���%
&�D
7���rua�ub �
��y	ܷ�a���RR��D;Hg��r�	���+q�? �?1b�
�����M�\
�H���LE�f#:=���]���W������"�G��Oq@!��ٷ8;(�l^�1�/5Ɖ�谳F��/�<8�����/��+YE
��A��4�H�L��V�| �1���ۖ`�7��\O�>c�-(����?sd�L f�%XN�b
�t�l!��	�u��&*nz�'?+�G�G��iz#��ߝ2�aj������y�`�oa�k���״O��`�-���t���O
S{������j��-�k���P�g	�cxئ[
�VL�?y�v�B����\��ao\J8� =4NNz&�E�&rm�.�>�
&ޞ�B�`�l��3d���!�h����O�t:���)��j��+
M��Z*��)�&.�P��F����7L����>H^É%��(Y�CGHs	]�s�ϥ^
v��z��ޑ�5ώ��ࡩ�^���x��
��!���u �k�
Ǖ�3�.6���Nc�N���2�E��)�x��
Zу){>�3�����`�5
�C�1
/�7JI:��jy���Q�ӝ�e���h|�:�X��`��<�f%0Y�u|��؞�L�)��s~��*��
&��˻�f�D\��k[ݜ\C���L߷�R7�� ��o6�]C�vך �����;�I�￘��xť3tY��v�h*�
�,�&Ej�3b���X�ݤ�������.
���:6�����DH�
xN7x�#~2AY(¦ɉ��gے��F
�|�yy~��
��.�>�"�����9�^��Ԡt����v�J�� E�[֮�h�Q�:6�;�����v_
��"����ȇ�C���M?
�\�Wľ��꧞�
�H�j�^�[
����WE>�Q���Q��H�+�O
20^�f~o�i�Gď�����.b�%^����4��M��v�{Hv�7�%�c�πo�z
x�=y!8����;��]J
��?�m4�o���Qe3��w��>�D��Q+�
i�qn~cA��j֕L�e,%H�>�|)`$:��T.���Vq�w	�
W푠(�Ϥ�#�Jqh��B������
���,N�p�R50ۼ���xBD_k*ϐ��F�M{G18[��G��vlaQG$3��[7!��bk�%?0r��
�&ob�1���J�1��ׅV��Z���qy)S�ʝ�l��)8-D �`������A�u�>^Z�&�Ik*�0�g,��k���$w6o0cz��|^6���C������0ڪ
0C���Z�����k.��r�GQ�k�cg�zuTI'b�`���[�w�ZK�&��eO��@~���
-SvI�,���c���cY#Դu�� 1��˯�
�0><���1�����{�G쾰�����
��+=E���@u�6��Xz�=d��i�|���
~K��x���Ɇ�^q����%�������5��S
ܪ$�z��t����Vz^��h�[�aͥ��%���{
_n��
d��=љ>�0��)����!,G�k�/|�jM�ܞ��4վF?��ɪȂm��JOl��)�9�n����F</_�)���&v�E�g�yȐW��~�W�|p�Js2\��3�ߦaw\�kاdՒ�P��
-ɸwd?4Ʒsys;��JBݢ��\�f�k���$��Y�~,/���{%�
-H�$
-��3ibS�l:
�Y��t4���9%c���
w���&9��6(V�D�3,�%YOs^%�(���\��vő|�ɤS�	ҡ�P�E?@���֗7
E��!B�!�6An�R����bK)�8�2*�����_�3SG"����ķ��,i���z��9
�I�Ɍ!v��
�&1��U��Vx)2l�	�����
��o����ع`�fOQoܓ�'�Z{e�Oh�`jY����?��R^�j�n�b�5p#���mP��OȒ����|�r��͖����g��n3j�瑶��फ़� (܍��	F~T
�wTl�Џڑ�pRlS���O O���s�<���&Q���,�0y=?w�_�ء��EM�5�Q	 ������B��ֵV�vr`q6?�j�eM�\�}�˃
�n}���Ѝ�5�Eэ�C�+I6��7��~���Q��he44��.�h8�(
-�*m�t��Jd�_��G��������Z�
*�~f�o�Y�sף�����§4k����s�l�a����
`R���
�i��
�)��1�)�Zb]���cb�ď� �"�|��$S;s����ig����=�[��+4�ߧ�J�SV��\.t �;/���.����gv�v�O\i�T�^0�^�KK��3V�绚�<=�g��Y8(�vT��)�iQ�W�ZrZ���*ޝs���>G7溩�����(pdY1��h=��L��[ �mԣ�sSÁY�ԙ��v�p��+J�VR�3��R(}��}G�hB��=���F
��NZ�54�^�u�X����k�p:
�{�X��!���ԁ�����
�5�
�ݨ��]�'�����5^.��d������NBF
-.[��[���i
��,
藽�^�L���{?�5�ؘF�����L�G�f��?좣�� 98��H�\��U�Jh��pIE����|����=?kwy6���
�
�������xI���k}⠑m_��,

���"#�t"�:�T�{]���?<QP���sVOY"�^�;���/���0��nͥ�C��
��6���IW�QV�7�z,rn
.��8��a�ц���3�i�:���_���*
ug��a��B
E�� (Q�̝�� ��>
']x$��SV�]��
}ma�mX.�}�,f:�&�m�E@g�j$��X�K:%���7p�a5T���"j!=r�����Q���D;�*
ғ
�y��F��
��U�8·Q0#fu3㟓
:}
��t��
-kt����^��jiXqQEȞ��RQ��{�>�Qn܌_t��[�1�p);���<�����0֜�:� �j��a%�������,�J��#��Q$+7
�ĠDIV�H�]��a�Km ����S!���I��ѝ��k@�%@���I���{'��-ʐà9b�G/2�ehX3f���:��*4��R��L<�f+%kĎH�0���R� ��h͂<]p"x�7�3���D!�Od�+\�e���Ɲq"t:���`_�ޤ�ؓ-�j�9��W�
\�9�g�C8�
-���
��
��8<g��]aDLb�y��AUV<�
-7�d�m����ٓ��0ʕ�o
�mkO�+QI��lQ�

��ج���_�I;��w��9��"��!��\��j�*�bh�6�:��b�;q��)��}����Vh�-DO�c�,g�=�1!/F�t(��%\����]ə҉
�;u�)~��o�����n�S�#�1f^o)���4�j-��Nw�pe�q��v�&��L�g~v��F��S*u��U
�?H�V����A�	{A0�q�e���J>��
�'^�l
Ű?��\~n����g�[p��j���-/�����&�#�����y	�$PnI� (!�
;��ӑ|\�q��e�Š5�{
_Xz :v�?�1
�}�|��}Rm3�i-�%E��L&�5:p|��(5�E�	�zv��-u-��7
-$�/�"	&�R�X��hW�o��3ʝ�Q!o�}Aȉ
D�P�1�"��iNg��o�#Ѻ�(��
��cHg���䐹����&sw[�ij>�W�{�Jm�S\�m�zWw�0�u��q�y�
N}1��,3ҏ$a�,*��� �
#����l� M�wb�- �=��k�M�u����~rRRVW��֩d>�R5Ie�ޔ��m�|�s�5e��%��A^��8b��0�By
��p <�ή�袏��ʏ[n*$���+�羀���������uP�7�ُ�t{����?m�`���ё�L
GR�T�P���zr(륝�V%E�6ȧpWɍ�x�c_$s
�/75�;�%�����=D,��bo��çIKn)�]����e%
�z�8�x�z��
�mK+y����$͎�b�B#]���+D�-V7f��f��>\䀷��t��$荠�L�f)o^u4�q�5��5��YLQ@�cC���W���dR��p��/ߕ��ר���Bљ��NyX���k����
�
��9
.��d�����(#
��}MR��yf<,>��5<n$Չp�_�ٖڒ4/O�Ʉ'Y����9ɽ��2i
L?�u@gf��eMl�H��޽4s�W4�=bx󡗩���7��icY����9ݞ%tE(WV�L�@|����k�{�hlXbLR������pкUw5Ot��Z0�	�*>�s"�P�C��|Q�c������
���%t=�V2��4Yz�I�=��c����O]�z��p��ָu�~|
��'���p�m�-�G�Z}0������o�^L�_��n���O�;f�<f
-M�z��ڡ�O���F4{�G,5��]����(����>s��gw�ǩ����:;B����$��f��?<�-�W��Rxʖ��F��1��{6/���7:J�tF��i��Jڈ9	�}O���
2�Y����
�xQK{��#6�!�Ճ�4D
� �D�Th��ޓ5��惡���	�]���\���Vw�)��_ڕd

r��UͽNش%y ��0��5kn��
�������&���g�3�W�i=<.e�B<V���
�:Z��f����nm[YI�p�5%ѱ�|Ƽ'�i�Rߤ9{��;3�r�R�բ��K���w���j����6�j#D�0=��sj� ��y��� �뺷<fM�	�d��e	ذ�u��+�h�<j�K��YX[�Ɇ���>ļ�� I�c7����޼�w�e�Q0/~f?o���
I+�v�p7tO ,
xǗ�:?<�2VUQ�S�����ݫ14C�B�/�s�	
��8�Cr��v�a IgF{�����? Na�鞦E:a+ �{��{U/Xt�_t=��ʢ ;��S�ȷ���]j�穟>��V�X"�)I�:г[��y�O|_��C=�B�q@��'�I߭���6wCir߃��Tǂ����b�cEͱ�- ���p���s���^�
�+��^y�"�;觙A�VO���+����u���5�n=/Z�Aꗭ팼%u�j]oc5,x�8�H�������i��1m�
��[�
N :�k�og)��3D�u�L{j�

m
;	 �eJ���
L���;�y�� �tV�Ms ���-9���w�9��"�{�����]M:�)���+?9���Z�kf�_._W�Ͻ�g�"���3�in��h�j�,�)귤��hX=�h�T��Z�fٕ������ �u*n
81H���t:??�*2G����*��~ˬL�>���J���-^C���D��LE���-7�M��G�?#�����cr�[��2���4�
sn<O��[�^n�o���y��dn����]�G ��i$���-8�[N�:����%���UU٩�\���8
��{b>����B��9Q`��}T����h�����	k+�O���(��6	!������n�
-���0՞�C�1�fl�S}��j�tt_L�>\�b���O7qGA�Ԅ�?
r��R+���~�J�=8s?*D��.˪�ɸ�5:bZH�s�P����ڄV�L�X��޷V
-
-۫;�=�ihX蟠����+կ�T;B�36ԏ�����lPJ<TUֆ]�O�
bN7<���f�[�� 
g�[�~��8;٢����z��� (�`
-endstream
-endobj
-2543 0 obj <<
-/Type /FontDescriptor
-/FontName /UMYVEH+NimbusRomNo9L-MediItal
-/Flags 4
-/FontBBox [-200 -324 996 964]
-/Ascent 688
-/CapHeight 688
-/Descent -209
-/ItalicAngle -15
-/StemV 120
-/XHeight 462
-/CharSet (/A/B/C/D/E/F/G/H/I/K/L/M/N/O/P/Q/R/S/T/U/V/X/Y/Z/a/b/c/colon/d/e/f/fi/g/h/hyphen/i/j/k/l/m/n/o/p/period/q/r/s/t/u/underscore/v/w/x/y)
-/FontFile 2542 0 R
->> endobj
-2544 0 obj <<
-/Length1 1630
-/Length2 19951
-/Length3 0
-/Length 20796     
-/Filter /FlateDecode
->>
-stream
-xڬ�ct�]�%��b'�m۶Uq��VŶm�6*۶�����ӧ����t���^�
s�56��
-����P��֙���� oac��lg#o�%K�
4s�������8
�-�lE
��� 
�	@h
`f0qqq��D��=
-�̝�j�T44��)��`�����Nf� �?�@k;{���_��kG �l�ZX"
-�ZR� J	y5���hh
Pt1��0�Zm��T S;G��� c;[�Js���%�08��-��ݍ����h�@G
'��� 
'�������
8�,l��]L�I����_	�;�������
�h���d�ha�
�UQT��y:�:����`g������埒���
�W�lha�p�;��0�p��6���/���ſ�pq��5��
h�@3CGk���_����t�?��/���[{����_V�3
g'��)=,�ߘ��c�Y��2�3+R��v &��M\��C�
-t�W�(����I���Z{ L���
�v�C(��X���#�������[��#��r�\�����_��]���
m���w
��1���3 Y�?�������chca��������� �r6��![���0�3�[h�$n�4Q�p66�Z��ٿ�j�&@Gk
[�_n��V 
#�ѩ�[[��CۿU@[��Z�_���?��������f���P�� 8�z����T#gg�?��
۹���9t̜L��߄��Y�oB�
��?�r�Ύ� ��u32�������I�����ۙ�3:*Ά�&��
-�Q�8:�%�_
�o��q�����@c��%;c� ˴�t�:����:}L�~ۗ6���������pU���7Mq�{,��
HS��aXS� ���~�P��l�wr�
0�"��kDy]/�n�k�3��N()땼C�Ou�8B_?S������>�#��6Ģw!7������'�<?Q�
�=�{
��K�
C��
-�@
�球+��V��N-x'� uw0h��r(�Bj�o,
wǩk}*<Q�@
+���?g��0Tܰ�VfT|B
�,6���� �~)�g�u�I�K�KUX��Kް9l"u�
4 ��u�6�t��^�ư)�	�c8�!� �5w1'Ġ2�
.e]����;E�8{�#[`���5�������l�]S�*J�D��Fc�1�yG`V�$N�W�)����In���`��� ���󓑆���ř��8>H�]5-�\ɽ��L���šx7���r^���ú8*#��n�Z
���%	�`
��F�v�AgZ�}��|�J_���.)VN�`��m�q�#�
w�� 7nd
{o�HTȍ\��h�_xX*Ԩ�-���v�oYh�&\]˘i\m����u��>P#�
�g�/�žG}]�������2����b) �l�
�c�և1�Q�*b�!8A�q���@&�U |�#�ך(
0 at i�i���
�H�(>^\�y���H�OQ���R
ѫ
A*�Y�%��_��a�,'����q�&��v�笭�ߴ օ�WRkW��EL5���O�4���E8�i���qI<���Zr
�-zeS��� i�h#�n�vIw:ѼՐ؃>jl�:v at s���THC �Su�ơ
�+�z����Z�\/����[g��'�d���
V��M?c�*�D�֎��%Au�b<%����w�ų�ñ��u��'��]�a�a��`�Q�
Ӻ-n
l�X�-��0Os<A)��I+Nc��4S�j�,R[N:�� O1-��i�RO��m�����,�������' 
h��]�d�񨲰�ħ`�o7�����	�\樛��2YA�~a�6)
�Q�Z�t�M��gh�t���Լ`nl8�v��H��ڤ?,
eF�s�\/���[@~�yd���=�=�-�,D�q�6�������)�,�����r-��ҡ�i�ąs
TS6@�vI�Z=KVH����Z
=B�sh���
��S�h
�[P��+�[��Ѹ
-{��-9 _\eHQ�^xr&x���v�x�g�t�5�L��߸*�Fby�pO��2���گ�"�T3�|WBy�e��ɰ �.pƣ��0�shV�Mk���I��S�#������.$##�+
�x�9������JZ�ҫp>���
-����
-��
�m#^�;��4�=L֤G-LR¯����p
ښn -��Z(�ۍ��%��W�%�kI�6>
���
-N�
tڭf���d"{@V&���Hq�8ڈ_
W�-0'��SB�M��`FL{�Y3O&�?:]ZY	!W�
�{*2Zq*��?�YC�+H
$ƨƬDζ�d]��x
���F�n4���3�H��h�զ�,����e��?�.�L-X��q+�������n������Zڑɜ���j���x ��R)}�$��9F|3��o��jЂݯ�t�@��t�Ô�szZq~
{bӷ�h|Y�)=b��<��{Jw�R*�i���
-44nYܴ�-�Eշ��6i��G?�L���y�l��>�qO����-���P�z33���B��n��Hu~���׻Hd��}�P�wO�':��¸n��,��4�G\u�	���w�Ym�����+S�ʘl��T2S��/�N�8���q�,�q���Ç��u��<����A�u{�v�91�&��U҃o��:��

���^��p�y���Ԍ�ߎ����<�������.
Q�����
�p�('`q�����Y�ibf�Q�*^p���)�9Sy/�
3
5}�O��BHh{��N9���^�lG
-6�F�v�0;�_m�{�Ĥ��ʢ;
��{����(͝���]f�3�Ą)]i��y��1��xp�ׇM�E��6� �<�
t��1�*#\���IC7`����;���bæ"%�J�U
4AV������\JB�2
�+��={�����#��� .��
�K=�6�q��h?^hD��R����d�}` �L�	�~�7K��ѷa(u�
T�Ȑ�Y��b�����/+�����)�K
�������s��2�#
�J���å!\c��‹�Tb�����*�
�}���=d����t�?B6��L�1�4j��
�o��;�9
��HɊu0\��r�9u&��D��g=�>��VU����b�@
b�c�X9�F�3����S����$H r/�v��Y�/��Tږv�Ml��]�W[��*u�1�K�"_ݖ�V�<sRz��k��G&Gl
�x4{��U0�B��ϋC�Z�o���f�
��iS����"-K���:۶��m��K �NY
��VL�� [...]
-]<��
�A��q+,�U����H������r��ЄK|�kY8�
��M�ipE�-=�I}��ۓ�)�^#�5���U�D.��Yn	~�<`�B�N��`9���=����77�
-J/
k�
,_�~f�c��q��S�;f��Qjf8^��5U�����%���p
�=��
٠ML��_j����_:���ݍ
鱈��' H(������ �udUx"�"����$�
��5p�Og�G����b�CpU���{��ф�,���<�{>���T�w{��X�I'�$����*ҍ'v�˲Ƣ��?���ؓ�ۥ�K��ڞ�6��Y>����n�c�L$���p�d]��0~A&QN>��%�i*�
d~{Iف����-r�|��(��J�j>�������T؏�LI�f�]�
�J��B�{1��=��S�
	�U�oT@��ݗi��r���S�����e���n᥻�ʋ�eb�l\�
-WU�䁗#�
�HVD�X�?��/�
�OsCǜI�c�|�,x��i�/
-�eŞ��>+2�و�C�����e =��{x�g�������I\�JDX�L�FcX�h�8�m9����]y����ރUB��C�k!Ğ���
V�����l���i�H��R�kH���\���nk(d�=hʤ4o֖7�W >���ka��
�K��z\����CM�6G��w~8 g)e�S�o�;"�=a�6]wƦH(���2����x֥^�Bw�ӮAb�"V�
-%oWb
w�$����"�
-bْ�&����Y�#�+k����ɣ(��[P#�ϛ�O~�(�ncMF�X�
-5m@�G!�\Lxg�閤?�`	t?C7
L&/v �Ƃ�L]��7ʯ�_,w�����љ��e\.g�w��o���E���瑊��R7�{8�I))gx��
����
-X-	m�ՠ�&�a�%I�ƲC�6�=8
���U�]a��`֓<�T��
�@3vu�A���eE15t�&��;�
1y�Yv�=Bˠ�"�����<Ɍc#(��^�
��h��c
�K�F����B=�%�ڀ�v����upiaa�{�
���EYn��!yr5M�v[>,Ԛn�8������%���+�Ϳ
-}hp�k�S'��;z4tkk�.����b
-O���I�|���G&��JX���m
���N-�����%g&Z ˜�{�8a]f&mE��Tcm��H�o s ʈ��w�f��Ek<�NU���i��3��y��	K�vʸW��>�f�;Z�w���Z�~���|~�t��G�Dc��	�a:o�r
�볮u��
,/�	��ݰx/��8��m#�~O���v�s�K�5�:�s]"���w韑���(H�d7M]ғ�杺��_��$��3��d��,���pL�Q5��; T��D�'Ӿ�]F�:�f�>����y?����owt���%Gߨ�sv5�
-*!��0���
��i��$��f��	�:EB��[��eӊ�+]�=�� ����@Tx��d��T4	~���?j\���б"�d�3�f�xK��u at 9
�}a����8���h�
~�]��
�����c��x�1�u
�����
☭.�y0�Y����;f��l��惣�g�����K@�/���N�d�m3�'����� J74Ѻ��M=�cĭ?��+�
^�`8*
��_f~�
-�g���?�
�
Q]-y鉶o�rĊ�Lc#��'-�� �o
�Jyh�P���l��B���d9��C��]����m6���i�6 �kRW
�L�mߵ$I�&6PW��р��
qo���F���ke���P桾 ��'HDnjVR,i���
-�Ԗ#�0���3ahΉ�������
Ih[����f�NJ�m�ߚ�[�
i
�jC���⡀a�:�=2ݢ(�f�~

s4�
�!���Wd��
[ q�o���ȯ\l.[��˻1*�����8T��y`�
�<
*
�~
�M��\���N�����'�(�]�9R��m�
f��ݹ�()�D�
1
-"�nqH�pF#��&Y*7*y{��䖵��<��n��sOwM�v����g��dnN�j��5�^Qbe>�J�p�C����L�/oޙEY=�f(�!�U��
�^�P��]�;s�X��#��

Ç��Mƚ�,�vdԇ,Ŝ,�׭�
B�q�k^Q�w±���
�
��1�ْ2ߺ�cvc��G�_c���@
s�'6��q�N0:e��.� �Z�yx��૧
2_B8~☤MA��)�{�C^#���Q��U
� �
���u9�ݺD���܂� ��I~���4��-Ej�TR�an�َ
-�YDaR���>�J�4)�{W�9S�Bs_����vߥ��{ô8�
ʏ��CC�䩝��Y�`��A!�+9�JY��B�6�_

����0?/H
g}�$7C��o�o��$��
̹�RRu��~�Ij^�U�98�:
�9�
����q�]�Mm�g�C!բ��%밢��c�|�2N��JvC!H�,w��K�!�h�8��)N���JX���鋐���;��RKDCÐ`)*Ooܜ!0NI'er���{J�"o��$�^�7C?�
��І��6iX��ଟ�IU�RM�P�#~U��X�A�}�,��q�r�k�7萴J4���X
-<
���Y��~/;eR�8oPc0
-FX�v�]*JZQC,|�T��ew���N���^ղ@S�
-R���G1
����Ng��-��p�
��!�L`Y�<���
��t��օWlj�D�)}�jR�]����� K�W֍j�gw�VQ��8!d;� ���ŌwϬ@��j]�6�Z5�Ϋ�]�$~7 �	�)���d*"9\V]g�
�[���
#J��o���
��
-eK�N�k�k�"�k���Q?!���c�_dث0��qHU�dr��%�[����`6
uQG�0�]�����id��s�~���X���?��[�����K{� �z4�,�
�7��ɳ�S��z
��*߹>�D�	��X ��&�c<
-�khyr�~�(��&��vf��l�GT#&'?�\�E%�hl+5}
�yu�|�w,�G[jf�������I�?�w�#:&����Z�Օ�1x}���4�|��P
-��2�Y�I�s1׭�!�(���
�|�t��Qc/K8<�B���+�mP��/6&)b D�
b�.��]��n,���8��sQ�xU���	g��X�ȇ���T�:�lg�u��jnps-�V
�b����A���9D�zJ
��E��Y4,xo���<Q^�?�񧃅.0
q��(t�P�kwz��!��X��c�.��8t��d�>��>�>h����R.����A�4a��
�cKO���4¹Wh>߼�?^�6��<wq(������^�W^�Q��tkl�G:�F���I�jK
�A��`�eGr�I��k���v�L��`�o���jq�T/�a�wKY.!��-�钌�0(��D
�.��O�8b��n��eG��wgL@!������
�޲��tg�ٷ����
[M�{r ��U4#\-�YFN#x �h �)��(N�#팻[j�O��^��]u�J9k)�1�����E���+����=>=-�I�XJ?@� 
{k7
�����

�o3�q�1'��c ���;(���.�~���\�^��Y>�
���)[�����o�
4BCy�dB���l�J��
���
؆�yq�~Ϗ�H9��
HI"�M2{p�Q���?��n�$R`�Ɔ`�K���z����u����6��<XT_;z1�(�2��F
�˘�ڙ����@��J_������g`�ġ���R�2Хi��/�I*
���
��a��g�}�d
ɱ�j�����a���G�ה+�jI����n���IF
�DIE�|��Ϧ�H���5�
�������O��s�����
-����qmA��uʩREy�U�kV�w*�ߠ-�$�%����w�ѵ�����`�pXۃ�p�n31��e^�mbPM����(�![<��/�\��+k�ϲ�
��}`�'*��B(�Ԋ+��S'_o�`a`IqB
��/|�y�%��1�
-����B��t�_��n��a}༢��W.4;
rH�-�&��Ō{$5�1�<�:\��l��
a��.%��b���FJ
-2�?1zt�(���6���
o�ȍ��e����@W�Jk����,��6zK5!�lɷr�mj��r9�#�"�i"p�-ʱF�T�������Y����84SA��QF�$�_�����%ᖡF�2�n�bzxz��A�}���z�UYG�e�{zh
<oh�W�-A&rj��@�%�~^2,�
���"|�It�4��_-n�

Y�eie�nw-
��(8_�g�6�
)î�
-{�1��9������
-�bM����vl��=�-m�fH�����n�p�c�s�� �E2Z
Ls
-�<) ��>c�Vp8��f�eZ|��tm��'��	���VW�/��P���������A�>C"�6>s��gr
-�EP�&"�
LF
�Ϫ�N+�n�~>����rB*1��?�����B�`�g�i� �߅
Wo�C���H+7���T�1�e$v_=Kn��tZ%~�I,z�+<�����KX��

G��6�#~6��н����(���K;��Ӊ��d~'o��̘]�*�ת܆I ��u�eQ�D]�:5���!� 
�'�J4��Q�<t�%�D�n�F�qو
w�
�-���իٔ�\��fȸ}��D&R���a
��h�
�:�FN���1>i��]W
�>e3���a{�>�,��V�'��1��(����.ё�<�&���"'҆d��"�b�ْ
'�9��H}�ylV�������]M,���aE��P�T

�<N�μ5��"uPz����W�\L'�
\
q�|�4?�cx�s�^�`��^8~
�����5���$�j��A��qw��&Zu��cg��j2,���3��/�V��`�r���]r$��U���3�����F�s_�_#����O�҄-��Ľ���3x~w
���u��p�iK*II���΄9`��0@��С���a�i�i����e�4��&�.zǂ���j�����(Pw�-Npv��Q�T�gY>(�/�.���k��w���=�5�Va�]6�.�>���H���iSZytB�3e��<}�_��(���%ҦYT���0��l˳Ğ�:��)� P���jhD��@�x��N�K[�G�M�E�3�0���rq<ze��d�ӧ��=~@F,|�
-nz
y��XbGY�s�����(��%wUM_�
(��,J��XO2�e݋k�lYew4^��q�JB��J�^b��6zuF��˷n���=��guI��V�u�!qQ�kE�Y'�%K�?B&�����#�
8����)8e`�fǖ�������m�K
#��R�Ɍ�&���\�d`ϨI���y�ׂB��]�I�+���� 6��
ݴ�9�MMdU�T�JX[`5߯�H�;6[�W�2��%�%)1���x?]�7���*c�?�de��<����?��N[��8�b�� �1����:։���1�hK|9f��
��d^�x舊�6b�(��t���sNQ��j�_���,H�;�6�%Z�Zt��՛����X
-2][LK�3��kh>B�
��?�17��u 6��W���$�,x�q��VD���)�
~�G�I�O�|Ģ�#R*B�	?,��! �����%�,�\�-#
o޽�6�'� 
Q��7���ɘ�oq��ũ8���aA�]'Qi
-��)�dMIӡ�pTx_)�-��Y�[����o��Ô!�oe��l��Xt���a�
-xx��Fc�&I���4�iG0��D�l�R
�s�l
��=�\`K�ɠ�
_nl5��>�#
��>p���
�E����uns�Q���O�ɧm���X�#A���%+
]��=��d����*����wD�i���:
���9�{P�|�0��^�>�`S���v�(�\I���Od�ֲ�c76e'Y1N����\�E$f7�;�Z2*��06��Z�7ۗ2"�A�BSa���2�
�B��̌�H��_���
^-��B���&�-
�dua
iz�
V�G>ы�`t� �
-���s�:v��w9��m������&R%��q�.&P
c#��L+
�p-\�>�Tf���U��[�Z����Z��W�g�}5n~\s�"�)#?ȟw�"��µR�Sl���s$HÛ��S����ـ���O����.���@�

-҃��*I��sO�ב�,�m�q2��M�˃��`���|��$���
�E��R�1N)W���v2��w�k��T[*��Ϯ��<��f��W*q�)�\��P��}�B�[	|����w
-&�<1:Ȯ��"�r_��o
��#�i����FI��MI2@���w��{D�7���'i���
+胀2�ocˬ
	������	U6�ӝ�6��/��$ 
.
�
�wƏ�*
c�n0��Eo�Cs�E�i{�1�k�k��7��e�Y^�X��{�>^����)�ƾ��W����*�Nˎ��!�W�G�{��6I=����;�q���鵅�Fr�:�o�4U�I�d���3��tM�b8MW-���T�
��غN���n5� G��K�,P�eb�<zQ�3�q
-�M��2ⴍ����O��dF��M�r	�r�~��Ɓa���ץ�rg��:qS��u=:d�1�8}T�W[��Tϲ
럗q�M=�G�<���DX
ggc8�t�ݞ�fWiM0�'f(z�����c�s����H^_���vN�&�4��F�bn!
�t�sc��
�H̩�m
�ms�8
	
���$�H��Vojsto�V6M�UG�sC8�G����[/�?K����];Ch���ܖ�eƙ��Y��c�����a�
e�R��Ԋ��t���T�XjI��q���$��U�8oN�=��(7�}��C�A�Kj��;���lܴ�qZ�€�제Tb�i��)�(��Z ����$<�w��]������C��6���:7_Ɣ>���S����K�
Pk	��V�LW�
������ύ�<8XSQ#�̴5	���
��ymf~�
���<X�gI��̦	O�v���^@Bg�I�ָm�:
u��vffi���5+5�[J�,����J�x}�q=?@6^�U_���1��!)�HU
1�BB����3��xv�^8b��������3�����5��m�����m�|�'Tqh����ax
�D�O�[� '��;��񶯠Q�P76�H?��BL�
-��{�����\w0��P�H��lސ*�Bֱ�y��S������u�\�Y{:�PK���h�
��	&
�4�b�'�����\�
-�I>U(��;�V
g^����Zq�I��"o���n�ݘ�P㋾0 �%r�X-���[��v�p[:\��IJ�:��I�XÂֆ�-��}%��5A�a�Y�x��#�$s�~��
dv�wVb����[)���O��r%$�����l�L����$:3�Kz܊���hZ��W_US�����D�X��1l
�S�����X�$�S�a�#��e/��cH�j�K����Gi��KQ�S�@�8�Sef������K﯉�%w����f��P<�[�ͷ����H2n¼\P��w�`�`/��muT��
�
����-�#Ij��{��<���Ӄt�k�*�&�"aO����{��&ޢ.���S�e������Ôl���T�%G|���aVʥ A��r!K1�
�q���?Ŗ�J�(���㦁�T&��|["�#�-g�������� �p�̏~��0��
����6Ӿ��l'��urq�o����F
�;��0��(����sB�K��e�X�	)>�O�_�m�X�z��i���/A��h6� #{�J�8H��!8��g_���h
��T��'͹��O.*
;��,7�10�eQ��&C��㍞E�A[��]��k0|�f.��O�o	��g������QK�ni+�iE��
��tTn"$t�(��5B���(���x�������2�ICo�o��J�U�n)���ڏ0��k}l��C.��7��̠��ʬ/��8l�"熩w�c)���(B,�
ąx�qٍ�@�o��ʧ%�"'Z�"��sk�`������
jFDM
�|Wo'贒%�W\��2Of.��H{��؈�?҇�a3��vu�y����I�����[	
t(%
N��<�Z���±È��q&��`�$��Y�(���Õ��v�f���YWoi�Ch!O
<!	�C���4������)�:��<,��JU0��6���]��E�v
;w��:�*�

Ai_ј�Q���m��������k�	/=�
p�ZNfRj66��F	7涖>��_<4�X�~�!���qVWBL��4hǾ,��PA$
��)�R����*b��,]4��mt^��$�CD��ʢ��;�������P�	���	�����Ñ���������KB?ݢ�(�	5x!��c��+v
?h�>��)
-���0��V
���ஃ���4� _i �~�4q��H9n
�����'`ᡡ�z���(�9o���m)��͞*E�Kc
��70�s^�C��#
-@��t��L5v���V_m*
�S2�;M��Ӈ��(Z§`őg�����7��I�)�we,���Q�y����Ks$
�w�.�Q/��d�&:ySG�,�-��ǭ�DA�\��r�
G�l��;�C��g������!����������W � &f�CO���ނ����]�9����2w:{��ڊ�=t��ޑ(Ѳ���dN�h@׊
3�[����.˶?.���z2����k-
���z���vA�q8�(3h
ZZ8�
CQD���QpV��@�v��ʎ��r�z��j�P�3�Q�K�ٶ�~��YPLu
��}�
nfZ\Y
?�EBkE�L
-�ᄾ�iɱRAƇ/���9���l�"�0\�j�J�����[�,^�B��
iuamc�p�I����4y�PY���S<U��虴��G�dB��!�a{�ΤQ�9��-�/)��˭m�xh��4�IX�:=e87{�wh���B�+hEgv)�	�n��v�	Ϝ⓿!'xM<=T8�
�R� =�i��]��re��bǐֽ��d���nY �S%}�W�Y3(�ᆱ�
$�Gb��4R<2�]4�;5�qb9R%21�(8��xpjO���+�S��I�E)�I��@�
-f�Y���
}-�'�re�(��*�>
��m�:"��O��u��R���S\"�̽`�	��j9.I��xA�ɰ7�@S��:�1��֊.�.���ݙq�r���q�G3���!��t^n�3�S��o�f����9�j
� ����
�UM2�gwg���J�K�&b�ii�a�l��S"����6i?bh\R���-�>5�:��X�
�*d6�/�T�R�Z���]�5��o/��ɝ�E�f�i��� �r�u1V|��c2��ۀ�e*ψ����
ħ�����3�xvi�.a	�ӧaos�#5*�
���t� �s��E�C]ZԈ�r��%
@
;�@s��^�����P������㖙���{\�~V��+
�&�qPu��<t-���}��z��I�y�d�1>=c�o���පn�fD��H�+
i�Ns�U�Y�a式y���P_�Q�A�:��Z���l�H�qT�P>x�o?q�W��:T��7߱�W&�:�f�!�ˤ'�<o��7�K�Lé�	m���d�A�~|]�z��*H�T�{C�Y�
-���qB}��!Ga�FB$�t�Ht�:[߅�
�w
YC�9�Tgp�
-��
��^+y"m�˃#{
o,[���Eg�=b�j��
�G
(���P`��u���[����2��m�s��)��'>93�[Z��>�KE撳 �j:j#d��1���p�5��a��Wٳ��4Nx��u֗+Ą�|7�u*�Q}0>�JtƜ������s�!AL[�x��zZ��F�eHh���'�F7/��}�
'4Ch�#
��*Qܐx�3��s�2���pJ>j�瞟�{�,�����G�ȑ�VZ
��k����PTF��zk��<�d�+��X"�AIp��9M���H
��U�T,cP�L���)�X
f�����*�V-
k>b�8���9Q��.�n$���˚J
p�6��
�,\Q��8���U,��
6��k�۰��f�q�T�a�s��ҩ��[� ��h(rC�|�а
�6	�TlJ����
W��"�]�^��-HT
�ĺj5�p`a�ኲ��G��~79�n0
	KF���eR��Iq�>�b���C.x�]7��F�#�ٗ�#�p+�V7 at px�ޮ�	{f�Ԡ����J�E��]����B�+|�P�#(����N̊�򋍞���ѷ���Ш
'�?O�x\��������ٶ�0P_�C	��<��n��L?�d6����m���e���+��j:��A:�i"zGd��@X�b��)���v�[
]��o���f9���2���{?v+5do|� Yrdm,$���9#��D����7�j�c�3<�
�X�tp5�cC]a����*Ev�?�~�ަ
m��毩�1����4�6��
�x�„`P��5��/::Ǐ��iM�P����EKp��@�RD	��
%w�e��;�RK�����2W�����6�5�l
 [...]
-u��E�j�Q��x��
wyWQ�
�m�Q2��H
�3���{����m��ri��
��
�~`��/mq���r�=�FO����NŮ�7��e��3�W�%����&r(�Hb���(`JZh�c��ܣ8cµ+lS#�&G��(��(�Sh`�\%�A���Q��*-Th+ʃ�~��h�n�Z��<4<���O���� %�Ra��i!���,�,�Ļ�
�
��z2	�k�H�G�@q�+��p��Ӝ��b嶖�2�PΞ�p�ln
��t���$��=�l�?#�'�f��'21�̞��ܶ�-�i��B�$��c�Av���E��ƨ){iZ�v�k�{�8���F��<���jm5~OOޏ�xj"��z5*"�T
+��������
FM�$��.��0�0�D{JR�yL���@��0�֘�\	�D��m��E�S��[�����#��V
�4�i|r��Z3�p��ϑ֭`1S����ݿq:�|�����<�1�
WS�Ғ�2���ȁ���
�͕��-���-�x{��R�z�#[�R���N�v<

��x2��G��MWү�T,��
j���\���?]0!������ ���J"o
������\���ctw!��9�
-K�q[����1���
;����̶܇G�{��v�#\��!U8d�H��|��lsaH~�V�ß9J�qDzE��#_Z	^�������h[�P�Q�F2ڴ��K��q at G��+*s�"�A3M�8��������5���Ȗ��%�[/r\�df|�1Cf�L<�5�ݘsg
-U�Qĉ�3�,�G�/�0��'"����'y�k�5:nZe����,
-����l�rFW���WH(�4X���g�3mo� �@��@��l���va�}��&1��A�]JK��8�P������
��B�ɱ�t�
-d�k��H�����|���:m�ěj�9~q���??C
�n�K��D�
�Md�.F�ۖ
�
��KHe��^{�,9����cU�h�B����9q�(�׻bNA
Z=�ݟ?<�y
-*q)�<��-]o����r���~�U�&��HF	�k�#�j�ԃQ�:�b�3_^?i
c-1�)IErn��A�:��o���v�5N܏$:��rF�5�x�v��:�	f�3�Eʪ��W&��wP.�����
"��M��Y������)�Cx���R��7�}l�>'M.2-u�i�Om$)�	|8~�y���z��0�X��=�5B����J�R
��i�(�{��OqoP*^Թ����6#q�
��S��=1 �
�>F���e�>��4@�I�O����l��ӍTmW/�L=	<[è��f=vT�QI�")�fdM>�F�r���"�-
�@ ʸ�n��v��?dN|�b�vA�Om#>�.��o��#���r�I�
-���v$R�
ȷ���
V�m0&~�*�Lj�WZ:�! ��b��)2�R����0ҘilN��^�!G��

O˭:�1Qj�'֪MAk�`���+�qr�
3.�
M��ef�_NJ�`2���kmּD���XiCm4(�ݯP��U��b`5����=�lj�b�T�O�Tl ��?i�K���Ձ����i8�g����,/ۼ���6��J�m)�3U]���2z7
]��m5Ǻ�C�b��������	�8bp�1� ��G�8��w)lR���,
-%�k*
0�-�����!�r|�1��
?E�hk�>qx����`r��֜��=� ORW�C����`�F� ������\��16�Jd'㥐� $�D�8Y��ʊ@P����0�bq<��$�w'PUM��ν,��!�09��� ;�<���UQ&����[˴ʻir8ї��Jg��.:x�N#7{��/��t,��[K��T*�FϷ�@� J%�_�_�
�aP�
�7j�}Z�K2f��B-���ǎ�H!��q
�3W"�#���
[��s
j}�;+ 
ӵ�];��
$?L' }|cL���	�����G��a��AA��ǘb�&�O�r�+�۲D�@��2����]:�@��S1�B}��2�#�(�;����K�r���G��kb��%I���Bߛ2��TN%2����f<7��b����c���q��æ�
>.��U���y4�lQ�1�|z.W8� ��c�yQ
)�eۣ�"ېц;�G,�M �&8#J3��AK����Q��)h5>���@
-�㬭O~���R;
-�M��Ǐ[�R
�7�?Q�_�	�!�8eپФCƇ�F!s�ͺ���S�����Tb*��=-8��]�*b�?��.��*�˭���	>o�.����ݖtsd�+f&�G=����V秎$�h�����i耿/�=�B����#O<+
_�i>mʔ3]���Ĥ^>�t�{�D�q�
7�"g�D��`B̢m)�j�{���)��y�o!����� H
[J
�
�n{
=Y� �
�ݖ��1ŋfq�I��"𳔕HPȬr�p��ׇN�̮��4��kG��!�����=���X�],���;�2^

��:���2���{[���/#��E�?D
�G�2�
o�0�k�Z�i�¼<>����L��
��&�k��.�DSE�/��T4�����ݼv
~�<np6��dh���%t<�Q
W��.]�Ҝ�~�6�ՔU����dW�.GҎ�p�V_�w�Xu����c�P���$����`_<9��?�
-d���z�+v0 ��e�g��W�|>Ҩ��Uc-�rN V]�v�ǘ*���L	��'��}�͹�3xt�3��_�Ə��\n!B��WQK�gN��/}�]m�9
9A��cl�A��~/Zj[bp��ܲs9�,mƸڗ���cVf�V�0(��f�������~����j���ƙ��;W�V� �����/�'�D���"No�@l�� �W����g�:��@���W�}��;R�����<�r#G��I�"Do��H.��c�3p����)	�%�#@]d��
-C�/�E�f��g����lI��
kt�RHp�Jy�B�Q����(e{ިU8}��$�[���1�d�����/=�b��`1�[u��
���M�����q6s4=w_-EQ
�����a�/�D��n�W;����v�
s�]CT�u~eYi	�f�&I� ��,��#�
J*d>���3�f���/��� ��|�8M��
p�6��O�_��\�<���Qf��
�
m}S{��(�k�!�L���W����~J(��(��
����#u�����:�{��#�	|��t�
�J˞nI�|*�lNJU��{�G+��v>1�UJ�h.��
-x������a��]cc��l�����[
z��Ls5PK�p)_Į��0���U�~T�T5�F��Ļ
0h���\
}��B,�'^ȶ[�ƆԌ��J�����}��Pt=�h�����L�!.���	-I��Yۦ+G���X��I�2Y���3R#���;h��ǙP#*���:Q
�0K�7`� ~u�����"��:��
��
��=��Dg�-
H��i��Y@!�G�*��)���`P◬U1$r�e�~�3T��հ�XT�1�P
��8q��)��:?�
!�F	vy+�w�{�o�C��
U�+��V�R�셁V!�>%u �!
����%8�辍�v��^��ο/L���l�	��.6�j��)�6�6a�^w�#(��GW�^yo�3oD���aOؿ�ٗ�	g�|a~S2�k��
r!-�`����.6$�����z�Q�;x�(��
#�r��zx|@��ޓ��G ����Ȓ�UI�3XB��?ã~72�Ƴ���.Ӵ6[R��l���$�[������9��S^6�?�o+cPw2J�
]!SQ�d���%2T�l�pe�q\q�
�
!3��t|%1
�'
-"����
,��
���J
<�=�FI��$��8��1�6
�.g�����X�_<
wPT��a)�ލy+�l��+��S5��2,kc&#Q�����
�Z
�
=��[2覿� aG����6�UY���[K䪰Z$h���6��A�"�ܑ���������i�Y>�k
-�d�F˸�������&��
��U�
F��#��5���M�
9t�YN�5$F�rV���u��?Y�݁x�� Jo{�(X��%�<�K�Z�1du��1�Uۍ���2Aq�g0��E�l��^�����
-f�0�3!Hf�{+���K�-p��^�:s߄�͓����XpMty� ,�
-��
N�HJ����{�@��h��
-�!O��N���H��
#q��LA��?vt�2^Q~�]��
)�R—�&��?x	���2�`vU��t�vuw
�W���Ќ4k�(��)
9J�p��D�}�=`v��7O�fh
tmk9�X^ܬ���p�3�ٌR�i�� �JSE�\�\����/���*�C�8v����z�� ��VU���N6ppQ� � w��^��Zr�{#�ch�����;H�lIH����$zuu�p���y
w��"�J�Hw;Ί�[
�z\R�Z���$K͕tyJCn�
L�Ne�ݫ�G#�
����	�H�̦�/����i
�V��%�H��@�
V���D̝�2��7��?P,a�m�6Di�
�W,D�l
���G�4�/o�r� �ޱ�$�b#ķ#ǯEW
z�J��H���6�z]��׳c��\�ڏ(�0fWz؆$��Q]#Q�ݫ�k�h�{�y6�,�Nkqf�i�t�N[U
�Cn��<�h�w���\i%J��_���J{
Һ�J@�C
���c�l��T��
<�x�
-,�R�H��l�_g�X�h݇^2.�(�
-�7���6tH��їT_��W���G��m?'��s��j#a%�>�D��g��%Z���h�R��+{�1Ҿ����7�m"d��{��ھ�q�w��Hx�Q���$
�ƴ�K(g�չ�UE�lh����L+)J����cB��۰K&���̄�j�7�zl�m�ic�m�(f�<�c_���l�X����q�f\�U �+��9��-�:�-M�$����[�~�uF,
��j��Ə�SJD�zqk�S
�
�c�? ��Md
N�����RI�\5��bK��+��hf�Y?,[�X0�RŬl�O�'p�B�P��Rl�1c$N>�I����2Һ�W��|��k��W��-�	MDz8;z9���aQm��M<
��}Ou-�
д10�Xv����
-��O�6�Y8�
E
�U�}�����U�r�be�9��@��I6|��S��F7��(�$K7b�p�?���xƇ�S��6U��rM$.��ڐ�K����'�a��%ޯ3
-�$+�m���(���~�[y:u�{h�
C�f��q�K���9�����{ݭ����}�2�Y��X���Nu�d
ST2r�[�T��J�b"j?(0�U�.I�kԌ���'��}�@����YA��������b��:`s�h1	��L�����K̵�y���X�b%��JaTo
/�n�"v.��1Ų����T�<�ݎ��f�U�"ۢ�O
���Q(j�ur�P���o��f�����
-IX˙�)
-��;�{—��Y1�a�<�ЛV�:�����ܡ1O�� fޗ�����]?��@9$��XҎgm�=��z��B�ۯͺ����z��m��[��,�}���GE�.�jh�}��2�
c�Δ5�!���N�U�J	|��UY������y���_XsSW=�䠠5�$~��I[��x�r��^?,��?�~�ptR��vbaPR,�ߥ����N���"=�g�`1�\�3�;�
w�_�<���A�%���ʁ�x����"R�����Kӈr�tn6�e�:�1)�	��0�j�C	��������O�6
����3��+�X��N�J绳�<�cv�
��ܾ�����>
$-��_l����M���Fnxl]��V��<;K�Ȟ2:
� �Pf� ~^�yu{�\w�p̦����(
�
`|�����
A�
q/},�����
	��JH����Mu|n
�&�u˧cKU�&��7RS�EX�y�^�D
U
�,�N�PYS!�(�����h
�x�@z��'����; [...]
-��j�Eb^��R΅���
�o��_UF[�
�S�@R��(H�@�)��cT��ÊoK�ć<EM��N���B��%iX0���jὍa]�m7�v-U9�ۀ
-����F��0N��{02�X†���F�#�+f�'�>�?���x�/��}��fuY[�w��9#,ʹ@�D�2���زu�6
��Zʵ���9Gg4"�[��n�k�����A�r�Hl	�pesl�ސO�zD�֫<;�)-ێ��9

�m	x��*l��q�Ss�
�
�3:f���� ��Lg���~
-�k>~T�?�)������Y� 
�У�m����E�e9�3h�e5��`�­�^z�7�|"c��,^�$�0S�|)`�Z�=8�:B�Q2��Y��uR��7oD�u
�uI�M1]�n�)���e��	ʖ1���R�k�@(�8�z�t~Ņ�eP�
-endstream
-endobj
-2545 0 obj <<
-/Type /FontDescriptor
-/FontName /YKOZLO+NimbusRomNo9L-Regu
-/Flags 4
-/FontBBox [-168 -281 1000 924]
-/Ascent 678
-/CapHeight 651
-/Descent -216
-/ItalicAngle 0
-/StemV 85
-/XHeight 450
-/CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/a/asterisk/at/b/braceleft/braceright/bullet/c/colon/comma/copyright/d/e/eight/endash/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/parenleft/parenright/percent/period/plus/q/quotedbl/quotedblleft/quotedblright/quoteleft/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
-/FontFile 2544 0 R
->> endobj
-2546 0 obj <<
-/Length1 1647
-/Length2 15172
-/Length3 0
-/Length 16027     
-/Filter /FlateDecode
->>
-stream
-xڭ�c�$\�%\��,۶mەU]�m۶]��e۶�lt����Ν;�~����?2W��'vD�
+ɉ�T���M��v.��
L< K[Wg{[{n9z������
�/�KN.�4v���3v� 4�f 1�)������
K�w�t�����RWѤ����O�?W &�����t���P�����w�ڹ����vT.߁ sK @TQI[ZA@%��������jbci
-��4�9���N � ��vf������K�`
pv �Z�uz�
��� @'[Kg翿�� 
'c;��o�b��3�q5�'��vs�%��d����_�/����������
�oT%1��������Ζa���ߛf������/�/�_�������p�'�	`f��`c��7�_2'����lig�����Nf6 at g�4��y����Uo��`��/o���_9X�8m�`�Y��4u������~��3�03��n������_D�O�P�M������`4�eT�w�@��2����
����"�����U��m��_���RK���(��m����Ecl��k r�������ci��q5�����?9��ۚ�g�?9�+���v�gfg`����Y��h�d�b�
`nl����eW�3:�X�����������_0��v����ohg�_k��ۿ*`��Q���?l�]V��.j�@����)oo���P���{ ��9��,�L���8r����������]�,= �L
LL̀�����ϓ���3�7���T]�������2���:9�U�_��o��q�� �
@Sصe{S����L����I1��^f��P��f����:�
���]�j���P��<�m�Kg24����6�=i��B|_R�"�-�N�� F�r��s���E�

&�ýIe��w(��V'��'� R�� t�GD?��x�N� �
�g��'O���c#�C=��}x�y�0�n��yx�:���qh�r?������A3��2�_�.A�*
�v!�wVϊ;xe�����K�0��0 �WM
5����Gm)e��>�"]��zlv?�i7	�v}�֨vZ��o��A_�1��`}��w�°��SdtW�[�߸W�⛹ժ�z���".
-�N�P��I{bP�yn�a	YFT
���1��"f����3�<�#`�Z&�ɹR��M��څ
ю�0L �0�\�-�h^���[����UH2`m���_

;�xZ2�̍����#b#��
R�m�h�;��4'�4RIB�@XwpҀ��V���{Jhq9�;�(^CNr]�;*B'aڝv�.���d�,@��"@�D�9a
�P��=�b�ƾ�N�
-P��yZ��|���v
5w�h�
.g�-������
�y߿��<������vm��'EH�,�\~�&�[̩7���)����Nۧ
5��&��)�8B�X���G6�j��gk�A���U���*]�O)"�n��-��N����8�6�<�E�k]�u��=�����
-
@��2�CgHBZpU����ũCHxSw�7>x�^�u����p��UbxMX4Ɍ��}.�ǦG9"�d ���s�d_�v��
-g���[��I>�P�
-��V�j�k�`���vL�ǧQ9tM��Y�/���
<
KѩA�Ni-��?�4r�g5ghb>�h=;
���%�����>L��;Yl[�Dơ%C�O�17�C�6�uBCpDb�ֽ�E��p����̄yumCՆ���֢Kh*1���4���
�����6!{��z�Re�i�7��5\G"h�d��r+n0S�!zȼ��; �eVLmSѸ�835�`p�
'�,غ�=�H���
�2�
�c
�+���<�a�>�q��H|�b}�4�ǐ�Weq���
����,|��'T���~
-J/
-���L�
-�L��V�E��]��°=}�k+y����dI������n#�a�k/�@,�o��>;�^1����I������*�K�{���GM
���T�o�_�C�yf�ֲ��8M�3ՔTY�͘�5�F�_#�(돗��G%<^Կ=��dj�p
��}ϣ��"�A1"���>ȧ����,�WߍB�lCp�g��n*Dgo��<�c�P�kwy���0oףW��X��@Pju
VW�vRI?�
~��l�3q�«���6P���f�	
@��׈Λ'_[��)��W�\���E�c�%V��1ʓ��F)�������
�Xp"�!j^m��C1�V��겣LЈ9�22O&Y�huWst~(��e�ޤ���
ݔ���ؗR��خ���f};�m8��>��xf at q $"��K��
-;٠��-�(�>�כ��|�kg�ZL�|����k at g��Xi��T]��R�f&��6�Q<�l%��D�vOV��.ŝ��� Yq{k�Ͷꏂ�

�6�&�A��:���h�ؒ�����qo�_)��2���~�!��@ WT�Ŋ�YB����"C�\A�\Y���w���{�m4iTV�+,�ŭ������i޺�f�U��#�V,
(��#>)�7�?��{�d�8�4� ��
�����9{�f�jQ�2��������F��Sm����zv�&6�D��~]�R_�㇑u����FTa*�o2�M�����uEɋ!�%�{�MQ�
_w��s�H;�����cG�
y�9�C} �r��hO��o��"H8�dڼ��||����LNu�k[
��Bt�/G��hoN��I��]R-�)B��p�A$�h��(ߩ���0��Q^凛�p���q�:*!<�dNRp�g ���v��8�����oA�
L�w�Ě1�(�&
����mV�)~�>P���M�;"E���rh�/���
7ɋ]�
�
V$��-TFj�m+~���2YƐ!�d���xI�Y\`��!������G>��
,ߪ��
`�Az��@���&���p/Nᥒ<b�+�̙J���Wg��Cf������r(�u�g����Rە�/�[��6;|��ȭ�6J��`��†^���\���ʻ���)���ۍu�q|��� ��;�ء�Ֆ�
ω�jW����Q��E	ݷ_�Iy;W6C�_�I������\
�:��%t�&,���cMv0O&�V�*Mb`
�˓
���|�I�z+z�cm��:�x�u� Z�v�"r�'x��:��>K9�-K��h?L��
�rB�h�p���PP�=��_��#��Vu5՗�
z܈�U]��v?�� f����N��[i
P�����4�X�<x��ы���+-��)	��-ӌ1}�-�/0h?:�]!!�˥����1&Ĝ0V>~��~���Pq(7�ٙwiWI�v�
u� ���
g�R����ೳ�zZ�!c�f��Ii�f�
٣�~

����3ן�c<�;0sώB\�	ޫҏ�þ
ԟkRt@�M!_�V	R�f�YE�j��;0�e:��nƦ$�:�#�M�@�dF�Ch��v?S%�K���F��4���%�YpQ�痩�y�	��oh?39�s���:ﰎ��ް��A�t�۱�r4�dm���0	sK1�Kj
S°Jg+���
��t{�;��R��HV�=n�J{��>�F���~f�;�AV��}$S��G��0�

���5���������8��
}�x��!������Eı��hSPq�D�S�	��E��k������]#�y_L!�aϷ6�1ۦ\t�f�çAdB�P�O1�Ͳh������gr8չ;���b�vV ��F��&O���\'ͮ��V[�7��]&
An
ʐ/��bS�h�t�e/�[�$m����&���ff۝P�$*��s`2����p�=��pg\�M���M��7�F=�
U��+'
d&����u����hd�,�:�1�"��'���Ǐ32<
��6J&�<��˃�%��iRi��Ȁ���XTa�AT4�ȻJu�*�O)�b�����^�
>����aU��v��a|7D��'�Gی>g~:���O��-�D��4����\5�5��(

-���bP c����Ċ
��g��nQ
�A���Ϟ�
�u{��)��3�SC��bX�W���Nt��o&��դ�BVD �J��H:�~BJ}%�� ��$���꺄Y!�/����n��ο�tkN�C�`Y�xSÂR�Re�s]�� Qi���0�����b�4*d��j��K�.'��\m"S�ch�bYp�����)��!�'���ޅgwS��4��{��HY  �>Ѭ�N�'�
-�8ӊ}���dž�ʑ���;����<Cw�����/�����`(�x�'�R�M��/N1\C�c��^I�e��_�
cں.�‹�`�“�C�5����$9Y��{ZH	�u �`��~fF�?��z��CЏ�����ø`�E�8#'D��~9��o����
T��i�S�b�9¾���sو>Y9��¯�΁>:;e7Gq (��l�7�A]F�����7�,��2b�<�C�}]�[m�mW��S��DϠup,���Q�i��qjg�����X%�l5���6�wr�� �	�U<�m�4� c�U�͈
��B��
⴪�46�)�k�� ]���[��i�ЄY%�
2��
��Ke퉋u�N,`�Ӯ�[��G^�q��M;���� �fZp���a,�h��
!�L�K�X�����k�
gK���9��́S�t�tҾt�wl������n�b�����j��6�qod�LV�^�������������Ac#Ϊ�
������0Z�� ��9�� ��E_n����r� [...]
j�ݚ���oŞ˘c�`����ieD�{�w*�@�x$�<�]�~���T�B��}J>�c֙��,I���`�#j�n��t����}�:�����v4RX���yQ<��t'|ҝ~�ܾ��ja����-�]
sf2ۭ[7j�.f��	
�wDI�)��s��Oڀy[�Z���2��	�6��
J���+�7���T`�&��p�W��S�W���H���
.֞:<��0��~
�2�P��b�҉Ҏ�r��}C��
W��w1�W��Kvz�x�9�.��(�%�e	�v��؍���q1uF�2JG�cQ���
2_�R�1�g�)O1-�
�5iVbk�|<Y,��[��"+}�3q��4����_9
]V�c��y�[�
�f�2*~Q�!9�ӻNI��
w6���
q�JI
�'�.z��8fZ���/�A�+�fz
-*����57�T��]Ɲ>2q���i�e�[�~���B��/����(���s��
}���E����O
-
�.(F@Ĵ�F�-�����n��N�
��2,L%�;�9$�aҐ�u�x^��J�����%(�Q�	*�rE�uQ\\�vt)��A�W�n϶ȑTڤ��b��
>�G��l�kv���YX�ajh�F#���mjӵ*� �f�5���CH�
-=4X�\�u+�������"��5Ow,n�aD�AN�,�s���'HNR�퍧Uk��n\t>����2ȕ-�"%�v��=��/��Xp����K'֧��W��m
�]nk�a,�]�
���B܈�n�y�{&PԷZfǬ�c�̆%��M���pR� �*7��aͰ���T�'��ۢ^�NH���
�eDmr����7H�ld�q=JxG�	r��y~B�����>5�����ݓr4�0�n���
G���GV޾zƶ9Y� �-�g�O������~ݒ�e"�N�@	^��ަv��*�괕0�%N��uC��+�����
s�����
���/�
�K���F��'s {�xN%@}2ۄ5�i��7���� ����ʞ�
7��c����>��F��-�qF�C�sE�r�N����l���SV�E!H�h"B��f�L}j]v�߀�7%�!���
��b�>���ps��"ɏ�٤R[�O��)?F%�ua'+X]���e@̞
-�I������^D8p��
2�zG�_��xSFf�k�/�vpL��^�)�׏�|tNf��@k�y�p��H{�Ǯp	2˕i����� p��aZ")��>V���n*&'Bb����NMH(��N�)����LvI�#��C�3�J��ݚwu�j���`�����H/���vG4
-�]���ˀﵶ$�����X�^��N�?[@'�Ԉ^O�7ɀ��,8��`����ݓ�5xޠ�?��Q���B
��Bz
<�h餶�
-"�a� 
R��iƜ@C�
��Η��V���@����kLC*�3&�zd�_�;���@��}<b-�?u��1�j���K�!��,�$�Ŧ�K?��K�"��ZJmE�@�6�v���E�
�}���b�DH:E���r��Y,MV��u��\V
�k�"1R�sXgg��g(�z'�*��0�����	���Պ��<�-͝�Mq��j8��Y��h��K�
Ss4
-�g��_.�13���?����y��$��?�'�9�z.h�	�q�L����!`����+����s�SU	�2�߇97�|�.{fm�ñXSK�-�B���&��nMw�M}�!��6A��X� 5�� o�^x�d#�s����*��aG��"b4;��j_�{�v��>�-�������s�,�(�2�U�������A�q��h�?1/n�6)U.�+�%�"�r�B0���D��3��k�m�m
o
��Ӡ�������vP��<�;k��"��|-��>l4<5��
�XY���U=�xG���mڒ�y�Ŏ�gca
-|�g������
������N|�Ep;��<輏44���.
�=Evv㐭���
T��۩��$*I˺0�
-
-э�'��P��-�8�;ރ�Q�|�vZp�0���K
(,<i�9RL�~J��gấE ��}���
�)�>i���
J�΂O\I
�x����p��g�+q��Ǐ��=�?�M��5��g����
�9Ў�U��M��V���
^��#�RX'��\d����\�]q{�j�w�fšl�+~{l�%�l�-Bxjs|p?�yr�ԙ���s��j�O���;G�
��wb.p�}�IG��V��Y%�-}�|Q��O�Á�o��54���s�F)�l	�@
4R��k$0���l�hx�5��cg �X�J%݋���EB��c��/
+��X�
u7!��a
-M��L����n�3�^��qzwZ�.)A�%�LS6^�����ͨ@�@l���<��ڌk�F~��2�A�ѭ�Э�4ӛ�/��޻��
-��x9���H� kO�=�ڴ��0�+��R^j����n����3����$�������^$y{X�/�
z��ЃПKN��G�D��ƴ��
��B|7����$��C��[hQT�5�͹�Ή_mu�+_MD՝�Vh���
-K��W���,�"��V-99���{���c�WQ��#�,P�վk5�*�|
ʄB�B��U琳���DQҮG؝l����hܻ�/O�j��
#��3
�
/�8
�c��"���}�A��?V"�=�ЧC�e��*��?sև
�/�7�F��,�<��eɟڑ`4�uuv�S��l'Q9�G!�́0f��sZwL*
-�1�Dx�ݑ�d�tx�̚��+���%�9�{�:Դ�
H{�ƣL&�<+�Q��4��
�[�[��&vp�c��pf�f"�&��w
J�N��6��)m����h��3��e<��/ʡ8?Nn�-4 PU�;^T����N,F�Ƿ�����'S�����Y�-��O5)����؆�@�����涥��{�D�g��Xٲ
1�>I��S^���f)�C8�Bb�/s�K��20	�R��#�0���Q�~�0�`��1�@(P=�����\��I��,����m9d��tz�@�����w�ܷ��L.N}=~����qv���:�iYC&�2�{�"��mI
,~��;Ge���V�/79ύy#�]�+o|PN굗��<�Z_x!p1��Q��ic��x}q�zj��RZ�f�.��҉ߧ�r�UP�R
J�W{_��i���Go�
d�9�e���ȋ���0��R�
��QݯiU�*��m��&?��<`��VK�Ԃ@�@}F��
�����|G"�"=���Ca�vbʡ��	��Gf�{��~d�x)	��Z-��c
�vs%ie�� �k��K6`����rst���\�޼W-;φ���p*��nKL�+O1��;��l6C���C[��-(�a{[߄5�(�����)�3�HD�vV��,D��W�g�'׷�'a�]��9
�5�h�D�9�b�3���iϲΌ
�z0�X]�����5aj��
ؐ�_<g$	�K/B��B�}P
-ib�S��d�-��U��3�0�
OCwR�-n
-���&
��
�G�2~6�?[�]]�
:����17#1#m�
{/�+�Z���>!8�*jW��^Q���k�ET�X����uRk�α��H��V꒟�'&�Y�+d�U�Z���oY��wȎ\/��/0���
�7��*B'�N�P��ވ��)�(W��
$="� ���!��#���=ɦ���m�y�0�C�2|
`�z+/�t'�6�Q�X���ҹ�ˋU��m�	��r3u�p��(^���U�*�,_m%
A���F�
h��E����Y���[��垹��sJ�Ȱ?rREN
,�
-��x���g��7�Y�C=(�tI��3+��I
�k����eG�zn%��SesG+��z���r�»�?�\��2�U�t���i(���ڮ9�(��,1�R��?��#O��S�ܹ�	定���?�f$��4���\h�:,�)n�R�fZ1-o�Ƃچ/42������dN"'G/�'�â]��?/����Z������@U):~��`�{��E���\�
�PxvH5�� �ie(4^�6ĬW�+��#�"�
l��i�}�|��	a͎���1U��!	{)jtgn�*a�[�ĵ	u������-���ɖ��I����ӷ�,/D�DC�T��Gm"�6�
~�CC��ʀ@e�9v1o�x~Hi��L�>^��,嘭����
��i�g2݃���r�9�'�#=w7Qv�2t�
����oeH�
irV�
-;Y�څ��kj�%��2 ���2q�N��J��2�k�; B��`!��4���^؊k�0C��׾V�F$��jɁ

-_�
u
�=5R��n����Yꇹ�6!���@���g����4Y���)1|�%�Vb�K&Va���4��ʬi��WMM�c+���
)��B�x

�����W�G��D�G	#��~j��U�LǙ�ۊ�3J���8�H�W]&0��=!W�S����5G����l��MW!^K h��sBxj{��p�N�P(�؇w9|�T �G
�`tN���}p�IO�Ll�����G���*���
)���ز&�II|�������͵
ĥ�W9�d����OaO���#h:�30b'v}����&�Ȟp�	ˤ���Ŵ-�P���NB�ޙ��~�GP�g�a��$��!F٢�A�\�&u�
-�����ҴC1
�	��>�Y��	�l���X�҂s�ݠށ�FgƐ�;��u��d��K��K���-�y��h�}J�Z+��Cպ��Qi	��S!� �X��j'�^�ġ�WŒ�G�
A"X�����7Rz�	&�cL��jO��ہҚDם!p
���Eӵ��
-�9o���u�%�o�܅V�l
W�������:=�'�)�����S�Ϻ
0�����w�
oe��$�K=�6< <k~n�
k��x��w�%^�}PQB�L!�T q:6�m5�h�H�j�A�ˤ{p�xU-���k��-"ن
JC�W�
�J[=�
-��k��#�qE]�@K��

���v���L�7<Y��#����Cr�i����9$�d˶�/��J�U�-f�Kڍ!l�3$���/�}����Ԑ�Դ�±S}�EFӿ��Q�� ��6�vA�J�ы���.��0�y
�H��]�eRGtٷ�0��Q^�᝿��������0";s
!5�c
-'�|����N���4�x���0ʟ�t(�����P��ӧy���tNP_I�Z�(�/�W�Ԯi�`~	
�W�JQ��	?c�7ڀ�"�?�f�Q�HB
���_
?.M˰󀒆z*%�.i��o�_�8�7�r�,c��B��i2��z%]0�ʱ����9�i~2�_OzSHQ�X`,E�����T�
�Pn��U�?�3Ч1
-�Z�
��B��UĈ�E���U�):�;We��{�.��vRO�Pю���|;�#�υ|��9s3�W�cK� ����j��s������0J#"���Yȥ�A@
C�"�cݯ-��޳R�~'�IE�;$���1�!��ؑw��
��#�^$`Ŭ@Z1/�
���
����d$|;��U�ƽ+��My� � ����<27R��3{%xdc��w��K/4�H�#rC
��ok����*�9D�=bJ��T�a3|~D%�>)�ц�w�����l.i�����[�~A��=���8*'���(U��,�iT(T��b��m���!��k>�H��
kAMV����,�FjL
Wk�<��
QTl��Я�f�����$�-��D�!Uҙ)I��C���$���P����o�A�p����i�BM���u�q,tN
���&
�������p��Y�ٺ��C����6d�`Ntn��$��f���>O��m�
��1��-�շt�hO.	�
�k��'��
�����
�C9%=��:W/

l���@:��оFءH��y���??�C���ɒ!�y�PV�]:���!`�6gԀ����?Q��+5�qT�'$��N���Ӡ�,����$�9ZøSYi�(�~���n�<L;p.1׈��'��5ɔ<�e��8�W�:
�
��p
�rB
�S��T#��I:'�;<ǥ 7i��ɬޏ�m�9�E�f^��#
��_��&
�qx�coWP���⨑�F�^(�e�W˻t(�
n�=�C�|G����r*�0�A���#���
\}=#�-��f���~Sj;䗘QF���/"�.��
�	�VP��!������ 	�W��Ok(�˗��4-��o��6�iS�oY���>��zX�? �{���\v@�EE��TS���:��zW
-�{��BX�"		鄁j�kB^����� �l��Ѡ�9�v��S
�3+t_:�^��UL���y�O�h9�ح�b0��gz-ٶ��}�̾���7G���F��DAL�O�U��&]�����ե�_��.�#g�T0�-"6���rK]�d�J�jt�i�6G���a�����ʲ`s��
Y�U���DҊM�u�G��e�Uw���Z�{�

�Z)F�*
Q��J{�)�����0N�
;H#y|�s�'>��B~U�P���`��4�y
o�2��C^��i��
�S��Vb�t�s�iv.�z�>z|

�H+��We:�t��d��d�1���6����^`;~�}���}q��_N����3�⹞�-�?��`>���%�1*tU��J<d2���Ḳp���w�i�~R
�V^C��[�D�nDnZ����}&�Nhԫ+�\"%d!�289�
������!�,�y%7���`O��͞�
�=�
-�C���&-v��2p$�����*�o4d�ܚ�u�Hp^_�
-��<�֭�D�1�8�n�)g&�۴
x�Xpݳ�w�
:����v��
�d<��q]6��'�+��F��X<l{nN��:,rڻ�9��
�`���u��Y
������Ƶ@�h�bOs���*u�Ys|ɗ
-(
�'����0�*�-Ё�郎1.'��
=�;��D+�����cN�H[��B����49�ʔ��wޓ�����2�e���#��j����-L
���z2 ���[k�9
-YJ`ꔌ�Nj���ע���3�s
�k���:�;}%��n�2
�OY���,��Օzʼn�u�O����5�%&jF+�Zfa��N��X'L̈���qY�D:u����tQ�����Mv��a��G���[��f0���4E�3~�TΘ�Ď�n{���Y�
�Ω?eZ
rN?d[޿���p�(�Ҁsl��y�ݴt��y�>��n-x0D����U���{JO@"2�'�ǡ��;0=��:X� ӓ{I�#�eƒ��'���$G �Q��^
-��KY�mn�o�М2�5 `��6��	���v�'�,��V/�)4C~ҩ$�//���-E�g��A迷j�֦��
�<�w�M���aBug��|u�<
�G�`��ɳdƘW����Qp�Y�G���ʵ��{��'�����Os�Y�P�^�j�.ôOv��gO_K�c@�'�oV��b8����m���_�kga���^1�]k�"W_K�v�xER at iުG����02=��e���~
�rKj-�=4Pb����Mş�Iw�Z��G�;���/�ʁ,)��3U�
3�1� WM����f��}��
d60D��w��!�s�B������XuK�UL�J��G^J��
(0�J�Uk�"OrF�{���#&4K��M�K�J��(7%�`�M=0ĠL
-�!��t-�>�h
�wN���
���S.�	A�gD˷�~V��T�������#�$A@��
-�ǮU�z��P�b#
��\�G���̊|wzE��P7x�b8ZFu�h�`����5|f�|�h`��L�OK����|��@���D�z�%���W���0���<l7�����W�Df at R��E�-
<��i�-��6$���)'ٗ��M}��6�7S
��]���wB�[>��G�ʲ�mQ!a�����;g���H������<
-�2ͫIǒ˛=d4"LQ��G<M`J�yDɳ:�^���US#^]���t�
�d�@�Bw�sp�8<À��V~�Tc
o��u����G��0Lc
-����'m�_��
��5
���*��5�S�6
�3�EF5i��5��p/@
-���nVR�a�ׄ���H$�KSUm�g�ى�IP
�]堏��h`^�7+�(VZ��Q/ �q
�(�����.Bcԡ�e4���l�T	6lZȥ��2=ڒNN��
��lR�
�\�J�.lD��C�3���/�Y��6(Jgۛ{?)�-��AsY·]�y���*"�t:�s� 8%��fk���x!�R�*
-�	R���؏T���O�M���/!K���*:�2a��
�[�(�s���p�˙h;�D_�s-��
-۔ZU�fO�}��z�	UA:&�z FV��:����!}�d�y��
�Y�V�0�с�)��yf#�
)���_
	\�a�aB
dzCCC
�G�p)B�~D�l�
������A���!T��_�յ�����d�`�^�������("V$�%�rX����+��?�(R�
�Z)��V��hrbG�]1��Bݡ��$�/��1�AI
14N�6�¤�>�[�?4���Dq�\�J)
�2E�u
�'�䜊kv�ʘgA��NojqY+�81��-B�>!� +sR_W�ܩ�w�	�RQ������@:QHZ�
�)���5�ng�v�7�n�G{�'B��u^}�[ESx�|�Τ�1�1mI��n��"3�z�R�X�b�+�"�o7�+ݕ�q�>� ���:Y���A=���������Y��
��~���D���[��.�Ҹwu��mA�š�ܗ�C�Q���!�3�Ѫ�
J�2.V�%��H���)@Y�К_��(�_\.Ե2��l5�ـ+L��|�
-�\%�{,�2

W$0d�"x�
F��`���
]�����u��Rk�
<�~��Vw�5ee޾W�E�e#Gr�S�H(&����`~�
"�Fv��f	I¶�P �'����O����o:��_��Q:Ӽ
�Q��1$�+Q���>�S����ʪHMa�8��y��m*t�S�so��m���f��
%�b��'UM������
-���
�n�+
����݆fD�-ihI�#�x�v�
�� ��0�^y�W:x��F�,����w
m���RN���j����p��w]A���%���ls���Ӻ�
!�QmX��V�~�&B�����k��_�e�=֠H���|�3/c`=��Ԇ
������[��"��t�o�ٞ��.�X�+0 ^ɵ;��k�?n�
�/�A��k��H,XO�B��/�T
-�A���ɣVbU��R4I
�
-5�ml��M{�+G����J�l��;�ʞS��R��p�[=� ��O\s}
�~�ݩ�d!U^���N&�{��Q~d/�9q�3G�
u�N^,4�M| ע��lŦ%Q<9�ӳ{o!'����BR���a��D]�4x<m2Ͷ�=�Fi�n��to0]
�y\!�`6<Fݴi��ø�߫Y�0ڄ�����)��05�(-�@��A��k^z�U���+��
-h��*D8�4)
���
F0�
�|w
��2� OG��bg}���v����,�0k0�dZ	%^�p��=�W�M�[��s"RA(��
��n[Y�
�ǖ�
��W,u����Mɟ�:W�8��d���ڊ��f�9�}�GP_��L�=�Ȍ<r<�F)*��rYʲx�T�Z�a[N�7���B?BCɚ+����"�hVݴ\�7O�4-��g�x���.��_�P%F�Cs����J�lr���`,g$��ӑ�Щ��(�����'i�|
پE�+���,׀
�2�[O���G�r��
��x����nRq�GJ�
a�pV��|)��@5�*-�(�2���`o�
r~�P2����<녫�d�&�O$�N(̏m\�<'ߝP��I�,[�W�0�z�@+�l�;�+��@�m�P�q��+%�K
��ŭ��rա����9i�;�|y&��w�wd�
�>p�ɧ�7((Y��\{l���~�Zƫ���>�pꅅ�"f��Jm�-Ε\@&gG�Nn��&8*�	2
Nen� ���q�P�E,y V������w�$�v�L�X.�
mm�
a!��<a�1C��si~�^d�3���E�z�N鑭uv1�����8��$5t��#���J+�"�6�R��͒Ac���S���(�#�3�L�b�lm �¸W)�eP(Dc_�=��
x�ƥ�m��(c�͇�9.�E["���O�iy'��
wwSڨ	{�ν�P��<��
D-�
�"_�69�l�b�)��xGF���^�
��}�&�
�[��D��[^1�
��ϖC�W��h�G��y�O�I�1�0�(���+
(7��-Bt?vD��tM'_2D���e
�F�, at C	z5��Xu�
�y	J{wD=��<�Bj��B��-q��
-=�1�'�|/V`���e�<F
=��m&��0�}�U�
e�D�7F��w�ѥ<��qt��{��ں�Rmc��D'�*D�v(w�2,V�b���Xd�0���p/�
r�
?X���;�M�t�� Z���l�T]�}����2��e��kՋ�|,�k��Y�v.�v�*
�$�j>죒���<  �K�]�5_����D�6�U�����dD�Ǖ�eɚU
-dxv��+rƛM��je
��X�6��"+�7{�
���\�6��`'d�~{f����qqd��|"m��B��E����������$��pQOS���8O�I���jel.���6*܈ҁ׈l�]]C�q8�����6��;�1��Y
���OTK���D)yQ]ҥ��-5?�+2�h#���w+
�"sԽ�	���K���v3 5��k��ƯbV.[|YF��$Dʕ�XU��圶*�E��m�=���$*
�g�U�`��C���,��71�p=6�U�C��	��1���}
"9�cMӯ�k�{�+h�F
sV����"5�R��H��5
I�Ue�
�W�G�I��Z�E��x��R_8�,}��/��g�뽺� ?��H#����'�jJ�jA
�s��_����-	�LR?����|�[�p4��(7
Y���L#j���)|��ca�6p�Ln��˿���].[�p[�9���ޜ��G��j��ķZ���O=���p	���~n�.�"�I^T��V-��k|Wh̓����5�OA�5H��,=r��
W�Z=��rF�
-Ϡ�� �n
t}���C-q�R�Kf��f� �
q
-endstream
-endobj
-2547 0 obj <<
-/Type /FontDescriptor
-/FontName /CLJUIE+NimbusRomNo9L-ReguItal
-/Flags 4
-/FontBBox [-169 -270 1010 924]
-/Ascent 669
-/CapHeight 669
-/Descent -193
-/ItalicAngle -15
-/StemV 78
-/XHeight 441
-/CharSet (/A/B/C/D/E/F/H/I/J/K/L/M/N/O/P/R/S/T/U/V/Z/a/b/c/colon/comma/d/e/f/fi/fl/g/h/hyphen/i/j/k/l/m/n/nine/o/p/parenleft/parenright/period/plus/q/quoteright/r/s/semicolon/seven/slash/t/three/u/underscore/v/w/x/y/z/zero)
-/FontFile 2546 0 R
->> endobj
-2490 0 obj <<
-/Type /Encoding
-/Differences [2/fi/fl 34/quotedbl 37/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon 61/equal 64/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft 93/bracketright 95/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft 125/braceright 147/quotedblleft/quotedblright/bullet/endash 169/copyright]
->> endobj
-963 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /LBWBDW+CMEX10
-/FontDescriptor 2503 0 R
-/FirstChar 80
-/LastChar 80
-/Widths 2486 0 R
->> endobj
-291 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /OTQMQX+CMMI10
-/FontDescriptor 2505 0 R
-/FirstChar 46
-/LastChar 120
-/Widths 2495 0 R
->> endobj
-828 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /ZGGNQH+CMMI12
-/FontDescriptor 2507 0 R
-/FirstChar 60
-/LastChar 62
-/Widths 2489 0 R
->> endobj
-1408 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /OMWOOP+CMMI6
-/FontDescriptor 2509 0 R
-/FirstChar 100
-/LastChar 117
-/Widths 2481 0 R
->> endobj
-964 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /NNLWPH+CMMI7
-/FontDescriptor 2511 0 R
-/FirstChar 100
-/LastChar 117
-/Widths 2485 0 R
->> endobj
-1864 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /DGLWIM+CMMI9
-/FontDescriptor 2513 0 R
-/FirstChar 46
-/LastChar 120
-/Widths 2479 0 R
->> endobj
-300 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /CZIMXX+CMR10
-/FontDescriptor 2515 0 R
-/FirstChar 40
-/LastChar 118
-/Widths 2493 0 R
->> endobj
-1862 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /UVIORO+CMR6
-/FontDescriptor 2517 0 R
-/FirstChar 97
-/LastChar 120
-/Widths 2480 0 R
->> endobj
-966 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /VWYYIV+CMR7
-/FontDescriptor 2519 0 R
-/FirstChar 48
-/LastChar 120
-/Widths 2483 0 R
->> endobj
-939 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /EBURFX+CMR9
-/FontDescriptor 2521 0 R
-/FirstChar 40
-/LastChar 118
-/Widths 2487 0 R
->> endobj
-216 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /UUCYST+CMSY10
-/FontDescriptor 2523 0 R
-/FirstChar 0
-/LastChar 54
-/Widths 2500 0 R
->> endobj
-218 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /ATFWDW+CMSY6
-/FontDescriptor 2525 0 R
-/FirstChar 3
-/LastChar 122
-/Widths 2498 0 R
->> endobj
-965 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /ZQLTBN+CMSY7
-/FontDescriptor 2527 0 R
-/FirstChar 0
-/LastChar 48
-/Widths 2484 0 R
->> endobj
-217 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /JRVZXP+CMSY8
-/FontDescriptor 2529 0 R
-/FirstChar 120
-/LastChar 122
-/Widths 2499 0 R
->> endobj
-1406 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /GCEPBM+CMSY9
-/FontDescriptor 2531 0 R
-/FirstChar 3
-/LastChar 50
-/Widths 2482 0 R
->> endobj
-938 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /YGAXLK+CMTT9
-/FontDescriptor 2533 0 R
-/FirstChar 49
-/LastChar 109
-/Widths 2488 0 R
->> endobj
-2144 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /OAKMXN+MSBM10
-/FontDescriptor 2535 0 R
-/FirstChar 81
-/LastChar 81
-/Widths 2477 0 R
->> endobj
-1948 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /OAKMXN+MSBM10
-/FontDescriptor 2535 0 R
-/FirstChar 81
-/LastChar 81
-/Widths 2478 0 R
->> endobj
-249 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /FAEEXD+NimbusMonL-Regu
-/FontDescriptor 2537 0 R
-/FirstChar 34
-/LastChar 121
-/Widths 2496 0 R
-/Encoding 2490 0 R
->> endobj
-370 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /JOTYEC+NimbusMonL-ReguObli
-/FontDescriptor 2539 0 R
-/FirstChar 39
-/LastChar 121
-/Widths 2492 0 R
-/Encoding 2490 0 R
->> endobj
-247 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /KMUOGT+NimbusRomNo9L-Medi
-/FontDescriptor 2541 0 R
-/FirstChar 2
-/LastChar 150
-/Widths 2497 0 R
-/Encoding 2490 0 R
->> endobj
-703 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /UMYVEH+NimbusRomNo9L-MediItal
-/FontDescriptor 2543 0 R
-/FirstChar 2
-/LastChar 121
-/Widths 2491 0 R
-/Encoding 2490 0 R
->> endobj
-215 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /YKOZLO+NimbusRomNo9L-Regu
-/FontDescriptor 2545 0 R
-/FirstChar 2
-/LastChar 169
-/Widths 2501 0 R
-/Encoding 2490 0 R
->> endobj
-298 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /CLJUIE+NimbusRomNo9L-ReguItal
-/FontDescriptor 2547 0 R
-/FirstChar 2
-/LastChar 122
-/Widths 2494 0 R
-/Encoding 2490 0 R
->> endobj
-219 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2548 0 R
-/Kids [210 0 R 244 0 R 289 0 R 294 0 R 304 0 R 311 0 R]
->> endobj
-325 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2548 0 R
-/Kids [319 0 R 328 0 R 335 0 R 341 0 R 347 0 R 355 0 R]
->> endobj
-371 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2548 0 R
-/Kids [363 0 R 377 0 R 383 0 R 388 0 R 393 0 R 398 0 R]
->> endobj
-409 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2548 0 R
-/Kids [405 0 R 436 0 R 479 0 R 541 0 R 586 0 R 612 0 R]
->> endobj
-661 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2548 0 R
-/Kids [649 0 R 695 0 R 718 0 R 741 0 R 765 0 R 803 0 R]
->> endobj
-835 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2548 0 R
-/Kids [824 0 R 858 0 R 879 0 R 900 0 R 926 0 R 954 0 R]
->> endobj
-998 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2549 0 R
-/Kids [986 0 R 1009 0 R 1039 0 R 1059 0 R 1086 0 R 1104 0 R]
->> endobj
-1130 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2549 0 R
-/Kids [1120 0 R 1144 0 R 1185 0 R 1219 0 R 1258 0 R 1290 0 R]
->> endobj
-1327 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2549 0 R
-/Kids [1315 0 R 1352 0 R 1399 0 R 1431 0 R 1444 0 R 1454 0 R]
->> endobj
-1474 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2549 0 R
-/Kids [1466 0 R 1484 0 R 1504 0 R 1523 0 R 1556 0 R 1586 0 R]
->> endobj
-1631 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2549 0 R
-/Kids [1616 0 R 1643 0 R 1685 0 R 1741 0 R 1802 0 R 1859 0 R]
->> endobj
-1920 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2549 0 R
-/Kids [1913 0 R 1945 0 R 1962 0 R 1973 0 R 1985 0 R 2001 0 R]
->> endobj
-2022 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2550 0 R
-/Kids [2014 0 R 2030 0 R 2043 0 R 2055 0 R 2071 0 R 2084 0 R]
->> endobj
-2107 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2550 0 R
-/Kids [2100 0 R 2116 0 R 2128 0 R 2139 0 R 2154 0 R 2166 0 R]
->> endobj
-2228 0 obj <<
-/Type /Pages
-/Count 5
-/Parent 2550 0 R
-/Kids [2224 0 R 2297 0 R 2398 0 R 2469 0 R 2474 0 R]
->> endobj
-2548 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 2551 0 R
-/Kids [219 0 R 325 0 R 371 0 R 409 0 R 661 0 R 835 0 R]
->> endobj
-2549 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 2551 0 R
-/Kids [998 0 R 1130 0 R 1327 0 R 1474 0 R 1631 0 R 1920 0 R]
->> endobj
-2550 0 obj <<
-/Type /Pages
-/Count 17
-/Parent 2551 0 R
-/Kids [2022 0 R 2107 0 R 2228 0 R]
->> endobj
-2551 0 obj <<
-/Type /Pages
-/Count 89
-/Kids [2548 0 R 2549 0 R 2550 0 R]
->> endobj
-2552 0 obj <<
-/Type /Outlines
-/First 7 0 R
-/Last 67 0 R
-/Count 10
->> endobj
-207 0 obj <<
-/Title 208 0 R
-/A 205 0 R
-/Parent 67 0 R
-/Prev 203 0 R
->> endobj
-203 0 obj <<
-/Title 204 0 R
-/A 201 0 R
-/Parent 67 0 R
-/Prev 199 0 R
-/Next 207 0 R
->> endobj
-199 0 obj <<
-/Title 200 0 R
-/A 197 0 R
-/Parent 67 0 R
-/Prev 195 0 R
-/Next 203 0 R
->> endobj
-195 0 obj <<
-/Title 196 0 R
-/A 193 0 R
-/Parent 67 0 R
-/Prev 191 0 R
-/Next 199 0 R
->> endobj
-191 0 obj <<
-/Title 192 0 R
-/A 189 0 R
-/Parent 67 0 R
-/Prev 187 0 R
-/Next 195 0 R
->> endobj
-187 0 obj <<
-/Title 188 0 R
-/A 185 0 R
-/Parent 67 0 R
-/Prev 183 0 R
-/Next 191 0 R
->> endobj
-183 0 obj <<
-/Title 184 0 R
-/A 181 0 R
-/Parent 67 0 R
-/Prev 179 0 R
-/Next 187 0 R
->> endobj
-179 0 obj <<
-/Title 180 0 R
-/A 177 0 R
-/Parent 67 0 R
-/Prev 175 0 R
-/Next 183 0 R
->> endobj
-175 0 obj <<
-/Title 176 0 R
-/A 173 0 R
-/Parent 67 0 R
-/Prev 171 0 R
-/Next 179 0 R
->> endobj
-171 0 obj <<
-/Title 172 0 R
-/A 169 0 R
-/Parent 67 0 R
-/Prev 167 0 R
-/Next 175 0 R
->> endobj
-167 0 obj <<
-/Title 168 0 R
-/A 165 0 R
-/Parent 67 0 R
-/Prev 163 0 R
-/Next 171 0 R
->> endobj
-163 0 obj <<
-/Title 164 0 R
-/A 161 0 R
-/Parent 67 0 R
-/Prev 159 0 R
-/Next 167 0 R
->> endobj
-159 0 obj <<
-/Title 160 0 R
-/A 157 0 R
-/Parent 67 0 R
-/Prev 155 0 R
-/Next 163 0 R
->> endobj
-155 0 obj <<
-/Title 156 0 R
-/A 153 0 R
-/Parent 67 0 R
-/Prev 151 0 R
-/Next 159 0 R
->> endobj
-151 0 obj <<
-/Title 152 0 R
-/A 149 0 R
-/Parent 67 0 R
-/Prev 147 0 R
-/Next 155 0 R
->> endobj
-147 0 obj <<
-/Title 148 0 R
-/A 145 0 R
-/Parent 67 0 R
-/Prev 143 0 R
-/Next 151 0 R
->> endobj
-143 0 obj <<
-/Title 144 0 R
-/A 141 0 R
-/Parent 67 0 R
-/Prev 139 0 R
-/Next 147 0 R
->> endobj
-139 0 obj <<
-/Title 140 0 R
-/A 137 0 R
-/Parent 67 0 R
-/Prev 135 0 R
-/Next 143 0 R
->> endobj
-135 0 obj <<
-/Title 136 0 R
-/A 133 0 R
-/Parent 67 0 R
-/Prev 131 0 R
-/Next 139 0 R
->> endobj
-131 0 obj <<
-/Title 132 0 R
-/A 129 0 R
-/Parent 67 0 R
-/Prev 127 0 R
-/Next 135 0 R
->> endobj
-127 0 obj <<
-/Title 128 0 R
-/A 125 0 R
-/Parent 67 0 R
-/Prev 123 0 R
-/Next 131 0 R
->> endobj
-123 0 obj <<
-/Title 124 0 R
-/A 121 0 R
-/Parent 67 0 R
-/Prev 119 0 R
-/Next 127 0 R
->> endobj
-119 0 obj <<
-/Title 120 0 R
-/A 117 0 R
-/Parent 67 0 R
-/Prev 115 0 R
-/Next 123 0 R
->> endobj
-115 0 obj <<
-/Title 116 0 R
-/A 113 0 R
-/Parent 67 0 R
-/Prev 111 0 R
-/Next 119 0 R
->> endobj
-111 0 obj <<
-/Title 112 0 R
-/A 109 0 R
-/Parent 67 0 R
-/Prev 107 0 R
-/Next 115 0 R
->> endobj
-107 0 obj <<
-/Title 108 0 R
-/A 105 0 R
-/Parent 67 0 R
-/Prev 103 0 R
-/Next 111 0 R
->> endobj
-103 0 obj <<
-/Title 104 0 R
-/A 101 0 R
-/Parent 67 0 R
-/Prev 99 0 R
-/Next 107 0 R
->> endobj
-99 0 obj <<
-/Title 100 0 R
-/A 97 0 R
-/Parent 67 0 R
-/Prev 95 0 R
-/Next 103 0 R
->> endobj
-95 0 obj <<
-/Title 96 0 R
-/A 93 0 R
-/Parent 67 0 R
-/Prev 91 0 R
-/Next 99 0 R
->> endobj
-91 0 obj <<
-/Title 92 0 R
-/A 89 0 R
-/Parent 67 0 R
-/Prev 87 0 R
-/Next 95 0 R
->> endobj
-87 0 obj <<
-/Title 88 0 R
-/A 85 0 R
-/Parent 67 0 R
-/Prev 83 0 R
-/Next 91 0 R
->> endobj
-83 0 obj <<
-/Title 84 0 R
-/A 81 0 R
-/Parent 67 0 R
-/Prev 79 0 R
-/Next 87 0 R
->> endobj
-79 0 obj <<
-/Title 80 0 R
-/A 77 0 R
-/Parent 67 0 R
-/Prev 75 0 R
-/Next 83 0 R
->> endobj
-75 0 obj <<
-/Title 76 0 R
-/A 73 0 R
-/Parent 67 0 R
-/Prev 71 0 R
-/Next 79 0 R
->> endobj
-71 0 obj <<
-/Title 72 0 R
-/A 69 0 R
-/Parent 67 0 R
-/Next 75 0 R
->> endobj
-67 0 obj <<
-/Title 68 0 R
-/A 65 0 R
-/Parent 2552 0 R
-/Prev 59 0 R
-/First 71 0 R
-/Last 207 0 R
-/Count -35
->> endobj
-63 0 obj <<
-/Title 64 0 R
-/A 61 0 R
-/Parent 59 0 R
->> endobj
-59 0 obj <<
-/Title 60 0 R
-/A 57 0 R
-/Parent 2552 0 R
-/Prev 51 0 R
-/Next 67 0 R
-/First 63 0 R
-/Last 63 0 R
-/Count -1
->> endobj
-55 0 obj <<
-/Title 56 0 R
-/A 53 0 R
-/Parent 51 0 R
->> endobj
-51 0 obj <<
-/Title 52 0 R
-/A 49 0 R
-/Parent 2552 0 R
-/Prev 43 0 R
-/Next 59 0 R
-/First 55 0 R
-/Last 55 0 R
-/Count -1
->> endobj
-47 0 obj <<
-/Title 48 0 R
-/A 45 0 R
-/Parent 43 0 R
->> endobj
-43 0 obj <<
-/Title 44 0 R
-/A 41 0 R
-/Parent 2552 0 R
-/Prev 35 0 R
-/Next 51 0 R
-/First 47 0 R
-/Last 47 0 R
-/Count -1
->> endobj
-39 0 obj <<
-/Title 40 0 R
-/A 37 0 R
-/Parent 35 0 R
->> endobj
-35 0 obj <<
-/Title 36 0 R
-/A 33 0 R
-/Parent 2552 0 R
-/Prev 27 0 R
-/Next 43 0 R
-/First 39 0 R
-/Last 39 0 R
-/Count -1
->> endobj
-31 0 obj <<
-/Title 32 0 R
-/A 29 0 R
-/Parent 27 0 R
->> endobj
-27 0 obj <<
-/Title 28 0 R
-/A 25 0 R
-/Parent 2552 0 R
-/Prev 19 0 R
-/Next 35 0 R
-/First 31 0 R
-/Last 31 0 R
-/Count -1
->> endobj
-23 0 obj <<
-/Title 24 0 R
-/A 21 0 R
-/Parent 19 0 R
->> endobj
-19 0 obj <<
-/Title 20 0 R
-/A 17 0 R
-/Parent 2552 0 R
-/Prev 15 0 R
-/Next 27 0 R
-/First 23 0 R
-/Last 23 0 R
-/Count -1
->> endobj
-15 0 obj <<
-/Title 16 0 R
-/A 13 0 R
-/Parent 2552 0 R
-/Prev 11 0 R
-/Next 19 0 R
->> endobj
-11 0 obj <<
-/Title 12 0 R
-/A 9 0 R
-/Parent 2552 0 R
-/Prev 7 0 R
-/Next 15 0 R
->> endobj
-7 0 obj <<
-/Title 8 0 R
-/A 5 0 R
-/Parent 2552 0 R
-/Next 11 0 R
->> endobj
-2553 0 obj <<
-/Names [(Doc-Start) 214 0 R (GFDL) 380 0 R (GFDL_GFDL) 251 0 R (GPL) 307 0 R (GPL_GPL) 252 0 R (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4) 482 0 R]
-/Limits [(Doc-Start) (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4)]
->> endobj
-2554 0 obj <<
-/Names [(classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_133f3756e88145e6ff5bf3d1b41838d9) 831 0 R (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_a3a5f10fed94188b162073ef8efff393) 832 0 R (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_b4470b84b8b57bae591239910d220c70) 830 0 R (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_d35d7381bcd3c4cf029d4b76bb6545b8) 834 0 R (classparma__polyhedra__library_1_1C__Polyhedron) 483 0 R (classparma__polyh [...]
-/Limits [(classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_133f3756e88145e6ff5bf3d1b41838d9) (classparma__polyhedra__library_1_1C__Polyhedron_173c08eeeb4a96b0060d5f023e4ba4a6)]
->> endobj
-2555 0 obj <<
-/Names [(classparma__polyhedra__library_1_1C__Polyhedron_1c91471f55b22735023d37417f0bef70) 866 0 R (classparma__polyhedra__library_1_1C__Polyhedron_1f026c17289bb2174eaec0d61a4a2e67) 885 0 R (classparma__polyhedra__library_1_1C__Polyhedron_3665335e295bd7c05eeca13be606616f) 892 0 R (classparma__polyhedra__library_1_1C__Polyhedron_509185b3d326e5d4496fbe8953b82f88) 863 0 R (classparma__polyhedra__library_1_1C__Polyhedron_5491f9cbaf4f0215196fc05ce17eaec9) 867 0 R (classparma__polyhedra__libra [...]
-/Limits [(classparma__polyhedra__library_1_1C__Polyhedron_1c91471f55b22735023d37417f0bef70) (classparma__polyhedra__library_1_1C__Polyhedron_558341813be1d1bf607bf1c50e6e1ba3)]
->> endobj
-2556 0 obj <<
-/Names [(classparma__polyhedra__library_1_1C__Polyhedron_a37dcee4fa14c58b76c8d3c4227849e8) 870 0 R (classparma__polyhedra__library_1_1C__Polyhedron_bf571357a5156e495293957a44145a9b) 869 0 R (classparma__polyhedra__library_1_1C__Polyhedron_d008d79cb35b51e7dfbee0dcc3741dc3) 868 0 R (classparma__polyhedra__library_1_1C__Polyhedron_e79d42cfe6b21bcf264fd9ea84e78fb2) 871 0 R (classparma__polyhedra__library_1_1C__Polyhedron_ef6bc45c4726c7fb386547c6ec104cf5) 893 0 R (classparma__polyhedra__libra [...]
-/Limits [(classparma__polyhedra__library_1_1C__Polyhedron_a37dcee4fa14c58b76c8d3c4227849e8) (classparma__polyhedra__library_1_1Coefficient)]
->> endobj
-2557 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Coefficient_2ae111e41ccba8a228746939bb1c595f) 930 0 R (classparma__polyhedra__library_1_1Coefficient_4445a4d60c39e32b6f6d3e2dcb901e55) 929 0 R (classparma__polyhedra__library_1_1Coefficient_7c968f7ba606e8b99863ae8cdef3c686) 934 0 R (classparma__polyhedra__library_1_1Coefficient_ac1766c4ad4a4697f6f9d4a92b200cb2) 909 0 R (classparma__polyhedra__library_1_1Coefficient_aff569442866d78436e19428b4cb8e75) 931 0 R (classparma__polyhedra__library_1_1Coef [...]
-/Limits [(classparma__polyhedra__library_1_1Coefficient_2ae111e41ccba8a228746939bb1c595f) (classparma__polyhedra__library_1_1Coefficient_ffb4611ad564f09455819718964b6e80)]
->> endobj
-2558 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Congruence) 485 0 R (classparma__polyhedra__library_1_1Congruence_1a974f4ed60693790cec91f324a85b05) 941 0 R (classparma__polyhedra__library_1_1Congruence_240b9d144edd0d6dca5cb42904f9b279) 961 0 R (classparma__polyhedra__library_1_1Congruence_637fe9105c9bc0b2722544d16453e87c) 960 0 R (classparma__polyhedra__library_1_1Congruence_6bcbe60c7d20f1fee7847e262993b626) 940 0 R (classparma__polyhedra__library_1_1Congruence_71cf9ab9ae4f184bf520137a8209ff3 [...]
-/Limits [(classparma__polyhedra__library_1_1Congruence) (classparma__polyhedra__library_1_1Congruence_71cf9ab9ae4f184bf520137a8209ff3e)]
->> endobj
-2559 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Congruence_7622929270f419e884d16cec2fc172b5) 958 0 R (classparma__polyhedra__library_1_1Congruence__System) 486 0 R (classparma__polyhedra__library_1_1Congruence__System_2da6d6ce1ce4057b0332826381042d4d) 969 0 R (classparma__polyhedra__library_1_1Congruence__System_392557cee71bc7b2eb23f07a9d788062) 968 0 R (classparma__polyhedra__library_1_1Congruence__System_6b7400f7e25b1bb473b2fc16c0c90b32) 970 0 R (classparma__polyhedra__library_1_1Constraint [...]
-/Limits [(classparma__polyhedra__library_1_1Congruence_7622929270f419e884d16cec2fc172b5) (classparma__polyhedra__library_1_1Constraint)]
->> endobj
-2560 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Constraint_0b1d26f53dd99cfe4e2f8a4fc3e8b5d3) 991 0 R (classparma__polyhedra__library_1_1Constraint_1112ff3331d87019a2df0fb9a83cfeb8) 995 0 R (classparma__polyhedra__library_1_1Constraint_148544cb9ef5bf6b9a60ee56655bff26) 993 0 R (classparma__polyhedra__library_1_1Constraint_4738abd11cb0fdcb233ed4f18c874d56) 996 0 R (classparma__polyhedra__library_1_1Constraint__System) 488 0 R (classparma__polyhedra__library_1_1Constraint__System_8be9b5793c5bcbd [...]
-/Limits [(classparma__polyhedra__library_1_1Constraint_0b1d26f53dd99cfe4e2f8a4fc3e8b5d3) (classparma__polyhedra__library_1_1Constraint__System_8be9b5793c5bcbd09cbe45d5def529d0)]
->> endobj
-2561 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Constraint__System_ad362521f7fba585112f1a2a5aea3d96) 1014 0 R (classparma__polyhedra__library_1_1Constraint__System_f2e1b75d9c8484321bfc25bb122970b7) 1015 0 R (classparma__polyhedra__library_1_1Constraint_dc27929d7731cdc3beeba475147e3127) 994 0 R (classparma__polyhedra__library_1_1Constraint_e62d06b1c82e9d9f4f12bbb3c6f4bcae) 992 0 R (classparma__polyhedra__library_1_1Domain__Error__Exception) 489 0 R (classparma__polyhedra__library_1_1Domain__Er [...]
-/Limits [(classparma__polyhedra__library_1_1Constraint__System_ad362521f7fba585112f1a2a5aea3d96) (classparma__polyhedra__library_1_1Domain__Error__Exception_3d2371e510d8b88b2660a631d6857953)]
->> endobj
-2562 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Generator) 490 0 R (classparma__polyhedra__library_1_1Generator_01ffce41500b158f8a1272d73418822e) 1053 0 R (classparma__polyhedra__library_1_1Generator_0673eda2d88204107796ffacffe269c0) 1048 0 R (classparma__polyhedra__library_1_1Generator_2a43c640dcbae8922c616491ad95e906) 1052 0 R (classparma__polyhedra__library_1_1Generator_80f1c0111cb5ffc8bfc06f7d4ad88b06) 1050 0 R (classparma__polyhedra__library_1_1Generator__System) 491 0 R]
-/Limits [(classparma__polyhedra__library_1_1Generator) (classparma__polyhedra__library_1_1Generator__System)]
->> endobj
-2563 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Generator__System_58d5c27c8e3d638fc7d25ee54d04b08c) 1090 0 R (classparma__polyhedra__library_1_1Generator__System_7695c9f42b5164da2b71e7a2b1382d06) 1089 0 R (classparma__polyhedra__library_1_1Generator__System_b1265553cab293b2c77d31f57682ae2b) 1067 0 R (classparma__polyhedra__library_1_1Generator_cdcf46a226e15d398fe41d10873779ca) 1051 0 R (classparma__polyhedra__library_1_1Generator_ce05db6f6b402898007ea5bf6ea4a831) 1044 0 R (classparma__polyhed [...]
-/Limits [(classparma__polyhedra__library_1_1Generator__System_58d5c27c8e3d638fc7d25ee54d04b08c) (classparma__polyhedra__library_1_1Generator_d96733e3e3c9087e06a052e5af198ba6)]
->> endobj
-2564 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Grid__Generator) 492 0 R (classparma__polyhedra__library_1_1Grid__Generator_27971df55a7b8e685f759f3001b0aef8) 1097 0 R (classparma__polyhedra__library_1_1Grid__Generator_3043f8c7edfaa1e5c98955234589301c) 1098 0 R (classparma__polyhedra__library_1_1Grid__Generator_5dcfc9bdd9d995b7be67da9f47e731ca) 1099 0 R (classparma__polyhedra__library_1_1Grid__Generator__System) 544 0 R (classparma__polyhedra__library_1_1Grid__Generator__System_183f982bd3198d2 [...]
-/Limits [(classparma__polyhedra__library_1_1Grid__Generator) (classparma__polyhedra__library_1_1Grid__Generator__System_183f982bd3198d2c455e51e7cedd4e33)]
->> endobj
-2565 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Grid__Generator__System_4f9d506f39d5a65a2c2cec090a1578f0) 1124 0 R (classparma__polyhedra__library_1_1Grid__Generator__System_84738aa470464f9f3192817554d26d30) 1112 0 R (classparma__polyhedra__library_1_1Grid__Generator_a32ef5503c68b0c2ccbd8d69251ecfd7) 1093 0 R (classparma__polyhedra__library_1_1Grid__Generator_e846d01ef7cc5222216fcac8f2d255c9) 1094 0 R (classparma__polyhedra__library_1_1IO) 546 0 R (classparma__polyhedra__library_1_1IO_2080ebe [...]
-/Limits [(classparma__polyhedra__library_1_1Grid__Generator__System_4f9d506f39d5a65a2c2cec090a1578f0) (classparma__polyhedra__library_1_1IO_2080ebe48063615d891b98ef65f2ca71)]
->> endobj
-2566 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Invalid__Argument__Exception) 545 0 R (classparma__polyhedra__library_1_1Invalid__Argument__Exception_df699afd1b4f9dbc15fd31424e9d15e7) 1127 0 R (classparma__polyhedra__library_1_1Length__Error__Exception) 547 0 R (classparma__polyhedra__library_1_1Length__Error__Exception_5b5e4c1fe8b8af4696ac7cc839fb3b40) 1151 0 R (classparma__polyhedra__library_1_1Linear__Expression) 548 0 R (classparma__polyhedra__library_1_1Linear__Expression_0c0b91260da0f47 [...]
-/Limits [(classparma__polyhedra__library_1_1Invalid__Argument__Exception) (classparma__polyhedra__library_1_1Linear__Expression_0c0b91260da0f4729a335faa3747c397)]
->> endobj
-2567 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Linear__Expression_2a76c9ab182bf0cbd015cea16a24c635) 1192 0 R (classparma__polyhedra__library_1_1Linear__Expression_3866453e844ec10e038e9ae2b336159d) 1190 0 R (classparma__polyhedra__library_1_1Linear__Expression_491b55e596bb0dc1e707355a1b2169b5) 1195 0 R (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) 549 0 R (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_24d3c42f7ed7c7a99a8a2bb5369eed4d) 1201 0 R (classp [...]
-/Limits [(classparma__polyhedra__library_1_1Linear__Expression_2a76c9ab182bf0cbd015cea16a24c635) (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_ab30b6ef6e87a1df35c14d15237af04c)]
->> endobj
-2568 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Linear__Expression__Coefficient_b531066aa6dba222c8c61a8c3978257d) 1200 0 R (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_edf10f9d2de45d7e8de1809d4417741b) 1202 0 R (classparma__polyhedra__library_1_1Linear__Expression__Difference) 550 0 R (classparma__polyhedra__library_1_1Linear__Expression__Difference_2b2271e2f858709aef3d3705ac8c075d) 1232 0 R (classparma__polyhedra__library_1_1Linear__Expression__Difference_6e2a52ee587e25 [...]
-/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Coefficient_b531066aa6dba222c8c61a8c3978257d) (classparma__polyhedra__library_1_1Linear__Expression__Difference_87e8e31d3cf9dbe3c2e1041ea8ccf873)]
->> endobj
-2569 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Linear__Expression__Difference_d213660ecdcc0e4142a2fd7536489781) 1227 0 R (classparma__polyhedra__library_1_1Linear__Expression__Difference_d6e4fdbf5475e6d24aaffaceb4a4abf9) 1226 0 R (classparma__polyhedra__library_1_1Linear__Expression__Difference_f0e7fc37eefdbd145c4e9203cfd5e5e7) 1228 0 R (classparma__polyhedra__library_1_1Linear__Expression__Sum) 551 0 R (classparma__polyhedra__library_1_1Linear__Expression__Sum_26114c4deaf17e8a12123a0a8f760d [...]
-/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Difference_d213660ecdcc0e4142a2fd7536489781) (classparma__polyhedra__library_1_1Linear__Expression__Sum_8bacbf073ef0e1064e8c53ede4ad59bd)]
->> endobj
-2570 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Linear__Expression__Sum_8d44f98f79421126eba1448fb80331b4) 1267 0 R (classparma__polyhedra__library_1_1Linear__Expression__Sum_e1191ef860c3201d40fa4e20fd02ba2d) 1268 0 R (classparma__polyhedra__library_1_1Linear__Expression__Sum_e42dcbc09bb42d181a19512206d15f70) 1264 0 R (classparma__polyhedra__library_1_1Linear__Expression__Sum_ef62be6cb1c9f4c4f3aff2c5f456c374) 1262 0 R (classparma__polyhedra__library_1_1Linear__Expression__Times) 552 0 R (class [...]
-/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Sum_8d44f98f79421126eba1448fb80331b4) (classparma__polyhedra__library_1_1Linear__Expression__Times_015f6e2febd260a93299564dfde659e5)]
->> endobj
-2571 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Linear__Expression__Times_121be923ed152a60238e69a8296bf966) 1296 0 R (classparma__polyhedra__library_1_1Linear__Expression__Times_4b0fc20a0d733d684c6a4e7e8f49c174) 1297 0 R (classparma__polyhedra__library_1_1Linear__Expression__Times_6dec5edff0aa73961373ed7e1b9e0729) 1271 0 R (classparma__polyhedra__library_1_1Linear__Expression__Times_7f106ecc8b4f062f0b2b53cd3098e50c) 1294 0 R (classparma__polyhedra__library_1_1Linear__Expression__Times_ffc79b9 [...]
-/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Times_121be923ed152a60238e69a8296bf966) (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus)]
->> endobj
-2572 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_2834d46309af2717b28dc79843e1331d) 1302 0 R (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_2f88b2137b58031e4838f19daff12f4a) 1304 0 R (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_a51b2de39e7e3568d5c9322de4b0454b) 1300 0 R (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_ab53a108e173a6657e2af82a66ea3737) 1301 0 R (classparma__polyhedra__library_1_1Linea [...]
-/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_2834d46309af2717b28dc79843e1331d) (classparma__polyhedra__library_1_1Linear__Expression__Variable_5c54fa6c29a576ab9de69361d15f8b17)]
->> endobj
-2573 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Linear__Expression__Variable_642f2ab97bf846e69686a874001a9930) 1320 0 R (classparma__polyhedra__library_1_1Linear__Expression__Variable_e2482d18059a20a1cea2423a8b3d1043) 1322 0 R (classparma__polyhedra__library_1_1Linear__Expression_af751a048f4895ec1ca6eb753a196908) 1191 0 R (classparma__polyhedra__library_1_1Linear__Expression_d3d011ec5cd66a3e9bf71053d6b818b5) 1189 0 R (classparma__polyhedra__library_1_1Linear__Expression_f5d9b1e4dec7faf038dd87 [...]
-/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Variable_642f2ab97bf846e69686a874001a9930) (classparma__polyhedra__library_1_1Logic__Error__Exception)]
->> endobj
-2574 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Logic__Error__Exception_11bc5303b1d7a594017971538e60858f) 1325 0 R (classparma__polyhedra__library_1_1MIP__Problem) 556 0 R (classparma__polyhedra__library_1_1MIP__Problem_053b3ad9ab9c0920ee835d51589cb703) 1439 0 R (classparma__polyhedra__library_1_1MIP__Problem_1a896ee4273234f7c7181d76bdd9260f) 1363 0 R (classparma__polyhedra__library_1_1MIP__Problem_203692374bea9a641aba897049f2ae03) 1413 0 R (classparma__polyhedra__library_1_1MIP__Problem_23fb [...]
-/Limits [(classparma__polyhedra__library_1_1Logic__Error__Exception_11bc5303b1d7a594017971538e60858f) (classparma__polyhedra__library_1_1MIP__Problem_23fb2ed36793d2fa8974d9b6c3f93705)]
->> endobj
-2575 0 obj <<
-/Names [(classparma__polyhedra__library_1_1MIP__Problem_2d9c6ed1390e4148c2fccb3491c7b4a7) 1404 0 R (classparma__polyhedra__library_1_1MIP__Problem_31c3eb3b5ccbe373dc04fe4d86234b87) 1416 0 R (classparma__polyhedra__library_1_1MIP__Problem_49981873be6474f7f399f1f54bc8861d) 1361 0 R (classparma__polyhedra__library_1_1MIP__Problem_4c0dddb2c112aeef626eef4d7e539d2d) 1410 0 R (classparma__polyhedra__library_1_1MIP__Problem_4cdcdb051551e8a23b6ff80a3294c5de) 1358 0 R (classparma__polyhedra__libra [...]
-/Limits [(classparma__polyhedra__library_1_1MIP__Problem_2d9c6ed1390e4148c2fccb3491c7b4a7) (classparma__polyhedra__library_1_1MIP__Problem_4dfc6347addaec85187c46bff12def97)]
->> endobj
-2576 0 obj <<
-/Names [(classparma__polyhedra__library_1_1MIP__Problem_52edb70858467236238aaec3b1884d37) 1403 0 R (classparma__polyhedra__library_1_1MIP__Problem_54d7ba808dcfc372e231fe597f5daf1f) 1434 0 R (classparma__polyhedra__library_1_1MIP__Problem_5b935844aeba5303d77ca82130998245) 1402 0 R (classparma__polyhedra__library_1_1MIP__Problem_64a91a5f142efd873b50d2cb7d27e660) 1356 0 R (classparma__polyhedra__library_1_1MIP__Problem_75aa539f287d460bc26a347512e51760) 1419 0 R (classparma__polyhedra__libra [...]
-/Limits [(classparma__polyhedra__library_1_1MIP__Problem_52edb70858467236238aaec3b1884d37) (classparma__polyhedra__library_1_1MIP__Problem_7c8c10d940074e8ec96a4d319b88e490)]
->> endobj
-2577 0 obj <<
-/Names [(classparma__polyhedra__library_1_1MIP__Problem_7fa63d4674ffff39446dd46ed0c26e6f) 1366 0 R (classparma__polyhedra__library_1_1MIP__Problem_81cb4962caaa75c19cdf6c8a5af4e46b) 1417 0 R (classparma__polyhedra__library_1_1MIP__Problem_ab8f9339a589d7ecd8eba424cd8c8d3f) 1415 0 R (classparma__polyhedra__library_1_1MIP__Problem_c2cab9caa4fff25fd03b1012a0c8cf5b) 1357 0 R (classparma__polyhedra__library_1_1MIP__Problem_caf3268d04168d4d22ebe73d9578d7d5) 1435 0 R (classparma__polyhedra__libra [...]
-/Limits [(classparma__polyhedra__library_1_1MIP__Problem_7fa63d4674ffff39446dd46ed0c26e6f) (classparma__polyhedra__library_1_1MIP__Problem_caffbc7bc53bf538c9d8a75cb4a7e872)]
->> endobj
-2578 0 obj <<
-/Names [(classparma__polyhedra__library_1_1MIP__Problem_cf903011430930b9c3afca546ecb07db) 1414 0 R (classparma__polyhedra__library_1_1MIP__Problem_d202d113166e7f68344ee82ba6e7b0fd) 1405 0 R (classparma__polyhedra__library_1_1MIP__Problem_e0371bb311150040a06e7839efb57a83) 1360 0 R (classparma__polyhedra__library_1_1MIP__Problem_e1db1d48c605e6f79aa78ea2a4a9cda7) 1365 0 R (classparma__polyhedra__library_1_1MIP__Problem_ee14b86bac3475fb14914092715b5916) 1368 0 R (classparma__polyhedra__libra [...]
-/Limits [(classparma__polyhedra__library_1_1MIP__Problem_cf903011430930b9c3afca546ecb07db) (classparma__polyhedra__library_1_1MIP__Problem_f27bf62f81d315063d66dc394ef9559c)]
->> endobj
-2579 0 obj <<
-/Names [(classparma__polyhedra__library_1_1MIP__Problem_f66f20c1209205a55c53e42c83761b82) 1412 0 R (classparma__polyhedra__library_1_1MIP__Problem_fa2c94e0b2f7b773f7d2daf6d53f9874) 1418 0 R (classparma__polyhedra__library_1_1Overflow__Error__Exception) 557 0 R (classparma__polyhedra__library_1_1Overflow__Error__Exception_6c67cb8304bf0e784ad1aa328e82e20e) 1473 0 R (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4) 558 0 R (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4_5 [...]
-/Limits [(classparma__polyhedra__library_1_1MIP__Problem_f66f20c1209205a55c53e42c83761b82) (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4_5c1e588b7f6a9f94b053a5cec723dfe6)]
->> endobj
-2580 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4_637f0b668a07b52f0fc9454c13f4d16e) 1490 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library) 559 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_0f295b8b6083b12c373b48417ae8a466) 1496 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_3d5082778a4123e14fc66912860bb420) 1512 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_4254863fcee52d3a2ee594e14999fc21) 1510 0 R ( [...]
-/Limits [(classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4_637f0b668a07b52f0fc9454c13f4d16e) (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_51207bdf0804635cce036bd6b6459abf)]
->> endobj
-2581 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Parma__Polyhedra__Library_8219b76f7582cc02ef563bf70b045ae6) 1507 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_868e2f5d243f0fa2bbc4abef8f68fc74) 1515 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_952c4e092ec518368be278c13c689acd) 1494 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_9f9880633bb81d02f27e6fb22dc83bdc) 1495 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron [...]
-/Limits [(classparma__polyhedra__library_1_1Parma__Polyhedra__Library_8219b76f7582cc02ef563bf70b045ae6) (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_0ae5c861cdc8a2fed1057cb873c928fc)]
->> endobj
-2582 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_1deba0aacc90a96b069e32f8c3d4559e) 1569 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_25fcf44b7620128ac3646cf9cb7ec333) 1566 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_307f552cb6559fb3316979350f0698e4) 1560 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_43f91b349368a1f43667546d2d844941) 1565 0 R (classparma__polyhedra__library_1_1P [...]
-/Limits [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_1deba0aacc90a96b069e32f8c3d4559e) (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_91754711e181bd642b50021a3750ba1b)]
->> endobj
-2583 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) 562 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_041438b5dfc0a27bb1ef8944ccef9b20) 1592 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_1063791d47e047aeeb186ba499482460) 1595 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_3e689b13a25dfaf0b6f22b21127bf4f9) 1596 0 R (classparma__polyhedra__librar [...]
-/Limits [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_5204a6f9136985b1cf438bea23fd9489)]
->> endobj
-2584 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_8f633594965f90e853f0a0b7d9667e7a) 1594 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_d6b10e19a21f12cc1e19304c400cbcc9) 1593 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_b86276be6b184ca176f526bdce7db8cb) 1564 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_cb627ec2ad25203404db2046bd1b415c) 1561 0 R (classparma__pol [...]
-/Limits [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_8f633594965f90e853f0a0b7d9667e7a) (classparma__polyhedra__library_1_1Poly__Con__Relation)]
->> endobj
-2585 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Poly__Con__Relation_0b8fd6b1ed827658839d73fcb11d4755) 1626 0 R (classparma__polyhedra__library_1_1Poly__Con__Relation_0ce79e66e5f99bf6dae5077d3eeb15a8) 1629 0 R (classparma__polyhedra__library_1_1Poly__Con__Relation_103c1a923368f15f9846bb63c5fc8bcd) 1628 0 R (classparma__polyhedra__library_1_1Poly__Con__Relation_5703e74effb8a5b4090be08699d6b808) 1623 0 R (classparma__polyhedra__library_1_1Poly__Con__Relation_86ef4d8f3963d0e41bd32e5745b2b161) 162 [...]
-/Limits [(classparma__polyhedra__library_1_1Poly__Con__Relation_0b8fd6b1ed827658839d73fcb11d4755) (classparma__polyhedra__library_1_1Poly__Con__Relation_981388a9978a768d9859bc6a05b59612)]
->> endobj
-2586 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Poly__Con__Relation_d487a3b3a0d3590dd3678cf333549f47) 1627 0 R (classparma__polyhedra__library_1_1Poly__Gen__Relation) 564 0 R (classparma__polyhedra__library_1_1Poly__Gen__Relation_52e2da847dc03a6a0bd03eb718bbc2c5) 1651 0 R (classparma__polyhedra__library_1_1Poly__Gen__Relation_a542fab30058371e9f17fca3eb84724b) 1648 0 R (classparma__polyhedra__library_1_1Poly__Gen__Relation_ba48365387e24282c5facb79d544df54) 1649 0 R (classparma__polyhedra__libr [...]
-/Limits [(classparma__polyhedra__library_1_1Poly__Con__Relation_d487a3b3a0d3590dd3678cf333549f47) (classparma__polyhedra__library_1_1Poly__Gen__Relation_c9b4e9cbc50b16d0b8eae819ba758bb1)]
->> endobj
-2587 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Polyhedron) 565 0 R (classparma__polyhedra__library_1_1Polyhedron_0c39fad28012b1e32b3bb3f51aa395e9) 1819 0 R (classparma__polyhedra__library_1_1Polyhedron_0c70e4b9986758a2c5cfabd0968c80a2) 1927 0 R (classparma__polyhedra__library_1_1Polyhedron_0d6e2bbaaefe11efb5429fe1a61e3d22) 1954 0 R (classparma__polyhedra__library_1_1Polyhedron_0db3ec1fb2ff3022b06cd0760dbc9b11) 1810 0 R (classparma__polyhedra__library_1_1Polyhedron_0debe61d4b261fe21a4109f8920 [...]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron) (classparma__polyhedra__library_1_1Polyhedron_0debe61d4b261fe21a4109f8920557e0)]
->> endobj
-2588 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Polyhedron_0f157e4c644b4ca57dc6d0ffe0509ae2) 1816 0 R (classparma__polyhedra__library_1_1Polyhedron_101725c81694df74ced9b4f2cca1fbad) 1747 0 R (classparma__polyhedra__library_1_1Polyhedron_178d863fdd91da50df37aac742b5f89b) 1924 0 R (classparma__polyhedra__library_1_1Polyhedron_1d1b69611f06c6e9aa03fd1b951573f8) 1697 0 R (classparma__polyhedra__library_1_1Polyhedron_250dcd46824fa3fcc48f2dd92a8293ea) 1877 0 R (classparma__polyhedra__library_1_1Poly [...]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_0f157e4c644b4ca57dc6d0ffe0509ae2) (classparma__polyhedra__library_1_1Polyhedron_25143e2f87da1099e3cb5c065a2e0890)]
->> endobj
-2589 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Polyhedron_269b05089d9f1a4c329d5f5f1fe87dec) 1756 0 R (classparma__polyhedra__library_1_1Polyhedron_27c32393002b42d894f964a5d60af964) 1955 0 R (classparma__polyhedra__library_1_1Polyhedron_2a7c7870e8a2d07650293ccce8893174) 1811 0 R (classparma__polyhedra__library_1_1Polyhedron_2c5d0c7fb2c1bbaa9359ed0b497152cf) 1867 0 R (classparma__polyhedra__library_1_1Polyhedron_2d8112f8870851653e56b12e910f7e45) 1918 0 R (classparma__polyhedra__library_1_1Poly [...]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_269b05089d9f1a4c329d5f5f1fe87dec) (classparma__polyhedra__library_1_1Polyhedron_3dec267cc9fa523feea43a8c0acdbe00)]
->> endobj
-2590 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Polyhedron_3e3093f0cebb7f7d4b1ac1f1dda4df5b) 1812 0 R (classparma__polyhedra__library_1_1Polyhedron_3eced5e4c9a959bf44ba28393466ed15) 1746 0 R (classparma__polyhedra__library_1_1Polyhedron_40f85671a746d80dd6a5a14292f6df72) 1878 0 R (classparma__polyhedra__library_1_1Polyhedron_45dd7fcc9b518abdc94c454b66ba1d5b) 1758 0 R (classparma__polyhedra__library_1_1Polyhedron_4949285de47134b38f894d92823a931b) 1702 0 R (classparma__polyhedra__library_1_1Poly [...]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_3e3093f0cebb7f7d4b1ac1f1dda4df5b) (classparma__polyhedra__library_1_1Polyhedron_4b3c940e8c7c8981b9b2124a75e011c1)]
->> endobj
-2591 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Polyhedron_4ee0954f71183611c9b29ad07ad9fba2) 1744 0 R (classparma__polyhedra__library_1_1Polyhedron_50926d4c45d6e451ccec518c8051733c) 1700 0 R (classparma__polyhedra__library_1_1Polyhedron_52cb475c174028850d7ddd0998e089bf) 1868 0 R (classparma__polyhedra__library_1_1Polyhedron_56bf9c6096c448f27d61416f27a05db1) 1691 0 R (classparma__polyhedra__library_1_1Polyhedron_5b00da433f9d9473b1fbd2cdf6c5976e) 1813 0 R (classparma__polyhedra__library_1_1Poly [...]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_4ee0954f71183611c9b29ad07ad9fba2) (classparma__polyhedra__library_1_1Polyhedron_5b12ca4fb2557b59516d1bbb2e30fa43)]
->> endobj
-2592 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Polyhedron_5c870a4502b7d88bf273472936bf4fb8) 1931 0 R (classparma__polyhedra__library_1_1Polyhedron_5d5942488536d6a9095fc4bdebb9f7ed) 1759 0 R (classparma__polyhedra__library_1_1Polyhedron_5e9ac1ca10b983f0dee8146e6e95370b) 1873 0 R (classparma__polyhedra__library_1_1Polyhedron_5f7cb393111807edd0542e1e4367f249) 1876 0 R (classparma__polyhedra__library_1_1Polyhedron_6661b721ae109cee00992746554acf53) 1919 0 R (classparma__polyhedra__library_1_1Poly [...]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_5c870a4502b7d88bf273472936bf4fb8) (classparma__polyhedra__library_1_1Polyhedron_6e67cd103e4b330d46ded91f0ed0ec2b)]
->> endobj
-2593 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Polyhedron_6e6eb647853269db9de88ed234a16656) 1818 0 R (classparma__polyhedra__library_1_1Polyhedron_7817a26193f804a89ffeb2dbf18fc702) 1754 0 R (classparma__polyhedra__library_1_1Polyhedron_79d4ff349ca7b314602b79a2d74fe976) 1870 0 R (classparma__polyhedra__library_1_1Polyhedron_81c4315daec6710e58a0617d92839e81) 1694 0 R (classparma__polyhedra__library_1_1Polyhedron_84625e35d755ced248ffe55750614f09) 1690 0 R (classparma__polyhedra__library_1_1Poly [...]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_6e6eb647853269db9de88ed234a16656) (classparma__polyhedra__library_1_1Polyhedron_88d0ec91f9e05922238463630dccc296)]
->> endobj
-2594 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Polyhedron_894ed94e4bfdc07cd6ef5d45e5c464b7) 1929 0 R (classparma__polyhedra__library_1_1Polyhedron_8b521c98491fa559861dae11ad3ec3f3) 1689 0 R (classparma__polyhedra__library_1_1Polyhedron_94e51c5141f6c2a46e4c8d8aaea539b4) 1871 0 R (classparma__polyhedra__library_1_1Polyhedron_951904ccc728d261cf367a0bc613478d) 1698 0 R (classparma__polyhedra__library_1_1Polyhedron_95849529fc06d893870e1b39fe009db8) 1923 0 R (classparma__polyhedra__library_1_1Poly [...]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_894ed94e4bfdc07cd6ef5d45e5c464b7) (classparma__polyhedra__library_1_1Polyhedron_9a21e654ffec08b0a79e6aa5ec29d72d)]
->> endobj
-2595 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Polyhedron_9f7d55f53c6ca0b56163de733c0bca5d) 1699 0 R (classparma__polyhedra__library_1_1Polyhedron_a7225f4984a8ca7b4701b78e9aa545b3) 1821 0 R (classparma__polyhedra__library_1_1Polyhedron_a8a9da2a38c61eb14ed1922e970552ba) 1749 0 R (classparma__polyhedra__library_1_1Polyhedron_a9a506db5b2ca3606ffdc72bae993831) 1930 0 R (classparma__polyhedra__library_1_1Polyhedron_ac326b042c380a004289377eca7d2342) 1869 0 R (classparma__polyhedra__library_1_1Poly [...]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_9f7d55f53c6ca0b56163de733c0bca5d) (classparma__polyhedra__library_1_1Polyhedron_ad130af7dc19af625d583e25020026e1)]
->> endobj
-2596 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Polyhedron_af462d898fecd8d545ce48f6a0632c3e) 1807 0 R (classparma__polyhedra__library_1_1Polyhedron_b492b453a39228bad565e4964c7ad257) 1921 0 R (classparma__polyhedra__library_1_1Polyhedron_b7c4fb00dc7b0fff7edbe9d80ad15ae6) 1701 0 R (classparma__polyhedra__library_1_1Polyhedron_b8b346098cc00bd96852efadc70e42d3) 1745 0 R (classparma__polyhedra__library_1_1Polyhedron_bc5704127ba61d2413c9bff4fd30f323) 1755 0 R (classparma__polyhedra__library_1_1Poly [...]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_af462d898fecd8d545ce48f6a0632c3e) (classparma__polyhedra__library_1_1Polyhedron_be395df0f967ad2074e87c95cab973ee)]
->> endobj
-2597 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Polyhedron_beedcb4af89476e04d9b358ae522dab0) 1926 0 R (classparma__polyhedra__library_1_1Polyhedron_c302814cfa610b65b7e92426d20b7efd) 1757 0 R (classparma__polyhedra__library_1_1Polyhedron_c4f92e1418a46d38b818059a3dadab69) 1704 0 R (classparma__polyhedra__library_1_1Polyhedron_c5dfab82eea6ba1f83cbebca0237b084) 1805 0 R (classparma__polyhedra__library_1_1Polyhedron_c72ffc5f5715e6a10e6d5e63a43b6e9e) 1703 0 R (classparma__polyhedra__library_1_1Poly [...]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_beedcb4af89476e04d9b358ae522dab0) (classparma__polyhedra__library_1_1Polyhedron_d078549415d6b45298d374eb3b6f5c7d)]
->> endobj
-2598 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Polyhedron_d0f0c9ad050583abd703aaedb6e5cca1) 1693 0 R (classparma__polyhedra__library_1_1Polyhedron_d453d2930f64cc40ad0b5dbe4ac50c07) 1814 0 R (classparma__polyhedra__library_1_1Polyhedron_d8155c4d2baca71b59e67eb7396bb18c) 1928 0 R (classparma__polyhedra__library_1_1Polyhedron_db6d91da0ca1b3f0f9b755297ab69722) 1808 0 R (classparma__polyhedra__library_1_1Polyhedron_dd26476af2dfda6abbb7508ef88cae2d) 1917 0 R (classparma__polyhedra__library_1_1Poly [...]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_d0f0c9ad050583abd703aaedb6e5cca1) (classparma__polyhedra__library_1_1Polyhedron_dd544c3d22008bb22d0b6fa536c651dd)]
->> endobj
-2599 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Polyhedron_e44edf9029d653931c7a450481127e14) 1925 0 R (classparma__polyhedra__library_1_1Polyhedron_e4e82dc62f09b889cc2c699b6a8abda1) 1750 0 R (classparma__polyhedra__library_1_1Polyhedron_ea3d6d51b260b5aa832a1a3a68ac98a0) 1815 0 R (classparma__polyhedra__library_1_1Polyhedron_f15807720fca193200fa6ea8627ef10b) 1916 0 R (classparma__polyhedra__library_1_1Polyhedron_f212c66bfb25b5b1949ee91f0e4b48ab) 1751 0 R (classparma__polyhedra__library_1_1Poly [...]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_e44edf9029d653931c7a450481127e14) (classparma__polyhedra__library_1_1Polyhedron_f31626a3fd875ced253836666b29990b)]
->> endobj
-2600 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Polyhedron_f3ff44da0089b15593e3ce719e37e677) 1874 0 R (classparma__polyhedra__library_1_1Polyhedron_faf7844389329a23b58abf355ae79ded) 1875 0 R (classparma__polyhedra__library_1_1Variable) 591 0 R (classparma__polyhedra__library_1_1Variable_293bf4ae6670add8afd68cbca2edd0e5) 2162 0 R (classparma__polyhedra__library_1_1Variable_a771ef39be258755e151cd5edb617e94) 2159 0 R (classparma__polyhedra__library_1_1Variable_df4acacc53bd647f2c4ccaac0aa7643a) 2 [...]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_f3ff44da0089b15593e3ce719e37e677) (classparma__polyhedra__library_1_1Variable_df4acacc53bd647f2c4ccaac0aa7643a)]
->> endobj
-2601 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Variables__Set) 592 0 R (classparma__polyhedra__library_1_1Variables__Set_961dfccd93ec291961f9938db0c86b2d) 2170 0 R (group__PPL__Java__interface) 589 0 R (group__PPL__Java__interface_g0cd3c405aa537a001f59e642f2acddd3) 662 0 R (group__PPL__Java__interface_g16616f4113ae69d86cdaf2b7b10cc0d6) 672 0 R (group__PPL__Java__interface_g464c2bc94f19f4509ffedb8b7b60439a) 675 0 R]
-/Limits [(classparma__polyhedra__library_1_1Variables__Set) (group__PPL__Java__interface_g464c2bc94f19f4509ffedb8b7b60439a)]
->> endobj
-2602 0 obj <<
-/Names [(group__PPL__Java__interface_g9006be5f6c0f7616400b3554738e732f) 666 0 R (group__PPL__Java__interface_gb884929ad9e98d94cac675f7fe3e9771) 706 0 R (group__PPL__Java__interface_gccd1fa9f287c6fe48bd8dfd920a5397b) 709 0 R (group__PPL__Java__interface_gd7cbdacd9a5e2c068c25c12f47f8936a) 682 0 R (group__PPL__Java__interface_ge444adc8164dfda0378177ddab117095) 680 0 R (group__PPL__Java__interface_ge574051d412d3ee587c872f48de81663) 668 0 R]
-/Limits [(group__PPL__Java__interface_g9006be5f6c0f7616400b3554738e732f) (group__PPL__Java__interface_ge574051d412d3ee587c872f48de81663)]
->> endobj
-2603 0 obj <<
-/Names [(group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd372e00beade5e3123d604866d4318562c) 664 0 R (group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd3d48fce92c56bf2ff6ee0ffeeba90de18) 663 0 R (group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd3e0c67618b9d2e22a193c392f031ddbc1) 665 0 R (group__PPL__Java__interface_gg16616f4113ae69d86cdaf2b7b10cc0d634c41f8889b9f0e04d597dfeaa1d356b) 673 0 R (group__PPL__Java__interface_gg16616f4113ae69d86cdaf2b7b10cc0d69 [...]
-/Limits [(group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd372e00beade5e3123d604866d4318562c) (group__PPL__Java__interface_gg464c2bc94f19f4509ffedb8b7b60439a4f9ea739b8717fe026aba79a67be5cc6)]
->> endobj
-2604 0 obj <<
-/Names [(group__PPL__Java__interface_gg464c2bc94f19f4509ffedb8b7b60439a8e71cc2282a035560ecc13c306e79a99) 679 0 R (group__PPL__Java__interface_gg9006be5f6c0f7616400b3554738e732fe64f42c3dc2245c0a2dfdfdf81804916) 667 0 R (group__PPL__Java__interface_ggb884929ad9e98d94cac675f7fe3e97713b313393fbe3b2f84daa5d5e440d5fc9) 708 0 R (group__PPL__Java__interface_ggb884929ad9e98d94cac675f7fe3e97716123d48765236f5a4dc9b6589f3009a9) 707 0 R (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b4 [...]
-/Limits [(group__PPL__Java__interface_gg464c2bc94f19f4509ffedb8b7b60439a8e71cc2282a035560ecc13c306e79a99) (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b671181c4f0b106836b2bfa9c51d75464)]
->> endobj
-2605 0 obj <<
-/Names [(group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b7efe7873dcfccf876422dfa5f1fdc5a8) 712 0 R (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b8b42d305e53e64514a7f004b4e55f862) 714 0 R (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b8d1443a727b974ff807ec5bc5cd1dece) 710 0 R (group__PPL__Java__interface_ggd7cbdacd9a5e2c068c25c12f47f8936a50069f21f8a038aa6bda4255c9e1e79c) 684 0 R (group__PPL__Java__interface_ggd7cbdacd9a5e2c068c25c12f47f8936a6 [...]
-/Limits [(group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b7efe7873dcfccf876422dfa5f1fdc5a8) (group__PPL__Java__interface_ggd7cbdacd9a5e2c068c25c12f47f8936af8a08f4943e38d19a2d06ad647e37729)]
->> endobj
-2606 0 obj <<
-/Names [(group__PPL__Java__interface_gge444adc8164dfda0378177ddab117095569a186f6e30ceae8ad51ca3bf7a8ccc) 678 0 R (group__PPL__Java__interface_gge444adc8164dfda0378177ddab1170956c4381dbaddfd9e2c92dc85a43dbec0f) 681 0 R (group__PPL__Java__interface_gge444adc8164dfda0378177ddab117095d72cf0b414b10649e6ad6f776273beff) 676 0 R (group__PPL__Java__interface_gge574051d412d3ee587c872f48de816632ac9e83af49bbfe366e6d82f2f3cde52) 669 0 R (group__PPL__Java__interface_gge574051d412d3ee587c872f48de816635 [...]
-/Limits [(group__PPL__Java__interface_gge444adc8164dfda0378177ddab117095569a186f6e30ceae8ad51ca3bf7a8ccc) (group__PPL__Java__interface_gge574051d412d3ee587c872f48de81663829fa1b449ab43dfd7a5fbd21bfbbd21)]
->> endobj
-2607 0 obj <<
-/Names [(index) 297 0 R (interfaceparma__polyhedra__library_1_1Partial__Function) 560 0 R (interfaceparma__polyhedra__library_1_1Partial__Function_b3b4fbf99544ba087c9b1bb423043849) 1531 0 R (interfaceparma__polyhedra__library_1_1Partial__Function_c89f45a1ba3b8814dbd6be95e571cdfa) 1527 0 R (interfaceparma__polyhedra__library_1_1Partial__Function_e268ac659921ee5731b202d530b9d35d) 1533 0 R (namespaceparma__polyhedra__library) 439 0 R]
-/Limits [(index) (namespaceparma__polyhedra__library)]
->> endobj
-2608 0 obj <<
-/Names [(page.1) 213 0 R (page.10) 357 0 R (page.11) 365 0 R (page.12) 379 0 R (page.13) 385 0 R (page.14) 390 0 R]
-/Limits [(page.1) (page.14)]
->> endobj
-2609 0 obj <<
-/Names [(page.15) 395 0 R (page.16) 400 0 R (page.17) 407 0 R (page.18) 438 0 R (page.19) 481 0 R (page.2) 296 0 R]
-/Limits [(page.15) (page.2)]
->> endobj
-2610 0 obj <<
-/Names [(page.20) 543 0 R (page.21) 588 0 R (page.22) 614 0 R (page.23) 651 0 R (page.24) 697 0 R (page.25) 720 0 R]
-/Limits [(page.20) (page.25)]
->> endobj
-2611 0 obj <<
-/Names [(page.26) 743 0 R (page.27) 767 0 R (page.28) 805 0 R (page.29) 826 0 R (page.3) 306 0 R (page.30) 860 0 R]
-/Limits [(page.26) (page.30)]
->> endobj
-2612 0 obj <<
-/Names [(page.31) 881 0 R (page.32) 902 0 R (page.33) 928 0 R (page.34) 956 0 R (page.35) 988 0 R (page.36) 1011 0 R]
-/Limits [(page.31) (page.36)]
->> endobj
-2613 0 obj <<
-/Names [(page.37) 1041 0 R (page.38) 1061 0 R (page.39) 1088 0 R (page.4) 313 0 R (page.40) 1106 0 R (page.41) 1122 0 R]
-/Limits [(page.37) (page.41)]
->> endobj
-2614 0 obj <<
-/Names [(page.42) 1146 0 R (page.43) 1187 0 R (page.44) 1221 0 R (page.45) 1260 0 R (page.46) 1292 0 R (page.47) 1317 0 R]
-/Limits [(page.42) (page.47)]
->> endobj
-2615 0 obj <<
-/Names [(page.48) 1354 0 R (page.49) 1401 0 R (page.5) 321 0 R (page.50) 1433 0 R (page.51) 1446 0 R (page.52) 1456 0 R]
-/Limits [(page.48) (page.52)]
->> endobj
-2616 0 obj <<
-/Names [(page.53) 1468 0 R (page.54) 1486 0 R (page.55) 1506 0 R (page.56) 1525 0 R (page.57) 1558 0 R (page.58) 1588 0 R]
-/Limits [(page.53) (page.58)]
->> endobj
-2617 0 obj <<
-/Names [(page.59) 1618 0 R (page.6) 330 0 R (page.60) 1645 0 R (page.61) 1687 0 R (page.62) 1743 0 R (page.63) 1804 0 R]
-/Limits [(page.59) (page.63)]
->> endobj
-2618 0 obj <<
-/Names [(page.64) 1861 0 R (page.65) 1915 0 R (page.66) 1947 0 R (page.67) 1964 0 R (page.68) 1975 0 R (page.69) 1987 0 R]
-/Limits [(page.64) (page.69)]
->> endobj
-2619 0 obj <<
-/Names [(page.7) 337 0 R (page.70) 2003 0 R (page.71) 2016 0 R (page.72) 2032 0 R (page.73) 2045 0 R (page.74) 2057 0 R]
-/Limits [(page.7) (page.74)]
->> endobj
-2620 0 obj <<
-/Names [(page.75) 2073 0 R (page.76) 2086 0 R (page.77) 2102 0 R (page.78) 2118 0 R (page.79) 2130 0 R (page.8) 343 0 R]
-/Limits [(page.75) (page.8)]
->> endobj
-2621 0 obj <<
-/Names [(page.80) 2141 0 R (page.81) 2156 0 R (page.82) 2168 0 R (page.83) 2226 0 R (page.84) 2299 0 R (page.85) 2400 0 R]
-/Limits [(page.80) (page.85)]
->> endobj
-2622 0 obj <<
-/Names [(page.86) 2471 0 R (page.87) 2476 0 R (page.9) 349 0 R (page.i) 246 0 R (paragraph.10.11.2.1) 1108 0 R (paragraph.10.11.2.2) 1109 0 R]
-/Limits [(page.86) (paragraph.10.11.2.2)]
->> endobj
-2623 0 obj <<
-/Names [(paragraph.10.11.2.3) 1110 0 R (paragraph.10.14.2.1) 1149 0 R (paragraph.10.2.2.1) 888 0 R (paragraph.10.2.2.2) 889 0 R (paragraph.10.2.2.3) 890 0 R (paragraph.10.2.2.4) 891 0 R]
-/Limits [(paragraph.10.11.2.3) (paragraph.10.2.2.4)]
->> endobj
-2624 0 obj <<
-/Names [(paragraph.10.2.2.5) 903 0 R (paragraph.10.2.2.6) 904 0 R (paragraph.10.2.3.1) 906 0 R (paragraph.10.2.3.2) 907 0 R (paragraph.10.24.2.1) 1438 0 R (paragraph.10.24.2.2) 1447 0 R]
-/Limits [(paragraph.10.2.2.5) (paragraph.10.24.2.2)]
->> endobj
-2625 0 obj <<
-/Names [(paragraph.10.24.3.1) 1449 0 R (paragraph.10.24.3.10) 1469 0 R (paragraph.10.24.3.11) 1470 0 R (paragraph.10.24.3.12) 1471 0 R (paragraph.10.24.3.2) 1450 0 R (paragraph.10.24.3.3) 1451 0 R]
-/Limits [(paragraph.10.24.3.1) (paragraph.10.24.3.3)]
->> endobj
-2626 0 obj <<
-/Names [(paragraph.10.24.3.4) 1457 0 R (paragraph.10.24.3.5) 1458 0 R (paragraph.10.24.3.6) 1459 0 R (paragraph.10.24.3.7) 1460 0 R (paragraph.10.24.3.8) 1461 0 R (paragraph.10.24.3.9) 1462 0 R]
-/Limits [(paragraph.10.24.3.4) (paragraph.10.24.3.9)]
->> endobj
-2627 0 obj <<
-/Names [(paragraph.10.27.2.1) 1511 0 R (paragraph.10.27.2.2) 1513 0 R (paragraph.10.27.2.3) 1516 0 R (paragraph.10.28.2.1) 1532 0 R (paragraph.10.28.2.2) 1534 0 R (paragraph.10.29.2.1) 1590 0 R]
-/Limits [(paragraph.10.27.2.1) (paragraph.10.29.2.1)]
->> endobj
-2628 0 obj <<
-/Names [(paragraph.10.3.2.1) 935 0 R (paragraph.10.30.2.1) 1621 0 R (paragraph.10.33.2.1) 1951 0 R (paragraph.10.33.2.10) 1988 0 R (paragraph.10.33.2.11) 1989 0 R (paragraph.10.33.2.12) 1990 0 R]
-/Limits [(paragraph.10.3.2.1) (paragraph.10.33.2.12)]
->> endobj
-2629 0 obj <<
-/Names [(paragraph.10.33.2.13) 1991 0 R (paragraph.10.33.2.14) 1992 0 R (paragraph.10.33.2.15) 1993 0 R (paragraph.10.33.2.16) 2004 0 R (paragraph.10.33.2.17) 2005 0 R (paragraph.10.33.2.18) 2006 0 R]
-/Limits [(paragraph.10.33.2.13) (paragraph.10.33.2.18)]
->> endobj
-2630 0 obj <<
-/Names [(paragraph.10.33.2.19) 2007 0 R (paragraph.10.33.2.2) 1952 0 R (paragraph.10.33.2.20) 2017 0 R (paragraph.10.33.2.21) 2018 0 R (paragraph.10.33.2.22) 2019 0 R (paragraph.10.33.2.23) 2020 0 R]
-/Limits [(paragraph.10.33.2.19) (paragraph.10.33.2.23)]
->> endobj
-2631 0 obj <<
-/Names [(paragraph.10.33.2.24) 2021 0 R (paragraph.10.33.2.25) 2033 0 R (paragraph.10.33.2.26) 2034 0 R (paragraph.10.33.2.27) 2035 0 R (paragraph.10.33.2.28) 2036 0 R (paragraph.10.33.2.29) 2037 0 R]
-/Limits [(paragraph.10.33.2.24) (paragraph.10.33.2.29)]
->> endobj
-2632 0 obj <<
-/Names [(paragraph.10.33.2.3) 1953 0 R (paragraph.10.33.2.30) 2046 0 R (paragraph.10.33.2.31) 2047 0 R (paragraph.10.33.2.32) 2048 0 R (paragraph.10.33.2.33) 2058 0 R (paragraph.10.33.2.34) 2060 0 R]
-/Limits [(paragraph.10.33.2.3) (paragraph.10.33.2.34)]
->> endobj
-2633 0 obj <<
-/Names [(paragraph.10.33.2.35) 2074 0 R (paragraph.10.33.2.36) 2075 0 R (paragraph.10.33.2.37) 2076 0 R (paragraph.10.33.2.38) 2077 0 R (paragraph.10.33.2.39) 2087 0 R (paragraph.10.33.2.4) 1965 0 R]
-/Limits [(paragraph.10.33.2.35) (paragraph.10.33.2.4)]
->> endobj
-2634 0 obj <<
-/Names [(paragraph.10.33.2.40) 2088 0 R (paragraph.10.33.2.41) 2089 0 R (paragraph.10.33.2.42) 2090 0 R (paragraph.10.33.2.43) 2103 0 R (paragraph.10.33.2.44) 2104 0 R (paragraph.10.33.2.45) 2105 0 R]
-/Limits [(paragraph.10.33.2.40) (paragraph.10.33.2.45)]
->> endobj
-2635 0 obj <<
-/Names [(paragraph.10.33.2.46) 2106 0 R (paragraph.10.33.2.47) 2119 0 R (paragraph.10.33.2.48) 2120 0 R (paragraph.10.33.2.49) 2121 0 R (paragraph.10.33.2.5) 1966 0 R (paragraph.10.33.2.50) 2122 0 R]
-/Limits [(paragraph.10.33.2.46) (paragraph.10.33.2.50)]
->> endobj
-2636 0 obj <<
-/Names [(paragraph.10.33.2.51) 2131 0 R (paragraph.10.33.2.52) 2132 0 R (paragraph.10.33.2.53) 2133 0 R (paragraph.10.33.2.54) 2142 0 R (paragraph.10.33.2.55) 2143 0 R (paragraph.10.33.2.56) 2145 0 R]
-/Limits [(paragraph.10.33.2.51) (paragraph.10.33.2.56)]
->> endobj
-2637 0 obj <<
-/Names [(paragraph.10.33.2.6) 1967 0 R (paragraph.10.33.2.7) 1976 0 R (paragraph.10.33.2.8) 1977 0 R (paragraph.10.33.2.9) 1978 0 R (paragraph.10.34.2.1) 2163 0 R (paragraph.10.9.2.1) 1049 0 R]
-/Limits [(paragraph.10.33.2.6) (paragraph.10.9.2.1)]
->> endobj
-2638 0 obj <<
-/Names [(paragraph.10.9.2.2) 1062 0 R (paragraph.10.9.2.3) 1063 0 R (paragraph.10.9.2.4) 1064 0 R (paragraph.10.9.2.5) 1065 0 R (paragraph.8.1.2.1) 702 0 R (paragraph.8.1.2.2) 704 0 R]
-/Limits [(paragraph.10.9.2.2) (paragraph.8.1.2.2)]
->> endobj
-2639 0 obj <<
-/Names [(paragraph.8.1.2.3) 705 0 R (paragraph.8.1.2.4) 721 0 R (paragraph.8.1.2.5) 722 0 R (paragraph.8.1.2.6) 723 0 R (paragraph.8.1.2.7) 724 0 R (paragraph.8.1.2.8) 725 0 R]
-/Limits [(paragraph.8.1.2.3) (paragraph.8.1.2.8)]
->> endobj
-2640 0 obj <<
-/Names [(paragraph.8.1.2.9) 744 0 R (section*.1) 250 0 R (section*.10) 331 0 R (section*.11) 332 0 R (section*.12) 338 0 R (section*.13) 344 0 R]
-/Limits [(paragraph.8.1.2.9) (section*.13)]
->> endobj
-2641 0 obj <<
-/Names [(section*.14) 350 0 R (section*.15) 351 0 R (section*.16) 352 0 R (section*.17) 358 0 R (section*.18) 359 0 R (section*.19) 360 0 R]
-/Limits [(section*.14) (section*.19)]
->> endobj
-2642 0 obj <<
-/Names [(section*.2) 299 0 R (section*.20) 366 0 R (section*.21) 367 0 R (section*.22) 368 0 R (section*.23) 369 0 R (section*.24) 408 0 R]
-/Limits [(section*.2) (section*.24)]
->> endobj
-2643 0 obj <<
-/Names [(section*.25) 590 0 R (section*.26) 652 0 R (section*.27) 653 0 R (section*.28) 745 0 R (section*.29) 806 0 R (section*.3) 308 0 R]
-/Limits [(section*.25) (section*.3)]
->> endobj
-2644 0 obj <<
-/Names [(section*.30) 829 0 R (section*.31) 833 0 R (section*.32) 862 0 R (section*.33) 882 0 R (section*.34) 884 0 R (section*.35) 908 0 R]
-/Limits [(section*.30) (section*.35)]
->> endobj
-2645 0 obj <<
-/Names [(section*.36) 936 0 R (section*.37) 957 0 R (section*.38) 959 0 R (section*.39) 967 0 R (section*.4) 314 0 R (section*.40) 990 0 R]
-/Limits [(section*.36) (section*.40)]
->> endobj
-2646 0 obj <<
-/Names [(section*.41) 1012 0 R (section*.42) 1017 0 R (section*.43) 1042 0 R (section*.44) 1045 0 R (section*.45) 1066 0 R (section*.46) 1092 0 R]
-/Limits [(section*.41) (section*.46)]
->> endobj
-2647 0 obj <<
-/Names [(section*.47) 1095 0 R (section*.48) 1111 0 R (section*.49) 1126 0 R (section*.5) 315 0 R (section*.50) 1129 0 R (section*.51) 1150 0 R]
-/Limits [(section*.47) (section*.51)]
->> endobj
-2648 0 obj <<
-/Names [(section*.52) 1188 0 R (section*.53) 1199 0 R (section*.54) 1222 0 R (section*.55) 1225 0 R (section*.56) 1230 0 R (section*.57) 1261 0 R]
-/Limits [(section*.52) (section*.57)]
->> endobj
-2649 0 obj <<
-/Names [(section*.58) 1266 0 R (section*.59) 1270 0 R (section*.6) 316 0 R (section*.60) 1295 0 R (section*.61) 1299 0 R (section*.62) 1303 0 R]
-/Limits [(section*.58) (section*.62)]
->> endobj
-2650 0 obj <<
-/Names [(section*.63) 1319 0 R (section*.64) 1324 0 R (section*.65) 1355 0 R (section*.66) 1359 0 R (section*.67) 1472 0 R (section*.68) 1488 0 R]
-/Limits [(section*.63) (section*.68)]
->> endobj
-2651 0 obj <<
-/Names [(section*.69) 1492 0 R (section*.7) 322 0 R (section*.70) 1526 0 R (section*.71) 1528 0 R (section*.72) 1559 0 R (section*.73) 1591 0 R]
-/Limits [(section*.69) (section*.73)]
->> endobj
-2652 0 obj <<
-/Names [(section*.74) 1597 0 R (section*.75) 1622 0 R (section*.76) 1625 0 R (section*.77) 1647 0 R (section*.78) 1650 0 R (section*.79) 1688 0 R]
-/Limits [(section*.74) (section*.79)]
->> endobj
-2653 0 obj <<
-/Names [(section*.8) 323 0 R (section*.80) 2157 0 R (section*.81) 2169 0 R (section*.82) 2227 0 R (section*.9) 324 0 R (section.1) 6 0 R]
-/Limits [(section*.8) (section.1)]
->> endobj
-2654 0 obj <<
-/Names [(section.10) 66 0 R (section.2) 10 0 R (section.3) 14 0 R (section.4) 18 0 R (section.5) 26 0 R (section.6) 34 0 R]
-/Limits [(section.10) (section.6)]
->> endobj
-2655 0 obj <<
-/Names [(section.7) 42 0 R (section.8) 50 0 R (section.9) 58 0 R (subsection.10.1) 70 0 R (subsection.10.10) 106 0 R (subsection.10.11) 110 0 R]
-/Limits [(section.7) (subsection.10.11)]
->> endobj
-2656 0 obj <<
-/Names [(subsection.10.12) 114 0 R (subsection.10.13) 118 0 R (subsection.10.14) 122 0 R (subsection.10.15) 126 0 R (subsection.10.16) 130 0 R (subsection.10.17) 134 0 R]
-/Limits [(subsection.10.12) (subsection.10.17)]
->> endobj
-2657 0 obj <<
-/Names [(subsection.10.18) 138 0 R (subsection.10.19) 142 0 R (subsection.10.2) 74 0 R (subsection.10.20) 146 0 R (subsection.10.21) 150 0 R (subsection.10.22) 154 0 R]
-/Limits [(subsection.10.18) (subsection.10.22)]
->> endobj
-2658 0 obj <<
-/Names [(subsection.10.23) 158 0 R (subsection.10.24) 162 0 R (subsection.10.25) 166 0 R (subsection.10.26) 170 0 R (subsection.10.27) 174 0 R (subsection.10.28) 178 0 R]
-/Limits [(subsection.10.23) (subsection.10.28)]
->> endobj
-2659 0 obj <<
-/Names [(subsection.10.29) 182 0 R (subsection.10.3) 78 0 R (subsection.10.30) 186 0 R (subsection.10.31) 190 0 R (subsection.10.32) 194 0 R (subsection.10.33) 198 0 R]
-/Limits [(subsection.10.29) (subsection.10.33)]
->> endobj
-2660 0 obj <<
-/Names [(subsection.10.34) 202 0 R (subsection.10.35) 206 0 R (subsection.10.4) 82 0 R (subsection.10.5) 86 0 R (subsection.10.6) 90 0 R (subsection.10.7) 94 0 R]
-/Limits [(subsection.10.34) (subsection.10.7)]
->> endobj
-2661 0 obj <<
-/Names [(subsection.10.8) 98 0 R (subsection.10.9) 102 0 R (subsection.4.1) 22 0 R (subsection.5.1) 30 0 R (subsection.6.1) 38 0 R (subsection.7.1) 46 0 R]
-/Limits [(subsection.10.8) (subsection.7.1)]
->> endobj
-2662 0 obj <<
-/Names [(subsection.8.1) 54 0 R (subsection.9.1) 62 0 R (subsubsection.10.1.1) 861 0 R (subsubsection.10.10.1) 1091 0 R (subsubsection.10.11.1) 1096 0 R (subsubsection.10.11.2) 1107 0 R]
-/Limits [(subsection.8.1) (subsubsection.10.11.2)]
->> endobj
-2663 0 obj <<
-/Names [(subsubsection.10.12.1) 1125 0 R (subsubsection.10.13.1) 1128 0 R (subsubsection.10.14.1) 1147 0 R (subsubsection.10.14.2) 1148 0 R (subsubsection.10.15.1) 1152 0 R (subsubsection.10.16.1) 1196 0 R]
-/Limits [(subsubsection.10.12.1) (subsubsection.10.16.1)]
->> endobj
-2664 0 obj <<
-/Names [(subsubsection.10.17.1) 1224 0 R (subsubsection.10.18.1) 1233 0 R (subsubsection.10.19.1) 1269 0 R (subsubsection.10.2.1) 886 0 R (subsubsection.10.2.2) 887 0 R (subsubsection.10.2.3) 905 0 R]
-/Limits [(subsubsection.10.17.1) (subsubsection.10.2.3)]
->> endobj
-2665 0 obj <<
-/Names [(subsubsection.10.20.1) 1298 0 R (subsubsection.10.21.1) 1318 0 R (subsubsection.10.22.1) 1323 0 R (subsubsection.10.23.1) 1326 0 R (subsubsection.10.24.1) 1436 0 R (subsubsection.10.24.2) 1437 0 R]
-/Limits [(subsubsection.10.20.1) (subsubsection.10.24.2)]
->> endobj
-2666 0 obj <<
-/Names [(subsubsection.10.24.3) 1448 0 R (subsubsection.10.25.1) 1487 0 R (subsubsection.10.26.1) 1491 0 R (subsubsection.10.27.1) 1508 0 R (subsubsection.10.27.2) 1509 0 R (subsubsection.10.28.1) 1529 0 R]
-/Limits [(subsubsection.10.24.3) (subsubsection.10.28.1)]
->> endobj
-2667 0 obj <<
-/Names [(subsubsection.10.28.2) 1530 0 R (subsubsection.10.29.1) 1570 0 R (subsubsection.10.29.2) 1589 0 R (subsubsection.10.3.1) 932 0 R (subsubsection.10.3.2) 933 0 R (subsubsection.10.30.1) 1619 0 R]
-/Limits [(subsubsection.10.28.2) (subsubsection.10.30.1)]
->> endobj
-2668 0 obj <<
-/Names [(subsubsection.10.30.2) 1620 0 R (subsubsection.10.31.1) 1646 0 R (subsubsection.10.32.1) 1653 0 R (subsubsection.10.33.1) 1949 0 R (subsubsection.10.33.2) 1950 0 R (subsubsection.10.34.1) 2160 0 R]
-/Limits [(subsubsection.10.30.2) (subsubsection.10.34.1)]
->> endobj
-2669 0 obj <<
-/Names [(subsubsection.10.34.2) 2161 0 R (subsubsection.10.35.1) 2171 0 R (subsubsection.10.4.1) 962 0 R (subsubsection.10.5.1) 989 0 R (subsubsection.10.6.1) 997 0 R (subsubsection.10.7.1) 1016 0 R]
-/Limits [(subsubsection.10.34.2) (subsubsection.10.7.1)]
->> endobj
-2670 0 obj <<
-/Names [(subsubsection.10.8.1) 1019 0 R (subsubsection.10.9.1) 1046 0 R (subsubsection.10.9.2) 1047 0 R (subsubsection.8.1.1) 700 0 R (subsubsection.8.1.2) 701 0 R (subsubsection.9.1.1) 827 0 R]
-/Limits [(subsubsection.10.8.1) (subsubsection.9.1.1)]
->> endobj
-2671 0 obj <<
-/Kids [2553 0 R 2554 0 R 2555 0 R 2556 0 R 2557 0 R 2558 0 R]
-/Limits [(Doc-Start) (classparma__polyhedra__library_1_1Congruence_71cf9ab9ae4f184bf520137a8209ff3e)]
->> endobj
-2672 0 obj <<
-/Kids [2559 0 R 2560 0 R 2561 0 R 2562 0 R 2563 0 R 2564 0 R]
-/Limits [(classparma__polyhedra__library_1_1Congruence_7622929270f419e884d16cec2fc172b5) (classparma__polyhedra__library_1_1Grid__Generator__System_183f982bd3198d2c455e51e7cedd4e33)]
->> endobj
-2673 0 obj <<
-/Kids [2565 0 R 2566 0 R 2567 0 R 2568 0 R 2569 0 R 2570 0 R]
-/Limits [(classparma__polyhedra__library_1_1Grid__Generator__System_4f9d506f39d5a65a2c2cec090a1578f0) (classparma__polyhedra__library_1_1Linear__Expression__Times_015f6e2febd260a93299564dfde659e5)]
->> endobj
-2674 0 obj <<
-/Kids [2571 0 R 2572 0 R 2573 0 R 2574 0 R 2575 0 R 2576 0 R]
-/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Times_121be923ed152a60238e69a8296bf966) (classparma__polyhedra__library_1_1MIP__Problem_7c8c10d940074e8ec96a4d319b88e490)]
->> endobj
-2675 0 obj <<
-/Kids [2577 0 R 2578 0 R 2579 0 R 2580 0 R 2581 0 R 2582 0 R]
-/Limits [(classparma__polyhedra__library_1_1MIP__Problem_7fa63d4674ffff39446dd46ed0c26e6f) (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_91754711e181bd642b50021a3750ba1b)]
->> endobj
-2676 0 obj <<
-/Kids [2583 0 R 2584 0 R 2585 0 R 2586 0 R 2587 0 R 2588 0 R]
-/Limits [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) (classparma__polyhedra__library_1_1Polyhedron_25143e2f87da1099e3cb5c065a2e0890)]
->> endobj
-2677 0 obj <<
-/Kids [2589 0 R 2590 0 R 2591 0 R 2592 0 R 2593 0 R 2594 0 R]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_269b05089d9f1a4c329d5f5f1fe87dec) (classparma__polyhedra__library_1_1Polyhedron_9a21e654ffec08b0a79e6aa5ec29d72d)]
->> endobj
-2678 0 obj <<
-/Kids [2595 0 R 2596 0 R 2597 0 R 2598 0 R 2599 0 R 2600 0 R]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_9f7d55f53c6ca0b56163de733c0bca5d) (classparma__polyhedra__library_1_1Variable_df4acacc53bd647f2c4ccaac0aa7643a)]
->> endobj
-2679 0 obj <<
-/Kids [2601 0 R 2602 0 R 2603 0 R 2604 0 R 2605 0 R 2606 0 R]
-/Limits [(classparma__polyhedra__library_1_1Variables__Set) (group__PPL__Java__interface_gge574051d412d3ee587c872f48de81663829fa1b449ab43dfd7a5fbd21bfbbd21)]
->> endobj
-2680 0 obj <<
-/Kids [2607 0 R 2608 0 R 2609 0 R 2610 0 R 2611 0 R 2612 0 R]
-/Limits [(index) (page.36)]
->> endobj
-2681 0 obj <<
-/Kids [2613 0 R 2614 0 R 2615 0 R 2616 0 R 2617 0 R 2618 0 R]
-/Limits [(page.37) (page.69)]
->> endobj
-2682 0 obj <<
-/Kids [2619 0 R 2620 0 R 2621 0 R 2622 0 R 2623 0 R 2624 0 R]
-/Limits [(page.7) (paragraph.10.24.2.2)]
->> endobj
-2683 0 obj <<
-/Kids [2625 0 R 2626 0 R 2627 0 R 2628 0 R 2629 0 R 2630 0 R]
-/Limits [(paragraph.10.24.3.1) (paragraph.10.33.2.23)]
->> endobj
-2684 0 obj <<
-/Kids [2631 0 R 2632 0 R 2633 0 R 2634 0 R 2635 0 R 2636 0 R]
-/Limits [(paragraph.10.33.2.24) (paragraph.10.33.2.56)]
->> endobj
-2685 0 obj <<
-/Kids [2637 0 R 2638 0 R 2639 0 R 2640 0 R 2641 0 R 2642 0 R]
-/Limits [(paragraph.10.33.2.6) (section*.24)]
->> endobj
-2686 0 obj <<
-/Kids [2643 0 R 2644 0 R 2645 0 R 2646 0 R 2647 0 R 2648 0 R]
-/Limits [(section*.25) (section*.57)]
->> endobj
-2687 0 obj <<
-/Kids [2649 0 R 2650 0 R 2651 0 R 2652 0 R 2653 0 R 2654 0 R]
-/Limits [(section*.58) (section.6)]
->> endobj
-2688 0 obj <<
-/Kids [2655 0 R 2656 0 R 2657 0 R 2658 0 R 2659 0 R 2660 0 R]
-/Limits [(section.7) (subsection.10.7)]
->> endobj
-2689 0 obj <<
-/Kids [2661 0 R 2662 0 R 2663 0 R 2664 0 R 2665 0 R 2666 0 R]
-/Limits [(subsection.10.8) (subsubsection.10.28.1)]
->> endobj
-2690 0 obj <<
-/Kids [2667 0 R 2668 0 R 2669 0 R 2670 0 R]
-/Limits [(subsubsection.10.28.2) (subsubsection.9.1.1)]
->> endobj
-2691 0 obj <<
-/Kids [2671 0 R 2672 0 R 2673 0 R 2674 0 R 2675 0 R 2676 0 R]
-/Limits [(Doc-Start) (classparma__polyhedra__library_1_1Polyhedron_25143e2f87da1099e3cb5c065a2e0890)]
->> endobj
-2692 0 obj <<
-/Kids [2677 0 R 2678 0 R 2679 0 R 2680 0 R 2681 0 R 2682 0 R]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_269b05089d9f1a4c329d5f5f1fe87dec) (paragraph.10.24.2.2)]
->> endobj
-2693 0 obj <<
-/Kids [2683 0 R 2684 0 R 2685 0 R 2686 0 R 2687 0 R 2688 0 R]
-/Limits [(paragraph.10.24.3.1) (subsection.10.7)]
->> endobj
-2694 0 obj <<
-/Kids [2689 0 R 2690 0 R]
-/Limits [(subsection.10.8) (subsubsection.9.1.1)]
->> endobj
-2695 0 obj <<
-/Kids [2691 0 R 2692 0 R 2693 0 R 2694 0 R]
-/Limits [(Doc-Start) (subsubsection.9.1.1)]
->> endobj
-2696 0 obj <<
-/Dests 2695 0 R
->> endobj
-2697 0 obj <<
-/Type /Catalog
-/Pages 2551 0 R
-/Outlines 2552 0 R
-/Names 2696 0 R
-/PageMode/UseOutlines/PageLabels << /Nums [0 << /S /D >> 1 << /S /r >> 2 << /S /D >> ] >>
-/OpenAction 209 0 R
->> endobj
-2698 0 obj <<
-/Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.3)/Keywords()
-/CreationDate (D:20090418071529+02'00')
-/ModDate (D:20090418071529+02'00')
-/Trapped /False
-/PTEX.Fullbanner (This is pdfTeX using libpoppler, Version 3.141592-1.40.3-2.2 (Web2C 7.5.6) kpathsea version 3.5.6)
->> endobj
-xref
-0 2699
-0000000001 65535 f 
-0000000002 00000 f 
-0000000003 00000 f 
-0000000004 00000 f 
-0000000000 00000 f 
-0000000015 00000 n 
-0000035191 00000 n 
-0000670845 00000 n 
-0000000060 00000 n 
-0000000134 00000 n 
-0000039308 00000 n 
-0000670758 00000 n 
-0000000179 00000 n 
-0000000345 00000 n 
-0000073632 00000 n 
-0000670669 00000 n 
-0000000391 00000 n 
-0000000577 00000 n 
-0000092970 00000 n 
-0000670543 00000 n 
-0000000623 00000 n 
-0000000713 00000 n 
-0000093026 00000 n 
-0000670482 00000 n 
-0000000764 00000 n 
-0000000826 00000 n 
-0000098529 00000 n 
-0000670356 00000 n 
-0000000872 00000 n 
-0000000977 00000 n 
-0000098585 00000 n 
-0000670295 00000 n 
-0000001028 00000 n 
-0000001128 00000 n 
-0000098641 00000 n 
-0000670169 00000 n 
-0000001174 00000 n 
-0000001259 00000 n 
-0000098697 00000 n 
-0000670108 00000 n 
-0000001310 00000 n 
-0000001415 00000 n 
-0000106969 00000 n 
-0000669982 00000 n 
-0000001461 00000 n 
-0000001546 00000 n 
-0000107024 00000 n 
-0000669921 00000 n 
-0000001597 00000 n 
-0000001677 00000 n 
-0000123436 00000 n 
-0000669795 00000 n 
-0000001723 00000 n 
-0000001853 00000 n 
-0000123549 00000 n 
-0000669734 00000 n 
-0000001904 00000 n 
-0000002052 00000 n 
-0000152644 00000 n 
-0000669608 00000 n 
-0000002098 00000 n 
-0000002243 00000 n 
-0000152755 00000 n 
-0000669547 00000 n 
-0000002294 00000 n 
-0000002548 00000 n 
-0000173500 00000 n 
-0000669432 00000 n 
-0000002595 00000 n 
-0000002720 00000 n 
-0000173613 00000 n 
-0000669358 00000 n 
-0000002772 00000 n 
-0000003110 00000 n 
-0000180443 00000 n 
-0000669271 00000 n 
-0000003162 00000 n 
-0000003469 00000 n 
-0000189277 00000 n 
-0000669184 00000 n 
-0000003521 00000 n 
-0000003820 00000 n 
-0000194618 00000 n 
-0000669097 00000 n 
-0000003872 00000 n 
-0000004166 00000 n 
-0000199719 00000 n 
-0000669010 00000 n 
-0000004218 00000 n 
-0000004550 00000 n 
-0000205171 00000 n 
-0000668923 00000 n 
-0000004602 00000 n 
-0000004896 00000 n 
-0000208730 00000 n 
-0000668836 00000 n 
-0000004948 00000 n 
-0000005280 00000 n 
-0000209140 00000 n 
-0000668747 00000 n 
-0000005332 00000 n 
-0000005693 00000 n 
-0000209432 00000 n 
-0000668656 00000 n 
-0000005746 00000 n 
-0000006036 00000 n 
-0000218527 00000 n 
-0000668564 00000 n 
-0000006090 00000 n 
-0000006418 00000 n 
-0000224591 00000 n 
-0000668472 00000 n 
-0000006472 00000 n 
-0000006790 00000 n 
-0000227632 00000 n 
-0000668380 00000 n 
-0000006844 00000 n 
-0000007200 00000 n 
-0000231171 00000 n 
-0000668288 00000 n 
-0000007254 00000 n 
-0000007635 00000 n 
-0000231464 00000 n 
-0000668196 00000 n 
-0000007689 00000 n 
-0000007944 00000 n 
-0000235988 00000 n 
-0000668104 00000 n 
-0000007998 00000 n 
-0000008359 00000 n 
-0000236281 00000 n 
-0000668012 00000 n 
-0000008413 00000 n 
-0000008746 00000 n 
-0000245406 00000 n 
-0000667920 00000 n 
-0000008800 00000 n 
-0000009196 00000 n 
-0000251207 00000 n 
-0000667828 00000 n 
-0000009250 00000 n 
-0000009641 00000 n 
-0000257936 00000 n 
-0000667736 00000 n 
-0000009695 00000 n 
-0000010051 00000 n 
-0000258581 00000 n 
-0000667644 00000 n 
-0000010105 00000 n 
-0000010471 00000 n 
-0000264805 00000 n 
-0000667552 00000 n 
-0000010525 00000 n 
-0000010924 00000 n 
-0000268841 00000 n 
-0000667460 00000 n 
-0000010978 00000 n 
-0000011359 00000 n 
-0000269252 00000 n 
-0000667368 00000 n 
-0000011413 00000 n 
-0000011769 00000 n 
-0000276180 00000 n 
-0000667276 00000 n 
-0000011823 00000 n 
-0000012126 00000 n 
-0000300711 00000 n 
-0000667184 00000 n 
-0000012180 00000 n 
-0000012551 00000 n 
-0000304278 00000 n 
-0000667092 00000 n 
-0000012605 00000 n 
-0000012919 00000 n 
-0000304630 00000 n 
-0000667000 00000 n 
-0000012973 00000 n 
-0000013339 00000 n 
-0000312462 00000 n 
-0000666908 00000 n 
-0000013393 00000 n 
-0000013741 00000 n 
-0000320589 00000 n 
-0000666816 00000 n 
-0000013795 00000 n 
-0000014199 00000 n 
-0000326329 00000 n 
-0000666724 00000 n 
-0000014253 00000 n 
-0000014705 00000 n 
-0000332672 00000 n 
-0000666632 00000 n 
-0000014759 00000 n 
-0000015095 00000 n 
-0000336836 00000 n 
-0000666540 00000 n 
-0000015149 00000 n 
-0000015485 00000 n 
-0000337365 00000 n 
-0000666448 00000 n 
-0000015539 00000 n 
-0000015834 00000 n 
-0000450131 00000 n 
-0000666356 00000 n 
-0000015888 00000 n 
-0000016173 00000 n 
-0000450660 00000 n 
-0000666278 00000 n 
-0000016227 00000 n 
-0000016540 00000 n 
-0000017825 00000 n 
-0000018058 00000 n 
-0000016592 00000 n 
-0000017944 00000 n 
-0000018001 00000 n 
-0000663598 00000 n 
-0000661732 00000 n 
-0000662163 00000 n 
-0000661876 00000 n 
-0000663954 00000 n 
-0000020290 00000 n 
-0000020456 00000 n 
-0000020608 00000 n 
-0000020774 00000 n 
-0000021072 00000 n 
-0000021247 00000 n 
-0000021397 00000 n 
-0000021548 00000 n 
-0000021699 00000 n 
-0000021850 00000 n 
-0000022007 00000 n 
-0000022158 00000 n 
-0000022315 00000 n 
-0000022466 00000 n 
-0000022623 00000 n 
-0000022774 00000 n 
-0000022930 00000 n 
-0000023081 00000 n 
-0000023237 00000 n 
-0000023388 00000 n 
-0000023544 00000 n 
-0000025820 00000 n 
-0000023693 00000 n 
-0000023979 00000 n 
-0000019975 00000 n 
-0000018169 00000 n 
-0000023865 00000 n 
-0000663242 00000 n 
-0000020924 00000 n 
-0000662890 00000 n 
-0000023922 00000 n 
-0000073745 00000 n 
-0000039421 00000 n 
-0000025978 00000 n 
-0000026136 00000 n 
-0000026294 00000 n 
-0000026451 00000 n 
-0000026609 00000 n 
-0000026766 00000 n 
-0000026923 00000 n 
-0000027081 00000 n 
-0000027239 00000 n 
-0000027398 00000 n 
-0000027557 00000 n 
-0000027716 00000 n 
-0000027874 00000 n 
-0000028033 00000 n 
-0000028192 00000 n 
-0000028351 00000 n 
-0000028510 00000 n 
-0000028668 00000 n 
-0000028826 00000 n 
-0000028985 00000 n 
-0000029144 00000 n 
-0000029303 00000 n 
-0000029461 00000 n 
-0000029620 00000 n 
-0000029779 00000 n 
-0000029938 00000 n 
-0000030097 00000 n 
-0000030255 00000 n 
-0000030412 00000 n 
-0000030570 00000 n 
-0000030729 00000 n 
-0000030888 00000 n 
-0000031047 00000 n 
-0000031206 00000 n 
-0000031365 00000 n 
-0000031537 00000 n 
-0000025401 00000 n 
-0000024077 00000 n 
-0000660424 00000 n 
-0000034962 00000 n 
-0000035360 00000 n 
-0000034823 00000 n 
-0000031648 00000 n 
-0000035134 00000 n 
-0000035246 00000 n 
-0000663774 00000 n 
-0000035303 00000 n 
-0000661154 00000 n 
-0000038916 00000 n 
-0000039079 00000 n 
-0000039535 00000 n 
-0000038769 00000 n 
-0000035509 00000 n 
-0000039251 00000 n 
-0000039364 00000 n 
-0000039478 00000 n 
-0000042969 00000 n 
-0000043368 00000 n 
-0000042830 00000 n 
-0000039633 00000 n 
-0000043141 00000 n 
-0000043198 00000 n 
-0000043255 00000 n 
-0000043311 00000 n 
-0000046589 00000 n 
-0000046985 00000 n 
-0000046450 00000 n 
-0000043466 00000 n 
-0000046761 00000 n 
-0000046818 00000 n 
-0000046875 00000 n 
-0000046930 00000 n 
-0000664072 00000 n 
-0000050368 00000 n 
-0000050711 00000 n 
-0000050229 00000 n 
-0000047083 00000 n 
-0000050540 00000 n 
-0000050597 00000 n 
-0000050654 00000 n 
-0000054465 00000 n 
-0000054751 00000 n 
-0000054326 00000 n 
-0000050809 00000 n 
-0000054637 00000 n 
-0000054694 00000 n 
-0000058097 00000 n 
-0000058382 00000 n 
-0000057958 00000 n 
-0000054849 00000 n 
-0000058269 00000 n 
-0000058326 00000 n 
-0000061979 00000 n 
-0000062379 00000 n 
-0000061840 00000 n 
-0000058480 00000 n 
-0000062151 00000 n 
-0000062208 00000 n 
-0000062265 00000 n 
-0000062322 00000 n 
-0000065934 00000 n 
-0000066334 00000 n 
-0000065795 00000 n 
-0000062477 00000 n 
-0000066106 00000 n 
-0000066163 00000 n 
-0000066220 00000 n 
-0000066277 00000 n 
-0000069432 00000 n 
-0000069889 00000 n 
-0000069293 00000 n 
-0000066432 00000 n 
-0000069604 00000 n 
-0000069661 00000 n 
-0000069718 00000 n 
-0000069775 00000 n 
-0000069832 00000 n 
-0000663064 00000 n 
-0000664190 00000 n 
-0000072858 00000 n 
-0000073033 00000 n 
-0000073209 00000 n 
-0000073403 00000 n 
-0000073802 00000 n 
-0000072695 00000 n 
-0000070000 00000 n 
-0000073575 00000 n 
-0000073688 00000 n 
-0000077845 00000 n 
-0000078074 00000 n 
-0000077706 00000 n 
-0000073913 00000 n 
-0000078017 00000 n 
-0000082023 00000 n 
-0000082252 00000 n 
-0000081884 00000 n 
-0000078172 00000 n 
-0000082195 00000 n 
-0000085670 00000 n 
-0000085899 00000 n 
-0000085531 00000 n 
-0000082350 00000 n 
-0000085842 00000 n 
-0000089357 00000 n 
-0000089586 00000 n 
-0000089218 00000 n 
-0000085997 00000 n 
-0000089529 00000 n 
-0000092352 00000 n 
-0000092528 00000 n 
-0000092684 00000 n 
-0000093082 00000 n 
-0000092197 00000 n 
-0000089684 00000 n 
-0000092856 00000 n 
-0000092913 00000 n 
-0000664308 00000 n 
-0000094641 00000 n 
-0000094818 00000 n 
-0000094975 00000 n 
-0000095133 00000 n 
-0000095291 00000 n 
-0000095449 00000 n 
-0000095607 00000 n 
-0000095765 00000 n 
-0000095923 00000 n 
-0000096081 00000 n 
-0000096239 00000 n 
-0000096396 00000 n 
-0000096555 00000 n 
-0000096714 00000 n 
-0000096872 00000 n 
-0000097031 00000 n 
-0000097190 00000 n 
-0000097349 00000 n 
-0000097508 00000 n 
-0000097667 00000 n 
-0000097825 00000 n 
-0000097984 00000 n 
-0000098143 00000 n 
-0000100672 00000 n 
-0000098300 00000 n 
-0000098753 00000 n 
-0000094318 00000 n 
-0000093180 00000 n 
-0000098472 00000 n 
-0000152699 00000 n 
-0000100830 00000 n 
-0000100989 00000 n 
-0000101147 00000 n 
-0000101306 00000 n 
-0000101465 00000 n 
-0000101624 00000 n 
-0000101783 00000 n 
-0000101942 00000 n 
-0000102101 00000 n 
-0000102260 00000 n 
-0000102419 00000 n 
-0000102576 00000 n 
-0000102735 00000 n 
-0000102894 00000 n 
-0000103095 00000 n 
-0000103253 00000 n 
-0000103443 00000 n 
-0000103601 00000 n 
-0000103789 00000 n 
-0000103947 00000 n 
-0000104134 00000 n 
-0000104292 00000 n 
-0000104485 00000 n 
-0000104642 00000 n 
-0000104829 00000 n 
-0000104987 00000 n 
-0000105181 00000 n 
-0000105339 00000 n 
-0000105540 00000 n 
-0000105697 00000 n 
-0000105882 00000 n 
-0000106040 00000 n 
-0000106234 00000 n 
-0000106393 00000 n 
-0000106583 00000 n 
-0000109403 00000 n 
-0000109603 00000 n 
-0000106740 00000 n 
-0000107080 00000 n 
-0000100245 00000 n 
-0000098864 00000 n 
-0000106912 00000 n 
-0000173556 00000 n 
-0000180386 00000 n 
-0000189221 00000 n 
-0000194561 00000 n 
-0000199662 00000 n 
-0000205114 00000 n 
-0000205683 00000 n 
-0000209082 00000 n 
-0000209374 00000 n 
-0000218469 00000 n 
-0000224533 00000 n 
-0000109761 00000 n 
-0000109966 00000 n 
-0000110125 00000 n 
-0000110304 00000 n 
-0000110463 00000 n 
-0000110664 00000 n 
-0000110823 00000 n 
-0000111018 00000 n 
-0000111177 00000 n 
-0000111385 00000 n 
-0000111544 00000 n 
-0000111751 00000 n 
-0000111910 00000 n 
-0000112110 00000 n 
-0000112269 00000 n 
-0000112471 00000 n 
-0000112630 00000 n 
-0000112838 00000 n 
-0000112997 00000 n 
-0000113202 00000 n 
-0000113361 00000 n 
-0000113561 00000 n 
-0000113720 00000 n 
-0000113909 00000 n 
-0000114068 00000 n 
-0000114271 00000 n 
-0000114430 00000 n 
-0000114629 00000 n 
-0000114788 00000 n 
-0000114990 00000 n 
-0000115149 00000 n 
-0000115347 00000 n 
-0000115506 00000 n 
-0000115716 00000 n 
-0000115906 00000 n 
-0000116065 00000 n 
-0000116285 00000 n 
-0000116494 00000 n 
-0000116653 00000 n 
-0000116849 00000 n 
-0000117008 00000 n 
-0000117204 00000 n 
-0000117363 00000 n 
-0000117550 00000 n 
-0000119583 00000 n 
-0000119767 00000 n 
-0000117707 00000 n 
-0000117936 00000 n 
-0000108896 00000 n 
-0000107191 00000 n 
-0000117879 00000 n 
-0000227575 00000 n 
-0000231113 00000 n 
-0000231406 00000 n 
-0000235930 00000 n 
-0000236223 00000 n 
-0000245348 00000 n 
-0000251150 00000 n 
-0000251796 00000 n 
-0000258524 00000 n 
-0000264747 00000 n 
-0000268783 00000 n 
-0000269194 00000 n 
-0000276122 00000 n 
-0000300653 00000 n 
-0000304220 00000 n 
-0000304572 00000 n 
-0000309454 00000 n 
-0000313056 00000 n 
-0000326271 00000 n 
-0000332614 00000 n 
-0000336778 00000 n 
-0000337307 00000 n 
-0000119925 00000 n 
-0000120116 00000 n 
-0000120275 00000 n 
-0000120476 00000 n 
-0000120664 00000 n 
-0000120851 00000 n 
-0000121044 00000 n 
-0000121231 00000 n 
-0000121426 00000 n 
-0000121626 00000 n 
-0000121813 00000 n 
-0000122003 00000 n 
-0000122212 00000 n 
-0000122400 00000 n 
-0000122619 00000 n 
-0000122828 00000 n 
-0000123014 00000 n 
-0000125232 00000 n 
-0000123207 00000 n 
-0000123662 00000 n 
-0000119292 00000 n 
-0000118047 00000 n 
-0000123379 00000 n 
-0000123492 00000 n 
-0000123605 00000 n 
-0000450073 00000 n 
-0000450602 00000 n 
-0000125424 00000 n 
-0000125624 00000 n 
-0000125828 00000 n 
-0000126007 00000 n 
-0000126207 00000 n 
-0000126401 00000 n 
-0000126609 00000 n 
-0000126814 00000 n 
-0000127014 00000 n 
-0000127216 00000 n 
-0000127425 00000 n 
-0000127630 00000 n 
-0000127830 00000 n 
-0000128019 00000 n 
-0000128222 00000 n 
-0000128421 00000 n 
-0000130824 00000 n 
-0000128623 00000 n 
-0000128852 00000 n 
-0000124957 00000 n 
-0000123786 00000 n 
-0000128795 00000 n 
-0000131021 00000 n 
-0000131216 00000 n 
-0000131401 00000 n 
-0000131577 00000 n 
-0000131781 00000 n 
-0000132253 00000 n 
-0000132489 00000 n 
-0000132962 00000 n 
-0000133166 00000 n 
-0000133403 00000 n 
-0000133606 00000 n 
-0000134079 00000 n 
-0000134314 00000 n 
-0000134550 00000 n 
-0000134754 00000 n 
-0000134990 00000 n 
-0000135226 00000 n 
-0000135430 00000 n 
-0000135666 00000 n 
-0000135902 00000 n 
-0000136139 00000 n 
-0000136612 00000 n 
-0000136816 00000 n 
-0000137053 00000 n 
-0000137525 00000 n 
-0000137761 00000 n 
-0000137965 00000 n 
-0000138437 00000 n 
-0000138909 00000 n 
-0000141266 00000 n 
-0000141470 00000 n 
-0000141942 00000 n 
-0000139146 00000 n 
-0000139489 00000 n 
-0000130389 00000 n 
-0000128976 00000 n 
-0000139318 00000 n 
-0000139375 00000 n 
-0000139432 00000 n 
-0000132017 00000 n 
-0000132726 00000 n 
-0000133843 00000 n 
-0000136376 00000 n 
-0000137290 00000 n 
-0000138202 00000 n 
-0000138673 00000 n 
-0000664426 00000 n 
-0000144328 00000 n 
-0000144440 00000 n 
-0000144502 00000 n 
-0000144564 00000 n 
-0000144626 00000 n 
-0000144740 00000 n 
-0000144802 00000 n 
-0000144915 00000 n 
-0000144977 00000 n 
-0000145039 00000 n 
-0000145100 00000 n 
-0000147079 00000 n 
-0000147140 00000 n 
-0000147202 00000 n 
-0000147314 00000 n 
-0000147376 00000 n 
-0000147438 00000 n 
-0000147500 00000 n 
-0000147562 00000 n 
-0000147676 00000 n 
-0000147738 00000 n 
-0000147852 00000 n 
-0000147914 00000 n 
-0000147976 00000 n 
-0000142178 00000 n 
-0000142382 00000 n 
-0000142618 00000 n 
-0000142855 00000 n 
-0000143327 00000 n 
-0000143563 00000 n 
-0000143797 00000 n 
-0000143985 00000 n 
-0000145157 00000 n 
-0000141031 00000 n 
-0000139600 00000 n 
-0000144157 00000 n 
-0000141707 00000 n 
-0000143092 00000 n 
-0000144214 00000 n 
-0000144271 00000 n 
-0000144384 00000 n 
-0000663418 00000 n 
-0000144683 00000 n 
-0000144858 00000 n 
-0000148038 00000 n 
-0000148152 00000 n 
-0000148214 00000 n 
-0000148276 00000 n 
-0000152337 00000 n 
-0000152398 00000 n 
-0000152459 00000 n 
-0000152520 00000 n 
-0000152582 00000 n 
-0000146604 00000 n 
-0000146793 00000 n 
-0000148332 00000 n 
-0000146457 00000 n 
-0000145281 00000 n 
-0000146965 00000 n 
-0000147022 00000 n 
-0000147258 00000 n 
-0000147619 00000 n 
-0000147795 00000 n 
-0000148095 00000 n 
-0000149930 00000 n 
-0000150130 00000 n 
-0000150317 00000 n 
-0000150502 00000 n 
-0000150696 00000 n 
-0000150883 00000 n 
-0000151078 00000 n 
-0000151279 00000 n 
-0000151466 00000 n 
-0000151654 00000 n 
-0000151864 00000 n 
-0000154406 00000 n 
-0000154625 00000 n 
-0000152051 00000 n 
-0000152867 00000 n 
-0000149703 00000 n 
-0000148443 00000 n 
-0000152223 00000 n 
-0000152280 00000 n 
-0000152810 00000 n 
-0000154832 00000 n 
-0000155018 00000 n 
-0000155212 00000 n 
-0000155404 00000 n 
-0000155604 00000 n 
-0000155809 00000 n 
-0000155988 00000 n 
-0000156189 00000 n 
-0000156383 00000 n 
-0000156590 00000 n 
-0000156796 00000 n 
-0000156995 00000 n 
-0000157197 00000 n 
-0000157405 00000 n 
-0000157609 00000 n 
-0000157809 00000 n 
-0000160184 00000 n 
-0000157996 00000 n 
-0000158225 00000 n 
-0000154123 00000 n 
-0000153004 00000 n 
-0000158168 00000 n 
-0000160387 00000 n 
-0000160586 00000 n 
-0000160788 00000 n 
-0000160985 00000 n 
-0000161181 00000 n 
-0000161376 00000 n 
-0000161560 00000 n 
-0000161751 00000 n 
-0000161955 00000 n 
-0000162192 00000 n 
-0000162429 00000 n 
-0000162902 00000 n 
-0000163106 00000 n 
-0000163343 00000 n 
-0000163545 00000 n 
-0000163780 00000 n 
-0000164251 00000 n 
-0000164488 00000 n 
-0000164691 00000 n 
-0000164927 00000 n 
-0000165162 00000 n 
-0000165366 00000 n 
-0000165603 00000 n 
-0000165840 00000 n 
-0000166077 00000 n 
-0000166314 00000 n 
-0000166518 00000 n 
-0000166755 00000 n 
-0000166992 00000 n 
-0000169301 00000 n 
-0000169504 00000 n 
-0000169741 00000 n 
-0000169978 00000 n 
-0000167229 00000 n 
-0000167515 00000 n 
-0000159789 00000 n 
-0000158336 00000 n 
-0000167401 00000 n 
-0000167458 00000 n 
-0000162666 00000 n 
-0000164015 00000 n 
-0000170214 00000 n 
-0000170418 00000 n 
-0000170655 00000 n 
-0000170892 00000 n 
-0000171096 00000 n 
-0000171332 00000 n 
-0000171569 00000 n 
-0000171806 00000 n 
-0000172043 00000 n 
-0000172279 00000 n 
-0000172512 00000 n 
-0000172746 00000 n 
-0000172980 00000 n 
-0000173214 00000 n 
-0000174011 00000 n 
-0000169026 00000 n 
-0000167639 00000 n 
-0000173386 00000 n 
-0000173443 00000 n 
-0000660570 00000 n 
-0000173669 00000 n 
-0000173726 00000 n 
-0000173783 00000 n 
-0000173840 00000 n 
-0000173897 00000 n 
-0000173954 00000 n 
-0000664544 00000 n 
-0000176339 00000 n 
-0000176525 00000 n 
-0000176748 00000 n 
-0000176952 00000 n 
-0000177174 00000 n 
-0000177363 00000 n 
-0000177586 00000 n 
-0000177776 00000 n 
-0000177980 00000 n 
-0000178202 00000 n 
-0000178396 00000 n 
-0000178619 00000 n 
-0000178814 00000 n 
-0000179036 00000 n 
-0000179259 00000 n 
-0000179481 00000 n 
-0000179684 00000 n 
-0000179907 00000 n 
-0000182856 00000 n 
-0000183079 00000 n 
-0000180100 00000 n 
-0000180727 00000 n 
-0000176056 00000 n 
-0000174135 00000 n 
-0000180272 00000 n 
-0000180329 00000 n 
-0000180499 00000 n 
-0000180556 00000 n 
-0000180613 00000 n 
-0000180670 00000 n 
-0000184980 00000 n 
-0000185094 00000 n 
-0000185208 00000 n 
-0000185327 00000 n 
-0000185446 00000 n 
-0000188817 00000 n 
-0000183269 00000 n 
-0000183458 00000 n 
-0000183679 00000 n 
-0000184054 00000 n 
-0000184243 00000 n 
-0000184466 00000 n 
-0000185508 00000 n 
-0000182653 00000 n 
-0000180838 00000 n 
-0000184638 00000 n 
-0000184695 00000 n 
-0000183867 00000 n 
-0000184752 00000 n 
-0000184809 00000 n 
-0000184866 00000 n 
-0000184923 00000 n 
-0000185037 00000 n 
-0000185151 00000 n 
-0000185270 00000 n 
-0000185389 00000 n 
-0000188993 00000 n 
-0000189107 00000 n 
-0000187889 00000 n 
-0000188094 00000 n 
-0000188313 00000 n 
-0000191446 00000 n 
-0000188531 00000 n 
-0000189504 00000 n 
-0000187726 00000 n 
-0000185645 00000 n 
-0000188703 00000 n 
-0000188760 00000 n 
-0000188879 00000 n 
-0000188936 00000 n 
-0000189050 00000 n 
-0000189164 00000 n 
-0000189333 00000 n 
-0000189390 00000 n 
-0000189447 00000 n 
-0000191666 00000 n 
-0000191886 00000 n 
-0000192106 00000 n 
-0000192293 00000 n 
-0000192514 00000 n 
-0000192702 00000 n 
-0000192921 00000 n 
-0000193116 00000 n 
-0000193311 00000 n 
-0000193499 00000 n 
-0000193716 00000 n 
-0000196997 00000 n 
-0000197184 00000 n 
-0000193934 00000 n 
-0000194901 00000 n 
-0000191211 00000 n 
-0000189641 00000 n 
-0000194106 00000 n 
-0000194163 00000 n 
-0000194220 00000 n 
-0000194277 00000 n 
-0000194333 00000 n 
-0000194390 00000 n 
-0000194447 00000 n 
-0000194504 00000 n 
-0000194674 00000 n 
-0000194731 00000 n 
-0000662453 00000 n 
-0000661588 00000 n 
-0000194788 00000 n 
-0000194844 00000 n 
-0000197404 00000 n 
-0000197597 00000 n 
-0000197817 00000 n 
-0000198009 00000 n 
-0000198228 00000 n 
-0000198414 00000 n 
-0000198641 00000 n 
-0000198866 00000 n 
-0000201770 00000 n 
-0000201964 00000 n 
-0000199092 00000 n 
-0000200002 00000 n 
-0000196778 00000 n 
-0000195051 00000 n 
-0000199264 00000 n 
-0000199321 00000 n 
-0000199378 00000 n 
-0000199435 00000 n 
-0000199492 00000 n 
-0000199549 00000 n 
-0000199606 00000 n 
-0000660279 00000 n 
-0000660862 00000 n 
-0000662020 00000 n 
-0000661444 00000 n 
-0000199775 00000 n 
-0000199832 00000 n 
-0000199889 00000 n 
-0000199946 00000 n 
-0000202151 00000 n 
-0000202370 00000 n 
-0000202565 00000 n 
-0000202769 00000 n 
-0000202964 00000 n 
-0000203157 00000 n 
-0000203376 00000 n 
-0000203568 00000 n 
-0000203787 00000 n 
-0000203989 00000 n 
-0000204208 00000 n 
-0000204425 00000 n 
-0000204643 00000 n 
-0000204828 00000 n 
-0000205739 00000 n 
-0000201511 00000 n 
-0000200201 00000 n 
-0000205000 00000 n 
-0000205057 00000 n 
-0000205227 00000 n 
-0000205284 00000 n 
-0000205341 00000 n 
-0000205398 00000 n 
-0000205455 00000 n 
-0000205512 00000 n 
-0000205569 00000 n 
-0000205626 00000 n 
-0000664662 00000 n 
-0000207203 00000 n 
-0000207430 00000 n 
-0000207656 00000 n 
-0000207883 00000 n 
-0000208078 00000 n 
-0000208264 00000 n 
-0000211344 00000 n 
-0000211532 00000 n 
-0000208498 00000 n 
-0000209490 00000 n 
-0000207007 00000 n 
-0000205850 00000 n 
-0000208671 00000 n 
-0000208787 00000 n 
-0000208846 00000 n 
-0000208905 00000 n 
-0000208964 00000 n 
-0000209023 00000 n 
-0000209197 00000 n 
-0000209256 00000 n 
-0000209315 00000 n 
-0000211752 00000 n 
-0000211969 00000 n 
-0000212187 00000 n 
-0000212373 00000 n 
-0000212592 00000 n 
-0000212787 00000 n 
-0000212975 00000 n 
-0000213162 00000 n 
-0000213382 00000 n 
-0000213578 00000 n 
-0000213765 00000 n 
-0000213985 00000 n 
-0000214181 00000 n 
-0000214370 00000 n 
-0000214557 00000 n 
-0000214777 00000 n 
-0000214973 00000 n 
-0000215159 00000 n 
-0000215920 00000 n 
-0000211030 00000 n 
-0000209602 00000 n 
-0000215332 00000 n 
-0000215391 00000 n 
-0000215450 00000 n 
-0000215509 00000 n 
-0000215568 00000 n 
-0000215626 00000 n 
-0000215685 00000 n 
-0000215744 00000 n 
-0000215803 00000 n 
-0000215862 00000 n 
-0000218351 00000 n 
-0000218115 00000 n 
-0000218233 00000 n 
-0000217597 00000 n 
-0000220442 00000 n 
-0000220667 00000 n 
-0000217824 00000 n 
-0000218703 00000 n 
-0000217445 00000 n 
-0000216045 00000 n 
-0000217997 00000 n 
-0000218056 00000 n 
-0000218174 00000 n 
-0000218292 00000 n 
-0000218410 00000 n 
-0000218585 00000 n 
-0000218644 00000 n 
-0000220893 00000 n 
-0000221087 00000 n 
-0000221273 00000 n 
-0000221496 00000 n 
-0000221720 00000 n 
-0000221911 00000 n 
-0000222135 00000 n 
-0000222329 00000 n 
-0000222521 00000 n 
-0000222746 00000 n 
-0000222941 00000 n 
-0000223129 00000 n 
-0000223322 00000 n 
-0000223548 00000 n 
-0000223744 00000 n 
-0000223932 00000 n 
-0000224124 00000 n 
-0000224944 00000 n 
-0000220137 00000 n 
-0000218828 00000 n 
-0000224297 00000 n 
-0000224356 00000 n 
-0000224415 00000 n 
-0000224474 00000 n 
-0000224649 00000 n 
-0000224708 00000 n 
-0000224767 00000 n 
-0000224826 00000 n 
-0000224885 00000 n 
-0000227221 00000 n 
-0000227339 00000 n 
-0000227457 00000 n 
-0000226697 00000 n 
-0000229400 00000 n 
-0000226930 00000 n 
-0000227808 00000 n 
-0000226545 00000 n 
-0000225056 00000 n 
-0000227103 00000 n 
-0000227162 00000 n 
-0000227280 00000 n 
-0000227398 00000 n 
-0000227516 00000 n 
-0000227690 00000 n 
-0000227749 00000 n 
-0000229631 00000 n 
-0000229862 00000 n 
-0000230063 00000 n 
-0000230256 00000 n 
-0000230494 00000 n 
-0000230706 00000 n 
-0000231581 00000 n 
-0000229202 00000 n 
-0000227933 00000 n 
-0000230879 00000 n 
-0000230938 00000 n 
-0000230997 00000 n 
-0000231054 00000 n 
-0000231229 00000 n 
-0000231288 00000 n 
-0000231347 00000 n 
-0000231522 00000 n 
-0000664785 00000 n 
-0000235812 00000 n 
-0000233382 00000 n 
-0000233615 00000 n 
-0000233824 00000 n 
-0000234239 00000 n 
-0000234440 00000 n 
-0000234844 00000 n 
-0000235259 00000 n 
-0000238302 00000 n 
-0000238495 00000 n 
-0000238723 00000 n 
-0000235462 00000 n 
-0000236339 00000 n 
-0000233148 00000 n 
-0000231693 00000 n 
-0000235635 00000 n 
-0000235694 00000 n 
-0000235753 00000 n 
-0000235871 00000 n 
-0000236046 00000 n 
-0000236105 00000 n 
-0000236164 00000 n 
-0000234032 00000 n 
-0000234643 00000 n 
-0000235053 00000 n 
-0000238918 00000 n 
-0000239111 00000 n 
-0000239339 00000 n 
-0000239534 00000 n 
-0000239728 00000 n 
-0000239957 00000 n 
-0000240146 00000 n 
-0000240339 00000 n 
-0000240567 00000 n 
-0000240762 00000 n 
-0000240990 00000 n 
-0000241216 00000 n 
-0000241442 00000 n 
-0000241636 00000 n 
-0000242047 00000 n 
-0000242256 00000 n 
-0000242457 00000 n 
-0000242872 00000 n 
-0000243082 00000 n 
-0000243277 00000 n 
-0000243517 00000 n 
-0000243705 00000 n 
-0000243893 00000 n 
-0000244135 00000 n 
-0000244343 00000 n 
-0000247298 00000 n 
-0000247486 00000 n 
-0000244585 00000 n 
-0000245700 00000 n 
-0000237888 00000 n 
-0000236464 00000 n 
-0000244758 00000 n 
-0000244817 00000 n 
-0000244876 00000 n 
-0000244935 00000 n 
-0000244994 00000 n 
-0000245053 00000 n 
-0000245112 00000 n 
-0000245171 00000 n 
-0000245230 00000 n 
-0000245289 00000 n 
-0000241842 00000 n 
-0000242665 00000 n 
-0000245464 00000 n 
-0000245523 00000 n 
-0000245582 00000 n 
-0000245641 00000 n 
-0000247728 00000 n 
-0000247923 00000 n 
-0000248163 00000 n 
-0000248359 00000 n 
-0000248555 00000 n 
-0000248749 00000 n 
-0000248989 00000 n 
-0000249183 00000 n 
-0000249424 00000 n 
-0000249631 00000 n 
-0000249871 00000 n 
-0000250065 00000 n 
-0000250306 00000 n 
-0000250500 00000 n 
-0000250741 00000 n 
-0000251852 00000 n 
-0000247010 00000 n 
-0000245812 00000 n 
-0000250914 00000 n 
-0000250973 00000 n 
-0000251032 00000 n 
-0000251091 00000 n 
-0000251265 00000 n 
-0000251324 00000 n 
-0000251383 00000 n 
-0000251442 00000 n 
-0000251501 00000 n 
-0000251560 00000 n 
-0000251619 00000 n 
-0000251678 00000 n 
-0000251737 00000 n 
-0000253500 00000 n 
-0000253695 00000 n 
-0000253928 00000 n 
-0000254124 00000 n 
-0000254320 00000 n 
-0000254514 00000 n 
-0000254747 00000 n 
-0000254941 00000 n 
-0000255175 00000 n 
-0000255374 00000 n 
-0000255607 00000 n 
-0000255801 00000 n 
-0000256035 00000 n 
-0000256229 00000 n 
-0000256463 00000 n 
-0000256658 00000 n 
-0000256893 00000 n 
-0000257089 00000 n 
-0000257277 00000 n 
-0000257470 00000 n 
-0000260465 00000 n 
-0000260658 00000 n 
-0000257704 00000 n 
-0000258815 00000 n 
-0000253176 00000 n 
-0000251964 00000 n 
-0000257877 00000 n 
-0000257994 00000 n 
-0000258053 00000 n 
-0000258112 00000 n 
-0000258171 00000 n 
-0000258230 00000 n 
-0000258288 00000 n 
-0000258347 00000 n 
-0000258406 00000 n 
-0000258465 00000 n 
-0000258638 00000 n 
-0000258697 00000 n 
-0000258756 00000 n 
-0000260893 00000 n 
-0000261095 00000 n 
-0000261331 00000 n 
-0000261539 00000 n 
-0000261775 00000 n 
-0000261969 00000 n 
-0000262205 00000 n 
-0000262399 00000 n 
-0000262641 00000 n 
-0000262837 00000 n 
-0000263031 00000 n 
-0000263272 00000 n 
-0000263481 00000 n 
-0000263724 00000 n 
-0000263918 00000 n 
-0000264161 00000 n 
-0000265216 00000 n 
-0000260168 00000 n 
-0000258927 00000 n 
-0000264334 00000 n 
-0000264393 00000 n 
-0000264452 00000 n 
-0000264511 00000 n 
-0000264570 00000 n 
-0000264629 00000 n 
-0000264688 00000 n 
-0000264862 00000 n 
-0000264921 00000 n 
-0000264980 00000 n 
-0000265039 00000 n 
-0000265098 00000 n 
-0000265157 00000 n 
-0000266774 00000 n 
-0000266968 00000 n 
-0000267206 00000 n 
-0000267391 00000 n 
-0000267576 00000 n 
-0000267815 00000 n 
-0000268020 00000 n 
-0000268259 00000 n 
-0000268492 00000 n 
-0000269485 00000 n 
-0000266558 00000 n 
-0000265328 00000 n 
-0000268665 00000 n 
-0000268724 00000 n 
-0000268899 00000 n 
-0000268958 00000 n 
-0000269017 00000 n 
-0000269076 00000 n 
-0000269135 00000 n 
-0000269310 00000 n 
-0000269368 00000 n 
-0000269426 00000 n 
-0000664910 00000 n 
-0000271459 00000 n 
-0000271681 00000 n 
-0000271903 00000 n 
-0000272099 00000 n 
-0000272293 00000 n 
-0000272498 00000 n 
-0000272720 00000 n 
-0000272910 00000 n 
-0000273132 00000 n 
-0000273355 00000 n 
-0000273577 00000 n 
-0000273767 00000 n 
-0000273990 00000 n 
-0000274182 00000 n 
-0000274404 00000 n 
-0000274600 00000 n 
-0000274823 00000 n 
-0000275019 00000 n 
-0000275242 00000 n 
-0000275447 00000 n 
-0000275670 00000 n 
-0000279326 00000 n 
-0000275890 00000 n 
-0000276946 00000 n 
-0000271126 00000 n 
-0000269597 00000 n 
-0000276063 00000 n 
-0000276238 00000 n 
-0000276297 00000 n 
-0000276356 00000 n 
-0000276415 00000 n 
-0000276474 00000 n 
-0000276533 00000 n 
-0000276592 00000 n 
-0000276651 00000 n 
-0000276710 00000 n 
-0000276769 00000 n 
-0000276828 00000 n 
-0000276887 00000 n 
-0000291193 00000 n 
-0000291311 00000 n 
-0000279547 00000 n 
-0000279770 00000 n 
-0000279991 00000 n 
-0000280212 00000 n 
-0000280434 00000 n 
-0000280655 00000 n 
-0000280846 00000 n 
-0000281068 00000 n 
-0000281256 00000 n 
-0000281477 00000 n 
-0000281671 00000 n 
-0000281893 00000 n 
-0000282089 00000 n 
-0000282311 00000 n 
-0000282516 00000 n 
-0000282739 00000 n 
-0000282944 00000 n 
-0000283167 00000 n 
-0000283390 00000 n 
-0000283577 00000 n 
-0000283766 00000 n 
-0000284144 00000 n 
-0000284331 00000 n 
-0000284554 00000 n 
-0000284741 00000 n 
-0000288277 00000 n 
-0000288499 00000 n 
-0000288688 00000 n 
-0000284964 00000 n 
-0000285430 00000 n 
-0000278939 00000 n 
-0000277058 00000 n 
-0000285137 00000 n 
-0000285196 00000 n 
-0000285253 00000 n 
-0000285312 00000 n 
-0000285371 00000 n 
-0000662309 00000 n 
-0000283955 00000 n 
-0000660715 00000 n 
-0000294490 00000 n 
-0000294606 00000 n 
-0000294729 00000 n 
-0000294852 00000 n 
-0000297233 00000 n 
-0000297351 00000 n 
-0000297469 00000 n 
-0000297587 00000 n 
-0000297705 00000 n 
-0000300299 00000 n 
-0000300417 00000 n 
-0000288877 00000 n 
-0000289081 00000 n 
-0000289303 00000 n 
-0000289507 00000 n 
-0000289727 00000 n 
-0000289930 00000 n 
-0000290124 00000 n 
-0000290314 00000 n 
-0000290504 00000 n 
-0000290725 00000 n 
-0000291369 00000 n 
-0000288025 00000 n 
-0000285570 00000 n 
-0000290898 00000 n 
-0000290957 00000 n 
-0000291016 00000 n 
-0000291075 00000 n 
-0000291134 00000 n 
-0000291252 00000 n 
-0000300535 00000 n 
-0000293695 00000 n 
-0000293917 00000 n 
-0000294140 00000 n 
-0000294910 00000 n 
-0000293533 00000 n 
-0000291520 00000 n 
-0000294313 00000 n 
-0000294372 00000 n 
-0000294431 00000 n 
-0000294548 00000 n 
-0000294670 00000 n 
-0000294793 00000 n 
-0000296942 00000 n 
-0000297823 00000 n 
-0000296798 00000 n 
-0000295034 00000 n 
-0000297115 00000 n 
-0000297174 00000 n 
-0000297292 00000 n 
-0000297410 00000 n 
-0000297528 00000 n 
-0000297646 00000 n 
-0000297764 00000 n 
-0000299831 00000 n 
-0000300067 00000 n 
-0000300886 00000 n 
-0000299678 00000 n 
-0000297961 00000 n 
-0000300240 00000 n 
-0000300358 00000 n 
-0000300476 00000 n 
-0000300594 00000 n 
-0000300768 00000 n 
-0000300827 00000 n 
-0000665035 00000 n 
-0000302521 00000 n 
-0000302754 00000 n 
-0000302987 00000 n 
-0000303223 00000 n 
-0000303459 00000 n 
-0000303695 00000 n 
-0000307037 00000 n 
-0000303929 00000 n 
-0000304983 00000 n 
-0000302323 00000 n 
-0000301037 00000 n 
-0000304102 00000 n 
-0000304161 00000 n 
-0000304336 00000 n 
-0000304395 00000 n 
-0000304454 00000 n 
-0000304513 00000 n 
-0000304688 00000 n 
-0000304747 00000 n 
-0000304806 00000 n 
-0000304865 00000 n 
-0000304924 00000 n 
-0000307273 00000 n 
-0000307508 00000 n 
-0000307744 00000 n 
-0000307980 00000 n 
-0000308451 00000 n 
-0000308687 00000 n 
-0000309511 00000 n 
-0000306830 00000 n 
-0000305121 00000 n 
-0000308860 00000 n 
-0000308919 00000 n 
-0000308978 00000 n 
-0000309037 00000 n 
-0000309096 00000 n 
-0000309155 00000 n 
-0000309214 00000 n 
-0000309273 00000 n 
-0000308216 00000 n 
-0000309332 00000 n 
-0000309395 00000 n 
-0000311534 00000 n 
-0000311766 00000 n 
-0000311998 00000 n 
-0000315601 00000 n 
-0000312230 00000 n 
-0000313113 00000 n 
-0000311363 00000 n 
-0000309623 00000 n 
-0000312403 00000 n 
-0000312520 00000 n 
-0000312579 00000 n 
-0000312638 00000 n 
-0000312697 00000 n 
-0000312756 00000 n 
-0000312815 00000 n 
-0000312874 00000 n 
-0000312933 00000 n 
-0000312997 00000 n 
-0000315792 00000 n 
-0000316035 00000 n 
-0000316278 00000 n 
-0000316522 00000 n 
-0000316733 00000 n 
-0000316977 00000 n 
-0000317188 00000 n 
-0000317409 00000 n 
-0000317653 00000 n 
-0000317874 00000 n 
-0000318118 00000 n 
-0000318361 00000 n 
-0000318552 00000 n 
-0000318795 00000 n 
-0000319016 00000 n 
-0000319260 00000 n 
-0000319481 00000 n 
-0000319923 00000 n 
-0000320166 00000 n 
-0000320357 00000 n 
-0000321295 00000 n 
-0000315268 00000 n 
-0000313251 00000 n 
-0000320530 00000 n 
-0000320647 00000 n 
-0000320706 00000 n 
-0000320765 00000 n 
-0000320824 00000 n 
-0000320883 00000 n 
-0000320942 00000 n 
-0000321001 00000 n 
-0000321060 00000 n 
-0000321119 00000 n 
-0000319702 00000 n 
-0000321178 00000 n 
-0000321236 00000 n 
-0000326153 00000 n 
-0000323245 00000 n 
-0000323455 00000 n 
-0000323708 00000 n 
-0000323929 00000 n 
-0000324182 00000 n 
-0000324403 00000 n 
-0000324657 00000 n 
-0000324910 00000 n 
-0000325101 00000 n 
-0000325355 00000 n 
-0000325608 00000 n 
-0000328954 00000 n 
-0000325862 00000 n 
-0000326859 00000 n 
-0000323002 00000 n 
-0000321407 00000 n 
-0000326035 00000 n 
-0000326094 00000 n 
-0000326212 00000 n 
-0000326387 00000 n 
-0000326446 00000 n 
-0000326505 00000 n 
-0000326564 00000 n 
-0000326623 00000 n 
-0000326682 00000 n 
-0000326741 00000 n 
-0000326800 00000 n 
-0000332496 00000 n 
-0000329165 00000 n 
-0000329356 00000 n 
-0000329585 00000 n 
-0000329815 00000 n 
-0000330011 00000 n 
-0000330208 00000 n 
-0000330438 00000 n 
-0000330635 00000 n 
-0000330865 00000 n 
-0000331062 00000 n 
-0000331292 00000 n 
-0000331489 00000 n 
-0000331719 00000 n 
-0000331916 00000 n 
-0000332146 00000 n 
-0000333260 00000 n 
-0000328675 00000 n 
-0000326971 00000 n 
-0000332319 00000 n 
-0000332378 00000 n 
-0000332437 00000 n 
-0000332555 00000 n 
-0000332730 00000 n 
-0000332789 00000 n 
-0000332848 00000 n 
-0000332907 00000 n 
-0000332966 00000 n 
-0000333025 00000 n 
-0000333084 00000 n 
-0000333143 00000 n 
-0000333202 00000 n 
-0000665160 00000 n 
-0000334789 00000 n 
-0000335018 00000 n 
-0000335247 00000 n 
-0000335442 00000 n 
-0000335639 00000 n 
-0000335869 00000 n 
-0000336066 00000 n 
-0000336296 00000 n 
-0000339680 00000 n 
-0000336487 00000 n 
-0000337423 00000 n 
-0000334573 00000 n 
-0000333386 00000 n 
-0000336660 00000 n 
-0000336719 00000 n 
-0000336894 00000 n 
-0000336953 00000 n 
-0000337012 00000 n 
-0000337071 00000 n 
-0000337130 00000 n 
-0000337189 00000 n 
-0000337248 00000 n 
-0000339900 00000 n 
-0000340121 00000 n 
-0000340317 00000 n 
-0000340538 00000 n 
-0000340734 00000 n 
-0000340955 00000 n 
-0000341150 00000 n 
-0000341370 00000 n 
-0000341565 00000 n 
-0000341785 00000 n 
-0000342005 00000 n 
-0000342226 00000 n 
-0000342447 00000 n 
-0000342668 00000 n 
-0000342889 00000 n 
-0000343110 00000 n 
-0000343331 00000 n 
-0000343517 00000 n 
-0000343738 00000 n 
-0000343934 00000 n 
-0000344155 00000 n 
-0000344351 00000 n 
-0000344571 00000 n 
-0000344767 00000 n 
-0000344956 00000 n 
-0000348553 00000 n 
-0000348774 00000 n 
-0000348970 00000 n 
-0000349159 00000 n 
-0000345145 00000 n 
-0000346143 00000 n 
-0000339302 00000 n 
-0000337549 00000 n 
-0000345318 00000 n 
-0000345377 00000 n 
-0000345436 00000 n 
-0000345495 00000 n 
-0000345553 00000 n 
-0000345612 00000 n 
-0000345671 00000 n 
-0000345730 00000 n 
-0000345789 00000 n 
-0000345848 00000 n 
-0000345907 00000 n 
-0000345966 00000 n 
-0000346025 00000 n 
-0000346084 00000 n 
-0000394263 00000 n 
-0000394381 00000 n 
-0000394498 00000 n 
-0000394616 00000 n 
-0000349348 00000 n 
-0000349568 00000 n 
-0000349764 00000 n 
-0000349953 00000 n 
-0000350142 00000 n 
-0000350328 00000 n 
-0000350549 00000 n 
-0000350745 00000 n 
-0000350934 00000 n 
-0000351123 00000 n 
-0000351310 00000 n 
-0000351507 00000 n 
-0000351727 00000 n 
-0000351915 00000 n 
-0000352112 00000 n 
-0000352333 00000 n 
-0000352520 00000 n 
-0000352717 00000 n 
-0000352937 00000 n 
-0000353123 00000 n 
-0000353344 00000 n 
-0000353532 00000 n 
-0000353753 00000 n 
-0000353941 00000 n 
-0000354162 00000 n 
-0000354350 00000 n 
-0000354570 00000 n 
-0000354755 00000 n 
-0000354976 00000 n 
-0000355196 00000 n 
-0000355417 00000 n 
-0000355638 00000 n 
-0000355859 00000 n 
-0000359214 00000 n 
-0000356080 00000 n 
-0000356606 00000 n 
-0000348076 00000 n 
-0000346281 00000 n 
-0000356253 00000 n 
-0000356312 00000 n 
-0000356370 00000 n 
-0000356429 00000 n 
-0000356488 00000 n 
-0000356547 00000 n 
-0000397562 00000 n 
-0000397685 00000 n 
-0000401170 00000 n 
-0000401293 00000 n 
-0000401414 00000 n 
-0000401532 00000 n 
-0000404438 00000 n 
-0000404556 00000 n 
-0000404674 00000 n 
-0000404792 00000 n 
-0000404910 00000 n 
-0000359435 00000 n 
-0000359655 00000 n 
-0000359843 00000 n 
-0000360063 00000 n 
-0000360251 00000 n 
-0000360471 00000 n 
-0000360666 00000 n 
-0000360886 00000 n 
-0000361082 00000 n 
-0000361302 00000 n 
-0000361490 00000 n 
-0000361710 00000 n 
-0000361898 00000 n 
-0000362118 00000 n 
-0000362314 00000 n 
-0000362534 00000 n 
-0000362730 00000 n 
-0000362950 00000 n 
-0000363138 00000 n 
-0000363358 00000 n 
-0000363546 00000 n 
-0000363765 00000 n 
-0000363952 00000 n 
-0000364172 00000 n 
-0000364360 00000 n 
-0000364580 00000 n 
-0000364801 00000 n 
-0000364987 00000 n 
-0000365207 00000 n 
-0000365393 00000 n 
-0000365589 00000 n 
-0000365777 00000 n 
-0000365994 00000 n 
-0000366178 00000 n 
-0000366372 00000 n 
-0000370346 00000 n 
-0000370567 00000 n 
-0000370753 00000 n 
-0000370949 00000 n 
-0000371145 00000 n 
-0000366559 00000 n 
-0000366909 00000 n 
-0000358746 00000 n 
-0000356731 00000 n 
-0000366732 00000 n 
-0000366791 00000 n 
-0000366850 00000 n 
-0000405032 00000 n 
-0000408158 00000 n 
-0000408275 00000 n 
-0000408393 00000 n 
-0000408511 00000 n 
-0000411573 00000 n 
-0000411691 00000 n 
-0000411809 00000 n 
-0000411927 00000 n 
-0000412045 00000 n 
-0000415231 00000 n 
-0000415349 00000 n 
-0000415466 00000 n 
-0000415584 00000 n 
-0000418915 00000 n 
-0000371333 00000 n 
-0000371554 00000 n 
-0000371740 00000 n 
-0000371936 00000 n 
-0000372328 00000 n 
-0000372516 00000 n 
-0000372737 00000 n 
-0000372923 00000 n 
-0000373128 00000 n 
-0000373324 00000 n 
-0000373513 00000 n 
-0000373733 00000 n 
-0000373917 00000 n 
-0000374121 00000 n 
-0000374512 00000 n 
-0000374701 00000 n 
-0000374922 00000 n 
-0000375118 00000 n 
-0000375323 00000 n 
-0000375715 00000 n 
-0000375934 00000 n 
-0000376130 00000 n 
-0000376335 00000 n 
-0000376531 00000 n 
-0000376750 00000 n 
-0000376935 00000 n 
-0000377155 00000 n 
-0000377347 00000 n 
-0000377567 00000 n 
-0000377755 00000 n 
-0000377975 00000 n 
-0000378163 00000 n 
-0000378383 00000 n 
-0000381597 00000 n 
-0000381817 00000 n 
-0000378602 00000 n 
-0000378834 00000 n 
-0000369833 00000 n 
-0000367021 00000 n 
-0000378775 00000 n 
-0000661299 00000 n 
-0000372132 00000 n 
-0000661008 00000 n 
-0000374316 00000 n 
-0000375519 00000 n 
-0000419033 00000 n 
-0000419150 00000 n 
-0000423242 00000 n 
-0000423360 00000 n 
-0000423477 00000 n 
-0000427030 00000 n 
-0000427148 00000 n 
-0000427266 00000 n 
-0000430802 00000 n 
-0000430920 00000 n 
-0000431037 00000 n 
-0000431155 00000 n 
-0000382005 00000 n 
-0000382224 00000 n 
-0000382416 00000 n 
-0000382636 00000 n 
-0000382856 00000 n 
-0000383042 00000 n 
-0000383262 00000 n 
-0000383454 00000 n 
-0000383640 00000 n 
-0000383860 00000 n 
-0000384059 00000 n 
-0000384253 00000 n 
-0000384473 00000 n 
-0000384668 00000 n 
-0000384889 00000 n 
-0000385109 00000 n 
-0000385296 00000 n 
-0000385516 00000 n 
-0000385710 00000 n 
-0000385930 00000 n 
-0000386118 00000 n 
-0000386337 00000 n 
-0000386522 00000 n 
-0000386742 00000 n 
-0000386930 00000 n 
-0000387150 00000 n 
-0000387338 00000 n 
-0000387558 00000 n 
-0000387745 00000 n 
-0000391105 00000 n 
-0000391326 00000 n 
-0000391514 00000 n 
-0000387940 00000 n 
-0000388408 00000 n 
-0000381174 00000 n 
-0000379027 00000 n 
-0000388113 00000 n 
-0000388172 00000 n 
-0000388231 00000 n 
-0000388290 00000 n 
-0000388349 00000 n 
-0000665285 00000 n 
-0000435006 00000 n 
-0000435121 00000 n 
-0000435239 00000 n 
-0000435357 00000 n 
-0000439183 00000 n 
-0000439301 00000 n 
-0000439416 00000 n 
-0000439534 00000 n 
-0000442828 00000 n 
-0000442946 00000 n 
-0000443064 00000 n 
-0000391710 00000 n 
-0000391931 00000 n 
-0000392119 00000 n 
-0000392315 00000 n 
-0000392536 00000 n 
-0000392724 00000 n 
-0000392920 00000 n 
-0000393108 00000 n 
-0000393298 00000 n 
-0000393504 00000 n 
-0000393708 00000 n 
-0000393913 00000 n 
-0000394674 00000 n 
-0000390835 00000 n 
-0000388533 00000 n 
-0000394086 00000 n 
-0000662744 00000 n 
-0000394145 00000 n 
-0000394204 00000 n 
-0000394322 00000 n 
-0000394439 00000 n 
-0000394557 00000 n 
-0000443181 00000 n 
-0000446222 00000 n 
-0000446340 00000 n 
-0000396859 00000 n 
-0000397065 00000 n 
-0000400115 00000 n 
-0000397271 00000 n 
-0000397807 00000 n 
-0000396697 00000 n 
-0000394854 00000 n 
-0000397444 00000 n 
-0000397503 00000 n 
-0000397626 00000 n 
-0000397749 00000 n 
-0000400321 00000 n 
-0000400527 00000 n 
-0000400733 00000 n 
-0000400938 00000 n 
-0000401590 00000 n 
-0000399935 00000 n 
-0000397932 00000 n 
-0000401111 00000 n 
-0000401234 00000 n 
-0000401355 00000 n 
-0000401473 00000 n 
-0000403324 00000 n 
-0000403530 00000 n 
-0000403736 00000 n 
-0000403941 00000 n 
-0000404147 00000 n 
-0000405096 00000 n 
-0000403144 00000 n 
-0000401715 00000 n 
-0000404320 00000 n 
-0000404379 00000 n 
-0000404497 00000 n 
-0000404615 00000 n 
-0000404733 00000 n 
-0000404851 00000 n 
-0000404973 00000 n 
-0000407046 00000 n 
-0000407252 00000 n 
-0000407456 00000 n 
-0000407662 00000 n 
-0000410253 00000 n 
-0000407867 00000 n 
-0000408570 00000 n 
-0000406866 00000 n 
-0000405208 00000 n 
-0000408040 00000 n 
-0000408099 00000 n 
-0000408217 00000 n 
-0000408334 00000 n 
-0000408452 00000 n 
-0000410459 00000 n 
-0000410665 00000 n 
-0000410870 00000 n 
-0000411076 00000 n 
-0000411282 00000 n 
-0000412103 00000 n 
-0000410064 00000 n 
-0000408682 00000 n 
-0000411455 00000 n 
-0000411514 00000 n 
-0000411632 00000 n 
-0000411750 00000 n 
-0000411868 00000 n 
-0000411986 00000 n 
-0000665410 00000 n 
-0000414117 00000 n 
-0000414323 00000 n 
-0000414529 00000 n 
-0000414734 00000 n 
-0000418067 00000 n 
-0000414940 00000 n 
-0000415702 00000 n 
-0000413937 00000 n 
-0000412215 00000 n 
-0000415113 00000 n 
-0000415172 00000 n 
-0000415290 00000 n 
-0000415408 00000 n 
-0000415525 00000 n 
-0000415643 00000 n 
-0000418272 00000 n 
-0000418477 00000 n 
-0000421630 00000 n 
-0000418683 00000 n 
-0000419268 00000 n 
-0000417896 00000 n 
-0000415827 00000 n 
-0000418856 00000 n 
-0000418974 00000 n 
-0000419092 00000 n 
-0000419209 00000 n 
-0000421836 00000 n 
-0000422042 00000 n 
-0000422423 00000 n 
-0000422629 00000 n 
-0000423010 00000 n 
-0000423536 00000 n 
-0000421423 00000 n 
-0000419443 00000 n 
-0000423183 00000 n 
-0000423301 00000 n 
-0000422232 00000 n 
-0000423419 00000 n 
-0000422819 00000 n 
-0000425739 00000 n 
-0000425945 00000 n 
-0000426136 00000 n 
-0000426342 00000 n 
-0000426533 00000 n 
-0000429564 00000 n 
-0000429770 00000 n 
-0000426739 00000 n 
-0000427384 00000 n 
-0000425550 00000 n 
-0000423711 00000 n 
-0000426912 00000 n 
-0000426971 00000 n 
-0000427089 00000 n 
-0000427207 00000 n 
-0000427325 00000 n 
-0000429956 00000 n 
-0000430162 00000 n 
-0000430368 00000 n 
-0000433385 00000 n 
-0000430570 00000 n 
-0000431273 00000 n 
-0000429375 00000 n 
-0000427547 00000 n 
-0000430743 00000 n 
-0000430861 00000 n 
-0000430978 00000 n 
-0000431096 00000 n 
-0000431214 00000 n 
-0000433586 00000 n 
-0000433791 00000 n 
-0000433993 00000 n 
-0000434179 00000 n 
-0000434385 00000 n 
-0000434569 00000 n 
-0000437762 00000 n 
-0000434774 00000 n 
-0000435474 00000 n 
-0000433178 00000 n 
-0000431411 00000 n 
-0000434947 00000 n 
-0000435064 00000 n 
-0000435180 00000 n 
-0000435298 00000 n 
-0000435416 00000 n 
-0000665535 00000 n 
-0000437968 00000 n 
-0000438170 00000 n 
-0000438354 00000 n 
-0000438560 00000 n 
-0000438746 00000 n 
-0000441773 00000 n 
-0000438951 00000 n 
-0000439652 00000 n 
-0000437564 00000 n 
-0000435599 00000 n 
-0000439124 00000 n 
-0000439242 00000 n 
-0000439358 00000 n 
-0000439475 00000 n 
-0000439593 00000 n 
-0000441978 00000 n 
-0000442184 00000 n 
-0000442390 00000 n 
-0000442596 00000 n 
-0000443239 00000 n 
-0000441593 00000 n 
-0000439777 00000 n 
-0000442769 00000 n 
-0000442887 00000 n 
-0000443005 00000 n 
-0000443123 00000 n 
-0000445520 00000 n 
-0000445725 00000 n 
-0000448610 00000 n 
-0000445931 00000 n 
-0000446458 00000 n 
-0000445358 00000 n 
-0000443377 00000 n 
-0000446104 00000 n 
-0000446163 00000 n 
-0000446281 00000 n 
-0000662598 00000 n 
-0000446399 00000 n 
-0000448815 00000 n 
-0000449033 00000 n 
-0000449251 00000 n 
-0000449470 00000 n 
-0000449655 00000 n 
-0000451764 00000 n 
-0000449841 00000 n 
-0000450718 00000 n 
-0000448412 00000 n 
-0000446623 00000 n 
-0000450014 00000 n 
-0000450189 00000 n 
-0000450248 00000 n 
-0000450307 00000 n 
-0000450366 00000 n 
-0000450425 00000 n 
-0000450484 00000 n 
-0000450543 00000 n 
-0000451988 00000 n 
-0000452397 00000 n 
-0000451611 00000 n 
-0000450843 00000 n 
-0000452161 00000 n 
-0000452220 00000 n 
-0000452279 00000 n 
-0000452338 00000 n 
-0000454139 00000 n 
-0000454290 00000 n 
-0000454441 00000 n 
-0000454592 00000 n 
-0000454743 00000 n 
-0000454894 00000 n 
-0000455045 00000 n 
-0000455195 00000 n 
-0000455345 00000 n 
-0000455495 00000 n 
-0000455646 00000 n 
-0000455796 00000 n 
-0000455946 00000 n 
-0000456096 00000 n 
-0000456247 00000 n 
-0000456398 00000 n 
-0000456549 00000 n 
-0000456699 00000 n 
-0000456849 00000 n 
-0000456999 00000 n 
-0000457150 00000 n 
-0000457301 00000 n 
-0000457452 00000 n 
-0000457603 00000 n 
-0000457754 00000 n 
-0000457905 00000 n 
-0000458055 00000 n 
-0000458206 00000 n 
-0000458357 00000 n 
-0000458507 00000 n 
-0000458657 00000 n 
-0000458808 00000 n 
-0000458958 00000 n 
-0000459108 00000 n 
-0000459258 00000 n 
-0000459409 00000 n 
-0000459560 00000 n 
-0000459711 00000 n 
-0000459862 00000 n 
-0000460012 00000 n 
-0000460163 00000 n 
-0000460314 00000 n 
-0000460465 00000 n 
-0000460616 00000 n 
-0000460767 00000 n 
-0000460918 00000 n 
-0000461069 00000 n 
-0000461220 00000 n 
-0000461371 00000 n 
-0000461522 00000 n 
-0000464058 00000 n 
-0000461790 00000 n 
-0000453554 00000 n 
-0000452509 00000 n 
-0000461672 00000 n 
-0000461731 00000 n 
-0000665660 00000 n 
-0000464209 00000 n 
-0000464360 00000 n 
-0000464510 00000 n 
-0000464660 00000 n 
-0000464810 00000 n 
-0000464961 00000 n 
-0000465111 00000 n 
-0000465262 00000 n 
-0000465413 00000 n 
-0000465564 00000 n 
-0000465714 00000 n 
-0000465865 00000 n 
-0000466015 00000 n 
-0000466165 00000 n 
-0000466315 00000 n 
-0000466466 00000 n 
-0000466617 00000 n 
-0000466768 00000 n 
-0000466919 00000 n 
-0000467069 00000 n 
-0000467220 00000 n 
-0000467371 00000 n 
-0000467522 00000 n 
-0000467672 00000 n 
-0000467822 00000 n 
-0000467973 00000 n 
-0000468124 00000 n 
-0000468275 00000 n 
-0000468426 00000 n 
-0000468577 00000 n 
-0000468728 00000 n 
-0000468879 00000 n 
-0000469030 00000 n 
-0000469181 00000 n 
-0000469332 00000 n 
-0000469483 00000 n 
-0000469634 00000 n 
-0000469785 00000 n 
-0000469936 00000 n 
-0000470087 00000 n 
-0000470237 00000 n 
-0000470388 00000 n 
-0000470539 00000 n 
-0000470689 00000 n 
-0000470840 00000 n 
-0000470990 00000 n 
-0000471141 00000 n 
-0000471292 00000 n 
-0000471442 00000 n 
-0000471592 00000 n 
-0000471743 00000 n 
-0000471893 00000 n 
-0000472043 00000 n 
-0000472192 00000 n 
-0000472343 00000 n 
-0000472493 00000 n 
-0000472644 00000 n 
-0000472795 00000 n 
-0000472945 00000 n 
-0000473096 00000 n 
-0000473247 00000 n 
-0000473397 00000 n 
-0000473547 00000 n 
-0000473698 00000 n 
-0000473848 00000 n 
-0000477016 00000 n 
-0000473999 00000 n 
-0000474231 00000 n 
-0000463320 00000 n 
-0000461876 00000 n 
-0000474172 00000 n 
-0000477166 00000 n 
-0000477317 00000 n 
-0000477467 00000 n 
-0000477617 00000 n 
-0000477767 00000 n 
-0000477918 00000 n 
-0000478069 00000 n 
-0000478219 00000 n 
-0000478369 00000 n 
-0000478518 00000 n 
-0000478669 00000 n 
-0000478819 00000 n 
-0000478970 00000 n 
-0000479121 00000 n 
-0000479272 00000 n 
-0000479423 00000 n 
-0000479574 00000 n 
-0000479725 00000 n 
-0000479876 00000 n 
-0000480026 00000 n 
-0000480176 00000 n 
-0000480327 00000 n 
-0000480477 00000 n 
-0000480628 00000 n 
-0000480779 00000 n 
-0000480928 00000 n 
-0000481079 00000 n 
-0000481229 00000 n 
-0000481380 00000 n 
-0000481530 00000 n 
-0000481681 00000 n 
-0000481832 00000 n 
-0000481982 00000 n 
-0000482133 00000 n 
-0000482283 00000 n 
-0000482434 00000 n 
-0000482585 00000 n 
-0000482735 00000 n 
-0000482886 00000 n 
-0000483036 00000 n 
-0000483185 00000 n 
-0000483335 00000 n 
-0000483484 00000 n 
-0000483634 00000 n 
-0000483785 00000 n 
-0000483936 00000 n 
-0000484087 00000 n 
-0000484238 00000 n 
-0000484388 00000 n 
-0000484538 00000 n 
-0000484688 00000 n 
-0000484839 00000 n 
-0000484989 00000 n 
-0000485140 00000 n 
-0000485291 00000 n 
-0000485441 00000 n 
-0000485591 00000 n 
-0000485742 00000 n 
-0000485893 00000 n 
-0000486043 00000 n 
-0000486193 00000 n 
-0000486344 00000 n 
-0000486495 00000 n 
-0000486646 00000 n 
-0000486797 00000 n 
-0000486948 00000 n 
-0000487099 00000 n 
-0000487250 00000 n 
-0000487401 00000 n 
-0000487552 00000 n 
-0000487703 00000 n 
-0000487853 00000 n 
-0000488003 00000 n 
-0000488153 00000 n 
-0000488304 00000 n 
-0000488454 00000 n 
-0000488603 00000 n 
-0000488750 00000 n 
-0000488900 00000 n 
-0000489051 00000 n 
-0000489200 00000 n 
-0000489351 00000 n 
-0000489501 00000 n 
-0000489652 00000 n 
-0000489801 00000 n 
-0000489951 00000 n 
-0000490101 00000 n 
-0000490251 00000 n 
-0000490402 00000 n 
-0000490551 00000 n 
-0000490701 00000 n 
-0000490852 00000 n 
-0000491003 00000 n 
-0000491154 00000 n 
-0000491304 00000 n 
-0000493941 00000 n 
-0000491454 00000 n 
-0000491686 00000 n 
-0000476008 00000 n 
-0000474343 00000 n 
-0000491627 00000 n 
-0000494091 00000 n 
-0000494242 00000 n 
-0000494393 00000 n 
-0000494543 00000 n 
-0000494694 00000 n 
-0000494844 00000 n 
-0000494995 00000 n 
-0000495144 00000 n 
-0000495294 00000 n 
-0000495443 00000 n 
-0000495594 00000 n 
-0000495745 00000 n 
-0000495896 00000 n 
-0000496046 00000 n 
-0000496197 00000 n 
-0000496348 00000 n 
-0000496498 00000 n 
-0000496649 00000 n 
-0000496799 00000 n 
-0000496949 00000 n 
-0000497099 00000 n 
-0000497250 00000 n 
-0000497401 00000 n 
-0000497551 00000 n 
-0000497702 00000 n 
-0000497853 00000 n 
-0000498003 00000 n 
-0000498154 00000 n 
-0000498305 00000 n 
-0000498456 00000 n 
-0000498607 00000 n 
-0000498758 00000 n 
-0000498909 00000 n 
-0000499060 00000 n 
-0000499211 00000 n 
-0000499362 00000 n 
-0000499513 00000 n 
-0000499664 00000 n 
-0000499815 00000 n 
-0000499966 00000 n 
-0000500116 00000 n 
-0000500266 00000 n 
-0000500417 00000 n 
-0000500568 00000 n 
-0000500719 00000 n 
-0000500870 00000 n 
-0000501021 00000 n 
-0000501171 00000 n 
-0000501322 00000 n 
-0000501472 00000 n 
-0000501623 00000 n 
-0000501774 00000 n 
-0000501925 00000 n 
-0000502076 00000 n 
-0000502227 00000 n 
-0000502378 00000 n 
-0000502529 00000 n 
-0000502680 00000 n 
-0000502831 00000 n 
-0000502982 00000 n 
-0000503133 00000 n 
-0000503284 00000 n 
-0000503435 00000 n 
-0000503586 00000 n 
-0000503736 00000 n 
-0000504866 00000 n 
-0000503885 00000 n 
-0000504117 00000 n 
-0000493203 00000 n 
-0000491798 00000 n 
-0000504058 00000 n 
-0000505017 00000 n 
-0000505249 00000 n 
-0000504713 00000 n 
-0000504216 00000 n 
-0000505190 00000 n 
-0000505348 00000 n 
-0000505374 00000 n 
-0000505400 00000 n 
-0000505868 00000 n 
-0000506029 00000 n 
-0000506156 00000 n 
-0000506478 00000 n 
-0000506914 00000 n 
-0000507241 00000 n 
-0000507368 00000 n 
-0000507395 00000 n 
-0000507864 00000 n 
-0000508128 00000 n 
-0000659790 00000 n 
-0000508166 00000 n 
-0000508638 00000 n 
-0000508990 00000 n 
-0000509435 00000 n 
-0000509911 00000 n 
-0000510343 00000 n 
-0000510715 00000 n 
-0000511290 00000 n 
-0000511982 00000 n 
-0000512020 00000 n 
-0000512338 00000 n 
-0000512981 00000 n 
-0000514698 00000 n 
-0000514930 00000 n 
-0000518666 00000 n 
-0000518942 00000 n 
-0000520758 00000 n 
-0000520993 00000 n 
-0000523770 00000 n 
-0000524000 00000 n 
-0000526974 00000 n 
-0000527205 00000 n 
-0000529593 00000 n 
-0000529850 00000 n 
-0000535039 00000 n 
-0000535322 00000 n 
-0000539080 00000 n 
-0000539326 00000 n 
-0000543487 00000 n 
-0000543748 00000 n 
-0000547428 00000 n 
-0000547696 00000 n 
-0000549721 00000 n 
-0000550004 00000 n 
-0000552347 00000 n 
-0000552611 00000 n 
-0000553928 00000 n 
-0000554161 00000 n 
-0000556180 00000 n 
-0000556426 00000 n 
-0000558269 00000 n 
-0000558531 00000 n 
-0000560687 00000 n 
-0000560916 00000 n 
-0000562816 00000 n 
-0000563035 00000 n 
-0000579108 00000 n 
-0000579589 00000 n 
-0000587812 00000 n 
-0000588104 00000 n 
-0000606048 00000 n 
-0000606534 00000 n 
-0000621307 00000 n 
-0000621678 00000 n 
-0000642596 00000 n 
-0000643190 00000 n 
-0000659339 00000 n 
-0000665776 00000 n 
-0000665896 00000 n 
-0000666021 00000 n 
-0000666120 00000 n 
-0000666202 00000 n 
-0000670918 00000 n 
-0000671190 00000 n 
-0000671967 00000 n 
-0000672722 00000 n 
-0000673407 00000 n 
-0000674146 00000 n 
-0000674811 00000 n 
-0000675475 00000 n 
-0000676198 00000 n 
-0000676965 00000 n 
-0000677576 00000 n 
-0000678337 00000 n 
-0000679037 00000 n 
-0000679765 00000 n 
-0000680473 00000 n 
-0000681292 00000 n 
-0000682158 00000 n 
-0000682993 00000 n 
-0000683806 00000 n 
-0000684610 00000 n 
-0000685477 00000 n 
-0000686251 00000 n 
-0000686992 00000 n 
-0000687745 00000 n 
-0000688498 00000 n 
-0000689251 00000 n 
-0000690004 00000 n 
-0000690747 00000 n 
-0000691564 00000 n 
-0000692411 00000 n 
-0000693332 00000 n 
-0000694266 00000 n 
-0000695122 00000 n 
-0000695931 00000 n 
-0000696706 00000 n 
-0000697376 00000 n 
-0000698113 00000 n 
-0000698850 00000 n 
-0000699587 00000 n 
-0000700324 00000 n 
-0000701061 00000 n 
-0000701798 00000 n 
-0000702535 00000 n 
-0000703272 00000 n 
-0000704009 00000 n 
-0000704746 00000 n 
-0000705483 00000 n 
-0000706220 00000 n 
-0000706913 00000 n 
-0000707477 00000 n 
-0000708080 00000 n 
-0000708947 00000 n 
-0000709814 00000 n 
-0000710681 00000 n 
-0000711548 00000 n 
-0000712063 00000 n 
-0000712232 00000 n 
-0000712401 00000 n 
-0000712572 00000 n 
-0000712742 00000 n 
-0000712914 00000 n 
-0000713089 00000 n 
-0000713266 00000 n 
-0000713441 00000 n 
-0000713618 00000 n 
-0000713793 00000 n 
-0000713970 00000 n 
-0000714144 00000 n 
-0000714318 00000 n 
-0000714495 00000 n 
-0000714704 00000 n 
-0000714968 00000 n 
-0000715232 00000 n 
-0000715508 00000 n 
-0000715781 00000 n 
-0000716054 00000 n 
-0000716328 00000 n 
-0000716609 00000 n 
-0000716889 00000 n 
-0000717170 00000 n 
-0000717449 00000 n 
-0000717728 00000 n 
-0000718009 00000 n 
-0000718289 00000 n 
-0000718570 00000 n 
-0000718841 00000 n 
-0000719101 00000 n 
-0000719352 00000 n 
-0000719566 00000 n 
-0000719769 00000 n 
-0000719970 00000 n 
-0000720171 00000 n 
-0000720374 00000 n 
-0000720576 00000 n 
-0000720785 00000 n 
-0000720992 00000 n 
-0000721201 00000 n 
-0000721408 00000 n 
-0000721617 00000 n 
-0000721824 00000 n 
-0000722033 00000 n 
-0000722230 00000 n 
-0000722413 00000 n 
-0000722623 00000 n 
-0000722866 00000 n 
-0000723107 00000 n 
-0000723350 00000 n 
-0000723591 00000 n 
-0000723825 00000 n 
-0000724050 00000 n 
-0000724312 00000 n 
-0000724601 00000 n 
-0000724883 00000 n 
-0000725172 00000 n 
-0000725461 00000 n 
-0000725746 00000 n 
-0000726035 00000 n 
-0000726316 00000 n 
-0000726590 00000 n 
-0000726778 00000 n 
-0000727047 00000 n 
-0000727331 00000 n 
-0000727604 00000 n 
-0000727885 00000 n 
-0000728141 00000 n 
-0000728397 00000 n 
-0000728651 00000 n 
-0000728895 00000 n 
-0000729009 00000 n 
-0000729125 00000 n 
-0000729252 00000 n 
-0000729393 00000 n 
-0000729535 00000 n 
-0000729667 00000 n 
-0000729791 00000 n 
-0000729913 00000 n 
-0000730039 00000 n 
-0000730177 00000 n 
-0000730301 00000 n 
-0000730489 00000 n 
-0000730687 00000 n 
-0000730823 00000 n 
-0000730923 00000 n 
-0000731035 00000 n 
-0000731075 00000 n 
-0000731275 00000 n 
-trailer
-<< /Size 2699
-/Root 2697 0 R
-/Info 2698 0 R
-/ID [<8A8BB657F4142BF37C8ECC8BC9F5443E> <8A8BB657F4142BF37C8ECC8BC9F5443E>] >>
-startxref
-731607
-%%EOF
diff --git a/doc/ppl-user-java-interface-0.10.2.ps.gz b/doc/ppl-user-java-interface-0.10.2.ps.gz
deleted file mode 100644
index f8b3f3f..0000000
Binary files a/doc/ppl-user-java-interface-0.10.2.ps.gz and /dev/null differ
diff --git a/doc/ppl-user-java-interface-0.11-html.tar.gz b/doc/ppl-user-java-interface-0.11-html.tar.gz
new file mode 100644
index 0000000..e3c5f1c
Binary files /dev/null and b/doc/ppl-user-java-interface-0.11-html.tar.gz differ
diff --git a/doc/ppl-user-java-interface-0.11.pdf b/doc/ppl-user-java-interface-0.11.pdf
new file mode 100644
index 0000000..f1fba9b
--- /dev/null
+++ b/doc/ppl-user-java-interface-0.11.pdf
@@ -0,0 +1,23280 @@
+%PDF-1.4
+%����
+5 0 obj
+<< /S /GoTo /D (section.1) >>
+endobj
+8 0 obj
+(\376\377\000M\000a\000i\000n\000\040\000P\000a\000g\000e)
+endobj
+9 0 obj
+<< /S /GoTo /D (section.2) >>
+endobj
+12 0 obj
+(\376\377\000G\000N\000U\000\040\000G\000e\000n\000e\000r\000a\000l\000\040\000P\000u\000b\000l\000i\000c\000\040\000L\000i\000c\000e\000n\000s\000e)
+endobj
+13 0 obj
+<< /S /GoTo /D (section.3) >>
+endobj
+16 0 obj
+(\376\377\000G\000N\000U\000\040\000F\000r\000e\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\040\000L\000i\000c\000e\000n\000s\000e)
+endobj
+17 0 obj
+<< /S /GoTo /D (section.4) >>
+endobj
+20 0 obj
+(\376\377\000M\000o\000d\000u\000l\000e\000\040\000I\000n\000d\000e\000x)
+endobj
+21 0 obj
+<< /S /GoTo /D (subsection.4.1) >>
+endobj
+24 0 obj
+(\376\377\000M\000o\000d\000u\000l\000e\000s)
+endobj
+25 0 obj
+<< /S /GoTo /D (section.5) >>
+endobj
+28 0 obj
+(\376\377\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000I\000n\000d\000e\000x)
+endobj
+29 0 obj
+<< /S /GoTo /D (subsection.5.1) >>
+endobj
+32 0 obj
+(\376\377\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000L\000i\000s\000t)
+endobj
+33 0 obj
+<< /S /GoTo /D (section.6) >>
+endobj
+36 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000I\000n\000d\000e\000x)
+endobj
+37 0 obj
+<< /S /GoTo /D (subsection.6.1) >>
+endobj
+40 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000H\000i\000e\000r\000a\000r\000c\000h\000y)
+endobj
+41 0 obj
+<< /S /GoTo /D (section.7) >>
+endobj
+44 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000I\000n\000d\000e\000x)
+endobj
+45 0 obj
+<< /S /GoTo /D (subsection.7.1) >>
+endobj
+48 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000L\000i\000s\000t)
+endobj
+49 0 obj
+<< /S /GoTo /D (section.8) >>
+endobj
+52 0 obj
+(\376\377\000M\000o\000d\000u\000l\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
+endobj
+53 0 obj
+<< /S /GoTo /D (subsection.8.1) >>
+endobj
+56 0 obj
+(\376\377\000J\000a\000v\000a\000\040\000L\000a\000n\000g\000u\000a\000g\000e\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e)
+endobj
+57 0 obj
+<< /S /GoTo /D (section.9) >>
+endobj
+60 0 obj
+(\376\377\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
+endobj
+61 0 obj
+<< /S /GoTo /D (subsection.9.1) >>
+endobj
+64 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000\040\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+65 0 obj
+<< /S /GoTo /D (section.10) >>
+endobj
+68 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
+endobj
+69 0 obj
+<< /S /GoTo /D (subsection.10.1) >>
+endobj
+72 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000A\000r\000t\000i\000f\000i\000c\000i\000a\000l\000\137\000P\000a\000r\000a\000m\000e\000t\000e\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+73 0 obj
+<< /S /GoTo /D (subsection.10.2) >>
+endobj
+76 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000A\000r\000t\000i\000f\000i\000c\000i\000a\000l\000\137\000P\000a\000r\000a\000m\000e\000t\000e\000r\000\137\000S\000e\000q\000u\000e\000n\000c\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+77 0 obj
+<< /S /GoTo /D (subsection.10.3) >>
+endobj
+80 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000B\000y\000\137\000R\000e\000f\000e\000r\000e\000n\000c\000e\000<\000\040\000T\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+81 0 obj
+<< /S /GoTo /D (subsection.10.4) >>
+endobj
+84 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+85 0 obj
+<< /S /GoTo /D (subsection.10.5) >>
+endobj
+88 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000e\000f\000f\000i\000c\000i\000e\000n\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+89 0 obj
+<< /S /GoTo /D (subsection.10.6) >>
+endobj
+92 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+93 0 obj
+<< /S /GoTo /D (subsection.10.7) >>
+endobj
+96 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+97 0 obj
+<< /S /GoTo /D (subsection.10.8) >>
+endobj
+100 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+101 0 obj
+<< /S /GoTo /D (subsection.10.9) >>
+endobj
+104 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+105 0 obj
+<< /S /GoTo /D (subsection.10.10) >>
+endobj
+108 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000D\000o\000m\000a\000i\000n\000\137\000E\000r\000r\000o\000r\000\137\000E\000x\000c\000e\000p\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+109 0 obj
+<< /S /GoTo /D (subsection.10.11) >>
+endobj
+112 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+113 0 obj
+<< /S /GoTo /D (subsection.10.12) >>
+endobj
+116 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+117 0 obj
+<< /S /GoTo /D (subsection.10.13) >>
+endobj
+120 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+121 0 obj
+<< /S /GoTo /D (subsection.10.14) >>
+endobj
+124 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+125 0 obj
+<< /S /GoTo /D (subsection.10.15) >>
+endobj
+128 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000I\000n\000v\000a\000l\000i\000d\000\137\000A\000r\000g\000u\000m\000e\000n\000t\000\137\000E\000x\000c\000e\000p\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+129 0 obj
+<< /S /GoTo /D (subsection.10.16) >>
+endobj
+132 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000I\000O\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+133 0 obj
+<< /S /GoTo /D (subsection.10.17) >>
+endobj
+136 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000L\000e\000n\000g\000t\000h\000\137\000E\000r\000r\000o\000r\000\137\000E\000x\000c\000e\000p\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+137 0 obj
+<< /S /GoTo /D (subsection.10.18) >>
+endobj
+140 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+141 0 obj
+<< /S /GoTo /D (subsection.10.19) >>
+endobj
+144 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000C\000o\000e\000f\000f\000i\000c\000i\000e\000n\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+145 0 obj
+<< /S /GoTo /D (subsection.10.20) >>
+endobj
+148 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000D\000i\000f\000f\000e\000r\000e\000n\000c\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+149 0 obj
+<< /S /GoTo /D (subsection.10.21) >>
+endobj
+152 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000S\000u\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+153 0 obj
+<< /S /GoTo /D (subsection.10.22) >>
+endobj
+156 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000T\000i\000m\000e\000s\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+157 0 obj
+<< /S /GoTo /D (subsection.10.23) >>
+endobj
+160 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000U\000n\000a\000r\000y\000\137\000M\000i\000n\000u\000s\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+161 0 obj
+<< /S /GoTo /D (subsection.10.24) >>
+endobj
+164 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000V\000a\000r\000i\000a\000b\000l\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+165 0 obj
+<< /S /GoTo /D (subsection.10.25) >>
+endobj
+168 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000L\000o\000g\000i\000c\000\137\000E\000r\000r\000o\000r\000\137\000E\000x\000c\000e\000p\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+169 0 obj
+<< /S /GoTo /D (subsection.10.26) >>
+endobj
+172 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000M\000I\000P\000\137\000P\000r\000o\000b\000l\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+173 0 obj
+<< /S /GoTo /D (subsection.10.27) >>
+endobj
+176 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000O\000v\000e\000r\000f\000l\000o\000w\000\137\000E\000r\000r\000o\000r\000\137\000E\000x\000c\000e\000p\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+177 0 obj
+<< /S /GoTo /D (subsection.10.28) >>
+endobj
+180 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000a\000i\000r\000<\000\040\000K\000,\000\040\000V\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+181 0 obj
+<< /S /GoTo /D (subsection.10.29) >>
+endobj
+184 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+185 0 obj
+<< /S /GoTo /D (subsection.10.30) >>
+endobj
+188 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000a\000r\000t\000i\000a\000l\000\137\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+189 0 obj
+<< /S /GoTo /D (subsection.10.31) >>
+endobj
+192 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000I\000P\000\137\000D\000e\000c\000i\000s\000i\000o\000n\000\137\000N\000o\000d\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+193 0 obj
+<< /S /GoTo /D (subsection.10.32) >>
+endobj
+196 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000I\000P\000\137\000P\000r\000o\000b\000l\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+197 0 obj
+<< /S /GoTo /D (subsection.10.33) >>
+endobj
+200 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000I\000P\000\137\000S\000o\000l\000u\000t\000i\000o\000n\000\137\000N\000o\000d\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+201 0 obj
+<< /S /GoTo /D (subsection.10.34) >>
+endobj
+204 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000I\000P\000\137\000T\000r\000e\000e\000\137\000N\000o\000d\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+205 0 obj
+<< /S /GoTo /D (subsection.10.35) >>
+endobj
+208 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000i\000n\000t\000s\000e\000t\000\137\000P\000o\000w\000e\000r\000s\000e\000t\000\137\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+209 0 obj
+<< /S /GoTo /D (subsection.10.36) >>
+endobj
+212 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000i\000n\000t\000s\000e\000t\000\137\000P\000o\000w\000e\000r\000s\000e\000t\000\137\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\137\000I\000t\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+213 0 obj
+<< /S /GoTo /D (subsection.10.37) >>
+endobj
+216 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000l\000y\000\137\000C\000o\000n\000\137\000R\000e\000l\000a\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+217 0 obj
+<< /S /GoTo /D (subsection.10.38) >>
+endobj
+220 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000l\000y\000\137\000G\000e\000n\000\137\000R\000e\000l\000a\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+221 0 obj
+<< /S /GoTo /D (subsection.10.39) >>
+endobj
+224 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+225 0 obj
+<< /S /GoTo /D (subsection.10.40) >>
+endobj
+228 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000T\000i\000m\000e\000o\000u\000t\000\137\000E\000x\000c\000e\000p\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+229 0 obj
+<< /S /GoTo /D (subsection.10.41) >>
+endobj
+232 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000V\000a\000r\000i\000a\000b\000l\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+233 0 obj
+<< /S /GoTo /D (subsection.10.42) >>
+endobj
+236 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000V\000a\000r\000i\000a\000b\000l\000e\000s\000\137\000S\000e\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+237 0 obj
+<< /S /GoTo /D [238 0 R  /Fit ] >>
+endobj
+240 0 obj <<
+/Length 1151      
+/Filter /FlateDecode
+>>
+stream
+x��VIw�6��W��W�=���D�ڵ�\K�i
Ql�( G��
`�͖��z���7��Q���qD_�~���]$��2�Y{ӹNJ��,�Ҝι7}�>�Ӆ
B�P�6`�/T+ܶo�
������)������r�e�rF
+���+p�
8�p��V�r�/;-�<`���V��p�;+Z���1H@�ѭDc��]��c �$��B)�s�N�/J#=
;,r�RH9ai�N�7�TC�wG	cp�vVv����
��$)Cw�L*ݣ�Quز�1�"P����{1�"G��@��J
n�Q��$&E���
�7���Ms,�b�U����X	�iz�u�I�񧘛Db�:�4��Iq���P1�A.4�N
�xU��`��})�����ϧ��#K�1��@L�l�v��3�
��ʣ��=Z��ciAX����&�߱	�����M�P^XIʏ�.@�
�2�$gѦWjS���
5�����p�3)M)��_
+��5���WZ>8��O�(
+���
��2�N���wۑۖ�Ë�kg��e�kp��x�� �*���-K�W�ܥ1�
�)��:^r
ݮ�ĝ蜟�岩��
:Q/B۷!bb����i���V�
�P�s =��7�w�),Y�s$b��
+r
+�{��2����hQ��
+�ӛFb����l�J����RIm%�������
3'6N��y15J�4�?YZ�ڷ���ӾӪo‹�7y}��q'��P���^q.9N�\U�&�
+�0�!Joq[�0���
����*Ԝ�j�Z�\i8�ҋ�Ÿ��ݏ���L���(��qS���

4�ͨ3_�ӐWw�.y����GP«�U��A��<����ҹoJk�%'�;r�}rrK�!rCw���c
�h�p^�Ѷ4�T��3��&���l3e.w��$G�Ȝ
�P
q�uա �,lo��;��?��ܝ�Y��Jx��TH�
�1y~��I?�vP	�^�g�h���t�Zȏ�o�y|��
�8�'���b~�Y��+���-��7J�Cr8�IlmJ��= w�8"�m;��ܞ���
Ȫ���LIRk���I3�[ٹ�0��N27����9�����N�RCDA
+`G�	��{�<�
�{\�/�OI#��@DIV_N6�.��9�j���1�kcu#K~�7ߟ?�o���������W��� 
��
+endstream
+endobj
+238 0 obj <<
+/Type /Page
+/Contents 240 0 R
+/Resources 239 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 247 0 R
+>> endobj
+241 0 obj <<
+/D [238 0 R /XYZ 90 757.935 null]
+>> endobj
+242 0 obj <<
+/D [238 0 R /XYZ 90 733.028 null]
+>> endobj
+239 0 obj <<
+/Font << /F56 243 0 R /F23 244 0 R /F40 245 0 R /F41 246 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+273 0 obj <<
+/Length 1725      
+/Filter /FlateDecode
+>>
+stream
+x��Ymo�6��_�o��Z�^�/s2�u�:��l(ҢPl:*K�$/ͿߝHʖb�IZ�O$��
y�<GR"ƭA�W��Y���'Fh�
�����{�v5f
��<�
�����z?�0
Fl�af���ӟu��P��V�]���k�ם���X��� 6��5�#1��?;d%��Z	�6�\��lcQb������%�;�RYc��w�y�P"%��F�e&��m呚E\r#��
{�ƛ�r]ӎK�v�Ubt�o{̑�g�����|��Z�B�<���\	Y[�5�|�L���~%z��&����r���Q�c��㢈���rFL\��y��b�
j�FQ8WN�<�|"
���(a��nK!�E��$�e}�-�彬�+�}�MT�M"�C��֥g�F5_����<���C�p��ߕ��������x.�B���g�eQJM�u?���
� J�����D�P�Q�?s��I�b���捚��E#p�
]��c\WC��W�i�,�еQ�$�h&��=HM̰�_qP`��媱���� �
+f��8�`⩘���z���<K��Y���.��3g�OL��OV�`QS��1�r�Vr�?>����(
��:Ǟ�QU)�h�T�
*���lT<�2�'������E�B�W6 q��h!�W����*�L*7W@�a:R�!���V;F��9�v�1x)+-�\Vf8�bl
 ��
5�RY�����R�5
�=��kց�R�H��Q�sȮO�+"y�
r��0���-РfTH�>Y@\��_"

Q!�I-�`��P@�F�"1��R.��4��~���
 Ť�r(�%?���
��.�������'(�[
+�§
i�
;Z`�
+�2
�B����Դ�� ��8;"`cG
�"�W�Q�
����pp�(18돦��Q�9��sIt4�P���a�*�-���J)���D�n��m!���Jղ��`���j&��Fo�Ԣ0�7��F��V�*D92�fz��,+��
r���h�IbI �T8���^J$]�Mr�
Z! �t0
�ު�,��Q:U�ˉ��d1�e�&�G����j�S����rڷ���PkR�kc�����I�����R���nr�o0e'���K��d��
+u��n�e�N��8��[����Q��e���a�{,ۻ=RN�p4�n���*��˓���;[_���w��$'
;՝�:6w<�ʺ�6
�,��B
+���,���u��2��
+
�
J1�D�0
W@�m�R
lBC}��2 at WD+n���LYy<L�� �G� �
�J��x��yn��|��
]~�X��vf��&�� �Om_�s���/���k<D ��Z�z��]���V��

����-�0|҄�)F�Q���Ϻ���q� q@F�Z�h~
#��lq8{48��
+� qkh��
�l�s���
+���Y��I^��=��cH��|eᕳ�	�g����🅉�Y�P9�?��C��g����kΏ� $8p�h�f��0�=��g
"*i5 at ."| �oD
+'Qz�ū��*<U���q��&��G�!ԡ�����GB�3Y�|$�56�p���o���s����X�\��}�
˃��$�?n3�6r� �9o�ۿ;<��^�ؿ
�/�g�>�_7�]���i���JtU������&J��U���Z�ЉIlJ��.ESq�k`��m��$7����'x�M
+j���g
�p��gs�]xc�Tf�?G�� �d�@O
+endstream
+endobj
+272 0 obj <<
+/Type /Page
+/Contents 273 0 R
+/Resources 271 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 247 0 R
+/Annots [ 248 0 R 249 0 R 250 0 R 251 0 R 276 0 R 252 0 R 253 0 R 254 0 R 255 0 R 256 0 R 257 0 R 258 0 R 259 0 R 260 0 R 261 0 R 262 0 R 263 0 R 264 0 R 265 0 R 266 0 R 267 0 R 268 0 R 270 0 R ]
+>> endobj
+248 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [385.063 672.708 490.947 683.612]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
+>> endobj
+249 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 650.855 322.585 659.702]
+/Subtype /Link
+/A << /S /GoTo /D (GFDL_GFDL) >>
+>> endobj
+250 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [231.464 619.218 337.877 630.122]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
+>> endobj
+251 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [440.112 607.263 513.996 618.167]
+/Subtype /Link
+/A << /S /GoTo /D (GPL_GPL) >>
+>> endobj
+276 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 597.365 169.87 606.212]
+/Subtype /Link
+/A << /S /GoTo /D (GPL_GPL) >>
+>> endobj
+252 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [219.806 511.177 383.194 521.075]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+253 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 443.46 151.499 454.339]
+/Subtype /Link
+/A << /S /GoTo /D (section.1) >>
+>> endobj
+254 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 417.776 229.087 426.752]
+/Subtype /Link
+/A << /S /GoTo /D (section.2) >>
+>> endobj
+255 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 390.189 252.131 399.165]
+/Subtype /Link
+/A << /S /GoTo /D (section.3) >>
+>> endobj
+256 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 362.602 165.446 371.578]
+/Subtype /Link
+/A << /S /GoTo /D (section.4) >>
+>> endobj
+257 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 344.998 163.723 353.844]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.4.1) >>
+>> endobj
+258 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 315.488 180.928 326.367]
+/Subtype /Link
+/A << /S /GoTo /D (section.5) >>
+>> endobj
+259 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 297.729 192.764 308.633]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.5.1) >>
+>> endobj
+260 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 272.179 155.484 281.156]
+/Subtype /Link
+/A << /S /GoTo /D (section.6) >>
+>> endobj
+261 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 252.518 192.714 263.422]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.6.1) >>
+>> endobj
+262 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 226.968 155.484 235.944]
+/Subtype /Link
+/A << /S /GoTo /D (section.7) >>
+>> endobj
+263 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 209.244 168.435 218.21]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.1) >>
+>> endobj
+264 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 181.757 206.393 190.733]
+/Subtype /Link
+/A << /S /GoTo /D (section.8) >>
+>> endobj
+265 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 162.095 225.67 172.999]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.8.1) >>
+>> endobj
+266 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 134.642 221.874 145.522]
+/Subtype /Link
+/A << /S /GoTo /D (section.9) >>
+>> endobj
+267 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 116.884 321.39 127.788]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.9.1) >>
+>> endobj
+268 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 91.334 196.43 100.31]
+/Subtype /Link
+/A << /S /GoTo /D (section.10) >>
+>> endobj
+270 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+274 0 obj <<
+/D [272 0 R /XYZ 90 757.935 null]
+>> endobj
+278 0 obj <<
+/D [272 0 R /XYZ 90 463.931 null]
+>> endobj
+271 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+320 0 obj <<
+/Length 1288      
+/Filter /FlateDecode
+>>
+stream
+x��ZYs�:}�W��♋�.9ӹ3m�N�,�B��v<.Q��M�i�elg��% ��E��s��-Z�7����a��
q�A���^<�`@�W�e{��|px>���'
�< 
�WmIR�m
Z?[�M�����
So8i]~ޕ�� �»]<5���8���[����}5�:�\�
e����x
� 0Z��;���4V�8�f�y��h��P����{��� h����CڎU<��T~����lV�~��R�t(���.;��v��� a�Ͼm���~ɑ>v�U"�d g2���9_`o�
+�b�/ ��	26@�p=A�=��
��g��w�#ϔ��U
��!�y��?�
�P�ޔ�^a���� HNie�'$#�G��f�6X(�fY���@M��^���I&�}Dۥ?�4��Gn�G��=M�HS:R��� ������<�o�OԿ��rҜ&��f�X�Ah�a�`��8��!L�j�R*�K%lL��To��R*��b (z�3�D�
*�����PN��&5	�w3|
�G�J�E�K!�i'A�NQC��}D@�=q(P 60����A4�[��RV�+��K�9s�
�:���'����Y�&��h��]����p�Cf�PBf@}a�|J�.�J��`��ԝ�t�߸'��d����$�qz��lf������BEhIE���	���
[��q��"��5��aZ����m�M��:���"������Yx�j�9k�H����T7DgI:���(\]������WB؎U�Km��,P�`TC�w����{�F
�a��.� [...]
ԁ�!	_�4lb���w�xZ6Zm�6���
*
ϋ�ݣy:��Ϥbۓ5��{-6�=
��0Yd���Jڬ��-p�0a�����8ۭ��
&�063�����^
��[s�=�����EIiI�hG�{��@ J�^���L�:�,�
��
��

��Sw(�1[ct�ۮ���^���<>�R�D �h����7Ƃ�cQ�j�a at ie��M%��B���i)/��
'����9NG�xTuu�jv�}m�����2��/��vE�Y���qy�
PPU�3���n��2�;�˚В�����S�m=��KT�� ����^�{{{
g�<M�*H��t:�>��M�@w[ur][z��ŏx
̘�A���u�v&�~p�󩍵�5ā�
+endstream
+endobj
+319 0 obj <<
+/Type /Page
+/Contents 320 0 R
+/Resources 318 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 247 0 R
+/Annots [ 269 0 R 281 0 R 282 0 R 283 0 R 284 0 R 285 0 R 286 0 R 287 0 R 288 0 R 289 0 R 290 0 R 291 0 R 292 0 R 293 0 R 294 0 R 295 0 R 296 0 R 297 0 R 298 0 R 299 0 R 300 0 R 301 0 R 302 0 R 303 0 R 304 0 R 305 0 R 306 0 R 307 0 R 308 0 R 309 0 R 310 0 R 311 0 R 312 0 R 313 0 R 314 0 R 315 0 R 317 0 R ]
+>> endobj
+269 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 719.912 383.795 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.1) >>
+>> endobj
+281 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 702.288 426.953 713.192]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.2) >>
+>> endobj
+282 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 684.664 386.152 695.567]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.3) >>
+>> endobj
+283 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 667.039 360.165 677.943]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.4) >>
+>> endobj
+284 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 649.415 346.625 660.319]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.5) >>
+>> endobj
+285 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 631.79 350.74 642.694]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.6) >>
+>> endobj
+286 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 614.166 385.061 625.07]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.7) >>
+>> endobj
+287 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 596.542 344.114 607.446]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.8) >>
+>> endobj
+288 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 578.917 378.435 589.821]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.9) >>
+>> endobj
+289 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 561.293 406.082 572.197]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.10) >>
+>> endobj
+290 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 543.669 342.431 554.573]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.11) >>
+>> endobj
+291 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 526.044 376.752 536.948]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.12) >>
+>> endobj
+292 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 508.42 365.674 519.324]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.13) >>
+>> endobj
+293 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 490.795 399.994 501.699]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.14) >>
+>> endobj
+294 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 473.171 420.757 484.075]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.15) >>
+>> endobj
+295 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 455.547 313.111 466.451]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.16) >>
+>> endobj
+296 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 437.922 402.207 448.826]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.17) >>
+>> endobj
+297 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 420.298 377.858 431.202]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.18) >>
+>> endobj
+298 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 402.674 426.863 413.578]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.19) >>
+>> endobj
+299 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 385.049 425.18 395.953]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.20) >>
+>> endobj
+300 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 367.425 401.11 378.329]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.21) >>
+>> endobj
+301 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 349.801 407.397 360.704]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.22) >>
+>> endobj
+302 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 332.176 438.181 343.08]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.23) >>
+>> endobj
+303 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 314.552 416.034 325.456]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.24) >>
+>> endobj
+304 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 296.927 397.225 307.831]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.25) >>
+>> endobj
+305 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 279.303 359.058 290.207]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.26) >>
+>> endobj
+306 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 261.679 411.213 272.583]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.27) >>
+>> endobj
+307 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 244.054 358.347 254.958]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.28) >>
+>> endobj
+308 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 226.43 408.144 237.334]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.29) >>
+>> endobj
+309 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 208.806 368.871 219.71]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.30) >>
+>> endobj
+310 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 191.181 383.955 202.085]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.31) >>
+>> endobj
+311 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 173.557 355.741 184.461]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.32) >>
+>> endobj
+312 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 155.932 382.311 166.836]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.33) >>
+>> endobj
+313 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 138.308 366.441 149.212]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.34) >>
+>> endobj
+314 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 120.684 438.51 131.588]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.35) >>
+>> endobj
+315 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 103.059 472.811 113.963]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.36) >>
+>> endobj
+317 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+321 0 obj <<
+/D [319 0 R /XYZ 90 757.935 null]
+>> endobj
+318 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F11 322 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+332 0 obj <<
+/Length 2736      
+/Filter /FlateDecode
+>>
+stream
+x��Z[wܶ~ׯط�� ��<%i�:UR�R�'G�ZbW������
f at .��"����
n�o�X��n!oξ�:;�K$�HB
.���D.�P�@��U���T����4/��n��2ݙ�oW?.|
�؋'�쇫�����B���HD^����>�&�\H�%�����/|���X\���L2o����F�� <�VI_$����'d0�w�Z���ާׇ�x�5Y�^�M���_����Uy��i�W|�i���lMmʍ�g����ڋ�R������$Cor�� {�ȧ�w�"j�"~o̗A��
�@��1Hz	����0�c`��'z.>����i|�V^�������>o���|=uI��������+��2���0χ����Uc^�?।���
 k�/M�|���
N� ȆQ�
�5F���ȴ������h:�m���D�}^ݢ��1.	�1v��sZ)�^�4����!�������}��=-��������
��jk��?�+-�w+

�P����.$�� �
Á��5�0�@UR"	�����;���>�`��4�n+���xYv{S直�7M[��M��W�
x*���
��Lc����e����DonӃi�Xm�tW��јi7 ����
�(�fo�� �����~5]	��]P�meV��U|K;S��u�`]e݆�/#(��v<W
����
+��5M�͡6
0H	��HP_=��� ����&C�8e��$Ό�����ѥ��
���G���G+�vEGv�O�s9i�uט�6ߧe���\$E���,z��_�
�p�ߏ]�Z�@����+��M�ߠvj4���f�
̦m
=m�\�8�J�7<�rSy�Ė�Ė��|[N�5`��x�X�	V��-��g��b���M˛��Ժl�/�z]�愔Ec��o��-�A�
+E¢s�rX�1�
f^6mZ֑AM�}8��3T�/�
+s~�5���t��r��zn#)�89�缨6�Z$"��#�7���Z��,�
O
�0$�CYh��.7���Ժ�V�zZh��!�p|���-���
 ��

�
NTX붍�.��An�Zט�I��Dc�#�
�Vr�b��8b��N������*1�h�{�;DF��
 ,����d������E���R2:�4<���1^ }��X�Ņ�9����1���`����c۷zޕ�
�86����I��y]�����+�xa�
@��V�C���ˋ����h��ő0�������S��b�g�
�6�
�zmJ�wM��Y͌a(�?�dž��|l�vK�M. �7
+��k�ͅ
L#/cg1����,�3��n���Z%�'C5�8���>"��;k��S/h�Hߴ�!�"��/���
'l�'N��?�ސ�ЙN��	�?v��`(9�9���$�Y�ѹ�?�w錐�Xh��Q�����E��m�
�ۇ�k+�r=�:;���&��Cd]�w
��:
+E���y!��z�44#e"$!��`RQ2P����b�:ۥo���r�Ѫ�
tC4��Q$?�hz~8���a

�:A-/s뱐;P�Ʊ�)��,���=RqH�kr11���
�t�|&�*��,
+�9eўO
+�{̭��~���z0�
���)i��43<'E|o��y�f1]l�?��Z�"`��)f������o~���"/��D%u���Zc�Aj
%�-��b
Ϭ�^(¨�.�X���Z2n`&È�L�����$,P��jfK0�m���~!u�Vl+�����I궯��cH���Q�9v�m�sV*��s׀ߜX���!�V]��>�Ə�ŷ	��H�{pN֌а-��H1vƘ��H��9��$'�b�h	x�9Q֦��K�J�y΁&"�c���1�[��Hb�����إ�8h
�ob
�X$q<�⽕�d�6Ż�N蛧�^vk���"��-_+�^��[

+јK��)W�(Ci�
��r��
#D6��5���¡�U
���w[����ܼ�%N��,�Л9��7P	��臽��
L[�g�?q��� @ֺ�oh���nz`$t8�|�u❥�9�Kq���������	�J�C�Z} $�2�r��lӺ%c -��'�GJACR(���y^�m����I�ԼI
�z��l�$o
������ܡ^7ad�,��t�Q�
�������D��a���	�6>V�'��p߬*�}!
+l�R:L���N0�
o���ӡ�Peo�r|s,��j��{��_�8xI"'���
S~~8�^V�SC3�2���r
+��K�ǽ��C�OQ�=�uZ�X�6<
1���-�����_�$��>�k����{^։����UN
 Z����w�_;����:T��pјv�>�=!e���[��^>̧m�<�'7��&�����z�jD��F'�
�`����U�t
+8�rS
�}W�����J
+
�������u�(�y�^RuKԔ>Mw���#v▾��MBaŠ�@G�y�РJ����P/��
+o|ro����[�۴��J
��p����=Y�T� 6?�O��
�Z&Bɀ���
�ƕ�-�n`�G�f��'���u��V��s����CC(�j7��� A�O8:~�����t/�MOK�
��d���ӷ���џV1��
���a
N$b���6�4��:���µ�F��pA
����m�������{�iDW�Z�-֬�bvQ��>.U,[�*��Px�CD�F�h�H�B�����
+endstream
+endobj
+331 0 obj <<
+/Type /Page
+/Contents 332 0 R
+/Resources 330 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 247 0 R
+/Annots [ 316 0 R 323 0 R 324 0 R 325 0 R 326 0 R 327 0 R 328 0 R 336 0 R 329 0 R ]
+>> endobj
+316 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 719.912 381.205 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.37) >>
+>> endobj
+323 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 702.288 381.195 713.192]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.38) >>
+>> endobj
+324 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 684.664 348.538 695.567]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.39) >>
+>> endobj
+325 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 667.039 381.395 677.943]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.40) >>
+>> endobj
+326 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 649.415 335.796 660.319]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.41) >>
+>> endobj
+327 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 631.79 357.384 642.694]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.42) >>
+>> endobj
+328 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.923 222.642 513.996 232.923]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library) >>
+>> endobj
+336 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.828 210.687 179.664 220.584]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library) >>
+>> endobj
+329 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6 0 obj <<
+/D [331 0 R /XYZ 90 617.096 null]
+>> endobj
+333 0 obj <<
+/D [331 0 R /XYZ 90 582.427 null]
+>> endobj
+335 0 obj <<
+/D [331 0 R /XYZ 90 468.9 null]
+>> endobj
+330 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+342 0 obj <<
+/Length 2835      
+/Filter /FlateDecode
+>>
+stream
+xڥ�r���]_���)�}�Oky���*+9[�wKC�8"s�>}���h�/D�LOOwO�C{�[؋���..�D�"���
w�Eb/�б�Y��OKw�v{���� �RMZ��ߔE��"SU�`�~
�~�{�����
���"+�Ev����a��¶�$^<�a�
|����?.la�
��#v
?���]D�mš�<���֛�[��k�LY]�|{�ߕ,�|a�uyګ�I_��q_d{aK[�
�-��od������
/��2�f��N`Ŏ�<�U�P��8�ۨ2튺JKd�u
��60���(L�z}�O������& ��u�	M���Q
^3b��2
+L�
�J���������?�F�Fw:�����U*���i�W �n�u�	\T*�j7�G�����L�֌?��[�v���e}S!� �C;Bݮ�%�GF�8@�C;\�����U��	:�8���z��
���jqՐ
l&��7g�`(�҈4N�)봓��$��5x�!|@Ŏg�p�o�GE�"��S/��n��y��By}H�ʚl�+�5V��Qn(����l�$d
�|��=�+
_5����ݦ���Ԡc��
6��ꀡ4��z�6�ñTϗ�y�N�<�]
�:�� ���Z4~_��@F�u{��|�V\�=��~�FT)���P��t�>gP����f��L�O5�Z3�� ��!�_��S�Od����<�Q�?�uY��m|�f0 ��T4ޑnj\�lBS�0M2ꃴ�A�	�U��R�Ο���1�D4�^Ϸ-'��31ƛ���Y�k��i�(x+k/
��
���JuP�,Ӊ�"K#�OM\���O9w��r4C�R��X�|*#����$ [...]
u�2	Cr���FW[~�L�+��F�Ǻʉ8��z��υ��Z�=G�o�j�/݁?|� h} �Xt{��c�)�,���!VᎭmd�{~8c	��D�F�<��!�"c-~�mW�q�o�
�2���n�f3h�2��;�HQ��QݣR��z�
5�D�6"�:	^��zn���a�7�
��#g�5Ha3N<	�gP�3��,�M&��

v!�y^TB��C���*9��
+�i�:+���U�t�-�GH^��,
���>B)�S��t[1�w��.@��c

��2����
Y����ӎ��>l�J�o S��NO 
��e���_a���j�
+�F
Aq`UT����EB�<�
M��rG�h3r'�°Q[HxUFʅ1_�ip0 &H �N�1Eb���03�u_
+�!��a�tF
+�F`��M^
��S���k��#(hS�Ewb��gW��ˁi���$�0�
�]�	���W^�
�et	@�J�7���
�ݬb�%�dTaz�O���l߸��,'V��甀���s&eA|i�bէ�w��0�,�2��* �&eV^�KIƷGv��}*dd
�!����j�R�N<���/�V�����!T�\u�9���4� 
�k��*%�[
Q�b�*�"-�?�V!t	� M��~Ӫ�=�
�]����q������L
��o\���)�S}��(���Lۋm�
�64^9)��׭��
*���H]@qn޸�<����7me�cm�D�� Ȓ�	���h���ySc����CsA��o%v��ci#w�'�
�'ފ�
+W�FV�	�\9����^�OQ7����Oum;2�Y�+4���ʱ�������v%QM�$�M�tRo�G�g:�q}�ӥ	�L�??s=,4��Ŭ�qA�v`*�}�
�vy�m�V��.��ӭ�VL��~��Мj΍��	Ե�
G�DR?6�	F⤃
	�M�As�;�$�7 ��asA�]z "��'����:���
���h)���}Z�RE�;�^��
���R��T>�F�t�j�߉}�_��x���v_�1��d��g�8���[0�����\��P�7rU���3mo
n+XP���v�6��������@��Omy��p���h�@(M<� �лB�븡�s�lһs��{<"��o�����,>��3����P�ЫL��{��<�SlJ�+9q;�XG`b����<�BQ��#��i�@ns�00��p�Nh
D�:SU�����>mRXd�����.��"/ՏR��� Kmim�B�%����QD��v�֤�M�A�>��f���`��X�33���0St�
s
+�q��Ӗ�>*���7吋�4���<�zЙ�tu�Á�:����l'G�)J����"����%%�Rz<�	�Yd���|(�N���G�*U�����+������v�����H��1F�#ܚ�S��*��
E��wu}6���m\���>4�*}�)�=ߘM0�!R�
�O
)�N��|��p��y ��
�#ٖ����������|�_,�DF!˗V�#G��(��I:���˫��!:�����'������
}�G�f�3X�pl���_
+��N�g�$f��@S�M9"B��6�
����"��Q�*09a�����\ �
�X  ;%�
+�}r>	W4�=?��
���^�I�"f�Ğ^gb�z�f�U{�n��ӟN�g]�$na��KxU�H���h><�i� T�������J�0~�_�����J"/�z��
+V�P��
����J�M�6Q�/��
�ҧ;��ch�t#�L}���U N��S�1�壤Ɠ��8h��n��v�=�¦ g���㣕�V_��*�K��gj]OdޡM�v�%�@c
Z�
.�зD�omQ�A���%�
�J
+endstream
+endobj
+341 0 obj <<
+/Type /Page
+/Contents 342 0 R
+/Resources 340 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 247 0 R
+/Annots [ 338 0 R 339 0 R ]
+>> endobj
+338 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [297.062 293.035 388.718 303.939]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://fsf.org/)>>
+>> endobj
+339 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+343 0 obj <<
+/D [341 0 R /XYZ 90 757.935 null]
+>> endobj
+10 0 obj <<
+/D [341 0 R /XYZ 90 365.251 null]
+>> endobj
+345 0 obj <<
+/D [341 0 R /XYZ 90 331.265 null]
+>> endobj
+280 0 obj <<
+/D [341 0 R /XYZ 90 331.265 null]
+>> endobj
+346 0 obj <<
+/D [341 0 R /XYZ 90 225.857 null]
+>> endobj
+340 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F72 277 0 R /F11 322 0 R /F23 244 0 R /F8 344 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+350 0 obj <<
+/Length 3237      
+/Filter /FlateDecode
+>>
+stream
+xڍ˒�6�>_�[�����r��I�^ۙ]O[I�PC�
+HF������Ю\F@h4���	W�U����Owo~څ��f�����ڇ�]m�8Z=��߂x��a���_e�kmUœ���2�?�B׭�I�o� Y�����ǧ�?�"�*\E�:�mvI�*�w���J�X��d�������	�V�/w��
�d�ٌ�8لY�d>��0h��mp�M���'���<��x��{���U3�ֺ�Q�O�u���4е`i���-��9��5��/d'���FHQ���!���u�-r��E�}*���$��f���y���Cc5�.IbƉ�Nj
����v�ԂD���nͳ�Lgt�Ps�_��4mg�3��;�����
�ĵ͡���0PBRBO�#_x߹)���e��qo�@&.3�xU�
2	88X�,
*$�ĸ��6Y��B
�|�9�
+&�U�KE�{"WXZ��+���	��J���ʼn!���G������I#M��θ�Bʡ�E%s�HR��ܷ
�.�mywS3�4�r6Ң,Ʈ�@ȮIGs���>h�Yv	/[�w'�1�) �Յ6�Ք���~�g
�i�2a�Y��rv�w����w R"��u�h�9�X��h7����B�
8��f�т{(d\4�ްX��%��:=�x���W�pg?jS��u
����g/�
����b�
�n䗪���h�:�����	D�L�6@~~�ȃ�9�D�#������t'�CF�0��ӗ-2���i�����ځ[�1
�F>I�8����Â|��?^�El�����3�t'���L�� �kG�+�q
�K(~�M��u�]�s���
~�US6�e:�6�l�V�$�	�����õ�p6��;5Μ8��{�7��%�
�J+[�ʞ�RAh���tX�g�,�"{�Uu'��/хn3��%a���A�������
\(0�
��`<5<8D�ľ������/��7��p��P*��a�-�E���g-;��;
�^�T}�����"��Q���+�<��T�su#{��u#�
��6�n���M5S�2�p.{1p�!�w.��/
��}��,��H�s+�9�D̈Xv�CIxr� �xs��u�^8�%��k
L�fҁ

P�8l���”�+�,֫*`[<��-
+�����z�

���ƹs�O����y�C_�2k|����h�� ~'|���!)s�ːm�ւ�y�&�$g+��_VS��d0�A��O~���
T<�!��<!�p�10R����n���P��]
��)
x\�j��>e�<�x�W�
�>X���9�_O����	�0�& �*.
wt��wnA�8
�5��S %�M
Mj�I��i>��G��۲3\x�H��
�
z- ��뽈1GF� ��f�.����!�;5��
�7�&���� �;���Ɲl�g�Ѻ3�����s��2P?�%ȧD�c���dP�JO�S	B��-�
!1e'���N��H�d��}�
�a3�s��X���AJ�`)r\���a��J��t9����D���(����$M]��d�v'�%p
�
�ES��*:��rx�	

#���9���TpB2�W����>��"^9-D4K
�x
�
Y���<�3�3�Ѹ@J��
8��1��4��4����^w
�*�H�z��EJ��E�n�qX&�9r���iO�i�ib��1%�:

+O�$BKt���>����\*�
�F�<�� ��c�?Y>0
�&�e�-)1x��o
���)K
+���J�d�
�N��gJ��
+�W
��/�}��-Q�U�P��xjzL���|�~@6-���p�B��J��`7���7������y�R}_xL.k)԰xh��ǁTj�1�cl^��v�;����‡�~~ǃ~������_>�������d���$�4�R����I�lv��8N�� �N
mg��i
@2u{�~��~�bJ���0�#��$�Բ�T;� e�
+%��I��Po'��RH�Uv�a""��o!K9�@
+"G�E�/����|�>��J�Z>��A���إ4�ڗ��/f
N���^D��D�$
+�U>�N�)g��Ǒ̳�9^�^�
Q���

b��(e�
+Z��
Pe	�/H#�ĂW��A��UE�ܥ�A冲֭oL
��6u#�3�T�@��\����{]ͻ� V��+x�`�F섙�;9�4�F1��܁����	J.��Z
��W:��t��R�3�EK{b� �������%��;�\���9���Hs�6
 
+1n�96'�W���"�t�;�o�X�4��ھ�<��si? ��V��O�ȉ���4�J"3��[�?�nF���G--����/���-�^4��҂3_~�C��,@��1"���}=�:�q���&��,�4�$�`֡��:�'I�yN2�gΉ�\� ��_qp�PI�(ϸ����t�P��b�
|�Ӊ��R�4��
x��������-8yt�P5q�ư��Ń�e���������EJ��Ԭe� �Z�J �ٶ�N�
<'u)z6$�X����rWp��՗%��-��9�
�E�+c�'g��B��8�\n3uQ�%��~�^%�Rz����+�NrO�H��,����bW��*�x��@S)ߐ�y�I9��, �����kA_�.�m[T.}�R������6��ur�z�[
hbI!K&
�L:K
+wCj�p�d̵��SIQ��Ri?2G0��OA|2�	�#;
+ET�§\�c�%1}�&
�tTC6-���caa�$f�>�rB5�zAw�G�st�����
+.�U_m��t�4�*����Ma:<r��*L���iG�"�ʥR7�Eg�"�1o/\�eⶏ�/ ��`��%Qa�*�^H8��tnAɈ�OTR;CF����k�Ծ�)�>˟M��_�	uy��sj%��4�u�v�	��L�mܜ%:bB�ʡ�ޚ� _���d�yi
�bU��
>oq
+�e��s
++��Z5	k�v��	B�H\��#���H���'����Xf.��u-$)G�ﱕ�d�Ir@�}9�97�/��g���td�&���/
�_9��~���
�~���Y
��T*{[|l��I�V����bW�&F�]�U}��QP����~�~���?��we*
+�U�n"RD�`��;d��e�F����G��P�g�D<u���7o���h7}m.vc�7����yƦ(�n m8n�S
����&	������@��3���\��	D�A
+endstream
+endobj
+349 0 obj <<
+/Type /Page
+/Contents 350 0 R
+/Resources 348 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 247 0 R
+/Annots [ 347 0 R ]
+>> endobj
+347 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+351 0 obj <<
+/D [349 0 R /XYZ 90 757.935 null]
+>> endobj
+352 0 obj <<
+/D [349 0 R /XYZ 90 384.981 null]
+>> endobj
+353 0 obj <<
+/D [349 0 R /XYZ 90 360.656 null]
+>> endobj
+348 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+357 0 obj <<
+/Length 3105      
+/Filter /FlateDecode
+>>
+stream
+xڍ�r����-d����������I6��!e�0��X��� �0_�~
p�*_���WO���`s����}~x�]
l�}�E����)�M���4
+7����m�{��`��?@[ݫ��Cc*�4��Nà(�b��~}������B�*؄tt���8�T��Ͽ��6�>.��+�j7I÷�|z��C0'3��Ȍ�}��Lf��]l?��t�������)J���.
�]����ֺ��l
#��<R�f�����ꎑ������'����QH؅��;���8,�?
=
���
t�CT%�K����㕊��q2����26��vt�� hj[x��Q'��2�κG
��:3�d��O�����\��5��t+��<%`�=8?k�z��{|ǝ«�h���l?uc��Ur���ֲ}�
�=J�qR��g")���DQ��J��\£#1'b
G�\c �je
��?Ds�}��逖!�|���V�{��ڮ6�AT)�
���
Ȃ �'���V�?{�IF���&������
ݨDž�=���|�E	��
��K"�� ���1?�uX�ɋ�X�,�
P�Y

i��y���t���
�"�����$8�p����;Y�?]��>�1Ļ�t{���.K�hq����9+?�ayP)'�4N�o�#�EW$s�� (�tQ�`��Q��;��mYi �({�I{����FXa�WS��xc�o_Q��ێ�&����.�wK�0~����iUk�˂������Gs�Uo����$u��_�/�T��:4r�̸`dlՀ�
wO!�p�W�>��Ⱦ��
@������+���r�<���?�
�✉k�wL��X�,��l�1k;a.�zQ'�<��C��Z���]{��9qIn�B����g�^��jl70��Q�.~����7�o��Tf
'�	Bt�=����6W�!�_mE�0;����rP�?�+��{�xV �$.�z��Ҵ�F�
��
����[+��[CT.�
+s�[đ*j���9ϑ-œB�|FS����4���b@\|z�����
����v�B/�/��K�ew�CcCM�bVƠ���T�� k���iY4-Y��ӊ�
�+������/�D�[�ȱ���>��E��MF�Vq N���βn|\�����`+
�#yp��� �a��xq�¸����9*nw�z�h�B��~�l+�Y#�&0�
2��8c���/��z���֕��
�Y���q� �`�����f��-p� �>�{Ûǜ�� r �Z�SI	۔�X��a��x�E�� 
���e�gU�0n�L���l��9Ȗ�8�������9l
9AӐ#�D����
1��k����D]a%����ƿa&�徘h�/&����ޙԑH�-

`��
��y��������8�~��
�`(��2e���ol����Az3�ֺ#7�
\%1��"�'�O�4�:�M� l����5'�5O���L]׸�z��R�wa��t��c��D��r:aB�� [...]
+�w1e�'��Pn

+CQ[�q��d���`X�ɛ�"H�Gw�{�n#/�(Eo��\�� lZ�a
�A�'�v@����GH �/�5�mA�8K�@�A|���;���U��X{x��&
�x��e5q�(N*�Ez)�`o�J�*��q�dY��/�X��>��s�H�w��D��r� #�צ�3�V��%���$=�Ib
+M�[@$�Kl^� =�j=� l��Q��DB���wc/��-
ϩ{�f�Ia_~����
+C��^����09#
���!i/�a�1X���'��q�w�q耿^?pٱ�Z���+:����0
�Qo�෶ME�jm����m�[�pkw_�9ծ���N$
�o�����48K����:�P��@,�t&n
*g2L�._6u� ��)a��t�/^e���&d�b�[��.�){��#� :��;���$���ޭ6 *I(3�I�~�
g2Y�/ʰ1xd��[HY�o�!m�&RZ����1#��p���
�p��i�ɔa��p49�ƴFn�0܉���դ�s�ҷf��.��0+�8�=H���2���
�p�e�/�wWb*E��4�O]4�`	���֖��/*'�)���ȗ�x�H

+ŏ܂9�[�dy�
��P�e�J��
�������p��x���
���F5
R�Xv卮O�h'@�
!�G�r�7���dYw�
��6h~#O�u��0���;Kˢ��}��۪��.D
��U@�Օ���8�qRHξ�B�kX	D\�i�;/��0.�
v��	2F�
#$�k�Gp�	�T�匹��N'G5
%j?�0��ǘ���q at 2x5<L!d���ѱ�1�?M�Ҭ���3��l�����'���!-��s�Kf����|*��,�
u�3v��y��g��etk�c��L��t�nf���Bh�H�(�$纁�o���`��ZNWi;��������9�T�w������$�7�$�7��Da����<'ޫ&
�
�d�4gs�
I��?�Wd�n�p���/��
��aJ�_# 
+}1���S�jI�Y�I��ͣ#�0JI:�J3���o����Ӄ�- �>�O�_�.4���!#�
��Ww�u
/��
+)��&�>
�Y5G�n1�%I>[QC>_I��,$�g�l�ӓp�I3ț���

O�4@*���|��P���
��qF��L3Yy�=�

���
�#Q��
��u6IYq�떾}j3�k%��3C���8%�������;��K$��D)�+� J�5�/�>_�̫��)点�n�F�q
+jނ�=���NˌZ�ZZ�i��")��0�p�{�7複g���:�_�h9��~�k|V샬��?���}�Dž����4�/E>�,T�J��k�g]���� ���?�Z12-?������2��F)v����sb�nbY�C���_���0+^6
�;�3D4{`��"�)z�y.~����u_�=Tϗ~o�w�K�n��;6�a��c吩k����S�e�8�6O9�	��`�E����W+�
+endstream
+endobj
+356 0 obj <<
+/Type /Page
+/Contents 357 0 R
+/Resources 355 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 361 0 R
+/Annots [ 354 0 R ]
+>> endobj
+354 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+358 0 obj <<
+/D [356 0 R /XYZ 90 757.935 null]
+>> endobj
+359 0 obj <<
+/D [356 0 R /XYZ 90 672.071 null]
+>> endobj
+360 0 obj <<
+/D [356 0 R /XYZ 90 324.168 null]
+>> endobj
+355 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+365 0 obj <<
+/Length 2802      
+/Filter /FlateDecode
+>>
+stream
+xڥْ۸�}�Bo+U�px�O�o��:N<����	I(�Ђ��}��
��p\N�E�F_��7Ǎ����OOw�o2SxE���æ�7YxIl��ͧm�{���_y [�EM��V%���J��&y
��d��ӻ��<��q�Q�&0���ˢdS6w�~�7��m|/*���`5�8��[o>�����&�a��iBlF��!
+�#�
�m7�rP�8��������G��?��4�4~C���j��ZX96_w at X�k����2롈�o�tƗ�yc/�
b�}l%Ŷ�vA���?Rˊ����/4�O��i���l,�Y�G�� ���<��d{@�q@�����vuwT�`ڍ��y}l+�
5�w���
v���j���%
�HX����a]uGY���'��d+Pa=��A09Tig�6xρ��I�෷�N��;�����XZ�����<%94C����l���(���C���,�jT-4�ef9���jr��Ѵ��f�V*M>�,|%�o?�'�%zϱ�yi+��$�E�k7� E��ط�ec��˷.k���ю����_����S�C�%kZ>w��b�	CG�C���\�
Q�}q��!�&HIn�P�0<�|�-p`X�� �i��̂U��bJ�%A� d��$���';\�� cv_b�H���N�O�g8fͿ���˿�fh���*՗�P�3��[�s��kp쁨tg�3�h�6] [...]
ؽ&~я�k]��g��&i��(�wǜ�^��
�xu��_0�ރI81���ʑ�V���.@
��
�+�4X
!gt'!&���C�>��E���
lRJ����ի�DC@^D
��R-okg�ATc��͍Qܖ5��zS�0 ���*�n�k$��5�s�;k%Ik�?X��'���)ʓ�Fو����І���8myO��(�~1��gZ�[+�#�q»{��|��F�\h�	�8�E
+C�}�P�_�$p�$���%�u
�,;�0
+{�'�?:F�ʈ닁0��>H�������jp�UcƤ
L��t���^��\�N�Ä��֢
�|*)	֎Km̏�Up+ځO�w�Kv�+	n�p�E����	$���k�f�����at����$L�z��0�$����
7�3@/x�t���:=R���Hf��������&���m��3�FY&+37�x>wz���4֚/������2<��;bq��X�
�GS<��#� ��2V�X��o�z%�
V�3�Q�8��_�Eo؁��
��:0`׹�e}����=�vt
+(�K�IJ�m����P3�ڄN77�����S�5�
�����]�>%&a\F��������r��zI
��
km���~4
�mI7A��Qfͼ$�H��a�,�>=$�ⳟD��J53&23��L	�~u5��b�.�
�
�͍�r���:€#�#"lCE�	�!��[Aj󖢡�����۲�I�(�I�(_t� &�qIJ�p&;N��ۧ���6�����h(	����l!�|�(s� j�&�q��i�
�K�n���Ȱ��trQ�g^�(
���J�Qi�����a�3��v{BL0s�a
+ֈ\&]��6�.ܟ�
{�[?X5|��Kv�������8����5w���5gMP�gTH�����Ւ����7+�Q��tO
]+
B(�F�F�
�]����C��{�|��
|�%��2 Zݏ���y���2�'h	!��n�
���e��cʄܟ�v�alp>�L2Ʃ�koo��@�5!� �%���)�`"�Z��TR��Y���Z�4�֌����]c��Թ�~����(� ]--��8�
+37�ԬdX�J^����
b��@)
P�jqkٔ3"�L�Z�au�l.%|'���C�ΰ��*���]�n���U����(�� �q�*�1 ��> ������U?ܤ�����
�)��6A&,�4�B���PqT��[d(��D��$,��es��ͳ&b�c�
�`T
�
E�[���T�?צ��e��b�L (�)�v-��('F4������TMrO�Jy��, BWt
N,K��9�_u1
�'
N�!�R8Da��)L�9��+^�J��Xb�0�f�
+��l�G�
V���-K�WX.b?ݜU͏N0 ��
���!p^���{��Ł�h&��N��,����)�;q�N�L�M
��00O��I͊�iŀ��+��=U��
��%v�����} ���`f�w��7Ӯj&@>�?
�
�%�J}����N�!��b��5L
��Bm{HM�-�W��7:�zl9"��#MW�
�2ƺ�r?tZ
�& x�GGW߸g���U���dl�%ک���,�
+ڡ��*�q@��Z&�ykEb-����K֛�
,)���8X{R��sJ�/��Љ�EYR"̹eC�edªVA��Ã-���7�R2#6�˽�'��{���v� ���f���<�2T#���I�'��,{�d��-둲)���HH�&+7{N�
�;�­Yi�R&�s at D�{^�Z?��^ܭ>��‹�YwӅ��
�g
#�7<.S����i��i�����A!��^�A�I�&��$�*��ȁ�
�t��z����ڽ��|�� �����8ҵ���y.��P�
��/�
��7�y��ڻ��� �??�|���B����������L�6%y
+KF��0�||�\.^�{c���S�#��q��5A�Y߽E�
�C�C��^䧛�
�6�ad47��
�KY�
+endstream
+endobj
+364 0 obj <<
+/Type /Page
+/Contents 365 0 R
+/Resources 363 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 361 0 R
+/Annots [ 362 0 R ]
+>> endobj
+362 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+366 0 obj <<
+/D [364 0 R /XYZ 90 757.935 null]
+>> endobj
+367 0 obj <<
+/D [364 0 R /XYZ 90 714.318 null]
+>> endobj
+368 0 obj <<
+/D [364 0 R /XYZ 90 568.419 null]
+>> endobj
+369 0 obj <<
+/D [364 0 R /XYZ 90 434.475 null]
+>> endobj
+363 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+373 0 obj <<
+/Length 3368      
+/Filter /FlateDecode
+>>
+stream
+xڥˎ���>_�[$`���÷��vc�
�]ZdkĘ"e6����W�M��6b`��]],V׻��w/;���_�޽��]�i��O���ei�%a�{�v����)L��7�� 
��^5��0
������R�F�&��|�
~|����??�*�$�(ٕ��O?��
+���|/*��+a]vq��f�����
#�Of3�OQ����C��9�Z�������k�>vc�}���&���Y}�>I
���)��(.����Fx2
+�uÅ�/�mQ�oK���b��C���b�+���?�n����]��J����jl+�3�p��A��N|f�Hݵ���j���#���מ�+��pV��\ā�HD��1
H��;���;#����E��`�[��kU�c#_w}�͵k+�
�P'�
�������g��X�#j>$I"�k���
f�q'҄����T���ԋ�
�yI�1��0L�X����>�I��%��9�P��.@�T
kQ1����30	�˱�jR
<-�)���P6u�@ƍ���-e`ȯ۲Y��{�axU�����d�VC2ʽ8-�r��
/xS��
�,��U��e��d��5�b�jı���Ͼ�J��е��x[�=�
n�|�Ç�h��z��Ӗ�����>z�N$jX��4���,�<��E{K}?Y�@���%�8Z�߰��ZE�XE8YE`�
�U�
��c���j�$�{����s��iy�2�<d��zl_�zt�0�L�'�v
(PB RM]1
+�
���F+30h8�Z3�Uo��G�BK	8Ħ#)8�7b���S�{se3�%���NN�'��z���7'�#Q6p]6P{�b���1��w��D�d>�p�z�kg���%� ��q1�`����g�B3	�r�H\���!7��<��
����q��ɕ���B��,%z�ST���em�^7nJV�4p5'�0
+9�
w��
w`�t�0��
ڸ�� ^`�w���a�a`B�=𷸉Ě�c[�tD��@�����@�5]+w�1��a�9�8�"��{,4X�D�6��u�,=C�'�N���)�k�%�~��ߵ��V8�]ŀ�ɺ0��݅W���zp�+����A�{ϊj�/����ᾴ�>{#ܣ�+v�9�fx皜������I
����+�+��=���:Q��.�N�
�:;���
�?�Ս$�PMnU��8�k�lD�>}��eD|�2cC�g��AVl��ȲT�5V_�< �]
)"nY�i�P*�3�	|�N}ڲ��`�.��^�2�Id��@Ehec)+��Ŀ�pT[�ʾ��q�����EH�VѦU"��lX�
b
�D�QЦ�p�qhZ��	T��/�o#���*�"ƅ�
LA��xA4x2��qK)1�� ��a�
ӆ;�<�6�Э�Ɩm\��'sy��5E<���W�F]d%}�=����&�H��� m�i�97G���8��d�Ӑ�q�Iظ�^�(L [...]
V�4��<�z�:MFn�Bi���Tjl�o�!1g֓ŖY�J�r�k2'���'�;�sb�r;ࣖǓ9�
�bC��ip
�W;��$
ewiH\�<2F�A�V�R�)��������!|�Y"������yb���
t�F0�#5+�}!;�V*�1�r�
]�;EB�Ǜ��ο���:T
ʶ��i�4q�T�o�[���&f3/
�Y�y�N�`Hy����5 cp5��g$�s�B��/�:{�i�빦�/Z�B[f��
��S-�	�ε�`L&�5�3<
m�i�E�
����O&�TJڔw������B`�ױ��������
�f��y��Jl9�����ɂ�����!�]$��K7*t�f�^u��;�,L���J��n�~��i����i�B��s�)����D@9Tu�q8�
�A���Ys�1�F9j�q��u��cE~.S�L4"��J9�~�
�(���<ؿ?���Gu96J��-�|��Cjt,����h��1
+C2���"G��_�O�;���zij
�ޮ<\�
�"Ē�r!m�LIO��}<*e���QR����k��42�Ʒ�E[U~ϒ���7��ͺ�mlp�2��MDB��L�=K��##�����F�L-��
�_D�"�$�X�s�+��d&�Wƣ��w\�
�~�ؔ�\��N�@IP�K!؟�Z�8�B
jN��~
�<r��j�i�E�6U�v��1(1�6�
��!�ȳf*����Z,�Tk��`
��L/�źLY������Ф
+7��Ee�m
Bh��a�B�
+� ��b;���=�?��M>L���Tq�d*��"���g���0� 5�q_����'��L$,�e��ʭd6s��TdW���.�b����(�@
��Z9�OA�${KB⧑/ĩ<�.3�7>X��[|�R� ;܁��E� ����p���)Z�{�7�b
48�wMz�tr�3��h�� �]#M�aeF��� �[��6[
���֢ �v���p[����X&���
a��n�t3�4ŀU-�GB�=��cα����a"'�LlOcXA��䔰>�R�f�Y�6돹�?�F񨵀.�қ���Ď3��_
 ��N��L�<Hߝ�$s��OI�w:��NC"����@��\��� ;�C�D%�{1rX}�iv˶�
�4�\�o��ӕ�H�A�_"�i�!�JS��"Alc�\�)�M�i`_����"#	���rH�����P��d�a.�
+I����/�k1��
R
l���Uc=���]���l��"��Q���*w������>0�Xr��N'ֿZJs�O����%��T��WdQ.?VJ
+/I�{���� Tɶkng]�j�P��;g�#��>�ʶ�ߒ��$O@��?
��y�Վ��[(�U����P�'?����H�E��ή����
+�
��P��pD<���w�^__��xc[_{�
�]�ͻ��Wb
+���Bd�X�O�+Di�AǴ{���.kzk%��+�
+endstream
+endobj
+372 0 obj <<
+/Type /Page
+/Contents 373 0 R
+/Resources 371 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 361 0 R
+/Annots [ 370 0 R ]
+>> endobj
+370 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+374 0 obj <<
+/D [372 0 R /XYZ 90 757.935 null]
+>> endobj
+375 0 obj <<
+/D [372 0 R /XYZ 90 714.318 null]
+>> endobj
+371 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+379 0 obj <<
+/Length 3110      
+/Filter /FlateDecode
+>>
+stream
+xڭZK�ܶ�ﯘ[f���
:'9N\vdG�וJ�>`I�"9H�'�>�	r)�_v�F��ϯ�
wO�p��ݗw��V��2(�8�=�ve�+�(��h�P�����}������IM��r������ou�t����
��ᗇo���p��][����Ί�H�]u�{�K�����.
��{&��.��mw?���.��c�I�S��}��ꬌ�����6��a�zR�C�?7��ޘ�^�����~�GS�pR����i��x��}�nM�\cW7������6ՠa
+u.�
��Q6SU�_��Ӹ
�x`�〈�~�Q��\���m��%PN��!�%�l��8��[��uԦ�4


�u��P�
I]��i�$c��s
����!�����L�ͫ2ÍYL3(�YDzy'��[��xz��j�(/}�Ø����@�<V�u#�N�8
�'K� �;��#� 2�=<�2B*�M]�m�
+��ӟ,j>0�YY&?6�l$gt�����~@k��whl�4^y,��]�
W:�
+\M�����VF ,�0���X�@�]Վ�l��Ϟ`�����'ٸ�
����J ����W�,�1�E��
+�,	
�������ԂYxz@��d�6X#��
��J��h�M�5�
@���G��i*�f�<5/�Ȱ5vt��|��YH2��Χs�sC�7n9w�����+�I)9K	~�f��k���F|��0�����N�NT�Q%a�M{�6DQ�
��$��Ҩ9:`wc�C��Oൖ	�ea�﯐0�=��b<[ދ8
O�����f�o����@W+
��o-g&17H��2v������6=z�@�(�Hm&
=q!���3��p\��E�~ܣ:�
�Ş!�s
b4�X�L�	;��6dE�S
ٜK���g�8dYP�Eʕ�>%�SM5b�!Ӄ>�_�(v�l���1#�SC�&
�����n�c+�"�4���[���8s�	\
���t���ؒ@)��6�v`窬���ή> �q�ҷ�����X�+��b��W��� ��
+����8�J�T����ԵF��=
�<�be�\�5�4HҒ��9���q��1߃�^��@���2Q�T�1���d�����嗣��]�gi�x`1�`
���em��Us��ɤ��/[j�;t���Ĉ&�����)*���� ��,-"@O�_��[�D2S
 H�H AHC;fHOF]x��� ���:`!�HH޺,֏Og��
�� �7l��K��빙$�l��+ɱ�"?:yr/	�:c 2;k�eC����I9[�����������&�c9����kq�	�ʘ�'�X:
`

�)��S8��!GC�2Zf�
T��s�
z��D��X~���������L�1�	�g3)b�8��i�nGX��4���<i�)$c��݆�4�t ��N&[��Y<��7�_�h�S
���$L��H��/� 3(�qA��x�ޕ��@t)����F	+�&����W�;���*sb}��3���|��P2E��8��E%�|)�I�A
�f�����ؠ�*��!`��it��}���\!˅�g����_�ZF�9��q-��щ��yy�֝���1X�a��,���:WK�3O7&
+�N'U���Y���!B�Ȝm���U�LZć<Y���MF��W�k��N�a�|�Lb	���WV�D�
+�ޕМ�;
�a�[�|%��I��}�r�����f	�~:
X�������? LA�q�{f�^��"�a�e4VH�.�|],��1�K�$i��q���I�H���/�c</�& 
�}�|W!��K�����;�-pA�t�l�	�Fl��}��/� �b
mׯah��ݜ/�i̽m�<H�# �"Ȏ�в%���
_��\`�_i[�J_X�y����
tEf
\�����=��\��b+D�V�C���.�'��C�Q&��I	�r��[Js$=i^.U)����&��߻�h���"zt���?`��+�SD���6���:W
��ŌQ��Ȑ"j�w�d�vΧ-st� �<�N��y2M
�тDd��egg��Q���
 �[Y�u�x�:d�a�
2�[�����8o�΁:
�Sɢ�ߣ������RD=g��ﯭiH=T��X;�h'u7�̪��Ad�H�N2Ʉ�݂�4E);+�?}J)vt��
���I�.��v%�W7���4�9�d
vO_�,
��w�?@a�

���}��*r��Q�����f/;uY�Z
+��e9���Y��w
_�h�I����Zg� �G�7ap�&��mW �QuC��W�P�e��$�D"li�E�I�!Y��2AB;��G�OY&M�,�$@
J�f���~�/�@v���N*���+>����R{�#�Q�C�	�p���s?U��Zú?#��U�"�`���P c�P��y���d�$OU at 7�G��-��
/�K�4?\��	�K�ȸ�{��-h�!6Ь���������|B�5�	)���
0`]�yŌ��3�V>;������TK��%�΀ߺ{�L�>>.V��
�p����Z0f^�{�i4�
�` 3z����UH��p��^%����S�G�������>
+��+~�pU
%�T�#��<�
+��*�j�;�L�d̛͍�|��B
��.�(�a��m�i��7U�� /�e��G��!6����Pp
E@��>@_��2 *�	r�X
�g�Y���}���;\��ҁؖ5�r�4�ڟ���i�s����
�o�
_/�d>)�<Kc��
�sz�L����*o��2�M,�t���  ��Z����$����,���߼ۺZK2�S]�-bh�e#�C�2q���M�%
Ä9I
:N���"nM�&��`��Ӟ�7.�>���3*|�R�U�
�ZZ>�oh)Xd���C�� ̏���!�A�AY@�����A���/���
n��E
2������F9
�h�������E�U�4�'Y��u"`Z		?��逅��SݔH0�z���aE�y��\��4"Ň�k�
�%�.�]�<
�/^�~~~*����@��@���JLQ���,2AT�L@�)�� 	��}s"������J����t
+endstream
+endobj
+378 0 obj <<
+/Type /Page
+/Contents 379 0 R
+/Resources 377 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 361 0 R
+/Annots [ 376 0 R ]
+>> endobj
+376 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+380 0 obj <<
+/D [378 0 R /XYZ 90 757.935 null]
+>> endobj
+381 0 obj <<
+/D [378 0 R /XYZ 90 541.181 null]
+>> endobj
+377 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+385 0 obj <<
+/Length 3074      
+/Filter /FlateDecode
+>>
+stream
+xڕɖ���_�[���5$�59M����L����MA-d�h�X�|}j	J�ع� T�P(��w/�p��ß�
�~����Pfq�{:��p�g�!����q�S��4
���G������sm+
��V�

L�")�b��ӷ_<=|z��p�4?�*�U��O?��#��
�,vW�jvI��޽��C賙f7l��f)���	��൛p��x���� �N`<��=������u�A�dL�򪮪�wv<3t<[�<�j�]�fq�0�L���ZWF�L���6�Y�?�
<tS_	Ƈ0�k3���<FѡLEèG��
GAwb\>@ y��C��@�Y�.}�ԯ�
��W�%�b�Hr�m��v������Vz��
îg��2�k��"��$�qIb�0C�C'
y�_/��̳�c;
�e���8�~
��"Q��G%y��WF~��$�#��Esw
����3N�M�.s�=l$)����q4��fz��y��#^���ca��5��*sA
 [...]
��<�����k�����F�Eb�s`,^��f���h"g�L*
��h�t� �(�$��I��=�[*��<7N�!�Ւ�%[,��K�=c���
y����} �=��&`Id[ �ںf
=�]oR�"���p ��g at o_ΣP��x�
�\�?�͇0
m[�ӑ�L$B�
�G�
+Ƣ�/=�?���X_�������/g������/�I/Ѧ���C#�����=����4�@M�PT���x=
j�'�]��0\�N�+Z�Z!4���bF���
�O}��
�+�kM��z�J��K�F)mh�&Z�m!E{\��(��:>�����(�G �/�H�p0��E�*K~\��
a��Ŵ�v$��L�B�(%�tJ)璸6n8;L�nRxU���v8E��[P��^d5'��f����9�q|"Wh�A�u��1�
�
�aЭi����Y6
]#=h��6�q5F�b �޺P@,�o��Q�:o~�
��W\��1|���w�b	�G�0�*NXWI��<]���<ai�'z��߁�
P����qO���hoh	>*k�<�
+K�װp*\��9�g�_~&D� �0h(��cA)�7�-H��ad�hs��Y��vA�����
y�%X���]}E�E��e�0Z�tΆr�,��<4L\�+�yo"F�"�n�!�MFԧH�*�R�wM�q�dpöS�\�
~U�u�M���<�x��a����
���
R�%�Af����
#a�U���N�X�cgd����o�*xA���-�Ѹ�;
����gCr�tDJ%	�R�r

K(�ki2����0Z򞴌�
�=4o�
V�
ED��$q�9����0��ƅf?B�����n~o
|�t�N��7B�-�
\�2�Sw�a��r,�[W%{i�:7	?�S˵Jɩ�U��궒#�w��'����\�tB�
w_k�Ӝ������Kɕ
+4��R�<�H
q�J����Z�F��A,�p
+jR'o��0�
8�rϝ������}�a�����W��~Su�t�}3��J[��������U��z4���*��
�6a|�
=&m=1`���ky
�G���@��D�i
�ʜ+.AOn�Xۏ8c=�B�sUʹ�Ľ����ճ�>�L��"g�@t���r�I.O�Ls�^�R\ Mz���h'Ê�����2*���\Fa�b�{��;S�B������ٸ��&s�6�mO��r�mlĞȉA�`pFY��
��F
+(�Q��qU�!3�_d$��Բ��Еtj`�Wu����su��o�򐑥�cx&��T)�py_6�e�s��a��h:�e�G_+�ߓ�}�� ��᭮.�o�ƹ�ʂwu��ƿ�ԝ
+�>���qp	
|�̑��
׵�:�<�%���JB��1%$�%<�1�au�R_�.gW�G����5����)Õ\
}xbY��/��T�n�5�(cD�wK���0=�B"�
y�0ZT=�r?"�."�."![f��1Z��C�ƵL
�j֊�k�*]"���V�A/�q��1�U�{�3�����
+�ю(/P;���@ �0�
���
���d\���lmǾ�yB�$�\��������
�R�?�� k�D�`��He̸��aK�n��d�Y!��#+�u͟��!�Mv�L�[��F��nl��U�=���
ߴMԌr�� ��S,톩
7��˅#�+���D��l3�|V��8��_���F^��^QM|g�	[t�yO"�C�
:�����ï�ܸ���&�p��~1�
+��Bj\�\��Xy��>M�x��BtB�A ��eC�q�E‘��y�T���:9,���O����6o9�
�	~=��	Y�e�k0d�
�[piW"���u�(������#�|�Qz��\厳c���
�V�O�'E��-rWdp��XW
��R���q��x<��A�
+�� w:�u�_D���_�Ȉ�K��9���4������֥Z�ҵ�l?��"kme
ɛ� ^�Qϭf”"CӅ�_�8��1�V��8�/�G�9�c�
���Z%N
j)�y(.s/��X�#�S��qn֦�|h���Y�
u$֌�E��Ȕ���]�}<
��D�8�ޱrmY�J�K���)h���YzW
����E�_�?:�AՃi>V��
/t��
����g:ڹ��h�u��(M�Xa($1I<�.+U~ݠ�/XC�79�WJ�#O�eW�?ª|L���e0��^ 
[��g.�� �A�f�1�u���~���
R
�]��#
Rq�
+�:ۑ�|�2��?+aV�����~v(sU�w��<���NO3�Ș�-Ӯ~=�c�]���cmO�o��$*�`ݾL�EH}�Z��|���8�ޅ*����uoP�$
�8ƒ��D��{cD*,��;7��E�]0�Mi��.x
��߾�^��j8L���;��\�+9߈)���"s+��:�^
Ґ� ���1�=�
�Yz��?�� ��N
+endstream
+endobj
+384 0 obj <<
+/Type /Page
+/Contents 385 0 R
+/Resources 383 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 361 0 R
+/Annots [ 382 0 R ]
+>> endobj
+382 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+386 0 obj <<
+/D [384 0 R /XYZ 90 757.935 null]
+>> endobj
+387 0 obj <<
+/D [384 0 R /XYZ 90 630.537 null]
+>> endobj
+388 0 obj <<
+/D [384 0 R /XYZ 90 399.665 null]
+>> endobj
+389 0 obj <<
+/D [384 0 R /XYZ 90 283.345 null]
+>> endobj
+383 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+393 0 obj <<
+/Length 3487      
+/Filter /FlateDecode
+>>
+stream
+xڍ˒��>_����
-I�[���̦�>�l ��"e��X���
$$q
_D��h �~C��eo�z�ǧ���xS��"-6���:ޔE���d���
���4���~�I�3N���8�[{��w�`��@���*���~����OO�=%�T�I�t^�J�o租�7
����;UW�W�:o�T��������O���]\��$�m�U[�
M7;���y̋7�i�SY�����͢_�T
�ntv�M�h{�
�����s�/���ٗ����m����S/��x���ib�d��������wv�D3�?z
����/N�e��l�7Ի�2�����:�����7�4��f�С��w��3?y�`"0	r˗�ܒ8���y�;�~���H�W���o�<2n�}����V�4��0��$�CH�
��E�Uu
]HBdf��y��ƾvFmˍGl��o�<z��8�����3
����X���mG�����
���0�uF7W�
~���T���\���<C��A�J`y=� ���6������l���e��?
�Yw���]"y1�l��xBכS|
+rU��D��
z֟aUN�Ҧc�`��ܱ�{#D�����]��$��;�Sc�?�. 	����k咘{�-�*����z`��.�{0�M�;�<��qr�����7��8Nz��0#V,GB�0� ��PE�!~�2�K?�a&�r$��fp�
��Y(k߲� �e&�,�`YEb#	��
N7�W+�IP:O��4wE�
���[E�v<-
���R�3:6,d^�:y�%�ykbd���L�R�
G 
	ɨ,��5��{6��?�A�E����
oX���6
+#ד���x}>:c�������B�����>���&��i�.�@�u�T�t}e���V��� ��J�
�<��K�c/�A�
۞/��ut�p�G�����M����p��a_\�/�
��������?dz�t�F�C���i�޳;`KEctwؼh�AJ.'d���q#
ui��˽�^�
{���Sㆮ
dy�8�; mC��]Ru�
�3Xg�˪'ޡY�Эq�1]�
�
]G����� [...]
�J"��� @oّ�p0�4��Ӷqb�H269>
j�,$�@�a`�<\ڍW����iQ@��t<�����z�^$��̞<^�_�h��y� "ų�0�Ey��"���=������,�^��ʖ;EQ%�
+s|,�����ݬw�qÙ��j4�{z��EP��#�eQފb㟽%��]#�T�c?_���M���0*W�bM(�
1�'Ń���V�[�E�D��Nȁ�K��LƝ'e�N)D@��vۤ�^�'��8
"x�A���|� ��l�ش~z9���7SG��n".��G�C�o2�$��L��%0�_�t1�=���3AR�cJ��1��
��ad*�z�9���M)b�G��&[^
��>��iL��?0��Z&Y
�#�}PR������l����|��1L�%e�C���۸:��
=��ډ���r1�Y�c�����Վ��f�Y)��ϧ�|Е�	�����Ba�G�)��!+�#�LNI(��b��5e��]*,��3���)��=￑$pA@�~W{�\� y��=|{k����
 x{t9��I�G�
 �'
+ؠ�_�z}�!9*%3��X2��s��9��P��ĉ(n
4۬E��y��
�У�/8V��bްኼ�,Xyf�\?  �횷#�W�B<n���R%[򕕇-�i�;3>��#cM
)М{'�!�Fud3�0f���xe%ig�8� ����+&�NT�
�LQ�}oZknLI.E�|�N��yÁSZ]b9L��%�������� '�9H
p��
+N� ��>�p �`
`3��
�օv^�>~�X��nn2�vW�y������k�5��1���l{�j%P��@%�}p5��1�!^�Y�V��W�K� �9v\���:�
�݄
�͜�Q�]��
+&�vM�t�!��ZI��qB��w�u}�V�B��j��㚇�
�7�=<;L�(��B�k6����Gg�CȺ��A\
�	��\�R�L�7�Y���-Ys��g2�>E㨐���
SY�s�z���k"	p 
�LUq%��|��V���%

����r�����,冽��4p��cG�7��Y
�"�\f(��i�Sh�e�e�~�70�/���*���
V�������V�
+���& �j���P���V�
,*��꠨�H�OTO\
A�2S�"��d�����"j�X�Z��ՠ��!PY-�-��i�mB>�����
N����\���{` ����Ы_�O���9nɾ�F:�:[{!�a1&��5kB�RO��� ��1��8<�QBW_�$���C�����̆Q���w�F���x�
*��1�
���1X��b�V"�1[���t�2��@е�k`�{���p.���xd� >�[2�`����*�����)aE�,5.����J/N
+=�Q#x�HU�
%�A���߱P��zGן�\�Zʕ;�ZB�-&T�&TQ�%�L9��
������=��/t�T� �+
�Z���ǨW�����O�u;.�.{֍��<�-��)=*���$�4��^R�
�y���meYL>VNβ�rVYU܄��@�&^ Lp�t�b�<�**�^ �F�y��n�VK��X᪺Mo��L]˖C���$�e������Nawڒ�v�8a��&>ac41
+lq��3!Y4����v�!8��r���
��Kx
sF���_A�v��FI�y
+t�|�2m~if���ZP�q�.� �������+/��H���
�
�vܯ��Rν�5;C���-�r&_
+}�g�<�#Foq��Xpo�S�A_�z�ݟ
`�*�%���C*��?�r?N��|fY�G����_p�c��?���DP��̖8�^�r��8��7]"���җt��*�<\�9�#�ɍ��]3�#gX&

0Jy�.���v�����A������o�9�)ر(vLY*�Y��A��0F�����0W
+ٽrC|Q����4�ӂO��xG�;\x�T�u�8�|2YKG��ztB�I�1�w�� fr8
+����vԝ駡*���[|?�B���	9)��U�d�$'�ՠe��7��&��{����)��9��5)S>���:�s\S��y�� 	�2Qw_�����VƵ�����|y]G0���edW
+�Z4�|�'])�ӗ
+��)�����M�..����)���x��KU�ߥ�z�����������,O<��z2���M|���M`�d\פ_����������O���������_��L��
�wI2���}3F�¬���o��`ip@ȌwyU�W������___w�a7u��vv|���
��ؔ$��
+��w����T>��ة��<�0'��I��$���K��O�u
+endstream
+endobj
+392 0 obj <<
+/Type /Page
+/Contents 393 0 R
+/Resources 391 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 361 0 R
+/Annots [ 390 0 R ]
+>> endobj
+390 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+394 0 obj <<
+/D [392 0 R /XYZ 90 757.935 null]
+>> endobj
+395 0 obj <<
+/D [392 0 R /XYZ 90 716.221 null]
+>> endobj
+396 0 obj <<
+/D [392 0 R /XYZ 90 153.741 null]
+>> endobj
+391 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+400 0 obj <<
+/Length 2857      
+/Filter /FlateDecode
+>>
+stream
+xڕY[s�F~���mE��u�Ʋ��#�8��<� �j�D$���o�FH:ʖ�Ś������7=X��������������5��z?���5F�i
ֻ�o�9�1
]{\ldgq�<y9��ɖ��dge
��e�5C�����__�ye�^�� ݎ7�,g�=^���>����>�&��I
�i�7
��~�қv:n�N���vV��������M�CG�*4F�h���9U��m���bnĴ"����'�y��sQ
�B-͆���54
-�?�I�.rE~�}99��r�}
���GU,
+���K����f�Gd�(���0FGΝg)��
�Ʉw�L���VFUR�E�-�<R��0.�%�l��Iɪ.V�]t�)
9�x_DIƓ8��"f;M�'��;���L8v��:�
K,sdLd�a��7ظ)e�GB'�Q�����~6 y���b at +#� �
Y��
X��XV�I����@���KZ����h%e�gL����������a8DC�v"	� �IyQEA�o�d��Kn��[��?��
"�E��
+�@�*��r�X��BB����;9g;::0d
����=U0�`�1XC�� `�0�`��ָ	I�H�J�#���в�4�)��������]7K����_Ѯ'G �".�i%�pч���ښż�
a���q(Ԑ���YvVĢ�tJ?�FVj�STT�a=$[��ak�'��� ��Dl��4�7L�sżzey��		&E���� ;�9��
mഢ��:�0��
�Fy�% <�T�
뚋|�����sHP��(���.��'��Ff���۸2�@
WZt�
��-���W��<
cA
+r?(���RA���I�'���[�����
��F����|�P<�!�*�!�w��0(偩�¬�ET�-�Jf��`FJ��1P�R&QR�@%�U CUGO���1��c,�\Q 
�1�X��ՙ
+ 赁��v
D��
Fo��L�I<�����H*VR�x�' ��4��
��F5�\��]�����.��$m�ޕ+T2��`�R�:
L�zK�J��U#�V�\�f�~���
���H����{B�'��"���
%B�R�*�WMv>��!
G��8��{f��p -Oe~�u3.����]�8LE��E{���6�f��lWve#
T6"[e#2j�F��i�W�Q_�8I�S-X��)��"
��Ёl�$&�5���"���Lmi~���W���9%��mH��}��#[]y6��.���'��؂>��Zr�~&~��v�YxiD`�Be��p��Z����b|�1Ӱ	hc6 mLC(��)ݐYw!u��d�cX����(�ɾtBm�Q����yw��Z}͸nB{*�q�9�-�cV�!�U|�Ӎ�K�J�7��w����F
:?��?Ȼ�C{���)f䪄"�@ֿ?���2��`�NԩV��su&�l�
� �w
�  ����H����m��[���p�	��L���B[)�
��l��?�)��h��O���
z������J��@��&jMP�
/�"�O,�r��W����
F����^]�o�:�h.
�����>�F�Pi
��E�|�t�qW(w|w�uQ�/�zy
��vcN<퉑����%����٥�����qW]
+����Z� 6k��ҽzO�D����<ݩ�T
����h�ࡢu����
�TɅԉ�W�TG����ܦ�YE۠�!<:�����s�د�O~�ol�ԂK��
��a8]��3�a� ���%�X.���5R,m��eG��u�/ֲ����ڿ��螾�̃�7�lz7��wX�'xN�K�������f�듿`��³! �+Y�Z���
hu� $��5
��⑉d9f˗�a���f�����W}fN���
`�?M_��i8�gh௄Ȯ�##�����L4
�
lp��>���Jz���f-�v�Ȝ�N��,�9X�c������8��%�W+���-�
<C�|� X��{��ﰨ��,�<�v���Dֈ�k�}66OE.�
��eC	=���	ݻ`
pº�x�
8
S%����Vxf��T�/��e��G<C+{�� K��0X�̽/E	(���DŽ�/�#t͔M�h*r�>����b�3��g��4�Nn 'X1�)߇HlF}�\A�����B҉��N�����"s�?��u�Ϳ�l“�j�y�[Z
�
(9"�!Hl>��ŸA@��֛�+��1�ƌ�
.�9VA��|g�0DӖ���+8:��d���@��<�ޒ4�2�"�`K��izc��F`���bNi�����C�ܳ br��p�`���(��x
}^<�S
e�5��$ _�nk�Ml�)c�5OhW���Մ4�7kFԽ>-y�
�HY�"���F��ļvv��x�m\
�����f����y �����u��b� ��S>�s���QM,���G��9��lm����9�@] i���G^XI. z0��²S��������
7t�M�>�
�a9hDR���
1�I'��]w�W�t�z�\�~�7����|��@�=�)���g��[��˶ �� �
�a*�ɱq�l�	���V�6�\]m�E�����k�OA�{]�x�G�5�l�>
1��|C����Q B��F>�B=\N�\����T6���DԸ�#��v���G�;�����ij��_Dg2r
���'�]����$�<��Gp)�}+�B [...]
+�G�=���BڔqQ?�`�
eg��&��
W��0�r+��X�®��@�~�皍������
�����ۏ��Ѷ
���T����tJo[~��0����oE��󂟉9w���ƃ5��$�����
����
+endstream
+endobj
+399 0 obj <<
+/Type /Page
+/Contents 400 0 R
+/Resources 398 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 406 0 R
+/Annots [ 397 0 R ]
+>> endobj
+397 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+401 0 obj <<
+/D [399 0 R /XYZ 90 757.935 null]
+>> endobj
+402 0 obj <<
+/D [399 0 R /XYZ 90 660.116 null]
+>> endobj
+403 0 obj <<
+/D [399 0 R /XYZ 90 555.752 null]
+>> endobj
+404 0 obj <<
+/D [399 0 R /XYZ 90 336.835 null]
+>> endobj
+405 0 obj <<
+/D [399 0 R /XYZ 90 196.605 null]
+>> endobj
+398 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+413 0 obj <<
+/Length 2537      
+/Filter /FlateDecode
+>>
+stream
+xڥ]��8�}~o1U�?�1�'2!�&3��٫T�U'����k���u�[�g7�{Am��j�w
o�
x�wW��W7o��`�N� 
,7��7Ǿ�`�
|r��uyλ�gd!+��LJ�*W)��*�E-�#	G����?��_͖W]�p�7�
�h��h��>��
�0���s�I28��`�0��տ��.�Q|�g�^
��?f��p�8�4.�o��{�3{"�юÑ�,����$p�O�&?�邀�3"=q�op����
S᳀�y\,���sK0@p�k�w'sK���
���)�f
�/T{���&#��] �{μhd5���đ�h�.���и�)N���G4�b�1x&[80�!�:R�7q�L"�8kU��P;8�,hF8 /��D�
iƜ�[r�S���\��ʕ�/+=�#�ZK�(V4�?��RQ�!x�s[5
,V�G��Ԝ"qa;�
;#7����iG���֪؂�F��h
=��xJV��%¡SIs�2áݕ�}�Դ��D�Ӵ(��H s��@L<
A;]3�準��C���v��5S-x\�:�7��V����P}�tƎa'R�Q�������tQ�q��A5��� ���J�@Na�8�"�uM+���[
2�L�����ub����+E�$ۻ�!�%
t<w
æ�b�&}(v�J6���
rա���m��q��9{xCp\Ξ�/�ڵ�LJ7����aѺ:�!��>r�$!�w?0ÚI�z،�L�|�%F14��
���;`��� ��7��������p�
���p-O����ͪ���������Q��p�PhG�Зj��4}�����Io0��$z o+u]�U�k{#�>9/㙜ż��+�3�^���i�:w��X��B�;�i2��
Q%y�֛�=�g�J3;�TG]0B*Z3�h�Tj5
�ҍ���i&�-O�Zӷ&c"Y�5/�	
�⑳6c���b�Ϧ�EX$!��F��DAX�H
uAM�>�0����
X�74k�c-6����ӹ!��1A����FTL͘
�ɖ�<!�
��=/�MJ	
M
)���I� �	
Nl�Ό�v������p�
��o�cd�W��m�
�a��lՙ�猑	��)7B�oh%��n.��
�����f
L�Τ�rU\��R+Ss���!�����}�%"��cl4آ��������$
$���� v���P�z!ۥq���O��
�ꫝ�`{Q�g!v�`�f V����<s0)٬�ֲ��Z���:r���<9p��N;?{�w
?>�>�o�1��
m<J���'�-Kb�d����x�S%)��/M��H��Ǔ�2�	"�o�i�6&!І ~�2�`�Dx��js��
�Xl�Og�k(�u�ݮ��� �%�ے ܶ$�{]D�3��_���
�Â���h¦�}I���WY���G���9�N��dM����o�k�"cA,�#;�h.X�w2���N�e����.�.[��t���Y5+Ɓ�
��e߅����|y�������G��>=M�_Y��v��*/�R�2W��C[g�:z�?{������cՐ��ˇ�b��G���O�������?<?A+8���h<���s�����9y�5�5�*�N���lb�(l�d*!���GH
���{d.r�łէ [...]
+{N-%ߙ��
,��'ڕ5M�����pp������&'��3�?}
�u໑�yh
B䗑i^�zp���hf�m�y̴-�;�:((f�
�b82�
+�

+�J�}��ť(m
+ށ��k�N��O8�#�:�?	M��u���@��I�"�x�N�j����=Â0��gl�Ǔr��OZEj�✦��j���_����z�Y�W�
+�l�}F%n�6'�j2�b2���>��qx�2?������ғ�������=G����P�F�#�G��

+>0�n����q
���j��6�
d��8/�z+��(ک RY�=
++�b��3ث��W��_�
+I^�
#�Xjp>����E��
\�&<׆�<����
�/�S^��Q�1{�y
*+e��+ɱp��B'��
�
�{<��7�i��yD*�ļp�&H".O�q��F���l�_;rMo{�6�ު�EJ
+�����
��l���4Pi�x�2�
	p�
 ��
�Dbej{�7l�z�a|DA��\tR�M" h+X�ؑP��G��	ڰ�!CmZ<���
S�y��%��}8��~�fZ����Ŏ%
�� y
Ƒ�+&� ��g���
+��tz�5=#H�>�%>S�u�y��xI�%��ZT�����o�=�ok�ԦOh�M�L�HS&'I�Y5�W��kX�2a
&�f=�}�����/�y�o
+
�Oa!]/iS�OW
�ŏ�nt��yIw��J��^����)��؝��M��Q�	$�Q7��� �H�6�S�G�*a��YU�R��;?C�}'��v/��Ӽ�4�\˪
��^{���?x�m!幾���},�I'�
�)J�
����/TY������ɉ��ܓJ�ac�hF�a
��h��1��
+�S~���k�5 
+endstream
+endobj
+412 0 obj <<
+/Type /Page
+/Contents 413 0 R
+/Resources 411 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 406 0 R
+/Annots [ 407 0 R 408 0 R 410 0 R ]
+>> endobj
+407 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [314.956 295.063 472.963 304.17]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
+>> endobj
+408 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [152.087 86.911 321.452 97.192]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
+>> endobj
+410 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+414 0 obj <<
+/D [412 0 R /XYZ 90 757.935 null]
+>> endobj
+415 0 obj <<
+/D [412 0 R /XYZ 90 670.268 null]
+>> endobj
+416 0 obj <<
+/D [412 0 R /XYZ 90 557.938 null]
+>> endobj
+411 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F83 417 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+421 0 obj <<
+/Length 3174      
+/Filter /FlateDecode
+>>
+stream
+xڝ˒��>_��%RՈ÷H�4��س�Mf6)��DB�)��e���/����J�B �F��'��v3w��ͻ�����;K�4����v���u�9���^��ϋ`��#w����y0K/Yhͣu�
tժ��+=����� Zx��חn>���v����̣=����Yv���Ww�����i2;�a�������7���Q|u^?p�8���ak/M��.
]Wڨ��_�MYd��O����
�Wuˠ�6�B�E���X`��1޹� �zg��b�u>�B�ʜy��5
�`�E� _+�s�H`�>�'�{@�a��a�mL��a4��bcp�8Z��
ԙq��j�\!�2�P͐�Yz
��J
"t
�ʢ������Yu<�p�j�-Td�O���c/Y�xY
��$
A)d�mO{��
�����.T%`:��W��`L���Q�<�!� �*
+NXE!�^����V��g��+�g��J��[��Z�⺾iZ:
�E�S�I�����
|��ޏh��H�� v�(�)�u߶����N����:�6���(�>��w��y��*w��ٷ�Rva��2*?q�4�-eq�Ox����8��[;��VA�:���s���_�� ��k'
b&�ϥ�~��_�9�-�>�K/Z��}�Ѕlο`s`��Fqh7Q�����dz)v{��X�ō����xD�[�x�D~�e?����m{RFFuW���-
���U�
�����`T�
�L����آ�P��k#�wu���?��a\��ܕw+������&���ߵ9ו
�[6�V�<Ds�6�pOU2�Mk�M�
+ �n�����`6Lzo�,��Y�al��Md{U����q��c�ߦ�e}�����*%k>���	���?>�z��qZ	A�c
^��{᠑�~��\F(�+��G��Kf�V�*oS�*��n����j#-81Ûl�*C�"����^���x�����|
�:�rZ�s����N#
@������;%kf��i:#�z�[;ͺ���8��p��,ҠB(��lD���%E󖾻 ���
*P� �7�"��߇:/�gj�D�$p�B���y8h��Yx����Tuu1),���m�LQ�Q9�������TACbq���n��$�f��:����ȹCR-�rx<�D
�N����4[ʦnZ���ڐ
&.�ߢ�<C����E}��s��
����-P�3Ź��ݨ\���-i38�
�$���1��,T�/fK��d09H�2�zV�m;GF�2���%/1�e &E�ᣮ0�ܚ˽�:�
��k�. 
]Ze��F����d؁�� [...]
+Z���&"<VRnU�d�bmAB�e�D�wcT;�O\�
S��h�i�N/�����)����Wt>
+��[[*�I�$��y�!��!������
����`��n	.��%T�#\zl���7DC

d]F�=�5�!
�X��s
*+�5P��9�$@�10Л
+����U	�X��6V��G	�c{
�<
�k{gC�d/[(�L�
���c�"H��7r���{�5�_�<=�����������Aʎ���_
����OR�p
G�`=�A�ŭ��
�����_<Aׇ�\^���h��m^��P�
�C
�@PmUQ��qA��|
:�*����Fh��Mܞ��R�`
��K~ �h��Bare" �Xc�Ⱦr��J�&��͒A����#��=wm��&Ė?��X5�q���s�	r��)(SM���=�$�$}0��|H�s.
m�[���� �{t$���\&nEA(���`a_A`�@��y
�Ƞ0HC��2}os[;c~B���s����#á8̧
���
+�݈�5�{m�8�E��N�~�� �5���R\vD�z|�R+h}k�=���2��"_��'����Уa;?��
�����
���,�ǖ�,k���$�-�g��/*Dnn(E O���U�1�at߸E%�M*!g�o]aЦ�\)����a'r_�)�9��q�"c���g��'ɬ9��.^N��i�<�G�C6
+#����F���-����ib^����y���Ʒ<+e״�*l�(&=6�^�)����CBy~gQ[�*M)fH��&��e6���uj7�wޣ�Nj�-��<~���<��8f���M�@�G��8��������Ú\�%�
+m:�A�
V��5gs
�瘻de7�5�QC�
��3�^
,���
�٪�G�MX�P�6<&�c �2�yc�Huyʝ���2��Yh
oP���h�	.�A���J�d�%�X�
��Qȩdf���}��X at H�]�

y��>��n�$ؐ[T׋_3��zFN��/����!�o��~��d���(���Q��!��'� 5s);��.>Ýom��U�{
�E�d
!L{�!>�#
6qH�
�\�
�J��{���F��X+B)
�����)2J�S����

׈��
:}�����5�$a�y}��@�^9�	�
 �]I �k>�X`P
��G.�X��i�`H����^$c�}��)$� 
+��c�
]y�0�mA�\w3�!U[�4�6-�1#�*2Z�#)��m��+J\��\�����I\��8�@c�������?	^R(f�G6���$��C($ɍE��~���`T"h���y$q��Y�!���~�!Tɖ��S�'��2�bd���']>t�f�[�kD�D;B���˜� B���_�)
%
C���5�V�f�e�Pxu3X���[y�(@$�_$�fuC����7q�m��R�6&6���x��8?9@ʋ���
�-�A�'���+vh$�R�S��
�����q�q��L�?�c']��D�R'��6�;A��9(��y�s��
�������KӒ6��_��0��F�>����T$��'QpȎ]��0(؊Q�?�U:0��%�įR�3]U
�S�wP�߽�-:P���B���?�x�� ����g�5���@<P�zu���
�
+endstream
+endobj
+420 0 obj <<
+/Type /Page
+/Contents 421 0 R
+/Resources 419 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 406 0 R
+/Annots [ 409 0 R 418 0 R ]
+>> endobj
+409 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [225.562 684.047 508.501 694.951]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/philosophy/why-not-lgpl.html)>>
+>> endobj
+418 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+422 0 obj <<
+/D [420 0 R /XYZ 90 757.935 null]
+>> endobj
+14 0 obj <<
+/D [420 0 R /XYZ 90 669.352 null]
+>> endobj
+423 0 obj <<
+/D [420 0 R /XYZ 90 637.423 null]
+>> endobj
+279 0 obj <<
+/D [420 0 R /XYZ 90 637.423 null]
+>> endobj
+419 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+427 0 obj <<
+/Length 3701      
+/Filter /FlateDecode
+>>
+stream
+xڍZI��6������P�u�\DR��{챝θ3O�EA->S��%m���jI��8(
+�v�]<,���g�WO^��"Y%�-����]đ�
+}oq�[���[?t��~�ƫz�m
c���ʺ�)۴ͫR@��̔
�Gn:^���������?�<��.<^#�Wq.���o��
�o�*H6�G�:.�~�o��x��;�7�&���ʍB�����/q��WK/t��S
�~��!ȗ��XZ���m���iU�J�6M�`�U{��JF{����+�5�t��Iu���*���q�+�г4�<���q�z�*	�����
ڌ����FY��

$��դ�f
+�)����+bm
+�6f'����>d�EQ9Xa��y*������}Y���ehk��ˌB܎U��P>�K������O˝6�3s�
�p@��4�*�_��O]��ƫ�_
�OIb��~	��Ӳ9AJʖ0�8Yu��gAb��/� ��h0]R���!/�mm�]�-tVO4
+
���ŝ�jӀ]ᰬ�B*�}US]��P5��
�V�����]�Ϭ�G�HE)_�.�_��9y!�F[����S�:-�s�E��}Ş�A����ty;�ړ^P����&/dBO}7-�o�48�����ֻ�<'S�y{�?��:�H�i���b^ ��
]a
��(���x�DQ|�\���/,zE������
Q+�S]=��Q��5F
FήN��#bD���f~�;S�n�
�����?&(x����unD;E�.L�(�?�.@�I.O�5.�`�V0!��Հ�D��vm
>#�B�T��l�	�5Kw�&�ܴg���Ev�F��:$`坚B6�@�a�"���vD&m��Y���R�D�~�#����
� �����-���cZ�N��kW���C��d��g0�<��tkL)��3l7��#��AթҲ�'o�����o:��g���
��Ġ��xF�C6M��\�pbҘ�y���<U��Bƞ�ߡ"3�
v��h�����p�g���ڴls��k�
��TW����
b�cA!� (�s����
-�h�8�1^��Q�w��)ű_����_����U��Fc�w�j�jw	��Q�[by�
K:�O��T�?����i���X��2H���p^�+K��oFx�C��λT&�J>lP�`=F����߿0��_-�_B�T>⚊�~e.	����y��E�T��hn���Չ�
�MN���J������n�w��cV�V�,~�ƹ{�J ;��%�5�"� �#�]j�m���N(,���^( ��`�Hc۷������p�~�;w^���篤�a�]{����@{Q�������l��y�j��/e|��xL�&7���Ԫd���b{��d]
�Oz�L� �)���r����xȳ�4%VIXx.�XD�.�7!�S���Fdf�D#+ގ��Zd�b_���@�6���q�%�$�2��
FD& ۻ.�3��"�
�`c��r�H�Z�K��k%�@���U)
+�
��Y;w/�
����B�wdc ������F����S| 5Sg[U����ہ�I��kۘb#�Tt���ND�,jQTt3g�l�K�Vz�1�y��xj�;������ �d��o
����
o<�[�
o|��>$� �p�y��l|]�t:��'������@��B6�];���J�
|n.I
ZM8�'3r�#&��{�ܩ|S4-C#���� � �l��Mp�^
+P��Lͺ��A鍂W�K9��
4K� 
@l+q�'�rF�l�u�\����%|��<�K\duP9�Ю/Y+�@Y�c}
��T��7��8e>��!V��lІ3|Y2[
0��~��
��B�S�GA
)���ʼ 3B��$s��6����\4MN�L�u-:D�l�?��l�~��?4׳�^$�	��ƃ��Ty�;�/���Z���oO�J�G�@�݉���D�G�6`<�A�@!F#��dS6�$uڌ�v��׆݅،#hb���dkt��
����L�#`]?�>����0tY͵�_��lJ��
I��G���B��1o�y��W��FA�qy�q����Fm
 M��I�8�N_K��\|e�J`σ:���s��"H��꣺
z�.��@��Y]��
+�P�n����"���D�Y�9hzeU�F�;C�
U�x��0r�JEܧ�ό"����3�~��@f�x���d�`�h���!�Po��>�5�T}��l'v�\T��`�]|����`u��(��}�0S�d;�t;@_��A�#��;��~����9�(:1E�{L��H֮�J_w5+�b[Ie$
�'�ᚪ]d͗ ��)������q^?,oC�H[�Ȅ��P�R��f�����)�����ũ��gfC�<JR���*�M
+�\x�dW�fOFeݰ���G���87�N_�w�g��^�����忞-��`߿y/t��t��͇�B������-Zz��ll6�U�&
W��lr�0���s�w#�b^6e_�9���.��wG�Ե��
������r��ґ�*/٬��
".��"��*�&��hg	���;���*�b
E�K�ؚ-�zƃ��@���[֎Ǒj���,�����`]ͦ�A�q��P_�@(
+iH��F_yJES�AK����XY���K��)h����] �
+M%���E�(Wv)蹡ViB9���
O.k��A��W�:���%T��%,A��&m:	�
��Tm!�]�s%A�9j��B�H:�s�)�E
�}Wk���D>��@c6:��R`���g>#`)�$��Y�1�X	O.NY��A�+�@� ���5�V�T�DZZC	��ږ���Fedo��u�7{��uf|����"�������
j$��־]Y�g��ڼ)6��}�J���Y��^'U���I^�(�ll1����ٰha���u�:��p�F#A�
C�
Z���3����'C-�c��9v�^�w
E��º���|&q�e�����7����0X2�@%
�9h��
�ӫ ڔ؂�΂�/y�T�j��xԸ�_O���j�R}T��ޒ�Y֜κ�QQ��h��8F.��q��ؖU�!��3_
n"
ŗU+Л>����/�XS��X%A
�[Q5=���
ɻ�<S]���q,C�Wb�k'+LZ�+�?<��Tm譍\�>�7�B��'t��ȹ���v�ަ��-�������so��=��N��
�_�W߻��s�u�hH����Yš�
�Ҕ��=Ƴ�`������`G�^{���+�s�h�D֞&��F{�?����GP=a��&��Q����ᾧ��;�M�
+.��7l�v��s�`w���s�6�qh8�Fu�`��6����� _��8��K%l�(s���;*C*��Ƶ1������{�����Q�@F��9�ϳS��I�I��N`�?�j4��%���b�F��f���G�Nu�
��nh�3
��}�

�>��?��Mϥu��a�!���?δ���gd��-�9^>H�镍l�*��Pe����Gk�W�h�r��������W�J�`���
+�U^�0���h룆JwUq>���~�Z��\���D��ʦ
���s�)��޸��>-;���&�kŢ�ܕ瑟� �1z*r���O�˝?ڠ�I�&��m{��ɓ���U֬�2?ի�}����9O����+�u��Q�_�Z� �n��OX�Ƙ����K���z�������
+endstream
+endobj
+426 0 obj <<
+/Type /Page
+/Contents 427 0 R
+/Resources 425 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 406 0 R
+/Annots [ 424 0 R ]
+>> endobj
+424 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+428 0 obj <<
+/D [426 0 R /XYZ 90 757.935 null]
+>> endobj
+425 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+432 0 obj <<
+/Length 3244      
+/Filter /FlateDecode
+>>
+stream
+xڭ�r�F�]_��˒U
`p1o���9�-�[���"�"� @�W�}�` B�7N�J���9���_��7W��^=�����M�du�_m�U�^
��b��Zm���_���#7^�� [kͽ��n8������S��u�㉯�um~�}{�����U {�����S/U�jw���wU �����6[�	븊B�j���W�{�8��7T���|ޛ=�
n��As�՟�����u�7A��o���i��K� �]�8�?e뼕�������_7�p,�f�� �����w_�U�$^?�R�f`���
U����ώ�봝���Z��ʮׅA���C�����ˆc^��|+y�_s4h�:�:���"��%�pޮ��S�D>Q�8ua꾬=[��]o�'��?9ȉ�O���<KE�%a4^�:�cJ�p�����8Җwx%�0!�;��(�n�T"�h��H�CD#�
���n����Ǧ�� 
%X��@���S
�N� -\HY瑱@���:�O�>n��;�����(�24�n at wڼ [...]
+],[ �|�W
JfĖ1����P�"�������A�9��<�̉E�iR�	��y�ј��Q��թ���[]����Ț�eF�X �!Z�Q���*9�y�t�y��$�V���4
��Ȫ:�voZe��Îʹ�*������ K�蕬�0›���+��ݍ�f�z "p���5 T�{�g`؃�[n�{��̘a�a'���̠;��܂�V��er�
��>8�]_	�����p��,ZD��u/��&�����m�8��q(��
]�c�a\��7��Swb�\ Pk�d�bp��	4�@���� ��u��#"F�d�W
t~�-��g�F>�⇦�
�a�>�;k�(��N�����S� �����_����{a	{�);Y_�M�x_�edo�z�-����t�?�
�BD�}�Db'��"��:Mt�6�˞��t��`u,Dh�@:~����͋�6�x}{��<u7��ߛ �9
:J�-?pۑ�(�X�
+��ǡ����8�h�`�`$0��H�<
) �PtY�1z�����.с��pvJ��vwN Gi�^ NU�qe�?ZC�VG�qiLȅ��\�z��+;M�!M���
r
��/نB�%2e�$����Xm�Sh�
Y�}�d��a��Ӯu����u�rhk̓�r�	eП0p�0�t�C�Gm�>5]��o����u��Eanj���=�)���>FNF=;k ��]9�&�Aߥ�[�
Mj�
+/R�
+���Yʤ���kf 2/J�0@��y
z
�^Z��xh�'tP�r�����˾������^z�e�b��U߄�~2͋Р*��r�Xb�ٛ!v.�{�
Ar��	��ly/[�g�u�7ó��\
�q��O��"�)�#�P�I,�8�c
�^BrD�E$
�L^Z���YZ�v|e��xĦ�)_�,��`�i*�͞z!�L.�\Af�d�L�v
�hԱA��R�8�ˏ�27M�!���Sf���}!��
9�M[BdK�
�%{Ee�nc��4��;��YT��c�!�7էkV�� �����K��D�����J�{1���+	[0Q(��"�M�� ���#�&
�*�N�+�7��̎$�
��sf�Vw'@�x{�
�.��$��V]���u�xy;�������h�3��C��bY�^Kuik"@%�
+�s�g�m�Z�-�qj�Z�'*����c��e� Pn�#b��'v�.��u�p���sS��9a��mh�IE�$��5U�hF�(-� :�8A't-E+��x;\k�
�@v�-	�m��7�ċGt"H#��A**K�4G)L�k�Q�
Z��
�8���}6-.�	�r���H}�^b\��1���Z�����u����f5
�Ӄ�"��A0�}I�0%*��� ��#Q`#���]���6(��������)�Q�L�Ks��eT�Q`��J����
)�-!��I����&	�E�_`�k�|�0N
�
�D)8�@�x�DXD�A��*Fj�_�]�c"�
+U
X�g��
�
��]�T8:U
β���ϊ���1Q�ПgD�+HF��Z�T%+Nc�
���
�2�sA^�܂�k�ܽ���u1���
c���V�Y ��Q��c@)E'I?2�d�(I����@�p;*(e���s��
@e
+XK��Ø7'l�p^� ���%(��|�EO��XnPV��0����#�h{Ō��Z�Ե����4I�3���m ���S)���Z��0����+��f��[/S��P�(��4J�l��j
+�
�}#i�7����*
A�zqA����}衁��@m�XL�V��M�!��0~9$!b�.�S�|���\���8��
�1��QBV0��C���M5
%T<�`J"	5�Hd�Q�q57��I EK���_,rpB�@5J�*u��x� �K�`=�`��G�,xr�i�
��k59e
���;{3�u���0��y�l^*��mI'�_�J)85f,
�" 
S���if�C$��p�Jwr-r^�䂂Z�QrY��!��vmy'nўJ���j�\�b���rYhVv at t \�O[��b.�>���|���H/4��}`���
������
��F�o������d�аO���y�L��N0���Tc!�Zh��!��+���WRZR���&�H)�U)�}h\�NO��3.!~c#U��y��~dk�1/�1���$�Y�f�t�\�w�J-�[
+�=��[.c�0׆`�N �
+B�B��+GM'VƷ~�V
ݢӸp�n�|��k��gO�Ž0�(�ŧ"�m~O��h����2U��LŁ�
d]4i2�}|���h�R�GW{y3�)��sl�k�t�Y:{Q�*�W���
�������HI��I���D2�@J �U��)�zq,�P���l�ۣ���7�\D�����[���樼
��p^��:p����Ś���`����缶?�����|/�0�%�Z
W��V��#���!0�IqfM��O�>~>��]�
uyj��~:U�gVy¦ ���F�{��K>2Z*I<��JaN`bf�l�~��t�@�
+endstream
+endobj
+431 0 obj <<
+/Type /Page
+/Contents 432 0 R
+/Resources 430 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 406 0 R
+/Annots [ 429 0 R ]
+>> endobj
+429 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+433 0 obj <<
+/D [431 0 R /XYZ 90 757.935 null]
+>> endobj
+430 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+437 0 obj <<
+/Length 3229      
+/Filter /FlateDecode
+>>
+stream
+xڭZK��
�ϯP�%���v��)���^{���&�����F�[�r?<��� �fK=ޭdO"AA��V�z\�ﯾ{�z�&V�_fQ�zح�`�g��F��Z�����(
���~�ƛn
���{�nǃl1��!�{��M��Y�^��yxw�����Uk�P���~
�����_�U�w����b����$��^�_��*`}W�4s���O�b�G�d))�s��f��f
?�J��?��z.6��23,o�a�
�-�<�`���M #��A
��h�����M��R�	h���_��u�JVj���_� ��>u���W\D��a/��a
��%���l�Y�����p�~��eD���w��R$�jh��Ac����>
7� �-O����a�
I���:Dt�l�f��f
�8hà���]�y��V�-��P푽V�j��w�n�!n��ς�����PĆe~�qV�I��M����:	@a�ZtJ4�K��'&4�l����?p���� ��h���U�M�Z�:�͌��q�����'������G���x�Ȏ�oN������۫%��c��e
+xD�*������<���]���<��g��ໆ啬���9�tԃ'<@��uS�]�a�{�w?�k�b
ĉd)����ceD�
�l% |h+�sD�@'I��N��0
=8>X�6��3�#OBk�-��ְ�Ɂ"
v�Q�H佪T�H��J�X҆�Nf����DCW�ff�`�XmYe$O
+=�a?W�\��̰
���o�m�ϙ:��#����g���u���M��J��Z�8��8��Ԍ��ʄ�	w3,9.a��:��3#v۞z�60�Sg�AZ�=�BM�m��_q<��2��@�/��$�݉9�
�6��N�Kb��
Z@{� �JSpQ"�r�6,GE+E�D�@��A:Js�ԎFȉ戁0�Q�=�ЖBn��c#�ַnQ�M9?#agW4���ɎQAV��}|���<�7��[��;�U��@�V�q��M
�����Ԩ����Ť��{G͒��#�u.dp��Ok0����R��.F�0�
���4B����}��h�ϖ����P�8��J��(b�����q��[`CX7�g
+u�,�E�
�@��kQ���2lj�_��z`�=�S�0��t�E#�('W]��{6���G�wWf��۱�L�J���;
��B�^
���-%q��
�^[�J��K��:
L�*S4�Q���	C!i�D��
��� 
����UGQ�)��u����-6�?�[I�g0F�þ���&�jP-��Q�l�;�pg�ܫ�
�J"��$f����Q�x�D���x��N��G=\�p�i�⻪gq=˧�
�_:��h�a�|��f)��i��R�*E*Ab�T#F5�C���p0��ťNѥN	/��@C6�k#g�����K��%z"il�;2�f��s\v����cS�x�F^XKk��ˇ�3��Bg
���
�.oQ�46,|N��
�
�A��}׎�{�E��ho�WI3��F�	|�m�^��>1H���bd��� �>ph���,�N��D�	��!�����eٽcO/g	�Y� �&C��L�� �������d��I
�a��,��1 ��9�/�
����X�<7��TZ��>�Ɩ7��X�c�܋zǴ�
=��T70D���RD�s�_F�S�A
�^��
{��[yBۚ�0
��i��S�����}��A��
�S����`ʸ�[n;e
����Sg1�?h�,�؏W�'ǎ���'��Eg
��q0b
'���j�K�>}�Y�����]8+��®�2
+��9��H"ć��-⭝��ml�yQX���&3��d��)��<��"g��E_3l������,g�
	_~���ۻ�w��+���?��{�_x`=���@� �a�tX
+�� �܃�K�
	͊Yz��d-E�w�cS>>\`��ŋ v�����|��!WΎP'�(v�g�%D'��p4n
�)
��
��S��46�
Z'B±��$�(C�2�٤�hsQ-�
������=\=�݊[H%K��l�@��ЩGP�&�=.�'������$ʰ0�q	;�׉	Na�.x�%c�0y����`���A5p�[x(ݘ�V��?~��Ee�gi`���+0��H��y��!O�=@����j|��=g0CR�8���
��偖sy
+�A�a�u�Y8-d˭~�Cw�
����QBHeB	~9�U�{�Ⅾ2�y�O	�fn�
B69����S��'�Ƥ=��<
+ȎG�.r��y'
��ƶL�^�J�p�
�C���|7�{�q�z�>cSj�&��ؓB�FS��`[���+��2�I?��C�0
���E$��X+�"�9
+�bi��%K,l��1�_��3��Q�'��
=3`�J05!g���x�| i�f��&�W�8�%�=�G|
+D
��rUN�!���0�_���U����ɕ '��R����P��ǂ��q��z�1H���F��R�zEfjD���
�;!��X��
+Zn�y���h��5u��e|�8�� �q*�s�B���|�K�d
��e2�r�8� :O�f�>���VHƴ���o��E�$?��a�X1�.ff��3�p�Co�E����f%��|�q�7��6����df�����_>��xwO�>��@e���U�М^�9憺���Mo>�L9ϼO����|�E>Ơ@s1h��z`:i4���s���̦�\h�q!�-�T� QՈN�����S�ݙ	���5�d����dwv���%��$Z^���4`�ެ�ߞE��).��d4./@piApi at p	W��[SɌjK�u�Ŧ�zL1�ڄDt�` ��;r0:���ˢ�R.��3��u'F�K���"
� �o�+#|B.zpq���
�T���)a��q�AY�`&%��"� �E���D�r���
I����.�h���s,��v��bI��&~�&t����	�s"�+%����u2ṊNfv3�U�w��+}Hw=
�~vVP�,*�Ov�JC�lN
Uѥ�� ���)E;�8O [...]
��_&ib�
+endstream
+endobj
+436 0 obj <<
+/Type /Page
+/Contents 437 0 R
+/Resources 435 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 406 0 R
+/Annots [ 434 0 R ]
+>> endobj
+434 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+438 0 obj <<
+/D [436 0 R /XYZ 90 757.935 null]
+>> endobj
+435 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+443 0 obj <<
+/Length 3216      
+/Filter /FlateDecode
+>>
+stream
+xڍZIs����W�t	YeCؗ��bS���y
W*���<� �Ŋ�}zl��|fz���^�n�^
���������^$V��b�_$�"
+
+p��f��c�^���|w��7�ʉ�Jq�m��'U4i�˂I?�L5���,�p���Nj����
δ�DV���t��_�b���%��f����7_<\����*��g�a��F������U,߽�_��^%�rs����t�yϭۻ��_���n#C+X����d��&�؋�Nd����\�
+7Xf��ss{�_�{
h��FB�++����	;U�|��؇�N�T2�Q7G����X�sZ��
�;n�b��
+��q�r'����aO�gY}�_�E�j��"A
W�l�f�W�)�SX�þ2�
�MY�5�b���[\ٲ��zR;ݞ^�{EK]31K�\�dK�x�
�B�
V(%u�t-G��iqyƫ=U�pl�T���]
殺���$��bo�0���(����-*��듖A�h=�9S�����������+��*�uw\%,liϧ������XP�ztՐ��E�Z�$�����*�����tT�e�x���ӲJY��X1)
Rӂ���Wv��4�{7�w%�;�Dʰ���?1���
�<��
0��Š��%�M�1�JV
uv�	�И^{�U��$�^6�Y6豇l�Z�u���:�c�M�[���6��^�E�i�R��[])~&$��M�2�8�x�![KX�:K�������k!�EiU���83������r�
̜y�^���#n�-����
Q��V�I�4�
io&)&�F��isjgf�ם�
F9w"_�6���:�O<��c�y���#�v��V���1Y0�*�>���f�
�I�br>� ]Lf�Z��>~8O�UY�L��(����!쒼�
ث��X��z���1 �}Y�$H@�}Ե�


�Nm-6z�R1q3Ε.�>�y�3m��򱤇��x,�\��`�5&��-6��w?�0�����
+�Q�ug|����w)j

����?�u!z(��ʝ�Ӷ��D
��%j��,��<��LF���(+�5=/��
��o
z-`�j���5�m5S�m!�
4��A�فp��
+��3ͽ-V�=�f�Srf0�����cH��nj��A��g�i�z8��
���������*���y)
	Jׯ���RDɳI�� y�d	�L���z�iuy�9�

8���d��@�@���H�!�2;�yp�p)]*��1т��.
`s�$f�"�x������ �^h��@j*{�� �(��*
T@�
A�0�$��]3��a<�.��=��
����S�h�%��O�1��孮�<�'��s�1�3Ҍ���D��#�Ҝ,Z�L`�c�{��{��C�k� ?
>H��Pć�ia����B�`�_=ݰ4�t�
��Ej ڻ��Ԭ4��s�
Rp�b\�ϭj
�������y�+0�
��fO�D�{3�ul $^�Ĕ�|]&�P4�,�>}?SDq�Cf�)3�t�����Ȭ��k���q�T�Fzm�";zm[�;P� �J��zy�}.J<�h�~}�7����-�h;,C#�����'C�N
bљg���m��G"s��_���j��9c�O䟻�vs��z�6Og���@
�P���E�q��5�y3��7 �� ���/�w��\N3r�iF�d"@1�h�pQD`��e�n��[F�X��Y؇���08P�1��Թ�ii=����5�1z�뀲����EN�cs�x����zvhr:��6�:��S�bSYxN2����e�k�>�g
�E�d�4�����Q��N
+6sǴm�X�����
�GA9�1
"A��,�T�g1��@L!���l���9���hyN����-7�)�o�	�T�i��q�'[�����J6o�'�6��������b�@�\?��'���m�
�>ЉqǣF���d�X8�C떒z넂d�K)�ɯ�+��x
,�� r�o�}�����x��
�׿�>��?p�Í����B������a�
9+�ٛ���N�|(�
��j�c(���G�Ŏ�h��Z�=��b���Asu
�O��ѻ��@��iE��\�C��O�}��P ��Pﱎ��ωPNX'�4a�E����
k}�9叄��x֕X֝h�:9)��� ���8��u쑱����S
��lI�
����Ty�G�����d
+I��KPɊ�6<��"�^`i
K���V�݁R9ab�@���cӜ���z||�Ek���
+|�S��͕l�u��n:ady�6
T �G���c�]��סj�C�R5��0�S/H;������ȹC�����d�@i���! 
�|_RFL�
�e��"h%璵�_�C�<�Q��HJ5p���9"���m��;�uMXlx)3��g\~#
_7��9!}
BA:�ӹ�7g�e�s�A�F|I��MR���ʀ��}�"�,�d �
M
1��
f-J�'�@�Hgn�9cLͤ-&3�(�xpWR���u
R<��t�0�����GY$�-�[cMc#�:	+I']�$���yT
�V��l�4bkx��GK�(
~�

���3�\ʞ8�
˒Cx0ȉa�8��Q�Є�
D�:�RS�O�3-I���(�H#��\w*�� �9V�@V�m
�q�m_����N
+�Z�p;����f���[��� ��apI�D��O�?a��bїax��w�@1hLPP
!�5��a_y��p5�HK<�KЈO��nԷ'|pR�sۼX*�z�ȹp��(FR�͇���:��__0�7�'����A}?�o}����3�>>��Zn��[yV��o @
+_��~"c�u\�����7��y���/�>��A��"���$N���KLh/�A]�/��Wܔ
���t�P
�-�/=�
�Ǚ�B@;/�
ŭc�`4F�l�ؚ�>$�
{��
�r��07H
a_\;6�
�

+v�O{��K��%z��3w>�qb!"�-��2'�&e�W�Y7UY4�ߔ_
��Oc&��g��f�e�
��
������a�=�O�ܛ���%�Q�44��k��e�������yh%��?i��\�<���J�̟�Q��8�m�VR��Q��ˡ�S�~���
`/՞�A&�����}��%-����J�m9T=�V\�_ЅEA
��ꬶ�B�+K7W��f`u����V���&��J�p��B˳����8&m��� 7|�����
+endstream
+endobj
+442 0 obj <<
+/Type /Page
+/Contents 443 0 R
+/Resources 441 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 446 0 R
+/Annots [ 439 0 R 440 0 R ]
+>> endobj
+439 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [258.676 310.234 428.041 321.138]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/copyleft/)>>
+>> endobj
+440 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+444 0 obj <<
+/D [442 0 R /XYZ 90 757.935 null]
+>> endobj
+445 0 obj <<
+/D [442 0 R /XYZ 90 195.555 null]
+>> endobj
+441 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+461 0 obj <<
+/Length 1456      
+/Filter /FlateDecode
+>>
+stream
+xڵW�n�8}�WyY�i��Y�b�m�I�M�l�>�E�ȴ-T/%����C*�k�.�}9���
E�-=��
^���z)Ic
{���R/��8�fs�G<���z���j.�
?��x!

0e��DK�f�
��c�^��$���
|�L�9��x���ۘ]�� ��w?�g@�b��b�C
��$�n��^ܼ�0
Ŕ��JJ
�Ug])�V�y]��6�d��
�C
_G�NΣ �xLj�NC������+1���:d�/qiZ
C-�/T.���2�~�0
�UW��֊��p�l�P0�om�>D5ǵ�"��C
�@�u!2�ڕ
�b��+BȞ���"��� �F��4�Ik
,r�ʛKSNW�=(
+�0�]�Mv�h�M8z0��:���a��G�WK[���
G�ׯ���p:�}u�'��]�Hѻ��ͨK�O֤��{�f`+q������9�Oc�O�j�#���'ش������Y��;��į�ZS��Ԑ�fu��W��hA��=
-hWpȬ����_�Kus�T�fȨ_#�D�J�]��0��2��h��u
�
����DEz�	��.�1�p*
����Yt�
f�z�E�2�H���3L
V֪^*Q:Cs�;�����OI�
\�q����a��B�<��H�F<N��P�(�
��A�U�`�a���L���	���}Z��
\(�k�>
y��
+�A
���jɍ��6���,���)S1ر����
+�J�
+k�5��&ӨY�w'd{��Nb!	˜�SV�Z>��$F�K	uM
N��y�9���i7G�V�έ�k�\薪?E�X��2v8(����{�B�,	L�H��o4]�=#��[Q-;��S���Н���V-���f�}���$�9�
�ݑ
`�Ȣ�N��Y���,�m�Q�[����;�r���9���G�K�=�M��i�Nj�=�g�Nq)
�u�]ɹE�����9��>ш�\���������}����ҳ��D`Aʙ�ӟ'Bl�xU���9�=	v�_��Z��}�ܞf�m"��#A^�U���r<��mij�3@��rUl�q俰���lgU����C[n��VQ�W�Q�y
���AN�e��埪�?Q�3��
��c���T1
x��	�Z^ѳ��\���NV�uN~a(/����'���5c��&1I�ʾ5~�����
�
�#6R‚��'�;0�)'Ѥ7��g
ggB&�k|^�W�\`
����>
Di�ɯA�������<��`r���l��ۦ��s
f�A��RmZ? ��!=���1O�5N�}˚7,�6�nL��:JI�����o>da�.wk���w�}-����s�]���H��0�|�%ߊ�EqP�lh����0�o��L?�
U�/������9(E�؝�Uۮ/���fC��tU�V$o��u1>���`b�K��5�����R���~P��(
���ac��P�-�:Y�
+endstream
+endobj
+460 0 obj <<
+/Type /Page
+/Contents 461 0 R
+/Resources 459 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 446 0 R
+/Annots [ 447 0 R 448 0 R 449 0 R 450 0 R 451 0 R 452 0 R 453 0 R 454 0 R 455 0 R 456 0 R 458 0 R ]
+>> endobj
+447 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 452.489 513.996 461.346]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.8.1) >>
+>> endobj
+448 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 335.209 216.421 346.089]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceparma__polyhedra__library) >>
+>> endobj
+449 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 337.112 513.996 346.089]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.9.1) >>
+>> endobj
+450 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 221.855 513.996 230.831]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.1) >>
+>> endobj
+451 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 199.937 513.996 208.913]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.2) >>
+>> endobj
+452 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 178.019 513.996 186.996]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.3) >>
+>> endobj
+453 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 156.102 513.996 165.078]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.5) >>
+>> endobj
+454 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 134.184 513.996 143.16]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.6) >>
+>> endobj
+455 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 112.266 513.996 121.242]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.7) >>
+>> endobj
+456 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 90.348 513.996 99.324]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.8) >>
+>> endobj
+458 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+462 0 obj <<
+/D [460 0 R /XYZ 90 757.935 null]
+>> endobj
+18 0 obj <<
+/D [460 0 R /XYZ 90 553.183 null]
+>> endobj
+22 0 obj <<
+/D [460 0 R /XYZ 90 519.197 null]
+>> endobj
+26 0 obj <<
+/D [460 0 R /XYZ 90 436.003 null]
+>> endobj
+30 0 obj <<
+/D [460 0 R /XYZ 90 401.2 null]
+>> endobj
+34 0 obj <<
+/D [460 0 R /XYZ 90 320.745 null]
+>> endobj
+38 0 obj <<
+/D [460 0 R /XYZ 90 288.682 null]
+>> endobj
+459 0 obj <<
+/Font << /F70 275 0 R /F72 277 0 R /F56 243 0 R /F11 322 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+496 0 obj <<
+/Length 992       
+/Filter /FlateDecode
+>>
+stream
+xڵXY��F~�W�[FUa�{��T�����c���v�d1�*B"�X��>�����%�����uO�C�Qt;�}6��<�i��l�<��fDq�fs�5aΐQJ�e
�3��?"���\
�
��3\p���|��
�g��
8P�*��#
+׃�/�a�Q"<�]k$���M��Aw��_��JŒ@�
B��!o�l
��4~Z�y�q��>]\\�I^dA���)/�[�̖
���0�
+�%kv��~�����W����Y��4��	������J
���@pk��"�ZDFS,y�
�P5� ��o��c�e�J,�9�v�̌�
����đ?:�� 
�e�p�][0�c,M)8/M?�>~עtC�>�S��om�,V�z�p],ݞD�
J��
+���V�2�u2guH����.>S��L�EBr���_E���'�жa1Z`E�1�ױL�m>���X�s*cV����[�ѓg��1�E�>J�m at x�~N �
�� ���q�iH�
V�
��4�I�Qxb�p˄��X
�O�I�
�oK��1�UO��]�&l�A��pw���k��I���*M�n����P����/����p����um��b���~�?�<�|;�%��Y�jy������>ox[oh� m�f}^@VDA��l����_�PX�~<`r�H)��Z*��
#q
���g:�mu���dx�9�Dpeè
+��ܙ+�
Ѫ?ѧi�-�b�1lX�1��t�r[4f_E ���/<�2���\��ZD_np*2\tu�G56}9K� J���`�#L{�Tؼn7�ݹv�wv�mΫ&\i���t�d�<MD-�le�H<)�J��ϽT��>�UwA)ߣ��@�
$�m�lH�P��
+Va3�1��Od��M�>H�A\�?SEK�p����I��
q�M���kU����7e&��	��r�S��(6��n�#aN�I��HT�6�x�B�jb�,@�!� ө`�ӬDk"�FCg��(�����
�p��*�>
+endstream
+endobj
+495 0 obj <<
+/Type /Page
+/Contents 496 0 R
+/Resources 494 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 446 0 R
+/Annots [ 457 0 R 464 0 R 465 0 R 466 0 R 467 0 R 468 0 R 469 0 R 470 0 R 471 0 R 472 0 R 473 0 R 474 0 R 475 0 R 476 0 R 477 0 R 478 0 R 479 0 R 480 0 R 481 0 R 482 0 R 483 0 R 484 0 R 485 0 R 486 0 R 487 0 R 488 0 R 489 0 R 490 0 R 491 0 R 493 0 R ]
+>> endobj
+457 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 722.069 513.996 730.926]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.9) >>
+>> endobj
+464 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 700.151 513.996 709.008]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.10) >>
+>> endobj
+465 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 678.233 513.996 687.09]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.11) >>
+>> endobj
+466 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 656.316 513.996 665.172]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.12) >>
+>> endobj
+467 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 634.278 513.996 643.255]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.13) >>
+>> endobj
+468 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 612.361 513.996 621.337]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.14) >>
+>> endobj
+469 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 590.562 513.996 599.419]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.15) >>
+>> endobj
+470 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 568.644 513.996 577.501]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.16) >>
+>> endobj
+471 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 546.607 513.996 555.583]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.17) >>
+>> endobj
+472 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 524.689 513.996 533.666]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.18) >>
+>> endobj
+473 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 502.772 513.996 511.748]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.19) >>
+>> endobj
+474 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 480.854 513.996 489.83]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.20) >>
+>> endobj
+475 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 458.936 513.996 467.912]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.21) >>
+>> endobj
+476 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 437.018 513.996 445.994]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.22) >>
+>> endobj
+477 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 415.1 513.996 424.077]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.23) >>
+>> endobj
+478 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 393.182 513.996 402.159]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.24) >>
+>> endobj
+479 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 371.265 513.996 380.241]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.25) >>
+>> endobj
+480 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 349.347 513.996 358.323]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.26) >>
+>> endobj
+481 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 327.429 513.996 336.405]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.27) >>
+>> endobj
+482 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 305.511 513.996 314.487]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.28) >>
+>> endobj
+483 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 283.593 513.996 292.57]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.29) >>
+>> endobj
+484 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 261.676 513.996 270.652]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.30) >>
+>> endobj
+485 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 239.758 513.996 248.734]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.32) >>
+>> endobj
+486 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 217.96 513.996 226.816]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.34) >>
+>> endobj
+487 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 195.922 513.996 204.898]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.31) >>
+>> endobj
+488 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 174.124 513.996 182.981]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.33) >>
+>> endobj
+489 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 152.087 513.996 161.063]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.35) >>
+>> endobj
+490 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 130.288 513.996 139.145]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.36) >>
+>> endobj
+491 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 108.251 513.996 117.227]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.37) >>
+>> endobj
+493 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+497 0 obj <<
+/D [495 0 R /XYZ 90 757.935 null]
+>> endobj
+494 0 obj <<
+/Font << /F70 275 0 R /F11 322 0 R /F56 243 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+542 0 obj <<
+/Length 1382      
+/Filter /FlateDecode
+>>
+stream
+xڽX�o�6�_���@-��HJ�0��ڬi�v����0�v�ɒKIM��~GR�wl%��S�����<"o�!��j����K����M�y�ဆ�M���!E��<�*�|WLď��ѕa �A�aʼn��ތz�z���F
�'��潛�ț ��CIb��pͽ($�{׽?z�5m�w�T�� s���`��H�<
/�|y'&*
��V�jyq�"��KQ�?�<�eY���j֚�����
p�D���8l��8H0�\��8��iI�0��㚱�n��'Կ
?� pf���GY0�J�\�M=~�#�SޏI�'I7�R�W?	�T��6G`G�#��+��ע>���i6�N&
u��
N� LȪ<a�����VJ� m9TO�Z������j����R�[�%����P��nQߵ�L
�
�Uժ�j���VSZL�B�P�>R&����ήn�S���*S�dNu�@�v���2
��/U-� f2͡���*�
�vG��&!�	9�Kv�g����E&�T�,c���(z�7 [...]
���0�����(�L4IeM�m�@8~(�IL ��I�x�@��A̢��y��?��9_
�b��
+�	��W�y����

���ο_��wGv�&�
zDS�\�K�Al�X��/r1E-���̛ڴ0é�G�R-
�oG�(���]�e������d�5'cw�98=u"
��K��R�$���$�]�9�LjtK��J��%�����hh�m�
�¢'��ZʯK1�%�>��ӧ�� p�Ā�??�����}gB.
��U|ܦ.HȰO���Y3�^V���@RY&�.����.�x
1�$gDp*O��fP�\Hۆ��)wJoӏ�J(a~�Ώ�Y�jet�T�P@�υ��r���(ۗ��%y
-dڊA��,ml߃{����&F�]
'��?��C���T��L��.U��l��*]�)�_�&.]�s	��~cO�=���p��s�v��:s":�j��
+��ΫK%'���^,�{�V׼�C�8�#��@}F�V�
Ɉ�؏ع�[ߎ��O�/�^�}�|��8�k@����i@�&�5X"
4��OրG?�P����g�9:+�\d��]�Ïv1m��^O�'n<!G�	�������w]N
�"�uCta�f�n�uY��[9ۏ4���F�����=�͔��� 
+:����gH��]_!�k#�	3"'q�0J���Ӡ{�������{O1��W��o��C���;-fM:��f�%Ē����I|�C~O��L�m�}��a�n�A��k���>n]��V���n 
a��+���^\
����AVM!*��p�ȇ;s0ę�jr�z��TŽ���� �
8�i�e�s�"l	� �
IP��
+endstream
+endobj
+541 0 obj <<
+/Type /Page
+/Contents 542 0 R
+/Resources 540 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 446 0 R
+/Annots [ 492 0 R 498 0 R 499 0 R 500 0 R 501 0 R 502 0 R 503 0 R 504 0 R 505 0 R 506 0 R 507 0 R 508 0 R 509 0 R 510 0 R 511 0 R 512 0 R 513 0 R 514 0 R 515 0 R 516 0 R 517 0 R 518 0 R 519 0 R 520 0 R 521 0 R 522 0 R 523 0 R 524 0 R 525 0 R 526 0 R 527 0 R 528 0 R 529 0 R 530 0 R 531 0 R 532 0 R 533 0 R 534 0 R 535 0 R 536 0 R 539 0 R ]
+>> endobj
+492 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 721.95 513.996 730.926]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.38) >>
+>> endobj
+498 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 700.151 513.996 709.008]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.39) >>
+>> endobj
+499 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 678.114 513.996 687.09]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.4) >>
+>> endobj
+500 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 656.196 513.996 665.172]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.40) >>
+>> endobj
+501 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 634.278 513.996 643.255]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.41) >>
+>> endobj
+502 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 612.361 513.996 621.337]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.42) >>
+>> endobj
+503 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 494.969 311.484 505.849]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter) >>
+>> endobj
+504 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 496.872 513.996 505.849]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.1) >>
+>> endobj
+505 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 473.052 356.315 483.931]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter__Sequence) >>
+>> endobj
+506 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 462.999 513.996 471.976]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.2) >>
+>> endobj
+507 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 439.179 310.042 450.058]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4) >>
+>> endobj
+508 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 429.126 513.996 438.103]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.3) >>
+>> endobj
+509 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 405.306 284.117 416.185]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+510 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 407.209 513.996 416.185]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.4) >>
+>> endobj
+511 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 383.388 268.984 394.267]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+512 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 385.291 513.996 394.267]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.5) >>
+>> endobj
+513 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 361.47 274.523 372.349]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
+>> endobj
+514 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 363.373 513.996 372.349]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.6) >>
+>> endobj
+515 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 339.552 309.94 350.431]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
+>> endobj
+516 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 341.455 513.996 350.431]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.7) >>
+>> endobj
+517 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 317.634 268.994 328.514]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
+>> endobj
+518 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 319.537 513.996 328.514]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.8) >>
+>> endobj
+519 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 295.717 304.41 306.596]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+520 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 297.739 513.996 306.596]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.9) >>
+>> endobj
+521 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 273.799 334.119 284.678]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Domain__Error__Exception) >>
+>> endobj
+522 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 275.821 513.996 284.678]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.10) >>
+>> endobj
+523 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 251.881 267.32 262.76]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+524 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 253.903 513.996 262.76]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.11) >>
+>> endobj
+525 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 229.963 302.737 240.842]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
+>> endobj
+526 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 231.986 513.996 240.842]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.12) >>
+>> endobj
+527 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 208.045 292.784 218.925]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
+>> endobj
+528 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 209.948 513.996 218.925]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.13) >>
+>> endobj
+529 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 186.128 328.201 197.007]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System) >>
+>> endobj
+530 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 188.031 513.996 197.007]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.14) >>
+>> endobj
+531 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 164.21 349.212 175.089]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+532 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 154.277 513.996 163.134]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.15) >>
+>> endobj
+533 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 130.337 234.683 141.216]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1IO) >>
+>> endobj
+534 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 132.359 513.996 141.216]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.16) >>
+>> endobj
+535 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 108.419 330.801 119.298]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
+>> endobj
+536 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 98.367 513.996 107.343]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.17) >>
+>> endobj
+539 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+543 0 obj <<
+/D [541 0 R /XYZ 90 757.935 null]
+>> endobj
+42 0 obj <<
+/D [541 0 R /XYZ 90 595.763 null]
+>> endobj
+46 0 obj <<
+/D [541 0 R /XYZ 90 563.7 null]
+>> endobj
+540 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F11 322 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+612 0 obj <<
+/Length 1613      
+/Filter /FlateDecode
+>>
+stream
+x��YYs�6~ׯ�[ə�� 3�δ�1��ԍ��$
LA
+R�dyD���EK�%{���b����@�,
��9����I�4bg2wR���Q������R{c�rOs�4�8���F4��yr愘��P���$���ѿ#
D�`%0�>%��-G?#g�3�$M���Z:a@�;W��G�(������n���>�ġ(GZ���K6����
��l����7Ϟ�g������p��e�L��t>*�?���m��=�Å�w�aQ��a2��Æ�s
`?��1MOK>��P�	^�w�#(��D{����>��DI���v"o��\�KO�b�1p�a�1(
�Z�l�Ń`���i`]+L�l
��'q�$䞋��kB��
�v���S�Ά슡��g��0�i�
e*�h��ue�C1�����U��C
+(�� �Ht�G��k�	� E��3

cɣ��ȱXB�ܱ=�ɭ�a
�=-g]�zjVb �L�[�%�o�����
NJ���ǁ��
)>}fc���{_���B�v$I�,En��Չ(5�,L��A��Am��1<1�
��/
\V
v�od���Js��xݬQ������m�ol'n�d�Z%ō
�r!��Z�"�x�n��a(�z�)�6�d|&�mKM�V�a�~��a5p�A��N��mm~:�.^_N/�����i;H��'H�
��<��E���z
{�4E3R5[.E����Oٕ�$����c���΁Έ�
��{l%[�
ISޣ
+��aJ��'LM[�}zFp�

�Kբ��O^b��M��Gaj��7�r����s���
��EX�!�-��s���|WR�AߠsR��������lȹ���D~�s���#0c�@
+ A/'/eF��h�
�KhF��9�5+�g��D6�J�8�R`�T*n���]���c��9W�Z���K�ktB��V*eIv�6 z�"�gS1٫˵3h����Ldʳ��rU

�Xw	y�9τ�ޖ3��j���_(�R�U���8H7]y�wm���o�{�(@�DG�Qԩ��x
+[����,ɰQ�dn�}`q|L���vܿ������Gl4��B�1͞x4t�J��~\�)l�K��U_��!\ޚ*�^K��0(���y������Z[�)������?��H��_��
\&(9z�8��kȕ�-�͛��O��@X>5cʯ
ν r������L4_e�Ӭ�{Ҍ�gO��=x�B��� V��)����l�-
�.L at +
��YM_�v�y����UC�l����Cm�N[3q��$�~�+Z��ςւ6+�A`���E�|9�
���O�
+h�����6�{!�z�O0x���
~A�����w͠U��t�1cJ�����,���qƺ��3���)�ZX�+��z��
+��L�����)N|'��mR���؉������R?�B�Ng}���2�/�OL�������M:��fŢc
~ۍ�s�t�!�ox��E������%����!��M
�1������u���4�8vt.�����,���(��m�g''�����+DU��=�����!} /��/�mJX��R|-�}�bgLa���(
+`\�����&�g?�
+endstream
+endobj
+611 0 obj <<
+/Type /Page
+/Contents 612 0 R
+/Resources 610 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 446 0 R
+/Annots [ 537 0 R 538 0 R 561 0 R 562 0 R 563 0 R 564 0 R 565 0 R 566 0 R 567 0 R 568 0 R 569 0 R 570 0 R 571 0 R 572 0 R 573 0 R 574 0 R 575 0 R 576 0 R 577 0 R 578 0 R 579 0 R 580 0 R 581 0 R 582 0 R 583 0 R 584 0 R 585 0 R 586 0 R 587 0 R 588 0 R 589 0 R 590 0 R 591 0 R 592 0 R 593 0 R 594 0 R 595 0 R 596 0 R 597 0 R 598 0 R 599 0 R 600 0 R 601 0 R 602 0 R 603 0 R 604 0 R 605 0 R 606 0 R 609 0 R ]
+>> endobj
+537 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 720.047 303.693 730.926]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+538 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 721.95 513.996 730.926]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.18) >>
+>> endobj
+561 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 698.129 354.602 709.008]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
+>> endobj
+562 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 688.077 513.996 697.053]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.19) >>
+>> endobj
+563 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 664.256 352.748 675.135]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
+>> endobj
+564 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 654.204 513.996 663.18]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.20) >>
+>> endobj
+565 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 630.383 328.051 641.262]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
+>> endobj
+566 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 632.286 513.996 641.262]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.21) >>
+>> endobj
+567 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 608.465 334.507 619.344]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
+>> endobj
+568 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 598.413 513.996 607.389]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.22) >>
+>> endobj
+569 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 574.592 367.902 585.471]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
+>> endobj
+570 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 564.54 513.996 573.516]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.23) >>
+>> endobj
+571 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 540.719 344.838 551.598]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
+>> endobj
+572 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 530.667 513.996 539.643]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.24) >>
+>> endobj
+573 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 506.846 324.156 517.725]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Logic__Error__Exception) >>
+>> endobj
+574 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 496.794 513.996 505.77]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.25) >>
+>> endobj
+575 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 472.973 283.748 483.852]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
+>> endobj
+576 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 474.876 513.996 483.852]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.26) >>
+>> endobj
+577 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 451.055 339.449 461.935]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Overflow__Error__Exception) >>
+>> endobj
+578 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 452.958 513.996 461.935]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.27) >>
+>> endobj
+579 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 429.138 281.622 440.017]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4) >>
+>> endobj
+580 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 431.041 513.996 440.017]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.28) >>
+>> endobj
+581 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 407.22 338.981 418.099]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library) >>
+>> endobj
+582 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 397.168 513.996 406.144]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.29) >>
+>> endobj
+583 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 373.347 295.464 384.226]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function) >>
+>> endobj
+584 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 375.25 513.996 384.226]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.30) >>
+>> endobj
+585 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 351.429 307.18 362.308]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Decision__Node) >>
+>> endobj
+586 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 353.332 513.996 362.308]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.31) >>
+>> endobj
+587 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 329.511 280.431 340.39]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem) >>
+>> endobj
+588 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 331.414 513.996 340.39]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.32) >>
+>> endobj
+589 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 307.593 306.642 318.473]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Solution__Node) >>
+>> endobj
+590 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 309.616 513.996 318.473]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.33) >>
+>> endobj
+591 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 285.676 290.204 296.555]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node) >>
+>> endobj
+592 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 287.698 513.996 296.555]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.34) >>
+>> endobj
+593 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 263.758 366.617 274.637]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
+>> endobj
+594 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.501 263.758 498.554 274.637]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+595 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 253.706 513.996 262.682]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.35) >>
+>> endobj
+596 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 229.885 405.341 240.764]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+597 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.84 217.93 338.393 228.809]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
+>> endobj
+598 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 219.952 513.996 228.809]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.36) >>
+>> endobj
+599 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 196.012 305.327 206.891]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+600 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 185.96 513.996 194.936]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.37) >>
+>> endobj
+601 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 162.139 305.327 173.018]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
+>> endobj
+602 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 152.087 513.996 161.063]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.38) >>
+>> endobj
+603 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 128.266 271.943 139.145]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+604 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 118.333 513.996 127.19]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.39) >>
+>> endobj
+605 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 94.393 306.453 105.272]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Timeout__Exception) >>
+>> endobj
+606 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 96.296 513.996 105.272]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.40) >>
+>> endobj
+609 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+613 0 obj <<
+/D [611 0 R /XYZ 90 757.935 null]
+>> endobj
+610 0 obj <<
+/Font << /F70 275 0 R /F11 322 0 R /F56 243 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+657 0 obj <<
+/Length 1187      
+/Filter /FlateDecode
+>>
+stream
+x��X�n�8}�W�PѤ�
+
�iZ4� �x�%)ڦ
euq))��~�7ߒ:)��'Y2y8s�
9ClM-l}�
���cl�(���L�[qDP�k0����q��_�qW0��]=�JV�����q}
Sm�8�罳A�G� 6���
+c��5*{W߱5���F~�Xs9��χga]���am�ç��S
��1�	�}+�|��P�?���٬.7l�iV�CN����'�l�s:���f)�J:y�C�F�;���F�*^�z�7��;�`��ښ��fFG�/@!}�X'�Sb�7��ux�
A)���&�d���R�
�;um^��6wHb3&�o�j�W�[^��=k��G��eLI�� �DP]����)��`�I��K� ����0�H�4��h
D4ʹCB{�s���VӎN5�Ǫe|"�j�W����T��i��M��h]�
+��y(2B���p;<!X7p?'Q�����m~��7�i�]H79-�b�ѱj�vJ
��̎a�07�dH�@�B+�1p�k�;�Ti�4B�ݠ',� �5&@����{�Ⱦ�	ㆡ�{B�㗂(�&'
�C�،0F^`

�HP'f����� �D[qЛ��ڼ]�E���rV0�y5U_ʮ�{��T5V?��r7�Ѣp�
�;~l
N�S�q<���l"�Y)\>��/.>kJ��%.؃�塚�C&y�W�r���xu`L�.M��C�u
+lc�[��
+M�i~�dX���t��*���^
+�-����Z����S&�����8�yvv?b3SM�C��1GJ�0}�
�j�re�'Ν B:��Bڟ���"�
�q���!m؃C|brK��['�ׯ���6bs�Й�a�^�^�f)�#���p��TlkX�J�梖Y�F�R�;�B��T�ba-p&ʝ9���(��s]��u�;m#���s�X�Yo�on���f�����ߗg���)��\^%<���{�q��v��u�vXE��&_V�͞���>��@�X8����U�E�2�MV�jj���J���1��ھ0�����e�
��P����
S��Njn�K}���E�>�����w\�Ȼ����0�J�����V����au'V�
Z^�ah��q�
��Kf�Eſ���I��[sЃI!���w�i��I�?��ѨA]��8���lV�^��P�
`5�2�ʚKC,׏"�c�c��u�W0��7L�A� ��1V�
+endstream
+endobj
+656 0 obj <<
+/Type /Page
+/Contents 657 0 R
+/Resources 655 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 446 0 R
+/Annots [ 607 0 R 608 0 R 636 0 R 637 0 R 638 0 R 639 0 R 640 0 R 641 0 R 642 0 R 643 0 R 644 0 R 645 0 R 646 0 R 647 0 R 648 0 R 649 0 R 650 0 R 651 0 R 652 0 R 654 0 R ]
+>> endobj
+607 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 720.047 259.22 730.926]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+608 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 721.95 513.996 730.926]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.41) >>
+>> endobj
+636 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 698.129 281.357 709.008]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
+>> endobj
+637 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 700.032 513.996 709.008]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.42) >>
+>> endobj
+638 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 581.759 368.911 592.663]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter__Sequence) >>
+>> endobj
+639 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 542.905 328.111 553.809]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4) >>
+>> endobj
+640 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 504.051 288.583 514.954]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+641 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 465.196 292.698 476.1]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
+>> endobj
+642 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 426.342 327.019 437.246]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
+>> endobj
+643 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 387.488 286.073 398.392]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
+>> endobj
+644 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 348.633 320.393 359.537]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+645 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 309.779 348.04 320.683]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Domain__Error__Exception) >>
+>> endobj
+646 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 270.925 290.496 281.829]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+647 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 232.07 302.123 242.974]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+648 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 193.216 380.468 204.12]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
+>> endobj
+649 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.55 178.595 232.722 188.501]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+650 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 154.362 414.769 165.266]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+651 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.94 139.741 389.318 149.646]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
+>> endobj
+652 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 115.508 284.389 126.411]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+654 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+658 0 obj <<
+/D [656 0 R /XYZ 90 757.935 null]
+>> endobj
+50 0 obj <<
+/D [656 0 R /XYZ 90 683.434 null]
+>> endobj
+659 0 obj <<
+/D [656 0 R /XYZ 90 651.371 null]
+>> endobj
+54 0 obj <<
+/D [656 0 R /XYZ 90 651.371 null]
+>> endobj
+660 0 obj <<
+/D [656 0 R /XYZ 90 600.733 null]
+>> endobj
+655 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F11 322 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+683 0 obj <<
+/Length 1075      
+/Filter /FlateDecode
+>>
+stream
+x�ݘ[o�6���)�6
�i�e9d[Z�d�ۗ�0�V��6]⦟~�9���i���DI�׏�


�D������݈�1
�,D�94
+)挢�
]�#L�%��<���c��Q��"���w�y#����m�>c���Q�`���GaJ��������(�z��	���#D�?�����P�|����w�8��l
>�MI�?B#�cr���1n��C�����
-�J������RT���Ezw#g��������{��J4E5�������~�#��0�"�a�Ѐ8�ոo��v0�.���h�z:
���5�Ό+Xݔ�%b�H�R��͆�$0�m�*����:I&��
�j���Py������LvȢs/ i ܈x�֨���̛���X��*�R[T[@�hk�`]�٫�J�
+� ��9)[
+���+�dE�f��2nT��P?<��y���ϣ���cq"󤹙
T���
'x��4E�
(�,5Z�����K��Vn�
�@��XYɺހ����rᢵ���ڟ�$��b�g!�:4]�bq�M�8k��[�6��*/����|�9+�x�Է#\�R�\V2�$�P'7��f�Ѐa
�<��;d�(��G
uz�fCW�������y_e�~鎰$VZ���q�JN<��E>{-~ս�ޏ9������
`8
@B��f���a~�(��k*q��-�^n;Yp��N�E���|�8,�Z�%ziea�c���`���v+S��vn!������|z^�Л:���/]��KEƏ͙����)��}vn9�n�;�g�S�
�Z�V"<�Պ%��
��,��*
�['a�n%�s������(}X��>&��Hf��l��z f���q�
+G���Q`u=���А� z��\j�+��=�%Sw�[�㵍�?���*jaF�-�vE��G~�j�|���
֢�uq��⸊�]!{s$�va�4�.�zq�t�e���y!OEފ�������HS���>
t!���u�c�@��2��Ga��7MS�
����5nsUVX5òL�+��0QX^�
2�J�YQ!h�!�I�#����U
3��<Z�� i��
+endstream
+endobj
+682 0 obj <<
+/Type /Page
+/Contents 683 0 R
+/Resources 681 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 685 0 R
+/Annots [ 653 0 R 663 0 R 664 0 R 665 0 R 666 0 R 667 0 R 668 0 R 669 0 R 670 0 R 671 0 R 672 0 R 673 0 R 674 0 R 675 0 R 676 0 R 677 0 R 678 0 R 680 0 R ]
+>> endobj
+653 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 719.912 318.71 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
+>> endobj
+663 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 681.239 307.632 692.143]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
+>> endobj
+664 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 642.566 341.953 653.47]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System) >>
+>> endobj
+665 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 603.893 362.715 614.797]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+666 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 565.22 255.069 576.124]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1IO) >>
+>> endobj
+667 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 526.546 344.165 537.45]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
+>> endobj
+668 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 487.873 319.816 498.777]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+669 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 449.2 368.822 460.104]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
+>> endobj
+670 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 410.527 367.138 421.431]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
+>> endobj
+671 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 371.854 343.069 382.758]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
+>> endobj
+672 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 333.181 349.355 344.085]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
+>> endobj
+673 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 294.508 380.139 305.411]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
+>> endobj
+674 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 255.834 357.992 266.738]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
+>> endobj
+675 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 217.161 339.183 228.065]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Logic__Error__Exception) >>
+>> endobj
+676 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 178.488 301.017 189.392]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
+>> endobj
+677 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 139.815 353.171 150.719]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Overflow__Error__Exception) >>
+>> endobj
+678 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 101.142 300.305 112.046]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4) >>
+>> endobj
+680 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+684 0 obj <<
+/D [682 0 R /XYZ 90 757.935 null]
+>> endobj
+681 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F11 322 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+714 0 obj <<
+/Length 1269      
+/Filter /FlateDecode
+>>
+stream
+x��X�R�6}�W���L#$_d�7�&4$ne��$"x�c����t���5!��[h�-K^{便-iCm�A�q8l�
�P�M�
o5j.F�1�6
kW���DB��@�
���
�[�t�މ��,��j�)n�kz��u�2~
O�a���&���	���h�i���������{ڂ��j�i�g�
�7�twۓ���Ga ��my��(�m�X�M�������C#%QY��`1����X
�(̳�ᎌ�(L�"*
���
+�
��
ѹfj�Iiw5���m�iL�l"�
w��;�%	Uq:m慰��L{��Dt��R:0KK�k�5���g}:mU
%�tuG|�v��R�2���xJ�r9"N��|����Z;�"�I�tG\�GW��ДTE<Z�cÆ���tR���a;z�>M�/ӥs��|�����£,
�$�v!�᝔PaX��@��R-�
�(�K�&Օ��ƌ�z��qZ}M
����fUغ�|\.�T��f%���<�g%��1L���q�H�����n ����#�.v�d7Vv+�Qj��
"+
繭�ll�M��Ӛ�	|�F�4-p�r
as��-�ն�z>S��.Nw�h��#^N���y���� ý1���x����}t�R��lJ�H(}G����K�=�@�Y:&��{؄��	9	{s���Z;�-6�SpO��ƛl<�&�tn�
G��gP꿷�ǝ
����
6��n��X51?A?�~k
���oo�`+��p�z(�1�>
z�A���ڤ�)��m{�p�l�Z�
+���-�^t�c�T�����ݾ����c�j}���D�'yAJ�VO�x�k���9�/���;h��M>���@
��wtZg��p�
+a�#ˊ�Y�G�Q�]�6.X �{�έ�PS�P����o��! �/�!�Q�gSԺ�ܕz9
�_
%��k�E��ӥpa8WD��J��ۉ:ʦ�(����<:�.MXح˃��A�C���e�w�>�lO�"}��
^�I�&�K�
2�
t��8�^n��1��wV�1�p(9q�bW��`m۩SWZY���ˮ	��l�v�����G���:�c�I��߬2b@콶Ȩ���.={�Z��DZ7���'��Y�7q���|��鹦`����q^����dN:�ҙ*g]C�S��
+B��iQ�QS!�����ߘ.�G��'�ô�xWU����b� ���8/@\��y���BAL֦�UG�iVpG4�N���t�?��
�t��>��$�r`�g
+endstream
+endobj
+713 0 obj <<
+/Type /Page
+/Contents 714 0 R
+/Resources 712 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 685 0 R
+/Annots [ 679 0 R 686 0 R 687 0 R 688 0 R 689 0 R 690 0 R 691 0 R 692 0 R 693 0 R 718 0 R 694 0 R 695 0 R 719 0 R 696 0 R 697 0 R 720 0 R 698 0 R 699 0 R 700 0 R 701 0 R 702 0 R 721 0 R 703 0 R 704 0 R 705 0 R 706 0 R 722 0 R 707 0 R 708 0 R 723 0 R 709 0 R 710 0 R 711 0 R ]
+>> endobj
+679 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 707.189 350.102 718.093]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library) >>
+>> endobj
+686 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 668.79 310.83 679.694]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function) >>
+>> endobj
+687 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 630.392 297.699 641.296]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem) >>
+>> endobj
+688 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 591.993 323.163 602.897]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+689 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 553.595 323.353 564.499]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Timeout__Exception) >>
+>> endobj
+690 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 515.196 277.754 526.1]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+691 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.107 435.095 263.359 445.999]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceparma__polyhedra__library) >>
+>> endobj
+692 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.87 354.993 397.551 365.897]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ga7b9f076ff672dec60890b152525134c8) >>
+>> endobj
+693 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.987 354.993 513.996 365.897]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga7b9f076ff672dec60890b152525134c8) >>
+>> endobj
+718 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 343.038 241.8 353.942]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga7b9f076ff672dec60890b152525134c8) >>
+>> endobj
+694 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.672 343.038 472.936 353.942]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga7b9f076ff672dec60890b152525134c8) >>
+>> endobj
+695 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [478.809 343.038 513.996 353.942]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga7b9f076ff672dec60890b152525134c8) >>
+>> endobj
+719 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 331.083 310.422 341.987]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga7b9f076ff672dec60890b152525134c8) >>
+>> endobj
+696 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.359 292.684 412.574 303.588]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gaa6be200dbc5f773603baf12657deea39) >>
+>> endobj
+697 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.987 292.684 513.996 303.588]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggaa6be200dbc5f773603baf12657deea39) >>
+>> endobj
+720 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 280.729 198.911 291.633]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggaa6be200dbc5f773603baf12657deea39) >>
+>> endobj
+698 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.9 280.729 430.789 291.633]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggaa6be200dbc5f773603baf12657deea39) >>
+>> endobj
+699 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 242.331 370.496 253.235]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gad6fca2904fa0ff88929687a101bc2ae1) >>
+>> endobj
+700 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 226.618 254.253 237.522]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggad6fca2904fa0ff88929687a101bc2ae1) >>
+>> endobj
+701 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [271.458 226.618 416.782 237.522]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggad6fca2904fa0ff88929687a101bc2ae1) >>
+>> endobj
+702 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.987 226.618 513.996 237.522]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggad6fca2904fa0ff88929687a101bc2ae1) >>
+>> endobj
+721 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 214.663 184.535 225.567]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggad6fca2904fa0ff88929687a101bc2ae1) >>
+>> endobj
+703 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [187.524 214.663 332.847 225.567]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggad6fca2904fa0ff88929687a101bc2ae1) >>
+>> endobj
+704 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 198.951 264.215 209.855]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggad6fca2904fa0ff88929687a101bc2ae1) >>
+>> endobj
+705 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.697 160.552 321.961 171.456]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ga0cd3c405aa537a001f59e642f2acddd3) >>
+>> endobj
+706 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.05 160.552 513.996 171.456]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga0cd3c405aa537a001f59e642f2acddd3) >>
+>> endobj
+722 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 148.597 180.102 159.501]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga0cd3c405aa537a001f59e642f2acddd3) >>
+>> endobj
+707 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.749 148.597 417.34 159.501]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga0cd3c405aa537a001f59e642f2acddd3) >>
+>> endobj
+708 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.987 148.597 513.996 159.501]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga0cd3c405aa537a001f59e642f2acddd3) >>
+>> endobj
+723 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 136.642 238.761 147.546]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga0cd3c405aa537a001f59e642f2acddd3) >>
+>> endobj
+709 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.477 98.244 353.705 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ga9006be5f6c0f7616400b3554738e732f) >>
+>> endobj
+710 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.355 98.244 513.996 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga9006be5f6c0f7616400b3554738e732f) >>
+>> endobj
+711 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+715 0 obj <<
+/D [713 0 R /XYZ 90 757.935 null]
+>> endobj
+716 0 obj <<
+/D [713 0 R /XYZ 90 451.938 null]
+>> endobj
+717 0 obj <<
+/D [713 0 R /XYZ 90 373.739 null]
+>> endobj
+712 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+778 0 obj <<
+/Length 1328      
+/Filter /FlateDecode
+>>
+stream
+x��Y[s�H~�W��Z�h.y3	qIT�l��)�(1֊8�IeS�ߧ�ƌ"�5����w._�s�0C0�ڙ[k\*��xMd�}d4�(2� w�ܳ*�: �W
D��	�}� �wu��O�3�'c���'��,i� q�ܫ��־� �
� ��+"b�a��`x������K�V�H���cƩ}��\�╪�0*V_���P�x�2� �@FԄ�	�/z�׎aћi�I��
�A��С~4I��8Ǐ3�� GLO�̨uZ5.���Ѻ �$��k�W�
+Z�����q0���8�T<�]fgo@"ʄ�7�ƯO� ����!�����s�v4��Lטj��pB�ς"
��'�e�F���������1uy
�.w\]�t����]�MNDl3��-(���^	4a��`�m�� {�=X�}#��ߺg�y��Q̕�J�Q$��CEĨ�IE�8�3IF���v�$j9o�x=qO��ɯ �A�U\�ۋ�h9
&A직�c��IZQ�Ao{"�ƍn;�ִ(��Z�z�r�ʇ��dPHZ��zH�H���5���?$)
�t$�.��\%(S�E
ŞKx�:]MO�"V�J�m��1��q���!�	2�*��it�C��<\�c?+C�tz��A
FR�)�_���l�����J9��Vp0

�-��e��	�
e�-�e
�p�l�͎���.h�:lO�cq���YsiDQF�
�
�g�Y����OgI_�Y��_��u�7
㬭{�6)&~��s	U%���u/�
a9��y��l�L�5:��9�z�c�W�,�G++�tNS��&�&��������N$VDМ��p����׉+�
+�Y&~39;F��0��
�{,rt�����N�ґ{�(E�+R�B&*_����J
�)�-t	�j��b��s]���H魻��"�&K	���hz �ɿ*�#Fɖ��{nT{v�*���bs� ��

u)u�K�vv�M�w�K�/�V��H�����
�l����� �(ܴO�%:��޹��u�����{�g������ޔ|����tmC`�ߙn�"Z���:~�?:����v��k���kZW�Lm�q<���.� �����_���
+4�;	_^\��
�}�*�߲�y
+��7lW\��J�q�|�S)�}Ƨ
y�x$�<����(;���F�5ET��*����.&����k�3+��p�s.�\��H+;���C�$�O8���
2��J� �LЃ8y�
�!�@���X���)����5�`��?B����
|J��i������~6Mc~�6��qc��7A
6,6�^�(�a�,�"�����ɧ�h�_
�/��cDH
+endstream
+endobj
+777 0 obj <<
+/Type /Page
+/Contents 778 0 R
+/Resources 776 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 685 0 R
+/Annots [ 734 0 R 735 0 R 780 0 R 736 0 R 737 0 R 738 0 R 739 0 R 740 0 R 741 0 R 742 0 R 743 0 R 744 0 R 745 0 R 781 0 R 746 0 R 747 0 R 748 0 R 782 0 R 749 0 R 750 0 R 751 0 R 783 0 R 752 0 R 784 0 R 753 0 R 754 0 R 755 0 R 785 0 R 756 0 R 757 0 R 758 0 R 786 0 R 759 0 R 760 0 R 761 0 R 762 0 R 787 0 R 763 0 R 788 0 R 764 0 R 765 0 R 766 0 R 767 0 R 789 0 R 768 0 R 769 0 R 770 0 R 771 0 R 772 0 R 790 0 R 773 0 R 774 0 R 775 0 R ]
+>> endobj
+734 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.08 696.002 350.202 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gae574051d412d3ee587c872f48de81663) >>
+>> endobj
+735 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [357.056 696.002 513.996 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggae574051d412d3ee587c872f48de81663) >>
+>> endobj
+780 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 684.047 230.124 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggae574051d412d3ee587c872f48de81663) >>
+>> endobj
+736 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.5 684.047 511.506 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggae574051d412d3ee587c872f48de81663) >>
+>> endobj
+737 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 672.092 321.211 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggae574051d412d3ee587c872f48de81663) >>
+>> endobj
+738 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.526 633.237 335.713 644.141]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ga16616f4113ae69d86cdaf2b7b10cc0d6) >>
+>> endobj
+739 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [353.46 633.237 511.506 644.141]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga16616f4113ae69d86cdaf2b7b10cc0d6) >>
+>> endobj
+740 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 621.282 256.464 632.186]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga16616f4113ae69d86cdaf2b7b10cc0d6) >>
+>> endobj
+741 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.685 582.428 331.964 593.332]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ga464c2bc94f19f4509ffedb8b7b60439a) >>
+>> endobj
+742 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.03 582.428 511.506 593.332]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga464c2bc94f19f4509ffedb8b7b60439a) >>
+>> endobj
+743 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 570.473 242.686 581.377]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga464c2bc94f19f4509ffedb8b7b60439a) >>
+>> endobj
+744 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [269.276 570.473 407.397 581.377]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga464c2bc94f19f4509ffedb8b7b60439a) >>
+>> endobj
+745 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.987 570.473 513.996 581.377]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga464c2bc94f19f4509ffedb8b7b60439a) >>
+>> endobj
+781 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 558.517 227.703 569.421]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga464c2bc94f19f4509ffedb8b7b60439a) >>
+>> endobj
+746 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.916 519.663 335.438 530.567]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gae444adc8164dfda0378177ddab117095) >>
+>> endobj
+747 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [343.965 519.663 475.441 530.567]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggae444adc8164dfda0378177ddab117095) >>
+>> endobj
+748 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [478.809 519.663 513.996 530.567]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggae444adc8164dfda0378177ddab117095) >>
+>> endobj
+782 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 507.708 252.24 518.612]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggae444adc8164dfda0378177ddab117095) >>
+>> endobj
+749 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.229 507.708 393.35 518.612]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggae444adc8164dfda0378177ddab117095) >>
+>> endobj
+750 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.568 468.854 364.156 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gad7cbdacd9a5e2c068c25c12f47f8936a) >>
+>> endobj
+751 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.987 468.854 513.996 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggad7cbdacd9a5e2c068c25c12f47f8936a) >>
+>> endobj
+783 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 456.899 283.214 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggad7cbdacd9a5e2c068c25c12f47f8936a) >>
+>> endobj
+752 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [311.129 456.899 513.996 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggad7cbdacd9a5e2c068c25c12f47f8936a) >>
+>> endobj
+784 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 444.943 162.558 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggad7cbdacd9a5e2c068c25c12f47f8936a) >>
+>> endobj
+753 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.546 444.943 402.346 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggad7cbdacd9a5e2c068c25c12f47f8936a) >>
+>> endobj
+754 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.232 406.089 360.829 416.993]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gab884929ad9e98d94cac675f7fe3e9771) >>
+>> endobj
+755 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.987 406.089 513.996 416.993]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggab884929ad9e98d94cac675f7fe3e9771) >>
+>> endobj
+785 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 394.134 218.826 405.038]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggab884929ad9e98d94cac675f7fe3e9771) >>
+>> endobj
+756 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.815 394.134 405.305 405.038]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggab884929ad9e98d94cac675f7fe3e9771) >>
+>> endobj
+757 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.981 355.28 415.33 366.184]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ga0734505368bf2ef216c74aa9ed15793e) >>
+>> endobj
+758 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.987 355.28 513.996 366.184]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga0734505368bf2ef216c74aa9ed15793e) >>
+>> endobj
+786 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 343.324 247.618 354.228]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga0734505368bf2ef216c74aa9ed15793e) >>
+>> endobj
+759 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.607 343.324 471.308 354.228]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga0734505368bf2ef216c74aa9ed15793e) >>
+>> endobj
+760 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 304.47 408.782 315.374]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ga57b815531385542de7563918454dff9a) >>
+>> endobj
+761 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 288.53 354.427 299.434]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga57b815531385542de7563918454dff9a) >>
+>> endobj
+762 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.987 288.53 513.996 299.434]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga57b815531385542de7563918454dff9a) >>
+>> endobj
+787 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 276.575 295.219 287.479]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga57b815531385542de7563918454dff9a) >>
+>> endobj
+763 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [353.191 276.575 513.996 287.479]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga57b815531385542de7563918454dff9a) >>
+>> endobj
+788 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 264.62 191.17 275.524]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga57b815531385542de7563918454dff9a) >>
+>> endobj
+764 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.159 264.62 446.969 275.524]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga57b815531385542de7563918454dff9a) >>
+>> endobj
+765 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 248.679 410.984 259.583]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga57b815531385542de7563918454dff9a) >>
+>> endobj
+766 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.02 209.825 329.29 220.729]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ga1c0bf670d1be309282e282c6847dff2f) >>
+>> endobj
+767 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.025 209.825 513.996 220.729]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga1c0bf670d1be309282e282c6847dff2f) >>
+>> endobj
+789 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 197.87 181.935 208.774]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga1c0bf670d1be309282e282c6847dff2f) >>
+>> endobj
+768 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.924 197.87 418.406 208.774]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga1c0bf670d1be309282e282c6847dff2f) >>
+>> endobj
+769 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 159.016 317.076 169.92]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gaccd1fa9f287c6fe48bd8dfd920a5397b) >>
+>> endobj
+770 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 143.075 278.601 153.979]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggaccd1fa9f287c6fe48bd8dfd920a5397b) >>
+>> endobj
+771 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.155 143.075 473.255 153.979]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggaccd1fa9f287c6fe48bd8dfd920a5397b) >>
+>> endobj
+772 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [478.809 143.075 513.996 153.979]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggaccd1fa9f287c6fe48bd8dfd920a5397b) >>
+>> endobj
+790 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 131.12 226.079 142.024]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggaccd1fa9f287c6fe48bd8dfd920a5397b) >>
+>> endobj
+773 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.068 131.12 439.746 142.024]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggaccd1fa9f287c6fe48bd8dfd920a5397b) >>
+>> endobj
+774 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 115.18 300.18 126.084]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggaccd1fa9f287c6fe48bd8dfd920a5397b) >>
+>> endobj
+775 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+779 0 obj <<
+/D [777 0 R /XYZ 90 757.935 null]
+>> endobj
+776 0 obj <<
+/Font << /F70 275 0 R /F77 334 0 R /F56 243 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+814 0 obj <<
+/Length 1111      
+/Filter /FlateDecode
+>>
+stream
+x��WMs�8��+|[\�I����&!SdC�29�LQ(�c{l�l��o˒
C���aNȶ�_���V�������i�`'B�O}g��D�	|�8%�t�|�=�1�^��wc���_.���Q��Wq���K���i%��x�
C�E]�ݯ���`���! �
RC� 
w�����Y��K#/
+�m�k�0��o�L:;�`��C��M�M�碊e":�sQ�
�W2KUH�
��`�G�X��LW&�q�t�6َ��i%�M^>q���Z�z)�od�[䭬Vz��W�4�,�
�cV�Ee�/�k
\Sn�N
�H'�C$�QD"��5<
��Zq�y�g������l��*��X2Z�҆Tδ]�h�喑Y��899�6�B,fJ
KQ�,���(�`�ej�}�$AQ�ite��b���J�#-q٣��៙V C/R�6��c��Q�@G�Ճ�0+NvL�]�a�Ɯ
	�Ԥ������U������1�셱���d_��9�L%��w7b+�<���d�)7����~�;��
l�p1�F�w�烋����`4 O�?g�@!�MR�s4��+��ő<
�N�<����d2<�
K$ M
o�F(�yV��!y�L{�(R3�)
�K����y�N�]�o���Eٴ����tw=~8�>
!����R.S�ǃLU��
֐�і������h|5
����a�GM�F6��AͮD!��T�Bϯ��kAm���
��*ge[�ž`��x�kI����d���w˺�����K(���%�'B]�:h�2~(�dS��&�W��E����zؖ���~�t.p�
�D�]��寬n��p:���T��iH#�ʵ��U��0���:�*������(��=�5�U��ь�
4��
�� ��ޏ{�Ѓ��� Xsիͻx���#��bﯫ��������,���x�ͽ�
k{U0�C���������~=�C(�͜ݘs������k�]v��R�e�ϣ8�ĉ^�
�Q�l*#B�A�u��DÊ��cW�VB[	R0�oE�������n�h^�M*�ɪ��I������PЌ\��uV��=�G
��SH`�;���u�?^
�
	��
+endstream
+endobj
+813 0 obj <<
+/Type /Page
+/Contents 814 0 R
+/Resources 812 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 685 0 R
+/Annots [ 811 0 R ]
+>> endobj
+811 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+815 0 obj <<
+/D [813 0 R /XYZ 90 757.935 null]
+>> endobj
+816 0 obj <<
+/D [813 0 R /XYZ 90 733.028 null]
+>> endobj
+817 0 obj <<
+/D [813 0 R /XYZ 90 681.989 null]
+>> endobj
+724 0 obj <<
+/D [813 0 R /XYZ 90 657.774 null]
+>> endobj
+818 0 obj <<
+/D [813 0 R /XYZ 90 657.774 null]
+>> endobj
+725 0 obj <<
+/D [813 0 R /XYZ 107.713 556.498 null]
+>> endobj
+726 0 obj <<
+/D [813 0 R /XYZ 90 512.498 null]
+>> endobj
+820 0 obj <<
+/D [813 0 R /XYZ 90 497.927 null]
+>> endobj
+727 0 obj <<
+/D [813 0 R /XYZ 107.713 396.785 null]
+>> endobj
+728 0 obj <<
+/D [813 0 R /XYZ 90 356.77 null]
+>> endobj
+821 0 obj <<
+/D [813 0 R /XYZ 90 342.2 null]
+>> endobj
+729 0 obj <<
+/D [813 0 R /XYZ 107.713 241.057 null]
+>> endobj
+730 0 obj <<
+/D [813 0 R /XYZ 90 166.118 null]
+>> endobj
+822 0 obj <<
+/D [813 0 R /XYZ 90 151.548 null]
+>> endobj
+812 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F88 819 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+827 0 obj <<
+/Length 1238      
+/Filter /FlateDecode
+>>
+stream
+x��W�r�8}�+�6v�"d��7�qR$���&���
�5���&Y�~[�L�Őک�}�R�t�ӭ�֮_�F�����<��Z0�<�9��(1�`�=�.2���1֯
��A��j����b�&�U�`r�K
+��é�v�Ӊm��~���a‘X3�#��
�j�e���f0�ady��V�Zjmb�o���7���?��z���v[B��Ւea���ľ�֥�n� &"Z�t�D
���菃�m�ӟt������

w̵.��e�lC��,m�a�X�Y^4�a����x��e�r<��4f"�G�ڰ���N�ڬ��D
EԸW�;%���%P'�<aI!���
�r�� X_rP��hƱ�o�U����b�k�3��tT���J����>z6��S��I�um��D�4M9��5-H�n2DUV0�b5̖�D8��fY8���,��]��a�:�'�2u�p� Q&���� �Z�
�c�*�g����ԡ��2�R�G�xH���Gy�K�<�֚� 9�/SG�����U
=my�]��TɑE�(Y�A���Qfl��1^�_��w�#z�� g��<
+�Y��<����9��(a_����'i�q��#
L�oW��?4�X��AmMq -<R1:.KYu����f�_�� \}��`�Z�*�������b3Ny�y��3�P ?���S��ȣJ
+��U\�R�D��P�8;�x����ݓ!� ��8P�& b  틛2[�+�=�K��ͅ� @dAiށ��p�x�����7��a�xsk���5Q<s��C��W� �$ǒ�9?���K���ć�R��ٛ(���Y�FeJ΅�y��ӊ?i�i��ڐ�A�7�똁~ʥ�A1]%�jب%��D!��gQ�{{��%M�U%�Sh��E��l�̿
�_����p��L������8~o��mU���9�|�]I��l���i�=a�y��6+����T�7���;�C9�a�T��@
%'���n
�#�H�4DOO�'�d�����S��Am��
�m���Д�׉�H��X�����Ο���ȵ�Ob��<_e�C��o6�c��>��'��E
+��eI=Di{�|WB��a�o�})�N��ۡl�>~~���TM��,�n�n�dU��D#Q�ƈ'rCa�m��c�TTd(~j�׍�T�� �M�})���z{{C�
A%N3�4�[�\�[1A �F�r�3&;
˶���"�`��_���%�K<9 ��j E
+endstream
+endobj
+826 0 obj <<
+/Type /Page
+/Contents 827 0 R
+/Resources 825 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 685 0 R
+/Annots [ 823 0 R 824 0 R ]
+>> endobj
+823 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [428.767 408.563 474.784 419.557]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+824 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+828 0 obj <<
+/D [826 0 R /XYZ 90 757.935 null]
+>> endobj
+731 0 obj <<
+/D [826 0 R /XYZ 107.713 708.112 null]
+>> endobj
+732 0 obj <<
+/D [826 0 R /XYZ 90 670.277 null]
+>> endobj
+829 0 obj <<
+/D [826 0 R /XYZ 90 656.323 null]
+>> endobj
+733 0 obj <<
+/D [826 0 R /XYZ 107.713 558.606 null]
+>> endobj
+791 0 obj <<
+/D [826 0 R /XYZ 90 549.912 null]
+>> endobj
+830 0 obj <<
+/D [826 0 R /XYZ 90 535.958 null]
+>> endobj
+792 0 obj <<
+/D [826 0 R /XYZ 107.713 438.241 null]
+>> endobj
+793 0 obj <<
+/D [826 0 R /XYZ 90 388.452 null]
+>> endobj
+831 0 obj <<
+/D [826 0 R /XYZ 90 374.498 null]
+>> endobj
+794 0 obj <<
+/D [826 0 R /XYZ 107.713 276.781 null]
+>> endobj
+795 0 obj <<
+/D [826 0 R /XYZ 90 253.517 null]
+>> endobj
+832 0 obj <<
+/D [826 0 R /XYZ 90 239.563 null]
+>> endobj
+796 0 obj <<
+/D [826 0 R /XYZ 107.713 141.846 null]
+>> endobj
+797 0 obj <<
+/D [826 0 R /XYZ 90 89.441 null]
+>> endobj
+825 0 obj <<
+/Font << /F70 275 0 R /F88 819 0 R /F56 243 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+837 0 obj <<
+/Length 1017      
+/Filter /FlateDecode
+>>
+stream
+xڽW�v�8��+�kXX� ����v|�ď��2}8��g
�yĝ��)!�6ć8��H�nU�*�	�!�ƽ[�7��r�cj&��!�2)fE�=*6�j�B�{�2%P5�����[_cDy�]�B�r�"̶��/m�p�R�z�����֣`� Z�`�t��q��+AؿG뎍�թ��=Z�~�N�����Nt��
I9L�X;Y
��t��
n���GOY���܌�h��$̂"�|O�
��rփ;f��"�oP�X���=K�w� �j�, W���[��;���0�X	�P 7�O@����>�1a�׃;
��6���
����E�{�����>J޸��ї�}ʰc�j3e�NF�h�Eɴ@o�)AF�8���)��$~��̝z�a��C�rJ���B;�L3&�L��:�*%׋u���y�R[I��a�/��(���ަy
�>-�u��z��j}e<x�f;Y��q=V���p#p��<ݿ�q9!�uo`�.���{M ��w��ҽ}�Ӆje�IW��aa�Yo� [...]
�
�n�h�r9;1��?��O�)�Ґח�Φ]ɱ	f�I֓(i�P�&
��a^�'	w������h�bΉM��*6oA�f7��MT�^�V��&�X��y5�ȋş�����O�z)�h�B�I,��T�o]`?SJ�Y~^y�;
�Ko!8��Y�:څ�p]E��d5@)�w��U�|�UJ�������Ѐx�|ьT@��z��M.��H�����S�u�ރ�(kBXM��I��`��ɻ�-'X�`ƌ�y5n����
�����>�
�pG:��J�k������T�$Hʺ+�M�Wy~*Qދ��U���
�iA��T�����9��G�>�w�Eq�
��#^�L�C��bp8�oS��R���X�f@M�
+7K�y�8�+�<����D_
+endstream
+endobj
+836 0 obj <<
+/Type /Page
+/Contents 837 0 R
+/Resources 835 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 685 0 R
+/Annots [ 833 0 R 834 0 R ]
+>> endobj
+833 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.841 519.202 249.291 529.13]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
+>> endobj
+834 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+838 0 obj <<
+/D [836 0 R /XYZ 90 757.935 null]
+>> endobj
+839 0 obj <<
+/D [836 0 R /XYZ 90 733.028 null]
+>> endobj
+798 0 obj <<
+/D [836 0 R /XYZ 107.713 637.39 null]
+>> endobj
+799 0 obj <<
+/D [836 0 R /XYZ 90 593.391 null]
+>> endobj
+840 0 obj <<
+/D [836 0 R /XYZ 90 578.82 null]
+>> endobj
+800 0 obj <<
+/D [836 0 R /XYZ 107.713 478.654 null]
+>> endobj
+801 0 obj <<
+/D [836 0 R /XYZ 90 434.654 null]
+>> endobj
+841 0 obj <<
+/D [836 0 R /XYZ 90 420.084 null]
+>> endobj
+802 0 obj <<
+/D [836 0 R /XYZ 107.713 318.941 null]
+>> endobj
+803 0 obj <<
+/D [836 0 R /XYZ 90 290.882 null]
+>> endobj
+842 0 obj <<
+/D [836 0 R /XYZ 90 276.311 null]
+>> endobj
+804 0 obj <<
+/D [836 0 R /XYZ 107.713 175.169 null]
+>> endobj
+805 0 obj <<
+/D [836 0 R /XYZ 90 147.109 null]
+>> endobj
+835 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F88 819 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+849 0 obj <<
+/Length 1234      
+/Filter /FlateDecode
+>>
+stream
+xڽW�v�:}�+�V�!˖/y��á�$��K�����
��4ߑ%C$9k�'4�F{f�쑰�T�2�}�{�K+.r-b)���bŶtD���ʝ�j}B�z
&�X�
&̋lQ%,-�2�R���6Q��}�?�<�����{��;j#۠�"��}��|�I��p
eS�+QLb�g��{�{�(4b lQ�A:"H7���1VYZ%�:̓0Xg�ӊ=�aG�y�?��M��`�k��f�1K��,-�SM�j�C�%˃/�K�0�ipI���M
��!`L�����8��Fh���c���-�����a.8�,n�
 �s�$c/}�\�R`
�LW�� |��e���lݺp��
�S���0�q�����z���P�T���?��x6����$C71r
^n�d�e�LE������(��fi?JK��T]2��<�i�hU��A�o�������7�N@�r���<��YE��X.Y�s����5k"\T� ��'�N&G0��iƜ›��O�.`a�qó
���byR� [...]

a٥a��q��_�"�'�(	c� b�MdQ�[��>q-�D��5���*��W
�E��	�K�
6�/�s� U�V�ͪr�%Mf�[��|���/���z�]��px}�Na��E
�伒��_Hk���K����Ko8�xA�T�
̫��k"���7
#��0"��*-�7
+�M!�zJj�g��:p3��W���7a4l`	=�qJ�a*�.k7ũ�]� 7��Ȁ9x����䜱�����>���R�A�AB�w���[g�������X�1Y�	+�	�B��+��y7����GͭfRuxtN9"�s�pYk���G�T�̎�N��^
.��N
���ʍ;-1�yR�goʊ�cdn�b����O�)3��nj� OQű`0�/�ڶ�aZD
�-��^
+���n������M��>#��8�
ҥ�z��e�
Y=jX�x�O�Z7vUi:��ŧ��Fq��:
+�����`-ڋ��{�ܓ��'��j9�}�/�j���ȗu��>T>�xJ���E��nr�3	�eЅ5~
�m���4�]�´��WL���E���:��#�o��9k�H�w�Y��u�t$��:VùUY����f���h���
����9q�^t $��NڗW��L܃
�B��a�l�(�?&a;\�E�
@L�4
+endstream
+endobj
+848 0 obj <<
+/Type /Page
+/Contents 849 0 R
+/Resources 847 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 854 0 R
+/Annots [ 843 0 R 846 0 R ]
+>> endobj
+843 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.841 475.367 245.973 485.294]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem) >>
+>> endobj
+846 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+850 0 obj <<
+/D [848 0 R /XYZ 90 757.935 null]
+>> endobj
+851 0 obj <<
+/D [848 0 R /XYZ 90 733.028 null]
+>> endobj
+806 0 obj <<
+/D [848 0 R /XYZ 107.713 637.39 null]
+>> endobj
+807 0 obj <<
+/D [848 0 R /XYZ 90 549.555 null]
+>> endobj
+852 0 obj <<
+/D [848 0 R /XYZ 90 534.985 null]
+>> endobj
+808 0 obj <<
+/D [848 0 R /XYZ 107.713 434.818 null]
+>> endobj
+809 0 obj <<
+/D [848 0 R /XYZ 90 406.759 null]
+>> endobj
+853 0 obj <<
+/D [848 0 R /XYZ 90 392.189 null]
+>> endobj
+810 0 obj <<
+/D [848 0 R /XYZ 107.713 291.046 null]
+>> endobj
+58 0 obj <<
+/D [848 0 R /XYZ 90 210.379 null]
+>> endobj
+463 0 obj <<
+/D [848 0 R /XYZ 90 174.769 null]
+>> endobj
+62 0 obj <<
+/D [848 0 R /XYZ 90 174.769 null]
+>> endobj
+847 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F88 819 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+876 0 obj <<
+/Length 1067      
+/Filter /FlateDecode
+>>
+stream
+x��X[o�6~����$��IIԥ(�^4킬�B�m�Q�[)9���H��e'h2ة�$�"��;�+�����t4>�a
��.A�@`H\
�
pk��FY�9M�2�޳�I��8�[�q	��h���Y;�–��8�X!�p��rc���rt6
}a�
�ԑ�
�|t�����zq6jU|��
܌�����z�5}�Ѻf�Rjv��I�ۂ�{p\f۝뒽=��!����?H��J��E-�n��Mz��;Oi�\ۘX�
`�E_`'�0&�5'7��Z��)v��!�.�/q�x���·��ֽoC[qjT.�'��og]���Xl��X�ǘ "�χm�8i��c����îأ�kW�3A׋͊�S2 	#������yЏ����u�fi��Y�zM�*c9+��X�3����L����(
g�˜f�3�:��BK�S����p
��4)��v��I�v"�^_֮K"+u
+���,V��'3K
&���~\TO�fr����*�������z`"u�iz2�C+�/�e�Rϊf�

p��/	�Х��o��26$g��<9�1gU��ű�w�j���5ә}�)�P�598�}"Y1�{�
��1������D��v���ѭ�4��49�
+��&bwԱ}d=0�E�]�h���� �����)�{���*�5 at WR�
�~���U1,��g��FV	�����ʍ.YY����eGbY�C/���76o��7��GQ�Ӧ�Gé�R�� đj��|��6�/��ۺ0
�b<�
+��M
vQL^�ak�
V��]� ��[�Um�Ɛ\�'{5�L��w��fH�v��~)��hIu
S��A/x�HN͋��$C����x��s,!N
�/�E��Kr��
+"��襭-���0�H��H
	9��t�'ץ���z��ߙ���2���|��jMWZ��B�{)}�w׌�&S����bm�:��z��Ž!�[5� Ʋ����	A7��ҶP���'
��+6�(0m����ގǛ��k�.ҊôWU6~���I�"�a׾�n�����xA = '{4	�B,̩,��_3x�
+endstream
+endobj
+875 0 obj <<
+/Type /Page
+/Contents 876 0 R
+/Resources 874 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 854 0 R
+/Annots [ 844 0 R 845 0 R 855 0 R 856 0 R 857 0 R 858 0 R 859 0 R 860 0 R 861 0 R 862 0 R 863 0 R 864 0 R 865 0 R 866 0 R 867 0 R 868 0 R 869 0 R 870 0 R 871 0 R 873 0 R ]
+>> endobj
+844 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 698.224 218.955 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter) >>
+>> endobj
+845 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 684.296 262.113 695.2]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter__Sequence) >>
+>> endobj
+855 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 645.442 221.312 656.345]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4) >>
+>> endobj
+856 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 608.645 181.785 617.491]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+857 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 567.733 185.9 578.637]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
+>> endobj
+858 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 528.879 220.22 539.783]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
+>> endobj
+859 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 492.082 179.274 500.928]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
+>> endobj
+860 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 451.17 213.595 462.074]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+861 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 412.316 241.242 423.22]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Domain__Error__Exception) >>
+>> endobj
+862 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 373.461 183.698 384.365]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+863 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 334.607 195.324 345.511]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+864 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 295.753 273.669 306.657]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
+>> endobj
+865 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.55 281.132 232.722 291.037]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+866 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 256.899 307.97 267.803]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+867 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.94 242.278 389.318 252.183]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
+>> endobj
+868 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 220.102 177.591 228.948]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+869 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 179.19 211.912 190.094]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
+>> endobj
+870 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 141.312 200.833 151.24]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
+>> endobj
+871 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 101.481 235.154 112.385]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System) >>
+>> endobj
+873 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+877 0 obj <<
+/D [875 0 R /XYZ 90 757.935 null]
+>> endobj
+878 0 obj <<
+/D [875 0 R /XYZ 90 716.221 null]
+>> endobj
+874 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F11 322 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+899 0 obj <<
+/Length 1055      
+/Filter /FlateDecode
+>>
+stream
+x��X]s�6}���[a��%@w:��v�N����x�%�a��� � {�����I���i��e!�{t?�
 �����hr:E`g�������E
+n���#���ʂ�U�?ܳT�8�w��w�伧�+�0��[2���aBO�( ��#���|t��1��xpw
�©O at R�n>#���s��?���[U����3ף�F�B��gg	�L�(���)F�����H�܌��2�i]�?4@�Y��%ڸ3��Y�
qh���Mgi�L4�ɗ�U
/����OE�D
+ah����c
�� 7Ն҄�5K��β�
��LP��S
��� a��q���a
��ա���fwg�a��,i����ɕ,[�tL
��wLd�}|"e)_�
����2�wX&5�j�Q�HˎK�jb*���f�
�Ȼ}͘�
r�:�!X��79��dK�6n��b�EH�Ρ�[�76f��,l��#L�S�l��UyL��w��ҕ�Ckqo�#�Ѻbi�D_�ʥ��u�
�_Wx��m1Cu[�(Y�>q�*�S�(Jۤ�%�>?0�H�KA�Q(�_r�G�`Z�d�ِ�M<�.�>�c��8���@*h���aa�
��2�ɿ��Җ��2'
'J�����І�r=6��Xn���V	��J�˳y<����b w��_zy&|�f]�d\N����:�Lj�hQl��̓�1��Zi`L�F~�����}�#he!���c4�.�K�jr���IA=5B�͊��h�����m�����0"Q��o�|L
������w����ٓ&��������7s�O�n��7m�w��2̗��|.�~�9�a?�
���b��4�O-��h�̶��Z��ϭ�U�4�x,�\�<aG�FՀ�,��x_�O
���ZAF�����Φ~d��d	��k?�?{gv�$�j
�S-KL���ME�Ҍ=��ԉqC�ǚ��\B�}IE�ߝ�L6�?^��Bݱ�6�f=;���A?��.�m詗H��z�MS�0���k�԰���7���';|�ф�ǩm�&��f���
0���(�z�:ja�I�]�R��'y06#
+endstream
+endobj
+898 0 obj <<
+/Type /Page
+/Contents 899 0 R
+/Resources 897 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 854 0 R
+/Annots [ 872 0 R 879 0 R 880 0 R 881 0 R 882 0 R 883 0 R 884 0 R 885 0 R 886 0 R 887 0 R 888 0 R 889 0 R 890 0 R 891 0 R 892 0 R 893 0 R 894 0 R 896 0 R ]
+>> endobj
+872 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 706.991 255.917 717.895]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+879 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 670.254 148.271 679.101]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1IO) >>
+>> endobj
+880 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 629.403 237.366 640.307]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
+>> endobj
+881 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 590.609 213.018 601.513]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+882 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 551.815 262.023 562.719]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
+>> endobj
+883 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 513.021 260.34 523.925]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
+>> endobj
+884 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 474.228 236.27 485.131]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
+>> endobj
+885 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 435.434 242.556 446.338]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
+>> endobj
+886 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 396.64 273.341 407.544]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
+>> endobj
+887 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 357.846 251.194 368.75]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
+>> endobj
+888 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 319.052 232.385 329.956]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Logic__Error__Exception) >>
+>> endobj
+889 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 281.234 194.218 291.162]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
+>> endobj
+890 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 241.464 246.373 252.368]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Overflow__Error__Exception) >>
+>> endobj
+891 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 203.387 193.507 213.574]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4) >>
+>> endobj
+892 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 163.876 243.304 174.78]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library) >>
+>> endobj
+893 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 126.059 204.031 135.986]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function) >>
+>> endobj
+894 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 87.265 219.115 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Decision__Node) >>
+>> endobj
+896 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+900 0 obj <<
+/D [898 0 R /XYZ 90 757.935 null]
+>> endobj
+897 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F11 322 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+934 0 obj <<
+/Length 1326      
+/Filter /FlateDecode
+>>
+stream
+x��X[S�6~ϯ�۱g!ٖ��-�a$ML��3
���ֱ]�I`����fr;��i�}�-iW��^�Z��4�������
�h8��Zj�� 6�
�[��QGB=��8
+�,y~$C�I|O#�l�M
�v4&E

���B
��$�Sȳ��[�������W
�㡆�q������v�
jC6�A`5<m&v�5۴ؘh��o5�D_
�*��1U
����������4S)`����Q"��l��
�X>��n�+?�,��q��KjX�N����Zo�up��|�	
�d�\[�|g�x��v[�
�A�Z�hё��'�(��.��2��K�TR �n�����
Q�3jIぜo1�
�#A�YWn�����O��8NGr1��\�O`d���2_���
R	�
��@�'0,�SBv	�9�X�
����H	�>
+�#e	*ͥ�����'����Q9VDO����
��(eı\��N���?
.��R"+36"���A�I6)C�i@�]@�ʨPnM
+���Wwu)�?�0���ǔg�}�߅U"G���Q
2m��Ձ֒є
�;�|$*�}��%��O�����4,�& 00V�E8�%h���_�Zi(����e���[��۬�
+?��	��g.�X�9��<��p6CIϷ�����	�}�҅�uD(��Xy󜓰3�S��Ahe�����!�������
��N�;<��«^��_a���%�����j���f��i0�#��
+�5���n��o
����r+���i�Jj �Z���Ta8�R�c4������^�b^}���%3J��o��p6zK��$-�o8E����e��:�Ƥ�L�fxԹ��~;������^"�u�_����ǭLV�f@�k��CoK�	"�|��2?B��廬J?��2���+~�p�۫��x�e#�(�𧧸dρ�{���eo� 8�n眩��v��<Wa|�
+n�0/g�o	20�f�&��-K��2ԛ\?g�KȊ"���`�`��D\��3��%-i��]�(����Roe} �w{��V�t7�Y�'�jˑsQ���+U�6���Y����m
��a��4�q�
�U��L�PD/��:�������~?��S?TEOS���qf�s=\ԭ�|�����(�2cW��up��|����N
@�{o�T�H�
+h��Ȗ�^� �+oe��z=w����=_���E<�������t4�Fd�6���^�×�_�͠|�"J'U+�b�
+���
��F�b���r	şZ���G����Ɉ��%��cY�

�f30(�$�s
+�� ϓ��Wɜ
�AiVL
��v�Q!{�8����]F�%N�Ʊ(����0-��
+endstream
+endobj
+933 0 obj <<
+/Type /Page
+/Contents 934 0 R
+/Resources 932 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 854 0 R
+/Annots [ 895 0 R 901 0 R 902 0 R 903 0 R 904 0 R 905 0 R 906 0 R 907 0 R 908 0 R 909 0 R 910 0 R 911 0 R 912 0 R 913 0 R 914 0 R 915 0 R 916 0 R 917 0 R 918 0 R 919 0 R 920 0 R 921 0 R 922 0 R 923 0 R 924 0 R 937 0 R 925 0 R 926 0 R 927 0 R 928 0 R 929 0 R 938 0 R 930 0 R 931 0 R ]
+>> endobj
+895 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 697.147 190.901 707.075]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem) >>
+>> endobj
+901 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 658.63 217.471 668.558]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Solution__Node) >>
+>> endobj
+902 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 620.113 201.601 630.041]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node) >>
+>> endobj
+903 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 580.62 216.365 591.524]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+904 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 542.104 216.355 553.008]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
+>> endobj
+905 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 503.587 216.554 514.491]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Timeout__Exception) >>
+>> endobj
+906 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 467.128 170.956 475.974]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+907 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 427.53 192.544 437.457]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
+>> endobj
+908 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.055 346.28 278.938 357.184]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ga7b9f076ff672dec60890b152525134c8) >>
+>> endobj
+909 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.744 346.28 387.534 357.184]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga7b9f076ff672dec60890b152525134c8) >>
+>> endobj
+910 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [393.04 346.28 511.506 357.184]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga7b9f076ff672dec60890b152525134c8) >>
+>> endobj
+911 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 334.699 233.501 345.229]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga7b9f076ff672dec60890b152525134c8) >>
+>> endobj
+912 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 295.809 298.955 306.712]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gaa6be200dbc5f773603baf12657deea39) >>
+>> endobj
+913 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [306.726 295.809 359.627 306.712]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggaa6be200dbc5f773603baf12657deea39) >>
+>> endobj
+914 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.616 295.809 484.708 306.712]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggaa6be200dbc5f773603baf12657deea39) >>
+>> endobj
+915 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 257.292 263.698 268.196]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gad6fca2904fa0ff88929687a101bc2ae1) >>
+>> endobj
+916 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 242.238 147.454 252.424]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggad6fca2904fa0ff88929687a101bc2ae1) >>
+>> endobj
+917 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [150.443 242.238 188.968 252.424]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggad6fca2904fa0ff88929687a101bc2ae1) >>
+>> endobj
+918 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.957 242.238 230.483 252.424]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggad6fca2904fa0ff88929687a101bc2ae1) >>
+>> endobj
+919 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.471 242.238 271.997 252.424]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggad6fca2904fa0ff88929687a101bc2ae1) >>
+>> endobj
+920 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 226.123 157.417 236.653]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggad6fca2904fa0ff88929687a101bc2ae1) >>
+>> endobj
+921 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.448 187.232 214.914 198.136]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ga0cd3c405aa537a001f59e642f2acddd3) >>
+>> endobj
+922 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.506 187.232 360.535 198.136]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga0cd3c405aa537a001f59e642f2acddd3) >>
+>> endobj
+923 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.434 187.232 478.227 198.136]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga0cd3c405aa537a001f59e642f2acddd3) >>
+>> endobj
+924 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [482.126 187.232 513.996 198.136]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga0cd3c405aa537a001f59e642f2acddd3) >>
+>> endobj
+937 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 175.651 180.102 186.181]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga0cd3c405aa537a001f59e642f2acddd3) >>
+>> endobj
+925 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 137.134 244.968 147.664]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ga9006be5f6c0f7616400b3554738e732f) >>
+>> endobj
+926 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.738 137.134 294.581 147.664]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga9006be5f6c0f7616400b3554738e732f) >>
+>> endobj
+927 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [150.585 98.617 255.909 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gae574051d412d3ee587c872f48de81663) >>
+>> endobj
+928 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.774 98.617 448.819 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggae574051d412d3ee587c872f48de81663) >>
+>> endobj
+929 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [463.855 98.617 513.996 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggae574051d412d3ee587c872f48de81663) >>
+>> endobj
+938 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 86.662 232.286 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggae574051d412d3ee587c872f48de81663) >>
+>> endobj
+930 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [235.275 86.662 335.777 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggae574051d412d3ee587c872f48de81663) >>
+>> endobj
+931 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+935 0 obj <<
+/D [933 0 R /XYZ 90 757.935 null]
+>> endobj
+936 0 obj <<
+/D [933 0 R /XYZ 90 365.086 null]
+>> endobj
+932 0 obj <<
+/Font << /F70 275 0 R /F77 334 0 R /F56 243 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+982 0 obj <<
+/Length 1424      
+/Filter /FlateDecode
+>>
+stream
+x��X[s�F~ׯ�-0���"�lcW�.!���a0Z;L���⺙���
�Bȶ,g��E�Zv�|߹�P���t�9�;�=(��6�)�ג
�����?�.d*]d@�8	˒OO�h��
+�8ϔ���Ȕ5�|�?t
��GG%���2YF�4C����(���	Ͷ�[�+�t��1���O
(�j�\Ϟd=M��"@K�!
@�຺��,�sU���
���OF�O��rNv��
�bc�g��}a���
���dF6f�6mN
��]���#2j at 7��kB������e*�)�ō��c;��*s�3\�
�=!�)�����xp�xS�qT~��1g����^�w+(
�j,T
���c����5�rC���2�+AjxUV|%��
+��)-g���|�w
�J���tx}�!��;��
�
'ә�mg�� ����x
�����)�E<ފeW�����#�w�W����"��l��>ĩ�A�}�,�SR��eS���q!��ӟ��N��y4?M���lpAG����9y�

�MQ�mB&�?
~R��i't�=m�����/�(Oq#yW�{p�WE�/�y򝺉��i8OU���&&���h0����1�`2�12G��
=�_�����f���߬l��e���<��W�.K"o��17"�
������g������.uR�w΢����,E3�_�.=����o��P4��m�f�w��N�i������):kN
��(�����.]���[$�8�뼒,�Xpݩ���u����
+�������p6������?	����Y�z���}q�ª��p_��xf�z��p�ō���dL��+�c{&��3��/�]{
vn��'��3J\׌���3ϩӁ�r=�gMh
(�%��9�N��-��q�����TWG��sa6P�����+�*�,>�Np񂽉�nx#��@��O/]v�!�|DҞ�Hʢ+�
g$q]Sx�H�^�ѷ���!M�'	_��
.߷�+��0���3NΖ� 9%��/!n�.W�W*�Z�
+��<����Eȟ�",��j]�$�i��~%�y�f�չ!.�|.lg��T�����,�������s%�i[�@�.����yAm��A�-><�U|	!��u<p��l\�z���0�$��^��
u�\^%q$>�pzU
<]f��v4<M5��Y,�!hnI{��MaӦ�.�-&/���
����sQ`R8�M��۪
_S�Jm�"�EԵ�l�д�{��.�	�&�{K~�n��0����Zp�����`6�af7K����`38f%.�)$���l���b���
�*��U)4CAS\w�
�oR=�Hs
z` "�
�$���_�jqxpp{{
�,�xQ��:X,��M绗���$b��U��S���i��e�GΈ�gdc�"4I��@�
+endstream
+endobj
+981 0 obj <<
+/Type /Page
+/Contents 982 0 R
+/Resources 980 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 854 0 R
+/Annots [ 939 0 R 940 0 R 941 0 R 942 0 R 943 0 R 944 0 R 945 0 R 946 0 R 947 0 R 948 0 R 949 0 R 950 0 R 951 0 R 952 0 R 953 0 R 954 0 R 955 0 R 956 0 R 957 0 R 958 0 R 959 0 R 960 0 R 984 0 R 961 0 R 962 0 R 963 0 R 964 0 R 985 0 R 965 0 R 966 0 R 967 0 R 968 0 R 969 0 R 970 0 R 971 0 R 972 0 R 973 0 R 974 0 R 975 0 R 976 0 R 977 0 R 978 0 R 979 0 R ]
+>> endobj
+939 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 696.461 223.927 707.365]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ga16616f4113ae69d86cdaf2b7b10cc0d6) >>
+>> endobj
+940 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.698 696.461 282.945 707.365]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga16616f4113ae69d86cdaf2b7b10cc0d6) >>
+>> endobj
+941 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.934 696.461 321.69 707.365]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga16616f4113ae69d86cdaf2b7b10cc0d6) >>
+>> endobj
+942 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 658.525 205.018 669.429]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ga464c2bc94f19f4509ffedb8b7b60439a) >>
+>> endobj
+943 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [212.789 658.525 237.466 669.429]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga464c2bc94f19f4509ffedb8b7b60439a) >>
+>> endobj
+944 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.455 658.525 262.433 669.429]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga464c2bc94f19f4509ffedb8b7b60439a) >>
+>> endobj
+945 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.421 658.525 296.744 669.429]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga464c2bc94f19f4509ffedb8b7b60439a) >>
+>> endobj
+946 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [299.732 658.525 381.426 669.429]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga464c2bc94f19f4509ffedb8b7b60439a) >>
+>> endobj
+947 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 620.589 228.261 631.493]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gae444adc8164dfda0378177ddab117095) >>
+>> endobj
+948 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.032 620.589 260.709 631.493]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggae444adc8164dfda0378177ddab117095) >>
+>> endobj
+949 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.698 620.589 325.107 631.493]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggae444adc8164dfda0378177ddab117095) >>
+>> endobj
+950 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.096 620.589 359.418 631.493]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggae444adc8164dfda0378177ddab117095) >>
+>> endobj
+951 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.99 583.026 225.779 593.556]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gad7cbdacd9a5e2c068c25c12f47f8936a) >>
+>> endobj
+952 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.454 583.026 369.659 593.556]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggad7cbdacd9a5e2c068c25c12f47f8936a) >>
+>> endobj
+953 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [372.099 583.026 511.506 593.556]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggad7cbdacd9a5e2c068c25c12f47f8936a) >>
+>> endobj
+954 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 571.071 243.912 581.601]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggad7cbdacd9a5e2c068c25c12f47f8936a) >>
+>> endobj
+955 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 532.761 221.336 543.665]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gab884929ad9e98d94cac675f7fe3e9771) >>
+>> endobj
+956 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.107 532.761 301.924 543.665]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggab884929ad9e98d94cac675f7fe3e9771) >>
+>> endobj
+957 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.912 532.761 381.604 543.665]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggab884929ad9e98d94cac675f7fe3e9771) >>
+>> endobj
+958 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.597 495.198 311.149 505.729]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ga0734505368bf2ef216c74aa9ed15793e) >>
+>> endobj
+959 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [335.038 495.198 436.647 505.729]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga0734505368bf2ef216c74aa9ed15793e) >>
+>> endobj
+960 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [447.695 495.198 513.996 505.729]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga0734505368bf2ef216c74aa9ed15793e) >>
+>> endobj
+984 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 483.243 166.822 493.774]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga0734505368bf2ef216c74aa9ed15793e) >>
+>> endobj
+961 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 445.307 301.983 455.837]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ga57b815531385542de7563918454dff9a) >>
+>> endobj
+962 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 430.17 247.628 440.356]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga57b815531385542de7563918454dff9a) >>
+>> endobj
+963 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.254 430.17 400.463 440.356]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga57b815531385542de7563918454dff9a) >>
+>> endobj
+964 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [404.089 430.17 513.996 440.356]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga57b815531385542de7563918454dff9a) >>
+>> endobj
+985 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 418.214 135.27 428.401]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga57b815531385542de7563918454dff9a) >>
+>> endobj
+965 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.259 418.214 284.271 428.401]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga57b815531385542de7563918454dff9a) >>
+>> endobj
+966 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 402.39 304.186 412.92]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga57b815531385542de7563918454dff9a) >>
+>> endobj
+967 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 364.453 223.01 374.984]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ga1c0bf670d1be309282e282c6847dff2f) >>
+>> endobj
+968 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [230.781 364.453 364.668 374.984]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga1c0bf670d1be309282e282c6847dff2f) >>
+>> endobj
+969 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [367.657 364.453 494.341 374.984]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gga1c0bf670d1be309282e282c6847dff2f) >>
+>> endobj
+970 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 326.144 210.278 337.047]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gaccd1fa9f287c6fe48bd8dfd920a5397b) >>
+>> endobj
+971 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 311.036 171.803 321.566]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggaccd1fa9f287c6fe48bd8dfd920a5397b) >>
+>> endobj
+972 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.792 311.036 257.093 321.566]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggaccd1fa9f287c6fe48bd8dfd920a5397b) >>
+>> endobj
+973 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.082 311.036 295.329 321.566]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggaccd1fa9f287c6fe48bd8dfd920a5397b) >>
+>> endobj
+974 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.318 311.036 402.198 321.566]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggaccd1fa9f287c6fe48bd8dfd920a5397b) >>
+>> endobj
+975 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 295.555 193.382 306.085]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggaccd1fa9f287c6fe48bd8dfd920a5397b) >>
+>> endobj
+976 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 86.288 197.097 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter_a45071a745fb30de24380e7e21c8c80ef) >>
+>> endobj
+977 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.913 86.288 278.162 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+978 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.065 86.288 334.082 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+979 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+983 0 obj <<
+/D [981 0 R /XYZ 90 757.935 null]
+>> endobj
+986 0 obj <<
+/D [981 0 R /XYZ 90 258.733 null]
+>> endobj
+66 0 obj <<
+/D [981 0 R /XYZ 90 187.37 null]
+>> endobj
+544 0 obj <<
+/D [981 0 R /XYZ 90 155.441 null]
+>> endobj
+70 0 obj <<
+/D [981 0 R /XYZ 90 155.441 null]
+>> endobj
+987 0 obj <<
+/D [981 0 R /XYZ 90 104.803 null]
+>> endobj
+988 0 obj <<
+/D [981 0 R /XYZ 90 104.803 null]
+>> endobj
+980 0 obj <<
+/Font << /F70 275 0 R /F77 334 0 R /F56 243 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1005 0 obj <<
+/Length 1767      
+/Filter /FlateDecode
+>>
+stream
+xڽXYs�6~ׯ�[�i$��}��L�dƍݧ$��H�F�C�U��
,@���8�8�8w��� 
��r�7�7��e�X1�7�n6V�Xa@	s�u�Ym�w�����ۤ.�ն��w<��U.�uR�/.�׭��8n*�|u5����I�[^���׎�)�/\��/�i���ox=�����0���o��^�̾�(��XT��Bz�J���ώ�A�[�!^
Y;5��|׃�ܺ��=s�n��5�"�5�ԍ�Y��'`��N䙖1)��@?�S�)�QI���s��U���_.J��	|�:��z�6oQ���l�&�eU�2i+8�R�(���jyɂ|
�%��¿Gb
�'�e�=�e�[m�of����)qW�AJ-�w�
�\qi��K��Os�G�j4�(B}�>j�]]jt�;�p#�B	�-/#oH�("Q$�Dh�D���҂���L�A�<���8�^V|3w��Z�}fC��2����,,�G\� T�G�BC�ƑN��1 ����Y�z�֢�ճO��4���+�O�A��:bU�ۖg
�ti�
d
	h*g�6� �)��I����y?�ID�j4�	���O{������	&5��F
	a�0��(��x��D�:�x��b��?��|����<������`}11�Dή�_x��U��2����Va�.ד���AI{yʭL�#C�L
�5�y��gO=I�G�](%1c>�S�!�Ucskto�Ɏ �M�.Ӕ�k�H���|�ȸ4a���Qxm�U�z��K�md
+90��LI��� ��|4U�"����7J#�
+^J+6�-A�L�U��I΀���p��V�e�#h���{>�
9��m���e�q
�Kd5чKA
�v��SE����s�VʆAd����
�8i�"㥠���'A�E��g�|;`
�$�oR�$��8z���(�lp�
����#t�J�b��y#iL:��J��k.Ƙ/��� ���|�ޘ��Fc#CdU�ؒ(=;�U
���h��lsa�I�۱�z6�\�y����u΋���S�@�C�^P�}�m$���H>0F�E1!B:XQR��h�48T��z@�|��n
a
�L[��$�Hn?��
$�C����ȣaA�]�\�W
+����
��Zx
\a��� 
����E�WM�.�bmnq��!��Zvb�l������XR<�� ���Z�35۹ZH
����
GI�����S�N�C�%�,j�]�OM֕����D$I����u�2Yh�*-��G I
+=B} Qj�@W���&�������p�p��
�x�~���.y͓l��M���ٙ�
�N:��|�S�
lgUɱ�XR��\]�B�q��'�� ����?���Lr���2��l
�+�_�oZ�H��G��D��|�T�����+�s�'�p>��躾��yU���u��,rx
ک7#�q�K^'}zQ	s,���RڜO�
��Ec!OE�3e'5�.$guD)b�X2�<�PHѿ���d��Ǻ��im��C
�5
��s^u�\��8zٕi�����9{|�K�ч�ӈ
,���W|��S�J��\�B�|�[K�
yC�Ŷ��0�'ػ9_���q��Ϧ�y�	�P�)�Ū����u���W������o�n��Iy�%�z�?��F���㟆׿I��|�������y}(��ZJ�6��v4ſ�i�5Su�AA�f�E}
r׶ۋ�r�ۑ�!])�5�r�͗�Y|؅;�������Mm�s�6���~�%���cP��p
�
+endstream
+endobj
+1004 0 obj <<
+/Type /Page
+/Contents 1005 0 R
+/Resources 1003 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 854 0 R
+/Annots [ 989 0 R 990 0 R 991 0 R 992 0 R 993 0 R 994 0 R 995 0 R 996 0 R 997 0 R 998 0 R 999 0 R 1000 0 R 1002 0 R ]
+>> endobj
+989 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 696.002 191.16 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+990 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 696.002 263.777 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter_a46f81b7244ead222393409796c6155bf) >>
+>> endobj
+991 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 657.521 159.927 668.052]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+992 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.425 657.521 212.779 668.052]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter_a5861873d6b4efa078c9baea63cc8161c) >>
+>> endobj
+993 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 618.293 215.13 629.197]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter_acd06275151af00aa4ee62a7317c547dd) >>
+>> endobj
+994 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 579.439 201.302 590.343]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter_acd52b4b7cf5a3c7da87fa56306263280) >>
+>> endobj
+995 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [104.984 496.992 188.171 507.896]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter) >>
+>> endobj
+996 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [419.661 496.992 496.91 507.896]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+997 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [467.979 485.037 513.996 495.941]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+998 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.296 435.532 396.428 446.436]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem) >>
+>> endobj
+999 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.864 362.641 513.996 373.545]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem) >>
+>> endobj
+1000 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 174.146 240.255 185.05]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter__Sequence_adb3527cd368dc0c27de0d20f9a325d0b) >>
+>> endobj
+1002 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1006 0 obj <<
+/D [1004 0 R /XYZ 90 757.935 null]
+>> endobj
+1007 0 obj <<
+/D [1004 0 R /XYZ 90 715.095 null]
+>> endobj
+1008 0 obj <<
+/D [1004 0 R /XYZ 90 676.241 null]
+>> endobj
+1009 0 obj <<
+/D [1004 0 R /XYZ 90 637.387 null]
+>> endobj
+1010 0 obj <<
+/D [1004 0 R /XYZ 90 598.532 null]
+>> endobj
+1011 0 obj <<
+/D [1004 0 R /XYZ 90 542.119 null]
+>> endobj
+545 0 obj <<
+/D [1004 0 R /XYZ 90 280.568 null]
+>> endobj
+74 0 obj <<
+/D [1004 0 R /XYZ 90 273.967 null]
+>> endobj
+1012 0 obj <<
+/D [1004 0 R /XYZ 90 193.119 null]
+>> endobj
+1013 0 obj <<
+/D [1004 0 R /XYZ 90 193.119 null]
+>> endobj
+1003 0 obj <<
+/Font << /F70 275 0 R /F77 334 0 R /F56 243 0 R /F83 417 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1026 0 obj <<
+/Length 1251      
+/Filter /FlateDecode
+>>
+stream
+x��X[o�6~����d`�IJ�%
+��mW K���0h�����JT=��
��b˷6�%�D�\��
��������`t`+B�O}k<�"l>A�k<�
m��;t��^�2�U�n�bV�I�LK^n..�6�{1各��c1�6�4�%dK,�
r1����Ԗ
͠�zf������
��I�NyU

ʰ�k�C�<��	������C�"��,@�����7l���'
0�Bk���,���Z�?�$��E�g
�
卐<I�L�w#��LV2)r��aˡ �)9�p���J���;�
�b���R&_1�q�S�A㙐����qqd_�jk1�.b�{\.�����GS.4B��c��rK��nH�m4M
�mJ�BHK*��q�4
�"���9��S�@�|�"O��q��\���Ӽ(Ճ\&�
�3S�C�m�_"%�&J���Qa��i1��^'�B}j
M���G�B
b���+��j� W�)�6�y�
+2�P�1
+]�0xk&C-�N=������
B��^2�s�g)��K9���)���%��9��L�Dn���d�T4t邙ՒOS
l�k"�E���<M���)�� 
(N�Q
+�	�]=M�X��"��д���ak�Í�
�(��c|:��
�L��hKa���U$&�ii-`����
+�@�k9�y ?�P�鬼��tV,��g0���:�-�-���%���AWߍi�Y�m
|1����G�u(�Z
�
��9��?�L,�ىb	�UB�Az�h�<��,��R;��<�/�J|L'/�u|��q<߂㽐u�W�*��h�"�E`�9 e�"7��v�})LW$:
a�v8�d���\D����mV�_h�.�,�iC�Z�����s���+�)��-��+2�
"7B8� ��
�-#�O���k��N�g�׼rl	� z�Ɩk��2���� �����VO�W,�&V]����"��	�4���KO�ږ"?ӏ�R���N��Q�:�=��|�x�:�$pwKƃr�Rcq
geYǐ�U���nz�dUr��@0����j��P�zCZb�~=
�ML�3��*��}J��^���*�.��K/��e��Q@:��$����K��d\�����_�˧��S�<_�]����c�Z���g%�_���:�_x^�+X�b}Yu�#B,��&zf�TP<Y��sS�閃��7]q)��b4Z��(�P�'�%r�Z��}=K!@Ҡ�'CW
��l
�<��ž�pF� I����~�̧U5
+endstream
+endobj
+1025 0 obj <<
+/Type /Page
+/Contents 1026 0 R
+/Resources 1024 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1038 0 R
+/Annots [ 1001 0 R 1014 0 R 1015 0 R 1016 0 R 1017 0 R 1018 0 R 1019 0 R 1020 0 R 1023 0 R ]
+>> endobj
+1001 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.949 695.563 448.294 706.467]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter__Sequence) >>
+>> endobj
+1014 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 526.993 172.889 537.897]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_ab4470b84b8b57bae591239910d220c70) >>
+>> endobj
+1015 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 488.139 146.976 499.043]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_a133f3756e88145e6ff5bf3d1b41838d9) >>
+>> endobj
+1016 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [122.488 449.285 136.655 460.189]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_aa3a5f10fed94188b162073ef8efff393) >>
+>> endobj
+1017 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [122.488 368.522 137.213 379.426]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_ad35d7381bcd3c4cf029d4b76bb6545b8) >>
+>> endobj
+1018 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [121.93 166.696 276.658 177.6]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+1019 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 89.918 184.651 100.822]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_a1c91471f55b22735023d37417f0bef70) >>
+>> endobj
+1020 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.633 89.918 304.022 100.822]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ga16616f4113ae69d86cdaf2b7b10cc0d6) >>
+>> endobj
+1023 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1027 0 obj <<
+/D [1025 0 R /XYZ 90 757.935 null]
+>> endobj
+1028 0 obj <<
+/D [1025 0 R /XYZ 90 733.028 null]
+>> endobj
+546 0 obj <<
+/D [1025 0 R /XYZ 90 633.415 null]
+>> endobj
+78 0 obj <<
+/D [1025 0 R /XYZ 90 626.815 null]
+>> endobj
+1030 0 obj <<
+/D [1025 0 R /XYZ 90 545.967 null]
+>> endobj
+1031 0 obj <<
+/D [1025 0 R /XYZ 90 545.967 null]
+>> endobj
+1032 0 obj <<
+/D [1025 0 R /XYZ 90 507.232 null]
+>> endobj
+1033 0 obj <<
+/D [1025 0 R /XYZ 90 468.378 null]
+>> endobj
+1034 0 obj <<
+/D [1025 0 R /XYZ 90 385.593 null]
+>> endobj
+1035 0 obj <<
+/D [1025 0 R /XYZ 90 385.593 null]
+>> endobj
+1036 0 obj <<
+/D [1025 0 R /XYZ 90 331.202 null]
+>> endobj
+547 0 obj <<
+/D [1025 0 R /XYZ 90 235.883 null]
+>> endobj
+82 0 obj <<
+/D [1025 0 R /XYZ 90 229.283 null]
+>> endobj
+1037 0 obj <<
+/D [1025 0 R /XYZ 90 130.81 null]
+>> endobj
+1024 0 obj <<
+/Font << /F70 275 0 R /F11 322 0 R /F56 243 0 R /F21 1029 0 R /F77 334 0 R /F83 417 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1063 0 obj <<
+/Length 2021      
+/Filter /FlateDecode
+>>
+stream
+x��YY���~��[�*qvN
J*R"��Ȗ��'���!9e���2̯O�,Ab��J+�Uy!�9z���s��u��ד7��W1R�F4
+nVA��8"HP�,�S�gc<��f���8l���Z4Ysx����]H��O�$�Ve8�O_Yۺ��r%�,s	YL蔉�7��L>Mp�b91������o8X��� #�&�ޮ��2x���	�Ҝ>�tq��t7���ט2�#�D|�S��s��G)C"�{/�{t��\��U+�\��,[� �ի�
ΌQ$b�Ȟ�tKl	Ēn
Y��'��+
�5#�@Q�3J�X)'T�b�����ד��L ����ʱ��y#�G,�?����l'���O)�8i(��ɴ{S�@^Շ
��E�w 
�.@	F$" A��
�0�g��w���ua5�o�s��#����G OE��g�i	J 
x��͈
@$��GA
+�E��U��&S��_Z-���b+�o��'�K�8
��
+b�a�)NP��P����(���H9E�;
�7�q��L�����q@��H/�(��#�h�z��X$B@�cVfZ�TLo��L���Q�ˁs�HyʏI�`������Y+;��½4!����v�%��Y��O��G.���0i�8���7jL�&��^��:&�j���Z�k�}D��ЮvC�Muh��:U_��H]x�m���1��>ۺ ��u�x����̂�3��Xr���Vc+:;�s-���Trw*�s���\d��V��y?��ؼ%lj`�
+ �W
+
d��7^n�B�>���2�=-Sx�0�
�>�x���3n;.�w��Z:B ��阶Y԰`,���{�rf�`'(��S�*7���ܪ��M7�䍪�;
�:ktH�zB�q&G:&1
�����0��}�Vi�N{t+/�'[�
+G�?u�����z����}��QK����)hƠ��8�z�r�f>*�Oĉ�	�G�v~�@���
g�ċ̯7Y-����<w�إ� Y��ɱk�|*u���8h�%Ğ�8�Bt
�U&b�Ȭh!���VF,��,��?㦉����m��lQH�W�܂@�F,��.����ҭ�Whw�3�w��a��؇Ypd���Mv+ǜ`!��
+��p�t�7̌�>bL׻��}���r������dz�M�����oHe��dmL���;hQ����ْ
lݔ�~���Ok�B�����$���^�3Pڭʊ~��3W��+�2���>W�}A�K���Uv~�c�I�&
qcL	,~�
+짟������fXc�
+(Y(�*�T�U�����6t���Ҁ�88M��Cf
:d��
�(������2n+߼�~-KW^h���6ڥ��4��u�����Z�_v)r_�NG
s j����}����zS-���	)J�����EUAYS^�J���ڕ�9��.�j5w^�����=�M�S"	_�1�
�n���^G/����C} GQJ����XG���K� ���� f�r�ѩ�\i7�M;�K/t������__h"僄:6]8ջX�+�X��d�Z9r�Ґ�8��T���+��F�L�#�iw$��r�����p(W�?�Zg�U��v��{+���'_���×�2B��OiL.�e��PZ���{���
B�ۤ̾�7���Ny_���
�h�
�Fд�;G�a��m/�礲8g�M�����\�J��54�J��Xa��P���Q�)O����(T?T#=�>}n#
��k
��	$B/�X�b��&��i�Qb���Jk�L�xtMU���r�<$�����J&~��슊��.>��}5��OwG�����[Mӽ�Y���u�6� ���j�r1s [...]
+ �'M#�
+endstream
+endobj
+1062 0 obj <<
+/Type /Page
+/Contents 1063 0 R
+/Resources 1061 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1038 0 R
+/Annots [ 1021 0 R 1022 0 R 1040 0 R 1041 0 R 1042 0 R 1043 0 R 1044 0 R 1045 0 R 1046 0 R 1047 0 R 1048 0 R 1049 0 R 1050 0 R 1051 0 R 1052 0 R 1053 0 R 1054 0 R 1055 0 R 1056 0 R 1057 0 R 1069 0 R 1058 0 R 1059 0 R 1060 0 R ]
+>> endobj
+1021 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 698.688 184.651 709.592]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_a509185b3d326e5d4496fbe8953b82f88) >>
+>> endobj
+1022 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.467 698.688 248.023 709.592]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+1040 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 664.603 184.651 675.507]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_a5491f9cbaf4f0215196fc05ce17eaec9) >>
+>> endobj
+1041 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.467 664.603 248.023 675.507]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+1042 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.836 664.603 333.302 675.507]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ga0cd3c405aa537a001f59e642f2acddd3) >>
+>> endobj
+1043 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 631.122 184.651 642.025]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_ad008d79cb35b51e7dfbee0dcc3741dc3) >>
+>> endobj
+1044 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.467 631.122 266.294 642.025]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+1045 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 597.64 184.651 608.544]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_abf571357a5156e495293957a44145a9b) >>
+>> endobj
+1046 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.467 597.64 272.919 608.544]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
+>> endobj
+1047 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 564.533 189.015 575.063]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_a173c08eeeb4a96b0060d5f023e4ba4a6) >>
+>> endobj
+1048 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 424.655 184.651 435.558]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_a558341813be1d1bf607bf1c50e6e1ba3) >>
+>> endobj
+1049 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 390.569 184.651 401.473]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_aa37dcee4fa14c58b76c8d3c4227849e8) >>
+>> endobj
+1050 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.222 390.569 347.688 401.473]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ga0cd3c405aa537a001f59e642f2acddd3) >>
+>> endobj
+1051 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 357.088 184.651 367.992]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_ae79d42cfe6b21bcf264fd9ea84e78fb2) >>
+>> endobj
+1052 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.467 357.088 264.61 367.992]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
+>> endobj
+1053 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 289.919 306.942 300.822]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_a3665335e295bd7c05eeca13be606616f) >>
+>> endobj
+1054 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [310.757 289.919 370.313 300.822]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+1055 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.905 202.202 255.461 213.106]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+1056 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.859 202.202 491.28 213.106]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_aef6bc45c4726c7fb386547c6ec104cf5) >>
+>> endobj
+1057 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 202.202 513.996 213.106]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+1069 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 190.247 161.84 201.151]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+1058 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.301 190.247 231.857 201.151]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+1059 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.356 111.871 191.678 122.401]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_a1f026c17289bb2174eaec0d61a4a2e67) >>
+>> endobj
+1060 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1064 0 obj <<
+/D [1062 0 R /XYZ 90 757.935 null]
+>> endobj
+1065 0 obj <<
+/D [1062 0 R /XYZ 90 715.095 null]
+>> endobj
+1066 0 obj <<
+/D [1062 0 R /XYZ 90 580.566 null]
+>> endobj
+1067 0 obj <<
+/D [1062 0 R /XYZ 90 439.024 null]
+>> endobj
+1068 0 obj <<
+/D [1062 0 R /XYZ 90 220.482 null]
+>> endobj
+1070 0 obj <<
+/D [1062 0 R /XYZ 90 129.777 null]
+>> endobj
+1071 0 obj <<
+/D [1062 0 R /XYZ 90 129.777 null]
+>> endobj
+1061 0 obj <<
+/Font << /F70 275 0 R /F77 334 0 R /F83 417 0 R /F56 243 0 R /F88 819 0 R /F11 322 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1082 0 obj <<
+/Length 1299      
+/Filter /FlateDecode
+>>
+stream
+x��XK��F��WpJP�j4o`s�w�.;�k�U)ǥ�h�(#P YֿO�
H��]�,'�����~|�u�`'v��j�b6����@R�̖N�
O$(qf
�K0��	����X��M��WjQ��4�X�����f~?��5�����xBvoҰ,���j���T)��<B]&�foFw���#a�4yL8�z��v����
|g�H�
N\S�a��?�
eKq��ϭ��$U
m߭*�"�T	�6M_
+y�;�������!y�Da����(��Ve�8v?��pU��E�oC�gH/ճ�b���L��7yVV�6��B���3���6��k�Ua�N��q
h�����f��

<�p�i���9�?r�Q���`Nc��� "8hEnU�2U���ߥ�vʢvB�QgB
+���S�-,�T�V?�L,	�H��`�A�Ǵ�m�.
�C}�Ԙ
+wg�>̯~Η��H����G���`*��XL`��
+4�w=�0g�
����ziY�G� #�[�
+�s�
+%�]�ש�{{?�Ӧ'@>��H]��V+�oL��!s�BAr�����ϻ$M��G���zS����栳�%��%(nR��b�+^g��l��^[WdQ�ᢶz�@�} �:Z0D/Y@
S@S�*c)(�CU�6��1�\[Q� �1"��M�ޤ�KR�皪O�A�t����<����ؿHeU���wI��(ߌ	v�]Z*���
mVc
�
j�
L������+�jؾ��6��_�Pr��$��B-��}�f�l�@#Nt�%L�j��/+���͗�
�9*m�
��?����A�&,�|���d����7���e
�SϞ��1hiv8���y��AL�TC/6a����qDS�o*�׺0d
+�<D�o����m=
>�� �I����!
+�9 B�Qp:~�?+�����g��y(`l�?Ⴠ���;ׇ r���9��З- =�{wn��a�"�=�Hz�?���=�q���6������;��qH����(c�
e�?oPf�#��K6�+S$I�I�VF�q�9ڟ����i���.@}C�p�
����Wz
�OM�?Y������gg�@�
�7�9n��O�9�x�\[�%��0�c�{��
j�Z���o5D������M�{��@?��Q�ބu�?��k��x�F��RŲ.��Q��DZ�I��0۶�����!u��l@уR&*:����Q�>~�UUm����n���nS���n6��A����Htٖ�J�Pl�v����$�uslr�� ��F
+endstream
+endobj
+1081 0 obj <<
+/Type /Page
+/Contents 1082 0 R
+/Resources 1080 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1038 0 R
+/Annots [ 1079 0 R ]
+>> endobj
+1079 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1083 0 obj <<
+/D [1081 0 R /XYZ 90 757.935 null]
+>> endobj
+1084 0 obj <<
+/D [1081 0 R /XYZ 90 733.028 null]
+>> endobj
+1085 0 obj <<
+/D [1081 0 R /XYZ 90 681.989 null]
+>> endobj
+1039 0 obj <<
+/D [1081 0 R /XYZ 90 659.677 null]
+>> endobj
+1086 0 obj <<
+/D [1081 0 R /XYZ 90 659.677 null]
+>> endobj
+1072 0 obj <<
+/D [1081 0 R /XYZ 90 558.664 null]
+>> endobj
+1087 0 obj <<
+/D [1081 0 R /XYZ 90 544.094 null]
+>> endobj
+1073 0 obj <<
+/D [1081 0 R /XYZ 240.245 454.917 null]
+>> endobj
+1088 0 obj <<
+/D [1081 0 R /XYZ 90 438.189 null]
+>> endobj
+1074 0 obj <<
+/D [1081 0 R /XYZ 332.797 363.124 null]
+>> endobj
+1089 0 obj <<
+/D [1081 0 R /XYZ 90 346.397 null]
+>> endobj
+1075 0 obj <<
+/D [1081 0 R /XYZ 338.775 271.332 null]
+>> endobj
+1090 0 obj <<
+/D [1081 0 R /XYZ 90 254.604 null]
+>> endobj
+1076 0 obj <<
+/D [1081 0 R /XYZ 461.214 167.584 null]
+>> endobj
+1091 0 obj <<
+/D [1081 0 R /XYZ 90 150.857 null]
+>> endobj
+1080 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F88 819 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1100 0 obj <<
+/Length 1781      
+/Filter /FlateDecode
+>>
+stream
+x��Xێ�6}�W�6syu�r-�&�6�>mC�i��,9�
g��Ûli�k7h��e������̙C�`���������)J#�� �A
�)	��͘`�'S�1
o�z�ͶUq��:�r^g����J,?bLs)�v2�
��YӘ�{���$cQ�Lq�ȘœOׯG/�G_G\��K�Ō�ft�	
x�:���I�׳6AH�/��?G�x<l�2�#n�q�ƛRL(�̓�KU��,
+3��Z��n�u7�,�Å܈����j��X�#'(�F�]�ê1sz��R��d�
GdJY�(I�)��`��%D�F���c���]���_ϫ|���~�a�)�/���"�R	'���?z��x^U�ȴA�@̮&�0?�xW���n��l^���
2B�ʙ\���,o�7!WH0�0h�>b�'S��l����8�F,��

S�d�O<��!���4g��L~��}��� 
��Po�
��O"�b�m�җ �(���k�D(�Q�=+	
+!C���Ą�Z?J���l�!��ʳp
���w�!�f-�]
n>V��H�{��	���eV4�e�,��'��u�ҕ[N�b�0Ú�(M#U��16S^|��V�Y����_q\��d�^��e1IP�Sp
+^��&��IŘr1{R�t)Ϻ���
�@Mi�A���h�A��VeDNG=�gD=�O�m��mV�u*˼�l��慸�
����<����(��'�����wWj����'�G�
�O�<���t����c�G�
+K��Y��h�,��^��Żw��]�#
+��]M���a�
������
Y����W���$e����\nf�iu��}���N��{��v���W/���&| ����pB�l�1���%F$t�+Ŵ��WR �X<��N%ti�����Q��">��F�t�z,s�3�)
t���!1���������8&-�/�3���)#sK�^�H�Wk���ם�[�$�!p���TU�j��"�m�i�.��S
6�|��a���H�C:�P
I���rp�S�}	P������E��X�I
KT�E(Gx��	C<�~zP{��x�T�L�	6Z9��
á�tI�Ά0m�
+d\{{B�/�����B����ɵ(�QZ�؆�|V�n'iUx����6
�(N�S��#�8�at��F+j
 ��1�)<TP-2�
+�rW�QCo�
+������4ɀ̔Q��tn
нQ�'
�s�NM�t[I%t�)f>J�>Jp�P�©��G�K$�#/w�t�qGϔl(h6f1p,xn���~���wg7W�}Z;4��*��F���T�&�
�5	
��J-�%���w�4^ծ�
1凋 ��W�u֊�Qm�KtY�Ѫ�\�W꒡���
+Yr�km���}���~3}G1�gϫ����)��M-�uB�hj��]����Ϲ!���������ꍅ�+��|B���v�BIb������p�L���D�{�{ޱ1x6tw(i�6�t��s؁���c�
��Q*�
9�L�t'�E_
h� �AD���WvdN���<$-��
�%=��9�y���l
+���d�ӟfQ�"*�Sh�K4���+Z�MV�t�?���';��)pU
���j6JAx�ͬ���b����)��p�F��ic7}���<�1
j
^ӳ�9+W�leM���K�e�5�_���p>�о��]VL�@yP.r�pGL
�g�BX�
_7��H�����I��m����
�
e���l/����.�
�H��p������
+p�e�
�7��^�0q�q?�Ŀ,�1
+endstream
+endobj
+1099 0 obj <<
+/Type /Page
+/Contents 1100 0 R
+/Resources 1098 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1038 0 R
+/Annots [ 1092 0 R 1093 0 R 1094 0 R 1095 0 R 1097 0 R ]
+>> endobj
+1092 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 554.661 230.651 565.53]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1093 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 189.766 159.927 200.296]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_aac1766c4ad4a4697f6f9d4a92b200cb2) >>
+>> endobj
+1094 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 150.741 159.927 161.645]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_affb4611ad564f09455819718964b6e80) >>
+>> endobj
+1095 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 112.09 159.927 122.994]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_a4445a4d60c39e32b6f6d3e2dcb901e55) >>
+>> endobj
+1097 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1101 0 obj <<
+/D [1099 0 R /XYZ 90 757.935 null]
+>> endobj
+1102 0 obj <<
+/D [1099 0 R /XYZ 90 706.43 null]
+>> endobj
+1077 0 obj <<
+/D [1099 0 R /XYZ 90 684.118 null]
+>> endobj
+1103 0 obj <<
+/D [1099 0 R /XYZ 90 684.118 null]
+>> endobj
+1078 0 obj <<
+/D [1099 0 R /XYZ 90 546.077 null]
+>> endobj
+1104 0 obj <<
+/D [1099 0 R /XYZ 90 531.598 null]
+>> endobj
+548 0 obj <<
+/D [1099 0 R /XYZ 90 295.936 null]
+>> endobj
+86 0 obj <<
+/D [1099 0 R /XYZ 90 289.022 null]
+>> endobj
+1106 0 obj <<
+/D [1099 0 R /XYZ 90 208.265 null]
+>> endobj
+1107 0 obj <<
+/D [1099 0 R /XYZ 90 208.265 null]
+>> endobj
+1108 0 obj <<
+/D [1099 0 R /XYZ 90 169.733 null]
+>> endobj
+1109 0 obj <<
+/D [1099 0 R /XYZ 90 131.082 null]
+>> endobj
+1098 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F72 277 0 R /F88 819 0 R /F11 322 0 R /F92 1105 0 R /F77 334 0 R /F83 417 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1125 0 obj <<
+/Length 1463      
+/Filter /FlateDecode
+>>
+stream
+xڽXKs�6��W�Ԋ3����8q�nҺ�{r2��$�$��a���
�C�e5uz"��ow�][[
[of/of�
[!
+=�Y7+Ė��(�n���`��
�1�Q�E��<}��u}J�U�gg�ؖ
1����yU���^�$�����|6w��������ˌ�
�"��G�ì8��~���/-��0���U��R��u=�s��
xh
���!�	,�:{L�R�
���[���73�v����ol��0�q�E=����0��u���2��	�'_=h�
+ at 9ϕ�Q�<�Z 	
+]W���IҵF.R�X*��J�ӛ�v�<��[��ȯy�dQ�^J���P�
+�Fu�
�-R��E�
T"��qA�V�J-i͐�f����w��.b��x#$��z�P�i"�g�_�F�fr#�h<�x�m���s
o����ǠSA��V
 �_�{��c�Yu,�'q%l���]2�x�|c4�
�F�	x_&�_E�m��[�ã0oy=����ݱ�]�6z���Z�V�D��
��U�a '
�p
c��Z�;V�\5�Ԍ��l���F�2&��1�AՃ����z�}V
0��q']�
���
�J����hz, #z
F3WWo)+�O����
�X�X��i�sB��<�k "��x��(I��W��ˤhS�
���0��E�*9�� =T@K�,�9��A��X}汴[��v���C���\�dq����+�M%m��:W�$+R����=p�W&&�KY��̝<Ff��p`H5�|BP�t��qܔ=!&���D�H��=�kQ򪒉��xZTu�
ff�/�:/
�
+�*��"�Ng<��C	���T���=��A��C����<n�����C/+�]�
i9��l���{���,
,r0A������ �7
L�./B:d��՚�DH�|��h��@��C��g}�x�7
+F��=��q���F�jLI�\w����@�G�����h�HZe�Vڑ��Ƽ8$�^��$@>!��>�?GwJ#�E���va��u'�(�3�b�M�ٕ���^tw��K��c���:X�9�~y�e0�yS'|�~�e-΀#����}��`\>�!&��J���`�6]�Q�
+��M��
+��md
��lL�]1e��O�vE�#�h��S�Gu���;��
��2zJ�٧ظ~C~�V��m��__�޶�~z�U�)��8���&�>!�+[���T<�oy!7����
�pSF�I��,�yJJ�|ڕN��8@��3Y���zJ��ܾ��&Ĺ���l�����oD��o�B��O�{c��x������+���lׯ&�m
gmޫ��!���P?�h�E�[U�i����_/���x�Ɛ��\��e�q-F�H��t@�57)����2��fmu�
����AwW���ry��
+5")J��ˢH����K!�~�mt̟�%W���<�`�Z��G_L�i+��1C'�|���
+endstream
+endobj
+1124 0 obj <<
+/Type /Page
+/Contents 1125 0 R
+/Resources 1123 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1038 0 R
+/Annots [ 1096 0 R 1110 0 R 1111 0 R 1112 0 R 1113 0 R 1114 0 R 1115 0 R 1116 0 R 1117 0 R 1118 0 R 1119 0 R 1122 0 R ]
+>> endobj
+1096 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 719.912 159.927 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_a7c968f7ba606e8b99863ae8cdef3c686) >>
+>> endobj
+1110 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 681.432 159.927 691.962]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_a2ae111e41ccba8a228746939bb1c595f) >>
+>> endobj
+1111 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.743 681.432 209.76 691.962]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1112 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.759 642.204 174.861 653.108]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_a5e4f22d99d07f976fa2e51bc34525e15) >>
+>> endobj
+1113 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.861 603.349 215.488 614.253]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_aaff569442866d78436e19428b4cb8e75) >>
+>> endobj
+1114 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.883 522.96 193.271 533.491]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_a2558e4d9aca774fc60a7f8cb26d002d0) >>
+>> endobj
+1115 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.946 440.14 286.963 451.044]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1116 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 117.486 164.042 128.39]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_a71cf9ab9ae4f184bf520137a8209ff3e) >>
+>> endobj
+1117 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.858 117.486 245.107 128.39]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1118 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.991 117.486 337.241 128.39]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1119 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [352.125 117.486 398.142 128.39]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1122 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1126 0 obj <<
+/D [1124 0 R /XYZ 90 757.935 null]
+>> endobj
+1127 0 obj <<
+/D [1124 0 R /XYZ 90 700.151 null]
+>> endobj
+1128 0 obj <<
+/D [1124 0 R /XYZ 90 661.297 null]
+>> endobj
+1129 0 obj <<
+/D [1124 0 R /XYZ 90 622.443 null]
+>> endobj
+1130 0 obj <<
+/D [1124 0 R /XYZ 90 541.561 null]
+>> endobj
+1131 0 obj <<
+/D [1124 0 R /XYZ 90 541.561 null]
+>> endobj
+1132 0 obj <<
+/D [1124 0 R /XYZ 90 485.267 null]
+>> endobj
+1133 0 obj <<
+/D [1124 0 R /XYZ 90 414.611 null]
+>> endobj
+1134 0 obj <<
+/D [1124 0 R /XYZ 90 392.299 null]
+>> endobj
+1135 0 obj <<
+/D [1124 0 R /XYZ 90 392.299 null]
+>> endobj
+549 0 obj <<
+/D [1124 0 R /XYZ 90 223.908 null]
+>> endobj
+90 0 obj <<
+/D [1124 0 R /XYZ 90 217.308 null]
+>> endobj
+1136 0 obj <<
+/D [1124 0 R /XYZ 90 136.46 null]
+>> endobj
+1137 0 obj <<
+/D [1124 0 R /XYZ 90 136.46 null]
+>> endobj
+1123 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F83 417 0 R /F88 819 0 R /F92 1105 0 R /F72 277 0 R /F100 1138 0 R /F93 1139 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1157 0 obj <<
+/Length 1666      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��6~�W��0
Z],��N
�ܦi:�f�OI�1F�_�m���#K6���a��`�ܾs�$��r��z�����Ď�|A�s�t|�HA�Ĺ]8�#9���x�I0�d��Z-�`G�<�ﯯ�g�*ߪ4T����T�dJ9
?���0���R���"G�c�O>ݾ��
}
0;�R�%��;a2��	;
x������sW�J
�2������#l]�m��h�D�@.�
I‚�>R�+�����|e
y�z�|�rp�m�� �����UQDYz�5�r���l
��Y-T�
��#�>�'�|,����j(E¥Δ��w]��{Un��F�\�I��\i�檲��ʖZ��+���� z+��:*̪�	�į�A�w�w �%��9S��'��@
���
����G�g�Ā3D�{&�3��P�4�TZ��A�-��x��O�
�8(u����'�,>z�q���w������8�`���	�c��M�G�ʮ~ �AF�l�M6�u`[�4��
FCY*��QZ�<
�6$�U@���'�	yAH(�0�õ�)�Ϊ
�a��h;3�BF��Ĕx
I
+m�
��W�Ud +U��̳�O�lK�m�yn��T�������H�
��QuS���v��aS:�N
2����[m�&R#�����\��.~Z���V=�s��wO�G��	!�F�����~��?_�
	ht�[+@ ���Pe�u[z��0�6�
k9
�������̦XH���dʠ$��mx���C=��:

/�M�Ѐ�z���-W:QT�L��o�uWd� �} =�V`<��P������ i����q$r%���Y�
�|	j+r
@
0 ��	b� ��
2s7 �c�3�%QPl��U�7�� �&�;�j]�/�&Mz>��H�3�m,E�g�#P��A��;�:�bD:�E�E	 g at T@��Z�뀺�vn�/D"�6;������x2u]�"6I���b@�
�'M��}�
��F[3��v)! �&�u�n�r5��J$��j�G��z��Ƹ�D��x%*��j�\W�~l��b����`��t<��A�c�@�{N{Q�FM�5WX����q�j�1^3Y�-ȣ`
���� $
JGr�廴����$ �x/�:R ?"�g��(]gS-X�
v�
+5�s�'I�R��4�b�Ty���XϦ}�<7��el�-��l�m���v
�_,��
+`��C`@`WuBP�v
�>�!� |n��0���K�eB�P浚��4�;_� I˾���6����<;�����Q�jTL�]z�F�<>�)#�?>�)#@�4�� ��#`0�|�I(�'��`9ܪ�]/�YOY[�f|n�B�ۅO����^�$,�Jވ��)���J��NW�hoY^Yf�{�:
l�g5@
�~FTh05�s�En��V��O���P���!���ٍ/�,�c��q�'�]C
�|��E~�leGb��@oM�h�ņ
Ӹ���F.s�����8��-a5��AVt�#�?9��0В�����U:��)��$x�G������anߚ���7퀛��t�m�
�ЇxKs�`�S���	�c��
+�m}ʧ��9"ˋ&1"D�8���Q�fń�S_��7j��]�%�5�k]��뫫��;h�F�
E��f_�d���`�P٦
��PEG�'İ�z��;�(5Ǚ��
����o
+endstream
+endobj
+1156 0 obj <<
+/Type /Page
+/Contents 1157 0 R
+/Resources 1155 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1038 0 R
+/Annots [ 1120 0 R 1121 0 R 1140 0 R 1141 0 R 1142 0 R 1143 0 R 1144 0 R 1145 0 R 1146 0 R 1147 0 R 1148 0 R 1149 0 R 1150 0 R 1151 0 R 1152 0 R 1154 0 R ]
+>> endobj
+1120 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 719.912 191.16 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1121 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 719.912 252.31 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_a65c976f0aafc42c094699578b7a2bcbe) >>
+>> endobj
+1140 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 681.058 191.16 691.962]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1141 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 681.058 257.849 691.962]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_a09e7bb0fbd7304bfdd8412ce221c47b5) >>
+>> endobj
+1142 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 642.577 159.927 653.108]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1143 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.425 642.577 196.739 653.108]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_a322ec6fb5527b6ddc01ac35188d804b0) >>
+>> endobj
+1144 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 603.349 215.13 614.253]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_a6bcbe60c7d20f1fee7847e262993b626) >>
+>> endobj
+1145 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 564.495 201.302 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_a1a974f4ed60693790cec91f324a85b05) >>
+>> endobj
+1146 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 485.79 159.927 494.637]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1147 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.425 485.79 180.131 494.637]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_a7ea59789fd9b3a6716718beae0e01c8d) >>
+>> endobj
+1148 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 402.97 191.16 413.874]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1149 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 402.97 205.277 413.874]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_a637fe9105c9bc0b2722544d16453e87c) >>
+>> endobj
+1150 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 364.116 191.16 375.02]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1151 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 364.116 205.825 375.02]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_a240b9d144edd0d6dca5cb42904f9b279) >>
+>> endobj
+1152 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.175 281.669 314.307 292.573]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
+>> endobj
+1154 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1158 0 obj <<
+/D [1156 0 R /XYZ 90 757.935 null]
+>> endobj
+1159 0 obj <<
+/D [1156 0 R /XYZ 90 733.028 null]
+>> endobj
+1160 0 obj <<
+/D [1156 0 R /XYZ 90 700.151 null]
+>> endobj
+1161 0 obj <<
+/D [1156 0 R /XYZ 90 661.297 null]
+>> endobj
+1162 0 obj <<
+/D [1156 0 R /XYZ 90 622.443 null]
+>> endobj
+1163 0 obj <<
+/D [1156 0 R /XYZ 90 583.588 null]
+>> endobj
+1164 0 obj <<
+/D [1156 0 R /XYZ 90 502.706 null]
+>> endobj
+1165 0 obj <<
+/D [1156 0 R /XYZ 90 502.706 null]
+>> endobj
+1166 0 obj <<
+/D [1156 0 R /XYZ 90 420.041 null]
+>> endobj
+1167 0 obj <<
+/D [1156 0 R /XYZ 90 420.041 null]
+>> endobj
+1168 0 obj <<
+/D [1156 0 R /XYZ 90 383.209 null]
+>> endobj
+1169 0 obj <<
+/D [1156 0 R /XYZ 90 326.796 null]
+>> endobj
+550 0 obj <<
+/D [1156 0 R /XYZ 90 156.377 null]
+>> endobj
+94 0 obj <<
+/D [1156 0 R /XYZ 90 149.777 null]
+>> endobj
+1155 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F83 417 0 R /F8 344 0 R /F1 1170 0 R /F10 1171 0 R /F13 1172 0 R /F7 1173 0 R /F11 322 0 R /F23 244 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1194 0 obj <<
+/Length 1197      
+/Filter /FlateDecode
+>>
+stream
+x��X�r�6��+�+9A H��]Ǚ��Lj�+;��)HB�W at 2���2�b)v�Yd�H��s_$v�v^O^�'��;	JB:�`'
+	b�8�s��boJ0�n��"]�U~��K�.rq'Syv��*�V��l�)e�}��Mc�W|ťGb��;���
��n~9y5�|���
��e�|�d���
v�p����Obg�wN@}�͝��_|��#
2����.��w�H�/�2k��pz{�
�#!
+�ؙR����-�l��A��3W�'�͔g@�Zv����}��b�lR8n1��G�L�p�ȉN(8
+F@�)	P�9_�]n�ϴ]�V�̛��w
�n'��$-�//���,�M���`�BoЃ�6�!�	9@���L[�Q�~�s�9����\��Ъ]h2!ˮ�O��o;Y�4�U�ж|i.!�,��\IϏ\^����m�Bl� �.bI�����ۍḫ1N�I��(�� ��*�V�]'��F�9�_RD<�rz���3%��"0<
� 
%4B��sަ"�C�7������àX�� 1v�C:c�U:WսQ�N����K���=�Z����_nӅ���j�7
������>Se)r��.SeT�KJ�-��4��v\��?���vH׬���4 ���H�QD(�V�yozYe]1�-�������[���a.ּ�2
J�JV�
�U��ʼ�׷Ӝ��q�r:aǓ�+���T5�O�Ԇ<УY�&��y?@$�N0<&��S�(yj���4}��Y�
������,��䧘zzȃQ����X��\K�4�T��9yv<�x�cB����H�/����
������bw^�
lT[�e+��
ri[=;*�?�͡�2���f�Rj�	�s}��g�o4u�
:7ǹ>(Q�W�b���E#���=y(b�\�R�[��#�C�$��	"D#��* �z�H�~�	‰J
��(
DF�'�p�v
�� �
���1ڡ����
@�"���~����ob�3	��*�1�a�؏J�ch�$�i�|Lb	bl�}୞D ��e?{vF�s����
�Ϳ�rݥkk�w�+����[7\��1�Z�ߤe�ǵ��lv14Q�,2�|�y�r
�~��ҙ�8H�!�=�����f��v��u��%������+�$���fTTR�A<
��Cg�36�Ei��
+"�Y
+�
+endstream
+endobj
+1193 0 obj <<
+/Type /Page
+/Contents 1194 0 R
+/Resources 1192 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1208 0 R
+/Annots [ 1153 0 R 1174 0 R 1175 0 R 1176 0 R 1177 0 R 1178 0 R 1179 0 R 1180 0 R 1181 0 R 1182 0 R 1183 0 R 1184 0 R 1185 0 R 1186 0 R 1187 0 R 1188 0 R 1189 0 R 1191 0 R ]
+>> endobj
+1153 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 697.247 198.363 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System_a392557cee71bc7b2eb23f07a9d788062) >>
+>> endobj
+1174 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 658.393 215.13 669.297]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System_a2da6d6ce1ce4057b0332826381042d4d) >>
+>> endobj
+1175 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 619.539 201.302 630.443]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System_a6b7400f7e25b1bb473b2fc16c0c90b32) >>
+>> endobj
+1176 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.696 537.092 374.148 547.996]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
+>> endobj
+1177 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [212.419 525.137 262.551 536.041]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
+>> endobj
+1178 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 368.522 157.417 379.426]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_a0b1d26f53dd99cfe4e2f8a4fc3e8b5d3) >>
+>> endobj
+1179 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.232 368.522 238.482 379.426]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1180 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.135 368.522 327.876 379.426]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gaccd1fa9f287c6fe48bd8dfd920a5397b) >>
+>> endobj
+1181 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.454 368.522 442.704 379.426]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1182 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 329.668 191.16 340.572]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1183 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 329.668 252.31 340.572]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_ae62d06b1c82e9d9f4f12bbb3c6f4bcae) >>
+>> endobj
+1184 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 290.813 191.16 301.717]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1185 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 290.813 257.849 301.717]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_a148544cb9ef5bf6b9a60ee56655bff26) >>
+>> endobj
+1186 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 251.959 185.651 262.863]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gaccd1fa9f287c6fe48bd8dfd920a5397b) >>
+>> endobj
+1187 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.149 251.959 205.855 262.863]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_adc27929d7731cdc3beeba475147e3127) >>
+>> endobj
+1188 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 213.105 215.13 224.009]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_a1112ff3331d87019a2df0fb9a83cfeb8) >>
+>> endobj
+1189 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 174.251 201.302 185.155]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_a4738abd11cb0fdcb233ed4f18c874d56) >>
+>> endobj
+1191 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1195 0 obj <<
+/D [1193 0 R /XYZ 90 757.935 null]
+>> endobj
+1196 0 obj <<
+/D [1193 0 R /XYZ 90 716.221 null]
+>> endobj
+1197 0 obj <<
+/D [1193 0 R /XYZ 90 716.221 null]
+>> endobj
+1198 0 obj <<
+/D [1193 0 R /XYZ 90 677.486 null]
+>> endobj
+1199 0 obj <<
+/D [1193 0 R /XYZ 90 638.632 null]
+>> endobj
+1200 0 obj <<
+/D [1193 0 R /XYZ 90 582.219 null]
+>> endobj
+551 0 obj <<
+/D [1193 0 R /XYZ 90 474.944 null]
+>> endobj
+98 0 obj <<
+/D [1193 0 R /XYZ 90 468.344 null]
+>> endobj
+1201 0 obj <<
+/D [1193 0 R /XYZ 90 387.496 null]
+>> endobj
+1202 0 obj <<
+/D [1193 0 R /XYZ 90 387.496 null]
+>> endobj
+1203 0 obj <<
+/D [1193 0 R /XYZ 90 348.761 null]
+>> endobj
+1204 0 obj <<
+/D [1193 0 R /XYZ 90 309.907 null]
+>> endobj
+1205 0 obj <<
+/D [1193 0 R /XYZ 90 271.052 null]
+>> endobj
+1206 0 obj <<
+/D [1193 0 R /XYZ 90 232.198 null]
+>> endobj
+1207 0 obj <<
+/D [1193 0 R /XYZ 90 193.344 null]
+>> endobj
+1192 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F83 417 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1218 0 obj <<
+/Length 1123      
+/Filter /FlateDecode
+>>
+stream
+x��WKs�6��W�Vr�� ���=�~d�63����� �)_ɨ��Y %*����L������ ��N~�OfW!A1�����ŜQ4_�;�
�SJq*�r�����A��Xd�R	�xvv^u�DZ4��Ǻ��;e�8癨k=��k�\9�H$��A�
���ד����9�^=q�q�䓻��`������r�3���|��g��<L>\%��\�B6"��J�w!�D�U��Eg��{��2{~���g���B��܊,m
��4�������ԣ�yS�M�O2i�x��̓ԃ���CGâ6���t��
@7�4
��� /S����[h�}/�Kq�c__�1~(�N��e��(`�Av���,�`j!�W���
+~����k����&s�U���,��_Z['7�d���
�f���T��\[�2?p��̲�e�٦�F/��2���^ a��I��8_:B��R
s�:~��|L���������H]5
.1�1L-*��e�&��;�/���U[$��dF
03
�`~20��[P���{�	��HkN��	��
���|
���r-ڬه�M�"�O2���m����a��+���c�R�ɀ�7�
mj̈́���Y@ ul�ҩ21p
�
+�6�:I�Ūͫ���F6�*�U!��f�c at H�Bdz�\/td�?�8W �=a#o�S�!�+�ӈ���N(�4����!
�	��G�r������6E~?� e�	���?�=Sy8�Sp�@��v�ƻxe&^am��
1��3t{�u�鎽�]�S���
|��3X��_��B�:��_���I����ۣ9䲴�}+�W��8���䤯T�B�dz�No��]����?����p@�K]�E���ť�
}���&�ځ���� �b,���|��鴛�T�~��`���#��v/���%���z�R�B)9|�<��S�d�S
 
p
P�)�c��ac���5�Wfjɥ�i����>�ߢشbcD�ѕ�uy�Y�����s���(Z[�;pu�S��T`;�@6O�[)
J��
��A��.���[6
��:�Ͷ�-Nj�i�p�̪*�}ˬ�
+

��3$��TR�R� �
	�4�3����nL�c�����
+endstream
+endobj
+1217 0 obj <<
+/Type /Page
+/Contents 1218 0 R
+/Resources 1216 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1208 0 R
+/Annots [ 1190 0 R 1209 0 R 1210 0 R 1211 0 R 1212 0 R 1213 0 R 1214 0 R 1215 0 R ]
+>> endobj
+1190 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [302.839 695.563 346.346 706.467]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
+>> endobj
+1209 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 465.533 191.737 476.437]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System_a8be9b5793c5bcbd09cbe45d5def529d0) >>
+>> endobj
+1210 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 426.679 215.13 437.583]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System_aad362521f7fba585112f1a2a5aea3d96) >>
+>> endobj
+1211 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 387.825 201.302 398.729]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System_af2e1b75d9c8484321bfc25bb122970b7) >>
+>> endobj
+1212 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.664 305.378 352.491 316.282]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+1213 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.82 293.423 221.326 304.327]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
+>> endobj
+1214 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 136.808 219.384 147.712]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Domain__Error__Exception_a3d2371e510d8b88b2660a631d6857953) >>
+>> endobj
+1215 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1219 0 obj <<
+/D [1217 0 R /XYZ 90 757.935 null]
+>> endobj
+1220 0 obj <<
+/D [1217 0 R /XYZ 90 733.028 null]
+>> endobj
+552 0 obj <<
+/D [1217 0 R /XYZ 90 571.955 null]
+>> endobj
+102 0 obj <<
+/D [1217 0 R /XYZ 90 565.355 null]
+>> endobj
+1221 0 obj <<
+/D [1217 0 R /XYZ 90 484.507 null]
+>> endobj
+1222 0 obj <<
+/D [1217 0 R /XYZ 90 484.507 null]
+>> endobj
+1223 0 obj <<
+/D [1217 0 R /XYZ 90 445.772 null]
+>> endobj
+1224 0 obj <<
+/D [1217 0 R /XYZ 90 406.918 null]
+>> endobj
+1225 0 obj <<
+/D [1217 0 R /XYZ 90 350.505 null]
+>> endobj
+553 0 obj <<
+/D [1217 0 R /XYZ 90 243.23 null]
+>> endobj
+106 0 obj <<
+/D [1217 0 R /XYZ 90 236.63 null]
+>> endobj
+1226 0 obj <<
+/D [1217 0 R /XYZ 90 155.782 null]
+>> endobj
+1227 0 obj <<
+/D [1217 0 R /XYZ 90 155.782 null]
+>> endobj
+1216 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F83 417 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1254 0 obj <<
+/Length 1202      
+/Filter /FlateDecode
+>>
+stream
+x��X�n�6}�W�P�$%꒷v7Yl�
l�)Y�L;jeI��u��
��|�oIc,�	"1���33�3s��a��h0�����4��3�:)v� F�3�8.���'c��r��uU���D�q�?I.WWWD)$o+���a�]��F?މ��
I\Qf̄I��!���nף��q`�t~Y��9�|��;�u0
+��Yv��NH�[8��_��
h�p��{������y!&:����d^�yU���7,ڰ�
��(Sm���LtS��2�h�����;��</�����
R��)������Y���b.ʖw!tCS
d��[OkH�
�.7/3��
b*��]*����<��e^���#ƴW
	E�D(
�/C,5�=Rʶg=�LA��q|��7�AA�s�b��r�5�@
!(e�*4}�#I�
�$�?�UE^����+/b�y���l��u�U��b����ܖ��"b���x*�L��,�O��Y���&�;1�TPE���i#g&�zrz��#/����u�ٝi�1��Kv�����I �(T���C
+D�(
���D��6czY�U�
���vA���� ^�u
I�����	����k)��ԁ�pzY����O�7eF�
���k���sSҒ`�uє���zWb���Q-��y$�(d�+�xW��* �Fe9���ؘ�jѷ�!]����=HB�:	c����I���
h4��u�o���ڍ��xu���[�0�5���Ǡ8C���㍠�������w�J�i��t�&���d1�ߔ�`O�p�
�˾��y�7M�SȒ���d�n��>��� ��H(��.�h =�&�����f]��]7��+1$eo��N�I)
�4?��^d���;�!��N���>�U%�Qf����z<�)�	8W

�x�������:j$��������#0u���p��>hz
�=9��͆�+g�
hI
@.%��
��zb�C���ۡ�B�M���/�
0b�
?#]���c��J�8@�Ƨ��~�l'�0�^�Q���\ן����;FI�M���lE	�Qr��Vw��G(�����b)�ݻ�/�N�0k^�ʼn~��oO����݌�7/g
>3�>�C�Z���o��?x���ϼ\�S�b^�0��{S��(:��`�^����ñO�(r��),bId�}n��j8\.�(kТ�k��vX��🧫��X���h�Jv�8~E(���ǰ�dQ^��u��e
H�Y�
&
+endstream
+endobj
+1253 0 obj <<
+/Type /Page
+/Contents 1254 0 R
+/Resources 1252 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1208 0 R
+/Annots [ 1228 0 R 1229 0 R 1230 0 R 1231 0 R 1232 0 R 1233 0 R 1234 0 R 1235 0 R 1236 0 R 1237 0 R 1238 0 R 1239 0 R 1240 0 R 1241 0 R 1242 0 R 1243 0 R 1244 0 R 1245 0 R 1246 0 R 1247 0 R 1248 0 R 1249 0 R 1251 0 R ]
+>> endobj
+1228 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 538.948 180.391 549.852]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ga464c2bc94f19f4509ffedb8b7b60439a) >>
+>> endobj
+1229 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.889 538.948 200.037 549.852]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_a6bc9034f4ee160b652dea1e7491d9401) >>
+>> endobj
+1230 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 500.094 191.16 510.998]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1231 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 500.094 263.777 510.998]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_a48d809046b22a739fd5517edad4ff203) >>
+>> endobj
+1232 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 461.613 159.927 472.144]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1233 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.425 461.613 189.845 472.144]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_acdcf46a226e15d398fe41d10873779ca) >>
+>> endobj
+1234 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 422.385 215.13 433.289]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_ad96733e3e3c9087e06a052e5af198ba6) >>
+>> endobj
+1235 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 383.531 201.302 394.435]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_ace05db6f6b402898007ea5bf6ea4a831) >>
+>> endobj
+1236 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 302.769 179.254 313.673]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+1237 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.752 302.769 235.981 313.673]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_a05c97a4f4fc4ddf12b6582b46dc78c1c) >>
+>> endobj
+1238 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.797 302.769 317.046 313.673]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1239 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.949 302.769 372.966 313.673]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1240 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 263.914 179.254 274.818]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+1241 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.752 263.914 196.689 274.818]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_a32f03a57929a179098fc098b1e848d13) >>
+>> endobj
+1242 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.504 263.914 277.754 274.818]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1243 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 225.06 179.254 235.964]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+1244 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.752 225.06 202.228 235.964]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_a0ba2ee1968e041e2fe2863cdc8a70436) >>
+>> endobj
+1245 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.044 225.06 283.293 235.964]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1246 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.196 225.06 339.213 235.964]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1247 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 186.206 179.254 197.11]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+1248 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.752 186.206 194.467 197.11]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_ac47942ccd3c17f5253701494570fc0b6) >>
+>> endobj
+1249 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.283 186.206 275.532 197.11]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1251 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1255 0 obj <<
+/D [1253 0 R /XYZ 90 757.935 null]
+>> endobj
+1256 0 obj <<
+/D [1253 0 R /XYZ 90 733.028 null]
+>> endobj
+554 0 obj <<
+/D [1253 0 R /XYZ 90 645.37 null]
+>> endobj
+110 0 obj <<
+/D [1253 0 R /XYZ 90 638.77 null]
+>> endobj
+1257 0 obj <<
+/D [1253 0 R /XYZ 90 557.922 null]
+>> endobj
+1258 0 obj <<
+/D [1253 0 R /XYZ 90 557.922 null]
+>> endobj
+1259 0 obj <<
+/D [1253 0 R /XYZ 90 519.187 null]
+>> endobj
+1260 0 obj <<
+/D [1253 0 R /XYZ 90 441.479 null]
+>> endobj
+1261 0 obj <<
+/D [1253 0 R /XYZ 90 402.624 null]
+>> endobj
+1262 0 obj <<
+/D [1253 0 R /XYZ 90 321.742 null]
+>> endobj
+1252 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F83 417 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1271 0 obj <<
+/Length 1134      
+/Filter /FlateDecode
+>>
+stream
+x��W]s�6}���0Sd}��v7�4ݝi��S��,;����M}/H`���۝�t�OH��J��{%�l
�\�~\��v"I*��ډ�H�%�r�ܺ#B<�`��2����,��'���C�>�X?/W*W:�
��T`�mW�iި��
	]�'
+��0
+]���b9�sF`�!�"@N����cg��
�X:��j�p��9g���1P��G1�.�w���L��ߩ*�iY�E�lj~)�'���#�#�荙�����4u��I��^Y�ym�
IVT;��Ƒ�3��7�5|�]%ݤ���O��� ـeP�
���̹mM�3�
L�1���
+�"�
+�
+w������� HD�@pG��$ �� ��q�� �
�g8 @�0_�5����<L�Xˌ��
F�D��h��QY\���!]��*��vc�YG=g��4�P~t��eg�r�0!�2|�
m<�a���y���DP$l,��$c�p�4���H

+$I��@�X�� �&o
��Ø&) 0�P`���j�_�b�A�MDGkR�ݦ���Ѽ�лOI �/r|P��7���:��'�۠��v(�Lk��˨3�O��CX�8�
Ѐ�'�ւm�l�q��s��<X
�
\
N��(��VG��]^�[u�u�{o�}
vL�@$왱|�&Y���	8E�E8v	�/��i
� �DC�ё��<ηm�
�5�3֭�|A������qFr���"�I
+�5~�,��*l�G�f�j�
��H
�Uѐ:<���L@�P�%���f2hX�~[Ș��S�-6��bW��TmZŔdHI�K�%X���*�� �V����N7in6Q�G��<"\88s�h�C���DUƉ��k�@�e�Ʋ�?�U�s�NW$�
+]�r�b��h�
d�X��W�/B1�D����JV�Q��k+�֊u��1<Jp�,Y�V�&�w�3�K�;	�� :\\�;	.�b�����~#@��Th��M�:���}j ��|��7��Oy��ڃ�N��_�UJ�	��8?��.�L�ѱI<��o�M�hTbN���(�p��ϳ�C�&��������|���QR�]�����,����4E*��{�m
�Lj���H�`�}7�9n�
��!�
�
�
+endstream
+endobj
+1270 0 obj <<
+/Type /Page
+/Contents 1271 0 R
+/Resources 1269 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1208 0 R
+/Annots [ 1250 0 R 1268 0 R ]
+>> endobj
+1250 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [315.572 695.563 357.395 706.467]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+1268 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1272 0 obj <<
+/D [1270 0 R /XYZ 90 757.935 null]
+>> endobj
+1273 0 obj <<
+/D [1270 0 R /XYZ 90 733.028 null]
+>> endobj
+1274 0 obj <<
+/D [1270 0 R /XYZ 90 596.619 null]
+>> endobj
+1264 0 obj <<
+/D [1270 0 R /XYZ 90 574.307 null]
+>> endobj
+1275 0 obj <<
+/D [1270 0 R /XYZ 90 574.307 null]
+>> endobj
+1265 0 obj <<
+/D [1270 0 R /XYZ 90 445.274 null]
+>> endobj
+1276 0 obj <<
+/D [1270 0 R /XYZ 90 430.704 null]
+>> endobj
+1266 0 obj <<
+/D [1270 0 R /XYZ 90 293.507 null]
+>> endobj
+1277 0 obj <<
+/D [1270 0 R /XYZ 90 278.936 null]
+>> endobj
+1267 0 obj <<
+/D [1270 0 R /XYZ 90 151.941 null]
+>> endobj
+1269 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F88 819 0 R /F92 1105 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1286 0 obj <<
+/Length 1409      
+/Filter /FlateDecode
+>>
+stream
+x��W�r�8��+x�ʂ�\t�$N*��*c{NN�ES��

@���O
EJ�R��0'�T�~��u� �f�_�N�&8�P�8�\�� NIp�
+�B������\U���)�o�J�ץ�Q��_.߉Z��m��ŽnE5_P���e��}<k��$
E]؍���Q4�z�avv9�gF�

s<OP�xPT���8X��F,K�;cUe�[�?g��P(C8�P�(r��6oe�$
"��OG�\����
����E���~lm�Z˦�<}��#�X���1DŽ5�:�bʽ�@�MFG6
��0 P�q敬K��d��� ���<
��� �E�f���S��Z{+�

���]I%�v.{EE�g{�M��p`�
�a�O�

Y�0�
��(�K�~b��'kw{L�&)Jp[�'p���խ�ęR�v�sd�2�
�t���j攇w�
���rm
d,��ۦj6@�����Tk� �#�q�b=�P�pJl�Тn��`�]ɍ���z���s�C�
�
�P#�8aS�m^t��
ֻ@�1�L����z݈��i!�9˖�T�J�	�KmJ٪2[>@F	b<��8���7�\�������~��V�#��E�x#�EH��9����1h��e�;%Ff'���([��'�E��'J�� ��U
��cb;�>��
�����O�lE����kA�����,WM�U���o>����]�����zV��ec�.Vn�j�=�]7eiQ������XN�`�R�b�9:��O��
�g��z�|���?#J�V?���fd/}�!�0���#�<e_�Uz��o?�>&S��wD<.���ҴyX�IT7�$o��8��}{�)��
q �
]���0��{H���u�
ܑ��>��7qd�^D�
I��ȅ�F��t4/ �Vu��/A�{7}�;Y�\rG[Qm��G�y�{�7
C
x�訓@����
��8Ik�(#q�AY.Z�W�� [...]
$p�����,�Hp0N

�o�q
+��zs�����i�.�<C����4(�a������'����W�w^o�|�z���ڀ\�Oi�~��&�����$�����2dSo��
�߁�cfF�]��|8����m���ӻ�;Th��r��lO����p^��B at .��8�j���-\
�q�H`�k���
�@�I�mN��
+endstream
+endobj
+1285 0 obj <<
+/Type /Page
+/Contents 1286 0 R
+/Resources 1284 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1208 0 R
+/Annots [ 1278 0 R 1279 0 R 1280 0 R 1281 0 R 1282 0 R 1283 0 R ]
+>> endobj
+1278 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 312.112 190.054 323.016]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System_ab1265553cab293b2c77d31f57682ae2b) >>
+>> endobj
+1279 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 273.257 215.13 284.161]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System_a7695c9f42b5164da2b71e7a2b1382d06) >>
+>> endobj
+1280 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 234.403 201.302 245.307]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System_a58d5c27c8e3d638fc7d25ee54d04b08c) >>
+>> endobj
+1281 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [275.628 151.956 351.772 162.86]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
+>> endobj
+1282 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.82 140.001 219.642 150.905]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+1283 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1287 0 obj <<
+/D [1285 0 R /XYZ 90 757.935 null]
+>> endobj
+1288 0 obj <<
+/D [1285 0 R /XYZ 90 733.028 null]
+>> endobj
+1263 0 obj <<
+/D [1285 0 R /XYZ 90 599.458 null]
+>> endobj
+1289 0 obj <<
+/D [1285 0 R /XYZ 90 584.887 null]
+>> endobj
+555 0 obj <<
+/D [1285 0 R /XYZ 90 418.534 null]
+>> endobj
+114 0 obj <<
+/D [1285 0 R /XYZ 90 411.934 null]
+>> endobj
+1290 0 obj <<
+/D [1285 0 R /XYZ 90 331.085 null]
+>> endobj
+1291 0 obj <<
+/D [1285 0 R /XYZ 90 331.085 null]
+>> endobj
+1292 0 obj <<
+/D [1285 0 R /XYZ 90 292.351 null]
+>> endobj
+1293 0 obj <<
+/D [1285 0 R /XYZ 90 253.496 null]
+>> endobj
+1294 0 obj <<
+/D [1285 0 R /XYZ 90 197.083 null]
+>> endobj
+556 0 obj <<
+/D [1285 0 R /XYZ 90 89.809 null]
+>> endobj
+1284 0 obj <<
+/Font << /F70 275 0 R /F88 819 0 R /F92 1105 0 R /F56 243 0 R /F72 277 0 R /F77 334 0 R /F83 417 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1318 0 obj <<
+/Length 1306      
+/Filter /FlateDecode
+>>
+stream
+x��XKs�6��W�Vr&� ��C=�I쉛̤�zr<��d���TT��.�eZ�
�҃G$
�.����%h��
�6�.B�b
,@�9�	
+�9�h2C�%�z�B�UR.���
ĬL���/��q<�,�lz)rQ&uQ�CƉ�!K�J?^��(]9"O�b��
��w������c��r
���(]n����+D�GhӬZ"�y𛡛��wJq�9�'a
&?�I���v�GА���c��޵ ��)��x���d)ja�Xe۵�B�5�J:���zZɷ�}&S��X�[��<�e�W�����
����f�Pc�w�xg��\��/�v���]oM'nD�Ǖ8�Y�W�4߿N��I��!����W�ف�А��š6�Z��27����ե�Q���;[l#�
����ӆV-Ћ)C^�/@���~�wU���N�W��5��o�YF�
���g�2�lp��1v4�e��y;*(p��
�7��YRw
Q9Ǯy4 ���k��P���8���T��>
��T�~�
+�t>�{\	��=
��.�E!G^қh�Y(isT.:OQJ
��4�;4��y�I���e0rCe8���,Oj�~e�!�M]�|aV?ZR�RNg����'11Ѩԏ��N]����j�d�.�14L�6��>2Иb/O�+H�
+,�q��@��I]tV��Sim��9x�2�>߫�CA�2Hb>�
���z�
2���e� Yi�A�k�NJ�*�LUy�gU
��F�x����ֲ��7M���}! k�=���x]��朞��q۷�	�w�m>\�mq~{.tk��(ubb�B
��B�zD�p���S�����*{�L����
���;�V/wB ��Ǹ��̝'�	��nijnӘ���GQ'2���GQ��\mS���p&�{[������M�-is�-��
+�U�աU3/��P
�@�1��hk��	9R�wz��t��]DT߀�;IJ�͟��
޾��ОnwB���
W��Û"]/�.
��s�jiW��(��
|;q�3
o{�f�MA����$z�����@�$��B�ю+"
����3k�>ic�f��ܕw:7��m���܄G�
��'ƆTݦ�r0����q����]{ �ퟪ����g2���/�0	�Sg}͌T� (�G|<��Ȝob��Ԁ�y�Я_4
��U�f?T��'�b�,����6Wã$5���D��˹c<�5������o@�v,��
+^��n�m��+�F���A���l�Q`��P׫�h��lpZ�u.W%��h��FO�����vp0�itY��!�A�=�a{��W���
+�x�c�p
+endstream
+endobj
+1317 0 obj <<
+/Type /Page
+/Contents 1318 0 R
+/Resources 1316 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1208 0 R
+/Annots [ 1295 0 R 1296 0 R 1297 0 R 1298 0 R 1299 0 R 1300 0 R 1301 0 R 1302 0 R 1303 0 R 1304 0 R 1305 0 R 1306 0 R 1307 0 R 1308 0 R 1309 0 R 1310 0 R 1311 0 R 1312 0 R 1313 0 R 1314 0 R 1315 0 R ]
+>> endobj
+1295 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 641.931 203.633 652.835]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gae444adc8164dfda0378177ddab117095) >>
+>> endobj
+1296 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.131 641.931 223.279 652.835]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_af9bea7ee11ebcb0cecdd692bdb9db064) >>
+>> endobj
+1297 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 604.37 191.16 615.274]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1298 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 604.37 263.777 615.274]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_a49b4dd80b18b196615f00feb7c4c2276) >>
+>> endobj
+1299 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 567.182 159.927 577.712]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1300 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.425 567.182 189.845 577.712]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_a6039308885a8008bb3cf8533adc96d88) >>
+>> endobj
+1301 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 529.246 215.13 540.15]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_aa32ef5503c68b0c2ccbd8d69251ecfd7) >>
+>> endobj
+1302 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 491.684 201.302 502.588]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_ae846d01ef7cc5222216fcac8f2d255c9) >>
+>> endobj
+1303 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 412.796 202.497 423.7]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
+>> endobj
+1304 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.995 412.796 240.962 423.7]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_a27971df55a7b8e685f759f3001b0aef8) >>
+>> endobj
+1305 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.778 412.796 322.028 423.7]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1306 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 375.234 202.497 386.138]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
+>> endobj
+1307 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.995 375.234 244.818 386.138]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_a5037c7ed51734dd6cb0c14811401e100) >>
+>> endobj
+1308 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.633 375.234 325.883 386.138]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1309 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [335.786 375.234 381.803 386.138]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1310 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 337.673 202.497 348.577]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
+>> endobj
+1311 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.995 337.673 246.502 348.577]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_a14fa7f266812072de5d2cafb578f2146) >>
+>> endobj
+1312 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.317 337.673 327.567 348.577]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1313 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.47 337.673 383.487 348.577]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1314 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [323.681 256.454 388.747 267.358]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
+>> endobj
+1315 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1319 0 obj <<
+/D [1317 0 R /XYZ 90 757.935 null]
+>> endobj
+118 0 obj <<
+/D [1317 0 R /XYZ 90 733.028 null]
+>> endobj
+1320 0 obj <<
+/D [1317 0 R /XYZ 90 660.259 null]
+>> endobj
+1321 0 obj <<
+/D [1317 0 R /XYZ 90 660.259 null]
+>> endobj
+1322 0 obj <<
+/D [1317 0 R /XYZ 90 622.817 null]
+>> endobj
+1323 0 obj <<
+/D [1317 0 R /XYZ 90 547.693 null]
+>> endobj
+1324 0 obj <<
+/D [1317 0 R /XYZ 90 510.132 null]
+>> endobj
+1325 0 obj <<
+/D [1317 0 R /XYZ 90 431.124 null]
+>> endobj
+1326 0 obj <<
+/D [1317 0 R /XYZ 90 301.581 null]
+>> endobj
+1327 0 obj <<
+/D [1317 0 R /XYZ 90 183.187 null]
+>> endobj
+1328 0 obj <<
+/D [1317 0 R /XYZ 90 160.875 null]
+>> endobj
+1329 0 obj <<
+/D [1317 0 R /XYZ 90 160.875 null]
+>> endobj
+1316 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F83 417 0 R /F88 819 0 R /F92 1105 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1339 0 obj <<
+/Length 1237      
+/Filter /FlateDecode
+>>
+stream
+x��W�n�6}�W�2Ӽ�����&����6q�� Pd�a�[)i���w(R��(Ym��'�5�9sΐ����������"�N�"���z�D�	|�8%�z�ܺ#��c얱�⇲H���F��|T�z^�.��<\�\��.���sU�l��
��Ҹ���Zl����y"�0�������z����K�!�
<@�N��nﱳ��WF,
+�}�*s<��:7��g؆�_
+�ƞP�3��IDY�"�Z�F�axd��(��� �sc��k��s�
+�[[^p��戄
>����T1������Wnͳ~z�OEV� ע��HAmF�Voa�c�
#�x�}a�
\���h�@�R�J�u5��+���q�؎>~��R��;
�1�	l�������ǩX0�q
E\�i�E�R���Z&���s��2�N��j
�LԢ���w���i/@��\� s���/��iU�t��r 9�A>�̆Q��w���aL	PO��E�7����G�[ A�&��=i��[����|��x�O�aAI rf{ E`�q-�F�V�m���L���1����("��]N���d��O�n)n�6B1
+!��1��P�K9%gP���A#u
�M�B��#C
����i���,$0���N�
{Sz��d˱��U�5х'��`�&��E�ݬ�,�j�i:��9��gY�,�B3v_�+��	�NR�[:8
�O�!r�O�$�	sp��0c'$м;S�C��/�k����3�N
�G�v A�
D����M��?u�R
+,���\�HD��!
+
+5
+��
[�6E�d�ո
�}����n܎����I��ΰW�oU���ݶHS��w
�1M�j��C f�
�P�Qʇ�n
�0:�4~����7�{�s��Z��C��w[�����r�����7UG���|(�]�i5U��"�����yL��
~�(��N�M������
��^�
+���S;��]����Q޺z��	��E0�tW�֮@�"
���.�(�q���@L�jt�nH��)��t�I��Yde�|��:��Ԃy�&��������~��o!��5��m�����S�p�N;����V3�:ւ�
�&�YS�s(��VƉ}�K%�wZH��q����2�����!:��@#�E�@�Ӎ~���� ��x����.W��~�GI��\�
+�zY���%cV�"�Ͻ�be���A��ܣ�c���aa�V�aR!�
�h�
+endstream
+endobj
+1338 0 obj <<
+/Type /Page
+/Contents 1339 0 R
+/Resources 1337 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1346 0 R
+/Annots [ 1333 0 R 1336 0 R ]
+>> endobj
+1333 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 112.174 213.297 123.078]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System_a84738aa470464f9f3192817554d26d30) >>
+>> endobj
+1336 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1340 0 obj <<
+/D [1338 0 R /XYZ 90 757.935 null]
+>> endobj
+1331 0 obj <<
+/D [1338 0 R /XYZ 90 682.22 null]
+>> endobj
+1341 0 obj <<
+/D [1338 0 R /XYZ 90 667.665 null]
+>> endobj
+1332 0 obj <<
+/D [1338 0 R /XYZ 90 540.842 null]
+>> endobj
+1342 0 obj <<
+/D [1338 0 R /XYZ 90 526.287 null]
+>> endobj
+1330 0 obj <<
+/D [1338 0 R /XYZ 90 399.34 null]
+>> endobj
+1343 0 obj <<
+/D [1338 0 R /XYZ 90 384.785 null]
+>> endobj
+557 0 obj <<
+/D [1338 0 R /XYZ 90 218.617 null]
+>> endobj
+122 0 obj <<
+/D [1338 0 R /XYZ 90 211.963 null]
+>> endobj
+1344 0 obj <<
+/D [1338 0 R /XYZ 90 131.131 null]
+>> endobj
+1345 0 obj <<
+/D [1338 0 R /XYZ 90 131.131 null]
+>> endobj
+1337 0 obj <<
+/Font << /F70 275 0 R /F88 819 0 R /F56 243 0 R /F72 277 0 R /F92 1105 0 R /F77 334 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1354 0 obj <<
+/Length 1187      
+/Filter /FlateDecode
+>>
+stream
+x��W]s�6}�_�[a&�� ��77�=N�i��<ٙ
�k�,PId�_		�
o
�3}`p�{�=�\$�l
��~]�g1tR�F~�6N
+�8B ��Y�Ε� @؛#�[�#�*�ni�ɺ`7�𻓓��
���C�%�ק\�͎�r��{Fkɪқ��o
"�^�
U��Kˌz�(�7��/������3�0B��p
� ;�nv�:�z��� Hg�Z��Խp��?g���q�h'��ĉ� ��`�}��y��
��K"��c
!v�����[k�Q�{���6Dd���fWOW�_�!��B�o�]�;�����(�9
+A��%�
/m.�Mo��
7��KJ��GVJ�KR�'��Kks�'r���hH��$ @)A+p�sy˄��T����<�!�#s?���= )z
Fd5�zE>�Mo�L�J��#R��8���Q�X-<�

�
d���JŠ�v�Q�qfT�"1e!��,t��v ;=F:��ݖ�܎hI9���0vOK��J3i�3]�R�"k���
+�s�b}ޭ�^S��!fq2�{���7z-
2B Ŷq0@��񻦐LP��k�mpb��D���O���e�o�� �-��n���ڎ<(;�":
L
A��}����@W^�&�7UQTZ����!�
z2ƉL�U �Ot��_������E�"T�Z>|S��E�
+:���?ٓ
+��rN�%��k����`�#i�8�
>@]Z?57��܏twC-�gM��ÜO�
O��=��|�R5sc�m&���|�/}S�LS~����ɴZBG6� 0��1��K��$��:�?H=��ԏ+��k?zR����O��5S�R
�����:�t
+<B�KͣU��+��!��0L���0~r����9����
�^b(tm�,u	�i��z�j<�2�%���
Kܚk�8�׺����Β�
ZnG�Z,	�t��>LL;����R
���g�
+&��
��Uў�|���ˣ�h4�]�u�]��6��E/��{V��h���(Qg����]w��@�j6�V���;�Om~���c�y����y�0l+�3)�
�ڥ.��i�v�̾�,(���صY�Hʦ;^��6j᢯ E �ťw�j�%�6+&9��7ͧ?�W�pu��[)��b�߃L��d5L.�Xܗ�a�*5�
+}=�*�QUE ��3��
{c�9G��;%�7�/�
+endstream
+endobj
+1353 0 obj <<
+/Type /Page
+/Contents 1354 0 R
+/Resources 1352 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1346 0 R
+/Annots [ 1334 0 R 1335 0 R 1347 0 R 1348 0 R 1349 0 R 1350 0 R 1351 0 R ]
+>> endobj
+1334 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 719.912 215.13 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System_a183f982bd3198d2c455e51e7cedd4e33) >>
+>> endobj
+1335 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 681.058 201.302 691.962]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System_a4f9d506f39d5a65a2c2cec090a1578f0) >>
+>> endobj
+1347 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.169 598.611 392.556 609.515]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System) >>
+>> endobj
+1348 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.489 586.656 301.554 597.56]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
+>> endobj
+1349 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 430.041 234.059 440.945]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception_adf699afd1b4f9dbc15fd31424e9d15e7) >>
+>> endobj
+1350 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.627 190.98 246.21 201.884]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1IO_a2080ebe48063615d891b98ef65f2ca71) >>
+>> endobj
+1351 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1355 0 obj <<
+/D [1353 0 R /XYZ 90 757.935 null]
+>> endobj
+1356 0 obj <<
+/D [1353 0 R /XYZ 90 733.028 null]
+>> endobj
+1357 0 obj <<
+/D [1353 0 R /XYZ 90 700.151 null]
+>> endobj
+1358 0 obj <<
+/D [1353 0 R /XYZ 90 643.738 null]
+>> endobj
+558 0 obj <<
+/D [1353 0 R /XYZ 90 536.463 null]
+>> endobj
+126 0 obj <<
+/D [1353 0 R /XYZ 90 529.863 null]
+>> endobj
+1359 0 obj <<
+/D [1353 0 R /XYZ 90 449.015 null]
+>> endobj
+1360 0 obj <<
+/D [1353 0 R /XYZ 90 449.015 null]
+>> endobj
+1361 0 obj <<
+/D [1353 0 R /XYZ 90 392.721 null]
+>> endobj
+559 0 obj <<
+/D [1353 0 R /XYZ 90 297.402 null]
+>> endobj
+130 0 obj <<
+/D [1353 0 R /XYZ 90 290.802 null]
+>> endobj
+1362 0 obj <<
+/D [1353 0 R /XYZ 90 209.954 null]
+>> endobj
+1363 0 obj <<
+/D [1353 0 R /XYZ 90 141.705 null]
+>> endobj
+1352 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F83 417 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1378 0 obj <<
+/Length 1319      
+/Filter /FlateDecode
+>>
+stream
+x��W[s�6~�W���L�l��[�K'�f6MH_�
#@�[cS����=�,���d��N_��
�s��\�����_z?�z�� [�|�[��a+�	b�X���l�H��	��^s���u��/�L�qO$����'�.���JJ��v&�W_�b]�Y��)��E��\?>����D:N?dԷ��y
���F��z����`
+\fMW��Wl�������֦�ZY
u�7�
{���IL�E�g[L>�5�;���K�w�e:ݺ}�M˕H
^}A�z����"DjU�����)<:�o���

�
�|�̛���F��8ߑ~�
;}�{Fx3��
��OQ�*�*���3�G-�⃄�x��ӢC[�u]0b�	AcFv|�g�e�f�
�V
����YK1��R��/S��E*�I�T�� 
��ogG���C���I`�h���|@!�F�YG�U
2�E��ݑ��������8��w�g�V�ͳ:���*�:�-��_"o*�C���@U=��؃��(�|Hd�LA�+j��+Q��o���
Q����یk�mAb�ald��Y)���d<</�dּ4T�.�-;��۩\[V��w�ȧ�f!����i��Y��ZӮ����l*P!;pM)��|iEG������t�c���8�3!Uu�}�x�
O��C�]��g�8]3���2�U5�(�b(�OF��TF��6�t�W��8
?�� �
���Z�i?�q
|����뗅H��1;��j��y�$�C��iJP�a
�j��V�0�JY[��`8�|Fp�7��7�W��i���
"�e��rذ�f|�Ȑ���07y7���E�x����<�Z3�A'��Q���.����r�T{�^ON盉	E�IՃ��%K.�m롉Җ��{��	���N��ͤ�
A`���)�c�j�
���*d9- �	!6:��U�n�0 �\D���-�Bv)
+
'&\�"�ʸ�_�]Y�|��*�����\�`�۸�߬rh�\�Z������
^��

��@g�nҥ��f
{T��f���@�=
L,b+��
(�b4���pw��{�s^D��*���C��e\�&
�gZ'���[z,W�
��ۈ�T=���q�
�D�á�~�S
+����.N��z�Ig'��G\���\�|�
D��`���>�*���y�nܐS��߄���E���.w�
+K!�_

��Ic�/��]D�����/jU7)�U�%����S.�cv��xZ��i�՛���i@�!jj!�Gah�T�i��_��; )
bas]�z8l64�Q��k��b�^'��Q��B`͕����L
+�������b�. ����A�uĸ]
+endstream
+endobj
+1377 0 obj <<
+/Type /Page
+/Contents 1378 0 R
+/Resources 1376 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1346 0 R
+/Annots [ 1365 0 R 1366 0 R 1367 0 R 1385 0 R 1368 0 R 1369 0 R 1386 0 R 1370 0 R 1387 0 R 1371 0 R 1375 0 R ]
+>> endobj
+1365 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 339.834 215.509 350.738]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception_a5b5e4c1fe8b8af4696ac7cc839fb3b40) >>
+>> endobj
+1366 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.625 138.007 408.678 148.911]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
+>> endobj
+1367 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.987 138.007 513.996 148.911]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
+>> endobj
+1385 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 126.052 245.674 136.956]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
+>> endobj
+1368 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.591 126.052 465.892 136.956]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
+>> endobj
+1369 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [478.809 126.052 513.996 136.956]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
+>> endobj
+1386 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 114.097 272.713 125.001]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
+>> endobj
+1370 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.772 114.097 513.996 125.001]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
+>> endobj
+1387 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 102.142 116.46 113.046]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
+>> endobj
+1371 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.326 102.142 358.55 113.046]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
+>> endobj
+1375 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1379 0 obj <<
+/D [1377 0 R /XYZ 90 757.935 null]
+>> endobj
+1380 0 obj <<
+/D [1377 0 R /XYZ 90 733.028 null]
+>> endobj
+1364 0 obj <<
+/D [1377 0 R /XYZ 90 716.221 null]
+>> endobj
+1381 0 obj <<
+/D [1377 0 R /XYZ 90 716.221 null]
+>> endobj
+560 0 obj <<
+/D [1377 0 R /XYZ 90 446.256 null]
+>> endobj
+134 0 obj <<
+/D [1377 0 R /XYZ 90 439.656 null]
+>> endobj
+1382 0 obj <<
+/D [1377 0 R /XYZ 90 358.807 null]
+>> endobj
+1383 0 obj <<
+/D [1377 0 R /XYZ 90 358.807 null]
+>> endobj
+1384 0 obj <<
+/D [1377 0 R /XYZ 90 302.514 null]
+>> endobj
+614 0 obj <<
+/D [1377 0 R /XYZ 90 207.194 null]
+>> endobj
+138 0 obj <<
+/D [1377 0 R /XYZ 90 200.594 null]
+>> endobj
+1376 0 obj <<
+/Font << /F70 275 0 R /F88 819 0 R /F92 1105 0 R /F56 243 0 R /F77 334 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1416 0 obj <<
+/Length 1471      
+/Filter /FlateDecode
+>>
+stream
+x��YYs�6~ׯ�[ə
+�A��[.g�63i��%�p 
+���Py�u}H������b�"���o���[

[�G�oG�k[!
+=�Y�s+Ė��)�ng�'�`DBgL0��J���VEz���RDi2-Eyu�s�KQF��X�	lYUI�G/
+9��1���Θrl�HEU��r.��<���#̷���r�v��v������"�B�G>�V��>}��
~ka����kWe�K�O���/#|�8���6�}3M�X��NfSP���n��V�N��{ˆ�\XcJ��	�L)��m(Ƙ�G֧1_n�L���kJ���
�ϟ1����O�eD܃
��Dg��[���ne�K�1qQ����n�� [/��+�^s%xr
�
9^�(�a�VB�L*�h�C��"���"
ya��~�� (�
�� �c�<�(3�'yZ�"��;Hϒ�Je�ѐ�:����� �
��	�����x4|Z��$���+�u(��d�GD��Q�w�]̚�>w@
�Ey��aK%��o�9�7�?�M4ʒ�9����-����P%�p
�d�B�@
�r
+7 �h���i�ɉ��@� �<��������C`�V}}-
�m�P)Bmm�̹�:g�6�HP���!�6���e�/�{[Tq�D�&[=��L��[��y�h]˙�M�Z��H��v[�=��S�NB���?b��@[
<*"u1X��\��
�rp��.��χ�㝠�#.�E*E~��I�)��1]��;=��ue#O�dޥ�ɘ"O
%��o���(�=�Co����"��nI8(5��
d�G�`�K� ��c�@�i�,�b!sY4U\�U�(��!6:
�����!�H�?�n�B?L�Ad�V�
��u��PsϞ�"
��
��a˜��1�pDp�Ǹ�������KY�$�J�KY�e��M_��$�������p��k���om�3�����a1�*U�B�6�*u�s�����<:*��TO��+-W�RR�S/Emщ��%���M���˩=UMO����e��,2�@
V^-�Q>��!�@D$b�n�v����q�Oک��ov9�el9kW�ˤ������|�������P�nϡDgF��:
����� E�d��]ZG��x=�S�!̍��R�
��8�"M
e�]�u(DRy5Գ���8��
+���>�0x������3r��9�9��{�fd[�։6�uH�
+�!�Ƨo�,��:
`�c/��hۢ]P�Q����Fg
b��Y�s�}�=誇ƾ4M���g}��Ź��6x b6�r�h��0�@E��@�{�����

+}�A�!�|��ޫ�Q�kn�v
q�q�o�n��~,�E#F�u<��t�
G?V�����6`�yӝ_U��&�\'-P
Q�C�g �FvT�]��]���nH�%
�����WW����
�+��ɪDI=Y���n���#���g��([E 1=1
.�1�v���� @�
��
+endstream
+endobj
+1415 0 obj <<
+/Type /Page
+/Contents 1416 0 R
+/Resources 1414 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1346 0 R
+/Annots [ 1372 0 R 1373 0 R 1374 0 R 1388 0 R 1389 0 R 1390 0 R 1391 0 R 1392 0 R 1393 0 R 1394 0 R 1395 0 R 1396 0 R 1397 0 R 1398 0 R 1399 0 R 1400 0 R 1401 0 R 1402 0 R 1403 0 R 1404 0 R 1405 0 R 1406 0 R 1407 0 R 1408 0 R 1409 0 R 1410 0 R 1413 0 R ]
+>> endobj
+1372 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 697.247 191.16 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1373 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 697.247 210.258 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_ad3d011ec5cd66a3e9bf71053d6b818b5) >>
+>> endobj
+1374 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.074 697.247 291.323 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1388 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 658.393 191.16 669.297]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1389 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 658.393 225.192 669.297]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_a3866453e844ec10e038e9ae2b336159d) >>
+>> endobj
+1390 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.007 658.393 306.257 669.297]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1391 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 619.539 191.16 630.443]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1392 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 619.539 215.239 630.443]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_aaf751a048f4895ec1ca6eb753a196908) >>
+>> endobj
+1393 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.055 619.539 265.072 630.443]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1394 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 580.684 191.16 591.588]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1395 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 580.684 245.675 591.588]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_a2a76c9ab182bf0cbd015cea16a24c635) >>
+>> endobj
+1396 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.384 541.83 224.634 552.734]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1397 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.132 541.83 248.703 552.734]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_af5d9b1e4dec7faf038dd87f36773252b) >>
+>> endobj
+1398 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 502.976 215.13 513.88]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_a0c0b91260da0f4729a335faa3747c397) >>
+>> endobj
+1399 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 464.122 201.302 475.025]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_a491b55e596bb0dc1e707355a1b2169b5) >>
+>> endobj
+1400 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.383 425.641 205.147 436.171]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_a94678c0499f89a49dc9118ef12f161b8) >>
+>> endobj
+1401 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.383 386.413 313.052 397.317]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_a4cf0e5fe5ff7c8b23e809eb6ea8f9f2c) >>
+>> endobj
+1402 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.69 303.966 351.94 314.87]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1403 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.302 292.011 273.728 302.915]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
+>> endobj
+1404 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.238 292.011 405.493 302.915]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
+>> endobj
+1405 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.003 292.011 511.506 302.915]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
+>> endobj
+1406 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 280.056 213.575 290.96]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
+>> endobj
+1407 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.564 280.056 354.137 290.96]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
+>> endobj
+1408 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [121.93 160.676 305.978 171.58]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1409 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 105.817 240.166 116.721]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_ab531066aa6dba222c8c61a8c3978257d) >>
+>> endobj
+1410 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.981 105.817 289.998 116.721]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1413 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1417 0 obj <<
+/D [1415 0 R /XYZ 90 757.935 null]
+>> endobj
+1418 0 obj <<
+/D [1415 0 R /XYZ 90 716.221 null]
+>> endobj
+1419 0 obj <<
+/D [1415 0 R /XYZ 90 716.221 null]
+>> endobj
+1420 0 obj <<
+/D [1415 0 R /XYZ 90 677.486 null]
+>> endobj
+1421 0 obj <<
+/D [1415 0 R /XYZ 90 638.632 null]
+>> endobj
+1422 0 obj <<
+/D [1415 0 R /XYZ 90 599.778 null]
+>> endobj
+1423 0 obj <<
+/D [1415 0 R /XYZ 90 560.923 null]
+>> endobj
+1424 0 obj <<
+/D [1415 0 R /XYZ 90 522.069 null]
+>> endobj
+1425 0 obj <<
+/D [1415 0 R /XYZ 90 483.215 null]
+>> endobj
+1426 0 obj <<
+/D [1415 0 R /XYZ 90 444.361 null]
+>> endobj
+1428 0 obj <<
+/D [1415 0 R /XYZ 90 405.506 null]
+>> endobj
+1429 0 obj <<
+/D [1415 0 R /XYZ 90 349.093 null]
+>> endobj
+615 0 obj <<
+/D [1415 0 R /XYZ 90 229.863 null]
+>> endobj
+142 0 obj <<
+/D [1415 0 R /XYZ 90 223.263 null]
+>> endobj
+1430 0 obj <<
+/D [1415 0 R /XYZ 90 124.791 null]
+>> endobj
+1431 0 obj <<
+/D [1415 0 R /XYZ 90 124.791 null]
+>> endobj
+1414 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F83 417 0 R /F95 1427 0 R /F93 1139 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1453 0 obj <<
+/Length 1135      
+/Filter /FlateDecode
+>>
+stream
+x��XM��8��W�P��%��-�$��n���i&�b���b�
+<
���`3����8��B��~嗢3������`�)@ �#
�S!0
)�`<7F� w�B�2�x�,�͜OE<ɳ;���şY�c1���.
^UYYL.�4��F�pwH(r>�qU��5�y�<�9�?�W�����,=D k�h ��d1����T޿zQ�z��ē�
|�5 at 6�CW
5e[QcĠ� ��!1��B�;���1��]
��!��|(y���"D�������Z�߰�oE�{��U��PF�|!��
�I at M ׼^��(�r����p���Ks����'��r�kv͘�9�tE3��]�����M�A�?�-�Y���|��Qș���*˧�~�1�2m��*xh���8�"�B0�	�Ԣ�M���yR����Ev��Yռ�1�׹���`E�d����#J9
+�Q��j�Rd���6O^�:��K^%"[�Ҿ2�cI2|���1�n���:���=Cv���SQ.z��1�#S�� 2��𜖉NBqݮ����5���Z�ό\ĭ;gZ��2�K�ϺeDy���=�ʓ��)@��yz.�?c�ӽ��%�Xj_'�l�<HC���:z2���̶�DSQ
�M�W _�9Yݤ����8wyr`
�N���/"Ϧ��]�%��|qǭ��VE��xz:
�_M.w�>P��
D�x����>���Ŋ�����OYQ�}ʨUog+iJA+]�)��٥lY�Bo�=B$;;d<{��َ@�4�b��
+��E����c�B����

��؎?[c��̜��d.��T��U��ް+�r]3R�����!u�ȃ��r��C)��c ����{���4
+D6���`?�US��u�܉)h^�ݯ�^s�C��
��^���	r'g��y0@�[g�g Ξ���lO��P�f�������F���~�i>�0rk�W�RS�?�|S}��`�ߦ�um��{Y��j��`
��lϬ�/E�E��>M��w��o.���
_�b�n�����\t'7yP�*UAW����Λ�f��4�?�d+@"_R�����z��IWE�0�G�e>z�K:+X�%h�E{�[�B;"�c�C

��M�Y!'.��p�TI�����
+endstream
+endobj
+1452 0 obj <<
+/Type /Page
+/Contents 1453 0 R
+/Resources 1451 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1346 0 R
+/Annots [ 1411 0 R 1412 0 R 1432 0 R 1433 0 R 1434 0 R 1435 0 R 1436 0 R 1437 0 R 1438 0 R 1439 0 R 1440 0 R 1441 0 R 1442 0 R 1443 0 R 1444 0 R 1445 0 R 1446 0 R 1447 0 R 1448 0 R 1449 0 R 1450 0 R ]
+>> endobj
+1411 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 707.629 159.927 718.533]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1412 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.425 707.629 199.867 718.533]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_a24d3c42f7ed7c7a99a8a2bb5369eed4d) >>
+>> endobj
+1432 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 670.112 240.166 681.016]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
+>> endobj
+1433 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.664 670.112 264.235 681.016]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_aedf10f9d2de45d7e8de1809d4417741b) >>
+>> endobj
+1434 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 593.345 159.927 602.192]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1435 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.425 593.345 182.632 602.192]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_aab30b6ef6e87a1df35c14d15237af04c) >>
+>> endobj
+1436 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [121.93 394.007 305.978 404.911]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1437 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 340.417 238.482 351.321]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_ad6e4fdbf5475e6d24aaffaceb4a4abf9) >>
+>> endobj
+1438 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.298 340.417 319.547 351.321]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1439 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.008 340.417 407.258 351.321]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1440 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 302.899 191.16 313.803]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1441 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 302.899 252.31 313.803]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_ad213660ecdcc0e4142a2fd7536489781) >>
+>> endobj
+1442 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 265.382 191.16 276.286]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1443 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 265.382 257.849 276.286]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_af0e7fc37eefdbd145c4e9203cfd5e5e7) >>
+>> endobj
+1444 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 227.864 238.482 238.768]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
+>> endobj
+1445 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [238.98 227.864 262.551 238.768]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_a6e2a52ee587e255b6172f976f5a823d1) >>
+>> endobj
+1446 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 149.04 191.16 159.944]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1447 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 149.04 205.277 159.944]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_a87e8e31d3cf9dbe3c2e1041ea8ccf873) >>
+>> endobj
+1448 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 111.523 191.16 122.427]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1449 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 111.523 205.825 122.427]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_a2b2271e2f858709aef3d3705ac8c075d) >>
+>> endobj
+1450 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1454 0 obj <<
+/D [1452 0 R /XYZ 90 757.935 null]
+>> endobj
+1455 0 obj <<
+/D [1452 0 R /XYZ 90 726.054 null]
+>> endobj
+1456 0 obj <<
+/D [1452 0 R /XYZ 90 688.537 null]
+>> endobj
+1457 0 obj <<
+/D [1452 0 R /XYZ 90 609.593 null]
+>> endobj
+1458 0 obj <<
+/D [1452 0 R /XYZ 90 609.593 null]
+>> endobj
+1459 0 obj <<
+/D [1452 0 R /XYZ 90 555.238 null]
+>> endobj
+616 0 obj <<
+/D [1452 0 R /XYZ 90 465.265 null]
+>> endobj
+146 0 obj <<
+/D [1452 0 R /XYZ 90 456.593 null]
+>> endobj
+1460 0 obj <<
+/D [1452 0 R /XYZ 90 358.722 null]
+>> endobj
+1461 0 obj <<
+/D [1452 0 R /XYZ 90 358.722 null]
+>> endobj
+1462 0 obj <<
+/D [1452 0 R /XYZ 90 321.324 null]
+>> endobj
+1463 0 obj <<
+/D [1452 0 R /XYZ 90 283.807 null]
+>> endobj
+1464 0 obj <<
+/D [1452 0 R /XYZ 90 246.289 null]
+>> endobj
+1465 0 obj <<
+/D [1452 0 R /XYZ 90 167.346 null]
+>> endobj
+1466 0 obj <<
+/D [1452 0 R /XYZ 90 167.346 null]
+>> endobj
+1467 0 obj <<
+/D [1452 0 R /XYZ 90 129.948 null]
+>> endobj
+1451 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F83 417 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1489 0 obj <<
+/Length 1112      
+/Filter /FlateDecode
+>>
+stream
+x��XMs�6��W�Vr�� ��oM
w�63������ �)E� i���
�%Z�Eqfr"������$h��c�n<]��8X��3sF�x�n
J0��B�R����E���S%&Yz��z<;�+ͥP���ri�ȪJ�|r�,�!���=Ue��r&�;y"�a�p�~
_ޏ�
(�Em��!=�����3AS��D{q�V�[K�3���= /��<L��]P�i&�ƿsY%*-k�_;5����%���ǞC�4_Mә˸����\13�z�R�37Y
�K�r3hUX��W�!��_�H���k�z�N�
+k�^���	�vUao�2�J�]�3U,�Oeg,�
+
�*��f�!,�g-7
����"��cj�1��������8߂	.#ν�l��R
s�4��n1��$��@��3^u�NB�|!UZWF� jn3�T[:$\�J���݊�c�D�q᪹��ĸ�Q.�u�����j�f��*澿G;��-�TOQF����y
���ï/c|��Gp��b�p	C.��q<��>�3��k�lj�'l*w_dRw))�H�^���\*H�����E�=I��q���>�6��q�=��[�
�<6]��d�
"���q���
F8U��x'`{I1
<
F�7K���ڼ��z��h'U:��$x��	�Z֍��D�u�H/n��
�@!��j{�strG
+X�1*�/~��_MB�I�}O���OF³Һ��$+���V�Q��{�o��66�h=>l��s�v���my~�k����FS˷�e�E��,^�u�5�Y#��c
+
��� ��#%
���[�z�
���@����k΢��~��(���6]6�C�����C��O>츓�X�ӥ�Nv�)U1m�-kDzx��n�;�Uٞ
5�I
+�n����i=��D�ѡ�"��c��h4� 8�Qޗ��G�lo;�]{i�77���1�E>o�ܚ���R�Z�w� ������ܱly#2w�����R=QC@к�cw聡�� 
��n�.-l#@q8L�r����l4Z�V8�p����i=*�l��>Y�P_�uY'��P�#��\H��!|cs/���e[���?�
��
+endstream
+endobj
+1488 0 obj <<
+/Type /Page
+/Contents 1489 0 R
+/Resources 1487 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1346 0 R
+/Annots [ 1468 0 R 1469 0 R 1470 0 R 1471 0 R 1472 0 R 1473 0 R 1474 0 R 1475 0 R 1476 0 R 1477 0 R 1478 0 R 1479 0 R 1480 0 R 1481 0 R 1482 0 R 1486 0 R ]
+>> endobj
+1468 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [121.93 576.778 305.978 587.682]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1469 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 522.148 214.413 533.052]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_aef62be6cb1c9f4c4f3aff2c5f456c374) >>
+>> endobj
+1470 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.228 522.148 295.478 533.052]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1471 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.939 522.148 383.188 533.052]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1472 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 483.537 191.16 494.44]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1473 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 483.537 252.31 494.44]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_a8bacbf073ef0e1064e8c53ede4ad59bd) >>
+>> endobj
+1474 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 444.925 191.16 455.829]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1475 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 444.925 257.849 455.829]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_ae42dcbc09bb42d181a19512206d15f70) >>
+>> endobj
+1476 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 406.313 214.413 417.217]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
+>> endobj
+1477 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.911 406.313 238.482 417.217]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_a26114c4deaf17e8a12123a0a8f760d5d) >>
+>> endobj
+1478 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 325.902 191.16 336.806]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1479 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 325.902 205.277 336.806]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_a8d44f98f79421126eba1448fb80331b4) >>
+>> endobj
+1480 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 287.29 191.16 298.194]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1481 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 287.29 205.825 298.194]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_ae1191ef860c3201d40fa4e20fd02ba2d) >>
+>> endobj
+1482 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [121.93 86.288 305.978 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1486 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1490 0 obj <<
+/D [1488 0 R /XYZ 90 757.935 null]
+>> endobj
+1491 0 obj <<
+/D [1488 0 R /XYZ 90 733.028 null]
+>> endobj
+617 0 obj <<
+/D [1488 0 R /XYZ 90 646.34 null]
+>> endobj
+150 0 obj <<
+/D [1488 0 R /XYZ 90 639.364 null]
+>> endobj
+1492 0 obj <<
+/D [1488 0 R /XYZ 90 541.001 null]
+>> endobj
+1493 0 obj <<
+/D [1488 0 R /XYZ 90 541.001 null]
+>> endobj
+1494 0 obj <<
+/D [1488 0 R /XYZ 90 502.509 null]
+>> endobj
+1495 0 obj <<
+/D [1488 0 R /XYZ 90 463.897 null]
+>> endobj
+1496 0 obj <<
+/D [1488 0 R /XYZ 90 425.285 null]
+>> endobj
+1497 0 obj <<
+/D [1488 0 R /XYZ 90 344.755 null]
+>> endobj
+1498 0 obj <<
+/D [1488 0 R /XYZ 90 344.755 null]
+>> endobj
+1499 0 obj <<
+/D [1488 0 R /XYZ 90 306.262 null]
+>> endobj
+1500 0 obj <<
+/D [1488 0 R /XYZ 90 250.2 null]
+>> endobj
+618 0 obj <<
+/D [1488 0 R /XYZ 90 155.851 null]
+>> endobj
+154 0 obj <<
+/D [1488 0 R /XYZ 90 148.875 null]
+>> endobj
+1487 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F83 417 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1525 0 obj <<
+/Length 1138      
+/Filter /FlateDecode
+>>
+stream
+x��X�r�6}�W��L	 ��ߚ�3q��Q��d<IH)��Ų�>
�$Z��:�m�D�w�],H��n�j2�E8�&s�sF�d�n,J0sm�B�".W�m��K1+��TN˸|8;�Ef".o���MCKT�̳ۏ����YS���z�ƕ^���s�D؎fqf�\��NF�(�Gm��\�����3A3x~�v���Y+�1�)�0�uD�\s1�^�U3Me���)Ԏϛ,�aUNgo|��-c�Ǟ"�1�w?1�w��k(f1��F����`���rK�ĮS��"�D81��^�bn3�K���}&�h��fSJ����4�
�At��� @! �{
+��ǐC=
y�F�U#ә�>��5�~I��I�g2[�z)�@fEc&ĥ�֢Y��*�7�D9]<@}D��D=�h����^J�q8?C�q��'��f���� ��1�*j_�굨�2����a�ڸ�pϕ��y�nY�(�B�+��ꥬ�]װ�Ҩ��m�S�C���J���O�g¦�z21NC�v���fDŠ�k�h�W�t[�{ɡ�ሰS��h�'.d���^����r�eE��cm��*ɠ#s�h�<Sn<\�ma^�b���Tץ�*��Z��+{aE�?��g��t:���F
1=T���
��ї��#�e]3�t���*U�"��9�u,�N�oD����
>`�a׋�)�|�lU���]�N�5�l��!��T�i�}6�r�'��׽�y^nr��$���ڦ���,�
��:/�Հ�y����g�w"*�T�햨>{9�ѡ�}�D�/�"�Ny�M]AR
q�tu6�\�0��]7����G��.�i)pC
��`�I����P�n��
P��2Xذ�
iG�f�
�gKQʺz��=��m��@�!��F�?�D���iN��l��elF��ueO����1y��{�����&���b��~�w=���.�c �
j�����
+������A�8
+�����#����]�\P26���ms�n�o.�+�~
g�&^S�Z��&���J�?؜[��8k���5s���rS�	�T	C� CD׸i(~G��g%
��@�GY���x�^�qR�&�E�e=.�t�8o6V(�*�{���
2���K|���dW�bvI��f�
+endstream
+endobj
+1524 0 obj <<
+/Type /Page
+/Contents 1525 0 R
+/Resources 1523 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1540 0 R
+/Annots [ 1483 0 R 1484 0 R 1485 0 R 1501 0 R 1502 0 R 1503 0 R 1504 0 R 1505 0 R 1506 0 R 1507 0 R 1508 0 R 1509 0 R 1510 0 R 1511 0 R 1512 0 R 1513 0 R 1514 0 R 1515 0 R 1516 0 R 1517 0 R 1518 0 R 1519 0 R 1522 0 R ]
+>> endobj
+1483 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 697.247 220.699 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_ad5e935cae93921ba42abc76cf8b00c6a) >>
+>> endobj
+1484 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.514 697.247 270.531 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1485 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.434 697.247 315.622 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+1501 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 658.393 220.699 669.297]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_a5bc40b8b8e15d365bba5c33ada0aef18) >>
+>> endobj
+1502 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.514 658.393 270.531 669.297]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1503 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.434 658.393 357.684 669.297]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1504 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 619.539 220.699 630.443]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_a6dec5edff0aa73961373ed7e1b9e0729) >>
+>> endobj
+1505 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.514 619.539 301.764 630.443]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1506 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [310.013 619.539 356.03 630.443]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1507 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 581.058 159.927 591.588]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1508 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.425 581.058 204.221 591.588]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_a48abd01c599231c78e6927ec9350b348) >>
+>> endobj
+1509 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 541.83 191.16 552.734]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1510 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 541.83 263.777 552.734]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_abf685a2367ea144b9f11f11d0591dbb6) >>
+>> endobj
+1511 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 502.976 220.699 513.88]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
+>> endobj
+1512 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.197 502.976 244.768 513.88]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_a7f106ecc8b4f062f0b2b53cd3098e50c) >>
+>> endobj
+1513 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 424.271 159.927 433.117]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1514 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.425 424.271 182.632 433.117]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_a1871d52b1c98e5fe6554bbc339a0c3f1) >>
+>> endobj
+1515 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 383.359 191.16 394.263]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1516 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 383.359 226.706 394.263]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_a4c1125e6621d0624a864f5f81046f3f8) >>
+>> endobj
+1517 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [121.93 167.585 305.978 178.489]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1518 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 112.725 251.483 123.629]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_aa51b2de39e7e3568d5c9322de4b0454b) >>
+>> endobj
+1519 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.299 112.725 332.549 123.629]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1522 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1526 0 obj <<
+/D [1524 0 R /XYZ 90 757.935 null]
+>> endobj
+1527 0 obj <<
+/D [1524 0 R /XYZ 90 716.221 null]
+>> endobj
+1528 0 obj <<
+/D [1524 0 R /XYZ 90 716.221 null]
+>> endobj
+1529 0 obj <<
+/D [1524 0 R /XYZ 90 677.486 null]
+>> endobj
+1530 0 obj <<
+/D [1524 0 R /XYZ 90 638.632 null]
+>> endobj
+1531 0 obj <<
+/D [1524 0 R /XYZ 90 599.778 null]
+>> endobj
+1532 0 obj <<
+/D [1524 0 R /XYZ 90 560.923 null]
+>> endobj
+1533 0 obj <<
+/D [1524 0 R /XYZ 90 522.069 null]
+>> endobj
+1534 0 obj <<
+/D [1524 0 R /XYZ 90 441.187 null]
+>> endobj
+1535 0 obj <<
+/D [1524 0 R /XYZ 90 441.187 null]
+>> endobj
+1536 0 obj <<
+/D [1524 0 R /XYZ 90 402.452 null]
+>> endobj
+1537 0 obj <<
+/D [1524 0 R /XYZ 90 346.039 null]
+>> endobj
+619 0 obj <<
+/D [1524 0 R /XYZ 90 250.72 null]
+>> endobj
+158 0 obj <<
+/D [1524 0 R /XYZ 90 244.119 null]
+>> endobj
+1538 0 obj <<
+/D [1524 0 R /XYZ 90 131.699 null]
+>> endobj
+1539 0 obj <<
+/D [1524 0 R /XYZ 90 131.699 null]
+>> endobj
+1523 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F83 417 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1556 0 obj <<
+/Length 1103      
+/Filter /FlateDecode
+>>
+stream
+x��XMs�6��W�V�@ 	~��4v&n2�8J.NFQ�̔"Y����%R"mU��z:=h�,v߾}
��5"����l2��p�3�V("(�)挢��X�`��%�X�P1/���V.����B	uv�>ɤP����ihɲL�l�Ŏ�%T"��
Ɖ�{*�R�^˕ԃ���w�o����l�ׄ���
���(�Ln������`7
+Ѷ
�A
sᚢO��bb#�1r/FJ|�!
+����u�_������jm
�~;A7��Ց
��D,�p��Ff�`����p?:����� ���50�}�!�z8��� �eU���[���DZ��h�^��bF�Jk��MJ=h����ݠL�
�֢�%~�ݝ��
��#p����O#?�����.O�B����� ��:I�}�/q^��|ե 9�ب

7�$D��pzz���@y%�J.��WU���͈UC.�ǜהw�ubyQ���Qhg�����{�)d>����P��
�an�t15B�FV"I�$��e���2��C '
v�h+�E9`�-��
��,mӢ���}~�P�4�>�#��<neh��*W;����zkSX�<�e&��9�R�f$:�<Ms�qk�dk۔a�<V^OJ��!58���w��]��0*R
q�t��R��	
_��
M��c���t�'i5�ݐA�]��p�]v+URu2q�fO�
 ��~��0a����E����r��&ދ:�.�.a����/6��O⁖p,���_�N����A�M��2��]V�h��<TJ
+R�Q����Gt���uߟ��aS���M�y���:
����?��%@�n`�B_Jp�W�~°ȡ�t�{�>����a��z�?�Z��
�����ݽݧv�۞߿������x~���q!�����ސ��췦F��R�2��ց��]����k��.t|�C8���������� ���{
a�Ǥ�j\i04�
���FS?\��Jٺkc�]VI�j9�W�K�~�9�

DV���B�v�B0��~`�q��'٩���O�����:�
��$
���۪*Φ��v���YR(�TӢH��;+�#���k����� �#'�9濒$����,$�oobi
+endstream
+endobj
+1555 0 obj <<
+/Type /Page
+/Contents 1556 0 R
+/Resources 1554 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1540 0 R
+/Annots [ 1520 0 R 1521 0 R 1541 0 R 1542 0 R 1543 0 R 1544 0 R 1545 0 R 1546 0 R 1547 0 R 1548 0 R 1549 0 R 1550 0 R 1551 0 R 1553 0 R ]
+>> endobj
+1520 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 719.912 191.16 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1521 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 719.912 231.1 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_aab53a108e173a6657e2af82a66ea3737) >>
+>> endobj
+1541 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 681.434 251.483 692.338]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
+>> endobj
+1542 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.981 681.434 275.553 692.338]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_a2834d46309af2717b28dc79843e1331d) >>
+>> endobj
+1543 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 601.217 191.16 612.121]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1544 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 601.217 206.194 612.121]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_a2f88b2137b58031e4838f19daff12f4a) >>
+>> endobj
+1545 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [121.93 400.67 305.978 411.574]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1546 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 346.168 229.336 357.071]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable_a642f2ab97bf846e69686a874001a9930) >>
+>> endobj
+1547 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.152 346.168 268.34 357.071]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+1548 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 307.689 149.098 318.593]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+1549 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.596 307.689 189.038 318.593]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable_a5c54fa6c29a576ab9de69361d15f8b17) >>
+>> endobj
+1550 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 269.211 229.336 280.115]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
+>> endobj
+1551 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.834 269.211 253.406 280.115]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable_ae2482d18059a20a1cea2423a8b3d1043) >>
+>> endobj
+1553 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1557 0 obj <<
+/D [1555 0 R /XYZ 90 757.935 null]
+>> endobj
+1558 0 obj <<
+/D [1555 0 R /XYZ 90 733.028 null]
+>> endobj
+1559 0 obj <<
+/D [1555 0 R /XYZ 90 700.339 null]
+>> endobj
+1560 0 obj <<
+/D [1555 0 R /XYZ 90 620.003 null]
+>> endobj
+1561 0 obj <<
+/D [1555 0 R /XYZ 90 620.003 null]
+>> endobj
+1562 0 obj <<
+/D [1555 0 R /XYZ 90 564.254 null]
+>> endobj
+620 0 obj <<
+/D [1555 0 R /XYZ 90 470.44 null]
+>> endobj
+162 0 obj <<
+/D [1555 0 R /XYZ 90 463.256 null]
+>> endobj
+1563 0 obj <<
+/D [1555 0 R /XYZ 90 364.953 null]
+>> endobj
+1564 0 obj <<
+/D [1555 0 R /XYZ 90 364.953 null]
+>> endobj
+1565 0 obj <<
+/D [1555 0 R /XYZ 90 326.595 null]
+>> endobj
+1566 0 obj <<
+/D [1555 0 R /XYZ 90 288.116 null]
+>> endobj
+1567 0 obj <<
+/D [1555 0 R /XYZ 90 232.249 null]
+>> endobj
+621 0 obj <<
+/D [1555 0 R /XYZ 90 138.434 null]
+>> endobj
+166 0 obj <<
+/D [1555 0 R /XYZ 90 131.251 null]
+>> endobj
+1554 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F83 417 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1586 0 obj <<
+/Length 1430      
+/Filter /FlateDecode
+>>
+stream
+x��XY��6~���pR��yk������8}Ir82ȶR�1
���"	�L�&m<͋Y��ww���r��_�ɳȵb�^h͗V�ZQ��5Ϭw6v�:c캮]SQФ���e�&9_*�WW�/f�L8xjW����#��8�M�_߰%S�2e@����&��a�r�t>�4� �kaŝD(��w\+������xjmԮ�
+<��u3�c�����ɬ]�<�]�b��gm�J^����7yF�=b8D�?�ƞ�ž�{�#g�be�y�|d� �U��i�T�J$O�RVw����N��.qo���J���>���E��
�N�N����8 at qh�
�NR��� {�mt��>jc?F.(��a�O��<g���	kR���`s� �A�	
��_�
���u/�-+��:���K��W�n�9랷�m��"�V�5�?��k����vĭ�[���+���e?�w@�% ��� 
WU끽0��u:vZa�bb���t�s.��j���Z&�`�IZ�RTy>X���]o�V�,ؚ:�k���x�˵~��Y*���,Vm�
�*�@�e�P���=��Jۂ��*K��e�K��	�t��65R椨�#U���6� �{��rvu��C D��D �
�Q#�������=<��=
?@x],���v�/&��;���T����O���
+�jm&���E1 at Y
%ѡ�
z/�5\O*7��J^/>�'���}��_�ʝq��?̒�#�a�q�'ƕ���u����ȯ�mr.G�( �
\G�=��0�e�)� m��
i\��K���,�8�Rs&�S��`P��T
���V��2�s^��)�&�Q�'-��`�lwO�%��֚�Y���˥�
ƽR�qp	K�oV8
|���=�����,z�v�
+NA�&�a�ۘ�
���8h.nj
�L��*��"i����'Lj���tܱf 
R��t_a��)
@	��Ä���er�m�Q �<�Ǿ���s1s s_�������J^h.j��e���*UG��$KS�
U#�m�~
�|
�Z�?�f3��ξ��c��&�}ֻ���k���΢K���$k���Y�o+:���PP9�]~%5�W8~d�Z?��y*�j<���8��#N1W��nO�Ĉ����a��˚DV�._�.	�
s�{�/�9#�M�%[@YI�'+*�Mx�,��=`QS�-��W0�����m������m��HZ
�>0�3�oC?~�h?��7��Z8En8��k5u�6
Q
�,���H�	�.f��CJ0������O��rr��r�����b��
�&�m��O!���m�{gX�3b׆������@��5DC�տ�����SЃCd������L6�
JԖ���I]��C�
+��"�
�\�
��0D�Z����I'�{���7i�n�
+endstream
+endobj
+1585 0 obj <<
+/Type /Page
+/Contents 1586 0 R
+/Resources 1584 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1540 0 R
+/Annots [ 1552 0 R 1568 0 R 1569 0 R 1570 0 R 1571 0 R 1572 0 R 1573 0 R 1574 0 R 1575 0 R 1576 0 R 1577 0 R 1578 0 R 1579 0 R 1580 0 R 1581 0 R 1583 0 R ]
+>> endobj
+1552 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 697.247 210.527 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Logic__Error__Exception_a11bc5303b1d7a594017971538e60858f) >>
+>> endobj
+1568 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 406.688 264.491 417.592]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_ae0371bb311150040a06e7839efb57a83) >>
+>> endobj
+1569 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [292.672 393.064 345.558 402.969]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
+>> endobj
+1570 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 369.827 242.354 380.731]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a49981873be6474f7f399f1f54bc8861d) >>
+>> endobj
+1571 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 332.965 208.312 343.869]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
+>> endobj
+1572 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.81 332.965 315.797 343.869]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a23fb2ed36793d2fa8974d9b6c3f93705) >>
+>> endobj
+1573 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 296.103 229.362 307.007]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+1574 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.861 296.103 275.021 307.007]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a1a896ee4273234f7c7181d76bdd9260f) >>
+>> endobj
+1575 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 259.241 228.785 270.145]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1576 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.283 259.241 305.586 270.145]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_acaffbc7bc53bf538c9d8a75cb4a7e872) >>
+>> endobj
+1577 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 222.38 234.334 233.284]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gab884929ad9e98d94cac675f7fe3e9771) >>
+>> endobj
+1578 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.832 222.38 314.313 233.284]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_ae1db1d48c605e6f79aa78ea2a4a9cda7) >>
+>> endobj
+1579 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.384 185.518 226.314 196.422]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a7fa63d4674ffff39446dd46ed0c26e6f) >>
+>> endobj
+1580 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.384 148.656 212.486 159.56]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a5b935844aeba5303d77ca82130998245) >>
+>> endobj
+1581 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 111.794 268.376 122.698]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a52edb70858467236238aaec3b1884d37) >>
+>> endobj
+1583 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1587 0 obj <<
+/D [1585 0 R /XYZ 90 757.935 null]
+>> endobj
+1588 0 obj <<
+/D [1585 0 R /XYZ 90 716.221 null]
+>> endobj
+1589 0 obj <<
+/D [1585 0 R /XYZ 90 716.221 null]
+>> endobj
+1590 0 obj <<
+/D [1585 0 R /XYZ 90 659.927 null]
+>> endobj
+622 0 obj <<
+/D [1585 0 R /XYZ 90 552.653 null]
+>> endobj
+170 0 obj <<
+/D [1585 0 R /XYZ 90 546.053 null]
+>> endobj
+1591 0 obj <<
+/D [1585 0 R /XYZ 90 447.58 null]
+>> endobj
+1592 0 obj <<
+/D [1585 0 R /XYZ 90 421.767 null]
+>> endobj
+1593 0 obj <<
+/D [1585 0 R /XYZ 90 386.928 null]
+>> endobj
+1594 0 obj <<
+/D [1585 0 R /XYZ 90 350.066 null]
+>> endobj
+1595 0 obj <<
+/D [1585 0 R /XYZ 90 313.204 null]
+>> endobj
+1596 0 obj <<
+/D [1585 0 R /XYZ 90 276.342 null]
+>> endobj
+1597 0 obj <<
+/D [1585 0 R /XYZ 90 239.48 null]
+>> endobj
+1598 0 obj <<
+/D [1585 0 R /XYZ 90 202.619 null]
+>> endobj
+1599 0 obj <<
+/D [1585 0 R /XYZ 90 165.757 null]
+>> endobj
+1600 0 obj <<
+/D [1585 0 R /XYZ 90 128.895 null]
+>> endobj
+1584 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F83 417 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1636 0 obj <<
+/Length 1929      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�8~���m�Z��ĥo�����6M���vb�[
.�N��~���1����>xF::G߹v�v�����]�����s=�v���=��K�۱�O0r���`�����<O�Ÿ��4�+����ˏo���b@�~~���`�rܿLc)��ZLD�Xd#Ĩ��>�o��z�n{?z���v�>�)wF�ޗo����
�h8լ��\
+�Թ�}�a#	nJĽ�D��ȃ�K�������:�ː��Y\&�����Bs�穈33]�YL
���B5���69��W�1���3{���� ����u�Lj3$."��l^ދ������ ����i��a2�
��q��Yif�ŀ�V
+	�ɯ�b�:��`��C�!
��
�٨L�LZn�R�>Əf����c�ٶ�4�i�G�p(!��n�N/O�����	�ÜjV�����x
��d �jVy��9�)S�'�F�d��"�J��η,�eb��a���0�O|�� ��@#�.A�=�x
�y<�8��L*���l
�ٝo'ͳ��e�,�����%���,���kq�L(���)Y�p%���ll0T��xy:�
\m��k�v^�Q�M.��a�s���e
%YYq8���F������r�p\2�e�$Z*��B
�57�l���;�ۇ�\�z,Ա�]��"*5�-=$�A �j��
�HY�78��!FL4�آ���K~�{oe� ����ֵ�c�|�<4��2��&�����]	m9h!
����O��fD=���|��(��1�y�e+y�pʣ��v<�s_V���aШ���ˀ!ف� s�(>�c'�w�@j�&&W<
�I�Y���Rn 
c�
 [...]
��/����9���*Tjݔq��-�6z���?)X���<y��=�	2����`r�LU	�".�Mm��5��(bU�u,m�
�!��]���0�����Z��a������*[� 3TSf��-A!7-�N�U!�}u�@(�iG�p�>rYm� CWX�!�C�*�;�x@dzs�םt$�`����UM���Q���*��C���5�ֻ�.ÈR��!�k���uk�p�+uw��f��� r@�N1����I�#�>��p�H#�@��r���TAF�_�K�~�E��Hݮ�Bg���)��
i
R
�2(%àd��V)}��P>�������ۜ7N��X&���Z�S��kQ.�l�����[m�h�[�`���
��#b�E͋�FvbxЭ�D��Є8D
�FԤ���>O/��i��um��
�V�
N�;,�99`�
+����9��FQ�FÎpZ�]����-�>d�������
��Q�dG���
ݝQ�AG��A
Q����&�6��0�	C(_���&�H
�@
�oW�$!i�͵Vn�̞�{��
GNP@���
p7�^��|�(��~�̳R���-\��o\�3Q�B��N�a�Q�FWU��0�N}�87R��R�+JsK�Y
�f��k����Ǵ'֜v�-����!.��Xg
�b-f�*A�����-�
�0*_�
+		��l:�t�P���iPCPu�]Z6�Hw�Sx������~;�ۤ���C�lͭU`s�3�Z^�OB���]��y+5�Gm
��tO
��
ΤrQ�M�_R�
8�K�1AV��VZ�����{Š�
+C�j
�X��Q|w��B�m��"�
+��e9yq���F-�d^�����Ӌ�~sE�@-��f6�/_gy!L}�y�bHS}Xc��I2�8���:� �'���
+endstream
+endobj
+1635 0 obj <<
+/Type /Page
+/Contents 1636 0 R
+/Resources 1634 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1540 0 R
+/Annots [ 1582 0 R 1601 0 R 1602 0 R 1603 0 R 1604 0 R 1605 0 R 1606 0 R 1607 0 R 1608 0 R 1609 0 R 1610 0 R 1611 0 R 1612 0 R 1613 0 R 1614 0 R 1615 0 R 1616 0 R 1617 0 R 1618 0 R 1619 0 R 1640 0 R 1620 0 R 1621 0 R 1622 0 R 1623 0 R 1624 0 R 1625 0 R 1626 0 R 1627 0 R 1628 0 R 1629 0 R 1630 0 R 1631 0 R 1633 0 R ]
+>> endobj
+1582 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 720.286 201.946 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a2d9c6ed1390e4148c2fccb3491c7b4a7) >>
+>> endobj
+1601 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 656.747 192.89 667.277]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_af27bf62f81d315063d66dc394ef9559c) >>
+>> endobj
+1602 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 623.3 316.306 634.204]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a4c0dddb2c112aeef626eef4d7e539d2d) >>
+>> endobj
+1603 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 590.226 310.627 601.13]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a7c8c10d940074e8ec96a4d319b88e490) >>
+>> endobj
+1604 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [314.443 590.226 371.219 601.13]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
+>> endobj
+1605 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 557.526 232.192 568.056]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_af66f20c1209205a55c53e42c83761b82) >>
+>> endobj
+1606 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.008 557.526 279.514 568.056]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
+>> endobj
+1607 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 524.079 236.068 534.983]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a203692374bea9a641aba897049f2ae03) >>
+>> endobj
+1608 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.883 524.079 317.71 534.983]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+1609 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 491.005 263.893 501.909]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_acf903011430930b9c3afca546ecb07db) >>
+>> endobj
+1610 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.709 491.005 344.958 501.909]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1611 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 457.932 267.071 468.836]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_ad202d113166e7f68344ee82ba6e7b0fd) >>
+>> endobj
+1612 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.886 457.932 353.685 468.836]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gab884929ad9e98d94cac675f7fe3e9771) >>
+>> endobj
+1613 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 394.766 239.036 405.296]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_aab8f9339a589d7ecd8eba424cd8c8d3f) >>
+>> endobj
+1614 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 361.692 239.325 372.223]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gad7cbdacd9a5e2c068c25c12f47f8936a) >>
+>> endobj
+1615 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.823 361.692 262.697 372.223]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a31c3eb3b5ccbe373dc04fe4d86234b87) >>
+>> endobj
+1616 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.663 328.245 288.644 339.149]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a81cb4962caaa75c19cdf6c8a5af4e46b) >>
+>> endobj
+1617 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.021 328.245 335.844 339.149]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+1618 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.306 328.245 457.323 339.149]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1619 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.029 328.245 513.996 339.149]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1640 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 316.664 146.454 327.194]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1620 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 272.258 193.358 283.162]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+1621 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.856 272.258 252.296 283.162]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_afa2c94e0b2f7b773f7d2daf6d53f9874) >>
+>> endobj
+1622 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 239.184 193.358 250.088]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+1623 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.856 239.184 264.491 250.088]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a75aa539f287d460bc26a347512e51760) >>
+>> endobj
+1624 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 206.11 230.289 217.014]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a053b3ad9ab9c0920ee835d51589cb703) >>
+>> endobj
+1625 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.105 206.11 280.122 217.014]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1626 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [303.315 206.11 349.332 217.014]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1627 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 140.776 256.859 151.68]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gae574051d412d3ee587c872f48de81663) >>
+>> endobj
+1628 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.357 140.776 349.541 151.68]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a54d7ba808dcfc372e231fe597f5daf1f) >>
+>> endobj
+1629 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [353.356 140.776 459.786 151.68]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ga9006be5f6c0f7616400b3554738e732f) >>
+>> endobj
+1630 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 107.505 262.618 118.409]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_acaf3268d04168d4d22ebe73d9578d7d5) >>
+>> endobj
+1631 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.433 107.505 371.757 118.409]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gae574051d412d3ee587c872f48de81663) >>
+>> endobj
+1633 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1637 0 obj <<
+/D [1635 0 R /XYZ 90 757.935 null]
+>> endobj
+1638 0 obj <<
+/D [1635 0 R /XYZ 90 733.028 null]
+>> endobj
+1639 0 obj <<
+/D [1635 0 R /XYZ 90 474.135 null]
+>> endobj
+1642 0 obj <<
+/D [1635 0 R /XYZ 90 154.956 null]
+>> endobj
+1643 0 obj <<
+/D [1635 0 R /XYZ 90 123.708 null]
+>> endobj
+1634 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F83 417 0 R /F95 1427 0 R /F39 1641 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1670 0 obj <<
+/Length 2110      
+/Filter /FlateDecode
+>>
+stream
+x���r�6��ié�@ �Ԟ�$NŻ�ul��v�(F�5����|�v�9�H�ڧ�
�ht7����z���������{9˓ �^ν4,�w��>��� Y���o�v_\7u��������M[��������m��_�Tr�Z1������;��f[�R�0�r?NV��ޜ�ru��L 7��z��4��r���6����,�3��@�(�[y���8�O�$Ob��O���v(���lzC����1,9���d�P$,
+3o
,��� �gg�
�л_ϼ��G2"�L�6��Ǽ��-1�Q{XG�
Wi�e�U!W�M�ZD,�"��ՠ���$}�Vݩ��	�B��]E1)�-;!���
+N��(
ND�3Ź�Z@��Ul�t���뗑�ݓX��O�e�^��ieשZ/a�o��
3�jz�W=`�����9��EI�,���� �Re��E�Pv�E�7�
+����iaW�)ce �5�#.���v��x��S�i�b�.g�(�9��)���YK��I"XM�D죶h�UvD6OO#��얈r��܁�#��Q3ʒe���t;�_��:�eQ
+�堘����勆�x�1������*��VAI���ܩ!��b�5E��<;�o�0u��;��cZY7V��I'���QS
b�A������yhe,NيT�Q��ؿC×���* ���t0A�m+�)-|�,��J�tҬlZhWa�ˮ
̠t��B+��[����o
�"E���N��Nu���c��g\ȾW.
��&�z�=�9�"�Xd����ۤ�V>�6߬я���ԟ��ze�.�gRG�7�TjӒ�	[t�,�BU�P���jq|�DڋX� �#��!��FO���{c
�`-�`�
����
D�۶���a�im���"���i�R�
o�k�cF���a6	��#����|�9_�1_p]��thf\�z�q�N�v�Q�7)Е�����BÜ؀�F���\�
v,��;�ܥw|
�
�ɭw��<L
n9���s�(��%��4��
+.m]�D
,��ﺗ���l�(c\V�ĥ9i���� ��?
���k�{Ti�‰`9��7\V��
7�Aa���f����1l�kڹ�IѪ��9��
o
}k��ݴ�9��ŀV;��aԞ �o*U��z $�����P(�٘N+!��
�o��Z�������lL$�9������\�����(C��"i����#X�wP�
�����ɂϛB��.�$n��q���n{�l�

�x 9S�l%����(
�su5{8C���3q
WƸ��H�{B�h|��{�m!�B�@P��
�Cs5��������q`(��
s�[����
�n/˝V_�a"�����`C�[
[
=�<6ຐ�;�������r� h�I
+.��
xi�
-�(2�>�\�a/��Z{���L��}b
lW�7�UQ4#$�#�Aȍ&�G����.�:�Ef3[��)6K��u�a�e��)�������c��WC�5-O�As�ۅ=u/Mm#�B
l� ��֯��/^��rO3�h�a���eK��5���
�␵���
�N c�|�16^+eI`��
+�ADV MU+*�C:Ƣg�zZ��zh%A#������c���
 �� j��&|s���V�]j
+�Dd	L�)�}3�F뎡{������
+���g���(*���;�i
��
&c���8y�4���
����i-��hk�_m
r�ܚĦ��\ڈfX������Xl6�
Im
���1)��y
�Mm	�;�G'���rGe4�#�R~N��R2�W��Zr��Sɓ�V���0`<�u,��X&̈́�o�^�i^��Q�4�M��vl�^��~�A޼ݘr���R��Mn���w���΢l|
t����<���
�c��Ai,�?-4l�0�Y
�6Du��O>_S:^x�^x�>�S!�.3�^����/��w4�w�d4�&Ek�2A+v�T��Ş�M��@@1�n�=ŭE�mi��`C~K��d��*���޹��4O�Xxh�8����ޏ�G$�Ϟ��`r� ���,�����������
�jZ�����.
�Cr�"�1b��v,'��n
&	
�_�p�:�� �7N�H��Ț�i
+endstream
+endobj
+1669 0 obj <<
+/Type /Page
+/Contents 1670 0 R
+/Resources 1668 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1540 0 R
+/Annots [ 1632 0 R 1656 0 R 1657 0 R 1658 0 R 1659 0 R 1660 0 R 1661 0 R 1662 0 R 1663 0 R 1664 0 R 1665 0 R 1666 0 R 1667 0 R ]
+>> endobj
+1632 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 697.407 172.361 708.311]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a4dfc6347addaec85187c46bff12def97) >>
+>> endobj
+1656 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 658.873 172.361 669.777]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_aee14b86bac3475fb14914092715b5916) >>
+>> endobj
+1657 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.298 658.873 306.125 669.777]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+1658 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.82 658.873 405.07 669.777]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1659 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [431.198 658.873 513.996 669.777]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gab884929ad9e98d94cac675f7fe3e9771) >>
+>> endobj
+1660 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 597.424 172.361 608.328]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a64a91a5f142efd873b50d2cb7d27e660) >>
+>> endobj
+1661 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.176 597.424 234.626 608.328]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
+>> endobj
+1662 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.356 559.264 177.83 569.794]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_ac2cab9caa4fff25fd03b1012a0c8cf5b) >>
+>> endobj
+1663 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.356 520.729 191.678 531.26]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a4cdcdb051551e8a23b6ff80a3294c5de) >>
+>> endobj
+1664 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.411 330.532 342.66 341.436]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1665 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.006 238.152 322.456 249.055]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
+>> endobj
+1666 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.912 208.572 329.362 219.476]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
+>> endobj
+1667 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1671 0 obj <<
+/D [1669 0 R /XYZ 90 757.935 null]
+>> endobj
+1672 0 obj <<
+/D [1669 0 R /XYZ 90 716.221 null]
+>> endobj
+1673 0 obj <<
+/D [1669 0 R /XYZ 90 616.358 null]
+>> endobj
+1674 0 obj <<
+/D [1669 0 R /XYZ 90 577.823 null]
+>> endobj
+1675 0 obj <<
+/D [1669 0 R /XYZ 90 539.289 null]
+>> endobj
+1676 0 obj <<
+/D [1669 0 R /XYZ 90 483.34 null]
+>> endobj
+1677 0 obj <<
+/D [1669 0 R /XYZ 90 171.232 null]
+>> endobj
+1678 0 obj <<
+/D [1669 0 R /XYZ 90 148.92 null]
+>> endobj
+1679 0 obj <<
+/D [1669 0 R /XYZ 90 148.92 null]
+>> endobj
+1668 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F83 417 0 R /F88 819 0 R /F92 1105 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1687 0 obj <<
+/Length 1684      
+/Filter /FlateDecode
+>>
+stream
+x��XKs�6��W�Vi&�� @·&�;I�����$��EHfK�
+I�q~}��)�I���A�}|��8�8�u��z���p �T��@� qJ��$x?'Q�X����ʽZ���V'�Zg�M�����7���W����&��Œr<�����o�V7�u�� ��P�y��x�z��z�iF@
�fw
���`������޿0b2�Y� �
~������[�����Z�3�B�y]�
��S����}8�^{*��tLK]�E��ݫ/�>����[�P���7��� |�^o�9�-rc��2��FG��հ�1P?B�s?d4����lꢴ��6��}����N�M�Wu�Ҽ��>��F�XKB���=���RYv�X2��y�(�]����m?t���
S~��
�t߸��+��qjP��8B�#)AQʑ�U�j��R�u��j�����Mba	��sj�$�~�����0f����XX��*-�� ����|gc
Ѿ�<G�߮�M�	D �e
��n�! ?9�嗍>���d���N..2���۵.K��
#�hu.,
�w�u� [...]
O
�(�WoG��p*�y�
+�
py�N]=��x8�t\�:��a��x
я7��
o�$c>�֦}#�5l7_6��=v�4�M�H�ډ�0Vu���i���K�x[
+��;�dt
���
�����CV�r=
������_�9*K�!蠔��v�l�}����u��&�
{���b؏U�A��c4��c����

�V
+P����JI)
*bwI�%�|��W��&;��
�n��^ۣ�	�����Q휨W98x�xۃ�J�?-8
#

+T�ҖI��(7Ā
ٛ�w�w�����7��tRX��6�n��p�Z��ݡM��yz(QZ��l�0��BB���z���Uw8�!�aP�"�Z�9Lܫ�
1�_����
+endstream
+endobj
+1686 0 obj <<
+/Type /Page
+/Contents 1687 0 R
+/Resources 1685 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1540 0 R
+/Annots [ 1681 0 R 1682 0 R 1684 0 R ]
+>> endobj
+1681 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.651 618.776 406.173 649.62]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_ae0371bb311150040a06e7839efb57a83) >>
+>> endobj
+1682 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.651 361.653 406.173 392.497]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_ae0371bb311150040a06e7839efb57a83) >>
+>> endobj
+1684 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1688 0 obj <<
+/D [1686 0 R /XYZ 90 757.935 null]
+>> endobj
+1680 0 obj <<
+/D [1686 0 R /XYZ 90 609.81 null]
+>> endobj
+1689 0 obj <<
+/D [1686 0 R /XYZ 90 595.239 null]
+>> endobj
+1690 0 obj <<
+/D [1686 0 R /XYZ 90 320.059 null]
+>> endobj
+1644 0 obj <<
+/D [1686 0 R /XYZ 90 297.748 null]
+>> endobj
+1691 0 obj <<
+/D [1686 0 R /XYZ 90 297.748 null]
+>> endobj
+1645 0 obj <<
+/D [1686 0 R /XYZ 227.842 220.645 null]
+>> endobj
+1692 0 obj <<
+/D [1686 0 R /XYZ 90 203.918 null]
+>> endobj
+1685 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F8 344 0 R /F88 819 0 R /F72 277 0 R /F92 1105 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1696 0 obj <<
+/Length 1652      
+/Filter /FlateDecode
+>>
+stream
+xڵXKs�6��W�V� o���$���L����-B[�TH8��}>M�N�
l� �����8�E8�e�����U��%���j%8�%A���*�>,	FT��c�<e�1KO��n��:K�u��w����~���WD-��>��T��C�4~�No�[��F�0Fy�j��������ӂ�68"�t���hs\|���
��D�DE�n�1���!z��c��%�A�T�0�QL%"�{�^~��)��q:L�\�Rj �(�$Z��KhL~yy����S]�U=t�Jȁ�X ǰ�^���Պ��m	ޑrYl�o��E��r�:|�"�Y����
�����R;�^hsʬ��0/��l���lw��n�_�d7M�i�a�yE�Ro
�7�f*/E�-�N�[��I�#N��H����%�z����kd0�2��}I��i'�o,0��sN'T@'��գ8�40`(���ń�]�o���C�٥��p�+��Ϙ}Մ��lE��eXj��^7��e�]�\��
E9ye���Ϟj��W [...]
+97D
�΀�C,PA��¦�g��fDB��*l:%�'�Y>�������Ң4z����Lj���)�M��Z�^�@��.2�ۤ���L	����Q�����qM�R
��t�d��B*�њ��1��ࠚ��������O�����{�`'m(ê�mZ{Fh!1FI��3R�)�`"ls�����i ���ð�7� n�5�4a<�'�J��N�E�f��2�П��Y�U�g\tV
u���
�����}��c�m�+NZV�6U]��T��W�3��:^�1oZ�
+D�	�guE�w:�}1�(P`BF�8
h
$� |,F�1�@�!���
�:b2Sp��W�q���fƜ�<�gN$R����S����?��dM
lZm�ٱ���pK9QpRƹTS�v
�������y,‘��灢�
P6rP�e+T<��”��aE��h�f�\lL8�ԟn�s�m���^m�Є׻N`�H_����(�cd��ڒ��ufZr5����w�o��c}h��x
+��c��t�
�l
r� �I g������
���=���w����C X��\A'
Q�h=�%L���ˑy��τ������<�b����8�+����3U瞫G�p_�I股�-G%�A�=JcD��Gq_&�Ҁ���L�F�
��*0$
���CM
S؍
�]��J<t�i�㹙 4� �X���ٌ�8J�憁Bd%\�g;���
_
��
��
+4�iu��V��-�t���=�2�A��:}���U4m�5e0�t��#�&��G�F`$���7r?=���� �eD�Sv������0�@`)���!�;q�
+�LZQ
h`8
l�/��7��
G1"=�80ۓz0��
̰��FگO�Z��
+RCM��-������p���8��~�_�ܗ78J�TV�[��vL��W��[�������o
��������a9+w7�.�z
��zk��Q⟍�X�n/�Ȭ���
Au�K"�E���?
��]�oԎ~�ߩz)�$TǬ{cN����hӠ��8ը0����~"�Rl�
w-�
+��—�5����}�Ә��>�x�,���?���
+endstream
+endobj
+1695 0 obj <<
+/Type /Page
+/Contents 1696 0 R
+/Resources 1694 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1702 0 R
+/Annots [ 1683 0 R 1693 0 R ]
+>> endobj
+1683 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.639 691.723 300.161 702.004]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_ae0371bb311150040a06e7839efb57a83) >>
+>> endobj
+1693 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1697 0 obj <<
+/D [1695 0 R /XYZ 90 757.935 null]
+>> endobj
+1646 0 obj <<
+/D [1695 0 R /XYZ 184.963 658.57 null]
+>> endobj
+1698 0 obj <<
+/D [1695 0 R /XYZ 90 642.538 null]
+>> endobj
+1647 0 obj <<
+/D [1695 0 R /XYZ 90 513.184 null]
+>> endobj
+1699 0 obj <<
+/D [1695 0 R /XYZ 90 499.308 null]
+>> endobj
+1648 0 obj <<
+/D [1695 0 R /XYZ 90 377.904 null]
+>> endobj
+1700 0 obj <<
+/D [1695 0 R /XYZ 90 364.028 null]
+>> endobj
+1649 0 obj <<
+/D [1695 0 R /XYZ 90 232.671 null]
+>> endobj
+1701 0 obj <<
+/D [1695 0 R /XYZ 90 218.796 null]
+>> endobj
+1650 0 obj <<
+/D [1695 0 R /XYZ 90 89.441 null]
+>> endobj
+1694 0 obj <<
+/Font << /F70 275 0 R /F88 819 0 R /F56 243 0 R /F72 277 0 R /F23 244 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1706 0 obj <<
+/Length 1464      
+/Filter /FlateDecode
+>>
+stream
+xڭXMs�6��W�Vi&� 	��L�I�L��=%
,A
+TI0��� @��(ٚ�bK�X�{�}��V�ލ~�]�Mq$�Hh�-#��4!�S�-�/c�M&S�1
oe���m�?�բ��\ߗ�|�����fvSNH6.�s��L)��׹�*��Z�fZ��c1eb����݇ћ��?#��4���1��їo8Z����Xd�C�j1��<�
�9�g���w�����VO
�p�w�(r%���\��׺�U`���1�0���
���#qh����"��� �����k5�
(��ӹ��~�Xz+@@h�2��������v1$2Ү�k]
�l����NK��SkS�"�
+%L�-����>6���+$��ld� ݖ��(A
�\�Kς4�@��1�]���-�������
+�z C� >F�i?��3t�[+m]]PU�w�^
I��Vo�z��󗌑�s������
+i�H�
?!�An�Ů\�g,��,�
6+?�`pEm��F�QH�f�Ϻ�
6�OIk�fk�8��R�J�W0JT���H$@"�q_�f��P+����ǣ���0" f$
#q*���.�;%I/
���,�ZZ5+��V��ٲ6sώ;�	-��(Y�1�NUJ
�hY��(cmj��yp[�6�� i����u��.�Z;`�C�A�զ�
�t<���Y&�v�B��>R���l�Ɣ �ѐt�/�U�P^ȁD��!���
X�ov@
����#;;�����
� 8J�Hd�Z�H""�C�|�d"�S
1����e�0�|W����;�_�	a��
�
	�D,��hw��B�TU�[?�t�6�C]�ß6
6���,�\Q~��Κ�b�8NNE� ���ADq �.$�[n�D.�FYU�wo��=ᥧ==%�)��}�p��
�/�\��a����2D.
w�uu��n+�\�Z
RՃ8
>N	G��#�*�:�
�O�=\���[��X��68"haۉ��@��vD��<�b
+yq��:�J�&8��h��A
��żA��P����������Y�Re�r�	?d�3Y��r�6䢠��.
���"R�=t�1h}�eNP��i'�*+�.�
�
�^��{�� ���@�#��s�D;��� ս2~�
��u��m�9��[x��z��r�"Ġ�(�`�D1�V��
)��H����Ʌ�u���:�vq�ݴ¦�l
����r# S����n��o�V
�6T�z�m�0��v/���b*4Se��8��\?��z�co�ǯ�����B$��Ȟ�#D�� �}�&�@���Bz����i�������X�僜�Viô4�Z������e�!���_�*�p>�?JS�|߾(�ծ�X�v��`�V�����{�~��?�;�#l�ٮ����^_]=<<�y�j��%��j�ͯ������l3yS���Y���
�)�	?Ii
7�
����r�V
+endstream
+endobj
+1705 0 obj <<
+/Type /Page
+/Contents 1706 0 R
+/Resources 1704 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1702 0 R
+/Annots [ 1703 0 R ]
+>> endobj
+1703 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1707 0 obj <<
+/D [1705 0 R /XYZ 90 757.935 null]
+>> endobj
+1708 0 obj <<
+/D [1705 0 R /XYZ 90 733.028 null]
+>> endobj
+1651 0 obj <<
+/D [1705 0 R /XYZ 90 625.271 null]
+>> endobj
+1709 0 obj <<
+/D [1705 0 R /XYZ 90 610.701 null]
+>> endobj
+1652 0 obj <<
+/D [1705 0 R /XYZ 90 485.484 null]
+>> endobj
+1710 0 obj <<
+/D [1705 0 R /XYZ 90 470.913 null]
+>> endobj
+1653 0 obj <<
+/D [1705 0 R /XYZ 90 257 null]
+>> endobj
+1711 0 obj <<
+/D [1705 0 R /XYZ 90 242.43 null]
+>> endobj
+1654 0 obj <<
+/D [1705 0 R /XYZ 90 127.265 null]
+>> endobj
+1704 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F23 244 0 R /F72 277 0 R /F88 819 0 R /F10 1171 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1717 0 obj <<
+/Length 1533      
+/Filter /FlateDecode
+>>
+stream
+x��Wێ�6}�W�-6sIJ�D�(��ܐmvۗ���e�V+K�.u���
ʖ�]7mQ�O���p.g��[{�{5��vt�2��$2�w��$�����w���ƌ
M��R:�%�6�����F-�d�g�*���f��0:V�=�~��������x\V��S�k���L���gyR�v�Q���RE�&�(�8��O�oF/nG���H=fl�|����'�-a��G�/coo��^�}�����}�?���!�	c�d�4�v��d
}�
+U%MY�������������v6+��m�5+� ���O��`ȴ�W/Exd%��#2�U�VF-�@�I�&
���L�1�G�4��&�΅�H�d�Z}�
+��_M���&&U.�'��� �C��HH��C��{���F�$�T������r6[��$+檪��G
+z�Đ]!�C����p1������<P�3�Kq
+��](�,U]<�io����&�p%a�3&{a<> �Λ�Gl�E̐���r��� 1�P��'�H�H�B z�bc^[,ʶX�%�Ql��A
���ty
+	���J_��g�IN��N
+�?T8��L�
�o��$���Iޢ:[8—�g�Zi��L��=��
0����>
�N{A;�_TL��
���Ш�ʅ�y�ġ>$	|��
X���C�+	���#C���R��I�吞��Qtf�����ԥI�I0
�z�����>P����q}g2$�������h
L����0x�H&� ���2��+��qF
d�s��.��p9���e,�� �uw��xLX
u�<������糎� mG�H����"H"cv�9�����H=`�	?�R�����;~�EǏz���6a�����������������x`D�[G.��e��[��#Ԭ�V03J����
��m���YU����2�m2mxLKAy�f=<�R
+�f�,$�=�/u7�ޖ�-�Ŭ�	IGo6b����<����v	����Q��t�����x��CKt,���eU݂p���
�u�ȳ�nz��
�	~��y����
'��D�2c��Z#�~�r���v
�^O2��� S��i����c06
L1������ p�dQ7U�Ꞙ16&):�#(x
@� �#��|?WM����U�VY��p�:K��� �Y���2.�S�J]�5n_qj(
+
*`ta����Fx��W�B�۟��sX^(��Ҳ���n+e.m��1A9ܶ5��X�v�K�k��t�
B���y����+ҙ>G
��L<Nd�����[|�߮��>��
}��S`�ݮ�
��8�y��[|��2�Z9�]��_��
|
+BP�2�W����U�n�F��������D�uOץ�qyB�O�0�Wz�W_��O'}"��q
+�k��@�uY���Z��7�@��I�n�5�z
uX�L�S���VՓ�c����h�#]30���
+�(4k�E7JaTl(~�����4bG�7lq���4�nvu���IZ���vɚ��.�:����i���S�+�mY)luB�@�^6�=�ngn
-�%�O婬�
+endstream
+endobj
+1716 0 obj <<
+/Type /Page
+/Contents 1717 0 R
+/Resources 1715 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1702 0 R
+/Annots [ 1712 0 R 1714 0 R ]
+>> endobj
+1712 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 298.878 224.515 309.782]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Overflow__Error__Exception_a6c67cb8304bf0e784ad1aa328e82e20e) >>
+>> endobj
+1714 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1718 0 obj <<
+/D [1716 0 R /XYZ 90 757.935 null]
+>> endobj
+1719 0 obj <<
+/D [1716 0 R /XYZ 90 733.028 null]
+>> endobj
+1655 0 obj <<
+/D [1716 0 R /XYZ 90 613.47 null]
+>> endobj
+1720 0 obj <<
+/D [1716 0 R /XYZ 90 598.9 null]
+>> endobj
+623 0 obj <<
+/D [1716 0 R /XYZ 90 405.3 null]
+>> endobj
+174 0 obj <<
+/D [1716 0 R /XYZ 90 398.7 null]
+>> endobj
+1721 0 obj <<
+/D [1716 0 R /XYZ 90 317.852 null]
+>> endobj
+1722 0 obj <<
+/D [1716 0 R /XYZ 90 317.852 null]
+>> endobj
+1723 0 obj <<
+/D [1716 0 R /XYZ 90 261.558 null]
+>> endobj
+624 0 obj <<
+/D [1716 0 R /XYZ 90 154.283 null]
+>> endobj
+178 0 obj <<
+/D [1716 0 R /XYZ 90 147.683 null]
+>> endobj
+1715 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F72 277 0 R /F88 819 0 R /F10 1171 0 R /F23 244 0 R /F77 334 0 R /F21 1029 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1737 0 obj <<
+/Length 1108      
+/Filter /FlateDecode
+>>
+stream
+x��XMs�6��W�V�@ 	~��&u'v2��j.N�CQ�D�U�����]|���Xv[�����o
�@�>�u2���8�X�&s�GsF�d�n��`�z>%�
יZe�몼_���n�b�2uv6�(����Ȱ���N�|���u�յm^��P
M�B�����aD�O���o��_
+��
�q
p��7��A�"8H�5�V(d���z�ǀ
u��D�:6�L�"�xދ� ���F�MQ���i��y�c�F8
�3�y�Z��{��k��S;�γ+3��[��Pus��
�H8���!�1J RjH %
+�i�� ]�f��#�Y
+ۨ�w"o\{���n�s����e��8�Ǚ��(�"���B���t�ZrW]~�b�Aa��9	�n�MV�bf-�u���֙�~@*:C
��ze�Yg��G��c|��Q?L���پG��<B²pF�~�.�rV��|5���9+��9B'm�fU�Y	�d�?�5���[����BH���=W��@�,+�|[ȅ��GX)����e�i
�>�H`��|��2�&-96� &Jq�93jj-!�*<Y&~�w�́+POG�C�B{�E{-JGk�Yq���B�$u�ε���ߗ��脘Ɓ��NA{,�h��,��Ȩ������
9�gf̎k��qJB�g��-�bv<Mv�E�gɗT�p�և��*�9s�%Vb;�NgF�[Sm
����*Ԑ�������eH���^�!~�����*2�b��pC�.�����z)��z[?Q������������*��|�\�ʅ�Ǫ������OV�!
�s��9|��R������0Zȓ2j���U� ,����E [...]
�v�a
+endstream
+endobj
+1736 0 obj <<
+/Type /Page
+/Contents 1737 0 R
+/Resources 1735 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1702 0 R
+/Annots [ 1713 0 R 1724 0 R 1725 0 R 1726 0 R 1727 0 R 1728 0 R 1729 0 R 1730 0 R 1731 0 R 1732 0 R 1734 0 R ]
+>> endobj
+1713 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [123.594 697.362 156.032 708.266]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4_a5c1e588b7f6a9f94b053a5cec723dfe6) >>
+>> endobj
+1724 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [123.594 658.738 167.091 669.642]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4_a637f0b668a07b52f0fc9454c13f4d16e) >>
+>> endobj
+1725 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.062 399.107 263.464 410.011]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_ae3eb174fcfe2ba578f4d3d714e3743aa) >>
+>> endobj
+1726 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.062 364.468 257.925 375.372]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a95cf5613be1fd13f273e5c2e7d38c802) >>
+>> endobj
+1727 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.068 292.089 247.464 302.993]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a51207bdf0804635cce036bd6b6459abf) >>
+>> endobj
+1728 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.068 256.062 248.022 266.592]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a952c4e092ec518368be278c13c689acd) >>
+>> endobj
+1729 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.068 219.66 256.072 230.191]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a9f9880633bb81d02f27e6fb22dc83bdc) >>
+>> endobj
+1730 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.068 183.259 240.819 193.79]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a0f295b8b6083b12c373b48417ae8a466) >>
+>> endobj
+1731 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.906 146.485 233.078 157.389]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a8219b76f7582cc02ef563bf70b045ae6) >>
+>> endobj
+1732 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.906 110.084 231.006 120.987]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a4254863fcee52d3a2ee594e14999fc21) >>
+>> endobj
+1734 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1738 0 obj <<
+/D [1736 0 R /XYZ 90 757.935 null]
+>> endobj
+1739 0 obj <<
+/D [1736 0 R /XYZ 90 716.221 null]
+>> endobj
+1740 0 obj <<
+/D [1736 0 R /XYZ 90 716.221 null]
+>> endobj
+1741 0 obj <<
+/D [1736 0 R /XYZ 90 677.717 null]
+>> endobj
+1742 0 obj <<
+/D [1736 0 R /XYZ 90 621.637 null]
+>> endobj
+337 0 obj <<
+/D [1736 0 R /XYZ 90 527.239 null]
+>> endobj
+182 0 obj <<
+/D [1736 0 R /XYZ 90 520.282 null]
+>> endobj
+1743 0 obj <<
+/D [1736 0 R /XYZ 90 439.538 null]
+>> endobj
+1744 0 obj <<
+/D [1736 0 R /XYZ 90 307.052 null]
+>> endobj
+1745 0 obj <<
+/D [1736 0 R /XYZ 90 272.674 null]
+>> endobj
+1746 0 obj <<
+/D [1736 0 R /XYZ 90 236.272 null]
+>> endobj
+1747 0 obj <<
+/D [1736 0 R /XYZ 90 199.871 null]
+>> endobj
+1748 0 obj <<
+/D [1736 0 R /XYZ 90 163.47 null]
+>> endobj
+1735 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1764 0 obj <<
+/Length 1368      
+/Filter /FlateDecode
+>>
+stream
+x��Xߓ�6~�_�[�dI 0��6�N�t�8O��G�	 "D�����p��ru�f�
�EZ����J
n
���a�X_�8�P��$��
iB�$����`D�UH0�˖���ZY}8�B�]U�(�>\\\�^ڗW+����n�*�
/�x׹�
�jE6K��b�)f˄��l�-~�.�-�b�a)J#����

+�?
0��Mp��� ��W���o
�
���u���4
+R!�0��e%�.�۰�e����P�7ȝ�7��Ή��J�8Q'�Q�!�Ͱ���%ӽ#� �e$u;���}�$�ļ�`P�t70\Q�|�"l)��
xY��&j�և����)��n/�����|73�5f~�w''�4؀Il��%1	BBQƨ��� qD��>7��z�j�S
������I�G���zc�
�N+�9�5���s�;Q�������8r0�g��6}}c�q��To�(�ʄ24����xp+sn�U�̺��bl���_@
a�`o��JtZ*�k���?+�d
+��d3
�K�)�F� �)�W�>Ɏ��F =m�����%��?�
sL�g[���
(�\�ģT��+�/��"BY�
x!t��9
�'�FA
�yT

�`E&胱��3��r^�}eE�#�
�!�תt_�̷gN��Ž���L���va� �����8qVo��U�B�>8٪y���ٵ�Z�jo��@<t"��
��FhD)�u�k�O"[�����8�\�U1EÊw}9-r��& ����)z�e
5T�*�d�

E�G��ռ�3��P9"�a
׳4}z���c�J��ŷP
Sbj8<;P���9����ϓ?|�#zw�U�=:��гg�G�ߓd�lj��2=)8��N�TD|��Dh^V���Dt�*[�3H�Oc�����7�ԭ沪��?�b}�V���پo��!=�6���M-���_��L�
�k��˼���|�n�W4:?�.I
툡��vI�Ɔvv�c�����j.v�k�SA/
�
潬�� 
7��Eח����8��C��ڹ��
�Bӿo0�n�/�OG��
��w*��?���CE�ˁm S�P�w{����%������ntcv�6��X2�w�<V��&
�IF:��̶�@�m��
�n\\��%hQw-�+Y;5��
���c�kw5���[1���<rx$^�%
�&�|����wY6g��X��_��
������.0:������2��H�/2�><�����
�ysۏ�yj���B�{ѫN����_y�'�AĕNuj�0"���'
�	��B�6F��3�N
���m������z}<
Qޡ�)[�J�n�j}��9i!$F��+�)�IH�3��$SX�<ek[���'���%
+endstream
+endobj
+1763 0 obj <<
+/Type /Page
+/Contents 1764 0 R
+/Resources 1762 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1702 0 R
+/Annots [ 1733 0 R 1752 0 R 1753 0 R 1754 0 R 1755 0 R 1756 0 R 1757 0 R 1758 0 R 1761 0 R ]
+>> endobj
+1733 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.062 697.994 287.823 708.898]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a3d5082778a4123e14fc66912860bb420) >>
+>> endobj
+1752 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.062 652.166 304.969 663.07]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a868e2f5d243f0fa2bbc4abef8f68fc74) >>
+>> endobj
+1753 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.068 617.297 268.086 628.201]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_aa69764bcc2ebbadf48dbcfd23dbf0f27) >>
+>> endobj
+1754 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.062 580.435 291.13 591.339]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_ab284e2d9cfb5cf819fe552f5c20c4246) >>
+>> endobj
+1755 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.062 507.394 243.549 517.924]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_ad508a885c0ec878d20c030b0897fdd89) >>
+>> endobj
+1756 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.062 472.525 251.29 483.055]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a3fa2bca063e4e77e27e008d3ded61be4) >>
+>> endobj
+1757 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.062 435.289 300.554 446.193]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a508918bb6bf8c118c3e20f7e00605740) >>
+>> endobj
+1758 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.062 400.794 308.295 411.324]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a0cc57b7b8fc5f93c1b7a40c3ae293be7) >>
+>> endobj
+1761 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1765 0 obj <<
+/D [1763 0 R /XYZ 90 757.935 null]
+>> endobj
+1766 0 obj <<
+/D [1763 0 R /XYZ 90 634.398 null]
+>> endobj
+1767 0 obj <<
+/D [1763 0 R /XYZ 90 489.252 null]
+>> endobj
+1768 0 obj <<
+/D [1763 0 R /XYZ 90 417.521 null]
+>> endobj
+1769 0 obj <<
+/D [1763 0 R /XYZ 90 365.092 null]
+>> endobj
+1770 0 obj <<
+/D [1763 0 R /XYZ 90 306.392 null]
+>> endobj
+1749 0 obj <<
+/D [1763 0 R /XYZ 90 284.08 null]
+>> endobj
+1771 0 obj <<
+/D [1763 0 R /XYZ 90 284.08 null]
+>> endobj
+1750 0 obj <<
+/D [1763 0 R /XYZ 169.73 183.067 null]
+>> endobj
+1772 0 obj <<
+/D [1763 0 R /XYZ 90 166.34 null]
+>> endobj
+1762 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F92 1105 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1785 0 obj <<
+/Length 1958      
+/Filter /FlateDecode
+>>
+stream
+x��XK��6��W�T�� |snY�:eo�5kO�R带(
+�L
+	Z;��ۍ(R#ٓd{��g�__w<x
x�������79JVfQ�o��y&X��~|
gQ�\	�yx��}�p���Nn��m�]�=���-���2���GZ�\E)_�U�S���n)�P�Z.Wy��0�����-�q��m!�9
�L��<N�z����p�Ep���A��m��/�T�4;,��R�~� 7q���k���Zҷ��V���N*�B�u������ٹm�(:t�I�$[�b���o
�����y�����2�V�p�
��I
�
$
Ӡ2�w%+S'X]!�� 	x~� �~�)�K�������<�%M7�m��B{�!�Gg��?,��v�
R!�?�7m$K Gp�@�D���
��ԓ`0ju��\5�1
*�����͡D�z�� xt41��zND���N���g�#D��4�)K���3���U
�I�	~X�b��ހ�k�A
*h�}�?IcL���������Rʺ
PA��p�^ʛ7�TCI�b��)#�?��h�L+�>��yL��K3t�ỢO?���Z+S��}�������xNSҮ�[β(�x�
B��l ��_���i�Q[
�A$�@�փ�&�	��L���e�;܉ү��T=�;��¶�?��uG($�D�G�MW)�D��]ez-�Q��[&<|5î�:
�$����F
z����
�Co� -�i~�04�&�,
Q�$������0v�z�i�R��+
w�Z�����C���NLp	' r��Gs�$� )�� �1��
�W����<��
f��NzPp��-�Nw��zHq~
R��
R�6�D���{49g� M��7w?S�slQo�7nA����\�X�LV5����#���E������G
t�
E5�� �Lr�x��ڴ�� ���T��{�
�
+1 8�F����䆌�᣶u��i�6��^�\`����j&*)7�4��!��+��;��ɇ�V�R.�����b6��x���֥t��604z�[W)Q¾�
�\�9v�g�%��\�)v �~;K��\�'��
ETšzlTD��Ȳ���륈*9��� ��ӟA��Vc&2!��[8�N���s�a��+��T�@��
�_����=�L�v0�z�+YC�E�tm�v����@#b7�<�wW�9+N��Џ|��!�c� ��Q
�!������;
,�y`ᡏ�������;������@ՁRT��a���I������(f%�`EYz�
.h����k��DыpZ�y���!r*h�����ܗDТj�`��O롵C����v넝
�'ٙ6�7JƋQ]�y���z��0�KE
d
��or�M �CS�����?���/��I�׽"���
�-ih�;�=���;ܰ�
Nu�����w����ԕ����
+,AT��܍�ҷ�x&�>���sӖg��Hg/".h�hd��Zch#_�U��='���=27��xT�9�O��
S�ֆ�WKz�B�
�ki�c	 �L?�{���F*�o�i�ش���h6��x�7� �H�
&�ɒi��Њ��n_f����E8*8K��r�̟�*مZ%��*�_
����f���ˡ1ce����/�
�L��%�Q�(<�Y���8n�k�I�=�g
7��S�R�uN�A�j|]S�yz1:h%�9nr�2gŎO��w��opV����� �	)0���'*s{,�Q� *�U�=���s��G��\�
D
+�#�~>
'h��U�['�{2���=�M��
;Y��
+������sU�?}f ]V���ӿxfX���3���L����u=f�;{�}W!���
�OW�q�

��
+$�Z��n�gr�W
���*5x�A�M�\h��Y,N��tZ!U||��w�f,-�
�3�p{ss<
YݳA5��5��pho��ʼn�	�ǂe�
k[���,�:8-\�s�����cj����B�
+endstream
+endobj
+1784 0 obj <<
+/Type /Page
+/Contents 1785 0 R
+/Resources 1783 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1702 0 R
+/Annots [ 1759 0 R 1760 0 R 1778 0 R 1789 0 R 1779 0 R 1782 0 R ]
+>> endobj
+1759 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [227.82 707.957 335.356 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library) >>
+>> endobj
+1760 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 696.625 210.548 706.522]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_ae3eb174fcfe2ba578f4d3d714e3743aa) >>
+>> endobj
+1778 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.893 465.891 513.996 476.795]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a868e2f5d243f0fa2bbc4abef8f68fc74) >>
+>> endobj
+1789 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 453.936 155.753 464.84]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a868e2f5d243f0fa2bbc4abef8f68fc74) >>
+>> endobj
+1779 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.473 350.835 424.869 361.739]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a3d5082778a4123e14fc66912860bb420) >>
+>> endobj
+1782 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1786 0 obj <<
+/D [1784 0 R /XYZ 90 757.935 null]
+>> endobj
+1751 0 obj <<
+/D [1784 0 R /XYZ 215.131 699.155 null]
+>> endobj
+1787 0 obj <<
+/D [1784 0 R /XYZ 90 683.698 null]
+>> endobj
+1773 0 obj <<
+/D [1784 0 R /XYZ 90 572.144 null]
+>> endobj
+1788 0 obj <<
+/D [1784 0 R /XYZ 90 558.221 null]
+>> endobj
+1774 0 obj <<
+/D [1784 0 R /XYZ 267.991 457.089 null]
+>> endobj
+1790 0 obj <<
+/D [1784 0 R /XYZ 90 441.009 null]
+>> endobj
+1775 0 obj <<
+/D [1784 0 R /XYZ 484.685 342.033 null]
+>> endobj
+1791 0 obj <<
+/D [1784 0 R /XYZ 90 325.953 null]
+>> endobj
+1776 0 obj <<
+/D [1784 0 R /XYZ 376.044 215.023 null]
+>> endobj
+1792 0 obj <<
+/D [1784 0 R /XYZ 90 199.565 null]
+>> endobj
+1783 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F72 277 0 R /F92 1105 0 R /F88 819 0 R /F23 244 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1801 0 obj <<
+/Length 2195      
+/Filter /FlateDecode
+>>
+stream
+xڵXIs�6��W�rv�@��o�+N��L4�Rsp\*6R��.i���yx`�TKqfj���߇�ޣǽ�����~s/ei$#���K�G�))������|��s�ͺ*�o��t��.�/�]�u�ׯo7��Y7Yy�v��h��V*�)���͟���6"�u�k8Q�8�p������wW�_	�{ˆ�b�˫�������w
H�&�Ѭ��P�-�W���suT�RG�Gʪ��q�P@+"�~+�G����/mS�u�A�E���(K���HQ���v�{;�7n�ۦ����`j9�-�KC	����{�l�B0�Ӫ��wz8���ݫ�ޛ�

�Lđ����4?d��?PC�KF��e��(8v��x�Áy����f5��5�
���!�<��_a7�w'��k6R�
���x޺�{$������J2s+�ً�����ę=���t��L���mv�u>02R1���~�c�k�>��_�Vol��������R����b8���N���,V�t8�^�?�w�pT��;Z�i�6
2��
+�4��W�E|��9��D��+�%�&�=
+�vF1>/' Z�$ܹ
$�I0�Y��
+K��!,R����r���v̴�C5
��
��-����[��m��˜P@�ۃ����
��?G8�.4�f���U3I�&9K�r�8ً��p�$h��͝��ߦsǀ\�����5Ч
�a+���6Ub2�=P����OC8a4a���l#_�C
9
�^�'!��b��p�f����e4��|�ɪk2#V+#
ؖ�k6`�
+�T���D��*tS��}>e镄�`�-|���\�\`���Tr�g�})��zb9��ўk�.K[��A�¥74S�=�vtn?tE>�'�{�t��A~s����*]a�b
^���%`i<��xF��p��v4� 6
��fΥm����t
��
xr��Y��Y?�؏�2�F�b8Q��d��S�#��� �H��T}-�1S��/�'`J�k�1��a
@�&QfP0(�fpf38�`�XCr��Kk ��
�
+x$r<8g
��GsS���"l�ha�:��_D����X�ϲ
+oIEZiU����J,�8�gK�
+amw;�B��͠_���Jsw(�$��
I������L��/e%��Y���B
���w��*��Q,X,=�4��bI8��N�و�\<�����]f�"6
�o�#T�(e�J�8�ˀ����EP{;���I
�Fi�6�55�Cl�u�뽝7ws
�Ĵ�Es�A�80K���ӭ� �*'QQۅ�z����{�(��XQ�{�n�`���c��|�$iam��
+��k*;eSP��
 IC4O��m
��onyE׀V�o���~�ի��N/J��p�+��!gh����Ŷ�b:�_��h�U�>��˩��e1��jBLlW:�+��vM
��;2���"�4���R
+�覶�-�A�̜�Ad
��噰�4��~�RgtM����G��Ka=�$g���iA׆�7�c�8fpM"hh�w`g����t�[W�@��1������F	.j۲�)�/D�T�caC6FN��Ovȼ���ᳲ/�����cm�
���&ܡ9$�QϞ�,�@kl�lO����Z[�Dw�'k��5�8�ci��ēD�b��I��7��Y����ĊS�
�;�~a�cF�G]c�iǧm6��xh
�
+�W��~��OD,
�^)֯R�媏��q��������gz�K�8&�����e�,���������!
��^�����c�j��ݷo�ܹ
���PW�\�l���E�@����/�C�y�n���t�e`U�8�\	�o�]i�����v��;��/�B�j	�R<�ꧬi���
VA�ުO�Ь��^!�� Y"s
Y"�-ߍ���y4�
N�Բ�g?���]�*N�$����w��J�x���ˤ��.�
v�s)����y���b�sm?�����@H�P����8e�L�����V@O�
+��3R&�t��
G(<�x�������(��_ݏ����Џ�*��O�*�S����E�u��t��+�����1{��n�M�`���
��#��Q�Y=���!0�3ș������(�5�o�k��>\�
+Jؤ ��o��о��>
�,� c۱b��~ZΧ��x���TM��EP�#o�
�E�$ր�ҩ��� a�Pc
+endstream
+endobj
+1800 0 obj <<
+/Type /Page
+/Contents 1801 0 R
+/Resources 1799 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1808 0 R
+/Annots [ 1780 0 R 1781 0 R 1793 0 R 1794 0 R 1804 0 R 1795 0 R 1796 0 R 1798 0 R ]
+>> endobj
+1780 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.946 707.957 484.558 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Timeout__Exception) >>
+>> endobj
+1781 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [118.612 684.047 210.269 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a3fa2bca063e4e77e27e008d3ded61be4) >>
+>> endobj
+1793 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.549 516.04 290.161 526.944]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Timeout__Exception) >>
+>> endobj
+1794 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.474 504.084 513.996 514.988]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a0cc57b7b8fc5f93c1b7a40c3ae293be7) >>
+>> endobj
+1804 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 493.19 144.794 502.65]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a0cc57b7b8fc5f93c1b7a40c3ae293be7) >>
+>> endobj
+1795 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 151.045 182.174 161.575]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function_aa26b90cbd295d1509505afa09fb6a72e) >>
+>> endobj
+1796 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.356 112.066 184.485 122.97]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function_a56bef6f865a68fa4da54417474007228) >>
+>> endobj
+1798 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1802 0 obj <<
+/D [1800 0 R /XYZ 90 757.935 null]
+>> endobj
+1777 0 obj <<
+/D [1800 0 R /XYZ 214.851 687.2 null]
+>> endobj
+1803 0 obj <<
+/D [1800 0 R /XYZ 90 670.585 null]
+>> endobj
+625 0 obj <<
+/D [1800 0 R /XYZ 90 274.867 null]
+>> endobj
+186 0 obj <<
+/D [1800 0 R /XYZ 90 267.881 null]
+>> endobj
+1805 0 obj <<
+/D [1800 0 R /XYZ 90 169.52 null]
+>> endobj
+1806 0 obj <<
+/D [1800 0 R /XYZ 90 169.52 null]
+>> endobj
+1807 0 obj <<
+/D [1800 0 R /XYZ 90 131.035 null]
+>> endobj
+1799 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F72 277 0 R /F88 819 0 R /F92 1105 0 R /F77 334 0 R /F83 417 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1819 0 obj <<
+/Length 1598      
+/Filter /FlateDecode
+>>
+stream
+x��X�r�6}�W��L ���ڦ�$m:n�>%
,B[Ty��~}7��h%N��Ll�$.�{��
{;{?.��]\�����4��w��R��A��6�����,Wc�x]���*��"�����j^�__߼�Y?���+�����rE��/xӘ����$����K�؏�������?��
����6����e���f��wԳJ/�\
�������O,�Dp�� �b 
1��{J��n��n��I��|I��qI�o
���Bpi�+3띵��^�&�y�塽_o��*y.�۫Y�1��GF������Be7�(
+��"!J��F�]-���E
f�6�ںf�x� �nR�5�q��A%�{3r�ڽ����07�NnZ {�<w�������ϑP�E��A���=�#���Nf�=�T�L�
����8B
@_��)y<�E%w�/��u.���P��yٕ��#/:�&p�;��w���1&�!���;_�0��桀��&��I�_>�.y�tut��!����fhK�Q���!-C����eM�
b�
y�
�A�Q��
�S
�W`�Q9X��eܶ�OC(Ѝ�kH1
SSuz�q�K.��`��9����С1
+1��>o�*4L�N �ES��m���َ���Evc�U�TW�4�t��W$I��[�",0F���[�b�:�_�����6�Ǥ��Q�F5����~Y�h�"���(_gx�e��0{.Z�ξ����AW'm�D
��(S�ѷ�&H�
n�
��5�W�M=��RȦ��-����*������o��SS�k��z�ݾ�t�	�
�9���ޛ�}����ޜ۠��"�̦e�����շ��a��y&�}�Y�%/EfQ�üg�a�`�}�ڐ�؆)[H��#���Ҙ"
+�vPDR6ĖZl�Xjq�6
��r��[�Q�&��D�Pe�Xں���W+L�����3���=�Q�<	C at +fD�(�A��$<���(�%���ڇ�
+�QG��V,EI�T/F��`ل��j���\.xz�;��	�6P�D�m��>7���
+F�pw����É�6�lE���lP���װe�
+����2ĺ��H�zM R����d(MN�Ⱥ_�
�3� NK��`��DVR< o��Z�
|�)6̃bB:�elI
��G/p�$TI<�~TS
�if�K�(�aƦ�rh9����?��U ��@����2�Ч��� >u�|�>Ș8�J�yy����Ȗs$&P�#K�БN��0��)6m�n	��
+
s��ˏ���ڋ���q3ԋ 8�� &�v�G1Jq<�I�
>�@Ƌ�vN:6��@�Nٛ����
��U9�϶*
+��{ᬂP��4�)��^�7
+�	���\IS��!��P#��	A�Ԧ��4�y�&�K����g�,0��*�P-�C�t��RB}T|���/:|�
�E�� LT���_b7J��۟��)-���L�)�-쥥�3���l�77���`^s����n��k�ֈ��%c���5���F�h��>��݉��� 6z��*6���s����'),bI/F�m{���:
�hӠN�����P\���;�B�7Q�kӞ�����40�����~�%L,���  �o2��&
+endstream
+endobj
+1818 0 obj <<
+/Type /Page
+/Contents 1819 0 R
+/Resources 1817 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1808 0 R
+/Annots [ 1797 0 R 1809 0 R 1810 0 R 1811 0 R 1812 0 R 1813 0 R 1816 0 R ]
+>> endobj
+1797 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.383 719.912 263.817 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function_a0338aafe90d94205c2cb20cb714bc8d2) >>
+>> endobj
+1809 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.555 681.058 236.709 691.962]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function_a82437262d9ddc0d2a8278e5f6d29f1a9) >>
+>> endobj
+1810 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.555 642.204 183.578 653.108]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function_ab9ed1dd0b1f4bed335aefca206504f7d) >>
+>> endobj
+1811 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.356 603.723 177.83 614.253]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function_a13d3f5de275c9f897d8b3c077ba38c3e) >>
+>> endobj
+1812 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.356 522.96 191.678 533.491]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function_a9d54e335e90cfbe82d97e3000f88df20) >>
+>> endobj
+1813 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [121.93 88.916 294.561 99.82]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node) >>
+>> endobj
+1816 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1820 0 obj <<
+/D [1818 0 R /XYZ 90 757.935 null]
+>> endobj
+1821 0 obj <<
+/D [1818 0 R /XYZ 90 700.151 null]
+>> endobj
+1822 0 obj <<
+/D [1818 0 R /XYZ 90 622.443 null]
+>> endobj
+1823 0 obj <<
+/D [1818 0 R /XYZ 90 541.561 null]
+>> endobj
+1824 0 obj <<
+/D [1818 0 R /XYZ 90 541.561 null]
+>> endobj
+1825 0 obj <<
+/D [1818 0 R /XYZ 90 485.267 null]
+>> endobj
+1826 0 obj <<
+/D [1818 0 R /XYZ 90 414.611 null]
+>> endobj
+1827 0 obj <<
+/D [1818 0 R /XYZ 90 392.299 null]
+>> endobj
+1828 0 obj <<
+/D [1818 0 R /XYZ 90 392.299 null]
+>> endobj
+1829 0 obj <<
+/D [1818 0 R /XYZ 312.673 303.241 null]
+>> endobj
+1830 0 obj <<
+/D [1818 0 R /XYZ 90 288.571 null]
+>> endobj
+626 0 obj <<
+/D [1818 0 R /XYZ 90 158.103 null]
+>> endobj
+190 0 obj <<
+/D [1818 0 R /XYZ 90 151.503 null]
+>> endobj
+1817 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F83 417 0 R /F72 277 0 R /F88 819 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1849 0 obj <<
+/Length 1417      
+/Filter /FlateDecode
+>>
+stream
+x��XK��6��+�+>'I���]���$MR���$9
a(�+��	��ײ���d&�lI����/	[
[����G�[!
+=�Y�b��b�X��~L0r�=!�q�U�y�b��"�K����j�r��)��l�ĞP��/b^��;��o�F6sX@Ǟg���6}
@�-��3���d��#�V��� ���ӳ˥<c�v���Մ:{��dV-c5�ވd	���M�F���B�1�Mo�w���քR�
?P�:k��fJy)m��_l�Ƣ�Qk�6�����Zxm���b�6[�Ά�ˢ��W��t~����2�b��FE�)���lot�}+ ]=�ֵ�ѥք�(t�F�w��T��YnE��*a$�ʂ�����0亖8�	�#��<�h�u������f�,"�"z��Dk
��Dp��O
�I
=�'�	Ag׬,���ٝB��LBCd
{���&�։� œC�Dڸ�%��X5�E)��.�@�8:w���F��
$�R����H;�ѵK 8t�Rdq�e��	�����A47
WYT%"-�a��@�1utH*w6�c�6"��FǵʒS���8���N��
���B�Hg����H���ZD� �:z�'nS
�rxK0D.A!���2ۃ#���X�}�ؖ.
#�'�T&9�����!g*���do�\i
���L�BɲE5�������'�ho�X�"b���ݛi
ųFݡTg�.+�<%�>� ����&n�i�n[��]6>ppO؀)&F*�Ő�K�������+�Բ��e��Q��.�؄pa�W��e�6y���&����3����:Μ���C�D�>/@��Z������|w��z�C����V� �-�C6DC缍�;?��K]2�:��k��C$<�o�.�Ƙq�I���cQd�~���	Oy]U7�����]_�D}�b�]��3��:(DY�+�,ۼ�u�O�.����:����	
꜈ֵ8@�����Ҷ�Et�"z���d+���o:U�\]r�����9 ����δg}*�_E�#��\,Ңm���b�k��
�

@�L�6j���Bi�M>͎�k_�0��-OW�7�Co%��L\��

Ænܟ�\;�K�1���o��yӳ��Ķ��3n��kN��K��6�A�sHp�E�m�ຟDT_.�W��y�N��?'��b���1E.�yO!�3q����	��;��OQ.�rsU�C�  �,
$����Y	)�)}<E�w�^��|����N=�Є6W�,D��'w �i<1�
sln����s3xu|�����M�7�p�Wk}Eb���B�_l�ƭ���2G˚��g���R����[���Z�폚uz� �E,�5�e�_M�www(*P��\!YN�<�����d�=m�۠$S4n��
�Yִ��Lab�o���_���
+endstream
+endobj
+1848 0 obj <<
+/Type /Page
+/Contents 1849 0 R
+/Resources 1847 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1808 0 R
+/Annots [ 1814 0 R 1815 0 R 1831 0 R 1832 0 R 1833 0 R 1834 0 R 1835 0 R 1836 0 R 1837 0 R 1838 0 R 1839 0 R 1840 0 R 1841 0 R 1842 0 R 1843 0 R 1844 0 R 1846 0 R ]
+>> endobj
+1814 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.351 697.621 206.184 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node) >>
+>> endobj
+1815 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.682 697.621 252.948 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Decision__Node_a28255dd92e8d19d88eb174301fe3f226) >>
+>> endobj
+1831 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 440.561 169.043 451.465]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_af967eca4ca6d0e0e236868103ba9dc65) >>
+>> endobj
+1832 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 401.707 169.043 412.611]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a648a17e7c1bb0ed0ebf616eb4a7b8e78) >>
+>> endobj
+1833 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [213.546 401.707 291.373 412.611]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+1834 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.151 401.707 361.927 412.611]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
+>> endobj
+1835 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 362.853 169.043 373.757]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a8287cc70d71cf8032aedb143d2e11d7b) >>
+>> endobj
+1836 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.859 362.853 227.991 373.757]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem) >>
+>> endobj
+1837 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.356 324.372 177.83 334.903]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a790d42c501f7fc8685da1a07afa4b546) >>
+>> endobj
+1838 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 248.591 264.491 259.495]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_ae9f96b3510cf17d4a65104954507a59f) >>
+>> endobj
+1839 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [292.672 234.966 343.567 244.872]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem) >>
+>> endobj
+1840 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 211.729 242.354 222.633]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_ae90b3754a8d7d5346feaa19af1c8e2d6) >>
+>> endobj
+1841 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 174.867 339.738 185.771]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a9634759f4e965e07036fc9381502d9b4) >>
+>> endobj
+1842 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 138.006 208.312 148.91]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
+>> endobj
+1843 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.81 138.006 328.111 148.91]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a54397279ba530e6606a150de9ac12898) >>
+>> endobj
+1844 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 101.144 294.926 112.048]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a824b5091189207ec0ee311c102c23f72) >>
+>> endobj
+1846 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1850 0 obj <<
+/D [1848 0 R /XYZ 90 757.935 null]
+>> endobj
+1851 0 obj <<
+/D [1848 0 R /XYZ 90 716.221 null]
+>> endobj
+1852 0 obj <<
+/D [1848 0 R /XYZ 90 716.221 null]
+>> endobj
+1853 0 obj <<
+/D [1848 0 R /XYZ 90 659.927 null]
+>> endobj
+627 0 obj <<
+/D [1848 0 R /XYZ 90 564.608 null]
+>> endobj
+194 0 obj <<
+/D [1848 0 R /XYZ 90 558.008 null]
+>> endobj
+1854 0 obj <<
+/D [1848 0 R /XYZ 90 459.535 null]
+>> endobj
+1855 0 obj <<
+/D [1848 0 R /XYZ 90 381.946 null]
+>> endobj
+1856 0 obj <<
+/D [1848 0 R /XYZ 90 343.092 null]
+>> endobj
+1857 0 obj <<
+/D [1848 0 R /XYZ 90 263.669 null]
+>> endobj
+1858 0 obj <<
+/D [1848 0 R /XYZ 90 228.83 null]
+>> endobj
+1859 0 obj <<
+/D [1848 0 R /XYZ 90 191.968 null]
+>> endobj
+1860 0 obj <<
+/D [1848 0 R /XYZ 90 155.106 null]
+>> endobj
+1861 0 obj <<
+/D [1848 0 R /XYZ 90 118.245 null]
+>> endobj
+1847 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F83 417 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1890 0 obj <<
+/Length 1681      
+/Filter /FlateDecode
+>>
+stream
+x��Y�r�6��+��4�a |����t�4S�v�I2
��d4|���_�
�D��e�J6@�{ν����ί���&�oC��(h�\-�;a@�O�s�9��#��N�xZ��`I]��k�5,�ża��͛�w��y3#Ѵ�缘�PO�r&��^��^�2�0��Gt��/W�'�\M�M�;���Q��NZL>}�N��w`q��v�
+ǣ.��s9�c��N
*�
���		Q #�� �
�6?S�w˱��O'>l�d��Qz3#�����U�4m՚��Y�E�K�(WŜ7I�HҪ�m�D�ʻë�����
���	��
xjݔ��#X��
ޮ��X��6
���z�Х^�څ^L�c�?cLK����L
+�R?537��{x�Uُ
k>}��Kt)
+c
+��VW�Z7����m�F��1� �5C
+0F=	�����8�Y��7�&�MD�q5�?a�QF�\/
+�}<h�Y����z
+c�6��%�1���+u3�|##����{�>�a�q���1��\�e���
+��4�]�0*O<�f�Ό����m�c�d*D�����a��ݔ������~C�d�6�k]H^��ŝ�Hb�3Ah)�^
9v A�ȡ����Ã��7$m5hu<7�t!�l�
�P��6'A�h�n�ǣ��jY����5��d�n�w�"�����K��q���4/�tU
{|��;MW�-�|ݣ{���7����3��(0hϮ%�h��Q����g�� � 1����0����ǵ�
�iV\ׄ��K������VH���η<�uM���V�T��P�{���ЫեsHyq3
����]�DQ�d[*�v���5��[�Q����s�	 �C��b� 
'j�\�ZZ�|��b
eU���2��n�M�;�h���)�b������u\\�d�WM]I.w�l
E<��cҕQh$��L�u�c�LX����2�X�T���r.����� ݹQv�D���)
���hNQ�F�撷r,�y�o���2,0;��V6V��z��O���XV�4�Q٠O;"�
�e��Y�H�x)�85	�4;{<��Hn�Ԭ����N��f
+�s��)�F�$�z�V>��B���
�t��,ׂd�n���S�[8�!(����n��A�E��
$u�〪t��f�To�g4�*����m|K�n�7Yq�+R�z��::��J��C0q�Q���a��!S%�`B�\�vl
˼������h�͕F�	PF"r�!����O�]��v��z���'�>F�O�0���q2�-��{��R�9�����M>����u#t�"�Q�l�
>r�C�a�-����':
�6������
��-w��L�U��u<�P<�!
AH]��;�/y�0u�2{�G�
 ���,��Ȁ���d#U��� .�d�Q~(�'A:B����YUԫ���e��ڝ���)��+Q2�:�_4�79��b�W��m&�h�û���.r�
t��}T@��
+���w?��8����g��(U�}��c��H\�L�AS�Ssn?]�����K��)��hɼf�rŖf�w�x���>���a��Sis˲O}��)��YbD�B٤ȗ�rA��ck�tk�:�Q`�{ݶ������[�J�*E� ў�u~z��Q����A�����cl7��Ȭ��	�D���aCP�� ďh�
+endstream
+endobj
+1889 0 obj <<
+/Type /Page
+/Contents 1890 0 R
+/Resources 1888 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1808 0 R
+/Annots [ 1845 0 R 1864 0 R 1865 0 R 1866 0 R 1867 0 R 1868 0 R 1869 0 R 1870 0 R 1871 0 R 1872 0 R 1873 0 R 1874 0 R 1875 0 R 1876 0 R 1877 0 R 1878 0 R 1879 0 R 1880 0 R 1881 0 R 1882 0 R 1887 0 R ]
+>> endobj
+1845 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 708.183 265.597 719.087]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_ad66523fb7b954dfb1526e36e8b27bb96) >>
+>> endobj
+1864 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 671.774 195.042 682.678]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
+>> endobj
+1865 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.54 671.774 275.967 682.678]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_adbfadbe547b418acdae00edab337eedc) >>
+>> endobj
+1866 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 635.365 229.362 646.269]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+1867 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.861 635.365 275.021 646.269]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a2785a80c9004bee93bfd1117b92d3545) >>
+>> endobj
+1868 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.384 598.956 226.314 609.86]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_afcbd2ac6b9314e699c7a5dc24bce759f) >>
+>> endobj
+1869 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.384 562.546 212.486 573.45]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_abc8db2e604f78ef5e10885bd22d73db4) >>
+>> endobj
+1870 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 526.137 268.376 537.041]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a7a358e1419ff673a1bfe9f45339b08d6) >>
+>> endobj
+1871 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 489.728 282.603 500.632]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_aa31e71a85cb3b2ca9cd0ec4ee1510ebf) >>
+>> endobj
+1872 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 453.692 201.946 464.223]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_aed08641850e37f11854eb35aad8df8f4) >>
+>> endobj
+1873 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 370.563 192.89 381.093]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a70c7657a50eddefcf64a8ae441ee5065) >>
+>> endobj
+1874 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 335.546 316.306 346.45]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a6bfd316c1ba27c4f21e6710fc8fd3950) >>
+>> endobj
+1875 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 289.944 322.941 300.848]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_af08433106065fada525b5a53a720205e) >>
+>> endobj
+1876 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.757 289.944 383.533 300.848]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
+>> endobj
+1877 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 253.535 293.621 264.439]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_aa96a2b76a7f5ef9d6e7b3d39600edc9c) >>
+>> endobj
+1878 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 217.499 232.192 228.029]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a35c6f27597bb1b3e91f42983100adfa2) >>
+>> endobj
+1879 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.008 217.499 279.514 228.029]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
+>> endobj
+1880 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 182.483 236.068 193.386]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a2940a7c722ff786661a179b646a82346) >>
+>> endobj
+1881 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.883 182.483 317.71 193.386]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+1882 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 110.459 239.036 120.989]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a668742e4690285d10492b974e2cefb71) >>
+>> endobj
+1887 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1891 0 obj <<
+/D [1889 0 R /XYZ 90 757.935 null]
+>> endobj
+1892 0 obj <<
+/D [1889 0 R /XYZ 90 725.171 null]
+>> endobj
+1893 0 obj <<
+/D [1889 0 R /XYZ 90 688.762 null]
+>> endobj
+1894 0 obj <<
+/D [1889 0 R /XYZ 90 652.353 null]
+>> endobj
+1895 0 obj <<
+/D [1889 0 R /XYZ 90 615.943 null]
+>> endobj
+1896 0 obj <<
+/D [1889 0 R /XYZ 90 579.534 null]
+>> endobj
+1897 0 obj <<
+/D [1889 0 R /XYZ 90 543.125 null]
+>> endobj
+1898 0 obj <<
+/D [1889 0 R /XYZ 90 506.715 null]
+>> endobj
+1899 0 obj <<
+/D [1889 0 R /XYZ 90 470.306 null]
+>> endobj
+1900 0 obj <<
+/D [1889 0 R /XYZ 90 306.932 null]
+>> endobj
+1901 0 obj <<
+/D [1889 0 R /XYZ 90 270.522 null]
+>> endobj
+1888 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F83 417 0 R /F95 1427 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1918 0 obj <<
+/Length 2100      
+/Filter /FlateDecode
+>>
+stream
+x��YIs�6��W�6d�"H��rr��x[3'Յ�ZH�@K����qSks)��Dx�ۿ����}?�}{uv����
+Uy�W�AE�Ipp�
>�8Fi�p
�aOEC�}Wo�N�u�7������O��K�2�65k�UB��Ji��53ˬ�28,%e�e������ξ�a�&��N
+T�$�6g���
̿@��
�
UdI
+�:�t��Y�4���|���aG��(ΉU��$!���|^P���G		o#LB�(�db�D�hh�VVk������ g'>�Ov���A ��kLb�Ë��|U%h�gZ�$Ay��NPE����+���1gyu�"/�
�"ʈ�:�dd63��sK0�p��f��R
+���
{��w�1EU�����A�΄4��3oםx����~��>Y���\*��
 ��o�@gC����_��3��G��w&*Lt��(�@��@ġ�/&� ��'�� �w]�,h�N����6L11�%��(#���U���H���K��
��o�1i}xF�Te�Z��_��ԭ;��'.E�b�yPP#�J/C�dy	�V�~\��<�-�?7Dq�p�>�C��3�pu1f�7�\v0�8W�3ne8A
��)�L]�=��0�8�k at e��!]:�{b�J�4��ૂ՝~�5ы/���*N�� ��W��LQYV�k�^�%�
�U��o�����! VY�0)|f�Ql���J�3k6�!�C�� �8��(KK[�^�Iٌx:VL������ļJ9;@�VY�s�fT�����["J����`[��ЖjT���n��LM
+��C�.�T�Rw�%�c�,wf��
aי�嵗�{&���� /���2�f�=�M�I���sy�S���ޛ �D��IcKP�tF�*���mkɺ��en|m)�=����
`��m�yj�B�B@�[F��Ҵ�31M��7^�h
+&��\/{��:'n��Z�[��
2P�zM�B��
k�н�b1�B[���-�f~�6�X��i�q��0Y�+���M'�� ���#	�{f2��L��*;��Qk'�^0
=zŝ;�.L�c�cvjoBw0C��^�L
�\���
z�Q�]�k�@;�f�K��+R���+/���訃
g�b��:���0a�܎ٗ`�:�7���	$�u�(;չ
Z'i�M��98pvT- �����ye
��[�A at 7�}�{����Y��TN�N�s��1�s�d�F�bQ�f�/-�?V��hD��N��PI�h��lpP����
m��i�%%JI�7�F���[��:�����8	��q�.Mænf�,��z�.�p1��q��e׸�G��e*��Bo����d�5��G�!8��n�^��)��oҩm'���m5������)+Oqv��̆"�p�=/�;Sy��8F9��
Ld���۝2H��4�^�
�?�J��Mb�/�z3��1+s
������(�11 ��p�Y��9A8Ӿ�M�
+�d^�>t�*��AE\��Q��܃Mh"wI8+
���B�k�P�#+�]4g��i�웆��"z��)��
�r�f�f�+;�Z�'�f(,�ɖ�f����X�
gaz��hE�t�6-M�a�\�ٴMa�.�C�wB�e�D�*��vּ�
+�S��
�o����tq��ö�r
����,7;Z;5x�^4�v��sC
uA򦯍��t
:���i��Yo�?v��ކ�=k����"�ݴ�
�yn[2�mR��oLe�1�4�ﶙ,�I�‹	XU�';����1].�C�ʛ��d���M�"25��ϲXR��B����ߜ2�Z"iݕ`
��	��H;4^J��a0�"4�$I÷rI1����s��O��Ei�|����G�Ẃ䄮Cx��/�y�w���,�ܙ�sG9GJ�MWj��vb|
�b��RK6��-��᪗������ؑ���[���� �).�O��6����7
��/�C�}yO��1�2m��wG�[��6����$��	�i~���Wr�*�Kb��@5�_܍��W}k�??���E���	l"�P�n��/������V�C�{��:����~s2����(��d�\l�+S��
*1��U{�oP��1�qω�{�L
+endstream
+endobj
+1917 0 obj <<
+/Type /Page
+/Contents 1918 0 R
+/Resources 1916 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1808 0 R
+/Annots [ 1883 0 R 1884 0 R 1885 0 R 1886 0 R 1907 0 R 1908 0 R 1909 0 R 1910 0 R 1911 0 R 1923 0 R 1912 0 R 1913 0 R 1914 0 R 1915 0 R ]
+>> endobj
+1883 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 720.286 236.008 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ga1c0bf670d1be309282e282c6847dff2f) >>
+>> endobj
+1884 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.506 720.286 259.38 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a8f3243fa126b883715b5d2e1fd624e0e) >>
+>> endobj
+1885 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 685.417 217.368 695.947]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node) >>
+>> endobj
+1886 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.866 685.417 251.968 695.947]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a59b93ad12584038a0308a11c7bd6df82) >>
+>> endobj
+1907 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 648.181 217.368 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node) >>
+>> endobj
+1908 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.866 648.181 300.127 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_ae46efaa4ab81418b82d78b65fa2713df) >>
+>> endobj
+1909 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.846 574.766 322.291 585.67]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ga57b815531385542de7563918454dff9a) >>
+>> endobj
+1910 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.1 574.766 478.183 585.67]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a79aefa5f658a89e23ac6db4491efc11f) >>
+>> endobj
+1911 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [489.309 574.766 513.996 585.67]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ga0734505368bf2ef216c74aa9ed15793e) >>
+>> endobj
+1923 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 563.185 270.269 573.715]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ga0734505368bf2ef216c74aa9ed15793e) >>
+>> endobj
+1912 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.08 525.949 319.057 536.853]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a677df7ca9506825ddd0b3b2f8fdd2585) >>
+>> endobj
+1913 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [323.143 525.949 486.588 536.853]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ga57b815531385542de7563918454dff9a) >>
+>> endobj
+1914 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.356 435.598 191.678 446.128]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a17f644417468e6386da38c98547e035a) >>
+>> endobj
+1915 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1919 0 obj <<
+/D [1917 0 R /XYZ 90 757.935 null]
+>> endobj
+1920 0 obj <<
+/D [1917 0 R /XYZ 90 702.144 null]
+>> endobj
+1921 0 obj <<
+/D [1917 0 R /XYZ 90 665.282 null]
+>> endobj
+1922 0 obj <<
+/D [1917 0 R /XYZ 90 589.845 null]
+>> endobj
+1924 0 obj <<
+/D [1917 0 R /XYZ 90 543.05 null]
+>> endobj
+1925 0 obj <<
+/D [1917 0 R /XYZ 90 454.198 null]
+>> endobj
+1926 0 obj <<
+/D [1917 0 R /XYZ 90 454.198 null]
+>> endobj
+1927 0 obj <<
+/D [1917 0 R /XYZ 90 397.904 null]
+>> endobj
+1916 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F83 417 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1934 0 obj <<
+/Length 2562      
+/Filter /FlateDecode
+>>
+stream
+xڭYKs�6��W�i3SeA$��rJ�얝l�i�b�T�Ѡ�!' ���v��D9�VN
�����M�����wW�̂M��4J7w�Ml�4dIn���m0
�.� �'������OYiq_�-�����ۛ��
�m�P���2J���ZC�?�^�aٔ�I
m�b�����/w^� M�	��I�2�l���������
Q䛳�:n�÷��^�~L5I҅&gA��&?�0<)��ARc/�Q�V�DSa#YL[��j�}�E�VԽl�n}��q��p�J�$-
��Âf��� '.���ڼB��85P�2
Y�8�F9#
o
;OP0�>�n�H�,�;-�+l��
+e��*�<�Ae�tr&�/
-2HE�F:�j�֑��B��ί��k�V�Qh7���Xwޅ��]��j*smq�/~�,���ƒ"&�Q�̸ ��9��,�&0a�!��(�=�t��u2(w���/u#j�9e�啅&@�8� ��j�
[�V�)
���3~�#

߈��]:���R\!���Vc#s �[�jI�Ft�|�HV��(@�f1qb�Sf1�*��K���S��~�S�?�N�r��Â�A�ʃ��aq H
��2r�P�j�@H�x��!�uIs��˰�Y�4
+���3�^&p+y;ì(�?@z�U[i��0Y���| i:�B��bO-Kh���+l8ϐ�)d�
��v�
����e��l:�X�v+3�ó�y)���_]���9S��Kc �$����#7��9�k
/�}���
�'-
�M���@�������E�ϝp+�i�؞�
����`兦 ^�f-랾7��pd���x�Kp�d���5�ž?�inǤ�Ź��3�`N��	��\��J����}xZ�B��J�
/XF�@� ��8ߖ9��Yds��R^l�w/p��I6D��

�LbbA��v�FӮ��0�,�������`�ʭ��13�
+{�	�F9�wr����l�qZ�����b),b��x�J�#�6� e
ViNmC�cs�pgS�۴
& Œ,�
�h�9�o�yX�z���L�2X!��8��
1��
+��Hp)Ece%,YТ
����p�a�-^���rPh���݉�
[�œ�.����_EL�V�B"��
�8�S�R}~�T��TQ!Xq�
R��شք
�ZȇnZ�?E��6��U���ΥkA��]a�|P���+�"t�p�R�s�A��n��'�� �r���h���k7��W6�V��	�i��\�y�6�����@r�lo{���e�̧�Y2
A�}&Ⱛ����>1]*i�E��
�"��˺�f�cf�����|&�Q+�()
�{�tSTa�
+�E��@`�=t��AՔZ
a	<6$4��Շ�
ܓۋ�-�|
��ۺ#`:��,~��Ҩ��q$з�m0�l����D�IZ;yQk)*_OQ
+�����HC�]��Y���H�2'��
�.�jظtKa��j�? |oY�̦�8K/�o�1Ս|^v�&[W��N7`L�E��?�Z��{����Rc���3'Q:@U
+�@��e��>u	@[|üIDb�SN�/@l
��H&��?`��s��k
��A�7rN~Ӗ�=�nb}�h�-���|y��C�;a���X��N���Q�R>��p�+�O�		�SMcD��h�m�U����J0��<b�PA�ˊ�;��!������T^@�� �4n�O��b�t2��#
+t���Wڧֺm��v+�l�6jr=�l��� ���B5�ػ�|
+��5/����#١�}SI�3
�ms��3�I��3�R�0�r[o�Ј|��y����G������x�Ui�]��DsِWށS�����tV ��"()�2�h�
W��6�����h���c�,G�|Z�N!z��Hm��z[�����
���Uf� yN��%|�$���d�<Y����a��>fpASd,�
��uk�7׈�jhg�h�w�:5E(\�!��XI2S���	_(������z+�ި�ۣ���k��/��L%c��'�`E����]�~�q �.���/����=�z����k�<v�{�5a��[�e�x��8�g�v)�x�h��)�D����2/�����<�ŗ{
���x��}��Z��n4<��B�dfp�T�d���
�+�+�_]���}�� ~���z�d��O��Ǖu����
�Ż�Y[
�a��w��þ��[٭,�r�C��۬�� B��E\|RH#r�C�2�Rg����@Ԥ._˟�ȼ��IA
+���2tf�|���	C�[}n`!Ԣ)��,��Ƿ�.�^z��W�73�N
#����
+��8L���f5
*
+f��4)�r��4T\���V�������Rp�P��O/��+��,w?���%I�p7���]כ9u#[��;�%
@����n���#E�����۹��[4��L�\�6؀�!��Rr+�;:�O�����`��|�͡�N�WW�󙕆��:i���ө�z�5�U�0f����ú}s���4e< ���
�
T�3�Q<On��nf�:
+endstream
+endobj
+1933 0 obj <<
+/Type /Page
+/Contents 1934 0 R
+/Resources 1932 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1808 0 R
+/Annots [ 1929 0 R 1930 0 R 1931 0 R ]
+>> endobj
+1929 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.07 470.087 328.202 480.991]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem) >>
+>> endobj
+1930 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.651 228.899 406.173 259.743]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_ae9f96b3510cf17d4a65104954507a59f) >>
+>> endobj
+1931 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1935 0 obj <<
+/D [1933 0 R /XYZ 90 757.935 null]
+>> endobj
+1936 0 obj <<
+/D [1933 0 R /XYZ 90 444.558 null]
+>> endobj
+1862 0 obj <<
+/D [1933 0 R /XYZ 90 422.246 null]
+>> endobj
+1937 0 obj <<
+/D [1933 0 R /XYZ 90 422.246 null]
+>> endobj
+1863 0 obj <<
+/D [1933 0 R /XYZ 90 219.933 null]
+>> endobj
+1938 0 obj <<
+/D [1933 0 R /XYZ 90 205.362 null]
+>> endobj
+1932 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F88 819 0 R /F92 1105 0 R /F23 244 0 R /F72 277 0 R /F8 344 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1942 0 obj <<
+/Length 1668      
+/Filter /FlateDecode
+>>
+stream
+x��XKs�6��W�Vi�x�zjӤ���q��f44	ɜJ�B�v��x$h�vgr�Eċ��ow�]
+G�G�-~�Z\��8JQ�8��E)�dL��$�*��K���5�/OYs̶���p��&�
��&k
6��w���fE�e}}P�՚
+�|}���?��2۪�c"�K�W_��/�\-�.h�#bnI&�����G���@�4��ͩc�)��!���s����2�c1�1g�u���zoo��+���~��ۣ���,�� M9b<
!�DUprE��N�(+Č벰������9����`H�&oE<�����Y�>�Vu�='��
M��2s��)�a4F
��J\;{����`��Vw����\Q��+�`���1f!��Zp�b
��D1uN�ꅴ�,wâ�[��Q���*����JDo �1� �8d 2)�1���$)�M��;N���s�^��9�gE�5�o���6������%��@5�p���-�Q"@�C]�
,c\bmQ�[}*Oۻ�i_�X��H�<#
�
+6��f�vF��
���D�Bl2J] ;�.��0�XL-Y�c0�G��*\�#$
�R:j�F�����;W�A
+�k/���S�p��;
\��IY٧?��"�*����I��n6J�8�47
X��4�{z�ԡ�1P�j���AJ�T���)ܝ ,���� P��D���������Q+��}���0��O�	y���sK�{����Snǽl����}���Κ2�%wP�I�z��(e���z�9y�tآ՚�`^�ʪ�E����գ��dz�L(���l
(�����m�K�f!!ud����k�y5�[�T)���8UIK�San�
+O�T靪��N�T��^�N�㄂Չ����)3>�l��E�&[Q�p�ѩy�TE
��c�A.3B��f����<R��~�
�$h�I�#��Lj���p�;�ʮt7u����[�F��:�ZV�Ҽ�͐SkOh

^)ĭ���՚3a��{H{��Qc_�U�A�px��@�tMVV����ؕ尟�
��l�tM��t�J�z�y\!9�P�<+�3�@�u�\e�A��-���6\�#�O�D�IL�*�1((�� ��<rJ�����fۻ���(#�F9׽���Sgb���	�'�2v�f����١,�Y�7M�SĖ�t`��6���[��r����9,<"|YP��)|Dy�M���K at p�w���4�e�`���u�6vnع�����K�mO�kx��F�\�'ھQ��A��j���8��
�#���>/��d�MП��}(2Lr~&ɡ5
%���$��c��V�I�s�����Om��������cHn�<G��Х$3�����g���9'2`�Lu�g�8 [...]
hPd<D>f3��/&���_J1|���K�Q2�$�U�.���'I �
>���R{HӍ������aY�N���tn;����މz�{��r����U�+],��CV��`4E�O�f 
#BF,��r�X(�����
��` ��D�r�u������=�[t[������t�x�H�]饯x��ͱv�ߚ�@�����/I�&
�m���/�0X�
+endstream
+endobj
+1941 0 obj <<
+/Type /Page
+/Contents 1942 0 R
+/Resources 1940 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1949 0 R
+/Annots [ 1939 0 R ]
+>> endobj
+1939 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1943 0 obj <<
+/D [1941 0 R /XYZ 90 757.935 null]
+>> endobj
+1944 0 obj <<
+/D [1941 0 R /XYZ 90 733.028 null]
+>> endobj
+1902 0 obj <<
+/D [1941 0 R /XYZ 90 716.221 null]
+>> endobj
+1945 0 obj <<
+/D [1941 0 R /XYZ 90 716.221 null]
+>> endobj
+1903 0 obj <<
+/D [1941 0 R /XYZ 227.842 639.118 null]
+>> endobj
+1946 0 obj <<
+/D [1941 0 R /XYZ 90 622.391 null]
+>> endobj
+1904 0 obj <<
+/D [1941 0 R /XYZ 184.963 417.946 null]
+>> endobj
+1947 0 obj <<
+/D [1941 0 R /XYZ 90 401.219 null]
+>> endobj
+1905 0 obj <<
+/D [1941 0 R /XYZ 90 274.099 null]
+>> endobj
+1948 0 obj <<
+/D [1941 0 R /XYZ 90 259.528 null]
+>> endobj
+1906 0 obj <<
+/D [1941 0 R /XYZ 90 120.453 null]
+>> endobj
+1940 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F72 277 0 R /F8 344 0 R /F88 819 0 R /F23 244 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1957 0 obj <<
+/Length 1409      
+/Filter /FlateDecode
+>>
+stream
+xڵWMs�6��W�Vr���A�C=%�ݱǮ��P;��%�fC�*HYq}� H�4-;��"� ��}��b��{;����F��;1�8��c'
�8��s����c�n�Z��&O�
�R�y��)��������u�n�$����Ɣc�C*��<^ɕT
�\�-de.��
��uv6:����;D��C2�,֣���Y���nđ�ӳ֎O������>
e|
E
qO&��#�}�~��wy�J����_�x�T��Ӥ�`��Ř
+2�o1�v/x��NNx�r;c��8d��r��Bֲ��I�dF� �e("!�F`
3�Bښ�8"���!)���f�٩��a;&07ľ3�`��fɕ,� 
w�����
+�`i
6"��
�T[9�Q�|ܸ��

+"[Z8��S*,��#�E��d�=G7����	��!���Y�A���1�.E�-~�PE����0�.6e�N���+��Ы�$D�B�֛s���?�7U�=K��:;�_V6�'�E\�p�T�q��)E��ϟN��]���x<��^]��� v����
��:����X*�cyi:��e@����%���������q|�{c�(�D�O
-�Bx�\'e�ML^�C�6/�p&T<	�=š�jVo��۵� ���
�rU�Qkk������¾��L*QJ�ݕ�׽Vy��
��!S�g*���;�<(Gطپ��wg݌9��h����h�V�A4�נV����5\"`��8(`�=�|g�YdӜ56�_��~WRv��ۧكT)
Zձ����{�q{�V�<�A�҄�E�
*��TNl	u��K��q�\�����6[T��Uk�|
+mJx8��@C�M9;
��$�B͏�o�,�
+ƶ�C8��,U��b�[Y�}ij�K
�_<B�+T�ۇ��˺�\jJa�D�O��#�� D1&>�pЪ�Y����.���h�B ����a�u�&���ǖ������whԵfZ��]����MJ�
�:����0�4~��t����
�Kg�
ш��
+�d�$ b�‘,E��e�H
�lJK�a���/�3
S�����
+o�G�.Y;M�C
PKH�޵X���9���5֞�!t_̞���o���Q���ŋ���cԂ'���l��� ��i�Tv]c�8
+�n����zB����ּ �}E�
+M����4�A�
�3�u[k��=�Mb��:~�e�{�������7���4���ނ�.I��U@�� ��i�i��E�2�Z�E"R����R����U5�n3��zS�7T�(���*��~�K]�A*���K�/-�r�ni�g��oŽ5u�A+���
�\H����%չȶu7XeK��M�yc��e}@(�9��o�-�Ha����P���d���Т@�,�(����&�<?��V�
��F�MǹΕ��B28��!�!5�a�Z4�m;�� ��dZ
+endstream
+endobj
+1956 0 obj <<
+/Type /Page
+/Contents 1957 0 R
+/Resources 1955 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1949 0 R
+/Annots [ 1950 0 R 1951 0 R 1952 0 R 1953 0 R 1954 0 R ]
+>> endobj
+1950 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [121.93 351.043 294.561 361.947]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node) >>
+>> endobj
+1951 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.351 296.446 217.601 307.349]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1952 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.099 296.446 292.877 307.349]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Solution__Node_af794d3c0edfd8681f26ab198ba1885c6) >>
+>> endobj
+1953 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.693 296.446 331.881 307.349]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+1954 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1958 0 obj <<
+/D [1956 0 R /XYZ 90 757.935 null]
+>> endobj
+1959 0 obj <<
+/D [1956 0 R /XYZ 90 733.028 null]
+>> endobj
+1928 0 obj <<
+/D [1956 0 R /XYZ 90 626.651 null]
+>> endobj
+1960 0 obj <<
+/D [1956 0 R /XYZ 90 612.205 null]
+>> endobj
+628 0 obj <<
+/D [1956 0 R /XYZ 90 420.658 null]
+>> endobj
+198 0 obj <<
+/D [1956 0 R /XYZ 90 413.63 null]
+>> endobj
+1961 0 obj <<
+/D [1956 0 R /XYZ 90 315.281 null]
+>> endobj
+1962 0 obj <<
+/D [1956 0 R /XYZ 90 259.388 null]
+>> endobj
+1963 0 obj <<
+/D [1956 0 R /XYZ 90 202.868 null]
+>> endobj
+1964 0 obj <<
+/D [1956 0 R /XYZ 90 178.499 null]
+>> endobj
+1965 0 obj <<
+/D [1956 0 R /XYZ 90 178.499 null]
+>> endobj
+1955 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F23 244 0 R /F72 277 0 R /F77 334 0 R /F83 417 0 R /F88 819 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1987 0 obj <<
+/Length 1529      
+/Filter /FlateDecode
+>>
+stream
+x��XY��6~���[- �IIԱyJ�n�MҸY�)	
ڦ�Jt������%[���.�)
+���c�o8��l
��>�u>�^F�IPz�3�8	v�� �g�v>�	F~�N�x\1��EUfw7|-�"K���������b�F�X�$
s���\sw�Q<~�����|���b��
1G��y~5�m>�6" v���F(��G?cg
�W����N�ʝ���9ף?G�����q�D^�Hh�f.�c&X�.j%�1��e
P!1�p�L�����2�;:��a��z��6�o�]n]��-33��i���o-)_#Iי�%u&^�h

�Y��6�EÚ�,�Ԧz�ܤ��=
+;�������ksR��=�-�,+���N�O{��)�~
BRD����y���㄂Iw�.�V��\}a�gm"O(�A	�Vހ�
y?@����\S	��bpK4��Tё*7Gf�zP=ͺ�\�
+I�BϘ�uq�7F�amfo�_���S	zT$��A�w���V���^���^�UZ[��p
?��xcV�O���@3��P`k5z�q�u�у���~7k�Y�Ҧ|��%7��-V�n}�ZG�P�q�n���[��1���Űb��X��\�H})�^Q�Ġ�
xGjx`� %���iEQyo�i�n�n��c��,8�#�F8t4D=�>�B�dž%6�b�3��0�	��R�]Zsist��Ȃ��H꣄�Xh�/�)h���σ���0h=���!Вl���D���
��#�կoYf���~��i�
+�
�*����Q���J+���#x��>srdzL� ��Z�8��)�ִ
մ��lQ��ך
�T�k$y���
C�n�eꓲ����I��J����c��1�y�V\ܰʸKξJ��
	9�.#�����J�
��@�܉��j�i��
h͗2�h�r��`�VTe���b;�a�p���'��h�c�(7
&�T��JYV�����4��t�TK��Ҳ�LZ�ɝ
�s�R�1|��
8?.��8P~1SZ�zaq�!M7�����hm��A*y]�>(s����~	ia#XZ4�뻺���`]u�~&�Z�
�}�dS�J>;���e]<�o�$�nDz.�6eo��!c�X�M���*���zyo�� P�ɵ��K�А�Ő�A�8	�
�gDL���7,�l��W"�l�q���p֙�O"�rF��
�ZX���|��j�	%�x�rR���%����0�z�{<$�z��2-��4t��a% 
���̞��
�b��ו��(�� �&�<h��d�,�Iy�)�26�a�K�Ł���h��J��˹����d��Ka_c�{{����t�E���G�{�
0(/d�$�xJ��%:nD�1�a��>��;�m	QH��JD���v&��M������V�H���^fŶe[C�Df��z���dX�"�Q�
+Z
��|�*b_�aD�
�Ƈ��5�6�Wǎ����
(��!w��M�T��n�C��EZ	�6Ӫʦ�w]�T�֨�vh��	��ǡ3��y/�BV:*�~��mD��
+endstream
+endobj
+1986 0 obj <<
+/Type /Page
+/Contents 1987 0 R
+/Resources 1985 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1949 0 R
+/Annots [ 1966 0 R 1967 0 R 1989 0 R 1968 0 R 1969 0 R 1970 0 R 1971 0 R 1972 0 R 1973 0 R 1974 0 R 1975 0 R 1976 0 R 1977 0 R 1978 0 R 1979 0 R 1980 0 R 1981 0 R 1982 0 R 1983 0 R 1984 0 R ]
+>> endobj
+1966 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.248 557.992 345.393 568.896]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Decision__Node) >>
+>> endobj
+1967 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.511 557.992 513.996 568.896]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Solution__Node) >>
+>> endobj
+1989 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 547.013 151.33 556.941]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Solution__Node) >>
+>> endobj
+1968 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.351 491.551 222.054 502.081]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Solution__Node) >>
+>> endobj
+1969 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.552 491.551 269.934 502.081]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node_a3bb68244fa25aa1dd28d53d6dc467dda) >>
+>> endobj
+1970 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.351 452.696 223.698 463.227]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Decision__Node) >>
+>> endobj
+1971 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.196 452.696 272.673 463.227]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node_af05ddf904c768d1a140b1eafb16029c7) >>
+>> endobj
+1972 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.383 413.842 190.762 424.372]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node_af82d85111918a80f87f4a6c5ef4adbb2) >>
+>> endobj
+1973 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.555 363.655 248.325 374.559]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node_a210d9950e830ca6101b5094189bfeff7) >>
+>> endobj
+1974 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.673 349.035 368.113 358.94]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node) >>
+>> endobj
+1975 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.351 324.801 266.696 335.705]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter__Sequence) >>
+>> endobj
+1976 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.194 324.801 306.266 335.705]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node_a79f23016d52a66ea47028326561288ec) >>
+>> endobj
+1977 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [338.97 310.18 398.41 320.086]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node) >>
+>> endobj
+1978 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.351 285.947 218.178 296.851]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+1979 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.676 285.947 263.836 296.851]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node_a87f661feff5c03995c6eded6108acbf2) >>
+>> endobj
+1980 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [343.095 271.326 402.534 281.231]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node) >>
+>> endobj
+1981 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 247.092 201.302 257.996]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node_a76f71f4b2731d97b10d323548c77b7a8) >>
+>> endobj
+1982 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 127.813 197.257 138]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Decision__Node) >>
+>> endobj
+1983 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 107.888 195.613 118.075]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Solution__Node) >>
+>> endobj
+1984 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1988 0 obj <<
+/D [1986 0 R /XYZ 90 757.935 null]
+>> endobj
+629 0 obj <<
+/D [1986 0 R /XYZ 90 644.803 null]
+>> endobj
+202 0 obj <<
+/D [1986 0 R /XYZ 90 638.203 null]
+>> endobj
+1990 0 obj <<
+/D [1986 0 R /XYZ 90 510.151 null]
+>> endobj
+1991 0 obj <<
+/D [1986 0 R /XYZ 90 510.151 null]
+>> endobj
+1992 0 obj <<
+/D [1986 0 R /XYZ 90 471.416 null]
+>> endobj
+1993 0 obj <<
+/D [1986 0 R /XYZ 90 432.562 null]
+>> endobj
+1994 0 obj <<
+/D [1986 0 R /XYZ 90 382.749 null]
+>> endobj
+1995 0 obj <<
+/D [1986 0 R /XYZ 90 343.894 null]
+>> endobj
+1996 0 obj <<
+/D [1986 0 R /XYZ 90 266.186 null]
+>> endobj
+1997 0 obj <<
+/D [1986 0 R /XYZ 90 209.772 null]
+>> endobj
+1985 0 obj <<
+/Font << /F70 275 0 R /F88 819 0 R /F56 243 0 R /F77 334 0 R /F83 417 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2022 0 obj <<
+/Length 1733      
+/Filter /FlateDecode
+>>
+stream
+x��YKs�6��W�Vj&�	���=�I�&MZ7qOIF��̔�����.^)Q�-ǝ�L/"���o?, �Y:��r�����E�9)J#?r.���s�#�c�2w>��C�ΰ�y��Wu��f���X*6��S�s낷
k�1Ş{Ä�xf��)NܚOg>��g%m���]1���Mga`7��._O~��|�`��s����(��U��<'�����&΍U9���t�O��xG��ȋ�v�!��j߲j&)�^�y����u��o��A��ar:���a�t�W����k޴�����7M�*�}�ǯ.��8t�����:g��Y'�8�G<�^�4���z�cC��8�ƾc�Zp3��6�5=���6Z��:eO5t��.˂/��du������ˉ�A
Ћ
+�+̂�p
10Y��E��ӥ22$n��"cR{ACw����>A
��֣�h��Ų���_�>�]�̌�<�#;�4h:
�Bˮ�����g3���0�̶K�`����5�FtN��s���d����}�D���}a�}0"�Xu]�†��Q�&��dKƙ�-��LQW;�,���n1�%%;�G(
H!�Hj
����f�A
�L%�h�h�C�k���3+
R'�#�Z���䫦� vg*A��IJ�D��o?Kgvl�X��D�^Uvt)z4��Xc�f��[���g���(^^�k&
+�䇽u�f����0
H' B��X/�"�Lj��E
+�xk��(���� �:ە�Q(}ea}4�6+*��;���� ���8^���@0���U�Y
�s�S��\�|����I��D��0B�$`wJ���Bl�g2Ṙ5�+�V�Hcլd+ԩ,��e�wf�-7ٛ�g�l3��:�I�Ӊ�A�yZ�����a�q?��hYj�F}���*�wQQ�L2W��~�6����z �9Q���男
+� o��^<�	�\��F� ��Y(f�-@��h��@2�ކg���ä��5�B�)�}?L���0�|��S[t8�52����fQ�%���w�
R�Ex�̳Z��BDs�k%�
k��w~�nNJ�d���
+<���K*�fcI (�� �e]���r��|_�L[?�-o*����9ݖ���5�5�*�P�wR6#z�
�|�'��U!����'@
����C�1 f��PS����}�)���c!-
�NC��Cҭ���je)E�����(������"�D�9_H�R�R�z��
U��;�t;
z�`ލ�����U(��S�L��ˠ��p(/ENCF�SDB�?�
����D��0��M�y����Ą�<|L��TPȳ�-�c�"h����#ݶ����<o�p��� ��;P[p�6�!Q+ ��c�CY��w�1Dg�� ��"F�L߇���'��H� �ݝ%=�+*�۹Zi�`��P�YlF�&Q��U��?��40:,߁x�w��ề9��`��;��
H
H�՚�V3�Yyu
ϳ

���+��e�����,è��k�?"�A���M�䘑�%��/Aa�
/u�J%ln{����G�@
������2����׃@=Bvo�/&EeHԚl�o�5�n��_��ϔ/�tiD���+uYl7�?&~���KyW�ˈڃyw
�,}!��A�{fk!튿
���$��@&�����]�����ܠ�Ak^�*ڳժ<ۿ��J��?�]�w��U-�ι �P�A��
�oY�a`����n�v9��
+endstream
+endobj
+2021 0 obj <<
+/Type /Page
+/Contents 2022 0 R
+/Resources 2020 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1949 0 R
+/Annots [ 1999 0 R 2000 0 R 2001 0 R 2002 0 R 2003 0 R 2004 0 R 2005 0 R 2006 0 R 2007 0 R 2008 0 R 2009 0 R 2010 0 R 2011 0 R 2012 0 R 2013 0 R 2014 0 R 2015 0 R 2016 0 R 2017 0 R 2035 0 R 2019 0 R ]
+>> endobj
+1999 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.968 653.59 392.801 664.494]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node) >>
+>> endobj
+2000 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.683 508.307 207.239 519.211]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+2001 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 413.905 231.425 424.809]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a307f552cb6559fb3316979350f0698e4) >>
+>> endobj
+2002 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 366.085 189.224 376.989]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_ad3ecaaf79c9a60ab4848342458e261d7) >>
+>> endobj
+2003 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 331.216 273.029 342.119]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_acb627ec2ad25203404db2046bd1b415c) >>
+>> endobj
+2004 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.844 331.216 414.746 342.119]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
+>> endobj
+2005 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 294.354 272.779 305.258]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a91754711e181bd642b50021a3750ba1b) >>
+>> endobj
+2006 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.595 294.354 414.496 305.258]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
+>> endobj
+2007 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 257.492 323.738 268.396]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+2008 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.236 257.492 381.969 268.396]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a6a0c0235057e5bd924816e77fbe24f13) >>
+>> endobj
+2009 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 220.63 323.738 231.534]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+2010 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.236 220.63 374.367 231.534]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_ab86276be6b184ca176f526bdce7db8cb) >>
+>> endobj
+2011 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 183.768 224.451 194.672]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a43f91b349368a1f43667546d2d844941) >>
+>> endobj
+2012 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.267 183.768 287.823 194.672]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+2013 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 146.907 228.327 157.811]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a25fcf44b7620128ac3646cf9cb7ec333) >>
+>> endobj
+2014 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.142 146.907 404.345 157.811]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+2015 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.974 99.086 232.636 109.99]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a0ae5c861cdc8a2fed1057cb873c928fc) >>
+>> endobj
+2016 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.669 99.086 408.872 109.99]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+2017 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.341 99.086 513.996 109.99]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+2035 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 87.131 218.952 98.035]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+2019 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2023 0 obj <<
+/D [2021 0 R /XYZ 90 757.935 null]
+>> endobj
+2024 0 obj <<
+/D [2021 0 R /XYZ 90 733.028 null]
+>> endobj
+1998 0 obj <<
+/D [2021 0 R /XYZ 90 716.221 null]
+>> endobj
+2025 0 obj <<
+/D [2021 0 R /XYZ 90 716.221 null]
+>> endobj
+630 0 obj <<
+/D [2021 0 R /XYZ 90 573.817 null]
+>> endobj
+206 0 obj <<
+/D [2021 0 R /XYZ 90 567.217 null]
+>> endobj
+2026 0 obj <<
+/D [2021 0 R /XYZ 90 454.797 null]
+>> endobj
+2027 0 obj <<
+/D [2021 0 R /XYZ 90 429.726 null]
+>> endobj
+2028 0 obj <<
+/D [2021 0 R /XYZ 90 348.316 null]
+>> endobj
+2029 0 obj <<
+/D [2021 0 R /XYZ 90 311.455 null]
+>> endobj
+2030 0 obj <<
+/D [2021 0 R /XYZ 90 274.593 null]
+>> endobj
+2031 0 obj <<
+/D [2021 0 R /XYZ 90 237.731 null]
+>> endobj
+2032 0 obj <<
+/D [2021 0 R /XYZ 90 200.869 null]
+>> endobj
+2033 0 obj <<
+/D [2021 0 R /XYZ 90 164.007 null]
+>> endobj
+2034 0 obj <<
+/D [2021 0 R /XYZ 90 116.187 null]
+>> endobj
+2020 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F83 417 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2050 0 obj <<
+/Length 1881      
+/Filter /FlateDecode
+>>
+stream
+x��XKs�6��W�Vj&�	��[�
�M��)�h ��PK�V�_��(����H�k�����.o��wg�n�ί��+H���w�����RJ��z�������ٜA�7�ݲE#��
/[��IJe����f���Z`cF�[���v��}Y/�o���l
&���b]������I�^q�q
�Y<����ٷ�g��QP<�Q4�H%�j{���+������3��^
F�_y?��t�C��#��i�A�q at B��ˆi�H\��8�ec�\cs�5;�ʣ��V��6�ԝ�p��
 �v�XU�Xu���Ǿ^����2��vk�vjj���x�O�	A	i�f�Eԓj�$��������Ц���1�ϯ�tD�yzEI�?HAc+6
�#)އy���0��g4�-N�Ƚ����h7�#��J=�a�݉�/Z^����z�>��R�SB��s�"�P鷲�AȻ	h�hI��D<��r�Q�ve>_��v�N��joT5��
oD��e�o�8𩵽�Y9ba�`S [...]
+��8$4�+!�ƬK���x��/y�jE�`�����0&Qlu~	k��o��
�2��
'�C����9b�^���gҊԿ5 NnTJ8���Q��Z#V[��v�(V+��9�
��b���m
����q������)�ـ����(�|�����J����z�o��rպf9����$~�c�.��ݻ�88�(/�����˓�r��F֚ f�;���N^JT�;��8˦e��ɀ�Ҁ�����
+��)
�,�9��w˛�w���6�EΏ R�:R�&R��JV��`2���"s�@92�dΩ��b�Z��c�U�����8(~5l5\3p��9���4�B_�N���.=K��r�e
+�Xk�Q

�
[V
�
nz5�#
+�ֈBF���N��Y�U�m�,���I0TK5�[/I���#�Ќ�����ix0:����v^+5��-@�>��rjM4�
�vr��,z�zm�BnH��{>�u
+}qȖ`��7x�Lp ��9�K��q��g��5�fƮ�
�p2

8��h��Ob��8�F��d
�C����[=���8ٗG��
h+h��&=��z��C!�t~�f����n�Yi�w���k%#ej������`�� �4���ymg� �[?n��73p��Nv꒙������n�.b,���rW���x[���	�C�N�]V��~�Qu���ך�n�u
��1"k��<�2}	U���N�)��
����Q��Jc�>~,Lѱ ����
"G�k�1:Xh�
�W�g�Q����$O���Ѣ�!�n�v��K4�*���
������}9���=���/$I�$�k�����8�7?,~4��W���~Y�
g*uG���:���1�M����4*G
��V
���
+�?�ҩ~
��vzՋ��
3l`i�ǔѤ3�h58)��d�P	�'j�� �v�y'��^��
Jق>��\JYqV����
2���pB��t�j��_B!p������ob}�^Ⱥ�,�W0
��Y�&���	I�6 at 2!�����
�Ag�=�R��)�_��׽aԘ�������O=^А>�2&I6WS����6�>A�\�4�G%u|�<�(YA�0��m�.��ۤ�Nbj
�w_���Km�� Ϳ���<Ȃ1S�4��U:s&�9荹C �M�`��	��f���0�7=�XQא��k���������̒�A�ս{��Ƶ�^7�$�}d�@���=4"�<����8: T�$ɇ�w�Tsq~���Ȫ#=�e-�i���A
+��X���l��\��$
+RpXc�B�0qk��F�ǰA�
+endstream
+endobj
+2049 0 obj <<
+/Type /Page
+/Contents 2050 0 R
+/Resources 2048 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1949 0 R
+/Annots [ 2018 0 R 2037 0 R 2038 0 R 2039 0 R 2040 0 R 2041 0 R 2042 0 R 2043 0 R 2044 0 R 2047 0 R ]
+>> endobj
+2018 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 696.998 238.817 707.902]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a1deba0aacc90a96b069e32f8c3d4559e) >>
+>> endobj
+2037 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.459 605.585 206.015 616.489]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+2038 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.181 296.34 379.083 307.244]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
+>> endobj
+2039 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 223.856 286.113 234.76]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a041438b5dfc0a27bb1ef8944ccef9b20) >>
+>> endobj
+2040 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.928 223.856 462.131 234.76]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+2041 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.383 185.002 201.83 195.906]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_ad6b10e19a21f12cc1e19304c400cbcc9) >>
+>> endobj
+2042 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.646 185.002 377.848 195.906]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+2043 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.356 146.521 179.355 157.052]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a8f633594965f90e853f0a0b7d9667e7a) >>
+>> endobj
+2044 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.356 107.294 179.803 118.197]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a1063791d47e047aeeb186ba499482460) >>
+>> endobj
+2047 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2051 0 obj <<
+/D [2049 0 R /XYZ 90 757.935 null]
+>> endobj
+2052 0 obj <<
+/D [2049 0 R /XYZ 90 714.099 null]
+>> endobj
+2053 0 obj <<
+/D [2049 0 R /XYZ 90 650.712 null]
+>> endobj
+2054 0 obj <<
+/D [2049 0 R /XYZ 90 514.611 null]
+>> endobj
+2036 0 obj <<
+/D [2049 0 R /XYZ 90 492.299 null]
+>> endobj
+2055 0 obj <<
+/D [2049 0 R /XYZ 90 492.299 null]
+>> endobj
+631 0 obj <<
+/D [2049 0 R /XYZ 90 361.851 null]
+>> endobj
+210 0 obj <<
+/D [2049 0 R /XYZ 90 355.25 null]
+>> endobj
+2056 0 obj <<
+/D [2049 0 R /XYZ 90 242.83 null]
+>> endobj
+2057 0 obj <<
+/D [2049 0 R /XYZ 90 242.83 null]
+>> endobj
+2058 0 obj <<
+/D [2049 0 R /XYZ 90 204.095 null]
+>> endobj
+2059 0 obj <<
+/D [2049 0 R /XYZ 90 165.241 null]
+>> endobj
+2060 0 obj <<
+/D [2049 0 R /XYZ 90 126.387 null]
+>> endobj
+2048 0 obj <<
+/Font << /F70 275 0 R /F77 334 0 R /F83 417 0 R /F56 243 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2073 0 obj <<
+/Length 1601      
+/Filter /FlateDecode
+>>
+stream
+xڵXKs�6��W�Vi&���[�ԝ���u��!�h ��P��G��wJ��N[l ���v�����Q��O�����z�b?��^F�$f$�w_xƌ� �L�t������U�]���R�k^o��o'>
���e�fw�䭬�d�Gt���Mc�wb!�	K�B�D2��$�|�3��~�׈�N�cZ�(!Iy�j���
+X�*Y�m��������#j�9����=;�I�^�Ij����F
���a��
+
�����Ecaw����U�N���n-@ ����o<�vV��s����t|��F�؁4�
�K�̊C4��I
�ޔ��u'ڮV��R�A��Փ k��/��0��-
zu�{g0?$Q��Z~����5���en9��Έ�o�,NIKS? I�|�s��_u@�ⲫ��x)x#�}h��Ӄ�-sU
���95MI���A
(Ŭ�T�̏���0r�H:pH�H�o���
t���jE޺xy+Vs���7^����44Y8#�?��?R�+^ʿ���}�����+>a����4KI��Yv��4#!H
8y>&�2�+�rY:�^�&��Z��Va�B
+�
IfFЏ��e+j�V6�]X��#.���
�N���j!o�o1*6���Y�u�
��>��d

���T8[H��[	�r�!
VP��^��~!q���N�W'����*�3\OP���#���V/LH �.�"����E�׃�'�U���!K;�!�L��(6�A'�
��
1aqr
�
��2v:���>	5�K����	x���'J���D�B�0X�"��;�V�;A�7پ�ik��Fnp�E���5ac�.���Ŧ�H�841�C��e
9�{Ia�T����דiİ���[�dч6��ss�k��~�X8(���H?��H�tŷfQ�I���/e�[a6Ȗ�q4
��jQ�z��k����6��Q(��g�쒮��4w�W����R�Ǧ��z�����g��*.���]U��J�14D�ﰄ�ӑ�	&�DZ�I���.z�qe/?�
����RX���e��`~��Ï)
hFY6~�8e\-��[�!Q���Ŝ5��d���j-]

�
B�b�\��Y�|i��5&Nf�
+Ƕy�ں*��׭k`_d��NH�͉Cd��}oǀ�+�l���<�
�,]���@�EU�y���(��0��N'$Y�]�tn0��]*f�5�g��o[P�|���&���f��[�3g@y�3��
mzO��s�n�P��Y�hq�$�>*���oO(�ݼ��s��'	
�w{�ᙶS���c��C�Rc��]�x3�p�}�
+�S�}Z@��p8wIs:�;Z|9��Uܦ.7tr�.�h�au�����W�گ ��6ugY.³R�K��&\�w������h�C��.z{x
Ȃ�
�
�����@t?�n~�e��H��f܇�[��~`�2E�;�j�b�S�Nf���(3y���1W
��^C��
M�]�*��D�
o��x�kum����D	c�� �}���@��s�_G�s���KQ;t�m�����l6$oH��&��Z�˫c�Ia~}��k��)zDU ��i��0�
+6�t
+
�
+N��l�
+endstream
+endobj
+2072 0 obj <<
+/Type /Page
+/Contents 2073 0 R
+/Resources 2071 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1949 0 R
+/Annots [ 2045 0 R 2046 0 R 2061 0 R 2062 0 R 2063 0 R 2064 0 R 2065 0 R 2066 0 R 2067 0 R 2070 0 R ]
+>> endobj
+2045 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.351 707.125 199.907 718.029]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+2046 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.405 707.125 251.105 718.029]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a5204a6f9136985b1cf438bea23fd9489) >>
+>> endobj
+2061 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.356 668.971 177.83 679.502]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a3e689b13a25dfaf0b6f22b21127bf4f9) >>
+>> endobj
+2062 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.356 588.684 191.678 599.214]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a4b29f6a5bfc34297ed8cad2fc85141ef) >>
+>> endobj
+2063 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.181 506.175 379.083 517.079]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
+>> endobj
+2064 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.072 351.064 218.628 382.033]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+2065 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 150.554 194.507 161.458]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_a5703e74effb8a5b4090be08699d6b808) >>
+>> endobj
+2066 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.942 112.027 179.274 122.931]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_a86ef4d8f3963d0e41bd32e5745b2b161) >>
+>> endobj
+2067 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.09 112.027 263.687 122.931]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+2070 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2074 0 obj <<
+/D [2072 0 R /XYZ 90 757.935 null]
+>> endobj
+2075 0 obj <<
+/D [2072 0 R /XYZ 90 687.527 null]
+>> endobj
+2076 0 obj <<
+/D [2072 0 R /XYZ 90 607.12 null]
+>> endobj
+2077 0 obj <<
+/D [2072 0 R /XYZ 90 607.12 null]
+>> endobj
+2078 0 obj <<
+/D [2072 0 R /XYZ 90 551.301 null]
+>> endobj
+2079 0 obj <<
+/D [2072 0 R /XYZ 90 492.748 null]
+>> endobj
+2080 0 obj <<
+/D [2072 0 R /XYZ 90 470.436 null]
+>> endobj
+2081 0 obj <<
+/D [2072 0 R /XYZ 90 470.436 null]
+>> endobj
+632 0 obj <<
+/D [2072 0 R /XYZ 90 257.173 null]
+>> endobj
+214 0 obj <<
+/D [2072 0 R /XYZ 90 250.065 null]
+>> endobj
+2082 0 obj <<
+/D [2072 0 R /XYZ 90 169.364 null]
+>> endobj
+2083 0 obj <<
+/D [2072 0 R /XYZ 90 169.364 null]
+>> endobj
+2084 0 obj <<
+/D [2072 0 R /XYZ 90 130.957 null]
+>> endobj
+2071 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F83 417 0 R /F72 277 0 R /F95 1427 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2103 0 obj <<
+/Length 1180      
+/Filter /FlateDecode
+>>
+stream
+x��XMo�6��W�V	�i���[�m�v�4qO�"�%:V*K�>b���eK�Ӡ�l�`X�Ù���'t��8�y>����8X��KsF�<EW%؋�)%�8Q��ͦ�w+�V�&���v''�.#<��(��
��&+
w�8qNsQ���B.e��ȑE"�%%�焁�e�i��|���BLQ
q�q��'W_J��'���j�5��9���1!O��<Ln�l ��t�.r{�Y���>k�DeP���
� �^�����:�f�栫)�j��QV�]��F��;-�;tttZQ6���
����	'�#G6�0Dd�*����8�}��|%

�����6+ј�Z�:nm�;�����8�
G1}3��&��2+�WE��
�玅S�ŵ��e�o��� ��b�d�r��
�J�`�J1 T�w�z���
�#A�Y�40�U-����D�]��I,ߔ��Å�m�.����f�I�6�����/`�M�_��w��~
+�oJ��y�i+�������G�HNL�8�}S��%R�i'�>�Fd������*�X�G ��
?#
+�j����Y�f+ea��yf�*�c}���0�&3���g
|k4�"�Xe�M.�Ҁ���⮗>�BC��[�Y�lT���w	��V	�O@�HC�
�␚��R�6���LZ���r˲�<�
+J�"t���nne!Umwk/�r=*�e��˸�����˓�v�� �<�5�`#�;�Z��ZG�2��3�2]uֽ�c���̏֩��9�
@��h���
��b�����F��6��HC�՗!4I�<�������t�� D%L\�T�m�y+_U�/�2��x��Q=&;~x
��<�w/:|T�UmW��rT�e���!]�P�{�A�9e�����Eށ��ZݏL�B�0�q[��F�X��ϭ��O
�
�iF���g��W�%��xE�oc�.j8k_E����ig���=ַe�����D��Da���
���؏�C&A���P����8��7��x�9�˹�	m��D����ws|��O���
C����\��^K�Z�$ݣ?�Pݭ+�ϢhE��Tݫ��5��W�)U��Z��ѥ�
J�����M��d0�G�m;��ٜ�f��'5n�lSᬙm6��a��{�P
a�L{�.+
h h�
	�4�9�
�
+0\5p$~k~=�
+endstream
+endobj
+2102 0 obj <<
+/Type /Page
+/Contents 2103 0 R
+/Resources 2101 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2118 0 R
+/Annots [ 2068 0 R 2069 0 R 2085 0 R 2086 0 R 2087 0 R 2088 0 R 2089 0 R 2090 0 R 2091 0 R 2092 0 R 2093 0 R 2094 0 R 2095 0 R 2096 0 R 2097 0 R 2098 0 R 2099 0 R 2100 0 R ]
+>> endobj
+2068 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 697.247 218.029 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+2069 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.527 697.247 250.965 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_a0b8fd6b1ed827658839d73fcb11d4755) >>
+>> endobj
+2085 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 658.393 218.029 669.297]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+2086 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.527 658.393 262.043 669.297]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_ad487a3b3a0d3590dd3678cf333549f47) >>
+>> endobj
+2087 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 619.539 218.029 630.443]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+2088 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.527 619.539 290.804 630.443]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_a103c1a923368f15f9846bb63c5fc8bcd) >>
+>> endobj
+2089 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 580.684 218.029 591.588]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+2090 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.527 580.684 266.456 591.588]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_a0ce79e66e5f99bf6dae5077d3eeb15a8) >>
+>> endobj
+2091 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 541.83 218.029 552.734]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+2092 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.527 541.83 255.378 552.734]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_a981388a9978a768d9859bc6a05b59612) >>
+>> endobj
+2093 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 290.813 194.497 301.717]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation_aa542fab30058371e9f17fca3eb84724b) >>
+>> endobj
+2094 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.942 251.959 179.274 262.863]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation_aba48365387e24282c5facb79d544df54) >>
+>> endobj
+2095 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.09 251.959 263.677 262.863]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
+>> endobj
+2096 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 171.197 218.019 182.101]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
+>> endobj
+2097 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.517 171.197 250.955 182.101]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation_a52e2da847dc03a6a0bd03eb718bbc2c5) >>
+>> endobj
+2098 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 132.342 218.019 143.246]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
+>> endobj
+2099 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.517 132.342 259.253 143.246]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation_ac9b4e9cbc50b16d0b8eae819ba758bb1) >>
+>> endobj
+2100 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2104 0 obj <<
+/D [2102 0 R /XYZ 90 757.935 null]
+>> endobj
+2105 0 obj <<
+/D [2102 0 R /XYZ 90 716.221 null]
+>> endobj
+2106 0 obj <<
+/D [2102 0 R /XYZ 90 716.221 null]
+>> endobj
+2107 0 obj <<
+/D [2102 0 R /XYZ 90 677.486 null]
+>> endobj
+2108 0 obj <<
+/D [2102 0 R /XYZ 90 638.632 null]
+>> endobj
+2109 0 obj <<
+/D [2102 0 R /XYZ 90 599.778 null]
+>> endobj
+2110 0 obj <<
+/D [2102 0 R /XYZ 90 560.923 null]
+>> endobj
+2111 0 obj <<
+/D [2102 0 R /XYZ 90 504.51 null]
+>> endobj
+633 0 obj <<
+/D [2102 0 R /XYZ 90 397.236 null]
+>> endobj
+218 0 obj <<
+/D [2102 0 R /XYZ 90 390.635 null]
+>> endobj
+2112 0 obj <<
+/D [2102 0 R /XYZ 90 309.787 null]
+>> endobj
+2113 0 obj <<
+/D [2102 0 R /XYZ 90 309.787 null]
+>> endobj
+2114 0 obj <<
+/D [2102 0 R /XYZ 90 271.052 null]
+>> endobj
+2115 0 obj <<
+/D [2102 0 R /XYZ 90 190.17 null]
+>> endobj
+2116 0 obj <<
+/D [2102 0 R /XYZ 90 190.17 null]
+>> endobj
+2117 0 obj <<
+/D [2102 0 R /XYZ 90 151.436 null]
+>> endobj
+2101 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F95 1427 0 R /F83 417 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2139 0 obj <<
+/Length 1447      
+/Filter /FlateDecode
+>>
+stream
+x��Y�r�6}�W��L�B��թ3I��uܧ$��(HbʋBRVկ� )���Se♼H��{���������ѯ��镇� .u�ۥ`�s	�X�
�M0b�xB0��F䉘m�x���\��h��|qq=��6��ķ�t<�
ۗ�(
+}y#��z'�P�x��
��Ɵn_�~�
}0[�2�{�c�
+�чO�Z��ז�÷vU��r(���z?�s�O:C�.?8�#b�y!K�r�
|!�0�6eƃQ�+�F�ք:�9�
�v
>0L�\Ƣ�wԞ�r'e�_	�W�U�����+��\�Y>��F��:0|T�F�FP]F�&��L�Bw
���6
��E�4#�̛���
)A7`�����u���n��k�P=N��=��<�R��j��­r�5��Ue嶺
+�ٍ	�St&�9[�YRw��`q��)�wQ�ҏ>bLcyQI�֊E\�0X�����n�B��g/e:�1H��B)�N�#�Z at w\��2��g"�w�Pz�VU��m�5ע�� o���9�����%<&��	�����+1(�W�Z�Qif;������2,����(��{C�J!��䒛�“�\ή��r���K)`��Ԓ����(�6���\쮚�l�yP��c�En����u��d���o�E����`@Dm3zz!
9
l��t$� �Cy5Y�A���؈P��}݃��Z%�!�����^�Q�*�
r`(p|m�,���:�4SV�*?v�߁�j�WF�K��8+"����g�ɉ�#���.�D�¨�c"��$��A���1����z�8✃�T}T^L�/DAH�an

 �A.��?kߢ�'y8�%
x#u�z��ɦ��b���w�DXq�|��y��� C�,��1�
ɇC��O ��'��h.!
����r�~_�2�u�[�t+�]���N�kC���1�D�L}PW�V-��t�A�@�!U��/[G�S4�� H�"��Z�C�K)=gh8
��݄F�Q�+��5HL�E�Z_�Y;/.��B��P�g
^
b�h��1E9o��
-�`��~��~������@���)!����Fi-��Z��l ��w����	"��E7��f�vP�H
��b�8��;�>-��!\�O���YK��VrT̪Z��E��H+�үWV�ޖ1K������O�'o"mqݭ�؁�II��#B��۴�5/�9��gǩ����!Ŀ|F��3Ȃ�|i������"*�\���2+L�:��N�+3PX��B���:�yDL��F�>®�Џ�Gp�E��|��C���'��U��'&@�cHs�FP
;�}#��V��P��R��꠼>�����O�8�0�V�P>
�m���O�;��@�	����Z������w%p�r�B'�7�Z���b:��v(,$�M��r��������Qq�ה`�!t��R׋�uî5���Eh��3�>��˄��
+endstream
+endobj
+2138 0 obj <<
+/Type /Page
+/Contents 2139 0 R
+/Resources 2137 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2118 0 R
+/Annots [ 2119 0 R 2120 0 R 2121 0 R 2122 0 R 2123 0 R 2124 0 R 2125 0 R 2126 0 R 2127 0 R 2128 0 R 2129 0 R 2130 0 R 2131 0 R 2132 0 R 2133 0 R 2134 0 R 2136 0 R ]
+>> endobj
+2119 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.912 546.604 306.267 557.508]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+2120 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 469.827 242.354 480.731]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a8b521c98491fa559861dae11ad3ec3f3) >>
+>> endobj
+2121 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 432.965 242.663 443.869]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a84625e35d755ced248ffe55750614f09) >>
+>> endobj
+2122 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 396.103 229.362 407.007]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+2123 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.861 396.103 275.021 407.007]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a56bf9c6096c448f27d61416f27a05db1) >>
+>> endobj
+2124 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 359.241 235.988 370.145]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
+>> endobj
+2125 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.486 359.241 288.271 370.145]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_add544c3d22008bb22d0b6fa536c651dd) >>
+>> endobj
+2126 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 322.38 229.362 333.283]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+2127 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.861 322.38 322.621 333.283]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ad0f0c9ad050583abd703aaedb6e5cca1) >>
+>> endobj
+2128 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 285.518 235.988 296.422]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
+>> endobj
+2129 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.486 285.518 335.872 296.422]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a81c4315daec6710e58a0617d92839e81) >>
+>> endobj
+2130 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 237.697 224.093 248.601]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a25143e2f87da1099e3cb5c065a2e0890) >>
+>> endobj
+2131 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 201.209 232.541 211.739]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_aad130af7dc19af625d583e25020026e1) >>
+>> endobj
+2132 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 164.347 233.497 174.878]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a1d1b69611f06c6e9aa03fd1b951573f8) >>
+>> endobj
+2133 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 127.485 230.169 138.016]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a951904ccc728d261cf367a0bc613478d) >>
+>> endobj
+2134 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 90.25 282.204 101.154]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a9f7d55f53c6ca0b56163de733c0bca5d) >>
+>> endobj
+2136 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2140 0 obj <<
+/D [2138 0 R /XYZ 90 757.935 null]
+>> endobj
+2141 0 obj <<
+/D [2138 0 R /XYZ 90 733.028 null]
+>> endobj
+634 0 obj <<
+/D [2138 0 R /XYZ 90 633.415 null]
+>> endobj
+222 0 obj <<
+/D [2138 0 R /XYZ 90 626.815 null]
+>> endobj
+2142 0 obj <<
+/D [2138 0 R /XYZ 90 510.718 null]
+>> endobj
+2143 0 obj <<
+/D [2138 0 R /XYZ 90 484.905 null]
+>> endobj
+2144 0 obj <<
+/D [2138 0 R /XYZ 90 450.066 null]
+>> endobj
+2145 0 obj <<
+/D [2138 0 R /XYZ 90 413.204 null]
+>> endobj
+2146 0 obj <<
+/D [2138 0 R /XYZ 90 376.342 null]
+>> endobj
+2147 0 obj <<
+/D [2138 0 R /XYZ 90 339.48 null]
+>> endobj
+2148 0 obj <<
+/D [2138 0 R /XYZ 90 302.619 null]
+>> endobj
+2149 0 obj <<
+/D [2138 0 R /XYZ 90 254.798 null]
+>> endobj
+2150 0 obj <<
+/D [2138 0 R /XYZ 90 217.936 null]
+>> endobj
+2151 0 obj <<
+/D [2138 0 R /XYZ 90 181.074 null]
+>> endobj
+2152 0 obj <<
+/D [2138 0 R /XYZ 90 144.213 null]
+>> endobj
+2153 0 obj <<
+/D [2138 0 R /XYZ 90 107.351 null]
+>> endobj
+2137 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F83 417 0 R /F93 1139 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2200 0 obj <<
+/Length 1702      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs�6��W�Vr&��	2��!�$�4�q
��$��$Hb+�
+IYQ}ҒL�˵
<�$`������wF��m��nu�p߉Q
�й
:�����`�z�|t��h쵱���L�Sѝe��Xrѝ$�\�˗//=��kGn�zm���D�i^ɡԿɴ/A
c��<�>_�k��n}ia���`=��#N�?m}��;�����9
�k�0B��������[c6���q!S�a�#MN(���Xx%�y�j&�7]�N}�i�t�2�K�iM&��U���1W�����Ҵ৻*G�U1N��*�G��Wf��þ;J�bRi�O�B�9�^!K;;�r,M�F��,�
g������Λ \�
3B�N�cf����`M��
 �RQ&
	���Ρ�e)R�]� Y8\�ڢ,-E��$-�$G20§M5��'?��7��_�B���bƟ'**�XE6��բ
+|j���� .
+3�F^��F�(sm�=Q�w����1vE���D6
�QS��8���pr#�
8B4�C
ƭ*�ڊ'��A$�(
+va2��N�ሐaC��ᨗ��A�
�ٴ+z�ne

���1�w_��(�,m�
+z
�-��%���3��u�a��ͦV{O���q1��x
	
+{D��$$h�8c�1��ܾ؁3()w#�
����FC�h4$�T|M�ɿwxL	�Fl)��T��b�Lb�^dr�L�����Ȼu��W�g��
^xz��e���@�X���A]���Co:tp1^	l(���D��Vuxu�
A4 at a\'�_v	�1�O�]��@?��|�k�2�_]��0�^UìW
+1h\���X����UFr��F�����چ��q�w��Rn*�IA)�%��6����"���?)
2��i��q�W�f�A٦�p}`l
vQȍ�@:�(��-�݈ɼJ�u�6��K98��2�
1��N*b4t�I�HEJ�7R��'���f%/I�[��EtA\
RT�<;*R1;���)
x���"|њ���T��a"|���h/""[��n��N��]��=�MBd+	�t'	%����b�s1��C/����T�B�T6l�F'��s%��UR��T��}��b,͸[p#���v�F�0&H˟�U&��o!U����\�5�u�Ϫ�\�HE��d���}���
rqu.��ҭ��2�,�Yڽ��A���m��")LJ�
_Tg�ף����ZLj�����m�MI:��c˅��ƨ�5�^M��1C�Ӄ.CkP�j��ʦ��l����⸣�)��Av>&K�Fp��"kk��?�%�3��EO���u�&��d�t4j�����^�N�����FP�Z�G [...]
T�8?pTC$:5�$Ew��݈~��4p��'n�w�X�H�m �@?�BV�hUl�
����Б_�b��F�F�΀�n��
-�����a��+r�Z
���������A`��^WU٥.��=��n?�7��͇wB��7�L��"
��Ȋ�5-e>T[��Z�g!� pm5��H�r�Ɵ�s�S��  ���<��|���Jg�����BY1��� �#;.���Ng�X�~��i2�QRvf�Ig��n˜!^�7
����,���)T�V���0�2`�Bǩ��׃
+A�8���
+endstream
+endobj
+2199 0 obj <<
+/Type /Page
+/Contents 2200 0 R
+/Resources 2198 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2118 0 R
+/Annots [ 2135 0 R 2154 0 R 2155 0 R 2156 0 R 2157 0 R 2158 0 R 2159 0 R 2160 0 R 2161 0 R 2162 0 R 2163 0 R 2164 0 R 2165 0 R 2166 0 R 2167 0 R 2168 0 R 2169 0 R 2170 0 R 2171 0 R 2172 0 R 2173 0 R 2174 0 R 2175 0 R 2176 0 R 2177 0 R 2178 0 R 2179 0 R 2180 0 R 2181 0 R 2182 0 R 2183 0 R 2184 0 R 2185 0 R 2186 0 R 2187 0 R 2188 0 R 2189 0 R 2190 0 R 2191 0 R 2192 0 R 2193 0 R 2194 0 R 2197 0 R ]
+>> endobj
+2135 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 696.998 278.727 707.902]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a50926d4c45d6e451ccec518c8051733c) >>
+>> endobj
+2154 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 660.51 227.958 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ab7c4fb00dc7b0fff7edbe9d80ad15ae6) >>
+>> endobj
+2155 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.774 660.51 266.961 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2156 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 625.267 269.164 636.171]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a4949285de47134b38f894d92823a931b) >>
+>> endobj
+2157 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.979 625.267 350.229 636.171]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2158 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 590.398 269.771 601.302]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ac72ffc5f5715e6a10e6d5e63a43b6e9e) >>
+>> endobj
+2159 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.587 590.398 350.836 601.302]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2160 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [187.81 555.529 229.095 566.433]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ac4f92e1418a46d38b818059a3dadab69) >>
+>> endobj
+2161 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.031 555.529 311.281 566.433]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2162 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.439 555.529 382.456 566.433]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+2163 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [414.259 555.529 460.276 566.433]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+2164 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.286 497.745 228.916 508.649]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_aa8a9da2a38c61eb14ed1922e970552ba) >>
+>> endobj
+2165 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.591 497.745 311.841 508.649]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2166 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [338.658 497.745 384.675 508.649]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+2167 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [415.369 497.745 461.385 508.649]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+2168 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [187.81 439.962 229.095 450.866]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ae4e82dc62f09b889cc2c699b6a8abda1) >>
+>> endobj
+2169 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.031 439.962 311.281 450.866]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2170 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.439 439.962 382.456 450.866]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+2171 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [414.259 439.962 460.276 450.866]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+2172 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.037 428.007 308.86 438.911]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+2173 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.286 382.179 228.916 393.083]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_af212c66bfb25b5b1949ee91f0e4b48ab) >>
+>> endobj
+2174 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.591 382.179 311.841 393.083]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2175 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [338.658 382.179 384.675 393.083]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+2176 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [415.369 382.179 461.385 393.083]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+2177 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.383 370.224 307.206 381.128]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+2178 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 324.395 232.132 335.299]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+2179 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.63 324.395 287.753 335.299]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a3dec267cc9fa523feea43a8c0acdbe00) >>
+>> endobj
+2180 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.569 324.395 335.075 335.299]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
+>> endobj
+2181 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 289.526 232.122 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
+>> endobj
+2182 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.621 289.526 287.743 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a0debe61d4b261fe21a4109f8920557e0) >>
+>> endobj
+2183 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.559 289.526 333.381 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+2184 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 254.657 232.132 265.561]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+2185 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.63 254.657 287.753 265.561]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a7817a26193f804a89ffeb2dbf18fc702) >>
+>> endobj
+2186 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.569 254.657 341.7 265.561]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
+>> endobj
+2187 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 219.788 220.765 230.692]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_abc5704127ba61d2413c9bff4fd30f323) >>
+>> endobj
+2188 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.581 219.788 272.511 230.692]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2189 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 184.918 253.422 195.822]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a269b05089d9f1a4c329d5f5f1fe87dec) >>
+>> endobj
+2190 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.238 184.918 305.168 195.822]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2191 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 150.049 253.432 160.953]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ac302814cfa610b65b7e92426d20b7efd) >>
+>> endobj
+2192 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.248 150.049 305.178 160.953]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2193 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 115.18 213.014 126.084]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a4ee0954f71183611c9b29ad07ad9fba2) >>
+>> endobj
+2194 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.83 115.18 264.76 126.084]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2197 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2201 0 obj <<
+/D [2199 0 R /XYZ 90 757.935 null]
+>> endobj
+2202 0 obj <<
+/D [2199 0 R /XYZ 90 714.099 null]
+>> endobj
+2203 0 obj <<
+/D [2199 0 R /XYZ 90 132.281 null]
+>> endobj
+2198 0 obj <<
+/Font << /F70 275 0 R /F77 334 0 R /F83 417 0 R /F56 243 0 R /F11 322 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2249 0 obj <<
+/Length 1700      
+/Filter /FlateDecode
+>>
+stream
+x��ZMs�6��W�Vi��� ��Z��4�'i잒��&!��D*$eG��] EI�d�V�^,���b���@�L
������w�Z`'@�ܹ;v'�Q�����>��
C�1�/�|
��l5�q
�f�m
�W��(�����t0�
�/gaQ��9��;�F��<��`���M�����
��C*�@�eN4�}�����q�
�s_՚;
u�w�\���a3ܜ�I"���s�g��RV
o�9�
fy�e3��2)��>T��t��e8+���7�0��n��Q�'��d����
�#����q�8C�"a��A��<�ƹx��.F���OU�̗RW�����VJ�ڢ0�u!Kg+]�W�Cx�t=�4)�����0ă�Ϊ��u'��}9X;��o�Ǎ`� �s�3T
���h�a�
(��
�c&iy8�Ӱ�^f����!��w�͐�P
��t)R�V�q����( �X� �I`+ut�K
�K����Νe��Hn���J���l4��,_��tt�*e�d
oI���rj�,��5
�6 at g�x��6Ӕ�4
ܟ�?2��������E!\��&�s�����S5�cC�E�r�
��
y^p�X1�8N��2O�Gk���d��УUe��
�Sȴ4vlgx:p�9I��z^O�E�$�x9_��e���(K�0I��C����YE�wr�'*0_+�qk&0�Qq�L��|a�=>�p��>ih+/�2Rj�KQ++���l���<ܿ
�$LKȦ�)`b�'�����a]S�]('կ��"�L��%s�u��ku^(�f�����[xV�_/�H����Јܫ��U'���L[���l�uyZ_0qBj�U�%����dL�V{;8��G��`����d��ʹ���js
Ӗ�I[
�R4�P��1�]f��gU�r~h�� A
e�w�9(w�'�4[H́������m����Ry��ˑ�����&�+S��S�u�m4y���0x5�߆V�\VK�h�Y�`���j�Q�wZA~>�S%	���(����2UX��Qi7�;�bC6�gC
Z�B
��� 0�*
�u�k�
m�,� �DT~%܂
T��':���.��$m��@�׻�
d`���Dc������ ��@�!D��#B�Y��
����B�E���E�)\X<�
�o���:�yM�ܐ"��o��iҎ=ʐ4H�|>�=B�.~�ԦM��֝��΃�k6�
�6�}l�
V^���C��C�a�7r�1
iCu^�̥٩
��{q�� �B>�*�,�
+uص��N�}���]�s9l�s��
+^�z{
�7����^|X�Y�\T�2U��P�Zwo{TS���U����ylr��⹘�j��(ih���
L
�6��� f��? ��y!�òQX�$���F9e�mW�һ�I��Mw��nw����R"
8)�
��\13��3C��=R230�I3�`�
5w���I���=C0V�kwO�NX��B��l���;0Vs����ˇ60
+���>�e���#���~c?��4����=, )e��f}F����a�m��K��y*��),��a
+21]������k�5(�i�X�������*�iL�����GU�^K���+�8��V!�6&H�[�eZ��W���(*�2M9Jʋ�bv�{	���w��[
��Y.�V��r���ژ��$�����l3��� ��
+endstream
+endobj
+2248 0 obj <<
+/Type /Page
+/Contents 2249 0 R
+/Resources 2247 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2118 0 R
+/Annots [ 2195 0 R 2196 0 R 2217 0 R 2218 0 R 2219 0 R 2220 0 R 2221 0 R 2222 0 R 2223 0 R 2224 0 R 2225 0 R 2226 0 R 2227 0 R 2228 0 R 2229 0 R 2230 0 R 2231 0 R 2232 0 R 2233 0 R 2234 0 R 2235 0 R 2236 0 R 2237 0 R 2238 0 R 2239 0 R 2240 0 R 2241 0 R 2246 0 R ]
+>> endobj
+2195 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.127 719.912 186.574 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ab8b346098cc00bd96852efadc70e42d3) >>
+>> endobj
+2196 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.546 683.878 205.831 694.408]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a45dd7fcc9b518abdc94c454b66ba1d5b) >>
+>> endobj
+2217 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 648.862 282.603 659.766]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a3eced5e4c9a959bf44ba28393466ed15) >>
+>> endobj
+2218 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 612.453 268.376 623.357]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a101725c81694df74ced9b4f2cca1fbad) >>
+>> endobj
+2219 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.384 576.045 212.486 586.949]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a4b3c940e8c7c8981b9b2124a75e011c1) >>
+>> endobj
+2220 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.384 539.637 226.314 550.541]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a5d5942488536d6a9095fc4bdebb9f7ed) >>
+>> endobj
+2221 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 505.368 201.946 515.898]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ac5dfab82eea6ba1f83cbebca0237b084) >>
+>> endobj
+2222 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 433.2 232.192 443.73]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_aaf462d898fecd8d545ce48f6a0632c3e) >>
+>> endobj
+2223 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.008 433.2 279.514 443.73]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
+>> endobj
+2224 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 398.184 238.818 409.088]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_adb6d91da0ca1b3f0f9b755297ab69722) >>
+>> endobj
+2225 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.633 398.184 292.765 409.088]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
+>> endobj
+2226 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 363.542 236.068 374.445]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_af31626a3fd875ced253836666b29990b) >>
+>> endobj
+2227 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.883 363.542 317.71 374.445]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+2228 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 328.899 242.693 339.803]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a0db3ec1fb2ff3022b06cd0760dbc9b11) >>
+>> endobj
+2229 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [246.509 328.899 330.961 339.803]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
+>> endobj
+2230 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 283.671 263.186 294.202]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a2a7c7870e8a2d07650293ccce8893174) >>
+>> endobj
+2231 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.001 283.671 310.507 294.202]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
+>> endobj
+2232 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 248.655 269.811 259.559]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a3e3093f0cebb7f7d4b1ac1f1dda4df5b) >>
+>> endobj
+2233 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.627 248.655 323.758 259.559]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
+>> endobj
+2234 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 214.013 267.061 224.917]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a5b00da433f9d9473b1fbd2cdf6c5976e) >>
+>> endobj
+2235 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.877 214.013 348.704 224.917]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+2236 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 179.37 273.686 190.274]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ad453d2930f64cc40ad0b5dbe4ac50c07) >>
+>> endobj
+2237 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.502 179.37 361.955 190.274]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
+>> endobj
+2238 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 144.728 249.905 155.632]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_aea3d6d51b260b5aa832a1a3a68ac98a0) >>
+>> endobj
+2239 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.721 144.728 301.651 155.632]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2240 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 110.085 255.993 120.989]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a0f157e4c644b4ca57dc6d0ffe0509ae2) >>
+>> endobj
+2241 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.809 110.085 307.739 120.989]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2246 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2250 0 obj <<
+/D [2248 0 R /XYZ 90 757.935 null]
+>> endobj
+2251 0 obj <<
+/D [2248 0 R /XYZ 90 733.028 null]
+>> endobj
+2252 0 obj <<
+/D [2248 0 R /XYZ 90 665.849 null]
+>> endobj
+2253 0 obj <<
+/D [2248 0 R /XYZ 90 629.441 null]
+>> endobj
+2254 0 obj <<
+/D [2248 0 R /XYZ 90 593.033 null]
+>> endobj
+2255 0 obj <<
+/D [2248 0 R /XYZ 90 521.982 null]
+>> endobj
+2247 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F83 417 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2314 0 obj <<
+/Length 2581      
+/Filter /FlateDecode
+>>
+stream
+x��[�s۸�_��R3�]3w�Kۙ4q���hh��9�(������.�"iR�$��L�bZ$��v����}���\���������2��

�$HP�,��!���ɔ`��M����f��?ċ,�-��,��o�~�P
����u:�R��w�h�u�~����Y��c��9�Ɠ�n�_�|s��+
�): RL�����p�����
<�V�
�����?��7׍�f!
+IxCQ��β/��B}�^�y*��4ʓ	�ㄈ0v�,
L���gv�;��xӶZ$w�E0�9ۓ����6���~�#��|w/�ƃ�
+3�
FKn��IN�)�H	�l��蒟�|m�\��Y�-��� �h�?$[צ)�!�C#?H�1�v
`��d3�'�>\�u(Sq~��(]t"IS��wH���9�L��M�q���n��߉�t�o���zC��q��F���z!�$MV���uN�a��9�X#��J���^�3�d��e����e{v���|����$��j��v��n��Ο�8�r;��&|��1�+]���/_C���y��͗��.r��=�!!��yL�W�)���
�.�M�/ٱ9m
+�@TR�
+�՜>���2���3�MV�er����ճ�������1�L�
JɆ���(r�Vq�O7>����9<pC�c:�Q.h
+���M�J��i꟒����7�<?b��yJ��2�������w�����aN+w�ֻ��4^��[�X,,&
��pD�q�aZȚ��e6L�`fR��2{ƫM���SC���E��`j��x��������ׄFY�.;_�:�9p
�9ޝ�%i
e���n��;�\0o��{��+�I��]�q�����@6�@f��9F�
FWW��mF�t���l�l��[��\�����8�3����.��m��ͦ@FL�X��v<2���`h١�@<������ַ�N��� M36K��V�h1�@�����K~T]�������X�Dԙ�����(N at p�*^*`��
�A+�x;��x�;>ڈO:C3��(弍֞�5Ā_ĀGC!�� b��Q��6���e
$
��
H��"u.�0���X�n]a1A,�ehaF��1#��-og#��A ҈K�eB���h�F�M@&
��
@�Z�,B
�
c��Yy �-ܡ�g��┟�ï4@ [...]
+F�_4�( `9�!S��z��Rrf�KJ=�m�NķqB�.ܷ�\���c#p_):��V�xܯ�t���?�H�
 ��W�"�
W�j�
� ���RB�S�Qr��v* ]�T *�T at H�ZK�њ� 
��$5�R�8��
@�J,.��(fb#X� ԓ
 �z�<@aؾ�<���T�^"0Xf�2���D@�C�9��4΢���7��sq�w�C��
?�`�}گn����x����~5 �t��݃�4����a�� �����1�Ɇ���aAz�o�e7��4v_�
�tZx_	��}������|�
|R5�
M�"�u2q 8Q�4=iB��$`�"�/㩕,&Q��T|z��.
+#nZe���)�cl`��a	���FS�e�_p꟮��J:.�]Q0��GK;�RH(��;h��,��2g�c`H4�'�c甍a�Ъ���������zNq��e����8���тҞ*1C��!�u ���n:n�tB���q�"bL���T{[ܵ�M'T�M�>�jM��R�6Hk1���b�ls�kZ� �T1$�z	2I�n����m��2�?|��������ur��!�L��F�ev2YfCdy��
"��c��� Qfc�2ȹ
����ː[�{+�����n������V��txz
��֙�e7��mz[	;Bo9b�� '��K@
2��2r/��+��
�F&��*��q�
��F�)���!�����ՙ4�(Ul*9�F�Q4��C#�e�
G,E�0��C��O�6�Jq֋R��X K��/d��[�Iw�U!M�I�<X��&X9k�J��+x��J���NP:��0X��G��
���d
�8?
+VS���5Q��V炕V���
�n�,J��v���"Y�i_
�̖�K��+���vCPY������$]d�}�L���%H��
5m�0k�Ә/��k1~��� vi�C��`�����-�ngP�xߣ		�
��N9��}�n���6ߞ�:�w9@�$��u���v�)Ώ8��d�>�kL
�r�q������Ǵ?S'
��ѫ�
}(�B�����`��o�+N׹�	-{�G�����ׯv+���6Qy���8������Q�+3��s��
��]�v,��Oq�n(�
�����6�H�%q8m�盷��OOOh�E�4�d(ɯ7��uc�[�D�-��K�`�V��r3����
++U�?�%)4\ �ړ�_�ӌ
+endstream
+endobj
+2313 0 obj <<
+/Type /Page
+/Contents 2314 0 R
+/Resources 2312 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2118 0 R
+/Annots [ 2242 0 R 2243 0 R 2244 0 R 2245 0 R 2268 0 R 2269 0 R 2270 0 R 2271 0 R 2272 0 R 2273 0 R 2274 0 R 2275 0 R 2276 0 R 2277 0 R 2278 0 R 2279 0 R 2280 0 R 2281 0 R 2282 0 R 2283 0 R 2284 0 R 2285 0 R 2286 0 R 2287 0 R 2318 0 R 2288 0 R 2289 0 R 2290 0 R 2291 0 R 2292 0 R 2293 0 R 2294 0 R 2295 0 R 2296 0 R 2297 0 R 2320 0 R 2298 0 R 2299 0 R 2300 0 R 2301 0 R 2302 0 R 2321 0 R 2303 0 R 2304 0 R 2305 0 R 2306 0 R 2307 0 R 2308 0 R 2309 0 R 2310 0 R 2311 0 R ]
+>> endobj
+2242 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 719.912 243.549 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_abe395df0f967ad2074e87c95cab973ee) >>
+>> endobj
+2243 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.365 719.912 295.295 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2244 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 685.428 251.011 696.332]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a6e6eb647853269db9de88ed234a16656) >>
+>> endobj
+2245 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.827 685.428 302.757 696.332]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2268 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 650.944 282.005 661.848]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a5b12ca4fb2557b59516d1bbb2e30fa43) >>
+>> endobj
+2269 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 614.853 311.394 625.757]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a0c39fad28012b1e32b3bb3f51aa395e9) >>
+>> endobj
+2270 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [315.21 614.853 363.14 625.757]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2271 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 569.41 225.298 580.314]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a6e67cd103e4b330d46ded91f0ed0ec2b) >>
+>> endobj
+2272 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.114 569.41 264.301 580.314]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2273 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.856 569.41 359.105 580.314]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2274 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.74 569.41 427.757 580.314]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+2275 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 523.968 238.02 534.872]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_aa7225f4984a8ca7b4701b78e9aa545b3) >>
+>> endobj
+2276 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.836 523.968 277.024 534.872]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2277 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.578 523.968 371.827 534.872]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2278 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.462 523.968 440.479 534.872]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+2279 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.335 478.525 265.386 489.429]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a2c5d0c7fb2c1bbaa9359ed0b497152cf) >>
+>> endobj
+2280 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [269.599 478.525 304.787 489.429]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2281 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [323.235 478.525 400.485 489.429]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2282 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.747 478.525 513.996 489.429]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2283 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.176 466.57 208.193 477.474]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+2284 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.864 419.924 285.637 430.828]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a52cb475c174028850d7ddd0998e089bf) >>
+>> endobj
+2285 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.615 419.924 328.802 430.828]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2286 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.721 419.924 432.971 430.828]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2287 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 419.924 513.996 430.828]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2318 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 407.969 171.361 418.873]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2288 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.94 407.969 254.957 418.873]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+2289 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.436 361.323 276.092 372.227]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_aac326b042c380a004289377eca7d2342) >>
+>> endobj
+2290 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.856 361.323 315.043 372.227]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2291 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.503 361.323 404.243 372.227]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gaccd1fa9f287c6fe48bd8dfd920a5397b) >>
+>> endobj
+2292 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.747 361.323 513.996 372.227]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2293 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.232 349.368 193.249 360.272]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+2294 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.977 303.925 296.356 314.829]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a79d4ff349ca7b314602b79a2d74fe976) >>
+>> endobj
+2295 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [303.89 303.925 339.078 314.829]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2296 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.999 303.925 436.739 314.829]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gaccd1fa9f287c6fe48bd8dfd920a5397b) >>
+>> endobj
+2297 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 303.925 513.996 314.829]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2320 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 291.97 171.361 302.874]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2298 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.996 291.97 240.013 302.874]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+2299 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.237 246.527 275.893 257.431]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a94e51c5141f6c2a46e4c8d8aaea539b4) >>
+>> endobj
+2300 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.557 246.527 356.806 257.431]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2301 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [373.639 246.527 445.379 257.431]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gaccd1fa9f287c6fe48bd8dfd920a5397b) >>
+>> endobj
+2302 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 246.527 513.996 257.431]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2321 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 234.572 171.361 245.476]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2303 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.922 189.129 296.3 200.033]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a9a21e654ffec08b0a79e6aa5ec29d72d) >>
+>> endobj
+2304 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [303.807 189.129 381.056 200.033]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2305 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [406.466 189.129 478.206 200.033]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gaccd1fa9f287c6fe48bd8dfd920a5397b) >>
+>> endobj
+2306 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 177.174 202.344 188.078]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2307 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 131.731 293.621 142.635]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a5e9ac1ca10b983f0dee8146e6e95370b) >>
+>> endobj
+2308 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.437 131.731 332.624 142.635]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2309 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 86.288 297.497 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_acd1f5212866a8cf9921096367ad10354) >>
+>> endobj
+2310 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.312 86.288 358.089 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
+>> endobj
+2311 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2315 0 obj <<
+/D [2313 0 R /XYZ 90 757.935 null]
+>> endobj
+2316 0 obj <<
+/D [2313 0 R /XYZ 90 667.853 null]
+>> endobj
+2312 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F83 417 0 R /F37 2317 0 R /F95 1427 0 R /F93 1139 0 R /F41 246 0 R /F94 2319 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2368 0 obj <<
+/Length 2036      
+/Filter /FlateDecode
+>>
+stream
+x��Zms����_�����x��R��s�M6٫�ڹ/�W*
#�
odE���
–��|U��楧�鞧����������[[!
+��b�gQ�X����&��lN0�v�y���l��I
-���ݻw�f���	처�
��,j��̗\��E�a>�s=; ���?\����W��P�.�������J��K�X[�+�<Džkf�]��
+�͌�js���'6G<�
h���0�j�7e^mZ.��=�]sՈwYZ$u�c'��T��w�r)d��
���$@
"�)�uڨ^{�ê�OM�mڮ�R���m�T<n��Z����
��
TQ��%i΋�k��
9Ah�|��I�����
�`L����X������u0"!� (������Zen���0.,C�cJ�3}���S���l ݹO�F��v�
_
��Mb}�S�r&�9�~�js%�q�����J��
)zmӄ
�,��Ɠ�._1�ONbҞRN����&������3RU�
6�x���۟U�=���
����b�+p���\
�a��_���V�O2i��M@��8(p5�{���9�(`ǝ
+V�I�r
H�8p���+T�eM�����XV=y���bʩ9�?K��H&���볛��"P�I�0��0���2)���e��S}���@n�vSĭ�Z%����h�e�.w#���ĝ}w����aCL+�:w2f
�0���<*ݗ��R��lA.;�^�oOu�A�#�|�ͻmTM�o�"r��S2��̣v9cG�:��.�54�*@�7�1�;
�0����Y8O
�递�L�<$�s�qBB8����R���d!��E�/@=
��S0�J�� ��$��

�gԜ�C!U�U�j24�-��!�֌F�%�ȕ��b�{o��A�Q�
��em��Z���]����#�[�ءͦ
�a")�
W�� &���
+qY at R�a~)
�M8y
j��}H
� :�7'Y�z��/�'��j���a&"�%�L�9���.���</� 5� ���^�:��Tmw|2^=
+i!�|	 ?KхC��#�F�/�e���1?Kg�ѸW�F�75�:]�y}��"$���Ǽ�a��Wz
%�jM!�Er���A��	"���'r��}B'3���m*���^G�|$�DL��勂�3 ��<l
`��/}�H��Tb����3
>�	���On��#Q���)�����E���R>��)�b�����"�+S� �
�SoP^��0D��ə��
$J/��%p�7?�{^��(LxӾl�Ǩ�:���t<`8q�ȺGU�bP����#�

-מ�Ժ�b�Ҁʣ���I��me
S����Z�˗@N5Q�ه���1�I(�ǚ
��z�� �'MS�ƾ���Mq��,O�4�x�·65�

�t�V^��F*S�
��D
{	�IJQ���rHv�k���iQ�MV�y�Y����<Jp�Rm�cG�b�UX@<W��	�x��y������R=�9�\\�18R��)��}������Q�6u�@S����J�
e���<��봒Z@'>I���K>��y�� ��ہ�����2��tس=
"�c
����A�U��y��g!�+�����F�׀�ފ��"��_y����I�::֔��$��J�)���3��
��ά�uz?�(z���Ջj-�! �!�����u��ձ�Am�t|<S�!�G~_I<�h#�.�Vn4���
~��S�������s�=�5/��Td1hk^n.�p�����(���ph<ix7̈́��\܁l5e})�����
='�8�<O���d{�0�
�"���
���?*	b�Xo��ͪ��xX�0
N��G���b�bR�H4�UҞW*>*s�\�O
5���R�$���ЕJ7��Xm���J�Q/��`������O3JM��Cԅ��%�Z�!
+���
7�A��˴�)��lЁA����۶zw}��nQܠM�V5J��ʮ�c?
!� Wz����yY��u�d�\$ĐY�G�Y�7�cx
+endstream
+endobj
+2367 0 obj <<
+/Type /Page
+/Contents 2368 0 R
+/Resources 2366 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2118 0 R
+/Annots [ 2335 0 R 2336 0 R 2337 0 R 2338 0 R 2339 0 R 2340 0 R 2341 0 R 2342 0 R 2343 0 R 2344 0 R 2345 0 R 2346 0 R 2347 0 R 2348 0 R 2349 0 R 2350 0 R 2351 0 R 2352 0 R 2353 0 R 2354 0 R 2355 0 R 2356 0 R 2357 0 R 2358 0 R 2359 0 R 2360 0 R 2361 0 R 2362 0 R 2365 0 R ]
+>> endobj
+2335 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 687.15 240.501 698.054]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_afaf7844389329a23b58abf355ae79ded) >>
+>> endobj
+2336 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.317 687.15 292.247 698.054]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2337 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 614.761 193.906 625.665]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a5f7cb393111807edd0542e1e4367f249) >>
+>> endobj
+2338 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.722 614.761 245.652 625.665]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2339 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 580.12 316.306 591.024]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a250dcd46824fa3fcc48f2dd92a8293ea) >>
+>> endobj
+2340 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 545.479 317.412 556.383]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a40f85671a746d80dd6a5a14292f6df72) >>
+>> endobj
+2341 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 510.838 250.443 521.742]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ab492b453a39228bad565e4964c7ad257) >>
+>> endobj
+2342 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.259 510.838 302.189 521.742]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2343 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 476.197 280.59 487.1]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_acf583e7c0fafe7cfa29463e2c697258e) >>
+>> endobj
+2344 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.406 476.197 341.182 487.1]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
+>> endobj
+2345 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 441.555 311.026 452.459]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a95849529fc06d893870e1b39fe009db8) >>
+>> endobj
+2346 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 395.955 275.759 406.859]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a178d863fdd91da50df37aac742b5f89b) >>
+>> endobj
+2347 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.574 395.955 314.762 406.859]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2348 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 361.314 267.061 372.218]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a255b897130d61d679afec084d905b71d) >>
+>> endobj
+2349 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.877 361.314 327.653 372.218]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
+>> endobj
+2350 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.481 361.314 384.668 372.218]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2351 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 326.673 268.167 337.577]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_abeedcb4af89476e04d9b358ae522dab0) >>
+>> endobj
+2352 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [271.983 326.673 340.246 337.577]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function) >>
+>> endobj
+2353 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 228.382 227.679 239.286]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
+>> endobj
+2354 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.177 228.382 271.664 239.286]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_af15807720fca193200fa6ea8627ef10b) >>
+>> endobj
+2355 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 191.976 227.679 202.88]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
+>> endobj
+2356 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.177 191.976 319.264 202.88]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_add26476af2dfda6abbb7508ef88cae2d) >>
+>> endobj
+2357 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 155.571 230.519 166.475]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a0c70e4b9986758a2c5cfabd0968c80a2) >>
+>> endobj
+2358 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.334 155.571 276.157 166.475]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+2359 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 120.929 234.394 131.833]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ad8155c4d2baca71b59e67eb7396bb18c) >>
+>> endobj
+2360 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [238.21 120.929 314.353 131.833]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
+>> endobj
+2361 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 86.288 241.617 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a2d8112f8870851653e56b12e910f7e45) >>
+>> endobj
+2362 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.432 86.288 293.362 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2365 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2369 0 obj <<
+/D [2367 0 R /XYZ 90 757.935 null]
+>> endobj
+2370 0 obj <<
+/D [2367 0 R /XYZ 90 243.331 null]
+>> endobj
+2371 0 obj <<
+/D [2367 0 R /XYZ 90 208.963 null]
+>> endobj
+2372 0 obj <<
+/D [2367 0 R /XYZ 90 103.275 null]
+>> endobj
+2366 0 obj <<
+/Font << /F70 275 0 R /F77 334 0 R /F83 417 0 R /F56 243 0 R /F11 322 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2407 0 obj <<
+/Length 2293      
+/Filter /FlateDecode
+>>
+stream
+x��Zmo�8��_�o'k�������k�ms��څ��L"�,y%9���͐�,�r���P`�Ţ��pf�g��%:���?.^�\\�
�(&��zts7��(Ԍ(�F7��ǀQ"��QJ�eR.����f^&�,�-�r}u�n�i��,
+�|<��YRU�������3��2��������\�y�� :b� �P��lq��:�C�������b$��k6�p����l_�s�(�D瘤�C3�P�����q6&���ri��m���Sp �ω�s�D�/��p�9ђ�k̤��窧d�q� �yR�c���1S���ц3�{y�Jy���ގD)\��<���[���v{
��Dݫ/x��
���l0[�m
g��2�^�6�
���(������>�s����׊�X��g׋�Ԃ�d/_2��G\���z���0�E�H��k�n�C�w�	J
��?��^
�&�q"@����n�O6~~'ԅ�/�q""QkP��VN����,��K�6T��jw_ܹ�X,W5,����w�;i�uޚ�ɘ|�2DŽ��$ے|>�I
�2�-���y~.�	W�� ��Ưa�-�B��>�"�P�P!� �
2��`� (`a�G$#��o
�G���!4?B� Kim�SOv{}���t�
�����( [...]
+��G�ڢ�3���a�p��]��T$�m at fCPD�C��kRۅ��0�
+1�I��.	T�C��Rn�>+�}Y�e[dYxK]� ;�D
�Q<��x�hu&�5gG 
��#
�v
w.�q�!��L:��.|��
|��~C�xH��]�-���>�a�E<�P��6ԭBuL�;P���P
�?uA�=�;k<�
�y��N��B�R��1Xg�`�(>�ލ��w#ؿNgw���8��Σ�0��"
v��K�����]�cw�G���c�y谎��A
.�h!�=�
B��O�<V�T�lU�w7T΀�{�f�U/
+���A<�^Jv�B�t��?��`ײ�.�@�e�z_�
���=��Մ��sÍ�2������0�9���?��Àj�2��8�o�r�R
[�=�Q/f!m���m�����I�q���Bu����SH��2�b&%�a&%▙N)CQ����s
�%�DKK�1�1�a�I3��������P!�#�{��&
+�h�.�0��

O9qb"-#	���7��
+:�
+u��1�6ק��]5!�8�H1	y�
!i�Б"J����M�t�#=LG�n.�½��@6��
�Ӑ<DCbc�ۗ!������
7��)�_���^�'q[M$�R��K^��kޟM��Y��Ϧ���Ҧ��\HA�$B���XC
�N��
���s�T��̿�2Ӑ�C.�vM܁����M�nLoѲ#���o�F,|tcۙo�	
+D�9��
e�3>B���ʹ��ͱV3ơ�V�/�`QT5�\��
�	�ca ��+�
I{��ԅ�C�M��?�,��>��p죉�͎(D+*x[Ԧ1+��
\U� ���
�UfS2�s����'YW�oe/�㓈 \e���C�{�nTo�Ҹ([�s\��T��8���{�I�yQ�ƭ7�4&[�6 ϔ��$�7�+�[��!7�f��x����
��ua+_%�ˤ_s��H���U>s�j)͟���@eZ�fb���_-�K8a�
Yw�=x^ܧ�J��:F��}ؑ��!>W�>P',V]�s��7fqkJ����L��bf-I�o#�+j��-c�*m2�mQd&�O����j���ᓥ-Ym���7w�&�O�Q��� q7��1)"�"�Ά�\���(����d�a|1Z�ʼIɼ;/��:y�\��\IۃX��ǹ����g�9һ�)��*R��֟��pkZ5o�|4���u=�J�x�z�8Ѱa�١
u���PD7���3�l����j;�m-0C>�Z:� ����$K�ӟJ [...]
+�	a�?'�xd[�4�����
�
+endstream
+endobj
+2406 0 obj <<
+/Type /Page
+/Contents 2407 0 R
+/Resources 2405 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2414 0 R
+/Annots [ 2363 0 R 2364 0 R 2385 0 R 2386 0 R 2387 0 R 2388 0 R 2389 0 R 2390 0 R 2391 0 R 2392 0 R 2393 0 R 2394 0 R 2395 0 R 2396 0 R 2397 0 R 2398 0 R 2399 0 R 2400 0 R 2401 0 R 2402 0 R 2403 0 R 2404 0 R ]
+>> endobj
+2363 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 696.998 266.244 707.902]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a6661b721ae109cee00992746554acf53) >>
+>> endobj
+2364 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.06 696.998 317.99 707.902]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2385 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 660.136 282.015 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a894ed94e4bfdc07cd6ef5d45e5c464b7) >>
+>> endobj
+2386 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.831 660.136 333.761 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2387 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 625.267 262.638 636.171]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_aa9a506db5b2ca3606ffdc72bae993831) >>
+>> endobj
+2388 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.454 625.267 314.384 636.171]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2389 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.765 590.398 332.797 601.302]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a5c870a4502b7d88bf273472936bf4fb8) >>
+>> endobj
+2390 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.725 590.398 385.655 601.302]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2391 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [397.971 590.398 475.798 601.302]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+2392 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.932 532.615 318.587 543.519]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a0d6e2bbaaefe11efb5429fe1a61e3d22) >>
+>> endobj
+2393 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.098 532.615 374.028 543.519]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2394 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.157 532.615 469.985 543.519]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+2395 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.144 474.831 337.254 485.735]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a27c32393002b42d894f964a5d60af964) >>
+>> endobj
+2396 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.371 474.831 389.301 485.735]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2397 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [399.794 474.831 477.621 485.735]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+2398 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.311 406.089 323.044 416.993]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ad078549415d6b45298d374eb3b6f5c7d) >>
+>> endobj
+2399 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.745 406.089 377.675 416.993]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2400 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [393.981 406.089 471.808 416.993]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+2401 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.348 291.762 426.278 302.666]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2402 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [275.717 279.807 335.273 290.711]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+2403 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 111.899 230.651 122.769]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2404 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2408 0 obj <<
+/D [2406 0 R /XYZ 90 757.935 null]
+>> endobj
+2409 0 obj <<
+/D [2406 0 R /XYZ 90 714.099 null]
+>> endobj
+2411 0 obj <<
+/D [2406 0 R /XYZ 90 336.889 null]
+>> endobj
+2412 0 obj <<
+/D [2406 0 R /XYZ 90 242.322 null]
+>> endobj
+2204 0 obj <<
+/D [2406 0 R /XYZ 90 220.011 null]
+>> endobj
+2413 0 obj <<
+/D [2406 0 R /XYZ 90 220.011 null]
+>> endobj
+2205 0 obj <<
+/D [2406 0 R /XYZ 90 102.809 null]
+>> endobj
+2405 0 obj <<
+/Font << /F70 275 0 R /F77 334 0 R /F56 243 0 R /F11 322 0 R /F83 417 0 R /F95 1427 0 R /F94 2319 0 R /F98 2410 0 R /F88 819 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2427 0 obj <<
+/Length 1551      
+/Filter /FlateDecode
+>>
+stream
+x��Yَ�6}�W�6sH���iQ�	�"i
+���)	
٦�j���
g����ͦ� I�Ŧ(����c	{�
�~=���`/D��»[y!�A�Ļ[zo�#?�L	�x���4�m��a��E4K�y��/'�����q�M����$*K�|�V�����y��l,�ɻ�磧w�?G
�
�
�
+|�-�ћw�[��sO�!�]}*���;�^�~
��Pa�{� ��u(��xB���� �h��y��(3Wx|{;Ϸٲ���F:�����c���
SBPȭu/�LE��重	TY�H8}�=�$G�Hp������C��m�hs�s��ޡ)�	v0�#���W��Yi���y�GL�FhUl�C(�a�
�W&�Q�4�<K
�
+n
��
Q_
:wJ�-�:�ʪYyj5�4p�^�Ak�
�	f���q��죰U���m�o/S*BĘ�䋅�'O?,Ԧ�����vߺ�{�
���A�D!q���2�ee%�r�Cq�MUV�ZEN={^hXwT-�n]��ǻ�D�E� W%J׀#�� 8����&r���M�q���
��<Q��p\ (u����@���F��
��
���>��	�0$��!���	�1$ࢇpq�ч8���r�ƟrB.�rBԁ|����
aɛ =���-�tC=8�s�B(%{��nf�K�y���.�B	�m�=~�
yb}������sH�L��
۔

+��H���;< Xhs���6u�cq�ρ+�>
+��� �0� \��+m����J��kxI��`�d����M�`��--$!� z~�Fv�I���Αt.נ�#�̈ݭ���l-��N�7����^+Vk�BP��eR_���%ۆu�Ѥ�i[�����F�K�EQ��REy��CB� ��$
5Y�M k}RC�Y+
|c�ޫ�fš��Md濫E՞u$,
`}U¾��c���2���s2�C���H����
�iU��@n�̹̟���2���}>;0o��<���` (�����~��}@���r�i�()󽃍�C�Ow]H�N��L�aj=nFĥ�f�VN|�
��L H�؂��۩��yᚌ�I��,LN��d�Y�M/�k��^
��#�[P%��ݳ��v���}�E�'�G&� x�=�w�L
�s:���N��6l�@�p���@&c���-�D��t�fU�]����p��)�Y�=�Gɿ��+ .��_���+�����
+B��*��/tyD(��苳r9��)t��$'�ؿ�L�O .g�����!�g�NP6������WQy������[�N�σ
ؿCI��A�e�z���n
e���ɥ�߈��4����_���3�G���@ذ�����_{�kB?����4
+�l�$��SG#��l��\�0f.�GȌ�v��o�{+�YAV�������T�7����_�l%f�A�̼��ǀ���A���^+e�bB�׬~6
�s��;hkf]U�ۛ��n�%�f�@qu��$7�L��BC]u���E�q(M`�S�i�,�j�v�Ŀ���M
+endstream
+endobj
+2426 0 obj <<
+/Type /Page
+/Contents 2427 0 R
+/Resources 2425 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2414 0 R
+/Annots [ 2421 0 R 2422 0 R 2423 0 R 2424 0 R ]
+>> endobj
+2421 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 620.504 230.651 631.373]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2422 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 478.814 230.651 489.683]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2423 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 233.646 230.651 244.515]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2424 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2428 0 obj <<
+/D [2426 0 R /XYZ 90 757.935 null]
+>> endobj
+2429 0 obj <<
+/D [2426 0 R /XYZ 90 733.028 null]
+>> endobj
+2206 0 obj <<
+/D [2426 0 R /XYZ 90 611.413 null]
+>> endobj
+2430 0 obj <<
+/D [2426 0 R /XYZ 90 596.843 null]
+>> endobj
+2207 0 obj <<
+/D [2426 0 R /XYZ 90 469.723 null]
+>> endobj
+2431 0 obj <<
+/D [2426 0 R /XYZ 90 455.152 null]
+>> endobj
+2208 0 obj <<
+/D [2426 0 R /XYZ 211.842 197.133 null]
+>> endobj
+2432 0 obj <<
+/D [2426 0 R /XYZ 90 182.408 null]
+>> endobj
+2425 0 obj <<
+/Font << /F70 275 0 R /F88 819 0 R /F56 243 0 R /F72 277 0 R /F11 322 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2438 0 obj <<
+/Length 1843      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��F~��୶��0W�U�&J����&[�!�V�=�i1���l}�0��_�I�}�a�3������
���
ߌ��I�(��n^�=)�>�n�޻1���)��7a�o7i|���,����,�_O|<v���i2��
���a���7z��k:�i��ec�&n^��ތ�P{�T�K$)�f�ѻ؛��K�衼]y��c>���{;�u��1x�( ��'}��`ְ���a�u����c_��3�ZR�B��1���i�u��z�E��"�U˻oV�z#�
f�XO���Q�"��w��u�D��o=�����=+�{A��o�D�_m\���޵�]@�{�߳�c��@Lp�����䈒�mr�|����O�k��E�<�.�%��(y���ޮ��lj��a��'T��Y
�G�Kr��\')���h�k�X��t��1�x�l��b)õ%��7L\ʤI|�4?aJ�*6��t��J׮�h_�v�MUy
�s$X`�{�i�7d{�Y Ȗ�
W",qne�H&
�
+�h~�S��
K��z����x��
�U�YjL�%��������

�	IO�
+��<U�]AY��k�c%�t�	��.�a1~HHQ�W�9���z��)$���2H��X�7Ž9��i�#���)'��+�'ia��K����Y]d��-��i"��Q�Q�#���du_�P�T��w�t���+
�\\?Y!�ux��ߧ�h�����Z���*$�� P
� e�d�P�r*�
�_�I�ng�ڑۭS���)�� ������ G#�m?��R��x��{r�`q}�?���>�
s<�rBƯʞ
+%��s�m���
�`Q�r�
���V�M��v��T/
\�"��
����o7�I�Pp�R�"�~[�|@(m����mw�* �-�"R��C�H%�5,=vA;�D%LXAuߏ=6
+ݹγ2��u�S�[P y7���č
=�dc��e�LsT;R���*tgH
�Jj�}S"@�SgP�,�h�Dt��_5eR7e���p����@d���7�`�fm � -D?��Zv�Vv��F���Ҽ�Ԍ�͏�����0�qɌ��y+�bw�h��K���:���H���G(�L�0{�Rh�6i�8ܭt���0�^6d:<ucV�6���t�m��vp�"
+�g���\�/9
�������F!>'����8^"�Q�v>��
��	�^���O�״�
�C4ͿMg,��3 �X|1:�5��q�^b��քe���ht��+mj!��Kj2��h=�i=��(
3�(�텲\�JiY΢f��D��	��6��|�u���!��kq�T@!
����A/�N@�n�
H���ƀ������Fp�Nk`�A{|�z4�~�8!O��G�
~�P(�X�
(����f2$��y���{C˽��.��
�� �Ȑ"��

,F��}2UP�\vG�s2s�#M!&ԃy' e��N��r�w�6��N��ʩx'���S�K("�����"b�K�p���L6�s�N�`�q���3�;}^׈{��;1�$�}m�����
�IU�w2�'T�,
�N"�iLoo�[yzY�n�^�����g��a#�f�~X^䜜�K9�W�RqNX�rNE� �
�V�p������I�L��g%���i��w��ϯP�:�__˯���0/͔��
 �9��������j������eh���]��6\:Q/ȵE�x3��[���&��]��&�0�ǦY�i/kR�7��
���Z;�XW��UG?[���C���UQl���v�
��h�D�
E��f_
ƴ�BC
 .� �ӬH= �S	�4_\S�!'h?�� ��
+endstream
+endobj
+2437 0 obj <<
+/Type /Page
+/Contents 2438 0 R
+/Resources 2436 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2414 0 R
+/Annots [ 2433 0 R 2434 0 R 2435 0 R ]
+>> endobj
+2433 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 611.658 230.651 622.527]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2434 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 297.06 230.651 307.93]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2435 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2439 0 obj <<
+/D [2437 0 R /XYZ 90 757.935 null]
+>> endobj
+2209 0 obj <<
+/D [2437 0 R /XYZ 211.842 575.144 null]
+>> endobj
+2440 0 obj <<
+/D [2437 0 R /XYZ 90 560.42 null]
+>> endobj
+2210 0 obj <<
+/D [2437 0 R /XYZ 192.853 260.547 null]
+>> endobj
+2441 0 obj <<
+/D [2437 0 R /XYZ 90 244.442 null]
+>> endobj
+2436 0 obj <<
+/Font << /F70 275 0 R /F88 819 0 R /F56 243 0 R /F72 277 0 R /F11 322 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2450 0 obj <<
+/Length 1428      
+/Filter /FlateDecode
+>>
+stream
+x��X[��F~���X�g��
ۧ6J����n��CY�ۨ\.q���g��ͮ�f[5R_l�s��s������W�o'W/%�B4�n�^�=$(�nc�O0b�tF0��6*6�|���k
�<M���~7��w�S��<�Ψ���4*K{y���y���y�3�+1�t�f��v�DŽ�A�#�B"Ʉ��L>|�^
�o<c��v�[�S���~��;g�SJ�9E0$̓�!
�Y�-�q���x�R{�h��4f5�߮��$�Y�I���
��/�վ�d1��zco?O����h�8s�fD��[��&1b��$���9R��FVE���Ǟp�y�8{�,vd齳��+��f���������,	��
\^=�s�Z7~[k�
�:�3���Y~Y/Z��3�
��K��>��v
�2Ye:vw��6O�ʮ�ܚ�E��u����ֺp�
��Q�Z��m1����
)t�X��
+N��l�f�c�9������B�٧�
$T�!��^|Y�	X9���.+Gʛ���$�����u6�`T�&���bUotV�;E�zC �!e=�ܸ��:x
��S�r*��
"RRvTZ'�iAE[p�/gI��7[��]j�q
+d �w%]��|Q�=9m	;�5����7�ʐ�a�ݑ(�/u:J#�������:�
g���7nY�6KS�ȳ��B�A�|	�c�J1����
]�E�T�k<s�Pc
+{6�]���3�KԾ��!1�l1{5�@Ќ)���C����Ո4����^V��Ϊ��:#'~P"�@�
0	r��֏(R��C�K��T
�1����?�g���l
]pZ���G�}�K������X�C\"F�0R�������ƣA}�}#>�@dѾ ��X���!�z>�X�
u�@�<h��3߭��4N������N��`G�<�8�����畣��w*1��
��b4}�G��M�Q@
+(<|�.C��&C���\��Gs 
+D�X
��K�����0m�̀��9�~��ur�J]4g�cns0��'ඁ7�f���hHm�z�]�չ̆6���3��x~�,�� }�
+.oٗ0[����2[
�M�Ԧ�m�Ԧ=�󣾽��T3��h~�o��|��m�-��A���K
���g����}{�o?��@ �ĩ��u�V0L
`7y���y�����">���T
�h��
s�)�4�����m�,�8wGF.
qşp6R�9�,�E] G
��_���
�g��B`v樴����V�y���`��nJ�o��n[��۟-��͛Ȁ�΢��([��ʉz�U�XxF
��k���B�ho����
t��v]�I;I� x4�1�^k�߽��'; �
��I�}x]U�뫫�n�%��d[����nӫ��c/��dWz���w��)�gfw���H�C�	B4��(�*��
+endstream
+endobj
+2449 0 obj <<
+/Type /Page
+/Contents 2450 0 R
+/Resources 2448 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2414 0 R
+/Annots [ 2442 0 R 2443 0 R 2444 0 R 2445 0 R 2447 0 R ]
+>> endobj
+2442 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 632.654 230.651 643.523]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2443 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 461.384 230.651 472.253]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2444 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 319.694 230.651 330.563]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2445 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 178.004 230.651 188.873]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2447 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2451 0 obj <<
+/D [2449 0 R /XYZ 90 757.935 null]
+>> endobj
+2211 0 obj <<
+/D [2449 0 R /XYZ 192.853 596.141 null]
+>> endobj
+2452 0 obj <<
+/D [2449 0 R /XYZ 90 580.036 null]
+>> endobj
+2212 0 obj <<
+/D [2449 0 R /XYZ 90 452.293 null]
+>> endobj
+2453 0 obj <<
+/D [2449 0 R /XYZ 90 437.723 null]
+>> endobj
+2213 0 obj <<
+/D [2449 0 R /XYZ 90 310.603 null]
+>> endobj
+2454 0 obj <<
+/D [2449 0 R /XYZ 90 296.033 null]
+>> endobj
+2214 0 obj <<
+/D [2449 0 R /XYZ 90 168.913 null]
+>> endobj
+2455 0 obj <<
+/D [2449 0 R /XYZ 90 154.343 null]
+>> endobj
+2448 0 obj <<
+/Font << /F70 275 0 R /F88 819 0 R /F56 243 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2462 0 obj <<
+/Length 1340      
+/Filter /FlateDecode
+>>
+stream
+x��X�n�F��+�+��y�4�E$��p
u�M�$�|�|XV��w8$%J�
�^4 at 7�kx�ι眹�V�>N~�Of\l�ȗTZ��c˕	J�yd}�	F̟:clo�"
�<٭UT�$�/�bwuu;��noO�g��ԡ�,��Z���B�8g������f�~>�kB !l�&�"�	+L'_�b+��7��ó�ͨ���1�>O~��v1��<a�-�JD$7
{��M�Y��p
�$S�ڬ�>BL�;�I<�b�r��ļΦ
�AG��ŪNUV-��F�}�0*��7kk��E>�����`;^� �:z�w��{�Zǥ4L=���d�H X
+�n7f7����G)�I�ʁ�j��Y�������Q^�c%��谖C	EX2����;|
�	
��a>��4G�;d(��Ж��”�Gi�1�>�4������UYqX%�E�gUg�	�;V�]{��M���0ЬV 
�q,:|a2R��P�C0���w����
�*c�{��GQ�1zH���Ь��Is�g�Μ�2PpD�|���):XM�
���R O�K��B�I4P�1(a��
ʀH�'��9�|�
;k�_A\.���#���Ks75a:/�^�
�7y��}{�J�9�I��YuE��DBxͺ��	�K:S��7��1�^. 5Ժd�14�:�3�i
��
�1潢� ��*s�,���r�.��F��g��[M�&���A����.�0:-�/��S�b�'�} ��qr��H�6��1���@�K���U%[�a
D��q:{���q�H ��s
��鮡_Ώ]p���4}֏H�e�+���Tw8�Ȁi�>btؖ���X3� ��#
+�
�
�S�z��2��ET�����qy�M������X�N GX��Ub
jS�\1h
��1c
����/P�K�*��T�:٫�l
�^�V�V{|�b���
+!>S;y�v�y
G/�^���;�M�k>�k{����#��;B��~�c��>>�Fѐa�ѫ����1Hp�
�#w/��)��^�-
we��s3��E(td�Y-�F}W�nː����5}Z��:�4�O|�H�|�ACr�Q
� U�*�3��x
�A��<�]
�8�]��,k|�9��I+��v,�R�l~ŢP�����v2��w���H�?���R�/�%5ͽ��1��>̏���n�e�^vZ6��A���@��A{`�8�Vu�jC]gP�eS�6U�0�n��du��o��({��#�n�M�U(բb�����~�4��H�%��\W��j6�n�(,Q�ś��l�If���G!��_�Κ�2n̠�fXZ�
ك�i���M*> 
+endstream
+endobj
+2461 0 obj <<
+/Type /Page
+/Contents 2462 0 R
+/Resources 2460 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2414 0 R
+/Annots [ 2446 0 R 2456 0 R 2457 0 R 2459 0 R ]
+>> endobj
+2446 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 703.18 230.651 714.049]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2456 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 553.925 230.651 564.794]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2457 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 404.67 230.651 415.539]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2459 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2463 0 obj <<
+/D [2461 0 R /XYZ 90 757.935 null]
+>> endobj
+2215 0 obj <<
+/D [2461 0 R /XYZ 90 684.148 null]
+>> endobj
+2464 0 obj <<
+/D [2461 0 R /XYZ 90 669.94 null]
+>> endobj
+2216 0 obj <<
+/D [2461 0 R /XYZ 90 534.893 null]
+>> endobj
+2465 0 obj <<
+/D [2461 0 R /XYZ 90 520.685 null]
+>> endobj
+2256 0 obj <<
+/D [2461 0 R /XYZ 90 385.638 null]
+>> endobj
+2466 0 obj <<
+/D [2461 0 R /XYZ 90 371.43 null]
+>> endobj
+2257 0 obj <<
+/D [2461 0 R /XYZ 431.18 296.365 null]
+>> endobj
+2467 0 obj <<
+/D [2461 0 R /XYZ 90 280.623 null]
+>> endobj
+2258 0 obj <<
+/D [2461 0 R /XYZ 218.507 204.935 null]
+>> endobj
+2468 0 obj <<
+/D [2461 0 R /XYZ 90 188.57 null]
+>> endobj
+2460 0 obj <<
+/Font << /F70 275 0 R /F88 819 0 R /F56 243 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2475 0 obj <<
+/Length 1476      
+/Filter /FlateDecode
+>>
+stream
+x��XM��6��W�V�����4H��-�M�S,��l�%W��8��C��EE^g�E.�E
g޼y3�V�^M~�On^&8�HK*��2�8J$A��h�E�c����ǻ�ڦ��rs\�Y��o�C�V��ۻ)ű_���tF��oҺv��͗y�,/9���X%��7���_ሴ�%LD����
e��&�~�����F�2�n�w��&��/�4˜G	��H�{�i��Su��Јs�Zy�޾�J�l����%!���Ŕ��c�1���j���Es:h��B�������58_W唊� �
+�c3%��ځ i�5��-ٽլM�6��FR�nSZd`3�� h��͈a)��{g1b��r�Z��jSO��qf�E�ݥ�y��.���f��	M Br�03 Z
h/"�Z?�3�0x�SD����B�9[��)���?��"u��&swO`��m�e� ت�;
[`�!2����'��a�EJ%',W�1	��b!&p A~&(b@���	s{�e����]�Ά{tw�[
=
�N�p����0�
q~f\9f#��5R2�O{~tΙ1����O�i�zz��5�J�ƃQ�*��F���<�u�(
��0iDA��P���NՅ:�;�5���a��b
>�2)� ��
+�%
�Ś
� ��e�Sh"D*i4B�D��@,خ*w�چe���f����o�i��~o�I�M��S)�"(�jP��tf6٣z()�Ox=Lz�.�!�����������^+�6	�@�S�����ݱn��T*�;w�z$Z�zJ�%�$&�+$��Y.�
+	��B�*$�-��S��kQ�<��=�l��sD\;4'ڳ�矏���㩍P\+S���
j� d,��;uk
+�5�M�@ *��4�Dž�j��dN	�v��Yp�*��M^�d�
�c�BX�>�u�O Xp�rs1��饱}�6�J�f�
+�u��<�
������h��������8�L`�h���h=�w
�m;
�<��
�G"̓kh)2��v�8 "�xeJ ��u��kYu��s/�m�9���Qv(���t�@��ekg�t�ݗ�[P��t�F�r&�U�~�٘v3,�v�=��
�U��<�n��/����
um�M�����O�6qf��M��"���k��#k�`�mw
;�Z��Q�i�ۯ�u�?���
+Pf��3:}������2Yo�g
��_�P�	�k(L�W5�N��j��*j
�8�S�\u�õ�9��
�O�j=Hk�ߎ�5ą)��3���������'1	�"��~k��A���L��zB�h>(�;�����k
���?�͛�6���r��X�ӕ7��Z�Z�a�{�W?L̶��״ا~Բ��=
4�t
1"č��C���ܣ��3���y���
 ���:��iv�77��-j�/̮B����67_���
+��}
�]��e�;2��
+R͒V4|w���t4��1r�
+endstream
+endobj
+2474 0 obj <<
+/Type /Page
+/Contents 2475 0 R
+/Resources 2473 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2414 0 R
+/Annots [ 2458 0 R 2469 0 R 2470 0 R 2471 0 R 2472 0 R ]
+>> endobj
+2458 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 703.18 230.651 714.049]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2469 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 549.535 230.651 560.404]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2470 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 352.188 230.651 363.057]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2471 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 142.886 230.651 153.755]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2472 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2476 0 obj <<
+/D [2474 0 R /XYZ 90 757.935 null]
+>> endobj
+2259 0 obj <<
+/D [2474 0 R /XYZ 90 682.134 null]
+>> endobj
+2477 0 obj <<
+/D [2474 0 R /XYZ 90 667.564 null]
+>> endobj
+2260 0 obj <<
+/D [2474 0 R /XYZ 90 528.489 null]
+>> endobj
+2478 0 obj <<
+/D [2474 0 R /XYZ 90 513.918 null]
+>> endobj
+2261 0 obj <<
+/D [2474 0 R /XYZ 90 331.142 null]
+>> endobj
+2479 0 obj <<
+/D [2474 0 R /XYZ 90 316.571 null]
+>> endobj
+2262 0 obj <<
+/D [2474 0 R /XYZ 90 121.84 null]
+>> endobj
+2473 0 obj <<
+/Font << /F70 275 0 R /F88 819 0 R /F56 243 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2487 0 obj <<
+/Length 1107      
+/Filter /FlateDecode
+>>
+stream
+x��M��F�������b���&�r���v���$*(�V���!$�[��T�">������; q�q~���&o}�0�)g�r
q|EA2�̖�G���SB���]0�'��M�L��6����t��cĭn{T�I썙$��m�e��C�
+���x�?!�p��>��Fof�?G"-�>�\:����g�,���Sġ�ci�s�x�:���F��0Dɳd�#UFq�G
%�C�a1��y-�+�99O�6�O��8��|3_$q��A���'"I��#p"�1�`d���M&o�>�E0Tc����Z��Adm�Qk#ՙ
��@1�
������,��)��E�/��h��U}�
���<Sv`kr
B�� O�Ӵ�W�K.APu���������ʆ�;�@c�S���$(a�7-�}
an��ͱ��t]���kka��t��0�����U�6Z�Lׇ]���D��\�E�S6y�p�I�I�X��:�%��}�^
+��d��k+5(i/m����2��3�x
ŋd�GھlC���1�EGa_2�ҿ����Z���NV�
+wO�Zw�u
�뎤� �Փ�b�S�+b�s�mExA��]��nC�Y��2�av �#0�푥��IJ�Il��*	L�g,틘5ؙ��0�z�-f�����z�����<�u��p�T/�b�C�N/�'��E���R��aQ�3ǭM�˘�]03�p#�m���i�
�0�zH��W��<�^4�
 �jfO����iW�j��l�<*e�?�����߰��a���P-�P-;`Q���`�E�(n��G
y�:��^��&��>��A�Qg{K�<j`�R��b ���Eι=˯_
5Hzs�s�����GD���^yKu\]
[�կ��:}�wJ~C}�h���O�����
�S���{���C?���y0Uh��>�HR��VU,Ȏt
��.k	���X
�wA!�E�뿃x}֕�w1�*Y\T�P��<)ݪ�
�C����>�#�Q�5� ���7���>
���R���g?���hd8H6o��<�O'����
q�O!�'��vr�y��bC����Ԇ�K�2�G8A��qL��/��pm{����
+endstream
+endobj
+2486 0 obj <<
+/Type /Page
+/Contents 2487 0 R
+/Resources 2485 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2493 0 R
+/Annots [ 2480 0 R 2481 0 R 2482 0 R 2483 0 R 2484 0 R ]
+>> endobj
+2480 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 620.504 230.651 631.373]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2481 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 478.814 230.651 489.683]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2482 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 293.422 230.651 304.291]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2483 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 108.03 230.651 118.899]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2484 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2488 0 obj <<
+/D [2486 0 R /XYZ 90 757.935 null]
+>> endobj
+2489 0 obj <<
+/D [2486 0 R /XYZ 90 733.028 null]
+>> endobj
+2263 0 obj <<
+/D [2486 0 R /XYZ 90 611.413 null]
+>> endobj
+2490 0 obj <<
+/D [2486 0 R /XYZ 90 596.843 null]
+>> endobj
+2264 0 obj <<
+/D [2486 0 R /XYZ 90 469.723 null]
+>> endobj
+2491 0 obj <<
+/D [2486 0 R /XYZ 90 455.152 null]
+>> endobj
+2265 0 obj <<
+/D [2486 0 R /XYZ 90 284.331 null]
+>> endobj
+2492 0 obj <<
+/D [2486 0 R /XYZ 90 269.761 null]
+>> endobj
+2266 0 obj <<
+/D [2486 0 R /XYZ 90 98.939 null]
+>> endobj
+2485 0 obj <<
+/Font << /F70 275 0 R /F88 819 0 R /F56 243 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2501 0 obj <<
+/Length 1042      
+/Filter /FlateDecode
+>>
+stream
+x��M��6����U:�&)��|K��ȶ��=��![�W��*��:��C��eG��6N
���"�3�p
�������g?.g�7!v"	*��։�
+�8%�2q>�� �|�1v����UUf�[���*K�u\�w
Ů��閅�S�ݟ��i��{�U�3Ul�c,`���O˛�������C:x�€;�|��v��h?�s�F��
3����~0 ,�(De6�"nS�`�N�(�4�e���'ļX�E��Fmڴ,Vz���?1Ǟωp'�	�o�
��)
+0s|BPĭ�G3�<>�0�ػ�1c���!�!�
���00c_u��Դ�5MG�CT���6m&lS�� e
�e0w���!C�i+�E2a�$ðs���!�a �� 2�콭U��Z빕�(��>�cG%�V�qm'�i���g��n'�[�"O>�8
+`�
$Xd
y��FUZ��l��ˡ�ٺx����"Mb	܂p;�o
��v��4Y��w�\�jXhr�
�H
�!/�ۺ�(w�޿��T&Y�8#_K�DQD��J����TBI`.+�2n�%�h�;�i�)�
+�z��Gem�I
+b4����B*2�U6��&*�~��@5QDxx�~/V�V�Ӱ��*U���HFT�=U`��Lv
�t*���R<D�0
��yB���
+��A��@����B@�A�?
I�
uP#������ #�
]|��H�
g��ǂ
,W�0��p�b ����t�Z� 4-痶�&���M����{���=
+��$^��œx�
%�6�>-x�RY\5�Zo>�Q=��f�2�S Jw��ڷi��kN3
G��S�j�F͉řD�
�k�ڃR�D$��E/�LmP ���
g�m� �������^�}��@����N�#�9�u����#����=��密G��&�x������3����V�-��[4����>��෸������N���f���!�5����RV#�_N�ˬ��)@
+���o۶Z���m�/ҪFi;��l~Q:g2��p�5�Ҿ
�e�L! �PZ!�!}a`
�-�E����
+endstream
+endobj
+2500 0 obj <<
+/Type /Page
+/Contents 2501 0 R
+/Resources 2499 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2493 0 R
+/Annots [ 2494 0 R 2495 0 R 2496 0 R 2497 0 R 2498 0 R ]
+>> endobj
+2494 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 620.504 230.651 631.373]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2495 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 466.858 230.651 477.728]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2496 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 313.213 230.651 324.082]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2497 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 159.568 230.651 170.437]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2498 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2502 0 obj <<
+/D [2500 0 R /XYZ 90 757.935 null]
+>> endobj
+2503 0 obj <<
+/D [2500 0 R /XYZ 90 733.028 null]
+>> endobj
+2267 0 obj <<
+/D [2500 0 R /XYZ 90 599.458 null]
+>> endobj
+2504 0 obj <<
+/D [2500 0 R /XYZ 90 584.887 null]
+>> endobj
+2322 0 obj <<
+/D [2500 0 R /XYZ 90 445.812 null]
+>> endobj
+2505 0 obj <<
+/D [2500 0 R /XYZ 90 431.242 null]
+>> endobj
+2323 0 obj <<
+/D [2500 0 R /XYZ 90 292.167 null]
+>> endobj
+2506 0 obj <<
+/D [2500 0 R /XYZ 90 277.597 null]
+>> endobj
+2324 0 obj <<
+/D [2500 0 R /XYZ 90 138.522 null]
+>> endobj
+2499 0 obj <<
+/Font << /F70 275 0 R /F88 819 0 R /F56 243 0 R /F72 277 0 R /F77 334 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2513 0 obj <<
+/Length 1683      
+/Filter /FlateDecode
+>>
+stream
+x��Y]o�6}����$�b�M){�vh�]��-
Ŧma��Ir����R�dіc�(6
�Kl����8�ܣ� ?N~��\�R8HQ*�
nA�%	�7��CH0bi�q�ͪM6ݖ뇕�W�t��VY�p}�6�8t�#��e�T���:�k���^��7]�4���0�ѧ�7��7�?'
�i

+)&��f���p�M`�H����M�)��u�~��?
eK1QDQ�5yDpxg�h�)o�r��6񔐯��|�]狇�΋�tV���L!��0��"�y�R����bތ�6]�J�AL�""%�n~�w�Q#�EwX'�
!���(�
\Q������T,aaS:�t��s�2�oVy=b�J�h�b�̨�

+���F�&�VS��uu���t~ĘΠL]2���`��\��
�&D\��n�ϛ�����V����1�����l
HpoE1�I�z�S�0�M-�u�G�1�ם�ͮ*��,S
aj���A3%>��G۔9 ��!����ܵ��l��H
+��th�bH�1JS�Ե���3�5�jo����x�t��Θ��M�.ӽ����C�f�|>}^-w]4����s�p"Q�RFk�fU��=D-���jp�'�p�@h�b>VVhH�
C���Ri�VS�ˇ8/f�f
Mp�v?����琌��jSB��_��v4B1��d� �,�W���R)����f%�F���tv���&[:s�
+
�R
+��3�1	��4A�ӻ�2X}6����9/tV��v&�u>J�	 ������@
����nÛ� ���v�(79��zl�W(~�ϩ"�����!�Ky��%f�Q�A#�B'
%�'�la�j�kO�"�,-vF8��'d��!g�S|�s
6���d�+:���&�n���ŝ�t�<A�z�q #��3Z
���3���! K׮�gH����̣v(깽p�06��sD�w4Y
�3�%A&��H��I��`�I��� 
+<L�쀲�[�xdU��f.� ��q��+��Y� *�~�Y����>�W�l�.uw��L̾���4�
+PϿ?��
%v��'~�N*�rvL3�j��.�����㎺C����8��e����_氽f�Gي�l����n%����v�o�u3��z�N �kG���,�|�����	_�����J��Ԙ�K�1�7SY�NH-	�g�
+�8p��d�+Ź��C�v�
��s�G�{y�K�����CT�𳳂�KґEQ:8f
�g��O:w�.;���}DcPZ���ta�:jEa�B�O�BɆ�P�/�N�u��:m�=�
S�%v�6�Q+��K
>�D�І@�ǖS8RHqvFz���64��g�sQ�!�DZPe�I.;��fa�:��\�%�Y������3mO��b(�ӽQ稉��ރ����LB0B��6�OІ�2m4�K��+|�4$OW��U���n�f�\$���.҆��І�!��
�iC⤡��Ґ~��ߤ�4�s��F�����4��8J���3"EB�k���F��ģ]�l�]�Ɍ����~Ί���FX�6�ⶽܥ�ZW�EB�.��dŮ��w�t2}2��A���.+6ݷ�&m��R�$��o�4�뫫��{4�Ѯȷʛ��v}ǔ{+�p��Zt�ڔ=@A1�X��=���/ܸi_�
�o��D
+endstream
+endobj
+2512 0 obj <<
+/Type /Page
+/Contents 2513 0 R
+/Resources 2511 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2493 0 R
+/Annots [ 2507 0 R 2508 0 R 2509 0 R 2510 0 R ]
+>> endobj
+2507 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 608.549 230.651 619.418]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2508 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 367.366 230.651 378.235]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2509 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 126.184 230.651 137.053]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2510 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2514 0 obj <<
+/D [2512 0 R /XYZ 90 757.935 null]
+>> endobj
+2515 0 obj <<
+/D [2512 0 R /XYZ 90 733.028 null]
+>> endobj
+2325 0 obj <<
+/D [2512 0 R /XYZ 90 587.503 null]
+>> endobj
+2516 0 obj <<
+/D [2512 0 R /XYZ 90 572.932 null]
+>> endobj
+2326 0 obj <<
+/D [2512 0 R /XYZ 90 346.32 null]
+>> endobj
+2517 0 obj <<
+/D [2512 0 R /XYZ 90 331.75 null]
+>> endobj
+2327 0 obj <<
+/D [2512 0 R /XYZ 90 105.138 null]
+>> endobj
+2511 0 obj <<
+/Font << /F70 275 0 R /F88 819 0 R /F56 243 0 R /F72 277 0 R /F77 334 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2523 0 obj <<
+/Length 1867      
+/Filter /FlateDecode
+>>
+stream
+x��ZYo�F~ׯ�[) Z�}�Oi�I[ Mܾ$�@K�LT�TJ�����
�$R��$hS���v�ؙ�f��8�G8�y�����‘AFR]�"�#%	�D��]L0bf8"�x��d�^-n��i���e���篇�����x�GT���"�l��t����|��<��
~�x5x~1�{@� 
g�PH1M��wp4���"k��nܪe�)��"z;�}��:C�R4�A1<ʓm6$8����Y�(�ʦ�I�������.���q2{�1��q�L�A�{,��6��hD2"����8)��r��Eg/�n��	��
�[|�C)�'~a�a���\�k��I1~�q�O~�� 2��@Z�r��r��
=*�F���RQ�;��cdp���*u�9��|�!z�E�u��4_-3���� 	&+5 at h�_$dS0��V����r��)�8�!��v�Ӧ�]
��*�t�
+QA�E��1�f
�G��O�M���‹t�N'[/
L�.\��Gk
+ʄ�RD�k�!��H����!Sq��Z*c�"iOL[Q+���8�`yH���z�DRTLJr��ݥ�v *��"�� 	�v
@�.H
C<v4�բR\�$�P#�pf��`'�ebQ
2�������BB��U�5ύ!�v��ӸC��j�
m���6�q
i�t4+�(�#�;���G�D
����
�JF����R�C}h��"r��-bF\!� 9�@��������2ݦŦ���B �������A���e',����xa��v��!Upov�i���g.o�u[��Z�
e-�7E�����!3����m�?b5�)$��w˴pq� \m++k�M~wh���>�!1X��qG�E���.�
����;�[���ޚV4�Ҽ���x�F�6&��r����pK�[4+o��F��$����o{[��V����������#7�ؐY�ouk���"���$�
+h���`�n��\u��f�,v�ԉu����0, bR�(
����$]o��]��a��|{� �v�e>�`_�Ȧ㧅wg\)ꁕ6FP at B���><v��8κ�N
��S�Rj$���6^����2���^=�ڴt
�l�Y�� �I�DZ`�ߟ;$��F7[D�$D9�*�|��H7��1D��̝!æҦ�(ˡ�� �V���yb�1Ĥn�
J��ގ���U���_6�d�oN�X
���H���!C*Q��<b� 
+���7d�S�>N�Y�S���8U`�#�a�z%�a���cXT�
��OIh -~e�Ac*9��))�,}���	V��_�	 �`�
m����A� �,_�`��@'5���x�
+�/�I�
+�k��}����"X0`2��$X�M��
,&)@������F���@��#��vK?��`�G���	�#X��`����#X�4L^d��>\i�PZ��i��"��]�	=v��vy�ZtV ��5����KٹCݛKIĄi
a}vK�I��D�j�����S1���d�h��$\�u�e��T�}������6{��@b��ʛ��L
+PVV���En�5۾e��o��leu
��6���z�
�� i���4
�T��!p@��^�C�,Se`(sE�2�%�SY�2M��7	 +\�n�/��UZ�
g( �8�v��H����XN��=d�:ȴ1�w5
`�F����f)�l�w5U�����e�Կ^p�h�C! &JR\
ϯ]J������
��ë������I>�yL���9P/?镍�MZ�0"��[��ʉѶ�k�
�Zu��0
�I�m��S�G�WT��2p��Hp�$j�~�ݮ���nnn�d�vy�.P�=[�g��y��G�j�r6X�|�A�I�q
Ei�BZg9,\�t9�?А�R
+endstream
+endobj
+2522 0 obj <<
+/Type /Page
+/Contents 2523 0 R
+/Resources 2521 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2493 0 R
+/Annots [ 2518 0 R 2519 0 R 2520 0 R ]
+>> endobj
+2518 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 494.591 230.651 505.46]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2519 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 216.699 230.651 227.568]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2520 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2524 0 obj <<
+/D [2522 0 R /XYZ 90 757.935 null]
+>> endobj
+2525 0 obj <<
+/D [2522 0 R /XYZ 90 733.028 null]
+>> endobj
+2328 0 obj <<
+/D [2522 0 R /XYZ 90 474.957 null]
+>> endobj
+2526 0 obj <<
+/D [2522 0 R /XYZ 90 460.64 null]
+>> endobj
+2329 0 obj <<
+/D [2522 0 R /XYZ 90 197.064 null]
+>> endobj
+2527 0 obj <<
+/D [2522 0 R /XYZ 90 182.748 null]
+>> endobj
+2521 0 obj <<
+/Font << /F70 275 0 R /F88 819 0 R /F56 243 0 R /F72 277 0 R /F77 334 0 R /F7 1173 0 R /F23 244 0 R /F8 344 0 R /F13 1172 0 R /F11 322 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2537 0 obj <<
+/Length 1822      
+/Filter /FlateDecode
+>>
+stream
+x��YMo�F��W�V
+�V���ວ4H��	�&n/I �%�H���8����H����A������3�3oޓ�����藫��ĞBJP�]-=�=)�xW
�O0
+�xB0��6*6�l����xQD�4�.�����rL��
�I���xB9�_��ng/����|g��10_���7��W��G
�
1p�d���f��3�������;���c4����0�}�]0�hP�B3OR��`6��1�~TD������kh�*
VH�$V�>1���mT��N_q�^B�o��W��&#����ZG��^풅��vL9x�Dש{�/�gYX�Y\Di�5v���^�	c��W�8��$�~���
+i�
�� )%���rw�
++��
Um�¹�\�����Lk���v0�4@�[g7HG�G�U$��@���	���x�;�B�S+�E��$3.
�u�%k�C�l�6t@����p�K����v@�I; ���8��#�R��t�
+��9�wI���Z���IK
�
G����
L�7.�� ���VgNF�J�"F����2��_�miq�X9�x�Q�޳�٘AkA�,f�
���H��{�C�F�����)��6����DTK:Uѱ/)´Ɗdg�~�as��A�#Eȫ�Uu�#"U��.�C;p
��Y���iCE�
+BD1w!\�	dZ��$���f
a`�1b"b�HD�2��f
�v񀢠�3m7�Kk8���m4���
�A��p���$������� kU���n�{M(/f�w��v'^�qܩmXk���G�=ݏ���\4�5&
��E2/�O��m� aP�
+�P ���<
0s�'�t��h���^����=��\\4f�,ZZ��m-GI6���Q�䙃+@"ZY�s�h=�M`- b��l������
P�pP��{�����
�
�N��.`4'�o�,�
+@=����C�Zhr�o�0�
�E
�<�=?�N(1�D!�������z=Oz*�C�P� d\������*��Ʉ_�}��
`�hM�ƞ�YNa�VUw�@"
+Ux�����aToc�I�{��ve�6�AO�z��i�L�m=�
G���
+��k���@
\���j� @��<�¯P]�L��� q8� 	����H�$�L��!����ar�B�� `�C
[Z�b� �,FX�A� ۆ��
V"4v�,�
�@�3��vBb�+�g��Pn�G(��q�$"
i�j����FR]�-���c�0u�J���w �B�Ӱ�Q(���!VG!vV'y\O��Ip=	�'��#\����;�ŏ	��7W(
ApU
:��J�l� Ij.��w}�pJ�z���L�!���o�X��
� �)H`�8p*�
� y\Qr�L�
$�Z��Ά���A�+$�H:$�"'�<@�
�y������
��B���x���[� ÃrhO� 4c]��t,�Q��f�C4�ݪ�
�̘��
�������x���
�Q�"a����nˇ+	���h	m����$i;g�)�K�
+����(�
$�a��~�=��	F�F�Q���30��[El�Ni/:Q��hR���G8�8c�5	�P�9r��d���O
e�ٳoax�����
�v���t &�s��n~O��
Lp�8g���4�蟻�8��}k���yi6h���:�V7�:���
�يݹ{��..~s�T����ȍ�o�� �u*@!9�;	�Ї8vY���˫�~�#j���xX']�ۋ�����w�&K�J��v�N��AC{l[V��l�Z�	��Z�7��
^ܘ=8� ˁj�
+endstream
+endobj
+2536 0 obj <<
+/Type /Page
+/Contents 2537 0 R
+/Resources 2535 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2493 0 R
+/Annots [ 2528 0 R 2529 0 R 2539 0 R 2530 0 R 2531 0 R 2541 0 R 2532 0 R 2533 0 R 2534 0 R ]
+>> endobj
+2528 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 610.765 230.651 621.634]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2529 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 598.685 513.996 609.589]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+2539 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.635 586.73 176.565 597.634]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+2530 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 339.43 230.651 350.299]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2531 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 327.351 513.996 338.254]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+2541 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.635 315.395 176.565 326.299]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+2532 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 105.629 230.651 116.498]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2533 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.086 93.549 230.642 104.453]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+2534 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2538 0 obj <<
+/D [2536 0 R /XYZ 90 757.935 null]
+>> endobj
+2330 0 obj <<
+/D [2536 0 R /XYZ 90 582.622 null]
+>> endobj
+2540 0 obj <<
+/D [2536 0 R /XYZ 90 568.926 null]
+>> endobj
+2331 0 obj <<
+/D [2536 0 R /XYZ 90 311.287 null]
+>> endobj
+2542 0 obj <<
+/D [2536 0 R /XYZ 90 297.592 null]
+>> endobj
+2332 0 obj <<
+/D [2536 0 R /XYZ 90 89.441 null]
+>> endobj
+2535 0 obj <<
+/Font << /F70 275 0 R /F88 819 0 R /F56 243 0 R /F72 277 0 R /F77 334 0 R /F8 344 0 R /F13 1172 0 R /F11 322 0 R /F7 1173 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2551 0 obj <<
+/Length 1688      
+/Filter /FlateDecode
+>>
+stream
+x��X�r�6��+�+5�x�pWi&�$Mg\��&�hh	��J�J�Vܯ��DJ�[73��$��=��8X8�q�����FZR�.�%	����SH0bz<!�pg�x�ۮWf���ur������՘��?
�(ܦ�	8|����]^��)3���~�3
j6�r�a��v�爀C8 �B!�D0ی>}��
��Q�/WmN�_7�_F�d0�!,E+D�>�4.�1���nQE��6���g�|y�4���u�O��g�ij�;v�����g,�
<�
+�������c��8��������	�/�EQ+�H I"�|k��_�E����բk��x����qs�]l�"�y�>3��q3�/�H�j�?�8[�CG2T��D��hM��`L8$N1��5�]�n���ߜ���
�v�X%���T"%x�ȸ
wY]�H�����R"�س��'��ퟙ|gf��
�wQ�ugG����u��%tS�\"t�s/�
[
B�m6f*���i�
+��l!ʭ!,�6�Q��"�h����*���DBu�UhL�
+/��(끢�3 ck�^A0�����̀�	�
|�ݮ���n��ҵ��+Ww�Ȫ|�w�k���l;/�
7w�� L"��i�&P�+W-'V�v�q�FQ�jWqoLa���v�K�����v�S��+�4)D��V�Y�E�Vq�s�'s�+@���6i�@�$�?��qr�MN�@��𘟌"��r���m��t,�I��-�7�,W�"?�� ��qP��Y~�ufv6�a
��-���>�
x�{�O�
F$p�|�:[�oLZLkCG�����n��v�mm�{(S"�
.��:��
�*�����C8O�K��Im��A���ƙ+Iw�[)�X���k� )k��fC�P��>�h�m\
�� e�B�v���t�
�Y�ktX��Si�+�c�������i����]ɾG��,��{
(���q �УB
(;uL�I�Vvp�,ew(J��8I��.��i�0��IM��XS`�$��
#P1����gG������ơF��� ��
cSO�M��x�=��t�%��f-�б%"u���DPu^�����!ʜ
��e��e��������Á�k�
+�øԐI�lrU: �ܯ
�pHZ��`��X��ic�C,���2�ާ��$��IV�
.��/�R�[x���6��K[mc�秙�/������<���
:�iDR�8�)�t[t9�h!���PF����"��{֍X7:ʺ��$/ƺ���ɴ�OoL1��@c4���
�J)���Y�e�<�tN�
�2Kd�t��W#����#��i!OP���c`�8�10��d�2 ��An
+�
���Q�H>) gN����ؙq�f��'�IK
6���$��-C
16q)��16TP)K�
�K�0a�<{t��0�)j^�6�1�u�9�����c
ΐg�:��D�z��c���Dp��a��n��֔�j���@B
����w�f?T��EYP?��TT���ԧ�
r�UW�e�ԏ���\0�|z�-�DŽ�8�*?|�T��hq��|q7b;d
l����ty�>�����tQ6m�)��&�n,D�3�s��ǾE��y�֡��^� ��@��7���K�Au�ӨLx ��DT��VE�������h���4�e().v��E�
Z_�G͗��=[Z�6۬fK	��T��ˡ5���r���7��4
+endstream
+endobj
+2550 0 obj <<
+/Type /Page
+/Contents 2551 0 R
+/Resources 2549 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2493 0 R
+/Annots [ 2543 0 R 2544 0 R 2545 0 R 2546 0 R 2547 0 R 2548 0 R ]
+>> endobj
+2543 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 532.967 230.651 543.836]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2544 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.086 520.887 230.642 531.791]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+2545 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 335.62 230.651 346.489]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2546 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 140.276 230.651 151.145]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2547 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [478.809 140.151 513.996 171.12]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2548 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2552 0 obj <<
+/D [2550 0 R /XYZ 90 757.935 null]
+>> endobj
+2553 0 obj <<
+/D [2550 0 R /XYZ 90 733.028 null]
+>> endobj
+2333 0 obj <<
+/D [2550 0 R /XYZ 90 511.921 null]
+>> endobj
+2554 0 obj <<
+/D [2550 0 R /XYZ 90 497.35 null]
+>> endobj
+2334 0 obj <<
+/D [2550 0 R /XYZ 90 326.529 null]
+>> endobj
+2555 0 obj <<
+/D [2550 0 R /XYZ 90 311.959 null]
+>> endobj
+2373 0 obj <<
+/D [2550 0 R /XYZ 90 119.23 null]
+>> endobj
+2549 0 obj <<
+/Font << /F70 275 0 R /F88 819 0 R /F56 243 0 R /F72 277 0 R /F77 334 0 R /F8 344 0 R /F13 1172 0 R /F11 322 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2563 0 obj <<
+/Length 1588      
+/Filter /FlateDecode
+>>
+stream
+x��Xێ�6}�W�6PsI���mQ )�6i
+���)

�E�jdI��8��
^t���mS�E_l]�!�̜3Cao�a��ӛ��� {IA�w��$�A�Ļ��ws��/K�1�Q��VE���T\F�4�-��������{� �<�K����4�*{�Fm�y���{��l.�����ٳ����
a��
� >���ٻ�؋��KO�#�f��cԇ��{;�e��u��
�s�Σ,����O�G��:Ob{�����I��$ۮ��dk@�a�KN�|&p��y��̰D\J��l�n���oKP��{KB���çw�!�f"!��\"L�����&�;x��j
O-�>bo�}7�
��f@]L��G�f`E� .���#�_2�,��O
�.����},�a��.�&�S�&� e
��:����7���C
vk�
�A0 at O�����l�bbu����[U��&\�9�x�+QO"����kbK q��0���IR=r��N1^k�De�W�*�����0KB`���0����&
v��6��`4m���E�Dt�d�z�?T����Ť	~VGI�b{�LEI���R�|$I;蛑�d�D��pMr�y�H��1������D�J/��f�y
e���i*�����$�M�}R�yi�^O޹��a
�`
�h�Z㬁$�
��#���0\�b��[7�P�
��q�2g�(һ�v<$�H�.0��X�$43�I�k����i�B��5&b�Fwn�Z���Aiɺ�$����I���Zu�g����ܺ���<ed�Ƌl� �(M�Փr{ث�^�
�!�(u��͝�]��H
3]� �7S �.�|����	X-���	B�yϨTv[u�Ϸw�$�
%ݤ�~���?N �
+P����@,�q6u��dŕH��#.�-�g[
+<h)��Z��v��#`����K6�s�
�e�\����a�}{4"_Tq�X3���ۑ����
+�!`�(]K�8�N��(����ZO�V�u��SSV��
��dEꞈ��e�T�IY��J��
��b\��PQlI�P�II���$�s��}I��GIBǫ���j��N� VV�8 ��P��x,#i�t��
Q�&�����4��P'
̵#q<�>�Y:Z�|�2e��:d�q�

+tV�
���
+��O���1�F#�A��\�k][��/���t
+�T,�J�L\�������
�g���w�gZ3
`
_�
:eF5�;
�����Rٶޭ��e^>R{�4��f~�=�_&�q����l��A�;
Og&��N3Sw�.3�� `xe�g~H]û���u���M�Yߚp�]�H��J1⺞5�o���!�;�E��¢��
�	��8����<�A��#���ca'�p?T%����K����a��J6do�n����ƹrs���)�����*� �DI�=us
�{�7O��+tO
�o�\"��h��5ޚ>�ᐽ}e�do^���u�m�֙�_ˍ�q��J�_-8�;w��C�v
��.����b{[Ӝ�Uʡb���5W?�L�wR�ĻO`��.�����#ZW�%E����(ҫӨvVa(h��i�p���j���cȶ ��d���9'A�ۅ�P
+endstream
+endobj
+2562 0 obj <<
+/Type /Page
+/Contents 2563 0 R
+/Resources 2561 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2569 0 R
+/Annots [ 2556 0 R 2557 0 R 2558 0 R 2560 0 R ]
+>> endobj
+2556 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 552.362 230.651 563.231]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2557 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 413.809 230.651 424.678]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2558 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 235.017 212.778 245.887]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
+>> endobj
+2560 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2564 0 obj <<
+/D [2562 0 R /XYZ 90 757.935 null]
+>> endobj
+2565 0 obj <<
+/D [2562 0 R /XYZ 90 733.028 null]
+>> endobj
+2374 0 obj <<
+/D [2562 0 R /XYZ 90 532.755 null]
+>> endobj
+2566 0 obj <<
+/D [2562 0 R /XYZ 90 518.444 null]
+>> endobj
+2375 0 obj <<
+/D [2562 0 R /XYZ 90 406.158 null]
+>> endobj
+2567 0 obj <<
+/D [2562 0 R /XYZ 90 391.847 null]
+>> endobj
+2376 0 obj <<
+/D [2562 0 R /XYZ 90 216.033 null]
+>> endobj
+2568 0 obj <<
+/D [2562 0 R /XYZ 90 201.722 null]
+>> endobj
+2561 0 obj <<
+/Font << /F70 275 0 R /F88 819 0 R /F11 322 0 R /F56 243 0 R /F72 277 0 R /F77 334 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2579 0 obj <<
+/Length 1594      
+/Filter /FlateDecode
+>>
+stream
+x��Xێ�6}�W�6Psy�oi�IS 7/I`hm�VcK������E����Y�	Ї]�"9�9s8#
m#
�����\=�q��DR-6Q��X$(����`Ēٜ`��Ǵ<��c����u�.��M��w��ofO��Q�"�ͩ�ӧ�����;��vL�+
�8g|����ūɳ���	�pD�"F1��0��Gkx�*2~��dg
"N\�����	�����R	˜G1��H�6���J��+��Јs��z�޽ �Jul�b�Ds��p6_�|[��ʲ(��
����
ٵ��E#��bW3*�'�#��lc�b���Y�5�`���<����Y~p3z/P���~��ug�:�&"��:;輲�ءӌ@\o�k7�Jo+�F�_�uF�T��
X�9���%��r�J�u��^;~���C�h����Ҿeٮ���?�7���B���.;��xA�9\�;�Gq�ٟ�uf��j��-����݃zL~\_��|����%dI�͝I���\ :�����h((b@�
�w�M&���5��
�r������O�o>�]H��
Q���.��!�8&�I�����H���3 at -+z�Bə��&��0Vɣ<K�uȐD
+\�=|�� b�_=Z������Z?�]Q�A�p��hÀ�X@�*CTDE����e>�@�t���O��-�W�H
4ʂBf E��%�)QR�K�)u�j��b{7��Uq8�n�
�{�9�axr�(���&�y�@+�
+��\��:�mg8���j�����B�۹]�6���܉��a��;�
+�$��@�q½�ˁ��1W���>N�]9s(�&����;���Bb�a�P�b���{]D^Bޫ� ���U J!"�%��)(�u�y���9̽8��}�W>O��^e��(�wh�%��8
���kzX��)��oZ�]�I���)�#�n,��.�mCL�\o��D���!��e�E~Bq�@��Ze��c�ۚ�9^���j*�u3�Ə�����c�� ���@�?�@ad�@aH���~hs[-½s����z���?*6��k�0-�Z�I
�&�0�I^�Yޤ\�W�U�>�7�PB
TQ�h
QQ1Z�^
������N���tLB}�
�틦=�Q�A{$ȹ�9-��F	۽(�����K2
+
�����*�h	˥�k�Ĵ*�i=Xzr�������^�Y5������8:���]�|Ќ�"10կ���#�>	s!�PS�FK�/��/�*H�P�*�ȹ�Xޖ*>C�
�

�	>���bG��0�!F�5��FJ
�(Y�9Z��^A&'%����n8��]��r
��#�3)��
�`"�N
#{������BQ�.KO�`�/AO-+�P&�.K=����
��c�T�V�.�%5�V-!(�I�@�C��Š1�f(�����D��;���=�)���{c�Ґ��l��~�vtt?^ye��o��|{�n���9���V�
zV���| �H��淩/�
c�L�g|�`����n
+
+ŗ���}b?o��"�d�殮��WW��	�*t�g�e��񸿺_"��ho㖚���?��ǂ��_PZB�b�
9�a��������ӻu
+endstream
+endobj
+2578 0 obj <<
+/Type /Page
+/Contents 2579 0 R
+/Resources 2577 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2569 0 R
+/Annots [ 2559 0 R 2570 0 R 2571 0 R 2572 0 R 2573 0 R 2574 0 R 2575 0 R 2576 0 R ]
+>> endobj
+2559 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 703.18 212.778 714.049]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
+>> endobj
+2570 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 554.747 230.651 565.616]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2571 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 539.763 212.778 550.632]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
+>> endobj
+2572 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 393.108 206.372 422.174]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2573 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 350.019 230.651 360.888]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2574 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [478.809 349.894 513.996 380.863]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2575 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 191.633 230.651 202.502]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2576 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2580 0 obj <<
+/D [2578 0 R /XYZ 90 757.935 null]
+>> endobj
+2377 0 obj <<
+/D [2578 0 R /XYZ 90 685.148 null]
+>> endobj
+2581 0 obj <<
+/D [2578 0 R /XYZ 90 671.008 null]
+>> endobj
+2378 0 obj <<
+/D [2578 0 R /XYZ 90 521.73 null]
+>> endobj
+2582 0 obj <<
+/D [2578 0 R /XYZ 90 507.59 null]
+>> endobj
+2379 0 obj <<
+/D [2578 0 R /XYZ 90 331.364 null]
+>> endobj
+2583 0 obj <<
+/D [2578 0 R /XYZ 90 317.224 null]
+>> endobj
+2380 0 obj <<
+/D [2578 0 R /XYZ 90 174.98 null]
+>> endobj
+2584 0 obj <<
+/D [2578 0 R /XYZ 90 160.84 null]
+>> endobj
+2577 0 obj <<
+/Font << /F70 275 0 R /F88 819 0 R /F56 243 0 R /F72 277 0 R /F77 334 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2594 0 obj <<
+/Length 1707      
+/Filter /FlateDecode
+>>
+stream
+x��X�r�6��+��4� ���J;q&i:�&n6iFCK��V|���_�
����I����y�q�
p�z�����:DRP�l��H�)	n���9�(��
�1��I�%˲�?�ԺJ���J�����
��vzA�y�/.(���I]���Q�;���c,ds)_n��^����P�U�G(
+y��f���`
�o�G
ܷ����~����o3l���F�â�
+D3��_<O�$S���V�����8�I!1��
.�sj��%����

޴�ov�8�nA9��&�{;�*�J�e���|k�����]u���p�f*�S�g��־�T�OWI��?��
���]�$��
��B`�{�Cv
�m���ӡ
�pU)�

�E�"$�1P�r$�4g���Re�����P����a:�0Ź��&_0J�O�˗�� �m��A�1�@��
S:��:>8��-̣�=
���m��4���nͺP���
��<�~������
���Um�`p� |�VMQ��6����3
�,�Q�C�FF�w*�6�嫪*�g�C��QO�B{~�x�m��z5�
+�۞������\�ҍpW` �s\m^�k�(��y�J�2o�/a��e_��Q=�A�D
+�c�)�<����
���ux�%_��)�n��c�#c�e�i�d�{GC		%�("<�Q ��E��I�?��?m��̸H�
R<�)��6:�~=��6��I��8�4c��>-$uHZ/?��X�%��i���#�S��ܪ���P��
�R�͘D�p	A���b $)��,��)
��� vM:�.T��g���]
�(�M�EE����b_R�$�lۉ�bܿ��C��)����atBb�j:3���|n�ZB���
d�������8G���>
��M�D�*�}B�Q����T�",6���3�����ƼHk7�V���F��%��Xm�=�΋RU��3-�D��;�p���=�iv�Dqu�]q]X.�|Ud%x�D����ٍbI�H,�!�w���Јl��2S�� @4BbH�:��i	�M��`ǡ2��8��J�C������^��AcAP�!=��>$?�����4c�#
+K�F �l����5YR�� ��
��F�&���!_5]���m�Dk�.7�r�������k�K�
�>kP`����x�G��.�k}.HV�����X�#/�!��u�wX��|�"(��xcC/ ����1IO^T:�
7ӺQ�����y]@Z��N�#���n��G��A�Jn�$��*��E���n>˭�5���i���Y�����Q��=����l��0�!~�\�^5qPUj.���� �C�e8Popsc"��z��M
X�[�f�<��4�� Y�\�Zq�Mc��i��s�o�-
��v���qiˋ����d�>�V$
+?�e	�Nt�?k�x���N
+�X�h��›T��ـ��Cd���ۇA3��!(��$�>�wQ/l�U�4�bF1{Vʹ. �������Á���ȡ$��+�
h>6
k�,��'��
� pAO���~�=���~����� ��k��hi
d��w7���D������I�=$[+�M��i�ˁ�ﵪ~Xp>������.��
UW�ﮐ�Tv�	~T�5��+p�_fm,�R���.)wMS^]^��ߣU�yZV(m.�ryJ�G)�0t$��K������~	�k��G�]�aa6rw� �
��W
+endstream
+endobj
+2593 0 obj <<
+/Type /Page
+/Contents 2594 0 R
+/Resources 2592 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2569 0 R
+/Annots [ 2585 0 R 2586 0 R 2587 0 R 2588 0 R 2589 0 R 2590 0 R 2591 0 R ]
+>> endobj
+2585 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 643.538 230.651 654.408]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2586 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 627.598 212.778 638.467]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
+>> endobj
+2587 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 475.731 206.372 504.797]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2588 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 414.311 230.651 425.18]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2589 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.3 402.232 178.487 413.135]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2590 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 132.834 230.651 143.703]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2591 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2595 0 obj <<
+/D [2593 0 R /XYZ 90 757.935 null]
+>> endobj
+2381 0 obj <<
+/D [2593 0 R /XYZ 90 607.175 null]
+>> endobj
+2596 0 obj <<
+/D [2593 0 R /XYZ 90 592.605 null]
+>> endobj
+2382 0 obj <<
+/D [2593 0 R /XYZ 90 393.265 null]
+>> endobj
+2597 0 obj <<
+/D [2593 0 R /XYZ 90 378.695 null]
+>> endobj
+2383 0 obj <<
+/D [2593 0 R /XYZ 90 253.478 null]
+>> endobj
+2598 0 obj <<
+/D [2593 0 R /XYZ 90 238.908 null]
+>> endobj
+2384 0 obj <<
+/D [2593 0 R /XYZ 90 111.788 null]
+>> endobj
+2592 0 obj <<
+/Font << /F70 275 0 R /F88 819 0 R /F56 243 0 R /F72 277 0 R /F77 334 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2605 0 obj <<
+/Length 1555      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��F~�W�� �ٹ{��*%Q�m�4پ4����`��
B���ml0��l�Vڗ�=�9s������<����ӛ�Ջ�$���m� �	J��$�0$�h4&��:�W�d�-w
���d�N�8�]_�
Q<��GD
33S��ϖqQ��w�V��i3Ӡ�sƇQ8�x�f��f�y@� 
�� ���`�|������lK�U�)��2x?�m��:C�R��A	\ydb��
~q�,F�����?�����8I&smt
�,/��?1�^�"�y0&E�2�e-<y�+�^9��J�|P
II��rü�"
7	C��Z$^HȖИ��3��!��O��JP�/�l�������_�B���w�95�=�cA*�6w�!
q.k�
�S�pt�8<�{ΦI6�i��T"�I+bx��E��^�*5�*�;5��r]l��E��[��AB�4�	�5H����6�㕶:/:��z:�'
+�8��)�kG����N)<ˌ�SS\H�]ĕ��t��w�JJZ'�؃%�F�/&������x3
"*�����^�43���p��+�yw:�Ѿa_����i2y��7+m�9�DN��ڋJ�*�,�lD�p
�ə�}��a~1\
+Q�4]l��� ��������ђko�� ��n��Y�ZlN��OY�I
+�( 
+���Z�a����� ���D��y!%�%�C��p�:�0hVk��]0ʵ�t�M]��WW�n�U�=����<;���0���x��V�O��X/��
/e�*|�!��N��Yjl�zF��d��""���#'�
U�5�"�wO_����6M�����O�ƫ=;�z���� e���݈����G�yy��t�F�����a����O%�N�^���Xc����B��4Ż�;�I�K��r�TDFw���
�����^��`�u�ݵ��v��?4�ZV4`�kd\�H�!@ws�Tۭ�}���+y/gN`�r���X�� �w
<
�R�b��������O|>ꮭ�w9֏r���W���� �5�y>Q�^�'��|��ho��Á�����e in�@^x��N�Xh*֎�P� 
�僖�/��?o���3X��Fr��q9��Js�W�ۼ�V�f5l(�.q
�y�r��f�J�-;�
@�FL+�M�
 :�ЦR�^/w~�F���yz�)��>�MV\�.j�hL;N����
�%zW�V�&��ї�0�:̢�9=�~z"��ezE�4A[˳���Bu�3�=s?9z���‹1��I
ӳ�4#<���[5&�jL�G3^��1�p:�c�w��#���r
(�s����
C�k
CݑaP',<v�!�`< ���!�$#2��!+�!�1ǐ�
��c�G��U
C��M�� ��������t�KU�����u�+��t���>y��i���s���i�ϱ�o�y��M�����Y��{���FB
���kl6q�U�5�w:�vZ�(F���
3P�^�**>�����A�˽�6��K�������v�E�mL��Qj������l����*x�Y~�r��Ȥ~��
RgW�+��$��
�i
+endstream
+endobj
+2604 0 obj <<
+/Type /Page
+/Contents 2605 0 R
+/Resources 2603 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2569 0 R
+/Annots [ 2599 0 R 2600 0 R 2601 0 R 2602 0 R ]
+>> endobj
+2599 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 576.802 230.651 587.672]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2600 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 339.605 230.651 350.474]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2601 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 114.363 230.651 125.232]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2602 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2606 0 obj <<
+/D [2604 0 R /XYZ 90 757.935 null]
+>> endobj
+2607 0 obj <<
+/D [2604 0 R /XYZ 90 733.028 null]
+>> endobj
+2415 0 obj <<
+/D [2604 0 R /XYZ 90 543.801 null]
+>> endobj
+2608 0 obj <<
+/D [2604 0 R /XYZ 90 529.231 null]
+>> endobj
+2416 0 obj <<
+/D [2604 0 R /XYZ 90 318.559 null]
+>> endobj
+2609 0 obj <<
+/D [2604 0 R /XYZ 90 303.989 null]
+>> endobj
+2417 0 obj <<
+/D [2604 0 R /XYZ 90 93.317 null]
+>> endobj
+2603 0 obj <<
+/Font << /F70 275 0 R /F88 819 0 R /F56 243 0 R /F72 277 0 R /F11 322 0 R /F77 334 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2615 0 obj <<
+/Length 1778      
+/Filter /FlateDecode
+>>
+stream
+x��[o�6���+�6��IeÀ�h�v�K���0[q�ڒ+�M��wx�5r��0l}�h�<<<<�O
V~�<>��>S8�P$�
�/�J$(	Η���`Ģ�`��m\l��6_﯒e���E���WS�C�=%:̳�
+
>Y�e�o��ľK�E�8g<���������ɧ	�p@�B!�D��L�}���_F
\�Q��S�u�v�z�o�
eK��
�H0��,��)��g�'1�
+��ӥ�u�=����MZ%����o��l�|����"y6����"�y0#E«FJW�d:
+�c��3�t8bTp�L��)2-��L�'nX���I=�I���Y�U���J6#��B��zƢ
�*��
�x?���@Hg��&���ӘH
���/�*Y�ě�CZ�z��# 
��H��#���c�?
8�
�
\�
���y7�"��4"L��!au����ܭ+י_�>�ҩ�z�VH���΁f��2��l5��RHw�'�lw��3���ޭ����$�e^,�0�F^&�͢q�ҽK��)�Y����5�
Q��yk󫸲>?�X#
#�����"q������d�:����׮a
j��ii�`ЛZ���h�B:�'䄨�dsP�D�.B�
>;�9�j7�Iqo�*)���VN�5R`�1�`u���!���zT��e�:��
���(�M�mve5f��n����\�G�b�$CL
e���?v�3͌D
a�P �h׿Y��6;<���tɬ��zG�s��]Y���.�A<p9�����ؒկ�!��n�B�c��f��SW/)N_�3�{���aU���S*�'��b�����
�v���v�
H����H4��	H׭�*�h�bV��6�J\�1ޜ���*ɼ��v�w�.BD�SI
ʄ4B���&�����kT��|Z�4�q��c�P�dq���v���w�=$������_��$��w S�<ɼ9���
/�)���t9T�v��r�Ё�2�
�"��p o���6��0
˓
BNE�
+�1��1rH���q�
K�
+bE�^W8ҢɆ�p�Ϊ
�1_�gif
+ ���*/�s��=K0�s��#�X=���F9!B��T�X�dI�cI��X� �q�Mz���"HI�G��&P�"H�w� ���&�6�oH��� iR��hG4��72!�ԝ�H�Gh4�m
���8j �FO�ۨQ�qZl�S#,a����եF���Fh��:P#�<!�FJX��Eₖ��
6p��F8I&�R#S�н���H�S�ajd�_j���Fi�qJ¯G��Q|cp����;8�w��
�Q
 GFh
ͯ{��E�˖�%�ȵ����Jpw� 䑗��k
�u�#���9RK��
���9cLBeV}���0�R@���KH�O_B������Xdh�b
��ϪO
��ioR詁�t�%|^}/�<q�����
��F��z`#xc���Xׇ�Y�&�m�M=lR�x3�Vk�/cb0�o�P>"��4+���p~#��U�|r��3�)3<���bX�m�`,�#���U�˗ň�0�Q���
���z,���8� ����&��
���^E��{aS�ߒ?����l"�����
���)��/
+�|����
��g
��o�4܏�
����l��W^�)�ť=�����L��B����]�
�P�+YE�֧�!�mx�$�*������Z�� �I�����ڞ��^__�E�vY�-PZ����M�j�@F՜ۥ�APk�7�RJA
Q0��
h��|hx���
+endstream
+endobj
+2614 0 obj <<
+/Type /Page
+/Contents 2615 0 R
+/Resources 2613 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2569 0 R
+/Annots [ 2610 0 R 2611 0 R 2612 0 R ]
+>> endobj
+2610 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 514.713 230.651 525.582]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2611 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 269.617 230.651 280.486]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2612 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2616 0 obj <<
+/D [2614 0 R /XYZ 90 757.935 null]
+>> endobj
+2617 0 obj <<
+/D [2614 0 R /XYZ 90 733.028 null]
+>> endobj
+2418 0 obj <<
+/D [2614 0 R /XYZ 90 495.688 null]
+>> endobj
+2618 0 obj <<
+/D [2614 0 R /XYZ 90 481.481 null]
+>> endobj
+2419 0 obj <<
+/D [2614 0 R /XYZ 90 250.591 null]
+>> endobj
+2619 0 obj <<
+/D [2614 0 R /XYZ 90 236.384 null]
+>> endobj
+2613 0 obj <<
+/Font << /F70 275 0 R /F88 819 0 R /F11 322 0 R /F56 243 0 R /F77 334 0 R /F72 277 0 R /F23 244 0 R /F31 2620 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2627 0 obj <<
+/Length 1764      
+/Filter /FlateDecode
+>>
+stream
+x��XɎ�F��+x�D=������m;10�('�(�%1�H��5��T/�9^F`.���Z^��"v�v~�=[ͮn<�(T8��`�qJ���y?'�x�$��)̏���%�����:�7y�_��W
���̪r��>��2��Œr<��Ean�ɝ��J�FR�
<<�����������C��C
�Nt�����-��`��9�UGǥ
��s7{;��
ܵ��;v
	s<����z��
�-
Q��KWi�(.E)��>ۙk��E��qZZS�Bn�]��k|<�ق��g�ce���s��i��vp��2P�g���$.�a�,O_4��OYm�S8��y��b"B7���05�UZ�{�����|
�q�I�yS�Y
�{��`ߦ�q��/�����V@����ӂ`�Da��
�Jl��N��|��w:%��2,$>GpY��u1��{
O� �~[��f�9.u�մ��3}I��"�2	/v��i�O%�����ڒ �1
���k$5���f{U��m������� ��7^�
|&�v�4�WG�vu�t
+(k��
�<�`d
ﬓig���zKy�����ԋ~�Ñ4_�"�|�]��	ăT��hJ�F�ZL.�ee��/�8���),c�\�+��u
�Y���K
+!X
�nGV�
X�#��=�!_x��
��)P���q	Nj��g��<=�ѷ*��kE�Yz}�ɪt+��߽`-��`_� �6�p��g�9
�:WK���tcc�E�	%��>Mq�@�yí�;C�c���q��NJ�s��>����Ho  vp� 
G<������R�A�Xc�
��0 ���6UN� ��x�s�c&���#��Z�2˫~	�e�3��nrYTIi�g��ٓ`��� @ϲ�б.#�Z���*C� �#6s
�"3w2�ey����V�^�U/�t"�)�絩<��
Q�Zn
+��*�u3V6�~z0��
yB+O=�|bnL�N��<��	J����-�ز#d
�����
+�c
R����U
|kS�K1�� )&�
=T��~B��"��N���zQ>a��U���/��K�O]
�'�S�v��v|�ۺ
��
y����'p�
�,`]	Ђ͂��^�\�W!�)�Lу����=L�R]j��bc��n�� �4�Hu]��
+�W�
 ƙ�{���[nU

��(K�4%ӭ���
�C]L �Ż�o�ۮ��
s�碠��UQN�� �ob���tPBF֑��,��\��� ����x�8�<�;�����_�;�e6�'��f�Y�����v�@����L�~M:�ra��&yX֌�˳�qvY��6�W�1��=8�1�e�F(ǖe>P����/9Lc7��B�3k��k
:�_d�P��a���7>��
��`>�������u(T�7LD��e��{(͡�A*��O��é��3
�E�m�I��l}#-_��M�F����
���=�1W�@�@�#
"j ��]�7)��j�/ ����i
ӂKuqr)�N�UcA�Dq���}��!�
L bQ�BB7�ԑy!�(��~t��D A��C�z_��IX�Ҷ�5�F-����~�֟�!8PW<P�|j��|��[M+��������!�𺫫�;L�U����7�|�=
�W2�i��ܺ�M�Va�h�o���h��#��C:�����+�����B��6�

��t}uu>�QT�*�O9��+�k�Ʃ�J!D�e��TǬ�����x����G͹�h��V�
+endstream
+endobj
+2626 0 obj <<
+/Type /Page
+/Contents 2627 0 R
+/Resources 2625 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2569 0 R
+/Annots [ 2621 0 R 2622 0 R 2623 0 R 2624 0 R ]
+>> endobj
+2621 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 650.191 230.651 661.06]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2622 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 383.529 230.651 394.399]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2623 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 211.031 194.697 221.935]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Timeout__Exception_a2e8323cda85681d778d5924365cbddc1) >>
+>> endobj
+2624 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2628 0 obj <<
+/D [2626 0 R /XYZ 90 757.935 null]
+>> endobj
+2420 0 obj <<
+/D [2626 0 R /XYZ 90 631.754 null]
+>> endobj
+2629 0 obj <<
+/D [2626 0 R /XYZ 90 617.654 null]
+>> endobj
+635 0 obj <<
+/D [2626 0 R /XYZ 90 318.08 null]
+>> endobj
+226 0 obj <<
+/D [2626 0 R /XYZ 90 309.861 null]
+>> endobj
+2630 0 obj <<
+/D [2626 0 R /XYZ 90 229.483 null]
+>> endobj
+2631 0 obj <<
+/D [2626 0 R /XYZ 90 229.483 null]
+>> endobj
+2632 0 obj <<
+/D [2626 0 R /XYZ 90 174.703 null]
+>> endobj
+661 0 obj <<
+/D [2626 0 R /XYZ 90 83.559 null]
+>> endobj
+2625 0 obj <<
+/Font << /F70 275 0 R /F88 819 0 R /F56 243 0 R /F77 334 0 R /F72 277 0 R /F11 322 0 R /F23 244 0 R /F31 2620 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2642 0 obj <<
+/Length 1597      
+/Filter /FlateDecode
+>>
+stream
+x��XY��8~ϯ��bW�$[>x㘡�]�ؙ,/E)��
;��
��u��8
T�-Yju��u���8�y={���]D�IP��Y��;QH��Y��k�`oN0��W;�i_��[����<[V���콗P�W_�›S�ݗ9�k�z)֢�H�"��D����7����대.�!�l��gN��]��
+��8�I�ܪU;'�><s�j��
�� %�Qk�ٯ1�?�`a:��i�� �>׻V�NuVzX���ٚn<�\�6e�����i�πx�"�Z���2�R���-��q(�������$D��������
�jc�s�z�\����#�B
S
,�:|�
gE��`DF��RQ�ĠTH��2u�$@I`�|q��U=�lࡴ�*Ϗ\Q��b���
�zɫF�7��wY=tIV��G�{�����nz�J�̸��=C �����;�9
1">�2�
���UOq��b5��åhU1vD���؞�
r�L3ވU묇���8�,��6���N��H����86�� �i�^
/$�|0)���)������Q/��7ٍ03�#�=[s	�({�%bA��E��?`L�A��=�l!6

���
+�9�mQ{�Sbk�?`A���f���
�c��z�y}��J��t����/�l�i��4	���j�.9m�������ñ�
��G����g�j ���~)�!�8|x��
+�l�~%�� ^�:���,lӕ����gq���,Q�$�9ɉ~�cSx����v��3�����
+��T��� מLj)��JԢhj-���JקR��]w=6
+��7I\ɵ�YB����YNh)�ңg9�w
+�0�ఁ�F�~9��3j�|Z�Z�#�e^�_�tf���JŶ<�4;d��]�ڕV�dR�
��;fb��KY�bj��P�%U�=��V��(�:9�`�����$P�D����_�~e1/���2�L��Ac$��,	�� �Z��ND��x�
+c�*DګG̔}ͨ�������UW%�M�n͖׽��ՐC��j8�
4�&=_�Mu�����D
L�*��r�m��d#}Wo~�SW�_����94�N!L�=\�b�{��*m�=�Hh�u&(�-�_g�
ǏGH	X�Lb�/��S
� JmS�sZ�E`j�
�����@�	^�9
)��la����T��D:�E��%]\
 �v⼪ʪv�V�"q`U^l�R{k ��t�C@��S0�(;���4��_�ρucLbqd�4�W�TQSk�F�����.���z[E6�U�Q��r7��u���6�$U at 6
+S{9d�d���A�@���tmu�^�;�܊�pT� ���?]��'����C��h�A���hϰ��O���8�L�|�E�/�v
�/�)
%8��7����\��^)
��w��0��>��G�`Jf���"� ƂQV����ai�66��O
�z���3/6�1�~���Z��M��ߵ��x������{FW�4�T��#��{+a�J
�Ǿ�1SL�Ha�C�dۦ�?;;���Ei�E��P֜�������uԖ���T�8�C��Ak�
s��
+X�S�6t*8�_�)�
+endstream
+endobj
+2641 0 obj <<
+/Type /Page
+/Contents 2642 0 R
+/Resources 2640 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2653 0 R
+/Annots [ 2633 0 R 2634 0 R 2635 0 R 2636 0 R 2637 0 R 2638 0 R 2639 0 R ]
+>> endobj
+2633 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 641.077 149.098 651.607]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable_a293bf4ae6670add8afd68cbca2edd0e5) >>
+>> endobj
+2634 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 602.223 136.665 612.753]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable_adf4acacc53bd647f2c4ccaac0aa7643a) >>
+>> endobj
+2635 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 562.995 173.486 573.899]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable_aa771ef39be258755e151cd5edb617e94) >>
+>> endobj
+2636 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.302 562.995 212.49 573.899]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2637 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.961 469.589 361.149 480.493]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2638 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 123.398 170.687 133.929]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set_a961dfccd93ec291961f9938db0c86b2d) >>
+>> endobj
+2639 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2643 0 obj <<
+/D [2641 0 R /XYZ 90 757.935 null]
+>> endobj
+230 0 obj <<
+/D [2641 0 R /XYZ 90 733.028 null]
+>> endobj
+2644 0 obj <<
+/D [2641 0 R /XYZ 90 659.677 null]
+>> endobj
+2645 0 obj <<
+/D [2641 0 R /XYZ 90 620.943 null]
+>> endobj
+2646 0 obj <<
+/D [2641 0 R /XYZ 90 582.088 null]
+>> endobj
+2647 0 obj <<
+/D [2641 0 R /XYZ 90 514.716 null]
+>> endobj
+2648 0 obj <<
+/D [2641 0 R /XYZ 90 420.15 null]
+>> endobj
+2649 0 obj <<
+/D [2641 0 R /XYZ 90 397.838 null]
+>> endobj
+2650 0 obj <<
+/D [2641 0 R /XYZ 90 397.838 null]
+>> endobj
+662 0 obj <<
+/D [2641 0 R /XYZ 90 229.447 null]
+>> endobj
+234 0 obj <<
+/D [2641 0 R /XYZ 90 222.847 null]
+>> endobj
+2651 0 obj <<
+/D [2641 0 R /XYZ 90 141.999 null]
+>> endobj
+2652 0 obj <<
+/D [2641 0 R /XYZ 90 141.999 null]
+>> endobj
+2640 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F77 334 0 R /F83 417 0 R /F88 819 0 R /F92 1105 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2657 0 obj <<
+/Length 565       
+/Filter /FlateDecode
+>>
+stream
+xڍTMs�0��+t
:���[�4���LZ�\��G�¦����W pm:� i������#�>8ogqC,�@I�b�BA�3��
ڸ�@��G	!n#u)�M]�
�N�m�?k�_��
3W�\>�ݮU�=Ɖ���mk��T�4����T8G����)Y9��C
!��H���
���y"hg�+D��#ԏY%
+�o�����g3�"�Y3@�vnU'�B�,�[զ:o���R�;.ΐ�X ~[�7��Č�/�qW±�
H��]��I�:��M�$�����)L��{���w��h����l�N���:92
CY��;���_�{L�+��^UJ�nn6�u9���(�d�W{z$�j9�hQ�98�x���1~���Q�SJ/��]�\�@Dfn��z`�����84���y
�_�x?�=y:�n�������:�j�e�?������F��)�U�s�N���Q��������i�(5����R�*V��h�}���d��G�\�

��Y.}�C�±�
y�h�bq��L�``'����Z�D��
>�
M��S�+�X�N��!�r\�
+endstream
+endobj
+2656 0 obj <<
+/Type /Page
+/Contents 2657 0 R
+/Resources 2655 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2653 0 R
+/Annots [ 2654 0 R ]
+>> endobj
+2654 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2658 0 obj <<
+/D [2656 0 R /XYZ 90 757.935 null]
+>> endobj
+2659 0 obj <<
+/D [2656 0 R /XYZ 90 733.028 null]
+>> endobj
+2655 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2715 0 obj <<
+/Length 914       
+/Filter /FlateDecode
+>>
+stream
+x�՘[s�0���)x���n����ڱ���{�L�Բ���~�
�v��\���A���8��I����xqmG��
��V˴��w�8-��"�ڣ���.��?���<h�b P�
в,8
G
+
�)�!)*�xذ�c]oy�=l�y�ф%O�$�%�c��ჿ��軅U����t�e�=R�
6P]g�JL_bf�&;�,�8�y}����|�F	I+plw,,������r
��(���l.�ߐK�)ҥ

J8�o0c<��>�d�@�MpHP��f�P
�4B$
�h��N|Λ�g���'��$aޤd�r�D�!�n�c��p��+�x���
 ��x�d�@]�	'u2�E��W~���n�����%�
�>/�g��w�T�
+C��da
�h�N�\�l"1�ݝ�a*J�E.����<�;
\��?V
����rm}u����+0�c
�1�Y�i�ʒ��^p�t������%45G��&0���J� Z���>e0bS���LK��Z}Kɖ[��fU1Lز��؞�r��p�2\X��(8���Kl:�a����Vy��+�[���j0�Ε�c{��[ZC�
ԧ	A��-
 LV(�q�KȞ:�C"Ԛ��|{���5
�q��o�z�3Qf莳�+�Qn0[\�&؈$z���jy
v���W�eyt�	%\&���7���yڿ��8� ��7JfG��,�r�	����߻�J*X,S�'�<7�0&e<�r|9E�&])�t�̻[�?��D�=�ߐ�焊�+tXI���h��
+[z4
k�x����	AUE�1��r��,F�-%b�s�����D�
ĵ!)í�>i���8���c�]t
Of<A�{�Т�ݖ���
�h{��N�������:�
_�jy�u�X-�:&A
��X��g'8�
e��w
+endstream
+endobj
+2714 0 obj <<
+/Type /Page
+/Contents 2715 0 R
+/Resources 2713 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2653 0 R
+/Annots [ 2660 0 R 2661 0 R 2662 0 R 2663 0 R 2664 0 R 2665 0 R 2666 0 R 2667 0 R 2668 0 R 2669 0 R 2670 0 R 2671 0 R 2672 0 R 2673 0 R 2674 0 R 2675 0 R 2676 0 R 2677 0 R 2678 0 R 2679 0 R 2680 0 R 2681 0 R 2682 0 R 2683 0 R 2684 0 R 2685 0 R 2686 0 R 2687 0 R 2688 0 R 2689 0 R 2690 0 R 2691 0 R 2692 0 R 2693 0 R 2694 0 R 2695 0 R 2696 0 R 2697 0 R 2698 0 R 2699 0 R 2700 0 R 2701 0 R 2702 0 R 2703 0 R 2704 0 R 2705 0 R 2706 0 R 2707 0 R 2708 0 R 2709 0 R 2710 0 R 2711 0 R ]
+>> endobj
+2660 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 671.898 278.601 682.802]
+/Subtype /Link
+/A << /S /GoTo /D (page.87) >>
+>> endobj
+2661 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 647.988 278.601 658.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.87) >>
+>> endobj
+2662 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.166 624.078 289.122 634.981]
+/Subtype /Link
+/A << /S /GoTo /D (page.58) >>
+>> endobj
+2663 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.849 612.122 285.804 623.026]
+/Subtype /Link
+/A << /S /GoTo /D (page.70) >>
+>> endobj
+2664 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 600.167 278.601 611.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.86) >>
+>> endobj
+2665 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.166 576.257 289.122 587.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.58) >>
+>> endobj
+2666 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.849 564.302 285.804 575.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.70) >>
+>> endobj
+2667 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 552.347 278.601 563.25]
+/Subtype /Link
+/A << /S /GoTo /D (page.87) >>
+>> endobj
+2668 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 528.436 278.601 539.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.96) >>
+>> endobj
+2669 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 504.526 278.601 515.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.96) >>
+>> endobj
+2670 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.166 480.615 289.122 491.519]
+/Subtype /Link
+/A << /S /GoTo /D (page.57) >>
+>> endobj
+2671 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.849 468.66 285.804 479.564]
+/Subtype /Link
+/A << /S /GoTo /D (page.70) >>
+>> endobj
+2672 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 456.705 278.601 467.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.94) >>
+>> endobj
+2673 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 432.795 278.601 443.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.94) >>
+>> endobj
+2674 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.166 408.884 289.122 419.788]
+/Subtype /Link
+/A << /S /GoTo /D (page.58) >>
+>> endobj
+2675 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 384.974 278.601 395.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.90) >>
+>> endobj
+2676 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 361.064 278.601 371.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.90) >>
+>> endobj
+2677 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 337.871 204.998 348.057]
+/Subtype /Link
+/A << /S /GoTo /D (page.26) >>
+>> endobj
+2678 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 313.243 278.601 324.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.86) >>
+>> endobj
+2679 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.713 267.415 175.668 278.319]
+/Subtype /Link
+/A << /S /GoTo /D (page.63) >>
+>> endobj
+2680 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 243.505 278.601 254.409]
+/Subtype /Link
+/A << /S /GoTo /D (page.97) >>
+>> endobj
+2681 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 220.312 204.998 230.498]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2682 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 196.401 204.998 206.588]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2683 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 172.491 204.998 182.678]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2684 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 148.581 204.998 158.767]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2685 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 124.67 204.998 134.857]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2686 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 100.043 278.601 110.947]
+/Subtype /Link
+/A << /S /GoTo /D (page.90) >>
+>> endobj
+2687 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 683.853 495.083 694.757]
+/Subtype /Link
+/A << /S /GoTo /D (page.91) >>
+>> endobj
+2688 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 659.943 495.083 670.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.98) >>
+>> endobj
+2689 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 636.033 495.083 646.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.99) >>
+>> endobj
+2690 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 612.84 421.479 623.026]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2691 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 588.929 421.479 599.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2692 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 565.019 421.479 575.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2693 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 540.391 495.083 551.295]
+/Subtype /Link
+/A << /S /GoTo /D (page.82) >>
+>> endobj
+2694 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 516.481 495.083 527.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+2695 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.754 482.608 506.709 493.512]
+/Subtype /Link
+/A << /S /GoTo /D (page.36) >>
+>> endobj
+2696 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [493.648 458.698 505.603 469.602]
+/Subtype /Link
+/A << /S /GoTo /D (page.57) >>
+>> endobj
+2697 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.33 446.743 502.285 457.646]
+/Subtype /Link
+/A << /S /GoTo /D (page.70) >>
+>> endobj
+2698 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 423.549 421.479 433.736]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2699 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.02 398.922 488.975 409.826]
+/Subtype /Link
+/A << /S /GoTo /D (page.43) >>
+>> endobj
+2700 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.214 375.012 493.17 385.915]
+/Subtype /Link
+/A << /S /GoTo /D (page.38) >>
+>> endobj
+2701 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 351.818 421.479 362.005]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2702 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 327.191 495.083 338.095]
+/Subtype /Link
+/A << /S /GoTo /D (page.95) >>
+>> endobj
+2703 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 303.28 495.083 314.184]
+/Subtype /Link
+/A << /S /GoTo /D (page.82) >>
+>> endobj
+2704 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [501.03 279.37 512.985 290.274]
+/Subtype /Link
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+2705 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 255.46 495.083 266.364]
+/Subtype /Link
+/A << /S /GoTo /D (page.85) >>
+>> endobj
+2706 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 232.267 421.479 242.453]
+/Subtype /Link
+/A << /S /GoTo /D (page.26) >>
+>> endobj
+2707 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 208.356 421.479 218.543]
+/Subtype /Link
+/A << /S /GoTo /D (page.26) >>
+>> endobj
+2708 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 184.446 421.479 194.633]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+2709 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 160.536 421.479 170.722]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+2710 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 136.625 421.479 146.812]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+2711 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 112.715 421.479 122.902]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+2716 0 obj <<
+/D [2714 0 R /XYZ 90 757.935 null]
+>> endobj
+2717 0 obj <<
+/D [2714 0 R /XYZ 90 696.969 null]
+>> endobj
+2713 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2774 0 obj <<
+/Length 1264      
+/Filter /FlateDecode
+>>
+stream
+x��Y[s�8~�W�m���H6��%-M�BB�;�m��( ����6�ɯ_�6�İ�d[�����

hc
hW�K�v���k��Ě7�\��Ȅ�7������֗�w�����Xr���j?kP�
滑m��A��;Іb��
�u�i�U�5MK\}�����/H �&�l�2 F�^�C>Һ	�_u��0cɨ�N��
Q%���W5�a"���|_����Ѐ�pQ�a�G��%,
0BӔ��\뾎iPG��#&���!����y�\��
�
W	���Q�?�+��fQ�I������.�	e&�l`
+��n����yo�zh}��>כ@��T��ن�T9˭��'4c$z��Y�
u�tFF�P,Dxh��#�$z�Y�+RqQ&���i8$i,�'C
�0=�r�H��F��\�)8	
�F����o �!��3��8 at AR�����e�
^&�)�� ���k8.�E�+��Ux[�0
.�<�H�	͓w�bFx@ǬJppܽ�k���ʼnV�D* 穞xu�O1�Sէ�1˄'�?d<D1P*Hl�^$�OY"?{G^TIڙRų�B\]�[u����O�+h	�w}qs
+,3
-�[��M�*�'�<< $�k����r0J
:z
wm�dʇ,���&�U��#M	
��
�aP
��
��7��'��k#�u��d���]4�2�;*F�!��nmU��[�իml`KÖe`�9�%�9<��+��o�޵	m�
O��%C���(�ކ��4��7�hw�dzG��6wJ���D
�B��X���
��e�O�}J|%�"�N��nKiǕ���P�x�K��1�<��s/��_�E�2K�0<=N���
+�1�)��)0*��}ӪȒ��%�5��կ)KMH,���/U�,��;Y�Bv	h�eX���W�L�`ػ�A��=��t/������Ѿ�9�C��gVeQ����4�w�7�Wbi�@t��S%�ی�� �i�+�_T�V&А��f�tc���!�h
�8��!����
�
K�JD��(�ݥ���9����m�'��}�#�^vZ���
��Q0��:Qa3�ka����cv]=�Ď��z�9;�Ćk[Ny�\�rZ�
�d>>��3Q�a����f�b�sʒ?��i�ܥ����7�@qȔ�8�"0 /�QoX��
c�v
+U�������悀�؄����c���gg�����$�qb��,���%}��	¦!Ȃ�iDR�
+���ۆ��a���g���0�#�X".��/�C
+endstream
+endobj
+2773 0 obj <<
+/Type /Page
+/Contents 2774 0 R
+/Resources 2772 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2653 0 R
+/Annots [ 2712 0 R 2718 0 R 2719 0 R 2720 0 R 2721 0 R 2722 0 R 2723 0 R 2724 0 R 2725 0 R 2726 0 R 2727 0 R 2728 0 R 2729 0 R 2730 0 R 2731 0 R 2732 0 R 2733 0 R 2734 0 R 2735 0 R 2736 0 R 2737 0 R 2738 0 R 2739 0 R 2740 0 R 2741 0 R 2742 0 R 2743 0 R 2744 0 R 2745 0 R 2746 0 R 2747 0 R 2748 0 R 2749 0 R 2750 0 R 2751 0 R 2752 0 R 2753 0 R 2754 0 R 2755 0 R 2756 0 R 2757 0 R 2758 0 R 2759 0 R 2760 0 R 2761 0 R 2762 0 R 2763 0 R 2764 0 R 2765 0 R 2766 0 R 2767 0 R 2768 0 R 2769 0 R 2771 0 R ]
+>> endobj
+2712 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 720.63 204.998 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.26) >>
+>> endobj
+2718 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 696.002 278.601 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.89) >>
+>> endobj
+2719 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.539 672.092 272.494 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.44) >>
+>> endobj
+2720 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.782 660.136 295.737 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.46) >>
+>> endobj
+2721 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 627.379 204.998 637.566]
+/Subtype /Link
+/A << /S /GoTo /D (page.26) >>
+>> endobj
+2722 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 603.469 204.998 613.656]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+2723 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.166 578.841 289.122 589.745]
+/Subtype /Link
+/A << /S /GoTo /D (page.59) >>
+>> endobj
+2724 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 554.931 278.601 565.835]
+/Subtype /Link
+/A << /S /GoTo /D (page.95) >>
+>> endobj
+2725 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.166 521.456 289.122 532.36]
+/Subtype /Link
+/A << /S /GoTo /D (page.59) >>
+>> endobj
+2726 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.713 485.591 175.668 496.495]
+/Subtype /Link
+/A << /S /GoTo /D (page.62) >>
+>> endobj
+2727 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 461.681 278.601 472.585]
+/Subtype /Link
+/A << /S /GoTo /D (page.96) >>
+>> endobj
+2728 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 428.206 278.601 439.11]
+/Subtype /Link
+/A << /S /GoTo /D (page.91) >>
+>> endobj
+2729 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.59 428.206 293.545 439.11]
+/Subtype /Link
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+2730 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 404.296 278.601 415.2]
+/Subtype /Link
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+2731 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 381.103 204.998 391.289]
+/Subtype /Link
+/A << /S /GoTo /D (page.26) >>
+>> endobj
+2732 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.955 344.52 278.91 355.424]
+/Subtype /Link
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+2733 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 321.327 204.998 331.514]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+2734 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 297.417 204.998 307.603]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+2735 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 273.506 204.998 283.693]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2736 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.782 248.879 295.737 259.783]
+/Subtype /Link
+/A << /S /GoTo /D (page.45) >>
+>> endobj
+2737 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.782 224.968 295.737 235.872]
+/Subtype /Link
+/A << /S /GoTo /D (page.46) >>
+>> endobj
+2738 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 191.494 278.601 202.398]
+/Subtype /Link
+/A << /S /GoTo /D (page.97) >>
+>> endobj
+2739 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 157.686 140.809 166.532]
+/Subtype /Link
+/A << /S /GoTo /D (page.65) >>
+>> endobj
+2740 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 131.718 278.601 142.622]
+/Subtype /Link
+/A << /S /GoTo /D (page.86) >>
+>> endobj
+2741 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.713 86.288 175.668 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.62) >>
+>> endobj
+2742 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 707.957 495.083 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.88) >>
+>> endobj
+2743 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 684.047 495.083 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.86) >>
+>> endobj
+2744 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [493.648 660.136 505.603 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.58) >>
+>> endobj
+2745 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.33 648.181 502.285 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.70) >>
+>> endobj
+2746 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.282 626.263 419.238 637.167]
+/Subtype /Link
+/A << /S /GoTo /D (page.21) >>
+>> endobj
+2747 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 593.108 421.479 603.294]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+2748 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 569.197 421.479 579.384]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+2749 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 544.57 495.083 555.474]
+/Subtype /Link
+/A << /S /GoTo /D (page.97) >>
+>> endobj
+2750 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 520.659 495.083 531.563]
+/Subtype /Link
+/A << /S /GoTo /D (page.98) >>
+>> endobj
+2751 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 497.466 421.479 507.653]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2752 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.02 472.839 488.975 483.743]
+/Subtype /Link
+/A << /S /GoTo /D (page.43) >>
+>> endobj
+2753 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.754 448.928 506.709 459.832]
+/Subtype /Link
+/A << /S /GoTo /D (page.37) >>
+>> endobj
+2754 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 415.055 495.083 425.959]
+/Subtype /Link
+/A << /S /GoTo /D (page.96) >>
+>> endobj
+2755 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 381.247 357.291 390.094]
+/Subtype /Link
+/A << /S /GoTo /D (page.65) >>
+>> endobj
+2756 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 355.997 421.479 366.184]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2757 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 331.369 495.083 342.273]
+/Subtype /Link
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+2758 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [498.071 331.369 510.027 342.273]
+/Subtype /Link
+/A << /S /GoTo /D (page.84) >>
+>> endobj
+2759 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 308.176 421.479 318.363]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2760 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 283.549 495.083 294.453]
+/Subtype /Link
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+2761 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [498.071 283.549 510.027 294.453]
+/Subtype /Link
+/A << /S /GoTo /D (page.84) >>
+>> endobj
+2762 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [499.55 259.638 511.506 270.542]
+/Subtype /Link
+/A << /S /GoTo /D (page.56) >>
+>> endobj
+2763 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 249.74 357.291 258.587]
+/Subtype /Link
+/A << /S /GoTo /D (page.57) >>
+>> endobj
+2764 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 224.49 421.479 234.677]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2765 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [493.648 189.9 505.603 200.804]
+/Subtype /Link
+/A << /S /GoTo /D (page.60) >>
+>> endobj
+2766 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 166.707 421.479 176.893]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2767 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 142.796 421.479 152.983]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2768 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 118.886 421.479 129.073]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+2769 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [493.648 94.258 505.603 105.162]
+/Subtype /Link
+/A << /S /GoTo /D (page.59) >>
+>> endobj
+2771 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2775 0 obj <<
+/D [2773 0 R /XYZ 90 757.935 null]
+>> endobj
+2772 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2866 0 obj <<
+/Length 1594      
+/Filter /FlateDecode
+>>
+stream
+x��Zms�8�ί𷃙�H�%���ͤ
���
�����Q@��ʦi��o�M�cɘ�܇
�}v�Z������֛q���GV��Q�Z��C�O�M
l��������W������F�¸����v�?n}ka��,�
M|�w�5Y�>E�����n����
~Ck�����2�m&�k#Jr�W
���ק�W
��?����j4�9��a�����#���
��w
��LF�P�Fm>��
+��ռP���e}�: �!��! �Hx���tp�?�?��t}<
='D%!$`����9��������
�W��t�_ }����l���b�8
������3%��LDB�4V2
5��������DR��p0d�8\�2�X�q<�
Ou&��k�g?3a�����r�*�_r&��l��`�b5]��
�n٤@�o+i]t�S�
�Efo�ٵ�	�	�p�N1~.1um?�6����������<�0.�l����(A����6/�����L��-7㨦���_�VzN(#��̖�ͯD[-��Y7�*�2�$r
19c"�|����
+
oc1��N��"�+�LXm̠��\���|�� 6�OR����3́�$U\j�塦���~rN�a}�⪀��1K����&�x�v�d��J	c0I�{�Tf+�L��<m(jF� �(~_��L3��������;���5f�zÙg�L���a���,h��U����tT�^FNA���A��6%I��U��j��!b�߈�UM�2_�S|�`��\�4��s�����A˝�\��R	ȼjKC�ʩмn��m�����M]��~����5Ϣ
Ѱ$��T
V�P@Ը����֋\���CZ�CC؅�VZN���cc
5��7�֏�Fs�夈=�Sƕ4��/C6T1���Ѳ�v��çS61�Hu���J���`ɒC�4珲�O��V,n�T��k���-�U�s(�wE5��$�m�Q�Ӿ���S�⛿�$ͳ���`�U41��Hu19<��MFI�K&,�L�}�d!V�@
O�I̴M%��cX�

>�S5p���OH�a�D�
���q�8��jR�ŖC�U.C���q���˹
����F9Bި���/�86��t}Q����:kFK�

��CuH�錩c��R:{8|x��F{nԧ�ؠwãH[���Ai"(�~
+�/ԩ�92��<ަ�!(<!��_�]Je-Z}}��:
Ӭx^ �$�|��W��B=-�TP*�:���'Ҡ�1 �Q��`��
�D����
+�M�T�22�`�f��\�<�,f��C�4]7:u��-�_&5j�6����@
�J9f>�f�{��>:`jk �wj��6�<55�8
Z�9�U/z����M]��+�
ߺ_���/�b�7PBi��v����F40=��9�C���Q
ҳ	��ƭ�S��
���(�_G~��\G�G��P��G=�[�~��N��

�x���T$��2�o"cx��N����urS�cm�{��zr�(�� <�m�M��룣��;{�ثH.�-ӣ�2<ڲ���0�l�-@`��i- �X�e]�R�E�
>����^\��n{

&�_��3
+endstream
+endobj
+2865 0 obj <<
+/Type /Page
+/Contents 2866 0 R
+/Resources 2864 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2653 0 R
+/Annots [ 2770 0 R 2776 0 R 2777 0 R 2778 0 R 2779 0 R 2780 0 R 2781 0 R 2782 0 R 2783 0 R 2784 0 R 2785 0 R 2786 0 R 2787 0 R 2788 0 R 2789 0 R 2790 0 R 2791 0 R 2792 0 R 2793 0 R 2794 0 R 2795 0 R 2796 0 R 2797 0 R 2798 0 R 2799 0 R 2800 0 R 2801 0 R 2802 0 R 2803 0 R 2804 0 R 2805 0 R 2806 0 R 2807 0 R 2808 0 R 2809 0 R 2810 0 R 2811 0 R 2812 0 R 2813 0 R 2814 0 R 2815 0 R 2816 0 R 2817 0 R 2818 0 R 2819 0 R 2820 0 R 2821 0 R 2822 0 R 2823 0 R 2824 0 R 2825 0 R 2826 0 R 2827 0 R 2828  [...]
+>> endobj
+2770 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 708.674 204.998 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2776 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 684.764 204.998 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2777 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 660.854 204.998 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2778 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 626.981 204.998 637.167]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2779 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.782 602.353 295.737 613.257]
+/Subtype /Link
+/A << /S /GoTo /D (page.46) >>
+>> endobj
+2780 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.415 567.205 167.37 577.392]
+/Subtype /Link
+/A << /S /GoTo /D (page.71) >>
+>> endobj
+2781 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.244 554.532 207.2 565.436]
+/Subtype /Link
+/A << /S /GoTo /D (page.29) >>
+>> endobj
+2782 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.978 542.577 293.933 553.481]
+/Subtype /Link
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+2783 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.012 518.667 183.967 529.571]
+/Subtype /Link
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+2784 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.335 506.712 296.29 517.616]
+/Subtype /Link
+/A << /S /GoTo /D (page.34) >>
+>> endobj
+2785 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.347 494.757 270.302 505.661]
+/Subtype /Link
+/A << /S /GoTo /D (page.34) >>
+>> endobj
+2786 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.474 482.801 183.429 493.705]
+/Subtype /Link
+/A << /S /GoTo /D (page.36) >>
+>> endobj
+2787 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.339 470.846 187.294 481.75]
+/Subtype /Link
+/A << /S /GoTo /D (page.37) >>
+>> endobj
+2788 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.292 458.891 245.247 469.795]
+/Subtype /Link
+/A << /S /GoTo /D (page.37) >>
+>> endobj
+2789 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.808 446.936 256.763 457.84]
+/Subtype /Link
+/A << /S /GoTo /D (page.37) >>
+>> endobj
+2790 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.935 435.698 169.89 445.885]
+/Subtype /Link
+/A << /S /GoTo /D (page.38) >>
+>> endobj
+2791 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.923 423.026 260.878 433.93]
+/Subtype /Link
+/A << /S /GoTo /D (page.38) >>
+>> endobj
+2792 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.243 411.07 295.199 421.974]
+/Subtype /Link
+/A << /S /GoTo /D (page.39) >>
+>> endobj
+2793 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.297 399.115 254.252 410.019]
+/Subtype /Link
+/A << /S /GoTo /D (page.40) >>
+>> endobj
+2794 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.618 387.16 288.573 398.064]
+/Subtype /Link
+/A << /S /GoTo /D (page.41) >>
+>> endobj
+2795 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.234 363.25 186.189 374.154]
+/Subtype /Link
+/A << /S /GoTo /D (page.41) >>
+>> endobj
+2796 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.614 351.295 252.569 362.199]
+/Subtype /Link
+/A << /S /GoTo /D (page.42) >>
+>> endobj
+2797 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [168.146 339.339 180.102 350.243]
+/Subtype /Link
+/A << /S /GoTo /D (page.43) >>
+>> endobj
+2798 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.337 328.102 153.292 338.288]
+/Subtype /Link
+/A << /S /GoTo /D (page.44) >>
+>> endobj
+2799 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 316.146 140.809 326.333]
+/Subtype /Link
+/A << /S /GoTo /D (page.43) >>
+>> endobj
+2800 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.393 303.474 146.348 314.378]
+/Subtype /Link
+/A << /S /GoTo /D (page.43) >>
+>> endobj
+2801 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.633 291.519 138.588 302.423]
+/Subtype /Link
+/A << /S /GoTo /D (page.43) >>
+>> endobj
+2802 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.935 279.564 286.89 290.468]
+/Subtype /Link
+/A << /S /GoTo /D (page.44) >>
+>> endobj
+2803 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.856 267.608 275.811 278.512]
+/Subtype /Link
+/A << /S /GoTo /D (page.45) >>
+>> endobj
+2804 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.337 256.371 153.292 266.557]
+/Subtype /Link
+/A << /S /GoTo /D (page.46) >>
+>> endobj
+2805 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.885 243.698 161.84 254.602]
+/Subtype /Link
+/A << /S /GoTo /D (page.45) >>
+>> endobj
+2806 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.424 231.743 167.379 242.647]
+/Subtype /Link
+/A << /S /GoTo /D (page.46) >>
+>> endobj
+2807 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.74 219.788 165.696 230.692]
+/Subtype /Link
+/A << /S /GoTo /D (page.46) >>
+>> endobj
+2808 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.175 195.877 175.13 206.781]
+/Subtype /Link
+/A << /S /GoTo /D (page.46) >>
+>> endobj
+2809 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.234 171.967 186.189 182.871]
+/Subtype /Link
+/A << /S /GoTo /D (page.47) >>
+>> endobj
+2810 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.294 160.012 223.249 170.916]
+/Subtype /Link
+/A << /S /GoTo /D (page.47) >>
+>> endobj
+2811 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.501 148.057 173.457 158.961]
+/Subtype /Link
+/A << /S /GoTo /D (page.48) >>
+>> endobj
+2812 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.234 124.146 186.189 135.05]
+/Subtype /Link
+/A << /S /GoTo /D (page.48) >>
+>> endobj
+2813 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.04 112.191 287.996 123.095]
+/Subtype /Link
+/A << /S /GoTo /D (page.48) >>
+>> endobj
+2814 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.86 88.998 189.815 99.185]
+/Subtype /Link
+/A << /S /GoTo /D (page.49) >>
+>> endobj
+2815 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.658 708.674 404.613 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.50) >>
+>> endobj
+2816 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.588 684.764 380.543 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.51) >>
+>> endobj
+2817 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.874 660.854 386.83 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.51) >>
+>> endobj
+2818 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [405.659 636.226 417.614 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.52) >>
+>> endobj
+2819 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.512 613.033 395.467 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.53) >>
+>> endobj
+2820 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 590.463 357.291 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.53) >>
+>> endobj
+2821 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [473.722 576.45 485.678 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.54) >>
+>> endobj
+2822 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.051 565.212 401.006 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.58) >>
+>> endobj
+2823 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.926 553.257 404.882 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.58) >>
+>> endobj
+2824 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [473.165 540.585 485.12 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.57) >>
+>> endobj
+2825 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [467.486 528.63 479.441 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.58) >>
+>> endobj
+2826 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.749 517.392 361.704 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.57) >>
+>> endobj
+2827 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [442.381 504.719 454.336 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.59) >>
+>> endobj
+2828 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.839 492.764 398.794 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.59) >>
+>> endobj
+2829 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.868 481.526 393.823 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.58) >>
+>> endobj
+2830 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.849 469.571 398.804 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.56) >>
+>> endobj
+2831 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [401.793 469.571 413.748 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.57) >>
+>> endobj
+2832 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [387.148 456.899 399.103 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.60) >>
+>> endobj
+2833 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [399.033 444.943 410.989 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.59) >>
+>> endobj
+2834 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [420.752 432.988 432.707 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.58) >>
+>> endobj
+2835 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.273 421.75 363.228 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.59) >>
+>> endobj
+2836 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.715 397.123 402.67 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.60) >>
+>> endobj
+2837 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [473.011 385.168 484.966 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.60) >>
+>> endobj
+2838 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.195 361.257 392.15 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.61) >>
+>> endobj
+2839 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [357.5 350.019 369.455 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.63) >>
+>> endobj
+2840 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.263 337.347 403.218 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.62) >>
+>> endobj
+2841 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.801 325.392 408.757 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.62) >>
+>> endobj
+2842 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.306 313.437 450.261 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.63) >>
+>> endobj
+2843 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.892 302.199 445.847 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.64) >>
+>> endobj
+2844 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [424.467 289.526 436.423 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.63) >>
+>> endobj
+2845 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.161 277.571 433.116 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.63) >>
+>> endobj
+2846 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.887 266.333 388.842 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.63) >>
+>> endobj
+2847 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.535 253.661 495.491 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.64) >>
+>> endobj
+2848 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [417.833 241.706 429.788 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.65) >>
+>> endobj
+2849 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.422 229.75 363.378 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.65) >>
+>> endobj
+2850 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [498.619 217.795 510.574 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.65) >>
+>> endobj
+2851 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [470.405 205.84 482.36 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+2852 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.051 194.602 401.006 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.70) >>
+>> endobj
+2853 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.926 182.647 404.882 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.70) >>
+>> endobj
+2854 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [473.165 169.975 485.12 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.70) >>
+>> endobj
+2855 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.749 158.737 361.704 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.70) >>
+>> endobj
+2856 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.868 146.781 393.823 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.70) >>
+>> endobj
+2857 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.532 134.826 395.487 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+2858 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.273 122.871 363.228 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.71) >>
+>> endobj
+2859 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [496.975 110.199 508.93 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (page.71) >>
+>> endobj
+2860 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [403.178 98.244 415.133 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.71) >>
+>> endobj
+2861 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.105 86.288 493.06 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.72) >>
+>> endobj
+2863 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2867 0 obj <<
+/D [2865 0 R /XYZ 90 757.935 null]
+>> endobj
+2864 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F11 322 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2969 0 obj <<
+/Length 1524      
+/Filter /FlateDecode
+>>
+stream
+x��ZYw�F}ׯ��95
@
�7�!
+�"�4��3g,F)[Uv}�E�D$v�}�����|˝���0��n���;	0
+�@
2ƚQ #A�y�1L澯�ު�ߍ��,!�/��1>�S�ޟ=��
��-J�$������I�` +(2�O~�0C^�[�Y�>��1��/�}^d$^`S�+�
� [n���O����b�c�x�%!���3W\
+w�q�"fp>
�|�~�3�ȶ

<�y�{�	!��bO���]%�V�S(=��F��)Zh�M�p��� a~�H�H�#/h�07�
5kZᏝ�����v#���-e� 6���8嬁:vƤ�
��N���N
��6MDkk숻*�<Y:���
+��ˊ�

���؆��
+A�ա��X��W��Cܐ�_��k"�<�
{Xس�~�� ��{	��|

�7 x� ����4T at u<? ]@�+�B����%����W ��e�r7���)+c�8��ku�FX�[՝\%ʙ;Ȁ���8��%�Y�/r%#�%����B�ց� ���6���Je��
�@�t�.�
+cI�o�#��Oőρ�b�*ʼn���1�$E�$��j��C�&�k\N��9n��?KiCᇇ>*�@l�76р\����n(�E2U��>��N�s���g�v�N����^UW�X��0i��V=с��
�-NJ��m�'F��m�S
�wU:ψ��u�W^\K�D.nx
�}
��jqoE�M�\�\�P�v�l��jk�Y�ǰ�沀8G��Z�-	j��X�
�?/`8�m���.�E:��39�db��V}�:�*@~��
d�2�@A`!?̌�
�c��sMD=�hf�a7=��}NغM��8l��e���i�&
m'.�9�WYp���b
�O���"�>��_aI��᢭O���8��]��
 g�ur�jx�'X�{��$�k/�%]ӑ
x�I�$kE���P��
Gp�bx6�c9�v��Ќn/���	��<�ZK{a��Nq��K���K���c��Є]Дk�\F8څ/�jd>
��?��
�H�i�����b���P�_��
�;m�4^5��xNG���|r7���S���x�R��ǹ����h�k�C��&tD��e6�j�	
�T���5㥲
V!Uh�"������Dr�ʍf,��e(Žo�; �@���.��̗w
%�W��r1��3
m6>���gw�&���}����4^:���S�q
 >�%{���
�b=^���-�|����@�G�vpu��a�3m�6��
�N��T���K����T�u����F
��EӸ�L����:�
+V�[
����擺x7�:$m�ϗK�"�S��6��
�Y 媯�
^���"	r��������[2H�gO�
Jz8I۔��x�.cw�Û
J;�דSw!	~�b?L����a;��D��Q�ZDz�
G/p��J�@KB2冷��9�����
��7���{L�(��\_��{v�;��֊�}߾>�w�M
7d),8����
/H;�+BV �W��=���C'Y#dO�i�0�,s
+endstream
+endobj
+2968 0 obj <<
+/Type /Page
+/Contents 2969 0 R
+/Resources 2967 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2653 0 R
+/Annots [ 2862 0 R 2868 0 R 2869 0 R 2870 0 R 2871 0 R 2872 0 R 2873 0 R 2874 0 R 2875 0 R 2876 0 R 2877 0 R 2878 0 R 2879 0 R 2880 0 R 2881 0 R 2882 0 R 2883 0 R 2884 0 R 2885 0 R 2886 0 R 2887 0 R 2888 0 R 2889 0 R 2890 0 R 2891 0 R 2892 0 R 2893 0 R 2894 0 R 2895 0 R 2896 0 R 2897 0 R 2898 0 R 2899 0 R 2900 0 R 2901 0 R 2902 0 R 2903 0 R 2904 0 R 2905 0 R 2906 0 R 2907 0 R 2908 0 R 2909 0 R 2910 0 R 2911 0 R 2912 0 R 2913 0 R 2914 0 R 2915 0 R 2916 0 R 2917 0 R 2918 0 R 2919 0 R 2920  [...]
+>> endobj
+2862 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.078 720.63 169.033 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+2868 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.773 696.002 191.728 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+2869 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [129.402 684.764 141.357 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+2870 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.074 660.136 226.029 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+2871 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.617 648.181 174.572 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+2872 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.388 636.226 291.343 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+2873 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.378 624.271 291.333 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+2874 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [246.721 612.316 258.676 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+2875 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.195 600.361 191.15 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.87) >>
+>> endobj
+2876 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.071 588.405 195.026 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.87) >>
+>> endobj
+2877 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.57 577.168 184.525 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.86) >>
+>> endobj
+2878 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.445 565.212 188.4 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.87) >>
+>> endobj
+2879 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.896 552.54 182.851 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.96) >>
+>> endobj
+2880 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.772 540.585 186.727 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.96) >>
+>> endobj
+2881 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.684 528.63 268.639 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.94) >>
+>> endobj
+2882 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.789 516.674 269.745 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.94) >>
+>> endobj
+2883 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.676 504.719 177.631 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.90) >>
+>> endobj
+2884 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.398 492.764 190.353 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.90) >>
+>> endobj
+2885 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.848 480.809 171.803 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.86) >>
+>> endobj
+2886 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.393 468.854 234.348 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.97) >>
+>> endobj
+2887 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.968 456.899 216.923 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.90) >>
+>> endobj
+2888 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.69 444.943 229.646 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.91) >>
+>> endobj
+2889 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.027 432.988 288.983 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.98) >>
+>> endobj
+2890 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.65 421.033 269.605 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.99) >>
+>> endobj
+2891 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.514 409.795 207.469 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.82) >>
+>> endobj
+2892 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.122 397.84 208.077 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+2893 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.821 385.168 202.776 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.95) >>
+>> endobj
+2894 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.308 373.93 166.263 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.82) >>
+>> endobj
+2895 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.115 361.975 159.071 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.85) >>
+>> endobj
+2896 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.927 349.302 195.882 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.89) >>
+>> endobj
+2897 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.136 337.347 228.091 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.95) >>
+>> endobj
+2898 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.439 325.392 219.394 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.96) >>
+>> endobj
+2899 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.574 313.437 228.529 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.91) >>
+>> endobj
+2900 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.518 313.437 243.473 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+2901 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.296 301.481 241.252 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+2902 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.015 289.526 214.971 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.97) >>
+>> endobj
+2903 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.203 278.288 165.158 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.86) >>
+>> endobj
+2904 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.283 265.616 202.238 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.88) >>
+>> endobj
+2905 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.782 253.661 191.738 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.86) >>
+>> endobj
+2906 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.95 241.706 282.905 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.97) >>
+>> endobj
+2907 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.573 229.75 263.528 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.98) >>
+>> endobj
+2908 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.544 217.795 220.5 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.96) >>
+>> endobj
+2909 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.202 206.557 165.158 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+2910 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [168.146 206.557 180.101 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.84) >>
+>> endobj
+2911 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.549 194.602 163.504 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+2912 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [166.492 194.602 178.448 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.84) >>
+>> endobj
+2913 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.189 181.93 222.144 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.88) >>
+>> endobj
+2914 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.064 169.975 226.019 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.88) >>
+>> endobj
+2915 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.563 158.737 215.518 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.87) >>
+>> endobj
+2916 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.438 146.781 219.394 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.88) >>
+>> endobj
+2917 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.04 134.826 178.996 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (page.85) >>
+>> endobj
+2918 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.404 122.154 263.359 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.95) >>
+>> endobj
+2919 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.968 110.199 232.923 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (page.95) >>
+>> endobj
+2920 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.745 98.244 249.7 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.89) >>
+>> endobj
+2921 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.772 86.288 191.727 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.86) >>
+>> endobj
+2922 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.765 719.912 362.72 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.94) >>
+>> endobj
+2923 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.87 707.957 419.825 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.89) >>
+>> endobj
+2924 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [450.48 696.002 462.435 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.93) >>
+>> endobj
+2925 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [454.355 684.047 466.311 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.93) >>
+>> endobj
+2926 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.852 672.092 424.807 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.89) >>
+>> endobj
+2927 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [397.36 660.136 409.315 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.93) >>
+>> endobj
+2928 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [496.059 648.181 508.014 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.99) >>
+>> endobj
+2929 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [450.46 636.226 467.396 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.100) >>
+>> endobj
+2930 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.587 624.988 380.523 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.100) >>
+>> endobj
+2931 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [472.048 612.316 488.985 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.100) >>
+>> endobj
+2932 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.33 588.405 502.285 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+2933 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 565.212 421.479 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2934 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 541.302 421.479 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+2935 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 517.392 421.479 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+2936 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 493.481 421.479 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+2937 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 469.571 421.479 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+2938 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 445.661 421.479 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+2939 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 421.75 421.479 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2940 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.02 397.123 488.975 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.43) >>
+>> endobj
+2941 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 373.93 421.479 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.26) >>
+>> endobj
+2942 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.151 350.019 433.106 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.26) >>
+>> endobj
+2943 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.906 338.064 383.861 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2944 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.924 326.109 378.88 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2945 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.924 314.154 378.88 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2946 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.924 302.199 378.88 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2947 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [361.943 290.243 373.898 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2948 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.092 278.288 422.047 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2949 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.008 266.333 441.963 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+2950 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [454.356 254.378 466.311 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+2951 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.609 242.423 489.564 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+2952 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [462.117 230.468 474.072 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+2953 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.155 218.512 376.11 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.26) >>
+>> endobj
+2954 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.647 206.214 375.602 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+2955 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [432.279 194.258 444.234 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+2956 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.871 182.647 419.826 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+2957 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.7 170.348 422.655 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+2958 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.292 158.737 398.247 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+2959 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [353.076 146.781 365.032 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2960 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [405.091 134.826 417.046 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2961 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [401.216 122.871 413.171 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2962 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.401 110.916 470.356 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2963 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [455.083 98.961 467.038 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+2964 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [447.99 87.006 459.945 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2966 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2970 0 obj <<
+/D [2968 0 R /XYZ 90 757.935 null]
+>> endobj
+2967 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3040 0 obj <<
+/Length 1401      
+/Filter /FlateDecode
+>>
+stream
+x��Zmw�H�����9+��7c���VI���gщ�.o
Xk�^^L�%���g�}�ν ��
�z�K�qq�!�-�UY����8M�D,K�=�>���ʸ����E�U�]���67
��oC�V�IYo���������q3h�!Qi��*���Z��.7i��@�L �����XƜ&+"Rq>�H���5�����`�#�~��и�3c�ӈ��q��}n��G���|8�jJ���e��
kR��2�w�m��Ai���[���%|�d�g<'��#H���F�ӱA���\��}�P�ˆt�H3S���A�%�
�o�2i>�d�̡]�E�� !��f�O����7�L��W�øc�k{��5
˘�ĸ�ĸ뤖��'������T8�u��Ɲ}9}���
+
a�S=O�
D
"�
��� f�y5��
/Git�"�"V��.���V7��Fgb�+��p����GpM����1s���y��{j���#Ȉ�&Șw�=�(ygJ���^��`��茘p� a~N#b
:��!%�oi�� �)��D1��0�1�'a�_O���j�͒E�1����w��I�u�.��D�K�ԉ
���~���y��,�:��
�W��}9	%�K=pb=ƽ
-x�ZM�����Aǖ,PE�=L�L@�˸
�(L��~d�'�`F�fwO�NW�v$�:6Fu��gS�؇����
=Y{��{R����'JC���B�bP����L���v��7`�M*����0����g��U�F�K�:��0p�
:��ȉ���=F�#
ZJR٧dŒ��<ZR�@SJ�*��f�^�W����¨���=�"��)!'�B)�z_��V�$.�����Z]}v?(�So��LT0IMtN��Jd� ���B�,�|�z
�\ɌA��s:��+8o�囡�h��"%PߐT?QZ�0~�<������fi���ݎLA��J[Ա��+�4!�4����M	�4X&od��9l�$���lq9n�)K���ݰ
�N!���N�F�B�K��4���=\%���6�&Ph���g�}[�V*���G�gڽ�ĺ��7���Z�L̼�ek��SEB��?��'���?��ڮ�`�z
+�4c�������(��K*��ZU�I����}�~/7N�4�����Mw��2ճ&��4��HxΤ�U�c;#H%�T5��o\LیJ_M�)U�w`g��8�i�9
�<[2�TWu�z�w�w����x���P{�r���
+��[aq��I~Zl}�ɶ��ˎ?_:���y��5��4�C������/
7?��0*�Yd&��(IpA��@J
�����
}H�� oMP�NX�s�"I�w��J����ga$��"
݋
{�I�Z"� ��<(	2
4U*РOQ�3n�\U�'�tds[
+endstream
+endobj
+3039 0 obj <<
+/Type /Page
+/Contents 3040 0 R
+/Resources 3038 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3042 0 R
+/Annots [ 2965 0 R 2971 0 R 2972 0 R 2973 0 R 2974 0 R 2975 0 R 2976 0 R 2977 0 R 2978 0 R 2979 0 R 2980 0 R 2981 0 R 2982 0 R 2983 0 R 2984 0 R 2985 0 R 2986 0 R 2987 0 R 2988 0 R 2989 0 R 2990 0 R 2991 0 R 2992 0 R 2993 0 R 2994 0 R 2995 0 R 2996 0 R 2997 0 R 2998 0 R 2999 0 R 3000 0 R 3001 0 R 3002 0 R 3003 0 R 3004 0 R 3005 0 R 3006 0 R 3007 0 R 3008 0 R 3009 0 R 3010 0 R 3011 0 R 3012 0 R 3013 0 R 3014 0 R 3015 0 R 3016 0 R 3017 0 R 3018 0 R 3019 0 R 3020 0 R 3021 0 R 3022 0 R 3023  [...]
+>> endobj
+2965 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [230.383 720.63 242.338 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2971 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.708 708.674 219.663 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2972 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.327 696.719 185.282 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2973 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.82 684.764 237.775 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+2974 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.93 672.809 269.885 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+2975 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.003 648.899 188.959 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+2976 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.24 636.943 155.195 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2977 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.947 624.988 259.902 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.26) >>
+>> endobj
+2978 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.761 613.033 165.716 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.26) >>
+>> endobj
+2979 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [275.125 601.078 287.08 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.26) >>
+>> endobj
+2980 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.963 589.123 284.918 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.26) >>
+>> endobj
+2981 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [212.42 577.168 224.375 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.26) >>
+>> endobj
+2982 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.895 565.212 145.85 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2983 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.009 553.257 245.964 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2984 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.71 541.302 237.665 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.26) >>
+>> endobj
+2985 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.324 529.347 263.279 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2986 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.122 517.392 261.078 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2987 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.805 505.437 257.76 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+2988 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.165 493.481 175.12 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.26) >>
+>> endobj
+2989 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.819 481.526 176.774 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2990 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.8 456.899 261.755 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2991 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.335 444.943 284.29 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2992 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.078 432.988 249.033 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2993 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [187.384 421.033 199.339 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2994 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.348 409.795 230.303 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.26) >>
+>> endobj
+2995 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.242 397.84 229.197 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.26) >>
+>> endobj
+2996 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.307 385.168 209.262 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.26) >>
+>> endobj
+2997 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.398 373.212 190.353 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.26) >>
+>> endobj
+2998 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.641 361.257 213.596 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2999 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [199.708 350.019 211.663 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+3000 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.716 337.347 206.671 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+3001 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.469 326.109 288.424 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+3002 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [275.363 314.154 287.318 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+3003 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.39 302.199 208.345 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+3004 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.658 289.526 195.613 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+3005 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 266.333 204.998 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.26) >>
+>> endobj
+3006 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 242.423 204.998 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.26) >>
+>> endobj
+3007 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 218.512 204.998 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.26) >>
+>> endobj
+3008 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 194.602 204.998 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.26) >>
+>> endobj
+3009 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 160.729 204.998 170.916]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+3010 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.539 136.102 272.494 147.005]
+/Subtype /Link
+/A << /S /GoTo /D (page.43) >>
+>> endobj
+3011 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 112.191 278.601 123.095]
+/Subtype /Link
+/A << /S /GoTo /D (page.88) >>
+>> endobj
+3012 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 88.281 278.601 99.185]
+/Subtype /Link
+/A << /S /GoTo /D (page.88) >>
+>> endobj
+3013 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 707.957 495.083 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.87) >>
+>> endobj
+3014 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 684.047 495.083 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.88) >>
+>> endobj
+3015 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 660.854 421.479 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+3016 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 636.226 495.083 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.85) >>
+>> endobj
+3017 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 612.316 495.083 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.95) >>
+>> endobj
+3018 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 588.405 495.083 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.95) >>
+>> endobj
+3019 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.195 552.54 392.15 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.63) >>
+>> endobj
+3020 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.195 506.712 392.15 517.616]
+/Subtype /Link
+/A << /S /GoTo /D (page.64) >>
+>> endobj
+3021 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.195 470.846 392.15 481.75]
+/Subtype /Link
+/A << /S /GoTo /D (page.63) >>
+>> endobj
+3022 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [493.648 446.936 505.603 457.84]
+/Subtype /Link
+/A << /S /GoTo /D (page.58) >>
+>> endobj
+3023 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.195 411.07 392.15 421.974]
+/Subtype /Link
+/A << /S /GoTo /D (page.63) >>
+>> endobj
+3024 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.195 375.205 392.15 386.109]
+/Subtype /Link
+/A << /S /GoTo /D (page.63) >>
+>> endobj
+3025 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 352.012 421.479 362.199]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+3026 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 328.102 421.479 338.288]
+/Subtype /Link
+/A << /S /GoTo /D (page.26) >>
+>> endobj
+3027 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 303.474 495.083 314.378]
+/Subtype /Link
+/A << /S /GoTo /D (page.89) >>
+>> endobj
+3028 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [449.136 267.608 461.091 278.512]
+/Subtype /Link
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+3029 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [493.648 243.698 505.603 254.602]
+/Subtype /Link
+/A << /S /GoTo /D (page.59) >>
+>> endobj
+3030 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.33 231.743 502.285 242.647]
+/Subtype /Link
+/A << /S /GoTo /D (page.71) >>
+>> endobj
+3031 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 207.833 495.083 218.737]
+/Subtype /Link
+/A << /S /GoTo /D (page.86) >>
+>> endobj
+3032 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 183.922 495.083 194.826]
+/Subtype /Link
+/A << /S /GoTo /D (page.94) >>
+>> endobj
+3033 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 150.049 495.083 160.953]
+/Subtype /Link
+/A << /S /GoTo /D (page.89) >>
+>> endobj
+3034 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 116.894 421.479 127.08]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+3035 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 92.266 495.083 103.17]
+/Subtype /Link
+/A << /S /GoTo /D (page.93) >>
+>> endobj
+3037 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3041 0 obj <<
+/D [3039 0 R /XYZ 90 757.935 null]
+>> endobj
+3038 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3055 0 obj <<
+/Length 614       
+/Filter /FlateDecode
+>>
+stream
+xڽ�Qo�0���+��D�N���m]S���Y�դ��\0�Z0�������t�j��=9w��}w���}�t�t�CbS�����C�c0��{7�:K�x�
�CD���F�J�$#练���&!
�s�����_ �8���9���Y
0t>;h��x�&��(�5^���\*V�|,�D΅��Ѯ���	�`
c��\�9+��LL4g�|�\?��d�j�ޯӰ�:o��;����A�o9��߄��:O>
��˄
Ҍe7^��F
�$˲Kv�=�O�O\Τ���z�&�=P~x
T���
�� ��.�&oTz�0�_%go�@@h�Rh��hԄ񪒹�y%��������2�a��������
v�f�‘
t�a�]�%,��8[�{x0B -�D(���AK�Kf~���x��zBo��w���5#�F�΂�@a
Q;H
	�Y��Lxk�l�.Wɴ�KFV��iYa���m��筫t������G�[Yy�U�
���.�j�X%��

�N`

�h�eK�
�|}Z�[#A����P��uy��.�K8�`�d����eYt����L��q�:�.�Ś/��N@)
��ش�]*sp�k��rn.�']=�
+endstream
+endobj
+3054 0 obj <<
+/Type /Page
+/Contents 3055 0 R
+/Resources 3053 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3042 0 R
+/Annots [ 3036 0 R 3043 0 R 3044 0 R 3045 0 R 3046 0 R 3047 0 R 3048 0 R 3049 0 R 3050 0 R 3051 0 R 3052 0 R ]
+>> endobj
+3036 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 707.957 278.601 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.93) >>
+>> endobj
+3043 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 684.764 204.998 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+3044 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 660.854 204.998 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+3045 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 636.943 204.998 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.26) >>
+>> endobj
+3046 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 613.033 204.998 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+3047 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 588.405 278.601 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.89) >>
+>> endobj
+3048 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.272 564.495 290.228 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.37) >>
+>> endobj
+3049 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.904 530.622 270.84 541.526]
+/Subtype /Link
+/A << /S /GoTo /D (page.100) >>
+>> endobj
+3050 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 496.749 278.601 507.653]
+/Subtype /Link
+/A << /S /GoTo /D (page.93) >>
+>> endobj
+3051 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.219 472.839 243.174 483.743]
+/Subtype /Link
+/A << /S /GoTo /D (page.48) >>
+>> endobj
+3052 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [340.59 57.047 455.559 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3056 0 obj <<
+/D [3054 0 R /XYZ 90 757.935 null]
+>> endobj
+3053 0 obj <<
+/Font << /F70 275 0 R /F56 243 0 R /F72 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3057 0 obj
+[777.8]
+endobj
+3058 0 obj
+[777.8]
+endobj
+3059 0 obj
+[513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 799.4 513.9 799.4 513.9 543.7 770.7 777.7 733.6 847.5 756.3 656.2 804.8 850.1 449.3 566.3 870.4 699.4 992.9 821.6 782.1 656.2 810.6 777.6 627.8 599.6 699.1 599.4 970.5 849 596.5 699.2 399.7 399.7 399.7 1027.8 1027.8 424.4 544.5 440.4 444.9 532.5 477.8 498.8 490.1 592.2 351.7 420.1 535.1 306.7 905.5 620 497.5 515.9 459.2 463.7 478.8 371.1 591.4 499.2 736.6 582.6]
+endobj
+3060 0 obj
+[611.1 675.9 546.3 675.9 546.3 384.3 611.1 675.9 351.8 384.3 643.5 351.8 1000 675.9 611.1 675.9 643.5 481.5 488 481.5 675.9 643.5 870.4 643.5]
+endobj
+3061 0 obj
+[642.5 589 600.7 607.7 725.7 445.6 511.6 660.9 401.6 1093.7 769.7 612.5 642.5 570.7 579.9 584.5 476.8 737.3]
+endobj
+3062 0 obj
+[513.9 799.4 513.9 799.4 799.4 799.4 799.4 799.4 799.4 799.4 1027.8 513.9 513.9 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 1027.8 1027.8 799.4 799.4 1027.8 1027.8 513.9 513.9 1027.8 1027.8 1027.8 799.4 1027.8 1027.8 628.1 628.1 1027.8 1027.8 1027.8 799.4 279.3 1027.8 685.2]
+endobj
+3063 0 obj
+[569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 323.4 323.4 323.4 877 538.7 538.7 877 843.3 798.6 815.5 860.1 767.9 737.1 883.9 843.3 412.7 583.3 874 706.4 1027.8 843.3 877 767.9 877 829.4 631 815.5 843.3 843.3 1150.8 843.3 843.3 692.5 323.4 569.5 323.4 569.5 323.4 323.4 569.5 631 507.9 631 507.9 354.2 569.5 631 323.4 354.2 600.2 323.4 938.5 631 569.5 631 600.2 446.4 452.6 446.4 631 600.2 815.5 600.2]
+endobj
+3064 0 obj
+[892.9 339.3 892.9 585.3 892.9 585.3 892.9 892.9 892.9 892.9 892.9 892.9 892.9 1138.9 585.3 585.3 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 1138.9 1138.9 892.9 892.9 1138.9 1138.9 585.3 585.3 1138.9 1138.9 1138.9 892.9 1138.9 1138.9 708.3 708.3 1138.9 1138.9 1138.9 892.9 329.4]
+endobj
+3065 0 obj
+[594.7 542 557.1 557.3 668.8 404.2 472.7 607.3 361.3 1013.7 706.2 563.9 588.9 523.6 530.4 539.2 431.6 675.4]
+endobj
+3066 0 obj
+[1055.6]
+endobj
+3067 0 obj
+[399.7 399.7 513.9 799.4 285.5 342.6 285.5 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 285.5 799.4 485.3 485.3 799.4 770.7 727.9 742.3 785 699.4 670.8 806.5 770.7 371 528.1 799.2 642.3 942 770.7 799.4 699.4 799.4 756.5 571 742.3 770.7 770.7 1056.2 770.7 770.7 628.1 285.5 513.9 285.5 513.9 285.5 285.5 513.9 571 456.8 571 457.2 314 513.9 571 285.5 314 542.4 285.5 856.5 571 513.9 571 542.4 402 405.4 399.7 571 542.4]
+endobj
+3068 0 obj
+[525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525]
+endobj
+3070 0 obj
+[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600]
+endobj
+3071 0 obj
+[761.6 489.6 761.6]
+endobj
+3072 0 obj
+[556 556 167 333 611 278 333 333 0 333 606 0 611 389 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 278 250 389 555 500 500 833 778 333 333 333 500 570 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 570 570 570 500 832 667 667 667 722 667 667 722 778 389 500 667 611 889 722 722 611 722 667 556 611 722 667 889 667 611 611 333 278 333 570 500 333 500 500 444 500 444 333 500 556 278 278 500 278 778 556 500 500 500 389 389 278 556 444 667 500 444]
+endobj
+3073 0 obj
+[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600]
+endobj
+3074 0 obj
+[388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 277.8 777.8 472.2 472.2 777.8 750 708.3 722.2 763.9 680.6 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.6 777.8 736.1 555.6 722.2 750 750 1027.8 750 750 611.1 277.8 500 277.8 500 277.8 277.8 500 555.6 444.4 555.6 444.4 305.6 500 555.6 277.8 305.6 527.8 277.8 833.3 555.6 500 555.6 527.8 391.7 394.4 388.9 555.6 527.8]
+endobj
+3075 0 obj
+[500 500 167 333 556 278 333 333 0 333 675 0 556 389 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 214 250 333 420 500 500 833 778 333 333 333 500 675 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 675 675 675 500 920 611 611 667 722 611 611 722 722 333 444 667 556 833 667 722 611 722 611 500 556 722 611 833 611 556 556 389 278 389 422 500 333 500 500 444 500 444 278 500 500 278 278 444 278 722 500 500 500 500 389 389 278 500 444 667 444 444 389]
+endobj
+3076 0 obj
+[500 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 500 777.8 500 530.9 750 758.5 714.7 827.9 738.2 643.1 786.3 831.3 439.6 554.5 849.3 680.6 970.1 803.5 762.8 642 790.6 759.3 613.2 584.4 682.8 583.3 944.4 828.5 580.6 682.6 388.9 388.9 388.9 1000 1000 416.7 528.6 429.2 432.8 520.5 465.6 489.6 477 576.2 344.5 411.8 520.6 298.4 878 600.2 484.7 503.1 446.4 451.2 468.8 361.1 572.5 484.7 715.9 571.5]
+endobj
+3077 0 obj
+[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600]
+endobj
+3078 0 obj
+[556 556 167 333 667 278 333 333 0 333 570 0 667 444 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 278 250 333 555 500 500 1000 833 333 333 333 500 570 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 570 570 570 500 930 722 667 722 722 667 611 778 778 389 500 778 667 944 722 778 611 778 722 556 667 722 722 1000 722 722 667 333 278 333 581 500 333 500 556 444 556 444 333 500 556 278 333 556 278 833 556 500 556 556 444 389 333 556 500 722 500 500 444 394 220 394 520 0 0 0 333 500 500 [...]
+endobj
+3079 0 obj
+[638.9 963 638.9 963 963 963 963 963 963 963 1222.2 638.9 638.9 963 963 963 963 963 963 963 963 963 963 963 963 1222.2 1222.2 963 963 1222.2 1222.2 638.9 638.9 1222.2 1222.2 1222.2 963 1222.2 1222.2 768.5 768.5 1222.2 1222.2 1222.2 963 365.7 1222.2 833.3 833.3 1092.6 1092.6 0 0 703.7 703.7 833.3 638.9 898.1 898.1 963 963 768.5 989.9 813.3 678.4 961.2 671.3 879.9 746.7 1059.3 709.3 846.3 938.8 854.5 1427.2 1005.7 973 878.4 1008.3 1061.4 762 711.3 774.4 785.2 1222.7 883.7 823.9 884 833.3 8 [...]
+endobj
+3080 0 obj
+[472.2 472.2 472.2]
+endobj
+3081 0 obj
+[777.8 277.8 777.8 500 777.8 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 500 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 1000 777.8 777.8 1000 1000 500 500 1000 1000 1000 777.8 1000 1000 611.1 611.1 1000 1000 1000 777.8 275 1000 666.7 666.7 888.9 888.9 0]
+endobj
+3082 0 obj
+[556 556 167 333 611 278 333 333 0 333 564 0 611 444 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 180 250 333 408 500 500 833 778 333 333 333 500 564 250 333 250 278 500 500 500 500 500 500 500 500 500 500 278 278 564 564 564 444 921 722 667 667 722 611 556 722 722 333 389 722 611 889 722 722 556 722 667 556 611 722 722 944 722 722 611 333 278 333 469 500 333 444 500 444 500 444 333 500 500 278 278 500 278 778 500 500 500 500 333 389 278 500 500 722 500 500 444 480 200 480 541 0 0 0 333 500 444 1 [...]
+endobj
+3083 0 obj <<
+/Length1 754
+/Length2 1067
+/Length3 0
+/Length 1597      
+/Filter /FlateDecode
+>>
+stream
+xڭ�{<Ti��RL7%�A�"vR�3F.�6�qc�0��4sƜ�9g̜ш%�K[HZ�-*E4�P��K�dS�(�Ɉ�t��*E�=T��տ�9���y~��|���X�s�m�l
��P���\�g #
� ȎB!YYy�`
�`��]��B~
+1�: *�J��ҜIV��FːȞ�GDN�.�e��� 
.�%D>O
�1>��v�.���r�aY,�#A |
��#�d?��
+1��9-PH���`�������``�8`!ɞ��`���ۜ���<�H�Q����$�8���H8,� ��c���g� X�($c��8O���h���)D�D�����|��rx4����s��,�P��_�t���!(�<Z�O��h
���%��B������3���1�F ��"���x�$b{���@ A��J����p� L�	1i�E�)�^��HF�
���H���}<<0e�-�l�.��4Gpr���%_!��(>�.�-_c!B��J�O���_��>�Lrq
���D�F�#�"�]^w�ܤĶ����&�H�������S�u��6�7�o��]���I��T�~�Z۝��7���܀�GR����Ӫ��~��Q;�f�����C��^z~�C�Z�xb��V}xԩ�_�9�1s�+R��Y;��"�Si)����Y�5��֧�V.�ׇU+f
����q��ʦKE5�[,�
M�tܦ�H�c"62�n�U_�
X�?����(+~��M�p [...]
���A���Cw��x�eZ���T�E��d��l�n�c�?��
xw�rau�է}CѴ��g5��+Cɾ�
�N��w����Nk�wYǘ�����!����-M��~��BA�h^TXT�WY�\b����y��IF9�%������mgb
,y�^���2g�6L�5!�q�-"(�w�NbT[�Yn��=�JHRB'פ�F�!��A��6O˨R�<��T��MM�J%r��r�>>��y���c{u�[9�@�ZN?�+�&�u���Y�������C��8��T�6�+�����oy�o���ݫy����uqv�tҚi}��/��Lp���.�N�t
+�.��i\R������9�ԁ
��U�9{�]m,Ye$P�n�ܷ�NM>?���{��Ǘ/�?m�>�����B�gի��5S�<yɾ���1.E�7���½�]�ȉ=R*��at	
*��K��r
۬��k��ˍ��s��x��M�){��u^�� ������q-b��{��܋�
�n�ܱ|'�N���t��%�BM���F����1%ͯ�U�c
s
���hS\
��վ�R��\��ko��wC�(�F�[L�-����++�Q�
�2z�;*�����A���m����+R����vh��[kv"O�ԧ��;�
1C��e]7
��.
>S�8�x�V;k��&�[�I�K]���`_F�U�W}����΁�Sz]�zXYB�)=�6��\����ӷT�A�hoA{��X��	�o�E�8�O�`m�����c�{�D�C����'
#]���gW}(��3��8�v�Y;ϋ���qV�,:on�~㌸�4��ȭE����<�0�T�7��b
+endstream
+endobj
+3084 0 obj <<
+/Type /FontDescriptor
+/FontName /LBWBDW+CMEX10
+/Flags 4
+/FontBBox [-24 -2960 1454 772]
+/Ascent 40
+/CapHeight 0
+/Descent -600
+/ItalicAngle 0
+/StemV 47
+/XHeight 431
+/CharSet (/summationtext)
+/FontFile 3083 0 R
+>> endobj
+3085 0 obj <<
+/Length1 925
+/Length2 2998
+/Length3 0
+/Length 3616      
+/Filter /FlateDecode
+>>
+stream
+xڭVi<�m���4��zKj�13��]�,�!똹��,C�l��Z��,ɒ�Jh�$-��#�W�?R��N�>o����w��s9��:��í���
7#�}A+:�	G���s
��8g$��b� �L2�f�g�� JOO�
� � RG���ց� ���0�ϟ	��U� fT�A&�i ���
�8�	d���Q(�ӏ� �	
! Q
�BD2�	��~d�C�-�Dt~������B at FG �)S�$�i�0�� �Ct�m G����?ɭ�)�Cx���N�O
O%S��]A�3A��A��R
�K
$���fm�x
+�`F� 
�����'Y�CA��I�HxJ�3҈*���S�0�������L:��4&6,���b�o�1�Aܑ�H$�S���9y�q�%�@'�i~�Z�3�0g�8
D� 2��`(G1B�FgrZ �3� �΀��+g4���/�
 |���5 �ߏ5��O
��4�.A
+�_y= A�
9�F��
j��dZ
.�C�?���$����įE���0�'�_�
��F�55 ��cRK�A##�O!!�� i̟���?�D�LCA��K'��x/�<ʲ���O5H.�4��������
ĺ��XP�o�Ӣ���E�f�@I��=���Έ����B��9���	�
^�ϯ<k����R��U�P^
y�w�~
+�S�=�[�׻��z�%p��<����>t�4��juƚ^Lg�<���Y�`A��:����]���d}ߎT
%����rY������崻]
+�.#�lW�����9��z�Jق���"�lp�G��V��e)F�%�-`U��'TcZc�D��)���
�
���L'���߻�y�x�����y�d���%}����kS�VmCB���Z�����?2�Ll�
��{F}c2z�~����H�%)�4 S�l�ł���j��Z3<,C��ܞ�
G�>?}r.W�������Cl���ʚ�b
��D^��:+���u����RJ��r;E�<&��
+��34m���I1�*[���v~�w����#������Q|�q�)�3�}�s<�V��u�V�i}!��"{�x1�z���jآ���
+��O��G_��ZHWi�-����}��T�_V.2E�
֊|�n&�4����������
~�ƥNWK"R������xC�F�������YQ��_���D-���Y���C/F�z�q���+���c�z�al���!J�F )njg����단�*D����~0�t+F����4��>�\�S�����,D�D��]m%��J�>�y��=�>.�!ޕ�,�eFl~��NMA
+�d������U�ᷫ�1�/gϾ~�@C�l�;g�H��S����� >N��
#_e�-��9r�ʎ����4�[�u�v:S|������4+���-�m_��zO�u����J�bi�⸾���
����]�g�d��/�j}��;�%�nЙ,
Ɇ������
v�žGN¦w��K��$J�O'�
��]�fE��]}�m!P�E'[fe����"�cV��ȫo0R�I��Kn�7*�o�w�h�/
+>�U)=� @��D��<��@q���H�X�B��b��S�X鵍��
���p���g�x�~���v��(�qs�
�_ıWhy�|�]T��d
�3�o�\����{��N����
����߷��5��K�Q�o����fDJ
w�b;<(aH�n�jc�vy�D��
Ga�f�Fkg!6��ZD>#}wqӫ�
+���ז��V^
�e�
��<�#w��W���9����V���R
�]T5;ו+���X�"ҿ.��I���q��ꔿ��g`l����*�^����Tt��~
is�ܼ
�4��Q�;��5������U�;$l�
+�e�N QME�+�j��V��oM����(Q��a�5;��R{�^�j����������W�w����m:'~�0O���6�Y ;�r�饘��QH7���ۻw/��څ��z�V.b�#�+E��fd���w��1�H[���_#��^ߊ$뀷�c
+��_T�H�p��] ;�����9�Mڷ~�X�U�]qD�K{&*=
GJ�
�T��v9�wi��/u���olC�G
,��?�cȅ��85��vYK�&��F�
.�I��ϣz�%┵|�����4+��X3_/q��Ӹ��wz���\z
!�2]v�9�dݧT��LLd|�����M3���·v���^�p��J_p&Vi��E)�*m1NUH{�]�Ym+���w��)h>w����z*�
T���_��N
�<�|�7���8�E�`Ŷ{�0�������_wQ����� ���7Y��\���@~�V(�\@xe�Ce�|v�D�`���cgռ����a�c.��Ԍ?g2�����p��kG��h�C/^DY��
+��VB
���6��6��C���N
���o�K
Y�~lV`a�`LjX�t��ò�g}�2J���o�؉���d<tԿ�!=��m�$�w������Ot7ʚ������%%g$�t��c�!̺{�ʫYb���02=����w�>��ċ�!�^}��IeC�U
+�e�r�S	�P����K�Ʌm$nl�5��wa}2�h��d�L�,�G
�
�*�)�ܦ��&nݐ~�<�p��L)�B/#�%p�H��H)ޘM��*�oEI��͔��޽�)[�5���L��YG�_Zw������ٙ��?��r������\`[���#�mH��4�eX
1Ɖ���0o�{�9�g�}��Ļ4}S
+�-Z!	�����I�'���(��Ϗ.ׄ�C�Tc{xB-�o��-V]/��Cp
x��ŕ�=ј�h$V���:ʷ
�kW��p��Aߺ�b�'�o��h�����^(�gԔ��-�f���ےe�Z�;����wO��R�������*^�`��QM#���\'�z<�Z���KZ�󑬯2t��PD�P*o�&;Ԏ.P�~m���o��
��=~�j���nxi��ݝ���)cm�//pǻtc�h/���I)�
��[xQ��0o-$=�`�P�/+a�od�-̙�����!�a�}?��Q��S��"�)|d绱��k5D@��K��U(�oR�pz3��

Y
O��H�M{�Ǡ��l{�����xK�Z�e��I�v/
�.�߆�6��ڛ�����'���eo6a
~�mf2{�l�����tU��$�
S���+��Y����R(æM�e��p��D��[��Q9J����q�r�M�[���控�ɦ�OC��E�c�a�|:
Z���0�ә'w<�q��8�\���V���+WG�?
�3�Z��0�?숶���xga!��������SA�r�S�W-b��p�u�π�uI� �\°�����~Iq���i��ҧ]�aK��Ba������!�<�B��$)Fõ���ÑD٪�p��"�D��6�r-�yb�N.9���'�}&]�<%�{�=��Q0=��C�c^���*/Y�^���Xh�K���7�bu
6�ѱ|Y��i8��B
�^�����p�g`[i�ǹ�G�9;���f�J�����%�ܥ�n�8R<�iF�23�o�'B$-D�5]��r���?<1�=`Xi��N8�{��n����dӶ
CƎ�}��u��
+endstream
+endobj
+3086 0 obj <<
+/Type /FontDescriptor
+/FontName /OTQMQX+CMMI10
+/Flags 4
+/FontBBox [-32 -250 1048 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 72
+/XHeight 431
+/CharSet (/a/b/greater/k/less/m/n/r/triangleleft/triangleright/x)
+/FontFile 3085 0 R
+>> endobj
+3087 0 obj <<
+/Length1 771
+/Length2 1151
+/Length3 0
+/Length 1696      
+/Filter /FlateDecode
+>>
+stream
+xڭRkTS���2ȳ"����U*�!%H1��T�hxHE.!g�&�`0�@�](
+�C

�PA[
+"�*��UQ��X�b�F�{���J��5��{����3��a|7��� 
S����l������h$
+%@
+�
+�too/�U�0X��9��b3�$
+�U2T�� K�N�X�#�2T(� O�H�R��P |\�B��
p$�v�
��r(K��;�N*T�x(F1u�S0&��=�$%~���LN�K�l.�I�$*�@��� ���akz�$�$T �l?��?x����T���$�
�@6]ߛ�AM�Ng�	*�`b	ntOw��{
��J���
+a	$r8�C
���o��k.7t͗����Sd� ��Dh��j�_5�
U��4w�N��a�aڰ��GPL
L/ ��*�h�`2A*
�� *	�Tw
WG �L�2��z1 U<�Ո��=FT	�˧�^��W��yЀ�I��1� �IK��P�$�AL1�}��>�"��B%��]��g����
�+KoT�Z*w,�v��Fmm����/>��e��á�s��F����U�Q�>�����ʧj��d1oiI��p0&vF{q[���H�c�K_b�g#w��Mn�U2 at g
%�6���7�o�\��7/@?:H�P|6$F��fw�
�⥸���>���G��-�:7,
+���fv
{��[�7���U�c(��~�6�ԉ<�Ս�����V��>���Ζk�R��tC��˽�3����
�,�M�ת<`hըf�f�_ݨ/�k�[�/�S�Q���[�t��m~=a�T�|��q4����Y���.����Ő���T��f|�S{t�� ����&���ھ��)Li��gI9��QUP���hW�~�nAIMY.3�է���
/���ώ���u<��`���Q��,��M�!�!)c�G�


��/<�w��*)�%
�O�:�ȩZ����i���On9�ɢ�Ԛf}������W]㪗���.��a^��$�}�N�ӧ~͸G�E�]m��zm��60��͓g
�F��#�\�:s�W:xfXe��r��iyv�H>e_$k�
J
7�����[�=�s��

u
�J��y1h�m��u)x{�팜�n����A��/�������3IpI�N��ՙ����}���k��3�5
*�~m���$�^d����i
E�'C4��Ʋd;�ji}TaՎ��u��|�brmٍ�9�2
Q5 [...]
q���
����2�k��b"ۆbj���d@���|��^ק5�+�����'��c/t���b�ƻ���)��b�B�	?����E�I�ܸ��G8���s�=}
+ճ,
.�
�
��y᪪�Cu�
��'e�
+M�w���|p9��+�|�ɶ>C|�2���N!����[����o2�Ù�q'
+t�zT�]^�.�t�]�>ͯ�f���5���N�OV�+2�Ϭ�zS�w�`�s�jeq�'
�m�z�d
�N�9�]H�5^��=
�9���2��~^��vM�� �b=�
+endstream
+endobj
+3088 0 obj <<
+/Type /FontDescriptor
+/FontName /ZGGNQH+CMMI12
+/Flags 4
+/FontBBox [-30 -250 1026 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 65
+/XHeight 431
+/CharSet (/greater/less)
+/FontFile 3087 0 R
+>> endobj
+3089 0 obj <<
+/Length1 805
+/Length2 2096
+/Length3 0
+/Length 2657      
+/Filter /FlateDecode
+>>
+stream
+xڭ�y<�k�OQ���Gf�0dKvٲ/M3�0��
������}�H��J�=:�d_B�^1�%$������v�}?�?��~�u��}�JY�*�a��Ac"����#4

35��TV����@G$�(�&���P����S�����)MU�,`@�p�^ j ;0�z� 	�F 
�
�e�@��-�)48���6;Ȁ
HI A  
M.��8D� Ɍ�%�����Z �̀��0a C$�i �B�,���@�������x�%��`�AP�j�|qxڟ���?$D
H"�hu ��Y����]3
+
+�C�<� ��@•���8�1�
+b�p��E���:H��Hˆ���
�
��_췞
+G����@@�o�7��[3""ᨀ�2\Y�02��Vn?�eD@18�'����H$
�����
+! 
R�� V����L�%� �ʸC@	sP�S" %�RP��["f�?�:���M������� ƳRTQe� ���r�����$H�|{a���X
#w��h�P?��}��P����#0�DjQ��ߣ��j��cZ|���N;��*o�7��'e��\	�U� Z��d�5���) �I�eYB�]��f�n��͸53$9�W��4,�1
������\х��%��k�>a����cd>�@ܲ��'�����۾̛�C�®i�{C�
��>�9S5��,����]L*���%ͨ�����7l�
�U#T�
+�h�p�^��҈'�Ū�"�B��}3nx8��W�
����q�Ԅ�e��
V�� �����;�M��,a�Ԥ����4��5KťB�Gc��}�+��~�D�6/����f���7	�O-'�Z�y
�����{:���&�
�a��"�|۬ΫL�<WHg�������bV�!B<e��k\X.Y��'5��5��q�
��!��9�ٲj�_)�_^Zl�n$��\z��Ԯ*?|FPk���
C�ZL(/3��Ǣ����o�;
+��j�]�e|��\��c���z77" ��1��<���9��k}�6?S��N{7��"|��vD����0��_C�;�ܳ���
^��^
������J��I��Y�I���w
��aYa2*{��-	���n�I�7���h��x<Ӻ8 �^XT���U�M�Iȑ��+r
�:.��Yw�ʩ5	gk�e�E��s�#��r2oaЈ�>T�q7�p��b}���e�?ö٩�
�����1�<�+�˧X%�DC�c9%֌ՙ�m�$fq�p�uj�&[ϗ�64n��y}v����z
r~�1�M����.w��T��jm�N�vӂܸ�/�6��}��,���������ݚ��
+�P����'�'�����ᨖ/�h���l;��m�O.EY�ݬ�A��4�5�ެsm��>P�:���s�ZgX[#E�g���vU쐽=B�^��F'�+%���t����_�L�~�w�a����L4a����4^��gzˉl�|;��LS��ә��>���ʲ9�:7�:��?~��W6>���'�ƣ�{��fE8k#�
�����%Ӑ1m��z��N�iɻ�$(S'<v�#�gS[�|
��;����Qq��
<�ˤw�Q��#Z��
:�*�ש�-Sw#�C^�a�,5U>�>C��

O��9^^���3
����F����$sU�Wy�{�����#z��
Zsz{x�x?���<����b4�����
�6���ިW
]שe?��X׼�W�i��ߣu��bs����?-�w��9qh��l,d�E0�49�����M�X�
[Ŭ�P�1���sQK�{O9�j{�G�
�$K�}�ٓ4���;��A'f��x��ad3zP`�`=������E�����
�:�q���
��|���
rY��k(�i�fK3�I�O/M5oX
v]>1j
~�
+{H��g����y�ԩ>ֲG�\����.S�.��"�S��{i�]g�$�9�az˥ڛO�</ϪLvj�M����ۺ���6M�
+plz�!�94�����]W�s���T���y
�
�.6��|)���W�)���NwDGb�G�����6��x���S�z�B���f6���OL�d��5<l�z5K;�b=����Yr�
�L�J���^Oᰩ�v��<&��
n�o���r�ӯ�c�����'��nL
b��s2���1s&G��A{�C�)T�;lE��E��J�|�݅M`��n+؆P}��rϓD=0��øM?��0?��l���ȗ�n�y1=���eO6�q3Z�Tp�A��;���w��b-�M�:*�;L%�g��?L`R�= 8��`�,�
b�OZO$��'J�/\
h󯽷����H[�<:,]�z�5*�q񹧩�\:�|3S����aiz9Xg��
���ҵ����+�Nij��_�=a3��7b��������L��pL��T�ĕ�r]=�B�D�
s�-�"E�ޗ�جgc���~s����D�N{�$�\sU�~Kv3G�j�>a�f	�WU�S�g5=�Dαt\Ҡr
�?ɬE��縒�
5nN���s�\� [...]
+
!.6��0۷d�r=Ђm�J�
)��^[9
hw]f򽑂���b6b3l�M�!ɗ[ܤ[3��ə�3��UM����k��\5n�r��:_���#��~�Ew��إ>��}G��
�ڕ����d�$E�@w�8կ$����F�fb��k�0���d�
+endstream
+endobj
+3090 0 obj <<
+/Type /FontDescriptor
+/FontName /OMWOOP+CMMI6
+/Flags 4
+/FontBBox [11 -250 1241 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 85
+/XHeight 431
+/CharSet (/d/e/m/n/u)
+/FontFile 3089 0 R
+>> endobj
+3091 0 obj <<
+/Length1 819
+/Length2 2291
+/Length3 0
+/Length 2854      
+/Filter /FlateDecode
+>>
+stream
+xڭRy8�k�^�,�$�����`NKֱ�E�1�F�0#K��儌��Be
�81��)K�"[��%%[��:�:����]���{?��<�}�ϫt��I
��x�'(d�\
���і�����L� �F��M14P���� VAD at C�!�59WP	0���R	>�4@��MB (H%`1d ����$N,�8Q�����D�q�"pAj0�S��
K�AY�-ɒ�� �a\��_�`���|�	8"q21��xA�-�3
�h������ "�C�n�mԿ���'�B���T M��T��T7�64�#�~�Z�0DE�!��\K
��#N<A��8{
�
�1�@�{
$�~V±���������������4�P��M���c�ET
8S���
"�����i�K��>�����R1��0N+
mm 
�8��t�`�:�B� 
c" <�*��U�(n;�'�P�P��� (�o�Ԓ� 4�;��
��z
P�Іm� B�?4l�
+�i���ҿ0����A��� ���ˮ�/�4+�-�
ȹ��W��T�CJ���{�����q�~�2�+��P
^{B��
��{%�."	���$����<��Q��,J��45t����
�
+���L�J�8��|2o����/�g�?�b�&�z<��]��ӻ�?�S
+)C�
Ҟ��{6�d�G_�
��K)@�
���(T�ϯ$T;��>��^N6xX_���
h[��Xء�R"����j֮,
����N&����C�%�n�C:�y^KL/u�n�u�w86��T�]ۭ5�8�;�Iw at G��]˖Ce`%�,�щ�ё��7�6�{�yf
�Yzȹ�����h[77߭���ө�4��Ţ����k��/+�_B�y.�4�+
n��<d��|{�� ��^�����_��W�gf�U40��P����``إ:K����C
Ҥ�-�$۟Ka��œ
�aWu=��V����	}���o����Vئٛq�c�cr�ɯ�>��igد^2/7i���cڽi�������L��B�ŭ("t�ޜ��z�{�7����9����X��w�4Vq|>,�Jp����
�Ù>ǰ���3�4F��ac*d�;a�A��)�ԝ
����:�Ǧ�l��
'g��)�}�ɤ{�Y�p����%�2�(���
�ʮ�W��wD�MkŦ 6�����7��N�GƏ�R��u��x [...]
���)*�).�k�X�I/�H>i��+�$���V	H���4R"��&4�bjbv��æMY+E��ۄ��\(=y.�f)�UZ{]C�o|�Ր}�
(�26�
Y۸6-Z�t-
�Uy$��+{t-��9�<y8>NE��y��`�m���~��7�{�P�
~�
���+���".����%��ȧ��6녲�ߌװ�M̶�V.�S~1�xSQ";�H-&�D]��U���K֍��oH*\�3�ƎQ��V>��9bs�W�)W-f���k8�ˌ8lשM{
+I�N���4�$�2�_�uV}_��tswU�
1|�.����	�q��4v#�eڵ.�PN���O}R��AI��.Oۮ,���^��d}�خ��j�
	u��;
��ݿ
�~���Wp��c4��d���ѯ����\{�T��߄L#K+|�J���m�-X������oG�_�P�x�"�궴īX)
���{L��ѥ�I�V2F���7��v�Q�{�F�:�4�
J0ٳYS-�|
�t� Z��|J��,�Z8ٌ`�N�Ď0��_���a��]��x17�
&��c��2U1��W�oZ����1WSޱij��?<�2�f�{G)�Y�l�X�R��q����0�
�B�R�C����j���>>WY
������o�����W�}�:��I�t�u26C�/�z�q9��.���~��>np\m��?��e�3s(zg��d���O{G���_�(����	9 (�M�	�E߄K4����dM؇f��T���Cq���S�fJ�d-�č��/Ab�߄]D�ۘ�����^e%�\"E�uLf橬�rbe��T����K�I{V���0��:o���5�,Tm�q�D���;v(�V��O�"w�u�G,o�V"-��c!���}K�/�r�ui�
��-�h��I��m�{����
+>��'N�3��1�&� ܒM_L�	ذr�#����)n�-
d
ɮ���҄�:��i�[I1"#'PU������v+��#,���F!Dj2n<��f�h.^7Z��z�|�hm(�����gtE�Z��ר��)�.����L�}�{�
.9n��6��=��#�e�
�K�?�s�.��r�`�MQ#����x�X��z�#���:
�D��Ð�P����M��s���̯i�n>�5�Ž��w�̖����m��z�� �W]q�;���(D��G�Un��
X�щ��mq�/�{��p��q��u���i
Dx�H�i���N����$W$�TF�^�
�r^(�8XZ]m�6��
;��>������M�K7T��\��q�y�n��f��<�LM6q��3J�u����
�Èe%�.���y��A��C�uu���
��ά`���>'�E�
+u�Ah�?��\�ĆD�L��/�O���_j��
+�iƨٙD3y��c�bJ�9������r����<
�
��.?��ߥjva�
%q^����}�1|PĞ���Ճ4���]Z�b(s��^?&#�%�
û���ɊH�ϒKp�Z�m�(f�2�K��Mc
��
� ��ѝ��e;�#bfw�w}���CV\iO��>Na:]7`Kse"�K��&��sf酻i2Q��s
+endstream
+endobj
+3092 0 obj <<
+/Type /FontDescriptor
+/FontName /NNLWPH+CMMI7
+/Flags 4
+/FontBBox [0 -250 1171 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 81
+/XHeight 431
+/CharSet (/d/e/i/m/n/u)
+/FontFile 3091 0 R
+>> endobj
+3093 0 obj <<
+/Length1 829
+/Length2 1697
+/Length3 0
+/Length 2268      
+/Filter /FlateDecode
+>>
+stream
+xڭ�y<�k�Q��-�^O�2�Y0��d/i��!T��3L�
�ط��H&["
JL�ԄȖ�d)˴�H'�tbޒ�
��>o�����s_�����
�
N.�$�hG��
Pp�)`���c���hk[3@�B��X�)��b1�A604�&�h#S4�
X��_? ��[
2,@�H�8�
z	T��N���08`I�Ϋ7��3�� 	A� ��|@_
+
�XE����ɷ6�
�]
+L! [����$:��@2��
_�,������T*��j�ԿdB ���z@ �2 
�2h?�����p ���Y�g��%͗
+(c8��[�´���$'
+���	T&��i��I��q l�r���[��D��X�a� ��1�V�~�ˆ�P�	G"Q�A���t짷liD:�B�
���`� H��!
D� 
+��`���Y�+�0�(�Lg at V��A*�d�v�(�1�`�S� !
a5
*Hf�0?�o����P��V�;++zh��!00D
9�&h�����A"�� i��?O���L�CA"�?D'��>�u;�4��J��
zL����6����gF�6?a�z]�m���OR��.�:p$2z\�edG�
"~D�CZQ�r���
q��XgA{�l@~�k���@���S�`,�qCši�I��l���ᡯ���1=�|�l��ȱ��C
𗩱����_��;��r
+�|���ϥs�g
p�s�~�Dꅒ�聠�����/a��nT�
	�O�:�vq'��_���ڽk�#���NX�}��lϙ�4�V�	r�g��G9Їj�[6�PH��k�
�5k�k��)C)�;b���"RQ���b���*�C��}�S��5� ��f��7埠
+
ގ�9�R ��7y��I�V��za��\�����t��g~��G�j!�Z�5^�5�ޤfU��^���r��yc&1f!�]��sj��͑â3[?�IE+���
y�����|�&hۛ�:
�yE[���C��dp� �i��&���ET���
�[�?����K�Į��
W}�RGVK�K�|'���42<��]��K~4U��Tre�랣�$e�	5gO��}Цe�Sſx�`4��N)�y��=p�Gv5����=��<���l/��1���� �ײ��E�p#V_*����j�II�H��>W�995oo>
��r�� 1.F���|(_
+��u�JvX��������+V�r�'�n�����Zb��W�,�xlc�ҢZ�5�bR%K�cڞ���*�D�5���۫�=�n)�d�e��
���Ey
?����WY�
�u-{�qN�E

�k9��4�b_/�g�4��HbkB�1z�����
s4ѽ�_Czzԇc������R��s�}�|�Hۊ̦��
Y��<?a�O��{�����1YR:�
0�ٯ�K�j��s��3�Vرot����q��!aԐ-V��d^��b��N��
���⑎��%�����;T

��u�
J�L�ΩkV
�䶿4C[�NT
Z��S�K��ҥ��Oc���n�d�8�F��������7�f�pg
g��RF`�qp���wa�
N�^��D�7<������h
�|�k��D
	ϬU�G���^#(_Qh5��J�g�&yEb	B�V��{�mU�!X<Egp �`
�^���
�B5X)-lN=���Ѱ����o�� �<����|�Em���2�~}�`��-62d^>�bWj

�s �\HP��$�������`R�<OjV�NG?P
B���i�vr�(�=�\�}�W
�rC��H�6Bk��R�LC�ӆbc�p�WUM��g�
�?5�̀:�r���9�:��W���Hy�
�/;3��̼�0<�%� ƪ����`�V�[̶@�?�٥%2��t�a�cW��X��T4���
L�v{P�~��=�u�^'�k�D!�-jco����Z����'<BļڳI|�����y�~QQ�n��4��PK������]�>K�j2��wq��K����d4Yn�j;T�~��}�����}i�:q��/�E^�����3��1*��ĩ�5WGw6�WKJu��~y
+ݠ���Ke��n��k���?�
#�w�MoO;V���i��f��Q1�ֶ�m�sZ4eGN�ŏ��x�N�I�~]q
�[y����C#�ٖ6�Ǐ�A������=/��^pn���?k4=�6
�n
���z�q��.��nP��XW�,��!+�V�\�g����Rh����.Y�7`��s����
�HaKʵ3�_���Hd��]P��"���y���|
h7��1�7�1OA
+endstream
+endobj
+3094 0 obj <<
+/Type /FontDescriptor
+/FontName /DGLWIM+CMMI9
+/Flags 4
+/FontBBox [-29 -250 1075 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 74
+/XHeight 431
+/CharSet (/less/r/triangleleft/triangleright/x)
+/FontFile 3093 0 R
+>> endobj
+3095 0 obj <<
+/Length1 1003
+/Length2 4417
+/Length3 0
+/Length 5068      
+/Filter /FlateDecode
+>>
+stream
+xڭ�y8�����l�e�[�}�Bv��]v5�`3�ƚ-[�5dW��("��D!;��H$���<���<�����纯�}��s>��3<��f"jN(G�6
+����	h�M%�	QqquJ


4
�����
�& �� 	h�
���M�2��<���
wq� ��Mr��

�B� �q�y�k@!�
��0~����>�
�¼ah��(����b G�

I)�I���
;a=��򁡽�P �� 
�	�D�N0gJ1C�6�����ŵ��!��w�ߍ�?i�
�������0�	�F��j	��

s�c=����@p����
����8��1
u�!o�q������� �a�
���s��!p$���󯪿�h��5�;h8�ǷWo�?�����]ZH(�	�t$ed
��o^�  
��0

XL��� ���(4���g"�
�S) bп���8 ��� �`^X���6Hb.��Ҁ��?�< �O3�����mb���4>�B�����=!hs��
��O�ϵ�+���D`��Q
O���������}��a�?Y�� ��Q� I	 ���@AV!�9�X4�
+�������p���`8�rjU�p�l�,
�*
)'$Twy�d���*|2��_�Kp���"�
+�*�*��)�;�5�dH{'�+�����Ͻ�l�f�Տl�ߊ�_�[�������}�(K�.y���{�И_�|�|������ygN����v6�"�A=��)�#��h�9_�������nQ/�fvQ�X��b���s�_L���V)�%AF�5���%Qt�u]�5�9��X%��0��
ϻY��Ϧuw�;�V4�gG��Պ�G�~�闻RBw]K�&��O)FU��
Q��o�
+E�����CviS1��w�lH9/7�q1ۼ��a��l��Ly�S%�" ��m��ԛ�Lw�.pl�HE�խd��ǜ�x�@�˔-v=Au��z��h͢����8Sz���9Q`;�
=�:�j��ʬI�(8�Kh.bX��ˤR�G)I
 ���W^�&+�1Ԣa&��Y}�\0����Vm���y��7��s��֮<���N��i����;�9�M�7k"�T���Ѳ	��9�~ٚD�v'H�=�-��)���0ޫ�Av�7��''0��E,�N�'���b—ծ��2VBw�uMl�$�E�gōX�ƵL��N.����C�\��3���-��w��{3tS�1�5y‚6��Z�DY20R�&��_[>z�]��A�E��ʴ�I�%n�w��}�Ž~u)ݫ��!d;϶�R�0��L4�d�M��9O�k��%����z�G��z�2�� ^��z��G%�TB�Y���E�B+r&%���0p���؊iA���Z��ԋ�R�u?�r "E��I�	dźe���� _� [...]
Ʃ�03��nUhR.�Z��A��Z���9�#�όܨN�-hc����e�@�4A���K��3�[6*�v6�~�
+n�]W
����ښ���2�������@�A��ރ|!��j�d?�u]&�.�[g(6�
\�
+�o�L}��݈t�LQ�tLES�V~�}0�Jb�`Y,|���F�
+O�P������2svԯ"@�q��
+�Ӵ�Ӫ"Rǀ�.��=b�F�/>ɘlK}
.#|+��*~}[X[���Q!,�h�MW��ڃ�Dz�+���B\׏�﹚�כ�(�p�IX�Ni\���RCU�9����P2�;W��K�$�-(��_aP1�_�~���:���y�.��DӖ������P�C�i�zTo
+���\�30b
�:X�����v��l����r�13�t9?X�h���8%�����O̜/�d���3p�{�����L�[��Z���/��|s
+�����6lh��l8�1��a,� ױ�k6-�+�F�+iοD�_��?r>d#j��=��q+����6�[2���
2�P]����
�3��v[�7ى�zI��NfhI�{_
+p�&q�H�
c
t\����ͮ��n��
+䅇ܗ��^�a�3d���i��2���;R�r�2���_����Ph@�C;�βO{�/4��|�$ư!�!�Uیw^o|�C�6�
,��o���}��̺�������gBf2�&�E@�9�Z��9�p�l�7�^��f��g ץ
+���/_a��Q�A�q0t�-
@)�ް�(ߣ�&�΍-Τ���v�bJX�BD�\J�~'��`6
=�>H
��
	?eC$��n�e'~Wm/�t��%OS~2`��6�����p�ұ6�S��Q�
y��X�1IV]Y��6�]�.�7
+��m�NWj�JѺY���&/�|CZ.٣��)��7����:�-���
(�rW�c
��hK�>��`f/��=eµ�v��+L�]�d�bu
���	��G�VB��/�?�a��W�^�@���y��� ���/}*58ˢ�L�{T����8M)�[Z��
J��*��[ė�|�?��5��x��,q� �b����A��������N�u��K��"���e�#pf�O"�Q&�?f���=x@�ϼБa����> P_z�}W���^ؽ6a
[��}�.�zPԯ����~۲�
�n�~a��
dK�̞���������
��^�3I)�b�I�ҿ��o�=�q���ّ���*Oh�����Pi_��O�G���V�h.0)mtL
����B�T�ǥqL�u���n�%
�s8�>e���VA�$4Y���qK�5^J��=�|%н(�3�جDT)lfʭ���2�
<��w�O���w5�z�,C�4��Y�ܫE:HWG�l�'Wށ�
Q��c��}3�v�G���-�
��T�9�ĎG �� h!U�soE���aD����+Mj�eyF)�t�USO��[���5X�|��p����/ys��ň>��LAm���p3|pD�E#�%(ʼ�
+O�Kž��aE�#2��I�5'>����Y
+�jO�VkF���8�yG:��9�<�S��1K�
+��(��/bᵿV�s�D�ѷ�!��g4��O�K;�Eͨ&B�`)u���ݧ	��
��q�l���..}TuW
���ra-�:���INF�/�
+u@��
���0�(f뼡w�K�Z��ΰ��TH�烕|�2J��t�{����h����8�D���L�~���>�Z�D�F��l��m�D����vx<_B����,�4����MOHZAy��ʯ}��[��鬛���	����2bجn=A)<�uj��o��T[Rl��gu#�#=U�y��r͟
1��?�ziR�����m�x3��$�����d�{9��(=]G$�h�#�Ks�"�Ϳ��
��9
N�
>��3�1CB�{X�݀MI�k�4��~��;��J-
يg��EDC
�]վ�I>��w���.�
-�Y1�,eWomV��#�8��$����`�t��.1}�p6T��
B ���|[��ת���B�O�]-q��:�fr
�+׊	��k��j }|���$��Nm��j�����:�f<җ�˓�F�i;����7}������;'��y
G=�x��ӥ����2z�bKSa��9I֝ѩ7�oFc��Y:D��Ap���IS�G������
I��[��z��7��� [...]
+
H��JЏ��L���ɠC���w<���FͯSd2����M$
�t�uo���V�
+*
!_b®��:=8��a�r_=q7���1J�E��:��<���Ko*x*���F/
{q$_b8���6�۽�3��-	ks���ٮ�
+(�z~B��2l�O�Y�n��u�]s�>D���xTt'Xy���D��W�Xb*���*�e%��m�R���FFK2yxD��m6N�Q����J�]uw�ig�,x�v�5_:��Х�Нo^J�(���7��^2a�p���{|D�������kN� �
�T'0�-c997}�[��������R�r�N;O/l�z��,<ZP
�0���́�߻_���&��Sk<�ڼQ��Mj�k��G�YNW�,��}��=te�� J��ݷAFY�u�I��z�2��1�Zs��:YZ�}dwS)Ɉ$ ��!�:T7Z��l���'�-]��� ��\7��
��aѻAh�O>�d�

.8�����U�R��GwIH+��f�����O
�¾��h�-��`��|7��B�)�_����
+4��o#w$�
�Uָz����k�-��>u
_Q%Z���Ү�
V���m�Bv��~,M���~\@qt��~�_�s!Y*yo�����H���Aa��(2�f���N��8v
zǐdx����6:���T�
-
����
�3I���-0Z�z\������m	��`V™�j�"�A��
'�j�^ﭴ��{
Z_���o�j�]�X�H~,+��� �L��X�Q�_є���Œ$S�k�+�-����0��q�
��C�;���w*:6=��:Pjӫsk�*?�(�bzt�IJ��Uy�U�&̶q�y��F�[p��{��a�䩲���l`���FhIW��v(��S�Q{�]�}2�f"xC���T��}�&�
/�q���|q=�^�ǰ~��X��� �
a�
1�O���'b�мT!v��Y�D��NKɌ�P܄���5'�*
+W`��g�h���*���r?ֳ��䱩�3V/�H�K��\�>+����R
�6YL��.����ʞ>�̘\z����P��z�zm�>3��M�<]Y��&�l�_O
�E�?��,I�ҵR���9�h��ݽv�� ����K���!n����&�Қ�4wu
*
Ɠ.�ÔQ��?!��.ɴot�0[jtW�)�@X˸���E�3�:A��e�#lJ�s
��?S�r��[�G�?X}�
+���h�iHB�c�D�sͺF
+endstream
+endobj
+3096 0 obj <<
+/Type /FontDescriptor
+/FontName /CZIMXX+CMR10
+/Flags 4
+/FontBBox [-251 -250 1009 969]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle 0
+/StemV 69
+/XHeight 431
+/CharSet (/a/c/d/equal/g/h/l/m/o/one/parenleft/parenright/plus/r/s/v/zero)
+/FontFile 3095 0 R
+>> endobj
+3097 0 obj <<
+/Length1 927
+/Length2 3031
+/Length3 0
+/Length 3638      
+/Filter /FlateDecode
+>>
+stream
+xڭ�y<����)$�����
3c_Bָ
cw����
3cg�I!Dv
+!$[4�d�LdK��$Y�o=S�s��������s��9�����9_1a����4��H�9�:�gb�
@��lbbz$�����a$�: QS� :�h@

@������lb�
�ӟ�A�� I=��E*������p�	���k�a�%
�A��� 
ww���
"`�$"	>H�
 0p�Dcpl��~�q(<��W���w�I �M�t�R �"�s�H�O
Iw��a������0����
�W�q���<��ӛ�$ &x���w�-�/k&H����Yc�
���ݑ ���h��C"��@�܉�_q$�o��� ��16�0��5�_)(
�#Y�{�G�g�/�����0~�=X
��
���'�=e���
}
��� �g�����@��!�~ ҏ�$�Ó�W zK����s��`?C�* r�A�` ��
! �* �oH���� �B����t)�o(�<CE D�
��7�[�������
tu�~���
+Yy%zW j
+��8��½	$��k����Q�ܑH?$�mh ׈Ħ�D�

t3K3�k�M+�z�#>$0�t\�
}j�S��s|�y��� �B
2�2\
+�O�?��q�M
��[M3��ٌX�|^ӷ�U����hgQҟ[2�[r���VsG��^��T�L�TV�3Ls��y㩸��W�WQ���_���L#�"�؛��d>����;Xs
���_�?�ѯ숣��x���n��(��yp'��~o�4�ݭP#
�����H�)<���1�T�I�
�љ��c�I��;2m��Em{[�H��"��}�V�S׫���ۖ���[��E���8�i�5��9=!��t��܋�l�D�koFT�.�O(_�L0��,���t��ɫ�u�ș�ֻ'͠���]_'�6'�V
̸��=

��%��9c�(���E��̀��!ׇ;���+W5��W�(I�>
��N�p�9@�?j��.$]ք�h��t�9gh��%�U
I2]&
�Ve
)�0�x��l͜��Y
Yx�#��⒝(�U��;�u�힧����3��)��5,�KI�[/�bC=jLߠ��"R�K��j�W��[v^
-�_ٓ,N���1�u���������������E3l �P*x [...]
+�*��@4�{g���{��I�塳y��c�Y՘
+�\��4z��[�=uB�)���M/
1�H��=�D����}�頿�P,9sa��R�?�� 1����m
�M��
��I.fO2�H)��rx��`a	��5���20i?�p��t
k^4o�z�G��>�j[B�r��ݍ
��ڃ��l?��c��k�z<^��z��8�n�x
�؇R���H��rz����ӧ��lZ �)������}���R܆�����J�Q�2FE&w�$x\��$4���3�ܵ_��Qt�
��l
�%��S�P��<n��z�i�?4O-O]��JW?7�	��z�j���7��:�S\�yh��R"�u)/�*�ǘ�<�-�Tk��=,lR��Ų�p���z�^��C��-��!ϛ��<c��$��\�k>r=����M3���”������ϒ�϶F�W5fBzxk�<�բޖɃD
����3�5:8\1�筐�MEk��ݛ0�[I��OՃ��}���MY;��ߕ%`����ޡ������t�E�*x\�r����"W� ��i
+N�&����*~�5c
i�3s
����S�G[�ֲ<A�y�݆f��ב�;�w��j��O�
콫Ӊ����x�,�r���SI������rv)F-NeS� b��d�`%�+�=$mqG\d�Fp����ęg��M,
UG�j�2'�
@BƓ.0��Ͳd�;:ٴ\�U�p�\�Wl�!N�Hr�
+�Y�K��j/�
��ҋ��#�	\�L��B$^��,[��?���%�5#y�/|(}k% �=�S
�ZE
3�
dC�?�h�	�v���b9B+{V�'[���ZWSע�r/m��Bf
�̣*C3��5������4*�<� ��p<��\��Ts���M��H�Xlk	E
'��%#|MF�G�-KW�)�TKN*TP��B�9�hډB\Ӿr���0)R6�@��t��00��ސJC�&{=��H�j���m��
g}?ru�2w�C�Z2ž,�b"*��˩�U��
?��s5����U{U�/�;�>lrV~�aI�`S+Q�lm�t��m��C_��Èm�
+TT� �����n�
Z�T����R�tj�+�p&�z�l
�����Ŭ��:'E�'�,�Z3Ǫ�

�rr�Ժ�f�t���`8�7��Ӫ5�1s���<
\�Xg>
�N��
-
M�z,�%���S���!x�t��#ܾ��Qr2��{���M��gtz
+
t��E�_M�2_���N�^\�dQ�-�WR�f�1��0�}�
[&3�Z����a���W�G7��.�E%�R�ҒÍs-z�s�7C��(�DG^Ⴋ�j3]�7�<'����L2R8���y��Ǡ�^+5{�6��71��&��Eo�x�/b!��{���9MO
��n�#m�x����	13
y� Ť�A�a ��͝2܁�綏c��U9�گ��'

+��
�#��__9�ފ|Ӊ
+���;�Z���z�/>QW�
q�cMq�=�+,�*4�~ pr�ǵJXђ��Kp& ���tY'���Ekm��U�C�O
+��i��}5���^��ȓ=���SA�%�$����Bg�+V�Km�BT�A���uC[�Hw�?�������G��D�
��]���;�[��\���&�@��
2�v��B�)�IU�uRyhxFB�n��ɭf�Vv�9�s�Raթ�ǔO��D���k��5?�(�E������M0���a
+�c2���~8m�۶k[b��)���-���}͗:��W��c�i��
�$g
�\���Ԟ��E1*A��q��@�ȱ��kQ���[ѓa�~�c��ݡn6�qؾ��ߞ
�Q��`��2+ZI ��+O����t�>�3ieT`T���^۾���!}k�Jb��
3gD]I��皽�a�.��ϛ
���VQ1F�O5dn�.Of�
;A�>����)iՠu�*����6�36W�MXgm�������V��XOQ2���Q7��}�{}���1��BO�>rfK�%ݕ�
+�ɒ�:����\v
ϯT�AM�!BQ�J;K��{o���O���&����0ZUN�c�L��o;�y��/g�3��HDg�%���^��N:?�l|�	DZ0�h��5��q������°�e��g�4�
���zsg�3�r��C6�A�{�-��,!��뚁�^b~*ⶾ�������$iN�1��l9f��`8Y�Z8�Nhs���?8�myB5�f�(�Jr�61U�PM��V�
N�;j���'��
����Y��#�+n��\f
+'��.�@o��v\z0D$���}�(e,�����5u����!̹�����a�M��>�J;�}���)��:���	�I��(�����R��	γ@�z�C]���� &
o
+endstream
+endobj
+3098 0 obj <<
+/Type /FontDescriptor
+/FontName /UVIORO+CMR6
+/Flags 4
+/FontBBox [-20 -250 1193 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle 0
+/StemV 83
+/XHeight 431
+/CharSet (/a/b/d/e/i/l/m/n/o/p/r/t/u/x)
+/FontFile 3097 0 R
+>> endobj
+3099 0 obj <<
+/Length1 978
+/Length2 3406
+/Length3 0
+/Length 4041      
+/Filter /FlateDecode
+>>
+stream
+xڭ�y<����)Z�2�o�/Ř�/B��֐ef0�f�
ٲ�Ȗ�${��,Y�d�E�,EB2�d�M�߽�����}|��<�9��y}�y�����!���:!���T�h��PI)���&�H at a1W
	H% ��Խ] � �S�VT�AAB�&���rq% ��b?��u$w� ��W�Y����QH��$��F�?���H<�DH��P �� '�

+���q���ޞ�|�8<� J6)�-"��?�@:� FXr/$����Կŵ��h#G�����W������<��ӛ���X��w�%�Ok�H����Y]�#WǸ���ԟ!^�D\C஀�#��Gb�6A
�/

Kkk]�
���+u��!��{�-���C�a�lp(?�FJRJ
+J.$?������E�0�� +8�p�� � �,P�@���B$1X��<� ���\&y#ǟ�?I�8�MP)) ��
� �7��$/o���)� �ߐ��{V�x��P�8�7$�a�Fr-��-
 ���
 ���r �����$_��?�dWHܟ��{mX�@	�< ������J�G!��Cb�ny��3�|T�H?$
41��+G��?�,
�z0RF-N����Qm�����$JtQ����l��~y&����>���ɠ�F��݌�GK>K�ϸ�H���=�w�W�MO�l��R���/M�.���ڽZpM����i>�v����9y+�L�y��ai>S�
��h��_��d����`��3
�6��ތ����;����הw�~��R	#ɬ:
-�VW
�j$i�
��ٮ�����
�����R�rV=i`*�Q�~��P�s�{\=~FKG�hR�s��ft��F�����/G�
K�}v^��0�ҾwR̨~5�$QRe����/�xu����dQ ��:B$��K
+:��V-&�=
��q�H�3�ZD�!�
BD0�����TΠ�o {����V��=_��_n��'��z#�-_��~�q*�[�X�q�8t���P�l^�ݶ��M"_���^�m9m�D��f
ޝ��� ���
D*!~ d�Vw^~���L�br؂[��
��T�H
���tru���fH�F���s�
�j�-��!y�b2Q�Z7j�_յh�\�TH���fF�![����/�d2�=fӅ��b8�����	1����v���&�_>8.�n
��>���1�I�q�ys�L`^(�<�|�l�M\�7��6
+�
Ӑ�q��-/TvZ�T�D�[(]+��L��R$�8D����f��l�
+Y�H=���T(���4�Y��
	�r�`��B/�
8����Dy��6�=2�����{�2ߋ��3��7s�?-�v��^
��0�.�����Rz���;E��z?�.�P��4�[��9	8���
�K��6��u�Q5���Mg�&�&?A���]�X/Q�Ӫ9p��'���J�
�;�7��S3���2�{���'[��Gy���'8_�r?|a
+؁�-_��[������j�:]������&��&+�V�vծ��\C�i��T
�H8��,�d��^�(���b�k��Uj�_8���rg�P�}�_� _��^HC���n0Z���5
�~���#����w*i��E�P�T�Q摏2��L��>b/�����7��q��u�
}�9�K��RM�lG����u
�$��҇!������z3e�Ջ����ec.t%�]�i)��C�
Fb�v�
�NU
7m���5�coi�̐���P|��D�2��߄�=��x��Jk%r�B�&���C���nr���B�u��{��Ǟq��\
I�cS����cs�x�v����ѱ&�'����`
<F�b�Jj���_�ޑ
+���{�z
%("����<���t��5'�9`
�����~hw+��`CO���=l3w�r�!��ס�46�1����O���u�%����\"����j[U�jxϓ����L
G���)KPhh;w0oJ��1kO��~�uN��A��ȖW���<���U��ͪgQ}'\$@�gnJ��SB���Nv=��y�t7��1W�ÃY��b~7�̦�4
+ͽ���2�V�wV��-�]L��f) r)
v�Umq�#U"�5S`4{��f���\�cL�庹r��'�Η����7*�W��iT�Air�ɹ1Ch��b�R�����g�g�Zg��pK4����Bz�iDl`�35#��Z�z�
�E����8��'��.��"�;^�R�C���X&�(����\����qt�p��B��"G�l�[}�ռ�x�����\���&0�%����hzl;���6N���v�M���U�{�&����\q.g괠����9]��X$*���Z?��)��Xӄ<G[�
���U�g��7�*�v��?�
�x�D���gvHH�����A��=<��ɢ˹~�E[���4�
��Q�
��^'p��M=�_��
�QR�R{b�dn_�.�^)�enf%��ʭ��J�ΠV��a5�흰؁㕭��hw}
-�O�
z�ς&"���X�	�9�
9�w
bA���T�7x6�d�g��J�
+6�HѸܧ���r�SV��}[��SӼ�
qo�%(h���f��� �a��׿��yn^
+fq})c���9~�����
��
�L�q��mXu
^��Q�J��y��I�5�xw]A(!%���Þe�>@�SӤ�U3SYhꌹە��T������Eׯ�{�r�A+�(��4K�߳����qI��|ʽkSp��r��:dg���4W��]o9�C	��Ve'
� �L��S��c�Q���KB�Hp��}=��~������w��D(A��B�Z�8�
O{��
�J
+�{�ɻ����\�"Z{�':T�K;Z³���#%׀������,Qg���+x��"hRyi:�Q�*���$�	g�4
��Sy���
S��b=sҤw�!�ܥM��q��}�|)B�o\�H9�4uit�R�t=���\����A
��,��999�۽>=OR���E��t�	�C�
�{���+�V���0a
C#����X0�j6�[��B}��+���	@��m��\��
�k�e���

��KQ��}�r�Uh��;�q=����1o$%S=�'�w]��"zt}�H
�L��c�>ÌB��h����F�
)���Gݳ��#�[���
+5���ّʩw�
j�
mԏ�����U���i�N0��v�@���]�w0��t<9���t������i�<v?OZٝc�h�P������S�6_l���9��FfU�3��|%�ϛ�#F�<����p����Ydq�Q+q���.�l"�fe�5��ۯ�K�ېz���*�'����X�gt���
+>����+�p=\Խ�TM��>ְ.�+�y���lT�D�>˷Z�:$^8t��1�X�
�.�S���n�᫁&�	�{���B��G�p/�S��;ێ�"nY�c�7���D�~�j[���V��3o}t�Z����E�o�
[/S�ٳJ畤um�
AGe�	%�s�{|�X������3*EMN�
����1q
ف�x�[��&�eF����ه�Ϥ�
���*�U�
�_�%qH�kc��Cq���݋�Wx�l%��`���&�&�>���-z8�
�K$8���=z�Mg���
wˀT����
�u�xP[hqFT�@�E��벱+���݁��Lul��w��=�
��������6})��G�r;׽S�b�+JK�'M:���$j��ƥ�z�A��
�����fu��RA^H��+RF4ǜ�eA	�vpK
+G'邢��I@��ߠ���k��&�� ��Mc�%�;#�:��O�u
>Iގ��l��%�x�:�Ώ#��W_�D24��y�X�
/-g% �&�M(�2�;��3�z{Ԥ�n��İ6?�w�NE2
��gK��La�Y�g����ɮM��9=�w''ݴiYT���U%sy�X3�2R緰90��Dk���ԅ���*�RK��&�שqw����}�#�n��(L�M3��R;j��'zR
�$��8�e�VO ��
�����
+endstream
+endobj
+3100 0 obj <<
+/Type /FontDescriptor
+/FontName /VWYYIV+CMR7
+/Flags 4
+/FontBBox [-27 -250 1122 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle 0
+/StemV 79
+/XHeight 431
+/CharSet (/a/b/d/e/equal/i/l/m/n/o/one/p/r/t/u/x/zero)
+/FontFile 3099 0 R
+>> endobj
+3101 0 obj <<
+/Length1 933
+/Length2 2943
+/Length3 0
+/Length 3560      
+/Filter /FlateDecode
+>>
+stream
+xڭRy<�{�&d+�XFģ"���VG�D�d_c�<�
c�C��^a,)�-
d
�V��BB��d����=������y�y�����}}��75��B�]@=<�(�����fj L^�CBB� "�<NI���
��s B
�����!h�I��;��>�]�hy�

+���DwЋ����x$��-,0���0}A�?���� 4E\@7
��ݏ���,������A�/� E7y�[D�qX�]9�&x�,�����������X�����
����`I���^�~D� �� ����i�Dc��~g
�H,��sÂ����W �M1D�;����?� ��	��~X�ꞵ4ӳ�������-H��4����a�0}7L `� �� �
�������š�h
�~� I  I
�#e `ph0  �~��8<����$p�8��IO��^��`
+
+ �D� (��G��@	���
���j ����T���F@
t%����[�y'������� }���
t~���$Ξ���� 9Ee�n�@EY!��Q~��#���7v���� ��z�҈�H��V���_�"�x֭6Ѥ���&��$F,���Gz��f����,ˬ��
aߘ�+{�V�|ӆ�f��g)���6�(Ƥ��G���j�,)3^x1�St�6�#��d񮩔��
�8C���������
kY)	7�I�)�V�zs��f2���(�:��U|��V.[Nʞ�:�!T��lZ��lNs�0/����[{g��
�͜ ̲���u�g�q�<+�� M�n����l}�����q���	.��w~$_����/�!��<�}����K���Ζ��N~�%XvMؔOe!��
35z�4�
��! &('q�Wĭ�SX|bH��_�Y���|dD������
ww�&V�N�H�WGo"3���
�#\��p[����k*���s�J߭��S���r [...]
Eٞ��ւc=g�w�q��.�M��*[�w0n��,�R�
�ƾ��"��G�h	
��nS�
+��O�J�!ӆ�ݐ=�X����s0e�͡ ��s)��T��&��jq��v�a�����:�3�d��*UL�U���%�s�VJ�
��ޘ5���\~�j�6˻��V6�O\%֢�zl�'��G���vb�Z�\�=S��M���"�N�	��=Ӱ��,�?�UNx
�2�a]ېA���W��p
Im	���HU�?�P����|P�)�4�`⹢��K �:��Q&�����ئ��'o��l,v)�
��tM��@ތI�s�A�cDY:'\��5��q�#�䜺O9#�)v�?������2E�j��a/U
3?!'�ڡ
z���F��Z��f�a���R8o��M�]?�N޹��6}��D�#djB����y�겤�L%�:Ոrp��I�>}�4�˗Bv�M
$�g
;˞6^Z0�jLFD��X
+<)Y;�2��^����}A��-/�J99�l��NV��3����g(+H���<�W2��t7�(m4�;��8�?'J���al��<�RQ
�@�&���.�=���
+9��m�Sx5$��Ls�df�m
�a�{\��(�kG���S{k�z$!X�?:,ź�CD{���
��,#LԾ.�u����K�\�}ڪ����A��;S�ߋX�tA�z��$J�M�o\3 �����5����� �p��K�p��ȓ�:���ex�J-��^u2��M��_���@a������ �h0�$"~���SR�������@�Z���`���G��v�Fg����W�X�=A����#
I�ԆmA��ؾY�|*|W4���@��D���+��K���q����p�x�{��o���V��TԺ�l�SA��#�k?Z�"��].Uh�e�+�*��]�m��qk�ɀPn�U�j�c�s}�2[����^k���E���U��i��;���C�US
�F
��w��-%���R�9
7�
+D�"��6pD�Y��
+��߆�V��XlIF��$*ސ
+�9pIx|��ȴk��:q�h
���tT��^��L�u��skz�v̜)�ؕϘ�y�zu����9�5��O��N��8:>�<����r�Aϫ*/��0��O
D��%�~\lNnzD
�,#[�=��M�m8�4a+�^r�J ��x��atqȓu��O�3�gw�����������n�K]b�J�ժ=,e�����u��DL�SH���Ȥ���@
,��n*0�"x�M,�ٷgQ�aU���KO��+�e!OAD��w�gu��s�FQ��];.J%����3�M+l�Ď2PC<�!��N
d���mL��͖���R�
��*s�()�����oHcgC+i�I�1u�L.�~ț�2�5˩��'�s��KR�I�a�����"T�K�Y)SL�d�ʢ��LU�6c�nƞ��
����}ϼ��p2��RDnj�U$E=M3Tb�^�g.�4g�1�xo�$��Y��?&;����mg��ե�e�2�a�
.��0�cw���Y4��sא�E(�~Zw
+<�o�됧Z���p����,��\�ڵQ]�^�-�β6�:�mL�[9u%�lHǯ"(��m�<7�ml���~��兓wj�'�M�7y��ފE'\!��ޫ�x8�8�Q�&�]
i�H:v��׹Q,cWX���J�
�˳�ry����"���
E���E�.ȉW�˚�Ե�T���͙�
wQ-諣
�}��k92�<�<��V2I��\Z����."�h�aZ�l(�Y%kf����-��%
+�8c������Pnd[�Ɵj�E�끧�
+�[�U�o,#=m��|�Ze�k�
+�Hg�n�z*!�M�M��e�h}CG�n-:������RUqq�o|���Yz�
���p
<�����g
ެ�GT.\��B�穾&�s�dZ=�%ᥭ_��9��D|��?W����%��kl=�/�P��07�d�z�^u�_Bt�s�$���.�^c��N�W�>Q�X�1h�0����̺
]�|��R���q��0��U "��1
Zv��#謥��������i�J�)�1�
�c�:^+���
��D8F�rϽ����m8��&�W"c�#bI��dl:)�[ْ`��FR��]�l?
Fj��N=zBM1��SR�8.Q��^K��6|޳�
��Ýɵ�͔*�gh^q�~��;]�1�&J���;S���$+���@곭�)
޺��X�w"�qЬ�HSG{�u�G�ml7t�r���r|�m��*0�펹�zI+P/î��ʥ�ccLW7�f�gŇ�}Ŧ2Ż���	%+H/��!u�E�R�t.a�9�#؝G���M'��TP�OX��W��DJ�#���~I�<���\����r���
���(i}���L�����f&�
-��̆�YULI›�6"�o�t�[j�<�6��(���u���E�=''��Վ�f�t�H;ӄ>����z��+OFd��9���1�k�
��t��q��L���g��s�he��(9�Q,��7�c�*Ki�9�C�Mz��~Zϱ��B�w�&3!
������81����
+endstream
+endobj
+3102 0 obj <<
+/Type /FontDescriptor
+/FontName /EBURFX+CMR9
+/Flags 4
+/FontBBox [-39 -250 1036 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle 0
+/StemV 74
+/XHeight 431
+/CharSet (/a/d/equal/h/l/m/o/parenleft/parenright/r/s/v/zero)
+/FontFile 3101 0 R
+>> endobj
+3103 0 obj <<
+/Length1 861
+/Length2 1309
+/Length3 0
+/Length 1905      
+/Filter /FlateDecode
+>>
+stream
+xڭRy<�kn�Ҍ��Qɓ8��"c�$IYg���i杙����
�
-j
+��	��t�
�,'K��ʯt����]#Y��^:}��ο���罯�z��z��6[�M�rb
+�@�|�G��
��D �33gD���F��D
+���l@$�Κ`G"c̀�@(�l��;�����
:x�%
���`й�&`��D�N\.�N�*$�D��!fH�
�
�1�iGn|� ���L��+�Ĉ)`��\	�L�+L���{
+�� �������7I�\O:o��LJ���<�+�G!�	�H<LH��^�}1�1a)�{�MB��
'>�
+�
����ś`��%
`ѹbh���� �����:o�m��g�3�7
�K�Ʌ |S���o5����@�@ "B�����e.|��	����d
�"]�A6�H �`>�H�8���	r �D�@��
�j�����`q(2�49�� q!
ė��F0.$CaRdx_Q��|���Q��C��s��oMm^ȕ�����ۆ
Y��5XQl�w���L&E���!�_3�����f��� H10�
����sw]W��?�Rǣ'��{�5K�af4��Ⳍ-�қږ�P�Z���aFWt{q����4�_󔗯
�!��hz��ʳڟ,W����O:�fhW"j����U����UcS��v���4h�hA=iab at n����HO���/��}��1��<ww��oR��e9h���v`�Xᵵ�>�Neu�m�̩y^�Je�F�M���=�]��(�Q���z��ŧ���BcJ�6T�|Z~��
��Zl侤�}5gҠ����6�e�����ŏB:|�I��ܭi���JM�{�hcdXfѺ1_��h��;緫��k5-$�:�5;'N\B{>�PZ{H�F��s��zol
7<u��
Û�]���'�.&ދ��F|ٛ��Bk���z��~�ns�����[L�do[;SZp�B�}=7?���Xj:�#�>�Rm|ٕ��
:Z���^vQ�.�y�
ʢ܇��sE&&b��W�hP_�q�2�ԉV9
�U��G7S�_&��;������1_P��$�:eO�5��v�2���	�^0Ҵ����Jԓ�b���i'���e�Z�ge
�4�\�r؝i����Teg�&ŢJ\>
�b
�v��˛XS�������
L�Z��Z���y����嚳L�ޑ�7 ��S�gb^�,ԭ�V�<aݪ(4;Q�=`-��d�wp�����
�Q|p*�p���	��������b;�_��Y�b���z��h>��&C�Ƌ��A�N-��t�:�M'��h�����I��@jP-
���8=�:
�-�kiОo�|w#��KR�MUF������r��-8��i�y%��IZPwiP�E���m]������L�l<�l�fEM�E*z7
k��T�YyX�@[�n$�ê�[�e�Ĕ��ώ��
Zb�;e���.ԙg�"�"3����/eO�umn"������
���1
�K=����V�Sk�����Ek/�_;t�v\�tL�(G#�������?���3�w�7�z5xH�|'rUj�
N΅D����|oB]��o����1^
��oc�s�o�ZPb��F5�8;x��U%��u��Њ���E5OQ����Ƴ���A$X��"左�.��!��&�M�־��*J�?!9�ޢZ��1'�|�H���Uu���
���+�����Q�
�[�5����
~��k�[ݱY9?u��ȿ�kr���w���+�/m>�Vcty�BV�
Κ'���=��ş���O�j]E���6��O�e�����Z�Pٕ�J���txY�e����勤����b�[���?��#,9A����]כ��
F�Wa?i���2'\[-��55.Ձ�
Q�.=?��	��6^�}�?1���
+endstream
+endobj
+3104 0 obj <<
+/Type /FontDescriptor
+/FontName /UUCYST+CMSY10
+/Flags 4
+/FontBBox [-29 -960 1116 775]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 85
+/XHeight 431
+/CharSet (/asteriskmath/element/lessequal/minus/negationslash/plusminus)
+/FontFile 3103 0 R
+>> endobj
+3105 0 obj <<
+/Length1 833
+/Length2 1649
+/Length3 0
+/Length 2223      
+/Filter /FlateDecode
+>>
+stream
+xڭRy<�k��*�"*�l!f��~�C��6֌��f33�9�E��FBL
+9��v"��(��'2e�,:C__�����{�y�������~�e�
T��TȜJa�"�:����U ��B��&t�$R)�X&���`D �k�#t�B���Jcщ?&8b��.�Fd�N�a)���ȼ8,	8PqD��RF$@�w0 b@�`�&�@ <�>�H�����R��7D�NCt�8�3�x�T
+��̖�;
�9���y�y�d�%��_�4�L$��#��iAL�l�x�N�Y�}�f�A�YK&�D�Q$�"4��H�7��0'�Bx{"�|�$��C��Vx�m�9�����|��g�%R��,�?�5�G�ˈN
�p58
����?�eF�Q�D
+��4�NDz��Q�(C "�(�g�F�2y-��L�҅֗�0,����ۉ�:��#� ���`��1�鿰�1 �щ����������x����a�@U�׎@�k�c����������x�}���@P(����t���U�q"��;o
+¶-��~߷�S�E�G8�rN��yo��tI
��^�W�h{���u�[U��n`.E���^9��b�l_SQ��|蜞
�FJ��>�y^�h�G٨v�
�;c���š^����d�ÒZ}�[7�g
r{V�d��丣�k�=�
+]��z-&!��Q�{"�����

>�sTS��U{���/��!;�lmq5̓�
��6�TBz�D�I�������3��l��@q�aB�.Q���攒/�]>��X����rŰw2�*�ߑ��Q�$$m�T�Z�އ��
��)vr=�p��a��)4�%�J�!)5�|
c�Dz#��4p�]�{���·�O�j]���
+;����:�t��)��k_�T��Ys���bq�+[)�����J �QSv`h����-*�!F�XH�ɐ~E���AΪ72��b���SlL6�;���3g2�_Q�ں���<���)q�;��
3��
RR7�@�T�<M��W��O&ϥ�;[�0k톙�.�w��y&�Y� o١鷲ϟ`�gDz�&l
�̟=�4��
�MJNJU
q����/
a
+��Z�
��^أ�m�/��y�⢡A˰J]�ʵۃ���z�
/�U��ľ65%��f��7�Y�<=��hz2}��s{O����L29W_�<{���X
r>y�GN���{n��ۣ��'���+X�`�=;��|���؇��եNܗ�Z�L��&��
��/�{g^���3t���n!ԧ��
����./�����m
��žn/���a�g�G,�MMnX=2�Ÿ�$T�; �q%sI�)�^4�m�?Ye�
�jX�sQ�ʧbf

��^>�P5���� kT�A�^�U����� �>��H���|���d��-z�.W��	�1Z��h�ޮ
5'P�S�ѻm�s�,fiJ��W�����̈́k
��;�u�:ybhtFX�O�˹�d�%�7�K�J^6�i7�e1�!W���쵨W�m
ב�l�0�d�%]��s��i�]��-�����h�>�fdk:��O+����x�ֱ-s�C��9��d=A|w�S{ݐ
�/��vi,rˮߞcF5�jH��:
���v
m�����k�ӆ ׭���BZ�qd�=�O��?�i���q����K��7#���J��N�^v��f_м<�����l�j٤&��uq��{��c����_�������g�åZ	�"����>��}�Kf�R�����1*dg�[ZY�����\�����ş)[f��2]m� ���9���@Cu��Ĵ`Q�U��4���l���€���
+�!�g���;�IEr��JV���nk
a;��X�
��~�c�h�sEPp4�]���$9l�pȓF�v��Y6˫���<�Z��XE����G��Ny�G�3oOe�b�fE�x2�+|�|�3�^�pl�cX눫�=⠴
I���JTG�)YUL��� �'h��,dʓy�`�A�Ws�
�nC��-r��U���dU���]m�M�������ם�P§ߛ'
ŷT��dv(	_��Z�F�P4G���zu2���π�\�To�CC\��]p���ˈb�V
+��LG]Oծx���慫R��
�����
`2A�������D͓�:�=#bʄ�	���G�m.
�3�^Z9rJ�L����1�T1h]%\�����_m�6}��6[��7Q�J
+endstream
+endobj
+3106 0 obj <<
+/Type /FontDescriptor
+/FontName /ATFWDW+CMSY6
+/Flags 4
+/FontBBox [-4 -948 1329 786]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 93
+/XHeight 431
+/CharSet (/asteriskmath/dagger/daggerdbl/prime/section)
+/FontFile 3105 0 R
+>> endobj
+3107 0 obj <<
+/Length1 763
+/Length2 673
+/Length3 0
+/Length 1198      
+/Filter /FlateDecode
+>>
+stream
+xڭ�}PTU�CJa�
�t���q7p�eŁm�%�
��g��w�]���v�@%5RC
CE0���DH�b���4i�00Q �&����6���>�s��;�9!A�,���`
+E2<��I�,=��X�񅜐
U
��d% [�R�`b ���0�X�	2Jo��6�a�p�)Hu�Fj	�UL>Ա3�*dQj
H	d:W@&4@�q>� ��
ȃZDrN�TRC��97��[&HX(�B��H�p����dI����S�!W��!=�V�a��@��F� ��!M.�n�sl�GF��n*�"�ZJj	xX4_��x��
)�
qb��@�"
pV�$��MoD�1#-;I
9w��=�
+�L�E��y�ƞ�lF42�\!_(�X#�����`�դ���"q
PѴ����Db1�b �84hf�|�b�%�M�h(��T!�i48�Y!:�4b����JJ��V
�y+��Db���Ǩ6�4$�ٗæ3_k�(�f���ݤ����;�eYC�꺞S/	ܟ8G��|�s��S�f��di��cdžZ>��n��N
_�C���-ߥ���9�RQs"��bq�V����b�ҿ#C�R��V�Z!頇ٸQ}�ܭ�#����u�������<��~I��k������
�a�ѡ����F}�j座#q�N4s˺�"�7��~7���xwv.�]��Y�0�/��]�/O�~"��W��<<\3��_�#�j�H��ᨎ��Y
-;Mi�g��W���+gpLJ�S
���vU��_���v=4/���5��b�����e�10����ƨo�Xgܹ�]^�){�c�'��NT_]Ե�Q��M�
+�^#���6}Vt4r��Z�M겊����}R��އ����G{l�V,-R_痕6T7�4>
�p����r�G�
���[�;�~W8�m��M:a���
��>T*#�՜R�Atm�bU�-��
�ع.��\��p����pG�l�r|[���?,���ך�B���1�Oޖ��8��l���4ojzD[I2X�X
���`_���E�:�gpf�ҖO
��
\t��q��|_�X��?�R
�8x[IKܨ��'��j+o�K��N�~}qh$ȴ�Ԑ����EnM	���}��k�Q��5�	X�wP�m%�i-�
4u����q;����M븉��s�c�� ��n��������^���?s�=�
+endstream
+endobj
+3108 0 obj <<
+/Type /FontDescriptor
+/FontName /ZQLTBN+CMSY7
+/Flags 4
+/FontBBox [-15 -951 1252 782]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 93
+/XHeight 431
+/CharSet (/minus/prime)
+/FontFile 3107 0 R
+>> endobj
+3109 0 obj <<
+/Length1 792
+/Length2 1349
+/Length3 0
+/Length 1899      
+/Filter /FlateDecode
+>>
+stream
+xڭR{<�i-��䐴y�03�0�X�&�:��Ҙ���2ޙf�)�i�-
_QZi��9�
*�ՆVZ2j�7�(ہ
rh���~����=�<�u]�}_��<�z^�fT�
�8�1�
"@6���7p
�$%CC'.B�Q6�

Gl dm
*�	 
+ Yِ�6�T��
eF���iӂ�
+P�.J�a���G ��
t
���(�
��b��<���>&(A�Q:�&�)
�b
6���|�gj��IMc��M at jfc,��у-��H��?L-m��g�<h�
�B�M�FY���hG���
#\l�4 ���
�Q~�R���P:c�`YH�O�sFc�
���Ac�E
��V��-!�����2���
��H�k��Z���$�I���y�d�v�ΆQ�	�K@�ri%���B�@1�H��0���q� MFl��£Bda�)
KJ���?cp8�` ��—\�yiGGvL��9	�YK�C�
+��������r
_�V��>�
T7�� t%Q�n�y��HI�����/���w*�E
+�w��e������
G�$���ZQ�׺�mO���h�x$�
�_S^��{a׉xJ
��WKp()c���#��{�<wX�c��}v6��T4n�����
Ǡ���'=�j�}�6믳+��ij	�Cݳ:z����}�^�|@'45.)7Xuĩ�x�Vl�{&���,2P^Ϣ��겣:t�ߋE]���7͍��Hz����
䶹)K�|}�����w������*[��;��;;��;Ӎ]8��3}Z��ӻ�oy�͘�
�0
�~~}*\�zk[X8ggR{
���k�s������<�e��=5�{�8�m{���e��;˕��N��ҫ�lk iL��5�kЏ5L�	�������h;���
��f���N
3)��|:�/B[F�"*���*��
r�;�D�N�p�z�a������o
9�W0��_�X�n�d&�M����O���O�vN
�[�q��i�m=�7��[��N��N.z��Ko�\��w�^|

��>�g��`*���J�}[����"s��Ɠc��YhȃW4-��
^���^)�O} [...]
-�7
��~��
���c���e��#s�M��[�k~��y7��,�Л,��M.s�uc��^�^?A�C�����e�*�F;��p<&�����;�XW��e�M��
�[��ÇOn\�g8%9<K�<h}�u�
!��\�/O���5C]�:f�s�y$�Gu��jKO�x:�cJ��Q�e�̡�C�F�a�o~I%
wz}mT��M�U� nj�D��*ir
����Q��OB���Z���ު5M�8:�TR����2�[� 	�/ʋ�&�h{��ִ$v�
e��2g���!�
Fn���	{��/�
N��]�=�<Nm����5ٍw)�k]e���+��浏dMSm�Z��o�o��[G�J�+d���l��9�s�N�o���U�.kť�m;�|-~>�Q��Da@����w�Y���������]b��W*�D~b��!f��!�bD�;j���]���
+��
�QΚ֙v�dy����w���.@�
+�s
+��Ņ�����{�M\��m���έ�r�
+M��J��+�0������Qy���%3B,3���1A���S�1|�'k��j�WU�UP��ګ���0����j>:�Uꚤ�7�TOQU�W%
����I*�N5g�&e�����Ip� ���-��x
]7���Il�
��˃'��L�?v(	M��>m\�Ferb����g$�]��ݰ��ڇѼ���s��:�k���܎x����萕�l���
�I�3��K�G�3��B,E#�������\�O��qE�����銻�������'=�1
+endstream
+endobj
+3110 0 obj <<
+/Type /FontDescriptor
+/FontName /JRVZXP+CMSY8
+/Flags 4
+/FontBBox [-30 -955 1185 779]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 89
+/XHeight 431
+/CharSet (/dagger/daggerdbl/section)
+/FontFile 3109 0 R
+>> endobj
+3111 0 obj <<
+/Length1 815
+/Length2 1151
+/Length3 0
+/Length 1723      
+/Filter /FlateDecode
+>>
+stream
+xڭRkXSW�axl
u�
DD
+y\ D8R�)/A�I�M�c��Ǎcx���`
(XE�Q�8 P��

+Eh�(�D|4Z�-�����w������{}kWgA
�c"$S�T��72&�@4�Օ�F�8�)>�@~~�h� b�����b�\S�Ԩ4k��"��5**@��@�D�Pb01��:��d z��D#D�	�i$0*Ɓ��
+}�P�B���*�R���0�&�a�2
�	��LjY���aj~��L��g�φ�;Z(Ge��0�R�#j���Z1_�
y�-�Q�|>�
e�����@�|h
o�Մ��, at qq�edG�|+DzsF��`AP�Ǜ��q!��cuJ0~���o5���I
�B⼽�̛�c0��/�/��B
�A��b2�
�F2�I��N<D2 �Ԥ٥z�PC$�j6;ɘ%�p&�"G�1/�!
���{���R���Q�V3�>�� ,SO�f �s-� _�b�
�#k�jb��o#}[KPb
���IC���㿕�+8�\�[cA_���vbȪ-�1��
1�ʏ�����ã
�픍ח���w��g���_�j:B>�Px�X§9�V�`
E�_���ɰvU�������ݪ
3�p�
2�dw/����P����%�G���r9k��j�́�����1��+P<}훈0ER�v]��Fd>'�H6������<,�
�\{у|Y�ӵ���ь{S?l�o�:,7-ō���=�%���m^��9�5�l�*�/��i�Y���s��
GFJ������j�
+y����W�R����{���7��j��u��c;.��.�g1E�q;�|<�8ʯ���V
��!
�7�h}<��Ŏc#�5
�����2ʲ@}����ݐcD�����y8^o��
O����s�4�=�;i����gF��h�\�Bb�CG��'ܙ7��A�><�/:��4�	"���t�Aw���`���j�`A]�6���@� ��
+�{ �|֖F�
�n��H��E���K��'����+�n�l�񼟨��
�=ZJ�Xn�2�����^���E����ʲ�A.���N)�?7����	Y�J�y��%��Ѡ|����6L܂�;,�.0[���
�
#�xK�Nfx���_�T�z7��T떼
�w��뿓e���~
��\5�/����%Nţ
{ 9��m��5o�M; �y���Pi��hè�+�ҿvʏg5|����":
+#�����O[��X9�<�P{.?:�����'G�
g� oj�p��`��89"j`¢zPS�u���ơ�����*��#�%������!gѳ�_���U=����P�ij��\=`��~�~�H
���
ZUoz�Rr����.%���rUs�
���ۏ�Y�8���a���
�y�����I5gɜ�T��'x�
+�%k�t�^��$w��I>E-��pR�y��ӛץg^�kO���}V�G
xN����QO������S,��
y��݋'�{�V�y�Ҟ џt�2��j�&.�;��@�=�]�Dx��mjE"�,~KOͧ�v~.�([���B�?�(�s�=���
b-�2R�VI]Y�^��w���H�&�������ष��z���|�RX��$��[��ݩ�
���_����G�������AS�u�b�}]g��#kJ}'t�a�th�O
�g�;^^�y���\I��=�{�h(�f-3��WcK7;
+endstream
+endobj
+3112 0 obj <<
+/Type /FontDescriptor
+/FontName /GCEPBM+CMSY9
+/Flags 4
+/FontBBox [-30 -958 1146 777]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 87
+/XHeight 431
+/CharSet (/asteriskmath/element/lessequal/plusminus)
+/FontFile 3111 0 R
+>> endobj
+3113 0 obj <<
+/Length1 781
+/Length2 1493
+/Length3 0
+/Length 2036      
+/Filter /FlateDecode
+>>
+stream
+xڭR{<�Y֛٩��J.
�)3c.FL���b"�%�e����ߏ13L.]f
��%ū��TV��Z"]DlR�Fm���mߡm�������y���<�9��bM}�Nld'��Bɚ� \����dm��b]S�E`W�r ${{pq ��hT����$J"�r"���7G�N|H�e1a�`
+# �J���?�Ņ�k���߹1���b�m�!� �����
c�s�6����Tf��>�РFe
+X�L��"�y���1ĭ��.H���a�Kq7���ɟ��
�m&�˓�I@�Q"!$ 
�
	�/���'o
����n2y\���A��S��ƍ��>\!+"h�
��/=�b�w@�����i��;�{>L.,�D�%:G�Ǥ��*
7|kcmcCRU��n�wm�Y�
�����S�Q
�
+قx��l(@q*�Dk�� U$� 
`�~��R%Bs�?�= ���TB�۶6�(�E��?�����h�@�P�-�
h�����	,��%Ul�q8W�1�A,LO7¢�v
���&m:�^��/p��fn���yEC���^�-�h��ʠ�3�KP�b�
c�.'l���v_tf~��8l�`�Eà���?��tX�R���m�9�O6�6��t��~l�������f�V�
HI�\M1�]�]�JMy�,'K��=iҮ�EuV�c�e���E�ٳ�jY_��';=���kCJ�G��cEsP�>? ��Y���!֝l{�/��@��~��٥��p�F����%BȔ��P$'����vlu^�;K��a[r���`\p�{�pva��-�Qܡ\Y4�c�#g����
K�&Q
+=�%�MzG��)�ʹ��~��J;ni\?3 շ����{[�M
���-�g�b3���Gn5����b"Z6�?�~t�ޏ
+vIכ��>�1��޹�e
�Q�_�ՓD����`�J=:O?D{�����J
�j��E���Q~�Fo�҄	>�hĤ�@x�ǵ�ƜV2)oٔː��L
p:��5F :�:I�<��
+
�
��+��r�[JC��Ր�ʱ
�r�&���
���qO���r�L3�K�>4��̶����p�Ju{(4������^�
�e>yͲ�^B
b�|�Pc0T��>ӽ�@���c`o�1㤡ۇ=�������'�E
+/�V�ju^�<><9��D���Q�_��z�:y]����;��L�H\��/��8~�xR�
�
+y"w㣢�4�hԒ��f�0�*^�)(2W�	�9����i%�y�Eٱ|��J���A��V�
i쥠��S�.���0D��_��ؙ�6�i�z�*"�����g8�N�c�����"�
6�+Q�b;5`��n���l!��*���o^
W
���hʁb��)�
ۜF�9F����oj
+�����lp?�w�a}�3�}?����M?
+!j���{�!���+�&��u�V�	�r� ~�7X��_e\M=6�V_Dl��M�0#<�x=������d���f7D�Q��;��}c��E��Z��mD�_�)��^|aw�}
_^����m�iDy_��)���E7��
+��9}���K��	,�s�
�j������
uS�M�[;~�r;�yBJ|0e�S���w�ן���kn��V���
��g�f���O����NC�G����z=�x�ؕ��W����z��l���N�ك�/=�i�Y���k4�x����)�e�YeI5

+%��|�x⏑	(�����Y�y��5�]�<��.��j����vm?'��5N�K��R�x"�
�l^|=�]���[ǃ��d՚�dkئsbf(�G]����;O�P����~n"�oʎ����
�:|���7Zn�z��Ʌ�:�ȣ��ha�2�1]��-�􂇳xGl,�^���M.:�&e
+��v��Ҁ������E��@�]�6�tV
Y�^j�e�D��N_�x�]� [�x��1[H-C]��k
��M�7KO�I5VǖY��;���V_��PT=��)
s��,YX�L�Y�
ɐ��82XQ�0>�s��И
+endstream
+endobj
+3114 0 obj <<
+/Type /FontDescriptor
+/FontName /YGAXLK+CMTT9
+/Flags 4
+/FontBBox [-6 -233 542 698]
+/Ascent 611
+/CapHeight 611
+/Descent -222
+/ItalicAngle 0
+/StemV 74
+/XHeight 431
+/CharSet (/e/m/one/two)
+/FontFile 3113 0 R
+>> endobj
+3115 0 obj <<
+/Length1 801
+/Length2 1229
+/Length3 0
+/Length 1780      
+/Filter /FlateDecode
+>>
+stream
+xڭR<T��_1�%nVK9��0��c0��1(���Vn�̙q43g��a���k[IJ��r�EZ*�lWr������rU�U�qn�~���������}��}��y�K�c�8�yH
䏈eN 	� �!>L�8�@
��@!�
Fľ
����T �  
 A��A�� �#�B��8D�1
)�
�����@
�8% �� �Ba.G���D/�#B.
ɔ$���H�(,���
�1����B!��!�!)�&A<
̕q� ��
��|�-�yr��R�J1s�=f�����P�
�ǑY�a��
C-'��
�,��_��o�
,T.!��B]���FbB<X.Z^
�q�0�.!��������a7
�s�Rh1�y˥�u-
+��軘�,��a����bY�R���b
�7ƶ��
+ �B�P@
�}_1����\������AQ�G���]]�  �y����d��a-�D.KŎ
�-�ƭ @޽���փ��8�9�8c�Lu��Δ��r�(
+�e�g�m�ċ��A���4� �/��4
�L�S�\6p\�#�������
���Š�]��#W#窊,>
7�M�`-=ڜ����tFbn��v<)v�h�u�ȗEL�?$����M
��']W��ܭ̏*k/�g��R��o��ʿ��F'յ��r�E�	�r��n���$V
v�N6�����*-!Ǩ��pi��ϩ�.���m�l*���/��Y
�96�,Z� �2��^�z
<el�N�(��,�v��ջ��5�m�t򖾌��ic\�WњUa>��b<��.!��V~J}*Iy-�������	�d�5jmU�:j��P;��~U�7�3=��
��4��1	��Կ��r�:JE[���ό��;6|{�xm�v�������gV�,?EU�я�P���DI��ׇ��(�S��
	��C{���/��6:^����z�[ �M�=a�_\��e0�u�
���kO3�۷�q"!�Ŕ��;|d���aO��Ṋ\2��;�>(�#�*k�(o�5��
+<
�%�HT��]DEF�֕A���N��6N~�]m�L���I��.3lc�qkaԏ]bQ�&��'ˆ�Y�K;�
�� Qo�9���ں����
8�L�n���(5mԮb�f�
�0�0���<�ۓQ�7|>?*JX��ƫ���
+�u��(kV*
��"��7+���~��Lj���@�9} �{}�?Pg	��:���d����NiWN�e��9�����*����:�gϽ���� ?gb�Nv�D?~*�jL����QB�tj�YYKn6s�v"�G��_|�U~��@u��H2A�횫��������3��+,�~1�S�u`�Ĉ@cK����m5�}�{t�
���� ��?�nyw�֭���'z��w�(��;�{90�:�t�\��٭s��娲���.�
<��an}�g�n��Ł-
+�>�_]0)��:]S�
���2x󡱤o(�|�W�z-,v4�p{������w=��9!_�5�u��O�PEa��/O��1
�BMJ~�n�Uil	'OIf���l(d�l-�3-r��߉J��8���3���-�_9v#�:�J�A]�٭�F�u�6�vw��j
��
�y;�;L.����:�(nOPG�����h�
��>�5��se��vVY
����A
��t��B-���.��_�_U7���
+{����{a��v�����
��f�y��an>3�qS4=��q�[<#z'_�j�O鈋�tC��i��/�3��k�v&����W�_���.\�
+endstream
+endobj
+3116 0 obj <<
+/Type /FontDescriptor
+/FontName /OAKMXN+MSBM10
+/Flags 4
+/FontBBox [-55 -420 2343 920]
+/Ascent 464
+/CapHeight 689
+/Descent 0
+/ItalicAngle 0
+/StemV 40
+/XHeight 463
+/CharSet (/Q)
+/FontFile 3115 0 R
+>> endobj
+3117 0 obj <<
+/Length1 1606
+/Length2 5968
+/Length3 0
+/Length 6784      
+/Filter /FlateDecode
+>>
+stream
+xڭVeX��$$���
�c��fb����;TR�n��n��V at Ji		%��w������u���^�����{�k��yޗ�QG�G
���� h
^~I�6���B"�x��P �(B�¢���H�
�à % (��� `("]}���h ���1��,�C �>��`v��� +���tu�!����F}
�v����0��
SumU ���!@�����:
��p@
�!P0�
�
��� A"��ߥ�x1X�( �r�A�m0o�����
+sw��P�w 
�w#И
�� 8���M c�C�!���D�`|0
$
+����]� LV
%��x�
��߹Qp����DB���%��a`0^4�@�0o��\�0 �ru�`rc�\��hx���1������Pg
+���`���������>v#�D��
��9��brBИ��p��AQG�!�١
���y���4����p`H��H�� 
+�#��F�1)��7�y�s"�$������'��5����{������
v�
�_
 s� Z��w������}�M���a1�w �h0�
�{�����(�7
�GC
 v`gL���
P��3
�h��� 
~���

�'�曆��!�g���o>}SSu��ߦ�t0��
|\1������o
�7��GX�#(& ��	���l`�����po�9�d~�?������`�$�����(f��i��x��c��s�1�c�g�a0o���,"ꘖ�������d��%p�?̵�Π �Y%�30-rE���*����u��̶��W
���.Jg���~�#��
�y�?���q��Y����
Lk-�1�7Z_}��gUt�K7�*�wp���g޳̧������6ҷXd���;�/��������<���J˕���"�y��5�[���a�o��ƫ��Δr;������'��
��R���������=��'
@��3z�:�?
�~9����݋ֵ��v��GoZ�
��<��ض~4/D�M�;'���lu��gT���8l4A��i
p�x�TAm$\ �=� J�*3�h�Ր��H�r�V��ғ�ԧ�;]�"����\$���=�
�h�}?}�QI���ÎcV�)^��6UC��������zAƜuR�6
��z�_�X���&���&�`��mm�%����6�UEwRI�ł۸?>YS�%�$�Bd�V��6�l��WC��k�j����%y����-
~2�w����/��J}ϣ����
��}���D_�l$�o#]
�
�Yl{
�-z'6�P�1I{�,
(��+��Xjp�=2�0���󣲿�D{~�:�m��B�M�w%��`<
U3�BF(���G$��!p���̻��o��66m�iζą>؇����#f���ҋ��
+�a�<	��]�����HA��pyu��k}�Ԧ���IiA3N��\�۾�i���t�r�I>�ɭ�Rk�A���g�E�"Q��.
UU[��Gi������k��q��/I'K�Xƾ0G�CcT
���_�ϡ��U.x;���B�ŗ#U
���9����KwA?������ux��lL��R�h8_���DHvRA��;j5d� i/�ư�\%?�o�Qn♴aD���$���n��M
���U;��IGL��OK�s7IdL�n4q
�^cG�
�r}6󍧜�1|O	�V�_r����HY�f�st��
+��T��uߪ��Ny��aW�<���T�;���b]��l���{
)
+u�0�T*�t�:{Kp����,&x,��?e�c-�*X~x1�
�$���7R��<,I۲�;��S*�A�#�8�v��V
p51$����"R��$�K�����Cҫ^�
ç�t����
�牣wԞ}��t~J
+�C�7���zbrךW��U��m̟E�8sΰ���8�u����e��s~:dBV$trS� :?B T�n�h0���*�a����W%s
=�ŧ̃��{N
�uX��eaBk�*"��M�Z%�A��~2޻�L|��B���T���=�������S�6���,)KI@ܧz�k��|���d
+:"|
�)�z�=���W�NM��-��nUv�sF�Jcq��G�����W�swN@�nd9������f�$&�?'�� ݊�v��
vr�	�7TSA{�R���'��wcpK
��[|���	�9Z���#/[�'�U��2���e�~\�&0'�
+8Z+�<3H�A�������9�=X�m[~��_y�p24����s�}�ť�-eA)�s�2Q`,�.	���~u�d�����|���*�݊��@9�f|5�������G����
�)
�yb�v���X���a��
+�iA>x?=��=��)
��1��0��+�mS���^�D�X���h|�����P����w�-둇-�
/�g�f$��G,y�3=`ip��y�ɶH��
<e(m5Mn��
�^��Y*a�b�
u�,���q?�T�q���
��e��=%�!¶���nr4��j�X���9�����gː��N)M�΢�O�S�rS���$+"��I(�fĻw̎N?򑑛���A����=n�Mخ9��"��A�\-	��]XPC��\�,����y�`Sу!�]a��v1i2)��Fe
w�7Ir}Q�^\�8��Q��!M3r
,��A���`��plQ
�nB���q3�����
+�'_�@����eG�^�\�r�
�m� �p΍�CȉN��Ov�O�h�I����#*1����>?AO�>����	?�n���HM,��a�0_��NGP�� ���+����1�9Z���
�[�\t$�9nVp�������Z�7�
�e<,~�>�쨸��w0��:�7�"aw┰��$��<�`
+�<Xz�"�������Ižc��h.��R�T3���4|���^"�+\~2�}�C<:
��Lѕ�/��N_�u{'���O�����
9^I�ut�[�e��nW���+=|D)�?1� ���u���B�J.?�|�\��wI�R�� =25�Dn��8,��U����	1���T��P�>~�ْ�
�˱Ȱ��V�tƼ���r�{+�Ï�[|�Vϸ��\[oE��+
�Y~]�_�^`n�ݒв���F���������r��T��[�w%����g~����z٤Mf��&�w����+�+�]�L�8K5����HK�	�.}�ef��FB��yH���.,�Z.�nvo�o��K@,5�@��q��&/�`A�˃Ve �k�K��J뇛��	^�N��F-c��S�$"��s�?��,-4�������%�DO���d�e*]܍�@�
3Ӥҭ�̍Wg�խ�z̓�O��a��	��$�*�	ٶܻ�'+�,=��
#GOV�A�k���M����+�������@#���:o#ε�&,Jă��O������sDb�n�������5j_��
+&�(�5'�m$T�UI�/��r�6B��.��J���%�u��c�ؾ��7O�Ёj���i��uYous,�O7�i
+��
+m���!�M$_"=�B�9�S&�p�-�R�q���W��,���õ�
&�$o�6
��ʍǔbWlL9~:g!��R�Ė@p���7�3br!ͬy��֜n+�I��oPC>.��X�����0�|^iC�#�����t�9�G��%?q�������]�͹:�D�]
+l�>
8��^u�z��	��?��(��xaW���߹��*`�F�ֿzM�m�N�n�
r�0��!�ߜLJ���5s�M�����m;Ѩ�;N��Szf
W�r�u���E�Do�;
S����&���}��O�{�p��g�館em�C�-+T�zT at e"73�.�P��:�Z��W�EM����]���R`E���_>]����"%��~U�m�*-U~�{�@?D��3
b����� I������ ���:��}]�ƿ���'Uz�f���JǴg_�wC��j����U�DW�kR�xU��
p��h|NL��,�:�\@�'3�+ֆ6�}�
ĸ���F����d� ��:���n�_܂YZ~z�S�����Y�n'ǵI�D�K��Z���i�r���oY�p"��	�v
+���eY�Ќ-��^������^�tZ
����alJ,:��(3E�;1)���N�U�A�ٔ�� �|�,�؎�_� ����0�{��XV�Y�����A�!!P֜Y\TbG%�ϱ�b�ud@=�@C0�<0�w^���x���Z`��\�R���+�B�P4�xC,�&ݤ����o�f�uq\G�Gf_hd�]{Ȅ�-p�>K��xU�}��"�Ǚ������'�}+��S��T%�-nK[3��2��%�m�L`� �FosM$~��E/�Pq�0�`�$�6�}�&1��W����v�V�i�
��f�KƆ��(��ٺs��[e�dz�t��/ǧ����?�k�ލ�I
�g�o��Z
�a���]iE���ܸ�Q�Z�P��	� `5ukt�x
+�2!��dL��wȀ=1_����V��������N
'���{�?p�����L�m~E�(�?���� /��+.
�	��m��	��g
���?4��>5������]��GlL&A�ث�����T���Fi�<��V$�~��؎����M�{ǟ�4���	��$��w�X=�WX��XX��eO�yR5��i��+���ɡ6�^/sK���� ��AW�
�<��dב�d�,;B��k�������5E�I�L
�/D��b��/r
WŚi2�\���JW6��|��H^��s���UZe87��x�,�B����n�|I	MN%�թ��;H���g�GWl�(����u �R���ڶ���c(1��[Ե��
R��"=k���?��E�}$�ҠH�V��>ȯ+��)�}e��yS!�.��N����:Eß�d���Ϸ�Ip�����_;s�K�>�8dg�-���"�����4�
W���?+�z4fT�WH�t�+��~�|��+��S���޳F?dãb�T��d���C_�D�.�t=��u
�����x�$W	H�L�h�-�8��ڏ�H��:#���, eQ��-��G�K�O:؀� [...]
+f/O�oz z#v���ТO�P��9%�I�S�W
+��KV4���F`�ɞ�ȳ)�M�����Vvs���
��N_�Vӄ���SIW���t�HFl��������C�+�2�og�=C��jܸ��O+EǰzO��Q{�g��:
R�UNX��s��E��	;
3� �5�`��@%O�4��H��A�mUfu(H��3�$��uIu�����U;
���"�	��D���Ա�-��q=/n��o
b��S��E��.�*
���6S����,
�7���Y�P�&6;�!��):��
���4�a�Sᾖ��x��r<���f��y��VN��H�_��j�;�UG���
SR�
ց�H��
�
~-i`IS�a��j
b�\�xpɮt&+Q��|q�Cx�G���.0pi�
��W*��a:y���
| U'���eN�)}xol#1./�[bQn�j��v�#S
�`�t�2��i�}�l��4�GwY��g�+���	��

t�|0v1i���ެ�m��̃���pw� h�4�6�o�M��$r�4y���G`�-iȻ2	I�t�c������ �b��qJ��Q}�
;_px��Ƞ2�Ɠo�?t$K�`�kvs;}�ݾ��ۊNQ��|=Puq�DQq�^��K�zR��57wV�cu�����C��7�	g$V��D*ƿ*%xM�O3Ye� �ag#���Y���c\���:HفE�|�Mv��c_.�GEQp��D
SA����P
ɸҙ,�3m��G�꓃z�QX���Z���Y؟�m��@D=�'��栐����	xҭ���$9��q8��K�
���
���sAo@��t���xw�����B~�$�K�+��e�W
WBt�}�{���
�B/� ��5���Vr���2�_
�dk�16�&��f
1$o�_DLң����X×X��O�>�*g��|�/��lfw��)@;�ȼj�r�h2S�Q6ca

�~�p�Nx�N<j��t��*�C���'�Jv�;ꖢ���y��7-���C
ůB�uA�
+����?Uc.�xP)J�7����G|��t5���B'��饶���/
=��˭
��A|�w�[��%1�z��zr���G��Y`Qu� Z⧡q�UlPŝ��]�C��X^��sE�m3�D�"��H\l܍���
�8�$

���9��
�uV�4��onA��q�|�`��:fc�����6�Ҵo$gE\�☧u��m���/_�丰k�ڶ6��D^�H7
��y(.���f
2�����p_�e5��U˫Z��k��
�ښ}�r
���t��ͩ��1�3�4�9n��O���pR��?DG�Tky�=���
���S����~7�z6(���4Rݗj���WWs؍N���>�Ćp��y���w��@{Mf�<3�Y_L=������d����5ۡh>c��f���
�SF7=m��L�#���fu����9O���7ؑ��~
��h;���-Q�_]���
+endstream
+endobj
+3118 0 obj <<
+/Type /FontDescriptor
+/FontName /SFYBYI+NimbusMonL-Bold
+/Flags 4
+/FontBBox [-43 -278 681 871]
+/Ascent 624
+/CapHeight 552
+/Descent -126
+/ItalicAngle 0
+/StemV 101
+/XHeight 439
+/CharSet (/a/bracketleft/bracketright/c/comma/e/i/l/n/s/t)
+/FontFile 3117 0 R
+>> endobj
+3119 0 obj <<
+/Length1 1612
+/Length2 15323
+/Length3 0
+/Length 16159     
+/Filter /FlateDecode
+>>
+stream
+xڭ�ctf]�.�f�m�
�
�mu��m��ض�tl����}���
����>ߏ5ƚU5�����s�EN��B/lbg�ng�L�������1rq�����W�� �����E
���v�b��@
�� 4�� �������v�
�f�� *5e
jZZ����0�����;�,�l_\��v�6@[���U�@��9`ja
�*(���� PIȫ$��@GCk������1@��h����9��� �ٚX�S��_,a'�!��
hl�w��h���`t��pr���p�9�:�큳
��������v�"d�h�7���/����������3�oVE�����ln��On'��n����H;c�J���/�_���������O.# ��������o�`������dak�_
� �@3CGk���_����t���o���[{�k�ݿ��
g'��)
3�ߜ��s�Y��1�3(R��v f��M\�������Q�33�I���Z{ L��p��v�S���Tf����A����[���'�j�
�����?���X[���
�_0��7�
@��
cm���
+7�����?l��@
�I��H9�m����_A���m�p�n�4Q�p66�Z��Կ�j�&@Gk
[�_E��L =3��T�-��l�i=��]@[��$�W�Qg��S�����;�_Q��wV���K��"gg��`��ع����@zVN �߄\��?�����_k9CgG
w��ߒ���U��x�k��0��v&�̊��������_���.��U�׉�[��\�kЁ@w�1�ʢ�1o�ejF�s
v�Є�v_3�P�}I�ja�_�]�oj�6w��{uC��g�ǟS��}i���
,k��d�e
�OR��|�
�vN�F�Ĵ3�H���--&���	%e��w(©vVG��'j?R�|?
�G{$㔺������3���Gʁ������}|��Xr^WD�?�l|A-�r�0j��F����O"�./�\r2<�p�WE��U�6��Dȴ6A�9Gɖ�
+M�빩>�)�ٜ�5rq'l�F�ɀ��+���
�oC`�T}N�^56U4��H9���J
%un�P��L��a.H�-�N�:K"2����Y��1I�
F��=�V�g�&9��58�
�M!'�'�
�
7b���C��Z�㒤EgJ
�>��}�dq��0�������
%j
Ͳ�O�#]E�ȭ�����|�B�bI����3�B��N����7m�R�O~y��
`���� �.i���Ȭ�m4
�)�4Y��yJ�����
ކ�V��2C�~��`E���"���۲���>ϓ�:BZ�i�Y�
!�{"���E�u���y�E��;)�G�X�
#|���6*�%���D[g9t:
+�?+�=��������(��C��nk�"�jȮނ�J��j�C �J��y
�9��
8�a�OL����^@I�3�O�|�F2]�*T�%@
o���*q-�秊���7c��V#�)���^�
phuj�wk�Ex�_ـ�7���'���!�O��yd0�?g����-z�S�Zһ�Y��ZO������Ͳ��9n�Fm���"�c�Dc�8&��bE�+�wȪ�QLo�g��"Ll��kO	�6�d
���JjQo)N{4�5�Ǥ���&��j�O'�-}?���M�C!b�1o��G��CW���$K at b�j��S�ђ�'��$�ƿxxL`c������R0��M �)?���
+Vv�c���-8�
�=�.��9(��gz!��QH��vE �wn����O�|����B#���ڦ%G�&���u��
+��-dʪ)4���ۊ�:���
_-��'?��{���IM���2���
j��GVb�*��k>��V)�Orh��O���_�t�
!�
�$^?hT���?U�LmO��^QGD^z��O��
J���3?	�賒������X"�U�)�����津%�.[�7�=
e��y2��3���I�ΰ�hw�@�����Z�SZ�T�����d��J���|�E�zG�Eb�c'K��?�E��"�x��x�J�
a������d�:2��!Npx��=#SN:��C�`�9)l���hZxq����H�H$��:���!�y��^e�HJ�B.w1�e�j���1+2��G�:�&���e����L�Rj�i��8��� ǣCጠw�Wl~��|���8�&�l��W�e�H����)X��؜N
\�T9�F���es�菴��W������
+�1	-Hzf�ޢʁ���I�
��
�F�R#e��S��j at S]LX,��:>���\Y��e�{
J&
+��O9���)G�Ǿ���֤Q�y/���r��j�&�'��J�	��\��UqD[l�̄�D����ϼ��C*u�����.�����{����f�j��ϕU!E�xW�w^�,�e�G�ė���z��H�8|]#��P��z��YesZ�
 ��/*Z�2�.�:㶭KQZfZ(S��ۤ��i��^�\�)�
n�W�ɱ�\}��i}Uk��w��G�_������f`e�-�
��U�^
17�����ԇx����O��,u��!�|�6�u?����1��������Ե  N�o at H�+(]�����Ӛp��l���ht7�aJ"����>
!�� P�7�sc�5�"K�v�!�,H��]��y����n�a�_�ne��2&��E�
#�0X��<�;H�mh�ꎸ���(���ى��ёsnj�G�k���L+�B�X��C0eʴ�Q�zH h���tX3��Ԡ
��j@��M̆L���(Ⱦ�]rZ,�u
iϳ(s�1�v�j��jZn��/
Dys:���
+n�̖��>X��W�ͨ7�?~"�wzY�
M��������^g#9ֿ����gn!7�c�� ��:�<�
5�k��ܲ��My��{{KvD�Oht,LSX�D�H9{iQ����ҁ,��mw��eWy��05��Eu�qK"־�0�'`
6� �#S��<�`Hix�_+
Z��jQ�t�T��
vQ�R ��O"��b�ZElI���OO���3w`�OYd
w�2��֤ڢGu��H��l�i.
=[@������r*6�u�ˮ�ç�S�E6La�_ف���U�G��\�h�Kͧ
k�53\�"U�b�g�UL'��[���@��e��a�ۄL�A�U�=�+
�?�b���m<�Ŀ#�
u{���~[6\�3�>��-�-���/*�D�8c�)_��Q��{��ܷ�nm�%O!w߫�b�J��A��Gɳ�Vu�>|�uN 
W#}q���⬂h�	է�ݽ�9������m
+�7�Yz��fP�S#=�^_>5���/��5�QV�
�py}��ǀ�`c��W�m�0	��	�G�̏ ۺKh�.�y9.���N`�S�@ �[ kT��r�N��
U��>1�{f=
#@���K���Rh�\���W�Z&,���U��nبc��g(*V�or�G�g��Sl�Bϖ�&j
+����{��S�?�/N!��)�5�(1d“a�(l���Uj����Y�_�X�O�C�y�ߌZ(d�,ꐔ��n�Oލ)�{��~��:�fA�?@��2�O��cl�6�
)/�| 9q�K� ��qS7�����I5�4k��:�E4Ēe�6�_D���f�Ȩ�$����
+?��a��;V.3�M�d�8%�}Y�|G
���>
}<�3���@�	��r�-XXg�87��>p�"��P�UQ���|J�L��V�=������/Vc�;U�=�����`�u�K��B�5���i����������u3��-%$
+�� Ub�M��̰Y��B�!�\�~��
��U
G��´:���a[���c�Yw;�j<�>�ܮ��S���#�R�ƃF1�'(
���t������H&�G�ſ���b���@��a<rn�g���p���kpu�E��nT�+�QK
�9�P/&z��bV�6���pT<����|0<��#��d�Z��{�^BW)����@K
b
�`�v��4��>c��e�{m��B�>m��L�����`
cנ�\�
I��
�yC'�8"g�
�cn��
9����
T�3ہ��'3��07���:ޒ;�}��z�RT�?���L&��A��u1�}�0D�1

��	/�)������hQ� ]ʹ
G��}S
C�{4}#�b�H&YU����n�y#K(n�+��佹p(]��S6��X>�ψɍ�qI/1�
�G��c�?�t�����\ �s��*��cĦ�	̖�k�
�\U�	/
+K��W�8��ܔF|�d96j��9�m��W�u�ۥ���j^������b��}��l
�w�.s6���

�0%Ԓ‚��k���J�X�1)�vb�ӊ.�Pm�E����'�}5g���f� ?�TW��qˮzq��!�s/y`!޾��H����`N�+�U�Q�i R�t��`�x����>�n��"�wɛ�l բ?e��B�l�L;����yb?[�荥<�
@m�7��5.�%(JAS=�4RQ����K���NO]�U@��F��?Л;�z��^H̝5چ��.�Q��]��؟P�y=�����p��̧:d��dS4�g��V�"���Ѓ��s�XAi{�t�kcn�����]d<�ԍp膠
�;�|�ȉ�]���
+�ۛ6�?6W
Ōi�T=p�-d���_�T�Y0�J�0ORڬ4�01s�9�h�^fn��H\�>�:'�x�*�V-�.~�Y�"��s���I�]����ŜF�q�N$��	���8d��R��X��;���E�;���*��\c�ۈ����{�@�&�ǩB�'C���V�����$O�Gpb��4Ck�N=��q���FD�1��+|���S6f\/�TX�E�_�1z�$��?��Y�5oE�����/{��v��h6���h1�c�N犀Z
�A�7@
+-I�y�0*��S��
\v� ((���ϱx�_�|��<H��4bB��A�0��S�Ƈ������ nD4�!�Zf�~���"͊�Oh7q���6���+��n��5h�Z��I_�qa(�jz�.��0��,��N}���ҥܿn�/~�����ܰ;AV�ꝙw� �< j����*��&"d<X��9��nf���j}�l~��e��a���kK�
+�.��Z
�,^�D>�M�'pކ� :ۣ6��(Рc�^����=K�^׮ꒁ#ô��5��
%���f����plv���O��
�4G��q��l�F)� ڬ}�V��մ�=�h~�u�E���̔�%O,�zF5L�R����uX>����e
��{��Kh������1w�*Zjf�O���1X,{�V)[�g���=<4�UۇB�~[$w�q	t
+���-�Y����>\���2��UE�H/%����i'��'nI
�ٶJ kE�3��׷Ƀ[ܳ�ff�n�_'�牶���S&<kӻ�t��k8�������t�"�*w89�`.uE���U5�g
�={9��v�7�V4���6N�ǩ�\'6�R5j�k7���LPC7��1��gb�*q���Cy��2Q�ţ�o��V�X�>j�
+����?�.\�\z�FaEGmz"s�xM�I��
��1DՠX��0��w��s�ڮ��T{1�E�m�*P
�}\��r[Z�����
w=�Q"W��I����BE������� �]��+�j
�� JʶF��̮%�g4��+���uh���PD����T`Wp���!��
�g��O�.$�1�]py����=��G�)V��`!e;*�T����A[�3񒙿"�� ��X��6���_�E?~a��u��ϣ����sμ��h��27E�N e����bi�B�B6��A����Ĕ�M�r�3�h�Ba��?�
1���a
^
�8�d�rϾ�@:tؔ-�Ʋ#�
�.�2D52Hb]P�������$"	k��L�-
����\�
86�ik~4�k/�K^p0O�� 
[)�414���E��Isn�X��-k ?-�E
�yCXֺd\ 큏N�¡�u����6t���^�Dq[
0?#�( ����B`
wh��
����x i�6u8.Ff���,���pGSH1�Ӣ��;����E�j}r��������~���
"n/��iG��<<�ʴd/q9�ḕ��9���^3

�ܷ��V=o���G'�buYK��#OMs����� 
��:�T�XB(ݠ
��pZ~�"�L�h	*~�
_^#E�Vd{`VͳZ���i�:�h�%�H
�0
+I��Y�\Y��T��F��
M}��d�(�x)�ư���U���u��f(ǻ�)�덛,�{�Y�k�!�|l������}��v��
+�xX�`��z�g	�f�Ӕ{)
+j
7���x:�v��#�BR��Mtu�ҭ�#
=�I� ռ�ǖ�o�Qˆ�¼Xf�C+[��dN�;9�?�+y�,�>{�ȝY��K�6-�-EMN���(Y�7r3c<��>Y&���'d ���mQ ��N[��������iF:Λ��]j��EO(S�T{!CC�ahW���x
��љ�٦�`6#���*�X�4�2Ɩ�
q��<�>��A�3��6������:���WQ���k`����"�:�蹇��}�Ce��i����廁Yi��
V!�Ƭ�T Ҡ|-���y5L`�p�x��0��J��,�v�K�p1+wK"�G����M�Y���§�d�����\Wl��Ԥ�2�'���=�t:PċК���J�(]�~�d��R���L
���Q������w�<<�r� �ÇǢ�
]��Uj�<}��np��F�pJ����6c�+w���iWc\&w>��J�%#�
`�����8›
+�G'�
�E���}/w
>@J�o�q�H~���'/��EL�z��������/Ȕm�v2�<�!�%���V�A�l%�`�_nkF���T��lW�A��&��0�CƻF�eS����bq1�l���|>���
s:�'a��L���{�ƒ��Xu�2Uw�*ÿ
kY�:�u͂��Q�E�ņ��}�X��P�ᡊǾ�7�%���z���8� 8q����b��M��9����s�ZDaE�W���gkK���Q�w�"��`gN?g��g�[��L�T�i
�zo;�/s��0Q��
B�]�D5���>�mS^S6��Zf@�#�V�y<�o������=��<d���
���y�5Q�9L��(k:X�R�*�
TGmD��o����k
+yI�k	(���
�ɔP�f!�
��͚�Hj����5_��*Q���1l�����J>0۝
8�h���|��^ɛ���ek;R�r���$5��p3���5����1�~�d����w��Tdpn��
ڼ��:������s�GF)Dq�rDm���nH����<7*+��$F��������QA�I.S� ��,1�.�
��$��>���A��b��A
w�}a���-iڵ(�XPAx	���UT���j��(`�W���M7	I[ܕ�

�Ee�O�݉$-~\[
����-
R	�5� P�ۙ�R,���]�%��~h��^������H
�c��&3FV����_H�f�F_���:���O�Ww��:��2��G����"�o�a���>�y5p2-!I*���:"��7���
�$:tc�O(XrD�3�%�>�L��7t��it��)P�K�9UΐҌ�܆��FVD��Z
�ݤf�ڌ�{�|ͧ._�
�0��c�����r���[N��d|��߯�BN1�6ˬ��q;n9�;7�#
��L�\���_Mޮ/+ϯu�m]���G#�:t�n��>�c;z,WN�"��c��N��`�&!���X^��P;ͽ�E��ߤ�V(�E�{5����6�G�F��Z�Ā�j�8/ANƬā��ۙ��pw$�����|�� ��������M�=���~
�q���4^��}7Vj}�)�0�zp":�U�Ux{.ɍ��_]+���1c�r��K�!��
�7	n��{��h١�R��?�Gjx�[uG?���^�����h��ZD0��aX��
Q'�
}�F��gO?$��V��Eo9�
aQ2:��w���
��F�*�}�=A��;�!�YDOj�_�"�b
%�͓��\LFT/�E�6��<���^��w�tp��%8T��Ǡ_
+��7u0���[njT���K���Ed6�,h�it�.��M��J!t
�Sk�oV�q�Vp0<�xᾬ]�k}P�
A
&��k����d��2����g%��I{y�1�ڱ��s�	�����e�_���xX
v�#��y���5�c�ΞxA(i�#bQV?X���[��w��W_n�D��k+__�n�O���w��
R��e/g�s���:�����T��0c�G&W�^#<
�@�Mw�ϟv�â�;��q�Z�c��hچ
{u=
�ݨg��I�L	�����Mԯn����[��
�]\�u���_��
��t r�Ё<A�Q"OD��
+|l��%:�
�
k�"9f����g��+�����_\Z�e͗�s=��(�PwI����;սrS��?�X��ek��*Ŗ�k&��`.���[�S ����`f�j��Q��5y���
��>n���u����W��?<�. ���aW<��]%h�"u�&�����6x�B���tG���6�!��JQ�=��+��F-�]}��!m�-ZW
wҖ��'�ӶH�zn�$C�Z)j�d?G��0�$�c�7�����ΉB�hY��=�4��� ��5��pʸC?4@)��V�9tW�
����i)v��� �#Xr,v�#�ܰ�.0���<T�����*�:b�i�8��_
b	�8v��2�,�L�c)	<Ǥ��Ԛ�i�W��#6(�
Dw�j���8h}�2A���V��S�ۗ���需_�	�}FB�<b��P[	����
DK�9p7{����q7E�r@&�v��|�n�:�fN��5:C�==�;�u���+��Ws)���ʁ?
��Q�S�s/B1�pI_��YȾmt��'����?�[��o�Z�`��#V��@;:����b�g��x�T����^��t`���8���$B��
+
�9r���ʰdY�Y�|j�
�ݏ^�u(@A��X.���
+Th� ���yؤTfβ�I7g^�Tw]�"
�%�]�I
���=1�%�q5|f8�
����U�&!1ܼY
��S�Y|r�:"�;Q���K�����ٴ�f:C
���G��M�kI�Iɾ6�f.�Lz�w@�֗�i,
�A�/š�jRH+�.���^��U>I�
>Ǡ?�/^<��X
ˡ�쭗��[2Ȝ��
[����D�P�|$5�g
��(�IxNd�4��4�G=����-a�.�
1�47�IvN���u�����i��s���_�����G�8�ܑ��
+��n���\>����:�i+�R�	�08�.�/6q�Qf��6�n;(j�n��B����w��S�

��(fH E
���t�*��&W�1�wo��(�c�D��y1���Y
bzP�J
�M�c[:�_+sk���A�4�So��T>d���#��������Љ����P���sM�Ľ���0[Z�;�W�(C��
V��~�:xɖȊ)��wl����3�NGA
�#||�Ȼ�V~�]$F�|���ƫ�Fl�
B��V8��M�
���"v��M�N��
�Q������X�Kf�U���%;�(9�C��X��)���C���Hk{��N��o(��3xr�4$����U:-�M���v[�P��LR�r1��q�70ᶓ��Sr������"q��[9X����P��y�,I69�LlAE�͠B����pM�_�9r1���J�b��
c*
�
3�2p���>Zd{
+
��
A��<\z-?�@P�`� �|�h�68�Bp�x�U5W�
��,�3�5�2ҩ	�X��K�7�O��
��]e�ı���6Z.8�n���mC�SF�D at 5�c(��?��Ò����*�ژ⎞�q�LQ���X�����Fb��1�_��)��C	F�6#eۤ�� ۟�ǴnF/�zɂ�t���Q�5��	����7Ӱ�����lb�&��_%�, at p��ٚ�E���I�	��ҹ{jf<��ҁ#�e��� З{�L��(���ٷŌ	�,?�P��: Q�@�<ط�=a�X������*	

+��i�	&m�
� E�$Mu�vu-��d�R�8T��:[��p�!�s8���c%�:�P���e���|,���S�f�|�N@�FY=����t}�~�	�X��6����Z����fvk����k9�Z���Q�K�q<� ��O��
Mc�@`
+������'�Lv��5[�z���OC���#��Y6;)�n�`�u�����
��_�
��pt�*
5W.���a3_��SJ-G���8(��җ����po&��6����p�z�s��7y��k:���+�G�Ԣ���Ӧ�j����7�tq�@�q��o�:3���~ O�|^��ճMv���"=�^
+nI�ȉ�a��o���++��\�i�ߣ���nO/�U�[�U�!��J��õ�Y��d��z�-;�Z�&��Xd��o�@��3�`�
u��4��m��4���=��l5g�ό�7{~��X%�'���(�h�1s*W=��� ���Y'�>v�h�*uюյ����������¤
_��~����'���+0?�
k�#�� �����{	��r�
�)�>�M�\)B�/
L�Q�
��Q\���]�Ɉ����ɁHM��<�P�
��Kɽh�D���\��R�2���x��vK��]O�n
WE�v�ܘ�����I
�`��/�`�F�JWR_ޖ�T�, �I�o�9�r��uݣ|��c�v^�����w#Y�կ=&���,��?�3���'wR�?���aU
�F,�J�ζ�ʻ�jSc�A�q�H�y1��<
~�칁�L����7��+��Ɏ@�ȋ�Pm-(T/�� �Dj��Ԋ�[_a����K��֛�{&y3U4��@��`�^�M<6
�i��}����y�,�j9�O�;{ݪ�.S�]�Q
V�Y��{��"y�+���5�y�4�?6���Ӥ�^�h'8�G"����U[L
�3%�'�:�2}
xorӈ�lF
�>O(Oڏ]No��W3�A�f.��fVk5[�e2
N*w
ʨA�EqӃ�3�ɔ�"*����Ѓ���2P�i��g�u��܊ڰ5	壟q���
RQ"�b���*�Z�
'��hnk�𤂖�
zi����\q��AX�{0L%���%�Z��p�_�5=������e�)'��-s�^���ł
T�^g�T����
+(��=Y֟s�J�:-��i�,�ђ�^I���k��T.t�K�)��HE,�����
��ʲ�]�=�>A1 at Y�
s�1�����v&@͇�W-�q5ʋ�Q�S>sd!n��+�-�\ .�ԊG�������=N߮!��B{d�����3dXlҧ�7m2| JU�xY
X�	���I�op��v�_�۔me�+����j�� ��Q��Ŋ���Ш���s� �4΁n�xD]�����"�%	��+U�i�ɦ/
�A�ҟL�9�3�&%^�4rsW*?�V[<<�Q�� &f�������YߧXkn��pÃ
i�(��6�t:���9�&9,��ǗU^��W��8a����8cd�E��C��6�
���
�"c�|�P�'�^�[�e�5O�a��n0'VV;�6���
�y�`h
)W�o��¿�-^���<�����7`c��uq�[�r;�q �.v6F���}h��L��k��#�4��de�R�K@��;`kLDq|U�ɨ�ќJS̫E���D�������r<ɍ��𿀴ٷY>�����L ��C�ϩ�u0�
+4��2���3�
+��ݛ���;���d`��"�B)����JR-��b_diR؝���9(ҨFV��
�Eg�9�.9�0Z,RǕ����Bg�>ͤQa�^,	ғ����
�2��0g_�3NH�0�n2k�E�3Ĉ���8b}s
)��ߺ�$�`�p(;�4abVg~����.�<&��GZ�p��TC�@t�im�滴p�\k�|(��"��ƻ�*�_�SV�vNπ��.�f;E�&���Ra�
[O�x���p"Br{� �>>�C��
���L�C��װ)���|?t����f�p
�F�.i��}�ꋢ�(��q�9�m�M�*�0y6�w%)|�����lG����
+?g� 
��E.�u��X��g!�օV�(ɛ�+��%��av �����w�iC9<T�/U[]����
"<HR���FR��4��"m3D�Mۮ�X��D_��� ��
;#���eާ}�ɾ�
傝S�iHpnĆgn5(ttb��;���[��߸�}�L-�
E�Q���&s�4�,
�� Ȱ<�'z�ܠ����b�<�LRϱ�=P���w j]=���A��Nf�n�|v��(z5M�?6l43ue~��^j����
+80�)⪖�|�
�ˤ�H�l-�L3�:�\ٻ�9�ׂ�-�)?5j,�i�E`� �P�>^h��%:������_�>�����K$-	 ������'�I�yex�G��f�G0����lo�8Dy�
��q�?(��L���3����i��,�CD
ϣ*�8�kEJS�.{U��o~���Ȣ4�ۑ�!�����T�?�.=�w�
�iS�7Y���p'/��F at H�<ޠ�i��=�F�G�C��po:��K
�W{QE�Y[��3	/��h��a.����qPI��wˉ�G,�Z��
�]N����G�'���&�})	���Q9x�LG\3 u*;^
?�Xr�}�s��,���{��U�Z1-`%��/
����}���P1F<~�� Uk��lG �~,
+�R�Zą�߳���5�є��u �9��!�`���@����S��	gS�윑 rU�E矱�"'
v%�(_h= ՛�C�qmg� j�̽��t���S�� �W�em\�
��`ݍ�D�I��>��󠝊Q>��m:Ɵ�)�+h�TPt(J���`���%�W?�������r�������n).*�9����/w*����}�Ik���"�-�7�N�.�����tH��nI��"z^�����̝G�F,���ks�ւ���ݏ�cӎwv��:�ẕ�@�_ܖ3ry߀�quCu�� 7k��zI(�=���jx($� ������~[��������zAnGN��
	�`�Ȑ[��ē<���9�t�
���\�'mB�yx�|j
�
+-��|��hd�o����w-Ix��D���L/�j�3�1�(���$	q���i*��
�C���I;?y�oX`n
D �LӳZ~QP�3��i��~����������l�yF/�C���
�-�@�c��U�[�btO
�B3��n�)�Ȩ��s5���xƼw������^�#�[�I��"�Jb�D�~�z��H����e�m�WM�4�s謊8����,ŢR�.|Cݨ���S=�=�'�ugZ$��W��	VԷ���!k�ϐ���G��EDؒ**�̏Q>gS�*���k��+]F�j|�j�Jު�� �1�5��#,$�ᩍn��?o
���ڟļT&�>.Z
K;v�,��G�:$Z�f]�29�8��0��v��`�x��.��#
��D	U
i[��:-��`�M��-
D�˪.1>BC����%��:��cS���p���LJ��|��H�Uj,4�;!�4!l�U�5��j
+ۍZ��{\M�����
��N��v�aA]Z&M煪Q3?j���n���nh���?��m�C@�.��U���a�|<���Ɛ�5�-���
fX�����|��uV��A�ʼ~��m'7d�A�27���j�
�dP&"wYG+�d>._7,r���{������Dݚ��m"�؊����\�d ���q�垾0�\A�
+d��J��]��.d޺n�!B���\y!W���8iP_
DqS�5�ϯ_~�\B���hی+�$
g��zW���
;%�3t�&A�jr�����9�]�..A��h��F�bYum>�o��'�1M�L�2��	��Zk�|�Z�����*@Ѿp�sEc�
+z����T�v�jӷ$�������"��[Xu���h�
���"��8�UƲ.
+��Ս���1n�T—�����\��U���{����H�/10.^X�=��֍��f�l$��L�7>TS�b
�Wb�-	�?�X>/&ӆS1��FB�
+bިľ��W�f��
����W��{�I$�o�ҭ�q��ҩ-5(��o���R�[Fa���q"��Mu�&zZj{�Q
�*��uQ��ԓ���1*v��I���#"6���Q�Z��
+*t)�\�^�{�֯}|�#nu��ώ���op�e7~���1�Ŝ}��h�
�
+8--n�{��Z�{����m_��pc��
'7���v�V��x�l��<磞g
ҽ�y*I> Ļ{���ѓ�U�Pk�xN���Gm`�޴(?_/��<ْ�w~{�x��Y
�U���뇮�<r�4�
�y��\��d���`��� f0�_6�
�H/�戶�R`��+4%w]�,��W�g��[��c
Ȍ6b��l{�hc��
+�p%F|�>��к���Α����k
l�Y���L�;d��FԍXU$y�ݏĦ����4���ir�����X����Pw����z��{{�����U�^�DR�6�o��0d�H��U��S}��6��p�?����j��&�
k��p��7vaHj��r�%O��0��<i�	��6�j=s'_12\�~9E[~OiN[%��~��d{'u��|O���kBf����3C.�!(S��5I̹�i���u�FF	e���¦��(�(�`a(� <���h��־�a��O����N;Vg�%�&!y#��}�a��L�8�~����;�^�2�`O��Ġ��e�ر� �%�����7��	r�������$�q\X︎��K�^���F�WU	�j�G���iAɺ�����	A;��=as�=�>C:?#�B!1R!;6}<
��"���v��5��
+�W�����!O�����'�~)@h�AoP�t~�Vi�� �v���c�
+ �A[�Z�����䋳��"�����
������G�rq��.�n�����6 zd�O��x����f3�y�9
+P��{�����B���
�н
�N�V�k�ToRf�n�=���%�Yy&�neb�$Sa��G"h�\�h�����[�UJ)WS:,)~�(|�o�\��x�4�6c��GU�r����X�j&��ڮ:�
,u��s����G�PR�����;�
��8fw�*5@>)��B.� ���w�Yϭ�{7�����߭�������T�/t
/]���,�.RCk�*a�Dl a�y�
�>�m�К�k��[�љ�މ��k�d5
��k6�u�ԪT�1R�P�
+\슪
֫
+�őʸ��(�l��13[L�
�
+�:��x���
ҦLU�
�$��pM�
Ӈs�j�exu�>��� LN��K���
�4�}QG?lu��;��m��\���ɪ���vH���7݊�{����7�۟|!Քov��� 깗�y�
9ݼm ����p�n9t��A�A��Ym�hj&�ie%FhQwG5�2e�>�=|� &�_U�~ �]))J��e����z���1�@%vE��'
�a���,6���a{���j�|
�[Sz� q�ج�^��0_�Ο>��+3c��e�����k4+�>z.ҭ(P��?���۵���(w��Aup'
+n�$sOA�ӈ��b�q)��sE�?DaD³��[蓗�[fw�F
�J��jy�
+c�̖�����Bh���
�'��SX���B������<-�/W������1~��m*�S��y+:�����Ua��/�F�\�������9�vվ\в��ifGCaU�����
[_�\dml��J�[zp��b�f�}��3�!弶��ѷR#���h���VO9�$�Պ��P�"7� "Q��?y'���"&OeϻA�=��r#?-�P8�o���E�!�l�ד�s��S�8�N<���2���b���X,��6�i��\8p
+�!	���8	��(6�����;��p��9
�6��$
�����<�?��v�)~��Nb'�j���xj��7HP��R6P�3K��X���kL՛�qH=�Q�2�
�p	z���z�
+endstream
+endobj
+3120 0 obj <<
+/Type /FontDescriptor
+/FontName /KKDVLJ+NimbusMonL-Regu
+/Flags 4
+/FontBBox [-12 -237 650 811]
+/Ascent 625
+/CapHeight 557
+/Descent -147
+/ItalicAngle 0
+/StemV 41
+/XHeight 426
+/CharSet (/A/B/C/D/E/F/G/H/I/L/M/N/O/P/R/S/T/U/V/W/X/Y/Z/a/b/c/colon/comma/d/e/equal/f/five/g/h/hyphen/i/j/k/l/m/n/o/one/p/parenleft/parenright/period/plus/q/quotedbl/quoteleft/quoteright/r/s/semicolon/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
+/FontFile 3119 0 R
+>> endobj
+3121 0 obj <<
+/Length1 1630
+/Length2 9665
+/Length3 0
+/Length 10504     
+/Filter /FlateDecode
+>>
+stream
+xڭveT\m�5��
ww�	�


+(P�{pw� �
�Kp��݂~�}��g�7�f�Gպ����#��g]ZJU
Vq
�Pl�����!Pٙ�@������@+3[��E���t�:���R��@!�� 4pq8Qh�`'���3�AK]�����_�?. 3�"����=����h
v��;�R��5�@��5`	�$UT����+k��N�� U��V�� s�=��;l�> ����?�A�^��! S �hz
��
�@, ��
y}�  +'S{��8� {s[�?��-���~��{�^�T�g�����UUJ��:��M��䆀^a ����l�򧥿�W�W��d8ݝ��2,@[S��ܯdN���p����U
�	he�da
�@^i^��L�_}�[���
E�����@���%
+'�kNs���V {�?�"go	pr�m�pq�'�
+t�k@
v��S
����h�®
v~M	`�ߩ����? �D�����7q�]����_����q��U6�{]��/��-(��3��N�?w��
��
3��z���������;,�l�:q{�WaX9��8�6� 2 w��*���`ij�:���Z�@'[�=�Uۿ�����o��5����x�����^��\Ϯ��$����?ݰy��n�����4:J`��:�ᑐ ��X�8�\�� ~~
� '�����/���L��@�
l

������u2�7i{s�ş��p6��x]��2���]��^5���m����
t��,΁��ۤ��:#��������?ġ�V� Ͽ���.Xn�X�V7&���1{��%ϴ=�����3	x�K�C�ؕ��J��ϼ
�nT��z��u:��N��C{�׈��Q�#�X+���-�?�k�?
͍��yrM,~V
η��C�����ޡ����s��-�Xdڷ�p�t���Y$��Z�^�̛0��1]��|�8� [...]
+�!K��*�и�.���^T�
��e^����2�e2�8�1:=��O��w2A�?�3oG_Imޙ9 �c
�9V��^�[�M,Q�)�V�!�u3�3@긶j�&�=:
�8�@���">�x�d��ӂ��r
��Œ"!
+�Mv�!�+��+��q�
+q
��͉֪c3+�n���� m�$

<A=k���'�㿿��-�;�����e�^�.�;��%ɂ���
� �l�e�&� 9�B��u�1Z��`�\���zY|р�c�?�;Z�/�=nE���`�y��-h2d_��a��ަm�����6����˘_p�aOs��������
�<���L�D���@.쬘�6�8�Z|�I��%�1xR����#t-
���>��քT�,��-�.M]
�ws; �K�;G��92���6^�mvbfs�N�˙�
+جY7a1�\�j�*�x�����&1u3�9A�~b�[E#`��pL��6")o�;2J�����s֨;�D�p�+�
��{kƢ�]�v�2�:�B��0pN
.���HI�q����b�

��hr�f���?*��ֶ���9����W��i�,���-���,kxX���
+4�Z���zGk�N2^G��r���/�.B�b��Q� ��[����
Ez���
�qf_���׌�wZ�_�g)�2�=X��z1m��if%Y�I
+��&����gpp?O���L��b�A6�i�D&SEa6�o?�B�[Ҏjd%�\]й�"���c�Rr��9۱M Y�P��E�
)�l��X�Ul��:�5�.s+
��*�z��t��pFG+���K��㮦�����_�/�N��p_뉥�k���r��5�m����r���Z��Vs��D�\���u3٢����F
���\�� �Nh��V��s��T��`V��9L��v]c^�G�]Ԡh3P��<��}�eR�-j��?C1$
`vֳ�{���7n�s�
��
}0�QZlbŻ�����ꭸ�G��@�����((��
HrD���j߳��u�gٓ��(�+|A{�J�2�kP�k��~eM�B��'��
E-�����l���o Ł�ϖϔ�r����3��@
1F�h�7�2���0!7(��U�d�	��A*���qU�4���n�ޘ�$W�t�7Oorp����\����8?Ɨ���14Y����\
߁^�w�p x�x$����{��8Zm�[Ż���g�2���:��-դY�O ����a��{g��y�ԭSt+R
�E���LO��
���:�_�x�K	.��5�����6�L\��&V�2 
�Ca��`7��6����]m܉8���J�*���#s=�Te;�NM��O��)�7����a��
��Kra�9ʴz
w��1eW��r)�� -��O���C=�d�
���a%�r�Z�%�0
+YO���	�Da�Ʈ����{SGb\�9Wt����)˘��\Pj*m������F2�^)Y��M�Ƶ�k��Qf����a��"3�
"��
M�����$oW
|<K�7�/��� ���R��옵��[)�i
�4֚
�� �4��I(��R3΀�͜M��l�Ml�i!����x�Fi)�|{�f9SQ����
�Wt��!1�g�
+�3����|�,�i^��$��c
�47Ej}z�cX�2l�
M�1�����.��P�OzH�I�{m���Y��\)A?�&���L��}P'�k�	d��V�N�;7��l�!ʑ���V ~^�d�na����@�v��(��⿍[��8X=G@�\}

+�0?:[Cw�2�S�d�j��
=��pt���u�ߐ�O�u�T�h\�>�v(�{M�.��!�?�1B��&k
~	������.w>/v��� ��T�
=1�zW`�E�(�ú�\��=cY�#�O7��u��!���4n���R+J�2G�T
����YlT�#�ȗm��I|\�1T�#��U`eh���{K�w�����z��ϴa)NrF*$<LTA(�"��1	nN�;~̟�����ǥ@ˁIY;���[����~�f�w
���~�%��-$un���
Ģ� �i��+����Z�U�$
+)��#y(ލB������[�g:f������f�1�CC�5わ�mwRA�1Jʿ�Թ\�TΗ�®�^|F
W���U8�՘a��6�yt�׃E���<�t��Ʀ�Z�mj;L]�VI���fi��ϰaW.�•�k^fXCP��#�X�t������oHdأ�N��Tek9�&�
�{Nl�	'~mdz�E��p�&iW�&��b2��\�s<�/���|���h�~�H�j7'�I?bTE��
�a�u�|�d���'���li�\�T;��PZ��^檛H���
+���ͤ���볱���H̞��Z ��Ǯ���V7�_󰡇�t�;�,���~?��	 ���\)�kT��F�Jr����|^}��j�c=�lw�XNXÎv���Y�
�d��/�䲒�,5<B@���Wg��BѰ���/z
��%iUs|�*A�1�oYkgU��C�6�~΁��&��
R�%:�mm|���<�@�5��M�P��N� ����y���*�i2;
n�:�(+�6%�v�߫ԏ�Ұ���%|Xp?�ϲ�5��p'�@U��C���9����e �HX�
�
OV�Rڅd���p�����z�ึ������ ۀd7޳wR�Z
Ʈo��Q�j`?�j��4@ܮV���ݧ`�����'Ra�#��,u�
{}�qU|#H[��}����O��	g���r��'�ʳ�i���H%��#O����9c\�!��{I�9��9{��A��x}�:˚
+�C�,��2VG>hxp�
X�C��)
�!N��g(S��s���󪃖�tjC9�+���'�jLߝ�1H=&N����)j8N���(|�HKr�G]K^O9I$^������l�vh7]mC�5~W��ԁ��5j2fYI���A}��_��N����ӟ���Ϩ:b��f���,�/u�WC0^�y�o�<
+�٧�'z�]Ȣ�Vng�|j�v��<�g�Y�@j�!Wo����3Է�<�"͇<+a��3
�n�Z��Zs��[Ԧ�
+~ ��w��i�d��K�FZ�L�ǮRM����//����L�7�h�c�����W\-� FU��F"-�f1	�p2`9Ƨx/ӺƓ�@����pc#���ݾ3s2�ٖ�MY'�k1��
�
���F*L�G�UI�O	��K?
#���UI��H"
>�N������Ep�BWJJmF��8�K��$�qu*��fw at Y�kD'�U|�	�}�xث��}����
i��\+g1eh�b5��c��+�2��
�6��R�㳖{�9�.�D�<�j�[�g��f��(�t��x�.��@��SR,q55�
�XYh.��-
^(=������b��y�Zz%��� ��I���1u�!,#���s{o�ǽ�o Ɋ����})�$
ݵz0�fp������?;��4���D��ͣz�|�<�=�c5�͗�����V!��qP�)*�x�$nu
-�^
�n֕2|���#�3湴 �ira��Q���bI��Y��}u^�
[SIyJ�^g�ٹ����Ƅ�a���*2!ʲ
o��B��*&�
�iX�6h���$r
&����&%�x'\
���F�Ϥ6����
+�O�8,�S��o�3�[�9Gc�H��W�ܚ�.������J�

q {�;�TU�e��" ��i�h��!��y��gm��Hm��
o��}�C���߄�oQx?
�Шc�n��
X8KV!�h
Qɫ�@SS{-L��IL1�j��#�G)a�G����jM�~Aa#̾�6��Fѿy2]ũ�z��z�h�Xٗ}J\=��F
r���qs�Hx�@�;Q��Rs�x���a�L���a`s�4:

 ��f	إ���YbG���UD
�e��a��}9rZ`�U��H#�V���@��o�c%��=2!����qP�g�;t�i�JZ����*9J{��F˟w��;����i�%4�-��
ȮʝF�lO�[�m�����8�Iq�ё
?:N-��\����SW��ڱp�!�8{���˛[�4y��\���I�j��.K��%��VmW/��kf��M��_!~�=a�|f����
��߇.?aM�$˝�b���00�Dʬ��d"�:N�u�2@��2�
�\��]�7z;ur!�eh
,A�x,���p��Zc@��c�ϟP�"����o��#�svއ��X���k@	�H�JkR8�����DD��*\�"*T[�4��;>+�z������Toq�D��c��wg~�f�Qi1}��y�Fznd�
d����u��q`��53�C���)�l&�1e�/z�C��
d�/��Hya�R��a<��±O'�kRX?��.B/�;��;]C	��/��}�Yc
����F�H�xӥ��}�0M(�	6���/?B-�C��
p�X �ڧ�V{l	C.91ei%Z���~}��V�
#�O�嵑�
�!m�q<��� �$X�:Np�B{S�E�+�-f�v�ٮ�6�z<Aث7,�
�1��
+x����_7�çL�t�ޅE
�Hװ��a��-fKu3f1f��Z�]��yI��
�.��D�W
�
��m��

Af���fr[C	�.̿Q%�`�aV���>n,��?f?̆N�Ƅ�4X�xPG�~8���[�!�3O���D[��A�9�*��27k��
+
V�DC�szul*
G�
��
ne#�)���R�j_�s�+{K�a�
��=� ^N�Ko��e�ljU� ����f����7�~-z�7�M�;���`H��9�3%#�h�W1էV�	7�y�95Z�����
���2i���ץ�>��0� �kέ"����o+��:И�|�&��˸p��U��q�1��f0sV�2�CZ�����u�*������H������Y%����,�]=���\p��%<�X�
�םu���M2<$(D���
�$'���j�=p_`�A�я
��=��Y-ƄW��D@
Z�MG�:ҭ���t�d�ZU����o�K7~���;��,
��o�
�ʑ�F�����b�-�~���e�j)�\��҉Fh����
���{��X�74oI��:{�T"��-��t~�Gl��1i���ZJ�K�dg/�ں�E��e��p%�nU��9�� 4����ʼn�@�cQ�[fY(�}h���٥8�ۣR�o������R/�ރF/�����,^ގ
��X��B��W�]d��.���o��F3^ 
Q^�2� [...]
��eLjR����
�
Ch���n
+�|�.An�D�*�3�{mD������/I�����Q80��U*�Bo8
�Er���

V��>ݐ�;�n�Y�sY��^� �h���Hd����@���A�N���ٶ�c���˗;s(��^3��9DNI��+�mX��1�i.:�7��;"s�Xo�Z`C9+N����{0���^����&����i��!����C��zFH_�Ǥ�b�ėT
�b�
�X�V�<yt9B6����_Ykl�w�?C��1��n��h�
+L��×J) ��jaK+��ηM�#:س�be��xd�����_ B�V�719b�n~�(jDⴖج�A�HSj@�C$��\�?
Q�"���͜���7WJ�H���8WcK����Dl�p���7�f
��	���̤���^#�['�C�M��`a;Ր�`Qg33֪zr�3���@�
+�)����I�C��
#�_��D<��\ckm
��u)O�b(�w$�i��D,ԦΘ
�G
&�cv�T�{��[u=�AONو���-4�����G�k?��^�$	��\G�?��(w�կ$
+A�{�==Z�x��Vr�[F�it0�h��#��$
K���=x~ޥT�N��MܘZʬ
�.8���,˗��/C�z����{�F#�t�־hs�����5*�j�ɣV�_�vZ�ʈ:3��|�#`�4}�ҷh� J!mưQ|��QH�y���:x��E�+�Sd�,��p���#�ݳ�
Q5۹Po[MYcy�����E��d����Ht~bH'S%\��	|�p��c���z�)M�u��5S�6����B�9�����|�->>���d���=�{�I����b���
+Ȣ�
g	/I�|Y���b.ʆ�tk4P��ʬ�	Pw+G�$���`�-���S�V����
�����qxcY�Z�xX�
�M��)�m�K|{
LZ��	�:�����0�v���Jfx�R���ߩ���[:k�y���T����_���c�B���Ҁ����!ta��
�ң��(3%�$����&�MѨέ���k�|�E���5�����Cm]��������*��<E購��8���/O�
+�E"�����Oy�<Rd
F�E��A�\�
�6*%�E7���d�l����ԕ����1ɕ%W�9B��V��.�ǁ���Ǜ�[��s}��	�B��>e6�|
AU_op2cE�8��]K�X�1��?���pZ��=X�RH���1@o*�xޥ�]���z�
4�h&����e��$@�ֿH~�.��5���_j���RW8�o
�|4|uy
���˄
�F�LVMA�g��rY�({s?:
+��&��
���W����v(s�b
V���	����'�u�lMa
Wq�.�H�K�~+�i??|McǑ!��(|��~��NN�=x�.�ߠ����Ƽ��_�/���S\ё�:R���[0�v>ӢCͣ��
3yL�~����!��m��
�* pVO����D��p��Wvg"��m;Zʱ���;=�.��E+ƗCl:�J��쒴A-���)�x�[{�Ky� �Ԟ<7>U���hm�+�r��.�$_�?����,�3�Q�}��j �&eֱQ;;o�~���y/L�cx~���$p����<*2g����8��� �#�Ά=�ӫ�����"
?N���X	������}g���q��3;��&�
vTU���P��lY��,R�M���;u����G D�V���v	��z(��T}����w��VYã\��S��@�`�$�� �'�T�CE��u�Mn��+�s�"�#�x�O2���ɪ�v�J
������KMڞO�
��)4��U���6>���)J��_nti����]�Bݣ�
9+
%�i(���}B�N�j��U�ay�\�~P�a���R�]R�ç�|��xv��;�X�cp�ز�7b�
��]O��ބ����`o�U&���jY�� x2�`���
�j�·,5�޾Sz�d���,+&�c&Z�F
*̀#m���
���.:=_h˄��nJXIƬ
+�����S�F�NL�ܵ?b1�fO?K�-m�1m	��['�:�I�!��␒P;����(6N��N�T��N `adf<%�h򤨋b��l#`�yd��
��'�854���s&�t_��(v_�	
�d��k�w{�5lt�ޗ�?��>L!��
�Ҭ���k?��3���
��p�1P�Т&`�&%5��2lL���LSH����}�&Q��,�m^[LQ佖s_^TWo3�q�G�v+��6���6/^�1`�L]=���@���iq9!MZ��?$w&�3�fz"����X&3�*y����.a�D����
�_wl�g��'
va�PF����Q9'�\����r�X)���~y�^��.5����)3v��GY)e��fy�� nI
u��_!#;��
��"� rv�܍q��
�ַ�6��w��
���{;.�0(��D$4�)�I�s�L��f
+[��K�l�o�0╅A�{��f�O�(����dʝ�6���K������0W�A��e�k~��G�i-~փko�WF
�x�a?��>�;����j�Y
��ڏ�=��S�Ά_����m�3��{��np�S˻�伶	�`v`���I։�ֱ�T����S~8���P���>
~8R��I|�Y䟍��_1a�jac��ڞ��!�9wq�.[���>O����t����XOlp
R
+L1ׅ6�ZA
I�)
+�
��٩�}���ڢ�tD��h
��Ӣb�M�T��r|Ɣ�|�o���$юv���^�����,SV�����
�}e�G�A�Aǽ��X�k�s
�	Oѐ�i���O�[
���O��eZ�ګkU�K�.rc�^a��߻�D����b�y�0�x(P��
�x�6�3*(O����
]��h�ʵ�A�A4l�_� ���C@Ս�����	K�H�i5��p(�x
3K���IG
]
%8^=	[,��3Ul-���~�
���C�c
��̴�9Ұ����۸�^�7ս�H�I(�u15���$��,"�ew+cR�E6��5��,���(m��2�a�����՝ɂ�sM�é.7IBxŘ���6j����}qTs�2s��&�Bq`��;{!B^wA����w�!�[�3
&�c�
+.6�
!��Br�	FFL���BE���������~�ǿ($�U�O�s�
+�#7T��۴����:��>�0;�}B
��u8�M��SZ)�
��7̼�������
���(鴗ء�ڣ�
������F��CQ���[?I%p�3�����H�t�t|��kt+bO0�����^�[��h�Sr��
�%�ð7W����9��>!J�@Hi5'��
+�DXmV����;�@j�"��B^!Y���*
ǛjM7�D)�����҉�7Uv�P�_��{=�`�ڋ��Z��߳A�Ud߹�%!'~*P*q������DQ
+t�+���H��-�T���H�D�tV`�(m"MUG��%�u;28
���}�A�Z?1-�M|�JJ��h$S)��TH��

qz�
��1F�'lN�H-룅��*���C
O{�W[Ѭ�6�;�Lx�f�l0i�ت]q�O�-]m�L�F�
|>tL�`�On�4q��d�U��5��eWXw���J��)�.�}2̉�Tp�o1��+q�r�B��3n��(%�$g���?
����‚�@�++yl7(h0��菋��9�����F���y���ϑ���� x����K�2�\H��H�
�f�uU�
�~�TT��M��<�=;9$N���ID��vN
+ǀtI��A+�򾼭SK4z<_���wc.{�|J��Q����YZ���HG*eëBO���~?
+endstream
+endobj
+3122 0 obj <<
+/Type /FontDescriptor
+/FontName /PKMHPR+NimbusMonL-ReguObli
+/Flags 4
+/FontBBox [-61 -237 774 811]
+/Ascent 625
+/CapHeight 557
+/Descent -147
+/ItalicAngle -12
+/StemV 43
+/XHeight 426
+/CharSet (/B/C/D/G/P/S/a/b/c/d/e/f/g/h/hyphen/i/j/l/m/n/o/p/parenleft/parenright/period/plus/q/quoteright/r/s/t/u/underscore/v/w/x/y)
+/FontFile 3121 0 R
+>> endobj
+3123 0 obj <<
+/Length1 1626
+/Length2 16978
+/Length3 0
+/Length 17822     
+/Filter /FlateDecode
+>>
+stream
+xڬ�ct���&�v�ض��mOl�cul�v:�ѱ�ӱ����=3�}�|��~�׺ū�*
+%U3����+
#3/@�����E��N��G�A
hf�+瀣�u�Z9؋�y�@3����
+`��ၣ �:8z9[YX���U4i����K�	���j�z�XY�(���m

���C�_;�� WK ���UTҖV�PK*�$��@gc[������)@��h���;8l�� �:؛Y�S�
��X". c��#���������
�t��rq���rX8ۻ�큫������� �����������o0%WSg+GW�߬Jb���ji��On��j���_K3S�J���o��ZWc+{�+����\&@�����������9:[�
������!�8-���l�..����Ow��N��V�����׿�
�e��0X�� m��XX��4u�����
��Y��7w �0�[n���?u�@�5������
������
`4�cRpp��@��2���
����B��?r����m�������p��U0��; ��1��G��
��� � �
7������������Zk��������]���D���/-̌��Z�HXy͔�\M-�ƶ��/�������
���������:5K+S����
+ho����R�/�L��ꊒjt����/C��C������(E���=�	�훃'����������w����d��?��W ��z��:[yt���������_/��#no�`��ب�ۛ����%�Gm������-�ߪ���_3zM�֖
L�B�ӳ2\��F~�����:�5��:������2z�
el���l�Z���q(C{4ևeK՛
+�, �%��/Dݢ��;
+b2(C�8ӌ��Z�ہ��d�8����bP�E8���
s�D@�^�A���g���م�
�V_��2���#�����p�
d�!>]n
,�;"eT�S.���z�O,v8k
��)���?�"
�`{���'���jO!@��h�d��F+Ŏ&�-<��N|��ebߐ�,���F��E�
bf2�������?¡M�m�-�T+<��a[�g��Ц0��ٿ�$D+�&���%g�����21�ǃ�a-]Rʁ�쑣�<���:�9G�{
Δ��U&���!mS�E梵2%O�;���`f��mo�fr~'O�Oeh���V�Er�����4#
�R��v*(5�Sxm�jJ
+(Se���ʺ-�
M
���i����K<�

Y*�EA��9��ۗ��һ��ܓ��r@������h�Ч������4� ��h�d@�S}�A
�d
+�(���*4��,�L}�[���J�Y
�2(���YRMf^ǹo�Y����w���%�jH��}�z��
g~���O�[���+�M/����?}�2� �/��#
����Ҕ�-}�$��Kz�#�^G��L�XҍA
U��?O�6mr_�G�fj�JV]_͙4{�ծ�Mi�JU�/�jC���=`��$�]6S
ڍ���NU��S&M
)���������JI�y�b�C�G�
��ԕ��Gэx�

ou�"O
��vn�
E�
`�p���`��QH��4��">���L����
5b�t�`��^�F���ܲa�����j�j��1zov����b��[�F5�}�PJ�%W�W����q��~ЊoI挹��J"�$�Q,�T�Z� {3zi��PI�����\O
�1�t�������_�
��IA�c���CG#��-'���.��$}1�v/�d�8�����f����{��^I�'��}$��Ψ[5:�
���$ɣ��#w6���믖��\
�4��*p.�P���=
 �#v���׉E�Z�LNB����?�׍A~�k,���+�e�T٠�S������5,��84�:9��fv�k�T�(�ݷ�3
|��}yē�[1�l�ZӻИ>���T�0��;�ӳ���<F?��	&����� M$/�A��
�'hF�lq�G}ᶽ�l��!��n�-�z>t6.�F����2��1ܾ�
�OZ4���n?�
����畟����Q���w&���0��ɟ�[��C�i[ݼ��TyS;����d�(�\�
=������f��U�j�����?�OBS��Q�ŵ�ҁ�-�����Ъ,�_k�z̢RP�3<��趒����ء�>��>�Ԧ�ތ�~ΘL��.SkH��ϙ�^G���Y���Un��v�h
��9�"<V[6���l��A� ����� ����=�$B�f�F�9ϴg���1�E�,H�>dx�k؋$�����-�U�Nk�� a�b��
+���+���T�%~9((�,wR8=�7#5A�p=
Ӈ#
}�g��k�_�ay�"N��尟=j<训��2G"p��f����)��o�<$�� �N at gX��E����d��P�V�$�..�0G
��H�
T�XT
�
�4�������b��}�O:
d����..��Qt[�cؚ���I��S&���v
���"�9b��[�/N�0�
�œ	K���-�\{|'���6cyު[\ _�%��ʯ�xw
����؅�oZ$땝0s��:���]��3�
��U�t7����P�t�,�@�D
�k��u
�3�ы��qƿ�G���.;�4��|+��G1�Б�M�;�{��_�G��5�y`y<6�0$b�儶�T(^\�cG���
��#VT�~.nn�&UD�=�g�lU��`���
�aW�fz����ȭ��0���:�TS�&-9��1*"��
+���7v
��,�`�8 ��
���^
+��֚���86p�P
�P�^j$�h^��l��
z�l�C��oB=H`�*�~��L4f���#-�3n
�����
?Bjd�DؿQ����9�j��%
�]��y����d���m�ȩ~+:��)5��V Z�'����u��q��t̙
+
���1��v����j��)2kV���]��h
+�
tO����� h%�
��ƌt
�V���e/����2��F�8쀪������HA���[�,$�>UѾ~=j��$��͚_�TBl65�렦P�R&���$sr'���3�Z��GM��#�9������a��5��'��Ÿ.�3�/r=��0�X-
�ıkqH[y�_
+�C�>���eL��:
�6?%4����%&���}i]{�å�:Q�u����?�v�~,�G�~�j�}����X������@:^|C6]I��E�;�-�Z�"�?q"���ay�,�J��.bB����[?�ZS���}z ��=n�U�n�մu�^��N��M�켢(��2��h�
,ޔ�L[u�������]��mX�'}�ޗ���-<���$��J'�3,�p���y��z�E̾��� r�,r�`B����m�Ӓԇ`�Q�g���H���=��!���zz 

�hyL<�u�l���4��X�T�}����w��3��
����[SA�R��UzI!��(
+Ë
ѱ�K^y��#�c�\ a�38y���H���wk��r���ZH�z%��z��G\ToR�Ӻ�|���c:�X��*GYH'�K
F��_�-��
;��q�M��|��2́�Ffc[�i�i�W�0뀸�(9xU�B*���RĻ��k��b�����3+����fk����З�OiȮz���!��ܮ�؊�
+�85\��.]a0��Ci�A���
�5z�
���Mݥ�5�

;�xM	��z�������5��2
;���u��A��R���M\�'�P�I�� �hӢ�UJ;WU�;���-�������H�'�X8���5h8�D�(
��wt��'M��f��n1�xO!�E��k�/,v¼
^1��Ua�@���<]�s�8�:�S(�n���`��%������
��X5�կ�b�Vp��

+{���!��3��{Lv����iYs^Lze���A%s���
�&�v)>��؅~
��k��/�����W
���^�xw�*�$#�����`�]A��3
�0��#�y�
\ϗ��a
+;Ђ�s9w�?p
~��Qz  ��~6gBo*$
��y��4�S�����)Ё��80���OU�qE�Bռ/�Ho�e&Ȏ);/�*m�H\1Q���
Zo�f�9`��X���sR(�k�z

?5�=���r
�ȥ�X��Z��Rݙ?]��w��7�
��⮠	��[u��0�)a&��
+�-�(s��@�ug6hn�ӌ�/���k~�6��'�v�8@�T�J��ť����
�1xo��χS��\f���3PB�J�)���[�)�
��K
����k����`�*0J��E�C>(;��r��ӌ:��]�lڿ���$����T at c;�ʢ��1��Q.S�����8��h~T�V�Y@��B�����!ft?�1ƺCqZ{�ڴ�do��EcT
��U�d
����;��)̴�m�

�o�3硡߆��) g�H��p.�l1�jGV@�r������+鯿�<ʶ�=����Ш��Q$|a������R�4�;'�}�
�g)+�A�Tx��%۲P��FI�$9�g�!eۖ^u r*����<�e
��1���54!-���~��q}�E�w� ���@��̉AE'�}�*�����ل��
�'�Nm���m�n+���֢�z�}��qI3��
܇-$ѵ���r�F� �qɩX8@�M}�Ӂ�2����"�q�r9O^���=ު��C��A\
��
ZD�	�A��$){������� [...]
ީrX2�2����5i��d�
�Ⱦ+�A�-��z�p�q�˘�}��
�1��k
<@��U�|ϻ��o�'dϷ�h}��$�"bѥ϶�^�G�X>����ht�+�Y�J�ڙa��|	: %��}0
��*�쓃������:נ���
���3��$�:����;��R^�n gd,�/���,��:�W��z瓼s�G����矈�Xد,�q^i6%�ё?
O|��
�����}s\�ׁ�{���T�
5����^��A\��`fB�ܼ����-Y��{�k�uf�#�e<iPn&����kL�cq&G]��F[�R����1\-[!�1j.�a�|b,��*�7�����
4���lQu����`Txz
kC3hl+W����U��t��N��ž����i�˫��h�^�:�C�7(��J�4��UʼB���9]�ϭ�䏁4�UƠ=ە +�
�?=�
[��(�'!Z�	�7Ϋ���F,�k'$�H�ǵ��Y��dK�[�Nj�
+���� n<��Xt*��0�(�l��
�>� [...]
+�O��e�4�;S�R�1�
z'l��IA;�O<��~�>�������8w_$���p���k�7y�,>|�Y����E��w�'�4�#>-\�.�	%
�_�:��ˌ��ĸE��/�լ9NoC�;7�#�귛��.7���rm���*Hv��]�Jg�9�<�~N�ˉ6
u�@�+p0�"�IZ�V*\n�,n�
�Vg�ۃ��(���О���)����G����+G�ARG�R�kQ�jK|�bG��;�f�>te��aO+N֞C�]�g��L
:$��D	�`0=��EB��B�@q��ڬ��]z��(����(P�����L��r�U�X�<��g��C�%��dԡ
^Ρu\����ɺ��X�j��4
�Z��1�<
6w��0v)�ל�1���=�֫���&��'�'�`�/b	�>�]�X��KQ� <�q�,Y��/t��F�z��Rͅ�NC�9aM�����~��
+7�x��_�e
�*X��
��= jxt�G]�
w�R�g�NР�����W�=�X(=h�:�-�%)�^����P!��,,+����{U�~��򛺦��~��*ҫs��
�
��E�9^�2
+�W�P�킝�t4g\�|6B�+�",���y������ŷ@̢�1���!$3D�͉�U/��=$�_
x&�f� �X��9�X#�I������^N
+�$��k�k�}�pno�!_���t
�
q��)��V��U�o�W������͟!�
G�/�_M�)m��N�c�����<��Ug����f��1��J�Fv좧��I�N�vx��E�
+3!�e�2h
\r�B����@}]�8�^U���`�f�ځ��L�
�tc03��7�ߔY��O��38��������R�.c?�'�]Z���U�����TԺ!:%�PY])�'�
+Gʶ"逋�\��oDaVc�Ԍ�uٳO���g�
��݇\׈zn]	/��}��Ej}9up�9�"8��-`~�9����ղCb�	G�)�fՎ�A��t
yt?+�k="0�V�'��zG�[ͅ�'M����j�O}b���1� �c���$>�#�p���&�1����L��;h�=r�$�:�uz��k0��z>��m�����t2��4�r
p}��C�� U5�B�Vx���d�!�nx��!F׹�]�2TÞ΢eӪ*zù[��t��yBDh1G=�9�
�L�>'�C�ف�QOS0�{�o����ZG��,�(8�
}�.lG?f:`�LY���ė��~�o[�S)�y��Cp����ٟ�.��}�)�6�"���]vo�O��9���nf2������"�� �-�����}��:c[}�:
��g��q�2"\�"qô�ă㲷���F��u
V�'%2���v�0'�K�x2
+g�]��٫xs�x�� wNێS,A-���ݗg
ɱO?��݋�*�e}���
+4L�uP�d��#���+F*A>�вiHM^�</��[c��$=���~aA�F�<���4]���;����8j�7���~�x�XD'Y����M��t<-�J���^���~L.����C���߱�̺��ta��.(��<�ױ:H̷� �U�Ǘ�`���$�;���?�_�/���n�
����I�>U�T:s2eL.3[q���f�
��ec-�mFs
OM��SD�(O��z׽����o�	�r�Ea���ٚ�wBʼ�jz�
[���1#FR�K[�	
��B�|���ʀ�.�83l��W�6b ��
6�������,*<7��_5W�ڛ�	����l�R
+���B.t6�y�j�3:����}�H-o�b*Ӷ��'�Pm4�1��v�j:�
�|I��囹�ȃb�EH��	�`��t�|r���>$G�h��,A4��DS	�
�E n�(���~�e�YF\�]�L�
+%{�
�"��Y!�9�u��8���²'hGh-�����^�==�D�E�mȞ~3��l�1Y[�Z�o4&z�r�
7"U.��?,��H���7��xR�a��(\��/�R
~
��4�Ԏ쩢4�R�{ї���m[ޗo(�z�>�-H5�f���Lu>���Z����
�����'�m�h�רx�m���[
ylHI�.@��`�b��O��l���ڭQ��腻
L]�%�7gA�8Ɠ������Y�
����v�K��u�R��W�V�xZM�`�o�_�zz��\���~�]�ɣw�-_*����p���T�RV��*f��V�VE�l~r�!h��@/�I���^By~��A�;P�7$ś<rigoA�䨜J�R-��
]���p��+�'�a�FS;g��A��^͇vYP���=U��۲UcV�6@���g��/)��*��z�s?s�e<F]f�r�����v�|���^����l��վ6�$��l�
�h�#�0\�
��XI3�Y;
��´�
P!3)(�sB�)&�&��.몪����Xi|#Ō��
?P����
]"s0Y(C���5�
��-{��	��h���TO�]�}��.4[=���K
ܶs�
T^����.>����6�l���F٫��	V��ֱ`���dͽ��<-am�C�)Ð���aY���D-�Sߔo�5"hpta|�P�����x��X�B��̼�mP%x��-��
+r�
<
ܘ@c
0�t3���$> *�S�''�@ �<�<~|�!5\jLgz�d�-��9��S�6�c���oc��?��u;,�~�� ���YM�~���L���"DЗXI���
aST�2���nd[��r:��r�x
��|�U�
+������
`�Gp��ǩnz�+��I�^����`�D�
ٷU���n at U9v.JS���
]��n�p�
�5[�f�g�c�(D|e)[=Z� j���+b�q̕���_KVI
+��
+���d��N;�uA����ͱ�Q� ���|9����+����U��F��x.��
����Mm�^UA��
kqm3a�.���!:���
+c��b�^�H�9��L�y��� Ht�d�')��˦�V��J��x�p��z�E$I%tg��cڅ���tnp��ᦃ�X���2{�-Y�366r"�z�we��O<��V|~|�W&�G��s�Ng��W�}�½X��
pA�r��
^� }�VF�G*MDE�$ɮ�^
M�ʝ�YM�8�?�[�	?p����>تb4����.,(N���ET�0.�E�	��%�%�-����Y�%a�1�����Ă)�^
mu
+�]`$���$
��3��k���ī�)¼7������Ym�R����{4H�S��;�[e:&�xW�\Z����AhK
u>���y�e��]Q�!
d�k��K 5V�$G|'�h���?��]���}C�:��qs�>��X*C�����(o,�g��u���+���|A���cy�Qx[;/�6D[��/@�����5�l}w��a�>��?��x�nR�
�2�a�5��$�^��W|�'V��
+ۛ�D���x�q><���;�d�E�/���w87)DA3��40gK2���U!D4
i>�y����-Fc"'��rڠ#v�cQO���B|Ȭ\xM���<Mˢ,�I�	��VE�l�`�x�9���ԙ��5
@|�n+��&%�
+O��������nl}�.���BjG��R%
+����yh8���Ζ�2�PE�[������`�W~�6���65�D����d|n��Ɨ������?�?�/�eW`
�x��#Z�C�ږ=���r�H�񏰢
+X�4�Z�/s�Z��"�c�f�&.!�MY�N��

)=R�4U�9�M.z��;��e��b}o��-�
|�v�Z]Q��35UGO�D;p�3s�,�M����1�TxV�+�1�߳�0�DZl?�HX��s���P�Wz�Ur��#F+�fV:��`$#<~��Kޡ�ò�ʖ\̾m��`5��
�c��;X�� P�
���)w�K6 hd�b��{��:Zd���Q�j�l2�4�9M6�hª+9
y!�Ç�s��Z�U������Ǘ1���_E�z��Qu��䅬��mʢN��e}��k���}ĝ�՛eE��k�.]Z��H���
+@�"Y��Ύⱳ1;B��l�jF��-G&pؾ��Օ�Ҽ������9k}@%@�z��0�J\�VH�����"����‡'���\Y�
�O' 5
��/0��MS��6��Y���
�A�eOx؅�
�v�^qfJU��8�%��ȁ 6����HQ���Q<��¡��TbߞƱmB�Cm�mA0jSKs1X�
�)"J� �
+�DG�X���O�)r
�<�����rk��mEL�beuĠSS��G
+;
�{�.�;������&�!E p��;�<�șE�t7�އ����V,Pyq�pڽ�Hf�P��
+���
P���N
�����(���Z
 RT�9�w�^�?A���kh�6�K">��)���q����W�C����j‹�G&�D�05a<є�~u������S�m�̏?����:�f�;nm15&��i����S�-ym���ް�m�s�*q��_B��;�>fS5F0�u��-Pݓ�yY�4����
%Pu
�!��� `%�ís�]w�v�Σ�nc��a!C�A��?�P�"����X_�2-%*3��n���(��@��'~��x0��x]��X1K��/��Rh��a#=-YшH�LA��i����A�`C����\��;�6�HjG��p�؄���~�\��wK�����eH���\o�0�
��9��*�����ؘo�ڝC��ܠ����� +���m(dAゾl_��a��XIT�4
2I�T��f��������P;��+�P:�8��yt�=�e�q��oQ�
+/TШh�|Go<Vi2����
;ZÙx�͎�?���]k�r;	��EƐ�Kb�8���+����!�Y���XdS8+�t��P?
�3�5B%�����	3iW�!��W��Ϧ������*.{�R�
+�Q�-��?��>�q��W4��!���'���MN���'�;�+^���%�4��J��2G�T�
v-���]
������_�y�b�|t�Mw"��yl��
I&4��
��p#h����fp�N��v�ޮ��)�ϰ�?ᩜ�U��$�2��e��p��d�̍��E[���ҍ�c�}f����'���A��C
x���^����
l&��t~D7\r����@��F��?��C���v����Y��o�
xS�ְ0���9��0��
WYS�7�qn��л�����(G�]E�M�\�� vv�ҫ��e
H�AW�X��O53|� ����B>�\$�%�� ���ׁU�4�^<v�͖�����q��
OY��1u+n�!^+�0�d�e�����숆�7�ŋ^��	�g���XO��	iqu��!7BDE�+	���n7+!�
s��E ��~[��q�͝:��\~�jW��WS巌���HR��;vFz���P���}E���q����$��˖/�[�T"o�o��k����OR��z����s!�pፖv�U�xl
a �J�Ͱ ��q_�PW�8��c�c?�2�RksP��s�}5�<
|�"���!���D��k[���s)�P��xMA$ŲcMm�L]'��p'��\��-��D��ԀƗ�I}�v�.�X�r	y�8�ui�����1�&"	��d�M{]yK�;F���ӻ�o���B�kR)i�!��ẹX�;f��q��EB%����/�(��%aDKS�~��J��@MqC|
+?�����4r�{�Ÿ���K����J�~@�P�����Oo��w�7�#e-Q���)%�	p��
+ܵ��dTg��(٢�J$ƾ�
�H�A�,�ґ�*֭���zAO�*K�ǃ�k�bY�/��X���0zF3��0��>
�O~��0v����qB��:[Jb��?|����cs�IpgugB
�#P��+k���<*<���~���\��)/[C}~+�i�{�|�ɫ�X���mG��2�GP�5�s(�
����q�^���d&��	�v�Y���ئY��X}��t�*���$GX
� Ħm+w�d�*���� ����8��%��qc}�ZD�,�oK+%rD��wo�O�G޷;1V��w�N��>��<!���BF[�uD"�XSI{�P���!��G9 [
+��U��H��H 
�h�~v�ZQ'�ב�����;c�zv�n�d&�[�
S������#����ʈ?lX�
�I
�_��CN�X�P��K�/e��Tʯ�i6R���;�u��^ED�(
�4
��y^��z��2�V�8��-�?fט�ϞV����1�uW!�_*r�1��c�ɵ���?E�yϾ>o��=
V�n�p���␨��x%P�!RP�[4�?�a��ҸC|T�8?
ow�
h/�-\rV*r\T6�}�È4X���lM�9RYM.�

�7U�z2b��4�4ͩ�3�

�9
+Cp�	���Ó7M����M�4�3�K9�e��=���~����K�}
'+��hO
VKEi8���m
�,������_�%��
����gv
��[\�
6���(��MKE�����F�Kƪj+d���^ʅ
+�ID1@�
#	�W��� ��>�� �u��
�D�S�P}�i��hR�KmV���
帗�|��~�
��������I<k��<Ҏ�	��
��s��w�&ߒ\U���^	Fs	�Q(��2ED{��2�"�D��<m��c^)j��z�,[�N!tO`_~��i at 5vD�[a6e1G�c� ���B-�<XUNC �9"F��y �}�"�X���
��9�d����4JM�]�� �2?��;�O�NA
5�������r�OP��UHnj7v�+�i
"����ϩ�;�E����|4k/�����	f\uAI���b�0���[ ʛ����:s1��sd}�*��o�D����HY<�L�*Krv�X�D�74ז
�u#,��^ʾ�vV�S>;R�5W!`��m��m O��Ѣ���o���&k���9����5ym!sW��
�f�p�\(�GD[���	q/ 93��z���G��x�j��y��79�i��>)�4;��H��3c�;��5��{;P�����ӜW/�������2
'��3�x�R�C?���4+�tLq�>b��!K�� [...]
+��2
l��"�X�x���*iS
����.�AZ�x�J
�|Ş�Q5�A	G��Ї%}�Z+W%uT�{��ɾb�BLe�H�l����pR�VuBMzp
��,".*MÓW��+��
�jLA�qtɤT]�I��(z>��9ޓm�X����ട���u���~؇�
�;๽L���
�Ã�����H��L�Y��E�e(�dgK�cb�Лr�F�K���
Rc�"/���d�q�7��aAmP/�N�_%�Q�4LvD�|�?N��(��>/F�[����X�ζ
x��"�s�#)��8@ذ'��9�;�=�����2�ՠl������dY	"<m�GE�#5i����G%���
��Y��90>
�6"{���
Qʻ���t�[��
����~!8K�2��Ӛ
߮oF4.��rg�r�e��6=7_s���Ga
 ��{�P��o��B$�ٝ?y�E
��1����?H��!�6R�f���b,c~���K:$�PR��V���Rr�v8�e��<@����c	%��ᑠ�5�ZY�m�Bb���e���`i��8��.j��u+������V�ي��|
/
)Ӱ�� eY�#6-t�
x
�%�W�yω���
g�v(]�8�P\������d:~�a%�ijf�C
�w�?�����/���]�B6���/��4��i��R#]O.��eK��@�
��l��I4h��,�8���j	
+����CG��koL�+lMU��0����$o�x�on[C����ERk{��2���t�.����h8iۅ�@�'^(�#�U�&�x�H����I�mSC�}	�6S�ؓ�-E��U���,��pPwW�%��*|*/�k��-0k�J��t�L��DŽr�æ0�� ���y�5�L����rй���d�/��ElqZW
-s��Ե<�4{(�kZ��&�D��u�I�
�w����c��H�dgHmm���`�������?g,�(���SU)Y�3�/� �Z��[��Q�k��Gq��2ћ�(��*�:��MY}����.o���l�(#�3�c��$oF߲��ڸ���
X�<M���.(Yo'�
�Vt�?�=�W�o�4�\����j�D�OQ7��u��N7k�pF��5�¹�4����j��[%$��!�
��s���W"M_y-��H�a7R��0���##�J�b
;In���і�.'̂�灔	��b��W�������^JS�%?tu�pitx�y�g��J�7 eo�,�
+�'���2�������A��/0���|�D��Vpyw���,^�
�pzuV�هXzCЃ��͸�;7^���

$95�
��w�hR]�q( -	e�5[�L����+�
��R�F��,ѥ�	6�x
����J']Y��nZyZg��b�)D�$D,�TίY���`��h,L�c��.���V��\�+���uͣќY.
0p�Ӊg��Q^��uةh�
�g���
)����c}�C��X�*��x���E6���M%�l~�\I�m��~Vqc� �� ���qb��z�!񶯗تθ�6���BKm��f��ơ��s
o
��R��M�ҿA-,���
|�*�_�p���&��d�'��:�f����ǍI���m� ��oEE�� ���۳2|�K��ɻ�!O��@��嶹��XE��G�S�
o�[.��u��e
��bT0���nA���TLZ�FG��zO��4=I����݊M����bDJ�����$>��
[n���]��˙�lC%ݖ��b\��͂Q^F%�|2-��L����������~��?{��Y��6 ��qO[�
[=���;�r�c��#��6>5c��f
꾣���
�:�,���x��5�#�>S�@j�ppi�d��pb�JTy��!| h�J�QR�Q �����R�`���̭c�Գ�
~�Rlڔ�13RDT?ce�d�Z_�o� ����p�����P6��t"�P` I�
�����w<���=�9�%������p�8
�
�-�iI4d\��Gu
�E�=�������!u�A�sRB����������F[�n%
孌g���~ϐ?���;q�mW�3��(iu�e�38P�ܴ���e���
�E'�����

��z�lO�
k5��`���
�V�-� �R�Q��v�	
�gH���T����>e�w�N!N/J��$On�>���щb���s���_�g�P�͙�� y��W�'���
�i��(���z��%p
¤xv�;�7VBF���b`o�����|-V�s(���oܩ!E���mt�
0R?p.��y�;�Θp�	�GG�u�d��|h�u1�/��0��ܻ
��΍"��SD�Aգj�p�i���	�ؽ3F�@lJ���y Zj�Ʊ�rK��Ӧ�힂XA���cy̝)�Kܴ)����٫%~�D��*����7�(dd����s?� 4%�*ː�t�	��L��&�me���.�㼰BR_���������M���L�FϛPc)�ZH��p��lZ�H���ܙ��q��'�$4W�{Z�)�^��Z�OD��w��+�&`|���K��D��Byς�������^�$
���Ѱ��BR�b������	RU�G��J �7S�2��$����
�-+�&
�6��3 f֕���I4�;T'�>q7�PJ��c��f�
hE_��`���?�
�gI?^T����O9�s<��~,�����mw��"Z7[��v��_H̰��$��{��]'0��Kso�2��
)q�K ���Kz*�?'���NO��|,�&p/��;��pDx�.E��eW���ֶ�xo[
�K
7f��:���z��>��fm��z����%�@��`Z8�ߘ9�EЅ�b S�mW�
����r��m
1��Pg��/n�}��X"���^m�h=åY��5=�Y��</�c�vI{B˯�

�
��x^���N���\k�JS���IJ�F�`��+�8t��

\z�r�HSs��ߔ���f^�)�`
I_���}�F��]���=c�0�Պ��>U�#
���^k�;b{9�|�g�
*�l��KJ��\5p\�X�FЛ �<*��c�^A�up�BKͫ+� ���f�o]i�͆Tyf�(��f�1�R@)
mp���VhsyF;v�Yv��B>��L��Ε��۝�vh�H�<�:aeg7n�z7����x���#�X9�@�����"���%�x�rYm��FR�f|�Q��G��i�
"g4�	�P�W���
���2������a��Ġ�_s���
J�
+���q�۫�܊�(	�8�1�YG��8�,�����q�}�ybAvh���>n�t��y{Ԣ�� �n��<���\�Ӯ4��Ǣ��z��5_ia'T:HR�݁
i�|��N}nW8 5�qʓ?�ey"�
/�-o�6;!)��ፉK2�W �
��T�`�n�P�c����"��[��ϒ�m�"�&8�18�E
0l�
����-w��<�9L
�Q� �Gw�T�Y8��W|z� �V�0VMI��B��Fo���(�$|DX�]9�n��
C!�K�
n����>gv�J��M���y#���2	��(�Kp��5P�}UN���/<-M�7�$��y��e�c!���y��w|;�K��
+b�a��'���R���D�ό���n�����%�A�筟
�:<�,��	L�[�"܊i�
����mlV�yc�7

1B�]{��vM'�/+4�"JZ�
��W����R�Y
%���N�0�G8��=R��e��Zz�~�<�ǰ��9���҅(�R��J
�2'�Nx��[OfPR钩Y�V`��o|n(��'�b��L9��;��� �B��d��I3�|>]���
+5�{V�2
�'݌�Q`Ɖ�*jxC]&�H�o�k�ص`,��vX�����.�����@�<�I�)(����&^��T�s�����V?x0
Z�矹�|c�T��E���y !��_��:� �%�ƺ|��v%�QQ,�������F5?�P���)�j��Q)��>V@��
��U�h�a3��V!@�S
+( �/�UL��}
����`�z��`~$�u
KN|�[ra\�Ӄ����bjm���YWѶ
+��󡼳
�D�<��Eĉ4$�G��E2{bj�<�W�~���*�0�Gۜ�4��
�#�눨�T9�: ���
ƢlK��Q
"Y7�^�?vר��ڞ6Rի���k��*�����v_�u��A��	�'<(�帯�u�l��hH�x�h�("/!o���{����9
��P 
+qQEU����P�Th������P�!�U����P�
+�D���i��?��SLQ=��4�U,���D�|�
a���O/

��3��a����+w��A�̙Ѝ�^
���n%^�׊R�Ҭ��,Ӡb at X��
�b/ߒ� ���$������ʙ9O+sn:�.��]��
��$)���
'8i̧�����n��F�jMK��%�S�[SQl�O

a��H
'	(\
�
��	Ӌ�H<�'�T�l��*c�Y��'"����n��
iy6
�4^R�i/�S���<U��@��vT�/>d��r�2d��u�C����7
F3����1�q
+�G�Y��8�oR3��%gf̸r��
�͕���m!�
\{�t�	x�^�����A���"�����k�|_�^
{j�rb4�/��O�4J�t]��F�o�h¥%	��L
3p�@m�ɉoI���b�Xi��Aol�B
�:G��M>�MK�Fm,�}A4k5�y�<N����S�b]:�"����)+�*�:l�\���ܡ��Wu�l�����5J��qp����?�ܾ�%��t��%�q�}��{&�a��lѵi����,�*�aҞz.aN~����
=�k�����W��wt���ܱ�A�z�ek/�6l�a�?���o�Fϐ���>f��s0&�:��JdSIz��n �6�S�VG��s 9%8ã�NZ�W���#���P��7����X������up
���.s��g�\_J�yYȎ�(�
+endstream
+endobj
+3124 0 obj <<
+/Type /FontDescriptor
+/FontName /KMUOGT+NimbusRomNo9L-Medi
+/Flags 4
+/FontBBox [-168 -341 1000 960]
+/Ascent 690
+/CapHeight 690
+/Descent -209
+/ItalicAngle 0
+/StemV 140
+/XHeight 461
+/CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/a/ampersand/b/c/colon/comma/d/e/eight/endash/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/parenleft/parenright/period/q/quoteright/r/s/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
+/FontFile 3123 0 R
+>> endobj
+3125 0 obj <<
+/Length1 1642
+/Length2 14834
+/Length3 0
+/Length 15692     
+/Filter /FlateDecode
+>>
+stream
+xڭ�eX�]�%�����
���K�5�����	n���A�����s��u�o�̜�׽k�ZU�W���j*2u&1
�@
+�������O��7ssQ�+���@YWS;ҿ<��3��r�0u�j,H% ���l|||�T�� G/g���+)���6
�Z��Bj���_O��)��w�
��
�������Q
  u��Z� ���*��JҤ��J��� ���"T����
+ at s��
����Lj���9���Oi.���\HMI]
���n Os��?#�#��
������Bj�l����
\A�@s;7��k��+!Gg��
���d* Wsg��+�ߨ*R���������.��0)���N
���?%�
�K�u5:���<]��e � �8ڙz��������4�\�V��#�3���������/�?��u��o՛::�y���]�+��
�Β���oLs׿����,�􋬃%�����v
7������: �z��o� ;/R
�%<���oHR��;����D�o���E��y������o/�����_�����L��6���
��Ac�@�w֐*��3l��I��7@�����=������_wk���W������/�`�W
&6.f���.R at O��
+��ܚ�������ˮ�`p�: �
+��������_0
k����?Jp�8X���j���YdT$��1�&�6���W
/G �������_���~y��0��M���������������'�x��s�h��
�$�gefee#�����\�Is��?-��j�`�������������
����� ����Bm2�3]p�G�$��� G�
˛5J��@}�{|�&��a�-3�:���
?~����c���.
	�(�~�mSw�0
��#e�֎��ZR؅��f�:�9��fT�C4������.�½(�����<�)��
����7u���#�����p�
�_
y	pT�PH�1�Ny"z��>�D�.����Mk�S�t�������k�{ue,A��z�ŊZd�	�FT�Ŷ[��.��&PJk�8���h�=�����%=q���������V
+kL�ͳ�S��
�9f��� ����}���M
�M��/?$�B�H
+�zi�S�Z4u�ݑ��i
J��t�No
�3�Ro��)IP��U+���/WHv�@�f�;?fBւ���~�h]|�2�
{��s�W�'�Tc�O d�'�{~�
�@�N��Vr[��N����� .|"�c�@Uv��D�>2z׺��O[��"��L�ڏ�J0
�xD�B"ty��������	�2C������(	�-"�z
4���h�:x�W,�A_�Es+�6c:d�;	HL��}y�|�������H�<�찅.z΢`�Ğ��14�]67
L
����Qជ���=:rx���{�kn��;�����L���W
 �<وa�9��E��!Е��O"{���'��$|��
G(��y��h��z��a���Kd&�;���"�V��5[��T��+m	W�Qk��X8[+N�lY��<�����5���@�J�b
����80��
���f�
��au���'F8�ZsG9�=]U�{@����7�+����F=!D��+���S?"�>�}I�g�O<�*�h$8�!g�I��o��o��V�/P�
+�ё
����_|BX���g��dҶN`"d�<5��^�z�Ǘu㼆g8���l=�s2㕌�O�Є,�d�;y�|���Tǀm����'���R�G�;��%������|teBg���IOъ�IfH�?�ZX�C�%�6f��%Rĝ��|u�Z�6�1P`(c����>I�����Vˑ���E�z��4L�x�cDTU]��vkΉ�XO�H���L��6U+g �9
HD�8���o`�ń<����Z��u���@9�f�I7�֒9
+8�Q���0�}փ�}���o*WN��&+T
+K3��?���3��7���T8�!�ˁ]�pV1"�%�Yb�(I�0Tu�y�\��3�U�v��jJ�	$�e����;���C�#L8aeJ�s~D����
!�Z$�y9�I��;$Y���NV	罖�.����U}J�2(
�"��n���I�y�m��X��Gy��7R�
f�J�8X7�^�”<i�s(�i����u?�V)��\b%�**El�^��f�\fwJ	J�k�0�[�\�%r��`�Q���LBѸAV��>�94���l�� wo��g���+��~s���*��2�妚�)t�s�K�������
+t at y�'�C����s
c�6��p��4��;��S�Xf凚	��7	
ڟ����Z�Z�?��Z!�}U-hdJ-�Vs�൲
{o����Fִj!X��	�wKWM?��d���I��m��>��=�Q_��t,�cr�S<F����ͤ
��e�}X/(�gA���lc���c�
a4��
_�0~��Ļx��
_P��ڊ��4 ��F
+0������4�)Z�V����:��O��r"%�T
;�1��5\��3:�V���2�īa�0J�Q�3��T��Ҁ,6(���a�ۣG�
-٤Yi ��aN�]y+	�I*q��y��j�R�7���j�J�S����q5�eD��ƪ�H�0��Z
�}�4})O�v}T�
�܃!-[Z�u
=�0?�’H�K٢�^Q�0�����C
���=��bnT
�7���.��g�4C��
v�m����<ջr
5��V���plי�i;��ՙ��J ���kg�,r���Ό%f��C�KPqC��x\� �~:�[C��O�u� biq��W3ޑ�ى[𯜧��T,�?>�%D��?����bU��
���|ִ��{�a�d�o���1W�
�)R;&ʋ�gz��k��D�u�h&~�]lվ��S+㫙0^t�Tp��S ]�;�W�/gK�ٟ�Nq"62��w!�$�,,z
��hs��tTZ�%y�gy�j�t~��`��
�?�`���Bᩈ�Ak�&��M��%V���f˕_LqmN3����Őծb����h&7��1��|���to9$��p�|��4����A~[�������x(�
|�&�pѡ�a~�)
���5�r^E��l�W59�O��ڬ�u$�+��7���
F�ٻ�8a���@��I\&RY�d����j�ZDZ�$����Sݓߴ�#2
���n�������2����Wn��uX
+�����
�
>W,��]����3�E���4g���D���%
�rr|��oJ~R���E�W��f#%����
+��)���ZPIi�G�s������zZf���򌐩�nv�nw�.}��A_^4c��:����˓��p��MDž6�$F�\�_������X
o�>3�
��5�<O=9t戭���n���S

+�m
�����;-7.����c�Y�H)��:OI�ơ74o%
6UY��,`�1��[��G��"g��^����+�,���d~�
sg�r�EG�]dkt��7��D�>pe�X��$f��H���B/��
���)-�XW|�J��� ���fm�( g�{��T�=U�t^�-w���� �  ��sִ4�Ϻ*�
�`3�98��3(k�I7��bg���c	��'�Q��&C,;�q_�b��{��4'���Y
$MHQM�W7�S���
-�L�DW��~���4��d�#U����+O�/�����������C)�������TE�C#�u��<eZ�
��A�G�����gX��e�������d�����f������i��I�&���˚��6��4����a��ɒ���!D�1��C�8��]��#@{^��Ic���U<j����
��	_�G
Z�F�P���O��w
/��
S�	⎌�*���~Y0��{�S�:�_����w�V�D�tz���j�)d��(6���@1g+�X��R0�:2bX�	�Ǝ�ޫ�V\�I�
+�����Cc�D�E�6�d���ƨ9�+���j�
cm�,fW�NǞc�y�]�%0證3ԝ9�%�}�Os
v�
�FO!:-��:��y�E�[e`Nt��8�*�9B�/�K4�T��R��1�X=�>2;ZC�_
J����p�1Ƚ�Tx�
p�%
�-�
b��򔞐 �z�=��\�
n����>��)��_����һ!+��7U&T�"	]}|��ě�dh}��'
kM�,���x�N0=gZ�{�����#S_%��^�{��R`t���Ӓ
�X���#��	�W�{1`� �T����Aقyx���
|T�����D��� ���F��6��r^f�y���ч������;�5��j׮���"
���ه�����)�F�-ܓ8�E���_�_(sJ�br����e�2B��M��7�b2�m1������]W��?��;�GFp�
�s�qӁ[3��k:8*B���]�CZB�
�2G��:�z�4ݵJ�;K0`+��Y��hj)���j��X���
wL�
L����q��?���K[��P�pꮾc���P��%��&�|�	7�oSg7��U�w��,�L���&4,
���Yӗ0*&΋A��q
=�*���5[����uc�A_G0��҃`��+��
�a���9=���,�6�І촌��m�K�B��0�=�vƃ�>�w����S4"�f
�1S�|� ���:jW��x"0�S��iq{HV;�
���
>�ʿ�ۂQttA����*���V at U`�����k����	��vC��H[��^��k�q�����?��JԽ�D4'm�PC�MM	l��u
FO@&A>�6Nt�L�a���")Ko�߃�(��<c�z�<
��F�	TY鄕
2����K����WR����n���ݻ·�jS�
D]�S�U����0zU�$�?Y�t�i+�W�;�)�ty
I�A��D:�^���6�Fh�c��� NC]87,�[��7�Ho��%�tQ�M��
	y�����
+�A$= C�e���E
�P���k0[UUtHW`��|:-�|A\C�K��C�\�
��[��郂����fI��nQ^�(�{ӑE{`r�QE�S���������A�lNE%
Qb��t�
+��)��:!
�
�}�:7S�
+�b�,�� �(�f�n�#^��`���B�<�[��̆5n
�zC��c�
+�
`�����s�Ѻ�J�y�/�v~
+��=,�T��v��
k>;.t-�?�5��"�7�3G��bB��]�- �����c�˹6�m;���hY��֯����p����'
7{{@ˡ"YWH�	�7
��S=�I�4k��3�
$$�(A��R$�\���&d�ǟ�v-�
��
KS�_ōMLА
O?���-�\�������r�L ���ȿ�����^���9<=����;�5�Ӧɔ��Fo���Bލ�c�I��N�����`B�?��#���\��<�PC����ۂ뎊FS��P��Dp"�3!���si���E���V������1�
��׶6�u2V��GA�y#l�.|��I��sȧL�g�"7��{]a�Y��0
�o�^�L����C�ɪ(},�9��2�?�'D�U��=������)��V(�B�	2VTH#������V	�����;������$=��=2q
�̬��dS:�����X�:�^��1p���R ��5r���>�?0�}��B�����^�O�5O�S}����2`+|�m�T�C��R*=b��
�ƍ�+�.<��%j������+x|+��g>ɧ�t�F�v1��.��W���q����9V�Jज\.��V`�a4��<����9�wbM�:8�Mc�K뎜cgj���'���}d)��k ?��=���f����$g��	��R�r�'
+��'%�{7m.eA�� �-���h0~�b
�5t�I�+ȒOL���4J��ژ�sר{mt��a����I���rbb��JHe�<d��#��*�ᒙ�i��ǹ���o4�ܥ�~�c�LO�uQ1�QH�e��ڸI֞�]�e/b)�N��_����B�g���2L���{��˞�z'!� A��,�_"�#M�A at gq��of�B��~=�
lpg���_~f�!��X�I��; H�ؙ���+\����½�8����e
t�~M����_ݙ���a��v�XPd6޲�M4���b�e�=[$@����1t���Z
���@������B���?	�}�������͏�>�S.{E1}�o�ۍ�s�i�?f�a�e�N���#�(�B�	)����ֈ+3nq�Hbx���=ѕ0D`,5CQ����
��7a�*/?�ߒ �^)�i
�8
+�a����#��j��e�Ϧ�/U��9�����u��*>����
���V��<JAyޜٔ�5JG��D�
H��K�(-�E�e��W�e�e���JY��
(��A]a{�4�T&Ӯ��Jd�J[�#��r�
+�aM�j�����}I/���טM�!�y���Z42�]؈�Z09�tV�l+8�)�(���
~��4�
�	�kd��j:l`p��ޝ.���K;�}pJ)V�
���ʑ��t�<���F2���w��l�#���W&
���(���\'s�$�	ŰN1Y����6�\��lۏ%lJ���9�[�x>�
xM-:�O�2o�<���h�5��ѩ�"��Z!1)r�?�G����/kz?/1̇�����1�����@/͂	[4+�����}�yn�:������P˺RM�oҸ8vר�+�~
��
�K�Q�$��ܱ��#۳�l�0v�M�O�hŵ&P��C�t6�Ż1@dz'��n��g�Y��7�R�9b�����Zw�Ȧ�y�
+'ȵ��A���ekM	0�-}	p�Gb"v0
�y�E##����s�t�A��:�S�֟� ��}��t˱��M�����H�s�dEZ!33Erlc
�����)Q\N����R�gO�åp�(�9h�:�]�y���$�Tw�[�\����`�4��)���$P�eο<<�֊�0�b�ߜn�r�7�G%��5:n��Ф�Н��b+u���1W��`���2*C�OWd�M$��oW9J(K�

��e�M!ߦh�����z���$�H�;�+�G�V�T�l��+�m����d����HQp���
ܺ��
��.�L�Q���s
q�f�Ѿ�]�O��y8-�����C���������L���QfzC&�ڜhE�

�ˈ;�%�l�aa�rÈ�A��63w��a�:p� @fLU}���d"�1�e���4��
bM�6�\u����r�a�~Q�� {��A�\�w�c�p���*t����T��N�@��_��ۑL%-I�vW���1xf��];
$�x
����?��2�"��
�0������w@�,�G�۠�x�^T�THqn����}?�"mg�"t
~�����C\Qd���?�8����R���7C��֙��!#Pd _nMjB���;�+
��ʢu�ɩ���M?&N�T���8}�cU��<�D`�${�T�L��e��))��b��n�~�q���x����s5���󨷸�ClA�y
��lJ�c?��0<�
?�pUbO7���
ʺp���j<�i~L	��	<��.��(���3LPT�GPϗ%�RC����l�d
k��R'Ծ����&�YE58I�S_I%g�FЕ����N6��V�I½���,\��`,��g�x4�q7N3�x���?����@� +��y��Ȝ3,G�#��{��L��C��������7��8O��kO�f2K�9eZ�Bp���>͊=xLX�6��e�fD !B���[-#b
��x��]cI;T�p일f7/Պ��W<���ŕ]�N
�l/o��ϊ����p�)Q��W��Ȏ�Ι��d�d�~v�C��_%i#Mȸ�
��qB�"H
����Z�mpO��
+��x11
0��ӑ�ˆ�s
�A]vǠ�A�(�N?
�=�`Մc�
�)!�1�̭+.�g�6L�p��
+��QUnh9q��ɴy�Q3����y	�[)?���ȷ.*��tȈi�

�?��xW�^���н���'�߶��uh�}}$f5Y��g��h
R�^�n�g�R�Т������\�ܗ��Q;C]���v�tk���@���1��
}Zu�ŏ
+Ϟ�QE�SuU�}m��ݓE��\c4.)z��@�;ؗ�p�d'�˔���=/�Lp�/�#�-؆���K��={��|��•� �y��\�/�Q����{$+ɆV�|gK���Кf�OE�H<���&��*SQ*ھ�[�e
�����|M����
���-�^�(׀���
>=1��$W�����v=,=��m�L{"�n��\[��d1Y�h��c0?���Й����T�ŒG�m��1����!<�Fc(�H<Z8�d�5vQF4�z���ϕ�h&�Z�ZJ����O�m�t�؉�$!�T+O�}˨5U-��(ր��3���R��qݩf�;r�S���5��͙y,`U�r��9�_�(�2�.�������C0�Ku�|v�)��`m�^ER����&�|��
�*r���c�ׯF�r��F
�]n�-
��U]�g
k�C^�i��E�nj���Yŷ�	s��DM	��ֲ�GS���A�5w2=5t���� ����_^N�tՐ�V0����F
�`�ᘈv�ވ��,���_�̄ї�_徑�4��q�3��T�襍7fD}.}bz�8]rg[
c2	ɞ$f��j`r�2K�ZnX�3���}�_+WH��q�q;� �60�!�
O��A�gcZ�~��7D����LIz�&R����J%;
+�#��b6C'�;E��q�4�
+[�mK\`�p�o]� %(q
q�
+�j���}w��8�&%�ˑ��
��i�um��L�<��
��ŮJh�\��Z�z �/��	�
Z���烋���.�i�`��r,�����ͼ��.,�|�8����[�$:B�S���O@58���€[�6�&x���e@��n@�)��,���N�T�n o~3��He��p²U��Z�K��8���@<��DA�=�Lɓ�7XʕSb��H.g�����|�'�45{:��U~�㗊q
+���C� ����h,$^��@7�W�E���j������`4Y���f��	Z-���%}`<'ׯe����j{��#G��
+��!���!�z���g�Lt��Ƌ
g�Jڥ
�}v�cZI�{:�����w�x���/B����)K�� "�65��ᷡ~/�c# M�E3am}�M::
�H��4��ƭ�
�?�D��a���^sK07��m2
}�������`�����$�q	�h�d㸑T�V��SrWf_
������g،����'��h�Ƹ�%�W�Y��{��>w�g���׊�Hg
�
�+�i�A��
H
ϧcɷ�swOZ�j�#N���%�!+]���V�z�
�T�QƷ5"ι�a��ߎ/� ��NW\X��T��ch�ɨ��K)�/>_�� 9x�dޖcB��d�1�=�-�d�]-����SK�@/{K�wt!���ؔ�>�  �5��d��e;�0^�߫�3P���}��!?�R�\u�d����[A7,ߦaө}y���`œ��g-�N�C���1��^E���v�<LV�R�����V��P��aPw0�
q
�h�`[`���ێR�f�v�k��*�,�ZVtD��jƬ�
��K����w��K��؏'q�x��1��V�桗 3k�6(�ͧ`�)�]��T�ȩ���1k�����Gt��3�E
���S������+�Q����6;


I#��CPO��~�KS0�攉u���ϳ���ٻ��8�0
BjX!��^W��ɠ��td�<	'n|�|����⛘C��)u<}ɒ������F_;�3W�
�A��;S
���`�\Wg�'�+�)�@x�֋��i�\�[���qd�+��a:���k���ƛ���j�k��o͈���j���
V�8Y�r���Ĭ�𡂓����L�b�
+)���3#�*N�A�?”��æ�&/�Q��
iV�<I�o��_������B�#q��I|��W&M!�	�>=˥�jOg�7U�ͫ]ϋn'�	���6��{�0;j��
a
V���?^	�*Z�ev����jg�]�mT�N�s=��;
+v�%��0FP�����c��ŠR5��$/�
��޻k�� G���
+�g�%g?����1"
"���\O�Qֲ�fM�b�LP�_��4c�+F�j���3�V:���1*C���˓����R2$R
`E)�f<e����� ͓��
8r\+�%š=���%"B:
'\��	
��J'1��3i+���x�˃rc�޵

�Я�׈Ӻ����[ܽ2�s�f_�-�����|�J�-��)�����4��Nr��k�}�ٷKg�Fn�3M�5Hb���ѽ�+�y*�0
!Wm8�G/u�AS��X�m�1o��
��܀�m���]��0�� w�-
$	��
+.����վ�D�q�SZR��D�YG�b6Ժby�263[N!�G��o�
�5}����R��K�
>�q
 �����?���ds��
+/I��E��V��I�`JA&�d�'�����D3�×���́,�}wnUddv���i��6��RP }��2(�����L�
+�i�io ]�1<9��7�
�������C�$���	T�W�{o������ۅ��a��+� �&
Z
�{�F�,����	���>4��Qp�*�	2��M�6�ti�Soz��P�^=�ª�3DF���@�l��kχ�@
��ϵ4u�fI�7��!G��dV�����K��P����
�c먇��Xͭ��aO��E׺F�<LıWE��rW����	U��魱5jkD
�
	]ʝU���7�
+Y���
+��{��]�. J�a猪Q\��v���`��,/��x������q|�8���������|zLh
�V�9갗�^�|�^��\r�ز��n{>C7<F�ww���
d����ܴ+�@�n!
2 ����3�6v�`3J�W�Jj�K~�-
e�QPz��9��%�e
Kڬ�h���_ԫr7D��<���]���
��!tg
��2���i�Gl�C�?#�����;�D;����9��;����pXY
�hf8�����8 d_�Lc����?��8ں��&
VP�+!�~�Q��
����}�@�'m�
Dٽ
!?�)E�L�=%�Q�=�*F���hQp˱� ؤi�փ�>~��5`y�k�V^i��*s"
SZ�=��X�֖AR�+:o= l���y��C_��� �m���Is��wq/�}�L�R�UnquɃkݪ���ϫ�T�3�O�#4l�H5-u;^��ϋw
+x�C���Dp�7|�f#�X�q<o1A3���t%��.��;��jB�fO��4f&�>'�%��y����מ�9��ó��Jzn���
+�įzN͇C���_{g2x�ZU��),�Wh��'͑H{
7ݲ����f��X+ozC���942F&O��>��O

�8Us���2�
g��}�����w`���*�1NU�c��:�>}�
+/�fg�V#q�dS?����d�E��Ӛ�])6wG�6�V�cb�m��En�8�sT��j}(�^U&9��ĩ���>�^�p���</]h<,j�+��:��,/lF��G�D�]�>�O-3՘�N�>l�5��K71C7
+a�(��]
�yG���3�[�ʄ5X ��v����� 
+O�;/׾����ソ_���yj�˸�!���*���L�r
qCm�N�]�!��{�Qt(g
�}�TpB��P��K����� ���aA��`]l ��%�C{8�(`��I����6΃`�����e����7W�!C�'�0%�}�QmF���5t��~�8h��z�sc12�M
�~��p�3�G	5�+��0�ɠ� 
+������n
��
F��iz�M�g�-Y;�9
+
����6����:�(>[*NG�\*�ϔC��O<O?Ŵ���W���T//��.�$13�b��
�2�*�l������H`IGݭ�Sh\��鿪']��vV��=�3w~��5����tl�(#���0nT�o��i�Xt6��T.Ź����2��s��c���LjFTwj���q���'��0Jj��d0lU�`�Fk�T6��8���~���}��;"O�z����=T	di�5_�1��~r�
�•��C5�8ɴf�����ɋM�R̚��|�
)ѕwSk�j8��g'��Ƣ��8�C�����.B
�Y�W�
+�F[���v�̑+/g��ľx����:㚀m.b��HXt�&�Tx���(�w�Yj��X�MntN�N>d4���Ȗ��,5^3�\
J��	M#��q
�Vo
���砧\p�8pI��j�>
���ui��){{}���w��!=�����Є�B
t(��{$M_�ƃ#��Y�t=	-�y7�-#����x9������/��L�����bު�V�?�����Z����*G�5�L�G]�
�#/��Oh�̶af��
6��a����~�&
��V�T'z����C
������l��
�^���� D�S�x��9��B�n������C�X!0��)f�kЌ{�}KF�|�F��6��s��u�2v�	 �?�~#x�����*��:g��33�B�M�.9�!���H�� ��T���&q���]m��ӷ:�~�g&�|WD�6��0�.k X6Z�;���C/�:����
<��}�f���!G��f���C�rO�	�
~���A�
+9j�[5���:�d���1 
_k���0I�!.-��J;��z���#W�R�?�Y(P��E2�Y�m�j�@�Ap��&��r�sK:0S<,�\܈�i��T f�8�6w4cG���8�dp}���f���*�\�ߨ��AF1q�:������G��%L9
]�L���g+�C�
�S27�+��ó��	���t
+7-�Y�M?�������A�z+�>M�G����>DG���s������%+0D�-a('F�����{��Uf�$e_x�s]�⥇�/"+���K\�b
-�i�����n�2U��K��٨���`���u��(���tZ�\�=K^�/��؃G'aqQ���I�
+�(�Ӱ��$�\p��A
��W�0I?��d��ĥ�'*Z6�R��(�V�}����vQҏ�k�oD�s�G�82>��R!��F���`��&Ԯ�_d4X
+T?o}�4>5蕟q�]w�[��/���0�E#_oHa��y�Judz�l+��T��)���f�oo��	Gj�g�S�Ӂd��:�q�
+�j��c9�� 5�j�<��	���̑����eO3AU���,�ߚ
+�/ҷ�������e$��M�X҄�y6�}\��DqBK��ӷP�px	S�;��=��ᡈX�|E}
�d���yT�|�*Zݩ�ɕ4}ҕ�ӑ;�5+�6w���E�4!�=��
��*�2uS_
�mD%
�g����Z�e�x��>".���m��L�bl����$�����R��#�*Uܖ�b<��!
c�RK�<Bb&�fY
�*XOU��C�Nj��x�N�/����Ja-F���x॑���W�	˛�$��}$*][�O�H�ۉ}T
a"Q��~v�&�dh�
�x�Ԃ�ͰW/y�tt*L�j��7D�R��P�|�=A\U.�t���7��
�ׂ{
ۦ�az��<4Na�Zv|�� y�_�OT޽�pQC;�'��K��F�����?<;S��ϋ��
͇ ��!�O�7��k�F��-ҧ�u� ��#t��:�0J�\c����A��Lf,5-a��6Fނ	,����r�w�͝���Ќ�
p�
�]\7�oΩ-#�mɵ�8ȠFH
��{�Ċ���ƠJ���\a_�Y��f%��h�L�7XB��r�c[��pr�#S�a�j�2��l��fu��5l\X��ʟ��HUl
s�}��5�j�6
V~��`����jڔs�a>�eYP�F�7,�hnJ�"
�	a~��  ��1�o�
n0Z(<H��,���7K�rI'ˣ��3]�2��qn��k
��݀�S I\��Ţ�Z��_*�	C�2�{��]�TZk��Z�a,IJ�lM+f+�� LN�xLi1�Մ��]�8��k�Cc�MW��7G�9]��fX
����/����Z/�h��\��,����d��i�P��f`dT���8�+�����AD
�
���8l�0g,r�I7\����o��?{aX�
J�\�4�>-o���4�)C܂q�t�($�{^�/6M�
QP5��#�IЉR��u��r���;�h
�g�-����qH�y�o��XLPV����8���R�J3gd5���Q�jlXE�� [...]
isQ������N��G�6)�C�����*J�X���5��[
� ��7e���Å��*r&K�ڞ��ۍ�
�:�n�C<s�#f�a�����f����8͔��Zc
p��CJ�����yWFf��`�f�j�a�n���PG��7@
��#NsK�+3�  ��j����
+Tƒ�����z �g*	�W�8T���X���,ߒ�P��Dja��A@�`�a髊3��#�ծ
9��j��RT���V�偲�oD!�8Xj��f�E��m��U�?�#E	٬1���
*�[
l١Չ�?��ƀؓ}���Oa\�M�2�CV�9��
+Q|�d\����ZO(Ͳ�`W6̮��
�9n���(��T��p7�*r�#۱E�$�Z_f��:�e�a���J�翽y-|��eȽ,}h�	J,imχw�c�	�`
��:
�Bv��RT�~���
L9e\��
m>,6�0O��ԝ
f.
��?
+���Y�����Ү��PՍ���Jڍ����
�1u��V�I<��`�2凋��xdUN���b�Cl�ʖ�w͋
���[{q��B���L��N��9N
�?�mS����
+�]A��vt��\�����.��L�8��2�+����E��}Sl�VWkg��a��£%AG�"A2w��zi�ƭ�l)�����`n���4l	�]�W 9a}�1��
OR쭂�@�gCx7�����2�K%bO���s�x>j�)$���;<;��~�b���J7�fj*?����7)Yڣ����0)5~�b�Si��,ַF�`��0�����F�H���q�٧{�ƯO�K�~����"�Y}\�+j�)zhچ6�3U?I�����+�ŏD!p[y6��f
�����G���N�p_��
��m\eVm���}�
���l9��ˈ��
+��������^�/+����g��Awv�9���ڻnx����21[*�y�.�ɮ�
s�%�֥rS�5���&
2
	�)Th�6 B�g�&�"
+D�.m
;Vɒ����������g]��1�D��p����
+�^
����[��^�F��4�oZW����Ƅjpڻ"��5@8�/��=�"f�Y�D};�7�7�5�'�I������
+X�
�v��j
+�)������W��q\2B
�r/�$�/�P,Es�
"��
aKN%���t:Y�D�����N�\u���g���5�$Q8�=�h�s��6����mw'�
v�=�r![����������:
+endstream
+endobj
+3126 0 obj <<
+/Type /FontDescriptor
+/FontName /HLPEBA+NimbusRomNo9L-MediItal
+/Flags 4
+/FontBBox [-200 -324 996 964]
+/Ascent 688
+/CapHeight 688
+/Descent -209
+/ItalicAngle -15
+/StemV 120
+/XHeight 462
+/CharSet (/A/B/C/D/E/F/G/H/I/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/a/b/c/colon/comma/d/e/eight/f/fi/four/g/h/i/j/k/l/m/n/o/one/p/period/q/r/s/six/t/three/two/u/underscore/v/w/x/y)
+/FontFile 3125 0 R
+>> endobj
+3127 0 obj <<
+/Length1 1630
+/Length2 19951
+/Length3 0
+/Length 20796     
+/Filter /FlateDecode
+>>
+stream
+xڬ�ct�]�%��b'�m۶Uq��VŶm�6*۶�����ӧ����t���^�
s�56��
+����P��֙���� oac��lg#o�%K�
4s�������8
�-�lE
��� 
�	@h
`f0qqq��D��=
-�̝�j�T44��)��`�����Nf� �?�@k;{���_��kG �l�ZX"
+�ZR� J	y5���hh
Pt1��0�Zm��T S;G��� c;[�Js���%�08��-��ݍ����h�@G
'��� 
'�������
8�,l��]L�I����_	�;�������
�h���d�ha�
�UQT��y:�:����`g������埒���
�W�lha�p�;��0�p��6���/���ſ�pq��5��
h�@3CGk���_����t�?��/���[{����_V�3
g'��)=,�ߘ��c�Y��2�3+R��v &��M\��C�
+t�W�(����I���Z{ L���
�v�C(��X���#�������[��#��r�\�����_��]���
m���w
��1���3 Y�?�������chca��������� �r6��![���0�3�[h�$n�4Q�p66�Z��ٿ�j�&@Gk
[�_n��V 
#�ѩ�[[��CۿU@[��Z�_���?��������f���P�� 8�z����T#gg�?��
۹���9t̜L��߄��Y�oB�
��?�r�Ύ� ��u32�������I�����ۙ�3:*Ά�&��
+�Q�8:�%�_
�o��q�����@c��%;c� ˴�t�:����:}L�~ۗ6���������pU���7Mq�{,��
HS��aXS� ���~�P��l�wr�
0�"��kDy]/�n�k�3��N()땼C�Ou�8B_?S������>�#��6Ģw!7������'�<?Q�
�=�{
��K�
C��
+�@
�球+��V��N-x'� uw0h��r(�Bj�o,
wǩk}*<Q�@
+���?g��0Tܰ�VfT|B
�,6���� �~)�g�u�I�K�KUX��Kް9l"u�
4 ��u�6�t��^�ư)�	�c8�!� �5w1'Ġ2�
.e]����;E�8{�#[`���5�������l�]S�*J�D��Fc�1�yG`V�$N�W�)����In���`��� ���󓑆���ř��8>H�]5-�\ɽ��L���šx7���r^���ú8*#��n�Z
���%	�`
��F�v�AgZ�}��|�J_���.)VN�`��m�q�#�
w�� 7nd
{o�HTȍ\��h�_xX*Ԩ�-���v�oYh�&\]˘i\m����u��>P#�
�g�/�žG}]�������2����b) �l�
�c�և1�Q�*b�!8A�q���@&�U |�#�ך(
0 at i�i���
�H�(>^\�y���H�OQ���R
ѫ
A*�Y�%��_��a�,'����q�&��v�笭�ߴ օ�WRkW��EL5���O�4���E8�i���qI<���Zr
�-zeS��� i�h#�n�vIw:ѼՐ؃>jl�:v at s���THC �Su�ơ
�+�z����Z�\/����[g��'�d���
V��M?c�*�D�֎��%Au�b<%����w�ų�ñ��u��'��]�a�a��`�Q�
Ӻ-n
l�X�-��0Os<A)��I+Nc��4S�j�,R[N:�� O1-��i�RO��m�����,�������' 
h��]�d�񨲰�ħ`�o7�����	�\樛��2YA�~a�6)
�Q�Z�t�M��gh�t���Լ`nl8�v��H��ڤ?,
eF�s�\/���[@~�yd���=�=�-�,D�q�6�������)�,�����r-��ҡ�i�ąs
TS6@�vI�Z=KVH����Z
=B�sh���
��S�h
�[P��+�[��Ѹ
+{��-9 _\eHQ�^xr&x���v�x�g�t�5�L��߸*�Fby�pO��2���گ�"�T3�|WBy�e��ɰ �.pƣ��0�shV�Mk���I��S�#������.$##�+
�x�9������JZ�ҫp>���
+����
+��
�m#^�;��4�=L֤G-LR¯����p
ښn -��Z(�ۍ��%��W�%�kI�6>
���
+N�
tڭf���d"{@V&���Hq�8ڈ_
W�-0'��SB�M��`FL{�Y3O&�?:]ZY	!W�
�{*2Zq*��?�YC�+H
$ƨƬDζ�d]��x
���F�n4���3�H��h�զ�,����e��?�.�L-X��q+�������n������Zڑɜ���j���x ��R)}�$��9F|3��o��jЂݯ�t�@��t�Ô�szZq~
{bӷ�h|Y�)=b��<��{Jw�R*�i���
+44nYܴ�-�Eշ��6i��G?�L���y�l��>�qO����-���P�z33���B��n��Hu~���׻Hd��}�P�wO�':��¸n��,��4�G\u�	���w�Ym�����+S�ʘl��T2S��/�N�8���q�,�q���Ç��u��<����A�u{�v�91�&��U҃o��:��

���^��p�y���Ԍ�ߎ����<�������.
Q�����
�p�('`q�����Y�ibf�Q�*^p���)�9Sy/�
3
5}�O��BHh{��N9���^�lG
+6�F�v�0;�_m�{�Ĥ��ʢ;
��{����(͝���]f�3�Ą)]i��y��1��xp�ׇM�E��6� �<�
t��1�*#\���IC7`����;���bæ"%�J�U
4AV������\JB�2
�+��={�����#��� .��
�K=�6�q��h?^hD��R����d�}` �L�	�~�7K��ѷa(u�
T�Ȑ�Y��b�����/+�����)�K
�������s��2�#
�J���å!\c��‹�Tb�����*�
�}���=d����t�?B6��L�1�4j��
�o��;�9
��HɊu0\��r�9u&��D��g=�>��VU����b�@
b�c�X9�F�3����S����$H r/�v��Y�/��Tږv�Ml��]�W[��*u�1�K�"_ݖ�V�<sRz��k��G&Gl
�x4{��U0�B��ϋC�Z�o���f�
��iS����"-K���:۶��m��K �NY
��VL�� [...]
+]<��
�A��q+,�U����H������r��ЄK|�kY8�
��M�ipE�-=�I}��ۓ�)�^#�5���U�D.��Yn	~�<`�B�N��`9���=����77�
+J/
k�
,_�~f�c��q��S�;f��Qjf8^��5U�����%���p
�=��
٠ML��_j����_:���ݍ
鱈��' H(������ �udUx"�"����$�
��5p�Og�G����b�CpU���{��ф�,���<�{>���T�w{��X�I'�$����*ҍ'v�˲Ƣ��?���ؓ�ۥ�K��ڞ�6��Y>����n�c�L$���p�d]��0~A&QN>��%�i*�
d~{Iف����-r�|��(��J�j>�������T؏�LI�f�]�
�J��B�{1��=��S�
	�U�oT@��ݗi��r���S�����e���n᥻�ʋ�eb�l\�
+WU�䁗#�
�HVD�X�?��/�
�OsCǜI�c�|�,x��i�/
+�eŞ��>+2�و�C�����e =��{x�g�������I\�JDX�L�FcX�h�8�m9����]y����ރUB��C�k!Ğ���
V�����l���i�H��R�kH���\���nk(d�=hʤ4o֖7�W >���ka��
�K��z\����CM�6G��w~8 g)e�S�o�;"�=a�6]wƦH(���2����x֥^�Bw�ӮAb�"V�
+%oWb
w�$����"�
+bْ�&����Y�#�+k����ɣ(��[P#�ϛ�O~�(�ncMF�X�
+5m@�G!�\Lxg�閤?�`	t?C7
L&/v �Ƃ�L]��7ʯ�_,w�����љ��e\.g�w��o���E���瑊��R7�{8�I))gx��
����
+X-	m�ՠ�&�a�%I�ƲC�6�=8
���U�]a��`֓<�T��
�@3vu�A���eE15t�&��;�
1y�Yv�=Bˠ�"�����<Ɍc#(��^�
��h��c
�K�F����B=�%�ڀ�v����upiaa�{�
���EYn��!yr5M�v[>,Ԛn�8������%���+�Ϳ
+}hp�k�S'��;z4tkk�.����b
+O���I�|���G&��JX���m
���N-�����%g&Z ˜�{�8a]f&mE��Tcm��H�o s ʈ��w�f��Ek<�NU���i��3��y��	K�vʸW��>�f�;Z�w���Z�~���|~�t��G�Dc��	�a:o�r
�볮u��
,/�	��ݰx/��8��m#�~O���v�s�K�5�:�s]"���w韑���(H�d7M]ғ�杺��_��$��3��d��,���pL�Q5��; T��D�'Ӿ�]F�:�f�>����y?����owt���%Gߨ�sv5�
+*!��0���
��i��$��f��	�:EB��[��eӊ�+]�=�� ����@Tx��d��T4	~���?j\���б"�d�3�f�xK��u at 9
�}a����8���h�
~�]��
�����c��x�1�u
�����
☭.�y0�Y����;f��l��惣�g�����K@�/���N�d�m3�'����� J74Ѻ��M=�cĭ?��+�
^�`8*
��_f~�
+�g���?�
�
Q]-y鉶o�rĊ�Lc#��'-�� �o
�Jyh�P���l��B���d9��C��]����m6���i�6 �kRW
�L�mߵ$I�&6PW��р��
qo���F���ke���P桾 ��'HDnjVR,i���
+�Ԗ#�0���3ahΉ�������
Ih[����f�NJ�m�ߚ�[�
i
�jC���⡀a�:�=2ݢ(�f�~

s4�
�!���Wd��
[ q�o���ȯ\l.[��˻1*�����8T��y`�
�<
*
�~
�M��\���N�����'�(�]�9R��m�
f��ݹ�()�D�
1
+"�nqH�pF#��&Y*7*y{��䖵��<��n��sOwM�v����g��dnN�j��5�^Qbe>�J�p�C����L�/oޙEY=�f(�!�U��
�^�P��]�;s�X��#��

Ç��Mƚ�,�vdԇ,Ŝ,�׭�
B�q�k^Q�w±���
�
��1�ْ2ߺ�cvc��G�_c���@
s�'6��q�N0:e��.� �Z�yx��૧
2_B8~☤MA��)�{�C^#���Q��U
� �
���u9�ݺD���܂� ��I~���4��-Ej�TR�an�َ
+�YDaR���>�J�4)�{W�9S�Bs_����vߥ��{ô8�
ʏ��CC�䩝��Y�`��A!�+9�JY��B�6�_

����0?/H
g}�$7C��o�o��$��
̹�RRu��~�Ij^�U�98�:
�9�
����q�]�Mm�g�C!բ��%밢��c�|�2N��JvC!H�,w��K�!�h�8��)N���JX���鋐���;��RKDCÐ`)*Ooܜ!0NI'er���{J�"o��$�^�7C?�
��І��6iX��ଟ�IU�RM�P�#~U��X�A�}�,��q�r�k�7萴J4���X
+<
���Y��~/;eR�8oPc0
+FX�v�]*JZQC,|�T��ew���N���^ղ@S�
+R���G1
����Ng��-��p�
��!�L`Y�<���
��t��օWlj�D�)}�jR�]����� K�W֍j�gw�VQ��8!d;� ���ŌwϬ@��j]�6�Z5�Ϋ�]�$~7 �	�)���d*"9\V]g�
�[���
#J��o���
��
+eK�N�k�k�"�k���Q?!���c�_dث0��qHU�dr��%�[����`6
uQG�0�]�����id��s�~���X���?��[�����K{� �z4�,�
�7��ɳ�S��z
��*߹>�D�	��X ��&�c<
+�khyr�~�(��&��vf��l�GT#&'?�\�E%�hl+5}
�yu�|�w,�G[jf�������I�?�w�#:&����Z�Օ�1x}���4�|��P
+��2�Y�I�s1׭�!�(���
�|�t��Qc/K8<�B���+�mP��/6&)b D�
b�.��]��n,���8��sQ�xU���	g��X�ȇ���T�:�lg�u��jnps-�V
�b����A���9D�zJ
��E��Y4,xo���<Q^�?�񧃅.0
q��(t�P�kwz��!��X��c�.��8t��d�>��>�>h����R.����A�4a��
�cKO���4¹Wh>߼�?^�6��<wq(������^�W^�Q��tkl�G:�F���I�jK
�A��`�eGr�I��k���v�L��`�o���jq�T/�a�wKY.!��-�钌�0(��D
�.��O�8b��n��eG��wgL@!������
�޲��tg�ٷ����
[M�{r ��U4#\-�YFN#x �h �)��(N�#팻[j�O��^��]u�J9k)�1�����E���+����=>=-�I�XJ?@� 
{k7
�����

�o3�q�1'��c ���;(���.�~���\�^��Y>�
���)[�����o�
4BCy�dB���l�J��
���
؆�yq�~Ϗ�H9��
HI"�M2{p�Q���?��n�$R`�Ɔ`�K���z����u����6��<XT_;z1�(�2��F
�˘�ڙ����@��J_������g`�ġ���R�2Хi��/�I*
���
��a��g�}�d
ɱ�j�����a���G�ה+�jI����n���IF
�DIE�|��Ϧ�H���5�
�������O��s�����
+����qmA��uʩREy�U�kV�w*�ߠ-�$�%����w�ѵ�����`�pXۃ�p�n31��e^�mbPM����(�![<��/�\��+k�ϲ�
��}`�'*��B(�Ԋ+��S'_o�`a`IqB
��/|�y�%��1�
+����B��t�_��n��a}༢��W.4;
rH�-�&��Ō{$5�1�<�:\��l��
a��.%��b���FJ
+2�?1zt�(���6���
o�ȍ��e����@W�Jk����,��6zK5!�lɷr�mj��r9�#�"�i"p�-ʱF�T�������Y����84SA��QF�$�_�����%ᖡF�2�n�bzxz��A�}���z�UYG�e�{zh
<oh�W�-A&rj��@�%�~^2,�
���"|�It�4��_-n�

Y�eie�nw-
��(8_�g�6�
)î�
+{�1��9������
+�bM����vl��=�-m�fH�����n�p�c�s�� �E2Z
Ls
+�<) ��>c�Vp8��f�eZ|��tm��'��	���VW�/��P���������A�>C"�6>s��gr
+�EP�&"�
LF
�Ϫ�N+�n�~>����rB*1��?�����B�`�g�i� �߅
Wo�C���H+7���T�1�e$v_=Kn��tZ%~�I,z�+<�����KX��

G��6�#~6��н����(���K;��Ӊ��d~'o��̘]�*�ת܆I ��u�eQ�D]�:5���!� 
�'�J4��Q�<t�%�D�n�F�qو
w�
�-���իٔ�\��fȸ}��D&R���a
��h�
�:�FN���1>i��]W
�>e3���a{�>�,��V�'��1��(����.ё�<�&���"'҆d��"�b�ْ
'�9��H}�ylV�������]M,���aE��P�T

�<N�μ5��"uPz����W�\L'�
\
q�|�4?�cx�s�^�`��^8~
�����5���$�j��A��qw��&Zu��cg��j2,���3��/�V��`�r���]r$��U���3�����F�s_�_#����O�҄-��Ľ���3x~w
���u��p�iK*II���΄9`��0@��С���a�i�i����e�4��&�.zǂ���j�����(Pw�-Npv��Q�T�gY>(�/�.���k��w���=�5�Va�]6�.�>���H���iSZytB�3e��<}�_��(���%ҦYT���0��l˳Ğ�:��)� P���jhD��@�x��N�K[�G�M�E�3�0���rq<ze��d�ӧ��=~@F,|�
+nz
y��XbGY�s�����(��%wUM_�
(��,J��XO2�e݋k�lYew4^��q�JB��J�^b��6zuF��˷n���=��guI��V�u�!qQ�kE�Y'�%K�?B&�����#�
8����)8e`�fǖ�������m�K
#��R�Ɍ�&���\�d`ϨI���y�ׂB��]�I�+���� 6��
ݴ�9�MMdU�T�JX[`5߯�H�;6[�W�2��%�%)1���x?]�7���*c�?�de��<����?��N[��8�b�� �1����:։���1�hK|9f��
��d^�x舊�6b�(��t���sNQ��j�_���,H�;�6�%Z�Zt��՛����X
+2][LK�3��kh>B�
��?�17��u 6��W���$�,x�q��VD���)�
~�G�I�O�|Ģ�#R*B�	?,��! �����%�,�\�-#
o޽�6�'� 
Q��7���ɘ�oq��ũ8���aA�]'Qi
+��)�dMIӡ�pTx_)�-��Y�[����o��Ô!�oe��l��Xt���a�
+xx��Fc�&I���4�iG0��D�l�R
�s�l
��=�\`K�ɠ�
_nl5��>�#
��>p���
�E����uns�Q���O�ɧm���X�#A���%+
]��=��d����*����wD�i���:
���9�{P�|�0��^�>�`S���v�(�\I���Od�ֲ�c76e'Y1N����\�E$f7�;�Z2*��06��Z�7ۗ2"�A�BSa���2�
�B��̌�H��_���
^-��B���&�-
�dua
iz�
V�G>ы�`t� �
+���s�:v��w9��m������&R%��q�.&P
c#��L+
�p-\�>�Tf���U��[�Z����Z��W�g�}5n~\s�"�)#?ȟw�"��µR�Sl���s$HÛ��S����ـ���O����.���@�

+҃��*I��sO�ב�,�m�q2��M�˃��`���|��$���
�E��R�1N)W���v2��w�k��T[*��Ϯ��<��f��W*q�)�\��P��}�B�[	|����w
+&�<1:Ȯ��"�r_��o
��#�i����FI��MI2@���w��{D�7���'i���
+胀2�ocˬ
	������	U6�ӝ�6��/��$ 
.
�
�wƏ�*
c�n0��Eo�Cs�E�i{�1�k�k��7��e�Y^�X��{�>^����)�ƾ��W����*�Nˎ��!�W�G�{��6I=����;�q���鵅�Fr�:�o�4U�I�d���3��tM�b8MW-���T�
��غN���n5� G��K�,P�eb�<zQ�3�q
+�M��2ⴍ����O��dF��M�r	�r�~��Ɓa���ץ�rg��:qS��u=:d�1�8}T�W[��Tϲ
럗q�M=�G�<���DX
ggc8�t�ݞ�fWiM0�'f(z�����c�s����H^_���vN�&�4��F�bn!
�t�sc��
�H̩�m
�ms�8
	
���$�H��Vojsto�V6M�UG�sC8�G����[/�?K����];Ch���ܖ�eƙ��Y��c�����a�
e�R��Ԋ��t���T�XjI��q���$��U�8oN�=��(7�}��C�A�Kj��;���lܴ�qZ�€�제Tb�i��)�(��Z ����$<�w��]������C��6���:7_Ɣ>���S����K�
Pk	��V�LW�
������ύ�<8XSQ#�̴5	���
��ymf~�
���<X�gI��̦	O�v���^@Bg�I�ָm�:
u��vffi���5+5�[J�,����J�x}�q=?@6^�U_���1��!)�HU
1�BB����3��xv�^8b��������3�����5��m�����m�|�'Tqh����ax
�D�O�[� '��;��񶯠Q�P76�H?��BL�
+��{�����\w0��P�H��lސ*�Bֱ�y��S������u�\�Y{:�PK���h�
��	&
�4�b�'�����\�
+�I>U(��;�V
g^����Zq�I��"o���n�ݘ�P㋾0 �%r�X-���[��v�p[:\��IJ�:��I�XÂֆ�-��}%��5A�a�Y�x��#�$s�~��
dv�wVb����[)���O��r%$�����l�L����$:3�Kz܊���hZ��W_US�����D�X��1l
�S�����X�$�S�a�#��e/��cH�j�K����Gi��KQ�S�@�8�Sef������K﯉�%w����f��P<�[�ͷ����H2n¼\P��w�`�`/��muT��
�
����-�#Ij��{��<���Ӄt�k�*�&�"aO����{��&ޢ.���S�e������Ôl���T�%G|���aVʥ A��r!K1�
�q���?Ŗ�J�(���㦁�T&��|["�#�-g�������� �p�̏~��0��
����6Ӿ��l'��urq�o����F
�;��0��(����sB�K��e�X�	)>�O�_�m�X�z��i���/A��h6� #{�J�8H��!8��g_���h
��T��'͹��O.*
;��,7�10�eQ��&C��㍞E�A[��]��k0|�f.��O�o	��g������QK�ni+�iE��
��tTn"$t�(��5B���(���x�������2�ICo�o��J�U�n)���ڏ0��k}l��C.��7��̠��ʬ/��8l�"熩w�c)���(B,�
ąx�qٍ�@�o��ʧ%�"'Z�"��sk�`������
jFDM
�|Wo'贒%�W\��2Of.��H{��؈�?҇�a3��vu�y����I�����[	
t(%
N��<�Z���±È��q&��`�$��Y�(���Õ��v�f���YWoi�Ch!O
<!	�C���4������)�:��<,��JU0��6���]��E�v
;w��:�*�

Ai_ј�Q���m��������k�	/=�
p�ZNfRj66��F	7涖>��_<4�X�~�!���qVWBL��4hǾ,��PA$
��)�R����*b��,]4��mt^��$�CD��ʢ��;�������P�	���	�����Ñ���������KB?ݢ�(�	5x!��c��+v
?h�>��)
+���0��V
���ஃ���4� _i �~�4q��H9n
�����'`ᡡ�z���(�9o���m)��͞*E�Kc
��70�s^�C��#
+@��t��L5v���V_m*
�S2�;M��Ӈ��(Z§`őg�����7��I�)�we,���Q�y����Ks$
�w�.�Q/��d�&:ySG�,�-��ǭ�DA�\��r�
G�l��;�C��g������!����������W � &f�CO���ނ����]�9����2w:{��ڊ�=t��ޑ(Ѳ���dN�h@׊
3�[����.˶?.���z2����k-
���z���vA�q8�(3h
ZZ8�
CQD���QpV��@�v��ʎ��r�z��j�P�3�Q�K�ٶ�~��YPLu
��}�
nfZ\Y
?�EBkE�L
+�ᄾ�iɱRAƇ/���9���l�"�0\�j�J�����[�,^�B��
iuamc�p�I����4y�PY���S<U��虴��G�dB��!�a{�ΤQ�9��-�/)��˭m�xh��4�IX�:=e87{�wh���B�+hEgv)�	�n��v�	Ϝ⓿!'xM<=T8�
�R� =�i��]��re��bǐֽ��d���nY �S%}�W�Y3(�ᆱ�
$�Gb��4R<2�]4�;5�qb9R%21�(8��xpjO���+�S��I�E)�I��@�
+f�Y���
}-�'�re�(��*�>
��m�:"��O��u��R���S\"�̽`�	��j9.I��xA�ɰ7�@S��:�1��֊.�.���ݙq�r���q�G3���!��t^n�3�S��o�f����9�j
� ����
�UM2�gwg���J�K�&b�ii�a�l��S"����6i?bh\R���-�>5�:��X�
�*d6�/�T�R�Z���]�5��o/��ɝ�E�f�i��� �r�u1V|��c2��ۀ�e*ψ����
ħ�����3�xvi�.a	�ӧaos�#5*�
���t� �s��E�C]ZԈ�r��%
@
;�@s��^�����P������㖙���{\�~V��+
�&�qPu��<t-���}��z��I�y�d�1>=c�o���පn�fD��H�+
i�Ns�U�Y�a式y���P_�Q�A�:��Z���l�H�qT�P>x�o?q�W��:T��7߱�W&�:�f�!�ˤ'�<o��7�K�Lé�	m���d�A�~|]�z��*H�T�{C�Y�
+���qB}��!Ga�FB$�t�Ht�:[߅�
�w
YC�9�Tgp�
-��
��^+y"m�˃#{
o,[���Eg�=b�j��
�G
(���P`��u���[����2��m�s��)��'>93�[Z��>�KE撳 �j:j#d��1���p�5��a��Wٳ��4Nx��u֗+Ą�|7�u*�Q}0>�JtƜ������s�!AL[�x��zZ��F�eHh���'�F7/��}�
'4Ch�#
��*Qܐx�3��s�2���pJ>j�瞟�{�,�����G�ȑ�VZ
��k����PTF��zk��<�d�+��X"�AIp��9M���H
��U�T,cP�L���)�X
f�����*�V-
k>b�8���9Q��.�n$���˚J
p�6��
�,\Q��8���U,��
6��k�۰��f�q�T�a�s��ҩ��[� ��h(rC�|�а
�6	�TlJ����
W��"�]�^��-HT
�ĺj5�p`a�ኲ��G��~79�n0
	KF���eR��Iq�>�b���C.x�]7��F�#�ٗ�#�p+�V7 at px�ޮ�	{f�Ԡ����J�E��]����B�+|�P�#(����N̊�򋍞���ѷ���Ш
'�?O�x\��������ٶ�0P_�C	��<��n��L?�d6����m���e���+��j:��A:�i"zGd��@X�b��)���v�[
]��o���f9���2���{?v+5do|� Yrdm,$���9#��D����7�j�c�3<�
�X�tp5�cC]a����*Ev�?�~�ަ
m��毩�1����4�6��
�x�„`P��5��/::Ǐ��iM�P����EKp��@�RD	��
%w�e��;�RK�����2W�����6�5�l
 [...]
+u��E�j�Q��x��
wyWQ�
�m�Q2��H
�3���{����m��ri��
��
�~`��/mq���r�=�FO����NŮ�7��e��3�W�%����&r(�Hb���(`JZh�c��ܣ8cµ+lS#�&G��(��(�Sh`�\%�A���Q��*-Th+ʃ�~��h�n�Z��<4<���O���� %�Ra��i!���,�,�Ļ�
�
��z2	�k�H�G�@q�+��p��Ӝ��b嶖�2�PΞ�p�ln
��t���$��=�l�?#�'�f��'21�̞��ܶ�-�i��B�$��c�Av���E��ƨ){iZ�v�k�{�8���F��<���jm5~OOޏ�xj"��z5*"�T
+��������
FM�$��.��0�0�D{JR�yL���@��0�֘�\	�D��m��E�S��[�����#��V
�4�i|r��Z3�p��ϑ֭`1S����ݿq:�|�����<�1�
WS�Ғ�2���ȁ���
�͕��-���-�x{��R�z�#[�R���N�v<

��x2��G��MWү�T,��
j���\���?]0!������ ���J"o
������\���ctw!��9�
+K�q[����1���
;����̶܇G�{��v�#\��!U8d�H��|��lsaH~�V�ß9J�qDzE��#_Z	^�������h[�P�Q�F2ڴ��K��q at G��+*s�"�A3M�8��������5���Ȗ��%�[/r\�df|�1Cf�L<�5�ݘsg
+U�Qĉ�3�,�G�/�0��'"����'y�k�5:nZe����,
+����l�rFW���WH(�4X���g�3mo� �@��@��l���va�}��&1��A�]JK��8�P������
��B�ɱ�t�
+d�k��H�����|���:m�ěj�9~q���??C
�n�K��D�
�Md�.F�ۖ
�
��KHe��^{�,9����cU�h�B����9q�(�׻bNA
Z=�ݟ?<�y
+*q)�<��-]o����r���~�U�&��HF	�k�#�j�ԃQ�:�b�3_^?i
c-1�)IErn��A�:��o���v�5N܏$:��rF�5�x�v��:�	f�3�Eʪ��W&��wP.�����
"��M��Y������)�Cx���R��7�}l�>'M.2-u�i�Om$)�	|8~�y���z��0�X��=�5B����J�R
��i�(�{��OqoP*^Թ����6#q�
��S��=1 �
�>F���e�>��4@�I�O����l��ӍTmW/�L=	<[è��f=vT�QI�")�fdM>�F�r���"�-
�@ ʸ�n��v��?dN|�b�vA�Om#>�.��o��#���r�I�
+���v$R�
ȷ���
V�m0&~�*�Lj�WZ:�! ��b��)2�R����0ҘilN��^�!G��

O˭:�1Qj�'֪MAk�`���+�qr�
3.�
M��ef�_NJ�`2���kmּD���XiCm4(�ݯP��U��b`5����=�lj�b�T�O�Tl ��?i�K���Ձ����i8�g����,/ۼ���6��J�m)�3U]���2z7
]��m5Ǻ�C�b��������	�8bp�1� ��G�8��w)lR���,
+%�k*
0�-�����!�r|�1��
?E�hk�>qx����`r��֜��=� ORW�C����`�F� ������\��16�Jd'㥐� $�D�8Y��ʊ@P����0�bq<��$�w'PUM��ν,��!�09��� ;�<���UQ&����[˴ʻir8ї��Jg��.:x�N#7{��/��t,��[K��T*�FϷ�@� J%�_�_�
�aP�
�7j�}Z�K2f��B-���ǎ�H!��q
�3W"�#���
[��s
j}�;+ 
ӵ�];��
$?L' }|cL���	�����G��a��AA��ǘb�&�O�r�+�۲D�@��2����]:�@��S1�B}��2�#�(�;����K�r���G��kb��%I���Bߛ2��TN%2����f<7��b����c���q��æ�
>.��U���y4�lQ�1�|z.W8� ��c�yQ
)�eۣ�"ېц;�G,�M �&8#J3��AK����Q��)h5>���@
+�㬭O~���R;
+�M��Ǐ[�R
�7�?Q�_�	�!�8eپФCƇ�F!s�ͺ���S�����Tb*��=-8��]�*b�?��.��*�˭���	>o�.����ݖtsd�+f&�G=����V秎$�h�����i耿/�=�B����#O<+
_�i>mʔ3]���Ĥ^>�t�{�D�q�
7�"g�D��`B̢m)�j�{���)��y�o!����� H
[J
�
�n{
=Y� �
�ݖ��1ŋfq�I��"𳔕HPȬr�p��ׇN�̮��4��kG��!�����=���X�],���;�2^

��:���2���{[���/#��E�?D
�G�2�
o�0�k�Z�i�¼<>����L��
��&�k��.�DSE�/��T4�����ݼv
~�<np6��dh���%t<�Q
W��.]�Ҝ�~�6�ՔU����dW�.GҎ�p�V_�w�Xu����c�P���$����`_<9��?�
+d���z�+v0 ��e�g��W�|>Ҩ��Uc-�rN V]�v�ǘ*���L	��'��}�͹�3xt�3��_�Ə��\n!B��WQK�gN��/}�]m�9
9A��cl�A��~/Zj[bp��ܲs9�,mƸڗ���cVf�V�0(��f�������~����j���ƙ��;W�V� �����/�'�D���"No�@l�� �W����g�:��@���W�}��;R�����<�r#G��I�"Do��H.��c�3p����)	�%�#@]d��
+C�/�E�f��g����lI��
kt�RHp�Jy�B�Q����(e{ިU8}��$�[���1�d�����/=�b��`1�[u��
���M�����q6s4=w_-EQ
�����a�/�D��n�W;����v�
s�]CT�u~eYi	�f�&I� ��,��#�
J*d>���3�f���/��� ��|�8M��
p�6��O�_��\�<���Qf��
�
m}S{��(�k�!�L���W����~J(��(��
����#u�����:�{��#�	|��t�
�J˞nI�|*�lNJU��{�G+��v>1�UJ�h.��
+x������a��]cc��l�����[
z��Ls5PK�p)_Į��0���U�~T�T5�F��Ļ
0h���\
}��B,�'^ȶ[�ƆԌ��J�����}��Pt=�h�����L�!.���	-I��Yۦ+G���X��I�2Y���3R#���;h��ǙP#*���:Q
�0K�7`� ~u�����"��:��
��
��=��Dg�-
H��i��Y@!�G�*��)���`P◬U1$r�e�~�3T��հ�XT�1�P
��8q��)��:?�
!�F	vy+�w�{�o�C��
U�+��V�R�셁V!�>%u �!
����%8�辍�v��^��ο/L���l�	��.6�j��)�6�6a�^w�#(��GW�^yo�3oD���aOؿ�ٗ�	g�|a~S2�k��
r!-�`����.6$�����z�Q�;x�(��
#�r��zx|@��ޓ��G ����Ȓ�UI�3XB��?ã~72�Ƴ���.Ӵ6[R��l���$�[������9��S^6�?�o+cPw2J�
]!SQ�d���%2T�l�pe�q\q�
�
!3��t|%1
�'
+"����
,��
���J
<�=�FI��$��8��1�6
�.g�����X�_<
wPT��a)�ލy+�l��+��S5��2,kc&#Q�����
�Z
�
=��[2覿� aG����6�UY���[K䪰Z$h���6��A�"�ܑ���������i�Y>�k
+�d�F˸�������&��
��U�
F��#��5���M�
9t�YN�5$F�rV���u��?Y�݁x�� Jo{�(X��%�<�K�Z�1du��1�Uۍ���2Aq�g0��E�l��^�����
+f�0�3!Hf�{+���K�-p��^�:s߄�͓����XpMty� ,�
+��
N�HJ����{�@��h��
+�!O��N���H��
#q��LA��?vt�2^Q~�]��
)�R—�&��?x	���2�`vU��t�vuw
�W���Ќ4k�(��)
9J�p��D�}�=`v��7O�fh
tmk9�X^ܬ���p�3�ٌR�i�� �JSE�\�\����/���*�C�8v����z�� ��VU���N6ppQ� � w��^��Zr�{#�ch�����;H�lIH����$zuu�p���y
w��"�J�Hw;Ί�[
�z\R�Z���$K͕tyJCn�
L�Ne�ݫ�G#�
����	�H�̦�/����i
�V��%�H��@�
V���D̝�2��7��?P,a�m�6Di�
�W,D�l
���G�4�/o�r� �ޱ�$�b#ķ#ǯEW
z�J��H���6�z]��׳c��\�ڏ(�0fWz؆$��Q]#Q�ݫ�k�h�{�y6�,�Nkqf�i�t�N[U
�Cn��<�h�w���\i%J��_���J{
Һ�J@�C
���c�l��T��
<�x�
-,�R�H��l�_g�X�h݇^2.�(�
+�7���6tH��їT_��W���G��m?'��s��j#a%�>�D��g��%Z���h�R��+{�1Ҿ����7�m"d��{��ھ�q�w��Hx�Q���$
�ƴ�K(g�չ�UE�lh����L+)J����cB��۰K&���̄�j�7�zl�m�ic�m�(f�<�c_���l�X����q�f\�U �+��9��-�:�-M�$����[�~�uF,
��j��Ə�SJD�zqk�S
�
�c�? ��Md
N�����RI�\5��bK��+��hf�Y?,[�X0�RŬl�O�'p�B�P��Rl�1c$N>�I����2Һ�W��|��k��W��-�	MDz8;z9���aQm��M<
��}Ou-�
д10�Xv����
+��O�6�Y8�
E
�U�}�����U�r�be�9��@��I6|��S��F7��(�$K7b�p�?���xƇ�S��6U��rM$.��ڐ�K����'�a��%ޯ3
+�$+�m���(���~�[y:u�{h�
C�f��q�K���9�����{ݭ����}�2�Y��X���Nu�d
ST2r�[�T��J�b"j?(0�U�.I�kԌ���'��}�@����YA��������b��:`s�h1	��L�����K̵�y���X�b%��JaTo
/�n�"v.��1Ų����T�<�ݎ��f�U�"ۢ�O
���Q(j�ur�P���o��f�����
+IX˙�)
+��;�{—��Y1�a�<�ЛV�:�����ܡ1O�� fޗ�����]?��@9$��XҎgm�=��z��B�ۯͺ����z��m��[��,�}���GE�.�jh�}��2�
c�Δ5�!���N�U�J	|��UY������y���_XsSW=�䠠5�$~��I[��x�r��^?,��?�~�ptR��vbaPR,�ߥ����N���"=�g�`1�\�3�;�
w�_�<���A�%���ʁ�x����"R�����Kӈr�tn6�e�:�1)�	��0�j�C	��������O�6
����3��+�X��N�J绳�<�cv�
��ܾ�����>
$-��_l����M���Fnxl]��V��<;K�Ȟ2:
� �Pf� ~^�yu{�\w�p̦����(
�
`|�����
A�
q/},�����
	��JH����Mu|n
�&�u˧cKU�&��7RS�EX�y�^�D
U
�,�N�PYS!�(�����h
�x�@z��'����; [...]
+��j�Eb^��R΅���
�o��_UF[�
�S�@R��(H�@�)��cT��ÊoK�ć<EM��N���B��%iX0���jὍa]�m7�v-U9�ۀ
+����F��0N��{02�X†���F�#�+f�'�>�?���x�/��}��fuY[�w��9#,ʹ@�D�2���زu�6
��Zʵ���9Gg4"�[��n�k�����A�r�Hl	�pesl�ސO�zD�֫<;�)-ێ��9

�m	x��*l��q�Ss�
�
�3:f���� ��Lg���~
+�k>~T�?�)������Y� 
�У�m����E�e9�3h�e5��`�­�^z�7�|"c��,^�$�0S�|)`�Z�=8�:B�Q2��Y��uR��7oD�u
�uI�M1]�n�)���e��	ʖ1���R�k�@(�8�z�t~Ņ�eP�
+endstream
+endobj
+3128 0 obj <<
+/Type /FontDescriptor
+/FontName /YKOZLO+NimbusRomNo9L-Regu
+/Flags 4
+/FontBBox [-168 -281 1000 924]
+/Ascent 678
+/CapHeight 651
+/Descent -216
+/ItalicAngle 0
+/StemV 85
+/XHeight 450
+/CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/a/asterisk/at/b/braceleft/braceright/bullet/c/colon/comma/copyright/d/e/eight/endash/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/parenleft/parenright/percent/period/plus/q/quotedbl/quotedblleft/quotedblright/quoteleft/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
+/FontFile 3127 0 R
+>> endobj
+3129 0 obj <<
+/Length1 1647
+/Length2 15337
+/Length3 0
+/Length 16191     
+/Filter /FlateDecode
+>>
+stream
+xڭ�eX
ܲ%
A��C�qwwwwצqw'����Cpw
�N��.�'�9s��s�o����O�Z�VU�UUMN��J/ljo���s�gf`�(Xښ�:���*�s�ѫ��]�]�m 1v8rrQ'��������
��	2���  3777
9@��������@���IMKK���� L<����lin����
dc�`
�s�K��
+\,@ 3K@TQI[ZA@%���ف����jbc	�YAv� j������ �����Ҝ�r	;�� ��_7���Dp 9�Z:;��
�t�;۹�}{��
������������������dJ��.�@'K�ߨJb��������Ζa���ߛ��@�J����/�bli�
py���0�tv�1���/�����pu��3��
� N sc'S���_�������	�ߪ7vp�������n��
,]�A6f
p�,c]��6���c��_�����L����:��r��Q��3��06���������]��P�ߩ���'����-�����&������y����66
+ƶ��{�w�����
�ecc��g�X�?�ƶ�6��'��z[���'���
B����B���
��6[:KXz�L�,]� 3c����/���)�����W���_'&����YX���Q��������W�U�����$�D�ض����+\�<
@��IS���
���� x�3sp�Y8����q�fa���	�/"��<��8Yz t��������'��B#n�7���T]��L����2�]���*��m���8�k@ nm�
�l����R��72%�;��
1�P֤V\��־�?=|����.���4�G��ҩ���
��X�
eo*貀�����u�����0�Ѡ
1�L3��jQnR��I�poJYŠ�
��t'����wR���d�H~���8�.�`h�E�gI�O��C�#ý7P����q��n��Q�
s�uԫ�c��嚫�2G���3���˞�/���
2w!�wVO�:ye��I��K8���`
��
���y�gG�ɥp�>S"���zlv?Fh7	ov}+רvZ�ԯ��`.L��]�-xn� 
#1���ܕ�V�7�ս�f�Ǵj���.l��
�DD�S$��=i�
+�#�l�-�J���R�:ǘZ�,1���˒߿��8�Ȅ99W(ѱi
^��#��
�
+D��i��5���
�v
sT�
+���\��a�!�G��K&9�����DL_�� ����.���M	�߾7P�|JB�BZwrҀ��V%_xJhq9�;�*^��s\�w��L�v8�>0](<ͅ������Q��s2�9���"
�{������\�����<�ƢVN��U�܍C�	
+���LN���*���YZc��s��J_o���Y�Oٕ��n�� R.K��3_7;m�.��Lj�H�(
Rm�+82>�,�a[���Ʒ?�^e[)�u��""Fy�™T���_\�٦��3i �����ⶇ����܂�	\aþӫ�
���П�_�]⮤~r�^�^�O
݇���E�k���|��q�*6�"�

�`�I�>��eӣ
�;2�R�ŹJ��x��M�;O��5
M�8E�pfE�K�R5�5s(�~k����è�
�:�ފ,�E�`���R���KU˴��T#[{Vs�&���ֳK��)�X��Sk
�
8���b��)2#L~
���

�9���
W$���_

w�>�:i�T��Q�6Dm$�-���˨�V�c��6k�\Pl�7�i�O/Efb�&i��Xõa4B��I��.��+����۬�jDfh����͙�A���8Uk��S�Iʀ���%�^���8]1����	
+��y���4�@�3�w���
uYJKJ�?ȑ��n��2�7��}L���짠��
�$q�����Nk%]�@1�}�,
��߱��
1�[ޜ,QR���q��m�lQ�9�%����G'�
�LT
) -�
��RE o�po��`਱�
���5�Sv8/���Z֐�Qw���*3�	+������3}tu��o����Nj��'�L� N=�A��Y$�i�8fD\2�;�4ēи���QH�m0��,[�u������'FL?jP�.NP#��z��-<�R!�j����J�N2���_!�EL�����z�B�}��#�3!��"�yQ���k�Y��Pv�r�+�
+Y�:�@aBy1:�<9D�P�ҋ�_�
���
sN$2$-��-�8h��r^]v�I1�F�Dk\��*��wT��_��?p�35����3�:�2]<֬o�
�c�'�\�N
(@D䱵�9�����!xe e��:�3�Ǽv����λj���L�����6�.�5o��a�mfR�
S��6��$�(�$�^
)�4�_(��[?�m+���舴�4y
"���^G[GE��TO~
{��J��	eL�C��!�x�R�Vt��x ϭWu��r�劂E}T�{l�_�lc�c�^���n�=N�<-���u��
�ăG�p��GR���w=0{�d��C4c`���hi�i�9{�&�*Q�2T����o�����F�?�[���zw�6�D��Z.|�/�BɺuT�^�Q�U �
+���y�,f ^Lma�bpUq��Ac$&����\ �J
`*Z��7�#ۜС�
��r��Xo��/�p�B(x�$�\��r>>y�tQ
+v&�Zµ��g!�I���:�W'�|�Ĕ�n�֑�w����@Vt
fT
*fj>L� ���F/<�@b���
+H�@��d܎��O��Lt��;�}C��@8�-��ǃS=c�bLE������7��?�
(�o�&�
����K8���Ƣ����.��˓@���*��
+i��-$�)L�ѤF(:���;^�n���ȧ�%i�9!�O4s�KA7�!������P^a�0i����܋?�SH
�ԕv怒%�o�UYbyP�DŽc�lvh
ʧ��Y�'���v����6�M�߲��]$�L��K�B���m�/Fs[r�!}v
+g)�bwc\x
_���!*�nO8v([�ӳ8	�Y���Y�<��=�)a��k�(o�J�����5�!�6����*GŤ
�>�A
��
+�k��Z�
̓I�հJ�X����+�&�vѴ]�Ĉ�ǭÚGy^~>^)D�0��D�]��\�	^��N���R3�Ȓn���ߏP��>[����At�
��/���/N�����ٟ�fˆ�U]��w�~F�>���o?ox�n�u@�&�
.�D7x@)���
+G�
<�׮��[҇$���
Sƴ
��sx�����lv�� /���s"��`3�I���;���_!��n��3o�&��H
���ߍ:'ӝ
K
L�����B�I����5
+'�9��3lD���YTijF���@�������=;*q�&D�� ��vp�)�A�W�<�%()��&Y�]G��� \���l�j��v��L�A���
� �O�rУZ(Ѯ��fO��f�Ey�_�2�y&�W�����w��9��1D�uxUφݐ�r��ގ5��asH{]M�I�[�ilbC��U[��<T�;�ۣ��Q9���8Z���q�O�
���=v6�]�9�̑�r
�� ��y5(ҝ���h/Z���.����0�-�ɏ�
����+���qxG�%<�=�X���#9<�] Y�.CS���;�*�ʚ��O�~���z1f��󮚬y�T�
�lJ����|�,���6½%o
N��#�g��ؼ]�Hf}Q����
ܫ���*�����#��!�%�
j��ЬE+��
����݄��+f��i �J��ss�H����o�%�zk�ͻF1�U`�̟�Z9>�H'3�7s�
S��C'��8`�ש��&)O@:��������aXd�Q�8E�)�6T�/	��T�J�6ZLMdż���
V�U�N���,��̏����s?�lVe�+W��p��a"����3��yi�����%[�	
���kE)9j�k�A��Z���E� &ƒ}�%��	�Gϒ�/���p�an�,ͽS�������?
�N�N
=���_0
?�0XG��`��V��9X��)}�#Q�t�	)a�+򂕽��[�����f�=�8+��U�9��խ>F���%d�����J�����$�b��R�
C�Q��P/[%V�D>T|�t1�~X�j�<M�

���=4~ۓjOy�ji=�6���q�Mxv7����0{/�
)
$`�'�����T{�
gj���׷���lU9�V�{���?0]��<�
i+�b��
+,��I�kӥ<�
�?� ;0�g/%��Q��/0��l�WDv0_HϠb��֒������=ͥ�:z��{��y�|�
�����n>B>/��.Xr� �ÈI&�'C�-�_2��CjT�
t
+?�a�p.'�5/��')�Q�5�:�Ge%�f+��q�
�;�K��4����s^$C�
@�cy軯�y������t�pJ���
��
4�7n��3�������2�D�;[M��
F�
_G�<�aCwcZ3�Ϳ0�+ۦ���ya��?�p�T���
�4�i��SY�b�5�iB����jmU$3��ź�'0�i���a�@��x�0���e�O���<
'g(
9:�l�B03S��26�K̚����0"��C6#7s�Oz�UL:i_:�[6Z�
B�Y� 1�m}3,y5�	�e��W�s�&�0I���͆��o
��')!���w�U����w���Ȅ��h��ȥ�Q�gr77
cC�k`�h�u����!�32����33
lWpq>��pz��nC��৵ː��Ѫ�(�g���9f���^p����p&x�����W���uƨ+�a��
$���т2G=�����g
�;���K��EEW
'�M�5w����o�
f�u�m]��t7x�C��H�Xŀ�0#҉)�/ޖ����9��/�/M�����w�v%�&
�x�
+̟��bz���U�r�a4�u�􂊴

�v�y������}�\�Di�Ǹ���|E��
+S��w1�"
�������a��t�E�,�-K@���n��%�
��'�(
1�E���l�*�s>�%O1-��=eZ
fk��{�H�ɷ�s7�YV��ig�4Ai
#}�Os�b��$�
M�p��U'�
�:&~^�)9�۷NI��
{:���y�BI
�'�!z���8�S�֗�$m����	
���|�X�F�&�N����i
�e�G�n���\��
_2e�ᝄ(���'�-:�Α���I�f
+L�nhF@���Fא-�����n��n�3��2
l�;��a��U�xn��J�����8�Q=�1�bE�mQ\\�vl)��A�W�n�r���x�_b��>�#$M��5;jc�L�P5�2#���;d��
��4�
+9��iE�9m_�0r�B/
6�'R��	&?��7s��6���'�[��P���r'q��9�pѾcd')����ʵ�7.:����)��Ve��?v�����ϋ���%����K���'�������
�nky�,��=
�X�B�H�n/�
�{&��7Z��Y��(�
��R�DO�ᥐ�:T�VC����YR]
?�m�z�9!����_�)%j��(6��#͵�)��(�
�����>��
	q����>I��'�hdn�Ӻ	�h
�4+����y�iw2�Q[��ȟ��A<l�2�ܐ�e �N��	��ݤ�Tv�J o�@S��=�k�>�<�9�nY���ݣ��t#Ұ� �C�4���½�(��$�ϟI����6�M�������~�3 at x�� ���q� '�TO�%s�H�2	wTN0$+G�3��8�Ta-���)=eyl�'�D��&d)m����.�k���xx�=�}��W�B�7
nW�d��q�j+�)���ʏ�	j�8I
+V��e_��!gO�H�TG
C�Ȟ�;p��
2�x�����zSFd�i�/�vrL���*!�M$�wMe��h�y�p�VK{�Ǭp	2˕j�±�W#r��aY")��>V���l*������^OLH(��N�)���ځ
�$��Uf�o��%�
anM����^=��ZM_��Hϱ��vG4
+�]���e ��Z�Q�l~q�P/�D�۟.`JjD-�'�M����j�u�3X�8ot�da
�7��r��~*G��F4����)\:�)��Lf��ǀ'�E�1�&���	VF���S#L�z�syPt�=�!��
C=��/e�8#��:�qv߇Xˆ��v($�\�]��`�$8�����������B:e�ԜPj+���Q�s&�/*�0���7+�%\�)ꃤ�̖S��|i����U�riQ��e��h��a��7���뭀�L��� �7_� 'G+�{�$g�6ى�������nɧ�,��X$��߀>|TCF^]D�����g�At�ߛ���h�s��LP~w�d���9�^? Py� �ݻ�9g<U�-Ӝ�qc9 ��~aϨ�z�-֘�ҴE
��|4��I.�[��{]W�A����`�d�{�cJ����^/l`��V��X��Y%uވ�G�\!1�
iF�/�=��a+8�ayr��e
CƱR�7{޽%s�~����F��M��
��{���ۜ�`,a��\{�:M�m�m��7t��>?40�N��Ggm��6DV�υб������2a�|++��}���H�� [...]
�'Ek��BBcNP��8d+��w��*r���Rk�f��d��F
�x���NI��
����x>H�̹F��g�$�4n
)~��H��g⹥�#�����
�{^
��z��Kg"$���J�����p��c�-v��	#���5�?�Ms���ރ;�Kc�	7�
`G��cq��U"���n�H�څi,Qm��*&fWܞ���U�Y~(�J�g�9�t���4�m�TH��T��Z�9�eW��'c��#���B��
Bmk��'����{TV�|K�:�D�����p��k��r5
'��\�d�#"[�&H�Tx�
+�
�\VG��O5̳�3�`�J���Y{��<�J�1�LJ���^,ێ����l�0���v�V��y��3�^*��qZOj�.鷮
Z��,"����G�1����z[S�y<��s����`�e҃l�K��i�Wg_6ݽ7��$��2"O}�L
��b{ҵi�vW�酼�
�IA���3����$:�������^(yGhb�i�=�i�AH�����Qִ1-��,�A��Z�Lq \��r~A{
=�
+�ڀzC�)'����Vq���DTݙi��1���T��
t)m|Ų,"�>qՒ�g�O	eM0�~�--B�
uD�B��D���P&jj\�*������$��v=��x{�l�G��
W}�g����0",=�����%��:LX_� ���
d��c��	}$]�y�κ0ca�E��&�H�eԇ�L�;̦�.��
3��ͭ$*�[�)D�9�MvzOj�����M/bv�4Y%
ަ2'��
+<B���E��d��+5�����=P�S&n��df��B8Ωխp�M;��k�
j�f"�*��w򭃾=�mK�<���/ ��3F �e<��/ʡ8?An�-4(PY�7QX����F,F�Ϸ�����'������Q�%��O5%����؎ُ�ݝ���mKo��6:�^��v�
��u*|L}��޳Y^�'�RH�p�5��N�*��t#e@"(�5[ ���8�*G��!H�H�is�@1_��%�|-岥N�f
�l��Ü�ӛ"����澆ep�p
+���+�'
M�s����^K�*2)����sM>hK�j`��:8*s՟��}��yn���
+]�{+�sR�=���`��"A���.N�$S��s�Q떕В6�t3�.��L�:�+�����R"����
�K�
�J�<z�d ��.*��{fI��X�	�.����(��;���V�4?����m��=&�5jh��J-$֥���!�}�QAJ�w&-RуA�I?4�i'$x�yd�,�-�Qd�$d8�j�(�~kw�)I+�o
+\Ъ-�@ec��MQ�8��r$�r_��<�ˎ�
+èp`��-��/=��fo!�p�
eZ�m
����}G�m}���#9\��s��9Տ@��0`�O�DCX
a�P
;���<��Y?]�6��?̮��^M��N4��$�=3�7��G֙q�Z�W��%��P��:T-�;��
*����$
o�Y蛺�PzU?�B���O,z2�V�֪�@�)c(C���;��7�ɏ�����G�2�~6/ͭӮ���]�Z�V�X��X6��}�WC�rm���G�`\j�K���8�5�B*}�1�.�Z���,kd
�.+uɏ�c�̾2G���,�i��LFw�[G���ÃgX}�A�N�u��J��� �S
��7Ң�F2��E��I�A:@-(�wTH���g�d��k̶�<f��!{)�(T���K��g�N�(t�
j�
v�LC��٪A�6�}o��:y��K��W�C�\�����[�ٺF�
x�E��z�Y�͛���޹�3J���;9��I�N�}Hoa��w��ӊ��k�̏�^Tu@��IZ멕k�&��J�U��#x
��≲���~h1��x�\���f3����Z�Ea�ٷ�� �R
e1��5��o
+)�K
��(YpݟB�Q��&(]n�لrV�,�oO����
g>3�Z����[�/��
+��Ͷp۰����9{��̉��Š�x8�� ��?�mi1Vc����� pU��::��^������L.�z)<;�dy at OC�2������o��(!���kZ{`��bB�س�-_f��J��$��e�
�,#���Ea`,~Kx6!�ظ9��;#?>ز��3)���w������h(��M�9�e"lqh(�V|SY����g<?,�<3@��E�>N��,席��צ
�ٴ�2�
��?���u���ב�v�2tA
��s
e_K�R� �v� �s}�W֔�
�S:
@N9�E�j�l7���e
׎��p9—��<_`"I>��׌a,��A˾V�F��j�
*_�
u,�=5�n����iʻ��6!���`�9г
h�;MV ��rB�iI�������]Ϩz@;�a�2
,6���N{l�knJƕB��/������|H{�z��J`.Mv�0���S��^���;�g[���ҁlN.�7d���XÀ^��Ky��'SWwA�c�B
|�6�E�Uȗb z�˜��ޅ-<��:4*7��m6�؁���m��p:'� q�~�?�OYLlH5!��8GĂe�=E*x=

ɜ�e8�&����|掂���E�M5��%�H����d/p��O��O��W��:p3�b�v����(�&�(����ˤ�X���h[1$�S����3D�����OoBWOH�6<�!��D݁�C\I&�e
+@o�egi��h�xAG�LN�x�
B6��
[쇖Ԡ��n�o e�Sc�����ڑ�2V�ŌL(Ŋ��A<�l��H>�%�m��!j����	h4��0�R � �����jǮ^�!��Œ�G
�"�/�qW�Rzu�&��LcjO��ҚDW]��
����5��
+ٯ������ܯ7�V�l
���1��:����ɲ�
�
?���2�B��GnU^K�!�&�\��ͱ9��Y�s˨_�e�W�ٱ�x��AC
B�� 4�tl��*����^�\���)��D��^
���y�$�
=���=��[�
��:
+�/�/�ǏT�嵕���u_�1y:�:�[�3�_�e�~��|�9u���[��
6��@4X0�
n���}�vA5aZi�|focf\�
^���,�$��a��JB�J-\��RH;�9:��X�>�ÿ"��X<Pi���ks4������L����_
e���ʷ�D�ЌL)��_��eǣu)Ӷ�
�a�~�HB�X5
� ���(0�����M5{`��l�/B*�:S;���d�c�������o�
��|���o��`��!̣���]߭EҭK�[����U�Q�1
F�^�J��.zg�38d�"T�(#��z&�I��~�vM�4"f�xЃ�~Z|(����,d�R)��¼J:���*v	vqߦN�:95�����-
���Q�H~�"�=a��'����
+
�=�)M0�
��
�|Ic���&d at j��&O�'t�a��s��}U���'��-Ѭ��3�F@�
�)o��JXz�Nx��7߾|�\�m��b(��mm�d�+�ĹQ��@�Mq"�`Y��|\�ۤ�q͹�@�JMi�=��&nGe
WC�*ѭ�

+q�C7�	>�m���\
Y���-��#f�����~�9rf?�6N
��x���X1%�\b��Z
��9�ŕl}ͷ��0��2��E؊C����A@
���TR��Xld
?���'�~
+*Ȯ�
9j������Œ��
��d�۰���09(d�P�2�|7����
����ݺ��/?��D�U'j��:�Nhb;!�~:�Ǝ��1��%�>$u1e����-��斧}����#]�v�������ڈQ%v
j�?�#^m\;�g������#j�$�ےR���Aw鷯�)I�>
�S,{՞Sx����GcJ&�CII���F�KZ�LƏ��_��M
��?֬B�5r���S���|���I~����k/�=���
+��m٧�7�����a�!��w���	=	�x����-����
u
9���f�tG���.�	Ѻ��ETJC��407���s�&f����n�m:���f�d0�VPee��0s3����ޗ��D
-jW��J˱?Y��GzO�wN�n �̞J�BJ��)�N���M�q��{�!�5�B�;�DԾ�C�����8C��t�̐���)����Ts��G%r�T�Vzl��N�,���"��Rs
u�űkR���?H� ylh�$�Ԧd)�����6��/�b^��1X
��,*|�0rΥq0��
s
\�Fa�hɅ����	�$�}����
�����xSTN

�����T�S��O���
%HL�ڭר�]�B�3�&��s�C9��/YO�v6��}'��2�6u[��8F��N�2Cew3�9�;�	u�!(�@$���i���iR�4C�nq2�� �|"���;U,d$�
�?�3��Y�=��~��&�E�)�Uh��	Z��xȘ�۩
h�!�N�\`��x9
n�sGR.T�e���<Eqyd�3%Y_�3��oY
1���1��Quhog�m7XK�rπNU(�i���F���!{��b�B���
	���nA��
���0IXC�-axN��}S�@��>������zr
��
>��
^�o�w���Oc��US
C���Bᛕ
i-X;������?
�t $�0w��f���j�����B(/]m�u
}h��
u���k����8]����DMK�=Zm�QT���m?C�i?�`Kk�
(�H�K)�����K*�[
&�(!;hF���.�zA�)�
+���ȕ��#�`�ށJ�&���P'J6��(��(�QP��Y�q0��) ���~%>�V
+y�����j=Cbr��POH���w��*@T��������`"��C�͛/����NG���ǀ����^�S���>
f����s�+_9p�$Y
O����q��
@��b���\���
�o�)�.�
�<�V
�
F�ט��7�=�l��Z����z����m�����\�F��^���,ך܇n�ÝA��xMș��J � �/��D
�l����uw��,��WHy.��#�,C��2���v�A
C�+��K�?Wצ'���Y�Y��:i��A^e�
n!� `�Y6pږ���v�r�x5�ަ�y ��!r�
��w�����e�W����5�K���0����b/ϙ�28<�����k�<�6/p
uiU��@��g�;>&
+���A�7�����	��!S�
n��7��������,88K�[�y�
͆
:G��&��/I]�� ��8QrMS���/$�*G�)��!���݈��������[��P���S�kiuN��@t��u`�Gѳr�!�s���-�
6� IO
�l΋hTڳ�h�l�־1���Cu筘���1�8�ܢ^�-᱃_�PpR�~w�c'���R�9ͭ�x���n�2�h����1�bפV�/`����Oټ+pOO�eb���`���2�0QZ4�r�
��l��{��8ͼ(�tͅ듔*�����
��c����ei��@9m�'�}L�������ْ�8�f�~�:,+$7;�F#�R�-��dz�Ι�^�6����c-�b��ҹ�C��/�T+�7��l�_�h�lc
ٿ����9�,�u�¤��F�m�b�
M�|�\��-V�R�b10`�� ��XT�B���$�6�9o6��'��]������
+R1k
e�ɿu9Z�Ly�0��;�i4��@b��l��>�T���E�q���[K����݌��-قo_�k��t�͡�
+��Q>���0Q}k�(�uKP�x��ͭ�� �|Qk��&��
��l�1.^@	?���NTX׸��/P��0m���Gc
��d\k�
E��n�'7��
�,W�zW��N�[
�f
�����i�l��_i�'�I�A5"�P�Y0y�l�"�c�;_��2��ѐ�쨹�%];��
a�X(
�4$�5��#
+�^���G1E�=,N�b�LԄ���*%ެS�cg6��TW=<e^�: �V�5P�%|? #����ï��i`���&�z"4Y����q��SDx��.��̆��"�/Yv��;��՞���$/��M�
�m�R����J�e��˂�����XHq*��Mw��?�es
�u["m�uu>&>�|����6�[<��Y��
�8lϡ}��\H�M�I�FL���aInJ��0�A�ip�?�*�μ?0��
�恰���T�c��oi�2�

��q@֟�̞M���*
 �'�������|�����gs��N�WIO��k P^)�L����i�/���F�>�u!���i� �o>�/t�v9��#��
�Ey��LV�C!�F�ne[���0��:g��$�߳�E�G�q�?
��䁃�1�X��f�jfu��[Y��ヤ��*�ɋ�<2�������t֩Bk��b�i`�4���
�
į�a�� ]_2h�S0IDh&1#t��@t}"�mK�j '���v�0��ڍr��
T7s[�%GҾ.(��"��h�,�*������
�V�&!6QmUTBEᆪ�W�zL
+�׏ቼ\
+��P^d�DIBM}n�`~�]�IFl�����9����Y�7Rk��¸�����ŭ����G�x�0���N<�~���q:Y
t�ۍж�4O;�Ci�b���!�]���ZH��7/�sz"f	�@�ȩZ7�$x�	��T�"��J7҅�ZA�*�9�2��a�&��U�F<�i�G$���4�+�Š|�aݧ�ܤَ�B�ܪ�<�f��JF�Xh-w�J[��|?ע�b�)I2�6�	�J;��` _�z�<
+�6��n�t_���	k��
\����bw'�vm.sա_h;1�����x���U��p+���F
H��X�
+��l}Ǎ�`f���5k�F{������=j���F����p@�F�%�^ �J�{N�g��̮v"����a ��
��+��=��zZ�5���B>��7�7�n��F#R�Vǿ;�!e`[�n�› �����V>6���,_g-��� 7��kWA��Eo�S׮1Q��dEW�
C�$V��t\��,i�6�,�нb�+.��;�remp�k��AJ�N~WQ�Ց�n1�
+R
����}T�$�8����	zd�l�H�;['ᦳ�k�$V��R|[
�(u���\Z ������K
����W� ȩ�r�	�񳏢�K
��z�����`��I~;d�u�^D��H�R0�v>|�&�����s���~g
/<N2��:�;~�<<��DH
���"�
���W��
�F��ja�WC�� L�Km�a׀
�>����X���Hw��P��KE�
Í�u�	a DR�����q�jݐL�Т�`7�������$҆pʗ�,2!���i����n���G��ؠ`���C9�z�U
���0����/����=��E�a��i���_VG��a�fk��7p�k+h� Qi��e�uJNpH���
�ڢ�',�$S�b��-�e
�D�HU��x�����F�PE+
Qߊ3��W-�\!��
��@����4{���|}~m�ε<U/!��˓�C�rq0a���OX&�Z�?��-�B!N�Ϛ�?�L���'�[-κRg����%�F ~����܍�l\��&�8�;��L���n�ɘ�
�s~S����BJ�/d�`6M~p��E���D:�UE����
J��ݐFyx����
����������D]+2^�6�ql��0f`�ˢh�Ĩhi��
� �vZ�|�1
+�'b�\]d{� vo0|�T���	�lu���A?���(����dY��K�[���ȹ������8u�{wx�a���a;
x����
z��r��MhUM��C}/�4n��>�[3]��Q�����8��sS�/
����ܑ"2-.[�
�H������{�Bv �M�)�Q%��a_j���=H${��tj���+`��*�%��0M�
���N��e��b�H�.
�xd�#� ��n@�r����j�A���a�����W(<]�wދ#0�裸"�5���d�w9�&߱�
��_�ڎ�Tq�
+�,JO��H�jl
��hTL�(��w� w�����뼜���٨
+��_s�R��B�PDe�fS��_E)�I!0�^���۰��I�#�n�MQ�]pȨ�\\W☸]�����S
�[��(ؓ�nU��=@��"�S
��h���rD�b¦;��j��e���VDV8љϟ0����-�1��L�����T��Lv��J�_<��	�sR��
+Nj��p{݈XB��;ҧo���)V$xI�
8/�Twnt�r������G�s�x�N0�Q�C�Q7s5R�&b�m@��y@���N/ʲ�!c�����J�}Fs�n
+\�&#�lLE�A ��*=C�Mʡ8IuTg���5�κ����B�c��`R�|=��Ԓ�T��4o�{�� ;U_xc��; !G��`��f������xkP�	M���l?n���V��2�S�f�ӄJ��3�ҺhW�tHyK�F�
+��� {uTY�3�(?#
���m�?���Yq�@{X�yI#_8�q1��Fjo�CL���\7�P
�׭��R�ϕCh&�T
}O��e��z&CQ�!
!�ҼO�]��(��y-̛��rX>��ᒰ�>t_�	��O��L��b��f�����a�.����r�anݍ��MbU\{�|S7!��
��ޓR������BM
m���D���
+l�[�ɨf�" 
����J���$eq�h�}І�,|�`L���&E���Vk��O�Z�]6d�3�|������.�_�B�:Vկ��
+g5��a�ȫ"z+�ǂ�#�g���N{q��o,��"�	�m�N���
^v��dW˰�-ɺZX�����Ee�.�&�'�Qy��؛�m"��DJH�C�ZD{��V�%W=GGr&:�9e�#�ϟv�w�n��В
+��w�����]fk��K?U��=n�F���ı�P�~�V�ҏ�5�>�ٔV�Oe�TMQ\�C��<T�O
nm�����a,{�f���
���g
+Vw�~�ٲ�
tƅ�C��Зx)��}۔�z_i6���v4���

��_�6�~(��N7�Ҡ/
s|��n�9�h��v�$7�SdɕJF��c���4����!
7�COx�X�ǰ�v�HC��t�i�����(D��6���@\m"�F���A<�#��_G)�
��=v����%������#������������C�g?�Pdw@("�َ���`yj6��e��:D��w�g���ж$L�G�E:�yjez�K���jɢ򭟏�i� ݻ��<�ݹ�ym{��2\Np�C��9P���`!ș��[�k��|1"���9S
+��0�����|�+� ��Z�����]��l�I�
����
+�n~;��5��1
g�=�D
+���mS��aA�P���hX�Q-|1
�E\���h~����z����A�
VҞx�PDὧ�p����R{�����$�
+endstream
+endobj
+3130 0 obj <<
+/Type /FontDescriptor
+/FontName /YZPPIP+NimbusRomNo9L-ReguItal
+/Flags 4
+/FontBBox [-169 -270 1010 924]
+/Ascent 669
+/CapHeight 669
+/Descent -193
+/ItalicAngle -15
+/StemV 78
+/XHeight 441
+/CharSet (/A/B/C/D/E/F/H/I/J/K/L/M/N/O/P/R/S/T/U/V/W/Z/a/b/c/colon/comma/d/e/f/fi/fl/g/h/hyphen/i/j/k/l/m/n/nine/o/p/parenleft/parenright/period/plus/q/quoteright/r/s/semicolon/seven/slash/t/three/u/underscore/v/w/x/y/z/zero)
+/FontFile 3129 0 R
+>> endobj
+3069 0 obj <<
+/Type /Encoding
+/Differences [2/fi/fl 34/quotedbl 37/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon 61/equal 64/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft 93/bracketright 95/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft 125/braceright 147/quotedblleft/quotedblright/bullet/endash 169/copyright]
+>> endobj
+1170 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /LBWBDW+CMEX10
+/FontDescriptor 3084 0 R
+/FirstChar 80
+/LastChar 80
+/Widths 3066 0 R
+>> endobj
+322 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /OTQMQX+CMMI10
+/FontDescriptor 3086 0 R
+/FirstChar 46
+/LastChar 120
+/Widths 3076 0 R
+>> endobj
+1029 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /ZGGNQH+CMMI12
+/FontDescriptor 3088 0 R
+/FirstChar 60
+/LastChar 62
+/Widths 3071 0 R
+>> endobj
+1641 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /OMWOOP+CMMI6
+/FontDescriptor 3090 0 R
+/FirstChar 100
+/LastChar 117
+/Widths 3061 0 R
+>> endobj
+1171 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /NNLWPH+CMMI7
+/FontDescriptor 3092 0 R
+/FirstChar 100
+/LastChar 117
+/Widths 3065 0 R
+>> endobj
+2319 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /DGLWIM+CMMI9
+/FontDescriptor 3094 0 R
+/FirstChar 46
+/LastChar 120
+/Widths 3059 0 R
+>> endobj
+344 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /CZIMXX+CMR10
+/FontDescriptor 3096 0 R
+/FirstChar 40
+/LastChar 118
+/Widths 3074 0 R
+>> endobj
+2317 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /UVIORO+CMR6
+/FontDescriptor 3098 0 R
+/FirstChar 97
+/LastChar 120
+/Widths 3060 0 R
+>> endobj
+1173 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /VWYYIV+CMR7
+/FontDescriptor 3100 0 R
+/FirstChar 48
+/LastChar 120
+/Widths 3063 0 R
+>> endobj
+1139 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /EBURFX+CMR9
+/FontDescriptor 3102 0 R
+/FirstChar 40
+/LastChar 118
+/Widths 3067 0 R
+>> endobj
+244 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /UUCYST+CMSY10
+/FontDescriptor 3104 0 R
+/FirstChar 0
+/LastChar 54
+/Widths 3081 0 R
+>> endobj
+246 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /ATFWDW+CMSY6
+/FontDescriptor 3106 0 R
+/FirstChar 3
+/LastChar 122
+/Widths 3079 0 R
+>> endobj
+1172 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /ZQLTBN+CMSY7
+/FontDescriptor 3108 0 R
+/FirstChar 0
+/LastChar 48
+/Widths 3064 0 R
+>> endobj
+245 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /JRVZXP+CMSY8
+/FontDescriptor 3110 0 R
+/FirstChar 120
+/LastChar 122
+/Widths 3080 0 R
+>> endobj
+1427 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /GCEPBM+CMSY9
+/FontDescriptor 3112 0 R
+/FirstChar 3
+/LastChar 50
+/Widths 3062 0 R
+>> endobj
+1138 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /YGAXLK+CMTT9
+/FontDescriptor 3114 0 R
+/FirstChar 49
+/LastChar 109
+/Widths 3068 0 R
+>> endobj
+2620 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /OAKMXN+MSBM10
+/FontDescriptor 3116 0 R
+/FirstChar 81
+/LastChar 81
+/Widths 3057 0 R
+>> endobj
+2410 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /OAKMXN+MSBM10
+/FontDescriptor 3116 0 R
+/FirstChar 81
+/LastChar 81
+/Widths 3058 0 R
+>> endobj
+1105 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /SFYBYI+NimbusMonL-Bold
+/FontDescriptor 3118 0 R
+/FirstChar 44
+/LastChar 116
+/Widths 3070 0 R
+/Encoding 3069 0 R
+>> endobj
+277 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /KKDVLJ+NimbusMonL-Regu
+/FontDescriptor 3120 0 R
+/FirstChar 34
+/LastChar 122
+/Widths 3077 0 R
+/Encoding 3069 0 R
+>> endobj
+417 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /PKMHPR+NimbusMonL-ReguObli
+/FontDescriptor 3122 0 R
+/FirstChar 39
+/LastChar 121
+/Widths 3073 0 R
+/Encoding 3069 0 R
+>> endobj
+275 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /KMUOGT+NimbusRomNo9L-Medi
+/FontDescriptor 3124 0 R
+/FirstChar 2
+/LastChar 150
+/Widths 3078 0 R
+/Encoding 3069 0 R
+>> endobj
+819 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /HLPEBA+NimbusRomNo9L-MediItal
+/FontDescriptor 3126 0 R
+/FirstChar 2
+/LastChar 121
+/Widths 3072 0 R
+/Encoding 3069 0 R
+>> endobj
+243 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /YKOZLO+NimbusRomNo9L-Regu
+/FontDescriptor 3128 0 R
+/FirstChar 2
+/LastChar 169
+/Widths 3082 0 R
+/Encoding 3069 0 R
+>> endobj
+334 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /YZPPIP+NimbusRomNo9L-ReguItal
+/FontDescriptor 3130 0 R
+/FirstChar 2
+/LastChar 122
+/Widths 3075 0 R
+/Encoding 3069 0 R
+>> endobj
+247 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3131 0 R
+/Kids [238 0 R 272 0 R 319 0 R 331 0 R 341 0 R 349 0 R]
+>> endobj
+361 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3131 0 R
+/Kids [356 0 R 364 0 R 372 0 R 378 0 R 384 0 R 392 0 R]
+>> endobj
+406 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3131 0 R
+/Kids [399 0 R 412 0 R 420 0 R 426 0 R 431 0 R 436 0 R]
+>> endobj
+446 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3131 0 R
+/Kids [442 0 R 460 0 R 495 0 R 541 0 R 611 0 R 656 0 R]
+>> endobj
+685 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3131 0 R
+/Kids [682 0 R 713 0 R 777 0 R 813 0 R 826 0 R 836 0 R]
+>> endobj
+854 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3131 0 R
+/Kids [848 0 R 875 0 R 898 0 R 933 0 R 981 0 R 1004 0 R]
+>> endobj
+1038 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3132 0 R
+/Kids [1025 0 R 1062 0 R 1081 0 R 1099 0 R 1124 0 R 1156 0 R]
+>> endobj
+1208 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3132 0 R
+/Kids [1193 0 R 1217 0 R 1253 0 R 1270 0 R 1285 0 R 1317 0 R]
+>> endobj
+1346 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3132 0 R
+/Kids [1338 0 R 1353 0 R 1377 0 R 1415 0 R 1452 0 R 1488 0 R]
+>> endobj
+1540 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3132 0 R
+/Kids [1524 0 R 1555 0 R 1585 0 R 1635 0 R 1669 0 R 1686 0 R]
+>> endobj
+1702 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3132 0 R
+/Kids [1695 0 R 1705 0 R 1716 0 R 1736 0 R 1763 0 R 1784 0 R]
+>> endobj
+1808 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3132 0 R
+/Kids [1800 0 R 1818 0 R 1848 0 R 1889 0 R 1917 0 R 1933 0 R]
+>> endobj
+1949 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3133 0 R
+/Kids [1941 0 R 1956 0 R 1986 0 R 2021 0 R 2049 0 R 2072 0 R]
+>> endobj
+2118 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3133 0 R
+/Kids [2102 0 R 2138 0 R 2199 0 R 2248 0 R 2313 0 R 2367 0 R]
+>> endobj
+2414 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3133 0 R
+/Kids [2406 0 R 2426 0 R 2437 0 R 2449 0 R 2461 0 R 2474 0 R]
+>> endobj
+2493 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3133 0 R
+/Kids [2486 0 R 2500 0 R 2512 0 R 2522 0 R 2536 0 R 2550 0 R]
+>> endobj
+2569 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3133 0 R
+/Kids [2562 0 R 2578 0 R 2593 0 R 2604 0 R 2614 0 R 2626 0 R]
+>> endobj
+2653 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3133 0 R
+/Kids [2641 0 R 2656 0 R 2714 0 R 2773 0 R 2865 0 R 2968 0 R]
+>> endobj
+3042 0 obj <<
+/Type /Pages
+/Count 2
+/Parent 3134 0 R
+/Kids [3039 0 R 3054 0 R]
+>> endobj
+3131 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 3135 0 R
+/Kids [247 0 R 361 0 R 406 0 R 446 0 R 685 0 R 854 0 R]
+>> endobj
+3132 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 3135 0 R
+/Kids [1038 0 R 1208 0 R 1346 0 R 1540 0 R 1702 0 R 1808 0 R]
+>> endobj
+3133 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 3135 0 R
+/Kids [1949 0 R 2118 0 R 2414 0 R 2493 0 R 2569 0 R 2653 0 R]
+>> endobj
+3134 0 obj <<
+/Type /Pages
+/Count 2
+/Parent 3135 0 R
+/Kids [3042 0 R]
+>> endobj
+3135 0 obj <<
+/Type /Pages
+/Count 110
+/Kids [3131 0 R 3132 0 R 3133 0 R 3134 0 R]
+>> endobj
+3136 0 obj <<
+/Type /Outlines
+/First 7 0 R
+/Last 67 0 R
+/Count 10
+>> endobj
+235 0 obj <<
+/Title 236 0 R
+/A 233 0 R
+/Parent 67 0 R
+/Prev 231 0 R
+>> endobj
+231 0 obj <<
+/Title 232 0 R
+/A 229 0 R
+/Parent 67 0 R
+/Prev 227 0 R
+/Next 235 0 R
+>> endobj
+227 0 obj <<
+/Title 228 0 R
+/A 225 0 R
+/Parent 67 0 R
+/Prev 223 0 R
+/Next 231 0 R
+>> endobj
+223 0 obj <<
+/Title 224 0 R
+/A 221 0 R
+/Parent 67 0 R
+/Prev 219 0 R
+/Next 227 0 R
+>> endobj
+219 0 obj <<
+/Title 220 0 R
+/A 217 0 R
+/Parent 67 0 R
+/Prev 215 0 R
+/Next 223 0 R
+>> endobj
+215 0 obj <<
+/Title 216 0 R
+/A 213 0 R
+/Parent 67 0 R
+/Prev 211 0 R
+/Next 219 0 R
+>> endobj
+211 0 obj <<
+/Title 212 0 R
+/A 209 0 R
+/Parent 67 0 R
+/Prev 207 0 R
+/Next 215 0 R
+>> endobj
+207 0 obj <<
+/Title 208 0 R
+/A 205 0 R
+/Parent 67 0 R
+/Prev 203 0 R
+/Next 211 0 R
+>> endobj
+203 0 obj <<
+/Title 204 0 R
+/A 201 0 R
+/Parent 67 0 R
+/Prev 199 0 R
+/Next 207 0 R
+>> endobj
+199 0 obj <<
+/Title 200 0 R
+/A 197 0 R
+/Parent 67 0 R
+/Prev 195 0 R
+/Next 203 0 R
+>> endobj
+195 0 obj <<
+/Title 196 0 R
+/A 193 0 R
+/Parent 67 0 R
+/Prev 191 0 R
+/Next 199 0 R
+>> endobj
+191 0 obj <<
+/Title 192 0 R
+/A 189 0 R
+/Parent 67 0 R
+/Prev 187 0 R
+/Next 195 0 R
+>> endobj
+187 0 obj <<
+/Title 188 0 R
+/A 185 0 R
+/Parent 67 0 R
+/Prev 183 0 R
+/Next 191 0 R
+>> endobj
+183 0 obj <<
+/Title 184 0 R
+/A 181 0 R
+/Parent 67 0 R
+/Prev 179 0 R
+/Next 187 0 R
+>> endobj
+179 0 obj <<
+/Title 180 0 R
+/A 177 0 R
+/Parent 67 0 R
+/Prev 175 0 R
+/Next 183 0 R
+>> endobj
+175 0 obj <<
+/Title 176 0 R
+/A 173 0 R
+/Parent 67 0 R
+/Prev 171 0 R
+/Next 179 0 R
+>> endobj
+171 0 obj <<
+/Title 172 0 R
+/A 169 0 R
+/Parent 67 0 R
+/Prev 167 0 R
+/Next 175 0 R
+>> endobj
+167 0 obj <<
+/Title 168 0 R
+/A 165 0 R
+/Parent 67 0 R
+/Prev 163 0 R
+/Next 171 0 R
+>> endobj
+163 0 obj <<
+/Title 164 0 R
+/A 161 0 R
+/Parent 67 0 R
+/Prev 159 0 R
+/Next 167 0 R
+>> endobj
+159 0 obj <<
+/Title 160 0 R
+/A 157 0 R
+/Parent 67 0 R
+/Prev 155 0 R
+/Next 163 0 R
+>> endobj
+155 0 obj <<
+/Title 156 0 R
+/A 153 0 R
+/Parent 67 0 R
+/Prev 151 0 R
+/Next 159 0 R
+>> endobj
+151 0 obj <<
+/Title 152 0 R
+/A 149 0 R
+/Parent 67 0 R
+/Prev 147 0 R
+/Next 155 0 R
+>> endobj
+147 0 obj <<
+/Title 148 0 R
+/A 145 0 R
+/Parent 67 0 R
+/Prev 143 0 R
+/Next 151 0 R
+>> endobj
+143 0 obj <<
+/Title 144 0 R
+/A 141 0 R
+/Parent 67 0 R
+/Prev 139 0 R
+/Next 147 0 R
+>> endobj
+139 0 obj <<
+/Title 140 0 R
+/A 137 0 R
+/Parent 67 0 R
+/Prev 135 0 R
+/Next 143 0 R
+>> endobj
+135 0 obj <<
+/Title 136 0 R
+/A 133 0 R
+/Parent 67 0 R
+/Prev 131 0 R
+/Next 139 0 R
+>> endobj
+131 0 obj <<
+/Title 132 0 R
+/A 129 0 R
+/Parent 67 0 R
+/Prev 127 0 R
+/Next 135 0 R
+>> endobj
+127 0 obj <<
+/Title 128 0 R
+/A 125 0 R
+/Parent 67 0 R
+/Prev 123 0 R
+/Next 131 0 R
+>> endobj
+123 0 obj <<
+/Title 124 0 R
+/A 121 0 R
+/Parent 67 0 R
+/Prev 119 0 R
+/Next 127 0 R
+>> endobj
+119 0 obj <<
+/Title 120 0 R
+/A 117 0 R
+/Parent 67 0 R
+/Prev 115 0 R
+/Next 123 0 R
+>> endobj
+115 0 obj <<
+/Title 116 0 R
+/A 113 0 R
+/Parent 67 0 R
+/Prev 111 0 R
+/Next 119 0 R
+>> endobj
+111 0 obj <<
+/Title 112 0 R
+/A 109 0 R
+/Parent 67 0 R
+/Prev 107 0 R
+/Next 115 0 R
+>> endobj
+107 0 obj <<
+/Title 108 0 R
+/A 105 0 R
+/Parent 67 0 R
+/Prev 103 0 R
+/Next 111 0 R
+>> endobj
+103 0 obj <<
+/Title 104 0 R
+/A 101 0 R
+/Parent 67 0 R
+/Prev 99 0 R
+/Next 107 0 R
+>> endobj
+99 0 obj <<
+/Title 100 0 R
+/A 97 0 R
+/Parent 67 0 R
+/Prev 95 0 R
+/Next 103 0 R
+>> endobj
+95 0 obj <<
+/Title 96 0 R
+/A 93 0 R
+/Parent 67 0 R
+/Prev 91 0 R
+/Next 99 0 R
+>> endobj
+91 0 obj <<
+/Title 92 0 R
+/A 89 0 R
+/Parent 67 0 R
+/Prev 87 0 R
+/Next 95 0 R
+>> endobj
+87 0 obj <<
+/Title 88 0 R
+/A 85 0 R
+/Parent 67 0 R
+/Prev 83 0 R
+/Next 91 0 R
+>> endobj
+83 0 obj <<
+/Title 84 0 R
+/A 81 0 R
+/Parent 67 0 R
+/Prev 79 0 R
+/Next 87 0 R
+>> endobj
+79 0 obj <<
+/Title 80 0 R
+/A 77 0 R
+/Parent 67 0 R
+/Prev 75 0 R
+/Next 83 0 R
+>> endobj
+75 0 obj <<
+/Title 76 0 R
+/A 73 0 R
+/Parent 67 0 R
+/Prev 71 0 R
+/Next 79 0 R
+>> endobj
+71 0 obj <<
+/Title 72 0 R
+/A 69 0 R
+/Parent 67 0 R
+/Next 75 0 R
+>> endobj
+67 0 obj <<
+/Title 68 0 R
+/A 65 0 R
+/Parent 3136 0 R
+/Prev 59 0 R
+/First 71 0 R
+/Last 235 0 R
+/Count -42
+>> endobj
+63 0 obj <<
+/Title 64 0 R
+/A 61 0 R
+/Parent 59 0 R
+>> endobj
+59 0 obj <<
+/Title 60 0 R
+/A 57 0 R
+/Parent 3136 0 R
+/Prev 51 0 R
+/Next 67 0 R
+/First 63 0 R
+/Last 63 0 R
+/Count -1
+>> endobj
+55 0 obj <<
+/Title 56 0 R
+/A 53 0 R
+/Parent 51 0 R
+>> endobj
+51 0 obj <<
+/Title 52 0 R
+/A 49 0 R
+/Parent 3136 0 R
+/Prev 43 0 R
+/Next 59 0 R
+/First 55 0 R
+/Last 55 0 R
+/Count -1
+>> endobj
+47 0 obj <<
+/Title 48 0 R
+/A 45 0 R
+/Parent 43 0 R
+>> endobj
+43 0 obj <<
+/Title 44 0 R
+/A 41 0 R
+/Parent 3136 0 R
+/Prev 35 0 R
+/Next 51 0 R
+/First 47 0 R
+/Last 47 0 R
+/Count -1
+>> endobj
+39 0 obj <<
+/Title 40 0 R
+/A 37 0 R
+/Parent 35 0 R
+>> endobj
+35 0 obj <<
+/Title 36 0 R
+/A 33 0 R
+/Parent 3136 0 R
+/Prev 27 0 R
+/Next 43 0 R
+/First 39 0 R
+/Last 39 0 R
+/Count -1
+>> endobj
+31 0 obj <<
+/Title 32 0 R
+/A 29 0 R
+/Parent 27 0 R
+>> endobj
+27 0 obj <<
+/Title 28 0 R
+/A 25 0 R
+/Parent 3136 0 R
+/Prev 19 0 R
+/Next 35 0 R
+/First 31 0 R
+/Last 31 0 R
+/Count -1
+>> endobj
+23 0 obj <<
+/Title 24 0 R
+/A 21 0 R
+/Parent 19 0 R
+>> endobj
+19 0 obj <<
+/Title 20 0 R
+/A 17 0 R
+/Parent 3136 0 R
+/Prev 15 0 R
+/Next 27 0 R
+/First 23 0 R
+/Last 23 0 R
+/Count -1
+>> endobj
+15 0 obj <<
+/Title 16 0 R
+/A 13 0 R
+/Parent 3136 0 R
+/Prev 11 0 R
+/Next 19 0 R
+>> endobj
+11 0 obj <<
+/Title 12 0 R
+/A 9 0 R
+/Parent 3136 0 R
+/Prev 7 0 R
+/Next 15 0 R
+>> endobj
+7 0 obj <<
+/Title 8 0 R
+/A 5 0 R
+/Parent 3136 0 R
+/Next 11 0 R
+>> endobj
+3137 0 obj <<
+/Names [(Doc-Start) 242 0 R (GFDL) 423 0 R (GFDL_GFDL) 279 0 R (GPL) 345 0 R (GPL_GPL) 280 0 R (classparma__polyhedra__library_1_1Artificial__Parameter) 544 0 R]
+/Limits [(Doc-Start) (classparma__polyhedra__library_1_1Artificial__Parameter)]
+>> endobj
+3138 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Artificial__Parameter__Sequence) 545 0 R (classparma__polyhedra__library_1_1Artificial__Parameter__Sequence_adb3527cd368dc0c27de0d20f9a325d0b) 1013 0 R (classparma__polyhedra__library_1_1Artificial__Parameter_a45071a745fb30de24380e7e21c8c80ef) 988 0 R (classparma__polyhedra__library_1_1Artificial__Parameter_a46f81b7244ead222393409796c6155bf) 1007 0 R (classparma__polyhedra__library_1_1Artificial__Parameter_a5861873d6b4efa078c9baea63cc8161c) 1008 [...]
+/Limits [(classparma__polyhedra__library_1_1Artificial__Parameter__Sequence) (classparma__polyhedra__library_1_1Artificial__Parameter_acd06275151af00aa4ee62a7317c547dd)]
+>> endobj
+3139 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Artificial__Parameter_acd52b4b7cf5a3c7da87fa56306263280) 1010 0 R (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4) 546 0 R (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_a133f3756e88145e6ff5bf3d1b41838d9) 1032 0 R (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_aa3a5f10fed94188b162073ef8efff393) 1033 0 R (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_ab4470b84b8b57bae591239910d220c70) 1031 0 R (c [...]
+/Limits [(classparma__polyhedra__library_1_1Artificial__Parameter_acd52b4b7cf5a3c7da87fa56306263280) (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_ad35d7381bcd3c4cf029d4b76bb6545b8)]
+>> endobj
+3140 0 obj <<
+/Names [(classparma__polyhedra__library_1_1C__Polyhedron) 547 0 R (classparma__polyhedra__library_1_1C__Polyhedron_a173c08eeeb4a96b0060d5f023e4ba4a6) 1066 0 R (classparma__polyhedra__library_1_1C__Polyhedron_a1c91471f55b22735023d37417f0bef70) 1039 0 R (classparma__polyhedra__library_1_1C__Polyhedron_a1f026c17289bb2174eaec0d61a4a2e67) 1071 0 R (classparma__polyhedra__library_1_1C__Polyhedron_a3665335e295bd7c05eeca13be606616f) 1077 0 R (classparma__polyhedra__library_1_1C__Polyhedron_a5091 [...]
+/Limits [(classparma__polyhedra__library_1_1C__Polyhedron) (classparma__polyhedra__library_1_1C__Polyhedron_a509185b3d326e5d4496fbe8953b82f88)]
+>> endobj
+3141 0 obj <<
+/Names [(classparma__polyhedra__library_1_1C__Polyhedron_a5491f9cbaf4f0215196fc05ce17eaec9) 1072 0 R (classparma__polyhedra__library_1_1C__Polyhedron_a558341813be1d1bf607bf1c50e6e1ba3) 1067 0 R (classparma__polyhedra__library_1_1C__Polyhedron_aa37dcee4fa14c58b76c8d3c4227849e8) 1075 0 R (classparma__polyhedra__library_1_1C__Polyhedron_abf571357a5156e495293957a44145a9b) 1074 0 R (classparma__polyhedra__library_1_1C__Polyhedron_ad008d79cb35b51e7dfbee0dcc3741dc3) 1073 0 R (classparma__polyhe [...]
+/Limits [(classparma__polyhedra__library_1_1C__Polyhedron_a5491f9cbaf4f0215196fc05ce17eaec9) (classparma__polyhedra__library_1_1C__Polyhedron_ae79d42cfe6b21bcf264fd9ea84e78fb2)]
+>> endobj
+3142 0 obj <<
+/Names [(classparma__polyhedra__library_1_1C__Polyhedron_aef6bc45c4726c7fb386547c6ec104cf5) 1078 0 R (classparma__polyhedra__library_1_1Coefficient) 548 0 R (classparma__polyhedra__library_1_1Coefficient_a2558e4d9aca774fc60a7f8cb26d002d0) 1131 0 R (classparma__polyhedra__library_1_1Coefficient_a2ae111e41ccba8a228746939bb1c595f) 1127 0 R (classparma__polyhedra__library_1_1Coefficient_a4445a4d60c39e32b6f6d3e2dcb901e55) 1109 0 R (classparma__polyhedra__library_1_1Coefficient_a5e4f22d99d07f9 [...]
+/Limits [(classparma__polyhedra__library_1_1C__Polyhedron_aef6bc45c4726c7fb386547c6ec104cf5) (classparma__polyhedra__library_1_1Coefficient_a5e4f22d99d07f976fa2e51bc34525e15)]
+>> endobj
+3143 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Coefficient_a7c968f7ba606e8b99863ae8cdef3c686) 1134 0 R (classparma__polyhedra__library_1_1Coefficient_aac1766c4ad4a4697f6f9d4a92b200cb2) 1107 0 R (classparma__polyhedra__library_1_1Coefficient_aaff569442866d78436e19428b4cb8e75) 1129 0 R (classparma__polyhedra__library_1_1Coefficient_affb4611ad564f09455819718964b6e80) 1108 0 R (classparma__polyhedra__library_1_1Congruence) 549 0 R (classparma__polyhedra__library_1_1Congruence__System) 550 0 R]
+/Limits [(classparma__polyhedra__library_1_1Coefficient_a7c968f7ba606e8b99863ae8cdef3c686) (classparma__polyhedra__library_1_1Congruence__System)]
+>> endobj
+3144 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Congruence__System_a2da6d6ce1ce4057b0332826381042d4d) 1198 0 R (classparma__polyhedra__library_1_1Congruence__System_a392557cee71bc7b2eb23f07a9d788062) 1197 0 R (classparma__polyhedra__library_1_1Congruence__System_a6b7400f7e25b1bb473b2fc16c0c90b32) 1199 0 R (classparma__polyhedra__library_1_1Congruence_a09e7bb0fbd7304bfdd8412ce221c47b5) 1160 0 R (classparma__polyhedra__library_1_1Congruence_a1a974f4ed60693790cec91f324a85b05) 1163 0 R (classparm [...]
+/Limits [(classparma__polyhedra__library_1_1Congruence__System_a2da6d6ce1ce4057b0332826381042d4d) (classparma__polyhedra__library_1_1Congruence_a240b9d144edd0d6dca5cb42904f9b279)]
+>> endobj
+3145 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Congruence_a322ec6fb5527b6ddc01ac35188d804b0) 1161 0 R (classparma__polyhedra__library_1_1Congruence_a637fe9105c9bc0b2722544d16453e87c) 1167 0 R (classparma__polyhedra__library_1_1Congruence_a65c976f0aafc42c094699578b7a2bcbe) 1159 0 R (classparma__polyhedra__library_1_1Congruence_a6bcbe60c7d20f1fee7847e262993b626) 1162 0 R (classparma__polyhedra__library_1_1Congruence_a71cf9ab9ae4f184bf520137a8209ff3e) 1137 0 R (classparma__polyhedra__library_1_ [...]
+/Limits [(classparma__polyhedra__library_1_1Congruence_a322ec6fb5527b6ddc01ac35188d804b0) (classparma__polyhedra__library_1_1Congruence_a7ea59789fd9b3a6716718beae0e01c8d)]
+>> endobj
+3146 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Constraint) 551 0 R (classparma__polyhedra__library_1_1Constraint__System) 552 0 R (classparma__polyhedra__library_1_1Constraint__System_a8be9b5793c5bcbd09cbe45d5def529d0) 1222 0 R (classparma__polyhedra__library_1_1Constraint__System_aad362521f7fba585112f1a2a5aea3d96) 1223 0 R (classparma__polyhedra__library_1_1Constraint__System_af2e1b75d9c8484321bfc25bb122970b7) 1224 0 R (classparma__polyhedra__library_1_1Constraint_a0b1d26f53dd99cfe4e2f8a4fc [...]
+/Limits [(classparma__polyhedra__library_1_1Constraint) (classparma__polyhedra__library_1_1Constraint_a0b1d26f53dd99cfe4e2f8a4fc3e8b5d3)]
+>> endobj
+3147 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Constraint_a1112ff3331d87019a2df0fb9a83cfeb8) 1206 0 R (classparma__polyhedra__library_1_1Constraint_a148544cb9ef5bf6b9a60ee56655bff26) 1204 0 R (classparma__polyhedra__library_1_1Constraint_a4738abd11cb0fdcb233ed4f18c874d56) 1207 0 R (classparma__polyhedra__library_1_1Constraint_adc27929d7731cdc3beeba475147e3127) 1205 0 R (classparma__polyhedra__library_1_1Constraint_ae62d06b1c82e9d9f4f12bbb3c6f4bcae) 1203 0 R (classparma__polyhedra__library_1_ [...]
+/Limits [(classparma__polyhedra__library_1_1Constraint_a1112ff3331d87019a2df0fb9a83cfeb8) (classparma__polyhedra__library_1_1Domain__Error__Exception)]
+>> endobj
+3148 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Domain__Error__Exception_a3d2371e510d8b88b2660a631d6857953) 1227 0 R (classparma__polyhedra__library_1_1Generator) 554 0 R (classparma__polyhedra__library_1_1Generator__System) 555 0 R (classparma__polyhedra__library_1_1Generator__System_a58d5c27c8e3d638fc7d25ee54d04b08c) 1293 0 R (classparma__polyhedra__library_1_1Generator__System_a7695c9f42b5164da2b71e7a2b1382d06) 1292 0 R (classparma__polyhedra__library_1_1Generator__System_ab1265553cab293b2 [...]
+/Limits [(classparma__polyhedra__library_1_1Domain__Error__Exception_a3d2371e510d8b88b2660a631d6857953) (classparma__polyhedra__library_1_1Generator__System_ab1265553cab293b2c77d31f57682ae2b)]
+>> endobj
+3149 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Generator_a05c97a4f4fc4ddf12b6582b46dc78c1c) 1264 0 R (classparma__polyhedra__library_1_1Generator_a0ba2ee1968e041e2fe2863cdc8a70436) 1266 0 R (classparma__polyhedra__library_1_1Generator_a32f03a57929a179098fc098b1e848d13) 1265 0 R (classparma__polyhedra__library_1_1Generator_a48d809046b22a739fd5517edad4ff203) 1259 0 R (classparma__polyhedra__library_1_1Generator_a6bc9034f4ee160b652dea1e7491d9401) 1258 0 R (classparma__polyhedra__library_1_1Gene [...]
+/Limits [(classparma__polyhedra__library_1_1Generator_a05c97a4f4fc4ddf12b6582b46dc78c1c) (classparma__polyhedra__library_1_1Generator_ac47942ccd3c17f5253701494570fc0b6)]
+>> endobj
+3150 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Generator_acdcf46a226e15d398fe41d10873779ca) 1263 0 R (classparma__polyhedra__library_1_1Generator_ace05db6f6b402898007ea5bf6ea4a831) 1261 0 R (classparma__polyhedra__library_1_1Generator_ad96733e3e3c9087e06a052e5af198ba6) 1260 0 R (classparma__polyhedra__library_1_1Grid__Generator) 556 0 R (classparma__polyhedra__library_1_1Grid__Generator__System) 557 0 R (classparma__polyhedra__library_1_1Grid__Generator__System_a183f982bd3198d2c455e51e7cedd4 [...]
+/Limits [(classparma__polyhedra__library_1_1Generator_acdcf46a226e15d398fe41d10873779ca) (classparma__polyhedra__library_1_1Grid__Generator__System_a183f982bd3198d2c455e51e7cedd4e33)]
+>> endobj
+3151 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Grid__Generator__System_a4f9d506f39d5a65a2c2cec090a1578f0) 1357 0 R (classparma__polyhedra__library_1_1Grid__Generator__System_a84738aa470464f9f3192817554d26d30) 1345 0 R (classparma__polyhedra__library_1_1Grid__Generator_a14fa7f266812072de5d2cafb578f2146) 1332 0 R (classparma__polyhedra__library_1_1Grid__Generator_a27971df55a7b8e685f759f3001b0aef8) 1328 0 R (classparma__polyhedra__library_1_1Grid__Generator_a49b4dd80b18b196615f00feb7c4c2276) 13 [...]
+/Limits [(classparma__polyhedra__library_1_1Grid__Generator__System_a4f9d506f39d5a65a2c2cec090a1578f0) (classparma__polyhedra__library_1_1Grid__Generator_a5037c7ed51734dd6cb0c14811401e100)]
+>> endobj
+3152 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Grid__Generator_a6039308885a8008bb3cf8533adc96d88) 1330 0 R (classparma__polyhedra__library_1_1Grid__Generator_aa32ef5503c68b0c2ccbd8d69251ecfd7) 1323 0 R (classparma__polyhedra__library_1_1Grid__Generator_ae846d01ef7cc5222216fcac8f2d255c9) 1324 0 R (classparma__polyhedra__library_1_1Grid__Generator_af9bea7ee11ebcb0cecdd692bdb9db064) 1321 0 R (classparma__polyhedra__library_1_1IO) 559 0 R (classparma__polyhedra__library_1_1IO_a2080ebe48063615d89 [...]
+/Limits [(classparma__polyhedra__library_1_1Grid__Generator_a6039308885a8008bb3cf8533adc96d88) (classparma__polyhedra__library_1_1IO_a2080ebe48063615d891b98ef65f2ca71)]
+>> endobj
+3153 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Invalid__Argument__Exception) 558 0 R (classparma__polyhedra__library_1_1Invalid__Argument__Exception_adf699afd1b4f9dbc15fd31424e9d15e7) 1360 0 R (classparma__polyhedra__library_1_1Length__Error__Exception) 560 0 R (classparma__polyhedra__library_1_1Length__Error__Exception_a5b5e4c1fe8b8af4696ac7cc839fb3b40) 1383 0 R (classparma__polyhedra__library_1_1Linear__Expression) 614 0 R (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) [...]
+/Limits [(classparma__polyhedra__library_1_1Invalid__Argument__Exception) (classparma__polyhedra__library_1_1Linear__Expression__Coefficient)]
+>> endobj
+3154 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Linear__Expression__Coefficient_a24d3c42f7ed7c7a99a8a2bb5369eed4d) 1455 0 R (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_aab30b6ef6e87a1df35c14d15237af04c) 1458 0 R (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_ab531066aa6dba222c8c61a8c3978257d) 1431 0 R (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_aedf10f9d2de45d7e8de1809d4417741b) 1456 0 R (classparma__polyhedra__library_1_1Linea [...]
+/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Coefficient_a24d3c42f7ed7c7a99a8a2bb5369eed4d) (classparma__polyhedra__library_1_1Linear__Expression__Difference_a2b2271e2f858709aef3d3705ac8c075d)]
+>> endobj
+3155 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Linear__Expression__Difference_a6e2a52ee587e255b6172f976f5a823d1) 1464 0 R (classparma__polyhedra__library_1_1Linear__Expression__Difference_a87e8e31d3cf9dbe3c2e1041ea8ccf873) 1466 0 R (classparma__polyhedra__library_1_1Linear__Expression__Difference_ad213660ecdcc0e4142a2fd7536489781) 1462 0 R (classparma__polyhedra__library_1_1Linear__Expression__Difference_ad6e4fdbf5475e6d24aaffaceb4a4abf9) 1461 0 R (classparma__polyhedra__library_1_1Linear__E [...]
+/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Difference_a6e2a52ee587e255b6172f976f5a823d1) (classparma__polyhedra__library_1_1Linear__Expression__Sum)]
+>> endobj
+3156 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Linear__Expression__Sum_a26114c4deaf17e8a12123a0a8f760d5d) 1496 0 R (classparma__polyhedra__library_1_1Linear__Expression__Sum_a8bacbf073ef0e1064e8c53ede4ad59bd) 1494 0 R (classparma__polyhedra__library_1_1Linear__Expression__Sum_a8d44f98f79421126eba1448fb80331b4) 1498 0 R (classparma__polyhedra__library_1_1Linear__Expression__Sum_ae1191ef860c3201d40fa4e20fd02ba2d) 1499 0 R (classparma__polyhedra__library_1_1Linear__Expression__Sum_ae42dcbc09bb4 [...]
+/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Sum_a26114c4deaf17e8a12123a0a8f760d5d) (classparma__polyhedra__library_1_1Linear__Expression__Sum_aef62be6cb1c9f4c4f3aff2c5f456c374)]
+>> endobj
+3157 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Linear__Expression__Times) 618 0 R (classparma__polyhedra__library_1_1Linear__Expression__Times_a1871d52b1c98e5fe6554bbc339a0c3f1) 1535 0 R (classparma__polyhedra__library_1_1Linear__Expression__Times_a48abd01c599231c78e6927ec9350b348) 1531 0 R (classparma__polyhedra__library_1_1Linear__Expression__Times_a4c1125e6621d0624a864f5f81046f3f8) 1536 0 R (classparma__polyhedra__library_1_1Linear__Expression__Times_a5bc40b8b8e15d365bba5c33ada0aef18) 152 [...]
+/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Times) (classparma__polyhedra__library_1_1Linear__Expression__Times_a6dec5edff0aa73961373ed7e1b9e0729)]
+>> endobj
+3158 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Linear__Expression__Times_a7f106ecc8b4f062f0b2b53cd3098e50c) 1533 0 R (classparma__polyhedra__library_1_1Linear__Expression__Times_abf685a2367ea144b9f11f11d0591dbb6) 1532 0 R (classparma__polyhedra__library_1_1Linear__Expression__Times_ad5e935cae93921ba42abc76cf8b00c6a) 1528 0 R (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) 619 0 R (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_a2834d46309af2717b28dc79 [...]
+/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Times_a7f106ecc8b4f062f0b2b53cd3098e50c) (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_a2f88b2137b58031e4838f19daff12f4a)]
+>> endobj
+3159 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_aa51b2de39e7e3568d5c9322de4b0454b) 1539 0 R (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_aab53a108e173a6657e2af82a66ea3737) 1558 0 R (classparma__polyhedra__library_1_1Linear__Expression__Variable) 620 0 R (classparma__polyhedra__library_1_1Linear__Expression__Variable_a5c54fa6c29a576ab9de69361d15f8b17) 1565 0 R (classparma__polyhedra__library_1_1Linear__Expression__Variable_a642f2ab97bf846 [...]
+/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_aa51b2de39e7e3568d5c9322de4b0454b) (classparma__polyhedra__library_1_1Linear__Expression__Variable_ae2482d18059a20a1cea2423a8b3d1043)]
+>> endobj
+3160 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Linear__Expression_a0c0b91260da0f4729a335faa3747c397) 1424 0 R (classparma__polyhedra__library_1_1Linear__Expression_a2a76c9ab182bf0cbd015cea16a24c635) 1422 0 R (classparma__polyhedra__library_1_1Linear__Expression_a3866453e844ec10e038e9ae2b336159d) 1420 0 R (classparma__polyhedra__library_1_1Linear__Expression_a491b55e596bb0dc1e707355a1b2169b5) 1425 0 R (classparma__polyhedra__library_1_1Linear__Expression_a4cf0e5fe5ff7c8b23e809eb6ea8f9f2c) 142 [...]
+/Limits [(classparma__polyhedra__library_1_1Linear__Expression_a0c0b91260da0f4729a335faa3747c397) (classparma__polyhedra__library_1_1Linear__Expression_a94678c0499f89a49dc9118ef12f161b8)]
+>> endobj
+3161 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Linear__Expression_aaf751a048f4895ec1ca6eb753a196908) 1421 0 R (classparma__polyhedra__library_1_1Linear__Expression_ad3d011ec5cd66a3e9bf71053d6b818b5) 1419 0 R (classparma__polyhedra__library_1_1Linear__Expression_af5d9b1e4dec7faf038dd87f36773252b) 1423 0 R (classparma__polyhedra__library_1_1Logic__Error__Exception) 621 0 R (classparma__polyhedra__library_1_1Logic__Error__Exception_a11bc5303b1d7a594017971538e60858f) 1589 0 R (classparma__polyhe [...]
+/Limits [(classparma__polyhedra__library_1_1Linear__Expression_aaf751a048f4895ec1ca6eb753a196908) (classparma__polyhedra__library_1_1MIP__Problem)]
+>> endobj
+3162 0 obj <<
+/Names [(classparma__polyhedra__library_1_1MIP__Problem_a053b3ad9ab9c0920ee835d51589cb703) 1655 0 R (classparma__polyhedra__library_1_1MIP__Problem_a1a896ee4273234f7c7181d76bdd9260f) 1595 0 R (classparma__polyhedra__library_1_1MIP__Problem_a203692374bea9a641aba897049f2ae03) 1648 0 R (classparma__polyhedra__library_1_1MIP__Problem_a23fb2ed36793d2fa8974d9b6c3f93705) 1594 0 R (classparma__polyhedra__library_1_1MIP__Problem_a2d9c6ed1390e4148c2fccb3491c7b4a7) 1638 0 R (classparma__polyhedra__ [...]
+/Limits [(classparma__polyhedra__library_1_1MIP__Problem_a053b3ad9ab9c0920ee835d51589cb703) (classparma__polyhedra__library_1_1MIP__Problem_a31c3eb3b5ccbe373dc04fe4d86234b87)]
+>> endobj
+3163 0 obj <<
+/Names [(classparma__polyhedra__library_1_1MIP__Problem_a49981873be6474f7f399f1f54bc8861d) 1593 0 R (classparma__polyhedra__library_1_1MIP__Problem_a4c0dddb2c112aeef626eef4d7e539d2d) 1645 0 R (classparma__polyhedra__library_1_1MIP__Problem_a4cdcdb051551e8a23b6ff80a3294c5de) 1675 0 R (classparma__polyhedra__library_1_1MIP__Problem_a4dfc6347addaec85187c46bff12def97) 1678 0 R (classparma__polyhedra__library_1_1MIP__Problem_a52edb70858467236238aaec3b1884d37) 1600 0 R (classparma__polyhedra__ [...]
+/Limits [(classparma__polyhedra__library_1_1MIP__Problem_a49981873be6474f7f399f1f54bc8861d) (classparma__polyhedra__library_1_1MIP__Problem_a54d7ba808dcfc372e231fe597f5daf1f)]
+>> endobj
+3164 0 obj <<
+/Names [(classparma__polyhedra__library_1_1MIP__Problem_a5b935844aeba5303d77ca82130998245) 1599 0 R (classparma__polyhedra__library_1_1MIP__Problem_a64a91a5f142efd873b50d2cb7d27e660) 1673 0 R (classparma__polyhedra__library_1_1MIP__Problem_a75aa539f287d460bc26a347512e51760) 1654 0 R (classparma__polyhedra__library_1_1MIP__Problem_a7c8c10d940074e8ec96a4d319b88e490) 1646 0 R (classparma__polyhedra__library_1_1MIP__Problem_a7fa63d4674ffff39446dd46ed0c26e6f) 1598 0 R (classparma__polyhedra__ [...]
+/Limits [(classparma__polyhedra__library_1_1MIP__Problem_a5b935844aeba5303d77ca82130998245) (classparma__polyhedra__library_1_1MIP__Problem_a81cb4962caaa75c19cdf6c8a5af4e46b)]
+>> endobj
+3165 0 obj <<
+/Names [(classparma__polyhedra__library_1_1MIP__Problem_aab8f9339a589d7ecd8eba424cd8c8d3f) 1650 0 R (classparma__polyhedra__library_1_1MIP__Problem_ac2cab9caa4fff25fd03b1012a0c8cf5b) 1674 0 R (classparma__polyhedra__library_1_1MIP__Problem_acaf3268d04168d4d22ebe73d9578d7d5) 1643 0 R (classparma__polyhedra__library_1_1MIP__Problem_acaffbc7bc53bf538c9d8a75cb4a7e872) 1596 0 R (classparma__polyhedra__library_1_1MIP__Problem_acf903011430930b9c3afca546ecb07db) 1649 0 R (classparma__polyhedra__ [...]
+/Limits [(classparma__polyhedra__library_1_1MIP__Problem_aab8f9339a589d7ecd8eba424cd8c8d3f) (classparma__polyhedra__library_1_1MIP__Problem_ad202d113166e7f68344ee82ba6e7b0fd)]
+>> endobj
+3166 0 obj <<
+/Names [(classparma__polyhedra__library_1_1MIP__Problem_ae0371bb311150040a06e7839efb57a83) 1592 0 R (classparma__polyhedra__library_1_1MIP__Problem_ae1db1d48c605e6f79aa78ea2a4a9cda7) 1597 0 R (classparma__polyhedra__library_1_1MIP__Problem_aee14b86bac3475fb14914092715b5916) 1680 0 R (classparma__polyhedra__library_1_1MIP__Problem_af27bf62f81d315063d66dc394ef9559c) 1644 0 R (classparma__polyhedra__library_1_1MIP__Problem_af66f20c1209205a55c53e42c83761b82) 1647 0 R (classparma__polyhedra__ [...]
+/Limits [(classparma__polyhedra__library_1_1MIP__Problem_ae0371bb311150040a06e7839efb57a83) (classparma__polyhedra__library_1_1MIP__Problem_afa2c94e0b2f7b773f7d2daf6d53f9874)]
+>> endobj
+3167 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Overflow__Error__Exception) 623 0 R (classparma__polyhedra__library_1_1Overflow__Error__Exception_a6c67cb8304bf0e784ad1aa328e82e20e) 1722 0 R (classparma__polyhedra__library_1_1PIP__Decision__Node) 626 0 R (classparma__polyhedra__library_1_1PIP__Decision__Node_a28255dd92e8d19d88eb174301fe3f226) 1852 0 R (classparma__polyhedra__library_1_1PIP__Problem) 627 0 R (classparma__polyhedra__library_1_1PIP__Problem_a17f644417468e6386da38c98547e035a) 1926 0 R]
+/Limits [(classparma__polyhedra__library_1_1Overflow__Error__Exception) (classparma__polyhedra__library_1_1PIP__Problem_a17f644417468e6386da38c98547e035a)]
+>> endobj
+3168 0 obj <<
+/Names [(classparma__polyhedra__library_1_1PIP__Problem_a2785a80c9004bee93bfd1117b92d3545) 1894 0 R (classparma__polyhedra__library_1_1PIP__Problem_a2940a7c722ff786661a179b646a82346) 1905 0 R (classparma__polyhedra__library_1_1PIP__Problem_a35c6f27597bb1b3e91f42983100adfa2) 1904 0 R (classparma__polyhedra__library_1_1PIP__Problem_a54397279ba530e6606a150de9ac12898) 1860 0 R (classparma__polyhedra__library_1_1PIP__Problem_a59b93ad12584038a0308a11c7bd6df82) 1920 0 R (classparma__polyhedra__ [...]
+/Limits [(classparma__polyhedra__library_1_1PIP__Problem_a2785a80c9004bee93bfd1117b92d3545) (classparma__polyhedra__library_1_1PIP__Problem_a648a17e7c1bb0ed0ebf616eb4a7b8e78)]
+>> endobj
+3169 0 obj <<
+/Names [(classparma__polyhedra__library_1_1PIP__Problem_a668742e4690285d10492b974e2cefb71) 1906 0 R (classparma__polyhedra__library_1_1PIP__Problem_a677df7ca9506825ddd0b3b2f8fdd2585) 1924 0 R (classparma__polyhedra__library_1_1PIP__Problem_a6bfd316c1ba27c4f21e6710fc8fd3950) 1903 0 R (classparma__polyhedra__library_1_1PIP__Problem_a70c7657a50eddefcf64a8ae441ee5065) 1902 0 R (classparma__polyhedra__library_1_1PIP__Problem_a790d42c501f7fc8685da1a07afa4b546) 1856 0 R (classparma__polyhedra__ [...]
+/Limits [(classparma__polyhedra__library_1_1PIP__Problem_a668742e4690285d10492b974e2cefb71) (classparma__polyhedra__library_1_1PIP__Problem_a79aefa5f658a89e23ac6db4491efc11f)]
+>> endobj
+3170 0 obj <<
+/Names [(classparma__polyhedra__library_1_1PIP__Problem_a7a358e1419ff673a1bfe9f45339b08d6) 1897 0 R (classparma__polyhedra__library_1_1PIP__Problem_a824b5091189207ec0ee311c102c23f72) 1861 0 R (classparma__polyhedra__library_1_1PIP__Problem_a8287cc70d71cf8032aedb143d2e11d7b) 1855 0 R (classparma__polyhedra__library_1_1PIP__Problem_a8f3243fa126b883715b5d2e1fd624e0e) 1928 0 R (classparma__polyhedra__library_1_1PIP__Problem_a9634759f4e965e07036fc9381502d9b4) 1859 0 R (classparma__polyhedra__ [...]
+/Limits [(classparma__polyhedra__library_1_1PIP__Problem_a7a358e1419ff673a1bfe9f45339b08d6) (classparma__polyhedra__library_1_1PIP__Problem_aa31e71a85cb3b2ca9cd0ec4ee1510ebf)]
+>> endobj
+3171 0 obj <<
+/Names [(classparma__polyhedra__library_1_1PIP__Problem_aa96a2b76a7f5ef9d6e7b3d39600edc9c) 1901 0 R (classparma__polyhedra__library_1_1PIP__Problem_abc8db2e604f78ef5e10885bd22d73db4) 1896 0 R (classparma__polyhedra__library_1_1PIP__Problem_ad66523fb7b954dfb1526e36e8b27bb96) 1892 0 R (classparma__polyhedra__library_1_1PIP__Problem_adbfadbe547b418acdae00edab337eedc) 1893 0 R (classparma__polyhedra__library_1_1PIP__Problem_ae46efaa4ab81418b82d78b65fa2713df) 1921 0 R (classparma__polyhedra__ [...]
+/Limits [(classparma__polyhedra__library_1_1PIP__Problem_aa96a2b76a7f5ef9d6e7b3d39600edc9c) (classparma__polyhedra__library_1_1PIP__Problem_ae90b3754a8d7d5346feaa19af1c8e2d6)]
+>> endobj
+3172 0 obj <<
+/Names [(classparma__polyhedra__library_1_1PIP__Problem_ae9f96b3510cf17d4a65104954507a59f) 1857 0 R (classparma__polyhedra__library_1_1PIP__Problem_aed08641850e37f11854eb35aad8df8f4) 1899 0 R (classparma__polyhedra__library_1_1PIP__Problem_af08433106065fada525b5a53a720205e) 1900 0 R (classparma__polyhedra__library_1_1PIP__Problem_af967eca4ca6d0e0e236868103ba9dc65) 1862 0 R (classparma__polyhedra__library_1_1PIP__Problem_afcbd2ac6b9314e699c7a5dc24bce759f) 1895 0 R (classparma__polyhedra__ [...]
+/Limits [(classparma__polyhedra__library_1_1PIP__Problem_ae9f96b3510cf17d4a65104954507a59f) (classparma__polyhedra__library_1_1PIP__Solution__Node)]
+>> endobj
+3173 0 obj <<
+/Names [(classparma__polyhedra__library_1_1PIP__Solution__Node_af794d3c0edfd8681f26ab198ba1885c6) 1964 0 R (classparma__polyhedra__library_1_1PIP__Tree__Node) 629 0 R (classparma__polyhedra__library_1_1PIP__Tree__Node_a210d9950e830ca6101b5094189bfeff7) 1994 0 R (classparma__polyhedra__library_1_1PIP__Tree__Node_a3bb68244fa25aa1dd28d53d6dc467dda) 1991 0 R (classparma__polyhedra__library_1_1PIP__Tree__Node_a76f71f4b2731d97b10d323548c77b7a8) 1996 0 R (classparma__polyhedra__library_1_1PIP__ [...]
+/Limits [(classparma__polyhedra__library_1_1PIP__Solution__Node_af794d3c0edfd8681f26ab198ba1885c6) (classparma__polyhedra__library_1_1PIP__Tree__Node_a79f23016d52a66ea47028326561288ec)]
+>> endobj
+3174 0 obj <<
+/Names [(classparma__polyhedra__library_1_1PIP__Tree__Node_a87f661feff5c03995c6eded6108acbf2) 1998 0 R (classparma__polyhedra__library_1_1PIP__Tree__Node_af05ddf904c768d1a140b1eafb16029c7) 1992 0 R (classparma__polyhedra__library_1_1PIP__Tree__Node_af82d85111918a80f87f4a6c5ef4adbb2) 1993 0 R (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4) 624 0 R (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4_a5c1e588b7f6a9f94b053a5cec723dfe6) 1740 0 R (classparma__polyhedra__librar [...]
+/Limits [(classparma__polyhedra__library_1_1PIP__Tree__Node_a87f661feff5c03995c6eded6108acbf2) (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4_a637f0b668a07b52f0fc9454c13f4d16e)]
+>> endobj
+3175 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Parma__Polyhedra__Library) 337 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a0cc57b7b8fc5f93c1b7a40c3ae293be7) 1768 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a0f295b8b6083b12c373b48417ae8a466) 1747 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a3d5082778a4123e14fc66912860bb420) 1773 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a3fa2bca063e4e77e27e008d3ded61be4) 176 [...]
+/Limits [(classparma__polyhedra__library_1_1Parma__Polyhedra__Library) (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a4254863fcee52d3a2ee594e14999fc21)]
+>> endobj
+3176 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a508918bb6bf8c118c3e20f7e00605740) 1777 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a51207bdf0804635cce036bd6b6459abf) 1744 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a8219b76f7582cc02ef563bf70b045ae6) 1748 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a868e2f5d243f0fa2bbc4abef8f68fc74) 1774 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a95 [...]
+/Limits [(classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a508918bb6bf8c118c3e20f7e00605740) (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a95cf5613be1fd13f273e5c2e7d38c802)]
+>> endobj
+3177 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a9f9880633bb81d02f27e6fb22dc83bdc) 1746 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_aa69764bcc2ebbadf48dbcfd23dbf0f27) 1766 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_ab284e2d9cfb5cf819fe552f5c20c4246) 1775 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_ad508a885c0ec878d20c030b0897fdd89) 1776 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_ae3 [...]
+/Limits [(classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a9f9880633bb81d02f27e6fb22dc83bdc) (classparma__polyhedra__library_1_1Partial__Function)]
+>> endobj
+3178 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Partial__Function_a0338aafe90d94205c2cb20cb714bc8d2) 1827 0 R (classparma__polyhedra__library_1_1Partial__Function_a13d3f5de275c9f897d8b3c077ba38c3e) 1822 0 R (classparma__polyhedra__library_1_1Partial__Function_a56bef6f865a68fa4da54417474007228) 1807 0 R (classparma__polyhedra__library_1_1Partial__Function_a82437262d9ddc0d2a8278e5f6d29f1a9) 1821 0 R (classparma__polyhedra__library_1_1Partial__Function_a9d54e335e90cfbe82d97e3000f88df20) 1824 0 R [...]
+/Limits [(classparma__polyhedra__library_1_1Partial__Function_a0338aafe90d94205c2cb20cb714bc8d2) (classparma__polyhedra__library_1_1Partial__Function_aa26b90cbd295d1509505afa09fb6a72e)]
+>> endobj
+3179 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Partial__Function_ab9ed1dd0b1f4bed335aefca206504f7d) 1829 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) 630 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) 631 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a041438b5dfc0a27bb1ef8944ccef9b20) 2057 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a1063791d47e047aeeb [...]
+/Limits [(classparma__polyhedra__library_1_1Partial__Function_ab9ed1dd0b1f4bed335aefca206504f7d) (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a3e689b13a25dfaf0b6f22b21127bf4f9)]
+>> endobj
+3180 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a4b29f6a5bfc34297ed8cad2fc85141ef) 2077 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a5204a6f9136985b1cf438bea23fd9489) 2080 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a8f633594965f90e853f0a0b7d9667e7a) 2059 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_ad6b10e19a21f12cc1e19304c400cbcc9) 2 [...]
+/Limits [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a4b29f6a5bfc34297ed8cad2fc85141ef) (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a1deba0aacc90a96b069e32f8c3d4559e)]
+>> endobj
+3181 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a25fcf44b7620128ac3646cf9cb7ec333) 2033 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a307f552cb6559fb3316979350f0698e4) 2027 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a43f91b349368a1f43667546d2d844941) 2032 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a6a0c0235057e5bd924816e77fbe24f13) 2030 0 R (classparma__polyhedra__library_ [...]
+/Limits [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a25fcf44b7620128ac3646cf9cb7ec333) (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_ab86276be6b184ca176f526bdce7db8cb)]
+>> endobj
+3182 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_acb627ec2ad25203404db2046bd1b415c) 2028 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_ad3ecaaf79c9a60ab4848342458e261d7) 2036 0 R (classparma__polyhedra__library_1_1Poly__Con__Relation) 632 0 R (classparma__polyhedra__library_1_1Poly__Con__Relation_a0b8fd6b1ed827658839d73fcb11d4755) 2106 0 R (classparma__polyhedra__library_1_1Poly__Con__Relation_a0ce79e66e5f99bf6dae5077d3eeb15a8) 2109  [...]
+/Limits [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_acb627ec2ad25203404db2046bd1b415c) (classparma__polyhedra__library_1_1Poly__Con__Relation_a103c1a923368f15f9846bb63c5fc8bcd)]
+>> endobj
+3183 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Poly__Con__Relation_a5703e74effb8a5b4090be08699d6b808) 2083 0 R (classparma__polyhedra__library_1_1Poly__Con__Relation_a86ef4d8f3963d0e41bd32e5745b2b161) 2084 0 R (classparma__polyhedra__library_1_1Poly__Con__Relation_a981388a9978a768d9859bc6a05b59612) 2110 0 R (classparma__polyhedra__library_1_1Poly__Con__Relation_ad487a3b3a0d3590dd3678cf333549f47) 2107 0 R (classparma__polyhedra__library_1_1Poly__Gen__Relation) 633 0 R (classparma__polyhedra__ [...]
+/Limits [(classparma__polyhedra__library_1_1Poly__Con__Relation_a5703e74effb8a5b4090be08699d6b808) (classparma__polyhedra__library_1_1Poly__Gen__Relation_a52e2da847dc03a6a0bd03eb718bbc2c5)]
+>> endobj
+3184 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Poly__Gen__Relation_aa542fab30058371e9f17fca3eb84724b) 2113 0 R (classparma__polyhedra__library_1_1Poly__Gen__Relation_aba48365387e24282c5facb79d544df54) 2114 0 R (classparma__polyhedra__library_1_1Poly__Gen__Relation_ac9b4e9cbc50b16d0b8eae819ba758bb1) 2117 0 R (classparma__polyhedra__library_1_1Polyhedron) 634 0 R (classparma__polyhedra__library_1_1Polyhedron_a0c39fad28012b1e32b3bb3f51aa395e9) 2324 0 R (classparma__polyhedra__library_1_1Polyhed [...]
+/Limits [(classparma__polyhedra__library_1_1Poly__Gen__Relation_aa542fab30058371e9f17fca3eb84724b) (classparma__polyhedra__library_1_1Polyhedron_a0c70e4b9986758a2c5cfabd0968c80a2)]
+>> endobj
+3185 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_a0d6e2bbaaefe11efb5429fe1a61e3d22) 2418 0 R (classparma__polyhedra__library_1_1Polyhedron_a0db3ec1fb2ff3022b06cd0760dbc9b11) 2261 0 R (classparma__polyhedra__library_1_1Polyhedron_a0debe61d4b261fe21a4109f8920557e0) 2212 0 R (classparma__polyhedra__library_1_1Polyhedron_a0f157e4c644b4ca57dc6d0ffe0509ae2) 2267 0 R (classparma__polyhedra__library_1_1Polyhedron_a101725c81694df74ced9b4f2cca1fbad) 2253 0 R (classparma__polyhedra__library_1_ [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_a0d6e2bbaaefe11efb5429fe1a61e3d22) (classparma__polyhedra__library_1_1Polyhedron_a178d863fdd91da50df37aac742b5f89b)]
+>> endobj
+3186 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_a1d1b69611f06c6e9aa03fd1b951573f8) 2151 0 R (classparma__polyhedra__library_1_1Polyhedron_a250dcd46824fa3fcc48f2dd92a8293ea) 2375 0 R (classparma__polyhedra__library_1_1Polyhedron_a25143e2f87da1099e3cb5c065a2e0890) 2149 0 R (classparma__polyhedra__library_1_1Polyhedron_a255b897130d61d679afec084d905b71d) 2381 0 R (classparma__polyhedra__library_1_1Polyhedron_a269b05089d9f1a4c329d5f5f1fe87dec) 2215 0 R (classparma__polyhedra__library_1_ [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_a1d1b69611f06c6e9aa03fd1b951573f8) (classparma__polyhedra__library_1_1Polyhedron_a27c32393002b42d894f964a5d60af964)]
+>> endobj
+3187 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_a2a7c7870e8a2d07650293ccce8893174) 2262 0 R (classparma__polyhedra__library_1_1Polyhedron_a2c5d0c7fb2c1bbaa9359ed0b497152cf) 2327 0 R (classparma__polyhedra__library_1_1Polyhedron_a2d8112f8870851653e56b12e910f7e45) 2372 0 R (classparma__polyhedra__library_1_1Polyhedron_a3dec267cc9fa523feea43a8c0acdbe00) 2211 0 R (classparma__polyhedra__library_1_1Polyhedron_a3e3093f0cebb7f7d4b1ac1f1dda4df5b) 2263 0 R (classparma__polyhedra__library_1_ [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_a2a7c7870e8a2d07650293ccce8893174) (classparma__polyhedra__library_1_1Polyhedron_a3eced5e4c9a959bf44ba28393466ed15)]
+>> endobj
+3188 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_a40f85671a746d80dd6a5a14292f6df72) 2376 0 R (classparma__polyhedra__library_1_1Polyhedron_a45dd7fcc9b518abdc94c454b66ba1d5b) 2256 0 R (classparma__polyhedra__library_1_1Polyhedron_a4949285de47134b38f894d92823a931b) 2205 0 R (classparma__polyhedra__library_1_1Polyhedron_a4b3c940e8c7c8981b9b2124a75e011c1) 2254 0 R (classparma__polyhedra__library_1_1Polyhedron_a4ee0954f71183611c9b29ad07ad9fba2) 2203 0 R (classparma__polyhedra__library_1_ [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_a40f85671a746d80dd6a5a14292f6df72) (classparma__polyhedra__library_1_1Polyhedron_a50926d4c45d6e451ccec518c8051733c)]
+>> endobj
+3189 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_a52cb475c174028850d7ddd0998e089bf) 2328 0 R (classparma__polyhedra__library_1_1Polyhedron_a56bf9c6096c448f27d61416f27a05db1) 2145 0 R (classparma__polyhedra__library_1_1Polyhedron_a5b00da433f9d9473b1fbd2cdf6c5976e) 2264 0 R (classparma__polyhedra__library_1_1Polyhedron_a5b12ca4fb2557b59516d1bbb2e30fa43) 2316 0 R (classparma__polyhedra__library_1_1Polyhedron_a5c870a4502b7d88bf273472936bf4fb8) 2417 0 R (classparma__polyhedra__library_1_ [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_a52cb475c174028850d7ddd0998e089bf) (classparma__polyhedra__library_1_1Polyhedron_a5d5942488536d6a9095fc4bdebb9f7ed)]
+>> endobj
+3190 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_a5e9ac1ca10b983f0dee8146e6e95370b) 2333 0 R (classparma__polyhedra__library_1_1Polyhedron_a5f7cb393111807edd0542e1e4367f249) 2374 0 R (classparma__polyhedra__library_1_1Polyhedron_a6661b721ae109cee00992746554acf53) 2409 0 R (classparma__polyhedra__library_1_1Polyhedron_a6e67cd103e4b330d46ded91f0ed0ec2b) 2325 0 R (classparma__polyhedra__library_1_1Polyhedron_a6e6eb647853269db9de88ed234a16656) 2323 0 R (classparma__polyhedra__library_1_ [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_a5e9ac1ca10b983f0dee8146e6e95370b) (classparma__polyhedra__library_1_1Polyhedron_a7817a26193f804a89ffeb2dbf18fc702)]
+>> endobj
+3191 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_a79d4ff349ca7b314602b79a2d74fe976) 2330 0 R (classparma__polyhedra__library_1_1Polyhedron_a81c4315daec6710e58a0617d92839e81) 2148 0 R (classparma__polyhedra__library_1_1Polyhedron_a84625e35d755ced248ffe55750614f09) 2144 0 R (classparma__polyhedra__library_1_1Polyhedron_a894ed94e4bfdc07cd6ef5d45e5c464b7) 2415 0 R (classparma__polyhedra__library_1_1Polyhedron_a8b521c98491fa559861dae11ad3ec3f3) 2143 0 R (classparma__polyhedra__library_1_ [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_a79d4ff349ca7b314602b79a2d74fe976) (classparma__polyhedra__library_1_1Polyhedron_a94e51c5141f6c2a46e4c8d8aaea539b4)]
+>> endobj
+3192 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_a951904ccc728d261cf367a0bc613478d) 2152 0 R (classparma__polyhedra__library_1_1Polyhedron_a95849529fc06d893870e1b39fe009db8) 2379 0 R (classparma__polyhedra__library_1_1Polyhedron_a9a21e654ffec08b0a79e6aa5ec29d72d) 2332 0 R (classparma__polyhedra__library_1_1Polyhedron_a9f7d55f53c6ca0b56163de733c0bca5d) 2153 0 R (classparma__polyhedra__library_1_1Polyhedron_aa7225f4984a8ca7b4701b78e9aa545b3) 2326 0 R (classparma__polyhedra__library_1_ [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_a951904ccc728d261cf367a0bc613478d) (classparma__polyhedra__library_1_1Polyhedron_aa8a9da2a38c61eb14ed1922e970552ba)]
+>> endobj
+3193 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_aa9a506db5b2ca3606ffdc72bae993831) 2416 0 R (classparma__polyhedra__library_1_1Polyhedron_aac326b042c380a004289377eca7d2342) 2329 0 R (classparma__polyhedra__library_1_1Polyhedron_aad130af7dc19af625d583e25020026e1) 2150 0 R (classparma__polyhedra__library_1_1Polyhedron_aaf462d898fecd8d545ce48f6a0632c3e) 2258 0 R (classparma__polyhedra__library_1_1Polyhedron_ab492b453a39228bad565e4964c7ad257) 2377 0 R (classparma__polyhedra__library_1_ [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_aa9a506db5b2ca3606ffdc72bae993831) (classparma__polyhedra__library_1_1Polyhedron_ab7c4fb00dc7b0fff7edbe9d80ad15ae6)]
+>> endobj
+3194 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_ab8b346098cc00bd96852efadc70e42d3) 2251 0 R (classparma__polyhedra__library_1_1Polyhedron_abc5704127ba61d2413c9bff4fd30f323) 2214 0 R (classparma__polyhedra__library_1_1Polyhedron_abe395df0f967ad2074e87c95cab973ee) 2322 0 R (classparma__polyhedra__library_1_1Polyhedron_abeedcb4af89476e04d9b358ae522dab0) 2382 0 R (classparma__polyhedra__library_1_1Polyhedron_ac302814cfa610b65b7e92426d20b7efd) 2216 0 R (classparma__polyhedra__library_1_ [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_ab8b346098cc00bd96852efadc70e42d3) (classparma__polyhedra__library_1_1Polyhedron_ac4f92e1418a46d38b818059a3dadab69)]
+>> endobj
+3195 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_ac5dfab82eea6ba1f83cbebca0237b084) 2255 0 R (classparma__polyhedra__library_1_1Polyhedron_ac72ffc5f5715e6a10e6d5e63a43b6e9e) 2206 0 R (classparma__polyhedra__library_1_1Polyhedron_acd1f5212866a8cf9921096367ad10354) 2334 0 R (classparma__polyhedra__library_1_1Polyhedron_acf583e7c0fafe7cfa29463e2c697258e) 2378 0 R (classparma__polyhedra__library_1_1Polyhedron_ad078549415d6b45298d374eb3b6f5c7d) 2420 0 R (classparma__polyhedra__library_1_ [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_ac5dfab82eea6ba1f83cbebca0237b084) (classparma__polyhedra__library_1_1Polyhedron_ad0f0c9ad050583abd703aaedb6e5cca1)]
+>> endobj
+3196 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_ad453d2930f64cc40ad0b5dbe4ac50c07) 2265 0 R (classparma__polyhedra__library_1_1Polyhedron_ad8155c4d2baca71b59e67eb7396bb18c) 2384 0 R (classparma__polyhedra__library_1_1Polyhedron_adb6d91da0ca1b3f0f9b755297ab69722) 2259 0 R (classparma__polyhedra__library_1_1Polyhedron_add26476af2dfda6abbb7508ef88cae2d) 2371 0 R (classparma__polyhedra__library_1_1Polyhedron_add544c3d22008bb22d0b6fa536c651dd) 2146 0 R (classparma__polyhedra__library_1_ [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_ad453d2930f64cc40ad0b5dbe4ac50c07) (classparma__polyhedra__library_1_1Polyhedron_ae4e82dc62f09b889cc2c699b6a8abda1)]
+>> endobj
+3197 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_aea3d6d51b260b5aa832a1a3a68ac98a0) 2266 0 R (classparma__polyhedra__library_1_1Polyhedron_af15807720fca193200fa6ea8627ef10b) 2370 0 R (classparma__polyhedra__library_1_1Polyhedron_af212c66bfb25b5b1949ee91f0e4b48ab) 2210 0 R (classparma__polyhedra__library_1_1Polyhedron_af31626a3fd875ced253836666b29990b) 2260 0 R (classparma__polyhedra__library_1_1Polyhedron_afaf7844389329a23b58abf355ae79ded) 2373 0 R (classparma__polyhedra__library_1_ [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_aea3d6d51b260b5aa832a1a3a68ac98a0) (classparma__polyhedra__library_1_1Timeout__Exception)]
+>> endobj
+3198 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Timeout__Exception_a2e8323cda85681d778d5924365cbddc1) 2631 0 R (classparma__polyhedra__library_1_1Variable) 661 0 R (classparma__polyhedra__library_1_1Variable_a293bf4ae6670add8afd68cbca2edd0e5) 2649 0 R (classparma__polyhedra__library_1_1Variable_aa771ef39be258755e151cd5edb617e94) 2646 0 R (classparma__polyhedra__library_1_1Variable_adf4acacc53bd647f2c4ccaac0aa7643a) 2645 0 R (classparma__polyhedra__library_1_1Variables__Set) 662 0 R]
+/Limits [(classparma__polyhedra__library_1_1Timeout__Exception_a2e8323cda85681d778d5924365cbddc1) (classparma__polyhedra__library_1_1Variables__Set)]
+>> endobj
+3199 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Variables__Set_a961dfccd93ec291961f9938db0c86b2d) 2652 0 R (group__PPL__Java__interface) 659 0 R (group__PPL__Java__interface_ga0734505368bf2ef216c74aa9ed15793e) 803 0 R (group__PPL__Java__interface_ga0cd3c405aa537a001f59e642f2acddd3) 730 0 R (group__PPL__Java__interface_ga16616f4113ae69d86cdaf2b7b10cc0d6) 793 0 R (group__PPL__Java__interface_ga1c0bf670d1be309282e282c6847dff2f) 807 0 R]
+/Limits [(classparma__polyhedra__library_1_1Variables__Set_a961dfccd93ec291961f9938db0c86b2d) (group__PPL__Java__interface_ga1c0bf670d1be309282e282c6847dff2f)]
+>> endobj
+3200 0 obj <<
+/Names [(group__PPL__Java__interface_ga464c2bc94f19f4509ffedb8b7b60439a) 795 0 R (group__PPL__Java__interface_ga57b815531385542de7563918454dff9a) 805 0 R (group__PPL__Java__interface_ga7b9f076ff672dec60890b152525134c8) 724 0 R (group__PPL__Java__interface_ga9006be5f6c0f7616400b3554738e732f) 732 0 R (group__PPL__Java__interface_gaa6be200dbc5f773603baf12657deea39) 726 0 R (group__PPL__Java__interface_gab884929ad9e98d94cac675f7fe3e9771) 801 0 R]
+/Limits [(group__PPL__Java__interface_ga464c2bc94f19f4509ffedb8b7b60439a) (group__PPL__Java__interface_gab884929ad9e98d94cac675f7fe3e9771)]
+>> endobj
+3201 0 obj <<
+/Names [(group__PPL__Java__interface_gaccd1fa9f287c6fe48bd8dfd920a5397b) 809 0 R (group__PPL__Java__interface_gad6fca2904fa0ff88929687a101bc2ae1) 728 0 R (group__PPL__Java__interface_gad7cbdacd9a5e2c068c25c12f47f8936a) 799 0 R (group__PPL__Java__interface_gae444adc8164dfda0378177ddab117095) 797 0 R (group__PPL__Java__interface_gae574051d412d3ee587c872f48de81663) 791 0 R (group__PPL__Java__interface_gga0734505368bf2ef216c74aa9ed15793e) 804 0 R]
+/Limits [(group__PPL__Java__interface_gaccd1fa9f287c6fe48bd8dfd920a5397b) (group__PPL__Java__interface_gga0734505368bf2ef216c74aa9ed15793e)]
+>> endobj
+3202 0 obj <<
+/Names [(group__PPL__Java__interface_gga0cd3c405aa537a001f59e642f2acddd3) 731 0 R (group__PPL__Java__interface_gga16616f4113ae69d86cdaf2b7b10cc0d6) 794 0 R (group__PPL__Java__interface_gga1c0bf670d1be309282e282c6847dff2f) 808 0 R (group__PPL__Java__interface_gga464c2bc94f19f4509ffedb8b7b60439a) 796 0 R (group__PPL__Java__interface_gga57b815531385542de7563918454dff9a) 806 0 R (group__PPL__Java__interface_gga7b9f076ff672dec60890b152525134c8) 725 0 R]
+/Limits [(group__PPL__Java__interface_gga0cd3c405aa537a001f59e642f2acddd3) (group__PPL__Java__interface_gga7b9f076ff672dec60890b152525134c8)]
+>> endobj
+3203 0 obj <<
+/Names [(group__PPL__Java__interface_gga9006be5f6c0f7616400b3554738e732f) 733 0 R (group__PPL__Java__interface_ggaa6be200dbc5f773603baf12657deea39) 727 0 R (group__PPL__Java__interface_ggab884929ad9e98d94cac675f7fe3e9771) 802 0 R (group__PPL__Java__interface_ggaccd1fa9f287c6fe48bd8dfd920a5397b) 810 0 R (group__PPL__Java__interface_ggad6fca2904fa0ff88929687a101bc2ae1) 729 0 R (group__PPL__Java__interface_ggad7cbdacd9a5e2c068c25c12f47f8936a) 800 0 R]
+/Limits [(group__PPL__Java__interface_gga9006be5f6c0f7616400b3554738e732f) (group__PPL__Java__interface_ggad7cbdacd9a5e2c068c25c12f47f8936a)]
+>> endobj
+3204 0 obj <<
+/Names [(group__PPL__Java__interface_ggae444adc8164dfda0378177ddab117095) 798 0 R (group__PPL__Java__interface_ggae574051d412d3ee587c872f48de81663) 792 0 R (index) 333 0 R (namespaceparma__polyhedra__library) 463 0 R (page.1) 241 0 R (page.10) 401 0 R]
+/Limits [(group__PPL__Java__interface_ggae444adc8164dfda0378177ddab117095) (page.10)]
+>> endobj
+3205 0 obj <<
+/Names [(page.100) 2643 0 R (page.101) 2658 0 R (page.102) 2716 0 R (page.103) 2775 0 R (page.104) 2867 0 R (page.105) 2970 0 R]
+/Limits [(page.100) (page.105)]
+>> endobj
+3206 0 obj <<
+/Names [(page.106) 3041 0 R (page.107) 3056 0 R (page.11) 414 0 R (page.12) 422 0 R (page.13) 428 0 R (page.14) 433 0 R]
+/Limits [(page.106) (page.14)]
+>> endobj
+3207 0 obj <<
+/Names [(page.15) 438 0 R (page.16) 444 0 R (page.17) 462 0 R (page.18) 497 0 R (page.19) 543 0 R (page.2) 343 0 R]
+/Limits [(page.15) (page.2)]
+>> endobj
+3208 0 obj <<
+/Names [(page.20) 613 0 R (page.21) 658 0 R (page.22) 684 0 R (page.23) 715 0 R (page.24) 779 0 R (page.25) 815 0 R]
+/Limits [(page.20) (page.25)]
+>> endobj
+3209 0 obj <<
+/Names [(page.26) 828 0 R (page.27) 838 0 R (page.28) 850 0 R (page.29) 877 0 R (page.3) 351 0 R (page.30) 900 0 R]
+/Limits [(page.26) (page.30)]
+>> endobj
+3210 0 obj <<
+/Names [(page.31) 935 0 R (page.32) 983 0 R (page.33) 1006 0 R (page.34) 1027 0 R (page.35) 1064 0 R (page.36) 1083 0 R]
+/Limits [(page.31) (page.36)]
+>> endobj
+3211 0 obj <<
+/Names [(page.37) 1101 0 R (page.38) 1126 0 R (page.39) 1158 0 R (page.4) 358 0 R (page.40) 1195 0 R (page.41) 1219 0 R]
+/Limits [(page.37) (page.41)]
+>> endobj
+3212 0 obj <<
+/Names [(page.42) 1255 0 R (page.43) 1272 0 R (page.44) 1287 0 R (page.45) 1319 0 R (page.46) 1340 0 R (page.47) 1355 0 R]
+/Limits [(page.42) (page.47)]
+>> endobj
+3213 0 obj <<
+/Names [(page.48) 1379 0 R (page.49) 1417 0 R (page.5) 366 0 R (page.50) 1454 0 R (page.51) 1490 0 R (page.52) 1526 0 R]
+/Limits [(page.48) (page.52)]
+>> endobj
+3214 0 obj <<
+/Names [(page.53) 1557 0 R (page.54) 1587 0 R (page.55) 1637 0 R (page.56) 1671 0 R (page.57) 1688 0 R (page.58) 1697 0 R]
+/Limits [(page.53) (page.58)]
+>> endobj
+3215 0 obj <<
+/Names [(page.59) 1707 0 R (page.6) 374 0 R (page.60) 1718 0 R (page.61) 1738 0 R (page.62) 1765 0 R (page.63) 1786 0 R]
+/Limits [(page.59) (page.63)]
+>> endobj
+3216 0 obj <<
+/Names [(page.64) 1802 0 R (page.65) 1820 0 R (page.66) 1850 0 R (page.67) 1891 0 R (page.68) 1919 0 R (page.69) 1935 0 R]
+/Limits [(page.64) (page.69)]
+>> endobj
+3217 0 obj <<
+/Names [(page.7) 380 0 R (page.70) 1943 0 R (page.71) 1958 0 R (page.72) 1988 0 R (page.73) 2023 0 R (page.74) 2051 0 R]
+/Limits [(page.7) (page.74)]
+>> endobj
+3218 0 obj <<
+/Names [(page.75) 2074 0 R (page.76) 2104 0 R (page.77) 2140 0 R (page.78) 2201 0 R (page.79) 2250 0 R (page.8) 386 0 R]
+/Limits [(page.75) (page.8)]
+>> endobj
+3219 0 obj <<
+/Names [(page.80) 2315 0 R (page.81) 2369 0 R (page.82) 2408 0 R (page.83) 2428 0 R (page.84) 2439 0 R (page.85) 2451 0 R]
+/Limits [(page.80) (page.85)]
+>> endobj
+3220 0 obj <<
+/Names [(page.86) 2463 0 R (page.87) 2476 0 R (page.88) 2488 0 R (page.89) 2502 0 R (page.9) 394 0 R (page.90) 2514 0 R]
+/Limits [(page.86) (page.90)]
+>> endobj
+3221 0 obj <<
+/Names [(page.91) 2524 0 R (page.92) 2538 0 R (page.93) 2552 0 R (page.94) 2564 0 R (page.95) 2580 0 R (page.96) 2595 0 R]
+/Limits [(page.91) (page.96)]
+>> endobj
+3222 0 obj <<
+/Names [(page.97) 2606 0 R (page.98) 2616 0 R (page.99) 2628 0 R (page.i) 274 0 R (page.ii) 321 0 R (paragraph.10.11.2.1) 1275 0 R]
+/Limits [(page.97) (paragraph.10.11.2.1)]
+>> endobj
+3223 0 obj <<
+/Names [(paragraph.10.11.2.2) 1276 0 R (paragraph.10.11.2.3) 1277 0 R (paragraph.10.11.2.4) 1288 0 R (paragraph.10.11.2.5) 1289 0 R (paragraph.10.13.2.1) 1329 0 R (paragraph.10.13.2.2) 1341 0 R]
+/Limits [(paragraph.10.11.2.2) (paragraph.10.13.2.2)]
+>> endobj
+3224 0 obj <<
+/Names [(paragraph.10.13.2.3) 1342 0 R (paragraph.10.13.2.4) 1343 0 R (paragraph.10.16.2.1) 1381 0 R (paragraph.10.26.2.1) 1679 0 R (paragraph.10.26.2.2) 1689 0 R (paragraph.10.26.3.1) 1691 0 R]
+/Limits [(paragraph.10.13.2.3) (paragraph.10.26.3.1)]
+>> endobj
+3225 0 obj <<
+/Names [(paragraph.10.26.3.10) 1711 0 R (paragraph.10.26.3.11) 1719 0 R (paragraph.10.26.3.12) 1720 0 R (paragraph.10.26.3.2) 1692 0 R (paragraph.10.26.3.3) 1698 0 R (paragraph.10.26.3.4) 1699 0 R]
+/Limits [(paragraph.10.26.3.10) (paragraph.10.26.3.4)]
+>> endobj
+3226 0 obj <<
+/Names [(paragraph.10.26.3.5) 1700 0 R (paragraph.10.26.3.6) 1701 0 R (paragraph.10.26.3.7) 1708 0 R (paragraph.10.26.3.8) 1709 0 R (paragraph.10.26.3.9) 1710 0 R (paragraph.10.29.2.1) 1771 0 R]
+/Limits [(paragraph.10.26.3.5) (paragraph.10.29.2.1)]
+>> endobj
+3227 0 obj <<
+/Names [(paragraph.10.29.2.2) 1772 0 R (paragraph.10.29.2.3) 1787 0 R (paragraph.10.29.2.4) 1788 0 R (paragraph.10.29.2.5) 1790 0 R (paragraph.10.29.2.6) 1791 0 R (paragraph.10.29.2.7) 1792 0 R]
+/Limits [(paragraph.10.29.2.2) (paragraph.10.29.2.7)]
+>> endobj
+3228 0 obj <<
+/Names [(paragraph.10.29.2.8) 1803 0 R (paragraph.10.30.2.1) 1828 0 R (paragraph.10.30.2.2) 1830 0 R (paragraph.10.32.2.1) 1937 0 R (paragraph.10.32.2.2) 1938 0 R (paragraph.10.32.3.1) 1945 0 R]
+/Limits [(paragraph.10.29.2.8) (paragraph.10.32.3.1)]
+>> endobj
+3229 0 obj <<
+/Names [(paragraph.10.32.3.2) 1946 0 R (paragraph.10.32.3.3) 1947 0 R (paragraph.10.32.3.4) 1948 0 R (paragraph.10.32.3.5) 1959 0 R (paragraph.10.32.3.6) 1960 0 R (paragraph.10.33.2.1) 1965 0 R]
+/Limits [(paragraph.10.32.3.2) (paragraph.10.33.2.1)]
+>> endobj
+3230 0 obj <<
+/Names [(paragraph.10.34.2.1) 2025 0 R (paragraph.10.35.2.1) 2055 0 R (paragraph.10.36.2.1) 2081 0 R (paragraph.10.39.2.1) 2413 0 R (paragraph.10.39.2.10) 2454 0 R (paragraph.10.39.2.11) 2455 0 R]
+/Limits [(paragraph.10.34.2.1) (paragraph.10.39.2.11)]
+>> endobj
+3231 0 obj <<
+/Names [(paragraph.10.39.2.12) 2464 0 R (paragraph.10.39.2.13) 2465 0 R (paragraph.10.39.2.14) 2466 0 R (paragraph.10.39.2.15) 2467 0 R (paragraph.10.39.2.16) 2468 0 R (paragraph.10.39.2.17) 2477 0 R]
+/Limits [(paragraph.10.39.2.12) (paragraph.10.39.2.17)]
+>> endobj
+3232 0 obj <<
+/Names [(paragraph.10.39.2.18) 2478 0 R (paragraph.10.39.2.19) 2479 0 R (paragraph.10.39.2.2) 2429 0 R (paragraph.10.39.2.20) 2489 0 R (paragraph.10.39.2.21) 2490 0 R (paragraph.10.39.2.22) 2491 0 R]
+/Limits [(paragraph.10.39.2.18) (paragraph.10.39.2.22)]
+>> endobj
+3233 0 obj <<
+/Names [(paragraph.10.39.2.23) 2492 0 R (paragraph.10.39.2.24) 2503 0 R (paragraph.10.39.2.25) 2504 0 R (paragraph.10.39.2.26) 2505 0 R (paragraph.10.39.2.27) 2506 0 R (paragraph.10.39.2.28) 2515 0 R]
+/Limits [(paragraph.10.39.2.23) (paragraph.10.39.2.28)]
+>> endobj
+3234 0 obj <<
+/Names [(paragraph.10.39.2.29) 2516 0 R (paragraph.10.39.2.3) 2430 0 R (paragraph.10.39.2.30) 2517 0 R (paragraph.10.39.2.31) 2525 0 R (paragraph.10.39.2.32) 2526 0 R (paragraph.10.39.2.33) 2527 0 R]
+/Limits [(paragraph.10.39.2.29) (paragraph.10.39.2.33)]
+>> endobj
+3235 0 obj <<
+/Names [(paragraph.10.39.2.34) 2540 0 R (paragraph.10.39.2.35) 2542 0 R (paragraph.10.39.2.36) 2553 0 R (paragraph.10.39.2.37) 2554 0 R (paragraph.10.39.2.38) 2555 0 R (paragraph.10.39.2.39) 2565 0 R]
+/Limits [(paragraph.10.39.2.34) (paragraph.10.39.2.39)]
+>> endobj
+3236 0 obj <<
+/Names [(paragraph.10.39.2.4) 2431 0 R (paragraph.10.39.2.40) 2566 0 R (paragraph.10.39.2.41) 2567 0 R (paragraph.10.39.2.42) 2568 0 R (paragraph.10.39.2.43) 2581 0 R (paragraph.10.39.2.44) 2582 0 R]
+/Limits [(paragraph.10.39.2.4) (paragraph.10.39.2.44)]
+>> endobj
+3237 0 obj <<
+/Names [(paragraph.10.39.2.45) 2583 0 R (paragraph.10.39.2.46) 2584 0 R (paragraph.10.39.2.47) 2596 0 R (paragraph.10.39.2.48) 2597 0 R (paragraph.10.39.2.49) 2598 0 R (paragraph.10.39.2.5) 2432 0 R]
+/Limits [(paragraph.10.39.2.45) (paragraph.10.39.2.5)]
+>> endobj
+3238 0 obj <<
+/Names [(paragraph.10.39.2.50) 2607 0 R (paragraph.10.39.2.51) 2608 0 R (paragraph.10.39.2.52) 2609 0 R (paragraph.10.39.2.53) 2617 0 R (paragraph.10.39.2.54) 2618 0 R (paragraph.10.39.2.55) 2619 0 R]
+/Limits [(paragraph.10.39.2.50) (paragraph.10.39.2.55)]
+>> endobj
+3239 0 obj <<
+/Names [(paragraph.10.39.2.56) 2629 0 R (paragraph.10.39.2.6) 2440 0 R (paragraph.10.39.2.7) 2441 0 R (paragraph.10.39.2.8) 2452 0 R (paragraph.10.39.2.9) 2453 0 R (paragraph.10.4.2.1) 1086 0 R]
+/Limits [(paragraph.10.39.2.56) (paragraph.10.4.2.1)]
+>> endobj
+3240 0 obj <<
+/Names [(paragraph.10.4.2.2) 1087 0 R (paragraph.10.4.2.3) 1088 0 R (paragraph.10.4.2.4) 1089 0 R (paragraph.10.4.2.5) 1090 0 R (paragraph.10.4.2.6) 1091 0 R (paragraph.10.4.3.1) 1103 0 R]
+/Limits [(paragraph.10.4.2.2) (paragraph.10.4.3.1)]
+>> endobj
+3241 0 obj <<
+/Names [(paragraph.10.4.3.2) 1104 0 R (paragraph.10.41.2.1) 2650 0 R (paragraph.10.5.2.1) 1135 0 R (paragraph.8.1.2.1) 818 0 R (paragraph.8.1.2.10) 840 0 R (paragraph.8.1.2.11) 841 0 R]
+/Limits [(paragraph.10.4.3.2) (paragraph.8.1.2.11)]
+>> endobj
+3242 0 obj <<
+/Names [(paragraph.8.1.2.12) 842 0 R (paragraph.8.1.2.13) 851 0 R (paragraph.8.1.2.14) 852 0 R (paragraph.8.1.2.15) 853 0 R (paragraph.8.1.2.2) 820 0 R (paragraph.8.1.2.3) 821 0 R]
+/Limits [(paragraph.8.1.2.12) (paragraph.8.1.2.3)]
+>> endobj
+3243 0 obj <<
+/Names [(paragraph.8.1.2.4) 822 0 R (paragraph.8.1.2.5) 829 0 R (paragraph.8.1.2.6) 830 0 R (paragraph.8.1.2.7) 831 0 R (paragraph.8.1.2.8) 832 0 R (paragraph.8.1.2.9) 839 0 R]
+/Limits [(paragraph.8.1.2.4) (paragraph.8.1.2.9)]
+>> endobj
+3244 0 obj <<
+/Names [(section*.1) 278 0 R (section*.10) 369 0 R (section*.11) 375 0 R (section*.12) 381 0 R (section*.13) 387 0 R (section*.14) 388 0 R]
+/Limits [(section*.1) (section*.14)]
+>> endobj
+3245 0 obj <<
+/Names [(section*.15) 389 0 R (section*.16) 395 0 R (section*.17) 396 0 R (section*.18) 402 0 R (section*.19) 403 0 R (section*.2) 335 0 R]
+/Limits [(section*.15) (section*.2)]
+>> endobj
+3246 0 obj <<
+/Names [(section*.20) 404 0 R (section*.21) 405 0 R (section*.22) 415 0 R (section*.23) 416 0 R (section*.24) 445 0 R (section*.25) 660 0 R]
+/Limits [(section*.20) (section*.25)]
+>> endobj
+3247 0 obj <<
+/Names [(section*.26) 716 0 R (section*.27) 717 0 R (section*.28) 878 0 R (section*.29) 936 0 R (section*.3) 346 0 R (section*.30) 987 0 R]
+/Limits [(section*.26) (section*.30)]
+>> endobj
+3248 0 obj <<
+/Names [(section*.31) 1012 0 R (section*.32) 1030 0 R (section*.33) 1034 0 R (section*.34) 1037 0 R (section*.35) 1068 0 R (section*.36) 1070 0 R]
+/Limits [(section*.31) (section*.36)]
+>> endobj
+3249 0 obj <<
+/Names [(section*.37) 1106 0 R (section*.38) 1130 0 R (section*.39) 1136 0 R (section*.4) 352 0 R (section*.40) 1164 0 R (section*.41) 1166 0 R]
+/Limits [(section*.37) (section*.41)]
+>> endobj
+3250 0 obj <<
+/Names [(section*.42) 1196 0 R (section*.43) 1201 0 R (section*.44) 1221 0 R (section*.45) 1226 0 R (section*.46) 1257 0 R (section*.47) 1262 0 R]
+/Limits [(section*.42) (section*.47)]
+>> endobj
+3251 0 obj <<
+/Names [(section*.48) 1290 0 R (section*.49) 1320 0 R (section*.5) 353 0 R (section*.50) 1325 0 R (section*.51) 1344 0 R (section*.52) 1359 0 R]
+/Limits [(section*.48) (section*.52)]
+>> endobj
+3252 0 obj <<
+/Names [(section*.53) 1362 0 R (section*.54) 1382 0 R (section*.55) 1418 0 R (section*.56) 1430 0 R (section*.57) 1457 0 R (section*.58) 1460 0 R]
+/Limits [(section*.53) (section*.58)]
+>> endobj
+3253 0 obj <<
+/Names [(section*.59) 1465 0 R (section*.6) 359 0 R (section*.60) 1492 0 R (section*.61) 1497 0 R (section*.62) 1527 0 R (section*.63) 1534 0 R]
+/Limits [(section*.59) (section*.63)]
+>> endobj
+3254 0 obj <<
+/Names [(section*.64) 1538 0 R (section*.65) 1560 0 R (section*.66) 1563 0 R (section*.67) 1588 0 R (section*.68) 1591 0 R (section*.69) 1672 0 R]
+/Limits [(section*.64) (section*.69)]
+>> endobj
+3255 0 obj <<
+/Names [(section*.7) 360 0 R (section*.70) 1721 0 R (section*.71) 1739 0 R (section*.72) 1743 0 R (section*.73) 1805 0 R (section*.74) 1823 0 R]
+/Limits [(section*.7) (section*.74)]
+>> endobj
+3256 0 obj <<
+/Names [(section*.75) 1851 0 R (section*.76) 1854 0 R (section*.77) 1925 0 R (section*.78) 1961 0 R (section*.79) 1990 0 R (section*.8) 367 0 R]
+/Limits [(section*.75) (section*.8)]
+>> endobj
+3257 0 obj <<
+/Names [(section*.80) 2026 0 R (section*.81) 2056 0 R (section*.82) 2076 0 R (section*.83) 2082 0 R (section*.84) 2105 0 R (section*.85) 2112 0 R]
+/Limits [(section*.80) (section*.85)]
+>> endobj
+3258 0 obj <<
+/Names [(section*.86) 2115 0 R (section*.87) 2142 0 R (section*.88) 2630 0 R (section*.89) 2644 0 R (section*.9) 368 0 R (section*.90) 2651 0 R]
+/Limits [(section*.86) (section*.90)]
+>> endobj
+3259 0 obj <<
+/Names [(section*.91) 2717 0 R (section.1) 6 0 R (section.10) 66 0 R (section.2) 10 0 R (section.3) 14 0 R (section.4) 18 0 R]
+/Limits [(section*.91) (section.4)]
+>> endobj
+3260 0 obj <<
+/Names [(section.5) 26 0 R (section.6) 34 0 R (section.7) 42 0 R (section.8) 50 0 R (section.9) 58 0 R (subsection.10.1) 70 0 R]
+/Limits [(section.5) (subsection.10.1)]
+>> endobj
+3261 0 obj <<
+/Names [(subsection.10.10) 106 0 R (subsection.10.11) 110 0 R (subsection.10.12) 114 0 R (subsection.10.13) 118 0 R (subsection.10.14) 122 0 R (subsection.10.15) 126 0 R]
+/Limits [(subsection.10.10) (subsection.10.15)]
+>> endobj
+3262 0 obj <<
+/Names [(subsection.10.16) 130 0 R (subsection.10.17) 134 0 R (subsection.10.18) 138 0 R (subsection.10.19) 142 0 R (subsection.10.2) 74 0 R (subsection.10.20) 146 0 R]
+/Limits [(subsection.10.16) (subsection.10.20)]
+>> endobj
+3263 0 obj <<
+/Names [(subsection.10.21) 150 0 R (subsection.10.22) 154 0 R (subsection.10.23) 158 0 R (subsection.10.24) 162 0 R (subsection.10.25) 166 0 R (subsection.10.26) 170 0 R]
+/Limits [(subsection.10.21) (subsection.10.26)]
+>> endobj
+3264 0 obj <<
+/Names [(subsection.10.27) 174 0 R (subsection.10.28) 178 0 R (subsection.10.29) 182 0 R (subsection.10.3) 78 0 R (subsection.10.30) 186 0 R (subsection.10.31) 190 0 R]
+/Limits [(subsection.10.27) (subsection.10.31)]
+>> endobj
+3265 0 obj <<
+/Names [(subsection.10.32) 194 0 R (subsection.10.33) 198 0 R (subsection.10.34) 202 0 R (subsection.10.35) 206 0 R (subsection.10.36) 210 0 R (subsection.10.37) 214 0 R]
+/Limits [(subsection.10.32) (subsection.10.37)]
+>> endobj
+3266 0 obj <<
+/Names [(subsection.10.38) 218 0 R (subsection.10.39) 222 0 R (subsection.10.4) 82 0 R (subsection.10.40) 226 0 R (subsection.10.41) 230 0 R (subsection.10.42) 234 0 R]
+/Limits [(subsection.10.38) (subsection.10.42)]
+>> endobj
+3267 0 obj <<
+/Names [(subsection.10.5) 86 0 R (subsection.10.6) 90 0 R (subsection.10.7) 94 0 R (subsection.10.8) 98 0 R (subsection.10.9) 102 0 R (subsection.4.1) 22 0 R]
+/Limits [(subsection.10.5) (subsection.4.1)]
+>> endobj
+3268 0 obj <<
+/Names [(subsection.5.1) 30 0 R (subsection.6.1) 38 0 R (subsection.7.1) 46 0 R (subsection.8.1) 54 0 R (subsection.9.1) 62 0 R (subsubsection.10.1.1) 1011 0 R]
+/Limits [(subsection.5.1) (subsubsection.10.1.1)]
+>> endobj
+3269 0 obj <<
+/Names [(subsubsection.10.10.1) 1256 0 R (subsubsection.10.11.1) 1273 0 R (subsubsection.10.11.2) 1274 0 R (subsubsection.10.12.1) 1294 0 R (subsubsection.10.13.1) 1326 0 R (subsubsection.10.13.2) 1327 0 R]
+/Limits [(subsubsection.10.10.1) (subsubsection.10.13.2)]
+>> endobj
+3270 0 obj <<
+/Names [(subsubsection.10.14.1) 1358 0 R (subsubsection.10.15.1) 1361 0 R (subsubsection.10.16.1) 1363 0 R (subsubsection.10.16.2) 1380 0 R (subsubsection.10.17.1) 1384 0 R (subsubsection.10.18.1) 1429 0 R]
+/Limits [(subsubsection.10.14.1) (subsubsection.10.18.1)]
+>> endobj
+3271 0 obj <<
+/Names [(subsubsection.10.19.1) 1459 0 R (subsubsection.10.2.1) 1028 0 R (subsubsection.10.20.1) 1491 0 R (subsubsection.10.21.1) 1500 0 R (subsubsection.10.22.1) 1537 0 R (subsubsection.10.23.1) 1562 0 R]
+/Limits [(subsubsection.10.19.1) (subsubsection.10.23.1)]
+>> endobj
+3272 0 obj <<
+/Names [(subsubsection.10.24.1) 1567 0 R (subsubsection.10.25.1) 1590 0 R (subsubsection.10.26.1) 1676 0 R (subsubsection.10.26.2) 1677 0 R (subsubsection.10.26.3) 1690 0 R (subsubsection.10.27.1) 1723 0 R]
+/Limits [(subsubsection.10.24.1) (subsubsection.10.27.1)]
+>> endobj
+3273 0 obj <<
+/Names [(subsubsection.10.28.1) 1742 0 R (subsubsection.10.29.1) 1769 0 R (subsubsection.10.29.2) 1770 0 R (subsubsection.10.3.1) 1036 0 R (subsubsection.10.30.1) 1825 0 R (subsubsection.10.30.2) 1826 0 R]
+/Limits [(subsubsection.10.28.1) (subsubsection.10.30.2)]
+>> endobj
+3274 0 obj <<
+/Names [(subsubsection.10.31.1) 1853 0 R (subsubsection.10.32.1) 1927 0 R (subsubsection.10.32.2) 1936 0 R (subsubsection.10.32.3) 1944 0 R (subsubsection.10.33.1) 1962 0 R (subsubsection.10.33.2) 1963 0 R]
+/Limits [(subsubsection.10.31.1) (subsubsection.10.33.2)]
+>> endobj
+3275 0 obj <<
+/Names [(subsubsection.10.34.1) 1997 0 R (subsubsection.10.34.2) 2024 0 R (subsubsection.10.35.1) 2053 0 R (subsubsection.10.35.2) 2054 0 R (subsubsection.10.36.1) 2078 0 R (subsubsection.10.36.2) 2079 0 R]
+/Limits [(subsubsection.10.34.1) (subsubsection.10.36.2)]
+>> endobj
+3276 0 obj <<
+/Names [(subsubsection.10.37.1) 2111 0 R (subsubsection.10.38.1) 2141 0 R (subsubsection.10.39.1) 2411 0 R (subsubsection.10.39.2) 2412 0 R (subsubsection.10.4.1) 1084 0 R (subsubsection.10.4.2) 1085 0 R]
+/Limits [(subsubsection.10.37.1) (subsubsection.10.4.2)]
+>> endobj
+3277 0 obj <<
+/Names [(subsubsection.10.4.3) 1102 0 R (subsubsection.10.40.1) 2632 0 R (subsubsection.10.41.1) 2647 0 R (subsubsection.10.41.2) 2648 0 R (subsubsection.10.42.1) 2659 0 R (subsubsection.10.5.1) 1132 0 R]
+/Limits [(subsubsection.10.4.3) (subsubsection.10.5.1)]
+>> endobj
+3278 0 obj <<
+/Names [(subsubsection.10.5.2) 1133 0 R (subsubsection.10.6.1) 1169 0 R (subsubsection.10.7.1) 1200 0 R (subsubsection.10.8.1) 1220 0 R (subsubsection.10.9.1) 1225 0 R (subsubsection.8.1.1) 816 0 R]
+/Limits [(subsubsection.10.5.2) (subsubsection.8.1.1)]
+>> endobj
+3279 0 obj <<
+/Names [(subsubsection.8.1.2) 817 0 R (subsubsection.9.1.1) 986 0 R]
+/Limits [(subsubsection.8.1.2) (subsubsection.9.1.1)]
+>> endobj
+3280 0 obj <<
+/Kids [3137 0 R 3138 0 R 3139 0 R 3140 0 R 3141 0 R 3142 0 R]
+/Limits [(Doc-Start) (classparma__polyhedra__library_1_1Coefficient_a5e4f22d99d07f976fa2e51bc34525e15)]
+>> endobj
+3281 0 obj <<
+/Kids [3143 0 R 3144 0 R 3145 0 R 3146 0 R 3147 0 R 3148 0 R]
+/Limits [(classparma__polyhedra__library_1_1Coefficient_a7c968f7ba606e8b99863ae8cdef3c686) (classparma__polyhedra__library_1_1Generator__System_ab1265553cab293b2c77d31f57682ae2b)]
+>> endobj
+3282 0 obj <<
+/Kids [3149 0 R 3150 0 R 3151 0 R 3152 0 R 3153 0 R 3154 0 R]
+/Limits [(classparma__polyhedra__library_1_1Generator_a05c97a4f4fc4ddf12b6582b46dc78c1c) (classparma__polyhedra__library_1_1Linear__Expression__Difference_a2b2271e2f858709aef3d3705ac8c075d)]
+>> endobj
+3283 0 obj <<
+/Kids [3155 0 R 3156 0 R 3157 0 R 3158 0 R 3159 0 R 3160 0 R]
+/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Difference_a6e2a52ee587e255b6172f976f5a823d1) (classparma__polyhedra__library_1_1Linear__Expression_a94678c0499f89a49dc9118ef12f161b8)]
+>> endobj
+3284 0 obj <<
+/Kids [3161 0 R 3162 0 R 3163 0 R 3164 0 R 3165 0 R 3166 0 R]
+/Limits [(classparma__polyhedra__library_1_1Linear__Expression_aaf751a048f4895ec1ca6eb753a196908) (classparma__polyhedra__library_1_1MIP__Problem_afa2c94e0b2f7b773f7d2daf6d53f9874)]
+>> endobj
+3285 0 obj <<
+/Kids [3167 0 R 3168 0 R 3169 0 R 3170 0 R 3171 0 R 3172 0 R]
+/Limits [(classparma__polyhedra__library_1_1Overflow__Error__Exception) (classparma__polyhedra__library_1_1PIP__Solution__Node)]
+>> endobj
+3286 0 obj <<
+/Kids [3173 0 R 3174 0 R 3175 0 R 3176 0 R 3177 0 R 3178 0 R]
+/Limits [(classparma__polyhedra__library_1_1PIP__Solution__Node_af794d3c0edfd8681f26ab198ba1885c6) (classparma__polyhedra__library_1_1Partial__Function_aa26b90cbd295d1509505afa09fb6a72e)]
+>> endobj
+3287 0 obj <<
+/Kids [3179 0 R 3180 0 R 3181 0 R 3182 0 R 3183 0 R 3184 0 R]
+/Limits [(classparma__polyhedra__library_1_1Partial__Function_ab9ed1dd0b1f4bed335aefca206504f7d) (classparma__polyhedra__library_1_1Polyhedron_a0c70e4b9986758a2c5cfabd0968c80a2)]
+>> endobj
+3288 0 obj <<
+/Kids [3185 0 R 3186 0 R 3187 0 R 3188 0 R 3189 0 R 3190 0 R]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_a0d6e2bbaaefe11efb5429fe1a61e3d22) (classparma__polyhedra__library_1_1Polyhedron_a7817a26193f804a89ffeb2dbf18fc702)]
+>> endobj
+3289 0 obj <<
+/Kids [3191 0 R 3192 0 R 3193 0 R 3194 0 R 3195 0 R 3196 0 R]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_a79d4ff349ca7b314602b79a2d74fe976) (classparma__polyhedra__library_1_1Polyhedron_ae4e82dc62f09b889cc2c699b6a8abda1)]
+>> endobj
+3290 0 obj <<
+/Kids [3197 0 R 3198 0 R 3199 0 R 3200 0 R 3201 0 R 3202 0 R]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_aea3d6d51b260b5aa832a1a3a68ac98a0) (group__PPL__Java__interface_gga7b9f076ff672dec60890b152525134c8)]
+>> endobj
+3291 0 obj <<
+/Kids [3203 0 R 3204 0 R 3205 0 R 3206 0 R 3207 0 R 3208 0 R]
+/Limits [(group__PPL__Java__interface_gga9006be5f6c0f7616400b3554738e732f) (page.25)]
+>> endobj
+3292 0 obj <<
+/Kids [3209 0 R 3210 0 R 3211 0 R 3212 0 R 3213 0 R 3214 0 R]
+/Limits [(page.26) (page.58)]
+>> endobj
+3293 0 obj <<
+/Kids [3215 0 R 3216 0 R 3217 0 R 3218 0 R 3219 0 R 3220 0 R]
+/Limits [(page.59) (page.90)]
+>> endobj
+3294 0 obj <<
+/Kids [3221 0 R 3222 0 R 3223 0 R 3224 0 R 3225 0 R 3226 0 R]
+/Limits [(page.91) (paragraph.10.29.2.1)]
+>> endobj
+3295 0 obj <<
+/Kids [3227 0 R 3228 0 R 3229 0 R 3230 0 R 3231 0 R 3232 0 R]
+/Limits [(paragraph.10.29.2.2) (paragraph.10.39.2.22)]
+>> endobj
+3296 0 obj <<
+/Kids [3233 0 R 3234 0 R 3235 0 R 3236 0 R 3237 0 R 3238 0 R]
+/Limits [(paragraph.10.39.2.23) (paragraph.10.39.2.55)]
+>> endobj
+3297 0 obj <<
+/Kids [3239 0 R 3240 0 R 3241 0 R 3242 0 R 3243 0 R 3244 0 R]
+/Limits [(paragraph.10.39.2.56) (section*.14)]
+>> endobj
+3298 0 obj <<
+/Kids [3245 0 R 3246 0 R 3247 0 R 3248 0 R 3249 0 R 3250 0 R]
+/Limits [(section*.15) (section*.47)]
+>> endobj
+3299 0 obj <<
+/Kids [3251 0 R 3252 0 R 3253 0 R 3254 0 R 3255 0 R 3256 0 R]
+/Limits [(section*.48) (section*.8)]
+>> endobj
+3300 0 obj <<
+/Kids [3257 0 R 3258 0 R 3259 0 R 3260 0 R 3261 0 R 3262 0 R]
+/Limits [(section*.80) (subsection.10.20)]
+>> endobj
+3301 0 obj <<
+/Kids [3263 0 R 3264 0 R 3265 0 R 3266 0 R 3267 0 R 3268 0 R]
+/Limits [(subsection.10.21) (subsubsection.10.1.1)]
+>> endobj
+3302 0 obj <<
+/Kids [3269 0 R 3270 0 R 3271 0 R 3272 0 R 3273 0 R 3274 0 R]
+/Limits [(subsubsection.10.10.1) (subsubsection.10.33.2)]
+>> endobj
+3303 0 obj <<
+/Kids [3275 0 R 3276 0 R 3277 0 R 3278 0 R 3279 0 R]
+/Limits [(subsubsection.10.34.1) (subsubsection.9.1.1)]
+>> endobj
+3304 0 obj <<
+/Kids [3280 0 R 3281 0 R 3282 0 R 3283 0 R 3284 0 R 3285 0 R]
+/Limits [(Doc-Start) (classparma__polyhedra__library_1_1PIP__Solution__Node)]
+>> endobj
+3305 0 obj <<
+/Kids [3286 0 R 3287 0 R 3288 0 R 3289 0 R 3290 0 R 3291 0 R]
+/Limits [(classparma__polyhedra__library_1_1PIP__Solution__Node_af794d3c0edfd8681f26ab198ba1885c6) (page.25)]
+>> endobj
+3306 0 obj <<
+/Kids [3292 0 R 3293 0 R 3294 0 R 3295 0 R 3296 0 R 3297 0 R]
+/Limits [(page.26) (section*.14)]
+>> endobj
+3307 0 obj <<
+/Kids [3298 0 R 3299 0 R 3300 0 R 3301 0 R 3302 0 R 3303 0 R]
+/Limits [(section*.15) (subsubsection.9.1.1)]
+>> endobj
+3308 0 obj <<
+/Kids [3304 0 R 3305 0 R 3306 0 R 3307 0 R]
+/Limits [(Doc-Start) (subsubsection.9.1.1)]
+>> endobj
+3309 0 obj <<
+/Dests 3308 0 R
+>> endobj
+3310 0 obj <<
+/Type /Catalog
+/Pages 3135 0 R
+/Outlines 3136 0 R
+/Names 3309 0 R
+/PageMode/UseOutlines/PageLabels << /Nums [0 << /S /D >> 1 << /S /r >> 3 << /S /D >> ] >>
+/OpenAction 237 0 R
+>> endobj
+3311 0 obj <<
+/Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.3)/Keywords()
+/CreationDate (D:20100802222459+02'00')
+/ModDate (D:20100802222459+02'00')
+/Trapped /False
+/PTEX.Fullbanner (This is pdfTeX using libpoppler, Version 3.141592-1.40.3-2.2 (Web2C 7.5.6) kpathsea version 3.5.6)
+>> endobj
+xref
+0 3312
+0000000001 65535 f 
+0000000002 00000 f 
+0000000003 00000 f 
+0000000004 00000 f 
+0000000000 00000 f 
+0000000015 00000 n 
+0000039192 00000 n 
+0000798780 00000 n 
+0000000060 00000 n 
+0000000134 00000 n 
+0000042925 00000 n 
+0000798693 00000 n 
+0000000179 00000 n 
+0000000345 00000 n 
+0000081145 00000 n 
+0000798604 00000 n 
+0000000391 00000 n 
+0000000577 00000 n 
+0000100811 00000 n 
+0000798478 00000 n 
+0000000623 00000 n 
+0000000713 00000 n 
+0000100867 00000 n 
+0000798417 00000 n 
+0000000764 00000 n 
+0000000826 00000 n 
+0000100923 00000 n 
+0000798291 00000 n 
+0000000872 00000 n 
+0000000977 00000 n 
+0000100979 00000 n 
+0000798230 00000 n 
+0000001028 00000 n 
+0000001128 00000 n 
+0000101033 00000 n 
+0000798104 00000 n 
+0000001174 00000 n 
+0000001259 00000 n 
+0000101089 00000 n 
+0000798043 00000 n 
+0000001310 00000 n 
+0000001415 00000 n 
+0000116737 00000 n 
+0000797917 00000 n 
+0000001461 00000 n 
+0000001546 00000 n 
+0000116793 00000 n 
+0000797856 00000 n 
+0000001597 00000 n 
+0000001677 00000 n 
+0000133573 00000 n 
+0000797730 00000 n 
+0000001723 00000 n 
+0000001853 00000 n 
+0000133686 00000 n 
+0000797669 00000 n 
+0000001904 00000 n 
+0000002052 00000 n 
+0000170778 00000 n 
+0000797543 00000 n 
+0000002098 00000 n 
+0000002243 00000 n 
+0000170891 00000 n 
+0000797482 00000 n 
+0000002294 00000 n 
+0000002548 00000 n 
+0000201540 00000 n 
+0000797367 00000 n 
+0000002595 00000 n 
+0000002720 00000 n 
+0000201652 00000 n 
+0000797293 00000 n 
+0000002772 00000 n 
+0000003119 00000 n 
+0000207109 00000 n 
+0000797206 00000 n 
+0000003171 00000 n 
+0000003566 00000 n 
+0000211073 00000 n 
+0000797119 00000 n 
+0000003618 00000 n 
+0000003956 00000 n 
+0000211601 00000 n 
+0000797032 00000 n 
+0000004008 00000 n 
+0000004315 00000 n 
+0000226074 00000 n 
+0000796945 00000 n 
+0000004367 00000 n 
+0000004666 00000 n 
+0000231427 00000 n 
+0000796858 00000 n 
+0000004718 00000 n 
+0000005012 00000 n 
+0000237851 00000 n 
+0000796771 00000 n 
+0000005064 00000 n 
+0000005396 00000 n 
+0000243870 00000 n 
+0000796682 00000 n 
+0000005448 00000 n 
+0000005743 00000 n 
+0000247716 00000 n 
+0000796591 00000 n 
+0000005796 00000 n 
+0000006129 00000 n 
+0000248126 00000 n 
+0000796499 00000 n 
+0000006183 00000 n 
+0000006544 00000 n 
+0000254874 00000 n 
+0000796407 00000 n 
+0000006598 00000 n 
+0000006888 00000 n 
+0000261063 00000 n 
+0000796315 00000 n 
+0000006942 00000 n 
+0000007270 00000 n 
+0000267695 00000 n 
+0000796223 00000 n 
+0000007324 00000 n 
+0000007642 00000 n 
+0000270843 00000 n 
+0000796131 00000 n 
+0000007696 00000 n 
+0000008052 00000 n 
+0000274401 00000 n 
+0000796039 00000 n 
+0000008106 00000 n 
+0000008487 00000 n 
+0000274694 00000 n 
+0000795947 00000 n 
+0000008541 00000 n 
+0000008796 00000 n 
+0000279185 00000 n 
+0000795855 00000 n 
+0000008850 00000 n 
+0000009211 00000 n 
+0000279478 00000 n 
+0000795763 00000 n 
+0000009265 00000 n 
+0000009598 00000 n 
+0000288009 00000 n 
+0000795671 00000 n 
+0000009652 00000 n 
+0000010048 00000 n 
+0000294794 00000 n 
+0000795579 00000 n 
+0000010102 00000 n 
+0000010493 00000 n 
+0000300430 00000 n 
+0000795487 00000 n 
+0000010547 00000 n 
+0000010903 00000 n 
+0000301075 00000 n 
+0000795395 00000 n 
+0000010957 00000 n 
+0000011323 00000 n 
+0000308391 00000 n 
+0000795303 00000 n 
+0000011377 00000 n 
+0000011776 00000 n 
+0000313537 00000 n 
+0000795211 00000 n 
+0000011830 00000 n 
+0000012211 00000 n 
+0000313948 00000 n 
+0000795119 00000 n 
+0000012265 00000 n 
+0000012621 00000 n 
+0000319615 00000 n 
+0000795027 00000 n 
+0000012675 00000 n 
+0000012978 00000 n 
+0000347262 00000 n 
+0000794935 00000 n 
+0000013032 00000 n 
+0000013403 00000 n 
+0000347553 00000 n 
+0000794843 00000 n 
+0000013457 00000 n 
+0000013771 00000 n 
+0000352089 00000 n 
+0000794751 00000 n 
+0000013825 00000 n 
+0000014191 00000 n 
+0000365868 00000 n 
+0000794659 00000 n 
+0000014245 00000 n 
+0000014573 00000 n 
+0000370348 00000 n 
+0000794567 00000 n 
+0000014627 00000 n 
+0000014963 00000 n 
+0000376191 00000 n 
+0000794475 00000 n 
+0000015017 00000 n 
+0000015320 00000 n 
+0000399882 00000 n 
+0000794383 00000 n 
+0000015374 00000 n 
+0000015710 00000 n 
+0000406539 00000 n 
+0000794291 00000 n 
+0000015764 00000 n 
+0000016080 00000 n 
+0000414327 00000 n 
+0000794199 00000 n 
+0000016134 00000 n 
+0000016538 00000 n 
+0000419917 00000 n 
+0000794107 00000 n 
+0000016592 00000 n 
+0000017044 00000 n 
+0000425015 00000 n 
+0000794015 00000 n 
+0000017098 00000 n 
+0000017434 00000 n 
+0000431301 00000 n 
+0000793923 00000 n 
+0000017488 00000 n 
+0000017824 00000 n 
+0000437429 00000 n 
+0000793831 00000 n 
+0000017878 00000 n 
+0000018173 00000 n 
+0000545695 00000 n 
+0000793739 00000 n 
+0000018227 00000 n 
+0000018560 00000 n 
+0000549516 00000 n 
+0000793647 00000 n 
+0000018614 00000 n 
+0000018899 00000 n 
+0000550044 00000 n 
+0000793569 00000 n 
+0000018953 00000 n 
+0000019266 00000 n 
+0000020550 00000 n 
+0000020783 00000 n 
+0000019318 00000 n 
+0000020669 00000 n 
+0000020726 00000 n 
+0000790295 00000 n 
+0000788252 00000 n 
+0000788684 00000 n 
+0000788396 00000 n 
+0000790651 00000 n 
+0000023015 00000 n 
+0000023181 00000 n 
+0000023333 00000 n 
+0000023499 00000 n 
+0000023797 00000 n 
+0000023972 00000 n 
+0000024122 00000 n 
+0000024273 00000 n 
+0000024424 00000 n 
+0000024575 00000 n 
+0000024732 00000 n 
+0000024883 00000 n 
+0000025040 00000 n 
+0000025191 00000 n 
+0000025348 00000 n 
+0000025499 00000 n 
+0000025655 00000 n 
+0000025806 00000 n 
+0000025962 00000 n 
+0000026113 00000 n 
+0000026269 00000 n 
+0000028598 00000 n 
+0000026418 00000 n 
+0000026704 00000 n 
+0000022700 00000 n 
+0000020894 00000 n 
+0000026590 00000 n 
+0000789939 00000 n 
+0000023649 00000 n 
+0000789587 00000 n 
+0000026647 00000 n 
+0000081258 00000 n 
+0000043038 00000 n 
+0000028756 00000 n 
+0000028914 00000 n 
+0000029072 00000 n 
+0000029230 00000 n 
+0000029388 00000 n 
+0000029544 00000 n 
+0000029701 00000 n 
+0000029859 00000 n 
+0000030017 00000 n 
+0000030176 00000 n 
+0000030335 00000 n 
+0000030494 00000 n 
+0000030652 00000 n 
+0000030811 00000 n 
+0000030970 00000 n 
+0000031129 00000 n 
+0000031288 00000 n 
+0000031447 00000 n 
+0000031606 00000 n 
+0000031764 00000 n 
+0000031922 00000 n 
+0000032081 00000 n 
+0000032239 00000 n 
+0000032398 00000 n 
+0000032557 00000 n 
+0000032716 00000 n 
+0000032875 00000 n 
+0000033034 00000 n 
+0000033192 00000 n 
+0000033350 00000 n 
+0000033509 00000 n 
+0000033668 00000 n 
+0000033827 00000 n 
+0000033986 00000 n 
+0000034144 00000 n 
+0000037663 00000 n 
+0000034303 00000 n 
+0000034532 00000 n 
+0000028171 00000 n 
+0000026802 00000 n 
+0000034475 00000 n 
+0000786940 00000 n 
+0000037822 00000 n 
+0000037981 00000 n 
+0000038140 00000 n 
+0000038299 00000 n 
+0000038458 00000 n 
+0000038616 00000 n 
+0000039020 00000 n 
+0000039359 00000 n 
+0000037460 00000 n 
+0000034643 00000 n 
+0000039247 00000 n 
+0000790471 00000 n 
+0000039304 00000 n 
+0000038818 00000 n 
+0000352031 00000 n 
+0000042533 00000 n 
+0000042696 00000 n 
+0000043152 00000 n 
+0000042386 00000 n 
+0000039470 00000 n 
+0000042868 00000 n 
+0000787672 00000 n 
+0000042981 00000 n 
+0000043095 00000 n 
+0000046758 00000 n 
+0000047101 00000 n 
+0000046619 00000 n 
+0000043301 00000 n 
+0000046930 00000 n 
+0000046987 00000 n 
+0000047044 00000 n 
+0000050524 00000 n 
+0000050867 00000 n 
+0000050385 00000 n 
+0000047199 00000 n 
+0000050696 00000 n 
+0000050753 00000 n 
+0000050810 00000 n 
+0000790769 00000 n 
+0000053987 00000 n 
+0000054387 00000 n 
+0000053848 00000 n 
+0000050965 00000 n 
+0000054159 00000 n 
+0000054216 00000 n 
+0000054273 00000 n 
+0000054330 00000 n 
+0000058073 00000 n 
+0000058359 00000 n 
+0000057934 00000 n 
+0000054485 00000 n 
+0000058245 00000 n 
+0000058302 00000 n 
+0000061787 00000 n 
+0000062073 00000 n 
+0000061648 00000 n 
+0000058457 00000 n 
+0000061959 00000 n 
+0000062016 00000 n 
+0000065465 00000 n 
+0000065865 00000 n 
+0000065326 00000 n 
+0000062171 00000 n 
+0000065637 00000 n 
+0000065694 00000 n 
+0000065751 00000 n 
+0000065808 00000 n 
+0000069670 00000 n 
+0000070013 00000 n 
+0000069531 00000 n 
+0000065963 00000 n 
+0000069842 00000 n 
+0000069899 00000 n 
+0000069956 00000 n 
+0000073188 00000 n 
+0000073645 00000 n 
+0000073049 00000 n 
+0000070111 00000 n 
+0000073360 00000 n 
+0000073417 00000 n 
+0000073474 00000 n 
+0000073531 00000 n 
+0000073588 00000 n 
+0000790887 00000 n 
+0000076516 00000 n 
+0000076691 00000 n 
+0000080721 00000 n 
+0000076865 00000 n 
+0000077208 00000 n 
+0000076361 00000 n 
+0000073743 00000 n 
+0000077037 00000 n 
+0000077094 00000 n 
+0000077151 00000 n 
+0000789761 00000 n 
+0000080916 00000 n 
+0000081315 00000 n 
+0000080574 00000 n 
+0000077319 00000 n 
+0000081088 00000 n 
+0000081201 00000 n 
+0000085334 00000 n 
+0000085563 00000 n 
+0000085195 00000 n 
+0000081413 00000 n 
+0000085506 00000 n 
+0000089125 00000 n 
+0000089354 00000 n 
+0000088986 00000 n 
+0000085661 00000 n 
+0000089297 00000 n 
+0000092901 00000 n 
+0000093130 00000 n 
+0000092762 00000 n 
+0000089452 00000 n 
+0000093073 00000 n 
+0000096672 00000 n 
+0000096848 00000 n 
+0000097134 00000 n 
+0000096525 00000 n 
+0000093228 00000 n 
+0000097020 00000 n 
+0000097077 00000 n 
+0000791005 00000 n 
+0000098988 00000 n 
+0000099145 00000 n 
+0000099322 00000 n 
+0000099479 00000 n 
+0000099637 00000 n 
+0000099795 00000 n 
+0000099953 00000 n 
+0000100111 00000 n 
+0000100268 00000 n 
+0000100426 00000 n 
+0000102700 00000 n 
+0000100582 00000 n 
+0000101145 00000 n 
+0000098769 00000 n 
+0000097232 00000 n 
+0000100754 00000 n 
+0000170834 00000 n 
+0000102858 00000 n 
+0000103017 00000 n 
+0000103175 00000 n 
+0000103334 00000 n 
+0000103493 00000 n 
+0000103652 00000 n 
+0000103811 00000 n 
+0000103970 00000 n 
+0000104129 00000 n 
+0000104288 00000 n 
+0000104447 00000 n 
+0000104605 00000 n 
+0000104764 00000 n 
+0000104923 00000 n 
+0000105080 00000 n 
+0000105239 00000 n 
+0000105398 00000 n 
+0000105557 00000 n 
+0000105716 00000 n 
+0000105875 00000 n 
+0000106033 00000 n 
+0000106192 00000 n 
+0000106351 00000 n 
+0000106509 00000 n 
+0000106668 00000 n 
+0000106827 00000 n 
+0000106986 00000 n 
+0000107145 00000 n 
+0000109566 00000 n 
+0000107304 00000 n 
+0000107533 00000 n 
+0000102329 00000 n 
+0000101256 00000 n 
+0000107476 00000 n 
+0000109724 00000 n 
+0000109883 00000 n 
+0000110040 00000 n 
+0000110199 00000 n 
+0000110357 00000 n 
+0000110515 00000 n 
+0000110713 00000 n 
+0000110871 00000 n 
+0000111079 00000 n 
+0000111237 00000 n 
+0000111438 00000 n 
+0000111596 00000 n 
+0000111786 00000 n 
+0000111944 00000 n 
+0000112132 00000 n 
+0000112290 00000 n 
+0000112476 00000 n 
+0000112634 00000 n 
+0000112828 00000 n 
+0000112986 00000 n 
+0000113173 00000 n 
+0000113331 00000 n 
+0000113525 00000 n 
+0000113683 00000 n 
+0000113884 00000 n 
+0000114043 00000 n 
+0000114227 00000 n 
+0000114385 00000 n 
+0000114579 00000 n 
+0000114738 00000 n 
+0000114930 00000 n 
+0000115089 00000 n 
+0000115289 00000 n 
+0000115448 00000 n 
+0000115652 00000 n 
+0000115811 00000 n 
+0000115990 00000 n 
+0000116149 00000 n 
+0000116350 00000 n 
+0000119175 00000 n 
+0000119370 00000 n 
+0000116508 00000 n 
+0000116847 00000 n 
+0000109107 00000 n 
+0000107644 00000 n 
+0000116680 00000 n 
+0000201595 00000 n 
+0000207051 00000 n 
+0000211015 00000 n 
+0000211543 00000 n 
+0000226016 00000 n 
+0000231369 00000 n 
+0000237793 00000 n 
+0000243812 00000 n 
+0000247658 00000 n 
+0000248069 00000 n 
+0000254817 00000 n 
+0000261005 00000 n 
+0000261416 00000 n 
+0000270785 00000 n 
+0000274343 00000 n 
+0000274636 00000 n 
+0000279127 00000 n 
+0000119528 00000 n 
+0000119736 00000 n 
+0000119895 00000 n 
+0000120102 00000 n 
+0000120260 00000 n 
+0000120460 00000 n 
+0000120619 00000 n 
+0000120821 00000 n 
+0000120980 00000 n 
+0000121189 00000 n 
+0000121347 00000 n 
+0000121552 00000 n 
+0000121711 00000 n 
+0000121911 00000 n 
+0000122069 00000 n 
+0000122258 00000 n 
+0000122417 00000 n 
+0000122620 00000 n 
+0000122779 00000 n 
+0000122978 00000 n 
+0000123137 00000 n 
+0000123338 00000 n 
+0000123497 00000 n 
+0000123691 00000 n 
+0000123849 00000 n 
+0000124044 00000 n 
+0000124203 00000 n 
+0000124391 00000 n 
+0000124549 00000 n 
+0000124745 00000 n 
+0000124904 00000 n 
+0000125096 00000 n 
+0000125255 00000 n 
+0000125465 00000 n 
+0000125655 00000 n 
+0000125814 00000 n 
+0000126034 00000 n 
+0000126242 00000 n 
+0000126401 00000 n 
+0000126597 00000 n 
+0000126755 00000 n 
+0000126951 00000 n 
+0000127110 00000 n 
+0000127297 00000 n 
+0000127455 00000 n 
+0000127649 00000 n 
+0000129706 00000 n 
+0000129890 00000 n 
+0000127807 00000 n 
+0000128036 00000 n 
+0000118652 00000 n 
+0000116958 00000 n 
+0000127979 00000 n 
+0000279420 00000 n 
+0000287951 00000 n 
+0000294736 00000 n 
+0000300373 00000 n 
+0000301017 00000 n 
+0000308334 00000 n 
+0000313480 00000 n 
+0000313890 00000 n 
+0000319557 00000 n 
+0000347206 00000 n 
+0000347495 00000 n 
+0000365810 00000 n 
+0000370290 00000 n 
+0000376133 00000 n 
+0000399824 00000 n 
+0000406481 00000 n 
+0000414269 00000 n 
+0000419859 00000 n 
+0000424957 00000 n 
+0000431243 00000 n 
+0000437371 00000 n 
+0000545638 00000 n 
+0000130047 00000 n 
+0000130238 00000 n 
+0000130396 00000 n 
+0000130604 00000 n 
+0000130805 00000 n 
+0000130993 00000 n 
+0000131178 00000 n 
+0000131373 00000 n 
+0000131560 00000 n 
+0000131755 00000 n 
+0000131955 00000 n 
+0000132142 00000 n 
+0000132331 00000 n 
+0000132540 00000 n 
+0000132729 00000 n 
+0000132949 00000 n 
+0000133158 00000 n 
+0000135354 00000 n 
+0000133344 00000 n 
+0000133799 00000 n 
+0000129415 00000 n 
+0000128147 00000 n 
+0000133516 00000 n 
+0000133629 00000 n 
+0000133742 00000 n 
+0000545930 00000 n 
+0000549986 00000 n 
+0000135547 00000 n 
+0000135739 00000 n 
+0000135938 00000 n 
+0000136143 00000 n 
+0000136321 00000 n 
+0000136521 00000 n 
+0000136716 00000 n 
+0000136922 00000 n 
+0000137129 00000 n 
+0000137329 00000 n 
+0000137531 00000 n 
+0000137740 00000 n 
+0000137945 00000 n 
+0000138145 00000 n 
+0000138334 00000 n 
+0000138537 00000 n 
+0000140834 00000 n 
+0000138736 00000 n 
+0000138965 00000 n 
+0000135079 00000 n 
+0000133923 00000 n 
+0000138908 00000 n 
+0000791123 00000 n 
+0000141036 00000 n 
+0000141228 00000 n 
+0000141417 00000 n 
+0000141613 00000 n 
+0000141808 00000 n 
+0000141991 00000 n 
+0000142168 00000 n 
+0000142372 00000 n 
+0000142781 00000 n 
+0000142987 00000 n 
+0000143398 00000 n 
+0000143603 00000 n 
+0000144014 00000 n 
+0000144218 00000 n 
+0000144423 00000 n 
+0000144628 00000 n 
+0000144834 00000 n 
+0000145245 00000 n 
+0000145451 00000 n 
+0000145656 00000 n 
+0000145861 00000 n 
+0000146271 00000 n 
+0000146476 00000 n 
+0000146887 00000 n 
+0000147091 00000 n 
+0000147296 00000 n 
+0000147639 00000 n 
+0000140439 00000 n 
+0000139089 00000 n 
+0000147468 00000 n 
+0000147525 00000 n 
+0000147582 00000 n 
+0000142578 00000 n 
+0000143193 00000 n 
+0000143809 00000 n 
+0000145040 00000 n 
+0000146066 00000 n 
+0000146682 00000 n 
+0000162387 00000 n 
+0000162501 00000 n 
+0000162563 00000 n 
+0000162677 00000 n 
+0000162739 00000 n 
+0000162850 00000 n 
+0000162912 00000 n 
+0000165020 00000 n 
+0000165082 00000 n 
+0000165196 00000 n 
+0000149714 00000 n 
+0000149918 00000 n 
+0000150329 00000 n 
+0000150533 00000 n 
+0000150738 00000 n 
+0000150943 00000 n 
+0000151148 00000 n 
+0000151353 00000 n 
+0000151558 00000 n 
+0000151763 00000 n 
+0000151968 00000 n 
+0000152174 00000 n 
+0000152585 00000 n 
+0000152790 00000 n 
+0000152996 00000 n 
+0000153406 00000 n 
+0000153611 00000 n 
+0000153816 00000 n 
+0000154227 00000 n 
+0000154638 00000 n 
+0000154844 00000 n 
+0000155049 00000 n 
+0000155460 00000 n 
+0000155666 00000 n 
+0000155869 00000 n 
+0000156279 00000 n 
+0000156485 00000 n 
+0000156689 00000 n 
+0000156893 00000 n 
+0000157303 00000 n 
+0000157712 00000 n 
+0000157917 00000 n 
+0000158122 00000 n 
+0000158325 00000 n 
+0000158735 00000 n 
+0000158940 00000 n 
+0000159144 00000 n 
+0000159349 00000 n 
+0000159555 00000 n 
+0000159965 00000 n 
+0000160170 00000 n 
+0000160373 00000 n 
+0000160602 00000 n 
+0000149159 00000 n 
+0000147750 00000 n 
+0000160545 00000 n 
+0000150124 00000 n 
+0000152380 00000 n 
+0000153202 00000 n 
+0000154022 00000 n 
+0000154433 00000 n 
+0000155255 00000 n 
+0000156074 00000 n 
+0000157098 00000 n 
+0000157509 00000 n 
+0000158531 00000 n 
+0000159761 00000 n 
+0000165258 00000 n 
+0000165372 00000 n 
+0000165434 00000 n 
+0000165548 00000 n 
+0000165610 00000 n 
+0000165724 00000 n 
+0000165786 00000 n 
+0000167672 00000 n 
+0000167733 00000 n 
+0000167846 00000 n 
+0000167908 00000 n 
+0000168022 00000 n 
+0000168084 00000 n 
+0000168198 00000 n 
+0000168260 00000 n 
+0000170365 00000 n 
+0000170426 00000 n 
+0000170540 00000 n 
+0000170602 00000 n 
+0000170716 00000 n 
+0000162044 00000 n 
+0000163026 00000 n 
+0000161905 00000 n 
+0000160713 00000 n 
+0000162216 00000 n 
+0000162273 00000 n 
+0000162330 00000 n 
+0000162444 00000 n 
+0000790115 00000 n 
+0000162620 00000 n 
+0000162795 00000 n 
+0000162969 00000 n 
+0000164603 00000 n 
+0000164791 00000 n 
+0000165842 00000 n 
+0000164456 00000 n 
+0000163137 00000 n 
+0000164963 00000 n 
+0000165139 00000 n 
+0000165315 00000 n 
+0000165491 00000 n 
+0000165667 00000 n 
+0000167198 00000 n 
+0000167386 00000 n 
+0000168317 00000 n 
+0000167051 00000 n 
+0000165953 00000 n 
+0000167558 00000 n 
+0000167615 00000 n 
+0000167790 00000 n 
+0000167965 00000 n 
+0000168141 00000 n 
+0000169890 00000 n 
+0000172497 00000 n 
+0000172695 00000 n 
+0000170079 00000 n 
+0000170947 00000 n 
+0000169743 00000 n 
+0000168428 00000 n 
+0000170251 00000 n 
+0000170308 00000 n 
+0000170483 00000 n 
+0000170659 00000 n 
+0000791241 00000 n 
+0000172901 00000 n 
+0000173102 00000 n 
+0000173290 00000 n 
+0000173475 00000 n 
+0000173669 00000 n 
+0000173856 00000 n 
+0000174050 00000 n 
+0000174250 00000 n 
+0000174437 00000 n 
+0000174627 00000 n 
+0000174837 00000 n 
+0000175026 00000 n 
+0000175245 00000 n 
+0000175454 00000 n 
+0000175640 00000 n 
+0000175833 00000 n 
+0000176024 00000 n 
+0000178045 00000 n 
+0000176224 00000 n 
+0000176510 00000 n 
+0000172206 00000 n 
+0000171058 00000 n 
+0000176396 00000 n 
+0000176453 00000 n 
+0000178250 00000 n 
+0000178429 00000 n 
+0000178630 00000 n 
+0000178825 00000 n 
+0000179033 00000 n 
+0000179239 00000 n 
+0000179438 00000 n 
+0000179640 00000 n 
+0000179848 00000 n 
+0000180052 00000 n 
+0000180252 00000 n 
+0000180441 00000 n 
+0000180644 00000 n 
+0000180843 00000 n 
+0000181044 00000 n 
+0000181238 00000 n 
+0000183595 00000 n 
+0000181432 00000 n 
+0000181661 00000 n 
+0000177770 00000 n 
+0000176634 00000 n 
+0000181604 00000 n 
+0000183784 00000 n 
+0000183979 00000 n 
+0000184171 00000 n 
+0000184366 00000 n 
+0000184562 00000 n 
+0000184757 00000 n 
+0000184942 00000 n 
+0000185132 00000 n 
+0000185336 00000 n 
+0000185541 00000 n 
+0000185745 00000 n 
+0000185950 00000 n 
+0000186155 00000 n 
+0000186361 00000 n 
+0000186567 00000 n 
+0000186772 00000 n 
+0000186977 00000 n 
+0000187183 00000 n 
+0000187389 00000 n 
+0000187595 00000 n 
+0000187800 00000 n 
+0000188005 00000 n 
+0000188211 00000 n 
+0000188417 00000 n 
+0000188828 00000 n 
+0000189033 00000 n 
+0000189239 00000 n 
+0000189443 00000 n 
+0000189648 00000 n 
+0000190056 00000 n 
+0000190260 00000 n 
+0000190546 00000 n 
+0000183192 00000 n 
+0000181785 00000 n 
+0000190432 00000 n 
+0000190489 00000 n 
+0000188623 00000 n 
+0000189853 00000 n 
+0000192637 00000 n 
+0000192842 00000 n 
+0000193048 00000 n 
+0000193253 00000 n 
+0000193458 00000 n 
+0000193664 00000 n 
+0000193870 00000 n 
+0000194076 00000 n 
+0000194282 00000 n 
+0000194487 00000 n 
+0000194693 00000 n 
+0000194899 00000 n 
+0000195105 00000 n 
+0000195309 00000 n 
+0000195515 00000 n 
+0000195721 00000 n 
+0000195926 00000 n 
+0000196131 00000 n 
+0000196337 00000 n 
+0000196543 00000 n 
+0000196748 00000 n 
+0000196954 00000 n 
+0000197365 00000 n 
+0000197570 00000 n 
+0000197774 00000 n 
+0000197979 00000 n 
+0000198388 00000 n 
+0000198594 00000 n 
+0000198797 00000 n 
+0000199001 00000 n 
+0000199207 00000 n 
+0000199413 00000 n 
+0000199618 00000 n 
+0000199823 00000 n 
+0000200029 00000 n 
+0000200235 00000 n 
+0000200441 00000 n 
+0000200646 00000 n 
+0000200875 00000 n 
+0000201068 00000 n 
+0000201254 00000 n 
+0000201822 00000 n 
+0000192162 00000 n 
+0000190657 00000 n 
+0000201426 00000 n 
+0000197160 00000 n 
+0000198184 00000 n 
+0000201483 00000 n 
+0000201708 00000 n 
+0000201765 00000 n 
+0000204022 00000 n 
+0000204215 00000 n 
+0000204447 00000 n 
+0000204634 00000 n 
+0000204866 00000 n 
+0000205095 00000 n 
+0000205325 00000 n 
+0000205523 00000 n 
+0000205717 00000 n 
+0000205905 00000 n 
+0000206094 00000 n 
+0000206283 00000 n 
+0000208958 00000 n 
+0000206524 00000 n 
+0000207284 00000 n 
+0000203782 00000 n 
+0000201933 00000 n 
+0000206697 00000 n 
+0000206756 00000 n 
+0000206815 00000 n 
+0000206874 00000 n 
+0000206933 00000 n 
+0000206992 00000 n 
+0000207166 00000 n 
+0000207225 00000 n 
+0000209167 00000 n 
+0000209402 00000 n 
+0000209638 00000 n 
+0000209874 00000 n 
+0000210110 00000 n 
+0000210295 00000 n 
+0000210519 00000 n 
+0000214322 00000 n 
+0000214547 00000 n 
+0000210724 00000 n 
+0000211716 00000 n 
+0000208742 00000 n 
+0000207409 00000 n 
+0000210897 00000 n 
+0000210956 00000 n 
+0000787086 00000 n 
+0000211130 00000 n 
+0000211189 00000 n 
+0000211248 00000 n 
+0000211307 00000 n 
+0000211366 00000 n 
+0000211425 00000 n 
+0000211484 00000 n 
+0000211658 00000 n 
+0000791360 00000 n 
+0000221737 00000 n 
+0000214738 00000 n 
+0000214963 00000 n 
+0000215154 00000 n 
+0000215360 00000 n 
+0000215585 00000 n 
+0000215781 00000 n 
+0000216005 00000 n 
+0000216200 00000 n 
+0000216424 00000 n 
+0000216649 00000 n 
+0000216874 00000 n 
+0000217080 00000 n 
+0000217305 00000 n 
+0000217499 00000 n 
+0000217724 00000 n 
+0000217915 00000 n 
+0000218106 00000 n 
+0000218330 00000 n 
+0000218709 00000 n 
+0000218900 00000 n 
+0000219125 00000 n 
+0000219711 00000 n 
+0000213971 00000 n 
+0000211868 00000 n 
+0000219298 00000 n 
+0000219357 00000 n 
+0000219416 00000 n 
+0000219475 00000 n 
+0000219534 00000 n 
+0000218520 00000 n 
+0000219593 00000 n 
+0000219652 00000 n 
+0000221855 00000 n 
+0000221973 00000 n 
+0000222096 00000 n 
+0000222219 00000 n 
+0000222342 00000 n 
+0000225780 00000 n 
+0000225898 00000 n 
+0000221387 00000 n 
+0000222465 00000 n 
+0000221243 00000 n 
+0000219862 00000 n 
+0000221560 00000 n 
+0000221619 00000 n 
+0000221678 00000 n 
+0000221796 00000 n 
+0000221914 00000 n 
+0000222037 00000 n 
+0000222160 00000 n 
+0000222283 00000 n 
+0000222406 00000 n 
+0000224620 00000 n 
+0000224825 00000 n 
+0000225047 00000 n 
+0000225269 00000 n 
+0000228320 00000 n 
+0000225490 00000 n 
+0000226367 00000 n 
+0000224440 00000 n 
+0000222577 00000 n 
+0000225663 00000 n 
+0000225722 00000 n 
+0000225839 00000 n 
+0000225957 00000 n 
+0000789412 00000 n 
+0000226131 00000 n 
+0000226190 00000 n 
+0000226249 00000 n 
+0000226308 00000 n 
+0000228542 00000 n 
+0000228764 00000 n 
+0000228952 00000 n 
+0000229175 00000 n 
+0000229398 00000 n 
+0000229620 00000 n 
+0000229808 00000 n 
+0000230028 00000 n 
+0000230223 00000 n 
+0000230418 00000 n 
+0000233808 00000 n 
+0000234002 00000 n 
+0000230606 00000 n 
+0000231600 00000 n 
+0000228077 00000 n 
+0000226532 00000 n 
+0000230779 00000 n 
+0000230838 00000 n 
+0000230897 00000 n 
+0000230956 00000 n 
+0000231015 00000 n 
+0000231074 00000 n 
+0000231133 00000 n 
+0000231192 00000 n 
+0000231251 00000 n 
+0000231310 00000 n 
+0000231484 00000 n 
+0000231542 00000 n 
+0000788974 00000 n 
+0000788107 00000 n 
+0000234223 00000 n 
+0000234417 00000 n 
+0000234639 00000 n 
+0000234827 00000 n 
+0000235049 00000 n 
+0000235268 00000 n 
+0000235488 00000 n 
+0000235675 00000 n 
+0000235896 00000 n 
+0000236089 00000 n 
+0000236310 00000 n 
+0000236503 00000 n 
+0000236724 00000 n 
+0000239701 00000 n 
+0000236912 00000 n 
+0000237908 00000 n 
+0000233529 00000 n 
+0000231781 00000 n 
+0000237085 00000 n 
+0000237144 00000 n 
+0000237203 00000 n 
+0000237262 00000 n 
+0000237321 00000 n 
+0000237380 00000 n 
+0000237439 00000 n 
+0000237498 00000 n 
+0000237557 00000 n 
+0000237616 00000 n 
+0000237675 00000 n 
+0000237734 00000 n 
+0000786794 00000 n 
+0000787379 00000 n 
+0000788540 00000 n 
+0000787962 00000 n 
+0000239930 00000 n 
+0000240157 00000 n 
+0000240385 00000 n 
+0000240581 00000 n 
+0000240769 00000 n 
+0000240990 00000 n 
+0000241186 00000 n 
+0000241392 00000 n 
+0000241588 00000 n 
+0000241782 00000 n 
+0000242003 00000 n 
+0000242197 00000 n 
+0000242419 00000 n 
+0000242624 00000 n 
+0000242846 00000 n 
+0000243065 00000 n 
+0000245877 00000 n 
+0000243285 00000 n 
+0000244340 00000 n 
+0000239404 00000 n 
+0000238125 00000 n 
+0000243458 00000 n 
+0000243517 00000 n 
+0000243576 00000 n 
+0000243635 00000 n 
+0000243694 00000 n 
+0000243753 00000 n 
+0000243927 00000 n 
+0000243986 00000 n 
+0000244045 00000 n 
+0000244104 00000 n 
+0000244163 00000 n 
+0000244222 00000 n 
+0000244281 00000 n 
+0000791485 00000 n 
+0000246065 00000 n 
+0000246294 00000 n 
+0000246521 00000 n 
+0000246749 00000 n 
+0000246945 00000 n 
+0000247132 00000 n 
+0000247367 00000 n 
+0000248301 00000 n 
+0000245670 00000 n 
+0000244465 00000 n 
+0000247540 00000 n 
+0000247599 00000 n 
+0000247774 00000 n 
+0000247833 00000 n 
+0000247892 00000 n 
+0000247951 00000 n 
+0000248010 00000 n 
+0000248183 00000 n 
+0000248242 00000 n 
+0000250052 00000 n 
+0000250257 00000 n 
+0000250478 00000 n 
+0000250672 00000 n 
+0000250893 00000 n 
+0000251081 00000 n 
+0000251302 00000 n 
+0000251520 00000 n 
+0000251739 00000 n 
+0000251926 00000 n 
+0000252147 00000 n 
+0000252343 00000 n 
+0000252532 00000 n 
+0000252719 00000 n 
+0000252940 00000 n 
+0000253136 00000 n 
+0000253322 00000 n 
+0000253542 00000 n 
+0000253737 00000 n 
+0000253925 00000 n 
+0000254111 00000 n 
+0000254331 00000 n 
+0000256779 00000 n 
+0000254526 00000 n 
+0000255285 00000 n 
+0000249710 00000 n 
+0000248426 00000 n 
+0000254699 00000 n 
+0000254758 00000 n 
+0000254931 00000 n 
+0000254990 00000 n 
+0000255049 00000 n 
+0000255108 00000 n 
+0000255167 00000 n 
+0000255226 00000 n 
+0000260887 00000 n 
+0000257316 00000 n 
+0000257434 00000 n 
+0000257552 00000 n 
+0000257670 00000 n 
+0000256966 00000 n 
+0000257729 00000 n 
+0000256626 00000 n 
+0000255410 00000 n 
+0000257139 00000 n 
+0000257198 00000 n 
+0000257257 00000 n 
+0000257375 00000 n 
+0000257493 00000 n 
+0000257611 00000 n 
+0000259535 00000 n 
+0000259763 00000 n 
+0000259989 00000 n 
+0000260216 00000 n 
+0000260410 00000 n 
+0000260596 00000 n 
+0000261473 00000 n 
+0000259346 00000 n 
+0000257855 00000 n 
+0000260769 00000 n 
+0000260828 00000 n 
+0000260946 00000 n 
+0000261121 00000 n 
+0000261180 00000 n 
+0000261239 00000 n 
+0000261298 00000 n 
+0000261357 00000 n 
+0000263337 00000 n 
+0000263542 00000 n 
+0000263769 00000 n 
+0000263962 00000 n 
+0000264188 00000 n 
+0000264376 00000 n 
+0000264603 00000 n 
+0000264826 00000 n 
+0000265051 00000 n 
+0000265242 00000 n 
+0000265467 00000 n 
+0000265661 00000 n 
+0000265854 00000 n 
+0000266081 00000 n 
+0000266277 00000 n 
+0000266466 00000 n 
+0000266659 00000 n 
+0000266886 00000 n 
+0000267082 00000 n 
+0000267270 00000 n 
+0000267463 00000 n 
+0000268343 00000 n 
+0000263013 00000 n 
+0000261625 00000 n 
+0000267636 00000 n 
+0000267753 00000 n 
+0000267812 00000 n 
+0000267871 00000 n 
+0000267930 00000 n 
+0000267989 00000 n 
+0000268048 00000 n 
+0000268107 00000 n 
+0000268166 00000 n 
+0000268225 00000 n 
+0000268284 00000 n 
+0000270668 00000 n 
+0000270433 00000 n 
+0000270550 00000 n 
+0000269967 00000 n 
+0000272625 00000 n 
+0000272857 00000 n 
+0000270201 00000 n 
+0000271019 00000 n 
+0000269814 00000 n 
+0000268495 00000 n 
+0000270374 00000 n 
+0000270491 00000 n 
+0000270609 00000 n 
+0000270726 00000 n 
+0000270901 00000 n 
+0000270960 00000 n 
+0000791610 00000 n 
+0000273090 00000 n 
+0000273291 00000 n 
+0000273483 00000 n 
+0000273722 00000 n 
+0000273934 00000 n 
+0000274870 00000 n 
+0000272427 00000 n 
+0000271158 00000 n 
+0000274107 00000 n 
+0000274166 00000 n 
+0000274225 00000 n 
+0000274284 00000 n 
+0000274459 00000 n 
+0000274518 00000 n 
+0000274577 00000 n 
+0000274752 00000 n 
+0000274811 00000 n 
+0000279009 00000 n 
+0000276630 00000 n 
+0000276865 00000 n 
+0000277074 00000 n 
+0000277489 00000 n 
+0000277690 00000 n 
+0000278095 00000 n 
+0000278513 00000 n 
+0000281606 00000 n 
+0000281800 00000 n 
+0000282030 00000 n 
+0000278718 00000 n 
+0000279536 00000 n 
+0000276396 00000 n 
+0000274995 00000 n 
+0000278891 00000 n 
+0000278950 00000 n 
+0000279068 00000 n 
+0000279243 00000 n 
+0000279302 00000 n 
+0000279361 00000 n 
+0000277282 00000 n 
+0000277893 00000 n 
+0000278305 00000 n 
+0000282226 00000 n 
+0000282420 00000 n 
+0000282650 00000 n 
+0000282846 00000 n 
+0000283040 00000 n 
+0000283270 00000 n 
+0000283459 00000 n 
+0000283653 00000 n 
+0000283883 00000 n 
+0000284078 00000 n 
+0000284307 00000 n 
+0000284533 00000 n 
+0000284761 00000 n 
+0000284991 00000 n 
+0000285221 00000 n 
+0000285414 00000 n 
+0000285620 00000 n 
+0000285829 00000 n 
+0000286030 00000 n 
+0000286236 00000 n 
+0000286445 00000 n 
+0000286639 00000 n 
+0000286881 00000 n 
+0000289879 00000 n 
+0000290067 00000 n 
+0000287070 00000 n 
+0000288185 00000 n 
+0000281228 00000 n 
+0000279675 00000 n 
+0000287243 00000 n 
+0000287302 00000 n 
+0000287361 00000 n 
+0000287420 00000 n 
+0000287479 00000 n 
+0000287538 00000 n 
+0000287597 00000 n 
+0000287656 00000 n 
+0000287715 00000 n 
+0000287774 00000 n 
+0000788830 00000 n 
+0000287833 00000 n 
+0000287892 00000 n 
+0000288067 00000 n 
+0000288126 00000 n 
+0000290310 00000 n 
+0000290518 00000 n 
+0000290761 00000 n 
+0000290949 00000 n 
+0000291192 00000 n 
+0000291387 00000 n 
+0000291628 00000 n 
+0000291824 00000 n 
+0000292020 00000 n 
+0000292214 00000 n 
+0000292455 00000 n 
+0000292649 00000 n 
+0000292891 00000 n 
+0000293098 00000 n 
+0000293339 00000 n 
+0000293532 00000 n 
+0000293773 00000 n 
+0000293967 00000 n 
+0000294209 00000 n 
+0000295324 00000 n 
+0000289555 00000 n 
+0000288338 00000 n 
+0000294382 00000 n 
+0000294441 00000 n 
+0000294500 00000 n 
+0000294559 00000 n 
+0000294618 00000 n 
+0000294677 00000 n 
+0000294852 00000 n 
+0000294911 00000 n 
+0000294970 00000 n 
+0000295029 00000 n 
+0000295088 00000 n 
+0000295147 00000 n 
+0000295206 00000 n 
+0000295265 00000 n 
+0000296922 00000 n 
+0000297117 00000 n 
+0000297351 00000 n 
+0000297547 00000 n 
+0000297743 00000 n 
+0000297936 00000 n 
+0000298169 00000 n 
+0000298363 00000 n 
+0000298598 00000 n 
+0000298798 00000 n 
+0000299033 00000 n 
+0000299227 00000 n 
+0000299462 00000 n 
+0000299655 00000 n 
+0000299889 00000 n 
+0000302820 00000 n 
+0000303056 00000 n 
+0000303245 00000 n 
+0000300082 00000 n 
+0000301133 00000 n 
+0000296643 00000 n 
+0000295449 00000 n 
+0000300255 00000 n 
+0000300314 00000 n 
+0000300488 00000 n 
+0000300547 00000 n 
+0000300606 00000 n 
+0000300665 00000 n 
+0000300724 00000 n 
+0000300783 00000 n 
+0000300842 00000 n 
+0000300901 00000 n 
+0000300960 00000 n 
+0000303431 00000 n 
+0000303667 00000 n 
+0000303856 00000 n 
+0000304052 00000 n 
+0000304288 00000 n 
+0000304484 00000 n 
+0000304672 00000 n 
+0000304860 00000 n 
+0000305097 00000 n 
+0000305290 00000 n 
+0000305526 00000 n 
+0000305727 00000 n 
+0000305963 00000 n 
+0000306151 00000 n 
+0000306388 00000 n 
+0000306582 00000 n 
+0000306819 00000 n 
+0000307014 00000 n 
+0000307257 00000 n 
+0000310138 00000 n 
+0000310332 00000 n 
+0000307453 00000 n 
+0000308567 00000 n 
+0000302478 00000 n 
+0000301258 00000 n 
+0000307626 00000 n 
+0000307685 00000 n 
+0000307744 00000 n 
+0000307803 00000 n 
+0000307862 00000 n 
+0000307921 00000 n 
+0000307980 00000 n 
+0000308039 00000 n 
+0000308098 00000 n 
+0000308157 00000 n 
+0000308216 00000 n 
+0000308275 00000 n 
+0000308449 00000 n 
+0000308508 00000 n 
+0000791735 00000 n 
+0000310574 00000 n 
+0000310783 00000 n 
+0000311027 00000 n 
+0000311221 00000 n 
+0000311465 00000 n 
+0000311659 00000 n 
+0000311898 00000 n 
+0000312083 00000 n 
+0000312268 00000 n 
+0000312508 00000 n 
+0000312713 00000 n 
+0000315922 00000 n 
+0000312953 00000 n 
+0000314006 00000 n 
+0000309877 00000 n 
+0000308692 00000 n 
+0000313126 00000 n 
+0000313185 00000 n 
+0000313244 00000 n 
+0000313303 00000 n 
+0000313362 00000 n 
+0000313421 00000 n 
+0000313595 00000 n 
+0000313654 00000 n 
+0000313713 00000 n 
+0000313772 00000 n 
+0000313831 00000 n 
+0000316156 00000 n 
+0000316380 00000 n 
+0000316570 00000 n 
+0000316794 00000 n 
+0000316986 00000 n 
+0000317209 00000 n 
+0000317405 00000 n 
+0000317629 00000 n 
+0000317825 00000 n 
+0000318049 00000 n 
+0000318254 00000 n 
+0000318477 00000 n 
+0000318701 00000 n 
+0000318924 00000 n 
+0000322838 00000 n 
+0000319148 00000 n 
+0000320261 00000 n 
+0000315643 00000 n 
+0000314131 00000 n 
+0000319321 00000 n 
+0000319380 00000 n 
+0000319439 00000 n 
+0000319498 00000 n 
+0000319673 00000 n 
+0000319731 00000 n 
+0000319790 00000 n 
+0000319849 00000 n 
+0000319908 00000 n 
+0000319967 00000 n 
+0000320026 00000 n 
+0000320084 00000 n 
+0000320143 00000 n 
+0000320202 00000 n 
+0000323062 00000 n 
+0000323284 00000 n 
+0000323505 00000 n 
+0000323727 00000 n 
+0000323918 00000 n 
+0000324141 00000 n 
+0000324329 00000 n 
+0000324552 00000 n 
+0000324747 00000 n 
+0000324970 00000 n 
+0000325166 00000 n 
+0000325389 00000 n 
+0000325595 00000 n 
+0000325819 00000 n 
+0000326025 00000 n 
+0000326249 00000 n 
+0000326473 00000 n 
+0000326660 00000 n 
+0000326849 00000 n 
+0000327227 00000 n 
+0000327414 00000 n 
+0000327638 00000 n 
+0000327825 00000 n 
+0000328049 00000 n 
+0000328271 00000 n 
+0000328459 00000 n 
+0000328647 00000 n 
+0000328852 00000 n 
+0000329075 00000 n 
+0000329280 00000 n 
+0000329503 00000 n 
+0000332774 00000 n 
+0000329709 00000 n 
+0000330177 00000 n 
+0000322397 00000 n 
+0000320386 00000 n 
+0000329882 00000 n 
+0000329941 00000 n 
+0000330000 00000 n 
+0000327038 00000 n 
+0000787232 00000 n 
+0000330059 00000 n 
+0000330118 00000 n 
+0000338886 00000 n 
+0000339004 00000 n 
+0000341608 00000 n 
+0000341730 00000 n 
+0000341848 00000 n 
+0000341966 00000 n 
+0000342084 00000 n 
+0000344248 00000 n 
+0000344366 00000 n 
+0000344484 00000 n 
+0000344597 00000 n 
+0000347091 00000 n 
+0000332997 00000 n 
+0000333220 00000 n 
+0000333416 00000 n 
+0000333610 00000 n 
+0000333816 00000 n 
+0000334039 00000 n 
+0000334229 00000 n 
+0000334452 00000 n 
+0000334675 00000 n 
+0000334870 00000 n 
+0000335060 00000 n 
+0000335250 00000 n 
+0000335951 00000 n 
+0000332522 00000 n 
+0000330330 00000 n 
+0000335423 00000 n 
+0000335482 00000 n 
+0000335541 00000 n 
+0000335600 00000 n 
+0000335659 00000 n 
+0000335718 00000 n 
+0000335776 00000 n 
+0000335835 00000 n 
+0000335893 00000 n 
+0000338710 00000 n 
+0000338031 00000 n 
+0000338254 00000 n 
+0000341152 00000 n 
+0000338478 00000 n 
+0000339127 00000 n 
+0000337869 00000 n 
+0000336103 00000 n 
+0000338651 00000 n 
+0000338768 00000 n 
+0000338827 00000 n 
+0000338945 00000 n 
+0000339068 00000 n 
+0000341376 00000 n 
+0000342142 00000 n 
+0000340999 00000 n 
+0000339265 00000 n 
+0000341549 00000 n 
+0000341671 00000 n 
+0000341789 00000 n 
+0000341907 00000 n 
+0000342025 00000 n 
+0000791860 00000 n 
+0000343957 00000 n 
+0000344656 00000 n 
+0000343813 00000 n 
+0000342267 00000 n 
+0000344130 00000 n 
+0000344189 00000 n 
+0000344307 00000 n 
+0000344425 00000 n 
+0000344539 00000 n 
+0000346563 00000 n 
+0000349201 00000 n 
+0000346800 00000 n 
+0000347611 00000 n 
+0000346410 00000 n 
+0000344795 00000 n 
+0000346973 00000 n 
+0000347032 00000 n 
+0000347149 00000 n 
+0000347318 00000 n 
+0000347377 00000 n 
+0000347436 00000 n 
+0000349435 00000 n 
+0000349669 00000 n 
+0000349906 00000 n 
+0000350143 00000 n 
+0000350380 00000 n 
+0000350617 00000 n 
+0000350853 00000 n 
+0000351089 00000 n 
+0000351326 00000 n 
+0000354278 00000 n 
+0000351563 00000 n 
+0000352500 00000 n 
+0000348967 00000 n 
+0000347777 00000 n 
+0000351736 00000 n 
+0000351795 00000 n 
+0000351854 00000 n 
+0000351913 00000 n 
+0000351972 00000 n 
+0000352147 00000 n 
+0000352206 00000 n 
+0000352265 00000 n 
+0000352324 00000 n 
+0000352383 00000 n 
+0000352442 00000 n 
+0000356698 00000 n 
+0000356814 00000 n 
+0000360669 00000 n 
+0000354515 00000 n 
+0000354751 00000 n 
+0000354988 00000 n 
+0000355224 00000 n 
+0000355461 00000 n 
+0000355697 00000 n 
+0000355934 00000 n 
+0000359290 00000 n 
+0000359492 00000 n 
+0000356171 00000 n 
+0000356935 00000 n 
+0000354062 00000 n 
+0000352612 00000 n 
+0000356344 00000 n 
+0000356403 00000 n 
+0000356462 00000 n 
+0000356521 00000 n 
+0000356580 00000 n 
+0000356639 00000 n 
+0000356756 00000 n 
+0000356877 00000 n 
+0000360792 00000 n 
+0000360910 00000 n 
+0000361033 00000 n 
+0000361156 00000 n 
+0000365689 00000 n 
+0000359728 00000 n 
+0000360200 00000 n 
+0000363902 00000 n 
+0000364098 00000 n 
+0000360437 00000 n 
+0000361279 00000 n 
+0000359101 00000 n 
+0000357061 00000 n 
+0000360610 00000 n 
+0000360733 00000 n 
+0000360851 00000 n 
+0000359965 00000 n 
+0000360974 00000 n 
+0000361097 00000 n 
+0000361220 00000 n 
+0000364335 00000 n 
+0000364530 00000 n 
+0000365001 00000 n 
+0000365229 00000 n 
+0000368131 00000 n 
+0000365457 00000 n 
+0000366101 00000 n 
+0000363695 00000 n 
+0000361418 00000 n 
+0000365630 00000 n 
+0000365751 00000 n 
+0000364767 00000 n 
+0000365926 00000 n 
+0000365984 00000 n 
+0000366042 00000 n 
+0000791985 00000 n 
+0000368360 00000 n 
+0000368589 00000 n 
+0000368818 00000 n 
+0000369046 00000 n 
+0000369274 00000 n 
+0000372331 00000 n 
+0000372524 00000 n 
+0000369463 00000 n 
+0000370406 00000 n 
+0000367933 00000 n 
+0000366253 00000 n 
+0000369636 00000 n 
+0000369695 00000 n 
+0000369754 00000 n 
+0000369813 00000 n 
+0000369872 00000 n 
+0000369931 00000 n 
+0000369990 00000 n 
+0000370049 00000 n 
+0000370108 00000 n 
+0000370167 00000 n 
+0000370231 00000 n 
+0000372755 00000 n 
+0000372978 00000 n 
+0000373201 00000 n 
+0000373397 00000 n 
+0000373589 00000 n 
+0000373812 00000 n 
+0000374002 00000 n 
+0000374225 00000 n 
+0000374449 00000 n 
+0000374639 00000 n 
+0000374863 00000 n 
+0000375087 00000 n 
+0000375278 00000 n 
+0000375500 00000 n 
+0000378932 00000 n 
+0000375724 00000 n 
+0000376720 00000 n 
+0000372043 00000 n 
+0000370544 00000 n 
+0000375897 00000 n 
+0000375956 00000 n 
+0000376015 00000 n 
+0000376074 00000 n 
+0000376249 00000 n 
+0000376308 00000 n 
+0000376367 00000 n 
+0000376426 00000 n 
+0000376485 00000 n 
+0000376543 00000 n 
+0000376602 00000 n 
+0000376661 00000 n 
+0000393676 00000 n 
+0000393794 00000 n 
+0000379156 00000 n 
+0000379344 00000 n 
+0000379567 00000 n 
+0000379763 00000 n 
+0000379987 00000 n 
+0000380210 00000 n 
+0000380433 00000 n 
+0000380657 00000 n 
+0000380881 00000 n 
+0000381105 00000 n 
+0000381327 00000 n 
+0000381549 00000 n 
+0000381772 00000 n 
+0000381964 00000 n 
+0000382187 00000 n 
+0000382410 00000 n 
+0000382598 00000 n 
+0000382821 00000 n 
+0000383016 00000 n 
+0000386644 00000 n 
+0000386850 00000 n 
+0000387073 00000 n 
+0000387266 00000 n 
+0000383240 00000 n 
+0000384062 00000 n 
+0000378608 00000 n 
+0000376845 00000 n 
+0000383413 00000 n 
+0000383472 00000 n 
+0000383531 00000 n 
+0000383590 00000 n 
+0000383649 00000 n 
+0000383708 00000 n 
+0000383767 00000 n 
+0000383826 00000 n 
+0000383885 00000 n 
+0000383944 00000 n 
+0000384003 00000 n 
+0000396261 00000 n 
+0000396379 00000 n 
+0000396502 00000 n 
+0000396625 00000 n 
+0000396743 00000 n 
+0000387490 00000 n 
+0000387683 00000 n 
+0000387907 00000 n 
+0000388112 00000 n 
+0000388333 00000 n 
+0000388744 00000 n 
+0000388967 00000 n 
+0000389173 00000 n 
+0000389397 00000 n 
+0000390041 00000 n 
+0000386383 00000 n 
+0000384201 00000 n 
+0000389570 00000 n 
+0000389629 00000 n 
+0000389688 00000 n 
+0000389747 00000 n 
+0000388538 00000 n 
+0000389806 00000 n 
+0000389864 00000 n 
+0000389923 00000 n 
+0000389982 00000 n 
+0000399706 00000 n 
+0000392972 00000 n 
+0000393161 00000 n 
+0000393385 00000 n 
+0000393912 00000 n 
+0000392810 00000 n 
+0000390166 00000 n 
+0000393558 00000 n 
+0000393617 00000 n 
+0000393735 00000 n 
+0000393853 00000 n 
+0000395970 00000 n 
+0000396802 00000 n 
+0000395826 00000 n 
+0000394076 00000 n 
+0000396143 00000 n 
+0000396202 00000 n 
+0000396320 00000 n 
+0000396443 00000 n 
+0000396566 00000 n 
+0000396684 00000 n 
+0000792110 00000 n 
+0000398610 00000 n 
+0000398802 00000 n 
+0000398998 00000 n 
+0000399229 00000 n 
+0000399415 00000 n 
+0000400234 00000 n 
+0000398430 00000 n 
+0000396939 00000 n 
+0000399588 00000 n 
+0000399647 00000 n 
+0000399765 00000 n 
+0000399939 00000 n 
+0000399998 00000 n 
+0000400057 00000 n 
+0000400116 00000 n 
+0000400175 00000 n 
+0000402311 00000 n 
+0000402508 00000 n 
+0000402900 00000 n 
+0000403097 00000 n 
+0000403324 00000 n 
+0000403521 00000 n 
+0000403748 00000 n 
+0000403975 00000 n 
+0000404202 00000 n 
+0000404394 00000 n 
+0000404603 00000 n 
+0000404830 00000 n 
+0000405020 00000 n 
+0000405216 00000 n 
+0000405443 00000 n 
+0000405636 00000 n 
+0000405861 00000 n 
+0000406053 00000 n 
+0000406249 00000 n 
+0000407069 00000 n 
+0000401996 00000 n 
+0000400385 00000 n 
+0000406422 00000 n 
+0000402705 00000 n 
+0000406597 00000 n 
+0000406656 00000 n 
+0000406715 00000 n 
+0000406774 00000 n 
+0000406833 00000 n 
+0000406892 00000 n 
+0000406951 00000 n 
+0000407010 00000 n 
+0000414151 00000 n 
+0000409346 00000 n 
+0000409538 00000 n 
+0000409729 00000 n 
+0000409973 00000 n 
+0000410218 00000 n 
+0000410463 00000 n 
+0000410674 00000 n 
+0000410919 00000 n 
+0000411130 00000 n 
+0000411351 00000 n 
+0000411596 00000 n 
+0000411816 00000 n 
+0000412060 00000 n 
+0000412304 00000 n 
+0000412495 00000 n 
+0000412739 00000 n 
+0000412960 00000 n 
+0000413203 00000 n 
+0000413422 00000 n 
+0000417229 00000 n 
+0000413860 00000 n 
+0000414916 00000 n 
+0000409022 00000 n 
+0000407207 00000 n 
+0000414033 00000 n 
+0000414092 00000 n 
+0000414210 00000 n 
+0000414385 00000 n 
+0000414444 00000 n 
+0000414503 00000 n 
+0000414562 00000 n 
+0000414621 00000 n 
+0000414680 00000 n 
+0000414739 00000 n 
+0000414798 00000 n 
+0000414857 00000 n 
+0000413641 00000 n 
+0000419741 00000 n 
+0000417473 00000 n 
+0000417664 00000 n 
+0000417874 00000 n 
+0000418127 00000 n 
+0000418347 00000 n 
+0000418601 00000 n 
+0000418822 00000 n 
+0000419077 00000 n 
+0000422300 00000 n 
+0000422491 00000 n 
+0000419332 00000 n 
+0000420267 00000 n 
+0000417004 00000 n 
+0000415041 00000 n 
+0000419505 00000 n 
+0000419564 00000 n 
+0000419623 00000 n 
+0000419682 00000 n 
+0000419800 00000 n 
+0000419974 00000 n 
+0000420032 00000 n 
+0000420090 00000 n 
+0000420149 00000 n 
+0000420208 00000 n 
+0000422746 00000 n 
+0000423000 00000 n 
+0000423255 00000 n 
+0000423466 00000 n 
+0000423657 00000 n 
+0000423887 00000 n 
+0000424118 00000 n 
+0000426948 00000 n 
+0000427145 00000 n 
+0000424314 00000 n 
+0000425250 00000 n 
+0000422075 00000 n 
+0000420392 00000 n 
+0000424487 00000 n 
+0000424546 00000 n 
+0000424605 00000 n 
+0000424663 00000 n 
+0000424721 00000 n 
+0000424780 00000 n 
+0000424839 00000 n 
+0000424898 00000 n 
+0000425073 00000 n 
+0000425132 00000 n 
+0000425191 00000 n 
+0000427376 00000 n 
+0000427573 00000 n 
+0000427804 00000 n 
+0000428001 00000 n 
+0000428232 00000 n 
+0000428429 00000 n 
+0000428660 00000 n 
+0000428856 00000 n 
+0000429086 00000 n 
+0000429316 00000 n 
+0000429547 00000 n 
+0000429743 00000 n 
+0000429940 00000 n 
+0000430171 00000 n 
+0000430368 00000 n 
+0000430599 00000 n 
+0000431711 00000 n 
+0000426651 00000 n 
+0000425389 00000 n 
+0000430772 00000 n 
+0000430831 00000 n 
+0000430890 00000 n 
+0000430949 00000 n 
+0000431008 00000 n 
+0000431067 00000 n 
+0000431126 00000 n 
+0000431185 00000 n 
+0000431359 00000 n 
+0000431418 00000 n 
+0000431477 00000 n 
+0000431536 00000 n 
+0000431594 00000 n 
+0000431652 00000 n 
+0000792235 00000 n 
+0000433667 00000 n 
+0000433858 00000 n 
+0000434080 00000 n 
+0000434302 00000 n 
+0000434498 00000 n 
+0000434720 00000 n 
+0000434916 00000 n 
+0000435138 00000 n 
+0000435333 00000 n 
+0000435554 00000 n 
+0000435750 00000 n 
+0000435972 00000 n 
+0000436194 00000 n 
+0000436416 00000 n 
+0000436638 00000 n 
+0000436860 00000 n 
+0000440639 00000 n 
+0000437080 00000 n 
+0000438194 00000 n 
+0000433379 00000 n 
+0000431850 00000 n 
+0000437253 00000 n 
+0000437312 00000 n 
+0000437487 00000 n 
+0000437546 00000 n 
+0000437605 00000 n 
+0000437664 00000 n 
+0000437723 00000 n 
+0000437782 00000 n 
+0000437840 00000 n 
+0000437899 00000 n 
+0000437958 00000 n 
+0000438017 00000 n 
+0000438076 00000 n 
+0000438135 00000 n 
+0000440861 00000 n 
+0000441081 00000 n 
+0000441265 00000 n 
+0000441487 00000 n 
+0000441683 00000 n 
+0000441905 00000 n 
+0000442101 00000 n 
+0000442322 00000 n 
+0000442518 00000 n 
+0000442707 00000 n 
+0000442896 00000 n 
+0000443118 00000 n 
+0000443314 00000 n 
+0000443503 00000 n 
+0000443692 00000 n 
+0000443913 00000 n 
+0000444109 00000 n 
+0000444298 00000 n 
+0000444487 00000 n 
+0000444673 00000 n 
+0000444895 00000 n 
+0000445091 00000 n 
+0000445280 00000 n 
+0000445469 00000 n 
+0000445656 00000 n 
+0000445853 00000 n 
+0000446074 00000 n 
+0000446262 00000 n 
+0000446458 00000 n 
+0000446679 00000 n 
+0000446865 00000 n 
+0000447062 00000 n 
+0000447283 00000 n 
+0000447469 00000 n 
+0000447691 00000 n 
+0000447879 00000 n 
+0000448101 00000 n 
+0000448289 00000 n 
+0000448511 00000 n 
+0000448699 00000 n 
+0000448920 00000 n 
+0000451762 00000 n 
+0000451984 00000 n 
+0000449105 00000 n 
+0000449455 00000 n 
+0000440117 00000 n 
+0000438333 00000 n 
+0000449278 00000 n 
+0000449337 00000 n 
+0000449396 00000 n 
+0000488048 00000 n 
+0000488166 00000 n 
+0000491131 00000 n 
+0000491249 00000 n 
+0000491367 00000 n 
+0000494344 00000 n 
+0000494466 00000 n 
+0000497460 00000 n 
+0000497583 00000 n 
+0000497701 00000 n 
+0000497819 00000 n 
+0000500490 00000 n 
+0000500607 00000 n 
+0000452206 00000 n 
+0000452428 00000 n 
+0000452650 00000 n 
+0000452872 00000 n 
+0000453094 00000 n 
+0000453316 00000 n 
+0000453534 00000 n 
+0000453719 00000 n 
+0000453940 00000 n 
+0000454128 00000 n 
+0000454349 00000 n 
+0000454544 00000 n 
+0000454765 00000 n 
+0000454961 00000 n 
+0000455182 00000 n 
+0000455370 00000 n 
+0000455591 00000 n 
+0000455779 00000 n 
+0000456000 00000 n 
+0000456196 00000 n 
+0000456416 00000 n 
+0000456611 00000 n 
+0000456832 00000 n 
+0000457020 00000 n 
+0000457241 00000 n 
+0000461338 00000 n 
+0000461559 00000 n 
+0000461747 00000 n 
+0000461968 00000 n 
+0000457429 00000 n 
+0000457956 00000 n 
+0000451375 00000 n 
+0000449593 00000 n 
+0000457602 00000 n 
+0000457661 00000 n 
+0000457720 00000 n 
+0000457779 00000 n 
+0000457838 00000 n 
+0000457897 00000 n 
+0000500725 00000 n 
+0000500842 00000 n 
+0000500964 00000 n 
+0000503991 00000 n 
+0000504109 00000 n 
+0000504227 00000 n 
+0000504345 00000 n 
+0000506998 00000 n 
+0000507116 00000 n 
+0000507234 00000 n 
+0000507352 00000 n 
+0000509941 00000 n 
+0000462156 00000 n 
+0000462377 00000 n 
+0000462599 00000 n 
+0000462785 00000 n 
+0000463005 00000 n 
+0000463190 00000 n 
+0000463385 00000 n 
+0000463572 00000 n 
+0000463792 00000 n 
+0000463978 00000 n 
+0000464174 00000 n 
+0000464363 00000 n 
+0000464585 00000 n 
+0000464771 00000 n 
+0000464967 00000 n 
+0000465163 00000 n 
+0000465351 00000 n 
+0000465573 00000 n 
+0000465759 00000 n 
+0000465955 00000 n 
+0000466347 00000 n 
+0000466535 00000 n 
+0000466757 00000 n 
+0000466943 00000 n 
+0000467149 00000 n 
+0000467345 00000 n 
+0000467534 00000 n 
+0000467756 00000 n 
+0000467941 00000 n 
+0000468147 00000 n 
+0000468538 00000 n 
+0000468726 00000 n 
+0000468948 00000 n 
+0000469144 00000 n 
+0000469350 00000 n 
+0000469742 00000 n 
+0000469962 00000 n 
+0000470158 00000 n 
+0000470364 00000 n 
+0000470560 00000 n 
+0000470781 00000 n 
+0000470967 00000 n 
+0000471186 00000 n 
+0000471376 00000 n 
+0000471667 00000 n 
+0000460744 00000 n 
+0000458081 00000 n 
+0000471549 00000 n 
+0000471608 00000 n 
+0000787817 00000 n 
+0000466151 00000 n 
+0000787526 00000 n 
+0000468343 00000 n 
+0000469546 00000 n 
+0000510059 00000 n 
+0000510177 00000 n 
+0000510295 00000 n 
+0000513324 00000 n 
+0000513442 00000 n 
+0000513558 00000 n 
+0000516555 00000 n 
+0000516672 00000 n 
+0000520900 00000 n 
+0000521018 00000 n 
+0000521136 00000 n 
+0000524614 00000 n 
+0000524731 00000 n 
+0000474375 00000 n 
+0000474595 00000 n 
+0000474782 00000 n 
+0000475003 00000 n 
+0000475191 00000 n 
+0000475411 00000 n 
+0000475632 00000 n 
+0000475853 00000 n 
+0000476041 00000 n 
+0000476259 00000 n 
+0000476449 00000 n 
+0000476670 00000 n 
+0000476891 00000 n 
+0000477077 00000 n 
+0000477298 00000 n 
+0000477490 00000 n 
+0000477676 00000 n 
+0000477897 00000 n 
+0000478092 00000 n 
+0000478287 00000 n 
+0000478509 00000 n 
+0000478703 00000 n 
+0000478924 00000 n 
+0000479145 00000 n 
+0000479332 00000 n 
+0000479553 00000 n 
+0000479747 00000 n 
+0000479966 00000 n 
+0000483407 00000 n 
+0000483628 00000 n 
+0000480152 00000 n 
+0000480561 00000 n 
+0000473979 00000 n 
+0000471861 00000 n 
+0000480325 00000 n 
+0000480384 00000 n 
+0000480443 00000 n 
+0000480502 00000 n 
+0000524849 00000 n 
+0000527817 00000 n 
+0000527935 00000 n 
+0000528053 00000 n 
+0000531817 00000 n 
+0000531935 00000 n 
+0000532051 00000 n 
+0000532169 00000 n 
+0000535818 00000 n 
+0000535936 00000 n 
+0000536054 00000 n 
+0000536172 00000 n 
+0000483814 00000 n 
+0000484034 00000 n 
+0000484221 00000 n 
+0000484442 00000 n 
+0000484630 00000 n 
+0000484852 00000 n 
+0000485040 00000 n 
+0000485236 00000 n 
+0000485458 00000 n 
+0000485646 00000 n 
+0000485842 00000 n 
+0000486064 00000 n 
+0000486252 00000 n 
+0000486448 00000 n 
+0000486670 00000 n 
+0000486858 00000 n 
+0000487054 00000 n 
+0000487242 00000 n 
+0000487433 00000 n 
+0000487639 00000 n 
+0000488225 00000 n 
+0000483074 00000 n 
+0000480699 00000 n 
+0000487812 00000 n 
+0000487871 00000 n 
+0000789266 00000 n 
+0000487930 00000 n 
+0000487989 00000 n 
+0000488107 00000 n 
+0000792360 00000 n 
+0000539073 00000 n 
+0000539191 00000 n 
+0000539309 00000 n 
+0000542230 00000 n 
+0000542348 00000 n 
+0000545520 00000 n 
+0000490222 00000 n 
+0000490428 00000 n 
+0000490634 00000 n 
+0000490840 00000 n 
+0000491490 00000 n 
+0000490051 00000 n 
+0000488418 00000 n 
+0000491013 00000 n 
+0000491072 00000 n 
+0000491190 00000 n 
+0000491308 00000 n 
+0000491431 00000 n 
+0000493702 00000 n 
+0000493908 00000 n 
+0000494112 00000 n 
+0000494589 00000 n 
+0000493540 00000 n 
+0000491615 00000 n 
+0000494285 00000 n 
+0000494408 00000 n 
+0000494530 00000 n 
+0000496404 00000 n 
+0000496610 00000 n 
+0000496816 00000 n 
+0000497022 00000 n 
+0000499642 00000 n 
+0000497228 00000 n 
+0000497937 00000 n 
+0000496224 00000 n 
+0000494714 00000 n 
+0000497401 00000 n 
+0000497524 00000 n 
+0000497642 00000 n 
+0000497760 00000 n 
+0000497878 00000 n 
+0000499847 00000 n 
+0000500053 00000 n 
+0000502936 00000 n 
+0000500258 00000 n 
+0000501086 00000 n 
+0000499471 00000 n 
+0000498049 00000 n 
+0000500431 00000 n 
+0000500549 00000 n 
+0000500666 00000 n 
+0000500784 00000 n 
+0000500905 00000 n 
+0000501028 00000 n 
+0000503141 00000 n 
+0000503347 00000 n 
+0000503553 00000 n 
+0000503759 00000 n 
+0000504403 00000 n 
+0000502756 00000 n 
+0000501198 00000 n 
+0000503932 00000 n 
+0000504050 00000 n 
+0000504168 00000 n 
+0000504286 00000 n 
+0000505884 00000 n 
+0000506090 00000 n 
+0000506296 00000 n 
+0000506502 00000 n 
+0000506707 00000 n 
+0000507410 00000 n 
+0000505704 00000 n 
+0000504515 00000 n 
+0000506880 00000 n 
+0000506939 00000 n 
+0000507057 00000 n 
+0000507175 00000 n 
+0000507293 00000 n 
+0000792485 00000 n 
+0000508826 00000 n 
+0000509032 00000 n 
+0000509238 00000 n 
+0000509444 00000 n 
+0000509650 00000 n 
+0000510354 00000 n 
+0000508646 00000 n 
+0000507522 00000 n 
+0000509823 00000 n 
+0000509882 00000 n 
+0000510000 00000 n 
+0000510118 00000 n 
+0000510236 00000 n 
+0000512415 00000 n 
+0000512621 00000 n 
+0000512827 00000 n 
+0000513033 00000 n 
+0000513617 00000 n 
+0000512244 00000 n 
+0000510479 00000 n 
+0000513206 00000 n 
+0000513265 00000 n 
+0000513383 00000 n 
+0000513500 00000 n 
+0000515853 00000 n 
+0000516058 00000 n 
+0000516264 00000 n 
+0000516790 00000 n 
+0000515691 00000 n 
+0000513742 00000 n 
+0000516437 00000 n 
+0000516496 00000 n 
+0000516614 00000 n 
+0000516731 00000 n 
+0000519100 00000 n 
+0000519306 00000 n 
+0000519686 00000 n 
+0000519891 00000 n 
+0000520272 00000 n 
+0000520478 00000 n 
+0000520668 00000 n 
+0000521194 00000 n 
+0000518884 00000 n 
+0000516980 00000 n 
+0000520841 00000 n 
+0000519496 00000 n 
+0000520959 00000 n 
+0000520081 00000 n 
+0000521077 00000 n 
+0000523330 00000 n 
+0000523536 00000 n 
+0000523727 00000 n 
+0000523932 00000 n 
+0000524138 00000 n 
+0000524323 00000 n 
+0000524907 00000 n 
+0000523141 00000 n 
+0000521371 00000 n 
+0000524496 00000 n 
+0000524555 00000 n 
+0000524673 00000 n 
+0000524790 00000 n 
+0000526912 00000 n 
+0000527118 00000 n 
+0000527324 00000 n 
+0000530192 00000 n 
+0000527526 00000 n 
+0000528171 00000 n 
+0000526741 00000 n 
+0000525071 00000 n 
+0000527699 00000 n 
+0000527758 00000 n 
+0000527876 00000 n 
+0000527994 00000 n 
+0000528112 00000 n 
+0000792610 00000 n 
+0000530393 00000 n 
+0000530599 00000 n 
+0000530801 00000 n 
+0000530987 00000 n 
+0000531193 00000 n 
+0000531379 00000 n 
+0000531585 00000 n 
+0000532285 00000 n 
+0000529985 00000 n 
+0000528309 00000 n 
+0000531758 00000 n 
+0000531876 00000 n 
+0000531993 00000 n 
+0000532110 00000 n 
+0000532227 00000 n 
+0000534397 00000 n 
+0000534603 00000 n 
+0000534805 00000 n 
+0000534991 00000 n 
+0000535196 00000 n 
+0000535380 00000 n 
+0000535586 00000 n 
+0000536231 00000 n 
+0000534199 00000 n 
+0000532410 00000 n 
+0000535759 00000 n 
+0000535877 00000 n 
+0000535995 00000 n 
+0000536113 00000 n 
+0000538164 00000 n 
+0000538370 00000 n 
+0000538576 00000 n 
+0000538782 00000 n 
+0000539367 00000 n 
+0000537993 00000 n 
+0000536356 00000 n 
+0000538955 00000 n 
+0000539014 00000 n 
+0000539132 00000 n 
+0000539250 00000 n 
+0000541527 00000 n 
+0000541733 00000 n 
+0000541939 00000 n 
+0000542466 00000 n 
+0000541365 00000 n 
+0000539505 00000 n 
+0000542112 00000 n 
+0000542171 00000 n 
+0000542289 00000 n 
+0000542407 00000 n 
+0000789120 00000 n 
+0000544648 00000 n 
+0000544853 00000 n 
+0000545059 00000 n 
+0000545288 00000 n 
+0000545987 00000 n 
+0000544477 00000 n 
+0000542631 00000 n 
+0000545461 00000 n 
+0000545579 00000 n 
+0000545753 00000 n 
+0000545812 00000 n 
+0000545871 00000 n 
+0000548029 00000 n 
+0000548248 00000 n 
+0000548468 00000 n 
+0000548688 00000 n 
+0000548873 00000 n 
+0000549059 00000 n 
+0000549284 00000 n 
+0000550220 00000 n 
+0000547831 00000 n 
+0000546152 00000 n 
+0000549457 00000 n 
+0000549574 00000 n 
+0000549633 00000 n 
+0000549692 00000 n 
+0000549751 00000 n 
+0000549810 00000 n 
+0000549868 00000 n 
+0000549927 00000 n 
+0000550102 00000 n 
+0000550161 00000 n 
+0000792735 00000 n 
+0000551163 00000 n 
+0000551454 00000 n 
+0000551019 00000 n 
+0000550372 00000 n 
+0000551336 00000 n 
+0000551395 00000 n 
+0000553152 00000 n 
+0000553303 00000 n 
+0000553454 00000 n 
+0000553605 00000 n 
+0000553756 00000 n 
+0000553907 00000 n 
+0000554058 00000 n 
+0000554209 00000 n 
+0000554359 00000 n 
+0000554509 00000 n 
+0000554659 00000 n 
+0000554810 00000 n 
+0000554960 00000 n 
+0000555111 00000 n 
+0000555262 00000 n 
+0000555413 00000 n 
+0000555564 00000 n 
+0000555715 00000 n 
+0000555866 00000 n 
+0000556017 00000 n 
+0000556168 00000 n 
+0000556319 00000 n 
+0000556470 00000 n 
+0000556621 00000 n 
+0000556772 00000 n 
+0000556923 00000 n 
+0000557073 00000 n 
+0000557224 00000 n 
+0000557375 00000 n 
+0000557526 00000 n 
+0000557677 00000 n 
+0000557827 00000 n 
+0000557978 00000 n 
+0000558129 00000 n 
+0000558280 00000 n 
+0000558431 00000 n 
+0000558582 00000 n 
+0000558733 00000 n 
+0000558883 00000 n 
+0000559034 00000 n 
+0000559184 00000 n 
+0000559334 00000 n 
+0000559485 00000 n 
+0000559636 00000 n 
+0000559786 00000 n 
+0000559935 00000 n 
+0000560085 00000 n 
+0000560236 00000 n 
+0000560387 00000 n 
+0000560538 00000 n 
+0000560689 00000 n 
+0000560840 00000 n 
+0000563162 00000 n 
+0000561109 00000 n 
+0000552549 00000 n 
+0000551553 00000 n 
+0000560991 00000 n 
+0000561050 00000 n 
+0000563312 00000 n 
+0000563463 00000 n 
+0000563614 00000 n 
+0000563764 00000 n 
+0000563915 00000 n 
+0000564066 00000 n 
+0000564217 00000 n 
+0000564368 00000 n 
+0000564518 00000 n 
+0000564669 00000 n 
+0000564820 00000 n 
+0000564970 00000 n 
+0000565119 00000 n 
+0000565268 00000 n 
+0000565419 00000 n 
+0000565568 00000 n 
+0000565719 00000 n 
+0000565870 00000 n 
+0000566021 00000 n 
+0000566172 00000 n 
+0000566323 00000 n 
+0000566474 00000 n 
+0000566625 00000 n 
+0000566776 00000 n 
+0000566925 00000 n 
+0000567076 00000 n 
+0000567227 00000 n 
+0000567377 00000 n 
+0000567527 00000 n 
+0000567678 00000 n 
+0000567829 00000 n 
+0000567980 00000 n 
+0000568130 00000 n 
+0000568281 00000 n 
+0000568432 00000 n 
+0000568582 00000 n 
+0000568733 00000 n 
+0000568884 00000 n 
+0000569035 00000 n 
+0000569186 00000 n 
+0000569337 00000 n 
+0000569488 00000 n 
+0000569639 00000 n 
+0000569790 00000 n 
+0000569941 00000 n 
+0000570091 00000 n 
+0000570241 00000 n 
+0000570391 00000 n 
+0000570540 00000 n 
+0000570691 00000 n 
+0000570842 00000 n 
+0000570993 00000 n 
+0000574077 00000 n 
+0000571143 00000 n 
+0000571375 00000 n 
+0000562541 00000 n 
+0000561195 00000 n 
+0000571316 00000 n 
+0000574228 00000 n 
+0000574379 00000 n 
+0000574529 00000 n 
+0000574680 00000 n 
+0000574831 00000 n 
+0000574981 00000 n 
+0000575130 00000 n 
+0000575281 00000 n 
+0000575432 00000 n 
+0000575582 00000 n 
+0000575733 00000 n 
+0000575884 00000 n 
+0000576034 00000 n 
+0000576185 00000 n 
+0000576335 00000 n 
+0000576485 00000 n 
+0000576635 00000 n 
+0000576785 00000 n 
+0000576936 00000 n 
+0000577086 00000 n 
+0000577236 00000 n 
+0000577387 00000 n 
+0000577538 00000 n 
+0000577689 00000 n 
+0000577840 00000 n 
+0000577991 00000 n 
+0000578142 00000 n 
+0000578292 00000 n 
+0000578443 00000 n 
+0000578594 00000 n 
+0000578744 00000 n 
+0000578895 00000 n 
+0000579045 00000 n 
+0000579195 00000 n 
+0000579346 00000 n 
+0000579497 00000 n 
+0000579648 00000 n 
+0000579798 00000 n 
+0000579948 00000 n 
+0000580096 00000 n 
+0000580247 00000 n 
+0000580398 00000 n 
+0000580547 00000 n 
+0000580697 00000 n 
+0000580847 00000 n 
+0000580998 00000 n 
+0000581148 00000 n 
+0000581299 00000 n 
+0000581450 00000 n 
+0000581600 00000 n 
+0000581750 00000 n 
+0000581901 00000 n 
+0000582052 00000 n 
+0000582203 00000 n 
+0000582354 00000 n 
+0000582505 00000 n 
+0000582656 00000 n 
+0000582807 00000 n 
+0000582958 00000 n 
+0000583109 00000 n 
+0000583259 00000 n 
+0000583409 00000 n 
+0000583560 00000 n 
+0000583710 00000 n 
+0000583859 00000 n 
+0000584010 00000 n 
+0000584161 00000 n 
+0000584311 00000 n 
+0000584462 00000 n 
+0000584612 00000 n 
+0000584763 00000 n 
+0000584913 00000 n 
+0000585064 00000 n 
+0000585215 00000 n 
+0000585365 00000 n 
+0000585516 00000 n 
+0000585665 00000 n 
+0000585816 00000 n 
+0000585967 00000 n 
+0000586117 00000 n 
+0000586268 00000 n 
+0000586419 00000 n 
+0000586570 00000 n 
+0000586721 00000 n 
+0000586871 00000 n 
+0000587021 00000 n 
+0000590145 00000 n 
+0000587169 00000 n 
+0000587401 00000 n 
+0000573150 00000 n 
+0000571474 00000 n 
+0000587342 00000 n 
+0000590295 00000 n 
+0000590446 00000 n 
+0000590597 00000 n 
+0000590747 00000 n 
+0000590898 00000 n 
+0000591048 00000 n 
+0000591199 00000 n 
+0000591349 00000 n 
+0000591499 00000 n 
+0000591650 00000 n 
+0000591800 00000 n 
+0000591949 00000 n 
+0000592099 00000 n 
+0000592250 00000 n 
+0000592400 00000 n 
+0000592551 00000 n 
+0000592702 00000 n 
+0000592853 00000 n 
+0000593004 00000 n 
+0000593155 00000 n 
+0000593306 00000 n 
+0000593456 00000 n 
+0000593607 00000 n 
+0000593757 00000 n 
+0000593908 00000 n 
+0000594058 00000 n 
+0000594209 00000 n 
+0000594359 00000 n 
+0000594510 00000 n 
+0000594661 00000 n 
+0000594812 00000 n 
+0000594963 00000 n 
+0000595113 00000 n 
+0000595263 00000 n 
+0000595414 00000 n 
+0000595564 00000 n 
+0000595715 00000 n 
+0000595865 00000 n 
+0000596016 00000 n 
+0000596166 00000 n 
+0000596316 00000 n 
+0000596465 00000 n 
+0000596616 00000 n 
+0000596767 00000 n 
+0000596918 00000 n 
+0000597069 00000 n 
+0000597219 00000 n 
+0000597370 00000 n 
+0000597521 00000 n 
+0000597672 00000 n 
+0000597822 00000 n 
+0000597973 00000 n 
+0000598124 00000 n 
+0000598272 00000 n 
+0000598421 00000 n 
+0000598571 00000 n 
+0000598721 00000 n 
+0000598871 00000 n 
+0000599022 00000 n 
+0000599173 00000 n 
+0000599322 00000 n 
+0000599473 00000 n 
+0000599623 00000 n 
+0000599775 00000 n 
+0000599926 00000 n 
+0000600076 00000 n 
+0000600227 00000 n 
+0000600378 00000 n 
+0000600529 00000 n 
+0000600680 00000 n 
+0000600831 00000 n 
+0000600982 00000 n 
+0000601132 00000 n 
+0000601282 00000 n 
+0000601432 00000 n 
+0000601583 00000 n 
+0000601734 00000 n 
+0000601884 00000 n 
+0000602033 00000 n 
+0000602183 00000 n 
+0000602333 00000 n 
+0000602484 00000 n 
+0000602634 00000 n 
+0000602785 00000 n 
+0000602936 00000 n 
+0000603087 00000 n 
+0000603237 00000 n 
+0000603388 00000 n 
+0000603539 00000 n 
+0000603690 00000 n 
+0000603839 00000 n 
+0000603990 00000 n 
+0000604141 00000 n 
+0000604292 00000 n 
+0000604443 00000 n 
+0000604594 00000 n 
+0000604744 00000 n 
+0000607444 00000 n 
+0000604892 00000 n 
+0000605124 00000 n 
+0000589119 00000 n 
+0000587513 00000 n 
+0000605065 00000 n 
+0000607594 00000 n 
+0000607745 00000 n 
+0000607896 00000 n 
+0000608046 00000 n 
+0000608196 00000 n 
+0000608347 00000 n 
+0000608496 00000 n 
+0000608647 00000 n 
+0000608797 00000 n 
+0000608947 00000 n 
+0000609098 00000 n 
+0000609248 00000 n 
+0000609398 00000 n 
+0000609549 00000 n 
+0000609699 00000 n 
+0000609850 00000 n 
+0000610001 00000 n 
+0000610151 00000 n 
+0000610301 00000 n 
+0000610452 00000 n 
+0000610601 00000 n 
+0000610751 00000 n 
+0000610902 00000 n 
+0000611053 00000 n 
+0000611204 00000 n 
+0000611354 00000 n 
+0000611505 00000 n 
+0000611656 00000 n 
+0000611807 00000 n 
+0000611958 00000 n 
+0000612109 00000 n 
+0000612260 00000 n 
+0000612410 00000 n 
+0000612560 00000 n 
+0000612710 00000 n 
+0000612860 00000 n 
+0000613011 00000 n 
+0000613162 00000 n 
+0000613313 00000 n 
+0000613464 00000 n 
+0000613615 00000 n 
+0000613766 00000 n 
+0000613915 00000 n 
+0000614066 00000 n 
+0000614217 00000 n 
+0000614367 00000 n 
+0000614517 00000 n 
+0000614667 00000 n 
+0000614818 00000 n 
+0000614967 00000 n 
+0000615117 00000 n 
+0000615266 00000 n 
+0000615416 00000 n 
+0000615565 00000 n 
+0000615715 00000 n 
+0000615866 00000 n 
+0000616017 00000 n 
+0000616168 00000 n 
+0000616319 00000 n 
+0000616470 00000 n 
+0000616620 00000 n 
+0000616771 00000 n 
+0000616922 00000 n 
+0000617073 00000 n 
+0000617223 00000 n 
+0000618633 00000 n 
+0000617372 00000 n 
+0000617604 00000 n 
+0000606706 00000 n 
+0000605223 00000 n 
+0000617545 00000 n 
+0000792860 00000 n 
+0000618784 00000 n 
+0000618935 00000 n 
+0000619085 00000 n 
+0000619235 00000 n 
+0000619385 00000 n 
+0000619536 00000 n 
+0000619687 00000 n 
+0000619838 00000 n 
+0000619989 00000 n 
+0000620140 00000 n 
+0000620372 00000 n 
+0000618399 00000 n 
+0000617703 00000 n 
+0000620313 00000 n 
+0000620471 00000 n 
+0000620497 00000 n 
+0000620523 00000 n 
+0000620991 00000 n 
+0000621152 00000 n 
+0000621279 00000 n 
+0000621601 00000 n 
+0000622037 00000 n 
+0000622364 00000 n 
+0000622491 00000 n 
+0000622518 00000 n 
+0000622987 00000 n 
+0000786305 00000 n 
+0000623251 00000 n 
+0000623563 00000 n 
+0000623601 00000 n 
+0000624073 00000 n 
+0000624425 00000 n 
+0000624870 00000 n 
+0000625346 00000 n 
+0000625778 00000 n 
+0000626154 00000 n 
+0000626729 00000 n 
+0000627421 00000 n 
+0000627459 00000 n 
+0000627777 00000 n 
+0000628420 00000 n 
+0000630137 00000 n 
+0000630369 00000 n 
+0000634105 00000 n 
+0000634381 00000 n 
+0000636197 00000 n 
+0000636432 00000 n 
+0000639209 00000 n 
+0000639439 00000 n 
+0000642413 00000 n 
+0000642644 00000 n 
+0000645032 00000 n 
+0000645289 00000 n 
+0000650478 00000 n 
+0000650761 00000 n 
+0000654519 00000 n 
+0000654765 00000 n 
+0000658926 00000 n 
+0000659187 00000 n 
+0000662867 00000 n 
+0000663135 00000 n 
+0000665160 00000 n 
+0000665443 00000 n 
+0000667786 00000 n 
+0000668050 00000 n 
+0000669367 00000 n 
+0000669600 00000 n 
+0000671619 00000 n 
+0000671865 00000 n 
+0000673708 00000 n 
+0000673970 00000 n 
+0000676126 00000 n 
+0000676355 00000 n 
+0000678255 00000 n 
+0000678474 00000 n 
+0000685379 00000 n 
+0000685655 00000 n 
+0000701936 00000 n 
+0000702401 00000 n 
+0000713026 00000 n 
+0000713382 00000 n 
+0000731326 00000 n 
+0000731812 00000 n 
+0000747626 00000 n 
+0000748027 00000 n 
+0000768945 00000 n 
+0000769539 00000 n 
+0000785852 00000 n 
+0000792949 00000 n 
+0000793069 00000 n 
+0000793195 00000 n 
+0000793321 00000 n 
+0000793401 00000 n 
+0000793493 00000 n 
+0000798853 00000 n 
+0000799119 00000 n 
+0000799912 00000 n 
+0000800728 00000 n 
+0000801428 00000 n 
+0000802197 00000 n 
+0000802919 00000 n 
+0000803581 00000 n 
+0000804358 00000 n 
+0000805103 00000 n 
+0000805776 00000 n 
+0000806480 00000 n 
+0000807217 00000 n 
+0000807954 00000 n 
+0000808669 00000 n 
+0000809478 00000 n 
+0000810189 00000 n 
+0000810858 00000 n 
+0000811733 00000 n 
+0000812555 00000 n 
+0000813404 00000 n 
+0000814200 00000 n 
+0000815058 00000 n 
+0000815924 00000 n 
+0000816733 00000 n 
+0000817436 00000 n 
+0000818197 00000 n 
+0000818958 00000 n 
+0000819719 00000 n 
+0000820480 00000 n 
+0000821241 00000 n 
+0000821919 00000 n 
+0000822680 00000 n 
+0000823441 00000 n 
+0000824202 00000 n 
+0000824963 00000 n 
+0000825669 00000 n 
+0000826427 00000 n 
+0000827205 00000 n 
+0000828001 00000 n 
+0000828866 00000 n 
+0000829646 00000 n 
+0000830447 00000 n 
+0000831324 00000 n 
+0000832303 00000 n 
+0000833232 00000 n 
+0000834056 00000 n 
+0000834838 00000 n 
+0000835584 00000 n 
+0000836329 00000 n 
+0000837074 00000 n 
+0000837819 00000 n 
+0000838564 00000 n 
+0000839309 00000 n 
+0000840054 00000 n 
+0000840799 00000 n 
+0000841544 00000 n 
+0000842289 00000 n 
+0000843034 00000 n 
+0000843779 00000 n 
+0000844524 00000 n 
+0000845216 00000 n 
+0000845873 00000 n 
+0000846490 00000 n 
+0000847101 00000 n 
+0000847714 00000 n 
+0000848333 00000 n 
+0000848952 00000 n 
+0000849315 00000 n 
+0000849500 00000 n 
+0000849676 00000 n 
+0000849845 00000 n 
+0000850016 00000 n 
+0000850186 00000 n 
+0000850361 00000 n 
+0000850536 00000 n 
+0000850713 00000 n 
+0000850888 00000 n 
+0000851065 00000 n 
+0000851240 00000 n 
+0000851417 00000 n 
+0000851591 00000 n 
+0000851765 00000 n 
+0000851942 00000 n 
+0000852117 00000 n 
+0000852294 00000 n 
+0000852492 00000 n 
+0000852765 00000 n 
+0000853038 00000 n 
+0000853315 00000 n 
+0000853588 00000 n 
+0000853861 00000 n 
+0000854134 00000 n 
+0000854407 00000 n 
+0000854683 00000 n 
+0000854964 00000 n 
+0000855244 00000 n 
+0000855525 00000 n 
+0000855805 00000 n 
+0000856086 00000 n 
+0000856365 00000 n 
+0000856644 00000 n 
+0000856925 00000 n 
+0000857198 00000 n 
+0000857463 00000 n 
+0000857725 00000 n 
+0000857981 00000 n 
+0000858232 00000 n 
+0000858433 00000 n 
+0000858634 00000 n 
+0000858837 00000 n 
+0000859039 00000 n 
+0000859248 00000 n 
+0000859455 00000 n 
+0000859664 00000 n 
+0000859871 00000 n 
+0000860080 00000 n 
+0000860287 00000 n 
+0000860496 00000 n 
+0000860702 00000 n 
+0000860908 00000 n 
+0000861117 00000 n 
+0000861324 00000 n 
+0000861511 00000 n 
+0000861704 00000 n 
+0000861947 00000 n 
+0000862188 00000 n 
+0000862431 00000 n 
+0000862672 00000 n 
+0000862915 00000 n 
+0000863156 00000 n 
+0000863384 00000 n 
+0000863619 00000 n 
+0000863908 00000 n 
+0000864197 00000 n 
+0000864485 00000 n 
+0000864774 00000 n 
+0000865062 00000 n 
+0000865351 00000 n 
+0000865640 00000 n 
+0000865926 00000 n 
+0000866211 00000 n 
+0000866489 00000 n 
+0000866636 00000 n 
+0000866826 00000 n 
+0000867092 00000 n 
+0000867369 00000 n 
+0000867655 00000 n 
+0000867923 00000 n 
+0000868138 00000 n 
+0000868412 00000 n 
+0000868677 00000 n 
+0000868935 00000 n 
+0000869193 00000 n 
+0000869436 00000 n 
+0000869608 00000 n 
+0000869724 00000 n 
+0000869840 00000 n 
+0000869968 00000 n 
+0000870109 00000 n 
+0000870251 00000 n 
+0000870384 00000 n 
+0000870508 00000 n 
+0000870631 00000 n 
+0000870760 00000 n 
+0000870898 00000 n 
+0000871042 00000 n 
+0000871175 00000 n 
+0000871339 00000 n 
+0000871535 00000 n 
+0000871655 00000 n 
+0000871787 00000 n 
+0000871899 00000 n 
+0000871939 00000 n 
+0000872139 00000 n 
+trailer
+<< /Size 3312
+/Root 3310 0 R
+/Info 3311 0 R
+/ID [<255B19AB915959E83CC1BB7A717EDADC> <255B19AB915959E83CC1BB7A717EDADC>] >>
+startxref
+872471
+%%EOF
diff --git a/doc/ppl-user-java-interface-0.11.ps.gz b/doc/ppl-user-java-interface-0.11.ps.gz
new file mode 100644
index 0000000..8c6b6c8
Binary files /dev/null and b/doc/ppl-user-java-interface-0.11.ps.gz differ
diff --git a/doc/ppl-user-ocaml-interface-0.10.2-html.tar.gz b/doc/ppl-user-ocaml-interface-0.10.2-html.tar.gz
deleted file mode 100644
index e8d1140..0000000
Binary files a/doc/ppl-user-ocaml-interface-0.10.2-html.tar.gz and /dev/null differ
diff --git a/doc/ppl-user-ocaml-interface-0.10.2.pdf b/doc/ppl-user-ocaml-interface-0.10.2.pdf
deleted file mode 100644
index 889e1eb..0000000
Binary files a/doc/ppl-user-ocaml-interface-0.10.2.pdf and /dev/null differ
diff --git a/doc/ppl-user-ocaml-interface-0.10.2.ps.gz b/doc/ppl-user-ocaml-interface-0.10.2.ps.gz
deleted file mode 100644
index 354171a..0000000
Binary files a/doc/ppl-user-ocaml-interface-0.10.2.ps.gz and /dev/null differ
diff --git a/doc/ppl-user-ocaml-interface-0.11-html.tar.gz b/doc/ppl-user-ocaml-interface-0.11-html.tar.gz
new file mode 100644
index 0000000..86a7db4
Binary files /dev/null and b/doc/ppl-user-ocaml-interface-0.11-html.tar.gz differ
diff --git a/doc/ppl-user-ocaml-interface-0.11.pdf b/doc/ppl-user-ocaml-interface-0.11.pdf
new file mode 100644
index 0000000..b65d0e0
Binary files /dev/null and b/doc/ppl-user-ocaml-interface-0.11.pdf differ
diff --git a/doc/ppl-user-ocaml-interface-0.11.ps.gz b/doc/ppl-user-ocaml-interface-0.11.ps.gz
new file mode 100644
index 0000000..902b70d
Binary files /dev/null and b/doc/ppl-user-ocaml-interface-0.11.ps.gz differ
diff --git a/doc/ppl-user-prolog-interface-0.10.2-html.tar.gz b/doc/ppl-user-prolog-interface-0.10.2-html.tar.gz
deleted file mode 100644
index 8302564..0000000
Binary files a/doc/ppl-user-prolog-interface-0.10.2-html.tar.gz and /dev/null differ
diff --git a/doc/ppl-user-prolog-interface-0.10.2.pdf b/doc/ppl-user-prolog-interface-0.10.2.pdf
deleted file mode 100644
index 648942e..0000000
Binary files a/doc/ppl-user-prolog-interface-0.10.2.pdf and /dev/null differ
diff --git a/doc/ppl-user-prolog-interface-0.10.2.ps.gz b/doc/ppl-user-prolog-interface-0.10.2.ps.gz
deleted file mode 100644
index 9923a8c..0000000
Binary files a/doc/ppl-user-prolog-interface-0.10.2.ps.gz and /dev/null differ
diff --git a/doc/ppl-user-prolog-interface-0.11-html.tar.gz b/doc/ppl-user-prolog-interface-0.11-html.tar.gz
new file mode 100644
index 0000000..30e3406
Binary files /dev/null and b/doc/ppl-user-prolog-interface-0.11-html.tar.gz differ
diff --git a/doc/ppl-user-prolog-interface-0.11.pdf b/doc/ppl-user-prolog-interface-0.11.pdf
new file mode 100644
index 0000000..7daab9a
Binary files /dev/null and b/doc/ppl-user-prolog-interface-0.11.pdf differ
diff --git a/doc/ppl-user-prolog-interface-0.11.ps.gz b/doc/ppl-user-prolog-interface-0.11.ps.gz
new file mode 100644
index 0000000..cd074da
Binary files /dev/null and b/doc/ppl-user-prolog-interface-0.11.ps.gz differ
diff --git a/doc/ppl.sty b/doc/ppl.sty
index 7282dc7..43fc889 100644
--- a/doc/ppl.sty
+++ b/doc/ppl.sty
@@ -1,5 +1,5 @@
 %% LaTeX package providing macros for typesetting the PPL manuals.
-%% Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+%% Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 %%
 %% This file is part of the Parma Polyhedra Library (PPL).
 %%
@@ -24,6 +24,7 @@
 \ProvidesPackage{ppl}
 \RequirePackage{amsmath}
 \RequirePackage{amssymb}
+\RequirePackage{stmaryrd}
 
 %% Calligraphic alphabet
 \newcommand*{\cA}{\ensuremath{\mathcal{A}}}
@@ -135,6 +136,9 @@
 \newcommand*{\relsym}{\mathrel{\bowtie}}
 \newcommand*{\relsyms}[1]{\mathrel{\bowtie_{#1}}}
 
+% Absolute value.
+\newcommand*{\abs}[1]{\lvert #1 \rvert}
+
 % Vectors.
 \renewcommand*{\vec}[1]{\mathchoice{\mbox{\boldmath$\displaystyle#1$}}
 {\mbox{\boldmath$\textstyle#1$}}
@@ -176,3 +180,20 @@
 \newcommand*{\entailsP}{\entailss{\smallP}}
 \newcommand*{\NentailsP}{\Nentailss{\smallP}}
 \newcommand*{\sentailsP}{\sentailss{\smallP}}
+
+
+% Interval floating point arithmetics
+
+\newcommand*{\asifp}{\oplus^{\#}}
+\newcommand*{\adifp}{\ominus^{\#}}
+\newcommand*{\adivifp}{\oslash^{\#}}
+\newcommand*{\amifp}{\otimes^{\#}}
+
+% Linear form arithmetics
+
+\newcommand*{\aslf}{\boxplus^{\#}}
+\newcommand*{\adlf}{\boxminus^{\#}}
+\newcommand*{\adivlf}{\boxslash^{\#}}
+\newcommand*{\amlf}{\boxtimes^{\#}}
+\newcommand*{\linexpr}[1]{\llparenthesis #1 \rrparenthesis}
+\newcommand*{\linexprenv}[3]{\llparenthesis #1 \rrparenthesis \left \llbracket #2, #3 \right \rrbracket}
diff --git a/doc/user-language-interface.doxyconf.in b/doc/user-language-interface.doxyconf.in
index 012b9ff..852427b 100644
--- a/doc/user-language-interface.doxyconf.in
+++ b/doc/user-language-interface.doxyconf.in
@@ -1,4 +1,4 @@
-# Doxyfile 1.5.7.1
+# Doxyfile 1.6.3
 
 #---------------------------------------------------------------------------
 # Project related configuration options
@@ -11,12 +11,12 @@ CREATE_SUBDIRS         = NO
 OUTPUT_LANGUAGE        = English
 BRIEF_MEMBER_DESC      = YES
 REPEAT_BRIEF           = YES
-ABBREVIATE_BRIEF       = 
+ABBREVIATE_BRIEF       =
 ALWAYS_DETAILED_SEC    = NO
 INLINE_INHERITED_MEMB  = NO
 FULL_PATH_NAMES        = NO
-STRIP_FROM_PATH        = 
-STRIP_FROM_INC_PATH    = 
+STRIP_FROM_PATH        =
+STRIP_FROM_INC_PATH    =
 SHORT_NAMES            = NO
 JAVADOC_AUTOBRIEF      = NO
 QT_AUTOBRIEF           = NO
@@ -29,6 +29,7 @@ OPTIMIZE_OUTPUT_FOR_C  = NO
 OPTIMIZE_OUTPUT_JAVA   = NO
 OPTIMIZE_FOR_FORTRAN   = NO
 OPTIMIZE_OUTPUT_VHDL   = NO
+EXTENSION_MAPPING      =
 BUILTIN_STL_SUPPORT    = NO
 CPP_CLI_SUPPORT        = NO
 SIP_SUPPORT            = NO
@@ -54,9 +55,11 @@ INTERNAL_DOCS          = NO
 CASE_SENSE_NAMES       = YES
 HIDE_SCOPE_NAMES       = NO
 SHOW_INCLUDE_FILES     = YES
+FORCE_LOCAL_INCLUDES   = NO
 INLINE_INFO            = YES
 SORT_MEMBER_DOCS       = NO
 SORT_BRIEF_DOCS        = NO
+SORT_MEMBERS_CTORS_1ST = NO
 SORT_GROUP_NAMES       = NO
 SORT_BY_SCOPE_NAME     = NO
 GENERATE_TODOLIST      = YES
@@ -69,8 +72,8 @@ SHOW_USED_FILES        = YES
 SHOW_DIRECTORIES       = NO
 SHOW_FILES             = YES
 SHOW_NAMESPACES        = YES
-FILE_VERSION_FILTER    = 
-LAYOUT_FILE            = 
+FILE_VERSION_FILTER    =
+LAYOUT_FILE            =
 #---------------------------------------------------------------------------
 # configuration options related to warning and progress messages
 #---------------------------------------------------------------------------
@@ -80,24 +83,24 @@ WARN_IF_UNDOCUMENTED   = NO
 WARN_IF_DOC_ERROR      = YES
 WARN_NO_PARAMDOC       = NO
 WARN_FORMAT            = "$file:$line: $text "
-WARN_LOGFILE           = 
+WARN_LOGFILE           =
 #---------------------------------------------------------------------------
 # configuration options related to the input files
 #---------------------------------------------------------------------------
 INPUT                  = <PPL_SED_INPUT>
 INPUT_ENCODING         = UTF-8
-FILE_PATTERNS          = 
+FILE_PATTERNS          =
 RECURSIVE              = NO
-EXCLUDE                = 
+EXCLUDE                =
 EXCLUDE_SYMLINKS       = NO
-EXCLUDE_PATTERNS       = 
-EXCLUDE_SYMBOLS        = 
-EXAMPLE_PATH           = 
-EXAMPLE_PATTERNS       = 
+EXCLUDE_PATTERNS       =
+EXCLUDE_SYMBOLS        =
+EXAMPLE_PATH           =
+EXAMPLE_PATTERNS       =
 EXAMPLE_RECURSIVE      = NO
-IMAGE_PATH             = 
-INPUT_FILTER           = 
-FILTER_PATTERNS        = 
+IMAGE_PATH             =
+INPUT_FILTER           =
+FILTER_PATTERNS        =
 FILTER_SOURCE_FILES    = NO
 #---------------------------------------------------------------------------
 # configuration options related to source browsing
@@ -115,38 +118,47 @@ VERBATIM_HEADERS       = NO
 #---------------------------------------------------------------------------
 ALPHABETICAL_INDEX     = NO
 COLS_IN_ALPHA_INDEX    = 5
-IGNORE_PREFIX          = 
+IGNORE_PREFIX          =
 #---------------------------------------------------------------------------
 # configuration options related to the HTML output
 #---------------------------------------------------------------------------
 GENERATE_HTML          = <PPL_SED_GENERATE_HTML>
 HTML_OUTPUT            = ppl-user-<PPL_SED_INTERFACE_NAME>- at VERSION@-html
 HTML_FILE_EXTENSION    = .html
-HTML_HEADER            = 
-HTML_FOOTER            = 
-HTML_STYLESHEET        = 
+HTML_HEADER            =
+HTML_FOOTER            =
+HTML_STYLESHEET        =
+HTML_TIMESTAMP         = YES
 HTML_ALIGN_MEMBERS     = YES
 HTML_DYNAMIC_SECTIONS  = NO
 GENERATE_DOCSET        = NO
 DOCSET_FEEDNAME        = "Doxygen generated docs"
 DOCSET_BUNDLE_ID       = org.doxygen.Project
 GENERATE_HTMLHELP      = NO
-CHM_FILE               = 
-HHC_LOCATION           = 
+CHM_FILE               =
+HHC_LOCATION           =
 GENERATE_CHI           = NO
-CHM_INDEX_ENCODING     = 
+CHM_INDEX_ENCODING     =
 BINARY_TOC             = NO
 TOC_EXPAND             = NO
 GENERATE_QHP           = NO
-QCH_FILE               = 
+QCH_FILE               =
 QHP_NAMESPACE          = org.doxygen.Project
 QHP_VIRTUAL_FOLDER     = doc
-QHG_LOCATION           = 
+QHP_CUST_FILTER_NAME   =
+QHP_CUST_FILTER_ATTRS  =
+QHP_SECT_FILTER_ATTRS  =
+QHG_LOCATION           =
+GENERATE_ECLIPSEHELP   = NO
+ECLIPSE_DOC_ID         = org.doxygen.Project
 DISABLE_INDEX          = NO
 ENUM_VALUES_PER_LINE   = 4
 GENERATE_TREEVIEW      = YES
+USE_INLINE_TREES       = NO
 TREEVIEW_WIDTH         = 250
 FORMULA_FONTSIZE       = 10
+SEARCHENGINE           = NO
+SERVER_BASED_SEARCH    = NO
 #---------------------------------------------------------------------------
 # configuration options related to the LaTeX output
 #---------------------------------------------------------------------------
@@ -162,6 +174,7 @@ PDF_HYPERLINKS         = YES
 USE_PDFLATEX           = YES
 LATEX_BATCHMODE        = YES
 LATEX_HIDE_INDICES     = NO
+LATEX_SOURCE_CODE      = NO
 #---------------------------------------------------------------------------
 # configuration options related to the RTF output
 #---------------------------------------------------------------------------
@@ -169,8 +182,8 @@ GENERATE_RTF           = NO
 RTF_OUTPUT             = rtf
 COMPACT_RTF            = NO
 RTF_HYPERLINKS         = YES
-RTF_STYLESHEET_FILE    = 
-RTF_EXTENSIONS_FILE    = 
+RTF_STYLESHEET_FILE    =
+RTF_EXTENSIONS_FILE    =
 #---------------------------------------------------------------------------
 # configuration options related to the man page output
 #---------------------------------------------------------------------------
@@ -183,8 +196,8 @@ MAN_LINKS              = NO
 #---------------------------------------------------------------------------
 GENERATE_XML           = NO
 XML_OUTPUT             = xml
-XML_SCHEMA             = 
-XML_DTD                = 
+XML_SCHEMA             =
+XML_DTD                =
 XML_PROGRAMLISTING     = YES
 #---------------------------------------------------------------------------
 # configuration options for the AutoGen Definitions output
@@ -196,16 +209,16 @@ GENERATE_AUTOGEN_DEF   = NO
 GENERATE_PERLMOD       = NO
 PERLMOD_LATEX          = NO
 PERLMOD_PRETTY         = YES
-PERLMOD_MAKEVAR_PREFIX = 
+PERLMOD_MAKEVAR_PREFIX =
 #---------------------------------------------------------------------------
-# Configuration options related to the preprocessor   
+# Configuration options related to the preprocessor
 #---------------------------------------------------------------------------
 ENABLE_PREPROCESSING   = YES
 MACRO_EXPANSION        = YES
 EXPAND_ONLY_PREDEF     = YES
 SEARCH_INCLUDES        = YES
-INCLUDE_PATH           = 
-INCLUDE_FILE_PATTERNS  = 
+INCLUDE_PATH           =
+INCLUDE_FILE_PATTERNS  =
 PREDEFINED             = PPL_PROTO(protos):=protos
 EXPAND_AS_DEFINED      = PPL_TYPE_DECLARATION \
                          PPL_DECLARE_PRINT_FUNCTIONS \
@@ -216,23 +229,23 @@ EXPAND_AS_DEFINED      = PPL_TYPE_DECLARATION \
                          PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS
 SKIP_FUNCTION_MACROS   = YES
 #---------------------------------------------------------------------------
-# Configuration::additions related to external references   
+# Configuration::additions related to external references
 #---------------------------------------------------------------------------
 TAGFILES               = <PPL_SED_TAGFILES>
-GENERATE_TAGFILE       = 
+GENERATE_TAGFILE       =
 ALLEXTERNALS           = NO
 EXTERNAL_GROUPS        = YES
 PERL_PATH              = @PERL@
 #---------------------------------------------------------------------------
-# Configuration options related to the dot tool   
+# Configuration options related to the dot tool
 #---------------------------------------------------------------------------
 CLASS_DIAGRAMS         = NO
-MSCGEN_PATH            = 
+MSCGEN_PATH            =
 HIDE_UNDOC_RELATIONS   = YES
 HAVE_DOT               = YES
 DOT_FONTNAME           = FreeSans
 DOT_FONTSIZE           = 10
-DOT_FONTPATH           = 
+DOT_FONTPATH           =
 CLASS_GRAPH            = YES
 COLLABORATION_GRAPH    = NO
 GROUP_GRAPHS           = YES
@@ -245,15 +258,11 @@ CALLER_GRAPH           = NO
 GRAPHICAL_HIERARCHY    = NO
 DIRECTORY_GRAPH        = NO
 DOT_IMAGE_FORMAT       = png
-DOT_PATH               = 
-DOTFILE_DIRS           = 
+DOT_PATH               =
+DOTFILE_DIRS           =
 DOT_GRAPH_MAX_NODES    = 50
 MAX_DOT_GRAPH_DEPTH    = 0
 DOT_TRANSPARENT        = NO
 DOT_MULTI_TARGETS      = NO
 GENERATE_LEGEND        = YES
 DOT_CLEANUP            = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine   
-#---------------------------------------------------------------------------
-SEARCHENGINE           = NO
diff --git a/doc/user-language-interface.tex b/doc/user-language-interface.tex
index 0c78019..3d84027 100644
--- a/doc/user-language-interface.tex
+++ b/doc/user-language-interface.tex
@@ -1,4 +1,4 @@
-% Copyright (C) 2001--2009 Roberto Bagnara <bagnara at cs.unipr.it>
+% Copyright (C) 2001--2010 Roberto Bagnara <bagnara at cs.unipr.it>
 %
 % This document describes the Parma Polyhedra Library (PPL).
 %
@@ -100,7 +100,7 @@ Enea Zaffanella\thanks{zaffanella at cs.unipr.it,
 \maketitle
 
 \newpage
-Copyright \copyright\ 2001--2009 Roberto Bagnara (bagnara at cs.unipr.it).
+Copyright \copyright\ 2001--2010 Roberto Bagnara (bagnara at cs.unipr.it).
 
 This document describes the Parma Polyhedra Library (PPL).
 
diff --git a/doc/user.doxyconf-html.in b/doc/user.doxyconf-html.in
index fa09a88..2fb029b 100644
--- a/doc/user.doxyconf-html.in
+++ b/doc/user.doxyconf-html.in
@@ -1,4 +1,4 @@
-# Doxyfile 1.5.7.1
+# Doxyfile 1.6.3
 
 #---------------------------------------------------------------------------
 # Project related configuration options
@@ -11,12 +11,12 @@ CREATE_SUBDIRS         = NO
 OUTPUT_LANGUAGE        = English
 BRIEF_MEMBER_DESC      = YES
 REPEAT_BRIEF           = YES
-ABBREVIATE_BRIEF       = 
+ABBREVIATE_BRIEF       =
 ALWAYS_DETAILED_SEC    = NO
 INLINE_INHERITED_MEMB  = NO
 FULL_PATH_NAMES        = NO
-STRIP_FROM_PATH        = 
-STRIP_FROM_INC_PATH    = 
+STRIP_FROM_PATH        =
+STRIP_FROM_INC_PATH    =
 SHORT_NAMES            = NO
 JAVADOC_AUTOBRIEF      = NO
 QT_AUTOBRIEF           = NO
@@ -24,11 +24,12 @@ MULTILINE_CPP_IS_BRIEF = NO
 INHERIT_DOCS           = NO
 SEPARATE_MEMBER_PAGES  = NO
 TAB_SIZE               = 8
-ALIASES                = 
+ALIASES                =
 OPTIMIZE_OUTPUT_FOR_C  = NO
 OPTIMIZE_OUTPUT_JAVA   = NO
 OPTIMIZE_FOR_FORTRAN   = NO
 OPTIMIZE_OUTPUT_VHDL   = NO
+EXTENSION_MAPPING      =
 BUILTIN_STL_SUPPORT    = NO
 CPP_CLI_SUPPORT        = NO
 SIP_SUPPORT            = NO
@@ -54,23 +55,25 @@ INTERNAL_DOCS          = NO
 CASE_SENSE_NAMES       = YES
 HIDE_SCOPE_NAMES       = NO
 SHOW_INCLUDE_FILES     = YES
+FORCE_LOCAL_INCLUDES   = NO
 INLINE_INFO            = YES
 SORT_MEMBER_DOCS       = NO
 SORT_BRIEF_DOCS        = NO
+SORT_MEMBERS_CTORS_1ST = NO
 SORT_GROUP_NAMES       = NO
 SORT_BY_SCOPE_NAME     = NO
 GENERATE_TODOLIST      = YES
 GENERATE_TESTLIST      = YES
 GENERATE_BUGLIST       = YES
 GENERATE_DEPRECATEDLIST= YES
-ENABLED_SECTIONS       = 
+ENABLED_SECTIONS       =
 MAX_INITIALIZER_LINES  = 5
 SHOW_USED_FILES        = YES
 SHOW_DIRECTORIES       = NO
 SHOW_FILES             = YES
 SHOW_NAMESPACES        = YES
-FILE_VERSION_FILTER    = 
-LAYOUT_FILE            = 
+FILE_VERSION_FILTER    =
+LAYOUT_FILE            =
 #---------------------------------------------------------------------------
 # configuration options related to warning and progress messages
 #---------------------------------------------------------------------------
@@ -80,7 +83,7 @@ WARN_IF_UNDOCUMENTED   = NO
 WARN_IF_DOC_ERROR      = YES
 WARN_NO_PARAMDOC       = NO
 WARN_FORMAT            = "$file:$line: $text "
-WARN_LOGFILE           = 
+WARN_LOGFILE           =
 #---------------------------------------------------------------------------
 # configuration options related to the input files
 #---------------------------------------------------------------------------
@@ -89,18 +92,18 @@ INPUT                  = @srcdir@/definitions.dox \
                          @srcdir@/gpl.dox \
                          @srcdir@/fdl.dox
 INPUT_ENCODING         = UTF-8
-FILE_PATTERNS          = 
+FILE_PATTERNS          =
 RECURSIVE              = NO
-EXCLUDE                = 
+EXCLUDE                =
 EXCLUDE_SYMLINKS       = NO
-EXCLUDE_PATTERNS       = 
-EXCLUDE_SYMBOLS        = 
-EXAMPLE_PATH           = 
-EXAMPLE_PATTERNS       = 
+EXCLUDE_PATTERNS       =
+EXCLUDE_SYMBOLS        =
+EXAMPLE_PATH           =
+EXAMPLE_PATTERNS       =
 EXAMPLE_RECURSIVE      = NO
-IMAGE_PATH             = 
-INPUT_FILTER           = 
-FILTER_PATTERNS        = 
+IMAGE_PATH             =
+INPUT_FILTER           =
+FILTER_PATTERNS        =
 FILTER_SOURCE_FILES    = NO
 #---------------------------------------------------------------------------
 # configuration options related to source browsing
@@ -118,38 +121,47 @@ VERBATIM_HEADERS       = NO
 #---------------------------------------------------------------------------
 ALPHABETICAL_INDEX     = NO
 COLS_IN_ALPHA_INDEX    = 5
-IGNORE_PREFIX          = 
+IGNORE_PREFIX          =
 #---------------------------------------------------------------------------
 # configuration options related to the HTML output
 #---------------------------------------------------------------------------
 GENERATE_HTML          = YES
 HTML_OUTPUT            = ppl-user- at VERSION@-html
 HTML_FILE_EXTENSION    = .html
-HTML_HEADER            = 
-HTML_FOOTER            = 
-HTML_STYLESHEET        = 
+HTML_HEADER            =
+HTML_FOOTER            =
+HTML_STYLESHEET        =
+HTML_TIMESTAMP         = YES
 HTML_ALIGN_MEMBERS     = YES
 HTML_DYNAMIC_SECTIONS  = NO
 GENERATE_DOCSET        = NO
 DOCSET_FEEDNAME        = "Doxygen generated docs"
 DOCSET_BUNDLE_ID       = org.doxygen.Project
 GENERATE_HTMLHELP      = NO
-CHM_FILE               = 
-HHC_LOCATION           = 
+CHM_FILE               =
+HHC_LOCATION           =
 GENERATE_CHI           = NO
-CHM_INDEX_ENCODING     = 
+CHM_INDEX_ENCODING     =
 BINARY_TOC             = NO
 TOC_EXPAND             = NO
 GENERATE_QHP           = NO
-QCH_FILE               = 
+QCH_FILE               =
 QHP_NAMESPACE          = org.doxygen.Project
 QHP_VIRTUAL_FOLDER     = doc
-QHG_LOCATION           = 
+QHP_CUST_FILTER_NAME   =
+QHP_CUST_FILTER_ATTRS  =
+QHP_SECT_FILTER_ATTRS  =
+QHG_LOCATION           =
+GENERATE_ECLIPSEHELP   = NO
+ECLIPSE_DOC_ID         = org.doxygen.Project
 DISABLE_INDEX          = NO
 ENUM_VALUES_PER_LINE   = 4
 GENERATE_TREEVIEW      = YES
+USE_INLINE_TREES       = NO
 TREEVIEW_WIDTH         = 250
 FORMULA_FONTSIZE       = 10
+SEARCHENGINE           = NO
+SERVER_BASED_SEARCH    = NO
 #---------------------------------------------------------------------------
 # configuration options related to the LaTeX output
 #---------------------------------------------------------------------------
@@ -165,6 +177,7 @@ PDF_HYPERLINKS         = YES
 USE_PDFLATEX           = YES
 LATEX_BATCHMODE        = YES
 LATEX_HIDE_INDICES     = NO
+LATEX_SOURCE_CODE      = NO
 #---------------------------------------------------------------------------
 # configuration options related to the RTF output
 #---------------------------------------------------------------------------
@@ -172,8 +185,8 @@ GENERATE_RTF           = NO
 RTF_OUTPUT             = rtf
 COMPACT_RTF            = NO
 RTF_HYPERLINKS         = YES
-RTF_STYLESHEET_FILE    = 
-RTF_EXTENSIONS_FILE    = 
+RTF_STYLESHEET_FILE    =
+RTF_EXTENSIONS_FILE    =
 #---------------------------------------------------------------------------
 # configuration options related to the man page output
 #---------------------------------------------------------------------------
@@ -186,8 +199,8 @@ MAN_LINKS              = NO
 #---------------------------------------------------------------------------
 GENERATE_XML           = NO
 XML_OUTPUT             = xml
-XML_SCHEMA             = 
-XML_DTD                = 
+XML_SCHEMA             =
+XML_DTD                =
 XML_PROGRAMLISTING     = YES
 #---------------------------------------------------------------------------
 # configuration options for the AutoGen Definitions output
@@ -199,37 +212,37 @@ GENERATE_AUTOGEN_DEF   = NO
 GENERATE_PERLMOD       = NO
 PERLMOD_LATEX          = NO
 PERLMOD_PRETTY         = YES
-PERLMOD_MAKEVAR_PREFIX = 
+PERLMOD_MAKEVAR_PREFIX =
 #---------------------------------------------------------------------------
-# Configuration options related to the preprocessor   
+# Configuration options related to the preprocessor
 #---------------------------------------------------------------------------
 ENABLE_PREPROCESSING   = YES
 MACRO_EXPANSION        = YES
 EXPAND_ONLY_PREDEF     = YES
 SEARCH_INCLUDES        = YES
-INCLUDE_PATH           = 
-INCLUDE_FILE_PATTERNS  = 
-PREDEFINED             = 
+INCLUDE_PATH           =
+INCLUDE_FILE_PATTERNS  =
+PREDEFINED             =
 EXPAND_AS_DEFINED      = PPL_OUTPUT_DECLARATIONS
 SKIP_FUNCTION_MACROS   = YES
 #---------------------------------------------------------------------------
-# Configuration::additions related to external references   
+# Configuration::additions related to external references
 #---------------------------------------------------------------------------
-TAGFILES               = 
+TAGFILES               =
 GENERATE_TAGFILE       = ppl-user- at VERSION@-html.tag
 ALLEXTERNALS           = NO
 EXTERNAL_GROUPS        = YES
 PERL_PATH              = @PERL@
 #---------------------------------------------------------------------------
-# Configuration options related to the dot tool   
+# Configuration options related to the dot tool
 #---------------------------------------------------------------------------
 CLASS_DIAGRAMS         = NO
-MSCGEN_PATH            = 
+MSCGEN_PATH            =
 HIDE_UNDOC_RELATIONS   = YES
 HAVE_DOT               = YES
 DOT_FONTNAME           = FreeSans
 DOT_FONTSIZE           = 10
-DOT_FONTPATH           = 
+DOT_FONTPATH           =
 CLASS_GRAPH            = YES
 COLLABORATION_GRAPH    = NO
 GROUP_GRAPHS           = YES
@@ -242,15 +255,11 @@ CALLER_GRAPH           = NO
 GRAPHICAL_HIERARCHY    = NO
 DIRECTORY_GRAPH        = NO
 DOT_IMAGE_FORMAT       = png
-DOT_PATH               = 
-DOTFILE_DIRS           = 
+DOT_PATH               =
+DOTFILE_DIRS           =
 DOT_GRAPH_MAX_NODES    = 50
 MAX_DOT_GRAPH_DEPTH    = 0
 DOT_TRANSPARENT        = NO
 DOT_MULTI_TARGETS      = NO
 GENERATE_LEGEND        = YES
 DOT_CLEANUP            = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine   
-#---------------------------------------------------------------------------
-SEARCHENGINE           = NO
diff --git a/doc/user.doxyconf-latex.in b/doc/user.doxyconf-latex.in
index c8c3253..f6c7123 100644
--- a/doc/user.doxyconf-latex.in
+++ b/doc/user.doxyconf-latex.in
@@ -1,4 +1,4 @@
-# Doxyfile 1.5.7.1
+# Doxyfile 1.6.3
 
 #---------------------------------------------------------------------------
 # Project related configuration options
@@ -11,12 +11,12 @@ CREATE_SUBDIRS         = NO
 OUTPUT_LANGUAGE        = English
 BRIEF_MEMBER_DESC      = YES
 REPEAT_BRIEF           = YES
-ABBREVIATE_BRIEF       = 
+ABBREVIATE_BRIEF       =
 ALWAYS_DETAILED_SEC    = NO
 INLINE_INHERITED_MEMB  = NO
 FULL_PATH_NAMES        = NO
-STRIP_FROM_PATH        = 
-STRIP_FROM_INC_PATH    = 
+STRIP_FROM_PATH        =
+STRIP_FROM_INC_PATH    =
 SHORT_NAMES            = NO
 JAVADOC_AUTOBRIEF      = NO
 QT_AUTOBRIEF           = NO
@@ -24,11 +24,12 @@ MULTILINE_CPP_IS_BRIEF = NO
 INHERIT_DOCS           = NO
 SEPARATE_MEMBER_PAGES  = NO
 TAB_SIZE               = 8
-ALIASES                = 
+ALIASES                =
 OPTIMIZE_OUTPUT_FOR_C  = NO
 OPTIMIZE_OUTPUT_JAVA   = NO
 OPTIMIZE_FOR_FORTRAN   = NO
 OPTIMIZE_OUTPUT_VHDL   = NO
+EXTENSION_MAPPING      =
 BUILTIN_STL_SUPPORT    = NO
 CPP_CLI_SUPPORT        = NO
 SIP_SUPPORT            = NO
@@ -54,23 +55,25 @@ INTERNAL_DOCS          = NO
 CASE_SENSE_NAMES       = YES
 HIDE_SCOPE_NAMES       = NO
 SHOW_INCLUDE_FILES     = YES
+FORCE_LOCAL_INCLUDES   = NO
 INLINE_INFO            = YES
 SORT_MEMBER_DOCS       = NO
 SORT_BRIEF_DOCS        = NO
+SORT_MEMBERS_CTORS_1ST = NO
 SORT_GROUP_NAMES       = NO
 SORT_BY_SCOPE_NAME     = NO
 GENERATE_TODOLIST      = YES
 GENERATE_TESTLIST      = YES
 GENERATE_BUGLIST       = YES
 GENERATE_DEPRECATEDLIST= YES
-ENABLED_SECTIONS       = 
+ENABLED_SECTIONS       =
 MAX_INITIALIZER_LINES  = 5
 SHOW_USED_FILES        = YES
 SHOW_DIRECTORIES       = NO
 SHOW_FILES             = YES
 SHOW_NAMESPACES        = YES
-FILE_VERSION_FILTER    = 
-LAYOUT_FILE            = 
+FILE_VERSION_FILTER    =
+LAYOUT_FILE            =
 #---------------------------------------------------------------------------
 # configuration options related to warning and progress messages
 #---------------------------------------------------------------------------
@@ -80,7 +83,7 @@ WARN_IF_UNDOCUMENTED   = NO
 WARN_IF_DOC_ERROR      = YES
 WARN_NO_PARAMDOC       = NO
 WARN_FORMAT            = "$file:$line: $text "
-WARN_LOGFILE           = 
+WARN_LOGFILE           =
 #---------------------------------------------------------------------------
 # configuration options related to the input files
 #---------------------------------------------------------------------------
@@ -89,18 +92,18 @@ INPUT                  = @srcdir@/definitions.dox \
                          @srcdir@/gpl.dox \
                          @srcdir@/fdl.dox
 INPUT_ENCODING         = UTF-8
-FILE_PATTERNS          = 
+FILE_PATTERNS          =
 RECURSIVE              = NO
-EXCLUDE                = 
+EXCLUDE                =
 EXCLUDE_SYMLINKS       = NO
-EXCLUDE_PATTERNS       = 
-EXCLUDE_SYMBOLS        = 
-EXAMPLE_PATH           = 
-EXAMPLE_PATTERNS       = 
+EXCLUDE_PATTERNS       =
+EXCLUDE_SYMBOLS        =
+EXAMPLE_PATH           =
+EXAMPLE_PATTERNS       =
 EXAMPLE_RECURSIVE      = NO
-IMAGE_PATH             = 
-INPUT_FILTER           = 
-FILTER_PATTERNS        = 
+IMAGE_PATH             =
+INPUT_FILTER           =
+FILTER_PATTERNS        =
 FILTER_SOURCE_FILES    = NO
 #---------------------------------------------------------------------------
 # configuration options related to source browsing
@@ -118,38 +121,47 @@ VERBATIM_HEADERS       = NO
 #---------------------------------------------------------------------------
 ALPHABETICAL_INDEX     = NO
 COLS_IN_ALPHA_INDEX    = 5
-IGNORE_PREFIX          = 
+IGNORE_PREFIX          =
 #---------------------------------------------------------------------------
 # configuration options related to the HTML output
 #---------------------------------------------------------------------------
 GENERATE_HTML          = NO
 HTML_OUTPUT            = ppl-user- at VERSION@-html
 HTML_FILE_EXTENSION    = .html
-HTML_HEADER            = 
-HTML_FOOTER            = 
-HTML_STYLESHEET        = 
+HTML_HEADER            =
+HTML_FOOTER            =
+HTML_STYLESHEET        =
+HTML_TIMESTAMP         = YES
 HTML_ALIGN_MEMBERS     = YES
 HTML_DYNAMIC_SECTIONS  = NO
 GENERATE_DOCSET        = NO
 DOCSET_FEEDNAME        = "Doxygen generated docs"
 DOCSET_BUNDLE_ID       = org.doxygen.Project
 GENERATE_HTMLHELP      = NO
-CHM_FILE               = 
-HHC_LOCATION           = 
+CHM_FILE               =
+HHC_LOCATION           =
 GENERATE_CHI           = NO
-CHM_INDEX_ENCODING     = 
+CHM_INDEX_ENCODING     =
 BINARY_TOC             = NO
 TOC_EXPAND             = NO
 GENERATE_QHP           = NO
-QCH_FILE               = 
+QCH_FILE               =
 QHP_NAMESPACE          = org.doxygen.Project
 QHP_VIRTUAL_FOLDER     = doc
-QHG_LOCATION           = 
+QHP_CUST_FILTER_NAME   =
+QHP_CUST_FILTER_ATTRS  =
+QHP_SECT_FILTER_ATTRS  =
+QHG_LOCATION           =
+GENERATE_ECLIPSEHELP   = NO
+ECLIPSE_DOC_ID         = org.doxygen.Project
 DISABLE_INDEX          = NO
 ENUM_VALUES_PER_LINE   = 4
 GENERATE_TREEVIEW      = YES
+USE_INLINE_TREES       = NO
 TREEVIEW_WIDTH         = 250
 FORMULA_FONTSIZE       = 10
+SEARCHENGINE           = NO
+SERVER_BASED_SEARCH    = NO
 #---------------------------------------------------------------------------
 # configuration options related to the LaTeX output
 #---------------------------------------------------------------------------
@@ -165,6 +177,7 @@ PDF_HYPERLINKS         = YES
 USE_PDFLATEX           = YES
 LATEX_BATCHMODE        = YES
 LATEX_HIDE_INDICES     = NO
+LATEX_SOURCE_CODE      = NO
 #---------------------------------------------------------------------------
 # configuration options related to the RTF output
 #---------------------------------------------------------------------------
@@ -172,8 +185,8 @@ GENERATE_RTF           = NO
 RTF_OUTPUT             = rtf
 COMPACT_RTF            = NO
 RTF_HYPERLINKS         = YES
-RTF_STYLESHEET_FILE    = 
-RTF_EXTENSIONS_FILE    = 
+RTF_STYLESHEET_FILE    =
+RTF_EXTENSIONS_FILE    =
 #---------------------------------------------------------------------------
 # configuration options related to the man page output
 #---------------------------------------------------------------------------
@@ -186,8 +199,8 @@ MAN_LINKS              = NO
 #---------------------------------------------------------------------------
 GENERATE_XML           = NO
 XML_OUTPUT             = xml
-XML_SCHEMA             = 
-XML_DTD                = 
+XML_SCHEMA             =
+XML_DTD                =
 XML_PROGRAMLISTING     = YES
 #---------------------------------------------------------------------------
 # configuration options for the AutoGen Definitions output
@@ -199,37 +212,37 @@ GENERATE_AUTOGEN_DEF   = NO
 GENERATE_PERLMOD       = NO
 PERLMOD_LATEX          = NO
 PERLMOD_PRETTY         = YES
-PERLMOD_MAKEVAR_PREFIX = 
+PERLMOD_MAKEVAR_PREFIX =
 #---------------------------------------------------------------------------
-# Configuration options related to the preprocessor   
+# Configuration options related to the preprocessor
 #---------------------------------------------------------------------------
 ENABLE_PREPROCESSING   = YES
 MACRO_EXPANSION        = YES
 EXPAND_ONLY_PREDEF     = YES
 SEARCH_INCLUDES        = YES
-INCLUDE_PATH           = 
-INCLUDE_FILE_PATTERNS  = 
-PREDEFINED             = 
+INCLUDE_PATH           =
+INCLUDE_FILE_PATTERNS  =
+PREDEFINED             =
 EXPAND_AS_DEFINED      = PPL_OUTPUT_DECLARATIONS
 SKIP_FUNCTION_MACROS   = YES
 #---------------------------------------------------------------------------
-# Configuration::additions related to external references   
+# Configuration::additions related to external references
 #---------------------------------------------------------------------------
-TAGFILES               = 
-GENERATE_TAGFILE       = 
+TAGFILES               =
+GENERATE_TAGFILE       =
 ALLEXTERNALS           = NO
 EXTERNAL_GROUPS        = YES
 PERL_PATH              = @PERL@
 #---------------------------------------------------------------------------
-# Configuration options related to the dot tool   
+# Configuration options related to the dot tool
 #---------------------------------------------------------------------------
 CLASS_DIAGRAMS         = NO
-MSCGEN_PATH            = 
+MSCGEN_PATH            =
 HIDE_UNDOC_RELATIONS   = YES
 HAVE_DOT               = YES
 DOT_FONTNAME           = FreeSans
 DOT_FONTSIZE           = 10
-DOT_FONTPATH           = 
+DOT_FONTPATH           =
 CLASS_GRAPH            = YES
 COLLABORATION_GRAPH    = NO
 GROUP_GRAPHS           = YES
@@ -242,15 +255,11 @@ CALLER_GRAPH           = NO
 GRAPHICAL_HIERARCHY    = NO
 DIRECTORY_GRAPH        = NO
 DOT_IMAGE_FORMAT       = png
-DOT_PATH               = 
-DOTFILE_DIRS           = 
+DOT_PATH               =
+DOTFILE_DIRS           =
 DOT_GRAPH_MAX_NODES    = 50
 MAX_DOT_GRAPH_DEPTH    = 0
 DOT_TRANSPARENT        = NO
 DOT_MULTI_TARGETS      = NO
 GENERATE_LEGEND        = YES
 DOT_CLEANUP            = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine   
-#---------------------------------------------------------------------------
-SEARCHENGINE           = NO
diff --git a/doc/user.tex b/doc/user.tex
index b5d248a..3c2a50c 100644
--- a/doc/user.tex
+++ b/doc/user.tex
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+% Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 %
 % This document describes the Parma Polyhedra Library (PPL).
 %
@@ -109,7 +109,7 @@ Tatiana Zolo
 \maketitle
 
 \newpage
-Copyright \copyright\ 2001--2009 Roberto Bagnara (bagnara at cs.unipr.it).
+Copyright \copyright\ 2001--2010 Roberto Bagnara (bagnara at cs.unipr.it).
 
 This document describes the Parma Polyhedra Library (PPL).
 
diff --git a/install-sh b/install-sh
index a5897de..3f83ce9 100755
--- a/install-sh
+++ b/install-sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2006-12-25.00
+scriptversion=2010-02-06.18; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -200,7 +200,11 @@ if test $# -eq 0; then
 fi
 
 if test -z "$dir_arg"; then
-  trap '(exit $?); exit' 1 2 13 15
+  do_exit='(exit $ret); exit $ret'
+  trap "ret=129; $do_exit" 1
+  trap "ret=130; $do_exit" 2
+  trap "ret=141; $do_exit" 13
+  trap "ret=143; $do_exit" 15
 
   # Set umask so as not to create temps with too-generous modes.
   # However, 'strip' requires both read and write access to temps.
@@ -515,5 +519,6 @@ done
 # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
 # End:
diff --git a/instchk.hh b/instchk.hh
index af1f251..0a07a08 100644
--- a/instchk.hh
+++ b/instchk.hh
@@ -1,6 +1,6 @@
 /* Fake declarations to test the validity of the arguments of the
    --enabled-instantiations option defined in configure.ac.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -377,4 +377,12 @@ public:
   }
 };
 
+template <typename D1, typename D2>
+class Shape_Preserving_Product {
+public:
+  static bool valid_instantiation() {
+    return D1::valid_Product_argument() && D2::valid_Product_argument();
+  }
+};
+
 } // namespace Parma_Polyhedra_Library
diff --git a/interfaces/C/C_interface.dox b/interfaces/C/C_interface.dox
index 4789230..1e12c63 100644
--- a/interfaces/C/C_interface.dox
+++ b/interfaces/C/C_interface.dox
@@ -1,5 +1,5 @@
 /* Doxumentation for the C language interface.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -1223,6 +1223,62 @@ ppl_Polyhedron_poly_difference_assign
 (ppl_Polyhedron_t x, ppl_const_Polyhedron_t y);
 
 /*! \relates ppl_Polyhedron_tag \brief
+  Assigns to \p ph the polyhedron obtained from \p ph by "wrapping" the vector
+  space defined by the first \p n space dimensions in \p ds[].
+
+  \param ph
+  The polyhedron that is transformed;
+
+  \param ds[]
+  Specifies the space dimensions to be wrapped.
+
+  \param n
+  The first \p n space dimensions in the array \p ds[] will be wrapped.
+
+  \param w
+  The width of the bounded integer type corresponding to
+  all the dimensions to be wrapped.
+
+  \param r
+  The representation of the bounded integer type corresponding to
+  all the dimensions to be wrapped.
+
+  \param o
+  The overflow behavior of the bounded integer type corresponding to
+  all the dimensions to be wrapped.
+
+  \param pcs
+  Possibly null pointer to a constraint system whose space dimensions
+  are the first \p n dimensions in \p ds[]. If <CODE>*pcs</CODE>
+  depends on variables not in \p vars, the behavior is undefined.
+  When non-null, the constraint system is assumed to
+  represent the conditional or looping construct guard with respect
+  to which wrapping is performed.  Since wrapping requires the
+  computation of upper bounds and due to non-distributivity of
+  constraint refinement over upper bounds, passing a constraint
+  system in this way can be more precise than refining the result of
+  the wrapping operation with the constraints in <CODE>cs</CODE>.
+
+  \param complexity_threshold
+  A precision parameter where higher values result in possibly improved
+  precision.
+
+  \param wrap_individually
+  Non-zero if the dimensions should be wrapped individually
+  (something that results in much greater efficiency to the detriment of
+  precision).
+  */
+  int wrap_assign(ppl_Polyhedron_t ph,
+                  ppl_dimension_type ds[],
+                  size_t n,
+                  ppl_enum_Bounded_Integer_Type_Width w,
+                  ppl_enum_Bounded_Integer_Type_Representation r,
+                  ppl_enum_Bounded_Integer_Type_Overflow o,
+                  const ppl_const_Constraint_System_t* pcs,
+                  unsigned complexity_threshold,
+                  int wrap_individually);
+
+/*! \relates ppl_Polyhedron_tag \brief
   If the polyhedron \p y is contained in (or equal to) the polyhedron
   \p x, assigns to \p x the \extref{BHRZ03_widening, BHRZ03-widening} of
   \p x and \p y.  If \p tp is not the null pointer, the
diff --git a/interfaces/C/Makefile.am b/interfaces/C/Makefile.am
index 40241ca..ea27234 100644
--- a/interfaces/C/Makefile.am
+++ b/interfaces/C/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -70,21 +70,44 @@ C_interface.dox
 #	    0.10		    2:0:0
 #	    0.10.1		    2:0:0 (was not updated by mistake)
 #	    0.10.2		    3:0:1
+#	    0.11		    4:0:0
 
-LIBPPL_C_LT_CURRENT =  3
+LIBPPL_C_LT_CURRENT =  4
 LIBPPL_C_LT_REVISION = 0
-LIBPPL_C_LT_AGE =      1
+LIBPPL_C_LT_AGE =      0
+
+
+if BUILD_WATCHDOG_LIBRARY
+
+WATCHDOG_LIBRARY = $(top_builddir)/Watchdog/src/libpwl.la
+WATCHDOG_INCLUDE_OPTIONS = -I$(top_builddir)/Watchdog/src
+
+endif BUILD_WATCHDOG_LIBRARY
+
+if HAVE_PERL
 
 ppl_c.h: ppl_c_header.h ppl_c_version.h ppl_c_domains.h Makefile $(top_builddir)/utils/build_header
 	$(top_builddir)/utils/build_header \
 		-I $(top_builddir)/interfaces/C -I $(top_srcdir)/src \
 		$(top_srcdir)/interfaces/C/ppl_c_header.h >$@
 
+else !HAVE_PERL
+
+ppl_c.h:	ppl_c.h.dist
+	cp -f $< $@
+
+endif !HAVE_PERL
+
 BUILT_SOURCES = \
 ppl_c.h \
 ppl_c_implementation_domains.hh \
 ppl_c_implementation_domains.cc.stamp
 
+# ppl_c.h is not distributed.
+# ppl_c.h.dist, which is distributed, is a copy of ppl_c.h.
+dist-hook:
+	mv -f $(distdir)/ppl_c.h $(distdir)/ppl_c.h.dist
+
 interface_generator_dependencies = \
 $(top_builddir)/interfaces/ppl_interface_instantiations.m4 \
 ../ppl_interface_generator_common.m4 \
@@ -101,8 +124,8 @@ ppl_c_implementation_domains.cc.stamp: $(interface_generator_dependencies)
 	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_c_cc_files.m4 \
                 > ppl_c_cc_blob
-	$(top_srcdir)/utils/cm_cleaner.sh < ppl_c_cc_blob
-	$(top_srcdir)/utils/cm_splitter.sh < ppl_c_cc_blob
+	$(top_srcdir)/utils/cm_cleaner.sh ./ppl_c_cc_blob
+	$(top_srcdir)/utils/cm_splitter.sh ./ppl_c_cc_blob
 	rm -f ppl_c_cc_blob
 	echo timestamp >$@
 
@@ -110,14 +133,15 @@ ppl_c_implementation_domains.hh: $(interface_generator_dependencies)
 	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_c_hh_files.m4 \
                 > ppl_c_hh_blob
-	$(top_srcdir)/utils/cm_cleaner.sh < ppl_c_hh_blob
-	$(top_srcdir)/utils/cm_splitter.sh < ppl_c_hh_blob
+	$(top_srcdir)/utils/cm_cleaner.sh ./ppl_c_hh_blob
+	$(top_srcdir)/utils/cm_splitter.sh ./ppl_c_hh_blob
 	rm -f ppl_c_hh_blob
 
 AM_CPPFLAGS = \
 -I$(top_srcdir)/interfaces \
 -I$(top_builddir)/interfaces/C \
 -I$(top_builddir)/src \
+$(WATCHDOG_INCLUDE_OPTIONS) \
 @extra_includes@
 
 lib_LTLIBRARIES = libppl_c.la
@@ -211,6 +235,7 @@ endif NO_UNDEFINED
 libppl_c_la_LIBADD = \
 @required_instantiations_c_cxx_objects@ \
 $(top_builddir)/src/libppl.la \
+$(WATCHDOG_LIBRARY) \
 @extra_libraries@
 
 libppl_c_la_DEPENDENCIES = \
@@ -220,7 +245,7 @@ libppl_c_la_LDFLAGS = \
 $(NO_UNDEFINED_FLAG) \
 -version-info $(LIBPPL_C_LT_CURRENT):$(LIBPPL_C_LT_REVISION):$(LIBPPL_C_LT_AGE)
 
-nodist_include_HEADERS = ppl_c.h
+include_HEADERS = ppl_c.h
 
 nodist_noinst_HEADERS = \
 ppl_c_domains.h \
diff --git a/interfaces/C/Makefile.in b/interfaces/C/Makefile.in
index 18f2556..3d4a150 100644
--- a/interfaces/C/Makefile.in
+++ b/interfaces/C/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -39,8 +40,9 @@
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -56,8 +58,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = interfaces/C
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-	$(srcdir)/ppl_c_version.h.in
+DIST_COMMON = $(include_HEADERS) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in $(srcdir)/ppl_c_version.h.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_fpu_control.m4 \
@@ -65,6 +67,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -86,49 +89,88 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES = ppl_c_version.h
+CONFIG_CLEAN_VPATH_FILES =
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
     *) f=$$p;; \
   esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
 am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"
-libLTLIBRARIES_INSTALL = $(INSTALL)
 LTLIBRARIES = $(lib_LTLIBRARIES)
 am_libppl_c_la_OBJECTS = ppl_c_implementation_common.lo
 nodist_libppl_c_la_OBJECTS =
 libppl_c_la_OBJECTS = $(am_libppl_c_la_OBJECTS) \
 	$(nodist_libppl_c_la_OBJECTS)
-libppl_c_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+libppl_c_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(libppl_c_la_LDFLAGS) $(LDFLAGS) -o $@
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_$(V))
+am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+am__v_CXX_0 = @echo "  CXX   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_$(V))
+am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo "  CC    " $@;
 CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo "  CCLD  " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libppl_c_la_SOURCES) $(nodist_libppl_c_la_SOURCES) \
 	$(nodist_EXTRA_libppl_c_la_SOURCES)
 DIST_SOURCES = $(libppl_c_la_SOURCES)
@@ -139,16 +181,44 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
 	install-pdf-recursive install-ps-recursive install-recursive \
 	installcheck-recursive installdirs-recursive pdf-recursive \
 	ps-recursive uninstall-recursive
-nodist_includeHEADERS_INSTALL = $(INSTALL_HEADER)
-HEADERS = $(nodist_include_HEADERS) $(nodist_noinst_HEADERS)
+HEADERS = $(include_HEADERS) $(nodist_noinst_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
   distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+	distdir
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -195,6 +265,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -212,8 +284,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -221,6 +303,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -237,12 +320,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -285,11 +371,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -319,6 +403,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -326,6 +411,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 SUBDIRS = . tests
 interface_generator_files = \
 ppl_interface_generator_c_procedure_generators.m4 \
@@ -376,9 +462,12 @@ C_interface.dox
 #	    0.10		    2:0:0
 #	    0.10.1		    2:0:0 (was not updated by mistake)
 #	    0.10.2		    3:0:1
-LIBPPL_C_LT_CURRENT = 3
+#	    0.11		    4:0:0
+LIBPPL_C_LT_CURRENT = 4
 LIBPPL_C_LT_REVISION = 0
-LIBPPL_C_LT_AGE = 1
+LIBPPL_C_LT_AGE = 0
+ at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_LIBRARY = $(top_builddir)/Watchdog/src/libpwl.la
+ at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_INCLUDE_OPTIONS = -I$(top_builddir)/Watchdog/src
 BUILT_SOURCES = \
 ppl_c.h \
 ppl_c_implementation_domains.hh \
@@ -396,6 +485,7 @@ AM_CPPFLAGS = \
 -I$(top_srcdir)/interfaces \
 -I$(top_builddir)/interfaces/C \
 -I$(top_builddir)/src \
+$(WATCHDOG_INCLUDE_OPTIONS) \
 @extra_includes@
 
 lib_LTLIBRARIES = libppl_c.la
@@ -482,6 +572,7 @@ ppl_c_Constraints_Product_Grid_NNC_Polyhedron.cc
 libppl_c_la_LIBADD = \
 @required_instantiations_c_cxx_objects@ \
 $(top_builddir)/src/libppl.la \
+$(WATCHDOG_LIBRARY) \
 @extra_libraries@
 
 libppl_c_la_DEPENDENCIES = \
@@ -491,7 +582,7 @@ libppl_c_la_LDFLAGS = \
 $(NO_UNDEFINED_FLAG) \
 -version-info $(LIBPPL_C_LT_CURRENT):$(LIBPPL_C_LT_REVISION):$(LIBPPL_C_LT_AGE)
 
-nodist_include_HEADERS = ppl_c.h
+include_HEADERS = ppl_c.h
 nodist_noinst_HEADERS = \
 ppl_c_domains.h \
 ppl_c_version.h
@@ -519,14 +610,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  interfaces/C/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  interfaces/C/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign interfaces/C/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign interfaces/C/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -544,25 +635,30 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 ppl_c_version.h: $(top_builddir)/config.status $(srcdir)/ppl_c_version.h.in
 	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
-	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+	list2=; for p in $$list; do \
 	  if test -f $$p; then \
-	    f=$(am__strip_dir) \
-	    echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
-	    $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+	    list2="$$list2 $$p"; \
 	  else :; fi; \
-	done
+	done; \
+	test -z "$$list2" || { \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+	}
 
 uninstall-libLTLIBRARIES:
 	@$(NORMAL_UNINSTALL)
-	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-	  p=$(am__strip_dir) \
-	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
-	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+	for p in $$list; do \
+	  $(am__strip_dir) \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
 	done
 
 clean-libLTLIBRARIES:
@@ -574,7 +670,7 @@ clean-libLTLIBRARIES:
 	  rm -f "$${dir}/so_locations"; \
 	done
 libppl_c.la: $(libppl_c_la_OBJECTS) $(libppl_c_la_DEPENDENCIES) 
-	$(libppl_c_la_LINK) -rpath $(libdir) $(libppl_c_la_OBJECTS) $(libppl_c_la_LIBADD) $(LIBS)
+	$(AM_V_CXXLD)$(libppl_c_la_LINK) -rpath $(libdir) $(libppl_c_la_OBJECTS) $(libppl_c_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -656,22 +752,25 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_c_implementation_common.Plo at am__quote@
 
 .cc.o:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
- at am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
@@ -681,23 +780,26 @@ mostlyclean-libtool:
 
 clean-libtool:
 	-rm -rf .libs _libs
-install-nodist_includeHEADERS: $(nodist_include_HEADERS)
+install-includeHEADERS: $(include_HEADERS)
 	@$(NORMAL_INSTALL)
 	test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
-	@list='$(nodist_include_HEADERS)'; for p in $$list; do \
+	@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  f=$(am__strip_dir) \
-	  echo " $(nodist_includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \
-	  $(nodist_includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
+	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
 	done
 
-uninstall-nodist_includeHEADERS:
+uninstall-includeHEADERS:
 	@$(NORMAL_UNINSTALL)
-	@list='$(nodist_include_HEADERS)'; for p in $$list; do \
-	  f=$(am__strip_dir) \
-	  echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(includedir)/$$f"; \
-	done
+	@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(includedir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(includedir)" && rm -f $$files
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -706,7 +808,7 @@ uninstall-nodist_includeHEADERS:
 #     (which will cause the Makefiles to be regenerated when you run `make');
 # (2) otherwise, pass the desired values on the `make' command line.
 $(RECURSIVE_TARGETS):
-	@failcom='exit 1'; \
+	@fail= failcom='exit 1'; \
 	for f in x $$MAKEFLAGS; do \
 	  case $$f in \
 	    *=* | --[!k]*);; \
@@ -723,7 +825,7 @@ $(RECURSIVE_TARGETS):
 	  else \
 	    local_target="$$target"; \
 	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
 	  || eval $$failcom; \
 	done; \
 	if test "$$dot_seen" = "no"; then \
@@ -731,7 +833,7 @@ $(RECURSIVE_TARGETS):
 	fi; test -z "$$fail"
 
 $(RECURSIVE_CLEAN_TARGETS):
-	@failcom='exit 1'; \
+	@fail= failcom='exit 1'; \
 	for f in x $$MAKEFLAGS; do \
 	  case $$f in \
 	    *=* | --[!k]*);; \
@@ -757,16 +859,16 @@ $(RECURSIVE_CLEAN_TARGETS):
 	  else \
 	    local_target="$$target"; \
 	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
 	  || eval $$failcom; \
 	done && test -z "$$fail"
 tags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
 	done
 ctags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
 	done
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -774,14 +876,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
 	  include_option=--etags-include; \
@@ -793,7 +895,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	list='$(SUBDIRS)'; for subdir in $$list; do \
 	  if test "$$subdir" = .; then :; else \
 	    test ! -f $$subdir/TAGS || \
-	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
 	  fi; \
 	done; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
@@ -802,29 +904,34 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -845,33 +952,51 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
-	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
 	  if test "$$subdir" = .; then :; else \
 	    test -d "$(distdir)/$$subdir" \
 	    || $(MKDIR_P) "$(distdir)/$$subdir" \
 	    || exit 1; \
-	    distdir=`$(am__cd) $(distdir) && pwd`; \
-	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
-	    (cd $$subdir && \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
 	      $(MAKE) $(AM_MAKEFLAGS) \
-	        top_distdir="$$top_distdir" \
-	        distdir="$$distdir/$$subdir" \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
 		am__remove_distdir=: \
 		am__skip_length_check=: \
+		am__skip_mode_fix=: \
 	        distdir) \
 	      || exit 1; \
 	  fi; \
 	done
+	$(MAKE) $(AM_MAKEFLAGS) \
+	  top_distdir="$(top_distdir)" distdir="$(distdir)" \
+	  dist-hook
 check-am: all-am
 check: $(BUILT_SOURCES)
 	$(MAKE) $(AM_MAKEFLAGS) check-recursive
@@ -904,6 +1029,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 	-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
 
 maintainer-clean-generic:
@@ -927,26 +1053,38 @@ dvi-am:
 
 html: html-recursive
 
+html-am:
+
 info: info-recursive
 
 info-am:
 
-install-data-am: install-nodist_includeHEADERS
+install-data-am: install-includeHEADERS
 
 install-dvi: install-dvi-recursive
 
+install-dvi-am:
+
 install-exec-am: install-libLTLIBRARIES
 
 install-html: install-html-recursive
 
+install-html-am:
+
 install-info: install-info-recursive
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-recursive
 
+install-pdf-am:
+
 install-ps: install-ps-recursive
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-recursive
@@ -967,33 +1105,42 @@ ps: ps-recursive
 
 ps-am:
 
-uninstall-am: uninstall-libLTLIBRARIES uninstall-nodist_includeHEADERS
+uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
-	install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \
+	ctags-recursive install install-am install-strip \
+	tags-recursive
 
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
 	all all-am check check-am clean clean-generic \
 	clean-libLTLIBRARIES clean-libtool ctags ctags-recursive \
-	distclean distclean-compile distclean-generic \
+	dist-hook distclean distclean-compile distclean-generic \
 	distclean-libtool distclean-tags distdir dvi dvi-am html \
 	html-am info info-am install install-am install-data \
 	install-data-am install-dvi install-dvi-am install-exec \
-	install-exec-am install-html install-html-am install-info \
-	install-info-am install-libLTLIBRARIES install-man \
-	install-nodist_includeHEADERS install-pdf install-pdf-am \
+	install-exec-am install-html install-html-am \
+	install-includeHEADERS install-info install-info-am \
+	install-libLTLIBRARIES install-man install-pdf install-pdf-am \
 	install-ps install-ps-am install-strip installcheck \
 	installcheck-am installdirs installdirs-am maintainer-clean \
 	maintainer-clean-generic mostlyclean mostlyclean-compile \
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-recursive uninstall uninstall-am \
-	uninstall-libLTLIBRARIES uninstall-nodist_includeHEADERS
+	uninstall-includeHEADERS uninstall-libLTLIBRARIES
 
 
-ppl_c.h: ppl_c_header.h ppl_c_version.h ppl_c_domains.h Makefile $(top_builddir)/utils/build_header
-	$(top_builddir)/utils/build_header \
-		-I $(top_builddir)/interfaces/C -I $(top_srcdir)/src \
-		$(top_srcdir)/interfaces/C/ppl_c_header.h >$@
+ at HAVE_PERL_TRUE@ppl_c.h: ppl_c_header.h ppl_c_version.h ppl_c_domains.h Makefile $(top_builddir)/utils/build_header
+ at HAVE_PERL_TRUE@	$(top_builddir)/utils/build_header \
+ at HAVE_PERL_TRUE@		-I $(top_builddir)/interfaces/C -I $(top_srcdir)/src \
+ at HAVE_PERL_TRUE@		$(top_srcdir)/interfaces/C/ppl_c_header.h >$@
+
+ at HAVE_PERL_FALSE@ppl_c.h:	ppl_c.h.dist
+ at HAVE_PERL_FALSE@	cp -f $< $@
+
+# ppl_c.h is not distributed.
+# ppl_c.h.dist, which is distributed, is a copy of ppl_c.h.
+dist-hook:
+	mv -f $(distdir)/ppl_c.h $(distdir)/ppl_c.h.dist
 
 ppl_c_domains.h: $(interface_generator_dependencies)
 	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
@@ -1003,8 +1150,8 @@ ppl_c_implementation_domains.cc.stamp: $(interface_generator_dependencies)
 	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_c_cc_files.m4 \
                 > ppl_c_cc_blob
-	$(top_srcdir)/utils/cm_cleaner.sh < ppl_c_cc_blob
-	$(top_srcdir)/utils/cm_splitter.sh < ppl_c_cc_blob
+	$(top_srcdir)/utils/cm_cleaner.sh ./ppl_c_cc_blob
+	$(top_srcdir)/utils/cm_splitter.sh ./ppl_c_cc_blob
 	rm -f ppl_c_cc_blob
 	echo timestamp >$@
 
@@ -1012,8 +1159,8 @@ ppl_c_implementation_domains.hh: $(interface_generator_dependencies)
 	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_c_hh_files.m4 \
                 > ppl_c_hh_blob
-	$(top_srcdir)/utils/cm_cleaner.sh < ppl_c_hh_blob
-	$(top_srcdir)/utils/cm_splitter.sh < ppl_c_hh_blob
+	$(top_srcdir)/utils/cm_cleaner.sh ./ppl_c_hh_blob
+	$(top_srcdir)/utils/cm_splitter.sh ./ppl_c_hh_blob
 	rm -f ppl_c_hh_blob
 
 $(top_builddir)/interfaces/ppl_interface_instantiations.m4:
@@ -1025,6 +1172,7 @@ $(top_builddir)/utils/build_header:
 # A selection of these files, which depends on the configure options,
 # is built by the `ppl_c_implementation_domains.cc.stamp' target.
 $(nodist_EXTRA_libppl_c_la_SOURCES):
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/interfaces/C/ppl_c.h.dist b/interfaces/C/ppl_c.h.dist
new file mode 100644
index 0000000..b5435c0
--- /dev/null
+++ b/interfaces/C/ppl_c.h.dist
@@ -0,0 +1,17272 @@
+/* This is the header file of the C interface of the Parma Polyhedra Library.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#ifndef PPL_ppl_c_h
+#define PPL_ppl_c_h 1
+
+/*!
+  \defgroup PPL_C_interface C Language Interface
+
+  The Parma Polyhedra Library comes equipped with an interface
+  for the C language.
+*/
+
+/*! \mainpage
+
+All the declarations needed for using the PPL's C interface
+(preprocessor symbols, data types, variables and
+functions) are collected in the header file <CODE>ppl_c.h</CODE>.
+This file, which is designed to work with pre-ANSI and ANSI C compilers
+as well as C99 and C++ compilers, should be included, either directly
+or via some other header file, with the directive
+\code
+#include <ppl_c.h>
+\endcode
+If this directive does not work, then your compiler is unable to find
+the file <CODE>ppl_c.h</CODE>. So check that the library is installed
+(if it is not installed, you may want to <CODE>make install</CODE>,
+perhaps with root privileges) in the right place
+(if not you may want to reconfigure the library using the appropriate
+pathname for the <CODE>--prefix</CODE> option); and that your compiler
+knows where it is installed (if not you should add the path to the
+directory where <CODE>ppl_c.h</CODE> is located to the compiler's
+include file search path; this is usually done with the
+<CODE>-I</CODE> option).
+
+The name space of the PPL's C interface is <CODE>PPL_*</CODE> for
+preprocessor symbols, enumeration values and variables; and
+<CODE>ppl_*</CODE> for data types and function names. The interface
+systematically uses <EM>opaque data types</EM> (generic pointers that
+completely hide the internal representations from the client code) and
+provides all required access functions. By using just the interface,
+the client code can exploit all the functionalities of the library yet
+avoid directly manipulating the library's data structures.  The advantages
+are that (1) applications do not depend on the internals of the library
+(these may change from release to release), and (2) the interface
+invariants can be thoroughly checked (by the access functions).
+
+\note
+All functions taking as input argument an opaque pointer datatype assume
+that such an argument is actually <em>referring to a valid PPL object</em>.
+For instance, a function with an argument having type
+<code>ppl_MIP_Problem_t</code> will expect a valid MIP_Problem object,
+previously initialized by calling, e.g., <code>ppl_new_MIP_Problem</code>.
+If that is not the case (e.g., if a null pointer is passed in),
+the behavior is undefined.
+
+The PPL's C interface is initialized by means of the
+<CODE>ppl_initialize</CODE> function.  This function must
+be called <EM>before using any other interface of the library</EM>.
+The application can release the resources allocated by the library by
+calling the <CODE>ppl_finalize</CODE> function. After this function
+is called <EM>no other interface of the library may be used</EM>
+until the interface is re-initialized using <CODE>ppl_initialize</CODE>.
+
+Any application using the PPL should make sure that only the
+intended version(s) of the library are ever used.  The version used can be
+checked at compile-time thanks to the macros PPL_VERSION_MAJOR,
+PPL_VERSION_MINOR, PPL_VERSION_REVISION and PPL_VERSION_BETA, which
+give, respectively major, minor, revision and beta numbers of the PPL
+version.  This is an example of their use:
+\code
+#if PPL_VERSION_MAJOR == 0 && PPL_VERSION_MINOR < 6
+# error "PPL version 0.6 or following is required"
+#endif
+\endcode
+Compile-time checking, however, is not normally enough, particularly in
+an environment where there is dynamic linking.  Run-time checking can
+be performed by means of the functions <CODE>ppl_version_major</CODE>,
+<CODE>ppl_version_minor</CODE>, <CODE>ppl_version_revision</CODE>, and
+<CODE>ppl_version_beta</CODE>. The PPL's C interface also provides
+functions <CODE>ppl_version</CODE>, returning character string
+containing the full version number, and <CODE>ppl_banner</CODE>,
+returning a string that, in addition, provides (pointers to) other
+useful information for the library user.
+
+All programs using the PPL's C interface must link with the
+following libraries: <CODE>libppl_c</CODE> (PPL's C interface),
+<CODE>libppl</CODE> (PPL's core), <CODE>libgmpxx</CODE> (GMP's C++
+interface), and <CODE>libgmp</CODE> (GMP's library core).  On most
+Unix-like systems, this is done by adding <CODE>-lppl_c</CODE>,
+<CODE>-lppl</CODE>, <CODE>-lgmpxx</CODE>, and <CODE>-lgmp</CODE> to
+the compiler's or linker's command line.  For example:
+\verbatim
+gcc myprogram.o -lppl_c -lppl -lgmpxx -lgmp
+\endverbatim
+If this does not work, it means that your compiler/linker is not
+finding the libraries where it expects.  Again, this could be because you
+forgot to install the library or you installed it in a non-standard
+location.  In the latter case you will need to use the appropriate
+options (usually <CODE>-L</CODE>) and, if you use shared libraries,
+some sort of run-time path selection mechanisms.  Consult your
+compiler's documentation for details.  Notice that the PPL is built
+using <A HREF="http://www.gnu.org/software/libtool/">Libtool</A> and
+an application can exploit this fact to significantly simplify the
+linking phase.  See Libtool's documentation for details.  Those
+working under Linux can find a lot of useful information on how to use
+program libraries (including static, shared, and dynamically loaded
+libraries) in the
+<A HREF="http://www.dwheeler.com/program-library/">Program Library
+HOWTO</A>.
+
+For examples on how to use the functions provided by the C interface,
+you are referred to the directory <CODE>demos/ppl_lpsol/</CODE> in
+the source distribution.  It contains a <EM>Mixed Integer (Linear)
+Programming</EM> solver written in C.  In order to use this solver
+you will need to install
+<A HREF="http://www.gnu.org/software/glpk/">GLPK</A> (the GNU Linear
+Programming Kit): this is used to read linear programs in MPS format.
+*/ /* \mainpage */
+
+/*
+  For some reason, GMP up to and including version 4.1.3 requires
+  <stdio.h> to be included before <gmp.h>.
+*/
+
+#include <stdio.h>
+#include <gmp.h>
+#include <stddef.h>
+
+/*
+  PPL_PROTO is a macro used to wrap function prototypes, so that
+  compilers that don't understand ANSI C prototypes still work, and
+  ANSI C compilers can issue warnings about type mismatches.
+*/
+#if defined(__STDC__)                              \
+  || defined(__cplusplus)                          \
+  || defined (_AIX)                                \
+  || (defined (__mips) && defined (_SYSTYPE_SVR4)) \
+  || defined(_WIN32)
+# define PPL_PROTO(protos) protos
+#else
+# define PPL_PROTO(protos) ()
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*! \defgroup Init Library Initialization and Finalization
+  Functions for initialization/finalization of the library,
+  as well as setting/resetting of floating-point rounding mode.
+*/
+/*@{*/
+
+/*! \brief
+  Initializes the Parma Polyhedra Library.
+  This function must be called before any other function.
+
+  \return
+  <CODE>PPL_ERROR_INVALID_ARGUMENT</CODE> if the library
+  was already initialized.
+*/
+int
+ppl_initialize PPL_PROTO((void));
+
+/*! \brief
+  Finalizes the Parma Polyhedra Library.
+  This function must be called after any other function.
+
+  \return
+  <CODE>PPL_ERROR_INVALID_ARGUMENT</CODE> if the library
+  was already finalized.
+*/
+int
+ppl_finalize PPL_PROTO((void));
+
+/*! \brief
+  Sets the FPU rounding mode so that the PPL abstractions based on
+  floating point numbers work correctly.
+
+  This is performed automatically at initialization-time.  Calling
+  this function is needed only if restore_pre_PPL_rounding() has been
+  previously called.
+*/
+int
+ppl_set_rounding_for_PPL PPL_PROTO((void));
+
+/*! \brief
+  Sets the FPU rounding mode as it was before initialization of the PPL.
+
+  After calling this function it is absolutely necessary to call
+  set_rounding_for_PPL() before using any PPL abstractions based on
+  floating point numbers.
+  This is performed automatically at finalization-time.
+*/
+int
+ppl_restore_pre_PPL_rounding PPL_PROTO((void));
+
+/*! \brief
+  Writes to \p p the precision parameter used for irrational calculations.
+*/
+int
+ppl_irrational_precision PPL_PROTO((unsigned* p));
+
+/*! \brief
+  Sets the precision parameter used for irrational calculations.
+
+  If \p p is less than or equal to <CODE>INT_MAX</CODE>, sets the
+  precision parameter used for irrational calculations to \p p.
+  Then, in the irrational calculations returning an unbounded rational,
+  (e.g., when computing a square root), the lesser between numerator
+  and denominator will be limited to 2**\p p.
+*/
+int
+ppl_set_irrational_precision PPL_PROTO((unsigned p));
+
+/*@}*/ /* Init */
+
+/*! \defgroup Version Version Checking
+  Symbolic constants and functions related to library version checking.
+*/
+/*@{*/
+
+/* Automatically generated from PPL source file ../../interfaces/C/ppl_c_version.h line 1. */
+/* Header file providing version information for the C interface.  -*- C -*-
+*/
+
+/*! \brief
+  A string containing the PPL version.
+
+  \ingroup Version
+  Let <CODE>M</CODE> and <CODE>m</CODE> denote the numbers associated
+  to PPL_VERSION_MAJOR and PPL_VERSION_MINOR, respectively.  The
+  format of PPL_VERSION is <CODE>M "." m</CODE> if both
+  PPL_VERSION_REVISION (<CODE>r</CODE>) and PPL_VERSION_BETA
+  (<CODE>b</CODE>)are zero, <CODE>M "." m "pre" b</CODE> if
+  PPL_VERSION_REVISION is zero and PPL_VERSION_BETA is not zero,
+  <CODE>M "." m "." r</CODE> if PPL_VERSION_REVISION is not zero and
+  PPL_VERSION_BETA is zero, <CODE>M "." m "." r "pre" b</CODE> if
+  neither PPL_VERSION_REVISION nor PPL_VERSION_BETA are zero.
+*/
+#define PPL_VERSION "0.11"
+
+/*! \brief
+  The major number of the PPL version.
+  \ingroup Version
+*/
+#define PPL_VERSION_MAJOR 0
+
+/*! \brief
+  The minor number of the PPL version.
+  \ingroup Version
+*/
+#define PPL_VERSION_MINOR 11
+
+/*! \brief
+  The revision number of the PPL version.
+  \ingroup Version
+*/
+#define PPL_VERSION_REVISION 0
+
+/*! \brief
+  The beta number of the PPL version.  This is zero for official
+  releases and nonzero for development snapshots.
+  \ingroup Version
+*/
+#define PPL_VERSION_BETA 0
+
+/*! \brief
+  Returns the major number of the PPL version.
+*/
+int
+ppl_version_major PPL_PROTO((void));
+
+/*! \brief
+  Returns the minor number of the PPL version.
+*/
+int
+ppl_version_minor PPL_PROTO((void));
+
+/*! \brief
+  Returns the revision number of the PPL version.
+*/
+int
+ppl_version_revision PPL_PROTO((void));
+
+/*! \brief
+  Returns the beta number of the PPL version.
+*/
+int
+ppl_version_beta PPL_PROTO((void));
+
+/*! \brief
+  Writes to \c *p a pointer to a character string containing the
+  PPL version.
+*/
+int
+ppl_version PPL_PROTO((const char** p));
+
+/*! \brief
+  Writes to \c *p a pointer to a character string containing the PPL banner.
+
+  The banner provides information about the PPL version, the licensing,
+  the lack of any warranty whatsoever, the C++ compiler used to build
+  the library, where to report bugs and where to look for further
+  information.
+*/
+int
+ppl_banner PPL_PROTO((const char** p));
+
+/*@}*/ /* Version Checking */
+
+/*! \defgroup Error Error Handling
+  Symbolic constants and functions related to error reporting/handling.
+*/
+/*@{*/
+
+/*! \brief
+  Defines the error codes that any function may return.
+*/
+enum ppl_enum_error_code {
+  /*! \hideinitializer
+    The virtual memory available to the process has been exhausted. */
+  PPL_ERROR_OUT_OF_MEMORY = -2,
+  /*! \hideinitializer
+    A function has been invoked with an invalid argument. */
+  PPL_ERROR_INVALID_ARGUMENT = -3,
+  /*! \hideinitializer
+    A function has been invoked outside its domain of definition. */
+  PPL_ERROR_DOMAIN_ERROR = -4,
+  /*! \hideinitializer
+    The construction of an object that would exceed its maximum
+    permitted size was attempted. */
+  PPL_ERROR_LENGTH_ERROR = -5,
+  /*! \hideinitializer
+    An arithmetic overflow occurred and the computation was consequently
+    interrupted.  This can <EM>only</EM> happen in library's incarnations
+    using bounded integers as coefficients. */
+  PPL_ARITHMETIC_OVERFLOW = -6,
+  /*! \hideinitializer
+    An error occurred during a C input/output operation.  A more
+    precise indication of what went wrong is available via
+    <CODE>errno</CODE>. */
+  PPL_STDIO_ERROR = -7,
+  /*! \hideinitializer
+    An internal error that was diagnosed by the PPL itself.
+    This indicates a bug in the PPL. */
+  PPL_ERROR_INTERNAL_ERROR = -8,
+  /*! \hideinitializer
+    A standard exception has been raised by the C++ run-time environment.
+    This indicates a bug in the PPL. */
+  PPL_ERROR_UNKNOWN_STANDARD_EXCEPTION = -9,
+  /*! \hideinitializer
+    A totally unknown, totally unexpected error happened.
+    This indicates a bug in the PPL. */
+  PPL_ERROR_UNEXPECTED_ERROR = -10,
+  /*! \hideinitializer
+    An exception has been raised by the PPL as a timeout previously set
+    by the user has expired.
+  */
+  PPL_TIMEOUT_EXCEPTION = -11,
+  /*! \hideinitializer
+    The client program attempted to use the PPL in a way that violates
+    its internal logic.  This happens, for instance, when the client
+    attempts to use the timeout facilities on a system that does not
+    support them. */
+  PPL_ERROR_LOGIC_ERROR = -12
+};
+
+/*! \brief
+  Installs the user-defined error handler pointed at by \p h.
+
+  The error handler takes an error code and a textual description that
+  gives further information about the actual error.  The C string
+  containing the textual description is read-only and its existence is
+  not guaranteed after the handler has returned.
+*/
+int
+ppl_set_error_handler PPL_PROTO((void (*h)(enum ppl_enum_error_code code,
+					   const char* description)));
+
+/*@}*/ /* Error */
+
+/*! \defgroup Timeout Handling
+  Functions for setting and resetting timeouts.
+*/
+/*@{*/
+
+/*! \brief
+  Sets the timeout for computations whose completion could require
+  an exponential amount of time.
+
+  \param time
+  The number of hundreths of seconds.
+  It must be strictly greater than zero.
+
+  Computations taking exponential time will be interrupted some time
+  after \p time hundreths of seconds have elapsed since the call to
+  the timeout setting function. If the computation is interrupted that
+  way, the interrupted function will return error code
+  <code>PPL_TIMEOUT_EXCEPTION</code>.
+  Otherwise, if the computation completes without being interrupted,
+  then the timeout should be reset by calling
+  <code>ppl_reset_timeout()</code>.
+*/
+int
+ppl_set_timeout PPL_PROTO((unsigned time));
+
+/*! \brief
+  Resets the timeout time so that the computation is not interrupted.
+*/
+int
+ppl_reset_timeout PPL_PROTO((void));
+
+/*! \brief
+  Sets a threshold for computations whose completion could require
+  an exponential amount of time.
+
+  \param weight
+  The maximum computational weight allowed.
+  It must be strictly greater than zero.
+
+  Computations taking exponential time will be interrupted some time
+  after reaching the \p weight complexity threshold. If the computation
+  is interrupted that way, the interrupted function will return error code
+  <code>PPL_TIMEOUT_EXCEPTION</code>.
+  Otherwise, if the computation completes without being interrupted,
+  then the deterministic timeout should be reset by calling
+  <code>ppl_reset_deterministic_timeout()</code>.
+
+  \note
+  This "timeout" checking functionality is said to be \e deterministic
+  because it is not based on actual elapsed time. Its behavior will
+  only depend on (some of the) computations performed in the PPL library
+  and it will be otherwise independent from the computation environment
+  (CPU, operating system, compiler, etc.).
+
+  \warning
+  The weight mechanism is under alpha testing. In particular,
+  there is still no clear relation between the weight threshold and
+  the actual computational complexity. As a consequence, client
+  applications should be ready to reconsider the tuning of these
+  weight thresholds when upgrading to newer version of the PPL.
+*/
+int
+ppl_set_deterministic_timeout PPL_PROTO((unsigned weight));
+
+/*! \brief
+  Resets the deterministic timeout so that the computation is not interrupted.
+*/
+int
+ppl_reset_deterministic_timeout PPL_PROTO((void));
+
+/*@}*/ /* Timeout Handling */
+
+/*! \defgroup Datatypes Library Datatypes
+  \brief
+  Typedefs for the library datatypes and related symbolic constants.
+
+  The datatypes provided by the library should be manipulated
+  by means of the corresponding opaque pointer types and
+  the functions working on them.
+
+  \note
+  To simplify the detection of common programming mistakes,
+  we provide both pointer-to-const and pointer-to-nonconst
+  opaque pointers, with implicit conversions mapping each
+  pointer-to-nonconst to the corresponding pointer-to-const when needed.
+  The user of the C interface is therefore recommended to adopt
+  the pointer-to-const type whenever read-only access is meant.
+*/
+/*@{*/
+
+/*! \brief
+  An unsigned integral type for representing space dimensions.
+*/
+typedef size_t ppl_dimension_type;
+
+/*! \brief
+  Writes to \p m the maximum space dimension this library can handle.
+*/
+int
+ppl_max_space_dimension PPL_PROTO((ppl_dimension_type* m));
+
+/*! \brief
+  Writes to \p m a value that does not designate a valid dimension.
+*/
+int
+ppl_not_a_dimension PPL_PROTO((ppl_dimension_type* m));
+
+/*! \brief
+  Pretty-prints \p var to <CODE>stdout</CODE>.
+*/
+int
+ppl_io_print_variable PPL_PROTO((ppl_dimension_type var));
+
+/*! \brief
+  Pretty-prints \p var to the given output \p stream.
+*/
+int
+ppl_io_fprint_variable PPL_PROTO((FILE* stream, ppl_dimension_type var));
+
+/*! \brief
+  Pretty-prints \p var to a malloc-allocated string, a pointer to which
+  is returned via \p strp.
+*/
+int
+ppl_io_asprint_variable PPL_PROTO((char** strp, ppl_dimension_type var));
+
+/*! \brief
+  The type of output functions used for printing variables.
+
+  An output function for variables must write a textual representation
+  for \p var to a character buffer, null-terminate it, and return a
+  pointer to the beginning of the buffer.  In case the operation fails,
+  0 should be returned and perhaps <CODE>errno</CODE> should be set
+  in a meaningful way.  The library does nothing with the buffer, besides
+  printing its contents.
+*/
+typedef const char*
+ppl_io_variable_output_function_type(ppl_dimension_type var);
+
+/*! \brief
+  Sets the output function to be used for printing variables to \p p.
+*/
+int
+ppl_io_set_variable_output_function(ppl_io_variable_output_function_type* p);
+
+/*! \brief
+  Writes a pointer to the current variable output function to \p pp.
+*/
+int
+ppl_io_get_variable_output_function(ppl_io_variable_output_function_type** pp);
+
+/*! \brief Utility function for the wrapping of lines of text.
+
+  \param src
+  The source string holding the text to wrap.
+
+  \param indent_depth
+  The indentation depth.
+
+  \param preferred_first_line_length
+  The preferred length for the first line of text.
+
+  \param preferred_line_length
+  The preferred length for all the lines but the first one.
+
+  \return
+  The wrapped string in a malloc-allocated buffer.
+*/
+char*
+ppl_io_wrap_string(const char* src,
+		   unsigned indent_depth,
+		   unsigned preferred_first_line_length,
+		   unsigned preferred_line_length);
+
+/*@}*/ /* Datatypes */
+
+#undef PPL_TYPE_DECLARATION
+
+#define PPL_TYPE_DECLARATION(Type)                                    \
+/*! \brief Opaque pointer \ingroup Datatypes */                       \
+typedef struct ppl_##Type##_tag* ppl_##Type##_t;                      \
+/*! \brief Opaque pointer to const object \ingroup Datatypes */       \
+typedef struct ppl_##Type##_tag const* ppl_const_##Type##_t;
+
+/*! \interface ppl_Coefficient_tag
+  \brief
+  Types and functions for coefficients.
+
+  The types and functions for coefficients provide an interface towards
+  \extref{Parma_Polyhedra_Library::Coefficient, Coefficient}.
+  Depending on configuration, the PPL coefficients may be implemented
+  by the unbounded precision integers provided by GMP (default),
+  or by bounded precision integers (with checks for overflows).
+*/
+PPL_TYPE_DECLARATION(Coefficient)
+
+/*! \interface ppl_Linear_Expression_tag
+  \brief
+  Types and functions for linear expressions.
+
+  The types and functions for linear expression provide an interface towards
+  \extref{Parma_Polyhedra_Library::Linear_Expression, Linear_Expression}.
+*/
+PPL_TYPE_DECLARATION(Linear_Expression)
+
+/*! \interface ppl_Constraint_tag
+  \brief
+  Types and functions for constraints.
+
+  The types and functions for constraints provide an interface towards
+  \extref{Parma_Polyhedra_Library::Constraint, Constraint}.
+*/
+PPL_TYPE_DECLARATION(Constraint)
+
+/*! \interface ppl_Constraint_System_tag
+  \brief
+  Types and functions for constraint systems.
+
+  The types and functions for constraint systems provide an interface
+  towards
+  \extref{Parma_Polyhedra_Library::Constraint_System, Constraint_System}.
+*/
+PPL_TYPE_DECLARATION(Constraint_System)
+
+/*! \interface ppl_Constraint_System_const_iterator_tag
+  \brief
+  Types and functions for iterating on constraint systems.
+
+  The types and functions for constraint systems iterators provide
+  read-only access to the elements of a constraint system by interfacing
+  \extref{Parma_Polyhedra_Library::Constraint_System::const_iterator,
+  Constraint_System::const_iterator}.
+*/
+PPL_TYPE_DECLARATION(Constraint_System_const_iterator)
+
+/*! \interface ppl_Generator_tag
+  \brief
+  Types and functions for generators.
+
+  The types and functions for generators provide an interface
+  towards \extref{Parma_Polyhedra_Library::Generator, Generator}.
+*/
+PPL_TYPE_DECLARATION(Generator)
+
+/*! \interface ppl_Generator_System_tag
+  \brief
+  Types and functions for generator systems.
+
+  The types and functions for generator systems provide an interface
+  towards
+  \extref{Parma_Polyhedra_Library::Generator_System, Generator_System}.
+*/
+PPL_TYPE_DECLARATION(Generator_System)
+
+/*! \interface ppl_Generator_System_const_iterator_tag
+  \brief
+  Types and functions for iterating on generator systems.
+
+  The types and functions for generator systems iterators provide
+  read-only access to the elements of a generator system by interfacing
+  \extref{Parma_Polyhedra_Library::Generator_System::const_iterator,
+  Generator_System::const_iterator}.
+*/
+PPL_TYPE_DECLARATION(Generator_System_const_iterator)
+
+/*! \interface ppl_Congruence_tag
+  \brief
+  Types and functions for congruences.
+
+  The types and functions for congruences provide an interface
+  towards \extref{Parma_Polyhedra_Library::Congruence, Congruence}.
+*/
+PPL_TYPE_DECLARATION(Congruence)
+
+/*! \interface ppl_Congruence_System_tag
+  \brief
+  Types and functions for congruence systems.
+
+  The types and functions for congruence systems provide an interface
+  towards
+  \extref{Parma_Polyhedra_Library::Congruence_System, Congruence_System}.
+*/
+PPL_TYPE_DECLARATION(Congruence_System)
+
+/*! \interface ppl_Congruence_System_const_iterator_tag
+  \brief
+  Types and functions for iterating on congruence systems.
+
+  The types and functions for congruence systems iterators provide
+  read-only access to the elements of a congruence system by interfacing
+  \extref{Parma_Polyhedra_Library::Congruence_System::const_iterator,
+  Congruence_System::const_iterator}.
+*/
+PPL_TYPE_DECLARATION(Congruence_System_const_iterator)
+
+/*! \interface ppl_Grid_Generator_tag
+  \brief
+  Types and functions for grid generators.
+
+  The types and functions for grid generators provide an interface
+  towards \extref{Parma_Polyhedra_Library::Grid_Generator, Grid_Generator}.
+*/
+PPL_TYPE_DECLARATION(Grid_Generator)
+
+/*! \interface ppl_Grid_Generator_System_tag
+  \brief
+  Types and functions for grid generator systems.
+
+  The types and functions for grid generator systems provide an interface
+  towards
+  \extref{Parma_Polyhedra_Library::Grid_Generator_System,
+  Grid_Generator_System}.
+*/
+PPL_TYPE_DECLARATION(Grid_Generator_System)
+
+/*! \interface ppl_Grid_Generator_System_const_iterator_tag
+  \brief
+  Types and functions for iterating on grid generator systems.
+
+  The types and functions for grid generator systems iterators provide
+  read-only access to the elements of a grid generator system by interfacing
+  \extref{Parma_Polyhedra_Library::Grid_Generator_System::const_iterator,
+  Grid_Generator_System::const_iterator}.
+*/
+PPL_TYPE_DECLARATION(Grid_Generator_System_const_iterator)
+
+/*! \interface ppl_MIP_Problem_tag
+  \brief
+  Types and functions for MIP problems.
+
+  The types and functions for MIP problems provide an interface
+  towards \extref{Parma_Polyhedra_Library::MIP_Problem, MIP_Problem}.
+*/
+PPL_TYPE_DECLARATION(MIP_Problem)
+
+/*! \interface ppl_PIP_Problem_tag
+  \brief
+  Types and functions for PIP problems.
+
+  The types and functions for PIP problems provide an interface
+  towards \extref{Parma_Polyhedra_Library::PIP_Problem, PIP_Problem}.
+*/
+PPL_TYPE_DECLARATION(PIP_Problem)
+
+/*! \interface ppl_PIP_Tree_Node_tag
+  \brief
+  Types and functions for generic PIP tree nodes.
+
+  The types and functions for tree nodes provide an interface
+  towards \extref{Parma_Polyhedra_Library::PIP_Tree_Node, PIP_Tree_Node}.
+*/
+PPL_TYPE_DECLARATION(PIP_Tree_Node)
+
+/*! \interface ppl_PIP_Decision_Node_tag
+  \brief
+  Types and functions for PIP decision nodes.
+
+  The types and functions for decision nodes provide an interface towards
+  \extref{Parma_Polyhedra_Library::PIP_Decision_Node, PIP_Decision_Node}.
+*/
+PPL_TYPE_DECLARATION(PIP_Decision_Node)
+
+/*! \interface ppl_PIP_Solution_Node_tag
+  \brief
+  Types and functions for PIP solution nodes.
+
+  The types and functions for solution nodes provide an interface towards
+  \extref{Parma_Polyhedra_Library::PIP_Solution_Node, PIP_Solution_Node}.
+*/
+PPL_TYPE_DECLARATION(PIP_Solution_Node)
+
+/*! \interface ppl_Artificial_Parameter_tag
+  \brief
+  Types and functions for PIP artificial parameters.
+
+  The types and functions for PIP artificial parameters provide
+  an interface towards
+  \extref{Parma_Polyhedra_Library::PIP_Tree_Node::Artificial_Parameter, Artificial_Parameter}.
+*/
+PPL_TYPE_DECLARATION(Artificial_Parameter)
+PPL_TYPE_DECLARATION(Artificial_Parameter_Sequence)
+
+/*! \interface ppl_Artificial_Parameter_Sequence_const_iterator_tag
+  \brief
+  Types and functions for iterating on PIP artificial parameters.
+*/
+PPL_TYPE_DECLARATION(Artificial_Parameter_Sequence_const_iterator)
+
+
+#undef PPL_DECLARE_PRINT_FUNCTIONS
+#undef PPL_DECLARE_ASCII_DUMP_LOAD_FUNCTIONS
+#undef PPL_DECLARE_IO_FUNCTIONS
+#undef PPL_DECLARE_AND_DOCUMENT_PRINT_FUNCTIONS
+#undef PPL_DECLARE_AND_DOCUMENT_ASCII_DUMP_LOAD_FUNCTIONS
+#undef PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS
+
+#define PPL_DECLARE_PRINT_FUNCTIONS(Type)                               \
+/*! \relates ppl_##Type##_tag */                                        \
+int                                                                     \
+ppl_io_print_##Type PPL_PROTO((ppl_const_##Type##_t x));                \
+/*! \relates ppl_##Type##_tag */                                        \
+int                                                                     \
+ppl_io_fprint_##Type PPL_PROTO((FILE* stream, ppl_const_##Type##_t x)); \
+/*! \relates ppl_##Type##_tag */                                        \
+int                                                                     \
+ppl_io_asprint_##Type PPL_PROTO((char** strp, ppl_const_##Type##_t x));
+
+#define PPL_DECLARE_ASCII_DUMP_LOAD_FUNCTIONS(Type) \
+/*! \relates ppl_##Type##_tag */                    \
+int                                                 \
+ppl_##Type##_ascii_dump                             \
+PPL_PROTO((ppl_const_##Type##_t x, FILE* stream));  \
+/*! \relates ppl_##Type##_tag */                    \
+int                                                 \
+ppl_##Type##_ascii_load                             \
+PPL_PROTO((ppl_##Type##_t x, FILE* stream));
+
+#define PPL_DECLARE_IO_FUNCTIONS(Type)      \
+PPL_DECLARE_PRINT_FUNCTIONS(Type)           \
+PPL_DECLARE_ASCII_DUMP_LOAD_FUNCTIONS(Type)
+
+#define PPL_DECLARE_AND_DOCUMENT_PRINT_FUNCTIONS(Type)                  \
+/*! \relates ppl_##Type##_tag \brief Prints \p x to \c stdout. */       \
+int                                                                     \
+ppl_io_print_##Type PPL_PROTO((ppl_const_##Type##_t x));                \
+/*! \relates ppl_##Type##_tag \brief Prints \p x to the given output \p stream. */ \
+int                                                                     \
+ppl_io_fprint_##Type PPL_PROTO((FILE* stream, ppl_const_##Type##_t x)); \
+/*! \relates ppl_##Type##_tag \brief Prints \p x to a malloc-allocated string, a pointer to which is returned via \p strp. */ \
+int                                                                     \
+ppl_io_asprint_##Type PPL_PROTO((char** strp, ppl_const_##Type##_t x));
+
+
+#define PPL_DECLARE_AND_DOCUMENT_ASCII_DUMP_LOAD_FUNCTIONS(Type) \
+/*! \relates ppl_##Type##_tag \brief Dumps an ascii representation of \p x on \p stream. */ \
+int                                                              \
+ppl_##Type##_ascii_dump                                          \
+PPL_PROTO((ppl_const_##Type##_t x, FILE* stream));               \
+/*! \relates ppl_##Type##_tag \brief Loads an ascii representation of \p x from \p stream. */ \
+int                                                              \
+ppl_##Type##_ascii_load                                          \
+PPL_PROTO((ppl_##Type##_t x, FILE* stream));
+
+#define PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(Type)      \
+/*! \brief \name Input/Output Functions */               \
+/*@{*/                                                   \
+PPL_DECLARE_AND_DOCUMENT_PRINT_FUNCTIONS(Type)           \
+PPL_DECLARE_AND_DOCUMENT_ASCII_DUMP_LOAD_FUNCTIONS(Type) \
+/*@}*/ /* Input/Output Functions */
+
+
+/*! \brief \name Constructors, Assignment and Destructor */
+/*@{*/
+
+/*! \relates ppl_Coefficient_tag \brief
+  Creates a new coefficient with value 0 and writes a handle for the
+  newly created coefficient at address \p pc.
+*/
+int
+ppl_new_Coefficient PPL_PROTO((ppl_Coefficient_t* pc));
+
+/*! \relates ppl_Coefficient_tag \brief
+  Creates a new coefficient with the value given by the GMP integer
+  \p z and writes a handle for the newly created coefficient
+  at address \p pc.
+*/
+int
+ppl_new_Coefficient_from_mpz_t PPL_PROTO((ppl_Coefficient_t* pc, mpz_t z));
+
+/*! \relates ppl_Coefficient_tag \brief
+  Builds a coefficient that is a copy of \p c; writes a handle
+  for the newly created coefficient at address \p pc.
+*/
+int
+ppl_new_Coefficient_from_Coefficient PPL_PROTO((ppl_Coefficient_t* pc,
+						ppl_const_Coefficient_t c));
+
+/*! \relates ppl_Coefficient_tag \brief
+  Assign to \p dst the value given by the GMP integer \p z.
+*/
+int
+ppl_assign_Coefficient_from_mpz_t PPL_PROTO((ppl_Coefficient_t dst, mpz_t z));
+
+/*! \relates ppl_Coefficient_tag \brief
+  Assigns a copy of the coefficient \p src to \p dst.
+*/
+int
+ppl_assign_Coefficient_from_Coefficient
+PPL_PROTO((ppl_Coefficient_t dst, ppl_const_Coefficient_t src));
+
+/*! \relates ppl_Coefficient_tag \brief
+  Invalidates the handle \p c: this makes sure the corresponding
+  resources will eventually be released.
+*/
+int
+ppl_delete_Coefficient PPL_PROTO((ppl_const_Coefficient_t c));
+
+/*@}*/ /* Constructors, Assignment and Destructor */
+
+/*! \brief \name Read-Only Accessor Functions */
+/*@{*/
+
+/*! \relates ppl_Coefficient_tag \brief
+  Sets the value of the GMP integer \p z to the value of \p c.
+*/
+int
+ppl_Coefficient_to_mpz_t PPL_PROTO((ppl_const_Coefficient_t c, mpz_t z));
+
+/*! \relates ppl_Coefficient_tag \brief
+  Returns a positive integer if \p c is well formed, i.e., if it
+  satisfies all its implementation invariants; returns 0 and perhaps
+  makes some noise if \p c is broken.  Useful for debugging purposes.
+*/
+int
+ppl_Coefficient_OK PPL_PROTO((ppl_const_Coefficient_t c));
+
+/*! \relates ppl_Coefficient_tag \brief
+  Returns a positive integer if coefficients are bounded; returns 0
+  otherwise.
+*/
+int
+ppl_Coefficient_is_bounded PPL_PROTO((void));
+
+/*! \relates ppl_Coefficient_tag \brief
+  Returns a positive integer if coefficients are bounded, in which case
+  \p min is set to their minimum value; returns 0 otherwise.
+*/
+int
+ppl_Coefficient_min PPL_PROTO((mpz_t min));
+
+/*! \relates ppl_Coefficient_tag \brief
+  Returns a positive integer if coefficients are bounded, in which case
+  \p max is set to their maximum value; returns 0 otherwise.
+*/
+int
+ppl_Coefficient_max PPL_PROTO((mpz_t max));
+
+/*@}*/ /* Read-Only Accessor Functions */
+
+/* No ascii dump for Coefficient */
+/*! \brief \name I/O Functions */
+/*@{*/
+PPL_DECLARE_AND_DOCUMENT_PRINT_FUNCTIONS(Coefficient)
+/*@}*/ /* I/O Functions */
+
+
+/*! \brief \name Constructors, Assignment and Destructor */
+/*@{*/
+
+/*! \relates ppl_Linear_Expression_tag \brief
+  Creates a new linear expression corresponding to the constant 0 in a
+  zero-dimensional space; writes a handle for the new linear
+  expression at address \p ple.
+*/
+int
+ppl_new_Linear_Expression PPL_PROTO((ppl_Linear_Expression_t* ple));
+
+/*! \relates ppl_Linear_Expression_tag \brief
+  Creates a new linear expression corresponding to the constant 0 in a
+  <TT>d</TT>-dimensional space; writes a handle for the new linear
+  expression at address \p ple.
+*/
+int
+ppl_new_Linear_Expression_with_dimension
+PPL_PROTO((ppl_Linear_Expression_t* ple, ppl_dimension_type d));
+
+/*! \relates ppl_Linear_Expression_tag \brief
+  Builds a linear expression that is a copy of \p le; writes a handle
+  for the newly created linear expression at address \p ple.
+*/
+int
+ppl_new_Linear_Expression_from_Linear_Expression
+PPL_PROTO((ppl_Linear_Expression_t* ple, ppl_const_Linear_Expression_t le));
+
+/*! \relates ppl_Linear_Expression_tag \brief
+  Builds a linear expression corresponding to constraint \p c;
+  writes a handle for the newly created linear expression at address \p ple.
+*/
+int
+ppl_new_Linear_Expression_from_Constraint
+PPL_PROTO((ppl_Linear_Expression_t* ple, ppl_const_Constraint_t c));
+
+/*! \relates ppl_Linear_Expression_tag \brief
+  Builds a linear expression corresponding to generator \p g;
+  writes a handle for the newly created linear expression at address \p ple.
+*/
+int
+ppl_new_Linear_Expression_from_Generator
+PPL_PROTO((ppl_Linear_Expression_t* ple, ppl_const_Generator_t g));
+
+/*! \relates ppl_Linear_Expression_tag \brief
+  Builds a linear expression corresponding to congruence \p c;
+  writes a handle for the newly created linear expression at address \p ple.
+*/
+int
+ppl_new_Linear_Expression_from_Congruence
+PPL_PROTO((ppl_Linear_Expression_t* ple, ppl_const_Congruence_t c));
+
+/*! \relates ppl_Linear_Expression_tag \brief
+  Builds a linear expression corresponding to grid generator \p g;
+  writes a handle for the newly created linear expression at address \p ple.
+*/
+int
+ppl_new_Linear_Expression_from_Grid_Generator
+PPL_PROTO((ppl_Linear_Expression_t* ple, ppl_const_Grid_Generator_t g));
+
+/*! \relates ppl_Linear_Expression_tag \brief
+  Assigns a copy of the linear expression \p src to \p dst.
+*/
+int
+ppl_assign_Linear_Expression_from_Linear_Expression
+PPL_PROTO((ppl_Linear_Expression_t dst, ppl_const_Linear_Expression_t src));
+
+/*! \relates ppl_Linear_Expression_tag \brief
+  Invalidates the handle \p le: this makes sure the corresponding
+  resources will eventually be released.
+*/
+int
+ppl_delete_Linear_Expression PPL_PROTO((ppl_const_Linear_Expression_t le));
+
+/*@}*/ /* Constructors, Assignment and Destructor */
+
+/*! \brief \name Functions that Do Not Modify the Linear Expression */
+/*@{*/
+
+/*! \relates ppl_Linear_Expression_tag \brief
+  Writes to \p m the space dimension of \p le.
+*/
+int
+ppl_Linear_Expression_space_dimension
+PPL_PROTO((ppl_const_Linear_Expression_t le, ppl_dimension_type* m));
+
+/*! \relates ppl_Linear_Expression_tag \brief
+  Copies into \p n the coefficient of variable \p var in
+  the linear expression \p le.
+*/
+int
+ppl_Linear_Expression_coefficient PPL_PROTO((ppl_const_Linear_Expression_t le,
+					     ppl_dimension_type var,
+					     ppl_Coefficient_t n));
+
+/*! \relates ppl_Linear_Expression_tag \brief
+  Copies into \p n the inhomogeneous term of linear expression \p le.
+*/
+int
+ppl_Linear_Expression_inhomogeneous_term
+PPL_PROTO((ppl_const_Linear_Expression_t le, ppl_Coefficient_t n));
+
+/*! \relates ppl_Linear_Expression_tag \brief
+  Returns a positive integer if \p le is well formed, i.e., if it
+  satisfies all its implementation invariants; returns 0 and perhaps
+  makes some noise if \p le is broken.  Useful for debugging purposes.
+*/
+int
+ppl_Linear_Expression_OK PPL_PROTO((ppl_const_Linear_Expression_t le));
+
+/*! \relates ppl_Linear_Expression_tag \brief
+    Returns <CODE>true</CODE> if and only if \p *this is \f$0\f$.
+*/
+int
+ppl_Linear_Expression_is_zero PPL_PROTO((ppl_const_Linear_Expression_t le));
+
+/*! \relates ppl_Linear_Expression_tag \brief
+    Returns <CODE>true</CODE> if and only if all the homogeneous
+    terms of \p *this are \f$0\f$.
+*/
+int
+ppl_Linear_Expression_all_homogeneous_terms_are_zero
+PPL_PROTO((ppl_const_Linear_Expression_t le));
+
+/*@}*/ /* Functions that Do Not Modify the Linear Expression */
+
+/*! \brief \name Functions that May Modify the Linear Expression */
+/*@{*/
+
+/*! \relates ppl_Linear_Expression_tag \brief
+  Adds \p n to the coefficient of variable \p var in the linear
+  expression \p le.  The space dimension is set to be the maximum
+  between \p var + 1 and the old space dimension.
+*/
+int
+ppl_Linear_Expression_add_to_coefficient
+PPL_PROTO((ppl_Linear_Expression_t le,
+	   ppl_dimension_type var,
+	   ppl_const_Coefficient_t n));
+
+/*! \relates ppl_Linear_Expression_tag \brief
+  Adds \p n to the inhomogeneous term of the linear expression \p le.
+*/
+int
+ppl_Linear_Expression_add_to_inhomogeneous
+PPL_PROTO((ppl_Linear_Expression_t le, ppl_const_Coefficient_t n));
+
+/*! \relates ppl_Linear_Expression_tag \brief
+  Adds the linear expression \p src to \p dst.
+*/
+int
+ppl_add_Linear_Expression_to_Linear_Expression
+PPL_PROTO((ppl_Linear_Expression_t dst, ppl_const_Linear_Expression_t src));
+
+/*! \relates ppl_Linear_Expression_tag \brief
+  Subtracts the linear expression \p src from \p dst.
+*/
+int
+ppl_subtract_Linear_Expression_from_Linear_Expression
+PPL_PROTO((ppl_Linear_Expression_t dst, ppl_const_Linear_Expression_t src));
+
+/*! \relates ppl_Linear_Expression_tag \brief
+  Multiply the linear expression \p dst by \p n.
+*/
+int
+ppl_multiply_Linear_Expression_by_Coefficient
+PPL_PROTO((ppl_Linear_Expression_t le, ppl_const_Coefficient_t n));
+
+/*@}*/ /* Functions that May Modify the Linear Expression */
+
+PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(Linear_Expression)
+
+/*! \brief \ingroup Datatypes
+  Describes the relations represented by a constraint.
+*/
+enum ppl_enum_Constraint_Type {
+  /*! The constraint is of the form \f$e < 0\f$. */
+  PPL_CONSTRAINT_TYPE_LESS_THAN,
+  /*! The constraint is of the form \f$e \leq 0\f$. */
+  PPL_CONSTRAINT_TYPE_LESS_OR_EQUAL,
+  /*! The constraint is of the form \f$e = 0\f$. */
+  PPL_CONSTRAINT_TYPE_EQUAL,
+  /*! The constraint is of the form \f$e \geq 0\f$. */
+  PPL_CONSTRAINT_TYPE_GREATER_OR_EQUAL,
+  /*! The constraint is of the form \f$e > 0\f$. */
+  PPL_CONSTRAINT_TYPE_GREATER_THAN
+};
+
+/*! \brief \name Constructors, Assignment and Destructor */
+/*@{*/
+
+/*! \relates ppl_Constraint_tag \brief
+  Creates the new constraint `\p le \p rel 0' and writes a handle for
+  it at address \p pc.  The space dimension of the new constraint is
+  equal to the space dimension of \p le.
+*/
+int
+ppl_new_Constraint PPL_PROTO((ppl_Constraint_t* pc,
+			      ppl_const_Linear_Expression_t le,
+			      enum ppl_enum_Constraint_Type rel));
+
+/*! \relates ppl_Constraint_tag \brief
+  Creates the unsatisfiable (zero-dimension space) constraint \f$0 = 1\f$
+  and writes a handle for it at address \p pc.
+*/
+int
+ppl_new_Constraint_zero_dim_false PPL_PROTO((ppl_Constraint_t* pc));
+
+/*! \relates ppl_Constraint_tag \brief
+  Creates the true (zero-dimension space) constraint \f$0 \leq 1\f$,
+  also known as <EM>positivity constraint</EM>.
+  A handle for the newly created constraint is written at address \p pc.
+*/
+int
+ppl_new_Constraint_zero_dim_positivity PPL_PROTO((ppl_Constraint_t* pc));
+
+/*! \relates ppl_Constraint_tag \brief
+  Builds a constraint that is a copy of \p c; writes a handle
+  for the newly created constraint at address \p pc.
+*/
+int
+ppl_new_Constraint_from_Constraint PPL_PROTO((ppl_Constraint_t* pc,
+					      ppl_const_Constraint_t c));
+
+/*! \relates ppl_Constraint_tag \brief
+  Assigns a copy of the constraint \p src to \p dst.
+*/
+int
+ppl_assign_Constraint_from_Constraint PPL_PROTO((ppl_Constraint_t dst,
+						 ppl_const_Constraint_t src));
+
+/*! \relates ppl_Constraint_tag \brief
+  Invalidates the handle \p c: this makes sure the corresponding
+  resources will eventually be released.
+*/
+int
+ppl_delete_Constraint PPL_PROTO((ppl_const_Constraint_t c));
+
+/*@}*/ /* Constructors, Assignment and Destructor */
+
+/*! \brief \name Functions that Do Not Modify the Constraint */
+/*@{*/
+
+/*! \relates ppl_Constraint_tag \brief
+  Writes to \p m the space dimension of \p c.
+*/
+int
+ppl_Constraint_space_dimension PPL_PROTO((ppl_const_Constraint_t c,
+					  ppl_dimension_type* m));
+
+/*! \relates ppl_Constraint_tag \brief
+  Returns the type of constraint \p c.
+*/
+int
+ppl_Constraint_type PPL_PROTO((ppl_const_Constraint_t c));
+
+/*! \relates ppl_Constraint_tag \brief
+  Copies into \p n the coefficient of variable \p var in
+  constraint \p c.
+*/
+int
+ppl_Constraint_coefficient PPL_PROTO((ppl_const_Constraint_t c,
+				      ppl_dimension_type var,
+				      ppl_Coefficient_t n));
+
+/*! \relates ppl_Constraint_tag \brief
+  Copies into \p n the inhomogeneous term of constraint \p c.
+*/
+int
+ppl_Constraint_inhomogeneous_term PPL_PROTO((ppl_const_Constraint_t c,
+					     ppl_Coefficient_t n));
+
+/*! \relates ppl_Constraint_tag \brief
+  Returns a positive integer if \p c is well formed, i.e., if it
+  satisfies all its implementation invariants; returns 0 and perhaps
+  makes some noise if \p c is broken.  Useful for debugging purposes.
+*/
+int
+ppl_Constraint_OK PPL_PROTO((ppl_const_Constraint_t c));
+
+/*@}*/ /* Functions that Do Not Modify the Constraint */
+
+PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(Constraint)
+
+
+/*! \brief \name Constructors, Assignment and Destructor */
+/*@{*/
+
+/*! \relates ppl_Constraint_System_tag \brief
+  Builds an empty system of constraints and writes a handle to it at
+  address \p pcs.
+*/
+int
+ppl_new_Constraint_System PPL_PROTO((ppl_Constraint_System_t* pcs));
+
+/*! \relates ppl_Constraint_System_tag \brief
+  Builds a zero-dimensional, unsatisfiable constraint system and
+  writes a handle to it at address \p pcs.
+*/
+int
+ppl_new_Constraint_System_zero_dim_empty
+PPL_PROTO((ppl_Constraint_System_t* pcs));
+
+/*! \relates ppl_Constraint_System_tag \brief
+  Builds the singleton constraint system containing only a copy of
+  constraint \p c; writes a handle for the newly created system at
+  address \p pcs.
+*/
+int
+ppl_new_Constraint_System_from_Constraint
+PPL_PROTO((ppl_Constraint_System_t* pcs, ppl_const_Constraint_t c));
+
+/*! \relates ppl_Constraint_System_tag \brief
+  Builds a constraint system that is a copy of \p cs; writes a handle
+  for the newly created system at address \p pcs.
+*/
+int
+ppl_new_Constraint_System_from_Constraint_System
+PPL_PROTO((ppl_Constraint_System_t* pcs, ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Constraint_System_tag \brief
+  Assigns a copy of the constraint system \p src to \p dst.
+*/
+int
+ppl_assign_Constraint_System_from_Constraint_System
+PPL_PROTO((ppl_Constraint_System_t dst, ppl_const_Constraint_System_t src));
+
+/*! \relates ppl_Constraint_System_tag \brief
+  Invalidates the handle \p cs: this makes sure the corresponding
+  resources will eventually be released.
+*/
+int
+ppl_delete_Constraint_System PPL_PROTO((ppl_const_Constraint_System_t cs));
+
+/*@}*/ /* Constructors, Assignment and Destructor */
+
+/*! \brief \name Functions that Do Not Modify the Constraint System */
+/*@{*/
+
+/*! \relates ppl_Constraint_System_tag \brief
+  Writes to \p m the dimension of the vector space enclosing \p cs.
+*/
+int
+ppl_Constraint_System_space_dimension
+PPL_PROTO((ppl_const_Constraint_System_t cs, ppl_dimension_type* m));
+
+/*! \relates ppl_Constraint_System_tag \brief
+  Returns a positive integer if \p cs contains no (non-trivial) constraint;
+  returns 0 otherwise.
+*/
+int
+ppl_Constraint_System_empty
+PPL_PROTO((ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Constraint_System_tag \brief
+  Returns a positive integer if \p cs contains any (non-trivial) strict
+  inequality; returns 0 otherwise.
+*/
+int
+ppl_Constraint_System_has_strict_inequalities
+PPL_PROTO((ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Constraint_System_tag \brief
+  Assigns to \p cit a const iterator "pointing" to the beginning of
+  the constraint system \p cs.
+*/
+int
+ppl_Constraint_System_begin
+PPL_PROTO((ppl_const_Constraint_System_t cs,
+	   ppl_Constraint_System_const_iterator_t cit));
+
+/*! \relates ppl_Constraint_System_tag \brief
+  Assigns to \p cit a const iterator "pointing" past the end of the
+  constraint system \p cs.
+*/
+int
+ppl_Constraint_System_end
+PPL_PROTO((ppl_const_Constraint_System_t cs,
+	   ppl_Constraint_System_const_iterator_t cit));
+
+/*! \relates ppl_Constraint_System_tag \brief
+  Returns a positive integer if \p cs is well formed, i.e., if it
+  satisfies all its implementation invariants; returns 0 and perhaps
+  makes some noise if \p cs is broken.  Useful for debugging purposes.
+*/
+int
+ppl_Constraint_System_OK PPL_PROTO((ppl_const_Constraint_System_t cs));
+
+/*@}*/ /* Functions that Do Not Modify the Constraint System */
+
+/*! \brief \name Functions that May Modify the Constraint System */
+/*@{*/
+
+/*! \relates ppl_Constraint_System_tag \brief
+  Removes all the constraints from the constraint system \p cs
+  and sets its space dimension to 0.
+*/
+int
+ppl_Constraint_System_clear PPL_PROTO((ppl_Constraint_System_t cs));
+
+/*! \relates ppl_Constraint_System_tag \brief
+  Inserts a copy of the constraint \p c into \p cs; the space
+  dimension is increased, if necessary.
+*/
+int
+ppl_Constraint_System_insert_Constraint PPL_PROTO((ppl_Constraint_System_t cs,
+						   ppl_const_Constraint_t c));
+
+/*@}*/ /* Functions that May Modify the Constraint System */
+
+PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(Constraint_System)
+
+
+/*! \brief \name Constructors, Assignment and Destructor */
+/*@{*/
+
+/*! \relates ppl_Constraint_System_const_iterator_tag \brief
+  Builds a new `const iterator' and writes a handle to it at address
+  \p pcit.
+*/
+int
+ppl_new_Constraint_System_const_iterator
+PPL_PROTO((ppl_Constraint_System_const_iterator_t* pcit));
+
+/*! \relates ppl_Constraint_System_const_iterator_tag \brief
+  Builds a const iterator that is a copy of \p cit; writes a
+  handle for the newly created const iterator at address \p pcit.
+*/
+int
+ppl_new_Constraint_System_const_iterator_from_Constraint_System_const_iterator
+PPL_PROTO((ppl_Constraint_System_const_iterator_t* pcit,
+	   ppl_const_Constraint_System_const_iterator_t cit));
+
+/*! \relates ppl_Constraint_System_const_iterator_tag \brief
+  Assigns a copy of the const iterator \p src to \p dst.
+*/
+int
+ppl_assign_Constraint_System_const_iterator_from_Constraint_System_const_iterator
+PPL_PROTO((ppl_Constraint_System_const_iterator_t dst,
+	   ppl_const_Constraint_System_const_iterator_t src));
+
+/*! \relates ppl_Constraint_System_const_iterator_tag \brief
+  Invalidates the handle \p cit: this makes sure the corresponding
+  resources will eventually be released.
+*/
+int
+ppl_delete_Constraint_System_const_iterator
+PPL_PROTO((ppl_const_Constraint_System_const_iterator_t cit));
+
+/*@}*/ /* Constructors, Assignment and Destructor */
+
+/*! \brief \name Dereferencing, Incrementing and Equality Testing */
+/*@{*/
+
+/*! \relates ppl_Constraint_System_const_iterator_tag \brief
+  Dereference \p cit writing a const handle to the resulting
+  constraint at address \p pc.
+*/
+int
+ppl_Constraint_System_const_iterator_dereference
+PPL_PROTO((ppl_const_Constraint_System_const_iterator_t cit,
+	   ppl_const_Constraint_t* pc));
+
+/*! \relates ppl_Constraint_System_const_iterator_tag \brief
+  Increment \p cit so that it "points" to the next constraint.
+*/
+int
+ppl_Constraint_System_const_iterator_increment
+PPL_PROTO((ppl_Constraint_System_const_iterator_t cit));
+
+/*! \relates ppl_Constraint_System_const_iterator_tag \brief
+  Returns a positive integer if the iterators corresponding to \p x and
+  \p y are equal; returns 0 if they are different.
+*/
+int
+ppl_Constraint_System_const_iterator_equal_test
+PPL_PROTO((ppl_const_Constraint_System_const_iterator_t x,
+	   ppl_const_Constraint_System_const_iterator_t y));
+
+/*@}*/ /* Dereferencing, Incrementing and Equality Testing */
+
+
+/*! \brief \ingroup Datatypes
+  Describes the different kinds of generators.
+*/
+enum ppl_enum_Generator_Type {
+  /*! The generator is a line. */
+  PPL_GENERATOR_TYPE_LINE,
+  /*! The generator is a ray. */
+  PPL_GENERATOR_TYPE_RAY,
+  /*! The generator is a point. */
+  PPL_GENERATOR_TYPE_POINT,
+  /*! The generator is a closure point. */
+  PPL_GENERATOR_TYPE_CLOSURE_POINT
+};
+
+/*! \brief \name Constructors, Assignment and Destructor */
+/*@{*/
+
+/*! \relates ppl_Generator_tag \brief
+  Creates a new generator of direction \p le and type \p t.  If the
+  generator to be created is a point or a closure point, the divisor
+  \p d is applied to \p le.  For other types of generators \p d is
+  simply disregarded.  A handle for the new generator is written at
+  address \p pg.  The space dimension of the new generator is equal to
+  the space dimension of \p le.
+*/
+int
+ppl_new_Generator PPL_PROTO((ppl_Generator_t* pg,
+			     ppl_const_Linear_Expression_t le,
+			     enum ppl_enum_Generator_Type t,
+			     ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Generator_tag \brief
+  Creates the point that is the origin of the zero-dimensional space
+  \f$\Rset^0\f$.  Writes a handle for the new generator at address
+  \p pg.
+*/
+int
+ppl_new_Generator_zero_dim_point PPL_PROTO((ppl_Generator_t* pg));
+
+/*! \relates ppl_Generator_tag \brief
+  Creates, as a closure point, the point that is the origin of the
+  zero-dimensional space \f$\Rset^0\f$.  Writes a handle for the new
+  generator at address \p pg.
+*/
+int
+ppl_new_Generator_zero_dim_closure_point PPL_PROTO((ppl_Generator_t* pg));
+
+/*! \relates ppl_Generator_tag \brief
+  Builds a generator that is a copy of \p g; writes a handle
+  for the newly created generator at address \p pg.
+*/
+int
+ppl_new_Generator_from_Generator PPL_PROTO((ppl_Generator_t* pg,
+					    ppl_const_Generator_t g));
+
+/*! \relates ppl_Generator_tag \brief
+  Assigns a copy of the generator \p src to \p dst.
+*/
+int
+ppl_assign_Generator_from_Generator PPL_PROTO((ppl_Generator_t dst,
+					       ppl_const_Generator_t src));
+
+/*! \relates ppl_Generator_tag \brief
+  Invalidates the handle \p g: this makes sure the corresponding
+  resources will eventually be released.
+*/
+int
+ppl_delete_Generator PPL_PROTO((ppl_const_Generator_t g));
+
+/*@}*/ /* Constructors, Assignment and Destructor */
+
+/*! \brief \name Functions that Do Not Modify the Generator */
+/*@{*/
+
+/*! \relates ppl_Generator_tag \brief
+  Writes to \p m the space dimension of \p g.
+*/
+int
+ppl_Generator_space_dimension PPL_PROTO((ppl_const_Generator_t g,
+					 ppl_dimension_type* m));
+
+/*! \relates ppl_Generator_tag \brief
+  Returns the type of generator \p g.
+*/
+int
+ppl_Generator_type PPL_PROTO((ppl_const_Generator_t g));
+
+/*! \relates ppl_Generator_tag \brief
+  Copies into \p n the coefficient of variable \p var in generator \p g.
+*/
+int
+ppl_Generator_coefficient PPL_PROTO((ppl_const_Generator_t g,
+				     ppl_dimension_type var,
+				     ppl_Coefficient_t n));
+
+/*! \relates ppl_Generator_tag \brief
+  If \p g is a point or a closure point assigns its divisor to \p n.
+*/
+int
+ppl_Generator_divisor PPL_PROTO((ppl_const_Generator_t g,
+				 ppl_Coefficient_t n));
+
+/*! \relates ppl_Generator_tag \brief
+  Returns a positive integer if \p g is well formed, i.e., if it
+  satisfies all its implementation invariants; returns 0 and perhaps
+  makes some noise if \p g is broken.  Useful for debugging purposes.
+*/
+int
+ppl_Generator_OK PPL_PROTO((ppl_const_Generator_t g));
+
+/*@}*/ /* Functions that Do Not Modify the Generator */
+
+PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(Generator)
+
+
+/*! \brief \name Constructors, Assignment and Destructor */
+/*@{*/
+
+/*! \relates ppl_Generator_System_tag \brief
+  Builds an empty system of generators and writes a handle to it at
+  address \p pgs.
+*/
+int
+ppl_new_Generator_System PPL_PROTO((ppl_Generator_System_t* pgs));
+
+/*
+  Creates the universe zero-dimensional system of generators (i.e.,
+  containing the origin only).  Writes a handle to the new system at
+  address \p pgs.
+*/
+int
+ppl_new_Generator_System_zero_dim_univ
+PPL_PROTO((ppl_Generator_System_t* pgs));
+
+/*! \relates ppl_Generator_System_tag \brief
+  Builds the singleton generator system containing only a copy of
+  generator \p g; writes a handle for the newly created system at
+  address \p pgs.
+*/
+int
+ppl_new_Generator_System_from_Generator PPL_PROTO((ppl_Generator_System_t* pgs,
+						   ppl_const_Generator_t g));
+
+/*! \relates ppl_Generator_System_tag \brief
+  Builds a generator system that is a copy of \p gs; writes a handle
+  for the newly created system at address \p pgs.
+*/
+int
+ppl_new_Generator_System_from_Generator_System
+PPL_PROTO((ppl_Generator_System_t* pgs, ppl_const_Generator_System_t gs));
+
+/*! \relates ppl_Generator_System_tag \brief
+  Assigns a copy of the generator system \p src to \p dst.
+*/
+int
+ppl_assign_Generator_System_from_Generator_System
+PPL_PROTO((ppl_Generator_System_t dst, ppl_const_Generator_System_t src));
+
+/*! \relates ppl_Generator_System_tag \brief
+  Invalidates the handle \p gs: this makes sure the corresponding
+  resources will eventually be released.
+*/
+int
+ppl_delete_Generator_System PPL_PROTO((ppl_const_Generator_System_t gs));
+
+/*@}*/ /* Constructors, Assignment and Destructor */
+
+/*! \brief \name Functions that Do Not Modify the Generator System */
+/*@{*/
+
+/*! \relates ppl_Generator_System_tag \brief
+  Writes to \p m the dimension of the vector space enclosing \p gs.
+*/
+int
+ppl_Generator_System_space_dimension
+PPL_PROTO((ppl_const_Generator_System_t gs, ppl_dimension_type* m));
+
+/*! \relates ppl_Generator_System_tag \brief
+  Returns a positive integer if \p gs contains no generators;
+  returns 0 otherwise.
+*/
+int
+ppl_Generator_System_empty
+PPL_PROTO((ppl_const_Generator_System_t gs));
+
+/*! \relates ppl_Generator_System_tag \brief
+  Assigns to \p git a const iterator "pointing" to the beginning of
+  the generator system \p gs.
+*/
+int
+ppl_Generator_System_begin
+PPL_PROTO((ppl_const_Generator_System_t gs,
+	   ppl_Generator_System_const_iterator_t git));
+
+/*! \relates ppl_Generator_System_tag \brief
+  Assigns to \p git a const iterator "pointing" past the end of the
+  generator system \p gs.
+*/
+int
+ppl_Generator_System_end
+PPL_PROTO((ppl_const_Generator_System_t gs,
+	   ppl_Generator_System_const_iterator_t git));
+
+/*! \relates ppl_Generator_System_tag \brief
+  Returns a positive integer if \p gs is well formed, i.e., if it
+  satisfies all its implementation invariants; returns 0 and perhaps
+  makes some noise if \p gs is broken.  Useful for debugging purposes.
+*/
+int
+ppl_Generator_System_OK PPL_PROTO((ppl_const_Generator_System_t gs));
+
+/*@}*/ /* Functions that Do Not Modify the Generator System */
+
+/*! \brief \name Functions that May Modify the Generator System */
+/*@{*/
+
+/*! \relates ppl_Generator_System_tag \brief
+  Removes all the generators from the generator system \p gs
+  and sets its space dimension to 0.
+*/
+int
+ppl_Generator_System_clear PPL_PROTO((ppl_Generator_System_t gs));
+
+/*! \relates ppl_Generator_System_tag \brief
+  Inserts a copy of the generator \p g into \p gs; the space
+  dimension is increased, if necessary.
+*/
+int
+ppl_Generator_System_insert_Generator PPL_PROTO((ppl_Generator_System_t gs,
+						 ppl_const_Generator_t g));
+
+/*@}*/ /* Functions that May Modify the Generator System */
+
+PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(Generator_System)
+
+
+/*! \brief \name Constructors, Assignment and Destructor */
+/*@{*/
+
+/*! \relates ppl_Generator_System_const_iterator_tag \brief
+  Builds a new `const iterator' and writes a handle to it at address
+  \p pgit.
+*/
+int
+ppl_new_Generator_System_const_iterator
+PPL_PROTO((ppl_Generator_System_const_iterator_t* pgit));
+
+/*! \relates ppl_Generator_System_const_iterator_tag \brief
+  Builds a const iterator that is a copy of \p git; writes a
+  handle for the newly created const iterator at address \p pgit.
+*/
+int
+ppl_new_Generator_System_const_iterator_from_Generator_System_const_iterator
+PPL_PROTO((ppl_Generator_System_const_iterator_t* pgit,
+	   ppl_const_Generator_System_const_iterator_t git));
+
+/*! \relates ppl_Generator_System_const_iterator_tag \brief
+  Assigns a copy of the const iterator \p src to \p dst.
+*/
+int
+ppl_assign_Generator_System_const_iterator_from_Generator_System_const_iterator
+PPL_PROTO((ppl_Generator_System_const_iterator_t dst,
+	   ppl_const_Generator_System_const_iterator_t src));
+
+/*! \relates ppl_Generator_System_const_iterator_tag \brief
+  Invalidates the handle \p git: this makes sure the corresponding
+  resources will eventually be released.
+*/
+int
+ppl_delete_Generator_System_const_iterator
+PPL_PROTO((ppl_const_Generator_System_const_iterator_t git));
+
+/*@}*/ /* Constructors, Assignment and Destructor */
+
+/*! \brief \name Dereferencing, Incrementing and Equality Testing */
+/*@{*/
+
+/*! \relates ppl_Generator_System_const_iterator_tag \brief
+  Dereference \p git writing a const handle to the resulting
+  generator at address \p pg.
+*/
+int
+ppl_Generator_System_const_iterator_dereference
+PPL_PROTO((ppl_const_Generator_System_const_iterator_t git,
+	   ppl_const_Generator_t* pg));
+
+/*! \relates ppl_Generator_System_const_iterator_tag \brief
+  Increment \p git so that it "points" to the next generator.
+*/
+int
+ppl_Generator_System_const_iterator_increment
+PPL_PROTO((ppl_Generator_System_const_iterator_t git));
+
+/*! \relates ppl_Generator_System_const_iterator_tag \brief
+  Returns a positive integer if the iterators corresponding to \p x and
+  \p y are equal; returns 0 if they are different.
+*/
+int
+ppl_Generator_System_const_iterator_equal_test
+PPL_PROTO((ppl_const_Generator_System_const_iterator_t x,
+	   ppl_const_Generator_System_const_iterator_t y));
+
+/*@}*/ /* Dereferencing, Incrementing and Equality Testing */
+
+
+/*! \brief \name Constructors, Assignment and Destructor */
+/*@{*/
+
+/*! \relates ppl_Congruence_tag \brief
+  Creates the new congruence \f$le = 0 \pmod{m}\f$ and writes a handle for
+  it at address \p pc.  The space dimension of the new congruence is
+  equal to the space dimension of \p le.
+*/
+int
+ppl_new_Congruence PPL_PROTO((ppl_Congruence_t* pc,
+			      ppl_const_Linear_Expression_t le,
+			      ppl_const_Coefficient_t m));
+
+/*! \relates ppl_Congruence_tag \brief
+  Creates the unsatisfiable (zero-dimension space) congruence
+  \f$0 = 1 \pmod{0}\f$ and writes a handle for it at address \p pc.
+*/
+int
+ppl_new_Congruence_zero_dim_false PPL_PROTO((ppl_Congruence_t* pc));
+
+/*! \relates ppl_Congruence_tag \brief
+  Creates the true (zero-dimension space) congruence \f$0 = 1 \pmod{1}\f$,
+  also known as <EM>integrality congruence</EM>.
+  A handle for the newly created congruence is written at address \p pc.
+*/
+int
+ppl_new_Congruence_zero_dim_integrality PPL_PROTO((ppl_Congruence_t* pc));
+
+/*! \relates ppl_Congruence_tag \brief
+  Builds a congruence that is a copy of \p c; writes a handle
+  for the newly created congruence at address \p pc.
+*/
+int
+ppl_new_Congruence_from_Congruence PPL_PROTO((ppl_Congruence_t* pc,
+					      ppl_const_Congruence_t c));
+
+/*! \relates ppl_Congruence_tag \brief
+  Assigns a copy of the congruence \p src to \p dst.
+*/
+int
+ppl_assign_Congruence_from_Congruence PPL_PROTO((ppl_Congruence_t dst,
+						 ppl_const_Congruence_t src));
+
+/*! \relates ppl_Congruence_tag \brief
+  Invalidates the handle \p c: this makes sure the corresponding
+  resources will eventually be released.
+*/
+int
+ppl_delete_Congruence PPL_PROTO((ppl_const_Congruence_t c));
+
+/*@}*/ /* Constructors, Assignment and Destructor */
+
+/*! \brief \name Functions that Do Not Modify the Congruence */
+/*@{*/
+
+/*! \relates ppl_Congruence_tag \brief
+  Writes to \p m the space dimension of \p c.
+*/
+int
+ppl_Congruence_space_dimension PPL_PROTO((ppl_const_Congruence_t c,
+					  ppl_dimension_type* m));
+
+/*! \relates ppl_Congruence_tag \brief
+  Copies into \p n the coefficient of variable \p var in
+  congruence \p c.
+*/
+int
+ppl_Congruence_coefficient PPL_PROTO((ppl_const_Congruence_t c,
+				      ppl_dimension_type var,
+				      ppl_Coefficient_t n));
+
+/*! \relates ppl_Congruence_tag \brief
+  Copies into \p n the inhomogeneous term of congruence \p c.
+*/
+int
+ppl_Congruence_inhomogeneous_term PPL_PROTO((ppl_const_Congruence_t c,
+					     ppl_Coefficient_t n));
+
+/*! \relates ppl_Congruence_tag \brief
+  Copies into \p m the modulus of congruence \p c.
+*/
+int
+ppl_Congruence_modulus PPL_PROTO((ppl_const_Congruence_t c,
+				  ppl_Coefficient_t m));
+
+/*! \relates ppl_Congruence_tag \brief
+  Returns a positive integer if \p c is well formed, i.e., if it
+  satisfies all its implementation invariants; returns 0 and perhaps
+  makes some noise if \p c is broken.  Useful for debugging purposes.
+*/
+int
+ppl_Congruence_OK PPL_PROTO((ppl_const_Congruence_t c));
+
+/*@}*/ /* Functions that Do Not Modify the Congruence */
+
+PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(Congruence)
+
+
+/*! \brief \name Constructors, Assignment and Destructor */
+/*@{*/
+
+/*! \relates ppl_Congruence_System_tag \brief
+  Builds an empty system of congruences and writes a handle to it at
+  address \p pcs.
+*/
+int
+ppl_new_Congruence_System PPL_PROTO((ppl_Congruence_System_t* pcs));
+
+/*! \relates ppl_Congruence_System_tag \brief
+  Builds a zero-dimensional, unsatisfiable congruence system and
+  writes a handle to it at address \p pcs.
+*/
+int
+ppl_new_Congruence_System_zero_dim_empty
+PPL_PROTO((ppl_Congruence_System_t* pcs));
+
+/*! \relates ppl_Congruence_System_tag \brief
+  Builds the singleton congruence system containing only a copy of
+  congruence \p c; writes a handle for the newly created system at
+  address \p pcs.
+*/
+int
+ppl_new_Congruence_System_from_Congruence
+PPL_PROTO((ppl_Congruence_System_t* pcs, ppl_const_Congruence_t c));
+
+/*! \relates ppl_Congruence_System_tag \brief
+  Builds a congruence system that is a copy of \p cs; writes a handle
+  for the newly created system at address \p pcs.
+*/
+int
+ppl_new_Congruence_System_from_Congruence_System
+PPL_PROTO((ppl_Congruence_System_t* pcs, ppl_const_Congruence_System_t cs));
+
+/*! \relates ppl_Congruence_System_tag \brief
+  Assigns a copy of the congruence system \p src to \p dst.
+*/
+int
+ppl_assign_Congruence_System_from_Congruence_System
+PPL_PROTO((ppl_Congruence_System_t dst, ppl_const_Congruence_System_t src));
+
+/*! \relates ppl_Congruence_System_tag \brief
+  Invalidates the handle \p cs: this makes sure the corresponding
+  resources will eventually be released.
+*/
+int
+ppl_delete_Congruence_System PPL_PROTO((ppl_const_Congruence_System_t cs));
+
+/*@}*/ /* Constructors, Assignment and Destructor */
+
+/*! \brief \name Functions that Do Not Modify the Congruence System */
+/*@{*/
+
+/*! \relates ppl_Congruence_System_tag \brief
+  Writes to \p m the dimension of the vector space enclosing \p cs.
+*/
+int
+ppl_Congruence_System_space_dimension
+PPL_PROTO((ppl_const_Congruence_System_t cs, ppl_dimension_type* m));
+
+/*! \relates ppl_Congruence_System_tag \brief
+  Returns a positive integer if \p cs contains no (non-trivial) congruence;
+  returns 0 otherwise.
+*/
+int
+ppl_Congruence_System_empty
+PPL_PROTO((ppl_const_Congruence_System_t cs));
+
+/*! \relates ppl_Congruence_System_tag \brief
+  Assigns to \p cit a const iterator "pointing" to the beginning of
+  the congruence system \p cs.
+*/
+int
+ppl_Congruence_System_begin
+PPL_PROTO((ppl_const_Congruence_System_t cs,
+	   ppl_Congruence_System_const_iterator_t cit));
+
+/*! \relates ppl_Congruence_System_tag \brief
+  Assigns to \p cit a const iterator "pointing" past the end of the
+  congruence system \p cs.
+*/
+int
+ppl_Congruence_System_end
+PPL_PROTO((ppl_const_Congruence_System_t cs,
+	   ppl_Congruence_System_const_iterator_t cit));
+
+/*! \relates ppl_Congruence_System_tag \brief
+  Returns a positive integer if \p cs is well formed, i.e., if it
+  satisfies all its implementation invariants; returns 0 and perhaps
+  makes some noise if \p cs is broken.  Useful for debugging purposes.
+*/
+int
+ppl_Congruence_System_OK PPL_PROTO((ppl_const_Congruence_System_t cs));
+
+/*@}*/ /* Functions that Do Not Modify the Congruence System */
+
+/*! \brief \name Functions that May Modify the Congruence System */
+/*@{*/
+
+/*! \relates ppl_Congruence_System_tag \brief
+  Removes all the congruences from the congruence system \p cs
+  and sets its space dimension to 0.
+*/
+int
+ppl_Congruence_System_clear PPL_PROTO((ppl_Congruence_System_t cs));
+
+/*! \relates ppl_Congruence_System_tag \brief
+  Inserts a copy of the congruence \p c into \p cs; the space
+  dimension is increased, if necessary.
+*/
+int
+ppl_Congruence_System_insert_Congruence PPL_PROTO((ppl_Congruence_System_t cs,
+						   ppl_const_Congruence_t c));
+
+/*@}*/ /* Functions that May Modify the Congruence System */
+
+PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(Congruence_System)
+
+
+/*! \brief \name Constructors, Assignment and Destructor */
+/*@{*/
+
+/*! \relates ppl_Congruence_System_const_iterator_tag \brief
+  Builds a new `const iterator' and writes a handle to it at address
+  \p pcit.
+*/
+int
+ppl_new_Congruence_System_const_iterator
+PPL_PROTO((ppl_Congruence_System_const_iterator_t* pcit));
+
+/*! \relates ppl_Congruence_System_const_iterator_tag \brief
+  Builds a const iterator that is a copy of \p cit; writes a
+  handle for the newly created const iterator at address \p pcit.
+*/
+int
+ppl_new_Congruence_System_const_iterator_from_Congruence_System_const_iterator
+PPL_PROTO((ppl_Congruence_System_const_iterator_t* pcit,
+	   ppl_const_Congruence_System_const_iterator_t cit));
+
+/*! \relates ppl_Congruence_System_const_iterator_tag \brief
+  Assigns a copy of the const iterator \p src to \p dst.
+*/
+int
+ppl_assign_Congruence_System_const_iterator_from_Congruence_System_const_iterator
+PPL_PROTO((ppl_Congruence_System_const_iterator_t dst,
+	   ppl_const_Congruence_System_const_iterator_t src));
+
+/*! \relates ppl_Congruence_System_const_iterator_tag \brief
+  Invalidates the handle \p cit: this makes sure the corresponding
+  resources will eventually be released.
+*/
+int
+ppl_delete_Congruence_System_const_iterator
+PPL_PROTO((ppl_const_Congruence_System_const_iterator_t cit));
+
+/*@}*/ /* Constructors, Assignment and Destructor */
+
+/*! \brief \name Dereferencing, Incrementing and Equality Testing */
+/*@{*/
+
+/*! \relates ppl_Congruence_System_const_iterator_tag \brief
+  Dereference \p cit writing a const handle to the resulting
+  congruence at address \p pc.
+*/
+int
+ppl_Congruence_System_const_iterator_dereference
+PPL_PROTO((ppl_const_Congruence_System_const_iterator_t cit,
+	   ppl_const_Congruence_t* pc));
+
+/*! \relates ppl_Congruence_System_const_iterator_tag \brief
+  Increment \p cit so that it "points" to the next congruence.
+*/
+int
+ppl_Congruence_System_const_iterator_increment
+PPL_PROTO((ppl_Congruence_System_const_iterator_t cit));
+
+/*! \relates ppl_Congruence_System_const_iterator_tag \brief
+  Returns a positive integer if the iterators corresponding to \p x and
+  \p y are equal; returns 0 if they are different.
+*/
+int
+ppl_Congruence_System_const_iterator_equal_test
+PPL_PROTO((ppl_const_Congruence_System_const_iterator_t x,
+	   ppl_const_Congruence_System_const_iterator_t y));
+
+/*@}*/ /* Dereferencing, Incrementing and Equality Testing */
+
+
+/*! \brief \ingroup Datatypes
+  Describes the different kinds of grid generators.
+*/
+enum ppl_enum_Grid_Generator_Type {
+  /*! The grid generator is a line. */
+  PPL_GRID_GENERATOR_TYPE_LINE,
+  /*! The grid generator is a parameter. */
+  PPL_GRID_GENERATOR_TYPE_PARAMETER,
+  /*! The grid generator is a point. */
+  PPL_GRID_GENERATOR_TYPE_POINT
+};
+
+/*! \brief \name Constructors, Assignment and Destructor */
+/*@{*/
+
+/*! \relates ppl_Grid_Generator_tag \brief
+  Creates a new grid generator of direction \p le and type \p t.  If the
+  grid generator to be created is a point or a parameter, the divisor
+  \p d is applied to \p le.  If it is a line, \p d is simply disregarded.
+  A handle for the new grid generator is written at address \p pg.
+  The space dimension of the new grid generator is equal to the space
+  dimension of \p le.
+*/
+int
+ppl_new_Grid_Generator PPL_PROTO((ppl_Grid_Generator_t* pg,
+				  ppl_const_Linear_Expression_t le,
+				  enum ppl_enum_Grid_Generator_Type t,
+				  ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Grid_Generator_tag \brief
+  Creates the point that is the origin of the zero-dimensional space
+  \f$\Rset^0\f$.  Writes a handle for the new grid generator at address
+  \p pg.
+*/
+int
+ppl_new_Grid_Generator_zero_dim_point PPL_PROTO((ppl_Grid_Generator_t* pg));
+
+/*! \relates ppl_Grid_Generator_tag \brief
+  Builds a grid generator that is a copy of \p g; writes a handle
+  for the newly created grid generator at address \p pg.
+*/
+int
+ppl_new_Grid_Generator_from_Grid_Generator
+PPL_PROTO((ppl_Grid_Generator_t* pg, ppl_const_Grid_Generator_t g));
+
+/*! \relates ppl_Grid_Generator_tag \brief
+  Assigns a copy of the grid generator \p src to \p dst.
+*/
+int
+ppl_assign_Grid_Generator_from_Grid_Generator
+PPL_PROTO((ppl_Grid_Generator_t dst,
+	   ppl_const_Grid_Generator_t src));
+
+/*! \relates ppl_Grid_Generator_tag \brief
+  Invalidates the handle \p g: this makes sure the corresponding
+  resources will eventually be released.
+*/
+int
+ppl_delete_Grid_Generator PPL_PROTO((ppl_const_Grid_Generator_t g));
+
+/*@}*/ /* Constructors, Assignment and Destructor */
+
+/*! \brief \name Functions that Do Not Modify the Grid Generator */
+/*@{*/
+
+/*! \relates ppl_Grid_Generator_tag \brief
+  Writes to \p m the space dimension of \p g.
+*/
+int
+ppl_Grid_Generator_space_dimension PPL_PROTO((ppl_const_Grid_Generator_t g,
+					      ppl_dimension_type* m));
+
+/*! \relates ppl_Grid_Generator_tag \brief
+  Returns the type of grid generator \p g.
+*/
+int
+ppl_Grid_Generator_type PPL_PROTO((ppl_const_Grid_Generator_t g));
+
+/*! \relates ppl_Grid_Generator_tag \brief
+  Copies into \p n the coefficient of variable \p var in
+  grid generator \p g.
+*/
+int
+ppl_Grid_Generator_coefficient PPL_PROTO((ppl_const_Grid_Generator_t g,
+					  ppl_dimension_type var,
+					  ppl_Coefficient_t n));
+
+/*! \relates ppl_Grid_Generator_tag \brief
+  If \p g is a point or a parameter assigns its divisor to \p n.
+*/
+int
+ppl_Grid_Generator_divisor PPL_PROTO((ppl_const_Grid_Generator_t g,
+				      ppl_Coefficient_t n));
+
+/*! \relates ppl_Grid_Generator_tag \brief
+  Returns a positive integer if \p g is well formed, i.e., if it
+  satisfies all its implementation invariants; returns 0 and perhaps
+  makes some noise if \p g is broken.  Useful for debugging purposes.
+*/
+int
+ppl_Grid_Generator_OK PPL_PROTO((ppl_const_Grid_Generator_t g));
+
+/*@}*/ /* Functions that Do Not Modify the Generator */
+
+PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(Grid_Generator)
+
+
+/*! \brief \name Constructors, Assignment and Destructor */
+/*@{*/
+
+/*! \relates ppl_Grid_Generator_System_tag \brief
+  Builds an empty system of grid generators and writes a handle to it at
+  address \p pgs.
+*/
+int
+ppl_new_Grid_Generator_System PPL_PROTO((ppl_Grid_Generator_System_t* pgs));
+
+/*
+  Creates the universe zero-dimensional system of grid generators (i.e.,
+  containing the origin only).  Writes a handle to the new system at
+  address \p pgs.
+*/
+int
+ppl_new_Grid_Generator_System_zero_dim_univ
+PPL_PROTO((ppl_Grid_Generator_System_t* pgs));
+
+/*! \relates ppl_Grid_Generator_System_tag \brief
+  Builds the singleton grid generator system containing only a copy of
+  generator \p g; writes a handle for the newly created system at
+  address \p pgs.
+*/
+int
+ppl_new_Grid_Generator_System_from_Grid_Generator
+PPL_PROTO((ppl_Grid_Generator_System_t* pgs,
+	   ppl_const_Grid_Generator_t g));
+
+/*! \relates ppl_Grid_Generator_System_tag \brief
+  Builds a grid generator system that is a copy of \p gs; writes a handle
+  for the newly created system at address \p pgs.
+*/
+int
+ppl_new_Grid_Generator_System_from_Grid_Generator_System
+PPL_PROTO((ppl_Grid_Generator_System_t* pgs,
+	   ppl_const_Grid_Generator_System_t gs));
+
+/*! \relates ppl_Grid_Generator_System_tag \brief
+  Assigns a copy of the grid generator system \p src to \p dst.
+*/
+int
+ppl_assign_Grid_Generator_System_from_Grid_Generator_System
+PPL_PROTO((ppl_Grid_Generator_System_t dst,
+	   ppl_const_Grid_Generator_System_t src));
+
+/*! \relates ppl_Grid_Generator_System_tag \brief
+  Invalidates the handle \p gs: this makes sure the corresponding
+  resources will eventually be released.
+*/
+int
+ppl_delete_Grid_Generator_System
+PPL_PROTO((ppl_const_Grid_Generator_System_t gs));
+
+/*@}*/ /* Constructors, Assignment and Destructor */
+
+/*! \brief \name Functions that Do Not Modify the Grid Generator System */
+/*@{*/
+
+/*! \relates ppl_Grid_Generator_System_tag \brief
+  Writes to \p m the dimension of the vector space enclosing \p gs.
+*/
+int
+ppl_Grid_Generator_System_space_dimension
+PPL_PROTO((ppl_const_Grid_Generator_System_t gs, ppl_dimension_type* m));
+
+/*! \relates ppl_Grid_Generator_System_tag \brief
+  Returns a positive integer if \p gs contains no generator;
+  returns 0 otherwise.
+*/
+int
+ppl_Grid_Generator_System_empty
+PPL_PROTO((ppl_const_Grid_Generator_System_t gs));
+
+/*! \relates ppl_Grid_Generator_System_tag \brief
+  Assigns to \p git a const iterator "pointing" to the beginning of
+  the grid generator system \p gs.
+*/
+int
+ppl_Grid_Generator_System_begin
+PPL_PROTO((ppl_const_Grid_Generator_System_t gs,
+	   ppl_Grid_Generator_System_const_iterator_t git));
+
+/*! \relates ppl_Grid_Generator_System_tag \brief
+  Assigns to \p git a const iterator "pointing" past the end of the
+  grid generator system \p gs.
+*/
+int
+ppl_Grid_Generator_System_end
+PPL_PROTO((ppl_const_Grid_Generator_System_t gs,
+	   ppl_Grid_Generator_System_const_iterator_t git));
+
+/*! \relates ppl_Grid_Generator_System_tag \brief
+  Returns a positive integer if \p gs is well formed, i.e., if it
+  satisfies all its implementation invariants; returns 0 and perhaps
+  makes some noise if \p gs is broken.  Useful for debugging purposes.
+*/
+int
+ppl_Grid_Generator_System_OK PPL_PROTO((ppl_const_Grid_Generator_System_t gs));
+
+/*@}*/ /* Functions that Do Not Modify the Grid Generator System */
+
+/*! \brief \name Functions that May Modify the Grid Generator System */
+/*@{*/
+
+/*! \relates ppl_Grid_Generator_System_tag \brief
+  Removes all the generators from the grid generator system \p gs
+  and sets its space dimension to 0.
+*/
+int
+ppl_Grid_Generator_System_clear PPL_PROTO((ppl_Grid_Generator_System_t gs));
+
+/*! \relates ppl_Grid_Generator_System_tag \brief
+  Inserts a copy of the grid generator \p g into \p gs; the space
+  dimension is increased, if necessary.
+*/
+int
+ppl_Grid_Generator_System_insert_Grid_Generator
+PPL_PROTO((ppl_Grid_Generator_System_t gs,
+	   ppl_const_Grid_Generator_t g));
+
+/*@}*/ /* Functions that May Modify the Grid Generator System */
+
+PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(Grid_Generator_System)
+
+
+/*! \brief \name Constructors, Assignment and Destructor */
+/*@{*/
+
+/*! \relates ppl_Grid_Generator_System_const_iterator_tag \brief
+  Builds a new `const iterator' and writes a handle to it at address
+  \p pgit.
+*/
+int
+ppl_new_Grid_Generator_System_const_iterator
+PPL_PROTO((ppl_Grid_Generator_System_const_iterator_t* pgit));
+
+/*! \relates ppl_Grid_Generator_System_const_iterator_tag \brief
+  Builds a const iterator that is a copy of \p git; writes a
+  handle for the newly created const iterator at address \p pgit.
+*/
+int
+ppl_new_Grid_Generator_System_const_iterator_from_Grid_Generator_System_const_iterator
+PPL_PROTO((ppl_Grid_Generator_System_const_iterator_t* pgit,
+	   ppl_const_Grid_Generator_System_const_iterator_t git));
+
+/*! \relates ppl_Grid_Generator_System_const_iterator_tag \brief
+  Assigns a copy of the const iterator \p src to \p dst.
+*/
+int
+ppl_assign_Grid_Generator_System_const_iterator_from_Grid_Generator_System_const_iterator
+PPL_PROTO((ppl_Grid_Generator_System_const_iterator_t dst,
+	   ppl_const_Grid_Generator_System_const_iterator_t src));
+
+/*! \relates ppl_Grid_Generator_System_const_iterator_tag \brief
+  Invalidates the handle \p git: this makes sure the corresponding
+  resources will eventually be released.
+*/
+int
+ppl_delete_Grid_Generator_System_const_iterator
+PPL_PROTO((ppl_const_Grid_Generator_System_const_iterator_t git));
+
+/*@}*/ /* Constructors, Assignment and Destructor */
+
+/*! \brief \name Dereferencing, Incrementing and Equality Testing */
+/*@{*/
+
+/*! \relates ppl_Grid_Generator_System_const_iterator_tag \brief
+  Dereference \p git writing a const handle to the resulting
+  grid generator at address \p pg.
+*/
+int
+ppl_Grid_Generator_System_const_iterator_dereference
+PPL_PROTO((ppl_const_Grid_Generator_System_const_iterator_t git,
+	   ppl_const_Grid_Generator_t* pg));
+
+/*! \relates ppl_Grid_Generator_System_const_iterator_tag \brief
+  Increment \p git so that it "points" to the next grid generator.
+*/
+int
+ppl_Grid_Generator_System_const_iterator_increment
+PPL_PROTO((ppl_Grid_Generator_System_const_iterator_t git));
+
+/*! \relates ppl_Grid_Generator_System_const_iterator_tag \brief
+  Returns a positive integer if the iterators corresponding to \p x and
+  \p y are equal; returns 0 if they are different.
+*/
+int
+ppl_Grid_Generator_System_const_iterator_equal_test
+PPL_PROTO((ppl_const_Grid_Generator_System_const_iterator_t x,
+	   ppl_const_Grid_Generator_System_const_iterator_t y));
+
+/*@}*/ /* Dereferencing, Incrementing and Equality Testing */
+
+
+/*! \brief \ingroup Datatypes
+  Code of the worst-case polynomial complexity class.
+*/
+extern unsigned int PPL_COMPLEXITY_CLASS_POLYNOMIAL;
+
+/*! \brief \ingroup Datatypes
+  Code of the worst-case exponential but typically polynomial
+  complexity class.
+*/
+extern unsigned int PPL_COMPLEXITY_CLASS_SIMPLEX;
+
+/*! \brief \ingroup Datatypes
+  Code of the universal complexity class.
+*/
+extern unsigned int PPL_COMPLEXITY_CLASS_ANY;
+
+/*! \brief \ingroup Datatypes
+  Individual bit saying that the polyhedron and the set of points
+  satisfying the constraint are disjoint.
+*/
+extern unsigned int PPL_POLY_CON_RELATION_IS_DISJOINT;
+
+/*! \brief \ingroup Datatypes
+  Individual bit saying that the polyhedron intersects the set of
+  points satisfying the constraint, but it is not included in it.
+*/
+extern unsigned int PPL_POLY_CON_RELATION_STRICTLY_INTERSECTS;
+
+/*! \brief \ingroup Datatypes
+  Individual bit saying that the polyhedron is included in the set of
+  points satisfying the constraint.
+*/
+extern unsigned int PPL_POLY_CON_RELATION_IS_INCLUDED;
+
+/*! \brief \ingroup Datatypes
+  Individual bit saying that the polyhedron is included in the set of
+  points saturating the constraint.
+*/
+extern unsigned int PPL_POLY_CON_RELATION_SATURATES;
+
+/*! \brief \ingroup Datatypes
+  Individual bit saying that adding the generator would not change the
+  polyhedron.
+*/
+extern unsigned int PPL_POLY_GEN_RELATION_SUBSUMES;
+
+
+/*! \brief \ingroup Datatypes
+  Widths of bounded integer types.
+*/
+enum ppl_enum_Bounded_Integer_Type_Width {
+  /*! \hideinitializer 8 bits. */
+  PPL_BITS_8 = 8,
+  /*! \hideinitializer 16 bits. */
+  PPL_BITS_16 = 16,
+  /*! \hideinitializer 32 bits. */
+  PPL_BITS_32 = 32,
+  /*! \hideinitializer 64 bits. */
+  PPL_BITS_64 = 64,
+  /*! \hideinitializer 128 bits. */
+  PPL_BITS_128 = 128
+};
+
+/*! \brief \ingroup Datatypes
+  Representation of bounded integer types.
+*/
+enum ppl_enum_Bounded_Integer_Type_Representation {
+  /*! Unsigned binary. */
+  PPL_UNSIGNED,
+  /*! \brief
+    Signed binary where negative values are represented by the two's
+    complement of the absolute value.
+  */
+  PPL_SIGNED_2_COMPLEMENT
+};
+
+/*! \brief \ingroup Datatypes
+  Overflow behavior of bounded integer types.
+*/
+enum ppl_enum_Bounded_Integer_Type_Overflow {
+  /*! \brief
+    On overflow, wrapping takes place.
+
+    This means that, for a \f$w\f$-bit bounded integer, the computation
+    happens modulo \f$2^w\f$.
+  */
+  PPL_OVERFLOW_WRAPS,
+
+  /*! \brief
+    On overflow, the result is undefined.
+
+    This simply means that the result of the operation resulting in an
+    overflow can take any value.
+
+    \note
+    Even though something more serious can happen in the system
+    being analyzed ---due to, e.g., C's undefined behavior---, here we
+    are only concerned with the results of arithmetic operations.
+    It is the responsibility of the analyzer to ensure that other
+    manifestations of undefined behavior are conservatively approximated.
+  */
+  PPL_OVERFLOW_UNDEFINED,
+
+  /*! \brief
+    Overflow is impossible.
+
+    This is for the analysis of languages where overflow is trapped
+    before it affects the state, for which, thus, any indication that
+    an overflow may have affected the state is necessarily due to
+    the imprecision of the analysis.
+  */
+  PPL_OVERFLOW_IMPOSSIBLE
+};
+
+/*! \brief \name Symbolic Constants */
+/*@{*/
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Code of the "maximization" optimization mode.
+*/
+extern int PPL_OPTIMIZATION_MODE_MAXIMIZATION;
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Code of the "minimization" optimization mode.
+*/
+extern int PPL_OPTIMIZATION_MODE_MINIMIZATION;
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Code of the "unfeasible MIP problem" status.
+*/
+extern int PPL_MIP_PROBLEM_STATUS_UNFEASIBLE;
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Code of the "unbounded MIP problem" status.
+*/
+extern int PPL_MIP_PROBLEM_STATUS_UNBOUNDED;
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Code of the "optimized MIP problem" status.
+*/
+extern int PPL_MIP_PROBLEM_STATUS_OPTIMIZED;
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Code for the MIP problem's "pricing" control parameter name.
+*/
+extern int PPL_MIP_PROBLEM_CONTROL_PARAMETER_NAME_PRICING;
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Code of MIP problem's "textbook" pricing method.
+*/
+extern int PPL_MIP_PROBLEM_CONTROL_PARAMETER_PRICING_TEXTBOOK;
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Code of MIP problem's "exact steepest-edge" pricing method.
+*/
+extern int PPL_MIP_PROBLEM_CONTROL_PARAMETER_PRICING_STEEPEST_EDGE_EXACT;
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Code of MIP problem's "float steepest-edge" pricing method.
+*/
+extern int PPL_MIP_PROBLEM_CONTROL_PARAMETER_PRICING_STEEPEST_EDGE_FLOAT;
+
+
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Code of the "unfeasible PIP problem" status.
+*/
+extern int PPL_PIP_PROBLEM_STATUS_UNFEASIBLE;
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Code of the "optimized PIP problem" status.
+*/
+extern int PPL_PIP_PROBLEM_STATUS_OPTIMIZED;
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Code for the PIP problem's "cutting strategy" control parameter name.
+*/
+extern int PPL_PIP_PROBLEM_CONTROL_PARAMETER_NAME_CUTTING_STRATEGY;
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Code for the PIP problem's "pivot row strategy" control parameter name.
+*/
+extern int PPL_PIP_PROBLEM_CONTROL_PARAMETER_NAME_PIVOT_ROW_STRATEGY;
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Code of PIP problem's "first" cutting strategy.
+*/
+extern int PPL_PIP_PROBLEM_CONTROL_PARAMETER_CUTTING_STRATEGY_FIRST;
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Code of PIP problem's "deepest" cutting strategy.
+*/
+extern int PPL_PIP_PROBLEM_CONTROL_PARAMETER_CUTTING_STRATEGY_DEEPEST;
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Code of PIP problem's "all" cutting strategy.
+*/
+extern int PPL_PIP_PROBLEM_CONTROL_PARAMETER_CUTTING_STRATEGY_ALL;
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Code of PIP problem's "first" pivot row strategy.
+*/
+extern int PPL_PIP_PROBLEM_CONTROL_PARAMETER_PIVOT_ROW_STRATEGY_FIRST;
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Code of PIP problem's "max column" pivot row strategy.
+*/
+extern int PPL_PIP_PROBLEM_CONTROL_PARAMETER_PIVOT_ROW_STRATEGY_MAX_COLUMN;
+
+/*@}*/ /* Symbolic Constants */
+
+/*! \brief \name Constructors, Assignment and Destructor */
+/*@{*/
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Builds a trivial MIP problem of dimension \p d and writes a
+  handle to it at address \p pmip.
+*/
+int
+ppl_new_MIP_Problem_from_space_dimension PPL_PROTO((ppl_MIP_Problem_t* pmip,
+						    ppl_dimension_type d));
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Builds a MIP problem of space dimension \p d having feasible region \p cs,
+  objective function \p le and optimization mode \p m; writes a handle to
+  it at address \p pmip.
+*/
+int
+ppl_new_MIP_Problem PPL_PROTO((ppl_MIP_Problem_t* pmip,
+			       ppl_dimension_type d,
+			       ppl_const_Constraint_System_t cs,
+			       ppl_const_Linear_Expression_t le,
+			       int m));
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Builds a MIP problem that is a copy of \p mip; writes a handle
+  for the newly created system at address \p pmip.
+*/
+int
+ppl_new_MIP_Problem_from_MIP_Problem
+PPL_PROTO((ppl_MIP_Problem_t* pmip, ppl_const_MIP_Problem_t mip));
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Assigns a copy of the MIP problem \p src to \p dst.
+*/
+int
+ppl_assign_MIP_Problem_from_MIP_Problem
+PPL_PROTO((ppl_MIP_Problem_t dst, ppl_const_MIP_Problem_t src));
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Invalidates the handle \p mip: this makes sure the corresponding
+  resources will eventually be released.
+*/
+int
+ppl_delete_MIP_Problem PPL_PROTO((ppl_const_MIP_Problem_t mip));
+
+/*@}*/ /* Constructors, Assignment and Destructor for MIP_Problem */
+
+/*! \brief \name Functions that Do Not Modify the MIP_Problem */
+/*@{*/
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Writes to \p m the dimension of the vector space enclosing \p mip.
+*/
+int
+ppl_MIP_Problem_space_dimension
+PPL_PROTO((ppl_const_MIP_Problem_t mip, ppl_dimension_type* m));
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Writes to \p m the number of integer space dimensions of \p mip.
+*/
+int
+ppl_MIP_Problem_number_of_integer_space_dimensions
+PPL_PROTO((ppl_const_MIP_Problem_t mip, ppl_dimension_type* m));
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Writes in the first positions of the array \p ds all the integer space
+  dimensions of problem \p mip. If the array is not big enough to hold
+  all of the integer space dimensions, the behavior is undefined.
+*/
+int
+ppl_MIP_Problem_integer_space_dimensions
+PPL_PROTO((ppl_const_MIP_Problem_t mip, ppl_dimension_type ds[]));
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Writes to \p m the number of constraints defining
+  the feasible region of \p mip.
+*/
+int
+ppl_MIP_Problem_number_of_constraints PPL_PROTO((ppl_const_MIP_Problem_t mip,
+						 ppl_dimension_type* m));
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Writes at address \p pc a const handle to the \p i-th constraint
+  defining the feasible region of the MIP problem \p mip
+*/
+int
+ppl_MIP_Problem_constraint_at_index PPL_PROTO((ppl_const_MIP_Problem_t mip,
+					       ppl_dimension_type i,
+					       ppl_const_Constraint_t* pc));
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Writes a const handle to the linear expression defining the
+  objective function of the MIP problem \p mip at address \p ple.
+*/
+int
+ppl_MIP_Problem_objective_function
+PPL_PROTO((ppl_const_MIP_Problem_t mip, ppl_const_Linear_Expression_t* ple));
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Returns the optimization mode of the MIP problem \p mip.
+*/
+int
+ppl_MIP_Problem_optimization_mode PPL_PROTO((ppl_const_MIP_Problem_t mip));
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Returns a positive integer if \p mip is well formed, i.e., if it
+  satisfies all its implementation invariants; returns 0 and perhaps
+  makes some noise if \p mip is broken.  Useful for debugging purposes.
+*/
+int
+ppl_MIP_Problem_OK PPL_PROTO((ppl_const_MIP_Problem_t mip));
+
+/*@}*/ /* Functions that Do Not Modify the MIP_Problem */
+
+/*! \brief \name Functions that May Modify the MIP_Problem */
+/*@{*/
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Resets the MIP problem to be a trivial problem of space dimension 0.
+*/
+int
+ppl_MIP_Problem_clear PPL_PROTO((ppl_MIP_Problem_t mip));
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Adds \p d new dimensions to the space enclosing the MIP problem \p mip
+  and to \p mip itself.
+*/
+int
+ppl_MIP_Problem_add_space_dimensions_and_embed
+PPL_PROTO((ppl_MIP_Problem_t mip, ppl_dimension_type d));
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Sets the space dimensions that are specified in first \p n positions
+  of the array \p ds to be integer dimensions of problem \p mip.
+  The presence of duplicates in \p ds is a waste but an innocuous one.
+*/
+int
+ppl_MIP_Problem_add_to_integer_space_dimensions
+PPL_PROTO((ppl_MIP_Problem_t mip, ppl_dimension_type ds[], size_t n));
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Modifies the feasible region of the MIP problem \p mip by adding a copy
+  of the constraint \p c.
+*/
+int
+ppl_MIP_Problem_add_constraint PPL_PROTO((ppl_MIP_Problem_t mip,
+					  ppl_const_Constraint_t c));
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Modifies the feasible region of the MIP problem \p mip by adding a copy
+  of the constraints in \p cs.
+*/
+int
+ppl_MIP_Problem_add_constraints PPL_PROTO((ppl_MIP_Problem_t mip,
+					   ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Sets the objective function of the MIP problem \p mip to a copy of \p le.
+*/
+int
+ppl_MIP_Problem_set_objective_function
+PPL_PROTO((ppl_MIP_Problem_t mip, ppl_const_Linear_Expression_t le));
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Sets the optimization mode of the MIP problem \p mip to \p mode.
+*/
+int
+ppl_MIP_Problem_set_optimization_mode PPL_PROTO((ppl_MIP_Problem_t mip,
+						 int mode));
+
+/*@}*/ /* Functions that May Modify the MIP_Problem */
+
+/*! \brief \name Computing the Solution of the MIP_Problem */
+/*@{*/
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Returns a positive integer if \p mip is satisfiable; returns 0 otherwise.
+*/
+int
+ppl_MIP_Problem_is_satisfiable PPL_PROTO((ppl_const_MIP_Problem_t mip));
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Solves the MIP problem \p mip, returning an exit status.
+
+  \return
+  <CODE>PPL_MIP_PROBLEM_STATUS_UNFEASIBLE</CODE> if the MIP problem
+  is not satisfiable;
+  <CODE>PPL_MIP_PROBLEM_STATUS_UNBOUNDED</CODE> if the MIP problem
+  is satisfiable but there is no finite bound to the value of
+  the objective function;
+  <CODE>PPL_MIP_PROBLEM_STATUS_OPTIMIZED</CODE> if the MIP problem
+  admits an optimal solution.
+*/
+int
+ppl_MIP_Problem_solve PPL_PROTO((ppl_const_MIP_Problem_t mip));
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Evaluates the objective function of \p mip on point \p g.
+
+  \param mip
+  The MIP problem defining the objective function;
+
+  \param g
+  The generator on which the objective function will be evaluated;
+
+  \param num
+  Will be assigned the numerator of the objective function value;
+
+  \param den
+  Will be assigned the denominator of the objective function value;
+*/
+int
+ppl_MIP_Problem_evaluate_objective_function
+PPL_PROTO((ppl_const_MIP_Problem_t mip, ppl_const_Generator_t g,
+	   ppl_Coefficient_t num, ppl_Coefficient_t den));
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Writes a const handle to a feasible point for the MIP problem \p mip
+  at address \p pg.
+*/
+int
+ppl_MIP_Problem_feasible_point PPL_PROTO((ppl_const_MIP_Problem_t mip,
+					  ppl_const_Generator_t* pg));
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Writes a const handle to an optimizing point for the MIP problem \p mip
+  at address \p pg.
+*/
+int
+ppl_MIP_Problem_optimizing_point PPL_PROTO((ppl_const_MIP_Problem_t mip,
+					    ppl_const_Generator_t* pg));
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Returns the optimal value for \p mip.
+
+  \param mip
+  The MIP problem;
+
+  \param num
+  Will be assigned the numerator of the optimal value;
+
+  \param den
+  Will be assigned the denominator of the optimal value.
+*/
+int
+ppl_MIP_Problem_optimal_value
+PPL_PROTO((ppl_const_MIP_Problem_t mip,
+	   ppl_Coefficient_t num, ppl_Coefficient_t den));
+
+/*@}*/ /* Computing the Solution of the MIP_Problem */
+
+/*! \brief \name Querying/Setting Control Parameters */
+/*@{*/
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Returns the value of control parameter \p name in problem \p mip.
+*/
+int
+ppl_MIP_Problem_get_control_parameter
+PPL_PROTO((ppl_const_MIP_Problem_t mip, int name));
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Sets control parameter \p value in problem \p mip.
+*/
+int
+ppl_MIP_Problem_set_control_parameter
+PPL_PROTO((ppl_MIP_Problem_t mip, int value));
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Writes into \p *sz the size in bytes of the memory occupied by \p mip.
+*/
+int
+ppl_MIP_Problem_total_memory_in_bytes
+PPL_PROTO((ppl_const_MIP_Problem_t mip, size_t* sz));
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Writes into \p *sz the size in bytes of the memory managed by \p mip.
+*/
+int
+ppl_MIP_Problem_external_memory_in_bytes
+PPL_PROTO((ppl_const_MIP_Problem_t mip, size_t* sz));
+
+/*@}*/ /* Querying/Setting Control Parameters */
+
+
+/*! \brief \name Constructors, Assignment and Destructor */
+/*@{*/
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Builds a trivial PIP problem of dimension \p d and writes a
+  handle to it at address \p ppip.
+*/
+int
+ppl_new_PIP_Problem_from_space_dimension PPL_PROTO((ppl_PIP_Problem_t* ppip,
+						    ppl_dimension_type d));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Builds a PIP problem that is a copy of \p pip; writes a handle
+  for the newly created problem at address \p ppip.
+*/
+int
+ppl_new_PIP_Problem_from_PIP_Problem
+PPL_PROTO((ppl_PIP_Problem_t* ppip, ppl_const_PIP_Problem_t pip));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Assigns a copy of the PIP problem \p src to \p dst.
+*/
+int
+ppl_assign_PIP_Problem_from_PIP_Problem
+PPL_PROTO((ppl_PIP_Problem_t dst, ppl_const_PIP_Problem_t src));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Builds a PIP problem having space dimension \p d from the sequence
+  of constraints in the range \f$[\mathrm{first}, \mathrm{last})\f$;
+  the \p n dimensions whose indices occur in \p ds are interpreted as
+  parameters.
+*/
+int
+ppl_new_PIP_Problem_from_constraints
+PPL_PROTO((ppl_PIP_Problem_t* ppip,
+           ppl_dimension_type d,
+           ppl_Constraint_System_const_iterator_t first,
+           ppl_Constraint_System_const_iterator_t last,
+           size_t n,
+           ppl_dimension_type ds[]));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Invalidates the handle \p pip: this makes sure the corresponding
+  resources will eventually be released.
+*/
+int
+ppl_delete_PIP_Problem PPL_PROTO((ppl_const_PIP_Problem_t pip));
+
+/*@}*/ /* Constructors, Assignment and Destructor for PIP_Problem */
+
+/*! \brief \name Functions that Do Not Modify the PIP_Problem */
+/*@{*/
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Writes to \p m the dimension of the vector space enclosing \p pip.
+
+  The vector space dimensions includes both the problem variables
+  and the problem parameters, but they do not include the artificial
+  parameters.
+*/
+int
+ppl_PIP_Problem_space_dimension
+PPL_PROTO((ppl_const_PIP_Problem_t pip, ppl_dimension_type* m));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Writes to \p m the number of parameter space dimensions of \p pip.
+*/
+int
+ppl_PIP_Problem_number_of_parameter_space_dimensions
+PPL_PROTO((ppl_const_PIP_Problem_t pip, ppl_dimension_type* m));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Writes in the first positions of the array \p ds all the parameter space
+  dimensions of problem \p pip. If the array is not big enough to hold
+  all of the parameter space dimensions, the behavior is undefined.
+*/
+int
+ppl_PIP_Problem_parameter_space_dimensions
+PPL_PROTO((ppl_const_PIP_Problem_t pip, ppl_dimension_type ds[]));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Writes into \p *pd the big parameter dimension of PIP problem \p pip.
+*/
+int
+ppl_PIP_Problem_get_big_parameter_dimension
+PPL_PROTO((ppl_const_PIP_Problem_t pip, ppl_dimension_type* pd));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Writes to \p m the number of constraints defining
+  the feasible region of \p pip.
+*/
+int
+ppl_PIP_Problem_number_of_constraints PPL_PROTO((ppl_const_PIP_Problem_t pip,
+						 ppl_dimension_type* m));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Writes at address \p pc a const handle to the \p i-th constraint
+  defining the feasible region of the PIP problem \p pip
+*/
+int
+ppl_PIP_Problem_constraint_at_index PPL_PROTO((ppl_const_PIP_Problem_t pip,
+					       ppl_dimension_type i,
+					       ppl_const_Constraint_t* pc));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Writes into \p *sz the size in bytes of the memory occupied by \p pip.
+*/
+int
+ppl_PIP_Problem_total_memory_in_bytes
+PPL_PROTO((ppl_const_PIP_Problem_t pip, size_t* sz));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Writes into \p *sz the size in bytes of the memory managed by \p pip.
+*/
+int
+ppl_PIP_Problem_external_memory_in_bytes
+PPL_PROTO((ppl_const_PIP_Problem_t pip, size_t* sz));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Returns a positive integer if \p pip is well formed, i.e., if it
+  satisfies all its implementation invariants; returns 0 and perhaps
+  makes some noise if \p pip is broken.  Useful for debugging purposes.
+*/
+int
+ppl_PIP_Problem_OK PPL_PROTO((ppl_const_PIP_Problem_t pip));
+
+/*@}*/ /* Functions that Do Not Modify the PIP_Problem */
+
+/*! \brief \name Functions that May Modify the PIP_Problem */
+/*@{*/
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Resets the PIP problem to be a trivial problem of space dimension 0.
+*/
+int
+ppl_PIP_Problem_clear PPL_PROTO((ppl_PIP_Problem_t pip));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Adds <CODE>pip_vars + pip_params</CODE> new space dimensions
+  and embeds the PIP problem \p pip in the new vector space.
+
+  \param pip
+  The PIP problem to be embedded in the new vector space.
+
+  \param pip_vars
+  The number of space dimensions to add that are interpreted as
+  PIP problem variables (i.e., non parameters). These are added
+  \e before adding the \p pip_params parameters.
+
+  \param pip_params
+  The number of space dimensions to add that are interpreted as
+  PIP problem parameters. These are added \e after having added the
+  \p pip_vars problem variables.
+
+  The new space dimensions will be those having the highest indexes
+  in the new PIP problem; they are initially unconstrained.
+*/
+int
+ppl_PIP_Problem_add_space_dimensions_and_embed
+PPL_PROTO((ppl_PIP_Problem_t pip,
+           ppl_dimension_type pip_vars,
+           ppl_dimension_type pip_params));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Sets the space dimensions that are specified in first \p n positions
+  of the array \p ds to be parameter dimensions of problem \p pip.
+  The presence of duplicates in \p ds is a waste but an innocuous one.
+*/
+int
+ppl_PIP_Problem_add_to_parameter_space_dimensions
+PPL_PROTO((ppl_PIP_Problem_t pip, ppl_dimension_type ds[], size_t n));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Sets the big parameter dimension of PIP problem \p pip to \p d.
+*/
+int
+ppl_PIP_Problem_set_big_parameter_dimension
+PPL_PROTO((ppl_PIP_Problem_t pip, ppl_dimension_type d));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Modifies the feasible region of the PIP problem \p pip by adding a copy
+  of the constraint \p c.
+*/
+int
+ppl_PIP_Problem_add_constraint PPL_PROTO((ppl_PIP_Problem_t pip,
+					  ppl_const_Constraint_t c));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Modifies the feasible region of the PIP problem \p pip by adding a copy
+  of the constraints in \p cs.
+*/
+int
+ppl_PIP_Problem_add_constraints PPL_PROTO((ppl_PIP_Problem_t pip,
+					   ppl_const_Constraint_System_t cs));
+
+/*@}*/ /* Functions that May Modify the PIP_Problem */
+
+/*! \brief \name Computing and Printing the Solution of the PIP_Problem */
+/*@{*/
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Returns a positive integer if \p pip is satisfiable and an optimal
+  solution can be found; returns 0 otherwise.
+*/
+int
+ppl_PIP_Problem_is_satisfiable PPL_PROTO((ppl_const_PIP_Problem_t pip));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Solves the PIP problem \p pip, returning an exit status.
+
+  \return
+  <CODE>PPL_PIP_PROBLEM_STATUS_UNFEASIBLE</CODE> if the PIP problem
+  is not satisfiable;
+  <CODE>PPL_PIP_PROBLEM_STATUS_OPTIMIZED</CODE> if the PIP problem
+  admits an optimal solution.
+*/
+int
+ppl_PIP_Problem_solve PPL_PROTO((ppl_const_PIP_Problem_t pip));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Writes to \p pip_tree a solution for \p pip, if it exists.
+*/
+int
+ppl_PIP_Problem_solution PPL_PROTO((ppl_const_PIP_Problem_t pip,
+                                    ppl_const_PIP_Tree_Node_t* pip_tree));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Writes to \p pip_tree an optimizing solution for \p pip, if it exists.
+*/
+int
+ppl_PIP_Problem_optimizing_solution
+PPL_PROTO((ppl_const_PIP_Problem_t pip,
+           ppl_const_PIP_Tree_Node_t* pip_tree));
+
+/*@}*/ /* Computing the Solution of the PIP_Problem */
+
+/*! \brief \name Querying/Setting Control Parameters */
+/*@{*/
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Returns the value of control parameter \p name in problem \p pip.
+*/
+int
+ppl_PIP_Problem_get_control_parameter
+PPL_PROTO((ppl_const_PIP_Problem_t pip, int name));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Sets control parameter \p value in problem \p pip.
+*/
+int
+ppl_PIP_Problem_set_control_parameter
+PPL_PROTO((ppl_PIP_Problem_t pip, int value));
+
+/*@}*/ /* Querying/Setting Control Parameters */
+
+
+/*! \relates ppl_PIP_Tree_Node_tag \brief
+  Writes to \p dpip_tree the solution node if \p spip_tree is
+  a solution node, and 0 otherwise.
+*/
+int
+ppl_PIP_Tree_Node_as_solution
+PPL_PROTO((ppl_const_PIP_Tree_Node_t spip_tree,
+           ppl_const_PIP_Solution_Node_t* dpip_tree));
+
+/*! \relates ppl_PIP_Tree_Node_tag \brief
+  Writes to \p dpip_tree the decision node if \p spip_tree
+  is a decision node, and 0 otherwise.
+*/
+int
+ppl_PIP_Tree_Node_as_decision
+PPL_PROTO((ppl_const_PIP_Tree_Node_t spip_tree,
+           ppl_const_PIP_Decision_Node_t* dpip_tree));
+
+/*! \relates ppl_PIP_Tree_Node_tag \brief
+  Writes to \p pcs the local system of parameter constraints
+  at the pip tree node \p pip_tree.
+*/
+int
+ppl_PIP_Tree_Node_get_constraints
+PPL_PROTO((ppl_const_PIP_Tree_Node_t pip_tree,
+           ppl_const_Constraint_System_t* pcs));
+
+/*! \relates ppl_PIP_Tree_Node_tag \brief
+  Returns a positive integer if \p pip_tree is well formed, i.e., if it
+  satisfies all its implementation invariants; returns 0 and perhaps
+  makes some noise if \p pip_tree is broken.  Useful for debugging purposes.
+*/
+int
+ppl_PIP_Tree_Node_OK PPL_PROTO((ppl_const_PIP_Tree_Node_t pip));
+
+/*! \relates ppl_PIP_Tree_Node_tag \brief
+  Writes to \p m the number of elements in the artificial parameter sequence
+  in the pip tree node \p pip_tree.
+*/
+int
+ppl_PIP_Tree_Node_number_of_artificials
+PPL_PROTO((ppl_const_PIP_Tree_Node_t pip_tree,
+           ppl_dimension_type* m));
+
+/*! \relates ppl_PIP_Tree_Node_tag \brief
+  Assigns to \p pit a const iterator "pointing" to the beginning of
+  the artificial parameter sequence in the pip tree node \p pip_tree.
+*/
+int
+ppl_PIP_Tree_Node_begin
+PPL_PROTO((ppl_const_PIP_Tree_Node_t pip_tree,
+           ppl_Artificial_Parameter_Sequence_const_iterator_t pit));
+
+/*! \relates ppl_PIP_Tree_Node_tag \brief
+  Assigns to \p pit a const iterator "pointing" to the end of
+  the artificial parameter sequence in the pip tree node \p pip_tree.
+*/
+int
+ppl_PIP_Tree_Node_end
+PPL_PROTO((ppl_const_PIP_Tree_Node_t pip_tree,
+           ppl_Artificial_Parameter_Sequence_const_iterator_t pit));
+
+/*! \relates ppl_PIP_Solution_Node_tag \brief
+  Writes to \p le a const pointer to the parametric expression of the values
+  of variable \p var in solution node \p pip_sol.
+
+  The linear expression assigned to \p le will only refer to
+  (problem or artificial) parameters.
+
+  \param pip_sol
+  The solution tree node.
+
+  \param var
+  The variable which is queried about.
+
+  \param le
+  The returned expression for variable \p var.
+
+  \return PPL_ERROR_INVALID_ARGUMENT
+  Returned if \p var is dimension-incompatible with \p *this
+  or if \p var is a problem parameter.
+*/
+int
+ppl_PIP_Solution_Node_get_parametric_values
+PPL_PROTO((ppl_const_PIP_Solution_Node_t pip_sol,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t* le));
+
+/*! \relates ppl_PIP_Decision_Node_tag \brief
+  Writes to \p pip_tree a const pointer to either the true branch
+  (if \p b is not zero) or the false branch (if \p b is zero) of \p pip_dec.
+*/
+int
+ppl_PIP_Decision_Node_get_child_node
+PPL_PROTO((ppl_const_PIP_Decision_Node_t pip_dec,
+           int b,
+           ppl_const_PIP_Tree_Node_t* pip_tree));
+
+/*! \relates ppl_Artificial_Parameter_tag \brief
+  Copies into \p le the linear expression in artificial parameter \p ap.
+*/
+int
+ppl_Artificial_Parameter_get_Linear_Expression
+PPL_PROTO((ppl_const_Artificial_Parameter_t ap,
+           ppl_Linear_Expression_t le));
+
+/*! \relates ppl_Artificial_Parameter_tag \brief
+  Copies into \p n the coefficient of variable \p var in
+  the artificial parameter \p ap.
+*/
+int
+ppl_Artificial_Parameter_coefficient
+PPL_PROTO((ppl_const_Artificial_Parameter_t ap,
+           ppl_dimension_type var,
+           ppl_Coefficient_t n));
+
+/*! \relates ppl_Artificial_Parameter_tag \brief
+  Copies into \p n the inhomogeneous term of the artificial
+  parameter \p ap.
+*/
+int
+ppl_Artificial_Parameter_get_inhomogeneous_term
+PPL_PROTO((ppl_const_Artificial_Parameter_t ap,
+           ppl_Coefficient_t n));
+
+/*! \relates ppl_Artificial_Parameter_tag \brief
+  Copies into \p n the denominator in artificial parameter \p ap.
+*/
+int
+ppl_Artificial_Parameter_denominator
+PPL_PROTO((ppl_const_Artificial_Parameter_t ap,
+           ppl_Coefficient_t n));
+
+/*! \brief \name Constructors, Assignment and Destructor */
+/*@{*/
+
+/*! \relates ppl_Artificial_Parameter_Sequence_const_iterator_tag \brief
+  Builds a new `const iterator' and writes a handle to it at address
+  \p papit.
+*/
+int
+ppl_new_Artificial_Parameter_Sequence_const_iterator
+PPL_PROTO((ppl_Artificial_Parameter_Sequence_const_iterator_t* papit));
+
+/*! \relates ppl_Artificial_Parameter_Sequence_const_iterator_tag \brief
+  Builds a const iterator that is a copy of \p apit; writes a
+  handle for the newly created const iterator at address \p papit.
+*/
+int
+ppl_new_Artificial_Parameter_Sequence_const_iterator_from_Artificial_Parameter_Sequence_const_iterator
+PPL_PROTO((ppl_Artificial_Parameter_Sequence_const_iterator_t* papit,
+	   ppl_const_Artificial_Parameter_Sequence_const_iterator_t apit));
+
+/*! \relates ppl_Artificial_Parameter_Sequence_const_iterator_tag \brief
+  Assigns a copy of the const iterator \p src to \p dst.
+*/
+int
+ppl_assign_Artificial_Parameter_Sequence_const_iterator_from_Artificial_Parameter_Sequence_const_iterator
+PPL_PROTO((ppl_Artificial_Parameter_Sequence_const_iterator_t dst,
+	   ppl_const_Artificial_Parameter_Sequence_const_iterator_t src));
+
+/*! \relates ppl_Artificial_Parameter_Sequence_const_iterator_tag \brief
+  Invalidates the handle \p apit: this makes sure the corresponding
+  resources will eventually be released.
+*/
+int
+ppl_delete_Artificial_Parameter_Sequence_const_iterator
+PPL_PROTO((ppl_const_Artificial_Parameter_Sequence_const_iterator_t apit));
+
+/*@}*/ /* Constructors, Assignment and Destructor */
+
+/*! \brief \name Dereferencing, Incrementing and Equality Testing */
+/*@{*/
+
+/*! \relates ppl_Artificial_Parameter_Sequence_const_iterator_tag \brief
+  Dereference \p apit writing a const handle to the resulting
+  artificial parameter at address \p pap.
+*/
+int
+ppl_Artificial_Parameter_Sequence_const_iterator_dereference
+PPL_PROTO((ppl_const_Artificial_Parameter_Sequence_const_iterator_t apit,
+	   ppl_const_Artificial_Parameter_t* pap));
+
+/*! \relates ppl_Artificial_Parameter_Sequence_const_iterator_tag \brief
+  Increment \p apit so that it "points" to the next artificial parameter.
+*/
+int
+ppl_Artificial_Parameter_Sequence_const_iterator_increment
+PPL_PROTO((ppl_Artificial_Parameter_Sequence_const_iterator_t apit));
+
+/*! \relates ppl_Artificial_Parameter_Sequence_const_iterator_tag \brief
+  Returns a positive integer if the iterators corresponding to \p x and
+  \p y are equal; returns 0 if they are different.
+*/
+int
+ppl_Artificial_Parameter_Sequence_const_iterator_equal_test
+PPL_PROTO((ppl_const_Artificial_Parameter_Sequence_const_iterator_t x,
+	   ppl_const_Artificial_Parameter_Sequence_const_iterator_t y));
+
+/*@}*/ /* Dereferencing, Incrementing and Equality Testing */
+
+PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(MIP_Problem)
+
+PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(PIP_Problem)
+
+PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(PIP_Tree_Node)
+
+PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(PIP_Solution_Node)
+
+PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(PIP_Decision_Node)
+
+PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(Artificial_Parameter)
+
+/* Automatically generated from PPL source file ../../interfaces/C/ppl_c_domains.h line 1. */
+/*C interface code: header file.
+*/
+
+PPL_TYPE_DECLARATION(Polyhedron)
+PPL_TYPE_DECLARATION(Grid)
+PPL_TYPE_DECLARATION(Rational_Box)
+PPL_TYPE_DECLARATION(BD_Shape_int8_t)
+PPL_TYPE_DECLARATION(BD_Shape_mpz_class)
+PPL_TYPE_DECLARATION(BD_Shape_mpq_class)
+PPL_TYPE_DECLARATION(Octagonal_Shape_mpz_class)
+PPL_TYPE_DECLARATION(Octagonal_Shape_mpq_class)
+PPL_TYPE_DECLARATION(Constraints_Product_C_Polyhedron_Grid)
+PPL_TYPE_DECLARATION(Pointset_Powerset_C_Polyhedron)
+PPL_TYPE_DECLARATION(Pointset_Powerset_NNC_Polyhedron)
+PPL_TYPE_DECLARATION(Double_Box)
+PPL_TYPE_DECLARATION(BD_Shape_double)
+PPL_TYPE_DECLARATION(Octagonal_Shape_double)
+
+/*! \interface ppl_Polyhedron_tag
+  \brief Types and functions for ppl_Polyhedron_tag
+*/
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_delete_Polyhedron
+PPL_PROTO((ppl_const_Polyhedron_t ph));
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_C_Polyhedron_from_space_dimension
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_dimension_type d, int empty));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_NNC_Polyhedron_from_space_dimension
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_dimension_type d, int empty));
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_C_Polyhedron_from_C_Polyhedron
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Polyhedron_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_NNC_Polyhedron_from_C_Polyhedron
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Polyhedron_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_C_Polyhedron_from_NNC_Polyhedron
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Polyhedron_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_NNC_Polyhedron_from_NNC_Polyhedron
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Polyhedron_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_C_Polyhedron_from_Grid
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Grid_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_NNC_Polyhedron_from_Grid
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Grid_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_C_Polyhedron_from_Rational_Box
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Rational_Box_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_NNC_Polyhedron_from_Rational_Box
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Rational_Box_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_C_Polyhedron_from_BD_Shape_int8_t
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_BD_Shape_int8_t_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_NNC_Polyhedron_from_BD_Shape_int8_t
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_BD_Shape_int8_t_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_C_Polyhedron_from_BD_Shape_mpz_class
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_BD_Shape_mpz_class_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_NNC_Polyhedron_from_BD_Shape_mpz_class
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_BD_Shape_mpz_class_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_C_Polyhedron_from_BD_Shape_mpq_class
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_BD_Shape_mpq_class_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_NNC_Polyhedron_from_BD_Shape_mpq_class
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_BD_Shape_mpq_class_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_C_Polyhedron_from_Octagonal_Shape_mpz_class
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Octagonal_Shape_mpz_class_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_NNC_Polyhedron_from_Octagonal_Shape_mpz_class
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Octagonal_Shape_mpz_class_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_C_Polyhedron_from_Octagonal_Shape_mpq_class
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Octagonal_Shape_mpq_class_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_NNC_Polyhedron_from_Octagonal_Shape_mpq_class
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Octagonal_Shape_mpq_class_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_C_Polyhedron_from_Double_Box
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Double_Box_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_NNC_Polyhedron_from_Double_Box
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Double_Box_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_C_Polyhedron_from_BD_Shape_double
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_BD_Shape_double_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_NNC_Polyhedron_from_BD_Shape_double
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_BD_Shape_double_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_C_Polyhedron_from_Octagonal_Shape_double
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Octagonal_Shape_double_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_NNC_Polyhedron_from_Octagonal_Shape_double
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Octagonal_Shape_double_t ph));
+
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_C_Polyhedron_from_C_Polyhedron_with_complexity
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Polyhedron_t ph, int complexity));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_NNC_Polyhedron_from_C_Polyhedron_with_complexity
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Polyhedron_t ph, int complexity));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_C_Polyhedron_from_NNC_Polyhedron_with_complexity
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Polyhedron_t ph, int complexity));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_NNC_Polyhedron_from_NNC_Polyhedron_with_complexity
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Polyhedron_t ph, int complexity));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_C_Polyhedron_from_Grid_with_complexity
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Grid_t ph, int complexity));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_NNC_Polyhedron_from_Grid_with_complexity
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Grid_t ph, int complexity));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_C_Polyhedron_from_Rational_Box_with_complexity
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Rational_Box_t ph, int complexity));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_NNC_Polyhedron_from_Rational_Box_with_complexity
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Rational_Box_t ph, int complexity));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_C_Polyhedron_from_BD_Shape_int8_t_with_complexity
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_BD_Shape_int8_t_t ph, int complexity));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_NNC_Polyhedron_from_BD_Shape_int8_t_with_complexity
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_BD_Shape_int8_t_t ph, int complexity));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_C_Polyhedron_from_BD_Shape_mpz_class_with_complexity
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_BD_Shape_mpz_class_t ph, int complexity));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_NNC_Polyhedron_from_BD_Shape_mpz_class_with_complexity
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_BD_Shape_mpz_class_t ph, int complexity));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_C_Polyhedron_from_BD_Shape_mpq_class_with_complexity
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_BD_Shape_mpq_class_t ph, int complexity));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_NNC_Polyhedron_from_BD_Shape_mpq_class_with_complexity
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_BD_Shape_mpq_class_t ph, int complexity));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_C_Polyhedron_from_Octagonal_Shape_mpz_class_with_complexity
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Octagonal_Shape_mpz_class_t ph, int complexity));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_NNC_Polyhedron_from_Octagonal_Shape_mpz_class_with_complexity
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Octagonal_Shape_mpz_class_t ph, int complexity));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_C_Polyhedron_from_Octagonal_Shape_mpq_class_with_complexity
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Octagonal_Shape_mpq_class_t ph, int complexity));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_NNC_Polyhedron_from_Octagonal_Shape_mpq_class_with_complexity
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Octagonal_Shape_mpq_class_t ph, int complexity));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_C_Polyhedron_from_Double_Box_with_complexity
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Double_Box_t ph, int complexity));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_NNC_Polyhedron_from_Double_Box_with_complexity
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Double_Box_t ph, int complexity));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_C_Polyhedron_from_BD_Shape_double_with_complexity
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_BD_Shape_double_t ph, int complexity));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_NNC_Polyhedron_from_BD_Shape_double_with_complexity
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_BD_Shape_double_t ph, int complexity));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_C_Polyhedron_from_Octagonal_Shape_double_with_complexity
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Octagonal_Shape_double_t ph, int complexity));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_NNC_Polyhedron_from_Octagonal_Shape_double_with_complexity
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Octagonal_Shape_double_t ph, int complexity));
+
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_C_Polyhedron_from_Constraint_System
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_NNC_Polyhedron_from_Constraint_System
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_C_Polyhedron_from_Congruence_System
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Congruence_System_t cs));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_NNC_Polyhedron_from_Congruence_System
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Congruence_System_t cs));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_C_Polyhedron_from_Generator_System
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Generator_System_t cs));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_NNC_Polyhedron_from_Generator_System
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_const_Generator_System_t cs));
+
+
+
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_space_dimension
+PPL_PROTO((ppl_const_Polyhedron_t ph, ppl_dimension_type* m));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_affine_dimension
+PPL_PROTO((ppl_const_Polyhedron_t ph, ppl_dimension_type* m));
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_relation_with_Constraint
+PPL_PROTO((ppl_const_Polyhedron_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_relation_with_Generator
+PPL_PROTO((ppl_const_Polyhedron_t ph,
+           ppl_const_Generator_t c));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_relation_with_Congruence
+PPL_PROTO((ppl_const_Polyhedron_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_get_constraints
+PPL_PROTO((ppl_const_Polyhedron_t ph,
+           ppl_const_Constraint_System_t* pcs));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_get_congruences
+PPL_PROTO((ppl_const_Polyhedron_t ph,
+           ppl_const_Congruence_System_t* pcs));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_get_generators
+PPL_PROTO((ppl_const_Polyhedron_t ph,
+           ppl_const_Generator_System_t* pcs));
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_get_minimized_constraints
+PPL_PROTO((ppl_const_Polyhedron_t ph,
+           ppl_const_Constraint_System_t* pcs));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_get_minimized_congruences
+PPL_PROTO((ppl_const_Polyhedron_t ph,
+           ppl_const_Congruence_System_t* pcs));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_get_minimized_generators
+PPL_PROTO((ppl_const_Polyhedron_t ph,
+           ppl_const_Generator_System_t* pcs));
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_is_empty
+PPL_PROTO((ppl_const_Polyhedron_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_is_universe
+PPL_PROTO((ppl_const_Polyhedron_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_is_bounded
+PPL_PROTO((ppl_const_Polyhedron_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_contains_integer_point
+PPL_PROTO((ppl_const_Polyhedron_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_is_topologically_closed
+PPL_PROTO((ppl_const_Polyhedron_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_is_discrete
+PPL_PROTO((ppl_const_Polyhedron_t ph));
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_topological_closure_assign
+PPL_PROTO((ppl_Polyhedron_t ph));
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_bounds_from_above
+PPL_PROTO((ppl_const_Polyhedron_t ph,
+           ppl_const_Linear_Expression_t le));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_bounds_from_below
+PPL_PROTO((ppl_const_Polyhedron_t ph,
+           ppl_const_Linear_Expression_t le));
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_maximize
+PPL_PROTO((ppl_const_Polyhedron_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_minimize
+PPL_PROTO((ppl_const_Polyhedron_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum));
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_maximize_with_point
+PPL_PROTO((ppl_const_Polyhedron_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum,
+           ppl_Generator_t point));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_minimize_with_point
+PPL_PROTO((ppl_const_Polyhedron_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum,
+           ppl_Generator_t point));
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_frequency
+PPL_PROTO((ppl_const_Polyhedron_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_fn,
+           ppl_Coefficient_t ext_fd,
+           ppl_Coefficient_t ext_vn,
+           ppl_Coefficient_t ext_vd));
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_contains_Polyhedron
+PPL_PROTO((ppl_const_Polyhedron_t x,
+           ppl_const_Polyhedron_t y));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_strictly_contains_Polyhedron
+PPL_PROTO((ppl_const_Polyhedron_t x,
+           ppl_const_Polyhedron_t y));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_is_disjoint_from_Polyhedron
+PPL_PROTO((ppl_const_Polyhedron_t x,
+           ppl_const_Polyhedron_t y));
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_equals_Polyhedron
+PPL_PROTO((ppl_const_Polyhedron_t x,
+           ppl_const_Polyhedron_t y));
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_OK
+PPL_PROTO((ppl_const_Polyhedron_t ph));
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_add_constraint
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_add_congruence
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_const_Congruence_t c));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_add_generator
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_const_Generator_t c));
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_add_constraints
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_add_congruences
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_const_Congruence_System_t cs));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_add_generators
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_const_Generator_System_t cs));
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_refine_with_constraint
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_refine_with_congruence
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_refine_with_constraints
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_refine_with_congruences
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_const_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_intersection_assign
+PPL_PROTO((ppl_Polyhedron_t x,
+           ppl_const_Polyhedron_t y));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_upper_bound_assign
+PPL_PROTO((ppl_Polyhedron_t x,
+           ppl_const_Polyhedron_t y));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_difference_assign
+PPL_PROTO((ppl_Polyhedron_t x,
+           ppl_const_Polyhedron_t y));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_concatenate_assign
+PPL_PROTO((ppl_Polyhedron_t x,
+           ppl_const_Polyhedron_t y));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_time_elapse_assign
+PPL_PROTO((ppl_Polyhedron_t x,
+           ppl_const_Polyhedron_t y));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_poly_hull_assign
+PPL_PROTO((ppl_Polyhedron_t x,
+           ppl_const_Polyhedron_t y));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_poly_difference_assign
+PPL_PROTO((ppl_Polyhedron_t x,
+           ppl_const_Polyhedron_t y));
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_upper_bound_assign_if_exact
+PPL_PROTO((ppl_Polyhedron_t x,
+           ppl_const_Polyhedron_t y));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_poly_hull_assign_if_exact
+PPL_PROTO((ppl_Polyhedron_t x,
+           ppl_const_Polyhedron_t y));
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_simplify_using_context_assign
+PPL_PROTO((ppl_Polyhedron_t x,
+           ppl_const_Polyhedron_t y));
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_constrains
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_dimension_type var));
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_unconstrain_space_dimension
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_dimension_type var));
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_unconstrain_space_dimensions
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_dimension_type ds[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_affine_image
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_affine_preimage
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_bounded_affine_image
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t lb,
+           ppl_const_Linear_Expression_t ub,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_bounded_affine_preimage
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t lb,
+           ppl_const_Linear_Expression_t ub,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_generalized_affine_image
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_dimension_type var,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_generalized_affine_preimage
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_dimension_type var,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_generalized_affine_image_lhs_rhs
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_const_Linear_Expression_t lhs,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t rhs));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_generalized_affine_preimage_lhs_rhs
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_const_Linear_Expression_t lhs,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t rhs));
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_add_space_dimensions_and_embed
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_dimension_type d));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_add_space_dimensions_and_project
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_dimension_type d));
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_remove_space_dimensions
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_dimension_type ds[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_remove_higher_space_dimensions
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_dimension_type d));
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_expand_space_dimension
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_dimension_type d,
+           ppl_dimension_type m));
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_fold_space_dimensions
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           ppl_dimension_type d));
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_map_space_dimensions
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_dimension_type maps[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_drop_some_non_integer_points
+PPL_PROTO((ppl_Polyhedron_t ph,
+           int complexity));
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_drop_some_non_integer_points_2
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           int complexity));
+
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_external_memory_in_bytes
+PPL_PROTO((ppl_const_Polyhedron_t ps,
+           size_t* sz));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_total_memory_in_bytes
+PPL_PROTO((ppl_const_Polyhedron_t ps,
+           size_t* sz));
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_BHRZ03_widening_assign_with_tokens
+PPL_PROTO((ppl_Polyhedron_t x,
+           ppl_const_Polyhedron_t y,
+           unsigned* tp));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_H79_widening_assign_with_tokens
+PPL_PROTO((ppl_Polyhedron_t x,
+           ppl_const_Polyhedron_t y,
+           unsigned* tp));
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_BHRZ03_widening_assign
+PPL_PROTO((ppl_Polyhedron_t x,
+           ppl_const_Polyhedron_t y));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_H79_widening_assign
+PPL_PROTO((ppl_Polyhedron_t x,
+           ppl_const_Polyhedron_t y));
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_widening_assign_with_tokens
+PPL_PROTO((ppl_Polyhedron_t x,
+           ppl_const_Polyhedron_t y,
+           unsigned* tp));
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_widening_assign
+PPL_PROTO((ppl_Polyhedron_t x,
+           ppl_const_Polyhedron_t y));
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_limited_BHRZ03_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_Polyhedron_t x,
+           ppl_const_Polyhedron_t y,
+           ppl_const_Constraint_System_t cs,
+           unsigned* tp));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_bounded_BHRZ03_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_Polyhedron_t x,
+           ppl_const_Polyhedron_t y,
+           ppl_const_Constraint_System_t cs,
+           unsigned* tp));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_limited_H79_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_Polyhedron_t x,
+           ppl_const_Polyhedron_t y,
+           ppl_const_Constraint_System_t cs,
+           unsigned* tp));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_bounded_H79_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_Polyhedron_t x,
+           ppl_const_Polyhedron_t y,
+           ppl_const_Constraint_System_t cs,
+           unsigned* tp));
+
+
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_limited_BHRZ03_extrapolation_assign
+PPL_PROTO((ppl_Polyhedron_t x,
+           ppl_const_Polyhedron_t y,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_bounded_BHRZ03_extrapolation_assign
+PPL_PROTO((ppl_Polyhedron_t x,
+           ppl_const_Polyhedron_t y,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_limited_H79_extrapolation_assign
+PPL_PROTO((ppl_Polyhedron_t x,
+           ppl_const_Polyhedron_t y,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_bounded_H79_extrapolation_assign
+PPL_PROTO((ppl_Polyhedron_t x,
+           ppl_const_Polyhedron_t y,
+           ppl_const_Constraint_System_t cs));
+
+
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_linear_partition
+PPL_PROTO((ppl_const_Polyhedron_t x,
+           ppl_const_Polyhedron_t y,
+           ppl_Polyhedron_t* p_inters,
+           ppl_Pointset_Powerset_NNC_Polyhedron_t* p_rest));
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_wrap_assign
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           enum ppl_enum_Bounded_Integer_Type_Width w,
+           enum ppl_enum_Bounded_Integer_Type_Representation r,
+           enum ppl_enum_Bounded_Integer_Type_Overflow o,
+           const ppl_const_Constraint_System_t* pcs,
+           unsigned complexity_threshold,
+           int wrap_individually));
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_C_Polyhedron_recycle_Constraint_System
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_Constraint_System_t cs));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_NNC_Polyhedron_recycle_Constraint_System
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_Constraint_System_t cs));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_C_Polyhedron_recycle_Congruence_System
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_Congruence_System_t cs));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_NNC_Polyhedron_recycle_Congruence_System
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_Congruence_System_t cs));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_C_Polyhedron_recycle_Generator_System
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_Generator_System_t cs));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_new_NNC_Polyhedron_recycle_Generator_System
+PPL_PROTO((ppl_Polyhedron_t* pph, ppl_Generator_System_t cs));
+
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_assign_C_Polyhedron_from_C_Polyhedron
+PPL_PROTO((ppl_Polyhedron_t dst, ppl_const_Polyhedron_t src));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_assign_NNC_Polyhedron_from_NNC_Polyhedron
+PPL_PROTO((ppl_Polyhedron_t dst, ppl_const_Polyhedron_t src));
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_add_recycled_constraints
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_Constraint_System_t cs));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_add_recycled_congruences
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_Congruence_System_t cs));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_Polyhedron_add_recycled_generators
+PPL_PROTO((ppl_Polyhedron_t ph,
+           ppl_Generator_System_t cs));
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_termination_test_MS_C_Polyhedron
+PPL_PROTO((ppl_const_Polyhedron_t pset));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_termination_test_PR_C_Polyhedron
+PPL_PROTO((ppl_const_Polyhedron_t pset));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_termination_test_MS_NNC_Polyhedron
+PPL_PROTO((ppl_const_Polyhedron_t pset));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_termination_test_PR_NNC_Polyhedron
+PPL_PROTO((ppl_const_Polyhedron_t pset));
+
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_one_affine_ranking_function_MS_C_Polyhedron
+PPL_PROTO((ppl_const_Polyhedron_t pset,
+           ppl_Generator_t point));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_one_affine_ranking_function_PR_C_Polyhedron
+PPL_PROTO((ppl_const_Polyhedron_t pset,
+           ppl_Generator_t point));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_one_affine_ranking_function_MS_NNC_Polyhedron
+PPL_PROTO((ppl_const_Polyhedron_t pset,
+           ppl_Generator_t point));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_one_affine_ranking_function_PR_NNC_Polyhedron
+PPL_PROTO((ppl_const_Polyhedron_t pset,
+           ppl_Generator_t point));
+
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_all_affine_ranking_functions_MS_C_Polyhedron
+PPL_PROTO((ppl_const_Polyhedron_t pset,
+           ppl_Polyhedron_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_all_affine_ranking_functions_PR_C_Polyhedron
+PPL_PROTO((ppl_const_Polyhedron_t pset,
+           ppl_Polyhedron_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_all_affine_ranking_functions_MS_NNC_Polyhedron
+PPL_PROTO((ppl_const_Polyhedron_t pset,
+           ppl_Polyhedron_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_all_affine_ranking_functions_PR_NNC_Polyhedron
+PPL_PROTO((ppl_const_Polyhedron_t pset,
+           ppl_Polyhedron_t ph));
+
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_termination_test_MS_C_Polyhedron_2
+PPL_PROTO((ppl_const_Polyhedron_t pset_before, ppl_const_Polyhedron_t pset_after));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_termination_test_PR_C_Polyhedron_2
+PPL_PROTO((ppl_const_Polyhedron_t pset_before, ppl_const_Polyhedron_t pset_after));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_termination_test_MS_NNC_Polyhedron_2
+PPL_PROTO((ppl_const_Polyhedron_t pset_before, ppl_const_Polyhedron_t pset_after));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_termination_test_PR_NNC_Polyhedron_2
+PPL_PROTO((ppl_const_Polyhedron_t pset_before, ppl_const_Polyhedron_t pset_after));
+
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_one_affine_ranking_function_MS_C_Polyhedron_2
+PPL_PROTO((ppl_const_Polyhedron_t pset_before,
+           ppl_const_Polyhedron_t pset_after,
+           ppl_Generator_t point));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_one_affine_ranking_function_PR_C_Polyhedron_2
+PPL_PROTO((ppl_const_Polyhedron_t pset_before,
+           ppl_const_Polyhedron_t pset_after,
+           ppl_Generator_t point));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_one_affine_ranking_function_MS_NNC_Polyhedron_2
+PPL_PROTO((ppl_const_Polyhedron_t pset_before,
+           ppl_const_Polyhedron_t pset_after,
+           ppl_Generator_t point));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_one_affine_ranking_function_PR_NNC_Polyhedron_2
+PPL_PROTO((ppl_const_Polyhedron_t pset_before,
+           ppl_const_Polyhedron_t pset_after,
+           ppl_Generator_t point));
+
+
+
+
+
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_all_affine_ranking_functions_MS_C_Polyhedron_2
+PPL_PROTO((ppl_const_Polyhedron_t pset_before,
+           ppl_const_Polyhedron_t pset_after,
+           ppl_Polyhedron_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_all_affine_ranking_functions_PR_C_Polyhedron_2
+PPL_PROTO((ppl_const_Polyhedron_t pset_before,
+           ppl_const_Polyhedron_t pset_after,
+           ppl_Polyhedron_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_all_affine_ranking_functions_MS_NNC_Polyhedron_2
+PPL_PROTO((ppl_const_Polyhedron_t pset_before,
+           ppl_const_Polyhedron_t pset_after,
+           ppl_Polyhedron_t ph));
+
+/*! \relates ppl_Polyhedron_tag */
+int
+ppl_all_affine_ranking_functions_PR_NNC_Polyhedron_2
+PPL_PROTO((ppl_const_Polyhedron_t pset_before,
+           ppl_const_Polyhedron_t pset_after,
+           ppl_Polyhedron_t ph));
+
+
+
+
+
+
+
+PPL_DECLARE_IO_FUNCTIONS(Polyhedron)
+
+/* End of Functions Related to ppl_Polyhedron_tag */
+
+/*! \interface ppl_Grid_tag
+  \brief Types and functions for ppl_Grid_tag
+*/
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_delete_Grid
+PPL_PROTO((ppl_const_Grid_t ph));
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_new_Grid_from_space_dimension
+PPL_PROTO((ppl_Grid_t* pph, ppl_dimension_type d, int empty));
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_new_Grid_from_C_Polyhedron
+PPL_PROTO((ppl_Grid_t* pph, ppl_const_Polyhedron_t ph));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_new_Grid_from_NNC_Polyhedron
+PPL_PROTO((ppl_Grid_t* pph, ppl_const_Polyhedron_t ph));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_new_Grid_from_Grid
+PPL_PROTO((ppl_Grid_t* pph, ppl_const_Grid_t ph));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_new_Grid_from_Rational_Box
+PPL_PROTO((ppl_Grid_t* pph, ppl_const_Rational_Box_t ph));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_new_Grid_from_BD_Shape_int8_t
+PPL_PROTO((ppl_Grid_t* pph, ppl_const_BD_Shape_int8_t_t ph));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_new_Grid_from_BD_Shape_mpz_class
+PPL_PROTO((ppl_Grid_t* pph, ppl_const_BD_Shape_mpz_class_t ph));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_new_Grid_from_BD_Shape_mpq_class
+PPL_PROTO((ppl_Grid_t* pph, ppl_const_BD_Shape_mpq_class_t ph));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_new_Grid_from_Octagonal_Shape_mpz_class
+PPL_PROTO((ppl_Grid_t* pph, ppl_const_Octagonal_Shape_mpz_class_t ph));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_new_Grid_from_Octagonal_Shape_mpq_class
+PPL_PROTO((ppl_Grid_t* pph, ppl_const_Octagonal_Shape_mpq_class_t ph));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_new_Grid_from_Double_Box
+PPL_PROTO((ppl_Grid_t* pph, ppl_const_Double_Box_t ph));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_new_Grid_from_BD_Shape_double
+PPL_PROTO((ppl_Grid_t* pph, ppl_const_BD_Shape_double_t ph));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_new_Grid_from_Octagonal_Shape_double
+PPL_PROTO((ppl_Grid_t* pph, ppl_const_Octagonal_Shape_double_t ph));
+
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_new_Grid_from_C_Polyhedron_with_complexity
+PPL_PROTO((ppl_Grid_t* pph, ppl_const_Polyhedron_t ph, int complexity));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_new_Grid_from_NNC_Polyhedron_with_complexity
+PPL_PROTO((ppl_Grid_t* pph, ppl_const_Polyhedron_t ph, int complexity));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_new_Grid_from_Grid_with_complexity
+PPL_PROTO((ppl_Grid_t* pph, ppl_const_Grid_t ph, int complexity));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_new_Grid_from_Rational_Box_with_complexity
+PPL_PROTO((ppl_Grid_t* pph, ppl_const_Rational_Box_t ph, int complexity));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_new_Grid_from_BD_Shape_int8_t_with_complexity
+PPL_PROTO((ppl_Grid_t* pph, ppl_const_BD_Shape_int8_t_t ph, int complexity));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_new_Grid_from_BD_Shape_mpz_class_with_complexity
+PPL_PROTO((ppl_Grid_t* pph, ppl_const_BD_Shape_mpz_class_t ph, int complexity));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_new_Grid_from_BD_Shape_mpq_class_with_complexity
+PPL_PROTO((ppl_Grid_t* pph, ppl_const_BD_Shape_mpq_class_t ph, int complexity));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_new_Grid_from_Octagonal_Shape_mpz_class_with_complexity
+PPL_PROTO((ppl_Grid_t* pph, ppl_const_Octagonal_Shape_mpz_class_t ph, int complexity));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_new_Grid_from_Octagonal_Shape_mpq_class_with_complexity
+PPL_PROTO((ppl_Grid_t* pph, ppl_const_Octagonal_Shape_mpq_class_t ph, int complexity));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_new_Grid_from_Double_Box_with_complexity
+PPL_PROTO((ppl_Grid_t* pph, ppl_const_Double_Box_t ph, int complexity));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_new_Grid_from_BD_Shape_double_with_complexity
+PPL_PROTO((ppl_Grid_t* pph, ppl_const_BD_Shape_double_t ph, int complexity));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_new_Grid_from_Octagonal_Shape_double_with_complexity
+PPL_PROTO((ppl_Grid_t* pph, ppl_const_Octagonal_Shape_double_t ph, int complexity));
+
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_new_Grid_from_Constraint_System
+PPL_PROTO((ppl_Grid_t* pph, ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_new_Grid_from_Congruence_System
+PPL_PROTO((ppl_Grid_t* pph, ppl_const_Congruence_System_t cs));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_new_Grid_from_Grid_Generator_System
+PPL_PROTO((ppl_Grid_t* pph, ppl_const_Grid_Generator_System_t cs));
+
+
+
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_space_dimension
+PPL_PROTO((ppl_const_Grid_t ph, ppl_dimension_type* m));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_affine_dimension
+PPL_PROTO((ppl_const_Grid_t ph, ppl_dimension_type* m));
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_relation_with_Constraint
+PPL_PROTO((ppl_const_Grid_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_relation_with_Generator
+PPL_PROTO((ppl_const_Grid_t ph,
+           ppl_const_Generator_t c));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_relation_with_Congruence
+PPL_PROTO((ppl_const_Grid_t ph,
+           ppl_const_Congruence_t c));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_relation_with_Grid_Generator
+PPL_PROTO((ppl_const_Grid_t ph,
+           ppl_const_Grid_Generator_t c));
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_get_constraints
+PPL_PROTO((ppl_const_Grid_t ph,
+           ppl_const_Constraint_System_t* pcs));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_get_congruences
+PPL_PROTO((ppl_const_Grid_t ph,
+           ppl_const_Congruence_System_t* pcs));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_get_grid_generators
+PPL_PROTO((ppl_const_Grid_t ph,
+           ppl_const_Grid_Generator_System_t* pcs));
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_get_minimized_constraints
+PPL_PROTO((ppl_const_Grid_t ph,
+           ppl_const_Constraint_System_t* pcs));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_get_minimized_congruences
+PPL_PROTO((ppl_const_Grid_t ph,
+           ppl_const_Congruence_System_t* pcs));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_get_minimized_grid_generators
+PPL_PROTO((ppl_const_Grid_t ph,
+           ppl_const_Grid_Generator_System_t* pcs));
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_is_empty
+PPL_PROTO((ppl_const_Grid_t ph));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_is_universe
+PPL_PROTO((ppl_const_Grid_t ph));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_is_bounded
+PPL_PROTO((ppl_const_Grid_t ph));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_contains_integer_point
+PPL_PROTO((ppl_const_Grid_t ph));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_is_topologically_closed
+PPL_PROTO((ppl_const_Grid_t ph));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_is_discrete
+PPL_PROTO((ppl_const_Grid_t ph));
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_topological_closure_assign
+PPL_PROTO((ppl_Grid_t ph));
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_bounds_from_above
+PPL_PROTO((ppl_const_Grid_t ph,
+           ppl_const_Linear_Expression_t le));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_bounds_from_below
+PPL_PROTO((ppl_const_Grid_t ph,
+           ppl_const_Linear_Expression_t le));
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_maximize
+PPL_PROTO((ppl_const_Grid_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_minimize
+PPL_PROTO((ppl_const_Grid_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum));
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_maximize_with_point
+PPL_PROTO((ppl_const_Grid_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum,
+           ppl_Generator_t point));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_minimize_with_point
+PPL_PROTO((ppl_const_Grid_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum,
+           ppl_Generator_t point));
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_frequency
+PPL_PROTO((ppl_const_Grid_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_fn,
+           ppl_Coefficient_t ext_fd,
+           ppl_Coefficient_t ext_vn,
+           ppl_Coefficient_t ext_vd));
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_contains_Grid
+PPL_PROTO((ppl_const_Grid_t x,
+           ppl_const_Grid_t y));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_strictly_contains_Grid
+PPL_PROTO((ppl_const_Grid_t x,
+           ppl_const_Grid_t y));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_is_disjoint_from_Grid
+PPL_PROTO((ppl_const_Grid_t x,
+           ppl_const_Grid_t y));
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_equals_Grid
+PPL_PROTO((ppl_const_Grid_t x,
+           ppl_const_Grid_t y));
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_OK
+PPL_PROTO((ppl_const_Grid_t ph));
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_add_constraint
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_add_congruence
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_const_Congruence_t c));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_add_grid_generator
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_const_Grid_Generator_t c));
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_add_constraints
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_add_congruences
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_const_Congruence_System_t cs));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_add_grid_generators
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_const_Grid_Generator_System_t cs));
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_refine_with_constraint
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_refine_with_congruence
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_refine_with_constraints
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_refine_with_congruences
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_const_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_intersection_assign
+PPL_PROTO((ppl_Grid_t x,
+           ppl_const_Grid_t y));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_upper_bound_assign
+PPL_PROTO((ppl_Grid_t x,
+           ppl_const_Grid_t y));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_difference_assign
+PPL_PROTO((ppl_Grid_t x,
+           ppl_const_Grid_t y));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_concatenate_assign
+PPL_PROTO((ppl_Grid_t x,
+           ppl_const_Grid_t y));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_time_elapse_assign
+PPL_PROTO((ppl_Grid_t x,
+           ppl_const_Grid_t y));
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_upper_bound_assign_if_exact
+PPL_PROTO((ppl_Grid_t x,
+           ppl_const_Grid_t y));
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_simplify_using_context_assign
+PPL_PROTO((ppl_Grid_t x,
+           ppl_const_Grid_t y));
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_constrains
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_dimension_type var));
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_unconstrain_space_dimension
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_dimension_type var));
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_unconstrain_space_dimensions
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_dimension_type ds[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_affine_image
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_affine_preimage
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_bounded_affine_image
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t lb,
+           ppl_const_Linear_Expression_t ub,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_bounded_affine_preimage
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t lb,
+           ppl_const_Linear_Expression_t ub,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_generalized_affine_image
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_dimension_type var,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_generalized_affine_preimage
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_dimension_type var,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_generalized_affine_image_lhs_rhs
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_const_Linear_Expression_t lhs,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t rhs));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_generalized_affine_preimage_lhs_rhs
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_const_Linear_Expression_t lhs,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t rhs));
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_generalized_affine_image_with_congruence
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_dimension_type var,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d,
+           ppl_const_Coefficient_t m));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_generalized_affine_preimage_with_congruence
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_dimension_type var,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d,
+           ppl_const_Coefficient_t m));
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_generalized_affine_image_lhs_rhs_with_congruence
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_const_Linear_Expression_t lhs,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t rhs,
+           ppl_const_Coefficient_t m));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_generalized_affine_preimage_lhs_rhs_with_congruence
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_const_Linear_Expression_t lhs,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t rhs,
+           ppl_const_Coefficient_t m));
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_add_space_dimensions_and_embed
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_dimension_type d));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_add_space_dimensions_and_project
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_dimension_type d));
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_remove_space_dimensions
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_dimension_type ds[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_remove_higher_space_dimensions
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_dimension_type d));
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_expand_space_dimension
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_dimension_type d,
+           ppl_dimension_type m));
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_fold_space_dimensions
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           ppl_dimension_type d));
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_map_space_dimensions
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_dimension_type maps[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_drop_some_non_integer_points
+PPL_PROTO((ppl_Grid_t ph,
+           int complexity));
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_drop_some_non_integer_points_2
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           int complexity));
+
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_external_memory_in_bytes
+PPL_PROTO((ppl_const_Grid_t ps,
+           size_t* sz));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_total_memory_in_bytes
+PPL_PROTO((ppl_const_Grid_t ps,
+           size_t* sz));
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_congruence_widening_assign_with_tokens
+PPL_PROTO((ppl_Grid_t x,
+           ppl_const_Grid_t y,
+           unsigned* tp));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_generator_widening_assign_with_tokens
+PPL_PROTO((ppl_Grid_t x,
+           ppl_const_Grid_t y,
+           unsigned* tp));
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_congruence_widening_assign
+PPL_PROTO((ppl_Grid_t x,
+           ppl_const_Grid_t y));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_generator_widening_assign
+PPL_PROTO((ppl_Grid_t x,
+           ppl_const_Grid_t y));
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_widening_assign_with_tokens
+PPL_PROTO((ppl_Grid_t x,
+           ppl_const_Grid_t y,
+           unsigned* tp));
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_widening_assign
+PPL_PROTO((ppl_Grid_t x,
+           ppl_const_Grid_t y));
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_limited_congruence_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_Grid_t x,
+           ppl_const_Grid_t y,
+           ppl_const_Congruence_System_t cs,
+           unsigned* tp));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_limited_generator_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_Grid_t x,
+           ppl_const_Grid_t y,
+           ppl_const_Congruence_System_t cs,
+           unsigned* tp));
+
+
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_limited_congruence_extrapolation_assign
+PPL_PROTO((ppl_Grid_t x,
+           ppl_const_Grid_t y,
+           ppl_const_Congruence_System_t cs));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_limited_generator_extrapolation_assign
+PPL_PROTO((ppl_Grid_t x,
+           ppl_const_Grid_t y,
+           ppl_const_Congruence_System_t cs));
+
+
+
+
+
+
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_wrap_assign
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           enum ppl_enum_Bounded_Integer_Type_Width w,
+           enum ppl_enum_Bounded_Integer_Type_Representation r,
+           enum ppl_enum_Bounded_Integer_Type_Overflow o,
+           const ppl_const_Constraint_System_t* pcs,
+           unsigned complexity_threshold,
+           int wrap_individually));
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_new_Grid_recycle_Constraint_System
+PPL_PROTO((ppl_Grid_t* pph, ppl_Constraint_System_t cs));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_new_Grid_recycle_Congruence_System
+PPL_PROTO((ppl_Grid_t* pph, ppl_Congruence_System_t cs));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_new_Grid_recycle_Grid_Generator_System
+PPL_PROTO((ppl_Grid_t* pph, ppl_Grid_Generator_System_t cs));
+
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_assign_Grid_from_Grid
+PPL_PROTO((ppl_Grid_t dst, ppl_const_Grid_t src));
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_add_recycled_constraints
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_Constraint_System_t cs));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_add_recycled_congruences
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_Congruence_System_t cs));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_Grid_add_recycled_grid_generators
+PPL_PROTO((ppl_Grid_t ph,
+           ppl_Grid_Generator_System_t cs));
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_termination_test_MS_Grid
+PPL_PROTO((ppl_const_Grid_t pset));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_termination_test_PR_Grid
+PPL_PROTO((ppl_const_Grid_t pset));
+
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_one_affine_ranking_function_MS_Grid
+PPL_PROTO((ppl_const_Grid_t pset,
+           ppl_Generator_t point));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_one_affine_ranking_function_PR_Grid
+PPL_PROTO((ppl_const_Grid_t pset,
+           ppl_Generator_t point));
+
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_all_affine_ranking_functions_MS_Grid
+PPL_PROTO((ppl_const_Grid_t pset,
+           ppl_Polyhedron_t ph));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_all_affine_ranking_functions_PR_Grid
+PPL_PROTO((ppl_const_Grid_t pset,
+           ppl_Polyhedron_t ph));
+
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_termination_test_MS_Grid_2
+PPL_PROTO((ppl_const_Grid_t pset_before, ppl_const_Grid_t pset_after));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_termination_test_PR_Grid_2
+PPL_PROTO((ppl_const_Grid_t pset_before, ppl_const_Grid_t pset_after));
+
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_one_affine_ranking_function_MS_Grid_2
+PPL_PROTO((ppl_const_Grid_t pset_before,
+           ppl_const_Grid_t pset_after,
+           ppl_Generator_t point));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_one_affine_ranking_function_PR_Grid_2
+PPL_PROTO((ppl_const_Grid_t pset_before,
+           ppl_const_Grid_t pset_after,
+           ppl_Generator_t point));
+
+
+
+
+
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_all_affine_ranking_functions_MS_Grid_2
+PPL_PROTO((ppl_const_Grid_t pset_before,
+           ppl_const_Grid_t pset_after,
+           ppl_Polyhedron_t ph));
+
+/*! \relates ppl_Grid_tag */
+int
+ppl_all_affine_ranking_functions_PR_Grid_2
+PPL_PROTO((ppl_const_Grid_t pset_before,
+           ppl_const_Grid_t pset_after,
+           ppl_Polyhedron_t ph));
+
+
+
+
+
+
+
+PPL_DECLARE_IO_FUNCTIONS(Grid)
+
+/* End of Functions Related to ppl_Grid_tag */
+
+/*! \interface ppl_Rational_Box_tag
+  \brief Types and functions for ppl_Rational_Box_tag
+*/
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_delete_Rational_Box
+PPL_PROTO((ppl_const_Rational_Box_t ph));
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_new_Rational_Box_from_space_dimension
+PPL_PROTO((ppl_Rational_Box_t* pph, ppl_dimension_type d, int empty));
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_new_Rational_Box_from_C_Polyhedron
+PPL_PROTO((ppl_Rational_Box_t* pph, ppl_const_Polyhedron_t ph));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_new_Rational_Box_from_NNC_Polyhedron
+PPL_PROTO((ppl_Rational_Box_t* pph, ppl_const_Polyhedron_t ph));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_new_Rational_Box_from_Grid
+PPL_PROTO((ppl_Rational_Box_t* pph, ppl_const_Grid_t ph));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_new_Rational_Box_from_Rational_Box
+PPL_PROTO((ppl_Rational_Box_t* pph, ppl_const_Rational_Box_t ph));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_new_Rational_Box_from_BD_Shape_int8_t
+PPL_PROTO((ppl_Rational_Box_t* pph, ppl_const_BD_Shape_int8_t_t ph));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_new_Rational_Box_from_BD_Shape_mpz_class
+PPL_PROTO((ppl_Rational_Box_t* pph, ppl_const_BD_Shape_mpz_class_t ph));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_new_Rational_Box_from_BD_Shape_mpq_class
+PPL_PROTO((ppl_Rational_Box_t* pph, ppl_const_BD_Shape_mpq_class_t ph));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_new_Rational_Box_from_Octagonal_Shape_mpz_class
+PPL_PROTO((ppl_Rational_Box_t* pph, ppl_const_Octagonal_Shape_mpz_class_t ph));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_new_Rational_Box_from_Octagonal_Shape_mpq_class
+PPL_PROTO((ppl_Rational_Box_t* pph, ppl_const_Octagonal_Shape_mpq_class_t ph));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_new_Rational_Box_from_Double_Box
+PPL_PROTO((ppl_Rational_Box_t* pph, ppl_const_Double_Box_t ph));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_new_Rational_Box_from_BD_Shape_double
+PPL_PROTO((ppl_Rational_Box_t* pph, ppl_const_BD_Shape_double_t ph));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_new_Rational_Box_from_Octagonal_Shape_double
+PPL_PROTO((ppl_Rational_Box_t* pph, ppl_const_Octagonal_Shape_double_t ph));
+
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_new_Rational_Box_from_C_Polyhedron_with_complexity
+PPL_PROTO((ppl_Rational_Box_t* pph, ppl_const_Polyhedron_t ph, int complexity));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_new_Rational_Box_from_NNC_Polyhedron_with_complexity
+PPL_PROTO((ppl_Rational_Box_t* pph, ppl_const_Polyhedron_t ph, int complexity));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_new_Rational_Box_from_Grid_with_complexity
+PPL_PROTO((ppl_Rational_Box_t* pph, ppl_const_Grid_t ph, int complexity));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_new_Rational_Box_from_Rational_Box_with_complexity
+PPL_PROTO((ppl_Rational_Box_t* pph, ppl_const_Rational_Box_t ph, int complexity));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_new_Rational_Box_from_BD_Shape_int8_t_with_complexity
+PPL_PROTO((ppl_Rational_Box_t* pph, ppl_const_BD_Shape_int8_t_t ph, int complexity));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_new_Rational_Box_from_BD_Shape_mpz_class_with_complexity
+PPL_PROTO((ppl_Rational_Box_t* pph, ppl_const_BD_Shape_mpz_class_t ph, int complexity));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_new_Rational_Box_from_BD_Shape_mpq_class_with_complexity
+PPL_PROTO((ppl_Rational_Box_t* pph, ppl_const_BD_Shape_mpq_class_t ph, int complexity));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_new_Rational_Box_from_Octagonal_Shape_mpz_class_with_complexity
+PPL_PROTO((ppl_Rational_Box_t* pph, ppl_const_Octagonal_Shape_mpz_class_t ph, int complexity));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_new_Rational_Box_from_Octagonal_Shape_mpq_class_with_complexity
+PPL_PROTO((ppl_Rational_Box_t* pph, ppl_const_Octagonal_Shape_mpq_class_t ph, int complexity));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_new_Rational_Box_from_Double_Box_with_complexity
+PPL_PROTO((ppl_Rational_Box_t* pph, ppl_const_Double_Box_t ph, int complexity));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_new_Rational_Box_from_BD_Shape_double_with_complexity
+PPL_PROTO((ppl_Rational_Box_t* pph, ppl_const_BD_Shape_double_t ph, int complexity));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_new_Rational_Box_from_Octagonal_Shape_double_with_complexity
+PPL_PROTO((ppl_Rational_Box_t* pph, ppl_const_Octagonal_Shape_double_t ph, int complexity));
+
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_new_Rational_Box_from_Constraint_System
+PPL_PROTO((ppl_Rational_Box_t* pph, ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_new_Rational_Box_from_Congruence_System
+PPL_PROTO((ppl_Rational_Box_t* pph, ppl_const_Congruence_System_t cs));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_new_Rational_Box_from_Generator_System
+PPL_PROTO((ppl_Rational_Box_t* pph, ppl_const_Generator_System_t cs));
+
+
+
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_space_dimension
+PPL_PROTO((ppl_const_Rational_Box_t ph, ppl_dimension_type* m));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_affine_dimension
+PPL_PROTO((ppl_const_Rational_Box_t ph, ppl_dimension_type* m));
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_relation_with_Constraint
+PPL_PROTO((ppl_const_Rational_Box_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_relation_with_Generator
+PPL_PROTO((ppl_const_Rational_Box_t ph,
+           ppl_const_Generator_t c));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_relation_with_Congruence
+PPL_PROTO((ppl_const_Rational_Box_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_get_constraints
+PPL_PROTO((ppl_const_Rational_Box_t ph,
+           ppl_const_Constraint_System_t* pcs));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_get_congruences
+PPL_PROTO((ppl_const_Rational_Box_t ph,
+           ppl_const_Congruence_System_t* pcs));
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_get_minimized_constraints
+PPL_PROTO((ppl_const_Rational_Box_t ph,
+           ppl_const_Constraint_System_t* pcs));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_get_minimized_congruences
+PPL_PROTO((ppl_const_Rational_Box_t ph,
+           ppl_const_Congruence_System_t* pcs));
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_is_empty
+PPL_PROTO((ppl_const_Rational_Box_t ph));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_is_universe
+PPL_PROTO((ppl_const_Rational_Box_t ph));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_is_bounded
+PPL_PROTO((ppl_const_Rational_Box_t ph));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_contains_integer_point
+PPL_PROTO((ppl_const_Rational_Box_t ph));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_is_topologically_closed
+PPL_PROTO((ppl_const_Rational_Box_t ph));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_is_discrete
+PPL_PROTO((ppl_const_Rational_Box_t ph));
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_topological_closure_assign
+PPL_PROTO((ppl_Rational_Box_t ph));
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_bounds_from_above
+PPL_PROTO((ppl_const_Rational_Box_t ph,
+           ppl_const_Linear_Expression_t le));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_bounds_from_below
+PPL_PROTO((ppl_const_Rational_Box_t ph,
+           ppl_const_Linear_Expression_t le));
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_maximize
+PPL_PROTO((ppl_const_Rational_Box_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_minimize
+PPL_PROTO((ppl_const_Rational_Box_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum));
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_maximize_with_point
+PPL_PROTO((ppl_const_Rational_Box_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum,
+           ppl_Generator_t point));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_minimize_with_point
+PPL_PROTO((ppl_const_Rational_Box_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum,
+           ppl_Generator_t point));
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_frequency
+PPL_PROTO((ppl_const_Rational_Box_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_fn,
+           ppl_Coefficient_t ext_fd,
+           ppl_Coefficient_t ext_vn,
+           ppl_Coefficient_t ext_vd));
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_contains_Rational_Box
+PPL_PROTO((ppl_const_Rational_Box_t x,
+           ppl_const_Rational_Box_t y));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_strictly_contains_Rational_Box
+PPL_PROTO((ppl_const_Rational_Box_t x,
+           ppl_const_Rational_Box_t y));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_is_disjoint_from_Rational_Box
+PPL_PROTO((ppl_const_Rational_Box_t x,
+           ppl_const_Rational_Box_t y));
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_equals_Rational_Box
+PPL_PROTO((ppl_const_Rational_Box_t x,
+           ppl_const_Rational_Box_t y));
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_OK
+PPL_PROTO((ppl_const_Rational_Box_t ph));
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_add_constraint
+PPL_PROTO((ppl_Rational_Box_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_add_congruence
+PPL_PROTO((ppl_Rational_Box_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_add_constraints
+PPL_PROTO((ppl_Rational_Box_t ph,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_add_congruences
+PPL_PROTO((ppl_Rational_Box_t ph,
+           ppl_const_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_refine_with_constraint
+PPL_PROTO((ppl_Rational_Box_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_refine_with_congruence
+PPL_PROTO((ppl_Rational_Box_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_refine_with_constraints
+PPL_PROTO((ppl_Rational_Box_t ph,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_refine_with_congruences
+PPL_PROTO((ppl_Rational_Box_t ph,
+           ppl_const_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_intersection_assign
+PPL_PROTO((ppl_Rational_Box_t x,
+           ppl_const_Rational_Box_t y));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_upper_bound_assign
+PPL_PROTO((ppl_Rational_Box_t x,
+           ppl_const_Rational_Box_t y));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_difference_assign
+PPL_PROTO((ppl_Rational_Box_t x,
+           ppl_const_Rational_Box_t y));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_concatenate_assign
+PPL_PROTO((ppl_Rational_Box_t x,
+           ppl_const_Rational_Box_t y));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_time_elapse_assign
+PPL_PROTO((ppl_Rational_Box_t x,
+           ppl_const_Rational_Box_t y));
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_upper_bound_assign_if_exact
+PPL_PROTO((ppl_Rational_Box_t x,
+           ppl_const_Rational_Box_t y));
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_simplify_using_context_assign
+PPL_PROTO((ppl_Rational_Box_t x,
+           ppl_const_Rational_Box_t y));
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_constrains
+PPL_PROTO((ppl_Rational_Box_t ph,
+           ppl_dimension_type var));
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_unconstrain_space_dimension
+PPL_PROTO((ppl_Rational_Box_t ph,
+           ppl_dimension_type var));
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_unconstrain_space_dimensions
+PPL_PROTO((ppl_Rational_Box_t ph,
+           ppl_dimension_type ds[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_affine_image
+PPL_PROTO((ppl_Rational_Box_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_affine_preimage
+PPL_PROTO((ppl_Rational_Box_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_bounded_affine_image
+PPL_PROTO((ppl_Rational_Box_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t lb,
+           ppl_const_Linear_Expression_t ub,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_bounded_affine_preimage
+PPL_PROTO((ppl_Rational_Box_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t lb,
+           ppl_const_Linear_Expression_t ub,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_generalized_affine_image
+PPL_PROTO((ppl_Rational_Box_t ph,
+           ppl_dimension_type var,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_generalized_affine_preimage
+PPL_PROTO((ppl_Rational_Box_t ph,
+           ppl_dimension_type var,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_generalized_affine_image_lhs_rhs
+PPL_PROTO((ppl_Rational_Box_t ph,
+           ppl_const_Linear_Expression_t lhs,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t rhs));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_generalized_affine_preimage_lhs_rhs
+PPL_PROTO((ppl_Rational_Box_t ph,
+           ppl_const_Linear_Expression_t lhs,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t rhs));
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_add_space_dimensions_and_embed
+PPL_PROTO((ppl_Rational_Box_t ph,
+           ppl_dimension_type d));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_add_space_dimensions_and_project
+PPL_PROTO((ppl_Rational_Box_t ph,
+           ppl_dimension_type d));
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_remove_space_dimensions
+PPL_PROTO((ppl_Rational_Box_t ph,
+           ppl_dimension_type ds[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_remove_higher_space_dimensions
+PPL_PROTO((ppl_Rational_Box_t ph,
+           ppl_dimension_type d));
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_expand_space_dimension
+PPL_PROTO((ppl_Rational_Box_t ph,
+           ppl_dimension_type d,
+           ppl_dimension_type m));
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_fold_space_dimensions
+PPL_PROTO((ppl_Rational_Box_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           ppl_dimension_type d));
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_map_space_dimensions
+PPL_PROTO((ppl_Rational_Box_t ph,
+           ppl_dimension_type maps[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_drop_some_non_integer_points
+PPL_PROTO((ppl_Rational_Box_t ph,
+           int complexity));
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_drop_some_non_integer_points_2
+PPL_PROTO((ppl_Rational_Box_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           int complexity));
+
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_external_memory_in_bytes
+PPL_PROTO((ppl_const_Rational_Box_t ps,
+           size_t* sz));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_total_memory_in_bytes
+PPL_PROTO((ppl_const_Rational_Box_t ps,
+           size_t* sz));
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_CC76_widening_assign_with_tokens
+PPL_PROTO((ppl_Rational_Box_t x,
+           ppl_const_Rational_Box_t y,
+           unsigned* tp));
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_CC76_widening_assign
+PPL_PROTO((ppl_Rational_Box_t x,
+           ppl_const_Rational_Box_t y));
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_widening_assign_with_tokens
+PPL_PROTO((ppl_Rational_Box_t x,
+           ppl_const_Rational_Box_t y,
+           unsigned* tp));
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_widening_assign
+PPL_PROTO((ppl_Rational_Box_t x,
+           ppl_const_Rational_Box_t y));
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_limited_CC76_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_Rational_Box_t x,
+           ppl_const_Rational_Box_t y,
+           ppl_const_Constraint_System_t cs,
+           unsigned* tp));
+
+
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_limited_CC76_extrapolation_assign
+PPL_PROTO((ppl_Rational_Box_t x,
+           ppl_const_Rational_Box_t y,
+           ppl_const_Constraint_System_t cs));
+
+
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_linear_partition
+PPL_PROTO((ppl_const_Rational_Box_t x,
+           ppl_const_Rational_Box_t y,
+           ppl_Rational_Box_t* p_inters,
+           ppl_Pointset_Powerset_NNC_Polyhedron_t* p_rest));
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_wrap_assign
+PPL_PROTO((ppl_Rational_Box_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           enum ppl_enum_Bounded_Integer_Type_Width w,
+           enum ppl_enum_Bounded_Integer_Type_Representation r,
+           enum ppl_enum_Bounded_Integer_Type_Overflow o,
+           const ppl_const_Constraint_System_t* pcs,
+           unsigned complexity_threshold,
+           int wrap_individually));
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_new_Rational_Box_recycle_Constraint_System
+PPL_PROTO((ppl_Rational_Box_t* pph, ppl_Constraint_System_t cs));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_new_Rational_Box_recycle_Congruence_System
+PPL_PROTO((ppl_Rational_Box_t* pph, ppl_Congruence_System_t cs));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_new_Rational_Box_recycle_Generator_System
+PPL_PROTO((ppl_Rational_Box_t* pph, ppl_Generator_System_t cs));
+
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_assign_Rational_Box_from_Rational_Box
+PPL_PROTO((ppl_Rational_Box_t dst, ppl_const_Rational_Box_t src));
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_add_recycled_constraints
+PPL_PROTO((ppl_Rational_Box_t ph,
+           ppl_Constraint_System_t cs));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_add_recycled_congruences
+PPL_PROTO((ppl_Rational_Box_t ph,
+           ppl_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_termination_test_MS_Rational_Box
+PPL_PROTO((ppl_const_Rational_Box_t pset));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_termination_test_PR_Rational_Box
+PPL_PROTO((ppl_const_Rational_Box_t pset));
+
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_one_affine_ranking_function_MS_Rational_Box
+PPL_PROTO((ppl_const_Rational_Box_t pset,
+           ppl_Generator_t point));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_one_affine_ranking_function_PR_Rational_Box
+PPL_PROTO((ppl_const_Rational_Box_t pset,
+           ppl_Generator_t point));
+
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_all_affine_ranking_functions_MS_Rational_Box
+PPL_PROTO((ppl_const_Rational_Box_t pset,
+           ppl_Polyhedron_t ph));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_all_affine_ranking_functions_PR_Rational_Box
+PPL_PROTO((ppl_const_Rational_Box_t pset,
+           ppl_Polyhedron_t ph));
+
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_termination_test_MS_Rational_Box_2
+PPL_PROTO((ppl_const_Rational_Box_t pset_before, ppl_const_Rational_Box_t pset_after));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_termination_test_PR_Rational_Box_2
+PPL_PROTO((ppl_const_Rational_Box_t pset_before, ppl_const_Rational_Box_t pset_after));
+
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_one_affine_ranking_function_MS_Rational_Box_2
+PPL_PROTO((ppl_const_Rational_Box_t pset_before,
+           ppl_const_Rational_Box_t pset_after,
+           ppl_Generator_t point));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_one_affine_ranking_function_PR_Rational_Box_2
+PPL_PROTO((ppl_const_Rational_Box_t pset_before,
+           ppl_const_Rational_Box_t pset_after,
+           ppl_Generator_t point));
+
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_all_affine_ranking_functions_MS_Rational_Box_2
+PPL_PROTO((ppl_const_Rational_Box_t pset_before,
+           ppl_const_Rational_Box_t pset_after,
+           ppl_Polyhedron_t ph));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_all_affine_ranking_functions_PR_Rational_Box_2
+PPL_PROTO((ppl_const_Rational_Box_t pset_before,
+           ppl_const_Rational_Box_t pset_after,
+           ppl_Polyhedron_t ph));
+
+
+
+
+
+
+
+PPL_DECLARE_IO_FUNCTIONS(Rational_Box)
+
+/* End of Functions Related to ppl_Rational_Box_tag */
+
+/*! \interface ppl_BD_Shape_int8_t_tag
+  \brief Types and functions for ppl_BD_Shape_int8_t_tag
+*/
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_delete_BD_Shape_int8_t
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t ph));
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_new_BD_Shape_int8_t_from_space_dimension
+PPL_PROTO((ppl_BD_Shape_int8_t_t* pph, ppl_dimension_type d, int empty));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_new_BD_Shape_int8_t_from_C_Polyhedron
+PPL_PROTO((ppl_BD_Shape_int8_t_t* pph, ppl_const_Polyhedron_t ph));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_new_BD_Shape_int8_t_from_NNC_Polyhedron
+PPL_PROTO((ppl_BD_Shape_int8_t_t* pph, ppl_const_Polyhedron_t ph));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_new_BD_Shape_int8_t_from_Grid
+PPL_PROTO((ppl_BD_Shape_int8_t_t* pph, ppl_const_Grid_t ph));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_new_BD_Shape_int8_t_from_Rational_Box
+PPL_PROTO((ppl_BD_Shape_int8_t_t* pph, ppl_const_Rational_Box_t ph));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_new_BD_Shape_int8_t_from_BD_Shape_int8_t
+PPL_PROTO((ppl_BD_Shape_int8_t_t* pph, ppl_const_BD_Shape_int8_t_t ph));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_new_BD_Shape_int8_t_from_BD_Shape_mpz_class
+PPL_PROTO((ppl_BD_Shape_int8_t_t* pph, ppl_const_BD_Shape_mpz_class_t ph));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_new_BD_Shape_int8_t_from_BD_Shape_mpq_class
+PPL_PROTO((ppl_BD_Shape_int8_t_t* pph, ppl_const_BD_Shape_mpq_class_t ph));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_new_BD_Shape_int8_t_from_Octagonal_Shape_mpz_class
+PPL_PROTO((ppl_BD_Shape_int8_t_t* pph, ppl_const_Octagonal_Shape_mpz_class_t ph));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_new_BD_Shape_int8_t_from_Octagonal_Shape_mpq_class
+PPL_PROTO((ppl_BD_Shape_int8_t_t* pph, ppl_const_Octagonal_Shape_mpq_class_t ph));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_new_BD_Shape_int8_t_from_Double_Box
+PPL_PROTO((ppl_BD_Shape_int8_t_t* pph, ppl_const_Double_Box_t ph));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_new_BD_Shape_int8_t_from_BD_Shape_double
+PPL_PROTO((ppl_BD_Shape_int8_t_t* pph, ppl_const_BD_Shape_double_t ph));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_new_BD_Shape_int8_t_from_Octagonal_Shape_double
+PPL_PROTO((ppl_BD_Shape_int8_t_t* pph, ppl_const_Octagonal_Shape_double_t ph));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_new_BD_Shape_int8_t_from_C_Polyhedron_with_complexity
+PPL_PROTO((ppl_BD_Shape_int8_t_t* pph, ppl_const_Polyhedron_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_new_BD_Shape_int8_t_from_NNC_Polyhedron_with_complexity
+PPL_PROTO((ppl_BD_Shape_int8_t_t* pph, ppl_const_Polyhedron_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_new_BD_Shape_int8_t_from_Grid_with_complexity
+PPL_PROTO((ppl_BD_Shape_int8_t_t* pph, ppl_const_Grid_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_new_BD_Shape_int8_t_from_Rational_Box_with_complexity
+PPL_PROTO((ppl_BD_Shape_int8_t_t* pph, ppl_const_Rational_Box_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_new_BD_Shape_int8_t_from_BD_Shape_int8_t_with_complexity
+PPL_PROTO((ppl_BD_Shape_int8_t_t* pph, ppl_const_BD_Shape_int8_t_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_new_BD_Shape_int8_t_from_BD_Shape_mpz_class_with_complexity
+PPL_PROTO((ppl_BD_Shape_int8_t_t* pph, ppl_const_BD_Shape_mpz_class_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_new_BD_Shape_int8_t_from_BD_Shape_mpq_class_with_complexity
+PPL_PROTO((ppl_BD_Shape_int8_t_t* pph, ppl_const_BD_Shape_mpq_class_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_new_BD_Shape_int8_t_from_Octagonal_Shape_mpz_class_with_complexity
+PPL_PROTO((ppl_BD_Shape_int8_t_t* pph, ppl_const_Octagonal_Shape_mpz_class_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_new_BD_Shape_int8_t_from_Octagonal_Shape_mpq_class_with_complexity
+PPL_PROTO((ppl_BD_Shape_int8_t_t* pph, ppl_const_Octagonal_Shape_mpq_class_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_new_BD_Shape_int8_t_from_Double_Box_with_complexity
+PPL_PROTO((ppl_BD_Shape_int8_t_t* pph, ppl_const_Double_Box_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_new_BD_Shape_int8_t_from_BD_Shape_double_with_complexity
+PPL_PROTO((ppl_BD_Shape_int8_t_t* pph, ppl_const_BD_Shape_double_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_new_BD_Shape_int8_t_from_Octagonal_Shape_double_with_complexity
+PPL_PROTO((ppl_BD_Shape_int8_t_t* pph, ppl_const_Octagonal_Shape_double_t ph, int complexity));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_new_BD_Shape_int8_t_from_Constraint_System
+PPL_PROTO((ppl_BD_Shape_int8_t_t* pph, ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_new_BD_Shape_int8_t_from_Congruence_System
+PPL_PROTO((ppl_BD_Shape_int8_t_t* pph, ppl_const_Congruence_System_t cs));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_new_BD_Shape_int8_t_from_Generator_System
+PPL_PROTO((ppl_BD_Shape_int8_t_t* pph, ppl_const_Generator_System_t cs));
+
+
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_space_dimension
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t ph, ppl_dimension_type* m));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_affine_dimension
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t ph, ppl_dimension_type* m));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_relation_with_Constraint
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_relation_with_Generator
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t ph,
+           ppl_const_Generator_t c));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_relation_with_Congruence
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_get_constraints
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t ph,
+           ppl_const_Constraint_System_t* pcs));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_get_congruences
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t ph,
+           ppl_const_Congruence_System_t* pcs));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_get_minimized_constraints
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t ph,
+           ppl_const_Constraint_System_t* pcs));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_get_minimized_congruences
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t ph,
+           ppl_const_Congruence_System_t* pcs));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_is_empty
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t ph));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_is_universe
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t ph));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_is_bounded
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t ph));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_contains_integer_point
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t ph));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_is_topologically_closed
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t ph));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_is_discrete
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t ph));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_topological_closure_assign
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_bounds_from_above
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t ph,
+           ppl_const_Linear_Expression_t le));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_bounds_from_below
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t ph,
+           ppl_const_Linear_Expression_t le));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_maximize
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_minimize
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_maximize_with_point
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum,
+           ppl_Generator_t point));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_minimize_with_point
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum,
+           ppl_Generator_t point));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_frequency
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_fn,
+           ppl_Coefficient_t ext_fd,
+           ppl_Coefficient_t ext_vn,
+           ppl_Coefficient_t ext_vd));
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_contains_BD_Shape_int8_t
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t x,
+           ppl_const_BD_Shape_int8_t_t y));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_strictly_contains_BD_Shape_int8_t
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t x,
+           ppl_const_BD_Shape_int8_t_t y));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_is_disjoint_from_BD_Shape_int8_t
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t x,
+           ppl_const_BD_Shape_int8_t_t y));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_equals_BD_Shape_int8_t
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t x,
+           ppl_const_BD_Shape_int8_t_t y));
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_OK
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t ph));
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_add_constraint
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_add_congruence
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_add_constraints
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_add_congruences
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph,
+           ppl_const_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_refine_with_constraint
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_refine_with_congruence
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_refine_with_constraints
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_refine_with_congruences
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph,
+           ppl_const_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_intersection_assign
+PPL_PROTO((ppl_BD_Shape_int8_t_t x,
+           ppl_const_BD_Shape_int8_t_t y));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_upper_bound_assign
+PPL_PROTO((ppl_BD_Shape_int8_t_t x,
+           ppl_const_BD_Shape_int8_t_t y));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_difference_assign
+PPL_PROTO((ppl_BD_Shape_int8_t_t x,
+           ppl_const_BD_Shape_int8_t_t y));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_concatenate_assign
+PPL_PROTO((ppl_BD_Shape_int8_t_t x,
+           ppl_const_BD_Shape_int8_t_t y));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_time_elapse_assign
+PPL_PROTO((ppl_BD_Shape_int8_t_t x,
+           ppl_const_BD_Shape_int8_t_t y));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_upper_bound_assign_if_exact
+PPL_PROTO((ppl_BD_Shape_int8_t_t x,
+           ppl_const_BD_Shape_int8_t_t y));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_simplify_using_context_assign
+PPL_PROTO((ppl_BD_Shape_int8_t_t x,
+           ppl_const_BD_Shape_int8_t_t y));
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_constrains
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph,
+           ppl_dimension_type var));
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_unconstrain_space_dimension
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph,
+           ppl_dimension_type var));
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_unconstrain_space_dimensions
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph,
+           ppl_dimension_type ds[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_affine_image
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_affine_preimage
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_bounded_affine_image
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t lb,
+           ppl_const_Linear_Expression_t ub,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_bounded_affine_preimage
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t lb,
+           ppl_const_Linear_Expression_t ub,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_generalized_affine_image
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph,
+           ppl_dimension_type var,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_generalized_affine_preimage
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph,
+           ppl_dimension_type var,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_generalized_affine_image_lhs_rhs
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph,
+           ppl_const_Linear_Expression_t lhs,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t rhs));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_generalized_affine_preimage_lhs_rhs
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph,
+           ppl_const_Linear_Expression_t lhs,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t rhs));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_add_space_dimensions_and_embed
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph,
+           ppl_dimension_type d));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_add_space_dimensions_and_project
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph,
+           ppl_dimension_type d));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_remove_space_dimensions
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph,
+           ppl_dimension_type ds[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_remove_higher_space_dimensions
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph,
+           ppl_dimension_type d));
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_expand_space_dimension
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph,
+           ppl_dimension_type d,
+           ppl_dimension_type m));
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_fold_space_dimensions
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           ppl_dimension_type d));
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_map_space_dimensions
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph,
+           ppl_dimension_type maps[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_drop_some_non_integer_points
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph,
+           int complexity));
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_drop_some_non_integer_points_2
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           int complexity));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_external_memory_in_bytes
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t ps,
+           size_t* sz));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_total_memory_in_bytes
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t ps,
+           size_t* sz));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_BHMZ05_widening_assign_with_tokens
+PPL_PROTO((ppl_BD_Shape_int8_t_t x,
+           ppl_const_BD_Shape_int8_t_t y,
+           unsigned* tp));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_H79_widening_assign_with_tokens
+PPL_PROTO((ppl_BD_Shape_int8_t_t x,
+           ppl_const_BD_Shape_int8_t_t y,
+           unsigned* tp));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_BHMZ05_widening_assign
+PPL_PROTO((ppl_BD_Shape_int8_t_t x,
+           ppl_const_BD_Shape_int8_t_t y));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_H79_widening_assign
+PPL_PROTO((ppl_BD_Shape_int8_t_t x,
+           ppl_const_BD_Shape_int8_t_t y));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_widening_assign_with_tokens
+PPL_PROTO((ppl_BD_Shape_int8_t_t x,
+           ppl_const_BD_Shape_int8_t_t y,
+           unsigned* tp));
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_widening_assign
+PPL_PROTO((ppl_BD_Shape_int8_t_t x,
+           ppl_const_BD_Shape_int8_t_t y));
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_limited_BHMZ05_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_BD_Shape_int8_t_t x,
+           ppl_const_BD_Shape_int8_t_t y,
+           ppl_const_Constraint_System_t cs,
+           unsigned* tp));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_limited_H79_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_BD_Shape_int8_t_t x,
+           ppl_const_BD_Shape_int8_t_t y,
+           ppl_const_Constraint_System_t cs,
+           unsigned* tp));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_limited_CC76_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_BD_Shape_int8_t_t x,
+           ppl_const_BD_Shape_int8_t_t y,
+           ppl_const_Constraint_System_t cs,
+           unsigned* tp));
+
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_limited_BHMZ05_extrapolation_assign
+PPL_PROTO((ppl_BD_Shape_int8_t_t x,
+           ppl_const_BD_Shape_int8_t_t y,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_limited_H79_extrapolation_assign
+PPL_PROTO((ppl_BD_Shape_int8_t_t x,
+           ppl_const_BD_Shape_int8_t_t y,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_limited_CC76_extrapolation_assign
+PPL_PROTO((ppl_BD_Shape_int8_t_t x,
+           ppl_const_BD_Shape_int8_t_t y,
+           ppl_const_Constraint_System_t cs));
+
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_CC76_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_BD_Shape_int8_t_t x,
+           ppl_const_BD_Shape_int8_t_t y,
+           unsigned* tp));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_CC76_extrapolation_assign
+PPL_PROTO((ppl_BD_Shape_int8_t_t x,
+           ppl_const_BD_Shape_int8_t_t y));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_CC76_narrowing_assign
+PPL_PROTO((ppl_BD_Shape_int8_t_t x,
+           ppl_const_BD_Shape_int8_t_t y));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_linear_partition
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t x,
+           ppl_const_BD_Shape_int8_t_t y,
+           ppl_BD_Shape_int8_t_t* p_inters,
+           ppl_Pointset_Powerset_NNC_Polyhedron_t* p_rest));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_wrap_assign
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           enum ppl_enum_Bounded_Integer_Type_Width w,
+           enum ppl_enum_Bounded_Integer_Type_Representation r,
+           enum ppl_enum_Bounded_Integer_Type_Overflow o,
+           const ppl_const_Constraint_System_t* pcs,
+           unsigned complexity_threshold,
+           int wrap_individually));
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_new_BD_Shape_int8_t_recycle_Constraint_System
+PPL_PROTO((ppl_BD_Shape_int8_t_t* pph, ppl_Constraint_System_t cs));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_new_BD_Shape_int8_t_recycle_Congruence_System
+PPL_PROTO((ppl_BD_Shape_int8_t_t* pph, ppl_Congruence_System_t cs));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_new_BD_Shape_int8_t_recycle_Generator_System
+PPL_PROTO((ppl_BD_Shape_int8_t_t* pph, ppl_Generator_System_t cs));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_assign_BD_Shape_int8_t_from_BD_Shape_int8_t
+PPL_PROTO((ppl_BD_Shape_int8_t_t dst, ppl_const_BD_Shape_int8_t_t src));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_add_recycled_constraints
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph,
+           ppl_Constraint_System_t cs));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_BD_Shape_int8_t_add_recycled_congruences
+PPL_PROTO((ppl_BD_Shape_int8_t_t ph,
+           ppl_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_termination_test_MS_BD_Shape_int8_t
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t pset));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_termination_test_PR_BD_Shape_int8_t
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t pset));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_one_affine_ranking_function_MS_BD_Shape_int8_t
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t pset,
+           ppl_Generator_t point));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_one_affine_ranking_function_PR_BD_Shape_int8_t
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t pset,
+           ppl_Generator_t point));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_all_affine_ranking_functions_MS_BD_Shape_int8_t
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t pset,
+           ppl_Polyhedron_t ph));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_all_affine_ranking_functions_PR_BD_Shape_int8_t
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t pset,
+           ppl_Polyhedron_t ph));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_termination_test_MS_BD_Shape_int8_t_2
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t pset_before, ppl_const_BD_Shape_int8_t_t pset_after));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_termination_test_PR_BD_Shape_int8_t_2
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t pset_before, ppl_const_BD_Shape_int8_t_t pset_after));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_one_affine_ranking_function_MS_BD_Shape_int8_t_2
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t pset_before,
+           ppl_const_BD_Shape_int8_t_t pset_after,
+           ppl_Generator_t point));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_one_affine_ranking_function_PR_BD_Shape_int8_t_2
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t pset_before,
+           ppl_const_BD_Shape_int8_t_t pset_after,
+           ppl_Generator_t point));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_all_affine_ranking_functions_MS_BD_Shape_int8_t_2
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t pset_before,
+           ppl_const_BD_Shape_int8_t_t pset_after,
+           ppl_Polyhedron_t ph));
+
+/*! \relates ppl_BD_Shape_int8_t_tag */
+int
+ppl_all_affine_ranking_functions_PR_BD_Shape_int8_t_2
+PPL_PROTO((ppl_const_BD_Shape_int8_t_t pset_before,
+           ppl_const_BD_Shape_int8_t_t pset_after,
+           ppl_Polyhedron_t ph));
+
+
+
+
+
+
+
+PPL_DECLARE_IO_FUNCTIONS(BD_Shape_int8_t)
+
+/* End of Functions Related to ppl_BD_Shape_int8_t_tag */
+
+/*! \interface ppl_BD_Shape_mpz_class_tag
+  \brief Types and functions for ppl_BD_Shape_mpz_class_tag
+*/
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_delete_BD_Shape_mpz_class
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t ph));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_new_BD_Shape_mpz_class_from_space_dimension
+PPL_PROTO((ppl_BD_Shape_mpz_class_t* pph, ppl_dimension_type d, int empty));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_new_BD_Shape_mpz_class_from_C_Polyhedron
+PPL_PROTO((ppl_BD_Shape_mpz_class_t* pph, ppl_const_Polyhedron_t ph));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_new_BD_Shape_mpz_class_from_NNC_Polyhedron
+PPL_PROTO((ppl_BD_Shape_mpz_class_t* pph, ppl_const_Polyhedron_t ph));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_new_BD_Shape_mpz_class_from_Grid
+PPL_PROTO((ppl_BD_Shape_mpz_class_t* pph, ppl_const_Grid_t ph));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_new_BD_Shape_mpz_class_from_Rational_Box
+PPL_PROTO((ppl_BD_Shape_mpz_class_t* pph, ppl_const_Rational_Box_t ph));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_new_BD_Shape_mpz_class_from_BD_Shape_int8_t
+PPL_PROTO((ppl_BD_Shape_mpz_class_t* pph, ppl_const_BD_Shape_int8_t_t ph));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_new_BD_Shape_mpz_class_from_BD_Shape_mpz_class
+PPL_PROTO((ppl_BD_Shape_mpz_class_t* pph, ppl_const_BD_Shape_mpz_class_t ph));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_new_BD_Shape_mpz_class_from_BD_Shape_mpq_class
+PPL_PROTO((ppl_BD_Shape_mpz_class_t* pph, ppl_const_BD_Shape_mpq_class_t ph));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_new_BD_Shape_mpz_class_from_Octagonal_Shape_mpz_class
+PPL_PROTO((ppl_BD_Shape_mpz_class_t* pph, ppl_const_Octagonal_Shape_mpz_class_t ph));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_new_BD_Shape_mpz_class_from_Octagonal_Shape_mpq_class
+PPL_PROTO((ppl_BD_Shape_mpz_class_t* pph, ppl_const_Octagonal_Shape_mpq_class_t ph));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_new_BD_Shape_mpz_class_from_Double_Box
+PPL_PROTO((ppl_BD_Shape_mpz_class_t* pph, ppl_const_Double_Box_t ph));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_new_BD_Shape_mpz_class_from_BD_Shape_double
+PPL_PROTO((ppl_BD_Shape_mpz_class_t* pph, ppl_const_BD_Shape_double_t ph));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_new_BD_Shape_mpz_class_from_Octagonal_Shape_double
+PPL_PROTO((ppl_BD_Shape_mpz_class_t* pph, ppl_const_Octagonal_Shape_double_t ph));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_new_BD_Shape_mpz_class_from_C_Polyhedron_with_complexity
+PPL_PROTO((ppl_BD_Shape_mpz_class_t* pph, ppl_const_Polyhedron_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_new_BD_Shape_mpz_class_from_NNC_Polyhedron_with_complexity
+PPL_PROTO((ppl_BD_Shape_mpz_class_t* pph, ppl_const_Polyhedron_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_new_BD_Shape_mpz_class_from_Grid_with_complexity
+PPL_PROTO((ppl_BD_Shape_mpz_class_t* pph, ppl_const_Grid_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_new_BD_Shape_mpz_class_from_Rational_Box_with_complexity
+PPL_PROTO((ppl_BD_Shape_mpz_class_t* pph, ppl_const_Rational_Box_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_new_BD_Shape_mpz_class_from_BD_Shape_int8_t_with_complexity
+PPL_PROTO((ppl_BD_Shape_mpz_class_t* pph, ppl_const_BD_Shape_int8_t_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_new_BD_Shape_mpz_class_from_BD_Shape_mpz_class_with_complexity
+PPL_PROTO((ppl_BD_Shape_mpz_class_t* pph, ppl_const_BD_Shape_mpz_class_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_new_BD_Shape_mpz_class_from_BD_Shape_mpq_class_with_complexity
+PPL_PROTO((ppl_BD_Shape_mpz_class_t* pph, ppl_const_BD_Shape_mpq_class_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_new_BD_Shape_mpz_class_from_Octagonal_Shape_mpz_class_with_complexity
+PPL_PROTO((ppl_BD_Shape_mpz_class_t* pph, ppl_const_Octagonal_Shape_mpz_class_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_new_BD_Shape_mpz_class_from_Octagonal_Shape_mpq_class_with_complexity
+PPL_PROTO((ppl_BD_Shape_mpz_class_t* pph, ppl_const_Octagonal_Shape_mpq_class_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_new_BD_Shape_mpz_class_from_Double_Box_with_complexity
+PPL_PROTO((ppl_BD_Shape_mpz_class_t* pph, ppl_const_Double_Box_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_new_BD_Shape_mpz_class_from_BD_Shape_double_with_complexity
+PPL_PROTO((ppl_BD_Shape_mpz_class_t* pph, ppl_const_BD_Shape_double_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_new_BD_Shape_mpz_class_from_Octagonal_Shape_double_with_complexity
+PPL_PROTO((ppl_BD_Shape_mpz_class_t* pph, ppl_const_Octagonal_Shape_double_t ph, int complexity));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_new_BD_Shape_mpz_class_from_Constraint_System
+PPL_PROTO((ppl_BD_Shape_mpz_class_t* pph, ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_new_BD_Shape_mpz_class_from_Congruence_System
+PPL_PROTO((ppl_BD_Shape_mpz_class_t* pph, ppl_const_Congruence_System_t cs));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_new_BD_Shape_mpz_class_from_Generator_System
+PPL_PROTO((ppl_BD_Shape_mpz_class_t* pph, ppl_const_Generator_System_t cs));
+
+
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_space_dimension
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t ph, ppl_dimension_type* m));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_affine_dimension
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t ph, ppl_dimension_type* m));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_relation_with_Constraint
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_relation_with_Generator
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t ph,
+           ppl_const_Generator_t c));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_relation_with_Congruence
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_get_constraints
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t ph,
+           ppl_const_Constraint_System_t* pcs));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_get_congruences
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t ph,
+           ppl_const_Congruence_System_t* pcs));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_get_minimized_constraints
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t ph,
+           ppl_const_Constraint_System_t* pcs));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_get_minimized_congruences
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t ph,
+           ppl_const_Congruence_System_t* pcs));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_is_empty
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t ph));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_is_universe
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t ph));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_is_bounded
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t ph));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_contains_integer_point
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t ph));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_is_topologically_closed
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t ph));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_is_discrete
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t ph));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_topological_closure_assign
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_bounds_from_above
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t ph,
+           ppl_const_Linear_Expression_t le));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_bounds_from_below
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t ph,
+           ppl_const_Linear_Expression_t le));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_maximize
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_minimize
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_maximize_with_point
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum,
+           ppl_Generator_t point));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_minimize_with_point
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum,
+           ppl_Generator_t point));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_frequency
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_fn,
+           ppl_Coefficient_t ext_fd,
+           ppl_Coefficient_t ext_vn,
+           ppl_Coefficient_t ext_vd));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_contains_BD_Shape_mpz_class
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t x,
+           ppl_const_BD_Shape_mpz_class_t y));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_strictly_contains_BD_Shape_mpz_class
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t x,
+           ppl_const_BD_Shape_mpz_class_t y));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_is_disjoint_from_BD_Shape_mpz_class
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t x,
+           ppl_const_BD_Shape_mpz_class_t y));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_equals_BD_Shape_mpz_class
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t x,
+           ppl_const_BD_Shape_mpz_class_t y));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_OK
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t ph));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_add_constraint
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_add_congruence
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_add_constraints
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_add_congruences
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph,
+           ppl_const_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_refine_with_constraint
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_refine_with_congruence
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_refine_with_constraints
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_refine_with_congruences
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph,
+           ppl_const_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_intersection_assign
+PPL_PROTO((ppl_BD_Shape_mpz_class_t x,
+           ppl_const_BD_Shape_mpz_class_t y));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_upper_bound_assign
+PPL_PROTO((ppl_BD_Shape_mpz_class_t x,
+           ppl_const_BD_Shape_mpz_class_t y));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_difference_assign
+PPL_PROTO((ppl_BD_Shape_mpz_class_t x,
+           ppl_const_BD_Shape_mpz_class_t y));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_concatenate_assign
+PPL_PROTO((ppl_BD_Shape_mpz_class_t x,
+           ppl_const_BD_Shape_mpz_class_t y));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_time_elapse_assign
+PPL_PROTO((ppl_BD_Shape_mpz_class_t x,
+           ppl_const_BD_Shape_mpz_class_t y));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_upper_bound_assign_if_exact
+PPL_PROTO((ppl_BD_Shape_mpz_class_t x,
+           ppl_const_BD_Shape_mpz_class_t y));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_simplify_using_context_assign
+PPL_PROTO((ppl_BD_Shape_mpz_class_t x,
+           ppl_const_BD_Shape_mpz_class_t y));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_constrains
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph,
+           ppl_dimension_type var));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_unconstrain_space_dimension
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph,
+           ppl_dimension_type var));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_unconstrain_space_dimensions
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph,
+           ppl_dimension_type ds[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_affine_image
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_affine_preimage
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_bounded_affine_image
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t lb,
+           ppl_const_Linear_Expression_t ub,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_bounded_affine_preimage
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t lb,
+           ppl_const_Linear_Expression_t ub,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_generalized_affine_image
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph,
+           ppl_dimension_type var,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_generalized_affine_preimage
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph,
+           ppl_dimension_type var,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_generalized_affine_image_lhs_rhs
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph,
+           ppl_const_Linear_Expression_t lhs,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t rhs));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_generalized_affine_preimage_lhs_rhs
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph,
+           ppl_const_Linear_Expression_t lhs,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t rhs));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_add_space_dimensions_and_embed
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph,
+           ppl_dimension_type d));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_add_space_dimensions_and_project
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph,
+           ppl_dimension_type d));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_remove_space_dimensions
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph,
+           ppl_dimension_type ds[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_remove_higher_space_dimensions
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph,
+           ppl_dimension_type d));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_expand_space_dimension
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph,
+           ppl_dimension_type d,
+           ppl_dimension_type m));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_fold_space_dimensions
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           ppl_dimension_type d));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_map_space_dimensions
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph,
+           ppl_dimension_type maps[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_drop_some_non_integer_points
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph,
+           int complexity));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_drop_some_non_integer_points_2
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           int complexity));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_external_memory_in_bytes
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t ps,
+           size_t* sz));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_total_memory_in_bytes
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t ps,
+           size_t* sz));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_BHMZ05_widening_assign_with_tokens
+PPL_PROTO((ppl_BD_Shape_mpz_class_t x,
+           ppl_const_BD_Shape_mpz_class_t y,
+           unsigned* tp));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_H79_widening_assign_with_tokens
+PPL_PROTO((ppl_BD_Shape_mpz_class_t x,
+           ppl_const_BD_Shape_mpz_class_t y,
+           unsigned* tp));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_BHMZ05_widening_assign
+PPL_PROTO((ppl_BD_Shape_mpz_class_t x,
+           ppl_const_BD_Shape_mpz_class_t y));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_H79_widening_assign
+PPL_PROTO((ppl_BD_Shape_mpz_class_t x,
+           ppl_const_BD_Shape_mpz_class_t y));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_widening_assign_with_tokens
+PPL_PROTO((ppl_BD_Shape_mpz_class_t x,
+           ppl_const_BD_Shape_mpz_class_t y,
+           unsigned* tp));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_widening_assign
+PPL_PROTO((ppl_BD_Shape_mpz_class_t x,
+           ppl_const_BD_Shape_mpz_class_t y));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_limited_BHMZ05_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_BD_Shape_mpz_class_t x,
+           ppl_const_BD_Shape_mpz_class_t y,
+           ppl_const_Constraint_System_t cs,
+           unsigned* tp));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_limited_H79_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_BD_Shape_mpz_class_t x,
+           ppl_const_BD_Shape_mpz_class_t y,
+           ppl_const_Constraint_System_t cs,
+           unsigned* tp));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_limited_CC76_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_BD_Shape_mpz_class_t x,
+           ppl_const_BD_Shape_mpz_class_t y,
+           ppl_const_Constraint_System_t cs,
+           unsigned* tp));
+
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_limited_BHMZ05_extrapolation_assign
+PPL_PROTO((ppl_BD_Shape_mpz_class_t x,
+           ppl_const_BD_Shape_mpz_class_t y,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_limited_H79_extrapolation_assign
+PPL_PROTO((ppl_BD_Shape_mpz_class_t x,
+           ppl_const_BD_Shape_mpz_class_t y,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_limited_CC76_extrapolation_assign
+PPL_PROTO((ppl_BD_Shape_mpz_class_t x,
+           ppl_const_BD_Shape_mpz_class_t y,
+           ppl_const_Constraint_System_t cs));
+
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_CC76_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_BD_Shape_mpz_class_t x,
+           ppl_const_BD_Shape_mpz_class_t y,
+           unsigned* tp));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_CC76_extrapolation_assign
+PPL_PROTO((ppl_BD_Shape_mpz_class_t x,
+           ppl_const_BD_Shape_mpz_class_t y));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_CC76_narrowing_assign
+PPL_PROTO((ppl_BD_Shape_mpz_class_t x,
+           ppl_const_BD_Shape_mpz_class_t y));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_linear_partition
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t x,
+           ppl_const_BD_Shape_mpz_class_t y,
+           ppl_BD_Shape_mpz_class_t* p_inters,
+           ppl_Pointset_Powerset_NNC_Polyhedron_t* p_rest));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_wrap_assign
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           enum ppl_enum_Bounded_Integer_Type_Width w,
+           enum ppl_enum_Bounded_Integer_Type_Representation r,
+           enum ppl_enum_Bounded_Integer_Type_Overflow o,
+           const ppl_const_Constraint_System_t* pcs,
+           unsigned complexity_threshold,
+           int wrap_individually));
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_new_BD_Shape_mpz_class_recycle_Constraint_System
+PPL_PROTO((ppl_BD_Shape_mpz_class_t* pph, ppl_Constraint_System_t cs));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_new_BD_Shape_mpz_class_recycle_Congruence_System
+PPL_PROTO((ppl_BD_Shape_mpz_class_t* pph, ppl_Congruence_System_t cs));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_new_BD_Shape_mpz_class_recycle_Generator_System
+PPL_PROTO((ppl_BD_Shape_mpz_class_t* pph, ppl_Generator_System_t cs));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_assign_BD_Shape_mpz_class_from_BD_Shape_mpz_class
+PPL_PROTO((ppl_BD_Shape_mpz_class_t dst, ppl_const_BD_Shape_mpz_class_t src));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_add_recycled_constraints
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph,
+           ppl_Constraint_System_t cs));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_BD_Shape_mpz_class_add_recycled_congruences
+PPL_PROTO((ppl_BD_Shape_mpz_class_t ph,
+           ppl_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_termination_test_MS_BD_Shape_mpz_class
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t pset));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_termination_test_PR_BD_Shape_mpz_class
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t pset));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_one_affine_ranking_function_MS_BD_Shape_mpz_class
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t pset,
+           ppl_Generator_t point));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_one_affine_ranking_function_PR_BD_Shape_mpz_class
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t pset,
+           ppl_Generator_t point));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_all_affine_ranking_functions_MS_BD_Shape_mpz_class
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t pset,
+           ppl_Polyhedron_t ph));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_all_affine_ranking_functions_PR_BD_Shape_mpz_class
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t pset,
+           ppl_Polyhedron_t ph));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_termination_test_MS_BD_Shape_mpz_class_2
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t pset_before, ppl_const_BD_Shape_mpz_class_t pset_after));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_termination_test_PR_BD_Shape_mpz_class_2
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t pset_before, ppl_const_BD_Shape_mpz_class_t pset_after));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_one_affine_ranking_function_MS_BD_Shape_mpz_class_2
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t pset_before,
+           ppl_const_BD_Shape_mpz_class_t pset_after,
+           ppl_Generator_t point));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_one_affine_ranking_function_PR_BD_Shape_mpz_class_2
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t pset_before,
+           ppl_const_BD_Shape_mpz_class_t pset_after,
+           ppl_Generator_t point));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_all_affine_ranking_functions_MS_BD_Shape_mpz_class_2
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t pset_before,
+           ppl_const_BD_Shape_mpz_class_t pset_after,
+           ppl_Polyhedron_t ph));
+
+/*! \relates ppl_BD_Shape_mpz_class_tag */
+int
+ppl_all_affine_ranking_functions_PR_BD_Shape_mpz_class_2
+PPL_PROTO((ppl_const_BD_Shape_mpz_class_t pset_before,
+           ppl_const_BD_Shape_mpz_class_t pset_after,
+           ppl_Polyhedron_t ph));
+
+
+
+
+
+
+
+PPL_DECLARE_IO_FUNCTIONS(BD_Shape_mpz_class)
+
+/* End of Functions Related to ppl_BD_Shape_mpz_class_tag */
+
+/*! \interface ppl_BD_Shape_mpq_class_tag
+  \brief Types and functions for ppl_BD_Shape_mpq_class_tag
+*/
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_delete_BD_Shape_mpq_class
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t ph));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_new_BD_Shape_mpq_class_from_space_dimension
+PPL_PROTO((ppl_BD_Shape_mpq_class_t* pph, ppl_dimension_type d, int empty));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_new_BD_Shape_mpq_class_from_C_Polyhedron
+PPL_PROTO((ppl_BD_Shape_mpq_class_t* pph, ppl_const_Polyhedron_t ph));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_new_BD_Shape_mpq_class_from_NNC_Polyhedron
+PPL_PROTO((ppl_BD_Shape_mpq_class_t* pph, ppl_const_Polyhedron_t ph));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_new_BD_Shape_mpq_class_from_Grid
+PPL_PROTO((ppl_BD_Shape_mpq_class_t* pph, ppl_const_Grid_t ph));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_new_BD_Shape_mpq_class_from_Rational_Box
+PPL_PROTO((ppl_BD_Shape_mpq_class_t* pph, ppl_const_Rational_Box_t ph));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_new_BD_Shape_mpq_class_from_BD_Shape_int8_t
+PPL_PROTO((ppl_BD_Shape_mpq_class_t* pph, ppl_const_BD_Shape_int8_t_t ph));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_new_BD_Shape_mpq_class_from_BD_Shape_mpz_class
+PPL_PROTO((ppl_BD_Shape_mpq_class_t* pph, ppl_const_BD_Shape_mpz_class_t ph));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_new_BD_Shape_mpq_class_from_BD_Shape_mpq_class
+PPL_PROTO((ppl_BD_Shape_mpq_class_t* pph, ppl_const_BD_Shape_mpq_class_t ph));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_new_BD_Shape_mpq_class_from_Octagonal_Shape_mpz_class
+PPL_PROTO((ppl_BD_Shape_mpq_class_t* pph, ppl_const_Octagonal_Shape_mpz_class_t ph));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_new_BD_Shape_mpq_class_from_Octagonal_Shape_mpq_class
+PPL_PROTO((ppl_BD_Shape_mpq_class_t* pph, ppl_const_Octagonal_Shape_mpq_class_t ph));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_new_BD_Shape_mpq_class_from_Double_Box
+PPL_PROTO((ppl_BD_Shape_mpq_class_t* pph, ppl_const_Double_Box_t ph));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_new_BD_Shape_mpq_class_from_BD_Shape_double
+PPL_PROTO((ppl_BD_Shape_mpq_class_t* pph, ppl_const_BD_Shape_double_t ph));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_new_BD_Shape_mpq_class_from_Octagonal_Shape_double
+PPL_PROTO((ppl_BD_Shape_mpq_class_t* pph, ppl_const_Octagonal_Shape_double_t ph));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_new_BD_Shape_mpq_class_from_C_Polyhedron_with_complexity
+PPL_PROTO((ppl_BD_Shape_mpq_class_t* pph, ppl_const_Polyhedron_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_new_BD_Shape_mpq_class_from_NNC_Polyhedron_with_complexity
+PPL_PROTO((ppl_BD_Shape_mpq_class_t* pph, ppl_const_Polyhedron_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_new_BD_Shape_mpq_class_from_Grid_with_complexity
+PPL_PROTO((ppl_BD_Shape_mpq_class_t* pph, ppl_const_Grid_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_new_BD_Shape_mpq_class_from_Rational_Box_with_complexity
+PPL_PROTO((ppl_BD_Shape_mpq_class_t* pph, ppl_const_Rational_Box_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_new_BD_Shape_mpq_class_from_BD_Shape_int8_t_with_complexity
+PPL_PROTO((ppl_BD_Shape_mpq_class_t* pph, ppl_const_BD_Shape_int8_t_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_new_BD_Shape_mpq_class_from_BD_Shape_mpz_class_with_complexity
+PPL_PROTO((ppl_BD_Shape_mpq_class_t* pph, ppl_const_BD_Shape_mpz_class_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_new_BD_Shape_mpq_class_from_BD_Shape_mpq_class_with_complexity
+PPL_PROTO((ppl_BD_Shape_mpq_class_t* pph, ppl_const_BD_Shape_mpq_class_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_new_BD_Shape_mpq_class_from_Octagonal_Shape_mpz_class_with_complexity
+PPL_PROTO((ppl_BD_Shape_mpq_class_t* pph, ppl_const_Octagonal_Shape_mpz_class_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_new_BD_Shape_mpq_class_from_Octagonal_Shape_mpq_class_with_complexity
+PPL_PROTO((ppl_BD_Shape_mpq_class_t* pph, ppl_const_Octagonal_Shape_mpq_class_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_new_BD_Shape_mpq_class_from_Double_Box_with_complexity
+PPL_PROTO((ppl_BD_Shape_mpq_class_t* pph, ppl_const_Double_Box_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_new_BD_Shape_mpq_class_from_BD_Shape_double_with_complexity
+PPL_PROTO((ppl_BD_Shape_mpq_class_t* pph, ppl_const_BD_Shape_double_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_new_BD_Shape_mpq_class_from_Octagonal_Shape_double_with_complexity
+PPL_PROTO((ppl_BD_Shape_mpq_class_t* pph, ppl_const_Octagonal_Shape_double_t ph, int complexity));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_new_BD_Shape_mpq_class_from_Constraint_System
+PPL_PROTO((ppl_BD_Shape_mpq_class_t* pph, ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_new_BD_Shape_mpq_class_from_Congruence_System
+PPL_PROTO((ppl_BD_Shape_mpq_class_t* pph, ppl_const_Congruence_System_t cs));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_new_BD_Shape_mpq_class_from_Generator_System
+PPL_PROTO((ppl_BD_Shape_mpq_class_t* pph, ppl_const_Generator_System_t cs));
+
+
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_space_dimension
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t ph, ppl_dimension_type* m));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_affine_dimension
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t ph, ppl_dimension_type* m));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_relation_with_Constraint
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_relation_with_Generator
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t ph,
+           ppl_const_Generator_t c));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_relation_with_Congruence
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_get_constraints
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t ph,
+           ppl_const_Constraint_System_t* pcs));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_get_congruences
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t ph,
+           ppl_const_Congruence_System_t* pcs));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_get_minimized_constraints
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t ph,
+           ppl_const_Constraint_System_t* pcs));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_get_minimized_congruences
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t ph,
+           ppl_const_Congruence_System_t* pcs));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_is_empty
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t ph));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_is_universe
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t ph));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_is_bounded
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t ph));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_contains_integer_point
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t ph));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_is_topologically_closed
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t ph));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_is_discrete
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t ph));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_topological_closure_assign
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_bounds_from_above
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t ph,
+           ppl_const_Linear_Expression_t le));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_bounds_from_below
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t ph,
+           ppl_const_Linear_Expression_t le));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_maximize
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_minimize
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_maximize_with_point
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum,
+           ppl_Generator_t point));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_minimize_with_point
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum,
+           ppl_Generator_t point));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_frequency
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_fn,
+           ppl_Coefficient_t ext_fd,
+           ppl_Coefficient_t ext_vn,
+           ppl_Coefficient_t ext_vd));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_contains_BD_Shape_mpq_class
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t x,
+           ppl_const_BD_Shape_mpq_class_t y));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_strictly_contains_BD_Shape_mpq_class
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t x,
+           ppl_const_BD_Shape_mpq_class_t y));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_is_disjoint_from_BD_Shape_mpq_class
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t x,
+           ppl_const_BD_Shape_mpq_class_t y));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_equals_BD_Shape_mpq_class
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t x,
+           ppl_const_BD_Shape_mpq_class_t y));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_OK
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t ph));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_add_constraint
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_add_congruence
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_add_constraints
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_add_congruences
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph,
+           ppl_const_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_refine_with_constraint
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_refine_with_congruence
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_refine_with_constraints
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_refine_with_congruences
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph,
+           ppl_const_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_intersection_assign
+PPL_PROTO((ppl_BD_Shape_mpq_class_t x,
+           ppl_const_BD_Shape_mpq_class_t y));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_upper_bound_assign
+PPL_PROTO((ppl_BD_Shape_mpq_class_t x,
+           ppl_const_BD_Shape_mpq_class_t y));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_difference_assign
+PPL_PROTO((ppl_BD_Shape_mpq_class_t x,
+           ppl_const_BD_Shape_mpq_class_t y));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_concatenate_assign
+PPL_PROTO((ppl_BD_Shape_mpq_class_t x,
+           ppl_const_BD_Shape_mpq_class_t y));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_time_elapse_assign
+PPL_PROTO((ppl_BD_Shape_mpq_class_t x,
+           ppl_const_BD_Shape_mpq_class_t y));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_upper_bound_assign_if_exact
+PPL_PROTO((ppl_BD_Shape_mpq_class_t x,
+           ppl_const_BD_Shape_mpq_class_t y));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_simplify_using_context_assign
+PPL_PROTO((ppl_BD_Shape_mpq_class_t x,
+           ppl_const_BD_Shape_mpq_class_t y));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_constrains
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph,
+           ppl_dimension_type var));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_unconstrain_space_dimension
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph,
+           ppl_dimension_type var));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_unconstrain_space_dimensions
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph,
+           ppl_dimension_type ds[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_affine_image
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_affine_preimage
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_bounded_affine_image
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t lb,
+           ppl_const_Linear_Expression_t ub,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_bounded_affine_preimage
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t lb,
+           ppl_const_Linear_Expression_t ub,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_generalized_affine_image
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph,
+           ppl_dimension_type var,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_generalized_affine_preimage
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph,
+           ppl_dimension_type var,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_generalized_affine_image_lhs_rhs
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph,
+           ppl_const_Linear_Expression_t lhs,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t rhs));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_generalized_affine_preimage_lhs_rhs
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph,
+           ppl_const_Linear_Expression_t lhs,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t rhs));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_add_space_dimensions_and_embed
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph,
+           ppl_dimension_type d));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_add_space_dimensions_and_project
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph,
+           ppl_dimension_type d));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_remove_space_dimensions
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph,
+           ppl_dimension_type ds[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_remove_higher_space_dimensions
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph,
+           ppl_dimension_type d));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_expand_space_dimension
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph,
+           ppl_dimension_type d,
+           ppl_dimension_type m));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_fold_space_dimensions
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           ppl_dimension_type d));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_map_space_dimensions
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph,
+           ppl_dimension_type maps[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_drop_some_non_integer_points
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph,
+           int complexity));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_drop_some_non_integer_points_2
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           int complexity));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_external_memory_in_bytes
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t ps,
+           size_t* sz));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_total_memory_in_bytes
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t ps,
+           size_t* sz));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_BHMZ05_widening_assign_with_tokens
+PPL_PROTO((ppl_BD_Shape_mpq_class_t x,
+           ppl_const_BD_Shape_mpq_class_t y,
+           unsigned* tp));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_H79_widening_assign_with_tokens
+PPL_PROTO((ppl_BD_Shape_mpq_class_t x,
+           ppl_const_BD_Shape_mpq_class_t y,
+           unsigned* tp));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_BHMZ05_widening_assign
+PPL_PROTO((ppl_BD_Shape_mpq_class_t x,
+           ppl_const_BD_Shape_mpq_class_t y));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_H79_widening_assign
+PPL_PROTO((ppl_BD_Shape_mpq_class_t x,
+           ppl_const_BD_Shape_mpq_class_t y));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_widening_assign_with_tokens
+PPL_PROTO((ppl_BD_Shape_mpq_class_t x,
+           ppl_const_BD_Shape_mpq_class_t y,
+           unsigned* tp));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_widening_assign
+PPL_PROTO((ppl_BD_Shape_mpq_class_t x,
+           ppl_const_BD_Shape_mpq_class_t y));
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_limited_BHMZ05_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_BD_Shape_mpq_class_t x,
+           ppl_const_BD_Shape_mpq_class_t y,
+           ppl_const_Constraint_System_t cs,
+           unsigned* tp));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_limited_H79_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_BD_Shape_mpq_class_t x,
+           ppl_const_BD_Shape_mpq_class_t y,
+           ppl_const_Constraint_System_t cs,
+           unsigned* tp));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_limited_CC76_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_BD_Shape_mpq_class_t x,
+           ppl_const_BD_Shape_mpq_class_t y,
+           ppl_const_Constraint_System_t cs,
+           unsigned* tp));
+
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_limited_BHMZ05_extrapolation_assign
+PPL_PROTO((ppl_BD_Shape_mpq_class_t x,
+           ppl_const_BD_Shape_mpq_class_t y,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_limited_H79_extrapolation_assign
+PPL_PROTO((ppl_BD_Shape_mpq_class_t x,
+           ppl_const_BD_Shape_mpq_class_t y,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_limited_CC76_extrapolation_assign
+PPL_PROTO((ppl_BD_Shape_mpq_class_t x,
+           ppl_const_BD_Shape_mpq_class_t y,
+           ppl_const_Constraint_System_t cs));
+
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_CC76_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_BD_Shape_mpq_class_t x,
+           ppl_const_BD_Shape_mpq_class_t y,
+           unsigned* tp));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_CC76_extrapolation_assign
+PPL_PROTO((ppl_BD_Shape_mpq_class_t x,
+           ppl_const_BD_Shape_mpq_class_t y));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_CC76_narrowing_assign
+PPL_PROTO((ppl_BD_Shape_mpq_class_t x,
+           ppl_const_BD_Shape_mpq_class_t y));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_linear_partition
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t x,
+           ppl_const_BD_Shape_mpq_class_t y,
+           ppl_BD_Shape_mpq_class_t* p_inters,
+           ppl_Pointset_Powerset_NNC_Polyhedron_t* p_rest));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_wrap_assign
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           enum ppl_enum_Bounded_Integer_Type_Width w,
+           enum ppl_enum_Bounded_Integer_Type_Representation r,
+           enum ppl_enum_Bounded_Integer_Type_Overflow o,
+           const ppl_const_Constraint_System_t* pcs,
+           unsigned complexity_threshold,
+           int wrap_individually));
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_new_BD_Shape_mpq_class_recycle_Constraint_System
+PPL_PROTO((ppl_BD_Shape_mpq_class_t* pph, ppl_Constraint_System_t cs));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_new_BD_Shape_mpq_class_recycle_Congruence_System
+PPL_PROTO((ppl_BD_Shape_mpq_class_t* pph, ppl_Congruence_System_t cs));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_new_BD_Shape_mpq_class_recycle_Generator_System
+PPL_PROTO((ppl_BD_Shape_mpq_class_t* pph, ppl_Generator_System_t cs));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_assign_BD_Shape_mpq_class_from_BD_Shape_mpq_class
+PPL_PROTO((ppl_BD_Shape_mpq_class_t dst, ppl_const_BD_Shape_mpq_class_t src));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_add_recycled_constraints
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph,
+           ppl_Constraint_System_t cs));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_BD_Shape_mpq_class_add_recycled_congruences
+PPL_PROTO((ppl_BD_Shape_mpq_class_t ph,
+           ppl_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_termination_test_MS_BD_Shape_mpq_class
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t pset));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_termination_test_PR_BD_Shape_mpq_class
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t pset));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_one_affine_ranking_function_MS_BD_Shape_mpq_class
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t pset,
+           ppl_Generator_t point));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_one_affine_ranking_function_PR_BD_Shape_mpq_class
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t pset,
+           ppl_Generator_t point));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_all_affine_ranking_functions_MS_BD_Shape_mpq_class
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t pset,
+           ppl_Polyhedron_t ph));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_all_affine_ranking_functions_PR_BD_Shape_mpq_class
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t pset,
+           ppl_Polyhedron_t ph));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_termination_test_MS_BD_Shape_mpq_class_2
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t pset_before, ppl_const_BD_Shape_mpq_class_t pset_after));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_termination_test_PR_BD_Shape_mpq_class_2
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t pset_before, ppl_const_BD_Shape_mpq_class_t pset_after));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_one_affine_ranking_function_MS_BD_Shape_mpq_class_2
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t pset_before,
+           ppl_const_BD_Shape_mpq_class_t pset_after,
+           ppl_Generator_t point));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_one_affine_ranking_function_PR_BD_Shape_mpq_class_2
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t pset_before,
+           ppl_const_BD_Shape_mpq_class_t pset_after,
+           ppl_Generator_t point));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_all_affine_ranking_functions_MS_BD_Shape_mpq_class_2
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t pset_before,
+           ppl_const_BD_Shape_mpq_class_t pset_after,
+           ppl_Polyhedron_t ph));
+
+/*! \relates ppl_BD_Shape_mpq_class_tag */
+int
+ppl_all_affine_ranking_functions_PR_BD_Shape_mpq_class_2
+PPL_PROTO((ppl_const_BD_Shape_mpq_class_t pset_before,
+           ppl_const_BD_Shape_mpq_class_t pset_after,
+           ppl_Polyhedron_t ph));
+
+
+
+
+
+
+
+PPL_DECLARE_IO_FUNCTIONS(BD_Shape_mpq_class)
+
+/* End of Functions Related to ppl_BD_Shape_mpq_class_tag */
+
+/*! \interface ppl_Octagonal_Shape_mpz_class_tag
+  \brief Types and functions for ppl_Octagonal_Shape_mpz_class_tag
+*/
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_delete_Octagonal_Shape_mpz_class
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t ph));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_new_Octagonal_Shape_mpz_class_from_space_dimension
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t* pph, ppl_dimension_type d, int empty));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_new_Octagonal_Shape_mpz_class_from_C_Polyhedron
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t* pph, ppl_const_Polyhedron_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_new_Octagonal_Shape_mpz_class_from_NNC_Polyhedron
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t* pph, ppl_const_Polyhedron_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_new_Octagonal_Shape_mpz_class_from_Grid
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t* pph, ppl_const_Grid_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_new_Octagonal_Shape_mpz_class_from_Rational_Box
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t* pph, ppl_const_Rational_Box_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_new_Octagonal_Shape_mpz_class_from_BD_Shape_int8_t
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t* pph, ppl_const_BD_Shape_int8_t_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_new_Octagonal_Shape_mpz_class_from_BD_Shape_mpz_class
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t* pph, ppl_const_BD_Shape_mpz_class_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_new_Octagonal_Shape_mpz_class_from_BD_Shape_mpq_class
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t* pph, ppl_const_BD_Shape_mpq_class_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_new_Octagonal_Shape_mpz_class_from_Octagonal_Shape_mpz_class
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t* pph, ppl_const_Octagonal_Shape_mpz_class_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_new_Octagonal_Shape_mpz_class_from_Octagonal_Shape_mpq_class
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t* pph, ppl_const_Octagonal_Shape_mpq_class_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_new_Octagonal_Shape_mpz_class_from_Double_Box
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t* pph, ppl_const_Double_Box_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_new_Octagonal_Shape_mpz_class_from_BD_Shape_double
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t* pph, ppl_const_BD_Shape_double_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_new_Octagonal_Shape_mpz_class_from_Octagonal_Shape_double
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t* pph, ppl_const_Octagonal_Shape_double_t ph));
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_new_Octagonal_Shape_mpz_class_from_C_Polyhedron_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t* pph, ppl_const_Polyhedron_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_new_Octagonal_Shape_mpz_class_from_NNC_Polyhedron_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t* pph, ppl_const_Polyhedron_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_new_Octagonal_Shape_mpz_class_from_Grid_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t* pph, ppl_const_Grid_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_new_Octagonal_Shape_mpz_class_from_Rational_Box_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t* pph, ppl_const_Rational_Box_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_new_Octagonal_Shape_mpz_class_from_BD_Shape_int8_t_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t* pph, ppl_const_BD_Shape_int8_t_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_new_Octagonal_Shape_mpz_class_from_BD_Shape_mpz_class_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t* pph, ppl_const_BD_Shape_mpz_class_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_new_Octagonal_Shape_mpz_class_from_BD_Shape_mpq_class_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t* pph, ppl_const_BD_Shape_mpq_class_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_new_Octagonal_Shape_mpz_class_from_Octagonal_Shape_mpz_class_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t* pph, ppl_const_Octagonal_Shape_mpz_class_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_new_Octagonal_Shape_mpz_class_from_Octagonal_Shape_mpq_class_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t* pph, ppl_const_Octagonal_Shape_mpq_class_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_new_Octagonal_Shape_mpz_class_from_Double_Box_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t* pph, ppl_const_Double_Box_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_new_Octagonal_Shape_mpz_class_from_BD_Shape_double_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t* pph, ppl_const_BD_Shape_double_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_new_Octagonal_Shape_mpz_class_from_Octagonal_Shape_double_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t* pph, ppl_const_Octagonal_Shape_double_t ph, int complexity));
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_new_Octagonal_Shape_mpz_class_from_Constraint_System
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t* pph, ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_new_Octagonal_Shape_mpz_class_from_Congruence_System
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t* pph, ppl_const_Congruence_System_t cs));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_new_Octagonal_Shape_mpz_class_from_Generator_System
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t* pph, ppl_const_Generator_System_t cs));
+
+
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_space_dimension
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t ph, ppl_dimension_type* m));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_affine_dimension
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t ph, ppl_dimension_type* m));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_relation_with_Constraint
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_relation_with_Generator
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t ph,
+           ppl_const_Generator_t c));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_relation_with_Congruence
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_get_constraints
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t ph,
+           ppl_const_Constraint_System_t* pcs));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_get_congruences
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t ph,
+           ppl_const_Congruence_System_t* pcs));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_get_minimized_constraints
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t ph,
+           ppl_const_Constraint_System_t* pcs));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_get_minimized_congruences
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t ph,
+           ppl_const_Congruence_System_t* pcs));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_is_empty
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_is_universe
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_is_bounded
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_contains_integer_point
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_is_topologically_closed
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_is_discrete
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t ph));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_topological_closure_assign
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_bounds_from_above
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t ph,
+           ppl_const_Linear_Expression_t le));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_bounds_from_below
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t ph,
+           ppl_const_Linear_Expression_t le));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_maximize
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_minimize
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_maximize_with_point
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum,
+           ppl_Generator_t point));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_minimize_with_point
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum,
+           ppl_Generator_t point));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_frequency
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_fn,
+           ppl_Coefficient_t ext_fd,
+           ppl_Coefficient_t ext_vn,
+           ppl_Coefficient_t ext_vd));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_contains_Octagonal_Shape_mpz_class
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t x,
+           ppl_const_Octagonal_Shape_mpz_class_t y));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_strictly_contains_Octagonal_Shape_mpz_class
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t x,
+           ppl_const_Octagonal_Shape_mpz_class_t y));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_is_disjoint_from_Octagonal_Shape_mpz_class
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t x,
+           ppl_const_Octagonal_Shape_mpz_class_t y));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_equals_Octagonal_Shape_mpz_class
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t x,
+           ppl_const_Octagonal_Shape_mpz_class_t y));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_OK
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t ph));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_add_constraint
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_add_congruence
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_add_constraints
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_add_congruences
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph,
+           ppl_const_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_refine_with_constraint
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_refine_with_congruence
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_refine_with_constraints
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_refine_with_congruences
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph,
+           ppl_const_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_intersection_assign
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t x,
+           ppl_const_Octagonal_Shape_mpz_class_t y));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_upper_bound_assign
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t x,
+           ppl_const_Octagonal_Shape_mpz_class_t y));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_difference_assign
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t x,
+           ppl_const_Octagonal_Shape_mpz_class_t y));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_concatenate_assign
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t x,
+           ppl_const_Octagonal_Shape_mpz_class_t y));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_time_elapse_assign
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t x,
+           ppl_const_Octagonal_Shape_mpz_class_t y));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_upper_bound_assign_if_exact
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t x,
+           ppl_const_Octagonal_Shape_mpz_class_t y));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_simplify_using_context_assign
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t x,
+           ppl_const_Octagonal_Shape_mpz_class_t y));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_constrains
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph,
+           ppl_dimension_type var));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_unconstrain_space_dimension
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph,
+           ppl_dimension_type var));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_unconstrain_space_dimensions
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph,
+           ppl_dimension_type ds[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_affine_image
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_affine_preimage
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_bounded_affine_image
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t lb,
+           ppl_const_Linear_Expression_t ub,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_bounded_affine_preimage
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t lb,
+           ppl_const_Linear_Expression_t ub,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_generalized_affine_image
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph,
+           ppl_dimension_type var,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_generalized_affine_preimage
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph,
+           ppl_dimension_type var,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_generalized_affine_image_lhs_rhs
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph,
+           ppl_const_Linear_Expression_t lhs,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t rhs));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_generalized_affine_preimage_lhs_rhs
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph,
+           ppl_const_Linear_Expression_t lhs,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t rhs));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_add_space_dimensions_and_embed
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph,
+           ppl_dimension_type d));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_add_space_dimensions_and_project
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph,
+           ppl_dimension_type d));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_remove_space_dimensions
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph,
+           ppl_dimension_type ds[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_remove_higher_space_dimensions
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph,
+           ppl_dimension_type d));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_expand_space_dimension
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph,
+           ppl_dimension_type d,
+           ppl_dimension_type m));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_fold_space_dimensions
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           ppl_dimension_type d));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_map_space_dimensions
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph,
+           ppl_dimension_type maps[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_drop_some_non_integer_points
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph,
+           int complexity));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_drop_some_non_integer_points_2
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           int complexity));
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_external_memory_in_bytes
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t ps,
+           size_t* sz));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_total_memory_in_bytes
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t ps,
+           size_t* sz));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_BHMZ05_widening_assign_with_tokens
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t x,
+           ppl_const_Octagonal_Shape_mpz_class_t y,
+           unsigned* tp));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_BHMZ05_widening_assign
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t x,
+           ppl_const_Octagonal_Shape_mpz_class_t y));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_widening_assign_with_tokens
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t x,
+           ppl_const_Octagonal_Shape_mpz_class_t y,
+           unsigned* tp));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_widening_assign
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t x,
+           ppl_const_Octagonal_Shape_mpz_class_t y));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_limited_BHMZ05_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t x,
+           ppl_const_Octagonal_Shape_mpz_class_t y,
+           ppl_const_Constraint_System_t cs,
+           unsigned* tp));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_limited_CC76_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t x,
+           ppl_const_Octagonal_Shape_mpz_class_t y,
+           ppl_const_Constraint_System_t cs,
+           unsigned* tp));
+
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_limited_BHMZ05_extrapolation_assign
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t x,
+           ppl_const_Octagonal_Shape_mpz_class_t y,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_limited_CC76_extrapolation_assign
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t x,
+           ppl_const_Octagonal_Shape_mpz_class_t y,
+           ppl_const_Constraint_System_t cs));
+
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_CC76_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t x,
+           ppl_const_Octagonal_Shape_mpz_class_t y,
+           unsigned* tp));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_CC76_extrapolation_assign
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t x,
+           ppl_const_Octagonal_Shape_mpz_class_t y));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_CC76_narrowing_assign
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t x,
+           ppl_const_Octagonal_Shape_mpz_class_t y));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_linear_partition
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t x,
+           ppl_const_Octagonal_Shape_mpz_class_t y,
+           ppl_Octagonal_Shape_mpz_class_t* p_inters,
+           ppl_Pointset_Powerset_NNC_Polyhedron_t* p_rest));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_wrap_assign
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           enum ppl_enum_Bounded_Integer_Type_Width w,
+           enum ppl_enum_Bounded_Integer_Type_Representation r,
+           enum ppl_enum_Bounded_Integer_Type_Overflow o,
+           const ppl_const_Constraint_System_t* pcs,
+           unsigned complexity_threshold,
+           int wrap_individually));
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_new_Octagonal_Shape_mpz_class_recycle_Constraint_System
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t* pph, ppl_Constraint_System_t cs));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_new_Octagonal_Shape_mpz_class_recycle_Congruence_System
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t* pph, ppl_Congruence_System_t cs));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_new_Octagonal_Shape_mpz_class_recycle_Generator_System
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t* pph, ppl_Generator_System_t cs));
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_assign_Octagonal_Shape_mpz_class_from_Octagonal_Shape_mpz_class
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t dst, ppl_const_Octagonal_Shape_mpz_class_t src));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_add_recycled_constraints
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph,
+           ppl_Constraint_System_t cs));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_Octagonal_Shape_mpz_class_add_recycled_congruences
+PPL_PROTO((ppl_Octagonal_Shape_mpz_class_t ph,
+           ppl_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_termination_test_MS_Octagonal_Shape_mpz_class
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t pset));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_termination_test_PR_Octagonal_Shape_mpz_class
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t pset));
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_one_affine_ranking_function_MS_Octagonal_Shape_mpz_class
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t pset,
+           ppl_Generator_t point));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_one_affine_ranking_function_PR_Octagonal_Shape_mpz_class
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t pset,
+           ppl_Generator_t point));
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_all_affine_ranking_functions_MS_Octagonal_Shape_mpz_class
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t pset,
+           ppl_Polyhedron_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_all_affine_ranking_functions_PR_Octagonal_Shape_mpz_class
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t pset,
+           ppl_Polyhedron_t ph));
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_termination_test_MS_Octagonal_Shape_mpz_class_2
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t pset_before, ppl_const_Octagonal_Shape_mpz_class_t pset_after));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_termination_test_PR_Octagonal_Shape_mpz_class_2
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t pset_before, ppl_const_Octagonal_Shape_mpz_class_t pset_after));
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_one_affine_ranking_function_MS_Octagonal_Shape_mpz_class_2
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t pset_before,
+           ppl_const_Octagonal_Shape_mpz_class_t pset_after,
+           ppl_Generator_t point));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_one_affine_ranking_function_PR_Octagonal_Shape_mpz_class_2
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t pset_before,
+           ppl_const_Octagonal_Shape_mpz_class_t pset_after,
+           ppl_Generator_t point));
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_all_affine_ranking_functions_MS_Octagonal_Shape_mpz_class_2
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t pset_before,
+           ppl_const_Octagonal_Shape_mpz_class_t pset_after,
+           ppl_Polyhedron_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpz_class_tag */
+int
+ppl_all_affine_ranking_functions_PR_Octagonal_Shape_mpz_class_2
+PPL_PROTO((ppl_const_Octagonal_Shape_mpz_class_t pset_before,
+           ppl_const_Octagonal_Shape_mpz_class_t pset_after,
+           ppl_Polyhedron_t ph));
+
+
+
+
+
+
+
+PPL_DECLARE_IO_FUNCTIONS(Octagonal_Shape_mpz_class)
+
+/* End of Functions Related to ppl_Octagonal_Shape_mpz_class_tag */
+
+/*! \interface ppl_Octagonal_Shape_mpq_class_tag
+  \brief Types and functions for ppl_Octagonal_Shape_mpq_class_tag
+*/
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_delete_Octagonal_Shape_mpq_class
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t ph));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_new_Octagonal_Shape_mpq_class_from_space_dimension
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t* pph, ppl_dimension_type d, int empty));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_new_Octagonal_Shape_mpq_class_from_C_Polyhedron
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t* pph, ppl_const_Polyhedron_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_new_Octagonal_Shape_mpq_class_from_NNC_Polyhedron
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t* pph, ppl_const_Polyhedron_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_new_Octagonal_Shape_mpq_class_from_Grid
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t* pph, ppl_const_Grid_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_new_Octagonal_Shape_mpq_class_from_Rational_Box
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t* pph, ppl_const_Rational_Box_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_new_Octagonal_Shape_mpq_class_from_BD_Shape_int8_t
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t* pph, ppl_const_BD_Shape_int8_t_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_new_Octagonal_Shape_mpq_class_from_BD_Shape_mpz_class
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t* pph, ppl_const_BD_Shape_mpz_class_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_new_Octagonal_Shape_mpq_class_from_BD_Shape_mpq_class
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t* pph, ppl_const_BD_Shape_mpq_class_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_new_Octagonal_Shape_mpq_class_from_Octagonal_Shape_mpz_class
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t* pph, ppl_const_Octagonal_Shape_mpz_class_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_new_Octagonal_Shape_mpq_class_from_Octagonal_Shape_mpq_class
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t* pph, ppl_const_Octagonal_Shape_mpq_class_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_new_Octagonal_Shape_mpq_class_from_Double_Box
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t* pph, ppl_const_Double_Box_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_new_Octagonal_Shape_mpq_class_from_BD_Shape_double
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t* pph, ppl_const_BD_Shape_double_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_new_Octagonal_Shape_mpq_class_from_Octagonal_Shape_double
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t* pph, ppl_const_Octagonal_Shape_double_t ph));
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_new_Octagonal_Shape_mpq_class_from_C_Polyhedron_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t* pph, ppl_const_Polyhedron_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_new_Octagonal_Shape_mpq_class_from_NNC_Polyhedron_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t* pph, ppl_const_Polyhedron_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_new_Octagonal_Shape_mpq_class_from_Grid_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t* pph, ppl_const_Grid_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_new_Octagonal_Shape_mpq_class_from_Rational_Box_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t* pph, ppl_const_Rational_Box_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_new_Octagonal_Shape_mpq_class_from_BD_Shape_int8_t_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t* pph, ppl_const_BD_Shape_int8_t_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_new_Octagonal_Shape_mpq_class_from_BD_Shape_mpz_class_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t* pph, ppl_const_BD_Shape_mpz_class_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_new_Octagonal_Shape_mpq_class_from_BD_Shape_mpq_class_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t* pph, ppl_const_BD_Shape_mpq_class_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_new_Octagonal_Shape_mpq_class_from_Octagonal_Shape_mpz_class_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t* pph, ppl_const_Octagonal_Shape_mpz_class_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_new_Octagonal_Shape_mpq_class_from_Octagonal_Shape_mpq_class_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t* pph, ppl_const_Octagonal_Shape_mpq_class_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_new_Octagonal_Shape_mpq_class_from_Double_Box_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t* pph, ppl_const_Double_Box_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_new_Octagonal_Shape_mpq_class_from_BD_Shape_double_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t* pph, ppl_const_BD_Shape_double_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_new_Octagonal_Shape_mpq_class_from_Octagonal_Shape_double_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t* pph, ppl_const_Octagonal_Shape_double_t ph, int complexity));
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_new_Octagonal_Shape_mpq_class_from_Constraint_System
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t* pph, ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_new_Octagonal_Shape_mpq_class_from_Congruence_System
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t* pph, ppl_const_Congruence_System_t cs));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_new_Octagonal_Shape_mpq_class_from_Generator_System
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t* pph, ppl_const_Generator_System_t cs));
+
+
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_space_dimension
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t ph, ppl_dimension_type* m));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_affine_dimension
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t ph, ppl_dimension_type* m));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_relation_with_Constraint
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_relation_with_Generator
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t ph,
+           ppl_const_Generator_t c));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_relation_with_Congruence
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_get_constraints
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t ph,
+           ppl_const_Constraint_System_t* pcs));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_get_congruences
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t ph,
+           ppl_const_Congruence_System_t* pcs));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_get_minimized_constraints
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t ph,
+           ppl_const_Constraint_System_t* pcs));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_get_minimized_congruences
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t ph,
+           ppl_const_Congruence_System_t* pcs));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_is_empty
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_is_universe
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_is_bounded
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_contains_integer_point
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_is_topologically_closed
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_is_discrete
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t ph));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_topological_closure_assign
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_bounds_from_above
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t ph,
+           ppl_const_Linear_Expression_t le));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_bounds_from_below
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t ph,
+           ppl_const_Linear_Expression_t le));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_maximize
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_minimize
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_maximize_with_point
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum,
+           ppl_Generator_t point));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_minimize_with_point
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum,
+           ppl_Generator_t point));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_frequency
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_fn,
+           ppl_Coefficient_t ext_fd,
+           ppl_Coefficient_t ext_vn,
+           ppl_Coefficient_t ext_vd));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_contains_Octagonal_Shape_mpq_class
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t x,
+           ppl_const_Octagonal_Shape_mpq_class_t y));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_strictly_contains_Octagonal_Shape_mpq_class
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t x,
+           ppl_const_Octagonal_Shape_mpq_class_t y));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_is_disjoint_from_Octagonal_Shape_mpq_class
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t x,
+           ppl_const_Octagonal_Shape_mpq_class_t y));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_equals_Octagonal_Shape_mpq_class
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t x,
+           ppl_const_Octagonal_Shape_mpq_class_t y));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_OK
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t ph));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_add_constraint
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_add_congruence
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_add_constraints
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_add_congruences
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph,
+           ppl_const_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_refine_with_constraint
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_refine_with_congruence
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_refine_with_constraints
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_refine_with_congruences
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph,
+           ppl_const_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_intersection_assign
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t x,
+           ppl_const_Octagonal_Shape_mpq_class_t y));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_upper_bound_assign
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t x,
+           ppl_const_Octagonal_Shape_mpq_class_t y));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_difference_assign
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t x,
+           ppl_const_Octagonal_Shape_mpq_class_t y));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_concatenate_assign
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t x,
+           ppl_const_Octagonal_Shape_mpq_class_t y));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_time_elapse_assign
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t x,
+           ppl_const_Octagonal_Shape_mpq_class_t y));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_upper_bound_assign_if_exact
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t x,
+           ppl_const_Octagonal_Shape_mpq_class_t y));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_simplify_using_context_assign
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t x,
+           ppl_const_Octagonal_Shape_mpq_class_t y));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_constrains
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph,
+           ppl_dimension_type var));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_unconstrain_space_dimension
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph,
+           ppl_dimension_type var));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_unconstrain_space_dimensions
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph,
+           ppl_dimension_type ds[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_affine_image
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_affine_preimage
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_bounded_affine_image
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t lb,
+           ppl_const_Linear_Expression_t ub,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_bounded_affine_preimage
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t lb,
+           ppl_const_Linear_Expression_t ub,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_generalized_affine_image
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph,
+           ppl_dimension_type var,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_generalized_affine_preimage
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph,
+           ppl_dimension_type var,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_generalized_affine_image_lhs_rhs
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph,
+           ppl_const_Linear_Expression_t lhs,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t rhs));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_generalized_affine_preimage_lhs_rhs
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph,
+           ppl_const_Linear_Expression_t lhs,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t rhs));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_add_space_dimensions_and_embed
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph,
+           ppl_dimension_type d));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_add_space_dimensions_and_project
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph,
+           ppl_dimension_type d));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_remove_space_dimensions
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph,
+           ppl_dimension_type ds[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_remove_higher_space_dimensions
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph,
+           ppl_dimension_type d));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_expand_space_dimension
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph,
+           ppl_dimension_type d,
+           ppl_dimension_type m));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_fold_space_dimensions
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           ppl_dimension_type d));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_map_space_dimensions
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph,
+           ppl_dimension_type maps[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_drop_some_non_integer_points
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph,
+           int complexity));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_drop_some_non_integer_points_2
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           int complexity));
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_external_memory_in_bytes
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t ps,
+           size_t* sz));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_total_memory_in_bytes
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t ps,
+           size_t* sz));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_BHMZ05_widening_assign_with_tokens
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t x,
+           ppl_const_Octagonal_Shape_mpq_class_t y,
+           unsigned* tp));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_BHMZ05_widening_assign
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t x,
+           ppl_const_Octagonal_Shape_mpq_class_t y));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_widening_assign_with_tokens
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t x,
+           ppl_const_Octagonal_Shape_mpq_class_t y,
+           unsigned* tp));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_widening_assign
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t x,
+           ppl_const_Octagonal_Shape_mpq_class_t y));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_limited_BHMZ05_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t x,
+           ppl_const_Octagonal_Shape_mpq_class_t y,
+           ppl_const_Constraint_System_t cs,
+           unsigned* tp));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_limited_CC76_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t x,
+           ppl_const_Octagonal_Shape_mpq_class_t y,
+           ppl_const_Constraint_System_t cs,
+           unsigned* tp));
+
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_limited_BHMZ05_extrapolation_assign
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t x,
+           ppl_const_Octagonal_Shape_mpq_class_t y,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_limited_CC76_extrapolation_assign
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t x,
+           ppl_const_Octagonal_Shape_mpq_class_t y,
+           ppl_const_Constraint_System_t cs));
+
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_CC76_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t x,
+           ppl_const_Octagonal_Shape_mpq_class_t y,
+           unsigned* tp));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_CC76_extrapolation_assign
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t x,
+           ppl_const_Octagonal_Shape_mpq_class_t y));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_CC76_narrowing_assign
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t x,
+           ppl_const_Octagonal_Shape_mpq_class_t y));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_linear_partition
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t x,
+           ppl_const_Octagonal_Shape_mpq_class_t y,
+           ppl_Octagonal_Shape_mpq_class_t* p_inters,
+           ppl_Pointset_Powerset_NNC_Polyhedron_t* p_rest));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_wrap_assign
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           enum ppl_enum_Bounded_Integer_Type_Width w,
+           enum ppl_enum_Bounded_Integer_Type_Representation r,
+           enum ppl_enum_Bounded_Integer_Type_Overflow o,
+           const ppl_const_Constraint_System_t* pcs,
+           unsigned complexity_threshold,
+           int wrap_individually));
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_new_Octagonal_Shape_mpq_class_recycle_Constraint_System
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t* pph, ppl_Constraint_System_t cs));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_new_Octagonal_Shape_mpq_class_recycle_Congruence_System
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t* pph, ppl_Congruence_System_t cs));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_new_Octagonal_Shape_mpq_class_recycle_Generator_System
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t* pph, ppl_Generator_System_t cs));
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_assign_Octagonal_Shape_mpq_class_from_Octagonal_Shape_mpq_class
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t dst, ppl_const_Octagonal_Shape_mpq_class_t src));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_add_recycled_constraints
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph,
+           ppl_Constraint_System_t cs));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_Octagonal_Shape_mpq_class_add_recycled_congruences
+PPL_PROTO((ppl_Octagonal_Shape_mpq_class_t ph,
+           ppl_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_termination_test_MS_Octagonal_Shape_mpq_class
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t pset));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_termination_test_PR_Octagonal_Shape_mpq_class
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t pset));
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_one_affine_ranking_function_MS_Octagonal_Shape_mpq_class
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t pset,
+           ppl_Generator_t point));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_one_affine_ranking_function_PR_Octagonal_Shape_mpq_class
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t pset,
+           ppl_Generator_t point));
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_all_affine_ranking_functions_MS_Octagonal_Shape_mpq_class
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t pset,
+           ppl_Polyhedron_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_all_affine_ranking_functions_PR_Octagonal_Shape_mpq_class
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t pset,
+           ppl_Polyhedron_t ph));
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_termination_test_MS_Octagonal_Shape_mpq_class_2
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t pset_before, ppl_const_Octagonal_Shape_mpq_class_t pset_after));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_termination_test_PR_Octagonal_Shape_mpq_class_2
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t pset_before, ppl_const_Octagonal_Shape_mpq_class_t pset_after));
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_one_affine_ranking_function_MS_Octagonal_Shape_mpq_class_2
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t pset_before,
+           ppl_const_Octagonal_Shape_mpq_class_t pset_after,
+           ppl_Generator_t point));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_one_affine_ranking_function_PR_Octagonal_Shape_mpq_class_2
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t pset_before,
+           ppl_const_Octagonal_Shape_mpq_class_t pset_after,
+           ppl_Generator_t point));
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_all_affine_ranking_functions_MS_Octagonal_Shape_mpq_class_2
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t pset_before,
+           ppl_const_Octagonal_Shape_mpq_class_t pset_after,
+           ppl_Polyhedron_t ph));
+
+/*! \relates ppl_Octagonal_Shape_mpq_class_tag */
+int
+ppl_all_affine_ranking_functions_PR_Octagonal_Shape_mpq_class_2
+PPL_PROTO((ppl_const_Octagonal_Shape_mpq_class_t pset_before,
+           ppl_const_Octagonal_Shape_mpq_class_t pset_after,
+           ppl_Polyhedron_t ph));
+
+
+
+
+
+
+
+PPL_DECLARE_IO_FUNCTIONS(Octagonal_Shape_mpq_class)
+
+/* End of Functions Related to ppl_Octagonal_Shape_mpq_class_tag */
+
+/*! \interface ppl_Constraints_Product_C_Polyhedron_Grid_tag
+  \brief Types and functions for ppl_Constraints_Product_C_Polyhedron_Grid_tag
+*/
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_delete_Constraints_Product_C_Polyhedron_Grid
+PPL_PROTO((ppl_const_Constraints_Product_C_Polyhedron_Grid_t ph));
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_new_Constraints_Product_C_Polyhedron_Grid_from_space_dimension
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t* pph, ppl_dimension_type d, int empty));
+
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_new_Constraints_Product_C_Polyhedron_Grid_from_C_Polyhedron
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t* pph, ppl_const_Polyhedron_t ph));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_new_Constraints_Product_C_Polyhedron_Grid_from_NNC_Polyhedron
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t* pph, ppl_const_Polyhedron_t ph));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_new_Constraints_Product_C_Polyhedron_Grid_from_Grid
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t* pph, ppl_const_Grid_t ph));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_new_Constraints_Product_C_Polyhedron_Grid_from_Rational_Box
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t* pph, ppl_const_Rational_Box_t ph));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_new_Constraints_Product_C_Polyhedron_Grid_from_BD_Shape_int8_t
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t* pph, ppl_const_BD_Shape_int8_t_t ph));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_new_Constraints_Product_C_Polyhedron_Grid_from_BD_Shape_mpz_class
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t* pph, ppl_const_BD_Shape_mpz_class_t ph));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_new_Constraints_Product_C_Polyhedron_Grid_from_BD_Shape_mpq_class
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t* pph, ppl_const_BD_Shape_mpq_class_t ph));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_new_Constraints_Product_C_Polyhedron_Grid_from_Octagonal_Shape_mpz_class
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t* pph, ppl_const_Octagonal_Shape_mpz_class_t ph));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_new_Constraints_Product_C_Polyhedron_Grid_from_Octagonal_Shape_mpq_class
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t* pph, ppl_const_Octagonal_Shape_mpq_class_t ph));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_new_Constraints_Product_C_Polyhedron_Grid_from_Double_Box
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t* pph, ppl_const_Double_Box_t ph));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_new_Constraints_Product_C_Polyhedron_Grid_from_BD_Shape_double
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t* pph, ppl_const_BD_Shape_double_t ph));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_new_Constraints_Product_C_Polyhedron_Grid_from_Octagonal_Shape_double
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t* pph, ppl_const_Octagonal_Shape_double_t ph));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_new_Constraints_Product_C_Polyhedron_Grid_from_Constraints_Product_C_Polyhedron_Grid
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t* pph, ppl_const_Constraints_Product_C_Polyhedron_Grid_t ph));
+
+
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_new_Constraints_Product_C_Polyhedron_Grid_from_C_Polyhedron_with_complexity
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t* pph, ppl_const_Polyhedron_t ph, int complexity));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_new_Constraints_Product_C_Polyhedron_Grid_from_NNC_Polyhedron_with_complexity
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t* pph, ppl_const_Polyhedron_t ph, int complexity));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_new_Constraints_Product_C_Polyhedron_Grid_from_Grid_with_complexity
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t* pph, ppl_const_Grid_t ph, int complexity));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_new_Constraints_Product_C_Polyhedron_Grid_from_Rational_Box_with_complexity
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t* pph, ppl_const_Rational_Box_t ph, int complexity));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_new_Constraints_Product_C_Polyhedron_Grid_from_BD_Shape_int8_t_with_complexity
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t* pph, ppl_const_BD_Shape_int8_t_t ph, int complexity));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_new_Constraints_Product_C_Polyhedron_Grid_from_BD_Shape_mpz_class_with_complexity
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t* pph, ppl_const_BD_Shape_mpz_class_t ph, int complexity));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_new_Constraints_Product_C_Polyhedron_Grid_from_BD_Shape_mpq_class_with_complexity
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t* pph, ppl_const_BD_Shape_mpq_class_t ph, int complexity));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_new_Constraints_Product_C_Polyhedron_Grid_from_Octagonal_Shape_mpz_class_with_complexity
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t* pph, ppl_const_Octagonal_Shape_mpz_class_t ph, int complexity));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_new_Constraints_Product_C_Polyhedron_Grid_from_Octagonal_Shape_mpq_class_with_complexity
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t* pph, ppl_const_Octagonal_Shape_mpq_class_t ph, int complexity));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_new_Constraints_Product_C_Polyhedron_Grid_from_Double_Box_with_complexity
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t* pph, ppl_const_Double_Box_t ph, int complexity));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_new_Constraints_Product_C_Polyhedron_Grid_from_BD_Shape_double_with_complexity
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t* pph, ppl_const_BD_Shape_double_t ph, int complexity));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_new_Constraints_Product_C_Polyhedron_Grid_from_Octagonal_Shape_double_with_complexity
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t* pph, ppl_const_Octagonal_Shape_double_t ph, int complexity));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_new_Constraints_Product_C_Polyhedron_Grid_from_Constraints_Product_C_Polyhedron_Grid_with_complexity
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t* pph, ppl_const_Constraints_Product_C_Polyhedron_Grid_t ph, int complexity));
+
+
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_new_Constraints_Product_C_Polyhedron_Grid_from_Constraint_System
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t* pph, ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_new_Constraints_Product_C_Polyhedron_Grid_from_Congruence_System
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t* pph, ppl_const_Congruence_System_t cs));
+
+
+
+
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_space_dimension
+PPL_PROTO((ppl_const_Constraints_Product_C_Polyhedron_Grid_t ph, ppl_dimension_type* m));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_affine_dimension
+PPL_PROTO((ppl_const_Constraints_Product_C_Polyhedron_Grid_t ph, ppl_dimension_type* m));
+
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_relation_with_Constraint
+PPL_PROTO((ppl_const_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_relation_with_Generator
+PPL_PROTO((ppl_const_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_const_Generator_t c));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_relation_with_Congruence
+PPL_PROTO((ppl_const_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_is_empty
+PPL_PROTO((ppl_const_Constraints_Product_C_Polyhedron_Grid_t ph));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_is_universe
+PPL_PROTO((ppl_const_Constraints_Product_C_Polyhedron_Grid_t ph));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_is_bounded
+PPL_PROTO((ppl_const_Constraints_Product_C_Polyhedron_Grid_t ph));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_is_topologically_closed
+PPL_PROTO((ppl_const_Constraints_Product_C_Polyhedron_Grid_t ph));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_is_discrete
+PPL_PROTO((ppl_const_Constraints_Product_C_Polyhedron_Grid_t ph));
+
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_topological_closure_assign
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t ph));
+
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_bounds_from_above
+PPL_PROTO((ppl_const_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_const_Linear_Expression_t le));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_bounds_from_below
+PPL_PROTO((ppl_const_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_const_Linear_Expression_t le));
+
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_maximize
+PPL_PROTO((ppl_const_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_minimize
+PPL_PROTO((ppl_const_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum));
+
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_maximize_with_point
+PPL_PROTO((ppl_const_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum,
+           ppl_Generator_t point));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_minimize_with_point
+PPL_PROTO((ppl_const_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum,
+           ppl_Generator_t point));
+
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_contains_Constraints_Product_C_Polyhedron_Grid
+PPL_PROTO((ppl_const_Constraints_Product_C_Polyhedron_Grid_t x,
+           ppl_const_Constraints_Product_C_Polyhedron_Grid_t y));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_strictly_contains_Constraints_Product_C_Polyhedron_Grid
+PPL_PROTO((ppl_const_Constraints_Product_C_Polyhedron_Grid_t x,
+           ppl_const_Constraints_Product_C_Polyhedron_Grid_t y));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_is_disjoint_from_Constraints_Product_C_Polyhedron_Grid
+PPL_PROTO((ppl_const_Constraints_Product_C_Polyhedron_Grid_t x,
+           ppl_const_Constraints_Product_C_Polyhedron_Grid_t y));
+
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_equals_Constraints_Product_C_Polyhedron_Grid
+PPL_PROTO((ppl_const_Constraints_Product_C_Polyhedron_Grid_t x,
+           ppl_const_Constraints_Product_C_Polyhedron_Grid_t y));
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_OK
+PPL_PROTO((ppl_const_Constraints_Product_C_Polyhedron_Grid_t ph));
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_add_constraint
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_add_congruence
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_add_constraints
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_add_congruences
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_const_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_refine_with_constraint
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_refine_with_congruence
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_refine_with_constraints
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_refine_with_congruences
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_const_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_intersection_assign
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t x,
+           ppl_const_Constraints_Product_C_Polyhedron_Grid_t y));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_upper_bound_assign
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t x,
+           ppl_const_Constraints_Product_C_Polyhedron_Grid_t y));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_difference_assign
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t x,
+           ppl_const_Constraints_Product_C_Polyhedron_Grid_t y));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_concatenate_assign
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t x,
+           ppl_const_Constraints_Product_C_Polyhedron_Grid_t y));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_time_elapse_assign
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t x,
+           ppl_const_Constraints_Product_C_Polyhedron_Grid_t y));
+
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_upper_bound_assign_if_exact
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t x,
+           ppl_const_Constraints_Product_C_Polyhedron_Grid_t y));
+
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_constrains
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_dimension_type var));
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_unconstrain_space_dimension
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_dimension_type var));
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_unconstrain_space_dimensions
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_dimension_type ds[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_affine_image
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_affine_preimage
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_bounded_affine_image
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t lb,
+           ppl_const_Linear_Expression_t ub,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_bounded_affine_preimage
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t lb,
+           ppl_const_Linear_Expression_t ub,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_generalized_affine_image
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_dimension_type var,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_generalized_affine_preimage
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_dimension_type var,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_generalized_affine_image_lhs_rhs
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_const_Linear_Expression_t lhs,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t rhs));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_generalized_affine_preimage_lhs_rhs
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_const_Linear_Expression_t lhs,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t rhs));
+
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_add_space_dimensions_and_embed
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_dimension_type d));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_add_space_dimensions_and_project
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_dimension_type d));
+
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_remove_space_dimensions
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_dimension_type ds[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_remove_higher_space_dimensions
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_dimension_type d));
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_expand_space_dimension
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_dimension_type d,
+           ppl_dimension_type m));
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_fold_space_dimensions
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           ppl_dimension_type d));
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_map_space_dimensions
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_dimension_type maps[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_drop_some_non_integer_points
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t ph,
+           int complexity));
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_drop_some_non_integer_points_2
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           int complexity));
+
+
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_external_memory_in_bytes
+PPL_PROTO((ppl_const_Constraints_Product_C_Polyhedron_Grid_t ps,
+           size_t* sz));
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_total_memory_in_bytes
+PPL_PROTO((ppl_const_Constraints_Product_C_Polyhedron_Grid_t ps,
+           size_t* sz));
+
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_widening_assign_with_tokens
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t x,
+           ppl_const_Constraints_Product_C_Polyhedron_Grid_t y,
+           unsigned* tp));
+
+
+
+
+/*! \relates ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+int
+ppl_Constraints_Product_C_Polyhedron_Grid_widening_assign
+PPL_PROTO((ppl_Constraints_Product_C_Polyhedron_Grid_t x,
+           ppl_const_Constraints_Product_C_Polyhedron_Grid_t y));
+
+
+
+
+
+PPL_DECLARE_IO_FUNCTIONS(Constraints_Product_C_Polyhedron_Grid)
+
+/* End of Functions Related to ppl_Constraints_Product_C_Polyhedron_Grid_tag */
+
+/*! \interface ppl_Pointset_Powerset_C_Polyhedron_tag
+  \brief Types and functions for ppl_Pointset_Powerset_C_Polyhedron_tag
+*/
+
+/*! \interface ppl_Pointset_Powerset_C_Polyhedron_iterator_tag
+  \brief Types and functions for iterating on the disjuncts of a
+  ppl_Pointset_Powerset_C_Polyhedron_tag.
+*/
+/*! \interface ppl_Pointset_Powerset_C_Polyhedron_const_iterator_tag
+  \brief Types and functions for iterating on the disjuncts of a
+  const ppl_Pointset_Powerset_C_Polyhedron_tag.
+*/
+
+PPL_TYPE_DECLARATION(Pointset_Powerset_C_Polyhedron_iterator)
+PPL_TYPE_DECLARATION(Pointset_Powerset_C_Polyhedron_const_iterator)
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_iterator_tag */
+int
+ppl_new_Pointset_Powerset_C_Polyhedron_iterator
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_iterator_t* pit));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_const_iterator_tag */
+int
+ppl_new_Pointset_Powerset_C_Polyhedron_const_iterator
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_const_iterator_t* pit));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_delete_Pointset_Powerset_C_Polyhedron
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_t ph));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t* pph, ppl_dimension_type d, int empty));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t* pph, ppl_const_Pointset_Powerset_C_Polyhedron_t ph));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t* pph, ppl_const_Polyhedron_t ph));
+
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron_with_complexity
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t* pph, ppl_const_Pointset_Powerset_C_Polyhedron_t ph, int complexity));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron_with_complexity
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t* pph, ppl_const_Polyhedron_t ph, int complexity));
+
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_new_Pointset_Powerset_C_Polyhedron_from_Constraint_System
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t* pph, ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_new_Pointset_Powerset_C_Polyhedron_from_Congruence_System
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t* pph, ppl_const_Congruence_System_t cs));
+
+
+
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_space_dimension
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_t ph, ppl_dimension_type* m));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_affine_dimension
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_t ph, ppl_dimension_type* m));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_relation_with_Constraint
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_relation_with_Generator
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_const_Generator_t c));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_relation_with_Congruence
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_is_empty
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_t ph));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_is_universe
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_t ph));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_is_bounded
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_t ph));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_contains_integer_point
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_t ph));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_is_topologically_closed
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_t ph));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_is_discrete
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_t ph));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_topological_closure_assign
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ph));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_pairwise_reduce
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ph));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_omega_reduce
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ph));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_bounds_from_above
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_const_Linear_Expression_t le));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_bounds_from_below
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_const_Linear_Expression_t le));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_maximize
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_minimize
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_maximize_with_point
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum,
+           ppl_Generator_t point));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_minimize_with_point
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum,
+           ppl_Generator_t point));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_contains_Pointset_Powerset_C_Polyhedron
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_C_Polyhedron_t y));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_strictly_contains_Pointset_Powerset_C_Polyhedron
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_C_Polyhedron_t y));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_is_disjoint_from_Pointset_Powerset_C_Polyhedron
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_C_Polyhedron_t y));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_geometrically_covers_Pointset_Powerset_C_Polyhedron
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_C_Polyhedron_t y));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_geometrically_equals_Pointset_Powerset_C_Polyhedron
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_C_Polyhedron_t y));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_equals_Pointset_Powerset_C_Polyhedron
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_C_Polyhedron_t y));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_OK
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_t ph));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_add_constraint
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_add_congruence
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_add_constraints
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_add_congruences
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_const_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_refine_with_constraint
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_refine_with_congruence
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_refine_with_constraints
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_refine_with_congruences
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_const_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_intersection_assign
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_C_Polyhedron_t y));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_C_Polyhedron_t y));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_difference_assign
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_C_Polyhedron_t y));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_concatenate_assign
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_C_Polyhedron_t y));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_time_elapse_assign
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_C_Polyhedron_t y));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign_if_exact
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_C_Polyhedron_t y));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_simplify_using_context_assign
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_C_Polyhedron_t y));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_constrains
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_dimension_type var));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_unconstrain_space_dimension
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_dimension_type var));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_unconstrain_space_dimensions
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_dimension_type ds[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_affine_image
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_affine_preimage
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_bounded_affine_image
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t lb,
+           ppl_const_Linear_Expression_t ub,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_bounded_affine_preimage
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t lb,
+           ppl_const_Linear_Expression_t ub,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_generalized_affine_image
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_dimension_type var,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_generalized_affine_preimage
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_dimension_type var,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_generalized_affine_image_lhs_rhs
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_const_Linear_Expression_t lhs,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t rhs));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_generalized_affine_preimage_lhs_rhs
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_const_Linear_Expression_t lhs,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t rhs));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_dimension_type d));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_project
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_dimension_type d));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_dimension_type ds[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_remove_higher_space_dimensions
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_dimension_type d));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_expand_space_dimension
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_dimension_type d,
+           ppl_dimension_type m));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_fold_space_dimensions
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           ppl_dimension_type d));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_dimension_type maps[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_drop_some_non_integer_points
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ph,
+           int complexity));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_drop_some_non_integer_points_2
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           int complexity));
+
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_external_memory_in_bytes
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_t ps,
+           size_t* sz));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_total_memory_in_bytes
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_t ps,
+           size_t* sz));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_size
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_t ps,
+           size_t* sz));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_iterator_tag */
+int
+ppl_new_Pointset_Powerset_C_Polyhedron_iterator_from_iterator
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_iterator_t* px,
+           ppl_const_Pointset_Powerset_C_Polyhedron_iterator_t y));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_const_iterator_tag */
+int
+ppl_new_Pointset_Powerset_C_Polyhedron_const_iterator_from_const_iterator
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_const_iterator_t* px,
+           ppl_const_Pointset_Powerset_C_Polyhedron_const_iterator_t y));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_iterator_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_iterator_begin
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ps,
+           ppl_Pointset_Powerset_C_Polyhedron_iterator_t psit));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_const_iterator_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_const_iterator_begin
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_t ps,
+           ppl_Pointset_Powerset_C_Polyhedron_const_iterator_t psit));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_iterator_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_iterator_end
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ps,
+           ppl_Pointset_Powerset_C_Polyhedron_iterator_t psit));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_const_iterator_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_const_iterator_end
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_t ps,
+           ppl_Pointset_Powerset_C_Polyhedron_const_iterator_t psit));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_iterator_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_iterator_t x,
+           ppl_const_Pointset_Powerset_C_Polyhedron_iterator_t y));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_const_iterator_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_const_iterator_equal_test
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_const_iterator_t x,
+           ppl_const_Pointset_Powerset_C_Polyhedron_const_iterator_t y));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_iterator_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_iterator_increment
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_iterator_t psit));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_const_iterator_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_const_iterator_increment
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_const_iterator_t psit));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_iterator_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_iterator_decrement
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_iterator_t psit));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_const_iterator_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_const_iterator_decrement
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_const_iterator_t psit));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_iterator_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_iterator_t ps,
+           ppl_const_Polyhedron_t* d));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_const_iterator_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_const_iterator_dereference
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_const_iterator_t ps,
+           ppl_const_Polyhedron_t* d));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_iterator_tag */
+int
+ppl_delete_Pointset_Powerset_C_Polyhedron_iterator
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_iterator_t psit));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_const_iterator_tag */
+int
+ppl_delete_Pointset_Powerset_C_Polyhedron_const_iterator
+PPL_PROTO((ppl_const_Pointset_Powerset_C_Polyhedron_const_iterator_t psit));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_add_disjunct
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ps,
+           ppl_const_Polyhedron_t d));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_drop_disjunct
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ps,
+ ppl_const_Pointset_Powerset_C_Polyhedron_iterator_t cit,
+ ppl_Pointset_Powerset_C_Polyhedron_iterator_t it));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_drop_disjuncts
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t ps,
+ ppl_const_Pointset_Powerset_C_Polyhedron_iterator_t first,
+ ppl_const_Pointset_Powerset_C_Polyhedron_iterator_t last));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_BHZ03_BHRZ03_BHRZ03_widening_assign
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_C_Polyhedron_t y));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_BHZ03_H79_H79_widening_assign
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_C_Polyhedron_t y));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_BGP99_BHRZ03_extrapolation_assign
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_C_Polyhedron_t y,
+           int disjuncts));
+
+/*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_C_Polyhedron_BGP99_H79_extrapolation_assign
+PPL_PROTO((ppl_Pointset_Powerset_C_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_C_Polyhedron_t y,
+           int disjuncts));
+
+
+
+
+
+
+PPL_DECLARE_IO_FUNCTIONS(Pointset_Powerset_C_Polyhedron)
+
+/* End of Functions Related to ppl_Pointset_Powerset_C_Polyhedron_tag */
+
+/*! \interface ppl_Pointset_Powerset_NNC_Polyhedron_tag
+  \brief Types and functions for ppl_Pointset_Powerset_NNC_Polyhedron_tag
+*/
+
+/*! \interface ppl_Pointset_Powerset_NNC_Polyhedron_iterator_tag
+  \brief Types and functions for iterating on the disjuncts of a
+  ppl_Pointset_Powerset_NNC_Polyhedron_tag.
+*/
+/*! \interface ppl_Pointset_Powerset_NNC_Polyhedron_const_iterator_tag
+  \brief Types and functions for iterating on the disjuncts of a
+  const ppl_Pointset_Powerset_NNC_Polyhedron_tag.
+*/
+
+PPL_TYPE_DECLARATION(Pointset_Powerset_NNC_Polyhedron_iterator)
+PPL_TYPE_DECLARATION(Pointset_Powerset_NNC_Polyhedron_const_iterator)
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_iterator_tag */
+int
+ppl_new_Pointset_Powerset_NNC_Polyhedron_iterator
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_iterator_t* pit));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_const_iterator_tag */
+int
+ppl_new_Pointset_Powerset_NNC_Polyhedron_const_iterator
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_const_iterator_t* pit));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_delete_Pointset_Powerset_NNC_Polyhedron
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_t ph));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_new_Pointset_Powerset_NNC_Polyhedron_from_space_dimension
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t* pph, ppl_dimension_type d, int empty));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_new_Pointset_Powerset_NNC_Polyhedron_from_Pointset_Powerset_NNC_Polyhedron
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t* pph, ppl_const_Pointset_Powerset_NNC_Polyhedron_t ph));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_new_Pointset_Powerset_NNC_Polyhedron_from_NNC_Polyhedron
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t* pph, ppl_const_Polyhedron_t ph));
+
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_new_Pointset_Powerset_NNC_Polyhedron_from_Pointset_Powerset_NNC_Polyhedron_with_complexity
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t* pph, ppl_const_Pointset_Powerset_NNC_Polyhedron_t ph, int complexity));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_new_Pointset_Powerset_NNC_Polyhedron_from_NNC_Polyhedron_with_complexity
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t* pph, ppl_const_Polyhedron_t ph, int complexity));
+
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_new_Pointset_Powerset_NNC_Polyhedron_from_Constraint_System
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t* pph, ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_new_Pointset_Powerset_NNC_Polyhedron_from_Congruence_System
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t* pph, ppl_const_Congruence_System_t cs));
+
+
+
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_space_dimension
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_t ph, ppl_dimension_type* m));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_affine_dimension
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_t ph, ppl_dimension_type* m));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_relation_with_Constraint
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_relation_with_Generator
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_const_Generator_t c));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_relation_with_Congruence
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_is_empty
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_t ph));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_is_universe
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_t ph));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_is_bounded
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_t ph));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_contains_integer_point
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_t ph));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_is_topologically_closed
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_t ph));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_is_discrete
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_t ph));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_topological_closure_assign
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ph));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_pairwise_reduce
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ph));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_omega_reduce
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ph));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_bounds_from_above
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_const_Linear_Expression_t le));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_bounds_from_below
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_const_Linear_Expression_t le));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_maximize
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_minimize
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_maximize_with_point
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum,
+           ppl_Generator_t point));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_minimize_with_point
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum,
+           ppl_Generator_t point));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_contains_Pointset_Powerset_NNC_Polyhedron
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_NNC_Polyhedron_t y));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_strictly_contains_Pointset_Powerset_NNC_Polyhedron
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_NNC_Polyhedron_t y));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_is_disjoint_from_Pointset_Powerset_NNC_Polyhedron
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_NNC_Polyhedron_t y));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_geometrically_covers_Pointset_Powerset_NNC_Polyhedron
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_NNC_Polyhedron_t y));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_geometrically_equals_Pointset_Powerset_NNC_Polyhedron
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_NNC_Polyhedron_t y));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_equals_Pointset_Powerset_NNC_Polyhedron
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_NNC_Polyhedron_t y));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_OK
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_t ph));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_add_constraint
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_add_congruence
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_add_constraints
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_add_congruences
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_const_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_refine_with_constraint
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_refine_with_congruence
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_refine_with_constraints
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_refine_with_congruences
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_const_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_intersection_assign
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_NNC_Polyhedron_t y));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_upper_bound_assign
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_NNC_Polyhedron_t y));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_difference_assign
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_NNC_Polyhedron_t y));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_concatenate_assign
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_NNC_Polyhedron_t y));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_time_elapse_assign
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_NNC_Polyhedron_t y));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_upper_bound_assign_if_exact
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_NNC_Polyhedron_t y));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_simplify_using_context_assign
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_NNC_Polyhedron_t y));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_constrains
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_dimension_type var));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_unconstrain_space_dimension
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_dimension_type var));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_unconstrain_space_dimensions
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_dimension_type ds[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_affine_image
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_affine_preimage
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_bounded_affine_image
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t lb,
+           ppl_const_Linear_Expression_t ub,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_bounded_affine_preimage
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t lb,
+           ppl_const_Linear_Expression_t ub,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_generalized_affine_image
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_dimension_type var,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_generalized_affine_preimage
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_dimension_type var,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_generalized_affine_image_lhs_rhs
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_const_Linear_Expression_t lhs,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t rhs));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_generalized_affine_preimage_lhs_rhs
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_const_Linear_Expression_t lhs,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t rhs));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_add_space_dimensions_and_embed
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_dimension_type d));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_add_space_dimensions_and_project
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_dimension_type d));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_remove_space_dimensions
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_dimension_type ds[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_remove_higher_space_dimensions
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_dimension_type d));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_expand_space_dimension
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_dimension_type d,
+           ppl_dimension_type m));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_fold_space_dimensions
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           ppl_dimension_type d));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_map_space_dimensions
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_dimension_type maps[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_drop_some_non_integer_points
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ph,
+           int complexity));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_drop_some_non_integer_points_2
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           int complexity));
+
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_external_memory_in_bytes
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_t ps,
+           size_t* sz));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_total_memory_in_bytes
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_t ps,
+           size_t* sz));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_size
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_t ps,
+           size_t* sz));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_iterator_tag */
+int
+ppl_new_Pointset_Powerset_NNC_Polyhedron_iterator_from_iterator
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_iterator_t* px,
+           ppl_const_Pointset_Powerset_NNC_Polyhedron_iterator_t y));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_const_iterator_tag */
+int
+ppl_new_Pointset_Powerset_NNC_Polyhedron_const_iterator_from_const_iterator
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_const_iterator_t* px,
+           ppl_const_Pointset_Powerset_NNC_Polyhedron_const_iterator_t y));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_iterator_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_iterator_begin
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ps,
+           ppl_Pointset_Powerset_NNC_Polyhedron_iterator_t psit));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_const_iterator_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_const_iterator_begin
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_t ps,
+           ppl_Pointset_Powerset_NNC_Polyhedron_const_iterator_t psit));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_iterator_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_iterator_end
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ps,
+           ppl_Pointset_Powerset_NNC_Polyhedron_iterator_t psit));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_const_iterator_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_const_iterator_end
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_t ps,
+           ppl_Pointset_Powerset_NNC_Polyhedron_const_iterator_t psit));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_iterator_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_iterator_equal_test
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_iterator_t x,
+           ppl_const_Pointset_Powerset_NNC_Polyhedron_iterator_t y));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_const_iterator_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_const_iterator_equal_test
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_const_iterator_t x,
+           ppl_const_Pointset_Powerset_NNC_Polyhedron_const_iterator_t y));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_iterator_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_iterator_increment
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_iterator_t psit));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_const_iterator_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_const_iterator_increment
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_const_iterator_t psit));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_iterator_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_iterator_decrement
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_iterator_t psit));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_const_iterator_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_const_iterator_decrement
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_const_iterator_t psit));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_iterator_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_iterator_dereference
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_iterator_t ps,
+           ppl_const_Polyhedron_t* d));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_const_iterator_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_const_iterator_dereference
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_const_iterator_t ps,
+           ppl_const_Polyhedron_t* d));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_iterator_tag */
+int
+ppl_delete_Pointset_Powerset_NNC_Polyhedron_iterator
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_iterator_t psit));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_const_iterator_tag */
+int
+ppl_delete_Pointset_Powerset_NNC_Polyhedron_const_iterator
+PPL_PROTO((ppl_const_Pointset_Powerset_NNC_Polyhedron_const_iterator_t psit));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_add_disjunct
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ps,
+           ppl_const_Polyhedron_t d));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_drop_disjunct
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ps,
+ ppl_const_Pointset_Powerset_NNC_Polyhedron_iterator_t cit,
+ ppl_Pointset_Powerset_NNC_Polyhedron_iterator_t it));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_drop_disjuncts
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t ps,
+ ppl_const_Pointset_Powerset_NNC_Polyhedron_iterator_t first,
+ ppl_const_Pointset_Powerset_NNC_Polyhedron_iterator_t last));
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_BHZ03_BHRZ03_BHRZ03_widening_assign
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_NNC_Polyhedron_t y));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_BHZ03_H79_H79_widening_assign
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_NNC_Polyhedron_t y));
+
+
+
+
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_BGP99_BHRZ03_extrapolation_assign
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_NNC_Polyhedron_t y,
+           int disjuncts));
+
+/*! \relates ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+int
+ppl_Pointset_Powerset_NNC_Polyhedron_BGP99_H79_extrapolation_assign
+PPL_PROTO((ppl_Pointset_Powerset_NNC_Polyhedron_t x,
+           ppl_const_Pointset_Powerset_NNC_Polyhedron_t y,
+           int disjuncts));
+
+
+
+
+
+
+PPL_DECLARE_IO_FUNCTIONS(Pointset_Powerset_NNC_Polyhedron)
+
+/* End of Functions Related to ppl_Pointset_Powerset_NNC_Polyhedron_tag */
+
+/*! \interface ppl_Double_Box_tag
+  \brief Types and functions for ppl_Double_Box_tag
+*/
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_delete_Double_Box
+PPL_PROTO((ppl_const_Double_Box_t ph));
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_new_Double_Box_from_space_dimension
+PPL_PROTO((ppl_Double_Box_t* pph, ppl_dimension_type d, int empty));
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_new_Double_Box_from_C_Polyhedron
+PPL_PROTO((ppl_Double_Box_t* pph, ppl_const_Polyhedron_t ph));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_new_Double_Box_from_NNC_Polyhedron
+PPL_PROTO((ppl_Double_Box_t* pph, ppl_const_Polyhedron_t ph));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_new_Double_Box_from_Grid
+PPL_PROTO((ppl_Double_Box_t* pph, ppl_const_Grid_t ph));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_new_Double_Box_from_Rational_Box
+PPL_PROTO((ppl_Double_Box_t* pph, ppl_const_Rational_Box_t ph));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_new_Double_Box_from_BD_Shape_int8_t
+PPL_PROTO((ppl_Double_Box_t* pph, ppl_const_BD_Shape_int8_t_t ph));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_new_Double_Box_from_BD_Shape_mpz_class
+PPL_PROTO((ppl_Double_Box_t* pph, ppl_const_BD_Shape_mpz_class_t ph));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_new_Double_Box_from_BD_Shape_mpq_class
+PPL_PROTO((ppl_Double_Box_t* pph, ppl_const_BD_Shape_mpq_class_t ph));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_new_Double_Box_from_Octagonal_Shape_mpz_class
+PPL_PROTO((ppl_Double_Box_t* pph, ppl_const_Octagonal_Shape_mpz_class_t ph));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_new_Double_Box_from_Octagonal_Shape_mpq_class
+PPL_PROTO((ppl_Double_Box_t* pph, ppl_const_Octagonal_Shape_mpq_class_t ph));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_new_Double_Box_from_Double_Box
+PPL_PROTO((ppl_Double_Box_t* pph, ppl_const_Double_Box_t ph));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_new_Double_Box_from_BD_Shape_double
+PPL_PROTO((ppl_Double_Box_t* pph, ppl_const_BD_Shape_double_t ph));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_new_Double_Box_from_Octagonal_Shape_double
+PPL_PROTO((ppl_Double_Box_t* pph, ppl_const_Octagonal_Shape_double_t ph));
+
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_new_Double_Box_from_C_Polyhedron_with_complexity
+PPL_PROTO((ppl_Double_Box_t* pph, ppl_const_Polyhedron_t ph, int complexity));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_new_Double_Box_from_NNC_Polyhedron_with_complexity
+PPL_PROTO((ppl_Double_Box_t* pph, ppl_const_Polyhedron_t ph, int complexity));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_new_Double_Box_from_Grid_with_complexity
+PPL_PROTO((ppl_Double_Box_t* pph, ppl_const_Grid_t ph, int complexity));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_new_Double_Box_from_Rational_Box_with_complexity
+PPL_PROTO((ppl_Double_Box_t* pph, ppl_const_Rational_Box_t ph, int complexity));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_new_Double_Box_from_BD_Shape_int8_t_with_complexity
+PPL_PROTO((ppl_Double_Box_t* pph, ppl_const_BD_Shape_int8_t_t ph, int complexity));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_new_Double_Box_from_BD_Shape_mpz_class_with_complexity
+PPL_PROTO((ppl_Double_Box_t* pph, ppl_const_BD_Shape_mpz_class_t ph, int complexity));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_new_Double_Box_from_BD_Shape_mpq_class_with_complexity
+PPL_PROTO((ppl_Double_Box_t* pph, ppl_const_BD_Shape_mpq_class_t ph, int complexity));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_new_Double_Box_from_Octagonal_Shape_mpz_class_with_complexity
+PPL_PROTO((ppl_Double_Box_t* pph, ppl_const_Octagonal_Shape_mpz_class_t ph, int complexity));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_new_Double_Box_from_Octagonal_Shape_mpq_class_with_complexity
+PPL_PROTO((ppl_Double_Box_t* pph, ppl_const_Octagonal_Shape_mpq_class_t ph, int complexity));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_new_Double_Box_from_Double_Box_with_complexity
+PPL_PROTO((ppl_Double_Box_t* pph, ppl_const_Double_Box_t ph, int complexity));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_new_Double_Box_from_BD_Shape_double_with_complexity
+PPL_PROTO((ppl_Double_Box_t* pph, ppl_const_BD_Shape_double_t ph, int complexity));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_new_Double_Box_from_Octagonal_Shape_double_with_complexity
+PPL_PROTO((ppl_Double_Box_t* pph, ppl_const_Octagonal_Shape_double_t ph, int complexity));
+
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_new_Double_Box_from_Constraint_System
+PPL_PROTO((ppl_Double_Box_t* pph, ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_new_Double_Box_from_Congruence_System
+PPL_PROTO((ppl_Double_Box_t* pph, ppl_const_Congruence_System_t cs));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_new_Double_Box_from_Generator_System
+PPL_PROTO((ppl_Double_Box_t* pph, ppl_const_Generator_System_t cs));
+
+
+
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_space_dimension
+PPL_PROTO((ppl_const_Double_Box_t ph, ppl_dimension_type* m));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_affine_dimension
+PPL_PROTO((ppl_const_Double_Box_t ph, ppl_dimension_type* m));
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_relation_with_Constraint
+PPL_PROTO((ppl_const_Double_Box_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_relation_with_Generator
+PPL_PROTO((ppl_const_Double_Box_t ph,
+           ppl_const_Generator_t c));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_relation_with_Congruence
+PPL_PROTO((ppl_const_Double_Box_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_get_constraints
+PPL_PROTO((ppl_const_Double_Box_t ph,
+           ppl_const_Constraint_System_t* pcs));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_get_congruences
+PPL_PROTO((ppl_const_Double_Box_t ph,
+           ppl_const_Congruence_System_t* pcs));
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_get_minimized_constraints
+PPL_PROTO((ppl_const_Double_Box_t ph,
+           ppl_const_Constraint_System_t* pcs));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_get_minimized_congruences
+PPL_PROTO((ppl_const_Double_Box_t ph,
+           ppl_const_Congruence_System_t* pcs));
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_is_empty
+PPL_PROTO((ppl_const_Double_Box_t ph));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_is_universe
+PPL_PROTO((ppl_const_Double_Box_t ph));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_is_bounded
+PPL_PROTO((ppl_const_Double_Box_t ph));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_contains_integer_point
+PPL_PROTO((ppl_const_Double_Box_t ph));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_is_topologically_closed
+PPL_PROTO((ppl_const_Double_Box_t ph));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_is_discrete
+PPL_PROTO((ppl_const_Double_Box_t ph));
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_topological_closure_assign
+PPL_PROTO((ppl_Double_Box_t ph));
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_bounds_from_above
+PPL_PROTO((ppl_const_Double_Box_t ph,
+           ppl_const_Linear_Expression_t le));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_bounds_from_below
+PPL_PROTO((ppl_const_Double_Box_t ph,
+           ppl_const_Linear_Expression_t le));
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_maximize
+PPL_PROTO((ppl_const_Double_Box_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_minimize
+PPL_PROTO((ppl_const_Double_Box_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum));
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_maximize_with_point
+PPL_PROTO((ppl_const_Double_Box_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum,
+           ppl_Generator_t point));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_minimize_with_point
+PPL_PROTO((ppl_const_Double_Box_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum,
+           ppl_Generator_t point));
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_frequency
+PPL_PROTO((ppl_const_Double_Box_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_fn,
+           ppl_Coefficient_t ext_fd,
+           ppl_Coefficient_t ext_vn,
+           ppl_Coefficient_t ext_vd));
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_contains_Double_Box
+PPL_PROTO((ppl_const_Double_Box_t x,
+           ppl_const_Double_Box_t y));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_strictly_contains_Double_Box
+PPL_PROTO((ppl_const_Double_Box_t x,
+           ppl_const_Double_Box_t y));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_is_disjoint_from_Double_Box
+PPL_PROTO((ppl_const_Double_Box_t x,
+           ppl_const_Double_Box_t y));
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_equals_Double_Box
+PPL_PROTO((ppl_const_Double_Box_t x,
+           ppl_const_Double_Box_t y));
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_OK
+PPL_PROTO((ppl_const_Double_Box_t ph));
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_add_constraint
+PPL_PROTO((ppl_Double_Box_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_add_congruence
+PPL_PROTO((ppl_Double_Box_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_add_constraints
+PPL_PROTO((ppl_Double_Box_t ph,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_add_congruences
+PPL_PROTO((ppl_Double_Box_t ph,
+           ppl_const_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_refine_with_constraint
+PPL_PROTO((ppl_Double_Box_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_refine_with_congruence
+PPL_PROTO((ppl_Double_Box_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_refine_with_constraints
+PPL_PROTO((ppl_Double_Box_t ph,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_refine_with_congruences
+PPL_PROTO((ppl_Double_Box_t ph,
+           ppl_const_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_intersection_assign
+PPL_PROTO((ppl_Double_Box_t x,
+           ppl_const_Double_Box_t y));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_upper_bound_assign
+PPL_PROTO((ppl_Double_Box_t x,
+           ppl_const_Double_Box_t y));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_difference_assign
+PPL_PROTO((ppl_Double_Box_t x,
+           ppl_const_Double_Box_t y));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_concatenate_assign
+PPL_PROTO((ppl_Double_Box_t x,
+           ppl_const_Double_Box_t y));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_time_elapse_assign
+PPL_PROTO((ppl_Double_Box_t x,
+           ppl_const_Double_Box_t y));
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_upper_bound_assign_if_exact
+PPL_PROTO((ppl_Double_Box_t x,
+           ppl_const_Double_Box_t y));
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_simplify_using_context_assign
+PPL_PROTO((ppl_Double_Box_t x,
+           ppl_const_Double_Box_t y));
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_constrains
+PPL_PROTO((ppl_Double_Box_t ph,
+           ppl_dimension_type var));
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_unconstrain_space_dimension
+PPL_PROTO((ppl_Double_Box_t ph,
+           ppl_dimension_type var));
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_unconstrain_space_dimensions
+PPL_PROTO((ppl_Double_Box_t ph,
+           ppl_dimension_type ds[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_affine_image
+PPL_PROTO((ppl_Double_Box_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_affine_preimage
+PPL_PROTO((ppl_Double_Box_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_bounded_affine_image
+PPL_PROTO((ppl_Double_Box_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t lb,
+           ppl_const_Linear_Expression_t ub,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_bounded_affine_preimage
+PPL_PROTO((ppl_Double_Box_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t lb,
+           ppl_const_Linear_Expression_t ub,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_generalized_affine_image
+PPL_PROTO((ppl_Double_Box_t ph,
+           ppl_dimension_type var,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_generalized_affine_preimage
+PPL_PROTO((ppl_Double_Box_t ph,
+           ppl_dimension_type var,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_generalized_affine_image_lhs_rhs
+PPL_PROTO((ppl_Double_Box_t ph,
+           ppl_const_Linear_Expression_t lhs,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t rhs));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_generalized_affine_preimage_lhs_rhs
+PPL_PROTO((ppl_Double_Box_t ph,
+           ppl_const_Linear_Expression_t lhs,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t rhs));
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_add_space_dimensions_and_embed
+PPL_PROTO((ppl_Double_Box_t ph,
+           ppl_dimension_type d));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_add_space_dimensions_and_project
+PPL_PROTO((ppl_Double_Box_t ph,
+           ppl_dimension_type d));
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_remove_space_dimensions
+PPL_PROTO((ppl_Double_Box_t ph,
+           ppl_dimension_type ds[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_remove_higher_space_dimensions
+PPL_PROTO((ppl_Double_Box_t ph,
+           ppl_dimension_type d));
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_expand_space_dimension
+PPL_PROTO((ppl_Double_Box_t ph,
+           ppl_dimension_type d,
+           ppl_dimension_type m));
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_fold_space_dimensions
+PPL_PROTO((ppl_Double_Box_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           ppl_dimension_type d));
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_map_space_dimensions
+PPL_PROTO((ppl_Double_Box_t ph,
+           ppl_dimension_type maps[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_drop_some_non_integer_points
+PPL_PROTO((ppl_Double_Box_t ph,
+           int complexity));
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_drop_some_non_integer_points_2
+PPL_PROTO((ppl_Double_Box_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           int complexity));
+
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_external_memory_in_bytes
+PPL_PROTO((ppl_const_Double_Box_t ps,
+           size_t* sz));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_total_memory_in_bytes
+PPL_PROTO((ppl_const_Double_Box_t ps,
+           size_t* sz));
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_CC76_widening_assign_with_tokens
+PPL_PROTO((ppl_Double_Box_t x,
+           ppl_const_Double_Box_t y,
+           unsigned* tp));
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_CC76_widening_assign
+PPL_PROTO((ppl_Double_Box_t x,
+           ppl_const_Double_Box_t y));
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_widening_assign_with_tokens
+PPL_PROTO((ppl_Double_Box_t x,
+           ppl_const_Double_Box_t y,
+           unsigned* tp));
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_widening_assign
+PPL_PROTO((ppl_Double_Box_t x,
+           ppl_const_Double_Box_t y));
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_limited_CC76_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_Double_Box_t x,
+           ppl_const_Double_Box_t y,
+           ppl_const_Constraint_System_t cs,
+           unsigned* tp));
+
+
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_limited_CC76_extrapolation_assign
+PPL_PROTO((ppl_Double_Box_t x,
+           ppl_const_Double_Box_t y,
+           ppl_const_Constraint_System_t cs));
+
+
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_linear_partition
+PPL_PROTO((ppl_const_Double_Box_t x,
+           ppl_const_Double_Box_t y,
+           ppl_Double_Box_t* p_inters,
+           ppl_Pointset_Powerset_NNC_Polyhedron_t* p_rest));
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_wrap_assign
+PPL_PROTO((ppl_Double_Box_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           enum ppl_enum_Bounded_Integer_Type_Width w,
+           enum ppl_enum_Bounded_Integer_Type_Representation r,
+           enum ppl_enum_Bounded_Integer_Type_Overflow o,
+           const ppl_const_Constraint_System_t* pcs,
+           unsigned complexity_threshold,
+           int wrap_individually));
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_new_Double_Box_recycle_Constraint_System
+PPL_PROTO((ppl_Double_Box_t* pph, ppl_Constraint_System_t cs));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_new_Double_Box_recycle_Congruence_System
+PPL_PROTO((ppl_Double_Box_t* pph, ppl_Congruence_System_t cs));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_new_Double_Box_recycle_Generator_System
+PPL_PROTO((ppl_Double_Box_t* pph, ppl_Generator_System_t cs));
+
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_assign_Double_Box_from_Double_Box
+PPL_PROTO((ppl_Double_Box_t dst, ppl_const_Double_Box_t src));
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_add_recycled_constraints
+PPL_PROTO((ppl_Double_Box_t ph,
+           ppl_Constraint_System_t cs));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_add_recycled_congruences
+PPL_PROTO((ppl_Double_Box_t ph,
+           ppl_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_termination_test_MS_Double_Box
+PPL_PROTO((ppl_const_Double_Box_t pset));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_termination_test_PR_Double_Box
+PPL_PROTO((ppl_const_Double_Box_t pset));
+
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_one_affine_ranking_function_MS_Double_Box
+PPL_PROTO((ppl_const_Double_Box_t pset,
+           ppl_Generator_t point));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_one_affine_ranking_function_PR_Double_Box
+PPL_PROTO((ppl_const_Double_Box_t pset,
+           ppl_Generator_t point));
+
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_all_affine_ranking_functions_MS_Double_Box
+PPL_PROTO((ppl_const_Double_Box_t pset,
+           ppl_Polyhedron_t ph));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_all_affine_ranking_functions_PR_Double_Box
+PPL_PROTO((ppl_const_Double_Box_t pset,
+           ppl_Polyhedron_t ph));
+
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_termination_test_MS_Double_Box_2
+PPL_PROTO((ppl_const_Double_Box_t pset_before, ppl_const_Double_Box_t pset_after));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_termination_test_PR_Double_Box_2
+PPL_PROTO((ppl_const_Double_Box_t pset_before, ppl_const_Double_Box_t pset_after));
+
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_one_affine_ranking_function_MS_Double_Box_2
+PPL_PROTO((ppl_const_Double_Box_t pset_before,
+           ppl_const_Double_Box_t pset_after,
+           ppl_Generator_t point));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_one_affine_ranking_function_PR_Double_Box_2
+PPL_PROTO((ppl_const_Double_Box_t pset_before,
+           ppl_const_Double_Box_t pset_after,
+           ppl_Generator_t point));
+
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_all_affine_ranking_functions_MS_Double_Box_2
+PPL_PROTO((ppl_const_Double_Box_t pset_before,
+           ppl_const_Double_Box_t pset_after,
+           ppl_Polyhedron_t ph));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_all_affine_ranking_functions_PR_Double_Box_2
+PPL_PROTO((ppl_const_Double_Box_t pset_before,
+           ppl_const_Double_Box_t pset_after,
+           ppl_Polyhedron_t ph));
+
+
+
+
+
+
+
+PPL_DECLARE_IO_FUNCTIONS(Double_Box)
+
+/* End of Functions Related to ppl_Double_Box_tag */
+
+/*! \interface ppl_BD_Shape_double_tag
+  \brief Types and functions for ppl_BD_Shape_double_tag
+*/
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_delete_BD_Shape_double
+PPL_PROTO((ppl_const_BD_Shape_double_t ph));
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_new_BD_Shape_double_from_space_dimension
+PPL_PROTO((ppl_BD_Shape_double_t* pph, ppl_dimension_type d, int empty));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_new_BD_Shape_double_from_C_Polyhedron
+PPL_PROTO((ppl_BD_Shape_double_t* pph, ppl_const_Polyhedron_t ph));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_new_BD_Shape_double_from_NNC_Polyhedron
+PPL_PROTO((ppl_BD_Shape_double_t* pph, ppl_const_Polyhedron_t ph));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_new_BD_Shape_double_from_Grid
+PPL_PROTO((ppl_BD_Shape_double_t* pph, ppl_const_Grid_t ph));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_new_BD_Shape_double_from_Rational_Box
+PPL_PROTO((ppl_BD_Shape_double_t* pph, ppl_const_Rational_Box_t ph));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_new_BD_Shape_double_from_BD_Shape_int8_t
+PPL_PROTO((ppl_BD_Shape_double_t* pph, ppl_const_BD_Shape_int8_t_t ph));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_new_BD_Shape_double_from_BD_Shape_mpz_class
+PPL_PROTO((ppl_BD_Shape_double_t* pph, ppl_const_BD_Shape_mpz_class_t ph));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_new_BD_Shape_double_from_BD_Shape_mpq_class
+PPL_PROTO((ppl_BD_Shape_double_t* pph, ppl_const_BD_Shape_mpq_class_t ph));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_new_BD_Shape_double_from_Octagonal_Shape_mpz_class
+PPL_PROTO((ppl_BD_Shape_double_t* pph, ppl_const_Octagonal_Shape_mpz_class_t ph));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_new_BD_Shape_double_from_Octagonal_Shape_mpq_class
+PPL_PROTO((ppl_BD_Shape_double_t* pph, ppl_const_Octagonal_Shape_mpq_class_t ph));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_new_BD_Shape_double_from_Double_Box
+PPL_PROTO((ppl_BD_Shape_double_t* pph, ppl_const_Double_Box_t ph));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_new_BD_Shape_double_from_BD_Shape_double
+PPL_PROTO((ppl_BD_Shape_double_t* pph, ppl_const_BD_Shape_double_t ph));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_new_BD_Shape_double_from_Octagonal_Shape_double
+PPL_PROTO((ppl_BD_Shape_double_t* pph, ppl_const_Octagonal_Shape_double_t ph));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_new_BD_Shape_double_from_C_Polyhedron_with_complexity
+PPL_PROTO((ppl_BD_Shape_double_t* pph, ppl_const_Polyhedron_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_new_BD_Shape_double_from_NNC_Polyhedron_with_complexity
+PPL_PROTO((ppl_BD_Shape_double_t* pph, ppl_const_Polyhedron_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_new_BD_Shape_double_from_Grid_with_complexity
+PPL_PROTO((ppl_BD_Shape_double_t* pph, ppl_const_Grid_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_new_BD_Shape_double_from_Rational_Box_with_complexity
+PPL_PROTO((ppl_BD_Shape_double_t* pph, ppl_const_Rational_Box_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_new_BD_Shape_double_from_BD_Shape_int8_t_with_complexity
+PPL_PROTO((ppl_BD_Shape_double_t* pph, ppl_const_BD_Shape_int8_t_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_new_BD_Shape_double_from_BD_Shape_mpz_class_with_complexity
+PPL_PROTO((ppl_BD_Shape_double_t* pph, ppl_const_BD_Shape_mpz_class_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_new_BD_Shape_double_from_BD_Shape_mpq_class_with_complexity
+PPL_PROTO((ppl_BD_Shape_double_t* pph, ppl_const_BD_Shape_mpq_class_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_new_BD_Shape_double_from_Octagonal_Shape_mpz_class_with_complexity
+PPL_PROTO((ppl_BD_Shape_double_t* pph, ppl_const_Octagonal_Shape_mpz_class_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_new_BD_Shape_double_from_Octagonal_Shape_mpq_class_with_complexity
+PPL_PROTO((ppl_BD_Shape_double_t* pph, ppl_const_Octagonal_Shape_mpq_class_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_new_BD_Shape_double_from_Double_Box_with_complexity
+PPL_PROTO((ppl_BD_Shape_double_t* pph, ppl_const_Double_Box_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_new_BD_Shape_double_from_BD_Shape_double_with_complexity
+PPL_PROTO((ppl_BD_Shape_double_t* pph, ppl_const_BD_Shape_double_t ph, int complexity));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_new_BD_Shape_double_from_Octagonal_Shape_double_with_complexity
+PPL_PROTO((ppl_BD_Shape_double_t* pph, ppl_const_Octagonal_Shape_double_t ph, int complexity));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_new_BD_Shape_double_from_Constraint_System
+PPL_PROTO((ppl_BD_Shape_double_t* pph, ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_new_BD_Shape_double_from_Congruence_System
+PPL_PROTO((ppl_BD_Shape_double_t* pph, ppl_const_Congruence_System_t cs));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_new_BD_Shape_double_from_Generator_System
+PPL_PROTO((ppl_BD_Shape_double_t* pph, ppl_const_Generator_System_t cs));
+
+
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_space_dimension
+PPL_PROTO((ppl_const_BD_Shape_double_t ph, ppl_dimension_type* m));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_affine_dimension
+PPL_PROTO((ppl_const_BD_Shape_double_t ph, ppl_dimension_type* m));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_relation_with_Constraint
+PPL_PROTO((ppl_const_BD_Shape_double_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_relation_with_Generator
+PPL_PROTO((ppl_const_BD_Shape_double_t ph,
+           ppl_const_Generator_t c));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_relation_with_Congruence
+PPL_PROTO((ppl_const_BD_Shape_double_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_get_constraints
+PPL_PROTO((ppl_const_BD_Shape_double_t ph,
+           ppl_const_Constraint_System_t* pcs));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_get_congruences
+PPL_PROTO((ppl_const_BD_Shape_double_t ph,
+           ppl_const_Congruence_System_t* pcs));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_get_minimized_constraints
+PPL_PROTO((ppl_const_BD_Shape_double_t ph,
+           ppl_const_Constraint_System_t* pcs));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_get_minimized_congruences
+PPL_PROTO((ppl_const_BD_Shape_double_t ph,
+           ppl_const_Congruence_System_t* pcs));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_is_empty
+PPL_PROTO((ppl_const_BD_Shape_double_t ph));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_is_universe
+PPL_PROTO((ppl_const_BD_Shape_double_t ph));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_is_bounded
+PPL_PROTO((ppl_const_BD_Shape_double_t ph));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_contains_integer_point
+PPL_PROTO((ppl_const_BD_Shape_double_t ph));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_is_topologically_closed
+PPL_PROTO((ppl_const_BD_Shape_double_t ph));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_is_discrete
+PPL_PROTO((ppl_const_BD_Shape_double_t ph));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_topological_closure_assign
+PPL_PROTO((ppl_BD_Shape_double_t ph));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_bounds_from_above
+PPL_PROTO((ppl_const_BD_Shape_double_t ph,
+           ppl_const_Linear_Expression_t le));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_bounds_from_below
+PPL_PROTO((ppl_const_BD_Shape_double_t ph,
+           ppl_const_Linear_Expression_t le));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_maximize
+PPL_PROTO((ppl_const_BD_Shape_double_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_minimize
+PPL_PROTO((ppl_const_BD_Shape_double_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_maximize_with_point
+PPL_PROTO((ppl_const_BD_Shape_double_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum,
+           ppl_Generator_t point));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_minimize_with_point
+PPL_PROTO((ppl_const_BD_Shape_double_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum,
+           ppl_Generator_t point));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_frequency
+PPL_PROTO((ppl_const_BD_Shape_double_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_fn,
+           ppl_Coefficient_t ext_fd,
+           ppl_Coefficient_t ext_vn,
+           ppl_Coefficient_t ext_vd));
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_contains_BD_Shape_double
+PPL_PROTO((ppl_const_BD_Shape_double_t x,
+           ppl_const_BD_Shape_double_t y));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_strictly_contains_BD_Shape_double
+PPL_PROTO((ppl_const_BD_Shape_double_t x,
+           ppl_const_BD_Shape_double_t y));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_is_disjoint_from_BD_Shape_double
+PPL_PROTO((ppl_const_BD_Shape_double_t x,
+           ppl_const_BD_Shape_double_t y));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_equals_BD_Shape_double
+PPL_PROTO((ppl_const_BD_Shape_double_t x,
+           ppl_const_BD_Shape_double_t y));
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_OK
+PPL_PROTO((ppl_const_BD_Shape_double_t ph));
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_add_constraint
+PPL_PROTO((ppl_BD_Shape_double_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_add_congruence
+PPL_PROTO((ppl_BD_Shape_double_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_add_constraints
+PPL_PROTO((ppl_BD_Shape_double_t ph,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_add_congruences
+PPL_PROTO((ppl_BD_Shape_double_t ph,
+           ppl_const_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_refine_with_constraint
+PPL_PROTO((ppl_BD_Shape_double_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_refine_with_congruence
+PPL_PROTO((ppl_BD_Shape_double_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_refine_with_constraints
+PPL_PROTO((ppl_BD_Shape_double_t ph,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_refine_with_congruences
+PPL_PROTO((ppl_BD_Shape_double_t ph,
+           ppl_const_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_intersection_assign
+PPL_PROTO((ppl_BD_Shape_double_t x,
+           ppl_const_BD_Shape_double_t y));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_upper_bound_assign
+PPL_PROTO((ppl_BD_Shape_double_t x,
+           ppl_const_BD_Shape_double_t y));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_difference_assign
+PPL_PROTO((ppl_BD_Shape_double_t x,
+           ppl_const_BD_Shape_double_t y));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_concatenate_assign
+PPL_PROTO((ppl_BD_Shape_double_t x,
+           ppl_const_BD_Shape_double_t y));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_time_elapse_assign
+PPL_PROTO((ppl_BD_Shape_double_t x,
+           ppl_const_BD_Shape_double_t y));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_upper_bound_assign_if_exact
+PPL_PROTO((ppl_BD_Shape_double_t x,
+           ppl_const_BD_Shape_double_t y));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_simplify_using_context_assign
+PPL_PROTO((ppl_BD_Shape_double_t x,
+           ppl_const_BD_Shape_double_t y));
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_constrains
+PPL_PROTO((ppl_BD_Shape_double_t ph,
+           ppl_dimension_type var));
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_unconstrain_space_dimension
+PPL_PROTO((ppl_BD_Shape_double_t ph,
+           ppl_dimension_type var));
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_unconstrain_space_dimensions
+PPL_PROTO((ppl_BD_Shape_double_t ph,
+           ppl_dimension_type ds[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_affine_image
+PPL_PROTO((ppl_BD_Shape_double_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_affine_preimage
+PPL_PROTO((ppl_BD_Shape_double_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_bounded_affine_image
+PPL_PROTO((ppl_BD_Shape_double_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t lb,
+           ppl_const_Linear_Expression_t ub,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_bounded_affine_preimage
+PPL_PROTO((ppl_BD_Shape_double_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t lb,
+           ppl_const_Linear_Expression_t ub,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_generalized_affine_image
+PPL_PROTO((ppl_BD_Shape_double_t ph,
+           ppl_dimension_type var,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_generalized_affine_preimage
+PPL_PROTO((ppl_BD_Shape_double_t ph,
+           ppl_dimension_type var,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_generalized_affine_image_lhs_rhs
+PPL_PROTO((ppl_BD_Shape_double_t ph,
+           ppl_const_Linear_Expression_t lhs,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t rhs));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_generalized_affine_preimage_lhs_rhs
+PPL_PROTO((ppl_BD_Shape_double_t ph,
+           ppl_const_Linear_Expression_t lhs,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t rhs));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_add_space_dimensions_and_embed
+PPL_PROTO((ppl_BD_Shape_double_t ph,
+           ppl_dimension_type d));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_add_space_dimensions_and_project
+PPL_PROTO((ppl_BD_Shape_double_t ph,
+           ppl_dimension_type d));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_remove_space_dimensions
+PPL_PROTO((ppl_BD_Shape_double_t ph,
+           ppl_dimension_type ds[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_remove_higher_space_dimensions
+PPL_PROTO((ppl_BD_Shape_double_t ph,
+           ppl_dimension_type d));
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_expand_space_dimension
+PPL_PROTO((ppl_BD_Shape_double_t ph,
+           ppl_dimension_type d,
+           ppl_dimension_type m));
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_fold_space_dimensions
+PPL_PROTO((ppl_BD_Shape_double_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           ppl_dimension_type d));
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_map_space_dimensions
+PPL_PROTO((ppl_BD_Shape_double_t ph,
+           ppl_dimension_type maps[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_drop_some_non_integer_points
+PPL_PROTO((ppl_BD_Shape_double_t ph,
+           int complexity));
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_drop_some_non_integer_points_2
+PPL_PROTO((ppl_BD_Shape_double_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           int complexity));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_external_memory_in_bytes
+PPL_PROTO((ppl_const_BD_Shape_double_t ps,
+           size_t* sz));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_total_memory_in_bytes
+PPL_PROTO((ppl_const_BD_Shape_double_t ps,
+           size_t* sz));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_BHMZ05_widening_assign_with_tokens
+PPL_PROTO((ppl_BD_Shape_double_t x,
+           ppl_const_BD_Shape_double_t y,
+           unsigned* tp));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_H79_widening_assign_with_tokens
+PPL_PROTO((ppl_BD_Shape_double_t x,
+           ppl_const_BD_Shape_double_t y,
+           unsigned* tp));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_BHMZ05_widening_assign
+PPL_PROTO((ppl_BD_Shape_double_t x,
+           ppl_const_BD_Shape_double_t y));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_H79_widening_assign
+PPL_PROTO((ppl_BD_Shape_double_t x,
+           ppl_const_BD_Shape_double_t y));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_widening_assign_with_tokens
+PPL_PROTO((ppl_BD_Shape_double_t x,
+           ppl_const_BD_Shape_double_t y,
+           unsigned* tp));
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_widening_assign
+PPL_PROTO((ppl_BD_Shape_double_t x,
+           ppl_const_BD_Shape_double_t y));
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_limited_BHMZ05_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_BD_Shape_double_t x,
+           ppl_const_BD_Shape_double_t y,
+           ppl_const_Constraint_System_t cs,
+           unsigned* tp));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_limited_H79_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_BD_Shape_double_t x,
+           ppl_const_BD_Shape_double_t y,
+           ppl_const_Constraint_System_t cs,
+           unsigned* tp));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_limited_CC76_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_BD_Shape_double_t x,
+           ppl_const_BD_Shape_double_t y,
+           ppl_const_Constraint_System_t cs,
+           unsigned* tp));
+
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_limited_BHMZ05_extrapolation_assign
+PPL_PROTO((ppl_BD_Shape_double_t x,
+           ppl_const_BD_Shape_double_t y,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_limited_H79_extrapolation_assign
+PPL_PROTO((ppl_BD_Shape_double_t x,
+           ppl_const_BD_Shape_double_t y,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_limited_CC76_extrapolation_assign
+PPL_PROTO((ppl_BD_Shape_double_t x,
+           ppl_const_BD_Shape_double_t y,
+           ppl_const_Constraint_System_t cs));
+
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_CC76_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_BD_Shape_double_t x,
+           ppl_const_BD_Shape_double_t y,
+           unsigned* tp));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_CC76_extrapolation_assign
+PPL_PROTO((ppl_BD_Shape_double_t x,
+           ppl_const_BD_Shape_double_t y));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_CC76_narrowing_assign
+PPL_PROTO((ppl_BD_Shape_double_t x,
+           ppl_const_BD_Shape_double_t y));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_linear_partition
+PPL_PROTO((ppl_const_BD_Shape_double_t x,
+           ppl_const_BD_Shape_double_t y,
+           ppl_BD_Shape_double_t* p_inters,
+           ppl_Pointset_Powerset_NNC_Polyhedron_t* p_rest));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_wrap_assign
+PPL_PROTO((ppl_BD_Shape_double_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           enum ppl_enum_Bounded_Integer_Type_Width w,
+           enum ppl_enum_Bounded_Integer_Type_Representation r,
+           enum ppl_enum_Bounded_Integer_Type_Overflow o,
+           const ppl_const_Constraint_System_t* pcs,
+           unsigned complexity_threshold,
+           int wrap_individually));
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_new_BD_Shape_double_recycle_Constraint_System
+PPL_PROTO((ppl_BD_Shape_double_t* pph, ppl_Constraint_System_t cs));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_new_BD_Shape_double_recycle_Congruence_System
+PPL_PROTO((ppl_BD_Shape_double_t* pph, ppl_Congruence_System_t cs));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_new_BD_Shape_double_recycle_Generator_System
+PPL_PROTO((ppl_BD_Shape_double_t* pph, ppl_Generator_System_t cs));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_assign_BD_Shape_double_from_BD_Shape_double
+PPL_PROTO((ppl_BD_Shape_double_t dst, ppl_const_BD_Shape_double_t src));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_add_recycled_constraints
+PPL_PROTO((ppl_BD_Shape_double_t ph,
+           ppl_Constraint_System_t cs));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_BD_Shape_double_add_recycled_congruences
+PPL_PROTO((ppl_BD_Shape_double_t ph,
+           ppl_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_termination_test_MS_BD_Shape_double
+PPL_PROTO((ppl_const_BD_Shape_double_t pset));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_termination_test_PR_BD_Shape_double
+PPL_PROTO((ppl_const_BD_Shape_double_t pset));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_one_affine_ranking_function_MS_BD_Shape_double
+PPL_PROTO((ppl_const_BD_Shape_double_t pset,
+           ppl_Generator_t point));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_one_affine_ranking_function_PR_BD_Shape_double
+PPL_PROTO((ppl_const_BD_Shape_double_t pset,
+           ppl_Generator_t point));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_all_affine_ranking_functions_MS_BD_Shape_double
+PPL_PROTO((ppl_const_BD_Shape_double_t pset,
+           ppl_Polyhedron_t ph));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_all_affine_ranking_functions_PR_BD_Shape_double
+PPL_PROTO((ppl_const_BD_Shape_double_t pset,
+           ppl_Polyhedron_t ph));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_termination_test_MS_BD_Shape_double_2
+PPL_PROTO((ppl_const_BD_Shape_double_t pset_before, ppl_const_BD_Shape_double_t pset_after));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_termination_test_PR_BD_Shape_double_2
+PPL_PROTO((ppl_const_BD_Shape_double_t pset_before, ppl_const_BD_Shape_double_t pset_after));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_one_affine_ranking_function_MS_BD_Shape_double_2
+PPL_PROTO((ppl_const_BD_Shape_double_t pset_before,
+           ppl_const_BD_Shape_double_t pset_after,
+           ppl_Generator_t point));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_one_affine_ranking_function_PR_BD_Shape_double_2
+PPL_PROTO((ppl_const_BD_Shape_double_t pset_before,
+           ppl_const_BD_Shape_double_t pset_after,
+           ppl_Generator_t point));
+
+
+
+
+
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_all_affine_ranking_functions_MS_BD_Shape_double_2
+PPL_PROTO((ppl_const_BD_Shape_double_t pset_before,
+           ppl_const_BD_Shape_double_t pset_after,
+           ppl_Polyhedron_t ph));
+
+/*! \relates ppl_BD_Shape_double_tag */
+int
+ppl_all_affine_ranking_functions_PR_BD_Shape_double_2
+PPL_PROTO((ppl_const_BD_Shape_double_t pset_before,
+           ppl_const_BD_Shape_double_t pset_after,
+           ppl_Polyhedron_t ph));
+
+
+
+
+
+
+
+PPL_DECLARE_IO_FUNCTIONS(BD_Shape_double)
+
+/* End of Functions Related to ppl_BD_Shape_double_tag */
+
+/*! \interface ppl_Octagonal_Shape_double_tag
+  \brief Types and functions for ppl_Octagonal_Shape_double_tag
+*/
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_delete_Octagonal_Shape_double
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t ph));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_new_Octagonal_Shape_double_from_space_dimension
+PPL_PROTO((ppl_Octagonal_Shape_double_t* pph, ppl_dimension_type d, int empty));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_new_Octagonal_Shape_double_from_C_Polyhedron
+PPL_PROTO((ppl_Octagonal_Shape_double_t* pph, ppl_const_Polyhedron_t ph));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_new_Octagonal_Shape_double_from_NNC_Polyhedron
+PPL_PROTO((ppl_Octagonal_Shape_double_t* pph, ppl_const_Polyhedron_t ph));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_new_Octagonal_Shape_double_from_Grid
+PPL_PROTO((ppl_Octagonal_Shape_double_t* pph, ppl_const_Grid_t ph));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_new_Octagonal_Shape_double_from_Rational_Box
+PPL_PROTO((ppl_Octagonal_Shape_double_t* pph, ppl_const_Rational_Box_t ph));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_new_Octagonal_Shape_double_from_BD_Shape_int8_t
+PPL_PROTO((ppl_Octagonal_Shape_double_t* pph, ppl_const_BD_Shape_int8_t_t ph));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_new_Octagonal_Shape_double_from_BD_Shape_mpz_class
+PPL_PROTO((ppl_Octagonal_Shape_double_t* pph, ppl_const_BD_Shape_mpz_class_t ph));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_new_Octagonal_Shape_double_from_BD_Shape_mpq_class
+PPL_PROTO((ppl_Octagonal_Shape_double_t* pph, ppl_const_BD_Shape_mpq_class_t ph));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_new_Octagonal_Shape_double_from_Octagonal_Shape_mpz_class
+PPL_PROTO((ppl_Octagonal_Shape_double_t* pph, ppl_const_Octagonal_Shape_mpz_class_t ph));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_new_Octagonal_Shape_double_from_Octagonal_Shape_mpq_class
+PPL_PROTO((ppl_Octagonal_Shape_double_t* pph, ppl_const_Octagonal_Shape_mpq_class_t ph));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_new_Octagonal_Shape_double_from_Double_Box
+PPL_PROTO((ppl_Octagonal_Shape_double_t* pph, ppl_const_Double_Box_t ph));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_new_Octagonal_Shape_double_from_BD_Shape_double
+PPL_PROTO((ppl_Octagonal_Shape_double_t* pph, ppl_const_BD_Shape_double_t ph));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_new_Octagonal_Shape_double_from_Octagonal_Shape_double
+PPL_PROTO((ppl_Octagonal_Shape_double_t* pph, ppl_const_Octagonal_Shape_double_t ph));
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_new_Octagonal_Shape_double_from_C_Polyhedron_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_double_t* pph, ppl_const_Polyhedron_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_new_Octagonal_Shape_double_from_NNC_Polyhedron_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_double_t* pph, ppl_const_Polyhedron_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_new_Octagonal_Shape_double_from_Grid_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_double_t* pph, ppl_const_Grid_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_new_Octagonal_Shape_double_from_Rational_Box_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_double_t* pph, ppl_const_Rational_Box_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_new_Octagonal_Shape_double_from_BD_Shape_int8_t_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_double_t* pph, ppl_const_BD_Shape_int8_t_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_new_Octagonal_Shape_double_from_BD_Shape_mpz_class_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_double_t* pph, ppl_const_BD_Shape_mpz_class_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_new_Octagonal_Shape_double_from_BD_Shape_mpq_class_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_double_t* pph, ppl_const_BD_Shape_mpq_class_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_new_Octagonal_Shape_double_from_Octagonal_Shape_mpz_class_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_double_t* pph, ppl_const_Octagonal_Shape_mpz_class_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_new_Octagonal_Shape_double_from_Octagonal_Shape_mpq_class_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_double_t* pph, ppl_const_Octagonal_Shape_mpq_class_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_new_Octagonal_Shape_double_from_Double_Box_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_double_t* pph, ppl_const_Double_Box_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_new_Octagonal_Shape_double_from_BD_Shape_double_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_double_t* pph, ppl_const_BD_Shape_double_t ph, int complexity));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_new_Octagonal_Shape_double_from_Octagonal_Shape_double_with_complexity
+PPL_PROTO((ppl_Octagonal_Shape_double_t* pph, ppl_const_Octagonal_Shape_double_t ph, int complexity));
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_new_Octagonal_Shape_double_from_Constraint_System
+PPL_PROTO((ppl_Octagonal_Shape_double_t* pph, ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_new_Octagonal_Shape_double_from_Congruence_System
+PPL_PROTO((ppl_Octagonal_Shape_double_t* pph, ppl_const_Congruence_System_t cs));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_new_Octagonal_Shape_double_from_Generator_System
+PPL_PROTO((ppl_Octagonal_Shape_double_t* pph, ppl_const_Generator_System_t cs));
+
+
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_space_dimension
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t ph, ppl_dimension_type* m));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_affine_dimension
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t ph, ppl_dimension_type* m));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_relation_with_Constraint
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_relation_with_Generator
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t ph,
+           ppl_const_Generator_t c));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_relation_with_Congruence
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_get_constraints
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t ph,
+           ppl_const_Constraint_System_t* pcs));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_get_congruences
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t ph,
+           ppl_const_Congruence_System_t* pcs));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_get_minimized_constraints
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t ph,
+           ppl_const_Constraint_System_t* pcs));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_get_minimized_congruences
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t ph,
+           ppl_const_Congruence_System_t* pcs));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_is_empty
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t ph));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_is_universe
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t ph));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_is_bounded
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t ph));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_contains_integer_point
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t ph));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_is_topologically_closed
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t ph));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_is_discrete
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t ph));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_topological_closure_assign
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_bounds_from_above
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t ph,
+           ppl_const_Linear_Expression_t le));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_bounds_from_below
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t ph,
+           ppl_const_Linear_Expression_t le));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_maximize
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_minimize
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_maximize_with_point
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum,
+           ppl_Generator_t point));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_minimize_with_point
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* poptimum,
+           ppl_Generator_t point));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_frequency
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_fn,
+           ppl_Coefficient_t ext_fd,
+           ppl_Coefficient_t ext_vn,
+           ppl_Coefficient_t ext_vd));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_contains_Octagonal_Shape_double
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t x,
+           ppl_const_Octagonal_Shape_double_t y));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_strictly_contains_Octagonal_Shape_double
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t x,
+           ppl_const_Octagonal_Shape_double_t y));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_is_disjoint_from_Octagonal_Shape_double
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t x,
+           ppl_const_Octagonal_Shape_double_t y));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_equals_Octagonal_Shape_double
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t x,
+           ppl_const_Octagonal_Shape_double_t y));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_OK
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t ph));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_add_constraint
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_add_congruence
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_add_constraints
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_add_congruences
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph,
+           ppl_const_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_refine_with_constraint
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph,
+           ppl_const_Constraint_t c));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_refine_with_congruence
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph,
+           ppl_const_Congruence_t c));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_refine_with_constraints
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_refine_with_congruences
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph,
+           ppl_const_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_intersection_assign
+PPL_PROTO((ppl_Octagonal_Shape_double_t x,
+           ppl_const_Octagonal_Shape_double_t y));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_upper_bound_assign
+PPL_PROTO((ppl_Octagonal_Shape_double_t x,
+           ppl_const_Octagonal_Shape_double_t y));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_difference_assign
+PPL_PROTO((ppl_Octagonal_Shape_double_t x,
+           ppl_const_Octagonal_Shape_double_t y));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_concatenate_assign
+PPL_PROTO((ppl_Octagonal_Shape_double_t x,
+           ppl_const_Octagonal_Shape_double_t y));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_time_elapse_assign
+PPL_PROTO((ppl_Octagonal_Shape_double_t x,
+           ppl_const_Octagonal_Shape_double_t y));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_upper_bound_assign_if_exact
+PPL_PROTO((ppl_Octagonal_Shape_double_t x,
+           ppl_const_Octagonal_Shape_double_t y));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_simplify_using_context_assign
+PPL_PROTO((ppl_Octagonal_Shape_double_t x,
+           ppl_const_Octagonal_Shape_double_t y));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_constrains
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph,
+           ppl_dimension_type var));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_unconstrain_space_dimension
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph,
+           ppl_dimension_type var));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_unconstrain_space_dimensions
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph,
+           ppl_dimension_type ds[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_affine_image
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_affine_preimage
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_bounded_affine_image
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t lb,
+           ppl_const_Linear_Expression_t ub,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_bounded_affine_preimage
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t lb,
+           ppl_const_Linear_Expression_t ub,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_generalized_affine_image
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph,
+           ppl_dimension_type var,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_generalized_affine_preimage
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph,
+           ppl_dimension_type var,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t le,
+           ppl_const_Coefficient_t d));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_generalized_affine_image_lhs_rhs
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph,
+           ppl_const_Linear_Expression_t lhs,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t rhs));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_generalized_affine_preimage_lhs_rhs
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph,
+           ppl_const_Linear_Expression_t lhs,
+           enum ppl_enum_Constraint_Type relsym,
+           ppl_const_Linear_Expression_t rhs));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_add_space_dimensions_and_embed
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph,
+           ppl_dimension_type d));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_add_space_dimensions_and_project
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph,
+           ppl_dimension_type d));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_remove_space_dimensions
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph,
+           ppl_dimension_type ds[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_remove_higher_space_dimensions
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph,
+           ppl_dimension_type d));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_expand_space_dimension
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph,
+           ppl_dimension_type d,
+           ppl_dimension_type m));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_fold_space_dimensions
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           ppl_dimension_type d));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_map_space_dimensions
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph,
+           ppl_dimension_type maps[],
+           size_t n));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_drop_some_non_integer_points
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph,
+           int complexity));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_drop_some_non_integer_points_2
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           int complexity));
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_external_memory_in_bytes
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t ps,
+           size_t* sz));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_total_memory_in_bytes
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t ps,
+           size_t* sz));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_BHMZ05_widening_assign_with_tokens
+PPL_PROTO((ppl_Octagonal_Shape_double_t x,
+           ppl_const_Octagonal_Shape_double_t y,
+           unsigned* tp));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_BHMZ05_widening_assign
+PPL_PROTO((ppl_Octagonal_Shape_double_t x,
+           ppl_const_Octagonal_Shape_double_t y));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_widening_assign_with_tokens
+PPL_PROTO((ppl_Octagonal_Shape_double_t x,
+           ppl_const_Octagonal_Shape_double_t y,
+           unsigned* tp));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_widening_assign
+PPL_PROTO((ppl_Octagonal_Shape_double_t x,
+           ppl_const_Octagonal_Shape_double_t y));
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_limited_BHMZ05_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_Octagonal_Shape_double_t x,
+           ppl_const_Octagonal_Shape_double_t y,
+           ppl_const_Constraint_System_t cs,
+           unsigned* tp));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_limited_CC76_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_Octagonal_Shape_double_t x,
+           ppl_const_Octagonal_Shape_double_t y,
+           ppl_const_Constraint_System_t cs,
+           unsigned* tp));
+
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_limited_BHMZ05_extrapolation_assign
+PPL_PROTO((ppl_Octagonal_Shape_double_t x,
+           ppl_const_Octagonal_Shape_double_t y,
+           ppl_const_Constraint_System_t cs));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_limited_CC76_extrapolation_assign
+PPL_PROTO((ppl_Octagonal_Shape_double_t x,
+           ppl_const_Octagonal_Shape_double_t y,
+           ppl_const_Constraint_System_t cs));
+
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_CC76_extrapolation_assign_with_tokens
+PPL_PROTO((ppl_Octagonal_Shape_double_t x,
+           ppl_const_Octagonal_Shape_double_t y,
+           unsigned* tp));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_CC76_extrapolation_assign
+PPL_PROTO((ppl_Octagonal_Shape_double_t x,
+           ppl_const_Octagonal_Shape_double_t y));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_CC76_narrowing_assign
+PPL_PROTO((ppl_Octagonal_Shape_double_t x,
+           ppl_const_Octagonal_Shape_double_t y));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_linear_partition
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t x,
+           ppl_const_Octagonal_Shape_double_t y,
+           ppl_Octagonal_Shape_double_t* p_inters,
+           ppl_Pointset_Powerset_NNC_Polyhedron_t* p_rest));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_wrap_assign
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           enum ppl_enum_Bounded_Integer_Type_Width w,
+           enum ppl_enum_Bounded_Integer_Type_Representation r,
+           enum ppl_enum_Bounded_Integer_Type_Overflow o,
+           const ppl_const_Constraint_System_t* pcs,
+           unsigned complexity_threshold,
+           int wrap_individually));
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_new_Octagonal_Shape_double_recycle_Constraint_System
+PPL_PROTO((ppl_Octagonal_Shape_double_t* pph, ppl_Constraint_System_t cs));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_new_Octagonal_Shape_double_recycle_Congruence_System
+PPL_PROTO((ppl_Octagonal_Shape_double_t* pph, ppl_Congruence_System_t cs));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_new_Octagonal_Shape_double_recycle_Generator_System
+PPL_PROTO((ppl_Octagonal_Shape_double_t* pph, ppl_Generator_System_t cs));
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_assign_Octagonal_Shape_double_from_Octagonal_Shape_double
+PPL_PROTO((ppl_Octagonal_Shape_double_t dst, ppl_const_Octagonal_Shape_double_t src));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_add_recycled_constraints
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph,
+           ppl_Constraint_System_t cs));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_Octagonal_Shape_double_add_recycled_congruences
+PPL_PROTO((ppl_Octagonal_Shape_double_t ph,
+           ppl_Congruence_System_t cs));
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_termination_test_MS_Octagonal_Shape_double
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t pset));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_termination_test_PR_Octagonal_Shape_double
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t pset));
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_one_affine_ranking_function_MS_Octagonal_Shape_double
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t pset,
+           ppl_Generator_t point));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_one_affine_ranking_function_PR_Octagonal_Shape_double
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t pset,
+           ppl_Generator_t point));
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_all_affine_ranking_functions_MS_Octagonal_Shape_double
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t pset,
+           ppl_Polyhedron_t ph));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_all_affine_ranking_functions_PR_Octagonal_Shape_double
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t pset,
+           ppl_Polyhedron_t ph));
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_termination_test_MS_Octagonal_Shape_double_2
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t pset_before, ppl_const_Octagonal_Shape_double_t pset_after));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_termination_test_PR_Octagonal_Shape_double_2
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t pset_before, ppl_const_Octagonal_Shape_double_t pset_after));
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_one_affine_ranking_function_MS_Octagonal_Shape_double_2
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t pset_before,
+           ppl_const_Octagonal_Shape_double_t pset_after,
+           ppl_Generator_t point));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_one_affine_ranking_function_PR_Octagonal_Shape_double_2
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t pset_before,
+           ppl_const_Octagonal_Shape_double_t pset_after,
+           ppl_Generator_t point));
+
+
+
+
+
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_all_affine_ranking_functions_MS_Octagonal_Shape_double_2
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t pset_before,
+           ppl_const_Octagonal_Shape_double_t pset_after,
+           ppl_Polyhedron_t ph));
+
+/*! \relates ppl_Octagonal_Shape_double_tag */
+int
+ppl_all_affine_ranking_functions_PR_Octagonal_Shape_double_2
+PPL_PROTO((ppl_const_Octagonal_Shape_double_t pset_before,
+           ppl_const_Octagonal_Shape_double_t pset_after,
+           ppl_Polyhedron_t ph));
+
+
+
+
+
+
+
+PPL_DECLARE_IO_FUNCTIONS(Octagonal_Shape_double)
+
+/* End of Functions Related to ppl_Octagonal_Shape_double_tag */
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#undef PPL_TYPE_DECLARATION
+#undef PPL_PROTO
+#undef PPL_DECLARE_PRINT_FUNCTIONS
+#undef PPL_DECLARE_ASCII_DUMP_LOAD_FUNCTIONS
+#undef PPL_DECLARE_IO_FUNCTIONS
+#undef PPL_DECLARE_AND_DOCUMENT_PRINT_FUNCTIONS
+#undef PPL_DECLARE_AND_DOCUMENT_ASCII_DUMP_LOAD_FUNCTIONS
+#undef PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS
+
+#endif /* !defined(PPL_ppl_c_h) */
diff --git a/interfaces/C/ppl_c_header.h b/interfaces/C/ppl_c_header.h
index 5394555..a6c24e8 100644
--- a/interfaces/C/ppl_c_header.h
+++ b/interfaces/C/ppl_c_header.h
@@ -1,5 +1,5 @@
 /* This is the header file of the C interface of the Parma Polyhedra Library.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -64,6 +64,15 @@ are that (1) applications do not depend on the internals of the library
 (these may change from release to release), and (2) the interface
 invariants can be thoroughly checked (by the access functions).
 
+\note
+All functions taking as input argument an opaque pointer datatype assume
+that such an argument is actually <em>referring to a valid PPL object</em>.
+For instance, a function with an argument having type
+<code>ppl_MIP_Problem_t</code> will expect a valid MIP_Problem object,
+previously initialized by calling, e.g., <code>ppl_new_MIP_Problem</code>.
+If that is not the case (e.g., if a null pointer is passed in),
+the behavior is undefined.
+
 The PPL's C interface is initialized by means of the
 <CODE>ppl_initialize</CODE> function.  This function must
 be called <EM>before using any other interface of the library</EM>.
@@ -206,6 +215,24 @@ ppl_set_rounding_for_PPL PPL_PROTO((void));
 int
 ppl_restore_pre_PPL_rounding PPL_PROTO((void));
 
+/*! \brief
+  Writes to \p p the precision parameter used for irrational calculations.
+*/
+int
+ppl_irrational_precision PPL_PROTO((unsigned* p));
+
+/*! \brief
+  Sets the precision parameter used for irrational calculations.
+
+  If \p p is less than or equal to <CODE>INT_MAX</CODE>, sets the
+  precision parameter used for irrational calculations to \p p.
+  Then, in the irrational calculations returning an unbounded rational,
+  (e.g., when computing a square root), the lesser between numerator
+  and denominator will be limited to 2**\p p.
+*/
+int
+ppl_set_irrational_precision PPL_PROTO((unsigned p));
+
 /*@}*/ /* Init */
 
 /*! \defgroup Version Version Checking
@@ -302,7 +329,18 @@ enum ppl_enum_error_code {
   /*! \hideinitializer
     A totally unknown, totally unexpected error happened.
     This indicates a bug in the PPL. */
-  PPL_ERROR_UNEXPECTED_ERROR = -10
+  PPL_ERROR_UNEXPECTED_ERROR = -10,
+  /*! \hideinitializer
+    An exception has been raised by the PPL as a timeout previously set
+    by the user has expired.
+  */
+  PPL_TIMEOUT_EXCEPTION = -11,
+  /*! \hideinitializer
+    The client program attempted to use the PPL in a way that violates
+    its internal logic.  This happens, for instance, when the client
+    attempts to use the timeout facilities on a system that does not
+    support them. */
+  PPL_ERROR_LOGIC_ERROR = -12
 };
 
 /*! \brief
@@ -319,6 +357,78 @@ ppl_set_error_handler PPL_PROTO((void (*h)(enum ppl_enum_error_code code,
 
 /*@}*/ /* Error */
 
+/*! \defgroup Timeout Handling
+  Functions for setting and resetting timeouts.
+*/
+/*@{*/
+
+/*! \brief
+  Sets the timeout for computations whose completion could require
+  an exponential amount of time.
+
+  \param time
+  The number of hundreths of seconds.
+  It must be strictly greater than zero.
+
+  Computations taking exponential time will be interrupted some time
+  after \p time hundreths of seconds have elapsed since the call to
+  the timeout setting function. If the computation is interrupted that
+  way, the interrupted function will return error code
+  <code>PPL_TIMEOUT_EXCEPTION</code>.
+  Otherwise, if the computation completes without being interrupted,
+  then the timeout should be reset by calling
+  <code>ppl_reset_timeout()</code>.
+*/
+int
+ppl_set_timeout PPL_PROTO((unsigned time));
+
+/*! \brief
+  Resets the timeout time so that the computation is not interrupted.
+*/
+int
+ppl_reset_timeout PPL_PROTO((void));
+
+/*! \brief
+  Sets a threshold for computations whose completion could require
+  an exponential amount of time.
+
+  \param weight
+  The maximum computational weight allowed.
+  It must be strictly greater than zero.
+
+  Computations taking exponential time will be interrupted some time
+  after reaching the \p weight complexity threshold. If the computation
+  is interrupted that way, the interrupted function will return error code
+  <code>PPL_TIMEOUT_EXCEPTION</code>.
+  Otherwise, if the computation completes without being interrupted,
+  then the deterministic timeout should be reset by calling
+  <code>ppl_reset_deterministic_timeout()</code>.
+
+  \note
+  This "timeout" checking functionality is said to be \e deterministic
+  because it is not based on actual elapsed time. Its behavior will
+  only depend on (some of the) computations performed in the PPL library
+  and it will be otherwise independent from the computation environment
+  (CPU, operating system, compiler, etc.).
+
+  \warning
+  The weight mechanism is under alpha testing. In particular,
+  there is still no clear relation between the weight threshold and
+  the actual computational complexity. As a consequence, client
+  applications should be ready to reconsider the tuning of these
+  weight thresholds when upgrading to newer version of the PPL.
+*/
+int
+ppl_set_deterministic_timeout PPL_PROTO((unsigned weight));
+
+/*! \brief
+  Resets the deterministic timeout so that the computation is not interrupted.
+*/
+int
+ppl_reset_deterministic_timeout PPL_PROTO((void));
+
+/*@}*/ /* Timeout Handling */
+
 /*! \defgroup Datatypes Library Datatypes
   \brief
   Typedefs for the library datatypes and related symbolic constants.
@@ -582,6 +692,59 @@ PPL_TYPE_DECLARATION(Grid_Generator_System_const_iterator)
 */
 PPL_TYPE_DECLARATION(MIP_Problem)
 
+/*! \interface ppl_PIP_Problem_tag
+  \brief
+  Types and functions for PIP problems.
+
+  The types and functions for PIP problems provide an interface
+  towards \extref{Parma_Polyhedra_Library::PIP_Problem, PIP_Problem}.
+*/
+PPL_TYPE_DECLARATION(PIP_Problem)
+
+/*! \interface ppl_PIP_Tree_Node_tag
+  \brief
+  Types and functions for generic PIP tree nodes.
+
+  The types and functions for tree nodes provide an interface
+  towards \extref{Parma_Polyhedra_Library::PIP_Tree_Node, PIP_Tree_Node}.
+*/
+PPL_TYPE_DECLARATION(PIP_Tree_Node)
+
+/*! \interface ppl_PIP_Decision_Node_tag
+  \brief
+  Types and functions for PIP decision nodes.
+
+  The types and functions for decision nodes provide an interface towards
+  \extref{Parma_Polyhedra_Library::PIP_Decision_Node, PIP_Decision_Node}.
+*/
+PPL_TYPE_DECLARATION(PIP_Decision_Node)
+
+/*! \interface ppl_PIP_Solution_Node_tag
+  \brief
+  Types and functions for PIP solution nodes.
+
+  The types and functions for solution nodes provide an interface towards
+  \extref{Parma_Polyhedra_Library::PIP_Solution_Node, PIP_Solution_Node}.
+*/
+PPL_TYPE_DECLARATION(PIP_Solution_Node)
+
+/*! \interface ppl_Artificial_Parameter_tag
+  \brief
+  Types and functions for PIP artificial parameters.
+
+  The types and functions for PIP artificial parameters provide
+  an interface towards
+  \extref{Parma_Polyhedra_Library::PIP_Tree_Node::Artificial_Parameter, Artificial_Parameter}.
+*/
+PPL_TYPE_DECLARATION(Artificial_Parameter)
+PPL_TYPE_DECLARATION(Artificial_Parameter_Sequence)
+
+/*! \interface ppl_Artificial_Parameter_Sequence_const_iterator_tag
+  \brief
+  Types and functions for iterating on PIP artificial parameters.
+*/
+PPL_TYPE_DECLARATION(Artificial_Parameter_Sequence_const_iterator)
+
 
 #undef PPL_DECLARE_PRINT_FUNCTIONS
 #undef PPL_DECLARE_ASCII_DUMP_LOAD_FUNCTIONS
@@ -850,6 +1013,20 @@ PPL_PROTO((ppl_const_Linear_Expression_t le, ppl_Coefficient_t n));
 int
 ppl_Linear_Expression_OK PPL_PROTO((ppl_const_Linear_Expression_t le));
 
+/*! \relates ppl_Linear_Expression_tag \brief
+    Returns <CODE>true</CODE> if and only if \p *this is \f$0\f$.
+*/
+int
+ppl_Linear_Expression_is_zero PPL_PROTO((ppl_const_Linear_Expression_t le));
+
+/*! \relates ppl_Linear_Expression_tag \brief
+    Returns <CODE>true</CODE> if and only if all the homogeneous
+    terms of \p *this are \f$0\f$.
+*/
+int
+ppl_Linear_Expression_all_homogeneous_terms_are_zero
+PPL_PROTO((ppl_const_Linear_Expression_t le));
+
 /*@}*/ /* Functions that Do Not Modify the Linear Expression */
 
 /*! \brief \name Functions that May Modify the Linear Expression */
@@ -1151,7 +1328,7 @@ ppl_new_Constraint_System_const_iterator
 PPL_PROTO((ppl_Constraint_System_const_iterator_t* pcit));
 
 /*! \relates ppl_Constraint_System_const_iterator_tag \brief
-  Builds a const iterator that is a copy of \p cit; writes an
+  Builds a const iterator that is a copy of \p cit; writes a
   handle for the newly created const iterator at address \p pcit.
 */
 int
@@ -1456,7 +1633,7 @@ ppl_new_Generator_System_const_iterator
 PPL_PROTO((ppl_Generator_System_const_iterator_t* pgit));
 
 /*! \relates ppl_Generator_System_const_iterator_tag \brief
-  Builds a const iterator that is a copy of \p git; writes an
+  Builds a const iterator that is a copy of \p git; writes a
   handle for the newly created const iterator at address \p pgit.
 */
 int
@@ -1743,7 +1920,7 @@ ppl_new_Congruence_System_const_iterator
 PPL_PROTO((ppl_Congruence_System_const_iterator_t* pcit));
 
 /*! \relates ppl_Congruence_System_const_iterator_tag \brief
-  Builds a const iterator that is a copy of \p cit; writes an
+  Builds a const iterator that is a copy of \p cit; writes a
   handle for the newly created const iterator at address \p pcit.
 */
 int
@@ -2045,7 +2222,7 @@ ppl_new_Grid_Generator_System_const_iterator
 PPL_PROTO((ppl_Grid_Generator_System_const_iterator_t* pgit));
 
 /*! \relates ppl_Grid_Generator_System_const_iterator_tag \brief
-  Builds a const iterator that is a copy of \p git; writes an
+  Builds a const iterator that is a copy of \p git; writes a
   handle for the newly created const iterator at address \p pgit.
 */
 int
@@ -2149,6 +2326,73 @@ extern unsigned int PPL_POLY_CON_RELATION_SATURATES;
 extern unsigned int PPL_POLY_GEN_RELATION_SUBSUMES;
 
 
+/*! \brief \ingroup Datatypes
+  Widths of bounded integer types.
+*/
+enum ppl_enum_Bounded_Integer_Type_Width {
+  /*! \hideinitializer 8 bits. */
+  PPL_BITS_8 = 8,
+  /*! \hideinitializer 16 bits. */
+  PPL_BITS_16 = 16,
+  /*! \hideinitializer 32 bits. */
+  PPL_BITS_32 = 32,
+  /*! \hideinitializer 64 bits. */
+  PPL_BITS_64 = 64,
+  /*! \hideinitializer 128 bits. */
+  PPL_BITS_128 = 128
+};
+
+/*! \brief \ingroup Datatypes
+  Representation of bounded integer types.
+*/
+enum ppl_enum_Bounded_Integer_Type_Representation {
+  /*! Unsigned binary. */
+  PPL_UNSIGNED,
+  /*! \brief
+    Signed binary where negative values are represented by the two's
+    complement of the absolute value.
+  */
+  PPL_SIGNED_2_COMPLEMENT
+};
+
+/*! \brief \ingroup Datatypes
+  Overflow behavior of bounded integer types.
+*/
+enum ppl_enum_Bounded_Integer_Type_Overflow {
+  /*! \brief
+    On overflow, wrapping takes place.
+
+    This means that, for a \f$w\f$-bit bounded integer, the computation
+    happens modulo \f$2^w\f$.
+  */
+  PPL_OVERFLOW_WRAPS,
+
+  /*! \brief
+    On overflow, the result is undefined.
+
+    This simply means that the result of the operation resulting in an
+    overflow can take any value.
+
+    \note
+    Even though something more serious can happen in the system
+    being analyzed ---due to, e.g., C's undefined behavior---, here we
+    are only concerned with the results of arithmetic operations.
+    It is the responsibility of the analyzer to ensure that other
+    manifestations of undefined behavior are conservatively approximated.
+  */
+  PPL_OVERFLOW_UNDEFINED,
+
+  /*! \brief
+    Overflow is impossible.
+
+    This is for the analysis of languages where overflow is trapped
+    before it affects the state, for which, thus, any indication that
+    an overflow may have affected the state is necessarily due to
+    the imprecision of the analysis.
+  */
+  PPL_OVERFLOW_IMPOSSIBLE
+};
+
 /*! \brief \name Symbolic Constants */
 /*@{*/
 
@@ -2197,13 +2441,60 @@ extern int PPL_MIP_PROBLEM_CONTROL_PARAMETER_PRICING_STEEPEST_EDGE_EXACT;
 */
 extern int PPL_MIP_PROBLEM_CONTROL_PARAMETER_PRICING_STEEPEST_EDGE_FLOAT;
 
+
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Code of the "unfeasible PIP problem" status.
+*/
+extern int PPL_PIP_PROBLEM_STATUS_UNFEASIBLE;
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Code of the "optimized PIP problem" status.
+*/
+extern int PPL_PIP_PROBLEM_STATUS_OPTIMIZED;
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Code for the PIP problem's "cutting strategy" control parameter name.
+*/
+extern int PPL_PIP_PROBLEM_CONTROL_PARAMETER_NAME_CUTTING_STRATEGY;
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Code for the PIP problem's "pivot row strategy" control parameter name.
+*/
+extern int PPL_PIP_PROBLEM_CONTROL_PARAMETER_NAME_PIVOT_ROW_STRATEGY;
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Code of PIP problem's "first" cutting strategy.
+*/
+extern int PPL_PIP_PROBLEM_CONTROL_PARAMETER_CUTTING_STRATEGY_FIRST;
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Code of PIP problem's "deepest" cutting strategy.
+*/
+extern int PPL_PIP_PROBLEM_CONTROL_PARAMETER_CUTTING_STRATEGY_DEEPEST;
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Code of PIP problem's "all" cutting strategy.
+*/
+extern int PPL_PIP_PROBLEM_CONTROL_PARAMETER_CUTTING_STRATEGY_ALL;
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Code of PIP problem's "first" pivot row strategy.
+*/
+extern int PPL_PIP_PROBLEM_CONTROL_PARAMETER_PIVOT_ROW_STRATEGY_FIRST;
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Code of PIP problem's "max column" pivot row strategy.
+*/
+extern int PPL_PIP_PROBLEM_CONTROL_PARAMETER_PIVOT_ROW_STRATEGY_MAX_COLUMN;
+
 /*@}*/ /* Symbolic Constants */
 
 /*! \brief \name Constructors, Assignment and Destructor */
 /*@{*/
 
 /*! \relates ppl_MIP_Problem_tag \brief
-  Builds a trivial MIP problem of dimension \p d and writes an
+  Builds a trivial MIP problem of dimension \p d and writes a
   handle to it at address \p pmip.
 */
 int
@@ -2211,7 +2502,7 @@ ppl_new_MIP_Problem_from_space_dimension PPL_PROTO((ppl_MIP_Problem_t* pmip,
 						    ppl_dimension_type d));
 
 /*! \relates ppl_MIP_Problem_tag \brief
-  Builds an MIP problem of space dimension \p d having feasible region \p cs,
+  Builds a MIP problem of space dimension \p d having feasible region \p cs,
   objective function \p le and optimization mode \p m; writes a handle to
   it at address \p pmip.
 */
@@ -2223,7 +2514,7 @@ ppl_new_MIP_Problem PPL_PROTO((ppl_MIP_Problem_t* pmip,
 			       int m));
 
 /*! \relates ppl_MIP_Problem_tag \brief
-  Builds an MIP problem that is a copy of \p mip; writes a handle
+  Builds a MIP problem that is a copy of \p mip; writes a handle
   for the newly created system at address \p pmip.
 */
 int
@@ -2467,10 +2758,492 @@ int
 ppl_MIP_Problem_set_control_parameter
 PPL_PROTO((ppl_MIP_Problem_t mip, int value));
 
+/*! \relates ppl_MIP_Problem_tag \brief
+  Writes into \p *sz the size in bytes of the memory occupied by \p mip.
+*/
+int
+ppl_MIP_Problem_total_memory_in_bytes
+PPL_PROTO((ppl_const_MIP_Problem_t mip, size_t* sz));
+
+/*! \relates ppl_MIP_Problem_tag \brief
+  Writes into \p *sz the size in bytes of the memory managed by \p mip.
+*/
+int
+ppl_MIP_Problem_external_memory_in_bytes
+PPL_PROTO((ppl_const_MIP_Problem_t mip, size_t* sz));
+
 /*@}*/ /* Querying/Setting Control Parameters */
 
+
+/*! \brief \name Constructors, Assignment and Destructor */
+/*@{*/
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Builds a trivial PIP problem of dimension \p d and writes a
+  handle to it at address \p ppip.
+*/
+int
+ppl_new_PIP_Problem_from_space_dimension PPL_PROTO((ppl_PIP_Problem_t* ppip,
+						    ppl_dimension_type d));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Builds a PIP problem that is a copy of \p pip; writes a handle
+  for the newly created problem at address \p ppip.
+*/
+int
+ppl_new_PIP_Problem_from_PIP_Problem
+PPL_PROTO((ppl_PIP_Problem_t* ppip, ppl_const_PIP_Problem_t pip));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Assigns a copy of the PIP problem \p src to \p dst.
+*/
+int
+ppl_assign_PIP_Problem_from_PIP_Problem
+PPL_PROTO((ppl_PIP_Problem_t dst, ppl_const_PIP_Problem_t src));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Builds a PIP problem having space dimension \p d from the sequence
+  of constraints in the range \f$[\mathrm{first}, \mathrm{last})\f$;
+  the \p n dimensions whose indices occur in \p ds are interpreted as
+  parameters.
+*/
+int
+ppl_new_PIP_Problem_from_constraints
+PPL_PROTO((ppl_PIP_Problem_t* ppip,
+           ppl_dimension_type d,
+           ppl_Constraint_System_const_iterator_t first,
+           ppl_Constraint_System_const_iterator_t last,
+           size_t n,
+           ppl_dimension_type ds[]));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Invalidates the handle \p pip: this makes sure the corresponding
+  resources will eventually be released.
+*/
+int
+ppl_delete_PIP_Problem PPL_PROTO((ppl_const_PIP_Problem_t pip));
+
+/*@}*/ /* Constructors, Assignment and Destructor for PIP_Problem */
+
+/*! \brief \name Functions that Do Not Modify the PIP_Problem */
+/*@{*/
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Writes to \p m the dimension of the vector space enclosing \p pip.
+
+  The vector space dimensions includes both the problem variables
+  and the problem parameters, but they do not include the artificial
+  parameters.
+*/
+int
+ppl_PIP_Problem_space_dimension
+PPL_PROTO((ppl_const_PIP_Problem_t pip, ppl_dimension_type* m));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Writes to \p m the number of parameter space dimensions of \p pip.
+*/
+int
+ppl_PIP_Problem_number_of_parameter_space_dimensions
+PPL_PROTO((ppl_const_PIP_Problem_t pip, ppl_dimension_type* m));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Writes in the first positions of the array \p ds all the parameter space
+  dimensions of problem \p pip. If the array is not big enough to hold
+  all of the parameter space dimensions, the behavior is undefined.
+*/
+int
+ppl_PIP_Problem_parameter_space_dimensions
+PPL_PROTO((ppl_const_PIP_Problem_t pip, ppl_dimension_type ds[]));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Writes into \p *pd the big parameter dimension of PIP problem \p pip.
+*/
+int
+ppl_PIP_Problem_get_big_parameter_dimension
+PPL_PROTO((ppl_const_PIP_Problem_t pip, ppl_dimension_type* pd));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Writes to \p m the number of constraints defining
+  the feasible region of \p pip.
+*/
+int
+ppl_PIP_Problem_number_of_constraints PPL_PROTO((ppl_const_PIP_Problem_t pip,
+						 ppl_dimension_type* m));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Writes at address \p pc a const handle to the \p i-th constraint
+  defining the feasible region of the PIP problem \p pip
+*/
+int
+ppl_PIP_Problem_constraint_at_index PPL_PROTO((ppl_const_PIP_Problem_t pip,
+					       ppl_dimension_type i,
+					       ppl_const_Constraint_t* pc));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Writes into \p *sz the size in bytes of the memory occupied by \p pip.
+*/
+int
+ppl_PIP_Problem_total_memory_in_bytes
+PPL_PROTO((ppl_const_PIP_Problem_t pip, size_t* sz));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Writes into \p *sz the size in bytes of the memory managed by \p pip.
+*/
+int
+ppl_PIP_Problem_external_memory_in_bytes
+PPL_PROTO((ppl_const_PIP_Problem_t pip, size_t* sz));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Returns a positive integer if \p pip is well formed, i.e., if it
+  satisfies all its implementation invariants; returns 0 and perhaps
+  makes some noise if \p pip is broken.  Useful for debugging purposes.
+*/
+int
+ppl_PIP_Problem_OK PPL_PROTO((ppl_const_PIP_Problem_t pip));
+
+/*@}*/ /* Functions that Do Not Modify the PIP_Problem */
+
+/*! \brief \name Functions that May Modify the PIP_Problem */
+/*@{*/
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Resets the PIP problem to be a trivial problem of space dimension 0.
+*/
+int
+ppl_PIP_Problem_clear PPL_PROTO((ppl_PIP_Problem_t pip));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Adds <CODE>pip_vars + pip_params</CODE> new space dimensions
+  and embeds the PIP problem \p pip in the new vector space.
+
+  \param pip
+  The PIP problem to be embedded in the new vector space.
+
+  \param pip_vars
+  The number of space dimensions to add that are interpreted as
+  PIP problem variables (i.e., non parameters). These are added
+  \e before adding the \p pip_params parameters.
+
+  \param pip_params
+  The number of space dimensions to add that are interpreted as
+  PIP problem parameters. These are added \e after having added the
+  \p pip_vars problem variables.
+
+  The new space dimensions will be those having the highest indexes
+  in the new PIP problem; they are initially unconstrained.
+*/
+int
+ppl_PIP_Problem_add_space_dimensions_and_embed
+PPL_PROTO((ppl_PIP_Problem_t pip,
+           ppl_dimension_type pip_vars,
+           ppl_dimension_type pip_params));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Sets the space dimensions that are specified in first \p n positions
+  of the array \p ds to be parameter dimensions of problem \p pip.
+  The presence of duplicates in \p ds is a waste but an innocuous one.
+*/
+int
+ppl_PIP_Problem_add_to_parameter_space_dimensions
+PPL_PROTO((ppl_PIP_Problem_t pip, ppl_dimension_type ds[], size_t n));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Sets the big parameter dimension of PIP problem \p pip to \p d.
+*/
+int
+ppl_PIP_Problem_set_big_parameter_dimension
+PPL_PROTO((ppl_PIP_Problem_t pip, ppl_dimension_type d));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Modifies the feasible region of the PIP problem \p pip by adding a copy
+  of the constraint \p c.
+*/
+int
+ppl_PIP_Problem_add_constraint PPL_PROTO((ppl_PIP_Problem_t pip,
+					  ppl_const_Constraint_t c));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Modifies the feasible region of the PIP problem \p pip by adding a copy
+  of the constraints in \p cs.
+*/
+int
+ppl_PIP_Problem_add_constraints PPL_PROTO((ppl_PIP_Problem_t pip,
+					   ppl_const_Constraint_System_t cs));
+
+/*@}*/ /* Functions that May Modify the PIP_Problem */
+
+/*! \brief \name Computing and Printing the Solution of the PIP_Problem */
+/*@{*/
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Returns a positive integer if \p pip is satisfiable and an optimal
+  solution can be found; returns 0 otherwise.
+*/
+int
+ppl_PIP_Problem_is_satisfiable PPL_PROTO((ppl_const_PIP_Problem_t pip));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Solves the PIP problem \p pip, returning an exit status.
+
+  \return
+  <CODE>PPL_PIP_PROBLEM_STATUS_UNFEASIBLE</CODE> if the PIP problem
+  is not satisfiable;
+  <CODE>PPL_PIP_PROBLEM_STATUS_OPTIMIZED</CODE> if the PIP problem
+  admits an optimal solution.
+*/
+int
+ppl_PIP_Problem_solve PPL_PROTO((ppl_const_PIP_Problem_t pip));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Writes to \p pip_tree a solution for \p pip, if it exists.
+*/
+int
+ppl_PIP_Problem_solution PPL_PROTO((ppl_const_PIP_Problem_t pip,
+                                    ppl_const_PIP_Tree_Node_t* pip_tree));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Writes to \p pip_tree an optimizing solution for \p pip, if it exists.
+*/
+int
+ppl_PIP_Problem_optimizing_solution
+PPL_PROTO((ppl_const_PIP_Problem_t pip,
+           ppl_const_PIP_Tree_Node_t* pip_tree));
+
+/*@}*/ /* Computing the Solution of the PIP_Problem */
+
+/*! \brief \name Querying/Setting Control Parameters */
+/*@{*/
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Returns the value of control parameter \p name in problem \p pip.
+*/
+int
+ppl_PIP_Problem_get_control_parameter
+PPL_PROTO((ppl_const_PIP_Problem_t pip, int name));
+
+/*! \relates ppl_PIP_Problem_tag \brief
+  Sets control parameter \p value in problem \p pip.
+*/
+int
+ppl_PIP_Problem_set_control_parameter
+PPL_PROTO((ppl_PIP_Problem_t pip, int value));
+
+/*@}*/ /* Querying/Setting Control Parameters */
+
+
+/*! \relates ppl_PIP_Tree_Node_tag \brief
+  Writes to \p dpip_tree the solution node if \p spip_tree is
+  a solution node, and 0 otherwise.
+*/
+int
+ppl_PIP_Tree_Node_as_solution
+PPL_PROTO((ppl_const_PIP_Tree_Node_t spip_tree,
+           ppl_const_PIP_Solution_Node_t* dpip_tree));
+
+/*! \relates ppl_PIP_Tree_Node_tag \brief
+  Writes to \p dpip_tree the decision node if \p spip_tree
+  is a decision node, and 0 otherwise.
+*/
+int
+ppl_PIP_Tree_Node_as_decision
+PPL_PROTO((ppl_const_PIP_Tree_Node_t spip_tree,
+           ppl_const_PIP_Decision_Node_t* dpip_tree));
+
+/*! \relates ppl_PIP_Tree_Node_tag \brief
+  Writes to \p pcs the local system of parameter constraints
+  at the pip tree node \p pip_tree.
+*/
+int
+ppl_PIP_Tree_Node_get_constraints
+PPL_PROTO((ppl_const_PIP_Tree_Node_t pip_tree,
+           ppl_const_Constraint_System_t* pcs));
+
+/*! \relates ppl_PIP_Tree_Node_tag \brief
+  Returns a positive integer if \p pip_tree is well formed, i.e., if it
+  satisfies all its implementation invariants; returns 0 and perhaps
+  makes some noise if \p pip_tree is broken.  Useful for debugging purposes.
+*/
+int
+ppl_PIP_Tree_Node_OK PPL_PROTO((ppl_const_PIP_Tree_Node_t pip));
+
+/*! \relates ppl_PIP_Tree_Node_tag \brief
+  Writes to \p m the number of elements in the artificial parameter sequence
+  in the pip tree node \p pip_tree.
+*/
+int
+ppl_PIP_Tree_Node_number_of_artificials
+PPL_PROTO((ppl_const_PIP_Tree_Node_t pip_tree,
+           ppl_dimension_type* m));
+
+/*! \relates ppl_PIP_Tree_Node_tag \brief
+  Assigns to \p pit a const iterator "pointing" to the beginning of
+  the artificial parameter sequence in the pip tree node \p pip_tree.
+*/
+int
+ppl_PIP_Tree_Node_begin
+PPL_PROTO((ppl_const_PIP_Tree_Node_t pip_tree,
+           ppl_Artificial_Parameter_Sequence_const_iterator_t pit));
+
+/*! \relates ppl_PIP_Tree_Node_tag \brief
+  Assigns to \p pit a const iterator "pointing" to the end of
+  the artificial parameter sequence in the pip tree node \p pip_tree.
+*/
+int
+ppl_PIP_Tree_Node_end
+PPL_PROTO((ppl_const_PIP_Tree_Node_t pip_tree,
+           ppl_Artificial_Parameter_Sequence_const_iterator_t pit));
+
+/*! \relates ppl_PIP_Solution_Node_tag \brief
+  Writes to \p le a const pointer to the parametric expression of the values
+  of variable \p var in solution node \p pip_sol.
+
+  The linear expression assigned to \p le will only refer to
+  (problem or artificial) parameters.
+
+  \param pip_sol
+  The solution tree node.
+
+  \param var
+  The variable which is queried about.
+
+  \param le
+  The returned expression for variable \p var.
+
+  \return PPL_ERROR_INVALID_ARGUMENT
+  Returned if \p var is dimension-incompatible with \p *this
+  or if \p var is a problem parameter.
+*/
+int
+ppl_PIP_Solution_Node_get_parametric_values
+PPL_PROTO((ppl_const_PIP_Solution_Node_t pip_sol,
+           ppl_dimension_type var,
+           ppl_const_Linear_Expression_t* le));
+
+/*! \relates ppl_PIP_Decision_Node_tag \brief
+  Writes to \p pip_tree a const pointer to either the true branch
+  (if \p b is not zero) or the false branch (if \p b is zero) of \p pip_dec.
+*/
+int
+ppl_PIP_Decision_Node_get_child_node
+PPL_PROTO((ppl_const_PIP_Decision_Node_t pip_dec,
+           int b,
+           ppl_const_PIP_Tree_Node_t* pip_tree));
+
+/*! \relates ppl_Artificial_Parameter_tag \brief
+  Copies into \p le the linear expression in artificial parameter \p ap.
+*/
+int
+ppl_Artificial_Parameter_get_Linear_Expression
+PPL_PROTO((ppl_const_Artificial_Parameter_t ap,
+           ppl_Linear_Expression_t le));
+
+/*! \relates ppl_Artificial_Parameter_tag \brief
+  Copies into \p n the coefficient of variable \p var in
+  the artificial parameter \p ap.
+*/
+int
+ppl_Artificial_Parameter_coefficient
+PPL_PROTO((ppl_const_Artificial_Parameter_t ap,
+           ppl_dimension_type var,
+           ppl_Coefficient_t n));
+
+/*! \relates ppl_Artificial_Parameter_tag \brief
+  Copies into \p n the inhomogeneous term of the artificial
+  parameter \p ap.
+*/
+int
+ppl_Artificial_Parameter_get_inhomogeneous_term
+PPL_PROTO((ppl_const_Artificial_Parameter_t ap,
+           ppl_Coefficient_t n));
+
+/*! \relates ppl_Artificial_Parameter_tag \brief
+  Copies into \p n the denominator in artificial parameter \p ap.
+*/
+int
+ppl_Artificial_Parameter_denominator
+PPL_PROTO((ppl_const_Artificial_Parameter_t ap,
+           ppl_Coefficient_t n));
+
+/*! \brief \name Constructors, Assignment and Destructor */
+/*@{*/
+
+/*! \relates ppl_Artificial_Parameter_Sequence_const_iterator_tag \brief
+  Builds a new `const iterator' and writes a handle to it at address
+  \p papit.
+*/
+int
+ppl_new_Artificial_Parameter_Sequence_const_iterator
+PPL_PROTO((ppl_Artificial_Parameter_Sequence_const_iterator_t* papit));
+
+/*! \relates ppl_Artificial_Parameter_Sequence_const_iterator_tag \brief
+  Builds a const iterator that is a copy of \p apit; writes a
+  handle for the newly created const iterator at address \p papit.
+*/
+int
+ppl_new_Artificial_Parameter_Sequence_const_iterator_from_Artificial_Parameter_Sequence_const_iterator
+PPL_PROTO((ppl_Artificial_Parameter_Sequence_const_iterator_t* papit,
+	   ppl_const_Artificial_Parameter_Sequence_const_iterator_t apit));
+
+/*! \relates ppl_Artificial_Parameter_Sequence_const_iterator_tag \brief
+  Assigns a copy of the const iterator \p src to \p dst.
+*/
+int
+ppl_assign_Artificial_Parameter_Sequence_const_iterator_from_Artificial_Parameter_Sequence_const_iterator
+PPL_PROTO((ppl_Artificial_Parameter_Sequence_const_iterator_t dst,
+	   ppl_const_Artificial_Parameter_Sequence_const_iterator_t src));
+
+/*! \relates ppl_Artificial_Parameter_Sequence_const_iterator_tag \brief
+  Invalidates the handle \p apit: this makes sure the corresponding
+  resources will eventually be released.
+*/
+int
+ppl_delete_Artificial_Parameter_Sequence_const_iterator
+PPL_PROTO((ppl_const_Artificial_Parameter_Sequence_const_iterator_t apit));
+
+/*@}*/ /* Constructors, Assignment and Destructor */
+
+/*! \brief \name Dereferencing, Incrementing and Equality Testing */
+/*@{*/
+
+/*! \relates ppl_Artificial_Parameter_Sequence_const_iterator_tag \brief
+  Dereference \p apit writing a const handle to the resulting
+  artificial parameter at address \p pap.
+*/
+int
+ppl_Artificial_Parameter_Sequence_const_iterator_dereference
+PPL_PROTO((ppl_const_Artificial_Parameter_Sequence_const_iterator_t apit,
+	   ppl_const_Artificial_Parameter_t* pap));
+
+/*! \relates ppl_Artificial_Parameter_Sequence_const_iterator_tag \brief
+  Increment \p apit so that it "points" to the next artificial parameter.
+*/
+int
+ppl_Artificial_Parameter_Sequence_const_iterator_increment
+PPL_PROTO((ppl_Artificial_Parameter_Sequence_const_iterator_t apit));
+
+/*! \relates ppl_Artificial_Parameter_Sequence_const_iterator_tag \brief
+  Returns a positive integer if the iterators corresponding to \p x and
+  \p y are equal; returns 0 if they are different.
+*/
+int
+ppl_Artificial_Parameter_Sequence_const_iterator_equal_test
+PPL_PROTO((ppl_const_Artificial_Parameter_Sequence_const_iterator_t x,
+	   ppl_const_Artificial_Parameter_Sequence_const_iterator_t y));
+
+/*@}*/ /* Dereferencing, Incrementing and Equality Testing */
+
 PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(MIP_Problem)
 
+PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(PIP_Problem)
+
+PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(PIP_Tree_Node)
+
+PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(PIP_Solution_Node)
+
+PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(PIP_Decision_Node)
+
+PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(Artificial_Parameter)
+
 #include "ppl_c_domains.h"
 
 #ifdef __cplusplus
diff --git a/interfaces/C/ppl_c_implementation_common.cc b/interfaces/C/ppl_c_implementation_common.cc
index c02c118..3380207 100644
--- a/interfaces/C/ppl_c_implementation_common.cc
+++ b/interfaces/C/ppl_c_implementation_common.cc
@@ -1,5 +1,5 @@
 /* Implementation of the C interface: variables and non-inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -93,6 +93,40 @@ notify_error(enum ppl_enum_error_code code, const char* description) {
     user_error_handler(code, description);
 }
 
+#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
+
+Parma_Watchdog_Library::Watchdog* p_timeout_object = 0;
+
+typedef
+Parma_Watchdog_Library::Threshold_Watcher
+<Parma_Polyhedra_Library::Weightwatch_Traits> Weightwatch;
+
+Weightwatch* p_deterministic_timeout_object = 0;
+
+#endif // PPL_WATCHDOG_LIBRARY_ENABLED
+
+void
+reset_timeout() {
+#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
+  if (p_timeout_object) {
+    delete p_timeout_object;
+    p_timeout_object = 0;
+    abandon_expensive_computations = 0;
+  }
+#endif // PPL_WATCHDOG_LIBRARY_ENABLED
+}
+
+void
+reset_deterministic_timeout() {
+#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
+  if (p_deterministic_timeout_object) {
+    delete p_deterministic_timeout_object;
+    p_deterministic_timeout_object = 0;
+    abandon_expensive_computations = 0;
+  }
+#endif // PPL_WATCHDOG_LIBRARY_ENABLED
+}
+
 } // namespace C
 
 } // namespace Interfaces
@@ -122,6 +156,17 @@ int PPL_MIP_PROBLEM_CONTROL_PARAMETER_PRICING_STEEPEST_EDGE_FLOAT;
 int PPL_MIP_PROBLEM_CONTROL_PARAMETER_PRICING_STEEPEST_EDGE_EXACT;
 int PPL_MIP_PROBLEM_CONTROL_PARAMETER_PRICING_TEXTBOOK;
 
+int PPL_PIP_PROBLEM_STATUS_UNFEASIBLE;
+int PPL_PIP_PROBLEM_STATUS_OPTIMIZED;
+
+int PPL_PIP_PROBLEM_CONTROL_PARAMETER_NAME_CUTTING_STRATEGY;
+int PPL_PIP_PROBLEM_CONTROL_PARAMETER_CUTTING_STRATEGY_FIRST;
+int PPL_PIP_PROBLEM_CONTROL_PARAMETER_CUTTING_STRATEGY_DEEPEST;
+int PPL_PIP_PROBLEM_CONTROL_PARAMETER_CUTTING_STRATEGY_ALL;
+int PPL_PIP_PROBLEM_CONTROL_PARAMETER_NAME_PIVOT_ROW_STRATEGY;
+int PPL_PIP_PROBLEM_CONTROL_PARAMETER_PIVOT_ROW_STRATEGY_FIRST;
+int PPL_PIP_PROBLEM_CONTROL_PARAMETER_PIVOT_ROW_STRATEGY_MAX_COLUMN;
+
 int PPL_OPTIMIZATION_MODE_MINIMIZATION;
 int PPL_OPTIMIZATION_MODE_MAXIMIZATION;
 
@@ -164,6 +209,24 @@ ppl_initialize(void) try {
   PPL_MIP_PROBLEM_CONTROL_PARAMETER_PRICING_TEXTBOOK
     = MIP_Problem::PRICING_TEXTBOOK;
 
+  PPL_PIP_PROBLEM_STATUS_UNFEASIBLE = UNFEASIBLE_PIP_PROBLEM;
+  PPL_PIP_PROBLEM_STATUS_OPTIMIZED = OPTIMIZED_PIP_PROBLEM;
+
+  PPL_PIP_PROBLEM_CONTROL_PARAMETER_NAME_CUTTING_STRATEGY
+    = PIP_Problem::CUTTING_STRATEGY;
+  PPL_PIP_PROBLEM_CONTROL_PARAMETER_CUTTING_STRATEGY_FIRST
+    = PIP_Problem::CUTTING_STRATEGY_FIRST;
+  PPL_PIP_PROBLEM_CONTROL_PARAMETER_CUTTING_STRATEGY_DEEPEST
+    = PIP_Problem::CUTTING_STRATEGY_DEEPEST;
+  PPL_PIP_PROBLEM_CONTROL_PARAMETER_CUTTING_STRATEGY_ALL
+    = PIP_Problem::CUTTING_STRATEGY_ALL;
+  PPL_PIP_PROBLEM_CONTROL_PARAMETER_NAME_PIVOT_ROW_STRATEGY
+    = PIP_Problem::PIVOT_ROW_STRATEGY;
+  PPL_PIP_PROBLEM_CONTROL_PARAMETER_PIVOT_ROW_STRATEGY_FIRST
+    = PIP_Problem::PIVOT_ROW_STRATEGY_FIRST;
+  PPL_PIP_PROBLEM_CONTROL_PARAMETER_PIVOT_ROW_STRATEGY_MAX_COLUMN
+    = PIP_Problem::PIVOT_ROW_STRATEGY_MAX_COLUMN;
+
   PPL_OPTIMIZATION_MODE_MINIMIZATION = MINIMIZATION;
   PPL_OPTIMIZATION_MODE_MAXIMIZATION = MAXIMIZATION;
 
@@ -185,6 +248,68 @@ ppl_finalize(void) try {
 CATCH_ALL
 
 int
+ppl_set_timeout(unsigned time) try {
+#ifndef PPL_WATCHDOG_LIBRARY_ENABLED
+  used(time);
+  const char* what = "PPL C interface error:\n"
+    "ppl_set_timeout: the PPL Watchdog library is not enabled.";
+  throw std::runtime_error(what);
+#else
+  // In case a timeout was already set.
+  reset_timeout();
+  static timeout_exception e;
+  using Parma_Watchdog_Library::Watchdog;
+  p_timeout_object = new Watchdog(time, abandon_expensive_computations, e);
+  return 0;
+#endif // PPL_WATCHDOG_LIBRARY_ENABLED
+}
+CATCH_ALL
+
+int
+ppl_reset_timeout(void) try {
+#ifndef PPL_WATCHDOG_LIBRARY_ENABLED
+  const char* what = "PPL C interface error:\n"
+    "ppl_reset_timeout: the PPL Watchdog library is not enabled.";
+  throw std::runtime_error(what);
+#else
+  reset_timeout();
+  return 0;
+#endif // PPL_WATCHDOG_LIBRARY_ENABLED
+}
+CATCH_ALL
+
+int
+ppl_set_deterministic_timeout(unsigned weight) try {
+#ifndef PPL_WATCHDOG_LIBRARY_ENABLED
+  used(weight);
+  const char* what = "PPL C interface error:\n"
+    "ppl_set_deterministic_timeout: the PPL Watchdog library is not enabled.";
+  throw std::runtime_error(what);
+#else
+  // In case a deterministic timeout was already set.
+  reset_deterministic_timeout();
+  static timeout_exception e;
+  p_deterministic_timeout_object
+    = new Weightwatch(weight, abandon_expensive_computations, e);
+  return 0;
+#endif // PPL_WATCHDOG_LIBRARY_ENABLED
+}
+CATCH_ALL
+
+int
+ppl_reset_deterministic_timeout(void) try {
+#ifndef PPL_WATCHDOG_LIBRARY_ENABLED
+  const char* what = "PPL C interface error:\n"
+    "ppl_reset_deterministic_timeout: the PPL Watchdog library is not enabled.";
+  throw std::runtime_error(what);
+#else
+  reset_deterministic_timeout();
+  return 0;
+#endif // PPL_WATCHDOG_LIBRARY_ENABLED
+}
+CATCH_ALL
+
+int
 ppl_set_rounding_for_PPL(void) try {
   set_rounding_for_PPL();
   return 0;
@@ -199,6 +324,20 @@ ppl_restore_pre_PPL_rounding(void) try {
 CATCH_ALL
 
 int
+ppl_irrational_precision(unsigned* p) try {
+  *p = irrational_precision();
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_set_irrational_precision(unsigned p) try {
+  set_irrational_precision(p);
+  return 0;
+}
+CATCH_ALL
+
+int
 ppl_version_major(void) try {
   return version_major();
 }
@@ -477,6 +616,19 @@ ppl_Linear_Expression_OK(ppl_const_Linear_Expression_t le) try {
 }
 CATCH_ALL
 
+int
+ppl_Linear_Expression_is_zero(ppl_const_Linear_Expression_t le) try {
+  return to_const(le)->is_zero() ? 1 : 0;
+}
+CATCH_ALL
+
+int
+ppl_Linear_Expression_all_homogeneous_terms_are_zero
+  (ppl_const_Linear_Expression_t le) try {
+  return to_const(le)->all_homogeneous_terms_are_zero() ? 1 : 0;
+}
+CATCH_ALL
+
 /* Interface for Constraint. */
 
 int
@@ -1845,10 +1997,10 @@ ppl_MIP_Problem_add_to_integer_space_dimensions(ppl_MIP_Problem_t mip,
 					        ppl_dimension_type ds[],
 					        size_t n) try {
   MIP_Problem& mmip = *to_nonconst(mip);
-  Variables_Set to_be_set;
+  Variables_Set vars;
   for (ppl_dimension_type i = n; i-- > 0; )
-    to_be_set.insert(ds[i]);
-  mmip.add_to_integer_space_dimensions(to_be_set);
+    vars.insert(ds[i]);
+  mmip.add_to_integer_space_dimensions(vars);
   return 0;
 }
 CATCH_ALL
@@ -1974,6 +2126,466 @@ ppl_MIP_Problem_OK(ppl_const_MIP_Problem_t mip) try {
 CATCH_ALL
 
 int
+ppl_MIP_Problem_total_memory_in_bytes(ppl_const_MIP_Problem_t mip,
+                                      size_t* sz) try {
+  *sz = to_const(mip)->total_memory_in_bytes();
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_MIP_Problem_external_memory_in_bytes(ppl_const_MIP_Problem_t mip,
+                                         size_t* sz) try {
+  *sz = to_const(mip)->external_memory_in_bytes();
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_new_PIP_Problem_from_space_dimension(ppl_PIP_Problem_t* ppip,
+                                         ppl_dimension_type d) try {
+  *ppip = to_nonconst(new PIP_Problem(d));
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_new_PIP_Problem_from_PIP_Problem(ppl_PIP_Problem_t* dpip,
+				     ppl_const_PIP_Problem_t pip) try {
+  const PIP_Problem& spip = *to_const(pip);
+  *dpip = to_nonconst(new PIP_Problem(spip));
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_new_PIP_Problem_from_constraints
+(ppl_PIP_Problem_t* ppip,
+ ppl_dimension_type d,
+ ppl_Constraint_System_const_iterator_t first,
+ ppl_Constraint_System_const_iterator_t last,
+ size_t n,
+ ppl_dimension_type ds[]) try {
+  Variables_Set p_vars;
+  for (ppl_dimension_type i = n; i-- > 0; )
+    p_vars.insert(ds[i]);
+  *ppip = to_nonconst(new PIP_Problem(d, *to_const(first),
+                                      *to_const(last), p_vars));
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_assign_PIP_Problem_from_PIP_Problem(ppl_PIP_Problem_t dst,
+					ppl_const_PIP_Problem_t src) try {
+  const PIP_Problem& ssrc = *to_const(src);
+  PIP_Problem& ddst = *to_nonconst(dst);
+  ddst = ssrc;
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_delete_PIP_Problem(ppl_const_PIP_Problem_t pip) try {
+  delete to_const(pip);
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_PIP_Problem_space_dimension(ppl_const_PIP_Problem_t pip,
+				ppl_dimension_type* m) try {
+  *m = to_const(pip)->space_dimension();
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_PIP_Problem_number_of_parameter_space_dimensions
+(ppl_const_PIP_Problem_t pip, ppl_dimension_type* m) try {
+  const PIP_Problem& ppip = *to_const(pip);
+  *m = ppip.parameter_space_dimensions().size();
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_PIP_Problem_parameter_space_dimensions(ppl_const_PIP_Problem_t pip,
+                                           ppl_dimension_type ds[]) try {
+  const Variables_Set& vars = to_const(pip)->parameter_space_dimensions();
+  ppl_dimension_type* ds_i = ds;
+  for (Variables_Set::const_iterator v_iter = vars.begin(),
+	 v_end = vars.end(); v_iter != v_end; ++v_iter, ++ds_i)
+    *ds_i = *v_iter;
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_PIP_Problem_number_of_constraints(ppl_const_PIP_Problem_t pip,
+				      ppl_dimension_type* m) try {
+  const PIP_Problem& ppip = *to_const(pip);
+  *m = ppip.constraints_end() - ppip.constraints_begin();
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_PIP_Problem_constraint_at_index(ppl_const_PIP_Problem_t pip,
+				    ppl_dimension_type i,
+				    ppl_const_Constraint_t* pc) try {
+#ifndef NDEBUG
+  ppl_dimension_type num_constraints;
+  ppl_PIP_Problem_number_of_constraints(pip, &num_constraints);
+  assert(i < num_constraints);
+#endif
+  const PIP_Problem& ppip = *to_const(pip);
+  const Constraint& c = *(ppip.constraints_begin() + i);
+  *pc = to_const(&c);
+  return 0;
+}
+CATCH_ALL
+int
+ppl_PIP_Problem_clear(ppl_PIP_Problem_t pip) try {
+  to_nonconst(pip)->clear();
+  return 0;
+}
+CATCH_ALL
+int
+ppl_PIP_Problem_add_space_dimensions_and_embed(ppl_PIP_Problem_t pip,
+					       ppl_dimension_type pip_vars,
+					       ppl_dimension_type pip_params)
+  try {
+  PIP_Problem& spip = *to_nonconst(pip);
+  spip.add_space_dimensions_and_embed(pip_vars,pip_params);
+  return 0;
+}
+CATCH_ALL
+int
+ppl_PIP_Problem_add_to_parameter_space_dimensions(ppl_PIP_Problem_t pip,
+					          ppl_dimension_type ds[],
+					          size_t n) try {
+  PIP_Problem& ppip = *to_nonconst(pip);
+  Variables_Set vars;
+  for (ppl_dimension_type i = n; i-- > 0; )
+    vars.insert(ds[i]);
+  ppip.add_to_parameter_space_dimensions(vars);
+  return 0;
+}
+CATCH_ALL
+int
+ppl_PIP_Problem_add_constraint(ppl_PIP_Problem_t pip,
+			       ppl_const_Constraint_t c) try {
+  const Constraint& cc = *to_const(c);
+  PIP_Problem& ppip = *to_nonconst(pip);
+  ppip.add_constraint(cc);
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_PIP_Problem_add_constraints(ppl_PIP_Problem_t pip,
+				ppl_const_Constraint_System_t cs) try {
+  const Constraint_System& ccs = *to_const(cs);
+  PIP_Problem& ppip = *to_nonconst(pip);
+  ppip.add_constraints(ccs);
+  return 0;
+}
+CATCH_ALL
+int
+ppl_PIP_Problem_is_satisfiable(ppl_const_PIP_Problem_t pip) try {
+  return to_const(pip)->is_satisfiable() ? 1 : 0;
+}
+CATCH_ALL
+int
+ppl_PIP_Problem_solve(ppl_const_PIP_Problem_t pip) try {
+  return to_const(pip)->solve();
+}
+CATCH_ALL
+
+int
+ppl_PIP_Problem_solution(ppl_const_PIP_Problem_t pip,
+                         ppl_const_PIP_Tree_Node_t* ppip_tree) try {
+  *ppip_tree = to_const(to_const(pip)->solution());
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_PIP_Problem_optimizing_solution(ppl_const_PIP_Problem_t pip,
+                                    ppl_const_PIP_Tree_Node_t* ppip_tree) try {
+  *ppip_tree = to_const(to_const(pip)->optimizing_solution());
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_PIP_Problem_OK(ppl_const_PIP_Problem_t pip) try {
+  return to_const(pip)->OK() ? 1 : 0;
+}
+CATCH_ALL
+
+int
+ppl_PIP_Problem_get_control_parameter(ppl_const_PIP_Problem_t pip,
+                                      int name) try {
+  PIP_Problem::Control_Parameter_Name n
+    = static_cast<PIP_Problem::Control_Parameter_Name>(name);
+  return to_const(pip)->get_control_parameter(n);
+}
+CATCH_ALL
+
+int
+ppl_PIP_Problem_set_control_parameter(ppl_PIP_Problem_t pip,
+                                      int value) try {
+  PIP_Problem::Control_Parameter_Value v
+    = static_cast<PIP_Problem::Control_Parameter_Value>(value);
+  to_nonconst(pip)->set_control_parameter(v);
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_PIP_Problem_get_big_parameter_dimension(ppl_const_PIP_Problem_t pip,
+                                            ppl_dimension_type* pd) try {
+  *pd = to_const(pip)->get_big_parameter_dimension();
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_PIP_Problem_set_big_parameter_dimension(ppl_PIP_Problem_t pip,
+                                            ppl_dimension_type d) try {
+  to_nonconst(pip)->set_big_parameter_dimension(d);
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_PIP_Problem_total_memory_in_bytes(ppl_const_PIP_Problem_t pip,
+                                      size_t* sz) try {
+  *sz = to_const(pip)->total_memory_in_bytes();
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_PIP_Problem_external_memory_in_bytes(ppl_const_PIP_Problem_t pip,
+                                         size_t* sz) try {
+  *sz = to_const(pip)->external_memory_in_bytes();
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_PIP_Tree_Node_as_solution(ppl_const_PIP_Tree_Node_t spip_tree,
+                              ppl_const_PIP_Solution_Node_t* dpip_tree) try {
+  *dpip_tree = to_const(to_const(spip_tree)->as_solution());
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_PIP_Tree_Node_as_decision(ppl_const_PIP_Tree_Node_t spip_tree,
+                              ppl_const_PIP_Decision_Node_t* dpip_tree) try {
+  *dpip_tree = to_const(to_const(spip_tree)->as_decision());
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_PIP_Tree_Node_get_constraints(ppl_const_PIP_Tree_Node_t pip_tree,
+                                  ppl_const_Constraint_System_t* pcs) try {
+  const PIP_Tree_Node& spip_tree = *to_const(pip_tree);
+  const Constraint_System& cs = spip_tree.constraints();
+  *pcs = to_const(&cs);
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_PIP_Tree_Node_OK(ppl_const_PIP_Tree_Node_t pip_tree) try {
+  return to_const(pip_tree)->OK() ? 1 : 0;
+}
+CATCH_ALL
+
+int
+ppl_PIP_Tree_Node_number_of_artificials(ppl_const_PIP_Tree_Node_t pip_tree,
+					ppl_dimension_type* m) try {
+  const PIP_Tree_Node& node = *to_const(pip_tree);
+  *m = node.art_parameter_count();
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_PIP_Tree_Node_begin
+(ppl_const_PIP_Tree_Node_t pip_tree,
+ ppl_Artificial_Parameter_Sequence_const_iterator_t pit) try {
+  PIP_Tree_Node::Artificial_Parameter_Sequence::const_iterator& spit
+    = *to_nonconst(pit);
+  spit = to_const(pip_tree)->art_parameter_begin();
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_PIP_Tree_Node_end
+(ppl_const_PIP_Tree_Node_t pip_tree,
+ ppl_Artificial_Parameter_Sequence_const_iterator_t pit) try {
+  PIP_Tree_Node::Artificial_Parameter_Sequence::const_iterator& spit
+    = *to_nonconst(pit);
+  spit = to_const(pip_tree)->art_parameter_end();
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_PIP_Solution_Node_get_parametric_values
+  (ppl_const_PIP_Solution_Node_t pip_sol,
+   ppl_dimension_type var,
+   ppl_const_Linear_Expression_t* le) try {
+  const PIP_Solution_Node& spip_sol = *to_const(pip_sol);
+  const Linear_Expression& lle = spip_sol.parametric_values(Variable(var));
+  *le = to_const(&lle);
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_PIP_Solution_Node_OK(ppl_const_PIP_Solution_Node_t pip_sol) try {
+  return to_const(pip_sol)->OK() ? 1 : 0;
+}
+CATCH_ALL
+
+int
+ppl_PIP_Decision_Node_OK(ppl_const_PIP_Decision_Node_t pip_dec) try {
+  return to_const(pip_dec)->OK() ? 1 : 0;
+}
+CATCH_ALL
+
+int
+ppl_PIP_Decision_Node_get_child_node(ppl_const_PIP_Decision_Node_t pip_dec,
+                                     int b,
+                                     ppl_const_PIP_Tree_Node_t* pip_tree) try {
+  *pip_tree = to_const(to_const(pip_dec)->child_node(b));
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_Artificial_Parameter_get_Linear_Expression
+(ppl_const_Artificial_Parameter_t ap,
+ ppl_Linear_Expression_t le) try {
+  const Artificial_Parameter& sap = *to_const(ap);
+  Linear_Expression& lle = *to_nonconst(le);
+  lle = sap;
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_Artificial_Parameter_coefficient(ppl_const_Artificial_Parameter_t ap,
+                                     ppl_dimension_type var,
+                                     ppl_Coefficient_t n) try {
+  const Artificial_Parameter& sap = *to_const(ap);
+  Coefficient& nn = *to_nonconst(n);
+  nn = sap.coefficient(Variable(var));
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_Artificial_Parameter_inhomogeneous_term
+(ppl_const_Artificial_Parameter_t ap, ppl_Coefficient_t n) try {
+  const Artificial_Parameter& sap = *to_const(ap);
+  Coefficient& nn = *to_nonconst(n);
+  nn = sap.inhomogeneous_term();
+  return 0;
+}
+CATCH_ALL
+
+
+int
+ppl_Artificial_Parameter_denominator(ppl_const_Artificial_Parameter_t ap,
+                                     ppl_Coefficient_t n) try {
+  const Artificial_Parameter& sap = *to_const(ap);
+  Coefficient& nn = *to_nonconst(n);
+  nn = sap.denominator();
+  return 0;
+}
+CATCH_ALL
+
+
+/* Interface for Artificial_Parameter_Sequence::const_iterator. */
+
+int
+ppl_new_Artificial_Parameter_Sequence_const_iterator
+(ppl_Artificial_Parameter_Sequence_const_iterator_t* papit) try {
+  *papit = to_nonconst(new Artificial_Parameter_Sequence::const_iterator());
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_new_Artificial_Parameter_Sequence_const_iterator_from_Artificial_Parameter_Sequence_const_iterator
+(ppl_Artificial_Parameter_Sequence_const_iterator_t* papit,
+ ppl_const_Artificial_Parameter_Sequence_const_iterator_t apit)  try {
+  *papit = to_nonconst(new Artificial_Parameter_Sequence::const_iterator(*to_const(apit)));
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_delete_Artificial_Parameter_Sequence_const_iterator
+(ppl_const_Artificial_Parameter_Sequence_const_iterator_t apit)
+  try {
+  delete to_const(apit);
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_assign_Artificial_Parameter_Sequence_const_iterator_from_Artificial_Parameter_Sequence_const_iterator
+(ppl_Artificial_Parameter_Sequence_const_iterator_t dst,
+ ppl_const_Artificial_Parameter_Sequence_const_iterator_t src) try {
+  const Artificial_Parameter_Sequence::const_iterator& ssrc = *to_const(src);
+  Artificial_Parameter_Sequence::const_iterator& ddst = *to_nonconst(dst);
+  ddst = ssrc;
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_Artificial_Parameter_Sequence_const_iterator_dereference
+(ppl_const_Artificial_Parameter_Sequence_const_iterator_t apit,
+ ppl_const_Artificial_Parameter_t* pap) try {
+  const Artificial_Parameter_Sequence::const_iterator& papit = *to_const(apit);
+  const Artificial_Parameter& ap = *papit;
+  *pap = to_const(&ap);
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_Artificial_Parameter_Sequence_const_iterator_increment
+(ppl_Artificial_Parameter_Sequence_const_iterator_t apit) try {
+  Artificial_Parameter_Sequence::const_iterator& papit = *to_nonconst(apit);
+  ++papit;
+  return 0;
+}
+CATCH_ALL
+
+int
+ppl_Artificial_Parameter_Sequence_const_iterator_equal_test
+(ppl_const_Artificial_Parameter_Sequence_const_iterator_t x,
+ ppl_const_Artificial_Parameter_Sequence_const_iterator_t y) try {
+  const Artificial_Parameter_Sequence::const_iterator& xx = *to_const(x);
+  const Artificial_Parameter_Sequence::const_iterator& yy = *to_const(y);
+  return (xx == yy) ? 1 : 0;
+}
+CATCH_ALL
+
+int
 ppl_io_print_variable(ppl_dimension_type var) try {
   const char* b = c_variable_output_function(var);
   if (b == 0 || puts(b) < 0)
@@ -2026,6 +2638,16 @@ DEFINE_OUTPUT_FUNCTIONS(Grid_Generator_System)
 
 DEFINE_OUTPUT_FUNCTIONS(MIP_Problem)
 
+DEFINE_OUTPUT_FUNCTIONS(PIP_Problem)
+
+DEFINE_OUTPUT_FUNCTIONS(PIP_Tree_Node)
+
+DEFINE_OUTPUT_FUNCTIONS(PIP_Decision_Node)
+
+DEFINE_OUTPUT_FUNCTIONS(PIP_Solution_Node)
+
+DEFINE_OUTPUT_FUNCTIONS(Artificial_Parameter)
+
 char*
 ppl_io_wrap_string(const char* src,
 		   unsigned indent_depth,
diff --git a/interfaces/C/ppl_c_implementation_common.defs.hh b/interfaces/C/ppl_c_implementation_common.defs.hh
index b85c443..eb72f0a 100644
--- a/interfaces/C/ppl_c_implementation_common.defs.hh
+++ b/interfaces/C/ppl_c_implementation_common.defs.hh
@@ -1,5 +1,5 @@
 /* Implementation of the C interface: declarations.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -25,6 +25,9 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 #define PPL_NO_AUTOMATIC_INITIALIZATION
 #include "ppl.hh"
+#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
+#include "pwl.hh"
+#endif
 #include "ppl_c.h"
 #include <stdexcept>
 
@@ -43,6 +46,12 @@ void notify_error(enum ppl_enum_error_code code, const char* description);
 
 Relation_Symbol relation_symbol(enum ppl_enum_Constraint_Type t);
 
+Bounded_Integer_Type_Width
+bounded_integer_type_width(enum ppl_enum_Bounded_Integer_Type_Width w);
+
+Bounded_Integer_Type_Representation
+bounded_integer_type_representation(enum ppl_enum_Bounded_Integer_Type_Representation r);
+
 /*! \brief
   A class to wrap an array of fixed length into a partial function interface
   suitable for the map_space_dimension() methods.
@@ -93,6 +102,31 @@ private:
   mutable int empty;
 };
 
+class timeout_exception : public Parma_Polyhedra_Library::Throwable {
+public:
+  void throw_me() const {
+    throw *this;
+  }
+  int priority() const {
+    return 0;
+  }
+};
+
+void reset_timeout();
+
+class deterministic_timeout_exception
+  : public Parma_Polyhedra_Library::Throwable {
+public:
+  void throw_me() const {
+    throw *this;
+  }
+  int priority() const {
+    return 0;
+  }
+};
+
+void reset_deterministic_timeout();
+
 } // namespace C
 
 } // namespace Interfaces
@@ -111,10 +145,21 @@ CATCH_STD_EXCEPTION(bad_alloc, PPL_ERROR_OUT_OF_MEMORY) \
 CATCH_STD_EXCEPTION(invalid_argument, PPL_ERROR_INVALID_ARGUMENT) \
 CATCH_STD_EXCEPTION(domain_error, PPL_ERROR_DOMAIN_ERROR) \
 CATCH_STD_EXCEPTION(length_error, PPL_ERROR_LENGTH_ERROR) \
+CATCH_STD_EXCEPTION(logic_error, PPL_ERROR_LOGIC_ERROR) \
 CATCH_STD_EXCEPTION(overflow_error, PPL_ARITHMETIC_OVERFLOW) \
 CATCH_STD_EXCEPTION(runtime_error, PPL_ERROR_INTERNAL_ERROR) \
 CATCH_STD_EXCEPTION(exception, PPL_ERROR_UNKNOWN_STANDARD_EXCEPTION) \
-catch (...) {						     \
+catch (timeout_exception&) { \
+  reset_timeout(); \
+  notify_error(PPL_TIMEOUT_EXCEPTION, "PPL timeout expired"); \
+  return PPL_TIMEOUT_EXCEPTION; \
+} \
+catch (deterministic_timeout_exception&) { \
+  reset_deterministic_timeout(); \
+  notify_error(PPL_TIMEOUT_EXCEPTION, "PPL deterministic timeout expired"); \
+  return PPL_TIMEOUT_EXCEPTION; \
+} \
+catch (...) { \
   notify_error(PPL_ERROR_UNEXPECTED_ERROR, \
 	       "completely unexpected error: a bug in the PPL"); \
   return PPL_ERROR_UNEXPECTED_ERROR; \
diff --git a/interfaces/C/ppl_c_implementation_common.inlines.hh b/interfaces/C/ppl_c_implementation_common.inlines.hh
index 0a3217e..ee7175d 100644
--- a/interfaces/C/ppl_c_implementation_common.inlines.hh
+++ b/interfaces/C/ppl_c_implementation_common.inlines.hh
@@ -1,5 +1,5 @@
 /* Implementation of the C interface: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -75,8 +75,30 @@ Grid_Generator_System_const_iterator;
 DECLARE_CONVERSIONS(Grid_Generator_System_const_iterator,
                     Grid_Generator_System_const_iterator)
 
+typedef PIP_Tree_Node::Artificial_Parameter
+Artificial_Parameter;
+DECLARE_CONVERSIONS(Artificial_Parameter, Artificial_Parameter)
+
+typedef PIP_Tree_Node::Artificial_Parameter_Sequence
+Artificial_Parameter_Sequence;
+DECLARE_CONVERSIONS(Artificial_Parameter_Sequence,
+                    Artificial_Parameter_Sequence)
+
+typedef PIP_Tree_Node::Artificial_Parameter_Sequence::const_iterator
+Artificial_Parameter_Sequence_const_iterator;
+DECLARE_CONVERSIONS(Artificial_Parameter_Sequence_const_iterator,
+                    Artificial_Parameter_Sequence_const_iterator)
+
 DECLARE_CONVERSIONS(MIP_Problem, MIP_Problem)
 
+DECLARE_CONVERSIONS(PIP_Problem, PIP_Problem)
+
+DECLARE_CONVERSIONS(PIP_Tree_Node, PIP_Tree_Node)
+
+DECLARE_CONVERSIONS(PIP_Decision_Node, PIP_Decision_Node)
+
+DECLARE_CONVERSIONS(PIP_Solution_Node, PIP_Solution_Node)
+
 inline Relation_Symbol
 relation_symbol(enum ppl_enum_Constraint_Type t) {
   switch (t) {
@@ -95,6 +117,50 @@ relation_symbol(enum ppl_enum_Constraint_Type t) {
   }
 }
 
+inline Bounded_Integer_Type_Width
+bounded_integer_type_width(enum ppl_enum_Bounded_Integer_Type_Width w) {
+  switch (w) {
+  case PPL_BITS_8:
+    return BITS_8;
+  case PPL_BITS_16:
+    return BITS_16;
+  case PPL_BITS_32:
+    return BITS_32;
+  case PPL_BITS_64:
+    return BITS_64;
+  case PPL_BITS_128:
+    return BITS_128;
+  default:
+    return static_cast<Bounded_Integer_Type_Width>(w);
+  }
+}
+
+inline Bounded_Integer_Type_Representation
+bounded_integer_type_representation(enum ppl_enum_Bounded_Integer_Type_Representation r) {
+  switch (r) {
+  case PPL_UNSIGNED:
+    return UNSIGNED;
+  case PPL_SIGNED_2_COMPLEMENT:
+    return SIGNED_2_COMPLEMENT;
+  default:
+    return static_cast<Bounded_Integer_Type_Representation>(r);
+  }
+}
+
+inline Bounded_Integer_Type_Overflow
+bounded_integer_type_overflow(enum ppl_enum_Bounded_Integer_Type_Overflow o) {
+  switch (o) {
+  case PPL_OVERFLOW_WRAPS:
+    return OVERFLOW_WRAPS;
+  case PPL_OVERFLOW_UNDEFINED:
+    return OVERFLOW_UNDEFINED;
+  case PPL_OVERFLOW_IMPOSSIBLE:
+    return OVERFLOW_IMPOSSIBLE;
+  default:
+    return static_cast<Bounded_Integer_Type_Overflow>(o);
+  }
+}
+
 inline
 Array_Partial_Function_Wrapper
 ::Array_Partial_Function_Wrapper(dimension_type* v, size_t n)
diff --git a/interfaces/C/ppl_c_version.h.in b/interfaces/C/ppl_c_version.h.in
index 106be62..b0721d0 100644
--- a/interfaces/C/ppl_c_version.h.in
+++ b/interfaces/C/ppl_c_version.h.in
@@ -1,5 +1,5 @@
 /* Header file providing version information for the C interface.  -*- C -*-
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/C/ppl_interface_generator_c_cc_code.m4 b/interfaces/C/ppl_interface_generator_c_cc_code.m4
index 0c24cba..d0e6174 100644
--- a/interfaces/C/ppl_interface_generator_c_cc_code.m4
+++ b/interfaces/C/ppl_interface_generator_c_cc_code.m4
@@ -5,7 +5,7 @@ This m4 file contains the program implementation code for generating the
 files ppl_c_DOMAIN.cc for each interface domain DOMAIN
 in ppl_interface instantiations.m4.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -258,6 +258,27 @@ CATCH_ALL
 
 ')
 
+m4_define(`ppl_ at CLASS@_frequency_code',
+`int
+ppl_ at CLASS@_frequency
+(ppl_const_ at CLASS@_t ph,
+ ppl_const_Linear_Expression_t le,
+ ppl_Coefficient_t freq_n,
+ ppl_Coefficient_t freq_d,
+ ppl_Coefficient_t val_n,
+ ppl_Coefficient_t val_d) try {
+  const @CPP_CLASS@& pph = *to_const(ph);
+  const Linear_Expression& lle = *to_const(le);
+  Coefficient& pfreq_n = *to_nonconst(freq_n);
+  Coefficient& pfreq_d = *to_nonconst(freq_d);
+  Coefficient& pval_n = *to_nonconst(val_n);
+  Coefficient& pval_d = *to_nonconst(val_d);
+  return pph.frequency(lle, pfreq_n, pfreq_d, pval_n, pval_d);
+}
+CATCH_ALL
+
+')
+
 m4_define(`ppl_ at CLASS@_ at COMPARISON@_ at CLASS@_code',
 `int
 ppl_ at CLASS@_ at COMPARISON@_ at CLASS@
@@ -325,10 +346,10 @@ ppl_ at CLASS@_unconstrain_space_dimensions
  ppl_dimension_type ds[],
  size_t n) try {
   @CPP_CLASS@& pph = *to_nonconst(ph);
-  Variables_Set to_be_unconstrained;
+  Variables_Set vars;
   for (ppl_dimension_type i = n; i-- > 0; )
-    to_be_unconstrained.insert(ds[i]);
-  pph.unconstrain(to_be_unconstrained);
+    vars.insert(ds[i]);
+  pph.unconstrain(vars);
   return 0;
 }
 CATCH_ALL
@@ -362,19 +383,6 @@ CATCH_ALL
 
 ')
 
-m4_define(`ppl_ at CLASS@_ at BINMINOP@_code',
-`int
-ppl_ at CLASS@_ at BINMINOP@
-(ppl_ at CLASS@_t x,
- ppl_const_ at CLASS@_t y) try {
-  @CPP_CLASS@& xx = *to_nonconst(x);
-  const @CPP_CLASS@& yy = *to_const(y);
-  return xx. at BINMINOP@(yy);
-}
-CATCH_ALL
-
-')
-
 m4_define(`ppl_ at CLASS@_ at UB_EXACT@_code',
 `int
 ppl_ at CLASS@_ at UB_EXACT@
@@ -448,19 +456,6 @@ CATCH_ALL
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize_code',
-`int
-ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize
-(ppl_ at CLASS@_t ph,
- ppl_const_@!CLASS_REPRESENT at _t c) try {
-  @CPP_CLASS@& pph = *to_nonconst(ph);
-  const @!CLASS_REPRESENT@& cc = *to_const(c);
-  return pph.add_ at CLASS_REPRESENT@_and_minimize(cc) ? 1 : 0;
-}
-CATCH_ALL
-
-')
-
 m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_code',
 `int
 ppl_ at CLASS@_add_ at CLASS_REPRESENT@s
@@ -489,19 +484,6 @@ CATCH_ALL
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize_code',
-`int
-ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize
-(ppl_ at CLASS@_t ph,
- ppl_const_@!CLASS_REPRESENT at _System_t cs) try {
-  @CPP_CLASS@& pph = *to_nonconst(ph);
-  const @!CLASS_REPRESENT at _System& ccs = *to_const(cs);
-  return pph.add_ at CLASS_REPRESENT@s_and_minimize(ccs) ? 1 : 0;
-}
-CATCH_ALL
-
-')
-
 m4_define(`ppl_ at CLASS@_add_recycled_ at CLASS_REPRESENT@s_code',
 `int
 ppl_ at CLASS@_add_recycled_ at CLASS_REPRESENT@s
@@ -809,10 +791,10 @@ ppl_ at CLASS@_remove_space_dimensions
  ppl_dimension_type ds[],
  size_t n) try {
   @CPP_CLASS@& pph = *to_nonconst(ph);
-  Variables_Set to_be_removed;
+  Variables_Set vars;
   for (ppl_dimension_type i = n; i-- > 0; )
-    to_be_removed.insert(ds[i]);
-  pph.remove_space_dimensions(to_be_removed);
+    vars.insert(ds[i]);
+  pph.remove_space_dimensions(vars);
   return 0;
 }
 CATCH_ALL
@@ -869,10 +851,61 @@ ppl_ at CLASS@_fold_space_dimensions
  size_t n,
  ppl_dimension_type d) try {
   @CPP_CLASS@& pph = *to_nonconst(ph);
-  Variables_Set to_be_folded;
+  Variables_Set vars;
   for (ppl_dimension_type i = n; i-- > 0; )
-    to_be_folded.insert(ds[i]);
-  pph.fold_space_dimensions(to_be_folded, Variable(d));
+    vars.insert(ds[i]);
+  pph.fold_space_dimensions(vars, Variable(d));
+  return 0;
+}
+CATCH_ALL
+
+')
+
+m4_define(`ppl_ at CLASS@_drop_some_non_integer_points_code',
+`int
+ppl_ at CLASS@_drop_some_non_integer_points
+(ppl_ at CLASS@_t ph,
+ int complexity) try {
+  @CPP_CLASS@& pph = *to_nonconst(ph);
+  switch (complexity) {
+  case 0:
+    pph.drop_some_non_integer_points(POLYNOMIAL_COMPLEXITY);
+    break;
+  case 1:
+    pph.drop_some_non_integer_points(SIMPLEX_COMPLEXITY);
+    break;
+  case 2:
+    pph.drop_some_non_integer_points(ANY_COMPLEXITY);
+    break;
+  }
+  return 0;
+}
+CATCH_ALL
+
+')
+
+m4_define(`ppl_ at CLASS@_drop_some_non_integer_points_2_code',
+`int
+ppl_ at CLASS@_drop_some_non_integer_points_2
+(ppl_ at CLASS@_t ph,
+ ppl_dimension_type ds[],
+ size_t n,
+ int complexity) try {
+  @CPP_CLASS@& pph = *to_nonconst(ph);
+  Variables_Set vars;
+  for (ppl_dimension_type i = n; i-- > 0; )
+    vars.insert(ds[i]);
+  switch (complexity) {
+  case 0:
+    pph.drop_some_non_integer_points(vars, POLYNOMIAL_COMPLEXITY);
+    break;
+  case 1:
+    pph.drop_some_non_integer_points(vars, SIMPLEX_COMPLEXITY);
+    break;
+  case 2:
+    pph.drop_some_non_integer_points(vars, ANY_COMPLEXITY);
+    break;
+  }
   return 0;
 }
 CATCH_ALL
@@ -1095,7 +1128,7 @@ ppl_ at CLASS@_iterator_dereference
 (ppl_const_ at CLASS@_iterator_t psit,
  ppl_const_ at DISJUNCT@_t* cd) try {
    const @CPP_CLASS@::iterator& cpsit = *to_const(psit);
-   const @DISJUNCT_TOPOLOGY@@A_DISJUNCT@& d = cpsit->element();
+   const @DISJUNCT_TOPOLOGY@@A_DISJUNCT@& d = cpsit->pointset();
    *cd = to_const(&d);
    return 0;
 }
@@ -1106,7 +1139,7 @@ ppl_ at CLASS@_const_iterator_dereference
 (ppl_const_ at CLASS@_const_iterator_t psit,
  ppl_const_ at DISJUNCT@_t* cd) try {
    const @CPP_CLASS@::const_iterator& cpsit = *to_const(psit);
-   const @DISJUNCT_TOPOLOGY@@A_DISJUNCT@& d = cpsit->element();
+   const @DISJUNCT_TOPOLOGY@@A_DISJUNCT@& d = cpsit->pointset();
    *cd = to_const(&d);
    return 0;
 }
@@ -1194,3 +1227,166 @@ ppl_ at CLASS@_approximate_ at PARTITION@
 CATCH_ALL
 
 ')
+
+m4_define(`ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+`dnl
+int
+ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@
+(ppl_const_ at CLASS@_t pset) try {
+  const @TOPOLOGY@@CPP_CLASS@& ppset
+    = *static_cast<const @TOPOLOGY@@CPP_CLASS@*>(to_const(pset));
+  return termination_test_ at TERMINATION_ID@(ppset);
+}
+CATCH_ALL
+
+')
+
+m4_define(`ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_code',
+`dnl
+int
+ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2
+(ppl_const_ at CLASS@_t pset_before, ppl_const_ at CLASS@_t pset_after) try {
+  const @TOPOLOGY@@CPP_CLASS@& ppset_before
+    = *static_cast<const @TOPOLOGY@@CPP_CLASS@*>(to_const(pset_before));
+  const @TOPOLOGY@@CPP_CLASS@& ppset_after
+    = *static_cast<const @TOPOLOGY@@CPP_CLASS@*>(to_const(pset_after));
+  return termination_test_ at TERMINATION_ID@_2(ppset_before, ppset_after);
+}
+CATCH_ALL
+
+')
+
+m4_define(`ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+`int
+ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@
+(ppl_const_ at CLASS@_t pset,
+ ppl_Generator_t point) try {
+  const @TOPOLOGY@@CPP_CLASS@& ppset
+    = *static_cast<const @TOPOLOGY@@CPP_CLASS@*>(to_const(pset));
+  Generator& ppoint = *to_nonconst(point);
+  bool ok = one_affine_ranking_function_ at TERMINATION_ID@(ppset, ppoint);
+  return ok ? 1 : 0;
+}
+CATCH_ALL
+
+')
+
+m4_define(`ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_code',
+`int
+ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2
+(ppl_const_ at CLASS@_t pset_before,
+ ppl_const_ at CLASS@_t pset_after,
+ ppl_Generator_t point) try {
+  const @TOPOLOGY@@CPP_CLASS@& ppset_before
+    = *static_cast<const @TOPOLOGY@@CPP_CLASS@*>(to_const(pset_before));
+  const @TOPOLOGY@@CPP_CLASS@& ppset_after
+    = *static_cast<const @TOPOLOGY@@CPP_CLASS@*>(to_const(pset_after));
+  Generator& ppoint = *to_nonconst(point);
+  bool ok = one_affine_ranking_function_ at TERMINATION_ID@_2(ppset_before,
+                                                           ppset_after,
+                                                           ppoint);
+  return ok ? 1 : 0;
+}
+CATCH_ALL
+
+')
+
+m4_define(`ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+`int
+ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@
+(ppl_const_ at CLASS@_t pset,
+ ppl_Polyhedron_t ph) try {
+  const @TOPOLOGY@@CPP_CLASS@& ppset
+    = *static_cast<const @TOPOLOGY@@CPP_CLASS@*>(to_const(pset));
+  all_affine_ranking_functions_ at TERMINATION_ID@
+    (ppset, *static_cast<@A_TERMINATION_ID at Polyhedron*> (to_nonconst(ph)));
+  return 0;
+}
+CATCH_ALL
+
+')
+
+m4_define(`ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_code',
+`int
+ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2
+(ppl_const_ at CLASS@_t pset_before,
+ ppl_const_ at CLASS@_t pset_after,
+ ppl_Polyhedron_t ph) try {
+  const @TOPOLOGY@@CPP_CLASS@& ppset_before
+    = *static_cast<const @TOPOLOGY@@CPP_CLASS@*>(to_const(pset_before));
+  const @TOPOLOGY@@CPP_CLASS@& ppset_after
+    = *static_cast<const @TOPOLOGY@@CPP_CLASS@*>(to_const(pset_after));
+  all_affine_ranking_functions_ at TERMINATION_ID@_2
+    (ppset_before, ppset_after,
+     *static_cast<@A_TERMINATION_ID at Polyhedron*>(to_nonconst(ph)));
+  return 0;
+}
+CATCH_ALL
+
+')
+
+m4_define(`ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _code',
+`int
+ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS@
+(ppl_const_ at CLASS@_t pset,
+ ppl_Polyhedron_t ph_decreasing,
+ ppl_Polyhedron_t ph_bounded) try {
+  const @TOPOLOGY@@CPP_CLASS@& ppset
+    = *static_cast<const @TOPOLOGY@@CPP_CLASS@*>(to_const(pset));
+  all_affine_quasi_ranking_functions_MS(ppset,
+    *static_cast<C_Polyhedron*>(to_nonconst(ph_decreasing)),
+    *static_cast<C_Polyhedron*>(to_nonconst(ph_bounded)));
+  return 0;
+}
+CATCH_ALL
+
+')
+
+m4_define(`ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _2_code',
+`int
+ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _2
+(ppl_const_ at CLASS@_t pset_before,
+ ppl_const_ at CLASS@_t pset_after,
+ ppl_Polyhedron_t ph_decreasing,
+ ppl_Polyhedron_t ph_bounded) try {
+  const @TOPOLOGY@@CPP_CLASS@& ppset_before
+    = *static_cast<const @TOPOLOGY@@CPP_CLASS@*>(to_const(pset_before));
+  const @TOPOLOGY@@CPP_CLASS@& ppset_after
+    = *static_cast<const @TOPOLOGY@@CPP_CLASS@*>(to_const(pset_after));
+  all_affine_quasi_ranking_functions_MS_2(ppset_before, ppset_after,
+    *static_cast<C_Polyhedron*>(to_nonconst(ph_decreasing)),
+    *static_cast<C_Polyhedron*>(to_nonconst(ph_bounded)));
+  return 0;
+}
+CATCH_ALL
+
+')
+
+m4_define(`ppl_ at CLASS@_wrap_assign_code',
+`int
+ppl_ at CLASS@_wrap_assign
+(ppl_ at CLASS@_t ph,
+ ppl_dimension_type ds[],
+ size_t n,
+ enum ppl_enum_Bounded_Integer_Type_Width w,
+ enum ppl_enum_Bounded_Integer_Type_Representation r,
+ enum ppl_enum_Bounded_Integer_Type_Overflow o,
+ const ppl_const_Constraint_System_t* pcs,
+ unsigned complexity_threshold,
+ int wrap_individually) try {
+  @CPP_CLASS@& pph = *to_nonconst(ph);
+  Variables_Set vars;
+  for (ppl_dimension_type i = n; i-- > 0; )
+    vars.insert(ds[i]);
+  const Constraint_System* ccs = to_const(*pcs);
+  bool b = wrap_individually;
+  pph.wrap_assign(vars,
+                  bounded_integer_type_width(w),
+                  bounded_integer_type_representation(r),
+                  bounded_integer_type_overflow(o),
+                  ccs, complexity_threshold, b);
+  return 0;
+}
+CATCH_ALL
+
+')
diff --git a/interfaces/C/ppl_interface_generator_c_cc_files.m4 b/interfaces/C/ppl_interface_generator_c_cc_files.m4
index fdfef11..81ab8e6 100644
--- a/interfaces/C/ppl_interface_generator_c_cc_files.m4
+++ b/interfaces/C/ppl_interface_generator_c_cc_files.m4
@@ -4,7 +4,7 @@ m4_divert(-1)
 dnl This m4 file generates the file ppl_c_cc
 dnl using the code in ppl_interface_generator_c_cc_code.m4.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -39,7 +39,8 @@ dnl -----------------------------------------------------------------
 dnl Prefix extra code for each class.
 m4_define(`m4_pre_extra_class_code', `dnl
 m4_define(`m4_current_interface', m4_interface_class`'$1)`'dnl
-%<--%<--%<-- ppl_c_`'m4_current_interface`'.cc
+___END_OF_FILE___
+___BEGIN_OF_FILE___ ppl_c_`'m4_current_interface`'.cc << ___END_OF_FILE___
 /* C m4_current_interface interface code: definitions.
 m4_include(`ppl_interface_generator_copyright')`'dnl
 */
@@ -63,5 +64,6 @@ dnl Output the main class-dependent code.
 dnl -----------------------------------------------------------------
 m4_divert`'dnl
 m4_all_code`'dnl
+___END_OF_FILE___
 dnl
 dnl End of file generation.
diff --git a/interfaces/C/ppl_interface_generator_c_h.m4 b/interfaces/C/ppl_interface_generator_c_h.m4
index 0c71423..649edf7 100644
--- a/interfaces/C/ppl_interface_generator_c_h.m4
+++ b/interfaces/C/ppl_interface_generator_c_h.m4
@@ -4,7 +4,7 @@ m4_divert(-1)
 dnl This m4 file generates the file ppl_c_domains.h
 dnl using the code in ppl_interface_generator_c_h_code.m4.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/interfaces/C/ppl_interface_generator_c_h_code.m4 b/interfaces/C/ppl_interface_generator_c_h_code.m4
index 322534c..6eadb9e 100644
--- a/interfaces/C/ppl_interface_generator_c_h_code.m4
+++ b/interfaces/C/ppl_interface_generator_c_h_code.m4
@@ -4,7 +4,7 @@ m4_divert(-1)
 This m4 file contains the program header code for generating the
 files ppl_c_domains.h.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -34,6 +34,89 @@ dnl There is no code at present for these procedures in the C interface.
 dnl Remove the macro if its definition is added.
 dnl
 
+m4_define(`ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+`dnl
+/*! \relates ppl_ at CLASS@_tag */
+int
+ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@
+PPL_PROTO((ppl_const_ at CLASS@_t pset));
+
+')
+
+m4_define(`ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_code',
+`dnl
+/*! \relates ppl_ at CLASS@_tag */
+int
+ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2
+PPL_PROTO((ppl_const_ at CLASS@_t pset_before, ppl_const_ at CLASS@_t pset_after));
+
+')
+
+m4_define(`ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+`dnl
+/*! \relates ppl_ at CLASS@_tag */
+int
+ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@
+PPL_PROTO((ppl_const_ at CLASS@_t pset,
+           ppl_Generator_t point));
+
+')
+
+m4_define(`ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_code',
+`dnl
+/*! \relates ppl_ at CLASS@_tag */
+int
+ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2
+PPL_PROTO((ppl_const_ at CLASS@_t pset_before,
+           ppl_const_ at CLASS@_t pset_after,
+           ppl_Generator_t point));
+
+')
+
+m4_define(`ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+`dnl
+/*! \relates ppl_ at CLASS@_tag */
+int
+ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@
+PPL_PROTO((ppl_const_ at CLASS@_t pset,
+           ppl_Polyhedron_t ph));
+
+')
+
+m4_define(`ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_code',
+`dnl
+/*! \relates ppl_ at CLASS@_tag */
+int
+ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2
+PPL_PROTO((ppl_const_ at CLASS@_t pset_before,
+           ppl_const_ at CLASS@_t pset_after,
+           ppl_Polyhedron_t ph));
+
+')
+
+m4_define(`ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _code',
+`dnl
+/*! \relates ppl_ at CLASS@_tag */
+int
+ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS@
+PPL_PROTO((ppl_const_ at CLASS@_t pset,
+           ppl_Polyhedron_t ph_decreasing,
+           ppl_Polyhedron_t ph_bounded));
+
+')
+
+m4_define(`ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _2_code',
+`dnl
+/*! \relates ppl_ at CLASS@_tag */
+int
+ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _2
+PPL_PROTO((ppl_const_ at CLASS@_t pset_before,
+           ppl_const_ at CLASS@_t pset_after,
+           ppl_Polyhedron_t ph_decreasing,
+           ppl_Polyhedron_t ph_bounded));
+
+')
+
 m4_define(`ppl_ at CLASS@_linear_ at PARTITION@_code',
 `dnl
 /*! \relates ppl_ at CLASS@_tag */
@@ -196,6 +279,19 @@ PPL_PROTO((ppl_const_ at CLASS@_t ph,
 
 ')
 
+m4_define(`ppl_ at CLASS@_frequency_code',
+`/*! \relates ppl_ at CLASS@_tag */
+int
+ppl_ at CLASS@_frequency
+PPL_PROTO((ppl_const_ at CLASS@_t ph,
+           ppl_const_Linear_Expression_t le,
+           ppl_Coefficient_t ext_fn,
+           ppl_Coefficient_t ext_fd,
+           ppl_Coefficient_t ext_vn,
+           ppl_Coefficient_t ext_vd));
+
+')
+
 m4_define(`ppl_ at CLASS@_ at COMPARISON@_ at CLASS@_code',
 `/*! \relates ppl_ at CLASS@_tag */
 int
@@ -267,15 +363,6 @@ PPL_PROTO((ppl_ at CLASS@_t x,
 
 ')
 
-m4_define(`ppl_ at CLASS@_ at BINMINOP@_code',
-`/*! \relates ppl_ at CLASS@_tag */
-int
-ppl_ at CLASS@_ at BINMINOP@
-PPL_PROTO((ppl_ at CLASS@_t x,
-           ppl_const_ at CLASS@_t y));
-
-')
-
 m4_define(`ppl_ at CLASS@_ at UB_EXACT@_code',
 `/*! \relates ppl_ at CLASS@_tag */
 int
@@ -312,15 +399,6 @@ PPL_PROTO((ppl_ at CLASS@_t ph,
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize_code',
-`/*! \relates ppl_ at CLASS@_tag */
-int
-ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize
-PPL_PROTO((ppl_ at CLASS@_t ph,
-           ppl_const_@!CLASS_REPRESENT at _t c));
-
-')
-
 m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_code',
 `/*! \relates ppl_ at CLASS@_tag */
 int
@@ -339,15 +417,6 @@ PPL_PROTO((ppl_ at CLASS@_t ph,
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize_code',
-`/*! \relates ppl_ at CLASS@_tag */
-int
-ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize
-PPL_PROTO((ppl_ at CLASS@_t ph,
-           ppl_const_@!CLASS_REPRESENT at _System_t cs));
-
-')
-
 m4_define(`ppl_ at CLASS@_add_recycled_ at CLASS_REPRESENT@s_code',
 `/*! \relates ppl_ at CLASS@_tag */
 int
@@ -593,6 +662,43 @@ PPL_PROTO((ppl_ at CLASS@_t ph,
 
 ')
 
+m4_define(`ppl_ at CLASS@_drop_some_non_integer_points_code',
+`dnl
+/*! \relates ppl_ at CLASS@_tag */
+int
+ppl_ at CLASS@_drop_some_non_integer_points
+PPL_PROTO((ppl_ at CLASS@_t ph,
+           int complexity));
+
+')
+
+m4_define(`ppl_ at CLASS@_drop_some_non_integer_points_2_code',
+`dnl
+/*! \relates ppl_ at CLASS@_tag */
+int
+ppl_ at CLASS@_drop_some_non_integer_points_2
+PPL_PROTO((ppl_ at CLASS@_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           int complexity));
+
+')
+
+m4_define(`ppl_ at CLASS@_wrap_assign_code',
+`/*! \relates ppl_ at CLASS@_tag */
+int
+ppl_ at CLASS@_wrap_assign
+PPL_PROTO((ppl_ at CLASS@_t ph,
+           ppl_dimension_type ds[],
+           size_t n,
+           enum ppl_enum_Bounded_Integer_Type_Width w,
+           enum ppl_enum_Bounded_Integer_Type_Representation r,
+           enum ppl_enum_Bounded_Integer_Type_Overflow o,
+           const ppl_const_Constraint_System_t* pcs,
+           unsigned complexity_threshold,
+           int wrap_individually));
+')
+
 m4_define(`ppl_ at CLASS@_ at MEMBYTES@_code',
 `/*! \relates ppl_ at CLASS@_tag */
 int
diff --git a/interfaces/C/ppl_interface_generator_c_hh_files.m4 b/interfaces/C/ppl_interface_generator_c_hh_files.m4
index 29f503a..f409a40 100644
--- a/interfaces/C/ppl_interface_generator_c_hh_files.m4
+++ b/interfaces/C/ppl_interface_generator_c_hh_files.m4
@@ -4,7 +4,7 @@ m4_divert(-1)
 dnl This m4 file generates the file ppl_c_h
 dnl using the code in ppl_interface_generator_c_h_code.m4.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -29,7 +29,8 @@ dnl Include files defining macros that generate the non-fixed part.
 m4_include(`ppl_interface_generator_c_procedure_generators.m4')
 
 m4_divert`'dnl
-%<--%<--%<-- ppl_c_implementation_domains.hh
+___END_OF_FILE___
+___BEGIN_OF_FILE___ ppl_c_implementation_domains.hh << ___END_OF_FILE___
 /* C interface code: inclusion of all the domain-dependent declarations.
 m4_include(`ppl_interface_generator_copyright')dnl
 */
@@ -50,9 +51,11 @@ m4_ifelse(m4_class_group$1, box,
 
 m4_pushdef(`m4_one_class_code', `dnl
 m4_define(`m4_current_interface', m4_interface_class`'$1)`'dnl
-%<--%<--%<-- ppl_c_implementation_domains.hh
+___END_OF_FILE___
+___BEGIN_OF_FILE___ ppl_c_implementation_domains.hh << ___END_OF_FILE___
 `#'include "ppl_c_`'m4_current_interface.hh"
-%<--%<--%<-- ppl_c_`'m4_current_interface.hh
+___END_OF_FILE___
+___BEGIN_OF_FILE___ ppl_c_`'m4_current_interface.hh << ___END_OF_FILE___
 /* C m4_current_interface interface code: declarations.
 m4_include(`ppl_interface_generator_copyright')`'dnl
 */
@@ -76,5 +79,6 @@ m4_undefine(`m4_current_interface')`'dnl
 dnl Generate the non-fixed part of the file.
 m4_divert`'dnl
 m4_all_code`'dnl
+___END_OF_FILE___
 dnl
 dnl End of file generation.
diff --git a/interfaces/C/ppl_interface_generator_c_procedure_generators.m4 b/interfaces/C/ppl_interface_generator_c_procedure_generators.m4
index 08ee6c8..330dc83 100644
--- a/interfaces/C/ppl_interface_generator_c_procedure_generators.m4
+++ b/interfaces/C/ppl_interface_generator_c_procedure_generators.m4
@@ -4,7 +4,7 @@ dnl This m4 file defines the list of procedures
 dnl for the C interface; this includes:
 dnl - the list in the imported file and any C specific procedures.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -43,8 +43,11 @@ m4_define(`m4_procedure_list',
 ppl_new_ at TOPOLOGY@@CLASS at _recycle_@BUILD_REPRESENT at s +simple,
 ppl_assign_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@ +simple,
 ppl_ at CLASS@_add_recycled_ at CLASS_REPRESENT@s +simple,
-ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize/2 +polyhedron,
-ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize/2 +polyhedron,
-ppl_ at CLASS@_ at BINMINOP@/2 +polyhedron,
+ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@ +simple,
+ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@ +simple,
+ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@ +simple,
+ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2 +simple,
+ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2 +simple,
+ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2 +simple,
 )
 ')
diff --git a/interfaces/C/tests/Makefile.am b/interfaces/C/tests/Makefile.am
index d6ede19..424607d 100644
--- a/interfaces/C/tests/Makefile.am
+++ b/interfaces/C/tests/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -64,7 +64,8 @@ $(top_builddir)/interfaces/C/libppl_c.la \
 @extra_libraries@
 
 NORMAL_TESTS = \
-formatted_output
+formatted_output \
+pip_test
 
 #
 # Sources for the tests
@@ -80,25 +81,54 @@ print_to_buffer.c
 nodist_EXTRA_formatted_output_SOURCES = \
 dummy.cc
 
-#watchdog1_SRCS = watchdog1.cc
+pip_test_SOURCES = \
+pip_test.c
+
+# Dummy C++ source to cause C++ linking.
+# FIXME: why isn't enough to do this for libppl_c_tests.a?
+nodist_EXTRA_pip_test_SOURCES = \
+dummy.cc
+
+watchdog1_SRCS = watchdog1.c
+
+weightwatch1_SRCS = weightwatch1.c
 
 noinst_HEADERS = \
 ppl_c_test.h
 
 if BUILD_WATCHDOG_LIBRARY
-WATCHDOG_TESTS =
-# watchdog1
 
-# watchdog1_SOURCES = $(watchdog1_SRCS)
+WATCHDOG_TESTS = \
+watchdog1 \
+weightwatch1
+
+WATCHDOG_LIBRARY_CPPFLAGS = \
+$(AM_CPPFLAGS) \
+-I$(top_builddir)/Watchdog \
+-I$(top_builddir)/Watchdog/src
 
-# watchdog1_CPPFLAGS = \
-# $(AM_CPPFLAGS) \
-# -I$(top_builddir)/Watchdog \
-# -I$(top_builddir)/Watchdog/src
+WATCHDOG_LIBRARY_LDADD = \
+$(LDADD) \
+$(top_builddir)/Watchdog/src/libpwl.la
 
-# watchdog1_LDADD = \
-# $(LDADD) \
-# $(top_builddir)/Watchdog/src/libpwl.la
+watchdog1_SOURCES = $(watchdog1_SRCS)
+watchdog1_CPPFLAGS = $(WATCHDOG_LIBRARY_CPPFLAGS)
+watchdog1_LDADD = $(WATCHDOG_LIBRARY_LDADD)
+
+# Dummy C++ source to cause C++ linking.
+# FIXME: why isn't enough to do this for libppl_c_tests.a?
+nodist_EXTRA_watchdog1_SOURCES = \
+dummy.cc
+
+
+weightwatch1_SOURCES = $(weightwatch1_SRCS)
+weightwatch1_CPPFLAGS = $(WATCHDOG_LIBRARY_CPPFLAGS)
+weightwatch1_LDADD = $(WATCHDOG_LIBRARY_LDADD)
+
+# Dummy C++ source to cause C++ linking.
+# FIXME: why isn't enough to do this for libppl_c_tests.a?
+nodist_EXTRA_weightwatch1_SOURCES = \
+dummy.cc
 
 endif BUILD_WATCHDOG_LIBRARY
 
diff --git a/interfaces/C/tests/Makefile.in b/interfaces/C/tests/Makefile.in
index b765552..6efcf62 100644
--- a/interfaces/C/tests/Makefile.in
+++ b/interfaces/C/tests/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -38,8 +39,9 @@
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -56,7 +58,7 @@ build_triplet = @build@
 host_triplet = @host@
 TESTS = $(am__EXEEXT_1) $(am__EXEEXT_2)
 XFAIL_TESTS =
-check_PROGRAMS = $(am__EXEEXT_3) $(am__EXEEXT_2)
+check_PROGRAMS = $(am__EXEEXT_3) $(am__EXEEXT_4)
 subdir = interfaces/C/tests
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -67,6 +69,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -88,58 +91,119 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 ARFLAGS = cru
+AM_V_AR = $(am__v_AR_$(V))
+am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY))
+am__v_AR_0 = @echo "  AR    " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 libppl_c_tests_a_AR = $(AR) $(ARFLAGS)
 libppl_c_tests_a_LIBADD =
 am_libppl_c_tests_a_OBJECTS = libppl_c_tests_a-ppl_c_test.$(OBJEXT)
 libppl_c_tests_a_OBJECTS = $(am_libppl_c_tests_a_OBJECTS)
-am__EXEEXT_1 = formatted_output$(EXEEXT)
-am__EXEEXT_2 =
+am__EXEEXT_1 = formatted_output$(EXEEXT) pip_test$(EXEEXT)
+ at BUILD_WATCHDOG_LIBRARY_TRUE@am__EXEEXT_2 = watchdog1$(EXEEXT) \
+ at BUILD_WATCHDOG_LIBRARY_TRUE@	weightwatch1$(EXEEXT)
 am__EXEEXT_3 = $(am__EXEEXT_1) $(am__EXEEXT_2)
+am__EXEEXT_4 =
 am_formatted_output_OBJECTS = formatted_output.$(OBJEXT) \
 	print_to_buffer.$(OBJEXT)
 formatted_output_OBJECTS = $(am_formatted_output_OBJECTS)
 formatted_output_LDADD = $(LDADD)
 formatted_output_DEPENDENCIES = libppl_c_tests.a \
 	$(top_builddir)/interfaces/C/libppl_c.la
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+am_pip_test_OBJECTS = pip_test.$(OBJEXT)
+pip_test_OBJECTS = $(am_pip_test_OBJECTS)
+pip_test_LDADD = $(LDADD)
+pip_test_DEPENDENCIES = libppl_c_tests.a \
+	$(top_builddir)/interfaces/C/libppl_c.la
+am__watchdog1_SOURCES_DIST = watchdog1.c
+am__objects_1 = watchdog1-watchdog1.$(OBJEXT)
+ at BUILD_WATCHDOG_LIBRARY_TRUE@am_watchdog1_OBJECTS = $(am__objects_1)
+watchdog1_OBJECTS = $(am_watchdog1_OBJECTS)
+am__DEPENDENCIES_1 = libppl_c_tests.a \
+	$(top_builddir)/interfaces/C/libppl_c.la
+ at BUILD_WATCHDOG_LIBRARY_TRUE@am__DEPENDENCIES_2 =  \
+ at BUILD_WATCHDOG_LIBRARY_TRUE@	$(am__DEPENDENCIES_1) \
+ at BUILD_WATCHDOG_LIBRARY_TRUE@	$(top_builddir)/Watchdog/src/libpwl.la
+ at BUILD_WATCHDOG_LIBRARY_TRUE@watchdog1_DEPENDENCIES =  \
+ at BUILD_WATCHDOG_LIBRARY_TRUE@	$(am__DEPENDENCIES_2)
+am__weightwatch1_SOURCES_DIST = weightwatch1.c
+am__objects_2 = weightwatch1-weightwatch1.$(OBJEXT)
+ at BUILD_WATCHDOG_LIBRARY_TRUE@am_weightwatch1_OBJECTS =  \
+ at BUILD_WATCHDOG_LIBRARY_TRUE@	$(am__objects_2)
+weightwatch1_OBJECTS = $(am_weightwatch1_OBJECTS)
+ at BUILD_WATCHDOG_LIBRARY_TRUE@weightwatch1_DEPENDENCIES =  \
+ at BUILD_WATCHDOG_LIBRARY_TRUE@	$(am__DEPENDENCIES_2)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo "  CC    " $@;
 CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo "  CCLD  " $@;
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_$(V))
+am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+am__v_CXX_0 = @echo "  CXX   " $@;
 CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_$(V))
+am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libppl_c_tests_a_SOURCES) \
 	$(nodist_EXTRA_libppl_c_tests_a_SOURCES) \
 	$(formatted_output_SOURCES) \
-	$(nodist_EXTRA_formatted_output_SOURCES)
-DIST_SOURCES = $(libppl_c_tests_a_SOURCES) $(formatted_output_SOURCES)
+	$(nodist_EXTRA_formatted_output_SOURCES) $(pip_test_SOURCES) \
+	$(nodist_EXTRA_pip_test_SOURCES) $(watchdog1_SOURCES) \
+	$(nodist_EXTRA_watchdog1_SOURCES) $(weightwatch1_SOURCES) \
+	$(nodist_EXTRA_weightwatch1_SOURCES)
+DIST_SOURCES = $(libppl_c_tests_a_SOURCES) $(formatted_output_SOURCES) \
+	$(pip_test_SOURCES) $(am__watchdog1_SOURCES_DIST) \
+	$(am__weightwatch1_SOURCES_DIST)
 HEADERS = $(noinst_HEADERS)
 ETAGS = etags
 CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -186,6 +250,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -203,8 +269,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -212,6 +288,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -228,12 +305,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -276,11 +356,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -310,6 +388,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -317,6 +396,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 CHECKER = 
 #CHECKER = valgrind --tool=memcheck -q --trace-children=yes --leak-check=yes --num-callers=100 --leak-resolution=high --suppressions=$(top_srcdir)/tests/valgrind_suppressions
 TESTS_ENVIRONMENT = $(CHECKER)
@@ -348,7 +428,8 @@ $(top_builddir)/interfaces/C/libppl_c.la \
 @extra_libraries@
 
 NORMAL_TESTS = \
-formatted_output
+formatted_output \
+pip_test
 
 
 #
@@ -365,12 +446,51 @@ print_to_buffer.c
 nodist_EXTRA_formatted_output_SOURCES = \
 dummy.cc
 
+pip_test_SOURCES = \
+pip_test.c
+
+
+# Dummy C++ source to cause C++ linking.
+# FIXME: why isn't enough to do this for libppl_c_tests.a?
+nodist_EXTRA_pip_test_SOURCES = \
+dummy.cc
 
-#watchdog1_SRCS = watchdog1.cc
+watchdog1_SRCS = watchdog1.c
+weightwatch1_SRCS = weightwatch1.c
 noinst_HEADERS = \
 ppl_c_test.h
 
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_TESTS = 
+ at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_TESTS = \
+ at BUILD_WATCHDOG_LIBRARY_TRUE@watchdog1 \
+ at BUILD_WATCHDOG_LIBRARY_TRUE@weightwatch1
+
+ at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_LIBRARY_CPPFLAGS = \
+ at BUILD_WATCHDOG_LIBRARY_TRUE@$(AM_CPPFLAGS) \
+ at BUILD_WATCHDOG_LIBRARY_TRUE@-I$(top_builddir)/Watchdog \
+ at BUILD_WATCHDOG_LIBRARY_TRUE@-I$(top_builddir)/Watchdog/src
+
+ at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_LIBRARY_LDADD = \
+ at BUILD_WATCHDOG_LIBRARY_TRUE@$(LDADD) \
+ at BUILD_WATCHDOG_LIBRARY_TRUE@$(top_builddir)/Watchdog/src/libpwl.la
+
+ at BUILD_WATCHDOG_LIBRARY_TRUE@watchdog1_SOURCES = $(watchdog1_SRCS)
+ at BUILD_WATCHDOG_LIBRARY_TRUE@watchdog1_CPPFLAGS = $(WATCHDOG_LIBRARY_CPPFLAGS)
+ at BUILD_WATCHDOG_LIBRARY_TRUE@watchdog1_LDADD = $(WATCHDOG_LIBRARY_LDADD)
+
+# Dummy C++ source to cause C++ linking.
+# FIXME: why isn't enough to do this for libppl_c_tests.a?
+ at BUILD_WATCHDOG_LIBRARY_TRUE@nodist_EXTRA_watchdog1_SOURCES = \
+ at BUILD_WATCHDOG_LIBRARY_TRUE@dummy.cc
+
+ at BUILD_WATCHDOG_LIBRARY_TRUE@weightwatch1_SOURCES = $(weightwatch1_SRCS)
+ at BUILD_WATCHDOG_LIBRARY_TRUE@weightwatch1_CPPFLAGS = $(WATCHDOG_LIBRARY_CPPFLAGS)
+ at BUILD_WATCHDOG_LIBRARY_TRUE@weightwatch1_LDADD = $(WATCHDOG_LIBRARY_LDADD)
+
+# Dummy C++ source to cause C++ linking.
+# FIXME: why isn't enough to do this for libppl_c_tests.a?
+ at BUILD_WATCHDOG_LIBRARY_TRUE@nodist_EXTRA_weightwatch1_SOURCES = \
+ at BUILD_WATCHDOG_LIBRARY_TRUE@dummy.cc
+
 EXTRA_DIST = $(watchdog1_SRCS)
 BUGS = 
 all: all-am
@@ -381,14 +501,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  interfaces/C/tests/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  interfaces/C/tests/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign interfaces/C/tests/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign interfaces/C/tests/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -406,23 +526,35 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 clean-checkLIBRARIES:
 	-test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
 libppl_c_tests.a: $(libppl_c_tests_a_OBJECTS) $(libppl_c_tests_a_DEPENDENCIES) 
-	-rm -f libppl_c_tests.a
-	$(libppl_c_tests_a_AR) libppl_c_tests.a $(libppl_c_tests_a_OBJECTS) $(libppl_c_tests_a_LIBADD)
-	$(RANLIB) libppl_c_tests.a
+	$(AM_V_at)-rm -f libppl_c_tests.a
+	$(AM_V_AR)$(libppl_c_tests_a_AR) libppl_c_tests.a $(libppl_c_tests_a_OBJECTS) $(libppl_c_tests_a_LIBADD)
+	$(AM_V_at)$(RANLIB) libppl_c_tests.a
 
 clean-checkPROGRAMS:
-	@list='$(check_PROGRAMS)'; for p in $$list; do \
-	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  echo " rm -f $$p $$f"; \
-	  rm -f $$p $$f ; \
-	done
+	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
 formatted_output$(EXEEXT): $(formatted_output_OBJECTS) $(formatted_output_DEPENDENCIES) 
 	@rm -f formatted_output$(EXEEXT)
-	$(CXXLINK) $(formatted_output_OBJECTS) $(formatted_output_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(formatted_output_OBJECTS) $(formatted_output_LDADD) $(LIBS)
+pip_test$(EXEEXT): $(pip_test_OBJECTS) $(pip_test_DEPENDENCIES) 
+	@rm -f pip_test$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(pip_test_OBJECTS) $(pip_test_LDADD) $(LIBS)
+watchdog1$(EXEEXT): $(watchdog1_OBJECTS) $(watchdog1_DEPENDENCIES) 
+	@rm -f watchdog1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(watchdog1_OBJECTS) $(watchdog1_LDADD) $(LIBS)
+weightwatch1$(EXEEXT): $(weightwatch1_OBJECTS) $(weightwatch1_DEPENDENCIES) 
+	@rm -f weightwatch1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(weightwatch1_OBJECTS) $(weightwatch1_LDADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -434,78 +566,157 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/formatted_output.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libppl_c_tests_a-dummy.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libppl_c_tests_a-ppl_c_test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pip_test.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/print_to_buffer.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/watchdog1-dummy.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/watchdog1-watchdog1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/weightwatch1-dummy.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/weightwatch1-weightwatch1.Po at am__quote@
 
 .c.o:
- at am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(COMPILE) -c $<
 
 .c.obj:
- at am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
 
 .c.lo:
- at am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
 
+watchdog1-watchdog1.o: watchdog1.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(watchdog1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT watchdog1-watchdog1.o -MD -MP -MF $(DEPDIR)/watchdog1-watchdog1.Tpo -c -o watchdog1-watchdog1.o `test -f 'watchdog1.c' || echo '$(srcdir)/'`watchdog1.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/watchdog1-watchdog1.Tpo $(DEPDIR)/watchdog1-watchdog1.Po
+ at am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='watchdog1.c' object='watchdog1-watchdog1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(watchdog1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o watchdog1-watchdog1.o `test -f 'watchdog1.c' || echo '$(srcdir)/'`watchdog1.c
+
+watchdog1-watchdog1.obj: watchdog1.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(watchdog1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT watchdog1-watchdog1.obj -MD -MP -MF $(DEPDIR)/watchdog1-watchdog1.Tpo -c -o watchdog1-watchdog1.obj `if test -f 'watchdog1.c'; then $(CYGPATH_W) 'watchdog1.c'; else $(CYGPATH_W) '$(srcdir)/watchdog1.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/watchdog1-watchdog1.Tpo $(DEPDIR)/watchdog1-watchdog1.Po
+ at am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='watchdog1.c' object='watchdog1-watchdog1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(watchdog1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o watchdog1-watchdog1.obj `if test -f 'watchdog1.c'; then $(CYGPATH_W) 'watchdog1.c'; else $(CYGPATH_W) '$(srcdir)/watchdog1.c'; fi`
+
+weightwatch1-weightwatch1.o: weightwatch1.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(weightwatch1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT weightwatch1-weightwatch1.o -MD -MP -MF $(DEPDIR)/weightwatch1-weightwatch1.Tpo -c -o weightwatch1-weightwatch1.o `test -f 'weightwatch1.c' || echo '$(srcdir)/'`weightwatch1.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/weightwatch1-weightwatch1.Tpo $(DEPDIR)/weightwatch1-weightwatch1.Po
+ at am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='weightwatch1.c' object='weightwatch1-weightwatch1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(weightwatch1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o weightwatch1-weightwatch1.o `test -f 'weightwatch1.c' || echo '$(srcdir)/'`weightwatch1.c
+
+weightwatch1-weightwatch1.obj: weightwatch1.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(weightwatch1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT weightwatch1-weightwatch1.obj -MD -MP -MF $(DEPDIR)/weightwatch1-weightwatch1.Tpo -c -o weightwatch1-weightwatch1.obj `if test -f 'weightwatch1.c'; then $(CYGPATH_W) 'weightwatch1.c'; else $(CYGPATH_W) '$(srcdir)/weightwatch1.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/weightwatch1-weightwatch1.Tpo $(DEPDIR)/weightwatch1-weightwatch1.Po
+ at am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='weightwatch1.c' object='weightwatch1-weightwatch1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(weightwatch1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o weightwatch1-weightwatch1.obj `if test -f 'weightwatch1.c'; then $(CYGPATH_W) 'weightwatch1.c'; else $(CYGPATH_W) '$(srcdir)/weightwatch1.c'; fi`
+
 .cc.o:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
- at am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
 
 libppl_c_tests_a-ppl_c_test.o: ppl_c_test.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libppl_c_tests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libppl_c_tests_a-ppl_c_test.o -MD -MP -MF $(DEPDIR)/libppl_c_tests_a-ppl_c_test.Tpo -c -o libppl_c_tests_a-ppl_c_test.o `test -f 'ppl_c_test.cc' || echo '$(srcdir)/'`ppl_c_test.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/libppl_c_tests_a-ppl_c_test.Tpo $(DEPDIR)/libppl_c_tests_a-ppl_c_test.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libppl_c_tests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libppl_c_tests_a-ppl_c_test.o -MD -MP -MF $(DEPDIR)/libppl_c_tests_a-ppl_c_test.Tpo -c -o libppl_c_tests_a-ppl_c_test.o `test -f 'ppl_c_test.cc' || echo '$(srcdir)/'`ppl_c_test.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libppl_c_tests_a-ppl_c_test.Tpo $(DEPDIR)/libppl_c_tests_a-ppl_c_test.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ppl_c_test.cc' object='libppl_c_tests_a-ppl_c_test.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libppl_c_tests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libppl_c_tests_a-ppl_c_test.o `test -f 'ppl_c_test.cc' || echo '$(srcdir)/'`ppl_c_test.cc
 
 libppl_c_tests_a-ppl_c_test.obj: ppl_c_test.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libppl_c_tests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libppl_c_tests_a-ppl_c_test.obj -MD -MP -MF $(DEPDIR)/libppl_c_tests_a-ppl_c_test.Tpo -c -o libppl_c_tests_a-ppl_c_test.obj `if test -f 'ppl_c_test.cc'; then $(CYGPATH_W) 'ppl_c_test.cc'; else $(CYGPATH_W) '$(srcdir)/ppl_c_test.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/libppl_c_tests_a-ppl_c_test.Tpo $(DEPDIR)/libppl_c_tests_a-ppl_c_test.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libppl_c_tests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libppl_c_tests_a-ppl_c_test.obj -MD -MP -MF $(DEPDIR)/libppl_c_tests_a-ppl_c_test.Tpo -c -o libppl_c_tests_a-ppl_c_test.obj `if test -f 'ppl_c_test.cc'; then $(CYGPATH_W) 'ppl_c_test.cc'; else $(CYGPATH_W) '$(srcdir)/ppl_c_test.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libppl_c_tests_a-ppl_c_test.Tpo $(DEPDIR)/libppl_c_tests_a-ppl_c_test.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ppl_c_test.cc' object='libppl_c_tests_a-ppl_c_test.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libppl_c_tests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libppl_c_tests_a-ppl_c_test.obj `if test -f 'ppl_c_test.cc'; then $(CYGPATH_W) 'ppl_c_test.cc'; else $(CYGPATH_W) '$(srcdir)/ppl_c_test.cc'; fi`
 
 libppl_c_tests_a-dummy.o: dummy.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libppl_c_tests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libppl_c_tests_a-dummy.o -MD -MP -MF $(DEPDIR)/libppl_c_tests_a-dummy.Tpo -c -o libppl_c_tests_a-dummy.o `test -f 'dummy.cc' || echo '$(srcdir)/'`dummy.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/libppl_c_tests_a-dummy.Tpo $(DEPDIR)/libppl_c_tests_a-dummy.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libppl_c_tests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libppl_c_tests_a-dummy.o -MD -MP -MF $(DEPDIR)/libppl_c_tests_a-dummy.Tpo -c -o libppl_c_tests_a-dummy.o `test -f 'dummy.cc' || echo '$(srcdir)/'`dummy.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libppl_c_tests_a-dummy.Tpo $(DEPDIR)/libppl_c_tests_a-dummy.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='dummy.cc' object='libppl_c_tests_a-dummy.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libppl_c_tests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libppl_c_tests_a-dummy.o `test -f 'dummy.cc' || echo '$(srcdir)/'`dummy.cc
 
 libppl_c_tests_a-dummy.obj: dummy.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libppl_c_tests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libppl_c_tests_a-dummy.obj -MD -MP -MF $(DEPDIR)/libppl_c_tests_a-dummy.Tpo -c -o libppl_c_tests_a-dummy.obj `if test -f 'dummy.cc'; then $(CYGPATH_W) 'dummy.cc'; else $(CYGPATH_W) '$(srcdir)/dummy.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/libppl_c_tests_a-dummy.Tpo $(DEPDIR)/libppl_c_tests_a-dummy.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libppl_c_tests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libppl_c_tests_a-dummy.obj -MD -MP -MF $(DEPDIR)/libppl_c_tests_a-dummy.Tpo -c -o libppl_c_tests_a-dummy.obj `if test -f 'dummy.cc'; then $(CYGPATH_W) 'dummy.cc'; else $(CYGPATH_W) '$(srcdir)/dummy.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libppl_c_tests_a-dummy.Tpo $(DEPDIR)/libppl_c_tests_a-dummy.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='dummy.cc' object='libppl_c_tests_a-dummy.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libppl_c_tests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libppl_c_tests_a-dummy.obj `if test -f 'dummy.cc'; then $(CYGPATH_W) 'dummy.cc'; else $(CYGPATH_W) '$(srcdir)/dummy.cc'; fi`
 
+watchdog1-dummy.o: dummy.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(watchdog1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT watchdog1-dummy.o -MD -MP -MF $(DEPDIR)/watchdog1-dummy.Tpo -c -o watchdog1-dummy.o `test -f 'dummy.cc' || echo '$(srcdir)/'`dummy.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/watchdog1-dummy.Tpo $(DEPDIR)/watchdog1-dummy.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='dummy.cc' object='watchdog1-dummy.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(watchdog1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o watchdog1-dummy.o `test -f 'dummy.cc' || echo '$(srcdir)/'`dummy.cc
+
+watchdog1-dummy.obj: dummy.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(watchdog1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT watchdog1-dummy.obj -MD -MP -MF $(DEPDIR)/watchdog1-dummy.Tpo -c -o watchdog1-dummy.obj `if test -f 'dummy.cc'; then $(CYGPATH_W) 'dummy.cc'; else $(CYGPATH_W) '$(srcdir)/dummy.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/watchdog1-dummy.Tpo $(DEPDIR)/watchdog1-dummy.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='dummy.cc' object='watchdog1-dummy.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(watchdog1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o watchdog1-dummy.obj `if test -f 'dummy.cc'; then $(CYGPATH_W) 'dummy.cc'; else $(CYGPATH_W) '$(srcdir)/dummy.cc'; fi`
+
+weightwatch1-dummy.o: dummy.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(weightwatch1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT weightwatch1-dummy.o -MD -MP -MF $(DEPDIR)/weightwatch1-dummy.Tpo -c -o weightwatch1-dummy.o `test -f 'dummy.cc' || echo '$(srcdir)/'`dummy.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/weightwatch1-dummy.Tpo $(DEPDIR)/weightwatch1-dummy.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='dummy.cc' object='weightwatch1-dummy.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(weightwatch1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o weightwatch1-dummy.o `test -f 'dummy.cc' || echo '$(srcdir)/'`dummy.cc
+
+weightwatch1-dummy.obj: dummy.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(weightwatch1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT weightwatch1-dummy.obj -MD -MP -MF $(DEPDIR)/weightwatch1-dummy.Tpo -c -o weightwatch1-dummy.obj `if test -f 'dummy.cc'; then $(CYGPATH_W) 'dummy.cc'; else $(CYGPATH_W) '$(srcdir)/dummy.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/weightwatch1-dummy.Tpo $(DEPDIR)/weightwatch1-dummy.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='dummy.cc' object='weightwatch1-dummy.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(weightwatch1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o weightwatch1-dummy.obj `if test -f 'dummy.cc'; then $(CYGPATH_W) 'dummy.cc'; else $(CYGPATH_W) '$(srcdir)/dummy.cc'; fi`
+
 mostlyclean-libtool:
 	-rm -f *.lo
 
@@ -517,14 +728,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
@@ -532,37 +743,43 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
 check-TESTS: $(TESTS)
-	@failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[	 ]'; \
+	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
 	srcdir=$(srcdir); export srcdir; \
 	list=' $(TESTS) '; \
+	$(am__tty_colors); \
 	if test -n "$$list"; then \
 	  for tst in $$list; do \
 	    if test -f ./$$tst; then dir=./; \
@@ -571,49 +788,63 @@ check-TESTS: $(TESTS)
 	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
 	      all=`expr $$all + 1`; \
 	      case " $(XFAIL_TESTS) " in \
-	      *$$ws$$tst$$ws*) \
+	      *[\ \	]$$tst[\ \	]*) \
 		xpass=`expr $$xpass + 1`; \
 		failed=`expr $$failed + 1`; \
-		echo "XPASS: $$tst"; \
+		col=$$red; res=XPASS; \
 	      ;; \
 	      *) \
-		echo "PASS: $$tst"; \
+		col=$$grn; res=PASS; \
 	      ;; \
 	      esac; \
 	    elif test $$? -ne 77; then \
 	      all=`expr $$all + 1`; \
 	      case " $(XFAIL_TESTS) " in \
-	      *$$ws$$tst$$ws*) \
+	      *[\ \	]$$tst[\ \	]*) \
 		xfail=`expr $$xfail + 1`; \
-		echo "XFAIL: $$tst"; \
+		col=$$lgn; res=XFAIL; \
 	      ;; \
 	      *) \
 		failed=`expr $$failed + 1`; \
-		echo "FAIL: $$tst"; \
+		col=$$red; res=FAIL; \
 	      ;; \
 	      esac; \
 	    else \
 	      skip=`expr $$skip + 1`; \
-	      echo "SKIP: $$tst"; \
+	      col=$$blu; res=SKIP; \
 	    fi; \
+	    echo "$${col}$$res$${std}: $$tst"; \
 	  done; \
+	  if test "$$all" -eq 1; then \
+	    tests="test"; \
+	    All=""; \
+	  else \
+	    tests="tests"; \
+	    All="All "; \
+	  fi; \
 	  if test "$$failed" -eq 0; then \
 	    if test "$$xfail" -eq 0; then \
-	      banner="All $$all tests passed"; \
+	      banner="$$All$$all $$tests passed"; \
 	    else \
-	      banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
+	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
 	    fi; \
 	  else \
 	    if test "$$xpass" -eq 0; then \
-	      banner="$$failed of $$all tests failed"; \
+	      banner="$$failed of $$all $$tests failed"; \
 	    else \
-	      banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
+	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
 	    fi; \
 	  fi; \
 	  dashes="$$banner"; \
 	  skipped=""; \
 	  if test "$$skip" -ne 0; then \
-	    skipped="($$skip tests were not run)"; \
+	    if test "$$skip" -eq 1; then \
+	      skipped="($$skip test was not run)"; \
+	    else \
+	      skipped="($$skip tests were not run)"; \
+	    fi; \
 	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
 	      dashes="$$skipped"; \
 	  fi; \
@@ -624,11 +855,15 @@ check-TESTS: $(TESTS)
 	      dashes="$$report"; \
 	  fi; \
 	  dashes=`echo "$$dashes" | sed s/./=/g`; \
-	  echo "$$dashes"; \
+	  if test "$$failed" -eq 0; then \
+	    echo "$$grn$$dashes"; \
+	  else \
+	    echo "$$red$$dashes"; \
+	  fi; \
 	  echo "$$banner"; \
 	  test -z "$$skipped" || echo "$$skipped"; \
 	  test -z "$$report" || echo "$$report"; \
-	  echo "$$dashes"; \
+	  echo "$$dashes$$std"; \
 	  test "$$failed" -eq 0; \
 	else :; fi
 
@@ -648,13 +883,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -684,6 +923,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -705,6 +945,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -713,18 +955,28 @@ install-data-am:
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am:
 
 install-html: install-html-am
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-am
 
+install-pdf-am:
+
 install-ps: install-ps-am
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -747,7 +999,7 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: install-am install-strip
+.MAKE: check-am install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
 	clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
@@ -766,6 +1018,7 @@ uninstall-am:
 
 $(top_builddir)/interfaces/C/libppl_c.la:
 	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/interfaces/C libppl_c.la
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/interfaces/C/tests/formatted_output.c b/interfaces/C/tests/formatted_output.c
index 1381adc..350cef6 100644
--- a/interfaces/C/tests/formatted_output.c
+++ b/interfaces/C/tests/formatted_output.c
@@ -1,5 +1,5 @@
 /* Test the use of C++ output facilities from C code.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/C/tests/pip_test.c b/interfaces/C/tests/pip_test.c
new file mode 100644
index 0000000..80456fa
--- /dev/null
+++ b/interfaces/C/tests/pip_test.c
@@ -0,0 +1,271 @@
+/* Test the use of the PPL PIP solver from C code.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_c_test.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+
+static const char* program_name = 0;
+
+static void
+my_exit(int status) {
+  (void) ppl_finalize();
+  exit(status);
+}
+
+static void
+fatal(const char* format, ...) {
+  va_list ap;
+  fprintf(stderr, "%s: ", program_name);
+  va_start(ap, format);
+  vfprintf(stderr, format, ap);
+  va_end(ap);
+  fprintf(stderr, "\n");
+  my_exit(1);
+}
+
+static void
+error_handler(enum ppl_enum_error_code code,
+	      const char* description) {
+  fatal("PPL error code %d: %s", code, description);
+}
+
+static void
+display_solution_i(ppl_const_PIP_Tree_Node_t node,
+                   ppl_dimension_type n_vars,
+                   ppl_dimension_type n_params,
+                   const ppl_dimension_type vars[],
+                   const ppl_dimension_type parameters[],
+                   int indent) {
+  if (!node) {
+    /* A null pointer indicates the polyhedron is empty. */
+    printf("%*s_|_\n", indent*2, "");
+  }
+  else {
+    ppl_dimension_type space_dimension = n_vars + n_params;
+    ppl_dimension_type new_params;
+    ppl_const_Constraint_System_t constraints;
+    ppl_const_PIP_Decision_Node_t dn;
+    int constraints_empty;
+    ppl_PIP_Tree_Node_number_of_artificials(node, &new_params);
+    if (new_params > 0) {
+      /* Display the artificial parameters. */
+      ppl_Artificial_Parameter_Sequence_const_iterator_t i, i_end;
+      ppl_new_Artificial_Parameter_Sequence_const_iterator(&i);
+      ppl_new_Artificial_Parameter_Sequence_const_iterator(&i_end);
+      ppl_PIP_Tree_Node_begin(node, i);
+      ppl_PIP_Tree_Node_end(node, i_end);
+      while (!ppl_Artificial_Parameter_Sequence_const_iterator_equal_test
+              (i,i_end)) {
+        ppl_const_Artificial_Parameter_t ap;
+        ppl_Artificial_Parameter_Sequence_const_iterator_dereference(i, &ap);
+        printf("%*sParameter ", indent*2, "");
+        ppl_io_print_variable(space_dimension++);
+        printf(" = ");
+        ppl_io_print_Artificial_Parameter(ap);
+        printf("\n");
+        ppl_Artificial_Parameter_Sequence_const_iterator_increment(i);
+      }
+      ppl_delete_Artificial_Parameter_Sequence_const_iterator(i_end);
+      ppl_delete_Artificial_Parameter_Sequence_const_iterator(i);
+    }
+
+    ppl_PIP_Tree_Node_get_constraints(node, &constraints);
+    constraints_empty = ppl_Constraint_System_empty(constraints);
+    if (!constraints_empty) {
+      /* Display the constraints on the parameters. */
+      int notfirst = 0;
+      ppl_Constraint_System_const_iterator_t end, i;
+      ppl_new_Constraint_System_const_iterator(&i);
+      ppl_new_Constraint_System_const_iterator(&end);
+      ppl_Constraint_System_begin(constraints, i);
+      ppl_Constraint_System_end(constraints, end);
+      printf("%*sif ", indent*2, "");
+      for (; !ppl_Constraint_System_const_iterator_equal_test(i,end);
+           ppl_Constraint_System_const_iterator_increment(i)) {
+        ppl_const_Constraint_t c;
+        if (notfirst)
+          printf(" and ");
+        ppl_Constraint_System_const_iterator_dereference(i, &c);
+        ppl_io_print_Constraint(c);
+        notfirst = 1;
+      }
+      printf(" then\n");
+    }
+    ppl_PIP_Tree_Node_as_decision(node, &dn);
+    if (dn) {
+      /* The node is a decision Node: display the children nodes. */
+      ppl_const_PIP_Tree_Node_t child;
+      ppl_PIP_Decision_Node_get_child_node(dn, 1, &child);
+      display_solution_i(child, n_vars, n_params, vars, parameters, indent+1);
+      printf("%*selse\n", indent*2, "");
+      ppl_PIP_Decision_Node_get_child_node(dn, 0, &child);
+      display_solution_i(child, n_vars, n_params, vars, parameters, indent+1);
+    }
+    else {
+      /* The node is a solution Node: display the expression of the vars. */
+      int notfirst = 0;
+      ppl_const_PIP_Solution_Node_t sn;
+      ppl_dimension_type i;
+      ppl_const_Linear_Expression_t le;
+      ppl_PIP_Tree_Node_as_solution(node, &sn);
+      printf("%*s{", indent*2+(constraints_empty?0:2), "");
+      for (i=0; i<n_vars; ++i) {
+        if (notfirst)
+          printf(" ; ");
+        ppl_PIP_Solution_Node_get_parametric_values(sn, vars[i], &le);
+        ppl_io_print_Linear_Expression(le);
+        notfirst = 1;
+      }
+      printf("}\n");
+      if (!constraints_empty)
+        printf("%*selse\n%*s_|_\n", indent*2, "", indent*2+2, "");
+    }
+  }
+}
+
+static void
+display_solution(ppl_const_PIP_Tree_Node_t node,
+                 ppl_dimension_type n_vars,
+                 ppl_dimension_type n_params,
+                 const ppl_dimension_type params[]) {
+  ppl_dimension_type* vars;
+  ppl_dimension_type i, j, k, dim;
+  vars = malloc(n_vars*sizeof(ppl_dimension_type));
+  dim = n_vars+n_params;
+
+  /* Construct the array of variable space indices. This requires the
+     params array to be sorted in ascending order. */
+  for (i = 0, j = 0, k = 0; i < dim; ++i) {
+    if (k == n_params || i < params[k])
+      vars[j++] = i;
+    else
+      ++k;
+  }
+  display_solution_i(node, n_vars, n_params, vars, params, 0);
+  free(vars);
+}
+
+#define N_VARS 2
+#define N_PARAMETERS 2
+#define N_CONSTRAINTS 4
+
+int
+main(int argc, char **argv) {
+  ppl_PIP_Problem_t pip;
+  ppl_Constraint_t ct;
+  ppl_Coefficient_t c;
+  ppl_Linear_Expression_t le;
+  ppl_dimension_type i, j;
+  mpz_t mpc;
+  int ok;
+  size_t sz = 0;
+
+  static ppl_dimension_type parameter_dim[N_PARAMETERS];
+
+  static int coef[N_CONSTRAINTS][N_VARS+N_PARAMETERS+1] = {
+    {  2,  3,  0,  0, -8 },
+    {  4, -1,  0,  0, -4 },
+    {  0, -1,  0,  1,  0 },
+    { -1,  0,  1,  0,  0 },
+  };
+
+  program_name = argv[0];
+
+  if (argc != 1) {
+    fprintf(stderr, "usage: %s\n", program_name);
+    exit(1);
+  }
+
+  if (ppl_initialize() < 0)
+    fatal("cannot initialize the Parma Polyhedra Library");
+
+  if (ppl_set_error_handler(error_handler) < 0)
+    fatal("cannot install the custom error handler");
+
+  mpz_init(mpc);
+
+  /* At least 32-bit coefficients are needed. */
+  if (ppl_Coefficient_max(mpc) > 0 && mpz_fits_sshort_p(mpc)) {
+    mpz_clear(mpc);
+    ppl_finalize();
+    return 0;
+  }
+
+  for (i = 0; i < N_PARAMETERS; ++i)
+    parameter_dim[i] = i + N_VARS;
+
+  ppl_new_PIP_Problem_from_space_dimension(&pip, N_VARS+N_PARAMETERS);
+  ppl_PIP_Problem_add_to_parameter_space_dimensions(pip, parameter_dim,
+                                                    N_PARAMETERS);
+  ppl_new_Coefficient(&c);
+  for (i = 0; i < N_CONSTRAINTS; ++i) {
+    ppl_new_Linear_Expression(&le);
+    for (j = 0; j < N_VARS+N_PARAMETERS; ++j) {
+      mpz_set_si(mpc, coef[i][j]);
+      ppl_assign_Coefficient_from_mpz_t(c, mpc);
+      ppl_Linear_Expression_add_to_coefficient(le, j, c);
+    }
+    mpz_set_si(mpc, coef[i][j]);
+    ppl_assign_Coefficient_from_mpz_t(c, mpc);
+    ppl_Linear_Expression_add_to_inhomogeneous(le, c);
+    ppl_new_Constraint(&ct, le, PPL_CONSTRAINT_TYPE_GREATER_OR_EQUAL);
+    ppl_PIP_Problem_add_constraint(pip, ct);
+    ppl_delete_Linear_Expression(le);
+  }
+  ppl_delete_Coefficient(c);
+  mpz_clear(mpc);
+
+  ppl_PIP_Problem_total_memory_in_bytes(pip, &sz);
+  ppl_PIP_Problem_external_memory_in_bytes(pip, &sz);
+
+  ok = (ppl_PIP_Problem_solve(pip) == PPL_PIP_PROBLEM_STATUS_OPTIMIZED);
+  if (ok) {
+    ppl_dimension_type dim;
+    ppl_const_PIP_Tree_Node_t solution;
+    ppl_PIP_Problem_t pip0;
+    ppl_Constraint_System_t constraints;
+    ppl_Constraint_System_const_iterator_t begin, end;
+
+    ppl_PIP_Problem_space_dimension(pip, &dim);
+    ppl_PIP_Problem_solution(pip, &solution);
+    if (check_noisy() || check_very_noisy())
+      display_solution(solution, N_VARS, N_PARAMETERS, parameter_dim);
+    ppl_new_Constraint_System_const_iterator(&begin);
+    ppl_new_Constraint_System_const_iterator(&end);
+    ppl_new_Constraint_System_from_Constraint(&constraints, ct);
+    ppl_Constraint_System_begin(constraints, begin);
+    ppl_Constraint_System_end(constraints, end);
+    ppl_new_PIP_Problem_from_constraints(&pip0, N_VARS+N_PARAMETERS,
+                                         begin, end, N_PARAMETERS,
+                                         parameter_dim);
+    ok = ppl_PIP_Problem_OK(pip0);
+    ppl_delete_Constraint(ct);
+    ppl_delete_Constraint_System(constraints);
+  }
+
+  ppl_delete_PIP_Problem(pip);
+  ppl_finalize();
+  return ok ? 0 : 1;
+}
diff --git a/interfaces/C/tests/ppl_c_test.cc b/interfaces/C/tests/ppl_c_test.cc
index 2333191..4e6526d 100644
--- a/interfaces/C/tests/ppl_c_test.cc
+++ b/interfaces/C/tests/ppl_c_test.cc
@@ -1,6 +1,6 @@
 /* Implementation of utility functions used in test programs
    of the C interface.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/C/tests/ppl_c_test.h b/interfaces/C/tests/ppl_c_test.h
index ad729d0..754c615 100644
--- a/interfaces/C/tests/ppl_c_test.h
+++ b/interfaces/C/tests/ppl_c_test.h
@@ -1,5 +1,5 @@
 /* Header file for C test programs.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/C/tests/print_to_buffer.c b/interfaces/C/tests/print_to_buffer.c
index bac2557..ad731c1 100644
--- a/interfaces/C/tests/print_to_buffer.c
+++ b/interfaces/C/tests/print_to_buffer.c
@@ -1,5 +1,5 @@
 /* Definitions of print_ppl_*_to_buffer() functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -63,3 +63,5 @@ DEFINE_PRINT_TO_BUFFER(Grid_Generator)
 DEFINE_PRINT_TO_BUFFER(Grid_Generator_System)
 
 DEFINE_PRINT_TO_BUFFER(MIP_Problem)
+
+DEFINE_PRINT_TO_BUFFER(PIP_Problem)
diff --git a/interfaces/C/tests/print_to_buffer.h b/interfaces/C/tests/print_to_buffer.h
index e1ed2b2..f00efd7 100644
--- a/interfaces/C/tests/print_to_buffer.h
+++ b/interfaces/C/tests/print_to_buffer.h
@@ -1,5 +1,5 @@
 /* Declarations of print_ppl_*_to_buffer() functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -70,6 +70,8 @@ DECLARE_PRINT_TO_BUFFER(Grid_Generator_System)
 
 DECLARE_PRINT_TO_BUFFER(MIP_Problem)
 
+DECLARE_PRINT_TO_BUFFER(PIP_Problem)
+
 #ifdef __cplusplus
 } /* extern "C" */
 #endif
diff --git a/interfaces/C/tests/watchdog1.c b/interfaces/C/tests/watchdog1.c
new file mode 100644
index 0000000..5f0350d
--- /dev/null
+++ b/interfaces/C/tests/watchdog1.c
@@ -0,0 +1,149 @@
+/* Test the timeout facility of the PPL C interface library.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_c_test.h"
+#include <stdlib.h>
+#include <stdarg.h>
+#include <stdio.h>
+
+static const char* program_name = 0;
+
+static void
+my_exit(int status) {
+  (void) ppl_finalize();
+  exit(status);
+}
+
+static void
+fatal(const char* format, ...) {
+  va_list ap;
+  fprintf(stderr, "%s: ", program_name);
+  va_start(ap, format);
+  vfprintf(stderr, format, ap);
+  va_end(ap);
+  fprintf(stderr, "\n");
+  my_exit(1);
+}
+
+static void
+error_handler(enum ppl_enum_error_code code,
+	      const char* description) {
+  if (check_noisy() || check_very_noisy())
+    fprintf(stderr, "PPL error code %d: %s\n", code, description);
+#if !PWL_WATCHDOG_OBJECTS_ARE_SUPPORTED
+  /* If Watchdog objects are not supported, a logic error will occur:
+     this is normal. */
+  if (code == PPL_ERROR_LOGIC_ERROR)
+    my_exit(0);
+#endif
+}
+
+void
+open_hypercube(int dimension, ppl_Polyhedron_t ph) {
+  int i;
+  mpz_t z_one;
+  mpz_t z_minus_one;
+  ppl_Coefficient_t coeff_one;
+  ppl_Coefficient_t coeff_minus_one;
+  ppl_Linear_Expression_t le;
+  ppl_Constraint_t c;
+  ppl_Constraint_System_t cs;
+
+  mpz_init_set_si(z_one, 1);
+  mpz_init_set_si(z_minus_one, -1);
+  ppl_new_Coefficient(&coeff_one);
+  ppl_assign_Coefficient_from_mpz_t(coeff_one, z_one);
+  ppl_new_Coefficient(&coeff_minus_one);
+  ppl_assign_Coefficient_from_mpz_t(coeff_minus_one, z_minus_one);
+  ppl_new_Linear_Expression_with_dimension(&le, dimension);
+  ppl_new_Constraint_System(&cs);
+  for (i = 0; i < dimension; ++i) {
+    ppl_Linear_Expression_add_to_coefficient(le, i, coeff_one);
+    /* Variable(i) > 0 */
+    ppl_new_Constraint(&c, le, PPL_CONSTRAINT_TYPE_GREATER_THAN);
+    ppl_Constraint_System_insert_Constraint(cs, c);
+    ppl_delete_Constraint(c);
+    /* Variable(i) < 1 */
+    ppl_Linear_Expression_add_to_inhomogeneous(le, coeff_minus_one);
+    ppl_new_Constraint(&c, le, PPL_CONSTRAINT_TYPE_LESS_THAN);
+    ppl_Constraint_System_insert_Constraint(cs, c);
+    ppl_delete_Constraint(c);
+    /* Zero `le' */
+    ppl_Linear_Expression_add_to_coefficient(le, i, coeff_minus_one);
+    ppl_Linear_Expression_add_to_inhomogeneous(le, coeff_one);
+  }
+  ppl_Polyhedron_add_constraints(ph, cs);
+  ppl_delete_Constraint_System(cs);
+  ppl_delete_Linear_Expression(le);
+  ppl_delete_Coefficient(coeff_minus_one);
+  ppl_delete_Coefficient(coeff_one);
+  mpz_clear(z_minus_one);
+  mpz_clear(z_one);
+}
+
+void
+timed_compute_open_hypercube_generators(int hundredth_secs,
+                                        int max_dimension) {
+  int i;
+  int result;
+  ppl_const_Generator_System_t gs;
+  ppl_Polyhedron_t ph;
+
+  for (i = 0; i <= max_dimension; ++i) {
+    ppl_new_NNC_Polyhedron_from_space_dimension(&ph, i, 0);
+    open_hypercube(i, ph);
+    ppl_set_timeout(hundredth_secs);
+    result = ppl_Polyhedron_get_generators(ph, &gs);
+    ppl_reset_timeout();
+    ppl_delete_Polyhedron(ph);
+    if (result == PPL_TIMEOUT_EXCEPTION)
+      /* Timeout expired */
+      return;
+    else if (result != 0)
+      /* Unexpected error */
+      exit(1);
+  }
+  /* Should not reach this point */
+  exit(1);
+}
+
+int
+main(int argc, char **argv) {
+  program_name = argv[0];
+
+  if (argc != 1) {
+    fprintf(stderr, "usage: %s\n", program_name);
+    exit(1);
+  }
+
+  if (ppl_initialize() < 0)
+    fatal("cannot initialize the Parma Polyhedra Library");
+
+  if (ppl_set_error_handler(error_handler) < 0)
+    fatal("cannot install the custom error handler");
+
+  timed_compute_open_hypercube_generators(200, 20);
+
+  ppl_finalize();
+  return 0;
+}
+
diff --git a/interfaces/C/tests/weightwatch1.c b/interfaces/C/tests/weightwatch1.c
new file mode 100644
index 0000000..cf1bab3
--- /dev/null
+++ b/interfaces/C/tests/weightwatch1.c
@@ -0,0 +1,143 @@
+/* Test the deterministic timeout facility of the PPL C interface library.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_c_test.h"
+#include <stdlib.h>
+#include <stdarg.h>
+#include <stdio.h>
+
+static const char* program_name = 0;
+
+static void
+my_exit(int status) {
+  (void) ppl_finalize();
+  exit(status);
+}
+
+static void
+fatal(const char* format, ...) {
+  va_list ap;
+  fprintf(stderr, "%s: ", program_name);
+  va_start(ap, format);
+  vfprintf(stderr, format, ap);
+  va_end(ap);
+  fprintf(stderr, "\n");
+  my_exit(1);
+}
+
+static void
+error_handler(enum ppl_enum_error_code code,
+	      const char* description) {
+  if (check_noisy() || check_very_noisy())
+    fprintf(stderr, "PPL error code %d: %s\n", code, description);
+}
+
+void
+open_hypercube(int dimension, ppl_Polyhedron_t ph) {
+  int i;
+  mpz_t z_one;
+  mpz_t z_minus_one;
+  ppl_Coefficient_t coeff_one;
+  ppl_Coefficient_t coeff_minus_one;
+  ppl_Linear_Expression_t le;
+  ppl_Constraint_t c;
+  ppl_Constraint_System_t cs;
+
+  mpz_init_set_si(z_one, 1);
+  mpz_init_set_si(z_minus_one, -1);
+  ppl_new_Coefficient(&coeff_one);
+  ppl_assign_Coefficient_from_mpz_t(coeff_one, z_one);
+  ppl_new_Coefficient(&coeff_minus_one);
+  ppl_assign_Coefficient_from_mpz_t(coeff_minus_one, z_minus_one);
+  ppl_new_Linear_Expression_with_dimension(&le, dimension);
+  ppl_new_Constraint_System(&cs);
+  for (i = 0; i < dimension; ++i) {
+    ppl_Linear_Expression_add_to_coefficient(le, i, coeff_one);
+    /* Variable(i) > 0 */
+    ppl_new_Constraint(&c, le, PPL_CONSTRAINT_TYPE_GREATER_THAN);
+    ppl_Constraint_System_insert_Constraint(cs, c);
+    ppl_delete_Constraint(c);
+    /* Variable(i) < 1 */
+    ppl_Linear_Expression_add_to_inhomogeneous(le, coeff_minus_one);
+    ppl_new_Constraint(&c, le, PPL_CONSTRAINT_TYPE_LESS_THAN);
+    ppl_Constraint_System_insert_Constraint(cs, c);
+    ppl_delete_Constraint(c);
+    /* Zero `le' */
+    ppl_Linear_Expression_add_to_coefficient(le, i, coeff_minus_one);
+    ppl_Linear_Expression_add_to_inhomogeneous(le, coeff_one);
+  }
+  ppl_Polyhedron_add_constraints(ph, cs);
+  ppl_delete_Constraint_System(cs);
+  ppl_delete_Linear_Expression(le);
+  ppl_delete_Coefficient(coeff_minus_one);
+  ppl_delete_Coefficient(coeff_one);
+  mpz_clear(z_minus_one);
+  mpz_clear(z_one);
+}
+
+void
+weighted_compute_open_hypercube_generators(unsigned weight,
+                                           int max_dimension) {
+  int i;
+  int result;
+  ppl_const_Generator_System_t gs;
+  ppl_Polyhedron_t ph;
+
+  for (i = 0; i <= max_dimension; ++i) {
+    ppl_new_NNC_Polyhedron_from_space_dimension(&ph, i, 0);
+    open_hypercube(i, ph);
+    ppl_set_deterministic_timeout(weight);
+    result = ppl_Polyhedron_get_generators(ph, &gs);
+    ppl_reset_deterministic_timeout();
+    ppl_delete_Polyhedron(ph);
+    if (result == PPL_TIMEOUT_EXCEPTION)
+      /* Deterministic timeout expired */
+      return;
+    else if (result != 0)
+      /* Unexpected error */
+      exit(1);
+  }
+  /* Should not reach this point */
+  exit(1);
+}
+
+int
+main(int argc, char **argv) {
+  program_name = argv[0];
+
+  if (argc != 1) {
+    fprintf(stderr, "usage: %s\n", program_name);
+    exit(1);
+  }
+
+  if (ppl_initialize() < 0)
+    fatal("cannot initialize the Parma Polyhedra Library");
+
+  if (ppl_set_error_handler(error_handler) < 0)
+    fatal("cannot install the custom error handler");
+
+  weighted_compute_open_hypercube_generators(1000, 20);
+
+  ppl_finalize();
+  return 0;
+}
+
diff --git a/interfaces/Java/Makefile.am b/interfaces/Java/Makefile.am
index 628b4ae..7785ad0 100644
--- a/interfaces/Java/Makefile.am
+++ b/interfaces/Java/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
diff --git a/interfaces/Java/Makefile.in b/interfaces/Java/Makefile.in
index 47c0fb4..ea8f0bd 100644
--- a/interfaces/Java/Makefile.in
+++ b/interfaces/Java/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -38,8 +39,9 @@
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -63,6 +65,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -84,12 +87,19 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
@@ -104,18 +114,61 @@ am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
     *) f=$$p;; \
   esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
 am__installdirs = "$(DESTDIR)$(jardir)"
-jarDATA_INSTALL = $(INSTALL_DATA)
 DATA = $(jar_DATA)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
   distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+	distdir
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -162,6 +215,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -179,8 +234,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -188,6 +253,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -204,12 +270,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -252,11 +321,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -286,6 +353,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -293,6 +361,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 SUBDIRS = parma_polyhedra_library jni . tests
 EXTRA_DIST = \
 ppl_interface_generator_java_procedure_generators.m4 \
@@ -315,14 +384,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  interfaces/Java/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  interfaces/Java/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign interfaces/Java/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign interfaces/Java/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -340,6 +409,7 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -349,20 +419,23 @@ clean-libtool:
 install-jarDATA: $(jar_DATA)
 	@$(NORMAL_INSTALL)
 	test -z "$(jardir)" || $(MKDIR_P) "$(DESTDIR)$(jardir)"
-	@list='$(jar_DATA)'; for p in $$list; do \
+	@list='$(jar_DATA)'; test -n "$(jardir)" || list=; \
+	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  f=$(am__strip_dir) \
-	  echo " $(jarDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(jardir)/$$f'"; \
-	  $(jarDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(jardir)/$$f"; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(jardir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(jardir)" || exit $$?; \
 	done
 
 uninstall-jarDATA:
 	@$(NORMAL_UNINSTALL)
-	@list='$(jar_DATA)'; for p in $$list; do \
-	  f=$(am__strip_dir) \
-	  echo " rm -f '$(DESTDIR)$(jardir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(jardir)/$$f"; \
-	done
+	@list='$(jar_DATA)'; test -n "$(jardir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(jardir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(jardir)" && rm -f $$files
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -371,7 +444,7 @@ uninstall-jarDATA:
 #     (which will cause the Makefiles to be regenerated when you run `make');
 # (2) otherwise, pass the desired values on the `make' command line.
 $(RECURSIVE_TARGETS):
-	@failcom='exit 1'; \
+	@fail= failcom='exit 1'; \
 	for f in x $$MAKEFLAGS; do \
 	  case $$f in \
 	    *=* | --[!k]*);; \
@@ -388,7 +461,7 @@ $(RECURSIVE_TARGETS):
 	  else \
 	    local_target="$$target"; \
 	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
 	  || eval $$failcom; \
 	done; \
 	if test "$$dot_seen" = "no"; then \
@@ -396,7 +469,7 @@ $(RECURSIVE_TARGETS):
 	fi; test -z "$$fail"
 
 $(RECURSIVE_CLEAN_TARGETS):
-	@failcom='exit 1'; \
+	@fail= failcom='exit 1'; \
 	for f in x $$MAKEFLAGS; do \
 	  case $$f in \
 	    *=* | --[!k]*);; \
@@ -422,16 +495,16 @@ $(RECURSIVE_CLEAN_TARGETS):
 	  else \
 	    local_target="$$target"; \
 	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
 	  || eval $$failcom; \
 	done && test -z "$$fail"
 tags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
 	done
 ctags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
 	done
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -439,14 +512,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
 	  include_option=--etags-include; \
@@ -458,7 +531,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	list='$(SUBDIRS)'; for subdir in $$list; do \
 	  if test "$$subdir" = .; then :; else \
 	    test ! -f $$subdir/TAGS || \
-	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
 	  fi; \
 	done; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
@@ -467,29 +540,34 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -510,29 +588,44 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
-	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
 	  if test "$$subdir" = .; then :; else \
 	    test -d "$(distdir)/$$subdir" \
 	    || $(MKDIR_P) "$(distdir)/$$subdir" \
 	    || exit 1; \
-	    distdir=`$(am__cd) $(distdir) && pwd`; \
-	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
-	    (cd $$subdir && \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
 	      $(MAKE) $(AM_MAKEFLAGS) \
-	        top_distdir="$$top_distdir" \
-	        distdir="$$distdir/$$subdir" \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
 		am__remove_distdir=: \
 		am__skip_length_check=: \
+		am__skip_mode_fix=: \
 	        distdir) \
 	      || exit 1; \
 	  fi; \
@@ -566,6 +659,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -584,6 +678,8 @@ dvi-am:
 
 html: html-recursive
 
+html-am:
+
 info: info-recursive
 
 info-am:
@@ -592,18 +688,28 @@ install-data-am: install-jarDATA
 
 install-dvi: install-dvi-recursive
 
+install-dvi-am:
+
 install-exec-am:
 
 install-html: install-html-recursive
 
+install-html-am:
+
 install-info: install-info-recursive
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-recursive
 
+install-pdf-am:
+
 install-ps: install-ps-recursive
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-recursive
@@ -624,8 +730,8 @@ ps-am:
 
 uninstall-am: uninstall-jarDATA
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
-	install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+	install-am install-strip tags-recursive
 
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
 	all all-am check check-am clean clean-generic clean-libtool \
@@ -647,6 +753,7 @@ ppl_java.jar: parma_polyhedra_library/java_classes.stamp
 
 parma_polyhedra_library/java_classes.stamp:
 	$(MAKE) $(AM_MAKEFLAGS) -C parma_polyhedra_library java_classes.stamp
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/interfaces/Java/README.java b/interfaces/Java/README.java
index 9e2848c..e5ef557 100644
--- a/interfaces/Java/README.java
+++ b/interfaces/Java/README.java
@@ -17,10 +17,30 @@ by issuing a command like:
 
 $ java -classpath .:<PPL prefix>/<libdir>/ppl/ppl_java.jar My_Test
 
-Note that the source code in My_Test.java should take care of loading
-the PPL interface library, by calling `System.load' and passing the
-full path of the dynamic shared object. For instance, on a Linux machine
-and assuming <PPL prefix>=/usr/local/, the call will be something like:
+Note that the source code in My_Test.java should take care of:
 
-  System.load("/usr/local/lib/ppl/libppl_java.so");
+a) Load the PPL interface library, by calling `System.load' and
+   passing the full path of the dynamic shared object. For instance,
+   on a Linux machine and assuming <PPL prefix>=/usr/local/, the call
+   will be something like:
 
+    System.load("/usr/local/lib/ppl/libppl_java.so");
+
+b) Make sure that only the intended version(s) of the library has been
+   loaded, e.g., by calling static method
+
+    Parma_Polyhedra_Library.version();
+
+c) Starting from PPL version 0.11, before calling any other method from
+   other PPL package classes, initialize the Java interface by calling
+   the static method
+
+    Parma_Polyhedra_Library.initialize_library();
+
+   When done using the library, finalize it by calling the static method
+
+    Parma_Polyhedra_Library.finalize_library();
+
+   After finalization no other method of the library may be used (except
+   for those in class Parma_Polyhedra_Library), unless the library
+   is re-initialized by calling initialize_library().
diff --git a/interfaces/Java/jni/Makefile.am b/interfaces/Java/jni/Makefile.am
index 8647b4e..ce947ef 100644
--- a/interfaces/Java/jni/Makefile.am
+++ b/interfaces/Java/jni/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,13 +36,26 @@ $(interface_generator_files)
 EXTRA_DIST = \
 $(interface_generator_files)
 
+if BUILD_WATCHDOG_LIBRARY
+
+WATCHDOG_LIBRARY = $(top_builddir)/Watchdog/src/libpwl.la
+WATCHDOG_INCLUDE_OPTIONS = -I$(top_builddir)/Watchdog/src
+
+endif BUILD_WATCHDOG_LIBRARY
+
+if HOST_OS_MINGW
+
+JNI_DEFINE_OPTIONS = -D_JNI_IMPLEMENTATION_
+
+endif HOST_OS_MINGW
 
 AM_CPPFLAGS = \
 -I$(top_srcdir)/interfaces \
 -I$(top_builddir)/src \
 -I../parma_polyhedra_library \
 -I$(top_srcdir)/src \
- at extra_includes@ @JNIFLAGS@
+$(WATCHDOG_INCLUDE_OPTIONS) \
+ at extra_includes@ @JNIFLAGS@ $(JNI_DEFINE_OPTIONS)
 
 BUILT_SOURCES = \
 ppl_java_implementation_domains.cc.stamp
@@ -67,11 +80,23 @@ $(NO_UNDEFINED_FLAG) \
 
 else !HOST_OS_DARWIN
 
+if HOST_OS_MINGW
+
+libppl_java_la_LDFLAGS = \
+$(NO_UNDEFINED_FLAG) \
+-module \
+-avoid-version \
+-Wl,--kill-at
+
+else !HOST_OS_MINGW
+
 libppl_java_la_LDFLAGS = \
 $(NO_UNDEFINED_FLAG) \
 -module \
 -avoid-version
 
+endif !HOST_OS_MINGW
+
 endif !HOST_OS_DARWIN
 
 libppl_java_la_SOURCES = \
@@ -81,6 +106,7 @@ ppl_java_common.cc \
 ppl_java_globals.cc
 
 nodist_EXTRA_libppl_java_la_SOURCES = \
+ppl_java_Termination.cc \
 ppl_java_Int8_Box.cc \
 ppl_java_Int16_Box.cc \
 ppl_java_Int32_Box.cc \
@@ -154,11 +180,14 @@ ppl_java_Constraints_Product_Grid_C_Polyhedron.cc \
 ppl_java_Constraints_Product_Grid_NNC_Polyhedron.cc
 
 libppl_java_la_LIBADD = \
+ppl_java_Termination.lo \
 @required_instantiations_java_cxx_objects@ \
 $(top_builddir)/src/libppl.la \
+$(WATCHDOG_LIBRARY) \
 @extra_libraries@
 
 libppl_java_la_DEPENDENCIES = \
+ppl_java_Termination.lo \
 @required_instantiations_java_cxx_objects@
 
 ppl_java_implementation_domains.cc.stamp: $(interface_generator_dependencies)
@@ -166,12 +195,13 @@ ppl_java_implementation_domains.cc.stamp: $(interface_generator_dependencies)
 		-I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../.. \
 		$(srcdir)/ppl_interface_generator_java_classes_cc_files.m4 \
                 > ppl_java_cc_blob
-	$(top_srcdir)/utils/cm_cleaner.sh < ppl_java_cc_blob
-	$(top_srcdir)/utils/cm_splitter.sh < ppl_java_cc_blob
+	$(top_srcdir)/utils/cm_cleaner.sh ./ppl_java_cc_blob
+	$(top_srcdir)/utils/cm_splitter.sh ./ppl_java_cc_blob
 	rm -f ppl_java_cc_blob
 	echo timestamp >$@
 
 CLEANFILES = \
+ppl_java_Termination.cc \
 @required_instantiations_java_cxx_sources@ \
 ppl_java_implementation_domains.cc.stamp
 
diff --git a/interfaces/Java/jni/Makefile.in b/interfaces/Java/jni/Makefile.in
index 4223a35..c04bd2e 100644
--- a/interfaces/Java/jni/Makefile.in
+++ b/interfaces/Java/jni/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -38,8 +39,9 @@
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -63,6 +65,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -84,47 +87,87 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
     *) f=$$p;; \
   esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
 am__installdirs = "$(DESTDIR)$(pkglibdir)"
-pkglibLTLIBRARIES_INSTALL = $(INSTALL)
 LTLIBRARIES = $(pkglib_LTLIBRARIES)
 am_libppl_java_la_OBJECTS = ppl_java_common.lo ppl_java_globals.lo
 libppl_java_la_OBJECTS = $(am_libppl_java_la_OBJECTS)
-libppl_java_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
-	$(CXXFLAGS) $(libppl_java_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+libppl_java_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(AM_CXXFLAGS) $(CXXFLAGS) $(libppl_java_la_LDFLAGS) \
+	$(LDFLAGS) -o $@
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_$(V))
+am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+am__v_CXX_0 = @echo "  CXX   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_$(V))
+am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo "  CC    " $@;
 CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo "  CCLD  " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libppl_java_la_SOURCES) \
 	$(nodist_EXTRA_libppl_java_la_SOURCES)
 DIST_SOURCES = $(libppl_java_la_SOURCES)
@@ -133,6 +176,7 @@ CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -179,6 +223,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -196,8 +242,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -205,6 +261,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -221,12 +278,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -269,11 +329,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -303,6 +361,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -310,6 +369,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 interface_generator_files = \
 ppl_interface_generator_java_classes_cc_files.m4 \
 ppl_interface_generator_java_classes_cc_code.m4
@@ -326,12 +386,16 @@ $(interface_generator_files)
 EXTRA_DIST = \
 $(interface_generator_files)
 
+ at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_LIBRARY = $(top_builddir)/Watchdog/src/libpwl.la
+ at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_INCLUDE_OPTIONS = -I$(top_builddir)/Watchdog/src
+ at HOST_OS_MINGW_TRUE@JNI_DEFINE_OPTIONS = -D_JNI_IMPLEMENTATION_
 AM_CPPFLAGS = \
 -I$(top_srcdir)/interfaces \
 -I$(top_builddir)/src \
 -I../parma_polyhedra_library \
 -I$(top_srcdir)/src \
- at extra_includes@ @JNIFLAGS@
+$(WATCHDOG_INCLUDE_OPTIONS) \
+ at extra_includes@ @JNIFLAGS@ $(JNI_DEFINE_OPTIONS)
 
 BUILT_SOURCES = \
 ppl_java_implementation_domains.cc.stamp
@@ -341,10 +405,16 @@ pkglib_LTLIBRARIES = libppl_java.la
 # There is no point in generating the static version.
 AM_LIBTOOLFLAGS = --tag=disable-static
 @NO_UNDEFINED_TRUE at NO_UNDEFINED_FLAG = -no-undefined
- at HOST_OS_DARWIN_FALSE@libppl_java_la_LDFLAGS = \
- at HOST_OS_DARWIN_FALSE@$(NO_UNDEFINED_FLAG) \
- at HOST_OS_DARWIN_FALSE@-module \
- at HOST_OS_DARWIN_FALSE@-avoid-version
+ at HOST_OS_DARWIN_FALSE@@HOST_OS_MINGW_FALSE at libppl_java_la_LDFLAGS = \
+ at HOST_OS_DARWIN_FALSE@@HOST_OS_MINGW_FALSE@$(NO_UNDEFINED_FLAG) \
+ at HOST_OS_DARWIN_FALSE@@HOST_OS_MINGW_FALSE at -module \
+ at HOST_OS_DARWIN_FALSE@@HOST_OS_MINGW_FALSE at -avoid-version
+
+ at HOST_OS_DARWIN_FALSE@@HOST_OS_MINGW_TRUE at libppl_java_la_LDFLAGS = \
+ at HOST_OS_DARWIN_FALSE@@HOST_OS_MINGW_TRUE@$(NO_UNDEFINED_FLAG) \
+ at HOST_OS_DARWIN_FALSE@@HOST_OS_MINGW_TRUE at -module \
+ at HOST_OS_DARWIN_FALSE@@HOST_OS_MINGW_TRUE at -avoid-version \
+ at HOST_OS_DARWIN_FALSE@@HOST_OS_MINGW_TRUE at -Wl,--kill-at
 
 @HOST_OS_DARWIN_TRUE at libppl_java_la_LDFLAGS = \
 @HOST_OS_DARWIN_TRUE@$(NO_UNDEFINED_FLAG) \
@@ -358,6 +428,7 @@ ppl_java_common.cc \
 ppl_java_globals.cc
 
 nodist_EXTRA_libppl_java_la_SOURCES = \
+ppl_java_Termination.cc \
 ppl_java_Int8_Box.cc \
 ppl_java_Int16_Box.cc \
 ppl_java_Int32_Box.cc \
@@ -431,14 +502,18 @@ ppl_java_Constraints_Product_Grid_C_Polyhedron.cc \
 ppl_java_Constraints_Product_Grid_NNC_Polyhedron.cc
 
 libppl_java_la_LIBADD = \
+ppl_java_Termination.lo \
 @required_instantiations_java_cxx_objects@ \
 $(top_builddir)/src/libppl.la \
+$(WATCHDOG_LIBRARY) \
 @extra_libraries@
 
 libppl_java_la_DEPENDENCIES = \
+ppl_java_Termination.lo \
 @required_instantiations_java_cxx_objects@
 
 CLEANFILES = \
+ppl_java_Termination.cc \
 @required_instantiations_java_cxx_sources@ \
 ppl_java_implementation_domains.cc.stamp
 
@@ -451,14 +526,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  interfaces/Java/jni/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  interfaces/Java/jni/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign interfaces/Java/jni/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign interfaces/Java/jni/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -476,23 +551,28 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
-	@list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
+	@list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+	list2=; for p in $$list; do \
 	  if test -f $$p; then \
-	    f=$(am__strip_dir) \
-	    echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(pkglibdir)/$$f'"; \
-	    $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(pkglibdir)/$$f"; \
+	    list2="$$list2 $$p"; \
 	  else :; fi; \
-	done
+	done; \
+	test -z "$$list2" || { \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \
+	}
 
 uninstall-pkglibLTLIBRARIES:
 	@$(NORMAL_UNINSTALL)
-	@list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
-	  p=$(am__strip_dir) \
-	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$p'"; \
-	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$p"; \
+	@list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+	for p in $$list; do \
+	  $(am__strip_dir) \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
 	done
 
 clean-pkglibLTLIBRARIES:
@@ -504,7 +584,7 @@ clean-pkglibLTLIBRARIES:
 	  rm -f "$${dir}/so_locations"; \
 	done
 libppl_java.la: $(libppl_java_la_OBJECTS) $(libppl_java_la_DEPENDENCIES) 
-	$(libppl_java_la_LINK) -rpath $(pkglibdir) $(libppl_java_la_OBJECTS) $(libppl_java_la_LIBADD) $(LIBS)
+	$(AM_V_CXXLD)$(libppl_java_la_LINK) -rpath $(pkglibdir) $(libppl_java_la_OBJECTS) $(libppl_java_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -578,6 +658,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_java_Pointset_Powerset_Z_Box.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_java_Polyhedron.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_java_Rational_Box.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_java_Termination.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_java_Uint16_Box.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_java_Uint32_Box.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_java_Uint64_Box.Plo at am__quote@
@@ -587,22 +668,25 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_java_globals.Plo at am__quote@
 
 .cc.o:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
- at am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
@@ -618,14 +702,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
@@ -633,29 +717,34 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -676,13 +765,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -716,6 +809,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -738,6 +832,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -746,18 +842,28 @@ install-data-am:
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am: install-pkglibLTLIBRARIES
 
 install-html: install-html-am
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-am
 
+install-pdf-am:
+
 install-ps: install-ps-am
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -780,7 +886,7 @@ ps-am:
 
 uninstall-am: uninstall-pkglibLTLIBRARIES
 
-.MAKE: install-am install-strip
+.MAKE: all check install install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
 	clean-libtool clean-pkglibLTLIBRARIES ctags distclean \
@@ -802,8 +908,8 @@ ppl_java_implementation_domains.cc.stamp: $(interface_generator_dependencies)
 		-I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../.. \
 		$(srcdir)/ppl_interface_generator_java_classes_cc_files.m4 \
                 > ppl_java_cc_blob
-	$(top_srcdir)/utils/cm_cleaner.sh < ppl_java_cc_blob
-	$(top_srcdir)/utils/cm_splitter.sh < ppl_java_cc_blob
+	$(top_srcdir)/utils/cm_cleaner.sh ./ppl_java_cc_blob
+	$(top_srcdir)/utils/cm_splitter.sh ./ppl_java_cc_blob
 	rm -f ppl_java_cc_blob
 	echo timestamp >$@
 
@@ -813,6 +919,7 @@ $(top_builddir)/interfaces/ppl_interface_instantiations.m4:
 # A selection of these files, which depends on the configure options,
 # is built by the `ppl_java_implementation_domains.cc.stamp' target.
 $(nodist_EXTRA_libppl_java_la_SOURCES):
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4 b/interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
index 9871f86..7fdd344 100644
--- a/interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+++ b/interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
@@ -3,7 +3,7 @@ m4_define(`dnl', `m4_dnl')
 m4_divert(-1)
 This m4 file contains the code for generating ppl_java_<CLASS_NAME>.cc
 
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -81,8 +81,11 @@ Java_parma_1polyhedra_1library_ at 1TOPOLOGY@@1CLASS at _@BEGINEND at _1iterator
       = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
     jclass j_it_class
       = env->FindClass("parma_polyhedra_library/@TOPOLOGY@@CLASS at _Iterator");
+    CHECK_RESULT_ASSERT(env, j_it_class);
     jmethodID j_it_ctr_id = env->GetMethodID(j_it_class, "<init>", "()V");
+    CHECK_RESULT_ASSERT(env, j_it_ctr_id);
     jobject j_it = env->NewObject(j_it_class, j_it_ctr_id);
+    CHECK_RESULT_RETURN(env, j_it, 0);
     @TOPOLOGY@@CPP_CLASS@::iterator* ppl_it
       = new @TOPOLOGY@@CPP_CLASS@::iterator(this_ptr->@BEGINEND@());
     set_ptr(env, j_it, ppl_it);
@@ -148,9 +151,12 @@ Java_parma_1polyhedra_1library_ at 1TOPOLOGY@@1CLASS at _1Iterator_get_1disjunct
     @TOPOLOGY@@CPP_CLASS@::iterator* this_ptr
       = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@::iterator*>(get_ptr(env, j_this));
     jclass j_class = env->FindClass("parma_polyhedra_library/@DISJUNCT_TOPOLOGY@@DISJUNCT@");
+    CHECK_RESULT_ASSERT(env, j_class);
     jmethodID j_ctr_id = env->GetMethodID(j_class, "<init>", "()V");
+    CHECK_RESULT_ASSERT(env, j_ctr_id);
     jobject j_obj = env->NewObject(j_class, j_ctr_id);
-    set_ptr(env, j_obj,  &((*this_ptr)->element()), true);
+    CHECK_RESULT_RETURN(env, j_obj, 0);
+    set_ptr(env, j_obj,  &((*this_ptr)->pointset()), true);
     return j_obj;
   }
   CATCH_ALL;
@@ -213,12 +219,10 @@ JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1TOPOLOGY@@1CLASS at _build_1cpp_1object__JLparma_1polyhedra_1library_Degenerate_1Element_2
 (JNIEnv* env, jobject j_this, jlong j_dim, jobject j_degenerate_element) try {
   dimension_type ppl_dim = jtype_to_unsigned<dimension_type>(j_dim);
-  jclass degenerate_element_class
-    = env->FindClass("parma_polyhedra_library/Degenerate_Element");
-  jmethodID degenerate_element_ordinal_id
-    = env->GetMethodID(degenerate_element_class, "ordinal", "()I");
   jint j_degenerate_element_int
-    = env->CallIntMethod(j_degenerate_element, degenerate_element_ordinal_id);
+    = env->CallIntMethod(j_degenerate_element,
+                         cached_FMIDs.Degenerate_Element_ordinal_ID);
+  CHECK_EXCEPTION_ASSERT(env);
   @TOPOLOGY@@CPP_CLASS@* this_ptr;
   switch (j_degenerate_element_int) {
   case 0:
@@ -228,7 +232,8 @@ Java_parma_1polyhedra_1library_ at 1TOPOLOGY@@1CLASS at _build_1cpp_1object__JLparma_1
     this_ptr = new @TOPOLOGY@@CPP_CLASS@(ppl_dim, EMPTY);
     break;
   default:
-    throw std::runtime_error("PPL Java interface internal error");
+    assert(false);
+    break;
   }
   set_ptr(env, j_this, this_ptr);
 }
@@ -257,12 +262,10 @@ Java_parma_1polyhedra_1library_ at 1TOPOLOGY@@1CLASS at _build_1cpp_1object__Lparma_1p
 (JNIEnv* env, jobject j_this, jobject j_y, jobject j_complexity) try {
   @B_FRIEND@* y_ptr
     = reinterpret_cast<@B_FRIEND@*>(get_ptr(env, j_y));
-  jclass complexity_class
-    = env->FindClass("parma_polyhedra_library/Complexity_Class");
-  jmethodID complexity_ordinal_id
-    = env->GetMethodID(complexity_class, "ordinal", "()I");
   jint j_complexity_int
-    = env->CallIntMethod(j_complexity, complexity_ordinal_id);
+    = env->CallIntMethod(j_complexity,
+                         cached_FMIDs.Complexity_Class_ordinal_ID);
+  CHECK_EXCEPTION_ASSERT(env);
   @TOPOLOGY@@CPP_CLASS@* this_ptr;
   switch (j_complexity_int) {
   case 0:
@@ -275,7 +278,8 @@ Java_parma_1polyhedra_1library_ at 1TOPOLOGY@@1CLASS at _build_1cpp_1object__Lparma_1p
     this_ptr = new @TOPOLOGY@@CPP_CLASS@(*y_ptr, ANY_COMPLEXITY);
     break;
   default:
-    throw std::runtime_error("PPL Java interface internal error");
+    assert(false);
+    break;
   }
   set_ptr(env, j_this, this_ptr);
 }
@@ -522,11 +526,9 @@ Java_parma_1polyhedra_1library_ at 1CLASS@_ at 1MAXMIN@__Lparma_1polyhedra_1library_Li
     Linear_Expression le = build_cxx_linear_expression(env, j_le);
     bool b_value;
     if (this_ptr->@MAXMIN@(le, num, den, b_value)) {
-      jobject j_num_result = build_java_coeff(env, num);
-      jobject j_den_result = build_java_coeff(env, den);
-      set_coefficient(env, j_num, j_num_result);
-      set_coefficient(env, j_den, j_den_result);
-      jobject j_boolean = bool_to_j_boolean(env, b_value);
+      set_coefficient(env, j_num, build_java_coeff(env, num));
+      set_coefficient(env, j_den, build_java_coeff(env, den));
+      jobject j_boolean = bool_to_j_boolean_class(env, b_value);
       set_by_reference(env, j_ref_boolean, j_boolean);
       return true;
     }
@@ -555,13 +557,11 @@ Java_parma_1polyhedra_1library_ at 1CLASS@_ at 1MAXMIN@__Lparma_1polyhedra_1library_Li
     bool b_value;
     Generator g = point();
     if (this_ptr->@MAXMIN@(le, num, den, b_value, g)) {
-      jobject j_num_result = build_java_coeff(env, num);
-      jobject j_den_result = build_java_coeff(env, den);
-      jobject j_g_result = build_java_generator(env, g);
-      set_coefficient(env, j_num, j_num_result);
-      set_coefficient(env, j_den, j_den_result);
-      jobject j_boolean = bool_to_j_boolean(env, b_value);
+      set_coefficient(env, j_num, build_java_coeff(env, num));
+      set_coefficient(env, j_den, build_java_coeff(env, den));
+      jobject j_boolean = bool_to_j_boolean_class(env, b_value);
       set_by_reference(env, j_ref_boolean, j_boolean);
+      jobject j_g_result = build_java_generator(env, g);
       set_generator(env, j_g, j_g_result);
       return true;
     }
@@ -573,6 +573,39 @@ Java_parma_1polyhedra_1library_ at 1CLASS@_ at 1MAXMIN@__Lparma_1polyhedra_1library_Li
 
 ')
 
+m4_define(`ppl_ at CLASS@_frequency_code',
+`dnl
+JNIEXPORT jboolean JNICALL
+Java_parma_1polyhedra_1library_ at 1CLASS@_1frequency__Lparma_1polyhedra_1library_Linear_1Expression_2Lparma_1polyhedra_1library_Coefficient_2Lparma_1polyhedra_1library_Coefficient_2Lparma_1polyhedra_1library_Coefficient_2Lparma_1polyhedra_1library_Coefficient_2
+(JNIEnv* env, jobject j_this, jobject j_le,
+ jobject j_freqn, jobject j_freqd, jobject j_valn, jobject j_vald) {
+  try {
+    @CPP_CLASS@* this_ptr
+      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+    PPL_DIRTY_TEMP_COEFFICIENT(freqn);
+    PPL_DIRTY_TEMP_COEFFICIENT(freqd);
+    PPL_DIRTY_TEMP_COEFFICIENT(valn);
+    PPL_DIRTY_TEMP_COEFFICIENT(vald);
+    freqn = build_cxx_coeff(env, j_freqn);
+    freqd = build_cxx_coeff(env, j_freqd);
+    valn = build_cxx_coeff(env, j_valn);
+    vald = build_cxx_coeff(env, j_vald);
+    Linear_Expression le = build_cxx_linear_expression(env, j_le);
+    if (this_ptr->frequency(le, freqn, freqd, valn, vald)) {
+      set_coefficient(env, j_freqn, build_java_coeff(env, freqn));
+      set_coefficient(env, j_freqd, build_java_coeff(env, freqd));
+      set_coefficient(env, j_valn, build_java_coeff(env, valn));
+      set_coefficient(env, j_vald, build_java_coeff(env, vald));
+      return true;
+    }
+    return false;
+  }
+  CATCH_ALL;
+  return false;
+}
+
+')
+
 m4_define(`ppl_ at CLASS@_ at COMPARISON@_ at CLASS@_code',
 `dnl
 JNIEXPORT jboolean JNICALL
@@ -845,6 +878,27 @@ CATCH_ALL
 
 ')
 
+m4_define(`ppl_ at CLASS@_wrap_assign_code',
+`dnl
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_ at 1CLASS@_wrap_1assign
+(JNIEnv* env, jobject j_this, jobject j_vars,
+ jobject j_w, jobject j_r, jobject j_o, jobject j_cs,
+ jlong j_cx, jboolean j_wrap_individually) try {
+  @CPP_CLASS@* this_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+  Variables_Set vars = build_cxx_variables_set(env, j_vars);
+  Bounded_Integer_Type_Width w = build_cxx_bounded_width(env, j_w);
+  Bounded_Integer_Type_Representation r = build_cxx_bounded_rep(env, j_r);
+  Bounded_Integer_Type_Overflow o = build_cxx_bounded_overflow(env, j_o);
+  Constraint_System cs = build_cxx_constraint_system(env, j_cs);
+  unsigned cx = jtype_to_unsigned<unsigned int>(j_cx);
+  this_ptr->wrap_assign(vars, w, r, o, &cs, cx, j_wrap_individually);
+}
+CATCH_ALL
+
+')
+
 m4_define(`ppl_ at CLASS@_ at WIDEN@_widening_assign_code',
 `dnl
 JNIEXPORT void JNICALL
@@ -854,7 +908,7 @@ Java_parma_1polyhedra_1library_ at 1CLASS@_ at 1WIDEN@_1widening_1assign
     = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
   @CPP_CLASS@* y_ptr
     = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_y));
-  if (is_null(env, j_by_ref_int))
+  if (j_by_ref_int == NULL)
     this_ptr->@WIDEN at _widening_assign(*y_ptr);
   else {
     jobject j_integer = get_by_reference(env, j_by_ref_int);
@@ -878,7 +932,7 @@ Java_parma_1polyhedra_1library_ at 1CLASS@_widening_1assign
     = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
   @CPP_CLASS@* y_ptr
     = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_y));
-  if (is_null(env, j_by_ref_int))
+  if (j_by_ref_int == NULL)
     this_ptr->widening_assign(*y_ptr);
   else {
     jobject j_integer = get_by_reference(env, j_by_ref_int);
@@ -902,7 +956,7 @@ Java_parma_1polyhedra_1library_ at 1CLASS@_ at 1EXTRAPOLATION@_1extrapolation_1assign
     = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
   @CPP_CLASS@* y_ptr
     = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_y));
-  if (is_null(env, j_by_ref_int))
+  if (j_by_ref_int == NULL)
     this_ptr->@EXTRAPOLATION at _extrapolation_assign(*y_ptr);
   else {
     jobject j_integer = get_by_reference(env, j_by_ref_int);
@@ -943,7 +997,7 @@ Java_parma_1polyhedra_1library_ at 1CLASS@_ at 1LIMITEDBOUNDED@_1 at 1WIDENEXPN@_1extrapo
   @CPP_CLASS@* y_ptr
     = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_y));
   @!CONSTRAINER at _System cs = build_cxx_ at CONSTRAINER@_system(env, j_cs);
-  if (is_null(env, j_by_ref_int))
+  if (j_by_ref_int == NULL)
     this_ptr->@LIMITEDBOUNDED at _@WIDENEXPN at _extrapolation_assign(*y_ptr, cs);
   else {
     jobject j_integer = get_by_reference(env, j_by_ref_int);
@@ -1076,8 +1130,68 @@ Java_parma_1polyhedra_1library_ at 1CLASS@_map_1space_1dimensions
 (JNIEnv* env, jobject j_this, jobject j_p_func) try {
   @CPP_CLASS@* this_ptr
     = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-  Partial_Function ppl_pfunc(j_p_func, env);
-  this_ptr->map_space_dimensions(ppl_pfunc);
+  Partial_Function* p_func_ptr
+    = reinterpret_cast<Partial_Function*>(get_ptr(env, j_p_func));
+  this_ptr->map_space_dimensions(*p_func_ptr);
+}
+CATCH_ALL
+
+')
+
+m4_define(`ppl_ at CLASS@_drop_some_non_integer_points_code',
+`dnl
+JNIEXPORT void JNICALL Java_parma_1polyhedra_1library_ at 1CLASS@_drop_1some_1non_1integer_1points
+(JNIEnv* env, jobject j_this, jobject j_complexity) try {
+  @CPP_CLASS@* this_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+  jint j_complexity_int
+    = env->CallIntMethod(j_complexity,
+                         cached_FMIDs.Complexity_Class_ordinal_ID);
+  CHECK_EXCEPTION_ASSERT(env);
+  switch (j_complexity_int) {
+  case 0:
+    this_ptr->drop_some_non_integer_points(POLYNOMIAL_COMPLEXITY);
+    break;
+  case 1:
+    this_ptr->drop_some_non_integer_points(SIMPLEX_COMPLEXITY);
+    break;
+  case 2:
+    this_ptr->drop_some_non_integer_points(ANY_COMPLEXITY);
+    break;
+  default:
+    assert(false);
+    break;
+  }
+}
+CATCH_ALL
+
+')
+
+m4_define(`ppl_ at CLASS@_drop_some_non_integer_points_2_code',
+`dnl
+JNIEXPORT void JNICALL Java_parma_1polyhedra_1library_ at 1CLASS@_drop_1some_1non_1integer_1points_12
+(JNIEnv* env, jobject j_this, jobject j_v_set, jobject j_complexity) try {
+  @CPP_CLASS@* this_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+  Variables_Set v_set = build_cxx_variables_set(env, j_v_set);
+  jint j_complexity_int
+    = env->CallIntMethod(j_complexity,
+                         cached_FMIDs.Complexity_Class_ordinal_ID);
+  CHECK_EXCEPTION_ASSERT(env);
+  switch (j_complexity_int) {
+  case 0:
+    this_ptr->drop_some_non_integer_points(v_set, POLYNOMIAL_COMPLEXITY);
+    break;
+  case 1:
+    this_ptr->drop_some_non_integer_points(v_set, SIMPLEX_COMPLEXITY);
+    break;
+  case 2:
+    this_ptr->drop_some_non_integer_points(v_set, ANY_COMPLEXITY);
+    break;
+  default:
+    assert(false);
+    break;
+  }
 }
 CATCH_ALL
 
@@ -1178,17 +1292,26 @@ Java_parma_1polyhedra_1library_ at 1TOPOLOGY@@1CLASS at _linear_1@PARTITION@
     r2->swap(r.second);
 
     jclass j_pair_class = env->FindClass("parma_polyhedra_library/Pair");
+    CHECK_RESULT_ASSERT(env, j_pair_class);
     jmethodID j_ctr_id_pair = env->GetMethodID(j_pair_class, "<init>", "()V");
+    CHECK_RESULT_ASSERT(env, j_ctr_id_pair);
     jobject j_pair_obj = env->NewObject(j_pair_class, j_ctr_id_pair);
+    CHECK_RESULT_RETURN(env, j_pair_obj, 0);
 
     jclass j_class_r1 = env->FindClass("parma_polyhedra_library/@TOPOLOGY@@CLASS@");
+    CHECK_RESULT_ASSERT(env, j_class_r1);
     jmethodID j_ctr_id_r1 = env->GetMethodID(j_class_r1, "<init>", "()V");
+    CHECK_RESULT_ASSERT(env, j_ctr_id_r1);
     jobject j_obj_r1 = env->NewObject(j_class_r1, j_ctr_id_r1);
+    CHECK_RESULT_RETURN(env, j_obj_r1, 0);
     set_ptr(env, j_obj_r1, r1);
 
     jclass j_class_r2 = env->FindClass("parma_polyhedra_library/Pointset_Powerset_NNC_Polyhedron");
+    CHECK_RESULT_ASSERT(env, j_class_r2);
     jmethodID j_ctr_id_r2 = env->GetMethodID(j_class_r2, "<init>", "()V");
+    CHECK_RESULT_ASSERT(env, j_ctr_id_r2);
     jobject j_obj_r2 = env->NewObject(j_class_r2, j_ctr_id_r2);
+    CHECK_RESULT_RETURN(env, j_obj_r2, 0);
     set_ptr(env, j_obj_r2, r2);
     set_pair_element(env, j_pair_obj, 0, j_obj_r1);
     set_pair_element(env, j_pair_obj, 1, j_obj_r2);
@@ -1219,24 +1342,32 @@ Java_parma_1polyhedra_1library_ at 1CLASS@_approximate_1 at PARTITION@
     r1->swap(r.first);
     r2->swap(r.second);
 
-    jclass j_pair_class
-      = env->FindClass("parma_polyhedra_library/Pair");
+    jclass j_pair_class = env->FindClass("parma_polyhedra_library/Pair");
+    CHECK_RESULT_ASSERT(env, j_pair_class);
     jmethodID j_ctr_id_pair = env->GetMethodID(j_pair_class, "<init>", "()V");
+    CHECK_RESULT_ASSERT(env, j_ctr_id_pair);
     jobject j_pair_obj = env->NewObject(j_pair_class, j_ctr_id_pair);
+    CHECK_RESULT_RETURN(env, j_pair_obj, 0);
 
     jclass j_class_r1 = env->FindClass("parma_polyhedra_library/@CLASS@");
+    CHECK_RESULT_ASSERT(env, j_class_r1);
     jmethodID j_ctr_id_r1 = env->GetMethodID(j_class_r1, "<init>", "()V");
+    CHECK_RESULT_ASSERT(env, j_ctr_id_r1);
     jobject j_obj_r1 = env->NewObject(j_class_r1, j_ctr_id_r1);
+    CHECK_RESULT_RETURN(env, j_obj_r1, 0);
     set_ptr(env, j_obj_r1, r1);
 
     jclass j_class_r2
       = env->FindClass("parma_polyhedra_library/Pointset_Powerset_Grid");
+    CHECK_RESULT_ASSERT(env, j_class_r2);
     jmethodID j_ctr_id_r2 = env->GetMethodID(j_class_r2, "<init>", "()V");
+    CHECK_RESULT_ASSERT(env, j_ctr_id_r2);
     jobject j_obj_r2 = env->NewObject(j_class_r2, j_ctr_id_r2);
+    CHECK_RESULT_RETURN(env, j_obj_r2, 0);
     set_ptr(env, j_obj_r2, r2);
     set_pair_element(env, j_pair_obj, 0, j_obj_r1);
     set_pair_element(env, j_pair_obj, 1, j_obj_r2);
-    jobject j_finite_bool = bool_to_j_boolean(env, b_finite_val);
+    jobject j_finite_bool = bool_to_j_boolean_class(env, b_finite_val);
     set_by_reference(env, j_ref_finite_bool, j_finite_bool);
     return j_pair_obj;
   }
@@ -1245,3 +1376,186 @@ Java_parma_1polyhedra_1library_ at 1CLASS@_approximate_1 at PARTITION@
 }
 
 ')
+
+m4_define(`ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+`dnl
+___END_OF_FILE___
+___BEGIN_OF_FILE___ ppl_java_Termination.cc << ___END_OF_FILE___
+
+JNIEXPORT jboolean JNICALL
+Java_parma_1polyhedra_1library_Termination_termination_1test_1 at TERMINATION_ID@_1 at TOPOLOGY@1 at CLASS@
+(JNIEnv* env, jclass, jobject j_p) {
+  try {
+    @TOPOLOGY@@CPP_CLASS@* p_ptr
+      = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_p));
+    return termination_test_ at TERMINATION_ID@(*p_ptr);
+  }
+  CATCH_ALL;
+  return 0;
+}
+
+')
+
+m4_define(`ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_code',
+`dnl
+___END_OF_FILE___
+___BEGIN_OF_FILE___ ppl_java_Termination.cc << ___END_OF_FILE___
+
+JNIEXPORT jboolean JNICALL
+Java_parma_1polyhedra_1library_Termination_termination_1test_1 at TERMINATION_ID@_1 at TOPOLOGY@1 at CLASS@_12
+(JNIEnv* env, jclass, jobject j_p_before, jobject j_p_after) {
+  try {
+    @TOPOLOGY@@CPP_CLASS@* p_ptr_before
+      = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_p_before));
+    @TOPOLOGY@@CPP_CLASS@* p_ptr_after
+      = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_p_after));
+    return termination_test_ at TERMINATION_ID@_2(*p_ptr_before, *p_ptr_after);
+  }
+  CATCH_ALL;
+  return 0;
+}
+
+')
+
+m4_define(`ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+`dnl
+___END_OF_FILE___
+___BEGIN_OF_FILE___ ppl_java_Termination.cc << ___END_OF_FILE___
+
+JNIEXPORT jboolean JNICALL
+Java_parma_1polyhedra_1library_Termination_one_1affine_1ranking_1function_1 at TERMINATION_ID@_1 at TOPOLOGY@1 at CLASS@
+(JNIEnv* env, jclass, jobject j_p, jobject j_g) {
+  try {
+    @TOPOLOGY@@CPP_CLASS@* p_ptr
+      = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_p));
+    Generator g(point());
+    if (one_affine_ranking_function_ at TERMINATION_ID@(*p_ptr, g)) {
+      jobject j_g_result = build_java_generator(env, g);;
+      set_generator(env, j_g, j_g_result);
+      return true;
+    }
+    return false;
+  }
+  CATCH_ALL;
+  return 0;
+}
+
+')
+
+m4_define(`ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_code',
+`dnl
+___END_OF_FILE___
+___BEGIN_OF_FILE___ ppl_java_Termination.cc << ___END_OF_FILE___
+
+JNIEXPORT jboolean JNICALL
+Java_parma_1polyhedra_1library_Termination_one_1affine_1ranking_1function_1 at TERMINATION_ID@_1 at TOPOLOGY@1 at CLASS@_12
+(JNIEnv* env, jclass, jobject j_p_before, jobject j_p_after, jobject j_g) {
+  try {
+    @TOPOLOGY@@CPP_CLASS@* p_ptr_before
+      = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_p_before));
+    @TOPOLOGY@@CPP_CLASS@* p_ptr_after
+      = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_p_after));
+    Generator g(point());
+    if (one_affine_ranking_function_ at TERMINATION_ID@_2(*p_ptr_before, *p_ptr_after, g)) {
+      jobject j_g_result = build_java_generator(env, g);;
+      set_generator(env, j_g, j_g_result);
+      return true;
+    }
+    return false;
+  }
+  CATCH_ALL;
+  return 0;
+}
+
+')
+
+m4_define(`ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+`dnl
+___END_OF_FILE___
+___BEGIN_OF_FILE___ ppl_java_Termination.cc << ___END_OF_FILE___
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Termination_all_1affine_1ranking_1functions_1 at TERMINATION_ID@_1 at TOPOLOGY@1 at CLASS@
+(JNIEnv* env, jclass, jobject j_p, jobject j_ph) {
+  try {
+    @TOPOLOGY@@CPP_CLASS@* p_ptr
+      = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_p));
+    @A_TERMINATION_ID at Polyhedron* ph = new @A_TERMINATION_ID at Polyhedron();
+    all_affine_ranking_functions_ at TERMINATION_ID@(*p_ptr, *ph);
+    set_ptr(env, j_ph, ph);
+  }
+  CATCH_ALL;
+}
+
+')
+
+m4_define(`ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_code',
+`dnl
+___END_OF_FILE___
+___BEGIN_OF_FILE___ ppl_java_Termination.cc << ___END_OF_FILE___
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Termination_all_1affine_1ranking_1functions_1 at TERMINATION_ID@_1 at TOPOLOGY@1 at CLASS@_12
+(JNIEnv* env, jclass, jobject j_p_before, jobject j_p_after, jobject j_ph) {
+  try {
+    @TOPOLOGY@@CPP_CLASS@* p_ptr_before
+      = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_p_before));
+    @TOPOLOGY@@CPP_CLASS@* p_ptr_after
+      = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_p_after));
+    @A_TERMINATION_ID at Polyhedron* ph = new @A_TERMINATION_ID at Polyhedron();
+    all_affine_ranking_functions_ at TERMINATION_ID@_2(*p_ptr_before, *p_ptr_after, *ph);
+    set_ptr(env, j_ph, ph);
+  }
+  CATCH_ALL;
+}
+
+')
+
+m4_define(`ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _code',
+`dnl
+___END_OF_FILE___
+___BEGIN_OF_FILE___ ppl_java_Termination.cc << ___END_OF_FILE___
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Termination_all_1affine_1quasi_1ranking_1functions_1MS_1 at TOPOLOGY@1 at CLASS@
+(JNIEnv* env, jclass, jobject j_p,
+ jobject j_ph_decreasing, jobject j_ph_bounded) {
+  try {
+    @TOPOLOGY@@CPP_CLASS@* p_ptr
+      = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_p));
+    C_Polyhedron* ph_decreasing = new C_Polyhedron();
+    C_Polyhedron* ph_bounded = new C_Polyhedron();
+    all_affine_quasi_ranking_functions_MS(*p_ptr, *ph_decreasing, *ph_bounded);
+    set_ptr(env, j_ph_decreasing, ph_decreasing);
+    set_ptr(env, j_ph_bounded, ph_bounded);
+  }
+  CATCH_ALL;
+}
+
+')
+
+m4_define(`ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _2_code',
+`dnl
+___END_OF_FILE___
+___BEGIN_OF_FILE___ ppl_java_Termination.cc << ___END_OF_FILE___
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Termination_all_1affine_1quasi_1ranking_1functions_1MS_1 at TOPOLOGY@1 at CLASS@_12
+(JNIEnv* env, jclass, jobject j_p_before, jobject j_p_after,
+ jobject j_ph_decreasing, jobject j_ph_bounded) {
+  try {
+    @TOPOLOGY@@CPP_CLASS@* p_ptr_before
+      = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_p_before));
+    @TOPOLOGY@@CPP_CLASS@* p_ptr_after
+      = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_p_after));
+    C_Polyhedron* ph_decreasing = new C_Polyhedron();
+    C_Polyhedron* ph_bounded = new C_Polyhedron();
+    all_affine_quasi_ranking_functions_MS_2(*p_ptr_before, *p_ptr_after,
+                                            *ph_decreasing, *ph_bounded);
+    set_ptr(env, j_ph_decreasing, ph_decreasing);
+    set_ptr(env, j_ph_bounded, ph_bounded);
+  }
+  CATCH_ALL;
+}
+
+')
diff --git a/interfaces/Java/jni/ppl_interface_generator_java_classes_cc_files.m4 b/interfaces/Java/jni/ppl_interface_generator_java_classes_cc_files.m4
index e05f25b..f69b156 100644
--- a/interfaces/Java/jni/ppl_interface_generator_java_classes_cc_files.m4
+++ b/interfaces/Java/jni/ppl_interface_generator_java_classes_cc_files.m4
@@ -4,7 +4,7 @@ m4_divert(-1)
 dnl This m4 file generates the file parma_polyhedra_library_classes.cc
 dnl using the code in ppl_interface_generator_java_classes_cc_code.m4.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -41,11 +41,26 @@ dnl -----------------------------------------------------------------
 dnl Ensure any schematic procedure macro that is not defined
 dnl in the code file outputs a warning message.
 m4_define(`m4_default_code', `m4_dumpdef($1`'_code)')
+m4_divert
+___END_OF_FILE___
+___BEGIN_OF_FILE___ ppl_java_Termination.cc << ___END_OF_FILE___
+/* Java Termination interface code.
+m4_include(`ppl_interface_generator_copyright')`'dnl
+*/
+
+`#'include "ppl_java_common.defs.hh"
+`#'include "parma_polyhedra_library_Termination.h"
+`#'include "parma_polyhedra_library_C_Polyhedron.h"
+`#'include "parma_polyhedra_library_NNC_Polyhedron.h"
+using namespace Parma_Polyhedra_Library;
+using namespace Parma_Polyhedra_Library::Interfaces::Java;
+
 dnl m4_pre_extra_class_code(Class, CPP_Class, Class_Kind)
 dnl Prefix extra code for each class.
 m4_define(`m4_pre_extra_class_code', `dnl
 m4_define(`m4_current_interface', `m4_interface_class$1')`'dnl
-%<--%<--%<-- ppl_java_`'m4_current_interface`'.cc
+___END_OF_FILE___
+___BEGIN_OF_FILE___ ppl_java_`'m4_current_interface`'.cc << ___END_OF_FILE___
 /* Java m4_current_interface interface code.
 m4_include(`ppl_interface_generator_copyright')`'dnl
 */
@@ -67,5 +82,6 @@ dnl -----------------------------------------------------------------
 m4_divert`'dnl
 dnl Generate the non-fixed part of the file.
 m4_all_code`'dnl
+___END_OF_FILE___
 dnl
 dnl End of file generation.
diff --git a/interfaces/Java/jni/ppl_java_common.cc b/interfaces/Java/jni/ppl_java_common.cc
index 2bfa970..1829283 100644
--- a/interfaces/Java/jni/ppl_java_common.cc
+++ b/interfaces/Java/jni/ppl_java_common.cc
@@ -1,5 +1,5 @@
 /* PPL Java interface common routines implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -28,68 +28,311 @@ namespace Interfaces {
 
 namespace Java {
 
+// Define class and field/method ID caches.
+Java_Class_Cache cached_classes;
+Java_FMID_Cache cached_FMIDs;
+
+Java_Class_Cache::Java_Class_Cache() {
+  // Non-PPL classes.
+  Boolean = NULL;
+  Integer = NULL;
+  Long = NULL;
+  Iterator = NULL;
+  // PPL classes.
+  Artificial_Parameter = NULL;
+  Artificial_Parameter_Sequence = NULL;
+  Bounded_Integer_Type_Overflow = NULL;
+  Bounded_Integer_Type_Representation = NULL;
+  Bounded_Integer_Type_Width = NULL;
+  By_Reference = NULL;
+  Coefficient = NULL;
+  Congruence = NULL;
+  Constraint = NULL;
+  Generator = NULL;
+  Grid_Generator = NULL;
+  Generator_Type = NULL;
+  Grid_Generator_Type = NULL;
+  Constraint_System = NULL;
+  Congruence_System = NULL;
+  Generator_System = NULL;
+  Grid_Generator_System = NULL;
+  Linear_Expression = NULL;
+  Linear_Expression_Coefficient = NULL;
+  Linear_Expression_Difference = NULL;
+  Linear_Expression_Sum = NULL;
+  Linear_Expression_Times = NULL;
+  Linear_Expression_Unary_Minus = NULL;
+  Linear_Expression_Variable = NULL;
+  MIP_Problem_Status = NULL;
+  Optimization_Mode = NULL;
+  Pair = NULL;
+  PIP_Problem_Control_Parameter_Name = NULL;
+  PIP_Problem_Control_Parameter_Value = NULL;
+  PIP_Problem_Status = NULL;
+  Poly_Con_Relation = NULL;
+  Poly_Gen_Relation = NULL;
+  PPL_Object = NULL;
+  Relation_Symbol = NULL;
+  Variable = NULL;
+  Variables_Set = NULL;
+}
+
+void
+Java_Class_Cache::init_cache(JNIEnv* env, jclass& field, const char* name) {
+  assert(env != NULL);
+  if (field != NULL) {
+    env->DeleteGlobalRef(field);
+  }
+  jclass jni_class = env->FindClass(name);
+  CHECK_RESULT_ASSERT(env, jni_class);
+  field = (jclass) env->NewGlobalRef(jni_class);
+  CHECK_RESULT_ASSERT(env, field);
+}
+
+void
+Java_Class_Cache::init_cache(JNIEnv* env) {
+  assert(env != NULL);
+  // Non-PPL classes.
+  init_cache(env, Boolean, "java/lang/Boolean");
+  init_cache(env, Integer, "java/lang/Integer");
+  init_cache(env, Long, "java/lang/Long");
+  init_cache(env, Iterator, "java/util/Iterator");
+  // PPL classes.
+  init_cache(env, Artificial_Parameter,
+             "parma_polyhedra_library/Artificial_Parameter");
+  init_cache(env, Artificial_Parameter_Sequence,
+             "parma_polyhedra_library/Artificial_Parameter_Sequence");
+  init_cache(env, Bounded_Integer_Type_Overflow, "parma_polyhedra_library/Bounded_Integer_Type_Overflow");
+  init_cache(env, Bounded_Integer_Type_Representation, "parma_polyhedra_library/Bounded_Integer_Type_Representation");
+  init_cache(env, Bounded_Integer_Type_Width, "parma_polyhedra_library/Bounded_Integer_Type_Width");
+  init_cache(env, By_Reference, "parma_polyhedra_library/By_Reference");
+  init_cache(env, Coefficient, "parma_polyhedra_library/Coefficient");
+  init_cache(env, Congruence, "parma_polyhedra_library/Congruence");
+  init_cache(env, Constraint, "parma_polyhedra_library/Constraint");
+  init_cache(env, Generator, "parma_polyhedra_library/Generator");
+  init_cache(env, Grid_Generator, "parma_polyhedra_library/Grid_Generator");
+  init_cache(env, Generator_Type, "parma_polyhedra_library/Generator_Type");
+  init_cache(env, Grid_Generator_Type,
+             "parma_polyhedra_library/Grid_Generator_Type");
+  init_cache(env, Constraint_System,
+             "parma_polyhedra_library/Constraint_System");
+  init_cache(env, Congruence_System,
+             "parma_polyhedra_library/Congruence_System");
+  init_cache(env, Generator_System,
+             "parma_polyhedra_library/Generator_System");
+  init_cache(env, Grid_Generator_System,
+             "parma_polyhedra_library/Grid_Generator_System");
+  init_cache(env, Linear_Expression,
+             "parma_polyhedra_library/Linear_Expression");
+  init_cache(env, Linear_Expression_Coefficient,
+             "parma_polyhedra_library/Linear_Expression_Coefficient");
+  init_cache(env, Linear_Expression_Difference,
+             "parma_polyhedra_library/Linear_Expression_Difference");
+  init_cache(env, Linear_Expression_Sum,
+             "parma_polyhedra_library/Linear_Expression_Sum");
+  init_cache(env, Linear_Expression_Times,
+             "parma_polyhedra_library/Linear_Expression_Times");
+  init_cache(env, Linear_Expression_Unary_Minus,
+             "parma_polyhedra_library/Linear_Expression_Unary_Minus");
+  init_cache(env, Linear_Expression_Variable,
+             "parma_polyhedra_library/Linear_Expression_Variable");
+  init_cache(env, MIP_Problem_Status,
+             "parma_polyhedra_library/MIP_Problem_Status");
+  init_cache(env, Optimization_Mode,
+             "parma_polyhedra_library/Optimization_Mode");
+  init_cache(env, Pair, "parma_polyhedra_library/Pair");
+  init_cache(env, PIP_Problem_Control_Parameter_Name,
+             "parma_polyhedra_library/PIP_Problem_Control_Parameter_Name");
+  init_cache(env, PIP_Problem_Control_Parameter_Value,
+             "parma_polyhedra_library/PIP_Problem_Control_Parameter_Value");
+  init_cache(env, PIP_Problem_Status,
+             "parma_polyhedra_library/PIP_Problem_Status");
+  init_cache(env, Poly_Con_Relation,
+             "parma_polyhedra_library/Poly_Con_Relation");
+  init_cache(env, Poly_Gen_Relation,
+             "parma_polyhedra_library/Poly_Gen_Relation");
+  init_cache(env, PPL_Object, "parma_polyhedra_library/PPL_Object");
+  init_cache(env, Relation_Symbol, "parma_polyhedra_library/Relation_Symbol");
+  init_cache(env, Variable, "parma_polyhedra_library/Variable");
+  init_cache(env, Variables_Set, "parma_polyhedra_library/Variables_Set");
+}
+
+void
+Java_Class_Cache::clear_cache(JNIEnv* env, jclass& field) {
+  assert(env != NULL);
+  if (field != NULL) {
+    env->DeleteGlobalRef(field);
+    field = NULL;
+  }
+}
+
+void
+Java_Class_Cache::clear_cache(JNIEnv* env) {
+  assert(env != NULL);
+  // Non-PPL classes.
+  clear_cache(env, Boolean);
+  clear_cache(env, Integer);
+  clear_cache(env, Long);
+  clear_cache(env, Iterator);
+  // PPL classes.
+  clear_cache(env, Artificial_Parameter);
+  clear_cache(env, Artificial_Parameter_Sequence);
+  clear_cache(env, Bounded_Integer_Type_Overflow);
+  clear_cache(env, Bounded_Integer_Type_Representation);
+  clear_cache(env, Bounded_Integer_Type_Width);
+  clear_cache(env, By_Reference);
+  clear_cache(env, Coefficient);
+  clear_cache(env, Congruence);
+  clear_cache(env, Constraint);
+  clear_cache(env, Generator);
+  clear_cache(env, Grid_Generator);
+  clear_cache(env, Generator_Type);
+  clear_cache(env, Grid_Generator_Type);
+  clear_cache(env, Constraint_System);
+  clear_cache(env, Congruence_System);
+  clear_cache(env, Generator_System);
+  clear_cache(env, Grid_Generator_System);
+  clear_cache(env, Linear_Expression);
+  clear_cache(env, Linear_Expression_Coefficient);
+  clear_cache(env, Linear_Expression_Difference);
+  clear_cache(env, Linear_Expression_Sum);
+  clear_cache(env, Linear_Expression_Times);
+  clear_cache(env, Linear_Expression_Unary_Minus);
+  clear_cache(env, Linear_Expression_Variable);
+  clear_cache(env, MIP_Problem_Status);
+  clear_cache(env, Optimization_Mode);
+  clear_cache(env, PIP_Problem_Status);
+  clear_cache(env, Pair);
+  clear_cache(env, Poly_Con_Relation);
+  clear_cache(env, Poly_Gen_Relation);
+  clear_cache(env, PPL_Object);
+  clear_cache(env, Relation_Symbol);
+  clear_cache(env, Variable);
+  clear_cache(env, Variables_Set);
+}
+
 void
 handle_exception(JNIEnv* env, const std::overflow_error& e) {
   jclass newExcCls
     = env->FindClass("parma_polyhedra_library/Overflow_Error_Exception");
-  env->ThrowNew(newExcCls, e.what());
+  CHECK_RESULT_ASSERT(env, newExcCls);
+  jint ret = env->ThrowNew(newExcCls, e.what());
+  CHECK_RESULT_ABORT(env, ret == 0);
 }
 
 void
 handle_exception(JNIEnv* env, const std::invalid_argument& e) {
   jclass newExcCls
     = env->FindClass("parma_polyhedra_library/Invalid_Argument_Exception");
-  env->ThrowNew(newExcCls, e.what());
+  CHECK_RESULT_ASSERT(env, newExcCls);
+  jint ret = env->ThrowNew(newExcCls, e.what());
+  CHECK_RESULT_ABORT(env, ret == 0);
 }
 
 void
 handle_exception(JNIEnv* env, const std::logic_error& e) {
   jclass newExcCls
     = env->FindClass("parma_polyhedra_library/Logic_Error_Exception");
-  env->ThrowNew(newExcCls, e.what());
+  CHECK_RESULT_ASSERT(env, newExcCls);
+  jint ret = env->ThrowNew(newExcCls, e.what());
+  CHECK_RESULT_ABORT(env, ret == 0);
 }
 
 void
 handle_exception(JNIEnv* env, const std::length_error& e) {
   jclass newExcCls
     = env->FindClass("parma_polyhedra_library/Length_Error_Exception");
-  env->ThrowNew(newExcCls, e.what());
+  CHECK_RESULT_ASSERT(env, newExcCls);
+  jint ret = env->ThrowNew(newExcCls, e.what());
+  CHECK_RESULT_ABORT(env, ret == 0);
 }
 
 void
 handle_exception(JNIEnv* env, const std::domain_error& e) {
   jclass newExcCls
     = env->FindClass("parma_polyhedra_library/Domain_Error_Exception");
-  env->ThrowNew(newExcCls, e.what());
+  CHECK_RESULT_ASSERT(env, newExcCls);
+  jint ret = env->ThrowNew(newExcCls, e.what());
+  CHECK_RESULT_ABORT(env, ret == 0);
 }
 
 void
 handle_exception(JNIEnv* env, const std::bad_alloc&) {
   jclass newExcCls
     = env->FindClass("java/lang/RuntimeException");
-  env->ThrowNew(newExcCls, "Out of memory");
+  CHECK_RESULT_ASSERT(env, newExcCls);
+  jint ret = env->ThrowNew(newExcCls, "Out of memory");
+  CHECK_RESULT_ABORT(env, ret == 0);
 }
 
 void
 handle_exception(JNIEnv* env, const std::exception& e) {
   jclass newExcCls = env->FindClass("java/lang/RuntimeException");
-  env->ThrowNew(newExcCls, e.what());
+  CHECK_RESULT_ASSERT(env, newExcCls);
+  jint ret = env->ThrowNew(newExcCls, e.what());
+  CHECK_RESULT_ABORT(env, ret == 0);
+}
+
+void
+handle_exception(JNIEnv* env, const timeout_exception&) {
+  reset_timeout();
+  jclass newExcCls
+    = env->FindClass("parma_polyhedra_library/Timeout_Exception");
+  CHECK_RESULT_ASSERT(env, newExcCls);
+  jint ret = env->ThrowNew(newExcCls, "PPL timeout expired");
+  CHECK_RESULT_ABORT(env, (ret == 0));
+}
+
+void
+handle_exception(JNIEnv* env, const deterministic_timeout_exception&) {
+  reset_deterministic_timeout();
+  jclass newExcCls
+    = env->FindClass("parma_polyhedra_library/Timeout_Exception");
+  CHECK_RESULT_ASSERT(env, newExcCls);
+  jint ret = env->ThrowNew(newExcCls, "PPL deterministic timeout expired");
+  CHECK_RESULT_ABORT(env, (ret == 0));
 }
 
 void
 handle_exception(JNIEnv* env) {
   jclass newExcCls = env->FindClass("java/lang/RuntimeException");
-  env->ThrowNew(newExcCls, "PPL bug: unknown exception raised");
+  CHECK_RESULT_ASSERT(env, newExcCls);
+  jint ret = env->ThrowNew(newExcCls, "PPL bug: unknown exception raised");
+  CHECK_RESULT_ABORT(env, ret == 0);
 }
 
-jobject
-build_java_poly_gen_relation(JNIEnv* env,
-			     Poly_Gen_Relation& r) {
-  jclass j_poly_gen_relation_class
-    = env->FindClass("parma_polyhedra_library/Poly_Gen_Relation");
-  jmethodID j_poly_gen_relation_ctr_id
-    = env->GetMethodID(j_poly_gen_relation_class, "<init>", "(I)V");
+#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
 
+Parma_Watchdog_Library::Watchdog* p_timeout_object = 0;
+
+Weightwatch* p_deterministic_timeout_object = 0;
+
+#endif // PPL_WATCHDOG_LIBRARY_ENABLED
+
+void
+reset_timeout() {
+#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
+  if (p_timeout_object) {
+    delete p_timeout_object;
+    p_timeout_object = 0;
+    abandon_expensive_computations = 0;
+  }
+#endif // PPL_WATCHDOG_LIBRARY_ENABLED
+}
+
+void
+reset_deterministic_timeout() {
+#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
+  if (p_deterministic_timeout_object) {
+    delete p_deterministic_timeout_object;
+    p_deterministic_timeout_object = 0;
+    abandon_expensive_computations = 0;
+  }
+#endif // PPL_WATCHDOG_LIBRARY_ENABLED
+}
+
+jobject
+build_java_poly_gen_relation(JNIEnv* env, Poly_Gen_Relation& r) {
   jint j_value = 0;
   while (r != Poly_Gen_Relation::nothing()) {
     if (r.implies(Poly_Gen_Relation::subsumes())) {
@@ -97,18 +340,15 @@ build_java_poly_gen_relation(JNIEnv* env,
       r = r - Poly_Gen_Relation::subsumes();
     }
   }
-  return env->NewObject(j_poly_gen_relation_class,
-			j_poly_gen_relation_ctr_id, j_value);
+  jobject ret = env->NewObject(cached_classes.Poly_Gen_Relation,
+			       cached_FMIDs.Poly_Gen_Relation_init_ID,
+                               j_value);
+  CHECK_RESULT_THROW(env, ret);
+  return ret;
 }
 
 jobject
-build_java_poly_con_relation(JNIEnv* env,
-                             Poly_Con_Relation& r) {
-  jclass j_poly_con_relation_class
-    = env->FindClass("parma_polyhedra_library/Poly_Con_Relation");
-  jmethodID j_poly_con_relation_ctr_id
-    = env->GetMethodID(j_poly_con_relation_class, "<init>", "(I)V");
-
+build_java_poly_con_relation(JNIEnv* env, Poly_Con_Relation& r) {
   jint j_value = 0;
   while (r != Poly_Con_Relation::nothing()) {
     if (r.implies(Poly_Con_Relation::is_disjoint())) {
@@ -128,173 +368,186 @@ build_java_poly_con_relation(JNIEnv* env,
       r = r - Poly_Con_Relation::saturates();
     }
   }
-  return env->NewObject(j_poly_con_relation_class,
-			j_poly_con_relation_ctr_id, j_value);
+  jobject ret = env->NewObject(cached_classes.Poly_Con_Relation,
+			       cached_FMIDs.Poly_Con_Relation_init_ID,
+                               j_value);
+  CHECK_RESULT_THROW(env, ret);
+  return ret;
 }
 
 
 Congruence
-build_cxx_congruence(JNIEnv* env, const jobject& j_congruence) {
-  jclass congruence_class
-    = env->FindClass("parma_polyhedra_library/Congruence");
-  jfieldID modulus_field_id
-    = env->GetFieldID(congruence_class,
-                      "modulus",
-                      "Lparma_polyhedra_library/Coefficient;");
-  jobject j_modulus = env->GetObjectField(j_congruence, modulus_field_id);
+build_cxx_congruence(JNIEnv* env, jobject j_congruence) {
+  jobject j_mod
+    = env->GetObjectField(j_congruence, cached_FMIDs.Congruence_mod_ID);
+  jobject j_lhs
+    = env->GetObjectField(j_congruence, cached_FMIDs.Congruence_lhs_ID);
+  jobject j_rhs
+    = env->GetObjectField(j_congruence, cached_FMIDs.Congruence_rhs_ID);
   PPL_DIRTY_TEMP_COEFFICIENT(ppl_modulus);
-  ppl_modulus = build_cxx_coeff(env, j_modulus);
-  jfieldID lhs_field_id
-    = env->GetFieldID(congruence_class,
-                      "lhs",
-                      "Lparma_polyhedra_library/Linear_Expression;");
-  jfieldID rhs_field_id
-    = env->GetFieldID(congruence_class,
-                      "rhs",
-                      "Lparma_polyhedra_library/Linear_Expression;");
-  jobject j_lhs = env->GetObjectField(j_congruence, lhs_field_id);
-  jobject j_rhs = env->GetObjectField(j_congruence, rhs_field_id);
+  ppl_modulus = build_cxx_coeff(env, j_mod);
   Linear_Expression lhs = build_cxx_linear_expression(env, j_lhs);
   Linear_Expression rhs = build_cxx_linear_expression(env, j_rhs);
   return (lhs %= rhs) / ppl_modulus;
 }
 
+PIP_Tree_Node::Artificial_Parameter
+build_cxx_artificial_parameter(JNIEnv* env, jobject j_artificial_parameter) {
+  jobject j_le
+    = env->GetObjectField(j_artificial_parameter,
+                          cached_FMIDs.Artificial_Parameter_le_ID);
+  jobject j_den
+    = env->GetObjectField(j_artificial_parameter,
+                          cached_FMIDs.Artificial_Parameter_den_ID);
+  PPL_DIRTY_TEMP_COEFFICIENT(ppl_den);
+  ppl_den = build_cxx_coeff(env, j_den);
+  Linear_Expression le = build_cxx_linear_expression(env, j_le);
+  PIP_Tree_Node::Artificial_Parameter art_param(le, ppl_den);
+  return art_param;
+}
+
 jobject
-bool_to_j_boolean(JNIEnv* env, const bool value) {
-  jclass boolean_java_class = env->FindClass("java/lang/Boolean");
-  jmethodID getboolean_method_id
-    = env->GetStaticMethodID(boolean_java_class,
-                             "valueOf",
-                             "(Z)Ljava/lang/Boolean;");
-  return env->CallStaticObjectMethod(boolean_java_class,
-                                     getboolean_method_id,
-                                     value);
+bool_to_j_boolean_class(JNIEnv* env, const bool value) {
+  jobject ret = env->CallStaticObjectMethod(cached_classes.Boolean,
+                                            cached_FMIDs.Boolean_valueOf_ID,
+                                            value);
+  CHECK_EXCEPTION_ASSERT(env);
+  return ret;
 }
 
 jobject
-j_long_to_j_long_class(JNIEnv* env, const jlong& jlong_value) {
-  jclass long_java_class = env->FindClass("java/lang/Long");
-  jmethodID get_long_method_id
-    = env->GetStaticMethodID(long_java_class,
-                             "valueOf",
-                             "(J)Ljava/lang/Long;");
-  return env->CallStaticObjectMethod(long_java_class,
- 				     get_long_method_id,
- 				     jlong_value);
+j_long_to_j_long_class(JNIEnv* env, jlong jlong_value) {
+  jobject ret = env->CallStaticObjectMethod(cached_classes.Long,
+                                            cached_FMIDs.Long_valueOf_ID,
+                                            jlong_value);
+  CHECK_EXCEPTION_THROW(env);
+  return ret;
 }
 
 jlong
-j_long_class_to_j_long(JNIEnv* env,  const jobject& j_long) {
-  jclass long_java_class = env->FindClass("java/lang/Long");
-  jmethodID get_int_method_id = env->GetMethodID(long_java_class,
-						 "longValue", "()J");
-  return env->CallIntMethod(j_long, get_int_method_id);
+j_long_class_to_j_long(JNIEnv* env, jobject j_long) {
+  jlong ret = env->CallLongMethod(j_long, cached_FMIDs.Long_longValue_ID);
+  CHECK_EXCEPTION_ASSERT(env);
+  return ret;
 }
 
-
 jobject
-j_int_to_j_integer(JNIEnv* env,  const jint&  jint_value) {
-  jclass integer_java_class = env->FindClass("java/lang/Integer");
-  jmethodID get_integer_method_id
-    = env->GetStaticMethodID(integer_java_class,
-			     "valueOf",
-			     "(I)Ljava/lang/Integer;");
-  return env->CallStaticObjectMethod(integer_java_class,
-                                     get_integer_method_id,
-                                     jint_value);
+j_int_to_j_integer(JNIEnv* env, jint jint_value) {
+  jobject ret = env->CallStaticObjectMethod(cached_classes.Integer,
+                                            cached_FMIDs.Integer_valueOf_ID,
+                                            jint_value);
+  CHECK_EXCEPTION_THROW(env);
+  return ret;
 }
 
 jint
-j_integer_to_j_int(JNIEnv* env,  const jobject& j_integer) {
-  jclass integer_java_class = env->FindClass("java/lang/Integer");
-  jmethodID get_int_method_id = env->GetMethodID(integer_java_class,
-                                                 "intValue", "()I");
-  return env->CallIntMethod(j_integer, get_int_method_id);
+j_integer_to_j_int(JNIEnv* env, jobject j_integer) {
+  jint ret = env->CallIntMethod(j_integer, cached_FMIDs.Integer_intValue_ID);
+  CHECK_EXCEPTION_ASSERT(env);
+  return ret;
 }
 
-// bool
-// j_boolean_to_bool(JNIEnv* env,
-// 		  const jobject& j_boolean) {
-//   jclass boolean_class = env->GetObjectClass(j_boolean);
-//   jmethodID booleanvalue_method_id = env->GetMethodID(boolean_class,
-// 						      "booleanValue",
-// 						      "()Z");
-//   return env->CallBooleanMethod(j_boolean, booleanvalue_method_id);
-
-// }
-
 Variables_Set
-build_cxx_variables_set(JNIEnv* env,
-			const jobject& j_v_set) {
-  jclass variables_set_class = env->GetObjectClass(j_v_set);
-  jclass iterator_java_class = env->FindClass("java/util/Iterator");
+build_cxx_variables_set(JNIEnv* env, jobject j_v_set) {
+  // Get the iterator.
+  jobject j_iter
+    = env->CallObjectMethod(j_v_set, cached_FMIDs.Variables_Set_iterator_ID);
+  CHECK_EXCEPTION_THROW(env);
+  // Get method IDs from cache.
+  jmethodID has_next_ID = cached_FMIDs.Variables_Set_Iterator_has_next_ID;
+  jmethodID next_ID = cached_FMIDs.Variables_Set_Iterator_next_ID;
+  // Initialize an empty set of variables.
   Variables_Set v_set;
-  jmethodID iterator_method_id = env->GetMethodID(variables_set_class,
-						  "iterator",
- 						  "()Ljava/util/Iterator;");
-  jobject j_iterator = env->CallObjectMethod(j_v_set, iterator_method_id);
-  jmethodID has_next_method_id = env->GetMethodID(iterator_java_class,
-  						  "hasNext",
-  						  "()Z");
-  jboolean has_next_value = env->CallBooleanMethod(j_iterator,
-						   has_next_method_id);
-  jmethodID next_method_id = env->GetMethodID(iterator_java_class,
-					      "next",
-					      "()Ljava/lang/Object;");
-
+  jobject j_variable;
+  jboolean has_next_value = env->CallBooleanMethod(j_iter, has_next_ID);
   while (has_next_value) {
-    jobject j_variable = env->CallObjectMethod(j_iterator,
-					       next_method_id);
+    j_variable = env->CallObjectMethod(j_iter, next_ID);
+    CHECK_EXCEPTION_ASSERT(env);
     v_set.insert(build_cxx_variable(env, j_variable));
-    has_next_value = env->CallBooleanMethod(j_iterator,
-					    has_next_method_id);
+    has_next_value = env->CallBooleanMethod(j_iter, has_next_ID);
+    CHECK_EXCEPTION_ASSERT(env);
   }
   return v_set;
 }
 
 jobject
-build_java_variables_set(JNIEnv* env,
-			 const Variables_Set& v_set) {
-  jclass j_vs_class = env->FindClass("parma_polyhedra_library/Variables_Set");
-  jmethodID j_vs_ctr_id = env->GetMethodID(j_vs_class, "<init>", "()V");
-  jmethodID j_vs_add_id = env->GetMethodID(j_vs_class, "add",
-					   "(Ljava/lang/Object;)Z");
-  jobject j_vs = env->NewObject(j_vs_class, j_vs_ctr_id);
+build_java_variables_set(JNIEnv* env, const Variables_Set& v_set) {
+  jobject j_vs = env->NewObject(cached_classes.Variables_Set,
+                                cached_FMIDs.Variables_Set_init_ID);
+  CHECK_RESULT_THROW(env, j_vs);
   for (Variables_Set::const_iterator v_begin = v_set.begin(),
 	 v_end = v_set.end(); v_begin != v_end; ++v_begin) {
     Variable var(*v_begin);
     jobject j_variable = build_java_variable(env, var);
-    env->CallBooleanMethod(j_vs, j_vs_add_id, j_variable);
+    env->CallBooleanMethod(j_vs,
+                           cached_FMIDs.Variables_Set_add_ID,
+                           j_variable);
+    CHECK_EXCEPTION_THROW(env);
   }
   return j_vs;
 }
 
-Variable
-build_cxx_variable(JNIEnv* env, const jobject& j_var) {
-  jclass j_variable_class = env->FindClass("parma_polyhedra_library/Variable");
-  jfieldID varid_field_id = env->GetFieldID(j_variable_class,
-                                            "varid",
-                                            "I");
-  // Retrieve the value.
-  return Variable(env->GetIntField(j_var, varid_field_id));
+Bounded_Integer_Type_Overflow
+build_cxx_bounded_overflow(JNIEnv* env, jobject j_bounded_overflow) {
+  jint bounded_overflow
+    = env->CallIntMethod(j_bounded_overflow, cached_FMIDs.Bounded_Integer_Type_Overflow_ordinal_ID);
+  CHECK_EXCEPTION_ASSERT(env);
+  switch (bounded_overflow) {
+  case 0:
+    return OVERFLOW_WRAPS;
+  case 1:
+    return OVERFLOW_UNDEFINED;
+  case 2:
+    return OVERFLOW_IMPOSSIBLE;
+  default:
+    assert(false);
+    throw std::runtime_error("PPL Java interface internal error");
+  }
 }
 
-jobject
-build_java_variable(JNIEnv* env, const Variable& var) {
-  jclass variable_class = env->FindClass("parma_polyhedra_library/Variable");
-  jmethodID j_variable_ctr_id = env->GetMethodID(variable_class, "<init>",
-						 "(I)V");
-  return env->NewObject(variable_class, j_variable_ctr_id,
- 			var.id());
+Bounded_Integer_Type_Representation
+build_cxx_bounded_rep(JNIEnv* env, jobject j_bounded_rep) {
+  jint bounded_rep
+    = env->CallIntMethod(j_bounded_rep, cached_FMIDs.Bounded_Integer_Type_Representation_ordinal_ID);
+  CHECK_EXCEPTION_ASSERT(env);
+  switch (bounded_rep) {
+  case 0:
+    return UNSIGNED;
+  case 1:
+    return SIGNED_2_COMPLEMENT;
+  default:
+    assert(false);
+    throw std::runtime_error("PPL Java interface internal error");
+  }
+}
+
+Bounded_Integer_Type_Width
+build_cxx_bounded_width(JNIEnv* env, jobject j_bounded_width) {
+  jint bounded_width
+    = env->CallIntMethod(j_bounded_width, cached_FMIDs.Bounded_Integer_Type_Width_ordinal_ID);
+  CHECK_EXCEPTION_ASSERT(env);
+  switch (bounded_width) {
+  case 0:
+    return BITS_8;
+  case 1:
+    return BITS_16;
+  case 2:
+    return BITS_32;
+  case 3:
+    return BITS_64;
+  case 4:
+    return BITS_128;
+  default:
+    assert(false);
+    throw std::runtime_error("PPL Java interface internal error");
+  }
 }
 
 Relation_Symbol
-build_cxx_relsym(JNIEnv* env, const jobject& j_relsym) {
-  jclass rel_sym_class
-    = env->FindClass("parma_polyhedra_library/Relation_Symbol");
-  jmethodID rel_sym_ordinal_id = env->GetMethodID(rel_sym_class, "ordinal",
-						  "()I");
-  jint rel_sym = env->CallIntMethod(j_relsym, rel_sym_ordinal_id);
+build_cxx_relsym(JNIEnv* env, jobject j_relsym) {
+  jint rel_sym
+    = env->CallIntMethod(j_relsym, cached_FMIDs.Relation_Symbol_ordinal_ID);
+  CHECK_EXCEPTION_ASSERT(env);
   switch (rel_sym) {
   case 0:
     return LESS_THAN;
@@ -307,124 +560,128 @@ build_cxx_relsym(JNIEnv* env, const jobject& j_relsym) {
   case 4:
     return GREATER_THAN;
   default:
-    // We should not be here!
+    assert(false);
     throw std::runtime_error("PPL Java interface internal error");
   }
 }
 
 Optimization_Mode
-build_cxx_optimization_mode(JNIEnv* env, const jobject& j_opt_mode) {
-  jclass opt_mode_class
-    = env->FindClass("parma_polyhedra_library/Optimization_Mode");
-  jmethodID opt_mode_ordinal_id = env->GetMethodID(opt_mode_class, "ordinal",
-                                                   "()I");
-  jint opt_mode = env->CallIntMethod(j_opt_mode, opt_mode_ordinal_id);
+build_cxx_optimization_mode(JNIEnv* env, jobject j_opt_mode) {
+  jint opt_mode
+    = env->CallIntMethod(j_opt_mode, cached_FMIDs.Optimization_Mode_ordinal_ID);
+  CHECK_EXCEPTION_ASSERT(env);
   switch (opt_mode) {
   case 0:
     return MINIMIZATION;
   case 1:
     return MAXIMIZATION;
   default:
+    assert(false);
     throw std::runtime_error("PPL Java interface internal error");
   }
 }
 
 jobject
 build_java_mip_status(JNIEnv* env, const MIP_Problem_Status& mip_status) {
-  jclass j_mip_problem_status_class
-    = env->FindClass("parma_polyhedra_library/MIP_Problem_Status");
-  jfieldID mp_status_unfeasible_get_id
-    = env->GetStaticFieldID(j_mip_problem_status_class,
-			    "UNFEASIBLE_MIP_PROBLEM",
-			    "Lparma_polyhedra_library/MIP_Problem_Status;");
-  jfieldID mp_status_unbounded_get_id
-    = env->GetStaticFieldID(j_mip_problem_status_class,
-			    "UNBOUNDED_MIP_PROBLEM",
-			    "Lparma_polyhedra_library/MIP_Problem_Status;");
-  jfieldID mp_status_optimized_get_id
-    = env->GetStaticFieldID(j_mip_problem_status_class,
-			    "OPTIMIZED_MIP_PROBLEM",
-			    "Lparma_polyhedra_library/MIP_Problem_Status;");
+  jfieldID fID;
   switch (mip_status) {
   case UNFEASIBLE_MIP_PROBLEM:
-    return env->GetStaticObjectField(j_mip_problem_status_class,
-				     mp_status_unfeasible_get_id);
+    fID = cached_FMIDs.MIP_Problem_Status_UNFEASIBLE_MIP_PROBLEM_ID;
+    break;
   case UNBOUNDED_MIP_PROBLEM:
-    return env->GetStaticObjectField(j_mip_problem_status_class,
-				     mp_status_unbounded_get_id);
+    fID = cached_FMIDs.MIP_Problem_Status_UNBOUNDED_MIP_PROBLEM_ID;
+    break;
   case OPTIMIZED_MIP_PROBLEM:
-    return env->GetStaticObjectField(j_mip_problem_status_class,
-				     mp_status_optimized_get_id);
+    fID = cached_FMIDs.MIP_Problem_Status_OPTIMIZED_MIP_PROBLEM_ID;
+    break;
   default:
+    assert(false);
     throw std::runtime_error("PPL Java interface internal error");
   }
+  return env->GetStaticObjectField(cached_classes.MIP_Problem_Status, fID);
+}
+
+jobject
+build_java_pip_status(JNIEnv* env, const PIP_Problem_Status& pip_status) {
+  jfieldID fID;
+  switch (pip_status) {
+  case UNFEASIBLE_PIP_PROBLEM:
+    fID = cached_FMIDs.PIP_Problem_Status_UNFEASIBLE_PIP_PROBLEM_ID;
+    break;
+  case OPTIMIZED_PIP_PROBLEM:
+    fID = cached_FMIDs.PIP_Problem_Status_OPTIMIZED_PIP_PROBLEM_ID;
+    break;
+  default:
+    assert(false);
+    throw std::runtime_error("PPL Java interface internal error");
+  }
+  return env->GetStaticObjectField(cached_classes.PIP_Problem_Status, fID);
 }
 
 jobject
 build_java_optimization_mode(JNIEnv* env, const Optimization_Mode& opt_mode) {
-  jclass j_optimization_mode_class
-    = env->FindClass("parma_polyhedra_library/Optimization_Mode");
-  jfieldID optimization_mode_min_get_id
-    = env->GetStaticFieldID(j_optimization_mode_class,
-			    "MINIMIZATION",
-			    "Lparma_polyhedra_library/Optimization_Mode;");
-  jfieldID optimization_mode_max_get_id
-    = env->GetStaticFieldID(j_optimization_mode_class,
-			    "MAXIMIZATION",
-			    "Lparma_polyhedra_library/Optimization_Mode;");
+  jfieldID fID;
   switch (opt_mode) {
   case MINIMIZATION:
-    return env->GetStaticObjectField(j_optimization_mode_class,
-				     optimization_mode_min_get_id);
+    fID = cached_FMIDs.Optimization_Mode_MINIMIZATION_ID;
+    break;
   case MAXIMIZATION:
-    return  env->GetStaticObjectField(j_optimization_mode_class,
-				      optimization_mode_max_get_id);
+    fID = cached_FMIDs.Optimization_Mode_MAXIMIZATION_ID;
+    break;
   default:
+    assert(false);
     throw std::runtime_error("PPL Java interface internal error");
   }
+  return env->GetStaticObjectField(cached_classes.Optimization_Mode, fID);
 }
 
 MIP_Problem::Control_Parameter_Name
-build_cxx_control_parameter_name(JNIEnv* env, const jobject& j_cp_name) {
-  jclass cp_name_class
-    = env->FindClass("parma_polyhedra_library/Control_Parameter_Name");
-  jmethodID cp_name_ordinal_id = env->GetMethodID(cp_name_class, "ordinal",
-						  "()I");
+build_cxx_control_parameter_name(JNIEnv* env, jobject j_cp_name) {
+  jclass cp_name_class = env->GetObjectClass(j_cp_name);
+  CHECK_RESULT_ASSERT(env, cp_name_class);
+  jmethodID cp_name_ordinal_id
+    = env->GetMethodID(cp_name_class, "ordinal", "()I");
+  CHECK_RESULT_ASSERT(env, cp_name_ordinal_id);
   jint cp_name = env->CallIntMethod(j_cp_name, cp_name_ordinal_id);
+  CHECK_EXCEPTION_ASSERT(env);
   switch (cp_name) {
   case 0:
     return MIP_Problem::PRICING;
   default:
+    assert(false);
     throw std::runtime_error("PPL Java interface internal error");
   }
 }
 
 jobject
 build_java_control_parameter_name
-(JNIEnv* env,
- const MIP_Problem::Control_Parameter_Name& cp_name) {
+(JNIEnv* env,const MIP_Problem::Control_Parameter_Name& cp_name) {
   jclass j_cp_name_class
     = env->FindClass("parma_polyhedra_library/Control_Parameter_Name");
+  CHECK_RESULT_ASSERT(env, j_cp_name_class);
   jfieldID cp_name_pricing_get_id
-    = env->GetStaticFieldID(j_cp_name_class,
-			    "PRICING",
+    = env->GetStaticFieldID(j_cp_name_class, "PRICING",
 			    "Lparma_polyhedra_library/Control_Parameter_Name;");
+  CHECK_RESULT_ASSERT(env, cp_name_pricing_get_id);
   switch (cp_name) {
   case MIP_Problem::PRICING:
     return env->GetStaticObjectField(j_cp_name_class,
 				     cp_name_pricing_get_id);
   default:
+    assert(false);
     throw std::runtime_error("PPL Java interface internal error");
   }
 }
 
 MIP_Problem::Control_Parameter_Value
-build_cxx_control_parameter_value(JNIEnv* env, const jobject& j_cp_value) {
-  jclass cp_value_class
-    = env->FindClass("parma_polyhedra_library/Control_Parameter_Value");
-  jmethodID cp_value_ordinal_id = env->GetMethodID(cp_value_class, "ordinal",
-                                                   "()I");
+build_cxx_control_parameter_value(JNIEnv* env, jobject j_cp_value) {
+  jclass cp_value_class = env->GetObjectClass(j_cp_value);
+  CHECK_RESULT_ASSERT(env, cp_value_class);
+  jmethodID cp_value_ordinal_id
+    = env->GetMethodID(cp_value_class, "ordinal", "()I");
+  CHECK_RESULT_ASSERT(env, cp_value_ordinal_id);
   jint cp_value = env->CallIntMethod(j_cp_value, cp_value_ordinal_id);
+  CHECK_EXCEPTION_ASSERT(env);
   switch (cp_value) {
   case 0:
     return MIP_Problem::PRICING_STEEPEST_EDGE_FLOAT;
@@ -433,6 +690,7 @@ build_cxx_control_parameter_value(JNIEnv* env, const jobject& j_cp_value) {
   case 2:
     return MIP_Problem::PRICING_TEXTBOOK;
   default:
+    assert(false);
     throw std::runtime_error("PPL Java interface internal error");
   }
 }
@@ -442,88 +700,147 @@ build_java_control_parameter_value
 (JNIEnv* env, const MIP_Problem::Control_Parameter_Value& cp_value) {
   jclass j_cp_value_class
     = env->FindClass("parma_polyhedra_library/Control_Parameter_Value");
-  jfieldID cp_value_float_get_id
-    = env->GetStaticFieldID(j_cp_value_class,
-			    "PRICING_STEEPEST_EDGE_FLOAT",
-			    "Lparma_polyhedra_library/Control_Parameter_Value;");
-  jfieldID cp_value_exact_get_id
-    = env->GetStaticFieldID(j_cp_value_class,
-			    "PRICING_STEEPEST_EDGE_EXACT",
-			    "Lparma_polyhedra_library/Control_Parameter_Value;");
-  jfieldID cp_value_textbook_get_id
-    = env->GetStaticFieldID(j_cp_value_class,
-			    "PRICING_TEXTBOOK",
-			    "Lparma_polyhedra_library/Control_Parameter_Value;");
+  CHECK_RESULT_ASSERT(env, j_cp_value_class);
+  const char* field_name;
   switch (cp_value) {
   case MIP_Problem::PRICING_STEEPEST_EDGE_FLOAT:
-    return env->GetStaticObjectField(j_cp_value_class,
-				     cp_value_float_get_id);
+    field_name = "PRICING_STEEPEST_EDGE_FLOAT";
+    break;
   case MIP_Problem::PRICING_STEEPEST_EDGE_EXACT:
-    return env->GetStaticObjectField(j_cp_value_class,
-				     cp_value_exact_get_id);
+    field_name = "PRICING_STEEPEST_EDGE_EXACT";
+    break;
   case MIP_Problem::PRICING_TEXTBOOK:
-    return env->GetStaticObjectField(j_cp_value_class,
-				     cp_value_textbook_get_id);
+    field_name = "PRICING_TEXTBOOK";
+    break;
   default:
+    assert(false);
     throw std::runtime_error("PPL Java interface internal error");
   }
+  jfieldID fID = env->GetStaticFieldID(j_cp_value_class, field_name,
+                                       "Lparma_polyhedra_library/Control_Parameter_Value;");
+  CHECK_RESULT_ASSERT(env, fID);
+  return env->GetStaticObjectField(j_cp_value_class, fID);
 }
 
-Coefficient
-build_cxx_coeff(JNIEnv* env, const jobject& j_coeff) {
-  jclass j_coeff_class = env->GetObjectClass(j_coeff);
-  jfieldID fid = env->GetFieldID(j_coeff_class, "value",
-				 "Ljava/math/BigInteger;");
-  jobject bi = env->GetObjectField(j_coeff, fid);
-  jclass big_integer_class = env->GetObjectClass(bi);
-  jmethodID bi_to_string = env->GetMethodID(big_integer_class, "toString",
-					    "()Ljava/lang/String;");
-  jstring bi_string = (jstring) env->CallObjectMethod(bi, bi_to_string);
-  const char *nativeString = env->GetStringUTFChars(bi_string, 0);
-  PPL_DIRTY_TEMP_COEFFICIENT(ppl_coeff);
-  ppl_coeff = Coefficient(nativeString);
-  env->ReleaseStringUTFChars(bi_string, nativeString);
-  return ppl_coeff;
+PIP_Problem::Control_Parameter_Name
+build_cxx_pip_problem_control_parameter_name(JNIEnv* env, jobject j_cp_name) {
+  jclass cp_name_class = env->GetObjectClass(j_cp_name);
+  CHECK_RESULT_ASSERT(env, cp_name_class);
+  jmethodID cp_name_ordinal_id
+    = env->GetMethodID(cp_name_class, "ordinal", "()I");
+  CHECK_RESULT_ASSERT(env, cp_name_ordinal_id);
+  jint cp_name = env->CallIntMethod(j_cp_name, cp_name_ordinal_id);
+  CHECK_EXCEPTION_ASSERT(env);
+  switch (cp_name) {
+  case 0:
+    return PIP_Problem::CUTTING_STRATEGY;
+  case 1:
+    return PIP_Problem::PIVOT_ROW_STRATEGY;
+  default:
+    assert(false);
+    throw std::runtime_error("PPL Java interface internal error");
+  }
 }
 
 jobject
-build_java_coeff(JNIEnv* env, const Coefficient& ppl_coeff) {
-  std::ostringstream s;
-  s << ppl_coeff;
-  jclass j_coefficient_class =
-    env->FindClass("parma_polyhedra_library/Coefficient");
-  jmethodID j_coefficient_ctr_id = env->GetMethodID(j_coefficient_class,
-						    "<init>",
-						    "(Ljava/lang/String;)V");
-  std::string str = s.str();
-  jstring coeff_string = env->NewStringUTF(str.c_str());
-  return env->NewObject(j_coefficient_class, j_coefficient_ctr_id,
-			coeff_string);
+build_pip_problem_java_control_parameter_name
+(JNIEnv* env, const PIP_Problem::Control_Parameter_Name& cp_name) {
+  jclass j_cp_name_class
+    = env->FindClass("parma_polyhedra_library/PIP_Problem_Control_Parameter_Name");
+  CHECK_RESULT_ASSERT(env, j_cp_name_class);
+  jfieldID cp_name_cutting_strategy_get_id
+    = env->GetStaticFieldID(j_cp_name_class, "CUTTING_STRATEGY",
+			    "Lparma_polyhedra_library/PIP_Problem_Control_Parameter_Name;");
+  CHECK_RESULT_ASSERT(env, cp_name_cutting_strategy_get_id);
+  jfieldID cp_name_pivot_row_strategy_get_id
+    = env->GetStaticFieldID(j_cp_name_class, "PIVOT_ROW_STRATEGY",
+			    "Lparma_polyhedra_library/PIP_Problem_Control_Parameter_Name;");
+  CHECK_RESULT_ASSERT(env, cp_name_pivot_row_strategy_get_id);
+  switch (cp_name) {
+  case PIP_Problem::CUTTING_STRATEGY:
+    return env->GetStaticObjectField(j_cp_name_class,
+				     cp_name_cutting_strategy_get_id);
+  case PIP_Problem::PIVOT_ROW_STRATEGY:
+    return env->GetStaticObjectField(j_cp_name_class,
+				     cp_name_pivot_row_strategy_get_id);
+  default:
+    assert(false);
+    throw std::runtime_error("PPL Java interface internal error");
+  }
+}
+
+PIP_Problem::Control_Parameter_Value
+build_cxx_pip_problem_control_parameter_value(JNIEnv* env, jobject j_cp_value) {
+  jclass cp_value_class = env->GetObjectClass(j_cp_value);
+  CHECK_RESULT_ASSERT(env, cp_value_class);
+  jmethodID cp_value_ordinal_id
+    = env->GetMethodID(cp_value_class, "ordinal", "()I");
+  CHECK_RESULT_ASSERT(env, cp_value_ordinal_id);
+  jint cp_value = env->CallIntMethod(j_cp_value, cp_value_ordinal_id);
+  CHECK_EXCEPTION_ASSERT(env);
+  switch (cp_value) {
+  case 0:
+    return PIP_Problem::CUTTING_STRATEGY_FIRST;
+  case 1:
+    return PIP_Problem::CUTTING_STRATEGY_DEEPEST;
+  case 2:
+    return PIP_Problem::CUTTING_STRATEGY_ALL;
+  case 3:
+    return PIP_Problem::PIVOT_ROW_STRATEGY_FIRST;
+  case 4:
+    return PIP_Problem::PIVOT_ROW_STRATEGY_MAX_COLUMN;
+  default:
+    assert(false);
+    throw std::runtime_error("PPL Java interface internal error");
+  }
+}
+
+jobject
+build_java_pip_problem_control_parameter_value
+(JNIEnv* env, const PIP_Problem::Control_Parameter_Value& cp_value) {
+  jclass j_cp_value_class
+    = env->FindClass("parma_polyhedra_library/PIP_Problem_Control_Parameter_Value");
+  CHECK_RESULT_ASSERT(env, j_cp_value_class);
+  const char* field_name;
+  switch (cp_value) {
+  case PIP_Problem::CUTTING_STRATEGY_FIRST:
+    field_name = "CUTTING_STRATEGY_FIRST";
+    break;
+  case PIP_Problem::CUTTING_STRATEGY_DEEPEST:
+    field_name = "CUTTING_STRATEGY_DEEPEST";
+    break;
+  case PIP_Problem::CUTTING_STRATEGY_ALL:
+    field_name = "CUTTING_STRATEGY_ALL";
+    break;
+  case PIP_Problem::PIVOT_ROW_STRATEGY_FIRST:
+    field_name = "PIVOT_ROW_STRATEGY_FIRST";
+    break;
+  case PIP_Problem::PIVOT_ROW_STRATEGY_MAX_COLUMN:
+    field_name = "PIVOT_ROW_STRATEGY_MAX_COLUMN";
+    break;
+  default:
+    assert(false);
+    throw std::runtime_error("PPL Java interface internal error");
+  }
+  jfieldID fID = env->GetStaticFieldID(j_cp_value_class, field_name,
+                                       "Lparma_polyhedra_library/PIP_Problem_Control_Parameter_Value;");
+  CHECK_RESULT_ASSERT(env, fID);
+  return env->GetStaticObjectField(j_cp_value_class, fID);
 }
 
 Constraint
-build_cxx_constraint(JNIEnv* env, const jobject& j_constraint) {
-  jclass constraint_class
-    = env->FindClass("parma_polyhedra_library/Constraint");
-  jclass rel_sym_class
-    = env->FindClass("parma_polyhedra_library/Relation_Symbol");
-  jfieldID lhs_field_id
-    = env->GetFieldID(constraint_class, "lhs",
-                      "Lparma_polyhedra_library/Linear_Expression;");
-  jfieldID rhs_field_id
-    = env->GetFieldID(constraint_class, "rhs",
-                      "Lparma_polyhedra_library/Linear_Expression;");
-  jobject lhs_value = env->GetObjectField(j_constraint, lhs_field_id);
-  jobject rhs_value = env->GetObjectField(j_constraint, rhs_field_id);
+build_cxx_constraint(JNIEnv* env, jobject j_constraint) {
+  jobject lhs_value
+    = env->GetObjectField(j_constraint, cached_FMIDs.Constraint_lhs_ID);
+  jobject rhs_value
+    = env->GetObjectField(j_constraint, cached_FMIDs.Constraint_rhs_ID);
+  jobject kind
+    = env->GetObjectField(j_constraint, cached_FMIDs.Constraint_kind_ID);
   Linear_Expression first_le = build_cxx_linear_expression(env, lhs_value);
   Linear_Expression second_le = build_cxx_linear_expression(env, rhs_value);
-  jfieldID kind_field_id
-    = env->GetFieldID(constraint_class, "kind",
-                      "Lparma_polyhedra_library/Relation_Symbol;");
-  jobject kind = env->GetObjectField(j_constraint, kind_field_id);
-  jmethodID rel_sym_ordinal_id = env->GetMethodID(rel_sym_class, "ordinal",
-						  "()I");
-  jint rel_sym = env->CallIntMethod(kind, rel_sym_ordinal_id);
+  jint rel_sym
+    = env->CallIntMethod(kind, cached_FMIDs.Relation_Symbol_ordinal_ID);
+  CHECK_EXCEPTION_ASSERT(env);
   switch (rel_sym) {
   case 0:
     return Constraint(first_le < second_le);
@@ -532,672 +849,340 @@ build_cxx_constraint(JNIEnv* env, const jobject& j_constraint) {
   case 2:
     return Constraint(first_le == second_le);
   case 3:
-    if (rel_sym == 3)
-      return Constraint(first_le >= second_le);
+    return Constraint(first_le >= second_le);
   case 4:
     return Constraint(first_le > second_le);
   default:
-    ;
+    assert(false);
+    throw std::runtime_error("PPL Java interface internal error");
   }
-  jclass newExcCls = env->FindClass("java/lang/RuntimeException");
-  env->ThrowNew(newExcCls, "ppl.java: \n runtime error");
-  // We should not be here!
-  throw std::runtime_error("PPL Java interface internal error");
 }
 
 Linear_Expression
-build_cxx_linear_expression(JNIEnv* env, const jobject& j_le) {
-  jclass le_sum_class
-    = env->FindClass("parma_polyhedra_library/Linear_Expression_Sum");
-  jclass le_difference_class
-    = env->FindClass("parma_polyhedra_library/Linear_Expression_Difference");
-  jclass le_times_class
-    = env->FindClass("parma_polyhedra_library/Linear_Expression_Times");
-  jclass le_unary_minus_class
-    = env->FindClass("parma_polyhedra_library/Linear_Expression_Unary_Minus");
-  jclass j_coeff_le_class
-    = env->FindClass("parma_polyhedra_library/Linear_Expression_Coefficient");
-  jclass j_variable_le_class
-    = env->FindClass("parma_polyhedra_library/Linear_Expression_Variable");
-  jclass j_variable_class = env->FindClass("parma_polyhedra_library/Variable");
-
+build_cxx_linear_expression(JNIEnv* env, jobject j_le) {
+  jfieldID fID;
   jclass current_class = env->GetObjectClass(j_le);
-  // Variable
-  if (env->IsAssignableFrom(j_variable_le_class, current_class)) {
-    jfieldID arg_field_id
-      = env->GetFieldID(j_variable_le_class,
-                        "arg",
-                        "Lparma_polyhedra_library/Variable;");
-    jobject var = env->GetObjectField(j_le, arg_field_id);
-    jfieldID varid_field_id = env->GetFieldID(j_variable_class,
-					      "varid",
-					      "I");
-    // Retrieve the value.
-    jint varid = env->GetIntField(var, varid_field_id);
-    return Linear_Expression(Variable(varid));
+  // LE_Variable
+  if (env->IsAssignableFrom(current_class,
+                            cached_classes.Linear_Expression_Variable)) {
+    jmethodID mID = cached_FMIDs.Linear_Expression_Variable_var_id_ID;
+    jint var_id = env->CallIntMethod(j_le, mID);
+    return Linear_Expression(Variable(var_id));
   }
-  // Coefficient
-  if (env->IsAssignableFrom(j_coeff_le_class, current_class)) {
-    jfieldID coeff_field_id
-      = env->GetFieldID(j_coeff_le_class,
-                        "coeff",
-                        "Lparma_polyhedra_library/Coefficient;");
-    jobject ppl_coeff = env->GetObjectField(j_le, coeff_field_id);
-
+  // LE_Coefficient
+  if (env->IsAssignableFrom(current_class,
+                            cached_classes.Linear_Expression_Coefficient)) {
+    fID = cached_FMIDs.Linear_Expression_Coefficient_coeff_ID;
+    jobject ppl_coeff = env->GetObjectField(j_le, fID);
     return Linear_Expression(build_cxx_coeff(env, ppl_coeff));
   }
-  // Sum
-  if (env->IsAssignableFrom(le_sum_class, current_class)) {
-    jfieldID l_field_id
-      = env->GetFieldID(current_class, "lhs",
-                        "Lparma_polyhedra_library/Linear_Expression;");
-    jfieldID r_field_id
-      = env->GetFieldID(current_class, "rhs",
-                        "Lparma_polyhedra_library/Linear_Expression;");
-    jobject l_value = env->GetObjectField(j_le, l_field_id);
-    jobject r_value = env->GetObjectField(j_le, r_field_id);
-    return (build_cxx_linear_expression(env, l_value)
-	    + build_cxx_linear_expression(env, r_value));
+  // LE_Sum
+  if (env->IsAssignableFrom(current_class,
+                            cached_classes.Linear_Expression_Sum)) {
+    fID = cached_FMIDs.Linear_Expression_Sum_lhs_ID;
+    jobject l_value = env->GetObjectField(j_le, fID);
+    fID = cached_FMIDs.Linear_Expression_Sum_rhs_ID;
+    jobject r_value = env->GetObjectField(j_le, fID);
+    return build_cxx_linear_expression(env, l_value)
+      + build_cxx_linear_expression(env, r_value);
   }
-  // Difference
-  if (env->IsAssignableFrom(current_class, le_difference_class)) {
-    jfieldID l_field_id
-      = env->GetFieldID(current_class, "lhs",
-                        "Lparma_polyhedra_library/Linear_Expression;");
-    jfieldID r_field_id
-      = env->GetFieldID(current_class, "rhs",
-                        "Lparma_polyhedra_library/Linear_Expression;");
-    jobject l_value = env->GetObjectField(j_le, l_field_id);
-    jobject r_value = env->GetObjectField(j_le, r_field_id);
-    return (build_cxx_linear_expression(env, l_value)
-	    - build_cxx_linear_expression(env, r_value));
+  // LE_Times
+  if (env->IsAssignableFrom(current_class,
+                            cached_classes.Linear_Expression_Times)) {
+    fID = cached_FMIDs.Linear_Expression_Times_coeff_ID;
+    jobject coeff_value = env->GetObjectField(j_le, fID);
+    fID = cached_FMIDs.Linear_Expression_Times_lin_expr_ID;
+    jobject le_value = env->GetObjectField(j_le, fID);
+    return build_cxx_coeff(env, coeff_value)
+      * build_cxx_linear_expression(env, le_value);
   }
-  // Times
-  if (env->IsAssignableFrom(le_times_class, current_class)) {
-    jfieldID le_field_id
-      = env->GetFieldID(current_class, "rhs",
-                        "Lparma_polyhedra_library/Linear_Expression;");
-    jfieldID le_coeff_field_id
-      = env->GetFieldID(current_class, "lhs",
-			"Lparma_polyhedra_library/Linear_Expression_Coefficient;");
-    jobject le_value = env->GetObjectField(j_le, le_field_id);
-    jobject le_coeff_value = env->GetObjectField(j_le, le_coeff_field_id);
-    jfieldID coeff_field_id
-      = env->GetFieldID(j_coeff_le_class,
-                        "coeff",
-                        "Lparma_polyhedra_library/Coefficient;");
-    jobject ppl_coeff = env->GetObjectField(le_coeff_value, coeff_field_id);
-    return (build_cxx_coeff(env, ppl_coeff)
-	    * build_cxx_linear_expression(env, le_value));
+  // LE_Difference
+  if (env->IsAssignableFrom(current_class,
+                            cached_classes.Linear_Expression_Difference)) {
+    fID = cached_FMIDs.Linear_Expression_Difference_lhs_ID;
+    jobject l_value = env->GetObjectField(j_le,fID);
+    fID = cached_FMIDs.Linear_Expression_Difference_rhs_ID;
+    jobject r_value = env->GetObjectField(j_le, fID);
+    return build_cxx_linear_expression(env, l_value)
+      - build_cxx_linear_expression(env, r_value);
   }
-  // Unary_Minus
-  if (env->IsAssignableFrom(current_class, le_unary_minus_class)) {
-    jfieldID le_field_id
-      = env->GetFieldID(current_class, "arg",
-                        "Lparma_polyhedra_library/Linear_Expression;");
-    jobject le_value = env->GetObjectField(j_le, le_field_id);
-    return (-build_cxx_linear_expression(env, le_value));
+  // LE_Unary_Minus
+  if (env->IsAssignableFrom(current_class,
+                            cached_classes.Linear_Expression_Unary_Minus)) {
+    fID = cached_FMIDs.Linear_Expression_Unary_Minus_arg_ID;
+    jobject le_value = env->GetObjectField(j_le, fID);
+    return -build_cxx_linear_expression(env, le_value);
   }
-  // We should not be here!
+  assert(false);
   throw std::runtime_error("PPL Java interface internal error");
 }
 
 Generator
-build_cxx_generator(JNIEnv* env, const jobject& j_generator) {
-  jclass generator_class = env->FindClass("parma_polyhedra_library/Generator");
-  jclass generator_type_class
-    = env->FindClass("parma_polyhedra_library/Generator_Type");
-
-  jfieldID j_le_field
-    = env->GetFieldID(generator_class, "le",
-                      "Lparma_polyhedra_library/Linear_Expression;");
-  jobject j_le = env->GetObjectField(j_generator, j_le_field);
-  jfieldID j_coeff_field
-    = env->GetFieldID(generator_class, "den",
-                      "Lparma_polyhedra_library/Coefficient;");
-  jobject j_coeff = env->GetObjectField(j_generator, j_coeff_field);
-
-  jfieldID generator_type_field
-    = env->GetFieldID(generator_class, "gt",
-                      "Lparma_polyhedra_library/Generator_Type;");
-  jobject generator_type = env->GetObjectField(j_generator,
-					       generator_type_field);
-  jmethodID generator_type_ordinal_id = env->GetMethodID(generator_type_class,
-							 "ordinal",
-							 "()I");
-  jint generator_type_ordinal = env->CallIntMethod(generator_type,
-						   generator_type_ordinal_id);
+build_cxx_generator(JNIEnv* env, jobject j_generator) {
+  jobject j_le
+    = env->GetObjectField(j_generator, cached_FMIDs.Generator_le_ID);
+  jobject generator_type
+    = env->GetObjectField(j_generator, cached_FMIDs.Generator_gt_ID);
+  jint generator_type_ordinal
+    = env->CallIntMethod(generator_type,
+                         cached_FMIDs.Generator_Type_ordinal_ID);
+  CHECK_EXCEPTION_ASSERT(env);
   switch (generator_type_ordinal) {
   case 0:
     return line(build_cxx_linear_expression(env, j_le));
   case 1:
     return ray(build_cxx_linear_expression(env, j_le));
   case 2:
-    return point(build_cxx_linear_expression(env, j_le),
-		 build_cxx_coeff(env, j_coeff));
+    {
+      jobject j_div
+        = env->GetObjectField(j_generator, cached_FMIDs.Generator_div_ID);
+      return point(build_cxx_linear_expression(env, j_le),
+                   build_cxx_coeff(env, j_div));
+    }
   case 3:
-    return closure_point(build_cxx_linear_expression(env, j_le),
-			 build_cxx_coeff(env, j_coeff));
+    {
+      jobject j_div
+        = env->GetObjectField(j_generator, cached_FMIDs.Generator_div_ID);
+      return closure_point(build_cxx_linear_expression(env, j_le),
+                           build_cxx_coeff(env, j_div));
+    }
   default:
-    ;
+    assert(false);
+    throw std::runtime_error("PPL Java interface internal error");
   }
-  jclass newExcCls = env->FindClass("java/lang/RuntimeException");
-  env->ThrowNew(newExcCls, "ppl.java: \n runtime error");
-  // We should not be here!
-  throw std::runtime_error("PPL Java interface internal error");
 }
 
 Grid_Generator
-build_cxx_grid_generator(JNIEnv* env, const jobject& j_grid_generator) {
-  jclass grid_generator_class
-    = env->FindClass("parma_polyhedra_library/Grid_Generator");
-  jclass grid_generator_type_class
-    = env->FindClass("parma_polyhedra_library/Grid_Generator_Type");
-
-  jfieldID j_le_field
-    = env->GetFieldID(grid_generator_class,
-                      "le",
-                      "Lparma_polyhedra_library/Linear_Expression;");
-  jobject j_le = env->GetObjectField(j_grid_generator, j_le_field);
-  jfieldID j_coeff_field
-    = env->GetFieldID(grid_generator_class,
-                      "coeff",
-                      "Lparma_polyhedra_library/Coefficient;");
-  jobject j_coeff = env->GetObjectField(j_grid_generator, j_coeff_field);
-
-  jfieldID grid_generator_type_field
-    = env->GetFieldID(grid_generator_class,
-		      "gt",
-		      "Lparma_polyhedra_library/Grid_Generator_Type;");
-  jobject grid_generator_type = env->GetObjectField(j_grid_generator,
-						    grid_generator_type_field);
-  jmethodID grid_generator_type_ordinal_id
-    = env->GetMethodID(grid_generator_type_class,
-		       "ordinal",
-		       "()I");
+build_cxx_grid_generator(JNIEnv* env, jobject j_grid_generator) {
+  jobject j_le
+    = env->GetObjectField(j_grid_generator, cached_FMIDs.Grid_Generator_le_ID);
+  jobject grid_generator_type
+    = env->GetObjectField(j_grid_generator, cached_FMIDs.Grid_Generator_gt_ID);
   jint grid_generator_type_ordinal
     = env->CallIntMethod(grid_generator_type,
-			 grid_generator_type_ordinal_id);
+                         cached_FMIDs.Grid_Generator_Type_ordinal_ID);
+  CHECK_EXCEPTION_ASSERT(env);
   switch (grid_generator_type_ordinal) {
   case 0:
     return grid_line(build_cxx_linear_expression(env, j_le));
   case 1:
-    return parameter(build_cxx_linear_expression(env, j_le),
-		     build_cxx_coeff(env, j_coeff));
+    {
+      jobject j_div = env->GetObjectField(j_grid_generator,
+                                          cached_FMIDs.Grid_Generator_div_ID);
+      return parameter(build_cxx_linear_expression(env, j_le),
+                       build_cxx_coeff(env, j_div));
+    }
   case 2:
-    return grid_point(build_cxx_linear_expression(env, j_le),
-		      build_cxx_coeff(env, j_coeff));
+    {
+      jobject j_div = env->GetObjectField(j_grid_generator,
+                                          cached_FMIDs.Grid_Generator_div_ID);
+      return grid_point(build_cxx_linear_expression(env, j_le),
+                        build_cxx_coeff(env, j_div));
+    }
   default:
-    ;
-  }
-  jclass newExcCls = env->FindClass("java/lang/RuntimeException");
-  env->ThrowNew(newExcCls, "ppl.java: \n runtime error");
-  // We should not be here!
-  throw std::runtime_error("PPL Java interface internal error");
-}
-
-void*
-get_ptr(JNIEnv* env, const jobject& ppl_object) {
-  jclass ppl_object_class = env->GetObjectClass(ppl_object);
-  jfieldID pointer_field = env->GetFieldID(ppl_object_class, "ptr", "J");
-  jlong pointer_value = env->GetLongField(ppl_object, pointer_field);
-  void* ptr = reinterpret_cast<void*>(pointer_value);
-  assert(reinterpret_cast<jlong>(ptr) == pointer_value);
-  return unmark(ptr);
-}
-
-bool
-is_java_marked(JNIEnv* env, const jobject& ppl_object) {
-  jclass ppl_object_class = env->GetObjectClass(ppl_object);
-  jfieldID pointer_field = env->GetFieldID(ppl_object_class, "ptr", "J");
-  jlong pointer_value = env->GetLongField(ppl_object, pointer_field);
-  const void* ptr = reinterpret_cast<const void*>(pointer_value);
-  assert(reinterpret_cast<jlong>(ptr) == pointer_value);
-  return marked(ptr);
-}
-
-Grid_Generator_System
-build_cxx_grid_generator_system(JNIEnv* env, const jobject& j_iterable) {
-  jclass j_iterable_class = env->GetObjectClass(j_iterable);
-  jclass iterator_java_class = env->FindClass("java/util/Iterator");
-  Grid_Generator_System ggs;
-  jmethodID iterator_method_id = env->GetMethodID(j_iterable_class,
-						  "iterator",
- 						  "()Ljava/util/Iterator;");
-  jobject j_iterator = env->CallObjectMethod(j_iterable, iterator_method_id);
-  jmethodID has_next_method_id = env->GetMethodID(iterator_java_class,
-  						  "hasNext",
-  						  "()Z");
-  jboolean has_next_value = env->CallBooleanMethod(j_iterator,
-						   has_next_method_id);
-  jmethodID next_method_id = env->GetMethodID(iterator_java_class,
-					      "next",
-					      "()Ljava/lang/Object;");
-
-  while (has_next_value) {
-    jobject j_grid_generator = env->CallObjectMethod(j_iterator,
-                                                     next_method_id);
-    ggs.insert(build_cxx_grid_generator(env, j_grid_generator));
-    has_next_value = env->CallBooleanMethod(j_iterator,
-					    has_next_method_id);
-  }
-  return ggs;
-}
-
-Constraint_System
-build_cxx_constraint_system(JNIEnv* env, const jobject& j_iterable) {
-  jclass j_iterable_class = env->GetObjectClass(j_iterable);
-  jclass iterator_java_class = env->FindClass("java/util/Iterator");
-  Constraint_System cs;
-  jmethodID iterator_method_id = env->GetMethodID(j_iterable_class,
-						  "iterator",
- 						  "()Ljava/util/Iterator;");
-  jobject j_iterator = env->CallObjectMethod(j_iterable, iterator_method_id);
-  jmethodID has_next_method_id = env->GetMethodID(iterator_java_class,
-  						  "hasNext",
-  						  "()Z");
-  jboolean has_next_value = env->CallBooleanMethod(j_iterator,
-						   has_next_method_id);
-  jmethodID next_method_id = env->GetMethodID(iterator_java_class,
-					      "next",
-					      "()Ljava/lang/Object;");
-
-  while (has_next_value) {
-    jobject j_constraint = env->CallObjectMethod(j_iterator,
-						 next_method_id);
-    cs.insert(build_cxx_constraint(env, j_constraint));
-    has_next_value = env->CallBooleanMethod(j_iterator,
-					    has_next_method_id);
-  }
-  return cs;
-}
-
-Generator_System
-build_cxx_generator_system(JNIEnv* env, const jobject& j_iterable) {
-  jclass j_iterable_class = env->GetObjectClass(j_iterable);
-  jclass iterator_java_class = env->FindClass("java/util/Iterator");
-  Generator_System gs;
-  jmethodID iterator_method_id = env->GetMethodID(j_iterable_class,
-						  "iterator",
- 						  "()Ljava/util/Iterator;");
-  jobject j_iterator = env->CallObjectMethod(j_iterable, iterator_method_id);
-  jmethodID has_next_method_id = env->GetMethodID(iterator_java_class,
-  						  "hasNext",
-  						  "()Z");
-  jboolean has_next_value = env->CallBooleanMethod(j_iterator,
-						   has_next_method_id);
-  jmethodID next_method_id = env->GetMethodID(iterator_java_class,
-					      "next",
-					      "()Ljava/lang/Object;");
-
-  while (has_next_value) {
-    jobject j_constraint = env->CallObjectMethod(j_iterator,
-						 next_method_id);
-    gs.insert(build_cxx_generator(env, j_constraint));
-    has_next_value = env->CallBooleanMethod(j_iterator,
-					    has_next_method_id);
-  }
-  return gs;
-}
-
-Congruence_System
-build_cxx_congruence_system(JNIEnv* env, const jobject& j_iterable) {
-  jclass j_iterable_class = env->GetObjectClass(j_iterable);
-  jclass iterator_java_class = env->FindClass("java/util/Iterator");
-  Congruence_System cgs;
-  jmethodID iterator_method_id = env->GetMethodID(j_iterable_class,
-						  "iterator",
- 						  "()Ljava/util/Iterator;");
-  jobject j_iterator = env->CallObjectMethod(j_iterable, iterator_method_id);
-  jmethodID has_next_method_id = env->GetMethodID(iterator_java_class,
-  						  "hasNext",
-  						  "()Z");
-  jboolean has_next_value = env->CallBooleanMethod(j_iterator,
-						   has_next_method_id);
-  jmethodID next_method_id = env->GetMethodID(iterator_java_class,
-					      "next",
-					      "()Ljava/lang/Object;");
-
-  while (has_next_value) {
-    jobject j_congruence = env->CallObjectMethod(j_iterator,
-						 next_method_id);
-    cgs.insert(build_cxx_congruence(env, j_congruence));
-    has_next_value = env->CallBooleanMethod(j_iterator,
-					    has_next_method_id);
+    assert(false);
+    throw std::runtime_error("PPL Java interface internal error");
   }
-  return cgs;
 }
 
 jobject
-build_java_linear_expression_coefficient(JNIEnv* env,
-                                         const Coefficient& c) {
-  jclass j_le_coeff_class
-    = env->FindClass("parma_polyhedra_library/Linear_Expression_Coefficient");
-  jobject j_coeff =  build_java_coeff(env, c);
-  jmethodID j_le_coeff_ctr_id
-    = env->GetMethodID(j_le_coeff_class,
-		       "<init>",
-		       "(Lparma_polyhedra_library/Coefficient;)V");
-  return env->NewObject(j_le_coeff_class, j_le_coeff_ctr_id,
-			j_coeff);
-}
-
-void
-set_generator(JNIEnv* env, jobject& to_be_set, const jobject& gen) {
-  jclass j_generator_class
-    = env->FindClass("parma_polyhedra_library/Generator");
-  jmethodID j_coeff_set_id
-    = env->GetMethodID(j_generator_class, "set",
-                       "(Lparma_polyhedra_library/Generator;)V");
-  env->CallVoidMethod(to_be_set, j_coeff_set_id, gen);
-}
-
-void set_grid_generator(JNIEnv* env, jobject& to_be_set,
-                        const jobject& gen) {
-  jclass j_generator_class
-    = env->FindClass("parma_polyhedra_library/Grid_Generator");
-  jmethodID j_coeff_set_id
-    = env->GetMethodID(j_generator_class, "set",
-                       "(Lparma_polyhedra_library/Grid_Generator;)V");
-  env->CallVoidMethod(to_be_set, j_coeff_set_id, gen);
+build_java_linear_expression_coefficient(JNIEnv* env, const Coefficient& c) {
+  jobject j_coeff = build_java_coeff(env, c);
+  jobject ret
+    = env->NewObject(cached_classes.Linear_Expression_Coefficient,
+                     cached_FMIDs.Linear_Expression_Coefficient_init_ID,
+                     j_coeff);
+  CHECK_RESULT_THROW(env, ret);
+  return ret;
 }
 
 void
-set_coefficient(JNIEnv* env, jobject& to_be_set,
-                const jobject& c) {
-  jclass j_coeff_class
-    = env->FindClass("parma_polyhedra_library/Coefficient");
-  jmethodID j_coeff_set_id
-    = env->GetMethodID(j_coeff_class, "set",
-                       "(Lparma_polyhedra_library/Coefficient;)V");
-  env->CallVoidMethod(to_be_set, j_coeff_set_id, c);
+set_generator(JNIEnv* env, jobject dst, jobject src) {
+  jobject src_gt = env->GetObjectField(src, cached_FMIDs.Generator_gt_ID);
+  env->SetObjectField(dst, cached_FMIDs.Generator_gt_ID, src_gt);
+  jobject src_le = env->GetObjectField(src, cached_FMIDs.Generator_le_ID);
+  env->SetObjectField(dst, cached_FMIDs.Generator_le_ID, src_le);
+  jobject src_div = env->GetObjectField(src, cached_FMIDs.Generator_div_ID);
+  env->SetObjectField(dst, cached_FMIDs.Generator_div_ID, src_div);
 }
 
 void
-set_by_reference(JNIEnv* env, jobject& by_ref_to_be_set,
-                 const jobject& to_insert) {
-  jclass by_reference_class
-    = env->FindClass("parma_polyhedra_library/By_Reference");
-  jfieldID obj_field_id = env->GetFieldID(by_reference_class,
-					  "obj",
-					  "Ljava/lang/Object;");
-  env->SetObjectField(by_ref_to_be_set, obj_field_id, to_insert);
-}
-
-jobject
-get_by_reference(JNIEnv* env, const jobject& by_reference) {
-  jclass by_reference_class
-    = env->FindClass("parma_polyhedra_library/By_Reference");
-  jfieldID obj_field_id = env->GetFieldID(by_reference_class,
-					  "obj",
-					  "Ljava/lang/Object;");
-  return env->GetObjectField(by_reference, obj_field_id);
-}
-
-void
-set_pair_element(JNIEnv* env, jobject& pair_to_be_set,
-                 int arg,  const jobject& to_insert) {
-  jclass pair_class = env->FindClass("parma_polyhedra_library/Pair");
+set_pair_element(JNIEnv* env, jobject dst_pair, int arg, jobject src) {
   switch (arg) {
   case 0:
-    {
-      jfieldID obj_field_id = env->GetFieldID(pair_class,
-                                              "first",
-                                              "Ljava/lang/Object;");
-      env->SetObjectField(pair_to_be_set, obj_field_id, to_insert);
-      return;
-    }
+    env->SetObjectField(dst_pair, cached_FMIDs.Pair_first_ID, src);
+    break;
   case 1:
-    {
-      jfieldID obj_field_id = env->GetFieldID(pair_class,
-                                              "second",
-                                              "Ljava/lang/Object;");
-      env->SetObjectField(pair_to_be_set, obj_field_id, to_insert);
-      return;
-    }
+    env->SetObjectField(dst_pair, cached_FMIDs.Pair_second_ID, src);
+    break;
   default:
-    throw std::runtime_error("PPL Java interface internal error: pair value"
-			     " not allowed");
+    assert(false);
+    throw std::runtime_error("PPL Java interface internal error: "
+                             "pair value not allowed");
   }
 }
 
-
 jobject
-get_pair_element(JNIEnv* env, int arg, const jobject& j_pair) {
-  jclass pair_class = env->FindClass("parma_polyhedra_library/Pair");
+get_pair_element(JNIEnv* env, int arg, jobject j_pair) {
   switch (arg) {
   case 0:
-    {
-      jfieldID obj_field_id = env->GetFieldID(pair_class,
-                                              "first",
-                                              "Ljava/lang/Object;");
-      return env->GetObjectField(j_pair, obj_field_id);
-    }
+    return env->GetObjectField(j_pair, cached_FMIDs.Pair_first_ID);
   case 1:
-    {
-      jfieldID obj_field_id = env->GetFieldID(pair_class,
-                                              "second",
-                                              "Ljava/lang/Object;");
-      return env->GetObjectField(j_pair, obj_field_id);
-    }
+    return env->GetObjectField(j_pair, cached_FMIDs.Pair_second_ID);
   default:
-    throw std::runtime_error("PPL Java interface internal error: pair value"
-			     " not allowed");
+    assert(false);
+    throw std::runtime_error("PPL Java interface internal error: "
+                             "pair value not allowed");
   }
 }
 
-jboolean
-is_null(JNIEnv* env, jobject obj) {
-  jclass by_reference_class
-    = env->FindClass("parma_polyhedra_library/By_Reference");
-  jmethodID j_reference_is_null_id
-    = env->GetStaticMethodID(by_reference_class,
-                             "is_null",
-                             "(Ljava/lang/Object;)Z");
-  return env->CallStaticBooleanMethod(by_reference_class,
-				      j_reference_is_null_id, obj);
-}
-
 jobject
 build_java_constraint(JNIEnv* env, const Constraint& c) {
-  jclass j_constraint_class
-    = env->FindClass("parma_polyhedra_library/Constraint");
-  jclass j_rel_sym_class
-    = env->FindClass("parma_polyhedra_library/Relation_Symbol");
-  jmethodID j_constraint_ctr_id
-    = env->GetMethodID(j_constraint_class,
-		       "<init>",
-		       "(Lparma_polyhedra_library/Linear_Expression;"
-		       "Lparma_polyhedra_library/Relation_Symbol;"
-		       "Lparma_polyhedra_library/Linear_Expression;)V");
-  jfieldID rel_sym_eq_get_id
-    = env->GetStaticFieldID(j_rel_sym_class,
-			    "EQUAL",
-			    "Lparma_polyhedra_library/Relation_Symbol;");
-  jfieldID rel_sym_gt_get_id
-    = env->GetStaticFieldID(j_rel_sym_class,
- 			    "GREATER_THAN",
- 			    "Lparma_polyhedra_library/Relation_Symbol;");
-  jfieldID rel_sym_gtoeq_get_id
-    = env->GetStaticFieldID(j_rel_sym_class,
- 			    "GREATER_OR_EQUAL",
- 			    "Lparma_polyhedra_library/Relation_Symbol;");
   jobject lhs = build_linear_expression(env, c);
   jobject rhs
     = build_java_linear_expression_coefficient(env, -c.inhomogeneous_term());
-  jobject relation;
+  jfieldID fID;
   switch (c.type()) {
   case Constraint::EQUALITY:
-    relation = env->GetStaticObjectField(j_rel_sym_class,
-                                         rel_sym_eq_get_id);
+    fID = cached_FMIDs.Relation_Symbol_EQUAL_ID;
     break;
   case Constraint::NONSTRICT_INEQUALITY:
-    relation = env->GetStaticObjectField(j_rel_sym_class,
-                                         rel_sym_gtoeq_get_id);
+    fID = cached_FMIDs.Relation_Symbol_GREATER_OR_EQUAL_ID;
     break;
   case Constraint::STRICT_INEQUALITY:
-    relation = env->GetStaticObjectField(j_rel_sym_class,
-					 rel_sym_gt_get_id);
+    fID = cached_FMIDs.Relation_Symbol_GREATER_THAN_ID;
     break;
   default:
+    assert(false);
     throw std::runtime_error("PPL Java interface internal error");
   }
-  return env->NewObject(j_constraint_class,j_constraint_ctr_id,
-                        lhs, relation, rhs);
+  jobject relation
+    = env->GetStaticObjectField(cached_classes.Relation_Symbol, fID);
+  jobject ret = env->NewObject(cached_classes.Constraint,
+                               cached_FMIDs.Constraint_init_ID,
+			       lhs, relation, rhs);
+  CHECK_RESULT_THROW(env, ret);
+  return ret;
 }
 
 jobject
 build_java_congruence(JNIEnv* env, const Congruence& cg) {
-  jclass j_congruence_class
-    = env->FindClass("parma_polyhedra_library/Congruence");
-  jmethodID j_congruence_ctr_id
-    = env->GetMethodID(j_congruence_class,
-		       "<init>",
-		       "(Lparma_polyhedra_library/Linear_Expression;"
-		       "Lparma_polyhedra_library/Linear_Expression;"
-		       "Lparma_polyhedra_library/Coefficient;)V");
-
-  jobject j_modulus = build_java_coeff(env, cg.modulus());
-  jobject lhs = build_linear_expression(env, cg);
-  jobject rhs
+  jobject j_mod = build_java_coeff(env, cg.modulus());
+  jobject j_lhs = build_linear_expression(env, cg);
+  jobject j_rhs
     = build_java_linear_expression_coefficient(env, -cg.inhomogeneous_term());
-  return env->NewObject(j_congruence_class, j_congruence_ctr_id,
-			lhs, rhs,
-			j_modulus);
+  jobject ret = env->NewObject(cached_classes.Congruence,
+                               cached_FMIDs.Congruence_init_ID,
+			       j_lhs, j_rhs, j_mod);
+  CHECK_RESULT_THROW(env, ret);
+  return ret;
 }
 
 jobject
 build_java_generator(JNIEnv* env, const Generator& g) {
-  jclass j_generator_class
-    = env->FindClass("parma_polyhedra_library/Generator");
-  jmethodID line_ctr_id
-    = env->GetStaticMethodID(j_generator_class,
-                             "line",
-                             "(Lparma_polyhedra_library/Linear_Expression;)"
-                             "Lparma_polyhedra_library/Generator;");
-  jmethodID ray_ctr_id
-    = env->GetStaticMethodID(j_generator_class,
-                             "ray",
-                             "(Lparma_polyhedra_library/Linear_Expression;)"
-                             "Lparma_polyhedra_library/Generator;");
-  jmethodID point_ctr_id
-    = env->GetStaticMethodID(j_generator_class,
-                             "point",
-                             "(Lparma_polyhedra_library/Linear_Expression;"
-                             "Lparma_polyhedra_library/Coefficient;)"
-                             "Lparma_polyhedra_library/Generator;");
-  jmethodID closure_point_ctr_id
-    = env->GetStaticMethodID(j_generator_class,
-                             "closure_point",
-                             "(Lparma_polyhedra_library/Linear_Expression;"
-                             "Lparma_polyhedra_library/Coefficient;)"
-                             "Lparma_polyhedra_library/Generator;");
   jobject j_g_le = build_linear_expression(env, g);
-  jobject jcoeff = build_java_coeff(env, Coefficient(1));
+  jobject ret;
   switch (g.type()) {
   case Generator::LINE:
-    return env->CallStaticObjectMethod(j_generator_class,
-				       line_ctr_id, j_g_le);
+    ret = env->CallStaticObjectMethod(cached_classes.Generator,
+				      cached_FMIDs.Generator_line_ID,
+                                      j_g_le);
+    break;
   case Generator::RAY:
-    return env->CallStaticObjectMethod(j_generator_class,
-				       ray_ctr_id, j_g_le);
+    ret = env->CallStaticObjectMethod(cached_classes.Generator,
+				      cached_FMIDs.Generator_ray_ID,
+                                      j_g_le);
+    break;
   case Generator::POINT:
     {
       const Coefficient& divisor = g.divisor();
-      j_g_le = build_linear_expression(env, g);
-      jcoeff = build_java_coeff(env, divisor);
-      return env->CallStaticObjectMethod(j_generator_class,
-					 point_ctr_id, j_g_le, jcoeff);
+      jobject j_div = build_java_coeff(env, divisor);
+      ret = env->CallStaticObjectMethod(cached_classes.Generator,
+                                        cached_FMIDs.Generator_point_ID,
+                                        j_g_le, j_div);
+      break;
     }
   case Generator::CLOSURE_POINT:
     {
       const Coefficient& divisor = g.divisor();
-      j_g_le = build_linear_expression(env, g);
-      jcoeff = build_java_coeff(env, divisor);
-      return env->CallStaticObjectMethod(j_generator_class,
-					 closure_point_ctr_id, j_g_le, jcoeff);
+      jobject j_div = build_java_coeff(env, divisor);
+      ret = env->CallStaticObjectMethod(cached_classes.Generator,
+                                        cached_FMIDs.Generator_closure_point_ID,
+                                        j_g_le, j_div);
+      break;
     }
   default:
+    assert(false);
     throw std::runtime_error("PPL Java interface internal error");
   }
+  CHECK_EXCEPTION_THROW(env);
+  return ret;
 }
 
 jobject
 build_java_grid_generator(JNIEnv* env, const Grid_Generator& g) {
-  jclass j_grid_generator_class
-    = env->FindClass("parma_polyhedra_library/Grid_Generator");
-  jmethodID line_ctr_id
-    = env->GetStaticMethodID(j_grid_generator_class,
-                             "grid_line",
-                             "(Lparma_polyhedra_library/Linear_Expression;)"
-                             "Lparma_polyhedra_library/Grid_Generator;");
-  jmethodID parameter_ctr_id
-    = env->GetStaticMethodID(j_grid_generator_class,
-                             "parameter",
-                             "(Lparma_polyhedra_library/Linear_Expression;"
-                             "Lparma_polyhedra_library/Coefficient;)"
-                             "Lparma_polyhedra_library/Grid_Generator;");
-  jmethodID point_ctr_id
-    = env->GetStaticMethodID(j_grid_generator_class,
-                             "grid_point",
-                             "(Lparma_polyhedra_library/Linear_Expression;"
-                             "Lparma_polyhedra_library/Coefficient;)"
-                             "Lparma_polyhedra_library/Grid_Generator;");
   jobject j_g_le = build_linear_expression(env, g);
-  jobject jcoeff = build_java_coeff(env, Coefficient(1));
+  jobject ret;
   switch (g.type()) {
   case Grid_Generator::LINE:
-    return env->CallStaticObjectMethod(j_grid_generator_class,
-				       line_ctr_id, j_g_le);
+    ret = env->CallStaticObjectMethod(cached_classes.Grid_Generator,
+				      cached_FMIDs.Grid_Generator_grid_line_ID,
+                                      j_g_le);
+    break;
   case Grid_Generator::PARAMETER:
     {
       const Coefficient& divisor = g.divisor();
-      j_g_le = build_linear_expression(env, g);
-      jcoeff = build_java_coeff(env, divisor);
-      return env->CallStaticObjectMethod(j_grid_generator_class,
-					 parameter_ctr_id, j_g_le, jcoeff);
+      jobject j_div = build_java_coeff(env, divisor);
+      ret = env->CallStaticObjectMethod(cached_classes.Grid_Generator,
+                                        cached_FMIDs.Grid_Generator_parameter_ID,
+                                        j_g_le, j_div);
+      break;
     }
   case Grid_Generator::POINT:
     {
       const Coefficient& divisor = g.divisor();
-      j_g_le = build_linear_expression(env, g);
-      jcoeff = build_java_coeff(env, divisor);
-      return env->CallStaticObjectMethod(j_grid_generator_class,
-					 point_ctr_id, j_g_le, jcoeff);
+      jobject j_div = build_java_coeff(env, divisor);
+      ret = env->CallStaticObjectMethod(cached_classes.Grid_Generator,
+                                        cached_FMIDs.Grid_Generator_grid_point_ID,
+                                        j_g_le, j_div);
+      break;
     }
   default:
+    assert(false);
     throw std::runtime_error("PPL Java interface internal error");
   }
+  CHECK_EXCEPTION_THROW(env);
+  return ret;
 }
 
 jobject
 build_java_constraint_system(JNIEnv* env, const Constraint_System& cs) {
-  jclass j_cs_class
-    = env->FindClass("parma_polyhedra_library/Constraint_System");
-  jmethodID j_cs_ctr_id = env->GetMethodID(j_cs_class, "<init>", "()V");
-  jmethodID j_cs_add_id = env->GetMethodID(j_cs_class, "add",
-					   "(Ljava/lang/Object;)Z");
-  jobject j_cs = env->NewObject(j_cs_class, j_cs_ctr_id);
+  jobject j_cs = env->NewObject(cached_classes.Constraint_System,
+                                cached_FMIDs.Constraint_System_init_ID);
+  CHECK_RESULT_THROW(env, j_cs);
   for (Constraint_System::const_iterator v_begin = cs.begin(),
- 	 v_end = cs.end(); v_begin != v_end; ++v_begin) {
+	 v_end = cs.end(); v_begin != v_end; ++v_begin) {
     jobject j_constraint = build_java_constraint(env, *v_begin);
-    env->CallBooleanMethod(j_cs, j_cs_add_id, j_constraint);
+    env->CallBooleanMethod(j_cs,
+                           cached_FMIDs.Constraint_System_add_ID,
+                           j_constraint);
+    CHECK_EXCEPTION_THROW(env);
   }
   return j_cs;
 }
 
 jobject
 build_java_generator_system(JNIEnv* env, const Generator_System& gs) {
-  jclass j_gs_class
-    = env->FindClass("parma_polyhedra_library/Generator_System");
-  jmethodID j_gs_ctr_id = env->GetMethodID(j_gs_class, "<init>", "()V");
-  jmethodID j_gs_add_id = env->GetMethodID(j_gs_class, "add",
-					   "(Ljava/lang/Object;)Z");
-  jobject j_gs = env->NewObject(j_gs_class, j_gs_ctr_id);
+  jobject j_gs = env->NewObject(cached_classes.Generator_System,
+                                cached_FMIDs.Generator_System_init_ID);
+  CHECK_RESULT_THROW(env, j_gs);
   for (Generator_System::const_iterator v_begin = gs.begin(),
- 	 v_end = gs.end(); v_begin != v_end; ++v_begin) {
+	 v_end = gs.end(); v_begin != v_end; ++v_begin) {
     jobject j_generator = build_java_generator(env, *v_begin);
-    env->CallBooleanMethod(j_gs, j_gs_add_id, j_generator);
+    env->CallBooleanMethod(j_gs,
+                           cached_FMIDs.Generator_System_add_ID,
+                           j_generator);
+    CHECK_EXCEPTION_THROW(env);
   }
   return j_gs;
 }
@@ -1205,36 +1190,48 @@ build_java_generator_system(JNIEnv* env, const Generator_System& gs) {
 jobject
 build_java_grid_generator_system(JNIEnv* env,
 				 const Grid_Generator_System& gs) {
-  jclass j_gs_class
-    = env->FindClass("parma_polyhedra_library/Grid_Generator_System");
-  jmethodID j_gs_ctr_id = env->GetMethodID(j_gs_class, "<init>", "()V");
-  jmethodID j_gs_add_id = env->GetMethodID(j_gs_class, "add",
-					   "(Ljava/lang/Object;)Z");
-  jobject j_gs = env->NewObject(j_gs_class, j_gs_ctr_id);
+  jobject j_gs = env->NewObject(cached_classes.Grid_Generator_System,
+                                cached_FMIDs.Grid_Generator_System_init_ID);
+  CHECK_RESULT_THROW(env, j_gs);
   for (Grid_Generator_System::const_iterator v_begin = gs.begin(),
- 	 v_end = gs.end(); v_begin != v_end; ++v_begin) {
+	 v_end = gs.end(); v_begin != v_end; ++v_begin) {
     jobject j_generator = build_java_grid_generator(env, *v_begin);
-    env->CallBooleanMethod(j_gs, j_gs_add_id, j_generator);
+    env->CallBooleanMethod(j_gs,
+                           cached_FMIDs.Grid_Generator_System_add_ID,
+                           j_generator);
+    CHECK_EXCEPTION_THROW(env);
   }
   return j_gs;
 }
 
 jobject
 build_java_congruence_system(JNIEnv* env, const Congruence_System& cgs) {
-  jclass j_cgs_class
-    = env->FindClass("parma_polyhedra_library/Congruence_System");
-  jmethodID j_cgs_ctr_id = env->GetMethodID(j_cgs_class, "<init>", "()V");
-  jmethodID j_cgs_add_id = env->GetMethodID(j_cgs_class, "add",
-					    "(Ljava/lang/Object;)Z");
-  jobject j_cgs = env->NewObject(j_cgs_class, j_cgs_ctr_id);
+  jobject j_cgs = env->NewObject(cached_classes.Congruence_System,
+                                 cached_FMIDs.Congruence_System_init_ID);
+  CHECK_RESULT_THROW(env, j_cgs);
   for (Congruence_System::const_iterator v_begin = cgs.begin(),
-  	 v_end = cgs.end(); v_begin != v_end; ++v_begin) {
+	 v_end = cgs.end(); v_begin != v_end; ++v_begin) {
     jobject j_congruence = build_java_congruence(env,*v_begin);
-    env->CallBooleanMethod(j_cgs, j_cgs_add_id, j_congruence);
+    env->CallBooleanMethod(j_cgs,
+                           cached_FMIDs.Congruence_System_add_ID,
+                           j_congruence);
+    CHECK_EXCEPTION_THROW(env);
   }
   return j_cgs;
 }
 
+jobject
+build_java_artificial_parameter
+(JNIEnv* env, const PIP_Tree_Node::Artificial_Parameter& art) {
+  jobject j_le = build_linear_expression(env, art);
+  jobject j_den = build_java_coeff(env, art.denominator());
+  jobject ret = env->NewObject(cached_classes.Artificial_Parameter,
+                               cached_FMIDs.Artificial_Parameter_init_ID,
+			       j_le, j_den);
+  CHECK_RESULT_THROW(env, ret);
+  return ret;
+}
+
 } // namespace Java
 
 } // namespace Interfaces
diff --git a/interfaces/Java/jni/ppl_java_common.defs.hh b/interfaces/Java/jni/ppl_java_common.defs.hh
index f88fe7e..4d23836 100644
--- a/interfaces/Java/jni/ppl_java_common.defs.hh
+++ b/interfaces/Java/jni/ppl_java_common.defs.hh
@@ -1,5 +1,5 @@
 /* Domain-independent part of the Java interface: declarations.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -23,12 +23,20 @@ site: http://www.cs.unipr.it/ppl/ . */
 #ifndef PPL_ppl_java_common_defs_hh
 #define PPL_ppl_java_common_defs_hh 1
 
+#define PPL_NO_AUTOMATIC_INITIALIZATION
 #include "ppl.hh"
+
+#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
+#include "pwl.hh"
+#endif
+
 #include <jni.h>
 #include "interfaced_boxes.hh"
 #include "marked_pointers.hh"
 
 #define CATCH_ALL \
+  catch(const Java_ExceptionOccurred& e) { \
+  } \
   catch(const std::overflow_error& e) { \
     handle_exception(env, e); \
   } \
@@ -50,16 +58,102 @@ site: http://www.cs.unipr.it/ppl/ . */
   catch (const std::exception& e) { \
     handle_exception(env, e); \
   } \
+  catch (const timeout_exception& e) { \
+    handle_exception(env, e); \
+  } \
+  catch (const deterministic_timeout_exception& e) { \
+    handle_exception(env, e); \
+  } \
   catch (...) { \
     handle_exception(env); \
   }
 
+#define CHECK_EXCEPTION_ASSERT(env)      \
+  assert(!env->ExceptionOccurred())
+#define CHECK_EXCEPTION_THROW(env)       \
+  do {                                   \
+    if (env->ExceptionOccurred())        \
+      throw Java_ExceptionOccurred();    \
+  } while (0)
+#define CHECK_EXCEPTION_RETURN(env, val) \
+  do {                                   \
+    if (env->ExceptionOccurred())        \
+      return val;                        \
+  } while (0)
+#define CHECK_EXCEPTION_RETURN_VOID(env) \
+  do {                                   \
+    if (env->ExceptionOccurred())        \
+      return;                            \
+  } while (0)
+#define CHECK_RESULT_ABORT(env, cond)	 \
+  do {                                   \
+    if (!(cond))			 \
+      abort();                           \
+  } while (0)
+#define CHECK_RESULT_ASSERT(env, cond)   \
+  assert(cond)
+#define CHECK_RESULT_THROW(env, cond)    \
+  do {                                   \
+    if (!(cond))			 \
+      throw Java_ExceptionOccurred();    \
+  } while (0)
+#define CHECK_RESULT_RETURN(env, cond, val)   \
+  do {                                        \
+    if (!(cond))			      \
+      return val;                             \
+  } while (0)
+#define CHECK_RESULT_RETURN_VOID(env, cond)   \
+  do {                                        \
+    if (!(cond))			      \
+      return;                                 \
+  } while (0)
+
+
 namespace Parma_Polyhedra_Library {
 
 namespace Interfaces {
 
 namespace Java {
 
+struct Java_ExceptionOccurred : public std::exception {
+};
+
+class timeout_exception
+  : public Parma_Polyhedra_Library::Throwable {
+public:
+  void throw_me() const {
+    throw *this;
+  }
+  int priority() const {
+    return 0;
+  }
+};
+
+class deterministic_timeout_exception
+  : public Parma_Polyhedra_Library::Throwable {
+public:
+  void throw_me() const {
+    throw *this;
+  }
+  int priority() const {
+    return 0;
+  }
+};
+
+#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
+extern Parma_Watchdog_Library::Watchdog* p_timeout_object;
+
+typedef
+Parma_Watchdog_Library::Threshold_Watcher
+<Parma_Polyhedra_Library::Weightwatch_Traits> Weightwatch;
+
+extern Weightwatch* p_deterministic_timeout_object;
+#endif // PPL_WATCHDOG_LIBRARY_ENABLED
+
+void reset_timeout();
+
+void reset_deterministic_timeout();
+
 void
 handle_exception(JNIEnv* env, const std::logic_error& e);
 
@@ -82,8 +176,249 @@ void
 handle_exception(JNIEnv* env, const std::exception& e);
 
 void
+handle_exception(JNIEnv* env, const timeout_exception& e);
+
+void
+handle_exception(JNIEnv* env, const deterministic_timeout_exception& e);
+
+void
 handle_exception(JNIEnv* env);
 
+//! A cache for global references to Java classes.
+/*!
+  The cache is loaded by \c Parma_Polyhedra_Library.initialize_library();
+  It is cleared by \c Parma_Polyhedra_Library.finalize_library().
+*/
+class Java_Class_Cache {
+public:
+  // Non-PPL types.
+  jclass Boolean;
+  jclass Integer;
+  jclass Long;
+  jclass Iterator;
+  // PPL types.
+  jclass Artificial_Parameter;
+  jclass Artificial_Parameter_Sequence;
+  jclass Bounded_Integer_Type_Overflow;
+  jclass Bounded_Integer_Type_Representation;
+  jclass Bounded_Integer_Type_Width;
+  jclass By_Reference;
+  jclass Coefficient;
+  jclass Congruence;
+  jclass Constraint;
+  jclass Generator;
+  jclass Grid_Generator;
+  jclass Generator_Type;
+  jclass Grid_Generator_Type;
+  jclass Constraint_System;
+  jclass Congruence_System;
+  jclass Generator_System;
+  jclass Grid_Generator_System;
+  jclass Linear_Expression;
+  jclass Linear_Expression_Coefficient;
+  jclass Linear_Expression_Difference;
+  jclass Linear_Expression_Sum;
+  jclass Linear_Expression_Times;
+  jclass Linear_Expression_Unary_Minus;
+  jclass Linear_Expression_Variable;
+  jclass MIP_Problem_Status;
+  jclass Optimization_Mode;
+  jclass Pair;
+  jclass PIP_Problem_Control_Parameter_Name;
+  jclass PIP_Problem_Control_Parameter_Value;
+  jclass PIP_Problem_Status;
+  jclass Poly_Con_Relation;
+  jclass Poly_Gen_Relation;
+  jclass PPL_Object;
+  jclass Relation_Symbol;
+  jclass Variable;
+  jclass Variables_Set;
+
+  //! Default constructor.
+  Java_Class_Cache();
+
+  //! Initializes all cache fields.
+  void init_cache(JNIEnv* env);
+
+  //! Resets all fields to \c NULL.
+  void clear_cache(JNIEnv* env);
+
+private:
+  //! Sets \p field to a global reference to Java class called \p name.
+  void init_cache(JNIEnv* env, jclass& field, const char* name);
+
+  //! Resets \p field to \c NULL, deleting the global reference (if any).
+  void clear_cache(JNIEnv* env, jclass& field);
+
+  // Private and not implemented: copy construction not allowed.
+  Java_Class_Cache(const Java_Class_Cache&);
+  // Private and not implemented: copy assignment not allowed.
+  Java_Class_Cache& operator=(const Java_Class_Cache&);
+};
+
+//! A cache for field and method IDs of Java classes.
+/*!
+  The IDs for fields and methods of PPL Java classes are automatically
+  by the static initializer of the corresponding Java class.
+  The static initializers of some PPL Java class also stores the IDs
+  for fields and methods of non-PPL classes (e.g., Boolean, Long, etc.).
+*/
+struct Java_FMID_Cache {
+  // Non-PPL type method IDs: stored when loading Coefficient.
+  jmethodID Boolean_valueOf_ID;
+  jmethodID Boolean_boolValue_ID;
+  jmethodID Integer_valueOf_ID;
+  jmethodID Integer_intValue_ID;
+  jmethodID Long_valueOf_ID;
+  jmethodID Long_longValue_ID;
+
+  // PPL type field and method IDs.
+  // Artificial_Parameter.
+  jfieldID Artificial_Parameter_le_ID;
+  jfieldID Artificial_Parameter_den_ID;
+  jmethodID Artificial_Parameter_init_ID;
+  jmethodID Artificial_Parameter_Sequence_init_ID;
+  jmethodID Artificial_Parameter_Sequence_add_ID;
+  // Bounded_Integer_Type_Overflow.
+  jfieldID Bounded_Integer_Type_Overflow_OVERFLOW_WRAPS_ID;
+  jfieldID Bounded_Integer_Type_Overflow_OVERFLOW_UNDEFINED_ID;
+  jfieldID Bounded_Integer_Type_Overflow_OVERFLOW_IMPOSSIBLE_ID;
+  jmethodID Bounded_Integer_Type_Overflow_ordinal_ID;
+  // Bounded_Integer_Type_Representation.
+  jfieldID Bounded_Integer_Type_Representation_UNSIGNED_ID;
+  jfieldID Bounded_Integer_Type_Representation_SIGNED_2_COMPLEMENT_ID;
+  jmethodID Bounded_Integer_Type_Representation_ordinal_ID;
+  // Bounded_Integer_Type_Width.
+  jfieldID Bounded_Integer_Type_Width_BITS_8_ID;
+  jfieldID Bounded_Integer_Type_Width_BITS_16_ID;
+  jfieldID Bounded_Integer_Type_Width_BITS_32_ID;
+  jfieldID Bounded_Integer_Type_Width_BITS_64_ID;
+  jfieldID Bounded_Integer_Type_Width_BITS_128_ID;
+  jmethodID Bounded_Integer_Type_Width_ordinal_ID;
+  // By_Reference.
+  jfieldID By_Reference_obj_ID;
+  jmethodID By_Reference_init_ID;
+  // Coefficient.
+  jfieldID Coefficient_value_ID;
+  jmethodID Coefficient_init_from_String_ID;
+  jmethodID Coefficient_toString_ID;
+  // Complexity_Class.
+  jmethodID Complexity_Class_ordinal_ID;
+  // Congruence.
+  jfieldID Congruence_mod_ID;
+  jfieldID Congruence_lhs_ID;
+  jfieldID Congruence_rhs_ID;
+  jmethodID Congruence_init_ID;
+  // Constraint.
+  jfieldID Constraint_lhs_ID;
+  jfieldID Constraint_rhs_ID;
+  jfieldID Constraint_kind_ID;
+  jmethodID Constraint_init_ID;
+  // Degenerate_Element.
+  jmethodID Degenerate_Element_ordinal_ID;
+  // Generator.
+  jfieldID Generator_gt_ID;
+  jfieldID Generator_le_ID;
+  jfieldID Generator_div_ID;
+  jmethodID Generator_line_ID;
+  jmethodID Generator_ray_ID;
+  jmethodID Generator_point_ID;
+  jmethodID Generator_closure_point_ID;
+  // Grid_Generator.
+  jfieldID Grid_Generator_gt_ID;
+  jfieldID Grid_Generator_le_ID;
+  jfieldID Grid_Generator_div_ID;
+  jmethodID Grid_Generator_grid_line_ID;
+  jmethodID Grid_Generator_parameter_ID;
+  jmethodID Grid_Generator_grid_point_ID;
+  // (Grid_) Generator_Type.
+  jmethodID Generator_Type_ordinal_ID;
+  jmethodID Grid_Generator_Type_ordinal_ID;
+  // Systems of Constraint, Congruence, Generator and Grid_Generator.
+  jmethodID Constraint_System_init_ID;
+  jmethodID Constraint_System_add_ID;
+  jmethodID Congruence_System_init_ID;
+  jmethodID Congruence_System_add_ID;
+  jmethodID Generator_System_init_ID;
+  jmethodID Generator_System_add_ID;
+  jmethodID Grid_Generator_System_init_ID;
+  jmethodID Grid_Generator_System_add_ID;
+  // System_Iterator: stored when loading Constraint_System.
+  jmethodID System_iterator_ID;
+  jmethodID System_Iterator_has_next_ID;
+  jmethodID System_Iterator_next_ID;
+  // Linear_Expression.
+  jmethodID Linear_Expression_sum_ID;
+  jmethodID Linear_Expression_times_ID;
+  // Classes extending Linear_Expression.
+  jfieldID Linear_Expression_Coefficient_coeff_ID;
+  jmethodID Linear_Expression_Coefficient_init_ID;
+  jfieldID Linear_Expression_Difference_lhs_ID;
+  jfieldID Linear_Expression_Difference_rhs_ID;
+  jfieldID Linear_Expression_Sum_lhs_ID;
+  jfieldID Linear_Expression_Sum_rhs_ID;
+  jfieldID Linear_Expression_Times_coeff_ID;
+  jfieldID Linear_Expression_Times_lin_expr_ID;
+  jmethodID Linear_Expression_Times_init_from_coeff_var_ID;
+  jfieldID Linear_Expression_Unary_Minus_arg_ID;
+  jmethodID Linear_Expression_Variable_init_ID;
+  jmethodID Linear_Expression_Variable_var_id_ID;
+  // MIP_Problem_Status.
+  jfieldID MIP_Problem_Status_UNFEASIBLE_MIP_PROBLEM_ID;
+  jfieldID MIP_Problem_Status_UNBOUNDED_MIP_PROBLEM_ID;
+  jfieldID MIP_Problem_Status_OPTIMIZED_MIP_PROBLEM_ID;
+  jmethodID MIP_Problem_Status_ordinal_ID;
+  // Optmization_Mode.
+  jfieldID Optimization_Mode_MAXIMIZATION_ID;
+  jfieldID Optimization_Mode_MINIMIZATION_ID;
+  jmethodID Optimization_Mode_ordinal_ID;
+  // PIP_Problem_Control_Parameter_Name.
+  jfieldID PIP_Problem_Control_Parameter_Name_CUTTING_STRATEGY_ID;
+  jfieldID PIP_Problem_Control_Parameter_Name_PIVOT_ROW_STRATEGY;
+  jmethodID PIP_Problem_Control_Parameter_Name_ordinal_ID;
+  // PIP_Problem_Control_Parameter_Value.
+  jfieldID PIP_Problem_Control_Parameter_Value_CUTTING_STRATEGY_FIRST_ID;
+  jfieldID PIP_Problem_Control_Parameter_Value_CUTTING_STRATEGY_DEEPEST_ID;
+  jfieldID PIP_Problem_Control_Parameter_Value_CUTTING_STRATEGY_ALL_ID;
+  jfieldID PIP_Problem_Control_Parameter_Value_PIVOT_ROW_STRATEGY_FIRST_ID;
+  jfieldID PIP_Problem_Control_Parameter_Value_PIVOT_ROW_STRATEGY_MAX_COLUMN_ID;
+  jmethodID PIP_Problem_Control_Parameter_Value_ordinal_ID;
+  // PIP_Problem_Status.
+  jfieldID PIP_Problem_Status_UNFEASIBLE_PIP_PROBLEM_ID;
+  jfieldID PIP_Problem_Status_OPTIMIZED_PIP_PROBLEM_ID;
+  jmethodID PIP_Problem_Status_ordinal_ID;
+  // Pair.
+  jfieldID Pair_first_ID;
+  jfieldID Pair_second_ID;
+  // Poly_Con_Relation and Poly_Gen_Relation.
+  jmethodID Poly_Con_Relation_init_ID;
+  jmethodID Poly_Gen_Relation_init_ID;
+  // PPL_Object.
+  jfieldID PPL_Object_ptr_ID;
+  // Relation_Symbol.
+  jfieldID Relation_Symbol_EQUAL_ID;
+  jfieldID Relation_Symbol_GREATER_OR_EQUAL_ID;
+  jfieldID Relation_Symbol_GREATER_THAN_ID;
+  jmethodID Relation_Symbol_ordinal_ID;
+  // Variable.
+  jfieldID Variable_varid_ID;
+  jmethodID Variable_init_ID;
+  // Variables_Set.
+  jmethodID Variables_Set_init_ID;
+  jmethodID Variables_Set_add_ID;
+  jmethodID Variables_Set_iterator_ID;
+  // Iterators on Variables_Set.
+  jmethodID Variables_Set_Iterator_has_next_ID;
+  jmethodID Variables_Set_Iterator_next_ID;
+};
+
+//! The cached class references.
+extern Java_Class_Cache cached_classes;
+
+//! The field and method ID cache.
+extern Java_FMID_Cache cached_FMIDs;
+
+
 /*! \brief
   Builds an unsigned C++ number from the Java native number \p value.
 
@@ -99,30 +434,30 @@ jtype_to_unsigned(const V& value);
 
 //! Builds a Java Boolean from C++ bool \p value.
 jobject
-bool_to_j_boolean(JNIEnv* env, const bool value);
+bool_to_j_boolean_class(JNIEnv* env, const bool value);
 
 //! Returns the Java int stored in Java Integer \p j_integer.
 jint
-j_integer_to_j_int(JNIEnv* env, const jobject& j_integer);
+j_integer_to_j_int(JNIEnv* env, jobject j_integer);
 
 //! Builds a Java Integer from Java int \p value.
 jobject
-j_int_to_j_integer(JNIEnv* env, const jint& value);
+j_int_to_j_integer(JNIEnv* env, jint value);
 
 //! Returns the Java long stored in Java Long \p j_long.
 jlong
-j_long_class_to_j_long(JNIEnv* env, const jobject& j_long);
+j_long_class_to_j_long(JNIEnv* env, jobject j_long);
 
 //! Builds a Java Long from Java long \p value.
 jobject
-j_long_to_j_long_class(JNIEnv* env, const jlong& value);
+j_long_to_j_long_class(JNIEnv* env, jlong value);
 
 /*! \brief
   Returns \c true if and only if the Java object \p ppl_object
   refers to a C++ object.
 */
 bool
-is_java_marked(JNIEnv* env, const jobject& ppl_object);
+is_java_marked(JNIEnv* env, jobject ppl_object);
 
 
 /*! \brief
@@ -144,7 +479,7 @@ build_java_poly_con_relation(JNIEnv* env, Poly_Con_Relation& r);
   from Java parma_polyhedra_library::Variables_Set \p v_set.
 */
 Variables_Set
-build_cxx_variables_set(JNIEnv* env, const jobject& v_set);
+build_cxx_variables_set(JNIEnv* env, jobject v_set);
 
 /*! \brief
   Builds a Java parma_polyhedra_library::Variables_Set
@@ -158,14 +493,35 @@ build_java_variables_set(JNIEnv* env, const Variables_Set& v_set);
   from Java parma_polyhedra_library::Relation_Symbol \p j_relsym.
 */
 Relation_Symbol
-build_cxx_relsym(JNIEnv* env, const jobject& j_relsym);
+build_cxx_relsym(JNIEnv* env, jobject j_relsym);
+
+/*! \brief
+  Builds a C++ Bounded_Integer_Type_Overflow
+  from Java parma_polyhedra_library::Bounded_Integer_Type_Overflow \p j_bounded_overflow.
+*/
+Bounded_Integer_Type_Overflow
+build_cxx_bounded_overflow(JNIEnv* env, jobject j_bounded_overflow);
+
+/*! \brief
+  Builds a C++ Bounded_Integer_Type_Width
+  from Java parma_polyhedra_library::Bounded_Integer_Type_Width \p j_bounded_width.
+*/
+Bounded_Integer_Type_Width
+build_cxx_bounded_width(JNIEnv* env, jobject j_bounded_width);
+
+/*! \brief
+  Builds a C++ Bounded_Integer_Type_Representation
+  from Java parma_polyhedra_library::Bounded_Integer_Type_Representation \p j_bounded_rep.
+*/
+Bounded_Integer_Type_Representation
+build_cxx_bounded_rep(JNIEnv* env, jobject j_bounded_rep);
 
 /*! \brief
   Builds a C++ Optimization_Mode
   from Java parma_polyhedra_library::Optimization_Mode \p j_opt_mode.
 */
 Optimization_Mode
-build_cxx_optimization_mode(JNIEnv* env, const jobject& j_opt_mode);
+build_cxx_optimization_mode(JNIEnv* env, jobject j_opt_mode);
 
 /*! \brief
   Builds a Java parma_polyhedra_library::Optimization_Mode
@@ -179,7 +535,7 @@ build_java_optimization_mode(JNIEnv* env, const Optimization_Mode& opt_mode);
   from Java parma_polyhedra_library::Control_Parameter_Name \p j_cp_name.
 */
 MIP_Problem::Control_Parameter_Name
-build_cxx_control_parameter_name(JNIEnv* env, const jobject& j_cp_name);
+build_cxx_control_parameter_name(JNIEnv* env, jobject j_cp_name);
 
 /*! \brief
   Builds a Java parma_polyhedra_library::Control_Parameter_Name
@@ -194,7 +550,7 @@ build_java_control_parameter_name
   from Java parma_polyhedra_library::Control_Parameter_Value \p j_cp_value.
 */
 MIP_Problem::Control_Parameter_Value
-build_cxx_control_parameter_value(JNIEnv* env, const jobject& j_cp_value);
+build_cxx_control_parameter_value(JNIEnv* env, jobject j_cp_value);
 
 /*! \brief
   Builds a Java parma_polyhedra_library::Control_Parameter_Value
@@ -205,6 +561,36 @@ build_java_control_parameter_value
 (JNIEnv* env, const MIP_Problem::Control_Parameter_Value& cp_value);
 
 /*! \brief
+  Builds a C++ PIP_Problem::Control_Parameter_Name
+  from Java parma_polyhedra_library::PIP_Problem_Control_Parameter_Name \p j_cp_name.
+*/
+PIP_Problem::Control_Parameter_Name
+build_cxx_pip_problem_control_parameter_name(JNIEnv* env, jobject j_cp_name);
+
+/*! \brief
+  Builds a Java parma_polyhedra_library::PIP_Problem_Control_Parameter_Name
+  from C++ PIP_Problem::Control_Parameter_Name \p cp_name.
+*/
+jobject
+build_java_pip_problem_control_parameter_name
+(JNIEnv* env, const PIP_Problem::Control_Parameter_Name& cp_name);
+
+/*! \brief
+  Builds a C++ PIP_Problem::Control_Parameter_Value
+  from Java parma_polyhedra_library::PIP_Problem_Control_Parameter_Value \p j_cp_value.
+*/
+PIP_Problem::Control_Parameter_Value
+build_cxx_pip_problem_control_parameter_value(JNIEnv* env, jobject j_cp_value);
+
+/*! \brief
+  Builds a Java parma_polyhedra_library::Control_Parameter_Value
+  from C++ PIP_Problem::Control_Parameter_Value \p cp_value.
+*/
+jobject
+build_java_pip_problem_control_parameter_value
+(JNIEnv* env, const PIP_Problem::Control_Parameter_Value& cp_value);
+
+/*! \brief
   Builds a Java parma_polyhedra_library::MIP_Problem_Status
   from C++ MIP_Problem_Status \p mip_status.
 */
@@ -212,11 +598,18 @@ jobject
 build_java_mip_status(JNIEnv* env, const MIP_Problem_Status& mip_status);
 
 /*! \brief
+  Builds a Java parma_polyhedra_library::PIP_Problem_Status
+  from C++ PIP_Problem_Status \p pip_status.
+*/
+jobject
+build_java_pip_status(JNIEnv* env, const PIP_Problem_Status& pip_status);
+
+/*! \brief
   Builds a C++ Variable
   from Java parma_polyhedra_library::Variable \p j_var.
 */
 Variable
-build_cxx_variable(JNIEnv* env, const jobject& j_var);
+build_cxx_variable(JNIEnv* env, jobject j_var);
 
 /*! \brief
   Builds a Java parma_polyhedra_library::Variable
@@ -230,7 +623,7 @@ build_java_variable(JNIEnv* env, const Variable& var);
   from Java parma_polyhedra_library::Coefficient \p j_coeff.
 */
 Coefficient
-build_cxx_coeff(JNIEnv* env, const jobject& j_coeff);
+build_cxx_coeff(JNIEnv* env, jobject j_coeff);
 
 /*! \brief
   Builds a Java parma_polyhedra_library::Coefficient
@@ -244,63 +637,85 @@ build_java_coeff(JNIEnv* env, const Coefficient& ppl_coeff);
   from Java parma_polyhedra_library::Constraint \p j_constraint.
 */
 Constraint
-build_cxx_constraint(JNIEnv* env, const jobject& j_constraint);
+build_cxx_constraint(JNIEnv* env, jobject j_constraint);
+
+/*! \brief
+  Builds a C++ Artificial_Parameter
+  from Java parma_polyhedra_library::Artificial_Parameter
+  \p j_artificial_parameter.
+*/
+PIP_Tree_Node::Artificial_Parameter
+build_cxx_artificial_parameter(JNIEnv* env, jobject j_ap);
 
 /*! \brief
   Builds a C++ Linear_Expression
   from Java parma_polyhedra_library::Linear_Expression \p j_le.
 */
 Linear_Expression
-build_cxx_linear_expression(JNIEnv* env, const jobject& j_le);
+build_cxx_linear_expression(JNIEnv* env, jobject j_le);
 
 /*! \brief
   Builds a C++ Congruence
   from Java parma_polyhedra_library::Congruence \p j_cg.
 */
 Congruence
-build_cxx_congruence(JNIEnv* env, const jobject& j_cg);
+build_cxx_congruence(JNIEnv* env, jobject j_cg);
 
 /*! \brief
   Builds a C++ Generator
   from Java parma_polyhedra_library::Generator \p j_g.
 */
 Generator
-build_cxx_generator(JNIEnv* env, const jobject& j_g);
+build_cxx_generator(JNIEnv* env, jobject j_g);
 
 /*! \brief
   Builds a C++ Grid_Generator
   from Java parma_polyhedra_library::Grid_Generator \p j_g.
 */
 Grid_Generator
-build_cxx_grid_generator(JNIEnv* env, const jobject& j_g);
+build_cxx_grid_generator(JNIEnv* env, jobject j_g);
 
 /*! \brief
   Builds a C++ Grid_Generator_System
   from Java parma_polyhedra_library::Grid_Generator_System \p j_gs.
 */
 Grid_Generator_System
-build_cxx_grid_generator_system(JNIEnv* env, const jobject& j_gs);
+build_cxx_grid_generator_system(JNIEnv* env, jobject j_gs);
 
 /*! \brief
   Builds a C++ Constraint_System
   from Java parma_polyhedra_library::Constraint_System \p j_cs.
 */
 Constraint_System
-build_cxx_constraint_system(JNIEnv* env, const jobject& j_cs);
+build_cxx_constraint_system(JNIEnv* env, jobject j_cs);
+
+/*! \brief
+  Builds a C++ Artificial_Parameter
+  from Java parma_polyhedra_library::Artificial_Parameter \p j_art_param.
+*/
+PIP_Tree_Node::Artificial_Parameter
+build_cxx_artificial_parameter(JNIEnv* env, jobject j_art_param);
+
+/*! \brief
+  Builds a C++ Artificial_Parameter_Sequence
+  from Java parma_polyhedra_library::Artificial_Parameter_Sequence \p j_aps.
+*/
+PIP_Tree_Node::Artificial_Parameter_Sequence
+build_cxx_artificial_parameter_sequence(JNIEnv* env, jobject j_aps);
 
 /*! \brief
   Builds a C++ Generator_System
   from Java parma_polyhedra_library::Generator_System \p j_gs.
 */
 Generator_System
-build_cxx_generator_system(JNIEnv* env, const jobject& j_gs);
+build_cxx_generator_system(JNIEnv* env, jobject j_gs);
 
 /*! \brief
   Builds a C++ Congruence_System
   from Java parma_polyhedra_library::Congruence_System \p j_cgs.
 */
 Congruence_System
-build_cxx_congruence_system(JNIEnv* env, const jobject& j_cgs);
+build_cxx_congruence_system(JNIEnv* env, jobject j_cgs);
 
 /*! \brief
   Builds a Java parma_polyhedra_library::Constraint
@@ -310,6 +725,14 @@ jobject
 build_java_constraint(JNIEnv* env, const Constraint& c);
 
 /*! \brief
+  Builds a Java parma_polyhedra_library::Artificial_Parameter
+  from C++ Artificial_Parameter \p ap.
+*/
+jobject
+build_java_artificial_parameter(JNIEnv* env,
+                                const PIP_Tree_Node::Artificial_Parameter& ap);
+
+/*! \brief
   Builds a Java parma_polyhedra_library::Congruence
   from C++ Congruence \p cg.
 */
@@ -338,12 +761,19 @@ jobject
 build_java_constraint_system(JNIEnv* env, const Constraint_System& cs);
 
 /*! \brief
+  Builds a Java parma_polyhedra_library::Artificial_Parameter_Sequence
+  from C++ Artificial_Parameter_Sequence \p aps.
+*/
+jobject
+build_java_artificial_parameter_sequence(JNIEnv* env,
+                                         const PIP_Tree_Node::Artificial_Parameter_Sequence& aps);
+
+/*! \brief
   Builds a Java parma_polyhedra_library::Grid_Generator_System
   from C++ Grid_Generator_System \p gs.
 */
 jobject
-build_java_grid_generator_system(JNIEnv* env,
-                                 const Grid_Generator_System& gs);
+build_java_grid_generator_system(JNIEnv* env, const Grid_Generator_System& gs);
 
 /*! \brief
   Builds a Java parma_polyhedra_library::Generator_System
@@ -364,62 +794,48 @@ build_java_congruence_system(JNIEnv* env, const Congruence_System& cgs);
   from C++ Coefficient \p coeff.
 */
 jobject
-build_java_linear_expression_coefficient(JNIEnv* env,
-                                         const Coefficient& coeff);
+build_java_linear_expression_coefficient(JNIEnv* env, const Coefficient& coeff);
 
 /*! \brief
-  Sets Java reference \p to_be_set
-  to the parma_polyhedra_library::Generator object \p gen.
+  Sets Java parma_polyhedra_library::Generator \p dst
+  to have the same value as \p src.
 */
 void
-set_generator(JNIEnv* env, jobject& to_be_set,
-              const jobject& gen);
+set_generator(JNIEnv* env, jobject dst, jobject src);
 
 /*! \brief
-  Sets Java reference \p to_be_set
-  to the parma_polyhedra_library::Grid_Generator object \p g_gen.
+  Sets Java Coefficient \p dst to have the same value as \p src.
 */
 void
-set_grid_generator(JNIEnv* env, jobject& to_be_set,
-                   const jobject& g_gen);
+set_coefficient(JNIEnv* env, jobject dst, jobject src);
 
 /*! \brief
-  Sets Java reference \p to_be_set
-  to the parma_polyhedra_library::Coefficient object \p c.
+  Modifies parma_polyhedra_library::By_Reference object \p by_ref_dst
+  so that it references object \p src.
 */
 void
-set_coefficient(JNIEnv* env, jobject& to_be_set,
-                const jobject& c);
-
-/*! \brief
-  Modifies parma_polyhedra_library::By_Reference object \p by_ref_to_be_set
-  so that it references object \p to_insert.
-*/
-void
-set_by_reference(JNIEnv* env, jobject& by_ref_to_be_set,
-                 const jobject& to_insert);
+set_by_reference(JNIEnv* env, jobject by_ref_dst, jobject src);
 
 /*! \brief
   Returns the object referenced by
   parma_polyhedra_library::By_Reference object \p by_reference.
 */
 jobject
-get_by_reference(JNIEnv* env, const jobject& by_reference);
+get_by_reference(JNIEnv* env, jobject by_reference);
 
 
 /*! \brief
-  Assigns \p obj_to_insert to one of the fields of
-  parma_polyhedra_library::Pair object \p pair_to_be_set.
+  Assigns \p src to one of the fields of
+  parma_polyhedra_library::Pair object \p dst_pair.
 
-  If \p arg is 0, the first element of \p pair_to_be_set is overwritten;
-  if \p arg is 1, the second element of \p pair_to_be_set is overwritten.
+  If \p arg is 0, the first element of \p dst_pair is overwritten;
+  if \p arg is 1, the second element of \p dst_pair is overwritten.
 
   \exception std::runtime_error
   Thrown if \p arg is neither 0 nor 1.
 */
 void
-set_pair_element(JNIEnv* env, jobject& pair_to_be_set, int arg,
-                 const jobject& obj_to_insert);
+set_pair_element(JNIEnv* env, jobject dst_pair, int arg, jobject src);
 
 /*! \brief
   Returns one of the fields of the
@@ -431,60 +847,27 @@ set_pair_element(JNIEnv* env, jobject& pair_to_be_set, int arg,
   \exception std::runtime_error
   Thrown if \p arg is neither 0 nor 1.
 */
-jobject get_pair_element(JNIEnv* env, int arg, const jobject& pair);
-
-//! Returns \c true if and only if \p obj is a null Java reference.
-jboolean is_null(JNIEnv* env, jobject obj);
+jobject
+get_pair_element(JNIEnv* env, int arg, jobject pair);
 
 //! Returns a pointer to the C++ object wrapped by \p ppl_object.
 void*
-get_ptr(JNIEnv* env, const jobject& ppl_object);
+get_ptr(JNIEnv* env, jobject ppl_object);
 
 //! Sets the pointer of the underlying C++ object in the Java object.
 template <typename T>
 void
-set_ptr(JNIEnv* env, const jobject& ppl_object,
+set_ptr(JNIEnv* env, jobject ppl_object,
 	const T* address, bool to_be_marked = false);
 
 /*! \brief
-  Builds a Java parma_polyhedra_library::Linar_Expression
+  Builds a Java parma_polyhedra_library::Linear_Expression
   from the C++ constraint/congruence \p r.
 */
 template <typename R>
 jobject
 build_linear_expression(JNIEnv* env, const R& r);
 
-//! A C++ wrapper for Java parma_polyhedra_library::Partial_Function.
-class Partial_Function {
-public:
-  //! Constructor.
-  Partial_Function(jobject j_p_func, JNIEnv* env);
-
-  /*! \brief
-    Returns \c true if and only if the partial function has
-    an empty codomain (i.e., it is always undefined).
-  */
-  bool has_empty_codomain() const;
-
-  /*! \brief
-    Returns the maximum value that belongs to the codomain
-    of the partial function.
-  */
-  dimension_type max_in_codomain() const;
-
-  /*! \brief
-    Sets \p j to the value (if any) of the partial function on index \p i.
-  */
-  bool maps(dimension_type i, dimension_type& j) const;
-
-private:
-  //! The Java parma_polyhedra_library::Partial_Function object.
-  jobject j_p_func;
-
-  //! The JNI environment pointer.
-  JNIEnv* env;
-};
-
 } // namespace Java
 
 } // namespace Interfaces
diff --git a/interfaces/Java/jni/ppl_java_common.inlines.hh b/interfaces/Java/jni/ppl_java_common.inlines.hh
index ae1194c..e0f7653 100644
--- a/interfaces/Java/jni/ppl_java_common.inlines.hh
+++ b/interfaces/Java/jni/ppl_java_common.inlines.hh
@@ -1,5 +1,5 @@
 /* Domain-independent part of the Java interface: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -46,66 +46,80 @@ jtype_to_unsigned(const V& value) {
 }
 
 template <typename T>
-void
-set_ptr(JNIEnv* env, const jobject& ppl_object,
+inline void
+set_ptr(JNIEnv* env, jobject ppl_object,
 	const T* address, bool to_be_marked) {
-  jclass ppl_object_class = env->GetObjectClass(ppl_object);
-  jfieldID pointer_field = env->GetFieldID(ppl_object_class, "ptr","J");
   const T* ptr = (to_be_marked ? mark(address) : address);
   jlong pointer_value = reinterpret_cast<jlong>(ptr);
   assert(reinterpret_cast<const T*>(pointer_value) == ptr);
-  env->SetLongField(ppl_object, pointer_field, pointer_value);
+  env->SetLongField(ppl_object, cached_FMIDs.PPL_Object_ptr_ID, pointer_value);
+}
+
+inline void*
+get_ptr(JNIEnv* env, jobject ppl_object) {
+  jlong pointer_value
+    = env->GetLongField(ppl_object, cached_FMIDs.PPL_Object_ptr_ID);
+  void* ptr = reinterpret_cast<void*>(pointer_value);
+  assert(reinterpret_cast<jlong>(ptr) == pointer_value);
+  return unmark(ptr);
+}
+
+inline bool
+is_java_marked(JNIEnv* env, jobject ppl_object) {
+  jlong pointer_value
+    = env->GetLongField(ppl_object, cached_FMIDs.PPL_Object_ptr_ID);
+  const void* ptr = reinterpret_cast<const void*>(pointer_value);
+  assert(reinterpret_cast<jlong>(ptr) == pointer_value);
+  return marked(ptr);
+}
+
+inline void
+set_coefficient(JNIEnv* env, jobject dst, jobject src) {
+  jobject src_bi
+    = env->GetObjectField(src, cached_FMIDs.Coefficient_value_ID);
+  env->SetObjectField(dst, cached_FMIDs.Coefficient_value_ID, src_bi);
+}
+
+inline void
+set_by_reference(JNIEnv* env, jobject by_ref_dst, jobject src) {
+  env->SetObjectField(by_ref_dst,
+                      cached_FMIDs.By_Reference_obj_ID,
+                      src);
+}
+
+inline jobject
+get_by_reference(JNIEnv* env, jobject by_reference) {
+  return env->GetObjectField(by_reference, cached_FMIDs.By_Reference_obj_ID);
 }
 
 template <typename R>
 jobject
 build_linear_expression(JNIEnv* env, const R& r) {
-  jclass j_le_coeff_class
-    = env->FindClass("parma_polyhedra_library/Linear_Expression_Coefficient");
-  jclass j_le_class
-    = env->FindClass("parma_polyhedra_library/Linear_Expression");
-  jclass j_le_variable_class
-    = env->FindClass("parma_polyhedra_library/Linear_Expression_Variable");
-  jclass j_variable_class
-    = env->FindClass("parma_polyhedra_library/Variable");
+  jobject j_ret;
   PPL_DIRTY_TEMP_COEFFICIENT(coefficient);
   dimension_type varid = 0;
   dimension_type space_dimension = r.space_dimension();
-  jobject j_le_term;
-  jmethodID j_variable_ctr_id
-    = env->GetMethodID(j_variable_class,
-		       "<init>",
-		       "(I)V");
-  jmethodID j_le_variable_ctr_id
-    = env->GetMethodID(j_le_variable_class,
-		       "<init>",
-		       "(Lparma_polyhedra_library/Variable;)V");
-
-  jmethodID j_le_times_id
-    = env->GetMethodID(j_le_class,
-		       "times",
-		       "(Lparma_polyhedra_library/Coefficient;)Lparma_polyhedra_library/Linear_Expression;");
-
   while (varid < space_dimension
  	 && (coefficient = r.coefficient(Variable(varid))) == 0)
     ++varid;
   if (varid >= space_dimension) {
     jobject j_coefficient_zero = build_java_coeff(env, Coefficient(0));
-    jmethodID j_le_coeff_ctr_id
-      = env->GetMethodID(j_le_coeff_class, "<init>",
-			 "(Lparma_polyhedra_library/Coefficient;)V");
-    return env->NewObject(j_le_coeff_class, j_le_coeff_ctr_id,
-			  j_coefficient_zero);
+    j_ret = env->NewObject(cached_classes.Linear_Expression_Coefficient,
+                           cached_FMIDs.Linear_Expression_Coefficient_init_ID,
+                           j_coefficient_zero);
+    CHECK_RESULT_THROW(env, j_ret);
   }
   else {
+    jmethodID coeff_var_init_ID
+      = cached_FMIDs.Linear_Expression_Times_init_from_coeff_var_ID;
     jobject j_coefficient = build_java_coeff(env, coefficient);
-    jobject j_variable = env->NewObject(j_variable_class, j_variable_ctr_id,
-					varid);
-    jobject j_le_variable = env->NewObject(j_le_variable_class,
-					   j_le_variable_ctr_id,
-					   j_variable);
-    j_le_term =  env->CallObjectMethod(j_le_variable,
-				       j_le_times_id, j_coefficient);
+    jobject j_variable = build_java_variable(env, Variable(varid));
+    jclass j_le_times_class = cached_classes.Linear_Expression_Times;
+    jobject j_coeff_var = env->NewObject(j_le_times_class,
+                                         coeff_var_init_ID,
+                                         j_coefficient, j_variable);
+    CHECK_EXCEPTION_THROW(env);
+    j_ret = j_coeff_var;
     while (true) {
       ++varid;
       while (varid < space_dimension
@@ -115,82 +129,110 @@ build_linear_expression(JNIEnv* env, const R& r) {
 	break;
       else {
  	j_coefficient = build_java_coeff(env, coefficient);
- 	j_variable = env->NewObject(j_variable_class,
-				    j_variable_ctr_id,
-				    varid);
-  	j_le_variable = env->NewObject(j_le_variable_class,
-				       j_le_variable_ctr_id,
-				       j_variable);
- 	jobject j_le_term2 = env->CallObjectMethod(j_le_variable,
-						   j_le_times_id,
-						   j_coefficient);
-  	jmethodID j_le_sum_id
-  	  = env->GetMethodID(j_le_class,
-  			     "sum",
-  			     "(Lparma_polyhedra_library/Linear_Expression;)"
-			     "Lparma_polyhedra_library/Linear_Expression;");
- 	j_le_term = env->CallObjectMethod(j_le_term, j_le_sum_id, j_le_term2);
+        j_variable = build_java_variable(env, Variable(varid));
+        j_coeff_var = env->NewObject(j_le_times_class,
+                                     coeff_var_init_ID,
+                                     j_coefficient, j_variable);
+	CHECK_EXCEPTION_THROW(env);
+        j_ret = env->CallObjectMethod(j_ret,
+                                      cached_FMIDs.Linear_Expression_sum_ID,
+                                      j_coeff_var);
+	CHECK_EXCEPTION_THROW(env);
       }
     }
   }
-  return j_le_term;
+  return j_ret;
 }
 
-inline
-Partial_Function::Partial_Function(jobject j_p_func, JNIEnv* env)
-  : j_p_func(j_p_func),
-    env(env) {
+inline Variable
+build_cxx_variable(JNIEnv* env, jobject j_var) {
+  return Variable(env->GetIntField(j_var, cached_FMIDs.Variable_varid_ID));
 }
 
-inline bool
-Partial_Function::has_empty_codomain() const {
-  jclass j_partial_function_class
-    = env->FindClass("parma_polyhedra_library/Partial_Function");
-  jmethodID j_has_empty_codomain_id
-    = env->GetMethodID(j_partial_function_class,
-                       "has_empty_codomain",
-                       "()Z");
-  return env->CallBooleanMethod(j_p_func, j_has_empty_codomain_id);
-}
-
-inline dimension_type
-Partial_Function::max_in_codomain() const {
-  jclass j_partial_function_class
-    = env->FindClass("parma_polyhedra_library/Partial_Function");
-  jmethodID j_max_in_codomain_id
-    = env->GetMethodID(j_partial_function_class,
-                       "max_in_codomain",
-                       "()J");
-  jlong value = env->CallLongMethod(j_p_func, j_max_in_codomain_id);
-  return jtype_to_unsigned<dimension_type>(value);
+inline jobject
+build_java_variable(JNIEnv* env, const Variable& var) {
+  jobject ret = env->NewObject(cached_classes.Variable,
+                               cached_FMIDs.Variable_init_ID,
+			       var.id());
+  CHECK_RESULT_THROW(env, ret);
+  return ret;
 }
 
-inline bool
-Partial_Function::maps(dimension_type i, dimension_type& j) const {
-  jclass j_partial_function_class
-    = env->FindClass("parma_polyhedra_library/Partial_Function");
-  jclass j_by_reference_class
-    = env->FindClass("parma_polyhedra_library/By_Reference");
-  jmethodID j_by_reference_ctr_id
-    = env->GetMethodID(j_by_reference_class,
-                       "<init>",
-                       "(Ljava/lang/Object;)V");
-  jobject coeff = j_long_to_j_long_class(env, 0);
-  jobject new_by_ref = env->NewObject(j_by_reference_class,
-                                      j_by_reference_ctr_id,
-                                      coeff);
-  jmethodID j_maps_id = env->GetMethodID(j_partial_function_class,
-                                         "maps",
-                                         "(Ljava/lang/Long;Lparma_polyhedra_library/By_Reference;)Z");
-  if (env->CallBooleanMethod(j_p_func, j_maps_id,
-                             j_long_to_j_long_class(env, i),
-                             new_by_ref)) {
-    jobject long_value = get_by_reference(env, new_by_ref);
-    j = jtype_to_unsigned<dimension_type>(j_long_class_to_j_long(env,
-                                                                 long_value));
-    return true;
+inline Coefficient
+build_cxx_coeff(JNIEnv* env, jobject j_coeff) {
+  jstring bi_string
+    = (jstring) env->CallObjectMethod(j_coeff,
+                                      cached_FMIDs.Coefficient_toString_ID);
+  CHECK_EXCEPTION_THROW(env);
+  const char *nativeString = env->GetStringUTFChars(bi_string, 0);
+  CHECK_RESULT_THROW(env, nativeString);
+  PPL_DIRTY_TEMP_COEFFICIENT(ppl_coeff);
+  ppl_coeff = Coefficient(nativeString);
+  env->ReleaseStringUTFChars(bi_string, nativeString);
+  return ppl_coeff;
+}
+
+inline jobject
+build_java_coeff(JNIEnv* env, const Coefficient& ppl_coeff) {
+  std::ostringstream s;
+  s << ppl_coeff;
+  std::string str = s.str();
+  jstring coeff_string = env->NewStringUTF(str.c_str());
+  CHECK_RESULT_THROW(env, coeff_string);
+  jobject ret = env->NewObject(cached_classes.Coefficient,
+                               cached_FMIDs.Coefficient_init_from_String_ID,
+                               coeff_string);
+  CHECK_RESULT_THROW(env, ret);
+  return ret;
+}
+
+template <typename System, typename Elem_Builder>
+System
+build_cxx_system(JNIEnv* env, jobject j_iterable, Elem_Builder build_cxx_elem) {
+  // Get the iterator.
+  jobject j_iter
+    = env->CallObjectMethod(j_iterable, cached_FMIDs.System_iterator_ID);
+  CHECK_EXCEPTION_THROW(env);
+  // Get the iterator method IDs.
+  jmethodID has_next_mID = cached_FMIDs.System_Iterator_has_next_ID;
+  jmethodID next_mID = cached_FMIDs.System_Iterator_next_ID;
+  // Initialize an empty system.
+  System cxx_sys;
+  jobject j_element;
+  jboolean has_next_value = env->CallBooleanMethod(j_iter, has_next_mID);
+  CHECK_EXCEPTION_ASSERT(env);
+  while (has_next_value) {
+    j_element = env->CallObjectMethod(j_iter, next_mID);
+    CHECK_EXCEPTION_ASSERT(env);
+    cxx_sys.insert(build_cxx_elem(env, j_element));
+    has_next_value = env->CallBooleanMethod(j_iter, has_next_mID);
+    CHECK_EXCEPTION_ASSERT(env);
   }
-  return false;
+  return cxx_sys;
+}
+
+inline Congruence_System
+build_cxx_congruence_system(JNIEnv* env, jobject j_iterable) {
+  return
+    build_cxx_system<Congruence_System>(env, j_iterable, build_cxx_congruence);
+}
+
+inline Constraint_System
+build_cxx_constraint_system(JNIEnv* env, jobject j_iterable) {
+  return
+    build_cxx_system<Constraint_System>(env, j_iterable, build_cxx_constraint);
+}
+
+inline Generator_System
+build_cxx_generator_system(JNIEnv* env, jobject j_iterable) {
+  return
+    build_cxx_system<Generator_System>(env, j_iterable, build_cxx_generator);
+}
+
+inline Grid_Generator_System
+build_cxx_grid_generator_system(JNIEnv* env, jobject j_iterable) {
+  return build_cxx_system<Grid_Generator_System> (env, j_iterable,
+                                                  build_cxx_grid_generator);
 }
 
 } // namespace Java
diff --git a/interfaces/Java/jni/ppl_java_globals.cc b/interfaces/Java/jni/ppl_java_globals.cc
index f7295f9..385eb42 100644
--- a/interfaces/Java/jni/ppl_java_globals.cc
+++ b/interfaces/Java/jni/ppl_java_globals.cc
@@ -1,5 +1,5 @@
 /* PPL Java interface: domain-independent functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,23 +20,693 @@ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 For the most up-to-date information see the Parma Polyhedra Library
 site: http://www.cs.unipr.it/ppl/ . */
 
-#include "parma_polyhedra_library_Parma_Polyhedra_Library.h"
 #include "ppl_java_common.defs.hh"
-#include "parma_polyhedra_library_MIP_Problem.h"
-#include "parma_polyhedra_library_Linear_Expression.h"
-#include "parma_polyhedra_library_Constraint.h"
-#include "parma_polyhedra_library_Constraint_System.h"
+#include "parma_polyhedra_library_Artificial_Parameter.h"
+#include "parma_polyhedra_library_Artificial_Parameter_Sequence.h"
+#include "parma_polyhedra_library_Bounded_Integer_Type_Overflow.h"
+#include "parma_polyhedra_library_Bounded_Integer_Type_Representation.h"
+#include "parma_polyhedra_library_Bounded_Integer_Type_Width.h"
+#include "parma_polyhedra_library_By_Reference.h"
+#include "parma_polyhedra_library_Coefficient.h"
+#include "parma_polyhedra_library_Complexity_Class.h"
 #include "parma_polyhedra_library_Congruence.h"
 #include "parma_polyhedra_library_Congruence_System.h"
+#include "parma_polyhedra_library_Constraint.h"
+#include "parma_polyhedra_library_Constraint_System.h"
+#include "parma_polyhedra_library_Degenerate_Element.h"
 #include "parma_polyhedra_library_Generator.h"
 #include "parma_polyhedra_library_Generator_System.h"
+#include "parma_polyhedra_library_Generator_Type.h"
 #include "parma_polyhedra_library_Grid_Generator.h"
 #include "parma_polyhedra_library_Grid_Generator_System.h"
+#include "parma_polyhedra_library_Grid_Generator_Type.h"
 #include "parma_polyhedra_library_IO.h"
+#include "parma_polyhedra_library_Linear_Expression.h"
+#include "parma_polyhedra_library_Linear_Expression_Coefficient.h"
+#include "parma_polyhedra_library_Linear_Expression_Difference.h"
+#include "parma_polyhedra_library_Linear_Expression_Sum.h"
+#include "parma_polyhedra_library_Linear_Expression_Times.h"
+#include "parma_polyhedra_library_Linear_Expression_Unary_Minus.h"
+#include "parma_polyhedra_library_Linear_Expression_Variable.h"
+#include "parma_polyhedra_library_MIP_Problem.h"
+#include "parma_polyhedra_library_MIP_Problem_Status.h"
+#include "parma_polyhedra_library_Optimization_Mode.h"
+#include "parma_polyhedra_library_Pair.h"
+#include "parma_polyhedra_library_Parma_Polyhedra_Library.h"
+#include "parma_polyhedra_library_Partial_Function.h"
+#include "parma_polyhedra_library_PIP_Problem.h"
+#include "parma_polyhedra_library_PIP_Problem_Status.h"
+#include "parma_polyhedra_library_PIP_Decision_Node.h"
+#include "parma_polyhedra_library_PIP_Solution_Node.h"
+#include "parma_polyhedra_library_PIP_Tree_Node.h"
+#include "parma_polyhedra_library_Poly_Con_Relation.h"
+#include "parma_polyhedra_library_Poly_Gen_Relation.h"
+#include "parma_polyhedra_library_PPL_Object.h"
+#include "parma_polyhedra_library_Relation_Symbol.h"
+#include "parma_polyhedra_library_Variable.h"
+#include "parma_polyhedra_library_Variables_Set.h"
 
 using namespace Parma_Polyhedra_Library;
 using namespace Parma_Polyhedra_Library::Interfaces::Java;
 
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Parma_1Polyhedra_1Library_initialize_1library
+(JNIEnv* env, jclass /* ppl_class */) {
+  initialize();
+  cached_classes.init_cache(env);
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Parma_1Polyhedra_1Library_finalize_1library
+(JNIEnv* env, jclass /* ppl_class */) {
+  cached_classes.clear_cache(env);
+  finalize();
+}
+
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_By_1Reference_initIDs
+(JNIEnv* env, jclass j_by_ref_class) {
+  jfieldID fID;
+  fID = env->GetFieldID(j_by_ref_class, "obj", "Ljava/lang/Object;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.By_Reference_obj_ID = fID;
+  jmethodID mID;
+  mID = env->GetMethodID(j_by_ref_class, "<init>", "(Ljava/lang/Object;)V");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.By_Reference_init_ID = mID;
+}
+
+JNIEXPORT jint JNICALL
+Java_parma_1polyhedra_1library_Coefficient_bits(JNIEnv*, jclass) {
+  return PPL_COEFFICIENT_BITS;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Coefficient_initIDs
+(JNIEnv* env, jclass j_coeff_class) {
+  jfieldID fID;
+  fID = env->GetFieldID(j_coeff_class, "value", "Ljava/math/BigInteger;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Coefficient_value_ID = fID;
+  jmethodID mID;
+  mID = env->GetMethodID(j_coeff_class, "<init>", "(Ljava/lang/String;)V");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Coefficient_init_from_String_ID = mID;
+  mID = env->GetMethodID(j_coeff_class, "toString", "()Ljava/lang/String;");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Coefficient_toString_ID = mID;
+  // Boolean.
+  mID = env->GetStaticMethodID(cached_classes.Boolean, "valueOf",
+                               "(Z)Ljava/lang/Boolean;");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Boolean_valueOf_ID = mID;
+  // Integer.
+  mID = env->GetStaticMethodID(cached_classes.Integer, "valueOf",
+                               "(I)Ljava/lang/Integer;");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Integer_valueOf_ID = mID;
+  mID = env->GetMethodID(cached_classes.Integer, "intValue", "()I");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Integer_intValue_ID = mID;
+  // Long.
+  mID = env->GetStaticMethodID(cached_classes.Long, "valueOf",
+                               "(J)Ljava/lang/Long;");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Long_valueOf_ID = mID;
+  mID = env->GetMethodID(cached_classes.Long, "longValue", "()J");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Long_longValue_ID = mID;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Complexity_1Class_initIDs
+(JNIEnv* env, jclass j_complexity_class) {
+  jmethodID mID = env->GetMethodID(j_complexity_class, "ordinal", "()I");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Complexity_Class_ordinal_ID = mID;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Congruence_initIDs
+(JNIEnv* env, jclass j_congruence_class) {
+  jfieldID fID;
+  fID = env->GetFieldID(j_congruence_class, "mod",
+                        "Lparma_polyhedra_library/Coefficient;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Congruence_mod_ID = fID;
+  fID = env->GetFieldID(j_congruence_class, "lhs",
+                        "Lparma_polyhedra_library/Linear_Expression;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Congruence_lhs_ID = fID;
+  fID = env->GetFieldID(j_congruence_class, "rhs",
+                        "Lparma_polyhedra_library/Linear_Expression;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Congruence_rhs_ID = fID;
+  jmethodID mID;
+  mID = env->GetMethodID(j_congruence_class, "<init>",
+                         "(Lparma_polyhedra_library/Linear_Expression;"
+                         "Lparma_polyhedra_library/Linear_Expression;"
+                         "Lparma_polyhedra_library/Coefficient;)V");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Congruence_init_ID = mID;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Congruence_1System_initIDs
+(JNIEnv* env, jclass j_con_sys_class) {
+  jmethodID mID;
+  mID = env->GetMethodID(j_con_sys_class, "<init>", "()V");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Congruence_System_init_ID = mID;
+  mID = env->GetMethodID(j_con_sys_class, "add", "(Ljava/lang/Object;)Z");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Congruence_System_add_ID = mID;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Constraint_initIDs
+(JNIEnv* env, jclass j_constraint_class) {
+  jfieldID fID;
+  fID = env->GetFieldID(j_constraint_class, "lhs",
+                        "Lparma_polyhedra_library/Linear_Expression;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Constraint_lhs_ID = fID;
+  fID = env->GetFieldID(j_constraint_class, "rhs",
+                        "Lparma_polyhedra_library/Linear_Expression;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Constraint_rhs_ID = fID;
+  fID = env->GetFieldID(j_constraint_class, "kind",
+                        "Lparma_polyhedra_library/Relation_Symbol;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Constraint_kind_ID = fID;
+  jmethodID mID;
+  mID = env->GetMethodID(j_constraint_class, "<init>",
+                         "(Lparma_polyhedra_library/Linear_Expression;"
+                         "Lparma_polyhedra_library/Relation_Symbol;"
+                         "Lparma_polyhedra_library/Linear_Expression;)V");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Constraint_init_ID = mID;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Constraint_1System_initIDs
+(JNIEnv* env, jclass j_con_sys_class) {
+  jmethodID mID;
+  mID = env->GetMethodID(j_con_sys_class, "<init>", "()V");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Constraint_System_init_ID = mID;
+  mID = env->GetMethodID(j_con_sys_class, "add", "(Ljava/lang/Object;)Z");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Constraint_System_add_ID = mID;
+  // NOTE: initialize the iterator method IDs common to all *_System classes.
+  mID = env->GetMethodID(j_con_sys_class, "iterator",
+                         "()Ljava/util/Iterator;");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.System_iterator_ID = mID;
+  mID = env->GetMethodID(cached_classes.Iterator, "hasNext", "()Z");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.System_Iterator_has_next_ID = mID;
+  assert(cached_classes.Iterator != NULL);
+  mID = env->GetMethodID(cached_classes.Iterator, "next",
+                         "()Ljava/lang/Object;");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.System_Iterator_next_ID = mID;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Degenerate_1Element_initIDs
+(JNIEnv* env, jclass j_degenerate_class) {
+  jmethodID mID = env->GetMethodID(j_degenerate_class, "ordinal", "()I");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Degenerate_Element_ordinal_ID = mID;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Generator_initIDs
+(JNIEnv* env, jclass j_generator_class) {
+  jfieldID fID;
+  fID = env->GetFieldID(j_generator_class, "gt",
+                        "Lparma_polyhedra_library/Generator_Type;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Generator_gt_ID = fID;
+  fID = env->GetFieldID(j_generator_class, "le",
+                        "Lparma_polyhedra_library/Linear_Expression;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Generator_le_ID = fID;
+  fID = env->GetFieldID(j_generator_class, "div",
+                        "Lparma_polyhedra_library/Coefficient;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Generator_div_ID = fID;
+  jmethodID mID;
+  mID = env->GetStaticMethodID(j_generator_class, "line",
+                               "(Lparma_polyhedra_library/Linear_Expression;)"
+                               "Lparma_polyhedra_library/Generator;");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Generator_line_ID = mID;
+  mID = env->GetStaticMethodID(j_generator_class, "ray",
+                               "(Lparma_polyhedra_library/Linear_Expression;)"
+                               "Lparma_polyhedra_library/Generator;");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Generator_ray_ID = mID;
+  mID = env->GetStaticMethodID(j_generator_class, "point",
+                               "(Lparma_polyhedra_library/Linear_Expression;"
+                               "Lparma_polyhedra_library/Coefficient;)"
+                               "Lparma_polyhedra_library/Generator;");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Generator_point_ID = mID;
+  mID = env->GetStaticMethodID(j_generator_class, "closure_point",
+                               "(Lparma_polyhedra_library/Linear_Expression;"
+                               "Lparma_polyhedra_library/Coefficient;)"
+                               "Lparma_polyhedra_library/Generator;");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Generator_closure_point_ID = mID;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Generator_1System_initIDs
+(JNIEnv* env, jclass j_gen_sys_class) {
+  jmethodID mID;
+  mID = env->GetMethodID(j_gen_sys_class, "<init>", "()V");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Generator_System_init_ID = mID;
+  mID = env->GetMethodID(j_gen_sys_class, "add", "(Ljava/lang/Object;)Z");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Generator_System_add_ID = mID;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Generator_1Type_initIDs
+(JNIEnv* env, jclass j_gen_type_class) {
+  jmethodID mID;
+  mID = env->GetMethodID(j_gen_type_class, "ordinal", "()I");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Generator_Type_ordinal_ID = mID;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Grid_1Generator_initIDs
+(JNIEnv* env, jclass j_grid_generator_class) {
+  jfieldID fID;
+  fID = env->GetFieldID(j_grid_generator_class, "gt",
+                        "Lparma_polyhedra_library/Grid_Generator_Type;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Grid_Generator_gt_ID = fID;
+  fID = env->GetFieldID(j_grid_generator_class, "le",
+                        "Lparma_polyhedra_library/Linear_Expression;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Grid_Generator_le_ID = fID;
+  fID = env->GetFieldID(j_grid_generator_class, "div",
+                        "Lparma_polyhedra_library/Coefficient;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Grid_Generator_div_ID = fID;
+  jmethodID mID;
+  mID = env->GetStaticMethodID(j_grid_generator_class, "grid_line",
+                               "(Lparma_polyhedra_library/Linear_Expression;)"
+                               "Lparma_polyhedra_library/Grid_Generator;");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Grid_Generator_grid_line_ID = mID;
+  mID = env->GetStaticMethodID(j_grid_generator_class, "parameter",
+                               "(Lparma_polyhedra_library/Linear_Expression;"
+                               "Lparma_polyhedra_library/Coefficient;)"
+                               "Lparma_polyhedra_library/Grid_Generator;");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Grid_Generator_parameter_ID = mID;
+  mID = env->GetStaticMethodID(j_grid_generator_class, "grid_point",
+                               "(Lparma_polyhedra_library/Linear_Expression;"
+                               "Lparma_polyhedra_library/Coefficient;)"
+                               "Lparma_polyhedra_library/Grid_Generator;");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Grid_Generator_grid_point_ID = mID;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Grid_1Generator_1System_initIDs
+(JNIEnv* env, jclass j_gen_sys_class) {
+  jmethodID mID;
+  mID = env->GetMethodID(j_gen_sys_class, "<init>", "()V");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Grid_Generator_System_init_ID = mID;
+  mID = env->GetMethodID(j_gen_sys_class, "add", "(Ljava/lang/Object;)Z");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Grid_Generator_System_add_ID = mID;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Grid_1Generator_1Type_initIDs
+(JNIEnv* env, jclass j_grid_gen_type_class) {
+  jmethodID mID;
+  mID = env->GetMethodID(j_grid_gen_type_class, "ordinal", "()I");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Grid_Generator_Type_ordinal_ID = mID;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Linear_1Expression_initIDs
+(JNIEnv* env, jclass j_le_class) {
+  jmethodID mID;
+  mID = env->GetMethodID(j_le_class, "sum",
+                         "(Lparma_polyhedra_library/Linear_Expression;)"
+                         "Lparma_polyhedra_library/Linear_Expression;");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Linear_Expression_sum_ID = mID;
+  mID = env->GetMethodID(j_le_class, "times",
+                         "(Lparma_polyhedra_library/Coefficient;)"
+                         "Lparma_polyhedra_library/Linear_Expression;");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Linear_Expression_times_ID = mID;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Linear_1Expression_1Coefficient_initIDs
+(JNIEnv* env, jclass j_le_coeff_class) {
+  jfieldID fID;
+  fID = env->GetFieldID(j_le_coeff_class, "coeff",
+                        "Lparma_polyhedra_library/Coefficient;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Linear_Expression_Coefficient_coeff_ID = fID;
+  jmethodID mID;
+  mID = env->GetMethodID(j_le_coeff_class, "<init>",
+			 "(Lparma_polyhedra_library/Coefficient;)V");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Linear_Expression_Coefficient_init_ID = mID;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Linear_1Expression_1Difference_initIDs
+(JNIEnv* env, jclass j_le_diff_class) {
+  jfieldID fID;
+  fID = env->GetFieldID(j_le_diff_class, "lhs",
+                        "Lparma_polyhedra_library/Linear_Expression;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Linear_Expression_Difference_lhs_ID = fID;
+  fID = env->GetFieldID(j_le_diff_class, "rhs",
+                        "Lparma_polyhedra_library/Linear_Expression;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Linear_Expression_Difference_rhs_ID = fID;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Linear_1Expression_1Sum_initIDs
+(JNIEnv* env, jclass j_le_sum_class) {
+  jfieldID fID;
+  fID = env->GetFieldID(j_le_sum_class, "lhs",
+                        "Lparma_polyhedra_library/Linear_Expression;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Linear_Expression_Sum_lhs_ID = fID;
+  fID = env->GetFieldID(j_le_sum_class, "rhs",
+                        "Lparma_polyhedra_library/Linear_Expression;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Linear_Expression_Sum_rhs_ID = fID;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Linear_1Expression_1Times_initIDs
+(JNIEnv* env, jclass j_le_times_class) {
+  jfieldID fID;
+  fID = env->GetFieldID(j_le_times_class, "coeff",
+                        "Lparma_polyhedra_library/Coefficient;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Linear_Expression_Times_coeff_ID = fID;
+  fID = env->GetFieldID(j_le_times_class, "lin_expr",
+                        "Lparma_polyhedra_library/Linear_Expression;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Linear_Expression_Times_lin_expr_ID = fID;
+  jmethodID mID;
+  mID = env->GetMethodID(j_le_times_class, "<init>",
+                         "(Lparma_polyhedra_library/Coefficient;"
+                         "Lparma_polyhedra_library/Variable;)V");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Linear_Expression_Times_init_from_coeff_var_ID = mID;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Linear_1Expression_1Unary_1Minus_initIDs
+(JNIEnv* env, jclass j_le_uminus_class) {
+  jfieldID fID;
+  fID = env->GetFieldID(j_le_uminus_class, "arg",
+                        "Lparma_polyhedra_library/Linear_Expression;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Linear_Expression_Unary_Minus_arg_ID = fID;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Linear_1Expression_1Variable_initIDs
+(JNIEnv* env, jclass j_le_var_class) {
+  jmethodID mID;
+  mID = env->GetMethodID(j_le_var_class, "<init>",
+			 "(Lparma_polyhedra_library/Variable;)V");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Linear_Expression_Variable_init_ID = mID;
+  mID = env->GetMethodID(j_le_var_class, "var_id", "()I");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Linear_Expression_Variable_var_id_ID = mID;
+}
+
+JNIEXPORT jboolean JNICALL
+Java_parma_1polyhedra_1library_Linear_1Expression_is_1zero
+(JNIEnv* env, jobject j_this) {
+  try {
+    return build_cxx_linear_expression(env, j_this).is_zero();
+  }
+  CATCH_ALL
+  return false;
+}
+
+JNIEXPORT jboolean JNICALL
+Java_parma_1polyhedra_1library_Linear_1Expression_all_1homogeneous_1terms_1are_1zero
+(JNIEnv* env, jobject j_this) {
+  try {
+    return build_cxx_linear_expression(env, j_this).all_homogeneous_terms_are_zero();
+  }
+  CATCH_ALL
+  return false;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_MIP_1Problem_1Status_initIDs
+(JNIEnv* env, jclass j_mip_status_class) {
+  jfieldID fID;
+  fID = env->GetStaticFieldID(j_mip_status_class, "UNFEASIBLE_MIP_PROBLEM",
+                              "Lparma_polyhedra_library/MIP_Problem_Status;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.MIP_Problem_Status_UNFEASIBLE_MIP_PROBLEM_ID = fID;
+  fID = env->GetStaticFieldID(j_mip_status_class, "UNBOUNDED_MIP_PROBLEM",
+                              "Lparma_polyhedra_library/MIP_Problem_Status;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.MIP_Problem_Status_UNBOUNDED_MIP_PROBLEM_ID = fID;
+  fID = env->GetStaticFieldID(j_mip_status_class, "OPTIMIZED_MIP_PROBLEM",
+                              "Lparma_polyhedra_library/MIP_Problem_Status;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.MIP_Problem_Status_OPTIMIZED_MIP_PROBLEM_ID = fID;
+  jmethodID mID;
+  mID = env->GetMethodID(j_mip_status_class, "ordinal", "()I");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.MIP_Problem_Status_ordinal_ID = mID;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_PIP_1Problem_1Status_initIDs
+(JNIEnv* env, jclass j_mip_status_class) {
+  jfieldID fID;
+  fID = env->GetStaticFieldID(j_mip_status_class, "UNFEASIBLE_PIP_PROBLEM",
+                              "Lparma_polyhedra_library/PIP_Problem_Status;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.PIP_Problem_Status_UNFEASIBLE_PIP_PROBLEM_ID = fID;
+  fID = env->GetStaticFieldID(j_mip_status_class, "OPTIMIZED_PIP_PROBLEM",
+                              "Lparma_polyhedra_library/PIP_Problem_Status;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.PIP_Problem_Status_OPTIMIZED_PIP_PROBLEM_ID = fID;
+  jmethodID mID;
+  mID = env->GetMethodID(j_mip_status_class, "ordinal", "()I");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.PIP_Problem_Status_ordinal_ID = mID;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Optimization_1Mode_initIDs
+(JNIEnv* env, jclass j_opt_mode_class) {
+  jfieldID fID;
+  fID = env->GetStaticFieldID(j_opt_mode_class, "MAXIMIZATION",
+                              "Lparma_polyhedra_library/Optimization_Mode;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Optimization_Mode_MAXIMIZATION_ID = fID;
+  fID = env->GetStaticFieldID(j_opt_mode_class, "MINIMIZATION",
+                              "Lparma_polyhedra_library/Optimization_Mode;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Optimization_Mode_MINIMIZATION_ID = fID;
+  jmethodID mID;
+  mID = env->GetMethodID(j_opt_mode_class, "ordinal", "()I");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Optimization_Mode_ordinal_ID = mID;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Pair_initIDs
+(JNIEnv* env, jclass j_pair_class) {
+  jfieldID fID;
+  fID = env->GetFieldID(j_pair_class, "first", "Ljava/lang/Object;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Pair_first_ID = fID;
+  fID = env->GetFieldID(j_pair_class, "second", "Ljava/lang/Object;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Pair_second_ID = fID;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Poly_1Con_1Relation_initIDs
+(JNIEnv* env, jclass j_poly_con_relation_class) {
+  jmethodID mID;
+  mID = env->GetMethodID(j_poly_con_relation_class, "<init>", "(I)V");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Poly_Con_Relation_init_ID = mID;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Poly_1Gen_1Relation_initIDs
+(JNIEnv* env, jclass j_poly_gen_relation_class) {
+  jmethodID mID;
+  mID = env->GetMethodID(j_poly_gen_relation_class, "<init>", "(I)V");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Poly_Gen_Relation_init_ID = mID;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_PPL_1Object_initIDs
+(JNIEnv* env, jclass j_ppl_object_class) {
+  jfieldID fID = env->GetFieldID(j_ppl_object_class, "ptr", "J");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.PPL_Object_ptr_ID = fID;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Relation_1Symbol_initIDs
+(JNIEnv* env, jclass j_rel_sym_class) {
+  jfieldID fID;
+  fID = env->GetStaticFieldID(j_rel_sym_class, "EQUAL",
+                              "Lparma_polyhedra_library/Relation_Symbol;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Relation_Symbol_EQUAL_ID = fID;
+  fID = env->GetStaticFieldID(j_rel_sym_class, "GREATER_THAN",
+                              "Lparma_polyhedra_library/Relation_Symbol;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Relation_Symbol_GREATER_THAN_ID = fID;
+  fID = env->GetStaticFieldID(j_rel_sym_class, "GREATER_OR_EQUAL",
+                              "Lparma_polyhedra_library/Relation_Symbol;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Relation_Symbol_GREATER_OR_EQUAL_ID = fID;
+  jmethodID mID;
+  mID = env->GetMethodID(j_rel_sym_class, "ordinal", "()I");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Relation_Symbol_ordinal_ID = mID;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Bounded_1Integer_1Type_1Overflow_initIDs
+(JNIEnv* env, jclass j_bounded_overflow_class) {
+  jfieldID fID;
+  fID = env->GetStaticFieldID(j_bounded_overflow_class, "OVERFLOW_WRAPS",
+                              "Lparma_polyhedra_library/Bounded_Integer_Type_Overflow;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Bounded_Integer_Type_Overflow_OVERFLOW_WRAPS_ID = fID;
+  fID = env->GetStaticFieldID(j_bounded_overflow_class, "OVERFLOW_UNDEFINED",
+                              "Lparma_polyhedra_library/Bounded_Integer_Type_Overflow;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Bounded_Integer_Type_Overflow_OVERFLOW_UNDEFINED_ID = fID;
+  fID = env->GetStaticFieldID(j_bounded_overflow_class, "OVERFLOW_IMPOSSIBLE",
+                              "Lparma_polyhedra_library/Bounded_Integer_Type_Overflow;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Bounded_Integer_Type_Overflow_OVERFLOW_IMPOSSIBLE_ID = fID;
+  jmethodID mID;
+  mID = env->GetMethodID(j_bounded_overflow_class, "ordinal", "()I");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Bounded_Integer_Type_Overflow_ordinal_ID = mID;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Bounded_1Integer_1Type_1Representation_initIDs
+(JNIEnv* env, jclass j_bounded_rep_class) {
+  jfieldID fID;
+  fID = env->GetStaticFieldID(j_bounded_rep_class, "UNSIGNED",
+                              "Lparma_polyhedra_library/Bounded_Integer_Type_Representation;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Bounded_Integer_Type_Representation_UNSIGNED_ID = fID;
+  fID = env->GetStaticFieldID(j_bounded_rep_class, "SIGNED_2_COMPLEMENT",
+                              "Lparma_polyhedra_library/Bounded_Integer_Type_Representation;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Bounded_Integer_Type_Representation_SIGNED_2_COMPLEMENT_ID = fID;
+  jmethodID mID;
+  mID = env->GetMethodID(j_bounded_rep_class, "ordinal", "()I");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Bounded_Integer_Type_Representation_ordinal_ID = mID;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Bounded_1Integer_1Type_1Width_initIDs
+(JNIEnv* env, jclass j_bounded_width_class) {
+  jfieldID fID;
+  fID = env->GetStaticFieldID(j_bounded_width_class, "BITS_8",
+                              "Lparma_polyhedra_library/Bounded_Integer_Type_Width;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Bounded_Integer_Type_Width_BITS_8_ID = fID;
+  fID = env->GetStaticFieldID(j_bounded_width_class, "BITS_16",
+                              "Lparma_polyhedra_library/Bounded_Integer_Type_Width;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Bounded_Integer_Type_Width_BITS_16_ID = fID;
+  fID = env->GetStaticFieldID(j_bounded_width_class, "BITS_32",
+                              "Lparma_polyhedra_library/Bounded_Integer_Type_Width;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Bounded_Integer_Type_Width_BITS_32_ID = fID;
+  fID = env->GetStaticFieldID(j_bounded_width_class, "BITS_64",
+                              "Lparma_polyhedra_library/Bounded_Integer_Type_Width;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Bounded_Integer_Type_Width_BITS_64_ID = fID;
+  fID = env->GetStaticFieldID(j_bounded_width_class, "BITS_128",
+                              "Lparma_polyhedra_library/Bounded_Integer_Type_Width;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Bounded_Integer_Type_Width_BITS_128_ID = fID;
+  jmethodID mID;
+  mID = env->GetMethodID(j_bounded_width_class, "ordinal", "()I");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Bounded_Integer_Type_Width_ordinal_ID = mID;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Variable_initIDs
+(JNIEnv* env, jclass j_variable_class) {
+  jfieldID fID = env->GetFieldID(j_variable_class, "varid", "I");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Variable_varid_ID = fID;
+  jmethodID mID = env->GetMethodID(j_variable_class, "<init>", "(I)V");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Variable_init_ID = mID;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Variables_1Set_initIDs
+(JNIEnv* env, jclass j_vset_class) {
+  jmethodID mID;
+  mID = env->GetMethodID(j_vset_class, "<init>", "()V");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Variables_Set_init_ID = mID;
+  mID = env->GetMethodID(j_vset_class, "add", "(Ljava/lang/Object;)Z");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Variables_Set_add_ID = mID;
+  mID = env->GetMethodID(j_vset_class, "iterator", "()Ljava/util/Iterator;");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Variables_Set_iterator_ID = mID;
+  // Iterator on Variables_Set.
+  jclass j_vset_iter_class = env->FindClass("java/util/Iterator");
+  CHECK_RESULT_ASSERT(env, j_vset_iter_class);
+  mID = env->GetMethodID(j_vset_iter_class, "hasNext", "()Z");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Variables_Set_Iterator_has_next_ID = mID;
+  mID = env->GetMethodID(j_vset_iter_class, "next", "()Ljava/lang/Object;");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Variables_Set_Iterator_next_ID = mID;
+}
+
+
 JNIEXPORT jint JNICALL
 Java_parma_1polyhedra_1library_Parma_1Polyhedra_1Library_version_1major
 (JNIEnv *, jclass) {
@@ -91,6 +761,105 @@ Java_parma_1polyhedra_1library_Parma_1Polyhedra_1Library_restore_1pre_1PPL_1roun
   CATCH_ALL;
 }
 
+JNIEXPORT jint JNICALL
+Java_parma_1polyhedra_1library_Parma_1Polyhedra_1Library_irrational_1precision
+(JNIEnv* env , jclass) {
+  try {
+    return irrational_precision();
+  }
+  CATCH_ALL;
+  return 0;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Parma_1Polyhedra_1Library_set_1irrational_1precision
+(JNIEnv* env , jclass, jint p) {
+  try {
+    unsigned cxx_p = jtype_to_unsigned<unsigned>(p);
+    set_irrational_precision(cxx_p);
+  }
+  CATCH_ALL;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Parma_1Polyhedra_1Library_set_1timeout
+(JNIEnv* env, jclass, jint hsecs) {
+  try {
+#ifndef PPL_WATCHDOG_LIBRARY_ENABLED
+    const char* what = "PPL Java interface error:\n"
+      "Parma_Polyhedra_Library::set_timeout: "
+      "the PPL Watchdog library is not enabled.";
+    throw std::runtime_error(what);
+#else
+    // In case a timeout was already set.
+    reset_timeout();
+    assert(hsecs > 0);
+    unsigned cxx_hsecs = jtype_to_unsigned<unsigned>(hsecs);
+    assert(cxx_hsecs > 0);
+    static timeout_exception e;
+    using Parma_Watchdog_Library::Watchdog;
+    p_timeout_object
+      = new Watchdog(cxx_hsecs, abandon_expensive_computations, e);
+#endif // PPL_WATCHDOG_LIBRARY_ENABLED
+  }
+  CATCH_ALL;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Parma_1Polyhedra_1Library_reset_1timeout
+(JNIEnv* env, jclass) {
+  try {
+#ifndef PPL_WATCHDOG_LIBRARY_ENABLED
+    const char* what = "PPL Java interface error:\n"
+      "Parma_Polyhedra_Library.reset_timeout(): "
+      "the PPL Watchdog library is not enabled.";
+    throw std::runtime_error(what);
+#else
+    reset_timeout();
+#endif // PPL_WATCHDOG_LIBRARY_ENABLED
+  }
+  CATCH_ALL;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Parma_1Polyhedra_1Library_set_1deterministic_1timeout
+(JNIEnv* env, jclass, jint weight) {
+  try {
+#ifndef PPL_WATCHDOG_LIBRARY_ENABLED
+    const char* what = "PPL Java interface error:\n"
+      "Parma_Polyhedra_Library::set_deterministic_timeout: "
+      "the PPL Watchdog library is not enabled.";
+    throw std::runtime_error(what);
+#else
+    // In case a timeout was already set.
+    reset_deterministic_timeout();
+    assert(weight > 0);
+    unsigned cxx_weight = jtype_to_unsigned<unsigned>(weight);
+    assert(cxx_weight > 0);
+    static deterministic_timeout_exception e;
+    p_deterministic_timeout_object
+      = new Weightwatch(cxx_weight, abandon_expensive_computations, e);
+#endif // PPL_WATCHDOG_LIBRARY_ENABLED
+  }
+  CATCH_ALL;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Parma_1Polyhedra_1Library_reset_1deterministic_1timeout
+(JNIEnv* env, jclass) {
+  try {
+#ifndef PPL_WATCHDOG_LIBRARY_ENABLED
+    const char* what = "PPL Java interface error:\n"
+      "Parma_Polyhedra_Library.reset_deterministic_timeout(): "
+      "the PPL Watchdog library is not enabled.";
+    throw std::runtime_error(what);
+#else
+    reset_deterministic_timeout();
+#endif // PPL_WATCHDOG_LIBRARY_ENABLED
+  }
+  CATCH_ALL;
+}
+
 JNIEXPORT jlong JNICALL
 Java_parma_1polyhedra_1library_MIP_1Problem_max_1space_1dimension
 (JNIEnv* env , jobject j_this_mip_problem) {
@@ -132,30 +901,22 @@ JNIEXPORT jobject JNICALL
 Java_parma_1polyhedra_1library_MIP_1Problem_objective_1function
 (JNIEnv* env , jobject j_this_mip_problem) {
   try {
-    jclass j_le_coeff_class
-      = env->FindClass("parma_polyhedra_library/Linear_Expression_Coefficient");
-    jclass j_le_class
-      = env->FindClass("parma_polyhedra_library/Linear_Expression");
-    jmethodID j_le_sum_id
-      = env->GetMethodID(j_le_class,
-			 "sum",
-			 "(Lparma_polyhedra_library/Linear_Expression;)"
-			 "Lparma_polyhedra_library/Linear_Expression;");
-    jmethodID j_le_coeff_ctr_id
-      = env->GetMethodID(j_le_coeff_class, "<init>",
-			 "(Lparma_polyhedra_library/Coefficient;)V");
-
     MIP_Problem* mip
       = reinterpret_cast<MIP_Problem*>(get_ptr(env, j_this_mip_problem));
     PPL_DIRTY_TEMP_COEFFICIENT(inhomogeneous_term);
     inhomogeneous_term = mip->objective_function().inhomogeneous_term();
     jobject j_coeff_inhomogeneous_term
       = build_java_coeff(env, inhomogeneous_term);
-    jobject j_le_coeff = env->NewObject(j_le_coeff_class, j_le_coeff_ctr_id,
-					j_coeff_inhomogeneous_term);
+    jobject j_le_coeff
+      = env->NewObject(cached_classes.Linear_Expression_Coefficient,
+                       cached_FMIDs.Linear_Expression_Coefficient_init_ID,
+                       j_coeff_inhomogeneous_term);
+    CHECK_RESULT_RETURN(env, j_le_coeff, 0);
 
     jobject j_le = build_linear_expression(env, mip->objective_function());
-    return env->CallObjectMethod(j_le, j_le_sum_id, j_le_coeff);
+    return env->CallObjectMethod(j_le,
+                                 cached_FMIDs.Linear_Expression_sum_ID,
+                                 j_le_coeff);
   }
   CATCH_ALL;
   jobject null = 0;
@@ -209,21 +970,21 @@ Java_parma_1polyhedra_1library_MIP_1Problem_set_1control_1parameter
 
 JNIEXPORT jobject JNICALL
 Java_parma_1polyhedra_1library_MIP_1Problem_constraints
-(JNIEnv* env , jobject j_this_mip_problem) {
+(JNIEnv* env, jobject j_this_mip_problem) {
   try {
-    jclass j_cs_class
-      = env->FindClass("parma_polyhedra_library/Constraint_System");
-    jmethodID j_cs_ctr_id = env->GetMethodID(j_cs_class, "<init>", "()V");
-    jmethodID j_cs_add_id = env->GetMethodID(j_cs_class, "add",
-					     "(Ljava/lang/Object;)Z");
-    jobject j_cs = env->NewObject(j_cs_class, j_cs_ctr_id);
+    jobject j_cs = env->NewObject(cached_classes.Constraint_System,
+                                  cached_FMIDs.Constraint_System_init_ID);
+    CHECK_RESULT_RETURN(env, j_cs, 0);
 
     MIP_Problem* mip
       = reinterpret_cast<MIP_Problem*>(get_ptr(env, j_this_mip_problem));
     for (MIP_Problem::const_iterator cs_it = mip->constraints_begin(),
 	   cs_end = mip->constraints_end(); cs_it != cs_end; ++cs_it) {
       jobject j_constraint = build_java_constraint(env, *cs_it);
-      env->CallBooleanMethod(j_cs, j_cs_add_id, j_constraint);
+      env->CallBooleanMethod(j_cs,
+                             cached_FMIDs.Constraint_System_add_ID,
+                             j_constraint);
+      CHECK_EXCEPTION_RETURN(env, 0);
     }
     return j_cs;
   }
@@ -341,16 +1102,14 @@ JNIEXPORT jobject JNICALL Java_parma_1polyhedra_1library_MIP_1Problem_solve
 
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_MIP_1Problem_evaluate_1objective_1function
-(JNIEnv* env, jobject j_this_mip_problem, jobject j_gen, jobject j_coeff_num,
- jobject j_coeff_den) {
+(JNIEnv* env, jobject j_this_mip_problem, jobject j_gen,
+ jobject j_coeff_num, jobject j_coeff_den) {
   try {
     MIP_Problem* mip
       = reinterpret_cast<MIP_Problem*>(get_ptr(env, j_this_mip_problem));
     Generator g = build_cxx_generator(env, j_gen);
     PPL_DIRTY_TEMP_COEFFICIENT(num);
     PPL_DIRTY_TEMP_COEFFICIENT(den);
-    num = build_cxx_coeff(env, j_coeff_num);
-    den = build_cxx_coeff(env, j_coeff_den);
     mip->evaluate_objective_function(g, num, den);
     set_coefficient(env, j_coeff_num, build_java_coeff(env, num));
     set_coefficient(env, j_coeff_den, build_java_coeff(env, den));
@@ -388,19 +1147,16 @@ Java_parma_1polyhedra_1library_MIP_1Problem_optimizing_1point
 
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_MIP_1Problem_optimal_1value
-(JNIEnv* env, jobject j_this_mip_problem, jobject j_coeff_num,
- jobject j_coeff_den) {
+(JNIEnv* env, jobject j_this_mip_problem,
+ jobject j_coeff_num, jobject j_coeff_den) {
   try {
     PPL_DIRTY_TEMP_COEFFICIENT(coeff_num);
     PPL_DIRTY_TEMP_COEFFICIENT(coeff_den);
-
     MIP_Problem* mip
       = reinterpret_cast<MIP_Problem*>(get_ptr(env, j_this_mip_problem));
     mip->optimal_value(coeff_num, coeff_den);
-    jobject j_coeff_num_result = build_java_coeff(env, coeff_num);
-    jobject j_coeff_den_result = build_java_coeff(env, coeff_den);
-    set_coefficient(env, j_coeff_num, j_coeff_num_result);
-    set_coefficient(env, j_coeff_den, j_coeff_den_result);
+    set_coefficient(env, j_coeff_num, build_java_coeff(env, coeff_num));
+    set_coefficient(env, j_coeff_den, build_java_coeff(env, coeff_den));
   }
   CATCH_ALL;
 }
@@ -722,11 +1478,11 @@ Java_parma_1polyhedra_1library_IO_wrap_1string
  jint preferred_first_line_length, jint preferred_line_length) {
   try {
     unsigned ind = jtype_to_unsigned<unsigned int>(indent_depth);
-    unsigned pfll = jtype_to_unsigned<unsigned int>(preferred_first_line_length);
+    unsigned pfll = jtype_to_unsigned<unsigned int>
+      (preferred_first_line_length);
     unsigned pll = jtype_to_unsigned<unsigned int>(preferred_line_length);
     const char* chars = env->GetStringUTFChars(str, 0);
-    if (!chars)
-      return 0;
+    CHECK_RESULT_RETURN(env, chars, 0);
     using namespace Parma_Polyhedra_Library::IO_Operators;
     std::string s = wrap_string(chars, ind, pfll, pll);
     env->ReleaseStringUTFChars(str, chars);
@@ -735,3 +1491,709 @@ Java_parma_1polyhedra_1library_IO_wrap_1string
   CATCH_ALL;
   return 0;
 }
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_PIP_1Problem_build_1cpp_1object__J
+(JNIEnv* env, jobject j_this_pip_problem, jlong j_dim) {
+  try {
+    dimension_type ppl_dim = jtype_to_unsigned<dimension_type>(j_dim);
+    PIP_Problem* pip_ptr = new PIP_Problem(ppl_dim);
+    set_ptr(env, j_this_pip_problem,  pip_ptr);
+  }
+  CATCH_ALL;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_PIP_1Problem_build_1cpp_1object__JLparma_1polyhedra_1library_Constraint_1System_2Lparma_1polyhedra_1library_Variables_1Set_2
+(JNIEnv* env , jobject j_this_pip_problem, jlong j_dim,
+ jobject j_cs, jobject j_vars) {
+  try {
+    dimension_type p_dim = jtype_to_unsigned<dimension_type>(j_dim);
+    Constraint_System p_cs = build_cxx_constraint_system(env, j_cs);
+    Variables_Set p_vars = build_cxx_variables_set(env, j_vars);
+    PIP_Problem* pip_ptr = new PIP_Problem(p_dim, p_cs.begin(),
+                                           p_cs.end(), p_vars);
+    set_ptr(env, j_this_pip_problem, pip_ptr);
+  }
+  CATCH_ALL;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_PIP_1Problem_build_1cpp_1object__Lparma_1polyhedra_1library_PIP_1Problem_2
+(JNIEnv* env, jobject  j_this, jobject j_y)
+{
+  PIP_Problem* y_ptr = reinterpret_cast<PIP_Problem*>(get_ptr(env, j_y));
+  PIP_Problem* this_ptr = new PIP_Problem(*y_ptr);
+  set_ptr(env, j_this, this_ptr);
+}
+
+JNIEXPORT jboolean JNICALL
+Java_parma_1polyhedra_1library_PIP_1Problem_OK
+(JNIEnv* env , jobject j_this_pip_problem) {
+  try {
+    PIP_Problem* pip
+      = reinterpret_cast<PIP_Problem*>(get_ptr(env, j_this_pip_problem));
+    return pip->OK();
+  }
+  CATCH_ALL;
+  return false;
+}
+
+JNIEXPORT jlong JNICALL
+Java_parma_1polyhedra_1library_PIP_1Problem_total_1memory_1in_1bytes
+(JNIEnv* env , jobject j_this_pip_problem) {
+  try {
+    PIP_Problem* pip
+      = reinterpret_cast<PIP_Problem*>(get_ptr(env, j_this_pip_problem));
+    return pip->total_memory_in_bytes();
+  }
+  CATCH_ALL;
+  return 0;
+}
+
+JNIEXPORT jlong JNICALL
+Java_parma_1polyhedra_1library_PIP_1Problem_external_1memory_1in_1bytes
+(JNIEnv* env , jobject j_this_pip_problem) {
+  try {
+    PIP_Problem* pip
+      = reinterpret_cast<PIP_Problem*>(get_ptr(env, j_this_pip_problem));
+    return pip->external_memory_in_bytes();
+  }
+  CATCH_ALL;
+  return 0;
+}
+
+JNIEXPORT jstring JNICALL
+Java_parma_1polyhedra_1library_PIP_1Problem_toString
+(JNIEnv* env, jobject j_this) {
+  PIP_Problem* this_ptr
+    = reinterpret_cast<PIP_Problem*>(get_ptr(env, j_this));
+  using namespace Parma_Polyhedra_Library::IO_Operators;
+  std::ostringstream s;
+  s << *this_ptr;
+  return env->NewStringUTF(s.str().c_str());
+}
+
+JNIEXPORT jstring JNICALL
+Java_parma_1polyhedra_1library_PIP_1Problem_ascii_1dump
+(JNIEnv* env, jobject j_this) {
+  try {
+    PIP_Problem* this_ptr
+      = reinterpret_cast<PIP_Problem*>(get_ptr(env, j_this));
+    std::ostringstream s;
+    this_ptr->ascii_dump(s);
+    return env->NewStringUTF(s.str().c_str());
+  }
+  CATCH_ALL;
+  return 0;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_PIP_1Problem_free
+(JNIEnv* env, jobject j_this) {
+  PIP_Problem* pip  = reinterpret_cast<PIP_Problem*>(get_ptr(env, j_this));
+  if (!is_java_marked(env, j_this)) {
+    delete pip;
+    void* null_ptr = 0;
+    set_ptr(env, j_this, null_ptr);
+  }
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_PIP_1_problem_finalize
+(JNIEnv* env, jobject j_this) {
+  PIP_Problem* pip = reinterpret_cast<PIP_Problem*>(get_ptr(env, j_this));
+  if (!is_java_marked(env, j_this))
+    delete pip;
+}
+
+JNIEXPORT jlong JNICALL
+Java_parma_1polyhedra_1library_PIP_1Problem_max_1space_1dimension
+(JNIEnv* env , jobject j_this_pip_problem) {
+  try {
+    PIP_Problem* pip
+      = reinterpret_cast<PIP_Problem*>(get_ptr(env, j_this_pip_problem));
+    return pip->max_space_dimension();
+  }
+  CATCH_ALL;
+  return 0;
+}
+
+JNIEXPORT jlong JNICALL
+Java_parma_1polyhedra_1library_PIP_1Problem_space_1dimension
+(JNIEnv* env , jobject j_this_pip_problem) {
+  try {
+    PIP_Problem* pip
+      = reinterpret_cast<PIP_Problem*>(get_ptr(env, j_this_pip_problem));
+    return pip->space_dimension();
+  }
+  CATCH_ALL;
+  return 0;
+}
+
+JNIEXPORT jlong JNICALL
+Java_parma_1polyhedra_1library_PIP_1Problem_get_1big_1parameter_1dimension
+(JNIEnv* env , jobject j_this_pip_problem) {
+  try {
+    PIP_Problem* pip
+      = reinterpret_cast<PIP_Problem*>(get_ptr(env, j_this_pip_problem));
+    return pip->get_big_parameter_dimension();
+  }
+  CATCH_ALL;
+  return 0;
+}
+
+JNIEXPORT jobject JNICALL
+Java_parma_1polyhedra_1library_PIP_1Problem_parameter_1space_1dimensions
+(JNIEnv* env , jobject j_this_pip_problem) {
+  try {
+    PIP_Problem* pip
+      = reinterpret_cast<PIP_Problem*>(get_ptr(env, j_this_pip_problem));
+    return build_java_variables_set(env, pip->parameter_space_dimensions());
+  }
+  CATCH_ALL;
+  jobject null = 0;
+  return null;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_PIP_1Problem_set_1big_1parameter_1dimension
+(JNIEnv* env , jobject j_this_pip_problem, jlong j_dim) {
+  try {
+    PIP_Problem* pip
+      = reinterpret_cast<PIP_Problem*>(get_ptr(env, j_this_pip_problem));
+    dimension_type ppl_dim = jtype_to_unsigned<dimension_type>(j_dim);
+    pip->set_big_parameter_dimension(ppl_dim);
+  }
+  CATCH_ALL;
+}
+
+JNIEXPORT jlong JNICALL
+Java_parma_1polyhedra_1library_PIP_1Problem_number_1of_1parameter_1space_1dimensions
+(JNIEnv* env , jobject j_this_pip_problem) {
+  try {
+    PIP_Problem* pip
+      = reinterpret_cast<PIP_Problem*>(get_ptr(env, j_this_pip_problem));
+    return pip->parameter_space_dimensions().size();
+  }
+  CATCH_ALL;
+  return 0;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_PIP_1Problem_add_1space_1dimensions_1and_1embed
+(JNIEnv* env , jobject j_this_pip_problem, jlong j_dim_vars, jlong j_dim_pars) {
+  try {
+    PIP_Problem* pip
+      = reinterpret_cast<PIP_Problem*>(get_ptr(env, j_this_pip_problem));
+    dimension_type ppl_dim_vars = jtype_to_unsigned<dimension_type>(j_dim_vars);
+    dimension_type ppl_dim_pars = jtype_to_unsigned<dimension_type>(j_dim_pars);
+    pip->add_space_dimensions_and_embed(ppl_dim_vars, ppl_dim_pars);
+  }
+  CATCH_ALL;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_PIP_1Problem_add_1to_1parameter_1space_1dimensions
+(JNIEnv* env , jobject j_this_pip_problem, jobject j_vars) {
+  try {
+    PIP_Problem* pip
+      = reinterpret_cast<PIP_Problem*>(get_ptr(env, j_this_pip_problem));
+    Variables_Set ppl_vars = build_cxx_variables_set(env, j_vars);
+    pip->add_to_parameter_space_dimensions(ppl_vars);
+  }
+  CATCH_ALL;
+}
+
+JNIEXPORT jlong JNICALL
+Java_parma_1polyhedra_1library_PIP_1Problem_number_1of_1constraints
+(JNIEnv* env , jobject j_this_pip_problem) {
+  try {
+    PIP_Problem* pip
+      = reinterpret_cast<PIP_Problem*>(get_ptr(env, j_this_pip_problem));
+    return pip->constraints_end() - pip->constraints_begin();
+  }
+  CATCH_ALL;
+  return 0;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_PIP_1Problem_add_1constraint
+(JNIEnv* env , jobject j_this_pip_problem, jobject j_c) {
+  try {
+    PIP_Problem* pip
+      = reinterpret_cast<PIP_Problem*>(get_ptr(env, j_this_pip_problem));
+    Constraint c = build_cxx_constraint(env, j_c);
+    pip->add_constraint(c);
+  }
+  CATCH_ALL;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_PIP_1Problem_add_1constraints
+(JNIEnv* env , jobject j_this_pip_problem, jobject j_cs) {
+  try {
+    PIP_Problem* pip
+      = reinterpret_cast<PIP_Problem*>(get_ptr(env, j_this_pip_problem));
+    Constraint_System cs = build_cxx_constraint_system(env, j_cs);
+    pip->add_constraints(cs);
+  }
+  CATCH_ALL;
+}
+
+JNIEXPORT jboolean JNICALL
+Java_parma_1polyhedra_1library_PIP_1Problem_is_1satisfiable
+(JNIEnv* env , jobject j_this_pip_problem) {
+  try {
+    PIP_Problem* pip
+      = reinterpret_cast<PIP_Problem*>(get_ptr(env, j_this_pip_problem));
+    return pip->is_satisfiable();
+  }
+  CATCH_ALL;
+  return false;
+}
+
+JNIEXPORT jobject JNICALL Java_parma_1polyhedra_1library_PIP_1Problem_solve
+(JNIEnv* env , jobject j_this_pip_problem) {
+  try {
+    PIP_Problem* pip
+      = reinterpret_cast<PIP_Problem*>(get_ptr(env, j_this_pip_problem));
+    return build_java_pip_status(env, pip->solve());
+  }
+  CATCH_ALL;
+  jobject null = 0;
+  return null;
+}
+
+JNIEXPORT jobject JNICALL Java_parma_1polyhedra_1library_PIP_1Problem_solution
+(JNIEnv* env , jobject j_this_pip_problem) {
+  try {
+    PIP_Problem* pip
+      = reinterpret_cast<PIP_Problem*>(get_ptr(env, j_this_pip_problem));
+    const PIP_Tree_Node* solution = pip->solution();
+
+    jclass j_class_s = env->FindClass("parma_polyhedra_library/PIP_Tree_Node");
+    CHECK_RESULT_ASSERT(env, j_class_s);
+    jmethodID j_ctr_id_s = env->GetMethodID(j_class_s, "<init>", "()V");
+    CHECK_RESULT_ASSERT(env, j_ctr_id_s);
+    jobject j_obj_s = env->NewObject(j_class_s, j_ctr_id_s);
+    CHECK_RESULT_RETURN(env, j_obj_s, 0);
+    set_ptr(env, j_obj_s, solution);
+    return j_obj_s;
+  }
+  CATCH_ALL;
+  jobject null = 0;
+  return null;
+}
+
+JNIEXPORT jobject JNICALL
+Java_parma_1polyhedra_1library_PIP_1Problem_optimizing_1solution
+(JNIEnv* env , jobject j_this_pip_problem) {
+  try {
+    PIP_Problem* pip
+      = reinterpret_cast<PIP_Problem*>(get_ptr(env, j_this_pip_problem));
+    const PIP_Tree_Node* solution = pip->optimizing_solution();
+
+    jclass j_class_s = env->FindClass("parma_polyhedra_library/PIP_Tree_Node");
+    CHECK_RESULT_ASSERT(env, j_class_s);
+    jmethodID j_ctr_id_s = env->GetMethodID(j_class_s, "<init>", "()V");
+    CHECK_RESULT_ASSERT(env, j_ctr_id_s);
+    jobject j_obj_s = env->NewObject(j_class_s, j_ctr_id_s);
+    CHECK_RESULT_RETURN(env, j_obj_s, 0);
+    set_ptr(env, j_obj_s, solution);
+    return j_obj_s;
+  }
+  CATCH_ALL;
+  jobject null = 0;
+  return null;
+}
+
+JNIEXPORT jobject JNICALL
+Java_parma_1polyhedra_1library_PIP_1Problem_get_1pip_1problem_1control_1parameter
+(JNIEnv* env , jobject j_this_pip_problem,
+ jobject j_cpn) {
+  try {
+    PIP_Problem* pip
+      = reinterpret_cast<PIP_Problem*>(get_ptr(env, j_this_pip_problem));
+    PIP_Problem::Control_Parameter_Name ppl_cpn
+      = build_cxx_pip_problem_control_parameter_name(env, j_cpn);
+    return
+      build_java_pip_problem_control_parameter_value
+        (env, pip->get_control_parameter(ppl_cpn));
+  }
+  CATCH_ALL;
+  jobject null = 0;
+  return null;
+}
+
+JNIEXPORT jobject JNICALL
+Java_parma_1polyhedra_1library_PIP_1Problem_constraint_1at_1index
+(JNIEnv* env, jobject j_this_pip_problem, jlong j_index) {
+  try {
+    PIP_Problem* pip
+      = reinterpret_cast<PIP_Problem*>(get_ptr(env, j_this_pip_problem));
+    dimension_type p_index = jtype_to_unsigned<dimension_type>(j_index);
+    return build_java_constraint(env, *(pip->constraints_begin() + p_index));
+  }
+  CATCH_ALL;
+  jobject null = 0;
+  return null;
+}
+
+JNIEXPORT jobject JNICALL
+Java_parma_1polyhedra_1library_PIP_1Problem_constraints
+(JNIEnv* env, jobject j_this_pip_problem) {
+  try {
+    jobject j_cs = env->NewObject(cached_classes.Constraint_System,
+                                  cached_FMIDs.Constraint_System_init_ID);
+    CHECK_RESULT_RETURN(env, j_cs, 0);
+
+    PIP_Problem* pip
+      = reinterpret_cast<PIP_Problem*>(get_ptr(env, j_this_pip_problem));
+    for (PIP_Problem::const_iterator cs_it = pip->constraints_begin(),
+           cs_end = pip->constraints_end(); cs_it != cs_end; ++cs_it) {
+      jobject j_constraint = build_java_constraint(env, *cs_it);
+      env->CallBooleanMethod(j_cs,
+                             cached_FMIDs.Constraint_System_add_ID,
+                             j_constraint);
+      CHECK_EXCEPTION_RETURN(env, 0);
+    }
+    return j_cs;
+  }
+  CATCH_ALL;
+  jobject null = 0;
+  return null;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_PIP_1Problem_set_1pip_1problem_1control_1parameter
+(JNIEnv* env, jobject j_this_pip_problem, jobject j_cpv) {
+  try {
+    PIP_Problem* pip
+      = reinterpret_cast<PIP_Problem*>(get_ptr(env, j_this_pip_problem));
+    PIP_Problem::Control_Parameter_Value ppl_cpv
+      = build_cxx_pip_problem_control_parameter_value(env, j_cpv);
+    pip->set_control_parameter(ppl_cpv);
+  }
+  CATCH_ALL;
+}
+
+JNIEXPORT jboolean JNICALL
+Java_parma_1polyhedra_1library_PIP_1Tree_1Node_OK
+(JNIEnv* env, jobject j_this_pip_tree) {
+  try {
+    PIP_Tree_Node* pip
+      = reinterpret_cast<PIP_Tree_Node*>(get_ptr(env, j_this_pip_tree));
+    return pip->OK();
+  }
+  CATCH_ALL;
+  return false;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_PIP_1Tree_1Node_free
+(JNIEnv* env, jobject j_this) {
+  PIP_Tree_Node* pip  = reinterpret_cast<PIP_Tree_Node*>(get_ptr(env, j_this));
+  if (!is_java_marked(env, j_this)) {
+    delete pip;
+    void* null_ptr = 0;
+    set_ptr(env, j_this, null_ptr);
+  }
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_PIP_1Tree_1Node_finalize
+(JNIEnv* env, jobject j_this) {
+  PIP_Tree_Node* pip = reinterpret_cast<PIP_Tree_Node*>(get_ptr(env, j_this));
+  if (!is_java_marked(env, j_this))
+    delete pip;
+}
+
+JNIEXPORT jobject JNICALL
+Java_parma_1polyhedra_1library_PIP_1Tree_1Node_constraints
+(JNIEnv* env, jobject j_this_pip_node) {
+  try {
+    jobject j_cs = env->NewObject(cached_classes.Constraint_System,
+                                  cached_FMIDs.Constraint_System_init_ID);
+    CHECK_RESULT_RETURN(env, j_cs, 0);
+
+    PIP_Tree_Node* pip
+      = reinterpret_cast<PIP_Tree_Node*>(get_ptr(env, j_this_pip_node));
+    return build_java_constraint_system(env, pip->constraints());
+  }
+  CATCH_ALL;
+  jobject null = 0;
+  return null;
+}
+
+JNIEXPORT jobject JNICALL
+Java_parma_1polyhedra_1library_PIP_1Tree_1Node_as_1solution
+(JNIEnv* env, jobject j_this) {
+  try {
+    PIP_Tree_Node* pip = reinterpret_cast<PIP_Tree_Node*>(get_ptr(env, j_this));
+    const PIP_Solution_Node* solution = pip->as_solution();
+    if (solution == 0) {
+      jobject null = 0;
+      return null;
+    }
+    // Here we have a solution node.
+    jclass j_class_s
+      = env->FindClass("parma_polyhedra_library/PIP_Solution_Node");
+    CHECK_RESULT_ASSERT(env, j_class_s);
+    jmethodID j_ctr_id_s = env->GetMethodID(j_class_s, "<init>", "()V");
+    CHECK_RESULT_ASSERT(env, j_ctr_id_s);
+    jobject j_obj_s = env->NewObject(j_class_s, j_ctr_id_s);
+    CHECK_RESULT_RETURN(env, j_obj_s, 0);
+    set_ptr(env, j_obj_s, solution);
+    return j_obj_s;
+  }
+  CATCH_ALL;
+  jobject null = 0;
+  return null;
+}
+
+JNIEXPORT jobject JNICALL
+Java_parma_1polyhedra_1library_PIP_1Tree_1Node_as_1decision
+(JNIEnv* env, jobject j_this) {
+  try {
+    PIP_Tree_Node* pip = reinterpret_cast<PIP_Tree_Node*>(get_ptr(env, j_this));
+    const PIP_Decision_Node* decision = pip->as_decision();
+    if (decision == 0) {
+      jobject null = 0;
+      return null;
+    }
+    // Here we have a decision node.
+    jclass j_class_d
+      = env->FindClass("parma_polyhedra_library/PIP_Decision_Node");
+    CHECK_RESULT_ASSERT(env, j_class_d);
+    jmethodID j_ctr_id_d = env->GetMethodID(j_class_d, "<init>", "()V");
+    CHECK_RESULT_ASSERT(env, j_ctr_id_d);
+    jobject j_obj_d = env->NewObject(j_class_d, j_ctr_id_d);
+    CHECK_RESULT_RETURN(env, j_obj_d, 0);
+    set_ptr(env, j_obj_d, decision);
+    return j_obj_d;
+  }
+  CATCH_ALL;
+  jobject null = 0;
+  return null;
+}
+
+JNIEXPORT jlong JNICALL
+Java_parma_1polyhedra_1library_PIP_1Tree_1Node_number_1of_1artificials
+(JNIEnv* env , jobject j_this) {
+  try {
+    PIP_Tree_Node* pip = reinterpret_cast<PIP_Tree_Node*>(get_ptr(env, j_this));
+    return pip->art_parameter_count();
+  }
+  CATCH_ALL;
+  return 0;
+}
+
+JNIEXPORT jobject JNICALL
+Java_parma_1polyhedra_1library_PIP_1Tree_1Node_artificials
+(JNIEnv* env, jobject j_this_pip_node) {
+  try {
+    jobject j_arts
+      = env->NewObject(cached_classes.Artificial_Parameter_Sequence,
+                       cached_FMIDs.Artificial_Parameter_Sequence_init_ID);
+    CHECK_RESULT_RETURN(env, j_arts, 0);
+
+    const PIP_Tree_Node* pip_node
+      = reinterpret_cast<const PIP_Tree_Node*>(get_ptr(env, j_this_pip_node));
+    for (PIP_Tree_Node::Artificial_Parameter_Sequence::const_iterator
+           i = pip_node->art_parameter_begin(),
+           i_end = pip_node->art_parameter_end(); i != i_end; ++i) {
+      jobject j_art = build_java_artificial_parameter(env, *i);
+      env->CallBooleanMethod(j_arts,
+                             cached_FMIDs.Artificial_Parameter_Sequence_add_ID,
+                             j_art);
+      CHECK_EXCEPTION_RETURN(env, 0);
+    }
+    return j_arts;
+  }
+  CATCH_ALL;
+  jobject null = 0;
+  return null;
+}
+
+JNIEXPORT jstring JNICALL
+Java_parma_1polyhedra_1library_PIP_1Tree_1Node_toString
+(JNIEnv* env, jobject j_this) {
+  PIP_Tree_Node* this_ptr
+    = reinterpret_cast<PIP_Tree_Node*>(get_ptr(env, j_this));
+  using namespace Parma_Polyhedra_Library::IO_Operators;
+  std::ostringstream s;
+  s << *this_ptr;
+  return env->NewStringUTF(s.str().c_str());
+}
+
+JNIEXPORT jobject JNICALL
+Java_parma_1polyhedra_1library_PIP_1Decision_1Node_child_1node
+(JNIEnv* env, jobject j_this, jboolean j_branch) {
+  try {
+    PIP_Decision_Node* dec_node
+      = reinterpret_cast<PIP_Decision_Node*>(get_ptr(env, j_this));
+    const PIP_Tree_Node* child = dec_node->child_node(j_branch);
+    if (child == 0) {
+      jobject null = 0;
+      return null;
+    }
+    jclass j_class_s = env->FindClass("parma_polyhedra_library/PIP_Tree_Node");
+    CHECK_RESULT_ASSERT(env, j_class_s);
+    jmethodID j_ctr_id_s = env->GetMethodID(j_class_s, "<init>", "()V");
+    CHECK_RESULT_ASSERT(env, j_ctr_id_s);
+    jobject j_obj_s = env->NewObject(j_class_s, j_ctr_id_s);
+    CHECK_RESULT_RETURN(env, j_obj_s, 0);
+    set_ptr(env, j_obj_s, child);
+    return j_obj_s;
+  }
+  CATCH_ALL;
+  jobject null = 0;
+  return null;
+}
+
+JNIEXPORT jobject JNICALL
+Java_parma_1polyhedra_1library_PIP_1Solution_1Node_parametric_1values
+(JNIEnv* env, jobject j_this, jobject j_var) {
+  PIP_Solution_Node* pip
+    = reinterpret_cast<PIP_Solution_Node*>(get_ptr(env, j_this));
+  Variable v = build_cxx_variable(env, j_var);
+  return build_linear_expression(env, pip->parametric_values(v));
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Artificial_1Parameter_initIDs
+(JNIEnv* env, jclass j_artificial_parameter_class) {
+  jfieldID fID;
+  fID = env->GetFieldID(j_artificial_parameter_class, "le",
+                        "Lparma_polyhedra_library/Linear_Expression;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Artificial_Parameter_le_ID = fID;
+  fID = env->GetFieldID(j_artificial_parameter_class, "den",
+                        "Lparma_polyhedra_library/Coefficient;");
+  CHECK_RESULT_ASSERT(env, fID);
+  cached_FMIDs.Artificial_Parameter_den_ID = fID;
+  jmethodID mID;
+  mID = env->GetMethodID(j_artificial_parameter_class, "<init>",
+                         "(Lparma_polyhedra_library/Linear_Expression;"
+                         "Lparma_polyhedra_library/Coefficient;)V");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Artificial_Parameter_init_ID = mID;
+}
+
+JNIEXPORT jstring JNICALL
+Java_parma_1polyhedra_1library_Artificial_1Parameter_ascii_1dump
+(JNIEnv* env, jobject j_this) {
+  try {
+    std::ostringstream s;
+    PIP_Tree_Node::Artificial_Parameter art
+      = build_cxx_artificial_parameter(env, j_this);
+    art.ascii_dump(s);
+    return env->NewStringUTF(s.str().c_str());
+  }
+  CATCH_ALL;
+  return 0;
+}
+
+JNIEXPORT jstring JNICALL
+Java_parma_1polyhedra_1library_Artificial_1Parameter_toString
+(JNIEnv* env, jobject j_this) {
+  using namespace Parma_Polyhedra_Library::IO_Operators;
+  std::ostringstream s;
+  PIP_Tree_Node::Artificial_Parameter ppl_art
+    = build_cxx_artificial_parameter(env, j_this);
+  s << ppl_art;
+  return env->NewStringUTF(s.str().c_str());
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Artificial_1Parameter_1Sequence_initIDs
+(JNIEnv* env, jclass j_aps_class) {
+  jmethodID mID;
+  mID = env->GetMethodID(j_aps_class, "<init>", "()V");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Artificial_Parameter_Sequence_init_ID = mID;
+  mID = env->GetMethodID(j_aps_class, "add", "(Ljava/lang/Object;)Z");
+  CHECK_RESULT_ASSERT(env, mID);
+  cached_FMIDs.Artificial_Parameter_Sequence_add_ID = mID;
+}
+
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Partial_1Function_build_1cpp_1object
+(JNIEnv* env, jobject j_this_pfunc) {
+  try {
+    Partial_Function* pfunc_ptr = new Partial_Function;
+    set_ptr(env, j_this_pfunc,  pfunc_ptr);
+  }
+  CATCH_ALL;
+}
+
+JNIEXPORT jboolean JNICALL
+Java_parma_1polyhedra_1library_Partial_1Function_has_1empty_1codomain
+(JNIEnv* env , jobject j_this_pfunc) {
+  try {
+    Partial_Function* pfunc
+      = reinterpret_cast<Partial_Function*>(get_ptr(env, j_this_pfunc));
+    return pfunc->has_empty_codomain();
+  }
+  CATCH_ALL;
+  return 0;
+}
+
+JNIEXPORT jlong JNICALL
+Java_parma_1polyhedra_1library_Partial_1Function_max_1in_1codomain
+(JNIEnv* env , jobject j_this_pfunc) {
+  try {
+    Partial_Function* pfunc
+      = reinterpret_cast<Partial_Function*>(get_ptr(env, j_this_pfunc));
+    return pfunc->max_in_codomain();
+  }
+  CATCH_ALL;
+  return 0;
+}
+
+JNIEXPORT jlong JNICALL
+Java_parma_1polyhedra_1library_Partial_1Function_maps
+(JNIEnv* env, jobject j_this_pfunc, jlong j_i) {
+  Partial_Function* pfunc
+    = reinterpret_cast<Partial_Function*>(get_ptr(env, j_this_pfunc));
+  dimension_type i = jtype_to_unsigned<dimension_type>(j_i);
+  dimension_type j;
+  if (pfunc->maps(i, j))
+    return j;
+  else
+    return -1;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Partial_1Function_insert
+(JNIEnv* env , jobject j_this_pfunc, jlong i, jlong j) {
+  try {
+    Partial_Function* pfunc
+      = reinterpret_cast<Partial_Function*>(get_ptr(env, j_this_pfunc));
+    pfunc->insert(i, j);
+  }
+  CATCH_ALL;
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Partial_1Function_free
+(JNIEnv* env, jobject j_this) {
+  Partial_Function* pfunc
+    = reinterpret_cast<Partial_Function*>(get_ptr(env, j_this));
+  if (!is_java_marked(env, j_this)) {
+    delete pfunc;
+    void* null_ptr = 0;
+    set_ptr(env, j_this, null_ptr);
+  }
+}
+
+JNIEXPORT void JNICALL
+Java_parma_1polyhedra_1library_Partial_1Function_finalize
+(JNIEnv* env, jobject j_this) {
+  Partial_Function* pfunc
+    = reinterpret_cast<Partial_Function*>(get_ptr(env, j_this));
+  if (!is_java_marked(env, j_this))
+    delete pfunc;
+}
diff --git a/interfaces/Java/parma_polyhedra_library/Artificial_Parameter.java b/interfaces/Java/parma_polyhedra_library/Artificial_Parameter.java
new file mode 100644
index 0000000..347b4f4
--- /dev/null
+++ b/interfaces/Java/parma_polyhedra_library/Artificial_Parameter.java
@@ -0,0 +1,89 @@
+/* Artificial_Parameter Java class declaration and implementation.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+
+package parma_polyhedra_library;
+
+import java.io.Writer;
+import java.io.IOException;
+
+/*!
+  An Artificial_Parameter object represents the result
+  of the integer division of a Linear_Expression (on the other
+  parameters, including the previously-defined artificials)
+  by an integer denominator (a Coefficient object).
+  The dimensions of the artificial parameters (if any) in a tree node
+  have consecutive indices starting from <code>dim+1</code>, where the value
+  of \c dim is computed as follows:
+   - for the tree root node, \c dim is the space dimension of the PIP_Problem;
+   - for any other node of the tree, it is recusrively obtained by adding
+     the value of \c dim computed for the parent node to the number of
+     artificial parameters defined in the parent node.
+  \par
+  Since the numbering of dimensions for artificial parameters follows
+  the rule above, the addition of new problem variables and/or new problem
+  parameters to an already solved PIP_Problem object (as done when
+  incrementally solving a problem) will result in the systematic
+  renumbering of all the existing artificial parameters.
+*/
+public class Artificial_Parameter {
+
+    //! The value of the linear expression of \p this.
+    private Linear_Expression le;
+
+    //! The value of the denominatir of \p this.
+    private Coefficient den;
+
+    /*! \brief
+      Builds an artificial parameter from a linear expression
+      and a denominator.
+    */
+    public Artificial_Parameter(Linear_Expression e, Coefficient d) {
+	le = e.clone();
+	den = new Coefficient(d);
+    }
+
+    /*! \brief
+      Returns the linear expression in artificial parameter \p this.
+    */
+    public Linear_Expression linear_expression() {
+	return le;
+    }
+
+    /*! \brief
+      Returns the denominator in artificial parameter \p this.
+    */
+    public Coefficient denominator() {
+	return den;
+    }
+
+    //! Returns an ascii formatted internal representation of \p this.
+    public native String ascii_dump();
+
+    //! Returns a string representation of \p this.
+    public native String toString();
+
+    private static native void initIDs();
+    static {
+        initIDs();
+    }
+}
diff --git a/interfaces/Java/parma_polyhedra_library/Artificial_Parameter_Sequence.java b/interfaces/Java/parma_polyhedra_library/Artificial_Parameter_Sequence.java
new file mode 100644
index 0000000..c8dd38f
--- /dev/null
+++ b/interfaces/Java/parma_polyhedra_library/Artificial_Parameter_Sequence.java
@@ -0,0 +1,44 @@
+/* Artificial_Parameter_Sequence Java class declaration and implementation.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+package parma_polyhedra_library;
+
+import java.io.Writer;
+import java.io.IOException;
+
+//! A sequence of artificial parameters.
+/*! \ingroup PPL_Java_interface
+    An object of the class Artificial_Parameter_Sequence is a
+    sequence of artificial parameters.
+*/
+public class Artificial_Parameter_Sequence
+  extends java.util.Vector<Artificial_Parameter> {
+
+    //! Default constructor: builds an empty sequence of artificial parameters.
+    public Artificial_Parameter_Sequence() {
+    }
+
+    private static native void initIDs();
+    static {
+        initIDs();
+    }
+}
diff --git a/interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Overflow.java b/interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Overflow.java
new file mode 100644
index 0000000..23d3c8f
--- /dev/null
+++ b/interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Overflow.java
@@ -0,0 +1,39 @@
+/* Bounded_Integer_Type_Overflow enum declaration.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+package parma_polyhedra_library;
+
+//! Overflow behavior of bounded integer types.
+/*! \ingroup PPL_Java_interface */
+public enum Bounded_Integer_Type_Overflow {
+    //! On overflow, wrapping takes place.
+    OVERFLOW_WRAPS,
+    //! On overflow, the result is undefined.
+    OVERFLOW_UNDEFINED,
+    //! Overflow is impossible.
+    OVERFLOW_IMPOSSIBLE;
+
+    private static native void initIDs();
+    static {
+        initIDs();
+    }
+}
diff --git a/interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Representation.java b/interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Representation.java
new file mode 100644
index 0000000..3b033ad
--- /dev/null
+++ b/interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Representation.java
@@ -0,0 +1,40 @@
+/* Bounded_Integer_Type_Representation enum declaration.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+package parma_polyhedra_library;
+
+//! Representation of bounded integer types.
+/*! \ingroup PPL_Java_interface */
+public enum Bounded_Integer_Type_Representation {
+    //! Unsigned binary.
+    UNSIGNED,
+    /*! \brief
+      Signed binary where negative values are represented by the two's
+      complement of the absolute value.
+    */
+    SIGNED_2_COMPLEMENT;
+
+    private static native void initIDs();
+    static {
+        initIDs();
+    }
+}
diff --git a/interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Width.java b/interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Width.java
new file mode 100644
index 0000000..aa10fdf
--- /dev/null
+++ b/interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Width.java
@@ -0,0 +1,43 @@
+/* Bounded_Integer_Type_Width enum declaration.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+package parma_polyhedra_library;
+
+//! Widths of bounded integer types.
+/*! \ingroup PPL_Java_interface */
+public enum Bounded_Integer_Type_Width {
+    //! Minimization is requested.
+    BITS_8,
+    //! \hideinitializer 16 bits.
+    BITS_16,
+    //! \hideinitializer 32 bits.
+    BITS_32,
+    //! \hideinitializer 64 bits.
+    BITS_64,
+    //! \hideinitializer 128 bits.
+    BITS_128;
+
+    private static native void initIDs();
+    static {
+        initIDs();
+    }
+}
diff --git a/interfaces/Java/parma_polyhedra_library/By_Reference.java b/interfaces/Java/parma_polyhedra_library/By_Reference.java
index dda3f27..a742af5 100644
--- a/interfaces/Java/parma_polyhedra_library/By_Reference.java
+++ b/interfaces/Java/parma_polyhedra_library/By_Reference.java
@@ -1,5 +1,5 @@
 /* By_Reference Java class declaration and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -43,10 +43,8 @@ public class By_Reference<T> {
 	return obj;
     }
 
-    // FIXME: this must be moved in another place.
-    static boolean is_null(java.lang.Object obj) {
-        if (obj == null)
-              return true;
-        return false;
+    private static native void initIDs();
+    static {
+        initIDs();
     }
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Coefficient.java b/interfaces/Java/parma_polyhedra_library/Coefficient.java
index e64c8a9..c8cdd8f 100644
--- a/interfaces/Java/parma_polyhedra_library/Coefficient.java
+++ b/interfaces/Java/parma_polyhedra_library/Coefficient.java
@@ -1,5 +1,5 @@
 /* Coefficient Java class declaration and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -35,14 +35,14 @@ public class Coefficient {
     //! Holds the value of \p this.
     private BigInteger value;
 
-    //! Builds a coefficient values \p i.
+    //! Builds a coefficient valued \p i.
     public Coefficient(int i) {
-	value = new BigInteger(Integer.toString(i));
+        value = BigInteger.valueOf(i);
     }
 
     //! Builds a coefficient valued \p l.
     public Coefficient(long l) {
-	value = new BigInteger(Long.toString(l));
+	value = BigInteger.valueOf(l);
     }
 
     //! Builds a coefficient valued \p bi.
@@ -61,7 +61,12 @@ public class Coefficient {
 
     //! Builds a copy of \p c.
     public Coefficient(Coefficient c) {
-	value = new BigInteger(c.value.toString());
+	value = c.value;
+    }
+
+    //! Returns a String representation of \p this.
+    public String toString() {
+	return value.toString();
     }
 
     //! Returns the value held by \p this.
@@ -69,7 +74,11 @@ public class Coefficient {
 	return value;
     }
 
-    private void set(Coefficient c) {
-        value = c.getBigInteger();
+    //! Returns the number of bits of PPL coefficients; 0 if unbounded.
+    public static native int bits();
+
+    private static native void initIDs();
+    static {
+        initIDs();
     }
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Complexity_Class.java b/interfaces/Java/parma_polyhedra_library/Complexity_Class.java
index 3351a66..1ed3af0 100644
--- a/interfaces/Java/parma_polyhedra_library/Complexity_Class.java
+++ b/interfaces/Java/parma_polyhedra_library/Complexity_Class.java
@@ -1,5 +1,5 @@
 /* Complexity_Class enum declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -30,5 +30,10 @@ public enum Complexity_Class {
     //! Worst-case exponential complexity but typically polynomial behavior.
     SIMPLEX_COMPLEXITY,
     //! Any complexity.
-    ANY_COMPLEXITY
+    ANY_COMPLEXITY;
+
+    private static native void initIDs();
+    static {
+        initIDs();
+    }
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Congruence.java b/interfaces/Java/parma_polyhedra_library/Congruence.java
index 96dea90..9af86a1 100644
--- a/interfaces/Java/parma_polyhedra_library/Congruence.java
+++ b/interfaces/Java/parma_polyhedra_library/Congruence.java
@@ -1,5 +1,5 @@
 /* Congruence Java class declaration and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -41,7 +41,7 @@ import java.io.IOException;
 public class Congruence {
 
     //! The modulus of the congruence.
-    protected Coefficient modulus;
+    protected Coefficient mod;
 
     //! The value of the left hand side of \p this.
     Linear_Expression lhs;
@@ -55,14 +55,34 @@ public class Congruence {
     */
     public Congruence(Linear_Expression e1, Linear_Expression e2,
 		      Coefficient m) {
-	modulus = new Coefficient(m);
+	mod = new Coefficient(m);
 	lhs = e1.clone();
 	rhs = e2.clone();
     }
 
+    //! Returns the left hand side of \p this.
+    public Linear_Expression left_hand_side() {
+	return lhs;
+    }
+
+    //! Returns the right hand side of \p this.
+    public Linear_Expression right_hand_side() {
+	return rhs;
+    }
+
+    //! Returns the relation symbol of \p this.
+    public Coefficient modulus() {
+	return mod;
+    }
+
     //! Returns an ascii formatted internal representation of \p this.
     public native String ascii_dump();
 
     //! Returns a string representation of \p this.
     public native String toString();
+
+    private static native void initIDs();
+    static {
+        initIDs();
+    }
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Congruence_System.java b/interfaces/Java/parma_polyhedra_library/Congruence_System.java
index 2ec1d71..b39a7e6 100644
--- a/interfaces/Java/parma_polyhedra_library/Congruence_System.java
+++ b/interfaces/Java/parma_polyhedra_library/Congruence_System.java
@@ -1,5 +1,5 @@
 /* Congruence_System Java class declaration and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -40,4 +40,9 @@ public class Congruence_System extends java.util.Vector<Congruence> {
 
     //! Returns a string representation of \p this.
     public native String toString();
+
+    private static native void initIDs();
+    static {
+        initIDs();
+    }
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Constraint.java b/interfaces/Java/parma_polyhedra_library/Constraint.java
index f803506..b5c3c72 100644
--- a/interfaces/Java/parma_polyhedra_library/Constraint.java
+++ b/interfaces/Java/parma_polyhedra_library/Constraint.java
@@ -1,5 +1,5 @@
 /* Constraint Java class declaration and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -48,7 +48,7 @@ public class Constraint {
       relation symbol.
     */
     public Constraint(Linear_Expression le1, Relation_Symbol rel_sym,
-            Linear_Expression le2) {
+                      Linear_Expression le2) {
 	lhs = le1.clone();
 	rhs = le2.clone();
 	kind = rel_sym;
@@ -74,4 +74,9 @@ public class Constraint {
 
     //! Returns a string representation of \p this.
     public native String toString();
+
+    private static native void initIDs();
+    static {
+        initIDs();
+    }
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Constraint_System.java b/interfaces/Java/parma_polyhedra_library/Constraint_System.java
index f053754..77fb8e2 100644
--- a/interfaces/Java/parma_polyhedra_library/Constraint_System.java
+++ b/interfaces/Java/parma_polyhedra_library/Constraint_System.java
@@ -1,5 +1,5 @@
 /* Constraint_System Java class declaration and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -41,4 +41,9 @@ public class Constraint_System extends java.util.Vector<Constraint> {
 
     //! Returns a string representation of \p this.
     public native String toString();
+
+    private static native void initIDs();
+    static {
+        initIDs();
+    }
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Control_Parameter_Name.java b/interfaces/Java/parma_polyhedra_library/Control_Parameter_Name.java
index d953de8..1b440b1 100644
--- a/interfaces/Java/parma_polyhedra_library/Control_Parameter_Name.java
+++ b/interfaces/Java/parma_polyhedra_library/Control_Parameter_Name.java
@@ -1,5 +1,5 @@
 /* MIP_Problem Control_Parameter_Name enum declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/Control_Parameter_Value.java b/interfaces/Java/parma_polyhedra_library/Control_Parameter_Value.java
index 222fc95..9ce60d6 100644
--- a/interfaces/Java/parma_polyhedra_library/Control_Parameter_Value.java
+++ b/interfaces/Java/parma_polyhedra_library/Control_Parameter_Value.java
@@ -1,5 +1,5 @@
 /* MIP_Problem's Control_Parameter_Value enum declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/Degenerate_Element.java b/interfaces/Java/parma_polyhedra_library/Degenerate_Element.java
index 6915321..1b260ee 100644
--- a/interfaces/Java/parma_polyhedra_library/Degenerate_Element.java
+++ b/interfaces/Java/parma_polyhedra_library/Degenerate_Element.java
@@ -1,5 +1,5 @@
 /* Degenerate_Element enum declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -28,5 +28,10 @@ public enum Degenerate_Element {
     //! The universe element, i.e., the whole vector space.
     UNIVERSE,
     //! The empty element, i.e., the empty set.
-    EMPTY
+    EMPTY;
+
+    private static native void initIDs();
+    static {
+        initIDs();
+    }
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Domain_Error_Exception.java b/interfaces/Java/parma_polyhedra_library/Domain_Error_Exception.java
index 62a33a3..fc664ad 100644
--- a/interfaces/Java/parma_polyhedra_library/Domain_Error_Exception.java
+++ b/interfaces/Java/parma_polyhedra_library/Domain_Error_Exception.java
@@ -1,5 +1,5 @@
 /* Domain_Error_Exception Java class declaration and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/Fake_Class_for_Doxygen.java b/interfaces/Java/parma_polyhedra_library/Fake_Class_for_Doxygen.java
index 6abf7ef..47ded9e 100644
--- a/interfaces/Java/parma_polyhedra_library/Fake_Class_for_Doxygen.java
+++ b/interfaces/Java/parma_polyhedra_library/Fake_Class_for_Doxygen.java
@@ -1,5 +1,5 @@
 /* Doxumentation for the Java interface.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -708,18 +708,17 @@ public class Polyhedron extends PPL_Object {
 
     /*! \brief
       Computes the \extref{Cylindrification, cylindrification} of \p this
-      with respect to the set of space dimensions \p to_be_unconstrained,
+      with respect to the set of space dimensions \p vars,
       assigning the result to \p this.
 
-      \param to_be_unconstrained
+      \param vars
       The set of space dimension that will be unconstrained.
 
       \exception Invalid_Argument_Exception
       Thrown if \p this is dimension-incompatible with one of the
-      Variable objects contained in \p to_be_removed.
+      Variable objects contained in \p vars.
     */
-    public native void
-        unconstrain_space_dimensions(Variables_Set to_be_unconstrained);
+    public native void unconstrain_space_dimensions(Variables_Set vars);
 
     /*! \brief
       Assigns to \p this the result of computing the
@@ -795,15 +794,15 @@ public class Polyhedron extends PPL_Object {
 
     //! Removes all the specified dimensions from the vector space.
     /*!
-      \param to_be_removed
+      \param vars
       The set of Variable objects corresponding to the space dimensions
       to be removed.
 
       \exception Invalid_Argument_Exception
       Thrown if \p this is dimension-incompatible with one of the
-      Variable objects contained in \p to_be_removed.
+      Variable objects contained in \p vars.
     */
-    public native void remove_space_dimensions(Variables_Set to_be_removed);
+    public native void remove_space_dimensions(Variables_Set vars);
 
     /*! \brief
       Removes the higher dimensions of the vector space so that
@@ -833,23 +832,23 @@ public class Polyhedron extends PPL_Object {
     */
     public native void expand_space_dimension(Variable var, long m);
 
-    //! Folds the space dimensions in \p to_be_folded into \p var.
+    //! Folds the space dimensions in \p vars into \p dest.
     /*!
-      \param to_be_folded
+      \param vars
       The set of Variable objects corresponding to the space dimensions
       to be folded;
 
-      \param var
+      \param dest
       The variable corresponding to the space dimension that is the
       destination of the folding operation.
 
       \exception Invalid_Argument_Exception
-      Thrown if \p this is dimension-incompatible with \p var or with
-      one of the Variable objects contained in \p to_be_folded.
-      Also thrown if \p var is contained in \p to_be_folded.
+      Thrown if \p this is dimension-incompatible with \p dest or with
+      one of the Variable objects contained in \p vars.
+      Also thrown if \p dest is contained in \p vars.
     */
-    public native void fold_space_dimensions(Variables_Set to_be_folded,
-					     Variable var);
+    public native void fold_space_dimensions(Variables_Set vars,
+					     Variable dest);
 
     /*! \brief
       Remaps the dimensions of the vector space according to
diff --git a/interfaces/Java/parma_polyhedra_library/Generator.java b/interfaces/Java/parma_polyhedra_library/Generator.java
index 19189ba..bca045d 100644
--- a/interfaces/Java/parma_polyhedra_library/Generator.java
+++ b/interfaces/Java/parma_polyhedra_library/Generator.java
@@ -1,5 +1,5 @@
 /* Generator Java class declaration and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -37,18 +37,18 @@ import javax.management.RuntimeErrorException;
   - a closure point.
 */
 public class Generator {
-    //! The denominator used if the generator is a point or a clousure point.
-    private Coefficient den;
-
     //! The generator type.
     private Generator_Type gt;
 
     //! The linear expression.
     private Linear_Expression le;
 
+    //! The divisor (valid if the generator is a point or a closure point).
+    private Coefficient div;
+
     /*! \brief
-      Builds a generator of type \p g_type, stealing the coefficients from
-      \p e.
+      Builds a generator of type \p g_type,
+      stealing the coefficients from \p e.
     */
     private Generator(Linear_Expression e, Generator_Type g_type) {
 	le = e.clone();
@@ -60,17 +60,15 @@ public class Generator {
       \exception RuntimeErrorException
       Thrown if \p d is zero.
     */
-    public static Generator closure_point(Linear_Expression e,
-					   Coefficient c) {
-        if (c.getBigInteger().equals(java.math.BigInteger.ZERO)) {
+    public static Generator closure_point(Linear_Expression e, Coefficient d) {
+        if (d.getBigInteger().equals(java.math.BigInteger.ZERO)) {
             Error cause = new Error("parma_polyhedra_library.Generator::"
-                                    + "Generator(le, c):\n"
+                                    + "Generator(e, d):\n"
 				    + "the divisor can not be zero.");
             throw new RuntimeErrorException(cause);
         }
-
         Generator g = new Generator(e, Generator_Type.CLOSURE_POINT);
-        g.den = c;
+        g.div = new Coefficient(d);
         return g;
     }
 
@@ -80,8 +78,8 @@ public class Generator {
       Thrown if the homogeneous part of \p e represents the origin of
       the vector space.
     */
-    public static Generator line(Linear_Expression le) {
-        return new Generator(le, Generator_Type.LINE);
+    public static Generator line(Linear_Expression e) {
+        return new Generator(e, Generator_Type.LINE);
     }
 
     //! Returns the point at \p e / \p d.
@@ -89,16 +87,16 @@ public class Generator {
       \exception RuntimeErrorException
       Thrown if \p d is zero.
     */
-    public static Generator point(Linear_Expression le, Coefficient d) {
+    public static Generator point(Linear_Expression e, Coefficient d) {
         if (d.getBigInteger().equals(java.math.BigInteger.ZERO)) {
 	    Error cause = new Error("parma_polyhedra_library.Generator::"
-                                    + "Generator(le, d):\n"
+                                    + "Generator(e, d):\n"
 				    + "the divisor can not be zero.");
             throw new RuntimeErrorException(cause);
         }
 
-        Generator g = new Generator(le, Generator_Type.POINT);
-        g.den = d;
+        Generator g = new Generator(e, Generator_Type.POINT);
+        g.div = new Coefficient(d);
         return g;
     }
 
@@ -108,8 +106,18 @@ public class Generator {
       Thrown if the homogeneous part of \p e represents the origin of
       the vector space.
     */
-    public static Generator ray(Linear_Expression le) {
-        return new Generator(le, Generator_Type.RAY);
+    public static Generator ray(Linear_Expression e) {
+        return new Generator(e, Generator_Type.RAY);
+    }
+
+    //! Returns the generator type.
+    public Generator_Type type() {
+        return gt;
+    }
+
+    //! Returns the linear expression in \p this.
+    public Linear_Expression linear_expression() {
+        return le;
     }
 
     //! If \p this is either a point or a closure point, returns its divisor.
@@ -120,22 +128,21 @@ public class Generator {
     public Coefficient divisor() {
         if (this.gt == Generator_Type.POINT
 	    || this.gt == Generator_Type.CLOSURE_POINT)
-	    return den;
+	    return div;
 	Error cause = new Error("parma_polyhedra_library.Generator::divisor:\n"
 				+ "this is neither a point"
 				+ " nor a closure point.");
 	throw new RuntimeErrorException(cause);
     }
 
-    //! Allows to copy the fields from \p g to \p this.
-    private void set(Generator g) {
-        this.le = g.le;
-        this.gt = g.gt;
-    }
-
     //! Returns an ascii formatted internal representation of \p this.
     public native String ascii_dump();
 
     //! Returns a string representation of \p this.
     public native String toString();
+
+    private static native void initIDs();
+    static {
+        initIDs();
+    }
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Generator_System.java b/interfaces/Java/parma_polyhedra_library/Generator_System.java
index f3c292e..e4b1a10 100644
--- a/interfaces/Java/parma_polyhedra_library/Generator_System.java
+++ b/interfaces/Java/parma_polyhedra_library/Generator_System.java
@@ -1,5 +1,5 @@
 /* Generator_System Java class declaration and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -42,4 +42,9 @@ public class Generator_System extends java.util.Vector<Generator> {
 
     //! Returns a string representation of \p this.
     public native String toString();
+
+    private static native void initIDs();
+    static {
+        initIDs();
+    }
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Generator_Type.java b/interfaces/Java/parma_polyhedra_library/Generator_Type.java
index 0b16691..e5c419b 100644
--- a/interfaces/Java/parma_polyhedra_library/Generator_Type.java
+++ b/interfaces/Java/parma_polyhedra_library/Generator_Type.java
@@ -1,5 +1,5 @@
 /* Generator_Type enum declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -32,5 +32,10 @@ public enum Generator_Type {
     //! The generator is a point.
     POINT,
     //! The generator is a closure point.
-    CLOSURE_POINT
+    CLOSURE_POINT;
+
+    private static native void initIDs();
+    static {
+        initIDs();
+    }
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Grid_Generator.java b/interfaces/Java/parma_polyhedra_library/Grid_Generator.java
index 404f4b8..9fd7b00 100644
--- a/interfaces/Java/parma_polyhedra_library/Grid_Generator.java
+++ b/interfaces/Java/parma_polyhedra_library/Grid_Generator.java
@@ -1,5 +1,5 @@
 /* Grid Generator Java class declaration and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,12 +20,11 @@ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 For the most up-to-date information see the Parma Polyhedra Library
 site: http://www.cs.unipr.it/ppl/ . */
 
-
 package parma_polyhedra_library;
 
-
 import java.io.Writer;
 import java.io.IOException;
+import javax.management.RuntimeErrorException;
 
 //! A grid line, parameter or grid point.
 /*! \ingroup PPL_Java_interface
@@ -36,6 +35,9 @@ import java.io.IOException;
 */
 public class Grid_Generator {
 
+    //! The grid generator type.
+    private Grid_Generator_Type gt;
+
     //! The linear expression.
     private Linear_Expression le;
 
@@ -43,15 +45,12 @@ public class Grid_Generator {
       The coefficient used if the grid generator is a
       parameter or a grid point a parameter.
     */
-    private Coefficient coeff;
+    private Coefficient div;
 
-    //! The grid generator type.
-    private Grid_Generator_Type gt;
-
-    private Grid_Generator(Linear_Expression e, Coefficient c,
+    private Grid_Generator(Linear_Expression e, Coefficient d,
 			   Grid_Generator_Type generator_type) {
 	le = e.clone();
-	coeff = new Coefficient(c);
+	div = new Coefficient(d);
 	gt = generator_type;
     }
 
@@ -66,30 +65,49 @@ public class Grid_Generator {
 				  Grid_Generator_Type.LINE);
     }
 
-    //! Returns the parameter of direction \p e and size \p e/d.
+    //! Returns the parameter at \p e / \p d.
     /*!
-      Both \p e and \p d are optional arguments, with default values
-      Linear_Expression::zero() and Coefficient_one(), respectively.
-
       \exception RuntimeErrorException
       Thrown if \p d is zero.
     */
     public static Grid_Generator parameter(Linear_Expression e,
-					   Coefficient c) {
-	return new Grid_Generator(e, c, Grid_Generator_Type.PARAMETER);
+					   Coefficient d) {
+	return new Grid_Generator(e, d, Grid_Generator_Type.PARAMETER);
     }
 
     //! Returns the point at \p e / \p d.
     /*!
-      Both \p e and \p d are optional arguments, with default values
-      Linear_Expression::zero() and Coefficient_one(), respectively.
-
       \exception RuntimeErrorException
       Thrown if \p d is zero.
     */
     public static Grid_Generator grid_point(Linear_Expression e,
-					    Coefficient c) {
-	return new Grid_Generator(e, c, Grid_Generator_Type.POINT);
+					    Coefficient d) {
+	return new Grid_Generator(e, d, Grid_Generator_Type.POINT);
+    }
+
+    //! Returns the generator type.
+    public Grid_Generator_Type type() {
+        return gt;
+    }
+
+    //! Returns the linear expression in \p this.
+    public Linear_Expression linear_expression() {
+        return le;
+    }
+
+    //! If \p this is either a grid point or a parameter, returns its divisor.
+    /*!
+      \exception RuntimeErrorException
+      Thrown if \p this is a line.
+    */
+    public Coefficient divisor() {
+        if (this.gt != Grid_Generator_Type.LINE)
+	    return div;
+	Error cause = new Error("parma_polyhedra_library."
+                                + "Grid_Generator::divisor:\n"
+				+ "this is neither a grid point"
+				+ " nor a parameter.");
+	throw new RuntimeErrorException(cause);
     }
 
     //! Returns an ascii formatted internal representation of \p this.
@@ -97,5 +115,10 @@ public class Grid_Generator {
 
     //! Returns a string representation of \p this.
     public native String toString();
+
+    private static native void initIDs();
+    static {
+        initIDs();
+    }
 }
 
diff --git a/interfaces/Java/parma_polyhedra_library/Grid_Generator_System.java b/interfaces/Java/parma_polyhedra_library/Grid_Generator_System.java
index c219be6..7d5a359 100644
--- a/interfaces/Java/parma_polyhedra_library/Grid_Generator_System.java
+++ b/interfaces/Java/parma_polyhedra_library/Grid_Generator_System.java
@@ -1,5 +1,5 @@
 /* Grid Generator_System Java class declaration and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -42,4 +42,9 @@ public class Grid_Generator_System extends java.util.Vector<Grid_Generator> {
 
     //! Returns a string representation of \p this.
     public native String toString();
+
+    private static native void initIDs();
+    static {
+        initIDs();
+    }
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Grid_Generator_Type.java b/interfaces/Java/parma_polyhedra_library/Grid_Generator_Type.java
index 4ccae86..ead791d 100644
--- a/interfaces/Java/parma_polyhedra_library/Grid_Generator_Type.java
+++ b/interfaces/Java/parma_polyhedra_library/Grid_Generator_Type.java
@@ -1,5 +1,5 @@
 /* Grid_Generator_Type enum declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -30,5 +30,10 @@ public enum Grid_Generator_Type {
     //! The generator is a parameter.
     PARAMETER,
     //! The generator is a point.
-    POINT
+    POINT;
+
+    private static native void initIDs();
+    static {
+        initIDs();
+    }
 }
diff --git a/interfaces/Java/parma_polyhedra_library/IO.java b/interfaces/Java/parma_polyhedra_library/IO.java
index 1b83922..fad00e2 100644
--- a/interfaces/Java/parma_polyhedra_library/IO.java
+++ b/interfaces/Java/parma_polyhedra_library/IO.java
@@ -1,5 +1,5 @@
 /* IO Java class declaration and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/Invalid_Argument_Exception.java b/interfaces/Java/parma_polyhedra_library/Invalid_Argument_Exception.java
index b11d557..2142f4f 100644
--- a/interfaces/Java/parma_polyhedra_library/Invalid_Argument_Exception.java
+++ b/interfaces/Java/parma_polyhedra_library/Invalid_Argument_Exception.java
@@ -1,5 +1,5 @@
 /* Invalid_Argument_Exception Java class declaration and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/Length_Error_Exception.java b/interfaces/Java/parma_polyhedra_library/Length_Error_Exception.java
index 982dc43..e4c885d 100644
--- a/interfaces/Java/parma_polyhedra_library/Length_Error_Exception.java
+++ b/interfaces/Java/parma_polyhedra_library/Length_Error_Exception.java
@@ -1,5 +1,5 @@
 /* Length_Error_Exception Java class declaration and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/Linear_Expression.java b/interfaces/Java/parma_polyhedra_library/Linear_Expression.java
index 4d0e158..24f3ea9 100644
--- a/interfaces/Java/parma_polyhedra_library/Linear_Expression.java
+++ b/interfaces/Java/parma_polyhedra_library/Linear_Expression.java
@@ -1,5 +1,5 @@
 /* Linear_Expression Java declaration and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -62,4 +62,17 @@ public abstract class Linear_Expression implements Cloneable {
 
     //! Returns a string representation of \p this.
     public native String toString();
+
+    //! Returns <CODE>true</CODE> if and only if \p *this is \f$0\f$.
+    public native boolean is_zero();
+
+    /*! \brief Returns <CODE>true</CODE> if and only if all the homogeneous
+        terms of \p *this are \f$0\f$.
+    */
+    public native boolean all_homogeneous_terms_are_zero();
+
+    private static native void initIDs();
+    static {
+        initIDs();
+    }
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficient.java b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficient.java
index 17f7707..ce77615 100644
--- a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficient.java
+++ b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficient.java
@@ -1,5 +1,5 @@
 /* Linear_Expression_Coefficient class definition and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -42,7 +42,12 @@ public class Linear_Expression_Coefficient
 
     //! Builds a copy of this.
     public Linear_Expression_Coefficient clone() {
-	return new Linear_Expression_Coefficient(new Coefficient(coeff));
+	return new Linear_Expression_Coefficient(coeff);
+    }
+
+    private static native void initIDs();
+    static {
+        initIDs();
     }
 }
 
diff --git a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Difference.java b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Difference.java
index 8127e88..63eea23 100644
--- a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Difference.java
+++ b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Difference.java
@@ -1,5 +1,5 @@
 /* Linear_Expression_Difference class definition and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -55,6 +55,11 @@ public class Linear_Expression_Difference
 
     //! Builds a copy of this.
     public Linear_Expression_Difference clone() {
-	return new Linear_Expression_Difference(lhs.clone(), rhs.clone());
+	return new Linear_Expression_Difference(lhs, rhs);
+    }
+
+    private static native void initIDs();
+    static {
+        initIDs();
     }
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java
index 9741d9c..667c0a7 100644
--- a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java
+++ b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java
@@ -1,5 +1,5 @@
 /* Linear_Expression_Sum class definition and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -51,6 +51,11 @@ public class Linear_Expression_Sum
 
     //! Builds a copy of this.
     public Linear_Expression_Sum clone() {
-	return new Linear_Expression_Sum(lhs.clone(), rhs.clone());
+	return new Linear_Expression_Sum(lhs, rhs);
+    }
+
+    private static native void initIDs();
+    static {
+        initIDs();
     }
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.java b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.java
index 81e4467..3733b68 100644
--- a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.java
+++ b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.java
@@ -1,5 +1,5 @@
 /* Linear_Expression_Times class definition and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -27,31 +27,47 @@ package parma_polyhedra_library;
 public class Linear_Expression_Times
     extends Linear_Expression {
 
-    //! The value of the left hand side of \p this.
-    protected Linear_Expression_Coefficient lhs;
+    //! The value of the coefficient.
+    protected Coefficient coeff;
 
-    //! The value of the left hand side of \p this.
-    protected Linear_Expression rhs;
+    //! The value of the inner linear expression.
+    protected Linear_Expression lin_expr;
+
+    //! Builds an object cloning the input arguments.
+    public Linear_Expression_Times(Coefficient c, Variable v) {
+	coeff = new Coefficient(c);
+	lin_expr = new Linear_Expression_Variable(v);
+    }
+
+    //! Builds an object cloning the input arguments.
+    public Linear_Expression_Times(Coefficient c, Linear_Expression l) {
+	coeff = new Coefficient(c);
+	lin_expr = l.clone();
+    }
 
     //! Builds an object cloning the input arguments.
     public Linear_Expression_Times(Linear_Expression l, Coefficient c) {
-	lhs = new Linear_Expression_Coefficient(new Coefficient(c));
-	rhs = l.clone();
+	coeff = new Coefficient(c);
+	lin_expr = l.clone();
     }
 
-    //! Returns the left hand side of \p this.
-   public Linear_Expression left_hand_side() {
-	return lhs;
+    //! Returns the coefficient of \p this.
+    public Coefficient coefficient() {
+	return coeff;
     }
 
-    //! Returns the right hand side of \p this.
-    public Linear_Expression right_hand_side() {
-	return rhs;
+    //! Returns the linear expression subobject of \p this.
+    public Linear_Expression linear_expression() {
+	return lin_expr;
     }
 
     //! Builds a copy of this.
     public Linear_Expression_Times clone() {
-	return new Linear_Expression_Times(rhs.clone(),
-					   new Coefficient(lhs.argument()));
+	return new Linear_Expression_Times(coeff, lin_expr);
+    }
+
+    private static native void initIDs();
+    static {
+        initIDs();
     }
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Unary_Minus.java b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Unary_Minus.java
index e384265..ab4a738 100644
--- a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Unary_Minus.java
+++ b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Unary_Minus.java
@@ -1,5 +1,5 @@
 /* Linear_Expression_Unary_Minus class definition and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -42,8 +42,12 @@ public class Linear_Expression_Unary_Minus
 
     //! Builds a copy of this.
     public Linear_Expression_Unary_Minus clone() {
-        return new Linear_Expression_Unary_Minus(arg.clone());
+        return new Linear_Expression_Unary_Minus(arg);
     }
 
+    private static native void initIDs();
+    static {
+        initIDs();
+    }
 }
 
diff --git a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.java b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.java
index 63c1d1b..a0d21e6 100644
--- a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.java
+++ b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.java
@@ -1,5 +1,5 @@
 /* Linear_Expression_Variable class definition and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -41,7 +41,16 @@ extends Linear_Expression {
 
     //! Builds a copy of this.
     public Linear_Expression_Variable clone() {
-	return new Linear_Expression_Variable(new Variable(arg.id()));
+	return new Linear_Expression_Variable(arg);
+    }
+
+    private int var_id() {
+        return arg.id();
+    }
+
+    private static native void initIDs();
+    static {
+        initIDs();
     }
 }
 
diff --git a/interfaces/Java/parma_polyhedra_library/Logic_Error_Exception.java b/interfaces/Java/parma_polyhedra_library/Logic_Error_Exception.java
index b2dcece..314fa55 100644
--- a/interfaces/Java/parma_polyhedra_library/Logic_Error_Exception.java
+++ b/interfaces/Java/parma_polyhedra_library/Logic_Error_Exception.java
@@ -1,5 +1,5 @@
 /* Logic_Error_Exception Java class declaration and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/MIP_Problem.java b/interfaces/Java/parma_polyhedra_library/MIP_Problem.java
index 80e6dcc..2bd94e3 100644
--- a/interfaces/Java/parma_polyhedra_library/MIP_Problem.java
+++ b/interfaces/Java/parma_polyhedra_library/MIP_Problem.java
@@ -1,5 +1,5 @@
 /* MIP_Problem Java class declaration and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/MIP_Problem_Status.java b/interfaces/Java/parma_polyhedra_library/MIP_Problem_Status.java
index 59bf138..65aeb6c 100644
--- a/interfaces/Java/parma_polyhedra_library/MIP_Problem_Status.java
+++ b/interfaces/Java/parma_polyhedra_library/MIP_Problem_Status.java
@@ -1,5 +1,5 @@
 /* MIP_Problem_Status enum declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -30,5 +30,10 @@ public enum MIP_Problem_Status {
     //! The problem is unbounded.
     UNBOUNDED_MIP_PROBLEM,
     //! The problem has an optimal solution.
-    OPTIMIZED_MIP_PROBLEM
+    OPTIMIZED_MIP_PROBLEM;
+
+    private static native void initIDs();
+    static {
+        initIDs();
+    }
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Makefile.am b/interfaces/Java/parma_polyhedra_library/Makefile.am
index 7153d7c..18b990c 100644
--- a/interfaces/Java/parma_polyhedra_library/Makefile.am
+++ b/interfaces/Java/parma_polyhedra_library/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -33,35 +33,110 @@ ppl_interface_generator_java_classes_java.m4 \
 ppl_interface_generator_java_classes_java_code.m4
 
 fixed_java_cxx_headers = \
+parma_polyhedra_library.Artificial_Parameter \
+parma_polyhedra_library.Artificial_Parameter_Sequence \
+parma_polyhedra_library.Bounded_Integer_Type_Overflow \
+parma_polyhedra_library.Bounded_Integer_Type_Representation \
+parma_polyhedra_library.Bounded_Integer_Type_Width \
+parma_polyhedra_library.By_Reference \
+parma_polyhedra_library.Coefficient \
+parma_polyhedra_library.Complexity_Class \
 parma_polyhedra_library.Congruence \
 parma_polyhedra_library.Congruence_System \
 parma_polyhedra_library.Constraint \
 parma_polyhedra_library.Constraint_System \
+parma_polyhedra_library.Degenerate_Element \
 parma_polyhedra_library.Generator \
 parma_polyhedra_library.Generator_System \
+parma_polyhedra_library.Generator_Type \
 parma_polyhedra_library.Grid_Generator \
 parma_polyhedra_library.Grid_Generator_System \
+parma_polyhedra_library.Grid_Generator_Type \
 parma_polyhedra_library.IO \
 parma_polyhedra_library.Linear_Expression \
+parma_polyhedra_library.Linear_Expression_Coefficient \
+parma_polyhedra_library.Linear_Expression_Difference \
+parma_polyhedra_library.Linear_Expression_Sum \
+parma_polyhedra_library.Linear_Expression_Times \
+parma_polyhedra_library.Linear_Expression_Unary_Minus \
+parma_polyhedra_library.Linear_Expression_Variable \
 parma_polyhedra_library.MIP_Problem \
-parma_polyhedra_library.Parma_Polyhedra_Library
+parma_polyhedra_library.MIP_Problem_Status \
+parma_polyhedra_library.Optimization_Mode \
+parma_polyhedra_library.Pair \
+parma_polyhedra_library.Parma_Polyhedra_Library \
+parma_polyhedra_library.Partial_Function \
+parma_polyhedra_library.PIP_Problem \
+parma_polyhedra_library.PIP_Problem_Control_Parameter_Name \
+parma_polyhedra_library.PIP_Problem_Control_Parameter_Value \
+parma_polyhedra_library.PIP_Problem_Status \
+parma_polyhedra_library.PIP_Decision_Node \
+parma_polyhedra_library.PIP_Solution_Node \
+parma_polyhedra_library.PIP_Tree_Node \
+parma_polyhedra_library.Poly_Con_Relation \
+parma_polyhedra_library.Poly_Gen_Relation \
+parma_polyhedra_library.PPL_Object \
+parma_polyhedra_library.Relation_Symbol \
+parma_polyhedra_library.Termination \
+parma_polyhedra_library.Variable \
+parma_polyhedra_library.Variables_Set
 
 fixed_java_cxx_headers_sources = \
+parma_polyhedra_library_Artificial_Parameter.h \
+parma_polyhedra_library_Artificial_Parameter_Sequence.h \
+parma_polyhedra_library_Bounded_Integer_Type_Overflow.h \
+parma_polyhedra_library_Bounded_Integer_Type_Representation.h \
+parma_polyhedra_library_Bounded_Integer_Type_Width.h \
+parma_polyhedra_library_By_Reference.h \
+parma_polyhedra_library_Coefficient.h \
+parma_polyhedra_library_Complexity_Class.h \
 parma_polyhedra_library_Congruence.h \
 parma_polyhedra_library_Congruence_System.h \
 parma_polyhedra_library_Constraint.h \
 parma_polyhedra_library_Constraint_System.h \
+parma_polyhedra_library_Degenerate_Element.h \
 parma_polyhedra_library_Generator.h \
 parma_polyhedra_library_Generator_System.h \
+parma_polyhedra_library_Generator_Type.h \
 parma_polyhedra_library_Grid_Generator.h \
 parma_polyhedra_library_Grid_Generator_System.h \
+parma_polyhedra_library_Grid_Generator_Type.h \
 parma_polyhedra_library_IO.h \
 parma_polyhedra_library_Linear_Expression.h \
+parma_polyhedra_library_Linear_Expression_Coefficient.h \
+parma_polyhedra_library_Linear_Expression_Difference.h \
+parma_polyhedra_library_Linear_Expression_Sum.h \
+parma_polyhedra_library_Linear_Expression_Times.h \
+parma_polyhedra_library_Linear_Expression_Unary_Minus.h \
+parma_polyhedra_library_Linear_Expression_Variable.h \
 parma_polyhedra_library_MIP_Problem.h \
-parma_polyhedra_library_Parma_Polyhedra_Library.h
+parma_polyhedra_library_MIP_Problem_Status.h \
+parma_polyhedra_library_Optimization_Mode.h \
+parma_polyhedra_library_Pair.h \
+parma_polyhedra_library_Parma_Polyhedra_Library.h \
+parma_polyhedra_library_Partial_Function.h \
+parma_polyhedra_library_PIP_Problem.h \
+parma_polyhedra_library_PIP_Problem_Control_Parameter_Name.h \
+parma_polyhedra_library_PIP_Problem_Control_Parameter_Value.h \
+parma_polyhedra_library_PIP_Problem_Status.h \
+parma_polyhedra_library_PIP_Decision_Node.h \
+parma_polyhedra_library_PIP_Solution_Node.h \
+parma_polyhedra_library_PIP_Tree_Node.h \
+parma_polyhedra_library_Poly_Con_Relation.h \
+parma_polyhedra_library_Poly_Gen_Relation.h \
+parma_polyhedra_library_PPL_Object.h \
+parma_polyhedra_library_Relation_Symbol.h \
+parma_polyhedra_library_Termination.h \
+parma_polyhedra_library_Variable.h \
+parma_polyhedra_library_Variables_Set.h
 
 # NOTE: do _NOT_ add Fake_Class_for_Doxygen.java to this list.
 fixed_java_sources = \
+$(srcdir)/Artificial_Parameter.java \
+$(srcdir)/Artificial_Parameter_Sequence.java \
+$(srcdir)/Bounded_Integer_Type_Overflow.java \
+$(srcdir)/Bounded_Integer_Type_Representation.java \
+$(srcdir)/Bounded_Integer_Type_Width.java \
 $(srcdir)/By_Reference.java \
 $(srcdir)/Coefficient.java \
 $(srcdir)/Complexity_Class.java \
@@ -97,17 +172,26 @@ $(srcdir)/Overflow_Error_Exception.java \
 $(srcdir)/Pair.java \
 $(srcdir)/Parma_Polyhedra_Library.java \
 $(srcdir)/Partial_Function.java \
+$(srcdir)/PIP_Problem.java \
+$(srcdir)/PIP_Problem_Control_Parameter_Name.java \
+$(srcdir)/PIP_Problem_Control_Parameter_Value.java \
+$(srcdir)/PIP_Problem_Status.java \
+$(srcdir)/PIP_Decision_Node.java \
+$(srcdir)/PIP_Solution_Node.java \
+$(srcdir)/PIP_Tree_Node.java \
 $(srcdir)/Poly_Con_Relation.java \
 $(srcdir)/Poly_Gen_Relation.java \
 $(srcdir)/PPL_Object.java \
 $(srcdir)/Relation_Symbol.java \
+$(srcdir)/Timeout_Exception.java \
 $(srcdir)/Variable.java \
 $(srcdir)/Variables_Set.java
 
 # NOTE: do _NOT_ add Fake_Class_for_Doxygen.java to this list.
 all_java_sources = \
 $(fixed_java_sources) \
-$(required_instantiations_java_sources)
+$(required_instantiations_java_sources) \
+Termination.java
 
 # NOTE: Fake_Class_for_Doxygen.java should be added here.
 EXTRA_DIST = \
@@ -136,8 +220,8 @@ java_classes.stamp: $(all_java_sources)
 
 java_cxx_headers.stamp: java_classes.stamp
 	$(JAVAH) -classpath .. \
-		$(fixed_java_cxx_headers) \
-		$(required_instantiations_java_cxx_headers)
+                 $(fixed_java_cxx_headers) \
+                 $(required_instantiations_java_cxx_headers)
 	echo timestamp >$@
 
 source_generation.stamp: $(interface_generator_dependencies)
@@ -145,13 +229,15 @@ source_generation.stamp: $(interface_generator_dependencies)
 		-I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../.. \
 		$(srcdir)/ppl_interface_generator_java_classes_java.m4 \
 			> java_blob
-	$(top_srcdir)/utils/cm_cleaner.sh < java_blob
-	$(top_srcdir)/utils/cm_splitter.sh < java_blob
+	$(top_srcdir)/utils/cm_cleaner.sh ./java_blob
+	$(top_srcdir)/utils/cm_splitter.sh ./java_blob
 	rm -f java_blob
 	echo timestamp >$@
 
 $(required_instantiations_java_sources): source_generation.stamp
 
+Termination.java: source_generation.stamp
+
 CLEANFILES = \
 $(required_instantiations_java_sources) \
 $(required_instantiations_java_classes) \
@@ -160,14 +246,19 @@ $(fixed_java_cxx_headers_sources) \
 java_classes.stamp \
 java_cxx_headers.stamp \
 source_generation.stamp \
+Termination.java \
+Artificial_Parameter.class \
+Artificial_Parameter_Sequence.class \
+Bounded_Integer_Type_Overflow.class \
+Bounded_Integer_Type_Representation.class \
+Bounded_Integer_Type_Width.class \
 By_Reference.class \
 Coefficient.class \
-Congruence.class \
 Complexity_Class.class \
+Congruence.class \
 Congruence_System.class \
 Constraint.class \
 Constraint_System.class \
-Constraint_System.class \
 Control_Parameter_Name.class \
 Control_Parameter_Value.class \
 Degenerate_Element.class \
@@ -193,13 +284,22 @@ MIP_Problem.class \
 MIP_Problem_Status.class \
 Optimization_Mode.class \
 Overflow_Error_Exception.class \
-PPL_Object.class \
-Parma_Polyhedra_Library.class \
 Pair.class \
+Parma_Polyhedra_Library.class \
 Partial_Function.class \
+PIP_Problem.class \
+PIP_Problem_Control_Parameter_Name.class \
+PIP_Problem_Control_Parameter_Value.class \
+PIP_Problem_Status.class \
+PIP_Decision_Node.class \
+PIP_Solution_Node.class \
+PIP_Tree_Node.class \
 Poly_Con_Relation.class \
 Poly_Gen_Relation.class \
+PPL_Object.class \
 Relation_Symbol.class \
+Termination.class \
+Timeout_Exception.class \
 Variable.class \
 Variables_Set.class
 
diff --git a/interfaces/Java/parma_polyhedra_library/Makefile.in b/interfaces/Java/parma_polyhedra_library/Makefile.in
index eeb223f..1d91dfc 100644
--- a/interfaces/Java/parma_polyhedra_library/Makefile.in
+++ b/interfaces/Java/parma_polyhedra_library/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -37,8 +38,9 @@
 # site: http://www.cs.unipr.it/ppl/ .
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -62,6 +64,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -83,17 +86,25 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -140,6 +151,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -157,8 +170,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -166,6 +189,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -182,12 +206,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -230,11 +257,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -268,6 +293,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -275,42 +301,118 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 JAVAROOT = ../
 interface_generator_files = \
 ppl_interface_generator_java_classes_java.m4 \
 ppl_interface_generator_java_classes_java_code.m4
 
 fixed_java_cxx_headers = \
+parma_polyhedra_library.Artificial_Parameter \
+parma_polyhedra_library.Artificial_Parameter_Sequence \
+parma_polyhedra_library.Bounded_Integer_Type_Overflow \
+parma_polyhedra_library.Bounded_Integer_Type_Representation \
+parma_polyhedra_library.Bounded_Integer_Type_Width \
+parma_polyhedra_library.By_Reference \
+parma_polyhedra_library.Coefficient \
+parma_polyhedra_library.Complexity_Class \
 parma_polyhedra_library.Congruence \
 parma_polyhedra_library.Congruence_System \
 parma_polyhedra_library.Constraint \
 parma_polyhedra_library.Constraint_System \
+parma_polyhedra_library.Degenerate_Element \
 parma_polyhedra_library.Generator \
 parma_polyhedra_library.Generator_System \
+parma_polyhedra_library.Generator_Type \
 parma_polyhedra_library.Grid_Generator \
 parma_polyhedra_library.Grid_Generator_System \
+parma_polyhedra_library.Grid_Generator_Type \
 parma_polyhedra_library.IO \
 parma_polyhedra_library.Linear_Expression \
+parma_polyhedra_library.Linear_Expression_Coefficient \
+parma_polyhedra_library.Linear_Expression_Difference \
+parma_polyhedra_library.Linear_Expression_Sum \
+parma_polyhedra_library.Linear_Expression_Times \
+parma_polyhedra_library.Linear_Expression_Unary_Minus \
+parma_polyhedra_library.Linear_Expression_Variable \
 parma_polyhedra_library.MIP_Problem \
-parma_polyhedra_library.Parma_Polyhedra_Library
+parma_polyhedra_library.MIP_Problem_Status \
+parma_polyhedra_library.Optimization_Mode \
+parma_polyhedra_library.Pair \
+parma_polyhedra_library.Parma_Polyhedra_Library \
+parma_polyhedra_library.Partial_Function \
+parma_polyhedra_library.PIP_Problem \
+parma_polyhedra_library.PIP_Problem_Control_Parameter_Name \
+parma_polyhedra_library.PIP_Problem_Control_Parameter_Value \
+parma_polyhedra_library.PIP_Problem_Status \
+parma_polyhedra_library.PIP_Decision_Node \
+parma_polyhedra_library.PIP_Solution_Node \
+parma_polyhedra_library.PIP_Tree_Node \
+parma_polyhedra_library.Poly_Con_Relation \
+parma_polyhedra_library.Poly_Gen_Relation \
+parma_polyhedra_library.PPL_Object \
+parma_polyhedra_library.Relation_Symbol \
+parma_polyhedra_library.Termination \
+parma_polyhedra_library.Variable \
+parma_polyhedra_library.Variables_Set
 
 fixed_java_cxx_headers_sources = \
+parma_polyhedra_library_Artificial_Parameter.h \
+parma_polyhedra_library_Artificial_Parameter_Sequence.h \
+parma_polyhedra_library_Bounded_Integer_Type_Overflow.h \
+parma_polyhedra_library_Bounded_Integer_Type_Representation.h \
+parma_polyhedra_library_Bounded_Integer_Type_Width.h \
+parma_polyhedra_library_By_Reference.h \
+parma_polyhedra_library_Coefficient.h \
+parma_polyhedra_library_Complexity_Class.h \
 parma_polyhedra_library_Congruence.h \
 parma_polyhedra_library_Congruence_System.h \
 parma_polyhedra_library_Constraint.h \
 parma_polyhedra_library_Constraint_System.h \
+parma_polyhedra_library_Degenerate_Element.h \
 parma_polyhedra_library_Generator.h \
 parma_polyhedra_library_Generator_System.h \
+parma_polyhedra_library_Generator_Type.h \
 parma_polyhedra_library_Grid_Generator.h \
 parma_polyhedra_library_Grid_Generator_System.h \
+parma_polyhedra_library_Grid_Generator_Type.h \
 parma_polyhedra_library_IO.h \
 parma_polyhedra_library_Linear_Expression.h \
+parma_polyhedra_library_Linear_Expression_Coefficient.h \
+parma_polyhedra_library_Linear_Expression_Difference.h \
+parma_polyhedra_library_Linear_Expression_Sum.h \
+parma_polyhedra_library_Linear_Expression_Times.h \
+parma_polyhedra_library_Linear_Expression_Unary_Minus.h \
+parma_polyhedra_library_Linear_Expression_Variable.h \
 parma_polyhedra_library_MIP_Problem.h \
-parma_polyhedra_library_Parma_Polyhedra_Library.h
+parma_polyhedra_library_MIP_Problem_Status.h \
+parma_polyhedra_library_Optimization_Mode.h \
+parma_polyhedra_library_Pair.h \
+parma_polyhedra_library_Parma_Polyhedra_Library.h \
+parma_polyhedra_library_Partial_Function.h \
+parma_polyhedra_library_PIP_Problem.h \
+parma_polyhedra_library_PIP_Problem_Control_Parameter_Name.h \
+parma_polyhedra_library_PIP_Problem_Control_Parameter_Value.h \
+parma_polyhedra_library_PIP_Problem_Status.h \
+parma_polyhedra_library_PIP_Decision_Node.h \
+parma_polyhedra_library_PIP_Solution_Node.h \
+parma_polyhedra_library_PIP_Tree_Node.h \
+parma_polyhedra_library_Poly_Con_Relation.h \
+parma_polyhedra_library_Poly_Gen_Relation.h \
+parma_polyhedra_library_PPL_Object.h \
+parma_polyhedra_library_Relation_Symbol.h \
+parma_polyhedra_library_Termination.h \
+parma_polyhedra_library_Variable.h \
+parma_polyhedra_library_Variables_Set.h
 
 
 # NOTE: do _NOT_ add Fake_Class_for_Doxygen.java to this list.
 fixed_java_sources = \
+$(srcdir)/Artificial_Parameter.java \
+$(srcdir)/Artificial_Parameter_Sequence.java \
+$(srcdir)/Bounded_Integer_Type_Overflow.java \
+$(srcdir)/Bounded_Integer_Type_Representation.java \
+$(srcdir)/Bounded_Integer_Type_Width.java \
 $(srcdir)/By_Reference.java \
 $(srcdir)/Coefficient.java \
 $(srcdir)/Complexity_Class.java \
@@ -346,10 +448,18 @@ $(srcdir)/Overflow_Error_Exception.java \
 $(srcdir)/Pair.java \
 $(srcdir)/Parma_Polyhedra_Library.java \
 $(srcdir)/Partial_Function.java \
+$(srcdir)/PIP_Problem.java \
+$(srcdir)/PIP_Problem_Control_Parameter_Name.java \
+$(srcdir)/PIP_Problem_Control_Parameter_Value.java \
+$(srcdir)/PIP_Problem_Status.java \
+$(srcdir)/PIP_Decision_Node.java \
+$(srcdir)/PIP_Solution_Node.java \
+$(srcdir)/PIP_Tree_Node.java \
 $(srcdir)/Poly_Con_Relation.java \
 $(srcdir)/Poly_Gen_Relation.java \
 $(srcdir)/PPL_Object.java \
 $(srcdir)/Relation_Symbol.java \
+$(srcdir)/Timeout_Exception.java \
 $(srcdir)/Variable.java \
 $(srcdir)/Variables_Set.java
 
@@ -357,7 +467,8 @@ $(srcdir)/Variables_Set.java
 # NOTE: do _NOT_ add Fake_Class_for_Doxygen.java to this list.
 all_java_sources = \
 $(fixed_java_sources) \
-$(required_instantiations_java_sources)
+$(required_instantiations_java_sources) \
+Termination.java
 
 
 # NOTE: Fake_Class_for_Doxygen.java should be added here.
@@ -387,14 +498,19 @@ $(fixed_java_cxx_headers_sources) \
 java_classes.stamp \
 java_cxx_headers.stamp \
 source_generation.stamp \
+Termination.java \
+Artificial_Parameter.class \
+Artificial_Parameter_Sequence.class \
+Bounded_Integer_Type_Overflow.class \
+Bounded_Integer_Type_Representation.class \
+Bounded_Integer_Type_Width.class \
 By_Reference.class \
 Coefficient.class \
-Congruence.class \
 Complexity_Class.class \
+Congruence.class \
 Congruence_System.class \
 Constraint.class \
 Constraint_System.class \
-Constraint_System.class \
 Control_Parameter_Name.class \
 Control_Parameter_Value.class \
 Degenerate_Element.class \
@@ -420,13 +536,22 @@ MIP_Problem.class \
 MIP_Problem_Status.class \
 Optimization_Mode.class \
 Overflow_Error_Exception.class \
-PPL_Object.class \
-Parma_Polyhedra_Library.class \
 Pair.class \
+Parma_Polyhedra_Library.class \
 Partial_Function.class \
+PIP_Problem.class \
+PIP_Problem_Control_Parameter_Name.class \
+PIP_Problem_Control_Parameter_Value.class \
+PIP_Problem_Status.class \
+PIP_Decision_Node.class \
+PIP_Solution_Node.class \
+PIP_Tree_Node.class \
 Poly_Con_Relation.class \
 Poly_Gen_Relation.class \
+PPL_Object.class \
 Relation_Symbol.class \
+Termination.class \
+Timeout_Exception.class \
 Variable.class \
 Variables_Set.class
 
@@ -438,14 +563,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  interfaces/Java/parma_polyhedra_library/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  interfaces/Java/parma_polyhedra_library/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign interfaces/Java/parma_polyhedra_library/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign interfaces/Java/parma_polyhedra_library/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -463,6 +588,7 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -492,13 +618,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -529,6 +659,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -548,6 +679,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -556,18 +689,28 @@ install-data-am:
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am:
 
 install-html: install-html-am
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-am
 
+install-pdf-am:
+
 install-ps: install-ps-am
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -588,7 +731,7 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: install-am install-strip
+.MAKE: all check install install-am install-strip
 
 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
 	distclean distclean-generic distclean-libtool distdir dvi \
@@ -610,8 +753,8 @@ java_classes.stamp: $(all_java_sources)
 
 java_cxx_headers.stamp: java_classes.stamp
 	$(JAVAH) -classpath .. \
-		$(fixed_java_cxx_headers) \
-		$(required_instantiations_java_cxx_headers)
+                 $(fixed_java_cxx_headers) \
+                 $(required_instantiations_java_cxx_headers)
 	echo timestamp >$@
 
 source_generation.stamp: $(interface_generator_dependencies)
@@ -619,15 +762,18 @@ source_generation.stamp: $(interface_generator_dependencies)
 		-I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../.. \
 		$(srcdir)/ppl_interface_generator_java_classes_java.m4 \
 			> java_blob
-	$(top_srcdir)/utils/cm_cleaner.sh < java_blob
-	$(top_srcdir)/utils/cm_splitter.sh < java_blob
+	$(top_srcdir)/utils/cm_cleaner.sh ./java_blob
+	$(top_srcdir)/utils/cm_splitter.sh ./java_blob
 	rm -f java_blob
 	echo timestamp >$@
 
 $(required_instantiations_java_sources): source_generation.stamp
 
+Termination.java: source_generation.stamp
+
 $(top_builddir)/interfaces/ppl_interface_instantiations.m4:
 	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/interfaces ppl_interface_instantiations.m4
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/interfaces/Java/parma_polyhedra_library/Optimization_Mode.java b/interfaces/Java/parma_polyhedra_library/Optimization_Mode.java
index 9c58eea..46f0b3f 100644
--- a/interfaces/Java/parma_polyhedra_library/Optimization_Mode.java
+++ b/interfaces/Java/parma_polyhedra_library/Optimization_Mode.java
@@ -1,5 +1,5 @@
 /* Optimization_Mode enum declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -28,5 +28,10 @@ public enum Optimization_Mode {
     //! Minimization is requested.
     MINIMIZATION,
     //! Maximization is requested.
-    MAXIMIZATION
+    MAXIMIZATION;
+
+    private static native void initIDs();
+    static {
+        initIDs();
+    }
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Overflow_Error_Exception.java b/interfaces/Java/parma_polyhedra_library/Overflow_Error_Exception.java
index 0e5cde3..d14fd12 100644
--- a/interfaces/Java/parma_polyhedra_library/Overflow_Error_Exception.java
+++ b/interfaces/Java/parma_polyhedra_library/Overflow_Error_Exception.java
@@ -1,5 +1,5 @@
 /* Overflow_Error_Exception Java class declaration and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/PIP_Decision_Node.java b/interfaces/Java/parma_polyhedra_library/PIP_Decision_Node.java
new file mode 100644
index 0000000..3af54da
--- /dev/null
+++ b/interfaces/Java/parma_polyhedra_library/PIP_Decision_Node.java
@@ -0,0 +1,37 @@
+/* PIP_Decision_Node Java class declaration and implementation.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+
+package parma_polyhedra_library;
+
+import java.io.Writer;
+import java.io.IOException;
+
+//! An internal node of the PIP solution tree.
+public class PIP_Decision_Node extends PIP_Tree_Node {
+
+    /*! \brief
+      Returns the true branch (if \p branch is true)
+      or the false branch (if \p branch is false) of \p this.
+    */
+    public native PIP_Tree_Node child_node(boolean branch);
+}
diff --git a/interfaces/Java/parma_polyhedra_library/PIP_Problem.java b/interfaces/Java/parma_polyhedra_library/PIP_Problem.java
new file mode 100644
index 0000000..6494d0c
--- /dev/null
+++ b/interfaces/Java/parma_polyhedra_library/PIP_Problem.java
@@ -0,0 +1,325 @@
+/* PIP_Problem Java class declaration and implementation.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+
+package parma_polyhedra_library;
+
+import java.io.Writer;
+import java.io.IOException;
+
+//! A Parametric Integer Programming problem.
+/*! \ingroup PPL_Java_interface
+  An object of this class encodes a parametric integer (linear)
+  programming problem. The PIP problem is specified by providing:
+   - the dimension of the vector space;
+   - the subset of those dimensions of the vector space that are
+     interpreted as integer parameters (the other space dimensions
+     are interpreted as non-parameter integer variables);
+   - a finite set of linear equality and (strict or non-strict)
+     inequality constraints involving variables and/or parameters;
+     these constraints are used to define:
+       - the <EM>feasible region</EM>, if they involve one or more
+         problem variable (and maybe some parameters);
+       - the <EM>initial context</EM>, if they only involve the
+         parameters;
+   - optionally, the so-called <EM>big parameter</EM>,
+     i.e., a problem parameter to be considered arbitrarily big.
+
+  Note that all problem variables and problem parameters are assumed
+  to take non-negative integer values, so that there is no need
+  to specify non-negativity constraints.
+
+  The class provides support for the (incremental) solution of the
+  PIP problem based on variations of the revised simplex method and
+  on Gomory cut generation techniques.
+
+  The solution for a PIP problem is the lexicographic minimum of the
+  integer points of the feasible region, expressed in terms of the
+  parameters. As the problem to be solved only involves non-negative
+  variables and parameters, the problem will always be either unfeasible
+  or optimizable.
+
+  As the feasibility and the solution value of a PIP problem depend on the
+  values of the parameters, the solution is a binary decision tree,
+  dividing the context parameter set into subsets.
+  The tree nodes are of two kinds:
+   - \e Decision nodes.
+     These are internal tree nodes encoding one or more linear tests
+     on the parameters; if all the tests are satisfied, then the solution
+     is the node's \e true child; otherwise, the solution is the node's
+     \e false child;
+   - \e Solution nodes.
+     These are leaf nodes in the tree, encoding the solution of the problem
+     in the current context subset, where each variable is defined in terms
+     of a linear expression of the parameters.
+     Solution nodes also optionally embed a set of parameter constraints:
+     if all these constraints are satisfied, the solution is described by
+     the node, otherwise the problem has no solution.
+
+  It may happen that a decision node has no \e false child. This means
+  that there is no solution if at least one of the corresponding
+  constraints is not satisfied. Decision nodes having two or more linear
+  tests on the parameters cannot have a \e false child. Decision nodes
+  always have a \e true child.
+
+  Both kinds of tree nodes may also contain the definition of extra
+  parameters which are artificially introduced by the solver to enforce
+  an integral solution. Such artificial parameters are defined by
+  the integer division of a linear expression on the parameters
+  by an integer coefficient.
+
+  By exploiting the incremental nature of the solver, it is possible
+  to reuse part of the computational work already done when solving
+  variants of a given PIP_Problem: currently, incremental resolution
+  supports the addition of space dimensions, the addition of parameters
+  and the addition of constraints.
+*/
+public class PIP_Problem extends PPL_Object {
+
+  //! Builds a trivial PIP problem.
+  /*!
+    A trivial PIP problem requires to compute the lexicographic minimum
+    on a vector space under no constraints and with no parameters:
+    due to the implicit non-negativity constraints, the origin of the
+    vector space is an optimal solution.
+
+    \param dim
+    The dimension of the vector space enclosing \p *this
+    (optional argument with default value \f$0\f$).
+
+    \exception std::length_error
+    Thrown if \p dim exceeds <CODE>max_space_dimension()</CODE>.
+  */
+    public PIP_Problem(long dim) {
+	build_cpp_object(dim);
+    }
+
+  //! Builds a PIP problem from a sequence of constraints.
+  /*!
+    Builds a PIP problem having space dimension \p dim from the
+    constraint system cs; the dimensions \p vars are interpreted as
+    parameters.
+  */
+   public PIP_Problem(long dim, Constraint_System cs, Variables_Set params) {
+	build_cpp_object(dim, cs, params);
+    }
+
+    //! Builds a copy of \p y.
+    public PIP_Problem(PIP_Problem y) {
+	build_cpp_object(y);
+    }
+
+    /*! \brief
+      Releases all resources managed by \p this,
+      also resetting it to a null reference.
+    */
+    public native void free();
+
+    //! Releases all resources managed by \p this.
+    protected native void finalize();
+
+    /*@}*/ /* Constructors and Destructor */
+
+    //! \name Functions that Do Not Modify the PIP_Problem
+    /*@{*/
+
+    //! Returns the maximum space dimension an PIP_Problem can handle.
+    public native long max_space_dimension();
+
+    //! Returns the space dimension of the PIP problem.
+    public native long space_dimension();
+
+    //! Returns the number of parameter space dimensions of the PIP problem.
+    public native long number_of_parameter_space_dimensions();
+
+    /*! \brief
+      Returns all the parameter space dimensions of problem \p pip.
+    */
+    public native Variables_Set parameter_space_dimensions();
+
+    //! Returns the big parameter dimension of PIP problem \p pip.
+    public native long get_big_parameter_dimension();
+
+    /*! \brief
+      Returns the number of constraints defining the feasible
+      region of \p pip.
+    */
+    public native long number_of_constraints();
+
+    /*! \brief
+      Returns the \p i-th constraint defining the feasible region
+      of the PIP problem \p pip.
+    */
+    public native Constraint constraint_at_index(long dim);
+
+    //! Returns the constraints .
+    public native Constraint_System constraints();
+
+    //! Returns an ascii formatted internal representation of \p this.
+    public native String ascii_dump();
+
+    //! Returns a string representation of \p this.
+    public native String toString();
+
+    /*! \brief
+      Returns the size in bytes of the memory occupied by the
+      underlying C++ object.
+    */
+    public native long total_memory_in_bytes();
+
+    /*! \brief
+      Returns the size in bytes of the memory managed by the
+      underlying C++ object.
+    */
+    public native long external_memory_in_bytes();
+
+    /*! \brief
+      Returns true if the pip problem is well formed, i.e., if it
+      satisfies all its implementation invariants; returns 0 and perhaps
+      makes some noise if broken.  Useful for debugging purposes.
+    */
+    public native boolean OK();
+
+    /*@}*/ /* Functions that Do Not Modify the MIP_Problem */
+
+
+    //! \name Functions that May Modify the PIP_Problem
+    /*@{*/
+
+    //! Resets \p this to be equal to the trivial PIP problem.
+    /*!
+      The space dimension is reset to \f$0\f$.
+    */
+    public native void clear();
+
+
+    /*! \brief
+      Adds <CODE>pip_vars + pip_params</CODE> new space dimensions
+      and embeds the PIP problem in the new vector space.
+
+      \param pip_vars
+      The number of space dimensions to add that are interpreted as
+      PIP problem variables (i.e., non parameters). These are added
+      before adding the \p pip_params parameters.
+
+      \param pip_params
+      The number of space dimensions to add that are interpreted as
+      PIP problem parameters. These are added after having added the
+      \p pip_vars problem variables.
+
+      The new space dimensions will be those having the highest indexes
+      in the new PIP problem; they are initially unconstrained.
+    */
+    public native void add_space_dimensions_and_embed(long pip_vars,
+                                                      long pip_params);
+
+    /*! \brief
+      Sets the space dimensions in \p vars to be parameter dimensions of
+      the PIP problem.
+    */
+    public native void add_to_parameter_space_dimensions(Variables_Set vars);
+
+    /*! \brief
+      Sets the big parameter dimension of PIP problem to \p d.
+    */
+    public native void set_big_parameter_dimension(long d);
+
+    /*! \brief
+      Adds a copy of constraint \p c to the PIP problem.
+
+      \exception std::invalid_argument
+      Thrown if the constraint \p c is a strict inequality or if its space
+      dimension is strictly greater than the space dimension of \p this.
+    */
+    public native void add_constraint(Constraint c);
+
+    /*! \brief
+      Adds a copy of the constraints in \p cs to the PIP problem.
+
+      \exception std::invalid_argument
+      Thrown if the constraint system \p cs contains any strict inequality
+      or if its space dimension is strictly greater than the space dimension
+      of \p *this.
+    */
+    public native void add_constraints(Constraint_System cs);
+
+    /*@}*/ /* Functions that May Modify the PIP_Problem */
+
+    //! \name Computing the Solution of the PIP_Problem
+    /*@{*/
+
+    //! Checks satisfiability of \p *this.
+    /*!
+      \return
+      <CODE>true</CODE> if and only if the PIP problem is satisfiable.
+    */
+    public native boolean is_satisfiable();
+
+    //! Optimizes the PIP problem.
+    /*!
+      Solves the PIP problem, returning an exit status.
+
+      \return
+      <CODE>UNFEASIBLE_PIP_PROBLEM</CODE> if the PIP problem
+      is not satisfiable;
+      <CODE>OPTIMIZED_PIP_PROBLEM</CODE> if the PIP problem
+      admits an optimal solution.
+    */
+    public native PIP_Problem_Status solve();
+
+    //! Returns a solution for the PIP problem, if it exists.
+    public native PIP_Tree_Node solution();
+
+    //! Returns an optimizing solution for the PIP problem, if it exists.
+    public native PIP_Tree_Node optimizing_solution();
+
+    /*@}*/ /* Computing the Solution of the PIP_Problem */
+
+    //! \name Querying/Setting Control Parameters
+    /*@{*/
+
+    /*! \brief
+      Returns the value of control parameter \p name.
+    */
+    public native PIP_Problem_Control_Parameter_Value
+      get_pip_problem_control_parameter
+        (PIP_Problem_Control_Parameter_Name name);
+
+    /*! \brief
+      Sets control parameter \p value.
+    */
+    public native void set_pip_problem_control_parameter
+      (PIP_Problem_Control_Parameter_Value value);
+
+    /*@}*/ /* Querying/Setting Control Parameters */
+
+    //! Builds the underlying C++ object.
+    private native void build_cpp_object(long dim);
+
+    //! Builds the underlying C++ object.
+    private native void build_cpp_object(long dim,
+					 Constraint_System cs,
+                                         Variables_Set vars);
+
+    //! Builds the underlying C++ object.
+    private native void build_cpp_object(PIP_Problem y);
+}
diff --git a/interfaces/Java/parma_polyhedra_library/PIP_Problem_Control_Parameter_Name.java b/interfaces/Java/parma_polyhedra_library/PIP_Problem_Control_Parameter_Name.java
new file mode 100644
index 0000000..b8d5720
--- /dev/null
+++ b/interfaces/Java/parma_polyhedra_library/PIP_Problem_Control_Parameter_Name.java
@@ -0,0 +1,32 @@
+/* PIP_Problem PIP_Problem_Control_Parameter_Name enum declaration.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+package parma_polyhedra_library;
+
+//! Names of PIP problems' control parameters.
+/*! \ingroup PPL_Java_interface */
+public enum PIP_Problem_Control_Parameter_Name {
+    //! The cutting strategy rule.
+    CUTTING_STRATEGY,
+    //! The pivot row strategy rule.
+    PIVOT_ROW_STRATEGY
+}
diff --git a/interfaces/Java/parma_polyhedra_library/PIP_Problem_Control_Parameter_Value.java b/interfaces/Java/parma_polyhedra_library/PIP_Problem_Control_Parameter_Value.java
new file mode 100644
index 0000000..3c7f97b
--- /dev/null
+++ b/interfaces/Java/parma_polyhedra_library/PIP_Problem_Control_Parameter_Value.java
@@ -0,0 +1,38 @@
+/* PIP_Problem PIP_Problem_Control_Parameter_Value enum declaration.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+package parma_polyhedra_library;
+
+//! Possible values for PIP problems' control parameters.
+/*! \ingroup PPL_Java_interface */
+public enum PIP_Problem_Control_Parameter_Value {
+    //! Choose the first non-integer row
+    CUTTING_STRATEGY_FIRST,
+    //! Choose row which generates the deepest cut
+    CUTTING_STRATEGY_DEEPEST,
+    //! Always generate all possible cuts
+    CUTTING_STRATEGY_ALL,
+    //! Choose the first row with negative parameter sign
+    PIVOT_ROW_STRATEGY_FIRST,
+    //! Choose the row which generates the lexico-maximal pivot column
+    PIVOT_ROW_STRATEGY_MAX_COLUMN
+}
diff --git a/interfaces/Java/parma_polyhedra_library/PIP_Problem_Status.java b/interfaces/Java/parma_polyhedra_library/PIP_Problem_Status.java
new file mode 100644
index 0000000..dea0d03
--- /dev/null
+++ b/interfaces/Java/parma_polyhedra_library/PIP_Problem_Status.java
@@ -0,0 +1,37 @@
+/* PIP_Problem_Status enum declaration.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+package parma_polyhedra_library;
+
+//! Possible outcomes of the PIP_Problem solver.
+/*! \ingroup PPL_Java_interface */
+public enum PIP_Problem_Status {
+    //! The problem is unsatisfiable.
+    UNFEASIBLE_PIP_PROBLEM,
+    //! The problem has an optimal solution.
+    OPTIMIZED_PIP_PROBLEM;
+
+    private static native void initIDs();
+    static {
+        initIDs();
+    }
+}
diff --git a/interfaces/Java/parma_polyhedra_library/PIP_Solution_Node.java b/interfaces/Java/parma_polyhedra_library/PIP_Solution_Node.java
new file mode 100644
index 0000000..8bb11c9
--- /dev/null
+++ b/interfaces/Java/parma_polyhedra_library/PIP_Solution_Node.java
@@ -0,0 +1,43 @@
+/* PIP_Solution_Node Java class declaration and implementation.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+
+package parma_polyhedra_library;
+
+import java.io.Writer;
+import java.io.IOException;
+
+//! A leaf node of the PIP solution tree.
+public class PIP_Solution_Node extends PIP_Tree_Node {
+
+    /*! \brief
+      Returns the parametric expression of the values of variable
+      \p var in solution node \p this.
+
+      The returned parametric expression will only refer to
+      (problem or artificial) parameters.
+
+      \param var
+      The variable being queried.
+    */
+    public native Linear_Expression parametric_values(Variable d);
+}
diff --git a/interfaces/Java/parma_polyhedra_library/PIP_Tree_Node.java b/interfaces/Java/parma_polyhedra_library/PIP_Tree_Node.java
new file mode 100644
index 0000000..433c442
--- /dev/null
+++ b/interfaces/Java/parma_polyhedra_library/PIP_Tree_Node.java
@@ -0,0 +1,81 @@
+/* PIP_Tree_Node Java class declaration and implementation.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+
+package parma_polyhedra_library;
+
+import java.io.Writer;
+import java.io.IOException;
+
+//! A node of the PIP solution tree.
+/*!
+  This is the base class for the nodes of the binary trees representing
+  the solutions of PIP problems. From this one, two classes are derived:
+    - PIP_Decision_Node, for the internal nodes of the tree;
+    - PIP_Solution_Node, for the leaves of the tree.
+*/
+public class PIP_Tree_Node extends PPL_Object {
+
+    /*! \brief
+      Returns the solution node if \p this is a solution node,
+      and 0 otherwise.
+    */
+    public native PIP_Solution_Node as_solution();
+
+    /*! \brief
+      Returns the decision node if \p this is a decision node,
+      and 0 otherwise.
+    */
+    public native PIP_Decision_Node as_decision();
+
+    /*! \brief
+      Returns true if the pip tree is well formed, i.e., if it
+      satisfies all its implementation invariants; returns 0 and perhaps
+      makes some noise if broken.  Useful for debugging purposes.
+    */
+    public native boolean OK();
+
+    /*! \brief
+       Returns the number of artificial parameters in the PIP_Tree_Node.
+    */
+    public native long number_of_artificials();
+
+    /*! \brief
+       Returns the sequence of (Java) artificial parameters
+       in the PIP_Tree_Node.
+    */
+    public native Artificial_Parameter_Sequence artificials();
+
+    /*! \brief
+       Returns the system of parameter constraints controlling the
+       PIP_Tree_Node.
+
+       The indices in the constraints are the same as the original
+       variables and parameters. Coefficients in indices corresponding
+       to variables always are zero.
+    */
+    public native Constraint_System constraints();
+
+    //! Returns a string representation of \p this.
+    public native String toString();
+
+}
diff --git a/interfaces/Java/parma_polyhedra_library/PPL_Object.java b/interfaces/Java/parma_polyhedra_library/PPL_Object.java
index 93c3932..90f45c6 100644
--- a/interfaces/Java/parma_polyhedra_library/PPL_Object.java
+++ b/interfaces/Java/parma_polyhedra_library/PPL_Object.java
@@ -1,5 +1,5 @@
 /* PPL_Object Java class declaration and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -37,4 +37,9 @@ public class PPL_Object {
     protected PPL_Object() {
 	ptr = 0;
     }
+
+    private static native void initIDs();
+    static {
+        initIDs();
+    }
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Pair.java b/interfaces/Java/parma_polyhedra_library/Pair.java
index 649d3f9..1a6ddea 100644
--- a/interfaces/Java/parma_polyhedra_library/Pair.java
+++ b/interfaces/Java/parma_polyhedra_library/Pair.java
@@ -1,5 +1,5 @@
 /* Pair Java class declaration and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -43,4 +43,9 @@ public class Pair<K, V>  {
     public V getSecond() {
 	return second;
     }
+
+    private static native void initIDs();
+    static {
+        initIDs();
+    }
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.java b/interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.java
index 7dc0bcf..e1738da 100644
--- a/interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.java
+++ b/interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.java
@@ -1,5 +1,5 @@
 /* Parma_Polyhedra_Library Java class declaration and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -45,6 +45,33 @@ site: http://www.cs.unipr.it/ppl/ . */
   Here is a list of notes with general information and advice
   on the use of the Java interface.
 
+  - When the Parma Polyhedra Library is configured, it will automatically
+    test for the existence of the Java system (unless configuration options
+    are passed to disable the build of the Java interface;
+    see configuration option <code>--enable-interfaces</code>).
+    If Java is correctly installed in a standard location, things will be
+    arranged so that the Java interface is built and installed
+    (see configuration option <code>--with-java</code> if you need to
+    specify a non-standard location for the Java system).
+
+  - The Java interface files are all installed in the directory
+    \c prefix/lib/ppl.  Since this includes shared and
+    dynamically loaded libraries, you must make your dynamic
+    linker/loader aware of this fact.  If you use a GNU/Linux system,
+    try the commands <CODE>man ld.so</CODE> and <CODE>man ldconfig</CODE>
+    for more information.
+
+  - Any application using the PPL should:
+      - Load the PPL interface library by calling <code>System.load</code>
+        and passing the full path of the dynamic shared object;
+      - Make sure that only the intended version(s) of the library has
+        been loaded, e.g., by calling static method <code>version()</code>
+        in class \c parma_polyhedra_library.Parma_Polyhedra_Library;
+      - Starting from version 0.11, initialize the interface by calling
+        static method <code>initialize_library()</code>;
+        when all library work is done, finalize the interface by calling
+        <code>finalize_library()</code>.
+
   - The numerical abstract domains available to the Java user as
     Java classes consist of the <EM>simple</EM> domains,
     <EM>powersets</EM> of a simple domain and <EM>products</EM>
@@ -77,14 +104,10 @@ site: http://www.cs.unipr.it/ppl/ . */
   - In the following, any of the above numerical
     abstract domains  is called a PPL <EM>domain</EM>
     and any element of a PPL domain is called a <EM>PPL object</EM>.
-  - The Java interface files are all installed in the directory
-    \c prefix/lib/ppl.  Since this includes shared and
-    dynamically loaded libraries, you must make your dynamic
-    linker/loader aware of this fact.  If you use a GNU/Linux system,
-    try the commands <CODE>man ld.so</CODE> and <CODE>man ldconfig</CODE>
-    for more information.
+
   - A Java program can create a new object for a PPL domain by
     using the constructors for the class corresponding to the domain.
+
   - For a PPL object with space dimension \p k,
     the identifiers used for the PPL variables
     must lie between 0 and \f$k-1\f$ and correspond to the indices of the
@@ -96,22 +119,13 @@ site: http://www.cs.unipr.it/ppl/ . */
     should follow all the (space) dimension-compatibility rules stated in
     Section \extref{representation, Representations of Convex Polyhedra}
     of the main PPL user manual.
+
   - As explained above, a polyhedron has a fixed topology C or NNC,
     that is determined at the time of its initialization.
     All subsequent operations on the polyhedron must respect all the
     topological compatibility rules stated in Section
     \extref{representation, Representations of Convex Polyhedra}
     of the main PPL user manual.
-  - Any application using the PPL should make sure that only the
-    intended version(s) of the library are ever used.
-  - When the Parma Polyhedra Library is configured, it will automatically
-    test for the existence of the Java system (unless configuration options
-    are passed to disable the build of the Java interface;
-    see configuration option <code>--enable-interfaces</code>).
-    If Java is correctly installed in a standard location, things will be
-    arranged so that the Java interface is built and installed
-    (see configuration option <code>--with-java</code> if you need to
-    specify a non-standard location for the Java system).
 
 */ /* \mainpage */
 
@@ -127,6 +141,29 @@ package parma_polyhedra_library;
 /*! \ingroup PPL_Java_interface */
 public class Parma_Polyhedra_Library {
 
+    //! \name Library initialization and finalization
+    //@{
+
+    /*! \brief
+      Initializes the Parma Polyhedra Library.
+
+      This method must be called after loading the library and
+      before calling any other method from any other PPL package class.
+    */
+    public static native void initialize_library();
+
+    /*! \brief
+      Finalizes the Parma Polyhedra Library.
+
+      This method must be called when work with the library is done.
+      After finalization, no other library method can be called
+      (except those in class Parma_Polyhedra_Library), unless the library
+      is re-initialized by calling <code>initialize_library()</code>.
+    */
+    public static native void finalize_library();
+
+    //@} // Library initialization and finalization
+
     //! \name Version Checking
     //@{
 
@@ -156,7 +193,7 @@ public class Parma_Polyhedra_Library {
 
     //@} // Version Checking
 
-    //! \name (Re-) Setting floating-point rounding mode.
+    //! \name Floating-point rounding and precision settings.
     //@{
 
     /*! \brief
@@ -179,6 +216,83 @@ public class Parma_Polyhedra_Library {
     */
     public static native void restore_pre_PPL_rounding();
 
-    //@} // (Re-) Setting floating-point rounding mode.
+    //! Returns the precision parameter for irrational calculations.
+    public static native int irrational_precision();
+
+    //! Sets the precision parameter used for irrational calculations.
+    /*!
+      If \p p is less than or equal to <CODE>INT_MAX</CODE>, sets the
+      precision parameter used for irrational calculations to \p p.
+      Then, in the irrational calculations returning an unbounded rational,
+      (e.g., when computing a square root), the lesser between numerator
+      and denominator will be limited to 2**\p p.
+    */
+    public static native void set_irrational_precision(int p);
+
+    //@} // Floating-point rounding and precision settings.
+
+    //! \name Timeout handling
+    //@{
+
+    /*! \brief
+      Sets the timeout for computations whose completion could require
+      an exponential amount of time.
+
+      \param hsecs
+      The number of hundreths of seconds.
+      It must be strictly greater than zero.
+
+      Computations taking exponential time will be interrupted some time
+      after \p hsecs hundreths of seconds have elapsed since the call to
+      the timeout setting function, by throwing a
+      <code>Timeout_Exception</code> object.
+      Otherwise, if the computation completes without being interrupted,
+      then the timeout should be reset by calling
+      <code>reset_timeout()</code>.
+    */
+    public static native void set_timeout(int hsecs);
+
+    /*! \brief
+      Resets the timeout time so that the computation is not interrupted.
+    */
+    public static native void reset_timeout();
+
+    /*! \brief
+      Sets a threshold for computations whose completion could require
+      an exponential amount of time.
+
+      \param weight
+      The maximum computational weight allowed.
+      It must be strictly greater than zero.
+
+      Computations taking exponential time will be interrupted some time
+      after reaching the \p weight complexity threshold, by throwing a
+      <code>Timeout_Exception</code> object.
+      Otherwise, if the computation completes without being interrupted,
+      then the deterministic timeout should be reset by calling
+      <code>reset_deterministic_timeout()</code>.
+
+      \note
+      This "timeout" checking functionality is said to be \e deterministic
+      because it is not based on actual elapsed time. Its behavior will
+      only depend on (some of the) computations performed in the PPL library
+      and it will be otherwise independent from the computation environment
+      (CPU, operating system, compiler, etc.).
+
+      \warning
+      The weight mechanism is under alpha testing. In particular,
+      there is still no clear relation between the weight threshold and
+      the actual computational complexity. As a consequence, client
+      applications should be ready to reconsider the tuning of these
+      weight thresholds when upgrading to newer version of the PPL.
+    */
+    public static native void set_deterministic_timeout(int weight);
+
+    /*! \brief
+      Resets the deterministic timeout so that the computation is not
+      interrupted.
+    */
+    public static native void reset_deterministic_timeout();
 
+    //@} // Timeout handling.
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Partial_Function.java b/interfaces/Java/parma_polyhedra_library/Partial_Function.java
index 76ce2ba..1de3d79 100644
--- a/interfaces/Java/parma_polyhedra_library/Partial_Function.java
+++ b/interfaces/Java/parma_polyhedra_library/Partial_Function.java
@@ -1,5 +1,5 @@
 /* Partial_Function Java interface declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -24,15 +24,23 @@ package parma_polyhedra_library;
 
 //! A partial function on space dimension indices.
 /*! \ingroup PPL_Java_interface
-  In order to specify how space dimensions should be mapped by methods
-  named \c map_space_dimensions, the user should implement this
-  interface.
-
-  \note
-  An example of implementation can be found in the PPL test file
-  <CODE>interfaces/Java/tests/Test_Partial_Function.java</CODE>.
+  This class is used in order to specify how space dimensions should
+  be mapped by methods named \c map_space_dimensions.
 */
-public interface Partial_Function {
+public class Partial_Function extends PPL_Object {
+
+    /*! \brief
+      Builds the empty map.
+    */
+    public Partial_Function() {
+	build_cpp_object();
+    }
+
+    /*! \brief
+      Inserts mapping from \p i to \p j.
+    */
+    public native void insert(long i, long j);
+
     /*! \brief
       Returns \c true if and only if the partial function has
       an empty codomain (i.e., it is always undefined).
@@ -41,19 +49,31 @@ public interface Partial_Function {
       of the interface. Moreover, if \c true is returned, then
       none of the other interface methods will be called.
     */
-    boolean has_empty_codomain();
+    public native boolean has_empty_codomain();
 
     /*! \brief
       Returns the maximum value that belongs to the codomain
       of the partial function.
     */
-    long max_in_codomain();
+    public native long max_in_codomain();
 
     /*! \brief
-      Sets \p j to the value (if any) of the partial function on index \p i.
+      If the partial function is defined on index \p i, returns its value.
+
+      The function returns a negative value if the partial function
+      is not defined on domain value \p i.
+    */
+    public native long maps(long i);
 
-      The function returns \c true if and only if the partial function
-      is defined on domain value \p i.
+    /*! \brief
+      Releases all resources managed by \p this,
+      also resetting it to a null reference.
     */
-    boolean maps(Long i, By_Reference<Long> j);
+    public native void free();
+
+    //! Releases all resources managed by \p this.
+    protected native void finalize();
+
+    //! Builds the underlying C++ object.
+    private native void build_cpp_object();
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Poly_Con_Relation.java b/interfaces/Java/parma_polyhedra_library/Poly_Con_Relation.java
index 3a4dbd7..1095acc 100644
--- a/interfaces/Java/parma_polyhedra_library/Poly_Con_Relation.java
+++ b/interfaces/Java/parma_polyhedra_library/Poly_Con_Relation.java
@@ -1,5 +1,5 @@
 /* Poly_Con_Relation Java class declaration and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -84,4 +84,9 @@ public class Poly_Con_Relation {
     public boolean implies(Poly_Con_Relation y) {
 	return (this.mask_value & y.mask_value) ==  y.mask_value;
     }
+
+    private static native void initIDs();
+    static {
+        initIDs();
+    }
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Poly_Gen_Relation.java b/interfaces/Java/parma_polyhedra_library/Poly_Gen_Relation.java
index 5225b36..bc2fa5f 100644
--- a/interfaces/Java/parma_polyhedra_library/Poly_Gen_Relation.java
+++ b/interfaces/Java/parma_polyhedra_library/Poly_Gen_Relation.java
@@ -1,5 +1,5 @@
 /* Poly_Gen_Relation Java class declaration and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -54,4 +54,9 @@ public class Poly_Gen_Relation {
     public boolean implies(Poly_Gen_Relation y) {
 	return (this.mask_value & y.mask_value) ==  y.mask_value;
     }
+
+    private static native void initIDs();
+    static {
+        initIDs();
+    }
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Relation_Symbol.java b/interfaces/Java/parma_polyhedra_library/Relation_Symbol.java
index f5aa187..a757647 100644
--- a/interfaces/Java/parma_polyhedra_library/Relation_Symbol.java
+++ b/interfaces/Java/parma_polyhedra_library/Relation_Symbol.java
@@ -1,5 +1,5 @@
 /* Relation_Symbol enum declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -34,5 +34,10 @@ public enum Relation_Symbol {
     //! Greater than or equal to.
     GREATER_OR_EQUAL,
     //! Greater than.
-    GREATER_THAN
+    GREATER_THAN;
+
+    private static native void initIDs();
+    static {
+        initIDs();
+    }
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Timeout_Exception.java b/interfaces/Java/parma_polyhedra_library/Timeout_Exception.java
new file mode 100644
index 0000000..1f5e86e
--- /dev/null
+++ b/interfaces/Java/parma_polyhedra_library/Timeout_Exception.java
@@ -0,0 +1,32 @@
+/* Timeout_Exception Java class declaration and implementation.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+package parma_polyhedra_library;
+
+//! Exceptions caused by timeout expiring.
+/*! \ingroup PPL_Java_interface */
+public class Timeout_Exception extends RuntimeException {
+    //! Constructor.
+    public Timeout_Exception(String s) {
+        super(s);
+    }
+}
diff --git a/interfaces/Java/parma_polyhedra_library/Variable.java b/interfaces/Java/parma_polyhedra_library/Variable.java
index c73cddb..d62d0e7 100644
--- a/interfaces/Java/parma_polyhedra_library/Variable.java
+++ b/interfaces/Java/parma_polyhedra_library/Variable.java
@@ -1,5 +1,5 @@
 /* Variable Java class declaration and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -65,5 +65,10 @@ public class Variable implements Comparable<Variable> {
    */
     public int compareTo(Variable v) {
         return varid - v.varid;
-        }
+    }
+
+    private static native void initIDs();
+    static {
+        initIDs();
+    }
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Variables_Set.java b/interfaces/Java/parma_polyhedra_library/Variables_Set.java
index 8360bb7..38eeeee 100644
--- a/interfaces/Java/parma_polyhedra_library/Variables_Set.java
+++ b/interfaces/Java/parma_polyhedra_library/Variables_Set.java
@@ -1,5 +1,5 @@
 /* Variables_Set Java class declaration and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -28,4 +28,9 @@ public class Variables_Set extends java.util.TreeSet<Variable>{
     //! Builds the empty set of variable indexes.
     public Variables_Set() {
     }
+
+    private static native void initIDs();
+    static {
+        initIDs();
+    }
 }
diff --git a/interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java.m4 b/interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java.m4
index 9590a14..5588db0 100644
--- a/interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java.m4
+++ b/interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java.m4
@@ -4,7 +4,7 @@ m4_divert(-1)
 dnl This m4 file generates the files <CLASS_NAME>.java
 dnl using the code in ppl_interface_generator_java_classes_java_code.m4.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -33,6 +33,18 @@ dnl Ensure any schematic procedure macro that is not defined
 dnl in the code file outputs a warning message.
 m4_define(`m4_default_code', `m4_dumpdef($1`'_code)')
 
+m4_divert
+___END_OF_FILE___
+___BEGIN_OF_FILE___ Termination.java << ___END_OF_FILE___
+/* PPL Java interface: Termination definition.
+m4_include(`ppl_interface_generator_copyright')`'dnl
+*/
+
+package parma_polyhedra_library;
+public class Termination {`'dnl
+
+m4_divert(-1)
+
 dnl m4_pre_extra_class_code(Class, CPP_Class, Class_Kind)
 dnl Prefix extra code for each class.
 m4_define(`m4_pre_extra_class_code', `dnl
@@ -40,7 +52,8 @@ m4_define(`m4_this_class', `m4_interface_class$1')`'dnl
 m4_define(`m4_this_cplusplus_class', `Parma_Polyhedra_Library::`'m4_cplusplus_class$1')`'dnl
 m4_define(`m4_this_class_kind', `m4_class_kind$1')`'dnl
 m4_divert
-%<--%<--%<-- m4_this_class`'.java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ m4_this_class`'.java << ___END_OF_FILE___
 /* PPL Java interface: m4_this_class definition.
 m4_include(`ppl_interface_generator_copyright')`'dnl
 */
@@ -57,7 +70,8 @@ import java.io.IOException;
 public class m4_this_class extends PPL_Object {`'dnl
 m4_ifelse(m4_this_class, Polyhedron,
   `
-%<--%<--%<-- C_Polyhedron.java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ C_Polyhedron.java << ___END_OF_FILE___
 /* PPL Java interface: C_Polyhedron definition.
 m4_include(`ppl_interface_generator_copyright')`'dnl
 */
@@ -69,7 +83,8 @@ package parma_polyhedra_library;
   \ingroup PPL_java_interface
 */
 public class C_Polyhedron extends Polyhedron {
-%<--%<--%<-- NNC_Polyhedron.java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ NNC_Polyhedron.java << ___END_OF_FILE___
 /* PPL Java interface: NNC_Polyhedron definition.
 m4_include(`ppl_interface_generator_copyright')`'dnl
 */
@@ -84,7 +99,8 @@ public class NNC_Polyhedron extends Polyhedron {
 ',
 m4_this_class_kind, Pointset_Powerset,
 `
-%<--%<--%<-- m4_this_class`'_Iterator.java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ m4_this_class`'_Iterator.java << ___END_OF_FILE___
 /* PPL Java interface: m4_this_class`'_Iterator definition.
 m4_include(`ppl_interface_generator_copyright')`'dnl
 */
@@ -116,19 +132,23 @@ m4_replace_all_patterns($1, m4_class_build_cpp_object2_code)`'dnl
 m4_replace_all_patterns($1, m4_class_build_cpp_object3_code)`'dnl
 m4_define(`m4_this_class', `m4_interface_class$1')`'dnl
 m4_define(`m4_this_class_kind', `m4_class_kind$1')
-%<--%<--%<-- m4_this_class`'.java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ m4_this_class`'.java << ___END_OF_FILE___
 }`'dnl
 m4_ifelse(m4_this_class, Polyhedron,
   `
-%<--%<--%<-- C_Polyhedron.java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ C_Polyhedron.java << ___END_OF_FILE___
 }
 
-%<--%<--%<-- NNC_Polyhedron.java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ NNC_Polyhedron.java << ___END_OF_FILE___
 }
 ',
 m4_this_class_kind, Pointset_Powerset,
   `
-%<--%<--%<-- m4_this_class`'_Iterator.java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ m4_this_class`'_Iterator.java << ___END_OF_FILE___
 }`'dnl
 ')`'dnl
 m4_undefine(`m4_this_class')`'dnl
@@ -140,6 +160,12 @@ dnl Main calls to macro m4_all_code to generate code
 dnl -----------------------------------------------------------------
 m4_divert`'dnl
 m4_all_code`'dnl
+___END_OF_FILE___
+m4_divert(-1)
+m4_divert
+___END_OF_FILE___
+___BEGIN_OF_FILE___ Termination.java << ___END_OF_FILE___
+}
+___END_OF_FILE___
 m4_divert(-1)
-
 dnl End of file generation.
diff --git a/interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4 b/interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
index f7bcea1..e4c7f55 100644
--- a/interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
+++ b/interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
@@ -3,7 +3,7 @@ m4_divert(-1)
 
 This m4 file contains the code for generating files <CLASS_NAME>.java
 
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -38,14 +38,16 @@ the definition is not yet implemented.
 
 m4_define(`m4_class_build_cpp_object1_code',
 `dnl
-%<--%<--%<-- @TOPOLOGY@@CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @TOPOLOGY@@CLASS at .java << ___END_OF_FILE___
     private native void build_cpp_object(@!BUILD_REPRESENT at _System cs);
 
 ')
 
 m4_define(`m4_class_build_cpp_object2_code',
 `dnl
-%<--%<--%<-- @TOPOLOGY@@CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @TOPOLOGY@@CLASS at .java << ___END_OF_FILE___
     private native void build_cpp_object(long num_dimensions,
                                          Degenerate_Element kind);
 
@@ -53,10 +55,12 @@ m4_define(`m4_class_build_cpp_object2_code',
 
 m4_define(`m4_class_build_cpp_object3_code',
 `dnl
-%<--%<--%<-- @TOPOLOGY@@CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @TOPOLOGY@@CLASS at .java << ___END_OF_FILE___
     private native void build_cpp_object(@FRIEND@ y);
 
-%<--%<--%<-- @TOPOLOGY@@CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @TOPOLOGY@@CLASS at .java << ___END_OF_FILE___
     private native void build_cpp_object(@FRIEND@ y,
                                          Complexity_Class complexity);
 
@@ -64,7 +68,8 @@ m4_define(`m4_class_build_cpp_object3_code',
 
 m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension_code',
 `dnl
-%<--%<--%<-- @TOPOLOGY@@CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @TOPOLOGY@@CLASS at .java << ___END_OF_FILE___
     public @TOPOLOGY@@CLASS@(long num_dimensions,
 			Degenerate_Element kind) {
 	build_cpp_object(num_dimensions, kind);
@@ -77,7 +82,8 @@ m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension_code',
 
 m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _code',
 `dnl
-%<--%<--%<-- @TOPOLOGY@@CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @TOPOLOGY@@CLASS at .java << ___END_OF_FILE___
     public @TOPOLOGY@@CLASS@(@FRIEND@ y) {
         build_cpp_object(y);
     }
@@ -86,7 +92,8 @@ m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _code',
 
 m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _with_complexity_code',
 `dnl
-%<--%<--%<-- @TOPOLOGY@@CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @TOPOLOGY@@CLASS at .java << ___END_OF_FILE___
     public @TOPOLOGY@@CLASS@(@FRIEND@ y, Complexity_Class complexity) {
         build_cpp_object(y, complexity);
     }
@@ -95,7 +102,8 @@ m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _with_complexity_code',
 
 m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@BUILD_REPRESENT at s_code',
 `dnl
-%<--%<--%<-- @TOPOLOGY@@CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @TOPOLOGY@@CLASS at .java << ___END_OF_FILE___
     public @TOPOLOGY@@CLASS@(@!BUILD_REPRESENT at _System cs) {
 	build_cpp_object(cs);
     }
@@ -104,99 +112,113 @@ m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@BUILD_REPRESENT at s_code',
 
 m4_define(`ppl_delete_ at CLASS@_code',
 `dnl
-%<--%<--%<-- @TOPOLOGY@@CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @TOPOLOGY@@CLASS at .java << ___END_OF_FILE___
     protected native void finalize();
 
 ')
 
 m4_define(`ppl_free_ at CLASS@_code',
 `dnl
-%<--%<--%<-- @TOPOLOGY@@CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @TOPOLOGY@@CLASS at .java << ___END_OF_FILE___
     public native void free();
 
 ')
 
 m4_define(`ppl_ at CLASS@_ at UB_EXACT@_code',
 `dnl
-%<--%<--%<-- @TOPOLOGY@@CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @TOPOLOGY@@CLASS at .java << ___END_OF_FILE___
     public native boolean @UB_EXACT@(@TOPOLOGY@@CLASS@ y);
 
 ')
 
 m4_define(`ppl_ at CLASS@_swap_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native void swap(@CLASS@ y);
 
 ')
 
 m4_define(`ppl_ at CLASS@_ at DIMENSION@_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native long @DIMENSION@();
 
 ')
 
 m4_define(`ppl_ at CLASS@_get_ at CLASS_REPRESENT@s_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native @!CLASS_REPRESENT at _System @CLASS_REPRESENT at s();
 
 ')
 
 m4_define(`ppl_ at CLASS@_get_minimized_ at CLASS_REPRESENT@s_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native @!CLASS_REPRESENT at _System minimized_ at CLASS_REPRESENT@s();
 
 ')
 
 m4_define(`ppl_ at CLASS@_relation_with_ at RELATION_REPRESENT@_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native Poly_@!A_RELATION_REPRESENT at _Relation relation_with(@!RELATION_REPRESENT@ c);
 
 ')
 
 m4_define(`ppl_ at CLASS@_ at HAS_PROPERTY@_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native boolean @HAS_PROPERTY@();
 
 ')
 
 m4_define(`ppl_ at CLASS@_ at SIMPLIFY@_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native void @SIMPLIFY@();
 
 ')
 
 m4_define(`ppl_ at CLASS@_unconstrain_space_dimension_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native void unconstrain_space_dimension(Variable var);
 
 ')
 
 m4_define(`ppl_ at CLASS@_unconstrain_space_dimensions_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native void
-      unconstrain_space_dimensions(Variables_Set to_be_unconstrained);
+      unconstrain_space_dimensions(Variables_Set vars);
 
 ')
 
 m4_define(`ppl_ at CLASS@_bounds_from_ at ABOVEBELOW@_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native boolean bounds_from_ at ABOVEBELOW@(Linear_Expression expr);
 
 ')
 
 m4_define(`ppl_ at CLASS@_ at MAXMIN@_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native boolean @MAXMIN@(Linear_Expression expr,
 				   Coefficient sup_n, Coefficient sup_d,
 				   By_Reference<Boolean> maximum);
@@ -205,7 +227,8 @@ m4_define(`ppl_ at CLASS@_ at MAXMIN@_code',
 
 m4_define(`ppl_ at CLASS@_ at MAXMIN@_with_point_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native boolean @MAXMIN@(Linear_Expression expr,
 				   Coefficient sup_n, Coefficient sup_d,
 				   By_Reference<Boolean> maximum,
@@ -213,16 +236,28 @@ m4_define(`ppl_ at CLASS@_ at MAXMIN@_with_point_code',
 
 ')
 
+m4_define(`ppl_ at CLASS@_frequency_code',
+`dnl
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
+    public native boolean frequency(Linear_Expression expr,
+				   Coefficient freq_n, Coefficient freq_d,
+				   Coefficient val_n, Coefficient val_d);
+
+')
+
 m4_define(`ppl_ at CLASS@_ at COMPARISON@_ at CLASS@_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native boolean @COMPARISON@(@CLASS@ y);
 
 ')
 
 m4_define(`ppl_ at CLASS@_equals_ at CLASS@_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native boolean equals(@CLASS@ p);
 
     public boolean equals(Object y) {
@@ -236,7 +271,8 @@ m4_define(`ppl_ at CLASS@_equals_ at CLASS@_code',
 
 m4_define(`ppl_ at CLASS@_hashcode_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native int hashCode();
 
 ')
@@ -244,56 +280,64 @@ m4_define(`ppl_ at CLASS@_hashcode_code',
 
 m4_define(`ppl_ at CLASS@_OK_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native boolean OK();
 
 ')
 
 m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native void add_ at CLASS_REPRESENT@(@!CLASS_REPRESENT@ c);
 
 ')
 
 m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native void refine_with_ at REFINE_REPRESENT@(@!REFINE_REPRESENT@ c);
 
 ')
 
 m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native void add_ at CLASS_REPRESENT@s(@!CLASS_REPRESENT at _System c);
 
 ')
 
 m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@s_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native void refine_with_ at REFINE_REPRESENT@s(@!REFINE_REPRESENT at _System c);
 
 ')
 
 m4_define(`ppl_ at CLASS@_ at BINOP@_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native void @BINOP@(@CLASS@ p);
 
 ')
 
 m4_define(`ppl_ at CLASS@_simplify_using_context_assign_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native boolean simplify_using_context_assign(@CLASS@ p);
 
 ')
 
 m4_define(`ppl_ at CLASS@_ at AFFIMAGE@_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native void @AFFIMAGE@(Variable var, Linear_Expression expr,
 				    Coefficient denominator);
 
@@ -301,7 +345,8 @@ m4_define(`ppl_ at CLASS@_ at AFFIMAGE@_code',
 
 m4_define(`ppl_ at CLASS@_bounded_ at AFFIMAGE@_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native void bounded_ at AFFIMAGE@(Variable var,
 					    Linear_Expression lb_expr,
 					    Linear_Expression ub_expr,
@@ -311,7 +356,8 @@ m4_define(`ppl_ at CLASS@_bounded_ at AFFIMAGE@_code',
 
 m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native void generalized_ at AFFIMAGE@(Variable var,
 				Relation_Symbol relsym,
 				Linear_Expression expr,
@@ -322,7 +368,8 @@ m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_code',
 
 m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native void generalized_ at AFFIMAGE@(Linear_Expression lhs,
 				Relation_Symbol relsym,
 				Linear_Expression rhs);
@@ -331,7 +378,8 @@ m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs_code',
 
 m4_define(`ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native void
     @EXTRAPOLATION at _extrapolation_assign(@TOPOLOGY@@CLASS@ arg,
                                 By_Reference<Integer> tp);
@@ -340,7 +388,8 @@ m4_define(`ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign_code',
 
 m4_define(`ppl_ at CLASS@_ at EXTRAPOLATION@_narrowing_assign_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native void
     @EXTRAPOLATION at _narrowing_assign(@TOPOLOGY@@CLASS@ arg);
 
@@ -348,7 +397,8 @@ m4_define(`ppl_ at CLASS@_ at EXTRAPOLATION@_narrowing_assign_code',
 
 m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_with_congruence_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native void generalized_ at AFFIMAGE@_with_congruence(Variable var,
 				Relation_Symbol relsym,
 				Linear_Expression expr,
@@ -360,7 +410,8 @@ m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_with_congruence_code',
 
 m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs_with_congruence_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native void generalized_ at AFFIMAGE@_lhs_rhs_with_congruence(Linear_Expression lhs,
 				Relation_Symbol relsym,
 				Linear_Expression rhs,
@@ -368,9 +419,24 @@ m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs_with_congruence_code',
 
 ')
 
+m4_define(`ppl_ at CLASS@_wrap_assign_code',
+`dnl
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
+    public native void wrap_assign(Variables_Set vars,
+				   Bounded_Integer_Type_Width w,
+				   Bounded_Integer_Type_Representation r,
+                                   Bounded_Integer_Type_Overflow o,
+                                   Constraint_System cs,
+                                   long complexity_threshold,
+                                   boolean wrap_individually);
+
+')
+
 m4_define(`ppl_ at CLASS@_ at WIDEN@_widening_assign_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
 public native void @WIDEN at _widening_assign(@CLASS@ y,
                                 By_Reference<Integer> tp);
 
@@ -378,7 +444,8 @@ public native void @WIDEN at _widening_assign(@CLASS@ y,
 
 m4_define(`ppl_ at CLASS@_widening_assign_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
 public native void widening_assign(@CLASS@ y,
                                 By_Reference<Integer> tp);
 
@@ -386,7 +453,8 @@ public native void widening_assign(@CLASS@ y,
 
 m4_define(`ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native
 	void @LIMITEDBOUNDED at _@WIDENEXPN at _extrapolation_assign(@CLASS@ y,
 						 @!CONSTRAINER at _System cs,
@@ -396,7 +464,8 @@ m4_define(`ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_code',
 
 m4_define(`ppl_ at CLASS@_BGP99_ at DISJUNCT_WIDEN@_extrapolation_assign_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native
 	void BGP99_ at DISJUNCT_WIDEN@_extrapolation_assign(@CLASS@ y,
 						 Integer d);
@@ -405,7 +474,8 @@ m4_define(`ppl_ at CLASS@_BGP99_ at DISJUNCT_WIDEN@_extrapolation_assign_code',
 
 m4_define(`ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native void
     BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign(@CLASS@ y);
 
@@ -413,58 +483,83 @@ m4_define(`ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign
 
 m4_define(`ppl_ at CLASS@_add_space_dimensions_ at EMBEDPROJECT@_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native void add_space_dimensions_ at EMBEDPROJECT@(long m);
 
 ')
 
 m4_define(`ppl_ at CLASS@_remove_space_dimensions_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
-    public native void remove_space_dimensions(Variables_Set to_be_removed);
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
+    public native void remove_space_dimensions(Variables_Set vars);
 
 ')
 
 m4_define(`ppl_ at CLASS@_remove_higher_space_dimensions_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
-    public native void remove_higher_space_dimensions(long
-						      new_dimension);
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
+    public native void remove_higher_space_dimensions(long new_dimension);
 
 ')
 
 m4_define(`ppl_ at CLASS@_expand_space_dimension_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native void expand_space_dimension(Variable var, long m);
 
 ')
 
 m4_define(`ppl_ at CLASS@_fold_space_dimensions_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
-    public native void fold_space_dimensions(Variables_Set to_be_folded,
-					     Variable var);
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
+    public native void fold_space_dimensions(Variables_Set vars,
+					     Variable dest);
+
+')
+
+m4_define(`ppl_ at CLASS@_drop_some_non_integer_points_code',
+`dnl
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
+    public native void drop_some_non_integer_points
+      (Integer complexity_threshold);
+
+')
+
+m4_define(`ppl_ at CLASS@_drop_some_non_integer_points_2_code',
+`dnl
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
+    public native void drop_some_non_integer_points_2
+      (Variables_Set vars, Integer complexity_threshold);
 
 ')
 
 m4_define(`ppl_ at CLASS@_map_space_dimensions_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native void map_space_dimensions(Partial_Function pfunc);
 
 ')
 
 m4_define(`ppl_ at CLASS@_string_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native String toString();
 
 ')
 
 m4_define(`ppl_new_ at CLASS@_iterator_from_iterator_code',
 `dnl
-%<--%<--%<-- @CLASS at _Iterator.java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at _Iterator.java << ___END_OF_FILE___
     public @CLASS at _Iterator(@CLASS at _Iterator y) {
         build_cpp_object(y);
     }
@@ -476,14 +571,16 @@ m4_define(`ppl_new_ at CLASS@_iterator_from_iterator_code',
 
 m4_define(`ppl_ at CLASS@_ at BEGINEND@_iterator_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native @CLASS at _Iterator @BEGINEND at _iterator();
 
 ')
 
 m4_define(`ppl_delete_ at CLASS@_iterator_code',
 `dnl
-%<--%<--%<-- @CLASS at _Iterator.java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at _Iterator.java << ___END_OF_FILE___
     public native void free();
 
     protected native void finalize();
@@ -492,14 +589,16 @@ m4_define(`ppl_delete_ at CLASS@_iterator_code',
 
 m4_define(`ppl_ at CLASS@_get_disjunct_code',
 `dnl
-%<--%<--%<-- @CLASS at _Iterator.java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at _Iterator.java << ___END_OF_FILE___
   public native @DISJUNCT_TOPOLOGY@@DISJUNCT@ get_disjunct();
 
 ')
 
 m4_define(`ppl_ at CLASS@_drop_disjunct_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
   public native void drop_disjunct(@CLASS at _Iterator itr);
 
 ')
@@ -513,49 +612,56 @@ m4_define(`ppl_ at CLASS@_drop_disjuncts_code',
 
 m4_define(`ppl_ at CLASS@_add_disjunct_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
   public native void add_disjunct(@DISJUNCT_TOPOLOGY@@DISJUNCT@ j_disj);
 
 ')
 
 m4_define(`ppl_ at CLASS@_iterator_equals_iterator_code',
 `dnl
-%<--%<--%<-- @CLASS at _Iterator.java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at _Iterator.java << ___END_OF_FILE___
   public native boolean equals(@CLASS at _Iterator itr);
 
 ')
 
 m4_define(`ppl_ at CLASS@_ at INCDEC@_iterator_code',
 `dnl
-%<--%<--%<-- @CLASS at _Iterator.java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at _Iterator.java << ___END_OF_FILE___
   public native void @A_INCDEC@();
 
 ')
 
 m4_define(`ppl_ at CLASS@_ at MEMBYTES@_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
   public native long @MEMBYTES@();
 
 ')
 
 m4_define(`ppl_ at CLASS@_constrains_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
   public native boolean constrains(Variable var);
 
 ')
 
 m4_define(`ppl_ at CLASS@_ascii_dump_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
     public native String ascii_dump();
 
 ')
 
 m4_define(`ppl_ at CLASS@_linear_ at PARTITION@_code',
 `dnl
-%<--%<--%<-- @TOPOLOGY@@CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @TOPOLOGY@@CLASS at .java << ___END_OF_FILE___
 
   public static native
     Pair <@TOPOLOGY@@CLASS@|COMMA| Pointset_Powerset_NNC_Polyhedron >
@@ -564,10 +670,83 @@ m4_define(`ppl_ at CLASS@_linear_ at PARTITION@_code',
 
 m4_define(`ppl_ at CLASS@_approximate_ at PARTITION@_code',
 `dnl
-%<--%<--%<-- @CLASS at .java
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
 
   public static native Pair <@CLASS@|COMMA| Pointset_Powerset_Grid >
       approximate_ at PARTITION@(@CLASS@ p,
                             @CLASS@ q,
                             By_Reference<Boolean> finite);
 ')
+
+m4_define(`ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+`dnl
+___END_OF_FILE___
+___BEGIN_OF_FILE___ Termination.java << ___END_OF_FILE___
+    public static native boolean
+      termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@(@TOPOLOGY@@CLASS@ p);
+')
+
+m4_define(`ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_code',
+`dnl
+___END_OF_FILE___
+___BEGIN_OF_FILE___ Termination.java << ___END_OF_FILE___
+    public static native boolean
+      termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2
+        (@TOPOLOGY@@CLASS@ p_before, @TOPOLOGY@@CLASS@ p_after);
+')
+
+m4_define(`ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+`dnl
+___END_OF_FILE___
+___BEGIN_OF_FILE___ Termination.java << ___END_OF_FILE___
+    public static native boolean
+      one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@
+        (@TOPOLOGY@@CLASS@ p, Generator g);
+')
+
+m4_define(`ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_code',
+`dnl
+___END_OF_FILE___
+___BEGIN_OF_FILE___ Termination.java << ___END_OF_FILE___
+    public static native boolean
+      one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2
+        (@TOPOLOGY@@CLASS@ p_before, @TOPOLOGY@@CLASS@ p_after, Generator g);
+')
+
+m4_define(`ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+`dnl
+___END_OF_FILE___
+___BEGIN_OF_FILE___ Termination.java << ___END_OF_FILE___
+    public static native void
+      all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@
+        (@TOPOLOGY@@CLASS@ p, Polyhedron ph);
+')
+
+m4_define(`ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_code',
+`dnl
+___END_OF_FILE___
+___BEGIN_OF_FILE___ Termination.java << ___END_OF_FILE___
+    public static native void
+      all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2
+        (@TOPOLOGY@@CLASS@ p_before, @TOPOLOGY@@CLASS@ p_after, Polyhedron ph);
+')
+
+m4_define(`ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _code',
+`dnl
+___END_OF_FILE___
+___BEGIN_OF_FILE___ Termination.java << ___END_OF_FILE___
+    public static native void
+      all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS@
+        (@TOPOLOGY@@CLASS@ p, Polyhedron ph_decreasing, Polyhedron ph_bounded);
+')
+
+m4_define(`ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _2_code',
+`dnl
+___END_OF_FILE___
+___BEGIN_OF_FILE___ Termination.java << ___END_OF_FILE___
+    public static native void
+      all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _2
+        (@TOPOLOGY@@CLASS@ p_before, @TOPOLOGY@@CLASS@ p_after,
+         Polyhedron ph_decreasing, Polyhedron ph_bounded);
+')
diff --git a/interfaces/Java/ppl_interface_generator_java_procedure_generators.m4 b/interfaces/Java/ppl_interface_generator_java_procedure_generators.m4
index 560183c..518098f 100644
--- a/interfaces/Java/ppl_interface_generator_java_procedure_generators.m4
+++ b/interfaces/Java/ppl_interface_generator_java_procedure_generators.m4
@@ -4,7 +4,7 @@ dnl This m4 file defines the list of methods
 dnl for the Java interface; this includes:
 dnl - the list in the imported file and any Java specific methods.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -42,5 +42,13 @@ m4_define(`m4_procedure_list',
 `m4_echo_unquoted(`m4_common_procedure_list',
 ppl_free_ at CLASS@/1 +all,
 ppl_ at CLASS@_hashcode/2 +all -box,
-ppl_ at CLASS@_string/1 +all)dnl
+ppl_ at CLASS@_string/1 +all,
+ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@/1 +simple,
+ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@/2 +simple,
+ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@/2 +simple,
+ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS@/3 +simple,
+ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2/2 +simple,
+ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2/3 +simple,
+ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2/3 +simple,
+ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _2/4 +simple,)dnl
 ')
diff --git a/interfaces/Java/tests/C_Polyhedron_test1.java b/interfaces/Java/tests/C_Polyhedron_test1.java
index 76885fd..217396c 100644
--- a/interfaces/Java/tests/C_Polyhedron_test1.java
+++ b/interfaces/Java/tests/C_Polyhedron_test1.java
@@ -1,6 +1,6 @@
 /* Test C_Polyhedron Java test class of the Parma Polyhedra Library Java
    interface.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -31,16 +31,16 @@ static {
     try {
         System.loadLibrary("ppl_java");
     }
-
-   catch (UnsatisfiedLinkError  e) {
-       System.out.println("Unable to load the library");
-       System.exit(-1);
-   }
+    catch (UnsatisfiedLinkError  e) {
+        System.out.println("Unable to load the library");
+        System.out.println(e.getMessage());
+        System.exit(-1);
+    }
 }
 
     // This code tests the method `map_space_dimension(pfunc)'.
-    public static Boolean test01() {
-	Test_Partial_Function partial_function = new Test_Partial_Function();
+    public static boolean test01() {
+	Partial_Function partial_function = new Partial_Function();
 	partial_function.insert(0, 2);
 	partial_function.insert(2, 0);
 	partial_function.insert(1, 1);
@@ -50,22 +50,20 @@ static {
 	Linear_Expression_Variable le_b = new Linear_Expression_Variable(B);
 	Linear_Expression_Variable le_c = new Linear_Expression_Variable(C);
 	Linear_Expression_Variable le_a = new Linear_Expression_Variable(A);
-	Linear_Expression_Sum le_a_plus_b = new Linear_Expression_Sum(le_a,
-								      le_b);
-	Linear_Expression_Sum le_a_plus_c = new Linear_Expression_Sum(le_a,
-								      le_c);
-	Linear_Expression_Sum le_c_plus_b = new Linear_Expression_Sum(le_c,
-								      le_b);
-	Linear_Expression_Sum le_c_plus_a = new Linear_Expression_Sum(le_c,
-								      le_a);
+	Linear_Expression_Sum le_a_plus_b
+            = new Linear_Expression_Sum(le_a, le_b);
+	Linear_Expression_Sum le_a_plus_c
+            = new Linear_Expression_Sum(le_a, le_c);
+	Linear_Expression_Sum le_c_plus_b
+            = new Linear_Expression_Sum(le_c, le_b);
+	Linear_Expression_Sum le_c_plus_a
+            = new Linear_Expression_Sum(le_c, le_a);
 	Linear_Expression_Coefficient le_two
 	    = new Linear_Expression_Coefficient(new Coefficient(2));
 	Linear_Expression_Times le_2c
-	    = new Linear_Expression_Times(le_c,
-					  new Coefficient(2));
+	    = new Linear_Expression_Times(le_c, new Coefficient(2));
 	Linear_Expression_Times le_2a
-	    = new Linear_Expression_Times(le_a,
-					  new Coefficient(2));
+	    = new Linear_Expression_Times(le_a, new Coefficient(2));
 
 	Generator_System gs = new Generator_System();
 	gs.add(Generator.point(le_2c, new Coefficient(1)));
@@ -81,11 +79,11 @@ static {
 	known_gs.add(Generator.ray(le_c_plus_a));
 
 	C_Polyhedron known_result = new C_Polyhedron(known_gs);
-	return new Boolean(known_result.equals(poly1));
+	return known_result.equals(poly1);
     }
 
 
-    public static Boolean test02() {
+    public static boolean test02() {
 	// Test if `minimized_constraints' returns an empty Constraint_System
 	// if the Polyhedron is built from universe with a dimension greater
 	// than zero.
@@ -94,12 +92,14 @@ static {
 	Variable Z = new Variable(2);
 	C_Polyhedron ph = new C_Polyhedron(3, Degenerate_Element.UNIVERSE);
 	Constraint_System cs = ph.minimized_constraints();
-	return new Boolean(cs.isEmpty());
+	return cs.isEmpty();
     }
 
     public static void main(String[] args) {
+        Parma_Polyhedra_Library.initialize_library();
 	boolean test_result_ok =
 	    Test_Executor.executeTests(C_Polyhedron_test1.class);
+        Parma_Polyhedra_Library.finalize_library();
 	if (!test_result_ok)
 	    System.exit(1);
 	System.exit(0);
diff --git a/interfaces/Java/tests/MIP_Problem_test1.java b/interfaces/Java/tests/MIP_Problem_test1.java
index 9ff3baf..0fbf13f 100644
--- a/interfaces/Java/tests/MIP_Problem_test1.java
+++ b/interfaces/Java/tests/MIP_Problem_test1.java
@@ -1,6 +1,6 @@
 /* Test MIP_Problem Java test class of the Parma Polyhedra Library Java
    interface.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -32,15 +32,15 @@ static {
     try {
         System.loadLibrary("ppl_java");
     }
-
-   catch (UnsatisfiedLinkError  e) {
-       System.out.println("Unable to load the library");
-       System.exit(-1);
-   }
+    catch (UnsatisfiedLinkError  e) {
+        System.out.println("Unable to load the library");
+        System.out.println(e.getMessage());
+        System.exit(-1);
+    }
 }
 
     // This code tests the MIP_Problem methods.
-    public static Boolean test01() {
+    public static boolean test01() {
 	Variable A = new Variable(0);
 	Variable B = new Variable(1);
 	Variable C = new Variable(2);
@@ -70,7 +70,6 @@ static {
         C_Polyhedron ph2 = new C_Polyhedron(4, Degenerate_Element.UNIVERSE);
         ph2.add_constraints(constraints1);
         ph2.add_constraint(constraint2);
-        Boolean ok = true;
 
 	MIP_Problem mip1
           = new MIP_Problem(3, constraints1, le_a,
@@ -85,7 +84,7 @@ static {
         mip2.set_objective_function(mip1_obj);
         mip2.set_optimization_mode(mip1_opt);
 
-        ok = ok && (mip2.space_dimension() == 3)
+        boolean ok = (mip2.space_dimension() == 3)
            && (mip2.optimization_mode() == Optimization_Mode.MAXIMIZATION);
         C_Polyhedron mip2_ph = new C_Polyhedron(3,
                                                 Degenerate_Element.UNIVERSE);
@@ -106,13 +105,13 @@ static {
         C_Polyhedron mip3_ph = new C_Polyhedron(4,
                                                 Degenerate_Element.UNIVERSE);
         mip3_ph.add_constraints(mip3_constraints);
-        ok = ok && new Boolean(mip3_ph.equals(ph2));
+        ok = ok && mip3_ph.equals(ph2);
 
 	return ok;
     }
 
     // This code tests more MIP_Problem methods.
-    public static Boolean test02() {
+    public static boolean test02() {
 	Variable A = new Variable(0);
 	Linear_Expression_Variable le_a = new Linear_Expression_Variable(A);
         Coefficient coeff_0 = new Coefficient(0);
@@ -137,8 +136,6 @@ static {
         Variables_Set var_set_A = new Variables_Set();
         var_set_A.add(A);
 
-        Boolean ok = true;
-
 	MIP_Problem mip1
           = new MIP_Problem(1, constraints1, le_a,
                            Optimization_Mode.MAXIMIZATION);
@@ -148,7 +145,7 @@ static {
         Optimization_Mode mip1_opt = mip1.optimization_mode();
 
         Variables_Set var_set = mip1.integer_space_dimensions();
-        ok = ok && (var_set.isEmpty());
+        boolean ok = var_set.isEmpty();
         mip1.add_to_integer_space_dimensions(var_set_A);
         Variables_Set var_set1 = mip1.integer_space_dimensions();
         ok = ok && (var_set1.contains(A));
@@ -269,8 +266,10 @@ static {
     }
 
     public static void main(String[] args) {
+        Parma_Polyhedra_Library.initialize_library();
 	boolean test_result_ok =
 	    Test_Executor.executeTests(MIP_Problem_test1.class);
+        Parma_Polyhedra_Library.finalize_library();
 	if (!test_result_ok)
 	    System.exit(1);
 	System.exit(0);
diff --git a/interfaces/Java/tests/Makefile.am b/interfaces/Java/tests/Makefile.am
index f2af48f..5be8ad0 100644
--- a/interfaces/Java/tests/Makefile.am
+++ b/interfaces/Java/tests/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -40,12 +40,13 @@ ppl_java_tests_common
 # Even if the Java sources are not really needed, they are built by m4,
 # we need to include them to invoke the Automake Java build system.
 EXTRA_DIST = \
-Test_Partial_Function.java \
 Test_Executor.java \
 C_Polyhedron_test1.java \
 NNC_Polyhedron_test1.java \
 MIP_Problem_test1.java \
+PIP_Problem_test1.java \
 Parma_Polyhedra_Library_test1.java \
+Parma_Polyhedra_Library_test2.java \
 PPL_Test.java \
 ppl_interface_generator_java_test_java_code.m4 \
 ppl_interface_generator_java_test_java.m4 \
@@ -53,37 +54,52 @@ ppl_java_tests_common
 
 check_JAVA = \
 ppl_java_generated_tests.java \
-Test_Partial_Function.java \
 Test_Executor.java \
 C_Polyhedron_test1.java \
 NNC_Polyhedron_test1.java \
 MIP_Problem_test1.java \
+PIP_Problem_test1.java \
 Parma_Polyhedra_Library_test1.java \
+Parma_Polyhedra_Library_test2.java \
 PPL_Test.java
 
+if ENABLE_SHARED
+
 CLASSPATH = ../ppl_java.jar:.
 JAVACFLAGS = -classpath $(CLASSPATH)
 
+PPL_DLOPEN = -dlopen ../../../src/libppl.la
+
+if BUILD_WATCHDOG_LIBRARY
+
+PWL_DLOPEN = -dlopen ../../../Watchdog/src/libpwl.la
+
+endif BUILD_WATCHDOG_LIBRARY
+
 java_test_environment = \
-$(LIBTOOL) --mode=execute -dlopen ../../../src/libppl.la \
+$(LIBTOOL) --mode=execute $(PPL_DLOPEN) $(PWL_DLOPEN) \
 	$(JAVA) -classpath .:../ppl_java.jar \
 		-Djava.library.path=../jni/.libs
 
+ppl_java_generated_tests.java: $(interface_generator_dependencies)
+	$(M4) --prefix-builtin -I../.. \
+		-I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../.. \
+		$(srcdir)/ppl_interface_generator_java_test_java.m4 \
+			> $@
+
 check-local: ppl_java_generated_tests.java
 	$(java_test_environment) ppl_java_generated_tests
 	$(java_test_environment) C_Polyhedron_test1
 	$(java_test_environment) NNC_Polyhedron_test1
 	$(java_test_environment) MIP_Problem_test1
+	$(java_test_environment) PIP_Problem_test1
 	$(java_test_environment) Parma_Polyhedra_Library_test1
-
-ppl_java_generated_tests.java: $(interface_generator_dependencies)
-	$(M4) --prefix-builtin -I../.. \
-		-I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../.. \
-		$(srcdir)/ppl_interface_generator_java_test_java.m4 \
-			> $@
+	$(java_test_environment) Parma_Polyhedra_Library_test2
 
 CLEANFILES = \
 ppl_java_generated_tests.java
 
+endif ENABLE_SHARED
+
 $(top_builddir)/interfaces/ppl_interface_instantiations.m4:
 	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/interfaces ppl_interface_instantiations.m4
diff --git a/interfaces/Java/tests/Makefile.in b/interfaces/Java/tests/Makefile.in
index 8762356..e04f6e0 100644
--- a/interfaces/Java/tests/Makefile.in
+++ b/interfaces/Java/tests/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -37,8 +38,9 @@
 # site: http://www.cs.unipr.it/ppl/ .
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -62,6 +64,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -83,18 +86,26 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
 CLASSPATH_ENV = CLASSPATH=$(JAVAROOT):$(srcdir)/$(JAVAROOT):$$CLASSPATH
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -141,6 +152,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -158,8 +171,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -167,6 +190,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -183,12 +207,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -231,11 +258,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -265,6 +290,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -272,6 +298,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 JAVAROOT = .
 interface_generator_files = \
 ppl_interface_generator_java_test_java.m4 \
@@ -292,12 +319,13 @@ ppl_java_tests_common
 # Even if the Java sources are not really needed, they are built by m4,
 # we need to include them to invoke the Automake Java build system.
 EXTRA_DIST = \
-Test_Partial_Function.java \
 Test_Executor.java \
 C_Polyhedron_test1.java \
 NNC_Polyhedron_test1.java \
 MIP_Problem_test1.java \
+PIP_Problem_test1.java \
 Parma_Polyhedra_Library_test1.java \
+Parma_Polyhedra_Library_test2.java \
 PPL_Test.java \
 ppl_interface_generator_java_test_java_code.m4 \
 ppl_interface_generator_java_test_java.m4 \
@@ -305,23 +333,26 @@ ppl_java_tests_common
 
 check_JAVA = \
 ppl_java_generated_tests.java \
-Test_Partial_Function.java \
 Test_Executor.java \
 C_Polyhedron_test1.java \
 NNC_Polyhedron_test1.java \
 MIP_Problem_test1.java \
+PIP_Problem_test1.java \
 Parma_Polyhedra_Library_test1.java \
+Parma_Polyhedra_Library_test2.java \
 PPL_Test.java
 
-CLASSPATH = ../ppl_java.jar:.
-JAVACFLAGS = -classpath $(CLASSPATH)
-java_test_environment = \
-$(LIBTOOL) --mode=execute -dlopen ../../../src/libppl.la \
-	$(JAVA) -classpath .:../ppl_java.jar \
-		-Djava.library.path=../jni/.libs
+ at ENABLE_SHARED_TRUE@CLASSPATH = ../ppl_java.jar:.
+ at ENABLE_SHARED_TRUE@JAVACFLAGS = -classpath $(CLASSPATH)
+ at ENABLE_SHARED_TRUE@PPL_DLOPEN = -dlopen ../../../src/libppl.la
+ at BUILD_WATCHDOG_LIBRARY_TRUE@@ENABLE_SHARED_TRUE at PWL_DLOPEN = -dlopen ../../../Watchdog/src/libpwl.la
+ at ENABLE_SHARED_TRUE@java_test_environment = \
+ at ENABLE_SHARED_TRUE@$(LIBTOOL) --mode=execute $(PPL_DLOPEN) $(PWL_DLOPEN) \
+ at ENABLE_SHARED_TRUE@	$(JAVA) -classpath .:../ppl_java.jar \
+ at ENABLE_SHARED_TRUE@		-Djava.library.path=../jni/.libs
 
-CLEANFILES = \
-ppl_java_generated_tests.java
+ at ENABLE_SHARED_TRUE@CLEANFILES = \
+ at ENABLE_SHARED_TRUE@ppl_java_generated_tests.java
 
 all: all-am
 
@@ -330,14 +361,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  interfaces/Java/tests/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  interfaces/Java/tests/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign interfaces/Java/tests/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign interfaces/Java/tests/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -355,6 +386,7 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -398,16 +430,21 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
+ at ENABLE_SHARED_FALSE@check-local:
 check-am: all-am
 	$(MAKE) $(AM_MAKEFLAGS) $(check_JAVA)
 	$(MAKE) $(AM_MAKEFLAGS) check-local
@@ -435,6 +472,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -453,6 +491,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -461,18 +501,28 @@ install-data-am:
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am:
 
 install-html: install-html-am
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-am
 
+install-pdf-am:
+
 install-ps: install-ps-am
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -493,7 +543,7 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: install-am install-strip
+.MAKE: check-am install-am install-strip
 
 .PHONY: all all-am check check-am check-local clean clean-checkJAVA \
 	clean-generic clean-libtool distclean distclean-generic \
@@ -508,21 +558,24 @@ uninstall-am:
 	uninstall uninstall-am
 
 
-check-local: ppl_java_generated_tests.java
-	$(java_test_environment) ppl_java_generated_tests
-	$(java_test_environment) C_Polyhedron_test1
-	$(java_test_environment) NNC_Polyhedron_test1
-	$(java_test_environment) MIP_Problem_test1
-	$(java_test_environment) Parma_Polyhedra_Library_test1
+ at ENABLE_SHARED_TRUE@ppl_java_generated_tests.java: $(interface_generator_dependencies)
+ at ENABLE_SHARED_TRUE@	$(M4) --prefix-builtin -I../.. \
+ at ENABLE_SHARED_TRUE@		-I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../.. \
+ at ENABLE_SHARED_TRUE@		$(srcdir)/ppl_interface_generator_java_test_java.m4 \
+ at ENABLE_SHARED_TRUE@			> $@
 
-ppl_java_generated_tests.java: $(interface_generator_dependencies)
-	$(M4) --prefix-builtin -I../.. \
-		-I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../.. \
-		$(srcdir)/ppl_interface_generator_java_test_java.m4 \
-			> $@
+ at ENABLE_SHARED_TRUE@check-local: ppl_java_generated_tests.java
+ at ENABLE_SHARED_TRUE@	$(java_test_environment) ppl_java_generated_tests
+ at ENABLE_SHARED_TRUE@	$(java_test_environment) C_Polyhedron_test1
+ at ENABLE_SHARED_TRUE@	$(java_test_environment) NNC_Polyhedron_test1
+ at ENABLE_SHARED_TRUE@	$(java_test_environment) MIP_Problem_test1
+ at ENABLE_SHARED_TRUE@	$(java_test_environment) PIP_Problem_test1
+ at ENABLE_SHARED_TRUE@	$(java_test_environment) Parma_Polyhedra_Library_test1
+ at ENABLE_SHARED_TRUE@	$(java_test_environment) Parma_Polyhedra_Library_test2
 
 $(top_builddir)/interfaces/ppl_interface_instantiations.m4:
 	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/interfaces ppl_interface_instantiations.m4
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/interfaces/Java/tests/NNC_Polyhedron_test1.java b/interfaces/Java/tests/NNC_Polyhedron_test1.java
index cfde6bd..4de59cb 100644
--- a/interfaces/Java/tests/NNC_Polyhedron_test1.java
+++ b/interfaces/Java/tests/NNC_Polyhedron_test1.java
@@ -1,6 +1,6 @@
 /* Test NNC_Polyhedron Java test class of the Parma Polyhedra Library Java
    interface.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -32,14 +32,14 @@ static {
     try {
         System.loadLibrary("ppl_java");
     }
-
-   catch (UnsatisfiedLinkError  e) {
-       System.out.println("Unable to load the library");
-       System.exit(-1);
-   }
+    catch (UnsatisfiedLinkError  e) {
+        System.out.println("Unable to load the library");
+        System.out.println(e.getMessage());
+        System.exit(-1);
+    }
 }
 
-    public static Boolean test01() {
+    public static boolean test01() {
 	Variable X = new Variable(0);
 	Variable Y = new Variable(1);
 	Variable Z = new Variable(2);
@@ -54,18 +54,23 @@ static {
 	Linear_Expression le_5
 	    = new Linear_Expression_Coefficient(new Coefficient(5));
 	Linear_Expression lhs1 = le_X.sum(le_2Y.sum(le_5Z));
-	NNC_Polyhedron ph1 = new NNC_Polyhedron(3,
-						Degenerate_Element.UNIVERSE);
+	NNC_Polyhedron ph1
+            = new NNC_Polyhedron(3, Degenerate_Element.UNIVERSE);
 	ph1.add_constraint(new Constraint(lhs1,
-					 Relation_Symbol.GREATER_OR_EQUAL,
-					 le_7));
-	ph1.add_constraint(new Constraint(le_X, Relation_Symbol.LESS_THAN,
+                                          Relation_Symbol.GREATER_OR_EQUAL,
+                                          le_7));
+	ph1.add_constraint(new Constraint(le_X,
+                                          Relation_Symbol.LESS_THAN,
 					  le_5Z));
 	PPL_Test.println_if_noisy(ph1.constraints().toString());
-	return new Boolean(true);
+        Constraint c = new Constraint(le_5Z,
+                                      Relation_Symbol.GREATER_THAN,
+                                      le_X);
+        Poly_Con_Relation rel = ph1.relation_with(c);
+	return rel.implies(Poly_Con_Relation.is_included());
     }
 
-    public static Boolean test02() {
+    public static boolean test02() {
 	// Test if `minimized_constraints' returns an empty Constraint_System
 	// if the Polyhedron is built from universe with a dimension greater
 	// than zero.
@@ -74,12 +79,45 @@ static {
 	Variable Z = new Variable(2);
 	NNC_Polyhedron ph = new NNC_Polyhedron(3, Degenerate_Element.UNIVERSE);
 	Constraint_System cs = ph.minimized_constraints();
-	return new Boolean(cs.isEmpty());
+	return cs.isEmpty();
+    }
+
+    public static boolean test03() {
+	// Test termination methods.
+	Variable X1 = new Variable(0);
+	Variable X2 = new Variable(1);
+	Variable XP1 = new Variable(2);
+	Variable XP2 = new Variable(3);
+	NNC_Polyhedron ph = new NNC_Polyhedron(4, Degenerate_Element.UNIVERSE);
+        Coefficient coeff_1 = new Coefficient(1);
+        Coefficient coeff_0 = new Coefficient(0);
+	Linear_Expression le_X1 = new Linear_Expression_Variable(X1);
+	Linear_Expression le_X2 = new Linear_Expression_Variable(X2);
+	Linear_Expression le_XP1 = new Linear_Expression_Variable(XP1);
+	Linear_Expression le_XP2 = new Linear_Expression_Variable(XP2);
+	Linear_Expression le_1 = new Linear_Expression_Coefficient(coeff_1);
+	Linear_Expression le_0 = new Linear_Expression_Coefficient(coeff_0);
+	Linear_Expression le_X1_difference_XP1 = le_X1.sum(le_XP1);
+	Constraint c_XP2_eq_1
+          = new Constraint(le_XP2, Relation_Symbol.EQUAL, le_1);
+	Constraint c_X1_geq_1
+          = new Constraint(le_X1, Relation_Symbol.GREATER_OR_EQUAL, le_1);
+	Constraint c_X1_minus_XP1_geq_1
+          = new Constraint(le_X1_difference_XP1, Relation_Symbol.GREATER_OR_EQUAL, le_1);
+	Constraint c_X2_leq_0
+          = new Constraint(le_X2, Relation_Symbol.LESS_OR_EQUAL, le_0);
+	ph.add_constraint(c_XP2_eq_1);
+	ph.add_constraint(c_X1_geq_1);
+	ph.add_constraint(c_X1_minus_XP1_geq_1);
+	ph.add_constraint(c_X2_leq_0);
+	return Termination.termination_test_MS_NNC_Polyhedron(ph);
     }
 
     public static void main(String[] args) {
+        Parma_Polyhedra_Library.initialize_library();
 	boolean test_result_ok =
 	    Test_Executor.executeTests(NNC_Polyhedron_test1.class);
+        Parma_Polyhedra_Library.finalize_library();
 	if (!test_result_ok)
 	    System.exit(1);
 	System.exit(0);
diff --git a/interfaces/Java/tests/PIP_Problem_test1.java b/interfaces/Java/tests/PIP_Problem_test1.java
new file mode 100644
index 0000000..a5b1121
--- /dev/null
+++ b/interfaces/Java/tests/PIP_Problem_test1.java
@@ -0,0 +1,483 @@
+/* Test PIP_Problem Java test class of the Parma Polyhedra Library Java
+   interface.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+import java.math.BigInteger;
+import java.util.Iterator;
+import java.util.Vector;
+import parma_polyhedra_library.*;
+
+
+public class PIP_Problem_test1 {
+static {
+    try {
+        System.loadLibrary("ppl_java");
+    }
+    catch (UnsatisfiedLinkError  e) {
+        System.out.println("Unable to load the library");
+        System.out.println(e.getMessage());
+        System.exit(-1);
+    }
+}
+
+    // This code tests the PIP_Problem methods.
+    public static boolean test01() {
+	Variable A = new Variable(0);
+	Variable B = new Variable(1);
+	Variable C = new Variable(2);
+	Variable D = new Variable(3);
+        Variables_Set var_set_D = new Variables_Set();
+        var_set_D.add(D);
+	Linear_Expression_Variable le_b = new Linear_Expression_Variable(B);
+	Linear_Expression_Variable le_c = new Linear_Expression_Variable(C);
+	Linear_Expression_Variable le_a = new Linear_Expression_Variable(A);
+	Linear_Expression_Variable le_d = new Linear_Expression_Variable(D);
+        Coefficient coeff_1 = new Coefficient(1);
+        Coefficient coeff_3 = new Coefficient(3);
+        Coefficient coeff_5 = new Coefficient(5);
+	Linear_Expression le_1 = new Linear_Expression_Coefficient(coeff_1);
+	Linear_Expression le_3 = new Linear_Expression_Coefficient(coeff_3);
+	Linear_Expression le_5 = new Linear_Expression_Coefficient(coeff_5);
+
+	// Constraint declarations.
+	Constraint c_a_geq_1
+          = new Constraint(le_a, Relation_Symbol.GREATER_OR_EQUAL, le_1);
+	Constraint c_a_leq_5
+          = new Constraint(le_a, Relation_Symbol.LESS_OR_EQUAL, le_5);
+	Constraint c_b_geq_3
+          = new Constraint(le_b, Relation_Symbol.GREATER_OR_EQUAL, le_3);
+	Constraint c_d_leq_1
+          = new Constraint(le_d, Relation_Symbol.LESS_OR_EQUAL, le_1);
+	Constraint constraint1 = c_a_geq_1;
+	Constraint constraint2 = c_b_geq_3;
+	Constraint_System constraints1 = new Constraint_System();
+        constraints1.add(constraint1);
+        C_Polyhedron ph1 = new C_Polyhedron(3, Degenerate_Element.UNIVERSE);
+        ph1.add_constraints(constraints1);
+        C_Polyhedron ph2 = new C_Polyhedron(4, Degenerate_Element.UNIVERSE);
+        ph2.add_constraints(constraints1);
+        ph2.add_constraint(constraint2);
+
+	PIP_Problem pip1 = new PIP_Problem(3);
+        pip1.add_constraints(constraints1);
+        Constraint pip1_c1 = pip1.constraint_at_index(0);
+        long pip1_dim = pip1.space_dimension();
+
+        PIP_Problem pip2 = new PIP_Problem(pip1_dim);
+        pip2.add_constraints(constraints1);
+
+        boolean ok = (pip2.space_dimension() == 3);
+        if (!ok)
+          return false;
+
+        PIP_Problem pip3 = new PIP_Problem(3);
+        pip3.add_constraints(constraints1);
+        pip3.add_space_dimensions_and_embed(0, 1);
+        pip3.add_constraint(constraint2);
+        ok = ok && (pip3.space_dimension() == 4);
+
+	Constraint constraint4 = c_d_leq_1;
+	Constraint_System constraints4 = new Constraint_System();
+        constraints4.add(constraint1);
+        constraints4.add(constraint4);
+        PIP_Problem pip4 = new PIP_Problem(4, constraints4, var_set_D);
+        ok = ok
+             && (pip4.space_dimension() == 4)
+             && (pip4.number_of_parameter_space_dimensions() == 1);
+
+	return ok;
+    }
+
+    // This code tests more PIP_Problem methods.
+    public static boolean test02() {
+	Variable A = new Variable(0);
+	Variable B = new Variable(1);
+	Linear_Expression_Variable le_a = new Linear_Expression_Variable(A);
+        Coefficient coeff_0 = new Coefficient(0);
+        Coefficient coeff_1 = new Coefficient(1);
+        Coefficient coeff_5 = new Coefficient(5);
+        Coefficient coeff_8 = new Coefficient(8);
+	Linear_Expression le_1 = new Linear_Expression_Coefficient(coeff_1);
+	Linear_Expression le_5 = new Linear_Expression_Coefficient(coeff_5);
+	Linear_Expression le_8 = new Linear_Expression_Coefficient(coeff_8);
+
+	// Constraint declarations.
+	Constraint c_a_geq_1
+          = new Constraint(le_a, Relation_Symbol.GREATER_OR_EQUAL, le_1);
+	Constraint c_a_leq_5
+          = new Constraint(le_a, Relation_Symbol.LESS_OR_EQUAL, le_5);
+	Constraint c_a_eq_8
+          = new Constraint(le_a, Relation_Symbol.EQUAL, le_8);
+	Constraint constraint1 = c_a_geq_1;
+	Constraint_System constraints1 = new Constraint_System();
+        constraints1.add(constraint1);
+
+        Variables_Set var_set_B = new Variables_Set();
+        var_set_B.add(B);
+
+	PIP_Problem pip1 = new PIP_Problem(2);
+        pip1.add_constraints(constraints1);
+         long pip1_dim = pip1.space_dimension();
+        pip1.add_to_parameter_space_dimensions(var_set_B);
+        Variables_Set var_set1 = pip1.parameter_space_dimensions();
+        boolean ok = (var_set1.contains(B));
+        if (!ok)
+          return false;
+        ok = pip1.is_satisfiable();
+        if (!ok)
+          return false;
+
+        PIP_Problem_Status pip1_status;
+        pip1_status = pip1.solve();
+	ok = ok && (pip1_status == PIP_Problem_Status.OPTIMIZED_PIP_PROBLEM);
+
+        PIP_Problem_Status pip2_status;
+        pip1.add_constraint(c_a_leq_5);
+        pip2_status = pip1.solve();
+	ok = ok && (pip2_status == PIP_Problem_Status.OPTIMIZED_PIP_PROBLEM);
+        if (!ok)
+          return false;
+
+        PPL_Test.println_if_noisy("Testing toString() and wrap_string(): ");
+        PPL_Test.println_if_noisy(IO.wrap_string(pip1.toString(), 4, 64, 60));
+        PPL_Test.println_if_noisy();
+
+        PPL_Test.print_if_noisy("Testing max_space_dimension(): ");
+        long max_space_dim = pip1.max_space_dimension();
+        PPL_Test.println_if_noisy(max_space_dim);
+
+        PIP_Problem_Control_Parameter_Value cp_value1
+          = pip1.get_pip_problem_control_parameter
+              (PIP_Problem_Control_Parameter_Name.CUTTING_STRATEGY);
+        pip1.set_pip_problem_control_parameter(
+          PIP_Problem_Control_Parameter_Value.CUTTING_STRATEGY_FIRST);
+        PIP_Problem_Control_Parameter_Value cp_value2
+          = pip1.get_pip_problem_control_parameter
+              (PIP_Problem_Control_Parameter_Name.CUTTING_STRATEGY);
+        ok = ok
+          && (cp_value2
+                == PIP_Problem_Control_Parameter_Value.CUTTING_STRATEGY_FIRST);
+        if (!ok)
+          return false;
+
+        pip1.set_pip_problem_control_parameter(
+          PIP_Problem_Control_Parameter_Value.PIVOT_ROW_STRATEGY_MAX_COLUMN);
+        PIP_Problem_Control_Parameter_Value cp_value3
+          = pip1.get_pip_problem_control_parameter
+              (PIP_Problem_Control_Parameter_Name.PIVOT_ROW_STRATEGY);
+        ok = ok
+          && (cp_value3
+                == PIP_Problem_Control_Parameter_Value
+                    .PIVOT_ROW_STRATEGY_MAX_COLUMN);
+
+        pip1.set_pip_problem_control_parameter(
+          PIP_Problem_Control_Parameter_Value.CUTTING_STRATEGY_ALL);
+        PIP_Problem_Control_Parameter_Value cp_value4
+          = pip1.get_pip_problem_control_parameter
+              (PIP_Problem_Control_Parameter_Name.CUTTING_STRATEGY);
+        ok = ok
+          && (cp_value4
+                == PIP_Problem_Control_Parameter_Value.CUTTING_STRATEGY_ALL);
+
+	return ok && pip1.OK();
+    }
+
+
+    // This code tests PIP_Tree and its methods.
+    public static boolean test03() {
+	Variable A = new Variable(0);
+	Variable B = new Variable(1);
+	Variable C = new Variable(2);
+	Variable D = new Variable(3);
+        Variables_Set var_set_D = new Variables_Set();
+        var_set_D.add(D);
+	Linear_Expression_Variable le_b = new Linear_Expression_Variable(B);
+	Linear_Expression_Variable le_c = new Linear_Expression_Variable(C);
+	Linear_Expression_Variable le_a = new Linear_Expression_Variable(A);
+	Linear_Expression_Variable le_d = new Linear_Expression_Variable(D);
+        Coefficient coeff_0 = new Coefficient(0);
+        Coefficient coeff_1 = new Coefficient(1);
+        Coefficient coeff_3 = new Coefficient(3);
+        Coefficient coeff_5 = new Coefficient(5);
+        Coefficient coeff_8 = new Coefficient(8);
+	Linear_Expression le_1 = new Linear_Expression_Coefficient(coeff_1);
+	Linear_Expression le_3 = new Linear_Expression_Coefficient(coeff_3);
+	Linear_Expression le_5 = new Linear_Expression_Coefficient(coeff_5);
+	Linear_Expression le_8 = new Linear_Expression_Coefficient(coeff_8);
+
+	// Constraint declarations.
+	Constraint c_a_geq_1
+          = new Constraint(le_a, Relation_Symbol.GREATER_OR_EQUAL, le_1);
+	Constraint c_a_leq_5
+          = new Constraint(le_a, Relation_Symbol.LESS_OR_EQUAL, le_5);
+	Constraint c_a_eq_8
+          = new Constraint(le_a, Relation_Symbol.EQUAL, le_8);
+	Constraint c_d_leq_1
+          = new Constraint(le_d, Relation_Symbol.LESS_OR_EQUAL, le_1);
+	Constraint constraint1 = c_a_geq_1;
+	Constraint_System constraints1 = new Constraint_System();
+        constraints1.add(constraint1);
+
+        Variables_Set var_set_B = new Variables_Set();
+        var_set_B.add(B);
+
+	PIP_Problem pip1 = new PIP_Problem(2);
+        pip1.add_constraints(constraints1);
+        long pip1_dim = pip1.space_dimension();
+        pip1.add_to_parameter_space_dimensions(var_set_B);
+        Variables_Set var_set1 = pip1.parameter_space_dimensions();
+        boolean ok = pip1.is_satisfiable();
+        if (!ok)
+          return false;
+        PIP_Tree_Node ptree1 = pip1.solution();
+        long num_of_arts1 = ptree1.number_of_artificials();
+        Artificial_Parameter_Sequence arts1 = ptree1.artificials();
+        ok = ptree1.OK() && num_of_arts1 == 0 && arts1.size() == 0;
+        if (!ok)
+          return false;
+        PIP_Solution_Node psol1 = ptree1.as_solution();
+        PIP_Decision_Node pdec1 = ptree1.as_decision();
+        if (psol1 == null || pdec1 != null)
+            return false;
+        Constraint_System ptree1_constraints = ptree1.constraints();
+        C_Polyhedron pip1_ph = new C_Polyhedron(pip1_dim,
+                                                Degenerate_Element.UNIVERSE);
+        C_Polyhedron ph1 = new C_Polyhedron(pip1_dim,
+                                            Degenerate_Element.UNIVERSE);
+        ph1.add_constraint(constraint1);
+        pip1_ph.add_constraints(ptree1_constraints);
+        ok = ok && !pip1_ph.equals(ph1);
+        if (!ok)
+          return false;
+
+        PPL_Test.println_if_noisy("Testing toString() and wrap_string(): ");
+        PPL_Test.println_if_noisy(IO.wrap_string(ptree1.toString(), 4, 64, 60));
+        PPL_Test.println_if_noisy();
+
+	Constraint constraint2 = c_d_leq_1;
+	Constraint_System constraints2 = new Constraint_System();
+        constraints2.add(constraint1);
+        constraints2.add(constraint2);
+        PIP_Problem pip2 = new PIP_Problem(4, constraints2, var_set_D);
+        PIP_Tree_Node ptree2 = pip2.solution();
+        long num_of_arts2 = ptree2.number_of_artificials();
+        ok = (ptree2.OK() && (num_of_arts2 == 0));
+        if (!ok)
+          return false;
+        PIP_Solution_Node psol2 = ptree2.as_solution();
+        PIP_Decision_Node pdec2 = ptree2.as_decision();
+        Artificial_Parameter_Sequence arts2 = ptree2.artificials();
+        if (psol2 == null || pdec2 != null)
+            return false;
+        ok = arts2.isEmpty();
+        if (!ok)
+          return false;
+
+        PPL_Test.println_if_noisy("Testing toString() and wrap_string(): ");
+        PPL_Test.println_if_noisy(IO.wrap_string(ptree2.toString(), 4, 64, 60));
+        PPL_Test.println_if_noisy();
+
+        return true;
+   }
+
+   // This code is based on test02 in pipproblem1.cc.
+    public static boolean test04() {
+	Variable I = new Variable(0);
+	Variable J = new Variable(1);
+	Variable N = new Variable(2);
+	Variable M = new Variable(3);
+        Variables_Set params = new Variables_Set();
+        params.add(N);
+        params.add(M);
+	Linear_Expression_Variable le_i = new Linear_Expression_Variable(I);
+	Linear_Expression_Variable le_j = new Linear_Expression_Variable(J);
+	Linear_Expression_Variable le_n = new Linear_Expression_Variable(N);
+	Linear_Expression_Variable le_m = new Linear_Expression_Variable(M);
+        Coefficient coeff_0 = new Coefficient(0);
+        Coefficient coeff_1 = new Coefficient(1);
+        Coefficient coeff_2 = new Coefficient(2);
+        Coefficient coeff_3 = new Coefficient(3);
+        Coefficient coeff_4 = new Coefficient(4);
+        Coefficient coeff_7 = new Coefficient(7);
+        Coefficient coeff_8 = new Coefficient(8);
+        Coefficient coeff_10 = new Coefficient(10);
+	Linear_Expression le_0 = new Linear_Expression_Coefficient(coeff_0);
+	Linear_Expression le_1 = new Linear_Expression_Coefficient(coeff_1);
+	Linear_Expression le_2 = new Linear_Expression_Coefficient(coeff_2);
+	Linear_Expression le_3 = new Linear_Expression_Coefficient(coeff_3);
+	Linear_Expression le_4 = new Linear_Expression_Coefficient(coeff_4);
+	Linear_Expression le_7 = new Linear_Expression_Coefficient(coeff_7);
+	Linear_Expression le_8 = new Linear_Expression_Coefficient(coeff_8);
+	Linear_Expression le_10 = new Linear_Expression_Coefficient(coeff_10);
+	Linear_Expression le_2i = le_i.times(coeff_2);
+	Linear_Expression le_3j = le_j.times(coeff_3);
+	Linear_Expression le_2i_plus_3j = le_2i.sum(le_3j);
+	Linear_Expression le_4i = le_i.times(coeff_4);
+	Linear_Expression le_4i_diff_j = le_4i.subtract(le_j);
+	Linear_Expression le_m_diff_j = le_m.subtract(le_j);
+	Linear_Expression le_n_diff_i = le_n.subtract(le_i);
+
+	// Constraint declarations.
+	Constraint c_1
+          = new Constraint(le_2i_plus_3j, Relation_Symbol.GREATER_OR_EQUAL,
+                           le_8);
+	Constraint c_2
+          = new Constraint(le_4i_diff_j, Relation_Symbol.GREATER_OR_EQUAL,
+                           le_4);
+	Constraint c_3
+          = new Constraint(le_m_diff_j, Relation_Symbol.GREATER_OR_EQUAL,
+                           le_0);
+	Constraint c_4
+          = new Constraint(le_n_diff_i, Relation_Symbol.GREATER_OR_EQUAL,
+                           le_0);
+	Constraint_System cs = new Constraint_System();
+        cs.add(c_1);
+        cs.add(c_2);
+        cs.add(c_3);
+        cs.add(c_4);
+
+	PIP_Problem pip = new PIP_Problem(4, cs, params);
+
+        // Known to overflow if PPL uses 8-bits checked integers.
+        try {
+            pip.solve();
+        }
+        catch (Overflow_Error_Exception ex) {
+            if (Coefficient.bits() != 8)
+                throw ex;
+            PPL_Test.println_if_noisy("Expected overflow exception caught:");
+            PPL_Test.println_if_noisy(ex.getMessage());
+            return true;
+        }
+
+        PIP_Problem_Status pip_status = pip.solve();
+        boolean ok = (pip_status == PIP_Problem_Status.OPTIMIZED_PIP_PROBLEM);
+        if (!ok)
+          return false;
+        PIP_Tree_Node solution = pip.solution();
+        ok = solution.OK();
+        if (!ok)
+          return false;
+
+        PPL_Test.println_if_noisy();
+        PPL_Test.println_if_noisy("Testing toString():");
+        PPL_Test.println_if_noisy(solution.toString());
+        PPL_Test.println_if_noisy();
+
+        PIP_Decision_Node root = solution.as_decision();
+        if (root == null || !root.OK())
+          return false;
+        if (root.number_of_artificials() != 0)
+          return false;
+        Constraint_System cs1 = root.constraints();
+        if (cs1.size() != 1)
+          return false;
+        Constraint c = cs.firstElement();
+        Linear_Expression le_left = c.left_hand_side();
+        Linear_Expression le_right = c.right_hand_side();
+        Relation_Symbol relsym = c.kind();
+        if (relsym != Relation_Symbol.GREATER_OR_EQUAL
+            || (le_left.is_zero()) || (le_right.is_zero()))
+          return false;
+        PIP_Tree_Node root_true_branch = root.child_node(true);
+        if (root_true_branch == null)
+          return false;
+
+        PPL_Test.println_if_noisy("PIP Tree root node Constraint: ");
+        PPL_Test.println_if_noisy(IO.wrap_string(c.toString(), 4, 64, 60));
+        PPL_Test.println_if_noisy();
+
+        PIP_Decision_Node t_child = root_true_branch.as_decision();
+        if (t_child == null || !t_child.OK())
+          return false;
+
+        // Check t_child node context.
+        if (t_child.number_of_artificials() != 0)
+          return false;
+        Constraint_System cs2 = t_child.constraints();
+        if (cs2.size() != 1)
+          return false;
+        Constraint c2 = cs2.firstElement();
+        Linear_Expression le_left2 = c2.left_hand_side();
+        Linear_Expression le_right2 = c2.right_hand_side();
+        Relation_Symbol relsym2 = c2.kind();
+        if (relsym2 != Relation_Symbol.GREATER_OR_EQUAL
+          || (le_left2.is_zero()) || (le_right2.is_zero()))
+          return false;
+
+        if (t_child.child_node(true) == null)
+          return false;
+        PIP_Solution_Node t_t_child = t_child.child_node(true).as_solution();
+        if (t_t_child == null || !t_t_child.OK())
+          return false;
+
+        // Check t_t_child node.
+        if (t_t_child.number_of_artificials() != 0)
+          return false;
+        Constraint_System cs3 = t_t_child.constraints();
+        if (cs3.size() != 0)
+          return false;
+        Linear_Expression v_i = t_t_child.parametric_values(I);
+        Linear_Expression v_j = t_t_child.parametric_values(J);
+
+        PIP_Solution_Node t_f_child = t_child.child_node(false).as_solution();
+        if (t_f_child == null || !t_f_child.OK())
+          return false;
+
+        // Check t_f_child node.
+        // Check artificial parameter.
+        if (t_f_child.number_of_artificials() != 1)
+          return false;
+        Artificial_Parameter ap = t_f_child.artificials().firstElement();
+        Linear_Expression ap_le = ap.linear_expression();
+        Coefficient ap_den = ap.denominator();
+
+        PPL_Test.println_if_noisy("Artificial_Parameter linear_expression: ");
+        PPL_Test.println_if_noisy(IO.wrap_string(ap_le.toString(), 4, 64, 60));
+        PPL_Test.println_if_noisy();
+        PPL_Test.println_if_noisy("Artificial_Parameter denominator: ");
+        PPL_Test.println_if_noisy(IO.wrap_string(ap_den.toString(), 4, 64, 60));
+        PPL_Test.println_if_noisy();
+         // Check context.
+        Constraint_System cs4 = t_f_child.constraints();
+        if (cs4.size() != 1)
+          return false;
+        Constraint c4 = cs4.firstElement();
+        if (c4.kind() != Relation_Symbol.GREATER_OR_EQUAL)
+          return false;
+        // Check parametric values.
+        Linear_Expression v_i4 = t_f_child.parametric_values(I);
+        Linear_Expression v_j4 = t_f_child.parametric_values(J);
+
+      return true;
+    }
+
+    public static void main(String[] args) {
+        Parma_Polyhedra_Library.initialize_library();
+	boolean test_result_ok =
+	    Test_Executor.executeTests(PIP_Problem_test1.class);
+        Parma_Polyhedra_Library.finalize_library();
+	if (!test_result_ok)
+	    System.exit(1);
+	System.exit(0);
+    }
+}
diff --git a/interfaces/Java/tests/PPL_Test.java b/interfaces/Java/tests/PPL_Test.java
index 0e1d173..807be56 100644
--- a/interfaces/Java/tests/PPL_Test.java
+++ b/interfaces/Java/tests/PPL_Test.java
@@ -1,5 +1,5 @@
 /* Test helper class of the Parma Polyhedra Library Java interface.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/tests/Parma_Polyhedra_Library_test1.java b/interfaces/Java/tests/Parma_Polyhedra_Library_test1.java
index ebc1e69..3fdbaf7 100644
--- a/interfaces/Java/tests/Parma_Polyhedra_Library_test1.java
+++ b/interfaces/Java/tests/Parma_Polyhedra_Library_test1.java
@@ -1,6 +1,6 @@
 /* Parma_Polyhedra_Library Java test class of the
    Parma Polyhedra Library Java interface.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -32,15 +32,15 @@ static {
     try {
         System.loadLibrary("ppl_java");
     }
-
-   catch (UnsatisfiedLinkError  e) {
-       System.out.println("Unable to load the library");
-       System.exit(-1);
-   }
+    catch (UnsatisfiedLinkError  e) {
+        System.out.println("Unable to load the library");
+        System.out.println(e.getMessage());
+        System.exit(-1);
+    }
 }
 
     // This code tests the Parma_Polyhedra_Library methods.
-    public static Boolean test01() {
+    public static boolean test01() {
 
     PPL_Test.print_if_noisy("Version Major: ");
     PPL_Test.println_if_noisy(Parma_Polyhedra_Library.version_major());
@@ -56,14 +56,18 @@ static {
     PPL_Test.println_if_vnoisy(Parma_Polyhedra_Library.banner());
     Parma_Polyhedra_Library.set_rounding_for_PPL();
     Parma_Polyhedra_Library.restore_pre_PPL_rounding();
+    PPL_Test.print_if_noisy("Irrational precision: ");
+    PPL_Test.println_if_noisy(Parma_Polyhedra_Library.irrational_precision());
 
     return true;
     }
 
 
     public static void main(String[] args) {
+        Parma_Polyhedra_Library.initialize_library();
 	boolean test_result_ok =
 	    Test_Executor.executeTests(Parma_Polyhedra_Library_test1.class);
+        Parma_Polyhedra_Library.finalize_library();
 	if (!test_result_ok)
 	    System.exit(1);
 	System.exit(0);
diff --git a/interfaces/Java/tests/Parma_Polyhedra_Library_test2.java b/interfaces/Java/tests/Parma_Polyhedra_Library_test2.java
new file mode 100644
index 0000000..75b261f
--- /dev/null
+++ b/interfaces/Java/tests/Parma_Polyhedra_Library_test2.java
@@ -0,0 +1,141 @@
+/* Parma_Polyhedra_Library Java test class of the
+   Parma Polyhedra Library Java interface.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+import parma_polyhedra_library.*;
+
+public class Parma_Polyhedra_Library_test2 {
+static {
+    try {
+        System.loadLibrary("ppl_java");
+    }
+    catch (UnsatisfiedLinkError  e) {
+        System.out.println("Unable to load the library");
+        System.out.println(e.getMessage());
+        System.exit(-1);
+    }
+}
+
+    // This code tests the timeout functions.
+    public static boolean test01() {
+        int hsecs = 50;
+        int max_dimension = 20;
+        return timed_compute_open_hypercube_generators(hsecs, max_dimension);
+    }
+
+    // This code tests the deterministic timeout functions.
+    public static boolean test02() {
+        int weight = 2000;
+        int max_dimension = 20;
+        return weighted_compute_open_hypercube_generators(weight,
+                                                          max_dimension);
+    }
+
+    public static void main(String[] args) {
+        Parma_Polyhedra_Library.initialize_library();
+	boolean test_result_ok =
+	    Test_Executor.executeTests(Parma_Polyhedra_Library_test2.class);
+        Parma_Polyhedra_Library.finalize_library();
+	if (!test_result_ok)
+	    System.exit(1);
+	System.exit(0);
+    }
+
+    private static void open_hypercube(int dimension, Polyhedron ph) {
+        Linear_Expression le_zero
+            = new Linear_Expression_Coefficient(new Coefficient("0"));
+        Linear_Expression le_one
+            = new Linear_Expression_Coefficient(new Coefficient("1"));
+
+        Constraint_System cs = new Constraint_System();
+        Linear_Expression le;
+        Constraint c;
+        for (int i = 0; i < dimension; ++i) {
+            // Variable(i) > 0.
+            le = new Linear_Expression_Variable(new Variable(i));
+            c = new Constraint(le, Relation_Symbol.GREATER_THAN, le_zero);
+            cs.add(c);
+            // Variable(i) < 1.
+            c = new Constraint(le, Relation_Symbol.LESS_THAN, le_one);
+            cs.add(c);
+        }
+        ph.add_constraints(cs);
+    }
+
+    private static boolean
+        timed_compute_open_hypercube_generators(int hsecs,
+                                                int max_dimension) {
+        for (int i = 0; i <= max_dimension; ++i) {
+            Polyhedron ph = new NNC_Polyhedron(i, Degenerate_Element.UNIVERSE);
+            open_hypercube(i, ph);
+            PPL_Test.println_if_noisy("Hypercube of dimension " + i);
+            try {
+                Parma_Polyhedra_Library.set_timeout(hsecs);
+                try {
+                    ph.generators();
+                } finally {
+                    Parma_Polyhedra_Library.reset_timeout();
+                }
+            } catch (Timeout_Exception e) {
+                PPL_Test.println_if_noisy("Expected timeout exception caught:");
+                PPL_Test.println_if_noisy(e.getMessage());
+                return true;
+            } catch (Exception e) {
+                PPL_Test.println_if_noisy("Unexpected exception caught:");
+                PPL_Test.println_if_noisy(e.getMessage());
+                return false;
+            }
+        }
+        // Should not reach this point.
+        PPL_Test.println_if_noisy("Expected timeout exception NOT caught!");
+        return false;
+    }
+
+    private static boolean
+        weighted_compute_open_hypercube_generators(int weight,
+                                                   int max_dimension) {
+        for (int i = 0; i <= max_dimension; ++i) {
+            Polyhedron ph = new NNC_Polyhedron(i, Degenerate_Element.UNIVERSE);
+            open_hypercube(i, ph);
+            PPL_Test.println_if_noisy("Hypercube of dimension " + i);
+            try {
+                Parma_Polyhedra_Library.set_deterministic_timeout(weight);
+                try {
+                    ph.generators();
+                } finally {
+                    Parma_Polyhedra_Library.reset_deterministic_timeout();
+                }
+            } catch (Timeout_Exception e) {
+                PPL_Test.println_if_noisy("Expected timeout exception caught:");
+                PPL_Test.println_if_noisy(e.getMessage());
+                return true;
+            } catch (Exception e) {
+                PPL_Test.println_if_noisy("Unexpected exception caught:");
+                PPL_Test.println_if_noisy(e.getMessage());
+                return false;
+            }
+        }
+        // Should not reach this point.
+        PPL_Test.println_if_noisy("Expected timeout exception NOT caught!");
+        return false;
+    }
+}
diff --git a/interfaces/Java/tests/Test_Executor.java b/interfaces/Java/tests/Test_Executor.java
index 1050df7..e19c6dc 100644
--- a/interfaces/Java/tests/Test_Executor.java
+++ b/interfaces/Java/tests/Test_Executor.java
@@ -1,5 +1,5 @@
 /* Test helper class of the Parma Polyhedra Library Java interface.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -25,36 +25,38 @@ import java.lang.reflect.Method;
 public class Test_Executor {
 
     /*! \brief
-    Executes all the methods named `test****' that are implemented in
-    the class \p c. This class expects that the return value is a Boolean
-    and the test methods don't take parameters.
-
-    \return
-    <CODE>true</CODE> if and only if all the tests defined in the class
-    \p return <CODE>true</CODE>, otherwise returns <CODE>false</CODE>
-  */
+      Executes all the static methods of class \p c whose name starts
+      with "test". It is expected that these methods have no parameters
+      and return a Boolean value.
+
+      \return
+      \c true if and only if all the tests defined in class \p c
+      return \c true.
+
+      \param c
+      The class whose test methods are execute.
+    */
     public static boolean executeTests(Class c) {
         PPL_Test.initialize();
-	Boolean single_test_result_ok;
-	Boolean global_test_result_ok = new Boolean(true);
+	boolean global_test_result_ok = true;
 	System.out.println("Checking " + c.getName());
 	Method methods[] = c.getDeclaredMethods();
+        Object[] no_args = new Object[0];
 	for (Method currentMethod:methods) {
 	    try {
-		if (currentMethod.getName().startsWith("test"))  {
+		if (currentMethod.getName().startsWith("test")) {
 		    System.out.println("Executing " + currentMethod.getName());
-		    single_test_result_ok =
-			(Boolean) currentMethod.invoke(new Object(),
-						       new Object[0]);
-		    if (!single_test_result_ok) {
-			global_test_result_ok = new Boolean(false);
+		    boolean ok = (Boolean) currentMethod.invoke(null, no_args);
+		    if (!ok) {
+			global_test_result_ok = false;
 			System.out.println(currentMethod.getName() + " failed");
 		    }
 		}
 	    }
 	    catch (Exception e) {
- 		System.out.println("An unexpected exception has occured");
-		return new Boolean(false);
+                System.out.println("Unexpected exception caught.");
+                System.out.println(e.getMessage());
+		return false;
 	    }
 	}
 	return global_test_result_ok;
diff --git a/interfaces/Java/tests/Test_Partial_Function.java b/interfaces/Java/tests/Test_Partial_Function.java
deleted file mode 100644
index b78de7f..0000000
--- a/interfaces/Java/tests/Test_Partial_Function.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Test_Partial_Function Java class of the Parma Polyhedra Library Java
-   interface.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-import java.util.TreeMap;
-import parma_polyhedra_library.*;
-
-
-// This class implements the Partial_Function interface defined
-// in the parma_polyhedra_library package.
-public class Test_Partial_Function implements Partial_Function {
-
-    private TreeMap<Long, Long> map;
-    private long max;
-
-    public Test_Partial_Function() {
-	map = new TreeMap<Long, Long>();
-	max  = 0;
-    }
-
-    public boolean maps(Long i, By_Reference<Long> j) {
-	if (map.containsKey(i)) {
-	    j.set(map.get(i));
-	    return true;
-	}
-        return false;
-    }
-
-    public long max_in_codomain() {
-	return max;
-    }
-
-    public boolean has_empty_codomain() {
-	return map.isEmpty();
-    }
-
-    void insert(long i, long j) {
-	map.put(i, j);
-	if (j > max)
-	    max = j;
-    }
-}
diff --git a/interfaces/Java/tests/ppl_interface_generator_java_test_java.m4 b/interfaces/Java/tests/ppl_interface_generator_java_test_java.m4
index 2ab7060..96395e0 100644
--- a/interfaces/Java/tests/ppl_interface_generator_java_test_java.m4
+++ b/interfaces/Java/tests/ppl_interface_generator_java_test_java.m4
@@ -4,7 +4,7 @@ m4_divert(-1)
 dnl This m4 file generates the file ppl_java_classes_test.java
 dnl using the code in ppl_interface_generator_java_test_code.m4.
 dnl
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -44,16 +44,14 @@ m4_include(`ppl_interface_generator_copyright') */
 m4_include(`ppl_java_tests_common')
 
     public static void main(String[] args) {
-	ppl_java_generated_tests test1 = new ppl_java_generated_tests();
-        // Initialize output variables.
-        PPL_Test.initialize();
-	test1.initialize();
-
-dnl ==================================================================
-dnl Add test statements (one for each domain instantiation.
-dnl ==================================================================
-	// Here generated tests are called.
-m4_divert(1)
+	Parma_Polyhedra_Library.initialize_library();
+        ppl_java_generated_tests.initialize();
+	boolean test_result_ok =
+	    Test_Executor.executeTests(ppl_java_generated_tests.class);
+        Parma_Polyhedra_Library.finalize_library();
+	if (!test_result_ok)
+	    System.exit(1);
+	System.exit(0);
     }
 
 dnl ==================================================================
@@ -67,9 +65,7 @@ m4_divert(-1)
 dnl ==================================================================
 dnl Define a test statement for each domain, for m4_divert(1)
 dnl ==================================================================
-m4_pushdef(`m4_one_class_code', `
-    test1.run_`'m4_interface_class$1`'_test();
-')
+m4_pushdef(`m4_one_class_code', `')
 
 m4_divert`'dnl
 m4_all_code`'dnl
@@ -82,7 +78,8 @@ dnl Define code for all tests to check all methods, for m4_divert(2)
 dnl ==================================================================
 dnl Prefix extra code for each domain.
 m4_pushdef(`m4_pre_extra_class_code', `
-    public boolean run_`'m4_interface_class$1`'_test() {
+    public static boolean test_`'m4_interface_class$1`'() {
+        globally_ok = true;
     try {
 
 ')
@@ -90,10 +87,11 @@ dnl Postfix extra code for each domain.
 m4_pushdef(`m4_post_extra_class_code', `dnl
 }
 catch (parma_polyhedra_library.Overflow_Error_Exception e) {
-System.out.println("*Overflow detected*::exception caught");
+    System.out.println("Overflow exception caught:");
+    System.out.println(e.getMessage());
 }
 System.gc();
-return true;
+return globally_ok;
 
     }
 
diff --git a/interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4 b/interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
index bb16730..f605d58 100644
--- a/interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
+++ b/interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
@@ -3,7 +3,7 @@ m4_divert(-1)
 
 This m4 file contains the code for generating ppl_java_generated_tests.java
 
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -38,7 +38,8 @@ Define here as empty any known schematic method macros for which
 the definition is not yet implemented.
 m4_define(`ppl_delete_ at CLASS@_iterator_code', `')
 
-    m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension_code',
+
+m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension_code',
 `dnl
 {
     PPL_Test.print_if_noisy("Testing @TOPOLOGY@@CLASS at _from_space_dimension: ");
@@ -50,25 +51,25 @@ m4_define(`ppl_delete_ at CLASS@_iterator_code', `')
         = new @TOPOLOGY@@CLASS@(0, Degenerate_Element.EMPTY);
     @TOPOLOGY@@CLASS@ new_6_empty
         = new @TOPOLOGY@@CLASS@(6, Degenerate_Element.EMPTY);
-    if (new_0_universe.OK() && new_6_universe.OK()
-       && new_0_empty.OK() && new_6_empty.OK())
-       PPL_Test.println_if_noisy("Success");
-    else
-      PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(new_0_universe.OK() && new_6_universe.OK()
+       && new_0_empty.OK() && new_6_empty.OK());
+    new_0_universe.free();
+    new_6_universe.free();
+    new_0_empty.free();
+    new_6_empty.free();
 }
 
 ')
 
-    m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _code',
+m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _code',
 `dnl
 {
     PPL_Test.print_if_noisy("Testing @TOPOLOGY@@CLASS@ from @FRIEND@: ");
     @FRIEND@ friend_gd = new @FRIEND@(@CONSTRAINER at s1);
     @TOPOLOGY@@CLASS@ new_gd = new @TOPOLOGY@@CLASS@(friend_gd);
-    if (new_gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(new_gd.OK());
+    friend_gd.free();
+    new_gd.free();
 }
 
 ')
@@ -86,10 +87,11 @@ m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _with_complexity_code',
             = new @TOPOLOGY@@CLASS@(friend_gd, Complexity_Class.SIMPLEX_COMPLEXITY);
         @TOPOLOGY@@CLASS@ new_gd_ac
             = new @TOPOLOGY@@CLASS@(friend_gd, Complexity_Class.ANY_COMPLEXITY);
-        if (new_gd_ac.OK())
-            PPL_Test.println_if_noisy("Success");
-        else
-            PPL_Test.println_if_noisy("Failure");
+        report_success_or_failure(new_gd_ac.OK());
+        friend_gd.free();
+        new_gd_pc.free();
+        new_gd_sc.free();
+        new_gd_ac.free();
     }
 }
 
@@ -100,10 +102,8 @@ m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@BUILD_REPRESENT at s_code',
 {
     PPL_Test.print_if_noisy("Testing @TOPOLOGY@@CLASS@ from @BUILD_REPRESENT at s: ");
     @TOPOLOGY@@CLASS@ new_gd1 = new @TOPOLOGY@@CLASS@(@BUILD_REPRESENT at s1);
-    if (new_gd1.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(new_gd1.OK());
+    new_gd1.free();
 }
 
 ')
@@ -115,12 +115,9 @@ m4_define(`ppl_ at CLASS@_swap_code',
     @TOPOLOGY@@CLASS@ gd1 = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     @TOPOLOGY@@CLASS@ gd2 = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s2);
     gd1.swap(gd2);
-    if (gd1.OK() && gd2.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
-    gd1.free();
+    report_success_or_failure(gd1.OK() && gd2.OK());
     gd1.free();
+    gd2.free();
 }
 
 ')
@@ -132,10 +129,7 @@ m4_define(`ppl_ at CLASS@_bounds_from_ at ABOVEBELOW@_code',
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     boolean bounds_from_ at ABOVEBELOW@
         = gd.bounds_from_ at ABOVEBELOW@(le_A);
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
     gd.free();
 }
 
@@ -147,10 +141,7 @@ m4_define(`ppl_ at CLASS@_hashcode_code',
     PPL_Test.print_if_noisy("Testing hashcode: ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     PPL_Test.print_if_noisy("The hashcode is: " + gd.hashCode());
-    if (gd.OK())
-        PPL_Test.println_if_noisy(", Success");
-    else
-        PPL_Test.println_if_noisy(", Failure");
+    report_success_or_failure(gd.OK());
     gd.free();
 }
 
@@ -165,10 +156,8 @@ m4_define(`ppl_ at CLASS@_ at HAS_PROPERTY@_code',
         PPL_Test.println_if_noisy("@HAS_PROPERTY@ is true for gd.");
     else
         PPL_Test.println_if_noisy("@HAS_PROPERTY@ is false for gd.");
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ')
@@ -180,10 +169,8 @@ m4_define(`ppl_ at CLASS@_ at DIMENSION@_code',
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     PPL_Test.print_if_noisy("@DIMENSION@ of gd = ");
     PPL_Test.println_if_noisy(gd. at DIMENSION@());
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ')
@@ -195,10 +182,9 @@ m4_define(`ppl_ at CLASS@_ at BINOP@_code',
     @TOPOLOGY@@CLASS@ gd1 = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     @TOPOLOGY@@CLASS@ gd2 = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s2);
     gd1. at BINOP@(gd2);
-    if (gd1.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd1.OK());
+    gd1.free();
+    gd2.free();
 }
 
 ')
@@ -210,10 +196,8 @@ m4_define(`ppl_ at CLASS@_simplify_using_context_assign_code',
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     boolean gd_simplify_using_context_assign
         = gd.simplify_using_context_assign(gd);
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ')
@@ -224,10 +208,8 @@ m4_define(`ppl_ at CLASS@_get_ at CLASS_REPRESENT@s_code',
     PPL_Test.print_if_noisy("Testing get_ at CLASS_REPRESENT@s: ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     @!CLASS_REPRESENT at _System gd_ at CLASS_REPRESENT@ = gd. at CLASS_REPRESENT@s();
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ')
@@ -238,10 +220,8 @@ m4_define(`ppl_ at CLASS@_get_minimized_ at CLASS_REPRESENT@s_code',
     PPL_Test.print_if_noisy("Testing get_minimized_ at CLASS_REPRESENT@s: ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     @!CLASS_REPRESENT at _System gr = gd.minimized_ at CLASS_REPRESENT@s();
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ')
@@ -253,10 +233,9 @@ m4_define(`ppl_ at CLASS@_ at COMPARISON@_ at CLASS@_code',
     @TOPOLOGY@@CLASS@ gd1 = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     @TOPOLOGY@@CLASS@ gd2 = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s2);
     boolean gd1_ at COMPARISON@ = gd2. at COMPARISON@(gd1);
-    if (gd1.OK() && gd2.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd1.OK() && gd2.OK());
+    gd1.free();
+    gd2.free();
 }
 
 ')
@@ -268,10 +247,9 @@ m4_define(`ppl_ at CLASS@_ at EXTRAPOLATION@_narrowing_assign_code',
     @TOPOLOGY@@CLASS@ gd1 = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     @TOPOLOGY@@CLASS@ gd2 = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s2);
     gd1. at EXTRAPOLATION@_narrowing_assign(gd2);
-    if (gd1.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd1.OK());
+    gd1.free();
+    gd2.free();
 }
 
 ')
@@ -283,10 +261,8 @@ m4_define(`ppl_ at CLASS@_relation_with_ at RELATION_REPRESENT@_code',
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     Poly_@!A_RELATION_REPRESENT at _Relation
         poly_relation = gd.relation_with(@RELATION_REPRESENT at 1);
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ')
@@ -297,10 +273,8 @@ m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@_code',
     PPL_Test.print_if_noisy("Testing add_@!CLASS_REPRESENT@: ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     gd.add_ at CLASS_REPRESENT@(@CLASS_REPRESENT at 1);
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ')
@@ -311,53 +285,46 @@ m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@_code',
     PPL_Test.print_if_noisy("Testing refine_with_ at REFINE_REPRESENT@: ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     gd.refine_with_ at REFINE_REPRESENT@(@REFINE_REPRESENT at 1);
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ')
 
- m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_code',
     `dnl
 {
     PPL_Test.print_if_noisy("Testing add_ at CLASS_REPRESENT@s: ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     gd.add_ at CLASS_REPRESENT@s(@CLASS_REPRESENT at s1);
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ')
 
- m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@s_code',
     `dnl
 {
     PPL_Test.print_if_noisy("Testing refine_with_ at REFINE_REPRESENT@s: ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     gd.refine_with_ at REFINE_REPRESENT@s(@REFINE_REPRESENT at s1);
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ')
 
- m4_define(`ppl_ at CLASS@_ at UB_EXACT@_code',
+m4_define(`ppl_ at CLASS@_ at UB_EXACT@_code',
     `dnl
 {
     PPL_Test.print_if_noisy("Testing @UB_EXACT@: ");
     @TOPOLOGY@@CLASS@ gd1 = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     @TOPOLOGY@@CLASS@ gd2 = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     boolean is_exact = gd1. at UB_EXACT@(gd2);
-    if (gd1.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd1.OK());
+    gd1.free();
+    gd2.free();
 }
 
 ')
@@ -368,10 +335,8 @@ m4_define(`ppl_ at CLASS@_ at AFFIMAGE@_code',
     PPL_Test.print_if_noisy("Testing @AFFIMAGE@: ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     gd. at AFFIMAGE@(var_C, le_A, coeff_5);
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ')
@@ -382,10 +347,8 @@ m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_code',
     PPL_Test.print_if_noisy("Testing generalized_ at AFFIMAGE@: ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     gd.generalized_ at AFFIMAGE@(var_C, Relation_Symbol.EQUAL, le_A, coeff_5);
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ')
@@ -396,10 +359,8 @@ m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs_code',
     PPL_Test.print_if_noisy("Testing generalized_ at AFFIMAGE@_lhs_rhs: ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     gd.generalized_ at AFFIMAGE@(le_A, Relation_Symbol.EQUAL, le_A);
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ')
@@ -411,10 +372,8 @@ m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_with_congruence_code',
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     gd.generalized_ at AFFIMAGE@_with_congruence(var_C, Relation_Symbol.EQUAL,
                                               le_A, coeff_5, coeff_5);
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ')
@@ -427,10 +386,8 @@ m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs_with_congruence_code',
     gd.generalized_ at AFFIMAGE@_lhs_rhs_with_congruence(le_A,
                                                       Relation_Symbol.EQUAL,
                                                       le_A, coeff_5);
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ')
@@ -443,10 +400,8 @@ m4_define(`ppl_ at CLASS@_equals_ at CLASS@_code',
     boolean equals = gd.equals(gd);
     if (!gd.equals(new Object()))
         PPL_Test.println_if_noisy("A generic object is not equal to gd");
-    if (equals && gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(equals && gd.OK());
+    gd.free();
 }
 
 ')
@@ -457,10 +412,8 @@ m4_define(`ppl_ at CLASS@_OK_code',
     PPL_Test.print_if_noisy("Testing OK: ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     boolean ok = gd.OK();
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ')
@@ -471,10 +424,8 @@ m4_define(`ppl_ at CLASS@_bounded_ at AFFIMAGE@_code',
     PPL_Test.print_if_noisy("Testing bounded_ at AFFIMAGE@: ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     gd.bounded_ at AFFIMAGE@(var_C, le_A, le_A, coeff_5);
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ')
@@ -485,10 +436,8 @@ m4_define(`ppl_ at CLASS@_ at SIMPLIFY@_code',
     PPL_Test.print_if_noisy("Testing @SIMPLIFY@: ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     gd. at SIMPLIFY@();
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ')
@@ -499,10 +448,8 @@ m4_define(`ppl_ at CLASS@_unconstrain_space_dimension_code',
     PPL_Test.print_if_noisy("Testing unconstrain_space_dimension: ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     gd.unconstrain_space_dimension(var_C);
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ')
@@ -513,10 +460,8 @@ m4_define(`ppl_ at CLASS@_unconstrain_space_dimensions_code',
     PPL_Test.print_if_noisy("Testing unconstrain_space_dimensions: ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     gd.unconstrain_space_dimensions(var_set_A);
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ')
@@ -527,10 +472,8 @@ m4_define(`ppl_ at CLASS@_constrains_code',
     PPL_Test.print_if_noisy("Testing constrains: ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     boolean constrains = gd.constrains(var_C);
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ')
@@ -542,8 +485,8 @@ m4_define(`ppl_ at CLASS@_ at MAXMIN@_code',
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     boolean @MAXMIN@
         = gd. at MAXMIN@(le_A, coeff_0, coeff_5, bool_by_ref1);
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ')
@@ -555,10 +498,8 @@ m4_define(`ppl_ at CLASS@_ at MAXMIN@_with_point_code',
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     boolean @MAXMIN at _with_point
         = gd. at MAXMIN@(le_A, coeff_0, coeff_5, bool_by_ref2, generator1);
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ');
@@ -569,10 +510,8 @@ m4_define(`ppl_ at CLASS@_add_space_dimensions_ at EMBEDPROJECT@_code',
     PPL_Test.print_if_noisy("Testing add_space_dimensions_ at EMBEDPROJECT@: ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     gd.add_space_dimensions_ at EMBEDPROJECT@(2);
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ')
@@ -583,10 +522,8 @@ m4_define(`ppl_ at CLASS@_remove_higher_space_dimensions_code',
     PPL_Test.print_if_noisy("Testing remove_higher_space_dimensions: ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     gd.remove_higher_space_dimensions(2);
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ')
@@ -597,10 +534,8 @@ m4_define(`ppl_ at CLASS@_remove_space_dimensions_code',
     PPL_Test.print_if_noisy("Testing remove_space_dimensions: ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     gd.remove_space_dimensions(var_set_A);
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ')
@@ -611,10 +546,8 @@ m4_define(`ppl_ at CLASS@_expand_space_dimension_code',
     PPL_Test.print_if_noisy("Testing expand_space_dimension: ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     gd.expand_space_dimension(var_C, 1);
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ')
@@ -625,10 +558,8 @@ m4_define(`ppl_ at CLASS@_fold_space_dimensions_code',
     PPL_Test.print_if_noisy("Testing fold_space_dimensions: ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     gd.fold_space_dimensions(var_set_A, var_C);
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ')
@@ -639,10 +570,8 @@ m4_define(`ppl_ at CLASS@_map_space_dimensions_code',
     PPL_Test.print_if_noisy("Testing map_space_dimensions: ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     gd.map_space_dimensions(partial_function);
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ')
@@ -654,10 +583,9 @@ m4_define(`ppl_ at CLASS@_ at WIDEN@_widening_assign_code',
     @TOPOLOGY@@CLASS@ gd1 = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     @TOPOLOGY@@CLASS@ gd2 = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     gd1. at WIDEN@_widening_assign(gd2);
-    if (gd1.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd1.OK());
+    gd1.free();
+    gd2.free();
 }
 
 ')
@@ -669,10 +597,9 @@ m4_define(`ppl_ at CLASS@_ at WIDEN@_widening_assign_code',
     @TOPOLOGY@@CLASS@ gd1 = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     @TOPOLOGY@@CLASS@ gd2 = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     gd1. at WIDEN@_widening_assign(gd2, int_by_ref1);
-    if (gd1.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd1.OK());
+    gd1.free();
+    gd2.free();
 }
 
 ')
@@ -683,12 +610,10 @@ m4_define(`ppl_ at CLASS@_widening_assign_code',
     PPL_Test.print_if_noisy("Testing widening_assign: ");
     @TOPOLOGY@@CLASS@ gd1 = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     @TOPOLOGY@@CLASS@ gd2 = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
-    gd1.widening_assign(gd2,
-                        int_by_ref1);
-    if (gd1.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    gd1.widening_assign(gd2, int_by_ref1);
+    report_success_or_failure(gd1.OK());
+    gd1.free();
+    gd2.free();
 }
 
 ')
@@ -700,10 +625,9 @@ m4_define(`ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign_code',
     @TOPOLOGY@@CLASS@ gd1 = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     @TOPOLOGY@@CLASS@ gd2 = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     gd1. at EXTRAPOLATION@_extrapolation_assign(gd2, int_by_ref1);
-    if (gd1.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd1.OK());
+    gd1.free();
+    gd2.free();
 }
 
 ')
@@ -715,10 +639,9 @@ m4_define(`ppl_ at CLASS@_ at EXTRAPOLATION@_narrowing_assign_code',
     @TOPOLOGY@@CLASS@ gd1 = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     @TOPOLOGY@@CLASS@ gd2 = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     gd1. at EXTRAPOLATION@_narrowing_assign(gd2);
-    if (gd1.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd1.OK());
+    gd1.free();
+    gd2.free();
 }
 
 ')
@@ -731,10 +654,9 @@ m4_define(`ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_code',
     @TOPOLOGY@@CLASS@ gd2 = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     gd1. at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign(gd2, @CONSTRAINER at s1,
                                                           zero_by_ref1);
-    if (gd1.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd1.OK());
+    gd1.free();
+    gd2.free();
 }
 
 ')
@@ -746,10 +668,9 @@ m4_define(`ppl_ at CLASS@_BGP99_ at DISJUNCT_WIDEN@_extrapolation_assign_code',
     @TOPOLOGY@@CLASS@ gd1 = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     @TOPOLOGY@@CLASS@ gd2 = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     gd1.BGP99_ at DISJUNCT_WIDEN@_extrapolation_assign(gd2, 2);
-    if (gd1.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd1.OK());
+    gd1.free();
+    gd2.free();
 }
 
 ')
@@ -761,10 +682,9 @@ m4_define(`ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign
     @TOPOLOGY@@CLASS@ gd1 = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     @TOPOLOGY@@CLASS@ gd2 = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     gd1.BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign(gd2);
-    if (gd1.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd1.OK());
+    gd1.free();
+    gd2.free();
 }
 
 ')
@@ -775,10 +695,8 @@ m4_define(`ppl_ at CLASS@_string_code',
     PPL_Test.print_if_noisy("Testing toString(): ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     PPL_Test.println_if_noisy(gd.toString());
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 ');
 
@@ -789,10 +707,8 @@ m4_define(`ppl_ at CLASS@_ at MEMBYTES@_code',
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     PPL_Test.println_if_noisy("@MEMBYTES@ of gd: ");
     PPL_Test.println_if_noisy(gd. at MEMBYTES@());
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ');
@@ -803,10 +719,8 @@ m4_define(`ppl_ at CLASS@_ascii_dump_code',
     PPL_Test.print_if_noisy("Testing ascii_dump(): ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     PPL_Test.println_if_noisy(gd.ascii_dump());
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ');
@@ -820,14 +734,13 @@ m4_define(`ppl_ at CLASS@_linear_ at PARTITION@_code',
     @TOPOLOGY@@CLASS@ gd2
         = new @TOPOLOGY@@CLASS@(constraints1);
     Pair p = @TOPOLOGY@@CLASS at .linear_partition(gd1, gd2);
-    if (gd1.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd1.OK());
     PPL_Test.print_if_noisy("Printing Pair from linear_partition: ");
     PPL_Test.print_if_noisy((p.getFirst()).toString());
     PPL_Test.print_if_noisy(", ");
     PPL_Test.println_if_noisy((p.getSecond()).toString());
+    gd1.free();
+    gd2.free();
 }
 
 ')
@@ -843,10 +756,7 @@ m4_define(`ppl_ at CLASS@_approximate_partition_code',
         = new @CLASS@(constraints1);
     Pair p
         = @CLASS at .approximate_partition(gd1, gd2, bool_by_ref1);
-    if (gd1.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd1.OK());
     PPL_Test.print_if_noisy("Printing Pair from approximate_partition: ");
     PPL_Test.print_if_noisy((p.getFirst()).toString());
     PPL_Test.print_if_noisy(", ");
@@ -854,6 +764,8 @@ m4_define(`ppl_ at CLASS@_approximate_partition_code',
     PPL_Test.print_if_noisy(", ");
     PPL_Test.println_if_noisy(bool_by_ref1);
     PPL_Test.println_if_noisy();
+    gd1.free();
+    gd2.free();
 }
 
 ');
@@ -864,10 +776,8 @@ m4_define(`ppl_ at CLASS@_ at BEGINEND@_iterator_code',
     PPL_Test.print_if_noisy("Testing @BEGINEND at _iterator: ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     @TOPOLOGY@@CLASS at _Iterator it_gd = gd. at BEGINEND@_iterator();
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ')
@@ -885,10 +795,8 @@ m4_define(`ppl_ at CLASS@_ at INCDEC@_iterator_code',
       @TOPOLOGY@@CLASS at _Iterator it_gd = gd.end_iterator();
       it_gd. at A_INCDEC@();
     }
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 ')
@@ -900,10 +808,8 @@ m4_define(`ppl_ at CLASS@_get_disjunct_code',
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     @TOPOLOGY@@CLASS at _Iterator it_gd = gd.begin_iterator();
     @TOPOLOGY@@DISJUNCT@ gd_disjunct = it_gd.get_disjunct();
-    if (gd.OK() && gd_disjunct.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK() && gd_disjunct.OK());
+    gd.free();
 }
 
 ')
@@ -916,10 +822,8 @@ m4_define(`ppl_new_ at CLASS@_iterator_from_iterator_code',
     @CLASS at _Iterator it_gd = gd.begin_iterator();
     @CLASS at _Iterator it_gd_copy = new @CLASS at _Iterator(it_gd);
     @TOPOLOGY@@DISJUNCT@ gd_disjunct = it_gd_copy.get_disjunct();
-    if (gd.OK() && gd_disjunct.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK() && gd_disjunct.OK());
+    gd.free();
 }
 
 ')
@@ -931,24 +835,21 @@ m4_define(`ppl_ at CLASS@_drop_disjunct_code',
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     @TOPOLOGY@@CLASS at _Iterator it_gd = gd.begin_iterator();
     gd.drop_disjunct(it_gd);
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
 }
 
 {
     PPL_Test.print_if_noisy("Testing drop_disjuncts: ");
-    @CLASS@ gd = new @CLASS@(@CONSTRAINER at s1);
+    @CLASS@ gd1 = new @CLASS@(@CONSTRAINER at s1);
     @CLASS@ gd2 = new @CLASS@(@CONSTRAINER at s2);
-    gd.upper_bound_assign(gd2);
-    @CLASS at _Iterator it_gd = gd.begin_iterator();
-    @CLASS at _Iterator it_gd_end = gd.end_iterator();
-    gd.drop_disjuncts(it_gd, it_gd_end);
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    gd1.upper_bound_assign(gd2);
+    @CLASS at _Iterator it_gd1 = gd1.begin_iterator();
+    @CLASS at _Iterator it_gd1_end = gd1.end_iterator();
+    gd1.drop_disjuncts(it_gd1, it_gd1_end);
+    report_success_or_failure(gd1.OK());
+    gd1.free();
+    gd2.free();
 }
 
 ')
@@ -961,10 +862,9 @@ m4_define(`ppl_ at CLASS@_add_disjunct_code',
     @DISJUNCT_TOPOLOGY@@DISJUNCT@ gd_disjunct
         = new @DISJUNCT_TOPOLOGY@@DISJUNCT@(@CONSTRAINER at s1);
     gd.add_disjunct(gd_disjunct);
-    if (gd.OK())
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK());
+    gd.free();
+    gd_disjunct.free();
 }
 
 ');
@@ -977,10 +877,8 @@ m4_define(`ppl_ at CLASS@_iterator_equals_iterator_code',
     @TOPOLOGY@@CLASS at _Iterator it_gd1 = gd.begin_iterator();
     @TOPOLOGY@@CLASS at _Iterator it_gd2 = gd.begin_iterator();
     boolean equals = it_gd1.equals(it_gd2);
-    if (gd.OK() && equals)
-        PPL_Test.println_if_noisy("Success");
-    else
-        PPL_Test.println_if_noisy("Failure");
+    report_success_or_failure(gd.OK() && equals);
+    gd.free();
 }
 
 ')
@@ -994,7 +892,33 @@ m4_define(`ppl_free_ at CLASS@_code',
     gd1.free();
     @TOPOLOGY@@CLASS@ gd2 = new @TOPOLOGY@@CLASS@(gd);
     gd2 = null;
-    PPL_Test.println_if_noisy("Success");
+    report_success_or_failure(true);
+}
+
+')
+
+m4_define(`ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _codexxx',
+    `dnl
+{
+    PPL_Test.print_if_noisy("Testing termination_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@: ");
+    @TOPOLOGY@@CLASS@ gd1 = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
+    boolean term = Termination.termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@(gd1);
+    report_success_or_failure(gd1.OK() && term);
+    gd1.free();
+}
+
+')
+
+m4_define(`ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_codexxx',
+    `dnl
+{
+    PPL_Test.print_if_noisy("Testing termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@: ");
+    @TOPOLOGY@@CLASS@ gd1 = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
+    @TOPOLOGY@@CLASS@ gd2 = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s2);
+    boolean term = Termination.termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2(gd1, gd2);
+    report_success_or_failure(gd1.OK() && gd2.OK() && term);
+    gd1.free();
+    gd2.free();
 }
 
 ')
diff --git a/interfaces/Java/tests/ppl_java_tests_common b/interfaces/Java/tests/ppl_java_tests_common
index 3d15d7f..fe72e66 100644
--- a/interfaces/Java/tests/ppl_java_tests_common
+++ b/interfaces/Java/tests/ppl_java_tests_common
@@ -1,5 +1,5 @@
 /* Common code for the PPL Java interface tests.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -32,39 +32,43 @@ public class ppl_java_generated_tests {
         }
         catch (UnsatisfiedLinkError  e) {
             System.out.println("Unable to load the library");
+            System.out.println(e.getMessage());
             System.exit(-1);
         }
     }
 
+    // Success state.
+    static boolean globally_ok;
+
     // Common stuff. We can add other objects if we need them later.
-    Coefficient coeff_0;
-    Coefficient coeff_5;
-    Variable var_C;
-    Variables_Set var_set_A;
-    Linear_Expression le_A;
-
-    Constraint constraint1;
-    Constraint constraint2;
-    Congruence congruence1;
-    Generator generator1;
-    Grid_Generator grid_generator1;
-
-    Constraint_System constraints1;
-    Constraint_System constraints2;
-    Congruence_System congruences1;
-    Congruence_System congruences2;
-    Generator_System generators1;
-    Grid_Generator_System grid_generators1;
-
-    By_Reference<Boolean> bool_by_ref1;
-    By_Reference<Boolean> bool_by_ref2;
-    By_Reference<Integer> int_by_ref1;
-    By_Reference<Integer> zero_by_ref1;
-
-    Test_Partial_Function partial_function;
+    static Coefficient coeff_0;
+    static Coefficient coeff_5;
+    static Variable var_C;
+    static Variables_Set var_set_A;
+    static Linear_Expression le_A;
+
+    static Constraint constraint1;
+    static Constraint constraint2;
+    static Congruence congruence1;
+    static Generator generator1;
+    static Grid_Generator grid_generator1;
+
+    static Constraint_System constraints1;
+    static Constraint_System constraints2;
+    static Congruence_System congruences1;
+    static Congruence_System congruences2;
+    static Generator_System generators1;
+    static Grid_Generator_System grid_generators1;
+
+    static By_Reference<Boolean> bool_by_ref1;
+    static By_Reference<Boolean> bool_by_ref2;
+    static By_Reference<Integer> int_by_ref1;
+    static By_Reference<Integer> zero_by_ref1;
+
+    static Partial_Function partial_function;
 
     // Common initialization.
-    public void initialize() {
+    public static void initialize() {
 
         // Initialize output variables.
         PPL_Test.initialize();
@@ -177,8 +181,19 @@ public class ppl_java_generated_tests {
         int_by_ref1 = new By_Reference<Integer>(1);
         zero_by_ref1 = new By_Reference<Integer>(0);
 
-        partial_function = new Test_Partial_Function();
+        partial_function = new Partial_Function();
 	partial_function.insert(0, 2);
 	partial_function.insert(2, 0);
 	partial_function.insert(1, 1);
-}
+    }
+
+    // Helper method.
+    static void report_success_or_failure(boolean locally_ok) {
+        if (locally_ok)
+            PPL_Test.println_if_noisy("Success");
+        else {
+            PPL_Test.println_if_noisy("Failure");
+            globally_ok = false;
+        }
+    }
+
diff --git a/interfaces/Makefile.am b/interfaces/Makefile.am
index d345f54..8f37692 100644
--- a/interfaces/Makefile.am
+++ b/interfaces/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
diff --git a/interfaces/Makefile.in b/interfaces/Makefile.in
index ae6bf21..1156ab9 100644
--- a/interfaces/Makefile.in
+++ b/interfaces/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -38,8 +39,9 @@
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -64,6 +66,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -85,12 +88,19 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
@@ -103,12 +113,41 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
 HEADERS = $(noinst_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
   distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+	distdir
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = . C Java OCaml Prolog
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -155,6 +194,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -172,8 +213,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -181,6 +232,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -197,12 +249,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -245,11 +300,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -279,6 +332,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -286,6 +340,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 @BUILD_C_INTERFACE_TRUE at C_SUBDIR = C
 @BUILD_JAVA_INTERFACE_TRUE at JAVA_SUBDIR = Java
 @BUILD_OCAML_INTERFACE_TRUE at OCAML_SUBDIR = OCaml
@@ -319,14 +374,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  interfaces/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  interfaces/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign interfaces/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign interfaces/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -344,6 +399,7 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -358,7 +414,7 @@ clean-libtool:
 #     (which will cause the Makefiles to be regenerated when you run `make');
 # (2) otherwise, pass the desired values on the `make' command line.
 $(RECURSIVE_TARGETS):
-	@failcom='exit 1'; \
+	@fail= failcom='exit 1'; \
 	for f in x $$MAKEFLAGS; do \
 	  case $$f in \
 	    *=* | --[!k]*);; \
@@ -375,7 +431,7 @@ $(RECURSIVE_TARGETS):
 	  else \
 	    local_target="$$target"; \
 	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
 	  || eval $$failcom; \
 	done; \
 	if test "$$dot_seen" = "no"; then \
@@ -383,7 +439,7 @@ $(RECURSIVE_TARGETS):
 	fi; test -z "$$fail"
 
 $(RECURSIVE_CLEAN_TARGETS):
-	@failcom='exit 1'; \
+	@fail= failcom='exit 1'; \
 	for f in x $$MAKEFLAGS; do \
 	  case $$f in \
 	    *=* | --[!k]*);; \
@@ -409,16 +465,16 @@ $(RECURSIVE_CLEAN_TARGETS):
 	  else \
 	    local_target="$$target"; \
 	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
 	  || eval $$failcom; \
 	done && test -z "$$fail"
 tags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
 	done
 ctags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
 	done
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -426,14 +482,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
 	  include_option=--etags-include; \
@@ -445,7 +501,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	list='$(SUBDIRS)'; for subdir in $$list; do \
 	  if test "$$subdir" = .; then :; else \
 	    test ! -f $$subdir/TAGS || \
-	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
 	  fi; \
 	done; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
@@ -454,29 +510,34 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -497,29 +558,44 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
-	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
 	  if test "$$subdir" = .; then :; else \
 	    test -d "$(distdir)/$$subdir" \
 	    || $(MKDIR_P) "$(distdir)/$$subdir" \
 	    || exit 1; \
-	    distdir=`$(am__cd) $(distdir) && pwd`; \
-	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
-	    (cd $$subdir && \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
 	      $(MAKE) $(AM_MAKEFLAGS) \
-	        top_distdir="$$top_distdir" \
-	        distdir="$$distdir/$$subdir" \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
 		am__remove_distdir=: \
 		am__skip_length_check=: \
+		am__skip_mode_fix=: \
 	        distdir) \
 	      || exit 1; \
 	  fi; \
@@ -552,6 +628,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -571,6 +648,8 @@ dvi-am:
 
 html: html-recursive
 
+html-am:
+
 info: info-recursive
 
 info-am:
@@ -579,18 +658,28 @@ install-data-am:
 
 install-dvi: install-dvi-recursive
 
+install-dvi-am:
+
 install-exec-am:
 
 install-html: install-html-recursive
 
+install-html-am:
+
 install-info: install-info-recursive
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-recursive
 
+install-pdf-am:
+
 install-ps: install-ps-recursive
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-recursive
@@ -611,8 +700,9 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
-	install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \
+	ctags-recursive install install-am install-strip \
+	tags-recursive
 
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
 	all all-am check check-am clean clean-generic clean-libtool \
@@ -632,6 +722,7 @@ uninstall-am:
 ppl_interface_instantiations.m4: Makefile
 	echo "m4_define(\`m4_interface_classes_names', \`$(REQUIRED_INSTANTIATIONS_CANONICAL_NAMES)')" > $@
 	echo "m4_define(\`m4_cplusplus_classes_names', \`$(REQUIRED_INSTANTIATIONS)')" >> $@
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/interfaces/OCaml/Makefile.am b/interfaces/OCaml/Makefile.am
index fb1cfa8..2d8fba3 100644
--- a/interfaces/OCaml/Makefile.am
+++ b/interfaces/OCaml/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -171,14 +171,12 @@ OCAMLC_COMPILE_FLAGS = \
 OCAMLC_LINK_FLAGS = \
 `echo " $(extra_libraries) " | $(SED) -e "s/ -R[^ ]*//g" -e "s/ -/ -cclib -/g"`
 
-OCAMLC_ROOT = @ocamlc_root@
-
 OCAMLOPT_ENV = $(OCAMLC_ENV)
 OCAMLOPT_COMPILE_FLAGS = $(OCAMLC_COMPILE_FLAGS)
 OCAMLOPT_LINK_FLAGS = $(OCAMLC_LINK_FLAGS)
 
 AM_CPPFLAGS = \
--I$(OCAMLC_ROOT) \
+-I$(OCAMLLIB) \
 -I$(top_srcdir)/interfaces \
 -I$(top_srcdir)/src \
 -I$(top_builddir)/src \
@@ -193,7 +191,7 @@ $(top_builddir)/interfaces/ppl_interface_instantiations.m4 \
 $(interface_generator_files)
 
 ppl_ocaml.cma: ppl_ocaml_globals.cmo ppl_ocaml.cmo libppl_ocaml.a
-	$(OCAMLC_ENV) ocamlc -o $@ -a -custom \
+	$(OCAMLC_ENV) $(OCAMLC) -o $@ -a -custom \
 		ppl_ocaml_globals.cmo ppl_ocaml.cmo \
 		$(OCAMLC_COMPILE_FLAGS) -cclib -lppl_ocaml \
 		$(OCAMLC_LINK_FLAGS)
@@ -201,7 +199,7 @@ ppl_ocaml.cma: ppl_ocaml_globals.cmo ppl_ocaml.cmo libppl_ocaml.a
 ppl_ocaml.cmxa: \
 	ppl_ocaml_globals.cmx ppl_ocaml_globals.o \
 	ppl_ocaml.cmx ppl_ocaml.o libppl_ocaml.a
-	$(OCAMLOPT_ENV) ocamlopt -o $@ -a \
+	$(OCAMLOPT_ENV) $(OCAMLOPT) -o $@ -a \
 		ppl_ocaml_globals.cmx ppl_ocaml.cmx \
 		$(OCAMLOPT_COMPILE_FLAGS) -cclib -lppl_ocaml \
 		$(OCAMLOPT_LINK_FLAGS)
@@ -213,10 +211,10 @@ ppl_ocaml.a: ppl_ocaml.cmxa
 	fi
 
 ppl_ocaml.cmo: ppl_ocaml.ml ppl_ocaml.cmi ppl_ocaml_globals.cmi
-	$(OCAMLC_ENV) ocamlc -o $@ -c $(OCAMLC_COMPILE_FLAGS) ppl_ocaml.ml
+	$(OCAMLC_ENV) $(OCAMLC) -o $@ -c $(OCAMLC_COMPILE_FLAGS) ppl_ocaml.ml
 
 ppl_ocaml.cmx: ppl_ocaml.ml ppl_ocaml.cmi ppl_ocaml_globals.cmi
-	$(OCAMLOPT_ENV) ocamlopt -o $@ -c $(OCAMLOPT_COMPILE_FLAGS) \
+	$(OCAMLOPT_ENV) $(OCAMLOPT) -o $@ -c $(OCAMLOPT_COMPILE_FLAGS) \
 		ppl_ocaml.ml
 
 ppl_ocaml.o: ppl_ocaml.cmx
@@ -226,15 +224,15 @@ ppl_ocaml.o: ppl_ocaml.cmx
 	fi
 
 ppl_ocaml.cmi: ppl_ocaml.mli
-	$(OCAMLC_ENV) ocamlc -o $@ -c $(OCAMLC_COMPILE_FLAGS) $<
+	$(OCAMLC_ENV) $(OCAMLC) -o $@ -c $(OCAMLC_COMPILE_FLAGS) $<
 
 ppl_ocaml_globals.cmo: ppl_ocaml_globals.ml ppl_ocaml_globals.cmi
-	$(OCAMLC_ENV) ocamlc -o $@ -c $(OCAMLC_COMPILE_FLAGS) \
+	$(OCAMLC_ENV) $(OCAMLC) -o $@ -c $(OCAMLC_COMPILE_FLAGS) \
 		$(srcdir)/ppl_ocaml_globals.ml
 
 ppl_ocaml_globals.cmx: \
 	ppl_ocaml_globals.ml ppl_ocaml_globals.cmi
-	$(OCAMLOPT_ENV) ocamlopt -o $@ -c $(OCAMLOPT_COMPILE_FLAGS) \
+	$(OCAMLOPT_ENV) $(OCAMLOPT) -o $@ -c $(OCAMLOPT_COMPILE_FLAGS) \
 		$(srcdir)/ppl_ocaml_globals.ml
 
 ppl_ocaml_globals.o: ppl_ocaml_globals.cmx
@@ -244,7 +242,7 @@ ppl_ocaml_globals.o: ppl_ocaml_globals.cmx
 	fi
 
 ppl_ocaml_globals.cmi: ppl_ocaml_globals.mli
-	$(OCAMLC_ENV) ocamlc -o $@ -c $(OCAMLC_COMPILE_FLAGS) $<
+	$(OCAMLC_ENV) $(OCAMLC) -o $@ -c $(OCAMLC_COMPILE_FLAGS) $<
 
 ppl_ocaml.ml: $(interface_generator_dependencies)
 	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
@@ -258,8 +256,8 @@ ppl_ocaml_domains_cc_files.stamp: $(interface_generator_dependencies)
 	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_ocaml_cc_files.m4 \
                 > ppl_ocaml_cc_blob
-	$(top_srcdir)/utils/cm_cleaner.sh < ppl_ocaml_cc_blob
-	$(top_srcdir)/utils/cm_splitter.sh < ppl_ocaml_cc_blob
+	$(top_srcdir)/utils/cm_cleaner.sh ./ppl_ocaml_cc_blob
+	$(top_srcdir)/utils/cm_splitter.sh ./ppl_ocaml_cc_blob
 	rm -f ppl_ocaml_cc_blob
 	echo timestamp >$@
 
@@ -267,8 +265,8 @@ ppl_ocaml_domains.hh: $(interface_generator_dependencies)
 	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_ocaml_hh_files.m4 \
                 > ppl_ocaml_hh_blob
-	$(top_srcdir)/utils/cm_cleaner.sh < ppl_ocaml_hh_blob
-	$(top_srcdir)/utils/cm_splitter.sh < ppl_ocaml_hh_blob
+	$(top_srcdir)/utils/cm_cleaner.sh ./ppl_ocaml_hh_blob
+	$(top_srcdir)/utils/cm_splitter.sh ./ppl_ocaml_hh_blob
 	rm -f ppl_ocaml_hh_blob
 
 MOSTLYCLEANFILES = \
diff --git a/interfaces/OCaml/Makefile.in b/interfaces/OCaml/Makefile.in
index 5dc5f3f..850f98e 100644
--- a/interfaces/OCaml/Makefile.in
+++ b/interfaces/OCaml/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -39,8 +40,9 @@
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -64,6 +66,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -85,46 +88,88 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
     *) f=$$p;; \
   esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
 am__installdirs = "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(ocamldir)"
-pkglibLIBRARIES_INSTALL = $(INSTALL_DATA)
 LIBRARIES = $(pkglib_LIBRARIES)
 ARFLAGS = cru
+AM_V_AR = $(am__v_AR_$(V))
+am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY))
+am__v_AR_0 = @echo "  AR    " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 libppl_ocaml_a_AR = $(AR) $(ARFLAGS)
 am_libppl_ocaml_a_OBJECTS = ppl_ocaml_common.$(OBJEXT)
 libppl_ocaml_a_OBJECTS = $(am_libppl_ocaml_a_OBJECTS)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_$(V))
+am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+am__v_CXX_0 = @echo "  CXX   " $@;
 CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_$(V))
+am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo "  CC    " $@;
 CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo "  CCLD  " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libppl_ocaml_a_SOURCES) \
 	$(nodist_EXTRA_libppl_ocaml_a_SOURCES)
 DIST_SOURCES = $(libppl_ocaml_a_SOURCES)
@@ -135,16 +180,44 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
 	install-pdf-recursive install-ps-recursive install-recursive \
 	installcheck-recursive installdirs-recursive pdf-recursive \
 	ps-recursive uninstall-recursive
-ocamlDATA_INSTALL = $(INSTALL_DATA)
 DATA = $(ocaml_DATA)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
   distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+	distdir
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -191,6 +264,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -208,8 +283,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -217,6 +302,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -233,12 +319,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -281,11 +370,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -315,6 +402,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -322,6 +410,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 SUBDIRS = . tests
 interface_generator_files = \
 ppl_interface_generator_ocaml_procedure_generators.m4 \
@@ -453,12 +542,11 @@ OCAMLC_COMPILE_FLAGS = \
 OCAMLC_LINK_FLAGS = \
 `echo " $(extra_libraries) " | $(SED) -e "s/ -R[^ ]*//g" -e "s/ -/ -cclib -/g"`
 
-OCAMLC_ROOT = @ocamlc_root@
 OCAMLOPT_ENV = $(OCAMLC_ENV)
 OCAMLOPT_COMPILE_FLAGS = $(OCAMLC_COMPILE_FLAGS)
 OCAMLOPT_LINK_FLAGS = $(OCAMLC_LINK_FLAGS)
 AM_CPPFLAGS = \
--I$(OCAMLC_ROOT) \
+-I$(OCAMLLIB) \
 -I$(top_srcdir)/interfaces \
 -I$(top_srcdir)/src \
 -I$(top_builddir)/src \
@@ -503,14 +591,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  interfaces/OCaml/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  interfaces/OCaml/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign interfaces/OCaml/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign interfaces/OCaml/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -528,39 +616,43 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 install-pkglibLIBRARIES: $(pkglib_LIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
-	@list='$(pkglib_LIBRARIES)'; for p in $$list; do \
+	@list='$(pkglib_LIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+	list2=; for p in $$list; do \
 	  if test -f $$p; then \
-	    f=$(am__strip_dir) \
-	    echo " $(pkglibLIBRARIES_INSTALL) '$$p' '$(DESTDIR)$(pkglibdir)/$$f'"; \
-	    $(pkglibLIBRARIES_INSTALL) "$$p" "$(DESTDIR)$(pkglibdir)/$$f"; \
+	    list2="$$list2 $$p"; \
 	  else :; fi; \
-	done
+	done; \
+	test -z "$$list2" || { \
+	  echo " $(INSTALL_DATA) $$list2 '$(DESTDIR)$(pkglibdir)'"; \
+	  $(INSTALL_DATA) $$list2 "$(DESTDIR)$(pkglibdir)" || exit $$?; }
 	@$(POST_INSTALL)
-	@list='$(pkglib_LIBRARIES)'; for p in $$list; do \
+	@list='$(pkglib_LIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+	for p in $$list; do \
 	  if test -f $$p; then \
-	    p=$(am__strip_dir) \
-	    echo " $(RANLIB) '$(DESTDIR)$(pkglibdir)/$$p'"; \
-	    $(RANLIB) "$(DESTDIR)$(pkglibdir)/$$p"; \
+	    $(am__strip_dir) \
+	    echo " ( cd '$(DESTDIR)$(pkglibdir)' && $(RANLIB) $$f )"; \
+	    ( cd "$(DESTDIR)$(pkglibdir)" && $(RANLIB) $$f ) || exit $$?; \
 	  else :; fi; \
 	done
 
 uninstall-pkglibLIBRARIES:
 	@$(NORMAL_UNINSTALL)
-	@list='$(pkglib_LIBRARIES)'; for p in $$list; do \
-	  p=$(am__strip_dir) \
-	  echo " rm -f '$(DESTDIR)$(pkglibdir)/$$p'"; \
-	  rm -f "$(DESTDIR)$(pkglibdir)/$$p"; \
-	done
+	@list='$(pkglib_LIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(pkglibdir)' && rm -f "$$files" )"; \
+	cd "$(DESTDIR)$(pkglibdir)" && rm -f $$files
 
 clean-pkglibLIBRARIES:
 	-test -z "$(pkglib_LIBRARIES)" || rm -f $(pkglib_LIBRARIES)
 libppl_ocaml.a: $(libppl_ocaml_a_OBJECTS) $(libppl_ocaml_a_DEPENDENCIES) 
-	-rm -f libppl_ocaml.a
-	$(libppl_ocaml_a_AR) libppl_ocaml.a $(libppl_ocaml_a_OBJECTS) $(libppl_ocaml_a_LIBADD)
-	$(RANLIB) libppl_ocaml.a
+	$(AM_V_at)-rm -f libppl_ocaml.a
+	$(AM_V_AR)$(libppl_ocaml_a_AR) libppl_ocaml.a $(libppl_ocaml_a_OBJECTS) $(libppl_ocaml_a_LIBADD)
+	$(AM_V_at)$(RANLIB) libppl_ocaml.a
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -642,22 +734,25 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_ocaml_common.Po at am__quote@
 
 .cc.o:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
- at am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
@@ -670,20 +765,23 @@ clean-libtool:
 install-ocamlDATA: $(ocaml_DATA)
 	@$(NORMAL_INSTALL)
 	test -z "$(ocamldir)" || $(MKDIR_P) "$(DESTDIR)$(ocamldir)"
-	@list='$(ocaml_DATA)'; for p in $$list; do \
+	@list='$(ocaml_DATA)'; test -n "$(ocamldir)" || list=; \
+	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  f=$(am__strip_dir) \
-	  echo " $(ocamlDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(ocamldir)/$$f'"; \
-	  $(ocamlDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(ocamldir)/$$f"; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(ocamldir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(ocamldir)" || exit $$?; \
 	done
 
 uninstall-ocamlDATA:
 	@$(NORMAL_UNINSTALL)
-	@list='$(ocaml_DATA)'; for p in $$list; do \
-	  f=$(am__strip_dir) \
-	  echo " rm -f '$(DESTDIR)$(ocamldir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(ocamldir)/$$f"; \
-	done
+	@list='$(ocaml_DATA)'; test -n "$(ocamldir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(ocamldir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(ocamldir)" && rm -f $$files
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -692,7 +790,7 @@ uninstall-ocamlDATA:
 #     (which will cause the Makefiles to be regenerated when you run `make');
 # (2) otherwise, pass the desired values on the `make' command line.
 $(RECURSIVE_TARGETS):
-	@failcom='exit 1'; \
+	@fail= failcom='exit 1'; \
 	for f in x $$MAKEFLAGS; do \
 	  case $$f in \
 	    *=* | --[!k]*);; \
@@ -709,7 +807,7 @@ $(RECURSIVE_TARGETS):
 	  else \
 	    local_target="$$target"; \
 	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
 	  || eval $$failcom; \
 	done; \
 	if test "$$dot_seen" = "no"; then \
@@ -717,7 +815,7 @@ $(RECURSIVE_TARGETS):
 	fi; test -z "$$fail"
 
 $(RECURSIVE_CLEAN_TARGETS):
-	@failcom='exit 1'; \
+	@fail= failcom='exit 1'; \
 	for f in x $$MAKEFLAGS; do \
 	  case $$f in \
 	    *=* | --[!k]*);; \
@@ -743,16 +841,16 @@ $(RECURSIVE_CLEAN_TARGETS):
 	  else \
 	    local_target="$$target"; \
 	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
 	  || eval $$failcom; \
 	done && test -z "$$fail"
 tags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
 	done
 ctags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
 	done
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -760,14 +858,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
 	  include_option=--etags-include; \
@@ -779,7 +877,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	list='$(SUBDIRS)'; for subdir in $$list; do \
 	  if test "$$subdir" = .; then :; else \
 	    test ! -f $$subdir/TAGS || \
-	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
 	  fi; \
 	done; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
@@ -788,29 +886,34 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -831,29 +934,44 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
-	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
 	  if test "$$subdir" = .; then :; else \
 	    test -d "$(distdir)/$$subdir" \
 	    || $(MKDIR_P) "$(distdir)/$$subdir" \
 	    || exit 1; \
-	    distdir=`$(am__cd) $(distdir) && pwd`; \
-	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
-	    (cd $$subdir && \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
 	      $(MAKE) $(AM_MAKEFLAGS) \
-	        top_distdir="$$top_distdir" \
-	        distdir="$$distdir/$$subdir" \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
 		am__remove_distdir=: \
 		am__skip_length_check=: \
+		am__skip_mode_fix=: \
 	        distdir) \
 	      || exit 1; \
 	  fi; \
@@ -890,6 +1008,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -912,6 +1031,8 @@ dvi-am:
 
 html: html-recursive
 
+html-am:
+
 info: info-recursive
 
 info-am:
@@ -920,18 +1041,28 @@ install-data-am: install-ocamlDATA
 
 install-dvi: install-dvi-recursive
 
+install-dvi-am:
+
 install-exec-am: install-pkglibLIBRARIES
 
 install-html: install-html-recursive
 
+install-html-am:
+
 install-info: install-info-recursive
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-recursive
 
+install-pdf-am:
+
 install-ps: install-ps-recursive
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-recursive
@@ -954,8 +1085,9 @@ ps-am:
 
 uninstall-am: uninstall-ocamlDATA uninstall-pkglibLIBRARIES
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
-	install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \
+	ctags-recursive install install-am install-strip \
+	tags-recursive
 
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
 	all all-am check check-am clean clean-generic clean-libtool \
@@ -975,7 +1107,7 @@ uninstall-am: uninstall-ocamlDATA uninstall-pkglibLIBRARIES
 
 
 ppl_ocaml.cma: ppl_ocaml_globals.cmo ppl_ocaml.cmo libppl_ocaml.a
-	$(OCAMLC_ENV) ocamlc -o $@ -a -custom \
+	$(OCAMLC_ENV) $(OCAMLC) -o $@ -a -custom \
 		ppl_ocaml_globals.cmo ppl_ocaml.cmo \
 		$(OCAMLC_COMPILE_FLAGS) -cclib -lppl_ocaml \
 		$(OCAMLC_LINK_FLAGS)
@@ -983,7 +1115,7 @@ ppl_ocaml.cma: ppl_ocaml_globals.cmo ppl_ocaml.cmo libppl_ocaml.a
 ppl_ocaml.cmxa: \
 	ppl_ocaml_globals.cmx ppl_ocaml_globals.o \
 	ppl_ocaml.cmx ppl_ocaml.o libppl_ocaml.a
-	$(OCAMLOPT_ENV) ocamlopt -o $@ -a \
+	$(OCAMLOPT_ENV) $(OCAMLOPT) -o $@ -a \
 		ppl_ocaml_globals.cmx ppl_ocaml.cmx \
 		$(OCAMLOPT_COMPILE_FLAGS) -cclib -lppl_ocaml \
 		$(OCAMLOPT_LINK_FLAGS)
@@ -995,10 +1127,10 @@ ppl_ocaml.a: ppl_ocaml.cmxa
 	fi
 
 ppl_ocaml.cmo: ppl_ocaml.ml ppl_ocaml.cmi ppl_ocaml_globals.cmi
-	$(OCAMLC_ENV) ocamlc -o $@ -c $(OCAMLC_COMPILE_FLAGS) ppl_ocaml.ml
+	$(OCAMLC_ENV) $(OCAMLC) -o $@ -c $(OCAMLC_COMPILE_FLAGS) ppl_ocaml.ml
 
 ppl_ocaml.cmx: ppl_ocaml.ml ppl_ocaml.cmi ppl_ocaml_globals.cmi
-	$(OCAMLOPT_ENV) ocamlopt -o $@ -c $(OCAMLOPT_COMPILE_FLAGS) \
+	$(OCAMLOPT_ENV) $(OCAMLOPT) -o $@ -c $(OCAMLOPT_COMPILE_FLAGS) \
 		ppl_ocaml.ml
 
 ppl_ocaml.o: ppl_ocaml.cmx
@@ -1008,15 +1140,15 @@ ppl_ocaml.o: ppl_ocaml.cmx
 	fi
 
 ppl_ocaml.cmi: ppl_ocaml.mli
-	$(OCAMLC_ENV) ocamlc -o $@ -c $(OCAMLC_COMPILE_FLAGS) $<
+	$(OCAMLC_ENV) $(OCAMLC) -o $@ -c $(OCAMLC_COMPILE_FLAGS) $<
 
 ppl_ocaml_globals.cmo: ppl_ocaml_globals.ml ppl_ocaml_globals.cmi
-	$(OCAMLC_ENV) ocamlc -o $@ -c $(OCAMLC_COMPILE_FLAGS) \
+	$(OCAMLC_ENV) $(OCAMLC) -o $@ -c $(OCAMLC_COMPILE_FLAGS) \
 		$(srcdir)/ppl_ocaml_globals.ml
 
 ppl_ocaml_globals.cmx: \
 	ppl_ocaml_globals.ml ppl_ocaml_globals.cmi
-	$(OCAMLOPT_ENV) ocamlopt -o $@ -c $(OCAMLOPT_COMPILE_FLAGS) \
+	$(OCAMLOPT_ENV) $(OCAMLOPT) -o $@ -c $(OCAMLOPT_COMPILE_FLAGS) \
 		$(srcdir)/ppl_ocaml_globals.ml
 
 ppl_ocaml_globals.o: ppl_ocaml_globals.cmx
@@ -1026,7 +1158,7 @@ ppl_ocaml_globals.o: ppl_ocaml_globals.cmx
 	fi
 
 ppl_ocaml_globals.cmi: ppl_ocaml_globals.mli
-	$(OCAMLC_ENV) ocamlc -o $@ -c $(OCAMLC_COMPILE_FLAGS) $<
+	$(OCAMLC_ENV) $(OCAMLC) -o $@ -c $(OCAMLC_COMPILE_FLAGS) $<
 
 ppl_ocaml.ml: $(interface_generator_dependencies)
 	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
@@ -1040,8 +1172,8 @@ ppl_ocaml_domains_cc_files.stamp: $(interface_generator_dependencies)
 	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_ocaml_cc_files.m4 \
                 > ppl_ocaml_cc_blob
-	$(top_srcdir)/utils/cm_cleaner.sh < ppl_ocaml_cc_blob
-	$(top_srcdir)/utils/cm_splitter.sh < ppl_ocaml_cc_blob
+	$(top_srcdir)/utils/cm_cleaner.sh ./ppl_ocaml_cc_blob
+	$(top_srcdir)/utils/cm_splitter.sh ./ppl_ocaml_cc_blob
 	rm -f ppl_ocaml_cc_blob
 	echo timestamp >$@
 
@@ -1049,8 +1181,8 @@ ppl_ocaml_domains.hh: $(interface_generator_dependencies)
 	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_ocaml_hh_files.m4 \
                 > ppl_ocaml_hh_blob
-	$(top_srcdir)/utils/cm_cleaner.sh < ppl_ocaml_hh_blob
-	$(top_srcdir)/utils/cm_splitter.sh < ppl_ocaml_hh_blob
+	$(top_srcdir)/utils/cm_cleaner.sh ./ppl_ocaml_hh_blob
+	$(top_srcdir)/utils/cm_splitter.sh ./ppl_ocaml_hh_blob
 	rm -f ppl_ocaml_hh_blob
 
 $(top_builddir)/interfaces/ppl_interface_instantiations.m4:
@@ -1059,6 +1191,7 @@ $(top_builddir)/interfaces/ppl_interface_instantiations.m4:
 # A selection of these files, which depends on the configure options,
 # is built by the `ppl_ocaml_domains_cc_files.stamp' target.
 $(nodist_EXTRA_libppl_ocaml_a_SOURCES):
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/interfaces/OCaml/OCaml_interface.dox b/interfaces/OCaml/OCaml_interface.dox
index bc786da..5e68e03 100644
--- a/interfaces/OCaml/OCaml_interface.dox
+++ b/interfaces/OCaml/OCaml_interface.dox
@@ -1,5 +1,5 @@
 /* Documentation for the OCaml interface.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -177,6 +177,10 @@ included with all instantiations of the OCaml interfaces.
 <H2><CODE> ppl_max_space_dimension </CODE></H2>
   Returns the maximum space dimension the C++ interface can handle.
 
+<H2><CODE> ppl_Coefficient_bits </CODE></H2>
+  Returns the number of bits used in the C++ interface for PPL coefficients;
+  0 if unbounded.
+
 <H2><CODE> ppl_Coefficient_is_bounded </CODE></H2>
   Returns true if and only if the coefficients in the C++ interface
   are bounded.
@@ -210,6 +214,26 @@ included with all instantiations of the OCaml interfaces.
    Resets the timeout time so that the computation is not interrupted.
    An exception is thrown if the PPL Watchdog library is not enabled.
 
+<H2><CODE> ppl_set_deterministic_timeout weight </CODE></H2>
+   Computations taking exponential time will be interrupted some time
+   after reaching the <CODE>weight</CODE> complexity threshold.
+   If the computation is interrupted that way, a timeout exception
+   will be thrown.
+   An exception is immediately thrown if <CODE>hsecs</CODE> is not strictly
+   greater than zero, or if the PPL Watchdog library is not enabled.
+   <EM>NOTE:</EM> This "timeout" checking functionality is said to be
+   <EM>deterministic</EM> because it is not based on actual elapsed time.
+   Its behavior will only depend on (some of the) computations performed
+   in the PPL library and it will be otherwise independent from the
+   computation environment (CPU, operating system, compiler, etc.).
+   The weight mechanism is under alpha testing: client applications
+   should be ready to reconsider the tuning of these weight thresholds
+   when upgrading to newer version of the PPL.
+
+<H2><CODE> ppl_reset_deterministic_timeout </CODE></H2>
+   Resets the timeout time so that the computation is not interrupted.
+   An exception is thrown if the PPL Watchdog library is not enabled.
+
 <H2><CODE> ppl_set_rounding_for_PPL </CODE></H2>
    Sets the FPU rounding mode so that the PPL abstractions based on
    floating point numbers work correctly.
@@ -224,6 +248,15 @@ included with all instantiations of the OCaml interfaces.
    based on floating point numbers.
    This is performed automatically at finalization-time.
 
+<H2><CODE> ppl_irrational_precision </CODE></H2>
+   Returns the precision parameter for irrational calculations.
+
+<H2><CODE> ppl_set_irrational_precision </CODE></H2>
+   Sets the precision parameter <CODE>p</CODE> for irrational calculations.
+   In the following irrational calculations returning an unbounded
+   rational (e.g., when computing a square root), the lesser between
+   numerator and denominator will be limited to <CODE>2**p</CODE>.
+
 <BR>
 
 \anchor OCaml_mip_functions
@@ -401,6 +434,225 @@ defining mixed integer (linear) programming problems.
 
 <BR>
 
+\anchor OCaml_pip_functions
+<H1> PIP Functions </H1>
+Here we describe some functions available for PPL objects
+defining parametric integer programming problems.
+
+<H2><CODE>
+  ppl_new_PIP_Problem_from_space_dimension dimension
+</CODE></H2>
+   Return a handle to a PIP Problem \f$\mathrm{PIP}\f$ with the
+   feasible region the vector space of dimension <CODE>dimension</CODE>,
+   empty constraint_system and empty set of parametric variables.
+
+<H2><CODE>
+  ppl_new_PIP_Problem dimension constraint_system vars_list
+</CODE></H2>
+   Return a handle to a PIP Problem \f$\mathrm{PIP}\f$ having space
+   dimension <CODE>dimension</CODE>, a feasible region represented by
+   <CODE>constraint_system</CODE> and parametric variables represented
+   by <CODE>vars_list</CODE>.
+
+<H2><CODE>
+  ppl_PIP_Problem_get_control_parameter handle param_name
+</CODE></H2>
+   Returns the value of the control parameter named <CODE>param_name</CODE>.
+
+<H2><CODE>
+  ppl_PIP_Problem_set_control_parameter handle param_value
+</CODE></H2>
+   Sets control parameter value <CODE>param_value</CODE>.
+
+<H2><CODE>
+  ppl_PIP_Problem_swap handle_1 handle_2
+</CODE></H2>
+   Swaps the PIP Problem referenced by <CODE>handle_1</CODE>
+   with the one referenced by <CODE>handle_2</CODE>.
+
+<H2><CODE>
+  ppl_PIP_Problem_space_dimension handle
+</CODE></H2>
+   Returns the dimension of the vector space in which the
+   PIP Problem referenced by <CODE>handle</CODE> is embedded.
+
+<H2><CODE>
+  ppl_PIP_Problem_parameter_space_dimensions handle
+</CODE></H2>
+   Returns a list of variables representing
+   representing the parameter space dimensions of the PIP Problem
+   referenced by <CODE>handle</CODE>.
+
+<H2><CODE>
+  ppl_PIP_Problem_constraints handle
+</CODE></H2>
+   Returns a list of the constraints in the constraints system
+   representing the feasible region for the PIP Problem
+   referenced by <CODE>handle</CODE>.
+
+<H2><CODE>
+  ppl_PIP_Problem_clear handle
+</CODE></H2>
+  Resets the PIP problem referenced by <CODE>handle</CODE>
+  to be the trivial problem with space dimension \f$0\f$.
+
+<H2><CODE> ppl_PIP_Problem_add_space_dimensions_and_embed
+             handle dimension_0 dimension_1
+ </CODE></H2>
+   Embeds the PIP problem referenced by <CODE>handle</CODE>
+   in a space that is enlarged by <CODE>dimension_0</CODE>
+   non-parameter dimensions and <CODE>dimension_1</CODE> parameter dimensions,
+
+<H2><CODE>
+  ppl_PIP_Problem_add_to_parameter_space_dimensions handle vars_list
+</CODE></H2>
+   Sets the space dimensions whose indexes are in \p vars_list
+   to be parameter space dimensions.
+
+<H2><CODE>
+  ppl_PIP_Problem_add_constraint handle constraint
+</CODE></H2>
+   Updates the PIP Problem referenced by <CODE>handle</CODE>
+   so that the feasible region is represented by the original constraint
+   system together with the constraint <CODE>constraint</CODE>.
+
+<H2><CODE>
+  ppl_PIP_Problem_add_constraints handle constraint_system
+</CODE></H2>
+   Updates the PIP Problem referenced by <CODE>handle</CODE>
+   so that the feasible region is represented by the original constraint
+   system together with all the constraints in <CODE>constraint_system</CODE>.
+
+<H2><CODE>
+  ppl_PIP_Problem_set_big_parameter_dimension handle dimension
+</CODE></H2>
+   Sets the dimension for the big parameter to \p dimension.
+
+<H2><CODE>
+  ppl_PIP_Problem_get_big_parameter_dimension handle
+</CODE></H2>
+   Returns the dimension for the big parameter.
+   Exception is thrown if no big parameter dimension has been set.
+
+<H2><CODE>
+  ppl_PIP_Problem_has_big_parameter_dimension handle
+</CODE></H2>
+   Returns true if and only if the dimension for the big parameter has been set.
+
+<H2><CODE>
+  ppl_PIP_Problem_is_satisfiable handle
+</CODE></H2>
+  Returns true if the PIP Problem referenced by
+  <CODE>handle</CODE> is satisfiable and false otherwise.
+
+<H2><CODE>
+  ppl_PIP_Problem_solve handle
+</CODE></H2>
+  Solves the PIP problem  referenced by
+  <CODE>handle</CODE> and returns
+    a status flag indicating the outcome of the optimization attempt:
+  \p Optimized_Pip_Problem if the optimization attempt succeeds;
+  \p Unfeasible_Pip_Problem otherwise.
+
+<H2><CODE>
+  ppl_PIP_Problem_solution handle
+</CODE></H2>
+  Solves the PIP problem referenced by <CODE>handle</CODE> and
+  returns a handle to a PIP_Tree representing a feasible solution,
+  if it exists and bottom otherwise.
+
+<H2><CODE>
+  ppl_PIP_Problem_optimizing_solution handle
+</CODE></H2>
+  Solves the PIP problem referenced by <CODE>handle</CODE> and
+  returns a handle to a PIP_Tree representing an optimizing_solution,
+  if it exists and bottom otherwise.
+
+<H2><CODE>
+  ppl_PIP_Problem_OK handle
+</CODE></H2>
+   Returns true if the PIP Problem referenced by
+   <CODE>handle</CODE> is well formed, i.e., if it
+   satisfies all its implementation invariants and false,
+   otherwise.  Useful for debugging purposes.
+
+<H2><CODE>
+  ppl_PIP_Problem_ascii_dump handle
+</CODE></H2>
+   Returns a string containing an ASCII dump of the internal representation
+   of the PIP_Problem referenced by <CODE>handle</CODE>. Useful for
+   debugging purposes.
+
+<H2><CODE>
+  ppl_PIP_Tree_Node_swap handle_1 handle_2
+</CODE></H2>
+   Swaps the PIP tree node referenced by <CODE>handle_1</CODE>
+   with the one referenced by <CODE>handle_2</CODE>.
+
+<H2><CODE>
+  ppl_PIP_Tree_Node_OK handle
+</CODE></H2>
+   Returns true if the PIP tree node referenced by
+   <CODE>handle</CODE> is well formed, i.e., if it
+   satisfies all its implementation invariants and false,
+   otherwise.  Useful for debugging purposes.
+
+<H2><CODE>
+  ppl_PIP_Tree_Node_ascii_dump handle
+</CODE></H2>
+   Returns a string containing an ASCII dump of the internal representation
+   of the Pip tree node referenced by <CODE>handle</CODE>. Useful for
+   debugging purposes.
+
+<H2><CODE>
+  ppl_PIP_Tree_Node_constraints handle
+</CODE></H2>
+   Returns a list of the parameter constraints in the PIP tree node
+   referenced by <CODE>handle</CODE>.
+
+<H2><CODE>
+  ppl_PIP_Tree_Node_artificials handle
+</CODE></H2>
+   Returns a list of the artificial parameters in the PIP
+   tree node referenced by <CODE>handle</CODE>.
+
+<H2><CODE>
+  ppl_PIP_Tree_Node_is_bottom handle
+</CODE></H2>
+   Returns true if and only if <CODE>handle</CODE> represents bottom.
+
+<H2><CODE>
+  ppl_PIP_Tree_Node_is_decision handle
+</CODE></H2>
+   Returns true if and only if <CODE>handle</CODE> represents a decision node.
+
+<H2><CODE>
+  ppl_PIP_Tree_Node_is_solution handle
+</CODE></H2>
+   Returns true if and only if <CODE>handle</CODE> represents a solution node.
+
+<H2><CODE>
+  ppl_PIP_Tree_Node_parametric_values handle var
+</CODE></H2>
+   Returns a linear expression representing the values of problem variable
+   \p var in the solution node represented by <CODE>handle</CODE>.
+   The returned linear expression may involve problem parameters
+   as well as artificial parameters.
+
+<H2><CODE>
+  ppl_PIP_Tree_Node_true_child handle var
+</CODE></H2>
+   Returns a handle to the child on the true branch of the
+   PIP tree node represented by <CODE>handle</CODE>.
+
+<H2><CODE>
+  ppl_PIP_Tree_Node_false_child handle var
+</CODE></H2>
+   Returns a handle to the child on the false branch of the
+   PIP tree node represented by <CODE>handle</CODE>.
+
+<BR>
+
 \anchor main_OCaml_C_polyhedron_functions
 <H1> C_Polyhedron Functions </H1>
 Here we describe the main functions available for PPL objects
@@ -946,6 +1198,32 @@ This is the inverse transformation to that for <CODE>ppl_affine_image</CODE>.
    Mapping the Dimensions of the Vector Space}
    of the main PPL user manual.
 
+<H2><CODE> ppl_Polyhedron_wrap_assign handle
+                                      list_of_vars
+                                      width
+                                      representation
+                                      overflow
+                                      constraint_system
+                                      complexity_threshold
+                                      wrap_indicator
+</CODE></H2>
+
+    Transforms the polyhedron referenced by <CODE>handle</CODE> by
+    wrapping the dimensions given by <CODE>list_of_vars</CODE> while
+    respecting the specified <CODE>width</CODE>,
+    <CODE>representation</CODE> and <CODE>overflow</CODE> behavior of
+    all these variables. The parameter <CODE>constraint_system</CODE>
+    represents the conditional or looping construct guard with respect
+    to which wrapping is performed.  The non-negative integer
+    <CODE>complexity_threshold</CODE> and Boolean
+    <CODE>wrap_indicator</CODE> allow control of the
+    complexity/precision ratio; higher values for
+    <CODE>complexity_threshold</CODE> will lead to possibly greater
+    precision while a true value for <CODE>wrap_indicator</CODE>
+    indicates that the space dimensions should be wrapped
+    individually.  See Section \extref{Wrapping_Operator, Wrapping
+    Operator} for a more detailed description of this operator.
+
 <H2><CODE>
   ppl_Polyhedron_ascii_dump handle
 </CODE></H2>
diff --git a/interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4 b/interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4
index 00da21d..8903dd4 100644
--- a/interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4
+++ b/interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4
@@ -5,7 +5,7 @@ This m4 file contains the program implementation code for generating the
 files ppl_ocaml_DOMAIN.cc for each interface domain DOMAIN
 in ppl_interface instantiations.m4.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -387,6 +387,46 @@ CATCH_ALL
 
 ')
 
+m4_define(`ppl_ at CLASS@_drop_some_non_integer_points_code',
+`dnl
+extern "C"
+CAMLprim value
+ppl_ at CLASS@_drop_some_non_integer_points
+(value ph, value caml_cc) try {
+  CAMLparam1(ph);
+  @CPP_CLASS@& pph = *p_ at CLASS@_val(ph);
+  Complexity_Class ppl_cc = build_ppl_Complexity_Class(caml_cc);
+  pph.drop_some_non_integer_points(ppl_cc);
+  CAMLreturn(Val_unit);
+}
+CATCH_ALL
+
+')
+
+m4_define(`ppl_ at CLASS@_drop_some_non_integer_points_2_code',
+`dnl
+extern "C"
+CAMLprim value
+ppl_ at CLASS@_drop_some_non_integer_points_2
+(value ph, value caml_vset, value caml_cc) try {
+  CAMLparam1(ph);
+  @CPP_CLASS@& pph = *p_ at CLASS@_val(ph);
+  Variables_Set ppl_vset;
+  if (Int_val(caml_vset) == 0)
+    CAMLreturn(Val_unit);
+  while (true) {
+    ppl_vset.insert(Int_val(Field(caml_vset, 0)));
+    if (Int_val(Field(caml_vset, 1)) == 0)
+      break;
+    caml_vset = Field(caml_vset, 1);
+  }
+  Complexity_Class ppl_cc = build_ppl_Complexity_Class(caml_cc);
+  pph.drop_some_non_integer_points(ppl_vset, ppl_cc);
+  CAMLreturn(Val_unit);
+}
+CATCH_ALL
+
+')
 
 m4_define(`ppl_ at CLASS@_get_ at CLASS_REPRESENT@s_code',
 `dnl
@@ -625,7 +665,6 @@ CATCH_ALL
 
 ')
 
-
 m4_define(`ppl_ at CLASS@_widening_assign_with_tokens_code',
 `dnl
 extern "C"
@@ -730,6 +769,32 @@ CATCH_ALL
 
 ')
 
+m4_define(`ppl_ at CLASS@_frequency_code',
+`dnl
+extern "C"
+CAMLprim value
+ppl_ at CLASS@_frequency(value ph, value caml_le) try {
+  CAMLparam2(ph, caml_le);
+  CAMLlocal1(caml_return_value);
+  PPL_DIRTY_TEMP_COEFFICIENT(f_num);
+  PPL_DIRTY_TEMP_COEFFICIENT(f_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(v_num);
+  PPL_DIRTY_TEMP_COEFFICIENT(v_den);
+  @CPP_CLASS@& pph = *p_ at CLASS@_val(ph);
+  bool ppl_return_value = pph.frequency(build_ppl_Linear_Expression(caml_le),
+				        f_num, f_den, v_num, v_den);
+  caml_return_value = caml_alloc(5, 0);
+  Store_field(caml_return_value, 0, Val_bool(ppl_return_value));
+  Store_field(caml_return_value, 1, build_ocaml_coefficient(f_num));
+  Store_field(caml_return_value, 2, build_ocaml_coefficient(f_den));
+  Store_field(caml_return_value, 3, build_ocaml_coefficient(v_num));
+  Store_field(caml_return_value, 4, build_ocaml_coefficient(v_den));
+  CAMLreturn(caml_return_value);
+}
+CATCH_ALL
+
+')
+
 m4_define(`ppl_ at CLASS@_OK_code',
 `dnl
 extern "C"
@@ -918,7 +983,7 @@ ppl_ at CLASS@_get_disjunct(value caml_it) try {
   CAMLparam1(caml_it);
   CAMLlocal1(caml_return_value);
   @CPP_CLASS@::iterator& cpp_it  = *p_ at CLASS@_iterator_val(caml_it);
-  @DISJUNCT_TOPOLOGY@@A_DISJUNCT@ disjunct = cpp_it->element();
+  @DISJUNCT_TOPOLOGY@@A_DISJUNCT@ disjunct = cpp_it->pointset();
   caml_return_value = unregistered_value_p_ at DISJUNCT@(disjunct);
   actual_p_ at DISJUNCT@_val(caml_return_value) = mark(&disjunct);
   CAMLreturn(caml_return_value);
@@ -1204,3 +1269,221 @@ ppl_ at CLASS@_approximate_ at PARTITION@(value ph1, value ph2) try {
 CATCH_ALL
 
 ')
+
+m4_define(`ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+`dnl
+extern "C"
+CAMLprim value
+ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@(value pset) try {
+  CAMLparam1(pset);
+  const @TOPOLOGY@@CPP_CLASS@& ppset
+     = *(reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(p_ at CLASS@_val(pset)));
+  CAMLreturn(Val_bool(termination_test_ at TERMINATION_ID@(ppset)));
+}
+CATCH_ALL
+
+')
+
+m4_define(`ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_code',
+`dnl
+extern "C"
+CAMLprim value
+  ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2(value pset_before,
+                                                            value pset_after)
+  try {
+    CAMLparam2(pset_before, pset_after);
+  const @TOPOLOGY@@CPP_CLASS@& ppset_before
+     = *(reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(p_ at CLASS@_val(pset_before)));
+  const @TOPOLOGY@@CPP_CLASS@& ppset_after
+     = *(reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(p_ at CLASS@_val(pset_after)));
+  CAMLreturn(Val_bool(termination_test_ at TERMINATION_ID@_2(ppset_before,
+                                                          ppset_after)));
+}
+CATCH_ALL
+
+')
+
+m4_define(`ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+`dnl
+extern "C"
+CAMLprim value
+  ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@
+    (value pset)
+  try {
+    CAMLparam1(pset);
+    CAMLlocal1(caml_return_value);
+  const @TOPOLOGY@@CPP_CLASS@& ppset
+     = *(reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(p_ at CLASS@_val(pset)));
+  Generator g(point());
+  bool ppl_return_value = one_affine_ranking_function_ at TERMINATION_ID@
+    (ppset, g);
+  caml_return_value = caml_alloc(2, 0);
+  Store_field(caml_return_value, 0, Val_bool(ppl_return_value));
+  Store_field(caml_return_value, 1, build_ocaml_generator(g));
+  CAMLreturn(caml_return_value);
+}
+CATCH_ALL
+
+')
+
+m4_define(`ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_code',
+`dnl
+extern "C"
+CAMLprim value
+  ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2
+  (value pset_before, value pset_after)
+  try {
+    CAMLparam2(pset_before, pset_after);
+    CAMLlocal1(caml_return_value);
+  const @TOPOLOGY@@CPP_CLASS@& ppset_before
+     = *(reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(p_ at CLASS@_val(pset_before)));
+  const @TOPOLOGY@@CPP_CLASS@& ppset_after
+     = *(reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(p_ at CLASS@_val(pset_after)));
+  Generator g(point());
+  bool ppl_return_value = one_affine_ranking_function_ at TERMINATION_ID@_2
+    (ppset_before, ppset_after, g);
+  caml_return_value = caml_alloc(2, 0);
+  Store_field(caml_return_value, 0, Val_bool(ppl_return_value));
+  Store_field(caml_return_value, 1, build_ocaml_generator(g));
+  CAMLreturn(caml_return_value);
+}
+CATCH_ALL
+
+')
+
+m4_define(`ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+`dnl
+extern "C"
+CAMLprim value
+  ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@
+  (value pset)
+  try {
+    CAMLparam1(pset);
+    CAMLlocal1(caml_return_value);
+  const @TOPOLOGY@@CPP_CLASS@& ppset
+     = *(reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(p_ at CLASS@_val(pset)));
+  @A_TERMINATION_ID at Polyhedron* ph = new @A_TERMINATION_ID at Polyhedron();
+  all_affine_ranking_functions_ at TERMINATION_ID@(ppset, *ph);
+  CAMLreturn(unregistered_value_p_Polyhedron(*ph));
+}
+CATCH_ALL
+
+')
+
+m4_define(`ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_code',
+`dnl
+extern "C"
+CAMLprim value
+  ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2
+  (value pset_before, value pset_after)
+  try {
+    CAMLparam2(pset_before, pset_after);
+    CAMLlocal1(caml_return_value);
+  const @TOPOLOGY@@CPP_CLASS@& ppset_before
+     = *(reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(p_ at CLASS@_val(pset_before)));
+  const @TOPOLOGY@@CPP_CLASS@& ppset_after
+     = *(reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(p_ at CLASS@_val(pset_after)));
+  @A_TERMINATION_ID at Polyhedron* ph = new @A_TERMINATION_ID at Polyhedron();
+  all_affine_ranking_functions_ at TERMINATION_ID@_2(ppset_before, ppset_after, *ph);
+  CAMLreturn(unregistered_value_p_Polyhedron(*ph));
+}
+CATCH_ALL
+
+')
+
+m4_define(`ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _code',
+`dnl
+extern "C"
+CAMLprim value
+  ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS@
+  (value pset)
+  try {
+    CAMLparam1(pset);
+    CAMLlocal1(caml_return_value);
+  const @TOPOLOGY@@CPP_CLASS@& ppset
+     = *(reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(p_ at CLASS@_val(pset)));
+  C_Polyhedron* ph_decreasing = new C_Polyhedron();
+  C_Polyhedron* ph_bounded = new C_Polyhedron();
+  all_affine_quasi_ranking_functions_MS(ppset, *ph_decreasing, *ph_bounded);
+  caml_return_value = caml_alloc(2, 0);
+  Store_field(caml_return_value, 0,
+              unregistered_value_p_Polyhedron(*ph_decreasing));
+  Store_field(caml_return_value, 1,
+              unregistered_value_p_Polyhedron(*ph_bounded));
+  CAMLreturn(caml_return_value);
+}
+CATCH_ALL
+
+')
+
+m4_define(`ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _2_code',
+`dnl
+extern "C"
+CAMLprim value
+  ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _2
+  (value pset_before, value pset_after)
+  try {
+    CAMLparam2(pset_before, pset_after);
+    CAMLlocal1(caml_return_value);
+  const @TOPOLOGY@@CPP_CLASS@& ppset_before
+     = *(reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(p_ at CLASS@_val(pset_before)));
+  const @TOPOLOGY@@CPP_CLASS@& ppset_after
+     = *(reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(p_ at CLASS@_val(pset_after)));
+  C_Polyhedron* ph_decreasing = new C_Polyhedron();
+  C_Polyhedron* ph_bounded = new C_Polyhedron();
+  all_affine_quasi_ranking_functions_MS_2(ppset_before, ppset_after,
+                                          *ph_decreasing, *ph_bounded);
+  caml_return_value = caml_alloc(2, 0);
+  Store_field(caml_return_value, 0,
+              unregistered_value_p_Polyhedron(*ph_decreasing));
+  Store_field(caml_return_value, 1,
+              unregistered_value_p_Polyhedron(*ph_bounded));
+  CAMLreturn(caml_return_value);
+}
+CATCH_ALL
+
+')
+
+m4_define(`ppl_ at CLASS@_wrap_assign_code',
+`dnl
+extern "C"
+CAMLprim value
+ppl_ at CLASS@_wrap_assign_native
+  (value ph, value caml_vset, value width, value rep, value oflow,
+   value cs, value complexity, value wrap_ind) try {
+  CAMLparam5(ph, caml_vset, width, rep, oflow);
+  CAMLxparam3(cs, complexity, wrap_ind);
+  @CPP_CLASS@& pph = *p_ at CLASS@_val(ph);
+  Variables_Set ppl_vset;
+  if (Int_val(caml_vset) == 0)
+    CAMLreturn(Val_unit);
+  while (true) {
+    ppl_vset.insert(Int_val(Field(caml_vset, 0)));
+    if (Int_val(Field(caml_vset, 1)) == 0)
+      break;
+    caml_vset = Field(caml_vset, 1);
+  }
+  build_ppl_bounded_integer_type_representation(rep);
+  build_ppl_bounded_integer_type_overflow(oflow);
+  Constraint_System ppl_cs = build_ppl_Constraint_System(cs);
+  unsigned ppl_complexity = value_to_unsigned<unsigned>(complexity);
+  bool ppl_wrap_ind = Bool_val(wrap_ind);
+  pph.wrap_assign(ppl_vset,
+                  build_ppl_bounded_integer_type_width(width),
+                  build_ppl_bounded_integer_type_representation(rep),
+                  build_ppl_bounded_integer_type_overflow(oflow),
+                  &ppl_cs, ppl_complexity, ppl_wrap_ind);
+  CAMLreturn(Val_unit);
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_ at CLASS@_wrap_assign_bytecode(value * argv, int)
+{
+  return ppl_ at CLASS@_wrap_assign_native(argv[0], argv[1], argv[2], argv[3],
+                                        argv[4], argv[5], argv[6], argv[7]);
+}
+
+')
+
diff --git a/interfaces/OCaml/ppl_interface_generator_ocaml_cc_files.m4 b/interfaces/OCaml/ppl_interface_generator_ocaml_cc_files.m4
index f711c50..d3cdf72 100644
--- a/interfaces/OCaml/ppl_interface_generator_ocaml_cc_files.m4
+++ b/interfaces/OCaml/ppl_interface_generator_ocaml_cc_files.m4
@@ -4,7 +4,7 @@ m4_divert(-1)dnl
 dnl This m4 file generates the file ppl_ocaml.cc
 dnl using the code in ppl_interface_generator_ocaml_cc_code.m4.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -40,7 +40,8 @@ m4_define(`m4_pre_extra_class_code', `dnl
 m4_define(`m4_current_interface', m4_interface_class`'$1)`'dnl
 m4_define(`m4_current_cplusplus', m4_cplusplus_class`'$1)`'dnl
 
-%<--%<--%<-- ppl_ocaml_`'m4_current_interface`'.cc
+___END_OF_FILE___
+___BEGIN_OF_FILE___ ppl_ocaml_`'m4_current_interface`'.cc << ___END_OF_FILE___
 /* OCaml m4_current_interface interface code.
 m4_include(`ppl_interface_generator_copyright')`'dnl
 */
@@ -59,5 +60,6 @@ dnl Generate the main class-dependent code.
 dnl -----------------------------------------------------------------
 m4_divert`'dnl
 m4_all_code
+___END_OF_FILE___
 dnl
 dnl End of file generation.
diff --git a/interfaces/OCaml/ppl_interface_generator_ocaml_hh_code.m4 b/interfaces/OCaml/ppl_interface_generator_ocaml_hh_code.m4
index cfb0400..8963174 100644
--- a/interfaces/OCaml/ppl_interface_generator_ocaml_hh_code.m4
+++ b/interfaces/OCaml/ppl_interface_generator_ocaml_hh_code.m4
@@ -1,6 +1,6 @@
 dnl Used by ppl_interfaces_generator_ocaml_hh_files.m4
 dnl for generating the access code for the OCaml interface.
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/interfaces/OCaml/ppl_interface_generator_ocaml_hh_files.m4 b/interfaces/OCaml/ppl_interface_generator_ocaml_hh_files.m4
index b1f1e8f..6f5cdc5 100644
--- a/interfaces/OCaml/ppl_interface_generator_ocaml_hh_files.m4
+++ b/interfaces/OCaml/ppl_interface_generator_ocaml_hh_files.m4
@@ -6,7 +6,7 @@ dnl and files ppl_ocaml_DOMAIN.hh, for each interface domain DOMAIN
 dnl in ppl_interface instantiations.m4 using the code in
 dnl ppl_interface_generator_ocaml_hh_code.m4.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -33,9 +33,11 @@ m4_include(`ppl_interface_generator_ocaml_procedure_generators.m4')
 
 m4_pushdef(`m4_one_class_code', `dnl
 m4_define(`m4_current_interface', m4_interface_class`'$1)`'dnl
-%<--%<--%<-- ppl_ocaml_domains.hh
+___END_OF_FILE___
+___BEGIN_OF_FILE___ ppl_ocaml_domains.hh << ___END_OF_FILE___
 `#'include "ppl_ocaml_`'m4_current_interface.hh"
-%<--%<--%<-- ppl_ocaml_`'m4_current_interface.hh
+___END_OF_FILE___
+___BEGIN_OF_FILE___ ppl_ocaml_`'m4_current_interface.hh << ___END_OF_FILE___
 /* OCaml m4_current_interface interface code: declarations.
 m4_include(`ppl_interface_generator_copyright')`'dnl
 */
@@ -49,12 +51,14 @@ dnl Generate type declarations for all the classes.
 dnl -----------------------------------------------------------------
 
 m4_divert`'dnl
-%<--%<--%<-- ppl_ocaml_domains.hh
+___END_OF_FILE___
+___BEGIN_OF_FILE___ ppl_ocaml_domains.hh << ___END_OF_FILE___
 /* OCaml interface code: inclusion of all the domain-dependent declarations.
 m4_include(`ppl_interface_generator_copyright')`'dnl
 */
 
 `#'include "ppl_ocaml_common.defs.hh"
 m4_all_code
+___END_OF_FILE___
 dnl
 dnl End of file generation.
diff --git a/interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4 b/interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4
index d3d5b5b..07c7141 100644
--- a/interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4
+++ b/interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4
@@ -4,7 +4,7 @@ m4_divert(-1)
 dnl This m4 file generates the file ppl_ocaml.ml
 dnl using the code in ppl_interface_generator_ocaml_ml_code.m4.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4 b/interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4
index ad89b6d..10241c8 100644
--- a/interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4
+++ b/interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4
@@ -3,7 +3,7 @@ sm4_divert(-1)
 
 This m4 file contains the program code for generating ppl_ocaml.ml
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -200,6 +200,22 @@ external ppl_ at CLASS@_expand_space_dimension:
 
 ')
 
+m4_define(`ppl_ at CLASS@_drop_some_non_integer_points_code',
+`dnl
+external ppl_ at CLASS@_drop_some_non_integer_points:
+  @!CLASS@ -> complexity_class -> unit
+  = "ppl_ at CLASS@_drop_some_non_integer_points"
+
+')
+
+m4_define(`ppl_ at CLASS@_drop_some_non_integer_points_2_code',
+`dnl
+external ppl_ at CLASS@_drop_some_non_integer_points_2:
+  @!CLASS@ -> int list -> complexity_class -> unit
+  = "ppl_ at CLASS@_drop_some_non_integer_points_2"
+
+')
+
 m4_define(`ppl_ at CLASS@_get_ at CLASS_REPRESENT@s_code',
 `dnl
 external ppl_ at CLASS@_get_ at CLASS_REPRESENT@s:
@@ -360,6 +376,15 @@ external ppl_ at CLASS@_ at MAXMIN@_with_point:
 
 ')
 
+m4_define(`ppl_ at CLASS@_frequency_code',
+`dnl
+external ppl_ at CLASS@_frequency:
+  @!CLASS@ -> linear_expression
+  -> bool * Z.t * Z.t * Z.t * Z.t
+  = "ppl_ at CLASS@_frequency"
+
+')
+
 m4_define(`ppl_ at CLASS@_OK_code',
 `dnl
 external ppl_ at CLASS@_OK:
@@ -546,3 +571,80 @@ external ppl_ at CLASS@_ at MAXMIN@:
   = "ppl_ at CLASS@_ at MAXMIN@"
 
 ')
+
+m4_define(`ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+`dnl
+external ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@:
+  @!CLASS@ -> bool = "ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@"
+
+')
+
+m4_define(`ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_code',
+`dnl
+external ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2:
+  @!CLASS@ -> @!CLASS@ -> bool
+  = "ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2"
+
+')
+
+m4_define(`ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+`dnl
+external ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@:
+  @!CLASS@ -> bool * linear_generator
+  = "ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@"
+
+')
+
+m4_define(`ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_code',
+`dnl
+external ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2:
+  @!CLASS@ -> @!CLASS@ -> bool * linear_generator
+  = "ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2"
+
+')
+
+m4_define(`ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+`dnl
+external ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@:
+  @!CLASS@ -> polyhedron
+  = "ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@"
+
+')
+
+m4_define(`ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_code',
+`dnl
+external ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2:
+  @!CLASS@ -> @!CLASS@ -> polyhedron
+  = "ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2"
+
+')
+
+m4_define(`ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _code',
+`dnl
+external ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS@:
+  @!CLASS@ -> polyhedron * polyhedron
+  = "ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS@"
+
+')
+
+m4_define(`ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _2_code',
+`dnl
+external ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _2:
+  @!CLASS@ -> @!CLASS@ -> polyhedron * polyhedron
+  = "ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _2"
+
+')
+
+m4_define(`ppl_ at CLASS@_wrap_assign_code',
+`dnl
+external ppl_ at CLASS@_wrap_assign: @!CLASS@
+                                  -> int list
+                                  -> bounded_integer_type_width
+                                  -> bounded_integer_type_representation
+                                  -> bounded_integer_type_overflow
+                                  -> constraint_system
+                                  -> int -> int -> unit
+                        = "ppl_ at CLASS@_wrap_assign_bytecode"
+                          "ppl_ at CLASS@_wrap_assign_native"
+
+')
diff --git a/interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4 b/interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4
index 746116a..97f2e27 100644
--- a/interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4
+++ b/interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4
@@ -4,7 +4,7 @@ m4_divert(-1)
 dnl This m4 file generates the file ppl_ocaml.mli
 dnl using the code in ppl_interface_generator_ocaml_mli_code.m4.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4 b/interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4
index 25cdd54..bed44cf 100644
--- a/interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4
+++ b/interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4
@@ -3,7 +3,7 @@ m4_divert(-1)
 
 This m4 file contains the program code for generating ppl_ocaml.mli
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -178,6 +178,20 @@ val ppl_ at CLASS@_expand_space_dimension:
   @!CLASS@ -> int -> int -> unit
 ')
 
+m4_define(`ppl_ at CLASS@_drop_some_non_integer_points_code',
+`dnl
+val ppl_ at CLASS@_drop_some_non_integer_points:
+  @!CLASS@ -> complexity_class -> unit
+
+')
+
+m4_define(`ppl_ at CLASS@_drop_some_non_integer_points_2_code',
+`dnl
+val ppl_ at CLASS@_drop_some_non_integer_points_2:
+  @!CLASS@ -> int list -> complexity_class -> unit
+
+')
+
 m4_define(`ppl_ at CLASS@_get_ at CLASS_REPRESENT@s_code',
 `dnl
 val ppl_ at CLASS@_get_ at CLASS_REPRESENT@s:
@@ -322,6 +336,14 @@ val ppl_ at CLASS@_ at MAXMIN@_with_point:
 
 ')
 
+m4_define(`ppl_ at CLASS@_frequency_code',
+`dnl
+val ppl_ at CLASS@_frequency:
+  @!CLASS@ -> linear_expression
+  -> bool * Z.t * Z.t * Z.t * Z.t
+
+')
+
 m4_define(`ppl_ at CLASS@_OK_code',
 `dnl
 val ppl_ at CLASS@_OK:
@@ -480,3 +502,71 @@ val ppl_ at CLASS@_approximate_ at PARTITION@:
     @!CLASS@ * pointset_powerset_grid * bool
 
 ')
+
+m4_define(`ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+`dnl
+val ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@:
+  @!CLASS@ -> bool
+
+')
+
+m4_define(`ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_code',
+`dnl
+val ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2:
+  @!CLASS@ -> @!CLASS@ -> bool
+
+')
+
+m4_define(`ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+`dnl
+val ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@:
+  @!CLASS@ -> bool * linear_generator
+
+')
+
+m4_define(`ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_code',
+`dnl
+val ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2:
+  @!CLASS@ -> @!CLASS@ -> bool * linear_generator
+
+')
+
+m4_define(`ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+`dnl
+val ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@:
+  @!CLASS@ -> polyhedron
+
+')
+
+m4_define(`ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_code',
+`dnl
+val ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2:
+  @!CLASS@ -> @!CLASS@ -> polyhedron
+
+')
+
+m4_define(`ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _code',
+`dnl
+val ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS@:
+  @!CLASS@ -> polyhedron * polyhedron
+
+')
+
+m4_define(`ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _2_code',
+`dnl
+val ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _2:
+  @!CLASS@ -> @!CLASS@ -> polyhedron * polyhedron
+
+')
+
+m4_define(`ppl_ at CLASS@_wrap_assign_code',
+`dnl
+val ppl_ at CLASS@_wrap_assign: @!CLASS@
+                             -> int list
+                             -> bounded_integer_type_width
+                             -> bounded_integer_type_representation
+                             -> bounded_integer_type_overflow
+                             -> constraint_system
+                             -> int -> int -> unit
+
+')
diff --git a/interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators.m4 b/interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators.m4
index 698fb7c..19832d2 100644
--- a/interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators.m4
+++ b/interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators.m4
@@ -4,7 +4,7 @@ dnl This m4 file defines the list of procedures
 dnl for the OCaml interface; this includes:
 dnl - the list in the imported file and any OCaml specific procedures.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -40,4 +40,17 @@ dnl in the ppl_interface_generator_*_code.m4 file.
 dnl The <name> must be exactly as written here.
 dnl
 
-m4_define(`m4_procedure_list', `m4_common_procedure_list')
+m4_define(`m4_procedure_list',
+  `m4_echo_unquoted(ppl_new_ at CLASS@_iterator +pointset_powerset,
+`m4_common_procedure_list',
+ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@ +simple,
+ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@ +simple,
+ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@ +simple,
+ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS@ +simple,
+ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2 +simple,
+ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2 +simple,
+ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2 +simple,
+ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _2 +simple,
+)
+')
+
diff --git a/interfaces/OCaml/ppl_ocaml_common.cc b/interfaces/OCaml/ppl_ocaml_common.cc
index e13a4ee..7e709a5 100644
--- a/interfaces/OCaml/ppl_ocaml_common.cc
+++ b/interfaces/OCaml/ppl_ocaml_common.cc
@@ -1,5 +1,5 @@
 /* Domain-independent part of the OCaml interface: non-inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -28,61 +28,16 @@ namespace Interfaces {
 
 namespace OCaml {
 
-class PFunc {
- private:
-   std::set<dimension_type> codomain;
-   std::vector<dimension_type> vec;
-
- public:
-   PFunc() {
-   }
-
-  bool has_empty_codomain() const {
-    return codomain.empty();
-   }
-
-  dimension_type max_in_codomain() const {
-    if (codomain.empty())
-      throw std::runtime_error("PFunc::max_in_codomain()");
-    return *codomain.rbegin();
-  }
-
-  bool maps(dimension_type i, dimension_type& j) const {
-    if (i >= vec.size())
-      return false;
-    dimension_type vec_i = vec[i];
-    if (vec_i == not_a_dimension())
-      return false;
-    j = vec_i;
-    return true;
-  }
-
-  bool insert(dimension_type i, dimension_type j) {
-    std::pair<std::set<dimension_type>::iterator, bool> s
-      = codomain.insert(j);
-    if (!s.second)
-      // *this is not injective!
-      return false;
-    if (i > vec.size())
-      vec.insert(vec.end(), i - vec.size(), not_a_dimension());
-    if (i == vec.size()) {
-      vec.insert(vec.end(), j);
-      return true;
-    }
-    dimension_type& vec_i = vec[i];
-    if (vec_i != not_a_dimension())
-      // Already mapped: *this is not a function!
-      return false;
-    vec_i = j;
-    return true;
-  }
-};
-
-
 #ifdef PPL_WATCHDOG_LIBRARY_ENABLED
 
 Parma_Watchdog_Library::Watchdog* p_timeout_object = 0;
 
+typedef
+Parma_Watchdog_Library::Threshold_Watcher
+<Parma_Polyhedra_Library::Weightwatch_Traits> Weightwatch;
+
+Weightwatch* p_deterministic_timeout_object = 0;
+
 #endif // PPL_WATCHDOG_LIBRARY_ENABLED
 
 void
@@ -96,6 +51,17 @@ reset_timeout() {
 #endif // PPL_WATCHDOG_LIBRARY_ENABLED
 }
 
+void
+reset_deterministic_timeout() {
+#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
+  if (p_deterministic_timeout_object) {
+    delete p_deterministic_timeout_object;
+    p_deterministic_timeout_object = 0;
+    abandon_expensive_computations = 0;
+  }
+#endif // PPL_WATCHDOG_LIBRARY_ENABLED
+}
+
 namespace {
 
 inline mpz_ptr
@@ -192,6 +158,59 @@ build_ppl_relsym(value caml_relsym) {
   }
 }
 
+Bounded_Integer_Type_Width
+build_ppl_bounded_integer_type_width(value caml_width) {
+  assert(Is_long(caml_width));
+  switch (Int_val(caml_width)) {
+  case 0:
+    return BITS_8;
+  case 1:
+    return BITS_16;
+  case 2:
+    return BITS_32;
+  case 3:
+    return BITS_64;
+  case 4:
+    return BITS_128;
+  default:
+    // We should not be here!
+    throw std::runtime_error("PPL OCaml interface internal error\n:"
+                             "build_ppl_bounded_integer_type_width(width)");
+  }
+}
+
+Bounded_Integer_Type_Representation
+build_ppl_bounded_integer_type_representation(value caml_rep) {
+  assert(Is_long(caml_rep));
+  switch (Int_val(caml_rep)) {
+  case 0:
+    return UNSIGNED;
+  case 1:
+    return SIGNED_2_COMPLEMENT;
+  default:
+    // We should not be here!
+    throw std::runtime_error("PPL OCaml interface internal error\n:"
+                             "build_ppl_bounded_integer_type_representation(rep)");
+  }
+}
+
+Bounded_Integer_Type_Overflow
+build_ppl_bounded_integer_type_overflow(value caml_oflow) {
+  assert(Is_long(caml_oflow));
+  switch (Int_val(caml_oflow)) {
+  case 0:
+    return OVERFLOW_WRAPS;
+  case 1:
+    return OVERFLOW_UNDEFINED;
+  case 2:
+    return OVERFLOW_IMPOSSIBLE;
+  default:
+    // We should not be here!
+    throw std::runtime_error("PPL OCaml interface internal error\n:"
+                             "build_ppl_bounded_integer_type_overflow(oflow)");
+  }
+}
+
 Optimization_Mode
 build_ppl_opt_mode(value caml_opt_mode) {
   assert(Is_long(caml_opt_mode));
@@ -269,6 +288,44 @@ build_ppl_control_parameter_value(value caml_cp_value) {
   }
 }
 
+PIP_Problem::Control_Parameter_Name
+build_ppl_pip_problem_control_parameter_name(value caml_cp_name) {
+  assert(Is_long(caml_cp_name));
+  switch (Int_val(caml_cp_name)) {
+  case 0:
+    return  PIP_Problem::CUTTING_STRATEGY;
+  case 1:
+    return  PIP_Problem::PIVOT_ROW_STRATEGY;
+  default:
+    // We should not be here!
+    throw std::runtime_error("PPL OCaml interface internal error:\n"
+                             "build_ppl_pip_problem_"
+                             "control_parameter_name(cpn)");
+  }
+}
+
+PIP_Problem::Control_Parameter_Value
+build_ppl_pip_problem_control_parameter_value(value caml_cp_value) {
+  assert(Is_long(caml_cp_value));
+  switch (Int_val(caml_cp_value)) {
+  case 0:
+    return PIP_Problem::CUTTING_STRATEGY_FIRST;
+  case 1:
+    return PIP_Problem::CUTTING_STRATEGY_DEEPEST;
+  case 2:
+    return PIP_Problem::CUTTING_STRATEGY_ALL;
+  case 3:
+    return PIP_Problem::PIVOT_ROW_STRATEGY_FIRST;
+  case 4:
+    return PIP_Problem::PIVOT_ROW_STRATEGY_MAX_COLUMN;
+  default:
+    // We should not be here!
+    throw std::runtime_error("PPL OCaml interface internal error:\n"
+                             "build_ppl_pip_problem_"
+                             "control_parameter_value(cpv)");
+  }
+}
+
 Variables_Set
 build_ppl_Variables_Set(value caml_vset) {
   Variables_Set ppl_vset;
@@ -605,7 +662,7 @@ build_ppl_Congruence(value c) {
   mpz_class z(mpz_ptr_val(Field(c, 2)));
   Linear_Expression lhs = build_ppl_Linear_Expression(e1);
   Linear_Expression rhs = build_ppl_Linear_Expression(e2);
-  return ((lhs %= rhs) / z);
+  return (lhs %= rhs) / z;
 }
 
 Generator
@@ -728,6 +785,74 @@ unregistered_value_p_MIP_Problem(const MIP_Problem& ph) {
   return v;
 }
 
+//! Give access to the embedded PIP_Problem* in \p v.
+inline PIP_Problem*&
+p_PIP_Problem_val(value v) {
+  return *reinterpret_cast<PIP_Problem**>(Data_custom_val(v));
+}
+
+void
+custom_PIP_Problem_finalize(value v) {
+  delete p_PIP_Problem_val(v);
+}
+
+static struct custom_operations PIP_Problem_custom_operations = {
+  "it.unipr.cs.ppl" "." PPL_VERSION "." "PIP_Problem",
+  custom_PIP_Problem_finalize,
+  custom_compare_default,
+  custom_hash_default,
+  custom_serialize_default,
+  custom_deserialize_default
+};
+
+inline value
+unregistered_value_p_PIP_Problem(const PIP_Problem& ph) {
+  value v = caml_alloc_custom(&PIP_Problem_custom_operations,
+                              sizeof(PIP_Problem*), 0, 1);
+  p_PIP_Problem_val(v) = const_cast<PIP_Problem*>(&ph);
+  return v;
+}
+
+// NOTE: the finalization of each PIP_Tree_Node object is delegated
+// to the owning PIP_Problem object, hence we should not provide a custom
+// finalization function (the default one is fine).
+// In principle, we could directly store a PIP_Tree_Node* in a Caml 'value':
+// the use of a Custom_tag block is anyway recommended by Caml manual.
+static struct custom_operations PIP_Tree_Node_custom_operations = {
+  "it.unipr.cs.ppl" "." PPL_VERSION "." "PIP_Tree_Node",
+  custom_finalize_default,
+  custom_compare_default,
+  custom_hash_default,
+  custom_serialize_default,
+  custom_deserialize_default
+};
+
+//! Give access to the embedded const PIP_Tree_Node* in \p v.
+inline const PIP_Tree_Node*&
+p_PIP_Tree_Node_val(value v) {
+  return *reinterpret_cast<const PIP_Tree_Node**>(Data_custom_val(v));
+}
+
+inline value
+unregistered_value_p_PIP_Tree_Node(const PIP_Tree_Node* pip_tree) {
+  value v = caml_alloc_custom(&PIP_Tree_Node_custom_operations,
+                              sizeof(PIP_Tree_Node*), 0, 1);
+  p_PIP_Tree_Node_val(v) = pip_tree;
+  return v;
+}
+
+inline const PIP_Tree_Node*
+ppl_PIP_Tree_Node_get_child(const PIP_Tree_Node* parent, bool branch) {
+  if (parent == 0)
+    throw std::invalid_argument("ppl_PIP_Tree_Node_get_child(node):\n"
+                                "node is bottom.");
+  if (const PIP_Decision_Node* ppl_dec = parent->as_decision())
+    return ppl_dec->child_node(branch);
+  else
+    throw std::invalid_argument("ppl_PIP_Tree_Node_get_child(node):\n"
+                                "node is not a decision node (solution).");
+}
+
 } // namespace OCaml
 
 } // namespace Interfaces
@@ -1072,6 +1197,439 @@ CATCH_ALL
 
 extern "C"
 CAMLprim value
+ppl_new_PIP_Problem_from_space_dimension(value d) try {
+  CAMLparam1(d);
+  dimension_type dd = value_to_ppl_dimension(d);
+  PIP_Problem& ppl_pip = *new PIP_Problem(dd);
+  CAMLreturn(unregistered_value_p_PIP_Problem(ppl_pip));
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_new_PIP_Problem(value d, value caml_cs, value caml_vset) try {
+  CAMLparam3(d, caml_cs, caml_vset);
+  dimension_type dd = value_to_ppl_dimension(d);
+  Constraint_System ppl_cs = build_ppl_Constraint_System(caml_cs);
+  Variables_Set ppl_vset;
+  if (Int_val(caml_vset) == 0)
+    CAMLreturn(Val_unit);
+  while (true) {
+    ppl_vset.insert(Int_val(Field(caml_vset, 0)));
+    if (Int_val(Field(caml_vset, 1)) == 0)
+      break;
+    caml_vset = Field(caml_vset, 1);
+  }
+  PIP_Problem& ppl_pip = *new PIP_Problem(dd, ppl_cs.begin(), ppl_cs.end(),
+                                          ppl_vset);
+  CAMLreturn(unregistered_value_p_PIP_Problem(ppl_pip));
+}
+CATCH_ALL
+
+
+extern "C"
+CAMLprim value
+ppl_PIP_Problem_space_dimension(value pip) try {
+  CAMLparam1(pip);
+  const PIP_Problem& ppip = *p_PIP_Problem_val(pip);
+  dimension_type d = ppip.space_dimension();
+  CAMLreturn(ppl_dimension_to_value(d));
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_PIP_Problem_parameter_space_dimensions(value caml_pip) try {
+  CAMLparam1(caml_pip);
+  CAMLlocal2(result, new_tail);
+  PIP_Problem& ppl_pip = *p_PIP_Problem_val(caml_pip);
+  const Variables_Set& ppl_ivars = ppl_pip.parameter_space_dimensions();
+  result = Val_emptylist;
+  for (Variables_Set::const_reverse_iterator i = ppl_ivars.rbegin(),
+         i_end = ppl_ivars.rend(); i != i_end; ++i) {
+    new_tail = caml_alloc_tuple(2);
+    Store_field(new_tail, 0, ppl_dimension_to_value(*i));
+    Store_field(new_tail, 1, result);
+    result = new_tail;
+  }
+  CAMLreturn(result);
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_PIP_Problem_constraints(value caml_pip) try {
+  CAMLparam1(caml_pip);
+  const PIP_Problem& ppl_pip = *p_PIP_Problem_val(caml_pip);
+  Constraint_System cs;
+  for (PIP_Problem::const_iterator cs_it = ppl_pip.constraints_begin(),
+	 cs_end = ppl_pip.constraints_end(); cs_it != cs_end; ++cs_it) {
+    cs.insert(*cs_it);
+  }
+  CAMLreturn(build_ocaml_constraint_system(cs));
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_PIP_Problem_add_space_dimensions_and_embed(value caml_pip,
+                                               value vdim, value pdim) try {
+  CAMLparam3(caml_pip, vdim, pdim);
+  dimension_type ppl_vdim = value_to_ppl_dimension(vdim);
+  dimension_type ppl_pdim = value_to_ppl_dimension(pdim);
+  PIP_Problem& ppl_pip = *p_PIP_Problem_val(caml_pip);
+  ppl_pip.add_space_dimensions_and_embed(ppl_vdim, ppl_pdim);
+  CAMLreturn(Val_unit);
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_PIP_Problem_add_to_parameter_space_dimensions(value caml_pip,
+						  value caml_ivars) try {
+  CAMLparam2(caml_pip, caml_ivars);
+  PIP_Problem& ppl_pip = *p_PIP_Problem_val(caml_pip);
+  ppl_pip.add_to_parameter_space_dimensions
+    (build_ppl_Variables_Set(caml_ivars));
+  CAMLreturn(Val_unit);
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_PIP_Problem_add_constraint(value caml_pip,
+			       value caml_constraint) try {
+  CAMLparam2(caml_pip, caml_constraint);
+  PIP_Problem& ppl_pip = *p_PIP_Problem_val(caml_pip);
+  ppl_pip.add_constraint(build_ppl_Constraint(caml_constraint));
+  CAMLreturn(Val_unit);
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_PIP_Problem_add_constraints(value caml_pip,
+                                value caml_constraints) try {
+  CAMLparam2(caml_pip, caml_constraints);
+  PIP_Problem& ppl_pip = *p_PIP_Problem_val(caml_pip);
+  ppl_pip.add_constraints(build_ppl_Constraint_System(caml_constraints));
+  CAMLreturn(Val_unit);
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_PIP_Problem_set_big_parameter_dimension(value caml_pip,
+				            value caml_dim) try {
+  CAMLparam2(caml_pip, caml_dim);
+  dimension_type ppl_dim = value_to_ppl_dimension(caml_dim);
+  PIP_Problem& ppl_pip = *p_PIP_Problem_val(caml_pip);
+  ppl_pip.set_big_parameter_dimension(ppl_dim);
+  CAMLreturn(Val_unit);
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_PIP_Problem_get_big_parameter_dimension(value caml_pip) try {
+  CAMLparam1(caml_pip);
+  PIP_Problem& ppl_pip = *p_PIP_Problem_val(caml_pip);
+  dimension_type d = ppl_pip.get_big_parameter_dimension();
+  if (d == not_a_dimension())
+    throw std::invalid_argument("ppl_PIP_Problem_get_big_parameter_dimension"
+                                "(pip):\n"
+                                "big parameter dimension has not been set.");
+  CAMLreturn(ppl_dimension_to_value(d));
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_PIP_Problem_has_big_parameter_dimension(value caml_pip) try {
+  CAMLparam1(caml_pip);
+  PIP_Problem& ppl_pip = *p_PIP_Problem_val(caml_pip);
+  dimension_type d = ppl_pip.get_big_parameter_dimension();
+  CAMLreturn(Val_bool(d != not_a_dimension()));
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_PIP_Problem_is_satisfiable(value caml_pip) try {
+  CAMLparam1(caml_pip);
+  PIP_Problem& ppl_pip = *p_PIP_Problem_val(caml_pip);
+  CAMLreturn(ppl_pip.is_satisfiable());
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_PIP_Problem_solve(value caml_pip) try {
+  CAMLparam1(caml_pip);
+  PIP_Problem& ppl_pip = *p_PIP_Problem_val(caml_pip);
+  PIP_Problem_Status pip_status = ppl_pip.solve();
+  switch (pip_status) {
+  case UNFEASIBLE_PIP_PROBLEM:
+    CAMLreturn(Val_int(0));
+  case OPTIMIZED_PIP_PROBLEM:
+    CAMLreturn(Val_int(1));
+  default:
+    ;
+  }
+  // We should not be here!
+  throw std::runtime_error("PPL OCaml interface internal error");
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_PIP_Problem_set_control_parameter(value caml_pip,
+                                      value caml_cp_value) try {
+  CAMLparam2(caml_pip, caml_cp_value);
+  PIP_Problem& ppl_pip = *p_PIP_Problem_val(caml_pip);
+  PIP_Problem::Control_Parameter_Value ppl_cp_value
+    = build_ppl_pip_problem_control_parameter_value(caml_cp_value);
+  ppl_pip.set_control_parameter(ppl_cp_value);
+  CAMLreturn(Val_unit);
+ }
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_PIP_Problem_get_control_parameter(value caml_pip,
+                                      value caml_cp_name) try {
+  CAMLparam2(caml_pip, caml_cp_name);
+  PIP_Problem& ppl_pip = *p_PIP_Problem_val(caml_pip);
+  PIP_Problem::Control_Parameter_Name ppl_cp_name
+    = build_ppl_pip_problem_control_parameter_name(caml_cp_name);
+  PIP_Problem::Control_Parameter_Value ppl_cp_value
+    = ppl_pip.get_control_parameter(ppl_cp_name);
+  switch (ppl_cp_value) {
+  case PIP_Problem::CUTTING_STRATEGY_FIRST:
+    CAMLreturn(Val_int(0));
+  case PIP_Problem::CUTTING_STRATEGY_DEEPEST:
+    CAMLreturn(Val_int(1));
+  case PIP_Problem::CUTTING_STRATEGY_ALL:
+    CAMLreturn(Val_int(2));
+  case PIP_Problem::PIVOT_ROW_STRATEGY_FIRST:
+    CAMLreturn(Val_int(3));
+  case PIP_Problem::PIVOT_ROW_STRATEGY_MAX_COLUMN:
+    CAMLreturn(Val_int(4));
+  default:
+    ;
+  }
+  // We should not be here!
+  throw std::runtime_error("PPL OCaml interface internal error");
+ }
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_PIP_Problem_solution(value caml_pip) try {
+  CAMLparam1(caml_pip);
+  PIP_Problem& ppl_pip = *p_PIP_Problem_val(caml_pip);
+  const PIP_Tree_Node* ppl_node = ppl_pip.solution();
+  CAMLreturn(unregistered_value_p_PIP_Tree_Node(ppl_node));
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_PIP_Problem_optimizing_solution(value caml_pip) try {
+  CAMLparam1(caml_pip);
+  PIP_Problem& ppl_pip = *p_PIP_Problem_val(caml_pip);
+  const PIP_Tree_Node* ppl_node = ppl_pip.optimizing_solution();
+  CAMLreturn(unregistered_value_p_PIP_Tree_Node(ppl_node));
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_PIP_Problem_OK(value caml_pip) try {
+  CAMLparam1(caml_pip);
+  PIP_Problem& ppl_pip = *p_PIP_Problem_val(caml_pip);
+  CAMLreturn(Val_bool(ppl_pip.OK()));
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_PIP_Problem_clear(value caml_pip) try {
+  CAMLparam1(caml_pip);
+  PIP_Problem& ppl_pip = *p_PIP_Problem_val(caml_pip);
+  ppl_pip.clear();
+  CAMLreturn(Val_unit);
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_PIP_Problem_swap(value caml_pip1, value caml_pip2) try{
+  CAMLparam2(caml_pip1, caml_pip2);
+  PIP_Problem& ppl_pip1 = *p_PIP_Problem_val(caml_pip1);
+  PIP_Problem& ppl_pip2 = *p_PIP_Problem_val(caml_pip2);
+  ppl_pip1.swap(ppl_pip2);
+  CAMLreturn(Val_unit);
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_PIP_Problem_ascii_dump(value caml_pip) try {
+  CAMLparam1(caml_pip);
+  PIP_Problem& pip = *p_PIP_Problem_val(caml_pip);
+  std::ostringstream s;
+  pip.ascii_dump(s);
+  CAMLreturn(caml_copy_string(s.str().c_str()));
+}
+CATCH_ALL
+
+value
+build_ocaml_artificial_parameter(const PIP_Tree_Node::Artificial_Parameter&
+                                 ppl_artificial_parameter) {
+  CAMLparam0();
+  CAMLlocal1(caml_artificial_parameter);
+  caml_artificial_parameter = caml_alloc(2,0);
+  Store_field(caml_artificial_parameter, 0,
+              get_linear_expression(ppl_artificial_parameter));
+  const Coefficient& denominator = ppl_artificial_parameter.denominator();
+  Store_field(caml_artificial_parameter, 1,
+              build_ocaml_coefficient(denominator));
+  CAMLreturn(caml_artificial_parameter);
+}
+
+extern "C"
+CAMLprim value
+ppl_PIP_Tree_Node_constraints(value caml_node) try {
+  CAMLparam1(caml_node);
+  const PIP_Tree_Node* ppl_node = p_PIP_Tree_Node_val(caml_node);
+  if (ppl_node == 0)
+    throw std::invalid_argument("ppl_PIP_Tree_Node_constraints(node):\n"
+                                "node is bottom.");
+  const Constraint_System& ppl_cs = ppl_node->constraints();
+  CAMLreturn(build_ocaml_constraint_system(ppl_cs));
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_PIP_Tree_Node_is_bottom(value caml_node) try {
+  CAMLparam1(caml_node);
+  const PIP_Tree_Node* ppl_node = p_PIP_Tree_Node_val(caml_node);
+  CAMLreturn(Val_bool(ppl_node == 0));
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_PIP_Tree_Node_is_solution(value caml_node) try {
+  CAMLparam1(caml_node);
+  const PIP_Tree_Node* ppl_node = p_PIP_Tree_Node_val(caml_node);
+  CAMLreturn(Val_bool(ppl_node != 0
+                      && ppl_node->as_solution() != 0));
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_PIP_Tree_Node_is_decision(value caml_node) try {
+  CAMLparam1(caml_node);
+  const PIP_Tree_Node* ppl_node = p_PIP_Tree_Node_val(caml_node);
+  CAMLreturn(Val_bool(ppl_node != 0
+                      && ppl_node->as_decision() != 0));
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_PIP_Tree_Node_artificials(value caml_node) try {
+  CAMLparam1(caml_node);
+  CAMLlocal2(result, new_tail);
+  const PIP_Tree_Node* ppl_node = p_PIP_Tree_Node_val(caml_node);
+  if (ppl_node == 0)
+    throw std::invalid_argument("ppl_PIP_Tree_Node_artificials(node):\n"
+                                "node is bottom.");
+  for (PIP_Tree_Node::Artificial_Parameter_Sequence::const_iterator
+         v_begin = ppl_node->art_parameter_begin(),
+  	 v_end = ppl_node->art_parameter_end(); v_begin != v_end; ++v_begin) {
+    new_tail = caml_alloc_tuple(2);
+    Store_field(new_tail, 0, build_ocaml_artificial_parameter(*v_begin));
+    Store_field(new_tail, 1, result);
+    result = new_tail;
+  }
+  CAMLreturn(result);
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_PIP_Tree_Node_OK(value caml_node) try {
+  CAMLparam1(caml_node);
+  const PIP_Tree_Node* ppl_node = p_PIP_Tree_Node_val(caml_node);
+  if (ppl_node == 0)
+    throw std::invalid_argument("ppl_PIP_Tree_Node_OK(node):\n"
+                                "node is bottom.");
+  CAMLreturn(Val_bool(ppl_node->OK()));
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_PIP_Tree_Node_ascii_dump(value caml_node) try {
+  CAMLparam1(caml_node);
+  const PIP_Tree_Node* ppl_node = p_PIP_Tree_Node_val(caml_node);
+  if (ppl_node == 0)
+    throw std::invalid_argument("ppl_PIP_Tree_Node_ascii_dump(node):\n"
+                                "node is bottom.");
+  std::ostringstream s;
+  ppl_node->ascii_dump(s);
+  CAMLreturn(caml_copy_string(s.str().c_str()));
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_PIP_Tree_Node_parametric_values(value caml_node,
+                                        value caml_dim) try {
+  CAMLparam2(caml_node, caml_dim);
+  const PIP_Tree_Node* ppl_node = p_PIP_Tree_Node_val(caml_node);
+  if (ppl_node == 0)
+    throw std::invalid_argument("ppl_PIP_Tree_Node_get_parametric_values"
+                                "(node, dim):\n"
+                                "node is not a solution node (bottom).");
+  const PIP_Solution_Node* ppl_sol = ppl_node->as_solution();
+  if (ppl_sol == 0)
+    throw std::invalid_argument("ppl_PIP_Tree_Node_get_parametric_values"
+                                "(node, dim):\n"
+                                "node is not a solution node (decision).");
+  Variable var(Int_val(caml_dim));
+  const Linear_Expression& ppl_le = ppl_sol->parametric_values(var);
+  CAMLreturn(get_linear_expression(ppl_le));
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_PIP_Tree_Node_true_child(value caml_node) try {
+  CAMLparam1(caml_node);
+  const PIP_Tree_Node* ppl_node = p_PIP_Tree_Node_val(caml_node);
+  const PIP_Tree_Node* child = ppl_PIP_Tree_Node_get_child(ppl_node, true);
+  CAMLreturn(unregistered_value_p_PIP_Tree_Node(child));
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_PIP_Tree_Node_false_child(value caml_node) try {
+  CAMLparam1(caml_node);
+  const PIP_Tree_Node* ppl_node = p_PIP_Tree_Node_val(caml_node);
+  const PIP_Tree_Node* child = ppl_PIP_Tree_Node_get_child(ppl_node, false);
+  CAMLreturn(unregistered_value_p_PIP_Tree_Node(child));
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
 ppl_version_major(value unit) try {
   CAMLparam1(unit);
   CAMLreturn(Val_long(version_major()));
@@ -1143,6 +1701,14 @@ CATCH_ALL
 
 extern "C"
 CAMLprim value
+ppl_Coefficient_bits(value unit) try {
+  CAMLparam1(unit);
+  CAMLreturn(Val_long(PPL_COEFFICIENT_BITS));
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
 ppl_Coefficient_is_bounded(value unit) try {
   CAMLparam1(unit);
   CAMLreturn(std::numeric_limits<Coefficient>::is_bounded
@@ -1187,6 +1753,25 @@ CATCH_ALL
 
 extern "C"
 CAMLprim value
+ppl_Linear_Expression_is_zero(value ocaml_le) try {
+  CAMLparam1(ocaml_le);
+  CAMLreturn(build_ppl_Linear_Expression(ocaml_le).is_zero()
+             ? Val_true : Val_false);
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_Linear_Expression_all_homogeneous_terms_are_zero(value ocaml_le) try {
+  CAMLparam1(ocaml_le);
+  CAMLreturn(build_ppl_Linear_Expression(ocaml_le).
+    all_homogeneous_terms_are_zero()
+             ? Val_true : Val_false);
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
 ppl_set_rounding_for_PPL(value unit) try {
   CAMLparam1(unit);
   set_rounding_for_PPL();
@@ -1205,6 +1790,24 @@ CATCH_ALL
 
 extern "C"
 CAMLprim value
+ppl_irrational_precision(value unit) try {
+  CAMLparam1(unit);
+  CAMLreturn(Val_long(irrational_precision()));
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_set_irrational_precision(value p) try {
+  CAMLparam1(p);
+  unsigned cxx_p = value_to_unsigned<unsigned>(p);
+  set_irrational_precision(cxx_p);
+  CAMLreturn(Val_unit);
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
 ppl_set_timeout(value time) try {
   CAMLparam1(time);
 #ifndef PPL_WATCHDOG_LIBRARY_ENABLED
@@ -1236,3 +1839,37 @@ ppl_reset_timeout(value unit) try {
 #endif // PPL_WATCHDOG_LIBRARY_ENABLED
 }
 CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_set_deterministic_timeout(value weight) try {
+  CAMLparam1(weight);
+#ifndef PPL_WATCHDOG_LIBRARY_ENABLED
+  const char* what = "PPL OCaml interface usage error:\n"
+    "ppl_set_deterministic_timeout: the PPL Watchdog library is not enabled.";
+  throw std::runtime_error(what);
+#else
+  // In case a timeout was already set.
+  reset_deterministic_timeout();
+  unsigned cpp_weight = value_to_unsigned<unsigned>(weight);
+  static deterministic_timeout_exception e;
+  p_deterministic_timeout_object
+    = new Weightwatch(cpp_weight, abandon_expensive_computations, e);
+  CAMLreturn(Val_unit);
+#endif // PPL_WATCHDOG_LIBRARY_ENABLED
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_reset_deterministic_timeout(value unit) try {
+  CAMLparam1(unit);
+#ifndef PPL_WATCHDOG_LIBRARY_ENABLED
+  throw std::runtime_error("PPL OCaml interface error:\n"
+                           "the PPL Watchdog library is not enabled.");
+#else
+  reset_deterministic_timeout();
+  CAMLreturn(Val_unit);
+#endif // PPL_WATCHDOG_LIBRARY_ENABLED
+}
+CATCH_ALL
diff --git a/interfaces/OCaml/ppl_ocaml_common.defs.hh b/interfaces/OCaml/ppl_ocaml_common.defs.hh
index 9b8bbe1..3ce031f 100644
--- a/interfaces/OCaml/ppl_ocaml_common.defs.hh
+++ b/interfaces/OCaml/ppl_ocaml_common.defs.hh
@@ -1,5 +1,5 @@
 /* Domain-independent part of the OCaml interface: declarations.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -71,6 +71,15 @@ build_ppl_Complexity_Class(value cc);
 Relation_Symbol
 build_ppl_relsym(value caml_relsym);
 
+Bounded_Integer_Type_Overflow
+build_ppl_bounded_integer_type_overflow(value caml_oflow);
+
+Bounded_Integer_Type_Representation
+build_ppl_bounded_integer_type_representation(value caml_rep);
+
+Bounded_Integer_Type_Width
+build_ppl_bounded_integer_type_width(value caml_width);
+
 Coefficient
 build_ppl_Coefficient(value coeff);
 
@@ -140,25 +149,19 @@ build_ocaml_generator_system(const Generator_System& gs);
 value
 build_ocaml_grid_generator_system(const Grid_Generator_System& ggs);
 
-class Partial_Function {
+class timeout_exception
+  : public Parma_Polyhedra_Library::Throwable {
 public:
-  Partial_Function();
-
-  bool has_empty_codomain() const;
-
-  dimension_type max_in_codomain() const;
-
-  bool maps(dimension_type i, dimension_type& j) const;
-
-  bool insert(dimension_type i, dimension_type j);
-
-private:
-  std::set<dimension_type> codomain;
-
-  std::vector<dimension_type> vec;
+  void throw_me() const {
+    throw *this;
+  }
+  int priority() const {
+    return 0;
+  }
 };
 
-class timeout_exception : public Parma_Polyhedra_Library::Throwable {
+class deterministic_timeout_exception
+  : public Parma_Polyhedra_Library::Throwable {
 public:
   void throw_me() const {
     throw *this;
@@ -166,12 +169,12 @@ public:
   int priority() const {
     return 0;
   }
-  timeout_exception() {
-  }
 };
 
 void reset_timeout();
 
+void reset_deterministic_timeout();
+
 } // namespace OCaml
 
 } // namespace Interfaces
@@ -189,6 +192,18 @@ catch(std::overflow_error& e) {					        \
   caml_raise_with_string(*caml_named_value("PPL_arithmetic_overflow"),  \
                          (const_cast<char*>(e.what())));		\
 }									\
+catch(std::domain_error& e) {					\
+  caml_raise_with_string(*caml_named_value("PPL_domain_error"),  \
+                         (const_cast<char*>(e.what())));		\
+}									\
+catch(std::length_error& e) {					\
+  caml_raise_with_string(*caml_named_value("PPL_length_error"),  \
+                         (const_cast<char*>(e.what())));		\
+}									\
+catch(std::logic_error& e) {						\
+  caml_raise_with_string(*caml_named_value("PPL_logic_error"),		\
+                         (const_cast<char*>(e.what())));		\
+}									\
 catch(std::runtime_error& e) {                                          \
   caml_raise_with_string(*caml_named_value("PPL_internal_error"),	\
                          (const_cast<char*>(e.what())));		\
@@ -201,6 +216,10 @@ catch(timeout_exception&) {                                             \
   reset_timeout();                                                      \
   caml_raise_constant(*caml_named_value("PPL_timeout_exception"));      \
 }                                                                       \
+catch(deterministic_timeout_exception&) {                               \
+  reset_deterministic_timeout();                                        \
+  caml_raise_constant(*caml_named_value("PPL_timeout_exception"));      \
+}                                                                       \
 catch(...) {								\
   caml_raise_constant(*caml_named_value("PPL_unexpected_error"));	\
 }
diff --git a/interfaces/OCaml/ppl_ocaml_common.inlines.hh b/interfaces/OCaml/ppl_ocaml_common.inlines.hh
index 7951f11..ddc8339 100644
--- a/interfaces/OCaml/ppl_ocaml_common.inlines.hh
+++ b/interfaces/OCaml/ppl_ocaml_common.inlines.hh
@@ -1,5 +1,5 @@
 /* Domain-independent part of the OCaml interface: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -72,53 +72,6 @@ build_ppl_Variable(value caml_var) {
   return Variable(value_to_ppl_dimension(caml_var));
 }
 
-inline
-Partial_Function::Partial_Function() {
-}
-
-inline bool
-Partial_Function::has_empty_codomain() const {
-  return codomain.empty();
-}
-
-inline dimension_type
-Partial_Function::max_in_codomain() const {
-  if (codomain.empty())
-    throw std::runtime_error("Partial_Function::max_in_codomain()");
-  return *codomain.rbegin();
-}
-
-inline bool
-Partial_Function::maps(dimension_type i, dimension_type& j) const {
-  if (i >= vec.size())
-    return false;
-  dimension_type vec_i = vec[i];
-  if (vec_i == not_a_dimension())
-    return false;
-  j = vec_i;
-  return true;
-}
-
-inline bool
-Partial_Function::insert(dimension_type i, dimension_type j) {
-  std::pair<std::set<dimension_type>::iterator, bool> s = codomain.insert(j);
-  if (!s.second)
-    // *this is not injective!
-    return false;
-  if (i > vec.size())
-    vec.insert(vec.end(), i - vec.size(), not_a_dimension());
-  if (i == vec.size()) {
-    vec.insert(vec.end(), j);
-    return true;
-  }
-  dimension_type& vec_i = vec[i];
-  if (vec_i != not_a_dimension())
-    // Already mapped: *this is not a function!
-    return false;
-  vec_i = j;
-  return true;
-}
-
 } // namespace OCaml
 
 } // namespace Interfaces
diff --git a/interfaces/OCaml/ppl_ocaml_globals.ml b/interfaces/OCaml/ppl_ocaml_globals.ml
index 82bbefd..a8e6b79 100644
--- a/interfaces/OCaml/ppl_ocaml_globals.ml
+++ b/interfaces/OCaml/ppl_ocaml_globals.ml
@@ -1,5 +1,5 @@
 (* OCaml interface: domain-independent functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -102,6 +102,19 @@ type congruence_system = linear_congruence list
 type relation_symbol = Less_Than_RS | Less_Or_Equal_RS | Equal_RS
                        | Greater_Than_RS | Greater_Or_Equal_RS
 
+type bounded_integer_type_overflow = Overflow_Wraps
+                                     | Overflow_Undefined
+                                     | Overflow_Impossible
+
+type bounded_integer_type_representation = Unsigned
+                                           | Signed_2_Complement
+
+type bounded_integer_type_width = Bits_8
+                                  | Bits_16
+                                  | Bits_32
+                                  | Bits_64
+                                  | Bits_128
+
 type complexity_class = Polynomial_Complexity
                         | Simplex_Complexity
                         | Any_Complexity
@@ -114,8 +127,8 @@ type mip_problem_status = Unfeasible_Mip_Problem | Unbounded_Mip_Problem
 type control_parameter_name = Pricing
 
 type control_parameter_value = Pricing_Steepest_Edge_Float
-                               | Pricing_Steepest_Edge_Exact
-                               | Pricing_Textbook
+                             | Pricing_Steepest_Edge_Exact
+                             | Pricing_Textbook
 
 type mip_problem
 
@@ -143,6 +156,9 @@ string -> int -> int -> int -> string = "ppl_io_wrap_string"
 external ppl_max_space_dimension:
 unit -> int = "ppl_max_space_dimension"
 
+external ppl_Coefficient_bits:
+unit -> int = "ppl_Coefficient_bits"
+
 external ppl_Coefficient_is_bounded:
 unit -> bool = "ppl_Coefficient_is_bounded"
 
@@ -152,18 +168,37 @@ unit -> Z.t = "ppl_Coefficient_max"
 external ppl_Coefficient_min:
 unit -> Z.t = "ppl_Coefficient_min"
 
+external ppl_Linear_Expression_is_zero:
+linear_expression -> bool = "ppl_Linear_Expression_is_zero"
+
+external ppl_Linear_Expression_all_homogeneous_terms_are_zero:
+linear_expression -> bool
+      = "ppl_Linear_Expression_all_homogeneous_terms_are_zero"
+
 external ppl_set_rounding_for_PPL:
 unit -> unit = "ppl_set_rounding_for_PPL"
 
 external ppl_restore_pre_PPL_rounding:
 unit -> unit = "ppl_restore_pre_PPL_rounding"
 
+external ppl_irrational_precision:
+unit -> int = "ppl_irrational_precision"
+
+external ppl_set_irrational_precision:
+int -> unit = "ppl_set_irrational_precision"
+
 external ppl_set_timeout:
 int -> unit = "ppl_set_timeout"
 
 external ppl_reset_timeout:
 unit -> unit = "ppl_reset_timeout"
 
+external ppl_set_deterministic_timeout:
+int -> unit = "ppl_set_deterministic_timeout"
+
+external ppl_reset_deterministic_timeout:
+unit -> unit = "ppl_reset_deterministic_timeout"
+
 external ppl_new_MIP_Problem_from_space_dimension:
   int -> mip_problem = "ppl_new_MIP_Problem_from_space_dimension"
 
@@ -260,3 +295,143 @@ external ppl_MIP_Problem_swap:
 external ppl_MIP_Problem_ascii_dump:
   mip_problem -> string
       = "ppl_MIP_Problem_ascii_dump"
+
+
+type pip_problem_status = Unfeasible_Pip_Problem
+                        | Optimized_Pip_Problem
+
+type pip_problem_control_parameter_name = Cutting_Strategy | Pivot_Row_Strategy
+
+type pip_problem_control_parameter_value = Cutting_Strategy_First
+                                         | Cutting_Strategy_Deepest
+                                         | Cutting_Strategy_All
+                                         | Pivot_Row_Strategy_First
+                                         | Pivot_Row_Strategy_Max_Column
+
+type artificial_parameter = linear_expression * Z.t
+
+type pip_tree_node
+
+type pip_problem
+
+external ppl_new_PIP_Problem_from_space_dimension:
+  int -> pip_problem = "ppl_new_PIP_Problem_from_space_dimension"
+
+external ppl_new_PIP_Problem:
+  int -> constraint_system -> int list -> pip_problem
+    = "ppl_new_PIP_Problem"
+
+external ppl_PIP_Problem_space_dimension:
+  pip_problem -> int = "ppl_PIP_Problem_space_dimension"
+
+external ppl_PIP_Problem_parameter_space_dimensions:
+  pip_problem -> int list = "ppl_PIP_Problem_parameter_space_dimensions"
+
+external ppl_PIP_Problem_constraints:
+  pip_problem -> constraint_system = "ppl_PIP_Problem_constraints"
+
+external ppl_PIP_Problem_add_space_dimensions_and_embed:
+  pip_problem -> int -> int -> unit
+      = "ppl_PIP_Problem_add_space_dimensions_and_embed"
+
+external ppl_PIP_Problem_add_to_parameter_space_dimensions:
+  pip_problem -> int list -> unit
+      = "ppl_PIP_Problem_add_to_parameter_space_dimensions"
+
+external ppl_PIP_Problem_add_constraint:
+  pip_problem -> linear_constraint -> unit
+      = "ppl_PIP_Problem_add_constraint"
+
+external ppl_PIP_Problem_add_constraints:
+  pip_problem -> constraint_system -> unit
+      = "ppl_PIP_Problem_add_constraints"
+
+external ppl_PIP_Problem_is_satisfiable:
+  pip_problem -> bool
+      = "ppl_PIP_Problem_is_satisfiable"
+
+external ppl_PIP_Problem_solve:
+  pip_problem -> pip_problem_status
+      = "ppl_PIP_Problem_solve"
+
+external ppl_PIP_Problem_solution:
+  pip_problem -> pip_tree_node
+      = "ppl_PIP_Problem_solution"
+
+external ppl_PIP_Problem_optimizing_solution:
+  pip_problem -> pip_tree_node
+      = "ppl_PIP_Problem_optimizing_solution"
+
+external ppl_PIP_Problem_get_big_parameter_dimension:
+  pip_problem -> int = "ppl_PIP_Problem_get_big_parameter_dimension"
+
+external ppl_PIP_Problem_has_big_parameter_dimension:
+  pip_problem -> bool = "ppl_PIP_Problem_has_big_parameter_dimension"
+
+external ppl_PIP_Problem_set_big_parameter_dimension:
+  pip_problem -> int -> unit = "ppl_PIP_Problem_set_big_parameter_dimension"
+
+external ppl_PIP_Problem_OK:
+  pip_problem -> bool
+      = "ppl_PIP_Problem_OK"
+
+external ppl_PIP_Problem_clear:
+  pip_problem -> unit
+      = "ppl_PIP_Problem_clear"
+
+external ppl_PIP_Problem_set_control_parameter:
+  pip_problem -> pip_problem_control_parameter_value -> unit
+      = "ppl_PIP_Problem_set_control_parameter"
+
+external ppl_PIP_Problem_get_control_parameter:
+  pip_problem -> pip_problem_control_parameter_name
+              -> pip_problem_control_parameter_value
+      = "ppl_PIP_Problem_get_control_parameter"
+
+external ppl_PIP_Problem_swap:
+  pip_problem -> pip_problem -> unit
+      = "ppl_PIP_Problem_swap"
+
+external ppl_PIP_Problem_ascii_dump:
+  pip_problem -> string
+      = "ppl_PIP_Problem_ascii_dump"
+
+external ppl_PIP_Tree_Node_constraints:
+  pip_tree_node -> constraint_system
+      = "ppl_PIP_Tree_Node_constraints"
+
+external ppl_PIP_Tree_Node_artificials:
+  pip_tree_node -> artificial_parameter list
+      = "ppl_PIP_Tree_Node_artificials"
+
+external ppl_PIP_Tree_Node_OK:
+  pip_tree_node -> bool
+      = "ppl_PIP_Tree_Node_OK"
+
+external ppl_PIP_Tree_Node_ascii_dump:
+  pip_tree_node -> string
+      = "ppl_PIP_Tree_Node_ascii_dump"
+
+external ppl_PIP_Tree_Node_is_bottom:
+  pip_tree_node -> bool
+      = "ppl_PIP_Tree_Node_is_bottom"
+
+external ppl_PIP_Tree_Node_is_solution:
+  pip_tree_node -> bool
+      = "ppl_PIP_Tree_Node_is_solution"
+
+external ppl_PIP_Tree_Node_parametric_values:
+  pip_tree_node -> int -> linear_expression
+      = "ppl_PIP_Tree_Node_parametric_values"
+
+external ppl_PIP_Tree_Node_is_decision:
+  pip_tree_node -> bool
+      = "ppl_PIP_Tree_Node_is_decision"
+
+external ppl_PIP_Tree_Node_true_child:
+  pip_tree_node -> pip_tree_node
+      = "ppl_PIP_Tree_Node_true_child"
+
+external ppl_PIP_Tree_Node_false_child:
+  pip_tree_node -> pip_tree_node
+      = "ppl_PIP_Tree_Node_false_child"
diff --git a/interfaces/OCaml/ppl_ocaml_globals.mli b/interfaces/OCaml/ppl_ocaml_globals.mli
index b0e2e01..f76d8a8 100644
--- a/interfaces/OCaml/ppl_ocaml_globals.mli
+++ b/interfaces/OCaml/ppl_ocaml_globals.mli
@@ -1,5 +1,5 @@
 (* OCaml interface: module inteface.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -88,6 +88,19 @@ type congruence_system = linear_congruence list
 type relation_symbol = Less_Than_RS | Less_Or_Equal_RS | Equal_RS
                        | Greater_Than_RS | Greater_Or_Equal_RS
 
+type bounded_integer_type_overflow = Overflow_Wraps
+                                     | Overflow_Undefined
+                                     | Overflow_Impossible
+
+type bounded_integer_type_representation = Unsigned
+                                           | Signed_2_Complement
+
+type bounded_integer_type_width = Bits_8
+                                  | Bits_16
+                                  | Bits_32
+                                  | Bits_64
+                                  | Bits_128
+
 type complexity_class = Polynomial_Complexity
                         | Simplex_Complexity
                         | Any_Complexity
@@ -103,6 +116,16 @@ type control_parameter_value = Pricing_Steepest_Edge_Float
                                | Pricing_Steepest_Edge_Exact
                                | Pricing_Textbook
 
+type pip_problem_status = Unfeasible_Pip_Problem
+                        | Optimized_Pip_Problem
+
+type pip_problem_control_parameter_name = Cutting_Strategy | Pivot_Row_Strategy
+
+type pip_problem_control_parameter_value = Cutting_Strategy_First
+                                         | Cutting_Strategy_Deepest
+                                         | Cutting_Strategy_All
+                                         | Pivot_Row_Strategy_First
+                                         | Pivot_Row_Strategy_Max_Column
 
 val ppl_version_major:
   unit -> int
@@ -128,6 +151,9 @@ val ppl_io_wrap_string:
 val ppl_max_space_dimension:
   unit -> int
 
+val ppl_Coefficient_bits:
+  unit -> int
+
 val ppl_Coefficient_is_bounded:
   unit -> bool
 
@@ -137,18 +163,36 @@ val ppl_Coefficient_max:
 val ppl_Coefficient_min:
   unit -> Z.t
 
+val ppl_Linear_Expression_is_zero:
+  linear_expression -> bool
+
+val ppl_Linear_Expression_all_homogeneous_terms_are_zero:
+  linear_expression -> bool
+
 val ppl_set_rounding_for_PPL:
   unit -> unit
 
 val ppl_restore_pre_PPL_rounding:
   unit -> unit
 
+val ppl_irrational_precision:
+  unit -> int
+
+val ppl_set_irrational_precision:
+  int -> unit
+
 val ppl_set_timeout:
   int -> unit
 
 val ppl_reset_timeout:
   unit -> unit
 
+val ppl_set_deterministic_timeout:
+  int -> unit
+
+val ppl_reset_deterministic_timeout:
+  unit -> unit
+
 type mip_problem
 
 val ppl_new_MIP_Problem_from_space_dimension:
@@ -226,3 +270,106 @@ val ppl_MIP_Problem_swap:
 
 val ppl_MIP_Problem_ascii_dump:
   mip_problem -> string
+
+type pip_problem
+
+type pip_tree_node
+
+type artificial_parameter = linear_expression * Z.t
+
+val ppl_new_PIP_Problem_from_space_dimension:
+  int -> pip_problem
+
+val ppl_new_PIP_Problem:
+  int -> constraint_system -> int list -> pip_problem
+
+val ppl_PIP_Problem_space_dimension:
+  pip_problem -> int
+
+val ppl_PIP_Problem_parameter_space_dimensions:
+  pip_problem -> int list
+
+val ppl_PIP_Problem_constraints:
+  pip_problem -> constraint_system
+
+val ppl_PIP_Problem_add_space_dimensions_and_embed:
+  pip_problem -> int -> int -> unit
+
+val ppl_PIP_Problem_add_to_parameter_space_dimensions:
+  pip_problem -> int list -> unit
+
+val ppl_PIP_Problem_add_constraint:
+  pip_problem -> linear_constraint -> unit
+
+val ppl_PIP_Problem_add_constraints:
+  pip_problem -> constraint_system -> unit
+
+val ppl_PIP_Problem_is_satisfiable:
+  pip_problem -> bool
+
+val ppl_PIP_Problem_solve:
+  pip_problem -> pip_problem_status
+
+val ppl_PIP_Problem_solution:
+  pip_problem -> pip_tree_node
+
+val ppl_PIP_Problem_optimizing_solution:
+  pip_problem -> pip_tree_node
+
+val ppl_PIP_Problem_get_big_parameter_dimension:
+  pip_problem -> int
+
+val ppl_PIP_Problem_set_big_parameter_dimension:
+  pip_problem -> int -> unit
+
+val ppl_PIP_Problem_has_big_parameter_dimension:
+  pip_problem -> bool
+
+val ppl_PIP_Problem_OK:
+  pip_problem -> bool
+
+val ppl_PIP_Problem_clear:
+  pip_problem -> unit
+
+val ppl_PIP_Problem_set_control_parameter:
+  pip_problem -> pip_problem_control_parameter_value -> unit
+
+val ppl_PIP_Problem_get_control_parameter:
+  pip_problem -> pip_problem_control_parameter_name
+              -> pip_problem_control_parameter_value
+
+val ppl_PIP_Problem_swap:
+  pip_problem -> pip_problem -> unit
+
+val ppl_PIP_Problem_ascii_dump:
+  pip_problem -> string
+
+val ppl_PIP_Tree_Node_constraints:
+  pip_tree_node -> constraint_system
+
+val ppl_PIP_Tree_Node_artificials:
+  pip_tree_node -> artificial_parameter list
+
+val ppl_PIP_Tree_Node_ascii_dump:
+  pip_tree_node -> string
+
+val ppl_PIP_Tree_Node_OK:
+  pip_tree_node -> bool
+
+val ppl_PIP_Tree_Node_is_bottom:
+  pip_tree_node -> bool
+
+val ppl_PIP_Tree_Node_is_solution:
+  pip_tree_node -> bool
+
+val ppl_PIP_Tree_Node_parametric_values:
+  pip_tree_node -> int -> linear_expression
+
+val ppl_PIP_Tree_Node_is_decision:
+  pip_tree_node -> bool
+
+val ppl_PIP_Tree_Node_true_child:
+  pip_tree_node -> pip_tree_node
+
+val ppl_PIP_Tree_Node_false_child:
+  pip_tree_node -> pip_tree_node
diff --git a/interfaces/OCaml/tests/Makefile.am b/interfaces/OCaml/tests/Makefile.am
index e481093..d1df5ac 100644
--- a/interfaces/OCaml/tests/Makefile.am
+++ b/interfaces/OCaml/tests/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -96,10 +96,10 @@ PWL_DLOPEN = -dlopen ../../../Watchdog/src/libpwl.la
 endif BUILD_WATCHDOG_LIBRARY
 
 .ml.cmo:
-	$(OCAMLC_ENV) ocamlc -o $@ -c $(OCAMLC_COMPILE_FLAGS) $<
+	$(OCAMLC_ENV) $(OCAMLC) -o $@ -c $(OCAMLC_COMPILE_FLAGS) $<
 
 .ml.cmx:
-	$(OCAMLOPT_ENV) ocamlopt -o $@ -c $(OCAMLOPT_COMPILE_FLAGS) $<
+	$(OCAMLOPT_ENV) $(OCAMLOPT) -o $@ -c $(OCAMLOPT_COMPILE_FLAGS) $<
 
 if HAVE_OCAMLC
 
@@ -124,7 +124,7 @@ check_PROGRAMS = $(TESTS)
 test1_SOURCES = test1.ml
 
 test1$(EXEEXT): test1.cmo ../ppl_ocaml.cma
-	$(OCAMLC_ENV) ocamlc -o $@ \
+	$(OCAMLC_ENV) $(OCAMLC) -o $@ \
 		-cc "$(CXX)" $(OCAMLC_COMPILE_FLAGS) \
 		$(BUILT_PPL_FLAGS) $(BUILT_PWL_FLAGS) $(OCAMLC_LINK_FLAGS) \
 		ppl_ocaml.cma $<
@@ -132,7 +132,7 @@ test1$(EXEEXT): test1.cmo ../ppl_ocaml.cma
 test1_opt_SOURCES = test1.ml
 
 test1_opt$(EXEEXT): test1.cmx ../ppl_ocaml.cmxa
-	$(OCAMLOPT_ENV) ocamlopt -o $@ \
+	$(OCAMLOPT_ENV) $(OCAMLOPT) -o $@ \
 		-cc "$(CXX)" $(OCAMLOPT_COMPILE_FLAGS) \
 		$(BUILT_PPL_FLAGS) $(BUILT_PWL_FLAGS) $(OCAMLOPT_LINK_FLAGS) \
 		ppl_ocaml.cmxa $<
@@ -150,14 +150,14 @@ ppl_ocaml_generated_test.ml: $(interface_generator_dependencies)
 
 ppl_ocaml_generated_test$(EXEEXT): \
 ppl_ocaml_generated_test.cmo ../ppl_ocaml.cma
-	$(OCAMLC_ENV) ocamlc -o $@ \
+	$(OCAMLC_ENV) $(OCAMLC) -o $@ \
 		-cc "$(CXX)" $(OCAMLC_COMPILE_FLAGS) \
 		$(BUILT_PPL_FLAGS) $(BUILT_PWL_FLAGS) $(OCAMLC_LINK_FLAGS) \
 		ppl_ocaml.cma $<
 
 ppl_ocaml_generated_test_opt$(EXEEXT): \
 ppl_ocaml_generated_test.cmx ../ppl_ocaml.cmxa
-	$(OCAMLOPT_ENV) ocamlopt -o $@ \
+	$(OCAMLOPT_ENV) $(OCAMLOPT) -o $@ \
 		-cc "$(CXX)" $(OCAMLOPT_COMPILE_FLAGS) \
 		$(BUILT_PPL_FLAGS) $(BUILT_PWL_FLAGS) $(OCAMLOPT_LINK_FLAGS) \
 		ppl_ocaml.cmxa $<
diff --git a/interfaces/OCaml/tests/Makefile.in b/interfaces/OCaml/tests/Makefile.in
index cd3a340..20f3914 100644
--- a/interfaces/OCaml/tests/Makefile.in
+++ b/interfaces/OCaml/tests/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -37,8 +38,9 @@
 # site: http://www.cs.unipr.it/ppl/ .
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -64,6 +66,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -85,12 +88,13 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 @HAVE_OCAMLC_TRUE at am__EXEEXT_1 = test1$(EXEEXT) \
 @HAVE_OCAMLC_TRUE@	ppl_ocaml_generated_test$(EXEEXT)
 @HAVE_OCAMLOPT_TRUE at am__EXEEXT_2 = test1_opt$(EXEEXT) \
@@ -100,6 +104,9 @@ nodist_ppl_ocaml_generated_test_OBJECTS =
 ppl_ocaml_generated_test_OBJECTS =  \
 	$(nodist_ppl_ocaml_generated_test_OBJECTS)
 ppl_ocaml_generated_test_LDADD = $(LDADD)
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
 nodist_ppl_ocaml_generated_test_opt_OBJECTS =
 ppl_ocaml_generated_test_opt_OBJECTS =  \
 	$(nodist_ppl_ocaml_generated_test_opt_OBJECTS)
@@ -113,20 +120,36 @@ test1_opt_LDADD = $(LDADD)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo "  CC    " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo "  CCLD  " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(nodist_ppl_ocaml_generated_test_SOURCES) \
 	$(nodist_ppl_ocaml_generated_test_opt_SOURCES) \
 	$(test1_SOURCES) $(test1_opt_SOURCES)
 DIST_SOURCES = $(test1_SOURCES) $(test1_opt_SOURCES)
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -173,6 +196,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -190,8 +215,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -199,6 +234,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -215,12 +251,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -263,11 +302,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -297,6 +334,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -304,6 +342,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 @VALGRIND_TESTS_ENABLED_FALSE at CHECKER = 
 @VALGRIND_TESTS_ENABLED_TRUE at CHECKER = \
 @VALGRIND_TESTS_ENABLED_TRUE@$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
@@ -388,14 +427,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  interfaces/OCaml/tests/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  interfaces/OCaml/tests/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign interfaces/OCaml/tests/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign interfaces/OCaml/tests/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -413,13 +452,16 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 clean-checkPROGRAMS:
-	@list='$(check_PROGRAMS)'; for p in $$list; do \
-	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  echo " rm -f $$p $$f"; \
-	  rm -f $$p $$f ; \
-	done
+	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -440,9 +482,10 @@ CTAGS:
 
 
 check-TESTS: $(TESTS)
-	@failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[	 ]'; \
+	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
 	srcdir=$(srcdir); export srcdir; \
 	list=' $(TESTS) '; \
+	$(am__tty_colors); \
 	if test -n "$$list"; then \
 	  for tst in $$list; do \
 	    if test -f ./$$tst; then dir=./; \
@@ -451,49 +494,63 @@ check-TESTS: $(TESTS)
 	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
 	      all=`expr $$all + 1`; \
 	      case " $(XFAIL_TESTS) " in \
-	      *$$ws$$tst$$ws*) \
+	      *[\ \	]$$tst[\ \	]*) \
 		xpass=`expr $$xpass + 1`; \
 		failed=`expr $$failed + 1`; \
-		echo "XPASS: $$tst"; \
+		col=$$red; res=XPASS; \
 	      ;; \
 	      *) \
-		echo "PASS: $$tst"; \
+		col=$$grn; res=PASS; \
 	      ;; \
 	      esac; \
 	    elif test $$? -ne 77; then \
 	      all=`expr $$all + 1`; \
 	      case " $(XFAIL_TESTS) " in \
-	      *$$ws$$tst$$ws*) \
+	      *[\ \	]$$tst[\ \	]*) \
 		xfail=`expr $$xfail + 1`; \
-		echo "XFAIL: $$tst"; \
+		col=$$lgn; res=XFAIL; \
 	      ;; \
 	      *) \
 		failed=`expr $$failed + 1`; \
-		echo "FAIL: $$tst"; \
+		col=$$red; res=FAIL; \
 	      ;; \
 	      esac; \
 	    else \
 	      skip=`expr $$skip + 1`; \
-	      echo "SKIP: $$tst"; \
+	      col=$$blu; res=SKIP; \
 	    fi; \
+	    echo "$${col}$$res$${std}: $$tst"; \
 	  done; \
+	  if test "$$all" -eq 1; then \
+	    tests="test"; \
+	    All=""; \
+	  else \
+	    tests="tests"; \
+	    All="All "; \
+	  fi; \
 	  if test "$$failed" -eq 0; then \
 	    if test "$$xfail" -eq 0; then \
-	      banner="All $$all tests passed"; \
+	      banner="$$All$$all $$tests passed"; \
 	    else \
-	      banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
+	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
 	    fi; \
 	  else \
 	    if test "$$xpass" -eq 0; then \
-	      banner="$$failed of $$all tests failed"; \
+	      banner="$$failed of $$all $$tests failed"; \
 	    else \
-	      banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
+	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
 	    fi; \
 	  fi; \
 	  dashes="$$banner"; \
 	  skipped=""; \
 	  if test "$$skip" -ne 0; then \
-	    skipped="($$skip tests were not run)"; \
+	    if test "$$skip" -eq 1; then \
+	      skipped="($$skip test was not run)"; \
+	    else \
+	      skipped="($$skip tests were not run)"; \
+	    fi; \
 	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
 	      dashes="$$skipped"; \
 	  fi; \
@@ -504,11 +561,15 @@ check-TESTS: $(TESTS)
 	      dashes="$$report"; \
 	  fi; \
 	  dashes=`echo "$$dashes" | sed s/./=/g`; \
-	  echo "$$dashes"; \
+	  if test "$$failed" -eq 0; then \
+	    echo "$$grn$$dashes"; \
+	  else \
+	    echo "$$red$$dashes"; \
+	  fi; \
 	  echo "$$banner"; \
 	  test -z "$$skipped" || echo "$$skipped"; \
 	  test -z "$$report" || echo "$$report"; \
-	  echo "$$dashes"; \
+	  echo "$$dashes$$std"; \
 	  test "$$failed" -eq 0; \
 	else :; fi
 
@@ -528,13 +589,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -566,6 +631,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -585,6 +651,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -593,18 +661,28 @@ install-data-am:
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am:
 
 install-html: install-html-am
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-am
 
+install-pdf-am:
+
 install-ps: install-ps-am
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -626,7 +704,7 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: install-am install-strip
+.MAKE: check-am install-am install-strip
 
 .PHONY: all all-am check check-TESTS check-am clean \
 	clean-checkPROGRAMS clean-generic clean-libtool distclean \
@@ -643,19 +721,19 @@ uninstall-am:
 
 
 .ml.cmo:
-	$(OCAMLC_ENV) ocamlc -o $@ -c $(OCAMLC_COMPILE_FLAGS) $<
+	$(OCAMLC_ENV) $(OCAMLC) -o $@ -c $(OCAMLC_COMPILE_FLAGS) $<
 
 .ml.cmx:
-	$(OCAMLOPT_ENV) ocamlopt -o $@ -c $(OCAMLOPT_COMPILE_FLAGS) $<
+	$(OCAMLOPT_ENV) $(OCAMLOPT) -o $@ -c $(OCAMLOPT_COMPILE_FLAGS) $<
 
 test1$(EXEEXT): test1.cmo ../ppl_ocaml.cma
-	$(OCAMLC_ENV) ocamlc -o $@ \
+	$(OCAMLC_ENV) $(OCAMLC) -o $@ \
 		-cc "$(CXX)" $(OCAMLC_COMPILE_FLAGS) \
 		$(BUILT_PPL_FLAGS) $(BUILT_PWL_FLAGS) $(OCAMLC_LINK_FLAGS) \
 		ppl_ocaml.cma $<
 
 test1_opt$(EXEEXT): test1.cmx ../ppl_ocaml.cmxa
-	$(OCAMLOPT_ENV) ocamlopt -o $@ \
+	$(OCAMLOPT_ENV) $(OCAMLOPT) -o $@ \
 		-cc "$(CXX)" $(OCAMLOPT_COMPILE_FLAGS) \
 		$(BUILT_PPL_FLAGS) $(BUILT_PWL_FLAGS) $(OCAMLOPT_LINK_FLAGS) \
 		ppl_ocaml.cmxa $<
@@ -668,14 +746,14 @@ ppl_ocaml_generated_test.ml: $(interface_generator_dependencies)
 
 ppl_ocaml_generated_test$(EXEEXT): \
 ppl_ocaml_generated_test.cmo ../ppl_ocaml.cma
-	$(OCAMLC_ENV) ocamlc -o $@ \
+	$(OCAMLC_ENV) $(OCAMLC) -o $@ \
 		-cc "$(CXX)" $(OCAMLC_COMPILE_FLAGS) \
 		$(BUILT_PPL_FLAGS) $(BUILT_PWL_FLAGS) $(OCAMLC_LINK_FLAGS) \
 		ppl_ocaml.cma $<
 
 ppl_ocaml_generated_test_opt$(EXEEXT): \
 ppl_ocaml_generated_test.cmx ../ppl_ocaml.cmxa
-	$(OCAMLOPT_ENV) ocamlopt -o $@ \
+	$(OCAMLOPT_ENV) $(OCAMLOPT) -o $@ \
 		-cc "$(CXX)" $(OCAMLOPT_COMPILE_FLAGS) \
 		$(BUILT_PPL_FLAGS) $(BUILT_PWL_FLAGS) $(OCAMLOPT_LINK_FLAGS) \
 		ppl_ocaml.cmxa $<
@@ -688,6 +766,7 @@ ppl_ocaml_generated_test.cmx ../ppl_ocaml.cmxa
 
 $(top_builddir)/interfaces/ppl_interface_instantiations.m4:
 	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/interfaces ppl_interface_instantiations.m4
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml.m4 b/interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml.m4
index fddaffa..e6929f1 100644
--- a/interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml.m4
+++ b/interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml.m4
@@ -1,6 +1,6 @@
 m4_define(`dnl', `m4_dnl')`'dnl
 m4_divert(-1)
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m4 b/interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m4
index 2d0f566..c5b3035 100644
--- a/interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m4
+++ b/interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m4
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -884,3 +884,83 @@ let out
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
 ')
+
+m4_define(`ppl_ at CLASS@_drop_some_non_integer_points_code',
+`
+print_string_if_noisy "testing ppl_ at CLASS@_drop_some_non_integer_points: ";;
+let copy01
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
+let u = ppl_ at CLASS@_drop_some_non_integer_points copy01 Any_Complexity ;;
+let out = if (u = () & ppl_ at CLASS@_OK copy01)
+  then "success" else "failed"
+    in (print_string_if_noisy out);;
+print_string_if_noisy "\n";;
+')
+
+m4_define(`ppl_ at CLASS@_drop_some_non_integer_points_2_code',
+`
+print_string_if_noisy "testing ppl_ at CLASS@_drop_some_non_integer_points: ";;
+let copy01
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
+let dimensions_integer = [1];;
+let u = ppl_ at CLASS@_drop_some_non_integer_points_2 copy01 dimensions_integer Any_Complexity ;;
+let out = if (u = () & ppl_ at CLASS@_OK copy01)
+  then "success" else "failed"
+    in (print_string_if_noisy out);;
+print_string_if_noisy "\n";;
+')
+
+m4_define(`ppl_ at CLASS@_wrap_assign_code',
+`
+print_string_if_noisy "testing ppl_ at CLASS@_wrap_assign: ";;
+let copy01
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
+let dimensions_integer = [1];;
+let u = ppl_ at CLASS@_wrap_assign copy01 [] Bits_8 Unsigned Overflow_Wraps
+                                [] 0 1;;
+let out = if (u = () & ppl_ at CLASS@_OK copy01)
+  then "success" else "failed"
+    in (print_string_if_noisy out);;
+print_string_if_noisy "\n";;
+')
+
+m4_define(`ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+`
+print_string_if_noisy
+  "testing ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@: ";;
+let copy01
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
+let univ
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension 2 Universe;;
+let u = ppl_ at CLASS@_concatenate_assign copy01 @!TOPOLOGY@@!CLASS at 01;;
+let result1 = ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@ univ;;
+let result2
+  = ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@ copy01;;
+let out = if (not result1 & not result2 & ppl_ at CLASS@_OK copy01)
+  then "success" else "failed"
+    in (print_string_if_noisy out);;
+print_string_if_noisy "\n";;
+')
+
+m4_define(`ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_code',
+`
+print_string_if_noisy
+  "testing ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2: ";;
+let copy01
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
+let copy02
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 02);;
+let u = ppl_ at CLASS@_concatenate_assign copy02 @!TOPOLOGY@@!CLASS at 02;;
+let result1
+  = ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2 copy01 copy02;;
+let univ01
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension 2 Universe;;
+let univ02
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension 4 Universe;;
+let result2
+  = ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2 univ01 univ02;;
+let out = if (not result1 & not result2 & ppl_ at CLASS@_OK copy01)
+  then "success" else "failed"
+    in (print_string_if_noisy out);;
+print_string_if_noisy "\n";;
+')
diff --git a/interfaces/OCaml/tests/ppl_ocaml_tests_common b/interfaces/OCaml/tests/ppl_ocaml_tests_common
index 4635cba..ec08f41 100644
--- a/interfaces/OCaml/tests/ppl_ocaml_tests_common
+++ b/interfaces/OCaml/tests/ppl_ocaml_tests_common
@@ -1,5 +1,5 @@
 (* Common part of the OCaml generated tests.  -*- Tuareg -*-
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/OCaml/tests/test1.ml b/interfaces/OCaml/tests/test1.ml
index 05626bb..e877d34 100644
--- a/interfaces/OCaml/tests/test1.ml
+++ b/interfaces/OCaml/tests/test1.ml
@@ -1,5 +1,5 @@
 (* Simple program testing the PPL OCaml interface on a few random things.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -145,13 +145,18 @@ let rec print_generator = function
       print_string_if_noisy ", ";;
 
 let print_congruence = function x,y,z ->
-   print_linear_expression x;
+  print_linear_expression x;
   print_string_if_noisy " %= ";
   print_linear_expression y;
   print_string_if_noisy " mod ";
   print_int_if_noisy(Z.to_int z);
   print_string_if_noisy ", ";;
 
+let print_artificial_parameter = function x,y ->
+  print_linear_expression x;
+  print_string_if_noisy " / ";
+  print_int_if_noisy(Z.to_int y);
+  print_string_if_noisy ", ";;
 
 (* Build linear expressions the hard way. *)
 
@@ -382,6 +387,10 @@ print_string_if_noisy "Maximum space dimension is: ";
 let i = ppl_max_space_dimension()
 in print_int_if_noisy i;;
 print_string_if_noisy "\n";;
+print_string_if_noisy "Irrational precision is: ";
+let p = ppl_irrational_precision()
+in print_int_if_noisy(p);;
+print_string_if_noisy "\n";;
 
 (* Testing exceptions *)
 try
@@ -415,6 +424,8 @@ and compute_timeout_hypercube dim_in dim_out =
   )
 in (
   begin
+    (* FIXME: in the following try/with, the timeouts should be reset
+       unconditionally. Is there a way to implement try/finally? *)
     try
       print_string_if_noisy "\nStarting ppl_reset_timeout test:\n";
       ppl_set_timeout 100;
@@ -423,9 +434,11 @@ in (
       print_string_if_noisy "ppl_reset_timeout test succeeded.\n"
     with
     | PPL_timeout_exception ->
+      ppl_reset_timeout ();
       print_string_if_noisy "ppl_reset_timeout test seems to be failed:\n";
       print_string_if_noisy "Unexpected PPL timeout exception caught.\n"
     | _ ->
+      ppl_reset_timeout ();
       print_string_if_noisy "ppl_reset_timeout test seems to be failed.";
       (* FIXME: print the contents of the exception. *)
       print_string_if_noisy "\n"
@@ -439,15 +452,218 @@ in (
       print_string_if_noisy "ppl_set_timeout test seems to be failed!\n"
     with
     | PPL_timeout_exception ->
+      ppl_reset_timeout ();
       print_string_if_noisy "ppl_set_timeout test succeded\n";
       print_string_if_noisy "Expected PPL timeout exception caught.\n"
     | _ ->
+      ppl_reset_timeout ();
       print_string_if_noisy "ppl_set_timeout test failed:\n";
       print_string_if_noisy "generic exception caught.\n"
+  end;
+  begin
+    try
+      print_string_if_noisy "\nStarting ppl_reset_deterministic_timeout test:\n";
+      ppl_set_deterministic_timeout 2000;
+      compute_timeout_hypercube 0 2;
+      ppl_reset_deterministic_timeout ();
+      print_string_if_noisy "ppl_reset_deterministic_timeout test succeeded.\n"
+    with
+    | PPL_timeout_exception ->
+      ppl_reset_deterministic_timeout ();
+      print_string_if_noisy "ppl_reset_deterministic_timeout test seems to be failed:\n";
+      print_string_if_noisy "Unexpected PPL timeout exception caught.\n"
+    | _ ->
+      ppl_reset_deterministic_timeout ();
+      print_string_if_noisy "ppl_reset_deterministic_timeout test seems to be failed.";
+      (* FIXME: print the contents of the exception. *)
+      print_string_if_noisy "\n"
+  end;
+  begin
+    try
+      print_string_if_noisy "\nStarting ppl_set_deterministic_timeout test:\n";
+      ppl_set_deterministic_timeout 2000;
+      compute_timeout_hypercube 0 100;
+      ppl_reset_deterministic_timeout ();
+      print_string_if_noisy "ppl_set_deterministic_timeout test seems to be failed!\n"
+    with
+    | PPL_timeout_exception ->
+      ppl_reset_deterministic_timeout ();
+      print_string_if_noisy "ppl_set_deterministic_timeout test succeded\n";
+      print_string_if_noisy "Expected PPL timeout exception caught.\n"
+    | _ ->
+      ppl_reset_deterministic_timeout ();
+      print_string_if_noisy "ppl_set_deterministic_timeout test failed:\n";
+      print_string_if_noisy "generic exception caught.\n"
   end
 );;
 
-(* Pointset_Powersed_Grid is not enabled by default, the following code is *)
+
+print_string_if_noisy "\nStarting PIP_Problem \n";;
+
+print_string_if_noisy "PIP_Problem 1 \n";;
+print_string_if_noisy "testing PIP_Problem_solution, ";;
+print_string_if_noisy "PIP_Problem_OK ";;
+print_string_if_noisy "and PIP_Tree_Node_is_bottom \n";;
+let pip = ppl_new_PIP_Problem 3
+             [e1 >=/ e2; e1 <=/ e2 -/ (linear_expression_of_int 7)] [2];;
+
+begin
+try
+  let ptree = ppl_PIP_Problem_solution pip
+  in let out = if (ppl_PIP_Problem_OK pip & ppl_PIP_Tree_Node_is_bottom ptree)
+                 then "success" else "failed"
+     in (print_string_if_noisy out)
+with PPL_arithmetic_overflow what ->
+  let unexpected = (ppl_Coefficient_bits() != 8)
+  in if (unexpected)
+       then raise (PPL_arithmetic_overflow(what));
+  print_string_if_noisy "Expected overflow exception caught: ";
+  print_string_if_noisy what;
+  print_string_if_noisy "\n"
+end;;
+print_string_if_noisy "\n";;
+
+print_string_if_noisy "PIP_Problem 2 \n";;
+let params = [7];;
+let pip2 = ppl_new_PIP_Problem 10 constraints1 params;;
+let i = ppl_PIP_Problem_space_dimension pip2;;
+let i = ppl_PIP_Problem_constraints pip2;;
+print_string_if_noisy "PIP_Problem constraints are \n";;
+List.iter print_constraint i;;
+print_string_if_noisy "\n";;
+ppl_PIP_Problem_add_constraint pip2 constraint1;;
+ppl_PIP_Problem_add_constraints pip2 constraints1;;
+let i = ppl_PIP_Problem_parameter_space_dimensions pip2;;
+let i = ppl_PIP_Problem_get_control_parameter pip2 Cutting_Strategy;;
+ppl_PIP_Problem_set_control_parameter pip2 Cutting_Strategy_First;;
+let i = ppl_PIP_Problem_get_control_parameter pip2 Cutting_Strategy;;
+let out = if (i == Cutting_Strategy_First)
+  then "PIP Problem Control Parameter test succeeded"
+  else "PIP Problem Control Parameter test failed"
+    in (print_string_if_noisy out);;
+print_string_if_noisy "\n";;
+let b0 = ppl_PIP_Problem_has_big_parameter_dimension pip2;;
+ppl_PIP_Problem_set_big_parameter_dimension pip2 7;;
+let big_par = ppl_PIP_Problem_get_big_parameter_dimension pip2;;
+let b1 = ppl_PIP_Problem_has_big_parameter_dimension pip2;;
+let out = if (not b0 & b1 & (big_par = 7))
+  then "ppl_PIP_Problem big parameter dimension tests succeeded"
+  else "ppl_PIP_Problem big parameter dimension tests failed"
+    in (print_string_if_noisy out);;
+print_string_if_noisy "\n";;
+
+begin
+try
+  let out = if (ppl_PIP_Problem_is_satisfiable pip2)
+    then "ppl_PIP_Problem_is_satisfiable test succeeded"
+    else "ppl_PIP_Problem_is_satisfiable test failed"
+      in (print_string_if_noisy out);
+  print_string_if_noisy "\n";
+  print_string_if_noisy "testing ppl_PIP_Problem_ascii_dump: ";
+  print_string_if_noisy (ppl_PIP_Problem_ascii_dump pip2);
+  print_string_if_noisy "\n";
+  let ptree2 = ppl_PIP_Problem_solution pip2
+  in let out2 = if (ppl_PIP_Tree_Node_is_bottom ptree2)
+    then "ppl_PIP_Tree_Node_is_bottom test succeeded"
+    else "ppl_PIP_Tree_Node_is_bottom test failed"
+      in (print_string_if_noisy out2);
+  print_string_if_noisy "\n"
+with PPL_arithmetic_overflow what ->
+  let unexpected = (ppl_Coefficient_bits() != 8)
+  in if (unexpected)
+       then raise (PPL_arithmetic_overflow(what));
+  print_string_if_noisy "Expected overflow exception caught: ";
+  print_string_if_noisy what;
+  print_string_if_noisy "\n"
+end;;
+
+print_string_if_noisy "\nPIP_Problem 3 \n";;
+let i = Variable 0
+and j = Variable 1
+and n = Variable 2
+and m = Variable 3
+and v2 = Z.from_int 2
+and v3 = Z.from_int 3
+and v4 = Z.from_int 4
+and v8 = Z.from_int 8
+and inhomogeneous n = linear_expression_of_int n
+;;
+
+let pip_c1 = v3 */ j +/ v2 */ i >=/ (inhomogeneous 8);;
+print_constraint pip_c1; print_string_if_noisy "\n" ;;
+let pip_c2 = v4 */ i -/ j >=/ (inhomogeneous 4);;
+print_constraint pip_c2; print_string_if_noisy "\n" ;;
+let pip_c3 = m >=/ j;;
+print_constraint pip_c3; print_string_if_noisy "\n" ;;
+let pip_c4 = n >=/ i;;
+print_constraint pip_c4; print_string_if_noisy "\n" ;;
+let pip_cs = [pip_c1; pip_c2; pip_c3; pip_c4] ;;
+
+let ps = [2; 3];;
+let pip3 = ppl_new_PIP_Problem 4 pip_cs ps;;
+
+begin
+try
+  let result = ppl_PIP_Problem_solve pip3 in
+  let out = if (result == Optimized_Pip_Problem)
+    then "PIP Problem_solve pip3 test succeeded"
+    else "PIP Problem_solve pip3 test failed"
+      in (print_string_if_noisy out);
+  print_string_if_noisy "\n";
+  let node = ppl_PIP_Problem_solution pip3 in
+  begin
+  let out = if (ppl_PIP_Tree_Node_OK node)
+    then "ppl_PIP_Tree_Node_OK node test succeeded"
+    else "ppl_PIP_Tree_Node_OK node test failed"
+      in (print_string_if_noisy out);
+  print_string_if_noisy "\n";
+  let out = if (ppl_PIP_Tree_Node_is_decision node)
+    then "ppl_PIP_Tree_Node_is_decision node test succeeded"
+    else "ppl_PIP_Tree_Node_is_decision node test failed"
+      in (print_string_if_noisy out);
+  print_string_if_noisy "\n";
+  let out = if (ppl_PIP_Tree_Node_artificials node = [])
+    then "ppl_PIP_Tree_Node_artificials node test succeeded"
+    else "ppl_PIP_Tree_Node_artificials node test failed"
+      in (print_string_if_noisy out);
+  print_string_if_noisy "\n";
+  let _node_cs = ppl_PIP_Tree_Node_constraints node in ();
+  let
+    _fchild = ppl_PIP_Tree_Node_false_child node
+  and
+    tchild = (ppl_PIP_Tree_Node_true_child node)
+  in (
+    let out = if (ppl_PIP_Tree_Node_is_decision tchild)
+      then "ppl_PIP_Tree_Node_is_decision tchild test succeeded"
+      else "ppl_PIP_Tree_Node_is_decision tchild test failed"
+        in (print_string_if_noisy out);
+    print_string_if_noisy "\n";
+    let
+      ttchild = (ppl_PIP_Tree_Node_true_child tchild)
+    and
+      ftchild = (ppl_PIP_Tree_Node_false_child tchild)
+    in (
+      let out = if (ppl_PIP_Tree_Node_is_solution ttchild)
+        then "ppl_PIP_Tree_Node_is_decision ttchild test succeeded"
+        else "ppl_PIP_Tree_Node_is_decision ttchild test failed"
+          in (print_string_if_noisy out);
+      print_string_if_noisy "\n";
+      let _par_vals = ppl_PIP_Tree_Node_parametric_values ttchild 0 in ();
+      let _ftchild_arts = ppl_PIP_Tree_Node_artificials ftchild in ()
+    )
+  );
+  print_string_if_noisy "\n"
+  end
+with PPL_arithmetic_overflow what ->
+  let unexpected = (ppl_Coefficient_bits() != 8)
+  in if (unexpected)
+       then raise (PPL_arithmetic_overflow(what));
+  print_string_if_noisy "Expected overflow exception caught: ";
+  print_string_if_noisy what;
+  print_string_if_noisy "\n"
+end;;
+
+(* Pointset_Powerset_Grid is not enabled by default, the following code is *)
 (* commented *)
 (* let pps = ppl_new_Pointset_Powerset_Grid_from_space_dimension 3;; *)
 (* let space_dim = ppl_Pointset_Powerset_Grid_space_dimension pps;; *)
@@ -468,5 +684,6 @@ in (
 (* print_string_if_noisy "PPS size : ";; *)
 (* let size = ppl_Pointset_Powerset_Grid_size pps;; *)
 (* print_int_if_noisy size;; *)
+
 at_exit Gc.full_major;;
 print_string_if_noisy "\nBye!\n"
diff --git a/interfaces/Prolog/Ciao/Makefile.am b/interfaces/Prolog/Ciao/Makefile.am
index a7fad43..2c6431a 100644
--- a/interfaces/Prolog/Ciao/Makefile.am
+++ b/interfaces/Prolog/Ciao/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -143,7 +143,11 @@ nodist_EXTRA_libppl_ciao_la_SOURCES = \
 ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc \
 ../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc \
 ../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc \
-../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
+../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc \
+../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc \
+../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc \
+../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc \
+../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
 
 if NO_UNDEFINED
 
diff --git a/interfaces/Prolog/Ciao/Makefile.in b/interfaces/Prolog/Ciao/Makefile.in
index b373a29..3a8208b 100644
--- a/interfaces/Prolog/Ciao/Makefile.in
+++ b/interfaces/Prolog/Ciao/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -39,8 +40,9 @@
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -64,6 +66,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -85,20 +88,35 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
     *) f=$$p;; \
   esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
 am__installdirs = "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(pkglibdir)"
-pkglibLTLIBRARIES_INSTALL = $(INSTALL)
 LTLIBRARIES = $(pkglib_LTLIBRARIES)
 am__libppl_ciao_la_SOURCES_DIST = ppl_prolog_sysdep.hh ciao_efli.hh \
 	ciao_efli.cc
@@ -107,41 +125,66 @@ am__libppl_ciao_la_SOURCES_DIST = ppl_prolog_sysdep.hh ciao_efli.hh \
 @ENABLE_SHARED_TRUE@	ppl_prolog_common.lo
 libppl_ciao_la_OBJECTS = $(am_libppl_ciao_la_OBJECTS) \
 	$(nodist_libppl_ciao_la_OBJECTS)
-libppl_ciao_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
-	$(CXXFLAGS) $(libppl_ciao_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+libppl_ciao_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(AM_CXXFLAGS) $(CXXFLAGS) $(libppl_ciao_la_LDFLAGS) \
+	$(LDFLAGS) -o $@
 @ENABLE_SHARED_TRUE at am_libppl_ciao_la_rpath = -rpath $(pkglibdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_$(V))
+am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+am__v_CXX_0 = @echo "  CXX   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_$(V))
+am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo "  CC    " $@;
 CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo "  CCLD  " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libppl_ciao_la_SOURCES) $(nodist_libppl_ciao_la_SOURCES) \
 	$(nodist_EXTRA_libppl_ciao_la_SOURCES)
 DIST_SOURCES = $(am__libppl_ciao_la_SOURCES_DIST)
-pkglibDATA_INSTALL = $(INSTALL_DATA)
 DATA = $(pkglib_DATA)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -188,6 +231,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -205,8 +250,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -214,6 +269,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -230,12 +286,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -278,11 +337,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -312,6 +369,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -319,6 +377,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 CIAO_CFLI_FILES = ciao_cfli.hh
 EXTRA_DIST = \
 ppl_interface_generator_ciao_pl.m4 \
@@ -433,7 +492,11 @@ README.ciao
 @ENABLE_SHARED_TRUE at ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc \
 @ENABLE_SHARED_TRUE at ../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc \
 @ENABLE_SHARED_TRUE at ../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc \
- at ENABLE_SHARED_TRUE@../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
+ at ENABLE_SHARED_TRUE@../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc \
+ at ENABLE_SHARED_TRUE@../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc \
+ at ENABLE_SHARED_TRUE@../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc \
+ at ENABLE_SHARED_TRUE@../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc \
+ at ENABLE_SHARED_TRUE@../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
 
 @ENABLE_SHARED_TRUE@@NO_UNDEFINED_TRUE at NO_UNDEFINED_FLAG = -no-undefined
 @ENABLE_SHARED_TRUE at libppl_ciao_la_LIBADD = \
@@ -489,14 +552,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  interfaces/Prolog/Ciao/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  interfaces/Prolog/Ciao/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign interfaces/Prolog/Ciao/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign interfaces/Prolog/Ciao/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -514,23 +577,28 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
-	@list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
+	@list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+	list2=; for p in $$list; do \
 	  if test -f $$p; then \
-	    f=$(am__strip_dir) \
-	    echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(pkglibdir)/$$f'"; \
-	    $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(pkglibdir)/$$f"; \
+	    list2="$$list2 $$p"; \
 	  else :; fi; \
-	done
+	done; \
+	test -z "$$list2" || { \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \
+	}
 
 uninstall-pkglibLTLIBRARIES:
 	@$(NORMAL_UNINSTALL)
-	@list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
-	  p=$(am__strip_dir) \
-	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$p'"; \
-	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$p"; \
+	@list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+	for p in $$list; do \
+	  $(am__strip_dir) \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
 	done
 
 clean-pkglibLTLIBRARIES:
@@ -542,7 +610,7 @@ clean-pkglibLTLIBRARIES:
 	  rm -f "$${dir}/so_locations"; \
 	done
 libppl_ciao.la: $(libppl_ciao_la_OBJECTS) $(libppl_ciao_la_DEPENDENCIES) 
-	$(libppl_ciao_la_LINK) $(am_libppl_ciao_la_rpath) $(libppl_ciao_la_OBJECTS) $(libppl_ciao_la_LIBADD) $(LIBS)
+	$(AM_V_CXXLD)$(libppl_ciao_la_LINK) $(am_libppl_ciao_la_rpath) $(libppl_ciao_la_OBJECTS) $(libppl_ciao_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -617,6 +685,10 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Polyhedron.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Rational_Box.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Uint16_Box.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Uint32_Box.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Uint64_Box.Plo at am__quote@
@@ -625,529 +697,636 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_common.Plo at am__quote@
 
 .cc.o:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
- at am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
 
 ppl_prolog_common.lo: ../ppl_prolog_common.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_common.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_common.Tpo -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_common.Tpo $(DEPDIR)/ppl_prolog_common.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_common.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_common.Tpo -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_common.Tpo $(DEPDIR)/ppl_prolog_common.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_common.cc' object='ppl_prolog_common.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
 
 ppl_prolog_Int8_Box.lo: ../ppl_prolog_Int8_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int8_Box.Tpo -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Int8_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int8_Box.Tpo -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Int8_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int8_Box.cc' object='ppl_prolog_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
 
 ppl_prolog_Int16_Box.lo: ../ppl_prolog_Int16_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int16_Box.Tpo -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Int16_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int16_Box.Tpo -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Int16_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int16_Box.cc' object='ppl_prolog_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
 
 ppl_prolog_Int32_Box.lo: ../ppl_prolog_Int32_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int32_Box.Tpo -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Int32_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int32_Box.Tpo -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Int32_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int32_Box.cc' object='ppl_prolog_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
 
 ppl_prolog_Int64_Box.lo: ../ppl_prolog_Int64_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int64_Box.Tpo -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Int64_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int64_Box.Tpo -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Int64_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int64_Box.cc' object='ppl_prolog_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
 
 ppl_prolog_Uint8_Box.lo: ../ppl_prolog_Uint8_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Uint8_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Uint8_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint8_Box.cc' object='ppl_prolog_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
 
 ppl_prolog_Uint16_Box.lo: ../ppl_prolog_Uint16_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Uint16_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Uint16_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint16_Box.cc' object='ppl_prolog_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
 
 ppl_prolog_Uint32_Box.lo: ../ppl_prolog_Uint32_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Uint32_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Uint32_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint32_Box.cc' object='ppl_prolog_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
 
 ppl_prolog_Uint64_Box.lo: ../ppl_prolog_Uint64_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Uint64_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Uint64_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint64_Box.cc' object='ppl_prolog_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
 
 ppl_prolog_Float_Box.lo: ../ppl_prolog_Float_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Float_Box.Tpo -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Float_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Float_Box.Tpo -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Float_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Float_Box.cc' object='ppl_prolog_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
 
 ppl_prolog_Double_Box.lo: ../ppl_prolog_Double_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Double_Box.Tpo -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Double_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Double_Box.Tpo -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Double_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Double_Box.cc' object='ppl_prolog_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
 
 ppl_prolog_Long_Double_Box.lo: ../ppl_prolog_Long_Double_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Long_Double_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Long_Double_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Long_Double_Box.cc' object='ppl_prolog_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
 
 ppl_prolog_Rational_Box.lo: ../ppl_prolog_Rational_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Rational_Box.Tpo -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Rational_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Rational_Box.Tpo -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Rational_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Rational_Box.cc' object='ppl_prolog_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
 
 ppl_prolog_Z_Box.lo: ../ppl_prolog_Z_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Z_Box.Tpo -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Z_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Z_Box.Tpo -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Z_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Z_Box.cc' object='ppl_prolog_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
 
 ppl_prolog_BD_Shape_int8_t.lo: ../ppl_prolog_BD_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int8_t.cc' object='ppl_prolog_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
 
 ppl_prolog_BD_Shape_int16_t.lo: ../ppl_prolog_BD_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int16_t.cc' object='ppl_prolog_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
 
 ppl_prolog_BD_Shape_int32_t.lo: ../ppl_prolog_BD_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int32_t.cc' object='ppl_prolog_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
 
 ppl_prolog_BD_Shape_int64_t.lo: ../ppl_prolog_BD_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int64_t.cc' object='ppl_prolog_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
 
 ppl_prolog_BD_Shape_float.lo: ../ppl_prolog_BD_Shape_float.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_float.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_float.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_float.cc' object='ppl_prolog_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
 
 ppl_prolog_BD_Shape_double.lo: ../ppl_prolog_BD_Shape_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_double.cc' object='ppl_prolog_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
 
 ppl_prolog_BD_Shape_long_double.lo: ../ppl_prolog_BD_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_long_double.cc' object='ppl_prolog_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
 
 ppl_prolog_BD_Shape_mpq_class.lo: ../ppl_prolog_BD_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_mpq_class.cc' object='ppl_prolog_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
 
 ppl_prolog_BD_Shape_mpz_class.lo: ../ppl_prolog_BD_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_mpz_class.cc' object='ppl_prolog_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
 
 ppl_prolog_Octagonal_Shape_int8_t.lo: ../ppl_prolog_Octagonal_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
 
 ppl_prolog_Octagonal_Shape_int16_t.lo: ../ppl_prolog_Octagonal_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
 
 ppl_prolog_Octagonal_Shape_int32_t.lo: ../ppl_prolog_Octagonal_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
 
 ppl_prolog_Octagonal_Shape_int64_t.lo: ../ppl_prolog_Octagonal_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
 
 ppl_prolog_Octagonal_Shape_float.lo: ../ppl_prolog_Octagonal_Shape_float.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_float.cc' object='ppl_prolog_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
 
 ppl_prolog_Octagonal_Shape_double.lo: ../ppl_prolog_Octagonal_Shape_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_double.cc' object='ppl_prolog_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
 
 ppl_prolog_Octagonal_Shape_long_double.lo: ../ppl_prolog_Octagonal_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_long_double.cc' object='ppl_prolog_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
 
 ppl_prolog_Octagonal_Shape_mpq_class.lo: ../ppl_prolog_Octagonal_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
 
 ppl_prolog_Octagonal_Shape_mpz_class.lo: ../ppl_prolog_Octagonal_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
 
 ppl_prolog_Polyhedron.lo: ../ppl_prolog_Polyhedron.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Polyhedron.Tpo -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Polyhedron.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Polyhedron.Tpo -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Polyhedron.cc' object='ppl_prolog_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
 
 ppl_prolog_Grid.lo: ../ppl_prolog_Grid.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Grid.Tpo -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Grid.Tpo $(DEPDIR)/ppl_prolog_Grid.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Grid.Tpo -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Grid.Tpo $(DEPDIR)/ppl_prolog_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Grid.cc' object='ppl_prolog_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
 
 ppl_prolog_Pointset_Powerset_Int8_Box.lo: ../ppl_prolog_Pointset_Powerset_Int8_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int8_Box.cc' object='ppl_prolog_Pointset_Powerset_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int16_Box.lo: ../ppl_prolog_Pointset_Powerset_Int16_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int16_Box.cc' object='ppl_prolog_Pointset_Powerset_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int32_Box.lo: ../ppl_prolog_Pointset_Powerset_Int32_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int32_Box.cc' object='ppl_prolog_Pointset_Powerset_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int64_Box.lo: ../ppl_prolog_Pointset_Powerset_Int64_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int64_Box.cc' object='ppl_prolog_Pointset_Powerset_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint8_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint16_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint32_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint64_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
 
 ppl_prolog_Pointset_Powerset_Float_Box.lo: ../ppl_prolog_Pointset_Powerset_Float_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Float_Box.cc' object='ppl_prolog_Pointset_Powerset_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
 
 ppl_prolog_Pointset_Powerset_Double_Box.lo: ../ppl_prolog_Pointset_Powerset_Double_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Double_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Doub [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Double_Box.cc
 
 ppl_prolog_Pointset_Powerset_Long_Double_Box.lo: ../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Long_D [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
 
 ppl_prolog_Pointset_Powerset_Rational_Box.lo: ../ppl_prolog_Pointset_Powerset_Rational_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Rational_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Power [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Rational_Box.cc' object='ppl_prolog_Pointset_Powerset_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Rational_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Rational_Box.cc
 
 ppl_prolog_Pointset_Powerset_Z_Box.lo: ../ppl_prolog_Pointset_Powerset_Z_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Z_Box.cc' object='ppl_prolog_Pointset_Powerset_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Sha [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_float.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Points [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_double.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Sha [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Poin [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Pow [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../p [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Pow [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../p [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_pro [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo ' [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || ec [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || ec [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || ec [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_ [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(sr [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_pro [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo ' [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' || echo '$( [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_ [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/ [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.c [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/ [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.c [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
 
 ppl_prolog_Pointset_Powerset_C_Polyhedron.lo: ../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Power [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
 
 ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo: ../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Points [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
 
 ppl_prolog_Pointset_Powerset_Grid.lo: ../ppl_prolog_Pointset_Powerset_Grid.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Grid.cc' object='ppl_prolog_Pointset_Powerset_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
 
 ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo: ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constrai [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'` [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
 
 ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo: ../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_ [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(sr [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
 
 ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo: ../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constrai [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'` [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
 
 ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo: ../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_ [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(sr [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
+
+ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo: ../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Tpo -c -o ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' | [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc
+
+ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo: ../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Tpo -c -o ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Gr [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc
+
+ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo: ../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Tpo -c -o ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' | [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc
+
+ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo: ../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Tpo -c -o ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedr [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -1157,34 +1336,37 @@ clean-libtool:
 install-pkglibDATA: $(pkglib_DATA)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
-	@list='$(pkglib_DATA)'; for p in $$list; do \
+	@list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \
+	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  f=$(am__strip_dir) \
-	  echo " $(pkglibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkglibdir)/$$f'"; \
-	  $(pkglibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkglibdir)/$$f"; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkglibdir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkglibdir)" || exit $$?; \
 	done
 
 uninstall-pkglibDATA:
 	@$(NORMAL_UNINSTALL)
-	@list='$(pkglib_DATA)'; for p in $$list; do \
-	  f=$(am__strip_dir) \
-	  echo " rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
-	done
+	@list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(pkglibdir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(pkglibdir)" && rm -f $$files
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
@@ -1192,29 +1374,34 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -1235,13 +1422,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -1276,6 +1467,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -1297,6 +1489,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -1305,18 +1499,28 @@ install-data-am:
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am: install-pkglibDATA install-pkglibLTLIBRARIES
 
 install-html: install-html-am
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-am
 
+install-pdf-am:
+
 install-ps: install-ps-am
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -1339,7 +1543,7 @@ ps-am:
 
 uninstall-am: uninstall-pkglibDATA uninstall-pkglibLTLIBRARIES
 
-.MAKE: install-am install-strip
+.MAKE: check-am install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am check-local clean \
 	clean-generic clean-libtool clean-pkglibLTLIBRARIES ctags \
@@ -1474,6 +1678,7 @@ $(nodist_EXTRA_libppl_ciao_la_SOURCES):
 # FIXME: the dependencies from .libs/libppl_ciao.so in this Makefile.am
 # are probably all wrong.
 .libs/libppl_ciao.so: libppl_ciao.la
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/interfaces/Prolog/Ciao/ciao_cfli.hh b/interfaces/Prolog/Ciao/ciao_cfli.hh
index fc81ba1..51ae7ea 100644
--- a/interfaces/Prolog/Ciao/ciao_cfli.hh
+++ b/interfaces/Prolog/Ciao/ciao_cfli.hh
@@ -1,5 +1,5 @@
 /* Ciao Prolog Common Foreign Language Interface.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/Ciao/ciao_clpq.pl b/interfaces/Prolog/Ciao/ciao_clpq.pl
index 253ecb1..535a2ca 100644
--- a/interfaces/Prolog/Ciao/ciao_clpq.pl
+++ b/interfaces/Prolog/Ciao/ciao_clpq.pl
@@ -1,5 +1,5 @@
 /* Prolog main program for the toy PPL/CIAO-Prolog CLP(Q) interpreter.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -39,7 +39,6 @@ site: http://www.cs.unipr.it/ppl/ . */
 	ppl_delete_Polyhedron/1,
 	ppl_Polyhedron_space_dimension/2,
 	ppl_Polyhedron_get_constraints/2,
-	ppl_Polyhedron_add_constraints_and_minimize/2,
 	ppl_Polyhedron_add_space_dimensions_and_embed/2,
 	ppl_Polyhedron_remove_higher_space_dimensions/2
 ]).
diff --git a/interfaces/Prolog/Ciao/ciao_clpq2.pl b/interfaces/Prolog/Ciao/ciao_clpq2.pl
index c3804d3..53d1092 100644
--- a/interfaces/Prolog/Ciao/ciao_clpq2.pl
+++ b/interfaces/Prolog/Ciao/ciao_clpq2.pl
@@ -1,5 +1,5 @@
 /* Prolog main program for the 2nd toy PPL/CIAO-Prolog CLP(Q) interpreter.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -39,7 +39,6 @@ site: http://www.cs.unipr.it/ppl/ . */
 	ppl_delete_Polyhedron/1,
 	ppl_Polyhedron_space_dimension/2,
 	ppl_Polyhedron_get_constraints/2,
-	ppl_Polyhedron_add_constraints_and_minimize/2,
 	ppl_Polyhedron_add_space_dimensions_and_embed/2,
 	ppl_Polyhedron_remove_space_dimensions/2,
 	ppl_Polyhedron_remove_higher_space_dimensions/2
diff --git a/interfaces/Prolog/Ciao/ciao_efli.cc b/interfaces/Prolog/Ciao/ciao_efli.cc
index 37207fc..7b033f9 100644
--- a/interfaces/Prolog/Ciao/ciao_efli.cc
+++ b/interfaces/Prolog/Ciao/ciao_efli.cc
@@ -1,5 +1,5 @@
 /* Ciao Prolog extended foreign language interface: definitions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -65,7 +65,8 @@ Prolog_get_Coefficient(Prolog_term_ref t, Coefficient& n) {
 int
 Prolog_put_Coefficient(Prolog_term_ref& t, const Coefficient& n) {
   int i;
-  if (assign_r(i, n, ROUND_NOT_NEEDED) == V_EQ)
+  Result r = assign_r(i, n, ROUND_IGNORE);
+  if (!result_overflow(r))
     t = ciao_integer(i);
   else {
     std::ostringstream s;
diff --git a/interfaces/Prolog/Ciao/ciao_efli.hh b/interfaces/Prolog/Ciao/ciao_efli.hh
index 608a90a..258cb9f 100644
--- a/interfaces/Prolog/Ciao/ciao_efli.hh
+++ b/interfaces/Prolog/Ciao/ciao_efli.hh
@@ -1,5 +1,5 @@
 /* Ciao Prolog extended foreign language interface: declarations.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/Ciao/ciao_pl_check.pl b/interfaces/Prolog/Ciao/ciao_pl_check.pl
index 8a2527f..7d8a25c 100644
--- a/interfaces/Prolog/Ciao/ciao_pl_check.pl
+++ b/interfaces/Prolog/Ciao/ciao_pl_check.pl
@@ -1,5 +1,5 @@
 /* Prolog main program for the toy PPL/CIAO-Prolog predicate checker.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -87,17 +87,11 @@ site: http://www.cs.unipr.it/ppl/ . */
         ppl_Polyhedron_equals_Polyhedron/2,
 	ppl_Polyhedron_OK/1,
 	ppl_Polyhedron_add_constraint/2,
-	ppl_Polyhedron_add_constraint_and_minimize/2,
 	ppl_Polyhedron_add_generator/2,
-	ppl_Polyhedron_add_generator_and_minimize/2,
 	ppl_Polyhedron_add_constraints/2,
-	ppl_Polyhedron_add_constraints_and_minimize/2,
 	ppl_Polyhedron_add_generators/2,
-	ppl_Polyhedron_add_generators_and_minimize/2,
 	ppl_Polyhedron_intersection_assign/2,
-	ppl_Polyhedron_intersection_assign_and_minimize/2,
 	ppl_Polyhedron_poly_hull_assign/2,
-	ppl_Polyhedron_poly_hull_assign_and_minimize/2,
 	ppl_Polyhedron_poly_difference_assign/2,
 	ppl_Polyhedron_affine_image/4,
 	ppl_Polyhedron_affine_preimage/4,
diff --git a/interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4 b/interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4
index d7f8559..6dcafb0 100644
--- a/interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4
+++ b/interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4
@@ -3,7 +3,7 @@ m4_divert(-1)
 
 dnl This m4 file generates the file ppl_ciao.pl.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/interfaces/Prolog/Ciao/ppl_interface_generator_ciao_prolog_generated_test_pl.m4 b/interfaces/Prolog/Ciao/ppl_interface_generator_ciao_prolog_generated_test_pl.m4
index f3713fe..ea9629d 100644
--- a/interfaces/Prolog/Ciao/ppl_interface_generator_ciao_prolog_generated_test_pl.m4
+++ b/interfaces/Prolog/Ciao/ppl_interface_generator_ciao_prolog_generated_test_pl.m4
@@ -4,7 +4,7 @@ m4_divert(-1)
 dnl This m4 file defines macros needed for generating
 dnl the Ciao dependent code for ciao_prolog_generated_test.pl.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/interfaces/Prolog/Ciao/ppl_prolog_sysdep.hh b/interfaces/Prolog/Ciao/ppl_prolog_sysdep.hh
index b963051..04c97c8 100644
--- a/interfaces/Prolog/Ciao/ppl_prolog_sysdep.hh
+++ b/interfaces/Prolog/Ciao/ppl_prolog_sysdep.hh
@@ -1,5 +1,5 @@
 /* System-dependent part of the Prolog interfaces: stub for Ciao Prolog.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/GNU/Makefile.am b/interfaces/Prolog/GNU/Makefile.am
index 4b34cb0..9f4981c 100644
--- a/interfaces/Prolog/GNU/Makefile.am
+++ b/interfaces/Prolog/GNU/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -138,7 +138,11 @@ nodist_EXTRA_libppl_gprolog_la_SOURCES = \
 ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc \
 ../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc \
 ../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc \
-../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
+../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc \
+../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc \
+../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc \
+../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc \
+../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
 
 if NO_UNDEFINED
 
@@ -285,7 +289,7 @@ ppl_prolog_generated_test: gnu_prolog_generated_test.pl  ../tests/ppl_prolog_gen
 	echo "['ppl_prolog_generated_test_main.pl', 'gnu_prolog_generated_test.pl']." \
 		>script_pgt
 	echo "main." >>script_pgt
-	GLOBALSZ=65536 $(LIBTOOL) --mode=execute \
+	GLOBALSZ=131072 $(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
 		$(WATCHDOG_DLOPEN) \
 		-dlopen libppl_gprolog.la \
diff --git a/interfaces/Prolog/GNU/Makefile.in b/interfaces/Prolog/GNU/Makefile.in
index b09db78..569a4d6 100644
--- a/interfaces/Prolog/GNU/Makefile.in
+++ b/interfaces/Prolog/GNU/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -40,8 +41,9 @@
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -66,6 +68,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -87,30 +90,48 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
     *) f=$$p;; \
   esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
 am__installdirs = "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(bindir)" \
 	"$(DESTDIR)$(pkglibdir)"
-pkglibLTLIBRARIES_INSTALL = $(INSTALL)
 LTLIBRARIES = $(pkglib_LTLIBRARIES)
 am_libppl_gprolog_la_OBJECTS = gprolog_efli.lo
 nodist_libppl_gprolog_la_OBJECTS = ppl_prolog_common.lo
 libppl_gprolog_la_OBJECTS = $(am_libppl_gprolog_la_OBJECTS) \
 	$(nodist_libppl_gprolog_la_OBJECTS)
-libppl_gprolog_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
-	$(CXXFLAGS) $(libppl_gprolog_la_LDFLAGS) $(LDFLAGS) -o $@
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+libppl_gprolog_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(AM_CXXFLAGS) $(CXXFLAGS) $(libppl_gprolog_la_LDFLAGS) \
+	$(LDFLAGS) -o $@
 PROGRAMS = $(bin_PROGRAMS)
 am_ppl_gprolog_OBJECTS =
 ppl_gprolog_OBJECTS = $(am_ppl_gprolog_OBJECTS)
@@ -118,36 +139,57 @@ ppl_gprolog_LDADD = $(LDADD)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_$(V))
+am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+am__v_CXX_0 = @echo "  CXX   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_$(V))
+am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo "  CC    " $@;
 CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo "  CCLD  " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libppl_gprolog_la_SOURCES) \
 	$(nodist_libppl_gprolog_la_SOURCES) \
 	$(nodist_EXTRA_libppl_gprolog_la_SOURCES) \
 	$(ppl_gprolog_SOURCES)
 DIST_SOURCES = $(libppl_gprolog_la_SOURCES) $(ppl_gprolog_SOURCES)
-pkglibDATA_INSTALL = $(INSTALL_DATA)
 DATA = $(pkglib_DATA)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -194,6 +236,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -211,8 +255,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -220,6 +274,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -236,12 +291,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -284,11 +342,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -318,6 +374,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -325,6 +382,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 GPROLOG_CFLI_FILES = gprolog_cfli.hh
 EXTRA_DIST = \
 ppl_interface_generator_gprolog_pl.m4 \
@@ -436,7 +494,11 @@ nodist_EXTRA_libppl_gprolog_la_SOURCES = \
 ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc \
 ../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc \
 ../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc \
-../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
+../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc \
+../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc \
+../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc \
+../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc \
+../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
 
 @NO_UNDEFINED_TRUE at NO_UNDEFINED_FLAG = -no-undefined
 libppl_gprolog_la_LIBADD = \
@@ -503,14 +565,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  interfaces/Prolog/GNU/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  interfaces/Prolog/GNU/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign interfaces/Prolog/GNU/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign interfaces/Prolog/GNU/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -528,23 +590,28 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
-	@list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
+	@list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+	list2=; for p in $$list; do \
 	  if test -f $$p; then \
-	    f=$(am__strip_dir) \
-	    echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(pkglibdir)/$$f'"; \
-	    $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(pkglibdir)/$$f"; \
+	    list2="$$list2 $$p"; \
 	  else :; fi; \
-	done
+	done; \
+	test -z "$$list2" || { \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \
+	}
 
 uninstall-pkglibLTLIBRARIES:
 	@$(NORMAL_UNINSTALL)
-	@list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
-	  p=$(am__strip_dir) \
-	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$p'"; \
-	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$p"; \
+	@list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+	for p in $$list; do \
+	  $(am__strip_dir) \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
 	done
 
 clean-pkglibLTLIBRARIES:
@@ -556,35 +623,50 @@ clean-pkglibLTLIBRARIES:
 	  rm -f "$${dir}/so_locations"; \
 	done
 libppl_gprolog.la: $(libppl_gprolog_la_OBJECTS) $(libppl_gprolog_la_DEPENDENCIES) 
-	$(libppl_gprolog_la_LINK) -rpath $(pkglibdir) $(libppl_gprolog_la_OBJECTS) $(libppl_gprolog_la_LIBADD) $(LIBS)
+	$(AM_V_CXXLD)$(libppl_gprolog_la_LINK) -rpath $(pkglibdir) $(libppl_gprolog_la_OBJECTS) $(libppl_gprolog_la_LIBADD) $(LIBS)
 install-binPROGRAMS: $(bin_PROGRAMS)
 	@$(NORMAL_INSTALL)
 	test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
-	@list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  if test -f $$p \
-	     || test -f $$p1 \
-	  ; then \
-	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
-	   echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
-	   $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
-	  else :; fi; \
-	done
+	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	for p in $$list; do echo "$$p $$p"; done | \
+	sed 's/$(EXEEXT)$$//' | \
+	while read p p1; do if test -f $$p || test -f $$p1; \
+	  then echo "$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+	sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
+	    else { print "f", $$3 "/" $$4, $$1; } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	    test -z "$$files" || { \
+	    echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+	    $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+	    } \
+	; done
 
 uninstall-binPROGRAMS:
 	@$(NORMAL_UNINSTALL)
-	@list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
-	  echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(bindir)/$$f"; \
-	done
+	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+	      -e 's/$$/$(EXEEXT)/' `; \
+	test -n "$$list" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(bindir)" && rm -f $$files
 
 clean-binPROGRAMS:
-	@list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  echo " rm -f $$p $$f"; \
-	  rm -f $$p $$f ; \
-	done
+	@list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -659,6 +741,10 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Polyhedron.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Rational_Box.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Uint16_Box.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Uint32_Box.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Uint64_Box.Plo at am__quote@
@@ -667,529 +753,636 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_common.Plo at am__quote@
 
 .cc.o:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
- at am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
 
 ppl_prolog_common.lo: ../ppl_prolog_common.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_common.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_common.Tpo -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_common.Tpo $(DEPDIR)/ppl_prolog_common.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_common.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_common.Tpo -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_common.Tpo $(DEPDIR)/ppl_prolog_common.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_common.cc' object='ppl_prolog_common.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
 
 ppl_prolog_Int8_Box.lo: ../ppl_prolog_Int8_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int8_Box.Tpo -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Int8_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int8_Box.Tpo -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Int8_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int8_Box.cc' object='ppl_prolog_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
 
 ppl_prolog_Int16_Box.lo: ../ppl_prolog_Int16_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int16_Box.Tpo -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Int16_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int16_Box.Tpo -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Int16_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int16_Box.cc' object='ppl_prolog_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
 
 ppl_prolog_Int32_Box.lo: ../ppl_prolog_Int32_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int32_Box.Tpo -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Int32_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int32_Box.Tpo -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Int32_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int32_Box.cc' object='ppl_prolog_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
 
 ppl_prolog_Int64_Box.lo: ../ppl_prolog_Int64_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int64_Box.Tpo -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Int64_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int64_Box.Tpo -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Int64_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int64_Box.cc' object='ppl_prolog_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
 
 ppl_prolog_Uint8_Box.lo: ../ppl_prolog_Uint8_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Uint8_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Uint8_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint8_Box.cc' object='ppl_prolog_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
 
 ppl_prolog_Uint16_Box.lo: ../ppl_prolog_Uint16_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Uint16_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Uint16_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint16_Box.cc' object='ppl_prolog_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
 
 ppl_prolog_Uint32_Box.lo: ../ppl_prolog_Uint32_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Uint32_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Uint32_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint32_Box.cc' object='ppl_prolog_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
 
 ppl_prolog_Uint64_Box.lo: ../ppl_prolog_Uint64_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Uint64_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Uint64_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint64_Box.cc' object='ppl_prolog_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
 
 ppl_prolog_Float_Box.lo: ../ppl_prolog_Float_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Float_Box.Tpo -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Float_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Float_Box.Tpo -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Float_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Float_Box.cc' object='ppl_prolog_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
 
 ppl_prolog_Double_Box.lo: ../ppl_prolog_Double_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Double_Box.Tpo -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Double_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Double_Box.Tpo -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Double_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Double_Box.cc' object='ppl_prolog_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
 
 ppl_prolog_Long_Double_Box.lo: ../ppl_prolog_Long_Double_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Long_Double_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Long_Double_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Long_Double_Box.cc' object='ppl_prolog_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
 
 ppl_prolog_Rational_Box.lo: ../ppl_prolog_Rational_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Rational_Box.Tpo -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Rational_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Rational_Box.Tpo -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Rational_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Rational_Box.cc' object='ppl_prolog_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
 
 ppl_prolog_Z_Box.lo: ../ppl_prolog_Z_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Z_Box.Tpo -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Z_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Z_Box.Tpo -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Z_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Z_Box.cc' object='ppl_prolog_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
 
 ppl_prolog_BD_Shape_int8_t.lo: ../ppl_prolog_BD_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int8_t.cc' object='ppl_prolog_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
 
 ppl_prolog_BD_Shape_int16_t.lo: ../ppl_prolog_BD_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int16_t.cc' object='ppl_prolog_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
 
 ppl_prolog_BD_Shape_int32_t.lo: ../ppl_prolog_BD_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int32_t.cc' object='ppl_prolog_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
 
 ppl_prolog_BD_Shape_int64_t.lo: ../ppl_prolog_BD_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int64_t.cc' object='ppl_prolog_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
 
 ppl_prolog_BD_Shape_float.lo: ../ppl_prolog_BD_Shape_float.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_float.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_float.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_float.cc' object='ppl_prolog_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
 
 ppl_prolog_BD_Shape_double.lo: ../ppl_prolog_BD_Shape_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_double.cc' object='ppl_prolog_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
 
 ppl_prolog_BD_Shape_long_double.lo: ../ppl_prolog_BD_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_long_double.cc' object='ppl_prolog_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
 
 ppl_prolog_BD_Shape_mpq_class.lo: ../ppl_prolog_BD_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_mpq_class.cc' object='ppl_prolog_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
 
 ppl_prolog_BD_Shape_mpz_class.lo: ../ppl_prolog_BD_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_mpz_class.cc' object='ppl_prolog_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
 
 ppl_prolog_Octagonal_Shape_int8_t.lo: ../ppl_prolog_Octagonal_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
 
 ppl_prolog_Octagonal_Shape_int16_t.lo: ../ppl_prolog_Octagonal_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
 
 ppl_prolog_Octagonal_Shape_int32_t.lo: ../ppl_prolog_Octagonal_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
 
 ppl_prolog_Octagonal_Shape_int64_t.lo: ../ppl_prolog_Octagonal_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
 
 ppl_prolog_Octagonal_Shape_float.lo: ../ppl_prolog_Octagonal_Shape_float.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_float.cc' object='ppl_prolog_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
 
 ppl_prolog_Octagonal_Shape_double.lo: ../ppl_prolog_Octagonal_Shape_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_double.cc' object='ppl_prolog_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
 
 ppl_prolog_Octagonal_Shape_long_double.lo: ../ppl_prolog_Octagonal_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_long_double.cc' object='ppl_prolog_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
 
 ppl_prolog_Octagonal_Shape_mpq_class.lo: ../ppl_prolog_Octagonal_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
 
 ppl_prolog_Octagonal_Shape_mpz_class.lo: ../ppl_prolog_Octagonal_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
 
 ppl_prolog_Polyhedron.lo: ../ppl_prolog_Polyhedron.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Polyhedron.Tpo -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Polyhedron.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Polyhedron.Tpo -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Polyhedron.cc' object='ppl_prolog_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
 
 ppl_prolog_Grid.lo: ../ppl_prolog_Grid.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Grid.Tpo -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Grid.Tpo $(DEPDIR)/ppl_prolog_Grid.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Grid.Tpo -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Grid.Tpo $(DEPDIR)/ppl_prolog_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Grid.cc' object='ppl_prolog_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
 
 ppl_prolog_Pointset_Powerset_Int8_Box.lo: ../ppl_prolog_Pointset_Powerset_Int8_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int8_Box.cc' object='ppl_prolog_Pointset_Powerset_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int16_Box.lo: ../ppl_prolog_Pointset_Powerset_Int16_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int16_Box.cc' object='ppl_prolog_Pointset_Powerset_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int32_Box.lo: ../ppl_prolog_Pointset_Powerset_Int32_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int32_Box.cc' object='ppl_prolog_Pointset_Powerset_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int64_Box.lo: ../ppl_prolog_Pointset_Powerset_Int64_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int64_Box.cc' object='ppl_prolog_Pointset_Powerset_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint8_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint16_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint32_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint64_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
 
 ppl_prolog_Pointset_Powerset_Float_Box.lo: ../ppl_prolog_Pointset_Powerset_Float_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Float_Box.cc' object='ppl_prolog_Pointset_Powerset_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
 
 ppl_prolog_Pointset_Powerset_Double_Box.lo: ../ppl_prolog_Pointset_Powerset_Double_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Double_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Doub [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Double_Box.cc
 
 ppl_prolog_Pointset_Powerset_Long_Double_Box.lo: ../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Long_D [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
 
 ppl_prolog_Pointset_Powerset_Rational_Box.lo: ../ppl_prolog_Pointset_Powerset_Rational_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Rational_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Power [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Rational_Box.cc' object='ppl_prolog_Pointset_Powerset_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Rational_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Rational_Box.cc
 
 ppl_prolog_Pointset_Powerset_Z_Box.lo: ../ppl_prolog_Pointset_Powerset_Z_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Z_Box.cc' object='ppl_prolog_Pointset_Powerset_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Sha [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_float.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Points [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_double.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Sha [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Poin [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Pow [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../p [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Pow [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../p [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_pro [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo ' [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || ec [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || ec [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || ec [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_ [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(sr [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_pro [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo ' [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' || echo '$( [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_ [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/ [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.c [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/ [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.c [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
 
 ppl_prolog_Pointset_Powerset_C_Polyhedron.lo: ../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Power [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
 
 ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo: ../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Points [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
 
 ppl_prolog_Pointset_Powerset_Grid.lo: ../ppl_prolog_Pointset_Powerset_Grid.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Grid.cc' object='ppl_prolog_Pointset_Powerset_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
 
 ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo: ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constrai [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'` [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
 
 ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo: ../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_ [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(sr [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
 
 ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo: ../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constrai [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'` [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
 
 ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo: ../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_ [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(sr [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
+
+ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo: ../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Tpo -c -o ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' | [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc
+
+ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo: ../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Tpo -c -o ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Gr [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc
+
+ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo: ../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Tpo -c -o ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' | [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc
+
+ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo: ../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Tpo -c -o ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedr [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -1199,34 +1392,37 @@ clean-libtool:
 install-pkglibDATA: $(pkglib_DATA)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
-	@list='$(pkglib_DATA)'; for p in $$list; do \
+	@list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \
+	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  f=$(am__strip_dir) \
-	  echo " $(pkglibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkglibdir)/$$f'"; \
-	  $(pkglibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkglibdir)/$$f"; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkglibdir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkglibdir)" || exit $$?; \
 	done
 
 uninstall-pkglibDATA:
 	@$(NORMAL_UNINSTALL)
-	@list='$(pkglib_DATA)'; for p in $$list; do \
-	  f=$(am__strip_dir) \
-	  echo " rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
-	done
+	@list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(pkglibdir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(pkglibdir)" && rm -f $$files
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
@@ -1234,29 +1430,34 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -1277,13 +1478,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -1317,6 +1522,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -1338,6 +1544,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -1346,19 +1554,29 @@ install-data-am:
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am: install-binPROGRAMS install-pkglibDATA \
 	install-pkglibLTLIBRARIES
 
 install-html: install-html-am
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-am
 
+install-pdf-am:
+
 install-ps: install-ps-am
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -1382,7 +1600,7 @@ ps-am:
 uninstall-am: uninstall-binPROGRAMS uninstall-pkglibDATA \
 	uninstall-pkglibLTLIBRARIES
 
-.MAKE: install-am install-strip
+.MAKE: check-am install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am check-local clean \
 	clean-binPROGRAMS clean-generic clean-libtool \
@@ -1464,7 +1682,7 @@ ppl_prolog_generated_test: gnu_prolog_generated_test.pl  ../tests/ppl_prolog_gen
 	echo "['ppl_prolog_generated_test_main.pl', 'gnu_prolog_generated_test.pl']." \
 		>script_pgt
 	echo "main." >>script_pgt
-	GLOBALSZ=65536 $(LIBTOOL) --mode=execute \
+	GLOBALSZ=131072 $(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
 		$(WATCHDOG_DLOPEN) \
 		-dlopen libppl_gprolog.la \
@@ -1484,6 +1702,7 @@ $(top_builddir)/interfaces/ppl_interface_instantiations.m4:
 # makefile.
 $(nodist_EXTRA_libppl_gprolog_la_SOURCES):
 ../tests/ppl_prolog_generated_test_main.pl:
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/interfaces/Prolog/GNU/README.gprolog b/interfaces/Prolog/GNU/README.gprolog
index 32d814a..4acb035 100644
--- a/interfaces/Prolog/GNU/README.gprolog
+++ b/interfaces/Prolog/GNU/README.gprolog
@@ -1,7 +1,7 @@
 The GNU Prolog interface to the Parma Polyhedra Library (PPL)
 is available both as a PPL-enhanced GNU Prolog interpreter and as a
 library that can be linked to GNU Prolog programs.  Only GNU Prolog
-version 1.3.0 and later versions are supported.
+version 1.3.2(20100322) and later versions are supported.
 
 So that it can be used with the GNU Prolog PPL interface (and, for
 that matter, with any foreign code), the GNU Prolog installation must
diff --git a/interfaces/Prolog/GNU/gnu_pl_check.pl b/interfaces/Prolog/GNU/gnu_pl_check.pl
index 436d14a..98600d9 100644
--- a/interfaces/Prolog/GNU/gnu_pl_check.pl
+++ b/interfaces/Prolog/GNU/gnu_pl_check.pl
@@ -1,5 +1,5 @@
 /* Prolog main program for the PPL/GNU-Prolog predicate checker.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/GNU/gnu_prolog_generated_test.pl b/interfaces/Prolog/GNU/gnu_prolog_generated_test.pl
index cc7774a..bd12c1f 100644
--- a/interfaces/Prolog/GNU/gnu_prolog_generated_test.pl
+++ b/interfaces/Prolog/GNU/gnu_prolog_generated_test.pl
@@ -1,5 +1,5 @@
 /* Prolog main program for the PPL/GNU-Prolog predicate checker.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/GNU/gp_clpq.pl b/interfaces/Prolog/GNU/gp_clpq.pl
index 9cbad3e..de0a209 100644
--- a/interfaces/Prolog/GNU/gp_clpq.pl
+++ b/interfaces/Prolog/GNU/gp_clpq.pl
@@ -1,5 +1,5 @@
 /* Main program for the toy PPL/GNU-Prolog CLP(Q) interpreter.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/GNU/gprolog_cfli.hh b/interfaces/Prolog/GNU/gprolog_cfli.hh
index 16a6820..ee8e5f7 100644
--- a/interfaces/Prolog/GNU/gprolog_cfli.hh
+++ b/interfaces/Prolog/GNU/gprolog_cfli.hh
@@ -1,5 +1,5 @@
 /* GNU Prolog Common Foreign Language Interface.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/GNU/gprolog_efli.cc b/interfaces/Prolog/GNU/gprolog_efli.cc
index dbb089c..148a62e 100644
--- a/interfaces/Prolog/GNU/gprolog_efli.cc
+++ b/interfaces/Prolog/GNU/gprolog_efli.cc
@@ -1,5 +1,5 @@
 /* GNU Prolog extended foreign language interface: definitions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -59,8 +59,8 @@ Prolog_get_Coefficient(Prolog_term_ref t, Coefficient& n) {
 int
 Prolog_put_Coefficient(Prolog_term_ref& t, const Coefficient& n) {
   long l = 0;
-  if (assign_r(l, n, ROUND_NOT_NEEDED) != V_EQ
-      || !Prolog_put_long(t, l))
+  Result r = assign_r(l, n, ROUND_IGNORE);
+  if (result_overflow(r) || !Prolog_put_long(t, l))
     throw PPL_integer_out_of_range(n);
   return 1;
 }
diff --git a/interfaces/Prolog/GNU/gprolog_efli.hh b/interfaces/Prolog/GNU/gprolog_efli.hh
index dae2470..c542f1f 100644
--- a/interfaces/Prolog/GNU/gprolog_efli.hh
+++ b/interfaces/Prolog/GNU/gprolog_efli.hh
@@ -1,5 +1,5 @@
 /* GNU Prolog extended foreign language interface: declarations.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4 b/interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4
index 3a2b9d3..1936e28 100644
--- a/interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4
+++ b/interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4
@@ -3,7 +3,7 @@ m4_divert(-1)
 
 dnl This m4 file generates the file ppl_gprolog.pl.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/interfaces/Prolog/GNU/ppl_prolog_sysdep.hh b/interfaces/Prolog/GNU/ppl_prolog_sysdep.hh
index a0c4e7f..ee65ddf 100644
--- a/interfaces/Prolog/GNU/ppl_prolog_sysdep.hh
+++ b/interfaces/Prolog/GNU/ppl_prolog_sysdep.hh
@@ -1,5 +1,5 @@
 /* System-dependent part of the Prolog interfaces: stub for GNU Prolog.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/Makefile.am b/interfaces/Prolog/Makefile.am
index 35268cd..8298f2d 100644
--- a/interfaces/Prolog/Makefile.am
+++ b/interfaces/Prolog/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -114,16 +114,16 @@ ppl_prolog_domains.hh: $(interface_generator_dependencies)
 	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_prolog_hh_files.m4 \
                 > ppl_prolog_hh_blob
-	$(top_srcdir)/utils/cm_cleaner.sh < ppl_prolog_hh_blob
-	$(top_srcdir)/utils/cm_splitter.sh < ppl_prolog_hh_blob
+	$(top_srcdir)/utils/cm_cleaner.sh ./ppl_prolog_hh_blob
+	$(top_srcdir)/utils/cm_splitter.sh ./ppl_prolog_hh_blob
 	rm -f ppl_prolog_hh_blob
 
 ppl_prolog_domains.cc.stamp: $(interface_generator_dependencies)
 	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_prolog_cc_files.m4 \
                 > ppl_prolog_cc_blob
-	$(top_srcdir)/utils/cm_cleaner.sh < ppl_prolog_cc_blob
-	$(top_srcdir)/utils/cm_splitter.sh < ppl_prolog_cc_blob
+	$(top_srcdir)/utils/cm_cleaner.sh ./ppl_prolog_cc_blob
+	$(top_srcdir)/utils/cm_splitter.sh ./ppl_prolog_cc_blob
 	rm -f ppl_prolog_cc_blob
 	echo timestamp >$@
 
diff --git a/interfaces/Prolog/Makefile.in b/interfaces/Prolog/Makefile.in
index 7619fad..4a69004 100644
--- a/interfaces/Prolog/Makefile.in
+++ b/interfaces/Prolog/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -38,8 +39,9 @@
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -63,6 +65,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -84,12 +87,19 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
@@ -102,12 +112,41 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
 DATA = $(nodist_noinst_DATA)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
   distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+	distdir
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = . tests Ciao GNU SICStus SWI XSB YAP
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -154,6 +193,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -171,8 +212,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -180,6 +231,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -196,12 +248,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -244,11 +299,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -278,6 +331,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -285,6 +339,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 @BUILD_CIAO_PROLOG_INTERFACE_TRUE at CIAO_PROLOG_SUBDIR = Ciao
 @BUILD_GNU_PROLOG_INTERFACE_TRUE at GNU_PROLOG_SUBDIR = GNU
 @BUILD_SICSTUS_PROLOG_INTERFACE_TRUE at SICSTUS_PROLOG_SUBDIR = SICStus
@@ -365,14 +420,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  interfaces/Prolog/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  interfaces/Prolog/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign interfaces/Prolog/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign interfaces/Prolog/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -390,6 +445,7 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -404,7 +460,7 @@ clean-libtool:
 #     (which will cause the Makefiles to be regenerated when you run `make');
 # (2) otherwise, pass the desired values on the `make' command line.
 $(RECURSIVE_TARGETS):
-	@failcom='exit 1'; \
+	@fail= failcom='exit 1'; \
 	for f in x $$MAKEFLAGS; do \
 	  case $$f in \
 	    *=* | --[!k]*);; \
@@ -421,7 +477,7 @@ $(RECURSIVE_TARGETS):
 	  else \
 	    local_target="$$target"; \
 	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
 	  || eval $$failcom; \
 	done; \
 	if test "$$dot_seen" = "no"; then \
@@ -429,7 +485,7 @@ $(RECURSIVE_TARGETS):
 	fi; test -z "$$fail"
 
 $(RECURSIVE_CLEAN_TARGETS):
-	@failcom='exit 1'; \
+	@fail= failcom='exit 1'; \
 	for f in x $$MAKEFLAGS; do \
 	  case $$f in \
 	    *=* | --[!k]*);; \
@@ -455,16 +511,16 @@ $(RECURSIVE_CLEAN_TARGETS):
 	  else \
 	    local_target="$$target"; \
 	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
 	  || eval $$failcom; \
 	done && test -z "$$fail"
 tags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
 	done
 ctags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
 	done
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -472,14 +528,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
 	  include_option=--etags-include; \
@@ -491,7 +547,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	list='$(SUBDIRS)'; for subdir in $$list; do \
 	  if test "$$subdir" = .; then :; else \
 	    test ! -f $$subdir/TAGS || \
-	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
 	  fi; \
 	done; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
@@ -500,29 +556,34 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -543,29 +604,44 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
-	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
 	  if test "$$subdir" = .; then :; else \
 	    test -d "$(distdir)/$$subdir" \
 	    || $(MKDIR_P) "$(distdir)/$$subdir" \
 	    || exit 1; \
-	    distdir=`$(am__cd) $(distdir) && pwd`; \
-	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
-	    (cd $$subdir && \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
 	      $(MAKE) $(AM_MAKEFLAGS) \
-	        top_distdir="$$top_distdir" \
-	        distdir="$$distdir/$$subdir" \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
 		am__remove_distdir=: \
 		am__skip_length_check=: \
+		am__skip_mode_fix=: \
 	        distdir) \
 	      || exit 1; \
 	  fi; \
@@ -598,6 +674,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -617,6 +694,8 @@ dvi-am:
 
 html: html-recursive
 
+html-am:
+
 info: info-recursive
 
 info-am:
@@ -625,18 +704,28 @@ install-data-am:
 
 install-dvi: install-dvi-recursive
 
+install-dvi-am:
+
 install-exec-am:
 
 install-html: install-html-recursive
 
+install-html-am:
+
 install-info: install-info-recursive
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-recursive
 
+install-pdf-am:
+
 install-ps: install-ps-recursive
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-recursive
@@ -657,8 +746,9 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
-	install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \
+	ctags-recursive install install-am install-strip \
+	tags-recursive
 
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
 	all all-am check check-am clean clean-generic clean-libtool \
@@ -685,21 +775,22 @@ ppl_prolog_domains.hh: $(interface_generator_dependencies)
 	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_prolog_hh_files.m4 \
                 > ppl_prolog_hh_blob
-	$(top_srcdir)/utils/cm_cleaner.sh < ppl_prolog_hh_blob
-	$(top_srcdir)/utils/cm_splitter.sh < ppl_prolog_hh_blob
+	$(top_srcdir)/utils/cm_cleaner.sh ./ppl_prolog_hh_blob
+	$(top_srcdir)/utils/cm_splitter.sh ./ppl_prolog_hh_blob
 	rm -f ppl_prolog_hh_blob
 
 ppl_prolog_domains.cc.stamp: $(interface_generator_dependencies)
 	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_prolog_cc_files.m4 \
                 > ppl_prolog_cc_blob
-	$(top_srcdir)/utils/cm_cleaner.sh < ppl_prolog_cc_blob
-	$(top_srcdir)/utils/cm_splitter.sh < ppl_prolog_cc_blob
+	$(top_srcdir)/utils/cm_cleaner.sh ./ppl_prolog_cc_blob
+	$(top_srcdir)/utils/cm_splitter.sh ./ppl_prolog_cc_blob
 	rm -f ppl_prolog_cc_blob
 	echo timestamp >$@
 
 $(top_builddir)/interfaces/ppl_interface_instantiations.m4:
 	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/interfaces ppl_interface_instantiations.m4
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/interfaces/Prolog/Prolog_interface.dox b/interfaces/Prolog/Prolog_interface.dox
index 7ab65d3..7a7744e 100644
--- a/interfaces/Prolog/Prolog_interface.dox
+++ b/interfaces/Prolog/Prolog_interface.dox
@@ -1,5 +1,5 @@
 /* Configuration Independent Documentation for Prolog.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -50,6 +50,7 @@ The structure of this section is as follows:
     - \ref predicate_descriptions "Predicate Descriptions"
         - \ref di_predicates "Domain Independent Predicates"
         - \ref mip_predicates "MIP Predicates"
+        - \ref pip_predicates "PIP Predicates"
         - \ref Polyhedron_predicates "Predicates for C Polyhedra"
         - \ref other_domains "Ad hoc Predicates for Other Domains"
 - \ref PI_Compilation "Compilation and Installation"
@@ -105,8 +106,9 @@ on the use of the interface.
     a simple domain.
   - The product domains consist of
     Direct_Product_S_T,
-    Smash_Product_S_T and
-    Constraints_Product_S_T where S
+    Smash_Product_S_T,
+    Constraints_Product_S_T and
+    Shape_Preserving_Product_S_T where S
     and T are simple domains.
 - In the following, any of the above numerical
   abstract domains  is called a PPL <EM>domain</EM>
@@ -296,6 +298,11 @@ The specification uses the following grammar rules:
              --> []
 	    | [Grid_Generator | Grid_Generator_System]
 
+ Artificial_Parameter  --> Lin_Expr / Coeff
+
+ Artificial_Parameter_List --> []
+	    | [Artificial_Parameter | Artificial_Parameter_List]
+
  Atom        --> Prolog atom
 
  Universe_or_Empty			PPL object
@@ -317,18 +324,31 @@ The specification uses the following grammar rules:
  P_Func      --> []    			list of map relations
             | [Vars_Pair | P_Func].
 
+ Width  --> bits_8 | bits_16 | bits_32 | bits_64 | bits_128
+
+ Representation  --> unsigned | signed_2_complement
+
+ Overflow  --> overflow_wraps | overflow_undefined | overflow_impossible
+
  Optimization_Mode --> max | min
 
- MIP_Problem_Status --> unfeasible
+ Problem_Status --> unfeasible
             | unbounded
             | optimized
 
- Control_Parameter_Name --> pricing     for MIP problems
+ Control_Parameter_Name --> pricing            for MIP problems
+                        | control_strategy     for PIP problems
+                        | pivot_row_strategy   for PIP problems
 
- Control_Parameter_Value                for MIP problems
+ Control_Parameter_Value
              --> pricing_steepest_edge_float
             | pricing_steepest_edge_exact
-            | pricing_rextbook
+            | pricing_textbook
+            | control_strategy_first
+            | control_strategy_deepest
+            | control_strategy_all
+            | pivot_row_strategy_first
+            | pivot_row_strategy_max_column
 
  Vars_List   --> []    			list of PPL variables
             | [PPL_Var | Vars_List].
@@ -369,6 +389,11 @@ that are included with all instantiations of the Prolog interfaces.
   warranty whatsoever, the C++ compiler used to build the library,
   where to report bugs and where to look for further information.</EM>
 
+<P><CODE> ppl_Coefficient_bits(?Bits) </CODE><BR>
+
+  <EM>Unifies <CODE>Bits</CODE> with the number of bits used to encode a
+  Coefficient in the C++ interface; 0 if unbounded.</EM>
+
 <P><CODE> ppl_Coefficient_is_bounded </CODE><BR>
 
   <EM>Succeeds if and only if the Coefficients in the C++ interface are bounded.</EM>
@@ -435,6 +460,28 @@ that are included with all instantiations of the Prolog interfaces.
 
    <EM>Resets the timeout time so that the computation is not interrupted.</EM>
 
+<P><CODE> ppl_set_deterministic_timeout(+Weight) </CODE><BR>
+
+   <EM>Computations taking exponential time will be interrupted
+   some time after reaching the <CODE>Weight</CODE> complexity threshold.
+   If the computation is interrupted that way, the current timeout
+   exception atom will be thrown.
+   <CODE>Weight</CODE> must be strictly greater than zero.</EM>
+   <P>
+   <EM>NOTE:</EM> This "timeout" checking functionality is said to be
+   <EM>deterministic</EM> because it is not based on actual elapsed time.
+   Its behavior will only depend on (some of the) computations performed
+   in the PPL library and it will be otherwise independent from the
+   computation environment (CPU, operating system, compiler, etc.).
+   The weight mechanism is under alpha testing: client applications
+   should be ready to reconsider the tuning of these weight thresholds
+   when upgrading to newer version of the PPL.
+
+<P><CODE> ppl_reset_deterministic_timeout </CODE><BR>
+
+   <EM>Resets the deterministic timeout so that the computation is not
+   interrupted.</EM>
+
 <P><CODE> ppl_set_rounding_for_PPL </CODE><BR>
 
    <EM>Sets the FPU rounding mode so that the PPL abstractions based on
@@ -452,6 +499,20 @@ that are included with all instantiations of the Prolog interfaces.
   floating point numbers.
   This is performed automatically at finalization-time.</EM>
 
+<P><CODE> ppl_irrational_precision(?Precision) </CODE><BR>
+
+  <EM>Unifies <CODE>Precision</CODE> with the precision parameter for
+  irrational calculations.</EM>
+
+<P><CODE> ppl_set_irrational_precision(+Precision) </CODE><BR>
+
+  <EM>Sets the precision parameter for irrational calculations to
+  <CODE>Precision</CODE>. In the following irrational calculations
+  returning an unbounded rational (e.g., when computing a square root),
+  the lesser between numerator and denominator will be limited to
+  <CODE>2**Precision</CODE>.</EM>
+
+
 \anchor mip_predicates
 <H3> MIP Predicates </H3>
 Here we describe the predicates available for PPL objects
@@ -673,6 +734,244 @@ defining mixed integer (linear) programming problems.
 
 <BR>
 
+\anchor pip_predicates
+<H3> PIP Predicates </H3>
+Here we describe some functions available for PPL objects
+defining parametric integer programming problems.
+
+<P><CODE>
+  ppl_new_PIP_Problem_from_space_dimension(+Dimension_Type, -Handle)
+</CODE><BR>
+
+   <EM>Creates a PIP Problem \f$\mathrm{PIP}\f$ with the
+   feasible region the vector space of dimension <CODE>dimension</CODE>,
+   empty constraint_system and empty set of parametric variables.
+   <CODE>Handle</CODE> is unified with the handle for \f$\mathrm{PIP}\f$.</EM>
+
+<P><CODE>
+  ppl_new_PIP_Problem(+Constraint_System, +Lin_Expr, +Vars_List,
+                      -Handle)
+</CODE><BR>
+
+   <EM>Creates a PIP Problem \f$\mathrm{PIP}\f$ having space
+   dimension <CODE>dimension</CODE>, a feasible region represented by
+   <CODE>constraint_system</CODE> and parametric variables represented
+   by <CODE>Vars_List</CODE>.
+   <CODE>Handle</CODE> is unified with the handle for \f$\mathrm{PIP}\f$.</EM>
+
+<P><CODE>
+  ppl_new_PIP_Problem_from_PIP_Problem(+Handle_1, -Handle_2)
+</CODE><BR>
+   <EM>Creates a PIP Problem \f$\mathrm{PIP}\f$ from the PIP Problem
+   referenced by \c Handle_1.
+   \c Handle_2 is unified with the handle for \f$\mathrm{PIP}\f$.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_swap(+Handle_1, +Handle_2)
+</CODE><BR>
+   <EM>Swaps the PIP Problem referenced by <CODE>Handle_1</CODE>
+   with the one referenced by <CODE>Handle_2</CODE>.</EM>
+
+<P><CODE>
+  ppl_delete_PIP_Problem(+Handle)
+</CODE><BR>
+   <EM>Deletes the PIP Problem referenced by <CODE>Handle</CODE>.
+   After execution,
+   <CODE>Handle</CODE> is no longer a valid handle for a PPL PIP Problem.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_space_dimension(+Handle, ?Dimension_Type)
+</CODE><BR>
+   <EM>Unifies the dimension of the vector space in which the
+   PIP Problem referenced by <CODE>Handle</CODE> is embedded
+   with <CODE>Dimension_Type</CODE>.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_parameter_space_dimensions(+Handle, ?Vars_List)
+</CODE><BR>
+   <EM>Unifies <CODE>Vars_List</CODE> with a list of variables representing
+   the parameter space dimensions of the PIP Problem
+   referenced by <CODE>Handle</CODE>.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_constraints(+Handle, ?Constraint_System)
+</CODE><BR>
+   <EM>Unifies <CODE>Constraint_System</CODE> with a list of
+   the constraints in the constraints system
+   representing the feasible region for the PIP Problem
+   referenced by <CODE>Handle</CODE>.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_clear(+Handle)
+</CODE><BR>
+  <EM>Resets the PIP problem referenced by <CODE>Handle</CODE>
+  to be the trivial problem with
+  the feasible region the \f$0\f$-dimensional universe.</EM>
+
+<P><CODE> ppl_PIP_Problem_add_space_dimensions_and_embed(
+             +Handle, +Dimension_Type1, +Dimension_Type2)
+ </CODE><BR>
+   <EM>Embeds the PIP problem referenced by <CODE>handle</CODE>
+   in a space that is enlarged by <CODE>dimension1</CODE> non-parameter
+   dimensions and <CODE>dimension2</CODE> parameter dimensions.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_add_to_parameter_space_dimensions(+Handle, +Vars_List)
+</CODE><BR>
+   <EM>Updates the PIP Problem referenced by <CODE>Handle</CODE>
+   so that the variables in <CODE>Vars_List</CODE> are added to
+   the set of parameter space dimensions.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_add_constraint(+Handle, +Constraint)
+</CODE><BR>
+   <EM>Updates the PIP Problem referenced by <CODE>Handle</CODE>
+   so that the feasible region is represented by the original constraint
+   system together with the constraint <CODE>Constraint</CODE>.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_add_constraints(+Handle, +Constraint_System)
+</CODE><BR>
+   <EM>Updates the PIP Problem referenced by <CODE>Handle</CODE>
+   so that the feasible region is represented by the original constraint
+   system together with all the constraints in
+   <CODE>Constraint_System</CODE>.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_set_big_parameter_dimension(+Handle, +Dimension_Type)
+</CODE><BR>
+
+   <EM>Updates the PIP Problem referenced by <CODE>Handle</CODE>
+       so that the dimension for the big parameter is \p Dimension_Type.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_has_big_parameter_dimension(+Handle, +Dimension_Type)
+</CODE><BR>
+   <EM>Succeeds if and only if the PIP Problem referenced by
+       <CODE>Handle</CODE> has a dimension \p dim for the big parameter
+       and \p Dimension_Type unifies with \p dim.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_is_satisfiable(+Handle)
+</CODE><BR>
+  <EM>Succeeds if and only if the PIP Problem referenced by
+  <CODE>Handle</CODE> is satisfiable.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_solve(+Handle, ?PIP_Problem_Status)
+</CODE><BR>
+  <EM>Solves the PIP problem  referenced by
+  <CODE>Handle</CODE> and unifies <CODE>PIP_Problem_Status</CODE>
+  with:
+  <CODE>unfeasible</CODE>, if the PIP problem is not satisfiable;
+  <CODE>optimized</CODE>, if the PIP problem admits an optimal solution.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_solution(+Handle1, ?Handle2)
+</CODE><BR>
+  <EM>Solves the PIP problem referenced by <CODE>Handle1</CODE> and
+  creates a PIP tree node \f$\mathrm{Node}\f$ representing this a solution
+  if it exists and bottom otherwise
+  \c Handle_2 is unified with the handle for \f$\mathrm{Sol}\f$.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_optimizing_solution(+Handle, ?PIP_Tree_Node)
+</CODE><BR>
+  <EM>Solves the PIP problem referenced by <CODE>Handle1</CODE> and
+  creates a PIP tree node \f$\mathrm{Node}\f$ representing this an optimizing
+  solution if a solution exists and bottom otherwise
+  \c Handle_2 is unified with the handle for \f$\mathrm{Sol}\f$.</EM>
+
+<P><CODE>ppl_PIP_Problem_ascii_dump(+Handle)</CODE><BR>
+  <EM>Dumps an ascii representation of the PPL internal state for
+  the PIP problem referenced by \c Handle on the standard output.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_OK(+Handle)
+</CODE><BR>
+   <EM>Succeeds only if the PIP Problem referenced by
+   <CODE>Handle</CODE> is well formed, i.e., if it
+   satisfies all its implementation invariants.
+   Useful for debugging purposes.</EM>
+
+<P><CODE>
+  ppl_PIP_Tree_Node_swap(+Handle_1, +Handle_2)
+</CODE><BR>
+   <EM>Swaps the PIP tree node referenced by <CODE>Handle_1</CODE>
+   with the one referenced by <CODE>Handle_2</CODE>.</EM>
+
+<P><CODE>ppl_PIP_Tree_Node_ascii_dump(+Handle)</CODE><BR>
+  <EM>Dumps an ascii representation of the PPL internal state for
+  the PIP tree node referenced by \c Handle on the standard output.</EM>
+
+<P><CODE>
+  ppl_PIP_Tree_Node_OK(+Handle)
+</CODE><BR>
+   <EM>Succeeds only if the PIP tree node referenced by
+   <CODE>Handle</CODE> is well formed, i.e., if it
+   satisfies all its implementation invariants.
+   Useful for debugging purposes.</EM>
+
+<P><CODE>
+  ppl_PIP_Tree_Node_constraints(+Handle, ?Constraint_System)
+</CODE><BR>
+   <EM>Unifies <CODE>Constraint_System</CODE> with a list of
+   the parameter constraints in the PIP tree node
+   referenced by <CODE>Handle</CODE>.</EM>
+
+<P><CODE>
+  ppl_PIP_Tree_Node_artificials(+Handle, ?Artificial_Parameter_List)
+</CODE><BR>
+   <EM>Unifies <CODE>Artificial_Parameter_List</CODE> with a list of
+   the artificial parameters in the PIP tree node
+   referenced by <CODE>Handle</CODE>.</EM>
+
+<P><CODE>
+  ppl_PIP_Tree_Node_is_bottom(+Handle)
+</CODE><BR>
+   <EM>Succeeds if and only if <CODE>handle</CODE> represents bottom.</EM>
+
+<P><CODE>
+  ppl_PIP_Tree_Node_is_decision(+Handle)
+</CODE><BR>
+   <EM>Succeeds if and only if <CODE>handle</CODE> represents
+   a decision node.</EM>
+
+<P><CODE>
+  ppl_PIP_Tree_Node_is_solution(+Handle)
+</CODE><BR>
+   <EM>Succeeds if and only if <CODE>handle</CODE> represents
+   a solution node.</EM>
+
+<P><CODE>
+  ppl_PIP_Tree_Node_parametric_values(+Handle, +Var, ?Lin_Expr)
+</CODE><BR>
+   <EM>Unifies \p Lin_Expr with a linear expression representing
+   the values of problem variable \p Var in the solution node
+   represented by <CODE>Handle</CODE>.
+   The  linear expression may involve problem parameters
+   as well as artificial parameters.</EM>
+
+<P><CODE>
+  ppl_PIP_Tree_Node_true_child(+Handle1, ?Handle2)
+</CODE><BR>
+  <EM>If the PIP_Tree_Node represented by \p Handle1 is a decision node
+   unifies the PIP tree node referenced by <CODE>Handle2</CODE>
+   with the child on the true branch of the
+   PIP tree node represented by <CODE>Handle1</CODE>.
+   An exception is thrown if this is not a decision node.</EM>
+
+<P><CODE>
+  ppl_PIP_Tree_Node_false_child(+Handle1, ?Handle2)
+</CODE><BR>
+  <EM>If the PIP_Tree_Node represented by \p Handle1 is a decision node
+   unifies the PIP tree node referenced by <CODE>Handle2</CODE>
+   with the child on the false branch of the
+   PIP tree node represented by <CODE>Handle1</CODE>.
+   An exception is thrown if this is not a decision node.</EM>
+
+<BR>
+
 \anchor Polyhedron_predicates
 <H1>Predicates for the C Polyhedron Domain</H1>
   Here we provide a short description for each of the predicates
@@ -1696,7 +1995,7 @@ Manual</A>
 
 The SICStus Prolog interface to the PPL is available
 both as a statically linked module or as a dynamically linked one.
-Only SICStus Prolog versions 3.9.0 and later are supported.
+Only SICStus Prolog versions 3.9.1 and later are supported.
 
 <H3>The Statically Linked <CODE>ppl_sicstus</CODE> Executable</H3>
 
diff --git a/interfaces/Prolog/SICStus/Makefile.am b/interfaces/Prolog/SICStus/Makefile.am
index d22889f..06635db 100644
--- a/interfaces/Prolog/SICStus/Makefile.am
+++ b/interfaces/Prolog/SICStus/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -172,7 +172,11 @@ nodist_EXTRA_libppl_sicstus_la_SOURCES = \
 ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc \
 ../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc \
 ../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc \
-../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
+../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc \
+../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc \
+../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc \
+../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc \
+../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
 
 if NO_UNDEFINED
 
diff --git a/interfaces/Prolog/SICStus/Makefile.in b/interfaces/Prolog/SICStus/Makefile.in
index f13b1b5..fe440bf 100644
--- a/interfaces/Prolog/SICStus/Makefile.in
+++ b/interfaces/Prolog/SICStus/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -40,8 +41,9 @@
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -66,6 +68,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -87,23 +90,27 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 LTLIBRARIES = $(noinst_LTLIBRARIES)
 am_libppl_sicstus_la_OBJECTS = sicstus_efli.lo
 nodist_libppl_sicstus_la_OBJECTS = ppl_sicstus_sd.lo \
 	ppl_prolog_common.lo
 libppl_sicstus_la_OBJECTS = $(am_libppl_sicstus_la_OBJECTS) \
 	$(nodist_libppl_sicstus_la_OBJECTS)
-libppl_sicstus_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
-	$(CXXFLAGS) $(libppl_sicstus_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+libppl_sicstus_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(AM_CXXFLAGS) $(CXXFLAGS) $(libppl_sicstus_la_LDFLAGS) \
+	$(LDFLAGS) -o $@
 am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkglibdir)"
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 PROGRAMS = $(bin_PROGRAMS)
 am_ppl_sicstus_OBJECTS =
 ppl_sicstus_OBJECTS = $(am_ppl_sicstus_OBJECTS)
@@ -111,24 +118,45 @@ ppl_sicstus_LDADD = $(LDADD)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_$(V))
+am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+am__v_CXX_0 = @echo "  CXX   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_$(V))
+am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo "  CC    " $@;
 CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo "  CCLD  " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libppl_sicstus_la_SOURCES) \
 	$(nodist_libppl_sicstus_la_SOURCES) \
 	$(nodist_EXTRA_libppl_sicstus_la_SOURCES) \
@@ -139,14 +167,29 @@ am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
     *) f=$$p;; \
   esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-pkglibDATA_INSTALL = $(INSTALL_DATA)
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
 DATA = $(pkglib_DATA)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -193,6 +236,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -210,8 +255,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -219,6 +274,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -235,12 +291,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -283,11 +342,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -317,6 +374,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -324,6 +382,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 SICSTUS_CFLI_FILES = sicstus_cfli.h sicstus_cfli.ic sicstus_cfli.cc
 EXTRA_DIST = \
 ppl_interface_generator_sicstus_sd_cc.m4 \
@@ -440,7 +499,11 @@ nodist_EXTRA_libppl_sicstus_la_SOURCES = \
 ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc \
 ../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc \
 ../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc \
-../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
+../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc \
+../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc \
+../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc \
+../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc \
+../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
 
 @NO_UNDEFINED_TRUE at NO_UNDEFINED_FLAG = -no-undefined
 libppl_sicstus_la_LIBADD = \
@@ -494,14 +557,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  interfaces/Prolog/SICStus/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  interfaces/Prolog/SICStus/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign interfaces/Prolog/SICStus/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign interfaces/Prolog/SICStus/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -519,6 +582,7 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 clean-noinstLTLIBRARIES:
 	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
@@ -529,35 +593,50 @@ clean-noinstLTLIBRARIES:
 	  rm -f "$${dir}/so_locations"; \
 	done
 libppl_sicstus.la: $(libppl_sicstus_la_OBJECTS) $(libppl_sicstus_la_DEPENDENCIES) 
-	$(libppl_sicstus_la_LINK)  $(libppl_sicstus_la_OBJECTS) $(libppl_sicstus_la_LIBADD) $(LIBS)
+	$(AM_V_CXXLD)$(libppl_sicstus_la_LINK)  $(libppl_sicstus_la_OBJECTS) $(libppl_sicstus_la_LIBADD) $(LIBS)
 install-binPROGRAMS: $(bin_PROGRAMS)
 	@$(NORMAL_INSTALL)
 	test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
-	@list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  if test -f $$p \
-	     || test -f $$p1 \
-	  ; then \
-	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
-	   echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
-	   $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
-	  else :; fi; \
-	done
+	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	for p in $$list; do echo "$$p $$p"; done | \
+	sed 's/$(EXEEXT)$$//' | \
+	while read p p1; do if test -f $$p || test -f $$p1; \
+	  then echo "$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+	sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
+	    else { print "f", $$3 "/" $$4, $$1; } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	    test -z "$$files" || { \
+	    echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+	    $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+	    } \
+	; done
 
 uninstall-binPROGRAMS:
 	@$(NORMAL_UNINSTALL)
-	@list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
-	  echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(bindir)/$$f"; \
-	done
+	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+	      -e 's/$$/$(EXEEXT)/' `; \
+	test -n "$$list" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(bindir)" && rm -f $$files
 
 clean-binPROGRAMS:
-	@list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  echo " rm -f $$p $$f"; \
-	  rm -f $$p $$f ; \
-	done
+	@list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -631,6 +710,10 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Polyhedron.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Rational_Box.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Uint16_Box.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Uint32_Box.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Uint64_Box.Plo at am__quote@
@@ -641,529 +724,636 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/sicstus_efli.Plo at am__quote@
 
 .cc.o:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
- at am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
 
 ppl_prolog_common.lo: ../ppl_prolog_common.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_common.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_common.Tpo -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_common.Tpo $(DEPDIR)/ppl_prolog_common.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_common.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_common.Tpo -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_common.Tpo $(DEPDIR)/ppl_prolog_common.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_common.cc' object='ppl_prolog_common.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
 
 ppl_prolog_Int8_Box.lo: ../ppl_prolog_Int8_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int8_Box.Tpo -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Int8_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int8_Box.Tpo -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Int8_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int8_Box.cc' object='ppl_prolog_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
 
 ppl_prolog_Int16_Box.lo: ../ppl_prolog_Int16_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int16_Box.Tpo -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Int16_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int16_Box.Tpo -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Int16_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int16_Box.cc' object='ppl_prolog_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
 
 ppl_prolog_Int32_Box.lo: ../ppl_prolog_Int32_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int32_Box.Tpo -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Int32_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int32_Box.Tpo -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Int32_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int32_Box.cc' object='ppl_prolog_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
 
 ppl_prolog_Int64_Box.lo: ../ppl_prolog_Int64_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int64_Box.Tpo -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Int64_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int64_Box.Tpo -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Int64_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int64_Box.cc' object='ppl_prolog_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
 
 ppl_prolog_Uint8_Box.lo: ../ppl_prolog_Uint8_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Uint8_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Uint8_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint8_Box.cc' object='ppl_prolog_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
 
 ppl_prolog_Uint16_Box.lo: ../ppl_prolog_Uint16_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Uint16_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Uint16_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint16_Box.cc' object='ppl_prolog_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
 
 ppl_prolog_Uint32_Box.lo: ../ppl_prolog_Uint32_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Uint32_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Uint32_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint32_Box.cc' object='ppl_prolog_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
 
 ppl_prolog_Uint64_Box.lo: ../ppl_prolog_Uint64_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Uint64_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Uint64_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint64_Box.cc' object='ppl_prolog_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
 
 ppl_prolog_Float_Box.lo: ../ppl_prolog_Float_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Float_Box.Tpo -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Float_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Float_Box.Tpo -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Float_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Float_Box.cc' object='ppl_prolog_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
 
 ppl_prolog_Double_Box.lo: ../ppl_prolog_Double_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Double_Box.Tpo -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Double_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Double_Box.Tpo -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Double_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Double_Box.cc' object='ppl_prolog_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
 
 ppl_prolog_Long_Double_Box.lo: ../ppl_prolog_Long_Double_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Long_Double_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Long_Double_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Long_Double_Box.cc' object='ppl_prolog_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
 
 ppl_prolog_Rational_Box.lo: ../ppl_prolog_Rational_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Rational_Box.Tpo -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Rational_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Rational_Box.Tpo -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Rational_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Rational_Box.cc' object='ppl_prolog_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
 
 ppl_prolog_Z_Box.lo: ../ppl_prolog_Z_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Z_Box.Tpo -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Z_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Z_Box.Tpo -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Z_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Z_Box.cc' object='ppl_prolog_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
 
 ppl_prolog_BD_Shape_int8_t.lo: ../ppl_prolog_BD_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int8_t.cc' object='ppl_prolog_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
 
 ppl_prolog_BD_Shape_int16_t.lo: ../ppl_prolog_BD_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int16_t.cc' object='ppl_prolog_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
 
 ppl_prolog_BD_Shape_int32_t.lo: ../ppl_prolog_BD_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int32_t.cc' object='ppl_prolog_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
 
 ppl_prolog_BD_Shape_int64_t.lo: ../ppl_prolog_BD_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int64_t.cc' object='ppl_prolog_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
 
 ppl_prolog_BD_Shape_float.lo: ../ppl_prolog_BD_Shape_float.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_float.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_float.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_float.cc' object='ppl_prolog_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
 
 ppl_prolog_BD_Shape_double.lo: ../ppl_prolog_BD_Shape_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_double.cc' object='ppl_prolog_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
 
 ppl_prolog_BD_Shape_long_double.lo: ../ppl_prolog_BD_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_long_double.cc' object='ppl_prolog_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
 
 ppl_prolog_BD_Shape_mpq_class.lo: ../ppl_prolog_BD_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_mpq_class.cc' object='ppl_prolog_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
 
 ppl_prolog_BD_Shape_mpz_class.lo: ../ppl_prolog_BD_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_mpz_class.cc' object='ppl_prolog_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
 
 ppl_prolog_Octagonal_Shape_int8_t.lo: ../ppl_prolog_Octagonal_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
 
 ppl_prolog_Octagonal_Shape_int16_t.lo: ../ppl_prolog_Octagonal_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
 
 ppl_prolog_Octagonal_Shape_int32_t.lo: ../ppl_prolog_Octagonal_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
 
 ppl_prolog_Octagonal_Shape_int64_t.lo: ../ppl_prolog_Octagonal_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
 
 ppl_prolog_Octagonal_Shape_float.lo: ../ppl_prolog_Octagonal_Shape_float.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_float.cc' object='ppl_prolog_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
 
 ppl_prolog_Octagonal_Shape_double.lo: ../ppl_prolog_Octagonal_Shape_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_double.cc' object='ppl_prolog_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
 
 ppl_prolog_Octagonal_Shape_long_double.lo: ../ppl_prolog_Octagonal_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_long_double.cc' object='ppl_prolog_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
 
 ppl_prolog_Octagonal_Shape_mpq_class.lo: ../ppl_prolog_Octagonal_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
 
 ppl_prolog_Octagonal_Shape_mpz_class.lo: ../ppl_prolog_Octagonal_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
 
 ppl_prolog_Polyhedron.lo: ../ppl_prolog_Polyhedron.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Polyhedron.Tpo -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Polyhedron.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Polyhedron.Tpo -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Polyhedron.cc' object='ppl_prolog_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
 
 ppl_prolog_Grid.lo: ../ppl_prolog_Grid.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Grid.Tpo -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Grid.Tpo $(DEPDIR)/ppl_prolog_Grid.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Grid.Tpo -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Grid.Tpo $(DEPDIR)/ppl_prolog_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Grid.cc' object='ppl_prolog_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
 
 ppl_prolog_Pointset_Powerset_Int8_Box.lo: ../ppl_prolog_Pointset_Powerset_Int8_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int8_Box.cc' object='ppl_prolog_Pointset_Powerset_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int16_Box.lo: ../ppl_prolog_Pointset_Powerset_Int16_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int16_Box.cc' object='ppl_prolog_Pointset_Powerset_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int32_Box.lo: ../ppl_prolog_Pointset_Powerset_Int32_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int32_Box.cc' object='ppl_prolog_Pointset_Powerset_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int64_Box.lo: ../ppl_prolog_Pointset_Powerset_Int64_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int64_Box.cc' object='ppl_prolog_Pointset_Powerset_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint8_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint16_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint32_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint64_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
 
 ppl_prolog_Pointset_Powerset_Float_Box.lo: ../ppl_prolog_Pointset_Powerset_Float_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Float_Box.cc' object='ppl_prolog_Pointset_Powerset_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
 
 ppl_prolog_Pointset_Powerset_Double_Box.lo: ../ppl_prolog_Pointset_Powerset_Double_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Double_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Doub [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Double_Box.cc
 
 ppl_prolog_Pointset_Powerset_Long_Double_Box.lo: ../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Long_D [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
 
 ppl_prolog_Pointset_Powerset_Rational_Box.lo: ../ppl_prolog_Pointset_Powerset_Rational_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Rational_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Power [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Rational_Box.cc' object='ppl_prolog_Pointset_Powerset_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Rational_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Rational_Box.cc
 
 ppl_prolog_Pointset_Powerset_Z_Box.lo: ../ppl_prolog_Pointset_Powerset_Z_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Z_Box.cc' object='ppl_prolog_Pointset_Powerset_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Sha [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_float.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Points [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_double.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Sha [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Poin [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Pow [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../p [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Pow [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../p [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_pro [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo ' [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || ec [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || ec [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || ec [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_ [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(sr [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_pro [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo ' [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' || echo '$( [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_ [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/ [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.c [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/ [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.c [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
 
 ppl_prolog_Pointset_Powerset_C_Polyhedron.lo: ../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Power [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
 
 ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo: ../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Points [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
 
 ppl_prolog_Pointset_Powerset_Grid.lo: ../ppl_prolog_Pointset_Powerset_Grid.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Grid.cc' object='ppl_prolog_Pointset_Powerset_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
 
 ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo: ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constrai [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'` [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
 
 ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo: ../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_ [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(sr [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
 
 ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo: ../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constrai [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'` [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
 
 ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo: ../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_ [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(sr [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
+
+ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo: ../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Tpo -c -o ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' | [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc
+
+ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo: ../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Tpo -c -o ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Gr [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc
+
+ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo: ../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Tpo -c -o ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' | [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc
+
+ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo: ../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Tpo -c -o ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedr [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -1173,34 +1363,37 @@ clean-libtool:
 install-pkglibDATA: $(pkglib_DATA)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
-	@list='$(pkglib_DATA)'; for p in $$list; do \
+	@list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \
+	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  f=$(am__strip_dir) \
-	  echo " $(pkglibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkglibdir)/$$f'"; \
-	  $(pkglibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkglibdir)/$$f"; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkglibdir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkglibdir)" || exit $$?; \
 	done
 
 uninstall-pkglibDATA:
 	@$(NORMAL_UNINSTALL)
-	@list='$(pkglib_DATA)'; for p in $$list; do \
-	  f=$(am__strip_dir) \
-	  echo " rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
-	done
+	@list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(pkglibdir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(pkglibdir)" && rm -f $$files
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
@@ -1208,29 +1401,34 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -1251,13 +1449,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -1291,6 +1493,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -1313,6 +1516,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -1321,18 +1526,28 @@ install-data-am: install-data-local
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am: install-binPROGRAMS install-pkglibDATA
 
 install-html: install-html-am
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-am
 
+install-pdf-am:
+
 install-ps: install-ps-am
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -1355,7 +1570,7 @@ ps-am:
 
 uninstall-am: uninstall-binPROGRAMS uninstall-pkglibDATA
 
-.MAKE: install-am install-strip
+.MAKE: check-am install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am check-local clean \
 	clean-binPROGRAMS clean-generic clean-libtool \
@@ -1494,6 +1709,7 @@ $(top_builddir)/src/libppl.la:
 # are actually required.
 @BUILD_WATCHDOG_LIBRARY_TRUE@$(top_builddir)/Watchdog/src/libpwl.la:
 @BUILD_WATCHDOG_LIBRARY_TRUE@	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/Watchdog/src libpwl.la
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4 b/interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
index 25e32ab..608ca4f 100644
--- a/interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
+++ b/interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
@@ -3,7 +3,7 @@ m4_divert(-1)
 
 dnl This m4 file generates the file ppl_sicstus_sd.cc.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -139,6 +139,63 @@ sp_stub_##name(Prolog_term_ref goal, void*) { \
   return name(arg1, arg2, arg3, arg4, arg5, arg6); \
 }
 
+#define SP_STUB_7(name) \
+extern "C" Prolog_foreign_return_type \
+sp_stub_##name(Prolog_term_ref goal, void*) { \
+  Prolog_term_ref arg1 = Prolog_new_term_ref(); \
+  if (!Prolog_get_arg(1, goal, arg1)) \
+    return PROLOG_FAILURE; \
+  Prolog_term_ref arg2 = Prolog_new_term_ref(); \
+  if (!Prolog_get_arg(2, goal, arg2)) \
+    return PROLOG_FAILURE; \
+  Prolog_term_ref arg3 = Prolog_new_term_ref(); \
+  if (!Prolog_get_arg(3, goal, arg3)) \
+    return PROLOG_FAILURE; \
+  Prolog_term_ref arg4 = Prolog_new_term_ref(); \
+  if (!Prolog_get_arg(4, goal, arg4)) \
+    return PROLOG_FAILURE; \
+  Prolog_term_ref arg5 = Prolog_new_term_ref(); \
+  if (!Prolog_get_arg(5, goal, arg5)) \
+    return PROLOG_FAILURE; \
+  Prolog_term_ref arg6 = Prolog_new_term_ref(); \
+  if (!Prolog_get_arg(6, goal, arg6)) \
+    return PROLOG_FAILURE; \
+  Prolog_term_ref arg7 = Prolog_new_term_ref(); \
+  if (!Prolog_get_arg(7, goal, arg7)) \
+    return PROLOG_FAILURE; \
+  return name(arg1, arg2, arg3, arg4, arg5, arg6, arg7); \
+}
+
+#define SP_STUB_8(name) \
+extern "C" Prolog_foreign_return_type \
+sp_stub_##name(Prolog_term_ref goal, void*) { \
+  Prolog_term_ref arg1 = Prolog_new_term_ref(); \
+  if (!Prolog_get_arg(1, goal, arg1)) \
+    return PROLOG_FAILURE; \
+  Prolog_term_ref arg2 = Prolog_new_term_ref(); \
+  if (!Prolog_get_arg(2, goal, arg2)) \
+    return PROLOG_FAILURE; \
+  Prolog_term_ref arg3 = Prolog_new_term_ref(); \
+  if (!Prolog_get_arg(3, goal, arg3)) \
+    return PROLOG_FAILURE; \
+  Prolog_term_ref arg4 = Prolog_new_term_ref(); \
+  if (!Prolog_get_arg(4, goal, arg4)) \
+    return PROLOG_FAILURE; \
+  Prolog_term_ref arg5 = Prolog_new_term_ref(); \
+  if (!Prolog_get_arg(5, goal, arg5)) \
+    return PROLOG_FAILURE; \
+  Prolog_term_ref arg6 = Prolog_new_term_ref(); \
+  if (!Prolog_get_arg(6, goal, arg6)) \
+    return PROLOG_FAILURE; \
+  Prolog_term_ref arg7 = Prolog_new_term_ref(); \
+  if (!Prolog_get_arg(7, goal, arg7)) \
+    return PROLOG_FAILURE; \
+  Prolog_term_ref arg8 = Prolog_new_term_ref(); \
+  if (!Prolog_get_arg(8, goal, arg8)) \
+    return PROLOG_FAILURE; \
+  return name(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); \
+}
+
 m4_divert(1)
 #define SP_DEFINE_C_PREDICATE(name, arity) \
   SP_define_c_predicate(#name, arity, "user", sp_stub_##name, NULL)
diff --git a/interfaces/Prolog/SICStus/ppl_prolog_sysdep.hh b/interfaces/Prolog/SICStus/ppl_prolog_sysdep.hh
index 6d7f7ca..ba25b3e 100644
--- a/interfaces/Prolog/SICStus/ppl_prolog_sysdep.hh
+++ b/interfaces/Prolog/SICStus/ppl_prolog_sysdep.hh
@@ -1,5 +1,5 @@
 /* System-dependent part of the Prolog interfaces: stub for SICStus Prolog.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SICStus/ppl_sicstus.pl b/interfaces/Prolog/SICStus/ppl_sicstus.pl
index 5f7e7dc..e8e565d 100644
--- a/interfaces/Prolog/SICStus/ppl_sicstus.pl
+++ b/interfaces/Prolog/SICStus/ppl_sicstus.pl
@@ -1,5 +1,5 @@
 /* Loader for the SICStus Prolog interface.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SICStus/sicstus_cfli.cc b/interfaces/Prolog/SICStus/sicstus_cfli.cc
index 8954a0c..9aac0d8 100644
--- a/interfaces/Prolog/SICStus/sicstus_cfli.cc
+++ b/interfaces/Prolog/SICStus/sicstus_cfli.cc
@@ -1,5 +1,5 @@
 /* SICStus Prolog Common Foreign Language Interface: implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SICStus/sicstus_cfli.h b/interfaces/Prolog/SICStus/sicstus_cfli.h
index 7e27110..04f0187 100644
--- a/interfaces/Prolog/SICStus/sicstus_cfli.h
+++ b/interfaces/Prolog/SICStus/sicstus_cfli.h
@@ -1,5 +1,5 @@
 /* SICStus Prolog Common Foreign Language Interface: declarations.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SICStus/sicstus_cfli.ic b/interfaces/Prolog/SICStus/sicstus_cfli.ic
index e77336d..73543e1 100644
--- a/interfaces/Prolog/SICStus/sicstus_cfli.ic
+++ b/interfaces/Prolog/SICStus/sicstus_cfli.ic
@@ -1,5 +1,5 @@
 /* SICStus Common Foreign Language Interface: definitions. -*- C -*-
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SICStus/sicstus_efli.cc b/interfaces/Prolog/SICStus/sicstus_efli.cc
index 0a111fe..4f06a7b 100644
--- a/interfaces/Prolog/SICStus/sicstus_efli.cc
+++ b/interfaces/Prolog/SICStus/sicstus_efli.cc
@@ -1,5 +1,5 @@
 /* SICStus Prolog extended foreign language interface: definitions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -74,7 +74,8 @@ Prolog_get_Coefficient(Prolog_term_ref t, Coefficient& n) {
 int
 Prolog_put_Coefficient(Prolog_term_ref t, const Coefficient& n) {
   long l = 0;
-  if (assign_r(l, n, ROUND_NOT_NEEDED) == V_EQ)
+  Result r = assign_r(l, n, ROUND_IGNORE);
+  if (!result_overflow(r))
     return SP_put_integer(t, l);
   else {
     std::ostringstream s;
diff --git a/interfaces/Prolog/SICStus/sicstus_efli.hh b/interfaces/Prolog/SICStus/sicstus_efli.hh
index 0ad66a5..72499e1 100644
--- a/interfaces/Prolog/SICStus/sicstus_efli.hh
+++ b/interfaces/Prolog/SICStus/sicstus_efli.hh
@@ -1,5 +1,5 @@
 /* SICStus Prolog extended foreign language interface: declarations.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SICStus/sp_clpq.pl b/interfaces/Prolog/SICStus/sp_clpq.pl
index e5bb409..9d24fab 100644
--- a/interfaces/Prolog/SICStus/sp_clpq.pl
+++ b/interfaces/Prolog/SICStus/sp_clpq.pl
@@ -1,5 +1,5 @@
 /* Main program for the toy PPL/SICStus-Prolog CLP(Q) interpreter.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SICStus/sp_pl_check.pl b/interfaces/Prolog/SICStus/sp_pl_check.pl
index 38e4cc1..c419480 100644
--- a/interfaces/Prolog/SICStus/sp_pl_check.pl
+++ b/interfaces/Prolog/SICStus/sp_pl_check.pl
@@ -1,5 +1,5 @@
 /* Main program for the toy PPL/SICStus-Prolog CLP(Q) predicate checker.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SICStus/sp_prolog_generated_test.pl b/interfaces/Prolog/SICStus/sp_prolog_generated_test.pl
index ff8e5da..dbb833f 100644
--- a/interfaces/Prolog/SICStus/sp_prolog_generated_test.pl
+++ b/interfaces/Prolog/SICStus/sp_prolog_generated_test.pl
@@ -1,5 +1,5 @@
 /* Main program for the PPL/SICStus-Prolog generated tests.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SWI/Makefile.am b/interfaces/Prolog/SWI/Makefile.am
index cd4d8fb..6ad3907 100644
--- a/interfaces/Prolog/SWI/Makefile.am
+++ b/interfaces/Prolog/SWI/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -159,7 +159,11 @@ nodist_EXTRA_libppl_swiprolog_la_SOURCES = \
 ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc \
 ../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc \
 ../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc \
-../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
+../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc \
+../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc \
+../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc \
+../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc \
+../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
 
 if NO_UNDEFINED
 
@@ -206,9 +210,9 @@ pl_clpq2_SOURCES = pl_clpq.cc
 
 if HOST_OS_CYGWIN
 
-# Under Cygwin, plld gets the link options wrong: -lpl (PLLIB)
-# comes before -lppl_swiprolog, with the result that all the
-# symbols of the SWI-Prolog foreign interface are undefined.
+# Under Cygwin, $(SWI_PROLOG_LD) gets the link options wrong:
+# -lpl (PLLIB) comes before -lppl_swiprolog, with the result that all
+# the symbols of the SWI-Prolog foreign interface are undefined.
 # Repeating the link options works around this problem.
 EXTRA_LINK_OPTIONS = $(SWI_PROLOG_LD_OPTIONS)
 
@@ -229,14 +233,14 @@ LIBPPL_SWIPROLOG_LINK_OPTIONS = -L.libs -lppl_swiprolog
 endif !ENABLE_STATIC
 
 ppl_pl$(EXEEXT): libppl_swiprolog.la ppl_pl.o
-	plld -pl $(SWI_PROLOG) -cc $(CC) -c++ $(CXX) -ld $(CXX) \
+	$(SWI_PROLOG_LD) -pl $(SWI_PROLOG) -cc $(CC) -c++ $(CXX) -ld $(CXX) \
 		-ld-options`echo '' $(AM_CXXFLAGS) $(CXXFLAGS) | tr " " "/"` \
 		-o $@ $(LIBPPL_SWIPROLOG_LINK_OPTIONS) ppl_pl.o \
 		-L$(top_builddir)/src/.libs \
 		-lppl $(WATCHDOG_LINK_OPTIONS) @extra_libraries@ $(EXTRA_LINK_OPTIONS)
 
 pl_clpq$(EXEEXT): libppl_swiprolog.la pl_clpq.o pl_clpq.pl ../tests/clpq.pl
-	plld -pl $(SWI_PROLOG) -cc $(CC) -c++ $(CXX) -ld $(CXX) \
+	$(SWI_PROLOG_LD) -pl $(SWI_PROLOG) -cc $(CC) -c++ $(CXX) -ld $(CXX) \
 		-ld-options`echo '' $(AM_CXXFLAGS) $(CXXFLAGS) | tr " " "/"` \
 		-o $@ $(LIBPPL_SWIPROLOG_LINK_OPTIONS) pl_clpq.o \
                 $(srcdir)/pl_clpq.pl $(srcdir)/../tests/clpq.pl \
@@ -245,7 +249,7 @@ pl_clpq$(EXEEXT): libppl_swiprolog.la pl_clpq.o pl_clpq.pl ../tests/clpq.pl
 
 
 pl_clpq2$(EXEEXT): libppl_swiprolog.la pl_clpq.o pl_clpq.pl ../tests/clpq2.pl
-	plld -pl $(SWI_PROLOG) -cc $(CC) -c++ $(CXX) -ld $(CXX) \
+	$(SWI_PROLOG_LD) -pl $(SWI_PROLOG) -cc $(CC) -c++ $(CXX) -ld $(CXX) \
 		-ld-options`echo '' $(AM_CXXFLAGS) $(CXXFLAGS) | tr " " "/"` \
 		-o $@ $(LIBPPL_SWIPROLOG_LINK_OPTIONS) pl_clpq.o \
                 $(srcdir)/pl_clpq.pl $(srcdir)/../tests/clpq2.pl \
diff --git a/interfaces/Prolog/SWI/Makefile.in b/interfaces/Prolog/SWI/Makefile.in
index 257661c..101e3a5 100644
--- a/interfaces/Prolog/SWI/Makefile.in
+++ b/interfaces/Prolog/SWI/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -40,8 +41,9 @@
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -67,6 +69,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -88,31 +91,49 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
     *) f=$$p;; \
   esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
 am__installdirs = "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(bindir)" \
 	"$(DESTDIR)$(pkglibdir)"
-pkglibLTLIBRARIES_INSTALL = $(INSTALL)
 LTLIBRARIES = $(pkglib_LTLIBRARIES)
 am_libppl_swiprolog_la_OBJECTS = swi_efli.lo
 nodist_libppl_swiprolog_la_OBJECTS = ppl_swiprolog.lo \
 	ppl_prolog_common.lo
 libppl_swiprolog_la_OBJECTS = $(am_libppl_swiprolog_la_OBJECTS) \
 	$(nodist_libppl_swiprolog_la_OBJECTS)
-libppl_swiprolog_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
-	$(CXXFLAGS) $(libppl_swiprolog_la_LDFLAGS) $(LDFLAGS) -o $@
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+libppl_swiprolog_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(AM_CXXFLAGS) $(CXXFLAGS) $(libppl_swiprolog_la_LDFLAGS) \
+	$(LDFLAGS) -o $@
 PROGRAMS = $(bin_PROGRAMS)
 am_pl_clpq_OBJECTS = pl_clpq.$(OBJEXT)
 pl_clpq_OBJECTS = $(am_pl_clpq_OBJECTS)
@@ -126,37 +147,58 @@ ppl_pl_LDADD = $(LDADD)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_$(V))
+am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+am__v_CXX_0 = @echo "  CXX   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_$(V))
+am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo "  CC    " $@;
 CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo "  CCLD  " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libppl_swiprolog_la_SOURCES) \
 	$(nodist_libppl_swiprolog_la_SOURCES) \
 	$(nodist_EXTRA_libppl_swiprolog_la_SOURCES) $(pl_clpq_SOURCES) \
 	$(pl_clpq2_SOURCES) $(ppl_pl_SOURCES)
 DIST_SOURCES = $(libppl_swiprolog_la_SOURCES) $(pl_clpq_SOURCES) \
 	$(pl_clpq2_SOURCES) $(ppl_pl_SOURCES)
-pkglibDATA_INSTALL = $(INSTALL_DATA)
 DATA = $(pkglib_DATA)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -203,6 +245,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -220,8 +264,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -229,6 +283,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -245,12 +300,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -293,11 +351,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -327,6 +383,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -334,6 +391,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 @VALGRIND_TESTS_ENABLED_FALSE at CHECKER = 
 @VALGRIND_TESTS_ENABLED_TRUE at CHECKER = \
 @VALGRIND_TESTS_ENABLED_TRUE@$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
@@ -455,7 +513,11 @@ nodist_EXTRA_libppl_swiprolog_la_SOURCES = \
 ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc \
 ../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc \
 ../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc \
-../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
+../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc \
+../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc \
+../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc \
+../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc \
+../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
 
 @NO_UNDEFINED_TRUE at NO_UNDEFINED_FLAG = -no-undefined
 libppl_swiprolog_la_LIBADD = \
@@ -490,9 +552,9 @@ CLPQ_TESTS = $(CLPQ_TESTS_NONSTRICT) $(CLPQ_TESTS_STRICT)
 pl_clpq_SOURCES = pl_clpq.cc
 pl_clpq2_SOURCES = pl_clpq.cc
 
-# Under Cygwin, plld gets the link options wrong: -lpl (PLLIB)
-# comes before -lppl_swiprolog, with the result that all the
-# symbols of the SWI-Prolog foreign interface are undefined.
+# Under Cygwin, $(SWI_PROLOG_LD) gets the link options wrong:
+# -lpl (PLLIB) comes before -lppl_swiprolog, with the result that all
+# the symbols of the SWI-Prolog foreign interface are undefined.
 # Repeating the link options works around this problem.
 @HOST_OS_CYGWIN_TRUE at EXTRA_LINK_OPTIONS = $(SWI_PROLOG_LD_OPTIONS)
 @ENABLE_STATIC_FALSE at LIBPPL_SWIPROLOG_LINK_OPTIONS = -L.libs -lppl_swiprolog
@@ -527,14 +589,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  interfaces/Prolog/SWI/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  interfaces/Prolog/SWI/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign interfaces/Prolog/SWI/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign interfaces/Prolog/SWI/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -552,23 +614,28 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
-	@list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
+	@list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+	list2=; for p in $$list; do \
 	  if test -f $$p; then \
-	    f=$(am__strip_dir) \
-	    echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(pkglibdir)/$$f'"; \
-	    $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(pkglibdir)/$$f"; \
+	    list2="$$list2 $$p"; \
 	  else :; fi; \
-	done
+	done; \
+	test -z "$$list2" || { \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \
+	}
 
 uninstall-pkglibLTLIBRARIES:
 	@$(NORMAL_UNINSTALL)
-	@list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
-	  p=$(am__strip_dir) \
-	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$p'"; \
-	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$p"; \
+	@list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+	for p in $$list; do \
+	  $(am__strip_dir) \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
 	done
 
 clean-pkglibLTLIBRARIES:
@@ -580,42 +647,59 @@ clean-pkglibLTLIBRARIES:
 	  rm -f "$${dir}/so_locations"; \
 	done
 libppl_swiprolog.la: $(libppl_swiprolog_la_OBJECTS) $(libppl_swiprolog_la_DEPENDENCIES) 
-	$(libppl_swiprolog_la_LINK) -rpath $(pkglibdir) $(libppl_swiprolog_la_OBJECTS) $(libppl_swiprolog_la_LIBADD) $(LIBS)
+	$(AM_V_CXXLD)$(libppl_swiprolog_la_LINK) -rpath $(pkglibdir) $(libppl_swiprolog_la_OBJECTS) $(libppl_swiprolog_la_LIBADD) $(LIBS)
 install-binPROGRAMS: $(bin_PROGRAMS)
 	@$(NORMAL_INSTALL)
 	test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
-	@list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  if test -f $$p \
-	     || test -f $$p1 \
-	  ; then \
-	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
-	   echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
-	   $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
-	  else :; fi; \
-	done
+	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	for p in $$list; do echo "$$p $$p"; done | \
+	sed 's/$(EXEEXT)$$//' | \
+	while read p p1; do if test -f $$p || test -f $$p1; \
+	  then echo "$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+	sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
+	    else { print "f", $$3 "/" $$4, $$1; } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	    test -z "$$files" || { \
+	    echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+	    $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+	    } \
+	; done
 
 uninstall-binPROGRAMS:
 	@$(NORMAL_UNINSTALL)
-	@list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
-	  echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(bindir)/$$f"; \
-	done
+	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+	      -e 's/$$/$(EXEEXT)/' `; \
+	test -n "$$list" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(bindir)" && rm -f $$files
 
 clean-binPROGRAMS:
-	@list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  echo " rm -f $$p $$f"; \
-	  rm -f $$p $$f ; \
-	done
+	@list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
 
 clean-checkPROGRAMS:
-	@list='$(check_PROGRAMS)'; for p in $$list; do \
-	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  echo " rm -f $$p $$f"; \
-	  rm -f $$p $$f ; \
-	done
+	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -691,6 +775,10 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Polyhedron.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Rational_Box.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Uint16_Box.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Uint32_Box.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Uint64_Box.Plo at am__quote@
@@ -701,529 +789,636 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/swi_efli.Plo at am__quote@
 
 .cc.o:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
- at am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
 
 ppl_prolog_common.lo: ../ppl_prolog_common.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_common.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_common.Tpo -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_common.Tpo $(DEPDIR)/ppl_prolog_common.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_common.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_common.Tpo -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_common.Tpo $(DEPDIR)/ppl_prolog_common.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_common.cc' object='ppl_prolog_common.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
 
 ppl_prolog_Int8_Box.lo: ../ppl_prolog_Int8_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int8_Box.Tpo -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Int8_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int8_Box.Tpo -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Int8_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int8_Box.cc' object='ppl_prolog_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
 
 ppl_prolog_Int16_Box.lo: ../ppl_prolog_Int16_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int16_Box.Tpo -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Int16_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int16_Box.Tpo -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Int16_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int16_Box.cc' object='ppl_prolog_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
 
 ppl_prolog_Int32_Box.lo: ../ppl_prolog_Int32_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int32_Box.Tpo -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Int32_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int32_Box.Tpo -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Int32_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int32_Box.cc' object='ppl_prolog_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
 
 ppl_prolog_Int64_Box.lo: ../ppl_prolog_Int64_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int64_Box.Tpo -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Int64_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int64_Box.Tpo -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Int64_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int64_Box.cc' object='ppl_prolog_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
 
 ppl_prolog_Uint8_Box.lo: ../ppl_prolog_Uint8_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Uint8_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Uint8_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint8_Box.cc' object='ppl_prolog_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
 
 ppl_prolog_Uint16_Box.lo: ../ppl_prolog_Uint16_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Uint16_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Uint16_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint16_Box.cc' object='ppl_prolog_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
 
 ppl_prolog_Uint32_Box.lo: ../ppl_prolog_Uint32_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Uint32_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Uint32_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint32_Box.cc' object='ppl_prolog_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
 
 ppl_prolog_Uint64_Box.lo: ../ppl_prolog_Uint64_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Uint64_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Uint64_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint64_Box.cc' object='ppl_prolog_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
 
 ppl_prolog_Float_Box.lo: ../ppl_prolog_Float_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Float_Box.Tpo -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Float_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Float_Box.Tpo -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Float_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Float_Box.cc' object='ppl_prolog_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
 
 ppl_prolog_Double_Box.lo: ../ppl_prolog_Double_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Double_Box.Tpo -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Double_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Double_Box.Tpo -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Double_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Double_Box.cc' object='ppl_prolog_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
 
 ppl_prolog_Long_Double_Box.lo: ../ppl_prolog_Long_Double_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Long_Double_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Long_Double_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Long_Double_Box.cc' object='ppl_prolog_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
 
 ppl_prolog_Rational_Box.lo: ../ppl_prolog_Rational_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Rational_Box.Tpo -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Rational_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Rational_Box.Tpo -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Rational_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Rational_Box.cc' object='ppl_prolog_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
 
 ppl_prolog_Z_Box.lo: ../ppl_prolog_Z_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Z_Box.Tpo -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Z_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Z_Box.Tpo -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Z_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Z_Box.cc' object='ppl_prolog_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
 
 ppl_prolog_BD_Shape_int8_t.lo: ../ppl_prolog_BD_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int8_t.cc' object='ppl_prolog_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
 
 ppl_prolog_BD_Shape_int16_t.lo: ../ppl_prolog_BD_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int16_t.cc' object='ppl_prolog_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
 
 ppl_prolog_BD_Shape_int32_t.lo: ../ppl_prolog_BD_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int32_t.cc' object='ppl_prolog_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
 
 ppl_prolog_BD_Shape_int64_t.lo: ../ppl_prolog_BD_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int64_t.cc' object='ppl_prolog_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
 
 ppl_prolog_BD_Shape_float.lo: ../ppl_prolog_BD_Shape_float.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_float.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_float.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_float.cc' object='ppl_prolog_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
 
 ppl_prolog_BD_Shape_double.lo: ../ppl_prolog_BD_Shape_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_double.cc' object='ppl_prolog_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
 
 ppl_prolog_BD_Shape_long_double.lo: ../ppl_prolog_BD_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_long_double.cc' object='ppl_prolog_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
 
 ppl_prolog_BD_Shape_mpq_class.lo: ../ppl_prolog_BD_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_mpq_class.cc' object='ppl_prolog_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
 
 ppl_prolog_BD_Shape_mpz_class.lo: ../ppl_prolog_BD_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_mpz_class.cc' object='ppl_prolog_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
 
 ppl_prolog_Octagonal_Shape_int8_t.lo: ../ppl_prolog_Octagonal_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
 
 ppl_prolog_Octagonal_Shape_int16_t.lo: ../ppl_prolog_Octagonal_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
 
 ppl_prolog_Octagonal_Shape_int32_t.lo: ../ppl_prolog_Octagonal_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
 
 ppl_prolog_Octagonal_Shape_int64_t.lo: ../ppl_prolog_Octagonal_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
 
 ppl_prolog_Octagonal_Shape_float.lo: ../ppl_prolog_Octagonal_Shape_float.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_float.cc' object='ppl_prolog_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
 
 ppl_prolog_Octagonal_Shape_double.lo: ../ppl_prolog_Octagonal_Shape_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_double.cc' object='ppl_prolog_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
 
 ppl_prolog_Octagonal_Shape_long_double.lo: ../ppl_prolog_Octagonal_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_long_double.cc' object='ppl_prolog_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
 
 ppl_prolog_Octagonal_Shape_mpq_class.lo: ../ppl_prolog_Octagonal_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
 
 ppl_prolog_Octagonal_Shape_mpz_class.lo: ../ppl_prolog_Octagonal_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
 
 ppl_prolog_Polyhedron.lo: ../ppl_prolog_Polyhedron.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Polyhedron.Tpo -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Polyhedron.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Polyhedron.Tpo -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Polyhedron.cc' object='ppl_prolog_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
 
 ppl_prolog_Grid.lo: ../ppl_prolog_Grid.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Grid.Tpo -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Grid.Tpo $(DEPDIR)/ppl_prolog_Grid.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Grid.Tpo -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Grid.Tpo $(DEPDIR)/ppl_prolog_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Grid.cc' object='ppl_prolog_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
 
 ppl_prolog_Pointset_Powerset_Int8_Box.lo: ../ppl_prolog_Pointset_Powerset_Int8_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int8_Box.cc' object='ppl_prolog_Pointset_Powerset_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int16_Box.lo: ../ppl_prolog_Pointset_Powerset_Int16_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int16_Box.cc' object='ppl_prolog_Pointset_Powerset_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int32_Box.lo: ../ppl_prolog_Pointset_Powerset_Int32_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int32_Box.cc' object='ppl_prolog_Pointset_Powerset_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int64_Box.lo: ../ppl_prolog_Pointset_Powerset_Int64_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int64_Box.cc' object='ppl_prolog_Pointset_Powerset_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint8_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint16_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint32_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint64_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
 
 ppl_prolog_Pointset_Powerset_Float_Box.lo: ../ppl_prolog_Pointset_Powerset_Float_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Float_Box.cc' object='ppl_prolog_Pointset_Powerset_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
 
 ppl_prolog_Pointset_Powerset_Double_Box.lo: ../ppl_prolog_Pointset_Powerset_Double_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Double_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Doub [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Double_Box.cc
 
 ppl_prolog_Pointset_Powerset_Long_Double_Box.lo: ../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Long_D [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
 
 ppl_prolog_Pointset_Powerset_Rational_Box.lo: ../ppl_prolog_Pointset_Powerset_Rational_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Rational_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Power [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Rational_Box.cc' object='ppl_prolog_Pointset_Powerset_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Rational_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Rational_Box.cc
 
 ppl_prolog_Pointset_Powerset_Z_Box.lo: ../ppl_prolog_Pointset_Powerset_Z_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Z_Box.cc' object='ppl_prolog_Pointset_Powerset_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Sha [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_float.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Points [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_double.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Sha [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Poin [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Pow [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../p [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Pow [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../p [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_pro [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo ' [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || ec [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || ec [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || ec [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_ [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(sr [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_pro [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo ' [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' || echo '$( [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_ [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/ [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.c [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/ [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.c [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
 
 ppl_prolog_Pointset_Powerset_C_Polyhedron.lo: ../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Power [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
 
 ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo: ../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Points [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
 
 ppl_prolog_Pointset_Powerset_Grid.lo: ../ppl_prolog_Pointset_Powerset_Grid.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Grid.cc' object='ppl_prolog_Pointset_Powerset_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
 
 ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo: ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constrai [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'` [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
 
 ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo: ../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_ [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(sr [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
 
 ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo: ../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constrai [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'` [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
 
 ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo: ../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_ [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(sr [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
+
+ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo: ../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Tpo -c -o ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' | [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc
+
+ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo: ../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Tpo -c -o ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Gr [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc
+
+ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo: ../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Tpo -c -o ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' | [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc
+
+ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo: ../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Tpo -c -o ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedr [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -1233,34 +1428,37 @@ clean-libtool:
 install-pkglibDATA: $(pkglib_DATA)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
-	@list='$(pkglib_DATA)'; for p in $$list; do \
+	@list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \
+	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  f=$(am__strip_dir) \
-	  echo " $(pkglibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkglibdir)/$$f'"; \
-	  $(pkglibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkglibdir)/$$f"; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkglibdir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkglibdir)" || exit $$?; \
 	done
 
 uninstall-pkglibDATA:
 	@$(NORMAL_UNINSTALL)
-	@list='$(pkglib_DATA)'; for p in $$list; do \
-	  f=$(am__strip_dir) \
-	  echo " rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
-	done
+	@list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(pkglibdir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(pkglibdir)" && rm -f $$files
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
@@ -1268,29 +1466,34 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -1311,13 +1514,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -1352,6 +1559,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -1373,6 +1581,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -1381,19 +1591,29 @@ install-data-am:
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am: install-binPROGRAMS install-pkglibDATA \
 	install-pkglibLTLIBRARIES
 
 install-html: install-html-am
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-am
 
+install-pdf-am:
+
 install-ps: install-ps-am
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -1417,7 +1637,7 @@ ps-am:
 uninstall-am: uninstall-binPROGRAMS uninstall-pkglibDATA \
 	uninstall-pkglibLTLIBRARIES
 
-.MAKE: install-am install-strip
+.MAKE: check-am install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am check-local clean \
 	clean-binPROGRAMS clean-checkPROGRAMS clean-generic \
@@ -1442,14 +1662,14 @@ ppl_swiprolog.cc: $(interface_generator_dependencies)
            $(srcdir)/ppl_interface_generator_swiprolog_cc.m4 > $@
 
 ppl_pl$(EXEEXT): libppl_swiprolog.la ppl_pl.o
-	plld -pl $(SWI_PROLOG) -cc $(CC) -c++ $(CXX) -ld $(CXX) \
+	$(SWI_PROLOG_LD) -pl $(SWI_PROLOG) -cc $(CC) -c++ $(CXX) -ld $(CXX) \
 		-ld-options`echo '' $(AM_CXXFLAGS) $(CXXFLAGS) | tr " " "/"` \
 		-o $@ $(LIBPPL_SWIPROLOG_LINK_OPTIONS) ppl_pl.o \
 		-L$(top_builddir)/src/.libs \
 		-lppl $(WATCHDOG_LINK_OPTIONS) @extra_libraries@ $(EXTRA_LINK_OPTIONS)
 
 pl_clpq$(EXEEXT): libppl_swiprolog.la pl_clpq.o pl_clpq.pl ../tests/clpq.pl
-	plld -pl $(SWI_PROLOG) -cc $(CC) -c++ $(CXX) -ld $(CXX) \
+	$(SWI_PROLOG_LD) -pl $(SWI_PROLOG) -cc $(CC) -c++ $(CXX) -ld $(CXX) \
 		-ld-options`echo '' $(AM_CXXFLAGS) $(CXXFLAGS) | tr " " "/"` \
 		-o $@ $(LIBPPL_SWIPROLOG_LINK_OPTIONS) pl_clpq.o \
                 $(srcdir)/pl_clpq.pl $(srcdir)/../tests/clpq.pl \
@@ -1457,7 +1677,7 @@ pl_clpq$(EXEEXT): libppl_swiprolog.la pl_clpq.o pl_clpq.pl ../tests/clpq.pl
 		-lppl $(WATCHDOG_LINK_OPTIONS) @extra_libraries@ $(EXTRA_LINK_OPTIONS)
 
 pl_clpq2$(EXEEXT): libppl_swiprolog.la pl_clpq.o pl_clpq.pl ../tests/clpq2.pl
-	plld -pl $(SWI_PROLOG) -cc $(CC) -c++ $(CXX) -ld $(CXX) \
+	$(SWI_PROLOG_LD) -pl $(SWI_PROLOG) -cc $(CC) -c++ $(CXX) -ld $(CXX) \
 		-ld-options`echo '' $(AM_CXXFLAGS) $(CXXFLAGS) | tr " " "/"` \
 		-o $@ $(LIBPPL_SWIPROLOG_LINK_OPTIONS) pl_clpq.o \
                 $(srcdir)/pl_clpq.pl $(srcdir)/../tests/clpq2.pl \
@@ -1525,6 +1745,7 @@ $(top_builddir)/interfaces/ppl_interface_instantiations.m4:
 # makefile.
 $(nodist_EXTRA_libppl_swiprolog_la_SOURCES):
 ../tests/ppl_prolog_generated_test_main.pl:
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/interfaces/Prolog/SWI/pl_clpq.cc b/interfaces/Prolog/SWI/pl_clpq.cc
index f9bbc3f..466dd03 100644
--- a/interfaces/Prolog/SWI/pl_clpq.cc
+++ b/interfaces/Prolog/SWI/pl_clpq.cc
@@ -1,5 +1,5 @@
 /* C++ main program for the toy PPL/SWI-Prolog CLP(Q) interpreter.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SWI/pl_clpq.pl b/interfaces/Prolog/SWI/pl_clpq.pl
index c4c0d4a..7be834f 100644
--- a/interfaces/Prolog/SWI/pl_clpq.pl
+++ b/interfaces/Prolog/SWI/pl_clpq.pl
@@ -1,5 +1,5 @@
 /* Prolog main program for the toy PPL/SWI-Prolog CLP(Q) interpreter.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4 b/interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
index 2136949..3ad4f45 100644
--- a/interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
+++ b/interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
@@ -2,7 +2,7 @@ m4_define(`dnl', `m4_dnl')`'dnl
 m4_divert(-1)
 
 dnl This m4 file generates the file ppl_swiprolog.cc.
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/interfaces/Prolog/SWI/ppl_pl.cc b/interfaces/Prolog/SWI/ppl_pl.cc
index ec63b4a..6b82671 100644
--- a/interfaces/Prolog/SWI/ppl_pl.cc
+++ b/interfaces/Prolog/SWI/ppl_pl.cc
@@ -1,5 +1,5 @@
 /* Main program for SWI-Prolog with the PPL statically linked.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SWI/ppl_prolog_sysdep.hh b/interfaces/Prolog/SWI/ppl_prolog_sysdep.hh
index 4c03e9a..984db62 100644
--- a/interfaces/Prolog/SWI/ppl_prolog_sysdep.hh
+++ b/interfaces/Prolog/SWI/ppl_prolog_sysdep.hh
@@ -1,5 +1,5 @@
 /* System-dependent part of the Prolog interfaces: stub for SWI Prolog.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SWI/ppl_swiprolog.pl b/interfaces/Prolog/SWI/ppl_swiprolog.pl
index 7ffb54d..a9765d5 100644
--- a/interfaces/Prolog/SWI/ppl_swiprolog.pl
+++ b/interfaces/Prolog/SWI/ppl_swiprolog.pl
@@ -1,5 +1,5 @@
 /* Loader for the SWI-Prolog interface.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SWI/swi_cfli.hh b/interfaces/Prolog/SWI/swi_cfli.hh
index 98d2092..9abd501 100644
--- a/interfaces/Prolog/SWI/swi_cfli.hh
+++ b/interfaces/Prolog/SWI/swi_cfli.hh
@@ -1,5 +1,5 @@
 /* SWI-Prolog Common Foreign Language Interface.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -52,8 +52,12 @@ Prolog_new_term_ref() {
 */
 inline int
 Prolog_put_term(Prolog_term_ref t, Prolog_term_ref u) {
+#if PLVERSION >= 50800
+  return PL_put_term(t, u);
+#else
   PL_put_term(t, u);
   return 1;
+#endif
 }
 
 /*!
@@ -61,8 +65,12 @@ Prolog_put_term(Prolog_term_ref t, Prolog_term_ref u) {
 */
 inline int
 Prolog_put_long(Prolog_term_ref t, long l) {
+#if PLVERSION >= 50800
+  return PL_put_integer(t, l);
+#else
   PL_put_integer(t, l);
   return 1;
+#endif
 }
 
 static int tmp_mpz_t_initialized = 0;
@@ -89,12 +97,20 @@ Prolog_put_big_ulong(Prolog_term_ref t, unsigned long ul) {
 inline int
 Prolog_put_ulong(Prolog_term_ref t, unsigned long ul) {
   if (ul <= LONG_MAX) {
+#if PLVERSION >= 50800
+    return PL_put_integer(t, ul);
+#else
     PL_put_integer(t, ul);
     return 1;
+#endif
   }
   else if (ul <= (uint64_t) INT64_MAX) {
+#if PLVERSION >= 50800
+    return PL_put_int64(t, (int64_t) ul);
+#else
     PL_put_int64(t, (int64_t) ul);
     return 1;
+#endif
   }
   else
     return Prolog_put_big_ulong(t, ul);
@@ -106,8 +122,12 @@ Prolog_put_ulong(Prolog_term_ref t, unsigned long ul) {
 */
 inline int
 Prolog_put_atom_chars(Prolog_term_ref t, const char* s) {
+#if PLVERSION >= 50800
+  return PL_put_atom_chars(t, s);
+#else
   PL_put_atom_chars(t, s);
   return 1;
+#endif
 }
 
 /*!
@@ -115,8 +135,12 @@ Prolog_put_atom_chars(Prolog_term_ref t, const char* s) {
 */
 inline int
 Prolog_put_atom(Prolog_term_ref t, Prolog_atom a) {
+#if PLVERSION >= 50800
+  return PL_put_atom(t, a);
+#else
   PL_put_atom(t, a);
   return 1;
+#endif
 }
 
 /*!
@@ -124,8 +148,12 @@ Prolog_put_atom(Prolog_term_ref t, Prolog_atom a) {
 */
 inline int
 Prolog_put_address(Prolog_term_ref t, void* p) {
+#if PLVERSION >= 50800
+  return PL_put_pointer(t, p);
+#else
   PL_put_pointer(t, p);
   return 1;
+#endif
 }
 
 /*!
@@ -143,8 +171,12 @@ Prolog_atom_from_string(const char* s) {
 inline int
 Prolog_construct_compound(Prolog_term_ref t, Prolog_atom f,
 			  Prolog_term_ref a1) {
+#if PLVERSION >= 50800
+  return PL_cons_functor(t, PL_new_functor(f, 1), a1);
+#else
   PL_cons_functor(t, PL_new_functor(f, 1), a1);
   return 1;
+#endif
 }
 
 /*!
@@ -154,8 +186,12 @@ Prolog_construct_compound(Prolog_term_ref t, Prolog_atom f,
 inline int
 Prolog_construct_compound(Prolog_term_ref t, Prolog_atom f,
 			  Prolog_term_ref a1, Prolog_term_ref a2) {
+#if PLVERSION >= 50800
+  return PL_cons_functor(t, PL_new_functor(f, 2), a1, a2);
+#else
   PL_cons_functor(t, PL_new_functor(f, 2), a1, a2);
   return 1;
+#endif
 }
 
 /*!
@@ -166,8 +202,12 @@ inline int
 Prolog_construct_compound(Prolog_term_ref t, Prolog_atom f,
 			  Prolog_term_ref a1, Prolog_term_ref a2,
 			  Prolog_term_ref a3) {
+#if PLVERSION >= 50800
+  return PL_cons_functor(t, PL_new_functor(f, 3), a1, a2, a3);
+#else
   PL_cons_functor(t, PL_new_functor(f, 3), a1, a2, a3);
   return 1;
+#endif
 }
 
 /*!
@@ -178,8 +218,12 @@ inline int
 Prolog_construct_compound(Prolog_term_ref t, Prolog_atom f,
 			  Prolog_term_ref a1, Prolog_term_ref a2,
 			  Prolog_term_ref a3, Prolog_term_ref a4) {
+#if PLVERSION >= 50800
+  return PL_cons_functor(t, PL_new_functor(f, 4), a1, a2, a3, a4);
+#else
   PL_cons_functor(t, PL_new_functor(f, 4), a1, a2, a3, a4);
   return 1;
+#endif
 }
 
 /*!
@@ -188,8 +232,12 @@ Prolog_construct_compound(Prolog_term_ref t, Prolog_atom f,
 inline int
 Prolog_construct_cons(Prolog_term_ref c,
 		      Prolog_term_ref h, Prolog_term_ref t) {
+#if PLVERSION >= 50800
+  return PL_cons_list(c, h, t);
+#else
   PL_cons_list(c, h, t);
   return 1;
+#endif
 }
 
 /*!
diff --git a/interfaces/Prolog/SWI/swi_efli.cc b/interfaces/Prolog/SWI/swi_efli.cc
index 01b197c..8bdc16c 100644
--- a/interfaces/Prolog/SWI/swi_efli.cc
+++ b/interfaces/Prolog/SWI/swi_efli.cc
@@ -1,5 +1,5 @@
 /* SWI-Prolog extended foreign language interface: definitions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -50,10 +50,17 @@ ppl_Prolog_sysdep_deinit() {
 int
 Prolog_get_Coefficient(Prolog_term_ref t, Coefficient& n) {
   assert(Prolog_is_integer(t));
+  // FIXME: avoid the temporary when Coefficient is mpz_class.
   PPL_DIRTY_TEMP0(mpz_class, tmp);
+  int r;
+#if PLVERSION >= 50800
+  r = PL_get_mpz(t, tmp.get_mpz_t());
+#else
   PL_get_mpz(t, tmp.get_mpz_t());
+  r = 1;
+#endif
   n = tmp;
-  return 1;
+  return r;
 }
 
 int
diff --git a/interfaces/Prolog/SWI/swi_efli.hh b/interfaces/Prolog/SWI/swi_efli.hh
index 7a0480f..c4ddeae 100644
--- a/interfaces/Prolog/SWI/swi_efli.hh
+++ b/interfaces/Prolog/SWI/swi_efli.hh
@@ -1,5 +1,5 @@
 /* SWI-Prolog extended foreign language interface: declarations.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SWI/swi_pl_check.pl b/interfaces/Prolog/SWI/swi_pl_check.pl
index 5ef70cb..adde9ce 100644
--- a/interfaces/Prolog/SWI/swi_pl_check.pl
+++ b/interfaces/Prolog/SWI/swi_pl_check.pl
@@ -1,5 +1,5 @@
 /* Main program for the PPL/SWI-Prolog checker.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SWI/swi_prolog_generated_test.pl b/interfaces/Prolog/SWI/swi_prolog_generated_test.pl
index a10edbb..f3f4fa8 100644
--- a/interfaces/Prolog/SWI/swi_prolog_generated_test.pl
+++ b/interfaces/Prolog/SWI/swi_prolog_generated_test.pl
@@ -1,5 +1,5 @@
 /* Main program for the PPL/SWI-Prolog generated tests.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,6 +20,14 @@ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 For the most up-to-date information see the Parma Polyhedra Library
 site: http://www.cs.unipr.it/ppl/ . */
 
+member(X, [X|_]).
+member(X, [_|T]) :-
+    member(X, T).
+
+append([], L, L).
+append([H|T], L, [H|R]) :-
+    append(T, L, R).
+
 :-  ensure_loaded('ppl_prolog_generated_test_main.pl').
 
 prolog_system('SWI').
diff --git a/interfaces/Prolog/XSB/Makefile.am b/interfaces/Prolog/XSB/Makefile.am
index a2d1327..43b49c4 100644
--- a/interfaces/Prolog/XSB/Makefile.am
+++ b/interfaces/Prolog/XSB/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -161,7 +161,11 @@ nodist_EXTRA_libppl_xsb_la_SOURCES = \
 ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc \
 ../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc \
 ../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc \
-../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
+../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc \
+../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc \
+../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc \
+../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc \
+../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
 
 if NO_UNDEFINED
 
diff --git a/interfaces/Prolog/XSB/Makefile.in b/interfaces/Prolog/XSB/Makefile.in
index 9fdada9..c900e63 100644
--- a/interfaces/Prolog/XSB/Makefile.in
+++ b/interfaces/Prolog/XSB/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -39,8 +40,9 @@
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -64,6 +66,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -85,41 +88,67 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 LTLIBRARIES = $(noinst_LTLIBRARIES)
 am_libppl_xsb_la_OBJECTS = xsb_efli.lo
 nodist_libppl_xsb_la_OBJECTS = ppl_prolog_common.lo
 libppl_xsb_la_OBJECTS = $(am_libppl_xsb_la_OBJECTS) \
 	$(nodist_libppl_xsb_la_OBJECTS)
-libppl_xsb_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
-	$(CXXFLAGS) $(libppl_xsb_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+libppl_xsb_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(AM_CXXFLAGS) $(CXXFLAGS) $(libppl_xsb_la_LDFLAGS) $(LDFLAGS) \
+	-o $@
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_$(V))
+am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+am__v_CXX_0 = @echo "  CXX   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_$(V))
+am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo "  CC    " $@;
 CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo "  CCLD  " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libppl_xsb_la_SOURCES) $(nodist_libppl_xsb_la_SOURCES) \
 	$(nodist_EXTRA_libppl_xsb_la_SOURCES)
 DIST_SOURCES = $(libppl_xsb_la_SOURCES)
@@ -128,15 +157,30 @@ am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
     *) f=$$p;; \
   esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
 am__installdirs = "$(DESTDIR)$(pkglibdir)"
-pkglibDATA_INSTALL = $(INSTALL_DATA)
 DATA = $(pkglib_DATA)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -183,6 +227,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -200,8 +246,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -209,6 +265,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -225,12 +282,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -273,11 +333,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -307,6 +365,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -314,6 +373,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 XSB_CFLI_FILES = xsb_cfli.hh
 EXTRA_DIST = \
 ppl_interface_generator_xsb_cc.m4 \
@@ -432,7 +492,11 @@ nodist_EXTRA_libppl_xsb_la_SOURCES = \
 ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc \
 ../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc \
 ../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc \
-../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
+../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc \
+../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc \
+../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc \
+../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc \
+../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
 
 @NO_UNDEFINED_TRUE at NO_UNDEFINED_FLAG = -no-undefined
 libppl_xsb_la_LIBADD = \
@@ -492,14 +556,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  interfaces/Prolog/XSB/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  interfaces/Prolog/XSB/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign interfaces/Prolog/XSB/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign interfaces/Prolog/XSB/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -517,6 +581,7 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 clean-noinstLTLIBRARIES:
 	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
@@ -527,7 +592,7 @@ clean-noinstLTLIBRARIES:
 	  rm -f "$${dir}/so_locations"; \
 	done
 libppl_xsb.la: $(libppl_xsb_la_OBJECTS) $(libppl_xsb_la_DEPENDENCIES) 
-	$(libppl_xsb_la_LINK)  $(libppl_xsb_la_OBJECTS) $(libppl_xsb_la_LIBADD) $(LIBS)
+	$(AM_V_CXXLD)$(libppl_xsb_la_LINK)  $(libppl_xsb_la_OBJECTS) $(libppl_xsb_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -601,6 +666,10 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Polyhedron.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Rational_Box.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Uint16_Box.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Uint32_Box.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Uint64_Box.Plo at am__quote@
@@ -610,529 +679,636 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xsb_efli.Plo at am__quote@
 
 .cc.o:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
- at am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
 
 ppl_prolog_common.lo: ../ppl_prolog_common.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_common.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_common.Tpo -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_common.Tpo $(DEPDIR)/ppl_prolog_common.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_common.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_common.Tpo -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_common.Tpo $(DEPDIR)/ppl_prolog_common.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_common.cc' object='ppl_prolog_common.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
 
 ppl_prolog_Int8_Box.lo: ../ppl_prolog_Int8_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int8_Box.Tpo -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Int8_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int8_Box.Tpo -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Int8_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int8_Box.cc' object='ppl_prolog_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
 
 ppl_prolog_Int16_Box.lo: ../ppl_prolog_Int16_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int16_Box.Tpo -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Int16_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int16_Box.Tpo -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Int16_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int16_Box.cc' object='ppl_prolog_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
 
 ppl_prolog_Int32_Box.lo: ../ppl_prolog_Int32_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int32_Box.Tpo -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Int32_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int32_Box.Tpo -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Int32_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int32_Box.cc' object='ppl_prolog_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
 
 ppl_prolog_Int64_Box.lo: ../ppl_prolog_Int64_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int64_Box.Tpo -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Int64_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int64_Box.Tpo -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Int64_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int64_Box.cc' object='ppl_prolog_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
 
 ppl_prolog_Uint8_Box.lo: ../ppl_prolog_Uint8_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Uint8_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Uint8_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint8_Box.cc' object='ppl_prolog_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
 
 ppl_prolog_Uint16_Box.lo: ../ppl_prolog_Uint16_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Uint16_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Uint16_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint16_Box.cc' object='ppl_prolog_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
 
 ppl_prolog_Uint32_Box.lo: ../ppl_prolog_Uint32_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Uint32_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Uint32_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint32_Box.cc' object='ppl_prolog_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
 
 ppl_prolog_Uint64_Box.lo: ../ppl_prolog_Uint64_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Uint64_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Uint64_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint64_Box.cc' object='ppl_prolog_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
 
 ppl_prolog_Float_Box.lo: ../ppl_prolog_Float_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Float_Box.Tpo -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Float_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Float_Box.Tpo -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Float_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Float_Box.cc' object='ppl_prolog_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
 
 ppl_prolog_Double_Box.lo: ../ppl_prolog_Double_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Double_Box.Tpo -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Double_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Double_Box.Tpo -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Double_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Double_Box.cc' object='ppl_prolog_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
 
 ppl_prolog_Long_Double_Box.lo: ../ppl_prolog_Long_Double_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Long_Double_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Long_Double_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Long_Double_Box.cc' object='ppl_prolog_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
 
 ppl_prolog_Rational_Box.lo: ../ppl_prolog_Rational_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Rational_Box.Tpo -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Rational_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Rational_Box.Tpo -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Rational_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Rational_Box.cc' object='ppl_prolog_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
 
 ppl_prolog_Z_Box.lo: ../ppl_prolog_Z_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Z_Box.Tpo -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Z_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Z_Box.Tpo -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Z_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Z_Box.cc' object='ppl_prolog_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
 
 ppl_prolog_BD_Shape_int8_t.lo: ../ppl_prolog_BD_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int8_t.cc' object='ppl_prolog_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
 
 ppl_prolog_BD_Shape_int16_t.lo: ../ppl_prolog_BD_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int16_t.cc' object='ppl_prolog_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
 
 ppl_prolog_BD_Shape_int32_t.lo: ../ppl_prolog_BD_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int32_t.cc' object='ppl_prolog_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
 
 ppl_prolog_BD_Shape_int64_t.lo: ../ppl_prolog_BD_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int64_t.cc' object='ppl_prolog_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
 
 ppl_prolog_BD_Shape_float.lo: ../ppl_prolog_BD_Shape_float.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_float.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_float.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_float.cc' object='ppl_prolog_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
 
 ppl_prolog_BD_Shape_double.lo: ../ppl_prolog_BD_Shape_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_double.cc' object='ppl_prolog_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
 
 ppl_prolog_BD_Shape_long_double.lo: ../ppl_prolog_BD_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_long_double.cc' object='ppl_prolog_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
 
 ppl_prolog_BD_Shape_mpq_class.lo: ../ppl_prolog_BD_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_mpq_class.cc' object='ppl_prolog_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
 
 ppl_prolog_BD_Shape_mpz_class.lo: ../ppl_prolog_BD_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_mpz_class.cc' object='ppl_prolog_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
 
 ppl_prolog_Octagonal_Shape_int8_t.lo: ../ppl_prolog_Octagonal_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
 
 ppl_prolog_Octagonal_Shape_int16_t.lo: ../ppl_prolog_Octagonal_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
 
 ppl_prolog_Octagonal_Shape_int32_t.lo: ../ppl_prolog_Octagonal_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
 
 ppl_prolog_Octagonal_Shape_int64_t.lo: ../ppl_prolog_Octagonal_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
 
 ppl_prolog_Octagonal_Shape_float.lo: ../ppl_prolog_Octagonal_Shape_float.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_float.cc' object='ppl_prolog_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
 
 ppl_prolog_Octagonal_Shape_double.lo: ../ppl_prolog_Octagonal_Shape_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_double.cc' object='ppl_prolog_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
 
 ppl_prolog_Octagonal_Shape_long_double.lo: ../ppl_prolog_Octagonal_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_long_double.cc' object='ppl_prolog_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
 
 ppl_prolog_Octagonal_Shape_mpq_class.lo: ../ppl_prolog_Octagonal_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
 
 ppl_prolog_Octagonal_Shape_mpz_class.lo: ../ppl_prolog_Octagonal_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
 
 ppl_prolog_Polyhedron.lo: ../ppl_prolog_Polyhedron.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Polyhedron.Tpo -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Polyhedron.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Polyhedron.Tpo -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Polyhedron.cc' object='ppl_prolog_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
 
 ppl_prolog_Grid.lo: ../ppl_prolog_Grid.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Grid.Tpo -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Grid.Tpo $(DEPDIR)/ppl_prolog_Grid.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Grid.Tpo -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Grid.Tpo $(DEPDIR)/ppl_prolog_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Grid.cc' object='ppl_prolog_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
 
 ppl_prolog_Pointset_Powerset_Int8_Box.lo: ../ppl_prolog_Pointset_Powerset_Int8_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int8_Box.cc' object='ppl_prolog_Pointset_Powerset_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int16_Box.lo: ../ppl_prolog_Pointset_Powerset_Int16_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int16_Box.cc' object='ppl_prolog_Pointset_Powerset_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int32_Box.lo: ../ppl_prolog_Pointset_Powerset_Int32_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int32_Box.cc' object='ppl_prolog_Pointset_Powerset_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int64_Box.lo: ../ppl_prolog_Pointset_Powerset_Int64_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int64_Box.cc' object='ppl_prolog_Pointset_Powerset_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint8_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint16_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint32_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint64_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
 
 ppl_prolog_Pointset_Powerset_Float_Box.lo: ../ppl_prolog_Pointset_Powerset_Float_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Float_Box.cc' object='ppl_prolog_Pointset_Powerset_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
 
 ppl_prolog_Pointset_Powerset_Double_Box.lo: ../ppl_prolog_Pointset_Powerset_Double_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Double_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Doub [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Double_Box.cc
 
 ppl_prolog_Pointset_Powerset_Long_Double_Box.lo: ../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Long_D [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
 
 ppl_prolog_Pointset_Powerset_Rational_Box.lo: ../ppl_prolog_Pointset_Powerset_Rational_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Rational_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Power [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Rational_Box.cc' object='ppl_prolog_Pointset_Powerset_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Rational_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Rational_Box.cc
 
 ppl_prolog_Pointset_Powerset_Z_Box.lo: ../ppl_prolog_Pointset_Powerset_Z_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Z_Box.cc' object='ppl_prolog_Pointset_Powerset_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Sha [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_float.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Points [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_double.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Sha [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Poin [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Pow [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../p [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Pow [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../p [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_pro [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo ' [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || ec [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || ec [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || ec [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_ [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(sr [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_pro [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo ' [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' || echo '$( [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_ [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/ [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.c [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/ [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.c [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
 
 ppl_prolog_Pointset_Powerset_C_Polyhedron.lo: ../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Power [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
 
 ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo: ../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Points [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
 
 ppl_prolog_Pointset_Powerset_Grid.lo: ../ppl_prolog_Pointset_Powerset_Grid.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Grid.cc' object='ppl_prolog_Pointset_Powerset_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
 
 ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo: ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constrai [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'` [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
 
 ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo: ../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_ [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(sr [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
 
 ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo: ../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constrai [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'` [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
 
 ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo: ../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_ [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(sr [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
+
+ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo: ../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Tpo -c -o ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' | [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc
+
+ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo: ../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Tpo -c -o ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Gr [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc
+
+ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo: ../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Tpo -c -o ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' | [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc
+
+ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo: ../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Tpo -c -o ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedr [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -1142,34 +1318,37 @@ clean-libtool:
 install-pkglibDATA: $(pkglib_DATA)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
-	@list='$(pkglib_DATA)'; for p in $$list; do \
+	@list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \
+	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  f=$(am__strip_dir) \
-	  echo " $(pkglibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkglibdir)/$$f'"; \
-	  $(pkglibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkglibdir)/$$f"; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkglibdir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkglibdir)" || exit $$?; \
 	done
 
 uninstall-pkglibDATA:
 	@$(NORMAL_UNINSTALL)
-	@list='$(pkglib_DATA)'; for p in $$list; do \
-	  f=$(am__strip_dir) \
-	  echo " rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
-	done
+	@list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(pkglibdir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(pkglibdir)" && rm -f $$files
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
@@ -1177,29 +1356,34 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -1220,13 +1404,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -1262,6 +1450,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -1284,6 +1473,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -1292,18 +1483,28 @@ install-data-am:
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am: install-pkglibDATA
 
 install-html: install-html-am
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-am
 
+install-pdf-am:
+
 install-ps: install-ps-am
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -1326,7 +1527,7 @@ ps-am:
 
 uninstall-am: uninstall-pkglibDATA
 
-.MAKE: install-am install-strip
+.MAKE: all check check-am install install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am check-local clean \
 	clean-generic clean-libtool clean-noinstLTLIBRARIES ctags \
@@ -1449,6 +1650,7 @@ $(top_builddir)/interfaces/ppl_interface_instantiations.m4:
 # makefile.
 $(nodist_EXTRA_libppl_xsb_la_SOURCES):
 ../tests/ppl_prolog_generated_test_main.pl:
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4 b/interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4
index 9ecc5db..6ed5f15 100644
--- a/interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4
+++ b/interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4
@@ -3,7 +3,7 @@ m4_divert(-1)
 
 dnl This m4 file generates the file ppl_xsb.H.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4 b/interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4
index f1ddcb8..f7cb94b 100644
--- a/interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4
+++ b/interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4
@@ -2,7 +2,7 @@ m4_define(`dnl', `m4_dnl')`'dnl
 m4_divert(-1)
 
 dnl This m4 file generates the file ppl_xsb.cc.
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -97,6 +97,33 @@ name() { \
   return xsb_stub_##name(arg1, arg2, arg3, arg4, arg5, arg6); \
 }
 
+#define XSB_ENTRY_7(name) \
+extern "C" Prolog_foreign_return_type \
+name() { \
+  Prolog_term_ref arg1 = reg_term(1); \
+  Prolog_term_ref arg2 = reg_term(2); \
+  Prolog_term_ref arg3 = reg_term(3); \
+  Prolog_term_ref arg4 = reg_term(4); \
+  Prolog_term_ref arg5 = reg_term(5); \
+  Prolog_term_ref arg6 = reg_term(6); \
+  Prolog_term_ref arg7 = reg_term(7); \
+  return xsb_stub_##name(arg1, arg2, arg3, arg4, arg5, arg6, arg7); \
+}
+
+#define XSB_ENTRY_8(name) \
+extern "C" Prolog_foreign_return_type \
+name() { \
+  Prolog_term_ref arg1 = reg_term(1); \
+  Prolog_term_ref arg2 = reg_term(2); \
+  Prolog_term_ref arg3 = reg_term(3); \
+  Prolog_term_ref arg4 = reg_term(4); \
+  Prolog_term_ref arg5 = reg_term(5); \
+  Prolog_term_ref arg6 = reg_term(6); \
+  Prolog_term_ref arg7 = reg_term(7); \
+  Prolog_term_ref arg8 = reg_term(8); \
+  return xsb_stub_##name(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); \
+}
+
 m4_divert(2)dnl
 
 extern "C" void
diff --git a/interfaces/Prolog/XSB/ppl_interface_generator_xsb_hh.m4 b/interfaces/Prolog/XSB/ppl_interface_generator_xsb_hh.m4
index d93a899..caf0c97 100644
--- a/interfaces/Prolog/XSB/ppl_interface_generator_xsb_hh.m4
+++ b/interfaces/Prolog/XSB/ppl_interface_generator_xsb_hh.m4
@@ -2,7 +2,7 @@ m4_define(`dnl', `m4_dnl')`'dnl
 m4_divert(-1)
 
 dnl This m4 file generates the file ppl_xsb.cc.
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/interfaces/Prolog/XSB/ppl_interface_generator_xsb_prolog_generated_test_P.m4 b/interfaces/Prolog/XSB/ppl_interface_generator_xsb_prolog_generated_test_P.m4
index d85ddf5..368ccde 100644
--- a/interfaces/Prolog/XSB/ppl_interface_generator_xsb_prolog_generated_test_P.m4
+++ b/interfaces/Prolog/XSB/ppl_interface_generator_xsb_prolog_generated_test_P.m4
@@ -4,7 +4,7 @@ m4_divert(-1)
 dnl This m4 file defines macros needed for generating
 dnl the XSB dependent code for xsb_prolog_generated_test.pl.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/interfaces/Prolog/XSB/ppl_prolog_sysdep.hh b/interfaces/Prolog/XSB/ppl_prolog_sysdep.hh
index 6f27499..60ff460 100644
--- a/interfaces/Prolog/XSB/ppl_prolog_sysdep.hh
+++ b/interfaces/Prolog/XSB/ppl_prolog_sysdep.hh
@@ -1,5 +1,5 @@
 /* System-dependent part of the Prolog interfaces: stub for XSB.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/XSB/xsb_cfli.hh b/interfaces/Prolog/XSB/xsb_cfli.hh
index e46f78b..ddd1c48 100644
--- a/interfaces/Prolog/XSB/xsb_cfli.hh
+++ b/interfaces/Prolog/XSB/xsb_cfli.hh
@@ -1,5 +1,5 @@
 /* XSB Prolog Common Foreign Language Interface.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/XSB/xsb_clpq.P b/interfaces/Prolog/XSB/xsb_clpq.P
index 6ff822b..374efe4 100644
--- a/interfaces/Prolog/XSB/xsb_clpq.P
+++ b/interfaces/Prolog/XSB/xsb_clpq.P
@@ -1,5 +1,5 @@
 /* Prolog main program for the toy PPL/XSB-Prolog CLP(Q) interpreter.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -33,9 +33,10 @@ site: http://www.cs.unipr.it/ppl/ . */
 	ppl_new_C_Polyhedron_from_C_Polyhedron/2,
 	ppl_new_NNC_Polyhedron_from_NNC_Polyhedron/2,
 	ppl_delete_Polyhedron/1,
+        ppl_Polyhedron_is_empty/1,
 	ppl_Polyhedron_space_dimension/2,
+        ppl_Polyhedron_add_constraints/2,
 	ppl_Polyhedron_get_constraints/2,
-	ppl_Polyhedron_add_constraints_and_minimize/2,
 	ppl_Polyhedron_add_space_dimensions_and_embed/2,
 	ppl_Polyhedron_remove_higher_space_dimensions/2
    from ppl_xsb.
diff --git a/interfaces/Prolog/XSB/xsb_clpq2.P b/interfaces/Prolog/XSB/xsb_clpq2.P
index 2bd6c8e..1f0d045 100644
--- a/interfaces/Prolog/XSB/xsb_clpq2.P
+++ b/interfaces/Prolog/XSB/xsb_clpq2.P
@@ -1,5 +1,5 @@
 /* Prolog main program for the toy PPL/XSB-Prolog CLP(Q) interpreter.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -33,9 +33,10 @@ site: http://www.cs.unipr.it/ppl/ . */
 	ppl_new_C_Polyhedron_from_C_Polyhedron/2,
 	ppl_new_NNC_Polyhedron_from_NNC_Polyhedron/2,
 	ppl_delete_Polyhedron/1,
+        ppl_Polyhedron_is_empty/1,
 	ppl_Polyhedron_space_dimension/2,
+        ppl_Polyhedron_add_constraints/2,
 	ppl_Polyhedron_get_constraints/2,
-	ppl_Polyhedron_add_constraints_and_minimize/2,
 	ppl_Polyhedron_add_space_dimensions_and_embed/2,
 	ppl_Polyhedron_remove_space_dimensions/2,
 	ppl_Polyhedron_remove_higher_space_dimensions/2
diff --git a/interfaces/Prolog/XSB/xsb_efli.cc b/interfaces/Prolog/XSB/xsb_efli.cc
index f64d52a..7b9b8f0 100644
--- a/interfaces/Prolog/XSB/xsb_efli.cc
+++ b/interfaces/Prolog/XSB/xsb_efli.cc
@@ -1,5 +1,5 @@
 /* XSB extended foreign language interface: definitions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -60,7 +60,8 @@ Prolog_get_Coefficient(Prolog_term_ref t, Coefficient& n) {
 int
 Prolog_put_Coefficient(Prolog_term_ref& t, const Coefficient& n) {
   long l = 0;
-  if (assign_r(l, n, ROUND_NOT_NEEDED) != V_EQ)
+  Result r = assign_r(l, n, ROUND_IGNORE);
+  if (result_overflow(r))
     throw PPL_integer_out_of_range(n);
   return Prolog_put_long(t, l);
 }
diff --git a/interfaces/Prolog/XSB/xsb_efli.hh b/interfaces/Prolog/XSB/xsb_efli.hh
index 9791c88..f14fae8 100644
--- a/interfaces/Prolog/XSB/xsb_efli.hh
+++ b/interfaces/Prolog/XSB/xsb_efli.hh
@@ -1,5 +1,5 @@
 /* XSB extended foreign language interface: declarations.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/XSB/xsb_pl_check.P b/interfaces/Prolog/XSB/xsb_pl_check.P
index 3d2e96c..e31cc56 100644
--- a/interfaces/Prolog/XSB/xsb_pl_check.P
+++ b/interfaces/Prolog/XSB/xsb_pl_check.P
@@ -1,5 +1,5 @@
 /* Prolog main program for the PPL/XSB-Prolog predicate checker.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -33,11 +33,14 @@ site: http://www.cs.unipr.it/ppl/ . */
 	ppl_version/1,
 	ppl_banner/1,
 	ppl_max_space_dimension/1,
+        ppl_Coefficient_bits/1,
 	ppl_Coefficient_is_bounded/0,
 	ppl_Coefficient_max/1,
 	ppl_Coefficient_min/1,
 	ppl_initialize/0,
 	ppl_finalize/0,
+        ppl_set_irrational_precision/1,
+        ppl_irrational_precision/1,
 	ppl_set_timeout_exception_atom/1,
 	ppl_timeout_exception_atom/1,
 	ppl_set_timeout/1,
@@ -83,17 +86,11 @@ site: http://www.cs.unipr.it/ppl/ . */
         ppl_Polyhedron_equals_Polyhedron/2,
 	ppl_Polyhedron_OK/1,
 	ppl_Polyhedron_add_constraint/2,
-	ppl_Polyhedron_add_constraint_and_minimize/2,
 	ppl_Polyhedron_add_generator/2,
-	ppl_Polyhedron_add_generator_and_minimize/2,
 	ppl_Polyhedron_add_constraints/2,
-	ppl_Polyhedron_add_constraints_and_minimize/2,
 	ppl_Polyhedron_add_generators/2,
-	ppl_Polyhedron_add_generators_and_minimize/2,
 	ppl_Polyhedron_intersection_assign/2,
-	ppl_Polyhedron_intersection_assign_and_minimize/2,
 	ppl_Polyhedron_poly_hull_assign/2,
-	ppl_Polyhedron_poly_hull_assign_and_minimize/2,
 	ppl_Polyhedron_poly_difference_assign/2,
 	ppl_Polyhedron_affine_image/4,
 	ppl_Polyhedron_affine_preimage/4,
@@ -128,6 +125,8 @@ site: http://www.cs.unipr.it/ppl/ . */
         ppl_Polyhedron_constrains/2,
         ppl_Polyhedron_unconstrain_space_dimension/2,
         ppl_Polyhedron_unconstrain_space_dimensions/2,
+        ppl_termination_test_C_Polyhedron_MS/1,
+        ppl_termination_test_C_Polyhedron_PR/1,
 	ppl_new_MIP_Problem_from_space_dimension/2,
 	ppl_new_MIP_Problem/5,
 	ppl_new_MIP_Problem_from_MIP_Problem/2,
@@ -153,7 +152,39 @@ site: http://www.cs.unipr.it/ppl/ . */
         ppl_MIP_Problem_evaluate_objective_function/4,
         ppl_MIP_Problem_OK/1,
         ppl_MIP_Problem_get_control_parameter/3,
-        ppl_MIP_Problem_set_control_parameter/2
+        ppl_MIP_Problem_set_control_parameter/2,
+        ppl_new_PIP_Problem_from_space_dimension/2,
+        ppl_new_PIP_Problem/4,
+        ppl_new_PIP_Problem_from_PIP_Problem/2,
+        ppl_PIP_Problem_swap/2,
+        ppl_delete_PIP_Problem/1,
+        ppl_PIP_Problem_space_dimension/2,
+        ppl_PIP_Problem_parameter_space_dimensions/2,
+        ppl_PIP_Problem_constraints/2,
+        ppl_PIP_Problem_clear/1,
+        ppl_PIP_Problem_add_space_dimensions_and_embed/3,
+        ppl_PIP_Problem_add_to_parameter_space_dimensions/2,
+        ppl_PIP_Problem_add_constraint/2,
+        ppl_PIP_Problem_add_constraints/2,
+        ppl_PIP_Problem_set_control_parameter/2,
+        ppl_PIP_Problem_get_control_parameter/3,
+        ppl_PIP_Problem_has_big_parameter_dimension/2,
+        ppl_PIP_Problem_set_big_parameter_dimension/2,
+        ppl_PIP_Problem_is_satisfiable/1,
+        ppl_PIP_Problem_solve/2,
+        ppl_PIP_Problem_solution/2,
+        ppl_PIP_Problem_optimizing_solution/2,
+        ppl_PIP_Problem_OK/1,
+        ppl_PIP_Problem_ascii_dump/1,
+        ppl_PIP_Tree_Node_constraints/2,
+        ppl_PIP_Tree_Node_is_solution/1,
+        ppl_PIP_Tree_Node_is_decision/1,
+        ppl_PIP_Tree_Node_is_bottom/1,
+        ppl_PIP_Tree_Node_artificials/2,
+        ppl_PIP_Tree_Node_OK/1,
+        ppl_PIP_Tree_Node_parametric_values/3,
+        ppl_PIP_Tree_Node_true_child/2,
+        ppl_PIP_Tree_Node_false_child/2
    from ppl_xsb.
 
 :- [ppl_xsb].
diff --git a/interfaces/Prolog/YAP/Makefile.am b/interfaces/Prolog/YAP/Makefile.am
index 7af35c8..875bae9 100644
--- a/interfaces/Prolog/YAP/Makefile.am
+++ b/interfaces/Prolog/YAP/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -63,6 +63,7 @@ AM_CPPFLAGS = \
 -I$(top_buildir)/interfaces/Prolog \
 -I$(top_builddir)/src \
 $(WATCHDOG_INCLUDE_OPTIONS) \
+$(YAP_PROLOG_INCLUDE_OPTIONS) \
 @extra_includes@
 
 if NO_UNDEFINED
@@ -156,11 +157,15 @@ nodist_EXTRA_ppl_yap_la_SOURCES = \
 ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc \
 ../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc \
 ../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc \
-../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
+../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc \
+../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc \
+../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc \
+../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc \
+../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
 
 ppl_yap_la_LIBADD = \
 @required_instantiations_prolog_cxx_objects@ \
--lYap \
+$(YAP_PROLOG_LD_OPTIONS) \
 $(top_builddir)/src/libppl.la \
 $(WATCHDOG_LIBRARY) \
 @extra_libraries@
@@ -213,7 +218,7 @@ pl_check_test: yap_pl_check.pl ppl_yap.pl ../tests/pl_check.pl $(EXPECTED_PCHK)
 		-dlopen ../../../src/libppl.la \
 		$(WATCHDOG_DLOPEN) \
 		-dlopen ppl_yap.la \
-		yap -l $(srcdir)/yap_pl_check.pl \
+		$(YAP_PROLOG) -l $(srcdir)/yap_pl_check.pl \
 			<script_pchk >obtained_pchk
 	diff -u --ignore-all-space $(EXPECTED_PCHK) obtained_pchk
 
@@ -227,7 +232,7 @@ clpq_test: yap_clpq.pl ppl_yap.pl ../tests/clpq.pl ../tests/script_clpq $(EXPECT
 		-dlopen ../../../src/libppl.la \
 		$(WATCHDOG_DLOPEN) \
 		-dlopen ppl_yap.la \
-		yap -l $(srcdir)/yap_clpq.pl \
+		$(YAP_PROLOG) -l $(srcdir)/yap_clpq.pl \
 			<script_clpq >obtained_clpq
 	diff -u --ignore-all-space $(EXPECTED_CLPQ) obtained_clpq
 
@@ -238,7 +243,7 @@ clpq2_test: yap_clpq2.pl ppl_yap.pl ../tests/clpq2.pl ../tests/script_clpq2 $(EX
 		-dlopen ../../../src/libppl.la \
 		$(WATCHDOG_DLOPEN) \
 		-dlopen ppl_yap.la \
-		yap -l $(srcdir)/yap_clpq2.pl \
+		$(YAP_PROLOG) -l $(srcdir)/yap_clpq2.pl \
 			<script_clpq2 >obtained_clpq2
 	diff -u --ignore-all-space $(EXPECTED_CLPQ2) obtained_clpq2
 
@@ -254,7 +259,7 @@ ppl_prolog_generated_test: yap_prolog_generated_test.pl ppl_yap.pl  ../tests/exp
 		-dlopen ../../../src/libppl.la \
 		$(WATCHDOG_DLOPEN) \
 		-dlopen ppl_yap.la \
-		yap -l yap_prolog_generated_test.pl \
+		$(YAP_PROLOG) -l yap_prolog_generated_test.pl \
 			<script_pgt >obtained_pgt
 	if [ $(srcdir) != `pwd` ]; then \
 	  rm -f ppl_prolog_generated_test_common.pl; \
diff --git a/interfaces/Prolog/YAP/Makefile.in b/interfaces/Prolog/YAP/Makefile.in
index 64ad407..f6637f6 100644
--- a/interfaces/Prolog/YAP/Makefile.in
+++ b/interfaces/Prolog/YAP/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -39,8 +40,9 @@
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -64,6 +66,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -85,21 +88,37 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
     *) f=$$p;; \
   esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
 am__installdirs = "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(pkglibdir)"
-pkglibLTLIBRARIES_INSTALL = $(INSTALL)
 LTLIBRARIES = $(pkglib_LTLIBRARIES)
+am__DEPENDENCIES_1 =
 am__ppl_yap_la_SOURCES_DIST = ppl_prolog_sysdep.hh yap_efli.hh \
 	yap_efli.cc
 @ENABLE_SHARED_TRUE at am_ppl_yap_la_OBJECTS = yap_efli.lo
@@ -107,41 +126,65 @@ am__ppl_yap_la_SOURCES_DIST = ppl_prolog_sysdep.hh yap_efli.hh \
 @ENABLE_SHARED_TRUE@	ppl_prolog_common.lo
 ppl_yap_la_OBJECTS = $(am_ppl_yap_la_OBJECTS) \
 	$(nodist_ppl_yap_la_OBJECTS)
-ppl_yap_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+ppl_yap_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(ppl_yap_la_LDFLAGS) $(LDFLAGS) -o $@
 @ENABLE_SHARED_TRUE at am_ppl_yap_la_rpath = -rpath $(pkglibdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_$(V))
+am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+am__v_CXX_0 = @echo "  CXX   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_$(V))
+am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo "  CC    " $@;
 CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo "  CCLD  " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(ppl_yap_la_SOURCES) $(nodist_ppl_yap_la_SOURCES) \
 	$(nodist_EXTRA_ppl_yap_la_SOURCES)
 DIST_SOURCES = $(am__ppl_yap_la_SOURCES_DIST)
-pkglibDATA_INSTALL = $(INSTALL_DATA)
 DATA = $(pkglib_DATA)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -188,6 +231,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -205,8 +250,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -214,6 +269,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -230,12 +286,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -278,11 +337,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -312,6 +369,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -319,6 +377,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 YAP_CFLI_FILES = yap_cfli.hh
 EXTRA_DIST = \
 ppl_interface_generator_yap_cc.m4 \
@@ -350,6 +409,7 @@ ppl_interface_generator_yap_cc.m4
 @ENABLE_SHARED_TRUE at -I$(top_buildir)/interfaces/Prolog \
 @ENABLE_SHARED_TRUE at -I$(top_builddir)/src \
 @ENABLE_SHARED_TRUE@$(WATCHDOG_INCLUDE_OPTIONS) \
+ at ENABLE_SHARED_TRUE@$(YAP_PROLOG_INCLUDE_OPTIONS) \
 @ENABLE_SHARED_TRUE@@extra_includes@
 
 @ENABLE_SHARED_TRUE@@NO_UNDEFINED_TRUE at NO_UNDEFINED_FLAG = -no-undefined
@@ -437,11 +497,15 @@ ppl_interface_generator_yap_cc.m4
 @ENABLE_SHARED_TRUE at ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc \
 @ENABLE_SHARED_TRUE at ../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc \
 @ENABLE_SHARED_TRUE at ../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc \
- at ENABLE_SHARED_TRUE@../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
+ at ENABLE_SHARED_TRUE@../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc \
+ at ENABLE_SHARED_TRUE@../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc \
+ at ENABLE_SHARED_TRUE@../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc \
+ at ENABLE_SHARED_TRUE@../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc \
+ at ENABLE_SHARED_TRUE@../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
 
 @ENABLE_SHARED_TRUE at ppl_yap_la_LIBADD = \
 @ENABLE_SHARED_TRUE@@required_instantiations_prolog_cxx_objects@ \
- at ENABLE_SHARED_TRUE@-lYap \
+ at ENABLE_SHARED_TRUE@$(YAP_PROLOG_LD_OPTIONS) \
 @ENABLE_SHARED_TRUE@$(top_builddir)/src/libppl.la \
 @ENABLE_SHARED_TRUE@$(WATCHDOG_LIBRARY) \
 @ENABLE_SHARED_TRUE@@extra_libraries@
@@ -492,14 +556,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  interfaces/Prolog/YAP/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  interfaces/Prolog/YAP/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign interfaces/Prolog/YAP/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign interfaces/Prolog/YAP/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -517,23 +581,28 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
-	@list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
+	@list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+	list2=; for p in $$list; do \
 	  if test -f $$p; then \
-	    f=$(am__strip_dir) \
-	    echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(pkglibdir)/$$f'"; \
-	    $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(pkglibdir)/$$f"; \
+	    list2="$$list2 $$p"; \
 	  else :; fi; \
-	done
+	done; \
+	test -z "$$list2" || { \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \
+	}
 
 uninstall-pkglibLTLIBRARIES:
 	@$(NORMAL_UNINSTALL)
-	@list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
-	  p=$(am__strip_dir) \
-	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$p'"; \
-	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$p"; \
+	@list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+	for p in $$list; do \
+	  $(am__strip_dir) \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
 	done
 
 clean-pkglibLTLIBRARIES:
@@ -545,7 +614,7 @@ clean-pkglibLTLIBRARIES:
 	  rm -f "$${dir}/so_locations"; \
 	done
 ppl_yap.la: $(ppl_yap_la_OBJECTS) $(ppl_yap_la_DEPENDENCIES) 
-	$(ppl_yap_la_LINK) $(am_ppl_yap_la_rpath) $(ppl_yap_la_OBJECTS) $(ppl_yap_la_LIBADD) $(LIBS)
+	$(AM_V_CXXLD)$(ppl_yap_la_LINK) $(am_ppl_yap_la_rpath) $(ppl_yap_la_OBJECTS) $(ppl_yap_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -619,6 +688,10 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Polyhedron.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Rational_Box.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Uint16_Box.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Uint32_Box.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_prolog_Uint64_Box.Plo at am__quote@
@@ -629,529 +702,636 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/yap_efli.Plo at am__quote@
 
 .cc.o:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
- at am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
 
 ppl_prolog_common.lo: ../ppl_prolog_common.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_common.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_common.Tpo -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_common.Tpo $(DEPDIR)/ppl_prolog_common.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_common.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_common.Tpo -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_common.Tpo $(DEPDIR)/ppl_prolog_common.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_common.cc' object='ppl_prolog_common.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
 
 ppl_prolog_Int8_Box.lo: ../ppl_prolog_Int8_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int8_Box.Tpo -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Int8_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int8_Box.Tpo -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Int8_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int8_Box.cc' object='ppl_prolog_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
 
 ppl_prolog_Int16_Box.lo: ../ppl_prolog_Int16_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int16_Box.Tpo -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Int16_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int16_Box.Tpo -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Int16_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int16_Box.cc' object='ppl_prolog_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
 
 ppl_prolog_Int32_Box.lo: ../ppl_prolog_Int32_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int32_Box.Tpo -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Int32_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int32_Box.Tpo -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Int32_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int32_Box.cc' object='ppl_prolog_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
 
 ppl_prolog_Int64_Box.lo: ../ppl_prolog_Int64_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int64_Box.Tpo -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Int64_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int64_Box.Tpo -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Int64_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int64_Box.cc' object='ppl_prolog_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
 
 ppl_prolog_Uint8_Box.lo: ../ppl_prolog_Uint8_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Uint8_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Uint8_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint8_Box.cc' object='ppl_prolog_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
 
 ppl_prolog_Uint16_Box.lo: ../ppl_prolog_Uint16_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Uint16_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Uint16_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint16_Box.cc' object='ppl_prolog_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
 
 ppl_prolog_Uint32_Box.lo: ../ppl_prolog_Uint32_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Uint32_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Uint32_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint32_Box.cc' object='ppl_prolog_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
 
 ppl_prolog_Uint64_Box.lo: ../ppl_prolog_Uint64_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Uint64_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Uint64_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint64_Box.cc' object='ppl_prolog_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
 
 ppl_prolog_Float_Box.lo: ../ppl_prolog_Float_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Float_Box.Tpo -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Float_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Float_Box.Tpo -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Float_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Float_Box.cc' object='ppl_prolog_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
 
 ppl_prolog_Double_Box.lo: ../ppl_prolog_Double_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Double_Box.Tpo -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Double_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Double_Box.Tpo -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Double_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Double_Box.cc' object='ppl_prolog_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
 
 ppl_prolog_Long_Double_Box.lo: ../ppl_prolog_Long_Double_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Long_Double_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Long_Double_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Long_Double_Box.cc' object='ppl_prolog_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
 
 ppl_prolog_Rational_Box.lo: ../ppl_prolog_Rational_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Rational_Box.Tpo -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Rational_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Rational_Box.Tpo -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Rational_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Rational_Box.cc' object='ppl_prolog_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
 
 ppl_prolog_Z_Box.lo: ../ppl_prolog_Z_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Z_Box.Tpo -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Z_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Z_Box.Tpo -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Z_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Z_Box.cc' object='ppl_prolog_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
 
 ppl_prolog_BD_Shape_int8_t.lo: ../ppl_prolog_BD_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int8_t.cc' object='ppl_prolog_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
 
 ppl_prolog_BD_Shape_int16_t.lo: ../ppl_prolog_BD_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int16_t.cc' object='ppl_prolog_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
 
 ppl_prolog_BD_Shape_int32_t.lo: ../ppl_prolog_BD_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int32_t.cc' object='ppl_prolog_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
 
 ppl_prolog_BD_Shape_int64_t.lo: ../ppl_prolog_BD_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int64_t.cc' object='ppl_prolog_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
 
 ppl_prolog_BD_Shape_float.lo: ../ppl_prolog_BD_Shape_float.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_float.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_float.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_float.cc' object='ppl_prolog_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
 
 ppl_prolog_BD_Shape_double.lo: ../ppl_prolog_BD_Shape_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_double.cc' object='ppl_prolog_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
 
 ppl_prolog_BD_Shape_long_double.lo: ../ppl_prolog_BD_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_long_double.cc' object='ppl_prolog_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
 
 ppl_prolog_BD_Shape_mpq_class.lo: ../ppl_prolog_BD_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_mpq_class.cc' object='ppl_prolog_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
 
 ppl_prolog_BD_Shape_mpz_class.lo: ../ppl_prolog_BD_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_mpz_class.cc' object='ppl_prolog_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
 
 ppl_prolog_Octagonal_Shape_int8_t.lo: ../ppl_prolog_Octagonal_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
 
 ppl_prolog_Octagonal_Shape_int16_t.lo: ../ppl_prolog_Octagonal_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
 
 ppl_prolog_Octagonal_Shape_int32_t.lo: ../ppl_prolog_Octagonal_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
 
 ppl_prolog_Octagonal_Shape_int64_t.lo: ../ppl_prolog_Octagonal_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
 
 ppl_prolog_Octagonal_Shape_float.lo: ../ppl_prolog_Octagonal_Shape_float.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_float.cc' object='ppl_prolog_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
 
 ppl_prolog_Octagonal_Shape_double.lo: ../ppl_prolog_Octagonal_Shape_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_double.cc' object='ppl_prolog_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
 
 ppl_prolog_Octagonal_Shape_long_double.lo: ../ppl_prolog_Octagonal_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_long_double.cc' object='ppl_prolog_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
 
 ppl_prolog_Octagonal_Shape_mpq_class.lo: ../ppl_prolog_Octagonal_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
 
 ppl_prolog_Octagonal_Shape_mpz_class.lo: ../ppl_prolog_Octagonal_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
 
 ppl_prolog_Polyhedron.lo: ../ppl_prolog_Polyhedron.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Polyhedron.Tpo -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Polyhedron.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Polyhedron.Tpo -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Polyhedron.cc' object='ppl_prolog_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
 
 ppl_prolog_Grid.lo: ../ppl_prolog_Grid.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Grid.Tpo -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Grid.Tpo $(DEPDIR)/ppl_prolog_Grid.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Grid.Tpo -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Grid.Tpo $(DEPDIR)/ppl_prolog_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Grid.cc' object='ppl_prolog_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
 
 ppl_prolog_Pointset_Powerset_Int8_Box.lo: ../ppl_prolog_Pointset_Powerset_Int8_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int8_Box.cc' object='ppl_prolog_Pointset_Powerset_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int16_Box.lo: ../ppl_prolog_Pointset_Powerset_Int16_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int16_Box.cc' object='ppl_prolog_Pointset_Powerset_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int32_Box.lo: ../ppl_prolog_Pointset_Powerset_Int32_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int32_Box.cc' object='ppl_prolog_Pointset_Powerset_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int64_Box.lo: ../ppl_prolog_Pointset_Powerset_Int64_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int64_Box.cc' object='ppl_prolog_Pointset_Powerset_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint8_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint16_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint32_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint64_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
 
 ppl_prolog_Pointset_Powerset_Float_Box.lo: ../ppl_prolog_Pointset_Powerset_Float_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Float_Box.cc' object='ppl_prolog_Pointset_Powerset_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
 
 ppl_prolog_Pointset_Powerset_Double_Box.lo: ../ppl_prolog_Pointset_Powerset_Double_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Double_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Doub [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Double_Box.cc
 
 ppl_prolog_Pointset_Powerset_Long_Double_Box.lo: ../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Long_D [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
 
 ppl_prolog_Pointset_Powerset_Rational_Box.lo: ../ppl_prolog_Pointset_Powerset_Rational_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Rational_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Power [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Rational_Box.cc' object='ppl_prolog_Pointset_Powerset_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Rational_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Rational_Box.cc
 
 ppl_prolog_Pointset_Powerset_Z_Box.lo: ../ppl_prolog_Pointset_Powerset_Z_Box.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Z_Box.cc' object='ppl_prolog_Pointset_Powerset_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Sha [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_float.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Points [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_double.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Sha [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Poin [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Pow [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../p [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Pow [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../p [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_pro [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo ' [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || ec [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || ec [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || ec [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_ [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(sr [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_pro [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo ' [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' || echo '$( [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_ [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/ [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.c [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/ [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.c [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
 
 ppl_prolog_Pointset_Powerset_C_Polyhedron.lo: ../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Power [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
 
 ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo: ../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Points [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
 
 ppl_prolog_Pointset_Powerset_Grid.lo: ../ppl_prolog_Pointset_Powerset_Grid.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Grid.cc' object='ppl_prolog_Pointset_Powerset_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
 
 ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo: ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constrai [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'` [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
 
 ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo: ../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_ [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(sr [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
 
 ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo: ../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constrai [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'` [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
 
 ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo: ../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
- at am__fastdepCXX_TRUE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_ [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(sr [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
+
+ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo: ../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Tpo -c -o ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' | [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc
+
+ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo: ../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Tpo -c -o ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Gr [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc
+
+ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo: ../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Tpo -c -o ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' | [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc
+
+ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo: ../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Tpo -c -o ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedr [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -1161,34 +1341,37 @@ clean-libtool:
 install-pkglibDATA: $(pkglib_DATA)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
-	@list='$(pkglib_DATA)'; for p in $$list; do \
+	@list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \
+	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  f=$(am__strip_dir) \
-	  echo " $(pkglibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkglibdir)/$$f'"; \
-	  $(pkglibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkglibdir)/$$f"; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkglibdir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkglibdir)" || exit $$?; \
 	done
 
 uninstall-pkglibDATA:
 	@$(NORMAL_UNINSTALL)
-	@list='$(pkglib_DATA)'; for p in $$list; do \
-	  f=$(am__strip_dir) \
-	  echo " rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
-	done
+	@list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(pkglibdir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(pkglibdir)" && rm -f $$files
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
@@ -1196,29 +1379,34 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -1239,13 +1427,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -1280,6 +1472,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -1301,6 +1494,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -1309,18 +1504,28 @@ install-data-am:
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am: install-pkglibDATA install-pkglibLTLIBRARIES
 
 install-html: install-html-am
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-am
 
+install-pdf-am:
+
 install-ps: install-ps-am
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -1343,7 +1548,7 @@ ps-am:
 
 uninstall-am: uninstall-pkglibDATA uninstall-pkglibLTLIBRARIES
 
-.MAKE: install-am install-strip
+.MAKE: check-am install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am check-local clean \
 	clean-generic clean-libtool clean-pkglibLTLIBRARIES ctags \
@@ -1373,7 +1578,7 @@ ppl_yap.cc: $(interface_generator_dependencies)
 @ENABLE_SHARED_TRUE@		-dlopen ../../../src/libppl.la \
 @ENABLE_SHARED_TRUE@		$(WATCHDOG_DLOPEN) \
 @ENABLE_SHARED_TRUE@		-dlopen ppl_yap.la \
- at ENABLE_SHARED_TRUE@		yap -l $(srcdir)/yap_pl_check.pl \
+ at ENABLE_SHARED_TRUE@		$(YAP_PROLOG) -l $(srcdir)/yap_pl_check.pl \
 @ENABLE_SHARED_TRUE@			<script_pchk >obtained_pchk
 @ENABLE_SHARED_TRUE@	diff -u --ignore-all-space $(EXPECTED_PCHK) obtained_pchk
 
@@ -1387,7 +1592,7 @@ ppl_yap.cc: $(interface_generator_dependencies)
 @ENABLE_SHARED_TRUE@		-dlopen ../../../src/libppl.la \
 @ENABLE_SHARED_TRUE@		$(WATCHDOG_DLOPEN) \
 @ENABLE_SHARED_TRUE@		-dlopen ppl_yap.la \
- at ENABLE_SHARED_TRUE@		yap -l $(srcdir)/yap_clpq.pl \
+ at ENABLE_SHARED_TRUE@		$(YAP_PROLOG) -l $(srcdir)/yap_clpq.pl \
 @ENABLE_SHARED_TRUE@			<script_clpq >obtained_clpq
 @ENABLE_SHARED_TRUE@	diff -u --ignore-all-space $(EXPECTED_CLPQ) obtained_clpq
 
@@ -1398,7 +1603,7 @@ ppl_yap.cc: $(interface_generator_dependencies)
 @ENABLE_SHARED_TRUE@		-dlopen ../../../src/libppl.la \
 @ENABLE_SHARED_TRUE@		$(WATCHDOG_DLOPEN) \
 @ENABLE_SHARED_TRUE@		-dlopen ppl_yap.la \
- at ENABLE_SHARED_TRUE@		yap -l $(srcdir)/yap_clpq2.pl \
+ at ENABLE_SHARED_TRUE@		$(YAP_PROLOG) -l $(srcdir)/yap_clpq2.pl \
 @ENABLE_SHARED_TRUE@			<script_clpq2 >obtained_clpq2
 @ENABLE_SHARED_TRUE@	diff -u --ignore-all-space $(EXPECTED_CLPQ2) obtained_clpq2
 
@@ -1414,7 +1619,7 @@ ppl_yap.cc: $(interface_generator_dependencies)
 @ENABLE_SHARED_TRUE@		-dlopen ../../../src/libppl.la \
 @ENABLE_SHARED_TRUE@		$(WATCHDOG_DLOPEN) \
 @ENABLE_SHARED_TRUE@		-dlopen ppl_yap.la \
- at ENABLE_SHARED_TRUE@		yap -l yap_prolog_generated_test.pl \
+ at ENABLE_SHARED_TRUE@		$(YAP_PROLOG) -l yap_prolog_generated_test.pl \
 @ENABLE_SHARED_TRUE@			<script_pgt >obtained_pgt
 @ENABLE_SHARED_TRUE@	if [ $(srcdir) != `pwd` ]; then \
 @ENABLE_SHARED_TRUE@	  rm -f ppl_prolog_generated_test_common.pl; \
@@ -1432,6 +1637,7 @@ $(top_builddir)/interfaces/ppl_interface_instantiations.m4:
 # makefile.
 $(nodist_EXTRA_ppl_yap_la_SOURCES):
 ../tests/ppl_prolog_generated_test_main.pl:
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4 b/interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4
index 5ea8630..a1f6024 100644
--- a/interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4
+++ b/interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4
@@ -2,7 +2,7 @@ m4_define(`dnl', `m4_dnl')`'dnl
 m4_divert(-1)
 
 dnl This m4 file generates the file ppl_yap.cc.
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -95,6 +95,33 @@ yap_stub_##name() { \
   return name(arg1, arg2, arg3, arg4, arg5, arg6); \
 }
 
+#define YAP_STUB_7(name) \
+extern "C" Prolog_foreign_return_type \
+yap_stub_##name() { \
+  Prolog_term_ref arg1 = YAP_ARG1; \
+  Prolog_term_ref arg2 = YAP_ARG2; \
+  Prolog_term_ref arg3 = YAP_ARG3; \
+  Prolog_term_ref arg4 = YAP_ARG4; \
+  Prolog_term_ref arg5 = YAP_ARG5; \
+  Prolog_term_ref arg6 = YAP_ARG6; \
+  Prolog_term_ref arg7 = YAP_ARG7; \
+  return name(arg1, arg2, arg3, arg4, arg5, arg6, arg7); \
+}
+
+#define YAP_STUB_8(name) \
+extern "C" Prolog_foreign_return_type \
+yap_stub_##name() { \
+  Prolog_term_ref arg1 = YAP_ARG1; \
+  Prolog_term_ref arg2 = YAP_ARG2; \
+  Prolog_term_ref arg3 = YAP_ARG3; \
+  Prolog_term_ref arg4 = YAP_ARG4; \
+  Prolog_term_ref arg5 = YAP_ARG5; \
+  Prolog_term_ref arg6 = YAP_ARG6; \
+  Prolog_term_ref arg7 = YAP_ARG7; \
+  Prolog_term_ref arg8 = YAP_ARG8; \
+  return name(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); \
+}
+
 dnl
 dnl Place here YAP_STUB macros.
 dnl
diff --git a/interfaces/Prolog/YAP/ppl_prolog_sysdep.hh b/interfaces/Prolog/YAP/ppl_prolog_sysdep.hh
index 3228c00..5f7a3d6 100644
--- a/interfaces/Prolog/YAP/ppl_prolog_sysdep.hh
+++ b/interfaces/Prolog/YAP/ppl_prolog_sysdep.hh
@@ -1,5 +1,5 @@
 /* System-dependent part of the Prolog interfaces: stub for YAP.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/YAP/ppl_yap.pl b/interfaces/Prolog/YAP/ppl_yap.pl
index 149297f..a877d55 100644
--- a/interfaces/Prolog/YAP/ppl_yap.pl
+++ b/interfaces/Prolog/YAP/ppl_yap.pl
@@ -1,5 +1,5 @@
 /* Loader for the YAP Prolog interface.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/YAP/yap_cfli.hh b/interfaces/Prolog/YAP/yap_cfli.hh
index 20903ce..5e1deb5 100644
--- a/interfaces/Prolog/YAP/yap_cfli.hh
+++ b/interfaces/Prolog/YAP/yap_cfli.hh
@@ -1,5 +1,5 @@
 /* YAP Prolog Common Foreign Language Interface.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/YAP/yap_clpq.pl b/interfaces/Prolog/YAP/yap_clpq.pl
index 34c8fbf..50172fc 100644
--- a/interfaces/Prolog/YAP/yap_clpq.pl
+++ b/interfaces/Prolog/YAP/yap_clpq.pl
@@ -1,5 +1,5 @@
 /* Prolog main program for the toy PPL/YAP-Prolog CLP(Q) interpreter.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/YAP/yap_clpq2.pl b/interfaces/Prolog/YAP/yap_clpq2.pl
index 416034f..78245e3 100644
--- a/interfaces/Prolog/YAP/yap_clpq2.pl
+++ b/interfaces/Prolog/YAP/yap_clpq2.pl
@@ -1,5 +1,5 @@
 /* Prolog main program for the 2nd toy PPL/YAP-Prolog CLP(Q) interpreter.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/YAP/yap_efli.cc b/interfaces/Prolog/YAP/yap_efli.cc
index ecdb5a2..e217632 100644
--- a/interfaces/Prolog/YAP/yap_efli.cc
+++ b/interfaces/Prolog/YAP/yap_efli.cc
@@ -1,5 +1,5 @@
 /* YAP extended foreign language interface: definitions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/YAP/yap_efli.hh b/interfaces/Prolog/YAP/yap_efli.hh
index e43cf29..4f78725 100644
--- a/interfaces/Prolog/YAP/yap_efli.hh
+++ b/interfaces/Prolog/YAP/yap_efli.hh
@@ -1,5 +1,5 @@
 /* YAP extended foreign language interface: declarations.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/YAP/yap_pl_check.pl b/interfaces/Prolog/YAP/yap_pl_check.pl
index 2c63552..b8a2273 100644
--- a/interfaces/Prolog/YAP/yap_pl_check.pl
+++ b/interfaces/Prolog/YAP/yap_pl_check.pl
@@ -1,5 +1,5 @@
 /* Prolog main program for the PPL/YAP-Prolog predicate checker.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/YAP/yap_prolog_generated_test.pl b/interfaces/Prolog/YAP/yap_prolog_generated_test.pl
index 5437d95..4250765 100644
--- a/interfaces/Prolog/YAP/yap_prolog_generated_test.pl
+++ b/interfaces/Prolog/YAP/yap_prolog_generated_test.pl
@@ -1,5 +1,5 @@
 /* Prolog main program for the PPL/YAP-Prolog predicate checker.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4 b/interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4
index 8917c79..d055cdb 100644
--- a/interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4
+++ b/interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4
@@ -5,7 +5,7 @@ This m4 file contains the program code for generating the
 files ppl_prolog_DOMAIN.cc for each interface domain DOMAIN
 in ppl_interface instantiations.m4.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -375,7 +375,7 @@ m4_define(`ppl_ at CLASS@_get_disjunct_code',
     PPL_CHECK(it);
 
     @DISJUNCT_TOPOLOGY@@A_DISJUNCT@* disj
-      = const_cast<@DISJUNCT_TOPOLOGY@@A_DISJUNCT@*>(&((*it)->element()));
+      = const_cast<@DISJUNCT_TOPOLOGY@@A_DISJUNCT@*>(&((*it)->pointset()));
     Prolog_term_ref t_d = Prolog_new_term_ref();
     Prolog_put_address(t_d, disj);
 
@@ -479,8 +479,14 @@ ppl_ at CLASS@_linear_ at PARTITION@(Prolog_term_ref t_ph,
     Prolog_put_address(t_r_second, rsh);
     if (Prolog_unify(t_inters, t_r_first)
         && Prolog_unify(t_pset, t_r_second)) {
+      PPL_REGISTER(rfh);
+      PPL_REGISTER(rsh);
       return PROLOG_SUCCESS;
     }
+    else {
+      delete rfh;
+      delete rsh;
+    }
   }
   CATCH_ALL;
 }
@@ -936,22 +942,6 @@ m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@_code',
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize_code',
-  `extern "C" Prolog_foreign_return_type
-  ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize(Prolog_term_ref t_ph,
-                                               Prolog_term_ref t_c) {
-  static const char* where = "ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize/2";
-  try {
-    @CPP_CLASS@* ph = term_to_handle<@CPP_CLASS@ >(t_ph, where);
-    PPL_CHECK(ph);
-    if (ph->add_ at CLASS_REPRESENT@_and_minimize(build_ at CLASS_REPRESENT@(t_c, where)))
-      return PROLOG_SUCCESS;
-  }
-  CATCH_ALL;
-}
-
-')
-
 m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_code',
   `extern "C" Prolog_foreign_return_type
   ppl_ at CLASS@_add_ at CLASS_REPRESENT@s(Prolog_term_ref t_ph,
@@ -1006,33 +996,6 @@ m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@s_code',
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize_code',
-  `extern "C" Prolog_foreign_return_type
-  ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize(Prolog_term_ref t_ph,
-                                                Prolog_term_ref t_clist) {
-  static const char* where = "ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize/2";
-  try {
-    @CPP_CLASS@* ph = term_to_handle<@CPP_CLASS@ >(t_ph, where);
-    PPL_CHECK(ph);
-    @!CLASS_REPRESENT at _System cs;
-    Prolog_term_ref c = Prolog_new_term_ref();
-
-    while (Prolog_is_cons(t_clist)) {
-      Prolog_get_cons(t_clist, c, t_clist);
-      cs.insert(build_ at CLASS_REPRESENT@(c, where));
-    }
-
-    // Check the list is properly terminated.
-    check_nil_terminating(t_clist, where);
-
-    if (ph->add_ at CLASS_REPRESENT@s_and_minimize(cs))
-      return PROLOG_SUCCESS;
-  }
-  CATCH_ALL;
-}
-
-')
-
 m4_define(`bop_assign_code',
 `namespace Parma_Polyhedra_Library {
 
@@ -1056,23 +1019,6 @@ bop_assign(Prolog_term_ref t_lhs,
   CATCH_ALL;
 }
 
-Prolog_foreign_return_type
-bop_assign_and_minimize(Prolog_term_ref t_lhs,
-                        Prolog_term_ref t_rhs,
-                        bool (@CPP_CLASS@::*
-                              bop_assign_and_minimize)(const @CPP_CLASS@&),
-                        const char* where) {
-  try {
-    @CPP_CLASS@* lhs = term_to_handle<@CPP_CLASS@ >(t_lhs, where);
-    const @CPP_CLASS@* rhs = term_to_handle<@CPP_CLASS@ >(t_rhs, where);
-    PPL_CHECK(lhs);
-    PPL_CHECK(rhs);
-    if ((lhs->*bop_assign_and_minimize)(*rhs))
-      return PROLOG_SUCCESS;
-  }
-  CATCH_ALL;
-}
-
 } // namespace Prolog
 
 } // namespace Interfaces
@@ -1101,24 +1047,6 @@ m4_define(`ppl_ at CLASS@_ at BINOP@_code',
 
 ')
 
-m4_define(`ppl_ at CLASS@_ at BINMINOP@_code',
-  `extern "C" Prolog_foreign_return_type
-  ppl_ at CLASS@_ at BINMINOP@
-  (Prolog_term_ref t_lhs, Prolog_term_ref t_rhs) {
-  static const char* where = "ppl_ at CLASS@_ at BINMINOP@";
-  try {
-    @CPP_CLASS@* lhs = term_to_handle<@CPP_CLASS@ >(t_lhs, where);
-    const @CPP_CLASS@* rhs = term_to_handle<@CPP_CLASS@ >(t_rhs, where);
-    PPL_CHECK(lhs);
-    PPL_CHECK(rhs);
-    if (lhs->@BINMINOP@(*rhs))
-      return PROLOG_SUCCESS;
-  }
-  CATCH_ALL;
-}
-
-')
-
 m4_define(`ppl_ at CLASS@_simplify_using_context_assign_code',
   `extern "C" Prolog_foreign_return_type
   ppl_ at CLASS@_simplify_using_context_assign
@@ -1306,6 +1234,231 @@ m4_define(`ppl_ at CLASS@_bounded_ at AFFIMAGE@_code',
 
 ')
 
+m4_define(`ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+  `extern "C" Prolog_foreign_return_type
+  ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@
+  (Prolog_term_ref t_pset) {
+  static const char* where = "ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@/1";
+  try {
+    @TOPOLOGY@@CPP_CLASS@* pset = term_to_handle<@TOPOLOGY@@CPP_CLASS@ >(t_pset, where);
+    PPL_CHECK(pset);
+    if (Parma_Polyhedra_Library::termination_test_ at TERMINATION_ID@(*pset))
+      return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
+
+')
+
+m4_define(`ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_code',
+  `extern "C" Prolog_foreign_return_type
+  ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2
+  (Prolog_term_ref t_pset_before, Prolog_term_ref t_pset_after) {
+  static const char* where
+      = "ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2/2";
+  try {
+    @TOPOLOGY@@CPP_CLASS@* pset_before
+       = term_to_handle<@TOPOLOGY@@CPP_CLASS@ >(t_pset_before, where);
+    @TOPOLOGY@@CPP_CLASS@* pset_after
+       = term_to_handle<@TOPOLOGY@@CPP_CLASS@ >(t_pset_after, where);
+    PPL_CHECK(pset_before);
+    PPL_CHECK(pset_after);
+    if (Parma_Polyhedra_Library
+        ::termination_test_ at TERMINATION_ID@_2(*pset_before, *pset_after))
+      return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
+
+')
+
+m4_define(`ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+  `extern "C" Prolog_foreign_return_type
+  ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@
+  (Prolog_term_ref t_pset,
+   Prolog_term_ref t_g) {
+  static const char* where
+     = "ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@/2";
+  try {
+    @TOPOLOGY@@CPP_CLASS@* pset = term_to_handle<@TOPOLOGY@@CPP_CLASS@ >(t_pset, where);
+    Generator gg(point());
+    PPL_CHECK(pset);
+    if (Parma_Polyhedra_Library
+        ::one_affine_ranking_function_ at TERMINATION_ID@(*pset, gg)
+        && Prolog_unify(t_g, generator_term(gg)))
+      return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
+
+')
+
+m4_define(`ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_code',
+  `extern "C" Prolog_foreign_return_type
+  ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2
+  (Prolog_term_ref t_pset_before,
+   Prolog_term_ref t_pset_after,
+   Prolog_term_ref t_g) {
+  static const char* where
+     = "ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2/3";
+  try {
+    @TOPOLOGY@@CPP_CLASS@* pset_before
+       = term_to_handle<@TOPOLOGY@@CPP_CLASS@ >(t_pset_before, where);
+    @TOPOLOGY@@CPP_CLASS@* pset_after
+       = term_to_handle<@TOPOLOGY@@CPP_CLASS@ >(t_pset_after, where);
+    Generator gg(point());
+    PPL_CHECK(pset_before);
+    PPL_CHECK(pset_after);
+    if (Parma_Polyhedra_Library
+        ::one_affine_ranking_function_ at TERMINATION_ID@_2(*pset_before,
+                                                         *pset_after,
+                                                         gg)
+        && Prolog_unify(t_g, generator_term(gg)))
+      return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
+
+')
+
+m4_define(`ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+  `extern "C" Prolog_foreign_return_type
+  ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@
+  (Prolog_term_ref t_pset,
+   Prolog_term_ref t_ph) {
+  static const char* where =
+      "ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@/2";
+  try {
+    @TOPOLOGY@@CPP_CLASS@* pset = term_to_handle<@TOPOLOGY@@CPP_CLASS@ >(t_pset, where);
+    PPL_CHECK(pset);
+    @A_TERMINATION_ID at Polyhedron* ph = new @A_TERMINATION_ID at Polyhedron();
+    Parma_Polyhedra_Library
+      ::all_affine_ranking_functions_ at TERMINATION_ID@(*pset, *ph);
+    Prolog_term_ref tmp = Prolog_new_term_ref();
+    Prolog_put_address(tmp, ph);
+    if (Prolog_unify(t_ph, tmp)) {
+      PPL_REGISTER(ph);
+      return PROLOG_SUCCESS;
+    }
+    else
+      delete ph;
+  }
+  CATCH_ALL;
+}
+
+')
+
+m4_define(`ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_code',
+  `extern "C" Prolog_foreign_return_type
+  ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2
+  (Prolog_term_ref t_pset_before,
+   Prolog_term_ref t_pset_after,
+   Prolog_term_ref t_ph) {
+  static const char* where =
+      "ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2/3";
+  try {
+    @TOPOLOGY@@CPP_CLASS@* pset_before
+       = term_to_handle<@TOPOLOGY@@CPP_CLASS@ >(t_pset_before, where);
+    @TOPOLOGY@@CPP_CLASS@* pset_after
+       = term_to_handle<@TOPOLOGY@@CPP_CLASS@ >(t_pset_after, where);
+    PPL_CHECK(pset_before);
+    PPL_CHECK(pset_after);
+    @A_TERMINATION_ID at Polyhedron* ph = new @A_TERMINATION_ID at Polyhedron();
+    Parma_Polyhedra_Library
+      ::all_affine_ranking_functions_ at TERMINATION_ID@_2(*pset_before,
+                                                        *pset_after,
+                                                        *ph);
+    Prolog_term_ref tmp = Prolog_new_term_ref();
+    Prolog_put_address(tmp, ph);
+    if (Prolog_unify(t_ph, tmp)) {
+      PPL_REGISTER(ph);
+      return PROLOG_SUCCESS;
+    }
+    else
+      delete ph;
+  }
+  CATCH_ALL;
+}
+
+')
+
+m4_define(`ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _code',
+  `extern "C" Prolog_foreign_return_type
+  ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS@
+  (Prolog_term_ref t_pset,
+   Prolog_term_ref t_ph_decreasing,
+   Prolog_term_ref t_ph_bounded) {
+  static const char* where =
+      "ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS@/3";
+  try {
+    @TOPOLOGY@@CPP_CLASS@* pset = term_to_handle<@TOPOLOGY@@CPP_CLASS@ >(t_pset, where);
+    PPL_CHECK(pset);
+    C_Polyhedron* ph_decreasing = new C_Polyhedron();
+    C_Polyhedron* ph_bounded = new C_Polyhedron();
+    Parma_Polyhedra_Library
+      ::all_affine_quasi_ranking_functions_MS(*pset,
+                                              *ph_decreasing, *ph_bounded);
+    Prolog_term_ref tmp_decreasing = Prolog_new_term_ref();
+    Prolog_put_address(tmp_decreasing, ph_decreasing);
+    Prolog_term_ref tmp_bounded = Prolog_new_term_ref();
+    Prolog_put_address(tmp_bounded, ph_bounded);
+    if (Prolog_unify(t_ph_decreasing, tmp_decreasing)
+        && Prolog_unify(t_ph_bounded, tmp_bounded)) {
+      PPL_REGISTER(ph_decreasing);
+      PPL_REGISTER(ph_bounded);
+      return PROLOG_SUCCESS;
+    }
+    else {
+      delete ph_decreasing;
+      delete ph_bounded;
+    }
+  }
+  CATCH_ALL;
+}
+
+')
+
+m4_define(`ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _2_code',
+  `extern "C" Prolog_foreign_return_type
+  ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _2
+  (Prolog_term_ref t_pset_before,
+   Prolog_term_ref t_pset_after,
+   Prolog_term_ref t_ph_decreasing,
+   Prolog_term_ref t_ph_bounded) {
+  static const char* where =
+      "ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _2/4";
+  try {
+    @TOPOLOGY@@CPP_CLASS@* pset_before
+       = term_to_handle<@TOPOLOGY@@CPP_CLASS@ >(t_pset_before, where);
+    @TOPOLOGY@@CPP_CLASS@* pset_after
+       = term_to_handle<@TOPOLOGY@@CPP_CLASS@ >(t_pset_after, where);
+    PPL_CHECK(pset_before);
+    PPL_CHECK(pset_after);
+    C_Polyhedron* ph_decreasing = new C_Polyhedron();
+    C_Polyhedron* ph_bounded = new C_Polyhedron();
+    Parma_Polyhedra_Library
+      ::all_affine_quasi_ranking_functions_MS_2(*pset_before, *pset_after,
+                                                *ph_decreasing, *ph_bounded);
+    Prolog_term_ref tmp_decreasing = Prolog_new_term_ref();
+    Prolog_put_address(tmp_decreasing, ph_decreasing);
+    Prolog_term_ref tmp_bounded = Prolog_new_term_ref();
+    Prolog_put_address(tmp_bounded, ph_bounded);
+    if (Prolog_unify(t_ph_decreasing, tmp_decreasing)
+        && Prolog_unify(t_ph_bounded, tmp_bounded)) {
+      PPL_REGISTER(ph_decreasing);
+      PPL_REGISTER(ph_bounded);
+      return PROLOG_SUCCESS;
+    }
+    else {
+      delete ph_decreasing;
+      delete ph_bounded;
+    }
+  }
+  CATCH_ALL;
+}
+
+')
+
 m4_define(`ppl_ at CLASS@_ at WIDEN@_widening_assign_with_tokens_code',
   `extern "C" Prolog_foreign_return_type
   ppl_ at CLASS@_ at WIDEN@_widening_assign_with_tokens
@@ -1729,8 +1882,9 @@ m4_define(`ppl_ at CLASS@_map_space_dimensions_code',
       Prolog_get_arg(2, t_pair, t_j);
       dimension_type i = term_to_Variable(t_i, where).id();
       dimension_type j = term_to_Variable(t_j, where).id();
-      if (i >= space_dim || !pfunc.insert(i, j))
+      if (i >= space_dim)
         return PROLOG_FAILURE;
+      pfunc.insert(i, j);
     }
 
     // Check the list is properly terminated.
@@ -1744,6 +1898,66 @@ m4_define(`ppl_ at CLASS@_map_space_dimensions_code',
 
 ')
 
+m4_define(`ppl_ at CLASS@_drop_some_non_integer_points_code',
+  `extern "C" Prolog_foreign_return_type
+  ppl_ at CLASS@_drop_some_non_integer_points
+  (Prolog_term_ref t_ph, Prolog_term_ref t_cc) {
+  static const char* where = "ppl_ at CLASS@_drop_some_non_integer_points/2";
+  try {
+    @CPP_CLASS@* ph = term_to_handle<@CPP_CLASS@ >(t_ph, where);
+    PPL_CHECK(ph);
+    Prolog_atom p_cc = term_to_complexity_class(t_cc, where);
+    Complexity_Class cc;
+    if (p_cc == a_polynomial)
+      cc = POLYNOMIAL_COMPLEXITY;
+    else if (p_cc == a_simplex)
+      cc = SIMPLEX_COMPLEXITY;
+    else
+      cc = ANY_COMPLEXITY;
+
+    ph->drop_some_non_integer_points(cc);
+    return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
+
+')
+
+m4_define(`ppl_ at CLASS@_drop_some_non_integer_points_2_code',
+  `extern "C" Prolog_foreign_return_type
+  ppl_ at CLASS@_drop_some_non_integer_points_2
+  (Prolog_term_ref t_ph, Prolog_term_ref t_vlist, Prolog_term_ref t_cc) {
+  static const char* where = "ppl_ at CLASS@_drop_some_non_integer_points_2/3";
+  try {
+    @CPP_CLASS@* ph = term_to_handle<@CPP_CLASS@ >(t_ph, where);
+    PPL_CHECK(ph);
+    Variables_Set variables;
+    Prolog_term_ref v = Prolog_new_term_ref();
+    while (Prolog_is_cons(t_vlist)) {
+      Prolog_get_cons(t_vlist, v, t_vlist);
+      variables.insert(term_to_Variable(v, where).id());
+    }
+
+    // Check the list is properly terminated.
+    check_nil_terminating(t_vlist, where);
+
+    Prolog_atom p_cc = term_to_complexity_class(t_cc, where);
+    Complexity_Class cc;
+    if (p_cc == a_polynomial)
+      cc = POLYNOMIAL_COMPLEXITY;
+    else if (p_cc == a_simplex)
+      cc = SIMPLEX_COMPLEXITY;
+    else
+      cc = ANY_COMPLEXITY;
+
+    ph->drop_some_non_integer_points(variables, cc);
+    return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
+
+')
+
 m4_define(`ppl_ at CLASS@_ascii_dump_code',
   `extern "C" Prolog_foreign_return_type
   ppl_ at CLASS@_ascii_dump
@@ -1776,3 +1990,105 @@ m4_define(`ppl_ at CLASS@_ at MEMBYTES@_code',
 }
 
 ')
+
+m4_define(`ppl_ at CLASS@_wrap_assign_code',
+  `extern "C" Prolog_foreign_return_type
+  ppl_ at CLASS@_wrap_assign
+     (Prolog_term_ref t_ph,
+      Prolog_term_ref t_vars,
+      Prolog_term_ref t_w,
+      Prolog_term_ref t_r,
+      Prolog_term_ref t_o,
+      Prolog_term_ref t_cs,
+      Prolog_term_ref t_complexity,
+      Prolog_term_ref t_ind) {
+  static const char* where = "ppl_ at CLASS@_wrap_assign/8";
+  try {
+    @CPP_CLASS@* pph = term_to_handle<@CPP_CLASS@ >(t_ph, where);
+
+    Variables_Set vars;
+    Prolog_term_ref v = Prolog_new_term_ref();
+    while (Prolog_is_cons(t_vars)) {
+      Prolog_get_cons(t_vars, v, t_vars);
+      vars.insert(term_to_Variable(v, where).id());
+    }
+    // Check the list is properly terminated.
+    check_nil_terminating(t_vars, where);
+
+    Prolog_atom p_w = term_to_bounded_integer_type_width(t_w, where);
+    Bounded_Integer_Type_Width w;
+    if (p_w == a_bits_8)
+      w = BITS_8;
+    else if (p_w == a_bits_16)
+      w = BITS_16;
+    else if (p_w == a_bits_32)
+      w = BITS_32;
+    else if (p_w == a_bits_64)
+      w = BITS_64;
+    else
+      w = BITS_128;
+
+    Prolog_atom p_r = term_to_bounded_integer_type_representation(t_r, where);
+    Bounded_Integer_Type_Representation r;
+    if (p_r == a_unsigned)
+      r = UNSIGNED;
+    else
+      r = SIGNED_2_COMPLEMENT;
+    Prolog_atom p_o = term_to_bounded_integer_type_overflow(t_o, where);
+    Bounded_Integer_Type_Overflow o;
+    if (p_o == a_overflow_wraps)
+      o = OVERFLOW_WRAPS;
+    else if (p_o == a_overflow_undefined)
+      o = OVERFLOW_UNDEFINED;
+    else
+      o = OVERFLOW_IMPOSSIBLE;
+
+    Constraint_System cs;
+    Prolog_term_ref c = Prolog_new_term_ref();
+    while (Prolog_is_cons(t_cs)) {
+      Prolog_get_cons(t_cs, c, t_cs);
+      cs.insert(build_constraint(c, where));
+    }
+    // Check the list is properly terminated.
+    check_nil_terminating(t_cs, where);
+
+    unsigned complexity = term_to_unsigned<unsigned>(t_complexity, where);
+
+    Prolog_atom p_ind = term_to_boolean(t_ind, where);
+    bool ind = (p_ind == a_true) ? true : false;
+
+    pph->wrap_assign(vars, w, r, o, &cs, complexity, ind);
+    return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+ }
+
+')
+
+m4_define(`ppl_ at CLASS@_frequency_code',
+  `extern "C" Prolog_foreign_return_type
+  ppl_ at CLASS@_frequency(Prolog_term_ref t_ph,
+                        Prolog_term_ref t_le_expr,
+                        Prolog_term_ref t_freqn, Prolog_term_ref t_freqd,
+                        Prolog_term_ref t_valn, Prolog_term_ref t_vald) {
+  static const char* where = "ppl_ at CLASS@_frequency/6";
+  try {
+    const @CPP_CLASS@* ph = term_to_handle<@CPP_CLASS@ >(t_ph, where);
+    PPL_CHECK(ph);
+    const Linear_Expression le = build_linear_expression(t_le_expr, where);
+    PPL_DIRTY_TEMP_COEFFICIENT(freqn);
+    PPL_DIRTY_TEMP_COEFFICIENT(freqd);
+    PPL_DIRTY_TEMP_COEFFICIENT(valn);
+    PPL_DIRTY_TEMP_COEFFICIENT(vald);
+    if (ph->frequency(le, freqn, freqd, valn, vald)) {
+      if (Prolog_unify_Coefficient(t_freqn, freqn)
+          && Prolog_unify_Coefficient(t_freqd, freqd)
+          && Prolog_unify_Coefficient(t_valn, valn)
+          && Prolog_unify_Coefficient(t_vald, vald))
+        return PROLOG_SUCCESS;
+    }
+  }
+  CATCH_ALL;
+}
+
+')
diff --git a/interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4 b/interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4
index 9e5bc4d..d2cab4d 100644
--- a/interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4
+++ b/interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4
@@ -6,7 +6,7 @@ dnl and files ppl_prolog_DOMAIN.cc, for each interface domain DOMAIN
 dnl in ppl_interface instantiations.m4 using the code in
 dnl ppl_interface_generator_prolog_cc_code.m4.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -39,7 +39,8 @@ dnl m4_pre_extra_class_code(Class_Counter)
 dnl Prefix extra code for each class.
 m4_define(`m4_pre_extra_class_code', `dnl
 m4_define(`m4_current_interface', m4_interface_class`'$1)
-%<--%<--%<-- ppl_prolog_`'m4_current_interface.cc
+___END_OF_FILE___
+___BEGIN_OF_FILE___ ppl_prolog_`'m4_current_interface.cc << ___END_OF_FILE___
 /* Prolog m4_current_interface interface code: definitions.
 m4_include(`ppl_interface_generator_copyright')`'dnl
 */
@@ -50,11 +51,10 @@ m4_include(`ppl_interface_generator_copyright')`'dnl
 ')
 
 m4_divert`'dnl
-
-`#'include "ppl_prolog_common.cc"`'dnl
 dnl
 dnl Generate the non-fixed part of the file.
 m4_all_code`'dnl
+___END_OF_FILE___
 dnl
 dnl End of file generation.
 
diff --git a/interfaces/Prolog/ppl_interface_generator_prolog_dox.m4 b/interfaces/Prolog/ppl_interface_generator_prolog_dox.m4
index 1266272..298b9e0 100644
--- a/interfaces/Prolog/ppl_interface_generator_prolog_dox.m4
+++ b/interfaces/Prolog/ppl_interface_generator_prolog_dox.m4
@@ -4,7 +4,7 @@ m4_divert(-1)
 dnl This m4 file generates the file Prolog_configured_interface.dox
 dnl and Prolog_interface.dox
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/interfaces/Prolog/ppl_interface_generator_prolog_dox_code.m4 b/interfaces/Prolog/ppl_interface_generator_prolog_dox_code.m4
index 529217b..15e2694 100644
--- a/interfaces/Prolog/ppl_interface_generator_prolog_dox_code.m4
+++ b/interfaces/Prolog/ppl_interface_generator_prolog_dox_code.m4
@@ -2,7 +2,7 @@ m4_divert(-1)
 
 dnl This m4 file contains the program code for generating Prolog_interface.dox
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -946,6 +946,27 @@ m4_define(`ppl_ at CLASS@_unconstrain_space_dimensions_trans_doc',
 
 ')
 
+m4_define(`ppl_ at CLASS@_wrap_assign_trans_doc',
+`dnl
+<P><CODE>ppl_ at CLASS@_wrap_assign(+Handle, +List_of_PPL_Var, +Width, +Representation, +Overflow, +Constraint_System, +C_unsigned, +Boolean)</CODE><BR>
+  <EM>Transforms the m4_this_ppl_one_object \p P referenced by
+    <CODE>Handle</CODE> by wrapping the dimensions given by
+    <CODE>List_of_PPL_Vars</CODE> while respecting the specified
+    <CODE>Width</CODE>|COMMA| <CODE>Representation</CODE> and
+    <CODE>Overflow</CODE> behavior of all these variables. The
+    <CODE>Constraint_System</CODE> represents the conditional or
+    looping construct guard with respect to which wrapping is
+    performed.  The non-negative integer <CODE>C_unsigned</CODE> and
+    <CODE>Boolean</CODE> allow control of the complexity/precision
+    ratio; higher values for <CODE>C_unsigned</CODE> will lead to
+    possibly greater precision while a true value for
+    <CODE>Boolean</CODE> indicates that the space dimensions should be
+    wrapped individually.  See Section \extref{Wrapping_Operator|COMMA|
+    Wrapping Operator} for a more detailed description of this
+    operator.</EM>
+
+')
+
 dnl -----------------------------------------------------------------
 dnl Documentation for the concatenation predicates;
 dnl -----------------------------------------------------------------
diff --git a/interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4 b/interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4
index 5598257..2ffaf4b 100644
--- a/interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4
+++ b/interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4
@@ -5,7 +5,7 @@ dnl This m4 file contains the program code for generating the
 dnl files ppl_prolog_DOMAIN.hh for each interface domain DOMAIN
 dnl in ppl_interface instantiations.m4.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -264,13 +264,6 @@ m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@_code',
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize_code',
-  `extern "C" Prolog_foreign_return_type
-  ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize(Prolog_term_ref t_ph,
-					       Prolog_term_ref t_c);
-
-')
-
 m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_code',
   `extern "C" Prolog_foreign_return_type
   ppl_ at CLASS@_add_ at CLASS_REPRESENT@s(Prolog_term_ref t_ph,
@@ -285,13 +278,6 @@ m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@s_code',
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize_code',
-  `extern "C" Prolog_foreign_return_type
-  ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize(Prolog_term_ref t_ph,
-						Prolog_term_ref t_clist);
-
-')
-
 m4_define(`ppl_ at CLASS@_ at BINOP@_code',
   `extern "C" Prolog_foreign_return_type
   ppl_ at CLASS@_ at BINOP@
@@ -299,13 +285,6 @@ m4_define(`ppl_ at CLASS@_ at BINOP@_code',
 
 ')
 
-m4_define(`ppl_ at CLASS@_ at BINMINOP@_code',
-  `extern "C" Prolog_foreign_return_type
-  ppl_ at CLASS@_ at BINMINOP@
-  (Prolog_term_ref t_lhs, Prolog_term_ref t_rhs);
-
-')
-
 m4_define(`ppl_ at CLASS@_simplify_using_context_assign_code',
   `extern "C" Prolog_foreign_return_type
   ppl_ at CLASS@_simplify_using_context_assign
@@ -518,6 +497,20 @@ m4_define(`ppl_ at CLASS@_map_space_dimensions_code',
 
 ')
 
+m4_define(`ppl_ at CLASS@_drop_some_non_integer_points_code',
+  `extern "C" Prolog_foreign_return_type
+  ppl_ at CLASS@_drop_some_non_integer_points
+  (Prolog_term_ref t_ph, Prolog_term_ref t_cc);
+
+')
+
+m4_define(`ppl_ at CLASS@_drop_some_non_integer_points_2_code',
+  `extern "C" Prolog_foreign_return_type
+  ppl_ at CLASS@_drop_some_non_integer_points_2
+  (Prolog_term_ref t_ph, Prolog_term_ref t_vlist, Prolog_term_ref t_cc);
+
+')
+
 m4_define(`ppl_ at CLASS@_ascii_dump_code',
   `extern "C" Prolog_foreign_return_type
   ppl_ at CLASS@_ascii_dump
@@ -531,3 +524,92 @@ m4_define(`ppl_ at CLASS@_ at MEMBYTES@_code',
 			 Prolog_term_ref t_m);
 
 ')
+
+m4_define(`ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+  `extern "C" Prolog_foreign_return_type
+  ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@(Prolog_term_ref t_pset);
+
+')
+
+m4_define(`ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_code',
+  `extern "C" Prolog_foreign_return_type
+  ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2
+     (Prolog_term_ref t_pset_before,
+      Prolog_term_ref t_pset_after);
+
+')
+
+m4_define(`ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+  `extern "C" Prolog_foreign_return_type
+  ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@
+     (Prolog_term_ref t_pset,
+      Prolog_term_ref t_g);
+
+')
+
+m4_define(`ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_code',
+  `extern "C" Prolog_foreign_return_type
+  ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2
+     (Prolog_term_ref t_pset_before,
+      Prolog_term_ref t_pset_after,
+      Prolog_term_ref t_g);
+
+')
+
+m4_define(`ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+  `extern "C" Prolog_foreign_return_type
+  ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@
+     (Prolog_term_ref t_pset,
+      Prolog_term_ref t_ph);
+
+')
+
+m4_define(`ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_code',
+  `extern "C" Prolog_foreign_return_type
+  ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2
+     (Prolog_term_ref t_pset_before,
+      Prolog_term_ref t_pset_after,
+      Prolog_term_ref t_ph);
+
+')
+
+m4_define(`ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _code',
+  `extern "C" Prolog_foreign_return_type
+  ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS@
+     (Prolog_term_ref t_pset,
+      Prolog_term_ref t_ph_decreasing,
+      Prolog_term_ref t_ph_bounded);
+
+')
+
+m4_define(`ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _2_code',
+  `extern "C" Prolog_foreign_return_type
+  ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _2
+     (Prolog_term_ref t_pset_before,
+      Prolog_term_ref t_pset_after,
+      Prolog_term_ref t_ph_decreasing,
+      Prolog_term_ref t_ph_bounded);
+
+')
+
+m4_define(`ppl_ at CLASS@_wrap_assign_code',
+  `extern "C" Prolog_foreign_return_type
+  ppl_ at CLASS@_wrap_assign
+     (Prolog_term_ref t_ph,
+      Prolog_term_ref t_vars,
+      Prolog_term_ref t_w,
+      Prolog_term_ref t_r,
+      Prolog_term_ref t_o,
+      Prolog_term_ref t_cs,
+      Prolog_term_ref t_complexity,
+      Prolog_term_ref t_ind);
+
+')
+
+m4_define(`ppl_ at CLASS@_frequency_code',
+  `extern "C" Prolog_foreign_return_type
+  ppl_ at CLASS@_frequency(Prolog_term_ref t_ph, Prolog_term_ref t_le_expr,
+		       Prolog_term_ref t_freqn,  Prolog_term_ref t_freqd,
+		       Prolog_term_ref t_valn,  Prolog_term_ref t_vald);
+
+')
diff --git a/interfaces/Prolog/ppl_interface_generator_prolog_hh_files.m4 b/interfaces/Prolog/ppl_interface_generator_prolog_hh_files.m4
index 943e190..b3f2733 100644
--- a/interfaces/Prolog/ppl_interface_generator_prolog_hh_files.m4
+++ b/interfaces/Prolog/ppl_interface_generator_prolog_hh_files.m4
@@ -6,7 +6,7 @@ dnl and files ppl_prolog_DOMAIN.hh, for each interface domain DOMAIN
 dnl in ppl_interface instantiations.m4 using the code in
 dnl ppl_interface_generator_prolog_hh_code.m4.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -32,7 +32,8 @@ m4_include(ppl_interface_generator_prolog_hh_code.m4)
 m4_include(ppl_interface_generator_prolog_procedure_generators.m4)
 
 m4_divert`'dnl
-%<--%<--%<-- ppl_prolog_domains.hh
+___END_OF_FILE___
+___BEGIN_OF_FILE___ ppl_prolog_domains.hh << ___END_OF_FILE___
 /* Prolog interface code: inclusion of all domain declarations.
 m4_include(`ppl_interface_generator_copyright')dnl
 */
@@ -45,9 +46,11 @@ dnl m4_pre_extra_class_code(Class_Counter)
 dnl Prefix extra code for each class.
 m4_define(`m4_pre_extra_class_code', `dnl
 m4_define(`m4_current_interface', m4_interface_class`'$1)
-%<--%<--%<-- ppl_prolog_domains.hh
+___END_OF_FILE___
+___BEGIN_OF_FILE___ ppl_prolog_domains.hh << ___END_OF_FILE___
 `#'include "ppl_prolog_`'m4_current_interface.hh"
-%<--%<--%<-- ppl_prolog_`'m4_current_interface.hh
+___END_OF_FILE___
+___BEGIN_OF_FILE___ ppl_prolog_`'m4_current_interface.hh << ___END_OF_FILE___
 /* Prolog m4_current_interface interface code: declarations.
 m4_include(`ppl_interface_generator_copyright')`'dnl
 */
@@ -61,6 +64,7 @@ m4_divert`'dnl
 dnl
 dnl Generate the non-fixed part of the file.
 m4_all_code`'dnl
+___END_OF_FILE___
 dnl
 dnl End of file generation.
 
diff --git a/interfaces/Prolog/ppl_interface_generator_prolog_procedure_generators.m4 b/interfaces/Prolog/ppl_interface_generator_prolog_procedure_generators.m4
index dcc3960..734c12b 100644
--- a/interfaces/Prolog/ppl_interface_generator_prolog_procedure_generators.m4
+++ b/interfaces/Prolog/ppl_interface_generator_prolog_procedure_generators.m4
@@ -6,7 +6,7 @@ dnl - the list in the imported file and any Prolog specific predicates;
 dnl   ppl_interface_generator_common_procedure_generators.m4;
 dnl - the list of library predicates needed for the system dependent files.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -41,6 +41,7 @@ ppl_version_beta/1,
 ppl_version/1,
 ppl_banner/1,
 ppl_max_space_dimension/1,
+ppl_Coefficient_bits/1,
 ppl_Coefficient_is_bounded/0,
 ppl_Coefficient_max/1,
 ppl_Coefficient_min/1,
@@ -48,10 +49,14 @@ ppl_initialize/0 *nofail,
 ppl_finalize/0 *nofail,
 ppl_set_rounding_for_PPL/0 *nofail,
 ppl_restore_pre_PPL_rounding/0 *nofail,
+ppl_irrational_precision/1,
+ppl_set_irrational_precision/1,
 ppl_set_timeout_exception_atom/1 *nofail,
 ppl_timeout_exception_atom/1,
 ppl_set_timeout/1 *nofail,
 ppl_reset_timeout/0 *nofail,
+ppl_set_deterministic_timeout/1 *nofail,
+ppl_reset_deterministic_timeout/0 *nofail,
 ppl_new_MIP_Problem_from_space_dimension/2,
 ppl_new_MIP_Problem/5,
 ppl_new_MIP_Problem_from_MIP_Problem/2,
@@ -78,11 +83,50 @@ ppl_MIP_Problem_optimizing_point/2,
 ppl_MIP_Problem_optimal_value/3,
 ppl_MIP_Problem_evaluate_objective_function/4,
 ppl_MIP_Problem_OK/1
-ppl_MIP_Problem_ascii_dump/1`'dnl
+ppl_MIP_Problem_ascii_dump/1,
+ppl_new_PIP_Problem_from_space_dimension/2,
+ppl_new_PIP_Problem/4,
+ppl_new_PIP_Problem_from_PIP_Problem/2,
+ppl_PIP_Problem_swap/2 *nofail,
+ppl_delete_PIP_Problem/1 *nofail,
+ppl_PIP_Problem_space_dimension/2,
+ppl_PIP_Problem_parameter_space_dimensions/2,
+ppl_PIP_Problem_constraints/2,
+ppl_PIP_Problem_clear/1,
+ppl_PIP_Problem_add_space_dimensions_and_embed/3,
+ppl_PIP_Problem_add_to_parameter_space_dimensions/2,
+ppl_PIP_Problem_add_constraint/2,
+ppl_PIP_Problem_add_constraints/2,
+ppl_PIP_Problem_set_control_parameter/2 *nofail,
+ppl_PIP_Problem_get_control_parameter/3,
+ppl_PIP_Problem_has_big_parameter_dimension/2,
+ppl_PIP_Problem_set_big_parameter_dimension/2,
+ppl_PIP_Problem_is_satisfiable/1,
+ppl_PIP_Problem_solve/2,
+ppl_PIP_Problem_solution/2,
+ppl_PIP_Problem_optimizing_solution/2,
+ppl_PIP_Problem_OK/1,
+ppl_PIP_Problem_ascii_dump/1,
+ppl_PIP_Tree_Node_constraints/2,
+ppl_PIP_Tree_Node_is_solution/1,
+ppl_PIP_Tree_Node_is_decision/1,
+ppl_PIP_Tree_Node_is_bottom/1,
+ppl_PIP_Tree_Node_artificials/2,
+ppl_PIP_Tree_Node_OK/1,
+ppl_PIP_Tree_Node_parametric_values/3,
+ppl_PIP_Tree_Node_true_child/2,
+ppl_PIP_Tree_Node_false_child/2`'dnl
 ')
 
-m4_define(`m4_procedure_list', `m4_echo_unquoted(`m4_common_procedure_list',
-ppl_ at CLASS@_ at BINMINOP@/2 +polyhedron,
-ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize/2 +polyhedron,
-ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize/2 +polyhedron)
+m4_define(`m4_procedure_list',
+  `m4_echo_unquoted(`m4_common_procedure_list',
+ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@/1 +simple,
+ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@/2 +simple,
+ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@/2 +simple,
+ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS@/3 +simple,
+ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2/2 +simple,
+ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2/3 +simple,
+ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2/3 +simple,
+ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _2/4 +simple,
+)
 ')
diff --git a/interfaces/Prolog/ppl_interface_generator_prolog_systems.m4 b/interfaces/Prolog/ppl_interface_generator_prolog_systems.m4
index 05b7b83..be05eef 100644
--- a/interfaces/Prolog/ppl_interface_generator_prolog_systems.m4
+++ b/interfaces/Prolog/ppl_interface_generator_prolog_systems.m4
@@ -4,7 +4,7 @@ m4_divert(-1)
 dnl This m4 file defines macros needed for generating
 dnl the Prolog system-dependent code files.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/interfaces/Prolog/ppl_prolog_common.cc b/interfaces/Prolog/ppl_prolog_common.cc
index 782a368..cd49635 100644
--- a/interfaces/Prolog/ppl_prolog_common.cc
+++ b/interfaces/Prolog/ppl_prolog_common.cc
@@ -1,5 +1,5 @@
 /* Common part of the Prolog interfaces: variables and non-inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -92,6 +92,9 @@ Prolog_atom a_grid_line;
 Prolog_atom a_parameter;
 Prolog_atom a_grid_point;
 
+// For artificial_parameters.
+Prolog_atom a_divided_by;
+
 // For the relation between a polyhedron and a constraint.
 Prolog_atom a_is_disjoint;
 Prolog_atom a_strictly_intersects;
@@ -116,7 +119,23 @@ Prolog_atom a_max;
 // Denotes the minimization mode for optimization problems.
 Prolog_atom a_min;
 
-// Denote possible outcomes of MIP problems solution attempts.
+// Denote possible widths of bounded integer types.
+Prolog_atom a_bits_8;
+Prolog_atom a_bits_16;
+Prolog_atom a_bits_32;
+Prolog_atom a_bits_64;
+Prolog_atom a_bits_128;
+
+// Denote possible representations of bounded integer types.
+Prolog_atom a_unsigned;
+Prolog_atom a_signed_2_complement;
+
+// Denote possible overflow behavior of bounded integer types.
+Prolog_atom a_overflow_wraps;
+Prolog_atom a_overflow_undefined;
+Prolog_atom a_overflow_impossible;
+
+// Denote possible outcomes of MIP and PIP problems solution attempts.
 Prolog_atom a_unfeasible;
 Prolog_atom a_unbounded;
 Prolog_atom a_optimized;
@@ -142,6 +161,15 @@ Prolog_atom a_pricing_steepest_edge_float;
 Prolog_atom a_pricing_steepest_edge_exact;
 Prolog_atom a_pricing_textbook;
 
+Prolog_atom a_cutting_strategy;
+Prolog_atom a_cutting_strategy_first;
+Prolog_atom a_cutting_strategy_deepest;
+Prolog_atom a_cutting_strategy_all;
+
+Prolog_atom a_pivot_row_strategy;
+Prolog_atom a_pivot_row_strategy_first;
+Prolog_atom a_pivot_row_strategy_max_column;
+
 // Default timeout exception atom.
 Prolog_atom a_time_out;
 
@@ -153,10 +181,11 @@ Prolog_atom a_true;
 Prolog_atom a_false;
 
 // To build exception terms.
-Prolog_atom a_ppl_invalid_argument;
 Prolog_atom a_ppl_overflow_error;
 Prolog_atom a_ppl_domain_error;
 Prolog_atom a_ppl_length_error;
+Prolog_atom a_ppl_invalid_argument;
+Prolog_atom a_ppl_logic_error;
 Prolog_atom a_ppl_representation_error;
 Prolog_atom a_expected;
 Prolog_atom a_found;
@@ -182,6 +211,8 @@ const Prolog_Interface_Atom prolog_interface_atoms[] = {
   { &a_is_congruent_to,          "=:=" },
   { &a_modulo,                   "/" },
 
+  { &a_divided_by,               "/" },
+
   { &a_line,                     "line" },
   { &a_ray,                      "ray" },
   { &a_point,                    "point" },
@@ -206,6 +237,19 @@ const Prolog_Interface_Atom prolog_interface_atoms[] = {
   { &a_max,                      "max" },
   { &a_min,                      "min" },
 
+  { &a_bits_8,                   "bits_8" },
+  { &a_bits_16,                  "bits_16" },
+  { &a_bits_32,                  "bits_32" },
+  { &a_bits_64,                  "bits_64" },
+  { &a_bits_128,                 "bits_128" },
+
+  { &a_unsigned,                 "unsigned" },
+  { &a_signed_2_complement,      "signed_2_complement" },
+
+  { &a_overflow_wraps,           "overflow_wraps" },
+  { &a_overflow_undefined,       "overflow_undefined" },
+  { &a_overflow_impossible,      "overflow_impossible" },
+
   { &a_unfeasible,               "unfeasible" },
   { &a_unbounded,                "unbounded" },
   { &a_optimized,                "optimized" },
@@ -225,7 +269,17 @@ const Prolog_Interface_Atom prolog_interface_atoms[] = {
                                  "pricing_steepest_edge_float" },
   { &a_pricing_steepest_edge_exact,
                                  "pricing_steepest_edge_exact" },
-  { &a_pricing_textbook,          "pricing_textbook" },
+  { &a_pricing_textbook,         "pricing_textbook" },
+
+  { &a_cutting_strategy,         "cutting_strategy" },
+  { &a_cutting_strategy_first,   "cutting_strategy_first" },
+  { &a_cutting_strategy_deepest, "cutting_strategy_deepest" },
+  { &a_cutting_strategy_all,     "cutting_strategy_all" },
+
+  { &a_pivot_row_strategy,       "pivot_row_strategy" },
+  { &a_pivot_row_strategy_first, "pivot_row_strategy_first" },
+  { &a_pivot_row_strategy_max_column,
+                                 "pivot_row_strategy_max_column" },
 
   { &a_time_out,                 "time_out" },
   { &a_out_of_memory,            "out_of_memory" },
@@ -237,6 +291,8 @@ const Prolog_Interface_Atom prolog_interface_atoms[] = {
   { &a_ppl_overflow_error,       "ppl_overflow_error" },
   { &a_ppl_domain_error,         "ppl_domain_error" },
   { &a_ppl_length_error,         "ppl_length_error" },
+  { &a_ppl_invalid_argument,     "ppl_invalid_argument" },
+  { &a_ppl_logic_error,          "ppl_logic_error" },
   { &a_ppl_representation_error, "ppl_representation_error" },
   { &a_expected,                 "expected" },
   { &a_found,                    "found" },
@@ -465,6 +521,60 @@ void
 }
 
 void
+  handle_exception(const not_a_pip_problem_control_parameter_name& e) {
+  Prolog_term_ref found = Prolog_new_term_ref();
+  Prolog_construct_compound(found, a_found, e.term());
+
+  Prolog_term_ref expected = Prolog_new_term_ref();
+  Prolog_put_atom(expected, a_nil);
+  Prolog_construct_cons(expected,
+			Prolog_atom_term_from_string("cutting_strategy"),
+                        expected);
+  Prolog_construct_cons(expected,
+			Prolog_atom_term_from_string("pivot_row_strategy"),
+                        expected);
+
+  Prolog_term_ref where = Prolog_new_term_ref();
+  Prolog_construct_compound(where, a_where,
+			    Prolog_atom_term_from_string(e.where()));
+  Prolog_term_ref exception_term = Prolog_new_term_ref();
+  Prolog_construct_compound(exception_term, a_ppl_invalid_argument,
+			    found, expected, where);
+  Prolog_raise_exception(exception_term);
+}
+
+void
+  handle_exception(const not_a_pip_problem_control_parameter_value& e) {
+  Prolog_term_ref found = Prolog_new_term_ref();
+  Prolog_construct_compound(found, a_found, e.term());
+
+  Prolog_term_ref expected = Prolog_new_term_ref();
+  Prolog_put_atom(expected, a_nil);
+  Prolog_construct_cons(expected,
+			Prolog_atom_term_from_string("cutting_strategy_first"),
+                        expected);
+  Prolog_construct_cons(expected,
+			Prolog_atom_term_from_string("cutting_strategy_deepest"),
+                        expected);
+   Prolog_construct_cons(expected,
+			Prolog_atom_term_from_string("cutting_strategy_all"),
+                        expected);
+   Prolog_construct_cons(expected,
+			Prolog_atom_term_from_string("pivot_row_strategy_first"),
+                        expected);
+    Prolog_construct_cons(expected,
+			Prolog_atom_term_from_string("pivot_row_strategy_max_column"),
+                        expected);
+ Prolog_term_ref where = Prolog_new_term_ref();
+  Prolog_construct_compound(where, a_where,
+			    Prolog_atom_term_from_string(e.where()));
+  Prolog_term_ref exception_term = Prolog_new_term_ref();
+  Prolog_construct_compound(exception_term, a_ppl_invalid_argument,
+			    found, expected, where);
+  Prolog_raise_exception(exception_term);
+}
+
+void
 handle_exception(const not_universe_or_empty& e) {
   Prolog_term_ref found = Prolog_new_term_ref();
   Prolog_construct_compound(found, a_found, e.term());
@@ -487,6 +597,106 @@ handle_exception(const not_universe_or_empty& e) {
 }
 
 void
+handle_exception(const not_a_boolean& e) {
+  Prolog_term_ref found = Prolog_new_term_ref();
+  Prolog_construct_compound(found, a_found, e.term());
+
+  Prolog_term_ref expected = Prolog_new_term_ref();
+  Prolog_put_atom(expected, a_nil);
+  Prolog_construct_cons(expected,
+			Prolog_atom_term_from_string("true"), expected);
+  Prolog_construct_cons(expected,
+			Prolog_atom_term_from_string("false"), expected);
+  Prolog_construct_compound(expected, a_expected, expected);
+
+  Prolog_term_ref where = Prolog_new_term_ref();
+  Prolog_construct_compound(where, a_where,
+			    Prolog_atom_term_from_string(e.where()));
+  Prolog_term_ref exception_term = Prolog_new_term_ref();
+  Prolog_construct_compound(exception_term, a_ppl_invalid_argument,
+			    found, expected, where);
+  Prolog_raise_exception(exception_term);
+}
+
+void
+handle_exception(const not_a_bounded_integer_type_width& e) {
+  Prolog_term_ref found = Prolog_new_term_ref();
+  Prolog_construct_compound(found, a_found, e.term());
+
+  Prolog_term_ref expected = Prolog_new_term_ref();
+  Prolog_put_atom(expected, a_nil);
+  Prolog_construct_cons(expected,
+			Prolog_atom_term_from_string("bits_8"), expected);
+  Prolog_construct_cons(expected,
+			Prolog_atom_term_from_string("bits_16"), expected);
+  Prolog_construct_cons(expected,
+			Prolog_atom_term_from_string("bits_32"), expected);
+  Prolog_construct_cons(expected,
+			Prolog_atom_term_from_string("bits_64"), expected);
+  Prolog_construct_cons(expected,
+			Prolog_atom_term_from_string("bits_128"), expected);
+  Prolog_construct_compound(expected, a_expected, expected);
+
+  Prolog_term_ref where = Prolog_new_term_ref();
+  Prolog_construct_compound(where, a_where,
+			    Prolog_atom_term_from_string(e.where()));
+  Prolog_term_ref exception_term = Prolog_new_term_ref();
+  Prolog_construct_compound(exception_term, a_ppl_invalid_argument,
+			    found, expected, where);
+  Prolog_raise_exception(exception_term);
+}
+
+void
+handle_exception(const not_a_bounded_integer_type_representation& e) {
+  Prolog_term_ref found = Prolog_new_term_ref();
+  Prolog_construct_compound(found, a_found, e.term());
+
+  Prolog_term_ref expected = Prolog_new_term_ref();
+  Prolog_put_atom(expected, a_nil);
+  Prolog_construct_cons(expected,
+			Prolog_atom_term_from_string("unsigned"), expected);
+  Prolog_construct_cons(expected,
+			Prolog_atom_term_from_string("signed_2_complement"),
+                        expected);
+  Prolog_construct_compound(expected, a_expected, expected);
+
+  Prolog_term_ref where = Prolog_new_term_ref();
+  Prolog_construct_compound(where, a_where,
+			    Prolog_atom_term_from_string(e.where()));
+  Prolog_term_ref exception_term = Prolog_new_term_ref();
+  Prolog_construct_compound(exception_term, a_ppl_invalid_argument,
+			    found, expected, where);
+  Prolog_raise_exception(exception_term);
+}
+
+void
+handle_exception(const not_a_bounded_integer_type_overflow& e) {
+  Prolog_term_ref found = Prolog_new_term_ref();
+  Prolog_construct_compound(found, a_found, e.term());
+
+  Prolog_term_ref expected = Prolog_new_term_ref();
+  Prolog_put_atom(expected, a_nil);
+  Prolog_construct_cons(expected,
+			Prolog_atom_term_from_string("overflow_wraps"),
+                        expected);
+  Prolog_construct_cons(expected,
+			Prolog_atom_term_from_string("overflow_undefined"),
+                        expected);
+  Prolog_construct_cons(expected,
+			Prolog_atom_term_from_string("overflow_impossible"),
+                        expected);
+  Prolog_construct_compound(expected, a_expected, expected);
+
+  Prolog_term_ref where = Prolog_new_term_ref();
+  Prolog_construct_compound(where, a_where,
+			    Prolog_atom_term_from_string(e.where()));
+  Prolog_term_ref exception_term = Prolog_new_term_ref();
+  Prolog_construct_compound(exception_term, a_ppl_invalid_argument,
+			    found, expected, where);
+  Prolog_raise_exception(exception_term);
+}
+
+void
 handle_exception(const not_a_relation& e) {
   Prolog_term_ref found = Prolog_new_term_ref();
   Prolog_construct_compound(found, a_found, e.term());
@@ -567,6 +777,14 @@ handle_exception(const std::overflow_error& e) {
 }
 
 void
+handle_exception(const std::domain_error& e) {
+  Prolog_term_ref et = Prolog_new_term_ref();
+  Prolog_construct_compound(et, a_ppl_domain_error,
+			    Prolog_atom_term_from_string(e.what()));
+  Prolog_raise_exception(et);
+}
+
+void
 handle_exception(const std::length_error& e) {
   Prolog_term_ref et = Prolog_new_term_ref();
   Prolog_construct_compound(et, a_ppl_length_error,
@@ -575,6 +793,22 @@ handle_exception(const std::length_error& e) {
 }
 
 void
+handle_exception(const std::invalid_argument& e) {
+  Prolog_term_ref et = Prolog_new_term_ref();
+  Prolog_construct_compound(et, a_ppl_invalid_argument,
+			    Prolog_atom_term_from_string(e.what()));
+  Prolog_raise_exception(et);
+}
+
+void
+handle_exception(const std::logic_error& e) {
+  Prolog_term_ref et = Prolog_new_term_ref();
+  Prolog_construct_compound(et, a_ppl_logic_error,
+			    Prolog_atom_term_from_string(e.what()));
+  Prolog_raise_exception(et);
+}
+
+void
 handle_exception(const std::bad_alloc&) {
   Prolog_term_ref et = Prolog_new_term_ref();
   Prolog_put_atom(et, out_of_memory_exception_atom);
@@ -599,6 +833,12 @@ handle_exception() {
 
 Parma_Watchdog_Library::Watchdog* p_timeout_object = 0;
 
+typedef
+Parma_Watchdog_Library::Threshold_Watcher
+<Parma_Polyhedra_Library::Weightwatch_Traits> Weightwatch;
+
+Weightwatch* p_deterministic_timeout_object = 0;
+
 void
 reset_timeout() {
   if (p_timeout_object) {
@@ -607,7 +847,16 @@ reset_timeout() {
     abandon_expensive_computations = 0;
   }
 }
-#endif
+
+void
+reset_deterministic_timeout() {
+  if (p_deterministic_timeout_object) {
+    delete p_deterministic_timeout_object;
+    p_deterministic_timeout_object = 0;
+    abandon_expensive_computations = 0;
+  }
+}
+#endif // PPL_WATCHDOG_LIBRARY_ENABLED
 
 Prolog_atom timeout_exception_atom;
 
@@ -622,6 +871,17 @@ handle_exception(const timeout_exception&) {
   Prolog_raise_exception(et);
 }
 
+void
+handle_exception(const deterministic_timeout_exception&) {
+#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
+  assert(p_deterministic_timeout_object);
+  reset_deterministic_timeout();
+#endif
+  Prolog_term_ref et = Prolog_new_term_ref();
+  Prolog_put_atom(et, timeout_exception_atom);
+  Prolog_raise_exception(et);
+}
+
 Prolog_term_ref
 variable_term(dimension_type varid) {
   Prolog_term_ref v = Prolog_new_term_ref();
@@ -632,6 +892,17 @@ variable_term(dimension_type varid) {
 }
 
 Prolog_atom
+term_to_boolean(Prolog_term_ref t, const char* where) {
+  if (Prolog_is_atom(t)) {
+    Prolog_atom name;
+    if (Prolog_get_atom_name(t, &name)
+	&& (name == a_true || name == a_false))
+      return name;
+  }
+  throw not_a_boolean(t, where);
+}
+
+Prolog_atom
 term_to_universe_or_empty(Prolog_term_ref t, const char* where) {
   if (Prolog_is_atom(t)) {
     Prolog_atom name;
@@ -1133,6 +1404,15 @@ grid_generator_term(const Grid_Generator& g) {
   return t;
 }
 
+Prolog_term_ref
+artificial_parameter_term(const PIP_Tree_Node::Artificial_Parameter& art) {
+  Prolog_term_ref t = Prolog_new_term_ref();
+  Prolog_construct_compound(t, a_divided_by,
+                            get_linear_expression(art),
+                            Coefficient_to_integer_term(art.denominator()));
+  return t;
+}
+
 Variable
 term_to_Variable(Prolog_term_ref t, const char* where) {
   if (Prolog_is_compound(t)) {
@@ -1158,6 +1438,45 @@ term_to_Coefficient(Prolog_term_ref t, const char* where) {
 }
 
 Prolog_atom
+term_to_bounded_integer_type_width(Prolog_term_ref t, const char* where) {
+  if (Prolog_is_atom(t)) {
+    Prolog_atom name;
+    if (Prolog_get_atom_name(t, &name)
+	&& (name == a_bits_8 || name == a_bits_16
+            || name == a_bits_32 || name == a_bits_64
+            || name == a_bits_128))
+      return name;
+  }
+  throw not_a_bounded_integer_type_width(t, where);
+}
+
+Prolog_atom
+term_to_bounded_integer_type_representation(Prolog_term_ref t,
+                                            const char* where) {
+  if (Prolog_is_atom(t)) {
+    Prolog_atom name;
+    if (Prolog_get_atom_name(t, &name)
+	&& (name == a_unsigned || name == a_signed_2_complement))
+      return name;
+  }
+  throw not_a_bounded_integer_type_representation(t, where);
+}
+
+Prolog_atom
+term_to_bounded_integer_type_overflow(Prolog_term_ref t,
+                                      const char* where) {
+  if (Prolog_is_atom(t)) {
+    Prolog_atom name;
+    if (Prolog_get_atom_name(t, &name)
+	&& (name == a_overflow_wraps
+            || name == a_overflow_undefined
+            || name == a_overflow_impossible))
+      return name;
+  }
+  throw not_a_bounded_integer_type_overflow(t, where);
+}
+
+Prolog_atom
 term_to_optimization_mode(Prolog_term_ref t, const char* where) {
   if (Prolog_is_atom(t)) {
     Prolog_atom name;
@@ -1173,25 +1492,54 @@ term_to_control_parameter_name(Prolog_term_ref t, const char* where) {
   if (Prolog_is_atom(t)) {
     Prolog_atom name;
     if (Prolog_get_atom_name(t, &name)
-	&& (name == a_pricing))
+	&& (name == a_pricing || name == a_cutting_strategy))
       return name;
   }
   throw not_a_control_parameter_name(t, where);
 }
 
 Prolog_atom
+term_to_pip_problem_control_parameter_name(Prolog_term_ref t, const char* where) {
+  if (Prolog_is_atom(t)) {
+    Prolog_atom name;
+    if (Prolog_get_atom_name(t, &name)
+	&& (name == a_cutting_strategy || name == a_pivot_row_strategy))
+      return name;
+  }
+  throw not_a_pip_problem_control_parameter_name(t, where);
+}
+
+Prolog_atom
 term_to_control_parameter_value(Prolog_term_ref t, const char* where) {
   if (Prolog_is_atom(t)) {
     Prolog_atom name;
     if (Prolog_get_atom_name(t, &name)
 	&& (name == a_pricing_steepest_edge_float
             || name == a_pricing_steepest_edge_exact
-            || name == a_pricing_textbook))
+            || name == a_pricing_textbook
+            || name == a_cutting_strategy_first
+            || name == a_cutting_strategy_deepest))
       return name;
   }
   throw not_a_control_parameter_value(t, where);
 }
 
+Prolog_atom
+term_to_pip_problem_control_parameter_value(Prolog_term_ref t,
+                                            const char* where) {
+  if (Prolog_is_atom(t)) {
+    Prolog_atom name;
+    if (Prolog_get_atom_name(t, &name)
+	&& (name == a_cutting_strategy_first
+            || name == a_cutting_strategy_deepest
+            || name == a_cutting_strategy_all
+            || name == a_pivot_row_strategy_first
+            || name == a_pivot_row_strategy_max_column))
+      return name;
+  }
+  throw not_a_pip_problem_control_parameter_value(t, where);
+}
+
 bool Prolog_interface_initialized = false;
 
 void
@@ -1333,7 +1681,7 @@ interval_term(const Rational_Box::interval_type& i) {
     // Lower bound.
     const Prolog_atom& l_oc = i.lower_is_open() ? a_o : a_c;
     Prolog_term_ref l_b = Prolog_new_term_ref();
-    if (i.lower_is_unbounded())
+    if (i.lower_is_boundary_infinity())
       Prolog_put_atom(l_b, a_minf);
     else
       Prolog_put_term(l_b, rational_term(i.lower()));
@@ -1343,7 +1691,7 @@ interval_term(const Rational_Box::interval_type& i) {
     // Upper bound.
     const Prolog_atom& u_oc = i.upper_is_open() ? a_o : a_c;
     Prolog_term_ref u_b = Prolog_new_term_ref();
-    if (i.upper_is_unbounded())
+    if (i.upper_is_boundary_infinity())
       Prolog_put_atom(u_b, a_pinf);
     else
       Prolog_put_term(u_b, rational_term(i.upper()));
@@ -1499,6 +1847,26 @@ ppl_restore_pre_PPL_rounding() {
 }
 
 extern "C" Prolog_foreign_return_type
+ppl_irrational_precision(Prolog_term_ref t_p) {
+  try {
+    if (unify_ulong(t_p, irrational_precision()))
+      return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_set_irrational_precision(Prolog_term_ref t_p) {
+  try {
+    unsigned p
+      = term_to_unsigned<unsigned>(t_p, "ppl_set_irrational_precision/1");
+    set_irrational_precision(p);
+    return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
 ppl_set_timeout_exception_atom(Prolog_term_ref t_tea) {
   try {
     if (Prolog_is_atom(t_tea)) {
@@ -1575,23 +1943,66 @@ ppl_reset_timeout() {
 }
 
 extern "C" Prolog_foreign_return_type
-ppl_Coefficient_is_bounded() {
+ppl_set_deterministic_timeout(Prolog_term_ref t_weight) {
   try {
-    if (std::numeric_limits<Coefficient>::is_bounded)
-      return PROLOG_SUCCESS;
+#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
+    // In case a deterministic timeout was already set.
+    reset_deterministic_timeout();
+    static deterministic_timeout_exception e;
+    unsigned weight
+      = term_to_unsigned<unsigned>(t_weight,
+                                   "ppl_set_deterministic_timeout/1");
+    p_deterministic_timeout_object =
+      new Weightwatch(weight, abandon_expensive_computations, e);
+    return PROLOG_SUCCESS;
+#else
+    used(t_weight);
+    return PROLOG_FAILURE;
+#endif
   }
   CATCH_ALL;
 }
 
 extern "C" Prolog_foreign_return_type
-ppl_Coefficient_min(Prolog_term_ref t_min) {
+ppl_reset_deterministic_timeout() {
   try {
-    if (std::numeric_limits<Coefficient>::is_bounded) {
-      PPL_DIRTY_TEMP_COEFFICIENT(min);
-      min = std::numeric_limits<Coefficient>::min();
-      if (Prolog_has_unbounded_integers
-	  || (min >= Prolog_min_integer && min <= Prolog_min_integer))
-	return Prolog_unify_Coefficient(t_min, min)
+#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
+    reset_deterministic_timeout();
+    return PROLOG_SUCCESS;
+#else
+    return PROLOG_FAILURE;
+#endif
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_Coefficient_bits(Prolog_term_ref t_bits) {
+  try {
+    if (unify_ulong(t_bits, PPL_COEFFICIENT_BITS))
+      return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_Coefficient_is_bounded() {
+  try {
+    if (std::numeric_limits<Coefficient>::is_bounded)
+      return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_Coefficient_min(Prolog_term_ref t_min) {
+  try {
+    if (std::numeric_limits<Coefficient>::is_bounded) {
+      PPL_DIRTY_TEMP_COEFFICIENT(min);
+      min = std::numeric_limits<Coefficient>::min();
+      if (Prolog_has_unbounded_integers
+	  || (min >= Prolog_min_integer && min <= Prolog_min_integer))
+	return Prolog_unify_Coefficient(t_min, min)
 	  ? PROLOG_SUCCESS : PROLOG_FAILURE;
     }
   }
@@ -2110,3 +2521,617 @@ ppl_MIP_Problem_ascii_dump(Prolog_term_ref t_mip) {
   }
   CATCH_ALL;
 }
+
+extern "C" Prolog_foreign_return_type
+ppl_new_PIP_Problem_from_space_dimension
+(Prolog_term_ref t_nd, Prolog_term_ref t_pip) {
+  static const char* where = "ppl_PIP_Problem_from_space_dimension/2";
+  try {
+    dimension_type d = term_to_unsigned<dimension_type>(t_nd, where);
+    PIP_Problem* pip = new PIP_Problem(d);
+    Prolog_term_ref tmp = Prolog_new_term_ref();
+    Prolog_put_address(tmp, pip);
+    if (Prolog_unify(t_pip, tmp)) {
+      PPL_REGISTER(pip);
+      return PROLOG_SUCCESS;
+    }
+    else
+      delete pip;
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_new_PIP_Problem(Prolog_term_ref t_dim,
+                    Prolog_term_ref t_cs,
+                    Prolog_term_ref t_params,
+                    Prolog_term_ref t_pip) {
+  static const char* where = "ppl_new_PIP_Problem/4";
+  try {
+    dimension_type dim = term_to_unsigned<dimension_type>(t_dim, where);
+    Constraint_System cs;
+    Prolog_term_ref t_c = Prolog_new_term_ref();
+    while (Prolog_is_cons(t_cs)) {
+      Prolog_get_cons(t_cs, t_c, t_cs);
+      cs.insert(build_constraint(t_c, where));
+    }
+    // Check the list is properly terminated.
+    check_nil_terminating(t_cs, where);
+
+    Variables_Set params;
+    Prolog_term_ref t_par = Prolog_new_term_ref();
+    while (Prolog_is_cons(t_params)) {
+      Prolog_get_cons(t_params, t_par, t_params);
+      params.insert(term_to_Variable(t_par, where).id());
+    }
+    // Check the list is properly terminated.
+    check_nil_terminating(t_params, where);
+
+    PIP_Problem* pip = new PIP_Problem(dim, cs.begin(), cs.end(), params);
+    Prolog_term_ref tmp = Prolog_new_term_ref();
+    Prolog_put_address(tmp, pip);
+    if (Prolog_unify(t_pip, tmp)) {
+      PPL_REGISTER(pip);
+      return PROLOG_SUCCESS;
+    }
+    else
+      delete pip;
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_new_PIP_Problem_from_PIP_Problem(Prolog_term_ref t_pip_source,
+				     Prolog_term_ref t_pip) {
+  static const char* where = "ppl_new_PIP_Problem_from_PIP_Problem/2";
+  try {
+    const PIP_Problem* pip_source
+      = static_cast<const PIP_Problem*>
+      (term_to_handle<PIP_Problem>(t_pip_source, where));
+    PPL_CHECK(pip_source);
+    PIP_Problem* pip = new PIP_Problem(*pip_source);
+    Prolog_term_ref tmp = Prolog_new_term_ref();
+    Prolog_put_address(tmp, pip);
+    if (Prolog_unify(t_pip, tmp)) {
+      PPL_REGISTER(pip);
+      return PROLOG_SUCCESS;
+    }
+    else
+      delete pip;
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_swap(Prolog_term_ref t_lhs, Prolog_term_ref t_rhs) {
+  static const char* where = "ppl_PIP_Problem_swap/2";
+  try {
+    PIP_Problem* lhs = term_to_handle<PIP_Problem>(t_lhs, where);
+    PIP_Problem* rhs = term_to_handle<PIP_Problem>(t_rhs, where);
+    PPL_CHECK(lhs);
+    PPL_CHECK(rhs);
+    lhs->swap(*rhs);
+    return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_delete_PIP_Problem(Prolog_term_ref t_pip) {
+  static const char* where = "ppl_delete_PIP_Problem/1";
+  try {
+    const PIP_Problem* pip = term_to_handle<PIP_Problem>(t_pip, where);
+    PPL_UNREGISTER(pip);
+    delete pip;
+    return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_space_dimension(Prolog_term_ref t_pip, Prolog_term_ref t_sd) {
+  static const char* where = "ppl_PIP_Problem_space_dimension/2";
+  try {
+    const PIP_Problem* pip = term_to_handle<PIP_Problem>(t_pip, where);
+    PPL_CHECK(pip);
+    if (unify_ulong(t_sd, pip->space_dimension()))
+      return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_parameter_space_dimensions(Prolog_term_ref t_pip,
+                                           Prolog_term_ref t_vlist) {
+  static const char* where = "ppl_PIP_Problem_parameter_space_dimensions/2";
+  try {
+    const PIP_Problem* pip = term_to_handle<PIP_Problem>(t_pip, where);
+    PPL_CHECK(pip);
+
+    Prolog_term_ref tail = Prolog_new_term_ref();
+    Prolog_put_atom(tail, a_nil);
+    const Variables_Set& params = pip->parameter_space_dimensions();
+
+    for (Variables_Set::const_iterator i = params.begin(),
+	   i_end = params.end(); i != i_end; ++i)
+      Prolog_construct_cons(tail, variable_term(*i), tail);
+
+    if (Prolog_unify(t_vlist, tail))
+      return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_constraints(Prolog_term_ref t_pip,
+			    Prolog_term_ref t_clist) {
+  static const char* where = "ppl_PIP_Problem_constraints/2";
+  try {
+    const PIP_Problem* pip = term_to_handle<PIP_Problem>(t_pip, where);
+    PPL_CHECK(pip);
+
+    Prolog_term_ref tail = Prolog_new_term_ref();
+    Prolog_put_atom(tail, a_nil);
+    for (PIP_Problem::const_iterator i = pip->constraints_begin(),
+	   i_end = pip->constraints_end(); i != i_end; ++i)
+      Prolog_construct_cons(tail, constraint_term(*i), tail);
+
+    if (Prolog_unify(t_clist, tail))
+      return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_clear(Prolog_term_ref t_pip) {
+  static const char* where = "ppl_PIP_Problem_clear/1";
+  try {
+    PIP_Problem* pip = term_to_handle<PIP_Problem>(t_pip, where);
+    PPL_CHECK(pip);
+    pip->clear();
+    return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_add_space_dimensions_and_embed
+(Prolog_term_ref t_pip,
+ Prolog_term_ref t_num_vars,
+ Prolog_term_ref t_num_params) {
+  static const char* where
+    = "ppl_PIP_Problem_add_space_dimensions_and_embed/3";
+  try {
+    PIP_Problem* pip = term_to_handle<PIP_Problem>(t_pip, where);
+    PPL_CHECK(pip);
+    dimension_type nv = term_to_unsigned<dimension_type>(t_num_vars, where);
+    dimension_type np = term_to_unsigned<dimension_type>(t_num_params, where);
+    pip->add_space_dimensions_and_embed(nv, np);
+    return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_add_to_parameter_space_dimensions(Prolog_term_ref t_pip,
+                                                  Prolog_term_ref t_vlist) {
+  static const char* where
+    = "ppl_PIP_Problem_add_to_parameter_space_dimensions/2";
+  try {
+    PIP_Problem* pip = term_to_handle<PIP_Problem>(t_pip, where);
+    PPL_CHECK(pip);
+    Variables_Set params;
+    Prolog_term_ref v = Prolog_new_term_ref();
+
+    while (Prolog_is_cons(t_vlist)) {
+      Prolog_get_cons(t_vlist, v, t_vlist);
+      params.insert(term_to_Variable(v, where).id());
+    }
+
+    // Check the list is properly terminated.
+    check_nil_terminating(t_vlist, where);
+
+    pip->add_to_parameter_space_dimensions(params);
+    return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_add_constraint(Prolog_term_ref t_pip, Prolog_term_ref t_c) {
+  static const char* where = "ppl_PIP_Problem_add_constraint/2";
+  try {
+    PIP_Problem* pip = term_to_handle<PIP_Problem>(t_pip, where);
+    PPL_CHECK(pip);
+    pip->add_constraint(build_constraint(t_c, where));
+    return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_add_constraints(Prolog_term_ref t_pip,
+				Prolog_term_ref t_clist) {
+  static const char* where = "ppl_PIP_Problem_add_constraints/2";
+  try {
+    PIP_Problem* pip = term_to_handle<PIP_Problem>(t_pip, where);
+    PPL_CHECK(pip);
+    Constraint_System cs;
+    Prolog_term_ref c = Prolog_new_term_ref();
+
+    while (Prolog_is_cons(t_clist)) {
+      Prolog_get_cons(t_clist, c, t_clist);
+      cs.insert(build_constraint(c, where));
+    }
+
+    // Check the list is properly terminated.
+    check_nil_terminating(t_clist, where);
+
+    pip->add_constraints(cs);
+    return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_get_control_parameter(Prolog_term_ref t_pip,
+                                      Prolog_term_ref t_cp_name,
+                                      Prolog_term_ref t_cp_value) {
+  static const char* where = "ppl_PIP_Problem_get_control_parameter/3";
+  try {
+    PIP_Problem* pip = term_to_handle<PIP_Problem>(t_pip, where);
+    PPL_CHECK(pip);
+    Prolog_atom cp_name = term_to_pip_problem_control_parameter_name(t_cp_name, where);
+    PIP_Problem::Control_Parameter_Value ppl_cp_value;
+    Prolog_atom a;
+    if (cp_name == a_cutting_strategy) {
+      ppl_cp_value
+        = pip->get_control_parameter(PIP_Problem::CUTTING_STRATEGY);
+      switch (ppl_cp_value) {
+      case PIP_Problem::CUTTING_STRATEGY_FIRST:
+        a = a_cutting_strategy_first;
+        break;
+      case PIP_Problem::CUTTING_STRATEGY_DEEPEST:
+        a = a_cutting_strategy_deepest;
+        break;
+      case PIP_Problem::CUTTING_STRATEGY_ALL:
+        a = a_cutting_strategy_all;
+        break;
+      default:
+        throw unknown_interface_error(
+          "ppl_PIP_Problem_get_control_parameter()");
+      }
+    }
+    else if (cp_name == a_pivot_row_strategy) {
+      ppl_cp_value
+        = pip->get_control_parameter(PIP_Problem::PIVOT_ROW_STRATEGY);
+      switch (ppl_cp_value) {
+      case PIP_Problem::PIVOT_ROW_STRATEGY_FIRST:
+        a = a_pivot_row_strategy_first;
+        break;
+      case PIP_Problem::PIVOT_ROW_STRATEGY_MAX_COLUMN:
+        a = a_pivot_row_strategy_max_column;
+        break;
+      default:
+        throw unknown_interface_error(
+          "ppl_PIP_Problem_get_control_parameter()");
+      }
+    }
+    else
+      throw unknown_interface_error("ppl_PIP_Problem_get_control_parameter()");
+
+    Prolog_term_ref t = Prolog_new_term_ref();
+    Prolog_put_atom(t, a);
+    if (Prolog_unify(t_cp_value, t))
+      return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_set_control_parameter(Prolog_term_ref t_pip,
+				      Prolog_term_ref t_cp_value) {
+  static const char* where = "ppl_PIP_Problem_set_control_parameter/2";
+  try {
+    PIP_Problem* pip = term_to_handle<PIP_Problem>(t_pip, where);
+    PPL_CHECK(pip);
+
+    Prolog_atom cp_value = term_to_pip_problem_control_parameter_value(t_cp_value, where);
+    if (cp_value == a_cutting_strategy_first)
+      pip->set_control_parameter(PIP_Problem::CUTTING_STRATEGY_FIRST);
+    else if (cp_value == a_cutting_strategy_deepest)
+      pip->set_control_parameter(PIP_Problem::CUTTING_STRATEGY_DEEPEST);
+    else if (cp_value == a_cutting_strategy_all)
+      pip->set_control_parameter(PIP_Problem::CUTTING_STRATEGY_ALL);
+    else if (cp_value == a_pivot_row_strategy_first)
+      pip->set_control_parameter(PIP_Problem::PIVOT_ROW_STRATEGY_FIRST);
+    else if (cp_value == a_pivot_row_strategy_max_column)
+      pip->set_control_parameter(PIP_Problem::PIVOT_ROW_STRATEGY_MAX_COLUMN);
+    else
+      throw unknown_interface_error("ppl_PIP_Problem_set_control_parameter()");
+    return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_has_big_parameter_dimension(Prolog_term_ref t_pip,
+                                            Prolog_term_ref t_d) {
+  static const char* where = "ppl_PIP_Problem_get_big_parameter_dimension/2";
+  try {
+    PIP_Problem* pip = term_to_handle<PIP_Problem>(t_pip, where);
+    PPL_CHECK(pip);
+    dimension_type dim = pip->get_big_parameter_dimension();
+    if (dim == not_a_dimension())
+      return PROLOG_FAILURE;
+    if (unify_ulong(t_d, dim))
+      return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_set_big_parameter_dimension(Prolog_term_ref t_pip,
+                                            Prolog_term_ref t_d) {
+  static const char* where = "ppl_MIP_Problem_set_big_parameter_dimension/2";
+  try {
+    PIP_Problem* pip = term_to_handle<PIP_Problem>(t_pip, where);
+    PPL_CHECK(pip);
+    dimension_type d = term_to_unsigned<dimension_type>(t_d, where);
+    pip->set_big_parameter_dimension(d);
+    return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_is_satisfiable(Prolog_term_ref t_pip) {
+  static const char* where = "ppl_PIP_Problem_is_satisfiable/1";
+  try {
+    const PIP_Problem* pip = term_to_handle<PIP_Problem>(t_pip, where);
+    PPL_CHECK(pip);
+    if (pip->is_satisfiable())
+      return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_solve(Prolog_term_ref t_pip, Prolog_term_ref t_status) {
+  static const char* where = "ppl_PIP_Problem_solve/2";
+  try {
+    const PIP_Problem* pip = term_to_handle<PIP_Problem>(t_pip, where);
+    PPL_CHECK(pip);
+
+    Prolog_atom a;
+    switch (pip->solve()) {
+    case UNFEASIBLE_PIP_PROBLEM:
+      a = a_unfeasible;
+      break;
+    case OPTIMIZED_PIP_PROBLEM:
+      a = a_optimized;
+      break;
+    default:
+      throw unknown_interface_error("ppl_PIP_Problem_solve()");
+    }
+    Prolog_term_ref t = Prolog_new_term_ref();
+    Prolog_put_atom(t, a);
+    if (Prolog_unify(t_status, t))
+      return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_solution(Prolog_term_ref t_pip,
+                         Prolog_term_ref t_pip_tree) {
+  static const char* where = "ppl_PIP_Problem_solution/2";
+  try {
+    const PIP_Problem* pip = term_to_handle<PIP_Problem>(t_pip, where);
+    PPL_CHECK(pip);
+    PIP_Tree_Node* sol = const_cast<PIP_Tree_Node*>(pip->solution());
+    Prolog_term_ref t_sol = Prolog_new_term_ref();
+    Prolog_put_address(t_sol, sol);
+    if (Prolog_unify(t_pip_tree, t_sol)) {
+      PPL_WEAK_REGISTER(sol);
+      return PROLOG_SUCCESS;
+    }
+ }
+ CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_optimizing_solution(Prolog_term_ref t_pip,
+                                    Prolog_term_ref t_pip_tree) {
+  static const char* where = "ppl_PIP_Problem_optimizing_solution/2";
+  try {
+    const PIP_Problem* pip = term_to_handle<PIP_Problem>(t_pip, where);
+    PPL_CHECK(pip);
+    PIP_Tree_Node* sol = const_cast<PIP_Tree_Node*>(pip->optimizing_solution());
+    Prolog_term_ref t_sol = Prolog_new_term_ref();
+    Prolog_put_address(t_sol, sol);
+    if (Prolog_unify(t_pip_tree, t_sol)) {
+      PPL_WEAK_REGISTER(sol);
+      return PROLOG_SUCCESS;
+    }
+ }
+ CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_OK(Prolog_term_ref t_pip) {
+  static const char* where = "ppl_PIP_Problem_OK/1";
+  try {
+    const PIP_Problem* pip = term_to_handle<PIP_Problem>(t_pip, where);
+    PPL_CHECK(pip);
+    if (pip->OK())
+      return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_ascii_dump(Prolog_term_ref t_pip) {
+  static const char* where = "ppl_PIP_Problem_ascii_dump/1";
+  try {
+    const PIP_Problem* pip = term_to_handle<PIP_Problem>(t_pip, where);
+    PPL_CHECK(pip);
+    pip->ascii_dump(std::cout);
+    return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Tree_Node_constraints(Prolog_term_ref t_pip,
+			      Prolog_term_ref t_cs) {
+  static const char* where = "ppl_PIP_Tree_Node_constraints/2";
+  try {
+    const PIP_Tree_Node* pip = term_to_handle<PIP_Tree_Node>(t_pip, where);
+    PPL_CHECK(pip);
+
+    Prolog_term_ref tail = Prolog_new_term_ref();
+    Prolog_put_atom(tail, a_nil);
+    const Constraint_System& ppl_cs = pip->constraints();
+    for (Constraint_System::const_iterator i = ppl_cs.begin(),
+           ppl_cs_end = ppl_cs.end(); i != ppl_cs_end; ++i)
+      Prolog_construct_cons(tail, constraint_term(*i), tail);
+
+    if (Prolog_unify(t_cs, tail)) {
+      return PROLOG_SUCCESS;
+    }
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Tree_Node_is_solution(Prolog_term_ref t_pip) {
+  static const char* where = "ppl_PIP_Tree_Node_as_solution/2";
+  try {
+    const PIP_Tree_Node* pip = term_to_handle<PIP_Tree_Node>(t_pip, where);
+    PPL_CHECK(pip);
+
+    if (pip != 0 && pip->as_solution() != 0)
+      return PROLOG_SUCCESS;
+    return PROLOG_FAILURE;
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Tree_Node_is_decision(Prolog_term_ref t_pip) {
+  static const char* where = "ppl_PIP_Tree_Node_as_decision/2";
+  try {
+    const PIP_Tree_Node* pip = term_to_handle<PIP_Tree_Node>(t_pip, where);
+    PPL_CHECK(pip);
+
+    if (pip != 0 && pip->as_decision() != 0)
+      return PROLOG_SUCCESS;
+    return PROLOG_FAILURE;
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Tree_Node_is_bottom(Prolog_term_ref t_pip) {
+  static const char* where = "ppl_PIP_Tree_Node_as_decision/2";
+  try {
+    const PIP_Tree_Node* pip = term_to_handle<PIP_Tree_Node>(t_pip, where);
+    PPL_CHECK(pip);
+
+    if (pip == 0)
+      return PROLOG_SUCCESS;
+    return PROLOG_FAILURE;
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Tree_Node_artificials(Prolog_term_ref t_tree_node,
+                              Prolog_term_ref t_artlist) {
+  static const char* where = "ppl_PIP_Tree_Node_artificials/2";
+  try {
+    const PIP_Tree_Node* node
+      = term_to_handle<PIP_Tree_Node>(t_tree_node, where);
+    PPL_CHECK(node);
+
+    Prolog_term_ref tail = Prolog_new_term_ref();
+    Prolog_put_atom(tail, a_nil);
+    for (PIP_Tree_Node::Artificial_Parameter_Sequence::const_iterator
+           i = node->art_parameter_begin(),
+           arts_end = node->art_parameter_end(); i != arts_end; ++i)
+      Prolog_construct_cons(tail, artificial_parameter_term(*i), tail);
+
+    if (Prolog_unify(t_artlist, tail))
+      return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Tree_Node_parametric_values(Prolog_term_ref t_pip,
+			                    Prolog_term_ref t_var,
+			                    Prolog_term_ref t_le) {
+  static const char* where = "ppl_PIP_Solution_Node_get_parametric_values/3";
+  try {
+    const PIP_Solution_Node* pip
+      = term_to_handle<PIP_Solution_Node>(t_pip, where);
+    PPL_CHECK(pip);
+    Variable var = term_to_Variable(t_var, where);
+    if (Prolog_unify(t_le, get_linear_expression(pip->parametric_values(var))))
+      return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Tree_Node_true_child(Prolog_term_ref t_pip,
+			             Prolog_term_ref t_ptree) {
+  static const char* where = "ppl_PIP_Decision_Node_get_true_child/2";
+  try {
+    const PIP_Decision_Node* pip
+      = term_to_handle<PIP_Decision_Node>(t_pip, where);
+    PPL_CHECK(pip);
+    bool b = true;
+    PIP_Tree_Node* ppl_ptree = const_cast<PIP_Tree_Node*>(pip->child_node(b));
+    Prolog_term_ref t_ppl_ptree = Prolog_new_term_ref();
+    Prolog_put_address(t_ppl_ptree, ppl_ptree);
+    if (Prolog_unify(t_ptree, t_ppl_ptree)) {
+      PPL_WEAK_REGISTER(ppl_ptree);
+      return PROLOG_SUCCESS;
+    }
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Tree_Node_false_child(Prolog_term_ref t_pip,
+			              Prolog_term_ref t_ptree) {
+  static const char* where = "ppl_PIP_Decision_Node_get_false_child/2";
+  try {
+    const PIP_Decision_Node* pip
+      = term_to_handle<PIP_Decision_Node>(t_pip, where);
+    PPL_CHECK(pip);
+    bool b = false;
+    PIP_Tree_Node* ppl_ptree = const_cast<PIP_Tree_Node*>(pip->child_node(b));
+    Prolog_term_ref t_ppl_ptree = Prolog_new_term_ref();
+    Prolog_put_address(t_ppl_ptree, ppl_ptree);
+    if (Prolog_unify(t_ptree, t_ppl_ptree)) {
+      PPL_WEAK_REGISTER(ppl_ptree);
+      return PROLOG_SUCCESS;
+    }
+  }
+  CATCH_ALL;
+}
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Tree_Node_OK(Prolog_term_ref t_pip) {
+  static const char* where = "ppl_PIP_Tree_Node_OK/1";
+  try {
+    const PIP_Tree_Node* pip = term_to_handle<PIP_Tree_Node>(t_pip, where);
+    PPL_CHECK(pip);
+    if (pip->OK())
+      return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
diff --git a/interfaces/Prolog/ppl_prolog_common.defs.hh b/interfaces/Prolog/ppl_prolog_common.defs.hh
index 08b2d02..8608b4e 100644
--- a/interfaces/Prolog/ppl_prolog_common.defs.hh
+++ b/interfaces/Prolog/ppl_prolog_common.defs.hh
@@ -1,5 +1,5 @@
 /* Common part of the Prolog interfaces: declarations.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -192,6 +192,13 @@ public:
   }
 };
 
+class not_a_boolean : public internal_exception {
+public:
+  not_a_boolean(Prolog_term_ref term, const char* where)
+    : internal_exception(term, where) {
+  }
+};
+
 class not_a_variable : public internal_exception {
 public:
   not_a_variable(Prolog_term_ref term, const char* where)
@@ -206,6 +213,28 @@ public:
   }
 };
 
+class not_a_bounded_integer_type_width : public internal_exception {
+public:
+  not_a_bounded_integer_type_width(Prolog_term_ref term, const char* where)
+    : internal_exception(term, where) {
+  }
+};
+
+class not_a_bounded_integer_type_representation : public internal_exception {
+public:
+  not_a_bounded_integer_type_representation(Prolog_term_ref term,
+                                            const char* where)
+    : internal_exception(term, where) {
+  }
+};
+
+class not_a_bounded_integer_type_overflow : public internal_exception {
+public:
+  not_a_bounded_integer_type_overflow(Prolog_term_ref term, const char* where)
+    : internal_exception(term, where) {
+  }
+};
+
 class not_a_complexity_class : public internal_exception {
 public:
   not_a_complexity_class(Prolog_term_ref term, const char* where)
@@ -227,6 +256,20 @@ public:
   }
 };
 
+class not_a_pip_problem_control_parameter_name : public internal_exception {
+public:
+  not_a_pip_problem_control_parameter_name(Prolog_term_ref term, const char* where)
+    : internal_exception(term, where) {
+  }
+};
+
+class not_a_pip_problem_control_parameter_value : public internal_exception {
+public:
+  not_a_pip_problem_control_parameter_value(Prolog_term_ref term, const char* where)
+    : internal_exception(term, where) {
+  }
+};
+
 class not_universe_or_empty : public internal_exception {
 public:
   not_universe_or_empty(Prolog_term_ref term, const char* where)
@@ -349,6 +392,22 @@ extern Prolog_atom a_polynomial;
 extern Prolog_atom a_simplex;
 extern Prolog_atom a_any;
 
+// Denote possible widths of bounded integer types.
+extern Prolog_atom a_bits_8;
+extern Prolog_atom a_bits_16;
+extern Prolog_atom a_bits_32;
+extern Prolog_atom a_bits_64;
+extern Prolog_atom a_bits_128;
+
+// Denote possible representations of bounded integer types.
+extern Prolog_atom a_unsigned;
+extern Prolog_atom a_signed_2_complement;
+
+// Denote possible overflow behavior of bounded integer types.
+extern Prolog_atom a_overflow_wraps;
+extern Prolog_atom a_overflow_undefined;
+extern Prolog_atom a_overflow_impossible;
+
 // Boolean constants.
 extern Prolog_atom a_true;
 extern Prolog_atom a_false;
@@ -368,6 +427,9 @@ void
 handle_exception(const not_unsigned_integer& e);
 
 void
+handle_exception(const not_a_boolean& e);
+
+void
 handle_exception(const non_linear& e);
 
 void
@@ -386,12 +448,27 @@ void
 handle_exception(const not_a_complexity_class& e);
 
 void
+handle_exception(const not_a_bounded_integer_type_width& e);
+
+void
+handle_exception(const not_a_bounded_integer_type_representation& e);
+
+void
+handle_exception(const not_a_bounded_integer_type_overflow& e);
+
+void
 handle_exception(const not_a_control_parameter_name& e);
 
 void
 handle_exception(const not_a_control_parameter_value& e);
 
 void
+handle_exception(const not_a_pip_problem_control_parameter_name& e);
+
+void
+handle_exception(const not_a_pip_problem_control_parameter_value& e);
+
+void
 handle_exception(const not_universe_or_empty& e);
 
 void
@@ -410,9 +487,18 @@ void
 handle_exception(const std::overflow_error& e);
 
 void
+handle_exception(const std::domain_error& e);
+
+void
 handle_exception(const std::length_error& e);
 
 void
+handle_exception(const std::invalid_argument& e);
+
+void
+handle_exception(const std::logic_error& e);
+
+void
 handle_exception(const std::bad_alloc&);
 
 void
@@ -421,7 +507,8 @@ handle_exception(const std::exception& e);
 void
 handle_exception();
 
-class timeout_exception : public Parma_Polyhedra_Library::Throwable {
+class timeout_exception
+  : public Parma_Polyhedra_Library::Throwable {
 public:
   void throw_me() const {
     throw *this;
@@ -429,13 +516,25 @@ public:
   int priority() const {
     return 0;
   }
-  timeout_exception() {
-  }
 };
 
 void
 handle_exception(const timeout_exception&);
 
+class deterministic_timeout_exception
+  : public Parma_Polyhedra_Library::Throwable {
+public:
+  void throw_me() const {
+    throw *this;
+  }
+  int priority() const {
+    return 0;
+  }
+};
+
+void
+handle_exception(const deterministic_timeout_exception&);
+
 #define CATCH_ALL \
   catch (const Prolog_unsigned_out_of_range& e) { \
     handle_exception(e); \
@@ -461,12 +560,27 @@ handle_exception(const timeout_exception&);
   catch (const not_a_complexity_class& e) { \
     handle_exception(e); \
   } \
+  catch (const not_a_bounded_integer_type_width& e) { \
+    handle_exception(e); \
+  } \
+  catch (const not_a_bounded_integer_type_representation& e) { \
+    handle_exception(e); \
+  } \
+  catch (const not_a_bounded_integer_type_overflow& e) { \
+    handle_exception(e); \
+  } \
   catch (const not_a_control_parameter_name& e) { \
     handle_exception(e); \
   } \
   catch (const not_a_control_parameter_value& e) { \
     handle_exception(e); \
   } \
+  catch (const not_a_pip_problem_control_parameter_name& e) { \
+    handle_exception(e); \
+  } \
+  catch (const not_a_pip_problem_control_parameter_value& e) { \
+    handle_exception(e); \
+  } \
   catch (const not_universe_or_empty& e) { \
     handle_exception(e); \
   } \
@@ -485,12 +599,24 @@ handle_exception(const timeout_exception&);
   catch (const timeout_exception& e) { \
     handle_exception(e); \
   } \
+  catch (const deterministic_timeout_exception& e) { \
+    handle_exception(e); \
+  } \
   catch(const std::overflow_error& e) { \
     handle_exception(e); \
   } \
+  catch(const std::domain_error& e) { \
+    handle_exception(e); \
+  } \
   catch(const std::length_error& e) { \
     handle_exception(e); \
   } \
+  catch(const std::invalid_argument& e) { \
+    handle_exception(e); \
+  } \
+  catch (const std::logic_error& e) { \
+    handle_exception(e); \
+  } \
   catch (const std::bad_alloc& e) { \
     handle_exception(e); \
   } \
@@ -529,7 +655,8 @@ term_to_unsigned(Prolog_term_ref t, const char* where) {
     Prolog_get_Coefficient(t, v);
     if (v < 0)
       throw not_unsigned_integer(t, where);
-    if (assign_r(d, raw_value(v), ROUND_NOT_NEEDED) != V_EQ)
+    Result r = assign_r(d, raw_value(v), ROUND_IGNORE);
+    if (result_overflow(r))
       throw Prolog_unsigned_out_of_range(t, where,
 					 std::numeric_limits<U>::max());
   }
@@ -537,6 +664,9 @@ term_to_unsigned(Prolog_term_ref t, const char* where) {
 }
 
 Prolog_atom
+term_to_boolean(Prolog_term_ref t, const char* where);
+
+Prolog_atom
 term_to_universe_or_empty(Prolog_term_ref t, const char* where);
 
 Prolog_term_ref
@@ -545,6 +675,16 @@ interval_term(const Parma_Polyhedra_Library::Rational_Box::interval_type& i);
 Prolog_atom
 term_to_complexity_class(Prolog_term_ref t, const char* where);
 
+Prolog_atom
+term_to_bounded_integer_type_width(Prolog_term_ref t, const char* where);
+
+Prolog_atom
+term_to_bounded_integer_type_representation(Prolog_term_ref t,
+                                            const char* where);
+
+Prolog_atom
+term_to_bounded_integer_type_overflow(Prolog_term_ref t, const char* where);
+
 template <typename T>
 T*
 term_to_handle(Prolog_term_ref t, const char* where) {
@@ -626,6 +766,12 @@ term_to_control_parameter_name(Prolog_term_ref t, const char* where);
 Prolog_atom
 term_to_control_parameter_value(Prolog_term_ref t, const char* where);
 
+Prolog_atom
+term_to_pip_problem_control_parameter_name(Prolog_term_ref t, const char* where);
+
+Prolog_atom
+term_to_pip_problem_control_parameter_value(Prolog_term_ref t, const char* where);
+
 void
 check_nil_terminating(Prolog_term_ref t, const char* where);
 
@@ -669,6 +815,12 @@ extern "C" Prolog_foreign_return_type
 ppl_restore_pre_PPL_rounding();
 
 extern "C" Prolog_foreign_return_type
+ppl_irrational_precision(Prolog_term_ref t_p);
+
+extern "C" Prolog_foreign_return_type
+ppl_set_irrational_precision(Prolog_term_ref t_p);
+
+extern "C" Prolog_foreign_return_type
 ppl_set_timeout_exception_atom(Prolog_term_ref t_tea);
 
 extern "C" Prolog_foreign_return_type
@@ -681,6 +833,15 @@ extern "C" Prolog_foreign_return_type
 ppl_reset_timeout();
 
 extern "C" Prolog_foreign_return_type
+ppl_set_deterministic_timeout(Prolog_term_ref t_weight);
+
+extern "C" Prolog_foreign_return_type
+ppl_reset_deterministic_timeout();
+
+extern "C" Prolog_foreign_return_type
+ppl_Coefficient_bits(Prolog_term_ref t_bits);
+
+extern "C" Prolog_foreign_return_type
 ppl_Coefficient_is_bounded();
 
 extern "C" Prolog_foreign_return_type
@@ -795,58 +956,129 @@ ppl_MIP_Problem_OK(Prolog_term_ref t_mip);
 extern "C" Prolog_foreign_return_type
 ppl_MIP_Problem_ascii_dump(Prolog_term_ref t_mip);
 
-using namespace Parma_Polyhedra_Library;
-using namespace Parma_Polyhedra_Library::Interfaces::Prolog;
 
-class Partial_Function {
-private:
-  std::set<dimension_type> codomain;
-  std::vector<dimension_type> vec;
+extern "C" Prolog_foreign_return_type
+ppl_new_PIP_Problem_from_space_dimension(Prolog_term_ref t_nd,
+                                         Prolog_term_ref t_pip);
 
-public:
-  Partial_Function() {
-  }
-
-  bool has_empty_codomain() const {
-    return codomain.empty();
-  }
-
-  dimension_type max_in_codomain() const {
-    if (codomain.empty())
-      throw unknown_interface_error("Partial_Function::max_in_codomain()");
-    return *codomain.rbegin();
-  }
-
-  bool maps(dimension_type i, dimension_type& j) const {
-    if (i >= vec.size())
-      return false;
-    dimension_type vec_i = vec[i];
-    if (vec_i == not_a_dimension())
-      return false;
-    j = vec_i;
-    return true;
-  }
-
-  bool insert(dimension_type i, dimension_type j) {
-    std::pair<std::set<dimension_type>::iterator, bool> s
-      = codomain.insert(j);
-    if (!s.second)
-      // *this is not injective!
-      return false;
-    if (i > vec.size())
-      vec.insert(vec.end(), i - vec.size(), not_a_dimension());
-    if (i == vec.size()) {
-      vec.insert(vec.end(), j);
-      return true;
-    }
-    dimension_type& vec_i = vec[i];
-    if (vec_i != not_a_dimension())
-      // Already mapped: *this is not a function!
-      return false;
-    vec_i = j;
-    return true;
-  }
-};
+extern "C" Prolog_foreign_return_type
+ppl_new_PIP_Problem_from_PIP_Problem(Prolog_term_ref t_pip_source,
+				     Prolog_term_ref t_pip);
+
+extern "C" Prolog_foreign_return_type
+ppl_new_PIP_Problem(Prolog_term_ref t_dim,
+		    Prolog_term_ref t_cs,
+		    Prolog_term_ref t_params,
+		    Prolog_term_ref t_pip);
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_swap(Prolog_term_ref t_lhs, Prolog_term_ref t_rhs);
+
+extern "C" Prolog_foreign_return_type
+ppl_delete_PIP_Problem(Prolog_term_ref t_pip);
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_space_dimension(Prolog_term_ref t_pip, Prolog_term_ref t_sd);
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_parameter_space_dimensions(Prolog_term_ref t_pip,
+                                           Prolog_term_ref t_vlist);
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_constraints(Prolog_term_ref t_pip, Prolog_term_ref t_cs);
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_get_control_parameter(Prolog_term_ref t_pip,
+                                      Prolog_term_ref t_cp_name,
+                                      Prolog_term_ref t_cp_value);
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_clear(Prolog_term_ref t_pip);
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_add_space_dimensions_and_embed
+(Prolog_term_ref t_pip,
+ Prolog_term_ref t_num_vars,
+ Prolog_term_ref t_num_params);
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_add_to_parameter_space_dimensions(Prolog_term_ref t_pip,
+                                                  Prolog_term_ref t_vlist);
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_add_constraint(Prolog_term_ref t_pip, Prolog_term_ref t_c);
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_add_constraints(Prolog_term_ref t_pip,
+				Prolog_term_ref t_clist);
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_set_control_parameter(Prolog_term_ref t_pip,
+                                      Prolog_term_ref t_cp_value);
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_is_satisfiable(Prolog_term_ref t_pip);
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_solve(Prolog_term_ref t_pip, Prolog_term_ref t_status);
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_solution(Prolog_term_ref t_pip,
+                         Prolog_term_ref t_pip_tree);
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_optimizing_solution(Prolog_term_ref t_pip,
+                                    Prolog_term_ref t_pip_tree);
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_has_big_parameter_dimension(Prolog_term_ref t_pip,
+                                            Prolog_term_ref t_d);
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_set_big_parameter_dimension(Prolog_term_ref t_pip,
+                                            Prolog_term_ref t_d);
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_OK(Prolog_term_ref t_pip);
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Problem_ascii_dump(Prolog_term_ref t_pip);
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Tree_Node_constraints(Prolog_term_ref t_tree_node,
+                              Prolog_term_ref t_clist);
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Tree_Node_is_solution(Prolog_term_ref t_tree_node);
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Tree_Node_is_decision(Prolog_term_ref t_tree_node);
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Tree_Node_is_bottom(Prolog_term_ref t_tree_node);
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Tree_Node_artificials(Prolog_term_ref t_tree_node,
+                              Prolog_term_ref t_artlist);
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Tree_Node_OK(Prolog_term_ref t_pip_tree);
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Tree_Node_parametric_values(Prolog_term_ref t_pip_sol,
+                                    Prolog_term_ref t_var,
+                                    Prolog_term_ref t_pvalue_list);
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Tree_Node_true_child(Prolog_term_ref t_pip_dec,
+                             Prolog_term_ref t_pip_tree);
+
+extern "C" Prolog_foreign_return_type
+ppl_PIP_Tree_Node_false_child(Prolog_term_ref t_pip_dec,
+                              Prolog_term_ref t_pip_tree);
+
+using namespace Parma_Polyhedra_Library;
+using namespace Parma_Polyhedra_Library::Interfaces::Prolog;
 
 #include "ppl_prolog_common.inlines.hh"
 
diff --git a/interfaces/Prolog/ppl_prolog_common.inlines.hh b/interfaces/Prolog/ppl_prolog_common.inlines.hh
index 14e580d..351dc96 100644
--- a/interfaces/Prolog/ppl_prolog_common.inlines.hh
+++ b/interfaces/Prolog/ppl_prolog_common.inlines.hh
@@ -1,5 +1,5 @@
 /* Common part of the Prolog interfaces: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/ppl_prolog_sysindep_dox b/interfaces/Prolog/ppl_prolog_sysindep_dox
index 9fa5ccc..10e87e4 100644
--- a/interfaces/Prolog/ppl_prolog_sysindep_dox
+++ b/interfaces/Prolog/ppl_prolog_sysindep_dox
@@ -262,7 +262,7 @@ The specification uses the following grammar rules:
  Control_Parameter_Value                for MIP problems
              --> pricing_steepest_edge_float
             | pricing_steepest_edge_exact
-            | pricing_rextbook
+            | pricing_textbook
 
  Vars_List   --> []    			list of PPL variables
             | [PPL_Var | Vars_List].
@@ -303,6 +303,11 @@ that are included with all instantiations of the Prolog interfaces.
   warranty whatsoever, the C++ compiler used to build the library,
   where to report bugs and where to look for further information.</EM>
 
+<P><CODE> ppl_Coefficient_bits(?Bits) </CODE><BR>
+
+  <EM>Unifies <CODE>Bits</CODE> with the number of bits used to encode a
+  Coefficient in the C++ interface; 0 if unbounded.</EM>
+
 <P><CODE> ppl_Coefficient_is_bounded </CODE><BR>
 
   <EM>Succeeds if and only if the Coefficients in the C++ interface are bounded.</EM>
diff --git a/interfaces/Prolog/tests/Makefile.am b/interfaces/Prolog/tests/Makefile.am
index 8f5eb50..ae8ec0d 100644
--- a/interfaces/Prolog/tests/Makefile.am
+++ b/interfaces/Prolog/tests/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -72,8 +72,8 @@ ppl_prolog_generated_test.stamp: $(interface_generator_dependencies)
 		-I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../.. \
 		$(srcdir)/ppl_interface_generator_prolog_generated_test_pl.m4 \
 			> ppl_prolog_generated_test_blob
-	$(top_srcdir)/utils/cm_cleaner.sh < ppl_prolog_generated_test_blob
-	$(top_srcdir)/utils/cm_splitter.sh < ppl_prolog_generated_test_blob
+	$(top_srcdir)/utils/cm_cleaner.sh ./ppl_prolog_generated_test_blob
+	$(top_srcdir)/utils/cm_splitter.sh ./ppl_prolog_generated_test_blob
 	rm -f ppl_prolog_generated_test_blob
 	echo timestamp >$@
 
diff --git a/interfaces/Prolog/tests/Makefile.in b/interfaces/Prolog/tests/Makefile.in
index f5d0669..30c901a 100644
--- a/interfaces/Prolog/tests/Makefile.in
+++ b/interfaces/Prolog/tests/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -37,8 +38,9 @@
 # site: http://www.cs.unipr.it/ppl/ .
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -62,6 +64,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -83,17 +86,25 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -140,6 +151,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -157,8 +170,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -166,6 +189,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -182,12 +206,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -230,11 +257,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -264,6 +289,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -271,6 +297,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 CLPQ_TESTS_NONSTRICT = \
 ack.clpq \
 ackn.clpq \
@@ -327,14 +354,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  interfaces/Prolog/tests/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  interfaces/Prolog/tests/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign interfaces/Prolog/tests/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign interfaces/Prolog/tests/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -352,6 +379,7 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -381,13 +409,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -417,6 +449,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -435,6 +468,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -443,18 +478,28 @@ install-data-am:
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am:
 
 install-html: install-html-am
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-am
 
+install-pdf-am:
+
 install-ps: install-ps-am
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -475,7 +520,7 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: install-am install-strip
+.MAKE: check-am install-am install-strip
 
 .PHONY: all all-am check check-am check-local clean clean-generic \
 	clean-libtool distclean distclean-generic distclean-libtool \
@@ -497,13 +542,14 @@ ppl_prolog_generated_test.stamp: $(interface_generator_dependencies)
 		-I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../.. \
 		$(srcdir)/ppl_interface_generator_prolog_generated_test_pl.m4 \
 			> ppl_prolog_generated_test_blob
-	$(top_srcdir)/utils/cm_cleaner.sh < ppl_prolog_generated_test_blob
-	$(top_srcdir)/utils/cm_splitter.sh < ppl_prolog_generated_test_blob
+	$(top_srcdir)/utils/cm_cleaner.sh ./ppl_prolog_generated_test_blob
+	$(top_srcdir)/utils/cm_splitter.sh ./ppl_prolog_generated_test_blob
 	rm -f ppl_prolog_generated_test_blob
 	echo timestamp >$@
 
 $(top_builddir)/interfaces/ppl_interface_instantiations.m4:
 	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/interfaces ppl_interface_instantiations.m4
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/interfaces/Prolog/tests/clpq.pl b/interfaces/Prolog/tests/clpq.pl
index 5b6502a..e4a4bfa 100644
--- a/interfaces/Prolog/tests/clpq.pl
+++ b/interfaces/Prolog/tests/clpq.pl
@@ -1,7 +1,7 @@
 % A toy, non-ground meta-interpreter for CLP(Q)
 % for testing the Parma Polyhedra Library and its Prolog interface.
 %
-% Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+% Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 %
 % This file is part of the Parma Polyhedra Library (PPL).
 %
@@ -150,8 +150,10 @@ select_clause(Atom, Head, Body) :-
 % The constraints are solved by adding them into the polyhedron.
 solve_constraints(Constraints, Polyhedron) :-
     listize_constraints(Constraints, Constraints_List),
-    % Fails if `Polyhedron' becomes empty.
-    ppl_Polyhedron_add_constraints_and_minimize(Polyhedron, Constraints_List).
+    ppl_Polyhedron_add_constraints(Polyhedron, Constraints_List),
+    % Fail if `Polyhedron' became empty.
+    \+ ppl_Polyhedron_is_empty(Polyhedron).
+
 
 listize_constraints(C, LC) :-
     listize_constraints(C, [], LC).
@@ -791,7 +793,7 @@ POSSIBILITY OF SUCH DAMAGES.\n').
 
 common_main :-
   write('\
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>\n\
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>\n\
 this program is free software, covered by the GNU General Public License,\n\
 and you are welcome to change it and/or distribute copies of it\n\
 under certain conditions.\n\
diff --git a/interfaces/Prolog/tests/clpq2.pl b/interfaces/Prolog/tests/clpq2.pl
index e506503..4a96b33 100644
--- a/interfaces/Prolog/tests/clpq2.pl
+++ b/interfaces/Prolog/tests/clpq2.pl
@@ -1,7 +1,7 @@
 % A toy, non-ground meta-interpreter for CLP(Q)
 % for testing the Parma Polyhedra Library and its Prolog interface.
 %
-% Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+% Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 %
 % This file is part of the Parma Polyhedra Library (PPL).
 %
@@ -124,8 +124,10 @@ solve(_, { Constraints }, [Poly|Polys], [Poly|Polys]) :-
   % and check we do have constraints.
   constraints2list(Constraints, Constraints_List),
 
-  % Fails if `Poly' becomes empty.
-  ppl_Polyhedron_add_constraints_and_minimize(Poly, Constraints_List).
+  ppl_Polyhedron_add_constraints(Poly, Constraints_List),
+
+  % Fail if `Poly' became empty.
+  \+ ppl_Polyhedron_is_empty(Poly).
 
 % Built-ins may be added here.
 
@@ -167,7 +169,8 @@ solve(Topology, Atom, [Poly|Polys], Polys_Out) :-
   ppl_Polyhedron_add_space_dimensions_and_embed(Poly_Copy, Added_Dims),
 
   % First solve the parameter passing equations.
-  ppl_Polyhedron_add_constraints_and_minimize(Poly_Copy, Binding_Constraints),
+  ppl_Polyhedron_add_constraints(Poly_Copy, Binding_Constraints),
+  \+ ppl_Polyhedron_is_empty(Poly_Copy),
   % Then solve the body.
   solve(Topology, Body, [Poly_Copy, Poly|Polys], Polys_Soln_Out),
 
@@ -1111,7 +1114,7 @@ POSSIBILITY OF SUCH DAMAGES.\n').
 
 common_main :-
   write('\
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>\n\
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>\n\
 this program is free software, covered by the GNU General Public License,\n\
 and you are welcome to change it and/or distribute copies of it\n\
 under certain conditions.\n\
diff --git a/interfaces/Prolog/tests/expected_clpq2_int16 b/interfaces/Prolog/tests/expected_clpq2_int16
index 9d03f75..d3722aa 100644
--- a/interfaces/Prolog/tests/expected_clpq2_int16
+++ b/interfaces/Prolog/tests/expected_clpq2_int16
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq2_int16_a b/interfaces/Prolog/tests/expected_clpq2_int16_a
index 914e1ce..51546fc 100644
--- a/interfaces/Prolog/tests/expected_clpq2_int16_a
+++ b/interfaces/Prolog/tests/expected_clpq2_int16_a
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq2_int32 b/interfaces/Prolog/tests/expected_clpq2_int32
index ddba48e..e7c7c11 100644
--- a/interfaces/Prolog/tests/expected_clpq2_int32
+++ b/interfaces/Prolog/tests/expected_clpq2_int32
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq2_int32_a b/interfaces/Prolog/tests/expected_clpq2_int32_a
index c69a65c..e5bb901 100644
--- a/interfaces/Prolog/tests/expected_clpq2_int32_a
+++ b/interfaces/Prolog/tests/expected_clpq2_int32_a
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq2_int64 b/interfaces/Prolog/tests/expected_clpq2_int64
index ddba48e..e7c7c11 100644
--- a/interfaces/Prolog/tests/expected_clpq2_int64
+++ b/interfaces/Prolog/tests/expected_clpq2_int64
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq2_int64_a b/interfaces/Prolog/tests/expected_clpq2_int64_a
index ddba48e..e7c7c11 100644
--- a/interfaces/Prolog/tests/expected_clpq2_int64_a
+++ b/interfaces/Prolog/tests/expected_clpq2_int64_a
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq2_int8 b/interfaces/Prolog/tests/expected_clpq2_int8
index 61510f5..f040a75 100644
--- a/interfaces/Prolog/tests/expected_clpq2_int8
+++ b/interfaces/Prolog/tests/expected_clpq2_int8
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq2_int8_a b/interfaces/Prolog/tests/expected_clpq2_int8_a
index 221898e..544e728 100644
--- a/interfaces/Prolog/tests/expected_clpq2_int8_a
+++ b/interfaces/Prolog/tests/expected_clpq2_int8_a
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq2_mpz b/interfaces/Prolog/tests/expected_clpq2_mpz
index ddba48e..e7c7c11 100644
--- a/interfaces/Prolog/tests/expected_clpq2_mpz
+++ b/interfaces/Prolog/tests/expected_clpq2_mpz
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq2_mpz_a b/interfaces/Prolog/tests/expected_clpq2_mpz_a
index ddba48e..e7c7c11 100644
--- a/interfaces/Prolog/tests/expected_clpq2_mpz_a
+++ b/interfaces/Prolog/tests/expected_clpq2_mpz_a
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq_int16 b/interfaces/Prolog/tests/expected_clpq_int16
index de9a352..b041e4e 100644
--- a/interfaces/Prolog/tests/expected_clpq_int16
+++ b/interfaces/Prolog/tests/expected_clpq_int16
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq_int16_a b/interfaces/Prolog/tests/expected_clpq_int16_a
index de9a352..b041e4e 100644
--- a/interfaces/Prolog/tests/expected_clpq_int16_a
+++ b/interfaces/Prolog/tests/expected_clpq_int16_a
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq_int32 b/interfaces/Prolog/tests/expected_clpq_int32
index 2b31d15..e18bb59 100644
--- a/interfaces/Prolog/tests/expected_clpq_int32
+++ b/interfaces/Prolog/tests/expected_clpq_int32
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq_int32_a b/interfaces/Prolog/tests/expected_clpq_int32_a
index 2b31d15..e18bb59 100644
--- a/interfaces/Prolog/tests/expected_clpq_int32_a
+++ b/interfaces/Prolog/tests/expected_clpq_int32_a
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq_int64 b/interfaces/Prolog/tests/expected_clpq_int64
index 2b31d15..e18bb59 100644
--- a/interfaces/Prolog/tests/expected_clpq_int64
+++ b/interfaces/Prolog/tests/expected_clpq_int64
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq_int64_a b/interfaces/Prolog/tests/expected_clpq_int64_a
index 2b31d15..e18bb59 100644
--- a/interfaces/Prolog/tests/expected_clpq_int64_a
+++ b/interfaces/Prolog/tests/expected_clpq_int64_a
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq_int8 b/interfaces/Prolog/tests/expected_clpq_int8
index 2a42f89..8f5b61b 100644
--- a/interfaces/Prolog/tests/expected_clpq_int8
+++ b/interfaces/Prolog/tests/expected_clpq_int8
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq_int8_a b/interfaces/Prolog/tests/expected_clpq_int8_a
index 2a42f89..8f5b61b 100644
--- a/interfaces/Prolog/tests/expected_clpq_int8_a
+++ b/interfaces/Prolog/tests/expected_clpq_int8_a
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq_mpz b/interfaces/Prolog/tests/expected_clpq_mpz
index 2b31d15..e18bb59 100644
--- a/interfaces/Prolog/tests/expected_clpq_mpz
+++ b/interfaces/Prolog/tests/expected_clpq_mpz
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq_mpz_a b/interfaces/Prolog/tests/expected_clpq_mpz_a
index 2b31d15..e18bb59 100644
--- a/interfaces/Prolog/tests/expected_clpq_mpz_a
+++ b/interfaces/Prolog/tests/expected_clpq_mpz_a
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_pchk_int8 b/interfaces/Prolog/tests/expected_pchk_int8
index 5161559..45056d1 100644
--- a/interfaces/Prolog/tests/expected_pchk_int8
+++ b/interfaces/Prolog/tests/expected_pchk_int8
@@ -1,4 +1,6 @@
 
+Error: an overflow has been detected by the PPL: Positive overflow.
+
 Error: an overflow has been detected by the PPL: Negative overflow.
 
 Error: an overflow has been detected by the PPL: Negative overflow.
diff --git a/interfaces/Prolog/tests/expected_pchk_int8_a b/interfaces/Prolog/tests/expected_pchk_int8_a
index 55cd051..45056d1 100644
--- a/interfaces/Prolog/tests/expected_pchk_int8_a
+++ b/interfaces/Prolog/tests/expected_pchk_int8_a
@@ -1,5 +1,7 @@
 
+Error: an overflow has been detected by the PPL: Positive overflow.
+
 Error: an overflow has been detected by the PPL: Negative overflow.
 
-Error: an overflow has been detected by the PPL: Positive overflow.
+Error: an overflow has been detected by the PPL: Negative overflow.
 OK
diff --git a/interfaces/Prolog/tests/pl_check.pl b/interfaces/Prolog/tests/pl_check.pl
index 6493cf8..e1ac58a 100644
--- a/interfaces/Prolog/tests/pl_check.pl
+++ b/interfaces/Prolog/tests/pl_check.pl
@@ -1,5 +1,5 @@
 /* Various tests on the Prolog interface.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -147,7 +147,8 @@ run_one(all_versions_and_banner) :-
 run_one(numeric_bounds) :-
   max_dimension,
   coefficient_bounds,
-  set_restore_rounding.
+  set_restore_rounding,
+  set_restore_irrational_precision.
 
 run_one(new_polyhedron_from_dimension) :-
   new_polyhedron_from_dim.
@@ -171,22 +172,16 @@ run_one(polyhedron_dimension) :-
 
 run_one(basic_operators) :-
    inters_assign,
-   inters_assign_min,
    polyhull_assign,
-   polyhull_assign_min,
    polydiff_assign,
    time_elapse,
    top_close_assign.
 
 run_one(add_to_system) :-
    add_con,
-   add_con_min,
    add_gen,
-   add_gen_min,
    add_cons,
-   add_cons_min,
-   add_gens,
-   add_gens_min.
+   add_gens.
 
 run_one(revise_dimensions) :-
    project,
@@ -254,6 +249,9 @@ run_one(catch_time) :-
 run_one(mip_problem) :-
    mip_problem.
 
+run_one(pip_problem) :-
+   pip_problem.
+
 % Checks how the PPL Prolog system performs with large integers
 % XSB has problems with large numbers - hence tests for XSB disallowed.
 % We catch the exception if it is caused by integer overflow in C++
@@ -320,6 +318,17 @@ set_restore_rounding :-
   ppl_set_rounding_for_PPL,
   ppl_restore_pre_PPL_rounding.
 
+set_restore_irrational_precision :-
+  ppl_irrational_precision(Default),
+  Default == 128,
+  Non_Default = 100,
+  ppl_set_irrational_precision(Non_Default),
+  ppl_irrational_precision(Changed),
+  Changed == Non_Default,
+  ppl_set_irrational_precision(Default),
+  ppl_irrational_precision(Restored),
+  Restored == Default.
+
 %%%%%%%%%%%%%%%%% New Polyhedron %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 % Note that throughout the tests, all "new_Polyhedron_from_...(...,P)" calls
@@ -610,39 +619,6 @@ inters_assign(T) :-
   ppl_delete_Polyhedron(P1a),
   ppl_delete_Polyhedron(P1b).
 
-% Tests ppl_Polyhedron_intersection_assign_and_minimize/2.
-inters_assign_min :-
-  inters_assign_min(c), inters_assign_min(nnc).
-
-inters_assign_min(T) :-
-  make_vars(2, [A, B]),
-  clean_ppl_new_Polyhedron_from_generators(T,
-                                     [point(0), point(B),
-                                      point(A), point(A, 2)],
-                                     P1),
-  clean_ppl_new_Polyhedron_from_generators(T,
-                                     [point(0), point(A), point(A + B)],
-                                     P2),
-  ppl_Polyhedron_intersection_assign_and_minimize(P1, P2),
-  clean_ppl_new_Polyhedron_from_generators(T,
-                                     [point(A + B, 2),
-                                      point(A), point(0)],
-                                     P1a),
-  clean_ppl_new_Polyhedron_from_constraints(T,
-                                      [A - B >= 0, B >= 0,
-                                       A + B =< 1],
-                                      P1b),
-  ppl_Polyhedron_equals_Polyhedron(P1, P1a),
-  ppl_Polyhedron_equals_Polyhedron(P1, P1b),
-  clean_ppl_new_Polyhedron_from_constraints(T, [A =< -1, B =< -1], P3),
-  \+ppl_Polyhedron_intersection_assign_and_minimize(P1, P3),
-  !,
-  ppl_delete_Polyhedron(P1),
-  ppl_delete_Polyhedron(P2),
-  ppl_delete_Polyhedron(P3),
-  ppl_delete_Polyhedron(P1a),
-  ppl_delete_Polyhedron(P1b).
-
 % Tests ppl_Polyhedron_concatenate_assign/2.
 conc_assign :-
   conc_assign(c), conc_assign(nnc).
@@ -688,32 +664,6 @@ polyhull_assign(T) :-
   ppl_delete_Polyhedron(P1a),
   ppl_delete_Polyhedron(P1b).
 
-% Tests ppl_Polyhedron_poly_hull_assign_and_minimize/2.
-polyhull_assign_min :-
-  polyhull_assign_min(c), polyhull_assign_min(nnc).
-
-polyhull_assign_min(T) :-
-  make_vars(2, [A, B]),
-  clean_ppl_new_Polyhedron_from_space_dimension(T, 2, empty, P1),
-  clean_ppl_new_Polyhedron_from_space_dimension(T, 2, empty, P2),
-  \+ ppl_Polyhedron_poly_hull_assign_and_minimize(P1, P2),
-  ppl_Polyhedron_add_generators(P1, [point(0), point(B),
-                                     point(A), point(A, 2)]),
-  ppl_Polyhedron_add_generators(P2, [point(0), point(A),
-                                     point(A + B), point(A, 2)]),
-  ppl_Polyhedron_poly_hull_assign_and_minimize(P1, P2),
-  clean_ppl_new_Polyhedron_from_generators(T,
-      [point(1*A+1*B), point(1*A, 2), point(1*A), point(1*B), point(0)], P1a),
-  clean_ppl_new_Polyhedron_from_constraints(T,
-      [1*A>=0, 1*B>=0, -1*B>= -1, -1*A>= -1], P1b),
-  ppl_Polyhedron_equals_Polyhedron(P1, P1a),
-  ppl_Polyhedron_equals_Polyhedron(P1, P1b),
-  !,
-  ppl_delete_Polyhedron(P1),
-  ppl_delete_Polyhedron(P2),
-  ppl_delete_Polyhedron(P1a),
-  ppl_delete_Polyhedron(P1b).
-
 % Tests ppl_Polyhedron_poly_difference_assign/2.
 polydiff_assign :-
   make_vars(2, [A, B]),
@@ -840,23 +790,6 @@ add_con(T) :-
   ppl_delete_Polyhedron(Pb),
   ppl_delete_Polyhedron(Pc).
 
-% Tests ppl_Polyhedron_add_constraint_and_minimize/2.
-add_con_min :-
-  add_con_min(c), add_con_min(nnc).
-
-add_con_min(T) :-
-  make_vars(2, [A, B]),
-  clean_ppl_new_Polyhedron_from_space_dimension(T, 2, universe, P),
-  ppl_Polyhedron_add_constraint_and_minimize(P, A - B >= 1),
-  clean_ppl_new_Polyhedron_from_constraints(T,
-                                      [A - B >= 1],
-                                      P1),
-  ppl_Polyhedron_equals_Polyhedron(P, P1),
-  \+ ppl_Polyhedron_add_constraint_and_minimize(P, A - B =< 0),
-  !,
-  ppl_delete_Polyhedron(P),
-  ppl_delete_Polyhedron(P1).
-
 % Tests ppl_Polyhedron_add_generator/2.
 add_gen :-
   add_gen(c), add_gen(nnc).
@@ -873,25 +806,6 @@ add_gen(T) :-
   ppl_delete_Polyhedron(P),
   ppl_delete_Polyhedron(P1).
 
-% Tests ppl_Polyhedron_add_generator_and_minimize/2.
-add_gen_min :-
-  add_gen_min(c), add_gen_min(nnc).
-
-add_gen_min(T) :-
-  make_vars(2, [A, B]),
-  clean_ppl_new_Polyhedron_from_space_dimension(T, 2, empty, P),
-  ppl_Polyhedron_add_generator(P, point(A + B)),
-  ppl_Polyhedron_add_generator(P, point(0)),
-  ppl_Polyhedron_add_generator_and_minimize(P, point(2*A + 2*B, 1)),
-  ppl_Polyhedron_get_generators(P,[_G1,_G2]),
-  clean_ppl_new_Polyhedron_from_generators(T,
-                                     [point(2*A + 2*B), point(0)],
-                                     P1),
-  ppl_Polyhedron_equals_Polyhedron(P, P1),
-  !,
-  ppl_delete_Polyhedron(P),
-  ppl_delete_Polyhedron(P1).
-
 % Tests ppl_Polyhedron_add_constraints/2.
 add_cons :-
   make_vars(3, [A, B, C]),
@@ -909,22 +823,6 @@ add_cons(T, CS, CS1) :-
   ppl_delete_Polyhedron(P),
   ppl_delete_Polyhedron(P1).
 
-% Tests ppl_Polyhedron_add_constraints_and_minimize/2.
-add_cons_min :-
-  make_vars(2, [A, B]),
-  add_cons_min(c, [A >= 1, B >= 0], [A + B =< 0]),
-  add_cons_min(nnc, [A > 1, B >= 0], [A < 0]).
-
-add_cons_min(T, CS, CS1) :-
-  clean_ppl_new_Polyhedron_from_space_dimension(T, 2, universe, P),
-  ppl_Polyhedron_add_constraints_and_minimize(P, CS),
-  clean_ppl_new_Polyhedron_from_constraints(T, CS, P1),
-  ppl_Polyhedron_equals_Polyhedron(P, P1),
-  \+ppl_Polyhedron_add_constraints_and_minimize(P, CS1),
-  !,
-  ppl_delete_Polyhedron(P),
-  ppl_delete_Polyhedron(P1).
-
 % Tests ppl_Polyhedron_add_generators/2.
 add_gens :-
   make_vars(3, [A, B, C]),
@@ -942,23 +840,6 @@ add_gens(T, GS) :-
   ppl_delete_Polyhedron(P),
   ppl_delete_Polyhedron(P1).
 
-% Tests ppl_Polyhedron_add_generators_and_minimize/2.
-add_gens_min :-
-  make_vars(3, [A, B, C]),
-  add_gens_min(c, [point(A + B + C), ray(A), ray(2*A), point(A + B + C)]),
-  add_gens_min(nnc, [point(A + B + C), ray(A), ray(2*A),
-                     closure_point(A + B + C)]).
-
-add_gens_min(T, GS) :-
-  clean_ppl_new_Polyhedron_from_space_dimension(T, 3, empty, P),
-  \+  ppl_Polyhedron_add_generators_and_minimize(P, []),
-  ppl_Polyhedron_add_generators_and_minimize(P, GS),
-  clean_ppl_new_Polyhedron_from_generators(T, GS, P1),
-  ppl_Polyhedron_equals_Polyhedron(P, P1),
-  !,
-  ppl_delete_Polyhedron(P),
-  ppl_delete_Polyhedron(P1).
-
 %%%%%%%%%%%%%%%%%% Change Dimensions %%%%%%%%%%%%%%%%%%%%%%%%%%
 
 % Tests ppl_Polyhedron_add_space_dimensions_and_project/2.
@@ -1150,11 +1031,6 @@ map_dim(T) :-
   ppl_delete_Polyhedron(Q),
   clean_ppl_new_Polyhedron_from_space_dimension(T, 4, empty, P0),
   ppl_Polyhedron_add_generators(P0, [point(2*C), line(A+B), ray(A+C)]),
-  \+ppl_Polyhedron_map_space_dimensions(P0, [A+C, C-A, B-B]), % A+C not map
-  \+ppl_Polyhedron_map_space_dimensions(P0, [A, C-A, B-B]),   % A not map
-  \+ppl_Polyhedron_map_space_dimensions(P0, [D-A, C-A, B-B]), % D not dimension
-  \+ppl_Polyhedron_map_space_dimensions(P0, [B-A, C-A, B-B]), % not injective
-  \+ppl_Polyhedron_map_space_dimensions(P0, [B-A, C-A, B-C]), % not function
   ppl_delete_Polyhedron(P0),
   clean_ppl_new_Polyhedron_from_space_dimension(T, 4, empty, P1),
   ppl_Polyhedron_add_generators(P1, [point(2*C), line(A+B), ray(A+C)]),
@@ -1939,6 +1815,32 @@ ok(T) :-
   ppl_delete_Polyhedron(P3),
   ppl_delete_Polyhedron(P4).
 
+% Tests ppl_termination_test_C_Polyhedron_MS/2,
+%       ppl_termination_test_C_Polyhedron_PR/2.
+%       ppl_termination_test_NNC_Polyhedron_MS/2,
+%       ppl_termination_test_NNC_Polyhedron_PR/2.
+termination_test :-
+  make_vars(4, [A, B, C, D]),
+  clean_ppl_new_Polyhedron_from_constraints(c,
+                                            [A - C >= 0,
+                                             -A + C >= 0,
+                                             -B + D >= 1,
+                                             B >= 0,
+                                             A >= 1], P1),
+  ppl_termination_test_C_Polyhedron_MS(P1),
+  ppl_termination_test_C_Polyhedron_PR(P1),
+  clean_ppl_new_Polyhedron_from_constraints(nnc,
+                                            [A - C >= 0,
+                                             -A + C >= 0,
+                                             -B + D >= 1,
+                                             B >= 0],
+					    P2),
+  ppl_termination_test_NNC_Polyhedron_MS(P2),
+  ppl_termination_test_NNC_Polyhedron_PR(P2),
+  !,
+  ppl_delete_Polyhedron(P1),
+  ppl_delete_Polyhedron(P2).
+
 %%%%%%%%%%%%%%%%%%%%%%%%% Polyhedron Bounding Values %%%%%%%%%%%%%%%%%%%%%%%
 
 % Tests ppl_Polyhedron_bounds_from_above/2.
@@ -2067,7 +1969,6 @@ time_out :-
 time_out :-
   time_out(c), time_out(nnc).
 
-% Avoid use of add_and_minimize predicate as that is deprecated.
 add_constraints_and_get_minimized_constraints(P, CS) :-
     ppl_Polyhedron_add_constraints(P, CS),
     ppl_Polyhedron_get_minimized_constraints(P, _).
@@ -2080,38 +1981,38 @@ build_hypercube_constraints(Dim, [V|Vars], [V >= 0, V =< 1|CS]) :-
 
 % Find the dimension and constraints for
 % a hypercube that causes a timeout exception.
-compute_timeout_hypercube(T, Dim_in, Dim_out, CS_out) :-
+compute_timeout_hypercube(Hsecs, T, Dim_in, Dim_out, CS_out) :-
     Dim_in =< 100,
     clean_ppl_new_Polyhedron_from_space_dimension(T, Dim_in, universe, P),
     make_vars(Dim_in, Vars),
     build_hypercube_constraints(Dim_in, Vars, CS),
     ppl_timeout_exception_atom(Time_Out_Atom),
-    catch(add_constraints_and_get_minimized_constraints(P, CS),
-           Time_Out_Atom, Catch_Exception = ok),
+    catch((ppl_set_timeout(Hsecs),
+           add_constraints_and_get_minimized_constraints(P, CS)),
+          Time_Out_Atom, Catch_Exception = ok),
+    ppl_reset_timeout,
     (Catch_Exception == ok ->
         Dim_out = Dim_in,
+        ppl_delete_Polyhedron(P),
         CS_out = CS
     ;
         Dim1 is Dim_in+1,
         ppl_delete_Polyhedron(P),
-        compute_timeout_hypercube(T, Dim1, Dim_out, CS_out)
+        compute_timeout_hypercube(Hsecs, T, Dim1, Dim_out, CS_out)
     ).
 
 time_out(T) :-
   ppl_set_timeout_exception_atom(pl_time_out),
   \+  ppl_timeout_exception_atom(pl_x),
   ppl_timeout_exception_atom(pl_time_out),
-  ppl_set_timeout(10),
-  compute_timeout_hypercube(T, 1, Dim, CS),
+  compute_timeout_hypercube(10, T, 1, Dim, CS),
   !,
   N1 is 1,
-  ppl_reset_timeout,
-  ppl_set_timeout_exception_atom(pl_time_out),
-  ppl_set_timeout(N1),
-  ppl_timeout_exception_atom(Time_Out_Atom),
   clean_ppl_new_Polyhedron_from_space_dimension(T, Dim, universe, P),
-  catch(add_constraints_and_get_minimized_constraints(P, CS),
-           Time_Out_Atom, Catch_Exception = ok),
+  catch((ppl_set_timeout(N1),
+         add_constraints_and_get_minimized_constraints(P, CS)),
+        pl_time_out, Catch_Exception = ok),
+  ppl_reset_timeout,
   (Catch_Exception == ok ->
       display_message(['while testing time_out, polyhedron with topology',
                  T, 'timeout after', N1, ms])
@@ -2124,13 +2025,11 @@ time_out(T) :-
   !,
   ppl_delete_Polyhedron(P),
   N2 is 40,
-  ppl_reset_timeout,
-  ppl_set_timeout_exception_atom(pl_time_out),
-  ppl_set_timeout(N2),
-  ppl_timeout_exception_atom(Time_Out_Atom1),
   clean_ppl_new_Polyhedron_from_space_dimension(T, Dim, universe, Q),
-  catch(ppl_Polyhedron_is_universe(Q),
-           Time_Out_Atom1, Catch_Exception = not_ok),
+  catch((ppl_set_timeout(N2),
+         ppl_Polyhedron_is_universe(Q)),
+        pl_time_out, Catch_Exception = not_ok),
+  ppl_reset_timeout,
   (Catch_Exception == not_ok ->
       display_message(['while testing time_out, polyhedron with topology',
                  T, 'timeout after', N2, ms]),
@@ -2374,6 +2273,220 @@ mip_eval :-
   ppl_delete_Polyhedron(Expect_PH),
   ppl_delete_Polyhedron(PH).
 
+%%%%%%%%%%%%%%%%% PIP_Problem tests %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+pip_problem :-
+  pip_from_cons,
+  pip_from_pip,
+  pip_swap,
+  pip_control_parameters,
+  pip_clear,
+  pip_satisfiable,
+  pip_add,
+  pip_set,
+  pip_solve,
+  pip_solution.
+
+pip_from_cons :-
+  make_vars(3, [A, B, C]),
+  clean_ppl_new_PIP_Problem_from_space_dimension(3, PIP1),
+  ppl_PIP_Problem_space_dimension(PIP1, 3),
+  ppl_PIP_Problem_OK(PIP1),
+  clean_ppl_new_PIP_Problem(3, [A >= -1, B >= 5, C >= 0, C =< 3], [C], PIP),
+  ppl_PIP_Problem_space_dimension(PIP, 3),
+  ppl_PIP_Problem_parameter_space_dimensions(PIP, [C]),
+  ppl_PIP_Problem_constraints(PIP, CS),
+  clean_ppl_new_Polyhedron_from_constraints(c, CS, PH),
+  clean_ppl_new_Polyhedron_from_constraints(c,
+       [A >= -1, B >= 5, C >= 0, C =< 3], Expect_PH),
+  ppl_Polyhedron_equals_Polyhedron(PH, Expect_PH),
+  !,
+  ppl_delete_Polyhedron(PH),
+  ppl_delete_Polyhedron(Expect_PH),
+  ppl_delete_PIP_Problem(PIP1),
+  ppl_delete_PIP_Problem(PIP).
+
+pip_from_pip :-
+  make_vars(3, [A, B, C]),
+  clean_ppl_new_PIP_Problem(
+    3, [A >= -1, B >= 5, C >= 0, C =< 3], [C], PIP1),
+  clean_ppl_new_PIP_Problem_from_PIP_Problem(PIP1, PIP),
+  ppl_PIP_Problem_constraints(PIP, CS),
+  clean_ppl_new_Polyhedron_from_constraints(c, CS, PH),
+  ppl_PIP_Problem_constraints(PIP1, Expect_CS),
+  clean_ppl_new_Polyhedron_from_constraints(c, Expect_CS, Expect_PH),
+  ppl_Polyhedron_equals_Polyhedron(PH, Expect_PH),
+  !,
+  ppl_delete_Polyhedron(PH),
+  ppl_delete_Polyhedron(Expect_PH),
+  ppl_delete_PIP_Problem(PIP1),
+  ppl_delete_PIP_Problem(PIP).
+
+pip_swap :-
+  make_vars(3, [A, B, C]),
+  clean_ppl_new_PIP_Problem_from_space_dimension(0, PIP),
+  clean_ppl_new_PIP_Problem(
+    3, [A >= -1, B >= 5, C >= 0, C =< 3], [C], PIP1),
+  ppl_PIP_Problem_swap(PIP, PIP1),
+  ppl_PIP_Problem_constraints(PIP, CS),
+  ppl_PIP_Problem_constraints(PIP1, CS1),
+  clean_ppl_new_Polyhedron_from_constraints(c, CS1, PH1),
+  ppl_Polyhedron_is_universe(PH1),
+  clean_ppl_new_Polyhedron_from_constraints(c, CS, PH),
+  clean_ppl_new_Polyhedron_from_constraints(c,
+       [A >= -1, B >= 5, C >= 0, C =< 3], Expect_PH),
+  ppl_Polyhedron_equals_Polyhedron(PH, Expect_PH),
+  !,
+  ppl_delete_Polyhedron(PH),
+  ppl_delete_Polyhedron(PH1),
+  ppl_delete_Polyhedron(Expect_PH),
+  ppl_delete_PIP_Problem(PIP1),
+  ppl_delete_PIP_Problem(PIP).
+
+pip_control_parameters :-
+  make_vars(1, [A]),
+
+  ppl_new_PIP_Problem(3, [], [A], PIP0),
+  clean_ppl_new_PIP_Problem_from_PIP_Problem(PIP0, PIP1),
+  ppl_PIP_Problem_get_control_parameter(PIP0, cutting_strategy, Cp_value0),
+  ppl_PIP_Problem_set_control_parameter(PIP1, Cp_value0),
+  ppl_PIP_Problem_get_control_parameter(PIP1, cutting_strategy, Cp_value1),
+  Cp_value0 == Cp_value1,
+  ppl_PIP_Problem_set_control_parameter(PIP0, cutting_strategy_first),
+  ppl_PIP_Problem_get_control_parameter(PIP0, cutting_strategy, Cp_value2),
+  Cp_value2 == cutting_strategy_first,
+  ppl_PIP_Problem_set_control_parameter(PIP0, cutting_strategy_deepest),
+  ppl_PIP_Problem_get_control_parameter(PIP0, cutting_strategy, Cp_value3),
+  Cp_value3 == cutting_strategy_deepest,
+  ppl_PIP_Problem_set_control_parameter(PIP0, cutting_strategy_all),
+  ppl_PIP_Problem_get_control_parameter(PIP0, cutting_strategy, Cp_value4),
+  Cp_value4 == cutting_strategy_all,
+
+  ppl_PIP_Problem_get_control_parameter(PIP0, pivot_row_strategy, Cp_value5),
+  ppl_PIP_Problem_set_control_parameter(PIP1, Cp_value5),
+  ppl_PIP_Problem_get_control_parameter(PIP1, pivot_row_strategy, Cp_value6),
+  Cp_value5 == Cp_value6,
+  ppl_PIP_Problem_set_control_parameter(PIP0, pivot_row_strategy_first),
+  ppl_PIP_Problem_get_control_parameter(PIP0, pivot_row_strategy, Cp_value7),
+  Cp_value7 == pivot_row_strategy_first,
+  ppl_PIP_Problem_set_control_parameter(PIP0, pivot_row_strategy_max_column),
+  ppl_PIP_Problem_get_control_parameter(PIP0, pivot_row_strategy, Cp_value8),
+  Cp_value8 == pivot_row_strategy_max_column,
+ !,
+  ppl_delete_PIP_Problem(PIP0),
+  ppl_delete_PIP_Problem(PIP1).
+
+pip_clear :-
+  make_vars(3, [A, B, C]),
+  clean_ppl_new_PIP_Problem(3, [A >= -1, B >= 5, C >= 0, C =< 3], [C], PIP),
+  ppl_PIP_Problem_clear(PIP),
+  ppl_PIP_Problem_space_dimension(PIP, D),
+  D == 0,
+  ppl_PIP_Problem_constraints(PIP, CS),
+  clean_ppl_new_Polyhedron_from_constraints(c, CS, PH),
+  ppl_Polyhedron_is_universe(PH),
+  !,
+  ppl_delete_Polyhedron(PH),
+  ppl_delete_PIP_Problem(PIP).
+
+pip_satisfiable :-
+  make_vars(3, [A, B, C]),
+  clean_ppl_new_PIP_Problem(3, [A >= -1, B >= 5, C >= 0, C =< 3], [C], PIP),
+  ppl_PIP_Problem_is_satisfiable(PIP),
+  ppl_PIP_Problem_add_constraint(PIP, A + B =< 0),
+  \+ ppl_PIP_Problem_is_satisfiable(PIP),
+  !,
+  ppl_delete_PIP_Problem(PIP).
+
+pip_add :-
+  make_vars(4, [A, B, C, D]),
+  clean_ppl_new_PIP_Problem_from_space_dimension(0, PIP),
+  ppl_PIP_Problem_add_space_dimensions_and_embed(PIP, 1, 0),
+  ppl_PIP_Problem_add_constraint(PIP, A >= 0),
+  ppl_PIP_Problem_add_space_dimensions_and_embed(PIP, 2, 1),
+  ppl_PIP_Problem_add_constraints(
+    PIP, [A =< 3, A + B + C >= 9, B >= 5, C =< 5]),
+  clean_ppl_new_PIP_Problem(
+    4, [A >= 0, A =< 3, A + B + C >= 9, B >= 5, C =< 5], [D], PIP1),
+  ppl_PIP_Problem_constraints(PIP, CS),
+  clean_ppl_new_Polyhedron_from_constraints(c, CS, PH),
+  ppl_PIP_Problem_constraints(PIP1, Expect_CS),
+  clean_ppl_new_Polyhedron_from_constraints(c, Expect_CS, Expect_PH),
+  ppl_Polyhedron_equals_Polyhedron(PH, Expect_PH),
+  !,
+  ppl_delete_Polyhedron(PH),
+  ppl_delete_Polyhedron(Expect_PH),
+  ppl_delete_PIP_Problem(PIP),
+  ppl_delete_PIP_Problem(PIP1).
+
+pip_set :-
+  make_vars(3, [A, B, C]),
+  clean_ppl_new_PIP_Problem(
+    3, [A >= 0, A =< 3, A + B + C >= 9, B >= 5, C =< 5], [B], PIP),
+  \+ ppl_PIP_Problem_has_big_parameter_dimension(PIP, _X),
+  ppl_PIP_Problem_solve(PIP, optimized),
+  !,
+  ppl_delete_PIP_Problem(PIP),
+
+  make_vars(4, [X, Y, P, M]),
+  clean_ppl_new_PIP_Problem(
+    4, [Y - M >= -2*X + 2*M - 4, 2*Y - 2*M =< X - M + 2*P], [P, M], PIP1),
+  ppl_PIP_Problem_set_big_parameter_dimension(PIP1, 3),
+  ppl_PIP_Problem_has_big_parameter_dimension(PIP1, 3),
+  ppl_PIP_Problem_solve(PIP1, optimized),
+  !,
+  ppl_delete_PIP_Problem(PIP1).
+
+pip_solve :-
+  make_vars(3, [A, B, C]),
+  clean_ppl_new_PIP_Problem(
+    3, [A >= 0, A =< 3, A + B + C >= 9, B >= 5, C =< 5], [B], PIP),
+  ppl_PIP_Problem_solve(PIP, Status),
+  Status == optimized,
+  clean_ppl_new_PIP_Problem(
+    3, [A >= 0, A =< 3, A + B + C >= 9, B >= 5, C =< 5], [B,C], PIP1),
+  ppl_PIP_Problem_add_constraint(PIP1, C >= 6),
+  ppl_PIP_Problem_solve(PIP1, Status1),
+  Status1 == unfeasible,
+  ppl_PIP_Problem_add_constraint(PIP, B = 0),
+  ppl_PIP_Problem_solve(PIP, unfeasible),
+  \+ppl_PIP_Problem_solve(PIP, invalid_status),
+  !,
+  ppl_delete_PIP_Problem(PIP),
+  ppl_delete_PIP_Problem(PIP1).
+
+pip_solution :-
+  make_vars(4, [I, J, M, N]),
+  clean_ppl_new_PIP_Problem(
+    4, [3*J >= -2*I + 8, J =< 4*I - 4, J =< M, I =< N], [M,N], PIP),
+  ppl_PIP_Problem_solution(PIP, Node),
+  ppl_PIP_Tree_Node_artificials(Node, Artificials),
+  Artificials = [],
+  \+ ppl_PIP_Tree_Node_is_solution(Node),
+  ppl_PIP_Tree_Node_constraints(Node, _CS),
+  ppl_PIP_Tree_Node_is_decision(Node),
+  ppl_PIP_Tree_Node_constraints(Node, _CS1),
+  ppl_PIP_Tree_Node_true_child(Node, TChild),
+  ppl_PIP_Tree_Node_false_child(Node, _FChild),
+  ppl_PIP_Tree_Node_is_decision(TChild),
+  ppl_PIP_Tree_Node_true_child(TChild, TTChild),
+  \+ ppl_PIP_Tree_Node_is_decision(TTChild),
+  ppl_PIP_Tree_Node_is_solution(TTChild),
+  ppl_PIP_Tree_Node_parametric_values(TTChild, I, _TPV),
+  ppl_PIP_Tree_Node_false_child(TChild, FTChild),
+  ppl_PIP_Tree_Node_artificials(FTChild, FTChild_Artificials),
+  FTChild_Artificials = [Art_LinExpr/Art_Den],
+  compare_lin_expressions(Art_LinExpr, M),
+  Art_Den = 2,
+  ppl_PIP_Tree_Node_is_solution(FTChild),
+  ppl_PIP_Tree_Node_parametric_values(FTChild, I, _FPV),
+  ppl_PIP_Problem_OK(PIP),
+  ppl_PIP_Tree_Node_OK(Node),
+  !,
+  ppl_delete_PIP_Problem(PIP).
+
+%%%%%%%%%%%%%%%% Tool to compare linear expressions %%%%%%%%%%%%%%%%%%%%%%%
+
 % compare_lin_expressions/2 checks if 2 linear expressions
 % are semantically the same.
 %
@@ -2559,7 +2672,7 @@ exception_yap :-
 % It does not check those that are dependent on a specific Prolog system.
 
 exception_prolog(V) :-
-   exception_prolog1(13, V).
+   exception_prolog1(14, V).
 
 exception_prolog1(0, _) :- !.
 exception_prolog1(N, V) :-
@@ -2569,23 +2682,21 @@ exception_prolog1(N, V) :-
 
 %% TEST: Prolog_unsigned_out_of_range.
 %% This test accepts any one of three exceptions:
-%% ppl_invalid_argument: with a 32 bit system, the number 1 << 34 is expected
+%% ppl_invalid_argument: with a 32 bit system, the number 1 << 59 is expected
 %%                       to throw this Prolog exception;
-%% out_of_memory:        with a 64 bit system, the number 1 << 34 does not
-%%                       throw an exception on the Prolog side, but, with
-%%                       unbounded integers, the large number of dimensions
-%%                       will throw a bad_alloc exception in C++;
-%% ppl_overflow_error:   with bounded integers, when the number is too large,
-%%                       an overflow exception may be thrown.
+%% out_of_memory:        with a 64 bit system, the number 1 << 59 does not
+%%                       throw an exception on the Prolog side, but the
+%%                       large number of dimensions will cause a bad_alloc
+%%                       exception in C++.
 %%
 exception_prolog(1, _) :-
     pl_check_prolog_flag(bounded, Y),
    (Y == true ->
      true
     ;
-     (I is 1 << 34,
-     must_catch(ppl_new_C_Polyhedron_from_generators([point('$VAR'(I))], _),
-                prolog_exception_error)
+     (I is 1 << 59,
+        must_catch(ppl_new_C_Polyhedron_from_generators([point('$VAR'(I))], _),
+                   prolog_exception_error)
       )
    ).
 
@@ -2602,8 +2713,7 @@ exception_prolog(2, _) :-
 
 %% TEST: not_unsigned_integer
 exception_prolog(3, _) :-
-  must_catch(ppl_set_timeout(-1), ppl_invalid_argument).
-
+    must_catch(ppl_set_timeout(-1), ppl_invalid_argument).
 
 %% TEST: not_unsigned_integer
 exception_prolog(4, _) :-
@@ -2739,6 +2849,11 @@ exception_prolog(13, _) :-
   must_catch(ppl_MIP_Problem_space_dimension(_, _N), ppl_invalid_argument),
   must_catch(ppl_MIP_Problem_constraints(p, []), ppl_invalid_argument).
 
+%% TEST: not_an_pip_problem_handle
+exception_prolog(14, _) :-
+  must_catch(ppl_PIP_Problem_space_dimension(_, _N), ppl_invalid_argument),
+  must_catch(ppl_PIP_Problem_constraints(p, []), ppl_invalid_argument).
+
 % exception_sys_prolog(+N, +V) checks exceptions thrown by Prolog interfaces
 % that are dependent on a specific Prolog system.
 % These are only checked if current_prolog_flag(bounded, true) holds.
@@ -2838,7 +2953,7 @@ exception_cplusplus(3, [A, B, _]) :-
   clean_ppl_new_Polyhedron_from_space_dimension(c, 0, universe, P1),
   clean_ppl_new_Polyhedron_from_generators(c,
                [point(A + B)], P2),
-  must_catch(ppl_Polyhedron_poly_hull_assign_and_minimize(P1, P2),
+  must_catch(ppl_Polyhedron_poly_hull_assign(P1, P2),
              cpp_error),
   !,
   ppl_delete_Polyhedron(P1),
@@ -2915,7 +3030,8 @@ must_catch(Call, prolog_exception_error) :-
 must_catch(Call, cpp_error) :-
    !,
    catch( Call, Message, format_exception_message( cpp_error(Message) ) ),
-   ( ( \+ var(Message), name(Message, [80,80,76,58,58|_] ) ) ->
+   ( ( \+ var(Message),
+       functor(Message, ppl_invalid_argument, _) ) ->
        true
    ;
        fail
@@ -2977,6 +3093,11 @@ cleanup_ppl_MIP_Problem(MIP) :-
   out(mip, MIP),
   ppl_delete_MIP_Problem(MIP), fail.
 
+cleanup_ppl_PIP_Problem(_).
+cleanup_ppl_PIP_Problem(PIP) :-
+  out(pip, PIP),
+  ppl_delete_PIP_Problem(PIP), fail.
+
 out(cs, P):-
   ((noisy(N), N < 2) -> true ;
     ppl_Polyhedron_get_constraints(P, CS),
@@ -3003,6 +3124,18 @@ out(mip, MIP):-
     nl
   ).
 
+out(pip, PIP):-
+  ((noisy(N), N < 2) -> true ;
+    ppl_PIP_Problem_constraints(PIP, CS),
+    ppl_PIP_Problem_parameter_space_dimensions(PIP, Dims),
+    ppl_PIP_Problem_get_control_parameter(PIP, cutting_strategy, Cp_value),
+    nl,
+    write(' constraint system is: '), write(CS), nl,
+    write(' parameter space dimensions are: '), write(Dims), nl,
+    write(' control_parameter_value is: '), write(Cp_value),
+    nl
+  ).
+
 out(sys_large_int, init):-
   !,
   prolog_system(System),
@@ -3099,6 +3232,18 @@ clean_ppl_new_MIP_Problem_from_MIP_Problem(MIP1, MIP) :-
   ppl_new_MIP_Problem_from_MIP_Problem(MIP1, MIP),
   cleanup_ppl_MIP_Problem(MIP).
 
+clean_ppl_new_PIP_Problem_from_space_dimension(Dim, PIP) :-
+  ppl_new_PIP_Problem_from_space_dimension(Dim, PIP),
+  cleanup_ppl_PIP_Problem(PIP).
+
+clean_ppl_new_PIP_Problem(Dim, CS, Vars, PIP) :-
+  ppl_new_PIP_Problem(Dim, CS, Vars, PIP),
+  cleanup_ppl_PIP_Problem(PIP).
+
+clean_ppl_new_PIP_Problem_from_PIP_Problem(PIP1, PIP) :-
+  ppl_new_PIP_Problem_from_PIP_Problem(PIP1, PIP),
+  cleanup_ppl_PIP_Problem(PIP).
+
 %%%%%%%%%%%% predicates for switching on/off output messages %
 
 make_extra_noisy :-
@@ -3250,6 +3395,7 @@ list_groups( [
    minmax_polyhedron,
    compare_polyhedra,
    mip_problem,
+   pip_problem,
    transform_polyhedron,
    add_to_system,
    catch_time,
@@ -3316,9 +3462,7 @@ group_predicates(polyhedron_dimension,
 
 group_predicates(basic_operators,
   [ppl_Polyhedron_intersection_assign/2,
-   ppl_Polyhedron_intersection_assign_and_minimize/2,
    ppl_Polyhedron_poly_hull_assign/2,
-   ppl_Polyhedron_poly_hull_assign_and_minimize/2,
    ppl_Polyhedron_poly_difference_assign/2,
    ppl_Polyhedron_time_elapse_assign/2,
    ppl_Polyhedron_topological_closure_assign/1
@@ -3326,13 +3470,9 @@ group_predicates(basic_operators,
 
 group_predicates(add_to_system,
   [ppl_Polyhedron_add_constraint/2,
-   ppl_Polyhedron_add_constraint_and_minimize/2,
    ppl_Polyhedron_add_generator/2,
-   ppl_Polyhedron_add_generator_and_minimize/2,
    ppl_Polyhedron_add_constraints/2,
-   ppl_Polyhedron_add_constraints_and_minimize/2,
-   ppl_Polyhedron_add_generators/2,
-   ppl_Polyhedron_add_generators_and_minimize/2
+   ppl_Polyhedron_add_generators/2
   ]).
 
 group_predicates(revise_dimensions,
@@ -3389,6 +3529,8 @@ group_predicates(check_polyhedron,
    ppl_Polyhedron_strictly_contains_Polyhedron/2,
    ppl_Polyhedron_is_disjoint_from_Polyhedron/2,
    ppl_Polyhedron_equals_Polyhedron/2,
+   ppl_Polyhedron_termination_test_MS/2,
+   ppl_Polyhedron_termination_test_PR/2,
    ppl_Polyhedron_OK/1
   ]).
 
@@ -3417,6 +3559,10 @@ group_predicates(mip_problem,
   ['all MIP_Prolog predicates'
   ]).
 
+group_predicates(pip_problem,
+  ['all PIP_Prolog predicates'
+  ]).
+
 group_predicates(large_integers,
   ['large integer tests '
   ]).
diff --git a/interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl.m4 b/interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl.m4
index e288870..e64b885 100644
--- a/interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl.m4
+++ b/interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl.m4
@@ -5,7 +5,7 @@ dnl This m4 file generates the test files
 dnl ppl_prolog_generated_test_<CLASS_NAME>.pl using the code in
 dnl ppl_interface_generator_prolog_generated_test_pl_code.m4.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -27,7 +27,8 @@ dnl For the most up-to-date information see the Parma Polyhedra Library
 dnl site: http://www.cs.unipr.it/ppl/ .
 
 m4_divert`'dnl
-%<--%<--%<-- ppl_prolog_generated_test_main.pl
+___END_OF_FILE___
+___BEGIN_OF_FILE___ ppl_prolog_generated_test_main.pl << ___END_OF_FILE___
 /* Prolog code for checking all predicates.  -*- C++ -*-
 m4_include(`ppl_interface_generator_copyright')`'dnl
 */
@@ -100,7 +101,8 @@ dnl Main call to generate code for the include statements.
 dnl -----------------------------------------------------------------
 dnl
 m4_divert`'dnl
-%<--%<--%<-- ppl_prolog_generated_test_main.pl
+___END_OF_FILE___
+___BEGIN_OF_FILE___ ppl_prolog_generated_test_main.pl << ___END_OF_FILE___
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %                                                                   %
@@ -172,7 +174,8 @@ dnl
 m4_pushdef(`m4_pre_extra_class_code', `dnl
 m4_define(`m4_current_interface', m4_interface_class`'$1)`'dnl
 
-%<--%<--%<-- ppl_prolog_generated_test_`'m4_current_interface.pl
+___END_OF_FILE___
+___BEGIN_OF_FILE___ ppl_prolog_generated_test_`'m4_current_interface.pl << ___END_OF_FILE___
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %                                                                   %
 %                       Main call for tests                         %
@@ -211,7 +214,8 @@ m4_ifdef(`$1_code',
 ')`'dnl
 m4_pushdef(`m4_pre_extra_class_code', `dnl
 m4_define(`m4_current_interface', m4_interface_class`'$1)
-%<--%<--%<-- ppl_prolog_generated_test_`'m4_current_interface.pl
+___END_OF_FILE___
+___BEGIN_OF_FILE___ ppl_prolog_generated_test_`'m4_current_interface.pl << ___END_OF_FILE___
 m4_undefine(`m4_current_interface')`'dnl
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %                                                                   %
@@ -256,7 +260,8 @@ m4_define(`m4_pre_extra_class_code', `dnl
 m4_pushdef(`m4_current_interface', m4_interface_class`'$1)`'dnl
 m4_pushdef(`m4_current_group', m4_class_group`'$1)`'dnl
 
-%<--%<--%<-- ppl_prolog_generated_test_`'m4_current_interface.pl
+___END_OF_FILE___
+___BEGIN_OF_FILE___ ppl_prolog_generated_test_`'m4_current_interface.pl << ___END_OF_FILE___
 m4_popdef(`m4_current_interface')`'dnl
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %                                                                   %
@@ -299,7 +304,8 @@ dnl -----------------------------------------------------------------
 
 m4_pushdef(`m4_pre_extra_class_code', `dnl
 m4_define(`m4_current_interface', m4_interface_class`'$1)
-%<--%<--%<-- ppl_prolog_generated_test_`'m4_current_interface.pl
+___END_OF_FILE___
+___BEGIN_OF_FILE___ ppl_prolog_generated_test_`'m4_current_interface.pl << ___END_OF_FILE___
 m4_undefine(`m4_current_interface')`'dnl
 m4_define(`m4_start1', 0)`'dnl
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -343,7 +349,8 @@ m4_popdef(`m4_post_extra_class_code')
 m4_pushdef(`m4_pre_extra_class_code', `dnl
 m4_pushdef(`m4_current_interface', m4_interface_class`'$1)`'dnl
 
-%<--%<--%<-- ppl_prolog_generated_test_`'m4_current_interface.pl
+___END_OF_FILE___
+___BEGIN_OF_FILE___ ppl_prolog_generated_test_`'m4_current_interface.pl << ___END_OF_FILE___
 ')
 m4_pushdef(`m4_post_extra_class_code', `')
 m4_pushdef(`m4_expanded_procedure_schema', `
@@ -357,8 +364,8 @@ m4_ifelse(m4_index($1, new), `-1', ,
 
 m4_divert`'dnl
 m4_all_code
+___END_OF_FILE___
 m4_divert(-1)
 m4_popdef(`m4_expanded_procedure_schema')
 m4_popdef(`m4_pre_extra_class_code')
-
 dnl End of file generation.
diff --git a/interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl_code.m4 b/interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl_code.m4
index 8032efe..ea15f91 100644
--- a/interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl_code.m4
+++ b/interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl_code.m4
@@ -5,7 +5,7 @@ dnl ppl_prolog_generated_test_<CLASS_NAME>.pl, which test
 dnl the generated Prolog interface predicates
 dnl and the main file ppl_prolog_generated_test_main.pl.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -609,8 +609,12 @@ ppl_ at CLASS@_linear_ at PARTITION@_4_test :-
    (
      ppl_ at TOPOLOGY@@CLASS at _build_test_object(TEST_DATA1, PS1, Space_Dim),
      ppl_ at TOPOLOGY@@CLASS at _build_test_object(TEST_DATA2, PS2, Space_Dim),
-     ppl_ at CLASS@_linear_partition(PS1, PS2, PS3, _PPS),
-     ppl_ at CLASS@_OK(PS3)
+     ppl_ at CLASS@_linear_partition(PS1, PS2, PS3, PPS),
+     ppl_ at CLASS@_OK(PS3),
+     ppl_delete_ at CLASS@(PS1),
+     ppl_delete_ at CLASS@(PS2),
+     ppl_delete_ at CLASS@(PS3),
+     ppl_delete_Pointset_Powerset_NNC_Polyhedron(PPS)
    ->
      fail ; (class_ at CLASS@ == class_BD_Shape_int8_t -> fail ; true))
   ).
@@ -625,8 +629,12 @@ ppl_ at CLASS@_approximate_ at PARTITION@_4_test :-
    (
      ppl_ at CLASS@_build_test_object(TEST_DATA1, PS1, Space_Dim),
      ppl_ at CLASS@_build_test_object(TEST_DATA2, PS2, Space_Dim),
-     ppl_ at CLASS@_approximate_partition(PS1, PS2, PS3, _PPS, _Is_finite),
-     ppl_ at CLASS@_OK(PS3)
+     ppl_ at CLASS@_approximate_partition(PS1, PS2, PS3, PPS, _Is_finite),
+     ppl_ at CLASS@_OK(PS3),
+     ppl_delete_ at CLASS@(PS1),
+     ppl_delete_ at CLASS@(PS2),
+     ppl_delete_ at CLASS@(PS3),
+     ppl_delete_Pointset_Powerset_NNC_Polyhedron(PPS)
    ->
      fail ; (class_ at CLASS@ == class_BD_Shape_int8_t -> fail ; true))
   ).
@@ -897,6 +905,31 @@ ppl_ at CLASS@_ at MAXMIN@_with_point_6_test :-
   ).
 
 ')
+m4_define(`ppl_ at CLASS@_frequency_code',
+`
+ppl_ at CLASS@_frequency_6_test :-
+  (
+   choose_test(TEST_DATA, Space_Dim),
+   (
+     ppl_ at TOPOLOGY@@CLASS at _build_test_object(TEST_DATA, PS, Space_Dim),
+     ppl_frequency_test_data(TEST_DATA, t_ at TOPOLOGY@, @CONSTRAINER@,
+                             LE, F_Nexptd, F_Dexptd, V_Nexptd, V_Dexptd,
+                             SuccessFlag),
+     (SuccessFlag == true
+     ->
+       (ppl_ at CLASS@_frequency(PS, LE, F_N, F_D, V_N, V_D),
+        F_N == F_Nexptd, F_D == F_Dexptd,
+        V_N == V_Nexptd, V_D == V_Dexptd)
+     ;
+       \+ ppl_ at CLASS@_frequency(PS, LE, F_N, F_D, V_N, V_D)
+     ),
+     ppl_ at CLASS@_OK(PS),
+     ppl_delete_ at CLASS@(PS)
+   ->
+     fail ; true)
+  ).
+
+')
 
 m4_define(`ppl_ at CLASS@_ at COMPARISON@_ at CLASS@_code',
 `
@@ -959,56 +992,6 @@ ppl_ at CLASS@_add_ at CLASS_REPRESENT@_2_test1(PS, PS1, [R | RS]) :-
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize_code',
-`
-:- discontiguous(ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize_2_test1/3).
-
-ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize_2_test :-
-  (
-   member(TEST_DATA, [test00, test02, test03, test04, test05]),
-   choose_test(TEST_DATA, Space_Dim),
-   (
-     ppl_build_test_data(TEST_DATA, t_ at TOPOLOGY@, @CLASS_REPRESENT at s, RS),
-     ppl_initial_test_system(@CLASS_REPRESENT@, U_or_E),
-     clean_ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension(Space_Dim,
-                                                          U_or_E, PS),
-     ppl_ at CLASS@_add_ at CLASS_REPRESENT@s(PS, RS),
-     clean_ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension(Space_Dim,
-                                                        U_or_E, PS1),
-     (predicate_exists(ppl_ at CLASS@_is_empty)
-     ->
-       (\+ ppl_ at CLASS@_is_empty(PS)
-       ->
-         ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize_2_test1(PS, PS1, RS)
-       ;
-         true
-       )
-     ;
-       true
-     ),
-     ppl_delete_ at CLASS@(PS),
-     ppl_delete_ at CLASS@(PS1)
-   ->
-     fail ; true)
-  ).
-
-ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize_2_test1(PS, PS1, []) :-
-  (
-   (predicate_exists(ppl_ at CLASS@_equals_ at CLASS@)
-   ->
-     ppl_ at CLASS@_equals_ at CLASS@(PS, PS1)
-   ;
-     true
-   )
-  ).
-ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize_2_test1(PS, PS1, [R | RS]) :-
-  (
-   ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize(PS1, R),
-   ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize_2_test1(PS, PS1, RS)
-  ).
-
-')
-
 m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_code',
 `
 ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_2_test :-
@@ -1040,69 +1023,6 @@ ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_2_test :-
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize_code',
-`
-ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize_2_test :-
-  (
-   member(TEST_DATA1, [test00, test02, test03, test04, test05]),
-   member(TEST_DATA2, [test00, test02, test03, test04, test05]),
-   choose_2_tests(TEST_DATA1, TEST_DATA2, Dim),
-   (
-     ppl_build_test_data(TEST_DATA1, t_ at TOPOLOGY@, @CLASS_REPRESENT at s, RS),
-     ppl_build_test_data(TEST_DATA2, t_ at TOPOLOGY@, @CLASS_REPRESENT at s, RS1),
-     ppl_initial_test_system(@CLASS_REPRESENT@, U_or_E),
-     ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension(Dim, U_or_E, PS),
-     ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension(Dim, U_or_E, PS1),
-     ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension(Dim, U_or_E, PS_min),
-     ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension(Dim, U_or_E, PS1_min),
-     ppl_ at CLASS@_add_ at CLASS_REPRESENT@s(PS, RS),
-     ppl_ at CLASS@_add_ at CLASS_REPRESENT@s(PS, RS1),
-     ppl_ at CLASS@_add_ at CLASS_REPRESENT@s(PS_min, RS),
-     (predicate_exists(ppl_ at CLASS@_is_empty)
-     ->
-       (ppl_ at CLASS@_is_empty(PS)
-       ->
-         \+ ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize(PS_min, RS1),
-         ppl_ at CLASS@_add_ at CLASS_REPRESENT@s(PS_min, RS1)
-       ;
-         ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize(PS_min, RS1)
-       )
-     ;
-       true
-     ),
-     ppl_ at CLASS@_add_ at CLASS_REPRESENT@s(PS1, RS1),
-     ppl_ at CLASS@_add_ at CLASS_REPRESENT@s(PS1, RS),
-     ppl_ at CLASS@_add_ at CLASS_REPRESENT@s(PS1_min, RS1),
-     (predicate_exists(ppl_ at CLASS@_is_empty)
-     ->
-       (ppl_ at CLASS@_is_empty(PS1)
-       ->
-         \+ ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize(PS1_min, RS),
-         ppl_ at CLASS@_add_ at CLASS_REPRESENT@s(PS1_min, RS)
-       ;
-         ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize(PS1_min, RS)
-       )
-     ;
-       true
-     ),
-     (predicate_exists(ppl_ at CLASS@_equals_ at CLASS@)
-     ->
-       ppl_ at CLASS@_equals_ at CLASS@(PS_min, PS1_min),
-       ppl_ at CLASS@_equals_ at CLASS@(PS, PS1_min),
-       ppl_ at CLASS@_equals_ at CLASS@(PS1, PS1_min)
-     ;
-       true
-     ),
-     ppl_delete_ at CLASS@(PS),
-     ppl_delete_ at CLASS@(PS_min),
-     ppl_delete_ at CLASS@(PS1),
-     ppl_delete_ at CLASS@(PS1_min)
-   ->
-     fail ; true)
-  ).
-
-')
-
 m4_define(`ppl_ at CLASS@_add_disjunct_code',
 `
 ppl_ at CLASS@_add_disjunct_2_test :-
@@ -1791,4 +1711,238 @@ ppl_ at CLASS@_map_space_dimensions_2_test :-
 
 ')
 
+m4_define(`ppl_ at CLASS@_wrap_assign_code',
+`
+ppl_ at CLASS@_wrap_assign_8_test :-
+  (
+   choose_test(TEST_DATA, Dim),
+   (
+     ppl_ at TOPOLOGY@@CLASS at _build_test_object(TEST_DATA, PS, Dim),
+     ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(PS, PS_Copy),
+     ppl_ at CLASS@_wrap_assign(PS, [], bits_8, unsigned, overflow_wraps,
+                             [], 0, true),
+     ppl_ at CLASS@_equals_ at CLASS@(PS, PS_Copy),
+     ppl_ at CLASS@_OK(PS),
+     ppl_delete_ at CLASS@(PS),
+     ppl_delete_ at CLASS@(PS_Copy)
+   ->
+    fail ; true)
+  ).
+
+')
+
+m4_define(`ppl_ at CLASS@_drop_some_non_integer_points_code',
+`
+ppl_ at CLASS@_drop_some_non_integer_points_2_test :-
+  (
+   choose_test(TEST_DATA, Dim),
+   (
+     ppl_ at TOPOLOGY@@CLASS at _build_test_object(TEST_DATA, PS, Dim),
+     ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(PS, PS_Copy),
+     ppl_ at CLASS@_drop_some_non_integer_points(PS, any),
+     ppl_ at CLASS@_OK(PS),
+     ppl_delete_ at CLASS@(PS),
+     ppl_delete_ at CLASS@(PS_Copy)
+   ->
+    fail ; true)
+  ).
+
+')
+
+m4_define(`ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+`
+ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _1_test :-
+  (
+   choose_2_tests(TEST_DATA1, TEST_DATA2, Space_Dim),
+   (
+     ppl_ at TOPOLOGY@@CLASS at _build_test_object(TEST_DATA1, PS1, Space_Dim),
+     ppl_ at TOPOLOGY@@CLASS at _build_test_object(TEST_DATA2, PS2, Space_Dim),
+     ppl_ at CLASS@_concatenate_assign(PS1, PS2),
+     (ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@(PS1) ->
+        true
+     ;
+        true
+     ),
+     ppl_ at CLASS@_OK(PS1),
+     ppl_delete_ at CLASS@(PS1),
+     ppl_delete_ at CLASS@(PS2)
+   ->
+    fail ; true)
+  ).
+
+')
+
+m4_define(`ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_code',
+`
+ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_2_test :-
+  (
+   choose_2_tests(TEST_DATA1, TEST_DATA2, Space_Dim),
+   (
+     ppl_ at TOPOLOGY@@CLASS at _build_test_object(TEST_DATA1, PS1, Space_Dim),
+     ppl_ at TOPOLOGY@@CLASS at _build_test_object(TEST_DATA2, PS2, Space_Dim),
+     ppl_ at CLASS@_concatenate_assign(PS1, PS2),
+     (ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2(PS2, PS1) ->
+        true
+     ;
+        true
+     ),
+     ppl_ at CLASS@_OK(PS1),
+     ppl_ at CLASS@_OK(PS2),
+     ppl_delete_ at CLASS@(PS1),
+     ppl_delete_ at CLASS@(PS2)
+   ->
+    fail ; true)
+  ).
+
+')
+
+m4_define(
+  `ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+`
+ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_test :-
+  (
+   choose_2_tests(TEST_DATA1, TEST_DATA2, Space_Dim),
+   (
+     ppl_ at TOPOLOGY@@CLASS at _build_test_object(TEST_DATA1, PS1, Space_Dim),
+     ppl_ at TOPOLOGY@@CLASS at _build_test_object(TEST_DATA2, PS2, Space_Dim),
+     ppl_ at CLASS@_concatenate_assign(PS1, PS2),
+     (ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@(PS1,
+                                                                         _Pt)
+     ->
+        true
+     ;
+        true
+     ),
+     ppl_ at CLASS@_OK(PS1),
+     ppl_ at CLASS@_OK(PS2),
+     ppl_delete_ at CLASS@(PS1),
+     ppl_delete_ at CLASS@(PS2)
+   ->
+    fail ; true)
+  ).
+
+')
+
+m4_define(
+  `ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_code',
+`
+ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_2_test :-
+  (
+   choose_2_tests(TEST_DATA1, TEST_DATA2, Space_Dim),
+   (
+     ppl_ at TOPOLOGY@@CLASS at _build_test_object(TEST_DATA1, PS1, Space_Dim),
+     ppl_ at TOPOLOGY@@CLASS at _build_test_object(TEST_DATA2, PS2, Space_Dim),
+     ppl_ at CLASS@_concatenate_assign(PS1, PS2),
+     (ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2(PS2,
+                                                                           PS1,
+                                                                           _Pt)
+     ->
+        true
+     ;
+        true
+     ),
+     ppl_ at CLASS@_OK(PS1),
+     ppl_ at CLASS@_OK(PS2),
+     ppl_delete_ at CLASS@(PS1),
+     ppl_delete_ at CLASS@(PS2)
+   ->
+    fail ; true)
+  ).
+
+')
+
+m4_define(
+  `ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+`
+ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_test :-
+  (
+   choose_2_tests(TEST_DATA1, TEST_DATA2, Space_Dim),
+   (
+     ppl_ at TOPOLOGY@@CLASS at _build_test_object(TEST_DATA1, PS1, Space_Dim),
+     ppl_ at TOPOLOGY@@CLASS at _build_test_object(TEST_DATA2, PS2, Space_Dim),
+     ppl_ at CLASS@_concatenate_assign(PS1, PS2),
+     ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@(PS1,
+                                                                         Ph),
+     ppl_Polyhedron_OK(Ph),
+     ppl_ at CLASS@_OK(PS1),
+     ppl_ at CLASS@_OK(PS2),
+     ppl_delete_ at CLASS@(PS1),
+     ppl_delete_ at CLASS@(PS2)
+   ->
+    fail ; true)
+  ).
+
+')
+
+m4_define(
+  `ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_code',
+`
+ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2_2_test :-
+  (
+   choose_2_tests(TEST_DATA1, TEST_DATA2, Space_Dim),
+   (
+     ppl_ at TOPOLOGY@@CLASS at _build_test_object(TEST_DATA1, PS1, Space_Dim),
+     ppl_ at TOPOLOGY@@CLASS at _build_test_object(TEST_DATA2, PS2, Space_Dim),
+     ppl_ at CLASS@_concatenate_assign(PS1, PS2),
+     ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2(PS2,
+                                                                           PS1,
+                                                                           Ph),
+     ppl_Polyhedron_OK(Ph),
+     ppl_ at CLASS@_OK(PS1),
+     ppl_ at CLASS@_OK(PS2),
+     ppl_delete_ at CLASS@(PS1),
+     ppl_delete_ at CLASS@(PS2)
+   ->
+    fail ; true)
+  ).
+
+')
+
+m4_define(
+  `ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _code',
+`
+ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _3_test :-
+  (
+   choose_2_tests(TEST_DATA1, TEST_DATA2, Space_Dim),
+   (
+     ppl_ at TOPOLOGY@@CLASS at _build_test_object(TEST_DATA1, PS1, Space_Dim),
+     ppl_ at TOPOLOGY@@CLASS at _build_test_object(TEST_DATA2, PS2, Space_Dim),
+     ppl_ at CLASS@_concatenate_assign(PS1, PS2),
+     ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS@(PS1, Ph1, Ph2),
+     ppl_Polyhedron_OK(Ph1),
+     ppl_Polyhedron_OK(Ph2),
+     ppl_ at CLASS@_OK(PS1),
+     ppl_ at CLASS@_OK(PS2),
+     ppl_delete_ at CLASS@(PS1),
+     ppl_delete_ at CLASS@(PS2)
+   ->
+    fail ; true)
+  ).
+
+')
+
+m4_define(
+  `ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _2_code',
+`
+ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _2_4_test :-
+  (
+   choose_2_tests(TEST_DATA1, TEST_DATA2, Space_Dim),
+   (
+     ppl_ at TOPOLOGY@@CLASS at _build_test_object(TEST_DATA1, PS1, Space_Dim),
+     ppl_ at TOPOLOGY@@CLASS at _build_test_object(TEST_DATA2, PS2, Space_Dim),
+     ppl_ at CLASS@_concatenate_assign(PS1, PS2),
+     ppl_all_affine_quasi_ranking_functions_MS_ at TOPOLOGY@@CLASS at _2(PS2, PS1,
+                                                                   Ph1, Ph2),
+     ppl_Polyhedron_OK(Ph1),
+     ppl_Polyhedron_OK(Ph2),
+     ppl_ at CLASS@_OK(PS1),
+     ppl_ at CLASS@_OK(PS2),
+     ppl_delete_ at CLASS@(PS1),
+     ppl_delete_ at CLASS@(PS2)
+   ->
+    fail ; true)
+  ).
+
+')
+
 dnl ppl_ at CLASS@_ at NARROWING@_narrowing_assign/2,
diff --git a/interfaces/Prolog/tests/ppl_prolog_generated_test_common.pl b/interfaces/Prolog/tests/ppl_prolog_generated_test_common.pl
index d91e26f..2020930 100644
--- a/interfaces/Prolog/tests/ppl_prolog_generated_test_common.pl
+++ b/interfaces/Prolog/tests/ppl_prolog_generated_test_common.pl
@@ -1,5 +1,5 @@
 % Extra test code for the generated tests for the Prolog interfaces.
-% Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+% Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 %
 % This file is part of the Parma Polyhedra Library (PPL).
 %
@@ -140,6 +140,7 @@ choose_2_tests(TEST_DATA1, TEST_DATA2, Dim) :-
 :- discontiguous(ppl_property_test_data/4).
 :- discontiguous(ppl_bounds_test_data/5).
 :- discontiguous(ppl_maxmin_test_data/10).
+:- discontiguous(ppl_frequency_test_data/9).
 :- discontiguous(ppl_constrains_test_data/3).
 :- dynamic(all_class_dependent_predicates/1).
 :- discontiguous(all_class_dependent_predicates/1).
@@ -195,6 +196,8 @@ ppl_bounds_test_data(test00, _, 0, _, true).
 
 ppl_maxmin_test_data(test00, _Topology, _, _, 0, _, _, _, _, false).
 
+ppl_frequency_test_data(test00, _Topology, _, 0, _, _, _, _, false).
+
 /* Test data for test test01 (an empty object in 1 dimension) */
 
 ppl_build_test_data(test01, _Topology, constraints, CS) :-
@@ -240,6 +243,8 @@ ppl_bounds_test_data(test01, _, A, _, true) :-
 
 ppl_maxmin_test_data(test01, _Topology, _, _, 0, _, _, _, _, false).
 
+ppl_frequency_test_data(test01, _Topology, _, 0, _, _, _, _, false).
+
 ppl_constrains_test_data(test01, _, true).
 
 /* Test data for test test02 (a universe object in 0 dimensions) */
@@ -273,6 +278,8 @@ ppl_maxmin_test_data(test02, _Topology, constraint, _, 0, 0, 1, true,
 ppl_maxmin_test_data(test02, _Topology, congruence, _, 0, 0, 1, true,
                      grid_point(0), true).
 
+ppl_frequency_test_data(test02, _Topology, _, 0, 0, 1, 0, 1, true).
+
 /* Test data for test test03 (a universe object in 1 dimension) */
 
 ppl_build_test_data(test03, _Topology, constraints, CS) :-
@@ -307,6 +314,8 @@ ppl_bounds_test_data(test03, _, A, _, false) :-
 ppl_maxmin_test_data(test03, _Topology, _, _, A, _, _, _, _, false) :-
    make_vars(1, [A]).
 
+ppl_frequency_test_data(test03, _Topology, _, 0, 0, 1, 0, 1, true).
+
 ppl_constrains_test_data(test03, _, false).
 
 /* Test data for test test04 and test05
@@ -351,6 +360,9 @@ ppl_maxmin_test_data(test04, _Topology, congruence, _, A, 1, 1, true,
              grid_point(A), true) :-
    make_vars(1, [A]).
 
+ppl_frequency_test_data(test04, _Topology, _, A, 0, 1, 1, 1, true) :-
+   make_vars(1, [A]).
+
 ppl_constrains_test_data(test04, _, true).
 
 ppl_build_test_data(test05, _Topology, constraints, CS) :-
@@ -391,6 +403,9 @@ ppl_maxmin_test_data(test05, _Topology, congruence, _, A, -1, 1, true,
              grid_point(-1*A), true) :-
    make_vars(1, [A]).
 
+ppl_frequency_test_data(test05, _Topology, _, A, 0, 1, -1, 1, true) :-
+   make_vars(1, [A]).
+
 ppl_constrains_test_data(test05, _, true).
 
 /* Test data for test test06,
@@ -456,6 +471,12 @@ ppl_maxmin_test_data(test06, t_NNC_, constraint, minimize, A, 0, 1, false,
 ppl_maxmin_test_data(test06, _, congruence, _, A, _, _, _, _, false) :-
    make_vars(1, [A]).
 
+ppl_frequency_test_data(test06, _Topology, constraint, A, _, _, _, _, false) :-
+   make_vars(1, [A]).
+
+ppl_frequency_test_data(test06, _Topology, congruence, A, 1, 1, 0, 1, true) :-
+   make_vars(1, [A]).
+
 ppl_constrains_test_data(test06, _, true).
 
 /* Test data for test test07,
@@ -521,6 +542,12 @@ ppl_maxmin_test_data(test07, t_NNC_, constraint, maximize, A, 0, 1, false,
 ppl_maxmin_test_data(test07, _, congruence, _, A, _, _, _, _, false) :-
    make_vars(1, [A]).
 
+ppl_frequency_test_data(test07, _Topology, constraint, A, _, _, _, _, false) :-
+   make_vars(1, [A]).
+
+ppl_frequency_test_data(test07, _Topology, congruence, A, 2, 1, 0, 1, true) :-
+   make_vars(1, [A]).
+
 ppl_constrains_test_data(test07, _, true).
 
 /* Test data for test test08,
@@ -589,6 +616,12 @@ ppl_maxmin_test_data(test08, t_NNC_, constraint, maximize, A, 5, 1, false,
 ppl_maxmin_test_data(test08, _, congruence, _, A, _, _, _, _, false) :-
    make_vars(1, [A]).
 
+ppl_frequency_test_data(test07, _Topology, constraint, A, _, _, _, _, false) :-
+   make_vars(1, [A]).
+
+ppl_frequency_test_data(test07, _Topology, congruence, A, 7, 2, 3, 2, true) :-
+   make_vars(1, [A]).
+
 ppl_constrains_test_data(test08, _, true).
 
 /* boxes  */
diff --git a/interfaces/interfaced_boxes.hh b/interfaces/interfaced_boxes.hh
index 62f8a57..16a573d 100644
--- a/interfaces/interfaced_boxes.hh
+++ b/interfaces/interfaced_boxes.hh
@@ -1,6 +1,6 @@
 /* Declarations for the Box instantiations offered by the non-templatic
    language interfaces.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/marked_pointers.hh b/interfaces/marked_pointers.hh
index 2ba6f6b..fc1c354 100644
--- a/interfaces/marked_pointers.hh
+++ b/interfaces/marked_pointers.hh
@@ -1,6 +1,6 @@
 /* Implementation of marked pointers for use in some PPL non-templatic
    language interfaces.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -26,8 +26,6 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace Parma_Polyhedra_Library {
 
-#include <stdint.h>
-
 #define PPL_MARKED_POINTERS_MASK ((uintptr_t) 1)
 
 /*! \brief
diff --git a/interfaces/ppl_interface_generator_common.m4 b/interfaces/ppl_interface_generator_common.m4
index f34d3d2..887e629 100644
--- a/interfaces/ppl_interface_generator_common.m4
+++ b/interfaces/ppl_interface_generator_common.m4
@@ -4,7 +4,7 @@ dnl This m4 file includes macro definitions for:
 dnl - application independent helper macros used here and by other m4 files.
 dnl - defining the main code generation macro m4_all_code.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/interfaces/ppl_interface_generator_common_dat.m4 b/interfaces/ppl_interface_generator_common_dat.m4
index d1f1cfa..f0f79be 100644
--- a/interfaces/ppl_interface_generator_common_dat.m4
+++ b/interfaces/ppl_interface_generator_common_dat.m4
@@ -5,7 +5,7 @@ dnl - processing the class list in ppl_interface_instantiations.m4;
 dnl - the control of the procedures to be generated for each class;
 dnl - the replacements for the patterns in the code files.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -480,7 +480,8 @@ m4_define(`m4_box_group',
    Uint8_Box, Uint16_Box, Uint32_Box, Uint64_Box')
 m4_define(`m4_pointset_powerset_group', Pointset_Powerset)
 m4_define(`m4_product_group',
-  `Direct_Product, Smash_Product, Constraints_Product')
+  `Direct_Product, Smash_Product, Constraints_Product,
+   Shape_Preserving_Product')
 
 dnl =====================================================================
 dnl ===== The next set of macros define the replacements            =====
@@ -511,7 +512,6 @@ maxmin,
 comparison,
 refine_represent,
 binop,
-binminop,
 ub_exact,
 affimage,
 embedproject,
@@ -531,7 +531,8 @@ point,
 constrainer,
 disjunct,
 disjunct_topology,
-disjunct_extrapolation')
+disjunct_extrapolation,
+termination_id')
 
 dnl ---------------------------------------------------------------------
 dnl Define the replacement macros for all patterns
@@ -962,12 +963,6 @@ m4_define(`m4_binop_replacements',
 m4_define(`m4_Polyhedron_binop_replacements',
          `m4_binop_replacements, poly_hull_assign, poly_difference_assign')
 
-dnl  The different kinds of "and_minimize" binary operators.
-m4_define(`m4_binminop_replacements', `')
-m4_define(`m4_Polyhedron_binminop_replacements',
-         `intersection_assign_and_minimize,
-          poly_hull_assign_and_minimize')
-
 dnl  The different kinds of "upper_bound_if_exact" binary operators.
 m4_define(`m4_ub_exact_replacements', `upper_bound_assign_if_exact')
 m4_define(`m4_Polyhedron_ub_exact_replacements',
@@ -991,3 +986,10 @@ m4_define(`m4_membytes_replacements',
    `external_memory_in_bytes, total_memory_in_bytes')
 m4_define(`m4_Pointset_Powerset_membytes_replacements',
    `m4_membytes_replacements, size')
+
+dnl  The termination algorithms are either sourced from MS or PR.
+m4_define(`m4_termination_id_replacements', `MS, PR')
+
+dnl If sourced from MS, the last argument is C_Polyhedron,
+dnl If sourced from PR, the last argument is NNC_Polyhedron.
+m4_define(`m4_a_termination_id_replacements', `C_, NNC_')
diff --git a/interfaces/ppl_interface_generator_common_procedure_generators.m4 b/interfaces/ppl_interface_generator_common_procedure_generators.m4
index cb6d28f..ff0dda7 100644
--- a/interfaces/ppl_interface_generator_common_procedure_generators.m4
+++ b/interfaces/ppl_interface_generator_common_procedure_generators.m4
@@ -3,7 +3,7 @@ m4_divert(-1)
 dnl This m4 file defines the list of the procedures generated
 dnl that are independent of the interface being generated.
 
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -64,6 +64,7 @@ ppl_ at CLASS@_ at SIMPLIFY@/1 *nofail +all,
 ppl_ at CLASS@_bounds_from_ at ABOVEBELOW@/2 +all,
 ppl_ at CLASS@_ at MAXMIN@/5 +all,
 ppl_ at CLASS@_ at MAXMIN@_with_point/6 +all,
+ppl_ at CLASS@_frequency/6 +simple,
 ppl_ at CLASS@_ at COMPARISON@_ at CLASS@/2 +all,
 ppl_ at CLASS@_equals_ at CLASS@/2 +all,
 ppl_ at CLASS@_OK/1 +all,
@@ -89,6 +90,8 @@ ppl_ at CLASS@_remove_higher_space_dimensions/2 *nofail +all,
 ppl_ at CLASS@_expand_space_dimension/3 *nofail +all,
 ppl_ at CLASS@_fold_space_dimensions/3  +all,
 ppl_ at CLASS@_map_space_dimensions/2 +all,
+ppl_ at CLASS@_drop_some_non_integer_points/2 +all,
+ppl_ at CLASS@_drop_some_non_integer_points_2/3 +all,
 ppl_ at CLASS@_ascii_dump/1 +all,
 ppl_ at CLASS@_ at MEMBYTES@/2 +all,
 dnl
@@ -128,5 +131,7 @@ ppl_ at CLASS@_BGP99_ at DISJUNCT_WIDEN@_extrapolation_assign/3 +pointset_powerset \bo
 dnl
 dnl CHECKME: This is not implemented.
 dnl
-ppl_ at CLASS@_BGP99_ at DISJUNCT_EXTRAPOLATION@_extrapolation_assign/3 -pointset_powerset
+ppl_ at CLASS@_BGP99_ at DISJUNCT_EXTRAPOLATION@_extrapolation_assign/3 -pointset_powerset,
+ppl_ at CLASS@_wrap_assign/8 +simple,
+
 ')
diff --git a/interfaces/ppl_interface_generator_copyright b/interfaces/ppl_interface_generator_copyright
index 696261e..5841c0e 100644
--- a/interfaces/ppl_interface_generator_copyright
+++ b/interfaces/ppl_interface_generator_copyright
@@ -1,4 +1,4 @@
-`   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+`   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/ltmain.sh b/ltmain.sh
old mode 100644
new mode 100755
index b36c4ad..04eaea4
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -1,9 +1,10 @@
 # Generated from ltmain.m4sh.
 
-# ltmain.sh (GNU libtool) 2.2.6
+# libtool (GNU libtool) 2.2.10
 # Written by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
+# 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 # This is free software; see the source for copying conditions.  There is NO
 # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
@@ -32,50 +33,54 @@
 #
 # Provide generalized library-building support services.
 #
-#     --config             show all configuration variables
-#     --debug              enable verbose shell tracing
-# -n, --dry-run            display commands without modifying any files
-#     --features           display basic configuration information and exit
-#     --mode=MODE          use operation mode MODE
-#     --preserve-dup-deps  don't remove duplicate dependency libraries
-#     --quiet, --silent    don't print informational messages
-#     --tag=TAG            use configuration variables from tag TAG
-# -v, --verbose            print informational messages (default)
-#     --version            print version information
-# -h, --help               print short or long help message
+#       --config             show all configuration variables
+#       --debug              enable verbose shell tracing
+#   -n, --dry-run            display commands without modifying any files
+#       --features           display basic configuration information and exit
+#       --mode=MODE          use operation mode MODE
+#       --preserve-dup-deps  don't remove duplicate dependency libraries
+#       --quiet, --silent    don't print informational messages
+#       --no-quiet, --no-silent
+#                            print informational messages (default)
+#       --tag=TAG            use configuration variables from tag TAG
+#   -v, --verbose            print more informational messages than default
+#       --no-verbose         don't print the extra informational messages
+#       --version            print version information
+#   -h, --help, --help-all   print short, long, or detailed help message
 #
 # MODE must be one of the following:
 #
-#       clean              remove files from the build directory
-#       compile            compile a source file into a libtool object
-#       execute            automatically set library path, then run a program
-#       finish             complete the installation of libtool libraries
-#       install            install libraries or executables
-#       link               create a library or an executable
-#       uninstall          remove libraries from an installed directory
+#         clean              remove files from the build directory
+#         compile            compile a source file into a libtool object
+#         execute            automatically set library path, then run a program
+#         finish             complete the installation of libtool libraries
+#         install            install libraries or executables
+#         link               create a library or an executable
+#         uninstall          remove libraries from an installed directory
 #
-# MODE-ARGS vary depending on the MODE.
+# MODE-ARGS vary depending on the MODE.  When passed as first option,
+# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
 # Try `$progname --help --mode=MODE' for a more detailed description of MODE.
 #
 # When reporting a bug, please describe a test case to reproduce it and
 # include the following information:
 #
-#       host-triplet:	$host
-#       shell:		$SHELL
-#       compiler:		$LTCC
-#       compiler flags:		$LTCFLAGS
-#       linker:		$LD (gnu? $with_gnu_ld)
-#       $progname:		(GNU libtool) 2.2.6
-#       automake:		$automake_version
-#       autoconf:		$autoconf_version
+#         host-triplet:	$host
+#         shell:		$SHELL
+#         compiler:		$LTCC
+#         compiler flags:		$LTCFLAGS
+#         linker:		$LD (gnu? $with_gnu_ld)
+#         $progname:	(GNU libtool) 2.2.10
+#         automake:	$automake_version
+#         autoconf:	$autoconf_version
 #
 # Report bugs to <bug-libtool at gnu.org>.
 
-PROGRAM=ltmain.sh
+PROGRAM=libtool
 PACKAGE=libtool
-VERSION=2.2.6
+VERSION=2.2.10
 TIMESTAMP=""
-package_revision=1.3012
+package_revision=1.3175
 
 # Be Bourne compatible
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
@@ -91,10 +96,15 @@ fi
 BIN_SH=xpg4; export BIN_SH # for Tru64
 DUALCASE=1; export DUALCASE # for MKS sh
 
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+  eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+}
+
 # NLS nuisances: We save the old values to restore during execute mode.
-# Only set LANG and LC_ALL to C if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
 lt_user_locale=
 lt_safe_locale=
 for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
@@ -107,24 +117,33 @@ do
 	  lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
 	fi"
 done
+LC_ALL=C
+LANGUAGE=C
+export LANGUAGE LC_ALL
 
 $lt_unset CDPATH
 
 
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath="$0"
 
 
 
 : ${CP="cp -f"}
-: ${ECHO="echo"}
-: ${EGREP="/usr/bin/grep -E"}
-: ${FGREP="/usr/bin/grep -F"}
-: ${GREP="/usr/bin/grep"}
+test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
+: ${EGREP="grep -E"}
+: ${FGREP="grep -F"}
+: ${GREP="grep"}
 : ${LN_S="ln -s"}
 : ${MAKE="make"}
 : ${MKDIR="mkdir"}
 : ${MV="mv -f"}
 : ${RM="rm -f"}
-: ${SED="/opt/local/bin/gsed"}
+: ${SED="sed"}
 : ${SHELL="${CONFIG_SHELL-/bin/sh}"}
 : ${Xsed="$SED -e 1s/^X//"}
 
@@ -159,32 +178,168 @@ basename="s,^.*/,,"
 func_dirname_and_basename ()
 {
   # Extract subdirectory from the argument.
-  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+  func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
   if test "X$func_dirname_result" = "X${1}"; then
     func_dirname_result="${3}"
   else
     func_dirname_result="$func_dirname_result${2}"
   fi
-  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+  func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
 }
 
 # Generated shell functions inserted here.
 
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath="$0"
+# These SED scripts presuppose an absolute path with a trailing slash.
+pathcar='s,^/\([^/]*\).*$,\1,'
+pathcdr='s,^/[^/]*,,'
+removedotparts=':dotsl
+		s@/\./@/@g
+		t dotsl
+		s,/\.$,/,'
+collapseslashes='s@/\{1,\}@/@g'
+finalslash='s,/*$,/,'
+
+# func_normal_abspath PATH
+# Remove doubled-up and trailing slashes, "." path components,
+# and cancel out any ".." path components in PATH after making
+# it an absolute path.
+#             value returned in "$func_normal_abspath_result"
+func_normal_abspath ()
+{
+  # Start from root dir and reassemble the path.
+  func_normal_abspath_result=
+  func_normal_abspath_tpath=$1
+  func_normal_abspath_altnamespace=
+  case $func_normal_abspath_tpath in
+    "")
+      # Empty path, that just means $cwd.
+      func_stripname '' '/' "`pwd`"
+      func_normal_abspath_result=$func_stripname_result
+      return
+    ;;
+    # The next three entries are used to spot a run of precisely
+    # two leading slashes without using negated character classes;
+    # we take advantage of case's first-match behaviour.
+    ///*)
+      # Unusual form of absolute path, do nothing.
+    ;;
+    //*)
+      # Not necessarily an ordinary path; POSIX reserves leading '//'
+      # and for example Cygwin uses it to access remote file shares
+      # over CIFS/SMB, so we conserve a leading double slash if found.
+      func_normal_abspath_altnamespace=/
+    ;;
+    /*)
+      # Absolute path, do nothing.
+    ;;
+    *)
+      # Relative path, prepend $cwd.
+      func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
+    ;;
+  esac
+  # Cancel out all the simple stuff to save iterations.  We also want
+  # the path to end with a slash for ease of parsing, so make sure
+  # there is one (and only one) here.
+  func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+        -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"`
+  while :; do
+    # Processed it all yet?
+    if test "$func_normal_abspath_tpath" = / ; then
+      # If we ascended to the root using ".." the result may be empty now.
+      if test -z "$func_normal_abspath_result" ; then
+        func_normal_abspath_result=/
+      fi
+      break
+    fi
+    func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
+        -e "$pathcar"`
+    func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+        -e "$pathcdr"`
+    # Figure out what to do with it
+    case $func_normal_abspath_tcomponent in
+      "")
+        # Trailing empty path component, ignore it.
+      ;;
+      ..)
+        # Parent dir; strip last assembled component from result.
+        func_dirname "$func_normal_abspath_result"
+        func_normal_abspath_result=$func_dirname_result
+      ;;
+      *)
+        # Actual path component, append it.
+        func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent
+      ;;
+    esac
+  done
+  # Restore leading double-slash if one was found on entry.
+  func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
+}
+
+# func_relative_path SRCDIR DSTDIR
+# generates a relative path from SRCDIR to DSTDIR, with a trailing
+# slash if non-empty, suitable for immediately appending a filename
+# without needing to append a separator.
+#             value returned in "$func_relative_path_result"
+func_relative_path ()
+{
+  func_relative_path_result=
+  func_normal_abspath "$1"
+  func_relative_path_tlibdir=$func_normal_abspath_result
+  func_normal_abspath "$2"
+  func_relative_path_tbindir=$func_normal_abspath_result
+
+  # Ascend the tree starting from libdir
+  while :; do
+    # check if we have found a prefix of bindir
+    case $func_relative_path_tbindir in
+      $func_relative_path_tlibdir)
+        # found an exact match
+        func_relative_path_tcancelled=
+        break
+        ;;
+      $func_relative_path_tlibdir*)
+        # found a matching prefix
+        func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
+        func_relative_path_tcancelled=$func_stripname_result
+        if test -z "$func_relative_path_result"; then
+          func_relative_path_result=.
+        fi
+        break
+        ;;
+      *)
+        func_dirname $func_relative_path_tlibdir
+        func_relative_path_tlibdir=${func_dirname_result}
+        if test "x$func_relative_path_tlibdir" = x ; then
+          # Have to descend all the way to the root!
+          func_relative_path_result=../$func_relative_path_result
+          func_relative_path_tcancelled=$func_relative_path_tbindir
+          break
+        fi
+        func_relative_path_result=../$func_relative_path_result
+        ;;
+    esac
+  done
+
+  # Now calculate path; take care to avoid doubling-up slashes.
+  func_stripname '' '/' "$func_relative_path_result"
+  func_relative_path_result=$func_stripname_result
+  func_stripname '/' '/' "$func_relative_path_tcancelled"
+  if test "x$func_stripname_result" != x ; then
+    func_relative_path_result=${func_relative_path_result}/${func_stripname_result}
+  fi
+
+  # Normalisation. If bindir is libdir, return empty string,
+  # else relative path ending with a slash; either way, target
+  # file name can be directly appended.
+  if test ! -z "$func_relative_path_result"; then
+    func_stripname './' '' "$func_relative_path_result/"
+    func_relative_path_result=$func_stripname_result
+  fi
+}
 
 # The name of this program:
-# In the unlikely event $progname began with a '-', it would play havoc with
-# func_echo (imagine progname=-n), so we prepend ./ in that case:
 func_dirname_and_basename "$progpath"
 progname=$func_basename_result
-case $progname in
-  -*) progname=./$progname ;;
-esac
 
 # Make sure we have an absolute path for reexecution:
 case $progpath in
@@ -258,6 +413,13 @@ func_verbose ()
     :
 }
 
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+    $ECHO "$*"
+}
+
 # func_error arg...
 # Echo program name prefixed message to standard error.
 func_error ()
@@ -326,9 +488,9 @@ func_mkdir_p ()
         case $my_directory_path in */*) ;; *) break ;; esac
 
         # ...otherwise throw away the child directory and loop
-        my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"`
+        my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`
       done
-      my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'`
+      my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`
 
       save_mkdir_p_IFS="$IFS"; IFS=':'
       for my_dir in $my_dir_list; do
@@ -378,7 +540,7 @@ func_mktempdir ()
         func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
     fi
 
-    $ECHO "X$my_tmpdir" | $Xsed
+    $ECHO "$my_tmpdir"
 }
 
 
@@ -392,7 +554,7 @@ func_quote_for_eval ()
 {
     case $1 in
       *[\\\`\"\$]*)
-	func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;;
+	func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;;
       *)
         func_quote_for_eval_unquoted_result="$1" ;;
     esac
@@ -419,7 +581,7 @@ func_quote_for_expand ()
 {
     case $1 in
       *[\\\`\"]*)
-	my_arg=`$ECHO "X$1" | $Xsed \
+	my_arg=`$ECHO "$1" | $SED \
 	    -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
       *)
         my_arg="$1" ;;
@@ -489,14 +651,19 @@ func_show_eval_locale ()
 }
 
 
-
-
-
 # func_version
 # Echo version message to standard output and exit.
 func_version ()
 {
-    $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / {
+    $SED -n '/(C)/!b go
+	:more
+	/\./!{
+	  N
+	  s/\n# / /
+	  b more
+	}
+	:go
+	/^# '$PROGRAM' (GNU /,/# warranty; / {
         s/^# //
 	s/^# *$//
         s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
@@ -509,19 +676,20 @@ func_version ()
 # Echo short help message to standard output and exit.
 func_usage ()
 {
-    $SED -n '/^# Usage:/,/# -h/ {
+    $SED -n '/^# Usage:/,/^#  *.*--help/ {
         s/^# //
 	s/^# *$//
 	s/\$progname/'$progname'/
 	p
     }' < "$progpath"
-    $ECHO
+    echo
     $ECHO "run \`$progname --help | more' for full usage"
     exit $?
 }
 
-# func_help
-# Echo long help message to standard output and exit.
+# func_help [NOEXIT]
+# Echo long help message to standard output and exit,
+# unless 'noexit' is passed as argument.
 func_help ()
 {
     $SED -n '/^# Usage:/,/# Report bugs to/ {
@@ -538,7 +706,10 @@ func_help ()
 	s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
 	p
      }' < "$progpath"
-    exit $?
+    ret=$?
+    if test -z "$1"; then
+      exit $ret
+    fi
 }
 
 # func_missing_arg argname
@@ -546,7 +717,7 @@ func_help ()
 # exit_cmd.
 func_missing_arg ()
 {
-    func_error "missing argument for $1"
+    func_error "missing argument for $1."
     exit_cmd=exit
 }
 
@@ -556,29 +727,6 @@ exit_cmd=:
 
 
 
-# Check that we have a working $ECHO.
-if test "X$1" = X--no-reexec; then
-  # Discard the --no-reexec flag, and continue.
-  shift
-elif test "X$1" = X--fallback-echo; then
-  # Avoid inline document here, it may be left over
-  :
-elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
-  # Yippee, $ECHO works!
-  :
-else
-  # Restart under the correct shell, and then maybe $ECHO will work.
-  exec $SHELL "$progpath" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
-  # used as fallback echo
-  shift
-  cat <<EOF
-$*
-EOF
-  exit $EXIT_SUCCESS
-fi
 
 magic="%%%MAGIC variable%%%"
 magic_exe="%%%MAGIC EXE variable%%%"
@@ -636,16 +784,16 @@ func_config ()
 # Display the features supported by this script.
 func_features ()
 {
-    $ECHO "host: $host"
+    echo "host: $host"
     if test "$build_libtool_libs" = yes; then
-      $ECHO "enable shared libraries"
+      echo "enable shared libraries"
     else
-      $ECHO "disable shared libraries"
+      echo "disable shared libraries"
     fi
     if test "$build_old_libs" = yes; then
-      $ECHO "enable static libraries"
+      echo "enable static libraries"
     else
-      $ECHO "disable static libraries"
+      echo "disable static libraries"
     fi
 
     exit $?
@@ -772,10 +920,21 @@ func_enable_tag ()
 
       --quiet|--silent)	preserve_args="$preserve_args $opt"
 			opt_silent=:
+			opt_verbose=false
+			;;
+
+      --no-quiet|--no-silent)
+			preserve_args="$preserve_args $opt"
+			opt_silent=false
 			;;
 
       --verbose| -v)	preserve_args="$preserve_args $opt"
 			opt_silent=false
+			opt_verbose=:
+			;;
+
+      --no-verbose)	preserve_args="$preserve_args $opt"
+			opt_verbose=false
 			;;
 
       --tag)		test "$#" -eq 0 && func_missing_arg "$opt" && break
@@ -793,6 +952,7 @@ func_enable_tag ()
 
       -\?|-h)		func_usage					;;
       --help)		opt_help=:					;;
+      --help-all)	opt_help=': help-all'				;;
       --version)	func_version					;;
 
       -*)		func_fatal_help "unrecognized option \`$opt'"	;;
@@ -1016,10 +1176,13 @@ func_infer_tag ()
         func_quote_for_eval "$arg"
 	CC_quoted="$CC_quoted $func_quote_for_eval_result"
       done
+      CC_expanded=`func_echo_all $CC`
+      CC_quoted_expanded=`func_echo_all $CC_quoted`
       case $@ in
       # Blanks in the command may have been stripped by the calling shell,
       # but not from the CC environment variable when configure was run.
-      " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;;
+      " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
+      " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
       # Blanks at the start of $base_compile will cause this to fail
       # if we don't check for them as well.
       *)
@@ -1033,8 +1196,11 @@ func_infer_tag ()
 	      func_quote_for_eval "$arg"
 	      CC_quoted="$CC_quoted $func_quote_for_eval_result"
 	    done
+	    CC_expanded=`func_echo_all $CC`
+	    CC_quoted_expanded=`func_echo_all $CC_quoted`
 	    case "$@ " in
-	      " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*)
+	    " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
+	    " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
 	      # The compiler in the base compile command matches
 	      # the one in the tagged configuration.
 	      # Assume this is the tagged configuration we want.
@@ -1213,7 +1379,7 @@ func_mode_compile ()
     *.[cCFSifmso] | \
     *.ada | *.adb | *.ads | *.asm | \
     *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
-    *.[fF][09]? | *.for | *.java | *.obj | *.sx)
+    *.[fF][09]? | *.for | *.java | *.obj | *.sx | *.cu | *.cup)
       func_xform "$libobj"
       libobj=$func_xform_result
       ;;
@@ -1288,7 +1454,7 @@ func_mode_compile ()
     # Calculate the filename of the output object if compiler does
     # not support -o with -c
     if test "$compiler_c_o" = no; then
-      output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
+      output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext}
       lockfile="$output_obj.lock"
     else
       output_obj=
@@ -1445,7 +1611,7 @@ compiler."
 }
 
 $opt_help || {
-test "$mode" = compile && func_mode_compile ${1+"$@"}
+  test "$mode" = compile && func_mode_compile ${1+"$@"}
 }
 
 func_mode_help ()
@@ -1482,10 +1648,11 @@ This mode accepts the following additional options:
 
   -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
   -no-suppress      do not suppress compiler output for multiple passes
-  -prefer-pic       try to building PIC objects only
-  -prefer-non-pic   try to building non-PIC objects only
+  -prefer-pic       try to build PIC objects only
+  -prefer-non-pic   try to build non-PIC objects only
   -shared           do not build a \`.o' file suitable for static linking
   -static           only build a \`.o' file suitable for static linking
+  -Wc,FLAG          pass FLAG directly to the compiler
 
 COMPILE-COMMAND is a command to be used in creating a \`standard' object file
 from the given SOURCEFILE.
@@ -1538,7 +1705,7 @@ either the \`install' or \`cp' program.
 
 The following components of INSTALL-COMMAND are treated specially:
 
-  -inst-prefix PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
+  -inst-prefix-dir PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
 
 The rest of the components are interpreted as arguments to that command (only
 BSD-compatible install options are recognized)."
@@ -1558,6 +1725,8 @@ The following components of LINK-COMMAND are treated specially:
 
   -all-static       do not do any dynamic linking at all
   -avoid-version    do not add a version suffix if possible
+  -bindir BINDIR    specify path to binaries directory (for systems where
+                    libraries must be found in the PATH setting at runtime)
   -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
   -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
   -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
@@ -1586,6 +1755,11 @@ The following components of LINK-COMMAND are treated specially:
   -version-info CURRENT[:REVISION[:AGE]]
                     specify library version info [each variable defaults to 0]
   -weak LIBNAME     declare that the target provides the LIBNAME interface
+  -Wc,FLAG
+  -Xcompiler FLAG   pass linker-specific FLAG directly to the compiler
+  -Wl,FLAG
+  -Xlinker FLAG     pass linker-specific FLAG directly to the linker
+  -XCClinker FLAG   pass link-specific FLAG to the compiler driver (CC)
 
 All other options (arguments beginning with \`-') are ignored.
 
@@ -1623,14 +1797,40 @@ Otherwise, only FILE itself is deleted using RM."
         ;;
     esac
 
-    $ECHO
+    echo
     $ECHO "Try \`$progname --help' for more information about other modes."
-
-    exit $?
 }
 
-  # Now that we've collected a possible --mode arg, show help if necessary
-  $opt_help && func_mode_help
+# Now that we've collected a possible --mode arg, show help if necessary
+if $opt_help; then
+  if test "$opt_help" = :; then
+    func_mode_help
+  else
+    {
+      func_help noexit
+      for mode in compile link execute install finish uninstall clean; do
+	func_mode_help
+      done
+    } | sed -n '1p; 2,$s/^Usage:/  or: /p'
+    {
+      func_help noexit
+      for mode in compile link execute install finish uninstall clean; do
+	echo
+	func_mode_help
+      done
+    } |
+    sed '1d
+      /^When reporting/,/^Report/{
+	H
+	d
+      }
+      $x
+      /information about other modes/d
+      /more detailed .*MODE/d
+      s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
+  fi
+  exit $?
+fi
 
 
 # func_mode_execute arg...
@@ -1712,7 +1912,7 @@ func_mode_execute ()
     for file
     do
       case $file in
-      -*) ;;
+      -* | *.la | *.lo ) ;;
       *)
 	# Do a test to see if this is really a libtool program.
 	if func_ltwrapper_script_p "$file"; then
@@ -1754,7 +1954,7 @@ func_mode_execute ()
       # Display what would be done.
       if test -n "$shlibpath_var"; then
 	eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
-	$ECHO "export $shlibpath_var"
+	echo "export $shlibpath_var"
       fi
       $ECHO "$cmd$args"
       exit $EXIT_SUCCESS
@@ -1795,23 +1995,23 @@ func_mode_finish ()
     # Exit here if they wanted silent mode.
     $opt_silent && exit $EXIT_SUCCESS
 
-    $ECHO "X----------------------------------------------------------------------" | $Xsed
-    $ECHO "Libraries have been installed in:"
+    echo "----------------------------------------------------------------------"
+    echo "Libraries have been installed in:"
     for libdir in $libdirs; do
       $ECHO "   $libdir"
     done
-    $ECHO
-    $ECHO "If you ever happen to want to link against installed libraries"
-    $ECHO "in a given directory, LIBDIR, you must either use libtool, and"
-    $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'"
-    $ECHO "flag during linking and do at least one of the following:"
+    echo
+    echo "If you ever happen to want to link against installed libraries"
+    echo "in a given directory, LIBDIR, you must either use libtool, and"
+    echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
+    echo "flag during linking and do at least one of the following:"
     if test -n "$shlibpath_var"; then
-      $ECHO "   - add LIBDIR to the \`$shlibpath_var' environment variable"
-      $ECHO "     during execution"
+      echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
+      echo "     during execution"
     fi
     if test -n "$runpath_var"; then
-      $ECHO "   - add LIBDIR to the \`$runpath_var' environment variable"
-      $ECHO "     during linking"
+      echo "   - add LIBDIR to the \`$runpath_var' environment variable"
+      echo "     during linking"
     fi
     if test -n "$hardcode_libdir_flag_spec"; then
       libdir=LIBDIR
@@ -1823,21 +2023,21 @@ func_mode_finish ()
       $ECHO "   - have your system administrator run these commands:$admincmds"
     fi
     if test -f /etc/ld.so.conf; then
-      $ECHO "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+      echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
     fi
-    $ECHO
+    echo
 
-    $ECHO "See any operating system documentation about shared libraries for"
+    echo "See any operating system documentation about shared libraries for"
     case $host in
       solaris2.[6789]|solaris2.1[0-9])
-        $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual"
-	$ECHO "pages."
+        echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
+	echo "pages."
 	;;
       *)
-        $ECHO "more information, such as the ld(1) and ld.so(8) manual pages."
+        echo "more information, such as the ld(1) and ld.so(8) manual pages."
         ;;
     esac
-    $ECHO "X----------------------------------------------------------------------" | $Xsed
+    echo "----------------------------------------------------------------------"
     exit $EXIT_SUCCESS
 }
 
@@ -1852,7 +2052,7 @@ func_mode_install ()
     # install_prog (especially on Windows NT).
     if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
        # Allow the use of GNU shtool's install command.
-       $ECHO "X$nonopt" | $GREP shtool >/dev/null; then
+       case $nonopt in *shtool*) :;; *) false;; esac; then
       # Aesthetically quote it.
       func_quote_for_eval "$nonopt"
       install_prog="$func_quote_for_eval_result "
@@ -1867,6 +2067,11 @@ func_mode_install ()
     # Aesthetically quote it.
     func_quote_for_eval "$arg"
     install_prog="$install_prog$func_quote_for_eval_result"
+    install_shared_prog=$install_prog
+    case " $install_prog " in
+      *[\\\ /]cp\ *) install_cp=: ;;
+      *) install_cp=false ;;
+    esac
 
     # We need to accept at least all the BSD install flags.
     dest=
@@ -1876,8 +2081,10 @@ func_mode_install ()
     install_type=
     isdir=no
     stripme=
+    no_mode=:
     for arg
     do
+      arg2=
       if test -n "$dest"; then
 	files="$files $dest"
 	dest=$arg
@@ -1887,10 +2094,9 @@ func_mode_install ()
       case $arg in
       -d) isdir=yes ;;
       -f)
-	case " $install_prog " in
-	*[\\\ /]cp\ *) ;;
-	*) prev=$arg ;;
-	esac
+	if $install_cp; then :; else
+	  prev=$arg
+	fi
 	;;
       -g | -m | -o)
 	prev=$arg
@@ -1904,6 +2110,10 @@ func_mode_install ()
       *)
 	# If the previous option needed an argument, then skip it.
 	if test -n "$prev"; then
+	  if test "x$prev" = x-m && test -n "$install_override_mode"; then
+	    arg2=$install_override_mode
+	    no_mode=false
+	  fi
 	  prev=
 	else
 	  dest=$arg
@@ -1915,6 +2125,10 @@ func_mode_install ()
       # Aesthetically quote the argument.
       func_quote_for_eval "$arg"
       install_prog="$install_prog $func_quote_for_eval_result"
+      if test -n "$arg2"; then
+	func_quote_for_eval "$arg2"
+      fi
+      install_shared_prog="$install_shared_prog $func_quote_for_eval_result"
     done
 
     test -z "$install_prog" && \
@@ -1923,6 +2137,13 @@ func_mode_install ()
     test -n "$prev" && \
       func_fatal_help "the \`$prev' option requires an argument"
 
+    if test -n "$install_override_mode" && $no_mode; then
+      if $install_cp; then :; else
+	func_quote_for_eval "$install_override_mode"
+	install_shared_prog="$install_shared_prog -m $func_quote_for_eval_result"
+      fi
+    fi
+
     if test -z "$files"; then
       if test -z "$dest"; then
 	func_fatal_help "no file or destination specified"
@@ -2010,7 +2231,7 @@ func_mode_install ()
 
 	if test -n "$relink_command"; then
 	  # Determine the prefix the user has applied to our future dir.
-	  inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"`
+	  inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
 
 	  # Don't allow the user to place us outside of our expected
 	  # location b/c this prevents finding dependent libraries that
@@ -2023,9 +2244,9 @@ func_mode_install ()
 
 	  if test -n "$inst_prefix_dir"; then
 	    # Stick the inst_prefix_dir data into the link command.
-	    relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+	    relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
 	  else
-	    relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"`
+	    relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
 	  fi
 
 	  func_warning "relinking \`$file'"
@@ -2043,7 +2264,7 @@ func_mode_install ()
 	  test -n "$relink_command" && srcname="$realname"T
 
 	  # Install the shared library and build the symlinks.
-	  func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \
+	  func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
 	      'exit $?'
 	  tstripme="$stripme"
 	  case $host_os in
@@ -2183,7 +2404,7 @@ func_mode_install ()
 	    if test -f "$lib"; then
 	      func_source "$lib"
 	    fi
-	    libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
+	    libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test
 	    if test -n "$libdir" && test ! -f "$libfile"; then
 	      func_warning "\`$lib' has not been installed in \`$libdir'"
 	      finalize=no
@@ -2202,7 +2423,7 @@ func_mode_install ()
 		file="$func_basename_result"
 	        outputname="$tmpdir/$file"
 	        # Replace the output file specification.
-	        relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+	        relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
 
 	        $opt_silent || {
 	          func_quote_for_expand "$relink_command"
@@ -2221,7 +2442,7 @@ func_mode_install ()
 	    }
 	  else
 	    # Install the binary that we compiled earlier.
-	    file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
+	    file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
 	  fi
 	fi
 
@@ -2323,6 +2544,10 @@ func_generate_dlsyms ()
 extern \"C\" {
 #endif
 
+#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
+#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
+#endif
+
 /* External symbol declarations for the compiler. */\
 "
 
@@ -2332,7 +2557,7 @@ extern \"C\" {
 	  $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
 
 	  # Add our own program objects to the symbol list.
-	  progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+	  progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
 	  for progfile in $progfiles; do
 	    func_verbose "extracting global C symbols from \`$progfile'"
 	    $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
@@ -2371,7 +2596,7 @@ extern \"C\" {
 	      eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
 	      eval '$MV "$nlist"T "$nlist"'
 	      case $host in
-	        *cygwin | *mingw* | *cegcc* )
+	        *cygwin* | *mingw* | *cegcc* )
 	          eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
 	          eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
 	          ;;
@@ -2415,10 +2640,10 @@ extern \"C\" {
 	  if test -f "$nlist"S; then
 	    eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
 	  else
-	    $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms"
+	    echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
 	  fi
 
-	  $ECHO >> "$output_objdir/$my_dlsyms" "\
+	  echo >> "$output_objdir/$my_dlsyms" "\
 
 /* The mapping between symbol names and symbols.  */
 typedef struct {
@@ -2428,7 +2653,7 @@ typedef struct {
 "
 	  case $host in
 	  *cygwin* | *mingw* | *cegcc* )
-	    $ECHO >> "$output_objdir/$my_dlsyms" "\
+	    echo >> "$output_objdir/$my_dlsyms" "\
 /* DATA imports from DLLs on WIN32 con't be const, because
    runtime relocations are performed -- see ld's documentation
    on pseudo-relocs.  */"
@@ -2441,7 +2666,7 @@ typedef struct {
 	    lt_dlsym_const=const ;;
 	  esac
 
-	  $ECHO >> "$output_objdir/$my_dlsyms" "\
+	  echo >> "$output_objdir/$my_dlsyms" "\
 extern $lt_dlsym_const lt_dlsymlist
 lt_${my_prefix}_LTX_preloaded_symbols[];
 $lt_dlsym_const lt_dlsymlist
@@ -2457,7 +2682,7 @@ lt_${my_prefix}_LTX_preloaded_symbols[] =
 	    eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
 	    ;;
 	  esac
-	  $ECHO >> "$output_objdir/$my_dlsyms" "\
+	  echo >> "$output_objdir/$my_dlsyms" "\
   {0, (void *) 0}
 };
 
@@ -2515,16 +2740,16 @@ static const void *lt_preloaded_setup() {
 	case $host in
 	*cygwin* | *mingw* | *cegcc* )
 	  if test -f "$output_objdir/$my_outputname.def"; then
-	    compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
-	    finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+	    compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+	    finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
 	  else
-	    compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
-	    finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+	    compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+	    finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
 	  fi
 	  ;;
 	*)
-	  compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
-	  finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+	  compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+	  finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
 	  ;;
 	esac
 	;;
@@ -2538,8 +2763,8 @@ static const void *lt_preloaded_setup() {
       # really was required.
 
       # Nullify the symbol file.
-      compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
-      finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+      compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
+      finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
     fi
 }
 
@@ -2549,6 +2774,7 @@ static const void *lt_preloaded_setup() {
 # Need a lot of goo to handle *both* DLLs and import libs
 # Has to be a shell function in order to 'eat' the argument
 # that is supplied when $file_magic_command is called.
+# Despite the name, also deal with 64 bit binaries.
 func_win32_libid ()
 {
   $opt_debug
@@ -2559,8 +2785,9 @@ func_win32_libid ()
     win32_libid_type="x86 archive import"
     ;;
   *ar\ archive*) # could be an import, or static
+    # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
     if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
-       $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
+       $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
       win32_nmres=`eval $NM -f posix -A $1 |
 	$SED -n -e '
 	    1,100{
@@ -2598,7 +2825,18 @@ func_extract_an_archive ()
     $opt_debug
     f_ex_an_ar_dir="$1"; shift
     f_ex_an_ar_oldlib="$1"
-    func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?'
+    if test "$lock_old_archive_extraction" = yes; then
+      lockfile=$f_ex_an_ar_oldlib.lock
+      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+	func_echo "Waiting for $lockfile to be removed"
+	sleep 2
+      done
+    fi
+    func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
+		   'stat=$?; rm -f "$lockfile"; exit $stat'
+    if test "$lock_old_archive_extraction" = yes; then
+      $opt_dry_run || rm -f "$lockfile"
+    fi
     if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
      :
     else
@@ -2669,7 +2907,7 @@ func_extract_archives ()
 	    darwin_file=
 	    darwin_files=
 	    for darwin_file in $darwin_filelist; do
-	      darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
+	      darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
 	      $LIPO -create -output "$darwin_file" $darwin_files
 	    done # $darwin_filelist
 	    $RM -rf unfat-$$
@@ -2684,25 +2922,30 @@ func_extract_archives ()
         func_extract_an_archive "$my_xdir" "$my_xabs"
 	;;
       esac
-      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
+      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
     done
 
     func_extract_archives_result="$my_oldobjs"
 }
 
 
-
-# func_emit_wrapper_part1 [arg=no]
+# func_emit_wrapper [arg=no]
+#
+# Emit a libtool wrapper script on stdout.
+# Don't directly open a file because we may want to
+# incorporate the script contents within a cygwin/mingw
+# wrapper executable.  Must ONLY be called from within
+# func_mode_link because it depends on a number of variables
+# set therein.
 #
-# Emit the first part of a libtool wrapper script on stdout.
-# For more information, see the description associated with
-# func_emit_wrapper(), below.
-func_emit_wrapper_part1 ()
+# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
+# variable will take.  If 'yes', then the emitted script
+# will assume that the directory in which it is stored is
+# the $objdir directory.  This is a cygwin/mingw-specific
+# behavior.
+func_emit_wrapper ()
 {
-	func_emit_wrapper_part1_arg1=no
-	if test -n "$1" ; then
-	  func_emit_wrapper_part1_arg1=$1
-	fi
+	func_emit_wrapper_arg1=${1-no}
 
 	$ECHO "\
 #! $SHELL
@@ -2718,7 +2961,6 @@ func_emit_wrapper_part1 ()
 
 # Sed substitution that helps us do robust quoting.  It backslashifies
 # metacharacters that are still active within double-quoted strings.
-Xsed='${SED} -e 1s/^X//'
 sed_quote_subst='$sed_quote_subst'
 
 # Be Bourne compatible
@@ -2749,31 +2991,132 @@ if test \"\$libtool_install_magic\" = \"$magic\"; then
 else
   # When we are sourced in execute mode, \$file and \$ECHO are already set.
   if test \"\$libtool_execute_magic\" != \"$magic\"; then
-    ECHO=\"$qecho\"
-    file=\"\$0\"
-    # Make sure echo works.
-    if test \"X\$1\" = X--no-reexec; then
-      # Discard the --no-reexec flag, and continue.
-      shift
-    elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then
-      # Yippee, \$ECHO works!
-      :
-    else
-      # Restart under the correct shell, and then maybe \$ECHO will work.
-      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
-    fi
-  fi\
+    file=\"\$0\""
+
+    qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
+    $ECHO "\
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+  eval 'cat <<_LTECHO_EOF
+\$1
+_LTECHO_EOF'
+}
+    ECHO=\"$qECHO\"
+  fi
+
+# Very basic option parsing. These options are (a) specific to
+# the libtool wrapper, (b) are identical between the wrapper
+# /script/ and the wrapper /executable/ which is used only on
+# windows platforms, and (c) all begin with the string "--lt-"
+# (application programs are unlikely to have options which match
+# this pattern).
+#
+# There are only two supported options: --lt-debug and
+# --lt-dump-script. There is, deliberately, no --lt-help.
+#
+# The first argument to this parsing function should be the
+# script's $0 value, followed by "$@".
+lt_option_debug=
+func_parse_lt_options ()
+{
+  lt_script_arg0=\$0
+  shift
+  for lt_opt
+  do
+    case \"\$lt_opt\" in
+    --lt-debug) lt_option_debug=1 ;;
+    --lt-dump-script)
+        lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
+        test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
+        lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
+        cat \"\$lt_dump_D/\$lt_dump_F\"
+        exit 0
+      ;;
+    --lt-*)
+        \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
+        exit 1
+      ;;
+    esac
+  done
+
+  # Print the debug banner immediately:
+  if test -n \"\$lt_option_debug\"; then
+    echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2
+  fi
+}
+
+# Used when --lt-debug. Prints its arguments to stdout
+# (redirection is the responsibility of the caller)
+func_lt_dump_args ()
+{
+  lt_dump_args_N=1;
+  for lt_arg
+  do
+    \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\"
+    lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
+  done
+}
+
+# Core function for launching the target application
+func_exec_program_core ()
+{
 "
-	$ECHO "\
+  case $host in
+  # Backslashes separate directories on plain windows
+  *-*-mingw | *-*-os2* | *-cegcc*)
+    $ECHO "\
+      if test -n \"\$lt_option_debug\"; then
+        \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2
+        func_lt_dump_args \${1+\"\$@\"} 1>&2
+      fi
+      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+    ;;
+
+  *)
+    $ECHO "\
+      if test -n \"\$lt_option_debug\"; then
+        \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2
+        func_lt_dump_args \${1+\"\$@\"} 1>&2
+      fi
+      exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+    ;;
+  esac
+  $ECHO "\
+      \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
+      exit 1
+}
+
+# A function to encapsulate launching the target application
+# Strips options in the --lt-* namespace from \$@ and
+# launches target application with the remaining arguments.
+func_exec_program ()
+{
+  for lt_wr_arg
+  do
+    case \$lt_wr_arg in
+    --lt-*) ;;
+    *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
+    esac
+    shift
+  done
+  func_exec_program_core \${1+\"\$@\"}
+}
+
+  # Parse options
+  func_parse_lt_options \"\$0\" \${1+\"\$@\"}
 
   # Find the directory that this script lives in.
-  thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
+  thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
   test \"x\$thisdir\" = \"x\$file\" && thisdir=.
 
   # Follow symbolic links until we get to the real thisdir.
-  file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
+  file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
   while test -n \"\$file\"; do
-    destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
+    destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
 
     # If there was a directory component, then change thisdir.
     if test \"x\$destdir\" != \"x\$file\"; then
@@ -2783,30 +3126,13 @@ else
       esac
     fi
 
-    file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
-    file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
+    file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\`
+    file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
   done
-"
-}
-# end: func_emit_wrapper_part1
-
-# func_emit_wrapper_part2 [arg=no]
-#
-# Emit the second part of a libtool wrapper script on stdout.
-# For more information, see the description associated with
-# func_emit_wrapper(), below.
-func_emit_wrapper_part2 ()
-{
-	func_emit_wrapper_part2_arg1=no
-	if test -n "$1" ; then
-	  func_emit_wrapper_part2_arg1=$1
-	fi
-
-	$ECHO "\
 
   # Usually 'no', except on cygwin/mingw when embedded into
   # the cwrapper.
-  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1
+  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
   if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
     # special case for '.'
     if test \"\$thisdir\" = \".\"; then
@@ -2814,7 +3140,7 @@ func_emit_wrapper_part2 ()
     fi
     # remove .libs from thisdir
     case \"\$thisdir\" in
-    *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;;
+    *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
     $objdir )   thisdir=. ;;
     esac
   fi
@@ -2877,7 +3203,7 @@ func_emit_wrapper_part2 ()
 
     # Some systems cannot cope with colon-terminated $shlibpath_var
     # The second colon is a workaround for a bug in BeOS R4 sed
-    $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
+    $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
 
     export $shlibpath_var
 "
@@ -2894,64 +3220,18 @@ func_emit_wrapper_part2 ()
 	$ECHO "\
     if test \"\$libtool_execute_magic\" != \"$magic\"; then
       # Run the actual program with our arguments.
-"
-	case $host in
-	# Backslashes separate directories on plain windows
-	*-*-mingw | *-*-os2* | *-cegcc*)
-	  $ECHO "\
-      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
-"
-	  ;;
-
-	*)
-	  $ECHO "\
-      exec \"\$progdir/\$program\" \${1+\"\$@\"}
-"
-	  ;;
-	esac
-	$ECHO "\
-      \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
-      exit 1
+      func_exec_program \${1+\"\$@\"}
     fi
   else
     # The program doesn't exist.
     \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
     \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
-    $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
+    \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
     exit 1
   fi
 fi\
 "
 }
-# end: func_emit_wrapper_part2
-
-
-# func_emit_wrapper [arg=no]
-#
-# Emit a libtool wrapper script on stdout.
-# Don't directly open a file because we may want to
-# incorporate the script contents within a cygwin/mingw
-# wrapper executable.  Must ONLY be called from within
-# func_mode_link because it depends on a number of variables
-# set therein.
-#
-# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
-# variable will take.  If 'yes', then the emitted script
-# will assume that the directory in which it is stored is
-# the $objdir directory.  This is a cygwin/mingw-specific
-# behavior.
-func_emit_wrapper ()
-{
-	func_emit_wrapper_arg1=no
-	if test -n "$1" ; then
-	  func_emit_wrapper_arg1=$1
-	fi
-
-	# split this up so that func_emit_cwrapperexe_src
-	# can call each part independently.
-	func_emit_wrapper_part1 "${func_emit_wrapper_arg1}"
-	func_emit_wrapper_part2 "${func_emit_wrapper_arg1}"
-}
 
 
 # func_to_host_path arg
@@ -2978,23 +3258,19 @@ func_emit_wrapper ()
 func_to_host_path ()
 {
   func_to_host_path_result="$1"
-  if test -n "$1" ; then
+  if test -n "$1"; then
     case $host in
       *mingw* )
         lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
         case $build in
           *mingw* ) # actually, msys
             # awkward: cmd appends spaces to result
-            lt_sed_strip_trailing_spaces="s/[ ]*\$//"
-            func_to_host_path_tmp1=`( cmd //c echo "$1" |\
-              $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
-            func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
-              $SED -e "$lt_sed_naive_backslashify"`
+            func_to_host_path_result=`( cmd //c echo "$1" ) 2>/dev/null |
+              $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
             ;;
           *cygwin* )
-            func_to_host_path_tmp1=`cygpath -w "$1"`
-            func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
-              $SED -e "$lt_sed_naive_backslashify"`
+            func_to_host_path_result=`cygpath -w "$1" |
+	      $SED -e "$lt_sed_naive_backslashify"`
             ;;
           * )
             # Unfortunately, winepath does not exit with a non-zero
@@ -3006,17 +3282,17 @@ func_to_host_path ()
             # the odd construction:
             func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
             if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
-              func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+              func_to_host_path_result=`$ECHO "$func_to_host_path_tmp1" |
                 $SED -e "$lt_sed_naive_backslashify"`
             else
               # Allow warning below.
-              func_to_host_path_result=""
+              func_to_host_path_result=
             fi
             ;;
         esac
         if test -z "$func_to_host_path_result" ; then
           func_error "Could not determine host path corresponding to"
-          func_error "  '$1'"
+          func_error "  \`$1'"
           func_error "Continuing, but uninstalled executables may not work."
           # Fallback:
           func_to_host_path_result="$1"
@@ -3049,30 +3325,24 @@ func_to_host_path ()
 func_to_host_pathlist ()
 {
   func_to_host_pathlist_result="$1"
-  if test -n "$1" ; then
+  if test -n "$1"; then
     case $host in
       *mingw* )
         lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
         # Remove leading and trailing path separator characters from
         # ARG. msys behavior is inconsistent here, cygpath turns them
         # into '.;' and ';.', and winepath ignores them completely.
-        func_to_host_pathlist_tmp2="$1"
-        # Once set for this call, this variable should not be
-        # reassigned. It is used in tha fallback case.
-        func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\
-          $SED -e 's|^:*||' -e 's|:*$||'`
+	func_stripname : : "$1"
+        func_to_host_pathlist_tmp1=$func_stripname_result
         case $build in
           *mingw* ) # Actually, msys.
             # Awkward: cmd appends spaces to result.
-            lt_sed_strip_trailing_spaces="s/[ ]*\$//"
-            func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\
-              $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
-            func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
-              $SED -e "$lt_sed_naive_backslashify"`
+            func_to_host_pathlist_result=`
+	      ( cmd //c echo "$func_to_host_pathlist_tmp1" ) 2>/dev/null |
+	      $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
             ;;
           *cygwin* )
-            func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"`
-            func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
+            func_to_host_pathlist_result=`cygpath -w -p "$func_to_host_pathlist_tmp1" |
               $SED -e "$lt_sed_naive_backslashify"`
             ;;
           * )
@@ -3088,18 +3358,17 @@ func_to_host_pathlist ()
                   if test -z "$func_to_host_pathlist_result" ; then
                     func_to_host_pathlist_result="$func_to_host_path_result"
                   else
-                    func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result"
+                    func_append func_to_host_pathlist_result ";$func_to_host_path_result"
                   fi
                 fi
               fi
-              IFS=:
             done
             IFS=$func_to_host_pathlist_oldIFS
             ;;
         esac
-        if test -z "$func_to_host_pathlist_result" ; then
+        if test -z "$func_to_host_pathlist_result"; then
           func_error "Could not determine the host path(s) corresponding to"
-          func_error "  '$1'"
+          func_error "  \`$1'"
           func_error "Continuing, but uninstalled executables may not work."
           # Fallback. This may break if $1 contains DOS-style drive
           # specifications. The fix is not to complicate the expression
@@ -3116,7 +3385,7 @@ func_to_host_pathlist ()
             ;;
         esac
         case "$1" in
-          *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;"
+          *: ) func_append func_to_host_pathlist_result ";"
             ;;
         esac
         ;;
@@ -3141,31 +3410,23 @@ func_emit_cwrapperexe_src ()
 
    This wrapper executable should never be moved out of the build directory.
    If it is, it will not operate correctly.
-
-   Currently, it simply execs the wrapper *script* "$SHELL $output",
-   but could eventually absorb all of the scripts functionality and
-   exec $objdir/$outputname directly.
 */
 EOF
 	    cat <<"EOF"
+#ifdef _MSC_VER
+# define _CRT_SECURE_NO_DEPRECATE 1
+#endif
 #include <stdio.h>
 #include <stdlib.h>
 #ifdef _MSC_VER
 # include <direct.h>
 # include <process.h>
 # include <io.h>
-# define setmode _setmode
 #else
 # include <unistd.h>
 # include <stdint.h>
 # ifdef __CYGWIN__
 #  include <io.h>
-#  define HAVE_SETENV
-#  ifdef __STRICT_ANSI__
-char *realpath (const char *, char *);
-int putenv (char *);
-int setenv (const char *, const char *, int);
-#  endif
 # endif
 #endif
 #include <malloc.h>
@@ -3177,6 +3438,44 @@ int setenv (const char *, const char *, int);
 #include <fcntl.h>
 #include <sys/stat.h>
 
+/* declarations of non-ANSI functions */
+#if defined(__MINGW32__)
+# ifdef __STRICT_ANSI__
+int _putenv (const char *);
+# endif
+#elif defined(__CYGWIN__)
+# ifdef __STRICT_ANSI__
+char *realpath (const char *, char *);
+int putenv (char *);
+int setenv (const char *, const char *, int);
+# endif
+/* #elif defined (other platforms) ... */
+#endif
+
+/* portability defines, excluding path handling macros */
+#if defined(_MSC_VER)
+# define setmode _setmode
+# define stat    _stat
+# define chmod   _chmod
+# define getcwd  _getcwd
+# define putenv  _putenv
+# define S_IXUSR _S_IEXEC
+# ifndef _INTPTR_T_DEFINED
+#  define _INTPTR_T_DEFINED
+#  define intptr_t int
+# endif
+#elif defined(__MINGW32__)
+# define setmode _setmode
+# define stat    _stat
+# define chmod   _chmod
+# define getcwd  _getcwd
+# define putenv  _putenv
+#elif defined(__CYGWIN__)
+# define HAVE_SETENV
+# define FOPEN_WB "wb"
+/* #elif defined (other platforms) ... */
+#endif
+
 #if defined(PATH_MAX)
 # define LT_PATHMAX PATH_MAX
 #elif defined(MAXPATHLEN)
@@ -3192,14 +3491,7 @@ int setenv (const char *, const char *, int);
 # define S_IXGRP 0
 #endif
 
-#ifdef _MSC_VER
-# define S_IXUSR _S_IEXEC
-# define stat _stat
-# ifndef _INTPTR_T_DEFINED
-#  define intptr_t int
-# endif
-#endif
-
+/* path handling portability macros */
 #ifndef DIR_SEPARATOR
 # define DIR_SEPARATOR '/'
 # define PATH_SEPARATOR ':'
@@ -3230,10 +3522,6 @@ int setenv (const char *, const char *, int);
 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
 #endif /* PATH_SEPARATOR_2 */
 
-#ifdef __CYGWIN__
-# define FOPEN_WB "wb"
-#endif
-
 #ifndef FOPEN_WB
 # define FOPEN_WB "w"
 #endif
@@ -3246,22 +3534,13 @@ int setenv (const char *, const char *, int);
   if (stale) { free ((void *) stale); stale = 0; } \
 } while (0)
 
-#undef LTWRAPPER_DEBUGPRINTF
-#if defined DEBUGWRAPPER
-# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
-static void
-ltwrapper_debugprintf (const char *fmt, ...)
-{
-    va_list args;
-    va_start (args, fmt);
-    (void) vfprintf (stderr, fmt, args);
-    va_end (args);
-}
+#if defined(LT_DEBUGWRAPPER)
+static int lt_debug = 1;
 #else
-# define LTWRAPPER_DEBUGPRINTF(args)
+static int lt_debug = 0;
 #endif
 
-const char *program_name = NULL;
+const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
 
 void *xmalloc (size_t num);
 char *xstrdup (const char *string);
@@ -3271,31 +3550,17 @@ char *chase_symlinks (const char *pathspec);
 int make_executable (const char *path);
 int check_executable (const char *path);
 char *strendzap (char *str, const char *pat);
-void lt_fatal (const char *message, ...);
+void lt_debugprintf (const char *file, int line, const char *fmt, ...);
+void lt_fatal (const char *file, int line, const char *message, ...);
+static const char *nonnull (const char *s);
+static const char *nonempty (const char *s);
 void lt_setenv (const char *name, const char *value);
 char *lt_extend_str (const char *orig_value, const char *add, int to_end);
-void lt_opt_process_env_set (const char *arg);
-void lt_opt_process_env_prepend (const char *arg);
-void lt_opt_process_env_append (const char *arg);
-int lt_split_name_value (const char *arg, char** name, char** value);
 void lt_update_exe_path (const char *name, const char *value);
 void lt_update_lib_path (const char *name, const char *value);
-
-static const char *script_text_part1 =
-EOF
-
-	    func_emit_wrapper_part1 yes |
-	        $SED -e 's/\([\\"]\)/\\\1/g' \
-	             -e 's/^/  "/' -e 's/$/\\n"/'
-	    echo ";"
-	    cat <<EOF
-
-static const char *script_text_part2 =
+char **prepare_spawn (char **argv);
+void lt_dump_script (FILE *f);
 EOF
-	    func_emit_wrapper_part2 yes |
-	        $SED -e 's/\([\\"]\)/\\\1/g' \
-	             -e 's/^/  "/' -e 's/$/\\n"/'
-	    echo ";"
 
 	    cat <<EOF
 const char * MAGIC_EXE = "$magic_exe";
@@ -3340,24 +3605,10 @@ EOF
 	    cat <<"EOF"
 
 #define LTWRAPPER_OPTION_PREFIX         "--lt-"
-#define LTWRAPPER_OPTION_PREFIX_LENGTH  5
 
-static const size_t opt_prefix_len         = LTWRAPPER_OPTION_PREFIX_LENGTH;
 static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
-
 static const char *dumpscript_opt       = LTWRAPPER_OPTION_PREFIX "dump-script";
-
-static const size_t env_set_opt_len     = LTWRAPPER_OPTION_PREFIX_LENGTH + 7;
-static const char *env_set_opt          = LTWRAPPER_OPTION_PREFIX "env-set";
-  /* argument is putenv-style "foo=bar", value of foo is set to bar */
-
-static const size_t env_prepend_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 11;
-static const char *env_prepend_opt      = LTWRAPPER_OPTION_PREFIX "env-prepend";
-  /* argument is putenv-style "foo=bar", new value of foo is bar${foo} */
-
-static const size_t env_append_opt_len  = LTWRAPPER_OPTION_PREFIX_LENGTH + 10;
-static const char *env_append_opt       = LTWRAPPER_OPTION_PREFIX "env-append";
-  /* argument is putenv-style "foo=bar", new value of foo is ${foo}bar */
+static const char *debug_opt            = LTWRAPPER_OPTION_PREFIX "debug";
 
 int
 main (int argc, char *argv[])
@@ -3374,10 +3625,13 @@ main (int argc, char *argv[])
   int i;
 
   program_name = (char *) xstrdup (base_name (argv[0]));
-  LTWRAPPER_DEBUGPRINTF (("(main) argv[0]      : %s\n", argv[0]));
-  LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name));
+  newargz = XMALLOC (char *, argc + 1);
 
-  /* very simple arg parsing; don't want to rely on getopt */
+  /* very simple arg parsing; don't want to rely on getopt
+   * also, copy all non cwrapper options to newargz, except
+   * argz[0], which is handled differently
+   */
+  newargc=0;
   for (i = 1; i < argc; i++)
     {
       if (strcmp (argv[i], dumpscript_opt) == 0)
@@ -3391,25 +3645,57 @@ EOF
 	      esac
 
 	    cat <<"EOF"
-	  printf ("%s", script_text_part1);
-	  printf ("%s", script_text_part2);
+	  lt_dump_script (stdout);
 	  return 0;
 	}
+      if (strcmp (argv[i], debug_opt) == 0)
+	{
+          lt_debug = 1;
+          continue;
+	}
+      if (strcmp (argv[i], ltwrapper_option_prefix) == 0)
+        {
+          /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
+             namespace, but it is not one of the ones we know about and
+             have already dealt with, above (inluding dump-script), then
+             report an error. Otherwise, targets might begin to believe
+             they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
+             namespace. The first time any user complains about this, we'll
+             need to make LTWRAPPER_OPTION_PREFIX a configure-time option
+             or a configure.ac-settable value.
+           */
+          lt_fatal (__FILE__, __LINE__,
+		    "unrecognized %s option: '%s'",
+                    ltwrapper_option_prefix, argv[i]);
+        }
+      /* otherwise ... */
+      newargz[++newargc] = xstrdup (argv[i]);
     }
+  newargz[++newargc] = NULL;
+
+EOF
+	    cat <<EOF
+  /* The GNU banner must be the first non-error debug message */
+  lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n");
+EOF
+	    cat <<"EOF"
+  lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
+  lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name);
 
-  newargz = XMALLOC (char *, argc + 1);
   tmp_pathspec = find_executable (argv[0]);
   if (tmp_pathspec == NULL)
-    lt_fatal ("Couldn't find %s", argv[0]);
-  LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n",
-			  tmp_pathspec));
+    lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
+  lt_debugprintf (__FILE__, __LINE__,
+                  "(main) found exe (before symlink chase) at: %s\n",
+		  tmp_pathspec);
 
   actual_cwrapper_path = chase_symlinks (tmp_pathspec);
-  LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n",
-			  actual_cwrapper_path));
+  lt_debugprintf (__FILE__, __LINE__,
+                  "(main) found exe (after symlink chase) at: %s\n",
+		  actual_cwrapper_path);
   XFREE (tmp_pathspec);
 
-  actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path));
+  actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
   strendzap (actual_cwrapper_path, actual_cwrapper_name);
 
   /* wrapper name transforms */
@@ -3427,8 +3713,9 @@ EOF
   target_name = tmp_pathspec;
   tmp_pathspec = 0;
 
-  LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n",
-			  target_name));
+  lt_debugprintf (__FILE__, __LINE__,
+		  "(main) libtool target name: %s\n",
+		  target_name);
 EOF
 
 	    cat <<EOF
@@ -3481,77 +3768,12 @@ EOF
   lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
   lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
 
-  newargc=0;
-  for (i = 1; i < argc; i++)
-    {
-      if (strncmp (argv[i], env_set_opt, env_set_opt_len) == 0)
-        {
-          if (argv[i][env_set_opt_len] == '=')
-            {
-              const char *p = argv[i] + env_set_opt_len + 1;
-              lt_opt_process_env_set (p);
-            }
-          else if (argv[i][env_set_opt_len] == '\0' && i + 1 < argc)
-            {
-              lt_opt_process_env_set (argv[++i]); /* don't copy */
-            }
-          else
-            lt_fatal ("%s missing required argument", env_set_opt);
-          continue;
-        }
-      if (strncmp (argv[i], env_prepend_opt, env_prepend_opt_len) == 0)
-        {
-          if (argv[i][env_prepend_opt_len] == '=')
-            {
-              const char *p = argv[i] + env_prepend_opt_len + 1;
-              lt_opt_process_env_prepend (p);
-            }
-          else if (argv[i][env_prepend_opt_len] == '\0' && i + 1 < argc)
-            {
-              lt_opt_process_env_prepend (argv[++i]); /* don't copy */
-            }
-          else
-            lt_fatal ("%s missing required argument", env_prepend_opt);
-          continue;
-        }
-      if (strncmp (argv[i], env_append_opt, env_append_opt_len) == 0)
-        {
-          if (argv[i][env_append_opt_len] == '=')
-            {
-              const char *p = argv[i] + env_append_opt_len + 1;
-              lt_opt_process_env_append (p);
-            }
-          else if (argv[i][env_append_opt_len] == '\0' && i + 1 < argc)
-            {
-              lt_opt_process_env_append (argv[++i]); /* don't copy */
-            }
-          else
-            lt_fatal ("%s missing required argument", env_append_opt);
-          continue;
-        }
-      if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0)
-        {
-          /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
-             namespace, but it is not one of the ones we know about and
-             have already dealt with, above (inluding dump-script), then
-             report an error. Otherwise, targets might begin to believe
-             they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
-             namespace. The first time any user complains about this, we'll
-             need to make LTWRAPPER_OPTION_PREFIX a configure-time option
-             or a configure.ac-settable value.
-           */
-          lt_fatal ("Unrecognized option in %s namespace: '%s'",
-                    ltwrapper_option_prefix, argv[i]);
-        }
-      /* otherwise ... */
-      newargz[++newargc] = xstrdup (argv[i]);
-    }
-  newargz[++newargc] = NULL;
-
-  LTWRAPPER_DEBUGPRINTF     (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_argv_zero : "<NULL>")));
+  lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
+		  nonnull (lt_argv_zero));
   for (i = 0; i < newargc; i++)
     {
-      LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d]   : %s\n", i, (newargz[i] ? newargz[i] : "<NULL>")));
+      lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
+		      i, nonnull (newargz[i]));
     }
 
 EOF
@@ -3560,11 +3782,14 @@ EOF
 	      mingw*)
 		cat <<"EOF"
   /* execv doesn't actually work on mingw as expected on unix */
+  newargz = prepare_spawn (newargz);
   rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
   if (rval == -1)
     {
       /* failed to start process */
-      LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno));
+      lt_debugprintf (__FILE__, __LINE__,
+		      "(main) failed to launch target \"%s\": %s\n",
+		      lt_argv_zero, nonnull (strerror (errno)));
       return 127;
     }
   return rval;
@@ -3586,7 +3811,7 @@ xmalloc (size_t num)
 {
   void *p = (void *) malloc (num);
   if (!p)
-    lt_fatal ("Memory exhausted");
+    lt_fatal (__FILE__, __LINE__, "memory exhausted");
 
   return p;
 }
@@ -3620,8 +3845,8 @@ check_executable (const char *path)
 {
   struct stat st;
 
-  LTWRAPPER_DEBUGPRINTF (("(check_executable)  : %s\n",
-			  path ? (*path ? path : "EMPTY!") : "NULL!"));
+  lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
+                  nonempty (path));
   if ((!path) || (!*path))
     return 0;
 
@@ -3638,8 +3863,8 @@ make_executable (const char *path)
   int rval = 0;
   struct stat st;
 
-  LTWRAPPER_DEBUGPRINTF (("(make_executable)   : %s\n",
-			  path ? (*path ? path : "EMPTY!") : "NULL!"));
+  lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
+                  nonempty (path));
   if ((!path) || (!*path))
     return 0;
 
@@ -3665,8 +3890,8 @@ find_executable (const char *wrapper)
   int tmp_len;
   char *concat_name;
 
-  LTWRAPPER_DEBUGPRINTF (("(find_executable)   : %s\n",
-			  wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));
+  lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
+                  nonempty (wrapper));
 
   if ((wrapper == NULL) || (*wrapper == '\0'))
     return NULL;
@@ -3719,7 +3944,8 @@ find_executable (const char *wrapper)
 		{
 		  /* empty path: current directory */
 		  if (getcwd (tmp, LT_PATHMAX) == NULL)
-		    lt_fatal ("getcwd failed");
+		    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
+                              nonnull (strerror (errno)));
 		  tmp_len = strlen (tmp);
 		  concat_name =
 		    XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
@@ -3744,7 +3970,8 @@ find_executable (const char *wrapper)
     }
   /* Relative path | not found in path: prepend cwd */
   if (getcwd (tmp, LT_PATHMAX) == NULL)
-    lt_fatal ("getcwd failed");
+    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
+              nonnull (strerror (errno)));
   tmp_len = strlen (tmp);
   concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
   memcpy (concat_name, tmp, tmp_len);
@@ -3770,8 +3997,9 @@ chase_symlinks (const char *pathspec)
   int has_symlinks = 0;
   while (strlen (tmp_pathspec) && !has_symlinks)
     {
-      LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n",
-			      tmp_pathspec));
+      lt_debugprintf (__FILE__, __LINE__,
+		      "checking path component for symlinks: %s\n",
+		      tmp_pathspec);
       if (lstat (tmp_pathspec, &s) == 0)
 	{
 	  if (S_ISLNK (s.st_mode) != 0)
@@ -3793,8 +4021,9 @@ chase_symlinks (const char *pathspec)
 	}
       else
 	{
-	  char *errstr = strerror (errno);
-	  lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
+	  lt_fatal (__FILE__, __LINE__,
+		    "error accessing file \"%s\": %s",
+		    tmp_pathspec, nonnull (strerror (errno)));
 	}
     }
   XFREE (tmp_pathspec);
@@ -3807,7 +4036,8 @@ chase_symlinks (const char *pathspec)
   tmp_pathspec = realpath (pathspec, buf);
   if (tmp_pathspec == 0)
     {
-      lt_fatal ("Could not follow symlinks for %s", pathspec);
+      lt_fatal (__FILE__, __LINE__,
+		"could not follow symlinks for %s", pathspec);
     }
   return xstrdup (tmp_pathspec);
 #endif
@@ -3833,11 +4063,25 @@ strendzap (char *str, const char *pat)
   return str;
 }
 
+void
+lt_debugprintf (const char *file, int line, const char *fmt, ...)
+{
+  va_list args;
+  if (lt_debug)
+    {
+      (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
+      va_start (args, fmt);
+      (void) vfprintf (stderr, fmt, args);
+      va_end (args);
+    }
+}
+
 static void
-lt_error_core (int exit_status, const char *mode,
+lt_error_core (int exit_status, const char *file,
+	       int line, const char *mode,
 	       const char *message, va_list ap)
 {
-  fprintf (stderr, "%s: %s: ", program_name, mode);
+  fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
   vfprintf (stderr, message, ap);
   fprintf (stderr, ".\n");
 
@@ -3846,20 +4090,32 @@ lt_error_core (int exit_status, const char *mode,
 }
 
 void
-lt_fatal (const char *message, ...)
+lt_fatal (const char *file, int line, const char *message, ...)
 {
   va_list ap;
   va_start (ap, message);
-  lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
+  lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
   va_end (ap);
 }
 
+static const char *
+nonnull (const char *s)
+{
+  return s ? s : "(null)";
+}
+
+static const char *
+nonempty (const char *s)
+{
+  return (s && !*s) ? "(empty)" : nonnull (s);
+}
+
 void
 lt_setenv (const char *name, const char *value)
 {
-  LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n",
-                          (name ? name : "<NULL>"),
-                          (value ? value : "<NULL>")));
+  lt_debugprintf (__FILE__, __LINE__,
+		  "(lt_setenv) setting '%s' to '%s'\n",
+                  nonnull (name), nonnull (value));
   {
 #ifdef HAVE_SETENV
     /* always make a copy, for consistency with !HAVE_SETENV */
@@ -3904,95 +4160,12 @@ lt_extend_str (const char *orig_value, const char *add, int to_end)
   return new_value;
 }
 
-int
-lt_split_name_value (const char *arg, char** name, char** value)
-{
-  const char *p;
-  int len;
-  if (!arg || !*arg)
-    return 1;
-
-  p = strchr (arg, (int)'=');
-
-  if (!p)
-    return 1;
-
-  *value = xstrdup (++p);
-
-  len = strlen (arg) - strlen (*value);
-  *name = XMALLOC (char, len);
-  strncpy (*name, arg, len-1);
-  (*name)[len - 1] = '\0';
-
-  return 0;
-}
-
-void
-lt_opt_process_env_set (const char *arg)
-{
-  char *name = NULL;
-  char *value = NULL;
-
-  if (lt_split_name_value (arg, &name, &value) != 0)
-    {
-      XFREE (name);
-      XFREE (value);
-      lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg);
-    }
-
-  lt_setenv (name, value);
-  XFREE (name);
-  XFREE (value);
-}
-
-void
-lt_opt_process_env_prepend (const char *arg)
-{
-  char *name = NULL;
-  char *value = NULL;
-  char *new_value = NULL;
-
-  if (lt_split_name_value (arg, &name, &value) != 0)
-    {
-      XFREE (name);
-      XFREE (value);
-      lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg);
-    }
-
-  new_value = lt_extend_str (getenv (name), value, 0);
-  lt_setenv (name, new_value);
-  XFREE (new_value);
-  XFREE (name);
-  XFREE (value);
-}
-
-void
-lt_opt_process_env_append (const char *arg)
-{
-  char *name = NULL;
-  char *value = NULL;
-  char *new_value = NULL;
-
-  if (lt_split_name_value (arg, &name, &value) != 0)
-    {
-      XFREE (name);
-      XFREE (value);
-      lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg);
-    }
-
-  new_value = lt_extend_str (getenv (name), value, 1);
-  lt_setenv (name, new_value);
-  XFREE (new_value);
-  XFREE (name);
-  XFREE (value);
-}
-
 void
 lt_update_exe_path (const char *name, const char *value)
 {
-  LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
-                          (name ? name : "<NULL>"),
-                          (value ? value : "<NULL>")));
+  lt_debugprintf (__FILE__, __LINE__,
+		  "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
+                  nonnull (name), nonnull (value));
 
   if (name && *name && value && *value)
     {
@@ -4011,9 +4184,9 @@ lt_update_exe_path (const char *name, const char *value)
 void
 lt_update_lib_path (const char *name, const char *value)
 {
-  LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
-                          (name ? name : "<NULL>"),
-                          (value ? value : "<NULL>")));
+  lt_debugprintf (__FILE__, __LINE__,
+		  "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
+                  nonnull (name), nonnull (value));
 
   if (name && *name && value && *value)
     {
@@ -4023,11 +4196,152 @@ lt_update_lib_path (const char *name, const char *value)
     }
 }
 
+EOF
+	    case $host_os in
+	      mingw*)
+		cat <<"EOF"
+
+/* Prepares an argument vector before calling spawn().
+   Note that spawn() does not by itself call the command interpreter
+     (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
+      ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+         GetVersionEx(&v);
+         v.dwPlatformId == VER_PLATFORM_WIN32_NT;
+      }) ? "cmd.exe" : "command.com").
+   Instead it simply concatenates the arguments, separated by ' ', and calls
+   CreateProcess().  We must quote the arguments since Win32 CreateProcess()
+   interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
+   special way:
+   - Space and tab are interpreted as delimiters. They are not treated as
+     delimiters if they are surrounded by double quotes: "...".
+   - Unescaped double quotes are removed from the input. Their only effect is
+     that within double quotes, space and tab are treated like normal
+     characters.
+   - Backslashes not followed by double quotes are not special.
+   - But 2*n+1 backslashes followed by a double quote become
+     n backslashes followed by a double quote (n >= 0):
+       \" -> "
+       \\\" -> \"
+       \\\\\" -> \\"
+ */
+#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+char **
+prepare_spawn (char **argv)
+{
+  size_t argc;
+  char **new_argv;
+  size_t i;
+
+  /* Count number of arguments.  */
+  for (argc = 0; argv[argc] != NULL; argc++)
+    ;
+
+  /* Allocate new argument vector.  */
+  new_argv = XMALLOC (char *, argc + 1);
+
+  /* Put quoted arguments into the new argument vector.  */
+  for (i = 0; i < argc; i++)
+    {
+      const char *string = argv[i];
+
+      if (string[0] == '\0')
+	new_argv[i] = xstrdup ("\"\"");
+      else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
+	{
+	  int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
+	  size_t length;
+	  unsigned int backslashes;
+	  const char *s;
+	  char *quoted_string;
+	  char *p;
+
+	  length = 0;
+	  backslashes = 0;
+	  if (quote_around)
+	    length++;
+	  for (s = string; *s != '\0'; s++)
+	    {
+	      char c = *s;
+	      if (c == '"')
+		length += backslashes + 1;
+	      length++;
+	      if (c == '\\')
+		backslashes++;
+	      else
+		backslashes = 0;
+	    }
+	  if (quote_around)
+	    length += backslashes + 1;
+
+	  quoted_string = XMALLOC (char, length + 1);
+
+	  p = quoted_string;
+	  backslashes = 0;
+	  if (quote_around)
+	    *p++ = '"';
+	  for (s = string; *s != '\0'; s++)
+	    {
+	      char c = *s;
+	      if (c == '"')
+		{
+		  unsigned int j;
+		  for (j = backslashes + 1; j > 0; j--)
+		    *p++ = '\\';
+		}
+	      *p++ = c;
+	      if (c == '\\')
+		backslashes++;
+	      else
+		backslashes = 0;
+	    }
+	  if (quote_around)
+	    {
+	      unsigned int j;
+	      for (j = backslashes; j > 0; j--)
+		*p++ = '\\';
+	      *p++ = '"';
+	    }
+	  *p = '\0';
+
+	  new_argv[i] = quoted_string;
+	}
+      else
+	new_argv[i] = (char *) string;
+    }
+  new_argv[argc] = NULL;
+
+  return new_argv;
+}
+EOF
+		;;
+	    esac
+
+            cat <<"EOF"
+void lt_dump_script (FILE* f)
+{
+EOF
+	    func_emit_wrapper yes |
+              $SED -e 's/\([\\"]\)/\\\1/g' \
+	           -e 's/^/  fputs ("/' -e 's/$/\\n", f);/'
 
+            cat <<"EOF"
+}
 EOF
 }
 # end: func_emit_cwrapperexe_src
 
+# func_win32_import_lib_p ARG
+# True if ARG is an import lib, as indicated by $file_magic_cmd
+func_win32_import_lib_p ()
+{
+    $opt_debug
+    case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
+    *import*) : ;;
+    *) false ;;
+    esac
+}
+
 # func_mode_link arg...
 func_mode_link ()
 {
@@ -4072,6 +4386,7 @@ func_mode_link ()
     new_inherited_linker_flags=
 
     avoid_version=no
+    bindir=
     dlfiles=
     dlprefiles=
     dlself=no
@@ -4164,6 +4479,11 @@ func_mode_link ()
 	esac
 
 	case $prev in
+	bindir)
+	  bindir="$arg"
+	  prev=
+	  continue
+	  ;;
 	dlfiles|dlprefiles)
 	  if test "$preload" = no; then
 	    # Add the symbol object into the linking commands.
@@ -4425,6 +4745,11 @@ func_mode_link ()
 	continue
 	;;
 
+      -bindir)
+	prev=bindir
+	continue
+	;;
+
       -dlopen)
 	prev=dlfiles
 	continue
@@ -4503,7 +4828,7 @@ func_mode_link ()
 	esac
 	case $host in
 	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
-	  testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
+	  testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
 	  case :$dllsearchpath: in
 	  *":$dir:"*) ;;
 	  ::) dllsearchpath=$dir;;
@@ -4522,7 +4847,7 @@ func_mode_link ()
       -l*)
 	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
 	  case $host in
-	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*)
+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
 	    # These systems don't actually have a C or math library (as such)
 	    continue
 	    ;;
@@ -4708,7 +5033,7 @@ func_mode_link ()
 	for flag in $args; do
 	  IFS="$save_ifs"
           func_quote_for_eval "$flag"
-	  arg="$arg $wl$func_quote_for_eval_result"
+	  arg="$arg $func_quote_for_eval_result"
 	  compiler_flags="$compiler_flags $func_quote_for_eval_result"
 	done
 	IFS="$save_ifs"
@@ -4754,18 +5079,19 @@ func_mode_link ()
 	arg="$func_quote_for_eval_result"
 	;;
 
-      # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
-      # -r[0-9][0-9]* specifies the processor on the SGI compiler
-      # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
-      # +DA*, +DD* enable 64-bit mode on the HP compiler
-      # -q* pass through compiler args for the IBM compiler
-      # -m*, -t[45]*, -txscale* pass through architecture-specific
-      # compiler args for GCC
-      # -F/path gives path to uninstalled frameworks, gcc on darwin
-      # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
-      # @file GCC response files
+      # Flags to be passed through unchanged, with rationale:
+      # -64, -mips[0-9]      enable 64-bit mode for the SGI compiler
+      # -r[0-9][0-9]*        specify processor for the SGI compiler
+      # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
+      # +DA*, +DD*           enable 64-bit mode for the HP compiler
+      # -q*                  compiler args for the IBM compiler
+      # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
+      # -F/path              path to uninstalled frameworks, gcc on darwin
+      # -p, -pg, --coverage, -fprofile-*  profiling flags for GCC
+      # @file                GCC response files
+      # -tp=*                Portland pgcc target processor selection
       -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
+      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*)
         func_quote_for_eval "$arg"
 	arg="$func_quote_for_eval_result"
         func_append compile_command " $arg"
@@ -4925,7 +5251,7 @@ func_mode_link ()
 
     if test -n "$shlibpath_var"; then
       # get the directories listed in $shlibpath_var
-      eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
+      eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\`
     else
       shlib_search_path=
     fi
@@ -5048,7 +5374,8 @@ func_mode_link ()
 	  # Collect preopened libtool deplibs, except any this library
 	  # has declared as weak libs
 	  for deplib in $dependency_libs; do
-            deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"`
+	    func_basename "$deplib"
+            deplib_base=$func_basename_result
 	    case " $weak_libs " in
 	    *" $deplib_base "*) ;;
 	    *) deplibs="$deplibs $deplib" ;;
@@ -5227,7 +5554,7 @@ func_mode_link ()
 		match_pattern*)
 		  set dummy $deplibs_check_method; shift
 		  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
-		  if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \
+		  if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
 		    | $EGREP "$match_pattern_regex" > /dev/null; then
 		    valid_a_lib=yes
 		  fi
@@ -5237,15 +5564,15 @@ func_mode_link ()
 		;;
 	      esac
 	      if test "$valid_a_lib" != yes; then
-		$ECHO
+		echo
 		$ECHO "*** Warning: Trying to link with static lib archive $deplib."
-		$ECHO "*** I have the capability to make that library automatically link in when"
-		$ECHO "*** you link to this library.  But I can only do this if you have a"
-		$ECHO "*** shared version of the library, which you do not appear to have"
-		$ECHO "*** because the file extensions .$libext of this argument makes me believe"
-		$ECHO "*** that it is just a static archive that I should not use here."
+		echo "*** I have the capability to make that library automatically link in when"
+		echo "*** you link to this library.  But I can only do this if you have a"
+		echo "*** shared version of the library, which you do not appear to have"
+		echo "*** because the file extensions .$libext of this argument makes me believe"
+		echo "*** that it is just a static archive that I should not use here."
 	      else
-		$ECHO
+		echo
 		$ECHO "*** Warning: Linking the shared library $output against the"
 		$ECHO "*** static library $deplib is not portable!"
 		deplibs="$deplib $deplibs"
@@ -5318,7 +5645,7 @@ func_mode_link ()
 
 	# Convert "-framework foo" to "foo.ltframework"
 	if test -n "$inherited_linker_flags"; then
-	  tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'`
+	  tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`
 	  for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
 	    case " $new_inherited_linker_flags " in
 	      *" $tmp_inherited_linker_flag "*) ;;
@@ -5326,7 +5653,7 @@ func_mode_link ()
 	    esac
 	  done
 	fi
-	dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+	dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
 	if test "$linkmode,$pass" = "lib,link" ||
 	   test "$linkmode,$pass" = "prog,scan" ||
 	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
@@ -5580,7 +5907,7 @@ func_mode_link ()
 	    fi
 	  done
 	  if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
-	    $ECHO
+	    echo
 	    if test "$linkmode" = prog; then
 	      $ECHO "*** Warning: Linking the executable $output against the loadable module"
 	    else
@@ -5683,9 +6010,9 @@ func_mode_link ()
 		      if test "X$dlopenmodule" != "X$lib"; then
 			$ECHO "*** Warning: lib $linklib is a module, not a shared library"
 			if test -z "$old_library" ; then
-			  $ECHO
-			  $ECHO "*** And there doesn't seem to be a static archive available"
-			  $ECHO "*** The link will probably fail, sorry"
+			  echo
+			  echo "*** And there doesn't seem to be a static archive available"
+			  echo "*** The link will probably fail, sorry"
 			else
 			  add="$dir/$old_library"
 			fi
@@ -5825,21 +6152,21 @@ func_mode_link ()
 
 	    # Just print a warning and add the library to dependency_libs so
 	    # that the program can be linked against the static library.
-	    $ECHO
+	    echo
 	    $ECHO "*** Warning: This system can not link to static lib archive $lib."
-	    $ECHO "*** I have the capability to make that library automatically link in when"
-	    $ECHO "*** you link to this library.  But I can only do this if you have a"
-	    $ECHO "*** shared version of the library, which you do not appear to have."
+	    echo "*** I have the capability to make that library automatically link in when"
+	    echo "*** you link to this library.  But I can only do this if you have a"
+	    echo "*** shared version of the library, which you do not appear to have."
 	    if test "$module" = yes; then
-	      $ECHO "*** But as you try to build a module library, libtool will still create "
-	      $ECHO "*** a static module, that should work as long as the dlopening application"
-	      $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime."
+	      echo "*** But as you try to build a module library, libtool will still create "
+	      echo "*** a static module, that should work as long as the dlopening application"
+	      echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
 	      if test -z "$global_symbol_pipe"; then
-		$ECHO
-		$ECHO "*** However, this would only work if libtool was able to extract symbol"
-		$ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
-		$ECHO "*** not find such a program.  So, this module is probably useless."
-		$ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
+		echo
+		echo "*** However, this would only work if libtool was able to extract symbol"
+		echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+		echo "*** not find such a program.  So, this module is probably useless."
+		echo "*** \`nm' from GNU binutils and a full rebuild may help."
 	      fi
 	      if test "$build_old_libs" = no; then
 		build_libtool_libs=module
@@ -5893,6 +6220,7 @@ func_mode_link ()
 	  if test "$link_all_deplibs" != no; then
 	    # Add the search paths of all dependency libraries
 	    for deplib in $dependency_libs; do
+	      path=
 	      case $deplib in
 	      -L*) path="$deplib" ;;
 	      *.la)
@@ -5958,7 +6286,7 @@ func_mode_link ()
 	  compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
 	  finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
 	else
-	  compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+	  compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
 	fi
       fi
       dependency_libs="$newdependency_libs"
@@ -6126,7 +6454,7 @@ func_mode_link ()
 	if test "$deplibs_check_method" != pass_all; then
 	  func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
 	else
-	  $ECHO
+	  echo
 	  $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
 	  $ECHO "*** objects $objs is not portable!"
 	  libobjs="$libobjs $objs"
@@ -6194,7 +6522,7 @@ func_mode_link ()
 	    age="$number_minor"
 	    revision="$number_revision"
 	    ;;
-	  freebsd-aout|freebsd-elf|sunos)
+	  freebsd-aout|freebsd-elf|qnx|sunos)
 	    current="$number_major"
 	    revision="$number_minor"
 	    age="0"
@@ -6428,14 +6756,14 @@ func_mode_link ()
 	oldlibs="$oldlibs $output_objdir/$libname.$libext"
 
 	# Transform .lo files to .o files.
-	oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
+	oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP`
       fi
 
       # Eliminate all temporary directories.
       #for path in $notinst_path; do
-      #	lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"`
-      #	deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"`
-      #	dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"`
+      #	lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
+      #	deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
+      #	dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
       #done
 
       if test -n "$xrpath"; then
@@ -6476,7 +6804,7 @@ func_mode_link ()
       if test "$build_libtool_libs" = yes; then
 	if test -n "$rpath"; then
 	  case $host in
-	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*)
+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
 	    # these systems don't actually have a c library (as such)!
 	    ;;
 	  *-*-rhapsody* | *-*-darwin1.[012])
@@ -6561,13 +6889,13 @@ EOF
 		    newdeplibs="$newdeplibs $i"
 		  else
 		    droppeddeps=yes
-		    $ECHO
+		    echo
 		    $ECHO "*** Warning: dynamic linker does not accept needed library $i."
-		    $ECHO "*** I have the capability to make that library automatically link in when"
-		    $ECHO "*** you link to this library.  But I can only do this if you have a"
-		    $ECHO "*** shared version of the library, which I believe you do not have"
-		    $ECHO "*** because a test_compile did reveal that the linker did not use it for"
-		    $ECHO "*** its dynamic dependency list that programs get resolved with at runtime."
+		    echo "*** I have the capability to make that library automatically link in when"
+		    echo "*** you link to this library.  But I can only do this if you have a"
+		    echo "*** shared version of the library, which I believe you do not have"
+		    echo "*** because a test_compile did reveal that the linker did not use it for"
+		    echo "*** its dynamic dependency list that programs get resolved with at runtime."
 		  fi
 		fi
 		;;
@@ -6604,22 +6932,22 @@ EOF
 		      newdeplibs="$newdeplibs $i"
 		    else
 		      droppeddeps=yes
-		      $ECHO
+		      echo
 		      $ECHO "*** Warning: dynamic linker does not accept needed library $i."
-		      $ECHO "*** I have the capability to make that library automatically link in when"
-		      $ECHO "*** you link to this library.  But I can only do this if you have a"
-		      $ECHO "*** shared version of the library, which you do not appear to have"
-		      $ECHO "*** because a test_compile did reveal that the linker did not use this one"
-		      $ECHO "*** as a dynamic dependency that programs can get resolved with at runtime."
+		      echo "*** I have the capability to make that library automatically link in when"
+		      echo "*** you link to this library.  But I can only do this if you have a"
+		      echo "*** shared version of the library, which you do not appear to have"
+		      echo "*** because a test_compile did reveal that the linker did not use this one"
+		      echo "*** as a dynamic dependency that programs can get resolved with at runtime."
 		    fi
 		  fi
 		else
 		  droppeddeps=yes
-		  $ECHO
+		  echo
 		  $ECHO "*** Warning!  Library $i is needed by this library but I was not able to"
-		  $ECHO "*** make it link in!  You will probably need to install it or some"
-		  $ECHO "*** library that it depends on before this library will be fully"
-		  $ECHO "*** functional.  Installing it before continuing would be even better."
+		  echo "*** make it link in!  You will probably need to install it or some"
+		  echo "*** library that it depends on before this library will be fully"
+		  echo "*** functional.  Installing it before continuing would be even better."
 		fi
 		;;
 	      *)
@@ -6665,7 +6993,7 @@ EOF
 			potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
 			case $potliblink in
 			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
-			*) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
+			*) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";;
 			esac
 		      done
 		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
@@ -6680,12 +7008,12 @@ EOF
 	      fi
 	      if test -n "$a_deplib" ; then
 		droppeddeps=yes
-		$ECHO
+		echo
 		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
-		$ECHO "*** I have the capability to make that library automatically link in when"
-		$ECHO "*** you link to this library.  But I can only do this if you have a"
-		$ECHO "*** shared version of the library, which you do not appear to have"
-		$ECHO "*** because I did check the linker path looking for a file starting"
+		echo "*** I have the capability to make that library automatically link in when"
+		echo "*** you link to this library.  But I can only do this if you have a"
+		echo "*** shared version of the library, which you do not appear to have"
+		echo "*** because I did check the linker path looking for a file starting"
 		if test -z "$potlib" ; then
 		  $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
 		else
@@ -6723,7 +7051,7 @@ EOF
 		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
 		  for potent_lib in $potential_libs; do
 		    potlib="$potent_lib" # see symlink-check above in file_magic test
-		    if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \
+		    if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
 		       $EGREP "$match_pattern_regex" > /dev/null; then
 		      newdeplibs="$newdeplibs $a_deplib"
 		      a_deplib=""
@@ -6734,12 +7062,12 @@ EOF
 	      fi
 	      if test -n "$a_deplib" ; then
 		droppeddeps=yes
-		$ECHO
+		echo
 		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
-		$ECHO "*** I have the capability to make that library automatically link in when"
-		$ECHO "*** you link to this library.  But I can only do this if you have a"
-		$ECHO "*** shared version of the library, which you do not appear to have"
-		$ECHO "*** because I did check the linker path looking for a file starting"
+		echo "*** I have the capability to make that library automatically link in when"
+		echo "*** you link to this library.  But I can only do this if you have a"
+		echo "*** shared version of the library, which you do not appear to have"
+		echo "*** because I did check the linker path looking for a file starting"
 		if test -z "$potlib" ; then
 		  $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
 		else
@@ -6757,25 +7085,25 @@ EOF
 	  ;;
 	none | unknown | *)
 	  newdeplibs=""
-	  tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \
-	      -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'`
+	  tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
 	  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 	    for i in $predeps $postdeps ; do
 	      # can't use Xsed below, because $i might contain '/'
-	      tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"`
+	      tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"`
 	    done
 	  fi
-	  if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[	 ]//g' |
-	     $GREP . >/dev/null; then
-	    $ECHO
+	  case $tmp_deplibs in
+	  *[!\	\ ]*)
+	    echo
 	    if test "X$deplibs_check_method" = "Xnone"; then
-	      $ECHO "*** Warning: inter-library dependencies are not supported in this platform."
+	      echo "*** Warning: inter-library dependencies are not supported in this platform."
 	    else
-	      $ECHO "*** Warning: inter-library dependencies are not known to be supported."
+	      echo "*** Warning: inter-library dependencies are not known to be supported."
 	    fi
-	    $ECHO "*** All declared inter-library dependencies are being dropped."
+	    echo "*** All declared inter-library dependencies are being dropped."
 	    droppeddeps=yes
-	  fi
+	    ;;
+	  esac
 	  ;;
 	esac
 	versuffix=$versuffix_save
@@ -6787,23 +7115,23 @@ EOF
 	case $host in
 	*-*-rhapsody* | *-*-darwin1.[012])
 	  # On Rhapsody replace the C library with the System framework
-	  newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+	  newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'`
 	  ;;
 	esac
 
 	if test "$droppeddeps" = yes; then
 	  if test "$module" = yes; then
-	    $ECHO
-	    $ECHO "*** Warning: libtool could not satisfy all declared inter-library"
+	    echo
+	    echo "*** Warning: libtool could not satisfy all declared inter-library"
 	    $ECHO "*** dependencies of module $libname.  Therefore, libtool will create"
-	    $ECHO "*** a static module, that should work as long as the dlopening"
-	    $ECHO "*** application is linked with the -dlopen flag."
+	    echo "*** a static module, that should work as long as the dlopening"
+	    echo "*** application is linked with the -dlopen flag."
 	    if test -z "$global_symbol_pipe"; then
-	      $ECHO
-	      $ECHO "*** However, this would only work if libtool was able to extract symbol"
-	      $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
-	      $ECHO "*** not find such a program.  So, this module is probably useless."
-	      $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
+	      echo
+	      echo "*** However, this would only work if libtool was able to extract symbol"
+	      echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+	      echo "*** not find such a program.  So, this module is probably useless."
+	      echo "*** \`nm' from GNU binutils and a full rebuild may help."
 	    fi
 	    if test "$build_old_libs" = no; then
 	      oldlibs="$output_objdir/$libname.$libext"
@@ -6813,16 +7141,16 @@ EOF
 	      build_libtool_libs=no
 	    fi
 	  else
-	    $ECHO "*** The inter-library dependencies that have been dropped here will be"
-	    $ECHO "*** automatically added whenever a program is linked with this library"
-	    $ECHO "*** or is declared to -dlopen it."
+	    echo "*** The inter-library dependencies that have been dropped here will be"
+	    echo "*** automatically added whenever a program is linked with this library"
+	    echo "*** or is declared to -dlopen it."
 
 	    if test "$allow_undefined" = no; then
-	      $ECHO
-	      $ECHO "*** Since this library must not contain undefined symbols,"
-	      $ECHO "*** because either the platform does not support them or"
-	      $ECHO "*** it was explicitly requested with -no-undefined,"
-	      $ECHO "*** libtool will only create a static version of it."
+	      echo
+	      echo "*** Since this library must not contain undefined symbols,"
+	      echo "*** because either the platform does not support them or"
+	      echo "*** it was explicitly requested with -no-undefined,"
+	      echo "*** libtool will only create a static version of it."
 	      if test "$build_old_libs" = no; then
 		oldlibs="$output_objdir/$libname.$libext"
 		build_libtool_libs=module
@@ -6839,9 +7167,9 @@ EOF
       # Time to change all our "foo.ltframework" stuff back to "-framework foo"
       case $host in
 	*-*-darwin*)
-	  newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
-	  new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
-	  deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+	  newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+	  new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+	  deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
 	  ;;
       esac
 
@@ -6963,7 +7291,7 @@ EOF
 	done
 
 	# Use standard objects if they are pic
-	test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+	test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
 	test "X$libobjs" = "X " && libobjs=
 
 	delfiles=
@@ -7029,7 +7357,7 @@ EOF
 	if test -n "$export_symbols" && test -n "$include_expsyms"; then
 	  tmp_export_symbols="$export_symbols"
 	  test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
-	  $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
+	  $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
 	fi
 
 	if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
@@ -7130,7 +7458,8 @@ EOF
 	    save_libobjs=$libobjs
 	  fi
 	  save_output=$output
-	  output_la=`$ECHO "X$output" | $Xsed -e "$basename"`
+	  func_basename "$output"
+	  output_la=$func_basename_result
 
 	  # Clear the reloadable object creation command queue and
 	  # initialize k to one.
@@ -7143,12 +7472,12 @@ EOF
 	  if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
 	    output=${output_objdir}/${output_la}.lnkscript
 	    func_verbose "creating GNU ld script: $output"
-	    $ECHO 'INPUT (' > $output
+	    echo 'INPUT (' > $output
 	    for obj in $save_libobjs
 	    do
 	      $ECHO "$obj" >> $output
 	    done
-	    $ECHO ')' >> $output
+	    echo ')' >> $output
 	    delfiles="$delfiles $output"
 	  elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
 	    output=${output_objdir}/${output_la}.lnk
@@ -7190,17 +7519,19 @@ EOF
 		  # command to the queue.
 		  if test "$k" -eq 1 ; then
 		    # The first file doesn't have a previous command to add.
-		    eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
+		    reload_objs=$objlist
+		    eval concat_cmds=\"$reload_cmds\"
 		  else
 		    # All subsequent reloadable object files will link in
 		    # the last one created.
-		    eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\"
+		    reload_objs="$objlist $last_robj"
+		    eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
 		  fi
 		  last_robj=$output_objdir/$output_la-${k}.$objext
 		  func_arith $k + 1
 		  k=$func_arith_result
 		  output=$output_objdir/$output_la-${k}.$objext
-		  objlist=$obj
+		  objlist=" $obj"
 		  func_len " $last_robj"
 		  func_arith $len0 + $func_len_result
 		  len=$func_arith_result
@@ -7210,7 +7541,8 @@ EOF
 	      # reloadable object file.  All subsequent reloadable object
 	      # files will link in the last one created.
 	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-	      eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
+	      reload_objs="$objlist $last_robj"
+	      eval concat_cmds=\"\${concat_cmds}$reload_cmds\"
 	      if test -n "$last_robj"; then
 	        eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
 	      fi
@@ -7269,7 +7601,7 @@ EOF
 	    if test -n "$export_symbols" && test -n "$include_expsyms"; then
 	      tmp_export_symbols="$export_symbols"
 	      test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
-	      $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
+	      $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
 	    fi
 
 	    if test -n "$orig_export_symbols"; then
@@ -7434,7 +7766,7 @@ EOF
       if test -n "$convenience"; then
 	if test -n "$whole_archive_flag_spec"; then
 	  eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
-	  reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
+	  reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
 	else
 	  gentop="$output_objdir/${obj}x"
 	  generated="$generated $gentop"
@@ -7445,7 +7777,7 @@ EOF
       fi
 
       # Create the old-style object.
-      reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+      reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
 
       output="$obj"
       func_execute_cmds "$reload_cmds" 'exit $?'
@@ -7505,8 +7837,8 @@ EOF
       case $host in
       *-*-rhapsody* | *-*-darwin1.[012])
 	# On Rhapsody replace the C library is the System framework
-	compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
-	finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+	compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'`
+	finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'`
 	;;
       esac
 
@@ -7523,8 +7855,8 @@ EOF
 	  esac
 	fi
 	# Time to change all our "foo.ltframework" stuff back to "-framework foo"
-	compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
-	finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+	compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+	finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
 	;;
       esac
 
@@ -7661,8 +7993,8 @@ EOF
 
       if test -n "$libobjs" && test "$build_old_libs" = yes; then
 	# Transform all the library objects into standard objects.
-	compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-	finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+	compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
+	finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
       fi
 
       func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
@@ -7674,15 +8006,15 @@ EOF
 
       wrappers_required=yes
       case $host in
+      *cegcc* | *mingw32ce*)
+        # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
+        wrappers_required=no
+        ;;
       *cygwin* | *mingw* )
         if test "$build_libtool_libs" != yes; then
           wrappers_required=no
         fi
         ;;
-      *cegcc)
-        # Disable wrappers for cegcc, we are cross compiling anyway.
-        wrappers_required=no
-        ;;
       *)
         if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
           wrappers_required=no
@@ -7691,7 +8023,7 @@ EOF
       esac
       if test "$wrappers_required" = no; then
 	# Replace the output file specification.
-	compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+	compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
 	link_command="$compile_command$compile_rpath"
 
 	# We have no uninstalled library dependencies, so finalize right now.
@@ -7738,7 +8070,7 @@ EOF
 	# We don't need to create a wrapper script.
 	link_command="$compile_var$compile_command$compile_rpath"
 	# Replace the output file specification.
-	link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+	link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
 	# Delete the old output file.
 	$opt_dry_run || $RM $output
 	# Link the executable and exit
@@ -7757,7 +8089,7 @@ EOF
 	if test "$fast_install" != no; then
 	  link_command="$finalize_var$compile_command$finalize_rpath"
 	  if test "$fast_install" = yes; then
-	    relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
+	    relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
 	  else
 	    # fast_install is set to needless
 	    relink_command=
@@ -7769,7 +8101,7 @@ EOF
       fi
 
       # Replace the output file specification.
-      link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+      link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
 
       # Delete the old output files.
       $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
@@ -7793,18 +8125,7 @@ EOF
 	  fi
 	done
 	relink_command="(cd `pwd`; $relink_command)"
-	relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
-      fi
-
-      # Quote $ECHO for shipping.
-      if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
-	case $progpath in
-	[\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
-	*) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
-	esac
-	qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"`
-      else
-	qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"`
+	relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
       fi
 
       # Only actually do things if not in dry run mode.
@@ -7925,7 +8246,7 @@ EOF
 	    done | sort | sort -uc >/dev/null 2>&1); then
 	  :
 	else
-	  $ECHO "copying selected object files to avoid basename conflicts..."
+	  echo "copying selected object files to avoid basename conflicts..."
 	  gentop="$output_objdir/${outputname}x"
 	  generated="$generated $gentop"
 	  func_mkdir_p "$gentop"
@@ -8036,7 +8357,7 @@ EOF
       done
       # Quote the link command for shipping.
       relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
-      relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+      relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
       if test "$hardcode_automatic" = yes ; then
 	relink_command=
       fi
@@ -8121,9 +8442,27 @@ EOF
 	  fi
 	  $RM $output
 	  # place dlname in correct position for cygwin
+	  # In fact, it would be nice if we could use this code for all target
+	  # systems that can't hard-code library paths into their executables
+	  # and that have no shared library path variable independent of PATH,
+	  # but it turns out we can't easily determine that from inspecting
+	  # libtool variables, so we have to hard-code the OSs to which it
+	  # applies here; at the moment, that means platforms that use the PE
+	  # object format with DLL files.  See the long comment at the top of
+	  # tests/bindir.at for full details.
 	  tdlname=$dlname
 	  case $host,$output,$installed,$module,$dlname in
-	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
+	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
+	      # If a -bindir argument was supplied, place the dll there.
+	      if test "x$bindir" != x ;
+	      then
+		func_relative_path "$install_libdir" "$bindir"
+		tdlname=$func_relative_path_result$dlname
+	      else
+		# Otherwise fall back on heuristic.
+		tdlname=../bin/$dlname
+	      fi
+	      ;;
 	  esac
 	  $ECHO > $output "\
 # $outputname - a libtool library file
diff --git a/m4/Makefile.am b/m4/Makefile.am
index a861da0..1ea1cf0 100644
--- a/m4/Makefile.am
+++ b/m4/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
diff --git a/m4/Makefile.in b/m4/Makefile.in
index 98efc54..358d101 100644
--- a/m4/Makefile.in
+++ b/m4/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -38,8 +39,9 @@
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -63,6 +65,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -84,12 +87,19 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -97,13 +107,28 @@ am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
     *) f=$$p;; \
   esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
 am__installdirs = "$(DESTDIR)$(m4datadir)"
-m4dataDATA_INSTALL = $(INSTALL_DATA)
 DATA = $(m4data_DATA)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -150,6 +175,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -167,8 +194,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -176,6 +213,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -192,12 +230,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -240,11 +281,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -274,6 +313,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -281,6 +321,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 
 # M4 macro files to be used by the client applications with Autoconf.
 m4datadir = $(datadir)/aclocal
@@ -332,14 +373,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  m4/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  m4/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign m4/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign m4/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -357,6 +398,7 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -366,20 +408,23 @@ clean-libtool:
 install-m4dataDATA: $(m4data_DATA)
 	@$(NORMAL_INSTALL)
 	test -z "$(m4datadir)" || $(MKDIR_P) "$(DESTDIR)$(m4datadir)"
-	@list='$(m4data_DATA)'; for p in $$list; do \
+	@list='$(m4data_DATA)'; test -n "$(m4datadir)" || list=; \
+	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  f=$(am__strip_dir) \
-	  echo " $(m4dataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(m4datadir)/$$f'"; \
-	  $(m4dataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(m4datadir)/$$f"; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(m4datadir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(m4datadir)" || exit $$?; \
 	done
 
 uninstall-m4dataDATA:
 	@$(NORMAL_UNINSTALL)
-	@list='$(m4data_DATA)'; for p in $$list; do \
-	  f=$(am__strip_dir) \
-	  echo " rm -f '$(DESTDIR)$(m4datadir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(m4datadir)/$$f"; \
-	done
+	@list='$(m4data_DATA)'; test -n "$(m4datadir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(m4datadir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(m4datadir)" && rm -f $$files
 tags: TAGS
 TAGS:
 
@@ -403,13 +448,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -440,6 +489,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -458,6 +508,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -466,18 +518,28 @@ install-data-am: install-m4dataDATA
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am:
 
 install-html: install-html-am
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-am
 
+install-pdf-am:
+
 install-ps: install-ps-am
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -512,6 +574,7 @@ uninstall-am: uninstall-m4dataDATA
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	uninstall uninstall-am uninstall-m4dataDATA
 
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/m4/ac_check_ciao.m4 b/m4/ac_check_ciao.m4
index 78dc1cf..6b8149c 100644
--- a/m4/ac_check_ciao.m4
+++ b/m4/ac_check_ciao.m4
@@ -1,5 +1,5 @@
 dnl A function to check for the existence and usability of Ciao-Prolog.
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/m4/ac_check_fpu_control.m4 b/m4/ac_check_fpu_control.m4
index 5ccbb68..02fd0d0 100644
--- a/m4/ac_check_fpu_control.m4
+++ b/m4/ac_check_fpu_control.m4
@@ -1,5 +1,5 @@
 dnl A function to check for the possibility to control the FPU.
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -22,8 +22,6 @@ dnl site: http://www.cs.unipr.it/ppl/ .
 
 AC_DEFUN([AC_CHECK_FPU_CONTROL],
 [
-ac_save_LIBS="$LIBS"
-LIBS="$LIBS -lm"
 AC_LANG_PUSH(C++)
 AC_CHECK_HEADERS([fenv.h ieeefp.h])
 AC_MSG_CHECKING([if it is possible to control the FPU])
@@ -59,7 +57,7 @@ long double nl1 = -13, pl1 = 13, l2 = 17;
 long double nl[2], pl[2];
 
 int
-check() {
+ppl_check_function() {
   int r = 0;
   if (nf[0] == nf[1] || pf[0] == pf[1] || -nf[0] != pf[1] || -nf[1] != pf[0])
     r |= 1;
@@ -70,10 +68,17 @@ check() {
   return r;
 }
 
-int (*fun)() = check;
+int
+ppl_setround_function(int rounding_mode) {
+  return fesetround(rounding_mode);
+}
+
+int (* volatile ppl_check_function_p)() = ppl_check_function;
+int (* volatile ppl_setround_function_p)(int) = ppl_setround_function;
 
-int main() {
-  if (fesetround(FE_DOWNWARD) != 0)
+int
+main() {
+  if ((*ppl_setround_function_p)(FE_DOWNWARD) != 0)
     return 255;
 
   nf[0] = nf1 / f2;
@@ -83,7 +88,7 @@ int main() {
   pd[0] = pd1 / d2;
   pl[0] = pl1 / l2;
 
-  if (fesetround(FE_UPWARD) != 0)
+  if ((*ppl_setround_function_p)(FE_UPWARD) != 0)
     return 255;
 
   nf[1] = nf1 / f2;
@@ -93,7 +98,7 @@ int main() {
   pd[1] = pd1 / d2;
   pl[1] = pl1 / l2;
 
-  return (*fun)();
+  return (*ppl_check_function_p)();
 }
 
 # endif
@@ -139,5 +144,4 @@ AM_CONDITIONAL(CAN_CONTROL_FPU, test $ac_cv_can_control_fpu = 1)
 AC_DEFINE_UNQUOTED(PPL_CAN_CONTROL_FPU, $ac_cv_can_control_fpu,
     [Not zero if the FPU can be controlled.])
 AC_LANG_POP(C++)
-LIBS="$ac_save_LIBS"
 ])
diff --git a/m4/ac_check_gmp.m4 b/m4/ac_check_gmp.m4
index 4dc3bc8..15acb18 100644
--- a/m4/ac_check_gmp.m4
+++ b/m4/ac_check_gmp.m4
@@ -1,5 +1,5 @@
 dnl A function to check for the existence and usability of GMP.
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -32,6 +32,23 @@ else
   fi
 fi
 
+AC_ARG_WITH(gmp-build,
+  AS_HELP_STRING([--with-gmp-build=DIR],
+                 [use a non-installed build of GMP in DIR]),
+  gmp_build_dir=$with_gmp_build
+  if test -z "$with_libgmp_prefix"
+  then
+    CPPFLAGS="$CPPFLAGS -I$gmp_build_dir -I$gmp_build_dir/tune"
+    LDFLAGS="$LDFLAGS -L$gmp_build_dir -L$gmp_build_dir/.libs"
+    LDFLAGS="$LDFLAGS -L$gmp_build_dir/tune"
+  else
+    AC_MSG_ERROR([cannot use --with-gmp-build and --with-gmp-prefix together])
+  fi)
+
+dnl Both libgmp and libbmpxx come from the gmp package.
+AC_LIB_FROMPACKAGE([gmp], [gmp])
+AC_LIB_FROMPACKAGE([gmpxx], [gmp])
+
 dnl Check how to link with libgmp.
 AC_LIB_LINKFLAGS([gmp])
 
@@ -54,6 +71,10 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[
 #GMP version 4.1.3 or higher is required
 #endif
 
+#ifndef BITS_PER_MP_LIMB
+#define BITS_PER_MP_LIMB GMP_LIMB_BITS
+#endif
+
 int
 main() {
   std::string header_version;
@@ -80,11 +101,11 @@ main() {
     return 1;
   }
 
-  if (sizeof(mp_limb_t)*CHAR_BIT != GMP_LIMB_BITS
-      || GMP_LIMB_BITS != mp_bits_per_limb) {
+  if (sizeof(mp_limb_t)*CHAR_BIT != BITS_PER_MP_LIMB
+      || BITS_PER_MP_LIMB != mp_bits_per_limb) {
     std::cerr
       << "GMP header (gmp.h) and library (ligmp.*) bits-per-limb mismatch:\n"
-      << "header gives " << __GMP_BITS_PER_MP_LIMB << ";\n"
+      << "header gives " << BITS_PER_MP_LIMB << ";\n"
       << "library gives " << mp_bits_per_limb << ".\n"
       << "This probably means you are on a bi-arch system and\n"
       << "you are compiling with the wrong header or linking with\n"
diff --git a/m4/ac_check_sicstus_prolog.m4 b/m4/ac_check_sicstus_prolog.m4
index 9afbe9b..6d9c841 100644
--- a/m4/ac_check_sicstus_prolog.m4
+++ b/m4/ac_check_sicstus_prolog.m4
@@ -1,5 +1,5 @@
 dnl A function to check for the existence and usability of SICStus Prolog.
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/m4/ac_check_swi_prolog.m4 b/m4/ac_check_swi_prolog.m4
index 4ca9955..daed0a7 100644
--- a/m4/ac_check_swi_prolog.m4
+++ b/m4/ac_check_swi_prolog.m4
@@ -1,5 +1,5 @@
 dnl A function to check for the existence and usability of SWI-Prolog.
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -22,16 +22,24 @@ dnl site: http://www.cs.unipr.it/ppl/ .
 
 AC_DEFUN([AC_CHECK_SWI_PROLOG],
 [
-dnl By default, SWI-Prolog is installed as `pl', though some administrators
-dnl call it `swipl' or `swi-prolog'.  In particular, on Mac OS X `pl' is
-dnl the name of another program.
-AC_PATH_PROG(swi_prolog, swi-prolog)
+dnl By default, old versions of SWI-Prolog were installed as `pl',
+dnl though some administrators called it `swipl' or `swi-prolog'.
+dnl In particular, on Mac OS X `pl' is the name of another program.
+dnl On Windows, the console version of SWI-Prolog was called `plcon'.
+dnl Since SWI-Prolog 5.9.9, by default and on all systems, the
+dnl interpreter is called `swipl' and `plld' is called `swipl-ld'
+
+AC_PATH_PROG(swi_prolog, swipl)
 if test -z $swi_prolog
 then
-  AC_PATH_PROG(swi_prolog, swipl)
+  AC_PATH_PROG(swi_prolog, swi-prolog)
   if test -z $swi_prolog
   then
     AC_PATH_PROG(swi_prolog, pl)
+    if test -z $swi_prolog
+    then
+      AC_PATH_PROG(swi_prolog, plcon)
+    fi
   fi
 fi
 if test x$swi_prolog != x
@@ -44,6 +52,12 @@ then
 
   dnl Additional version checks could be inserted here, if necessary.
 
+  AC_PATH_PROG(swi_prolog_ld, swipl-ld)
+  if test -z $swi_prolog_ld
+  then
+    AC_PATH_PROG(swi_prolog_ld, plld)
+  fi
+
   # In Fedora, SWI-Prolog.h is installed only in /usr/include/pl, which,
   # IMHO, is a bug (https://bugzilla.redhat.com/show_bug.cgi?id=471071).
   SWI_PROLOG_INCLUDE_OPTIONS="-I${swi_prolog_base}/include -I/usr/include/pl"
@@ -74,7 +88,9 @@ main() {
   AC_LANG_POP(C++)
   CPPFLAGS="$ac_save_CPPFLAGS"
   SWI_PROLOG="$swi_prolog"
+  SWI_PROLOG_LD="$swi_prolog_ld"
   AC_SUBST(SWI_PROLOG)
+  AC_SUBST(SWI_PROLOG_LD)
   AC_SUBST(SWI_PROLOG_INCLUDE_OPTIONS)
   AC_SUBST(SWI_PROLOG_LD_OPTIONS)
 fi
diff --git a/m4/ac_check_xsb_prolog.m4 b/m4/ac_check_xsb_prolog.m4
index 580800b..7252b45 100644
--- a/m4/ac_check_xsb_prolog.m4
+++ b/m4/ac_check_xsb_prolog.m4
@@ -1,5 +1,5 @@
 dnl A function to check for the existence and usability of XSB Prolog.
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/m4/ac_check_yap.m4 b/m4/ac_check_yap.m4
new file mode 100644
index 0000000..1bbc32c
--- /dev/null
+++ b/m4/ac_check_yap.m4
@@ -0,0 +1,54 @@
+dnl A function to check for the existence and usability of YAP Prolog.
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl
+dnl This file is part of the Parma Polyhedra Library (PPL).
+dnl
+dnl The PPL is free software; you can redistribute it and/or modify it
+dnl under the terms of the GNU General Public License as published by the
+dnl Free Software Foundation; either version 3 of the License, or (at your
+dnl option) any later version.
+dnl
+dnl The PPL is distributed in the hope that it will be useful, but WITHOUT
+dnl ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+dnl FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+dnl for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program; if not, write to the Free Software Foundation,
+dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+dnl
+dnl For the most up-to-date information see the Parma Polyhedra Library
+dnl site: http://www.cs.unipr.it/ppl/ .
+
+AC_DEFUN([AC_CHECK_YAP_PROLOG],
+[
+dnl By default, YAP-Prolog is installed as `yap'.
+AC_PATH_PROG(yap_prolog, yap)
+if test x$yap_prolog != x
+then
+  dnl Additional version checks could be inserted here, if necessary.
+
+  YAP_PROLOG_INCLUDE_OPTIONS=""
+  YAP_PROLOG_LD_OPTIONS="-lYap"
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="$CPPFLAGS $YAP_PROLOG_INCLUDE_OPTIONS"
+  AC_LANG_PUSH(C++)
+  # Check for YAP's foreign language interface header file.
+  AC_CHECK_HEADER(Yap/c_interface.h,
+                  [],
+                  yap_prolog="")
+  AC_LANG_POP(C++)
+  CPPFLAGS="$ac_save_CPPFLAGS"
+  YAP_PROLOG="$yap_prolog"
+  AC_SUBST(YAP_PROLOG)
+  AC_SUBST(YAP_PROLOG_INCLUDE_OPTIONS)
+  AC_SUBST(YAP_PROLOG_LD_OPTIONS)
+fi
+
+if test x$yap_prolog != x
+then
+  have_yap_prolog=yes
+else
+  have_yap_prolog=no
+fi
+])
diff --git a/m4/ac_cxx_attribute_weak.m4 b/m4/ac_cxx_attribute_weak.m4
index 1384fc5..3e5e39e 100644
--- a/m4/ac_cxx_attribute_weak.m4
+++ b/m4/ac_cxx_attribute_weak.m4
@@ -1,6 +1,6 @@
 dnl A function to check whether the C++ compiler supports the function
 dnl __attribute__ ((weak)).
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/m4/ac_cxx_double_binary_format.m4 b/m4/ac_cxx_double_binary_format.m4
index c627326..f96e85e 100644
--- a/m4/ac_cxx_double_binary_format.m4
+++ b/m4/ac_cxx_double_binary_format.m4
@@ -1,5 +1,5 @@
 dnl A function to detect the binary format used by C++ doubles.
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/m4/ac_cxx_double_exact_output.m4 b/m4/ac_cxx_double_exact_output.m4
index f3827ed..3e4fd09 100644
--- a/m4/ac_cxx_double_exact_output.m4
+++ b/m4/ac_cxx_double_exact_output.m4
@@ -1,5 +1,5 @@
 dnl A function to detect whether C++ provides exact output for doubles.
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/m4/ac_cxx_flexible_arrays.m4 b/m4/ac_cxx_flexible_arrays.m4
index 8319f07..e556cef 100644
--- a/m4/ac_cxx_flexible_arrays.m4
+++ b/m4/ac_cxx_flexible_arrays.m4
@@ -1,5 +1,5 @@
 dnl A function to check whether the C++ compiler supports flexible arrays.
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/m4/ac_cxx_float_binary_format.m4 b/m4/ac_cxx_float_binary_format.m4
index 331e46a..4cb0721 100644
--- a/m4/ac_cxx_float_binary_format.m4
+++ b/m4/ac_cxx_float_binary_format.m4
@@ -1,5 +1,5 @@
 dnl A function to detect the binary format used by C++ floats.
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/m4/ac_cxx_float_exact_output.m4 b/m4/ac_cxx_float_exact_output.m4
index da94c40..73b46ff 100644
--- a/m4/ac_cxx_float_exact_output.m4
+++ b/m4/ac_cxx_float_exact_output.m4
@@ -1,5 +1,5 @@
 dnl A function to detect whether C++ provides exact output for floats.
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/m4/ac_cxx_ieee_inexact_flag.m4 b/m4/ac_cxx_ieee_inexact_flag.m4
index 5292002..64be95d 100644
--- a/m4/ac_cxx_ieee_inexact_flag.m4
+++ b/m4/ac_cxx_ieee_inexact_flag.m4
@@ -1,6 +1,6 @@
 dnl A function to check whether the IEEE inexact flag is supported and
 dnl available to C++ programs.
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/m4/ac_cxx_limit_memory.m4 b/m4/ac_cxx_limit_memory.m4
index 8f970fe..47ada4f 100644
--- a/m4/ac_cxx_limit_memory.m4
+++ b/m4/ac_cxx_limit_memory.m4
@@ -1,6 +1,6 @@
 dnl A function to check whether it is possible to limit the memory
 dnl available to processes using setrlimit().
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/m4/ac_cxx_long_double_binary_format.m4 b/m4/ac_cxx_long_double_binary_format.m4
index 5d3afc8..0d827f6 100644
--- a/m4/ac_cxx_long_double_binary_format.m4
+++ b/m4/ac_cxx_long_double_binary_format.m4
@@ -1,5 +1,5 @@
 dnl A function to detect the binary format used by C++ long doubles.
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/m4/ac_cxx_long_double_exact_output.m4 b/m4/ac_cxx_long_double_exact_output.m4
index d965a85..e274bc6 100644
--- a/m4/ac_cxx_long_double_exact_output.m4
+++ b/m4/ac_cxx_long_double_exact_output.m4
@@ -1,5 +1,5 @@
 dnl A function to detect whether C++ provides exact output for long doubles.
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/m4/ac_cxx_proper_long_double.m4 b/m4/ac_cxx_proper_long_double.m4
index 7886ac3..5cb4cd3 100644
--- a/m4/ac_cxx_proper_long_double.m4
+++ b/m4/ac_cxx_proper_long_double.m4
@@ -1,6 +1,6 @@
 dnl A function to check whether the C++ compiler provides long double
 dnl numbers that have bigger range or precision than double.
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/m4/ac_cxx_remainder_bug.m4 b/m4/ac_cxx_remainder_bug.m4
index 2e93b6d..660c50d 100644
--- a/m4/ac_cxx_remainder_bug.m4
+++ b/m4/ac_cxx_remainder_bug.m4
@@ -1,5 +1,5 @@
 dnl A function to check whether the C++ compiler has the `remainder' bug.
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/m4/ac_prog_jar.m4 b/m4/ac_prog_jar.m4
index c3a8884..40a6926 100644
--- a/m4/ac_prog_jar.m4
+++ b/m4/ac_prog_jar.m4
@@ -35,7 +35,7 @@
 # COPYLEFT
 #
 #   Copyright (C) 2000      Egon Willighagen <e.willighagen at science.ru.nl>
-#   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+#   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 #   Copying and distribution of this file, with or without
 #   modification, are permitted in any medium without royalty provided
diff --git a/m4/ac_prog_java.m4 b/m4/ac_prog_java.m4
index 95cacfa..bf904f2 100644
--- a/m4/ac_prog_java.m4
+++ b/m4/ac_prog_java.m4
@@ -22,7 +22,7 @@
 # COPYLEFT
 #
 #   Copyright (c) 2000      Stephane Bortzmeyer <bortzmeyer at pasteur.fr>
-#   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+#   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 #   This program is free software; you can redistribute it and/or
 #   modify it under the terms of the GNU General Public License as
@@ -219,7 +219,7 @@ AC_PROVIDE([$0])dnl
 # COPYLEFT
 #
 #   Copyright (c) 2000      Stephane Bortzmeyer <bortzmeyer at pasteur.fr>
-#   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+#   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 #   This program is free software; you can redistribute it and/or
 #   modify it under the terms of the GNU General Public License as
diff --git a/m4/ac_prog_javac.m4 b/m4/ac_prog_javac.m4
index 25c06e8..624f928 100644
--- a/m4/ac_prog_javac.m4
+++ b/m4/ac_prog_javac.m4
@@ -1,5 +1,5 @@
 dnl A function to check whether the Java compiler supports enums.
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -96,7 +96,7 @@ AC_PROVIDE([$0])dnl
 # COPYLEFT
 #
 #   Copyright (c) 2000      Stephane Bortzmeyer <bortzmeyer at pasteur.fr>
-#   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+#   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 #   This program is free software; you can redistribute it and/or
 #   modify it under the terms of the GNU General Public License as
diff --git a/m4/ac_prog_javah.m4 b/m4/ac_prog_javah.m4
index 6886a2d..4e2a43c 100644
--- a/m4/ac_prog_javah.m4
+++ b/m4/ac_prog_javah.m4
@@ -17,7 +17,7 @@
 # COPYLEFT
 #
 #   Copyright (C) 2002      Luc Maisonobe <luc at spaceroots.org>
-#   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+#   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 #   Copying and distribution of this file, with or without
 #   modification, are permitted in any medium without royalty provided
diff --git a/m4/ac_text_md5sum.m4 b/m4/ac_text_md5sum.m4
index 73821e1..b982579 100644
--- a/m4/ac_text_md5sum.m4
+++ b/m4/ac_text_md5sum.m4
@@ -1,5 +1,5 @@
 dnl A function to set the command for computing the MD5 checksum of text files.
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4
index 96c4e2c..e4863f2 100644
--- a/m4/lib-ld.m4
+++ b/m4/lib-ld.m4
@@ -1,5 +1,5 @@
-# lib-ld.m4 serial 3 (gettext-0.13)
-dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
+# lib-ld.m4 serial 4 (gettext-0.18)
+dnl Copyright (C) 1996-2003, 2009 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -10,7 +10,7 @@ dnl with libtool.m4.
 
 dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
 AC_DEFUN([AC_LIB_PROG_LD_GNU],
-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld],
 [# I'd rather use --version here, but apparently some GNU ld's only accept -v.
 case `$LD -v 2>&1 </dev/null` in
 *GNU* | *'with BFD'*)
@@ -23,7 +23,7 @@ with_gnu_ld=$acl_cv_prog_gnu_ld
 
 dnl From libtool-1.4. Sets the variable LD.
 AC_DEFUN([AC_LIB_PROG_LD],
-[AC_ARG_WITH(gnu-ld,
+[AC_ARG_WITH([gnu-ld],
 [  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
 test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
 AC_REQUIRE([AC_PROG_CC])dnl
@@ -77,7 +77,7 @@ elif test "$with_gnu_ld" = yes; then
 else
   AC_MSG_CHECKING([for non-GNU ld])
 fi
-AC_CACHE_VAL(acl_cv_path_LD,
+AC_CACHE_VAL([acl_cv_path_LD],
 [if test -z "$LD"; then
   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
   for ac_dir in $PATH; do
@@ -101,9 +101,9 @@ else
 fi])
 LD="$acl_cv_path_LD"
 if test -n "$LD"; then
-  AC_MSG_RESULT($LD)
+  AC_MSG_RESULT([$LD])
 else
-  AC_MSG_RESULT(no)
+  AC_MSG_RESULT([no])
 fi
 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
 AC_LIB_PROG_LD_GNU
diff --git a/m4/lib-link.m4 b/m4/lib-link.m4
index ea0b0c4..2f8b7ff 100644
--- a/m4/lib-link.m4
+++ b/m4/lib-link.m4
@@ -1,58 +1,66 @@
-# lib-link.m4 serial 6 (gettext-0.14.3)
-dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
+# lib-link.m4 serial 20 (gettext-0.18)
+dnl Copyright (C) 2001-2009 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
 dnl From Bruno Haible.
 
-AC_PREREQ(2.50)
+AC_PREREQ([2.54])
 
 dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
 dnl the libraries corresponding to explicit and implicit dependencies.
 dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
 dnl augments the CPPFLAGS variable.
+dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
+dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
 AC_DEFUN([AC_LIB_LINKFLAGS],
 [
   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
   AC_REQUIRE([AC_LIB_RPATH])
-  define([Name],[translit([$1],[./-], [___])])
-  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  pushdef([Name],[translit([$1],[./-], [___])])
+  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
   AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
     AC_LIB_LINKFLAGS_BODY([$1], [$2])
     ac_cv_lib[]Name[]_libs="$LIB[]NAME"
     ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
     ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
+    ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX"
   ])
   LIB[]NAME="$ac_cv_lib[]Name[]_libs"
   LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
   INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
+  LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix"
   AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
   AC_SUBST([LIB]NAME)
   AC_SUBST([LTLIB]NAME)
+  AC_SUBST([LIB]NAME[_PREFIX])
   dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
   dnl results of this search when this library appears as a dependency.
   HAVE_LIB[]NAME=yes
-  undefine([Name])
-  undefine([NAME])
+  popdef([NAME])
+  popdef([Name])
 ])
 
-dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
+dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message])
 dnl searches for libname and the libraries corresponding to explicit and
 dnl implicit dependencies, together with the specified include files and
-dnl the ability to compile and link the specified testcode. If found, it
-dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
-dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
+dnl the ability to compile and link the specified testcode. The missing-message
+dnl defaults to 'no' and may contain additional hints for the user.
+dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME}
+dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and
 dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
 dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
+dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
+dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
 AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
 [
   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
   AC_REQUIRE([AC_LIB_RPATH])
-  define([Name],[translit([$1],[./-], [___])])
-  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  pushdef([Name],[translit([$1],[./-], [___])])
+  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
 
   dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
   dnl accordingly.
@@ -67,12 +75,14 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
   AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
     ac_save_LIBS="$LIBS"
     LIBS="$LIBS $LIB[]NAME"
-    AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
+    AC_TRY_LINK([$3], [$4],
+      [ac_cv_lib[]Name=yes],
+      [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
     LIBS="$ac_save_LIBS"
   ])
   if test "$ac_cv_lib[]Name" = yes; then
     HAVE_LIB[]NAME=yes
-    AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
+    AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.])
     AC_MSG_CHECKING([how to link with lib[]$1])
     AC_MSG_RESULT([$LIB[]NAME])
   else
@@ -82,17 +92,23 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
     CPPFLAGS="$ac_save_CPPFLAGS"
     LIB[]NAME=
     LTLIB[]NAME=
+    LIB[]NAME[]_PREFIX=
   fi
   AC_SUBST([HAVE_LIB]NAME)
   AC_SUBST([LIB]NAME)
   AC_SUBST([LTLIB]NAME)
-  undefine([Name])
-  undefine([NAME])
+  AC_SUBST([LIB]NAME[_PREFIX])
+  popdef([NAME])
+  popdef([Name])
 ])
 
 dnl Determine the platform dependent parameters needed to use rpath:
-dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
-dnl hardcode_direct, hardcode_minus_L.
+dnl   acl_libext,
+dnl   acl_shlibext,
+dnl   acl_hardcode_libdir_flag_spec,
+dnl   acl_hardcode_libdir_separator,
+dnl   acl_hardcode_direct,
+dnl   acl_hardcode_minus_L.
 AC_DEFUN([AC_LIB_RPATH],
 [
   dnl Tell automake >= 1.10 to complain if config.rpath is missing.
@@ -101,7 +117,7 @@ AC_DEFUN([AC_LIB_RPATH],
   AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
   AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
   AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
-  AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
+  AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [
     CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
     ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
     . ./conftest.sh
@@ -109,34 +125,66 @@ AC_DEFUN([AC_LIB_RPATH],
     acl_cv_rpath=done
   ])
   wl="$acl_cv_wl"
-  libext="$acl_cv_libext"
-  shlibext="$acl_cv_shlibext"
-  hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
-  hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
-  hardcode_direct="$acl_cv_hardcode_direct"
-  hardcode_minus_L="$acl_cv_hardcode_minus_L"
+  acl_libext="$acl_cv_libext"
+  acl_shlibext="$acl_cv_shlibext"
+  acl_libname_spec="$acl_cv_libname_spec"
+  acl_library_names_spec="$acl_cv_library_names_spec"
+  acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+  acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+  acl_hardcode_direct="$acl_cv_hardcode_direct"
+  acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
   dnl Determine whether the user wants rpath handling at all.
-  AC_ARG_ENABLE(rpath,
+  AC_ARG_ENABLE([rpath],
     [  --disable-rpath         do not hardcode runtime library paths],
     :, enable_rpath=yes)
 ])
 
+dnl AC_LIB_FROMPACKAGE(name, package)
+dnl declares that libname comes from the given package. The configure file
+dnl will then not have a --with-libname-prefix option but a
+dnl --with-package-prefix option. Several libraries can come from the same
+dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar
+dnl macro call that searches for libname.
+AC_DEFUN([AC_LIB_FROMPACKAGE],
+[
+  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  define([acl_frompackage_]NAME, [$2])
+  popdef([NAME])
+  pushdef([PACK],[$2])
+  pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
+                                  [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  define([acl_libsinpackage_]PACKUP,
+    m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1])
+  popdef([PACKUP])
+  popdef([PACK])
+])
+
 dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
 dnl the libraries corresponding to explicit and implicit dependencies.
 dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
+dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found
+dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
 AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
 [
-  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])
+  pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
+                                  [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])])
+  dnl Autoconf >= 2.61 supports dots in --with options.
+  pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)])
   dnl By default, look in $includedir and $libdir.
   use_additional=yes
   AC_LIB_WITH_FINAL_PREFIX([
     eval additional_includedir=\"$includedir\"
     eval additional_libdir=\"$libdir\"
   ])
-  AC_LIB_ARG_WITH([lib$1-prefix],
-[  --with-lib$1-prefix[=DIR]  search for lib$1 in DIR/include and DIR/lib
-  --without-lib$1-prefix     don't search for lib$1 in includedir and libdir],
+  AC_ARG_WITH(P_A_C_K[-prefix],
+[[  --with-]]P_A_C_K[[-prefix[=DIR]  search for ]PACKLIBS[ in DIR/include and DIR/lib
+  --without-]]P_A_C_K[[-prefix     don't search for ]PACKLIBS[ in includedir and libdir]],
 [
     if test "X$withval" = "Xno"; then
       use_additional=no
@@ -148,7 +196,11 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
         ])
       else
         additional_includedir="$withval/include"
-        additional_libdir="$withval/lib"
+        additional_libdir="$withval/$acl_libdirstem"
+        if test "$acl_libdirstem2" != "$acl_libdirstem" \
+           && ! test -d "$withval/$acl_libdirstem"; then
+          additional_libdir="$withval/$acl_libdirstem2"
+        fi
       fi
     fi
 ])
@@ -157,6 +209,10 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
   LIB[]NAME=
   LTLIB[]NAME=
   INC[]NAME=
+  LIB[]NAME[]_PREFIX=
+  dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been
+  dnl computed. So it has to be reset here.
+  HAVE_LIB[]NAME=
   rpathdirs=
   ltrpathdirs=
   names_already_handled=
@@ -196,22 +252,55 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
           found_la=
           found_so=
           found_a=
+          eval libname=\"$acl_libname_spec\"    # typically: libname=lib$name
+          if test -n "$acl_shlibext"; then
+            shrext=".$acl_shlibext"             # typically: shrext=.so
+          else
+            shrext=
+          fi
           if test $use_additional = yes; then
-            if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
-              found_dir="$additional_libdir"
-              found_so="$additional_libdir/lib$name.$shlibext"
-              if test -f "$additional_libdir/lib$name.la"; then
-                found_la="$additional_libdir/lib$name.la"
-              fi
-            else
-              if test -f "$additional_libdir/lib$name.$libext"; then
-                found_dir="$additional_libdir"
-                found_a="$additional_libdir/lib$name.$libext"
-                if test -f "$additional_libdir/lib$name.la"; then
-                  found_la="$additional_libdir/lib$name.la"
+            dir="$additional_libdir"
+            dnl The same code as in the loop below:
+            dnl First look for a shared library.
+            if test -n "$acl_shlibext"; then
+              if test -f "$dir/$libname$shrext"; then
+                found_dir="$dir"
+                found_so="$dir/$libname$shrext"
+              else
+                if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+                  ver=`(cd "$dir" && \
+                        for f in "$libname$shrext".*; do echo "$f"; done \
+                        | sed -e "s,^$libname$shrext\\\\.,," \
+                        | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+                        | sed 1q ) 2>/dev/null`
+                  if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+                    found_dir="$dir"
+                    found_so="$dir/$libname$shrext.$ver"
+                  fi
+                else
+                  eval library_names=\"$acl_library_names_spec\"
+                  for f in $library_names; do
+                    if test -f "$dir/$f"; then
+                      found_dir="$dir"
+                      found_so="$dir/$f"
+                      break
+                    fi
+                  done
                 fi
               fi
             fi
+            dnl Then look for a static library.
+            if test "X$found_dir" = "X"; then
+              if test -f "$dir/$libname.$acl_libext"; then
+                found_dir="$dir"
+                found_a="$dir/$libname.$acl_libext"
+              fi
+            fi
+            if test "X$found_dir" != "X"; then
+              if test -f "$dir/$libname.la"; then
+                found_la="$dir/$libname.la"
+              fi
+            fi
           fi
           if test "X$found_dir" = "X"; then
             for x in $LDFLAGS $LTLIB[]NAME; do
@@ -219,21 +308,46 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
               case "$x" in
                 -L*)
                   dir=`echo "X$x" | sed -e 's/^X-L//'`
-                  if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
-                    found_dir="$dir"
-                    found_so="$dir/lib$name.$shlibext"
-                    if test -f "$dir/lib$name.la"; then
-                      found_la="$dir/lib$name.la"
-                    fi
-                  else
-                    if test -f "$dir/lib$name.$libext"; then
+                  dnl First look for a shared library.
+                  if test -n "$acl_shlibext"; then
+                    if test -f "$dir/$libname$shrext"; then
                       found_dir="$dir"
-                      found_a="$dir/lib$name.$libext"
-                      if test -f "$dir/lib$name.la"; then
-                        found_la="$dir/lib$name.la"
+                      found_so="$dir/$libname$shrext"
+                    else
+                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+                        ver=`(cd "$dir" && \
+                              for f in "$libname$shrext".*; do echo "$f"; done \
+                              | sed -e "s,^$libname$shrext\\\\.,," \
+                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+                              | sed 1q ) 2>/dev/null`
+                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+                          found_dir="$dir"
+                          found_so="$dir/$libname$shrext.$ver"
+                        fi
+                      else
+                        eval library_names=\"$acl_library_names_spec\"
+                        for f in $library_names; do
+                          if test -f "$dir/$f"; then
+                            found_dir="$dir"
+                            found_so="$dir/$f"
+                            break
+                          fi
+                        done
                       fi
                     fi
                   fi
+                  dnl Then look for a static library.
+                  if test "X$found_dir" = "X"; then
+                    if test -f "$dir/$libname.$acl_libext"; then
+                      found_dir="$dir"
+                      found_a="$dir/$libname.$acl_libext"
+                    fi
+                  fi
+                  if test "X$found_dir" != "X"; then
+                    if test -f "$dir/$libname.la"; then
+                      found_la="$dir/$libname.la"
+                    fi
+                  fi
                   ;;
               esac
               if test "X$found_dir" != "X"; then
@@ -248,7 +362,9 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
               dnl Linking with a shared library. We attempt to hardcode its
               dnl directory into the executable's runpath, unless it's the
               dnl standard /usr/lib.
-              if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
+              if test "$enable_rpath" = no \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
                 dnl No hardcoding is needed.
                 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
               else
@@ -267,12 +383,12 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
                   ltrpathdirs="$ltrpathdirs $found_dir"
                 fi
                 dnl The hardcoding into $LIBNAME is system dependent.
-                if test "$hardcode_direct" = yes; then
+                if test "$acl_hardcode_direct" = yes; then
                   dnl Using DIR/libNAME.so during linking hardcodes DIR into the
                   dnl resulting binary.
                   LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
                 else
-                  if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
+                  if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
                     dnl Use an explicit option to hardcode DIR into the resulting
                     dnl binary.
                     LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
@@ -303,13 +419,13 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
                     if test -z "$haveit"; then
                       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
                     fi
-                    if test "$hardcode_minus_L" != no; then
+                    if test "$acl_hardcode_minus_L" != no; then
                       dnl FIXME: Not sure whether we should use
                       dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
                       dnl here.
                       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
                     else
-                      dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
+                      dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH
                       dnl here, because this doesn't fit in flags passed to the
                       dnl compiler. So give up. No hardcoding. This affects only
                       dnl very old systems.
@@ -334,8 +450,18 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
             dnl Assume the include files are nearby.
             additional_includedir=
             case "$found_dir" in
-              */lib | */lib/)
-                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
+              */$acl_libdirstem | */$acl_libdirstem/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+                if test "$name" = '$1'; then
+                  LIB[]NAME[]_PREFIX="$basedir"
+                fi
+                additional_includedir="$basedir/include"
+                ;;
+              */$acl_libdirstem2 | */$acl_libdirstem2/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+                if test "$name" = '$1'; then
+                  LIB[]NAME[]_PREFIX="$basedir"
+                fi
                 additional_includedir="$basedir/include"
                 ;;
             esac
@@ -396,9 +522,11 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
                     dnl   3. if it's already present in $LDFLAGS or the already
                     dnl      constructed $LIBNAME,
                     dnl   4. if it doesn't exist as a directory.
-                    if test "X$additional_libdir" != "X/usr/lib"; then
+                    if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
                       haveit=
-                      if test "X$additional_libdir" = "X/usr/local/lib"; then
+                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
                         if test -n "$GCC"; then
                           case $host_os in
                             linux* | gnu* | k*bsd*-gnu) haveit=yes;;
@@ -497,18 +625,18 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
     done
   done
   if test "X$rpathdirs" != "X"; then
-    if test -n "$hardcode_libdir_separator"; then
+    if test -n "$acl_hardcode_libdir_separator"; then
       dnl Weird platform: only the last -rpath option counts, the user must
       dnl pass all path elements in one option. We can arrange that for a
       dnl single library, but not when more than one $LIBNAMEs are used.
       alldirs=
       for found_dir in $rpathdirs; do
-        alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
+        alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
       done
-      dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
+      dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl.
       acl_save_libdir="$libdir"
       libdir="$alldirs"
-      eval flag=\"$hardcode_libdir_flag_spec\"
+      eval flag=\"$acl_hardcode_libdir_flag_spec\"
       libdir="$acl_save_libdir"
       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
     else
@@ -516,7 +644,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
       for found_dir in $rpathdirs; do
         acl_save_libdir="$libdir"
         libdir="$found_dir"
-        eval flag=\"$hardcode_libdir_flag_spec\"
+        eval flag=\"$acl_hardcode_libdir_flag_spec\"
         libdir="$acl_save_libdir"
         LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
       done
@@ -529,6 +657,11 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
       LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
     done
   fi
+  popdef([P_A_C_K])
+  popdef([PACKLIBS])
+  popdef([PACKUP])
+  popdef([PACK])
+  popdef([NAME])
 ])
 
 dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
@@ -551,3 +684,81 @@ AC_DEFUN([AC_LIB_APPENDTOVAR],
     fi
   done
 ])
+
+dnl For those cases where a variable contains several -L and -l options
+dnl referring to unknown libraries and directories, this macro determines the
+dnl necessary additional linker options for the runtime path.
+dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
+dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
+dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
+dnl otherwise linking without libtool is assumed.
+AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
+[
+  AC_REQUIRE([AC_LIB_RPATH])
+  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+  $1=
+  if test "$enable_rpath" != no; then
+    if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+      dnl Use an explicit option to hardcode directories into the resulting
+      dnl binary.
+      rpathdirs=
+      next=
+      for opt in $2; do
+        if test -n "$next"; then
+          dir="$next"
+          dnl No need to hardcode the standard /usr/lib.
+          if test "X$dir" != "X/usr/$acl_libdirstem" \
+             && test "X$dir" != "X/usr/$acl_libdirstem2"; then
+            rpathdirs="$rpathdirs $dir"
+          fi
+          next=
+        else
+          case $opt in
+            -L) next=yes ;;
+            -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
+                 dnl No need to hardcode the standard /usr/lib.
+                 if test "X$dir" != "X/usr/$acl_libdirstem" \
+                    && test "X$dir" != "X/usr/$acl_libdirstem2"; then
+                   rpathdirs="$rpathdirs $dir"
+                 fi
+                 next= ;;
+            *) next= ;;
+          esac
+        fi
+      done
+      if test "X$rpathdirs" != "X"; then
+        if test -n ""$3""; then
+          dnl libtool is used for linking. Use -R options.
+          for dir in $rpathdirs; do
+            $1="${$1}${$1:+ }-R$dir"
+          done
+        else
+          dnl The linker is used for linking directly.
+          if test -n "$acl_hardcode_libdir_separator"; then
+            dnl Weird platform: only the last -rpath option counts, the user
+            dnl must pass all path elements in one option.
+            alldirs=
+            for dir in $rpathdirs; do
+              alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir"
+            done
+            acl_save_libdir="$libdir"
+            libdir="$alldirs"
+            eval flag=\"$acl_hardcode_libdir_flag_spec\"
+            libdir="$acl_save_libdir"
+            $1="$flag"
+          else
+            dnl The -rpath options are cumulative.
+            for dir in $rpathdirs; do
+              acl_save_libdir="$libdir"
+              libdir="$dir"
+              eval flag=\"$acl_hardcode_libdir_flag_spec\"
+              libdir="$acl_save_libdir"
+              $1="${$1}${$1:+ }$flag"
+            done
+          fi
+        fi
+      fi
+    fi
+  fi
+  AC_SUBST([$1])
+])
diff --git a/m4/lib-prefix.m4 b/m4/lib-prefix.m4
index 0d895ca..4b7ee33 100644
--- a/m4/lib-prefix.m4
+++ b/m4/lib-prefix.m4
@@ -1,5 +1,5 @@
-# lib-prefix.m4 serial 4 (gettext-0.14.2)
-dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
+# lib-prefix.m4 serial 7 (gettext-0.18)
+dnl Copyright (C) 2001-2005, 2008-2009 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -24,6 +24,7 @@ AC_DEFUN([AC_LIB_PREFIX],
   AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
   AC_REQUIRE([AC_PROG_CC])
   AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
   dnl By default, look in $includedir and $libdir.
   use_additional=yes
@@ -45,7 +46,7 @@ AC_DEFUN([AC_LIB_PREFIX],
         ])
       else
         additional_includedir="$withval/include"
-        additional_libdir="$withval/lib"
+        additional_libdir="$withval/$acl_libdirstem"
       fi
     fi
 ])
@@ -87,7 +88,7 @@ AC_DEFUN([AC_LIB_PREFIX],
     dnl   2. if it's already present in $LDFLAGS,
     dnl   3. if it's /usr/local/lib and we are using GCC on Linux,
     dnl   4. if it doesn't exist as a directory.
-    if test "X$additional_libdir" != "X/usr/lib"; then
+    if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
       haveit=
       for x in $LDFLAGS; do
         AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
@@ -97,7 +98,7 @@ AC_DEFUN([AC_LIB_PREFIX],
         fi
       done
       if test -z "$haveit"; then
-        if test "X$additional_libdir" = "X/usr/local/lib"; then
+        if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
           if test -n "$GCC"; then
             case $host_os in
               linux*) haveit=yes;;
@@ -151,3 +152,73 @@ AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
   exec_prefix="$acl_save_exec_prefix"
   prefix="$acl_save_prefix"
 ])
+
+dnl AC_LIB_PREPARE_MULTILIB creates
+dnl - a variable acl_libdirstem, containing the basename of the libdir, either
+dnl   "lib" or "lib64" or "lib/64",
+dnl - a variable acl_libdirstem2, as a secondary possible value for
+dnl   acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or
+dnl   "lib/amd64".
+AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
+[
+  dnl There is no formal standard regarding lib and lib64.
+  dnl On glibc systems, the current practice is that on a system supporting
+  dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
+  dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine
+  dnl the compiler's default mode by looking at the compiler's library search
+  dnl path. If at least one of its elements ends in /lib64 or points to a
+  dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI.
+  dnl Otherwise we use the default, namely "lib".
+  dnl On Solaris systems, the current practice is that on a system supporting
+  dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
+  dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or
+  dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib.
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  acl_libdirstem=lib
+  acl_libdirstem2=
+  case "$host_os" in
+    solaris*)
+      dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment
+      dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>.
+      dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
+      dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
+      dnl symlink is missing, so we set acl_libdirstem2 too.
+      AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],
+        [AC_EGREP_CPP([sixtyfour bits], [
+#ifdef _LP64
+sixtyfour bits
+#endif
+           ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no])
+        ])
+      if test $gl_cv_solaris_64bit = yes; then
+        acl_libdirstem=lib/64
+        case "$host_cpu" in
+          sparc*)        acl_libdirstem2=lib/sparcv9 ;;
+          i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
+        esac
+      fi
+      ;;
+    *)
+      searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+      if test -n "$searchpath"; then
+        acl_save_IFS="${IFS= 	}"; IFS=":"
+        for searchdir in $searchpath; do
+          if test -d "$searchdir"; then
+            case "$searchdir" in
+              */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+              */../ | */.. )
+                # Better ignore directories of this form. They are misleading.
+                ;;
+              *) searchdir=`cd "$searchdir" && pwd`
+                 case "$searchdir" in
+                   */lib64 ) acl_libdirstem=lib64 ;;
+                 esac ;;
+            esac
+          fi
+        done
+        IFS="$acl_save_IFS"
+      fi
+      ;;
+  esac
+  test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
+])
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index 39ba996..22924a8 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -1,7 +1,8 @@
 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
 #
 #   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008 Free Software Foundation, Inc.
+#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
+#                 Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 # This file is free software; the Free Software Foundation gives
@@ -10,7 +11,8 @@
 
 m4_define([_LT_COPYING], [dnl
 #   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008 Free Software Foundation, Inc.
+#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
+#                 Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 #   This file is part of GNU Libtool.
@@ -37,7 +39,7 @@ m4_define([_LT_COPYING], [dnl
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 ])
 
-# serial 56 LT_INIT
+# serial 57 LT_INIT
 
 
 # LT_PREREQ(VERSION)
@@ -66,6 +68,7 @@ esac
 # ------------------
 AC_DEFUN([LT_INIT],
 [AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
+AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
 AC_BEFORE([$0], [LT_LANG])dnl
 AC_BEFORE([$0], [LT_OUTPUT])dnl
 AC_BEFORE([$0], [LTDL_INIT])dnl
@@ -82,6 +85,8 @@ AC_REQUIRE([LTVERSION_VERSION])dnl
 AC_REQUIRE([LTOBSOLETE_VERSION])dnl
 m4_require([_LT_PROG_LTMAIN])dnl
 
+_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
+
 dnl Parse OPTIONS
 _LT_SET_OPTIONS([$0], [$1])
 
@@ -118,7 +123,7 @@ m4_defun([_LT_CC_BASENAME],
     *) break;;
   esac
 done
-cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
 ])
 
 
@@ -138,6 +143,9 @@ m4_defun([_LT_FILEUTILS_DEFAULTS],
 m4_defun([_LT_SETUP],
 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+
 _LT_DECL([], [host_alias], [0], [The host system])dnl
 _LT_DECL([], [host], [0])dnl
 _LT_DECL([], [host_os], [0])dnl
@@ -179,7 +187,6 @@ fi
 _LT_CHECK_OBJDIR
 
 m4_require([_LT_TAG_COMPILER])dnl
-_LT_PROG_ECHO_BACKSLASH
 
 case $host_os in
 aix3*)
@@ -193,23 +200,6 @@ aix3*)
   ;;
 esac
 
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\([["`\\]]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
 # Global variables:
 ofile=libtool
 can_build_shared=yes
@@ -250,6 +240,28 @@ _LT_CONFIG_COMMANDS
 ])# _LT_SETUP
 
 
+# _LT_PREPARE_SED_QUOTE_VARS
+# --------------------------
+# Define a few sed substitution that help us do robust quoting.
+m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
+[# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([["`\\]]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+])
+
 # _LT_PROG_LTMAIN
 # ---------------
 # Note that this code is called both from `configure', and `config.status'
@@ -408,7 +420,7 @@ m4_define([_lt_decl_all_varnames],
 # declaration there will have the same value as in `configure'.  VARNAME
 # must have a single quote delimited value for this to work.
 m4_define([_LT_CONFIG_STATUS_DECLARE],
-[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
+[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
 
 
 # _LT_CONFIG_STATUS_DECLARATIONS
@@ -418,7 +430,7 @@ m4_define([_LT_CONFIG_STATUS_DECLARE],
 # embedded single quotes properly.  In configure, this macro expands
 # each variable declared with _LT_DECL (and _LT_TAGDECL) into:
 #
-#    <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
+#    <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
 m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
 [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
     [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
@@ -517,12 +529,20 @@ LTCC='$LTCC'
 LTCFLAGS='$LTCFLAGS'
 compiler='$compiler_DEFAULT'
 
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+  eval 'cat <<_LTECHO_EOF
+\$[]1
+_LTECHO_EOF'
+}
+
 # Quote evaled strings.
 for var in lt_decl_all_varnames([[ \
 ]], lt_decl_quote_varnames); do
-    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     *[[\\\\\\\`\\"\\\$]]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
       ;;
     *)
       eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -533,9 +553,9 @@ done
 # Double-quote double-evaled strings.
 for var in lt_decl_all_varnames([[ \
 ]], lt_decl_dquote_varnames); do
-    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     *[[\\\\\\\`\\"\\\$]]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
       ;;
     *)
       eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -543,16 +563,38 @@ for var in lt_decl_all_varnames([[ \
     esac
 done
 
-# Fix-up fallback echo if it was mangled by the above quoting rules.
-case \$lt_ECHO in
-*'\\\[$]0 --fallback-echo"')dnl "
-  lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
-  ;;
-esac
-
 _LT_OUTPUT_LIBTOOL_INIT
 ])
 
+# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
+# ------------------------------------
+# Generate a child script FILE with all initialization necessary to
+# reuse the environment learned by the parent script, and make the
+# file executable.  If COMMENT is supplied, it is inserted after the
+# `#!' sequence but before initialization text begins.  After this
+# macro, additional text can be appended to FILE to form the body of
+# the child script.  The macro ends with non-zero status if the
+# file could not be fully written (such as if the disk is full).
+m4_ifdef([AS_INIT_GENERATED],
+[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
+[m4_defun([_LT_GENERATED_FILE_INIT],
+[m4_require([AS_PREPARE])]dnl
+[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
+[lt_write_fail=0
+cat >$1 <<_ASEOF || lt_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+$2
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$1 <<\_ASEOF || lt_write_fail=1
+AS_SHELL_SANITIZE
+_AS_PREPARE
+exec AS_MESSAGE_FD>&1
+_ASEOF
+test $lt_write_fail = 0 && chmod +x $1[]dnl
+m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
 
 # LT_OUTPUT
 # ---------
@@ -562,20 +604,11 @@ _LT_OUTPUT_LIBTOOL_INIT
 AC_DEFUN([LT_OUTPUT],
 [: ${CONFIG_LT=./config.lt}
 AC_MSG_NOTICE([creating $CONFIG_LT])
-cat >"$CONFIG_LT" <<_LTEOF
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate a libtool stub with the current configuration.
-
-lt_cl_silent=false
-SHELL=\${CONFIG_SHELL-$SHELL}
-_LTEOF
+_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
+[# Run this file to recreate a libtool stub with the current configuration.])
 
 cat >>"$CONFIG_LT" <<\_LTEOF
-AS_SHELL_SANITIZE
-_AS_PREPARE
-
-exec AS_MESSAGE_FD>&1
+lt_cl_silent=false
 exec AS_MESSAGE_LOG_FD>>config.log
 {
   echo
@@ -601,7 +634,7 @@ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
 m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
 configured by $[0], generated by m4_PACKAGE_STRING.
 
-Copyright (C) 2008 Free Software Foundation, Inc.
+Copyright (C) 2010 Free Software Foundation, Inc.
 This config.lt script is free software; the Free Software Foundation
 gives unlimited permision to copy, distribute and modify it."
 
@@ -646,15 +679,13 @@ chmod +x "$CONFIG_LT"
 # appending to config.log, which fails on DOS, as config.log is still kept
 # open by configure.  Here we exec the FD to /dev/null, effectively closing
 # config.log, so it can be properly (re)opened and appended to by config.lt.
-if test "$no_create" != yes; then
-  lt_cl_success=:
-  test "$silent" = yes &&
-    lt_config_lt_args="$lt_config_lt_args --quiet"
-  exec AS_MESSAGE_LOG_FD>/dev/null
-  $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
-  exec AS_MESSAGE_LOG_FD>>config.log
-  $lt_cl_success || AS_EXIT(1)
-fi
+lt_cl_success=:
+test "$silent" = yes &&
+  lt_config_lt_args="$lt_config_lt_args --quiet"
+exec AS_MESSAGE_LOG_FD>/dev/null
+$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
+exec AS_MESSAGE_LOG_FD>>config.log
+$lt_cl_success || AS_EXIT(1)
 ])# LT_OUTPUT
 
 
@@ -831,11 +862,13 @@ AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
 AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
 AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
 AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
+AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
 dnl aclocal-1.4 backwards compatibility:
 dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
 dnl AC_DEFUN([AC_LIBTOOL_F77], [])
 dnl AC_DEFUN([AC_LIBTOOL_FC], [])
 dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
+dnl AC_DEFUN([AC_LIBTOOL_RC], [])
 
 
 # _LT_TAG_COMPILER
@@ -940,6 +973,31 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
 	[lt_cv_ld_exported_symbols_list=no])
 	LDFLAGS="$save_LDFLAGS"
     ])
+    AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
+      [lt_cv_ld_force_load=no
+      cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
+      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
+      echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
+      $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
+      echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
+      $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
+      cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
+      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+      _lt_result=$?
+      if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
+	lt_cv_ld_force_load=yes
+      else
+	cat conftest.err >&AS_MESSAGE_LOG_FD
+      fi
+        rm -f conftest.err libconftest.a conftest conftest.c
+        rm -rf conftest.dSYM
+    ])
     case $host_os in
     rhapsody* | darwin1.[[012]])
       _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
@@ -967,7 +1025,7 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
     else
       _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
     fi
-    if test "$DSYMUTIL" != ":"; then
+    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
       _lt_dsymutil='~$DSYMUTIL $lib || :'
     else
       _lt_dsymutil=
@@ -987,7 +1045,11 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
   _LT_TAGVAR(hardcode_direct, $1)=no
   _LT_TAGVAR(hardcode_automatic, $1)=yes
   _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-  _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+  if test "$lt_cv_ld_force_load" = "yes"; then
+    _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+  else
+    _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+  fi
   _LT_TAGVAR(link_all_deplibs, $1)=yes
   _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
   case $cc_basename in
@@ -995,7 +1057,7 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
      *) _lt_dar_can_shared=$GCC ;;
   esac
   if test "$_lt_dar_can_shared" = "yes"; then
-    output_verbose_link_cmd=echo
+    output_verbose_link_cmd=func_echo_all
     _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
     _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
     _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
@@ -1041,170 +1103,65 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 # _LT_SHELL_INIT(ARG)
 # -------------------
 m4_define([_LT_SHELL_INIT],
-[ifdef([AC_DIVERSION_NOTICE],
-	     [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
-	 [AC_DIVERT_PUSH(NOTICE)])
-$1
-AC_DIVERT_POP
-])# _LT_SHELL_INIT
+[m4_divert_text([M4SH-INIT], [$1
+])])# _LT_SHELL_INIT
+
 
 
 # _LT_PROG_ECHO_BACKSLASH
 # -----------------------
-# Add some code to the start of the generated configure script which
-# will find an echo command which doesn't interpret backslashes.
+# Find how we can fake an echo command that does not interpret backslash.
+# In particular, with Autoconf 2.60 or later we add some code to the start
+# of the generated configure script which will find a shell with a builtin
+# printf (which we can use as an echo command).
 m4_defun([_LT_PROG_ECHO_BACKSLASH],
-[_LT_SHELL_INIT([
-# Check that we are running under the correct shell.
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-case X$lt_ECHO in
-X*--fallback-echo)
-  # Remove one level of quotation (which was required for Make).
-  ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
-  ;;
-esac
-
-ECHO=${lt_ECHO-echo}
-if test "X[$]1" = X--no-reexec; then
-  # Discard the --no-reexec flag, and continue.
-  shift
-elif test "X[$]1" = X--fallback-echo; then
-  # Avoid inline document here, it may be left over
-  :
-elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
-  # Yippee, $ECHO works!
-  :
+[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+AC_MSG_CHECKING([how to print strings])
+# Test print first, because it will be a builtin if present.
+if test "X`print -r -- -n 2>/dev/null`" = X-n && \
+   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='printf %s\n'
 else
-  # Restart under the correct shell.
-  exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
-fi
-
-if test "X[$]1" = X--fallback-echo; then
-  # used as fallback echo
-  shift
-  cat <<_LT_EOF
-[$]*
-_LT_EOF
-  exit 0
+  # Use this function as a fallback that always works.
+  func_fallback_echo ()
+  {
+    eval 'cat <<_LTECHO_EOF
+$[]1
+_LTECHO_EOF'
+  }
+  ECHO='func_fallback_echo'
 fi
 
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test -z "$lt_ECHO"; then
-  if test "X${echo_test_string+set}" != Xset; then
-    # find a string as large as possible, as long as the shell can cope with it
-    for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
-      # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
-      if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
-	 { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
-      then
-        break
-      fi
-    done
-  fi
-
-  if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
-     echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
-     test "X$echo_testing_string" = "X$echo_test_string"; then
-    :
-  else
-    # The Solaris, AIX, and Digital Unix default echo programs unquote
-    # backslashes.  This makes it impossible to quote backslashes using
-    #   echo "$something" | sed 's/\\/\\\\/g'
-    #
-    # So, first we look for a working echo in the user's PATH.
-
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for dir in $PATH /usr/ucb; do
-      IFS="$lt_save_ifs"
-      if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
-         test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
-         echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
-         test "X$echo_testing_string" = "X$echo_test_string"; then
-        ECHO="$dir/echo"
-        break
-      fi
-    done
-    IFS="$lt_save_ifs"
-
-    if test "X$ECHO" = Xecho; then
-      # We didn't find a better echo, so look for alternatives.
-      if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
-         echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
-         test "X$echo_testing_string" = "X$echo_test_string"; then
-        # This shell has a builtin print -r that does the trick.
-        ECHO='print -r'
-      elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
-	   test "X$CONFIG_SHELL" != X/bin/ksh; then
-        # If we have ksh, try running configure again with it.
-        ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-        export ORIGINAL_CONFIG_SHELL
-        CONFIG_SHELL=/bin/ksh
-        export CONFIG_SHELL
-        exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
-      else
-        # Try using printf.
-        ECHO='printf %s\n'
-        if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
-	   echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
-	   test "X$echo_testing_string" = "X$echo_test_string"; then
-	  # Cool, printf works
-	  :
-        elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
-	     test "X$echo_testing_string" = 'X\t' &&
-	     echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-	     test "X$echo_testing_string" = "X$echo_test_string"; then
-	  CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
-	  export CONFIG_SHELL
-	  SHELL="$CONFIG_SHELL"
-	  export SHELL
-	  ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
-        elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
-	     test "X$echo_testing_string" = 'X\t' &&
-	     echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-	     test "X$echo_testing_string" = "X$echo_test_string"; then
-	  ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
-        else
-	  # maybe with a smaller string...
-	  prev=:
-
-	  for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
-	    if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
-	    then
-	      break
-	    fi
-	    prev="$cmd"
-	  done
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+    $ECHO "$*" 
+}
 
-	  if test "$prev" != 'sed 50q "[$]0"'; then
-	    echo_test_string=`eval $prev`
-	    export echo_test_string
-	    exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
-	  else
-	    # Oops.  We lost completely, so just stick with echo.
-	    ECHO=echo
-	  fi
-        fi
-      fi
-    fi
-  fi
-fi
+case "$ECHO" in
+  printf*) AC_MSG_RESULT([printf]) ;;
+  print*) AC_MSG_RESULT([print -r]) ;;
+  *) AC_MSG_RESULT([cat]) ;;
+esac
 
-# Copy echo and quote the copy suitably for passing to libtool from
-# the Makefile, instead of quoting the original, which is used later.
-lt_ECHO=$ECHO
-if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
-   lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
-fi
+m4_ifdef([_AS_DETECT_SUGGESTED],
+[_AS_DETECT_SUGGESTED([
+  test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
+    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+    PATH=/empty FPATH=/empty; export PATH FPATH
+    test "X`printf %s $ECHO`" = "X$ECHO" \
+      || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
 
-AC_SUBST(lt_ECHO)
-])
 _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
-_LT_DECL([], [ECHO], [1],
-    [An echo program that does not interpret backslashes])
+_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
 ])# _LT_PROG_ECHO_BACKSLASH
 
 
@@ -1236,7 +1193,7 @@ ia64-*-hpux*)
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
   if AC_TRY_EVAL(ac_compile); then
     if test "$lt_cv_prog_gnu_ld" = yes; then
       case `/usr/bin/file conftest.$ac_objext` in
@@ -1388,10 +1345,19 @@ if test -n "$RANLIB"; then
   esac
   old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
 fi
+
+case $host_os in
+  darwin*)
+    lock_old_archive_extraction=yes ;;
+  *)
+    lock_old_archive_extraction=no ;;
+esac
 _LT_DECL([], [old_postinstall_cmds], [2])
 _LT_DECL([], [old_postuninstall_cmds], [2])
 _LT_TAGDECL([], [old_archive_cmds], [2],
     [Commands used to build an old-style archive])
+_LT_DECL([], [lock_old_archive_extraction], [0],
+    [Whether to use a lock for old archive extraction])
 ])# _LT_CMD_OLD_ARCHIVE
 
 
@@ -1416,15 +1382,15 @@ AC_CACHE_CHECK([$1], [$2],
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&AS_MESSAGE_LOG_FD
-   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
      $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
      if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
        $2=yes
@@ -1464,7 +1430,7 @@ AC_CACHE_CHECK([$1], [$2],
      if test -s conftest.err; then
        # Append any errors to the config.log.
        cat conftest.err 1>&AS_MESSAGE_LOG_FD
-       $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
        $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
        if diff conftest.exp conftest.er2 >/dev/null; then
          $2=yes
@@ -1527,6 +1493,11 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
     lt_cv_sys_max_cmd_len=8192;
     ;;
 
+  mint*)
+    # On MiNT this can take a long time and run out of memory.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
   amigaos*)
     # On AmigaOS with pdksh, this test takes hours, literally.
     # So we just punt and use a minimum line length of 8192.
@@ -1591,8 +1562,8 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
       # If test is not a shell built-in, we'll probably end up computing a
       # maximum length that is only half of the actual maximum length, but
       # we can't tell.
-      while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
-	         = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
+      while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
+	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
 	      test $i != 17 # 1/2 MB should be enough
       do
         i=`expr $i + 1`
@@ -1643,7 +1614,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-[#line __oline__ "configure"
+[#line $LINENO "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -1684,7 +1655,13 @@ else
 #  endif
 #endif
 
-void fnord() { int i=42;}
+/* When -fvisbility=hidden is used, assume the code has been annotated
+   correspondingly for the symbols needed.  */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+void fnord () __attribute__((visibility("default")));
+#endif
+
+void fnord () { int i=42; }
 int main ()
 {
   void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
@@ -1693,7 +1670,11 @@ int main ()
   if (self)
     {
       if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+      else
+        {
+	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
+          else puts (dlerror ());
+	}
       /* dlclose (self); */
     }
   else
@@ -1869,16 +1850,16 @@ AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&AS_MESSAGE_LOG_FD
-   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
      $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
      if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
        _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
@@ -2037,6 +2018,7 @@ m4_require([_LT_DECL_EGREP])dnl
 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
 m4_require([_LT_DECL_OBJDUMP])dnl
 m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
 AC_MSG_CHECKING([dynamic linker characteristics])
 m4_if([$1],
 	[], [
@@ -2045,16 +2027,23 @@ if test "$GCC" = yes; then
     darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
     *) lt_awk_arg="/^libraries:/" ;;
   esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-  if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
+  case $host_os in
+    mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
+    *) lt_sed_strip_eq="s,=/,/,g" ;;
+  esac
+  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+  case $lt_search_path_spec in
+  *\;*)
     # if the path contains ";" then we assume it to be the separator
     # otherwise default to the standard path separator (i.e. ":") - it is
     # assumed that no part of a normal pathname contains ";" but that should
     # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
-  else
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-  fi
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+    ;;
+  *)
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+    ;;
+  esac
   # Ok, now we have the path, separated by spaces, we can step through it
   # and add multilib dir if necessary.
   lt_tmp_lt_search_path_spec=
@@ -2067,7 +2056,7 @@ if test "$GCC" = yes; then
 	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
     fi
   done
-  lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
+  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
 BEGIN {RS=" "; FS="/|\n";} {
   lt_foo="";
   lt_count=0;
@@ -2087,7 +2076,13 @@ BEGIN {RS=" "; FS="/|\n";} {
   if (lt_foo != "") { lt_freq[[lt_foo]]++; }
   if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
 }'`
-  sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
+  # AWK program above erroneously prepends '/' to C:/dos/paths
+  # for these hosts.
+  case $host_os in
+    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+      $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
+  esac
+  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
 else
   sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
 fi])
@@ -2175,7 +2170,7 @@ amigaos*)
   m68k)
     library_names_spec='$libname.ixlibrary $libname.a'
     # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
     ;;
   esac
   ;;
@@ -2228,23 +2223,12 @@ cygwin* | mingw* | pw32* | cegcc*)
     cygwin*)
       # Cygwin DLLs use 'cyg' prefix rather than 'lib'
       soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+m4_if([$1], [],[
+      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
       ;;
     mingw* | cegcc*)
       # MinGW DLLs use traditional 'lib' prefix
       soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
-        # It is most probably a Windows format PATH printed by
-        # mingw gcc, but we are running on Cygwin. Gcc prints its search
-        # path with ; separators, and with drive letters. We can handle the
-        # drive letters (cygwin fileutils understands them), so leave them,
-        # especially as we might pass files found there to a mingw objdump,
-        # which wouldn't understand a cygwinified path. Ahh.
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-      fi
       ;;
     pw32*)
       # pw32 DLLs use 'pw' prefix rather than 'lib'
@@ -2344,6 +2328,19 @@ gnu*)
   hardcode_into_libs=yes
   ;;
 
+haiku*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  dynamic_linker="$host_os runtime_loader"
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+  hardcode_into_libs=yes
+  ;;
+
 hpux9* | hpux10* | hpux11*)
   # Give a soname corresponding to the major version so that dld.sl refuses to
   # link against other versions.
@@ -2386,8 +2383,10 @@ hpux9* | hpux10* | hpux11*)
     soname_spec='${libname}${release}${shared_ext}$major'
     ;;
   esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
   postinstall_cmds='chmod 555 $lib'
+  # or fails outright, so override atomically:
+  install_override_mode=555
   ;;
 
 interix[[3-9]]*)
@@ -2445,7 +2444,7 @@ linux*oldld* | linux*aout* | linux*coff*)
   ;;
 
 # This must be Linux ELF.
-linux* | k*bsd*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -2454,16 +2453,21 @@ linux* | k*bsd*-gnu)
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=no
+
   # Some binutils ld are patched to set DT_RUNPATH
-  save_LDFLAGS=$LDFLAGS
-  save_libdir=$libdir
-  eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
-       LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
-  AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
-    [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
-       [shlibpath_overrides_runpath=yes])])
-  LDFLAGS=$save_LDFLAGS
-  libdir=$save_libdir
+  AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
+    [lt_cv_shlibpath_overrides_runpath=no
+    save_LDFLAGS=$LDFLAGS
+    save_libdir=$libdir
+    eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
+	 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
+    AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+      [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
+	 [lt_cv_shlibpath_overrides_runpath=yes])])
+    LDFLAGS=$save_LDFLAGS
+    libdir=$save_libdir
+    ])
+  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
 
   # This implies no fast_install, which is unacceptable.
   # Some rework will be needed to allow for fast_install
@@ -2472,7 +2476,7 @@ linux* | k*bsd*-gnu)
 
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
 
@@ -2705,6 +2709,8 @@ _LT_DECL([], [library_names_spec], [1],
     The last name is the one that the linker finds with -lNAME]])
 _LT_DECL([], [soname_spec], [1],
     [[The coded name of the library, if different from the real name]])
+_LT_DECL([], [install_override_mode], [1],
+    [Permission mode override for installation of shared libraries])
 _LT_DECL([], [postinstall_cmds], [2],
     [Command to use after installation of a shared archive])
 _LT_DECL([], [postuninstall_cmds], [2],
@@ -2817,6 +2823,7 @@ AC_REQUIRE([AC_CANONICAL_HOST])dnl
 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
 m4_require([_LT_DECL_SED])dnl
 m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
 
 AC_ARG_WITH([gnu-ld],
     [AS_HELP_STRING([--with-gnu-ld],
@@ -2946,8 +2953,8 @@ case $host_os in
     fi
     ;;
 esac
-_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
-_LT_DECL([], [reload_cmds], [2])dnl
+_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
+_LT_TAGDECL([], [reload_cmds], [2])dnl
 ])# _LT_CMD_RELOAD
 
 
@@ -2999,16 +3006,18 @@ mingw* | pw32*)
   # Base MSYS/MinGW do not provide the 'file' command needed by
   # func_win32_libid shell function, so use a weaker test based on 'objdump',
   # unless we find 'file', for example because we are cross-compiling.
-  if ( file / ) >/dev/null 2>&1; then
+  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
+  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
     lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
     lt_cv_file_magic_cmd='func_win32_libid'
   else
-    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+    # Keep this pattern in sync with the one in func_win32_libid.
+    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
     lt_cv_file_magic_cmd='$OBJDUMP -f'
   fi
   ;;
 
-cegcc)
+cegcc*)
   # use the weaker test based on 'objdump'. See mingw*.
   lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
   lt_cv_file_magic_cmd='$OBJDUMP -f'
@@ -3038,6 +3047,10 @@ gnu*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
+haiku*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
 hpux10.20* | hpux11*)
   lt_cv_file_magic_cmd=/usr/bin/file
   case $host_cpu in
@@ -3046,11 +3059,11 @@ hpux10.20* | hpux11*)
     lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
     ;;
   hppa*64*)
-    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
+    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
     lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
     ;;
   *)
-    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
+    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
     lt_cv_file_magic_test_file=/usr/lib/libc.sl
     ;;
   esac
@@ -3072,7 +3085,7 @@ irix5* | irix6* | nonstopux*)
   ;;
 
 # This must be Linux ELF.
-linux* | k*bsd*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
@@ -3214,7 +3227,19 @@ if test "$lt_cv_path_NM" != "no"; then
   NM="$lt_cv_path_NM"
 else
   # Didn't find any BSD compatible name lister, look for dumpbin.
-  AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
+  if test -n "$DUMPBIN"; then :
+    # Let the user override the test.
+  else
+    AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
+    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+    *COFF*)
+      DUMPBIN="$DUMPBIN -symbols"
+      ;;
+    *)
+      DUMPBIN=:
+      ;;
+    esac
+  fi
   AC_SUBST([DUMPBIN])
   if test "$DUMPBIN" != ":"; then
     NM="$DUMPBIN"
@@ -3227,13 +3252,13 @@ _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
 AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
   [lt_cv_nm_interface="BSD nm"
   echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
+  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
   (eval "$ac_compile" 2>conftest.err)
   cat conftest.err >&AS_MESSAGE_LOG_FD
-  (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
+  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
   (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
   cat conftest.err >&AS_MESSAGE_LOG_FD
-  (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
+  (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
   cat conftest.out >&AS_MESSAGE_LOG_FD
   if $GREP 'External.*some_variable' conftest.out > /dev/null; then
     lt_cv_nm_interface="MS dumpbin"
@@ -3256,7 +3281,7 @@ AC_DEFUN([LT_LIB_M],
 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
 LIBM=
 case $host in
-*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
+*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
   # These system don't have libm, or don't need it
   ;;
 *-ncr-sysv4.3*)
@@ -3284,7 +3309,12 @@ m4_defun([_LT_COMPILER_NO_RTTI],
 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
 
 if test "$GCC" = yes; then
-  _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+  case $cc_basename in
+  nvcc*)
+    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
+  *)
+    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
+  esac
 
   _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
     lt_cv_prog_compiler_rtti_exceptions,
@@ -3301,6 +3331,7 @@ _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
 m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
 AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_AWK])dnl
 AC_REQUIRE([LT_PATH_NM])dnl
 AC_REQUIRE([LT_PATH_LD])dnl
 m4_require([_LT_DECL_SED])dnl
@@ -3426,7 +3457,7 @@ _LT_EOF
   if AC_TRY_EVAL(ac_compile); then
     # Now try to grab the symbols.
     nlist=conftest.nm
-    if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
+    if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
       # Try sorting and uniquifying the output.
       if sort "$nlist" | uniq > "$nlist"T; then
 	mv -f "$nlist"T "$nlist"
@@ -3588,6 +3619,11 @@ m4_if([$1], [CXX], [
       # DJGPP does not support shared libraries at all
       _LT_TAGVAR(lt_prog_compiler_pic, $1)=
       ;;
+    haiku*)
+      # PIC is the default for Haiku.
+      # The "-static" flag exists, but is broken.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)=
+      ;;
     interix[[3-9]]*)
       # Interix 3.x gcc -fpic/-fPIC options generate broken code.
       # Instead, we relocate shared libraries at runtime.
@@ -3693,7 +3729,7 @@ m4_if([$1], [CXX], [
 	    ;;
 	esac
 	;;
-      linux* | k*bsd*-gnu)
+      linux* | k*bsd*-gnu | kopensolaris*-gnu)
 	case $cc_basename in
 	  KCC*)
 	    # KAI C++ Compiler
@@ -3726,8 +3762,8 @@ m4_if([$1], [CXX], [
 	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
 	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
 	    ;;
-	  xlc* | xlC*)
-	    # IBM XL 8.0 on PPC
+	  xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
+	    # IBM XL 8.0, 9.0 on PPC and BlueGene
 	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
 	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
 	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
@@ -3789,7 +3825,7 @@ m4_if([$1], [CXX], [
 	;;
       solaris*)
 	case $cc_basename in
-	  CC*)
+	  CC* | sunCC*)
 	    # Sun C++ 4.2, 5.x and Centerline C++
 	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
 	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
@@ -3893,6 +3929,12 @@ m4_if([$1], [CXX], [
       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
       ;;
 
+    haiku*)
+      # PIC is the default for Haiku.
+      # The "-static" flag exists, but is broken.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)=
+      ;;
+
     hpux*)
       # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
       # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
@@ -3935,6 +3977,13 @@ m4_if([$1], [CXX], [
       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
       ;;
     esac
+
+    case $cc_basename in
+    nvcc*) # Cuda Compiler Driver 2.2
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Xcompiler -fPIC'
+      ;;
+    esac
   else
     # PORTME Check for flag to pass linker flags through the system compiler.
     case $host_os in
@@ -3977,7 +4026,7 @@ m4_if([$1], [CXX], [
       _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
       ;;
 
-    linux* | k*bsd*-gnu)
+    linux* | k*bsd*-gnu | kopensolaris*-gnu)
       case $cc_basename in
       # old Intel for x86_64 which still supported -KPIC.
       ecc*)
@@ -3998,7 +4047,7 @@ m4_if([$1], [CXX], [
 	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
 	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
 	;;
-      pgcc* | pgf77* | pgf90* | pgf95*)
+      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
         # Portland Group compilers (*not* the Pentium gcc compiler,
 	# which looks to be a dead project)
 	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
@@ -4010,25 +4059,25 @@ m4_if([$1], [CXX], [
         # All Alpha code is PIC.
         _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
         ;;
-      xl*)
-	# IBM XL C 8.0/Fortran 10.1 on PPC
+      xl* | bgxl* | bgf* | mpixl*)
+	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
 	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
 	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
 	_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
 	;;
       *)
 	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ C*)
-	  # Sun C 5.9
+	*Sun\ F* | *Sun*Fortran*)
+	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
 	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
 	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
 	  ;;
-	*Sun\ F*)
-	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
+	*Sun\ C*)
+	  # Sun C 5.9
 	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
 	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
 	  ;;
 	esac
 	;;
@@ -4060,7 +4109,7 @@ m4_if([$1], [CXX], [
       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
       _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
       case $cc_basename in
-      f77* | f90* | f95*)
+      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
 	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
       *)
 	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
@@ -4170,8 +4219,10 @@ m4_if([$1], [CXX], [
   aix[[4-9]]*)
     # If we're using GNU nm, then we don't want the "-C" option.
     # -C means demangle to AIX nm, but means don't demangle with GNU nm
+    # Also, AIX nm treats weak defined symbols like other global defined
+    # symbols, whereas GNU nm marks them as "W".
     if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
     else
       _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
     fi
@@ -4249,7 +4300,33 @@ dnl Note also adjust exclude_expsyms for C++ above.
   esac
 
   _LT_TAGVAR(ld_shlibs, $1)=yes
+
+  # On some targets, GNU ld is compatible enough with the native linker
+  # that we're better off using the native interface for both.
+  lt_use_gnu_ld_interface=no
   if test "$with_gnu_ld" = yes; then
+    case $host_os in
+      aix*)
+	# The AIX port of GNU ld has always aspired to compatibility
+	# with the native linker.  However, as the warning in the GNU ld
+	# block says, versions before 2.19.5* couldn't really create working
+	# shared libraries, regardless of the interface used.
+	case `$LD -v 2>&1` in
+	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+	  *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
+	  *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
+	  *)
+	    lt_use_gnu_ld_interface=yes
+	    ;;
+	esac
+	;;
+      *)
+	lt_use_gnu_ld_interface=yes
+	;;
+    esac
+  fi
+
+  if test "$lt_use_gnu_ld_interface" = yes; then
     # If archive_cmds runs LD, not CC, wlarc should be empty
     wlarc='${wl}'
 
@@ -4267,6 +4344,7 @@ dnl Note also adjust exclude_expsyms for C++ above.
     fi
     supports_anon_versioning=no
     case `$LD -v 2>&1` in
+      *GNU\ gold*) supports_anon_versioning=yes ;;
       *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
       *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
       *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
@@ -4282,11 +4360,12 @@ dnl Note also adjust exclude_expsyms for C++ above.
 	_LT_TAGVAR(ld_shlibs, $1)=no
 	cat <<_LT_EOF 1>&2
 
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** Warning: the GNU linker, at least up to release 2.19, is reported
 *** to be unable to reliably create shared libraries on AIX.
 *** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
 
 _LT_EOF
       fi
@@ -4322,6 +4401,7 @@ _LT_EOF
       # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
       # as there is no search path for DLLs.
       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
       _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
       _LT_TAGVAR(always_export_symbols, $1)=no
       _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
@@ -4343,6 +4423,11 @@ _LT_EOF
       fi
       ;;
 
+    haiku*)
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
     interix[[3-9]]*)
       _LT_TAGVAR(hardcode_direct, $1)=no
       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -4358,7 +4443,7 @@ _LT_EOF
       _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
       ;;
 
-    gnu* | linux* | tpf* | k*bsd*-gnu)
+    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
       tmp_diet=no
       if test "$host_os" = linux-dietlibc; then
 	case $cc_basename in
@@ -4372,11 +4457,12 @@ _LT_EOF
 	tmp_sharedflag='-shared'
 	case $cc_basename,$host_cpu in
         pgcc*)				# Portland Group C compiler
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
 	  tmp_addflag=' $pic_flag'
 	  ;;
-	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	pgf77* | pgf90* | pgf95* | pgfortran*)
+					# Portland Group f77 and f90 compilers
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
 	  tmp_addflag=' $pic_flag -Mnomain' ;;
 	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
 	  tmp_addflag=' -i_dynamic' ;;
@@ -4387,13 +4473,17 @@ _LT_EOF
 	lf95*)				# Lahey Fortran 8.1
 	  _LT_TAGVAR(whole_archive_flag_spec, $1)=
 	  tmp_sharedflag='--shared' ;;
-	xl[[cC]]*)			# IBM XL C 8.0 on PPC (deal with xlf below)
+	xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
 	  tmp_sharedflag='-qmkshrobj'
 	  tmp_addflag= ;;
+	nvcc*)	# Cuda Compiler Driver 2.2
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+	  _LT_TAGVAR(compiler_needs_object, $1)=yes
+	  ;;
 	esac
 	case `$CC -V 2>&1 | sed 5q` in
 	*Sun\ C*)			# Sun C 5.9
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
 	  _LT_TAGVAR(compiler_needs_object, $1)=yes
 	  tmp_sharedflag='-G' ;;
 	*Sun\ F*)			# Sun Fortran 8.3
@@ -4409,17 +4499,17 @@ _LT_EOF
         fi
 
 	case $cc_basename in
-	xlf*)
+	xlf* | bgf* | bgxlf* | mpixlf*)
 	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
 	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
 	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
 	  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
-	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
 	  if test "x$supports_anon_versioning" = xyes; then
 	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
 	      cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
 	      echo "local: *; };" >> $output_objdir/$libname.ver~
-	      $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+	      $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
 	  fi
 	  ;;
 	esac
@@ -4540,8 +4630,10 @@ _LT_EOF
       else
 	# If we're using GNU nm, then we don't want the "-C" option.
 	# -C means demangle to AIX nm, but means don't demangle with GNU nm
+	# Also, AIX nm treats weak defined symbols like other global
+	# defined symbols, whereas GNU nm marks them as "W".
 	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
 	else
 	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
 	fi
@@ -4630,7 +4722,7 @@ _LT_EOF
         # empty executable.
         _LT_SYS_MODULE_PATH_AIX
         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
       else
 	if test "$host_cpu" = ia64; then
 	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
@@ -4645,8 +4737,13 @@ _LT_EOF
 	  # -berok will link without error, but may produce a broken library.
 	  _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
 	  _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-	  # Exported symbols can be pulled into shared objects from archives
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	  if test "$with_gnu_ld" = yes; then
+	    # We only use this code for GNU lds that support --whole-archive.
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	  else
+	    # Exported symbols can be pulled into shared objects from archives
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	  fi
 	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
 	  # This is similar to how AIX traditionally builds its shared libraries.
 	  _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
@@ -4685,7 +4782,7 @@ _LT_EOF
       # Tell ltmain to make .dll files, not .so files.
       shrext_cmds=".dll"
       # FIXME: Setting linknames here is a bad hack.
-      _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
+      _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
       # The linker will automatically build a .lib file if we build a DLL.
       _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
       # FIXME: Should let the user specify the lib program.
@@ -4752,7 +4849,7 @@ _LT_EOF
       ;;
 
     hpux10*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
 	_LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
       else
 	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
@@ -4771,7 +4868,7 @@ _LT_EOF
       ;;
 
     hpux11*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
 	case $host_cpu in
 	hppa*64*)
 	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
@@ -4792,7 +4889,14 @@ _LT_EOF
 	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
 	  ;;
 	*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	m4_if($1, [], [
+	  # Older versions of the 11.00 compiler do not understand -b yet
+	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+	  _LT_LINKER_OPTION([if $CC understands -b],
+	    _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
+	    [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
+	    [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
+	  [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
 	  ;;
 	esac
       fi
@@ -4820,19 +4924,19 @@ _LT_EOF
 
     irix5* | irix6* | nonstopux*)
       if test "$GCC" = yes; then
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 	# Try to use the -exported_symbol ld option, if it does not
 	# work, assume that -exports_file does not work either and
 	# implicitly export all symbols.
         save_LDFLAGS="$LDFLAGS"
         LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
         AC_LINK_IFELSE(int foo(void) {},
-          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
         )
         LDFLAGS="$save_LDFLAGS"
       else
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
       fi
       _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
@@ -4894,17 +4998,17 @@ _LT_EOF
       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
       _LT_TAGVAR(hardcode_minus_L, $1)=yes
       _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
       _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
       ;;
 
     osf3*)
       if test "$GCC" = yes; then
 	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
       else
 	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
       fi
       _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
@@ -4914,13 +5018,13 @@ _LT_EOF
     osf4* | osf5*)	# as osf3* with the addition of -msym flag
       if test "$GCC" = yes; then
 	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
       else
 	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
 	_LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-	$CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+	$CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
 
 	# Both c and cxx compiler support -rpath directly
 	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
@@ -5111,36 +5215,38 @@ x|xyes)
       # Test whether the compiler implicitly links with -lc since on some
       # systems, -lgcc has to come before -lc. If gcc already passes -lc
       # to ld, don't add -lc before -lgcc.
-      AC_MSG_CHECKING([whether -lc should be explicitly linked in])
-      $RM conftest*
-      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-      if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
-        soname=conftest
-        lib=conftest
-        libobjs=conftest.$ac_objext
-        deplibs=
-        wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
-	pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
-        compiler_flags=-v
-        linker_flags=-v
-        verstring=
-        output_objdir=.
-        libname=conftest
-        lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
-        _LT_TAGVAR(allow_undefined_flag, $1)=
-        if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
-        then
-	  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-        else
-	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-        fi
-        _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
-      else
-        cat conftest.err 1>&5
-      fi
-      $RM conftest*
-      AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
+      AC_CACHE_CHECK([whether -lc should be explicitly linked in],
+	[lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
+	[$RM conftest*
+	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+	if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+	  soname=conftest
+	  lib=conftest
+	  libobjs=conftest.$ac_objext
+	  deplibs=
+	  wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
+	  pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
+	  compiler_flags=-v
+	  linker_flags=-v
+	  verstring=
+	  output_objdir=.
+	  libname=conftest
+	  lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
+	  _LT_TAGVAR(allow_undefined_flag, $1)=
+	  if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
+	  then
+	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+	  else
+	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+	  fi
+	  _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+	else
+	  cat conftest.err 1>&5
+	fi
+	$RM conftest*
+	])
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
       ;;
     esac
   fi
@@ -5310,37 +5416,21 @@ CC="$lt_save_CC"
 ])# _LT_LANG_C_CONFIG
 
 
-# _LT_PROG_CXX
-# ------------
-# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
-# compiler, we have our own version here.
-m4_defun([_LT_PROG_CXX],
-[
-pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
-AC_PROG_CXX
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-    (test "X$CXX" != "Xg++"))) ; then
-  AC_PROG_CXXCPP
-else
-  _lt_caught_CXX_error=yes
-fi
-popdef([AC_MSG_ERROR])
-])# _LT_PROG_CXX
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([_LT_PROG_CXX], [])
-
-
 # _LT_LANG_CXX_CONFIG([TAG])
 # --------------------------
 # Ensure that the configuration variables for a C++ compiler are suitably
 # defined.  These variables are subsequently used by _LT_CONFIG to write
 # the compiler configuration to `libtool'.
 m4_defun([_LT_LANG_CXX_CONFIG],
-[AC_REQUIRE([_LT_PROG_CXX])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
 m4_require([_LT_DECL_EGREP])dnl
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+    (test "X$CXX" != "Xg++"))) ; then
+  AC_PROG_CXXCPP
+else
+  _lt_caught_CXX_error=yes
+fi
 
 AC_LANG_PUSH(C++)
 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
@@ -5362,6 +5452,8 @@ _LT_TAGVAR(module_cmds, $1)=
 _LT_TAGVAR(module_expsym_cmds, $1)=
 _LT_TAGVAR(link_all_deplibs, $1)=unknown
 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
 _LT_TAGVAR(no_undefined_flag, $1)=
 _LT_TAGVAR(whole_archive_flag_spec, $1)=
 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
@@ -5464,7 +5556,7 @@ if test "$_lt_caught_CXX_error" != yes; then
       # Commands to make compiler produce verbose output that lists
       # what "hidden" libraries, object files and flags are used when
       # linking a shared library.
-      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
 
     else
       GXX=no
@@ -5576,7 +5668,7 @@ if test "$_lt_caught_CXX_error" != yes; then
           _LT_SYS_MODULE_PATH_AIX
           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
 
-          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
         else
           if test "$host_cpu" = ia64; then
 	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
@@ -5591,8 +5683,13 @@ if test "$_lt_caught_CXX_error" != yes; then
 	    # -berok will link without error, but may produce a broken library.
 	    _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
 	    _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-	    # Exported symbols can be pulled into shared objects from archives
-	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	    if test "$with_gnu_ld" = yes; then
+	      # We only use this code for GNU lds that support --whole-archive.
+	      _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	    else
+	      # Exported symbols can be pulled into shared objects from archives
+	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	    fi
 	    _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
 	    # This is similar to how AIX traditionally builds its shared
 	    # libraries.
@@ -5625,6 +5722,7 @@ if test "$_lt_caught_CXX_error" != yes; then
         # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
         # as there is no search path for DLLs.
         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
         _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
         _LT_TAGVAR(always_export_symbols, $1)=no
         _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
@@ -5685,6 +5783,11 @@ if test "$_lt_caught_CXX_error" != yes; then
       gnu*)
         ;;
 
+      haiku*)
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+        _LT_TAGVAR(link_all_deplibs, $1)=yes
+        ;;
+
       hpux9*)
         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
         _LT_TAGVAR(hardcode_libdir_separator, $1)=:
@@ -5709,7 +5812,7 @@ if test "$_lt_caught_CXX_error" != yes; then
             # explicitly linking system object files so we need to strip them
             # from the output so that they don't get included in the library
             # dependencies.
-            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
             ;;
           *)
             if test "$GXX" = yes; then
@@ -5774,7 +5877,7 @@ if test "$_lt_caught_CXX_error" != yes; then
 	    # explicitly linking system object files so we need to strip them
 	    # from the output so that they don't get included in the library
 	    # dependencies.
-	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
 	    ;;
           *)
 	    if test "$GXX" = yes; then
@@ -5817,7 +5920,7 @@ if test "$_lt_caught_CXX_error" != yes; then
         case $cc_basename in
           CC*)
 	    # SGI C++
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
 
 	    # Archives containing C++ object files must be created using
 	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
@@ -5828,9 +5931,9 @@ if test "$_lt_caught_CXX_error" != yes; then
           *)
 	    if test "$GXX" = yes; then
 	      if test "$with_gnu_ld" = no; then
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 	      else
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
 	      fi
 	    fi
 	    _LT_TAGVAR(link_all_deplibs, $1)=yes
@@ -5841,7 +5944,7 @@ if test "$_lt_caught_CXX_error" != yes; then
         _LT_TAGVAR(inherit_rpath, $1)=yes
         ;;
 
-      linux* | k*bsd*-gnu)
+      linux* | k*bsd*-gnu | kopensolaris*-gnu)
         case $cc_basename in
           KCC*)
 	    # Kuck and Associates, Inc. (KAI) C++ Compiler
@@ -5859,7 +5962,7 @@ if test "$_lt_caught_CXX_error" != yes; then
 	    # explicitly linking system object files so we need to strip them
 	    # from the output so that they don't get included in the library
 	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
 
 	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
 	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
@@ -5896,26 +5999,26 @@ if test "$_lt_caught_CXX_error" != yes; then
           pgCC* | pgcpp*)
             # Portland Group C++ compiler
 	    case `$CC -V` in
-	    *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
+	    *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
 	      _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
 		rm -rf $tpldir~
 		$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
-		compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
+		compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
 	      _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
 		rm -rf $tpldir~
 		$CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
-		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
+		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
 		$RANLIB $oldlib'
 	      _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
 		rm -rf $tpldir~
 		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
 	      _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
 		rm -rf $tpldir~
 		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
 	      ;;
-	    *) # Version 6 will use weak symbols
+	    *) # Version 6 and above use weak symbols
 	      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
 	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
 	      ;;
@@ -5923,7 +6026,7 @@ if test "$_lt_caught_CXX_error" != yes; then
 
 	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
 	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
             ;;
 	  cxx*)
 	    # Compaq C++
@@ -5942,9 +6045,9 @@ if test "$_lt_caught_CXX_error" != yes; then
 	    # explicitly linking system object files so we need to strip them
 	    # from the output so that they don't get included in the library
 	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
 	    ;;
-	  xl*)
+	  xl* | mpixl* | bgxl*)
 	    # IBM XL 8.0 on PPC, with GNU ld
 	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
 	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
@@ -5964,13 +6067,13 @@ if test "$_lt_caught_CXX_error" != yes; then
 	      _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
 	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
 	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	      _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	      _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
 	      _LT_TAGVAR(compiler_needs_object, $1)=yes
 
 	      # Not sure whether something based on
 	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
 	      # would be better.
-	      output_verbose_link_cmd='echo'
+	      output_verbose_link_cmd='func_echo_all'
 
 	      # Archives containing C++ object files must be created using
 	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
@@ -6039,7 +6142,7 @@ if test "$_lt_caught_CXX_error" != yes; then
 	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
 	    _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
 	  fi
-	  output_verbose_link_cmd=echo
+	  output_verbose_link_cmd=func_echo_all
 	else
 	  _LT_TAGVAR(ld_shlibs, $1)=no
 	fi
@@ -6074,15 +6177,15 @@ if test "$_lt_caught_CXX_error" != yes; then
 	    case $host in
 	      osf3*)
 	        _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
 	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
 		;;
 	      *)
 	        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
 	        _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
 	          echo "-hidden">> $lib.exp~
-	          $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp  `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
+	          $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp  `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
 	          $RM $lib.exp'
 	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
 		;;
@@ -6098,17 +6201,17 @@ if test "$_lt_caught_CXX_error" != yes; then
 	    # explicitly linking system object files so we need to strip them
 	    # from the output so that they don't get included in the library
 	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
 	    ;;
 	  *)
 	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
 	      _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
 	      case $host in
 	        osf3*)
-	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 		  ;;
 	        *)
-	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 		  ;;
 	      esac
 
@@ -6118,7 +6221,7 @@ if test "$_lt_caught_CXX_error" != yes; then
 	      # Commands to make compiler produce verbose output that lists
 	      # what "hidden" libraries, object files and flags are used when
 	      # linking a shared library.
-	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
 
 	    else
 	      # FIXME: insert proper C++ library support
@@ -6154,7 +6257,7 @@ if test "$_lt_caught_CXX_error" != yes; then
 
       solaris*)
         case $cc_basename in
-          CC*)
+          CC* | sunCC*)
 	    # Sun C++ 4.2, 5.x and Centerline C++
             _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
 	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
@@ -6175,7 +6278,7 @@ if test "$_lt_caught_CXX_error" != yes; then
 	    esac
 	    _LT_TAGVAR(link_all_deplibs, $1)=yes
 
-	    output_verbose_link_cmd='echo'
+	    output_verbose_link_cmd='func_echo_all'
 
 	    # Archives containing C++ object files must be created using
 	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
@@ -6202,7 +6305,7 @@ if test "$_lt_caught_CXX_error" != yes; then
 	        # Commands to make compiler produce verbose output that lists
 	        # what "hidden" libraries, object files and flags are used when
 	        # linking a shared library.
-	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
 	      else
 	        # g++ 2.7 appears to require `-G' NOT `-shared' on this
 	        # platform.
@@ -6213,7 +6316,7 @@ if test "$_lt_caught_CXX_error" != yes; then
 	        # Commands to make compiler produce verbose output that lists
 	        # what "hidden" libraries, object files and flags are used when
 	        # linking a shared library.
-	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
 	      fi
 
 	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
@@ -6267,6 +6370,10 @@ if test "$_lt_caught_CXX_error" != yes; then
           CC*)
 	    _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
 	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
+	      '"$_LT_TAGVAR(old_archive_cmds, $1)"
+	    _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
+	      '"$_LT_TAGVAR(reload_cmds, $1)"
 	    ;;
 	  *)
 	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
@@ -6513,7 +6620,7 @@ linux*)
 
 solaris*)
   case $cc_basename in
-  CC*)
+  CC* | sunCC*)
     # The more standards-conforming stlport4 library is
     # incompatible with the Cstd library. Avoid specifying
     # it if it's in CXXFLAGS. Ignore libCrun as
@@ -6557,32 +6664,16 @@ _LT_TAGDECL([], [compiler_lib_search_path], [1],
 ])# _LT_SYS_HIDDEN_LIBDEPS
 
 
-# _LT_PROG_F77
-# ------------
-# Since AC_PROG_F77 is broken, in that it returns the empty string
-# if there is no fortran compiler, we have our own version here.
-m4_defun([_LT_PROG_F77],
-[
-pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
-AC_PROG_F77
-if test -z "$F77" || test "X$F77" = "Xno"; then
-  _lt_disable_F77=yes
-fi
-popdef([AC_MSG_ERROR])
-])# _LT_PROG_F77
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([_LT_PROG_F77], [])
-
-
 # _LT_LANG_F77_CONFIG([TAG])
 # --------------------------
 # Ensure that the configuration variables for a Fortran 77 compiler are
 # suitably defined.  These variables are subsequently used by _LT_CONFIG
 # to write the compiler configuration to `libtool'.
 m4_defun([_LT_LANG_F77_CONFIG],
-[AC_REQUIRE([_LT_PROG_F77])dnl
-AC_LANG_PUSH(Fortran 77)
+[AC_LANG_PUSH(Fortran 77)
+if test -z "$F77" || test "X$F77" = "Xno"; then
+  _lt_disable_F77=yes
+fi
 
 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
 _LT_TAGVAR(allow_undefined_flag, $1)=
@@ -6601,6 +6692,8 @@ _LT_TAGVAR(module_cmds, $1)=
 _LT_TAGVAR(module_expsym_cmds, $1)=
 _LT_TAGVAR(link_all_deplibs, $1)=unknown
 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
 _LT_TAGVAR(no_undefined_flag, $1)=
 _LT_TAGVAR(whole_archive_flag_spec, $1)=
 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
@@ -6700,32 +6793,17 @@ AC_LANG_POP
 ])# _LT_LANG_F77_CONFIG
 
 
-# _LT_PROG_FC
-# -----------
-# Since AC_PROG_FC is broken, in that it returns the empty string
-# if there is no fortran compiler, we have our own version here.
-m4_defun([_LT_PROG_FC],
-[
-pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
-AC_PROG_FC
-if test -z "$FC" || test "X$FC" = "Xno"; then
-  _lt_disable_FC=yes
-fi
-popdef([AC_MSG_ERROR])
-])# _LT_PROG_FC
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([_LT_PROG_FC], [])
-
-
 # _LT_LANG_FC_CONFIG([TAG])
 # -------------------------
 # Ensure that the configuration variables for a Fortran compiler are
 # suitably defined.  These variables are subsequently used by _LT_CONFIG
 # to write the compiler configuration to `libtool'.
 m4_defun([_LT_LANG_FC_CONFIG],
-[AC_REQUIRE([_LT_PROG_FC])dnl
-AC_LANG_PUSH(Fortran)
+[AC_LANG_PUSH(Fortran)
+
+if test -z "$FC" || test "X$FC" = "Xno"; then
+  _lt_disable_FC=yes
+fi
 
 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
 _LT_TAGVAR(allow_undefined_flag, $1)=
@@ -6744,6 +6822,8 @@ _LT_TAGVAR(module_cmds, $1)=
 _LT_TAGVAR(module_expsym_cmds, $1)=
 _LT_TAGVAR(link_all_deplibs, $1)=unknown
 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
 _LT_TAGVAR(no_undefined_flag, $1)=
 _LT_TAGVAR(whole_archive_flag_spec, $1)=
 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
@@ -6889,6 +6969,8 @@ _LT_CC_BASENAME([$compiler])
 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
 
 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
 
 ## CAVEAT EMPTOR:
 ## There is no encapsulation within the following macros, do not change
@@ -7256,7 +7338,7 @@ _LT_EOF
 func_dirname ()
 {
   # Extract subdirectory from the argument.
-  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+  func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
   if test "X$func_dirname_result" = "X${1}"; then
     func_dirname_result="${3}"
   else
@@ -7267,7 +7349,7 @@ func_dirname ()
 # func_basename file
 func_basename ()
 {
-  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+  func_basename_result=`$ECHO "${1}" | $SED "$basename"`
 }
 
 dnl func_dirname_and_basename
@@ -7283,10 +7365,8 @@ dnl so there is no need for it here.
 func_stripname ()
 {
   case ${2} in
-    .*) func_stripname_result=`$ECHO "X${3}" \
-           | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
-    *)  func_stripname_result=`$ECHO "X${3}" \
-           | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
+    .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+    *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
   esac
 }
 
@@ -7297,20 +7377,20 @@ my_sed_long_arg='1s/^-[[^=]]*=//'
 # func_opt_split
 func_opt_split ()
 {
-  func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
-  func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
+  func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
+  func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
 }
 
 # func_lo2o object
 func_lo2o ()
 {
-  func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
+  func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
 }
 
 # func_xform libobj-or-source
 func_xform ()
 {
-  func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
+  func_xform_result=`$ECHO "${1}" | $SED 's/\.[[^.]]*$/.lo/'`
 }
 
 # func_arith arithmetic-term...
diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4
index 34151a3..17cfd51 100644
--- a/m4/ltoptions.m4
+++ b/m4/ltoptions.m4
@@ -1,13 +1,14 @@
 # Helper functions for option handling.                    -*- Autoconf -*-
 #
-#   Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+#   Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
+#   Inc.
 #   Written by Gary V. Vaughan, 2004
 #
 # This file is free software; the Free Software Foundation gives
 # unlimited permission to copy and/or distribute it, with or without
 # modifications, as long as this notice is preserved.
 
-# serial 6 ltoptions.m4
+# serial 7 ltoptions.m4
 
 # This is to help aclocal find these macros, as it can't see m4_define.
 AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
@@ -125,7 +126,7 @@ LT_OPTION_DEFINE([LT_INIT], [win32-dll],
 [enable_win32_dll=yes
 
 case $host in
-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
   AC_CHECK_TOOL(AS, as, false)
   AC_CHECK_TOOL(DLLTOOL, dlltool, false)
   AC_CHECK_TOOL(OBJDUMP, objdump, false)
@@ -133,13 +134,13 @@ case $host in
 esac
 
 test -z "$AS" && AS=as
-_LT_DECL([], [AS],      [0], [Assembler program])dnl
+_LT_DECL([], [AS],      [1], [Assembler program])dnl
 
 test -z "$DLLTOOL" && DLLTOOL=dlltool
-_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
 
 test -z "$OBJDUMP" && OBJDUMP=objdump
-_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
+_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
 ])# win32-dll
 
 AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
diff --git a/m4/ltversion.m4 b/m4/ltversion.m4
index b8e154f..93fc771 100644
--- a/m4/ltversion.m4
+++ b/m4/ltversion.m4
@@ -9,15 +9,15 @@
 
 # Generated from ltversion.in.
 
-# serial 3012 ltversion.m4
+# serial 3175 ltversion.m4
 # This file is part of GNU Libtool
 
-m4_define([LT_PACKAGE_VERSION], [2.2.6])
-m4_define([LT_PACKAGE_REVISION], [1.3012])
+m4_define([LT_PACKAGE_VERSION], [2.2.10])
+m4_define([LT_PACKAGE_REVISION], [1.3175])
 
 AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.2.6'
-macro_revision='1.3012'
+[macro_version='2.2.10'
+macro_revision='1.3175'
 _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
 _LT_DECL(, macro_revision, 0)
 ])
diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4
index 637bb20..c573da9 100644
--- a/m4/lt~obsolete.m4
+++ b/m4/lt~obsolete.m4
@@ -1,13 +1,13 @@
 # lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
 #
-#   Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
+#   Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
 #   Written by Scott James Remnant, 2004.
 #
 # This file is free software; the Free Software Foundation gives
 # unlimited permission to copy and/or distribute it, with or without
 # modifications, as long as this notice is preserved.
 
-# serial 4 lt~obsolete.m4
+# serial 5 lt~obsolete.m4
 
 # These exist entirely to fool aclocal when bootstrapping libtool.
 #
@@ -77,7 +77,6 @@ m4_ifndef([AC_DISABLE_FAST_INSTALL],	[AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
 m4_ifndef([_LT_AC_LANG_CXX],		[AC_DEFUN([_LT_AC_LANG_CXX])])
 m4_ifndef([_LT_AC_LANG_F77],		[AC_DEFUN([_LT_AC_LANG_F77])])
 m4_ifndef([_LT_AC_LANG_GCJ],		[AC_DEFUN([_LT_AC_LANG_GCJ])])
-m4_ifndef([AC_LIBTOOL_RC],		[AC_DEFUN([AC_LIBTOOL_RC])])
 m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
 m4_ifndef([_LT_AC_LANG_C_CONFIG],	[AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
 m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
@@ -90,3 +89,10 @@ m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
 m4_ifndef([_LT_AC_LANG_RC_CONFIG],	[AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
 m4_ifndef([AC_LIBTOOL_CONFIG],		[AC_DEFUN([AC_LIBTOOL_CONFIG])])
 m4_ifndef([_LT_AC_FILE_LTDLL_C],	[AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
+m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS],	[AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
+m4_ifndef([_LT_AC_PROG_CXXCPP],		[AC_DEFUN([_LT_AC_PROG_CXXCPP])])
+m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS],	[AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
+m4_ifndef([_LT_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_PROG_F77],		[AC_DEFUN([_LT_PROG_F77])])
+m4_ifndef([_LT_PROG_FC],		[AC_DEFUN([_LT_PROG_FC])])
+m4_ifndef([_LT_PROG_CXX],		[AC_DEFUN([_LT_PROG_CXX])])
diff --git a/m4/ocaml.m4 b/m4/ocaml.m4
new file mode 100644
index 0000000..87b1e3b
--- /dev/null
+++ b/m4/ocaml.m4
@@ -0,0 +1,244 @@
+dnl autoconf macros for OCaml
+dnl
+dnl Copyright (C) 2009      Richard W.M. Jones
+dnl Copyright (C) 2009      Stefano Zacchiroli
+dnl Copyright (C) 2000-2005 Olivier Andrieu
+dnl Copyright (C) 2000-2005 Jean-Christophe Filliatre
+dnl Copyright (C) 2000-2005 Georges Mariano
+dnl
+dnl For documentation, please read the ocaml.m4 man page.
+dnl
+dnl All rights reserved.
+dnl
+dnl Redistribution and use in source and binary forms, with or without
+dnl modification, are permitted provided that the following conditions are
+dnl met:
+dnl
+dnl * Redistributions of source code must retain the above copyright
+dnl   notice, this list of conditions and the following disclaimer.
+dnl * Redistributions in binary form must reproduce the above copyright
+dnl   notice, this list of conditions and the following disclaimer in the
+dnl   documentation and/or other materials provided with the distribution.
+dnl * The names of the contributors may not be used to endorse or promote
+dnl   products derived from this software without specific prior written
+dnl   permission.
+dnl
+dnl THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ''AS IS''
+dnl AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+dnl THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+dnl PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS
+dnl BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+dnl CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+dnl SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+dnl BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+dnl WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+dnl OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+dnl IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+AC_DEFUN([AC_PROG_OCAML],
+[dnl
+  # checking for ocamlc
+  AC_CHECK_TOOL([OCAMLC],[ocamlc],[no])
+
+  if test "$OCAMLC" != "no"; then
+     OCAMLVERSION=`$OCAMLC -v | sed -n -e 's|.*version* *\(.*\)$|\1|p'`
+     AC_MSG_RESULT([OCaml version is $OCAMLVERSION])
+     OCAMLLIB=`$OCAMLC -where 2>/dev/null || $OCAMLC -v|tail -1|cut -d ' ' -f 4`
+     AC_MSG_RESULT([OCaml library path is $OCAMLLIB])
+
+     AC_SUBST([OCAMLVERSION])
+     AC_SUBST([OCAMLLIB])
+
+     # checking for ocamlopt
+     AC_CHECK_TOOL([OCAMLOPT],[ocamlopt],[no])
+     OCAMLBEST=byte
+     if test "$OCAMLOPT" = "no"; then
+	AC_MSG_WARN([Cannot find ocamlopt; bytecode compilation only.])
+     else
+	TMPVERSION=`$OCAMLOPT -v | sed -n -e 's|.*version* *\(.*\)$|\1|p' `
+	if test "$TMPVERSION" != "$OCAMLVERSION" ; then
+	    AC_MSG_RESULT([versions differs from ocamlc; ocamlopt discarded.])
+	    OCAMLOPT=no
+	else
+	    OCAMLBEST=opt
+	fi
+     fi
+
+     AC_SUBST([OCAMLBEST])
+
+     # checking for ocamlc.opt
+     AC_CHECK_TOOL([OCAMLCDOTOPT],[ocamlc.opt],[no])
+     if test "$OCAMLCDOTOPT" != "no"; then
+	TMPVERSION=`$OCAMLCDOTOPT -v | sed -n -e 's|.*version* *\(.*\)$|\1|p' `
+	if test "$TMPVERSION" != "$OCAMLVERSION" ; then
+	    AC_MSG_RESULT([versions differs from ocamlc; ocamlc.opt discarded.])
+	else
+	    OCAMLC=$OCAMLCDOTOPT
+	fi
+     fi
+
+     # checking for ocamlopt.opt
+     if test "$OCAMLOPT" != "no" ; then
+	AC_CHECK_TOOL([OCAMLOPTDOTOPT],[ocamlopt.opt],[no])
+	if test "$OCAMLOPTDOTOPT" != "no"; then
+	   TMPVERSION=`$OCAMLOPTDOTOPT -v | sed -n -e 's|.*version* *\(.*\)$|\1|p' `
+	   if test "$TMPVERSION" != "$OCAMLVERSION" ; then
+	      AC_MSG_RESULT([version differs from ocamlc; ocamlopt.opt discarded.])
+	   else
+	      OCAMLOPT=$OCAMLOPTDOTOPT
+	   fi
+        fi
+     fi
+
+     AC_SUBST([OCAMLOPT])
+  fi
+
+  AC_SUBST([OCAMLC])
+
+  # checking for ocamldep
+  AC_CHECK_TOOL([OCAMLDEP],[ocamldep],[no])
+
+  # checking for ocamlmktop
+  AC_CHECK_TOOL([OCAMLMKTOP],[ocamlmktop],[no])
+
+  # checking for ocamlmklib
+  AC_CHECK_TOOL([OCAMLMKLIB],[ocamlmklib],[no])
+
+  # checking for ocamldoc
+  AC_CHECK_TOOL([OCAMLDOC],[ocamldoc],[no])
+
+  # checking for ocamlbuild
+  AC_CHECK_TOOL([OCAMLBUILD],[ocamlbuild],[no])
+])
+
+
+AC_DEFUN([AC_PROG_OCAMLLEX],
+[dnl
+  # checking for ocamllex
+  AC_CHECK_TOOL([OCAMLLEX],[ocamllex],[no])
+  if test "$OCAMLLEX" != "no"; then
+    AC_CHECK_TOOL([OCAMLLEXDOTOPT],[ocamllex.opt],[no])
+    if test "$OCAMLLEXDOTOPT" != "no"; then
+	OCAMLLEX=$OCAMLLEXDOTOPT
+    fi
+  fi
+  AC_SUBST([OCAMLLEX])
+])
+
+AC_DEFUN([AC_PROG_OCAMLYACC],
+[dnl
+  AC_CHECK_TOOL([OCAMLYACC],[ocamlyacc],[no])
+  AC_SUBST([OCAMLYACC])
+])
+
+
+AC_DEFUN([AC_PROG_CAMLP4],
+[dnl
+  AC_REQUIRE([AC_PROG_OCAML])dnl
+
+  # checking for camlp4
+  AC_CHECK_TOOL([CAMLP4],[camlp4],[no])
+  if test "$CAMLP4" != "no"; then
+     TMPVERSION=`$CAMLP4 -v 2>&1| sed -n -e 's|.*version *\(.*\)$|\1|p'`
+     if test "$TMPVERSION" != "$OCAMLVERSION" ; then
+	AC_MSG_RESULT([versions differs from ocamlc])
+        CAMLP4=no
+     fi
+  fi
+  AC_SUBST([CAMLP4])
+
+  # checking for companion tools
+  AC_CHECK_TOOL([CAMLP4BOOT],[camlp4boot],[no])
+  AC_CHECK_TOOL([CAMLP4O],[camlp4o],[no])
+  AC_CHECK_TOOL([CAMLP4OF],[camlp4of],[no])
+  AC_CHECK_TOOL([CAMLP4OOF],[camlp4oof],[no])
+  AC_CHECK_TOOL([CAMLP4ORF],[camlp4orf],[no])
+  AC_CHECK_TOOL([CAMLP4PROF],[camlp4prof],[no])
+  AC_CHECK_TOOL([CAMLP4R],[camlp4r],[no])
+  AC_CHECK_TOOL([CAMLP4RF],[camlp4rf],[no])
+  AC_SUBST([CAMLP4BOOT])
+  AC_SUBST([CAMLP4O])
+  AC_SUBST([CAMLP4OF])
+  AC_SUBST([CAMLP4OOF])
+  AC_SUBST([CAMLP4ORF])
+  AC_SUBST([CAMLP4PROF])
+  AC_SUBST([CAMLP4R])
+  AC_SUBST([CAMLP4RF])
+])
+
+
+AC_DEFUN([AC_PROG_FINDLIB],
+[dnl
+  AC_REQUIRE([AC_PROG_OCAML])dnl
+
+  # checking for ocamlfind
+  AC_CHECK_TOOL([OCAMLFIND],[ocamlfind],[no])
+  AC_SUBST([OCAMLFIND])
+])
+
+
+dnl Thanks to Jim Meyering for working this next bit out for us.
+dnl XXX We should define AS_TR_SH if it's not defined already
+dnl (eg. for old autoconf).
+AC_DEFUN([AC_CHECK_OCAML_PKG],
+[dnl
+  AC_REQUIRE([AC_PROG_FINDLIB])dnl
+
+  AC_MSG_CHECKING([for OCaml findlib package $1])
+
+  unset found
+  unset pkg
+  found=no
+  for pkg in $1 $2 ; do
+    if $OCAMLFIND query $pkg >/dev/null 2>/dev/null; then
+      AC_MSG_RESULT([found])
+      AS_TR_SH([OCAML_PKG_$1])=$pkg
+      found=yes
+      break
+    fi
+  done
+  if test "$found" = "no" ; then
+    AC_MSG_RESULT([not found])
+    AS_TR_SH([OCAML_PKG_$1])=no
+  fi
+
+  AC_SUBST(AS_TR_SH([OCAML_PKG_$1]))
+])
+
+
+AC_DEFUN([AC_CHECK_OCAML_MODULE],
+[dnl
+  AC_MSG_CHECKING([for OCaml module $2])
+
+  cat > conftest.ml <<EOF
+open $3
+EOF
+  unset found
+  for $1 in $$1 $4 ; do
+    if $OCAMLC -c -I "$$1" conftest.ml >&5 2>&5 ; then
+      found=yes
+      break
+    fi
+  done
+
+  if test "$found" ; then
+    AC_MSG_RESULT([$$1])
+  else
+    AC_MSG_RESULT([not found])
+    $1=no
+  fi
+  AC_SUBST([$1])
+])
+
+
+dnl XXX Cross-compiling
+AC_DEFUN([AC_CHECK_OCAML_WORD_SIZE],
+[dnl
+  AC_MSG_CHECKING([for OCaml compiler word size])
+  cat > conftest.ml <<EOF
+  print_endline (string_of_int Sys.word_size)
+  EOF
+  OCAML_WORD_SIZE=`ocaml conftest.ml`
+  AC_MSG_RESULT([$OCAML_WORD_SIZE])
+  AC_SUBST([OCAML_WORD_SIZE])
+])
diff --git a/m4/ppl.m4 b/m4/ppl.m4
index e3ef4fc..6e956d1 100644
--- a/m4/ppl.m4
+++ b/m4/ppl.m4
@@ -1,6 +1,6 @@
 dnl A function to test for the existence and usability of particular
 dnl versions of the PPL, defining macros containing the required paths.
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl Copyright (C) 1997 Owen Taylor
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
diff --git a/m4/ppl_c.m4 b/m4/ppl_c.m4
index ee29caf..704bba7 100644
--- a/m4/ppl_c.m4
+++ b/m4/ppl_c.m4
@@ -1,7 +1,7 @@
 dnl A function to test for the existence and usability of particular
 dnl versions of the C interface of the PPL, defining macros containing
 dnl the required paths.
-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl Copyright (C) 1997 Owen Taylor
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
diff --git a/missing b/missing
index 1c8ff70..28055d2 100755
--- a/missing
+++ b/missing
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Common stub for a few missing GNU programs while installing.
 
-scriptversion=2006-05-10.23
+scriptversion=2009-04-28.21; # UTC
 
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
-#   Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
+# 2008, 2009 Free Software Foundation, Inc.
 # Originally by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
@@ -18,9 +18,7 @@ scriptversion=2006-05-10.23
 # GNU General Public License for more details.
 
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -89,6 +87,9 @@ Supported PROGRAM values:
   tar          try tar, gnutar, gtar, then tar without non-portable flags
   yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
 
+Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
+\`g' are ignored when checking the name.
+
 Send bug reports to <bug-automake at gnu.org>."
     exit $?
     ;;
@@ -106,15 +107,22 @@ Send bug reports to <bug-automake at gnu.org>."
 
 esac
 
+# normalize program name to check for.
+program=`echo "$1" | sed '
+  s/^gnu-//; t
+  s/^gnu//; t
+  s/^g//; t'`
+
 # Now exit if we have it, but it failed.  Also exit now if we
 # don't have it and --version was passed (most likely to detect
-# the program).
+# the program).  This is about non-GNU programs, so use $1 not
+# $program.
 case $1 in
-  lex|yacc)
+  lex*|yacc*)
     # Not GNU programs, they don't have --version.
     ;;
 
-  tar)
+  tar*)
     if test -n "$run"; then
        echo 1>&2 "ERROR: \`tar' requires --run"
        exit 1
@@ -138,7 +146,7 @@ esac
 
 # If it does not exist, or fails to run (possibly an outdated version),
 # try to emulate it.
-case $1 in
+case $program in
   aclocal*)
     echo 1>&2 "\
 WARNING: \`$1' is $msg.  You should only need it if
@@ -148,7 +156,7 @@ WARNING: \`$1' is $msg.  You should only need it if
     touch aclocal.m4
     ;;
 
-  autoconf)
+  autoconf*)
     echo 1>&2 "\
 WARNING: \`$1' is $msg.  You should only need it if
          you modified \`${configure_ac}'.  You might want to install the
@@ -157,7 +165,7 @@ WARNING: \`$1' is $msg.  You should only need it if
     touch configure
     ;;
 
-  autoheader)
+  autoheader*)
     echo 1>&2 "\
 WARNING: \`$1' is $msg.  You should only need it if
          you modified \`acconfig.h' or \`${configure_ac}'.  You might want
@@ -187,7 +195,7 @@ WARNING: \`$1' is $msg.  You should only need it if
 	   while read f; do touch "$f"; done
     ;;
 
-  autom4te)
+  autom4te*)
     echo 1>&2 "\
 WARNING: \`$1' is needed, but is $msg.
          You might have modified some files without having the
@@ -210,7 +218,7 @@ WARNING: \`$1' is needed, but is $msg.
     fi
     ;;
 
-  bison|yacc)
+  bison*|yacc*)
     echo 1>&2 "\
 WARNING: \`$1' $msg.  You should only need it if
          you modified a \`.y' file.  You may need the \`Bison' package
@@ -240,7 +248,7 @@ WARNING: \`$1' $msg.  You should only need it if
     fi
     ;;
 
-  lex|flex)
+  lex*|flex*)
     echo 1>&2 "\
 WARNING: \`$1' is $msg.  You should only need it if
          you modified a \`.l' file.  You may need the \`Flex' package
@@ -263,7 +271,7 @@ WARNING: \`$1' is $msg.  You should only need it if
     fi
     ;;
 
-  help2man)
+  help2man*)
     echo 1>&2 "\
 WARNING: \`$1' is $msg.  You should only need it if
 	 you modified a dependency of a manual page.  You may need the
@@ -277,11 +285,11 @@ WARNING: \`$1' is $msg.  You should only need it if
     else
 	test -z "$file" || exec >$file
 	echo ".ab help2man is required to generate this page"
-	exit 1
+	exit $?
     fi
     ;;
 
-  makeinfo)
+  makeinfo*)
     echo 1>&2 "\
 WARNING: \`$1' is $msg.  You should only need it if
          you modified a \`.texi' or \`.texinfo' file, or any other file
@@ -310,7 +318,7 @@ WARNING: \`$1' is $msg.  You should only need it if
     touch $file
     ;;
 
-  tar)
+  tar*)
     shift
 
     # We have already tried tar in the generic part.
@@ -363,5 +371,6 @@ exit 0
 # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
 # End:
diff --git a/mkinstalldirs b/mkinstalldirs
index ef7e16f..4191a45 100755
--- a/mkinstalldirs
+++ b/mkinstalldirs
@@ -1,7 +1,7 @@
 #! /bin/sh
 # mkinstalldirs --- make directory hierarchy
 
-scriptversion=2006-05-11.19
+scriptversion=2009-04-28.21; # UTC
 
 # Original author: Noah Friedman <friedman at prep.ai.mit.edu>
 # Created: 1993-05-16
@@ -157,5 +157,6 @@ exit $errstatus
 # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
 # End:
diff --git a/ppl-config.h.in b/ppl-config.h.in
index a01dee5..a956be1 100644
--- a/ppl-config.h.in
+++ b/ppl-config.h.in
@@ -1,6 +1,8 @@
 /* config.h.in.  Generated from configure.ac by autoheader.  */
 
 
+/* BEGIN ppl-config.h */
+
 /* Unique (nonzero) code for the IEEE 754 Single Precision
    floating point format.  */
 #define PPL_FLOAT_IEEE754_SINGLE 1
@@ -67,6 +69,10 @@
    don't. */
 #undef PPL_HAVE_DECL_RLIMIT_VMEM
 
+/* Define to 1 if you have the declaration of `sigaction', and to 0 if you
+   don't. */
+#undef PPL_HAVE_DECL_SIGACTION
+
 /* Define to 1 if you have the declaration of `strtod', and to 0 if you don't.
    */
 #undef PPL_HAVE_DECL_STRTOD
@@ -120,11 +126,8 @@
 /* Define to 1 if you have the <memory.h> header file. */
 #undef PPL_HAVE_MEMORY_H
 
-/* Define to 1 if you have the `setitimer' function. */
-#undef HAVE_SETITIMER
-
 /* Define to 1 if the system has the type `siginfo_t'. */
-#undef HAVE_SIGINFO_T
+#undef PPL_HAVE_SIGINFO_T
 
 /* Define to 1 if you have the <signal.h> header file. */
 #undef PPL_HAVE_SIGNAL_H
@@ -159,6 +162,9 @@
 /* Define to 1 if typeof works with your compiler. */
 #undef PPL_HAVE_TYPEOF
 
+/* Define to 1 if the system has the type `uintptr_t'. */
+#undef PPL_HAVE_UINTPTR_T
+
 /* Define to 1 if the system has the type `uint_fast16_t'. */
 #undef PPL_HAVE_UINT_FAST16_T
 
@@ -171,13 +177,13 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef PPL_HAVE_UNISTD_H
 
-/* Define to 1 if `_mp_alloc' is member of `__mpz_struct'. */
+/* Define to 1 if `_mp_alloc' is a member of `__mpz_struct'. */
 #undef PPL_HAVE___MPZ_STRUCT__MP_ALLOC
 
-/* Define to 1 if `_mp_d' is member of `__mpz_struct'. */
+/* Define to 1 if `_mp_d' is a member of `__mpz_struct'. */
 #undef PPL_HAVE___MPZ_STRUCT__MP_D
 
-/* Define to 1 if `_mp_size' is member of `__mpz_struct'. */
+/* Define to 1 if `_mp_size' is a member of `__mpz_struct'. */
 #undef PPL_HAVE___MPZ_STRUCT__MP_SIZE
 
 /* Define to the sub-directory in which libtool stores uninstalled libraries.
@@ -196,6 +202,9 @@
 /* Define to the one symbol short name of this package. */
 #undef PPL_PACKAGE_TARNAME
 
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
 /* Define to the version of this package. */
 #undef PPL_PACKAGE_VERSION
 
@@ -369,6 +378,10 @@
 /* Define to __typeof__ if your compiler spells it that way. */
 #undef typeof
 
+/* Define to the type of an unsigned integer type wide enough to hold a
+   pointer, if such a type exists, and if the system does not define it. */
+#undef uintptr_t
+
 
 #if defined(PPL_NDEBUG) && !defined(NDEBUG)
 # define NDEBUG PPL_NDEBUG
@@ -391,3 +404,5 @@
 # include <inttypes.h>
 #endif
 
+/* END ppl-config.h */
+
diff --git a/ppl-config.sed b/ppl-config.sed
index 2d74bb6..95f8ae1 100644
--- a/ppl-config.sed
+++ b/ppl-config.sed
@@ -10,6 +10,7 @@ s/\([^A-Z_]\)HAVE_DECL_RLIMIT_AS/\1PPL_HAVE_DECL_RLIMIT_AS/g
 s/\([^A-Z_]\)HAVE_DECL_RLIMIT_DATA/\1PPL_HAVE_DECL_RLIMIT_DATA/g
 s/\([^A-Z_]\)HAVE_DECL_RLIMIT_RSS/\1PPL_HAVE_DECL_RLIMIT_RSS/g
 s/\([^A-Z_]\)HAVE_DECL_RLIMIT_VMEM/\1PPL_HAVE_DECL_RLIMIT_VMEM/g
+s/\([^A-Z_]\)HAVE_DECL_SIGACTION/\1PPL_HAVE_DECL_SIGACTION/g
 s/\([^A-Z_]\)HAVE_DECL_STRTOD/\1PPL_HAVE_DECL_STRTOD/g
 s/\([^A-Z_]\)HAVE_DECL_STRTOF/\1PPL_HAVE_DECL_STRTOF/g
 s/\([^A-Z_]\)HAVE_DECL_STRTOLD/\1PPL_HAVE_DECL_STRTOLD/g
@@ -26,6 +27,8 @@ s/\([^A-Z_]\)HAVE_INT_FAST16_T/\1PPL_HAVE_INT_FAST16_T/g
 s/\([^A-Z_]\)HAVE_INT_FAST32_T/\1PPL_HAVE_INT_FAST32_T/g
 s/\([^A-Z_]\)HAVE_INT_FAST64_T/\1PPL_HAVE_INT_FAST64_T/g
 s/\([^A-Z_]\)HAVE_MEMORY_H/\1PPL_HAVE_MEMORY_H/g
+s/\([^A-Z_]\)HAVE_SETITIMER/\1PPL_HAVE_SETITIMER/g
+s/\([^A-Z_]\)HAVE_SIGINFO_T/\1PPL_HAVE_SIGINFO_T/g
 s/\([^A-Z_]\)HAVE_SIGNAL_H/\1PPL_HAVE_SIGNAL_H/g
 s/\([^A-Z_]\)HAVE_STDINT_H/\1PPL_HAVE_STDINT_H/g
 s/\([^A-Z_]\)HAVE_STDLIB_H/\1PPL_HAVE_STDLIB_H/g
@@ -40,6 +43,7 @@ s/\([^A-Z_]\)HAVE_TYPEOF/\1PPL_HAVE_TYPEOF/g
 s/\([^A-Z_]\)HAVE_UINT_FAST16_T/\1PPL_HAVE_UINT_FAST16_T/g
 s/\([^A-Z_]\)HAVE_UINT_FAST32_T/\1PPL_HAVE_UINT_FAST32_T/g
 s/\([^A-Z_]\)HAVE_UINT_FAST64_T/\1PPL_HAVE_UINT_FAST64_T/g
+s/\([^A-Z_]\)HAVE_UINTPTR_T/\1PPL_HAVE_UINTPTR_T/g
 s/\([^A-Z_]\)HAVE_UNISTD_H/\1PPL_HAVE_UNISTD_H/g
 s/\([^A-Z_]\)HAVE___MPZ_STRUCT__MP_ALLOC/\1PPL_HAVE___MPZ_STRUCT__MP_ALLOC/g
 s/\([^A-Z_]\)HAVE___MPZ_STRUCT__MP_D/\1PPL_HAVE___MPZ_STRUCT__MP_D/g
diff --git a/src/BDS_Status.idefs.hh b/src/BDS_Status.idefs.hh
index 1353bda..af7a8ec 100644
--- a/src/BDS_Status.idefs.hh
+++ b/src/BDS_Status.idefs.hh
@@ -1,5 +1,5 @@
 /* BD_Shape<T>::Status class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/BDS_Status.inlines.hh b/src/BDS_Status.inlines.hh
index 65d9ac3..8750167 100644
--- a/src/BDS_Status.inlines.hh
+++ b/src/BDS_Status.inlines.hh
@@ -1,5 +1,5 @@
 /* BD_Shape<T>::Status class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -135,7 +135,7 @@ BD_Shape<T>::Status::reset_shortest_path_reduced() {
 template <typename T>
 inline void
 BD_Shape<T>::Status::set_shortest_path_reduced() {
-  assert(test_shortest_path_closed());
+  PPL_ASSERT(test_shortest_path_closed());
   set(SHORTEST_PATH_REDUCED);
 }
 
@@ -258,7 +258,7 @@ BD_Shape<T>::Status::ascii_load(std::istream& s) {
     reset_shortest_path_reduced();
 
   // Check invariants.
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
diff --git a/src/BD_Shape.cc b/src/BD_Shape.cc
index 4e05469..e885a10 100644
--- a/src/BD_Shape.cc
+++ b/src/BD_Shape.cc
@@ -1,5 +1,5 @@
 /* BD_Shape class implementation: non-inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -36,8 +36,8 @@ PPL::extract_bounded_difference(const Constraint& c,
 				dimension_type& c_second_var,
 				Coefficient& c_coeff) {
   // Check for preconditions.
-  assert(c.space_dimension() == c_space_dim);
-  assert(c_num_vars == 0 && c_first_var == 0 && c_second_var == 0);
+  PPL_ASSERT(c.space_dimension() == c_space_dim);
+  PPL_ASSERT(c_num_vars == 0 && c_first_var == 0 && c_second_var == 0);
   // Store the indices of the non-zero components of `c',
   dimension_type non_zero_index[2] = { 0, 0 };
   // Collect the non-zero components of `c'.
@@ -73,7 +73,7 @@ PPL::extract_bounded_difference(const Constraint& c,
     c_first_var = non_zero_index[0];
     break;
   default:
-    assert(c_num_vars == 0);
+    PPL_ASSERT(c_num_vars == 0);
     break;
   }
   return true;
@@ -88,8 +88,8 @@ PPL::compute_leader_indices(const std::vector<dimension_type>& predecessor,
   // The vector `indices' contains one entry for each equivalence
   // class, storing the index of the corresponding leader in
   // increasing order: it is used to avoid repeated tests for leadership.
-  assert(indices.size() == 0);
-  assert(0 == predecessor[0]);
+  PPL_ASSERT(indices.size() == 0);
+  PPL_ASSERT(0 == predecessor[0]);
   indices.push_back(0);
   for (dimension_type i = 1, p_size = predecessor.size(); i != p_size; ++i)
     if (i == predecessor[i])
diff --git a/src/BD_Shape.defs.hh b/src/BD_Shape.defs.hh
index 59ffed7..5edb7d7 100644
--- a/src/BD_Shape.defs.hh
+++ b/src/BD_Shape.defs.hh
@@ -1,5 +1,5 @@
 /* BD_Shape class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -43,6 +43,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "DB_Matrix.defs.hh"
 #include "DB_Row.defs.hh"
 #include "Checked_Number.defs.hh"
+#include "WRD_coefficient_types.defs.hh"
 #include "Bit_Matrix.defs.hh"
 #include <cstddef>
 #include <iosfwd>
@@ -404,7 +405,11 @@ private:
     The (extended) numeric type of the inhomogeneous term of
     the inequalities defining a BDS.
   */
-  typedef Checked_Number<T, Extended_Number_Policy> N;
+#ifndef NDEBUG
+  typedef Checked_Number<T, Debug_WRD_Extended_Number_Policy> N;
+#else
+  typedef Checked_Number<T, WRD_Extended_Number_Policy> N;
+#endif
 
 public:
   //! The numeric base type upon which bounded differences are built.
@@ -443,7 +448,7 @@ public:
   explicit BD_Shape(dimension_type num_dimensions = 0,
                     Degenerate_Element kind = UNIVERSE);
 
-  //! Ordinary copy-constructor.
+  //! Ordinary copy constructor.
   /*!
     The complexity argument is ignored.
   */
@@ -463,10 +468,7 @@ public:
     The BDS inherits the space dimension of \p cs.
 
     \param cs
-    A system of constraints: constraints that are not
-    \ref Bounded_Difference_Shapes "bounded differences"
-    are ignored (even though they may have contributed
-    to the space dimension).
+    A system of BD constraints.
 
     \exception std::invalid_argument
     Thrown if \p cs contains a constraint which is not optimally supported
@@ -479,7 +481,11 @@ public:
     The BDS inherits the space dimension of \p cgs
 
     \param cgs
-    A system of congruences: some elements may be safely ignored.
+    A system of congruences.
+
+    \exception std::invalid_argument
+    Thrown if \p cgs contains congruences which are not optimally
+    supported by the BD shape domain.
   */
   explicit BD_Shape(const Congruence_System& cgs);
 
@@ -743,6 +749,38 @@ public:
                 Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
                 Generator& g) const;
 
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if there exist a
+    unique value \p val such that \p *this
+    saturates the equality <CODE>expr = val</CODE>.
+
+    \param expr
+    The linear expression for which the frequency is needed;
+
+    \param freq_n
+    If <CODE>true</CODE> is returned, the value is set to \f$0\f$;
+    Present for interface compatibility with class Grid, where
+    the \ref Grid_Frequency "frequency" can have a non-zero value;
+
+    \param freq_d
+    If <CODE>true</CODE> is returned, the value is set to \f$1\f$;
+
+    \param val_n
+    The numerator of \p val;
+
+    \param val_d
+    The denominator of \p val;
+
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+
+    If <CODE>false</CODE> is returned, then \p freq_n, \p freq_d,
+    \p val_n and \p val_d are left untouched.
+  */
+  bool frequency(const Linear_Expression& expr,
+                 Coefficient& freq_n, Coefficient& freq_d,
+                 Coefficient& val_n, Coefficient& val_d) const;
+
   //! Returns <CODE>true</CODE> if and only if \p *this contains \p y.
   /*!
     \exception std::invalid_argument
@@ -835,8 +873,7 @@ public:
     defining \p *this.
 
     \param c
-    The constraint to be added. If it is not a bounded difference, it
-    will be simply ignored.
+    The constraint to be added.
 
     \exception std::invalid_argument
     Thrown if \p *this and constraint \p c are dimension-incompatible,
@@ -845,26 +882,6 @@ public:
   void add_constraint(const Constraint& c);
 
   /*! \brief
-    Adds a copy of constraint \p c to the system of bounded differences
-    defining \p *this.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \param c
-    The constraint to be added. If it is not a bounded difference, it
-    will be simply ignored.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and constraint \p c are dimension-incompatible,
-    or \p c is not optimally supported by the BD shape domain.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_constraint_and_minimize(const Constraint& c);
-
-  /*! \brief
     Adds a copy of congruence \p cg to the system of congruences of \p *this.
 
     \param cg
@@ -877,31 +894,11 @@ public:
   void add_congruence(const Congruence& cg);
 
   /*! \brief
-    Adds a copy of congruence \p cg to the system of congruences
-    of \p *this, minimizing the result
-
-    \param cg
-    The congruence to be added.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and congruence \p cg are dimension-incompatible,
-    or \p cg is not optimally supported by the BD shape domain.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_congruence_and_minimize(const Congruence& cg);
-
-  /*! \brief
     Adds the constraints in \p cs to the system of bounded differences
     defining \p *this.
 
     \param  cs
-    The constraints that will be added. Constraints that are not bounded
-    differences will be simply ignored.
+    The constraints that will be added.
 
     \exception std::invalid_argument
     Thrown if \p *this and \p cs are dimension-incompatible,
@@ -930,51 +927,6 @@ public:
   void add_recycled_constraints(Constraint_System& cs);
 
   /*! \brief
-    Adds the constraints in \p cs to the system of bounded differences
-    defining \p *this.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \param  cs
-    The constraints that will be added.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible,
-    or \p cs contains a constraint which is not optimally supported
-    by the BD shape domain.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_constraints_and_minimize(const Constraint_System& cs);
-
-  /*! \brief
-    Adds the constraints in \p cs to the system of constraints
-    of \p *this, minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \param cs
-    The constraint system to be added to \p *this.  The constraints in
-    \p cs may be recycled.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible,
-    or \p cs contains a constraint which is not optimally supported
-    by the BD shape domain.
-
-    \warning
-    The only assumption that can be made on \p cs upon successful or
-    exceptional return is that it can be safely destroyed.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_recycled_constraints_and_minimize(Constraint_System& cs);
-
-  /*! \brief
     Adds to \p *this constraints equivalent to the congruences in \p cgs.
 
     \param cgs
@@ -989,16 +941,6 @@ public:
   void add_congruences(const Congruence_System& cgs);
 
   /*! \brief
-    Behaves as add_congruences(const Congruence_System&),
-    but minimizes the resulting BD shape, returning \c false
-    if and only if the result is empty.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_congruences_and_minimize(const Congruence_System& cgs);
-
-  /*! \brief
     Adds to \p *this constraints equivalent to the congruences in \p cgs.
 
     \param cgs
@@ -1017,16 +959,6 @@ public:
   void add_recycled_congruences(Congruence_System& cgs);
 
   /*! \brief
-    Behaves as \c add_recycled_congruences, but minimizes the
-    resulting BD shape, returning \c false if and only if
-    the result is empty.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_recycled_congruences_and_minimize(Congruence_System& cgs);
-
-  /*! \brief
     Uses a copy of constraint \p c to refine the system of bounded differences
     defining \p *this.
 
@@ -1091,17 +1023,17 @@ public:
 
   /*! \brief
     Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to the set of space dimensions \p to_be_unconstrained,
+    respect to the set of space dimensions \p vars,
     assigning the result to \p *this.
 
-    \param to_be_unconstrained
+    \param vars
     The set of space dimension that will be unconstrained.
 
     \exception std::invalid_argument
     Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p to_be_removed.
+    Variable objects contained in \p vars.
   */
-  void unconstrain(const Variables_Set& to_be_unconstrained);
+  void unconstrain(const Variables_Set& vars);
 
   //! Assigns to \p *this the intersection of \p *this and \p y.
   /*!
@@ -1110,19 +1042,6 @@ public:
   */
   void intersection_assign(const BD_Shape& y);
 
-  //! Assigns to \p *this the intersection of \p *this and \p y.
-  /*!
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool intersection_assign_and_minimize(const BD_Shape& y);
-
   /*! \brief
     Assigns to \p *this the smallest BDS containing the union
     of \p *this and \p y.
@@ -1133,29 +1052,30 @@ public:
   void upper_bound_assign(const BD_Shape& y);
 
   /*! \brief
-    Assigns to \p *this the smallest BDS containing the convex union
-    of \p *this and \p y.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
+    If the upper bound of \p *this and \p y is exact, it is assigned
+    to \p *this and <CODE>true</CODE> is returned,
+    otherwise <CODE>false</CODE> is returned.
 
     \exception std::invalid_argument
     Thrown if \p *this and \p y are dimension-incompatible.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
   */
-  bool upper_bound_assign_and_minimize(const BD_Shape& y);
+  bool upper_bound_assign_if_exact(const BD_Shape& y);
 
   /*! \brief
-    If the upper bound of \p *this and \p y is exact, it is assigned
-    to \p *this and <CODE>true</CODE> is returned,
+    If the \e integer upper bound of \p *this and \p y is exact,
+    it is assigned to \p *this and <CODE>true</CODE> is returned;
     otherwise <CODE>false</CODE> is returned.
 
     \exception std::invalid_argument
     Thrown if \p *this and \p y are dimension-incompatible.
+
+    \note
+    The integer upper bound of two rational BDS is the smallest rational
+    BDS containing all the integral points of the two arguments.
+    This method requires that the coefficient type parameter \c T is
+    an integral type.
   */
-  bool upper_bound_assign_if_exact(const BD_Shape& y);
+  bool integer_upper_bound_assign_if_exact(const BD_Shape& y);
 
   /*! \brief
     Assigns to \p *this the smallest BD shape containing
@@ -1403,6 +1323,93 @@ public:
   */
   void time_elapse_assign(const BD_Shape& y);
 
+  /*! \brief
+    \ref Wrapping_Operator "Wraps" the specified dimensions of the
+    vector space.
+
+    \param vars
+    The set of Variable objects corresponding to the space dimensions
+    to be wrapped.
+
+    \param w
+    The width of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param r
+    The representation of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param o
+    The overflow behavior of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param pcs
+    Possibly null pointer to a constraint system whose variables
+    are contained in \p vars.  If <CODE>*pcs</CODE> depends on
+    variables not in \p vars, the behavior is undefined.
+    When non-null, the pointed-to constraint system is assumed to
+    represent the conditional or looping construct guard with respect
+    to which wrapping is performed.  Since wrapping requires the
+    computation of upper bounds and due to non-distributivity of
+    constraint refinement over upper bounds, passing a constraint
+    system in this way can be more precise than refining the result of
+    the wrapping operation with the constraints in <CODE>*pcs</CODE>.
+
+    \param complexity_threshold
+    A precision parameter of the \ref Wrapping_Operator "wrapping operator":
+    higher values result in possibly improved precision.
+
+    \param wrap_individually
+    <CODE>true</CODE> if the dimensions should be wrapped individually
+    (something that results in much greater efficiency to the detriment of
+    precision).
+
+    \exception std::invalid_argument
+    Thrown if <CODE>*pcs</CODE> is dimension-incompatible with
+    \p vars, or if \p *this is dimension-incompatible \p vars or with
+    <CODE>*pcs</CODE>.
+  */
+  void wrap_assign(const Variables_Set& vars,
+                   Bounded_Integer_Type_Width w,
+                   Bounded_Integer_Type_Representation r,
+                   Bounded_Integer_Type_Overflow o,
+                   const Constraint_System* pcs = 0,
+                   unsigned complexity_threshold = 16,
+                   bool wrap_individually = true);
+
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates.
+
+    \param complexity
+    The maximal complexity of any algorithms used.
+
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+   void drop_some_non_integer_points(Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
+
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates for the space dimensions corresponding to \p vars.
+
+    \param vars
+    Points with non-integer coordinates for these variables/space-dimensions
+    can be discarded.
+
+    \param complexity
+    The maximal complexity of any algorithms used.
+
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+  void drop_some_non_integer_points(const Variables_Set& vars,
+                                    Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
+
   //! Assigns to \p *this its topological closure.
   void topological_closure_assign();
 
@@ -1638,14 +1645,14 @@ public:
 
   //! Removes all the specified dimensions.
   /*!
-    \param to_be_removed
+    \param vars
     The set of Variable objects corresponding to the dimensions to be removed.
 
     \exception std::invalid_argument
     Thrown if \p *this is dimension-incompatible with one of the Variable
-    objects contained in \p to_be_removed.
+    objects contained in \p vars.
   */
-  void remove_space_dimensions(const Variables_Set& to_be_removed);
+  void remove_space_dimensions(const Variables_Set& vars);
 
   /*! \brief
     Removes the higher dimensions so that the resulting space
@@ -1664,8 +1671,8 @@ public:
     \param pfunc
     The partial function specifying the destiny of each dimension.
 
-    The template class Partial_Function must provide the following
-    methods.
+    The template type parameter Partial_Function must provide
+    the following methods.
     \code
       bool has_empty_codomain() const
     \endcode
@@ -1720,30 +1727,30 @@ public:
   */
   void expand_space_dimension(Variable var, dimension_type m);
 
-  //! Folds the space dimensions in \p to_be_folded into \p var.
+  //! Folds the space dimensions in \p vars into \p dest.
   /*!
-    \param to_be_folded
+    \param vars
     The set of Variable objects corresponding to the space dimensions
     to be folded;
 
-    \param var
+    \param dest
     The variable corresponding to the space dimension that is the
     destination of the folding operation.
 
     \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p var or with
-    one of the Variable objects contained in \p to_be_folded.
-    Also thrown if \p var is contained in \p to_be_folded.
+    Thrown if \p *this is dimension-incompatible with \p dest or with
+    one of the Variable objects contained in \p vars.
+    Also thrown if \p dest is contained in \p vars.
 
     If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    <CODE>var</CODE> has space dimension \f$k \leq n\f$,
-    \p to_be_folded is a set of variables whose maximum space dimension
-    is also less than or equal to \f$n\f$, and \p var is not a member
-    of \p to_be_folded, then the space dimensions corresponding to
-    variables in \p to_be_folded are \ref fold_space_dimensions "folded"
+    <CODE>dest</CODE> has space dimension \f$k \leq n\f$,
+    \p vars is a set of variables whose maximum space dimension
+    is also less than or equal to \f$n\f$, and \p dest is not a member
+    of \p vars, then the space dimensions corresponding to
+    variables in \p vars are \ref fold_space_dimensions "folded"
     into the \f$k\f$-th space dimension.
   */
-  void fold_space_dimensions(const Variables_Set& to_be_folded, Variable var);
+  void fold_space_dimensions(const Variables_Set& vars, Variable dest);
 
   //@} // Member Functions that May Modify the Dimension of the Vector Space
 
@@ -1983,6 +1990,23 @@ private:
   */
   bool BFT00_upper_bound_assign_if_exact(const BD_Shape& y);
 
+  /*! \brief
+    If the upper bound of \p *this and \p y is exact it is assigned
+    to \p *this and \c true is returned, otherwise \c false is returned.
+
+    Implementation for the rational (resp., integer) case is based on
+    Theorem 5.2 (resp. Theorem 5.3) of \ref BHZ09b "[BHZ09b]".
+    The Boolean template parameter \c integer_upper_bound allows for
+    choosing between the rational and integer upper bound algorithms.
+
+    \note
+    It is assumed that \p *this and \p y are dimension-compatible;
+    if the assumption does not hold, the behavior is undefined.
+
+    \note
+    The integer case is only enabled if T is an integer datatype.
+  */
+  template <bool integer_upper_bound>
   bool BHZ09_upper_bound_assign_if_exact(const BD_Shape& y);
 
   /*! \brief
@@ -2097,6 +2121,8 @@ private:
   */
   void compute_leaders(std::vector<dimension_type>& leaders) const;
 
+  void drop_some_non_integer_points_helper(N& elem);
+
   friend std::ostream&
   Parma_Polyhedra_Library::IO_Operators
   ::operator<<<>(std::ostream& s, const BD_Shape<T>& c);
diff --git a/src/BD_Shape.inlines.hh b/src/BD_Shape.inlines.hh
index 348bb09..85b71f7 100644
--- a/src/BD_Shape.inlines.hh
+++ b/src/BD_Shape.inlines.hh
@@ -1,5 +1,5 @@
 /* BD_Shape class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -31,7 +31,9 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Poly_Con_Relation.defs.hh"
 #include "Poly_Gen_Relation.defs.hh"
 #include "Temp.defs.hh"
-#include <cassert>
+#include "meta_programming.hh"
+#include "wrap_assign.hh"
+#include "assert.hh"
 #include <vector>
 #include <iostream>
 #include <algorithm>
@@ -119,7 +121,7 @@ BD_Shape<T>::BD_Shape(const dimension_type num_dimensions,
       // A (non zero-dim) universe BDS is closed.
       set_shortest_path_closed();
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -153,22 +155,6 @@ BD_Shape<T>::congruences() const {
 }
 
 template <typename T>
-inline bool
-BD_Shape<T>::add_constraint_and_minimize(const Constraint& c) {
-  add_constraint(c);
-  shortest_path_closure_assign();
-  return !marked_empty();
-}
-
-template <typename T>
-inline bool
-BD_Shape<T>::add_congruence_and_minimize(const Congruence& cg) {
-  add_congruence(cg);
-  shortest_path_closure_assign();
-  return !marked_empty();
-}
-
-template <typename T>
 inline void
 BD_Shape<T>::add_constraints(const Constraint_System& cs) {
   for (Constraint_System::const_iterator i = cs.begin(),
@@ -177,26 +163,12 @@ BD_Shape<T>::add_constraints(const Constraint_System& cs) {
 }
 
 template <typename T>
-inline bool
-BD_Shape<T>::add_constraints_and_minimize(const Constraint_System& cs) {
-  add_constraints(cs);
-  shortest_path_closure_assign();
-  return !marked_empty();
-}
-
-template <typename T>
 inline void
 BD_Shape<T>::add_recycled_constraints(Constraint_System& cs) {
   add_constraints(cs);
 }
 
 template <typename T>
-inline bool
-BD_Shape<T>::add_recycled_constraints_and_minimize(Constraint_System& cs) {
-  return add_constraints_and_minimize(cs);
-}
-
-template <typename T>
 inline void
 BD_Shape<T>::add_congruences(const Congruence_System& cgs) {
   for (Congruence_System::const_iterator i = cgs.begin(),
@@ -205,25 +177,12 @@ BD_Shape<T>::add_congruences(const Congruence_System& cgs) {
 }
 
 template <typename T>
-inline bool
-BD_Shape<T>::add_congruences_and_minimize(const Congruence_System& cgs) {
-  add_congruences(cgs);
-  return !is_empty();
-}
-
-template <typename T>
 inline void
 BD_Shape<T>::add_recycled_congruences(Congruence_System& cgs) {
   add_congruences(cgs);
 }
 
 template <typename T>
-inline bool
-BD_Shape<T>::add_recycled_congruences_and_minimize(Congruence_System& cgs) {
-  return add_congruences_and_minimize(cgs);
-}
-
-template <typename T>
 inline void
 BD_Shape<T>::refine_with_constraint(const Constraint& c) {
   const dimension_type c_space_dim = c.space_dimension();
@@ -276,8 +235,8 @@ BD_Shape<T>::refine_with_congruences(const Congruence_System& cgs) {
 template <typename T>
 inline void
 BD_Shape<T>::refine_no_check(const Congruence& cg) {
-  assert(!marked_empty());
-  assert(cg.space_dimension() <= space_dimension());
+  PPL_ASSERT(!marked_empty());
+  PPL_ASSERT(cg.space_dimension() <= space_dimension());
 
   if (cg.is_proper_congruence()) {
     if (cg.is_inconsistent())
@@ -286,7 +245,7 @@ BD_Shape<T>::refine_no_check(const Congruence& cg) {
     return;
   }
 
-  assert(cg.is_equality());
+  PPL_ASSERT(cg.is_equality());
   Constraint c(cg);
   refine_no_check(c);
 }
@@ -456,8 +415,6 @@ BD_Shape<T>::is_discrete() const {
 template <typename T>
 inline void
 BD_Shape<T>::topological_closure_assign() {
-  // Nothing to be done.
-  return;
 }
 
 /*! \relates BD_Shape */
@@ -700,7 +657,7 @@ BD_Shape<T>::add_dbm_constraint(const dimension_type i,
 				const dimension_type j,
 				const N& k) {
   // Private method: the caller has to ensure the following.
-  assert(i <= space_dimension() && j <= space_dimension() && i != j);
+  PPL_ASSERT(i <= space_dimension() && j <= space_dimension() && i != j);
   N& dbm_ij = dbm[i][j];
   if (dbm_ij > k) {
     dbm_ij = k;
@@ -716,8 +673,8 @@ BD_Shape<T>::add_dbm_constraint(const dimension_type i,
 				Coefficient_traits::const_reference num,
 				Coefficient_traits::const_reference den) {
   // Private method: the caller has to ensure the following.
-  assert(i <= space_dimension() && j <= space_dimension() && i != j);
-  assert(den != 0);
+  PPL_ASSERT(i <= space_dimension() && j <= space_dimension() && i != j);
+  PPL_ASSERT(den != 0);
   PPL_DIRTY_TEMP(N, k);
   div_round_up(k, num, den);
   add_dbm_constraint(i, j, k);
@@ -735,7 +692,7 @@ BD_Shape<T>::time_elapse_assign(const BD_Shape& y) {
   px.time_elapse_assign(py);
   BD_Shape<T> x(px);
   swap(x);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -747,27 +704,30 @@ BD_Shape<T>::strictly_contains(const BD_Shape& y) const {
 
 template <typename T>
 inline bool
-BD_Shape<T>::upper_bound_assign_and_minimize(const BD_Shape& y) {
-  upper_bound_assign(y);
-  assert(marked_empty()
-	 || space_dimension() == 0 || marked_shortest_path_closed());
-  return !marked_empty();
-}
-
-template <typename T>
-inline bool
 BD_Shape<T>::upper_bound_assign_if_exact(const BD_Shape& y) {
-  // Dimension-compatibility check.
   if (space_dimension() != y.space_dimension())
     throw_dimension_incompatible("upper_bound_assign_if_exact(y)", y);
 #if 0
   return BFT00_upper_bound_assign_if_exact(y);
 #else
-  return BHZ09_upper_bound_assign_if_exact(y);
+  const bool integer_upper_bound = false;
+  return BHZ09_upper_bound_assign_if_exact<integer_upper_bound>(y);
 #endif
 }
 
 template <typename T>
+inline bool
+BD_Shape<T>::integer_upper_bound_assign_if_exact(const BD_Shape& y) {
+  PPL_COMPILE_TIME_CHECK(std::numeric_limits<T>::is_integer,
+                         "BD_Shape<T>::integer_upper_bound_assign_if_exact(y):"
+                         " T in not an integer datatype.");
+  if (space_dimension() != y.space_dimension())
+    throw_dimension_incompatible("integer_upper_bound_assign_if_exact(y)", y);
+  const bool integer_upper_bound = true;
+  return BHZ09_upper_bound_assign_if_exact<integer_upper_bound>(y);
+}
+
+template <typename T>
 inline void
 BD_Shape<T>::remove_higher_space_dimensions(const dimension_type new_dim) {
   // Dimension-compatibility check: the variable having
@@ -780,7 +740,7 @@ BD_Shape<T>::remove_higher_space_dimensions(const dimension_type new_dim) {
   // Note that this case also captures the only legal removal of
   // dimensions from a zero-dim space BDS.
   if (new_dim == space_dimension()) {
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -797,15 +757,22 @@ BD_Shape<T>::remove_higher_space_dimensions(const dimension_type new_dim) {
   // the zero-dim universe BDS has been obtained.
   if (new_dim == 0 && !marked_empty())
     set_zero_dim_univ();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
-inline bool
-BD_Shape<T>::intersection_assign_and_minimize(const BD_Shape& y) {
-  intersection_assign(y);
-  shortest_path_closure_assign();
-  return !marked_empty();
+void
+BD_Shape<T>::wrap_assign(const Variables_Set& vars,
+                         Bounded_Integer_Type_Width w,
+                         Bounded_Integer_Type_Representation r,
+                         Bounded_Integer_Type_Overflow o,
+                         const Constraint_System* pcs,
+                         unsigned complexity_threshold,
+                         bool wrap_individually) {
+  Implementation::wrap_assign(*this,
+                              vars, w, r, o, pcs,
+                              complexity_threshold, wrap_individually,
+                              "BD_Shape");
 }
 
 template <typename T>
@@ -834,7 +801,7 @@ BD_Shape<T>::H79_widening_assign(const BD_Shape& y, unsigned* tp) {
   px.H79_widening_assign(py, tp);
   BD_Shape x(px);
   swap(x);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -854,7 +821,7 @@ BD_Shape<T>::limited_H79_extrapolation_assign(const BD_Shape& y,
   px.limited_H79_extrapolation_assign(py, cs, tp);
   BD_Shape x(px);
   swap(x);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -869,6 +836,17 @@ BD_Shape<T>::hash_code() const {
   return space_dimension() & 0x7fffffff;
 }
 
+template <typename T>
+inline void
+BD_Shape<T>::drop_some_non_integer_points_helper(N& elem) {
+  if (!is_integer(elem)) {
+    Result r = floor_assign_r(elem, elem, ROUND_DOWN);
+    used(r);
+    PPL_ASSERT(r == V_EQ);
+    reset_shortest_path_closed();
+  }
+}
+
 } // namespace Parma_Polyhedra_Library
 
 namespace std {
diff --git a/src/BD_Shape.templates.hh b/src/BD_Shape.templates.hh
index 166f2d6..1a3f83a 100644
--- a/src/BD_Shape.templates.hh
+++ b/src/BD_Shape.templates.hh
@@ -1,5 +1,5 @@
 /* BD_Shape class implementation: non-inline template functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -33,7 +33,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Variables_Set.defs.hh"
 #include "Bit_Row.defs.hh"
 #include "Temp.defs.hh"
-#include <cassert>
+#include "assert.hh"
 #include <vector>
 #include <deque>
 #include <iostream>
@@ -57,7 +57,7 @@ BD_Shape<T>::BD_Shape(const Generator_System& gs)
   const Generator_System::const_iterator gs_begin = gs.begin();
   const Generator_System::const_iterator gs_end = gs.end();
   if (gs_begin == gs_end) {
-    // An empty generator system defines the empty polyhedron.
+    // An empty generator system defines the empty BD shape.
     set_empty();
     return;
   }
@@ -166,7 +166,7 @@ BD_Shape<T>::BD_Shape(const Generator_System& gs)
     }
   }
   set_shortest_path_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -195,7 +195,7 @@ BD_Shape<T>::BD_Shape(const Polyhedron& ph, const Complexity_Class complexity)
   // We cannot afford exponential complexity, we do not have a complete set
   // of generators for the polyhedron, and the polyhedron is not trivially
   // empty or zero-dimensional.  Constraints, however, are up to date.
-  assert(ph.constraints_are_up_to_date());
+  PPL_ASSERT(ph.constraints_are_up_to_date());
 
   if (!ph.has_something_pending() && ph.constraints_are_minimized()) {
     // If the constraint system of the polyhedron is minimized,
@@ -276,12 +276,12 @@ BD_Shape<T>::BD_Shape(const Polyhedron& ph, const Complexity_Class complexity)
       }
     }
     set_shortest_path_closed();
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
   // Extract easy-to-find bounds from constraints.
-  assert(complexity == POLYNOMIAL_COMPLEXITY);
+  PPL_ASSERT(complexity == POLYNOMIAL_COMPLEXITY);
   *this = BD_Shape<T>(num_dimensions, UNIVERSE);
   refine_with_constraints(ph.constraints());
 }
@@ -352,13 +352,13 @@ BD_Shape<T>::minimized_congruences() const {
         // Generate the constraint relating `i' and its leader.
         if (leader == 0) {
           // A unary equality has to be generated.
-          assert(!is_plus_infinity(dbm_0[i]));
+          PPL_ASSERT(!is_plus_infinity(dbm_0[i]));
           numer_denom(dbm_0[i], num, den);
           cgs.insert(den*Variable(i-1) == num);
         }
         else {
           // A binary equality has to be generated.
-          assert(!is_plus_infinity(dbm[i][leader]));
+          PPL_ASSERT(!is_plus_infinity(dbm[i][leader]));
           numer_denom(dbm[i][leader], num, den);
           cgs.insert(den*Variable(leader-1) - den*Variable(i-1) == num);
         }
@@ -438,7 +438,7 @@ BD_Shape<T>::add_constraint(const Constraint& c) {
   // closure or reduction of the bounded difference shape.
   if (changed && marked_shortest_path_closed())
     reset_shortest_path_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -463,7 +463,7 @@ BD_Shape<T>::add_congruence(const Congruence& cg) {
                   "cg is a non-trivial, proper congruence");
   }
 
-  assert(cg.is_equality());
+  PPL_ASSERT(cg.is_equality());
   Constraint c(cg);
   add_constraint(c);
 }
@@ -471,9 +471,9 @@ BD_Shape<T>::add_congruence(const Congruence& cg) {
 template <typename T>
 void
 BD_Shape<T>::refine_no_check(const Constraint& c) {
-  assert(!marked_empty());
+  PPL_ASSERT(!marked_empty());
   const dimension_type c_space_dim = c.space_dimension();
-  assert(c_space_dim <= space_dimension());
+  PPL_ASSERT(c_space_dim <= space_dimension());
 
   dimension_type num_vars = 0;
   dimension_type i = 0;
@@ -525,7 +525,7 @@ BD_Shape<T>::refine_no_check(const Constraint& c) {
   // closure or reduction of the bounded difference shape.
   if (changed && marked_shortest_path_closed())
     reset_shortest_path_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -547,7 +547,7 @@ BD_Shape<T>::concatenate_assign(const BD_Shape& y) {
   // the dimension of the vector space.
   if (x_space_dim == 0 && marked_empty()) {
     dbm.grow(y_space_dim + 1);
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
   // First we increase the space dimension of `x' by adding
@@ -569,7 +569,7 @@ BD_Shape<T>::concatenate_assign(const BD_Shape& y) {
 
   if (marked_shortest_path_closed())
     reset_shortest_path_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -765,13 +765,123 @@ BD_Shape<T>::contains_integer_point() const {
 
 template <typename T>
 bool
+BD_Shape<T>::frequency(const Linear_Expression& expr,
+                       Coefficient& freq_n, Coefficient& freq_d,
+                       Coefficient& val_n, Coefficient& val_d) const {
+  dimension_type space_dim = space_dimension();
+  // The dimension of `expr' must be at most the dimension of *this.
+  if (space_dim < expr.space_dimension())
+    throw_dimension_incompatible("frequency(e, ...)", "e", expr);
+
+  // Check if `expr' has a constant value.
+  // If it is constant, set the frequency `freq_n' to 0
+  // and return true. Otherwise the values for \p expr
+  // are not discrete so return false.
+
+  // Space dimension = 0: if empty, then return false;
+  // otherwise the frequency is 0 and the value is the inhomogeneous term.
+  if (space_dim == 0) {
+    if (is_empty())
+      return false;
+    freq_n = 0;
+    freq_d = 1;
+    val_n = expr.inhomogeneous_term();
+    val_d = 1;
+    return true;
+  }
+
+  shortest_path_closure_assign();
+  // For an empty BD shape, we simply return false.
+  if (marked_empty())
+    return false;
+
+  // The BD shape has at least 1 dimension and is not empty.
+  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
+  PPL_DIRTY_TEMP_COEFFICIENT(num);
+  PPL_DIRTY_TEMP_COEFFICIENT(den);
+  PPL_DIRTY_TEMP(N, tmp);
+  Linear_Expression le = expr;
+  // Boolean to keep track of a variable `v' in expression `le'.
+  // If we can replace `v' by an expression using variables other
+  // than `v' and are already in `le', then this is set to true.
+  bool constant_v = false;
+
+  PPL_DIRTY_TEMP_COEFFICIENT(val_den);
+  val_den = 1;
+
+  for (dimension_type i = dbm.num_rows(); i-- > 1; ) {
+    constant_v = false;
+    const Variable v(i-1);
+    coeff = le.coefficient(v);
+    if (coeff == 0) {
+      constant_v = true;
+      continue;
+    }
+
+    const DB_Row<N>& dbm_i = dbm[i];
+    // Check if `v' is constant in the BD shape.
+    assign_r(tmp, dbm_i[0], ROUND_NOT_NEEDED);
+    if (is_additive_inverse(dbm[0][i], tmp)) {
+      // If `v' is constant, replace it in `le' by the value.
+      numer_denom(tmp, num, den);
+      le -= coeff*v;
+      le *= den;
+      le -= num*coeff;
+      val_den *= den;
+      constant_v = true;
+      continue;
+    }
+    // Check the bounded differences with the other dimensions that
+    // have non-zero coefficient in `le'.
+    else {
+      PPL_ASSERT(!constant_v);
+      for (dimension_type j = i; j-- > 1; ) {
+        const Variable vj(j-1);
+        if (le.coefficient(vj) == 0)
+          // The coefficient in `le' is 0, so do nothing.
+          continue;
+        assign_r(tmp, dbm_i[j], ROUND_NOT_NEEDED);
+        if (is_additive_inverse(dbm[j][i], tmp)) {
+          // The coefficient for `vj' in `le' is not 0
+          // and the difference with `v' in the BD shape is constant.
+          // So apply this equality to eliminate `v' in `le'.
+          numer_denom(tmp, num, den);
+          le -= coeff*v - coeff*vj;
+          le *= den;
+          le -= num*coeff;
+          val_den *= den;
+          constant_v = true;
+          break;
+        }
+      }
+      if (!constant_v)
+        // The expression `expr' is not constant.
+        return false;
+    }
+  }
+  if (!constant_v)
+    // The expression `expr' is not constant.
+    return false;
+
+  // The expression `expr' is constant.
+  freq_n = 0;
+  freq_d = 1;
+
+  // Reduce `val_n' and `val_d'.
+  normalize2(le.inhomogeneous_term(), val_den, val_n, val_d);
+  return true;
+}
+
+template <typename T>
+bool
 BD_Shape<T>::constrains(const Variable var) const {
-  // `var' should be one of the dimensions of the polyhedron.
+  // `var' should be one of the dimensions of the BD shape.
   const dimension_type var_space_dim = var.space_dimension();
   if (space_dimension() < var_space_dim)
     throw_dimension_incompatible("constrains(v)", "v", var);
 
-  // A polyhedron known to be empty constrains all variables.
+  shortest_path_closure_assign();
+  // A BD shape known to be empty constrains all variables.
   // (Note: do not force emptiness check _yet_)
   if (marked_empty())
     return true;
@@ -793,8 +903,8 @@ template <typename T>
 void
 BD_Shape<T>
 ::compute_predecessors(std::vector<dimension_type>& predecessor) const {
-  assert(!marked_empty() && marked_shortest_path_closed());
-  assert(predecessor.size() == 0);
+  PPL_ASSERT(!marked_empty() && marked_shortest_path_closed());
+  PPL_ASSERT(predecessor.size() == 0);
   // Variables are ordered according to their index.
   // The vector `predecessor' is used to indicate which variable
   // immediately precedes a given one in the corresponding equivalence class.
@@ -822,18 +932,18 @@ BD_Shape<T>
 template <typename T>
 void
 BD_Shape<T>::compute_leaders(std::vector<dimension_type>& leaders) const {
-  assert(!marked_empty() && marked_shortest_path_closed());
-  assert(leaders.size() == 0);
+  PPL_ASSERT(!marked_empty() && marked_shortest_path_closed());
+  PPL_ASSERT(leaders.size() == 0);
   // Compute predecessor information.
   compute_predecessors(leaders);
   // Flatten the predecessor chains so as to obtain leaders.
-  assert(leaders[0] == 0);
+  PPL_ASSERT(leaders[0] == 0);
   for (dimension_type i = 1, l_size = leaders.size(); i != l_size; ++i) {
     const dimension_type l_i = leaders[i];
-    assert(l_i <= i);
+    PPL_ASSERT(l_i <= i);
     if (l_i != i) {
       const dimension_type ll_i = leaders[l_i];
-      assert(ll_i == leaders[ll_i]);
+      PPL_ASSERT(ll_i == leaders[ll_i]);
       leaders[i] = ll_i;
     }
   }
@@ -1051,7 +1161,7 @@ BD_Shape<T>::bounds(const Linear_Expression& expr,
       = from_above ? MAXIMIZATION : MINIMIZATION;
     MIP_Problem mip(space_dim, constraints(), expr, mode_bounds);
     // Problem is known to be feasible.
-    return (mip.solve() == OPTIMIZED_MIP_PROBLEM);
+    return mip.solve() == OPTIMIZED_MIP_PROBLEM;
   }
 }
 
@@ -1203,24 +1313,17 @@ BD_Shape<T>::max_min(const Linear_Expression& expr,
 template <typename T>
 Poly_Con_Relation
 BD_Shape<T>::relation_with(const Congruence& cg) const {
-  const dimension_type cg_space_dim = cg.space_dimension();
   const dimension_type space_dim = space_dimension();
 
   // Dimension-compatibility check.
-  if (cg_space_dim > space_dim)
+  if (cg.space_dimension() > space_dim)
     throw_dimension_incompatible("relation_with(cg)", cg);
 
-  // If the congruence is a bounded difference equality,
-  // find the relation with the equivalent equality constraint.
+  // If the congruence is an equality, find the relation with
+  // the equivalent equality constraint.
   if (cg.is_equality()) {
     Constraint c(cg);
-    dimension_type num_vars = 0;
-    dimension_type i = 0;
-    dimension_type j = 0;
-    PPL_DIRTY_TEMP_COEFFICIENT(coeff);
-    if (extract_bounded_difference(c, cg_space_dim, num_vars,
-                                    i, j, coeff))
-      return relation_with(c);
+    return relation_with(c);
   }
 
   shortest_path_closure_assign();
@@ -1233,37 +1336,68 @@ BD_Shape<T>::relation_with(const Congruence& cg) const {
   if (space_dim == 0) {
     if (cg.is_inconsistent())
       return Poly_Con_Relation::is_disjoint();
-    else if (cg.inhomogeneous_term() % cg.modulus() == 0)
+    else
       return Poly_Con_Relation::saturates()
         && Poly_Con_Relation::is_included();
   }
 
-  PPL_DIRTY_TEMP(Coefficient, min_num);
-  PPL_DIRTY_TEMP(Coefficient, min_den);
+  // Find the lower bound for a hyperplane with direction
+  // defined by the congruence.
+  Linear_Expression le = Linear_Expression(cg);
+  PPL_DIRTY_TEMP_COEFFICIENT(min_num);
+  PPL_DIRTY_TEMP_COEFFICIENT(min_den);
   bool min_included;
-  PPL_DIRTY_TEMP_COEFFICIENT(mod);
-  mod = cg.modulus();
-  Linear_Expression le;
-  for (dimension_type i = cg_space_dim; i-- > 0; )
-    le += cg.coefficient(Variable(i)) * Variable(i);
   bool bounded_below = minimize(le, min_num, min_den, min_included);
 
+  // If there is no lower bound, then some of the hyperplanes defined by
+  // the congruence will strictly intersect the shape.
   if (!bounded_below)
     return Poly_Con_Relation::strictly_intersects();
 
-  PPL_DIRTY_TEMP_COEFFICIENT(v);
-  PPL_DIRTY_TEMP_COEFFICIENT(lower_num);
-  PPL_DIRTY_TEMP_COEFFICIENT(lower_den);
-  PPL_DIRTY_TEMP_COEFFICIENT(lower);
-  assign_r(lower_num, min_num, ROUND_NOT_NEEDED);
-  assign_r(lower_den, min_den, ROUND_NOT_NEEDED);
-  neg_assign(v, cg.inhomogeneous_term());
-  lower = lower_num / lower_den;
-  v += ((lower / mod) * mod);
-  if (v * lower_den < lower_num)
-    v += mod;
-  const Constraint& c(le == v);
-  return relation_with(c);
+  // TODO: Consider adding a max_and_min() method, performing both
+  // maximization and minimization so as to possibly exploit
+  // incrementality of the MIP solver.
+
+  // Find the upper bound for a hyperplane with direction
+  // defined by the congruence.
+  PPL_DIRTY_TEMP_COEFFICIENT(max_num);
+  PPL_DIRTY_TEMP_COEFFICIENT(max_den);
+  bool max_included;
+  bool bounded_above = maximize(le, max_num, max_den, max_included);
+
+  // If there is no upper bound, then some of the hyperplanes defined by
+  // the congruence will strictly intersect the shape.
+  if (!bounded_above)
+    return Poly_Con_Relation::strictly_intersects();
+
+  PPL_DIRTY_TEMP_COEFFICIENT(signed_distance);
+
+  // Find the position value for the hyperplane that satisfies the congruence
+  // and is above the lower bound for the shape.
+  PPL_DIRTY_TEMP_COEFFICIENT(min_value);
+  min_value = min_num / min_den;
+  const Coefficient& modulus = cg.modulus();
+  signed_distance = min_value % modulus;
+  min_value -= signed_distance;
+  if (min_value * min_den < min_num)
+    min_value += modulus;
+
+  // Find the position value for the hyperplane that satisfies the congruence
+  // and is below the upper bound for the shape.
+  PPL_DIRTY_TEMP_COEFFICIENT(max_value);
+  max_value = max_num / max_den;
+  signed_distance = max_value % modulus;
+  max_value += signed_distance;
+  if (max_value * max_den > max_num)
+    max_value -= modulus;
+
+  // If the upper bound value is less than the lower bound value,
+  // then there is an empty intersection with the congruence;
+  // otherwise it will strictly intersect.
+  if (max_value < min_value)
+    return Poly_Con_Relation::is_disjoint();
+  else
+    return Poly_Con_Relation::strictly_intersects();
 }
 
 
@@ -1632,7 +1766,7 @@ BD_Shape<T>::shortest_path_closure_assign() const {
 
   // Fill the main diagonal with zeros.
   for (dimension_type h = num_dimensions + 1; h-- > 0; ) {
-    assert(is_plus_infinity(x.dbm[h][h]));
+    PPL_ASSERT(is_plus_infinity(x.dbm[h][h]));
     assign_r(x.dbm[h][h], 0, ROUND_NOT_NEEDED);
   }
 
@@ -1663,7 +1797,7 @@ BD_Shape<T>::shortest_path_closure_assign() const {
       return;
     }
     else {
-      assert(sgn(x_dbm_hh) == 0);
+      PPL_ASSERT(sgn(x_dbm_hh) == 0);
       // Restore PLUS_INFINITY on the main diagonal.
       assign_r(x_dbm_hh, PLUS_INFINITY, ROUND_NOT_NEEDED);
     }
@@ -1680,7 +1814,7 @@ BD_Shape<T>::incremental_shortest_path_closure_assign(Variable var) const {
   if (marked_empty() || marked_shortest_path_closed())
     return;
   const dimension_type num_dimensions = space_dimension();
-  assert(var.id() < num_dimensions);
+  PPL_ASSERT(var.id() < num_dimensions);
 
   // Even though the BDS will not change, its internal representation
   // is going to be modified by the incremental Floyd-Warshall algorithm.
@@ -1688,7 +1822,7 @@ BD_Shape<T>::incremental_shortest_path_closure_assign(Variable var) const {
 
   // Fill the main diagonal with zeros.
   for (dimension_type h = num_dimensions + 1; h-- > 0; ) {
-    assert(is_plus_infinity(x.dbm[h][h]));
+    PPL_ASSERT(is_plus_infinity(x.dbm[h][h]));
     assign_r(x.dbm[h][h], 0, ROUND_NOT_NEEDED);
   }
 
@@ -1773,7 +1907,7 @@ BD_Shape<T>::incremental_shortest_path_closure_assign(Variable var) const {
       return;
     }
     else {
-      assert(sgn(x_dbm_hh) == 0);
+      PPL_ASSERT(sgn(x_dbm_hh) == 0);
       // Restore PLUS_INFINITY on the main diagonal.
       assign_r(x_dbm_hh, PLUS_INFINITY, ROUND_NOT_NEEDED);
     }
@@ -1858,14 +1992,14 @@ BD_Shape<T>::shortest_path_reduction_assign() const {
         const dimension_type pred_j = predecessor[j];
         if (j == pred_j) {
           // We finally found the leader of `i'.
-          assert(redundancy[i][j]);
+          PPL_ASSERT(redundancy[i][j]);
           redundancy[i].clear(j);
           // Here we dealt with `j' (i.e., `pred_j'), but it is useless
           // to update `dealt_with' because `j' is a leader.
           break;
         }
         // We haven't found the leader of `i' yet.
-        assert(redundancy[pred_j][j]);
+        PPL_ASSERT(redundancy[pred_j][j]);
         redundancy[pred_j].clear(j);
         dealt_with[pred_j] = true;
         j = pred_j;
@@ -1878,7 +2012,7 @@ BD_Shape<T>::shortest_path_reduction_assign() const {
   std::swap(x.redundancy_dbm, redundancy);
   x.set_shortest_path_reduced();
 
-  assert(is_shortest_path_reduced());
+  PPL_ASSERT(is_shortest_path_reduced());
 }
 
 template <typename T>
@@ -1890,7 +2024,7 @@ BD_Shape<T>::upper_bound_assign(const BD_Shape& y) {
   if (space_dim != y.space_dimension())
     throw_dimension_incompatible("upper_bound_assign(y)", y);
 
-  // The poly-hull of a polyhedron `bd' with an empty polyhedron is `bd'.
+  // The upper bound of a BD shape `bd' with an empty shape is `bd'.
   y.shortest_path_closure_assign();
   if (y.marked_empty())
     return;
@@ -1902,7 +2036,7 @@ BD_Shape<T>::upper_bound_assign(const BD_Shape& y) {
 
   // The bds-hull consists in constructing `*this' with the maximum
   // elements selected from `*this' and `y'.
-  assert(space_dim == 0 || marked_shortest_path_closed());
+  PPL_ASSERT(space_dim == 0 || marked_shortest_path_closed());
   for (dimension_type i = space_dim + 1; i-- > 0; ) {
     DB_Row<N>& dbm_i = dbm[i];
     const DB_Row<N>& y_dbm_i = y.dbm[i];
@@ -1917,7 +2051,7 @@ BD_Shape<T>::upper_bound_assign(const BD_Shape& y) {
   // TODO: see whether reduction can be (efficiently!) maintained too.
   if (marked_shortest_path_reduced())
     reset_shortest_path_reduced();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -1928,7 +2062,7 @@ BD_Shape<T>::BFT00_upper_bound_assign_if_exact(const BD_Shape& y) {
   const dimension_type x_space_dim = x.space_dimension();
 
   // Private method: the caller must ensure the following.
-  assert(x_space_dim == y.space_dimension());
+  PPL_ASSERT(x_space_dim == y.space_dimension());
 
   // The zero-dim case is trivial.
   if (x_space_dim == 0) {
@@ -1976,7 +2110,7 @@ BD_Shape<T>::BFT00_upper_bound_assign_if_exact(const BD_Shape& y) {
         continue;
       if (!x_red_i[j]) {
         const N& x_dbm_ij = x_dbm_i[j];
-        assert(!is_plus_infinity(x_dbm_ij));
+        PPL_ASSERT(!is_plus_infinity(x_dbm_ij));
         numer_denom(x_dbm_ij, num, den);
         // Build skeleton DB constraint (having the right space dimension).
         db_expr = zero_expr;
@@ -1997,7 +2131,7 @@ BD_Shape<T>::BFT00_upper_bound_assign_if_exact(const BD_Shape& y) {
       if (!y_red_i[j]) {
         const N& y_dbm_ij = y_dbm_i[j];
         const N& x_dbm_ij = x_dbm_i[j];
-        assert(!is_plus_infinity(y_dbm_ij));
+        PPL_ASSERT(!is_plus_infinity(y_dbm_ij));
         numer_denom(y_dbm_ij, num, den);
         // Build skeleton DB constraint (having the right space dimension).
         db_expr = zero_expr;
@@ -2037,7 +2171,7 @@ BD_Shape<T>::BFT00_upper_bound_assign_if_exact(const BD_Shape& y) {
   MIP_Problem env_lp(x_space_dim + 1, env_cs, eps, MAXIMIZATION);
   // Pre-solve `env_lp' to later exploit incrementality.
   env_lp.solve();
-  assert(env_lp.solve() != UNFEASIBLE_MIP_PROBLEM);
+  PPL_ASSERT(env_lp.solve() != UNFEASIBLE_MIP_PROBLEM);
 
   // Implementing loop in Steps 3-6.
   for (Constraint_System::const_iterator i = x_cs_removed.begin(),
@@ -2069,21 +2203,27 @@ BD_Shape<T>::BFT00_upper_bound_assign_if_exact(const BD_Shape& y) {
 
   // The upper bound of x and y is indeed exact.
   upper_bound_assign(y);
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
 template <typename T>
+template <bool integer_upper_bound>
 bool
 BD_Shape<T>::BHZ09_upper_bound_assign_if_exact(const BD_Shape& y) {
-  // FIXME, CHECKME: what about inexact computations?
+  PPL_COMPILE_TIME_CHECK(!integer_upper_bound
+                         || std::numeric_limits<T>::is_integer,
+                         "BD_Shape<T>::BHZ09_upper_bound_assign_if_exact(y):"
+                         " instantiating for integer upper bound,"
+                         " but T in not an integer datatype.");
 
+  // FIXME, CHECKME: what about inexact computations?
   // Declare a const reference to *this (to avoid accidental modifications).
   const BD_Shape& x = *this;
   const dimension_type x_space_dim = x.space_dimension();
 
   // Private method: the caller must ensure the following.
-  assert(x_space_dim == y.space_dimension());
+  PPL_ASSERT(x_space_dim == y.space_dimension());
 
   // The zero-dim case is trivial.
   if (x_space_dim == 0) {
@@ -2105,8 +2245,8 @@ BD_Shape<T>::BHZ09_upper_bound_assign_if_exact(const BD_Shape& y) {
   // Here both `x' and `y' are known to be non-empty.
   x.shortest_path_reduction_assign();
   y.shortest_path_reduction_assign();
-  assert(x.marked_shortest_path_closed());
-  assert(y.marked_shortest_path_closed());
+  PPL_ASSERT(x.marked_shortest_path_closed());
+  PPL_ASSERT(y.marked_shortest_path_closed());
   // Pre-compute the upper bound of `x' and `y'.
   BD_Shape<T> ub(x);
   ub.upper_bound_assign(y);
@@ -2115,6 +2255,9 @@ BD_Shape<T>::BHZ09_upper_bound_assign_if_exact(const BD_Shape& y) {
   PPL_DIRTY_TEMP(N, rhs);
   PPL_DIRTY_TEMP(N, temp_zero);
   assign_r(temp_zero, 0, ROUND_NOT_NEEDED);
+  PPL_DIRTY_TEMP(N, temp_one);
+  if (integer_upper_bound)
+    assign_r(temp_one, 1, ROUND_NOT_NEEDED);
 
   for (dimension_type i = x_space_dim + 1; i-- > 0; ) {
     const DB_Row<N>& x_i = x.dbm[i];
@@ -2126,7 +2269,7 @@ BD_Shape<T>::BHZ09_upper_bound_assign_if_exact(const BD_Shape& y) {
       if (x_red_i[j])
         continue;
       // By non-redundancy, we know that i != j.
-      assert(i != j);
+      PPL_ASSERT(i != j);
       const N& x_i_j = x_i[j];
       if (x_i_j < y_i[j]) {
         for (dimension_type k = x_space_dim + 1; k-- > 0; ) {
@@ -2140,7 +2283,7 @@ BD_Shape<T>::BHZ09_upper_bound_assign_if_exact(const BD_Shape& y) {
             if (y_red_k[ell])
               continue;
             // By non-redundancy, we know that k != ell.
-            assert(k != ell);
+            PPL_ASSERT(k != ell);
             const N& y_k_ell = y_k[ell];
             if (y_k_ell < x_k[ell]) {
               // The first condition in BHZ09 theorem holds;
@@ -2148,6 +2291,12 @@ BD_Shape<T>::BHZ09_upper_bound_assign_if_exact(const BD_Shape& y) {
               add_assign_r(lhs, x_i_j, y_k_ell, ROUND_UP);
               const N& ub_i_ell = (i == ell) ? temp_zero : ub_i[ell];
               add_assign_r(rhs, ub_i_ell, ub_k_j, ROUND_UP);
+              if (integer_upper_bound) {
+                // Note: adding 1 rather than 2 (as in Theorem 5.3)
+                // so as to later test for < rather than <=.
+                add_assign_r(lhs, lhs, temp_one, ROUND_NOT_NEEDED);
+              }
+              // Testing for < in both the rational and integer case.
               if (lhs < rhs)
                 return false;
             }
@@ -2158,7 +2307,7 @@ BD_Shape<T>::BHZ09_upper_bound_assign_if_exact(const BD_Shape& y) {
   }
   // The upper bound of x and y is indeed exact.
   swap(ub);
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
@@ -2229,7 +2378,7 @@ BD_Shape<T>::difference_assign(const BD_Shape& y) {
     }
   }
   *this = new_bd_shape;
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -2300,12 +2449,12 @@ BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
 
   found:
     // Found: build a new BDS contradicting the constraint found.
-    assert(i <= dim && j <= dim && (i > 0 || j > 0));
+    PPL_ASSERT(i <= dim && j <= dim && (i > 0 || j > 0));
     BD_Shape<T> res(dim, UNIVERSE);
     PPL_DIRTY_TEMP(N, tmp);
     assign_r(tmp, 1, ROUND_UP);
     add_assign_r(tmp, tmp, y.dbm[i][j], ROUND_UP);
-    assert(!is_plus_infinity(tmp));
+    PPL_ASSERT(!is_plus_infinity(tmp));
     // CHECKME: round down is really meant.
     neg_assign_r(res.dbm[j][i], tmp, ROUND_DOWN);
     x.swap(res);
@@ -2325,7 +2474,7 @@ BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
   dimension_type x_num_nonredundant = (dim+1)*(dim+1);
   for (dimension_type i = dim + 1; i-- > 0; )
     x_num_nonredundant -= x.redundancy_dbm[i].count_ones();
-  assert(x_num_nonredundant > 0);
+  PPL_ASSERT(x_num_nonredundant > 0);
 
   // Let `yy' be a copy of `y': we will keep adding to `yy'
   // the non-redundant constraints of `x',
@@ -2350,7 +2499,7 @@ BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
     // provided index j has special variable index 0 as its leader.
     if (x_leaders[j] != 0)
       continue;
-    assert(!is_plus_infinity(x_dbm_0[j]));
+    PPL_ASSERT(!is_plus_infinity(x_dbm_0[j]));
     if (x_dbm_0[j] < yy_dbm_0[j]) {
       res_dbm_0[j] = x_dbm_0[j];
       ++res_num_nonredundant;
@@ -2358,7 +2507,7 @@ BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
       yy_dbm_0[j] = x_dbm_0[j];
       yy.reset_shortest_path_closed();
     }
-    assert(!is_plus_infinity(x.dbm[j][0]));
+    PPL_ASSERT(!is_plus_infinity(x.dbm[j][0]));
     if (x.dbm[j][0] < yy.dbm[j][0]) {
       res.dbm[j][0] = x.dbm[j][0];
       ++res_num_nonredundant;
@@ -2387,7 +2536,7 @@ BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
     const dimension_type j = x_leaders[i];
     if (j == i || j == 0)
       continue;
-    assert(!is_plus_infinity(x.dbm[i][j]));
+    PPL_ASSERT(!is_plus_infinity(x.dbm[i][j]));
     if (x.dbm[i][j] < yy.dbm[i][j]) {
       res.dbm[i][j] = x.dbm[i][j];
       ++res_num_nonredundant;
@@ -2395,7 +2544,7 @@ BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
       yy.dbm[i][j] = x.dbm[i][j];
       yy.reset_shortest_path_closed();
     }
-    assert(!is_plus_infinity(x.dbm[j][i]));
+    PPL_ASSERT(!is_plus_infinity(x.dbm[j][i]));
     if (x.dbm[j][i] < yy.dbm[j][i]) {
       res.dbm[j][i] = x.dbm[j][i];
       ++res_num_nonredundant;
@@ -2438,7 +2587,7 @@ BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
         // Tighten context `yy' using the newly added constraint.
         yy_dbm_ij = x_dbm_ij;
         yy.reset_shortest_path_closed();
-        assert(i > 0 || j > 0);
+        PPL_ASSERT(i > 0 || j > 0);
         Variable var((i > 0 ? i : j) - 1);
         yy.incremental_shortest_path_closure_assign(var);
         if (target.contains(yy)) {
@@ -2482,7 +2631,7 @@ BD_Shape<T>::add_space_dimensions_and_embed(const dimension_type m) {
   if (was_zero_dim_univ)
     set_shortest_path_closed();
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -2508,7 +2657,7 @@ BD_Shape<T>::add_space_dimensions_and_project(const dimension_type m) {
       }
       set_shortest_path_closed();
     }
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -2528,24 +2677,24 @@ BD_Shape<T>::add_space_dimensions_and_project(const dimension_type m) {
 
   if (marked_shortest_path_closed())
     reset_shortest_path_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
 void
-BD_Shape<T>::remove_space_dimensions(const Variables_Set& to_be_removed) {
+BD_Shape<T>::remove_space_dimensions(const Variables_Set& vars) {
   // The removal of no dimensions from any BDS is a no-op.
   // Note that this case also captures the only legal removal of
   // space dimensions from a BDS in a 0-dim space.
-  if (to_be_removed.empty()) {
-    assert(OK());
+  if (vars.empty()) {
+    PPL_ASSERT(OK());
     return;
   }
 
   const dimension_type old_space_dim = space_dimension();
 
   // Dimension-compatibility check.
-  const dimension_type min_space_dim = to_be_removed.space_dimension();
+  const dimension_type min_space_dim = vars.space_dimension();
   if (old_space_dim < min_space_dim)
     throw_dimension_incompatible("remove_space_dimensions(vs)", min_space_dim);
 
@@ -2554,20 +2703,20 @@ BD_Shape<T>::remove_space_dimensions(const Variables_Set& to_be_removed) {
 
   // When removing _all_ dimensions from a BDS, we obtain the
   // zero-dimensional BDS.
-  const dimension_type new_space_dim = old_space_dim - to_be_removed.size();
+  const dimension_type new_space_dim = old_space_dim - vars.size();
   if (new_space_dim == 0) {
     dbm.resize_no_copy(1);
     if (!marked_empty())
       // We set the zero_dim_univ flag.
       set_zero_dim_univ();
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
   // Handle the case of an empty BD_Shape.
   if (marked_empty()) {
     dbm.resize_no_copy(new_space_dim + 1);
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -2579,15 +2728,15 @@ BD_Shape<T>::remove_space_dimensions(const Variables_Set& to_be_removed) {
   // For each variable to remove, we fill the corresponding column and
   // row by shifting respectively left and above those
   // columns and rows, that will not be removed.
-  Variables_Set::const_iterator tbr = to_be_removed.begin();
-  Variables_Set::const_iterator tbr_end = to_be_removed.end();
-  dimension_type dst = *tbr + 1;
+  Variables_Set::const_iterator vsi = vars.begin();
+  Variables_Set::const_iterator vsi_end = vars.end();
+  dimension_type dst = *vsi + 1;
   dimension_type src = dst + 1;
-  for (++tbr; tbr != tbr_end; ++tbr) {
-    const dimension_type tbr_next = *tbr + 1;
+  for (++vsi; vsi != vsi_end; ++vsi) {
+    const dimension_type vsi_next = *vsi + 1;
     // All other columns and rows are moved respectively to the left
     // and above.
-    while (src < tbr_next) {
+    while (src < vsi_next) {
       std::swap(dbm[dst], dbm[src]);
       for (dimension_type i = old_space_dim + 1; i-- > 0; ) {
         DB_Row<N>& dbm_i = dbm[i];
@@ -2612,7 +2761,7 @@ BD_Shape<T>::remove_space_dimensions(const Variables_Set& to_be_removed) {
 
   // Update the space dimension.
   dbm.resize_no_copy(new_space_dim + 1);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -2681,7 +2830,7 @@ BD_Shape<T>::map_space_dimensions(const Partial_Function& pfunc) {
   }
 
   std::swap(dbm, x);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -2726,7 +2875,7 @@ BD_Shape<T>::intersection_assign(const BD_Shape& y) {
 
   if (changed && marked_shortest_path_closed())
     reset_shortest_path_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -2746,7 +2895,7 @@ BD_Shape<T>::CC76_extrapolation_assign(const BD_Shape& y,
     // We assume that `y' is contained in or equal to `*this'.
     const BD_Shape x_copy = *this;
     const BD_Shape y_copy = y;
-    assert(x_copy.contains(y_copy));
+    PPL_ASSERT(x_copy.contains(y_copy));
   }
 #endif
 
@@ -2800,7 +2949,7 @@ BD_Shape<T>::CC76_extrapolation_assign(const BD_Shape& y,
     }
   }
   reset_shortest_path_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -2809,7 +2958,7 @@ BD_Shape<T>::get_limiting_shape(const Constraint_System& cs,
                                 BD_Shape& limiting_shape) const {
   const dimension_type cs_space_dim = cs.space_dimension();
   // Private method: the caller has to ensure the following.
-  assert(cs_space_dim <= space_dimension());
+  PPL_ASSERT(cs_space_dim <= space_dimension());
 
   shortest_path_closure_assign();
   bool changed = false;
@@ -2849,7 +2998,7 @@ BD_Shape<T>::get_limiting_shape(const Constraint_System& cs,
           neg_assign(minus_c_term, c.inhomogeneous_term());
           div_round_up(d1, minus_c_term, coeff);
           if (y <= d1)
-	    if((ls_x >= d && ls_y > d1) || (ls_x > d && ls_y >= d1)) {
+	    if ((ls_x >= d && ls_y > d1) || (ls_x > d && ls_y >= d1)) {
 	      ls_x = d;
 	      ls_y = d1;
 	      changed = true;
@@ -2899,7 +3048,7 @@ BD_Shape<T>::limited_CC76_extrapolation_assign(const BD_Shape& y,
     // We assume that `y' is contained in or equal to `*this'.
     const BD_Shape x_copy = *this;
     const BD_Shape y_copy = y;
-    assert(x_copy.contains(y_copy));
+    PPL_ASSERT(x_copy.contains(y_copy));
   }
 #endif
 
@@ -2930,7 +3079,7 @@ BD_Shape<T>::BHMZ05_widening_assign(const BD_Shape& y, unsigned* tp) {
     // We assume that `y' is contained in or equal to `*this'.
     const BD_Shape x_copy = *this;
     const BD_Shape y_copy = y;
-    assert(x_copy.contains(y_copy));
+    PPL_ASSERT(x_copy.contains(y_copy));
   }
 #endif
 
@@ -2945,7 +3094,7 @@ BD_Shape<T>::BHMZ05_widening_assign(const BD_Shape& y, unsigned* tp) {
   // If the affine dimension has changed, due to the inclusion hypothesis,
   // the result is `*this'.
   const dimension_type x_affine_dim = affine_dimension();
-  assert(x_affine_dim >= y_affine_dim);
+  PPL_ASSERT(x_affine_dim >= y_affine_dim);
   if (x_affine_dim != y_affine_dim)
     return;
 
@@ -2960,7 +3109,7 @@ BD_Shape<T>::BHMZ05_widening_assign(const BD_Shape& y, unsigned* tp) {
   }
 
   // Here no token is available.
-  assert(marked_shortest_path_closed() && y.marked_shortest_path_closed());
+  PPL_ASSERT(marked_shortest_path_closed() && y.marked_shortest_path_closed());
   // Minimize `y'.
   y.shortest_path_reduction_assign();
 
@@ -2983,7 +3132,7 @@ BD_Shape<T>::BHMZ05_widening_assign(const BD_Shape& y, unsigned* tp) {
   // current implementation invariant requires that any reduced dbm
   // is closed too.
   reset_shortest_path_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -3019,7 +3168,7 @@ BD_Shape<T>::limited_BHMZ05_extrapolation_assign(const BD_Shape& y,
     // We assume that `y' is contained in or equal to `*this'.
     const BD_Shape x_copy = *this;
     const BD_Shape y_copy = y;
-    assert(x_copy.contains(y_copy));
+    PPL_ASSERT(x_copy.contains(y_copy));
   }
 #endif
 
@@ -3050,7 +3199,7 @@ BD_Shape<T>::CC76_narrowing_assign(const BD_Shape& y) {
     // We assume that `*this' is contained in or equal to `y'.
     const BD_Shape x_copy = *this;
     const BD_Shape y_copy = y;
-    assert(y_copy.contains(x_copy));
+    PPL_ASSERT(y_copy.contains(x_copy));
   }
 #endif
 
@@ -3087,7 +3236,7 @@ BD_Shape<T>::CC76_narrowing_assign(const BD_Shape& y) {
   }
   if (changed && marked_shortest_path_closed())
     reset_shortest_path_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -3098,8 +3247,8 @@ BD_Shape<T>
                           const Linear_Expression& sc_expr,
                           Coefficient_traits::const_reference sc_den,
                           const N& ub_v) {
-  assert(sc_den > 0);
-  assert(!is_plus_infinity(ub_v));
+  PPL_ASSERT(sc_den > 0);
+  PPL_ASSERT(!is_plus_infinity(ub_v));
   // Deduce constraints of the form `v - u', where `u != v'.
   // Note: the shortest-path closure is able to deduce the constraint
   // `v - u <= ub_v - lb_u'. We can be more precise if variable `u'
@@ -3159,8 +3308,8 @@ BD_Shape<T>
                           const Linear_Expression& sc_expr,
                           Coefficient_traits::const_reference sc_den,
                           const N& minus_lb_v) {
-  assert(sc_den > 0);
-  assert(!is_plus_infinity(minus_lb_v));
+  PPL_ASSERT(sc_den > 0);
+  PPL_ASSERT(!is_plus_infinity(minus_lb_v));
   // Deduce constraints of the form `u - v', where `u != v'.
   // Note: the shortest-path closure is able to deduce the constraint
   // `u - v <= ub_u - lb_v'. We can be more precise if variable `u'
@@ -3216,7 +3365,7 @@ BD_Shape<T>
 template <typename T>
 void
 BD_Shape<T>::forget_all_dbm_constraints(const dimension_type v) {
-  assert(0 < v && v <= dbm.num_rows());
+  PPL_ASSERT(0 < v && v <= dbm.num_rows());
   DB_Row<N>& dbm_v = dbm[v];
   for (dimension_type i = dbm.num_rows(); i-- > 0; ) {
     assign_r(dbm_v[i], PLUS_INFINITY, ROUND_NOT_NEEDED);
@@ -3227,7 +3376,7 @@ BD_Shape<T>::forget_all_dbm_constraints(const dimension_type v) {
 template <typename T>
 void
 BD_Shape<T>::forget_binary_dbm_constraints(const dimension_type v) {
-  assert(0 < v && v <= dbm.num_rows());
+  PPL_ASSERT(0 < v && v <= dbm.num_rows());
   DB_Row<N>& dbm_v = dbm[v];
   for (dimension_type i = dbm.num_rows()-1; i > 0; --i) {
     assign_r(dbm_v[i], PLUS_INFINITY, ROUND_NOT_NEEDED);
@@ -3254,19 +3403,19 @@ BD_Shape<T>::unconstrain(const Variable var) {
   forget_all_dbm_constraints(dim+1);
   // Shortest-path closure is preserved, but not reduction.
   reset_shortest_path_reduced();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
 void
-BD_Shape<T>::unconstrain(const Variables_Set& to_be_unconstrained) {
+BD_Shape<T>::unconstrain(const Variables_Set& vars) {
   // The cylindrification wrt no dimensions is a no-op.
   // This case captures the only legal cylindrification in a 0-dim space.
-  if (to_be_unconstrained.empty())
+  if (vars.empty())
     return;
 
   // Dimension-compatibility check.
-  const dimension_type min_space_dim = to_be_unconstrained.space_dimension();
+  const dimension_type min_space_dim = vars.space_dimension();
   if (space_dimension() < min_space_dim)
     throw_dimension_incompatible("unconstrain(vs)", min_space_dim);
 
@@ -3278,12 +3427,12 @@ BD_Shape<T>::unconstrain(const Variables_Set& to_be_unconstrained) {
   if (marked_empty())
     return;
 
-  for (Variables_Set::const_iterator tbu = to_be_unconstrained.begin(),
-         tbu_end = to_be_unconstrained.end(); tbu != tbu_end; ++tbu)
-    forget_all_dbm_constraints(*tbu + 1);
+  for (Variables_Set::const_iterator vsi = vars.begin(),
+         vsi_end = vars.end(); vsi != vsi_end; ++vsi)
+    forget_all_dbm_constraints(*vsi + 1);
   // Shortest-path closure is preserved, but not reduction.
   reset_shortest_path_reduced();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -3292,13 +3441,13 @@ BD_Shape<T>::refine(const Variable var,
                     const Relation_Symbol relsym,
                     const Linear_Expression& expr,
                     Coefficient_traits::const_reference denominator) {
-  assert(denominator != 0);
+  PPL_ASSERT(denominator != 0);
   const dimension_type expr_space_dim = expr.space_dimension();
-  assert(space_dimension() >= expr_space_dim);
+  PPL_ASSERT(space_dimension() >= expr_space_dim);
   const dimension_type v = var.id() + 1;
-  assert(v <= space_dimension());
-  assert(expr.coefficient(var) == 0);
-  assert(relsym != LESS_THAN && relsym != GREATER_THAN);
+  PPL_ASSERT(v <= space_dimension());
+  PPL_ASSERT(expr.coefficient(var) == 0);
+  PPL_ASSERT(relsym != LESS_THAN && relsym != GREATER_THAN);
 
   const Coefficient& b = expr.inhomogeneous_term();
   // Number of non-zero coefficients in `expr': will be set to
@@ -3357,7 +3506,7 @@ BD_Shape<T>::refine(const Variable var,
 
   if (t == 1) {
     // Case 2: expr == a*w + b, w != v, a == denominator.
-    assert(expr.coefficient(Variable(w-1)) == denominator);
+    PPL_ASSERT(expr.coefficient(Variable(w-1)) == denominator);
     PPL_DIRTY_TEMP(N, d);
     switch (relsym) {
     case EQUAL:
@@ -3491,7 +3640,7 @@ BD_Shape<T>::refine(const Variable var,
       }
       // Return immediately if no approximation could be computed.
       if (pinf_count > 1 && neg_pinf_count > 1) {
-        assert(OK());
+        PPL_ASSERT(OK());
         return;
       }
 
@@ -3668,7 +3817,7 @@ BD_Shape<T>::refine(const Variable var,
     throw std::runtime_error("PPL internal error");
   }
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -3733,7 +3882,7 @@ BD_Shape<T>::affine_image(const Variable var,
     // Add the constraint `var == b/denominator'.
     add_dbm_constraint(0, v, b, denominator);
     add_dbm_constraint(v, 0, b, minus_den);
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -3822,7 +3971,7 @@ BD_Shape<T>::affine_image(const Variable var,
           }
         }
       }
-      assert(OK());
+      PPL_ASSERT(OK());
       return;
     }
   }
@@ -3934,7 +4083,7 @@ BD_Shape<T>::affine_image(const Variable var,
     reset_shortest_path_reduced();
   // Return immediately if no approximation could be computed.
   if (pos_pinf_count > 1 && neg_pinf_count > 1) {
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -3999,7 +4148,7 @@ BD_Shape<T>::affine_image(const Variable var,
         dbm[v][neg_pinf_index] = neg_sum;
   }
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -4058,7 +4207,7 @@ BD_Shape<T>::affine_preimage(const Variable var,
     // Shortest-path closure is preserved, but not reduction.
     if (marked_shortest_path_reduced())
       reset_shortest_path_reduced();
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -4077,7 +4226,7 @@ BD_Shape<T>::affine_preimage(const Variable var,
         // Shortest-path closure is preserved, but not reduction.
         if (marked_shortest_path_reduced())
           reset_shortest_path_reduced();
-        assert(OK());
+        PPL_ASSERT(OK());
       }
       return;
     }
@@ -4101,7 +4250,7 @@ BD_Shape<T>::affine_preimage(const Variable var,
     if (marked_shortest_path_reduced())
       reset_shortest_path_reduced();
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -4171,7 +4320,7 @@ BD_Shape<T>
                              denominator);
     // Add the constraint `var <= b/denominator'.
     add_dbm_constraint(0, v, b, denominator);
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -4189,7 +4338,7 @@ BD_Shape<T>
         affine_image(new_var, ub_expr, denominator);
         // NOTE: enforce shortest-path closure for precision.
         shortest_path_closure_assign();
-        assert(!marked_empty());
+        PPL_ASSERT(!marked_empty());
         // Apply the affine lower bound.
         generalized_affine_image(var,
                                  GREATER_OR_EQUAL,
@@ -4226,7 +4375,7 @@ BD_Shape<T>
             reset_shortest_path_closed();
           }
         }
-        assert(OK());
+        PPL_ASSERT(OK());
         return;
       }
     }
@@ -4343,7 +4492,7 @@ BD_Shape<T>
         // Add the constraint `v - pos_pinf_index <= pos_sum'.
         dbm[pos_pinf_index][v] = pos_sum;
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -4404,7 +4553,7 @@ BD_Shape<T>
   neg_assign(lb_inverse_den, lb_expr_v);
   affine_image(new_var, lb_inverse, lb_inverse_den);
   shortest_path_closure_assign();
-  assert(!marked_empty());
+  PPL_ASSERT(!marked_empty());
   generalized_affine_preimage(var, LESS_OR_EQUAL,
                               ub_expr, denominator);
   if (sgn(denominator) == sgn(lb_inverse_den))
@@ -4453,7 +4602,7 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
                   "*this is a BD_Shape");
 
   if (relsym == EQUAL) {
-    // The relation symbol is "==":
+    // The relation symbol is "=":
     // this is just an affine image computation.
     affine_image(var, expr, denominator);
     return;
@@ -4511,7 +4660,7 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
       // We already dealt with the other cases.
       throw std::runtime_error("PPL internal error");
     }
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -4634,7 +4783,7 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
         // We already dealt with the other cases.
         throw std::runtime_error("PPL internal error");
       }
-      assert(OK());
+      PPL_ASSERT(OK());
       return;
     }
   }
@@ -4709,7 +4858,7 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
       reset_shortest_path_reduced();
     // Return immediately if no approximation could be computed.
     if (pinf_count > 1) {
-      assert(OK());
+      PPL_ASSERT(OK());
       return;
     }
 
@@ -4775,7 +4924,7 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
       reset_shortest_path_reduced();
     // Return immediately if no approximation could be computed.
     if (pinf_count > 1) {
-      assert(OK());
+      PPL_ASSERT(OK());
       return;
     }
 
@@ -4809,7 +4958,7 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
     // We already dealt with the other cases.
     throw std::runtime_error("PPL internal error");
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -4965,7 +5114,7 @@ BD_Shape<T>::generalized_affine_image(const Linear_Expression& lhs,
       // Existentially quantify all variables in the lhs.
       // NOTE: enforce shortest-path closure for precision.
       shortest_path_closure_assign();
-      assert(!marked_empty());
+      PPL_ASSERT(!marked_empty());
       for (dimension_type i = lhs_vars.size(); i-- > 0; )
         forget_all_dbm_constraints(lhs_vars[i].id() + 1);
       // Constrain the new dimension so that it is related to
@@ -4994,7 +5143,7 @@ BD_Shape<T>::generalized_affine_image(const Linear_Expression& lhs,
     }
   }
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -5035,7 +5184,7 @@ BD_Shape<T>::generalized_affine_preimage(const Variable var,
                   "*this is a BD_Shape");
 
   if (relsym == EQUAL) {
-    // The relation symbol is "==":
+    // The relation symbol is "=":
     // this is just an affine preimage computation.
     affine_preimage(var, expr, denominator);
     return;
@@ -5072,7 +5221,7 @@ BD_Shape<T>::generalized_affine_preimage(const Variable var,
   // Shortest-path closure is preserved, but not reduction.
   if (marked_shortest_path_reduced())
     reset_shortest_path_reduced();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -5206,7 +5355,7 @@ BD_Shape<T>::generalized_affine_preimage(const Linear_Expression& lhs,
       // Existentiallly quantify all variables in the lhs.
       // NOTE: enforce shortest-path closure for precision.
       shortest_path_closure_assign();
-      assert(!marked_empty());
+      PPL_ASSERT(!marked_empty());
       for (dimension_type i = lhs_vars.size(); i-- > 0; )
         forget_all_dbm_constraints(lhs_vars[i].id() + 1);
       // Constrain the new dimension so that it is related to
@@ -5235,7 +5384,7 @@ BD_Shape<T>::generalized_affine_preimage(const Linear_Expression& lhs,
     }
   }
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -5348,13 +5497,13 @@ BD_Shape<T>::minimized_constraints() const {
         // Generate the constraint relating `i' and its leader.
         if (leader == 0) {
           // A unary equality has to be generated.
-          assert(!is_plus_infinity(dbm_0[i]));
+          PPL_ASSERT(!is_plus_infinity(dbm_0[i]));
           numer_denom(dbm_0[i], num, den);
           cs.insert(den*Variable(i-1) == num);
         }
         else {
           // A binary equality has to be generated.
-          assert(!is_plus_infinity(dbm[i][leader]));
+          PPL_ASSERT(!is_plus_infinity(dbm[i][leader]));
           numer_denom(dbm[i][leader], num, den);
           cs.insert(den*Variable(leader-1) - den*Variable(i-1) == num);
         }
@@ -5436,43 +5585,43 @@ BD_Shape<T>::expand_space_dimension(Variable var, dimension_type m) {
   // closure or reduction of the bounded difference shape.
   if (marked_shortest_path_closed())
     reset_shortest_path_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
 void
-BD_Shape<T>::fold_space_dimensions(const Variables_Set& to_be_folded,
-                                   Variable var) {
+BD_Shape<T>::fold_space_dimensions(const Variables_Set& vars,
+                                   Variable dest) {
   const dimension_type space_dim = space_dimension();
-  // `var' should be one of the dimensions of the BDS.
-  if (var.space_dimension() > space_dim)
-    throw_dimension_incompatible("fold_space_dimensions(tbf, v)",
-                                 "v", var);
+  // `dest' should be one of the dimensions of the BDS.
+  if (dest.space_dimension() > space_dim)
+    throw_dimension_incompatible("fold_space_dimensions(vs, v)",
+                                 "v", dest);
 
   // The folding of no dimensions is a no-op.
-  if (to_be_folded.empty())
+  if (vars.empty())
     return;
 
-  // All variables in `to_be_folded' should be dimensions of the BDS.
-  if (to_be_folded.space_dimension() > space_dim)
-    throw_dimension_incompatible("fold_space_dimensions(tbf, ...)",
-                                 to_be_folded.space_dimension());
+  // All variables in `vars' should be dimensions of the BDS.
+  if (vars.space_dimension() > space_dim)
+    throw_dimension_incompatible("fold_space_dimensions(vs, v)",
+                                 vars.space_dimension());
 
-  // Moreover, `var.id()' should not occur in `to_be_folded'.
-  if (to_be_folded.find(var.id()) != to_be_folded.end())
-    throw_generic("fold_space_dimensions(tbf, v)",
-                  "v should not occur in tbf");
+  // Moreover, `dest.id()' should not occur in `vars'.
+  if (vars.find(dest.id()) != vars.end())
+    throw_generic("fold_space_dimensions(vs, v)",
+                  "v should not occur in vs");
 
   shortest_path_closure_assign();
   if (!marked_empty()) {
     // Recompute the elements of the row and the column corresponding
-    // to variable `var' by taking the join of their value with the
+    // to variable `dest' by taking the join of their value with the
     // value of the corresponding elements in the row and column of the
-    // variable `to_be_folded'.
-    const dimension_type v_id = var.id() + 1;
+    // variable `vars'.
+    const dimension_type v_id = dest.id() + 1;
     DB_Row<N>& dbm_v = dbm[v_id];
-    for (Variables_Set::const_iterator i = to_be_folded.begin(),
-           tbf_end = to_be_folded.end(); i != tbf_end; ++i) {
+    for (Variables_Set::const_iterator i = vars.begin(),
+           vs_end = vars.end(); i != vs_end; ++i) {
       const dimension_type tbf_id = *i + 1;
       const DB_Row<N>& dbm_tbf = dbm[tbf_id];
       for (dimension_type j = space_dim + 1; j-- > 0; ) {
@@ -5481,7 +5630,69 @@ BD_Shape<T>::fold_space_dimensions(const Variables_Set& to_be_folded,
       }
     }
   }
-  remove_space_dimensions(to_be_folded);
+  remove_space_dimensions(vars);
+}
+
+template <typename T>
+void
+BD_Shape<T>::drop_some_non_integer_points(Complexity_Class) {
+  if (std::numeric_limits<T>::is_integer)
+    return;
+
+  const dimension_type space_dim = space_dimension();
+  shortest_path_closure_assign();
+  if (space_dim == 0 || marked_empty())
+    return;
+
+  for (dimension_type i = space_dim + 1; i-- > 0; ) {
+    DB_Row<N>& dbm_i = dbm[i];
+    for (dimension_type j = space_dim + 1; j-- > 0; )
+      if (i != j)
+        drop_some_non_integer_points_helper(dbm_i[j]);
+  }
+  PPL_ASSERT(OK());
+}
+
+template <typename T>
+void
+BD_Shape<T>::drop_some_non_integer_points(const Variables_Set& vars,
+                                          Complexity_Class) {
+  // Dimension-compatibility check.
+  const dimension_type space_dim = space_dimension();
+  const dimension_type min_space_dim = vars.space_dimension();
+  if (space_dim < min_space_dim)
+    throw_dimension_incompatible("drop_some_non_integer_points(vs, cmpl)",
+                                 min_space_dim);
+
+  if (std::numeric_limits<T>::is_integer || min_space_dim == 0)
+    return;
+
+  shortest_path_closure_assign();
+  if (marked_empty())
+    return;
+
+  const Variables_Set::const_iterator v_begin = vars.begin();
+  const Variables_Set::const_iterator v_end = vars.end();
+  PPL_ASSERT(v_begin != v_end);
+  // Unary constraints on a variable occurring in `vars'.
+  DB_Row<N>& dbm_0 = dbm[0];
+  for (Variables_Set::const_iterator v_i = v_begin; v_i != v_end; ++v_i) {
+    const dimension_type i = *v_i + 1;
+    drop_some_non_integer_points_helper(dbm_0[i]);
+    drop_some_non_integer_points_helper(dbm[i][0]);
+  }
+
+  // Binary constraints where both variables occur in `vars'.
+  for (Variables_Set::const_iterator v_i = v_begin; v_i != v_end; ++v_i) {
+    const dimension_type i = *v_i + 1;
+    DB_Row<N>& dbm_i = dbm[i];
+    for (Variables_Set::const_iterator v_j = v_begin; v_j != v_end; ++v_j) {
+      const dimension_type j = *v_j + 1;
+      if (i != j)
+        drop_some_non_integer_points_helper(dbm_i[j]);
+    }
+  }
+  PPL_ASSERT(OK());
 }
 
 /*! \relates Parma_Polyhedra_Library::BD_Shape */
@@ -5510,23 +5721,23 @@ IO_Operators::operator<<(std::ostream& s, const BD_Shape<T>& c) {
             else
               s << ", ";
             if (i == 0) {
-              // We have got a equality constraint with one Variable.
+              // We have got a equality constraint with one variable.
               s << Variable(j - 1);
-              s << " == " << c_i_j;
+              s << " = " << c_i_j;
             }
             else {
-              // We have got a equality constraint with two Variables.
+              // We have got a equality constraint with two variables.
               if (sgn(c_i_j) >= 0) {
                 s << Variable(j - 1);
                 s << " - ";
                 s << Variable(i - 1);
-                s << " == " << c_i_j;
+                s << " = " << c_i_j;
               }
               else {
                 s << Variable(i - 1);
                 s << " - ";
                 s << Variable(j - 1);
-                s << " == " << c_j_i;
+                s << " = " << c_j_i;
               }
             }
           }
@@ -5538,13 +5749,13 @@ IO_Operators::operator<<(std::ostream& s, const BD_Shape<T>& c) {
               else
                 s << ", ";
               if (i == 0) {
-                // We have got a constraint with an only Variable.
+                // We have got a constraint with only one variable.
                 s << Variable(j - 1);
                 neg_assign_r(v, c_j_i, ROUND_DOWN);
                 s << " >= " << v;
               }
               else {
-                // We have got a constraint with two Variables.
+                // We have got a constraint with two variables.
                 if (sgn(c_j_i) >= 0) {
                   s << Variable(i - 1);
                   s << " - ";
@@ -5566,12 +5777,12 @@ IO_Operators::operator<<(std::ostream& s, const BD_Shape<T>& c) {
               else
                 s << ", ";
               if (i == 0) {
-                // We have got a constraint with an only Variable.
+                // We have got a constraint with only one variable.
                 s << Variable(j - 1);
                 s << " <= " << c_i_j;
               }
               else {
-                // We have got a constraint with two Variables.
+                // We have got a constraint with two variables.
                 if (sgn(c_i_j) >= 0) {
                   s << Variable(j - 1);
                   s << " - ";
diff --git a/src/BD_Shape.types.hh b/src/BD_Shape.types.hh
index b63bbf7..7df4107 100644
--- a/src/BD_Shape.types.hh
+++ b/src/BD_Shape.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/BHRZ03_Certificate.cc b/src/BHRZ03_Certificate.cc
index ec15d44..a8dd557 100644
--- a/src/BHRZ03_Certificate.cc
+++ b/src/BHRZ03_Certificate.cc
@@ -1,6 +1,6 @@
 /* BHRZ03_Certificate class implementation
    (non-inline member functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -26,7 +26,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "BHRZ03_Certificate.defs.hh"
 
 #include "Polyhedron.defs.hh"
-#include <cassert>
+#include "assert.hh"
 #include <iostream>
 
 namespace PPL = Parma_Polyhedra_Library;
@@ -41,7 +41,7 @@ PPL::BHRZ03_Certificate::BHRZ03_Certificate(const Polyhedron& ph)
   // constraint and the generator systems in minimal form.
   ph.minimize();
   // It is assumed that `ph' is not an empty polyhedron.
-  assert(!ph.marked_empty());
+  PPL_ASSERT(!ph.marked_empty());
 
   // The dimension of the polyhedron is obtained by subtracting
   // the number of equalities from the space dimension.
@@ -50,7 +50,7 @@ PPL::BHRZ03_Certificate::BHRZ03_Certificate(const Polyhedron& ph)
   // constraint and epsilon bounds).
   const dimension_type space_dim = ph.space_dimension();
   affine_dim = space_dim;
-  assert(num_constraints == 0);
+  PPL_ASSERT(num_constraints == 0);
   const Constraint_System& cs = ph.minimized_constraints();
   for (Constraint_System::const_iterator i = cs.begin(),
 	 cs_end = cs.end(); i != cs_end; ++i) {
@@ -59,8 +59,8 @@ PPL::BHRZ03_Certificate::BHRZ03_Certificate(const Polyhedron& ph)
       --affine_dim;
   }
 
-  assert(lin_space_dim == 0);
-  assert(num_points == 0);
+  PPL_ASSERT(lin_space_dim == 0);
+  PPL_ASSERT(num_points == 0);
   const Generator_System& gs = ph.minimized_generators();
   for (Generator_System::const_iterator i = gs.begin(),
 	 gs_end = gs.end(); i != gs_end; ++i)
@@ -89,7 +89,7 @@ PPL::BHRZ03_Certificate::BHRZ03_Certificate(const Polyhedron& ph)
       ++lin_space_dim;
       break;
     }
-  assert(OK());
+  PPL_ASSERT(OK());
 
   // TODO: this is an inefficient workaround.
   // For NNC polyhedra, constraints might be no longer up-to-date
@@ -104,7 +104,7 @@ PPL::BHRZ03_Certificate::BHRZ03_Certificate(const Polyhedron& ph)
 
 int
 PPL::BHRZ03_Certificate::compare(const BHRZ03_Certificate& y) const {
-  assert(OK() && y.OK());
+  PPL_ASSERT(OK() && y.OK());
   if (affine_dim != y.affine_dim)
     return affine_dim > y.affine_dim ? 1 : -1;
   if (lin_space_dim != y.lin_space_dim)
@@ -115,7 +115,7 @@ PPL::BHRZ03_Certificate::compare(const BHRZ03_Certificate& y) const {
     return num_points > y.num_points ? 1 : -1;
 
   const dimension_type space_dim = num_rays_null_coord.size();
-  assert(num_rays_null_coord.size() == y.num_rays_null_coord.size());
+  PPL_ASSERT(num_rays_null_coord.size() == y.num_rays_null_coord.size());
   // Note: iterating upwards, because we have to check first
   // the number of rays having more NON-zero coordinates.
   for (dimension_type i = 0; i < space_dim; i++)
@@ -127,7 +127,7 @@ PPL::BHRZ03_Certificate::compare(const BHRZ03_Certificate& y) const {
 
 int
 PPL::BHRZ03_Certificate::compare(const Polyhedron& ph) const {
-  assert(ph.space_dimension() == num_rays_null_coord.size());
+  PPL_ASSERT(ph.space_dimension() == num_rays_null_coord.size());
 
   // TODO: provide a correct and reasonably efficient
   // implementation for NNC polyhedra.
@@ -137,7 +137,7 @@ PPL::BHRZ03_Certificate::compare(const Polyhedron& ph) const {
   ph.minimize();
   // It is assumed that `ph' is a polyhedron containing the
   // polyhedron described by `*this': hence, it cannot be empty.
-  assert(!ph.marked_empty());
+  PPL_ASSERT(!ph.marked_empty());
 
   // The dimension of the polyhedron is obtained by subtracting
   // the number of equalities from the space dimension.
@@ -169,7 +169,7 @@ PPL::BHRZ03_Certificate::compare(const Polyhedron& ph) const {
     return 1;
 
   // At this point the two polyhedra must have the same dimension.
-  assert(ph_affine_dim == affine_dim);
+  PPL_ASSERT(ph_affine_dim == affine_dim);
 
   // Speculative optimization: in order to better exploit the incrementality
   // of the comparison, we do not compute information about rays here,
@@ -210,7 +210,7 @@ PPL::BHRZ03_Certificate::compare(const Polyhedron& ph) const {
 
   // At this point the lineality space of the two polyhedra must have
   // the same dimension.
-  assert(ph_lin_space_dim == lin_space_dim);
+  PPL_ASSERT(ph_lin_space_dim == lin_space_dim);
 
   // If the number of constraints of `ph' is decreasing, then the chain
   // is stabilizing. If it is increasing, the chain is not stabilizing.
diff --git a/src/BHRZ03_Certificate.defs.hh b/src/BHRZ03_Certificate.defs.hh
index 7d7b3a7..147ee83 100644
--- a/src/BHRZ03_Certificate.defs.hh
+++ b/src/BHRZ03_Certificate.defs.hh
@@ -1,5 +1,5 @@
 /* BHRZ03_Certificate class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -26,7 +26,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "BHRZ03_Certificate.types.hh"
 #include "Polyhedron.types.hh"
 #include "globals.types.hh"
-#include <cassert>
+#include "assert.hh"
 #include <vector>
 
 //! The convergence certificate for the BHRZ03 widening operator.
diff --git a/src/BHRZ03_Certificate.inlines.hh b/src/BHRZ03_Certificate.inlines.hh
index 452ef9e..4871db5 100644
--- a/src/BHRZ03_Certificate.inlines.hh
+++ b/src/BHRZ03_Certificate.inlines.hh
@@ -1,5 +1,5 @@
 /* BHRZ03_Certificate class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -30,7 +30,7 @@ BHRZ03_Certificate::BHRZ03_Certificate()
   : affine_dim(0), lin_space_dim(0), num_constraints(0), num_points(1),
     num_rays_null_coord() {
   // This is the certificate for a zero-dim universe polyhedron.
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 inline
diff --git a/src/BHRZ03_Certificate.types.hh b/src/BHRZ03_Certificate.types.hh
index ea63ea4..7c13528 100644
--- a/src/BHRZ03_Certificate.types.hh
+++ b/src/BHRZ03_Certificate.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/BUGS.cc.dist b/src/BUGS.cc.dist
index 129e104..55d4916 100644
--- a/src/BUGS.cc.dist
+++ b/src/BUGS.cc.dist
@@ -1,10 +1,10 @@
 extern const char* const BUGS_array[] = {
   "",
-  "The PPL developers encourage you to report any bugs you find to",
-  "ppl-devel at cs.unipr.it.  Here `bug' should be interpreted in its",
-  "broadest sense: outright software errors, misfeatures, bad interfaces,",
-  "missing or unclear documentation... whatever is a subject for possible",
-  "improvement.",
+  "The PPL developers encourage you to report any bugs you find using the",
+  "bug tracking system available at https://www.cs.unipr.it/mantis/ .",
+  "Here `bug' should be interpreted in its broadest sense: outright",
+  "software errors, misfeatures, bad interfaces, missing or unclear",
+  "documentation... whatever is a subject for possible improvement.",
   "",
   "As far as software bugs are concerned, the best reports are those that",
   "are reproducible.  Including (or pointing us to) code that exhibits",
diff --git a/src/Bit_Matrix.cc b/src/Bit_Matrix.cc
index ac126c5..1ad96ba 100644
--- a/src/Bit_Matrix.cc
+++ b/src/Bit_Matrix.cc
@@ -1,5 +1,5 @@
 /* Bit_Matrix class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -36,7 +36,7 @@ PPL::Bit_Matrix&
 PPL::Bit_Matrix::operator=(const Bit_Matrix& y){
   rows = y.rows;
   row_size = y.row_size;
-  assert(OK());
+  PPL_ASSERT(OK());
   return *this;
 }
 
@@ -51,11 +51,11 @@ PPL::Bit_Matrix::sort_rows() {
   Iter new_last = swapping_unique(first, last);
   // Removing duplicates.
   rows.erase(new_last, last);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
-PPL::Bit_Matrix::add_row(const Bit_Row& row) {
+PPL::Bit_Matrix::add_recycled_row(Bit_Row& row) {
   const dimension_type new_rows_size = rows.size() + 1;
   if (rows.capacity() < new_rows_size) {
     // Reallocation will take place.
@@ -64,7 +64,7 @@ PPL::Bit_Matrix::add_row(const Bit_Row& row) {
     new_rows.insert(new_rows.end(), new_rows_size, Bit_Row());
     // Put the new row in place.
     dimension_type i = new_rows_size-1;
-    new_rows[i] = row;
+    new_rows[i].swap(row);
     // Steal the old rows.
     while (i-- > 0)
       new_rows[i].swap(rows[i]);
@@ -72,9 +72,10 @@ PPL::Bit_Matrix::add_row(const Bit_Row& row) {
     std::swap(rows, new_rows);
   }
   else
-    // Reallocation will NOT take place: append a new empty row.
-    rows.push_back(row);
-  assert(OK());
+    // Reallocation will NOT take place: append an empty row
+    // and swap it with the new row.
+    rows.insert(rows.end(), Bit_Row())->swap(row);
+  PPL_ASSERT(OK());
 }
 
 void
@@ -87,7 +88,7 @@ PPL::Bit_Matrix::transpose() {
     for (unsigned long j = x[i].last(); j != ULONG_MAX; j = x[i].prev(j))
       tmp[j].set(i);
   swap(tmp);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
@@ -99,13 +100,13 @@ PPL::Bit_Matrix::transpose_assign(const Bit_Matrix& y) {
     for (unsigned long j = y[i].last(); j != ULONG_MAX; j = y[i].prev(j))
       tmp[j].set(i);
   swap(tmp);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
 PPL::Bit_Matrix::resize(dimension_type new_n_rows,
 		       dimension_type new_n_columns) {
-  assert(OK());
+  PPL_ASSERT(OK());
   const dimension_type old_num_rows = num_rows();
   if (new_n_columns < row_size) {
     const dimension_type num_preserved_rows
@@ -135,7 +136,7 @@ PPL::Bit_Matrix::resize(dimension_type new_n_rows,
     // Drop some rows.
     rows.erase(rows.begin() + new_n_rows, rows.end());
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
@@ -179,7 +180,7 @@ PPL::Bit_Matrix::ascii_load(std::istream& s) {
     }
 
   // Check invariants.
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
diff --git a/src/Bit_Matrix.defs.hh b/src/Bit_Matrix.defs.hh
index 82f4b4f..b7c0629 100644
--- a/src/Bit_Matrix.defs.hh
+++ b/src/Bit_Matrix.defs.hh
@@ -1,5 +1,5 @@
 /* Bit_Matrix class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -41,7 +41,7 @@ public:
   //! Construct a bit matrix with \p n_rows rows and \p n_columns columns.
   Bit_Matrix(dimension_type n_rows, dimension_type n_columns);
 
-  //! Copy-constructor.
+  //! Copy constructor.
   Bit_Matrix(const Bit_Matrix& y);
 
   //! Destructor.
@@ -94,7 +94,13 @@ public:
   bool sorted_contains(const Bit_Row& row) const;
 
   //! Adds \p row to \p *this.
-  void add_row(const Bit_Row& row);
+  /*!
+    \param row
+    The row whose implementation will be recycled.
+
+    The only thing that can be done with \p row upon return is destruction.
+  */
+  void add_recycled_row(Bit_Row& row);
 
   //! Erases the rows from the \p first_to_erase -th to the last one.
   void rows_erase_to_end(dimension_type first_to_erase);
diff --git a/src/Bit_Matrix.inlines.hh b/src/Bit_Matrix.inlines.hh
index 0b793af..fade705 100644
--- a/src/Bit_Matrix.inlines.hh
+++ b/src/Bit_Matrix.inlines.hh
@@ -1,5 +1,5 @@
 /* Bit_Matrix class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -24,7 +24,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #define PPL_Bit_Matrix_inlines_hh 1
 
 #include <algorithm>
-#include <cassert>
+#include "assert.hh"
 
 namespace Parma_Polyhedra_Library {
 
@@ -60,19 +60,19 @@ inline void
 Bit_Matrix::rows_erase_to_end(const dimension_type first_to_erase) {
   // The first row to be erased cannot be greater
   // than the actual number of the rows of the matrix.
-  assert(first_to_erase <= rows.size());
+  PPL_ASSERT(first_to_erase <= rows.size());
   if (first_to_erase < rows.size())
     rows.erase(rows.begin() + first_to_erase, rows.end());
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 inline void
 Bit_Matrix::columns_erase_to_end(const dimension_type first_to_erase) {
   // The first column to be erased cannot be greater
   // than the actual number of the columns of the matrix.
-  assert(first_to_erase <= row_size);
+  PPL_ASSERT(first_to_erase <= row_size);
   row_size = first_to_erase;
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 inline void
@@ -83,13 +83,13 @@ Bit_Matrix::swap(Bit_Matrix& y) {
 
 inline Bit_Row&
 Bit_Matrix::operator[](const dimension_type k) {
-  assert(k < rows.size());
+  PPL_ASSERT(k < rows.size());
   return rows[k];
 }
 
 inline const Bit_Row&
 Bit_Matrix::operator[](const dimension_type k) const {
-  assert(k < rows.size());
+  PPL_ASSERT(k < rows.size());
   return rows[k];
 }
 
@@ -123,7 +123,7 @@ operator()(const Bit_Row& x, const Bit_Row& y) const {
 
 inline bool
 Bit_Matrix::sorted_contains(const Bit_Row& row) const {
-  assert(check_sorted());
+  PPL_ASSERT(check_sorted());
   return std::binary_search(rows.begin(), rows.end(), row,
 			    Bit_Row_Less_Than());
 }
diff --git a/src/Bit_Matrix.types.hh b/src/Bit_Matrix.types.hh
index 938cc50..7602be5 100644
--- a/src/Bit_Matrix.types.hh
+++ b/src/Bit_Matrix.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Bit_Row.cc b/src/Bit_Row.cc
index 32a3ff0..a871a53 100644
--- a/src/Bit_Row.cc
+++ b/src/Bit_Row.cc
@@ -1,5 +1,5 @@
 /* Bit_Row class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -23,92 +23,21 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include <ppl-config.h>
 
 #include "Bit_Row.defs.hh"
-#include <cassert>
+#include "assert.hh"
 #include <climits>
 
 namespace PPL = Parma_Polyhedra_Library;
 
-#define PPL_BITS_PER_GMP_LIMB (PPL_SIZEOF_MP_LIMB_T*CHAR_BIT)
-
-#if !PPL_HAVE_DECL_FFS || PPL_SIZEOF_MP_LIMB_T != PPL_SIZEOF_INT
-unsigned int
-PPL::Bit_Row::first_one(mp_limb_t w) {
-  unsigned int r = 0;
-  w = w & -w;
-#if PPL_SIZEOF_MP_LIMB_T == 8
-  if ((w & 0xffffffff) == 0) {
-    w >>= 32;
-    r += 32;
-  }
-#elif PPL_SIZEOF_MP_LIMB_T != 4
-#error "Size of mp_limb_t not supported by Bit_Row::first_one(mp_limb_t w)."
-#endif
-  if ((w & 0xffff) == 0) {
-    w >>= 16;
-    r += 16;
-  }
-  if ((w & 0xff) == 0) {
-    w >>= 8;
-    r += 8;
-  }
-  if (w & 0xf0)
-    r += 4;
-  if (w & 0xcc)
-    r += 2;
-  if (w & 0xaa)
-    r += 1;
-  return r;
-}
-#endif // !PPL_HAVE_DECL_FFS || PPL_SIZEOF_MP_LIMB_T != PPL_SIZEOF_INT
-
-unsigned int
-PPL::Bit_Row::last_one(mp_limb_t w) {
-  unsigned int r = 0;
-#if PPL_SIZEOF_MP_LIMB_T == 8
-  if (w &
-#if PPL_SIZEOF_LONG == 8
-      0xffffffff00000000
-#else
-      0xffffffff00000000LL
-#endif
-      ) {
-    w >>= 32;
-    r += 32;
-  }
-#elif PPL_SIZEOF_MP_LIMB_T != 4
-#error "Size of mp_limb_t not supported by Bit_Row::last_one(mp_limb_t w)."
-#endif
-  if (w & 0xffff0000) {
-    w >>= 16;
-    r += 16;
-  }
-  if (w & 0xff00) {
-    w >>= 8;
-    r += 8;
-  }
-  if (w & 0xf0) {
-    w >>= 4;
-    r += 4;
-  }
-  if (w & 0xc) {
-    w >>= 2;
-    r += 2;
-  }
-  if (w & 0x2)
-    r += 1;
-  return r;
-}
-
 unsigned long
 PPL::Bit_Row::first() const {
   const mp_size_t vec_size = vec->_mp_size;
-  assert(vec_size >= 0);
+  PPL_ASSERT(vec_size >= 0);
   mp_size_t li = 0;
   mp_srcptr p = vec->_mp_d;
   for (; li < vec_size; ++li, ++p) {
     const mp_limb_t limb = *p;
     if (limb != 0)
-      return li*PPL_BITS_PER_GMP_LIMB + first_one(limb);
+      return li*PPL_BITS_PER_GMP_LIMB + Implementation::first_one(limb);
   }
   return ULONG_MAX;
 }
@@ -126,7 +55,7 @@ PPL::Bit_Row::next(unsigned long position) const {
 
   mp_size_t li = position / PPL_BITS_PER_GMP_LIMB;
   const mp_size_t vec_size = vec->_mp_size;
-  assert(vec_size >= 0);
+  PPL_ASSERT(vec_size >= 0);
   if (li >= vec_size)
     return ULONG_MAX;
 
@@ -138,7 +67,7 @@ PPL::Bit_Row::next(unsigned long position) const {
 
   while (true) {
     if (limb != 0)
-      return li*PPL_BITS_PER_GMP_LIMB + first_one(limb);
+      return li*PPL_BITS_PER_GMP_LIMB + Implementation::first_one(limb);
     ++li;
     if (li == vec_size)
       break;
@@ -151,14 +80,14 @@ PPL::Bit_Row::next(unsigned long position) const {
 unsigned long
 PPL::Bit_Row::last() const {
   mp_size_t li = vec->_mp_size;
-  assert(li >= 0);
+  PPL_ASSERT(li >= 0);
   if (li == 0)
     return ULONG_MAX;
   --li;
   const mp_srcptr p = vec->_mp_d + li;
   const mp_limb_t limb = *p;
-  assert(limb != 0);
-  return li*PPL_BITS_PER_GMP_LIMB + last_one(limb);
+  PPL_ASSERT(limb != 0);
+  return li*PPL_BITS_PER_GMP_LIMB + Implementation::last_one(limb);
 }
 
 unsigned long
@@ -169,7 +98,7 @@ PPL::Bit_Row::prev(unsigned long position) const {
   --position;
 
   const mp_size_t vec_size = vec->_mp_size;
-  assert(vec_size > 0);
+  PPL_ASSERT(vec_size > 0);
   mp_size_t li = position / PPL_BITS_PER_GMP_LIMB;
 
   mp_limb_t limb;
@@ -191,7 +120,7 @@ PPL::Bit_Row::prev(unsigned long position) const {
 
   while (true) {
     if (limb != 0)
-      return li*PPL_BITS_PER_GMP_LIMB + last_one(limb);
+      return li*PPL_BITS_PER_GMP_LIMB + Implementation::last_one(limb);
     if (li == 0)
       break;
     --li;
@@ -204,7 +133,7 @@ PPL::Bit_Row::prev(unsigned long position) const {
 bool
 PPL::Bit_Row::operator[](const unsigned long k) const {
   const mp_size_t vec_size = vec->_mp_size;
-  assert(vec_size >= 0);
+  PPL_ASSERT(vec_size >= 0);
 
   unsigned long i = k / GMP_NUMB_BITS;
   if (i >= static_cast<unsigned long>(vec_size))
@@ -225,9 +154,9 @@ PPL::Bit_Row::set_until(unsigned long k) {
 int
 PPL::compare(const Bit_Row& x, const Bit_Row& y) {
   const mp_size_t x_size = x.vec->_mp_size;
-  assert(x_size >= 0);
+  PPL_ASSERT(x_size >= 0);
   const mp_size_t y_size = y.vec->_mp_size;
-  assert(y_size >= 0);
+  PPL_ASSERT(y_size >= 0);
   mp_size_t size = (x_size > y_size ? y_size : x_size);
   mp_srcptr xp = x.vec->_mp_d;
   mp_srcptr yp = y.vec->_mp_d;
@@ -252,9 +181,9 @@ PPL::compare(const Bit_Row& x, const Bit_Row& y) {
 bool
 PPL::subset_or_equal(const Bit_Row& x, const Bit_Row& y) {
   mp_size_t x_size = x.vec->_mp_size;
-  assert(x_size >= 0);
+  PPL_ASSERT(x_size >= 0);
   mp_size_t y_size = y.vec->_mp_size;
-  assert(y_size >= 0);
+  PPL_ASSERT(y_size >= 0);
   if (x_size > y_size)
     return false;
   mp_srcptr xp = x.vec->_mp_d;
@@ -274,24 +203,42 @@ bool
 PPL::subset_or_equal(const Bit_Row& x, const Bit_Row& y,
 		     bool& strict_subset) {
   mp_size_t x_size = x.vec->_mp_size;
-  assert(x_size >= 0);
+  PPL_ASSERT(x_size >= 0);
   mp_size_t y_size = y.vec->_mp_size;
-  assert(y_size >= 0);
+  PPL_ASSERT(y_size >= 0);
   if (x_size > y_size)
     return false;
-  strict_subset = (x_size < y_size);
   mp_srcptr xp = x.vec->_mp_d;
   mp_srcptr yp = y.vec->_mp_d;
-  while (x_size > 0) {
-    const mp_limb_t xl = *xp;
-    const mp_limb_t yl = *yp;
-    if (xl & ~yl)
-      return false;
-    if (!strict_subset && xl != yl)
-      strict_subset = true;
-    ++xp;
-    ++yp;
-    --x_size;
+  strict_subset = (x_size < y_size);
+  mp_limb_t xl;
+  mp_limb_t yl;
+  if (strict_subset) {
+    while (x_size > 0) {
+      xl = *xp;
+      yl = *yp;
+      if (xl & ~yl)
+	return false;
+    strict_subset_next:
+      ++xp;
+      ++yp;
+      --x_size;
+    }
+  }
+  else {
+    while (x_size > 0) {
+      xl = *xp;
+      yl = *yp;
+      if (xl != yl) {
+	if (xl & ~yl)
+	  return false;
+	strict_subset = true;
+	goto strict_subset_next;
+      }
+      ++xp;
+      ++yp;
+      --x_size;
+    }
   }
   return true;
 }
@@ -300,9 +247,9 @@ PPL::subset_or_equal(const Bit_Row& x, const Bit_Row& y,
 bool
 PPL::strict_subset(const Bit_Row& x, const Bit_Row& y) {
   mp_size_t x_size = x.vec->_mp_size;
-  assert(x_size >= 0);
+  PPL_ASSERT(x_size >= 0);
   mp_size_t y_size = y.vec->_mp_size;
-  assert(y_size >= 0);
+  PPL_ASSERT(y_size >= 0);
   if (x_size > y_size)
     return false;
   bool different = (x_size < y_size);
@@ -326,9 +273,9 @@ PPL::strict_subset(const Bit_Row& x, const Bit_Row& y) {
 bool
 PPL::operator==(const Bit_Row& x, const Bit_Row& y) {
   const mp_size_t x_vec_size = x.vec->_mp_size;
-  assert(x_vec_size >= 0);
+  PPL_ASSERT(x_vec_size >= 0);
   const mp_size_t y_vec_size = y.vec->_mp_size;
-  assert(y_vec_size >= 0);
+  PPL_ASSERT(y_vec_size >= 0);
 
   if (x_vec_size != y_vec_size)
     return false;
@@ -340,9 +287,9 @@ PPL::operator==(const Bit_Row& x, const Bit_Row& y) {
 bool
 PPL::operator!=(const Bit_Row& x, const Bit_Row& y) {
   const mp_size_t x_vec_size = x.vec->_mp_size;
-  assert(x_vec_size >= 0);
+  PPL_ASSERT(x_vec_size >= 0);
   const mp_size_t y_vec_size = y.vec->_mp_size;
-  assert(y_vec_size >= 0);
+  PPL_ASSERT(y_vec_size >= 0);
 
   if (x_vec_size != y_vec_size)
     return true;
@@ -358,3 +305,29 @@ PPL::Bit_Row::OK() const {
     && vec_alloc >= vec_size
     && (vec_size == 0 || mpz_getlimbn(vec, vec_size-1) != 0);
 }
+
+void
+PPL::Bit_Row::union_helper(const Bit_Row& y, const Bit_Row& z) {
+  mp_size_t y_size = y.vec->_mp_size;
+  mp_size_t z_size = z.vec->_mp_size;
+  PPL_ASSERT(y_size <= z_size);
+  PPL_ASSERT(vec->_mp_alloc >= z_size);
+  vec->_mp_size = z_size;
+  mp_srcptr yp = y.vec->_mp_d;
+  mp_srcptr zp = z.vec->_mp_d;
+  mp_ptr p = vec->_mp_d;
+  z_size -= y_size;
+  while (y_size > 0) {
+    *p = *yp | * zp;
+    ++yp;
+    ++zp;
+    ++p;
+    --y_size;
+  }
+  while (z_size > 0) {
+    *p = *zp;
+    ++zp;
+    ++p;
+    --z_size;
+  }
+}
diff --git a/src/Bit_Row.defs.hh b/src/Bit_Row.defs.hh
index 613046e..d430635 100644
--- a/src/Bit_Row.defs.hh
+++ b/src/Bit_Row.defs.hh
@@ -1,5 +1,5 @@
 /* Bit_Row class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -113,9 +113,15 @@ public:
   //! Default constructor.
   Bit_Row();
 
-  //! Copy-constructor.
+  //! Copy constructor.
   Bit_Row(const Bit_Row& y);
 
+  //! Set-union constructor.
+  /*!
+    Constructs an object containing the set-union of \p y and \p z.
+  */
+  Bit_Row(const Bit_Row& y, const Bit_Row& z);
+
   //! Destructor.
   ~Bit_Row();
 
@@ -191,11 +197,12 @@ private:
   //! Bit-vector representing the row.
   mpz_t vec;
 
-  //! Assuming \p w is nonzero, returns the index of the first set bit in \p w.
-  static unsigned int first_one(mp_limb_t w);
-
-  //! Assuming \p w is nonzero, returns the index of the last set bit in \p w.
-  static unsigned int last_one(mp_limb_t w);
+  //! Assigns to \p *this the union of \p y and \p z.
+  /*!
+    The size of \p y must be be less than or equal to the size of \p z.
+    Upon entry, \p vec must have allocated enough space to contain the result.
+  */
+  void union_helper(const Bit_Row& x, const Bit_Row& y);
 };
 
 namespace std {
diff --git a/src/Bit_Row.inlines.hh b/src/Bit_Row.inlines.hh
index 6fc36f7..5b0e758 100644
--- a/src/Bit_Row.inlines.hh
+++ b/src/Bit_Row.inlines.hh
@@ -1,5 +1,5 @@
 /* Bit_Row class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -24,7 +24,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #define PPL_Bit_Row_inlines_hh 1
 
 #include "globals.defs.hh"
-#include <cassert>
+#include "assert.hh"
 
 // For the declaration of ffs(3).
 #if defined(PPL_HAVE_STRINGS_H)
@@ -33,6 +33,8 @@ site: http://www.cs.unipr.it/ppl/ . */
 # include <string.h>
 #endif
 
+#define PPL_BITS_PER_GMP_LIMB (PPL_SIZEOF_MP_LIMB_T*CHAR_BIT)
+
 namespace Parma_Polyhedra_Library {
 
 inline
@@ -46,6 +48,26 @@ Bit_Row::Bit_Row(const Bit_Row& y) {
 }
 
 inline
+Bit_Row::Bit_Row(const Bit_Row& y, const Bit_Row& z) {
+  const mp_size_t y_size = y.vec->_mp_size;
+  PPL_ASSERT(y_size >= 0);
+  const mp_size_t z_size = z.vec->_mp_size;
+  PPL_ASSERT(z_size >= 0);
+  if (y_size < z_size) {
+    PPL_ASSERT(static_cast<unsigned long>(z_size)
+           <= ULONG_MAX / PPL_BITS_PER_GMP_LIMB);
+    mpz_init2(vec, z_size * PPL_BITS_PER_GMP_LIMB);
+    union_helper(y, z);
+  }
+  else {
+    PPL_ASSERT(static_cast<unsigned long>(y_size)
+           <= ULONG_MAX / PPL_BITS_PER_GMP_LIMB);
+    mpz_init2(vec, y_size * PPL_BITS_PER_GMP_LIMB);
+    union_helper(z, y);
+  }
+}
+
+inline
 Bit_Row::~Bit_Row() {
   mpz_clear(vec);
 }
@@ -73,8 +95,9 @@ Bit_Row::clear_from(const unsigned long k) {
 
 inline unsigned long
 Bit_Row::count_ones() const {
-  assert(vec->_mp_size >= 0);
-  return vec->_mp_size == 0 ? 0 : mpn_popcount(vec->_mp_d, vec->_mp_size);
+  mp_size_t x_size = vec->_mp_size;
+  PPL_ASSERT(x_size >= 0);
+  return x_size == 0 ? 0 : mpn_popcount(vec->_mp_d, x_size);
 }
 
 inline bool
@@ -102,19 +125,25 @@ Bit_Row::total_memory_in_bytes() const {
   return sizeof(*this) + external_memory_in_bytes();
 }
 
-#if PPL_HAVE_DECL_FFS && PPL_SIZEOF_MP_LIMB_T == PPL_SIZEOF_INT
-
-inline unsigned int
-Bit_Row::first_one(mp_limb_t w) {
-  return ffs(w)-1;
-}
-
-#endif
-
 /*! \relates Bit_Row */
 inline void
 set_union(const Bit_Row& x, const Bit_Row& y, Bit_Row& z) {
-  mpz_ior(z.vec, x.vec, y.vec);
+  const mp_size_t x_size = x.vec->_mp_size;
+  PPL_ASSERT(x_size >= 0);
+  const mp_size_t y_size = y.vec->_mp_size;
+  PPL_ASSERT(y_size >= 0);
+  if (x_size < y_size) {
+    PPL_ASSERT(static_cast<unsigned long>(y_size)
+           <= ULONG_MAX / PPL_BITS_PER_GMP_LIMB);
+    mpz_realloc2(z.vec, y_size * PPL_BITS_PER_GMP_LIMB);
+    z.union_helper(x, y);
+  }
+  else {
+    PPL_ASSERT(static_cast<unsigned long>(x_size)
+           <= ULONG_MAX / PPL_BITS_PER_GMP_LIMB);
+    mpz_realloc2(z.vec, x_size * PPL_BITS_PER_GMP_LIMB);
+    z.union_helper(y, x);
+  }
 }
 
 /*! \relates Bit_Row */
@@ -131,6 +160,164 @@ set_difference(const Bit_Row& x, const Bit_Row& y, Bit_Row& z) {
   mpz_and(z.vec, x.vec, complement_y.get_mpz_t());
 }
 
+namespace Implementation {
+
+#if defined(__GNUC__)
+
+/*! \brief
+  Assuming \p u is nonzero, returns the index of the first set bit in \p u.
+*/
+inline unsigned int
+first_one(unsigned int u) {
+  PPL_ASSERT(u != 0);
+  return __builtin_ctz(u);
+}
+
+/*! \brief
+  Assuming \p ul is nonzero, returns the index of the first set bit in
+  \p ul.
+*/
+inline unsigned int
+first_one(unsigned long ul) {
+  PPL_ASSERT(ul != 0);
+  return __builtin_ctzl(ul);
+}
+
+/*! \brief
+  Assuming \p ull is nonzero, returns the index of the first set bit in
+  \p ull.
+*/
+inline unsigned int
+first_one(unsigned long long ull) {
+  PPL_ASSERT(ull != 0);
+  return __builtin_ctzll(ull);
+}
+
+#elif PPL_HAVE_DECL_FFS && PPL_SIZEOF_MP_LIMB_T == PPL_SIZEOF_INT
+
+/*! \brief
+  Assuming \p w is nonzero, returns the index of the first set bit in \p w.
+*/
+inline unsigned int
+first_one(mp_limb_t w) {
+  return ffs(w)-1;
+}
+
+#else
+
+/*! \brief
+  Assuming \p w is nonzero, returns the index of the first set bit in \p w.
+*/
+inline unsigned int
+first_one(mp_limb_t w) {
+  unsigned int r = 0;
+  w = w & -w;
+#if PPL_SIZEOF_MP_LIMB_T == 8
+  if ((w & 0xffffffff) == 0) {
+    w >>= 32;
+    r += 32;
+  }
+#elif PPL_SIZEOF_MP_LIMB_T != 4
+#error "size of mp_limb_t not supported by first_one(mp_limb_t w)."
+#endif
+  if ((w & 0xffff) == 0) {
+    w >>= 16;
+    r += 16;
+  }
+  if ((w & 0xff) == 0) {
+    w >>= 8;
+    r += 8;
+  }
+  if (w & 0xf0)
+    r += 4;
+  if (w & 0xcc)
+    r += 2;
+  if (w & 0xaa)
+    r += 1;
+  return r;
+}
+#endif // !defined(__GNUC__)
+       // && (!PPL_HAVE_DECL_FFS || PPL_SIZEOF_MP_LIMB_T != PPL_SIZEOF_INT)
+
+#if defined(__GNUC__)
+
+/*! \brief
+  Assuming \p u is nonzero, returns the index of the last set bit in \p u.
+*/
+inline unsigned int
+last_one(unsigned int u) {
+  PPL_ASSERT(u != 0);
+  return sizeof(unsigned int)*CHAR_BIT - 1 - __builtin_clz(u);
+}
+
+/*! \brief
+  Assuming \p ul is nonzero, returns the index of the last set bit in
+  \p ul.
+*/
+inline unsigned int
+last_one(unsigned long ul) {
+  PPL_ASSERT(ul != 0);
+  return sizeof(unsigned long)*CHAR_BIT - 1 - __builtin_clzl(ul);
+}
+
+/*! \brief
+  Assuming \p ull is nonzero, returns the index of the last set bit in
+  \p ull.
+*/
+inline unsigned int
+last_one(unsigned long long ull) {
+  PPL_ASSERT(ull != 0);
+  return sizeof(unsigned long long)*CHAR_BIT - 1 - __builtin_clzll(ull);
+}
+
+#else // !defined(__GNUC__)
+
+/*! \brief
+  Assuming \p w is nonzero, returns the index of the last set bit in \p w.
+*/
+inline unsigned int
+last_one(mp_limb_t w) {
+  PPL_ASSERT(w != 0);
+  unsigned int r = 0;
+#if PPL_SIZEOF_MP_LIMB_T == 8
+  if (w &
+#if PPL_SIZEOF_LONG == 8
+      0xffffffff00000000
+#else
+      0xffffffff00000000LL
+#endif
+      ) {
+    w >>= 32;
+    r += 32;
+  }
+#elif PPL_SIZEOF_MP_LIMB_T != 4
+#error "size of mp_limb_t not supported by last_one(mp_limb_t w)."
+#endif
+  if (w & 0xffff0000) {
+    w >>= 16;
+    r += 16;
+  }
+  if (w & 0xff00) {
+    w >>= 8;
+    r += 8;
+  }
+  if (w & 0xf0) {
+    w >>= 4;
+    r += 4;
+  }
+  if (w & 0xc) {
+    w >>= 2;
+    r += 2;
+  }
+  if (w & 0x2)
+    r += 1;
+  return r;
+}
+
+#endif // !defined(__GNUC__)
+
+} // namespace Implementation
+
 } // namespace Parma_Polyhedra_Library
 
 
diff --git a/src/Bit_Row.types.hh b/src/Bit_Row.types.hh
index bc70392..ea680d9 100644
--- a/src/Bit_Row.types.hh
+++ b/src/Bit_Row.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Boundary.defs.hh b/src/Boundary.defs.hh
index d86c50e..c107b29 100644
--- a/src/Boundary.defs.hh
+++ b/src/Boundary.defs.hh
@@ -1,5 +1,5 @@
 /* Interval boundary functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -29,13 +29,6 @@ namespace Parma_Polyhedra_Library {
 
 namespace Boundary_NS {
 
-struct Unbounded {
-  Unbounded() {
-  }
-};
-
-const Unbounded UNBOUNDED;
-
 struct Property {
   enum Type {
     SPECIAL_,
@@ -63,7 +56,7 @@ enum Boundary_Type {
 inline Rounding_Dir
 round_dir_check(Boundary_Type t, bool check = false) {
   if (check)
-    return static_cast<Rounding_Dir>(t | ROUND_FPU_CHECK_INEXACT);
+    return static_cast<Rounding_Dir>(t | ROUND_STRICT_RELATION);
   else
     return static_cast<Rounding_Dir>(t);
 }
@@ -71,19 +64,13 @@ round_dir_check(Boundary_Type t, bool check = false) {
 template <typename T, typename Info>
 inline Result
 special_set_boundary_infinity(Boundary_Type type, T&, Info& info) {
-  assert(Info::store_special);
+  PPL_ASSERT(Info::store_special);
   info.set_boundary_property(type, SPECIAL);
   return V_EQ;
 }
 
 template <typename T, typename Info>
 inline bool
-special_is_boundary_infinity(Boundary_Type, const T&, const Info&) {
-  return true;
-}
-
-template <typename T, typename Info>
-inline bool
 special_is_open(Boundary_Type, const T&, const Info&) {
   return !Info::may_contain_infinity;
 }
@@ -122,7 +109,7 @@ set_unbounded(Boundary_Type type, T& x, Info& info) {
     r = assign_r(x, MINUS_INFINITY, ROUND_UP);
   else
     r = assign_r(x, PLUS_INFINITY, ROUND_DOWN);
-  if (r == V_EQ && !Info::may_contain_infinity)
+  if (result_relation(r) == VR_EQ && !Info::may_contain_infinity)
     info.set_boundary_property(type, OPEN);
   return r;
 }
@@ -135,19 +122,22 @@ set_minus_infinity(Boundary_Type type, T& x, Info& info, bool open = false) {
                          || std::numeric_limits<T>::has_infinity,
                          "minus infinity is not representable");
   */
-  if (open)
-    assert(type == LOWER);
-  else
-    assert(Info::may_contain_infinity);
+  if (open) {
+    PPL_ASSERT(type == LOWER);
+  }
+  else {
+    PPL_ASSERT(Info::may_contain_infinity);
+  }
   Result r;
   if (Info::store_special) {
-    assert(type == LOWER);
+    PPL_ASSERT(type == LOWER);
     r = special_set_boundary_infinity(type, x, info);
   }
-  else
+  else {
     r = assign_r(x, MINUS_INFINITY, round_dir_check(type));
-  assert(r != VC_MINUS_INFINITY);
-  if (open || r != V_EQ)
+    PPL_ASSERT(result_representable(r));
+  }
+  if (open || result_relation(r) != VR_EQ)
     info.set_boundary_property(type, OPEN);
   return r;
 }
@@ -160,19 +150,22 @@ set_plus_infinity(Boundary_Type type, T& x, Info& info, bool open = false) {
                          || std::numeric_limits<T>::has_infinity,
                          "minus infinity is not representable");
   */
-  if (open)
-    assert(type == UPPER);
-  else
-    assert(Info::may_contain_infinity);
+  if (open) {
+    PPL_ASSERT(type == UPPER);
+  }
+  else {
+    PPL_ASSERT(Info::may_contain_infinity);
+  }
   Result r;
   if (Info::store_special) {
-    assert(type == UPPER);
+    PPL_ASSERT(type == UPPER);
     r = special_set_boundary_infinity(type, x, info);
   }
-  else
+  else {
     r = assign_r(x, PLUS_INFINITY, round_dir_check(type));
-  assert(r != VC_MINUS_INFINITY);
-  if (open || r != V_EQ)
+    PPL_ASSERT(result_representable(r));
+  }
+  if (open || result_relation(r) != VR_EQ)
     info.set_boundary_property(type, OPEN);
   return r;
 }
@@ -180,7 +173,7 @@ set_plus_infinity(Boundary_Type type, T& x, Info& info, bool open = false) {
 template <typename T, typename Info>
 inline Result
 set_boundary_infinity(Boundary_Type type, T& x, Info& info, bool open = false) {
-  assert(open || Info::may_contain_infinity);
+  PPL_ASSERT(open || Info::may_contain_infinity);
   Result r;
   if (Info::store_special)
     r = special_set_boundary_infinity(type, x, info);
@@ -188,7 +181,7 @@ set_boundary_infinity(Boundary_Type type, T& x, Info& info, bool open = false) {
     r = assign_r(x, MINUS_INFINITY, round_dir_check(type));
   else
     r = assign_r(x, PLUS_INFINITY, round_dir_check(type));
-  assert(r == V_EQ);
+  PPL_ASSERT(result_representable(r));
   if (open)
     info.set_boundary_property(type, OPEN);
   return r;
@@ -198,7 +191,7 @@ template <typename T, typename Info>
 inline Result
 shrink(Boundary_Type type, T& x, Info& info, bool check) {
   Result r;
-  assert(!info.get_boundary_property(type, SPECIAL));
+  PPL_ASSERT(!info.get_boundary_property(type, SPECIAL));
   if (type == LOWER) {
     r = info.restrict(round_dir_check(type, check), x, V_GT);
     if (r != V_GT)
@@ -214,28 +207,35 @@ shrink(Boundary_Type type, T& x, Info& info, bool check) {
 
 template <typename T, typename Info>
 inline bool
-is_unbounded(Boundary_Type type, const T& x, const Info& info) {
-  if (Info::store_special)
-    return info.get_boundary_property(type, SPECIAL)
-      && special_is_boundary_infinity(type, x, info);
-  else if (std::numeric_limits<T>::has_infinity) {
-    if (type == LOWER)
-      return Parma_Polyhedra_Library::is_minus_infinity(x);
-    else
-      return Parma_Polyhedra_Library::is_plus_infinity(x);
-  }
-  else if (std::numeric_limits<T>::is_bounded) {
-    if (type == LOWER)
-      return x == std::numeric_limits<T>::min();
-    else
+is_domain_inf(Boundary_Type type, const T& x, const Info& info) {
+  if (Info::store_special && type == LOWER)
+    return info.get_boundary_property(type, SPECIAL);
+  else if (std::numeric_limits<T>::has_infinity)
+    return Parma_Polyhedra_Library::is_minus_infinity(x);
+  else if (std::numeric_limits<T>::is_bounded)
+    return x == std::numeric_limits<T>::min();
+  else
+    return false;
+}
+
+template <typename T, typename Info>
+inline bool
+is_domain_sup(Boundary_Type type, const T& x, const Info& info) {
+  if (Info::store_special && type == UPPER)
+    return info.get_boundary_property(type, SPECIAL);
+  else if (std::numeric_limits<T>::has_infinity)
+    return Parma_Polyhedra_Library::is_plus_infinity(x);
+  else if (std::numeric_limits<T>::is_bounded)
       return x == std::numeric_limits<T>::max();
-  } else
+  else
     return false;
 }
 
 template <typename T, typename Info>
 inline bool
 normal_is_boundary_infinity(Boundary_Type type, const T& x, const Info&) {
+  if (!std::numeric_limits<T>::has_infinity)
+    return false;
   if (type == LOWER)
     return Parma_Polyhedra_Library::is_minus_infinity(x);
   else
@@ -244,6 +244,15 @@ normal_is_boundary_infinity(Boundary_Type type, const T& x, const Info&) {
 
 template <typename T, typename Info>
 inline bool
+is_boundary_infinity(Boundary_Type type, const T& x, const Info& info) {
+  if (Info::store_special)
+    return info.get_boundary_property(type, SPECIAL);
+  else
+    return normal_is_boundary_infinity(type, x, info);
+}
+
+template <typename T, typename Info>
+inline bool
 normal_is_reverse_infinity(Boundary_Type type, const T& x, const Info&) {
   if (!Info::may_contain_infinity)
     return false;
@@ -258,8 +267,7 @@ inline bool
 is_minus_infinity(Boundary_Type type, const T& x, const Info& info) {
   if (type == LOWER) {
     if (Info::store_special)
-      return info.get_boundary_property(type, SPECIAL)
-	&& special_is_boundary_infinity(type, x, info);
+      return info.get_boundary_property(type, SPECIAL);
     else
       return normal_is_boundary_infinity(type, x, info);
   }
@@ -272,8 +280,7 @@ inline bool
 is_plus_infinity(Boundary_Type type, const T& x, const Info& info) {
   if (type == UPPER) {
     if (Info::store_special)
-      return info.get_boundary_property(type, SPECIAL)
-	&& special_is_boundary_infinity(type, x, info);
+      return info.get_boundary_property(type, SPECIAL);
     else
       return normal_is_boundary_infinity(type, x, info);
   }
@@ -283,19 +290,8 @@ is_plus_infinity(Boundary_Type type, const T& x, const Info& info) {
 
 template <typename T, typename Info>
 inline bool
-is_boundary_infinity(Boundary_Type type, const T& x, const Info& info) {
-  if (Info::store_special)
-    return info.get_boundary_property(type, SPECIAL)
-      && special_is_boundary_infinity(type, x, info);
-  else
-    return normal_is_boundary_infinity(type, x, info);
-}
-
-template <typename T, typename Info>
-inline bool
 is_reverse_infinity(Boundary_Type type, const T& x, const Info& info) {
-  return !Info::store_special
-    && normal_is_reverse_infinity(type, x, info);
+  return normal_is_reverse_infinity(type, x, info);
 }
 
 template <typename T, typename Info>
@@ -320,15 +316,14 @@ is_boundary_infinity_closed(Boundary_Type type, const T& x, const Info& info) {
 template <typename Info>
 inline bool
 boundary_infinity_is_open(Boundary_Type type, const Info& info) {
-  return !Info::may_contain_infinity ||
-    info.get_boundary_property(type, OPEN);
+  return !Info::may_contain_infinity
+    || info.get_boundary_property(type, OPEN);
 }
 
 template <typename T, typename Info>
 inline int
 sgn_b(Boundary_Type type, const T& x, const Info& info) {
-  if (info.get_boundary_property(type, SPECIAL) &&
-      special_is_boundary_infinity(type, x, info))
+  if (info.get_boundary_property(type, SPECIAL))
     return type == LOWER ? -1 : 1;
   else
     // The following Parma_Polyhedra_Library:: qualification is to work
@@ -362,8 +357,8 @@ eq(Boundary_Type type1, const T1& x1, const Info1& info1,
     return is_minus_infinity(type2, x2, info2);
   else if (is_plus_infinity(type1, x1, info1))
     return is_plus_infinity(type2, x2, info2);
-  else if (is_minus_infinity(type2, x2, info2) ||
-	   is_plus_infinity(type2, x2, info2))
+  else if (is_minus_infinity(type2, x2, info2)
+           || is_plus_infinity(type2, x2, info2))
     return false;
   else
     return equal(x1, x2);
@@ -426,12 +421,13 @@ template <typename T, typename Info>
 inline Result
 adjust_boundary(Boundary_Type type, T& x, Info& info,
 		bool open, Result r) {
+  r = result_relation_class(r);
   if (type == LOWER) {
     switch (r) {
-    case V_NEG_OVERFLOW:
+    case V_GT_MINUS_INFINITY:
       open = true;
       /* Fall through */
-    case VC_MINUS_INFINITY:
+    case V_EQ_MINUS_INFINITY:
       if (!Info::store_special)
 	return r;
       if (open)
@@ -447,16 +443,16 @@ adjust_boundary(Boundary_Type type, T& x, Info& info,
       // FIXME: what to return?
       return r;
     default:
-      assert(false);
-      return VC_NAN;
+      PPL_ASSERT(false);
+      return V_NAN;
     }
   }
   else {
     switch (r) {
-    case V_POS_OVERFLOW:
+    case V_LT_PLUS_INFINITY:
       open = true;
       /* Fall through */
-    case VC_PLUS_INFINITY:
+    case V_EQ_PLUS_INFINITY:
       if (!Info::store_special)
 	return r;
       if (open)
@@ -472,8 +468,8 @@ adjust_boundary(Boundary_Type type, T& x, Info& info,
       // FIXME: what to return?
       return r;
     default:
-      assert(false);
-      return VC_NAN;
+      PPL_ASSERT(false);
+      return V_NAN;
     }
   }
 }
@@ -482,10 +478,9 @@ template <typename To, typename To_Info, typename T, typename Info>
 inline Result
 complement(Boundary_Type to_type, To& to, To_Info& to_info,
 	   Boundary_Type type, const T& x, const Info& info) {
-  assert(to_type != type);
+  PPL_ASSERT(to_type != type);
   bool shrink;
-  if (info.get_boundary_property(type, SPECIAL)
-      && special_is_boundary_infinity(type, x, info)) {
+  if (info.get_boundary_property(type, SPECIAL)) {
     shrink = !special_is_open(type, x, info);
     if (type == LOWER)
       return set_minus_infinity(to_type, to, to_info, shrink);
@@ -504,9 +499,8 @@ inline Result
 assign(Boundary_Type to_type, To& to, To_Info& to_info,
        Boundary_Type type, const T& x, const Info& info,
        bool shrink = false) {
-  assert(to_type == type);
-  if (info.get_boundary_property(type, SPECIAL)
-      && special_is_boundary_infinity(type, x, info)) {
+  PPL_ASSERT(to_type == type);
+  if (info.get_boundary_property(type, SPECIAL)) {
     shrink = shrink || special_is_open(type, x, info);
     return set_boundary_infinity(to_type, to, to_info, shrink);
   }
@@ -565,10 +559,9 @@ template <typename To, typename To_Info, typename T, typename Info>
 inline Result
 neg_assign(Boundary_Type to_type, To& to, To_Info& to_info,
 	   Boundary_Type type, const T& x, const Info& info) {
-  assert(to_type != type);
+  PPL_ASSERT(to_type != type);
   bool shrink;
-  if (info.get_boundary_property(type, SPECIAL)
-      && special_is_boundary_infinity(type, x, info)) {
+  if (info.get_boundary_property(type, SPECIAL)) {
     shrink = special_is_open(type, x, info);
     return set_boundary_infinity(to_type, to, to_info, shrink);
   }
@@ -584,16 +577,16 @@ inline Result
 add_assign(Boundary_Type to_type, To& to, To_Info& to_info,
 	   Boundary_Type type1, const T1& x1, const Info1& info1,
 	   Boundary_Type type2, const T2& x2, const Info2& info2) {
-  assert(type1 == type2);
+  PPL_ASSERT(type1 == type2);
   bool shrink;
   if (is_boundary_infinity(type1, x1, info1)) {
-    shrink = boundary_infinity_is_open(type1, info1) &&
-      !is_boundary_infinity_closed(type2, x2, info2);
+    shrink = boundary_infinity_is_open(type1, info1)
+      && !is_boundary_infinity_closed(type2, x2, info2);
     return set_boundary_infinity(to_type, to, to_info, shrink);
   }
   else if (is_boundary_infinity(type2, x2, info2)) {
-    shrink = boundary_infinity_is_open(type2, info2) &&
-      !is_boundary_infinity_closed(type1, x1, info1);
+    shrink = boundary_infinity_is_open(type2, info2)
+      && !is_boundary_infinity_closed(type1, x1, info1);
     return set_boundary_infinity(to_type, to, to_info, shrink);
   }
   shrink = normal_is_open(type1, x1, info1)
@@ -611,16 +604,16 @@ inline Result
 sub_assign(Boundary_Type to_type, To& to, To_Info& to_info,
 	   Boundary_Type type1, const T1& x1, const Info1& info1,
 	   Boundary_Type type2, const T2& x2, const Info2& info2) {
-  assert(type1 != type2);
+  PPL_ASSERT(type1 != type2);
   bool shrink;
   if (is_boundary_infinity(type1, x1, info1)) {
-    shrink = boundary_infinity_is_open(type1, info1) &&
-      !is_boundary_infinity_closed(type2, x2, info2);
+    shrink = boundary_infinity_is_open(type1, info1)
+      && !is_boundary_infinity_closed(type2, x2, info2);
     return set_boundary_infinity(to_type, to, to_info, shrink);
   }
   else if (is_boundary_infinity(type2, x2, info2)) {
-    shrink = boundary_infinity_is_open(type2, info2) &&
-      !is_boundary_infinity_closed(type1, x1, info1);
+    shrink = boundary_infinity_is_open(type2, info2)
+      && !is_boundary_infinity_closed(type1, x1, info1);
     return set_boundary_infinity(to_type, to, to_info, shrink);
   }
   shrink = normal_is_open(type1, x1, info1)
@@ -640,13 +633,13 @@ mul_assign(Boundary_Type to_type, To& to, To_Info& to_info,
 	   Boundary_Type type2, const T2& x2, const Info2& info2) {
   bool shrink;
   if (is_boundary_infinity(type1, x1, info1)) {
-    shrink = boundary_infinity_is_open(type1, info1) &&
-      !is_boundary_infinity_closed(type2, x2, info2);
+    shrink = boundary_infinity_is_open(type1, info1)
+      && !is_boundary_infinity_closed(type2, x2, info2);
     return set_boundary_infinity(to_type, to, to_info, shrink);
   }
   else if (is_boundary_infinity(type2, x2, info2)) {
-    shrink = boundary_infinity_is_open(type2, info2) &&
-      !is_boundary_infinity_closed(type1, x1, info1);
+    shrink = boundary_infinity_is_open(type2, info2)
+      && !is_boundary_infinity_closed(type1, x1, info1);
     return set_boundary_infinity(to_type, to, to_info, shrink);
   }
   shrink = normal_is_open(type1, x1, info1)
@@ -654,7 +647,7 @@ mul_assign(Boundary_Type to_type, To& to, To_Info& to_info,
   bool check = (To_Info::check_inexact
 		|| (!shrink && (To_Info::store_open
 				|| to_info.has_restriction())));
-  assert(x1 != Constant<0>::value && x2 != Constant<0>::value);
+  PPL_ASSERT(x1 != Constant<0>::value && x2 != Constant<0>::value);
   // FIXME: extended handling is not needed
   Result r = mul_assign_r(to, x1, x2, round_dir_check(to_type, check));
   return adjust_boundary(to_type, to, to_info, shrink, r);
@@ -709,7 +702,7 @@ div_assign(Boundary_Type to_type, To& to, To_Info& to_info,
   bool check = (To_Info::check_inexact
 		|| (!shrink && (To_Info::store_open
 				|| to_info.has_restriction())));
-  assert(x1 != Constant<0>::value && x2 != Constant<0>::value);
+  PPL_ASSERT(x1 != Constant<0>::value && x2 != Constant<0>::value);
   // FIXME: extended handling is not needed
   Result r = div_assign_r(to, x1, x2, round_dir_check(to_type, check));
   return adjust_boundary(to_type, to, to_info, shrink, r);
@@ -739,6 +732,42 @@ div_assign_z(Boundary_Type to_type, To& to, To_Info& to_info,
   }
 }
 
+template <typename To, typename To_Info, typename T, typename Info>
+inline Result
+umod_2exp_assign(Boundary_Type to_type, To& to, To_Info& to_info,
+		 Boundary_Type type, const T& x, const Info& info,
+		 unsigned int exp) {
+  PPL_ASSERT(to_type == type);
+  bool shrink;
+  if (is_boundary_infinity(type, x, info)) {
+    shrink = boundary_infinity_is_open(type, info);
+    return set_boundary_infinity(to_type, to, to_info, shrink);
+  }
+  shrink = normal_is_open(type, x, info);
+  bool check = (To_Info::check_inexact
+		|| (!shrink && (To_Info::store_open || to_info.has_restriction())));
+  Result r = umod_2exp_assign_r(to, x, exp, round_dir_check(to_type, check));
+  return adjust_boundary(to_type, to, to_info, shrink, r);
+}
+
+template <typename To, typename To_Info, typename T, typename Info>
+inline Result
+smod_2exp_assign(Boundary_Type to_type, To& to, To_Info& to_info,
+		 Boundary_Type type, const T& x, const Info& info,
+		 unsigned int exp) {
+  PPL_ASSERT(to_type == type);
+  bool shrink;
+  if (is_boundary_infinity(type, x, info)) {
+    shrink = boundary_infinity_is_open(type, info);
+    return set_boundary_infinity(to_type, to, to_info, shrink);
+  }
+  shrink = normal_is_open(type, x, info);
+  bool check = (To_Info::check_inexact
+		|| (!shrink && (To_Info::store_open || to_info.has_restriction())));
+  Result r = smod_2exp_assign_r(to, x, exp, round_dir_check(to_type, check));
+  return adjust_boundary(to_type, to, to_info, shrink, r);
+}
+
 } // namespace Boundary_NS
 
 } // namespace Parma_Polyhedra_Library
diff --git a/src/Box.cc b/src/Box.cc
index 0ce8006..0e582b1 100644
--- a/src/Box.cc
+++ b/src/Box.cc
@@ -1,5 +1,5 @@
 /* Box class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -34,8 +34,8 @@ PPL::extract_interval_constraint(const Constraint& c,
 				 dimension_type& c_num_vars,
 				 dimension_type& c_only_var) {
   // Check for preconditions.
-  assert(c.space_dimension() == c_space_dim);
-  assert(c_num_vars == 0 && c_only_var == 0);
+  PPL_ASSERT(c.space_dimension() == c_space_dim);
+  PPL_ASSERT(c_num_vars == 0 && c_only_var == 0);
   // Collect the non-zero components of `c'.
   for (dimension_type i = c_space_dim; i-- > 0; )
     if (c.coefficient(Variable(i)) != 0) {
@@ -56,10 +56,10 @@ PPL::extract_interval_congruence(const Congruence& cg,
 				 dimension_type& cg_num_vars,
 				 dimension_type& cg_only_var) {
   // Check for preconditions.
-  assert(cg.space_dimension() == cg_space_dim);
-  assert(cg_num_vars == 0 && cg_only_var == 0);
+  PPL_ASSERT(cg.space_dimension() == cg_space_dim);
+  PPL_ASSERT(cg_num_vars == 0 && cg_only_var == 0);
   // Only equality congruences can be intervals.
-  assert(cg.is_equality());
+  PPL_ASSERT(cg.is_equality());
 
   // Collect the non-zero components of `cg'.
   for (dimension_type i = cg_space_dim; i-- > 0; )
diff --git a/src/Box.defs.hh b/src/Box.defs.hh
index d29f38e..4d6f412 100644
--- a/src/Box.defs.hh
+++ b/src/Box.defs.hh
@@ -1,5 +1,5 @@
 /* Box class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -43,11 +43,14 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Polyhedron.types.hh"
 #include "Grid.types.hh"
 #include "Partially_Reduced_Product.types.hh"
+#include "intervals.defs.hh"
 #include <vector>
 #include <iosfwd>
 
 namespace Parma_Polyhedra_Library {
 
+struct Interval_Base;
+
 //! Returns <CODE>true</CODE> if and only if \p x and \p y are the same box.
 /*! \relates Box
   Note that \p x and \p y may be dimension-incompatible boxes:
@@ -317,7 +320,7 @@ public:
   explicit Box(dimension_type num_dimensions = 0,
 	       Degenerate_Element kind = UNIVERSE);
 
-  //! Ordinary copy-constructor.
+  //! Ordinary copy constructor.
   /*!
     The complexity argument is ignored.
   */
@@ -678,12 +681,44 @@ public:
 		Generator& g) const;
 
   /*! \brief
+    Returns <CODE>true</CODE> if and only if there exist a
+    unique value \p val such that \p *this
+    saturates the equality <CODE>expr = val</CODE>.
+
+    \param expr
+    The linear expression for which the frequency is needed;
+
+    \param freq_n
+    If <CODE>true</CODE> is returned, the value is set to \f$0\f$;
+    Present for interface compatibility with class Grid, where
+    the \ref Grid_Frequency "frequency" can have a non-zero value;
+
+    \param freq_d
+    If <CODE>true</CODE> is returned, the value is set to \f$1\f$;
+
+    \param val_n
+    The numerator of \p val;
+
+    \param val_d
+    The denominator of \p val;
+
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+
+    If <CODE>false</CODE> is returned, then \p freq_n, \p freq_d,
+    \p val_n and \p val_d are left untouched.
+  */
+  bool frequency(const Linear_Expression& expr,
+                 Coefficient& freq_n, Coefficient& freq_d,
+                 Coefficient& val_n, Coefficient& val_d) const;
+
+  /*! \brief
     Returns <CODE>true</CODE> if and only if \p *this contains \p y.
 
     \exception std::invalid_argument
     Thrown if \p x and \p y are dimension-incompatible.
   */
-  bool contains(const Box&) const;
+  bool contains(const Box& y) const;
 
   /*! \brief
     Returns <CODE>true</CODE> if and only if \p *this strictly contains \p y.
@@ -691,7 +726,7 @@ public:
     \exception std::invalid_argument
     Thrown if \p x and \p y are dimension-incompatible.
   */
-  bool strictly_contains(const Box&) const;
+  bool strictly_contains(const Box& y) const;
 
   /*! \brief
     Returns <CODE>true</CODE> if and only if \p *this and \p y are disjoint.
@@ -815,10 +850,20 @@ public:
     Use the constraints in \p cs to refine \p *this.
 
     \param  cs
-     The constraints to be used for refinement.
+    The constraints to be used for refinement.
+    To avoid termination problems, each constraint in \p cs
+    will be used for a single refinement step.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are dimension-incompatible.
 
-     \exception std::invalid_argument
-     Thrown if \p *this and \p cs are dimension-incompatible.
+    \note
+    The user is warned that the accuracy of this refinement operator
+    depends on the order of evaluation of the constraints in \p cs,
+    which is in general unpredictable. If a fine control on such an
+    order is needed, the user should consider calling the method
+    <code>refine_with_constraint(const Constraint& c)</code> inside
+    an appropriate looping construct.
   */
   void refine_with_constraints(const Constraint_System& cs);
 
@@ -858,13 +903,22 @@ public:
   /*! \brief
     Use the constraints in \p cs for constraint propagagion on \p *this.
 
-    \param  cs
-     The constraints to be used for constraint propagation.
+    \param cs
+    The constraints to be used for constraint propagation.
+
+    \param max_iterations
+    The maximum number of propagation steps for each constraint in \p cs.
+    If zero (the default), the number of propagations will be unbounded,
+    possibly resulting in an infinite loop.
 
-     \exception std::invalid_argument
-     Thrown if \p *this and \p cs are dimension-incompatible.
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are dimension-incompatible.
+
+    \warning
+    This method may lead to non-termination if \p max_iterations is 0.
   */
-  void propagate_constraints(const Constraint_System& cs);
+  void propagate_constraints(const Constraint_System& cs,
+                             dimension_type max_iterations = 0);
 
   /*! \brief
     Computes the \ref Cylindrification "cylindrification" of \p *this with
@@ -880,17 +934,17 @@ public:
 
   /*! \brief
     Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to the set of space dimensions \p to_be_unconstrained,
+    respect to the set of space dimensions \p vars,
     assigning the result to \p *this.
 
-    \param to_be_unconstrained
+    \param vars
     The set of space dimension that will be unconstrained.
 
     \exception std::invalid_argument
     Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p to_be_removed.
+    Variable objects contained in \p vars.
   */
-  void unconstrain(const Variables_Set& to_be_unconstrained);
+  void unconstrain(const Variables_Set& vars);
 
   //! Assigns to \p *this the intersection of \p *this and \p y.
   /*!
@@ -1167,6 +1221,87 @@ public:
   void topological_closure_assign();
 
   /*! \brief
+    \ref Wrapping_Operator "Wraps" the specified dimensions of the
+    vector space.
+
+    \param vars
+    The set of Variable objects corresponding to the space dimensions
+    to be wrapped.
+
+    \param w
+    The width of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param r
+    The representation of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param o
+    The overflow behavior of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param pcs
+    Possibly null pointer to a constraint system.  When non-null,
+    the pointed-to constraint system is assumed to represent the
+    conditional or looping construct guard with respect to which
+    wrapping is performed.  Since wrapping requires the computation
+    of upper bounds and due to non-distributivity of constraint
+    refinement over upper bounds, passing a constraint system in this
+    way can be more precise than refining the result of the wrapping
+    operation with the constraints in <CODE>*pcs</CODE>.
+
+    \param complexity_threshold
+    A precision parameter which is ignored for the Box domain.
+
+    \param wrap_individually
+    A precision parameter which is ignored for the Box domain.
+
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with one of the
+    Variable objects contained in \p vars or with <CODE>*pcs</CODE>.
+  */
+  void wrap_assign(const Variables_Set& vars,
+                   Bounded_Integer_Type_Width w,
+                   Bounded_Integer_Type_Representation r,
+                   Bounded_Integer_Type_Overflow o,
+                   const Constraint_System* pcs = 0,
+                   unsigned complexity_threshold = 16,
+                   bool wrap_individually = true);
+
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates.
+
+    \param complexity
+    The maximal complexity of any algorithms used.
+
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+   void drop_some_non_integer_points(Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
+
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates for the space dimensions corresponding to \p vars.
+
+    \param vars
+    Points with non-integer coordinates for these variables/space-dimensions
+    can be discarded.
+
+    \param complexity
+    The maximal complexity of any algorithms used.
+
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+  void drop_some_non_integer_points(const Variables_Set& vars,
+                                    Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
+
+  /*! \brief
     Assigns to \p *this the result of computing the
     \ref CC76_extrapolation "CC76-widening" between \p *this and \p y.
 
@@ -1181,7 +1316,11 @@ public:
     \exception std::invalid_argument
     Thrown if \p *this and \p y are dimension-incompatible.
   */
-  void CC76_widening_assign(const Box& y, unsigned* tp = 0);
+  template <typename T>
+  typename Enable_If<Is_Same<T, Box>::value
+                     && Is_Same_Or_Derived<Interval_Base, ITV>::value,
+                     void>::type
+  CC76_widening_assign(const T& y, unsigned* tp = 0);
 
   /*! \brief
     Assigns to \p *this the result of computing the
@@ -1199,9 +1338,12 @@ public:
     \exception std::invalid_argument
     Thrown if \p *this and \p y are dimension-incompatible.
   */
-  template <typename Iterator>
-  void CC76_widening_assign(const Box& y,
-			    Iterator first, Iterator last);
+  template <typename T, typename Iterator>
+  typename Enable_If<Is_Same<T, Box>::value
+                     && Is_Same_Or_Derived<Interval_Base, ITV>::value,
+                     void>::type
+  CC76_widening_assign(const T& y,
+		       Iterator first, Iterator last);
 
   //! Same as CC76_widening_assign(y, tp).
   void widening_assign(const Box& y, unsigned* tp = 0);
@@ -1249,7 +1391,11 @@ public:
     <CODE>x.CC76_narrowing_assign(y)</CODE> will assign to \p x
     the result of the computation \f$\mathtt{y} \Delta \mathtt{x}\f$.
   */
-  void CC76_narrowing_assign(const Box& y);
+  template <typename T>
+  typename Enable_If<Is_Same<T, Box>::value
+                     && Is_Same_Or_Derived<Interval_Base, ITV>::value,
+                     void>::type
+  CC76_narrowing_assign(const T& y);
 
   //@} Space-Dimension Preserving Member Functions that May Modify [...]
 
@@ -1326,14 +1472,14 @@ public:
 
   //! Removes all the specified dimensions.
   /*!
-    \param to_be_removed
+    \param vars
     The set of Variable objects corresponding to the dimensions to be removed.
 
     \exception std::invalid_argument
     Thrown if \p *this is dimension-incompatible with one of the Variable
-    objects contained in \p to_be_removed.
+    objects contained in \p vars.
   */
-  void remove_space_dimensions(const Variables_Set& to_be_removed);
+  void remove_space_dimensions(const Variables_Set& vars);
 
   /*! \brief
     Removes the higher dimensions so that the resulting space
@@ -1352,8 +1498,8 @@ public:
     \param pfunc
     The partial function specifying the destiny of each dimension.
 
-    The template class Partial_Function must provide the following
-    methods.
+    The template type parameter Partial_Function must provide
+    the following methods.
     \code
       bool has_empty_codomain() const
     \endcode
@@ -1408,30 +1554,30 @@ public:
   */
   void expand_space_dimension(Variable var, dimension_type m);
 
-  //! Folds the space dimensions in \p to_be_folded into \p var.
+  //! Folds the space dimensions in \p vars into \p dest.
   /*!
-    \param to_be_folded
+    \param vars
     The set of Variable objects corresponding to the space dimensions
     to be folded;
 
-    \param var
+    \param dest
     The variable corresponding to the space dimension that is the
     destination of the folding operation.
 
     \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p var or with
-    one of the Variable objects contained in \p to_be_folded.
-    Also thrown if \p var is contained in \p to_be_folded.
+    Thrown if \p *this is dimension-incompatible with \p dest or with
+    one of the Variable objects contained in \p vars.
+    Also thrown if \p dest is contained in \p vars.
 
     If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    <CODE>var</CODE> has space dimension \f$k \leq n\f$,
-    \p to_be_folded is a set of variables whose maximum space dimension
-    is also less than or equal to \f$n\f$, and \p var is not a member
-    of \p to_be_folded, then the space dimensions corresponding to
-    variables in \p to_be_folded are \ref fold_space_dimensions "folded"
+    <CODE>dest</CODE> has space dimension \f$k \leq n\f$,
+    \p vars is a set of variables whose maximum space dimension
+    is also less than or equal to \f$n\f$, and \p dest is not a member
+    of \p vars, then the space dimensions corresponding to
+    variables in \p vars are \ref fold_space_dimensions "folded"
     into the \f$k\f$-th space dimension.
   */
-  void fold_space_dimensions(const Variables_Set& to_be_folded, Variable var);
+  void fold_space_dimensions(const Variables_Set& vars, Variable dest);
 
   //@} // Member Functions that May Modify the Dimension of the Vector Space
 
@@ -1598,6 +1744,15 @@ private:
   /*! \brief
     WRITE ME.
   */
+  static I_Result
+  refine_interval_no_check(ITV& itv,
+                           Constraint::Type type,
+                           Coefficient_traits::const_reference num,
+                           Coefficient_traits::const_reference den);
+
+  /*! \brief
+    WRITE ME.
+  */
   void
   add_interval_constraint_no_check(dimension_type var_id,
                                    Constraint::Type type,
@@ -1628,8 +1783,7 @@ private:
     Uses the constraint \p c to refine \p *this.
 
     \param c
-    The constraint to be added.
-    Non-interval constraints are ignored.
+    The constraint to be used for the refinement.
 
     \warning
     If \p c and \p *this are dimension-incompatible,
@@ -1641,8 +1795,9 @@ private:
     Uses the constraints in \p cs to refine \p *this.
 
     \param cs
-    The constraints to be added.
-    Non-interval constraints are ignored.
+    The constraints to be used for the refinement.
+    To avoid termination problems, each constraint in \p cs
+    will be used for a single refinement step.
 
     \warning
     If \p cs and \p *this are dimension-incompatible,
@@ -1844,14 +1999,20 @@ private:
     \param  cs
     The constraints to be propagated.
 
+    \param max_iterations
+    The maximum number of propagation steps for each constraint in \p cs.
+    If zero, the number of propagations will be unbounded, possibly
+    resulting in an infinite loop.
+
     \warning
     If \p cs and \p *this are dimension-incompatible,
     the behavior is undefined.
 
     \warning
-    This method may lead to non-termination.
+    This method may lead to non-termination if \p max_iterations is 0.
   */
-  void propagate_constraints_no_check(const Constraint_System& cs);
+  void propagate_constraints_no_check(const Constraint_System& cs,
+                                      dimension_type max_iterations);
 
   //! Checks if and how \p expr is bounded in \p *this.
   /*!
diff --git a/src/Box.inlines.hh b/src/Box.inlines.hh
index 1c6556e..152b42a 100644
--- a/src/Box.inlines.hh
+++ b/src/Box.inlines.hh
@@ -1,5 +1,5 @@
 /* Box class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -133,7 +133,7 @@ Box<ITV>::max_space_dimension() {
 template <typename ITV>
 inline const ITV&
 Box<ITV>::operator[](const dimension_type k) const {
-  assert(k < seq.size());
+  PPL_ASSERT(k < seq.size());
   return seq[k];
 }
 
@@ -166,7 +166,7 @@ Box<ITV>::set_interval(const Variable var, const ITV& i) {
   seq[var.id()] = i;
   reset_empty_up_to_date();
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -245,7 +245,7 @@ Box<ITV>::expand_space_dimension(const Variable var,
   // To expand the space dimension corresponding to variable `var',
   // we append to the box `m' copies of the corresponding interval.
   seq.insert(seq.end(), m, seq[var.id()]);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -258,10 +258,10 @@ template <typename ITV>
 inline bool
 Box<ITV>::get_lower_bound(const dimension_type k, bool& closed,
                           Coefficient& n, Coefficient& d) const {
-  assert(k < seq.size());
+  PPL_ASSERT(k < seq.size());
   const ITV& seq_k = seq[k];
 
-  if (seq_k.lower_is_unbounded())
+  if (seq_k.lower_is_boundary_infinity())
     return false;
 
   closed = !seq_k.lower_is_open();
@@ -278,10 +278,10 @@ template <typename ITV>
 inline bool
 Box<ITV>::get_upper_bound(const dimension_type k, bool& closed,
                           Coefficient& n, Coefficient& d) const {
-  assert(k < seq.size());
+  PPL_ASSERT(k < seq.size());
   const ITV& seq_k = seq[k];
 
-  if (seq_k.upper_is_unbounded())
+  if (seq_k.upper_is_boundary_infinity())
     return false;
 
   closed = !seq_k.upper_is_open();
@@ -372,21 +372,17 @@ Box<ITV>::minimized_congruences() const {
 }
 
 template <typename ITV>
-inline void
-Box<ITV>
-::add_interval_constraint_no_check(const dimension_type var_id,
+inline I_Result
+Box<ITV>::refine_interval_no_check(ITV& itv,
                                    const Constraint::Type type,
                                    Coefficient_traits::const_reference num,
                                    Coefficient_traits::const_reference den) {
-  assert(!marked_empty());
-  assert(var_id < space_dimension());
-  assert(den != 0);
-
+  PPL_ASSERT(den != 0);
   // The interval constraint is of the form
-  // `Variable(var_id) + num / den rel 0', where
-  // `rel' is either the relation `==', `>=', or `>'.
+  // `var + num / den rel 0',
+  // where `rel' is either the relation `==', `>=', or `>'.
   // For the purpose of refining the interval, this is
-  // (morally) turned into `Variable(var_id) rel -num/den'.
+  // (morally) turned into `var rel -num/den'.
   PPL_DIRTY_TEMP0(mpq_class, q);
   assign_r(q.get_num(), num, ROUND_NOT_NEEDED);
   assign_r(q.get_den(), den, ROUND_NOT_NEEDED);
@@ -394,24 +390,46 @@ Box<ITV>
   // Turn `num/den' into `-num/den'.
   q = -q;
 
-  ITV& seq_v = seq[var_id];
+  I_Result res;
   switch (type) {
   case Constraint::EQUALITY:
-    seq_v.refine_existential(EQUAL, q);
+    res = itv.add_constraint(i_constraint(EQUAL, q));
     break;
   case Constraint::NONSTRICT_INEQUALITY:
-    seq_v.refine_existential((den > 0) ? GREATER_OR_EQUAL : LESS_OR_EQUAL, q);
-    assert(seq_v.OK());
+    res = itv.add_constraint(i_constraint(den > 0
+                                          ? GREATER_OR_EQUAL
+                                          : LESS_OR_EQUAL, q));
     break;
   case Constraint::STRICT_INEQUALITY:
-    seq_v.refine_existential((den > 0) ? GREATER_THAN : LESS_THAN, q);
+    res = itv.add_constraint(i_constraint(den > 0
+                                          ? GREATER_THAN
+                                          : LESS_THAN, q));
     break;
+  default:
+    // Silence an annoying GCC warning (should never reach this point).
+    PPL_ASSERT(false);
+    res = I_ANY;
   }
-  // FIXME: do check the value returned by `refine_existential' and
-  // set `empty' and `empty_up_to_date' as appropriate.
+  PPL_ASSERT(itv.OK());
+  return res;
+}
+
+template <typename ITV>
+inline void
+Box<ITV>
+::add_interval_constraint_no_check(const dimension_type var_id,
+                                   const Constraint::Type type,
+                                   Coefficient_traits::const_reference num,
+                                   Coefficient_traits::const_reference den) {
+  PPL_ASSERT(!marked_empty());
+  PPL_ASSERT(var_id < space_dimension());
+  PPL_ASSERT(den != 0);
+  refine_interval_no_check(seq[var_id], type, num, den);
+  // FIXME: do check the value returned and set `empty' and
+  // `empty_up_to_date' as appropriate.
   // This has to be done after reimplementation of intervals.
   reset_empty_up_to_date();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -489,7 +507,8 @@ Box<ITV>::propagate_constraint(const Constraint& c) {
 
 template <typename ITV>
 inline void
-Box<ITV>::propagate_constraints(const Constraint_System& cs) {
+Box<ITV>::propagate_constraints(const Constraint_System& cs,
+                                const dimension_type max_iterations) {
   // Dimension-compatibility check.
   if (cs.space_dimension() > space_dimension())
     throw_dimension_incompatible("propagate_constraints(cs)", cs);
@@ -498,7 +517,7 @@ Box<ITV>::propagate_constraints(const Constraint_System& cs) {
   if (marked_empty())
     return;
 
-  propagate_constraints_no_check(cs);
+  propagate_constraints_no_check(cs, max_iterations);
 }
 
 template <typename ITV>
@@ -519,7 +538,7 @@ Box<ITV>::unconstrain(const Variable var) {
     set_empty();
   else
     seq_var.assign(UNIVERSE);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 /*! \relates Box */
diff --git a/src/Box.templates.hh b/src/Box.templates.hh
index fa27d0d..e584430 100644
--- a/src/Box.templates.hh
+++ b/src/Box.templates.hh
@@ -1,5 +1,5 @@
 /* Box class implementation: non-inline template functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -36,6 +36,8 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Octagonal_Shape.defs.hh"
 #include "MIP_Problem.defs.hh"
 #include "Rational_Interval.hh"
+#include <vector>
+#include <map>
 #include <iostream>
 
 namespace Parma_Polyhedra_Library {
@@ -59,7 +61,7 @@ Box<ITV>::Box(dimension_type num_dimensions, Degenerate_Element kind)
   }
   else
     set_empty();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -109,7 +111,7 @@ Box<ITV>::Box(const Box<Other_ITV>& y, Complexity_Class)
   if (!y.marked_empty())
     for (dimension_type k = y.space_dimension(); k-- > 0; )
       seq[k].assign(y.seq[k]);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -133,7 +135,7 @@ Box<ITV>::Box(const Generator_System& gs)
   set_empty_up_to_date();
 
   const dimension_type space_dim = space_dimension();
-  PPL_DIRTY_TEMP0(mpq_class, q);
+  PPL_DIRTY_TEMP(mpq_class, q);
   bool point_seen = false;
   // Going through all the points.
   for (Generator_System::const_iterator
@@ -147,7 +149,9 @@ Box<ITV>::Box(const Generator_System& gs)
 	  assign_r(q.get_num(), g.coefficient(Variable(i)), ROUND_NOT_NEEDED);
 	  assign_r(q.get_den(), d, ROUND_NOT_NEEDED);
 	  q.canonicalize();
-	  seq[i].join_assign(q);
+	  PPL_DIRTY_TEMP(ITV, iq);
+	  iq.build(i_constraint(EQUAL, q));
+	  seq[i].join_assign(iq);
 	}
       }
       else {
@@ -157,7 +161,7 @@ Box<ITV>::Box(const Generator_System& gs)
 	  assign_r(q.get_num(), g.coefficient(Variable(i)), ROUND_NOT_NEEDED);
 	  assign_r(q.get_den(), d, ROUND_NOT_NEEDED);
 	  q.canonicalize();
-	  seq[i].assign(q);
+	  seq[i].build(i_constraint(EQUAL, q));
 	}
       }
     }
@@ -184,10 +188,10 @@ Box<ITV>::Box(const Generator_System& gs)
       for (dimension_type i = space_dim; i-- > 0; )
 	switch (sgn(g.coefficient(Variable(i)))) {
 	case 1:
-	  seq[i].upper_set(UNBOUNDED);
+	  seq[i].upper_extend();
 	  break;
 	case -1:
-	  seq[i].lower_set(UNBOUNDED);
+	  seq[i].lower_extend();
 	  break;
 	default:
 	  break;
@@ -201,8 +205,8 @@ Box<ITV>::Box(const Generator_System& gs)
 	  assign_r(q.get_den(), d, ROUND_NOT_NEEDED);
 	  q.canonicalize();
 	  ITV& seq_i = seq[i];
-	  seq_i.lower_widen(q, true);
-	  seq_i.upper_widen(q, true);
+	  seq_i.lower_extend(i_constraint(GREATER_THAN, q));
+	  seq_i.upper_extend(i_constraint(LESS_THAN, q));
 	}
       }
       break;
@@ -211,7 +215,7 @@ Box<ITV>::Box(const Generator_System& gs)
       break;
     }
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -228,7 +232,7 @@ Box<ITV>::Box(const BD_Shape<T>& bds, Complexity_Class)
   bds.shortest_path_closure_assign();
   if (bds.marked_empty()) {
     set_empty();
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -237,34 +241,33 @@ Box<ITV>::Box(const BD_Shape<T>& bds, Complexity_Class)
 
   const dimension_type space_dim = space_dimension();
   if (space_dim == 0) {
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
-  PPL_DIRTY_TEMP(typename BD_Shape<T>::coefficient_type, tmp);
-  const DB_Row<typename BD_Shape<T>::coefficient_type>& dbm_0 = bds.dbm[0];
+  typedef typename BD_Shape<T>::coefficient_type Coeff;
+  PPL_DIRTY_TEMP(Coeff, tmp);
+  const DB_Row<Coeff>& dbm_0 = bds.dbm[0];
   for (dimension_type i = space_dim; i-- > 0; ) {
+    I_Constraint<Coeff> lower;
+    I_Constraint<Coeff> upper;
     ITV& seq_i = seq[i];
+
     // Set the upper bound.
-    const typename BD_Shape<T>::coefficient_type& u = dbm_0[i+1];
-    if (is_plus_infinity(u))
-      seq_i.upper_set_uninit(UNBOUNDED);
-    else
-      seq_i.upper_set_uninit(u);
+    const Coeff& u = dbm_0[i+1];
+    if (!is_plus_infinity(u))
+      upper.set(LESS_OR_EQUAL, u, true);
 
     // Set the lower bound.
-    const typename BD_Shape<T>::coefficient_type& negated_l = bds.dbm[i+1][0];
-    if (is_plus_infinity(negated_l))
-      seq_i.lower_set_uninit(UNBOUNDED);
-    else {
+    const Coeff& negated_l = bds.dbm[i+1][0];
+    if (!is_plus_infinity(negated_l)) {
       neg_assign_r(tmp, negated_l, ROUND_DOWN);
-      seq_i.lower_set_uninit(tmp);
+      lower.set(GREATER_OR_EQUAL, tmp);
     }
 
-    // Complete the interval initialization.
-    seq_i.complete_init();
+    seq_i.build(lower, upper);
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -291,35 +294,33 @@ Box<ITV>::Box(const Octagonal_Shape<T>& oct, Complexity_Class)
   if (space_dim == 0)
     return;
 
-  PPL_DIRTY_TEMP0(mpq_class, bound);
+  PPL_DIRTY_TEMP0(mpq_class, lbound);
+  PPL_DIRTY_TEMP0(mpq_class, ubound);
   for (dimension_type i = space_dim; i-- > 0; ) {
+    typedef typename Octagonal_Shape<T>::coefficient_type Coeff;
+    I_Constraint<mpq_class> lower;
+    I_Constraint<mpq_class> upper;
     ITV& seq_i = seq[i];
     const dimension_type ii = 2*i;
     const dimension_type cii = ii + 1;
 
     // Set the upper bound.
-    const typename Octagonal_Shape<T>::coefficient_type& twice_ub
-      = oct.matrix[cii][ii];
+    const Coeff& twice_ub = oct.matrix[cii][ii];
     if (!is_plus_infinity(twice_ub)) {
-      assign_r(bound, twice_ub, ROUND_NOT_NEEDED);
-      div2exp_assign_r(bound, bound, 1, ROUND_NOT_NEEDED);
-      seq_i.upper_set_uninit(bound);
+      assign_r(ubound, twice_ub, ROUND_NOT_NEEDED);
+      div_2exp_assign_r(ubound, ubound, 1, ROUND_NOT_NEEDED);
+      upper.set(LESS_OR_EQUAL, ubound);
     }
-    else
-      seq_i.upper_set_uninit(UNBOUNDED);
 
     // Set the lower bound.
-    const typename Octagonal_Shape<T>::coefficient_type& twice_lb
-      = oct.matrix[ii][cii];
+    const Coeff& twice_lb = oct.matrix[ii][cii];
     if (!is_plus_infinity(twice_lb)) {
-      assign_r(bound, twice_lb, ROUND_NOT_NEEDED);
-      neg_assign_r(bound, bound, ROUND_NOT_NEEDED);
-      div2exp_assign_r(bound, bound, 1, ROUND_NOT_NEEDED);
-      seq_i.lower_set_uninit(bound);
+      assign_r(lbound, twice_lb, ROUND_NOT_NEEDED);
+      neg_assign_r(lbound, lbound, ROUND_NOT_NEEDED);
+      div_2exp_assign_r(lbound, lbound, 1, ROUND_NOT_NEEDED);
+      lower.set(GREATER_OR_EQUAL, lbound);
     }
-    else
-      seq_i.lower_set_uninit(UNBOUNDED);
-    seq_i.complete_init();
+    seq_i.build(lower, upper);
   }
 }
 
@@ -355,14 +356,19 @@ Box<ITV>::Box(const Polyhedron& ph, Complexity_Class complexity)
   }
 
   // Here generators are not up-to-date or there are pending constraints.
-  assert(ph.constraints_are_up_to_date());
+  PPL_ASSERT(ph.constraints_are_up_to_date());
 
   if (complexity == POLYNOMIAL_COMPLEXITY) {
     // FIXME: is there a way to avoid this initialization?
-    for (dimension_type i = space_dimension(); i-- > 0; )
+    for (dimension_type i = space_dim; i-- > 0; )
       seq[i].assign(UNIVERSE);
-    // Extract easy-to-find bounds from constraints.
-    refine_with_constraints(ph.simplified_constraints());
+    // Get a simplified version of the constraints.
+    Constraint_System cs = ph.simplified_constraints();
+    // Propagate easy-to-find bounds from the constraints,
+    // allowing for a limited number of iterations.
+    // FIXME: 20 is just a wild guess.
+    const dimension_type max_iterations = 20;
+    propagate_constraints_no_check(cs, max_iterations);
   }
   else if (complexity == SIMPLEX_COMPLEXITY) {
     MIP_Problem lp(space_dim);
@@ -386,10 +392,13 @@ Box<ITV>::Box(const Polyhedron& ph, Complexity_Class complexity)
     }
     // Get all the bounds for the space dimensions.
     Generator g(point());
-    PPL_DIRTY_TEMP0(mpq_class, bound);
+    PPL_DIRTY_TEMP0(mpq_class, lbound);
+    PPL_DIRTY_TEMP0(mpq_class, ubound);
     PPL_DIRTY_TEMP(Coefficient, bound_num);
     PPL_DIRTY_TEMP(Coefficient, bound_den);
     for (dimension_type i = space_dim; i-- > 0; ) {
+      I_Constraint<mpq_class> lower;
+      I_Constraint<mpq_class> upper;
       ITV& seq_i = seq[i];
       lp.set_objective_function(Variable(i));
       // Evaluate upper bound.
@@ -397,30 +406,26 @@ Box<ITV>::Box(const Polyhedron& ph, Complexity_Class complexity)
       if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
 	g = lp.optimizing_point();
 	lp.evaluate_objective_function(g, bound_num, bound_den);
-	assign_r(bound.get_num(), bound_num, ROUND_NOT_NEEDED);
-	assign_r(bound.get_den(), bound_den, ROUND_NOT_NEEDED);
-	assert(is_canonical(bound));
-	seq_i.upper_set_uninit(bound);
+	assign_r(ubound.get_num(), bound_num, ROUND_NOT_NEEDED);
+	assign_r(ubound.get_den(), bound_den, ROUND_NOT_NEEDED);
+	PPL_ASSERT(is_canonical(ubound));
+	upper.set(LESS_OR_EQUAL, ubound);
       }
-      else
-	seq_i.upper_set_uninit(UNBOUNDED);
       // Evaluate optimal lower bound.
       lp.set_optimization_mode(MINIMIZATION);
       if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
 	g = lp.optimizing_point();
 	lp.evaluate_objective_function(g, bound_num, bound_den);
-	assign_r(bound.get_num(), bound_num, ROUND_NOT_NEEDED);
-	assign_r(bound.get_den(), bound_den, ROUND_NOT_NEEDED);
-	assert(is_canonical(bound));
-	seq_i.lower_set_uninit(bound);
+	assign_r(lbound.get_num(), bound_num, ROUND_NOT_NEEDED);
+	assign_r(lbound.get_den(), bound_den, ROUND_NOT_NEEDED);
+	PPL_ASSERT(is_canonical(lbound));
+	lower.set(GREATER_OR_EQUAL, lbound);
       }
-      else
-	seq_i.lower_set_uninit(UNBOUNDED);
-      seq_i.complete_init();
+      seq_i.build(lower, upper);
     }
   }
   else {
-    assert(complexity == ANY_COMPLEXITY);
+    PPL_ASSERT(complexity == ANY_COMPLEXITY);
     if (ph.is_empty())
       set_empty();
     else {
@@ -461,7 +466,7 @@ Box<ITV>::Box(const Grid& gr, Complexity_Class)
     return;
   }
 
-  assert(!gr.gen_sys.empty());
+  PPL_ASSERT(!gr.gen_sys.empty());
 
   // For each dimension that is bounded by the grid, set both bounds
   // of the interval to the value of the associated coefficient in a
@@ -477,7 +482,7 @@ Box<ITV>::Box(const Grid& gr, Complexity_Class)
       assign_r(bound.get_num(), bound_num, ROUND_NOT_NEEDED);
       assign_r(bound.get_den(), bound_den, ROUND_NOT_NEEDED);
       bound.canonicalize();
-      seq_i.assign(bound);
+      seq_i.build(i_constraint(EQUAL, bound));
     }
     else
       seq_i.assign(UNIVERSE);
@@ -508,7 +513,7 @@ Box<ITV>::add_space_dimensions_and_embed(const dimension_type m) {
   // To embed an n-dimension space box in a (n+m)-dimension space,
   // we just add `m' new universe elements to the sequence.
   seq.insert(seq.end(), m, ITV(UNIVERSE));
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -519,7 +524,7 @@ Box<ITV>::add_space_dimensions_and_project(const dimension_type m) {
     return;
   // Add `m' new zero elements to the sequence.
   seq.insert(seq.end(), m, ITV(0));
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -559,14 +564,14 @@ Box<ITV>::bounds(const Linear_Expression& expr, const bool from_above) const {
   for (dimension_type i = expr_space_dim; i-- > 0; )
     switch (sgn(expr.coefficient(Variable(i))) * from_above_sign) {
     case 1:
-      if (seq[i].upper_is_unbounded())
+      if (seq[i].upper_is_boundary_infinity())
 	return false;
       break;
     case 0:
       // Nothing to do.
       break;
     case -1:
-      if (seq[i].lower_is_unbounded())
+      if (seq[i].lower_is_boundary_infinity())
 	return false;
       break;
     }
@@ -592,8 +597,8 @@ interval_relation(const ITV& i,
 
   PPL_DIRTY_TEMP0(mpq_class, bound_diff);
   if (constraint_type == Constraint::EQUALITY) {
-    if (i.lower_is_unbounded()) {
-      assert(!i.upper_is_unbounded());
+    if (i.lower_is_boundary_infinity()) {
+      PPL_ASSERT(!i.upper_is_boundary_infinity());
       assign_r(bound_diff, i.upper(), ROUND_NOT_NEEDED);
       sub_assign_r(bound_diff, bound_diff, bound, ROUND_NOT_NEEDED);
       switch (sgn(bound_diff)) {
@@ -621,7 +626,7 @@ interval_relation(const ITV& i,
             && Poly_Con_Relation::saturates();
         return Poly_Con_Relation::strictly_intersects();
       case -1:
-	if (i.upper_is_unbounded())
+	if (i.upper_is_boundary_infinity())
 	  return Poly_Con_Relation::strictly_intersects();
 	else {
 	  assign_r(bound_diff, i.upper(), ROUND_NOT_NEEDED);
@@ -642,10 +647,10 @@ interval_relation(const ITV& i,
     }
   }
 
-  assert(constraint_type != Constraint::EQUALITY);
+  PPL_ASSERT(constraint_type != Constraint::EQUALITY);
   if (is_lower_bound) {
-    if (i.lower_is_unbounded()) {
-      assert(!i.upper_is_unbounded());
+    if (i.lower_is_boundary_infinity()) {
+      PPL_ASSERT(!i.upper_is_boundary_infinity());
       assign_r(bound_diff, i.upper(), ROUND_NOT_NEEDED);
       sub_assign_r(bound_diff, bound_diff, bound, ROUND_NOT_NEEDED);
       switch (sgn(bound_diff)) {
@@ -676,7 +681,7 @@ interval_relation(const ITV& i,
 	  return result;
 	}
 	else {
-	  assert(constraint_type == Constraint::STRICT_INEQUALITY
+	  PPL_ASSERT(constraint_type == Constraint::STRICT_INEQUALITY
 		 && !i.lower_is_open());
 	  if (i.is_singleton())
 	    return Poly_Con_Relation::is_disjoint()
@@ -685,7 +690,7 @@ interval_relation(const ITV& i,
 	    return Poly_Con_Relation::strictly_intersects();
 	}
       case -1:
-	if (i.upper_is_unbounded())
+	if (i.upper_is_boundary_infinity())
 	  return Poly_Con_Relation::strictly_intersects();
 	else {
 	  assign_r(bound_diff, i.upper(), ROUND_NOT_NEEDED);
@@ -708,7 +713,7 @@ interval_relation(const ITV& i,
   }
   else {
     // `c' is an upper bound.
-    if (i.upper_is_unbounded())
+    if (i.upper_is_boundary_infinity())
       return Poly_Con_Relation::strictly_intersects();
     else {
       assign_r(bound_diff, i.upper(), ROUND_NOT_NEEDED);
@@ -725,7 +730,7 @@ interval_relation(const ITV& i,
 	  return result;
 	}
 	else {
-	  assert(constraint_type == Constraint::STRICT_INEQUALITY
+	  PPL_ASSERT(constraint_type == Constraint::STRICT_INEQUALITY
 		 && !i.upper_is_open());
 	  if (i.is_singleton())
 	    return Poly_Con_Relation::is_disjoint()
@@ -734,7 +739,7 @@ interval_relation(const ITV& i,
 	    return Poly_Con_Relation::strictly_intersects();
 	}
       case 1:
-	if (i.lower_is_unbounded())
+	if (i.lower_is_boundary_infinity())
 	  return Poly_Con_Relation::strictly_intersects();
 	else {
 	  assign_r(bound_diff, i.lower(), ROUND_NOT_NEEDED);
@@ -797,13 +802,13 @@ Box<ITV>::relation_with(const Congruence& cg) const {
     if (sgn(cg_i) != 0) {
       assign_r(m, cg_i, ROUND_NOT_NEEDED);
       // FIXME: an add_mul_assign() method would come handy here.
-      t = seq[i];
+      t.build(seq[i].lower_constraint(), seq[i].upper_constraint());
       t *= m;
       r += t;
     }
   }
 
-  if (r.lower_is_unbounded() || r.upper_is_unbounded())
+  if (r.lower_is_boundary_infinity() || r.upper_is_boundary_infinity())
     return Poly_Con_Relation::strictly_intersects();
 
 
@@ -893,7 +898,7 @@ Box<ITV>::relation_with(const Constraint& c) const {
       if (sgn(c_i) != 0) {
         assign_r(m, c_i, ROUND_NOT_NEEDED);
 	// FIXME: an add_mul_assign() method would come handy here.
-	t = seq[i];
+	t.build(seq[i].lower_constraint(), seq[i].upper_constraint());
 	t *= m;
 	r += t;
       }
@@ -934,17 +939,17 @@ Box<ITV>::relation_with(const Generator& g) const {
       return Poly_Gen_Relation::subsumes();
     }
     else {
-      assert(g.is_ray());
+      PPL_ASSERT(g.is_ray());
       for (dimension_type i = g_space_dim; i-- > 0; )
 	switch (sgn(g.coefficient(Variable(i)))) {
 	case 1:
-	  if (!seq[i].upper_is_unbounded())
+	  if (!seq[i].upper_is_boundary_infinity())
 	    return Poly_Gen_Relation::nothing();
 	  break;
 	case 0:
 	  break;
 	case -1:
-	  if (!seq[i].lower_is_unbounded())
+	  if (!seq[i].lower_is_boundary_infinity())
 	    return Poly_Gen_Relation::nothing();
 	  break;
 	}
@@ -964,7 +969,7 @@ Box<ITV>::relation_with(const Generator& g) const {
     assign_r(g_coord.get_den(), g_divisor, ROUND_NOT_NEEDED);
     g_coord.canonicalize();
     // Check lower bound.
-    if (!seq_i.lower_is_unbounded()) {
+    if (!seq_i.lower_is_boundary_infinity()) {
       assign_r(bound, seq_i.lower(), ROUND_NOT_NEEDED);
       if (g_coord <= bound) {
 	if (seq_i.lower_is_open()) {
@@ -976,7 +981,7 @@ Box<ITV>::relation_with(const Generator& g) const {
       }
     }
     // Check upper bound.
-    if (!seq_i.upper_is_unbounded()) {
+    if (!seq_i.upper_is_boundary_infinity()) {
       assign_r(bound, seq_i.upper(), ROUND_NOT_NEEDED);
       if (g_coord >= bound) {
 	if (seq_i.upper_is_open()) {
@@ -1032,7 +1037,7 @@ Box<ITV>::max_min(const Linear_Expression& expr,
     assign_r(expr_i, expr.coefficient(Variable(i)), ROUND_NOT_NEEDED);
     switch (sgn(expr_i) * maximize_sign) {
     case 1:
-      if (seq_i.upper_is_unbounded())
+      if (seq_i.upper_is_boundary_infinity())
 	return false;
       assign_r(bound_i, seq_i.upper(), ROUND_NOT_NEEDED);
       add_mul_assign_r(result, bound_i, expr_i, ROUND_NOT_NEEDED);
@@ -1043,7 +1048,7 @@ Box<ITV>::max_min(const Linear_Expression& expr,
       // Nothing to do.
       break;
     case -1:
-      if (seq_i.lower_is_unbounded())
+      if (seq_i.lower_is_boundary_infinity())
 	return false;
       assign_r(bound_i, seq_i.lower(), ROUND_NOT_NEEDED);
       add_mul_assign_r(result, bound_i, expr_i, ROUND_NOT_NEEDED);
@@ -1053,7 +1058,7 @@ Box<ITV>::max_min(const Linear_Expression& expr,
     }
   }
   // Extract output info.
-  assert(is_canonical(result));
+  PPL_ASSERT(is_canonical(result));
   ext_n = result.get_num();
   ext_d = result.get_den();
   included = is_included;
@@ -1092,9 +1097,9 @@ Box<ITV>::max_min(const Linear_Expression& expr,
       // FIXME: name qualification issue.
       if (seq_i.contains(0))
 	continue;
-      if (!seq_i.lower_is_unbounded())
+      if (!seq_i.lower_is_boundary_infinity())
 	if (seq_i.lower_is_open())
-	  if (!seq_i.upper_is_unbounded())
+	  if (!seq_i.upper_is_boundary_infinity())
 	    if (seq_i.upper_is_open()) {
 	      // Bounded and open interval: compute middle point.
 	      assign_r(g_coord, seq_i.lower(), ROUND_NOT_NEEDED);
@@ -1117,7 +1122,7 @@ Box<ITV>::max_min(const Linear_Expression& expr,
       else {
 	// Lower is unbounded, hence upper is bounded
 	// (since we know that 0 does not belong to the interval).
-	assert(!seq_i.upper_is_unbounded());
+	PPL_ASSERT(!seq_i.upper_is_boundary_infinity());
 	assign_r(g_coord, seq_i.upper(), ROUND_NOT_NEEDED);
 	if (seq_i.upper_is_open())
 	  --g_coord;
@@ -1281,7 +1286,7 @@ Box<ITV>::affine_dimension() const {
 template <typename ITV>
 bool
 Box<ITV>::check_empty() const {
-  assert(!marked_empty());
+  PPL_ASSERT(!marked_empty());
   Box<ITV>& x = const_cast<Box<ITV>&>(*this);
   for (dimension_type k = seq.size(); k-- > 0; )
     if (seq[k].is_empty()) {
@@ -1306,7 +1311,7 @@ Box<ITV>::is_universe() const {
 template <typename ITV>
 bool
 Box<ITV>::is_topologically_closed() const {
-  if (!ITV::info_type::store_open || is_empty())
+  if (ITV::is_always_topologically_closed() || is_empty())
     return true;
 
   for (dimension_type k = seq.size(); k-- > 0; )
@@ -1332,7 +1337,7 @@ Box<ITV>::is_bounded() const {
   if (is_empty())
     return true;
   for (dimension_type k = seq.size(); k-- > 0; )
-    if (seq[k].is_unbounded())
+    if (!seq[k].is_bounded())
       return false;
   return true;
 }
@@ -1350,6 +1355,80 @@ Box<ITV>::contains_integer_point() const {
 
 template <typename ITV>
 bool
+Box<ITV>::frequency(const Linear_Expression& expr,
+                  Coefficient& freq_n, Coefficient& freq_d,
+                  Coefficient& val_n, Coefficient& val_d) const {
+  dimension_type space_dim = space_dimension();
+  // The dimension of `expr' must be at most the dimension of *this.
+  if (space_dim < expr.space_dimension())
+    throw_dimension_incompatible("frequency(e, ...)", "e", expr);
+
+  // Check if `expr' has a constant value.
+  // If it is constant, set the frequency `freq_n' to 0
+  // and return true. Otherwise the values for \p expr
+  // are not discrete so return false.
+
+  // Space dimension = 0: if empty, then return false;
+  // otherwise the frequency is 0 and the value is the inhomogeneous term.
+  if (space_dim == 0) {
+    if (is_empty())
+      return false;
+    freq_n = 0;
+    freq_d = 1;
+    val_n = expr.inhomogeneous_term();
+    val_d = 1;
+    return true;
+  }
+
+  // For an empty Box, we simply return false.
+  if (is_empty())
+    return false;
+
+  // The Box has at least 1 dimension and is not empty.
+  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
+  PPL_DIRTY_TEMP_COEFFICIENT(num);
+  PPL_DIRTY_TEMP_COEFFICIENT(den);
+  PPL_DIRTY_TEMP0(mpq_class, tmp);
+  Linear_Expression le = expr;
+
+  PPL_DIRTY_TEMP_COEFFICIENT(val_den);
+  val_den = 1;
+
+  for (dimension_type i = space_dim; i-- > 0; ) {
+    const Variable v(i);
+    coeff = le.coefficient(v);
+    if (coeff == 0) {
+      continue;
+    }
+
+    const ITV& seq_i = seq[i];
+    // Check if `v' is constant in the BD shape.
+    if (seq_i.is_singleton()) {
+      // If `v' is constant, replace it in `le' by the value.
+      assign_r(tmp, seq_i.lower(), ROUND_NOT_NEEDED);
+      num = tmp.get_num();
+      den = tmp.get_den();
+      le -= coeff*v;
+      le *= den;
+      le += num*coeff;
+      val_den *= den;
+      continue;
+    }
+    // The expression `expr' is not constant.
+    return false;
+  }
+
+  // The expression `expr' is constant.
+  freq_n = 0;
+  freq_d = 1;
+
+  // Reduce `val_n' and `val_d'.
+  normalize2(le.inhomogeneous_term(), val_den, val_n, val_d);
+  return true;
+}
+
+template <typename ITV>
+bool
 Box<ITV>::constrains(Variable var) const {
   // `var' should be one of the dimensions of the polyhedron.
   const dimension_type var_space_dim = var.space_dimension();
@@ -1364,15 +1443,15 @@ Box<ITV>::constrains(Variable var) const {
 
 template <typename ITV>
 void
-Box<ITV>::unconstrain(const Variables_Set& to_be_unconstrained) {
+Box<ITV>::unconstrain(const Variables_Set& vars) {
   // The cylindrification wrt no dimensions is a no-op.
   // This case also captures the only legal cylindrification
   // of a box in a 0-dim space.
-  if (to_be_unconstrained.empty())
+  if (vars.empty())
     return;
 
   // Dimension-compatibility check.
-  const dimension_type min_space_dim = to_be_unconstrained.space_dimension();
+  const dimension_type min_space_dim = vars.space_dimension();
   if (space_dimension() < min_space_dim)
     throw_dimension_incompatible("unconstrain(vs)", min_space_dim);
 
@@ -1382,24 +1461,24 @@ Box<ITV>::unconstrain(const Variables_Set& to_be_unconstrained) {
 
   // Here the box might still be empty (but we haven't detected it yet):
   // check emptiness of the interval for each of the variables in
-  // `to_be_unconstrained' before cylindrification.
-  for (Variables_Set::const_iterator tbu = to_be_unconstrained.begin(),
-         tbu_end = to_be_unconstrained.end(); tbu != tbu_end; ++tbu) {
-    ITV& seq_tbu = seq[*tbu];
-    if (!seq_tbu.is_empty())
-      seq_tbu.assign(UNIVERSE);
+  // `vars' before cylindrification.
+  for (Variables_Set::const_iterator vsi = vars.begin(),
+         vsi_end = vars.end(); vsi != vsi_end; ++vsi) {
+    ITV& seq_vsi = seq[*vsi];
+    if (!seq_vsi.is_empty())
+      seq_vsi.assign(UNIVERSE);
     else {
       set_empty();
       break;
     }
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
 void
 Box<ITV>::topological_closure_assign() {
-  if (!ITV::info_type::store_open || is_empty())
+  if (ITV::is_always_topologically_closed() || is_empty())
     return;
 
   for (dimension_type k = seq.size(); k-- > 0; )
@@ -1408,6 +1487,226 @@ Box<ITV>::topological_closure_assign() {
 
 template <typename ITV>
 void
+Box<ITV>::wrap_assign(const Variables_Set& vars,
+                      Bounded_Integer_Type_Width w,
+                      Bounded_Integer_Type_Representation r,
+                      Bounded_Integer_Type_Overflow o,
+                      const Constraint_System* pcs,
+                      unsigned complexity_threshold,
+                      bool wrap_individually) {
+#if 0 // Generic implementation commented out.
+  Implementation::wrap_assign(*this,
+                              vars, w, r, o, pcs,
+                              complexity_threshold, wrap_individually,
+                              "Box");
+#else // Specialized implementation.
+  used(wrap_individually);
+  used(complexity_threshold);
+  Box& x = *this;
+
+  // Dimension-compatibility check for `*pcs', if any.
+  const dimension_type vars_space_dim = vars.space_dimension();
+  if (pcs != 0 && pcs->space_dimension() > vars_space_dim) {
+    std::ostringstream s;
+    s << "PPL::Box<ITV>::wrap_assign(vars, w, r, o, pcs, ...):"
+      << std::endl
+      << "vars.space_dimension() == " << vars_space_dim
+      << ", pcs->space_dimension() == " << pcs->space_dimension() << ".";
+    throw std::invalid_argument(s.str());
+  }
+
+  // Wrapping no variable only requires refining with *pcs, if any.
+  if (vars.empty()) {
+    if (pcs != 0)
+      refine_with_constraints(*pcs);
+    return;
+  }
+
+  // Dimension-compatibility check for `vars'.
+  const dimension_type space_dim = x.space_dimension();
+  if (space_dim < vars_space_dim) {
+    std::ostringstream s;
+    s << "PPL::Box<ITV>::wrap_assign(vars, ...):"
+      << std::endl
+      << "this->space_dimension() == " << space_dim
+      << ", required space dimension == " << vars_space_dim << ".";
+    throw std::invalid_argument(s.str());
+  }
+
+  // Wrapping an empty polyhedron is a no-op.
+  if (x.is_empty())
+    return;
+
+  // FIXME: temporarily (ab-) using Coefficient.
+  // Set `min_value' and `max_value' to the minimum and maximum values
+  // a variable of width `w' and signedness `s' can take.
+  PPL_DIRTY_TEMP_COEFFICIENT(min_value);
+  PPL_DIRTY_TEMP_COEFFICIENT(max_value);
+  if (r == UNSIGNED) {
+    min_value = 0;
+    mul_2exp_assign(max_value, Coefficient_one(), w);
+    --max_value;
+  }
+  else {
+    PPL_ASSERT(r == SIGNED_2_COMPLEMENT);
+    mul_2exp_assign(max_value, Coefficient_one(), w-1);
+    neg_assign(min_value, max_value);
+    --max_value;
+  }
+
+  // FIXME: Build the (integer) quadrant interval.
+  PPL_DIRTY_TEMP(ITV, integer_quadrant_itv);
+  PPL_DIRTY_TEMP(ITV, rational_quadrant_itv);
+  {
+    I_Constraint<Coefficient> lower = i_constraint(GREATER_OR_EQUAL, min_value);
+    I_Constraint<Coefficient> upper = i_constraint(LESS_OR_EQUAL, max_value);
+    integer_quadrant_itv.build(lower, upper);
+    // The rational quadrant is only needed if overflow is undefined.
+    if (o == OVERFLOW_UNDEFINED) {
+      ++max_value;
+      upper = i_constraint(LESS_THAN, max_value);
+      rational_quadrant_itv.build(lower, upper);
+    }
+  }
+
+  const Variables_Set::const_iterator vs_end = vars.end();
+
+  if (pcs == 0) {
+    // No constraint refinement is needed here.
+    switch (o) {
+    case OVERFLOW_WRAPS:
+      for (Variables_Set::const_iterator i = vars.begin(); i != vs_end; ++i)
+        x.seq[*i].wrap_assign(w, r, integer_quadrant_itv);
+      reset_empty_up_to_date();
+      break;
+    case OVERFLOW_UNDEFINED:
+      for (Variables_Set::const_iterator i = vars.begin(); i != vs_end; ++i) {
+        ITV& x_seq_v = x.seq[*i];
+        if (!rational_quadrant_itv.contains(x_seq_v)) {
+          x_seq_v.assign(integer_quadrant_itv);
+        }
+      }
+      break;
+    case OVERFLOW_IMPOSSIBLE:
+      for (Variables_Set::const_iterator i = vars.begin(); i != vs_end; ++i)
+        x.seq[*i].intersect_assign(integer_quadrant_itv);
+      reset_empty_up_to_date();
+      break;
+    }
+    PPL_ASSERT(x.OK());
+    return;
+  }
+
+  PPL_ASSERT(pcs != 0);
+  const Constraint_System& cs = *pcs;
+  const dimension_type cs_space_dim = cs.space_dimension();
+  // A map associating interval constraints to variable indexes.
+  typedef std::map<dimension_type, std::vector<const Constraint*> > map_type;
+  map_type var_cs_map;
+  for (Constraint_System::const_iterator i = cs.begin(),
+         i_end = cs.end(); i != i_end; ++i) {
+    const Constraint& c = *i;
+    dimension_type c_num_vars = 0;
+    dimension_type c_only_var = 0;
+    if (extract_interval_constraint(c, cs_space_dim,
+                                    c_num_vars, c_only_var)) {
+      if (c_num_vars == 1) {
+        // An interval constraint on variable index `c_only_var'.
+        PPL_ASSERT(c_only_var < space_dim);
+        // We do care about c if c_only_var is going to be wrapped.
+        if (vars.find(c_only_var) != vs_end)
+          var_cs_map[c_only_var].push_back(&c);
+      }
+      else {
+        PPL_ASSERT(c_num_vars == 0);
+        // Note: tautologies have been filtered out by iterators.
+        PPL_ASSERT(c.is_inconsistent());
+        x.set_empty();
+        return;
+      }
+    }
+  }
+
+  PPL_DIRTY_TEMP(ITV, refinement_itv);
+  const map_type::const_iterator var_cs_map_end = var_cs_map.end();
+  // Loop through the variable indexes in `vars'.
+  for (Variables_Set::const_iterator i = vars.begin(); i != vs_end; ++i) {
+    const dimension_type v = *i;
+    refinement_itv = integer_quadrant_itv;
+    // Look for the refinement constraints for space dimension index `v'.
+    map_type::const_iterator var_cs_map_iter = var_cs_map.find(v);
+    if (var_cs_map_iter != var_cs_map_end) {
+      // Refine interval for variable `v'.
+      const map_type::mapped_type& var_cs = var_cs_map_iter->second;
+      for (dimension_type j = var_cs.size(); j-- > 0; ) {
+        const Constraint& c = *var_cs[j];
+        refine_interval_no_check(refinement_itv,
+                                 c.type(),
+                                 c.inhomogeneous_term(),
+                                 c.coefficient(Variable(v)));
+      }
+    }
+    // Wrap space dimension index `v'.
+    ITV& x_seq_v = x.seq[v];
+    switch (o) {
+    case OVERFLOW_WRAPS:
+      x_seq_v.wrap_assign(w, r, refinement_itv);
+      break;
+    case OVERFLOW_UNDEFINED:
+      if (!rational_quadrant_itv.contains(x_seq_v))
+        x_seq_v.assign(UNIVERSE);
+      break;
+    case OVERFLOW_IMPOSSIBLE:
+      x_seq_v.intersect_assign(refinement_itv);
+      break;
+    }
+  }
+  PPL_ASSERT(x.OK());
+#endif
+}
+
+template <typename ITV>
+void
+Box<ITV>::drop_some_non_integer_points(Complexity_Class) {
+  if (std::numeric_limits<typename ITV::boundary_type>::is_integer
+      && !ITV::info_type::store_open)
+    return;
+
+  if (marked_empty())
+    return;
+
+  for (dimension_type k = seq.size(); k-- > 0; )
+    seq[k].drop_some_non_integer_points();
+
+  PPL_ASSERT(OK());
+}
+
+template <typename ITV>
+void
+Box<ITV>::drop_some_non_integer_points(const Variables_Set& vars,
+                                       Complexity_Class) {
+  // Dimension-compatibility check.
+  const dimension_type min_space_dim = vars.space_dimension();
+  if (space_dimension() < min_space_dim)
+    throw_dimension_incompatible("drop_some_non_integer_points(vs, cmpl)",
+                                 min_space_dim);
+
+  if (std::numeric_limits<typename ITV::boundary_type>::is_integer
+      && !ITV::info_type::store_open)
+    return;
+
+  if (marked_empty())
+    return;
+
+  for (Variables_Set::const_iterator v_i = vars.begin(),
+         v_end = vars.end(); v_i != v_end; ++v_i)
+    seq[*v_i].drop_some_non_integer_points();
+
+  PPL_ASSERT(OK());
+}
+
+template <typename ITV>
+void
 Box<ITV>::intersection_assign(const Box& y) {
   Box& x = *this;
   const dimension_type space_dim = space_dimension();
@@ -1436,7 +1735,7 @@ Box<ITV>::intersection_assign(const Box& y) {
   for (dimension_type k = space_dim; k-- > 0; )
     x.seq[k].intersect_assign(y.seq[k]);
 
-  assert(x.OK());
+  PPL_ASSERT(x.OK());
 }
 
 template <typename ITV>
@@ -1459,7 +1758,7 @@ Box<ITV>::upper_bound_assign(const Box& y) {
   for (dimension_type k = x.seq.size(); k-- > 0; )
     x.seq[k].join_assign(y.seq[k]);
 
-  assert(x.OK());
+  PPL_ASSERT(x.OK());
 }
 
 template <typename ITV>
@@ -1485,7 +1784,7 @@ Box<ITV>::concatenate_assign(const Box& y) {
   // the dimension of the vector space.
   if (x.marked_empty()) {
     x.seq.insert(x.seq.end(), y_space_dim, ITV(EMPTY));
-    assert(x.OK());
+    PPL_ASSERT(x.OK());
     return;
   }
 
@@ -1496,7 +1795,7 @@ Box<ITV>::concatenate_assign(const Box& y) {
   if (!y.status.test_empty_up_to_date())
     reset_empty_up_to_date();
 
-  assert(x.OK());
+  PPL_ASSERT(x.OK());
 }
 
 template <typename ITV>
@@ -1555,7 +1854,7 @@ Box<ITV>::difference_assign(const Box& y) {
     }
     break;
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -1605,13 +1904,13 @@ Box<ITV>::simplify_using_context_assign(const Box& y) {
         for (++i; i < num_dims; ++i)
           x.seq[i].assign(UNIVERSE);
         x.set_nonempty();
-        assert(x.OK());
+        PPL_ASSERT(x.OK());
         return false;
       }
     }
     // All intervals in `y' are universe or could not be contradicted:
     // simplification can leave the empty box `x' as is.
-    assert(x.OK() && x.is_empty());
+    PPL_ASSERT(x.OK() && x.is_empty());
     return false;
   }
 
@@ -1619,18 +1918,18 @@ Box<ITV>::simplify_using_context_assign(const Box& y) {
   dimension_type i = 0;
   for ( ; i < num_dims; ++i) {
     if (!x.seq[i].simplify_using_context_assign(y.seq[i])) {
-      assert(!x.seq[i].is_empty());
+      PPL_ASSERT(!x.seq[i].is_empty());
       // The intersection of `x' and `y' is empty due to the i-th interval:
       // reset other intervals to UNIVERSE.
       for (dimension_type j = num_dims; j-- > i; )
         x.seq[j].assign(UNIVERSE);
       for (dimension_type j = i; j-- > 0; )
         x.seq[j].assign(UNIVERSE);
-      assert(x.OK());
+      PPL_ASSERT(x.OK());
       return false;
     }
   }
-  assert(x.OK());
+  PPL_ASSERT(x.OK());
   return true;
 }
 
@@ -1662,56 +1961,56 @@ Box<ITV>::time_elapse_assign(const Box& y) {
   for (dimension_type i = x_space_dim; i-- > 0; ) {
     ITV& x_seq_i = x.seq[i];
     const ITV& y_seq_i = y.seq[i];
-    if (!x_seq_i.lower_is_unbounded())
-      if (y_seq_i.lower_is_unbounded() || y_seq_i.lower() < 0)
-	x_seq_i.lower_set(UNBOUNDED);
-    if (!x_seq_i.upper_is_unbounded())
-      if (y_seq_i.upper_is_unbounded() || y_seq_i.upper() > 0)
-	x_seq_i.upper_set(UNBOUNDED);
+    if (!x_seq_i.lower_is_boundary_infinity())
+      if (y_seq_i.lower_is_boundary_infinity() || y_seq_i.lower() < 0)
+	x_seq_i.lower_extend();
+    if (!x_seq_i.upper_is_boundary_infinity())
+      if (y_seq_i.upper_is_boundary_infinity() || y_seq_i.upper() > 0)
+	x_seq_i.upper_extend();
   }
-  assert(x.OK());
+  PPL_ASSERT(x.OK());
 }
 
 template <typename ITV>
 inline void
-Box<ITV>::remove_space_dimensions(const Variables_Set& to_be_removed) {
+Box<ITV>::remove_space_dimensions(const Variables_Set& vars) {
   // The removal of no dimensions from any box is a no-op.
   // Note that this case also captures the only legal removal of
   // space dimensions from a box in a zero-dimensional space.
-  if (to_be_removed.empty()) {
-    assert(OK());
+  if (vars.empty()) {
+    PPL_ASSERT(OK());
     return;
   }
 
   const dimension_type old_space_dim = space_dimension();
 
   // Dimension-compatibility check.
-  const dimension_type tbr_space_dim = to_be_removed.space_dimension();
-  if (old_space_dim < tbr_space_dim)
+  const dimension_type vsi_space_dim = vars.space_dimension();
+  if (old_space_dim < vsi_space_dim)
     throw_dimension_incompatible("remove_space_dimensions(vs)",
-				 tbr_space_dim);
+				 vsi_space_dim);
 
-  const dimension_type new_space_dim = old_space_dim - to_be_removed.size();
+  const dimension_type new_space_dim = old_space_dim - vars.size();
 
   // If the box is empty (this must be detected), then resizing is all
   // what is needed.  If it is not empty and we are removing _all_ the
   // dimensions then, again, resizing suffices.
   if (is_empty() || new_space_dim == 0) {
     seq.resize(new_space_dim);
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
   // For each variable to be removed, we fill the corresponding interval
   // by shifting left those intervals that will not be removed.
-  Variables_Set::const_iterator tbr = to_be_removed.begin();
-  Variables_Set::const_iterator tbr_end = to_be_removed.end();
-  dimension_type dst = *tbr;
+  Variables_Set::const_iterator vsi = vars.begin();
+  Variables_Set::const_iterator vsi_end = vars.end();
+  dimension_type dst = *vsi;
   dimension_type src = dst + 1;
-  for (++tbr; tbr != tbr_end; ++tbr) {
-    const dimension_type tbr_next = *tbr;
+  for (++vsi; vsi != vsi_end; ++vsi) {
+    const dimension_type vsi_next = *vsi;
     // All intervals in between are moved to the left.
-    while (src < tbr_next)
+    while (src < vsi_next)
       seq[dst++].swap(seq[src++]);
     ++src;
   }
@@ -1719,10 +2018,10 @@ Box<ITV>::remove_space_dimensions(const Variables_Set& to_be_removed) {
   while (src < old_space_dim)
     seq[dst++].swap(seq[src++]);
 
-  assert(dst == new_space_dim);
+  PPL_ASSERT(dst == new_space_dim);
   seq.resize(new_space_dim);
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -1739,12 +2038,12 @@ Box<ITV>::remove_higher_space_dimensions(const dimension_type new_dim) {
   // Note that this case also captures the only legal removal of
   // dimensions from a zero-dim space box.
   if (new_dim == old_dim) {
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
   seq.erase(seq.begin() + new_dim, seq.end());
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -1777,49 +2076,49 @@ Box<ITV>::map_space_dimensions(const Partial_Function& pfunc) {
       seq[i].swap(tmp.seq[new_i]);
   }
   swap(tmp);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
 void
-Box<ITV>::fold_space_dimensions(const Variables_Set& to_be_folded,
-                                const Variable var) {
+Box<ITV>::fold_space_dimensions(const Variables_Set& vars,
+                                const Variable dest) {
   const dimension_type space_dim = space_dimension();
-  // `var' should be one of the dimensions of the box.
-  if (var.space_dimension() > space_dim)
-    throw_dimension_incompatible("fold_space_dimensions(tbf, v)", "v", var);
+  // `dest' should be one of the dimensions of the box.
+  if (dest.space_dimension() > space_dim)
+    throw_dimension_incompatible("fold_space_dimensions(vs, v)", "v", dest);
 
   // The folding of no dimensions is a no-op.
-  if (to_be_folded.empty())
+  if (vars.empty())
     return;
 
-  // All variables in `to_be_folded' should be dimensions of the box.
-  if (to_be_folded.space_dimension() > space_dim)
-    throw_dimension_incompatible("fold_space_dimensions(tbf, ...)",
-				 to_be_folded.space_dimension());
+  // All variables in `vars' should be dimensions of the box.
+  if (vars.space_dimension() > space_dim)
+    throw_dimension_incompatible("fold_space_dimensions(vs, v)",
+				 vars.space_dimension());
 
-  // Moreover, `var.id()' should not occur in `to_be_folded'.
-  if (to_be_folded.find(var.id()) != to_be_folded.end())
-    throw_generic("fold_space_dimensions(tbf, v)",
-		  "v should not occur in tbf");
+  // Moreover, `dest.id()' should not occur in `vars'.
+  if (vars.find(dest.id()) != vars.end())
+    throw_generic("fold_space_dimensions(vs, v)",
+		  "v should not occur in vs");
 
   // Note: the check for emptiness is needed for correctness.
   if (!is_empty()) {
-    // Join the interval corresponding to variable `var' with the intervals
-    // corresponding to the variables in `to_be_folded'.
-    ITV& seq_v = seq[var.id()];
-    for (Variables_Set::const_iterator i = to_be_folded.begin(),
-	   tbf_end = to_be_folded.end(); i != tbf_end; ++i)
+    // Join the interval corresponding to variable `dest' with the intervals
+    // corresponding to the variables in `vars'.
+    ITV& seq_v = seq[dest.id()];
+    for (Variables_Set::const_iterator i = vars.begin(),
+	   vs_end = vars.end(); i != vs_end; ++i)
       seq_v.join_assign(seq[*i]);
   }
-  remove_space_dimensions(to_be_folded);
+  remove_space_dimensions(vars);
 }
 
 template <typename ITV>
 void
 Box<ITV>::add_constraint_no_check(const Constraint& c) {
   const dimension_type c_space_dim = c.space_dimension();
-  assert(c_space_dim <= space_dimension());
+  PPL_ASSERT(c_space_dim <= space_dimension());
 
   dimension_type c_num_vars = 0;
   dimension_type c_only_var = 0;
@@ -1830,7 +2129,7 @@ Box<ITV>::add_constraint_no_check(const Constraint& c) {
   // Throw an exception if c is a nontrivial strict constraint
   // and ITV does not support open boundaries.
   if (c.is_strict_inequality() && c_num_vars != 0
-      && !Box::interval_type::info_type::store_open)
+      && ITV::is_always_topologically_closed())
     throw_generic("add_constraint(c)", "c is a nontrivial strict constraint");
 
   // Avoid doing useless work if the box is known to be empty.
@@ -1847,7 +2146,7 @@ Box<ITV>::add_constraint_no_check(const Constraint& c) {
     return;
   }
 
-  assert(c_num_vars == 1);
+  PPL_ASSERT(c_num_vars == 1);
   const Coefficient& d = c.coefficient(Variable(c_only_var));
   add_interval_constraint_no_check(c_only_var, c.type(), n, d);
 }
@@ -1855,21 +2154,21 @@ Box<ITV>::add_constraint_no_check(const Constraint& c) {
 template <typename ITV>
 void
 Box<ITV>::add_constraints_no_check(const Constraint_System& cs) {
-  assert(cs.space_dimension() <= space_dimension());
+  PPL_ASSERT(cs.space_dimension() <= space_dimension());
   // Note: even when the box is known to be empty, we need to go
   // through all the constraints to fulfill the method's contract
   // for what concerns exception throwing.
   for (Constraint_System::const_iterator i = cs.begin(),
 	 cs_end = cs.end(); i != cs_end; ++i)
     add_constraint_no_check(*i);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
 void
 Box<ITV>::add_congruence_no_check(const Congruence& cg) {
   const dimension_type cg_space_dim = cg.space_dimension();
-  assert(cg_space_dim <= space_dimension());
+  PPL_ASSERT(cg_space_dim <= space_dimension());
 
   // Set aside the case of proper congruences.
   if (cg.is_proper_congruence()) {
@@ -1885,7 +2184,7 @@ Box<ITV>::add_congruence_no_check(const Congruence& cg) {
                     "cg is a nontrivial proper congruence");
   }
 
-  assert(cg.is_equality());
+  PPL_ASSERT(cg.is_equality());
   dimension_type cg_num_vars = 0;
   dimension_type cg_only_var = 0;
   // Throw an exception if c is not an interval congruence.
@@ -1904,7 +2203,7 @@ Box<ITV>::add_congruence_no_check(const Congruence& cg) {
     return;
   }
 
-  assert(cg_num_vars == 1);
+  PPL_ASSERT(cg_num_vars == 1);
   const Coefficient& d = cg.coefficient(Variable(cg_only_var));
   add_interval_constraint_no_check(cg_only_var, Constraint::EQUALITY, n, d);
 }
@@ -1912,30 +2211,30 @@ Box<ITV>::add_congruence_no_check(const Congruence& cg) {
 template <typename ITV>
 void
 Box<ITV>::add_congruences_no_check(const Congruence_System& cgs) {
-  assert(cgs.space_dimension() <= space_dimension());
+  PPL_ASSERT(cgs.space_dimension() <= space_dimension());
   // Note: even when the box is known to be empty, we need to go
   // through all the congruences to fulfill the method's contract
   // for what concerns exception throwing.
   for (Congruence_System::const_iterator i = cgs.begin(),
 	 cgs_end = cgs.end(); i != cgs_end; ++i)
     add_congruence_no_check(*i);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
 void
 Box<ITV>::refine_no_check(const Constraint& c) {
   const dimension_type c_space_dim = c.space_dimension();
-  assert(c_space_dim <= space_dimension());
-  assert(!marked_empty());
+  PPL_ASSERT(c.space_dimension() <= space_dimension());
+  PPL_ASSERT(!marked_empty());
 
   dimension_type c_num_vars = 0;
   dimension_type c_only_var = 0;
-  // Non-interval constraints are ignored.
-  // FIXME: instead of ignoring, safely use propagate_no_check()
-  // (i.e., ensuring that no termination problem can arise).
-  if (!extract_interval_constraint(c, c_space_dim, c_num_vars, c_only_var))
+  // Non-interval constraints are approximated.
+  if (!extract_interval_constraint(c, c_space_dim, c_num_vars, c_only_var)) {
+    propagate_constraint_no_check(c);
     return;
+  }
 
   const Coefficient& n = c.inhomogeneous_term();
   if (c_num_vars == 0) {
@@ -1947,7 +2246,7 @@ Box<ITV>::refine_no_check(const Constraint& c) {
     return;
   }
 
-  assert(c_num_vars == 1);
+  PPL_ASSERT(c_num_vars == 1);
   const Coefficient& d = c.coefficient(Variable(c_only_var));
   add_interval_constraint_no_check(c_only_var, c.type(), n, d);
 }
@@ -1955,20 +2254,19 @@ Box<ITV>::refine_no_check(const Constraint& c) {
 template <typename ITV>
 void
 Box<ITV>::refine_no_check(const Constraint_System& cs) {
-  assert(cs.space_dimension() <= space_dimension());
+  PPL_ASSERT(cs.space_dimension() <= space_dimension());
   for (Constraint_System::const_iterator i = cs.begin(),
 	 cs_end = cs.end(); !marked_empty() && i != cs_end; ++i)
     refine_no_check(*i);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
 void
 Box<ITV>::refine_no_check(const Congruence& cg) {
-  assert(!marked_empty());
+  PPL_ASSERT(!marked_empty());
 
-  const dimension_type cg_space_dim = cg.space_dimension();
-  assert(cg_space_dim <= space_dimension());
+  PPL_ASSERT(cg.space_dimension() <= space_dimension());
 
   if (cg.is_proper_congruence()) {
     // FIXME: also deal with the case of interval with restrictions.
@@ -1979,34 +2277,19 @@ Box<ITV>::refine_no_check(const Congruence& cg) {
     return;
   }
 
-  assert(cg.is_equality());
-  dimension_type cg_num_vars = 0;
-  dimension_type cg_only_var = 0;
-  // Congruences that are not interval congruences are ignored.
-  if (!extract_interval_congruence(cg, cg_space_dim, cg_num_vars, cg_only_var))
-    return;
-
-  if (cg_num_vars == 0) {
-    // Dealing with a trivial congruence.
-    if (cg.inhomogeneous_term() != 0)
-      set_empty();
-    return;
-  }
-
-  assert(cg_num_vars == 1);
-  const Coefficient& n = cg.inhomogeneous_term();
-  const Coefficient& d = cg.coefficient(Variable(cg_only_var));
-  add_interval_constraint_no_check(cg_only_var, Constraint::EQUALITY, n, d);
+  PPL_ASSERT(cg.is_equality());
+  Constraint c(cg);
+  refine_no_check(c);
 }
 
 template <typename ITV>
 void
 Box<ITV>::refine_no_check(const Congruence_System& cgs) {
-  assert(cgs.space_dimension() <= space_dimension());
+  PPL_ASSERT(cgs.space_dimension() <= space_dimension());
   for (Congruence_System::const_iterator i = cgs.begin(),
 	 cgs_end = cgs.end(); !marked_empty() && i != cgs_end; ++i)
     refine_no_check(*i);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 #if 1 // Alternative implementations for propagate_constraint_no_check.
@@ -2014,11 +2297,10 @@ namespace {
 
 inline bool
 propagate_constraint_check_result(Result r, Ternary& open) {
+  r = result_relation_class(r);
   switch (r) {
-  case V_NEG_OVERFLOW:
-  case V_POS_OVERFLOW:
-  case V_UNKNOWN_NEG_OVERFLOW:
-  case V_UNKNOWN_POS_OVERFLOW:
+  case V_GT_MINUS_INFINITY:
+  case V_LT_PLUS_INFINITY:
     return true;
   case V_LT:
   case V_GT:
@@ -2032,7 +2314,7 @@ propagate_constraint_check_result(Result r, Ternary& open) {
   case V_EQ:
     return false;
   default:
-    assert(false);
+    PPL_ASSERT(false);
     return true;
   }
 }
@@ -2042,7 +2324,7 @@ propagate_constraint_check_result(Result r, Ternary& open) {
 template <typename ITV>
 void
 Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
-  assert(c.space_dimension() <= space_dimension());
+  PPL_ASSERT(c.space_dimension() <= space_dimension());
 
   typedef
     typename Select_Temp_Boundary_Type<typename ITV::boundary_type>::type
@@ -2070,7 +2352,7 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
   }
 
   // Here constraint c is non-trivial.
-  assert(last_k < c_space_dim);
+  PPL_ASSERT(last_k < c_space_dim);
   Result r;
   Temp_Boundary_Type t_bound;
   Temp_Boundary_Type t_a;
@@ -2100,7 +2382,7 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
 	  continue;
 	ITV& x_i = seq[i];
 	if (sgn_a_i < 0) {
-	  if (x_i.lower_is_unbounded())
+	  if (x_i.lower_is_boundary_infinity())
 	    goto maybe_refine_upper_1;
 	  r = assign_r(t_a, a_i, ROUND_DOWN);
 	  if (propagate_constraint_check_result(r, open))
@@ -2115,8 +2397,8 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
 	    goto maybe_refine_upper_1;
 	}
 	else {
-	  assert(sgn_a_i > 0);
-	  if (x_i.upper_is_unbounded())
+	  PPL_ASSERT(sgn_a_i > 0);
+	  if (x_i.upper_is_boundary_infinity())
 	    goto maybe_refine_upper_1;
 	  r = assign_r(t_a, a_i, ROUND_UP);
 	  if (propagate_constraint_check_result(r, open))
@@ -2142,7 +2424,7 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
       if (open == T_MAYBE
 	  && maybe_check_fpu_inexact<Temp_Boundary_Type>() == 1)
 	open = T_YES;
-      seq[k].lower_narrow(t_bound, open == T_YES);
+      seq[k].add_constraint(i_constraint(open == T_YES ? GREATER_THAN : GREATER_OR_EQUAL, t_bound));
       reset_empty_up_to_date();
     maybe_refine_upper_1:
       if (c_type != Constraint::EQUALITY)
@@ -2164,7 +2446,7 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
 	  continue;
 	ITV& x_i = seq[i];
 	if (sgn_a_i < 0) {
-	  if (x_i.upper_is_unbounded())
+	  if (x_i.upper_is_boundary_infinity())
 	    goto next_k;
 	  r = assign_r(t_a, a_i, ROUND_UP);
 	  if (propagate_constraint_check_result(r, open))
@@ -2179,8 +2461,8 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
 	    goto next_k;
 	}
 	else {
-	  assert(sgn_a_i > 0);
-	  if (x_i.lower_is_unbounded())
+	  PPL_ASSERT(sgn_a_i > 0);
+	  if (x_i.lower_is_boundary_infinity())
 	    goto next_k;
 	  r = assign_r(t_a, a_i, ROUND_DOWN);
 	  if (propagate_constraint_check_result(r, open))
@@ -2206,11 +2488,11 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
       if (open == T_MAYBE
 	  && maybe_check_fpu_inexact<Temp_Boundary_Type>() == 1)
 	open = T_YES;
-      seq[k].upper_narrow(t_bound, open == T_YES);
+      seq[k].add_constraint(i_constraint(open == T_YES ? LESS_THAN : LESS_OR_EQUAL, t_bound));
       reset_empty_up_to_date();
     }
     else {
-      assert(sgn_a_k < 0);
+      PPL_ASSERT(sgn_a_k < 0);
       open = (c_type == Constraint::STRICT_INEQUALITY) ? T_YES : T_NO;
       if (open == T_NO)
 	maybe_reset_fpu_inexact<Temp_Boundary_Type>();
@@ -2229,7 +2511,7 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
 	  continue;
 	ITV& x_i = seq[i];
 	if (sgn_a_i < 0) {
-	  if (x_i.lower_is_unbounded())
+	  if (x_i.lower_is_boundary_infinity())
 	    goto maybe_refine_upper_2;
 	  r = assign_r(t_a, a_i, ROUND_DOWN);
 	  if (propagate_constraint_check_result(r, open))
@@ -2244,8 +2526,8 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
 	    goto maybe_refine_upper_2;
 	}
 	else {
-	  assert(sgn_a_i > 0);
-	  if (x_i.upper_is_unbounded())
+	  PPL_ASSERT(sgn_a_i > 0);
+	  if (x_i.upper_is_boundary_infinity())
 	    goto maybe_refine_upper_2;
 	  r = assign_r(t_a, a_i, ROUND_UP);
 	  if (propagate_constraint_check_result(r, open))
@@ -2271,7 +2553,7 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
       if (open == T_MAYBE
 	  && maybe_check_fpu_inexact<Temp_Boundary_Type>() == 1)
 	open = T_YES;
-      seq[k].upper_narrow(t_bound, open == T_YES);
+      seq[k].add_constraint(i_constraint(open == T_YES ? LESS_THAN : LESS_OR_EQUAL, t_bound));
       reset_empty_up_to_date();
     maybe_refine_upper_2:
       if (c_type != Constraint::EQUALITY)
@@ -2293,7 +2575,7 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
 	  continue;
 	ITV& x_i = seq[i];
 	if (sgn_a_i < 0) {
-	  if (x_i.upper_is_unbounded())
+	  if (x_i.upper_is_boundary_infinity())
 	    goto next_k;
 	  r = assign_r(t_a, a_i, ROUND_UP);
 	  if (propagate_constraint_check_result(r, open))
@@ -2308,8 +2590,8 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
 	    goto next_k;
 	}
 	else {
-	  assert(sgn_a_i > 0);
-	  if (x_i.lower_is_unbounded())
+	  PPL_ASSERT(sgn_a_i > 0);
+	  if (x_i.lower_is_boundary_infinity())
 	    goto next_k;
 	  r = assign_r(t_a, a_i, ROUND_DOWN);
 	  if (propagate_constraint_check_result(r, open))
@@ -2335,7 +2617,7 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
       if (open == T_MAYBE
 	  && maybe_check_fpu_inexact<Temp_Boundary_Type>() == 1)
 	open = T_YES;
-      seq[k].lower_narrow(t_bound, open == T_YES);
+      seq[k].add_constraint(i_constraint(open == T_YES ? GREATER_THAN : GREATER_OR_EQUAL, t_bound));
       reset_empty_up_to_date();
     }
   next_k:
@@ -2348,7 +2630,7 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
 template <typename ITV>
 void
 Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
-  assert(c.space_dimension() <= space_dimension());
+  PPL_ASSERT(c.space_dimension() <= space_dimension());
 
   dimension_type c_space_dim = c.space_dimension();
   ITV k[c_space_dim];
@@ -2384,8 +2666,8 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
       rel = (sgn_coefficient_i > 0) ? GREATER_THAN : LESS_THAN;
       break;
     }
-    seq[i].refine_existential(rel, q);
-    // FIXME: could/should we exploit the return value of refine_existential,
+    seq[i].add_constraint(i_constraint(rel, q));
+    // FIXME: could/should we exploit the return value of add_constraint
     //        in case it is available?
     // FIMXE: should we instead be lazy and do not even bother about
     //        the possibility the interval becomes empty apart from setting
@@ -2396,28 +2678,45 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
     }
   }
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 #endif // Alternative implementations for propagate_constraint_no_check.
 
 template <typename ITV>
 void
-Box<ITV>::propagate_constraints_no_check(const Constraint_System& cs) {
-  assert(cs.space_dimension() <= space_dimension());
+Box<ITV>
+::propagate_constraints_no_check(const Constraint_System& cs,
+                                 const dimension_type max_iterations) {
+  const dimension_type space_dim = space_dimension();
+  PPL_ASSERT(cs.space_dimension() <= space_dim);
+
+  const Constraint_System::const_iterator cs_begin = cs.begin();
+  const Constraint_System::const_iterator cs_end = cs.end();
+  const dimension_type cs_size = std::distance(cs_begin, cs_end);
+  const dimension_type propagation_weight = cs_size * space_dim;
 
+  Sequence copy;
   bool changed;
+  dimension_type num_iterations = 0;
   do {
-    Sequence copy(seq);
-    for (Constraint_System::const_iterator i = cs.begin(),
-	   cs_end = cs.end(); i != cs_end; ++i)
+    WEIGHT_BEGIN();
+    ++num_iterations;
+    copy = seq;
+    for (Constraint_System::const_iterator i = cs_begin; i != cs_end; ++i)
       propagate_constraint_no_check(*i);
 
+    WEIGHT_ADD_MUL(40, propagation_weight);
     // Check if the client has requested abandoning all expensive
     // computations.  If so, the exception specified by the client
     // is thrown now.
     maybe_abandon();
 
+    // NOTE: if max_iterations == 0 (i.e., no iteration limit is set)
+    // the following test will anyway trigger on wrap around.
+    if (num_iterations == max_iterations)
+      break;
+
     changed = (copy != seq);
   } while (changed);
 }
@@ -2461,7 +2760,7 @@ Box<ITV>::affine_image(const Variable var,
   }
   seq[var.id()].assign(expr_value);
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -2522,7 +2821,7 @@ Box<ITV>::affine_preimage(const Variable var,
     inverse += (expr_v + denominator) * var;
     affine_image(var, inverse, expr_v);
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -2604,22 +2903,23 @@ Box<ITV>
 	// has a minimum value for the box.
 	// Set the bounds for `var' using the minimum for `lb_expr'.
 	min_den *= denominator;
-	PPL_DIRTY_TEMP0(mpq_class, q);
-	assign_r(q.get_num(), min_num, ROUND_NOT_NEEDED);
-	assign_r(q.get_den(), min_den, ROUND_NOT_NEEDED);
-	q.canonicalize();
-	(denominator > 0)
-	  ? seq_v.lower_set(q, !min_included)
-	  : seq_v.upper_set(q, !min_included);
+	PPL_DIRTY_TEMP0(mpq_class, q1);
+	PPL_DIRTY_TEMP0(mpq_class, q2);
+	assign_r(q1.get_num(), min_num, ROUND_NOT_NEEDED);
+	assign_r(q1.get_den(), min_den, ROUND_NOT_NEEDED);
+	q1.canonicalize();
 	// Now make the maximum of lb_expr the upper bound.  If the
 	// maximum is not at a box point, then inequality is strict.
 	max_den *= denominator;
-	assign_r(q.get_num(), max_num, ROUND_NOT_NEEDED);
-	assign_r(q.get_den(), max_den, ROUND_NOT_NEEDED);
-	q.canonicalize();
-	(denominator > 0)
-	  ? seq_v.upper_set(q, !max_included)
-	  : seq_v.lower_set(q, !max_included);
+	assign_r(q2.get_num(), max_num, ROUND_NOT_NEEDED);
+	assign_r(q2.get_den(), max_den, ROUND_NOT_NEEDED);
+	q2.canonicalize();
+	if (denominator > 0)
+	  seq_v.build(i_constraint(min_included ? GREATER_OR_EQUAL : GREATER_THAN, q1),
+		      i_constraint(max_included ? LESS_OR_EQUAL : LESS_THAN, q2));
+	else
+	  seq_v.build(i_constraint(max_included ? GREATER_OR_EQUAL : GREATER_THAN, q2),
+		       i_constraint(min_included ? LESS_OR_EQUAL : LESS_THAN, q1));
       }
       else {
 	// The `ub_expr' has a maximum value but the `lb_expr'
@@ -2630,14 +2930,10 @@ Box<ITV>
 	assign_r(q.get_num(), max_num, ROUND_NOT_NEEDED);
 	assign_r(q.get_den(), max_den, ROUND_NOT_NEEDED);
 	q.canonicalize();
-	if (denominator > 0) {
-	  seq_v.lower_set(UNBOUNDED);
-	  seq_v.upper_set(q, !max_included);
-	}
-	else {
-	  seq_v.upper_set(UNBOUNDED);
-	  seq_v.lower_set(q, !max_included);
-	}
+	if (denominator > 0)
+	  seq_v.build(i_constraint(max_included ? LESS_OR_EQUAL : LESS_THAN, q));
+	else
+	  seq_v.build(i_constraint(max_included ? GREATER_OR_EQUAL : GREATER_THAN, q));
       }
     }
     else if (minimize(lb_expr, min_num, min_den, min_included)) {
@@ -2649,24 +2945,19 @@ Box<ITV>
 	assign_r(q.get_num(), min_num, ROUND_NOT_NEEDED);
 	assign_r(q.get_den(), min_den, ROUND_NOT_NEEDED);
 	q.canonicalize();
-	if (denominator > 0) {
-	  seq_v.upper_set(UNBOUNDED);
-	  seq_v.lower_set(q, !min_included);
-	}
-	else {
-	  seq_v.lower_set(UNBOUNDED);
-	  seq_v.upper_set(q, !min_included);
-	}
+	if (denominator > 0)
+	  seq_v.build(i_constraint(min_included ? GREATER_OR_EQUAL : GREATER_THAN, q));
+	else
+	  seq_v.build(i_constraint(min_included ? LESS_OR_EQUAL : LESS_THAN, q));
     }
     else {
       // The `ub_expr' has no maximum value and the `lb_expr'
       // has no minimum value for the box.
       // So we set the bounds to be unbounded.
-      seq_v.upper_set(UNBOUNDED);
-      seq_v.lower_set(UNBOUNDED);
+      seq_v.assign(UNIVERSE);
     }
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -2726,7 +3017,7 @@ Box<ITV>
     // Store all the information about the upper and lower bounds
     // for `var' before making this interval unbounded.
     bool open_lower = seq_var.lower_is_open();
-    bool unbounded_lower = seq_var.lower_is_unbounded();
+    bool unbounded_lower = seq_var.lower_is_boundary_infinity();
     PPL_DIRTY_TEMP0(mpq_class, q_seq_var_lower);
     PPL_DIRTY_TEMP(Coefficient, num_lower);
     PPL_DIRTY_TEMP(Coefficient, den_lower);
@@ -2737,10 +3028,10 @@ Box<ITV>
       if (negative_denom)
         neg_assign(den_lower, den_lower);
       num_lower *= pos_denominator;
-      seq_var.lower_set(UNBOUNDED);
+      seq_var.lower_extend();
     }
     bool open_upper = seq_var.upper_is_open();
-    bool unbounded_upper = seq_var.upper_is_unbounded();
+    bool unbounded_upper = seq_var.upper_is_boundary_infinity();
     PPL_DIRTY_TEMP0(mpq_class, q_seq_var_upper);
     PPL_DIRTY_TEMP(Coefficient, num_upper);
     PPL_DIRTY_TEMP(Coefficient, den_upper);
@@ -2751,7 +3042,7 @@ Box<ITV>
       if (negative_denom)
         neg_assign(den_upper, den_upper);
       num_upper *= pos_denominator;
-      seq_var.upper_set(UNBOUNDED);
+      seq_var.upper_extend();
     }
 
     if (!unbounded_lower) {
@@ -2777,9 +3068,9 @@ Box<ITV>
         q.canonicalize();
         open_lower |= !included;
         if ((ub_var_coeff >= 0) ? !negative_denom : negative_denom)
-          seq_var.lower_narrow(q, open_lower);
+          seq_var.add_constraint(i_constraint(open_lower ? GREATER_THAN : GREATER_OR_EQUAL, q));
         else
-          seq_var.upper_narrow(q, open_lower);
+          seq_var.add_constraint(i_constraint(open_lower ? LESS_THAN : LESS_OR_EQUAL, q));
         if (seq_var.is_empty()) {
           set_empty();
           return;
@@ -2810,9 +3101,9 @@ Box<ITV>
         q.canonicalize();
         open_upper |= !included;
         if ((lb_var_coeff >= 0) ? !negative_denom : negative_denom)
-          seq_var.upper_narrow(q, open_upper);
+          seq_var.add_constraint(i_constraint(open_upper ? LESS_THAN : LESS_OR_EQUAL, q));
         else
-          seq_var.lower_narrow(q, open_upper);
+          seq_var.add_constraint(i_constraint(open_upper ? GREATER_THAN : GREATER_OR_EQUAL, q));
         if (seq_var.is_empty()) {
           set_empty();
           return;
@@ -2830,7 +3121,7 @@ Box<ITV>
       refine_with_constraint(lb_expr >= ub_expr);
   }
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -2876,26 +3167,26 @@ Box<ITV>
   ITV& seq_var = seq[var.id()];
   switch (relsym) {
   case LESS_OR_EQUAL:
-    seq_var.lower_set(UNBOUNDED);
+    seq_var.lower_extend();
     break;
   case LESS_THAN:
-    seq_var.lower_set(UNBOUNDED);
-    if (!seq_var.upper_is_unbounded())
-      seq_var.refine_existential(LESS_THAN, seq_var.upper());
+    seq_var.lower_extend();
+    if (!seq_var.upper_is_boundary_infinity())
+      seq_var.remove_sup();
     break;
   case GREATER_OR_EQUAL:
-    seq_var.upper_set(UNBOUNDED);
+    seq_var.upper_extend();
     break;
   case GREATER_THAN:
-    seq_var.upper_set(UNBOUNDED);
-    if (!seq_var.lower_is_unbounded())
-      seq_var.refine_existential(GREATER_THAN, seq_var.lower());
+    seq_var.upper_extend();
+    if (!seq_var.lower_is_boundary_infinity())
+      seq_var.remove_inf();
     break;
   default:
     // The EQUAL and NOT_EQUAL cases have been already dealt with.
     throw std::runtime_error("PPL internal error");
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -3039,9 +3330,8 @@ Box<ITV>
   if (is_empty())
     return;
   ITV& seq_v = seq[var.id()];
-  seq_v.lower_set(UNBOUNDED);
-  seq_v.upper_set(UNBOUNDED);
-  assert(OK());
+  seq_v.assign(UNIVERSE);
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -3096,8 +3386,7 @@ Box<ITV>
     if (lhs.coefficient(Variable(lhs_space_dim - 1)) != 0) {
       if (has_var) {
         ITV& seq_i = seq[lhs_space_dim - 1];
-        seq_i.lower_set(UNBOUNDED);
-        seq_i.upper_set(UNBOUNDED);
+        seq_i.assign(UNIVERSE);
         has_more_than_one_var = true;
       }
       else {
@@ -3113,9 +3402,8 @@ Box<ITV>
     // in the lhs have been set unbounded, it remains to set the
     // highest dimension in the lhs unbounded.
     ITV& seq_var = seq[has_var_id];
-    seq_var.lower_set(UNBOUNDED);
-    seq_var.upper_set(UNBOUNDED);
-    assert(OK());
+    seq_var.assign(UNIVERSE);
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -3150,36 +3438,35 @@ Box<ITV>
       // The coefficient of the dimension in the lhs is +ve.
       switch (relsym) {
       case LESS_OR_EQUAL:
-        seq_var.lower_set(UNBOUNDED);
         max_rhs
-          ? seq_var.upper_set(q_max, !max_included)
-          : seq_var.upper_set(UNBOUNDED);
+          ? seq_var.build(i_constraint(max_included ? LESS_OR_EQUAL : LESS_THAN, q_max))
+          : seq_var.assign(UNIVERSE);
         break;
       case LESS_THAN:
-        seq_var.lower_set(UNBOUNDED);
         max_rhs
-          ? seq_var.upper_set(q_max, true)
-          : seq_var.upper_set(UNBOUNDED);
+          ? seq_var.build(i_constraint(LESS_THAN, q_max))
+          : seq_var.assign(UNIVERSE);
         break;
       case EQUAL:
-        max_rhs
-          ? seq_var.upper_set(q_max, !max_included)
-          : seq_var.upper_set(UNBOUNDED);
-          min_rhs
-            ? seq_var.lower_set(q_min, !min_included)
-            : seq_var.lower_set(UNBOUNDED);
+	{
+	  I_Constraint<mpq_class> l;
+	  I_Constraint<mpq_class> u;
+	  if (max_rhs)
+	    u.set(max_included ? LESS_OR_EQUAL : LESS_THAN, q_max);
+	  if (min_rhs)
+	    l.set(min_included ? GREATER_OR_EQUAL : GREATER_THAN, q_min);
+	  seq_var.build(l, u);
           break;
+	}
       case GREATER_OR_EQUAL:
-        seq_var.upper_set(UNBOUNDED);
         min_rhs
-          ? seq_var.lower_set(q_min, !min_included)
-          : seq_var.lower_set(UNBOUNDED);
+          ? seq_var.build(i_constraint(min_included ? GREATER_OR_EQUAL : GREATER_THAN, q_min))
+          : seq_var.assign(UNIVERSE);
         break;
       case GREATER_THAN:
-        seq_var.upper_set(UNBOUNDED);
         min_rhs
-          ? seq_var.lower_set(q_min, true)
-          : seq_var.lower_set(UNBOUNDED);
+          ? seq_var.build(i_constraint(GREATER_THAN, q_min))
+          : seq_var.assign(UNIVERSE);
         break;
       default:
         // The NOT_EQUAL case has been already dealt with.
@@ -3189,36 +3476,35 @@ Box<ITV>
       // The coefficient of the dimension in the lhs is -ve.
       switch (relsym) {
       case GREATER_OR_EQUAL:
-        seq_var.lower_set(UNBOUNDED);
         min_rhs
-          ? seq_var.upper_set(q_min, !min_included)
-          : seq_var.upper_set(UNBOUNDED);
+          ? seq_var.build(i_constraint(min_included ? LESS_OR_EQUAL : LESS_THAN, q_min))
+          : seq_var.assign(UNIVERSE);
         break;
       case GREATER_THAN:
-        seq_var.lower_set(UNBOUNDED);
         min_rhs
-          ? seq_var.upper_set(q_min, true)
-          : seq_var.upper_set(UNBOUNDED);
+          ? seq_var.build(i_constraint(LESS_THAN, q_min))
+	  : seq_var.assign(UNIVERSE);
         break;
       case EQUAL:
-        max_rhs
-          ? seq_var.lower_set(q_max, !max_included)
-          : seq_var.lower_set(UNBOUNDED);
-          min_rhs
-            ? seq_var.upper_set(q_min, !min_included)
-            : seq_var.upper_set(UNBOUNDED);
+	{
+	  I_Constraint<mpq_class> l;
+	  I_Constraint<mpq_class> u;
+	  if (max_rhs)
+	    l.set(max_included ? GREATER_OR_EQUAL : GREATER_THAN, q_max);
+	  if (min_rhs)
+	    u.set(min_included ? LESS_OR_EQUAL : LESS_THAN, q_min);
+	  seq_var.build(l, u);
           break;
+	}
       case LESS_OR_EQUAL:
-        seq_var.upper_set(UNBOUNDED);
         max_rhs
-          ? seq_var.lower_set(q_max, !max_included)
-          : seq_var.lower_set(UNBOUNDED);
+	  ? seq_var.build(i_constraint(max_included ? GREATER_OR_EQUAL : GREATER_THAN, q_max))
+          : seq_var.assign(UNIVERSE);
         break;
       case LESS_THAN:
-        seq_var.upper_set(UNBOUNDED);
         max_rhs
-          ? seq_var.lower_set(q_max, true)
-          : seq_var.lower_set(UNBOUNDED);
+          ? seq_var.build(i_constraint(GREATER_THAN, q_max))
+          : seq_var.assign(UNIVERSE);
         break;
       default:
         // The NOT_EQUAL case has been already dealt with.
@@ -3251,7 +3537,7 @@ Box<ITV>
       throw std::runtime_error("PPL internal error");
     }
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -3298,25 +3584,30 @@ Box<ITV>::generalized_affine_preimage(const Linear_Expression& lhs,
     }
   }
   generalized_affine_image(revised_lhs, relsym, revised_rhs);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
-template <typename Iterator>
-void
-Box<ITV>::CC76_widening_assign(const Box& y, Iterator first, Iterator last) {
+template <typename T, typename Iterator>
+typename Enable_If<Is_Same<T, Box<ITV> >::value
+                   && Is_Same_Or_Derived<Interval_Base, ITV>::value,
+                   void>::type
+Box<ITV>::CC76_widening_assign(const T& y, Iterator first, Iterator last) {
   if (y.is_empty())
     return;
 
   for (dimension_type i = seq.size(); i-- > 0; )
     seq[i].CC76_widening_assign(y.seq[i], first, last);
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
-void
-Box<ITV>::CC76_widening_assign(const Box& y, unsigned* tp) {
+template <typename T>
+typename Enable_If<Is_Same<T, Box<ITV> >::value
+                   && Is_Same_Or_Derived<Interval_Base, ITV>::value,
+                   void>::type
+Box<ITV>::CC76_widening_assign(const T& y, unsigned* tp) {
   static typename ITV::boundary_type stop_points[] = {
     typename ITV::boundary_type(-2),
     typename ITV::boundary_type(-1),
@@ -3347,7 +3638,7 @@ Box<ITV>::get_limiting_box(const Constraint_System& cs,
                            Box& limiting_box) const {
   const dimension_type cs_space_dim = cs.space_dimension();
   // Private method: the caller has to ensure the following.
-  assert(cs_space_dim <= space_dimension());
+  PPL_ASSERT(cs_space_dim <= space_dimension());
 
   for (Constraint_System::const_iterator cs_i = cs.begin(),
          cs_end = cs.end(); cs_i != cs_end; ++cs_i) {
@@ -3398,7 +3689,7 @@ Box<ITV>::limited_CC76_extrapolation_assign(const Box& y,
     // We assume that `y' is contained in or equal to `*this'.
     const Box x_copy = *this;
     const Box y_copy = y;
-    assert(x_copy.contains(y_copy));
+    PPL_ASSERT(x_copy.contains(y_copy));
   }
 #endif
 
@@ -3421,8 +3712,11 @@ Box<ITV>::limited_CC76_extrapolation_assign(const Box& y,
 }
 
 template <typename ITV>
-void
-Box<ITV>::CC76_narrowing_assign(const Box& y) {
+template <typename T>
+typename Enable_If<Is_Same<T, Box<ITV> >::value
+                   && Is_Same_Or_Derived<Interval_Base, ITV>::value,
+                   void>::type
+Box<ITV>::CC76_narrowing_assign(const T& y) {
   const dimension_type space_dim = space_dimension();
 
   // Dimension-compatibility check.
@@ -3434,7 +3728,7 @@ Box<ITV>::CC76_narrowing_assign(const Box& y) {
     // We assume that `*this' is contained in or equal to `y'.
     const Box x_copy = *this;
     const Box y_copy = y;
-    assert(y_copy.contains(x_copy));
+    PPL_ASSERT(y_copy.contains(x_copy));
   }
 #endif
 
@@ -3455,16 +3749,16 @@ Box<ITV>::CC76_narrowing_assign(const Box& y) {
   for (dimension_type i = space_dim; i-- > 0; ) {
     ITV& x_i = seq[i];
     const ITV& y_i = y.seq[i];
-    if (!x_i.lower_is_unbounded()
-	&& !y_i.lower_is_unbounded()
+    if (!x_i.lower_is_boundary_infinity()
+	&& !y_i.lower_is_boundary_infinity()
 	&& x_i.lower() != y_i.lower())
       x_i.lower() = y_i.lower();
-    if (!x_i.upper_is_unbounded()
-	&& !y_i.upper_is_unbounded()
+    if (!x_i.upper_is_boundary_infinity()
+	&& !y_i.upper_is_boundary_infinity()
 	&& x_i.upper() != y_i.upper())
       x_i.upper() = y_i.upper();
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -3645,7 +3939,7 @@ Box<ITV>::ascii_load(std::istream& s) {
   }
 
   // Check invariants.
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
@@ -3822,11 +4116,11 @@ l_m_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
     const ITV& x_i = x.seq[i];
     const ITV& y_i = y.seq[i];
     // Dealing with the lower bounds.
-    if (x_i.lower_is_unbounded()) {
-      if (!y_i.lower_is_unbounded())
+    if (x_i.lower_is_boundary_infinity()) {
+      if (!y_i.lower_is_boundary_infinity())
 	goto pinf;
     }
-    else if (y_i.lower_is_unbounded())
+    else if (y_i.lower_is_boundary_infinity())
       goto pinf;
     else {
       const Temp* tmp1p;
@@ -3840,16 +4134,16 @@ l_m_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 	maybe_assign(tmp2p, tmp2, x_i.lower(), inverse(dir));
       }
       sub_assign_r(tmp1, *tmp1p, *tmp2p, dir);
-      assert(sgn(tmp1) >= 0);
+      PPL_ASSERT(sgn(tmp1) >= 0);
       Specialization::combine(tmp0, tmp1, dir);
     }
     // Dealing with the lower bounds.
-    if (x_i.upper_is_unbounded())
-      if (y_i.upper_is_unbounded())
+    if (x_i.upper_is_boundary_infinity())
+      if (y_i.upper_is_boundary_infinity())
 	continue;
       else
 	goto pinf;
-    else if (y_i.upper_is_unbounded())
+    else if (y_i.upper_is_boundary_infinity())
       goto pinf;
     else {
       const Temp* tmp1p;
@@ -3863,7 +4157,7 @@ l_m_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 	maybe_assign(tmp2p, tmp2, x_i.upper(), inverse(dir));
       }
       sub_assign_r(tmp1, *tmp1p, *tmp2p, dir);
-      assert(sgn(tmp1) >= 0);
+      PPL_ASSERT(sgn(tmp1) >= 0);
       Specialization::combine(tmp0, tmp1, dir);
     }
   }
diff --git a/src/Box.types.hh b/src/Box.types.hh
index 6b4796d..b6eabf2 100644
--- a/src/Box.types.hh
+++ b/src/Box.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Box_Status.idefs.hh b/src/Box_Status.idefs.hh
index 5eb6110..4773c61 100644
--- a/src/Box_Status.idefs.hh
+++ b/src/Box_Status.idefs.hh
@@ -1,5 +1,5 @@
 /* Box<ITV>::Status class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -46,10 +46,10 @@ public:
   //! By default Status is the empty set of assertion.
   Status();
 
-  //! Ordinary copy-constructor.
+  //! Ordinary copy constructor.
   Status(const Status& y);
 
-  //! Copy-constructor from a box of different type.
+  //! Copy constructor from a box of different type.
   template <typename Other_ITV>
   Status(const typename Box<Other_ITV>::Status& y);
 
diff --git a/src/Box_Status.inlines.hh b/src/Box_Status.inlines.hh
index eabe03a..624c592 100644
--- a/src/Box_Status.inlines.hh
+++ b/src/Box_Status.inlines.hh
@@ -1,5 +1,5 @@
 /* Box<ITV>::Status class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -218,7 +218,7 @@ Box<ITV>::Status::ascii_load(std::istream& s) {
     reset_universe();
 
   // Check invariants.
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
diff --git a/src/CREDITS.cc.dist b/src/CREDITS.cc.dist
index 90e0ee6..7b892dc 100644
--- a/src/CREDITS.cc.dist
+++ b/src/CREDITS.cc.dist
@@ -36,20 +36,18 @@ extern const char* const CREDITS_array[] = {
   "                        intervals.  He also helps on several other",
   "                        design and implementation issues.",
   "",
-  "  Andrea Cimino         (former student of the University of Parma)",
-  "                        wrote most of the mixed integer programming",
-  "                        solver, and also most of the Java and OCaml",
-  "                        interfaces.",
+  "  Fabio Bossi           (student of the University of Parma)",
+  "                        is working on the PPL support for the approximation",
+  "                        of floating point computations.",
   "",
-  "  Katy Dobson           [4] (University of Leeds) is working on the",
-  "                        formalization and definition of algorithms for",
-  "                        rational grids and products of grids and",
-  "                        polyhedra.",
+  "  Francois Galea        [*] (University of Versailles) is working",
+  "                        at the implementation of the Parametric Integer",
+  "                        Programming solver.",
   "",
-  "  Enric Rodriguez Carbonell [5] (Technical University of Catalonia) is",
+  "  Enric Rodriguez Carbonell [4] (Technical University of Catalonia) is",
   "                        working on the implementation of polynomial spaces.",
   "",
-  "  Alessandro Zaccagnini [6] (University of Parma) has helped with",
+  "  Alessandro Zaccagnini [5] (University of Parma) has helped with",
   "                        the efficient implementation of GCD and LCM",
   "                        for checked numbers.  He is now working on the",
   "                        definitions of interval arithmetic operations.",
@@ -60,12 +58,20 @@ extern const char* const CREDITS_array[] = {
   "Past Contributors:",
   "------------------",
   "",
+  "  Roberto Amadini       (student of the University of Parma)",
+  "                        did some working on the PPL support for the",
+  "                        approximation of floating point computations.",
+  "",
   "  Irene Bacchi          (former student of the University of Parma) worked",
   "                        on a development branch where she implemented",
   "                        several variants of algorithms, checking",
   "                        whether or not the set-union of two polyhedra",
   "                        is the same as their poly-hull.",
   "",
+  "  Fabio Biselli         (student of the University of Parma)",
+  "                        did some work on the PPL support for the",
+  "                        approximation of floating point computations.",
+  "",
   "  Danilo Bonardi        (former student of the University of Parma) worked",
   "                        on a development branch where he experimented",
   "                        with the use of metaprogramming techniques",
@@ -78,6 +84,16 @@ extern const char* const CREDITS_array[] = {
   "                        one of the four students with which the PPL",
   "                        project started.",
   "",
+  "  Andrea Cimino         (former student of the University of Parma)",
+  "                        wrote most of the mixed integer programming",
+  "                        solver, and also most of the Java and OCaml",
+  "                        interfaces.",
+  "",
+  "  Katy Dobson           [6] (University of Leeds) worked on the",
+  "                        formalization and definition of algorithms for",
+  "                        rational grids and products of grids and",
+  "                        polyhedra.",
+  "",
   "  Giordano Fracasso     (University of Parma) wrote the initial version",
   "                        of the support for native and checked integer",
   "                        coefficients.",
@@ -346,9 +362,10 @@ extern const char* const CREDITS_array[] = {
   " [1] http://www.cs.unipr.it/~bagnara/",
   " [2] http://www.comp.leeds.ac.uk/hill/",
   " [3] http://www.cs.unipr.it/~zaffanella/",
-  " [4] http://www.comp.leeds.ac.uk/katyd/",
-  " [5] http://www.lsi.upc.edu/~erodri/",
-  " [6] http://www.math.unipr.it/~zaccagni/",
+  " [*] http://www.prism.uvsq.fr/~fgalea/",
+  " [4] http://www.lsi.upc.edu/~erodri/",
+  " [5] http://www.math.unipr.it/~zaccagni/",
+  " [6] http://www.comp.leeds.ac.uk/katyd/",
   " [7] http://www.mundell.ukfsn.org/",
   " [8] http://www.irisa.fr/lande/fbesson/fbesson.html",
   " [9] http://www.cs.ucsb.edu/~bultan/",
diff --git a/src/C_Integer.hh b/src/C_Integer.hh
index 86df040..64c5090 100644
--- a/src/C_Integer.hh
+++ b/src/C_Integer.hh
@@ -1,5 +1,5 @@
 /* C integers info.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -62,7 +62,7 @@ struct C_Integer : public False { };
 
 template <>
 struct C_Integer<signed char> : public True {
-  enum { is_signed = true };
+  enum anonymous_enum { is_signed = true };
   typedef void smaller_type;
   typedef void smaller_signed_type;
   typedef void smaller_unsigned_type;
@@ -73,7 +73,7 @@ struct C_Integer<signed char> : public True {
 
 template <>
 struct C_Integer<signed short> : public True {
-  enum { is_signed = true };
+  enum anonymous_enum { is_signed = true };
   typedef signed char smaller_type;
   typedef signed char smaller_signed_type;
   typedef unsigned char smaller_unsigned_type;
@@ -84,7 +84,7 @@ struct C_Integer<signed short> : public True {
 
 template <>
 struct C_Integer<signed int> : public True {
-  enum { is_signed = true };
+  enum anonymous_enum { is_signed = true };
   typedef signed short smaller_type;
   typedef signed short smaller_signed_type;
   typedef unsigned short smaller_unsigned_type;
@@ -95,7 +95,7 @@ struct C_Integer<signed int> : public True {
 
 template <>
 struct C_Integer<signed long> : public True {
-  enum { is_signed = true };
+  enum anonymous_enum { is_signed = true };
   typedef signed int smaller_type;
   typedef signed int smaller_signed_type;
   typedef unsigned int smaller_unsigned_type;
@@ -106,7 +106,7 @@ struct C_Integer<signed long> : public True {
 
 template <>
 struct C_Integer<signed long long> : public True {
-  enum { is_signed = true };
+  enum anonymous_enum { is_signed = true };
   typedef signed long smaller_type;
   typedef signed long smaller_signed_type;
   typedef unsigned long smaller_unsigned_type;
@@ -117,7 +117,7 @@ struct C_Integer<signed long long> : public True {
 
 template <>
 struct C_Integer<unsigned char> : public True {
-  enum { is_signed = false };
+  enum anonymous_enum { is_signed = false };
   typedef void smaller_type;
   typedef void smaller_signed_type;
   typedef void smaller_unsigned_type;
@@ -128,7 +128,7 @@ struct C_Integer<unsigned char> : public True {
 
 template <>
 struct C_Integer<unsigned short> : public True {
-  enum { is_signed = false };
+  enum anonymous_enum { is_signed = false };
   typedef unsigned char smaller_type;
   typedef signed char smaller_signed_type;
   typedef unsigned char smaller_unsigned_type;
@@ -139,7 +139,7 @@ struct C_Integer<unsigned short> : public True {
 
 template <>
 struct C_Integer<unsigned int> : public True {
-  enum { is_signed = false };
+  enum anonymous_enum { is_signed = false };
   typedef unsigned short smaller_type;
   typedef signed short smaller_signed_type;
   typedef unsigned short smaller_unsigned_type;
@@ -150,7 +150,7 @@ struct C_Integer<unsigned int> : public True {
 
 template <>
 struct C_Integer<unsigned long> : public True {
-  enum { is_signed = false };
+  enum anonymous_enum { is_signed = false };
   typedef unsigned int smaller_type;
   typedef signed int smaller_signed_type;
   typedef unsigned int smaller_unsigned_type;
@@ -161,7 +161,7 @@ struct C_Integer<unsigned long> : public True {
 
 template <>
 struct C_Integer<unsigned long long> : public True {
-  enum { is_signed = false };
+  enum anonymous_enum { is_signed = false };
   typedef unsigned long smaller_type;
   typedef signed long smaller_signed_type;
   typedef unsigned long smaller_unsigned_type;
diff --git a/src/C_Polyhedron.cc b/src/C_Polyhedron.cc
index 54fca8c..241b9a9 100644
--- a/src/C_Polyhedron.cc
+++ b/src/C_Polyhedron.cc
@@ -1,5 +1,5 @@
 /* C_Polyhedron class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -37,7 +37,7 @@ PPL::C_Polyhedron::C_Polyhedron(const NNC_Polyhedron& y, Complexity_Class)
     const Constraint& c = *i;
     add_constraint(c.is_strict_inequality() ? (Linear_Expression(c) >= 0) : c);
   }
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 PPL::C_Polyhedron::C_Polyhedron(const Congruence_System& cgs)
diff --git a/src/C_Polyhedron.defs.hh b/src/C_Polyhedron.defs.hh
index ba37c57..0a75640 100644
--- a/src/C_Polyhedron.defs.hh
+++ b/src/C_Polyhedron.defs.hh
@@ -1,5 +1,5 @@
 /* C_Polyhedron class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -241,7 +241,7 @@ public:
   explicit C_Polyhedron(const Grid& grid,
                         Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Ordinary copy-constructor.
+  //! Ordinary copy constructor.
   /*!
     The complexity argument is ignored.
   */
diff --git a/src/C_Polyhedron.inlines.hh b/src/C_Polyhedron.inlines.hh
index 2239295..956650c 100644
--- a/src/C_Polyhedron.inlines.hh
+++ b/src/C_Polyhedron.inlines.hh
@@ -1,5 +1,5 @@
 /* C_Polyhedron class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/C_Polyhedron.types.hh b/src/C_Polyhedron.types.hh
index 90945c2..e23b6a6 100644
--- a/src/C_Polyhedron.types.hh
+++ b/src/C_Polyhedron.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Checked_Number.cc b/src/Checked_Number.cc
index 599de10..cf4d4cc 100644
--- a/src/Checked_Number.cc
+++ b/src/Checked_Number.cc
@@ -1,5 +1,5 @@
 /* Checked_Number class implementation
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -27,7 +27,11 @@ namespace Parma_Polyhedra_Library {
 
 void
 throw_result_exception(Result r) {
-  switch (r) {
+  switch (r - V_UNREPRESENTABLE) {
+  case V_EMPTY:
+    throw std::domain_error("Exact result is not comparable to computable one.");
+  case V_EQ:
+    throw std::logic_error("Exact result is equal to computed one.");
   case V_LT:
     throw std::logic_error("Exact result is less than computed one.");
   case V_LE:
@@ -44,18 +48,22 @@ throw_result_exception(Result r) {
   case V_LGE:
     throw std::logic_error("Exact result is less than, greater than or "
 			   "equal to computed one.");
-  case VC_MINUS_INFINITY:
+  case V_EQ_MINUS_INFINITY:
     throw std::overflow_error("Minus infinity.");
-  case V_NEG_OVERFLOW:
+  case V_GT_MINUS_INFINITY:
+  case V_LT_INF:
     throw std::overflow_error("Negative overflow.");
   case V_UNKNOWN_NEG_OVERFLOW:
-    throw std::overflow_error("Unknown result due to negative overflow.");
-  case VC_PLUS_INFINITY:
+    throw std::overflow_error("Unknown result due to intermediate negative overflow.");
+  case V_EQ_PLUS_INFINITY:
     throw std::overflow_error("Plus infinity.");
-  case V_POS_OVERFLOW:
+  case V_LT_PLUS_INFINITY:
+  case V_GT_SUP:
     throw std::overflow_error("Positive overflow.");
   case V_UNKNOWN_POS_OVERFLOW:
-    throw std::overflow_error("Unknown result due to positive overflow.");
+    throw std::overflow_error("Unknown result due to intermediate positive overflow.");
+  case V_NAN:
+    throw std::domain_error("Not-a-Number.");
   case V_CVT_STR_UNK:
     throw std::domain_error("Invalid numeric string.");
   case V_DIV_ZERO:
@@ -74,8 +82,6 @@ throw_result_exception(Result r) {
     throw std::domain_error("Remainder of division by zero.");
   case V_SQRT_NEG:
     throw std::domain_error("Square root of negative number.");
-  case V_UNORD_COMP:
-    throw std::domain_error("Unordered comparison.");
   default:
     throw std::logic_error("Unexpected result.");
   }
diff --git a/src/Checked_Number.defs.hh b/src/Checked_Number.defs.hh
index cc24ad7..514732d 100644
--- a/src/Checked_Number.defs.hh
+++ b/src/Checked_Number.defs.hh
@@ -1,5 +1,5 @@
 /* Checked_Number class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -34,31 +34,6 @@ namespace Parma_Polyhedra_Library {
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \ingroup PPL_CXX_interface */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-struct Checked_Number_Default_Policy {
-  const_bool_nodef(check_overflow, true);
-  const_bool_nodef(check_inf_add_inf, false);
-  const_bool_nodef(check_inf_sub_inf, false);
-  const_bool_nodef(check_inf_mul_zero, false);
-  const_bool_nodef(check_div_zero, false);
-  const_bool_nodef(check_inf_div_inf, false);
-  const_bool_nodef(check_inf_mod, false);
-  const_bool_nodef(check_sqrt_neg, false);
-  const_bool_nodef(has_nan, false);
-  const_bool_nodef(has_infinity, false);
-  const_bool_nodef(convertible, true);
-  const_bool_nodef(fpu_check_inexact, true);
-  const_bool_nodef(check_nan_result, true);
-  static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_NATIVE;
-  static const Rounding_Dir ROUND_DEFAULT_OPERATOR = ROUND_NATIVE;
-  static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_NATIVE;
-  static const Rounding_Dir ROUND_DEFAULT_INPUT = ROUND_NATIVE;
-  static const Rounding_Dir ROUND_DEFAULT_OUTPUT = ROUND_NATIVE;
-  static void handle_result(Result r);
-};
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 struct Extended_Number_Policy {
   const_bool_nodef(check_overflow, true);
   const_bool_nodef(check_inf_add_inf, false);
@@ -74,36 +49,7 @@ struct Extended_Number_Policy {
   // The compile time error on conversions is the expected behavior.
   // const_bool_nodef(convertible, false);
   const_bool_nodef(fpu_check_inexact, true);
-  const_bool_nodef(check_nan_result, true);
-  // Do not uncomment the following.
-  // The compile time error is the expected behavior.
-  // static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_OPERATOR = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_INPUT = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_OUTPUT = ROUND_UP;
-  static void handle_result(Result r);
-};
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-struct WRD_Extended_Number_Policy {
-  const_bool_nodef(check_overflow, true);
-  const_bool_nodef(check_inf_add_inf, false);
-  const_bool_nodef(check_inf_sub_inf, false);
-  const_bool_nodef(check_inf_mul_zero, false);
-  const_bool_nodef(check_div_zero, false);
-  const_bool_nodef(check_inf_div_inf, false);
-  const_bool_nodef(check_inf_mod, false);
-  const_bool_nodef(check_sqrt_neg, false);
-  const_bool_nodef(has_nan, true);
-  const_bool_nodef(has_infinity, true);
-  // Do not uncomment the following.
-  // The compile time error on conversions is the expected behavior.
-  // const_bool_nodef(convertible, false);
-  const_bool_nodef(fpu_check_inexact, true);
-  const_bool_nodef(check_nan_result, false);
+  const_bool_nodef(fpu_check_nan_result, true);
   // Do not uncomment the following.
   // The compile time error is the expected behavior.
   // static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_UP;
@@ -132,7 +78,7 @@ struct Check_Overflow_Policy {
   const_bool_nodef(has_infinity, std::numeric_limits<T>::has_infinity);
   const_bool_nodef(convertible, true);
   const_bool_nodef(fpu_check_inexact, true);
-  const_bool_nodef(check_nan_result, true);
+  const_bool_nodef(fpu_check_nan_result, true);
 };
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
@@ -222,7 +168,7 @@ public:
   //! Default constructor.
   Checked_Number();
 
-  //! Copy-constructor.
+  //! Copy constructor.
   Checked_Number(const Checked_Number& y);
 
   //! Direct initialization from a Checked_Number and rounding mode.
@@ -550,8 +496,12 @@ typename Enable_If<Is_Native_Or_Checked<To>::value \
                    Result>::type \
 name(To& to, const From& x, int exp, Rounding_Dir dir);
 
-FUNC1(mul2exp_assign_r)
-FUNC1(div2exp_assign_r)
+FUNC1(add_2exp_assign_r)
+FUNC1(sub_2exp_assign_r)
+FUNC1(mul_2exp_assign_r)
+FUNC1(div_2exp_assign_r)
+FUNC1(smod_2exp_assign_r)
+FUNC1(umod_2exp_assign_r)
 
 #undef FUNC1
 
@@ -735,6 +685,22 @@ lcm_assign(Checked_Number<T, Policy>& x,
 	   const Checked_Number<T, Policy>& y,
 	   const Checked_Number<T, Policy>& z);
 
+//! Assigns to \p x the value \f$ y \cdot 2^\mathtt{exp} \f$.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+mul_2exp_assign(Checked_Number<T, Policy>& x,
+                const Checked_Number<T, Policy>& y,
+                unsigned int exp);
+
+//! Assigns to \p x the value \f$ y / 2^\mathtt{exp} \f$.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+div_2exp_assign(Checked_Number<T, Policy>& x,
+	       const Checked_Number<T, Policy>& y,
+	       unsigned int exp);
+
 /*! \brief
   If \p z divides \p y, assigns to \p x the quotient of the integer
   division of \p y and \p z.
diff --git a/src/Checked_Number.inlines.hh b/src/Checked_Number.inlines.hh
index 774c69d..7d9c98f 100644
--- a/src/Checked_Number.inlines.hh
+++ b/src/Checked_Number.inlines.hh
@@ -1,5 +1,5 @@
 /* Checked_Number class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -29,13 +29,15 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace Parma_Polyhedra_Library {
 
+#ifndef NDEBUG
+#define DEBUG_ROUND_NOT_NEEDED
+#endif
+
 inline Rounding_Dir
 rounding_dir(Rounding_Dir dir) {
   if (dir == ROUND_NOT_NEEDED) {
 #ifdef DEBUG_ROUND_NOT_NEEDED
-    return ROUND_DIRECT & ROUND_FPU_CHECK_INEXACT;
-#else
-    return ROUND_IGNORE;
+    return ROUND_CHECK;
 #endif
   }
   return dir;
@@ -43,18 +45,11 @@ rounding_dir(Rounding_Dir dir) {
 
 inline Result
 check_result(Result r, Rounding_Dir dir) {
-  if (dir == ROUND_NOT_NEEDED && !is_special(r)) {
+  if (dir == ROUND_NOT_NEEDED) {
 #ifdef DEBUG_ROUND_NOT_NEEDED
-    // FIXME: this is wrong. If an overflow happens the Result may be
-    // V_LT or V_GT. What's the better way to cope with that?
-
-    // To solve this we need to clarify if ROUND_NOT_NEEDED is
-    // specified to grant library that the result will be exact _and_
-    // not overflowing or the result will be exact _or_ overflowling.
-    assert(r == V_EQ);
-#else
-    return V_EQ;
+    PPL_ASSERT(result_relation(r) == VR_EQ);
 #endif
+    return r;
   }
   return r;
 }
@@ -66,20 +61,8 @@ Checked_Number_Transparent_Policy<T>::handle_result(Result) {
 }
 
 inline void
-Checked_Number_Default_Policy::handle_result(Result r) {
-  if (is_special(r))
-    throw_result_exception(r);
-}
-
-inline void
 Extended_Number_Policy::handle_result(Result r) {
-  if (is_special(r))
-    throw_result_exception(r);
-}
-
-inline void
-WRD_Extended_Number_Policy::handle_result(Result r) {
-  if (is_special(r))
+  if (result_class(r) == VC_NAN)
     throw_result_exception(r);
 }
 
@@ -199,7 +182,7 @@ template <typename From>
 inline
 Checked_Number<T, Policy>::Checked_Number(const From&, Rounding_Dir dir, typename Enable_If<Is_Special<From>::value, bool>::type) {
   Policy::handle_result(check_result(Checked::assign_special<Policy>(v,
-							    From::code,
+							    From::vclass,
 							    rounding_dir(dir)),
 				     dir));
 }
@@ -210,7 +193,7 @@ inline
 Checked_Number<T, Policy>::Checked_Number(const From&, typename Enable_If<Is_Special<From>::value, bool>::type) {
   Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR;
   Policy::handle_result(check_result(Checked::assign_special<Policy>(v,
-							    From::code,
+							    From::vclass,
 							    rounding_dir(dir)),
 				     dir));
 }
@@ -220,7 +203,7 @@ inline typename Enable_If<Is_Native_Or_Checked<To>::value && Is_Special<From>::v
 assign_r(To& to, const From&, Rounding_Dir dir) {
   return check_result(Checked::assign_special<typename Native_Checked_To_Wrapper<To>
 		      ::Policy>(Native_Checked_To_Wrapper<To>::raw_value(to),
-				From::code,
+				From::vclass,
 				rounding_dir(dir)),
 		      dir);
 }
@@ -230,7 +213,7 @@ inline typename Enable_If<Is_Native_Or_Checked<To>::value && Is_Special<From>::v
 construct(To& to, const From&, Rounding_Dir dir) {
   return check_result(Checked::construct_special<typename Native_Checked_To_Wrapper<To>
 		      ::Policy>(Native_Checked_To_Wrapper<To>::raw_value(to),
-				From::code,
+				From::vclass,
 				rounding_dir(dir)),
 		      dir);
 }
@@ -402,8 +385,12 @@ name(To& to, const From& x, int exp, Rounding_Dir dir) {		\
 		 dir);							\
 }
 
-FUNC1(mul2exp_assign_r, mul2exp_ext)
-FUNC1(div2exp_assign_r, div2exp_ext)
+FUNC1(add_2exp_assign_r, add_2exp_ext)
+FUNC1(sub_2exp_assign_r, sub_2exp_ext)
+FUNC1(mul_2exp_assign_r, mul_2exp_ext)
+FUNC1(div_2exp_assign_r, div_2exp_ext)
+FUNC1(smod_2exp_assign_r, smod_2exp_ext)
+FUNC1(umod_2exp_assign_r, umod_2exp_ext)
 
 #undef FUNC1
 
@@ -705,6 +692,17 @@ PPL_DEF_ASSIGN_FUN3_3(lcm_assign, lcm_assign_r)
 #undef PPL_DEF_ASSIGN_FUN3_3
 #undef PPL_DEF_ASSIGN_FUN5_5
 
+#define PPL_DEF_ASSIGN_2EXP(f, fun)					\
+template <typename T, typename Policy>                                  \
+inline void								\
+f(Checked_Number<T, Policy>& to,					\
+  const Checked_Number<T, Policy>& x, unsigned int exp) {               \
+  Policy::handle_result(fun(to, x, exp, Policy::ROUND_DEFAULT_FUNCTION)); \
+}
+
+PPL_DEF_ASSIGN_2EXP(mul_2exp_assign, mul_2exp_assign_r)
+PPL_DEF_ASSIGN_2EXP(div_2exp_assign, div_2exp_assign_r)
+
 template <typename T, typename Policy>
 inline void
 exact_div_assign(Checked_Number<T, Policy>& x,
@@ -717,13 +715,13 @@ exact_div_assign(Checked_Number<T, Policy>& x,
 template <typename From>
 inline typename Enable_If<Is_Native_Or_Checked<From>::value, int>::type
 sgn(const From& x) {
-  Result r = Checked::sgn_ext<typename Native_Checked_From_Wrapper<From>::Policy>(Native_Checked_From_Wrapper<From>::raw_value(x));
+  Result_Relation r = Checked::sgn_ext<typename Native_Checked_From_Wrapper<From>::Policy>(Native_Checked_From_Wrapper<From>::raw_value(x));
   switch (r) {
-  case V_LT:
+  case VR_LT:
     return -1;
-  case V_EQ:
+  case VR_EQ:
     return 0;
-  case V_GT:
+  case VR_GT:
     return 1;
   default:
     throw(0);
@@ -736,17 +734,17 @@ inline typename Enable_If<Is_Native_Or_Checked<From1>::value
                           && Is_Native_Or_Checked<From2>::value,
                           int>::type
 cmp(const From1& x, const From2& y) {
-  Result r
+  Result_Relation r
     = Checked::cmp_ext<typename Native_Checked_From_Wrapper<From1>::Policy,
                        typename Native_Checked_From_Wrapper<From2>::Policy>
                  (Native_Checked_From_Wrapper<From1>::raw_value(x),
 		  Native_Checked_From_Wrapper<From2>::raw_value(y));
   switch (r) {
-  case V_LT:
+  case VR_LT:
     return -1;
-  case V_EQ:
+  case VR_EQ:
     return 0;
-  case V_GT:
+  case VR_GT:
     return 1;
   default:
     throw(0);
diff --git a/src/Checked_Number.templates.hh b/src/Checked_Number.templates.hh
index 1ac6e6d..9f71932 100644
--- a/src/Checked_Number.templates.hh
+++ b/src/Checked_Number.templates.hh
@@ -1,5 +1,5 @@
 /* Checked_Number class implementation: non-inline template functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -23,7 +23,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #ifndef PPL_Checked_Number_templates_hh
 #define PPL_Checked_Number_templates_hh 1
 
-#include <cassert>
+#include "assert.hh"
 #include <iomanip>
 #include <limits>
 
@@ -56,7 +56,7 @@ typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
 ascii_load(std::istream& s, T& t) {
   if (std::numeric_limits<T>::is_exact)
     // An exact datatype: input from pretty printed version is accurate.
-    return (s >> t);
+    return s >> t;
   else {
     // An inexact datatype (probably floating point):
     // first load its hexadecimal representation ...
@@ -131,7 +131,7 @@ ascii_load(std::istream& s, T& t) {
         }
         byte_value += half_byte_value;
       }
-      assert(byte_value <= 255);
+      PPL_ASSERT(byte_value <= 255);
       p[i] = static_cast<unsigned char>(byte_value);
     }
     // ... then read and discard pretty printed value.
diff --git a/src/Checked_Number.types.hh b/src/Checked_Number.types.hh
index b6acba5..3bb6c89 100644
--- a/src/Checked_Number.types.hh
+++ b/src/Checked_Number.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
@@ -16,10 +16,9 @@ PURPOSE. */
 
 namespace Parma_Polyhedra_Library {
 
-struct Checked_Number_Default_Policy;
 struct Extended_Number_Policy;
 
-template <typename T, typename Policy = Checked_Number_Default_Policy>
+template <typename T, typename Policy>
 class Checked_Number;
 
 } // namespace Parma_Polyhedra_Library
diff --git a/src/Coefficient.cc b/src/Coefficient.cc
index c8f3dad..748f46c 100644
--- a/src/Coefficient.cc
+++ b/src/Coefficient.cc
@@ -1,5 +1,5 @@
 /* Coefficient class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -42,20 +42,20 @@ const Coefficient* Coefficient_one_p = 0;
 
 void
 Coefficient_constants_initialize() {
-  assert(Coefficient_zero_p == 0);
+  PPL_ASSERT(Coefficient_zero_p == 0);
   Coefficient_zero_p = new Coefficient(0);
 
-  assert(Coefficient_one_p == 0);
+  PPL_ASSERT(Coefficient_one_p == 0);
   Coefficient_one_p = new Coefficient(1);
 }
 
 void
 Coefficient_constants_finalize() {
-  assert(Coefficient_zero_p != 0);
+  PPL_ASSERT(Coefficient_zero_p != 0);
   delete Coefficient_zero_p;
   Coefficient_zero_p = 0;
 
-  assert(Coefficient_one_p != 0);
+  PPL_ASSERT(Coefficient_one_p != 0);
   delete Coefficient_one_p;
   Coefficient_one_p = 0;
 }
diff --git a/src/Coefficient.defs.hh b/src/Coefficient.defs.hh
index 05a80ee..272f364 100644
--- a/src/Coefficient.defs.hh
+++ b/src/Coefficient.defs.hh
@@ -1,5 +1,5 @@
 /* Coefficient class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Coefficient.inlines.hh b/src/Coefficient.inlines.hh
index 1e02b8a..12ed927 100644
--- a/src/Coefficient.inlines.hh
+++ b/src/Coefficient.inlines.hh
@@ -1,5 +1,5 @@
 /* Coefficient class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -25,6 +25,16 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace Parma_Polyhedra_Library {
 
+#ifdef PPL_CHECKED_INTEGERS
+inline void
+Bounded_Integer_Coefficient_Policy::handle_result(Result r) {
+  // Note that the input functions can return VC_NAN.
+  if (result_overflow(r) || result_class(r) == VC_NAN)
+    throw_result_exception(r);
+}
+#endif // PPL_CHECKED_INTEGERS
+
+
 #if defined(PPL_CHECKED_INTEGERS) || defined(PPL_NATIVE_INTEGERS)
 inline Coefficient_traits::const_reference
 Coefficient_zero() {
@@ -39,7 +49,7 @@ Coefficient_one() {
   static Coefficient one(1);
   return one;
 }
-#endif
+#endif // defined(PPL_CHECKED_INTEGERS) || defined(PPL_NATIVE_INTEGERS)
 
 #ifdef PPL_GMP_INTEGERS
 inline Coefficient_traits::const_reference
@@ -51,10 +61,10 @@ Coefficient_zero() {
 inline Coefficient_traits::const_reference
 Coefficient_one() {
   extern const Coefficient* Coefficient_one_p;
-  assert(*Coefficient_one_p != 0);
+  PPL_ASSERT(*Coefficient_one_p != 0);
   return *Coefficient_one_p;
 }
-#endif
+#endif // PPL_GMP_INTEGERS
 
 } // namespace Parma_Polyhedra_Library
 
diff --git a/src/Coefficient.types.hh b/src/Coefficient.types.hh
index bb4f7d1..2c306fc 100644
--- a/src/Coefficient.types.hh
+++ b/src/Coefficient.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
@@ -18,6 +18,88 @@ PURPOSE. */
 
 namespace Parma_Polyhedra_Library {
 
+//! A policy for checked bounded integer coefficients.
+/*! \ingroup PPL_CXX_interface */
+struct Bounded_Integer_Coefficient_Policy {
+  //! Check for overflowed result.
+  const_bool_nodef(check_overflow, true);
+
+  //! Do not check for attempts to add infinities with different sign.
+  const_bool_nodef(check_inf_add_inf, false);
+
+  //! Do not check for attempts to subtract infinities with same sign.
+  const_bool_nodef(check_inf_sub_inf, false);
+
+  //! Do not check for attempts to multiply infinities by zero.
+  const_bool_nodef(check_inf_mul_zero, false);
+
+  //! Do not check for attempts to divide by zero.
+  const_bool_nodef(check_div_zero, false);
+
+  //! Do not check for attempts to divide infinities.
+  const_bool_nodef(check_inf_div_inf, false);
+
+  //! Do not check for attempts to compute remainder of infinities.
+  const_bool_nodef(check_inf_mod, false);
+
+  //! Do not checks for attempts to take the square root of a negative number.
+  const_bool_nodef(check_sqrt_neg, false);
+
+  //! Do not handle not-a-number special value.
+  const_bool_nodef(has_nan, false);
+
+  //! Do not handle infinity special values.
+  const_bool_nodef(has_infinity, false);
+
+  /*! \brief
+    The checked number can always be safely converted to the
+    underlying type \p T and vice-versa.
+  */
+  const_bool_nodef(convertible, true);
+
+  //! Do not honor requests to check for FPU inexact results.
+  const_bool_nodef(fpu_check_inexact, false);
+
+  //! Do not make extra checks to detect FPU NaN results.
+  const_bool_nodef(fpu_check_nan_result, true);
+
+  /*! \brief
+    For constructors, by default use the same rounding used by
+    underlying type.
+  */
+  static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_NATIVE;
+
+  /*! \brief
+    For overloaded operators (operator+(), operator-(), ...), by
+    default use the same rounding used by the underlying type.
+  */
+  static const Rounding_Dir ROUND_DEFAULT_OPERATOR = ROUND_NATIVE;
+
+  /*! \brief
+    For input functions, by default use the same rounding used by
+    the underlying type.
+  */
+  static const Rounding_Dir ROUND_DEFAULT_INPUT = ROUND_NATIVE;
+
+  /*! \brief
+    For output functions, by default use the same rounding used by
+    the underlying type.
+  */
+  static const Rounding_Dir ROUND_DEFAULT_OUTPUT = ROUND_NATIVE;
+
+  /*! \brief
+    For all other functions, by default use the same rounding used by
+    the underlying type.
+  */
+  static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_NATIVE;
+
+  /*! \brief
+    Handles \p r: called by all constructors, operators and functions that
+    do not return a Result value.
+  */
+  static void handle_result(Result r);
+};
+
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 //! Coefficient traits specialization for 8 bits checked integers.
 /*! \ingroup PPL_CXX_interface */
@@ -72,14 +154,14 @@ namespace Parma_Polyhedra_Library {
 /*! \ingroup PPL_CXX_interface
   Objects of type Coefficient are used to implement the integral valued
   coefficients occurring in linear expressions, constraints, generators,
-  intervals, bounding boxes and so on. Depending on the chosen
+  intervals, bounding boxes and so on.  Depending on the chosen
   configuration options (see file <CODE>README.configure</CODE>),
   a Coefficient may actually be:
     - The GMP_Integer type, which in turn is an alias for the
       <CODE>mpz_class</CODE> type implemented by the C++ interface
-      of the GMP library (this is the default configuration);
-    - An instance of the Checked_Number class template: with its default
-      policy (Checked_Number_Default_Policy), this implements overflow
+      of the GMP library (this is the default configuration).
+    - An instance of the Checked_Number class template: with the policy
+      Bounded_Integer_Coefficient_Policy, this implements overflow
       detection on top of a native integral type (available template
       instances include checked integers having 8, 16, 32 or 64 bits);
       with the Checked_Number_Transparent_Policy, this is a wrapper
diff --git a/src/Coefficient_traits_template.hh b/src/Coefficient_traits_template.hh
index 9e7fbab..50514eb 100644
--- a/src/Coefficient_traits_template.hh
+++ b/src/Coefficient_traits_template.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Congruence.cc b/src/Congruence.cc
index 3967117..4cddbf9 100644
--- a/src/Congruence.cc
+++ b/src/Congruence.cc
@@ -1,5 +1,5 @@
 /* Congruence class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -25,7 +25,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Congruence.defs.hh"
 
 #include "Variable.defs.hh"
-#include <cassert>
+#include "assert.hh"
 #include <iostream>
 #include <sstream>
 #include <stdexcept>
@@ -53,7 +53,7 @@ PPL::Congruence::Congruence(const Constraint& c,
 	   c),
 	sz,
 	capacity) {
-  assert(sz > 1);
+  PPL_ASSERT(sz > 1);
   (*this)[sz-1] = 0;
 }
 
@@ -272,22 +272,22 @@ const PPL::Congruence* PPL::Congruence::zero_dim_integrality_p = 0;
 
 void
 PPL::Congruence::initialize() {
-  assert(zero_dim_false_p == 0);
+  PPL_ASSERT(zero_dim_false_p == 0);
   zero_dim_false_p
     = new Congruence((Linear_Expression::zero() %= Coefficient(-1)) / 0);
 
-  assert(zero_dim_integrality_p == 0);
+  PPL_ASSERT(zero_dim_integrality_p == 0);
   zero_dim_integrality_p
     = new Congruence(Linear_Expression::zero() %= Coefficient(-1));
 }
 
 void
 PPL::Congruence::finalize() {
-  assert(zero_dim_false_p != 0);
+  PPL_ASSERT(zero_dim_false_p != 0);
   delete zero_dim_false_p;
   zero_dim_false_p = 0;
 
-  assert(zero_dim_integrality_p != 0);
+  PPL_ASSERT(zero_dim_integrality_p != 0);
   delete zero_dim_integrality_p;
   zero_dim_integrality_p = 0;
 }
diff --git a/src/Congruence.defs.hh b/src/Congruence.defs.hh
index 34a5442..0547f27 100644
--- a/src/Congruence.defs.hh
+++ b/src/Congruence.defs.hh
@@ -1,5 +1,5 @@
 /* Congruence class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -209,7 +209,7 @@ swap(Parma_Polyhedra_Library::Congruence& x,
 */
 class Parma_Polyhedra_Library::Congruence : private Row {
 public:
-  //! Ordinary copy-constructor.
+  //! Ordinary copy constructor.
   Congruence(const Congruence& cg);
 
   //! Copy-constructs (modulo 0) from equality constraint \p c.
diff --git a/src/Congruence.inlines.hh b/src/Congruence.inlines.hh
index 5057530..01d24ea 100644
--- a/src/Congruence.inlines.hh
+++ b/src/Congruence.inlines.hh
@@ -1,5 +1,5 @@
 /* Congruence class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -59,7 +59,7 @@ inline
 Congruence::Congruence(Linear_Expression& le,
 		       Coefficient_traits::const_reference m) {
   Row::swap(static_cast<Row&>(le));
-  assert(m >= 0);
+  PPL_ASSERT(m >= 0);
   (*this)[size()-1] = m;
 }
 
@@ -176,7 +176,7 @@ Congruence::inhomogeneous_term() const {
 
 inline Coefficient_traits::const_reference
 Congruence::modulus() const {
-  assert(size() > 1);
+  PPL_ASSERT(size() > 1);
   return (*this)[size()-1];
 }
 
diff --git a/src/Congruence.types.hh b/src/Congruence.types.hh
index e10f6be..d31d166 100644
--- a/src/Congruence.types.hh
+++ b/src/Congruence.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Congruence_System.cc b/src/Congruence_System.cc
index aecb8bc..ae1a489 100644
--- a/src/Congruence_System.cc
+++ b/src/Congruence_System.cc
@@ -1,5 +1,5 @@
 /* Congruence_System class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -29,7 +29,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Congruence.defs.hh"
 #include "Grid_Generator.defs.hh"
 #include "Scalar_Products.defs.hh"
-#include <cassert>
+#include "assert.hh"
 #include <string>
 #include <vector>
 #include <iostream>
@@ -48,7 +48,7 @@ PPL::Congruence_System::Congruence_System(const Constraint_System& cs)
 bool
 PPL::Congruence_System::
 increase_space_dimension(const dimension_type new_space_dim) {
-  assert(space_dimension() <= new_space_dim);
+  PPL_ASSERT(space_dimension() <= new_space_dim);
 
   const dimension_type cols_to_add = new_space_dim - space_dimension();
 
@@ -64,7 +64,7 @@ increase_space_dimension(const dimension_type new_space_dim) {
       add_zero_columns(cols_to_add);
   }
 
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
@@ -92,7 +92,7 @@ PPL::Congruence_System::insert_verbatim(const Congruence& cg) {
     // Here cg_size == old_num_columns.
     add_row(cg);
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
@@ -117,7 +117,7 @@ PPL::Congruence_System::insert(const Constraint& c) {
   }
   operator[](rows.size()-1).strong_normalize();
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
@@ -148,7 +148,7 @@ PPL::Congruence_System::recycling_insert(Congruence_System& cgs) {
     std::swap(new_cg[mod_index], old_cg[cgs_num_columns]); // Modulus.
   }
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
@@ -179,7 +179,7 @@ PPL::Congruence_System::insert(const Congruence_System& y) {
     std::swap(copy[x_mod_index], copy[y_mod_index]);
     std::swap(copy, x[x_num_rows+i]);
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
@@ -216,7 +216,7 @@ PPL::Congruence_System::normalize_moduli() {
       operator[](row)[row_size-1] = lcm;
     }
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 bool
@@ -275,7 +275,7 @@ PPL::Congruence_System::num_proper_congruences() const {
 bool
 PPL::Congruence_System::
 satisfies_all_congruences(const Grid_Generator& g) const {
-  assert(g.space_dimension() <= space_dimension());
+  PPL_ASSERT(g.space_dimension() <= space_dimension());
 
   const Congruence_System& cgs = *this;
   PPL_DIRTY_TEMP_COEFFICIENT(sp);
@@ -322,7 +322,7 @@ PPL::Congruence_System::has_a_free_dimension() const {
 	  dimension_type count = 0;
 	  for (dimension_type i = space_dim; i-- > 0; )
 	    count += free_dim[i];
-	  assert(count == free_dims);
+	  PPL_ASSERT(count == free_dims);
 #endif
 	  return true;
 	}
@@ -340,9 +340,9 @@ affine_preimage(dimension_type v,
 		Coefficient_traits::const_reference denominator) {
   // `v' is the index of a column corresponding to a "user" variable
   // (i.e., it cannot be the inhomogeneous term).
-  assert(v > 0 && v <= space_dimension());
-  assert(expr.space_dimension() <= space_dimension());
-  assert(denominator > 0);
+  PPL_ASSERT(v > 0 && v <= space_dimension());
+  PPL_ASSERT(expr.space_dimension() <= space_dimension());
+  PPL_ASSERT(denominator > 0);
 
   const dimension_type num_columns = this->num_columns();
   const dimension_type num_rows = this->num_rows();
@@ -420,7 +420,7 @@ PPL::Congruence_System::ascii_load(std::istream& s) {
       return false;
 
   // Check invariants.
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
@@ -428,14 +428,14 @@ const PPL::Congruence_System* PPL::Congruence_System::zero_dim_empty_p = 0;
 
 void
 PPL::Congruence_System::initialize() {
-  assert(zero_dim_empty_p == 0);
+  PPL_ASSERT(zero_dim_empty_p == 0);
   zero_dim_empty_p
     = new Congruence_System(Congruence::zero_dim_false());
 }
 
 void
 PPL::Congruence_System::finalize() {
-  assert(zero_dim_empty_p != 0);
+  PPL_ASSERT(zero_dim_empty_p != 0);
   delete zero_dim_empty_p;
   zero_dim_empty_p = 0;
 }
@@ -504,7 +504,7 @@ PPL::operator==(const Congruence_System& x, const Congruence_System& y) {
 
 void
 PPL::Congruence_System::add_unit_rows_and_columns(dimension_type dims) {
-  assert(num_columns() > 0);
+  PPL_ASSERT(num_columns() > 0);
   dimension_type col = num_columns() - 1;
   dimension_type old_num_rows = num_rows();
   add_zero_rows_and_columns(dims, dims,
@@ -565,7 +565,7 @@ PPL::Congruence_System
 ::remove_higher_space_dimensions(const dimension_type new_dimension) {
   dimension_type space_dim = space_dimension();
 
-  assert(new_dimension <= space_dim);
+  PPL_ASSERT(new_dimension <= space_dim);
 
   // The removal of no dimensions from any system is a no-op.  Note
   // that this case also captures the only legal removal of dimensions
@@ -578,5 +578,5 @@ PPL::Congruence_System
   swap_columns(new_dimension + 1, space_dim + 1);
 
   remove_trailing_columns(space_dim - new_dimension);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
diff --git a/src/Congruence_System.defs.hh b/src/Congruence_System.defs.hh
index 0a9e186..aafa664 100644
--- a/src/Congruence_System.defs.hh
+++ b/src/Congruence_System.defs.hh
@@ -1,5 +1,5 @@
 /* Congruence_System class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -29,6 +29,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Congruence.types.hh"
 #include "Grid_Generator.types.hh"
 #include "Matrix.defs.hh"
+#include "Grid.types.hh"
 #include "Grid_Certificate.types.hh"
 #include <iosfwd>
 
@@ -138,7 +139,7 @@ public:
   //! Builds a system containing copies of any equalities in \p cs.
   explicit Congruence_System(const Constraint_System& cs);
 
-  //! Ordinary copy-constructor.
+  //! Ordinary copy constructor.
   Congruence_System(const Congruence_System& cgs);
 
   //! Destructor.
@@ -240,7 +241,7 @@ public:
     //! Default constructor.
     const_iterator();
 
-    //! Ordinary copy-constructor.
+    //! Ordinary copy constructor.
     const_iterator(const const_iterator& y);
 
     //! Destructor.
diff --git a/src/Congruence_System.inlines.hh b/src/Congruence_System.inlines.hh
index 80abd24..7bc1fd3 100644
--- a/src/Congruence_System.inlines.hh
+++ b/src/Congruence_System.inlines.hh
@@ -1,5 +1,5 @@
 /* Congruence_System class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -41,7 +41,7 @@ inline void
 Congruence_System::insert(const Congruence& cg) {
   insert_verbatim(cg);
   static_cast<Congruence&>(operator[](rows.size()-1)).strong_normalize();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 inline
@@ -105,7 +105,7 @@ Congruence_System::resize_no_copy(const dimension_type new_num_rows,
 
 inline const Congruence_System&
 Congruence_System::zero_dim_empty() {
-  assert(zero_dim_empty_p != 0);
+  PPL_ASSERT(zero_dim_empty_p != 0);
   return *zero_dim_empty_p;
 }
 
diff --git a/src/Congruence_System.types.hh b/src/Congruence_System.types.hh
index 9ee5c06..98bfef0 100644
--- a/src/Congruence_System.types.hh
+++ b/src/Congruence_System.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Constraint.cc b/src/Constraint.cc
index a6b397f..2db69b4 100644
--- a/src/Constraint.cc
+++ b/src/Constraint.cc
@@ -1,5 +1,5 @@
 /* Constraint class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -88,14 +88,14 @@ PPL::Constraint::Constraint(const Congruence& cg,
 	       Flags(NECESSARILY_CLOSED, LINE_OR_EQUALITY)) {
   Constraint& c = *this;
   // Copy coefficients.
-  assert(sz > 0);
+  PPL_ASSERT(sz > 0);
   while (sz-- > 0)
     c[sz] = cg[sz];
 }
 
 bool
 PPL::Constraint::is_tautological() const {
-  assert(size() > 0);
+  PPL_ASSERT(size() > 0);
   const Constraint& x = *this;
   if (x.all_homogeneous_terms_are_zero())
     if (is_equality())
@@ -136,7 +136,7 @@ PPL::Constraint::is_tautological() const {
 
 bool
 PPL::Constraint::is_inconsistent() const {
-  assert(size() > 0);
+  PPL_ASSERT(size() > 0);
   const Constraint& x = *this;
   if (x.all_homogeneous_terms_are_zero())
     // The inhomogeneous term is the only non-zero coefficient.
@@ -223,38 +223,38 @@ const PPL::Constraint* PPL::Constraint::epsilon_leq_one_p = 0;
 
 void
 PPL::Constraint::initialize() {
-  assert(zero_dim_false_p == 0);
+  PPL_ASSERT(zero_dim_false_p == 0);
   zero_dim_false_p
     = new Constraint(Linear_Expression::zero() == Coefficient_one());
 
-  assert(zero_dim_positivity_p == 0);
+  PPL_ASSERT(zero_dim_positivity_p == 0);
   zero_dim_positivity_p
     = new Constraint(Linear_Expression::zero() <= Coefficient_one());
 
-  assert(epsilon_geq_zero_p == 0);
+  PPL_ASSERT(epsilon_geq_zero_p == 0);
   epsilon_geq_zero_p
     = new Constraint(construct_epsilon_geq_zero());
 
-  assert(epsilon_leq_one_p == 0);
+  PPL_ASSERT(epsilon_leq_one_p == 0);
   epsilon_leq_one_p
     = new Constraint(Linear_Expression::zero() < Coefficient_one());
 }
 
 void
 PPL::Constraint::finalize() {
-  assert(zero_dim_false_p != 0);
+  PPL_ASSERT(zero_dim_false_p != 0);
   delete zero_dim_false_p;
   zero_dim_false_p = 0;
 
-  assert(zero_dim_positivity_p != 0);
+  PPL_ASSERT(zero_dim_positivity_p != 0);
   delete zero_dim_positivity_p;
   zero_dim_positivity_p = 0;
 
-  assert(epsilon_geq_zero_p != 0);
+  PPL_ASSERT(epsilon_geq_zero_p != 0);
   delete epsilon_geq_zero_p;
   epsilon_geq_zero_p = 0;
 
-  assert(epsilon_leq_one_p != 0);
+  PPL_ASSERT(epsilon_leq_one_p != 0);
   delete epsilon_leq_one_p;
   epsilon_leq_one_p = 0;
 }
diff --git a/src/Constraint.defs.hh b/src/Constraint.defs.hh
index 7ff7805..08a2a72 100644
--- a/src/Constraint.defs.hh
+++ b/src/Constraint.defs.hh
@@ -1,5 +1,5 @@
 /* Constraint class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -259,7 +259,7 @@ void swap(Parma_Polyhedra_Library::Constraint& x,
 */
 class Parma_Polyhedra_Library::Constraint : private Linear_Row {
 public:
-  //! Ordinary copy-constructor.
+  //! Ordinary copy constructor.
   Constraint(const Constraint& c);
 
   //! Copy-constructs from equality congruence \p cg.
@@ -512,7 +512,7 @@ private:
   friend Constraint
   operator<(Coefficient_traits::const_reference n, const Linear_Expression& e);
 
-  //! Copy-constructor with given size.
+  //! Copy constructor with given size.
   Constraint(const Constraint& c, dimension_type sz);
 
   /*! \brief
diff --git a/src/Constraint.inlines.hh b/src/Constraint.inlines.hh
index 74516a2..e474e75 100644
--- a/src/Constraint.inlines.hh
+++ b/src/Constraint.inlines.hh
@@ -1,5 +1,5 @@
 /* Constraint class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -29,7 +29,7 @@ namespace Parma_Polyhedra_Library {
 
 inline
 Constraint::Constraint(Linear_Expression& e, Type type, Topology topology) {
-  assert(type != STRICT_INEQUALITY || topology == NOT_NECESSARILY_CLOSED);
+  PPL_ASSERT(type != STRICT_INEQUALITY || topology == NOT_NECESSARILY_CLOSED);
   Linear_Row::swap(e);
   flags() = Flags(topology, (type == EQUALITY
 			     ? LINE_OR_EQUALITY
@@ -326,25 +326,25 @@ operator<(const Linear_Expression& e, Coefficient_traits::const_reference n) {
 
 inline const Constraint&
 Constraint::zero_dim_false() {
-  assert(zero_dim_false_p != 0);
+  PPL_ASSERT(zero_dim_false_p != 0);
   return *zero_dim_false_p;
 }
 
 inline const Constraint&
 Constraint::zero_dim_positivity() {
-  assert(zero_dim_positivity_p != 0);
+  PPL_ASSERT(zero_dim_positivity_p != 0);
   return *zero_dim_positivity_p;
 }
 
 inline const Constraint&
 Constraint::epsilon_geq_zero() {
-  assert(epsilon_geq_zero_p != 0);
+  PPL_ASSERT(epsilon_geq_zero_p != 0);
   return *epsilon_geq_zero_p;
 }
 
 inline const Constraint&
 Constraint::epsilon_leq_one() {
-  assert(epsilon_leq_one_p != 0);
+  PPL_ASSERT(epsilon_leq_one_p != 0);
   return *epsilon_leq_one_p;
 }
 
diff --git a/src/Constraint.types.hh b/src/Constraint.types.hh
index 4975318..f9d2050 100644
--- a/src/Constraint.types.hh
+++ b/src/Constraint.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Constraint_System.cc b/src/Constraint_System.cc
index 5c2bcc3..5658058 100644
--- a/src/Constraint_System.cc
+++ b/src/Constraint_System.cc
@@ -1,5 +1,5 @@
 /* Constraint_System class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -28,7 +28,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Scalar_Products.defs.hh"
 #include "Congruence_System.defs.hh"
 #include "Congruence_System.inlines.hh"
-#include <cassert>
+#include "assert.hh"
 #include <string>
 #include <vector>
 #include <iostream>
@@ -49,7 +49,7 @@ bool
 PPL::Constraint_System::
 adjust_topology_and_space_dimension(const Topology new_topology,
 				    const dimension_type new_space_dim) {
-  assert(space_dimension() <= new_space_dim);
+  PPL_ASSERT(space_dimension() <= new_space_dim);
 
   const dimension_type old_space_dim = space_dimension();
   const Topology old_topology = topology();
@@ -94,7 +94,7 @@ adjust_topology_and_space_dimension(const Topology new_topology,
 	if (cols_to_be_added > 0)
 	  add_zero_columns(cols_to_be_added);
       }
-    assert(OK());
+    PPL_ASSERT(OK());
     return true;
   }
 
@@ -201,11 +201,21 @@ adjust_topology_and_space_dimension(const Topology new_topology,
       }
     }
   // We successfully adjusted space dimensions and topology.
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
 bool
+PPL::Constraint_System::has_equalities() const {
+  const Constraint_System& cs = *this;
+  // We verify if the system has equalities also in the pending part.
+  for (dimension_type i = cs.num_rows(); i-- > 0; )
+    if (cs[i].is_equality())
+      return true;
+  return false;
+}
+
+bool
 PPL::Constraint_System::has_strict_inequalities() const {
   if (is_necessarily_closed())
     return false;
@@ -229,7 +239,7 @@ void
 PPL::Constraint_System::insert(const Constraint& c) {
   // We are sure that the matrix has no pending rows
   // and that the new row is not a pending constraint.
-  assert(num_pending_rows() == 0);
+  PPL_ASSERT(num_pending_rows() == 0);
   if (topology() == c.topology())
     Linear_System::insert(c);
   else
@@ -245,7 +255,7 @@ PPL::Constraint_System::insert(const Constraint& c) {
       // Here `*this' is NNC and `c' is necessarily closed.
       // Copying the constraint adding the epsilon coefficient
       // and the missing space dimensions, if any.
-      // FIXME: provide a resizing copy-constructor taking
+      // FIXME: provide a resizing copy constructor taking
       // topology and the space dimension.
       const dimension_type new_size = 2 + std::max(c.space_dimension(),
 						   space_dimension());
@@ -253,7 +263,7 @@ PPL::Constraint_System::insert(const Constraint& c) {
       tmp_c.set_not_necessarily_closed();
       Linear_System::insert(tmp_c);
     }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
@@ -279,14 +289,14 @@ PPL::Constraint_System::insert_pending(const Constraint& c) {
       tmp_c.set_not_necessarily_closed();
       Linear_System::insert_pending(tmp_c);
     }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 PPL::dimension_type
 PPL::Constraint_System::num_inequalities() const {
   // We are sure that we call this method only when
   // the matrix has no pending rows.
-  assert(num_pending_rows() == 0);
+  PPL_ASSERT(num_pending_rows() == 0);
   const Constraint_System& cs = *this;
   dimension_type n = 0;
   // If the Linear_System happens to be sorted, take advantage of the fact
@@ -305,7 +315,7 @@ PPL::dimension_type
 PPL::Constraint_System::num_equalities() const {
   // We are sure that we call this method only when
   // the matrix has no pending rows.
-  assert(num_pending_rows() == 0);
+  PPL_ASSERT(num_pending_rows() == 0);
   return num_rows() - num_inequalities();
 }
 
@@ -318,7 +328,7 @@ PPL::Constraint_System::const_iterator::skip_forward() {
 
 bool
 PPL::Constraint_System::satisfies_all_constraints(const Generator& g) const {
-  assert(g.space_dimension() <= space_dimension());
+  PPL_ASSERT(g.space_dimension() <= space_dimension());
 
   // Setting `sps' to the appropriate scalar product sign operator.
   // This also avoids problems when having _legal_ topology mismatches
@@ -417,9 +427,9 @@ PPL::Constraint_System
   // `v' is the index of a column corresponding to
   // a "user" variable (i.e., it cannot be the inhomogeneous term,
   // nor the epsilon dimension of NNC polyhedra).
-  assert(v > 0 && v <= x.space_dimension());
-  assert(expr.space_dimension() <= x.space_dimension());
-  assert(denominator > 0);
+  PPL_ASSERT(v > 0 && v <= x.space_dimension());
+  PPL_ASSERT(expr.space_dimension() <= x.space_dimension());
+  PPL_ASSERT(denominator > 0);
 
   const dimension_type n_columns = x.num_columns();
   const dimension_type n_rows = x.num_rows();
@@ -568,7 +578,7 @@ PPL::Constraint_System::ascii_load(std::istream& s) {
     return false;
   }
   // Check invariants.
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
@@ -576,14 +586,14 @@ const PPL::Constraint_System* PPL::Constraint_System::zero_dim_empty_p = 0;
 
 void
 PPL::Constraint_System::initialize() {
-  assert(zero_dim_empty_p == 0);
+  PPL_ASSERT(zero_dim_empty_p == 0);
   zero_dim_empty_p
     = new Constraint_System(Constraint::zero_dim_false());
 }
 
 void
 PPL::Constraint_System::finalize() {
-  assert(zero_dim_empty_p != 0);
+  PPL_ASSERT(zero_dim_empty_p != 0);
   delete zero_dim_empty_p;
   zero_dim_empty_p = 0;
 }
diff --git a/src/Constraint_System.defs.hh b/src/Constraint_System.defs.hh
index c35c5e1..7ce79ef 100644
--- a/src/Constraint_System.defs.hh
+++ b/src/Constraint_System.defs.hh
@@ -1,5 +1,5 @@
 /* Constraint_System class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -135,7 +135,7 @@ public:
   //! Builds a system containing copies of any equalities in \p cgs.
   explicit Constraint_System(const Congruence_System& cgs);
 
-  //! Ordinary copy-constructor.
+  //! Ordinary copy constructor.
   Constraint_System(const Constraint_System& cs);
 
   //! Destructor.
@@ -152,6 +152,12 @@ public:
 
   /*! \brief
     Returns <CODE>true</CODE> if and only if \p *this
+    contains one or more equality constraints.
+  */
+  bool has_equalities() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this
     contains one or more strict inequality constraints.
   */
   bool has_strict_inequalities() const;
@@ -204,7 +210,7 @@ public:
     //! Default constructor.
     const_iterator();
 
-    //! Ordinary copy-constructor.
+    //! Ordinary copy constructor.
     const_iterator(const const_iterator& y);
 
     //! Destructor.
diff --git a/src/Constraint_System.inlines.hh b/src/Constraint_System.inlines.hh
index ffbc9c6..4cdafdc 100644
--- a/src/Constraint_System.inlines.hh
+++ b/src/Constraint_System.inlines.hh
@@ -1,5 +1,5 @@
 /* Constraint_System class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -92,7 +92,7 @@ Constraint_System::clear() {
 
 inline const Constraint_System&
 Constraint_System::zero_dim_empty() {
-  assert(zero_dim_empty_p != 0);
+  PPL_ASSERT(zero_dim_empty_p != 0);
   return *zero_dim_empty_p;
 }
 
diff --git a/src/Constraint_System.types.hh b/src/Constraint_System.types.hh
index e68a803..0fe63ba 100644
--- a/src/Constraint_System.types.hh
+++ b/src/Constraint_System.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/DB_Matrix.defs.hh b/src/DB_Matrix.defs.hh
index 22c897e..3fc77fc 100644
--- a/src/DB_Matrix.defs.hh
+++ b/src/DB_Matrix.defs.hh
@@ -1,5 +1,5 @@
 /* DB_Matrix class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -75,7 +75,7 @@ public:
   //! Builds a square matrix having the specified dimension.
   explicit DB_Matrix(dimension_type n_rows);
 
-  //! Copy-constructor.
+  //! Copy constructor.
   DB_Matrix(const DB_Matrix& y);
 
   //! Constructs a conservative approximation of \p y.
@@ -115,7 +115,7 @@ public:
     */
     explicit const_iterator(const Iter& b);
 
-    //! Ordinary copy-constructor.
+    //! Ordinary copy constructor.
     const_iterator(const const_iterator& y);
 
     //! Assignment operator.
diff --git a/src/DB_Matrix.inlines.hh b/src/DB_Matrix.inlines.hh
index 8c0d9d8..926f4b7 100644
--- a/src/DB_Matrix.inlines.hh
+++ b/src/DB_Matrix.inlines.hh
@@ -1,5 +1,5 @@
 /* DB_Matrix class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -26,7 +26,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "globals.defs.hh"
 #include "Checked_Number.defs.hh"
 #include "distances.defs.hh"
-#include <cassert>
+#include "assert.hh"
 #include <iostream>
 
 namespace Parma_Polyhedra_Library {
@@ -147,14 +147,14 @@ DB_Matrix<T>::~DB_Matrix() {
 template <typename T>
 inline DB_Row<T>&
 DB_Matrix<T>::operator[](const dimension_type k) {
-  assert(k < rows.size());
+  PPL_ASSERT(k < rows.size());
   return rows[k];
 }
 
 template <typename T>
 inline const DB_Row<T>&
 DB_Matrix<T>::operator[](const dimension_type k) const {
-  assert(k < rows.size());
+  PPL_ASSERT(k < rows.size());
   return rows[k];
 }
 
@@ -244,7 +244,7 @@ l_m_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 	maybe_assign(tmp2p, tmp2, x_i_j, inverse(dir));
       }
       sub_assign_r(tmp1, *tmp1p, *tmp2p, dir);
-      assert(sgn(tmp1) >= 0);
+      PPL_ASSERT(sgn(tmp1) >= 0);
       Specialization::combine(tmp0, tmp1, dir);
     }
   }
diff --git a/src/DB_Matrix.templates.hh b/src/DB_Matrix.templates.hh
index ba98212..98715d6 100644
--- a/src/DB_Matrix.templates.hh
+++ b/src/DB_Matrix.templates.hh
@@ -1,5 +1,5 @@
 /* DB_Matrix class implementation: non-inline template functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -33,7 +33,7 @@ DB_Matrix<T>::DB_Matrix(const dimension_type n_rows)
   // Construct in direct order: will destroy in reverse order.
   for (dimension_type i = 0; i < n_rows; ++i)
     rows[i].construct(n_rows, row_capacity);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -45,14 +45,14 @@ DB_Matrix<T>::DB_Matrix(const DB_Matrix<U>& y)
   // Construct in direct order: will destroy in reverse order.
   for (dimension_type i = 0, n_rows = rows.size(); i < n_rows; ++i)
     rows[i].construct_upward_approximation(y[i], row_capacity);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
 void
 DB_Matrix<T>::grow(const dimension_type new_n_rows) {
   const dimension_type old_n_rows = rows.size();
-  assert(new_n_rows >= old_n_rows);
+  PPL_ASSERT(new_n_rows >= old_n_rows);
 
   if (new_n_rows > old_n_rows) {
     if (new_n_rows <= row_capacity) {
@@ -233,12 +233,12 @@ DB_Matrix<T>::ascii_load(std::istream& s) {
   for (dimension_type i = 0; i < nrows;  ++i)
     for (dimension_type j = 0; j < nrows; ++j) {
       Result r = input(x[i][j], s, ROUND_CHECK);
-      if (r != V_EQ || is_minus_infinity(x[i][j]))
+      if (result_relation(r) != VR_EQ || is_minus_infinity(x[i][j]))
 	return false;
     }
 
   // Check invariants.
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
diff --git a/src/DB_Matrix.types.hh b/src/DB_Matrix.types.hh
index 11f1420..be75893 100644
--- a/src/DB_Matrix.types.hh
+++ b/src/DB_Matrix.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/DB_Row.defs.hh b/src/DB_Row.defs.hh
index df17430..3c0c951 100644
--- a/src/DB_Row.defs.hh
+++ b/src/DB_Row.defs.hh
@@ -1,5 +1,5 @@
 /* DB_Row class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/DB_Row.inlines.hh b/src/DB_Row.inlines.hh
index d50d600..377c4b5 100644
--- a/src/DB_Row.inlines.hh
+++ b/src/DB_Row.inlines.hh
@@ -1,5 +1,5 @@
 /* DB_Row class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -24,7 +24,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #define PPL_DB_Row_inlines_hh 1
 
 #include "checked.defs.hh"
-#include <cassert>
+#include "assert.hh"
 #include <cstddef>
 #include <limits>
 #include <algorithm>
@@ -39,7 +39,7 @@ DB_Row_Impl_Handler<T>::Impl::operator new(const size_t fixed_size,
 #if PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
   return ::operator new(fixed_size + capacity*sizeof(T));
 #else
-  assert(capacity >= 1);
+  PPL_ASSERT(capacity >= 1);
   return ::operator new(fixed_size + (capacity-1)*sizeof(T));
 #endif
 }
@@ -131,14 +131,14 @@ DB_Row_Impl_Handler<T>::~DB_Row_Impl_Handler() {
 template <typename T>
 inline T&
 DB_Row_Impl_Handler<T>::Impl::operator[](const dimension_type k) {
-  assert(k < size());
+  PPL_ASSERT(k < size());
   return vec_[k];
 }
 
 template <typename T>
 inline const T&
 DB_Row_Impl_Handler<T>::Impl::operator[](const dimension_type k) const {
-  assert(k < size());
+  PPL_ASSERT(k < size());
   return vec_[k];
 }
 
@@ -176,15 +176,15 @@ DB_Row<T>::allocate(
 #endif
 	       dimension_type capacity) {
   DB_Row<T>& x = *this;
-  assert(capacity <= max_size());
+  PPL_ASSERT(capacity <= max_size());
 #if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
   if (capacity == 0)
     ++capacity;
 #endif
-  assert(x.impl == 0);
+  PPL_ASSERT(x.impl == 0);
   x.impl = new (capacity) typename DB_Row_Impl_Handler<T>::Impl();
 #if PPL_DB_ROW_EXTRA_DEBUG
-  assert(x.capacity_ == 0);
+  PPL_ASSERT(x.capacity_ == 0);
   x.capacity_ = capacity;
 #endif
 }
@@ -193,9 +193,9 @@ template <typename T>
 inline void
 DB_Row<T>::expand_within_capacity(const dimension_type new_size) {
   DB_Row<T>& x = *this;
-  assert(x.impl);
+  PPL_ASSERT(x.impl);
 #if PPL_DB_ROW_EXTRA_DEBUG
-  assert(new_size <= x.capacity_);
+  PPL_ASSERT(new_size <= x.capacity_);
 #endif
   x.impl->expand_within_capacity(new_size);
 }
@@ -204,9 +204,9 @@ template <typename T>
 inline void
 DB_Row<T>::copy_construct_coefficients(const DB_Row& y) {
   DB_Row<T>& x = *this;
-  assert(x.impl && y.impl);
+  PPL_ASSERT(x.impl && y.impl);
 #if PPL_DB_ROW_EXTRA_DEBUG
-  assert(y.size() <= x.capacity_);
+  PPL_ASSERT(y.size() <= x.capacity_);
 #endif
   x.impl->copy_construct_coefficients(*(y.impl));
 }
@@ -217,9 +217,9 @@ inline void
 DB_Row<T>::construct_upward_approximation(const DB_Row<U>& y,
 					  const dimension_type capacity) {
   DB_Row<T>& x = *this;
-  assert(y.size() <= capacity && capacity <= max_size());
+  PPL_ASSERT(y.size() <= capacity && capacity <= max_size());
   allocate(capacity);
-  assert(y.impl);
+  PPL_ASSERT(y.impl);
   x.impl->construct_upward_approximation(*(y.impl));
 }
 
@@ -227,7 +227,7 @@ template <typename T>
 inline void
 DB_Row<T>::construct(const dimension_type sz,
 		     const dimension_type capacity) {
-  assert(sz <= capacity && capacity <= max_size());
+  PPL_ASSERT(sz <= capacity && capacity <= max_size());
   allocate(capacity);
   expand_within_capacity(sz);
 }
@@ -267,8 +267,8 @@ inline
 DB_Row<T>::DB_Row(const DB_Row& y,
 		  const	dimension_type capacity)
   : DB_Row_Impl_Handler<T>() {
-  assert(y.impl);
-  assert(y.size() <= capacity && capacity <= max_size());
+  PPL_ASSERT(y.impl);
+  PPL_ASSERT(y.size() <= capacity && capacity <= max_size());
   allocate(capacity);
   copy_construct_coefficients(y);
 }
@@ -279,8 +279,8 @@ DB_Row<T>::DB_Row(const DB_Row& y,
 		  const dimension_type sz,
 		  const	dimension_type capacity)
   : DB_Row_Impl_Handler<T>() {
-  assert(y.impl);
-  assert(y.size() <= sz && sz <= capacity && capacity <= max_size());
+  PPL_ASSERT(y.impl);
+  PPL_ASSERT(y.size() <= sz && sz <= capacity && capacity <= max_size());
   allocate(capacity);
   copy_construct_coefficients(y);
   expand_within_capacity(sz);
@@ -295,7 +295,7 @@ template <typename T>
 inline void
 DB_Row<T>::shrink(const dimension_type new_size) {
   DB_Row<T>& x = *this;
-  assert(x.impl);
+  PPL_ASSERT(x.impl);
   x.impl->shrink(new_size);
 }
 
diff --git a/src/DB_Row.templates.hh b/src/DB_Row.templates.hh
index c84c897..765e719 100644
--- a/src/DB_Row.templates.hh
+++ b/src/DB_Row.templates.hh
@@ -1,5 +1,5 @@
 /* DB_Row class implementation: non-inline template functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -39,9 +39,8 @@ DB_Row_Impl_Handler<T>::Impl::construct_upward_approximation(const U& y) {
     bump_size();
   }
 #else // PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-  assert(y_size > 0);
   if (y_size > 0) {
-    vec_[0] = y[0];
+    assign_r(vec_[0], y[0], ROUND_UP);
     bump_size();
     // Construct in direct order: will destroy in reverse order.
     for (dimension_type i = 1; i < y_size; ++i) {
@@ -56,11 +55,13 @@ template <typename T>
 void
 DB_Row_Impl_Handler<T>::
 Impl::expand_within_capacity(const dimension_type new_size) {
-  assert(size() <= new_size && new_size <= max_size());
+  PPL_ASSERT(size() <= new_size && new_size <= max_size());
 #if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-  // vec_[0] is already constructed.
-  if (size() == 0 && new_size > 0)
+  if (size() == 0 && new_size > 0) {
+    // vec_[0] is already constructed: we just need to assign +infinity.
+    assign_r(vec_[0], PLUS_INFINITY, ROUND_NOT_NEEDED);
     bump_size();
+  }
 #endif
   // Construct in direct order: will destroy in reverse order.
   for (dimension_type i = size(); i < new_size; ++i) {
@@ -73,7 +74,7 @@ template <typename T>
 void
 DB_Row_Impl_Handler<T>::Impl::shrink(dimension_type new_size) {
   const dimension_type old_size = size();
-  assert(new_size <= old_size);
+  PPL_ASSERT(new_size <= old_size);
   // Since ~T() does not throw exceptions, nothing here does.
   set_size(new_size);
 #if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
@@ -98,7 +99,6 @@ DB_Row_Impl_Handler<T>::Impl::copy_construct_coefficients(const Impl& y) {
     bump_size();
   }
 #else // PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-  assert(y_size > 0);
   if (y_size > 0) {
     vec_[0] = y.vec_[0];
     bump_size();
diff --git a/src/DB_Row.types.hh b/src/DB_Row.types.hh
index 91818d7..d10f0a6 100644
--- a/src/DB_Row.types.hh
+++ b/src/DB_Row.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Determinate.defs.hh b/src/Determinate.defs.hh
index 31e9c33..bf23ccd 100644
--- a/src/Determinate.defs.hh
+++ b/src/Determinate.defs.hh
@@ -1,5 +1,5 @@
 /* Determinate class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -29,63 +29,73 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Variable.defs.hh"
 #include "globals.types.hh"
 #include <iosfwd>
-#include <cassert>
+#include "assert.hh"
 
 namespace Parma_Polyhedra_Library {
 
 /*! \brief
-  Returns <CODE>true</CODE> if and only if
-  \p x and \p y are the same domain element.
+  Returns <CODE>true</CODE> if and only if \p x and \p y are the same
+  COW-wrapped pointset.
 
   \relates Determinate
 */
-template <typename PS>
-bool operator==(const Determinate<PS>& x, const Determinate<PS>& y);
+template <typename PSET>
+bool operator==(const Determinate<PSET>& x, const Determinate<PSET>& y);
 
 /*! \brief
-  Returns <CODE>true</CODE> if and only if
-  \p x and \p y are different domain elements.
+  Returns <CODE>true</CODE> if and only if \p x and \p y are different
+  COW-wrapped pointsets.
 
   \relates Determinate
 */
-template <typename PS>
-bool operator!=(const Determinate<PS>& x, const Determinate<PS>& y);
+template <typename PSET>
+bool operator!=(const Determinate<PSET>& x, const Determinate<PSET>& y);
 
 namespace IO_Operators {
 
 //! Output operator.
 /*! \relates Parma_Polyhedra_Library::Determinate */
-template <typename PS>
+template <typename PSET>
 std::ostream&
-operator<<(std::ostream&, const Determinate<PS>&);
+operator<<(std::ostream&, const Determinate<PSET>&);
 
 } // namespace IO_Operators
 
 } // namespace Parma_Polyhedra_Library
 
-//! Wraps a PPL class into a determinate constraint system interface.
-/*! \ingroup PPL_CXX_interface */
-template <typename PS>
+/*! \brief
+  A wrapper for PPL pointsets, providing them with a
+  <EM>determinate constraint system</EM> interface, as defined
+  in \ref Bag98 "[Bag98]".
+
+  The implementation uses a copy-on-write optimization, making the
+  class suitable for constructions, like the <EM>finite powerset</EM></A>
+  and <EM>ask-and-tell</EM> of \ref Bag98 "[Bag98]", that are likely
+  to perform many copies.
+
+  \ingroup PPL_CXX_interface
+*/
+template <typename PSET>
 class Parma_Polyhedra_Library::Determinate {
 public:
   //! \name Constructors and Destructor
   //@{
 
   /*! \brief
-    Injection operator: builds the determinate constraint system element
-    corresponding to the base-level element \p p.
+    Constructs a COW-wrapped object corresponding to the pointset \p p.
   */
-  Determinate(const PS& p);
+  Determinate(const PSET& p);
 
   /*! \brief
-    Injection operator: builds the determinate constraint system element
-    corresponding to the base-level element represented by \p cs.
+    Constructs a COW-wrapped object corresponding to the pointset
+    defined by \p cs.
   */
   Determinate(const Constraint_System& cs);
 
-  //! \brief
-  //! Injection operator: builds the determinate constraint system element
-  //! corresponding to the base-level element represented by \p cgs.
+  /*! \brief
+    Constructs a COW-wrapped object corresponding to the pointset
+    defined by \p cgs.
+  */
   Determinate(const Congruence_System& cgs);
 
   //! Copy constructor.
@@ -99,18 +109,18 @@ public:
   //! \name Member Functions that Do Not Modify the Domain Element
   //@{
 
-  //! Returns a const reference to the embedded element.
-  const PS& element() const;
+  //! Returns a const reference to the embedded pointset.
+  const PSET& pointset() const;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is the top of the
-    determinate constraint system (i.e., the whole vector space).
+    Returns <CODE>true</CODE> if and only if \p *this embeds the universe
+    element \p PSET.
   */
   bool is_top() const;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is the bottom
-    of the determinate constraint system.
+    Returns <CODE>true</CODE> if and only if \p *this embeds the empty
+    element of \p PSET.
   */
   bool is_bottom() const;
 
@@ -119,7 +129,7 @@ public:
 
   /*! \brief
     Returns <CODE>true</CODE> if and only if \p *this and \p y
-    are equivalent.
+    are definitely equivalent.
   */
   bool is_definitely_equivalent_to(const Determinate& y) const;
 
@@ -166,7 +176,7 @@ public:
   void concatenate_assign(const Determinate& y);
 
   //! Returns a reference to the embedded element.
-  PS& element();
+  PSET& pointset();
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
   /*! \brief
@@ -188,12 +198,12 @@ public:
   //! A function adapter for the Determinate class.
   /*! \ingroup PPL_CXX_interface
     It lifts a Binary_Operator_Assign function object, taking arguments
-    of type PS, producing the corresponding function object taking
-    arguments of type Determinate<PS>.
+    of type PSET, producing the corresponding function object taking
+    arguments of type Determinate<PSET>.
 
     The template parameter Binary_Operator_Assign is supposed to
     implement an <EM>apply and assign</EM> function, i.e., a function
-    having signature <CODE>void foo(PS& x, const PS& y)</CODE> that
+    having signature <CODE>void foo(PSET& x, const PSET& y)</CODE> that
     applies an operator to \c x and \c y and assigns the result to \c x.
     For instance, such a function object is obtained by
     <CODE>std::mem_fun_ref(&C_Polyhedron::intersection_assign)</CODE>.
@@ -235,9 +245,9 @@ private:
   private:
     /*! \brief
       Count the number of references:
-      -   0: leaked, \p ph is non-const;
-      -   1: one reference, \p ph is non-const;
-      - > 1: more than one reference, \p ph is const.
+      -   0: leaked, \p pset is non-const;
+      -   1: one reference, \p pset is non-const;
+      - > 1: more than one reference, \p pset is const.
     */
     mutable unsigned long references;
 
@@ -251,17 +261,17 @@ private:
     Rep();
 
   public:
-    //! A possibly shared base-level domain element.
-    PS ph;
+    //! The possibly shared, embedded pointset.
+    PSET pset;
 
     /*! \brief
-      Builds a new representation by creating a domain element
+      Builds a new representation by creating a pointset
       of the specified kind, in the specified vector space.
     */
     Rep(dimension_type num_dimensions, Degenerate_Element kind);
 
-    //! Builds a new representation by copying base-level element \p p.
-    Rep(const PS& p);
+    //! Builds a new representation by copying the pointset \p p.
+    Rep(const PSET& p);
 
     //! Builds a new representation by copying the constraints in \p cs.
     Rep(const Constraint_System& cs);
@@ -304,9 +314,10 @@ private:
   Rep* prep;
 
   friend bool
-  operator==<PS>(const Determinate<PS>& x, const Determinate<PS>& y);
+  operator==<PSET>(const Determinate<PSET>& x, const Determinate<PSET>& y);
+
   friend bool
-  operator!=<PS>(const Determinate<PS>& x, const Determinate<PS>& y);
+  operator!=<PSET>(const Determinate<PSET>& x, const Determinate<PSET>& y);
 };
 
 
@@ -314,9 +325,9 @@ namespace std {
 
 //! Specializes <CODE>std::swap</CODE>.
 /*! \relates Parma_Polyhedra_Library::Determinate */
-template <typename PS>
-void swap(Parma_Polyhedra_Library::Determinate<PS>& x,
-	  Parma_Polyhedra_Library::Determinate<PS>& y);
+template <typename PSET>
+void swap(Parma_Polyhedra_Library::Determinate<PSET>& x,
+	  Parma_Polyhedra_Library::Determinate<PSET>& y);
 
 } // namespace std
 
diff --git a/src/Determinate.inlines.hh b/src/Determinate.inlines.hh
index 9aee467..c840f28 100644
--- a/src/Determinate.inlines.hh
+++ b/src/Determinate.inlines.hh
@@ -1,5 +1,5 @@
 /* Determinate class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -23,109 +23,109 @@ site: http://www.cs.unipr.it/ppl/ . */
 #ifndef PPL_Determinate_inlines_hh
 #define PPL_Determinate_inlines_hh 1
 
-#include <cassert>
+#include "assert.hh"
 
 namespace Parma_Polyhedra_Library {
 
-template <typename PS>
+template <typename PSET>
 inline
-Determinate<PS>::Rep::Rep(dimension_type num_dimensions,
+Determinate<PSET>::Rep::Rep(dimension_type num_dimensions,
 			  Degenerate_Element kind)
-  : references(0), ph(num_dimensions, kind) {
+  : references(0), pset(num_dimensions, kind) {
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Determinate<PS>::Rep::Rep(const PS& p)
-  : references(0), ph(p) {
+Determinate<PSET>::Rep::Rep(const PSET& p)
+  : references(0), pset(p) {
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Determinate<PS>::Rep::Rep(const Constraint_System& cs)
-  : references(0), ph(cs) {
+Determinate<PSET>::Rep::Rep(const Constraint_System& cs)
+  : references(0), pset(cs) {
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Determinate<PS>::Rep::Rep(const Congruence_System& cgs)
-  : references(0), ph(cgs) {
+Determinate<PSET>::Rep::Rep(const Congruence_System& cgs)
+  : references(0), pset(cgs) {
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Determinate<PS>::Rep::~Rep() {
-  assert(references == 0);
+Determinate<PSET>::Rep::~Rep() {
+  PPL_ASSERT(references == 0);
 }
 
-template <typename PS>
+template <typename PSET>
 inline void
-Determinate<PS>::Rep::new_reference() const {
+Determinate<PSET>::Rep::new_reference() const {
   ++references;
 }
 
-template <typename PS>
+template <typename PSET>
 inline bool
-Determinate<PS>::Rep::del_reference() const {
+Determinate<PSET>::Rep::del_reference() const {
   return --references == 0;
 }
 
-template <typename PS>
+template <typename PSET>
 inline bool
-Determinate<PS>::Rep::is_shared() const {
+Determinate<PSET>::Rep::is_shared() const {
   return references > 1;
 }
 
-template <typename PS>
+template <typename PSET>
 inline memory_size_type
-Determinate<PS>::Rep::external_memory_in_bytes() const {
-  return ph.external_memory_in_bytes();
+Determinate<PSET>::Rep::external_memory_in_bytes() const {
+  return pset.external_memory_in_bytes();
 }
 
-template <typename PS>
+template <typename PSET>
 inline memory_size_type
-Determinate<PS>::Rep::total_memory_in_bytes() const {
+Determinate<PSET>::Rep::total_memory_in_bytes() const {
   return sizeof(*this) + external_memory_in_bytes();
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Determinate<PS>::Determinate(const PS& ph)
-  : prep(new Rep(ph)) {
+Determinate<PSET>::Determinate(const PSET& pset)
+  : prep(new Rep(pset)) {
   prep->new_reference();
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Determinate<PS>::Determinate(const Constraint_System& cs)
+Determinate<PSET>::Determinate(const Constraint_System& cs)
   : prep(new Rep(cs)) {
   prep->new_reference();
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Determinate<PS>::Determinate(const Congruence_System& cgs)
+Determinate<PSET>::Determinate(const Congruence_System& cgs)
   : prep(new Rep(cgs)) {
   prep->new_reference();
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Determinate<PS>::Determinate(const Determinate& y)
+Determinate<PSET>::Determinate(const Determinate& y)
   : prep(y.prep) {
   prep->new_reference();
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Determinate<PS>::~Determinate() {
+Determinate<PSET>::~Determinate() {
   if (prep->del_reference())
     delete prep;
 }
 
-template <typename PS>
-inline Determinate<PS>&
-Determinate<PS>::operator=(const Determinate& y) {
+template <typename PSET>
+inline Determinate<PSET>&
+Determinate<PSET>::operator=(const Determinate& y) {
   y.prep->new_reference();
   if (prep->del_reference())
     delete prep;
@@ -133,161 +133,161 @@ Determinate<PS>::operator=(const Determinate& y) {
   return *this;
 }
 
-template <typename PS>
+template <typename PSET>
 inline void
-Determinate<PS>::swap(Determinate& y) {
+Determinate<PSET>::swap(Determinate& y) {
   std::swap(prep, y.prep);
 }
 
-template <typename PS>
+template <typename PSET>
 inline void
-Determinate<PS>::mutate() {
+Determinate<PSET>::mutate() {
   if (prep->is_shared()) {
-    Rep* new_prep = new Rep(prep->ph);
+    Rep* new_prep = new Rep(prep->pset);
     (void) prep->del_reference();
     new_prep->new_reference();
     prep = new_prep;
   }
 }
 
-template <typename PS>
-inline const PS&
-Determinate<PS>::element() const {
-  return prep->ph;
+template <typename PSET>
+inline const PSET&
+Determinate<PSET>::pointset() const {
+  return prep->pset;
 }
 
-template <typename PS>
-inline PS&
-Determinate<PS>::element() {
+template <typename PSET>
+inline PSET&
+Determinate<PSET>::pointset() {
   mutate();
-  return prep->ph;
+  return prep->pset;
 }
 
-template <typename PS>
+template <typename PSET>
 inline void
-Determinate<PS>::upper_bound_assign(const Determinate& y) {
-  element().upper_bound_assign(y.element());
+Determinate<PSET>::upper_bound_assign(const Determinate& y) {
+  pointset().upper_bound_assign(y.pointset());
 }
 
-template <typename PS>
+template <typename PSET>
 inline void
-Determinate<PS>::meet_assign(const Determinate& y) {
-  element().intersection_assign(y.element());
+Determinate<PSET>::meet_assign(const Determinate& y) {
+  pointset().intersection_assign(y.pointset());
 }
 
-template <typename PS>
+template <typename PSET>
 inline bool
-Determinate<PS>::has_nontrivial_weakening() {
-  // FIXME: the following should be turned into a query to PS.  This
+Determinate<PSET>::has_nontrivial_weakening() {
+  // FIXME: the following should be turned into a query to PSET.  This
   // can be postponed until the time the ask-and-tell construction is
   // revived.
   return false;
 }
 
-template <typename PS>
+template <typename PSET>
 inline void
-Determinate<PS>::weakening_assign(const Determinate& y) {
+Determinate<PSET>::weakening_assign(const Determinate& y) {
   // FIXME: the following should be turned into a proper
   // implementation.  This can be postponed until the time the
   // ask-and-tell construction is revived.
-  element().difference_assign(y.element());
+  pointset().difference_assign(y.pointset());
 }
 
-template <typename PS>
+template <typename PSET>
 inline void
-Determinate<PS>::concatenate_assign(const Determinate& y) {
-  element().concatenate_assign(y.element());
+Determinate<PSET>::concatenate_assign(const Determinate& y) {
+  pointset().concatenate_assign(y.pointset());
 }
 
-template <typename PS>
+template <typename PSET>
 inline bool
-Determinate<PS>::definitely_entails(const Determinate& y) const {
-  return prep == y.prep || y.prep->ph.contains(prep->ph);
+Determinate<PSET>::definitely_entails(const Determinate& y) const {
+  return prep == y.prep || y.prep->pset.contains(prep->pset);
 }
 
-template <typename PS>
+template <typename PSET>
 inline bool
-Determinate<PS>::is_definitely_equivalent_to(const Determinate& y) const {
-  return prep == y.prep || prep->ph == y.prep->ph;
+Determinate<PSET>::is_definitely_equivalent_to(const Determinate& y) const {
+  return prep == y.prep || prep->pset == y.prep->pset;
 }
 
-template <typename PS>
+template <typename PSET>
 inline bool
-Determinate<PS>::is_top() const {
-  return prep->ph.is_universe();
+Determinate<PSET>::is_top() const {
+  return prep->pset.is_universe();
 }
 
-template <typename PS>
+template <typename PSET>
 inline bool
-Determinate<PS>::is_bottom() const {
-  return prep->ph.is_empty();
+Determinate<PSET>::is_bottom() const {
+  return prep->pset.is_empty();
 }
 
-template <typename PS>
+template <typename PSET>
 inline memory_size_type
-Determinate<PS>::external_memory_in_bytes() const {
+Determinate<PSET>::external_memory_in_bytes() const {
   return prep->total_memory_in_bytes();
 }
 
-template <typename PS>
+template <typename PSET>
 inline memory_size_type
-Determinate<PS>::total_memory_in_bytes() const {
+Determinate<PSET>::total_memory_in_bytes() const {
   return sizeof(*this) + external_memory_in_bytes();
 }
 
-template <typename PS>
+template <typename PSET>
 inline bool
-Determinate<PS>::OK() const {
-  return prep->ph.OK();
+Determinate<PSET>::OK() const {
+  return prep->pset.OK();
 }
 
 namespace IO_Operators {
 
 /*! \relates Parma_Polyhedra_Library::Determinate */
-template <typename PS>
+template <typename PSET>
 inline std::ostream&
-operator<<(std::ostream& s, const Determinate<PS>& x) {
-  s << x.element();
+operator<<(std::ostream& s, const Determinate<PSET>& x) {
+  s << x.pointset();
   return s;
 }
 
 } // namespace IO_Operators
 
 /*! \relates Determinate */
-template <typename PS>
+template <typename PSET>
 inline bool
-operator==(const Determinate<PS>& x, const Determinate<PS>& y) {
-  return x.prep == y.prep || x.prep->ph == y.prep->ph;
+operator==(const Determinate<PSET>& x, const Determinate<PSET>& y) {
+  return x.prep == y.prep || x.prep->pset == y.prep->pset;
 }
 
 /*! \relates Determinate */
-template <typename PS>
+template <typename PSET>
 inline bool
-operator!=(const Determinate<PS>& x, const Determinate<PS>& y) {
-  return x.prep != y.prep && x.prep->ph != y.prep->ph;
+operator!=(const Determinate<PSET>& x, const Determinate<PSET>& y) {
+  return x.prep != y.prep && x.prep->pset != y.prep->pset;
 }
 
-template <typename PS>
+template <typename PSET>
 template <typename Binary_Operator_Assign>
 inline
-Determinate<PS>::Binary_Operator_Assign_Lifter<Binary_Operator_Assign>::
+Determinate<PSET>::Binary_Operator_Assign_Lifter<Binary_Operator_Assign>::
 Binary_Operator_Assign_Lifter(Binary_Operator_Assign op_assign)
   : op_assign_(op_assign) {
 }
 
-template <typename PS>
+template <typename PSET>
 template <typename Binary_Operator_Assign>
 inline void
-Determinate<PS>::Binary_Operator_Assign_Lifter<Binary_Operator_Assign>::
+Determinate<PSET>::Binary_Operator_Assign_Lifter<Binary_Operator_Assign>::
 operator()(Determinate& x, const Determinate& y) const {
-  op_assign_(x.element(), y.element());
+  op_assign_(x.pointset(), y.pointset());
 }
 
-template <typename PS>
+template <typename PSET>
 template <typename Binary_Operator_Assign>
 inline
-Determinate<PS>::Binary_Operator_Assign_Lifter<Binary_Operator_Assign>
-Determinate<PS>::lift_op_assign(Binary_Operator_Assign op_assign) {
+Determinate<PSET>::Binary_Operator_Assign_Lifter<Binary_Operator_Assign>
+Determinate<PSET>::lift_op_assign(Binary_Operator_Assign op_assign) {
   return Binary_Operator_Assign_Lifter<Binary_Operator_Assign>(op_assign);
 }
 
@@ -297,10 +297,10 @@ Determinate<PS>::lift_op_assign(Binary_Operator_Assign op_assign) {
 namespace std {
 
 /*! \relates Parma_Polyhedra_Library::Determinate */
-template <typename PS>
+template <typename PSET>
 inline void
-swap(Parma_Polyhedra_Library::Determinate<PS>& x,
-     Parma_Polyhedra_Library::Determinate<PS>& y) {
+swap(Parma_Polyhedra_Library::Determinate<PSET>& x,
+     Parma_Polyhedra_Library::Determinate<PSET>& y) {
   x.swap(y);
 }
 
diff --git a/src/Determinate.types.hh b/src/Determinate.types.hh
index 35266b9..57dbe26 100644
--- a/src/Determinate.types.hh
+++ b/src/Determinate.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
@@ -14,7 +14,7 @@ PURPOSE. */
 
 namespace Parma_Polyhedra_Library {
 
-template <typename PS>
+template <typename PSET>
 class Determinate;
 
 } // namespace Parma_Polyhedra_Library
diff --git a/src/Float.cc b/src/Float.cc
index b03ea30..b9b89ee 100644
--- a/src/Float.cc
+++ b/src/Float.cc
@@ -1,5 +1,5 @@
 /* IEC 559 floating point format related functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Float.defs.hh b/src/Float.defs.hh
index 20498b6..1e3e413 100644
--- a/src/Float.defs.hh
+++ b/src/Float.defs.hh
@@ -1,5 +1,5 @@
 /* IEC 559 floating point format related functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -26,7 +26,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "meta_programming.hh"
 #include "compiler.hh"
 #include <gmp.h>
-#include <cassert>
+#include "assert.hh"
 #include <cmath>
 
 #ifdef NAN
@@ -41,6 +41,38 @@ namespace Parma_Polyhedra_Library {
 /*! \ingroup PPL_CXX_interface */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 
+struct float_ieee754_half {
+  uint16_t word;
+  static const uint16_t SGN_MASK = 0x8000;
+  static const uint16_t EXP_MASK = 0xfc00;
+  static const uint16_t POS_INF = 0xfc00;
+  static const uint16_t NEG_INF = 0x7c00;
+  static const uint16_t POS_ZERO = 0x0000;
+  static const uint16_t NEG_ZERO = 0x8000;
+  static const unsigned int BASE = 2;
+  static const unsigned int EXPONENT_BITS = 5;
+  static const unsigned int MANTISSA_BITS = 10;
+  static const int EXPONENT_MAX = (1 << (EXPONENT_BITS - 1)) - 1;
+  static const int EXPONENT_BIAS = EXPONENT_MAX;
+  static const int EXPONENT_MIN = -EXPONENT_MAX + 1;
+  static const int EXPONENT_MIN_DENORM = EXPONENT_MIN
+					- static_cast<int>(MANTISSA_BITS);
+  int is_inf() const;
+  int is_nan() const;
+  int is_zero() const;
+  int sign_bit() const;
+  void negate();
+  void dec();
+  void inc();
+  void set_max(bool negative);
+  void build(bool negative, mpz_t mantissa, int exponent);
+
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+
 struct float_ieee754_single {
   uint32_t word;
   static const uint32_t SGN_MASK = 0x80000000;
@@ -49,6 +81,7 @@ struct float_ieee754_single {
   static const uint32_t NEG_INF = 0xff800000;
   static const uint32_t POS_ZERO = 0x00000000;
   static const uint32_t NEG_ZERO = 0x80000000;
+  static const unsigned int BASE = 2;
   static const unsigned int EXPONENT_BITS = 8;
   static const unsigned int MANTISSA_BITS = 23;
   static const int EXPONENT_MAX = (1 << (EXPONENT_BITS - 1)) - 1;
@@ -93,6 +126,7 @@ struct float_ieee754_double {
   static const uint32_t LSP_INF = 0;
   static const uint32_t LSP_ZERO = 0;
   static const uint32_t LSP_MAX = 0xffffffff;
+  static const unsigned int BASE = 2;
   static const unsigned int EXPONENT_BITS = 11;
   static const unsigned int MANTISSA_BITS = 52;
   static const int EXPONENT_MAX = (1 << (EXPONENT_BITS - 1)) - 1;
@@ -115,6 +149,48 @@ struct float_ieee754_double {
 /*! \ingroup PPL_CXX_interface */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 
+struct float_ibm_single {
+  uint32_t word;
+  static const uint32_t SGN_MASK = 0x80000000;
+  static const uint32_t EXP_MASK = 0x7f000000;
+  static const uint32_t POS_INF = 0x7f000000;
+  static const uint32_t NEG_INF = 0xff000000;
+  static const uint32_t POS_ZERO = 0x00000000;
+  static const uint32_t NEG_ZERO = 0x80000000;
+  static const unsigned int BASE = 16;
+  static const unsigned int EXPONENT_BITS = 7;
+  static const unsigned int MANTISSA_BITS = 24;
+  static const int EXPONENT_BIAS = 64;
+  static const int EXPONENT_MAX = (1 << (EXPONENT_BITS - 1)) - 1;
+  static const int EXPONENT_MIN = -EXPONENT_MAX + 1;
+  static const int EXPONENT_MIN_DENORM = EXPONENT_MIN
+					- static_cast<int>(MANTISSA_BITS);
+  int is_inf() const;
+  int is_nan() const;
+  int is_zero() const;
+  int sign_bit() const;
+  void negate();
+  void dec();
+  void inc();
+  void set_max(bool negative);
+  void build(bool negative, mpz_t mantissa, int exponent);
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+
+struct float_ibm_double {
+  static const unsigned int BASE = 16;
+  static const unsigned int EXPONENT_BITS = 7;
+  static const unsigned int MANTISSA_BITS = 56;
+  static const int EXPONENT_BIAS = 64;
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+
 struct float_intel_double_extended {
 #ifdef PPL_WORDS_BIGENDIAN
   uint32_t msp;
@@ -132,6 +208,7 @@ struct float_intel_double_extended {
   static const uint64_t LSP_ZERO = 0;
   static const uint64_t LSP_DMAX = 0x7fffffffffffffffULL;
   static const uint64_t LSP_NMAX = 0xffffffffffffffffULL;
+  static const unsigned int BASE = 2;
   static const unsigned int EXPONENT_BITS = 15;
   static const unsigned int MANTISSA_BITS = 63;
   static const int EXPONENT_MAX = (1 << (EXPONENT_BITS - 1)) - 1;
@@ -170,6 +247,7 @@ struct float_ieee754_quad {
   static const uint64_t LSP_INF = 0;
   static const uint64_t LSP_ZERO = 0;
   static const uint64_t LSP_MAX = 0xffffffffffffffffULL;
+  static const unsigned int BASE = 2;
   static const unsigned int EXPONENT_BITS = 15;
   static const unsigned int MANTISSA_BITS = 112;
   static const int EXPONENT_MAX = (1 << (EXPONENT_BITS - 1)) - 1;
@@ -198,10 +276,14 @@ class Float : public False { };
 template <>
 class Float<float> : public True {
 public:
-#if PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_IEEE754_SINGLE
+#if PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_IEEE754_HALF
+  typedef float_ieee754_half Binary;
+#elif PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_IEEE754_SINGLE
   typedef float_ieee754_single Binary;
 #elif PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE
   typedef float_ieee754_double Binary;
+#elif PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_IBM_SINGLE
+  typedef float_ibm_single Binary;
 #elif PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_IEEE754_QUAD
   typedef float_ieee754_quad Binary;
 #elif PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED
@@ -223,10 +305,14 @@ public:
 template <>
 class Float<double> : public True {
 public:
-#if PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_SINGLE
+#if PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_HALF
+  typedef float_ieee754_half Binary;
+#elif PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_SINGLE
   typedef float_ieee754_single Binary;
 #elif PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE
   typedef float_ieee754_double Binary;
+#elif PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IBM_SINGLE
+  typedef float_ibm_single Binary;
 #elif PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_QUAD
   typedef float_ieee754_quad Binary;
 #elif PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED
@@ -248,10 +334,14 @@ public:
 template <>
 class Float<long double> : public True {
 public:
-#if PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_SINGLE
+#if PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_HALF
+  typedef float_ieee754_half Binary;
+#elif PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_SINGLE
   typedef float_ieee754_single Binary;
 #elif PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE
   typedef float_ieee754_double Binary;
+#elif PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IBM_SINGLE
+  typedef float_ibm_single Binary;
 #elif PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_QUAD
   typedef float_ieee754_quad Binary;
 #elif PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED
diff --git a/src/Float.inlines.hh b/src/Float.inlines.hh
index 2796f9e..16e0f21 100644
--- a/src/Float.inlines.hh
+++ b/src/Float.inlines.hh
@@ -1,5 +1,5 @@
 /* IEC 559 floating point format related functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -28,6 +28,64 @@ site: http://www.cs.unipr.it/ppl/ . */
 namespace Parma_Polyhedra_Library {
 
 inline int
+float_ieee754_half::is_inf() const {
+  if (word == NEG_INF)
+    return -1;
+  if (word == POS_INF)
+    return 1;
+  return 0;
+}
+
+inline int
+float_ieee754_half::is_nan() const {
+  return (word & ~SGN_MASK) > POS_INF;
+}
+
+inline int
+float_ieee754_half::is_zero() const {
+  if (word == NEG_ZERO)
+    return -1;
+  if (word == POS_ZERO)
+    return 1;
+  return 0;
+}
+
+inline void
+float_ieee754_half::negate() {
+  word ^= SGN_MASK;
+}
+
+inline int
+float_ieee754_half::sign_bit() const {
+  return !!(word & SGN_MASK);
+}
+
+inline void
+float_ieee754_half::dec() {
+  --word;
+}
+
+inline void
+float_ieee754_half::inc() {
+  ++word;
+}
+
+inline void
+float_ieee754_half::set_max(bool negative) {
+  word = 0x7bff;
+  if (negative)
+    word |= SGN_MASK;
+}
+
+inline void
+float_ieee754_half::build(bool negative, mpz_t mantissa, int exponent) {
+  word = mpz_get_ui(mantissa) & ((1UL << MANTISSA_BITS) - 1);
+  if (negative)
+    word |= SGN_MASK;
+  word |= static_cast<uint16_t>(exponent + EXPONENT_BIAS) << MANTISSA_BITS;
+}
+
+inline int
 float_ieee754_single::is_inf() const {
   if (word == NEG_INF)
     return -1;
@@ -170,6 +228,64 @@ float_ieee754_double::build(bool negative, mpz_t mantissa, int exponent) {
 }
 
 inline int
+float_ibm_single::is_inf() const {
+  if (word == NEG_INF)
+    return -1;
+  if (word == POS_INF)
+    return 1;
+  return 0;
+}
+
+inline int
+float_ibm_single::is_nan() const {
+  return (word & ~SGN_MASK) > POS_INF;
+}
+
+inline int
+float_ibm_single::is_zero() const {
+  if (word == NEG_ZERO)
+    return -1;
+  if (word == POS_ZERO)
+    return 1;
+  return 0;
+}
+
+inline void
+float_ibm_single::negate() {
+  word ^= SGN_MASK;
+}
+
+inline int
+float_ibm_single::sign_bit() const {
+  return !!(word & SGN_MASK);
+}
+
+inline void
+float_ibm_single::dec() {
+  --word;
+}
+
+inline void
+float_ibm_single::inc() {
+  ++word;
+}
+
+inline void
+float_ibm_single::set_max(bool negative) {
+  word = 0x7f000000;
+  if (negative)
+    word |= SGN_MASK;
+}
+
+inline void
+float_ibm_single::build(bool negative, mpz_t mantissa, int exponent) {
+  word = mpz_get_ui(mantissa) & ((1UL << MANTISSA_BITS) - 1);
+  if (negative)
+    word |= SGN_MASK;
+  word |= static_cast<uint32_t>(exponent + EXPONENT_BIAS) << MANTISSA_BITS;
+}
+
+inline int
 float_intel_double_extended::is_inf() const {
   if (lsp != LSP_INF)
     return 0;
diff --git a/src/GMP_Integer.defs.hh b/src/GMP_Integer.defs.hh
index 159bdb9..c89f01b 100644
--- a/src/GMP_Integer.defs.hh
+++ b/src/GMP_Integer.defs.hh
@@ -1,5 +1,5 @@
 /* GMP_Integer class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -111,6 +111,14 @@ void add_mul_assign(GMP_Integer& x,
 void sub_mul_assign(GMP_Integer& x,
 		    const GMP_Integer& y, const GMP_Integer& z);
 
+//! Assigns to \p x the value \f$ y \cdot 2^\mathtt{exp} \f$.
+/*! \relates GMP_Integer */
+void mul_2exp_assign(GMP_Integer& x, const GMP_Integer& y, unsigned int exp);
+
+//! Assigns to \p x the value \f$ y / 2^\mathtt{exp} \f$.
+/*! \relates GMP_Integer */
+void div_2exp_assign(GMP_Integer& x, const GMP_Integer& y, unsigned int exp);
+
 /*! \brief
   If \p z divides \p y, assigns to \p x the quotient of the integer
   division of \p y and \p z.
diff --git a/src/GMP_Integer.inlines.hh b/src/GMP_Integer.inlines.hh
index 9cb9e04..9413c65 100644
--- a/src/GMP_Integer.inlines.hh
+++ b/src/GMP_Integer.inlines.hh
@@ -1,5 +1,5 @@
 /* GMP_Integer class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -23,7 +23,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #ifndef PPL_GMP_Integer_inlines_hh
 #define PPL_GMP_Integer_inlines_hh 1
 
-#include <cassert>
+#include "assert.hh"
 
 namespace Parma_Polyhedra_Library {
 
@@ -81,8 +81,18 @@ sub_mul_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) {
 }
 
 inline void
+mul_2exp_assign(GMP_Integer& x, const GMP_Integer& y, unsigned int exp) {
+  mpz_mul_2exp(x.get_mpz_t(), y.get_mpz_t(), exp);
+}
+
+inline void
+div_2exp_assign(GMP_Integer& x, const GMP_Integer& y, unsigned int exp) {
+  mpz_tdiv_q_2exp(x.get_mpz_t(), y.get_mpz_t(), exp);
+}
+
+inline void
 exact_div_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) {
-  assert(y % z == 0);
+  PPL_ASSERT(y % z == 0);
   mpz_divexact(x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t());
 }
 
diff --git a/src/GMP_Integer.types.hh b/src/GMP_Integer.types.hh
index 8fde525..099d80c 100644
--- a/src/GMP_Integer.types.hh
+++ b/src/GMP_Integer.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Generator.cc b/src/Generator.cc
index a697381..9f7c154 100644
--- a/src/Generator.cc
+++ b/src/Generator.cc
@@ -1,5 +1,5 @@
 /* Generator class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -162,22 +162,22 @@ const PPL::Generator* PPL::Generator::zero_dim_closure_point_p = 0;
 
 void
 PPL::Generator::initialize() {
-  assert(zero_dim_point_p == 0);
+  PPL_ASSERT(zero_dim_point_p == 0);
   zero_dim_point_p
     = new Generator(point());
 
-  assert(zero_dim_closure_point_p == 0);
+  PPL_ASSERT(zero_dim_closure_point_p == 0);
   zero_dim_closure_point_p
     = new Generator(closure_point());
 }
 
 void
 PPL::Generator::finalize() {
-  assert(zero_dim_point_p != 0);
+  PPL_ASSERT(zero_dim_point_p != 0);
   delete zero_dim_point_p;
   zero_dim_point_p = 0;
 
-  assert(zero_dim_closure_point_p != 0);
+  PPL_ASSERT(zero_dim_closure_point_p != 0);
   delete zero_dim_closure_point_p;
   zero_dim_closure_point_p = 0;
 }
@@ -273,7 +273,7 @@ PPL::IO_Operators::operator<<(std::ostream& s, const Generator::Type& t) {
 
 bool
 PPL::Generator::is_matching_closure_point(const Generator& p) const {
-  assert(topology() == p.topology()
+  PPL_ASSERT(topology() == p.topology()
 	 && space_dimension() == p.space_dimension()
 	 && type() == CLOSURE_POINT
 	 && p.type() == POINT);
diff --git a/src/Generator.defs.hh b/src/Generator.defs.hh
index 5d57d19..ce505ed 100644
--- a/src/Generator.defs.hh
+++ b/src/Generator.defs.hh
@@ -1,5 +1,5 @@
 /* Generator class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -283,7 +283,7 @@ public:
   closure_point(const Linear_Expression& e = Linear_Expression::zero(),
 		Coefficient_traits::const_reference d = Coefficient_one());
 
-  //! Ordinary copy-constructor.
+  //! Ordinary copy constructor.
   Generator(const Generator& g);
 
   //! Destructor.
@@ -446,7 +446,7 @@ private:
   Parma_Polyhedra_Library::IO_Operators::operator<<(std::ostream& s,
 						    const Generator& g);
 
-  //! Copy-constructor with given space dimension.
+  //! Copy constructor with given space dimension.
   Generator(const Generator& g, dimension_type dimension);
 
   //! Returns <CODE>true</CODE> if and only if \p *this is not a line.
diff --git a/src/Generator.inlines.hh b/src/Generator.inlines.hh
index ee54c54..06ddb40 100644
--- a/src/Generator.inlines.hh
+++ b/src/Generator.inlines.hh
@@ -1,5 +1,5 @@
 /* Generator class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -27,7 +27,7 @@ namespace Parma_Polyhedra_Library {
 
 inline
 Generator::Generator(Linear_Expression& e, Type type, Topology topology) {
-  assert(type != CLOSURE_POINT || topology == NOT_NECESSARILY_CLOSED);
+  PPL_ASSERT(type != CLOSURE_POINT || topology == NOT_NECESSARILY_CLOSED);
   Linear_Row::swap(e);
   flags() = Flags(topology, (type == LINE
 			     ? LINE_OR_EQUALITY
@@ -147,13 +147,13 @@ Generator::total_memory_in_bytes() const {
 
 inline const Generator&
 Generator::zero_dim_point() {
-  assert(zero_dim_point_p != 0);
+  PPL_ASSERT(zero_dim_point_p != 0);
   return *zero_dim_point_p;
 }
 
 inline const Generator&
 Generator::zero_dim_closure_point() {
-  assert(zero_dim_closure_point_p != 0);
+  PPL_ASSERT(zero_dim_closure_point_p != 0);
   return *zero_dim_closure_point_p;
 }
 
@@ -261,7 +261,7 @@ l_m_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
       maybe_assign(tmp2p, tmp2, x_coord, inverse(dir));
     }
     sub_assign_r(tmp1, *tmp1p, *tmp2p, dir);
-    assert(sgn(tmp1) >= 0);
+    PPL_ASSERT(sgn(tmp1) >= 0);
     Specialization::combine(tmp0, tmp1, dir);
   }
   Specialization::finalize(tmp0, dir);
diff --git a/src/Generator.types.hh b/src/Generator.types.hh
index 37dcf09..70064fb 100644
--- a/src/Generator.types.hh
+++ b/src/Generator.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Generator_System.cc b/src/Generator_System.cc
index 4793f5d..b03f9f0 100644
--- a/src/Generator_System.cc
+++ b/src/Generator_System.cc
@@ -1,5 +1,5 @@
 /* Generator_System class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -26,7 +26,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Generator_System.inlines.hh"
 #include "Constraint.defs.hh"
 #include "Scalar_Products.defs.hh"
-#include <cassert>
+#include "assert.hh"
 #include <string>
 #include <vector>
 #include <iostream>
@@ -38,7 +38,7 @@ bool
 PPL::Generator_System::
 adjust_topology_and_space_dimension(const Topology new_topology,
 				    const dimension_type new_space_dim) {
-  assert(space_dimension() <= new_space_dim);
+  PPL_ASSERT(space_dimension() <= new_space_dim);
 
   const dimension_type old_space_dim = space_dimension();
   const Topology old_topology = topology();
@@ -81,7 +81,7 @@ adjust_topology_and_space_dimension(const Topology new_topology,
 	// Here topologies agree.
 	if (cols_to_be_added > 0)
 	  add_zero_columns(cols_to_be_added);
-    assert(OK());
+    PPL_ASSERT(OK());
     return true;
   }
 
@@ -117,7 +117,7 @@ adjust_topology_and_space_dimension(const Topology new_topology,
 	}
 	// We may have identified some closure points.
 	if (num_closure_points > 0) {
-	  assert(num_closure_points == num_rows() - gs_end);
+	  PPL_ASSERT(num_closure_points == num_rows() - gs_end);
 	  erase_to_end(gs_end);
 	}
 	// Remove the epsilon column, re-normalize and, after that,
@@ -174,7 +174,7 @@ adjust_topology_and_space_dimension(const Topology new_topology,
       }
     }
   // We successfully adjusted dimensions and topology.
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
@@ -184,7 +184,7 @@ adjust_topology_and_space_dimension(const Topology new_topology,
 // perform insertions keeping its sortedness.
 void
 PPL::Generator_System::add_corresponding_closure_points() {
-  assert(!is_necessarily_closed());
+  PPL_ASSERT(!is_necessarily_closed());
   // NOTE: we always add (pending) rows at the end of the generator system.
   // Updating `index_first_pending', if needed, is done by the caller.
   Generator_System& gs = *this;
@@ -201,7 +201,7 @@ PPL::Generator_System::add_corresponding_closure_points() {
       gs.add_pending_row(cp);
     }
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 
@@ -211,7 +211,7 @@ PPL::Generator_System::add_corresponding_closure_points() {
 // perform insertions keeping its sortedness.
 void
 PPL::Generator_System::add_corresponding_points() {
-  assert(!is_necessarily_closed());
+  PPL_ASSERT(!is_necessarily_closed());
   // NOTE: we always add (pending) rows at the end of the generator system.
   // Updating `index_first_pending', if needed, is done by the caller.
   Generator_System& gs = *this;
@@ -227,7 +227,7 @@ PPL::Generator_System::add_corresponding_points() {
       gs.add_pending_row(p);
     }
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 bool
@@ -282,7 +282,7 @@ void
 PPL::Generator_System::insert(const Generator& g) {
   // We are sure that the matrix has no pending rows
   // and that the new row is not a pending generator.
-  assert(num_pending_rows() == 0);
+  PPL_ASSERT(num_pending_rows() == 0);
   if (topology() == g.topology())
     Linear_System::insert(g);
   else
@@ -322,7 +322,7 @@ PPL::Generator_System::insert(const Generator& g) {
       // Inserting the new generator.
       Linear_System::insert(tmp_g);
     }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
@@ -366,14 +366,14 @@ PPL::Generator_System::insert_pending(const Generator& g) {
       // Inserting the new generator.
       Linear_System::insert_pending(tmp_g);
     }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 PPL::dimension_type
 PPL::Generator_System::num_lines() const {
   // We are sure that this method is applied only to a matrix
   // that does not contain pending rows.
-  assert(num_pending_rows() == 0);
+  PPL_ASSERT(num_pending_rows() == 0);
   const Generator_System& gs = *this;
   dimension_type n = 0;
   // If the Linear_System happens to be sorted, take advantage of the fact
@@ -394,7 +394,7 @@ PPL::dimension_type
 PPL::Generator_System::num_rays() const {
   // We are sure that this method is applied only to a matrix
   // that does not contain pending rows.
-  assert(num_pending_rows() == 0);
+  PPL_ASSERT(num_pending_rows() == 0);
   const Generator_System& gs = *this;
   dimension_type n = 0;
   // If the Linear_System happens to be sorted, take advantage of the fact
@@ -417,11 +417,11 @@ PPL::Generator_System::relation_with(const Constraint& c) const {
   // Note: this method is not public and it is the responsibility
   // of the caller to actually test for dimension compatibility.
   // We simply assert it.
-  assert(space_dimension() >= c.space_dimension());
+  PPL_ASSERT(space_dimension() >= c.space_dimension());
   // Number of generators: the case of an empty polyhedron
   // has already been filtered out by the caller.
   const dimension_type n_rows = num_rows();
-  assert(n_rows > 0);
+  PPL_ASSERT(n_rows > 0);
   const Generator_System& gs = *this;
 
   // `result' will keep the relation holding between the generators
@@ -722,7 +722,7 @@ PPL::Generator_System::relation_with(const Constraint& c) const {
 
 bool
 PPL::Generator_System::satisfied_by_all_generators(const Constraint& c) const {
-  assert(c.space_dimension() <= space_dimension());
+  PPL_ASSERT(c.space_dimension() <= space_dimension());
 
   // Setting `sps' to the appropriate scalar product sign operator.
   // This also avoids problems when having _legal_ topology mismatches
@@ -791,9 +791,9 @@ PPL::Generator_System
   // `v' is the index of a column corresponding to
   // a "user" variable (i.e., it cannot be the inhomogeneous term,
   // nor the epsilon dimension of NNC polyhedra).
-  assert(v > 0 && v <= x.space_dimension());
-  assert(expr.space_dimension() <= x.space_dimension());
-  assert(denominator > 0);
+  PPL_ASSERT(v > 0 && v <= x.space_dimension());
+  PPL_ASSERT(expr.space_dimension() <= x.space_dimension());
+  PPL_ASSERT(denominator > 0);
 
   const dimension_type n_columns = x.num_columns();
   const dimension_type n_rows = x.num_rows();
@@ -941,7 +941,7 @@ PPL::Generator_System::ascii_load(std::istream& s) {
   }
 
   // Check invariants.
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
@@ -973,7 +973,7 @@ PPL::Generator_System::remove_invalid_lines_and_rays() {
     // of the matrix, find the invalid rows in the pending
     // part and then erase the invalid rows that now
     // are in the bottom part of the matrix.
-    assert(num_pending_rows() > 0);
+    PPL_ASSERT(num_pending_rows() > 0);
     dimension_type first_pending = first_pending_row();
     for (dimension_type i = first_pending; i-- > 0; ) {
       Generator& g = gs[i];
@@ -1007,14 +1007,14 @@ const PPL::Generator_System* PPL::Generator_System::zero_dim_univ_p = 0;
 
 void
 PPL::Generator_System::initialize() {
-  assert(zero_dim_univ_p == 0);
+  PPL_ASSERT(zero_dim_univ_p == 0);
   zero_dim_univ_p
     = new Generator_System(Generator::zero_dim_point());
 }
 
 void
 PPL::Generator_System::finalize() {
-  assert(zero_dim_univ_p != 0);
+  PPL_ASSERT(zero_dim_univ_p != 0);
   delete zero_dim_univ_p;
   zero_dim_univ_p = 0;
 }
diff --git a/src/Generator_System.defs.hh b/src/Generator_System.defs.hh
index f9e7903..b34f895 100644
--- a/src/Generator_System.defs.hh
+++ b/src/Generator_System.defs.hh
@@ -1,5 +1,5 @@
 /* Generator_System class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -31,7 +31,6 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Constraint.types.hh"
 #include "Polyhedron.types.hh"
 #include "Poly_Con_Relation.defs.hh"
-#include "Grid.types.hh"
 #include <iosfwd>
 
 namespace Parma_Polyhedra_Library {
@@ -188,7 +187,7 @@ public:
   //! Builds the singleton system containing only generator \p g.
   explicit Generator_System(const Generator& g);
 
-  //! Ordinary copy-constructor.
+  //! Ordinary copy constructor.
   Generator_System(const Generator_System& gs);
 
   //! Destructor.
@@ -257,7 +256,7 @@ public:
     //! Default constructor.
     const_iterator();
 
-    //! Ordinary copy-constructor.
+    //! Ordinary copy constructor.
     const_iterator(const const_iterator& y);
 
     //! Destructor.
diff --git a/src/Generator_System.inlines.hh b/src/Generator_System.inlines.hh
index d8f850a..6b4684c 100644
--- a/src/Generator_System.inlines.hh
+++ b/src/Generator_System.inlines.hh
@@ -1,5 +1,5 @@
 /* Generator_System class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -175,7 +175,7 @@ Generator_System::end() const {
 
 inline const Generator_System&
 Generator_System::zero_dim_univ() {
-  assert(zero_dim_univ_p != 0);
+  PPL_ASSERT(zero_dim_univ_p != 0);
   return *zero_dim_univ_p;
 }
 
diff --git a/src/Generator_System.types.hh b/src/Generator_System.types.hh
index 27c325a..906fa23 100644
--- a/src/Generator_System.types.hh
+++ b/src/Generator_System.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Grid.defs.hh b/src/Grid.defs.hh
index 309d4b3..062d3ae 100644
--- a/src/Grid.defs.hh
+++ b/src/Grid.defs.hh
@@ -1,5 +1,5 @@
 /* Grid class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -28,7 +28,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Variable.defs.hh"
 #include "Variables_Set.types.hh"
 #include "Linear_Expression.defs.hh"
-#include "Constraint.defs.hh"
+#include "Constraint.types.hh"
 #include "Constraint_System.defs.hh"
 #include "Constraint_System.inlines.hh"
 #include "Congruence_System.defs.hh"
@@ -40,9 +40,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Poly_Gen_Relation.defs.hh"
 #include "Grid_Certificate.types.hh"
 #include "Box.types.hh"
-#include "Polyhedron.defs.hh"
 #include "Polyhedron.types.hh"
-#include "Polyhedron.inlines.hh"
 #include "BD_Shape.types.hh"
 #include "Octagonal_Shape.types.hh"
 #include <vector>
@@ -325,10 +323,10 @@ bool operator!=(const Grid& x, const Grid& y);
   Grid_Generator_System gs;
   gs.insert(grid_point(3*x + y +0*z + 2*w));
   Grid gr(gs);
-  Variables_Set to_be_removed;
-  to_be_removed.insert(y);
-  to_be_removed.insert(z);
-  gr.remove_space_dimensions(to_be_removed);
+  Variables_Set vars;
+  vars.insert(y);
+  vars.insert(z);
+  gr.remove_space_dimensions(vars);
   \endcode
   The starting grid is the singleton set
   \f$\bigl\{ (3, 1, 0, 2)^\transpose \bigr\} \sseq \Rset^4\f$, while
@@ -341,16 +339,16 @@ bool operator!=(const Grid& x, const Grid& y);
   For instance, by using the following code we would obtain
   a different result:
   \code
-  set<Variable> to_be_removed1;
-  to_be_removed1.insert(y);
-  gr.remove_space_dimensions(to_be_removed1);
-  set<Variable> to_be_removed2;
-  to_be_removed2.insert(z);
-  gr.remove_space_dimensions(to_be_removed2);
+  set<Variable> vars1;
+  vars1.insert(y);
+  gr.remove_space_dimensions(vars1);
+  set<Variable> vars2;
+  vars2.insert(z);
+  gr.remove_space_dimensions(vars2);
   \endcode
   In this case, the result is the grid
   \f$\bigl\{(3, 0)^\transpose \bigr\} \sseq \Rset^2\f$:
-  when removing the set of dimensions \p to_be_removed2
+  when removing the set of dimensions \p vars2
   we are actually removing variable \f$w\f$ of the original grid.
   For the same reason, the operator \p remove_space_dimensions
   is not idempotent: removing twice the same non-empty set of dimensions
@@ -367,13 +365,13 @@ public:
 
   /*! \brief
     Returns true indicating that this domain has methods that
-    can recycle congruences
+    can recycle congruences.
   */
   static bool can_recycle_congruence_systems();
 
   /*! \brief
     Returns true indicating that this domain has methods that
-    can recycle constraints
+    can recycle constraints.
   */
   static bool can_recycle_constraint_systems();
 
@@ -556,77 +554,6 @@ public:
   explicit Grid(const Octagonal_Shape<U>& os,
                 Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Builds a grid out of a generic, interval-based covering box.
-  /*!
-    The covering box is a set of upper and lower values for each
-    dimension.  When a covering box is tiled onto empty space the
-    corners of the tiles form a rectilinear grid.
-
-    A box interval with only one bound fixes the values of all grid
-    points in the dimension associated with the box to the value of
-    the bound.  A box interval which has upper and lower bounds of
-    equal value allows all grid points with any value in the dimension
-    associated with the interval.  The presence of a universe interval
-    results in the empty grid.  The empty box produces the empty grid
-    of the same dimension as the box.
-
-    \param box
-    The covering box representing the grid to be built;
-
-    \param dummy
-    A dummy tag to make this constructor syntactically unique.
-
-    \exception std::length_error
-    Thrown if the space dimension of \p box exceeds the maximum
-    allowed space dimension.
-
-    \exception std::invalid_argument
-    Thrown if \p box contains any topologically open bounds.
-
-    The template class Box must provide the following methods.
-    \code
-      dimension_type space_dimension() const
-    \endcode
-    returns the dimension of the vector space enclosing the grid
-    represented by the covering box.
-    \code
-      bool is_empty() const
-    \endcode
-    returns <CODE>true</CODE> if and only if the covering box
-    describes the empty set.
-    \code
-      bool get_lower_bound(dimension_type k, bool& closed,
-                           Coefficient& n, Coefficient& d) const
-    \endcode
-    Let \f$I\f$ be the interval corresponding to the <CODE>k</CODE>-th
-    space dimension.  If \f$I\f$ is not bounded from below, simply return
-    <CODE>false</CODE>.  Otherwise, set <CODE>closed</CODE>,
-    <CODE>n</CODE> and <CODE>d</CODE> as follows: <CODE>closed</CODE>
-    is set to <CODE>true</CODE> if the lower boundary of \f$I\f$
-    is closed and is set to <CODE>false</CODE> otherwise;
-    <CODE>n</CODE> and <CODE>d</CODE> are assigned the integers
-    \f$n\f$ and \f$d\f$ such that the canonical fraction \f$n/d\f$
-    corresponds to the greatest lower bound of \f$I\f$.  The fraction
-    \f$n/d\f$ is in canonical form if and only if \f$n\f$ and \f$d\f$
-    have no common factors and \f$d\f$ is positive, \f$0/1\f$ being
-    the unique representation for zero.
-    \code
-      bool get_upper_bound(dimension_type k, bool& closed,
-                           Coefficient& n, Coefficient& d) const
-    \endcode
-    Let \f$I\f$ be the interval corresponding to the <CODE>k</CODE>-th
-    space dimension.  If \f$I\f$ is not bounded from above, simply return
-    <CODE>false</CODE>.  Otherwise, set <CODE>closed</CODE>,
-    <CODE>n</CODE> and <CODE>d</CODE> as follows: <CODE>closed</CODE>
-    is set to <CODE>true</CODE> if the upper boundary of \f$I\f$
-    is closed and is set to <CODE>false</CODE> otherwise;
-    <CODE>n</CODE> and <CODE>d</CODE> are assigned the integers
-    \f$n\f$ and \f$d\f$ such that the canonical fraction \f$n/d\f$
-    corresponds to the least upper bound of \f$I\f$.
-  */
-  template <typename Box>
-  Grid(const Box& box, From_Covering_Box dummy);
-
   /*! \brief
     Builds a grid from a polyhedron using algorithms whose complexity
     does not exceed the one specified by \p complexity.
@@ -648,7 +575,7 @@ public:
   explicit Grid(const Polyhedron& ph,
                 Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Ordinary copy-constructor.
+  //! Ordinary copy constructor.
   /*!
     The complexity argument is ignored.
   */
@@ -932,6 +859,40 @@ public:
 		Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
 		Generator& point) const;
 
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is not empty and
+    \ref Grid_Frequency "frequency" for \p *this with respect to \p expr
+    is defined, in which case the frequency and the value for \p expr
+    that is closest to zero are computed.
+
+    \param expr
+    The linear expression for which the frequency is needed;
+
+    \param freq_n
+    The numerator of the maximum frequency of \p expr;
+
+    \param freq_d
+    The denominator of the maximum frequency of \p expr;
+
+    \param val_n
+    The numerator of them value of \p expr at a point in the grid
+    that is closest to zero;
+
+    \param val_d
+    The denominator of a value of \p expr at a point in the grid
+    that is closest to zero;
+
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+
+    If \p *this is empty or frequency is undefined with respect to \p expr,
+    then <CODE>false</CODE> is returned and \p freq_n, \p freq_d,
+    \p val_n and \p val_d are left untouched.
+  */
+  bool frequency(const Linear_Expression& expr,
+                 Coefficient& freq_n, Coefficient& freq_d,
+                 Coefficient& val_n, Coefficient& val_d) const;
+
   //! Returns <CODE>true</CODE> if and only if \p *this contains \p y.
   /*!
     \exception std::invalid_argument
@@ -948,36 +909,6 @@ public:
   */
   bool strictly_contains(const Grid& y) const;
 
-  //! Writes the covering box for \p *this into \p box.
-  /*!
-    The covering box is a set of upper and lower values for each
-    dimension.  When the covering box written into \p box is tiled
-    onto empty space the corners of the tiles form the sparsest
-    rectilinear grid that includes \p *this.
-
-    The value of the lower bound of each interval of the resulting \p
-    box are as close as possible to the origin, with positive values
-    taking preference when the lowest positive value equals the lowest
-    negative value.
-
-    If all the points have a single value in a particular dimension of
-    the grid then there is only a lower bound on the interval produced
-    in \p box, and the lower bound denotes the single value for the
-    dimension.  If the coordinates of the points in a particular
-    dimension include every value then the upper and lower bounds of
-    the associated interval in \p box are set equal.  The empty grid
-    produces the empty \p box.  The zero dimension universe grid
-    produces the zero dimension universe box.
-
-    \param box
-    The Box into which the covering box is written.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p box are dimension-incompatible.
-  */
-  template <typename Interval>
-  void get_covering_box(Box<Interval>& box) const;
-
   //! Checks if all the invariants are satisfied.
   /*!
     \return
@@ -1011,21 +942,6 @@ public:
   void add_congruence(const Congruence& cg);
 
   /*! \brief
-    Adds a copy of congruence \p cg to the system of congruences of \p
-    *this, reducing the result
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and congruence \p cg are dimension-incompatible.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_congruence_and_minimize(const Congruence& c);
-
-  /*! \brief
     Adds a copy of grid generator \p g to the system of generators of
     \p *this.
 
@@ -1035,22 +951,6 @@ public:
   */
   void add_grid_generator(const Grid_Generator& g);
 
-  /*! \brief
-    Adds a copy of grid generator \p g to the system of generators of
-    \p *this, reducing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and generator \p g are dimension-incompatible,
-    or if \p *this is an empty grid and \p g is not a point.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_grid_generator_and_minimize(const Grid_Generator& g);
-
   //! Adds a copy of each congruence in \p cgs to \p *this.
   /*!
     \param cgs
@@ -1069,55 +969,13 @@ public:
     \p cgs may be recycled.
 
     \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible.
-
-    \warning
-    The only assumption that can be made about \p cgs upon successful
-    or exceptional return is that it can be safely destroyed.
-  */
-  void add_recycled_congruences(Congruence_System& cgs);
-
-  /*! \brief
-    Adds a copy of the congruences in \p cgs to the system of
-    congruences of \p *this, reducing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \param cgs
-    Contains the congruences that will be added to the system of
-    congruences of \p *this.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_congruences_and_minimize(const Congruence_System& cgs);
-
-  /*! \brief
-    Adds the congruences in \p cgs to the system of congruences of \p
-    *this, reducing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \param cgs
-    The congruence system to be added to \p *this.  The congruences in
-    \p cgs may be recycled.
-
-    \exception std::invalid_argument
     Thrown if \p *this and \p cgs are dimension-incompatible.
 
     \warning
     The only assumption that can be made about \p cgs upon successful
     or exceptional return is that it can be safely destroyed.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
   */
-  bool add_recycled_congruences_and_minimize(Congruence_System& cgs);
+  void add_recycled_congruences(Congruence_System& cgs);
 
   /*! \brief
     Adds to \p *this a congruence equivalent to constraint \p c.
@@ -1132,25 +990,6 @@ public:
   void add_constraint(const Constraint& c);
 
   /*! \brief
-    Adds to \p *this a congruence equivalent to constraint \p c,
-    also minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \param c
-    The constraint to be added.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p c are dimension-incompatible
-    or if constraint \p c is not optimally supported by the grid domain.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_constraint_and_minimize(const Constraint& c);
-
-  /*! \brief
     Adds to \p *this congruences equivalent to the constraints in \p cs.
 
     \param cs
@@ -1164,26 +1003,6 @@ public:
   void add_constraints(const Constraint_System& cs);
 
   /*! \brief
-    Adds to \p *this congruences equivalent to the constraints in \p cs,
-    minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \param cs
-    The constraints to be added.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible
-    or if \p cs contains a constraint whcih is not optimally supported
-    by the grid domain.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_constraints_and_minimize(const Constraint_System& cs);
-
-  /*! \brief
     Adds to \p *this congruences equivalent to the constraints in \p cs.
 
     \param cs
@@ -1200,30 +1019,6 @@ public:
   */
   void add_recycled_constraints(Constraint_System& cs);
 
-  /*! \brief
-    Adds to \p *this congruences equivalent to the constraints in \p cs,
-    minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \param cs
-    The constraints to be added. They may be recycled.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible
-    or if \p cs contains a constraint whcih is not optimally supported
-    by the grid domain.
-
-    \warning
-    The only assumption that can be made about \p cs upon successful
-    or exceptional return is that it can be safely destroyed.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_recycled_constraints_and_minimize(Constraint_System& cs);
-
   //! Uses a copy of the congruence \p cg to refine \p *this.
   /*!
     \param cg
@@ -1298,50 +1093,6 @@ public:
   void add_recycled_grid_generators(Grid_Generator_System& gs);
 
   /*! \brief
-    Adds a copy of the generators in \p gs to the system of generators
-    of \p *this, reducing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \param gs
-    Contains the generators that will be added to the system of
-    generators of \p *this.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p gs are dimension-incompatible, or if \p
-    *this is empty and the system of generators \p gs is not empty,
-    but has no points.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_grid_generators_and_minimize(const Grid_Generator_System& gs);
-
-  /*! \brief
-    Adds the generators in \p gs to the system of generators of \p
-    *this, reducing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \param gs
-    The generator system to be added to \p *this.  The generators in
-    \p gs may be recycled.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p gs are dimension-incompatible.
-
-    \warning
-    The only assumption that can be made about \p gs upon successful
-    or exceptional return is that it can be safely destroyed.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_recycled_grid_generators_and_minimize(Grid_Generator_System& gs);
-
-  /*! \brief
     Computes the \ref Cylindrification "cylindrification" of \p *this with
     respect to space dimension \p var, assigning the result to \p *this.
 
@@ -1355,17 +1106,17 @@ public:
 
   /*! \brief
     Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to the set of space dimensions \p to_be_unconstrained,
+    respect to the set of space dimensions \p vars,
     assigning the result to \p *this.
 
-    \param to_be_unconstrained
+    \param vars
     The set of space dimension that will be unconstrained.
 
     \exception std::invalid_argument
     Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p to_be_removed.
+    Variable objects contained in \p vars.
   */
-  void unconstrain(const Variables_Set& to_be_unconstrained);
+  void unconstrain(const Variables_Set& vars);
 
   /*! \brief
     Assigns to \p *this the intersection of \p *this and \p y.
@@ -1376,21 +1127,6 @@ public:
   void intersection_assign(const Grid& y);
 
   /*! \brief
-    Assigns to \p *this the intersection of \p *this and \p y,
-    reducing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool intersection_assign_and_minimize(const Grid& y);
-
-  /*! \brief
     Assigns to \p *this the least upper bound of \p *this and \p y.
 
     \exception std::invalid_argument
@@ -1399,21 +1135,6 @@ public:
   void upper_bound_assign(const Grid& y);
 
   /*! \brief
-    Assigns to \p *this the least upper bound of \p *this and \p y,
-    reducing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool upper_bound_assign_and_minimize(const Grid& y);
-
-  /*! \brief
     If the upper bound of \p *this and \p y is exact it is assigned to \p
     *this and <CODE>true</CODE> is returned, otherwise
     <CODE>false</CODE> is returned.
@@ -1424,8 +1145,8 @@ public:
   bool upper_bound_assign_if_exact(const Grid& y);
 
   /*! \brief
-    Assigns to \p *this the \ref Grid_Difference "grid-difference" of
-    \p *this and \p y.
+    Assigns to \p *this the \ref Convex_Polyhedral_Difference "grid-difference"
+    of \p *this and \p y.
 
     The grid difference between grids x and y is the smallest grid
     containing all the points from x and y that are only in x.
@@ -1789,6 +1510,86 @@ public:
   */
   void time_elapse_assign(const Grid& y);
 
+  /*! \brief
+    \ref Wrapping_Operator "Wraps" the specified dimensions of the
+    vector space.
+
+    \param vars
+    The set of Variable objects corresponding to the space dimensions
+    to be wrapped.
+
+    \param w
+    The width of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param r
+    The representation of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param o
+    The overflow behavior of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param pcs
+    Possibly null pointer to a constraint system.
+    This argument is for compatibility with wrap_assign()
+    for the other domains and only checked for dimension-compatibility.
+
+    \param complexity_threshold
+    A precision parameter of the \ref Wrapping_Operator "wrapping operator".
+    This argument is for compatibility with wrap_assign()
+    for the other domains and is ignored.
+
+    \param wrap_individually
+    <CODE>true</CODE> if the dimensions should be wrapped individually.
+    As wrapping dimensions collectively does not improve the precision,
+    this argument is ignored.
+
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with one of the
+    Variable objects contained in \p vars or with <CODE>*pcs</CODE>.
+
+    \warning
+    It is assumed that variables in \p Vars represent integers.  Thus,
+    where the extra cost is negligible, the integrality of these
+    variables is enforced; possibly causing a non-integral grid to
+    become empty.
+  */
+  void wrap_assign(const Variables_Set& vars,
+                   Bounded_Integer_Type_Width w,
+                   Bounded_Integer_Type_Representation r,
+                   Bounded_Integer_Type_Overflow o,
+                   const Constraint_System* pcs = 0,
+                   unsigned complexity_threshold = 16,
+                   bool wrap_individually = true);
+
+  /*! \brief
+    Possibly tightens \p *this by dropping all points with non-integer
+    coordinates.
+
+    \param complexity
+    This argument is ignored as the algorithm used has polynomial
+    complexity.
+  */
+   void drop_some_non_integer_points(Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
+
+  /*! \brief
+    Possibly tightens \p *this by dropping all points with non-integer
+    coordinates for the space dimensions corresponding to \p vars.
+
+    \param vars
+    Points with non-integer coordinates for these variables/space-dimensions
+    can be discarded.
+
+    \param complexity
+    This argument is ignored as the algorithm used has polynomial
+    complexity.
+  */
+  void drop_some_non_integer_points(const Variables_Set& vars,
+                                    Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
+
   //! Assigns to \p *this its topological closure.
   void topological_closure_assign();
 
@@ -1865,7 +1666,7 @@ public:
     \ref Grid_Widening_with_Tokens "widening with tokens" delay technique).
 
     \exception std::invalid_argument
-    Thrown if \p *this, \p y and \p cs are dimension-incompatible.
+    Thrown if \p *this, \p y and \p cgs are dimension-incompatible.
   */
   void limited_congruence_extrapolation_assign(const Grid& y,
 					       const Congruence_System& cgs,
@@ -1889,7 +1690,7 @@ public:
     \ref Grid_Widening_with_Tokens "widening with tokens" delay technique).
 
     \exception std::invalid_argument
-    Thrown if \p *this, \p y and \p cs are dimension-incompatible.
+    Thrown if \p *this, \p y and \p cgs are dimension-incompatible.
   */
   void limited_generator_extrapolation_assign(const Grid& y,
 					      const Congruence_System& cgs,
@@ -1912,7 +1713,7 @@ public:
     \ref Grid_Widening_with_Tokens "widening with tokens" delay technique).
 
     \exception std::invalid_argument
-    Thrown if \p *this, \p y and \p cs are dimension-incompatible.
+    Thrown if \p *this, \p y and \p cgs are dimension-incompatible.
   */
   void limited_extrapolation_assign(const Grid& y,
 				    const Congruence_System& cgs,
@@ -1924,7 +1725,8 @@ public:
   //@{
 
   /*! \brief
-    Adds \p m new space dimensions and embeds the old grid in the new
+    \ref Adding_New_Dimensions_to_the_Vector_Space "Adds"
+    \p m new space dimensions and embeds the old grid in the new
     vector space.
 
     \param m
@@ -1951,7 +1753,8 @@ public:
   void add_space_dimensions_and_embed(dimension_type m);
 
   /*! \brief
-    Adds \p m new space dimensions to the grid and does not embed it
+    \ref Adding_New_Dimensions_to_the_Vector_Space "Adds"
+    \p m new space dimensions to the grid and does not embed it
     in the new vector space.
 
     \param m
@@ -1978,7 +1781,7 @@ public:
   void add_space_dimensions_and_project(dimension_type m);
 
   /*! \brief
-    Assigns to \p *this the \ref Grid_Concatenate "concatenation" of
+    Assigns to \p *this the \ref Concatenating_Polyhedra "concatenation" of
     \p *this and \p y, taken in this order.
 
     \exception std::length_error
@@ -1989,19 +1792,20 @@ public:
 
   //! Removes all the specified dimensions from the vector space.
   /*!
-    \param to_be_removed
+    \param vars
     The set of Variable objects corresponding to the space dimensions
     to be removed.
 
     \exception std::invalid_argument
     Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p to_be_removed.
+    Variable objects contained in \p vars.
   */
-  void remove_space_dimensions(const Variables_Set& to_be_removed);
+  void remove_space_dimensions(const Variables_Set& vars);
 
   /*! \brief
     Removes the higher dimensions of the vector space so that the
-    resulting space will have dimension \p new_dimension.
+    resulting space will have \ref Removing_Dimensions_from_the_Vector_Space
+    "dimension \p new_dimension."
 
     \exception std::invalid_argument
     Thrown if \p new_dimensions is greater than the space dimension of
@@ -2011,7 +1815,7 @@ public:
 
   /*! \brief
     Remaps the dimensions of the vector space according to
-    a \ref Grid_Map_Space_Dimensions "partial function".
+    a \ref Mapping_the_Dimensions_of_the_Vector_Space "partial function".
 
     If \p pfunc maps only some of the dimensions of \p *this then the
     rest will be projected away.
@@ -2025,8 +1829,8 @@ public:
     The partial function specifying the destiny of each space
     dimension.
 
-    The template class Partial_Function must provide the following
-    methods.
+    The template type parameter Partial_Function must provide
+    the following methods.
     \code
       bool has_empty_codomain() const
     \endcode
@@ -2054,7 +1858,7 @@ public:
 
     The result is undefined if \p pfunc does not encode a partial
     function with the properties described in the
-    \ref Grid_Map_Space_Dimensions "specification of the mapping operator".
+    \ref Mapping_the_Dimensions_of_the_Vector_Space "specification of the mapping operator".
   */
   template <typename Partial_Function>
   void map_space_dimensions(const Partial_Function& pfunc);
@@ -2078,35 +1882,37 @@ public:
     If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
     and <CODE>var</CODE> has space dimension \f$k \leq n\f$,
     then the \f$k\f$-th space dimension is
-    \ref Grid_Expand_Space_Dimension "expanded" to \p m new space dimensions
+    \ref Expanding_One_Dimension_of_the_Vector_Space_to_Multiple_Dimensions
+    "expanded" to \p m new space dimensions
     \f$n\f$, \f$n+1\f$, \f$\dots\f$, \f$n+m-1\f$.
   */
   void expand_space_dimension(Variable var, dimension_type m);
 
-  //! Folds the space dimensions in \p to_be_folded into \p var.
+  //! Folds the space dimensions in \p vars into \p dest.
   /*!
-    \param to_be_folded
+    \param vars
     The set of Variable objects corresponding to the space dimensions
     to be folded;
 
-    \param var
+    \param dest
     The variable corresponding to the space dimension that is the
     destination of the folding operation.
 
     \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p var or with
-    one of the Variable objects contained in \p to_be_folded.  Also
-    thrown if \p var is contained in \p to_be_folded.
+    Thrown if \p *this is dimension-incompatible with \p dest or with
+    one of the Variable objects contained in \p vars.  Also
+    thrown if \p dest is contained in \p vars.
 
     If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    <CODE>var</CODE> has space dimension \f$k \leq n\f$,
-    \p to_be_folded is a set of variables whose maximum space dimension
-    is also less than or equal to \f$n\f$, and \p var is not a member
-    of \p to_be_folded, then the space dimensions corresponding to
-    variables in \p to_be_folded are \ref Grid_Fold_Space_Dimensions "folded"
+    <CODE>dest</CODE> has space dimension \f$k \leq n\f$,
+    \p vars is a set of variables whose maximum space dimension
+    is also less than or equal to \f$n\f$, and \p dest is not a member
+    of \p vars, then the space dimensions corresponding to
+    variables in \p vars are
+    \ref Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension "folded"
     into the \f$k\f$-th space dimension.
   */
-  void fold_space_dimensions(const Variables_Set& to_be_folded, Variable var);
+  void fold_space_dimensions(const Variables_Set& vars, Variable dest);
 
   //@} // Member Functions that May Modify the Dimension of the Vector Space
 
@@ -2398,11 +2204,60 @@ private:
 	       Generator* point = NULL) const;
 
   /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is not empty and
+    \ref Grid_Frequency "frequency" for \p *this with respect to \p expr
+    is defined, in which case the frequency and the value for \p expr
+    that is closest to zero are computed.
+
+    \param expr
+    The linear expression for which the frequency is needed;
+
+    \param freq_n
+    The numerator of the maximum frequency of \p expr;
+
+    \param freq_d
+    The denominator of the maximum frequency of \p expr;
+
+    \param val_n
+    The numerator of a value of \p expr at a point in the grid
+    that is closest to zero;
+
+    \param val_d
+    The denominator of a value of \p expr at a point in the grid
+    that is closest to zero;
+
+    If \p *this is empty or frequency is undefined with respect to \p expr,
+    then <CODE>false</CODE> is returned and \p freq_n, \p freq_d,
+    \p val_n and \p val_d are left untouched.
+
+    \warning
+    If \p expr and \p *this are dimension-incompatible,
+    the grid generator system is not minimized or \p *this is
+    empty, then the behavior is undefined.
+  */
+  bool frequency_no_check(const Linear_Expression& expr,
+		Coefficient& freq_n, Coefficient& freq_d,
+		Coefficient& val_n, Coefficient& val_d) const;
+
+  //! Checks if and how \p expr is bounded in \p *this.
+  /*!
+    Returns <CODE>true</CODE> if and only if \p from_above is
+    <CODE>true</CODE> and \p expr is bounded from above in \p *this,
+    or \p from_above is <CODE>false</CODE> and \p expr is bounded
+    from below in \p *this.
+
+    \param expr
+    The linear expression to test;
+  */
+  bool bounds_no_check(const Linear_Expression& expr) const;
+
+  /*! \brief
     Adds the congruence \p cg to \p *this.
 
     \warning
     If \p cg and \p *this are dimension-incompatible,
-    the behavior is undefined.
+    the grid generator system is not minimized or \p *this is
+    empty, then the behavior is undefined.
   */
   void add_congruence_no_check(const Congruence& cg);
 
@@ -2754,9 +2609,9 @@ protected:
 					     const char* reason);
 
   void throw_invalid_constraint(const char* method,
-			       const char* c_name) const;
+                                const char* c_name) const;
   void throw_invalid_constraints(const char* method,
-				const char* cs_name) const;
+                                 const char* cs_name) const;
   void throw_invalid_generator(const char* method,
 			       const char* g_name) const;
   void throw_invalid_generators(const char* method,
diff --git a/src/Grid.inlines.hh b/src/Grid.inlines.hh
index 5fc3d53..43b8544 100644
--- a/src/Grid.inlines.hh
+++ b/src/Grid.inlines.hh
@@ -1,5 +1,5 @@
 /* Grid class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -128,7 +128,7 @@ Grid::Grid(dimension_type num_dimensions,
 	       0)
 	    : num_dimensions) {
   construct(num_dimensions, kind);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 inline
@@ -232,12 +232,12 @@ Grid::hash_code() const {
 
 inline Constraint_System
 Grid::constraints() const {
-    return Constraint_System(congruences());;
+  return Constraint_System(congruences());;
 }
 
 inline Constraint_System
 Grid::minimized_constraints() const {
-    return Constraint_System(minimized_congruences());;
+  return Constraint_System(minimized_congruences());;
 }
 
 inline void
@@ -272,12 +272,6 @@ Grid::add_congruences(const Congruence_System& cgs) {
   }
 }
 
-inline bool
-Grid::add_congruences_and_minimize(const Congruence_System& cgs) {
-  Congruence_System cgs_copy = cgs;
-  return add_recycled_congruences_and_minimize(cgs_copy);
-}
-
 inline void
 Grid::refine_with_congruence(const Congruence& cg) {
   add_congruence(cg);
@@ -307,18 +301,6 @@ Grid::add_constraint(const Constraint& c) {
     add_constraint_no_check(c);
 }
 
-inline bool
-Grid::add_constraint_and_minimize(const Constraint& c) {
-  add_constraint(c);
-  return minimize();
-}
-
-inline bool
-Grid::add_constraints_and_minimize(const Constraint_System& cs) {
-  add_constraints(cs);
-  return minimize();
-}
-
 inline void
 Grid::add_recycled_constraints(Constraint_System& cs) {
   // TODO: really recycle the constraints.
@@ -326,12 +308,6 @@ Grid::add_recycled_constraints(Constraint_System& cs) {
 }
 
 inline bool
-Grid::add_recycled_constraints_and_minimize(Constraint_System& cs) {
-  add_constraints(cs);
-  return minimize();
-}
-
-inline bool
 Grid::bounds_from_above(const Linear_Expression& expr) const {
   return bounds(expr, "bounds_from_above(e)");
 }
@@ -388,7 +364,6 @@ Grid::strictly_contains(const Grid& y) const {
 
 inline void
 Grid::topological_closure_assign() {
-  return;
 }
 
 } // namespace Parma_Polyhedra_Library
diff --git a/src/Grid.templates.hh b/src/Grid.templates.hh
index 12196b1..f509fe5 100644
--- a/src/Grid.templates.hh
+++ b/src/Grid.templates.hh
@@ -1,5 +1,5 @@
 /* Grid class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -47,7 +47,7 @@ Grid::Grid(const Box<Interval>& box,
   if (box.is_empty()) {
     // Empty grid.
     set_empty();
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -101,279 +101,7 @@ Grid::Grid(const Box<Interval>& box,
     gen_sys.set_sorted(false);
   }
 
-  assert(OK());
-}
-
-template <typename Box>
-Grid::Grid(const Box& box, From_Covering_Box)
-  : con_sys(),
-    gen_sys() {
-
-  if (box.space_dimension() > max_space_dimension())
-    throw_space_dimension_overflow("Grid(box, from_covering_box)",
-				   "the space dimension of box "
-				   "exceeds the maximum allowed "
-				   "space dimension");
-
-  space_dim = box.space_dimension();
-
-  PPL_DIRTY_TEMP_COEFFICIENT(l_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(l_d);
-
-  // FIXME: consider whether or not covering boxes supporting open
-  // boundaries should be disabled at compile time. If that is not
-  // the case, consider if the test !box.is_topologically_closed()
-  // can replace the whole loop here below.
-
-  // Check that no finite bounds is open. This check must be done before
-  // the empty test below, as an open bound might mean an empty box.
-  for (dimension_type k = space_dim; k-- > 0; ) {
-    bool closed = false;
-    if (box.get_lower_bound(k, closed, l_n, l_d) && !closed)
-      throw_invalid_argument("Grid(box, from_covering_box)", "box");
-    if (box.get_upper_bound(k, closed, l_n, l_d) && !closed)
-      throw_invalid_argument("Grid(box, from_covering_box)", "box");
-  }
-
-  if (box.is_empty()) {
-    // Empty grid.
-    set_empty();
-    assert(OK());
-    return;
-  }
-
-  if (space_dim == 0)
-    set_zero_dim_univ();
-  else {
-    // Initialize the space dimension as indicated by the box.
-    con_sys.increase_space_dimension(space_dim);
-    // Add congruences according to `box'.
-    PPL_DIRTY_TEMP_COEFFICIENT(u_n);
-    PPL_DIRTY_TEMP_COEFFICIENT(u_d);
-    PPL_DIRTY_TEMP_COEFFICIENT(d);
-    gen_sys.insert(grid_point(0*Variable(space_dim-1)));
-    Grid_Generator& point = gen_sys[0];
-    for (dimension_type k = space_dim; k-- > 0; ) {
-      bool closed = false;
-      // TODO: Consider producing the system(s) in minimized form.
-      if (box.get_lower_bound(k, closed, l_n, l_d)) {
-
-	const Coefficient& point_divisor = point.divisor();
-	assert(l_d > 0);
-	assert(point_divisor > 0);
-	// Use `d' to hold the gcd.
-	gcd_assign(d, l_d, point_divisor);
-	// Scale the point to use as divisor the lcm of the existing
-	// point divisor and the divisor of the lower bound.
-	exact_div_assign(d, point_divisor, d);
-	// l_d * d == abs(l_d) * (point_divisor / gcd(l_d, point_divisor))
-	point.scale_to_divisor(l_d * d);
-	// Set dimension k of the point to the lower bound.
-	// point[k + 1] = l_n * (point_divisor / gcd(l_d, point_divisor))
-	point[k + 1] = l_n * d;
-
-	if (box.get_upper_bound(k, closed, u_n, u_d)) {
-	  if (l_n * u_d == u_n * l_d) {
-	    // A point interval allows any point along the dimension
-	    // k axis.
-	    gen_sys.insert(grid_line(Variable(k)));
-	    continue;
-	  }
-	  assert(l_d > 0);
-	  assert(u_d > 0);
-	  gcd_assign(d, l_d, u_d);
-	  // `d' is the gcd of the divisors.
-	  exact_div_assign(l_d, l_d, d);
-	  exact_div_assign(d, u_d, d);
-	  l_n *= d;
-	  // `l_d' is now the smallest integer expression of the size of
-	  // the original l_d relative to u_d.
-	  u_n = (u_n * l_d) - l_n;
-	  // `u_n' is now the distance between u_n and l_n (given a
-	  // divisor of lcm of l_d and u_d.
-	  l_d *= u_d;
-	  // `l_d' is now the lcm of the divisors.
-	  con_sys.insert((l_d * Variable(k) %= l_n) / u_n);
-	  gen_sys.insert(parameter(u_n * Variable(k), l_d));
-	}
-	else
-	  // An interval bounded only from below produces an
-	  // equality.
-	  con_sys.insert(l_d * Variable(k) == l_n);
-      }
-      else
-	if (box.get_upper_bound(k, closed, u_n, u_d)) {
-	  const Coefficient& point_divisor = point.divisor();
-	  assert(u_d > 0);
-	  assert(point_divisor > 0);
-	  // Use `d' to hold the gcd.
-	  gcd_assign(d, u_d, point_divisor);
-	  // Scale the point to use as divisor the lcm of the existing
-	  // point divisor and the divisor of the lower bound.
-	  exact_div_assign(d, point_divisor, d);
-	  // u_d * d == abs(u_d) * (point_divisor / gcd(u_d, point_divisor))
-	  point.scale_to_divisor(u_d * d);
-	  // Set dimension k of the point to the lower bound.
-	  // point[k + 1] = u_n * (point_divisor / gcd(u_d, point_divisor))
-	  point[k + 1] = u_n * d;
-
-	  // An interval bounded only from above produces an equality.
-	  con_sys.insert(u_d * Variable(k) == u_n);
-	}
-	else {
-	  // Any universe interval produces an empty grid.
-	  set_empty();
-	  assert(OK());
-	  return;
-	}
-    }
-    normalize_divisors(gen_sys);
-    set_congruences_up_to_date();
-    set_generators_up_to_date();
-    gen_sys.set_sorted(false);
-    gen_sys.unset_pending_rows();
-  }
-
-  assert(OK());
-}
-
-template <typename Interval>
-void
-Grid::get_covering_box(Box<Interval>& box) const {
-  // Dimension-compatibility check.
-  if (space_dim > box.space_dimension())
-    throw_dimension_incompatible("get_covering_box(box)", "box",
-				 box.space_dimension());
-
-  Box<Interval> new_box(box.space_dimension());
-
-  if (marked_empty()) {
-    box = new_box;
-    box.set_empty();
-    return;
-  }
-  if (space_dim == 0) {
-    return;
-  }
-  if (!generators_are_up_to_date() && !update_generators()) {
-    // Updating found the grid empty.
-    box = new_box;
-    box.set_empty();
-    return;
-  }
-
-  assert(!gen_sys.has_no_rows());
-
-  dimension_type num_dims = gen_sys.num_columns() - 2 /* parameter divisor */;
-  dimension_type num_rows = gen_sys.num_rows();
-
-  PPL_DIRTY_TEMP_COEFFICIENT(gcd);
-  PPL_DIRTY_TEMP_COEFFICIENT(bound);
-
-  if (num_rows > 1) {
-    Row interval_sizes(num_dims, Row::Flags());
-    std::vector<bool> interval_emptiness(num_dims, false);
-
-    // Store in `interval_sizes', for each column (that is, for each
-    // dimension), the GCD of all the values in that column where the
-    // row is of type parameter.
-
-    for (dimension_type dim = num_dims; dim-- > 0; )
-      interval_sizes[dim] = 0;
-    const Grid_Generator *first_point = NULL;
-    for (dimension_type row = 0; row < num_rows; ++row) {
-      Grid_Generator& gen = const_cast<Grid_Generator&>(gen_sys[row]);
-      if (gen.is_line()) {
-	for (dimension_type dim = 0; dim < num_dims; ++dim)
-	  if (!interval_emptiness[dim] && gen[dim+1] != 0) {
-	    // Empty interval, set both bounds for associated
-      	    // dimension to zero.
-            new_box.add_constraint(Variable(dim) == 0);
-	    interval_emptiness[dim] = true;
-	  }
-	continue;
-      }
-      if (gen.is_point()) {
-	if (first_point == NULL) {
-	  first_point = &gen_sys[row];
-	  continue;
-	}
-	const Grid_Generator& point = *first_point;
-	// Convert the point `gen' to a parameter.
-	dimension_type dim = num_dims;
-	do {
-	  gen[dim] -= point[dim];
-	}
-	while (dim-- > 0);
-	gen.set_divisor(point.divisor());
-      }
-      for (dimension_type dim = num_dims; dim-- > 0; )
-	if (!interval_emptiness[dim])
-	  gcd_assign(interval_sizes[dim], interval_sizes[dim], gen[dim+1]);
-    }
-
-    // For each dimension set the lower bound of the interval to the
-    // grid value closest to the origin, and the upper bound to the
-    // addition of the lower bound and the shortest distance in the
-    // given dimension between any two grid points.
-    const Grid_Generator& point = *first_point;
-    const Coefficient& divisor = point.divisor();
-    PPL_DIRTY_TEMP_COEFFICIENT(lower_bound);
-    for (dimension_type dim = num_dims; dim-- > 0; ) {
-      if (interval_emptiness[dim])
-	continue;
-
-      lower_bound = point[dim+1];
-
-      // If the interval size is zero then all points have the same
-      // value in this dimension, so set only the lower bound.
-      if (interval_sizes[dim] != 0) {
-	// Make the lower bound as close as possible to the origin,
-	// leaving the sign the same.
-	lower_bound %= interval_sizes[dim];
-	// Check if the lowest value the other side of the origin is
-	// closer to the origin, preferring the lowest positive if they
-	// are equal.
-	if (lower_bound > 0) {
-	  if (interval_sizes[dim] - lower_bound < lower_bound)
-	    lower_bound -= interval_sizes[dim];
-	}
-	else if (lower_bound < 0
-		 && interval_sizes[dim] + lower_bound < - lower_bound)
-	  lower_bound += interval_sizes[dim];
-
-	// Reduce the bound fraction first.
-	bound = interval_sizes[dim] + lower_bound;
-	gcd_assign(gcd, bound, divisor);
-	exact_div_assign(bound, bound, gcd);
-	exact_div_assign(gcd, divisor, gcd);
-	// `gcd' now holds the reduced divisor.
-        new_box.add_constraint(gcd*Variable(dim) <= bound);
-      }
-
-      // Reduce the bound fraction first.
-      gcd_assign(gcd, lower_bound, divisor);
-      exact_div_assign(lower_bound, lower_bound, gcd);
-      exact_div_assign(gcd, divisor, gcd);
-      // `gcd' now holds the reduced divisor.
-      new_box.add_constraint(gcd*Variable(dim) >= lower_bound);
-    }
-  }
-  else {
-    const Grid_Generator& point = gen_sys[0];
-    const Coefficient& divisor = point.divisor();
-    // The covering box of a single point has only lower bounds.
-    for (dimension_type dim = num_dims; dim-- > 0; ) {
-      // Reduce the bound fraction first.
-      gcd_assign(gcd, point[dim+1], divisor);
-      exact_div_assign(bound, point[dim+1], gcd);
-      exact_div_assign(gcd, divisor, gcd);
-      // `gcd' now holds the reduced divisor.
-      new_box.add_constraint(gcd*Variable(dim) >= bound);
-    }
-  }
-
-  box.swap(new_box);
+  PPL_ASSERT(OK());
 }
 
 template <typename Partial_Function>
@@ -394,7 +122,7 @@ Grid::map_space_dimensions(const Partial_Function& pfunc) {
       // Removing all dimensions from a non-empty grid.
       set_zero_dim_univ();
 
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -462,7 +190,7 @@ Grid::map_space_dimensions(const Partial_Function& pfunc) {
       clear_generators_minimized();
     }
 
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -475,7 +203,7 @@ Grid::map_space_dimensions(const Partial_Function& pfunc) {
     // The grid is empty.
     Grid new_grid(new_space_dimension, EMPTY);
     std::swap(*this, new_grid);
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -496,7 +224,7 @@ Grid::map_space_dimensions(const Partial_Function& pfunc) {
   for (i = old_gensys.begin(); i != old_gensys_end; ++i)
     if (i->is_point())
       break;
-  assert(i != old_gensys_end);
+  PPL_ASSERT(i != old_gensys_end);
   const Coefficient& system_divisor = i->divisor();
   for (i = old_gensys.begin(); i != old_gensys_end; ++i) {
     const Grid_Generator& old_g = *i;
@@ -523,14 +251,14 @@ Grid::map_space_dimensions(const Partial_Function& pfunc) {
       break;
     case Grid_Generator::CLOSURE_POINT:
     default:
-      assert(0);
+      PPL_ASSERT(0);
     }
   }
 
   Grid new_grid(new_gensys);
   std::swap(*this, new_grid);
 
-  assert(OK(true));
+  PPL_ASSERT(OK(true));
 }
 
 // Needed for converting the congruence or grid_generator system
diff --git a/src/Grid.types.hh b/src/Grid.types.hh
index 0811220..127e7a1 100644
--- a/src/Grid.types.hh
+++ b/src/Grid.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Grid_Certificate.cc b/src/Grid_Certificate.cc
index e6f3ebd..d42dfd0 100644
--- a/src/Grid_Certificate.cc
+++ b/src/Grid_Certificate.cc
@@ -1,6 +1,6 @@
 /* Grid_Certificate class implementation
    (non-inline member functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -26,7 +26,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Grid_Certificate.defs.hh"
 
 #include "Grid.defs.hh"
-#include <cassert>
+#include "assert.hh"
 #include <iostream>
 
 namespace PPL = Parma_Polyhedra_Library;
@@ -35,7 +35,7 @@ PPL::Grid_Certificate::Grid_Certificate(const Grid& cgr)
   : num_equalities(0), num_proper_congruences(0) {
   Grid& gr = const_cast<Grid&>(cgr);
   // As in Polyhedron assume that gr contains at least one point.
-  assert(!gr.marked_empty());
+  PPL_ASSERT(!gr.marked_empty());
   if (gr.space_dimension() == 0)
     return;
   // One of the systems must be in minimal form.
@@ -59,7 +59,7 @@ PPL::Grid_Certificate::Grid_Certificate(const Grid& cgr)
 #else
 	bool contains_points = Grid::simplify(gr.con_sys, gr.dim_kinds);
 	used(contains_points);	// Quiet compiler warning.
-	assert(contains_points);
+	PPL_ASSERT(contains_points);
 #endif
 	gr.set_congruences_minimized();
 
@@ -73,7 +73,7 @@ PPL::Grid_Certificate::Grid_Certificate(const Grid& cgr)
       Grid::simplify(gr.gen_sys, gr.dim_kinds);
       // If gen_sys contained rows before being reduced, it should
       // contain at least a single point afterward.
-      assert(!gr.gen_sys.empty());
+      PPL_ASSERT(!gr.gen_sys.empty());
       gr.set_generators_minimized();
     }
     // Calculate number of congruences from generators.
@@ -86,7 +86,7 @@ PPL::Grid_Certificate::Grid_Certificate(const Grid& cgr)
 
 int
 PPL::Grid_Certificate::compare(const Grid_Certificate& y) const {
-  assert(OK() && y.OK());
+  PPL_ASSERT(OK() && y.OK());
   if (num_equalities == y.num_equalities) {
     if (num_proper_congruences == y.num_proper_congruences)
       return 0;
diff --git a/src/Grid_Certificate.defs.hh b/src/Grid_Certificate.defs.hh
index 2b0056e..549dc9e 100644
--- a/src/Grid_Certificate.defs.hh
+++ b/src/Grid_Certificate.defs.hh
@@ -1,5 +1,5 @@
 /* Grid_Certificate class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -27,7 +27,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 #include "Grid.types.hh"
 #include "globals.defs.hh"
-#include <cassert>
+#include "assert.hh"
 #include <vector>
 
 //! The convergence certificate for the Grid widening operator.
diff --git a/src/Grid_Certificate.inlines.hh b/src/Grid_Certificate.inlines.hh
index 176a2b3..d104dae 100644
--- a/src/Grid_Certificate.inlines.hh
+++ b/src/Grid_Certificate.inlines.hh
@@ -1,5 +1,5 @@
 /* Grid_Certificate class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -29,7 +29,7 @@ inline
 Grid_Certificate::Grid_Certificate()
   : num_equalities(0), num_proper_congruences(0) {
   // This is the certificate for a zero-dim universe grid.
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 inline
diff --git a/src/Grid_Certificate.types.hh b/src/Grid_Certificate.types.hh
index 60d6377..3d9345b 100644
--- a/src/Grid_Certificate.types.hh
+++ b/src/Grid_Certificate.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Grid_Generator.cc b/src/Grid_Generator.cc
index f0b55f7..439c471 100644
--- a/src/Grid_Generator.cc
+++ b/src/Grid_Generator.cc
@@ -1,5 +1,5 @@
 /* Grid_Generator class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -118,8 +118,8 @@ PPL::Grid_Generator::coefficient_swap(Grid_Generator& y) {
     set_is_line();
   else
     set_is_ray_or_point();
-  assert(size() > 0);
-  assert(y.size() > 0);
+  PPL_ASSERT(size() > 0);
+  PPL_ASSERT(y.size() > 0);
   dimension_type sz = size() - 1;
   dimension_type y_sz = y.size() - 1;
   // Swap parameter divisors.
@@ -255,7 +255,7 @@ PPL::Grid_Generator::scale_to_divisor(Coefficient_traits::const_reference d) {
     PPL_DIRTY_TEMP_COEFFICIENT(factor);
     exact_div_assign(factor, d, divisor());
     set_divisor(d);
-    assert(factor > 0);
+    PPL_ASSERT(factor > 0);
     if (factor > 1)
       for (dimension_type col = size() - 2; col >= 1; --col)
 	Generator::operator[](col) *= factor;
@@ -266,14 +266,14 @@ const PPL::Grid_Generator* PPL::Grid_Generator::zero_dim_point_p = 0;
 
 void
 PPL::Grid_Generator::initialize() {
-  assert(zero_dim_point_p == 0);
+  PPL_ASSERT(zero_dim_point_p == 0);
   zero_dim_point_p
     = new Grid_Generator(grid_point());
 }
 
 void
 PPL::Grid_Generator::finalize() {
-  assert(zero_dim_point_p != 0);
+  PPL_ASSERT(zero_dim_point_p != 0);
   delete zero_dim_point_p;
   zero_dim_point_p = 0;
 }
diff --git a/src/Grid_Generator.defs.hh b/src/Grid_Generator.defs.hh
index f94c1ab..0f91daa 100644
--- a/src/Grid_Generator.defs.hh
+++ b/src/Grid_Generator.defs.hh
@@ -1,5 +1,5 @@
 /* Grid_Generator class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -260,7 +260,7 @@ public:
 				   Coefficient_traits::const_reference d
 				   = Coefficient_one());
 
-  //! Ordinary copy-constructor.
+  //! Ordinary copy constructor.
   Grid_Generator(const Grid_Generator& g);
 
   //! Destructor.
diff --git a/src/Grid_Generator.inlines.hh b/src/Grid_Generator.inlines.hh
index 5527687..cda7084 100644
--- a/src/Grid_Generator.inlines.hh
+++ b/src/Grid_Generator.inlines.hh
@@ -1,5 +1,5 @@
 /* Grid Generator class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -76,7 +76,7 @@ Grid_Generator::type() const {
     return LINE;
   case Generator::CLOSURE_POINT:
   default:
-    assert(false);
+    PPL_ASSERT(false);
     return POINT;
   }
 }
@@ -108,7 +108,7 @@ Grid_Generator::is_parameter_or_point() const {
 
 inline void
 Grid_Generator::set_divisor(Coefficient_traits::const_reference d) {
-  assert(!is_line());
+  PPL_ASSERT(!is_line());
   if (is_line_or_parameter())
     Generator::operator[](size() - 1) = d;
   else
@@ -178,7 +178,7 @@ Grid_Generator::external_memory_in_bytes() const {
 
 inline const Grid_Generator&
 Grid_Generator::zero_dim_point() {
-  assert(zero_dim_point_p != 0);
+  PPL_ASSERT(zero_dim_point_p != 0);
   return *zero_dim_point_p;
 }
 
diff --git a/src/Grid_Generator.types.hh b/src/Grid_Generator.types.hh
index 1c3b584..c278920 100644
--- a/src/Grid_Generator.types.hh
+++ b/src/Grid_Generator.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Grid_Generator_System.cc b/src/Grid_Generator_System.cc
index 165cbf3..ab39257 100644
--- a/src/Grid_Generator_System.cc
+++ b/src/Grid_Generator_System.cc
@@ -1,5 +1,5 @@
 /* Grid_Generator_System class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -25,7 +25,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Grid_Generator_System.inlines.hh"
 #include "Scalar_Products.defs.hh"
 #include "Variables_Set.defs.hh"
-#include <cassert>
+#include "assert.hh"
 #include <iostream>
 
 namespace PPL = Parma_Polyhedra_Library;
@@ -92,7 +92,7 @@ PPL::Grid_Generator_System::insert(const Grid_Generator& g) {
 	add_zero_columns(g_space_dim - initial_space_dim);
 	// Swap the parameter divisor column into the new last column.
 	swap_columns(g_space_dim + 1, initial_space_dim + 1);
-	assert(OK());
+	PPL_ASSERT(OK());
       }
       return;
     }
@@ -104,7 +104,7 @@ PPL::Grid_Generator_System::insert(const Grid_Generator& g) {
 
     // We are sure that the matrix has no pending rows
     // and that the new row is not a pending generator.
-    assert(num_pending_rows() == 0);
+    PPL_ASSERT(num_pending_rows() == 0);
 
     // TODO: Consider whether, if possible, it would be better to wrap
     //       an NNC Generator, storing the generator divisor in the
@@ -117,16 +117,16 @@ PPL::Grid_Generator_System::insert(const Grid_Generator& g) {
 
     // The added row must be strongly normalized and have the same
     // topology as the system.
-    assert(topology() == g.topology());
+    PPL_ASSERT(topology() == g.topology());
     // This method is only used when the system has no pending rows.
-    assert(num_pending_rows() == 0);
+    PPL_ASSERT(num_pending_rows() == 0);
 
     const dimension_type old_num_rows = num_rows();
     const dimension_type old_num_columns = num_columns();
     const dimension_type g_size = g.size();
 
     // Resize the system, if necessary.
-    assert(is_necessarily_closed());
+    PPL_ASSERT(is_necessarily_closed());
     if (g_size > old_num_columns) {
       add_zero_columns(g_size - old_num_columns);
       if (old_num_rows > 0)
@@ -154,7 +154,7 @@ PPL::Grid_Generator_System::insert(const Grid_Generator& g) {
   set_index_first_pending_row(num_rows());
   set_sorted(false);
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
@@ -167,9 +167,9 @@ PPL::Grid_Generator_System
   Grid_Generator_System& x = *this;
   // `v' is the index of a column corresponding to a "user" variable
   // (i.e., it cannot be the inhomogeneous term).
-  assert(v > 0 && v <= x.space_dimension());
-  assert(expr.space_dimension() <= x.space_dimension());
-  assert(denominator > 0);
+  PPL_ASSERT(v > 0 && v <= x.space_dimension());
+  PPL_ASSERT(expr.space_dimension() <= x.space_dimension());
+  PPL_ASSERT(denominator > 0);
 
   const dimension_type num_columns = x.num_columns();
   const dimension_type num_rows = x.num_rows();
@@ -233,7 +233,7 @@ PPL::Grid_Generator_System::ascii_load(std::istream& s) {
       return false;
 
   // Check invariants.
-  assert(OK());
+  PPL_ASSERT(OK());
 
   return true;
 }
@@ -243,14 +243,14 @@ PPL::Grid_Generator_System::zero_dim_univ_p = 0;
 
 void
 PPL::Grid_Generator_System::initialize() {
-  assert(zero_dim_univ_p == 0);
+  PPL_ASSERT(zero_dim_univ_p == 0);
   zero_dim_univ_p
     = new Grid_Generator_System(Grid_Generator::zero_dim_point());
 }
 
 void
 PPL::Grid_Generator_System::finalize() {
-  assert(zero_dim_univ_p != 0);
+  PPL_ASSERT(zero_dim_univ_p != 0);
   delete zero_dim_univ_p;
   zero_dim_univ_p = 0;
 }
@@ -308,7 +308,7 @@ PPL::IO_Operators::operator<<(std::ostream& s,
 void
 PPL::Grid_Generator_System
 ::add_universe_rows_and_columns(dimension_type dims) {
-  assert(num_columns() > 0);
+  PPL_ASSERT(num_columns() > 0);
   dimension_type col = num_columns() - 1;
   add_zero_rows_and_columns(dims, dims,
 			    Linear_Row::Flags(NECESSARILY_CLOSED,
@@ -324,26 +324,26 @@ PPL::Grid_Generator_System
 
 void
 PPL::Grid_Generator_System
-::remove_space_dimensions(const Variables_Set& to_be_removed) {
+::remove_space_dimensions(const Variables_Set& vars) {
   // Dimension-compatibility assertion.
-  assert(space_dimension() >= to_be_removed.space_dimension());
+  PPL_ASSERT(space_dimension() >= vars.space_dimension());
 
   // The removal of no dimensions from any system is a no-op.  This
   // case also captures the only legal removal of dimensions from a
   // 0-dim system.
-  if (to_be_removed.empty())
+  if (vars.empty())
     return;
 
   // For each variable to be removed, replace the corresponding column
   // by shifting left the columns to the right that will be kept.
-  Variables_Set::const_iterator tbr = to_be_removed.begin();
-  Variables_Set::const_iterator tbr_end = to_be_removed.end();
-  dimension_type dst_col = *tbr+1;
+  Variables_Set::const_iterator vsi = vars.begin();
+  Variables_Set::const_iterator vsi_end = vars.end();
+  dimension_type dst_col = *vsi+1;
   dimension_type src_col = dst_col + 1;
-  for (++tbr; tbr != tbr_end; ++tbr) {
-    const dimension_type tbr_col = *tbr+1;
+  for (++vsi; vsi != vsi_end; ++vsi) {
+    const dimension_type vsi_col = *vsi+1;
     // Move all columns in between to the left.
-    while (src_col < tbr_col)
+    while (src_col < vsi_col)
       Matrix::swap_columns(dst_col++, src_col++);
     ++src_col;
   }
@@ -361,7 +361,7 @@ PPL::Grid_Generator_System
 ::remove_higher_space_dimensions(const dimension_type new_dimension) {
   dimension_type space_dim = space_dimension();
 
-  assert(new_dimension <= space_dim);
+  PPL_ASSERT(new_dimension <= space_dim);
 
   // The removal of no dimensions from any system is a no-op.  Note
   // that this case also captures the only legal removal of dimensions
@@ -373,5 +373,5 @@ PPL::Grid_Generator_System
   // become the last column.
   swap_columns(new_dimension + 1, space_dim + 1);
   Matrix::remove_trailing_columns(space_dim - new_dimension);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
diff --git a/src/Grid_Generator_System.defs.hh b/src/Grid_Generator_System.defs.hh
index 2fa3770..1fe1e4a 100644
--- a/src/Grid_Generator_System.defs.hh
+++ b/src/Grid_Generator_System.defs.hh
@@ -1,5 +1,5 @@
 /* Grid_Generator_System class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -27,6 +27,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Generator_System.defs.hh"
 #include "Grid_Generator.types.hh"
 #include "Variables_Set.types.hh"
+#include "Grid.types.hh"
 #include <iosfwd>
 
 namespace Parma_Polyhedra_Library {
@@ -186,7 +187,7 @@ public:
   //! Builds an empty system of generators of dimension \p dim.
   explicit Grid_Generator_System(dimension_type dim);
 
-  //! Ordinary copy-constructor.
+  //! Ordinary copy constructor.
   Grid_Generator_System(const Grid_Generator_System& gs);
 
   //! Destructor.
@@ -250,16 +251,16 @@ public:
     The following code prints the system of generators
     of the grid <CODE>gr</CODE>:
     \code
-  const Grid_Generator_System& gs = gr.generators();
-  for (Grid_Generator_System::const_iterator i = gs.begin(),
-        gs_end = gs.end(); i != gs_end; ++i)
+  const Grid_Generator_System& ggs = gr.generators();
+  for (Grid_Generator_System::const_iterator i = ggs.begin(),
+        ggs_end = ggs.end(); i != ggs_end; ++i)
     cout << *i << endl;
     \endcode
     The same effect can be obtained more concisely by using
     more features of the STL:
     \code
-  const Generator_System& gs = gr.generators();
-  copy(gs.begin(), gs.end(), ostream_iterator<Grid_Generator>(cout, "\n"));
+  const Grid_Generator_System& ggs = gr.generators();
+  copy(ggs.begin(), ggs.end(), ostream_iterator<Grid_Generator>(cout, "\n"));
     \endcode
   */
   class const_iterator
@@ -273,7 +274,7 @@ public:
     //! Default constructor.
     const_iterator();
 
-    //! Ordinary copy-constructor.
+    //! Ordinary copy constructor.
     const_iterator(const const_iterator& y);
 
     //! Destructor.
@@ -309,7 +310,7 @@ public:
   private:
     friend class Grid_Generator_System;
 
-    //! Copy-constructor from Generator_System::const_iterator.
+    //! Copy constructor from Generator_System::const_iterator.
     const_iterator(const Generator_System::const_iterator& y);
   };
 
@@ -453,10 +454,10 @@ private:
   //! Removes all the specified dimensions from the generator system.
   /*!
     The space dimension of the variable with the highest space
-    dimension in \p to_be_removed must be at most the space dimension
+    dimension in \p vars must be at most the space dimension
     of \p this.
   */
-  void remove_space_dimensions(const Variables_Set& to_be_removed);
+  void remove_space_dimensions(const Variables_Set& vars);
 
   /*! \brief
     Removes the higher dimensions of the system so that the resulting
diff --git a/src/Grid_Generator_System.inlines.hh b/src/Grid_Generator_System.inlines.hh
index 7fa1339..7e3e9fc 100644
--- a/src/Grid_Generator_System.inlines.hh
+++ b/src/Grid_Generator_System.inlines.hh
@@ -1,5 +1,5 @@
 /* Grid_Generator_System class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -114,14 +114,14 @@ Grid_Generator_System::max_space_dimension() {
 
 inline dimension_type
 Grid_Generator_System::space_dimension() const {
-  assert(Generator_System::space_dimension() > 0);
+  PPL_ASSERT(Generator_System::space_dimension() > 0);
   // Grid generators use an extra column for the parameter divisor.
   return Generator_System::space_dimension() - 1;
 }
 
 inline const Grid_Generator_System&
 Grid_Generator_System::zero_dim_univ() {
-  assert(zero_dim_univ_p != 0);
+  PPL_ASSERT(zero_dim_univ_p != 0);
   return *zero_dim_univ_p;
 }
 
diff --git a/src/Grid_Generator_System.types.hh b/src/Grid_Generator_System.types.hh
index 2df385a..6d193a4 100644
--- a/src/Grid_Generator_System.types.hh
+++ b/src/Grid_Generator_System.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Grid_Status.cc b/src/Grid_Status.cc
index 1738fd7..edbdb91 100644
--- a/src/Grid_Status.cc
+++ b/src/Grid_Status.cc
@@ -1,5 +1,5 @@
 /* Grid::Status class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -25,7 +25,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Grid.defs.hh"
 #include <iostream>
 #include <string>
-#include <cassert>
+#include "assert.hh"
 
 namespace PPL = Parma_Polyhedra_Library;
 
@@ -155,7 +155,7 @@ PPL::Grid::Status::ascii_load(std::istream& s) {
     reset_sat_g_up_to_date();
 
   // Check invariants.
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
diff --git a/src/Grid_Status.idefs.hh b/src/Grid_Status.idefs.hh
index ee7dc0c..2df19f4 100644
--- a/src/Grid_Status.idefs.hh
+++ b/src/Grid_Status.idefs.hh
@@ -1,5 +1,5 @@
 /* Grid::Status class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Grid_Status.inlines.hh b/src/Grid_Status.inlines.hh
index 2926e32..7f0988b 100644
--- a/src/Grid_Status.inlines.hh
+++ b/src/Grid_Status.inlines.hh
@@ -1,5 +1,5 @@
 /* Grid::Status class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Grid_chdims.cc b/src/Grid_chdims.cc
index c753e69..70f2e33 100644
--- a/src/Grid_chdims.cc
+++ b/src/Grid_chdims.cc
@@ -1,6 +1,6 @@
 /* Grid class implementation
    (non-inline operators that may change the dimension of the vector space).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -25,7 +25,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 #include "Grid.defs.hh"
 #include "Variables_Set.defs.hh"
-#include <cassert>
+#include "assert.hh"
 
 namespace PPL = Parma_Polyhedra_Library;
 
@@ -34,8 +34,8 @@ void
 PPL::Grid::add_space_dimensions(Congruence_System& cgs,
 				Grid_Generator_System& gs,
 				const dimension_type dims) {
-  assert(cgs.num_columns() - 1 == gs.space_dimension() + 1);
-  assert(dims > 0);
+  PPL_ASSERT(cgs.num_columns() - 1 == gs.space_dimension() + 1);
+  PPL_ASSERT(dims > 0);
 
   const dimension_type old_modulus_index = cgs.num_columns() - 1;
   cgs.add_zero_columns(dims);
@@ -53,8 +53,8 @@ void
 PPL::Grid::add_space_dimensions(Grid_Generator_System& gs,
 				Congruence_System& cgs,
 				const dimension_type dims) {
-  assert(cgs.num_columns() - 1 == gs.space_dimension() + 1);
-  assert(dims > 0);
+  PPL_ASSERT(cgs.num_columns() - 1 == gs.space_dimension() + 1);
+  PPL_ASSERT(dims > 0);
 
   cgs.add_unit_rows_and_columns(dims);
 
@@ -98,7 +98,7 @@ PPL::Grid::add_space_dimensions_and_embed(dimension_type m) {
   // The case of a zero-dimension space grid.
   if (space_dim == 0) {
     // Since it is not empty, it has to be the universe grid.
-    assert(status.test_zero_dim_univ());
+    PPL_ASSERT(status.test_zero_dim_univ());
     // Swap *this with a newly created `m'-dimensional universe grid.
     Grid gr(m, UNIVERSE);
     swap(gr);
@@ -127,7 +127,7 @@ PPL::Grid::add_space_dimensions_and_embed(dimension_type m) {
     }
   else {
     // Only generators are up-to-date, so modify only them.
-    assert(generators_are_up_to_date());
+    PPL_ASSERT(generators_are_up_to_date());
     gen_sys.add_universe_rows_and_columns(m);
     if (generators_are_minimized())
       dim_kinds.resize(gen_sys.space_dimension() + 1, LINE);
@@ -137,7 +137,7 @@ PPL::Grid::add_space_dimensions_and_embed(dimension_type m) {
 
   // Note: we do not check for satisfiability, because the system of
   // congruences may be unsatisfiable.
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 // (o is a point)       y
@@ -169,7 +169,7 @@ PPL::Grid::add_space_dimensions_and_project(dimension_type m) {
   }
 
   if (space_dim == 0) {
-    assert(status.test_zero_dim_univ());
+    PPL_ASSERT(status.test_zero_dim_univ());
     // Swap *this with a newly created `n'-dimensional universe grid.
     Grid gr(m, UNIVERSE);
     swap(gr);
@@ -195,7 +195,7 @@ PPL::Grid::add_space_dimensions_and_project(dimension_type m) {
     }
   else {
     // Only generators are up-to-date so modify only them.
-    assert(generators_are_up_to_date());
+    PPL_ASSERT(generators_are_up_to_date());
 
     // Add m zero columns onto gs.
     gen_sys.insert(parameter(0*Variable(space_dim + m - 1)));
@@ -210,7 +210,7 @@ PPL::Grid::add_space_dimensions_and_project(dimension_type m) {
 
   // Note: we do not check for satisfiability, because the system of
   // congruences may be unsatisfiable.
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
@@ -254,32 +254,32 @@ PPL::Grid::concatenate_assign(const Grid& y) {
 
   // Check that the system is OK, taking into account that the system
   // of congruences may now be empty.
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
-PPL::Grid::remove_space_dimensions(const Variables_Set& to_be_removed) {
+PPL::Grid::remove_space_dimensions(const Variables_Set& vars) {
   // The removal of no dimensions from any grid is a no-op.  This case
   // also captures the only legal removal of dimensions from a grid in
   // a 0-dim space.
-  if (to_be_removed.empty()) {
-    assert(OK());
+  if (vars.empty()) {
+    PPL_ASSERT(OK());
     return;
   }
 
   // Dimension-compatibility check.
-  const dimension_type min_space_dim = to_be_removed.space_dimension();
+  const dimension_type min_space_dim = vars.space_dimension();
   if (space_dim < min_space_dim)
     throw_dimension_incompatible("remove_space_dimensions(vs)", min_space_dim);
 
-  const dimension_type new_space_dim = space_dim - to_be_removed.size();
+  const dimension_type new_space_dim = space_dim - vars.size();
 
   if (marked_empty()
       || (!generators_are_up_to_date() && !update_generators())) {
     // Update the space dimension.
     space_dim = new_space_dim;
     set_empty();
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -290,7 +290,7 @@ PPL::Grid::remove_space_dimensions(const Variables_Set& to_be_removed) {
     return;
   }
 
-  gen_sys.remove_space_dimensions(to_be_removed);
+  gen_sys.remove_space_dimensions(vars);
 
   clear_congruences_up_to_date();
   clear_generators_minimized();
@@ -298,7 +298,7 @@ PPL::Grid::remove_space_dimensions(const Variables_Set& to_be_removed) {
   // Update the space dimension.
   space_dim = new_space_dim;
 
-  assert(OK(true));
+  PPL_ASSERT(OK(true));
 }
 
 void
@@ -312,7 +312,7 @@ PPL::Grid::remove_higher_space_dimensions(const dimension_type new_dimension) {
   // Note that this case also captures the only legal removal of
   // dimensions from a grid in a 0-dim space.
   if (new_dimension == space_dim) {
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -321,7 +321,7 @@ PPL::Grid::remove_higher_space_dimensions(const dimension_type new_dimension) {
     // dimension.
     space_dim = new_dimension;
     set_empty();
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -359,7 +359,7 @@ PPL::Grid::remove_higher_space_dimensions(const dimension_type new_dimension) {
     con_sys.swap(cgs);
   }
   else {
-    assert(congruences_are_minimized());
+    PPL_ASSERT(congruences_are_minimized());
     con_sys.remove_higher_space_dimensions(new_dimension);
     // Count the actual number of rows that are now redundant.
     dimension_type num_redundant = 0;
@@ -387,7 +387,7 @@ PPL::Grid::remove_higher_space_dimensions(const dimension_type new_dimension) {
   // Update the space dimension.
   space_dim = new_dimension;
 
-  assert(OK(true));
+  PPL_ASSERT(OK(true));
 }
 
 void
@@ -437,32 +437,31 @@ PPL::Grid::expand_space_dimension(Variable var, dimension_type m) {
     }
   }
   add_recycled_congruences(new_congruences);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
-PPL::Grid::fold_space_dimensions(const Variables_Set& to_be_folded,
-				 Variable var) {
+PPL::Grid::fold_space_dimensions(const Variables_Set& vars, Variable dest) {
   // TODO: this implementation is _really_ an executable specification.
 
-  // `var' should be one of the dimensions of the grid.
-  if (var.space_dimension() > space_dim)
-    throw_dimension_incompatible("fold_space_dimensions(tbf, v)", "v", var);
+  // `dest' should be one of the dimensions of the grid.
+  if (dest.space_dimension() > space_dim)
+    throw_dimension_incompatible("fold_space_dimensions(vs, v)", "v", dest);
 
   // Folding only has effect if dimensions are given.
-  if (to_be_folded.empty())
+  if (vars.empty())
     return;
 
-  // All variables in `to_be_folded' must be dimensions of the grid.
-  if (to_be_folded.space_dimension() > space_dim)
-    throw_dimension_incompatible("fold_space_dimensions(tbf, v)",
-				 "tbf.space_dimension()",
-				 to_be_folded.space_dimension());
+  // All variables in `vars' must be dimensions of the grid.
+  if (vars.space_dimension() > space_dim)
+    throw_dimension_incompatible("fold_space_dimensions(vs, v)",
+				 "vs.space_dimension()",
+				 vars.space_dimension());
 
-  // Moreover, `var.id()' must not occur in `to_be_folded'.
-  if (to_be_folded.find(var.id()) != to_be_folded.end())
-    throw_invalid_argument("fold_space_dimensions(tbf, v)",
-			   "v should not occur in tbf");
+  // Moreover, `dest.id()' must not occur in `vars'.
+  if (vars.find(dest.id()) != vars.end())
+    throw_invalid_argument("fold_space_dimensions(vs, v)",
+			   "v should not occur in vs");
   // All of the affine images we are going to compute are not invertible,
   // hence we will need to compute the grid generators of the polyhedron.
   // Since we keep taking copies, make sure that a single conversion
@@ -471,13 +470,13 @@ PPL::Grid::fold_space_dimensions(const Variables_Set& to_be_folded,
   // Having grid generators, we now know if the grid is empty:
   // in that case, folding is equivalent to just removing space dimensions.
   if (!marked_empty()) {
-    for (Variables_Set::const_iterator i = to_be_folded.begin(),
-           tbf_end = to_be_folded.end(); i != tbf_end; ++i) {
+    for (Variables_Set::const_iterator i = vars.begin(),
+           vs_end = vars.end(); i != vs_end; ++i) {
       Grid copy = *this;
-      copy.affine_image(var, Linear_Expression(Variable(*i)));
+      copy.affine_image(dest, Linear_Expression(Variable(*i)));
       upper_bound_assign(copy);
     }
   }
-  remove_space_dimensions(to_be_folded);
-  assert(OK());
+  remove_space_dimensions(vars);
+  PPL_ASSERT(OK());
 }
diff --git a/src/Grid_conversion.cc b/src/Grid_conversion.cc
index e1bf72a..25691fa 100644
--- a/src/Grid_conversion.cc
+++ b/src/Grid_conversion.cc
@@ -1,5 +1,5 @@
 /* Grid class implementation: conversion().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -112,7 +112,7 @@ Grid::multiply_grid(const Coefficient& multiplier, Grid_Generator& gen,
     for (dimension_type column = num_dims; column-- > 0; )
       gen[column] *= multiplier;
   else {
-    assert(gen.is_parameter_or_point());
+    PPL_ASSERT(gen.is_parameter_or_point());
     // Multiply every element of every parameter.
     for (dimension_type index = num_rows; index-- > 0; ) {
       Grid_Generator& generator = dest[index];
@@ -139,7 +139,7 @@ Grid::multiply_grid(const Coefficient& multiplier, Congruence& cg,
 	  congruence[column] *= multiplier;
     }
   else {
-    assert(cg.is_equality());
+    PPL_ASSERT(cg.is_equality());
     // Multiply every element of the equality.
     for (dimension_type column = num_dims; column-- > 0; )
       cg[column] *= multiplier;
@@ -156,7 +156,7 @@ Grid::conversion(Grid_Generator_System& source, Congruence_System& dest,
   // Quite similar to the congruence to generator version below.
   // Changes here may be needed there too.
 
-  assert(upper_triangular(source, dim_kinds));
+  PPL_ASSERT(upper_triangular(source, dim_kinds));
 
   // Initialize matrix row number counters and compute the LCM of the
   // diagonal entries of the parameters in `source'.
@@ -185,7 +185,7 @@ Grid::conversion(Grid_Generator_System& source, Congruence_System& dest,
       }
       // Lines map to virtual congruences.
     }
-  assert(source_index == 0);
+  PPL_ASSERT(source_index == 0);
 
   // `source' must be regular.
   if (diagonal_lcm == 0)
@@ -214,7 +214,7 @@ Grid::conversion(Grid_Generator_System& source, Congruence_System& dest,
 	cg[dim] = 1;
       }
       else {
-	assert(dim_kinds[dim] == PARAMETER);
+	PPL_ASSERT(dim_kinds[dim] == PARAMETER);
 	--source_index;
 	cg[dims] = 1;		// A proper congruence.
 	exact_div_assign(cg[dim], diagonal_lcm, source[source_index][dim]);
@@ -223,9 +223,9 @@ Grid::conversion(Grid_Generator_System& source, Congruence_System& dest,
     }
   }
 
-  assert(source_index == 0);
-  assert(dest_index == dest_num_rows);
-  assert(lower_triangular(dest, dim_kinds));
+  PPL_ASSERT(source_index == 0);
+  PPL_ASSERT(dest_index == dest_num_rows);
+  PPL_ASSERT(lower_triangular(dest, dim_kinds));
 
   // Convert.
   //
@@ -282,7 +282,7 @@ Grid::conversion(Grid_Generator_System& source, Congruence_System& dest,
 	// row `dest_index', subtract dest[tmp_source_index][dim]
 	// times the entry `dim' from the entry at `dim_prec'.
 	for (dimension_type row = dest_index; row-- > 0; ) {
-	  assert(row < dest_num_rows);
+	  PPL_ASSERT(row < dest_num_rows);
 	  Congruence& cg = dest[row];
 	  sub_mul_assign(cg[dim_prec], source_dim, cg[dim]);
 	}
@@ -298,7 +298,7 @@ Grid::conversion(Grid_Generator_System& source, Congruence_System& dest,
       cg[dims] = modulus;
   }
 
-  assert(lower_triangular(dest, dim_kinds));
+  PPL_ASSERT(lower_triangular(dest, dim_kinds));
 
   // Since we are reducing the system to "strong minimal form",
   // reduce the coefficients in the congruence system
@@ -316,7 +316,7 @@ Grid::conversion(Congruence_System& source, Grid_Generator_System& dest,
   // Quite similar to the generator to congruence version above.
   // Changes here may be needed there too.
 
-  assert(lower_triangular(source, dim_kinds));
+  PPL_ASSERT(lower_triangular(source, dim_kinds));
 
   // Initialize matrix row number counters and compute the LCM of the
   // diagonal entries of the proper congruences in `source'.
@@ -374,7 +374,7 @@ Grid::conversion(Congruence_System& source, Grid_Generator_System& dest,
 	g[dim] = 1;
       }
       else {
-	assert(dim_kinds[dim] == PROPER_CONGRUENCE);
+	PPL_ASSERT(dim_kinds[dim] == PROPER_CONGRUENCE);
 	g.set_is_parameter_or_point();
 	exact_div_assign(g[dim], diagonal_lcm, source[source_index][dim]);
 	++source_index;
@@ -383,7 +383,7 @@ Grid::conversion(Congruence_System& source, Grid_Generator_System& dest,
     }
   }
 
-  assert(upper_triangular(dest, dim_kinds));
+  PPL_ASSERT(upper_triangular(dest, dim_kinds));
 
   // Convert.
   //
@@ -441,7 +441,7 @@ Grid::conversion(Congruence_System& source, Grid_Generator_System& dest,
 	// row `dest_index', subtract dest[tmp_source_index][dim]
 	// times the entry `dim' from the entry at `dim_fol'.
 	for (dimension_type row = dest_index; row-- > 0; ) {
-	  assert(row < dest_num_rows);
+	  PPL_ASSERT(row < dest_num_rows);
 	  Grid_Generator& g = dest[row];
 	  sub_mul_assign(g[dim_fol], source_dim, g[dim]);
 	}
@@ -449,7 +449,7 @@ Grid::conversion(Congruence_System& source, Grid_Generator_System& dest,
     }
   }
 
-  assert(upper_triangular(dest, dim_kinds));
+  PPL_ASSERT(upper_triangular(dest, dim_kinds));
 
   // Since we are reducing the system to "strong minimal form",
   // reduce the coordinates in the grid_generator system
diff --git a/src/Grid_nonpublic.cc b/src/Grid_nonpublic.cc
index eb2140d..93c64aa 100644
--- a/src/Grid_nonpublic.cc
+++ b/src/Grid_nonpublic.cc
@@ -1,6 +1,6 @@
 /* Grid class implementation
    (non-inline private or protected functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -26,7 +26,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Grid.defs.hh"
 #include "Grid_Generator.defs.hh"
 #include "Scalar_Products.defs.hh"
-#include <cassert>
+#include "assert.hh"
 #include <string>
 #include <iostream>
 #include <sstream>
@@ -64,7 +64,7 @@ PPL::Grid::construct(dimension_type num_dimensions,
     cgs.increase_space_dimension(space_dim);
     const_cast<Congruence_System&>(con_sys).swap(cgs);
 
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -103,12 +103,12 @@ PPL::Grid::construct(dimension_type num_dimensions,
 void
 PPL::Grid::construct(Congruence_System& cgs) {
   // Protecting against space dimension overflow is up to the caller.
-  assert(cgs.space_dimension() <= max_space_dimension());
+  PPL_ASSERT(cgs.space_dimension() <= max_space_dimension());
   // Preparing con_sys and gen_sys is up to the caller.
-  assert(cgs.space_dimension() == con_sys.space_dimension());
-  assert(cgs.space_dimension() == gen_sys.space_dimension());
-  assert(con_sys.has_no_rows());
-  assert(gen_sys.has_no_rows());
+  PPL_ASSERT(cgs.space_dimension() == con_sys.space_dimension());
+  PPL_ASSERT(cgs.space_dimension() == gen_sys.space_dimension());
+  PPL_ASSERT(con_sys.has_no_rows());
+  PPL_ASSERT(gen_sys.has_no_rows());
 
   // Set the space dimension.
   space_dim = cgs.space_dimension();
@@ -130,23 +130,23 @@ PPL::Grid::construct(Congruence_System& cgs) {
 	  // Insert the zero dim false congruence system into `con_sys'.
 	  // `gen_sys' is already in empty form.
 	  con_sys.insert(Congruence::zero_dim_false());
-	  assert(OK());
+	  PPL_ASSERT(OK());
 	  return;
 	}
     set_zero_dim_univ();
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
 PPL::Grid::construct(Grid_Generator_System& ggs) {
   // Protecting against space dimension overflow is up to the caller.
-  assert(ggs.space_dimension() <= max_space_dimension());
+  PPL_ASSERT(ggs.space_dimension() <= max_space_dimension());
   // Preparing con_sys and gen_sys is up to the caller.
-  assert(ggs.space_dimension() == con_sys.space_dimension());
-  assert(ggs.space_dimension() == gen_sys.space_dimension());
-  assert(con_sys.has_no_rows());
-  assert(gen_sys.has_no_rows());
+  PPL_ASSERT(ggs.space_dimension() == con_sys.space_dimension());
+  PPL_ASSERT(ggs.space_dimension() == gen_sys.space_dimension());
+  PPL_ASSERT(con_sys.has_no_rows());
+  PPL_ASSERT(gen_sys.has_no_rows());
 
   // Set the space dimension.
   space_dim = ggs.space_dimension();
@@ -174,14 +174,14 @@ PPL::Grid::construct(Grid_Generator_System& ggs) {
     set_generators_up_to_date();
   }
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 PPL::Grid::Three_Valued_Boolean
 PPL::Grid::quick_equivalence_test(const Grid& y) const {
   // Private method: the caller must ensure the following.
-  assert(space_dim == y.space_dim);
-  assert(!marked_empty() && !y.marked_empty() && space_dim > 0);
+  PPL_ASSERT(space_dim == y.space_dim);
+  PPL_ASSERT(!marked_empty() && !y.marked_empty() && space_dim > 0);
 
   const Grid& x = *this;
 
@@ -236,8 +236,8 @@ PPL::Grid::quick_equivalence_test(const Grid& y) const {
 bool
 PPL::Grid::is_included_in(const Grid& y) const {
   // Private method: the caller must ensure the following.
-  assert(space_dim == y.space_dim);
-  assert(!marked_empty() && !y.marked_empty() && space_dim > 0);
+  PPL_ASSERT(space_dim == y.space_dim);
+  PPL_ASSERT(!marked_empty() && !y.marked_empty() && space_dim > 0);
 
   const Grid& x = *this;
 
@@ -255,8 +255,8 @@ PPL::Grid::is_included_in(const Grid& y) const {
     y.minimize();
 #endif
 
-  assert(x.OK());
-  assert(y.OK());
+  PPL_ASSERT(x.OK());
+  PPL_ASSERT(y.OK());
 
   const Grid_Generator_System& gs = x.gen_sys;
   const Congruence_System& cgs = y.con_sys;
@@ -286,7 +286,16 @@ PPL::Grid::bounds(const Linear_Expression& expr,
     // Minimizing found `this' empty.
     return true;
 
-  // The generators are up to date.
+  return bounds_no_check(expr);
+}
+
+bool
+PPL::Grid::bounds_no_check(const Linear_Expression& expr) const {
+  // The dimension of `expr' must be at most the dimension of *this.
+  PPL_ASSERT(space_dim > 0 && space_dim >= expr.space_dimension());
+  PPL_ASSERT(generators_are_minimized() && !marked_empty());
+
+  // The generators are up to date and minimized.
   for (dimension_type i = gen_sys.num_rows(); i-- > 0; ) {
     const Grid_Generator& g = gen_sys[i];
     // Only lines and parameters in `*this' can cause `expr' to be
@@ -302,6 +311,85 @@ PPL::Grid::bounds(const Linear_Expression& expr,
 }
 
 bool
+PPL::Grid::frequency_no_check(const Linear_Expression& expr,
+                     Coefficient& freq_n, Coefficient& freq_d,
+                     Coefficient& val_n, Coefficient& val_d) const {
+
+  // The dimension of `expr' must be at most the dimension of *this.
+  PPL_ASSERT(space_dim >= expr.space_dimension());
+  PPL_ASSERT(generators_are_minimized() && !marked_empty());
+
+  // The generators are up to date and minimized and the grid is non-empty.
+
+  // If the grid is bounded for the expression `expr',
+  // then `expr' has a constant value and the frequency is 0.
+  if (bounds_no_check(expr)) {
+    freq_n = 0;
+    freq_d = 1;
+    // Find the value of the constant expression.
+    const Grid_Generator& point = gen_sys[0];
+    val_d = point.divisor();
+    Scalar_Products::homogeneous_assign(val_n, expr, point);
+    val_n += expr.inhomogeneous_term() * val_d;
+    // Reduce `val_n' and `val_d'.
+    PPL_DIRTY_TEMP_COEFFICIENT(gcd);
+    gcd_assign(gcd, val_n, val_d);
+    exact_div_assign(val_n, val_n, gcd);
+    exact_div_assign(val_d, val_d, gcd);
+    return true;
+  }
+
+  // The frequency is the gcd of the scalar products of the parameters
+  // in `gen_sys'.
+  dimension_type num_rows = gen_sys.num_rows();
+  PPL_DIRTY_TEMP_COEFFICIENT(sp);
+  freq_n = 0;
+
+  // As the generators are minimized, `gen_sys[0]' is a point
+  // and considered later.
+  for (dimension_type row = 1; row < num_rows; ++row) {
+    const Grid_Generator& gen = gen_sys[row];
+    Scalar_Products::homogeneous_assign(sp, expr, gen);
+    if (gen.is_line()) {
+      if (sgn(sp) != 0)
+          return false;
+      continue;
+    }
+    // `gen' must be a parameter.
+    PPL_ASSERT(gen.is_parameter());
+    if (sgn(sp) != 0)
+    gcd_assign(freq_n, freq_n, sp);
+  }
+  const Grid_Generator& point = gen_sys[0];
+  PPL_ASSERT(point.is_point());
+
+  // The denominator of the frequency and of the value is
+  // the divisor for the generators.
+  freq_d = point.divisor();
+  val_d = freq_d;
+
+  // As point is a grid generator, homogeneous_assign() must be used.
+  Scalar_Products::homogeneous_assign(val_n, expr, point);
+  val_n += expr.inhomogeneous_term() * val_d;
+
+  // Reduce `val_n' by the frequency `freq_n'.
+  val_n %= freq_n;
+
+  PPL_DIRTY_TEMP_COEFFICIENT(gcd);
+  // Reduce `freq_n' and `freq_d'.
+  gcd_assign(gcd, freq_n, freq_d);
+  exact_div_assign(freq_n, freq_n, gcd);
+  exact_div_assign(freq_d, freq_d, gcd);
+
+  // Reduce `val_n' and `val_d'.
+  gcd_assign(gcd, val_n, val_d);
+  exact_div_assign(val_n, val_n, gcd);
+  exact_div_assign(val_d, val_d, gcd);
+
+  return true;
+}
+
+bool
 PPL::Grid::max_min(const Linear_Expression& expr,
 		   const char* method_call,
 		   Coefficient& ext_n, Coefficient& ext_d, bool& included,
@@ -374,10 +462,10 @@ PPL::Grid::set_empty() {
 void
 PPL::Grid::update_congruences() const {
   // The caller must ensure that the generators are up to date.
-  assert(space_dim > 0);
-  assert(!marked_empty());
-  assert(!gen_sys.has_no_rows());
-  assert(gen_sys.space_dimension() > 0);
+  PPL_ASSERT(space_dim > 0);
+  PPL_ASSERT(!marked_empty());
+  PPL_ASSERT(!gen_sys.has_no_rows());
+  PPL_ASSERT(gen_sys.space_dimension() > 0);
 
   Grid& gr = const_cast<Grid&>(*this);
 
@@ -386,7 +474,7 @@ PPL::Grid::update_congruences() const {
 
   // `gen_sys' contained rows before being reduced, so it should
   // contain at least a single point afterward.
-  assert(!gen_sys.has_no_rows());
+  PPL_ASSERT(!gen_sys.has_no_rows());
 
   // Populate `con_sys' with congruences characterizing the grid
   // described by `gen_sys'.
@@ -399,9 +487,9 @@ PPL::Grid::update_congruences() const {
 
 bool
 PPL::Grid::update_generators() const {
-  assert(space_dim > 0);
-  assert(!marked_empty());
-  assert(congruences_are_up_to_date());
+  PPL_ASSERT(space_dim > 0);
+  PPL_ASSERT(!marked_empty());
+  PPL_ASSERT(congruences_are_up_to_date());
 
   Grid& x = const_cast<Grid&>(*this);
 
@@ -451,7 +539,7 @@ PPL::Grid::minimize() const {
 	// Both systems are up to date, and the empty case is handled
 	// above, so the grid should contain points.
 	bool empty = simplify(gr.con_sys, gr.dim_kinds);
-	assert(!empty);
+	PPL_ASSERT(!empty);
 #else
 	simplify(gr.con_sys, gr.dim_kinds);
 #endif
@@ -466,15 +554,15 @@ PPL::Grid::minimize() const {
     else {
       // Updating the generators may reveal that `*this' is empty.
       const bool ret = update_generators();
-      assert(OK());
+      PPL_ASSERT(OK());
       return ret;
     }
   }
   else {
-    assert(generators_are_up_to_date());
+    PPL_ASSERT(generators_are_up_to_date());
     update_congruences();
   }
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
@@ -484,14 +572,14 @@ PPL::Grid::normalize_divisors(Grid_Generator_System& sys,
 #ifndef NDEBUG
   const dimension_type num_rows = gen_sys.num_rows();
 #endif
-  assert(num_rows > 0);
+  PPL_ASSERT(num_rows > 0);
 
   // Find the first point in gen_sys.
   dimension_type row = 0;
   while (gen_sys[row].is_line_or_parameter()) {
     ++row;
     // gen_sys should have at least one point.
-    assert(row < num_rows);
+    PPL_ASSERT(row < num_rows);
   }
   Grid_Generator& first_point = gen_sys[row];
   const Coefficient& gen_sys_divisor = first_point.divisor();
@@ -501,7 +589,7 @@ PPL::Grid::normalize_divisors(Grid_Generator_System& sys,
   for (dimension_type i = row + 1; i < num_rows; ++i) {
     Grid_Generator& g = gen_sys[i];
     if (g.is_parameter_or_point())
-      assert(gen_sys_divisor == g.divisor());
+      PPL_ASSERT(gen_sys_divisor == g.divisor());
   }
 #endif // !defined(NDEBUG)
 
@@ -522,7 +610,7 @@ void
 PPL::Grid::normalize_divisors(Grid_Generator_System& sys,
 			      Coefficient& divisor,
 			      const Grid_Generator* first_point) {
-  assert(divisor >= 0);
+  PPL_ASSERT(divisor >= 0);
   if (sys.space_dimension() > 0 && divisor > 0) {
     dimension_type row = 0;
     dimension_type num_rows = sys.num_rows();
@@ -530,7 +618,7 @@ PPL::Grid::normalize_divisors(Grid_Generator_System& sys,
     if (first_point)
       lcm_assign(divisor, divisor, (*first_point).divisor());
     else {
-      assert(num_rows > 0);
+      PPL_ASSERT(num_rows > 0);
       // Move to the first point or parameter.
       while (sys[row].is_line())
 	if (++row == num_rows)
@@ -556,8 +644,8 @@ PPL::Grid::normalize_divisors(Grid_Generator_System& sys,
 
 void
 PPL::Grid::add_congruence_no_check(const Congruence& cg) {
-  assert(!marked_empty());
-  assert(space_dim >= cg.space_dimension());
+  PPL_ASSERT(!marked_empty());
+  PPL_ASSERT(space_dim >= cg.space_dimension());
 
   // Dealing with a zero-dimensional space grid first.
   if (space_dim == 0) {
@@ -577,13 +665,13 @@ PPL::Grid::add_congruence_no_check(const Congruence& cg) {
 
   // Note: the congruence system may have become unsatisfiable, thus
   // we do not check for satisfiability.
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
 PPL::Grid::add_constraint_no_check(const Constraint& c) {
-  assert(!marked_empty());
-  assert(space_dim >= c.space_dimension());
+  PPL_ASSERT(!marked_empty());
+  PPL_ASSERT(space_dim >= c.space_dimension());
 
   if (c.is_inequality()) {
     // Only trivial inequalities can be handled.
@@ -597,15 +685,15 @@ PPL::Grid::add_constraint_no_check(const Constraint& c) {
     throw_invalid_constraint("add_constraint(c)", "c");
   }
 
-  assert(c.is_equality());
+  PPL_ASSERT(c.is_equality());
   Congruence cg(c);
   add_congruence_no_check(cg);
 }
 
 void
 PPL::Grid::refine_no_check(const Constraint& c) {
-  assert(!marked_empty());
-  assert(space_dim >= c.space_dimension());
+  PPL_ASSERT(!marked_empty());
+  PPL_ASSERT(space_dim >= c.space_dimension());
 
   if (c.is_equality()) {
     Congruence cg(c);
diff --git a/src/Grid_public.cc b/src/Grid_public.cc
index 3b3124b..e85cf9a 100644
--- a/src/Grid_public.cc
+++ b/src/Grid_public.cc
@@ -1,5 +1,5 @@
 /* Grid class implementation (non-inline public functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -25,8 +25,8 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Grid.defs.hh"
 #include "Topology.hh"
 #include "Scalar_Products.defs.hh"
-
-#include <cassert>
+#include "Polyhedron.defs.hh"
+#include "assert.hh"
 #include <iostream>
 
 namespace PPL = Parma_Polyhedra_Library;
@@ -76,11 +76,11 @@ PPL::Grid::Grid(const Constraint_System& cs)
 	// Insert the zero dim false congruence system into `con_sys'.
 	// `gen_sys' is already in empty form.
 	con_sys.insert(Congruence::zero_dim_false());
-	assert(OK());
+	PPL_ASSERT(OK());
 	return;
       }
     set_zero_dim_univ();
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -115,11 +115,11 @@ PPL::Grid::Grid(Constraint_System& cs, Recycle_Input)
 	// Insert the zero dim false congruence system into `con_sys'.
 	// `gen_sys' is already in empty form.
 	con_sys.insert(Congruence::zero_dim_false());
-	assert(OK());
+	PPL_ASSERT(OK());
 	return;
       }
     set_zero_dim_univ();
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -173,7 +173,7 @@ PPL::Grid::Grid(const Polyhedron& ph,
 
   if (use_constraints) {
     // Only the equality constraints need be used.
-    assert(ph.constraints_are_up_to_date());
+    PPL_ASSERT(ph.constraints_are_up_to_date());
     const Constraint_System& cs = ph.constraints();
     Congruence_System cgs;
     cgs.insert(0*Variable(space_dim - 1) %= 1);
@@ -184,10 +184,9 @@ PPL::Grid::Grid(const Polyhedron& ph,
     construct(cgs);
   }
   else {
-    gen_sys = Grid_Generator_System(space_dim);
     // First find a point or closure point and convert it to a
     // grid point and add to the (initially empty) set of grid generators.
-    assert(ph.generators_are_up_to_date());
+    PPL_ASSERT(ph.generators_are_up_to_date());
     const Generator_System& gs = ph.generators();
     Grid_Generator_System ggs(space_dim);
     Linear_Expression point_expr;
@@ -233,7 +232,7 @@ PPL::Grid::Grid(const Polyhedron& ph,
     }
     construct(ggs);
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 PPL::Grid&
@@ -267,7 +266,7 @@ PPL::Grid::affine_dimension() const {
   }
   else
     minimized_congruences();
-  assert(congruences_are_minimized());
+  PPL_ASSERT(congruences_are_minimized());
   dimension_type d = space_dim;
   for (dimension_type i = con_sys.num_rows(); i-- > 0; )
     if (con_sys[i].is_equality())
@@ -282,7 +281,7 @@ PPL::Grid::congruences() const {
 
   if (space_dim == 0) {
     // Zero-dimensional universe.
-    assert(con_sys.num_rows() == 0 && con_sys.num_columns() == 2);
+    PPL_ASSERT(con_sys.num_rows() == 0 && con_sys.num_columns() == 2);
     return con_sys;
   }
 
@@ -308,13 +307,13 @@ PPL::Grid::minimized_congruences() const {
 const PPL::Grid_Generator_System&
 PPL::Grid::grid_generators() const {
   if (space_dim == 0) {
-    assert(gen_sys.space_dimension() == 0
+    PPL_ASSERT(gen_sys.space_dimension() == 0
 	   && gen_sys.num_rows() == (marked_empty() ? 0 : 1));
     return gen_sys;
   }
 
   if (marked_empty()) {
-    assert(gen_sys.has_no_rows());
+    PPL_ASSERT(gen_sys.has_no_rows());
     return gen_sys;
   }
 
@@ -330,13 +329,13 @@ PPL::Grid::grid_generators() const {
 const PPL::Grid_Generator_System&
 PPL::Grid::minimized_grid_generators() const {
   if (space_dim == 0) {
-    assert(gen_sys.space_dimension() == 0
+    PPL_ASSERT(gen_sys.space_dimension() == 0
 	   && gen_sys.num_rows() == (marked_empty() ? 0 : 1));
     return gen_sys;
   }
 
   if (marked_empty()) {
-    assert(gen_sys.has_no_rows());
+    PPL_ASSERT(gen_sys.has_no_rows());
     return gen_sys;
   }
 
@@ -506,7 +505,7 @@ PPL::Grid::relation_with(const Congruence& cg) const {
       return Poly_Con_Relation::is_included();
   }
 
-  assert(!known_to_intersect);
+  PPL_ASSERT(!known_to_intersect);
   return Poly_Con_Relation::is_disjoint();
 }
 
@@ -723,7 +722,7 @@ PPL::Grid::is_universe() const {
   for (dimension_type i = space_dim; i-- > 0; )
     if (!con_sys.satisfies_all_congruences(grid_line(Variable(i) + var)))
       return false;
-  assert(con_sys.satisfies_all_congruences(grid_point(0*var)));
+  PPL_ASSERT(con_sys.satisfies_all_congruences(grid_point(0*var)));
   return true;
 }
 
@@ -992,17 +991,22 @@ PPL::Grid::OK(bool check_not_empty) const {
 
 	// Check that dim_kinds corresponds to the row kinds in gen_sys.
 	for (dimension_type dim = space_dim,
-	       row = gen_sys.num_rows(); dim > 0; assert(row <= dim), --dim) {
-	  if (dim_kinds[dim] == GEN_VIRTUAL
-	      || (gen_sys[--row].is_parameter_or_point()
-		  && dim_kinds[dim] == PARAMETER)
-	      || (assert(gen_sys[row].is_line()), dim_kinds[dim] == LINE))
-	    continue;
+	       row = gen_sys.num_rows(); dim > 0; --dim) {
+	  if (dim_kinds[dim] == GEN_VIRTUAL)
+	    goto ok;
+	  if (gen_sys[--row].is_parameter_or_point()
+	      && dim_kinds[dim] == PARAMETER)
+	    goto ok;
+	  PPL_ASSERT(gen_sys[row].is_line());
+	  if (dim_kinds[dim] == LINE)
+	    goto ok;
 #ifndef NDEBUG
 	  cerr << "Kinds in dim_kinds should match those in gen_sys."
 	       << endl;
 #endif
 	  goto fail;
+	ok:
+	  PPL_ASSERT(row <= dim);
 	}
 
 	// A reduced generator system must be the same as a temporary
@@ -1010,11 +1014,11 @@ PPL::Grid::OK(bool check_not_empty) const {
 	Dimension_Kinds dk = dim_kinds;
 	// `gs' is minimized and marked_empty returned false, so `gs'
 	// should contain rows.
-	assert(!gs.has_no_rows());
+	PPL_ASSERT(!gs.has_no_rows());
 	simplify(gs, dk);
 	// gs contained rows before being reduced, so it should
 	// contain at least a single point afterward.
-	assert(!gs.has_no_rows());
+	PPL_ASSERT(!gs.has_no_rows());
 	for (dimension_type row = gen_sys.num_rows(); row-- > 0; ) {
 	  Grid_Generator& g = gs[row];
 	  const Grid_Generator& g_copy = gen_sys[row];
@@ -1095,11 +1099,13 @@ PPL::Grid::OK(bool check_not_empty) const {
 
       // Check that dim_kinds corresponds to the row kinds in con_sys.
       for (dimension_type dim = space_dim, row = 0; dim > 0; --dim) {
-	if (dim_kinds[dim] == CON_VIRTUAL
-	    || (con_sys[row++].is_proper_congruence()
-		&& dim_kinds[dim] == PROPER_CONGRUENCE)
-	    || (assert(con_sys[row-1].is_equality()),
-		dim_kinds[dim] == EQUALITY))
+	if (dim_kinds[dim] == CON_VIRTUAL)
+	    continue;
+	if (con_sys[row++].is_proper_congruence()
+	    && dim_kinds[dim] == PROPER_CONGRUENCE)
+	  continue;
+	PPL_ASSERT(con_sys[row-1].is_equality());
+	if (dim_kinds[dim] == EQUALITY)
 	  continue;
 #ifndef NDEBUG
 	cerr << "Kinds in dim_kinds should match those in con_sys." << endl;
@@ -1119,12 +1125,6 @@ PPL::Grid::OK(bool check_not_empty) const {
   return false;
 }
 
-bool
-PPL::Grid::add_congruence_and_minimize(const Congruence& cg) {
-  Congruence_System cgs(cg);
-  return add_recycled_congruences_and_minimize(cgs);
-}
-
 void
 PPL::Grid::add_constraints(const Constraint_System& cs) {
   // The dimension of `cs' must be at most `space_dim'.
@@ -1157,7 +1157,7 @@ PPL::Grid::add_grid_generator(const Grid_Generator& g) {
 	throw_invalid_generator("add_grid_generator(g)", "g");
       set_zero_dim_univ();
     }
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -1171,7 +1171,7 @@ PPL::Grid::add_grid_generator(const Grid_Generator& g) {
     clear_empty();
   }
   else {
-    assert(generators_are_up_to_date());
+    PPL_ASSERT(generators_are_up_to_date());
     gen_sys.insert(g);
     if (g.is_parameter_or_point())
       normalize_divisors(gen_sys);
@@ -1182,13 +1182,7 @@ PPL::Grid::add_grid_generator(const Grid_Generator& g) {
 
   clear_generators_minimized();
   set_generators_up_to_date();
-  assert(OK());
-}
-
-bool
-PPL::Grid::add_grid_generator_and_minimize(const Grid_Generator& g) {
-  Grid_Generator_System gs(g);
-  return add_recycled_grid_generators_and_minimize(gs);
+  PPL_ASSERT(OK());
 }
 
 void
@@ -1228,52 +1222,7 @@ PPL::Grid::add_recycled_congruences(Congruence_System& cgs) {
   clear_generators_up_to_date();
   // Note: the congruence system may have become unsatisfiable, thus
   // we do not check for satisfiability.
-  assert(OK());
-}
-
-bool
-PPL::Grid::add_recycled_congruences_and_minimize(Congruence_System& cgs) {
-  // Dimension-compatibility check.
-  const dimension_type cgs_space_dim = cgs.space_dimension();
-  if (space_dim < cgs_space_dim)
-    throw_dimension_incompatible("add_recycled_congruences_and_minimize(cgs)",
-				 "cgs", cgs);
-
-  // Adding no congruences: just minimize.
-  if (cgs.has_no_rows())
-    return minimize();
-
-  // Dealing with zero-dimensional space grids first.
-  if (space_dim == 0) {
-    // In a 0-dimensional space the congruences are trivial (e.g., 0
-    // == 0 or 1 %= 0) or false (e.g., 1 == 0).  In a system of
-    // congruences `begin()' and `end()' are equal if and only if the
-    // system contains only trivial congruences.
-    if (cgs.begin() == cgs.end())
-      return true;
-    // There is a congruence, it must be false, the grid is empty.
-    if (status.test_zero_dim_univ())
-      set_empty();
-    return false;
-  }
-
-  if (marked_empty())
-    return false;
-
-  if (!congruences_are_up_to_date())
-    update_congruences();
-
-  con_sys.recycling_insert(cgs);
-
-  clear_congruences_minimized();
-
-#ifndef NDEBUG
-  bool ret = update_generators();
-  assert(OK());
-  return ret;
-#else
-  return update_generators();
-#endif
+  PPL_ASSERT(OK());
 }
 
 void
@@ -1292,9 +1241,10 @@ PPL::Grid::add_recycled_grid_generators(Grid_Generator_System& gs) {
   if (space_dim == 0) {
     if (marked_empty())
       set_zero_dim_univ();
-    else
-      assert(gs.has_points());
-    assert(OK(true));
+    else {
+      PPL_ASSERT(gs.has_points());
+    }
+    PPL_ASSERT(OK(true));
     return;
   }
 
@@ -1311,7 +1261,7 @@ PPL::Grid::add_recycled_grid_generators(Grid_Generator_System& gs) {
     clear_congruences_up_to_date();
     clear_generators_minimized();
 
-    assert(OK(true));
+    PPL_ASSERT(OK(true));
     return;
   }
 
@@ -1332,7 +1282,7 @@ PPL::Grid::add_recycled_grid_generators(Grid_Generator_System& gs) {
   set_generators_up_to_date();
   clear_empty();
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
@@ -1342,68 +1292,6 @@ PPL::Grid::add_grid_generators(const Grid_Generator_System& gs) {
   add_recycled_grid_generators(gs_copy);
 }
 
-bool
-PPL::Grid
-::add_recycled_grid_generators_and_minimize(Grid_Generator_System& gs) {
-  // Dimension-compatibility check: the dimension of `gs' must be less
-  // than or equal to that of space_dim.
-  const dimension_type gs_space_dim = gs.space_dimension();
-  if (space_dim < gs_space_dim)
-    throw_dimension_incompatible("add_recycled_generators_and_minimize(gs)",
-				 "gs", gs);
-
-  // Adding no generators is equivalent to just requiring reduction.
-  if (gs.has_no_rows())
-    return minimize();
-
-  // Adding valid generators to a zero-dimensional grid produces the
-  // zero-dimensional universe grid.
-  if (space_dim == 0) {
-    if (marked_empty())
-      set_zero_dim_univ();
-    else
-      assert(gs.has_points());
-    assert(OK(true));
-    return true;
-  }
-
-  // Adjust `gs' to the right dimension.
-  gs.insert(parameter(0*Variable(space_dim-1)));
-
-  if (!marked_empty()) {
-    // The grid contains at least one point.
-
-    if (!generators_are_up_to_date())
-      update_generators();
-    normalize_divisors(gs, gen_sys);
-
-    for (dimension_type row = 0,
-	   gs_num_rows = gs.num_rows(); row < gs_num_rows; ++row)
-      gen_sys.recycling_insert(gs[row]);
-  }
-  else {
-    // The grid is empty: check if `gs' contains a point.
-    if (!gs.has_points())
-      throw_invalid_generators("add_recycled_generators_and_minimize(gs)",
-			       "gs");
-    std::swap(gen_sys, gs);
-    normalize_divisors(gen_sys);
-    clear_empty();
-  }
-  clear_generators_minimized();
-  update_congruences();
-
-  assert(OK(true));
-  return true;
-}
-
-bool
-PPL::Grid::add_grid_generators_and_minimize(const Grid_Generator_System& gs) {
-  // TODO: this is just an executable specification.
-  Grid_Generator_System gs_copy = gs;
-  return add_recycled_grid_generators_and_minimize(gs_copy);
-}
-
 void
 PPL::Grid::refine_with_constraint(const Constraint& c) {
   // The dimension of `c' must be at most `space_dim'.
@@ -1437,25 +1325,25 @@ PPL::Grid::unconstrain(const Variable var) {
     // Empty: do nothing.
     return;
 
-  assert(generators_are_up_to_date());
+  PPL_ASSERT(generators_are_up_to_date());
   Grid_Generator l = grid_line(var);
   gen_sys.recycling_insert(l);
   // With the added generator, congruences are out of date.
   clear_congruences_up_to_date();
   clear_generators_minimized();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
-PPL::Grid::unconstrain(const Variables_Set& to_be_unconstrained) {
+PPL::Grid::unconstrain(const Variables_Set& vars) {
   // The cylindrification wrt no dimensions is a no-op.
   // This case also captures the only legal cylindrification
   // of a grid in a 0-dim space.
-  if (to_be_unconstrained.empty())
+  if (vars.empty())
     return;
 
   // Dimension-compatibility check.
-  const dimension_type min_space_dim = to_be_unconstrained.space_dimension();
+  const dimension_type min_space_dim = vars.space_dimension();
   if (space_dim < min_space_dim)
     throw_dimension_incompatible("unconstrain(vs)", min_space_dim);
 
@@ -1465,18 +1353,18 @@ PPL::Grid::unconstrain(const Variables_Set& to_be_unconstrained) {
     // Empty: do nothing.
     return;
 
-  assert(generators_are_up_to_date());
+  PPL_ASSERT(generators_are_up_to_date());
   // Since `gen_sys' is not empty, the space dimension of the inserted
   // generators are automatically adjusted.
-  for (Variables_Set::const_iterator tbu = to_be_unconstrained.begin(),
-         tbu_end = to_be_unconstrained.end(); tbu != tbu_end; ++tbu) {
-    Grid_Generator l = grid_line(Variable(*tbu));
+  for (Variables_Set::const_iterator vsi = vars.begin(),
+         vsi_end = vars.end(); vsi != vsi_end; ++vsi) {
+    Grid_Generator l = grid_line(Variable(*vsi));
     gen_sys.recycling_insert(l);
   }
   // Constraints are no longer up-to-date.
   clear_generators_minimized();
   clear_congruences_up_to_date();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
@@ -1513,13 +1401,7 @@ PPL::Grid::intersection_assign(const Grid& y) {
     x.clear_congruences_minimized();
   }
 
-  assert(x.OK() && y.OK());
-}
-
-bool
-PPL::Grid::intersection_assign_and_minimize(const Grid& y) {
-  intersection_assign(y);
-  return minimize();
+  PPL_ASSERT(x.OK() && y.OK());
 }
 
 void
@@ -1562,13 +1444,7 @@ PPL::Grid::upper_bound_assign(const Grid& y) {
   x.clear_generators_minimized();
 
   // At this point both `x' and `y' are not empty.
-  assert(x.OK(true) && y.OK(true));
-}
-
-bool
-PPL::Grid::upper_bound_assign_and_minimize(const Grid& y) {
-  upper_bound_assign(y);
-  return minimize();
+  PPL_ASSERT(x.OK(true) && y.OK(true));
 }
 
 bool
@@ -1590,7 +1466,7 @@ PPL::Grid::upper_bound_assign_if_exact(const Grid& y) {
 
   // The above test 'x.is_included_in(y)' will ensure the generators of x
   // are up to date.
-  assert(generators_are_up_to_date());
+  PPL_ASSERT(generators_are_up_to_date());
 
   Grid x_copy = x;
   x_copy.upper_bound_assign(y);
@@ -1668,7 +1544,7 @@ PPL::Grid::difference_assign(const Grid& y) {
 
   *this = new_grid;
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 namespace {
@@ -1698,7 +1574,7 @@ PPL::Grid::simplify_using_context_assign(const Grid& y) {
   if (x.space_dim == 0) {
     if (y.is_empty()) {
       set_zero_dim_univ();
-      assert(OK());
+      PPL_ASSERT(OK());
       return false;
     }
     else
@@ -1715,7 +1591,7 @@ PPL::Grid::simplify_using_context_assign(const Grid& y) {
   // If `x' is empty, the intersection is empty.
   if (!x.minimize()) {
     // Search for a congruence of `y' that is not a tautology.
-    assert(y.congruences_are_up_to_date());
+    PPL_ASSERT(y.congruences_are_up_to_date());
     Grid gr(x.space_dim, UNIVERSE);
     for (dimension_type i = y.con_sys.num_rows(); i-- > 0; ) {
       const Congruence& y_con_sys_i = y.con_sys[i];
@@ -1734,8 +1610,8 @@ PPL::Grid::simplify_using_context_assign(const Grid& y) {
 	    gr.refine_no_check(le == 1);
 	  else {
 	    Linear_Expression le2;
-	    for (dimension_type i = le.space_dimension(); i-- > 0; )
-	      le2 += 2 * le.coefficient(Variable(i)) * Variable(i);
+	    for (dimension_type j = le.space_dimension(); j-- > 0; )
+	      le2 += 2 * le.coefficient(Variable(j)) * Variable(j);
 	    le2 += 2 * le.inhomogeneous_term();
 	    gr.refine_no_check(le2 == y_modulus_i);
 	  }
@@ -1744,11 +1620,11 @@ PPL::Grid::simplify_using_context_assign(const Grid& y) {
       }
     }
     swap(gr);
-    assert(OK());
+    PPL_ASSERT(OK());
     return false;
   }
 
-  assert(x.congruences_are_minimized()
+  PPL_ASSERT(x.congruences_are_minimized()
          && y.generators_are_minimized());
 
   const Congruence_System& x_cs = x.con_sys;
@@ -1860,19 +1736,19 @@ PPL::Grid::simplify_using_context_assign(const Grid& y) {
 	Grid result_gr(x.space_dim, UNIVERSE);
 	result_gr.add_congruences(result_cs);
 	x.swap(result_gr);
-	assert(x.OK());
-	return (!empty_intersection);
+	PPL_ASSERT(x.OK());
+	return !empty_intersection;
       }
     }
       // Cannot exit from here.
-    assert(false);
+    PPL_ASSERT(false);
   }
 
   // All the congruences are redundant so that the simplified grid
   // is the universe.
   Grid result_gr(x.space_dim, UNIVERSE);
   x.swap(result_gr);
-  assert(x.OK());
+  PPL_ASSERT(x.OK());
   return true;
 }
 
@@ -1953,7 +1829,7 @@ PPL::Grid::affine_image(const Variable var,
       normalize_divisors(gen_sys);
     }
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
@@ -2027,7 +1903,7 @@ affine_preimage(const Variable var,
     clear_generators_up_to_date();
     clear_congruences_minimized();
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
@@ -2077,11 +1953,11 @@ generalized_affine_image(const Variable var,
 
     add_grid_generator(grid_line(var));
 
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
-  assert(relsym == EQUAL);
+  PPL_ASSERT(relsym == EQUAL);
 
   affine_image(var, expr, denominator);
 
@@ -2108,10 +1984,11 @@ generalized_affine_image(const Variable var,
   clear_generators_minimized();
   clear_congruences_up_to_date();
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
-void PPL::Grid::
+void
+PPL::Grid::
 generalized_affine_preimage(const Variable var,
 			    const Relation_Symbol relsym,
 			    const Linear_Expression& expr,
@@ -2151,11 +2028,11 @@ generalized_affine_preimage(const Variable var,
 
     add_grid_generator(grid_line(var));
 
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
-  assert(relsym == EQUAL);
+  PPL_ASSERT(relsym == EQUAL);
   // Any image of an empty grid is empty.
   if (marked_empty())
     return;
@@ -2200,7 +2077,7 @@ generalized_affine_preimage(const Variable var,
   if (is_empty())
     return;
   add_grid_generator(grid_line(var));
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
@@ -2246,11 +2123,11 @@ generalized_affine_image(const Linear_Expression& lhs,
       if (lhs.coefficient(Variable(i)) != 0)
 	add_grid_generator(grid_line(Variable(i)));
 
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
-  assert(relsym == EQUAL);
+  PPL_ASSERT(relsym == EQUAL);
 
   PPL_DIRTY_TEMP_COEFFICIENT(tmp_modulus);
   tmp_modulus = modulus;
@@ -2334,10 +2211,11 @@ generalized_affine_image(const Linear_Expression& lhs,
     add_congruence_no_check((lhs %= rhs) / tmp_modulus);
   }
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
-void PPL::Grid::
+void
+PPL::Grid::
 generalized_affine_preimage(const Linear_Expression& lhs,
 			    const Relation_Symbol relsym,
 			    const Linear_Expression& rhs,
@@ -2377,11 +2255,11 @@ generalized_affine_preimage(const Linear_Expression& lhs,
       if (lhs.coefficient(Variable(i)) != 0)
 	add_grid_generator(grid_line(Variable(i)));
 
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
-  assert(relsym == EQUAL);
+  PPL_ASSERT(relsym == EQUAL);
 
   PPL_DIRTY_TEMP_COEFFICIENT(tmp_modulus);
   tmp_modulus = modulus;
@@ -2464,7 +2342,7 @@ generalized_affine_preimage(const Linear_Expression& lhs,
     // Existentially quantify all the variables occurring in `lhs'.
     add_recycled_grid_generators(new_lines);
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
@@ -2506,7 +2384,7 @@ bounded_affine_image(const Variable var,
 			   ub_expr,
 			   denominator);
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 
@@ -2549,7 +2427,7 @@ bounded_affine_preimage(const Variable var,
 			      ub_expr,
 			      denominator);
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
@@ -2601,7 +2479,33 @@ PPL::Grid::time_elapse_assign(const Grid& y) {
   x.clear_congruences_up_to_date();
   x.clear_generators_minimized();
 
-  assert(x.OK(true) && y.OK(true));
+  PPL_ASSERT(x.OK(true) && y.OK(true));
+}
+
+bool
+PPL::Grid::frequency(const Linear_Expression& expr,
+                     Coefficient& freq_n, Coefficient& freq_d,
+                     Coefficient& val_n, Coefficient& val_d) const {
+  // The dimension of `expr' must be at most the dimension of *this.
+  if (space_dim < expr.space_dimension())
+    throw_dimension_incompatible("frequency(e, ...)", "e", expr);
+
+  // Space dimension = 0: if empty, then return false;
+  // otherwise the frequency is 1 and the value is 0
+  if (space_dim == 0) {
+    if (is_empty())
+      return false;
+    freq_n = 0;
+    freq_d = 1;
+    val_n = 0;
+    val_d = 1;
+    return true;
+  }
+  if (!generators_are_minimized() && !minimize())
+    // Minimizing found `this' empty.
+    return false;
+
+  return frequency_no_check(expr, freq_n, freq_d, val_n, val_d);
 }
 
 /*! \relates Parma_Polyhedra_Library::Grid */
@@ -2757,7 +2661,7 @@ PPL::Grid::ascii_load(std::istream& s) {
   }
 
   // Check invariants.
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
@@ -2768,6 +2672,225 @@ PPL::Grid::external_memory_in_bytes() const {
     + gen_sys.external_memory_in_bytes();
 }
 
+void
+PPL::Grid::wrap_assign(const Variables_Set& vars,
+                       Bounded_Integer_Type_Width w,
+                       Bounded_Integer_Type_Representation r,
+                       Bounded_Integer_Type_Overflow o,
+                       const Constraint_System* pcs,
+                       unsigned /* complexity_threshold */,
+                       bool /* wrap_individually */) {
+
+  // Dimension-compatibility check of `*pcs', if any.
+  if (pcs != 0) {
+   const dimension_type pcs_space_dim  = pcs->space_dimension();
+   if (pcs->space_dimension() > space_dim)
+     throw_dimension_incompatible("wrap_assign(vs, ...)", pcs_space_dim);
+  }
+
+  // Wrapping no variable is a no-op.
+  if (vars.empty())
+    return;
+
+  // Dimension-compatibility check of `vars'.
+  const dimension_type min_space_dim = vars.space_dimension();
+  if (space_dim < min_space_dim)
+    throw_dimension_incompatible("wrap_assign(vs, ...)", min_space_dim);
+
+  // Wrapping an empty grid is a no-op.
+  if (marked_empty())
+    return;
+  if (!generators_are_minimized() && !minimize())
+    // Minimizing found `this' empty.
+    return;
+
+  // Set the wrap frequency for variables of width `w'.
+  // This is independent of the signedness `s'.
+  PPL_DIRTY_TEMP_COEFFICIENT(wrap_frequency);
+  mul_2exp_assign(wrap_frequency, Coefficient_one(), w);
+  // Set `min_value' and `max_value' to the minimum and maximum values
+  // a variable of width `w' and signedness `s' can take.
+  PPL_DIRTY_TEMP_COEFFICIENT(min_value);
+  PPL_DIRTY_TEMP_COEFFICIENT(max_value);
+  if (r == UNSIGNED) {
+    min_value = 0;
+    mul_2exp_assign(max_value, Coefficient_one(), w);
+    --max_value;
+  }
+  else {
+    PPL_ASSERT(r == SIGNED_2_COMPLEMENT);
+    mul_2exp_assign(max_value, Coefficient_one(), w-1);
+    neg_assign(min_value, max_value);
+    --max_value;
+  }
+
+  // Generators are up-to-date and minimized.
+  const Grid gr = *this;
+
+  // Overflow is impossible or wraps.
+  if (o == OVERFLOW_IMPOSSIBLE || o == OVERFLOW_WRAPS) {
+    PPL_DIRTY_TEMP_COEFFICIENT(f_n);
+    PPL_DIRTY_TEMP_COEFFICIENT(f_d);
+    PPL_DIRTY_TEMP_COEFFICIENT(v_n);
+    PPL_DIRTY_TEMP_COEFFICIENT(v_d);
+    for (Variables_Set::const_iterator i = vars.begin(),
+           vars_end = vars.end(); i != vars.end(); ++i) {
+      const Variable x = Variable(*i);
+      // Find the frequency and a value for `x' in `gr'.
+      if (!gr.frequency_no_check(x, f_n, f_d, v_n, v_d))
+        continue;
+      if (f_n == 0) {
+
+        // `x' is a constant in `gr'.
+        if (v_d != 1) {
+          // The value for `x' is not integral (`frequency_no_check()'
+          // ensures that `v_n' and `v_d' have no common divisors).
+          set_empty();
+          return;
+        }
+
+        // `x' is a constant and has an integral value.
+        if ((v_n > max_value) || (v_n < min_value)) {
+          // The value is outside the range of the bounded integer type.
+          if (o == OVERFLOW_IMPOSSIBLE) {
+            // Then `x' has no possible value and hence set empty.
+            set_empty();
+            return;
+          }
+          PPL_ASSERT(o == OVERFLOW_WRAPS);
+          // The value v_n for `x' is wrapped modulo the 'wrap_frequency'.
+          v_n %= wrap_frequency;
+          // `v_n' is the value closest to 0 and may be negative.
+          if (r == UNSIGNED && v_n < 0)
+            v_n += wrap_frequency;
+          unconstrain(x);
+          add_constraint(x == v_n);
+        }
+        continue;
+      }
+
+      // `x' is not a constant in `gr'.
+      PPL_ASSERT(f_n != 0);
+
+      if (f_d % v_d != 0) {
+        // Then `x' has no integral value and hence `gr' is set empty.
+        set_empty();
+        return;
+      }
+      if (f_d != 1) {
+        // `x' has non-integral values, so add the integrality
+        // congruence for `x'.
+        add_congruence((x %= 0) / 1);
+      }
+      if (o == OVERFLOW_WRAPS && f_n != wrap_frequency)
+        // We know that `x' is not a constant, so, if overflow wraps,
+        // `x' may wrap to a value modulo the `wrap_frequency'.
+        add_grid_generator(parameter(wrap_frequency * x));
+      else if ((o == OVERFLOW_IMPOSSIBLE && 2*f_n >= wrap_frequency)
+               || (f_n == wrap_frequency)) {
+        // In these cases, `x' can only take a unique (ie constant)
+        // value.
+        if (r == UNSIGNED && v_n < 0) {
+          // `v_n' is the value closest to 0 and may be negative.
+          v_n += f_n;
+        }
+        unconstrain(x);
+        add_constraint(x == v_n);
+      }
+      else {
+        // If overflow is impossible but the grid frequency is less than
+        // half the wrap frequency, then there is more than one possible
+        // value for `x' in the range of the bounded integer type,
+        // so the grid is unchanged.
+        PPL_ASSERT(o == OVERFLOW_IMPOSSIBLE && 2*f_n < wrap_frequency);
+      }
+    }
+    return;
+  }
+
+  PPL_ASSERT(o == OVERFLOW_UNDEFINED);
+  // If overflow is undefined, then all we know is that the variable
+  // may take any integer within the range of the bounded integer type.
+  const Grid_Generator& point = gr.gen_sys[0];
+  const Coefficient& div = point.divisor();
+  max_value *= div;
+  min_value *= div;
+  for (Variables_Set::const_iterator i = vars.begin(),
+         vars_end = vars.end(); i != vars.end(); ++i) {
+    const Variable x = Variable(*i);
+    if (!gr.bounds_no_check(x)) {
+      // `x' is not a constant in `gr'.
+      // We know that `x' is not a constant, so `x' may wrap to any
+      // value `x + z' where z is an integer.
+      if (point.coefficient(x) % div != 0) {
+        // We know that `x' can take non-integral values, so enforce
+        // integrality.
+        unconstrain(x);
+        add_congruence(x %= 0);
+      }
+      else
+        // `x' has at least one integral value.
+        // `x' may also take other non-integral values,
+        // but checking could be costly so we ignore this.
+        add_grid_generator(parameter(x));
+    }
+    else {
+      // `x' is a constant `v' in `gr'.
+      const Coefficient& coeff_x = point.coefficient(x);
+      // `x' should be integral.
+      if (coeff_x % div != 0) {
+        set_empty();
+        return;
+      }
+      // If the value `v' for `x' is not within the range for the
+      // bounded integer type, then `x' may wrap to any value `v + z'
+      // where `z' is an integer; otherwise `x' is unchanged.
+      if (coeff_x > max_value || coeff_x < min_value) {
+        add_grid_generator(parameter(x));
+      }
+    }
+  }
+}
+
+void
+PPL::Grid::drop_some_non_integer_points(Complexity_Class) {
+  if (marked_empty() || space_dim == 0)
+    return;
+
+  // By adding integral congruences for each dimension to the
+  // congruence system, defining \p *this, the grid will keep only
+  // those points that have integral coordinates. All points in \p
+  // *this with non-integral coordinates are removed.
+  for (dimension_type i = space_dim; i-- > 0; )
+    add_congruence(Variable(i) %= 0);
+
+  PPL_ASSERT(OK());
+}
+
+void
+PPL::Grid::drop_some_non_integer_points(const Variables_Set& vars,
+                                        Complexity_Class) {
+  // Dimension-compatibility check.
+  const dimension_type min_space_dim = vars.space_dimension();
+  if (space_dimension() < min_space_dim)
+    throw_dimension_incompatible("drop_some_non_integer_points(vs, cmpl)",
+                                 min_space_dim);
+
+  if (marked_empty() || min_space_dim == 0)
+    return;
+
+  // By adding the integral congruences for each dimension in vars to
+  // the congruence system defining \p *this, the grid will keep only
+  // those points that have integer coordinates for all the dimensions
+  // in vars. All points in \p *this with non-integral coordinates for
+  // the dimensions in vars are removed.
+  for (Variables_Set::const_iterator i = vars.begin(),
+         vars_end = vars.end(); i != vars.end(); ++i)
+    add_congruence(Variable(*i) %= 0);
+
+  PPL_ASSERT(OK());
+}
+
 /*! \relates Parma_Polyhedra_Library::Grid */
 std::ostream&
 PPL::IO_Operators::operator<<(std::ostream& s, const Grid& gr) {
diff --git a/src/Grid_simplify.cc b/src/Grid_simplify.cc
index d55c203..6fbd293 100644
--- a/src/Grid_simplify.cc
+++ b/src/Grid_simplify.cc
@@ -1,5 +1,5 @@
 /* Grid class implementation: simplify().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -21,7 +21,7 @@ For the most up-to-date information see the Parma Polyhedra Library
 site: http://www.cs.unipr.it/ppl/ . */
 
 #include <ppl-config.h>
-#include <cassert>
+#include "assert.hh"
 
 #include "Grid.defs.hh"
 
@@ -58,7 +58,7 @@ Grid::reduce_equality_with_equality(Congruence& row,
 				    const Congruence& pivot,
 				    const dimension_type column) {
   // Assume two equalities.
-  assert(row.modulus() == 0 && pivot.modulus() == 0);
+  PPL_ASSERT(row.modulus() == 0 && pivot.modulus() == 0);
 
   const Coefficient& pivot_column = pivot[column];
   Coefficient& row_column = row[column];
@@ -106,8 +106,8 @@ Grid::reduce_pc_with_pc(R& row, R& pivot,
   // then add to it a (possibly negative) multiple of row such that
   // the result in pivot[column] is the smallest possible positive
   // integer.
-  assert(pivot.size() > 0);
-  assert(row.size() > 0);
+  PPL_ASSERT(pivot.size() > 0);
+  PPL_ASSERT(row.size() > 0);
   row_column = 0;
   PPL_DIRTY_TEMP_COEFFICIENT(old_pivot_col);
   for (dimension_type col = start; col < end; ++col) {
@@ -184,7 +184,7 @@ Grid::reduce_congruence_with_equality(Congruence& row,
 				      Congruence_System& sys) {
   // Very similar to reduce_parameter_with_line above.  Any change
   // here may be needed there too.
-  assert(row.modulus() > 0 && pivot.modulus() == 0);
+  PPL_ASSERT(row.modulus() > 0 && pivot.modulus() == 0);
 
   const Coefficient& pivot_column = pivot[column];
   Coefficient& row_column = row[column];
@@ -248,9 +248,9 @@ Grid::rows_are_zero(M& system, dimension_type first,
 
 void
 Grid::simplify(Grid_Generator_System& sys, Dimension_Kinds& dim_kinds) {
-  assert(!sys.has_no_rows());
+  PPL_ASSERT(!sys.has_no_rows());
   // For reduce_pc_with_pc.
-  assert(sys.num_columns() > 0);
+  PPL_ASSERT(sys.num_columns() > 0);
 
   // Changes here may also be required in the congruence version
   // below.
@@ -299,17 +299,17 @@ Grid::simplify(Grid_Generator_System& sys, Dimension_Kinds& dim_kinds) {
 	  if (pivot_is_line)
 	    reduce_line_with_line(row, pivot, dim);
 	  else {
-	    assert(pivot.is_parameter_or_point());
+	    PPL_ASSERT(pivot.is_parameter_or_point());
 	    std::swap(row, pivot);
 	    pivot_is_line = true;
 	    reduce_parameter_with_line(row, pivot, dim, sys);
 	  }
 	else {
-	  assert(row.is_parameter_or_point());
+	  PPL_ASSERT(row.is_parameter_or_point());
 	  if (pivot_is_line)
 	    reduce_parameter_with_line(row, pivot, dim, sys);
 	  else {
-	    assert(pivot.is_parameter_or_point());
+	    PPL_ASSERT(pivot.is_parameter_or_point());
 	    reduce_pc_with_pc(row, pivot, dim, dim + 1, num_columns);
 	  }
 	}
@@ -318,7 +318,7 @@ Grid::simplify(Grid_Generator_System& sys, Dimension_Kinds& dim_kinds) {
       if (pivot_is_line)
 	dim_kinds[dim] = LINE;
       else {
-	assert(pivot.is_parameter_or_point());
+	PPL_ASSERT(pivot.is_parameter_or_point());
 	dim_kinds[dim] = PARAMETER;
       }
 
@@ -346,7 +346,7 @@ Grid::simplify(Grid_Generator_System& sys, Dimension_Kinds& dim_kinds) {
        sys.num_rows() - 1,
        // row size
        sys.num_columns() - 1);
-    assert(ret == true);
+    PPL_ASSERT(ret == true);
 #endif
     sys.erase_to_end(pivot_index);
   }
@@ -368,12 +368,12 @@ Grid::simplify(Grid_Generator_System& sys, Dimension_Kinds& dim_kinds) {
       break;
     }
 
-  assert(sys.OK());
+  PPL_ASSERT(sys.OK());
 }
 
 bool
 Grid::simplify(Congruence_System& sys, Dimension_Kinds& dim_kinds) {
-  assert(sys.num_columns() > 2);
+  PPL_ASSERT(sys.num_columns() > 2);
 
   // Changes here may also be required in the generator version above.
 
@@ -426,17 +426,17 @@ Grid::simplify(Congruence_System& sys, Dimension_Kinds& dim_kinds) {
 	  if (pivot_is_equality)
 	    reduce_equality_with_equality(row, pivot, dim);
 	  else {
-	    assert(pivot.is_proper_congruence());
+	    PPL_ASSERT(pivot.is_proper_congruence());
 	    std::swap(row, pivot);
 	    pivot_is_equality = true;
 	    reduce_congruence_with_equality(row, pivot, dim, sys);
 	  }
 	else {
-	  assert(row.is_proper_congruence());
+	  PPL_ASSERT(row.is_proper_congruence());
 	  if (pivot_is_equality)
 	    reduce_congruence_with_equality(row, pivot, dim, sys);
 	  else {
-	    assert(pivot.is_proper_congruence());
+	    PPL_ASSERT(pivot.is_proper_congruence());
 	    reduce_pc_with_pc(row, pivot, dim, 0, dim);
 	  }
 	}
@@ -445,7 +445,7 @@ Grid::simplify(Congruence_System& sys, Dimension_Kinds& dim_kinds) {
       if (pivot_is_equality)
 	dim_kinds[dim] = EQUALITY;
       else {
-	assert(pivot.is_proper_congruence());
+	PPL_ASSERT(pivot.is_proper_congruence());
 	dim_kinds[dim] = PROPER_CONGRUENCE;
       }
 
@@ -486,7 +486,7 @@ Grid::simplify(Congruence_System& sys, Dimension_Kinds& dim_kinds) {
       std::swap(sys.rows[0], sys.rows.back());
       sys.erase_to_end(1);
 
-      assert(sys.OK());
+      PPL_ASSERT(sys.OK());
       return true;
     }
   }
@@ -504,7 +504,7 @@ Grid::simplify(Congruence_System& sys, Dimension_Kinds& dim_kinds) {
       cg[num_columns] = 1;
       cg[0] = 1;
 
-      assert(sys.OK());
+      PPL_ASSERT(sys.OK());
       return false;
     }
     sys[0][num_columns] = 1;
@@ -524,12 +524,12 @@ Grid::simplify(Congruence_System& sys, Dimension_Kinds& dim_kinds) {
        num_rows - 1,
        // row size
        num_columns);
-    assert(ret == true);
+    PPL_ASSERT(ret == true);
 #endif
     sys.erase_to_end(reduced_num_rows);
   }
 
-  assert(sys.num_rows() == reduced_num_rows);
+  PPL_ASSERT(sys.num_rows() == reduced_num_rows);
 
   // Ensure that the last row is the integrality congruence.
   const dimension_type mod_index = num_columns;
@@ -565,7 +565,7 @@ Grid::simplify(Congruence_System& sys, Dimension_Kinds& dim_kinds) {
   reduce_reduced<Congruence_System, Congruence>
     (sys, 0, reduced_num_rows - 1, 0, 0, dim_kinds, false);
 
-  assert(sys.OK());
+  PPL_ASSERT(sys.OK());
   return false;
 }
 
diff --git a/src/Grid_widenings.cc b/src/Grid_widenings.cc
index 2af88b8..8c54bff 100644
--- a/src/Grid_widenings.cc
+++ b/src/Grid_widenings.cc
@@ -1,6 +1,6 @@
 /* Grid class implementation
    (non-inline widening-related member functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -25,7 +25,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 #include "Grid.defs.hh"
 
-#include <cassert>
+#include "assert.hh"
 #include <iostream>
 
 namespace PPL = Parma_Polyhedra_Library;
@@ -35,17 +35,17 @@ PPL::Grid::select_wider_congruences(const Grid& y,
 				    Congruence_System& cgs_selected) const {
   // Private method: the caller must ensure the following conditions
   // (beside the inclusion `y <= x').
-  assert(space_dim == y.space_dim);
-  assert(!marked_empty());
-  assert(!y.marked_empty());
-  assert(congruences_are_minimized());
-  assert(y.congruences_are_minimized());
+  PPL_ASSERT(space_dim == y.space_dim);
+  PPL_ASSERT(!marked_empty());
+  PPL_ASSERT(!y.marked_empty());
+  PPL_ASSERT(congruences_are_minimized());
+  PPL_ASSERT(y.congruences_are_minimized());
 
   // Note: row counters start at 0, to preserve the original order in
   // the selected congruences.
   for (dimension_type dim = con_sys.space_dimension(), x_row = 0, y_row = 0;
        dim > 0; --dim) {
-    assert(dim_kinds[dim] == CON_VIRTUAL
+    PPL_ASSERT(dim_kinds[dim] == CON_VIRTUAL
 	   || dim_kinds[dim] == y.dim_kinds[dim]);
     switch (dim_kinds[dim]) {
     case PROPER_CONGRUENCE:
@@ -86,7 +86,7 @@ PPL::Grid::congruence_widening_assign(const Grid& const_y, unsigned* tp) {
     // Assume y is contained in or equal to x.
     const Grid x_copy = x;
     const Grid y_copy = y;
-    assert(x_copy.contains(y_copy));
+    PPL_ASSERT(x_copy.contains(y_copy));
   }
 #endif
 
@@ -152,7 +152,7 @@ PPL::Grid::congruence_widening_assign(const Grid& const_y, unsigned* tp) {
     // No tokens.
     std::swap(x, result);
 
-  assert(x.OK(true));
+  PPL_ASSERT(x.OK(true));
 }
 
 void
@@ -183,7 +183,7 @@ PPL::Grid::limited_congruence_extrapolation_assign(const Grid& y,
     // Assume that y is contained in or equal to x.
     const Grid x_copy = x;
     const Grid y_copy = y;
-    assert(x_copy.contains(y_copy));
+    PPL_ASSERT(x_copy.contains(y_copy));
   }
 #endif
 
@@ -222,7 +222,7 @@ PPL::Grid::limited_congruence_extrapolation_assign(const Grid& y,
     // There are tokens, so widening will leave the grid the same.
     x.congruence_widening_assign(y, tp);
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
@@ -230,17 +230,17 @@ PPL::Grid::select_wider_generators(const Grid& y,
 				   Grid_Generator_System& ggs_selected) const {
   // Private method: the caller must ensure the following conditions
   // (beside the inclusion `y <= x').
-  assert(space_dim == y.space_dim);
-  assert(!marked_empty());
-  assert(!y.marked_empty());
-  assert(generators_are_minimized());
-  assert(y.generators_are_minimized());
+  PPL_ASSERT(space_dim == y.space_dim);
+  PPL_ASSERT(!marked_empty());
+  PPL_ASSERT(!y.marked_empty());
+  PPL_ASSERT(generators_are_minimized());
+  PPL_ASSERT(y.generators_are_minimized());
 
   // Note: row counters start at 0, to preserve the original order in
   // the selected generators.
   for (dimension_type dim = 0, x_row = 0, y_row = 0;
        dim <= gen_sys.space_dimension(); ++dim) {
-    assert(dim_kinds[dim] == LINE
+    PPL_ASSERT(dim_kinds[dim] == LINE
            || y.dim_kinds[dim] == GEN_VIRTUAL
 	   || dim_kinds[dim] == y.dim_kinds[dim]);
     switch (dim_kinds[dim]) {
@@ -288,7 +288,7 @@ PPL::Grid::generator_widening_assign(const Grid& const_y, unsigned* tp) {
     // Assume y is contained in or equal to x.
     const Grid x_copy = x;
     const Grid y_copy = y;
-    assert(x_copy.contains(y_copy));
+    PPL_ASSERT(x_copy.contains(y_copy));
   }
 #endif
 
@@ -300,7 +300,7 @@ PPL::Grid::generator_widening_assign(const Grid& const_y, unsigned* tp) {
   if (x.generators_are_up_to_date()) {
     if (!x.generators_are_minimized()) {
       simplify(x.gen_sys, x.dim_kinds);
-      assert(!x.gen_sys.has_no_rows());
+      PPL_ASSERT(!x.gen_sys.has_no_rows());
       x.set_generators_minimized();
     }
   }
@@ -314,7 +314,7 @@ PPL::Grid::generator_widening_assign(const Grid& const_y, unsigned* tp) {
   if (y.generators_are_up_to_date()) {
     if (!y.generators_are_minimized()) {
       simplify(y.gen_sys, y.dim_kinds);
-      assert(!y.gen_sys.has_no_rows());
+      PPL_ASSERT(!y.gen_sys.has_no_rows());
       y.set_generators_minimized();
     }
   }
@@ -354,7 +354,7 @@ PPL::Grid::generator_widening_assign(const Grid& const_y, unsigned* tp) {
     // No tokens.
     std::swap(x, result);
 
-  assert(x.OK(true));
+  PPL_ASSERT(x.OK(true));
 }
 
 void
@@ -385,7 +385,7 @@ PPL::Grid::limited_generator_extrapolation_assign(const Grid& y,
     // Assume that y is contained in or equal to x.
     const Grid x_copy = x;
     const Grid y_copy = y;
-    assert(x_copy.contains(y_copy));
+    PPL_ASSERT(x_copy.contains(y_copy));
   }
 #endif
 
@@ -424,7 +424,7 @@ PPL::Grid::limited_generator_extrapolation_assign(const Grid& y,
     // There are tokens, so widening will leave the grid the same.
     x.generator_widening_assign(y, tp);
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
@@ -442,7 +442,7 @@ PPL::Grid::widening_assign(const Grid& const_y, unsigned* tp) {
     // Assume y is contained in or equal to x.
     const Grid x_copy = x;
     const Grid y_copy = y;
-    assert(x_copy.contains(y_copy));
+    PPL_ASSERT(x_copy.contains(y_copy));
   }
 #endif
 
@@ -491,7 +491,7 @@ PPL::Grid::limited_extrapolation_assign(const Grid& y,
     // Assume that y is contained in or equal to x.
     const Grid x_copy = x;
     const Grid y_copy = y;
-    assert(x_copy.contains(y_copy));
+    PPL_ASSERT(x_copy.contains(y_copy));
   }
 #endif
 
@@ -530,5 +530,5 @@ PPL::Grid::limited_extrapolation_assign(const Grid& y,
     // There are tokens, so widening will leave the grid the same.
     x.widening_assign(y, tp);
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
diff --git a/src/H79_Certificate.cc b/src/H79_Certificate.cc
index 25bae6e..6f33566 100644
--- a/src/H79_Certificate.cc
+++ b/src/H79_Certificate.cc
@@ -1,6 +1,6 @@
 /* H79_Certificate class implementation
    (non-inline member functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -26,7 +26,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "H79_Certificate.defs.hh"
 
 #include "Polyhedron.defs.hh"
-#include <cassert>
+#include "assert.hh"
 #include <iostream>
 
 namespace PPL = Parma_Polyhedra_Library;
@@ -42,7 +42,7 @@ PPL::H79_Certificate::H79_Certificate(const Polyhedron& ph)
   affine_dim = space_dim;
   const Constraint_System& cs = ph.minimized_constraints();
   // It is assumed that `ph' is not an empty polyhedron.
-  assert(!ph.marked_empty());
+  PPL_ASSERT(!ph.marked_empty());
   for (Constraint_System::const_iterator i = cs.begin(),
 	 cs_end = cs.end(); i != cs_end; ++i) {
     ++num_constraints;
@@ -84,7 +84,7 @@ PPL::H79_Certificate::compare(const Polyhedron& ph) const {
   const Constraint_System& cs = ph.minimized_constraints();
   // It is assumed that `ph' is a polyhedron containing the
   // polyhedron described by `*this': hence, it cannot be empty.
-  assert(!ph.marked_empty());
+  PPL_ASSERT(!ph.marked_empty());
   for (Constraint_System::const_iterator i = cs.begin(),
 	 cs_end = cs.end(); i != cs_end; ++i) {
     ++ph_num_constraints;
@@ -106,7 +106,7 @@ PPL::H79_Certificate::compare(const Polyhedron& ph) const {
     return 1;
 
   // At this point the two polyhedra must have the same affine dimension.
-  assert(ph_affine_dim == affine_dim);
+  PPL_ASSERT(ph_affine_dim == affine_dim);
 
   // If the number of constraints of `ph' is decreasing, then the chain
   // is stabilizing. If it is increasing, the chain is not stabilizing.
diff --git a/src/H79_Certificate.defs.hh b/src/H79_Certificate.defs.hh
index 64dbddd..a1fdc17 100644
--- a/src/H79_Certificate.defs.hh
+++ b/src/H79_Certificate.defs.hh
@@ -1,5 +1,5 @@
 /* H79_Certificate class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -26,7 +26,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "H79_Certificate.types.hh"
 #include "Polyhedron.types.hh"
 #include "globals.types.hh"
-#include <cassert>
+#include "assert.hh"
 #include <vector>
 
 //! A convergence certificate for the H79 widening operator.
diff --git a/src/H79_Certificate.inlines.hh b/src/H79_Certificate.inlines.hh
index 80d79da..b0dbc5e 100644
--- a/src/H79_Certificate.inlines.hh
+++ b/src/H79_Certificate.inlines.hh
@@ -1,5 +1,5 @@
 /* H79_Certificate class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/H79_Certificate.types.hh b/src/H79_Certificate.types.hh
index bb71475..196ffda 100644
--- a/src/H79_Certificate.types.hh
+++ b/src/H79_Certificate.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Has_Assign_Or_Swap.hh b/src/Has_Assign_Or_Swap.hh
index 9c972a7..4b9e42d 100644
--- a/src/Has_Assign_Or_Swap.hh
+++ b/src/Has_Assign_Or_Swap.hh
@@ -1,5 +1,5 @@
 /* Has_Assign_Or_Swap classes declarations.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Init.cc b/src/Init.cc
index 35fb4f4..f61d630 100644
--- a/src/Init.cc
+++ b/src/Init.cc
@@ -1,5 +1,5 @@
 /* Init class implementation (non-inline functions and static variables).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -38,6 +38,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Congruence_System.defs.hh"
 #include "Grid_Generator_System.defs.hh"
 #include "Polyhedron.defs.hh"
+#include <stdexcept>
 
 namespace PPL = Parma_Polyhedra_Library;
 
@@ -57,6 +58,81 @@ ppl_set_GMP_memory_allocation_functions(void) {
   ;
 #endif
 
+#if PPL_CAN_CONTROL_FPU \
+  && defined(PPL_ARM_CAN_CONTROL_FPU) && PPL_ARM_CAN_CONTROL_FPU
+
+namespace {
+
+     float  nf1 =  -3, pf1 = 3,  f2 =  5;
+     double nd1 =  -7, pd1 = 7,  d2 = 11;
+long double nl1 = -13, pl1 = 13, l2 = 17;
+
+      float nf[2], pf[2];
+     double nd[2], pd[2];
+long double nl[2], pl[2];
+
+int
+ppl_check_function() {
+  int r = 0;
+  if (nf[0] == nf[1] || pf[0] == pf[1] || -nf[0] != pf[1] || -nf[1] != pf[0])
+    r |= 1;
+  if (nd[0] == nd[1] || pd[0] == pd[1] || -nd[0] != pd[1] || -nd[1] != pd[0])
+    r |= 2;
+  if (nl[0] == nl[1] || pl[0] == pl[1] || -nl[0] != pl[1] || -nl[1] != pl[0])
+    r |= 4;
+  return r;
+}
+
+int
+ppl_setround_function(int rounding_mode) {
+  return fesetround(rounding_mode);
+}
+
+} // namespace
+
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+int (* volatile ppl_check_function_p)() = ppl_check_function;
+int (* volatile ppl_setround_function_p)(int) = ppl_setround_function;
+
+} // Implementation
+
+} // Parma_Polyhedra_Library
+
+namespace {
+
+int
+ppl_test_rounding() {
+  if ((*ppl_setround_function_p)(FE_DOWNWARD) != 0)
+    return 255;
+
+  nf[0] = nf1 / f2;
+  nd[0] = nd1 / d2;
+  nl[0] = nl1 / l2;
+  pf[0] = pf1 / f2;
+  pd[0] = pd1 / d2;
+  pl[0] = pl1 / l2;
+
+  if ((*ppl_setround_function_p)(FE_UPWARD) != 0)
+    return 255;
+
+  nf[1] = nf1 / f2;
+  nd[1] = nd1 / d2;
+  nl[1] = nl1 / l2;
+  pf[1] = pf1 / f2;
+  pd[1] = pd1 / d2;
+  pl[1] = pl1 / l2;
+
+  return (*ppl_check_function_p)();
+}
+
+} // namespace
+
+#endif // PPL_CAN_CONTROL_FPU 
+       // && defined(PPL_ARM_CAN_CONTROL_FPU) && PPL_ARM_CAN_CONTROL_FPU
+
 PPL::Init::Init() {
   // Only when the first Init object is constructed...
   if (count++ == 0) {
@@ -80,15 +156,26 @@ PPL::Init::Init() {
     Congruence_System::initialize();
     Grid_Generator_System::initialize();
     Polyhedron::initialize();
+
 #if PPL_CAN_CONTROL_FPU
+
     // ... and the FPU rounding direction is set.
     fpu_initialize_control_functions();
     old_rounding_direction = fpu_get_rounding_direction();
     fpu_set_rounding_direction(round_fpu_dir(ROUND_DIRECT));
-#endif
+
+#if defined(PPL_ARM_CAN_CONTROL_FPU) && PPL_ARM_CAN_CONTROL_FPU
+    if (ppl_test_rounding() != 0)
+      throw std::logic_error("PPL configuration error:"
+                             " PPL_ARM_CAN_CONTROL_FPU evaluates to true,"
+                             " but rounding does not work.");
+#endif // defined(PPL_ARM_CAN_CONTROL_FPU) && PPL_ARM_CAN_CONTROL_FPU
+
+#endif // PPL_CAN_CONTROL_FPU
+
     // The default is choosen to have a precision greater than most
     // precise IEC559 floating point (112 bits of mantissa).
-    set_rational_sqrt_precision_parameter(128);
+    set_irrational_precision(128);
   }
 }
 
diff --git a/src/Init.defs.hh b/src/Init.defs.hh
index bd84225..2dd3c0a 100644
--- a/src/Init.defs.hh
+++ b/src/Init.defs.hh
@@ -1,5 +1,5 @@
 /* Init class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Init.inlines.hh b/src/Init.inlines.hh
index 725c022..90cb845 100644
--- a/src/Init.inlines.hh
+++ b/src/Init.inlines.hh
@@ -1,5 +1,5 @@
 /* Init class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Init.types.hh b/src/Init.types.hh
index a5fe3cd..a33f123 100644
--- a/src/Init.types.hh
+++ b/src/Init.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Interval.defs.hh b/src/Interval.defs.hh
index 739571d..e751eb7 100644
--- a/src/Interval.defs.hh
+++ b/src/Interval.defs.hh
@@ -1,5 +1,5 @@
 /* Declarations for the Interval class and its constituents.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -26,6 +26,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "globals.defs.hh"
 #include "meta_programming.hh"
 #include "assign_or_swap.hh"
+#include "intervals.defs.hh"
 #include "Interval.types.hh"
 #include "Interval_Info.defs.hh"
 #include <iosfwd>
@@ -35,20 +36,6 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace Parma_Polyhedra_Library {
 
-enum I_Result {
-  I_EMPTY = 0,
-  /*
-  I_L_EQ = V_EQ,
-  I_L_GT = V_GT,
-  I_L_GE = V_GE,
-  I_U_EQ = V_EQ << 6,
-  I_U_LT = V_LT << 6,
-  I_U_LE = V_LE << 6,
-  */
-  I_MAYBE_EMPTY = 1 << 12,
-  I_SINGULARITIES = 1 << 13
-};
-
 enum Ternary { T_YES, T_NO, T_MAYBE };
 
 inline I_Result
@@ -56,34 +43,23 @@ combine(Result l, Result u) {
   return static_cast<I_Result>(l | (u << 6));
 }
 
-inline Result
-lower(I_Result r) {
-  return static_cast<Result>(r & 63);
-}
-
-inline Result
-upper(I_Result r) {
-  return static_cast<Result>((r >> 6) & 63);
-}
-
-template <typename Info>
-inline bool
-unrepresentability_error(I_Result r, const Info&) {
-  return !Info::store_special
-    && (is_special(lower(r)) || is_special(upper(r)));
-}
+struct Interval_Base {
+};
 
 using namespace Boundary_NS;
 using namespace Interval_NS;
 
-struct Interval_Base {};
-
 template <typename T, typename Enable = void>
 struct Is_Singleton : public Is_Native_Or_Checked<T> {};
 
 template <typename T>
 struct Is_Interval : public Is_Same_Or_Derived<Interval_Base, T> {};
 
+// FIXME: This has been added as a workaraound.
+template <typename From>
+typename Enable_If<Is_Interval<From>::value, I_Result>::type
+neg_assign(From& x);
+
 //! A generic, not necessarily closed, possibly restricted interval.
 /*! \ingroup PPL_CXX_interface
   The class template type parameter \p Boundary represents the type
@@ -119,12 +95,6 @@ private:
   Info& w_info() const {
     return const_cast<Interval&>(*this);
   }
-  bool is_empty_nocache() const {
-    return lt(UPPER, upper(), info(), LOWER, lower(), info());
-  }
-  bool is_singleton_nocache() const {
-    return eq(LOWER, lower(), info(), UPPER, upper(), info());
-  }
   Result lower_normalize() const {
     Result r;
     if (info().get_boundary_property(LOWER, NORMALIZED)
@@ -175,34 +145,6 @@ public:
 
   typedef Interval_NS::Property Property;
 
-  void lower_load() {
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-    lower_loaded = 1;
-#endif
-  }
-
-  void upper_load() {
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-    upper_loaded = 1;
-#endif
-  }
-
-  void complete_init() {
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-    assert(lower_loaded);
-    assert(upper_loaded);
-    completed = 1;
-#endif
-  }
-
-  void complete_init_internal() {
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-    lower_loaded = 1;
-    upper_loaded = 1;
-    completed = 1;
-#endif
-  }
-
   template <typename T>
   typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, Interval&>::type
   operator=(const T& x) {
@@ -262,60 +204,17 @@ public:
     return upper_;
   }
 
-  Ternary is_empty_cached() const {
-    if (info().get_interval_property(CARDINALITY_0))
-      return info().get_interval_property(CARDINALITY_IS) ? T_YES : T_NO;
-    else if (info().get_interval_property(CARDINALITY_IS))
-      return T_NO;
-    else
-      return T_MAYBE;
+  I_Constraint<boundary_type> lower_constraint() const {
+    PPL_ASSERT(!is_empty());
+    if (info().get_boundary_property(LOWER, SPECIAL))
+      return I_Constraint<boundary_type>();
+    return i_constraint(lower_is_open() ? GREATER_THAN : GREATER_OR_EQUAL, lower(), true);
   }
-
-  Ternary is_singleton_cached() const {
-    if (info().get_interval_property(CARDINALITY_1))
-      return info().get_interval_property(CARDINALITY_IS) ? T_YES : T_NO;
-    else if (info().get_interval_property(CARDINALITY_IS))
-      return T_NO;
-    else
-      return T_MAYBE;
-  }
-
-  bool is_empty() const {
-    switch (is_empty_cached()) {
-    case T_NO:
-      return false;
-    case T_YES:
-      return true;
-    case T_MAYBE:
-      bool r = is_empty_nocache();
-      if (r) {
-	w_info().set_interval_property(CARDINALITY_IS, r);
-	w_info().set_interval_property(CARDINALITY_1, false);
-      }
-      w_info().set_interval_property(CARDINALITY_0);
-      return r;
-    }
-    assert(false);
-    return false;
-  }
-
-  bool is_singleton() const {
-    switch (is_singleton_cached()) {
-    case T_NO:
-      return false;
-    case T_YES:
-      return true;
-    case T_MAYBE:
-      bool r = is_singleton_nocache();
-      if (r) {
-	w_info().set_interval_property(CARDINALITY_IS, r);
-	w_info().set_interval_property(CARDINALITY_0, false);
-      }
-      w_info().set_interval_property(CARDINALITY_1);
-      return r;
-    }
-    assert(false);
-    return false;
+  I_Constraint<boundary_type> upper_constraint() const {
+    PPL_ASSERT(!is_empty());
+    if (info().get_boundary_property(UPPER, SPECIAL))
+      return I_Constraint<boundary_type>();
+    return i_constraint(upper_is_open() ? LESS_THAN : LESS_OR_EQUAL, upper(), true);
   }
 
   bool has_restriction() const {
@@ -323,214 +222,173 @@ public:
   }
 
   I_Result normalize() const {
-    assert(OK());
+    PPL_ASSERT(OK());
     if (has_restriction()) {
       Result rl = lower_normalize();
       Result ru = upper_normalize();
-      // FIXME: this invalidation is not needed if interval is unchanged
-      invalidate_cardinality_cache();
       info().normalize();
-      assert(OK());
+      PPL_ASSERT(OK());
       return combine(rl, ru);
     }
     else
       return combine(V_EQ, V_EQ);
   }
 
-  bool lower_is_open() const {
-    assert(OK());
-    return is_open(LOWER, lower(), info());
-  }
-
-  bool upper_is_open() const {
-    assert(OK());
-    return is_open(UPPER, upper(), info());
+  bool is_empty() const {
+    return lt(UPPER, upper(), info(), LOWER, lower(), info());
   }
 
-  Result lower_shrink() {
-    assert(OK());
-    return shrink(LOWER, lower(), info(), false);
+  bool check_empty(I_Result r) const {
+    return (r & I_ANY) == I_EMPTY
+      || ((r & I_ANY) != I_NOT_EMPTY && is_empty());
   }
 
-  Result upper_shrink() {
-    assert(OK());
-    return shrink(UPPER, upper(), info(), false);
+  bool is_singleton() const {
+    return eq(LOWER, lower(), info(), UPPER, upper(), info());
   }
 
-  bool lower_is_unbounded() const {
-    assert(OK());
-    return Boundary_NS::is_unbounded(LOWER, lower(), info());
+  bool lower_is_open() const {
+    PPL_ASSERT(OK());
+    return is_open(LOWER, lower(), info());
   }
 
-  bool upper_is_unbounded() const {
-    assert(OK());
-    return Boundary_NS::is_unbounded(UPPER, upper(), info());
+  bool upper_is_open() const {
+    PPL_ASSERT(OK());
+    return is_open(UPPER, upper(), info());
   }
 
-  bool is_unbounded() const {
-    assert(OK());
-    return lower_is_unbounded() || upper_is_unbounded();
+  bool lower_is_boundary_infinity() const {
+    PPL_ASSERT(OK());
+    return Boundary_NS::is_boundary_infinity(LOWER, lower(), info());
   }
 
-  bool is_universe() const {
-    assert(OK());
-    return lower_is_unbounded() && upper_is_unbounded()
-      && !has_restriction();
+  bool upper_is_boundary_infinity() const {
+    PPL_ASSERT(OK());
+    return Boundary_NS::is_boundary_infinity(UPPER, upper(), info());
   }
 
-  void invalidate_cardinality_cache() const {
-    w_info().set_interval_property(CARDINALITY_IS, false);
-    w_info().set_interval_property(CARDINALITY_0, false);
-    w_info().set_interval_property(CARDINALITY_1, false);
+  bool lower_is_domain_inf() const {
+    PPL_ASSERT(OK());
+    return Boundary_NS::is_domain_inf(LOWER, lower(), info());
   }
 
-  template <typename T>
-  Result lower_set_uninit(const T& x, bool open = false) {
-    info().clear_boundary_properties(LOWER);
-    Result rl = Boundary_NS::assign(LOWER, lower(), info(), LOWER, x, f_info(x, open));
-    lower_load();
-    return rl;
+  bool upper_is_domain_sup() const {
+    PPL_ASSERT(OK());
+    return Boundary_NS::is_domain_sup(UPPER, upper(), info());
   }
 
-  Result lower_set_uninit(const Unbounded&) {
-    info().clear_boundary_properties(LOWER);
-    Result rl = set_unbounded(LOWER, lower(), info());
-    lower_load();
-    return rl;
+  bool is_bounded() const {
+    PPL_ASSERT(OK());
+    return !lower_is_boundary_infinity() && !upper_is_boundary_infinity();
   }
 
-  template <typename T>
-  Result lower_set(const T& x, bool open = false) {
-    assert(OK());
-    info().clear_boundary_properties(LOWER);
-    Result rl = Boundary_NS::assign(LOWER, lower(), info(), LOWER, x, f_info(x, open));
-    invalidate_cardinality_cache();
-    assert(OK());
-    return rl;
+  bool is_universe() const {
+    PPL_ASSERT(OK());
+    return lower_is_domain_inf() && upper_is_domain_sup()
+      && !has_restriction();
   }
 
-  Result lower_set(const Unbounded&) {
-    assert(OK());
+  I_Result lower_extend() {
     info().clear_boundary_properties(LOWER);
-    Result rl = set_unbounded(LOWER, lower(), info());
-    invalidate_cardinality_cache();
-    assert(OK());
-    return rl;
-  }
-
-  template <typename T>
-  Result lower_narrow(const T& x, bool open = false) {
-    assert(OK());
-    if (ge(LOWER, lower(), info(), LOWER, x, f_info(x, open)))
-      return V_EQ;
-    return lower_set(x, open);
-  }
-
-  template <typename T>
-  Result lower_widen(const T& x, bool open = false) {
-    assert(OK());
-    if (le(LOWER, lower(), info(), LOWER, x, f_info(x, open)))
-      return V_EQ;
-    return lower_set(x, open);
+    set_unbounded(LOWER, lower(), info());
+    return I_ANY;
   }
 
-  Result lower_widen(const Unbounded&) {
-    assert(OK());
-    if (lower_is_unbounded())
-      return V_EQ;
-    info().clear_boundary_properties(LOWER);
-    Result rl = set_unbounded(LOWER, lower(), info());
-    invalidate_cardinality_cache();
-    assert(OK());
-    return V_EQ;
-  }
+  template <typename C>
+  typename Enable_If<Is_Same_Or_Derived<I_Constraint_Base, C>::value, I_Result>::type
+  lower_extend(const C& c);
 
-  template <typename T>
-  Result upper_set_uninit(const T& x, bool open = false) {
-    info().clear_boundary_properties(UPPER);
-    Result rl = Boundary_NS::assign(UPPER, upper(), info(), UPPER, x, f_info(x, open));
-    upper_load();
-    return rl;
-  }
-  Result upper_set_uninit(const Unbounded&) {
+  I_Result upper_extend() {
     info().clear_boundary_properties(UPPER);
-    Result rl = set_unbounded(UPPER, upper(), info());
-    upper_load();
-    return rl;
+    set_unbounded(UPPER, upper(), info());
+    return I_ANY;
   }
 
-  template <typename T>
-  Result upper_set(const T& x, bool open = false) {
-    assert(OK());
-    info().clear_boundary_properties(UPPER);
-    Result rl = Boundary_NS::assign(UPPER, upper(), info(), UPPER, x, f_info(x, open));
-    invalidate_cardinality_cache();
-    assert(OK());
-    return rl;
-  }
+  template <typename C>
+  typename Enable_If<Is_Same_Or_Derived<I_Constraint_Base, C>::value, I_Result>::type
+  upper_extend(const C& c);
 
-  Result upper_set(const Unbounded&) {
-    assert(OK());
-    info().clear_boundary_properties(UPPER);
-    Result rl = set_unbounded(UPPER, upper(), info());
-    invalidate_cardinality_cache();
-    assert(OK());
-    return rl;
+  I_Result build() {
+    return assign(UNIVERSE);
   }
 
-  template <typename T>
-  Result upper_narrow(const T& x, bool open = false) {
-    assert(OK());
-    if (le(UPPER, upper(), info(), UPPER, x, f_info(x, open)))
-      return V_EQ;
-    return upper_set(x, open);
+  template <typename C>
+  typename Enable_If<Is_Same_Or_Derived<I_Constraint_Base, C>::value, I_Result>::type
+  build(const C& c) {
+    Relation_Symbol rs;
+    switch (c.rel()) {
+    case V_LGE:
+    case V_GT_MINUS_INFINITY:
+    case V_LT_PLUS_INFINITY:
+      return assign(UNIVERSE);
+    default:
+      return assign(EMPTY);
+    case V_LT:
+    case V_LE:
+    case V_GT:
+    case V_GE:
+    case V_EQ:
+    case V_NE:
+      assign(UNIVERSE);
+      rs = (Relation_Symbol) c.rel();
+      return refine_existential(rs, c.value());
+    }
   }
 
-  template <typename T>
-  Result upper_widen(const T& x, bool open = false) {
-    assert(OK());
-    if (ge(UPPER, upper(), info(), UPPER, x, f_info(x, open)))
-      return V_EQ;
-    return upper_set(x, open);
+  template <typename C1, typename C2>
+  typename Enable_If<Is_Same_Or_Derived<I_Constraint_Base, C1>::value
+                     &&
+		     Is_Same_Or_Derived<I_Constraint_Base, C2>::value,
+                     I_Result>::type
+  build(const C1& c1, const C2& c2) {
+    switch (c1.rel()) {
+    case V_LGE:
+      return build(c2);
+    case V_NAN:
+      return assign(EMPTY);
+    default:
+      break;
+    }
+    switch (c2.rel()) {
+    case V_LGE:
+      return build(c1);
+    case V_NAN:
+      return assign(EMPTY);
+    default:
+      break;
+    }
+    build(c1);
+    I_Result r = add_constraint(c2);
+    return r - (I_CHANGED | I_UNCHANGED);
   }
 
-  Result upper_widen(const Unbounded&) {
-    assert(OK());
-    if (upper_is_unbounded())
-      return V_EQ;
-    info().clear_boundary_properties(UPPER);
-    Result rl = set_unbounded(UPPER, upper(), info());
-    invalidate_cardinality_cache();
-    assert(OK());
-    return rl;
+  template <typename C>
+  typename Enable_If<Is_Same_Or_Derived<I_Constraint_Base, C>::value, I_Result>::type
+  add_constraint(const C& c) {
+    Interval x;
+    x.build(c);
+    return intersect_assign(x);
   }
 
   I_Result assign(Degenerate_Element e) {
     I_Result r;
-    Result rl, ru;
     info().clear();
     switch (e) {
+    default:
+      PPL_ASSERT(0);
+      /* Fall through */
     case EMPTY:
-      info().set_interval_property(CARDINALITY_IS);
-      info().set_interval_property(CARDINALITY_0);
-      lower_set_uninit(1);
-      upper_set_uninit(0);
-      r = I_EMPTY;
+      lower_ = 1;
+      upper_ = 0;
+      r = I_EMPTY | I_EXACT;
       break;
     case UNIVERSE:
-      info().set_interval_property(CARDINALITY_0, true);
-      info().set_interval_property(CARDINALITY_1, true);
-      rl = lower_set_uninit(UNBOUNDED);
-      ru = upper_set_uninit(UNBOUNDED);
-      r = combine(rl, ru);
-      break;
-    default:
-      assert(0);
-      r = I_EMPTY;
+      set_unbounded(LOWER, lower(), info());
+      set_unbounded(UPPER, upper(), info());
+      r = I_UNIVERSE | I_EXACT;
       break;
     }
-    complete_init();
-    assert(OK());
+    PPL_ASSERT(OK());
     return r;
   }
 
@@ -538,10 +396,8 @@ public:
   typename Enable_If<Is_Special<From>::value, I_Result>::type
   assign(const From&) {
     info().clear();
-    info().set_interval_property(CARDINALITY_0, true);
-    info().set_interval_property(CARDINALITY_1, true);
     Result rl, ru;
-    switch (From::code) {
+    switch (From::vclass) {
     case VC_MINUS_INFINITY:
       rl = Boundary_NS::set_minus_infinity(LOWER, lower(), info());
       ru = Boundary_NS::set_minus_infinity(UPPER, upper(), info());
@@ -551,49 +407,61 @@ public:
       ru = Boundary_NS::set_plus_infinity(UPPER, upper(), info());
       break;
     default:
-      assert(0);
-      rl = VC_NAN;
-      ru = VC_NAN;
+      PPL_ASSERT(0);
+      rl = V_NAN;
+      ru = V_NAN;
     }
-    complete_init_internal();
-    assert(OK());
+    PPL_ASSERT(OK());
     return combine(rl, ru);
   }
 
   I_Result set_infinities() {
     info().clear();
-    info().set_interval_property(CARDINALITY_0, true);
-    info().set_interval_property(CARDINALITY_1, true);
     // FIXME: what about restrictions?
     Result rl = Boundary_NS::set_minus_infinity(LOWER, lower(), info());
     Result ru = Boundary_NS::set_plus_infinity(UPPER, upper(), info());
-    complete_init_internal();
-    assert(OK());
+    PPL_ASSERT(OK());
     return combine(rl, ru);
   }
 
+  static bool is_always_topologically_closed() {
+    return !Info::store_open;
+  }
+
   bool is_topologically_closed() const {
-    assert(OK());
-    return !Info::store_open
+    PPL_ASSERT(OK());
+    return is_always_topologically_closed()
       || is_empty()
-      || ((lower_is_unbounded() || !lower_is_open())
-          && (upper_is_unbounded() || !upper_is_open()));
+      || ((lower_is_boundary_infinity() || !lower_is_open())
+          && (upper_is_boundary_infinity() || !upper_is_open()));
   }
 
   //! Assigns to \p *this its topological closure.
   void topological_closure_assign() {
     if (!Info::store_open || is_empty())
       return;
-
-    if (!lower_is_unbounded())
+    if (lower_is_open() && !lower_is_boundary_infinity())
       info().set_boundary_property(LOWER, OPEN, false);
-
-    if (!upper_is_unbounded())
+    if (upper_is_open() && !upper_is_boundary_infinity())
       info().set_boundary_property(UPPER, OPEN, false);
   }
 
+  void remove_inf() {
+    PPL_ASSERT(!is_empty());
+    if (!Info::store_open)
+      return;
+    info().set_boundary_property(LOWER, OPEN, true);
+  }
+
+  void remove_sup() {
+    PPL_ASSERT(!is_empty());
+    if (!Info::store_open)
+      return;
+    info().set_boundary_property(UPPER, OPEN, true);
+  }
+
   bool is_infinity() const {
-    assert(OK());
+    PPL_ASSERT(OK());
     if (is_reverse_infinity(LOWER, lower(), info()))
       return 1;
     else if (is_reverse_infinity(UPPER, upper(), info()))
@@ -603,10 +471,10 @@ public:
   }
 
   bool contains_integer_point() const {
-    assert(OK());
+    PPL_ASSERT(OK());
     if (is_empty())
       return false;
-    if (is_unbounded())
+    if (!is_bounded())
       return true;
     Boundary l;
     if (lower_is_open()) {
@@ -625,6 +493,69 @@ public:
     return u >= l;
   }
 
+  void drop_some_non_integer_points() {
+    if (is_empty())
+      return;
+    if (lower_is_open() && !lower_is_boundary_infinity()) {
+      add_assign_r(lower(), lower(), Boundary(1), ROUND_DOWN);
+      floor_assign_r(lower(), lower(), ROUND_DOWN);
+      info().set_boundary_property(LOWER, OPEN, false);
+    }
+    else
+      ceil_assign_r(lower(), lower(), ROUND_DOWN);
+    if (upper_is_open() && !upper_is_boundary_infinity()) {
+      sub_assign_r(upper(), upper(), Boundary(1), ROUND_UP);
+      ceil_assign_r(upper(), upper(), ROUND_UP);
+      info().set_boundary_property(UPPER, OPEN, false);
+    }
+    else
+      floor_assign_r(upper(), upper(), ROUND_UP);
+  }
+
+  template <typename From>
+  typename Enable_If<Is_Singleton<From>::value || Is_Interval<From>::value, I_Result>::type
+  wrap_assign(Bounded_Integer_Type_Width w,
+              Bounded_Integer_Type_Representation r,
+	      const From& refinement) {
+    if (is_empty())
+      return I_EMPTY;
+    if (lower_is_boundary_infinity() || upper_is_boundary_infinity())
+      return assign(refinement);
+    PPL_DIRTY_TEMP(Boundary, u);
+    Result result = sub_2exp_assign_r(u, upper(), w, ROUND_UP);
+    if (!result_overflow(result) && u > lower())
+      return assign(refinement);
+    info().clear();
+    switch (r) {
+    case UNSIGNED:
+      umod_2exp_assign(LOWER, lower(), info(),
+		       LOWER, lower(), info(), w);
+      umod_2exp_assign(UPPER, upper(), info(),
+		       UPPER, upper(), info(), w);
+      break;
+    case SIGNED_2_COMPLEMENT:
+      smod_2exp_assign(LOWER, lower(), info(),
+		       LOWER, lower(), info(), w);
+      smod_2exp_assign(UPPER, upper(), info(),
+		       UPPER, upper(), info(), w);
+      break;
+    default:
+      PPL_ASSERT(false);
+      break;
+    }
+    if (le(LOWER, lower(), info(), UPPER, upper(), info()))
+      return intersect_assign(refinement);
+    PPL_DIRTY_TEMP(Interval, tmp);
+    tmp.info().clear();
+    Boundary_NS::assign(LOWER, tmp.lower(), tmp.info(),
+			LOWER, lower(), info());
+    set_unbounded(UPPER, tmp.upper(), tmp.info());
+    tmp.intersect_assign(refinement);
+    lower_extend();
+    intersect_assign(refinement);
+    return join_assign(tmp);
+  }
+
   //! Returns the total size in bytes of the memory occupied by \p *this.
   memory_size_type total_memory_in_bytes() const;
 
@@ -635,13 +566,6 @@ public:
   bool ascii_load(std::istream& s);
 
   bool OK() const {
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-    if (!completed) {
-	std::cerr << "The interval initialization has not been completed."
-                  << std::endl;
-	return false;
-    }
-#endif
 #if 0
     if (!Info::may_be_empty && is_empty()) {
 #ifndef NDEBUG
@@ -720,78 +644,24 @@ public:
 #endif
     }
 
-    Ternary t;
-
-    t = is_empty_cached();
-    if (t == T_YES) {
-      if (!is_empty_nocache()) {
-#ifndef NDEBUG
-	std::cerr << "The interval is marked to be empty, "
-                  << "but actually it is not empty.\n";
-#endif
-	return false;
-      }
-    }
-    else if (t == T_NO) {
-      if (is_empty_nocache()) {
-#ifndef NDEBUG
-	std::cerr << "The interval is marked to be not empty, "
-                  << "but actually it is empty.\n";
-#endif
-	return false;
-      }
-    }
-
-    t = is_singleton_cached();
-    if (t == T_YES) {
-      if (!is_singleton_nocache()) {
-#ifndef NDEBUG
-	std::cerr << "The interval is marked to be singleton, "
-                  << "but actually it is not singleton.\n";
-#endif
-	return false;
-      }
-    }
-    else if (t == T_NO) {
-      if (is_singleton_nocache()) {
-#ifndef NDEBUG
-	std::cerr << "The interval is marked to be not singleton, "
-                  << "but actually it is singleton.\n";
-#endif
-	return false;
-      }
-    }
-
-    if (info().get_interval_property(CARDINALITY_IS) &&
-	info().get_interval_property(CARDINALITY_0)
-        == info().get_interval_property(CARDINALITY_1)) {
-#ifndef NDEBUG
-      std::cerr << "The interval is marked to know its cardinality, "
-                << "but this is unspecified or ambiguous.\n";
-#endif
-      return false;
-    }
-
     // Everything OK.
     return true;
   }
 
-  Interval()
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-    : lower_loaded(0), upper_loaded(0), completed(0)
-#endif
-  {
+  Interval() {
   }
 
   template <typename T>
-  explicit Interval(const T& x)
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-    : lower_loaded(0), upper_loaded(0), completed(0)
-#endif
-  {
+  explicit Interval(const T& x) {
     assign(x);
   }
 
+  /*! \brief
+    Builds the smallest interval containing the number whose textual
+    representation is contained in \p s.
+  */
+  explicit Interval(const char* s);
+
   template <typename T>
   typename Enable_If<Is_Singleton<T>::value
                      || Is_Interval<T>::value, bool>::type
@@ -807,8 +677,6 @@ public:
                      || Is_Interval<T>::value, bool>::type
   is_disjoint_from(const T& y) const;
 
-  template <typename From1, typename From2>
-  I_Result assign(const From1& l, const From2& u);
 
   template <typename From>
   typename Enable_If<Is_Singleton<From>::value
@@ -968,11 +836,6 @@ public:
 private:
   Boundary lower_;
   Boundary upper_;
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-  unsigned int lower_loaded:1;
-  unsigned int upper_loaded:1;
-  unsigned int completed:1;
-#endif
 };
 
 } // namespace Parma_Polyhedra_Library
diff --git a/src/Interval.inlines.hh b/src/Interval.inlines.hh
index 84b17ce..5185523 100644
--- a/src/Interval.inlines.hh
+++ b/src/Interval.inlines.hh
@@ -1,5 +1,5 @@
 /* Inline functions for the Interval class and its constituents.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -25,6 +25,17 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace Parma_Polyhedra_Library {
 
+template <typename From>
+typename Enable_If<Is_Interval<From>::value, I_Result>::type
+neg_assign(From& x) {
+  // FIXME: Avoid the creation of a temporary.
+  From y;
+  typename Enable_If<Is_Interval<From>::value, I_Result>::type res =
+                                                               y.neg_assign(x);
+  x = y;
+  return res;
+}
+
 template <typename Boundary, typename Info>
 inline memory_size_type
 Interval<Boundary, Info>::external_memory_in_bytes() const {
@@ -83,7 +94,6 @@ f_info(const Interval<Boundary, Info>& x) {
 struct Scalar_As_Interval_Policy {
   const_bool_nodef(may_be_empty, true);
   const_bool_nodef(may_contain_infinity, true);
-  const_bool_nodef(check_empty_result, false);
   const_bool_nodef(check_inexact, false);
 };
 
@@ -126,15 +136,6 @@ f_is_singleton(const T& x) {
   return !f_is_empty(x);
 }
 
-template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, Ternary>::type
-f_is_empty_lazy(const T& x) {
-  if (f_info(x).get_interval_property(CARDINALITY_0))
-    return f_info(x).get_interval_property(CARDINALITY_IS) ? T_YES : T_NO;
-  else
-    return T_MAYBE;
-}
-
 } // namespace Interval_NS
 
 template <typename T>
@@ -149,28 +150,19 @@ check_empty_arg(const T& x) {
   if (f_info(x).may_be_empty)
     return f_is_empty(x);
   else {
-    assert(!f_is_empty(x));
+    PPL_ASSERT(!f_is_empty(x));
     return false;
   }
 }
 
-template <typename Boundary, typename Info>
-inline I_Result
-check_empty_result(const Interval<Boundary, Info>& x, I_Result r) {
-  if (Info::check_empty_result && f_is_empty(x))
-    return I_EMPTY;
-  else
-    return static_cast<I_Result>(r | I_MAYBE_EMPTY);
-}
-
 template <typename T1, typename T2>
 inline typename Enable_If<((Is_Singleton<T1>::value || Is_Interval<T1>::value)
 			   && (Is_Singleton<T2>::value || Is_Interval<T2>::value)
 			   && (Is_Interval<T1>::value || Is_Interval<T2>::value)),
 			  bool>::type
 operator==(const T1& x, const T2& y) {
-  assert(f_OK(x));
-  assert(f_OK(y));
+  PPL_ASSERT(f_OK(x));
+  PPL_ASSERT(f_OK(y));
   if (check_empty_arg(x))
     return check_empty_arg(y);
   else if (check_empty_arg(y))
@@ -195,8 +187,8 @@ template <typename Boundary, typename Info>
 template <typename T>
 inline typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, bool>::type
 Interval<Boundary, Info>::contains(const T& y) const {
-  assert(OK());
-  assert(f_OK(y));
+  PPL_ASSERT(OK());
+  PPL_ASSERT(f_OK(y));
   if (check_empty_arg(y))
     return true;
   if (check_empty_arg(*this))
@@ -213,8 +205,8 @@ template <typename Boundary, typename Info>
 template <typename T>
 inline typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, bool>::type
 Interval<Boundary, Info>::strictly_contains(const T& y) const {
-  assert(OK());
-  assert(f_OK(y));
+  PPL_ASSERT(OK());
+  PPL_ASSERT(f_OK(y));
   if (check_empty_arg(y))
     return !check_empty_arg(*this);
   if (check_empty_arg(*this))
@@ -237,8 +229,8 @@ template <typename T>
 inline typename Enable_If<Is_Singleton<T>::value
                           || Is_Interval<T>::value, bool>::type
 Interval<Boundary, Info>::is_disjoint_from(const T& y) const {
-  assert(OK());
-  assert(f_OK(y));
+  PPL_ASSERT(OK());
+  PPL_ASSERT(f_OK(y));
   if (check_empty_arg(*this) || check_empty_arg(y))
     return true;
 //   CHECKME.
@@ -249,25 +241,11 @@ Interval<Boundary, Info>::is_disjoint_from(const T& y) const {
 }
 
 template <typename To_Boundary, typename To_Info>
-template <typename From1, typename From2>
-inline I_Result
-Interval<To_Boundary, To_Info>::assign(const From1& l, const From2& u) {
-  info().clear();
-  Result rl = Boundary_NS::assign(LOWER, lower(), info(), LOWER, l, f_info(l));
-  Result ru = Boundary_NS::assign(UPPER, upper(), info(), UPPER, u, f_info(u));
-  complete_init_internal();
-  assert(OK());
-  // The following Parma_Polyhedra_Library:: qualification is to work
-  // around a bug in version 10.0 of the Intel C/C++ compiler.
-  return Parma_Polyhedra_Library::check_empty_result(*this, combine(rl, ru));
-}
-
-template <typename To_Boundary, typename To_Info>
 template <typename From>
 inline typename Enable_If<Is_Singleton<From>::value
                           || Is_Interval<From>::value, I_Result>::type
 Interval<To_Boundary, To_Info>::assign(const From& x) {
-  assert(f_OK(x));
+  PPL_ASSERT(f_OK(x));
   if (check_empty_arg(x))
     return assign(EMPTY);
   PPL_DIRTY_TEMP(To_Info, to_info);
@@ -279,8 +257,7 @@ Interval<To_Boundary, To_Info>::assign(const From& x) {
   Result ru = Boundary_NS::assign(UPPER, upper(), to_info,
 				  UPPER, f_upper(x), f_info(x));
   assign_or_swap(info(), to_info);
-  complete_init_internal();
-  assert(OK());
+  PPL_ASSERT(OK());
   return combine(rl, ru);
 }
 
@@ -289,20 +266,17 @@ template <typename From>
 inline typename Enable_If<Is_Singleton<From>::value
                           || Is_Interval<From>::value, I_Result>::type
 Interval<To_Boundary, To_Info>::join_assign(const From& x) {
-  assert(f_OK(x));
+  PPL_ASSERT(f_OK(x));
   if (check_empty_arg(*this))
     return assign(x);
   if (check_empty_arg(x))
     return combine(V_EQ, V_EQ);
   if (!join_restriction(info(), *this, x))
     return assign(EMPTY);
-  info().set_interval_property(CARDINALITY_IS, false);
-  info().set_interval_property(CARDINALITY_0);
-  info().set_interval_property(CARDINALITY_1, false);
   Result rl, ru;
   rl = min_assign(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x));
   ru = max_assign(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x));
-  assert(OK());
+  PPL_ASSERT(OK());
   return combine(rl, ru);
 }
 
@@ -313,8 +287,8 @@ inline typename Enable_If<((Is_Singleton<From1>::value
 			   && (Is_Singleton<From2>::value
                                || Is_Interval<From2>::value)), I_Result>::type
 Interval<To_Boundary, To_Info>::join_assign(const From1& x, const From2& y) {
-  assert(f_OK(x));
-  assert(f_OK(y));
+  PPL_ASSERT(f_OK(x));
+  PPL_ASSERT(f_OK(y));
   if (check_empty_arg(x))
     return assign(y);
   if (check_empty_arg(y))
@@ -323,7 +297,6 @@ Interval<To_Boundary, To_Info>::join_assign(const From1& x, const From2& y) {
   to_info.clear();
   if (!join_restriction(to_info, x, y))
     return assign(EMPTY);
-  to_info.set_interval_property(CARDINALITY_0);
   Result rl, ru;
   rl = min_assign(LOWER, lower(), to_info,
 		  LOWER, f_lower(x), f_info(x),
@@ -332,8 +305,7 @@ Interval<To_Boundary, To_Info>::join_assign(const From1& x, const From2& y) {
 		  UPPER, f_upper(x), f_info(x),
 		  UPPER, f_upper(y), f_info(y));
   assign_or_swap(info(), to_info);
-  complete_init_internal();
-  assert(OK());
+  PPL_ASSERT(OK());
   return combine(rl, ru);
 }
 
@@ -349,13 +321,13 @@ Interval<Boundary, Info>::can_be_exactly_joined_to(const Type& x) const {
   PPL_DIRTY_TEMP(Boundary, b);
   if (gt(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x))) {
     b = lower();
-    return info().restrict(round_dir_check(LOWER, true), b, V_LT) == V_EQ &&
-      eq(LOWER, b, info(), UPPER, f_upper(x), f_info(x));
+    return info().restrict(round_dir_check(LOWER, true), b, V_LT) == V_EQ
+      && eq(LOWER, b, info(), UPPER, f_upper(x), f_info(x));
   }
   else if (lt(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x))) {
     b = upper();
-    return info().restrict(round_dir_check(UPPER, true), b, V_GT) == V_EQ &&
-      eq(UPPER, b, info(), LOWER, f_lower(x), f_info(x));
+    return info().restrict(round_dir_check(UPPER, true), b, V_GT) == V_EQ
+      && eq(UPPER, b, info(), LOWER, f_lower(x), f_info(x));
   }
   return true;
 }
@@ -366,18 +338,14 @@ template <typename From>
 inline typename Enable_If<Is_Singleton<From>::value
                           || Is_Interval<From>::value, I_Result>::type
 Interval<To_Boundary, To_Info>::intersect_assign(const From& x) {
-  assert(f_OK(x));
+  PPL_ASSERT(f_OK(x));
   if (!intersect_restriction(info(), *this, x))
     return assign(EMPTY);
-  // FIXME: more accurate?
-  invalidate_cardinality_cache();
   Result rl, ru;
   rl = max_assign(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x));
   ru = min_assign(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x));
-  assert(OK());
-  // The following Parma_Polyhedra_Library:: qualification is to work
-  // around a bug in version 10.0 of the Intel C/C++ compiler.
-  return Parma_Polyhedra_Library::check_empty_result(*this, combine(rl, ru));
+  PPL_ASSERT(OK());
+  return I_ANY;
 }
 
 template <typename To_Boundary, typename To_Info>
@@ -388,8 +356,8 @@ inline typename Enable_If<((Is_Singleton<From1>::value
                                || Is_Interval<From2>::value)), I_Result>::type
 Interval<To_Boundary, To_Info>::intersect_assign(const From1& x,
                                                  const From2& y) {
-  assert(f_OK(x));
-  assert(f_OK(y));
+  PPL_ASSERT(f_OK(x));
+  PPL_ASSERT(f_OK(y));
   PPL_DIRTY_TEMP(To_Info, to_info);
   to_info.clear();
   if (!intersect_restriction(to_info, x, y))
@@ -402,11 +370,8 @@ Interval<To_Boundary, To_Info>::intersect_assign(const From1& x,
 		  UPPER, f_upper(x), f_info(x),
 		  UPPER, f_upper(y), f_info(y));
   assign_or_swap(info(), to_info);
-  complete_init_internal();
-  assert(OK());
-  // The following Parma_Polyhedra_Library:: qualification is to work
-  // around a bug in version 10.0 of the Intel C/C++ compiler.
-  return Parma_Polyhedra_Library::check_empty_result(*this, combine(rl, ru));
+  PPL_ASSERT(OK());
+  return I_NOT_EMPTY;
 }
 
 template <typename To_Boundary, typename To_Info>
@@ -414,9 +379,10 @@ template <typename From>
 inline typename Enable_If<Is_Singleton<From>::value
                           || Is_Interval<From>::value, I_Result>::type
 Interval<To_Boundary, To_Info>::difference_assign(const From& x) {
-  assert(f_OK(x));
+  PPL_ASSERT(f_OK(x));
   // FIXME: restrictions
-  if (lt(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x)) ||
+  if (lt(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x))
+      ||
       gt(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x)))
     return combine(V_EQ, V_EQ);
   bool nl = ge(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x));
@@ -426,17 +392,15 @@ Interval<To_Boundary, To_Info>::difference_assign(const From& x) {
     if (nu)
       return assign(EMPTY);
     else {
-      invalidate_cardinality_cache();
       info().clear_boundary_properties(LOWER);
       rl = complement(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x));
     }
   }
   else if (nu) {
-    invalidate_cardinality_cache();
     info().clear_boundary_properties(UPPER);
     ru = complement(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x));
   }
-  assert(OK());
+  PPL_ASSERT(OK());
   return combine(rl, ru);
 }
 
@@ -448,12 +412,13 @@ inline typename Enable_If<((Is_Singleton<From1>::value
                                || Is_Interval<From2>::value)), I_Result>::type
 Interval<To_Boundary, To_Info>::difference_assign(const From1& x,
                                                   const From2& y) {
-  assert(f_OK(x));
-  assert(f_OK(y));
+  PPL_ASSERT(f_OK(x));
+  PPL_ASSERT(f_OK(y));
   PPL_DIRTY_TEMP(To_Info, to_info);
   to_info.clear();
   // FIXME: restrictions
-  if (lt(UPPER, f_upper(x), f_info(x), LOWER, f_lower(y), f_info(y)) ||
+  if (lt(UPPER, f_upper(x), f_info(x), LOWER, f_lower(y), f_info(y))
+      ||
       gt(LOWER, f_lower(x), f_info(x), UPPER, f_upper(y), f_info(y)))
     return assign(x);
   bool nl = ge(LOWER, f_lower(x), f_info(x), LOWER, f_lower(y), f_info(y));
@@ -472,8 +437,7 @@ Interval<To_Boundary, To_Info>::difference_assign(const From1& x,
     rl = Boundary_NS::assign(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x));
   }
   assign_or_swap(info(), to_info);
-  complete_init_internal();
-  assert(OK());
+  PPL_ASSERT(OK());
   return combine(rl, ru);
 }
 
@@ -483,8 +447,8 @@ inline typename Enable_If<Is_Singleton<From>::value
                           || Is_Interval<From>::value, I_Result>::type
 Interval<To_Boundary, To_Info>
 ::refine_existential(Relation_Symbol rel, const From& x) {
-  assert(OK());
-  assert(f_OK(x));
+  PPL_ASSERT(OK());
+  PPL_ASSERT(f_OK(x));
   if (check_empty_arg(x))
     return assign(EMPTY);
   switch (rel) {
@@ -493,56 +457,40 @@ Interval<To_Boundary, To_Info>
       if (lt(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x)))
 	return combine(V_EQ, V_EQ);
       info().clear_boundary_properties(UPPER);
-      Result ru = Boundary_NS::assign(UPPER, upper(), info(),
-				      UPPER, f_upper(x), f_info(x), true);
-      invalidate_cardinality_cache();
+      Boundary_NS::assign(UPPER, upper(), info(),
+			  UPPER, f_upper(x), f_info(x), true);
       normalize();
-      // The following Parma_Polyhedra_Library:: qualification is to work
-      // around a bug in version 10.0 of the Intel C/C++ compiler.
-      return Parma_Polyhedra_Library::check_empty_result(*this,
-							 combine(V_EQ, ru));
+      return I_ANY;
     }
   case LESS_OR_EQUAL:
     {
       if (le(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x)))
 	return combine(V_EQ, V_EQ);
       info().clear_boundary_properties(UPPER);
-      Result ru = Boundary_NS::assign(UPPER, upper(), info(),
-				      UPPER, f_upper(x), f_info(x));
-      invalidate_cardinality_cache();
+      Boundary_NS::assign(UPPER, upper(), info(),
+			  UPPER, f_upper(x), f_info(x));
       normalize();
-      // The following Parma_Polyhedra_Library:: qualification is to work
-      // around a bug in version 10.0 of the Intel C/C++ compiler.
-      return Parma_Polyhedra_Library::check_empty_result(*this,
-							 combine(V_EQ, ru));
+      return I_ANY;
     }
   case GREATER_THAN:
     {
       if (gt(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x)))
 	return combine(V_EQ, V_EQ);
       info().clear_boundary_properties(LOWER);
-      Result rl = Boundary_NS::assign(LOWER, lower(), info(),
-				      LOWER, f_lower(x), f_info(x), true);
-      invalidate_cardinality_cache();
+      Boundary_NS::assign(LOWER, lower(), info(),
+			  LOWER, f_lower(x), f_info(x), true);
       normalize();
-      // The following Parma_Polyhedra_Library:: qualification is to work
-      // around a bug in version 10.0 of the Intel C/C++ compiler.
-      return Parma_Polyhedra_Library::check_empty_result(*this,
-							 combine(rl, V_EQ));
+      return I_ANY;
     }
   case GREATER_OR_EQUAL:
     {
       if (ge(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x)))
 	return combine(V_EQ, V_EQ);
       info().clear_boundary_properties(LOWER);
-      Result rl = Boundary_NS::assign(LOWER, lower(), info(),
-				      LOWER, f_lower(x), f_info(x));
-      invalidate_cardinality_cache();
+      Boundary_NS::assign(LOWER, lower(), info(),
+			  LOWER, f_lower(x), f_info(x));
       normalize();
-      // The following Parma_Polyhedra_Library:: qualification is to work
-      // around a bug in version 10.0 of the Intel C/C++ compiler.
-      return Parma_Polyhedra_Library::check_empty_result(*this,
-							 combine(rl, V_EQ));
+      return I_ANY;
     }
   case EQUAL:
     return intersect_assign(x);
@@ -553,18 +501,14 @@ Interval<To_Boundary, To_Info>
       if (check_empty_arg(*this))
 	return I_EMPTY;
       if (eq(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x)))
-	lower_shrink();
+	remove_inf();
       if (eq(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x)))
-	upper_shrink();
-      invalidate_cardinality_cache();
+	remove_sup();
       normalize();
-      // The following Parma_Polyhedra_Library:: qualification is to work
-      // around a bug in version 10.0 of the Intel C/C++ compiler.
-      return Parma_Polyhedra_Library::check_empty_result(*this,
-							 combine(V_EQ, V_EQ));
+      return I_ANY;
     }
   default:
-    assert(false);
+    PPL_ASSERT(false);
     return I_EMPTY;
   }
 }
@@ -575,8 +519,8 @@ inline typename Enable_If<Is_Singleton<From>::value
                           || Is_Interval<From>::value, I_Result>::type
 Interval<To_Boundary, To_Info>::refine_universal(Relation_Symbol rel,
                                                  const From& x) {
-  assert(OK());
-  assert(f_OK(x));
+  PPL_ASSERT(OK());
+  PPL_ASSERT(f_OK(x));
   if (check_empty_arg(x))
     return combine(V_EQ, V_EQ);
   switch (rel) {
@@ -587,12 +531,8 @@ Interval<To_Boundary, To_Info>::refine_universal(Relation_Symbol rel,
       info().clear_boundary_properties(UPPER);
       Result ru = Boundary_NS::assign(UPPER, upper(), info(),
 				      LOWER, f_lower(x), SCALAR_INFO, !is_open(LOWER, f_lower(x), f_info(x)));
-      invalidate_cardinality_cache();
       normalize();
-      // The following Parma_Polyhedra_Library:: qualification is to work
-      // around a bug in version 10.0 of the Intel C/C++ compiler.
-      return Parma_Polyhedra_Library::check_empty_result(*this,
-							 combine(V_EQ, ru));
+      return I_ANY;
     }
   case LESS_OR_EQUAL:
     {
@@ -601,12 +541,8 @@ Interval<To_Boundary, To_Info>::refine_universal(Relation_Symbol rel,
       info().clear_boundary_properties(UPPER);
       Result ru = Boundary_NS::assign(UPPER, upper(), info(),
 				      LOWER, f_lower(x), SCALAR_INFO);
-      invalidate_cardinality_cache();
       normalize();
-      // The following Parma_Polyhedra_Library:: qualification is to work
-      // around a bug in version 10.0 of the Intel C/C++ compiler.
-      return Parma_Polyhedra_Library::check_empty_result(*this,
-							 combine(V_EQ, ru));
+      return I_ANY;
     }
   case GREATER_THAN:
     {
@@ -615,12 +551,8 @@ Interval<To_Boundary, To_Info>::refine_universal(Relation_Symbol rel,
       info().clear_boundary_properties(LOWER);
       Result rl = Boundary_NS::assign(LOWER, lower(), info(),
 				      UPPER, f_upper(x), SCALAR_INFO, !is_open(UPPER, f_upper(x), f_info(x)));
-      invalidate_cardinality_cache();
       normalize();
-      // The following Parma_Polyhedra_Library:: qualification is to work
-      // around a bug in version 10.0 of the Intel C/C++ compiler.
-      return Parma_Polyhedra_Library::check_empty_result(*this,
-							 combine(rl, V_EQ));
+      return I_ANY;
     }
   case GREATER_OR_EQUAL:
     {
@@ -629,12 +561,8 @@ Interval<To_Boundary, To_Info>::refine_universal(Relation_Symbol rel,
       info().clear_boundary_properties(LOWER);
       Result rl = Boundary_NS::assign(LOWER, lower(), info(),
 				      UPPER, f_upper(x), SCALAR_INFO);
-      invalidate_cardinality_cache();
       normalize();
-      // The following Parma_Polyhedra_Library:: qualification is to work
-      // around a bug in version 10.0 of the Intel C/C++ compiler.
-      return Parma_Polyhedra_Library::check_empty_result(*this,
-							 combine(rl, V_EQ));
+      return I_ANY;
     }
   case EQUAL:
     if (!f_is_singleton(x))
@@ -645,18 +573,14 @@ Interval<To_Boundary, To_Info>::refine_universal(Relation_Symbol rel,
       if (check_empty_arg(*this))
 	return I_EMPTY;
       if (eq(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x)))
-	lower_shrink();
+	remove_inf();
       if (eq(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x)))
-	upper_shrink();
-      invalidate_cardinality_cache();
+	remove_sup();
       normalize();
-      // The following Parma_Polyhedra_Library:: qualification is to work
-      // around a bug in version 10.0 of the Intel C/C++ compiler.
-      return Parma_Polyhedra_Library::check_empty_result(*this,
-							 combine(V_EQ, V_EQ));
+      return I_ANY;
     }
   default:
-    assert(false);
+    PPL_ASSERT(false);
     return I_EMPTY;
   }
 }
@@ -666,7 +590,7 @@ template <typename From>
 inline typename Enable_If<Is_Singleton<From>::value
                           || Is_Interval<From>::value, I_Result>::type
 Interval<To_Boundary, To_Info>::neg_assign(const From& x) {
-  assert(f_OK(x));
+  PPL_ASSERT(f_OK(x));
   if (check_empty_arg(x))
     return assign(EMPTY);
   PPL_DIRTY_TEMP(To_Info, to_info);
@@ -679,8 +603,7 @@ Interval<To_Boundary, To_Info>::neg_assign(const From& x) {
   ru = Boundary_NS::neg_assign(UPPER, upper(), to_info, LOWER, f_lower(x), f_info(x));
   assign_or_swap(lower(), to_lower);
   assign_or_swap(info(), to_info);
-  complete_init_internal();
-  assert(OK());
+  PPL_ASSERT(OK());
   return combine(rl, ru);
 }
 
@@ -691,8 +614,8 @@ inline typename Enable_If<((Is_Singleton<From1>::value
 			   && (Is_Singleton<From2>::value
                                || Is_Interval<From2>::value)), I_Result>::type
 Interval<To_Boundary, To_Info>::add_assign(const From1& x, const From2& y) {
-  assert(f_OK(x));
-  assert(f_OK(y));
+  PPL_ASSERT(f_OK(x));
+  PPL_ASSERT(f_OK(y));
   if (check_empty_arg(x) || check_empty_arg(y))
     return assign(EMPTY);
   int inf = Parma_Polyhedra_Library::is_infinity(x);
@@ -717,8 +640,7 @@ Interval<To_Boundary, To_Info>::add_assign(const From1& x, const From2& y) {
 				      UPPER, f_upper(x), f_info(x),
 				      UPPER, f_upper(y), f_info(y));
   assign_or_swap(info(), to_info);
-  complete_init_internal();
-  assert(OK());
+  PPL_ASSERT(OK());
   return combine(rl, ru);
 }
 
@@ -729,8 +651,8 @@ inline typename Enable_If<((Is_Singleton<From1>::value
 			   && (Is_Singleton<From2>::value
                                || Is_Interval<From2>::value)), I_Result>::type
 Interval<To_Boundary, To_Info>::sub_assign(const From1& x, const From2& y) {
-  assert(f_OK(x));
-  assert(f_OK(y));
+  PPL_ASSERT(f_OK(x));
+  PPL_ASSERT(f_OK(y));
   if (check_empty_arg(x) || check_empty_arg(y))
     return assign(EMPTY);
   int inf = Parma_Polyhedra_Library::is_infinity(x);
@@ -759,8 +681,7 @@ Interval<To_Boundary, To_Info>::sub_assign(const From1& x, const From2& y) {
 			       LOWER, f_lower(y), f_info(y));
   assign_or_swap(lower(), to_lower);
   assign_or_swap(info(), to_info);
-  complete_init_internal();
-  assert(OK());
+  PPL_ASSERT(OK());
   return combine(rl, ru);
 }
 
@@ -783,8 +704,8 @@ inline typename Enable_If<((Is_Singleton<From1>::value
 			   && (Is_Singleton<From2>::value
                                || Is_Interval<From2>::value)), I_Result>::type
 Interval<To_Boundary, To_Info>::mul_assign(const From1& x, const From2& y) {
-  assert(f_OK(x));
-  assert(f_OK(y));
+  PPL_ASSERT(f_OK(x));
+  PPL_ASSERT(f_OK(y));
   if (check_empty_arg(x) || check_empty_arg(y))
     return assign(EMPTY);
   int xls = sgn_b(LOWER, f_lower(x), f_info(x));
@@ -930,8 +851,7 @@ Interval<To_Boundary, To_Info>::mul_assign(const From1& x, const From2& y) {
   }
   assign_or_swap(lower(), to_lower);
   assign_or_swap(info(), to_info);
-  complete_init_internal();
-  assert(OK());
+  PPL_ASSERT(OK());
   return combine(rl, ru);
 }
 
@@ -953,8 +873,8 @@ inline typename Enable_If<((Is_Singleton<From1>::value
 			   && (Is_Singleton<From2>::value
                                || Is_Interval<From2>::value)), I_Result>::type
 Interval<To_Boundary, To_Info>::div_assign(const From1& x, const From2& y) {
-  assert(f_OK(x));
-  assert(f_OK(y));
+  PPL_ASSERT(f_OK(x));
+  PPL_ASSERT(f_OK(y));
   if (check_empty_arg(x) || check_empty_arg(y))
     return assign(EMPTY);
   int yls = sgn_b(LOWER, f_lower(y), f_info(y));
@@ -1041,8 +961,7 @@ Interval<To_Boundary, To_Info>::div_assign(const From1& x, const From2& y) {
   }
   assign_or_swap(lower(), to_lower);
   assign_or_swap(info(), to_info);
-  complete_init_internal();
-  assert(OK());
+  PPL_ASSERT(OK());
   return combine(rl, ru);
 }
 
@@ -1145,7 +1064,7 @@ operator/(const Interval<B, Info>& x, const Interval<B, Info>& y) {
 template <typename Boundary, typename Info>
 inline std::ostream&
 operator<<(std::ostream& os, const Interval<Boundary, Info>& x) {
-  // assert(x.OK());
+  // PPL_ASSERT(x.OK());
   if (check_empty_arg(x))
     return os << "[]";
   if (x.is_singleton()) {
@@ -1197,10 +1116,7 @@ Interval<Boundary, Info>::ascii_load(std::istream& s) {
     return false;
   if (!ascii_load(s, upper()))
     return false;
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-  complete_init_internal();
-#endif
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
diff --git a/src/Interval.templates.hh b/src/Interval.templates.hh
index efb74fd..456458e 100644
--- a/src/Interval.templates.hh
+++ b/src/Interval.templates.hh
@@ -1,5 +1,5 @@
 /* Interval class implementation: non-inline template functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -28,20 +28,72 @@ site: http://www.cs.unipr.it/ppl/ . */
 namespace Parma_Polyhedra_Library {
 
 template <typename Boundary, typename Info>
+template <typename C>
+typename Enable_If<Is_Same_Or_Derived<I_Constraint_Base, C>::value, I_Result>::type
+Interval<Boundary, Info>::lower_extend(const C& c) {
+  PPL_ASSERT(OK());
+  bool open;
+  switch (c.rel()) {
+  case V_LGE:
+    return lower_extend();
+  case V_NAN:
+    return I_NOT_EMPTY | I_EXACT | I_UNCHANGED;
+  case V_GT:
+    open = true;
+    break;
+  case V_GE:
+  case V_EQ:
+    open = false;
+    break;
+  default:
+    PPL_ASSERT(false);
+  }
+  min_assign(LOWER, lower(), info(), LOWER, c.value(), f_info(c.value(), open));
+  PPL_ASSERT(OK());
+  return I_ANY;
+}
+
+template <typename Boundary, typename Info>
+template <typename C>
+typename Enable_If<Is_Same_Or_Derived<I_Constraint_Base, C>::value, I_Result>::type
+Interval<Boundary, Info>::upper_extend(const C& c) {
+  PPL_ASSERT(OK());
+  bool open;
+  switch (c.rel()) {
+  case V_LGE:
+    return lower_extend();
+  case V_NAN:
+    return I_NOT_EMPTY | I_EXACT | I_UNCHANGED;
+  case V_LT:
+    open = true;
+    break;
+  case V_LE:
+  case V_EQ:
+    open = false;
+    break;
+  default:
+    PPL_ASSERT(false);
+  }
+  max_assign(UPPER, upper(), info(), UPPER, c.value(), f_info(c.value(), open));
+  PPL_ASSERT(OK());
+  return I_ANY;
+}
+
+template <typename Boundary, typename Info>
 template <typename From, typename Iterator>
 typename Enable_If<Is_Interval<From>::value, void>::type
 Interval<Boundary, Info>::CC76_widening_assign(const From& y,
 					       Iterator first,
 					       Iterator last) {
   // We assume that `y' is contained in or equal to `*this'.
-  assert(contains(y));
+  PPL_ASSERT(contains(y));
   Interval<Boundary, Info>& x = *this;
 
   // Upper bound.
-  if (!x.upper_is_unbounded()) {
+  if (!x.upper_is_boundary_infinity()) {
     Boundary& x_ub = x.upper();
     const Boundary& y_ub = y.upper();
-    assert(!y.upper_is_unbounded() && y_ub <= x_ub);
+    PPL_ASSERT(!y.upper_is_boundary_infinity() && y_ub <= x_ub);
     if (y_ub < x_ub) {
       Iterator k = std::lower_bound(first, last, x_ub);
       if (k != last) {
@@ -49,15 +101,15 @@ Interval<Boundary, Info>::CC76_widening_assign(const From& y,
 	  x_ub = *k;
       }
       else
-	x.upper_set(UNBOUNDED);
+	x.upper_extend();
     }
   }
 
   // Lower bound.
-  if (!x.lower_is_unbounded()) {
+  if (!x.lower_is_boundary_infinity()) {
     Boundary& x_lb = x.lower();
     const Boundary& y_lb = y.lower();
-    assert(!y.lower_is_unbounded() && y_lb >= x_lb);
+    PPL_ASSERT(!y.lower_is_boundary_infinity() && y_lb >= x_lb);
     if (y_lb > x_lb) {
       Iterator k = std::lower_bound(first, last, x_lb);
       if (k != last) {
@@ -65,7 +117,7 @@ Interval<Boundary, Info>::CC76_widening_assign(const From& y,
 	  if (k != first)
 	    x_lb = *--k;
 	  else
-	    x.lower_set(UNBOUNDED);
+	    x.lower_extend();
 	}
       }
       else
@@ -75,6 +127,91 @@ Interval<Boundary, Info>::CC76_widening_assign(const From& y,
 }
 
 template <typename Boundary, typename Info>
+Interval<Boundary, Info>::Interval(const char* s) {
+  // Get the lower bound.
+  Boundary lower_bound;
+  Result lower_r = assign_r(lower_bound, s, ROUND_DOWN);
+  if (lower_r == V_CVT_STR_UNK || lower_r == V_NAN) {
+    throw std::invalid_argument("PPL::Interval(const char* s)"
+                                " with s invalid");
+  }
+  lower_r = result_relation_class(lower_r);
+
+  // Get the upper bound.
+  Boundary upper_bound;
+  Result upper_r = assign_r(upper_bound, s, ROUND_UP);
+  assert(upper_r != V_CVT_STR_UNK && upper_r != V_NAN);
+  upper_r = result_relation_class(upper_r);
+
+  // Buld the interval.
+  bool lower_open = false;
+  bool upper_open = false;
+  bool lower_boundary_infinity = false;
+  bool upper_boundary_infinity = false;
+  switch (lower_r) {
+  case V_EQ:
+  case V_GE:
+    break;
+  case V_GT:
+    lower_open = true;
+    break;
+  case V_EQ_MINUS_INFINITY:
+  case V_GT_MINUS_INFINITY:
+    lower_boundary_infinity = true;
+    break;
+  case V_EQ_PLUS_INFINITY:
+  case V_LT_PLUS_INFINITY:
+    if (upper_r == V_EQ_PLUS_INFINITY || upper_r == V_LT_PLUS_INFINITY)
+      assign(UNIVERSE);
+    else
+      assign(EMPTY);
+    break;
+  default:
+    PPL_ASSERT(false);
+  }
+  switch (upper_r) {
+  case V_EQ:
+  case V_LE:
+    break;
+  case V_LT:
+    upper_open = true;
+    break;
+  case V_EQ_MINUS_INFINITY:
+  case V_GT_MINUS_INFINITY:
+    if (lower_r == V_EQ_MINUS_INFINITY || lower_r == V_GT_MINUS_INFINITY)
+      assign(UNIVERSE);
+    else
+      assign(EMPTY);
+    break;
+  case V_EQ_PLUS_INFINITY:
+  case V_LT_PLUS_INFINITY:
+    upper_boundary_infinity = true;
+    break;
+  default:
+    PPL_ASSERT(false);
+  }
+
+  if (!lower_boundary_infinity
+      && !upper_boundary_infinity
+      && (lower_bound > upper_bound
+          || (lower_open && lower_bound == upper_bound)))
+    assign(EMPTY);
+  else {
+    if (lower_boundary_infinity)
+      special_set_boundary_infinity(LOWER, lower(), info());
+    else
+      Boundary_NS::assign(LOWER, lower(), info(),
+                          LOWER, lower_bound, SCALAR_INFO, lower_open);
+    if (upper_boundary_infinity)
+      special_set_boundary_infinity(UPPER, upper(), info());
+    else
+      Boundary_NS::assign(UPPER, upper(), info(),
+                          UPPER, upper_bound, SCALAR_INFO, upper_open);
+  }
+}
+
+
+template <typename Boundary, typename Info>
 inline std::istream&
 operator>>(std::istream& is, Interval<Boundary, Info>& x) {
   // Eat leading white space.
@@ -105,11 +242,12 @@ operator>>(std::istream& is, Interval<Boundary, Info>& x) {
 
   // Get the lower bound.
   Boundary lower_bound;
-  Result lower_r  = input(lower_bound, is, ROUND_DOWN);
-  if (lower_r == V_CVT_STR_UNK || lower_r == VC_NAN) {
+  Result lower_r = input(lower_bound, is, ROUND_DOWN);
+  if (lower_r == V_CVT_STR_UNK || lower_r == V_NAN) {
     is.setstate(std::ios_base::failbit);
     return is;
   }
+  lower_r = result_relation_class(lower_r);
 
   // Match the comma separating the lower and upper bounds.
   do {
@@ -124,10 +262,11 @@ operator>>(std::istream& is, Interval<Boundary, Info>& x) {
   // Get the upper bound.
   Boundary upper_bound;
   Result upper_r = input(upper_bound, is, ROUND_UP);
-  if (upper_r == V_CVT_STR_UNK || upper_r == VC_NAN) {
+  if (upper_r == V_CVT_STR_UNK || upper_r == V_NAN) {
     is.setstate(std::ios_base::failbit);
     return is;
   }
+  upper_r = result_relation_class(upper_r);
 
   // Get the closing parenthesis.
   do {
@@ -143,62 +282,67 @@ operator>>(std::istream& is, Interval<Boundary, Info>& x) {
   }
 
   // Buld interval.
-  bool lower_unbounded = false;
-  bool upper_unbounded = false;
+  bool lower_boundary_infinity = false;
+  bool upper_boundary_infinity = false;
   switch (lower_r) {
   case V_EQ:
+  case V_GE:
     break;
-  case V_LE:
+  case V_GT:
     lower_open = true;
     break;
-  case VC_MINUS_INFINITY:
-  case V_NEG_OVERFLOW:
-    lower_unbounded = true;
+  case V_EQ_MINUS_INFINITY:
+  case V_GT_MINUS_INFINITY:
+    lower_boundary_infinity = true;
     break;
-  case VC_PLUS_INFINITY:
-  case V_POS_OVERFLOW:
-    if (upper_r == VC_PLUS_INFINITY || upper_r == V_POS_OVERFLOW)
+  case V_EQ_PLUS_INFINITY:
+  case V_LT_PLUS_INFINITY:
+    if (upper_r == V_EQ_PLUS_INFINITY || upper_r == V_LT_PLUS_INFINITY)
       x.assign(UNIVERSE);
     else
       x.assign(EMPTY);
     return is;
   default:
-    assert(false);
+    PPL_ASSERT(false);
   }
   switch (upper_r) {
   case V_EQ:
+  case V_LE:
     break;
-  case V_GE:
+  case V_LT:
     upper_open = true;
     break;
-  case VC_MINUS_INFINITY:
-  case V_NEG_OVERFLOW:
-    if (lower_r == VC_MINUS_INFINITY || lower_r == V_NEG_OVERFLOW)
+  case V_EQ_MINUS_INFINITY:
+  case V_GT_MINUS_INFINITY:
+    if (lower_r == V_EQ_MINUS_INFINITY || lower_r == V_GT_MINUS_INFINITY)
       x.assign(UNIVERSE);
     else
       x.assign(EMPTY);
     return is;
-  case VC_PLUS_INFINITY:
-  case V_POS_OVERFLOW:
-    upper_unbounded = true;
+  case V_EQ_PLUS_INFINITY:
+  case V_LT_PLUS_INFINITY:
+    upper_boundary_infinity = true;
     break;
   default:
-    assert(false);
+    PPL_ASSERT(false);
   }
 
-  if (!lower_unbounded
-      && !upper_unbounded
+  if (!lower_boundary_infinity
+      && !upper_boundary_infinity
       && (lower_bound > upper_bound
 	  || (lower_open && lower_bound == upper_bound)))
     x.assign(EMPTY);
   else {
-    x.assign(UNIVERSE);
-    if (!lower_unbounded)
-      x.refine_existential((lower_open ? GREATER_THAN : GREATER_OR_EQUAL),
-			   lower_bound);
-    if (!upper_unbounded)
-      x.refine_existential((upper_open ? LESS_THAN : LESS_OR_EQUAL),
-			   upper_bound);
+    if (lower_boundary_infinity)
+      special_set_boundary_infinity(LOWER, x.lower(), x.info());
+    else
+      assign(LOWER, x.lower(), x.info(),
+             LOWER, lower_bound, SCALAR_INFO, lower_open);
+    if (upper_boundary_infinity)
+      special_set_boundary_infinity(UPPER, x.upper(), x.info());
+    else
+      assign(UPPER, x.upper(), x.info(),
+             UPPER, upper_bound, SCALAR_INFO, upper_open);
   }
   return is;
 }
@@ -210,21 +354,21 @@ Interval<Boundary, Info>::simplify_using_context_assign(const From& y) {
   // FIXME: the following code wrongly assumes that intervals are closed
   // and have no restrictions. It must be generalized.
   if (lt(UPPER, upper(), info(), LOWER, f_lower(y), f_info(y))) {
-    lower_set(UNBOUNDED);
+    lower_extend();
     return false;
   }
   if (gt(LOWER, lower(), info(), UPPER, f_upper(y), f_info(y))) {
-    upper_set(UNBOUNDED);
+    upper_extend();
     return false;
   }
   // Weakening the upper bound.
-  if (!upper_is_unbounded() && !y.upper_is_unbounded()
+  if (!upper_is_boundary_infinity() && !y.upper_is_boundary_infinity()
       && y.upper() <= upper())
-    upper_set(UNBOUNDED);
+    upper_extend();
   // Weakening the lower bound.
-  if (!lower_is_unbounded() && !y.lower_is_unbounded()
+  if (!lower_is_boundary_infinity() && !y.lower_is_boundary_infinity()
       && y.lower() >= lower())
-    lower_set(UNBOUNDED);
+    lower_extend();
   return true;
 }
 
diff --git a/src/Interval.types.hh b/src/Interval.types.hh
index 3f9914e..2181cd2 100644
--- a/src/Interval.types.hh
+++ b/src/Interval.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Interval_Info.defs.hh b/src/Interval_Info.defs.hh
index fef331d..0afeccb 100644
--- a/src/Interval_Info.defs.hh
+++ b/src/Interval_Info.defs.hh
@@ -1,5 +1,5 @@
 /* Interval_Info class declaration and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -102,7 +102,6 @@ class Interval_Info_Null {
 public:
   const_bool_nodef(may_be_empty, Policy::may_be_empty);
   const_bool_nodef(may_contain_infinity, Policy::may_contain_infinity);
-  const_bool_nodef(check_empty_result, Policy::check_empty_result);
   const_bool_nodef(check_inexact, Policy::check_inexact);
   const_bool_nodef(store_special, false);
   const_bool_nodef(store_open, false);
@@ -165,7 +164,6 @@ class Interval_Info_Bitset {
 public:
   const_bool_nodef(may_be_empty, Policy::may_be_empty);
   const_bool_nodef(may_contain_infinity, Policy::may_contain_infinity);
-  const_bool_nodef(check_empty_result, Policy::check_empty_result);
   const_bool_nodef(check_inexact, Policy::check_inexact);
   const_bool_nodef(store_special, Policy::store_special);
   const_bool_nodef(store_open, Policy::store_open);
@@ -277,7 +275,8 @@ public:
     case Interval_NS::Property::CARDINALITY_1_:
       return cache_singleton && get_bit(bitset, cardinality_1_bit);
     case Interval_NS::Property::CARDINALITY_IS_:
-      return (cache_empty || cache_singleton) && get_bit(bitset, cardinality_is_bit);
+      return (cache_empty || cache_singleton)
+        && get_bit(bitset, cardinality_is_bit);
     default:
       return false;
     }
diff --git a/src/Interval_Info.inlines.hh b/src/Interval_Info.inlines.hh
index 1f665a8..b6bc394 100644
--- a/src/Interval_Info.inlines.hh
+++ b/src/Interval_Info.inlines.hh
@@ -1,5 +1,5 @@
 /* Interval_Info class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Interval_Info.types.hh b/src/Interval_Info.types.hh
index d2526de..46c6e53 100644
--- a/src/Interval_Info.types.hh
+++ b/src/Interval_Info.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Interval_Restriction.defs.hh b/src/Interval_Restriction.defs.hh
index 393010d..b3dfc32 100644
--- a/src/Interval_Restriction.defs.hh
+++ b/src/Interval_Restriction.defs.hh
@@ -1,5 +1,5 @@
 /* Interval_Restriction class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -131,7 +131,7 @@ class Interval_Restriction_None : public Interval_Restriction_None_Base,
 				  public Base {
 public:
   Interval_Restriction_None() {
-  };
+  }
   template <typename T>
   Interval_Restriction_None(const T& init)
     : Base(init) {
@@ -178,7 +178,7 @@ public:
     case V_LE:
       return floor_assign_r(x, x, rdir);
     default:
-      assert(false);
+      PPL_ASSERT(false);
       return dir;
     }
   }
@@ -342,16 +342,16 @@ public:
     PPL_DIRTY_TEMP(V, div);
     Result r;
     r = assign_r(div, divisor, ROUND_CHECK);
-    assert(r == V_EQ);
+    PPL_ASSERT(r == V_EQ);
     int s;
     r = rem_assign_r(n, x, div, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
+    PPL_ASSERT(r == V_EQ);
     s = sgn(n);
     switch (dir) {
     case V_GT:
       if (s >= 0) {
 	r = sub_assign_r(n, div, n, ROUND_NOT_NEEDED);
-	assert(r == V_EQ);
+	PPL_ASSERT(r == V_EQ);
 	return add_assign_r(x, x, n, rdir);
       }
       else
@@ -359,7 +359,7 @@ public:
     case V_GE:
       if (s > 0) {
 	r = sub_assign_r(n, div, n, ROUND_NOT_NEEDED);
-	assert(r == V_EQ);
+	PPL_ASSERT(r == V_EQ);
 	return add_assign_r(x, x, n, rdir);
       }
       else if (s < 0)
@@ -369,7 +369,7 @@ public:
     case V_LT:
       if (s <= 0) {
 	r = add_assign_r(n, div, n, ROUND_NOT_NEEDED);
-	assert(r == V_EQ);
+	PPL_ASSERT(r == V_EQ);
 	return sub_assign_r(x, x, n, rdir);
       }
       else
@@ -377,7 +377,7 @@ public:
     case V_LE:
       if (s < 0) {
 	r = add_assign_r(n, div, n, ROUND_NOT_NEEDED);
-	assert(r == V_EQ);
+	PPL_ASSERT(r == V_EQ);
 	return sub_assign_r(x, x, n, rdir);
       }
       else if (s > 0)
@@ -385,7 +385,7 @@ public:
       else
 	return V_EQ;
     default:
-      assert(false);
+      PPL_ASSERT(false);
       return dir;
     }
   }
@@ -490,11 +490,11 @@ contains_restriction(const T1& x, const T2& y) {
   PPL_DIRTY_TEMP(typename T1::modulo_type, v);
   Result r;
   r = rem_assign_r(v, y.divisor, x.divisor, ROUND_NOT_NEEDED);
-  assert(r == V_EQ);
+  PPL_ASSERT(r == V_EQ);
   if (v != 0)
     return false;
   r = rem_assign_r(v, y.remainder, x.divisor, ROUND_NOT_NEEDED);
-  assert(r == V_EQ);
+  PPL_ASSERT(r == V_EQ);
   return v == x.remainder;
 }
 
@@ -633,22 +633,22 @@ addmod(T& to, const T& x, const T& y, const T& to_m, const T& y_m) {
   Result r;
   if (std::numeric_limits<T>::is_bounded) {
     r = sub_assign_r(to, y_m, y, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
+    PPL_ASSERT(r == V_EQ);
     if (x <= to) {
       r = add_assign_r(to, x, y, ROUND_NOT_NEEDED);
-      assert(r == V_EQ);
+      PPL_ASSERT(r == V_EQ);
     }
     else {
       r = sub_assign_r(to, x, to, ROUND_NOT_NEEDED);
-      assert(r == V_EQ);
+      PPL_ASSERT(r == V_EQ);
     }
   }
   else {
     r = add_assign_r(to, x, y, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
+    PPL_ASSERT(r == V_EQ);
   }
   r = rem_assign_r(to, to, to_m, ROUND_NOT_NEEDED);
-  assert(r == V_EQ);
+  PPL_ASSERT(r == V_EQ);
 }
 
 template <typename M, typename T>
@@ -692,19 +692,19 @@ add_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From1& x
     if (!assign_rem(rem, f_lower(x), ry.divisor))
       return set_integer(to);
     r = assign_r(to.divisor, ry.divisor, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
+    PPL_ASSERT(r == V_EQ);
     addmod(to.remainder, rem, ry.remainder, to.divisor, ry.divisor);
   }
   else if (is_singleton(y)) {
     if (!assign_rem(rem, f_lower(y), rx.divisor))
       return set_integer(to);
     r = assign_r(to.divisor, rx.divisor, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
+    PPL_ASSERT(r == V_EQ);
     addmod(to.remainder, rx.remainder, rem, to.divisor, to.divisor);
   }
   else {
     r = gcd_assign_r(to.divisor, rx.divisor, ry.divisor, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
+    PPL_ASSERT(r == V_EQ);
     addmod(to.remainder, rx.remainder, ry.remainder, to.divisor, ry.divisor);
   }
   return true;
@@ -716,16 +716,16 @@ submod(T& to, const T& x, const T& y, const T& to_m, const T& y_m) {
   Result r;
   if (x >= y) {
     r = sub_assign_r(to, x, y, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
+    PPL_ASSERT(r == V_EQ);
   }
   else {
     r = sub_assign_r(to, y_m, y, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
+    PPL_ASSERT(r == V_EQ);
     r = add_assign_r(to, x, to, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
+    PPL_ASSERT(r == V_EQ);
   }
   r = rem_assign_r(to, to, to_m, ROUND_NOT_NEEDED);
-  assert(r == V_EQ);
+  PPL_ASSERT(r == V_EQ);
 }
 
 template <typename T, typename Base, typename From1, typename From2>
@@ -747,19 +747,19 @@ sub_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From1& x
     if (!assign_rem(rem, f_lower(x), ry.divisor))
       return set_integer(to);
     r = assign_r(to.divisor, ry.divisor, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
+    PPL_ASSERT(r == V_EQ);
     submod(to.remainder, rem, ry.remainder, to.divisor, ry.divisor);
   }
   else if (is_singleton(y)) {
     if (!assign_rem(rem, f_lower(y), rx.divisor))
       return set_integer(to);
     r = assign_r(to.divisor, rx.divisor, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
+    PPL_ASSERT(r == V_EQ);
     submod(to.remainder, rx.remainder, rem, to.divisor, to.divisor);
   }
   else {
     r = gcd_assign_r(to.divisor, rx.divisor, ry.divisor, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
+    PPL_ASSERT(r == V_EQ);
     submod(to.remainder, rx.remainder, ry.remainder, to.divisor, ry.divisor);
   }
   return true;
@@ -773,23 +773,23 @@ mulmod(T& to, const T& x, const T& y, const T& to_m) {
     PPL_DIRTY_TEMP0(mpz_class, a);
     PPL_DIRTY_TEMP0(mpz_class, b);
     r = assign_r(a, x, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
+    PPL_ASSERT(r == V_EQ);
     r = assign_r(b, y, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
+    PPL_ASSERT(r == V_EQ);
     r = mul_assign_r(a, a, b, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
+    PPL_ASSERT(r == V_EQ);
     r = assign_r(b, to_m, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
+    PPL_ASSERT(r == V_EQ);
     r = rem_assign_r(a, a, b, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
+    PPL_ASSERT(r == V_EQ);
     r = assign_r(to, a, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
+    PPL_ASSERT(r == V_EQ);
   }
   else {
     r = mul_assign_r(to, x, y, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
+    PPL_ASSERT(r == V_EQ);
     r = rem_assign_r(to, to, to_m, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
+    PPL_ASSERT(r == V_EQ);
   }
 }
 
@@ -841,7 +841,7 @@ mul_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From1& x
   }
   else {
     r = gcd_assign_r(to.divisor, rx.divisor, ry.divisor, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
+    PPL_ASSERT(r == V_EQ);
     mulmod(to.remainder, rx.remainder, ry.remainder, to.divisor);
   }
   return true;
diff --git a/src/Linear_Expression.cc b/src/Linear_Expression.cc
index 23b4ca1..cd8ace8 100644
--- a/src/Linear_Expression.cc
+++ b/src/Linear_Expression.cc
@@ -1,5 +1,5 @@
 /* Linear_Expression class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -29,6 +29,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Grid_Generator.defs.hh"
 #include "Congruence.defs.hh"
 #include <stdexcept>
+#include <iostream>
 
 namespace PPL = Parma_Polyhedra_Library;
 
@@ -59,13 +60,13 @@ const PPL::Linear_Expression* PPL::Linear_Expression::zero_p = 0;
 
 void
 PPL::Linear_Expression::initialize() {
-  assert(zero_p == 0);
+  PPL_ASSERT(zero_p == 0);
   zero_p = new Linear_Expression(Coefficient_zero());
 }
 
 void
 PPL::Linear_Expression::finalize() {
-  assert(zero_p != 0);
+  PPL_ASSERT(zero_p != 0);
   delete zero_p;
   zero_p = 0;
 }
@@ -285,10 +286,10 @@ PPL::operator+=(Linear_Expression& e1, const Linear_Expression& e2) {
     for (dimension_type i = e2_size; i-- > 0; )
       e1[i] += e2[i];
   else {
-    Linear_Expression e(e2);
+    Linear_Expression new_e(e2);
     for (dimension_type i = e1_size; i-- > 0; )
-      e[i] += e1[i];
-    std::swap(e1, e);
+      new_e[i] += e1[i];
+    e1.swap(new_e);
   }
   return e1;
 }
@@ -304,7 +305,7 @@ PPL::operator+=(Linear_Expression& e, const Variable v) {
   const dimension_type e_size = e.size();
   if (e_size <= v_space_dim) {
     Linear_Expression new_e(e, v_space_dim+1);
-    std::swap(e, new_e);
+    e.swap(new_e);
   }
   ++e[v_space_dim];
   return e;
@@ -319,10 +320,10 @@ PPL::operator-=(Linear_Expression& e1, const Linear_Expression& e2) {
     for (dimension_type i = e2_size; i-- > 0; )
       e1[i] -= e2[i];
   else {
-    Linear_Expression e(e1, e2_size);
+    Linear_Expression new_e(e1, e2_size);
     for (dimension_type i = e2_size; i-- > 0; )
-      e[i] -= e2[i];
-    std::swap(e1, e);
+      new_e[i] -= e2[i];
+    e1.swap(new_e);
   }
   return e1;
 }
@@ -338,7 +339,7 @@ PPL::operator-=(Linear_Expression& e, const Variable v) {
   const dimension_type e_size = e.size();
   if (e_size <= v_space_dim) {
     Linear_Expression new_e(e, v_space_dim+1);
-    std::swap(e, new_e);
+    e.swap(new_e);
   }
   --e[v_space_dim];
   return e;
@@ -353,6 +354,44 @@ PPL::operator*=(Linear_Expression& e, Coefficient_traits::const_reference n) {
   return e;
 }
 
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+PPL::Linear_Expression&
+PPL::add_mul_assign(Linear_Expression& e,
+                    Coefficient_traits::const_reference n,
+                    const Variable v) {
+  const dimension_type v_space_dim = v.space_dimension();
+  if (v_space_dim > Linear_Expression::max_space_dimension())
+    throw std::length_error("Linear_Expression& "
+                            "PPL::add_mul_assign(e, n, v):\n"
+			    "v exceeds the maximum allowed space dimension.");
+  const dimension_type e_size = e.size();
+  if (e_size <= v_space_dim) {
+    Linear_Expression new_e(e, v_space_dim+1);
+    e.swap(new_e);
+  }
+  e[v_space_dim] += n;
+  return e;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+PPL::Linear_Expression&
+PPL::sub_mul_assign(Linear_Expression& e,
+                    Coefficient_traits::const_reference n,
+                    const Variable v) {
+  const dimension_type v_space_dim = v.space_dimension();
+  if (v_space_dim > Linear_Expression::max_space_dimension())
+    throw std::length_error("Linear_Expression& "
+                            "PPL::sub_mul_assign(e, n, v):\n"
+			    "v exceeds the maximum allowed space dimension.");
+  const dimension_type e_size = e.size();
+  if (e_size <= v_space_dim) {
+    Linear_Expression new_e(e, v_space_dim+1);
+    e.swap(new_e);
+  }
+  e[v_space_dim] -= n;
+  return e;
+}
+
 bool
 PPL::Linear_Expression::OK() const {
   return Linear_Row::OK();
diff --git a/src/Linear_Expression.defs.hh b/src/Linear_Expression.defs.hh
index 6b1adc1..222ba57 100644
--- a/src/Linear_Expression.defs.hh
+++ b/src/Linear_Expression.defs.hh
@@ -1,5 +1,5 @@
 /* Linear_Expression class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -166,6 +166,18 @@ operator-=(Linear_Expression& e, Coefficient_traits::const_reference n);
 Linear_Expression&
 operator*=(Linear_Expression& e, Coefficient_traits::const_reference n);
 
+//! Returns the linear expression \p e + \p n * \p v and assigns it to \p e.
+/*! \relates Linear_Expression */
+Linear_Expression&
+add_mul_assign(Linear_Expression& e,
+               Coefficient_traits::const_reference n, Variable v);
+
+//! Returns the linear expression \p e - \p n * \p v and assigns it to \p e.
+/*! \relates Linear_Expression */
+Linear_Expression&
+sub_mul_assign(Linear_Expression& e,
+               Coefficient_traits::const_reference n, Variable v);
+
 namespace IO_Operators {
 
 //! Output operator.
@@ -238,7 +250,7 @@ public:
   //! Default constructor: returns a copy of Linear_Expression::zero().
   Linear_Expression();
 
-  //! Ordinary copy-constructor.
+  //! Ordinary copy constructor.
   Linear_Expression(const Linear_Expression& e);
 
   //! Destructor.
@@ -316,6 +328,15 @@ public:
   //! Returns the inhomogeneous term of \p *this.
   Coefficient_traits::const_reference inhomogeneous_term() const;
 
+  //! Returns <CODE>true</CODE> if and only if \p *this is \f$0\f$.
+  bool is_zero() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if all the homogeneous
+    terms of \p *this are \f$0\f$.
+  */
+  bool all_homogeneous_terms_are_zero() const;
+
   //! Initializes the class.
   static void initialize();
 
@@ -382,7 +403,7 @@ private:
   // Grid_Generator_System::affine_image().
   friend class Parma_Polyhedra_Library::Grid_Generator_System;
 
-  //! Copy-constructor with a specified space dimension.
+  //! Copy constructor with a specified space dimension.
   Linear_Expression(const Linear_Expression& e, dimension_type sz);
 
   //! Implementation sizing constructor.
@@ -451,6 +472,13 @@ private:
   friend Linear_Expression&
   operator*=(Linear_Expression& e, Coefficient_traits::const_reference n);
 
+  friend Linear_Expression&
+  add_mul_assign(Linear_Expression& e,
+                 Coefficient_traits::const_reference n, Variable v);
+  friend Linear_Expression&
+  sub_mul_assign(Linear_Expression& e,
+                 Coefficient_traits::const_reference n, Variable v);
+
   friend std::ostream&
   Parma_Polyhedra_Library::IO_Operators
   ::operator<<(std::ostream& s, const Linear_Expression& e);
diff --git a/src/Linear_Expression.inlines.hh b/src/Linear_Expression.inlines.hh
index 535fa91..d587be2 100644
--- a/src/Linear_Expression.inlines.hh
+++ b/src/Linear_Expression.inlines.hh
@@ -1,5 +1,5 @@
 /* Linear_Expression class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -82,9 +82,19 @@ Linear_Expression::inhomogeneous_term() const {
   return Linear_Row::inhomogeneous_term();
 }
 
+inline bool
+Linear_Expression::is_zero() const {
+  return Linear_Row::is_zero();
+}
+
+inline bool
+Linear_Expression::all_homogeneous_terms_are_zero() const {
+  return Linear_Row::all_homogeneous_terms_are_zero();
+}
+
 inline const Linear_Expression&
 Linear_Expression::zero() {
-  assert(zero_p != 0);
+  PPL_ASSERT(zero_p != 0);
   return *zero_p;
 }
 
diff --git a/src/Linear_Expression.types.hh b/src/Linear_Expression.types.hh
index dd9ec88..9ede6c7 100644
--- a/src/Linear_Expression.types.hh
+++ b/src/Linear_Expression.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Linear_Row.cc b/src/Linear_Row.cc
index f536abe..6bccb92 100644
--- a/src/Linear_Row.cc
+++ b/src/Linear_Row.cc
@@ -1,5 +1,5 @@
 /* Linear_Row class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -103,8 +103,8 @@ void
 PPL::Linear_Row::linear_combine(const Linear_Row& y, const dimension_type k) {
   Linear_Row& x = *this;
   // We can combine only vector of the same dimension.
-  assert(x.size() == y.size());
-  assert(y[k] != 0 && x[k] != 0);
+  PPL_ASSERT(x.size() == y.size());
+  PPL_ASSERT(y[k] != 0 && x[k] != 0);
   // Let g be the GCD between `x[k]' and `y[k]'.
   // For each i the following computes
   //   x[i] = x[i]*y[k]/g - y[i]*x[k]/g.
@@ -122,6 +122,15 @@ PPL::Linear_Row::linear_combine(const Linear_Row& y, const dimension_type k) {
 }
 
 bool
+PPL::Linear_Row::is_zero() const {
+  const Linear_Row& x = *this;
+  for (dimension_type i = x.size(); i-- > 0; )
+    if (x[i] != 0)
+      return false;
+  return true;
+}
+
+bool
 PPL::Linear_Row::all_homogeneous_terms_are_zero() const {
   const Linear_Row& x = *this;
   for (dimension_type i = x.size(); --i > 0; )
diff --git a/src/Linear_Row.defs.hh b/src/Linear_Row.defs.hh
index b3f38b7..5163224 100644
--- a/src/Linear_Row.defs.hh
+++ b/src/Linear_Row.defs.hh
@@ -1,5 +1,5 @@
 /* Linear_Row class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -360,6 +360,12 @@ public:
   void linear_combine(const Linear_Row& y, dimension_type k);
 
   /*! \brief
+    Returns <CODE>true</CODE> if and only if all the
+    terms of \p *this are \f$0\f$.
+  */
+  bool is_zero() const;
+
+  /*! \brief
     Returns <CODE>true</CODE> if and only if all the homogeneous
     terms of \p *this are \f$0\f$.
   */
diff --git a/src/Linear_Row.inlines.hh b/src/Linear_Row.inlines.hh
index f9d1899..17e3b31 100644
--- a/src/Linear_Row.inlines.hh
+++ b/src/Linear_Row.inlines.hh
@@ -1,5 +1,5 @@
 /* Linear_Row class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -24,7 +24,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #define PPL_Linear_Row_inlines_hh 1
 
 #include "globals.defs.hh"
-#include <cassert>
+#include "assert.hh"
 #include <algorithm>
 
 namespace Parma_Polyhedra_Library {
@@ -54,7 +54,7 @@ Linear_Row::Flags::Flags(const Topology t, const Kind k)
 
 inline bool
 Linear_Row::Flags::is_ray_or_point_or_inequality() const {
-  assert(test_bits(1 << rpi_validity_bit));
+  PPL_ASSERT(test_bits(1 << rpi_validity_bit));
   return test_bits(RAY_OR_POINT_OR_INEQUALITY << rpi_bit);
 }
 
@@ -68,7 +68,7 @@ Linear_Row::Flags::set_is_ray_or_point_or_inequality() {
 
 inline bool
 Linear_Row::Flags::is_line_or_equality() const {
-  assert(test_bits(1 << rpi_validity_bit));
+  PPL_ASSERT(test_bits(1 << rpi_validity_bit));
   return !is_ray_or_point_or_inequality();
 }
 
@@ -82,13 +82,13 @@ Linear_Row::Flags::set_is_line_or_equality() {
 
 inline bool
 Linear_Row::Flags::is_not_necessarily_closed() const {
-  assert(test_bits(1 << nnc_validity_bit));
+  PPL_ASSERT(test_bits(1 << nnc_validity_bit));
   return test_bits(NOT_NECESSARILY_CLOSED << nnc_bit);
 }
 
 inline bool
 Linear_Row::Flags::is_necessarily_closed() const {
-  assert(test_bits(1 << nnc_validity_bit));
+  PPL_ASSERT(test_bits(1 << nnc_validity_bit));
   return !is_not_necessarily_closed();
 }
 
diff --git a/src/Linear_Row.types.hh b/src/Linear_Row.types.hh
index 2ea7dde..ced1dce 100644
--- a/src/Linear_Row.types.hh
+++ b/src/Linear_Row.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Linear_System.cc b/src/Linear_System.cc
index f5e651d..98192ee 100644
--- a/src/Linear_System.cc
+++ b/src/Linear_System.cc
@@ -1,5 +1,5 @@
 /* Linear_System class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -38,7 +38,7 @@ namespace PPL = Parma_Polyhedra_Library;
 
 PPL::dimension_type
 PPL::Linear_System::num_lines_or_equalities() const {
-  assert(num_pending_rows() == 0);
+  PPL_ASSERT(num_pending_rows() == 0);
   const Linear_System& x = *this;
   dimension_type n = 0;
   for (dimension_type i = num_rows(); i-- > 0; )
@@ -49,10 +49,10 @@ PPL::Linear_System::num_lines_or_equalities() const {
 
 void
 PPL::Linear_System::merge_rows_assign(const Linear_System& y) {
-  assert(row_size >= y.row_size);
+  PPL_ASSERT(row_size >= y.row_size);
   // Both systems have to be sorted and have no pending rows.
-  assert(check_sorted() && y.check_sorted());
-  assert(num_pending_rows() == 0 && y.num_pending_rows() == 0);
+  PPL_ASSERT(check_sorted() && y.check_sorted());
+  PPL_ASSERT(num_pending_rows() == 0 && y.num_pending_rows() == 0);
 
   Linear_System& x = *this;
 
@@ -95,7 +95,7 @@ PPL::Linear_System::merge_rows_assign(const Linear_System& y) {
   std::swap(tmp, rows);
   // There are no pending rows.
   unset_pending_rows();
-  assert(check_sorted());
+  PPL_ASSERT(check_sorted());
 }
 
 void
@@ -174,7 +174,7 @@ PPL::Linear_System::ascii_load(std::istream& s) {
       return false;
 
   // Check invariants.
-  assert(OK(true));
+  PPL_ASSERT(OK(true));
   return true;
 }
 
@@ -182,10 +182,10 @@ void
 PPL::Linear_System::insert(const Linear_Row& r) {
   // The added row must be strongly normalized and have the same
   // topology of the system.
-  assert(r.check_strong_normalized());
-  assert(topology() == r.topology());
+  PPL_ASSERT(r.check_strong_normalized());
+  PPL_ASSERT(topology() == r.topology());
   // This method is only used when the system has no pending rows.
-  assert(num_pending_rows() == 0);
+  PPL_ASSERT(num_pending_rows() == 0);
 
   const dimension_type old_num_rows = num_rows();
   const dimension_type old_num_columns = num_columns();
@@ -213,18 +213,18 @@ PPL::Linear_System::insert(const Linear_Row& r) {
     add_row(r);
 
   // The added row was not a pending row.
-  assert(num_pending_rows() == 0);
+  PPL_ASSERT(num_pending_rows() == 0);
   // Do not check for strong normalization,
   // because no modification of rows has occurred.
-  assert(OK(false));
+  PPL_ASSERT(OK(false));
 }
 
 void
 PPL::Linear_System::insert_pending(const Linear_Row& r) {
   // The added row must be strongly normalized and have the same
   // topology of the system.
-  assert(r.check_strong_normalized());
-  assert(topology() == r.topology());
+  PPL_ASSERT(r.check_strong_normalized());
+  PPL_ASSERT(topology() == r.topology());
 
   const dimension_type old_num_rows = num_rows();
   const dimension_type old_num_columns = num_columns();
@@ -254,16 +254,16 @@ PPL::Linear_System::insert_pending(const Linear_Row& r) {
     add_pending_row(r);
 
   // The added row was a pending row.
-  assert(num_pending_rows() > 0);
+  PPL_ASSERT(num_pending_rows() > 0);
   // Do not check for strong normalization,
   // because no modification of rows has occurred.
-  assert(OK(false));
+  PPL_ASSERT(OK(false));
 }
 
 void
 PPL::Linear_System::add_pending_rows(const Linear_System& y) {
   Linear_System& x = *this;
-  assert(x.row_size == y.row_size);
+  PPL_ASSERT(x.row_size == y.row_size);
 
   const dimension_type x_n_rows = x.num_rows();
   const dimension_type y_n_rows = y.num_rows();
@@ -279,12 +279,12 @@ PPL::Linear_System::add_pending_rows(const Linear_System& y) {
   }
   // Do not check for strong normalization,
   // because no modification of rows has occurred.
-  assert(OK(false));
+  PPL_ASSERT(OK(false));
 }
 
 void
 PPL::Linear_System::add_rows(const Linear_System& y) {
-  assert(num_pending_rows() == 0);
+  PPL_ASSERT(num_pending_rows() == 0);
 
   // Adding no rows is a no-op.
   if (y.has_no_rows())
@@ -309,7 +309,7 @@ PPL::Linear_System::add_rows(const Linear_System& y) {
 
   // Do not check for strong normalization,
   // because no modification of rows has occurred.
-  assert(OK(false));
+  PPL_ASSERT(OK(false));
 }
 
 void
@@ -321,15 +321,15 @@ PPL::Linear_System::sort_rows() {
   sorted = true;
   // Do not check for strong normalization,
   // because no modification of rows has occurred.
-  assert(OK(false));
+  PPL_ASSERT(OK(false));
 }
 
 void
 PPL::Linear_System::sort_rows(const dimension_type first_row,
 			      const dimension_type last_row) {
-  assert(first_row <= last_row && last_row <= num_rows());
+  PPL_ASSERT(first_row <= last_row && last_row <= num_rows());
   // We cannot mix pending and non-pending rows.
-  assert(first_row >= first_pending_row() || last_row <= first_pending_row());
+  PPL_ASSERT(first_row >= first_pending_row() || last_row <= first_pending_row());
 
   // First sort without removing duplicates.
   std::vector<Row>::iterator first = rows.begin() + first_row;
@@ -347,10 +347,10 @@ void
 PPL::Linear_System::add_row(const Linear_Row& r) {
   // The added row must be strongly normalized and have the same
   // number of elements as the existing rows of the system.
-  assert(r.check_strong_normalized());
-  assert(r.size() == row_size);
+  PPL_ASSERT(r.check_strong_normalized());
+  PPL_ASSERT(r.size() == row_size);
   // This method is only used when the system has no pending rows.
-  assert(num_pending_rows() == 0);
+  PPL_ASSERT(num_pending_rows() == 0);
 
   const bool was_sorted = is_sorted();
 
@@ -375,18 +375,18 @@ PPL::Linear_System::add_row(const Linear_Row& r) {
       set_sorted(true);
   }
   // The added row was not a pending row.
-  assert(num_pending_rows() == 0);
+  PPL_ASSERT(num_pending_rows() == 0);
   // Do not check for strong normalization, because no modification of
   // rows has occurred.
-  assert(OK(false));
+  PPL_ASSERT(OK(false));
 }
 
 void
 PPL::Linear_System::add_pending_row(const Linear_Row& r) {
   // The added row must be strongly normalized and have the same
   // number of elements of the existing rows of the system.
-  assert(r.check_strong_normalized());
-  assert(r.size() == row_size);
+  PPL_ASSERT(r.check_strong_normalized());
+  PPL_ASSERT(r.size() == row_size);
 
   const dimension_type new_rows_size = rows.size() + 1;
   if (rows.capacity() < new_rows_size) {
@@ -413,10 +413,10 @@ PPL::Linear_System::add_pending_row(const Linear_Row& r) {
   }
 
   // The added row was a pending row.
-  assert(num_pending_rows() > 0);
+  PPL_ASSERT(num_pending_rows() > 0);
   // Do not check for strong normalization, because no modification of
   // rows has occurred.
-  assert(OK(false));
+  PPL_ASSERT(OK(false));
 }
 
 void
@@ -446,7 +446,7 @@ PPL::Linear_System::add_pending_row(const Linear_Row::Flags flags) {
   }
 
   // The added row was a pending row.
-  assert(num_pending_rows() > 0);
+  PPL_ASSERT(num_pending_rows() > 0);
 }
 
 void
@@ -503,7 +503,7 @@ void
 PPL::Linear_System::sort_and_remove_with_sat(Bit_Matrix& sat) {
   Linear_System& sys = *this;
   // We can only sort the non-pending part of the system.
-  assert(sys.first_pending_row() == sat.num_rows());
+  PPL_ASSERT(sys.first_pending_row() == sat.num_rows());
   if (sys.first_pending_row() <= 1) {
     sys.set_sorted(true);
     return;
@@ -531,7 +531,7 @@ PPL::Linear_System::sort_and_remove_with_sat(Bit_Matrix& sat) {
   sys.set_index_first_pending_row(new_first_pending_row);
   // ... and the corresponding rows of the saturation matrix.
   sat.rows_erase_to_end(sat.num_rows() - num_duplicates);
-  assert(sys.check_sorted());
+  PPL_ASSERT(sys.check_sorted());
   // Now the system is sorted.
   sys.set_sorted(true);
 }
@@ -543,12 +543,12 @@ PPL::Linear_System::gauss(const dimension_type n_lines_or_equalities) {
   // having no pending rows and exactly `n_lines_or_equalities'
   // lines or equalities, all of which occur before the rays or points
   // or inequalities.
-  assert(x.OK(true));
-  assert(x.num_pending_rows() == 0);
-  assert(n_lines_or_equalities == x.num_lines_or_equalities());
+  PPL_ASSERT(x.OK(true));
+  PPL_ASSERT(x.num_pending_rows() == 0);
+  PPL_ASSERT(n_lines_or_equalities == x.num_lines_or_equalities());
 #ifndef NDEBUG
   for (dimension_type i = n_lines_or_equalities; i-- > 0; )
-    assert(x[i].is_line_or_equality());
+    PPL_ASSERT(x[i].is_line_or_equality());
 #endif
 
   dimension_type rank = 0;
@@ -583,7 +583,7 @@ PPL::Linear_System::gauss(const dimension_type n_lines_or_equalities) {
   if (changed)
     x.set_sorted(false);
   // A well-formed system is returned.
-  assert(x.OK(true));
+  PPL_ASSERT(x.OK(true));
   return rank;
 }
 
@@ -595,13 +595,13 @@ PPL::Linear_System
   // having no pending rows and exactly `n_lines_or_equalities'
   // lines or equalities, all of which occur before the first ray
   // or point or inequality.
-  assert(x.OK(true));
-  assert(x.num_columns() >= 1);
-  assert(x.num_pending_rows() == 0);
-  assert(n_lines_or_equalities <= x.num_lines_or_equalities());
+  PPL_ASSERT(x.OK(true));
+  PPL_ASSERT(x.num_columns() >= 1);
+  PPL_ASSERT(x.num_pending_rows() == 0);
+  PPL_ASSERT(n_lines_or_equalities <= x.num_lines_or_equalities());
 #ifndef NDEBUG
   for (dimension_type i = n_lines_or_equalities; i-- > 0; )
-    assert(x[i].is_line_or_equality());
+    PPL_ASSERT(x[i].is_line_or_equality());
 #endif
 
   const dimension_type nrows = x.num_rows();
@@ -683,7 +683,7 @@ PPL::Linear_System
   x.set_sorted(still_sorted);
 
   // A well-formed system is returned.
-  assert(x.OK(true));
+  PPL_ASSERT(x.OK(true));
 }
 
 void
@@ -691,8 +691,8 @@ PPL::Linear_System::simplify() {
   Linear_System& x = *this;
   // This method is only applied to a well-formed system
   // having no pending rows.
-  assert(x.OK(true));
-  assert(x.num_pending_rows() == 0);
+  PPL_ASSERT(x.OK(true));
+  PPL_ASSERT(x.num_pending_rows() == 0);
 
   // Partially sort the linear system so that all lines/equalities come first.
   dimension_type nrows = x.num_rows();
@@ -702,7 +702,7 @@ PPL::Linear_System::simplify() {
       if (n_lines_or_equalities < i) {
 	std::swap(x[i], x[n_lines_or_equalities]);
 	// The system was not sorted.
-	assert(!x.sorted);
+	PPL_ASSERT(!x.sorted);
       }
       ++n_lines_or_equalities;
     }
@@ -726,12 +726,12 @@ PPL::Linear_System::simplify() {
   // Apply back-substitution to the system of rays/points/inequalities.
   x.back_substitute(n_lines_or_equalities);
   // A well-formed system is returned.
-  assert(x.OK(true));
+  PPL_ASSERT(x.OK(true));
 }
 
 void
 PPL::Linear_System::add_rows_and_columns(const dimension_type n) {
-  assert(n > 0);
+  PPL_ASSERT(n > 0);
   const bool was_sorted = is_sorted();
   const dimension_type old_n_rows = num_rows();
   const dimension_type old_n_columns = num_columns();
@@ -761,13 +761,13 @@ PPL::Linear_System::add_rows_and_columns(const dimension_type n) {
     set_sorted(compare(x[n-1], x[n]) <= 0);
 
   // A well-formed system has to be returned.
-  assert(OK(true));
+  PPL_ASSERT(OK(true));
 }
 
 void
 PPL::Linear_System::sort_pending_and_remove_duplicates() {
-  assert(num_pending_rows() > 0);
-  assert(is_sorted());
+  PPL_ASSERT(num_pending_rows() > 0);
+  PPL_ASSERT(is_sorted());
   Linear_System& x = *this;
 
   // The non-pending part of the system is already sorted.
@@ -817,7 +817,7 @@ PPL::Linear_System::sort_pending_and_remove_duplicates() {
   }
   // Do not check for strong normalization,
   // because no modification of rows has occurred.
-  assert(OK(false));
+  PPL_ASSERT(OK(false));
 }
 
 bool
diff --git a/src/Linear_System.defs.hh b/src/Linear_System.defs.hh
index 6a798f2..9fbc27d 100644
--- a/src/Linear_System.defs.hh
+++ b/src/Linear_System.defs.hh
@@ -1,5 +1,5 @@
 /* Linear_System class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -80,7 +80,7 @@ public:
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
   //! A tag class.
   /*! \ingroup PPL_CXX_interface
-    Tag class to differentiate the Linear_System copy-constructor that
+    Tag class to differentiate the Linear_System copy constructor that
     copies pending rows as pending from the one that transforms
     pending rows into non-pending ones.
   */
@@ -88,10 +88,10 @@ public:
   struct With_Pending {
   };
 
-  //! Copy-constructor: pending rows are transformed into non-pending ones.
+  //! Copy constructor: pending rows are transformed into non-pending ones.
   Linear_System(const Linear_System& y);
 
-  //! Full copy-constructor: pending rows are copied as pending.
+  //! Full copy constructor: pending rows are copied as pending.
   Linear_System(const Linear_System& y, With_Pending);
 
   //! Assignment operator: pending rows are transformed into non-pending ones.
@@ -451,7 +451,7 @@ public:
   //! Constructor.
   With_Bit_Matrix_iterator(Iter1 iter1, Iter2 iter2);
 
-  //! Copy-constructor.
+  //! Copy constructor.
   With_Bit_Matrix_iterator(const With_Bit_Matrix_iterator& y);
 
   //! Destructor.
diff --git a/src/Linear_System.inlines.hh b/src/Linear_System.inlines.hh
index 9fd491f..57b763b 100644
--- a/src/Linear_System.inlines.hh
+++ b/src/Linear_System.inlines.hh
@@ -1,5 +1,5 @@
 /* Linear_System class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -43,7 +43,7 @@ Linear_System::is_sorted() const {
   // of a system (if `sorted' evaluates to `false' nothing is known).
   // This assertion is used to ensure that the system
   // is actually sorted when `sorted' value is 'true'.
-  assert(!sorted || check_sorted());
+  PPL_ASSERT(!sorted || check_sorted());
   return sorted;
 }
 
@@ -76,7 +76,7 @@ Linear_System::first_pending_row() const {
 
 inline dimension_type
 Linear_System::num_pending_rows() const {
-  assert(num_rows() >= first_pending_row());
+  PPL_ASSERT(num_rows() >= first_pending_row());
   return num_rows() - first_pending_row();
 }
 
@@ -97,7 +97,7 @@ Linear_System::Linear_System(const Linear_System& y)
   unset_pending_rows();
   // Previously pending rows may violate sortedness.
   sorted = (y.num_pending_rows() > 0) ? false : y.sorted;
-  assert(num_pending_rows() == 0);
+  PPL_ASSERT(num_pending_rows() == 0);
 }
 
 inline
@@ -115,7 +115,7 @@ Linear_System::operator=(const Linear_System& y) {
   unset_pending_rows();
   // Previously pending rows may violate sortedness.
   sorted = (y.num_pending_rows() > 0) ? false : y.sorted;
-  assert(num_pending_rows() == 0);
+  PPL_ASSERT(num_pending_rows() == 0);
   return *this;
 }
 
diff --git a/src/Linear_System.types.hh b/src/Linear_System.types.hh
index 3e26fde..58a66ee 100644
--- a/src/Linear_System.types.hh
+++ b/src/Linear_System.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/MIP_Problem.cc b/src/MIP_Problem.cc
index 707ecc1..c388715 100644
--- a/src/MIP_Problem.cc
+++ b/src/MIP_Problem.cc
@@ -1,5 +1,5 @@
 /* MIP_Problem class implementation: non-inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -44,7 +44,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #define PPL_SIMPLEX_USE_MIP_HEURISTIC 1
 #endif
 
-#ifdef PPL_NOISY_SIMPLEX
+#if PPL_NOISY_SIMPLEX
 #include <iostream>
 #endif
 
@@ -56,6 +56,8 @@ namespace {
 
 unsigned long num_iterations = 0;
 
+unsigned mip_recursion_level = 0;
+
 } // namespace
 #endif // PPL_NOISY_SIMPLEX
 
@@ -81,7 +83,7 @@ PPL::MIP_Problem::MIP_Problem(const dimension_type dim)
 			    "mode):\n"
 			    "dim exceeds the maximum allowed "
 			    "space dimension.");
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 PPL::MIP_Problem::MIP_Problem(const dimension_type dim,
@@ -132,7 +134,7 @@ PPL::MIP_Problem::MIP_Problem(const dimension_type dim,
 				"cs contains strict inequalities.");
   // Actually copy the constraints.
   input_cs.insert(input_cs.end(), cs.begin(), cs.end());
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
@@ -150,7 +152,7 @@ PPL::MIP_Problem::add_constraint(const Constraint& c) {
   input_cs.push_back(c);
   if (status != UNSATISFIABLE)
     status = PARTIALLY_SATISFIABLE;
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
@@ -169,7 +171,7 @@ PPL::MIP_Problem::add_constraints(const Constraint_System& cs) {
   input_cs.insert(input_cs.end(), cs.begin(), cs.end());
   if (status != UNSATISFIABLE)
     status = PARTIALLY_SATISFIABLE;
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
@@ -185,7 +187,7 @@ PPL::MIP_Problem::set_objective_function(const Linear_Expression& obj) {
   input_obj_function = obj;
   if (status == UNBOUNDED || status == OPTIMIZED)
     status = SATISFIABLE;
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 const PPL::Generator&
@@ -211,40 +213,39 @@ PPL::MIP_Problem::is_satisfiable() const {
   // Check `status' to filter out trivial cases.
   switch (status) {
   case UNSATISFIABLE:
-    assert(OK());
+    PPL_ASSERT(OK());
     return false;
   case SATISFIABLE:
     // Intentionally fall through
   case UNBOUNDED:
     // Intentionally fall through.
   case OPTIMIZED:
-    assert(OK());
+    PPL_ASSERT(OK());
     return true;
   case PARTIALLY_SATISFIABLE:
-    { // LP case.
-      if (i_variables.empty())
-	return is_lp_satisfiable();
-      // MIP Case.
-      const Variables_Set this_variables_set = integer_space_dimensions();
+    {
       MIP_Problem& x = const_cast<MIP_Problem&>(*this);
-      Generator p = point();
-      // This disable the Variable integrality check in OK() until we will
-      // find a feasible point.
-      x.i_variables.clear();
-      x.is_lp_satisfiable();
-      if (is_mip_satisfiable(x, p, this_variables_set)) {
-	x.last_generator = p;
-	x.status = SATISFIABLE;
-	// Restore i_variables;
-    	x.i_variables = this_variables_set;
-	return true;
-      }
-      else {
-	x.status = UNSATISFIABLE;
-	// Restore i_variables;
-    	x.i_variables = this_variables_set;
-	return false;
-      }
+      // LP case.
+      if (x.i_variables.empty())
+	return x.is_lp_satisfiable();
+
+      // MIP case.
+      {
+        // Temporarily relax the MIP into an LP problem.
+        RAII_Temporary_Real_Relaxation relaxed(x);
+        Generator p = point();
+        relaxed.lp.is_lp_satisfiable();
+#if PPL_NOISY_SIMPLEX
+        mip_recursion_level = 0;
+#endif // PPL_NOISY_SIMPLEX
+        if (is_mip_satisfiable(relaxed.lp, relaxed.i_vars, p)) {
+          x.last_generator = p;
+          x.status = SATISFIABLE;
+        }
+        else
+          x.status = UNSATISFIABLE;
+      } // `relaxed' destroyed here: relaxation automatically reset.
+      return (x.status == SATISFIABLE);
     }
   }
   // We should not be here!
@@ -255,60 +256,57 @@ PPL::MIP_Problem_Status
 PPL::MIP_Problem::solve() const{
   switch (status) {
   case UNSATISFIABLE:
-    assert(OK());
+    PPL_ASSERT(OK());
     return UNFEASIBLE_MIP_PROBLEM;
   case UNBOUNDED:
-    assert(OK());
+    PPL_ASSERT(OK());
     return UNBOUNDED_MIP_PROBLEM;
   case OPTIMIZED:
-    assert(OK());
+    PPL_ASSERT(OK());
     return OPTIMIZED_MIP_PROBLEM;
   case SATISFIABLE:
     // Intentionally fall through
   case PARTIALLY_SATISFIABLE:
     {
       MIP_Problem& x = const_cast<MIP_Problem&>(*this);
-      if (i_variables.empty()) {
-	// LP Problem case.
-	if (is_lp_satisfiable()) {
+      if (x.i_variables.empty()) {
+	// LP case.
+	if (x.is_lp_satisfiable()) {
 	  x.second_phase();
 	  if (x.status == UNBOUNDED)
 	    return UNBOUNDED_MIP_PROBLEM;
 	  else {
-	    assert(x.status == OPTIMIZED);
+	    PPL_ASSERT(x.status == OPTIMIZED);
 	    return OPTIMIZED_MIP_PROBLEM;
 	  }
 	}
 	return UNFEASIBLE_MIP_PROBLEM;
       }
-      // MIP Problem case.
-      // This disable the Variable integrality check in OK() until we will find
-      // an optimizing point.
-      const Variables_Set this_variables_set = integer_space_dimensions();
-      x.i_variables.clear();
-      if (x.is_lp_satisfiable())
-	x.second_phase();
-      else {
-	x.status = UNSATISFIABLE;
-	// Restore i_variables;
-	x.i_variables = this_variables_set;
-	return UNFEASIBLE_MIP_PROBLEM;
-      }
-      PPL_DIRTY_TEMP0(mpq_class, incumbent_solution);
+
+      // MIP case.
+      MIP_Problem_Status return_value;
       Generator g = point();
-      bool have_incumbent_solution = false;
-
-      MIP_Problem mip_copy(*this);
-      // Treat this MIP_Problem as an LP one: we have to deal with
-      // the relaxation in solve_mip().
-      mip_copy.i_variables.clear();
-      MIP_Problem_Status mip_status = solve_mip(have_incumbent_solution,
-						incumbent_solution, g,
-						mip_copy,
-						this_variables_set);
-      // Restore i_variables;
-      x.i_variables = this_variables_set;
-      switch (mip_status) {
+      {
+        // Temporarily relax the MIP into an LP problem.
+        RAII_Temporary_Real_Relaxation relaxed(x);
+        if (relaxed.lp.is_lp_satisfiable())
+          relaxed.lp.second_phase();
+        else {
+          x.status = UNSATISFIABLE;
+          // NOTE: `relaxed' destroyed: relaxation automatically reset.
+          return UNFEASIBLE_MIP_PROBLEM;
+        }
+        PPL_DIRTY_TEMP0(mpq_class, incumbent_solution);
+        bool have_incumbent_solution = false;
+
+        MIP_Problem lp_copy(relaxed.lp);
+        PPL_ASSERT(lp_copy.integer_space_dimensions().empty());
+        return_value = solve_mip(have_incumbent_solution,
+                                 incumbent_solution, g,
+                                 lp_copy, relaxed.i_vars);
+      } // `relaxed' destroyed here: relaxation automatically reset.
+
+      switch (return_value) {
       case UNFEASIBLE_MIP_PROBLEM:
 	x.status = UNSATISFIABLE;
 	break;
@@ -324,8 +322,8 @@ PPL::MIP_Problem::solve() const{
 	x.last_generator = g;
 	break;
       }
-      assert(OK());
-      return mip_status;
+      PPL_ASSERT(OK());
+      return return_value;
     }
   }
   // We should not be here!
@@ -344,7 +342,7 @@ PPL::MIP_Problem::add_space_dimensions_and_embed(const dimension_type m) {
   external_space_dim += m;
   if (status != UNSATISFIABLE)
     status = PARTIALLY_SATISFIABLE;
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
@@ -372,60 +370,61 @@ PPL::MIP_Problem::is_in_base(const dimension_type var_index,
   return false;
 }
 
-void
-PPL::MIP_Problem::merge_split_variables(dimension_type var_index,
-					std::vector<dimension_type>&
-					unfeasible_tableau_rows) {
-  const dimension_type tableau_nrows = tableau.num_rows();
-  const dimension_type column = mapping[var_index].second;
-
-  for (dimension_type i = 0; i < tableau_nrows; ++i) {
-    // In the following case the negative side of the split variable is
-    // in base: this means that the constraint will be nonfeasible.
-    if (base[i] == mapping[var_index].second) {
-      // CHECKME: we do not know if is possible that the positive and
-      // the negative part of a split variable can be together in
-      // base: it seems that this case is not possible. The algorithm
-      // requires that condition.
+PPL::dimension_type
+PPL::MIP_Problem::merge_split_variable(dimension_type var_index) {
+  // Initialize the return value to a dummy index.
+  dimension_type unfeasible_tableau_row = not_a_dimension();
+
+  const dimension_type removing_column = mapping[1+var_index].second;
+
+  // Check if the negative part of the split variable is in base:
+  // if so, the corresponding tableau row becomes nonfeasible.
+  {
+    dimension_type base_index;
+    if (is_in_base(removing_column, base_index)) {
+      // Set the return value.
+      unfeasible_tableau_row = base_index;
+      // Reset base[base_index] to zero to remember nonfeasibility.
+      base[base_index] = 0;
 #ifndef NDEBUG
-      for (dimension_type j = 0; j < tableau_nrows; ++j) {
- 	dimension_type dummy = 0;
-	assert(!is_in_base(mapping[var_index].first, dummy));
-      }
+      // Since the negative part of the variable is in base,
+      // the positive part can not be in base too.
+      PPL_ASSERT(!is_in_base(mapping[1+var_index].first, base_index));
 #endif
-      // We set base[i] to zero to keep track that that the constraint is not
-      // feasible by `last_generator'.
-      base[i] = 0;
-      unfeasible_tableau_rows.push_back(i);
     }
   }
 
-  const dimension_type tableau_cols = tableau.num_columns();
-  // Remove the column.
-  if (column != tableau_cols - 1) {
+  // Remove the column:
+  // first, make sure it is the last one in the tableau ...
+  const dimension_type tableau_num_cols = tableau.num_columns();
+  if (removing_column != tableau_num_cols - 1) {
     std::vector<dimension_type> cycle;
-    for (dimension_type j = tableau_cols - 1; j >= column; --j)
+    for (dimension_type j = tableau_num_cols - 1; j >= removing_column; --j)
       cycle.push_back(j);
     cycle.push_back(0);
     tableau.permute_columns(cycle);
   }
+  // ... and then actually remove it.
   tableau.remove_trailing_columns(1);
 
   // var_index is no longer split.
-  mapping[var_index].second = 0;
+  mapping[1+var_index].second = 0;
 
   // Adjust data structured, `shifting' the proper columns to the left by 1.
   const dimension_type base_size = base.size();
-  for (dimension_type i = base_size; i-- > 0; )
-    if (base[i] > column)
+  for (dimension_type i = base_size; i-- > 0; ) {
+    if (base[i] > removing_column)
       --base[i];
+  }
   const dimension_type mapping_size = mapping.size();
   for (dimension_type i = mapping_size; i-- > 0; ) {
-    if (mapping[i].first > column)
+    if (mapping[i].first > removing_column)
       --mapping[i].first;
-    if (mapping[i].second > column)
+    if (mapping[i].second > removing_column)
       --mapping[i].second;
   }
+
+  return unfeasible_tableau_row;
 }
 
 bool
@@ -440,8 +439,8 @@ PPL::MIP_Problem::is_satisfied(const Constraint& c, const Generator& g) {
 
 bool
 PPL::MIP_Problem::is_saturated(const Constraint& c, const Generator& g) {
-  // Scalar_Products::sign() requires the second argument to be at least
-  // as large as the first one.
+  // Scalar_Products::sign() requires the space dimension of the second
+  // argument to be at least as large as the one of the first one.
   int sp_sign = g.space_dimension() <= c.space_dimension()
     ? Scalar_Products::sign(g, c)
     : Scalar_Products::sign(c, g);
@@ -449,50 +448,67 @@ PPL::MIP_Problem::is_saturated(const Constraint& c, const Generator& g) {
 }
 
 bool
-PPL::MIP_Problem::parse_constraints(dimension_type& tableau_num_rows,
-				    dimension_type& num_slack_variables,
-				    std::deque<bool>& is_tableau_constraint,
-				    std::deque<bool>& nonnegative_variable,
-				    std::vector<dimension_type>&
-				    unfeasible_tableau_rows,
-				    std::deque<bool>& satisfied_ineqs) {
-  satisfied_ineqs.clear();
-  satisfied_ineqs.insert(satisfied_ineqs.end(), input_cs.size(),
-			 false);
+PPL::MIP_Problem
+::parse_constraints(dimension_type& additional_tableau_rows,
+                    dimension_type& additional_slack_variables,
+                    std::deque<bool>& is_tableau_constraint,
+                    std::deque<bool>& is_satisfied_inequality,
+                    std::deque<bool>& is_nonnegative_variable,
+                    std::deque<bool>& is_remergeable_variable) const {
+  // Initially all containers are empty.
+  PPL_ASSERT(is_tableau_constraint.empty()
+             && is_satisfied_inequality.empty()
+             && is_nonnegative_variable.empty()
+             && is_remergeable_variable.empty());
 
-  const dimension_type cs_num_rows = input_cs.size();
   const dimension_type cs_space_dim = external_space_dim;
+  const dimension_type cs_num_rows = input_cs.size();
+  const dimension_type cs_num_pending = cs_num_rows - first_pending_constraint;
 
-  // Step 1:
-  // determine variables that are constrained to be nonnegative,
-  // detect (non-negativity or tautology) constraints that will not
-  // be part of the tableau and count the number of slack variables.
+  // Counters determining the change in dimensions of the tableau:
+  // initialized here, they will be updated while examining `input_cs'.
+  additional_tableau_rows = cs_num_pending;
+  additional_slack_variables = 0;
 
-  // Counters determining the dimensions of the tableau:
-  // initialized here, they will be updated while examining `cs'.
-  tableau_num_rows = cs_num_rows;
-  dimension_type tableau_num_cols = 2*cs_space_dim;
-  num_slack_variables = 0;
+  // Resize containers appropriately.
 
   // On exit, `is_tableau_constraint[i]' will be true if and only if
-  // `cs[i]' is neither a tautology (e.g., 1 >= 0) nor a non-negativity
-  // constraint (e.g., X >= 0).
-  is_tableau_constraint = std::deque<bool> (cs_num_rows, true);
-
-  // On exit, `nonnegative_variable[j]' will be true if and only if
-  // Variable(j) is bound to be nonnegative in `cs'.
-  nonnegative_variable = std::deque<bool> (cs_space_dim, false);
-
-  // Check for already known information about space dimensions and
-  // store them in `nonnegative_variable'.
+  // `input_cs[first_pending_constraint + i]' is neither a tautology
+  // (e.g., 1 >= 0) nor a non-negativity constraint (e.g., X >= 0).
+  is_tableau_constraint.insert(is_tableau_constraint.end(),
+                               cs_num_pending, true);
+
+  // On exit, `is_satisfied_inequality[i]' will be true if and only if
+  // `input_cs[first_pending_constraint + i]' is an inequality and it is
+  // satisfied by `last_generator'.
+  is_satisfied_inequality.insert(is_satisfied_inequality.end(),
+                                 cs_num_pending, false);
+
+  // On exit, `is_nonnegative_variable[j]' will be true if and only if
+  // Variable(j) is bound to be nonnegative in `input_cs'.
+  is_nonnegative_variable.insert(is_nonnegative_variable.end(),
+                                 cs_space_dim, false);
+
+  // On exit, `is_remergeable_variable[j]' will be true if and only if
+  // Variable(j) was initially split and is now remergeable.
+  is_remergeable_variable.insert(is_remergeable_variable.end(),
+                                 internal_space_dim, false);
+
+  // Check for variables that are already known to be nonnegative
+  // due to nonpending constraints.
   const dimension_type mapping_size = mapping.size();
-  for (dimension_type i = std::min(mapping_size, cs_space_dim+1); i-- > 1; )
-    if (mapping[i].second == 0) {
-      nonnegative_variable[i-1] = true;
-      --tableau_num_cols;
-    }
+  if (mapping_size > 0) {
+    // Note: mapping[0] is associated to the cost function.
+    for (dimension_type i = std::min(mapping_size - 1, cs_space_dim); i-- > 0; )
+      if (mapping[i + 1].second == 0)
+        is_nonnegative_variable[i] = true;
+  }
 
-  // Process each row of the `cs' matrix.
+  // Process each pending constraint in `input_cs' and
+  //  - detect variables that are constrained to be nonnegative;
+  //  - detect (non-negativity or tautology) pending constraints that
+  //    will not be part of the tableau;
+  //  - count the number of new slack variables.
   for (dimension_type i = cs_num_rows; i-- > first_pending_constraint; ) {
     const Constraint& cs_i = input_cs[i];
     bool found_a_nonzero_coeff = false;
@@ -503,7 +519,7 @@ PPL::MIP_Problem::parse_constraints(dimension_type& tableau_num_rows,
 	if (found_a_nonzero_coeff) {
 	  found_many_nonzero_coeffs = true;
 	  if (cs_i.is_inequality())
-	    ++num_slack_variables;
+	    ++additional_slack_variables;
 	  break;
 	}
 	else {
@@ -521,7 +537,7 @@ PPL::MIP_Problem::parse_constraints(dimension_type& tableau_num_rows,
       // Check for satisfiability of the inequality. This can be done if we
       // have a feasible point of *this.
       if (cs_i.is_inequality() && is_satisfied(cs_i, last_generator))
-	satisfied_ineqs[i] = true;
+        is_satisfied_inequality[i - first_pending_constraint] = true;
       continue;
     }
 
@@ -529,9 +545,9 @@ PPL::MIP_Problem::parse_constraints(dimension_type& tableau_num_rows,
       // All coefficients are 0.
       // The constraint is either trivially true or trivially false.
       if (cs_i.is_inequality()) {
-	if (cs_i.inhomogeneous_term() < 0)
-	  // A constraint such as -1 >= 0 is trivially false.
-	  return false;
+        if (cs_i.inhomogeneous_term() < 0)
+          // A constraint such as -1 >= 0 is trivially false.
+          return false;
       }
       else
 	// The constraint is an equality.
@@ -539,8 +555,8 @@ PPL::MIP_Problem::parse_constraints(dimension_type& tableau_num_rows,
 	  // A constraint such as 1 == 0 is trivially false.
 	  return false;
       // Here the constraint is trivially true.
-      is_tableau_constraint[i] = false;
-      --tableau_num_rows;
+      is_tableau_constraint[i - first_pending_constraint] = false;
+      --additional_tableau_rows;
       continue;
     }
     else {
@@ -578,48 +594,40 @@ PPL::MIP_Problem::parse_constraints(dimension_type& tableau_num_rows,
       // The variable index is not equal to the column index.
       const dimension_type nonzero_var_index = nonzero_coeff_column_index - 1;
 
-      const int sgn_a
-	= sgn(cs_i.coefficient(Variable(nonzero_coeff_column_index-1)));
+      const int sgn_a = sgn(cs_i.coefficient(Variable(nonzero_var_index)));
       const int sgn_b = sgn(cs_i.inhomogeneous_term());
+
       // Cases 1-3: apply method A.
       if (sgn_a == sgn_b) {
 	if (cs_i.is_inequality())
-	  ++num_slack_variables;
+	  ++additional_slack_variables;
       }
       // Cases 4-5: apply method B.
-      else if (cs_i.is_equality()) {
-	if (!nonnegative_variable[nonzero_var_index]) {
-	  nonnegative_variable[nonzero_var_index] = true;
-	  --tableau_num_cols;
-	}
-      }
+      else if (cs_i.is_equality())
+        is_nonnegative_variable[nonzero_var_index] = true;
       // Case 6: apply method B.
       else if (sgn_b < 0) {
-	if (!nonnegative_variable[nonzero_var_index]) {
-	  nonnegative_variable[nonzero_var_index] = true;
-	  --tableau_num_cols;
-	}
-	++num_slack_variables;
+	is_nonnegative_variable[nonzero_var_index] = true;
+	++additional_slack_variables;
       }
       // Case 7: apply method C.
       else if (sgn_a > 0) {
-	// This is the most important case in the incrementality solving:
-	// merge two variables.
-	if (!nonnegative_variable[nonzero_var_index]) {
-	  nonnegative_variable[nonzero_var_index] = true;
-	  --tableau_num_cols;
-	  if (nonzero_coeff_column_index < mapping_size)
-	    merge_split_variables(nonzero_coeff_column_index,
-				  unfeasible_tableau_rows);
-	  is_tableau_constraint[i] = false;
-	}
-	else
-	  is_tableau_constraint[i] = false;
-	--tableau_num_rows;
+	if (!is_nonnegative_variable[nonzero_var_index]) {
+	  is_nonnegative_variable[nonzero_var_index] = true;
+	  if (nonzero_coeff_column_index < mapping_size) {
+            // Remember to merge back the positive and negative parts.
+            PPL_ASSERT(nonzero_var_index < internal_space_dim);
+            is_remergeable_variable[nonzero_var_index] = true;
+          }
+        }
+        is_tableau_constraint[i - first_pending_constraint] = false;
+	--additional_tableau_rows;
       }
       // Cases 8-9: apply method A.
-      else
-	++num_slack_variables;
+      else {
+        PPL_ASSERT(cs_i.is_inequality());
+	++additional_slack_variables;
+      }
     }
   }
   return true;
@@ -627,146 +635,196 @@ PPL::MIP_Problem::parse_constraints(dimension_type& tableau_num_rows,
 
 bool
 PPL::MIP_Problem::process_pending_constraints() {
-  const dimension_type num_original_rows = tableau.num_rows();
-  dimension_type new_rows = 0;
-  dimension_type new_slacks = 0;
-  dimension_type new_var_columns = 0;
+  // Check the pending constraints to adjust the data structures.
+  // If `false' is returned, they are trivially unfeasible.
+  dimension_type additional_tableau_rows = 0;
+  dimension_type additional_slack_vars = 0;
   std::deque<bool> is_tableau_constraint;
-  std::deque<bool> nonnegative_variable;
-  std::vector<dimension_type> unfeasible_tableau_rows;
-  std::deque<bool> satisfied_ineqs;
-  // Check the new constraints to adjust the data structures.
-  // If `false' is returned, the pending constraints are trivially
-  // unfeasible.
-  if (!parse_constraints(new_rows, new_slacks, is_tableau_constraint,
-			 nonnegative_variable, unfeasible_tableau_rows,
-			 satisfied_ineqs)) {
+  std::deque<bool> is_satisfied_inequality;
+  std::deque<bool> is_nonnegative_variable;
+  std::deque<bool> is_remergeable_variable;
+  if (!parse_constraints(additional_tableau_rows,
+                         additional_slack_vars,
+                         is_tableau_constraint,
+                         is_satisfied_inequality,
+			 is_nonnegative_variable,
+			 is_remergeable_variable)) {
     status = UNSATISFIABLE;
     return false;
   };
 
-  const dimension_type first_free_tableau_index = tableau.num_columns()-1;
+  // Merge back any variable that was previously split into a positive
+  // and a negative part and is now known to be nonnegative.
+  std::vector<dimension_type> unfeasible_tableau_rows;
+  for (dimension_type i = internal_space_dim; i-- > 0; ) {
+    if (!is_remergeable_variable[i])
+      continue;
+    // TODO: merging all rows in a single shot may be more efficient
+    // as it would require a single call to permute_columns().
+    const dimension_type unfeasible_row = merge_split_variable(i);
+    if (unfeasible_row != not_a_dimension())
+      unfeasible_tableau_rows.push_back(unfeasible_row);
+  }
+
+  const dimension_type old_tableau_num_rows = tableau.num_rows();
+  const dimension_type old_tableau_num_cols = tableau.num_columns();
+  const dimension_type first_free_tableau_index = old_tableau_num_cols - 1;
 
+  // Update mapping for the new problem variables (if any).
+  dimension_type additional_problem_vars = 0;
   if (external_space_dim > internal_space_dim) {
     const dimension_type space_diff = external_space_dim - internal_space_dim;
-    for (dimension_type i = 0, j = 0; i < space_diff; ++i, ++j) {
-      // Set `mapping' properly to store that every variable is split.
-      // In the following case the value of the original variable can be
-      // negative.
-      if (!nonnegative_variable[internal_space_dim+i]) {
-	mapping.push_back(std::make_pair(first_free_tableau_index+j,
-					 first_free_tableau_index+1+j));
-	++j;
-	new_var_columns += 2;
+    for (dimension_type i = 0, j = 0; i < space_diff; ++i) {
+      // Let `mapping' associate the variable index with the corresponding
+      // tableau column: split the variable into positive and negative
+      // parts if it is not known to be nonnegative.
+      const dimension_type positive = first_free_tableau_index + j;
+      if (is_nonnegative_variable[internal_space_dim + i]) {
+        // Do not split.
+	mapping.push_back(std::make_pair(positive, 0));
+        ++j;
+        ++additional_problem_vars;
       }
-      // The variable is nonnegative.
       else {
-	mapping.push_back(std::make_pair(first_free_tableau_index+j, 0));
-	++new_var_columns;
+        // Split: negative index is positive + 1.
+	mapping.push_back(std::make_pair(positive, positive + 1));
+	j += 2;
+	additional_problem_vars += 2;
       }
     }
   }
 
-  // Resize the tableau and adding the necessary columns for artificial and
-  // slack variables.
-  dimension_type num_satisfied_ineqs = std::count(satisfied_ineqs.begin(),
-						  satisfied_ineqs.end(),
-						  true);
+  // Resize the tableau: first add additional rows ...
+  if (additional_tableau_rows > 0)
+    tableau.add_zero_rows(additional_tableau_rows, Row::Flags());
+
+  // ... then add additional columns.
+  // We need columns for additional (split) problem variables, additional
+  // slack variables and additional artificials.
+  // The number of artificials to be added is computed as:
+  // * number of pending constraints entering the tableau
+  //     minus
+  // * pending constraints that are inequalities and are already satisfied
+  //   by `last_generator'
+  //     plus
+  // * number of non-pending constraints that are no longer satisfied
+  //   due to re-merging of splitted variables.
+
+  dimension_type num_satisfied_ineqs
+    = std::count(is_satisfied_inequality.begin(),
+                 is_satisfied_inequality.end(),
+                 true);
   const dimension_type unfeasible_tableau_rows_size
     = unfeasible_tableau_rows.size();
-  const dimension_type artificial_cols
-    = new_rows + unfeasible_tableau_rows_size - num_satisfied_ineqs;
-  const dimension_type new_total_columns
-    = new_var_columns + new_slacks + artificial_cols;
-  if (new_rows > 0)
-    tableau.add_zero_rows(new_rows, Row::Flags());
-  if (new_total_columns > 0)
-    tableau.add_zero_columns(new_total_columns);
-  dimension_type tableau_num_rows = tableau.num_rows();
+
+  const dimension_type additional_artificial_vars
+    = (additional_tableau_rows - num_satisfied_ineqs)
+    + unfeasible_tableau_rows_size;
+
+  const dimension_type additional_tableau_columns
+    = additional_problem_vars
+    + additional_slack_vars
+    + additional_artificial_vars;
+
+  if (additional_tableau_columns > 0)
+    tableau.add_zero_columns(additional_tableau_columns);
+
+  // Dimensions of the tableau after resizing.
+  const dimension_type tableau_num_rows = tableau.num_rows();
+  const dimension_type tableau_num_cols = tableau.num_columns();
 
   // The following vector will be useful know if a constraint is feasible
   // and does not require an additional artificial variable.
   std::deque<bool> worked_out_row (tableau_num_rows, false);
-  dimension_type tableau_num_columns = tableau.num_columns();
 
-  // Sync the `base' vector size to the new tableau: fill with zeros to encode
-  // that these rows are not OK and must be adjusted.
-  base.insert(base.end(), new_rows, 0);
+  // Sync the `base' vector size to the new tableau: fill with zeros
+  // to encode that these rows are not OK and must be adjusted.
+  base.insert(base.end(), additional_tableau_rows, 0);
   const dimension_type base_size = base.size();
 
-  // These indexes will be used to insert slack and artificial variables.
-  dimension_type slack_index = tableau_num_columns - artificial_cols - 1;
+  // These indexes will be used to insert slack and artificial variables
+  // in the appropriate position.
+  dimension_type slack_index
+    = tableau_num_cols - additional_artificial_vars - 1;
   dimension_type artificial_index = slack_index;
 
-  // The first column index of the tableau that contains an
-  // artificial variable. Encode with 0 the fact the there are not
-  // artificial variables.
-  const dimension_type begin_artificials = artificial_cols > 0
-    ? artificial_index : 0;
-
-  // Proceed with the insertion of the constraints.
-  for (dimension_type k = tableau_num_rows, i = input_cs.size();
-       i-- > first_pending_constraint;  )
-    if (is_tableau_constraint[i]) {
-      // Copy the original constraint in the tableau.
-      Row& tableau_k = tableau[--k];
-      const Constraint& cs_i = input_cs[i];
-      for (dimension_type sd = cs_i.space_dimension(); sd-- > 0; ) {
-	tableau_k[mapping[sd+1].first] = cs_i.coefficient(Variable(sd));
-	// Split if needed.
-	if (mapping[sd+1].second != 0)
-	  neg_assign(tableau_k[mapping[sd+1].second],
-		     tableau_k[mapping[sd+1].first]);
+  // The first column of the tableau containing an artificial variable.
+  // Encode with 0 the fact that there are no artificial variables at all.
+  const dimension_type begin_artificials
+    = additional_artificial_vars > 0 ? artificial_index : 0;
+
+  // Proceed with the insertion of the pending constraints.
+  for (dimension_type k = tableau_num_rows,
+         i = input_cs.size() - first_pending_constraint; i-- > 0; ) {
+    // Skip if trivially redundant.
+    if (!is_tableau_constraint[i])
+      continue;
+    const Constraint& c = input_cs[i + first_pending_constraint];
+    // Copy the original constraint in the tableau.
+    --k;
+    Row& tableau_k = tableau[k];
+    for (dimension_type sd = c.space_dimension(); sd-- > 0; ) {
+      const Coefficient& coeff_sd = c.coefficient(Variable(sd));
+      if (coeff_sd != 0) {
+        tableau_k[mapping[sd+1].first] = coeff_sd;
+        // Split if needed.
+        if (mapping[sd+1].second != 0)
+          neg_assign(tableau_k[mapping[sd+1].second], coeff_sd);
       }
-      tableau_k[mapping[0].first] = cs_i.inhomogeneous_term();
+    }
+    const Coefficient& inhomo = c.inhomogeneous_term();
+    if (inhomo != 0) {
+      tableau_k[mapping[0].first] = inhomo;
       // Split if needed.
       if (mapping[0].second != 0)
-	tableau_k[mapping[0].second] = -cs_i.inhomogeneous_term();
+        neg_assign(tableau_k[mapping[0].second], inhomo);
+    }
 
-      // Add the slack variable, if needed.
-      if (cs_i.is_inequality()) {
-	tableau_k[--slack_index] = -1;
-	// If the constraint is already satisfied, we will not use artificial
-	// variables to compute a feasible base: this to speed up
-	// the algorithm.
-        if (satisfied_ineqs[i]) {
-          base[k] = slack_index;
-          worked_out_row[k] = true;
-        }
+    // Add the slack variable, if needed.
+    if (c.is_inequality()) {
+      --slack_index;
+      tableau_k[slack_index] = -1;
+      // If the constraint is already satisfied, we will not add an
+      // artificial variable and put instead the slack variable in base.
+      if (is_satisfied_inequality[i]) {
+        base[k] = slack_index;
+        worked_out_row[k] = true;
       }
-      for (dimension_type j = base_size; j-- > 0; )
-	if (k != j && tableau_k[base[j]] != 0 && base[j] != 0)
-	  linear_combine(tableau_k, tableau[j], base[j]);
     }
+    for (dimension_type j = base_size; j-- > 0; )
+      if (k != j && tableau_k[base[j]] != 0 && base[j] != 0)
+        linear_combine(tableau_k, tableau[j], base[j]);
+  }
 
-  // We negate the row if tableau[i][0] <= 0 to get the inhomogeneous term > 0.
-  // This simplifies the insertion of the artificial variables: the value of
-  // each artificial variable will be 1.
+  // Let all inhomogeneous terms in the tableau be nonpositive,
+  // so as to simplify the insertion of artificial variables
+  // (the coefficient of each artificial variable will be 1).
   for (dimension_type i = tableau_num_rows; i-- > 0 ; ) {
     Row& tableau_i = tableau[i];
     if (tableau_i[0] > 0)
-      for (dimension_type j = tableau_num_columns; j-- > 0; )
+      for (dimension_type j = tableau_num_cols; j-- > 0; )
 	neg_assign(tableau_i[j]);
   }
 
-  // Set the working cost function with the right size.
-  working_cost = Row(tableau_num_columns, Row::Flags());
+  // Reset the working cost function to have the right size.
+  working_cost = Row(tableau_num_cols, Row::Flags());
 
-  // Insert artificial variables for the nonfeasible constraints.
+  // Set up artificial variables: these will have coefficient 1 in the
+  // constraint, will enter the base and will have coefficient -1 in
+  // the cost function.
+
+  // First go through nonpending constraints that became unfeasible
+  // due to re-merging of split variables.
   for (dimension_type i = 0; i < unfeasible_tableau_rows_size; ++i) {
     tableau[unfeasible_tableau_rows[i]][artificial_index] = 1;
     working_cost[artificial_index] = -1;
     base[unfeasible_tableau_rows[i]] = artificial_index;
     ++artificial_index;
   }
-
-  // Modify the tableau and the new cost function by adding
-  // the artificial variables (which enter the base). Note that if an
-  // inequality was satisfied by `last_generator', this will be not processed.
-  // This information in encoded in `worked_out_row'.
-  // As for the cost function, all the artificial variables should have
-  // coefficient -1.
-  for (dimension_type i = num_original_rows; i < tableau_num_rows; ++i) {
+  // Then go through newly added tableau rows, disregarding inequalities
+  // that are already satisfied by `last_generator' (this information
+  // is encoded in `worked_out_row').
+  for (dimension_type i = old_tableau_num_rows; i < tableau_num_rows; ++i) {
     if (worked_out_row[i])
       continue;
     tableau[i][artificial_index] = 1;
@@ -774,8 +832,8 @@ PPL::MIP_Problem::process_pending_constraints() {
     base[i] = artificial_index;
     ++artificial_index;
   }
-  // The last column index of the tableau containing an artificial variable.
-  const dimension_type end_artificials = artificial_index - 1;
+  // One past the last tableau column index containing an artificial variable.
+  const dimension_type end_artificials = artificial_index;
 
   // Set the extra-coefficient of the cost functions to record its sign.
   // This is done to keep track of the possible sign's inversion.
@@ -825,7 +883,7 @@ PPL::MIP_Problem::process_pending_constraints() {
     status = OPTIMIZED;
     // Ensure the right space dimension is obtained.
     last_generator = point(0*Variable(space_dimension()-1));
-    assert(OK());
+    PPL_ASSERT(OK());
     return true;
   }
 
@@ -836,9 +894,10 @@ PPL::MIP_Problem::process_pending_constraints() {
     : compute_simplex_using_exact_pricing();
 
 #if PPL_NOISY_SIMPLEX
-  std::cout << "MIP_Problem::solve: 1st phase ended at iteration "
- 	    << num_iterations << "." << std::endl;
-#endif
+  std::cout << "MIP_Problem::process_pending_constraints(): "
+            << "1st phase ended at iteration " << num_iterations
+            << "." << std::endl;
+#endif // PPL_NOISY_SIMPLEX
 
   if (!first_phase_succesful || working_cost[0] != 0) {
     // The feasible region is empty.
@@ -851,12 +910,20 @@ PPL::MIP_Problem::process_pending_constraints() {
     erase_artificials(begin_artificials, end_artificials);
   compute_generator();
   status = SATISFIABLE;
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
 namespace {
 
+// NOTE: the following two `assign' helper functions are needed to
+// handle the assignment of a Coefficient to a double in method
+//     MIP_Problem::steepest_edge_float_entering_index().
+// We cannot use assign_r(double, Coefficient, Rounding_Dir) as it would
+// lead to a compilation error on those platforms (e.g., ARM) where
+// controlled floating point rounding is not available (even if the
+// rounding mode would be set to ROUND_IGNORE).
+
 inline void
 assign(double& d, const mpz_class& c) {
   d = c.get_d();
@@ -873,21 +940,23 @@ assign(double& d,
 
 PPL::dimension_type
 PPL::MIP_Problem::steepest_edge_float_entering_index() const {
-  PPL_DIRTY_TEMP0(mpq_class, real_coeff);
   const dimension_type tableau_num_rows = tableau.num_rows();
-  assert(tableau_num_rows == base.size());
+  PPL_ASSERT(tableau_num_rows == base.size());
   double challenger_num = 0.0;
   double challenger_den = 0.0;
   double current_value = 0.0;
+  double float_tableau_value = 0.0;
+  double float_tableau_denum = 0.0;
   dimension_type entering_index = 0;
   const int cost_sign = sgn(working_cost[working_cost.size() - 1]);
   for (dimension_type j = tableau.num_columns() - 1; j-- > 1; ) {
     const Coefficient& cost_j = working_cost[j];
     if (sgn(cost_j) == cost_sign) {
+      WEIGHT_BEGIN();
       // We cannot compute the (exact) square root of abs(\Delta x_j).
       // The workaround is to compute the square of `cost[j]'.
       assign(challenger_num, cost_j);
-      challenger_num = fabs(challenger_num);
+      challenger_num = std::abs(challenger_num);
       // Due to our integer implementation, the `1' term in the denominator
       // of the original formula has to be replaced by `squared_lcm_basis'.
       challenger_den = 1.0;
@@ -895,12 +964,10 @@ PPL::MIP_Problem::steepest_edge_float_entering_index() const {
 	const Row& tableau_i = tableau[i];
 	const Coefficient& tableau_ij = tableau_i[j];
 	if (tableau_ij != 0) {
-	  assert(tableau_i[base[i]] != 0);
-	  assign_r(real_coeff.get_num(), tableau_ij, ROUND_NOT_NEEDED);
-	  assign_r(real_coeff.get_den(), tableau_i[base[i]], ROUND_NOT_NEEDED);
-	  real_coeff.canonicalize();
-	  double float_tableau_value;
-	  assign(float_tableau_value, real_coeff);
+	  PPL_ASSERT(tableau_i[base[i]] != 0);
+	  assign(float_tableau_value, tableau_ij);
+	  assign(float_tableau_denum, tableau_i[base[i]]);
+	  float_tableau_value /= float_tableau_denum;
 	  challenger_den += float_tableau_value * float_tableau_value;
 	}
       }
@@ -911,6 +978,7 @@ PPL::MIP_Problem::steepest_edge_float_entering_index() const {
 	current_value = challenger_value;
 	entering_index = j;
       }
+      WEIGHT_ADD_MUL(338, tableau_num_rows);
     }
   }
   return entering_index;
@@ -919,12 +987,13 @@ PPL::MIP_Problem::steepest_edge_float_entering_index() const {
 PPL::dimension_type
 PPL::MIP_Problem::steepest_edge_exact_entering_index() const {
   const dimension_type tableau_num_rows = tableau.num_rows();
-  assert(tableau_num_rows == base.size());
+  PPL_ASSERT(tableau_num_rows == base.size());
   // The square of the lcm of all the coefficients of variables in base.
   PPL_DIRTY_TEMP_COEFFICIENT(squared_lcm_basis);
   // The normalization factor for each coefficient in the tableau.
   std::vector<Coefficient> norm_factor(tableau_num_rows);
   {
+    WEIGHT_BEGIN();
     // Compute the lcm of all the coefficients of variables in base.
     PPL_DIRTY_TEMP_COEFFICIENT(lcm_basis);
     lcm_basis = 1;
@@ -937,6 +1006,7 @@ PPL::MIP_Problem::steepest_edge_exact_entering_index() const {
     // `lcm_basis' will no longer be needed.
     lcm_basis *= lcm_basis;
     std::swap(squared_lcm_basis, lcm_basis);
+    WEIGHT_ADD_MUL(444, tableau_num_rows);
   }
 
   // Defined here to avoid repeated (de-)allocations.
@@ -953,6 +1023,7 @@ PPL::MIP_Problem::steepest_edge_exact_entering_index() const {
   for (dimension_type j = tableau.num_columns() - 1; j-- > 1; ) {
     const Coefficient& cost_j = working_cost[j];
     if (sgn(cost_j) == cost_sign) {
+      WEIGHT_BEGIN();
       // We cannot compute the (exact) square root of abs(\Delta x_j).
       // The workaround is to compute the square of `cost[j]'.
       challenger_num = cost_j * cost_j;
@@ -983,6 +1054,7 @@ PPL::MIP_Problem::steepest_edge_exact_entering_index() const {
 	std::swap(current_den, challenger_den);
 	entering_index = j;
       }
+      WEIGHT_ADD_MUL(47, tableau_num_rows);
     }
   }
   return entering_index;
@@ -1000,7 +1072,7 @@ PPL::MIP_Problem::textbook_entering_index() const {
   // Get the "sign" of the cost function.
   const dimension_type cost_sign_index = working_cost.size() - 1;
   const int cost_sign = sgn(working_cost[cost_sign_index]);
-  assert(cost_sign != 0);
+  PPL_ASSERT(cost_sign != 0);
   for (dimension_type i = 1; i < cost_sign_index; ++i)
     if (sgn(working_cost[i]) == cost_sign)
       return i;
@@ -1013,15 +1085,17 @@ void
 PPL::MIP_Problem::linear_combine(Row& x,
 				 const Row& y,
 				 const dimension_type k) {
-  assert(x.size() == y.size());
-  assert(y[k] != 0 && x[k] != 0);
+  WEIGHT_BEGIN();
+  const dimension_type x_size = x.size();
+  PPL_ASSERT(x_size == y.size());
+  PPL_ASSERT(y[k] != 0 && x[k] != 0);
   // Let g be the GCD between `x[k]' and `y[k]'.
   // For each i the following computes
   //   x[i] = x[i]*y[k]/g - y[i]*x[k]/g.
   PPL_DIRTY_TEMP_COEFFICIENT(normalized_x_k);
   PPL_DIRTY_TEMP_COEFFICIENT(normalized_y_k);
   normalize2(x[k], y[k], normalized_x_k, normalized_y_k);
-  for (dimension_type i = x.size(); i-- > 0; )
+  for (dimension_type i = x_size; i-- > 0; )
     if (i != k) {
       Coefficient& x_i = x[i];
       x_i *= normalized_y_k;
@@ -1033,6 +1107,7 @@ PPL::MIP_Problem::linear_combine(Row& x,
     }
   x[k] = 0;
   x.normalize();
+  WEIGHT_ADD_MUL(83, x_size);
 }
 
 // See pages 42-43 of [PapadimitriouS98].
@@ -1088,6 +1163,7 @@ PPL::MIP_Problem
     const Coefficient& t_ib = t_i[base[i]];
     const int t_ie_sign = sgn(t_ie);
     if (t_ie_sign != 0 && t_ie_sign == sgn(t_ib)) {
+      WEIGHT_BEGIN();
       const Row& t_e = tableau[exiting_base_index];
       const Coefficient& t_ee = t_e[entering_var_index];
       lcm_assign(lcm, t_ee, t_ie);
@@ -1102,6 +1178,7 @@ PPL::MIP_Problem
       if (sign > 0
 	  || (sign == 0 && base[i] < base[exiting_base_index]))
 	exiting_base_index = i;
+      WEIGHT_ADD(1044);
     }
   }
   return exiting_base_index;
@@ -1126,7 +1203,7 @@ PPL::MIP_Problem::compute_simplex_using_steepest_edge_float() {
   if (cost_sgn_coeff < 0)
     neg_assign(current_num);
   abs_assign(current_den, cost_sgn_coeff);
-  assert(tableau.num_columns() == working_cost.size());
+  PPL_ASSERT(tableau.num_columns() == working_cost.size());
   const dimension_type tableau_num_rows = tableau.num_rows();
 
   while (true) {
@@ -1157,6 +1234,7 @@ PPL::MIP_Problem::compute_simplex_using_steepest_edge_float() {
     // feasible region.
     pivot(entering_var_index, exiting_base_index);
 
+    WEIGHT_BEGIN();
     // Now begins the objective function's value check to choose between
     // the `textbook' and the float `steepest-edge' technique.
     cost_sgn_coeff = working_cost[working_cost.size()-1];
@@ -1170,11 +1248,11 @@ PPL::MIP_Problem::compute_simplex_using_steepest_edge_float() {
 #if PPL_NOISY_SIMPLEX
     ++num_iterations;
     if (num_iterations % 200 == 0)
-      std::cout << "Primal Simplex: iteration "
-		<< num_iterations << "." << std::endl;
-#endif
+      std::cout << "Primal simplex: iteration " << num_iterations
+                << "." << std::endl;
+#endif // PPL_NOISY_SIMPLEX
     // If the following condition fails, probably there's a bug.
-    assert(challenger >= current);
+    PPL_ASSERT(challenger >= current);
     // If the value of the objective function does not improve,
     // keep track of that.
     if (challenger == current) {
@@ -1194,13 +1272,14 @@ PPL::MIP_Problem::compute_simplex_using_steepest_edge_float() {
     if (cost_sgn_coeff < 0)
       neg_assign(current_num);
     abs_assign(current_den, cost_sgn_coeff);
+    WEIGHT_ADD(566);
   }
 }
 
 bool
 PPL::MIP_Problem::compute_simplex_using_exact_pricing() {
-  assert(tableau.num_columns() == working_cost.size());
-  assert(get_control_parameter(PRICING) == PRICING_STEEPEST_EDGE_EXACT
+  PPL_ASSERT(tableau.num_columns() == working_cost.size());
+  PPL_ASSERT(get_control_parameter(PRICING) == PRICING_STEEPEST_EDGE_EXACT
          || get_control_parameter(PRICING) == PRICING_TEXTBOOK);
 
   const dimension_type tableau_num_rows = tableau.num_rows();
@@ -1236,9 +1315,9 @@ PPL::MIP_Problem::compute_simplex_using_exact_pricing() {
 #if PPL_NOISY_SIMPLEX
     ++num_iterations;
     if (num_iterations % 200 == 0)
-      std::cout << "Primal Simplex: iteration "
-                << num_iterations << "." << std::endl;
-#endif
+      std::cout << "Primal simplex: iteration " << num_iterations
+                << "." << std::endl;
+#endif // PPL_NOISY_SIMPLEX
   }
 }
 
@@ -1247,16 +1326,18 @@ PPL::MIP_Problem::compute_simplex_using_exact_pricing() {
 void
 PPL::MIP_Problem::erase_artificials(const dimension_type begin_artificials,
 				    const dimension_type end_artificials) {
-  const dimension_type tableau_last_index = tableau.num_columns() - 1;
+  PPL_ASSERT(0 < begin_artificials && begin_artificials < end_artificials);
+
+  const dimension_type old_last_column = tableau.num_columns() - 1;
   dimension_type tableau_n_rows = tableau.num_rows();
   // Step 1: try to remove from the base all the remaining slack variables.
   for (dimension_type i = 0; i < tableau_n_rows; ++i)
-    if (begin_artificials <= base[i] && base[i] <= end_artificials) {
+    if (begin_artificials <= base[i] && base[i] < end_artificials) {
       // Search for a non-zero element to enter the base.
       Row& tableau_i = tableau[i];
       bool redundant = true;
-      for (dimension_type j = end_artificials+1; j-- > 1; )
-	if (!(begin_artificials <= j && j <= end_artificials)
+      for (dimension_type j = end_artificials; j-- > 1; )
+	if (!(begin_artificials <= j && j < end_artificials)
 	    && tableau_i[j] != 0) {
 	  pivot(j, i);
 	  redundant = false;
@@ -1281,24 +1362,21 @@ PPL::MIP_Problem::erase_artificials(const dimension_type begin_artificials,
 
   // Step 2: Adjust data structures so as to enter phase 2 of the simplex.
 
-  // Compute the dimensions of the new tableau.
-  dimension_type num_artificials = 0;
-  for (dimension_type i = end_artificials + 1; i-- > 1; )
-    if (begin_artificials <= i && i <= end_artificials) {
-      ++num_artificials;
-      tableau.remove_trailing_columns(1);
-    }
+  // Resize the tableau.
+  const dimension_type num_artificials = end_artificials - begin_artificials;
+  tableau.remove_trailing_columns(num_artificials);
 
   // Zero the last column of the tableau.
+  const dimension_type new_last_column = tableau.num_columns() - 1;
   for (dimension_type i = tableau_n_rows; i-- > 0; )
-    tableau[i][tableau.num_columns()-1] = 0;
+    tableau[i][new_last_column] = 0;
 
   // ... then properly set the element in the (new) last column,
   // encoding the kind of optimization; ...
-  working_cost[tableau.num_columns()-1] = working_cost[tableau_last_index];
+  working_cost[new_last_column] = working_cost[old_last_column];
   // ... and finally remove redundant columns.
-  const dimension_type working_cost_new_size = working_cost.size() -
-    num_artificials;
+  const dimension_type working_cost_new_size
+    = working_cost.size() - num_artificials;
   working_cost.shrink(working_cost_new_size);
 }
 
@@ -1394,7 +1472,7 @@ PPL::MIP_Problem::compute_generator() const {
 void
 PPL::MIP_Problem::second_phase() {
   // Second_phase requires that *this is satisfiable.
-  assert(status == SATISFIABLE || status == UNBOUNDED || status == OPTIMIZED);
+  PPL_ASSERT(status == SATISFIABLE || status == UNBOUNDED || status == OPTIMIZED);
   // In the following cases the problem is already solved.
   if (status == UNBOUNDED || status == OPTIMIZED)
     return;
@@ -1440,11 +1518,12 @@ PPL::MIP_Problem::second_phase() {
     : compute_simplex_using_exact_pricing();
   compute_generator();
 #if PPL_NOISY_SIMPLEX
-  std::cout << "MIP_Problem::solve: 2nd phase ended at iteration "
-	    << num_iterations << "." << std::endl;
-#endif
+  std::cout << "MIP_Problem::second_phase(): 2nd phase ended at iteration "
+	    << num_iterations
+            << "." << std::endl;
+#endif // PPL_NOISY_SIMPLEX
   status = second_phase_successful ? OPTIMIZED : UNBOUNDED;
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
@@ -1480,7 +1559,7 @@ bool
 PPL::MIP_Problem::is_lp_satisfiable() const {
 #if PPL_NOISY_SIMPLEX
   num_iterations = 0;
-#endif
+#endif // PPL_NOISY_SIMPLEX
   switch (status) {
   case UNSATISFIABLE:
     return false;
@@ -1513,8 +1592,8 @@ PPL::MIP_Problem::is_lp_satisfiable() const {
       x.first_pending_constraint = input_cs.size();
       // Update also `internal_space_dim'.
       x.internal_space_dim = x.external_space_dim;
-      assert(OK());
-      return (status != UNSATISFIABLE);
+      PPL_ASSERT(OK());
+      return status != UNSATISFIABLE;
     }
   }
   // We should not be here!
@@ -1546,13 +1625,13 @@ PPL::MIP_Problem::solve_mip(bool& have_incumbent_solution,
   if (lp_status == UNBOUNDED_MIP_PROBLEM)
     p = lp.last_generator;
   else {
-    assert(lp_status == OPTIMIZED_MIP_PROBLEM);
+    PPL_ASSERT(lp_status == OPTIMIZED_MIP_PROBLEM);
     // Do not call optimizing_point().
     p = lp.last_generator;
     lp.evaluate_objective_function(p, tmp_coeff1, tmp_coeff2);
     assign_r(tmp_rational.get_num(), tmp_coeff1, ROUND_NOT_NEEDED);
     assign_r(tmp_rational.get_den(), tmp_coeff2, ROUND_NOT_NEEDED);
-    assert(is_canonical(tmp_rational));
+    PPL_ASSERT(is_canonical(tmp_rational));
     if (have_incumbent_solution
 	&& ((lp.optimization_mode() == MAXIMIZATION
  	     && tmp_rational <= incumbent_solution_value)
@@ -1565,7 +1644,7 @@ PPL::MIP_Problem::solve_mip(bool& have_incumbent_solution,
   bool found_satisfiable_generator = true;
   PPL_DIRTY_TEMP_COEFFICIENT(gcd);
   const Coefficient& p_divisor = p.divisor();
-  dimension_type nonint_dim;
+  dimension_type nonint_dim = lp.space_dimension();
   for (Variables_Set::const_iterator v_begin = i_vars.begin(),
 	 v_end = i_vars.end(); v_begin != v_end; ++v_begin) {
     gcd_assign(gcd, p.coefficient(Variable(*v_begin)), p_divisor);
@@ -1595,13 +1674,15 @@ PPL::MIP_Problem::solve_mip(bool& have_incumbent_solution,
       PPL_DIRTY_TEMP_COEFFICIENT(num);
       PPL_DIRTY_TEMP_COEFFICIENT(den);
       lp.evaluate_objective_function(p, num, den);
-      std::cerr << "new value found: " << num << "/" << den << std::endl;
-#endif
+      std::cout << "MIP_Problem::solve_mip(): "
+                << "new value found: " << num << "/" << den
+                << "." << std::endl;
+#endif // PPL_NOISY_SIMPLEX
     }
     return lp_status;
   }
 
-  assert(nonint_dim < lp.space_dimension());
+  PPL_ASSERT(nonint_dim < lp.space_dimension());
 
   assign_r(tmp_rational.get_num(), p.coefficient(Variable(nonint_dim)),
 	   ROUND_NOT_NEEDED);
@@ -1612,23 +1693,37 @@ PPL::MIP_Problem::solve_mip(bool& have_incumbent_solution,
   {
     MIP_Problem lp_aux = lp;
     lp_aux.add_constraint(Variable(nonint_dim) <= tmp_coeff1);
+#if PPL_NOISY_SIMPLEX
+    using namespace IO_Operators;
+    std::cout << "MIP_Problem::solve_mip(): "
+              << "descending with: "
+              << (Variable(nonint_dim) <= tmp_coeff1)
+              << "." << std::endl;
+#endif // PPL_NOISY_SIMPLEX
     solve_mip(have_incumbent_solution, incumbent_solution_value,
 	      incumbent_solution_point, lp_aux, i_vars);
   }
   // TODO: change this when we will be able to remove constraints.
   lp.add_constraint(Variable(nonint_dim) >= tmp_coeff2);
+#if PPL_NOISY_SIMPLEX
+  using namespace IO_Operators;
+  std::cout << "MIP_Problem::solve_mip(): "
+            << "descending with: "
+            << (Variable(nonint_dim) >= tmp_coeff2)
+            << "." << std::endl;
+#endif // PPL_NOISY_SIMPLEX
   solve_mip(have_incumbent_solution, incumbent_solution_value,
 	    incumbent_solution_point, lp, i_vars);
   return have_incumbent_solution ? lp_status : UNFEASIBLE_MIP_PROBLEM;
 }
 
 bool
-PPL::MIP_Problem::choose_branching_variable(const MIP_Problem& mip,
+PPL::MIP_Problem::choose_branching_variable(const MIP_Problem& lp,
 					    const Variables_Set& i_vars,
 					    dimension_type& branching_index) {
   // Insert here the variables that don't satisfy the integrality condition.
-  const Constraint_Sequence& input_cs = mip.input_cs;
-  const Generator& last_generator = mip.last_generator;
+  const Constraint_Sequence& input_cs = lp.input_cs;
+  const Generator& last_generator = lp.last_generator;
   const Coefficient& last_generator_divisor = last_generator.divisor();
   Variables_Set candidate_variables;
 
@@ -1677,19 +1772,34 @@ PPL::MIP_Problem::choose_branching_variable(const MIP_Problem& mip,
 }
 
 bool
-PPL::MIP_Problem::is_mip_satisfiable(MIP_Problem& lp, Generator& p,
-				     const Variables_Set& i_vars) {
-  // Solve the problem as a non MIP one, it must be done internally.
-  if (!lp.is_lp_satisfiable())
+PPL::MIP_Problem::is_mip_satisfiable(MIP_Problem& lp,
+				     const Variables_Set& i_vars,
+                                     Generator& p) {
+#if PPL_NOISY_SIMPLEX
+  ++mip_recursion_level;
+  std::cout << "MIP_Problem::is_mip_satisfiable(): "
+            << "entering recursion level " << mip_recursion_level
+            << "." << std::endl;
+#endif // PPL_NOISY_SIMPLEX
+  PPL_ASSERT(lp.integer_space_dimensions().empty());
+
+  // Solve the LP problem.
+  if (!lp.is_lp_satisfiable()) {
+#if PPL_NOISY_SIMPLEX
+    std::cout << "MIP_Problem::is_mip_satisfiable(): "
+              << "exiting from recursion level " << mip_recursion_level
+              << "." << std::endl;
+    --mip_recursion_level;
+#endif // PPL_NOISY_SIMPLEX
     return false;
-  PPL_DIRTY_TEMP0(mpq_class, tmp_rational);
+  }
 
+  PPL_DIRTY_TEMP0(mpq_class, tmp_rational);
   PPL_DIRTY_TEMP_COEFFICIENT(tmp_coeff1);
   PPL_DIRTY_TEMP_COEFFICIENT(tmp_coeff2);
-  p = lp.last_generator;
-
   bool found_satisfiable_generator = true;
   dimension_type nonint_dim;
+  p = lp.last_generator;
   const Coefficient& p_divisor = p.divisor();
 
 #if PPL_SIMPLEX_USE_MIP_HEURISTIC
@@ -1711,8 +1821,7 @@ PPL::MIP_Problem::is_mip_satisfiable(MIP_Problem& lp, Generator& p,
   if (found_satisfiable_generator)
     return true;
 
-
-  assert(nonint_dim < lp.space_dimension());
+  PPL_ASSERT(nonint_dim < lp.space_dimension());
 
   assign_r(tmp_rational.get_num(), p.coefficient(Variable(nonint_dim)),
 	   ROUND_NOT_NEEDED);
@@ -1723,11 +1832,39 @@ PPL::MIP_Problem::is_mip_satisfiable(MIP_Problem& lp, Generator& p,
   {
     MIP_Problem lp_aux = lp;
     lp_aux.add_constraint(Variable(nonint_dim) <= tmp_coeff1);
-    if (is_mip_satisfiable(lp_aux, p, i_vars))
+#if PPL_NOISY_SIMPLEX
+    using namespace IO_Operators;
+    std::cout << "MIP_Problem::is_mip_satisfiable(): "
+              << "descending with: "
+              << (Variable(nonint_dim) <= tmp_coeff1)
+              << "." << std::endl;
+#endif // PPL_NOISY_SIMPLEX
+    if (is_mip_satisfiable(lp_aux, i_vars, p)) {
+#if PPL_NOISY_SIMPLEX
+      std::cout << "MIP_Problem::is_mip_satisfiable(): "
+                << "exiting from recursion level " << mip_recursion_level
+                << "." << std::endl;
+      --mip_recursion_level;
+#endif // PPL_NOISY_SIMPLEX
       return true;
+    }
   }
   lp.add_constraint(Variable(nonint_dim) >= tmp_coeff2);
-  return is_mip_satisfiable(lp, p, i_vars);
+#if PPL_NOISY_SIMPLEX
+  using namespace IO_Operators;
+  std::cout << "MIP_Problem::is_mip_satisfiable(): "
+            << "descending with: "
+            << (Variable(nonint_dim) >= tmp_coeff2)
+            << "." << std::endl;
+#endif // PPL_NOISY_SIMPLEX
+  bool satisfiable = is_mip_satisfiable(lp, i_vars, p);
+#if PPL_NOISY_SIMPLEX
+  std::cout << "MIP_Problem::is_mip_satisfiable(): "
+            << "exiting from recursion level " << mip_recursion_level
+            << "." << std::endl;
+  --mip_recursion_level;
+#endif // PPL_NOISY_SIMPLEX
+  return satisfiable;
 }
 
 bool
@@ -2149,7 +2286,7 @@ PPL::MIP_Problem::ascii_load(std::istream& s) {
   if (!i_variables.ascii_load(s))
     return false;
 
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
@@ -2167,5 +2304,5 @@ PPL::IO_Operators::operator<<(std::ostream& s, const MIP_Problem& lp) {
 	? "MAXIMIZATION"
 	: "MINIMIZATION");
   s << "\nInteger variables: " << lp.integer_space_dimensions();
- return s;
+  return s;
 }
diff --git a/src/MIP_Problem.defs.hh b/src/MIP_Problem.defs.hh
index 76cbc4f..63a39db 100644
--- a/src/MIP_Problem.defs.hh
+++ b/src/MIP_Problem.defs.hh
@@ -1,5 +1,5 @@
 /* MIP_Problem class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -203,7 +203,7 @@ public:
 	      const Linear_Expression& obj = Linear_Expression::zero(),
 	      Optimization_Mode mode = MAXIMIZATION);
 
-  //! Ordinary copy-constructor.
+  //! Ordinary copy constructor.
   MIP_Problem(const MIP_Problem& y);
 
   //! Destructor.
@@ -505,6 +505,24 @@ private:
   */
   Variables_Set i_variables;
 
+  //! A helper class to temporarily relax a MIP problem using RAII.
+  struct RAII_Temporary_Real_Relaxation {
+    MIP_Problem& lp;
+    Variables_Set i_vars;
+
+    RAII_Temporary_Real_Relaxation(MIP_Problem& mip)
+      : lp(mip), i_vars() {
+      // Turn mip into an LP problem (saving i_variables in i_vars).
+      std::swap(i_vars, lp.i_variables);
+    }
+
+    ~RAII_Temporary_Real_Relaxation() {
+      // Restore the original set of integer variables.
+      std::swap(i_vars, lp.i_variables);
+    }
+  };
+  friend class RAII_Temporary_Real_Relaxation;
+
   //! Processes the pending constraints of \p *this.
   /*!
     \return
@@ -539,44 +557,59 @@ private:
     Parses the pending constraints to gather information on
     how to resize the tableau.
 
+    \note
+    All of the method parameters are output parameters; their value
+    is only meaningful when the function exit returning value \c true.
+
     \return
-    <CODE>UNSATISFIABLE</CODE> if is detected a trivially false constraint,
-    <CODE>SATISFIABLE</CODE> otherwise.
+    \c false if a trivially false constraint is detected, \true otherwise.
 
-    \param new_num_rows
-    This will store the number of rows that has to be added to the original
-    tableau.
+    \param additional_tableau_rows
+    On exit, this will store the number of rows that have to be added
+    to the original tableau.
 
-    \param num_slack_variables
-    This will store the number of slack variables that has to be added to
-    the original tableau.
+    \param additional_slack_variables
+    This will store the number of slack variables that have to be added
+    to the original tableau.
 
     \param is_tableau_constraint
-    Every element of this vector will be set to <CODE>true</CODE> if the
-    associated pending constraint has to be inserted in the tableau,
-    <CODE>false</CODE> otherwise.
-
-    \param nonnegative_variable
-    This will encode for each variable if this one was split or not.
-    Every element of this vector will be set to <CODE>true</CODE> if the
-    associated variable is split, <CODE>false</CODE> otherwise.
-
-    \param unfeasible_tableau_rows
-    This will contain all the row indexes of the tableau that are no more
-    satisfied after adding more constraints to \p *this.
-
-    \param satisfied_ineqs
-    This will contain all the row indexes of the tableau that are already
-    satisfied by `last_generator' and do not require artificial variables to
-    have a starting feasible base.
-
-  */
-  bool parse_constraints(dimension_type& new_num_rows,
-			 dimension_type& num_slack_variables,
+    This container of Boolean flags is initially empty. On exit, it size
+    will be equal to the number of pending constraints in \c input_cs.
+    For each pending constraint index \c i, the corresponding element
+    of this container (having index <CODE>i - first_pending_constraint</CODE>)
+    will be set to \c true if and only if the constraint has to be included
+    in the tableau.
+
+    \param is_satisfied_inequality
+    This container of Boolean flags is initially empty. On exit, its size
+    will be equal to the number of pending constraints in \c input_cs.
+    For each pending constraint index \c i, the corresponding element
+    of this container (having index <CODE>i - first_pending_constraint</CODE>)
+    will be set to \c true if and only if it is an inequality and it
+    is already satisfied by \c last_generator (hence it does not require
+    the introduction of an artificial variable).
+
+    \param is_nonnegative_variable
+    This container of Boolean flags is initially empty.
+    On exit, it size is equal to \c external_space_dim.
+    For each variable (index), the corresponding element of this container
+    is \c true if the variable is known to be nonnegative (and hence should
+    not be split into a positive and a negative part).
+
+    \param is_nonnegative_variable
+    This container of Boolean flags is initially empty.
+    On exit, it size is equal to \c internal_space_dim.
+    For each variable (index), the corresponding element of this container
+    is \c true if the variable was previously split into positive and
+    negative parts that can now be merged back, since it is known
+    that the variable is nonnegative.
+  */
+  bool parse_constraints(dimension_type& additional_tableau_rows,
+			 dimension_type& additional_slack_variables,
 			 std::deque<bool>& is_tableau_constraint,
-			 std::deque<bool>& nonnegative_variable,
-			 std::vector<dimension_type>& unfeasible_tableau_rows,
-			 std::deque<bool>& satisfied_ineqs);
+			 std::deque<bool>& is_satisfied_inequality,
+			 std::deque<bool>& is_nonnegative_variable,
+			 std::deque<bool>& is_remergeable_variable) const;
 
   /*! \brief
     Computes the row index of the variable exiting the base
@@ -695,6 +728,18 @@ private:
   /*! \brief
     Drop unnecessary artificial variables from the tableau and get ready
     for the second phase of the simplex algorithm.
+
+    \note
+    The two parameters denote a STL-like half-open range.
+    It is assumed that \p begin_artificials is strictly greater than 0
+    and smaller than \p end_artificials.
+
+    \param begin_artificials
+    The start of the tableau column index range for artificial variables.
+
+    \param end_artificials
+    The end of the tableau column index range for artificial variables.
+    Note that column index end_artificial is \e excluded from the range.
   */
   void erase_artificials(dimension_type begin_artificials,
 			 dimension_type end_artificials);
@@ -709,18 +754,18 @@ private:
   void compute_generator() const;
 
   /*! \brief
-    Merges previously split variables in the tableau if a nonnegativity
-    constraint is detected.
+    Merges back the positive and negative part of a (previously split)
+    variable after detecting a corresponding nonnegativity constraint.
+
+    \return
+    If the negative part of \p var_index was in base, the index of
+    the corresponding tableau row (which has become nonfeasible);
+    otherwise \c not_a_dimension().
 
     \param var_index
     The index of the variable that has to be merged.
-
-    \param nonfeasible_cs
-    This will contain all the row indexes that are no more satisfied by
-    the computed generator after merging a variable.
   */
-  void merge_split_variables(dimension_type var_index,
-			      std::vector<dimension_type>& nonfeasible_cs);
+  dimension_type merge_split_variable(dimension_type var_index);
 
   //! Returns <CODE>true</CODE> if and only if \p c is satisfied by \p g.
   static bool is_satisfied(const Constraint& c, const Generator& g);
@@ -753,40 +798,43 @@ private:
 				      MIP_Problem& mip,
 				      const Variables_Set& i_vars);
 
+  /*! \brief
+    Returns \c true if and if only the LP problem is satisfiable.
+  */
   bool is_lp_satisfiable() const;
 
   /*! \brief
-    Used with MIP_Problems with a non empty `i_vars',
-    returns <CODE>true</CODE> if and if only a MIP problem is satisfiable,
-    returns <CODE>false</CODE> otherwise.
+    Returns \c true if and if only the LP problem \p lp is satisfiable
+    when variables in \p i_vars can only take integral values.
 
-    \param mip
-    The problem that has to be solved.
-
-    \param p
-    This will encode the feasible point, only if <CODE>true</CODE> is returned.
+    \param lp
+    The LP problem. This is assumed to have no integral space dimension.
 
     \param i_vars
-    The variables that are constrained to take an integer value.
+    The variables that are constrained to take integral values.
+
+    \param p
+    If \c true is returned, it will encode a feasible point.
   */
-  static bool is_mip_satisfiable(MIP_Problem& mip, Generator& p,
-				 const Variables_Set& i_vars);
+  static bool is_mip_satisfiable(MIP_Problem& lp,
+				 const Variables_Set& i_vars,
+                                 Generator& p);
 
   /*! \brief
-    Returns <CODE>true</CODE> if and if only `last_generator' satisfies all the
-    integrality coditions.
+    Returns \c true if and if only \c mip.last_generator satisfies all the
+    integrality coditions implicitly stated using by \p i_vars.
 
-    \param mip
-    The MIP problem.
+    \param lp
+    The LP problem. This is assumed to have no integral space dimension.
 
     \param i_vars
     The variables that are constrained to take an integer value.
 
     \param branching_index
-    If <CODE>false</CODE> is returned, this will encode the variable index on
-    which must be applied the `branch and bound' algorithm.
+    If \c false is returned, this will encode the non-integral variable
+    index on which the `branch and bound' algorithm should be applied.
   */
-  static bool choose_branching_variable(const MIP_Problem& mip,
+  static bool choose_branching_variable(const MIP_Problem& lp,
 					const Variables_Set& i_vars,
 					dimension_type& branching_index);
 };
diff --git a/src/MIP_Problem.inlines.hh b/src/MIP_Problem.inlines.hh
index 2f55ce6..daacd9d 100644
--- a/src/MIP_Problem.inlines.hh
+++ b/src/MIP_Problem.inlines.hh
@@ -1,5 +1,5 @@
 /* MIP_Problem class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -56,7 +56,7 @@ MIP_Problem::MIP_Problem(const MIP_Problem& y)
     opt_mode(y.opt_mode),
     last_generator(y.last_generator),
     i_variables(y.i_variables) {
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 inline
@@ -70,7 +70,7 @@ MIP_Problem::set_optimization_mode(const Optimization_Mode mode) {
     opt_mode = mode;
     if (status == UNBOUNDED || status == OPTIMIZED)
       status = SATISFIABLE;
-    assert(OK());
+    PPL_ASSERT(OK());
   }
 }
 
@@ -108,7 +108,7 @@ MIP_Problem::integer_space_dimensions() const {
 inline MIP_Problem::Control_Parameter_Value
 MIP_Problem::get_control_parameter(Control_Parameter_Name name) const {
   used(name);
-  assert(name == PRICING);
+  PPL_ASSERT(name == PRICING);
   return pricing;
 }
 
diff --git a/src/MIP_Problem.templates.hh b/src/MIP_Problem.templates.hh
index 02446b0..7512c5d 100644
--- a/src/MIP_Problem.templates.hh
+++ b/src/MIP_Problem.templates.hh
@@ -1,5 +1,5 @@
 /* MIP_Problem class implementation: non-inline template functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -94,7 +94,7 @@ MIP_Problem::MIP_Problem(const dimension_type dim,
      }
      input_cs.push_back(*i);
    }
-   assert(OK());
+   PPL_ASSERT(OK());
 }
 
 template <typename In>
@@ -150,7 +150,7 @@ MIP_Problem::MIP_Problem(dimension_type dim,
     }
     input_cs.push_back(*i);
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 } // namespace Parma_Polyhedra_Library
diff --git a/src/MIP_Problem.types.hh b/src/MIP_Problem.types.hh
index b76f106..7532efd 100644
--- a/src/MIP_Problem.types.hh
+++ b/src/MIP_Problem.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Makefile.am b/src/Makefile.am
index a115404..06e9ad3 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -54,10 +54,11 @@
 #	    0.10		    7:0:0
 #	    0.10.1		    8:0:1
 #	    0.10.2		    8:0:1
+#	    0.11		    9:0:0
 
-LIBPPL_LT_CURRENT =  8
+LIBPPL_LT_CURRENT =  9
 LIBPPL_LT_REVISION = 0
-LIBPPL_LT_AGE =      1
+LIBPPL_LT_AGE =      0
 
 AM_CPPFLAGS = \
 -I$(top_builddir) \
@@ -86,7 +87,7 @@ COEFFICIENT_TYPES_INCLUDE_FILES =
 
 COEFFICIENT_DEFS_INCLUDE_FILES =
 
-endif
+endif USE_NATIVE_INTEGERS
 
 if USE_CHECKED_INTEGERS
 
@@ -94,7 +95,7 @@ COEFFICIENT_TYPES_INCLUDE_FILES =
 
 COEFFICIENT_DEFS_INCLUDE_FILES =
 
-endif
+endif USE_CHECKED_INTEGERS
 
 if USE_GMP_INTEGERS
 
@@ -105,12 +106,13 @@ COEFFICIENT_DEFS_INCLUDE_FILES = \
   GMP_Integer.defs.hh \
   GMP_Integer.inlines.hh
 
-endif
+endif USE_GMP_INTEGERS
 
 # The ordering of the following list *matters*!
 INCLUDE_FILES = \
 namespaces.hh \
 compiler.hh \
+assert.hh \
 meta_programming.hh \
 Slow_Copy.hh \
 Has_Assign_Or_Swap.hh \
@@ -151,12 +153,14 @@ Generator_System.types.hh \
 Grid_Generator_System.types.hh \
 Congruence_System.types.hh \
 Scalar_Products.types.hh \
-MIP_Problem.types.hh \
+PIP_Tree.types.hh \
+PIP_Problem.types.hh \
 Poly_Con_Relation.types.hh \
 Poly_Gen_Relation.types.hh \
 BHRZ03_Certificate.types.hh \
 H79_Certificate.types.hh \
 Grid_Certificate.types.hh \
+Partial_Function.types.hh \
 Polyhedron.types.hh \
 C_Polyhedron.types.hh \
 NNC_Polyhedron.types.hh \
@@ -191,6 +195,8 @@ checked_ext.inlines.hh \
 Checked_Number.defs.hh \
 Checked_Number.inlines.hh \
 Checked_Number.templates.hh \
+WRD_coefficient_types.defs.hh \
+WRD_coefficient_types.inlines.hh \
 checked_numeric_limits.hh \
 $(COEFFICIENT_DEFS_INCLUDE_FILES) \
 Coefficient.defs.hh \
@@ -208,6 +214,7 @@ iterator_to_const.inlines.hh \
 distances.defs.hh \
 distances.inlines.hh \
 Boundary.defs.hh \
+intervals.defs.hh \
 Interval_Info.defs.hh \
 Interval_Info.inlines.hh \
 Interval_Restriction.defs.hh \
@@ -260,9 +267,17 @@ Grid_Generator_System.inlines.hh \
 Congruence_System.inlines.hh \
 Scalar_Products.defs.hh \
 Scalar_Products.inlines.hh \
+MIP_Problem.types.hh \
 MIP_Problem.defs.hh \
 MIP_Problem.inlines.hh \
 MIP_Problem.templates.hh \
+PIP_Tree.types.hh \
+PIP_Tree.defs.hh \
+PIP_Tree.inlines.hh \
+PIP_Problem.types.hh \
+PIP_Problem.defs.hh \
+PIP_Problem.inlines.hh \
+PIP_Problem.templates.hh \
 Poly_Con_Relation.defs.hh \
 Poly_Con_Relation.inlines.hh \
 Poly_Gen_Relation.defs.hh \
@@ -273,6 +288,8 @@ H79_Certificate.defs.hh \
 H79_Certificate.inlines.hh \
 Grid_Certificate.defs.hh \
 Grid_Certificate.inlines.hh \
+Partial_Function.defs.hh \
+Partial_Function.inlines.hh \
 Polyhedron.defs.hh \
 Ph_Status.inlines.hh \
 Polyhedron.inlines.hh \
@@ -322,9 +339,13 @@ Partially_Reduced_Product.types.hh \
 Partially_Reduced_Product.defs.hh \
 Partially_Reduced_Product.inlines.hh \
 Partially_Reduced_Product.templates.hh \
+Weight_Profiler.defs.hh \
 max_space_dimension.hh \
 algorithms.hh \
-wrap.hh
+termination.defs.hh \
+termination.templates.hh \
+wrap_assign.hh \
+wrap_string.hh
 #Any_Pointset.types.hh \
 #Any_Pointset.defs.hh \
 #Any_Pointset.inlines.hh \
@@ -365,11 +386,14 @@ Linear_System.cc \
 Matrix.cc \
 Scalar_Products.cc \
 MIP_Problem.cc \
+PIP_Tree.cc \
+PIP_Problem.cc \
 Poly_Con_Relation.cc \
 Poly_Gen_Relation.cc \
 BHRZ03_Certificate.cc \
 H79_Certificate.cc \
 Grid_Certificate.cc \
+Partial_Function.cc \
 Polyhedron_nonpublic.cc \
 Polyhedron_public.cc \
 Polyhedron_chdims.cc \
@@ -400,11 +424,13 @@ stdiobuf.cc \
 c_streambuf.cc \
 globals.cc \
 mp_std_bits.cc \
+Weight_Profiler.cc \
 version.cc \
 $(INCLUDE_FILES) \
 $(NESTED_INCLUDE_FILES) \
 swapping_sort.icc \
-wrap.cc
+termination.cc \
+wrap_string.cc
 #Pointset_Ask_Tell.cc
 
 if NO_UNDEFINED
@@ -459,8 +485,20 @@ CREDITS.cc: $(top_builddir)/utils/text2cxxarray $(top_srcdir)/CREDITS
 
 else !HAVE_PERL
 
-ppl.hh:	ppl.hh.dist
-	cp -f $< $@
+ppl.hh.sed: Makefile
+	@echo "/^\/\* BEGIN ppl-config.h \*\/$$/ {"    >$@
+	@echo "  r $(top_builddir)/ppl-config.h"      >>$@
+	@echo "  : loop"                              >>$@
+	@echo "  /\n\/\* END ppl-config.h \*\/$$/ !{" >>$@
+	@echo "    N"                                 >>$@
+	@echo "    b loop"                            >>$@
+	@echo "  }"                                   >>$@
+	@echo "  d"                                   >>$@
+	@echo "}"                                     >>$@
+
+ppl.hh:	ppl.hh.dist ppl.hh.sed
+	$(SED) -f ppl.hh.sed $< >$@
+	rm -f ppl.hh.sed
 
 BUGS.cc:	BUGS.cc.dist
 	cp -f $< $@
@@ -478,15 +516,16 @@ ppl.hh.gch: ppl.hh
 
 PRECOMPILED = ppl.hh.gch
 
-else
+else !USE_PRECOMPILED_HEADERS
 
 PRECOMPILED =
 
-endif
+endif !USE_PRECOMPILED_HEADERS
 
 BUILT_SOURCES = \
 $(include_HEADERS) \
 $(nodist_noinst_HEADERS) \
+$(noinst_HEADERS) \
 $(PRECOMPILED) \
 BUGS.cc \
 COPYING.cc \
diff --git a/src/Makefile.in b/src/Makefile.in
index df2e99b..2bf8089 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -70,13 +71,15 @@
 #	    0.10		    7:0:0
 #	    0.10.1		    8:0:1
 #	    0.10.2		    8:0:1
+#	    0.11		    9:0:0
 
 
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -103,6 +106,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -124,21 +128,36 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES = version.hh ppl-config.cc
+CONFIG_CLEAN_VPATH_FILES =
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
     *) f=$$p;; \
   esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
 am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \
 	"$(DESTDIR)$(includedir)"
-libLTLIBRARIES_INSTALL = $(INSTALL)
 LTLIBRARIES = $(lib_LTLIBRARIES)
 libppl_la_DEPENDENCIES =
 am__libppl_la_SOURCES_DIST = Box.cc checked.cc Checked_Number.cc \
@@ -146,25 +165,27 @@ am__libppl_la_SOURCES_DIST = Box.cc checked.cc Checked_Number.cc \
 	Congruence.cc Congruence_System.cc Generator_System.cc \
 	Grid_Generator_System.cc Generator.cc Grid_Generator.cc \
 	Init.cc Coefficient.cc Linear_Expression.cc Linear_System.cc \
-	Matrix.cc Scalar_Products.cc MIP_Problem.cc \
-	Poly_Con_Relation.cc Poly_Gen_Relation.cc \
+	Matrix.cc Scalar_Products.cc MIP_Problem.cc PIP_Tree.cc \
+	PIP_Problem.cc Poly_Con_Relation.cc Poly_Gen_Relation.cc \
 	BHRZ03_Certificate.cc H79_Certificate.cc Grid_Certificate.cc \
-	Polyhedron_nonpublic.cc Polyhedron_public.cc \
-	Polyhedron_chdims.cc Polyhedron_widenings.cc C_Polyhedron.cc \
-	NNC_Polyhedron.cc Grid_nonpublic.cc Grid_public.cc \
-	Grid_chdims.cc Grid_widenings.cc BD_Shape.cc \
-	Octagonal_Shape.cc Pointset_Powerset.cc Row.cc Linear_Row.cc \
-	Bit_Matrix.cc Bit_Row.cc Ph_Status.cc Grid_Status.cc \
-	Variable.cc Variables_Set.cc conversion.cc minimize.cc \
-	simplify.cc Grid_conversion.cc Grid_simplify.cc stdiobuf.cc \
-	c_streambuf.cc globals.cc mp_std_bits.cc version.cc \
-	namespaces.hh compiler.hh meta_programming.hh Slow_Copy.hh \
-	Has_Assign_Or_Swap.hh assign_or_swap.hh mp_std_bits.defs.hh \
-	mp_std_bits.inlines.hh Temp.defs.hh Temp.inlines.hh \
-	Temp.templates.hh Coefficient_traits_template.hh \
-	Checked_Number.types.hh GMP_Integer.types.hh \
-	Coefficient.types.hh stdiobuf.types.hh c_streambuf.types.hh \
-	globals.types.hh iterator_to_const.types.hh distances.types.hh \
+	Partial_Function.cc Polyhedron_nonpublic.cc \
+	Polyhedron_public.cc Polyhedron_chdims.cc \
+	Polyhedron_widenings.cc C_Polyhedron.cc NNC_Polyhedron.cc \
+	Grid_nonpublic.cc Grid_public.cc Grid_chdims.cc \
+	Grid_widenings.cc BD_Shape.cc Octagonal_Shape.cc \
+	Pointset_Powerset.cc Row.cc Linear_Row.cc Bit_Matrix.cc \
+	Bit_Row.cc Ph_Status.cc Grid_Status.cc Variable.cc \
+	Variables_Set.cc conversion.cc minimize.cc simplify.cc \
+	Grid_conversion.cc Grid_simplify.cc stdiobuf.cc c_streambuf.cc \
+	globals.cc mp_std_bits.cc Weight_Profiler.cc version.cc \
+	namespaces.hh compiler.hh assert.hh meta_programming.hh \
+	Slow_Copy.hh Has_Assign_Or_Swap.hh assign_or_swap.hh \
+	mp_std_bits.defs.hh mp_std_bits.inlines.hh Temp.defs.hh \
+	Temp.inlines.hh Temp.templates.hh \
+	Coefficient_traits_template.hh Checked_Number.types.hh \
+	GMP_Integer.types.hh Coefficient.types.hh stdiobuf.types.hh \
+	c_streambuf.types.hh globals.types.hh \
+	iterator_to_const.types.hh distances.types.hh \
 	Interval_Info.types.hh Interval.types.hh Box.types.hh \
 	Constraint.types.hh Generator.types.hh Grid_Generator.types.hh \
 	Congruence.types.hh Init.types.hh Row.types.hh \
@@ -173,10 +194,11 @@ am__libppl_la_SOURCES_DIST = Box.cc checked.cc Checked_Number.cc \
 	Linear_System.types.hh Bit_Row.types.hh Bit_Matrix.types.hh \
 	Constraint_System.types.hh Generator_System.types.hh \
 	Grid_Generator_System.types.hh Congruence_System.types.hh \
-	Scalar_Products.types.hh MIP_Problem.types.hh \
-	Poly_Con_Relation.types.hh Poly_Gen_Relation.types.hh \
-	BHRZ03_Certificate.types.hh H79_Certificate.types.hh \
-	Grid_Certificate.types.hh Polyhedron.types.hh \
+	Scalar_Products.types.hh PIP_Tree.types.hh \
+	PIP_Problem.types.hh Poly_Con_Relation.types.hh \
+	Poly_Gen_Relation.types.hh BHRZ03_Certificate.types.hh \
+	H79_Certificate.types.hh Grid_Certificate.types.hh \
+	Partial_Function.types.hh Polyhedron.types.hh \
 	C_Polyhedron.types.hh NNC_Polyhedron.types.hh Grid.types.hh \
 	Ptr_Iterator.types.hh DB_Row.types.hh DB_Matrix.types.hh \
 	BD_Shape.types.hh OR_Matrix.types.hh Octagonal_Shape.types.hh \
@@ -189,6 +211,7 @@ am__libppl_la_SOURCES_DIST = Box.cc checked.cc Checked_Number.cc \
 	checked_mpz.inlines.hh checked_mpq.inlines.hh \
 	checked_ext.inlines.hh Checked_Number.defs.hh \
 	Checked_Number.inlines.hh Checked_Number.templates.hh \
+	WRD_coefficient_types.defs.hh WRD_coefficient_types.inlines.hh \
 	checked_numeric_limits.hh GMP_Integer.defs.hh \
 	GMP_Integer.inlines.hh Coefficient.defs.hh \
 	Coefficient.inlines.hh stdiobuf.defs.hh stdiobuf.inlines.hh \
@@ -196,12 +219,13 @@ am__libppl_la_SOURCES_DIST = Box.cc checked.cc Checked_Number.cc \
 	globals.inlines.hh math_utilities.defs.hh \
 	math_utilities.inlines.hh iterator_to_const.defs.hh \
 	iterator_to_const.inlines.hh distances.defs.hh \
-	distances.inlines.hh Boundary.defs.hh Interval_Info.defs.hh \
-	Interval_Info.inlines.hh Interval_Restriction.defs.hh \
-	Interval.defs.hh Interval.inlines.hh Interval.templates.hh \
-	Box.defs.hh Box_Status.inlines.hh Box.inlines.hh \
-	Box.templates.hh Rational_Interval.hh Rational_Box.hh \
-	Variable.defs.hh Variable.inlines.hh Variables_Set.defs.hh \
+	distances.inlines.hh Boundary.defs.hh intervals.defs.hh \
+	Interval_Info.defs.hh Interval_Info.inlines.hh \
+	Interval_Restriction.defs.hh Interval.defs.hh \
+	Interval.inlines.hh Interval.templates.hh Box.defs.hh \
+	Box_Status.inlines.hh Box.inlines.hh Box.templates.hh \
+	Rational_Interval.hh Rational_Box.hh Variable.defs.hh \
+	Variable.inlines.hh Variables_Set.defs.hh \
 	Variables_Set.inlines.hh Init.defs.hh Init.inlines.hh \
 	initializer.hh Topology.hh Row.defs.hh Row.inlines.hh \
 	Linear_Row.defs.hh Linear_Row.inlines.hh Matrix.defs.hh \
@@ -218,14 +242,17 @@ am__libppl_la_SOURCES_DIST = Box.cc checked.cc Checked_Number.cc \
 	Congruence.inlines.hh Generator_System.inlines.hh \
 	Grid_Generator_System.inlines.hh Congruence_System.inlines.hh \
 	Scalar_Products.defs.hh Scalar_Products.inlines.hh \
-	MIP_Problem.defs.hh MIP_Problem.inlines.hh \
-	MIP_Problem.templates.hh Poly_Con_Relation.defs.hh \
-	Poly_Con_Relation.inlines.hh Poly_Gen_Relation.defs.hh \
-	Poly_Gen_Relation.inlines.hh BHRZ03_Certificate.defs.hh \
-	BHRZ03_Certificate.inlines.hh H79_Certificate.defs.hh \
-	H79_Certificate.inlines.hh Grid_Certificate.defs.hh \
-	Grid_Certificate.inlines.hh Polyhedron.defs.hh \
-	Ph_Status.inlines.hh Polyhedron.inlines.hh \
+	MIP_Problem.types.hh MIP_Problem.defs.hh \
+	MIP_Problem.inlines.hh MIP_Problem.templates.hh \
+	PIP_Tree.defs.hh PIP_Tree.inlines.hh PIP_Problem.defs.hh \
+	PIP_Problem.inlines.hh PIP_Problem.templates.hh \
+	Poly_Con_Relation.defs.hh Poly_Con_Relation.inlines.hh \
+	Poly_Gen_Relation.defs.hh Poly_Gen_Relation.inlines.hh \
+	BHRZ03_Certificate.defs.hh BHRZ03_Certificate.inlines.hh \
+	H79_Certificate.defs.hh H79_Certificate.inlines.hh \
+	Grid_Certificate.defs.hh Grid_Certificate.inlines.hh \
+	Partial_Function.defs.hh Partial_Function.inlines.hh \
+	Polyhedron.defs.hh Ph_Status.inlines.hh Polyhedron.inlines.hh \
 	Polyhedron.templates.hh Grid.defs.hh Grid_Status.inlines.hh \
 	Grid.inlines.hh Grid.templates.hh C_Polyhedron.defs.hh \
 	C_Polyhedron.inlines.hh NNC_Polyhedron.defs.hh \
@@ -246,10 +273,12 @@ am__libppl_la_SOURCES_DIST = Box.cc checked.cc Checked_Number.cc \
 	Partially_Reduced_Product.types.hh \
 	Partially_Reduced_Product.defs.hh \
 	Partially_Reduced_Product.inlines.hh \
-	Partially_Reduced_Product.templates.hh max_space_dimension.hh \
-	algorithms.hh wrap.hh Ph_Status.idefs.hh Grid_Status.idefs.hh \
-	Box_Status.idefs.hh BDS_Status.idefs.hh Og_Status.idefs.hh \
-	swapping_sort.icc wrap.cc
+	Partially_Reduced_Product.templates.hh Weight_Profiler.defs.hh \
+	max_space_dimension.hh algorithms.hh termination.defs.hh \
+	termination.templates.hh wrap_assign.hh wrap_string.hh \
+	Ph_Status.idefs.hh Grid_Status.idefs.hh Box_Status.idefs.hh \
+	BDS_Status.idefs.hh Og_Status.idefs.hh swapping_sort.icc \
+	termination.cc wrap_string.cc
 am__objects_1 =
 am__objects_2 = $(am__objects_1) $(am__objects_1)
 am_libppl_la_OBJECTS = Box.lo checked.lo Checked_Number.lo Float.lo \
@@ -257,24 +286,28 @@ am_libppl_la_OBJECTS = Box.lo checked.lo Checked_Number.lo Float.lo \
 	Congruence_System.lo Generator_System.lo \
 	Grid_Generator_System.lo Generator.lo Grid_Generator.lo \
 	Init.lo Coefficient.lo Linear_Expression.lo Linear_System.lo \
-	Matrix.lo Scalar_Products.lo MIP_Problem.lo \
-	Poly_Con_Relation.lo Poly_Gen_Relation.lo \
+	Matrix.lo Scalar_Products.lo MIP_Problem.lo PIP_Tree.lo \
+	PIP_Problem.lo Poly_Con_Relation.lo Poly_Gen_Relation.lo \
 	BHRZ03_Certificate.lo H79_Certificate.lo Grid_Certificate.lo \
-	Polyhedron_nonpublic.lo Polyhedron_public.lo \
-	Polyhedron_chdims.lo Polyhedron_widenings.lo C_Polyhedron.lo \
-	NNC_Polyhedron.lo Grid_nonpublic.lo Grid_public.lo \
-	Grid_chdims.lo Grid_widenings.lo BD_Shape.lo \
-	Octagonal_Shape.lo Pointset_Powerset.lo Row.lo Linear_Row.lo \
-	Bit_Matrix.lo Bit_Row.lo Ph_Status.lo Grid_Status.lo \
-	Variable.lo Variables_Set.lo conversion.lo minimize.lo \
-	simplify.lo Grid_conversion.lo Grid_simplify.lo stdiobuf.lo \
-	c_streambuf.lo globals.lo mp_std_bits.lo version.lo \
-	$(am__objects_2) $(am__objects_1) wrap.lo
+	Partial_Function.lo Polyhedron_nonpublic.lo \
+	Polyhedron_public.lo Polyhedron_chdims.lo \
+	Polyhedron_widenings.lo C_Polyhedron.lo NNC_Polyhedron.lo \
+	Grid_nonpublic.lo Grid_public.lo Grid_chdims.lo \
+	Grid_widenings.lo BD_Shape.lo Octagonal_Shape.lo \
+	Pointset_Powerset.lo Row.lo Linear_Row.lo Bit_Matrix.lo \
+	Bit_Row.lo Ph_Status.lo Grid_Status.lo Variable.lo \
+	Variables_Set.lo conversion.lo minimize.lo simplify.lo \
+	Grid_conversion.lo Grid_simplify.lo stdiobuf.lo c_streambuf.lo \
+	globals.lo mp_std_bits.lo Weight_Profiler.lo version.lo \
+	$(am__objects_2) $(am__objects_1) termination.lo \
+	wrap_string.lo
 libppl_la_OBJECTS = $(am_libppl_la_OBJECTS)
-libppl_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+libppl_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(libppl_la_LDFLAGS) $(LDFLAGS) -o $@
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 PROGRAMS = $(bin_PROGRAMS)
 am_ppl_config_OBJECTS = BUGS.$(OBJEXT) COPYING.$(OBJEXT) \
 	CREDITS.$(OBJEXT)
@@ -285,29 +318,49 @@ ppl_config_DEPENDENCIES = libppl.la
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_$(V))
+am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+am__v_CXX_0 = @echo "  CXX   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_$(V))
+am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo "  CC    " $@;
 CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo "  CCLD  " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libppl_la_SOURCES) $(ppl_config_SOURCES) \
 	$(nodist_ppl_config_SOURCES)
 DIST_SOURCES = $(am__libppl_la_SOURCES_DIST) $(ppl_config_SOURCES)
 am__include_HEADERS_DIST = ppl.hh
-includeHEADERS_INSTALL = $(INSTALL_HEADER)
 am__noinst_HEADERS_DIST = ppl.hh
 HEADERS = $(include_HEADERS) $(nodist_noinst_HEADERS) \
 	$(noinst_HEADERS)
@@ -316,6 +369,7 @@ CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -362,6 +416,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -379,8 +435,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -388,6 +454,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -404,12 +471,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -452,11 +522,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -486,6 +554,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -493,9 +562,10 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
-LIBPPL_LT_CURRENT = 8
+yap_prolog = @yap_prolog@
+LIBPPL_LT_CURRENT = 9
 LIBPPL_LT_REVISION = 0
-LIBPPL_LT_AGE = 1
+LIBPPL_LT_AGE = 0
 AM_CPPFLAGS = \
 -I$(top_builddir) \
 -I$(top_srcdir)/src \
@@ -530,6 +600,7 @@ libppl.la
 INCLUDE_FILES = \
 namespaces.hh \
 compiler.hh \
+assert.hh \
 meta_programming.hh \
 Slow_Copy.hh \
 Has_Assign_Or_Swap.hh \
@@ -570,12 +641,14 @@ Generator_System.types.hh \
 Grid_Generator_System.types.hh \
 Congruence_System.types.hh \
 Scalar_Products.types.hh \
-MIP_Problem.types.hh \
+PIP_Tree.types.hh \
+PIP_Problem.types.hh \
 Poly_Con_Relation.types.hh \
 Poly_Gen_Relation.types.hh \
 BHRZ03_Certificate.types.hh \
 H79_Certificate.types.hh \
 Grid_Certificate.types.hh \
+Partial_Function.types.hh \
 Polyhedron.types.hh \
 C_Polyhedron.types.hh \
 NNC_Polyhedron.types.hh \
@@ -610,6 +683,8 @@ checked_ext.inlines.hh \
 Checked_Number.defs.hh \
 Checked_Number.inlines.hh \
 Checked_Number.templates.hh \
+WRD_coefficient_types.defs.hh \
+WRD_coefficient_types.inlines.hh \
 checked_numeric_limits.hh \
 $(COEFFICIENT_DEFS_INCLUDE_FILES) \
 Coefficient.defs.hh \
@@ -627,6 +702,7 @@ iterator_to_const.inlines.hh \
 distances.defs.hh \
 distances.inlines.hh \
 Boundary.defs.hh \
+intervals.defs.hh \
 Interval_Info.defs.hh \
 Interval_Info.inlines.hh \
 Interval_Restriction.defs.hh \
@@ -679,9 +755,17 @@ Grid_Generator_System.inlines.hh \
 Congruence_System.inlines.hh \
 Scalar_Products.defs.hh \
 Scalar_Products.inlines.hh \
+MIP_Problem.types.hh \
 MIP_Problem.defs.hh \
 MIP_Problem.inlines.hh \
 MIP_Problem.templates.hh \
+PIP_Tree.types.hh \
+PIP_Tree.defs.hh \
+PIP_Tree.inlines.hh \
+PIP_Problem.types.hh \
+PIP_Problem.defs.hh \
+PIP_Problem.inlines.hh \
+PIP_Problem.templates.hh \
 Poly_Con_Relation.defs.hh \
 Poly_Con_Relation.inlines.hh \
 Poly_Gen_Relation.defs.hh \
@@ -692,6 +776,8 @@ H79_Certificate.defs.hh \
 H79_Certificate.inlines.hh \
 Grid_Certificate.defs.hh \
 Grid_Certificate.inlines.hh \
+Partial_Function.defs.hh \
+Partial_Function.inlines.hh \
 Polyhedron.defs.hh \
 Ph_Status.inlines.hh \
 Polyhedron.inlines.hh \
@@ -741,9 +827,13 @@ Partially_Reduced_Product.types.hh \
 Partially_Reduced_Product.defs.hh \
 Partially_Reduced_Product.inlines.hh \
 Partially_Reduced_Product.templates.hh \
+Weight_Profiler.defs.hh \
 max_space_dimension.hh \
 algorithms.hh \
-wrap.hh
+termination.defs.hh \
+termination.templates.hh \
+wrap_assign.hh \
+wrap_string.hh
 
 #Any_Pointset.types.hh \
 #Any_Pointset.defs.hh \
@@ -784,11 +874,14 @@ Linear_System.cc \
 Matrix.cc \
 Scalar_Products.cc \
 MIP_Problem.cc \
+PIP_Tree.cc \
+PIP_Problem.cc \
 Poly_Con_Relation.cc \
 Poly_Gen_Relation.cc \
 BHRZ03_Certificate.cc \
 H79_Certificate.cc \
 Grid_Certificate.cc \
+Partial_Function.cc \
 Polyhedron_nonpublic.cc \
 Polyhedron_public.cc \
 Polyhedron_chdims.cc \
@@ -819,11 +912,13 @@ stdiobuf.cc \
 c_streambuf.cc \
 globals.cc \
 mp_std_bits.cc \
+Weight_Profiler.cc \
 version.cc \
 $(INCLUDE_FILES) \
 $(NESTED_INCLUDE_FILES) \
 swapping_sort.icc \
-wrap.cc
+termination.cc \
+wrap_string.cc
 
 #Pointset_Ask_Tell.cc
 @NO_UNDEFINED_TRUE at NO_UNDEFINED_FLAG = -no-undefined
@@ -841,6 +936,7 @@ EXTRA_DIST = ppl_header.hh ppl-config.cc.in version.hh.in
 BUILT_SOURCES = \
 $(include_HEADERS) \
 $(nodist_noinst_HEADERS) \
+$(noinst_HEADERS) \
 $(PRECOMPILED) \
 BUGS.cc \
 COPYING.cc \
@@ -856,14 +952,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  src/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  src/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign src/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -881,6 +977,7 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 version.hh: $(top_builddir)/config.status $(srcdir)/version.hh.in
 	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 ppl-config.cc: $(top_builddir)/config.status $(srcdir)/ppl-config.cc.in
@@ -888,20 +985,24 @@ ppl-config.cc: $(top_builddir)/config.status $(srcdir)/ppl-config.cc.in
 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
-	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+	list2=; for p in $$list; do \
 	  if test -f $$p; then \
-	    f=$(am__strip_dir) \
-	    echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
-	    $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+	    list2="$$list2 $$p"; \
 	  else :; fi; \
-	done
+	done; \
+	test -z "$$list2" || { \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+	}
 
 uninstall-libLTLIBRARIES:
 	@$(NORMAL_UNINSTALL)
-	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-	  p=$(am__strip_dir) \
-	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
-	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+	for p in $$list; do \
+	  $(am__strip_dir) \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
 	done
 
 clean-libLTLIBRARIES:
@@ -913,38 +1014,53 @@ clean-libLTLIBRARIES:
 	  rm -f "$${dir}/so_locations"; \
 	done
 libppl.la: $(libppl_la_OBJECTS) $(libppl_la_DEPENDENCIES) 
-	$(libppl_la_LINK) -rpath $(libdir) $(libppl_la_OBJECTS) $(libppl_la_LIBADD) $(LIBS)
+	$(AM_V_CXXLD)$(libppl_la_LINK) -rpath $(libdir) $(libppl_la_OBJECTS) $(libppl_la_LIBADD) $(LIBS)
 install-binPROGRAMS: $(bin_PROGRAMS)
 	@$(NORMAL_INSTALL)
 	test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
-	@list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  if test -f $$p \
-	     || test -f $$p1 \
-	  ; then \
-	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
-	   echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
-	   $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
-	  else :; fi; \
-	done
+	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	for p in $$list; do echo "$$p $$p"; done | \
+	sed 's/$(EXEEXT)$$//' | \
+	while read p p1; do if test -f $$p || test -f $$p1; \
+	  then echo "$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+	sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
+	    else { print "f", $$3 "/" $$4, $$1; } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	    test -z "$$files" || { \
+	    echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+	    $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+	    } \
+	; done
 
 uninstall-binPROGRAMS:
 	@$(NORMAL_UNINSTALL)
-	@list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
-	  echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(bindir)/$$f"; \
-	done
+	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+	      -e 's/$$/$(EXEEXT)/' `; \
+	test -n "$$list" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(bindir)" && rm -f $$files
 
 clean-binPROGRAMS:
-	@list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  echo " rm -f $$p $$f"; \
-	  rm -f $$p $$f ; \
-	done
+	@list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
 ppl-config$(EXEEXT): $(ppl_config_OBJECTS) $(ppl_config_DEPENDENCIES) 
 	@rm -f ppl-config$(EXEEXT)
-	$(CXXLINK) $(ppl_config_OBJECTS) $(ppl_config_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ppl_config_OBJECTS) $(ppl_config_LDADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -989,6 +1105,9 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Matrix.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/NNC_Polyhedron.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Octagonal_Shape.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/PIP_Problem.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/PIP_Tree.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Partial_Function.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Ph_Status.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Pointset_Powerset.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Poly_Con_Relation.Plo at am__quote@
@@ -1001,6 +1120,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Scalar_Products.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Variable.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Variables_Set.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Weight_Profiler.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/c_streambuf.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/checked.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/conversion.Plo at am__quote@
@@ -1011,26 +1131,30 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl-config.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/simplify.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/stdiobuf.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/termination.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/version.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/wrap.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/wrap_string.Plo at am__quote@
 
 .cc.o:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
- at am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
@@ -1043,34 +1167,37 @@ clean-libtool:
 install-includeHEADERS: $(include_HEADERS)
 	@$(NORMAL_INSTALL)
 	test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
-	@list='$(include_HEADERS)'; for p in $$list; do \
+	@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  f=$(am__strip_dir) \
-	  echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \
-	  $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
+	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
 	done
 
 uninstall-includeHEADERS:
 	@$(NORMAL_UNINSTALL)
-	@list='$(include_HEADERS)'; for p in $$list; do \
-	  f=$(am__strip_dir) \
-	  echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(includedir)/$$f"; \
-	done
+	@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(includedir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(includedir)" && rm -f $$files
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
@@ -1078,29 +1205,34 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -1121,13 +1253,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -1166,6 +1302,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -1188,6 +1325,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -1196,18 +1335,28 @@ install-data-am: install-includeHEADERS
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am: install-binPROGRAMS install-libLTLIBRARIES
 
 install-html: install-html-am
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-am
 
+install-pdf-am:
+
 install-ps: install-ps-am
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -1231,7 +1380,7 @@ ps-am:
 uninstall-am: uninstall-binPROGRAMS uninstall-includeHEADERS \
 	uninstall-libLTLIBRARIES
 
-.MAKE: install-am install-strip
+.MAKE: all check install install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
 	clean-generic clean-libLTLIBRARIES clean-libtool ctags \
@@ -1272,8 +1421,20 @@ ppl_include_files.hh: $(INCLUDE_FILES) Makefile
 @HAVE_PERL_TRUE@	$(top_builddir)/utils/text2cxxarray --name=CREDITS_array \
 @HAVE_PERL_TRUE@		$(top_srcdir)/CREDITS >$@
 
- at HAVE_PERL_FALSE@ppl.hh:	ppl.hh.dist
- at HAVE_PERL_FALSE@	cp -f $< $@
+ at HAVE_PERL_FALSE@ppl.hh.sed: Makefile
+ at HAVE_PERL_FALSE@	@echo "/^\/\* BEGIN ppl-config.h \*\/$$/ {"    >$@
+ at HAVE_PERL_FALSE@	@echo "  r $(top_builddir)/ppl-config.h"      >>$@
+ at HAVE_PERL_FALSE@	@echo "  : loop"                              >>$@
+ at HAVE_PERL_FALSE@	@echo "  /\n\/\* END ppl-config.h \*\/$$/ !{" >>$@
+ at HAVE_PERL_FALSE@	@echo "    N"                                 >>$@
+ at HAVE_PERL_FALSE@	@echo "    b loop"                            >>$@
+ at HAVE_PERL_FALSE@	@echo "  }"                                   >>$@
+ at HAVE_PERL_FALSE@	@echo "  d"                                   >>$@
+ at HAVE_PERL_FALSE@	@echo "}"                                     >>$@
+
+ at HAVE_PERL_FALSE@ppl.hh:	ppl.hh.dist ppl.hh.sed
+ at HAVE_PERL_FALSE@	$(SED) -f ppl.hh.sed $< >$@
+ at HAVE_PERL_FALSE@	rm -f ppl.hh.sed
 
 @HAVE_PERL_FALSE at BUGS.cc:	BUGS.cc.dist
 @HAVE_PERL_FALSE@	cp -f $< $@
@@ -1302,6 +1463,7 @@ $(top_builddir)/utils/text2cxxarray:
 
 $(top_builddir)/ppl-config.h:
 	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir) ppl-config.h
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/src/Matrix.cc b/src/Matrix.cc
index 19eae9d..ac0abce 100644
--- a/src/Matrix.cc
+++ b/src/Matrix.cc
@@ -1,5 +1,5 @@
 /* Matrix class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -33,20 +33,25 @@ namespace PPL = Parma_Polyhedra_Library;
 PPL::Matrix::Matrix(const dimension_type n_rows,
 		    const dimension_type n_columns,
 		    Row::Flags row_flags)
-  : rows((assert(n_rows <= max_num_rows()),
-	  n_rows)),
+  :
+#ifdef NDEBUG
+    rows(n_rows),
+#else
+    rows(n_rows <= max_num_rows() ? n_rows : 0),
+#endif
     row_size(n_columns),
     row_capacity(compute_capacity(n_columns, max_num_columns())) {
+  PPL_ASSERT(n_rows <= max_num_rows());
   // Construct in direct order: will destroy in reverse order.
   for (dimension_type i = 0; i < n_rows; ++i)
     rows[i].construct(n_columns, row_capacity, row_flags);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
 PPL::Matrix::add_zero_rows(const dimension_type n, Row::Flags row_flags) {
-  assert(n > 0);
-  assert(n <= max_num_rows() - num_rows());
+  PPL_ASSERT(n > 0);
+  PPL_ASSERT(n <= max_num_rows() - num_rows());
   const dimension_type old_num_rows = rows.size();
   const dimension_type new_num_rows = old_num_rows + n;
 
@@ -76,8 +81,8 @@ PPL::Matrix::add_zero_rows(const dimension_type n, Row::Flags row_flags) {
 
 void
 PPL::Matrix::add_zero_columns(const dimension_type n) {
-  assert(n > 0);
-  assert(n <= max_num_columns() - num_columns());
+  PPL_ASSERT(n > 0);
+  PPL_ASSERT(n <= max_num_columns() - num_columns());
   const dimension_type num_rows = rows.size();
   const dimension_type new_num_columns = row_size + n;
 
@@ -90,7 +95,7 @@ PPL::Matrix::add_zero_columns(const dimension_type n) {
     // make sure all the rows have the same capacity.
     const dimension_type new_row_capacity
       = compute_capacity(new_num_columns, max_num_columns());
-    assert(new_row_capacity <= max_num_columns());
+    PPL_ASSERT(new_row_capacity <= max_num_columns());
     for (dimension_type i = num_rows; i-- > 0; ) {
       Row new_row(rows[i], new_num_columns, new_row_capacity);
       std::swap(rows[i], new_row);
@@ -105,10 +110,10 @@ void
 PPL::Matrix::add_zero_rows_and_columns(const dimension_type n,
 				       const dimension_type m,
 				       Row::Flags row_flags) {
-  assert(n > 0);
-  assert(n <= max_num_rows() - num_rows());
-  assert(m > 0);
-  assert(m <= max_num_columns() - num_columns());
+  PPL_ASSERT(n > 0);
+  PPL_ASSERT(n <= max_num_rows() - num_rows());
+  PPL_ASSERT(m > 0);
+  PPL_ASSERT(m <= max_num_columns() - num_columns());
   const dimension_type old_num_rows = rows.size();
   const dimension_type new_num_rows = old_num_rows + n;
   const dimension_type new_num_columns = row_size + m;
@@ -178,7 +183,7 @@ void
 PPL::Matrix::add_recycled_row(Row& y) {
   // The added row must have the same size and capacity as the
   // existing rows of the system.
-  assert(y.OK(row_size, row_capacity));
+  PPL_ASSERT(y.OK(row_size, row_capacity));
   const dimension_type new_rows_size = rows.size() + 1;
   if (rows.capacity() < new_rows_size) {
     // Reallocation will take place.
@@ -200,7 +205,7 @@ PPL::Matrix::add_recycled_row(Row& y) {
     // then substitutes it with a copy of the given row.
     std::swap(*rows.insert(rows.end(), Row()), y);
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 void
@@ -315,13 +320,13 @@ PPL::Matrix::ascii_load(std::istream& s) {
       return false;
 
   // Check invariants.
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
 void
 PPL::Matrix::swap_columns(const dimension_type i, const dimension_type j) {
-  assert(i != j && i < num_columns() && j < num_columns());
+  PPL_ASSERT(i != j && i < num_columns() && j < num_columns());
   for (dimension_type k = num_rows(); k-- > 0; ) {
     Row& rows_k = rows[k];
     std::swap(rows_k[i], rows_k[j]);
@@ -330,8 +335,8 @@ PPL::Matrix::swap_columns(const dimension_type i, const dimension_type j) {
 
 void
 PPL::Matrix::remove_trailing_columns(const dimension_type n) {
-  assert(n > 0);
-  assert(n <= row_size);
+  PPL_ASSERT(n > 0);
+  PPL_ASSERT(n <= row_size);
   row_size -= n;
   for (dimension_type i = num_rows(); i-- > 0; )
     rows[i].shrink(row_size);
@@ -341,7 +346,7 @@ void
 PPL::Matrix::permute_columns(const std::vector<dimension_type>& cycles) {
   PPL_DIRTY_TEMP_COEFFICIENT(tmp);
   const dimension_type n = cycles.size();
-  assert(cycles[n - 1] == 0);
+  PPL_ASSERT(cycles[n - 1] == 0);
   for (dimension_type k = num_rows(); k-- > 0; ) {
     Row& rows_k = rows[k];
     for (dimension_type i = 0, j = 0; i < n; i = ++j) {
@@ -349,7 +354,7 @@ PPL::Matrix::permute_columns(const std::vector<dimension_type>& cycles) {
       while (cycles[j] != 0)
 	++j;
       // Cycles of length less than 2 are not allowed.
-      assert(j - i >= 2);
+      PPL_ASSERT(j - i >= 2);
       if (j - i == 2)
 	// For cycles of length 2 no temporary is needed, just a swap.
 	std::swap(rows_k[cycles[i]], rows_k[cycles[i+1]]);
diff --git a/src/Matrix.defs.hh b/src/Matrix.defs.hh
index e1b70ca..2ee3a24 100644
--- a/src/Matrix.defs.hh
+++ b/src/Matrix.defs.hh
@@ -1,5 +1,5 @@
 /* Matrix class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -71,7 +71,7 @@ public:
   Matrix(dimension_type n_rows, dimension_type n_columns,
 	 Row::Flags row_flags = Row::Flags());
 
-  //! Copy-constructor.
+  //! Copy constructor.
   Matrix(const Matrix& y);
 
   //! Destructor.
@@ -109,7 +109,7 @@ public:
     */
     explicit const_iterator(const Iter& b);
 
-    //! Ordinary copy-constructor.
+    //! Ordinary copy constructor.
     const_iterator(const const_iterator& y);
 
     //! Assignment operator.
@@ -138,7 +138,8 @@ public:
       \p *this and \p y are different.
     */
     bool operator!=(const const_iterator& y) const;
-  };
+  }; // class const_iterator
+
 
   //! Returns <CODE>true</CODE> if and only if \p *this has no rows.
   /*!
@@ -227,7 +228,7 @@ public:
 
     Turns the \f$r \times c\f$ matrix \f$M\f$ into
     the \f$(r+1) \times c\f$ matrix
-    \f$\genfrac{(}{)}{0pt}{}{M}{0}\f$.
+    \f$\genfrac{(}{)}{0pt}{}{M}{y}\f$.
     The matrix is expanded avoiding reallocation whenever possible.
   */
   void add_row(const Row& y);
@@ -235,12 +236,13 @@ public:
   //! Adds the row \p y to the matrix.
   /*!
     \param y
-    The row to be added: it must have the same size and capacity as \p
-    *this.
+    The row to be added: it must have the same size and capacity as
+    \p *this. It is not declared <CODE>const</CODE> because its
+    data-structures will recycled to build the new matrix row.
 
     Turns the \f$r \times c\f$ matrix \f$M\f$ into
     the \f$(r+1) \times c\f$ matrix
-    \f$\genfrac{(}{)}{0pt}{}{M}{0}\f$.
+    \f$\genfrac{(}{)}{0pt}{}{M}{y}\f$.
     The matrix is expanded avoiding reallocation whenever possible.
   */
   void add_recycled_row(Row& y);
diff --git a/src/Matrix.inlines.hh b/src/Matrix.inlines.hh
index 6711d72..e3c7cd0 100644
--- a/src/Matrix.inlines.hh
+++ b/src/Matrix.inlines.hh
@@ -1,5 +1,5 @@
 /* Matrix class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -25,7 +25,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 #include "globals.defs.hh"
 #include <algorithm>
-#include <cassert>
+#include "assert.hh"
 
 namespace Parma_Polyhedra_Library {
 
@@ -46,7 +46,7 @@ Matrix::total_memory_in_bytes() const {
 
 inline
 Matrix::const_iterator::const_iterator()
-  : i(Iter()) {
+  : i() {
 }
 
 inline
@@ -161,13 +161,13 @@ Matrix::add_row(const Row& y) {
 
 inline Row&
 Matrix::operator[](const dimension_type k) {
-  assert(k < rows.size());
+  PPL_ASSERT(k < rows.size());
   return rows[k];
 }
 
 inline const Row&
 Matrix::operator[](const dimension_type k) const {
-  assert(k < rows.size());
+  PPL_ASSERT(k < rows.size());
   return rows[k];
 }
 
@@ -189,7 +189,7 @@ operator!=(const Matrix& x, const Matrix& y) {
 
 inline void
 Matrix::erase_to_end(const dimension_type first_to_erase) {
-  assert(first_to_erase <= rows.size());
+  PPL_ASSERT(first_to_erase <= rows.size());
   if (first_to_erase < rows.size())
     rows.erase(rows.begin() + first_to_erase, rows.end());
 }
diff --git a/src/Matrix.types.hh b/src/Matrix.types.hh
index 1e1a95e..c3a8aff 100644
--- a/src/Matrix.types.hh
+++ b/src/Matrix.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/NNC_Polyhedron.cc b/src/NNC_Polyhedron.cc
index ed128d7..b7297e1 100644
--- a/src/NNC_Polyhedron.cc
+++ b/src/NNC_Polyhedron.cc
@@ -1,5 +1,5 @@
 /* NNC_Polyhedron class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -32,7 +32,7 @@ namespace PPL = Parma_Polyhedra_Library;
 PPL::NNC_Polyhedron::NNC_Polyhedron(const C_Polyhedron& y, Complexity_Class)
   : Polyhedron(NOT_NECESSARILY_CLOSED, y.space_dimension(), UNIVERSE) {
   add_constraints(y.constraints());
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 PPL::NNC_Polyhedron::NNC_Polyhedron(const Congruence_System& cgs)
@@ -46,7 +46,7 @@ PPL::NNC_Polyhedron::NNC_Polyhedron(const Congruence_System& cgs)
 						 "space dimension"), 0),
 	       UNIVERSE) {
   add_congruences(cgs);
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 PPL::NNC_Polyhedron::NNC_Polyhedron(Congruence_System& cgs, Recycle_Input)
@@ -61,7 +61,7 @@ PPL::NNC_Polyhedron::NNC_Polyhedron(Congruence_System& cgs, Recycle_Input)
 						 "space dimension"), 0),
 	       UNIVERSE) {
   add_congruences(cgs);
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 PPL::NNC_Polyhedron::NNC_Polyhedron(const Grid& grid, Complexity_Class)
diff --git a/src/NNC_Polyhedron.defs.hh b/src/NNC_Polyhedron.defs.hh
index 25da8a7..5eb9f66 100644
--- a/src/NNC_Polyhedron.defs.hh
+++ b/src/NNC_Polyhedron.defs.hh
@@ -1,5 +1,5 @@
 /* NNC_Polyhedron class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -220,7 +220,7 @@ public:
   explicit NNC_Polyhedron(const Octagonal_Shape<U>& os,
                           Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Ordinary copy-constructor.
+  //! Ordinary copy constructor.
   NNC_Polyhedron(const NNC_Polyhedron& y,
                  Complexity_Class complexity = ANY_COMPLEXITY);
 
diff --git a/src/NNC_Polyhedron.inlines.hh b/src/NNC_Polyhedron.inlines.hh
index 9a8fdb8..7b7e7ce 100644
--- a/src/NNC_Polyhedron.inlines.hh
+++ b/src/NNC_Polyhedron.inlines.hh
@@ -1,5 +1,5 @@
 /* NNC_Polyhedron class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/NNC_Polyhedron.types.hh b/src/NNC_Polyhedron.types.hh
index a8b586d..0ffc466 100644
--- a/src/NNC_Polyhedron.types.hh
+++ b/src/NNC_Polyhedron.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Numeric_Format.defs.hh b/src/Numeric_Format.defs.hh
index 7c3889e..6b0b907 100644
--- a/src/Numeric_Format.defs.hh
+++ b/src/Numeric_Format.defs.hh
@@ -1,5 +1,5 @@
 /* Numeric format.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/OR_Matrix.defs.hh b/src/OR_Matrix.defs.hh
index 0e3ceec..530c566 100644
--- a/src/OR_Matrix.defs.hh
+++ b/src/OR_Matrix.defs.hh
@@ -1,5 +1,5 @@
 /* OR_Matrix class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -112,7 +112,7 @@ private:
   class Pseudo_Row {
   public:
     /*! \brief
-      Copy-constructor allowing the construction of a const pseudo-row
+      Copy constructor allowing the construction of a const pseudo-row
       from a non-const pseudo-row.
       Ordinary copy constructor.
     */
@@ -216,7 +216,7 @@ private:
     explicit any_row_iterator(U& base);
 
     /*! \brief
-      Copy-constructor allowing the construction of a const_iterator
+      Copy constructor allowing the construction of a const_iterator
       from a non-const iterator.
     */
     template <typename V>
@@ -344,7 +344,7 @@ public:
   */
   OR_Matrix(dimension_type space_dim);
 
-  //! Copy-constructor.
+  //! Copy constructor.
   OR_Matrix(const OR_Matrix& y);
 
   //! Constructs a conservative approximation of \p y.
diff --git a/src/OR_Matrix.inlines.hh b/src/OR_Matrix.inlines.hh
index 9124dd1..2570896 100644
--- a/src/OR_Matrix.inlines.hh
+++ b/src/OR_Matrix.inlines.hh
@@ -1,5 +1,5 @@
 /* OR_Matrix class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -28,7 +28,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Checked_Number.defs.hh"
 #include "C_Polyhedron.defs.hh"
 #include "distances.defs.hh"
-#include <cassert>
+#include "assert.hh"
 #include <algorithm>
 #include "checked.defs.hh"
 
@@ -37,7 +37,7 @@ namespace Parma_Polyhedra_Library {
 template <typename T>
 inline dimension_type
 OR_Matrix<T>::row_first_element_index(const dimension_type k) {
-  return ((k+1)*(k+1))/2;
+  return ((k + 1)*(k + 1))/2;
 }
 
 template <typename T>
@@ -117,7 +117,7 @@ template <typename U>
 inline U&
 OR_Matrix<T>::Pseudo_Row<U>::operator[](const dimension_type k) const {
 #if PPL_OR_MATRIX_EXTRA_DEBUG
-  assert(k < size_);
+  PPL_ASSERT(k < size_);
 #endif
   return *(first + k);
 }
@@ -520,7 +520,7 @@ OR_Matrix<T>::OR_Matrix(const OR_Matrix<U>& y)
     vec_capacity(compute_capacity(y.vec.size(),
                                   DB_Row<T>::max_size())) {
   vec.construct_upward_approximation(y.vec, vec_capacity);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -535,7 +535,7 @@ OR_Matrix<T>::operator=(const OR_Matrix& y) {
 template <typename T>
 inline void
 OR_Matrix<T>::grow(const dimension_type new_dim) {
-  assert(new_dim >= space_dim);
+  PPL_ASSERT(new_dim >= space_dim);
   if (new_dim > space_dim) {
     const dimension_type new_size = 2*new_dim*(new_dim + 1);
     if (new_size <= vec_capacity) {
@@ -558,7 +558,7 @@ OR_Matrix<T>::grow(const dimension_type new_dim) {
 template <typename T>
 inline void
 OR_Matrix<T>::shrink(const dimension_type new_dim) {
-  assert(new_dim <= space_dim);
+  PPL_ASSERT(new_dim <= space_dim);
   const dimension_type new_size = 2*new_dim*(new_dim + 1);
   vec.shrink(new_size);
   space_dim = new_dim;
@@ -627,7 +627,7 @@ l_m_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
       maybe_assign(tmp2p, tmp2, x_i, inverse(dir));
     }
     sub_assign_r(tmp1, *tmp1p, *tmp2p, dir);
-    assert(sgn(tmp1) >= 0);
+    PPL_ASSERT(sgn(tmp1) >= 0);
     Specialization::combine(tmp0, tmp1, dir);
   }
 
diff --git a/src/OR_Matrix.templates.hh b/src/OR_Matrix.templates.hh
index da03cda..4c21241 100644
--- a/src/OR_Matrix.templates.hh
+++ b/src/OR_Matrix.templates.hh
@@ -1,5 +1,5 @@
 /* OR_Matrix class implementation: non-inline template functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -93,11 +93,11 @@ OR_Matrix<T>::ascii_load(std::istream& s) {
     const dimension_type rs = i.row_size();
     for (dimension_type j = 0; j < rs; ++j) {
       Result r = input(r_i[j], s, ROUND_CHECK);
-      if (r != V_EQ || is_minus_infinity(r_i[j]))
+      if (result_relation(r) != VR_EQ || is_minus_infinity(r_i[j]))
 	return false;
     }
   }
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
diff --git a/src/OR_Matrix.types.hh b/src/OR_Matrix.types.hh
index 336fc7b..fb482fc 100644
--- a/src/OR_Matrix.types.hh
+++ b/src/OR_Matrix.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Octagonal_Shape.cc b/src/Octagonal_Shape.cc
index c282baf..2dce70e 100644
--- a/src/Octagonal_Shape.cc
+++ b/src/Octagonal_Shape.cc
@@ -1,5 +1,5 @@
 /* Octagonal_Shape class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -38,8 +38,8 @@ PPL::extract_octagonal_difference(const Constraint& c,
 				  Coefficient& c_coeff,
 				  Coefficient& c_term) {
   // Check for preconditions.
-  assert(c.space_dimension() == c_space_dim);
-  assert(c_num_vars == 0 && c_first_var == 0 && c_second_var == 0);
+  PPL_ASSERT(c.space_dimension() == c_space_dim);
+  PPL_ASSERT(c_num_vars == 0 && c_first_var == 0 && c_second_var == 0);
   // Store the indices of the non-zero components of `c',
   dimension_type non_zero_index[2] = { 0, 0 };
   // Collect the non-zero components of `c'.
@@ -92,7 +92,7 @@ PPL::extract_octagonal_difference(const Constraint& c,
     }
     break;
   default:
-    assert(c_num_vars == 0);
+    PPL_ASSERT(c_num_vars == 0);
     break;
   }
   return true;
diff --git a/src/Octagonal_Shape.defs.hh b/src/Octagonal_Shape.defs.hh
index f2192c8..4ece4dc 100644
--- a/src/Octagonal_Shape.defs.hh
+++ b/src/Octagonal_Shape.defs.hh
@@ -1,5 +1,5 @@
 /* Octagonal_Shape class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -42,6 +42,8 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Variable.defs.hh"
 #include "Variables_Set.types.hh"
 #include "Checked_Number.defs.hh"
+#include "WRD_coefficient_types.defs.hh"
+#include "Bit_Row.defs.hh"
 #include <vector>
 #include <cstddef>
 #include <climits>
@@ -295,12 +297,6 @@ bool extract_octagonal_difference(const Constraint& c,
                                   Coefficient& c_coeff,
                                   Coefficient& c_term);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns the index coherent to \p i.
-/*! \relates Octagonal_Shape */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-dimension_type coherent_index(dimension_type i);
-
 } // namespace Parma_Polyhedra_Library
 
 //! An octagonal shape.
@@ -415,12 +411,13 @@ private:
     the inequalities defining an OS.
   */
 #ifndef NDEBUG
-  typedef Checked_Number<T, Extended_Number_Policy> N;
+  typedef Checked_Number<T, Debug_WRD_Extended_Number_Policy> N;
 #else
   typedef Checked_Number<T, WRD_Extended_Number_Policy> N;
 #endif
 
 public:
+
   //! The numeric base type upon which OSs are built.
   typedef T coefficient_type_base;
 
@@ -457,7 +454,7 @@ public:
   explicit Octagonal_Shape(dimension_type num_dimensions = 0,
                            Degenerate_Element kind = UNIVERSE);
 
-  //! Ordinary copy-constructor.
+  //! Ordinary copy constructor.
   /*!
     The complexity argument is ignored.
   */
@@ -477,13 +474,11 @@ public:
     The OS inherits the space dimension of \p cs.
 
     \param cs
-    A system of constraints: constraints that are not
-    \ref Octagonal_Shapes "octagonal constraints"
-    are ignored (even though they may have contributed
-    to the space dimension).
+    A system of octagonal constraints.
 
     \exception std::invalid_argument
-    Thrown if the system of constraints \p cs contains strict inequalities.
+    Thrown if \p cs contains a constraint which is not optimally supported
+    by the Octagonal shape domain.
   */
   explicit Octagonal_Shape(const Constraint_System& cs);
 
@@ -492,7 +487,11 @@ public:
     The OS inherits the space dimension of \p cgs
 
     \param cgs
-    A system of congruences: some elements may be safely ignored.
+    A system of congruences.
+
+    \exception std::invalid_argument
+    Thrown if \p cgs contains a congruence which is not optimally supported
+    by the Octagonal shape domain.
   */
   explicit Octagonal_Shape(const Congruence_System& cgs);
 
@@ -522,7 +521,7 @@ public:
     The built OS is the most precise OS that includes the box.
 
     \param box
-    The box representing the BDS to be built.
+    The box representing the OS to be built.
 
     \param complexity
     This argument is ignored as the algorithm used has
@@ -838,6 +837,38 @@ public:
                 Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
                 Generator& g) const;
 
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if there exist a
+    unique value \p val such that \p *this
+    saturates the equality <CODE>expr = val</CODE>.
+
+    \param expr
+    The linear expression for which the frequency is needed;
+
+    \param freq_n
+    If <CODE>true</CODE> is returned, the value is set to \f$0\f$;
+    Present for interface compatibility with class Grid, where
+    the \ref Grid_Frequency "frequency" can have a non-zero value;
+
+    \param freq_d
+    If <CODE>true</CODE> is returned, the value is set to \f$1\f$;
+
+    \param val_n
+    The numerator of \p val;
+
+    \param val_d
+    The denominator of \p val;
+
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+
+    If <CODE>false</CODE> is returned, then \p freq_n, \p freq_d,
+    \p val_n and \p val_d are left untouched.
+  */
+  bool frequency(const Linear_Expression& expr,
+                 Coefficient& freq_n, Coefficient& freq_d,
+                 Coefficient& val_n, Coefficient& val_d) const;
+
   //! Checks if all the invariants are satisfied.
   bool OK() const;
 
@@ -1000,17 +1031,17 @@ public:
 
   /*! \brief
     Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to the set of space dimensions \p to_be_unconstrained,
+    respect to the set of space dimensions \p vars,
     assigning the result to \p *this.
 
-    \param to_be_unconstrained
+    \param vars
     The set of space dimension that will be unconstrained.
 
     \exception std::invalid_argument
     Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p to_be_removed.
+    Variable objects contained in \p vars.
   */
-  void unconstrain(const Variables_Set& to_be_unconstrained);
+  void unconstrain(const Variables_Set& vars);
 
   //! Assigns to \p *this the intersection of \p *this and \p y.
   /*!
@@ -1035,10 +1066,35 @@ public:
 
     \exception std::invalid_argument
     Thrown if \p *this and \p y are dimension-incompatible.
+
+    Implementation is based on Theorem 6.3 of \ref BHZ09b "[BHZ09b]".
   */
   bool upper_bound_assign_if_exact(const Octagonal_Shape& y);
 
   /*! \brief
+    If the \e integer upper bound of \p *this and \p y is exact,
+    it is assigned to \p *this and <CODE>true</CODE> is returned;
+    otherwise <CODE>false</CODE> is returned.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+
+    \note
+    This operator is only available when the class template parameter
+    \c T is bound to an integer datatype.
+
+    \note
+    The integer upper bound of two rational OS is the smallest
+    rational OS containing all the integral points in the two arguments.
+    In general, the result is \e not an upper bound for the two input
+    arguments, as it may cut away non-integral portions of the two
+    rational shapes.
+
+    Implementation is based on Theorem 6.8 of \ref BHZ09b "[BHZ09b]".
+  */
+  bool integer_upper_bound_assign_if_exact(const Octagonal_Shape& y);
+
+  /*! \brief
     Assigns to \p *this the smallest octagon containing
     the set difference of \p *this and \p y.
 
@@ -1283,6 +1339,93 @@ public:
   */
   void time_elapse_assign(const Octagonal_Shape& y);
 
+  /*! \brief
+    \ref Wrapping_Operator "Wraps" the specified dimensions of the
+    vector space.
+
+    \param vars
+    The set of Variable objects corresponding to the space dimensions
+    to be wrapped.
+
+    \param w
+    The width of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param r
+    The representation of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param o
+    The overflow behavior of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param pcs
+    Possibly null pointer to a constraint system whose variables
+    are contained in \p vars.  If <CODE>*pcs</CODE> depends on
+    variables not in \p vars, the behavior is undefined.
+    When non-null, the pointed-to constraint system is assumed to
+    represent the conditional or looping construct guard with respect
+    to which wrapping is performed.  Since wrapping requires the
+    computation of upper bounds and due to non-distributivity of
+    constraint refinement over upper bounds, passing a constraint
+    system in this way can be more precise than refining the result of
+    the wrapping operation with the constraints in <CODE>*pcs</CODE>.
+
+    \param complexity_threshold
+    A precision parameter of the \ref Wrapping_Operator "wrapping operator":
+    higher values result in possibly improved precision.
+
+    \param wrap_individually
+    <CODE>true</CODE> if the dimensions should be wrapped individually
+    (something that results in much greater efficiency to the detriment of
+    precision).
+
+    \exception std::invalid_argument
+    Thrown if <CODE>*pcs</CODE> is dimension-incompatible with
+    \p vars, or if \p *this is dimension-incompatible \p vars or with
+    <CODE>*pcs</CODE>.
+  */
+  void wrap_assign(const Variables_Set& vars,
+                   Bounded_Integer_Type_Width w,
+                   Bounded_Integer_Type_Representation r,
+                   Bounded_Integer_Type_Overflow o,
+                   const Constraint_System* pcs = 0,
+                   unsigned complexity_threshold = 16,
+                   bool wrap_individually = true);
+
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates.
+
+    \param complexity
+    The maximal complexity of any algorithms used.
+
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+  void drop_some_non_integer_points(Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
+
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates for the space dimensions corresponding to \p vars.
+
+    \param vars
+    Points with non-integer coordinates for these variables/space-dimensions
+    can be discarded.
+
+    \param complexity
+    The maximal complexity of any algorithms used.
+
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+  void drop_some_non_integer_points(const Variables_Set& vars,
+                                    Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
+
   //! Assigns to \p *this its topological closure.
   void topological_closure_assign();
 
@@ -1469,14 +1612,14 @@ public:
 
   //! Removes all the specified dimensions.
   /*!
-    \param to_be_removed
+    \param vars
     The set of Variable objects corresponding to the dimensions to be removed.
 
     \exception std::invalid_argument
     Thrown if \p *this is dimension-incompatible with one of the Variable
-    objects contained in \p to_be_removed.
+    objects contained in \p vars.
   */
-  void remove_space_dimensions(const Variables_Set& to_be_removed);
+  void remove_space_dimensions(const Variables_Set& vars);
 
   /*! \brief
     Removes the higher dimensions so that the resulting space
@@ -1495,8 +1638,8 @@ public:
     \param pfunc
     The partial function specifying the destiny of each dimension.
 
-    The template class Partial_Function must provide the following
-    methods.
+    The template type parameter Partial_Function must provide
+    the following methods.
     \code
       bool has_empty_codomain() const
     \endcode
@@ -1550,30 +1693,39 @@ public:
   */
   void expand_space_dimension(Variable var, dimension_type m);
 
-  //! Folds the space dimensions in \p to_be_folded into \p var.
+  //! Folds the space dimensions in \p vars into \p dest.
   /*!
-    \param to_be_folded
+    \param vars
     The set of Variable objects corresponding to the space dimensions
     to be folded;
 
-    \param var
+    \param dest
     The variable corresponding to the space dimension that is the
     destination of the folding operation.
 
     \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p var or with
-    one of the Variable objects contained in \p to_be_folded.
-    Also thrown if \p var is contained in \p to_be_folded.
+    Thrown if \p *this is dimension-incompatible with \p dest or with
+    one of the Variable objects contained in \p vars.
+    Also thrown if \p dest is contained in \p vars.
 
     If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    <CODE>var</CODE> has space dimension \f$k \leq n\f$,
-    \p to_be_folded is a set of variables whose maximum space dimension
-    is also less than or equal to \f$n\f$, and \p var is not a member
-    of \p to_be_folded, then the space dimensions corresponding to
-    variables in \p to_be_folded are \ref fold_space_dimensions "folded"
+    <CODE>dest</CODE> has space dimension \f$k \leq n\f$,
+    \p vars is a set of variables whose maximum space dimension
+    is also less than or equal to \f$n\f$, and \p dest is not a member
+    of \p vars, then the space dimensions corresponding to
+    variables in \p vars are \ref fold_space_dimensions "folded"
     into the \f$k\f$-th space dimension.
   */
-  void fold_space_dimensions(const Variables_Set& to_be_folded, Variable var);
+  void fold_space_dimensions(const Variables_Set& vars, Variable dest);
+
+  //! Refines \p store with the constraints defining \p *this.
+  /*!
+    \param store
+    The interval floating point abstract store to refine.
+  */
+  template <typename Interval_Info>
+  void refine_fp_interval_abstract_store(
+                          Box< Interval<T, Interval_Info> >& store) const;
 
   //@} // Member Functions that May Modify the Dimension of the Vector Space
 
@@ -1863,6 +2015,16 @@ private:
   //! Applies the strong-coherence step to \c this->matrix.
   void strong_coherence_assign();
 
+  //! Assigns to \c this->matrix its tight closure.
+  /*!
+    \note
+    This is \e not marked as a <code>const</code> method,
+    as it may modify the rational-valued geometric shape by cutting away
+    non-integral points. The method is only available if the template
+    parameter \c T is bound to an integer datatype.
+  */
+  void tight_closure_assign();
+
   /*! \brief
     Incrementally computes strong closure, assuming that only
     constraints affecting variable \p var need to be considered.
@@ -1961,7 +2123,7 @@ private:
                Coefficient& ext_n, Coefficient& ext_d, bool& included,
                Generator& g) const;
 
-  bool BHZ09_upper_bound_assign_if_exact(const Octagonal_Shape& y);
+  void drop_some_non_integer_points_helper(N& elem);
 
   friend std::ostream&
   Parma_Polyhedra_Library::IO_Operators
diff --git a/src/Octagonal_Shape.inlines.hh b/src/Octagonal_Shape.inlines.hh
index e795150..a4da7cf 100644
--- a/src/Octagonal_Shape.inlines.hh
+++ b/src/Octagonal_Shape.inlines.hh
@@ -1,5 +1,5 @@
 /* Octagonal_Shape class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -31,18 +31,29 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "BD_Shape.defs.hh"
 #include "Poly_Con_Relation.defs.hh"
 #include "Poly_Gen_Relation.defs.hh"
-#include <cassert>
+#include "wrap_assign.hh"
+#include "assert.hh"
 #include <algorithm>
 
 namespace Parma_Polyhedra_Library {
 
-// FIXME: find the appropriate place for this.
-/*! \relates Octagonal_Shape */
+namespace Implementation {
+
+namespace Octagonal_Shapes {
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns the index coherent to \p i.
+/*! \relates Parma_Polyhedra_Library::Octagonal_Shape */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 inline dimension_type
 coherent_index(const dimension_type i) {
   return (i % 2 != 0) ? i-1 : i+1;
 }
 
+} // namespace Octagonal_Shapes
+
+} // namespace Implementation
+
 template <typename T>
 inline dimension_type
 Octagonal_Shape<T>::max_space_dimension() {
@@ -101,7 +112,7 @@ Octagonal_Shape<T>::Octagonal_Shape(const dimension_type num_dimensions,
   else if (num_dimensions > 0)
     // A (non zero-dim) universe octagon is strongly closed.
     set_strongly_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -303,8 +314,6 @@ Octagonal_Shape<T>::is_topologically_closed() const {
 template <typename T>
 inline void
 Octagonal_Shape<T>::topological_closure_assign() {
-  // Nothing to be done.
-  return;
 }
 
 /*! \relates Octagonal_Shape */
@@ -346,7 +355,8 @@ template <typename T>
 inline const typename Octagonal_Shape<T>::coefficient_type&
 Octagonal_Shape<T>::matrix_at(const dimension_type i,
 			      const dimension_type j) const {
-  assert(i < matrix.num_rows() && j < matrix.num_rows());
+  PPL_ASSERT(i < matrix.num_rows() && j < matrix.num_rows());
+  using namespace Implementation::Octagonal_Shapes;
   return (j < matrix.row_size(i))
     ? matrix[i][j]
     : matrix[coherent_index(j)][coherent_index(i)];
@@ -356,7 +366,8 @@ template <typename T>
 inline typename Octagonal_Shape<T>::coefficient_type&
 Octagonal_Shape<T>::matrix_at(const dimension_type i,
 			      const dimension_type j) {
-  assert(i < matrix.num_rows() && j < matrix.num_rows());
+  PPL_ASSERT(i < matrix.num_rows() && j < matrix.num_rows());
+  using namespace Implementation::Octagonal_Shapes;
   return (j < matrix.row_size(i))
     ? matrix[i][j]
     : matrix[coherent_index(j)][coherent_index(i)];
@@ -376,9 +387,9 @@ Octagonal_Shape<T>::add_octagonal_constraint(const dimension_type i,
 					     const N& k) {
   // Private method: the caller has to ensure the following.
 #ifndef NDEBUG
-  assert(i < 2*space_dim && j < 2*space_dim && i != j);
+  PPL_ASSERT(i < 2*space_dim && j < 2*space_dim && i != j);
   typename OR_Matrix<N>::row_iterator m_i = matrix.row_begin() + i;
-  assert(j < m_i.row_size());
+  PPL_ASSERT(j < m_i.row_size());
 #endif
   N& r_i_j = matrix[i][j];
   if (r_i_j > k) {
@@ -397,10 +408,10 @@ Octagonal_Shape<T>
 			   Coefficient_traits::const_reference den) {
 #ifndef NDEBUG
   // Private method: the caller has to ensure the following.
-  assert(i < 2*space_dim && j < 2*space_dim && i != j);
+  PPL_ASSERT(i < 2*space_dim && j < 2*space_dim && i != j);
   typename OR_Matrix<N>::row_iterator m_i = matrix.row_begin() + i;
-  assert(j < m_i.row_size());
-  assert(den != 0);
+  PPL_ASSERT(j < m_i.row_size());
+  PPL_ASSERT(den != 0);
 #endif
   PPL_DIRTY_TEMP(N, k);
   div_round_up(k, num, den);
@@ -487,8 +498,8 @@ Octagonal_Shape<T>::refine_with_congruences(const Congruence_System& cgs) {
 template <typename T>
 inline void
 Octagonal_Shape<T>::refine_no_check(const Congruence& cg) {
-  assert(!marked_empty());
-  assert(cg.space_dimension() <= space_dimension());
+  PPL_ASSERT(!marked_empty());
+  PPL_ASSERT(cg.space_dimension() <= space_dimension());
 
   if (cg.is_proper_congruence()) {
     if (cg.is_inconsistent())
@@ -497,7 +508,7 @@ Octagonal_Shape<T>::refine_no_check(const Congruence& cg) {
     return;
   }
 
-  assert(cg.is_equality());
+  PPL_ASSERT(cg.is_equality());
   Constraint c(cg);
   refine_no_check(c);
 }
@@ -526,7 +537,7 @@ Octagonal_Shape<T>
   // Note that this case also captures the only legal removal of
   // dimensions from an octagon in a 0-dim space.
   if (new_dimension == space_dim) {
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -537,7 +548,22 @@ Octagonal_Shape<T>
   if (new_dimension == 0 && !marked_empty())
     set_zero_dim_univ();
   space_dim = new_dimension;
-  assert(OK());
+  PPL_ASSERT(OK());
+}
+
+template <typename T>
+void
+Octagonal_Shape<T>::wrap_assign(const Variables_Set& vars,
+                                Bounded_Integer_Type_Width w,
+                                Bounded_Integer_Type_Representation r,
+                                Bounded_Integer_Type_Overflow o,
+                                const Constraint_System* pcs,
+                                unsigned complexity_threshold,
+                                bool wrap_individually) {
+  Implementation::wrap_assign(*this,
+                              vars, w, r, o, pcs,
+                              complexity_threshold, wrap_individually,
+                              "Octagonal_Shape");
 }
 
 template <typename T>
@@ -576,7 +602,7 @@ Octagonal_Shape<T>::time_elapse_assign(const Octagonal_Shape& y) {
   px.time_elapse_assign(py);
   Octagonal_Shape<T> x(px);
   swap(x);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -586,12 +612,6 @@ Octagonal_Shape<T>::strictly_contains(const Octagonal_Shape& y) const {
   return x.contains(y) && !y.contains(x);
 }
 
-template <typename T>
-inline bool
-Octagonal_Shape<T>::upper_bound_assign_if_exact(const Octagonal_Shape& y) {
-  return BHZ09_upper_bound_assign_if_exact(y);
-}
-
 /*! \relates Octagonal_Shape */
 template <typename Temp, typename To, typename T>
 inline bool
@@ -799,6 +819,19 @@ Octagonal_Shape<T>::hash_code() const {
   return space_dimension() & 0x7fffffff;
 }
 
+template <typename T>
+inline void
+Octagonal_Shape<T>::drop_some_non_integer_points_helper(N& elem) {
+  if (!is_integer(elem)) {
+#ifndef NDEBUG
+    Result r =
+#endif
+    floor_assign_r(elem, elem, ROUND_DOWN);
+    PPL_ASSERT(r == V_EQ);
+    reset_strongly_closed();
+  }
+}
+
 } // namespace Parma_Polyhedra_Library
 
 namespace std {
diff --git a/src/Octagonal_Shape.templates.hh b/src/Octagonal_Shape.templates.hh
index 9782db6..1f22355 100644
--- a/src/Octagonal_Shape.templates.hh
+++ b/src/Octagonal_Shape.templates.hh
@@ -1,5 +1,5 @@
 /* Octagonal_Shape class implementation: non-inline template functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -27,7 +27,8 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Generator_System.inlines.hh"
 #include "Congruence_System.defs.hh"
 #include "Congruence_System.inlines.hh"
-#include <cassert>
+#include "meta_programming.hh"
+#include "assert.hh"
 #include <vector>
 #include <deque>
 #include <string>
@@ -65,7 +66,7 @@ Octagonal_Shape<T>::Octagonal_Shape(const Polyhedron& ph,
   // We cannot afford exponential complexity, we do not have a complete set
   // of generators for the polyhedron, and the polyhedron is not trivially
   // empty or zero-dimensional.  Constraints, however, are up to date.
-  assert(ph.constraints_are_up_to_date());
+  PPL_ASSERT(ph.constraints_are_up_to_date());
 
   if (!ph.has_something_pending() && ph.constraints_are_minimized()) {
     // If the constraint system of the polyhedron is minimized,
@@ -182,12 +183,12 @@ Octagonal_Shape<T>::Octagonal_Shape(const Polyhedron& ph,
       }
     }
     set_strongly_closed();
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
   // Extract easy-to-find bounds from constraints.
-  assert(complexity == POLYNOMIAL_COMPLEXITY);
+  PPL_ASSERT(complexity == POLYNOMIAL_COMPLEXITY);
   *this = Octagonal_Shape(num_dimensions, UNIVERSE);
   refine_with_constraints(ph.constraints());
 }
@@ -362,7 +363,7 @@ Octagonal_Shape<T>::Octagonal_Shape(const Generator_System& gs)
     }
   }
   set_strongly_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -429,6 +430,7 @@ Octagonal_Shape<T>::add_constraint(const Constraint& c) {
       --i_iter;
 
     typename OR_Matrix<N>::row_reference_type m_ci = *i_iter;
+    using namespace Implementation::Octagonal_Shapes;
     dimension_type cj = coherent_index(j);
     N& m_ci_cj = m_ci[cj];
     // Also compute the bound for `m_ci_cj', rounding towards plus infinity.
@@ -443,7 +445,7 @@ Octagonal_Shape<T>::add_constraint(const Constraint& c) {
   // This method does not preserve closure.
   if (is_oct_changed && marked_strongly_closed())
     reset_strongly_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -468,7 +470,7 @@ Octagonal_Shape<T>::add_congruence(const Congruence& cg) {
                   "cg is a non-trivial, proper congruence");
   }
 
-  assert(cg.is_equality());
+  PPL_ASSERT(cg.is_equality());
   Constraint c(cg);
   add_constraint(c);
 }
@@ -476,9 +478,9 @@ Octagonal_Shape<T>::add_congruence(const Congruence& cg) {
 template <typename T>
 void
 Octagonal_Shape<T>::refine_no_check(const Constraint& c) {
-  assert(!marked_empty());
+  PPL_ASSERT(!marked_empty());
   const dimension_type c_space_dim = c.space_dimension();
-  assert(c_space_dim <= space_dim);
+  PPL_ASSERT(c_space_dim <= space_dim);
 
   dimension_type num_vars = 0;
   dimension_type i = 0;
@@ -525,6 +527,7 @@ Octagonal_Shape<T>::refine_no_check(const Constraint& c) {
       --i_iter;
 
     typename OR_Matrix<N>::row_reference_type m_ci = *i_iter;
+    using namespace Implementation::Octagonal_Shapes;
     dimension_type cj = coherent_index(j);
     N& m_ci_cj = m_ci[cj];
     // Also compute the bound for `m_ci_cj', rounding towards plus infinity.
@@ -539,7 +542,7 @@ Octagonal_Shape<T>::refine_no_check(const Constraint& c) {
   // This method does not preserve closure.
   if (is_oct_changed && marked_strongly_closed())
     reset_strongly_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -629,7 +632,7 @@ Octagonal_Shape<T>::minimized_congruences() const {
         const N& c_ii_i = matrix[i+1][i];
 #ifndef NDEBUG
         const N& c_i_ii = matrix[i][i+1];
-        assert(is_additive_inverse(c_i_ii, c_ii_i));
+        PPL_ASSERT(is_additive_inverse(c_i_ii, c_ii_i));
 #endif
         numer_denom(c_ii_i, num, den);
         den *= 2;
@@ -643,8 +646,9 @@ Octagonal_Shape<T>::minimized_congruences() const {
       {
         const N& c_i_li = matrix[i][lead_i];
 #ifndef NDEBUG
+        using namespace Implementation::Octagonal_Shapes;
         const N& c_ii_lii = matrix[i+1][coherent_index(lead_i)];
-        assert(is_additive_inverse(c_ii_lii, c_i_li));
+        PPL_ASSERT(is_additive_inverse(c_ii_lii, c_i_li));
 #endif
         const Variable x(lead_i/2);
         const Variable y(i/2);
@@ -690,7 +694,7 @@ Octagonal_Shape<T>::concatenate_assign(const Octagonal_Shape& y) {
   add_space_dimensions_and_embed(y.space_dim);
   typename OR_Matrix<N>::const_element_iterator
     y_it = y.matrix.element_begin();
-  for(typename OR_Matrix<N>::row_iterator i = matrix.row_begin()+old_num_rows,
+  for (typename OR_Matrix<N>::row_iterator i = matrix.row_begin()+old_num_rows,
         matrix_row_end = matrix.row_end(); i != matrix_row_end; ++i) {
     typename OR_Matrix<N>::row_reference_type r = *i;
     dimension_type rs_i = i.row_size();
@@ -701,7 +705,7 @@ Octagonal_Shape<T>::concatenate_assign(const Octagonal_Shape& y) {
   // The concatenation doesn't preserve the closure.
   if (marked_strongly_closed())
     reset_strongly_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -770,7 +774,8 @@ Octagonal_Shape<T>::is_disjoint_from(const Octagonal_Shape& y) const {
   const Row_Iterator y_begin = y.matrix.row_begin();
 
   PPL_DIRTY_TEMP(N, neg_y_ci_cj);
-  for (Row_Iterator i_iter = m_begin; i_iter != m_end; ++i_iter) {
+    for (Row_Iterator i_iter = m_begin; i_iter != m_end; ++i_iter) {
+    using namespace Implementation::Octagonal_Shapes;
     const dimension_type i = i_iter.index();
     const dimension_type ci = coherent_index(i);
     const dimension_type rs_i = i_iter.row_size();
@@ -857,7 +862,6 @@ Octagonal_Shape<T>::contains_integer_point() const {
   oct_z.reset_strongly_closed();
 
   typedef Octagonal_Shape<mpz_class>::N Z;
-  PPL_DIRTY_TEMP(N, tmp);
   bool all_integers = true;
   typename OR_Matrix<N>::const_element_iterator x_i = matrix.element_begin();
   for (typename OR_Matrix<Z>::element_iterator
@@ -870,11 +874,7 @@ Octagonal_Shape<T>::contains_integer_point() const {
       assign_r(*z_i, d, ROUND_NOT_NEEDED);
     else {
       all_integers = false;
-      Z& d_z = *z_i;
-      // Copy d into d_z, but rounding downwards.
-      neg_assign_r(tmp, d, ROUND_NOT_NEEDED);
-      assign_r(d_z, tmp, ROUND_UP);
-      neg_assign_r(d_z, d_z, ROUND_NOT_NEEDED);
+      assign_r(*z_i, d, ROUND_DOWN);
     }
   }
   // Restore strong closure.
@@ -892,13 +892,163 @@ Octagonal_Shape<T>::contains_integer_point() const {
 
 template <typename T>
 bool
+Octagonal_Shape<T>::frequency(const Linear_Expression& expr,
+                              Coefficient& freq_n, Coefficient& freq_d,
+                              Coefficient& val_n, Coefficient& val_d) const {
+  dimension_type space_dim = space_dimension();
+  // The dimension of `expr' must be at most the dimension of *this.
+  if (space_dim < expr.space_dimension())
+    throw_dimension_incompatible("frequency(e, ...)", "e", expr);
+
+  // Check if `expr' has a constant value.
+  // If it is constant, set the frequency `freq_n' to 0
+  // and return true. Otherwise the values for \p expr
+  // are not discrete so return false.
+
+  // Space dimension = 0: if empty, then return false;
+  // otherwise the frequency is 0 and the value is the inhomogeneous term.
+  if (space_dim == 0) {
+    if (is_empty())
+      return false;
+    freq_n = 0;
+    freq_d = 1;
+    val_n = expr.inhomogeneous_term();
+    val_d = 1;
+    return true;
+  }
+
+  strong_closure_assign();
+  // For an empty Octagonal shape, we simply return false.
+  if (marked_empty())
+    return false;
+
+  // The Octagonal shape has at least 1 dimension and is not empty.
+  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
+  PPL_DIRTY_TEMP_COEFFICIENT(coeff_j);
+  PPL_DIRTY_TEMP_COEFFICIENT(num);
+  PPL_DIRTY_TEMP_COEFFICIENT(den);
+  Linear_Expression le = expr;
+  // Boolean to keep track of a variable `v' in expression `le'.
+  // If we can replace `v' by an expression using variables other
+  // than `v' and are already in `le', then this is set to true.
+  bool constant_v = false;
+
+  typedef typename OR_Matrix<N>::const_row_iterator Row_Iterator;
+  typedef typename OR_Matrix<N>::const_row_reference_type Row_Reference;
+
+  const Row_Iterator m_begin = matrix.row_begin();
+  const Row_Iterator m_end = matrix.row_end();
+
+  PPL_DIRTY_TEMP_COEFFICIENT(val_den);
+  val_den = 1;
+
+  for (Row_Iterator i_iter = m_begin; i_iter != m_end; i_iter += 2) {
+    constant_v = false;
+    dimension_type i = i_iter.index();
+    const Variable v(i/2);
+    coeff = le.coefficient(v);
+    if (coeff == 0) {
+      constant_v = true;
+      continue;
+    }
+    // We check the unary constraints.
+    Row_Reference m_i = *i_iter;
+    Row_Reference m_ii = *(i_iter+1);
+    const N& m_i_ii = m_i[i+1];
+    const N& m_ii_i = m_ii[i];
+    if ((!is_plus_infinity(m_i_ii) && !is_plus_infinity(m_ii_i))
+        && (is_additive_inverse(m_i_ii, m_ii_i))) {
+      // If `v' is constant, replace it in `le' by the value.
+      numer_denom(m_i_ii, num, den);
+      den *= 2;
+      le -= coeff*v;
+      le *= den;
+      le -= num*coeff;
+      val_den *= den;
+      constant_v = true;
+      continue;
+    }
+    // Check the octagonal constraints between `v' and the other dimensions
+    // that have non-zero coefficient in `le'.
+    else {
+      assert(!constant_v);
+      using namespace Implementation::Octagonal_Shapes;
+      const dimension_type ci = coherent_index(i);
+      for (Row_Iterator j_iter = i_iter; j_iter != m_end; j_iter += 2) {
+        dimension_type j = j_iter.index();
+        const Variable vj(j/2);
+        coeff_j = le.coefficient(vj);
+        if (coeff_j == 0)
+          // The coefficient in `le' is 0, so do nothing.
+          continue;
+        const dimension_type cj = coherent_index(j);
+        const dimension_type cjj = coherent_index(j+1);
+
+        Row_Reference m_j = *(m_begin + j);
+        Row_Reference m_cj = *(m_begin + cj);
+        const N& m_j_i = m_j[i];
+        const N& m_i_j = m_cj[ci];
+        if ((!is_plus_infinity(m_i_j) && !is_plus_infinity(m_j_i))
+            && (is_additive_inverse(m_i_j, m_j_i))) {
+          // The coefficient for `vj' in `le' is not 0
+          // and the constraint with `v' is an equality.
+          // So apply this equality to eliminate `v' in `le'.
+          numer_denom(m_i_j, num, den);
+          le -= coeff*v;
+          le += coeff*vj;
+          le *= den;
+          le -= num*coeff;
+          val_den *= den;
+          constant_v = true;
+          break;
+        }
+
+        m_j = *(m_begin + j + 1);
+        m_cj = *(m_begin + cjj);
+        const N& m_j_i1 = m_j[i];
+        const N& m_i_j1 = m_cj[ci];
+        if ((!is_plus_infinity(m_i_j1) && !is_plus_infinity(m_j_i1))
+            && (is_additive_inverse(m_i_j1, m_j_i1))) {
+          // The coefficient for `vj' in `le' is not 0
+          // and the constraint with `v' is an equality.
+          // So apply this equality to eliminate `v' in `le'.
+          numer_denom(m_i_j1, num, den);
+          le -= coeff*v;
+          le -= coeff*vj;
+          le *= den;
+          le -= num*coeff;
+          val_den *= den;
+          constant_v = true;
+          break;
+        }
+      }
+      if (!constant_v)
+        // The expression `expr' is not constant.
+        return false;
+    }
+  }
+  if (!constant_v)
+    // The expression `expr' is not constant.
+    return false;
+
+  // The expression 'expr' is constant.
+  freq_n = 0;
+  freq_d = 1;
+
+  // Reduce `val_n' and `val_d'.
+  normalize2(le.inhomogeneous_term(), val_den, val_n, val_d);
+  return true;
+}
+
+template <typename T>
+bool
 Octagonal_Shape<T>::constrains(const Variable var) const {
-  // `var' should be one of the dimensions of the polyhedron.
+  // `var' should be one of the dimensions of the octagonal shape.
   const dimension_type var_space_dim = var.space_dimension();
   if (space_dimension() < var_space_dim)
     throw_dimension_incompatible("constrains(v)", "v", var);
 
-  // A polyhedron known to be empty constrains all variables.
+  // An octagon known to be empty constrains all variables.
   // (Note: do not force emptiness check _yet_)
   if (marked_empty())
     return true;
@@ -942,6 +1092,7 @@ Octagonal_Shape<T>::is_strong_coherent() const {
   for (dimension_type i = num_rows; i-- > 0; ) {
     typename OR_Matrix<N>::const_row_iterator iter = matrix.row_begin() + i;
     typename OR_Matrix<N>::const_row_reference_type m_i = *iter;
+    using namespace Implementation::Octagonal_Shapes;
     const N& m_i_ci = m_i[coherent_index(i)];
     for (dimension_type j = matrix.row_size(i); j-- > 0; )
       // Note: on the main diagonal only PLUS_INFINITY can occur.
@@ -952,7 +1103,7 @@ Octagonal_Shape<T>::is_strong_coherent() const {
           // Compute (m_i_ci + m_cj_j)/2 into `semi_sum',
           // rounding the result towards plus infinity.
           add_assign_r(semi_sum, m_i_ci, m_cj_j, ROUND_UP);
-          div2exp_assign_r(semi_sum, semi_sum, 1, ROUND_UP);
+          div_2exp_assign_r(semi_sum, semi_sum, 1, ROUND_UP);
           if (m_i[j] > semi_sum)
             return false;
         }
@@ -1029,7 +1180,7 @@ Octagonal_Shape<T>::bounds(const Linear_Expression& expr,
     Optimization_Mode mode_bounds =
       from_above ? MAXIMIZATION : MINIMIZATION;
     MIP_Problem mip(space_dim, constraints(), expr, mode_bounds);
-    return (mip.solve() == OPTIMIZED_MIP_PROBLEM);
+    return mip.solve() == OPTIMIZED_MIP_PROBLEM;
   }
 }
 
@@ -1119,7 +1270,7 @@ Octagonal_Shape<T>::max_min(const Linear_Expression& expr,
       // Approximating the maximum/minimum of `expr'.
       if (num_vars == 1) {
         PPL_DIRTY_TEMP(N, m_i_j);
-        div2exp_assign_r(m_i_j, m_i[j], 1, ROUND_UP);
+        div_2exp_assign_r(m_i_j, m_i[j], 1, ROUND_UP);
         add_mul_assign_r(d, coeff_expr, m_i_j, ROUND_UP);
       }
       else
@@ -1188,9 +1339,8 @@ Octagonal_Shape<T>::relation_with(const Congruence& cg) const {
   dimension_type cg_space_dim = cg.space_dimension();
 
   // Dimension-compatibility check.
-  if (cg_space_dim > space_dim) {
+  if (cg_space_dim > space_dim)
     throw_dimension_incompatible("relation_with(cg)", cg);
-  }
 
   // If the congruence is an equality,
   // find the relation with the equivalent equality constraint.
@@ -1209,37 +1359,68 @@ Octagonal_Shape<T>::relation_with(const Congruence& cg) const {
   if (space_dim == 0) {
     if (cg.is_inconsistent())
       return Poly_Con_Relation::is_disjoint();
-    else if (cg.inhomogeneous_term() % cg.modulus() == 0)
+    else
       return Poly_Con_Relation::saturates()
         && Poly_Con_Relation::is_included();
   }
 
-  PPL_DIRTY_TEMP(Coefficient, min_num);
-  PPL_DIRTY_TEMP(Coefficient, min_den);
+  // Find the lower bound for a hyperplane with direction
+  // defined by the congruence.
+  Linear_Expression le = Linear_Expression(cg);
+  PPL_DIRTY_TEMP_COEFFICIENT(min_num);
+  PPL_DIRTY_TEMP_COEFFICIENT(min_den);
   bool min_included;
-  PPL_DIRTY_TEMP_COEFFICIENT(mod);
-  mod = cg.modulus();
-  Linear_Expression le;
-  for (dimension_type i = cg_space_dim; i-- > 0; )
-    le += cg.coefficient(Variable(i)) * Variable(i);
   bool bounded_below = minimize(le, min_num, min_den, min_included);
 
+  // If there is no lower bound, then some of the hyperplanes defined by
+  // the congruence will strictly intersect the shape.
   if (!bounded_below)
     return Poly_Con_Relation::strictly_intersects();
 
-  PPL_DIRTY_TEMP_COEFFICIENT(v);
-  PPL_DIRTY_TEMP_COEFFICIENT(lower_num);
-  PPL_DIRTY_TEMP_COEFFICIENT(lower_den);
-  PPL_DIRTY_TEMP_COEFFICIENT(lower);
-  assign_r(lower_num, min_num, ROUND_NOT_NEEDED);
-  assign_r(lower_den, min_den, ROUND_NOT_NEEDED);
-  neg_assign(v, cg.inhomogeneous_term());
-  lower = lower_num / lower_den;
-  v += ((lower / mod) * mod);
-  if (v * lower_den < lower_num)
-    v += mod;
-  const Constraint& c(le == v);
-  return relation_with(c);
+  // TODO: Consider adding a max_and_min() method, performing both
+  // maximization and minimization so as to possibly exploit
+  // incrementality of the MIP solver.
+
+  // Find the upper bound for a hyperplane with direction
+  // defined by the congruence.
+  PPL_DIRTY_TEMP_COEFFICIENT(max_num);
+  PPL_DIRTY_TEMP_COEFFICIENT(max_den);
+  bool max_included;
+  bool bounded_above = maximize(le, max_num, max_den, max_included);
+
+  // If there is no upper bound, then some of the hyperplanes defined by
+  // the congruence will strictly intersect the shape.
+  if (!bounded_above)
+    return Poly_Con_Relation::strictly_intersects();
+
+  PPL_DIRTY_TEMP_COEFFICIENT(signed_distance);
+
+  // Find the position value for the hyperplane that satisfies the congruence
+  // and is above the lower bound for the shape.
+  PPL_DIRTY_TEMP_COEFFICIENT(min_value);
+  min_value = min_num / min_den;
+  const Coefficient& modulus = cg.modulus();
+  signed_distance = min_value % modulus;
+  min_value -= signed_distance;
+  if (min_value * min_den < min_num)
+    min_value += modulus;
+
+  // Find the position value for the hyperplane that satisfies the congruence
+  // and is below the upper bound for the shape.
+  PPL_DIRTY_TEMP_COEFFICIENT(max_value);
+  max_value = max_num / max_den;
+  signed_distance = max_value % modulus;
+  max_value += signed_distance;
+  if (max_value * max_den > max_num)
+    max_value -= modulus;
+
+  // If the upper bound value is less than the lower bound value,
+  // then there is an empty intersection with the congruence;
+  // otherwise it will strictly intersect.
+  if (max_value < min_value)
+    return Poly_Con_Relation::is_disjoint();
+  else
+    return Poly_Con_Relation::strictly_intersects();
 }
 
 template <typename T>
@@ -1408,6 +1589,7 @@ Octagonal_Shape<T>::relation_with(const Constraint& c) const {
   else
     --i_iter;
   typename OR_Matrix<N>::const_row_reference_type m_ci = *i_iter;
+  using namespace Implementation::Octagonal_Shapes;
   const N& m_ci_cj = m_ci[coherent_index(j)];
   PPL_DIRTY_TEMP_COEFFICIENT(numer);
   PPL_DIRTY_TEMP_COEFFICIENT(denom);
@@ -1785,7 +1967,7 @@ Octagonal_Shape<T>::strong_closure_assign() const {
 
   // Fill the main diagonal with zeros.
   for (Row_Iterator i = m_begin; i != m_end; ++i) {
-    assert(is_plus_infinity((*i)[i.index()]));
+    PPL_ASSERT(is_plus_infinity((*i)[i.index()]));
     assign_r((*i)[i.index()], 0, ROUND_NOT_NEEDED);
   }
 
@@ -1855,6 +2037,7 @@ Octagonal_Shape<T>::strong_closure_assign() const {
       }
 
       for (dimension_type i = 0; i < n_rows; ++i) {
+        using namespace Implementation::Octagonal_Shapes;
         const dimension_type ci = coherent_index(i);
         const N& vec_k_ci = vec_k[ci];
         const N& vec_ck_ci = vec_ck[ci];
@@ -1893,7 +2076,7 @@ Octagonal_Shape<T>::strong_closure_assign() const {
       return;
     }
     else {
-      assert(sgn(x_i_i) == 0);
+      PPL_ASSERT(sgn(x_i_i) == 0);
       // Restore PLUS_INFINITY on the main diagonal.
       assign_r(x_i_i, PLUS_INFINITY, ROUND_NOT_NEEDED);
     }
@@ -1918,6 +2101,7 @@ Octagonal_Shape<T>::strong_coherence_assign() {
          i_end = matrix.row_end(); i_iter != i_end; ++i_iter) {
     typename OR_Matrix<N>::row_reference_type x_i = *i_iter;
     const dimension_type i = i_iter.index();
+    using namespace Implementation::Octagonal_Shapes;
     const N& x_i_ci = x_i[coherent_index(i)];
     // Avoid to do unnecessary sums.
     if (!is_plus_infinity(x_i_ci))
@@ -1926,7 +2110,7 @@ Octagonal_Shape<T>::strong_coherence_assign() {
           const N& x_cj_j = matrix[coherent_index(j)][j];
           if (!is_plus_infinity(x_cj_j)) {
             add_assign_r(semi_sum, x_i_ci, x_cj_j, ROUND_UP);
-            div2exp_assign_r(semi_sum, semi_sum, 1, ROUND_UP);
+            div_2exp_assign_r(semi_sum, semi_sum, 1, ROUND_UP);
             min_assign(x_i[j], semi_sum);
           }
         }
@@ -1936,8 +2120,8 @@ Octagonal_Shape<T>::strong_coherence_assign() {
 template <typename T>
 bool
 Octagonal_Shape<T>::tight_coherence_would_make_empty() const {
-  assert(std::numeric_limits<N>::is_integer);
-  assert(marked_strongly_closed());
+  PPL_ASSERT(std::numeric_limits<N>::is_integer);
+  PPL_ASSERT(marked_strongly_closed());
   const dimension_type space_dim = space_dimension();
   for (dimension_type i = 0; i < 2*space_dim; i += 2) {
     const dimension_type ci = i+1;
@@ -1954,6 +2138,39 @@ Octagonal_Shape<T>::tight_coherence_would_make_empty() const {
 
 template <typename T>
 void
+Octagonal_Shape<T>::tight_closure_assign() {
+  PPL_COMPILE_TIME_CHECK(std::numeric_limits<T>::is_integer,
+                         "Octagonal_Shape<T>::tight_closure_assign():"
+                         " T in not an integer datatype.");
+  // FIXME: this is just an executable specification.
+  // (The following call could be replaced by shortest-path closure.)
+  strong_closure_assign();
+  if (marked_empty())
+    return;
+  if (tight_coherence_would_make_empty())
+    set_empty();
+  else {
+    // Tighten the unary constraints.
+    PPL_DIRTY_TEMP(N, temp_one);
+    assign_r(temp_one, 1, ROUND_NOT_NEEDED);
+    const dimension_type space_dim = space_dimension();
+    for (dimension_type i = 0; i < 2*space_dim; i += 2) {
+      const dimension_type ci = i+1;
+      N& mat_i_ci = matrix[i][ci];
+      if (!is_plus_infinity(mat_i_ci) && !is_even(mat_i_ci))
+        sub_assign_r(mat_i_ci, mat_i_ci, temp_one, ROUND_UP);
+      N& mat_ci_i = matrix[ci][i];
+      if (!is_plus_infinity(mat_ci_i) && !is_even(mat_ci_i))
+        sub_assign_r(mat_ci_i, mat_ci_i, temp_one, ROUND_UP);
+    }
+    // Propagate tightened unary constraints.
+    strong_coherence_assign();
+  }
+  PPL_ASSERT(OK());
+}
+
+template <typename T>
+void
 Octagonal_Shape<T>
 ::incremental_strong_closure_assign(const Variable var) const {
   // `var' should be one of the dimensions of the octagon.
@@ -1975,7 +2192,7 @@ Octagonal_Shape<T>
 
   // Fill the main diagonal with zeros.
   for (Row_Iterator i = m_begin; i != m_end; ++i) {
-    assert(is_plus_infinity((*i)[i.index()]));
+    PPL_ASSERT(is_plus_infinity((*i)[i.index()]));
     assign_r((*i)[i.index()], 0, ROUND_NOT_NEEDED);
   }
 
@@ -1990,6 +2207,7 @@ Octagonal_Shape<T>
   const dimension_type rs_v = v_iter.row_size();
   const dimension_type n_rows = x.matrix.num_rows();
   PPL_DIRTY_TEMP(N, sum);
+  using namespace Implementation::Octagonal_Shapes;
   for (Row_Iterator k_iter = m_begin; k_iter != m_end; ++k_iter) {
     const dimension_type k = k_iter.index();
     const dimension_type ck = coherent_index(k);
@@ -2081,7 +2299,7 @@ Octagonal_Shape<T>
     }
     else {
       // Restore PLUS_INFINITY on the main diagonal.
-      assert(sgn(x_i_i) == 0);
+      PPL_ASSERT(sgn(x_i_i) == 0);
       assign_r(x_i_i, PLUS_INFINITY, ROUND_NOT_NEEDED);
     }
   }
@@ -2096,8 +2314,8 @@ template <typename T>
 void
 Octagonal_Shape<T>
 ::compute_successors(std::vector<dimension_type>& successor) const {
-  assert(!marked_empty() && marked_strongly_closed());
-  assert(successor.size() == 0);
+  PPL_ASSERT(!marked_empty() && marked_strongly_closed());
+  PPL_ASSERT(successor.size() == 0);
   // Variables are ordered according to their index.
   // The vector `successor' is used to indicate which variable
   // immediately follows a given one in the corresponding equivalence class.
@@ -2113,7 +2331,9 @@ Octagonal_Shape<T>
     typename OR_Matrix<N>::const_row_reference_type m_ci
       = (i % 2 != 0) ? *(i_iter-1) : *(i_iter+1);
     for (dimension_type j = 0; j < i; ++j) {
+      // FIXME: what is the following, commented-out for?
     //for (dimension_type j = i; j-- > 0; ) {
+      using namespace Implementation::Octagonal_Shapes;
       dimension_type cj = coherent_index(j);
       if (is_additive_inverse(m_ci[cj], m_i[j]))
         // Choose as successor the variable having the greatest index.
@@ -2126,8 +2346,8 @@ template <typename T>
 void
 Octagonal_Shape<T>
 ::compute_leaders(std::vector<dimension_type>& leaders) const {
-  assert(!marked_empty() && marked_strongly_closed());
-  assert(leaders.size() == 0);
+  PPL_ASSERT(!marked_empty() && marked_strongly_closed());
+  PPL_ASSERT(leaders.size() == 0);
   // Variables are ordered according to their index.
   // The vector `leaders' is used to indicate the smallest variable
   // that belongs to the corresponding equivalence class.
@@ -2145,6 +2365,7 @@ Octagonal_Shape<T>
     typename OR_Matrix<N>::const_row_reference_type m_ci
       = (i % 2 != 0) ? *(i_iter-1) : *(i_iter+1);
     for (dimension_type j = 0; j < i; ++j) {
+      using namespace Implementation::Octagonal_Shapes;
       dimension_type cj = coherent_index(j);
       if (is_additive_inverse(m_ci[cj], m_i[j]))
         // Choose as leader the variable having the smaller index.
@@ -2160,8 +2381,8 @@ Octagonal_Shape<T>
                   std::vector<dimension_type>& no_sing_leaders,
                   bool& exist_sing_class,
                   dimension_type& sing_leader) const {
-  assert(!marked_empty() && marked_strongly_closed());
-  assert(no_sing_leaders.size() == 0);
+  PPL_ASSERT(!marked_empty() && marked_strongly_closed());
+  PPL_ASSERT(no_sing_leaders.size() == 0);
   dimension_type successor_size = successor.size();
   std::deque<bool> dealt_with(successor_size, false);
   for (dimension_type i = 0; i < successor_size; ++i) {
@@ -2169,6 +2390,7 @@ Octagonal_Shape<T>
     if (!dealt_with[i]) {
       // The index is a leader.
       // Now check if it is a leader of a singular class or not.
+      using namespace Implementation::Octagonal_Shapes;
       if (next_i == coherent_index(i)) {
         exist_sing_class = true;
         sing_leader = i;
@@ -2213,9 +2435,9 @@ Octagonal_Shape<T>::strong_reduction_assign() const {
   x.reset_strongly_closed();
 #ifndef NDEBUG
   const Octagonal_Shape x_copy_after(x);
-  assert(x_copy_before == x_copy_after);
-  assert(x.is_strongly_reduced());
-  assert(x.OK());
+  PPL_ASSERT(x_copy_before == x_copy_after);
+  PPL_ASSERT(x.is_strongly_reduced());
+  PPL_ASSERT(x.OK());
 #endif
 }
 
@@ -2224,8 +2446,8 @@ void
 Octagonal_Shape<T>
 ::non_redundant_matrix_entries(std::vector<Bit_Row>& nr_rows) const {
   // Private method: the caller has to ensure the following.
-  assert(space_dim > 0 && !marked_empty() && marked_strongly_closed());
-  assert(nr_rows.empty());
+  PPL_ASSERT(space_dim > 0 && !marked_empty() && marked_strongly_closed());
+  PPL_ASSERT(nr_rows.empty());
 
   // Initialize `non_redundant' as if it was an OR_Matrix of booleans
   // (initially set to false).
@@ -2243,10 +2465,12 @@ Octagonal_Shape<T>
   compute_leaders(successor, no_sing_leaders, exist_sing_class, sing_leader);
   const dimension_type num_no_sing_leaders = no_sing_leaders.size();
 
+
   // Step 2: flag redundant constraints in `redundancy'.
   // Go through non-singular leaders first.
   for (dimension_type li = 0; li < num_no_sing_leaders; ++li) {
     const dimension_type i = no_sing_leaders[li];
+    using namespace Implementation::Octagonal_Shapes;
     const dimension_type ci = coherent_index(i);
     typename OR_Matrix<N>::const_row_reference_type
       m_i = *(matrix.row_begin()+i);
@@ -2283,7 +2507,7 @@ Octagonal_Shape<T>
       // m_i_j >= (m_i_ci + m_cj_j)/2,   where j != ci.
       if (j != ci) {
         add_assign_r(tmp, m_i_ci, matrix[cj][j], ROUND_UP);
-        div2exp_assign_r(tmp, tmp, 1, ROUND_UP);
+        div_2exp_assign_r(tmp, tmp, 1, ROUND_UP);
         if (m_i_j >= tmp)
           // The constraint is redundant.
           continue;
@@ -2372,7 +2596,7 @@ Octagonal_Shape<T>::upper_bound_assign(const Octagonal_Shape& y) {
     max_assign(*i, *j);
 
   // The result is still closed.
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -2436,7 +2660,7 @@ Octagonal_Shape<T>::difference_assign(const Octagonal_Shape& y) {
     }
   }
   *this = new_oct;
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -2509,7 +2733,7 @@ Octagonal_Shape<T>::simplify_using_context_assign(const Octagonal_Shape& y) {
 
   found:
     // Found: build a new OS contradicting the constraint found.
-    assert(i < dim && j < dim && i != j);
+    PPL_ASSERT(i < dim && j < dim && i != j);
     Octagonal_Shape<T> res(dim, UNIVERSE);
     // FIXME: compute a proper contradicting constraint.
     PPL_DIRTY_TEMP(N, tmp);
@@ -2517,7 +2741,7 @@ Octagonal_Shape<T>::simplify_using_context_assign(const Octagonal_Shape& y) {
     add_assign_r(tmp, tmp, y.matrix_at(i, j), ROUND_UP);
     // CHECKME: round down is really meant.
     neg_assign_r(res.matrix_at(j, i), tmp, ROUND_DOWN);
-    assert(!is_plus_infinity(res.matrix_at(j, i)));
+    PPL_ASSERT(!is_plus_infinity(res.matrix_at(j, i)));
     x.swap(res);
     return false;
   }
@@ -2537,7 +2761,7 @@ Octagonal_Shape<T>::simplify_using_context_assign(const Octagonal_Shape& y) {
   dimension_type x_num_nonred = 0;
   for (size_t i = x_nonred.size(); i-- > 0 ; )
     x_num_nonred += x_nonred[i].count_ones();
-  assert(x_num_nonred > 0);
+  PPL_ASSERT(x_num_nonred > 0);
 
   // Let `yy' be a copy of `y': we will keep adding to `yy'
   // the non-redundant constraints of `x',
@@ -2613,7 +2837,7 @@ Octagonal_Shape<T>::simplify_using_context_assign(const Octagonal_Shape& y) {
     if (j == i || j == sing_leader)
       continue;
     const N& x_i_j = x.matrix_at(i, j);
-    assert(!is_plus_infinity(x_i_j));
+    PPL_ASSERT(!is_plus_infinity(x_i_j));
     N& yy_i_j = yy.matrix_at(i, j);
     if (x_i_j < yy_i_j) {
       res.matrix_at(i, j) = x_i_j;
@@ -2624,7 +2848,7 @@ Octagonal_Shape<T>::simplify_using_context_assign(const Octagonal_Shape& y) {
     }
     const N& x_j_i = x.matrix_at(j, i);
     N& yy_j_i = yy.matrix_at(j, i);
-    assert(!is_plus_infinity(x_j_i));
+    PPL_ASSERT(!is_plus_infinity(x_j_i));
     if (x_j_i < yy_j_i) {
       res.matrix_at(j, i) = x_j_i;
       ++res_num_nonred;
@@ -2707,7 +2931,7 @@ Octagonal_Shape<T>::add_space_dimensions_and_embed(dimension_type m) {
   if (was_zero_dim_univ)
     set_strongly_closed();
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -2735,27 +2959,26 @@ Octagonal_Shape<T>::add_space_dimensions_and_project(dimension_type m) {
 
   if (marked_strongly_closed())
     reset_strongly_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
 void
-Octagonal_Shape<T>
-::remove_space_dimensions(const Variables_Set& to_be_removed) {
+Octagonal_Shape<T>::remove_space_dimensions(const Variables_Set& vars) {
   // The removal of no dimensions from any octagon is a no-op.
   // Note that this case also captures the only legal removal of
   // dimensions from a octagon in a 0-dim space.
-  if (to_be_removed.empty()) {
-    assert(OK());
+  if (vars.empty()) {
+    PPL_ASSERT(OK());
     return;
   }
 
   // Dimension-compatibility check.
-  const dimension_type min_space_dim = to_be_removed.space_dimension();
+  const dimension_type min_space_dim = vars.space_dimension();
   if (space_dim < min_space_dim)
     throw_dimension_incompatible("remove_space_dimensions(vs)", min_space_dim);
 
-  const dimension_type new_space_dim = space_dim - to_be_removed.size();
+  const dimension_type new_space_dim = space_dim - vars.size();
 
   strong_closure_assign();
   // When removing _all_ dimensions from an octagon,
@@ -2766,22 +2989,22 @@ Octagonal_Shape<T>
       // We set the zero_dim_univ flag.
       set_zero_dim_univ();
     space_dim = 0;
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
   // We consider every variable and we check if it is to be removed.
   // If it is to be removed, we pass to the successive one, elsewhere
   // we move its elements in the right position.
-  Variables_Set::const_iterator tbr = to_be_removed.begin();
-  dimension_type ftr = *tbr;
+  Variables_Set::const_iterator vsi = vars.begin();
+  dimension_type ftr = *vsi;
   dimension_type ftr_size = 2*ftr*(ftr+1);
   typename OR_Matrix<N>::element_iterator
     iter = matrix.element_begin()+ftr_size;
 
   dimension_type i = ftr + 1;
   while (i < space_dim) {
-    if (to_be_removed.count(i) != 0)
+    if (vars.count(i) != 0)
       ++i;
     else {
       typename OR_Matrix<N>::row_iterator
@@ -2797,12 +3020,12 @@ Octagonal_Shape<T>
       // second row. We recall that every variable is represented
       // in the `matrix' by two rows and two rows.
       for (dimension_type j = 0; j <= i; ++j)
-        if (to_be_removed.count(j) == 0) {
+        if (vars.count(j) == 0) {
           assign_or_swap(*(iter++), row_ref[2*j]);
           assign_or_swap(*(iter++), row_ref[2*j+1]);
         }
       for (dimension_type j = 0; j <= i; ++j)
-        if (to_be_removed.count(j) == 0) {
+        if (vars.count(j) == 0) {
           assign_or_swap(*(iter++), row_ref1[2*j]);
           assign_or_swap(*(iter++), row_ref1[2*j+1]);
         }
@@ -2812,7 +3035,7 @@ Octagonal_Shape<T>
   // Update the space dimension.
   matrix.shrink(new_space_dim);
   space_dim = new_space_dim;
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -2896,7 +3119,7 @@ Octagonal_Shape<T>::map_space_dimensions(const Partial_Function& pfunc) {
 
   std::swap(matrix, x);
   space_dim = new_space_dim;
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -2939,7 +3162,7 @@ Octagonal_Shape<T>::intersection_assign(const Octagonal_Shape& y) {
   // This method not preserve the closure.
   if (changed && marked_strongly_closed())
     reset_strongly_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -2957,7 +3180,7 @@ Octagonal_Shape<T>::CC76_extrapolation_assign(const Octagonal_Shape& y,
     // We assume that `y' is contained in or equal to `*this'.
     const Octagonal_Shape x_copy = *this;
     const Octagonal_Shape y_copy = y;
-    assert(x_copy.contains(y_copy));
+    PPL_ASSERT(x_copy.contains(y_copy));
   }
 #endif
 
@@ -3012,7 +3235,7 @@ Octagonal_Shape<T>::CC76_extrapolation_assign(const Octagonal_Shape& y,
   }
 
   reset_strongly_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -3022,7 +3245,7 @@ Octagonal_Shape<T>
                        Octagonal_Shape& limiting_octagon) const {
   const dimension_type cs_space_dim = cs.space_dimension();
   // Private method: the caller has to ensure the following.
-  assert(cs_space_dim <= space_dim);
+  PPL_ASSERT(cs_space_dim <= space_dim);
 
   strong_closure_assign();
   bool is_oct_changed = false;
@@ -3078,6 +3301,7 @@ Octagonal_Shape<T>
           Row_reference m_ci = *i_iter;
           Row_Reference lo_m_ci = *lo_iter;
           // Select the right column of the cell.
+          using namespace Implementation::Octagonal_Shapes;
           dimension_type cj = coherent_index(j);
           N& lo_m_ci_cj = lo_m_ci[cj];
           neg_assign(term);
@@ -3126,7 +3350,7 @@ Octagonal_Shape<T>
     // We assume that `y' is contained in or equal to `*this'.
     const Octagonal_Shape x_copy = *this;
     const Octagonal_Shape y_copy = y;
-    assert(x_copy.contains(y_copy));
+    PPL_ASSERT(x_copy.contains(y_copy));
   }
 #endif
 
@@ -3156,7 +3380,7 @@ Octagonal_Shape<T>::BHMZ05_widening_assign(const Octagonal_Shape& y,
     // We assume that `y' is contained in or equal to `*this'.
     const Octagonal_Shape x_copy = *this;
     const Octagonal_Shape y_copy = y;
-    assert(x_copy.contains(y_copy));
+    PPL_ASSERT(x_copy.contains(y_copy));
   }
 #endif
 
@@ -3171,7 +3395,7 @@ Octagonal_Shape<T>::BHMZ05_widening_assign(const Octagonal_Shape& y,
   // If the affine dimension has changed, due to the inclusion hypothesis,
   // the result is `*this'.
   const dimension_type x_affine_dim = affine_dimension();
-  assert(x_affine_dim >= y_affine_dim);
+  PPL_ASSERT(x_affine_dim >= y_affine_dim);
   if (x_affine_dim != y_affine_dim)
     return;
 
@@ -3186,7 +3410,7 @@ Octagonal_Shape<T>::BHMZ05_widening_assign(const Octagonal_Shape& y,
   }
 
   // Here no token is available.
-  assert(marked_strongly_closed() && y.marked_strongly_closed());
+  PPL_ASSERT(marked_strongly_closed() && y.marked_strongly_closed());
   // Minimize `y'.
   y.strong_reduction_assign();
 
@@ -3204,7 +3428,7 @@ Octagonal_Shape<T>::BHMZ05_widening_assign(const Octagonal_Shape& y,
       assign_r(elem, PLUS_INFINITY, ROUND_NOT_NEEDED);
   }
   reset_strongly_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -3238,7 +3462,7 @@ Octagonal_Shape<T>
     // We assume that `y' is contained in or equal to `*this'.
     const Octagonal_Shape x_copy = *this;
     const Octagonal_Shape y_copy = y;
-    assert(x_copy.contains(y_copy));
+    PPL_ASSERT(x_copy.contains(y_copy));
   }
 #endif
 
@@ -3267,7 +3491,7 @@ Octagonal_Shape<T>::CC76_narrowing_assign(const Octagonal_Shape& y) {
     // We assume that `*this' is contained in or equal to `y'.
     const Octagonal_Shape x_copy = *this;
     const Octagonal_Shape y_copy = y;
-    assert(y_copy.contains(x_copy));
+    PPL_ASSERT(y_copy.contains(x_copy));
   }
 #endif
 
@@ -3303,7 +3527,7 @@ Octagonal_Shape<T>::CC76_narrowing_assign(const Octagonal_Shape& y) {
 
   if (is_oct_changed && marked_strongly_closed())
     reset_strongly_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -3315,8 +3539,8 @@ Octagonal_Shape<T>
                        Coefficient_traits::const_reference sc_den,
                        const N& ub_v) {
   // Private method: the caller has to ensure the following.
-  assert(sc_den > 0);
-  assert(!is_plus_infinity(ub_v));
+  PPL_ASSERT(sc_den > 0);
+  PPL_ASSERT(!is_plus_infinity(ub_v));
 
   PPL_DIRTY_TEMP0(mpq_class, mpq_sc_den);
   assign_r(mpq_sc_den, sc_den, ROUND_NOT_NEEDED);
@@ -3352,7 +3576,7 @@ Octagonal_Shape<T>
         // We avoid to check if `ub_u' is plus infinity, because
         // it is used for the computation of `ub_v'.
         // Let half = m_cu_u / 2.
-        div2exp_assign_r(half, matrix[n_u+1][n_u], 1, ROUND_UP);
+        div_2exp_assign_r(half, matrix[n_u+1][n_u], 1, ROUND_UP);
         N& m_v_minus_u = (n_v < n_u) ? matrix[n_u][n_v] : m_cv[n_u+1];
         sub_assign_r(m_v_minus_u, ub_v, half, ROUND_UP);
       }
@@ -3366,11 +3590,11 @@ Octagonal_Shape<T>
           // computed as `ub_v - (q * ub_u + (1-q) * lb_u)',
           // i.e., `ub_v + (-lb_u) - q * (ub_u + (-lb_u))'.
           assign_r(minus_lb_u, m_u_cu, ROUND_NOT_NEEDED);
-          div2exp_assign_r(minus_lb_u, minus_lb_u, 1, ROUND_NOT_NEEDED);
+          div_2exp_assign_r(minus_lb_u, minus_lb_u, 1, ROUND_NOT_NEEDED);
           assign_r(q, expr_u, ROUND_NOT_NEEDED);
           div_assign_r(q, q, mpq_sc_den, ROUND_NOT_NEEDED);
           assign_r(ub_u, matrix[n_u+1][n_u], ROUND_NOT_NEEDED);
-          div2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED);
+          div_2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED);
           // Compute `ub_u - lb_u'.
           add_assign_r(ub_u, ub_u, minus_lb_u, ROUND_NOT_NEEDED);
           // Compute `(-lb_u) - q * (ub_u - lb_u)'.
@@ -3383,7 +3607,7 @@ Octagonal_Shape<T>
       }
     }
     else {
-      assert(expr_u < 0);
+      PPL_ASSERT(expr_u < 0);
       // If `expr_u' is negative, we can improve `v + u'.
       neg_assign(minus_expr_u, expr_u);
       if (minus_expr_u >= sc_den) {
@@ -3391,7 +3615,7 @@ Octagonal_Shape<T>
         // We avoid to check if `lb_u' is plus infinity, because
         // it is used for the computation of `ub_v'.
         // Let half = m_u_cu / 2.
-        div2exp_assign_r(half, matrix[n_u][n_u+1], 1, ROUND_UP);
+        div_2exp_assign_r(half, matrix[n_u][n_u+1], 1, ROUND_UP);
         N& m_v_plus_u = (n_v < n_u) ? matrix[n_u+1][n_v] : m_cv[n_u];
         sub_assign_r(m_v_plus_u, ub_v, half, ROUND_UP);
       }
@@ -3405,11 +3629,11 @@ Octagonal_Shape<T>
           // computed as `ub_v + ((-q) * lb_u + (1+q) * ub_u)',
           // i.e., `ub_v + ub_u + (-q) * (lb_u - ub_u)'.
           assign_r(ub_u, m_cu[n_u], ROUND_NOT_NEEDED);
-          div2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED);
+          div_2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED);
           assign_r(minus_q, minus_expr_u, ROUND_NOT_NEEDED);
           div_assign_r(minus_q, minus_q, mpq_sc_den, ROUND_NOT_NEEDED);
           assign_r(lb_u, matrix[n_u][n_u+1], ROUND_NOT_NEEDED);
-          div2exp_assign_r(lb_u, lb_u, 1, ROUND_NOT_NEEDED);
+          div_2exp_assign_r(lb_u, lb_u, 1, ROUND_NOT_NEEDED);
           neg_assign_r(lb_u, lb_u, ROUND_NOT_NEEDED);
           // Compute `lb_u - ub_u'.
           sub_assign_r(lb_u, lb_u, ub_u, ROUND_NOT_NEEDED);
@@ -3434,8 +3658,8 @@ Octagonal_Shape<T>
                              Coefficient_traits::const_reference sc_den,
                              const N& minus_lb_v) {
   // Private method: the caller has to ensure the following.
-  assert(sc_den > 0);
-  assert(!is_plus_infinity(minus_lb_v));
+  PPL_ASSERT(sc_den > 0);
+  PPL_ASSERT(!is_plus_infinity(minus_lb_v));
 
   PPL_DIRTY_TEMP0(mpq_class, mpq_sc_den);
   assign_r(mpq_sc_den, sc_den, ROUND_NOT_NEEDED);
@@ -3470,7 +3694,7 @@ Octagonal_Shape<T>
         // We avoid to check if `lb_u' is plus infinity, because
         // it is used for the computation of `lb_v'.
         // Let half = m_u_cu / 2.
-        div2exp_assign_r(half, matrix[n_u][n_u+1], 1, ROUND_UP);
+        div_2exp_assign_r(half, matrix[n_u][n_u+1], 1, ROUND_UP);
         N& m_u_minus_v = (n_v < n_u) ? matrix[n_u+1][n_v+1] : m_v[n_u];
         sub_assign_r(m_u_minus_v, minus_lb_v, half, ROUND_UP);
       }
@@ -3484,11 +3708,11 @@ Octagonal_Shape<T>
           // computed as `(q * lb_u + (1-q) * ub_u) - lb_v',
           // i.e., `ub_u - q * (ub_u + (-lb_u)) + minus_lb_v'.
           assign_r(ub_u, m_cu[n_u], ROUND_NOT_NEEDED);
-          div2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED);
+          div_2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED);
           assign_r(q, expr_u, ROUND_NOT_NEEDED);
           div_assign_r(q, q, mpq_sc_den, ROUND_NOT_NEEDED);
           assign_r(minus_lb_u, matrix[n_u][n_u+1], ROUND_NOT_NEEDED);
-          div2exp_assign_r(minus_lb_u, minus_lb_u, 1, ROUND_NOT_NEEDED);
+          div_2exp_assign_r(minus_lb_u, minus_lb_u, 1, ROUND_NOT_NEEDED);
           // Compute `ub_u - lb_u'.
           add_assign_r(minus_lb_u, ub_u, minus_lb_u, ROUND_NOT_NEEDED);
           // Compute `ub_u - q * (ub_u - lb_u)'.
@@ -3501,7 +3725,7 @@ Octagonal_Shape<T>
       }
     }
     else {
-      assert(expr_u < 0);
+      PPL_ASSERT(expr_u < 0);
       // If `expr_u' is negative, we can improve `-v - u'.
       neg_assign(minus_expr_u, expr_u);
       if (minus_expr_u >= sc_den) {
@@ -3509,7 +3733,7 @@ Octagonal_Shape<T>
         // We avoid to check if `ub_u' is plus infinity, because
         // it is used for the computation of `lb_v'.
         // Let half = m_cu_u / 2.
-        div2exp_assign_r(half, matrix[n_u+1][n_u], 1, ROUND_UP);
+        div_2exp_assign_r(half, matrix[n_u+1][n_u], 1, ROUND_UP);
         N& m_minus_v_minus_u = (n_v < n_u) ? matrix[n_u][n_v+1] : m_v[n_u+1];
         sub_assign_r(m_minus_v_minus_u, minus_lb_v, half, ROUND_UP);
       }
@@ -3523,11 +3747,11 @@ Octagonal_Shape<T>
           // computed as `-lb_v - ((-q)*ub_u + (1+q)*lb_u)',
           // i.e., `minus_lb_v - lb_u + q*(ub_u - lb_u)'.
           assign_r(ub_u, matrix[n_u+1][n_u], ROUND_NOT_NEEDED);
-          div2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED);
+          div_2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED);
           assign_r(q, expr_u, ROUND_NOT_NEEDED);
           div_assign_r(q, q, mpq_sc_den, ROUND_NOT_NEEDED);
           assign_r(minus_lb_u, m_u[n_u+1], ROUND_NOT_NEEDED);
-          div2exp_assign_r(minus_lb_u, minus_lb_u, 1, ROUND_NOT_NEEDED);
+          div_2exp_assign_r(minus_lb_u, minus_lb_u, 1, ROUND_NOT_NEEDED);
           // Compute `ub_u - lb_u'.
           add_assign_r(ub_u, ub_u, minus_lb_u, ROUND_NOT_NEEDED);
           // Compute `-lb_u + q*(ub_u - lb_u)'.
@@ -3546,7 +3770,7 @@ template <typename T>
 void
 Octagonal_Shape<T>
 ::forget_all_octagonal_constraints(const dimension_type v_id) {
-  assert(v_id < space_dim);
+  PPL_ASSERT(v_id < space_dim);
   const dimension_type n_v = 2*v_id;
   typename OR_Matrix<N>::row_iterator m_iter = matrix.row_begin() + n_v;
   typename OR_Matrix<N>::row_reference_type r_v = *m_iter;
@@ -3568,7 +3792,7 @@ template <typename T>
 void
 Octagonal_Shape<T>
 ::forget_binary_octagonal_constraints(const dimension_type v_id) {
-  assert(v_id < space_dim);
+  PPL_ASSERT(v_id < space_dim);
   const dimension_type n_v = 2*v_id;
   typename OR_Matrix<N>::row_iterator m_iter = matrix.row_begin() + n_v;
   typename OR_Matrix<N>::row_reference_type r_v = *m_iter;
@@ -3603,19 +3827,19 @@ Octagonal_Shape<T>::unconstrain(const Variable var) {
 
   forget_all_octagonal_constraints(dim);
   // Strong closure is preserved.
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
 void
-Octagonal_Shape<T>::unconstrain(const Variables_Set& to_be_unconstrained) {
+Octagonal_Shape<T>::unconstrain(const Variables_Set& vars) {
   // The cylindrification wrt no dimensions is a no-op.
   // This case captures the only legal cylindrification in a 0-dim space.
-  if (to_be_unconstrained.empty())
+  if (vars.empty())
     return;
 
   // Dimension-compatibility check.
-  const dimension_type min_space_dim = to_be_unconstrained.space_dimension();
+  const dimension_type min_space_dim = vars.space_dimension();
   if (space_dimension() < min_space_dim)
     throw_dimension_incompatible("unconstrain(vs)", min_space_dim);
 
@@ -3626,11 +3850,11 @@ Octagonal_Shape<T>::unconstrain(const Variables_Set& to_be_unconstrained) {
   if (marked_empty())
     return;
 
-  for (Variables_Set::const_iterator tbu = to_be_unconstrained.begin(),
-         tbu_end = to_be_unconstrained.end(); tbu != tbu_end; ++tbu)
-    forget_all_octagonal_constraints(*tbu);
+  for (Variables_Set::const_iterator vsi = vars.begin(),
+         vsi_end = vars.end(); vsi != vsi_end; ++vsi)
+    forget_all_octagonal_constraints(*vsi);
   // Strong closure is preserved.
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -3639,13 +3863,13 @@ Octagonal_Shape<T>::refine(const Variable var,
                            const Relation_Symbol relsym,
                            const Linear_Expression& expr,
                            Coefficient_traits::const_reference denominator) {
-  assert(denominator != 0);
+  PPL_ASSERT(denominator != 0);
   const dimension_type expr_space_dim = expr.space_dimension();
-  assert(space_dim >= expr_space_dim);
+  PPL_ASSERT(space_dim >= expr_space_dim);
   const dimension_type var_id = var.id();
-  assert(var_id <= space_dim);
-  assert(expr.coefficient(var) == 0);
-  assert(relsym != LESS_THAN && relsym != GREATER_THAN);
+  PPL_ASSERT(var_id <= space_dim);
+  PPL_ASSERT(expr.coefficient(var) == 0);
+  PPL_ASSERT(relsym != LESS_THAN && relsym != GREATER_THAN);
 
   const Coefficient& b = expr.inhomogeneous_term();
   // Number of non-zero coefficients in `expr': will be set to
@@ -3852,7 +4076,7 @@ Octagonal_Shape<T>::refine(const Variable var,
               const N& double_approx_i = m_ci[n_i];
               if (!is_plus_infinity(double_approx_i)) {
                 // Let half = double_approx_i / 2.
-                div2exp_assign_r(half, double_approx_i, 1, ROUND_UP);
+                div_2exp_assign_r(half, double_approx_i, 1, ROUND_UP);
                 add_mul_assign_r(sum, coeff_i, half, ROUND_UP);
               }
               else {
@@ -3865,7 +4089,7 @@ Octagonal_Shape<T>::refine(const Variable var,
               const N& double_approx_minus_i = m_i[n_i+1];
               if (!is_plus_infinity(double_approx_minus_i)) {
                 // Let half = double_approx_minus_i / 2.
-                div2exp_assign_r(half, double_approx_minus_i, 1, ROUND_UP);
+                div_2exp_assign_r(half, double_approx_minus_i, 1, ROUND_UP);
                 add_mul_assign_r(neg_sum, coeff_i, half, ROUND_UP);
               }
               else {
@@ -3882,7 +4106,7 @@ Octagonal_Shape<T>::refine(const Variable var,
               const N& double_approx_minus_i = m_i[n_i+1];
               if (!is_plus_infinity(double_approx_minus_i)) {
                 // Let half = double_approx_minus_i / 2.
-                div2exp_assign_r(half, double_approx_minus_i, 1, ROUND_UP);
+                div_2exp_assign_r(half, double_approx_minus_i, 1, ROUND_UP);
                 add_mul_assign_r(sum, minus_coeff_i, half, ROUND_UP);
               }
               else {
@@ -3895,7 +4119,7 @@ Octagonal_Shape<T>::refine(const Variable var,
               const N& double_approx_i = m_ci[n_i];
               if (!is_plus_infinity(double_approx_i)) {
                 // Let half = double_approx_i / 2.
-                div2exp_assign_r(half, double_approx_i, 1, ROUND_UP);
+                div_2exp_assign_r(half, double_approx_i, 1, ROUND_UP);
                 add_mul_assign_r(neg_sum, minus_coeff_i, half, ROUND_UP);
               }
               else {
@@ -3907,7 +4131,7 @@ Octagonal_Shape<T>::refine(const Variable var,
         }
         // Return immediately if no approximation could be computed.
         if (pinf_count > 1 && neg_pinf_count > 1) {
-          assert(OK());
+          PPL_ASSERT(OK());
           return;
         }
 
@@ -3932,7 +4156,7 @@ Octagonal_Shape<T>::refine(const Variable var,
           if (pinf_count == 0) {
             // Add the constraint `v <= sum'.
             PPL_DIRTY_TEMP(N, double_sum);
-            mul2exp_assign_r(double_sum, sum, 1, ROUND_IGNORE);
+            mul_2exp_assign_r(double_sum, sum, 1, ROUND_UP);
             matrix[n_var+1][n_var] = double_sum;
             // Deduce constraints of the form `v +/- u', where `u != v'.
             deduce_v_pm_u_bounds(var_id, w_id, sc_expr, sc_den, sum);
@@ -3977,7 +4201,7 @@ Octagonal_Shape<T>::refine(const Variable var,
           if (neg_pinf_count == 0) {
             // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
             PPL_DIRTY_TEMP(N, double_neg_sum);
-            mul2exp_assign_r(double_neg_sum, neg_sum, 1, ROUND_IGNORE);
+            mul_2exp_assign_r(double_neg_sum, neg_sum, 1, ROUND_UP);
             matrix[n_var][n_var+1] = double_neg_sum;
             // Deduce constraints of the form `-v +/- u', where `u != v'.
             deduce_minus_v_pm_u_bounds(var_id, w_id, sc_expr, sc_den, neg_sum);
@@ -4048,7 +4272,7 @@ Octagonal_Shape<T>::refine(const Variable var,
             neg_assign(minus_sc_i, sc_i);
             assign_r(coeff_i, minus_sc_i, ROUND_UP);
           }
-          div2exp_assign_r(approx_i, double_approx_i, 1, ROUND_UP);
+          div_2exp_assign_r(approx_i, double_approx_i, 1, ROUND_UP);
           add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP);
         }
         // Divide by the (sign corrected) denominator (if needed).
@@ -4066,7 +4290,7 @@ Octagonal_Shape<T>::refine(const Variable var,
         if (pinf_count == 0) {
           // Add the constraint `v <= sum'.
           PPL_DIRTY_TEMP(N, double_sum);
-          mul2exp_assign_r(double_sum, sum, 1, ROUND_IGNORE);
+          mul_2exp_assign_r(double_sum, sum, 1, ROUND_UP);
           add_octagonal_constraint(n_var+1, n_var, double_sum);
           // Deduce constraints of the form `v +/- u', where `u != v'.
           deduce_v_pm_u_bounds(var_id, w_id, sc_expr, sc_den, sum);
@@ -4132,7 +4356,7 @@ Octagonal_Shape<T>::refine(const Variable var,
             neg_assign(minus_sc_i, sc_i);
             assign_r(coeff_i, minus_sc_i, ROUND_UP);
           }
-          div2exp_assign_r(approx_i, double_approx_i, 1, ROUND_UP);
+          div_2exp_assign_r(approx_i, double_approx_i, 1, ROUND_UP);
           add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP);
         }
 
@@ -4151,7 +4375,7 @@ Octagonal_Shape<T>::refine(const Variable var,
         if (pinf_count == 0) {
           // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
           PPL_DIRTY_TEMP(N, double_sum);
-          mul2exp_assign_r(double_sum, sum, 1, ROUND_IGNORE);
+          mul_2exp_assign_r(double_sum, sum, 1, ROUND_UP);
           add_octagonal_constraint(n_var, n_var+1, double_sum);
           // Deduce constraints of the form `-v +/- u', where `u != v'.
           deduce_minus_v_pm_u_bounds(var_id, pinf_index, sc_expr, sc_den, sum);
@@ -4258,7 +4482,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
     // Add the constraint `var == b/denominator'.
     add_octagonal_constraint(n_var+1, n_var, two_b, denominator);
     add_octagonal_constraint(n_var, n_var+1, two_b, minus_den);
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -4302,10 +4526,10 @@ Octagonal_Shape<T>::affine_image(const Variable var,
               add_assign_r(m_i_cv, m_i_cv, minus_d, ROUND_UP);
             }
             // Now update unary constraints on var.
-            mul2exp_assign_r(d, d, 1, ROUND_IGNORE);
+            mul_2exp_assign_r(d, d, 1, ROUND_UP);
             N& m_cv_v = m_cv[n_var];
             add_assign_r(m_cv_v, m_cv_v, d, ROUND_UP);
-            mul2exp_assign_r(minus_d, minus_d, 1, ROUND_IGNORE);
+            mul_2exp_assign_r(minus_d, minus_d, 1, ROUND_UP);
             N& m_v_cv = m_v[n_var+1];
             add_assign_r(m_v_cv, m_v_cv, minus_d, ROUND_UP);
            }
@@ -4329,11 +4553,11 @@ Octagonal_Shape<T>::affine_image(const Variable var,
             // adding or subtracting the value `b/denominator'.
             PPL_DIRTY_TEMP(N, d);
             div_round_up(d, b, denominator);
-            mul2exp_assign_r(d, d, 1, ROUND_IGNORE);
+            mul_2exp_assign_r(d, d, 1, ROUND_UP);
             add_assign_r(m_cv_v, m_cv_v, d, ROUND_UP);
             PPL_DIRTY_TEMP(N, minus_d);
             div_round_up(minus_d, b, minus_den);
-            mul2exp_assign_r(minus_d, minus_d, 1, ROUND_IGNORE);
+            mul_2exp_assign_r(minus_d, minus_d, 1, ROUND_UP);
             add_assign_r(m_v_cv, m_v_cv, minus_d, ROUND_UP);
           }
           incremental_strong_closure_assign(var);
@@ -4367,7 +4591,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
           }
         incremental_strong_closure_assign(var);
       }
-      assert(OK());
+      PPL_ASSERT(OK());
       return;
     }
   }
@@ -4438,7 +4662,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
         const N& double_up_approx_i = m_ci[n_i];
         if (!is_plus_infinity(double_up_approx_i)) {
           // Let half = double_up_approx_i / 2.
-          div2exp_assign_r(half, double_up_approx_i, 1, ROUND_UP);
+          div_2exp_assign_r(half, double_up_approx_i, 1, ROUND_UP);
           add_mul_assign_r(pos_sum, coeff_i, half, ROUND_UP);
         }
         else {
@@ -4451,7 +4675,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
         const N& double_up_approx_minus_i = m_i[n_i+1];
         if (!is_plus_infinity(double_up_approx_minus_i)) {
           // Let half = double_up_approx_minus_i / 2.
-          div2exp_assign_r(half, double_up_approx_minus_i, 1, ROUND_UP);
+          div_2exp_assign_r(half, double_up_approx_minus_i, 1, ROUND_UP);
           add_mul_assign_r(neg_sum, coeff_i, half, ROUND_UP);
         }
         else {
@@ -4468,7 +4692,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
         const N& double_up_approx_minus_i = m_i[n_i+1];
         if (!is_plus_infinity(double_up_approx_minus_i)) {
           // Let half = double_up_approx_minus_i / 2.
-          div2exp_assign_r(half, double_up_approx_minus_i, 1, ROUND_UP);
+          div_2exp_assign_r(half, double_up_approx_minus_i, 1, ROUND_UP);
           add_mul_assign_r(pos_sum, minus_coeff_i, half, ROUND_UP);
         }
         else {
@@ -4481,7 +4705,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
         const N& double_up_approx_i = m_ci[n_i];
         if (!is_plus_infinity(double_up_approx_i)) {
           // Let half = double_up_approx_i / 2.
-          div2exp_assign_r(half, double_up_approx_i, 1, ROUND_UP);
+          div_2exp_assign_r(half, double_up_approx_i, 1, ROUND_UP);
           add_mul_assign_r(neg_sum, minus_coeff_i, half, ROUND_UP);
         }
         else {
@@ -4496,7 +4720,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
   forget_all_octagonal_constraints(var_id);
   // Return immediately if no approximation could be computed.
   if (pos_pinf_count > 1 && neg_pinf_count > 1) {
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -4520,7 +4744,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
     if (pos_pinf_count == 0) {
       // Add the constraint `v <= pos_sum'.
       PPL_DIRTY_TEMP(N, double_pos_sum);
-      mul2exp_assign_r(double_pos_sum, pos_sum, 1, ROUND_IGNORE);
+      mul_2exp_assign_r(double_pos_sum, pos_sum, 1, ROUND_UP);
       matrix[n_var+1][n_var] = double_pos_sum;
       // Deduce constraints of the form `v +/- u', where `u != v'.
       deduce_v_pm_u_bounds(var_id, w_id, sc_expr, sc_den, pos_sum);
@@ -4563,7 +4787,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
     if (neg_pinf_count == 0) {
       // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
       PPL_DIRTY_TEMP(N, double_neg_sum);
-      mul2exp_assign_r(double_neg_sum, neg_sum, 1, ROUND_IGNORE);
+      mul_2exp_assign_r(double_neg_sum, neg_sum, 1, ROUND_UP);
       matrix[n_var][n_var+1] = double_neg_sum;
       // Deduce constraints of the form `-v +/- u', where `u != v'.
       deduce_minus_v_pm_u_bounds(var_id, w_id, sc_expr, sc_den, neg_sum);
@@ -4592,7 +4816,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
   }
 
   incremental_strong_closure_assign(var);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -4653,7 +4877,7 @@ Octagonal_Shape<T>::affine_preimage(const Variable var,
   if (t == 0) {
     // Case 1: expr = n; remove all constraints on `var'.
     forget_all_octagonal_constraints(var_id);
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -4670,7 +4894,7 @@ Octagonal_Shape<T>::affine_preimage(const Variable var,
         // `expr == w_coeff*w + b', where `w != var'.
         // Remove all constraints on `var'.
         forget_all_octagonal_constraints(var_id);
-        assert(OK());
+        PPL_ASSERT(OK());
       }
       return;
     }
@@ -4699,7 +4923,7 @@ Octagonal_Shape<T>::affine_preimage(const Variable var,
   else {
     // The transformation is not invertible: all constraints on `var' are lost.
     forget_all_octagonal_constraints(var_id);
-    assert(OK());
+    PPL_ASSERT(OK());
   }
 }
 
@@ -4735,7 +4959,7 @@ Octagonal_Shape<T>
                   "*this is an Octagonal_Shape");
 
   if (relsym == EQUAL) {
-    // The relation symbol is "==":
+    // The relation symbol is "=":
     // this is just an affine image computation.
     affine_image(var, expr, denominator);
     return;
@@ -4805,7 +5029,7 @@ Octagonal_Shape<T>
       // We already dealt with the other cases.
       throw std::runtime_error("PPL internal error");
     }
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -4845,7 +5069,7 @@ Octagonal_Shape<T>
                 assign_r(m_v[k], PLUS_INFINITY, ROUND_NOT_NEEDED);
                 add_assign_r(m_cv[k], m_cv[k], d, ROUND_UP);
               }
-              mul2exp_assign_r(d, d, 1, ROUND_IGNORE);
+              mul_2exp_assign_r(d, d, 1, ROUND_UP);
               add_assign_r(m_cv_v, m_cv_v, d, ROUND_UP);
               assign_r(m_v_cv, PLUS_INFINITY, ROUND_NOT_NEEDED);
             }
@@ -4853,7 +5077,7 @@ Octagonal_Shape<T>
               // Here `w_coeff == -denominator'.
               // `expr' is of the form: -a*var + b.
               N& m_v_cv = matrix[n_var][n_var+1];
-              mul2exp_assign_r(d, d, 1, ROUND_IGNORE);
+              mul_2exp_assign_r(d, d, 1, ROUND_UP);
               add_assign_r(matrix[n_var+1][n_var], m_v_cv, d, ROUND_UP);
               assign_r(m_v_cv, PLUS_INFINITY, ROUND_NOT_NEEDED);
               forget_binary_octagonal_constraints(var_id);
@@ -4912,7 +5136,7 @@ Octagonal_Shape<T>
                 add_assign_r(m_v[k], m_v[k], d, ROUND_UP);
                 assign_r(m_cv[k], PLUS_INFINITY, ROUND_NOT_NEEDED);
               }
-              mul2exp_assign_r(d, d, 1, ROUND_IGNORE);
+              mul_2exp_assign_r(d, d, 1, ROUND_UP);
               add_assign_r(m_v_cv, m_v_cv, d, ROUND_UP);
               assign_r(m_cv_v, PLUS_INFINITY, ROUND_NOT_NEEDED);
             }
@@ -4920,7 +5144,7 @@ Octagonal_Shape<T>
               // Here `w_coeff == -denominator'.
               // `expr' is of the form: -a*var + b.
               N& m_cv_v = matrix[n_var+1][n_var];
-              mul2exp_assign_r(d, d, 1, ROUND_IGNORE);
+              mul_2exp_assign_r(d, d, 1, ROUND_UP);
               add_assign_r(matrix[n_var][n_var+1], m_cv_v, d, ROUND_UP);
               assign_r(m_cv_v, PLUS_INFINITY, ROUND_NOT_NEEDED);
               forget_binary_octagonal_constraints(var_id);
@@ -4960,7 +5184,7 @@ Octagonal_Shape<T>
         // We already dealt with the other cases.
         throw std::runtime_error("PPL internal error");
       }
-      assert(OK());
+      PPL_ASSERT(OK());
       return;
     }
   }
@@ -5032,7 +5256,7 @@ Octagonal_Shape<T>
           neg_assign(minus_sc_i, sc_i);
           assign_r(coeff_i, minus_sc_i, ROUND_UP);
         }
-        div2exp_assign_r(approx_i, double_approx_i, 1, ROUND_UP);
+        div_2exp_assign_r(approx_i, double_approx_i, 1, ROUND_UP);
         add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP);
       }
       // Remove all constraints on `v'.
@@ -5040,7 +5264,7 @@ Octagonal_Shape<T>
       reset_strongly_closed();
       // Return immediately if no approximation could be computed.
       if (pinf_count > 1) {
-        assert(OK());
+        PPL_ASSERT(OK());
         return;
       }
 
@@ -5060,7 +5284,7 @@ Octagonal_Shape<T>
       if (pinf_count == 0) {
         // Add the constraint `v <= pos_sum'.
         PPL_DIRTY_TEMP(N, double_sum);
-        mul2exp_assign_r(double_sum, sum, 1, ROUND_IGNORE);
+        mul_2exp_assign_r(double_sum, sum, 1, ROUND_UP);
         matrix[n_var+1][n_var] = double_sum;
         // Deduce constraints of the form `v +/- u', where `u != v'.
         deduce_v_pm_u_bounds(var_id, w_id, sc_expr, sc_den, sum);
@@ -5126,7 +5350,7 @@ Octagonal_Shape<T>
           neg_assign(minus_sc_i, sc_i);
           assign_r(coeff_i, minus_sc_i, ROUND_UP);
         }
-        div2exp_assign_r(approx_i, double_approx_i, 1, ROUND_UP);
+        div_2exp_assign_r(approx_i, double_approx_i, 1, ROUND_UP);
         add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP);
       }
 
@@ -5135,7 +5359,7 @@ Octagonal_Shape<T>
       reset_strongly_closed();
       // Return immediately if no approximation could be computed.
       if (pinf_count > 1) {
-        assert(OK());
+        PPL_ASSERT(OK());
         return;
       }
 
@@ -5155,7 +5379,7 @@ Octagonal_Shape<T>
       if (pinf_count == 0) {
         // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
         PPL_DIRTY_TEMP(N, double_sum);
-        mul2exp_assign_r(double_sum, sum, 1, ROUND_IGNORE);
+        mul_2exp_assign_r(double_sum, sum, 1, ROUND_UP);
         matrix[n_var][n_var+1] = double_sum;
         // Deduce constraints of the form `-v +/- u', where `u != v'.
         deduce_minus_v_pm_u_bounds(var_id, pinf_index, sc_expr, sc_den, sum);
@@ -5190,7 +5414,7 @@ Octagonal_Shape<T>
     throw std::runtime_error("PPL internal error");
   }
   incremental_strong_closure_assign(var);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -5347,7 +5571,7 @@ Octagonal_Shape<T>::generalized_affine_image(const Linear_Expression& lhs,
       // Existentially quantify all variables in the lhs.
       // NOTE: enforce strong closure for precision.
       strong_closure_assign();
-      assert(!marked_empty());
+      PPL_ASSERT(!marked_empty());
       for (dimension_type i = lhs_vars.size(); i-- > 0; ) {
         dimension_type lhs_vars_i = lhs_vars[i].id();
         forget_all_octagonal_constraints(lhs_vars_i);
@@ -5378,7 +5602,7 @@ Octagonal_Shape<T>::generalized_affine_image(const Linear_Expression& lhs,
     }
   }
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -5460,7 +5684,7 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
     two_b = 2*b;
     // Add the constraint `var >= b/denominator'.
     add_octagonal_constraint(n_var, n_var+1, two_b, minus_den);
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -5479,7 +5703,7 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
         affine_image(new_var, lb_expr, denominator);
         // Enforce the strong closure for precision.
         strong_closure_assign();
-        assert(!marked_empty());
+        PPL_ASSERT(!marked_empty());
         // Apply the affine upper bound.
         generalized_affine_image(var,
                                  LESS_OR_EQUAL,
@@ -5513,7 +5737,7 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
           else
             add_octagonal_constraint(n_var, n_w+1, b, minus_den);
         }
-        assert(OK());
+        PPL_ASSERT(OK());
         return;
       }
     }
@@ -5579,7 +5803,7 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
         const N& double_up_approx_minus_i = m_i[n_i+1];
         if (!is_plus_infinity(double_up_approx_minus_i)) {
           // Let half = double_up_approx_minus_i / 2.
-          div2exp_assign_r(half, double_up_approx_minus_i, 1, ROUND_UP);
+          div_2exp_assign_r(half, double_up_approx_minus_i, 1, ROUND_UP);
           add_mul_assign_r(neg_sum, coeff_i, half, ROUND_UP);
         }
         else {
@@ -5596,7 +5820,7 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
         const N& double_up_approx_i = m_ci[n_i];
         if (!is_plus_infinity(double_up_approx_i)) {
           // Let half = double_up_approx_i / 2.
-          div2exp_assign_r(half, double_up_approx_i, 1, ROUND_UP);
+          div_2exp_assign_r(half, double_up_approx_i, 1, ROUND_UP);
           add_mul_assign_r(neg_sum, minus_coeff_i, half, ROUND_UP);
         }
         else {
@@ -5638,7 +5862,7 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
     if (neg_pinf_count == 0) {
       // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
       PPL_DIRTY_TEMP(N, double_neg_sum);
-      mul2exp_assign_r(double_neg_sum, neg_sum, 1, ROUND_IGNORE);
+      mul_2exp_assign_r(double_neg_sum, neg_sum, 1, ROUND_UP);
       matrix[n_var][n_var+1] = double_neg_sum;
       // Deduce constraints of the form `-v +/- u', where `u != v'.
       deduce_minus_v_pm_u_bounds(var_id, w_id, sc_expr, sc_den, neg_sum);
@@ -5666,7 +5890,7 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
       }
   }
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 
@@ -5703,7 +5927,7 @@ Octagonal_Shape<T>
                   "*this is an Octagonal_Shape");
 
   if (relsym == EQUAL) {
-    // The relation symbol is "==":
+    // The relation symbol is "=":
     // this is just an affine preimage computation.
     affine_preimage(var, expr, denominator);
     return;
@@ -5742,7 +5966,7 @@ Octagonal_Shape<T>
   // ...  otherwise, since the relation was not invertible,
   // we just forget all constraints on `var'.
   forget_all_octagonal_constraints(var_id);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -5878,7 +6102,7 @@ Octagonal_Shape<T>
       // Existentially quantify all variables in the lhs.
       // NOTE: enforce strong closure for precision.
       strong_closure_assign();
-      assert(!marked_empty());
+      PPL_ASSERT(!marked_empty());
       for (dimension_type i = lhs_vars.size(); i-- > 0; ) {
         dimension_type lhs_vars_i = lhs_vars[i].id();
         forget_all_octagonal_constraints(lhs_vars_i);
@@ -5908,7 +6132,7 @@ Octagonal_Shape<T>
       remove_higher_space_dimensions(space_dim-1);
     }
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -5968,7 +6192,7 @@ Octagonal_Shape<T>::bounded_affine_preimage(const Variable var,
   neg_assign(inverse_den, expr_v);
   affine_image(new_var, lb_inverse, inverse_den);
   strong_closure_assign();
-  assert(!marked_empty());
+  PPL_ASSERT(!marked_empty());
   generalized_affine_preimage(var, LESS_OR_EQUAL,
                               ub_expr, denominator);
   if (sgn(denominator) == sgn(inverse_den))
@@ -6148,35 +6372,35 @@ Octagonal_Shape<T>::expand_space_dimension(Variable var, dimension_type m) {
   // of the octagon.
   if (marked_strongly_closed())
     reset_strongly_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
 void
-Octagonal_Shape<T>::fold_space_dimensions(const Variables_Set& to_be_folded,
-                                          Variable var) {
-  // `var' should be one of the dimensions of the octagon.
-  if (var.space_dimension() > space_dim)
-    throw_dimension_incompatible("fold_space_dimensions(tbf, v)", "v", var);
+Octagonal_Shape<T>::fold_space_dimensions(const Variables_Set& vars,
+                                          Variable dest) {
+  // `dest' should be one of the dimensions of the octagon.
+  if (dest.space_dimension() > space_dim)
+    throw_dimension_incompatible("fold_space_dimensions(vs, v)", "v", dest);
 
   // The folding of no dimensions is a no-op.
-  if (to_be_folded.empty())
+  if (vars.empty())
     return;
 
-  // All variables in `to_be_folded' should be dimensions of the octagon.
-  if (to_be_folded.space_dimension() > space_dim)
-    throw_dimension_incompatible("fold_space_dimensions(tbf, ...)",
-                                 to_be_folded.space_dimension());
+  // All variables in `vars' should be dimensions of the octagon.
+  if (vars.space_dimension() > space_dim)
+    throw_dimension_incompatible("fold_space_dimensions(vs, v)",
+                                 vars.space_dimension());
 
-  // Moreover, `var.id()' should not occur in `to_be_folded'.
-  if (to_be_folded.find(var.id()) != to_be_folded.end())
-    throw_generic("fold_space_dimensions(tbf, v)",
-                  "v should not occur in tbf");
+  // Moreover, `dest.id()' should not occur in `vars'.
+  if (vars.find(dest.id()) != vars.end())
+    throw_generic("fold_space_dimensions(vs, v)",
+                  "v should not occur in vs");
 
   // Recompute the elements of the row and the column corresponding
-  // to variable `var' by taking the join of their value with the
+  // to variable `dest' by taking the join of their value with the
   // value of the corresponding elements in the row and column of the
-  // variable `to_be_folded'.
+  // variable `vars'.
   typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
   typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
 
@@ -6184,23 +6408,24 @@ Octagonal_Shape<T>::fold_space_dimensions(const Variables_Set& to_be_folded,
 
   strong_closure_assign();
   const dimension_type n_rows = matrix.num_rows();
-  const dimension_type n_var = 2*var.id();
-  Row_Iterator v_iter = m_begin + n_var;
+  const dimension_type n_dest = 2*dest.id();
+  Row_Iterator v_iter = m_begin + n_dest;
   Row_Reference m_v = *v_iter;
   Row_Reference m_cv = *(v_iter+1);
-  for (Variables_Set::const_iterator i = to_be_folded.begin(),
-         tbf_end = to_be_folded.end(); i != tbf_end; ++i) {
+  for (Variables_Set::const_iterator i = vars.begin(),
+         vs_end = vars.end(); i != vs_end; ++i) {
     const dimension_type tbf_id = *i;
     const dimension_type tbf_var = 2*tbf_id;
     Row_Iterator tbf_iter = m_begin + tbf_var;
     Row_Reference m_tbf = *tbf_iter;
     Row_Reference m_ctbf = *(tbf_iter+1);
-    max_assign(m_v[n_var+1], m_tbf[tbf_var+1]);
-    max_assign(m_cv[n_var], m_ctbf[tbf_var]);
+    max_assign(m_v[n_dest+1], m_tbf[tbf_var+1]);
+    max_assign(m_cv[n_dest], m_ctbf[tbf_var]);
 
-    const dimension_type min_id = std::min(n_var, tbf_var);
-    const dimension_type max_id = std::max(n_var, tbf_var);
+    const dimension_type min_id = std::min(n_dest, tbf_var);
+    const dimension_type max_id = std::max(n_dest, tbf_var);
 
+    using namespace Implementation::Octagonal_Shapes;
     for (dimension_type j = 0; j < min_id; ++j) {
       const dimension_type cj = coherent_index(j);
       max_assign(m_v[j], m_tbf[j]);
@@ -6213,11 +6438,11 @@ Octagonal_Shape<T>::fold_space_dimensions(const Variables_Set& to_be_folded,
       Row_Iterator j_iter = m_begin + j;
       Row_Reference m_j = *j_iter;
       Row_Reference m_cj = (j % 2 != 0) ? *(j_iter-1) : *(j_iter+1);
-      if (n_var == min_id) {
-        max_assign(m_cj[n_var+1], m_tbf[j]);
-        max_assign(m_cj[n_var], m_ctbf[j]);
-        max_assign(m_j[n_var], m_ctbf[cj]);
-        max_assign(m_j[n_var+1], m_tbf[cj]);
+      if (n_dest == min_id) {
+        max_assign(m_cj[n_dest+1], m_tbf[j]);
+        max_assign(m_cj[n_dest], m_ctbf[j]);
+        max_assign(m_j[n_dest], m_ctbf[cj]);
+        max_assign(m_j[n_dest+1], m_tbf[cj]);
       }
       else {
         max_assign(m_v[j], m_cj[tbf_var+1]);
@@ -6230,25 +6455,26 @@ Octagonal_Shape<T>::fold_space_dimensions(const Variables_Set& to_be_folded,
       Row_Iterator j_iter = m_begin + j;
       Row_Reference m_j = *j_iter;
       Row_Reference m_cj = (j % 2 != 0) ? *(j_iter-1) : *(j_iter+1);
-      max_assign(m_cj[n_var+1], m_cj[tbf_var+1]);
-      max_assign(m_cj[n_var], m_cj[tbf_var]);
-      max_assign(m_j[n_var], m_j[tbf_var]);
-      max_assign(m_j[n_var+1], m_j[tbf_var+1]);
+      max_assign(m_cj[n_dest+1], m_cj[tbf_var+1]);
+      max_assign(m_cj[n_dest], m_cj[tbf_var]);
+      max_assign(m_j[n_dest], m_j[tbf_var]);
+      max_assign(m_j[n_dest+1], m_j[tbf_var+1]);
     }
   }
-  remove_space_dimensions(to_be_folded);
+  remove_space_dimensions(vars);
 }
 
 template <typename T>
 bool
-Octagonal_Shape<T>
-::BHZ09_upper_bound_assign_if_exact(const Octagonal_Shape& y) {
+Octagonal_Shape<T>::upper_bound_assign_if_exact(const Octagonal_Shape& y) {
+  // FIXME, CHECKME: what about inexact computations?
+
   // Declare a const reference to *this (to avoid accidental modifications).
   const Octagonal_Shape& x = *this;
   const dimension_type x_space_dim = x.space_dimension();
 
-  // Private method: the caller must ensure the following.
-  assert(x_space_dim == y.space_dimension());
+  if (x_space_dim != y.space_dimension())
+    throw_dimension_incompatible("upper_bound_assign_if_exact(y)", y);
 
   // The zero-dim case is trivial.
   if (x_space_dim == 0) {
@@ -6268,8 +6494,8 @@ Octagonal_Shape<T>
   }
 
   // Here both `x' and `y' are known to be non-empty.
-  assert(x.marked_strongly_closed());
-  assert(y.marked_strongly_closed());
+  PPL_ASSERT(x.marked_strongly_closed());
+  PPL_ASSERT(y.marked_strongly_closed());
   // Pre-compute the upper bound of `x' and `y'.
   Octagonal_Shape<T> ub(x);
   ub.upper_bound_assign(y);
@@ -6296,6 +6522,7 @@ Octagonal_Shape<T>
 
   for (dimension_type i = n_rows; i-- > 0; ) {
     const Bit_Row& x_non_red_i = x_non_red[i];
+    using namespace Implementation::Octagonal_Shapes;
     const dimension_type ci = coherent_index(i);
     const dimension_type row_size_i = OR_Matrix<N>::row_size(i);
     Row_Reference x_i = *(x_m_begin + i);
@@ -6385,10 +6612,289 @@ Octagonal_Shape<T>
 
   // The upper bound of x and y is indeed exact.
   swap(ub);
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
+template <typename T>
+bool
+Octagonal_Shape<T>
+::integer_upper_bound_assign_if_exact(const Octagonal_Shape& y) {
+  PPL_COMPILE_TIME_CHECK(std::numeric_limits<T>::is_integer,
+                         "Octagonal_Shape<T>::"
+                         "integer_upper_bound_assign_if_exact(y):"
+                         " T in not an integer datatype.");
+  // Declare a const reference to *this (to avoid accidental modifications).
+  const Octagonal_Shape& x = *this;
+  const dimension_type x_space_dim = x.space_dimension();
+
+  if (x_space_dim != y.space_dimension())
+    throw_dimension_incompatible("integer_upper_bound_assign_if_exact(y)", y);
+
+  // The zero-dim case is trivial.
+  if (x_space_dim == 0) {
+    upper_bound_assign(y);
+    return true;
+  }
+
+  // If `x' or `y' is (known to) contain no integral point,
+  // then the integer upper bound can be computed exactly by tight closure.
+  if (x.marked_empty()) {
+    *this = y;
+    tight_closure_assign();
+    return true;
+  }
+  else if (y.marked_empty()) {
+    tight_closure_assign();
+    return true;
+  }
+  else if (x.is_empty() || x.tight_coherence_would_make_empty()) {
+    *this = y;
+    tight_closure_assign();
+    return true;
+  }
+  else if (y.is_empty() || y.tight_coherence_would_make_empty()) {
+    tight_closure_assign();
+    return true;
+  }
+
+  // Here both `x' and `y' are known to be non-empty (and Z-consistent).
+  PPL_ASSERT(x.marked_strongly_closed());
+  PPL_ASSERT(y.marked_strongly_closed());
+  // Pre-compute the integer upper bound of `x' and `y':
+  // have to take copies, since tight closure might modify the rational shape.
+  Octagonal_Shape<T> tx(x);
+  tx.tight_closure_assign();
+  Octagonal_Shape<T> ty(y);
+  ty.tight_closure_assign();
+  Octagonal_Shape<T> ub(tx);
+  ub.upper_bound_assign(ty);
+
+  // Compute redundancy information for tx and ty.
+  // TODO: provide a nicer data structure for redundancy.
+  // NOTE: there is no need to identify all redundancies, since this is
+  // an optimization; hence we reuse the strong-reduction helper methods.
+  std::vector<Bit_Row> tx_non_red;
+  tx.non_redundant_matrix_entries(tx_non_red);
+  std::vector<Bit_Row> ty_non_red;
+  ty.non_redundant_matrix_entries(ty_non_red);
+
+  PPL_DIRTY_TEMP(N, lhs_i_j);
+  PPL_DIRTY_TEMP(N, lhs_k_ell);
+  PPL_DIRTY_TEMP(N, lhs);
+  PPL_DIRTY_TEMP(N, lhs_copy);
+  PPL_DIRTY_TEMP(N, rhs);
+  PPL_DIRTY_TEMP(N, temp_zero);
+  assign_r(temp_zero, 0, ROUND_NOT_NEEDED);
+  PPL_DIRTY_TEMP(N, temp_one);
+  assign_r(temp_one, 1, ROUND_NOT_NEEDED);
+  PPL_DIRTY_TEMP(N, temp_two);
+  assign_r(temp_two, 2, ROUND_NOT_NEEDED);
+
+  typedef typename OR_Matrix<N>::const_row_iterator Row_Iterator;
+  typedef typename OR_Matrix<N>::const_row_reference_type Row_Reference;
+  const dimension_type n_rows = tx.matrix.num_rows();
+  const Row_Iterator tx_m_begin = tx.matrix.row_begin();
+  const Row_Iterator ty_m_begin = ty.matrix.row_begin();
+  const Row_Iterator ub_m_begin = ub.matrix.row_begin();
+
+  for (dimension_type i = n_rows; i-- > 0; ) {
+    const Bit_Row& tx_non_red_i = tx_non_red[i];
+    using namespace Implementation::Octagonal_Shapes;
+    const dimension_type ci = coherent_index(i);
+    const dimension_type row_size_i = OR_Matrix<N>::row_size(i);
+    Row_Reference tx_i = *(tx_m_begin + i);
+    Row_Reference ty_i = *(ty_m_begin + i);
+    Row_Reference ub_i = *(ub_m_begin + i);
+    const N& ub_i_ci = ub_i[ci];
+    for (dimension_type j = row_size_i; j-- > 0; ) {
+      // Check redundancy of tx_i_j.
+      if (!tx_non_red_i[j])
+        continue;
+      const N& tx_i_j = tx_i[j];
+      const dimension_type cj = coherent_index(j);
+      const N& eps_i_j = (i == cj) ? temp_two : temp_one;
+      // Check condition 1a in BHZ09 Theorem 6.8.
+      add_assign_r(lhs_i_j, tx_i_j, eps_i_j, ROUND_NOT_NEEDED);
+      if (lhs_i_j > ty_i[j])
+        continue;
+      const dimension_type row_size_cj = OR_Matrix<N>::row_size(cj);
+      Row_Reference ub_cj = *(ub_m_begin + cj);
+      const N& ub_cj_j = ub_cj[j];
+      for (dimension_type k = 0; k < n_rows; ++k) {
+        const Bit_Row& ty_non_red_k = ty_non_red[k];
+        const dimension_type ck = coherent_index(k);
+        const dimension_type row_size_k = OR_Matrix<N>::row_size(k);
+        Row_Reference tx_k = *(tx_m_begin + k);
+        Row_Reference ty_k = *(ty_m_begin + k);
+        Row_Reference ub_k = *(ub_m_begin + k);
+        const N& ub_k_ck = ub_k[ck];
+        // Be careful: for each index h, the diagonal element m[h][h]
+        // is (by convention) +infty in our implementation; however,
+        // BHZ09 theorem assumes that it is equal to 0.
+        const N& ub_k_j = (k == j) ? temp_zero
+          : (j < row_size_k ? ub_k[j] : ub_cj[ck]);
+        const N& ub_i_ck = (i == ck) ? temp_zero
+          : (ck < row_size_i ? ub_i[ck] : ub_k[ci]);
+
+        for (dimension_type ell = row_size_k; ell-- > 0; ) {
+          // Check redundancy of y_k_ell.
+          if (!ty_non_red_k[ell])
+            continue;
+          const N& ty_k_ell = ty_k[ell];
+          const dimension_type cell = coherent_index(ell);
+          const N& eps_k_ell = (k == cell) ? temp_two : temp_one;
+          // Check condition 1b in BHZ09 Theorem 6.8.
+          add_assign_r(lhs_k_ell, ty_k_ell, eps_k_ell, ROUND_NOT_NEEDED);
+          if (lhs_k_ell > tx_k[ell])
+            continue;
+          Row_Reference ub_cell = *(ub_m_begin + cell);
+          const N& ub_i_ell = (i == ell) ? temp_zero
+            : (ell < row_size_i ? ub_i[ell] : ub_cell[ci]);
+          const N& ub_cj_ell = (cj == ell) ? temp_zero
+            : (ell < row_size_cj ? ub_cj[ell] : ub_cell[j]);
+          // Check condition 2a in BHZ09 Theorem 6.8.
+          add_assign_r(lhs, lhs_i_j, lhs_k_ell, ROUND_NOT_NEEDED);
+          add_assign_r(rhs, ub_i_ell, ub_k_j, ROUND_NOT_NEEDED);
+          if (lhs > rhs)
+            continue;
+          // Check condition 2b in BHZ09 Theorem 6.8.
+          add_assign_r(rhs, ub_i_ck, ub_cj_ell, ROUND_NOT_NEEDED);
+          if (lhs > rhs)
+            continue;
+          // Check condition 3a in BHZ09 Theorem 6.8.
+          assign_r(lhs_copy, lhs, ROUND_NOT_NEEDED);
+          add_assign_r(lhs, lhs, lhs_i_j, ROUND_NOT_NEEDED);
+          add_assign_r(rhs, ub_i_ell, ub_i_ck, ROUND_NOT_NEEDED);
+          add_assign_r(rhs, rhs, ub_cj_j, ROUND_NOT_NEEDED);
+          if (lhs > rhs)
+            continue;
+          // Check condition 3b in BHZ09 Theorem 6.8.
+          add_assign_r(rhs, ub_k_j, ub_cj_ell, ROUND_NOT_NEEDED);
+          add_assign_r(rhs, rhs, ub_i_ci, ROUND_NOT_NEEDED);
+          if (lhs > rhs)
+            continue;
+          // Check condition 4a in BHZ09 Theorem 6.8.
+          add_assign_r(lhs, lhs_copy, lhs_k_ell, ROUND_NOT_NEEDED);
+          add_assign_r(rhs, ub_i_ell, ub_cj_ell, ROUND_NOT_NEEDED);
+          add_assign_r(rhs, rhs, ub_k_ck, ROUND_NOT_NEEDED);
+          if (lhs > rhs)
+            continue;
+          // Check condition 4b in BHZ09 Theorem 6.8.
+          add_assign_r(rhs, ub_k_j, ub_i_ck, ROUND_NOT_NEEDED);
+          add_assign_r(rhs, rhs, ub_cell[ell], ROUND_NOT_NEEDED);
+          if (lhs <= rhs)
+            // All 8 conditions are satisfied:
+            // integer upper bound is not exact.
+            return false;
+        }
+      }
+    }
+  }
+
+  // The upper bound of x and y is indeed exact.
+  swap(ub);
+  PPL_ASSERT(OK());
+  return true;
+}
+
+template <typename T>
+void
+Octagonal_Shape<T>::drop_some_non_integer_points(Complexity_Class) {
+  if (std::numeric_limits<T>::is_integer)
+    return;
+
+  const dimension_type space_dim = space_dimension();
+  strong_closure_assign();
+  if (space_dim == 0 || marked_empty())
+    return;
+
+  for (typename OR_Matrix<N>::element_iterator i = matrix.element_begin(),
+         i_end = matrix.element_end(); i != i_end; ++i)
+    drop_some_non_integer_points_helper(*i);
+
+  // Unary constraints should have an even integer boundary.
+  PPL_DIRTY_TEMP(N, temp_one);
+  assign_r(temp_one, 1, ROUND_NOT_NEEDED);
+  for (dimension_type i = 0; i < 2*space_dim; i += 2) {
+    const dimension_type ci = i+1;
+    N& mat_i_ci = matrix[i][ci];
+    if (!is_plus_infinity(mat_i_ci) && !is_even(mat_i_ci)) {
+      sub_assign_r(mat_i_ci, mat_i_ci, temp_one, ROUND_UP);
+      reset_strongly_closed();
+    }
+    N& mat_ci_i = matrix[ci][i];
+    if (!is_plus_infinity(mat_ci_i) && !is_even(mat_ci_i)) {
+      sub_assign_r(mat_ci_i, mat_ci_i, temp_one, ROUND_UP);
+      reset_strongly_closed();
+    }
+  }
+
+  PPL_ASSERT(OK());
+}
+
+template <typename T>
+void
+Octagonal_Shape<T>
+::drop_some_non_integer_points(const Variables_Set& vars,
+                               Complexity_Class) {
+  // Dimension-compatibility check.
+  const dimension_type min_space_dim = vars.space_dimension();
+  if (space_dimension() < min_space_dim)
+    throw_dimension_incompatible("drop_some_non_integer_points(vs, cmpl)",
+                                 min_space_dim);
+
+  if (std::numeric_limits<T>::is_integer || min_space_dim == 0)
+    return;
+
+  strong_closure_assign();
+  if (marked_empty())
+    return;
+
+  PPL_DIRTY_TEMP(N, temp_one);
+  assign_r(temp_one, 1, ROUND_NOT_NEEDED);
+
+  const Variables_Set::const_iterator v_begin = vars.begin();
+  const Variables_Set::const_iterator v_end = vars.end();
+  PPL_ASSERT(v_begin != v_end);
+  typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
+  for (Variables_Set::const_iterator v_i = v_begin; v_i != v_end; ++v_i) {
+    const dimension_type i = 2 * (*v_i);
+    const dimension_type ci = i + 1;
+    Row_Reference m_i = matrix[i];
+    Row_Reference m_ci = matrix[ci];
+
+    // Unary constaints: should be even integers.
+    N& m_i_ci = m_i[ci];
+    if (!is_plus_infinity(m_i_ci)) {
+      drop_some_non_integer_points_helper(m_i_ci);
+      if (!is_even(m_i_ci)) {
+        sub_assign_r(m_i_ci, m_i_ci, temp_one, ROUND_UP);
+        reset_strongly_closed();
+      }
+    }
+    N& m_ci_i = m_ci[i];
+    if (!is_plus_infinity(m_ci_i)) {
+      drop_some_non_integer_points_helper(m_ci_i);
+      if (!is_even(m_ci_i)) {
+        sub_assign_r(m_ci_i, m_ci_i, temp_one, ROUND_UP);
+        reset_strongly_closed();
+      }
+    }
+
+    // Binary constraints (note: only consider j < i).
+    for (Variables_Set::const_iterator v_j = v_begin; v_j != v_i; ++v_j) {
+      const dimension_type j = 2 * (*v_j);
+      const dimension_type cj = j + 1;
+      drop_some_non_integer_points_helper(m_i[j]);
+      drop_some_non_integer_points_helper(m_i[cj]);
+      drop_some_non_integer_points_helper(m_ci[j]);
+      drop_some_non_integer_points_helper(m_ci[cj]);
+    }
+  }
+  PPL_ASSERT(OK());
+}
+
 /*! \relates Parma_Polyhedra_Library::Octagonal_Shape */
 template <typename T>
 std::ostream&
@@ -6428,17 +6934,17 @@ IO_Operators::operator<<(std::ostream& s, const Octagonal_Shape<T>& x) {
     // Check whether or not it is an equality constraint.
     if (is_additive_inverse(x_i_ii, x_ii_i)) {
       // It is an equality.
-      assert(!is_plus_infinity(x_i_ii) && !is_plus_infinity(x_ii_i));
+      PPL_ASSERT(!is_plus_infinity(x_i_ii) && !is_plus_infinity(x_ii_i));
       if (first)
         first = false;
       else
         s << ", ";
       // If the value bound can NOT be divided by 2 exactly,
-      // then we output the constraint `2*v_i == bound'.
-      if (div2exp_assign_r(half, x_ii_i, 1, ROUND_UP) == V_EQ)
-        s << v_i << " == " << half;
+      // then we output the constraint `2*v_i = bound'.
+      if (div_2exp_assign_r(half, x_ii_i, 1, ROUND_UP | ROUND_STRICT_RELATION) == V_EQ)
+        s << v_i << " = " << half;
       else
-        s << "2*" << v_i << " == " << x_ii_i;
+        s << "2*" << v_i << " = " << x_ii_i;
     }
     else {
       // We will print unary non-strict inequalities, if any.
@@ -6450,7 +6956,7 @@ IO_Operators::operator<<(std::ostream& s, const Octagonal_Shape<T>& x) {
         neg_assign_r(negation, x_i_ii, ROUND_NOT_NEEDED);
         // If the value bound can NOT be divided by 2 exactly,
         // then we output the constraint `2*v_i >= negation'.
-        if (div2exp_assign_r(half, negation, 1, ROUND_UP) == V_EQ)
+        if (div_2exp_assign_r(half, negation, 1, ROUND_UP | ROUND_STRICT_RELATION) == V_EQ)
           s << v_i << " >= " << half;
         else
           s << "2*" << v_i << " >= " << negation;
@@ -6462,7 +6968,7 @@ IO_Operators::operator<<(std::ostream& s, const Octagonal_Shape<T>& x) {
           s << ", ";
         // If the value bound can NOT be divided by 2 exactly,
         // then we output the constraint `2*v_i <= bound'.
-        if (div2exp_assign_r(half, x_ii_i, 1, ROUND_UP) == V_EQ)
+        if (div_2exp_assign_r(half, x_ii_i, 1, ROUND_UP | ROUND_STRICT_RELATION) == V_EQ)
           s << v_i << " <= " << half;
         else
           s << "2*" << v_i << " <= " << x_ii_i;
@@ -6488,15 +6994,15 @@ IO_Operators::operator<<(std::ostream& s, const Octagonal_Shape<T>& x) {
       // Check whether or not it is an equality constraint.
       if (is_additive_inverse(x_ii_jj, x_i_j)) {
         // It is an equality.
-        assert(!is_plus_infinity(x_i_j) && !is_plus_infinity(x_ii_jj));
+        PPL_ASSERT(!is_plus_infinity(x_i_j) && !is_plus_infinity(x_ii_jj));
         if (first)
           first = false;
         else
           s << ", ";
         if (sgn(x_i_j) >= 0)
-          s << v_j << " - " << v_i << " == " << x_i_j;
+          s << v_j << " - " << v_i << " = " << x_i_j;
         else
-          s << v_i << " - " << v_j << " == " << x_ii_jj;
+          s << v_i << " - " << v_j << " = " << x_ii_jj;
       }
       else {
         // We will print non-strict inequalities, if any.
@@ -6531,12 +7037,12 @@ IO_Operators::operator<<(std::ostream& s, const Octagonal_Shape<T>& x) {
       // Check whether or not it is an equality constraint.
       if (is_additive_inverse(x_i_jj, x_ii_j)) {
         // It is an equality.
-        assert(!is_plus_infinity(x_i_jj) && !is_plus_infinity(x_ii_j));
+        PPL_ASSERT(!is_plus_infinity(x_i_jj) && !is_plus_infinity(x_ii_j));
         if (first)
           first = false;
         else
           s << ", ";
-        s << v_j << " + " << v_i << " == " << x_ii_j;
+        s << v_j << " + " << v_i << " = " << x_ii_j;
       }
       else {
         // We will print non-strict inequalities, if any.
@@ -6591,7 +7097,7 @@ Octagonal_Shape<T>::ascii_load(std::istream& s) {
   if (!matrix.ascii_load(s))
     return false;
 
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
@@ -6779,7 +7285,6 @@ Octagonal_Shape<T>
   throw std::invalid_argument(s.str());
 }
 
-
 template <typename T>
 void
 Octagonal_Shape<T>::throw_generic(const char* method,
diff --git a/src/Octagonal_Shape.types.hh b/src/Octagonal_Shape.types.hh
index 7781bc8..9e8e464 100644
--- a/src/Octagonal_Shape.types.hh
+++ b/src/Octagonal_Shape.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Og_Status.idefs.hh b/src/Og_Status.idefs.hh
index e5e1d73..76fbf5e 100644
--- a/src/Og_Status.idefs.hh
+++ b/src/Og_Status.idefs.hh
@@ -1,5 +1,5 @@
 /* Octagonal_Shape<T>::Status class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Og_Status.inlines.hh b/src/Og_Status.inlines.hh
index 9c339a5..cb5ce2d 100644
--- a/src/Og_Status.inlines.hh
+++ b/src/Og_Status.inlines.hh
@@ -1,5 +1,5 @@
 /* Octagonal_Shape<T>::Status class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -216,7 +216,7 @@ Octagonal_Shape<T>::Status::ascii_load(std::istream& s) {
     reset_strongly_closed();
 
   // Check invariants.
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
diff --git a/src/PIP_Problem.cc b/src/PIP_Problem.cc
new file mode 100644
index 0000000..1acb759
--- /dev/null
+++ b/src/PIP_Problem.cc
@@ -0,0 +1,727 @@
+/* PIP_Problem class implementation: non-inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include <ppl-config.h>
+#include "PIP_Problem.defs.hh"
+#include "PIP_Tree.defs.hh"
+
+namespace PPL = Parma_Polyhedra_Library;
+
+/*! \relates Parma_Polyhedra_Library::PIP_Problem */
+std::ostream&
+PPL::IO_Operators::operator<<(std::ostream& s, const PIP_Problem& pip) {
+  s << "Space dimension: " << pip.space_dimension();
+  s << "\nConstraints:";
+  for (PIP_Problem::const_iterator i = pip.constraints_begin(),
+	 i_end = pip.constraints_end(); i != i_end; ++i)
+    s << "\n" << *i;
+  s << "\nProblem parameters: " << pip.parameter_space_dimensions();
+  if (pip.get_big_parameter_dimension() == not_a_dimension())
+    s << "\nNo big-parameter set.\n";
+  else
+    s << "\nBig-parameter: " << Variable(pip.get_big_parameter_dimension());
+  s << "\n";
+  return s;
+}
+
+PPL::PIP_Problem::PIP_Problem(const dimension_type dim)
+  : external_space_dim(dim),
+    internal_space_dim(0),
+    status(PARTIALLY_SATISFIABLE),
+    current_solution(0),
+    input_cs(),
+    first_pending_constraint(0),
+    parameters(),
+    initial_context(),
+    big_parameter_dimension(not_a_dimension()) {
+  // Check for space dimension overflow.
+  if (dim > max_space_dimension())
+    throw std::length_error("PPL::PIP_Problem::PIP_Problem(dim):\n"
+                            "dim exceeds the maximum allowed "
+                            "space dimension.");
+  control_parameters_init();
+  PPL_ASSERT(OK());
+}
+
+PPL::PIP_Problem::PIP_Problem(const PIP_Problem &y)
+  : external_space_dim(y.external_space_dim),
+    internal_space_dim(y.internal_space_dim),
+    status(y.status),
+    current_solution(0),
+    input_cs(y.input_cs),
+    first_pending_constraint(y.first_pending_constraint),
+    parameters(y.parameters),
+    initial_context(y.initial_context),
+    big_parameter_dimension(y.big_parameter_dimension) {
+  if (y.current_solution != 0) {
+    current_solution = y.current_solution->clone();
+    current_solution->set_owner(this);
+  }
+  control_parameters_copy(y);
+  PPL_ASSERT(OK());
+}
+
+PPL::PIP_Problem::~PIP_Problem() {
+  delete current_solution;
+}
+
+void
+PPL::PIP_Problem::control_parameters_init() {
+  control_parameters[CUTTING_STRATEGY] = CUTTING_STRATEGY_FIRST;
+  control_parameters[PIVOT_ROW_STRATEGY] = PIVOT_ROW_STRATEGY_FIRST;
+}
+
+void
+PPL::PIP_Problem::control_parameters_copy(const PIP_Problem& y) {
+  for (dimension_type i = CONTROL_PARAMETER_NAME_SIZE; i-- > 0; )
+    control_parameters[i] = y.control_parameters[i];
+}
+
+PPL::PIP_Problem_Status
+PPL::PIP_Problem::solve() const {
+  switch (status) {
+
+  case UNSATISFIABLE:
+    PPL_ASSERT(OK());
+    return UNFEASIBLE_PIP_PROBLEM;
+
+  case OPTIMIZED:
+    PPL_ASSERT(OK());
+    return OPTIMIZED_PIP_PROBLEM;
+
+  case PARTIALLY_SATISFIABLE:
+    {
+      PIP_Problem& x = const_cast<PIP_Problem&>(*this);
+      // Allocate PIP solution tree root, if needed.
+      if (current_solution == 0)
+        x.current_solution = new PIP_Solution_Node(this);
+
+      // Properly resize context matrix.
+      const dimension_type new_num_cols = parameters.size() + 1;
+      const dimension_type old_num_cols = initial_context.num_columns();
+      if (old_num_cols < new_num_cols)
+        x.initial_context.add_zero_columns(new_num_cols - old_num_cols);
+
+      // Computed once for all (to be used inside loop).
+      const Variables_Set::const_iterator param_begin = parameters.begin();
+      const Variables_Set::const_iterator param_end = parameters.end();
+
+      // This flag will be set if we insert a pending constraint
+      // in the initial context.
+      bool check_feasible_context = false;
+
+      // Go through all pending constraints.
+      for (Constraint_Sequence::const_iterator
+             cs_i = input_cs.begin() + first_pending_constraint,
+             cs_end = input_cs.end(); cs_i != cs_end; ++cs_i) {
+        const Constraint& c = *cs_i;
+        const dimension_type c_space_dim = c.space_dimension();
+        PPL_ASSERT(external_space_dim >= c_space_dim);
+
+        // Check if constraint has a non-zero variable coefficient.
+        bool has_nonzero_variable_coefficient = false;
+        for (dimension_type i = c_space_dim; i-- > 0; ) {
+          if (c.coefficient(Variable(i)) != 0
+              && parameters.count(i) == 0) {
+            has_nonzero_variable_coefficient = true;
+            break;
+          }
+        }
+        // Constraints having a non-zero variable coefficient
+        // should not be inserted in context.
+        if (has_nonzero_variable_coefficient)
+          continue;
+
+        check_feasible_context = true;
+
+        // Translate constraint into context row.
+        Row row(new_num_cols, Row::Flags());
+        row[0] = c.inhomogeneous_term();
+        {
+          dimension_type i = 1;
+          for (Variables_Set::const_iterator
+                 pi = param_begin; pi != param_end; ++pi, ++i) {
+            if (*pi < c_space_dim)
+              row[i] = c.coefficient(Variable(*pi));
+            else
+              break;
+          }
+        }
+        // Adjust inhomogenous term if strict.
+        if (c.is_strict_inequality())
+          --row[0];
+
+        // Insert new row into initial context.
+        x.initial_context.add_row(row);
+
+        // If it is an equality, also insert its negation.
+        if (c.is_equality()) {
+          for (dimension_type i = new_num_cols; i-- > 0; )
+            neg_assign(row[i], row[i]);
+
+          // Insert new row into initial context.
+          x.initial_context.add_row(row);
+        }
+      }
+
+      if (check_feasible_context) {
+        // Check for feasibility of initial context.
+        Matrix ctx_copy(initial_context);
+        if (!PIP_Solution_Node::compatibility_check(ctx_copy)) {
+          // Problem found to be unfeasible.
+          delete x.current_solution;
+          x.current_solution = 0;
+          x.status = UNSATISFIABLE;
+          PPL_ASSERT(OK());
+          return UNFEASIBLE_PIP_PROBLEM;
+        }
+      }
+
+      // Update tableau and mark constraints as no longer pending.
+      x.current_solution->update_tableau(*this,
+                                         external_space_dim,
+                                         first_pending_constraint,
+                                         input_cs,
+                                         parameters);
+      x.internal_space_dim = external_space_dim;
+      x.first_pending_constraint = input_cs.size();
+
+      // Actually solve problem.
+      x.current_solution = x.current_solution->solve(*this,
+                                                     check_feasible_context,
+                                                     initial_context,
+                                                     parameters,
+                                                     external_space_dim);
+      // Update problem status.
+      x.status = (x.current_solution) ? OPTIMIZED : UNSATISFIABLE;
+
+      PPL_ASSERT(OK());
+      return (x.current_solution)
+        ? OPTIMIZED_PIP_PROBLEM
+        : UNFEASIBLE_PIP_PROBLEM;
+    } // End of handler for PARTIALLY_SATISFIABLE case.
+
+  } // End of switch.
+
+  // We should not be here!
+  throw std::runtime_error("PPL internal error");
+}
+
+PPL::PIP_Tree
+PPL::PIP_Problem::solution() const {
+  if (status == PARTIALLY_SATISFIABLE)
+    solve();
+  return current_solution;
+}
+
+PPL::PIP_Tree
+PPL::PIP_Problem::optimizing_solution() const {
+  if (status == PARTIALLY_SATISFIABLE)
+    solve();
+  return current_solution;
+}
+
+bool
+PPL::PIP_Problem::OK() const {
+#ifndef NDEBUG
+  using std::endl;
+  using std::cerr;
+#endif
+
+  if (external_space_dim < internal_space_dim) {
+#ifndef NDEBUG
+      cerr << "The internal space dimension of the PIP_Problem is "
+	   << "greater than its external space dimension."
+	   << endl;
+      ascii_dump(cerr);
+#endif
+      return false;
+    }
+
+  // Constraint system should be OK.
+  const dimension_type input_cs_num_rows = input_cs.size();
+  for (dimension_type i = input_cs_num_rows; i-- > 0; )
+    if (!input_cs[i].OK())
+      return false;
+
+  // Constraint system should be space dimension compatible.
+  for (dimension_type i = input_cs_num_rows; i-- > 0; ) {
+    if (input_cs[i].space_dimension() > external_space_dim) {
+#ifndef NDEBUG
+      cerr << "The space dimension of the PIP_Problem is smaller than "
+           << "the space dimension of one of its constraints."
+	   << endl;
+      ascii_dump(cerr);
+#endif
+      return false;
+    }
+  }
+
+  // Test validity of control parameter values.
+  Control_Parameter_Value strategy = control_parameters[CUTTING_STRATEGY];
+  if (strategy != CUTTING_STRATEGY_FIRST
+      && strategy != CUTTING_STRATEGY_DEEPEST
+      && strategy != CUTTING_STRATEGY_ALL) {
+#ifndef NDEBUG
+    cerr << "Invalid value for the CUTTING_STRATEGY control parameter."
+	 << endl;
+    ascii_dump(cerr);
+#endif
+    return false;
+  }
+
+  strategy = control_parameters[PIVOT_ROW_STRATEGY];
+  if (strategy < PIVOT_ROW_STRATEGY_FIRST
+      || strategy > PIVOT_ROW_STRATEGY_MAX_COLUMN) {
+#ifndef NDEBUG
+    cerr << "Invalid value for the PIVOT_ROW_STRATEGY control parameter."
+        << endl;
+    ascii_dump(cerr);
+#endif
+    return false;
+  }
+
+  if (big_parameter_dimension != not_a_dimension()
+      && parameters.count(big_parameter_dimension) == 0) {
+#ifndef NDEBUG
+    cerr << "The big parameter is set, but it is not a parameter." << endl;
+    ascii_dump(cerr);
+#endif
+    return false;
+  }
+
+  if (!parameters.OK())
+    return false;
+  if (!initial_context.OK())
+    return false;
+
+  if (current_solution) {
+    // Check well formedness of the solution tree.
+    if (!current_solution->OK()) {
+#ifndef NDEBUG
+      cerr << "The computed solution tree is broken.\n";
+      ascii_dump(cerr);
+#endif
+      return false;
+    }
+    // Check that all nodes in the solution tree belong to *this.
+    if (!current_solution->check_ownership(this)) {
+#ifndef NDEBUG
+      cerr << "There are nodes in the solution tree "
+           << "that are not owned by *this.\n";
+      ascii_dump(cerr);
+#endif
+      return false;
+    }
+  }
+
+  // All checks passed.
+  return true;
+}
+
+void
+PPL::PIP_Problem::ascii_dump(std::ostream& s) const {
+  using namespace IO_Operators;
+  s << "\nexternal_space_dim: " << external_space_dim << "\n";
+  s << "\ninternal_space_dim: " << internal_space_dim << "\n";
+
+  const dimension_type input_cs_size = input_cs.size();
+
+  s << "\ninput_cs( " << input_cs_size << " )\n";
+  for (dimension_type i = 0; i < input_cs_size; ++i)
+    input_cs[i].ascii_dump(s);
+
+  s << "\nfirst_pending_constraint: " <<  first_pending_constraint << "\n";
+
+  s << "\nstatus: ";
+  switch (status) {
+  case UNSATISFIABLE:
+    s << "UNSATISFIABLE";
+    break;
+  case OPTIMIZED:
+    s << "OPTIMIZED";
+    break;
+  case PARTIALLY_SATISFIABLE:
+    s << "PARTIALLY_SATISFIABLE";
+    break;
+  }
+  s << "\n";
+
+  s << "\nparameters";
+  parameters.ascii_dump(s);
+
+  s << "\ninitial_context\n";
+  initial_context.ascii_dump(s);
+
+  s << "\ncontrol_parameters\n";
+  for (dimension_type i = 0; i < CONTROL_PARAMETER_NAME_SIZE; ++i) {
+    Control_Parameter_Value value = control_parameters[i];
+    switch (value) {
+    case CUTTING_STRATEGY_FIRST:
+      s << "CUTTING_STRATEGY_FIRST";
+      break;
+    case CUTTING_STRATEGY_DEEPEST:
+      s << "CUTTING_STRATEGY_DEEPEST";
+      break;
+    case CUTTING_STRATEGY_ALL:
+      s << "CUTTING_STRATEGY_ALL";
+      break;
+    case PIVOT_ROW_STRATEGY_FIRST:
+      s << "PIVOT_ROW_STRATEGY_FIRST";
+      break;
+    case PIVOT_ROW_STRATEGY_MAX_COLUMN:
+      s << "PIVOT_ROW_STRATEGY_MAX_COLUMN";
+      break;
+    default:
+      s << "Invalid control parameter value";
+    }
+    s << "\n";
+  }
+
+  s << "\nbig_parameter_dimension: " << big_parameter_dimension << "\n";
+
+  s << "\ncurrent_solution: ";
+  if (current_solution == 0)
+    s << "BOTTOM\n";
+  else if (const PIP_Decision_Node* dec = current_solution->as_decision()) {
+    s << "DECISION\n";
+    dec->ascii_dump(s);
+  }
+  else {
+    const PIP_Solution_Node* sol = current_solution->as_solution();
+    PPL_ASSERT(sol != 0);
+    s << "SOLUTION\n";
+    sol->ascii_dump(s);
+  }
+}
+
+PPL_OUTPUT_DEFINITIONS(PIP_Problem)
+
+bool
+PPL::PIP_Problem::ascii_load(std::istream& s) {
+  std::string str;
+  if (!(s >> str) || str != "external_space_dim:")
+    return false;
+
+  if (!(s >> external_space_dim))
+    return false;
+
+  if (!(s >> str) || str != "internal_space_dim:")
+    return false;
+
+  if (!(s >> internal_space_dim))
+    return false;
+
+  if (!(s >> str) || str != "input_cs(")
+    return false;
+
+  dimension_type input_cs_size;
+
+  if (!(s >> input_cs_size))
+    return false;
+
+  if (!(s >> str) || str != ")")
+    return false;
+
+  Constraint c(Constraint::zero_dim_positivity());
+  for (dimension_type i = 0; i < input_cs_size; ++i) {
+    if (!c.ascii_load(s))
+      return false;
+    input_cs.push_back(c);
+  }
+
+  if (!(s >> str) || str != "first_pending_constraint:")
+    return false;
+
+  if (!(s >> first_pending_constraint))
+    return false;
+
+  if (!(s >> str) || str != "status:")
+    return false;
+
+  if (!(s >> str))
+    return false;
+
+  if (str == "UNSATISFIABLE")
+    status = UNSATISFIABLE;
+  else if (str == "OPTIMIZED")
+    status = OPTIMIZED;
+  else if (str == "PARTIALLY_SATISFIABLE")
+    status = PARTIALLY_SATISFIABLE;
+  else
+    return false;
+
+  if (!(s >> str) || str != "parameters")
+    return false;
+
+  if (!parameters.ascii_load(s))
+    return false;
+
+  if (!(s >> str) || str != "initial_context")
+    return false;
+
+  if (!initial_context.ascii_load(s))
+    return false;
+
+  if (!(s >> str) || str != "control_parameters")
+    return false;
+
+  for (dimension_type i = 0; i < CONTROL_PARAMETER_NAME_SIZE; ++i) {
+    if (!(s >> str))
+      return false;
+    Control_Parameter_Value value;
+    if (str == "CUTTING_STRATEGY_FIRST")
+      value = CUTTING_STRATEGY_FIRST;
+    else if (str == "CUTTING_STRATEGY_DEEPEST")
+      value = CUTTING_STRATEGY_DEEPEST;
+    else if (str == "CUTTING_STRATEGY_ALL")
+      value = CUTTING_STRATEGY_ALL;
+    else if (str == "PIVOT_ROW_STRATEGY_FIRST")
+      value = PIVOT_ROW_STRATEGY_FIRST;
+    else if (str == "PIVOT_ROW_STRATEGY_MAX_COLUMN")
+      value = PIVOT_ROW_STRATEGY_MAX_COLUMN;
+    else
+      return false;
+    control_parameters[i] = value;
+  }
+
+  if (!(s >> str) || str != "big_parameter_dimension:")
+    return false;
+  if (!(s >> big_parameter_dimension))
+    return false;
+
+  // Release current_solution tree (if any).
+  delete current_solution;
+  current_solution = 0;
+  // Load current_solution (if any).
+  if (!(s >> str) || str != "current_solution:")
+    return false;
+  if (!(s >> str))
+    return false;
+  if (str == "BOTTOM")
+    current_solution = 0;
+  else if (str == "DECISION") {
+    PIP_Decision_Node* dec = new PIP_Decision_Node(0, 0, 0);
+    current_solution = dec;
+    if (!dec->ascii_load(s))
+      return false;
+    dec->set_owner(this);
+  }
+  else if (str == "SOLUTION") {
+    PIP_Solution_Node* sol = new PIP_Solution_Node(0);
+    current_solution = sol;
+    if (!sol->ascii_load(s))
+      return false;
+    sol->set_owner(this);
+  }
+  else
+    // Unknown node kind.
+    return false;
+
+  PPL_ASSERT(OK());
+  return true;
+}
+
+void
+PPL::PIP_Problem::clear() {
+  external_space_dim = 0;
+  internal_space_dim = 0;
+  status = PARTIALLY_SATISFIABLE;
+  if (current_solution != 0) {
+    delete current_solution;
+    current_solution = 0;
+  }
+  input_cs.clear();
+  first_pending_constraint = 0;
+  parameters.clear();
+  initial_context.clear();
+  control_parameters_init();
+  big_parameter_dimension = not_a_dimension();
+}
+
+void
+PPL::PIP_Problem
+::add_space_dimensions_and_embed(const dimension_type m_vars,
+                                 const dimension_type m_params) {
+  // Adding no space dims at all is a no-op:
+  // this avoids invalidating problem status (if it was optimized).
+  if (m_vars == 0 && m_params == 0)
+    return;
+
+  // The space dimension of the resulting PIP problem should not
+  // overflow the maximum allowed space dimension.
+  dimension_type available = max_space_dimension() - space_dimension();
+  bool should_throw = (m_vars > available);
+  if (!should_throw) {
+    available -= m_vars;
+    should_throw = (m_params > available);
+  }
+  if (should_throw)
+    throw std::length_error("PPL::PIP_Problem::"
+			    "add_space_dimensions_and_embed(m_v, m_p):\n"
+			    "adding m_v+m_p new space dimensions exceeds "
+			    "the maximum allowed space dimension.");
+  // First add PIP variables ...
+  external_space_dim += m_vars;
+  // ... then add PIP parameters.
+  for (dimension_type i = m_params; i-- > 0; ) {
+    parameters.insert(Variable(external_space_dim));
+    ++external_space_dim;
+  }
+  // Update problem status.
+  if (status != UNSATISFIABLE)
+    status = PARTIALLY_SATISFIABLE;
+  PPL_ASSERT(OK());
+}
+
+void
+PPL::PIP_Problem
+::add_to_parameter_space_dimensions(const Variables_Set& p_vars) {
+  if (p_vars.space_dimension() > external_space_dim)
+    throw std::invalid_argument("PPL::PIP_Problem::"
+				"add_to_parameter_space_dimension(p_vars):\n"
+				"*this and p_vars are dimension "
+				"incompatible.");
+  const dimension_type original_size = parameters.size();
+  parameters.insert(p_vars.begin(), p_vars.end());
+  // Do not allow to turn variables into parameters.
+  for (Variables_Set::const_iterator p = p_vars.begin(),
+         end = p_vars.end(); p != end; ++p) {
+    if (*p < internal_space_dim) {
+      throw std::invalid_argument("PPL::PIP_Problem::"
+				  "add_to_parameter_space_dimension(p_vars):"
+				  "p_vars contain variable indices.");
+    }
+  }
+
+  // If a new parameter was inserted, set the internal status to
+  // PARTIALLY_SATISFIABLE.
+  if (parameters.size() != original_size && status != UNSATISFIABLE)
+    status = PARTIALLY_SATISFIABLE;
+}
+
+void
+PPL::PIP_Problem::add_constraint(const Constraint& c) {
+  if (c.space_dimension() > external_space_dim) {
+    std::ostringstream s;
+    s << "PPL::PIP_Problem::add_constraint(c):\n"
+      << "dim == "<< external_space_dim << " and c.space_dimension() == "
+      << c.space_dimension() << " are dimension incompatible.";
+    throw std::invalid_argument(s.str());
+  }
+  input_cs.push_back(c);
+  // Update problem status.
+  if (status != UNSATISFIABLE)
+    status = PARTIALLY_SATISFIABLE;
+}
+
+void
+PPL::PIP_Problem::add_constraints(const Constraint_System &cs) {
+  for (Constraint_System::const_iterator ci = cs.begin(),
+         ci_end = cs.end(); ci != ci_end; ++ci)
+    add_constraint(*ci);
+}
+
+bool
+PPL::PIP_Problem::is_satisfiable() const {
+  if (status == PARTIALLY_SATISFIABLE)
+    solve();
+  return status == OPTIMIZED;
+}
+
+void
+PPL::PIP_Problem::set_control_parameter(Control_Parameter_Value value) {
+  switch (value) {
+  case CUTTING_STRATEGY_FIRST:
+    // Intentionally fall through.
+  case CUTTING_STRATEGY_DEEPEST:
+    // Intentionally fall through.
+  case CUTTING_STRATEGY_ALL:
+    control_parameters[CUTTING_STRATEGY] = value;
+    break;
+  case PIVOT_ROW_STRATEGY_FIRST:
+    // Intentionally fall through.
+  case PIVOT_ROW_STRATEGY_MAX_COLUMN:
+    control_parameters[PIVOT_ROW_STRATEGY] = value;
+    break;
+  default:
+    throw std::invalid_argument("PPL::PIP_Problem::set_control_parameter(v)"
+                                ":\ninvalid value.");
+  }
+}
+
+void
+PPL::PIP_Problem::set_big_parameter_dimension(dimension_type big_dim) {
+  if (parameters.count(big_dim) == 0)
+    throw std::invalid_argument("PPL::PIP_Problem::"
+                                "set_big_parameter_dimension(big_dim):\n"
+                                "dimension 'big_dim' is not a parameter.");
+  if (big_dim < internal_space_dim)
+    throw std::invalid_argument("PPL::PIP_Problem::"
+                                "set_big_parameter_dimension(big_dim):\n"
+                                "only newly-added parameters can be"
+                                "converted into the big parameter.");
+  big_parameter_dimension = big_dim;
+}
+
+PPL::memory_size_type
+PPL::PIP_Problem::external_memory_in_bytes() const {
+  memory_size_type n = initial_context.external_memory_in_bytes();
+  // Adding the external memory for `current_solution'.
+  if (current_solution)
+    n += current_solution->total_memory_in_bytes();
+  // Adding the external memory for `input_cs'.
+  n += input_cs.capacity() * sizeof(Constraint);
+  for (const_iterator i = input_cs.begin(),
+	 i_end = input_cs.end(); i != i_end; ++i)
+    n += (i->external_memory_in_bytes());
+  // FIXME: Adding the external memory for `parameters'.
+  n += parameters.size() * sizeof(dimension_type);
+
+  return n;
+}
+
+PPL::memory_size_type
+PPL::PIP_Problem::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
+
+void
+PPL::PIP_Problem::print_solution(std::ostream& s, unsigned indent) const {
+  switch (status) {
+
+  case UNSATISFIABLE:
+    PPL_ASSERT(current_solution == 0);
+    PIP_Tree_Node::indent_and_print(s, indent, "_|_\n");
+    break;
+
+  case OPTIMIZED:
+    PPL_ASSERT(current_solution != 0);
+    current_solution->print(s, indent);
+    break;
+
+  case PARTIALLY_SATISFIABLE:
+    throw std::logic_error("PIP_Problem::print_solution():\n"
+                           "the PIP problem has not been solved.");
+  }
+}
+
diff --git a/src/PIP_Problem.defs.hh b/src/PIP_Problem.defs.hh
new file mode 100644
index 0000000..d151fcf
--- /dev/null
+++ b/src/PIP_Problem.defs.hh
@@ -0,0 +1,830 @@
+/* PIP_Problem class declaration.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#ifndef PPL_PIP_Problem_defs_hh
+#define PPL_PIP_Problem_defs_hh 1
+
+#include "PIP_Problem.types.hh"
+#include "PIP_Tree.types.hh"
+#include "globals.types.hh"
+#include "Linear_Expression.defs.hh"
+#include "Constraint.defs.hh"
+#include "Constraint_System.types.hh"
+#include "Generator.defs.hh"
+#include "Variables_Set.defs.hh"
+#include <vector>
+#include <deque>
+#include <iosfwd>
+
+namespace Parma_Polyhedra_Library {
+
+namespace IO_Operators {
+
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::PIP_Problem */
+std::ostream&
+operator<<(std::ostream& s, const PIP_Problem& p);
+
+} // namespace IO_Operators
+
+} // namespace Parma_Polyhedra_Library
+
+//! A Parametric Integer (linear) Programming problem.
+/*! \ingroup PPL_CXX_interface
+  An object of this class encodes a parametric integer (linear)
+  programming problem. The PIP problem is specified by providing:
+   - the dimension of the vector space;
+   - the subset of those dimensions of the vector space that are
+     interpreted as integer parameters (the other space dimensions
+     are interpreted as non-parameter integer variables);
+   - a finite set of linear equality and (strict or non-strict)
+     inequality constraints involving variables and/or parameters;
+     these constraints are used to define:
+       - the <EM>feasible region</EM>, if they involve one or more
+         problem variable (and maybe some parameters);
+       - the <EM>initial context</EM>, if they only involve the
+         parameters;
+   - optionally, the so-called <EM>big parameter</EM>,
+     i.e., a problem parameter to be considered arbitrarily big.
+
+  Note that all problem variables and problem parameters are assumed
+  to take non-negative integer values, so that there is no need
+  to specify non-negativity constraints.
+
+  The class provides support for the (incremental) solution of the
+  PIP problem based on variations of the revised simplex method and
+  on Gomory cut generation techniques.
+
+  The solution for a PIP problem is the lexicographic minimum of the
+  integer points of the feasible region, expressed in terms of the
+  parameters. As the problem to be solved only involves non-negative
+  variables and parameters, the problem will always be either unfeasible
+  or optimizable.
+
+  As the feasibility and the solution value of a PIP problem depend on the
+  values of the parameters, the solution is a binary decision tree,
+  dividing the context parameter set into subsets.
+  The tree nodes are of two kinds:
+   - \e Decision nodes.
+     These are internal tree nodes encoding one or more linear tests
+     on the parameters; if all the tests are satisfied, then the solution
+     is the node's \e true child; otherwise, the solution is the node's
+     \e false child;
+   - \e Solution nodes.
+     These are leaf nodes in the tree, encoding the solution of the problem
+     in the current context subset, where each variable is defined in terms
+     of a linear expression of the parameters.
+     Solution nodes also optionally embed a set of parameter constraints:
+     if all these constraints are satisfied, the solution is described by
+     the node, otherwise the problem has no solution.
+
+  It may happen that a decision node has no \e false child. This means
+  that there is no solution if at least one of the corresponding
+  constraints is not satisfied. Decision nodes having two or more linear
+  tests on the parameters cannot have a \e false child. Decision nodes
+  always have a \e true child.
+
+  Both kinds of tree nodes may also contain the definition of extra
+  parameters which are artificially introduced by the solver to enforce
+  an integral solution. Such artificial parameters are defined by
+  the integer division of a linear expression on the parameters
+  by an integer coefficient.
+
+  By exploiting the incremental nature of the solver, it is possible
+  to reuse part of the computational work already done when solving
+  variants of a given PIP_Problem: currently, incremental resolution
+  supports the addition of space dimensions, the addition of parameters
+  and the addition of constraints.
+
+  \par Example problem
+  An example PIP problem can be defined the following:
+  \code
+  3*j >= -2*i+8
+  j <= 4*i - 4
+  i <= n
+  j <= m
+  \endcode
+  where \c i and \c j are the problem variables
+  and \c n and \c m are the problem parameters.
+  This problem can be optimized; the resulting solution tree may be
+  represented as follows:
+  \verbatim
+  if 7*n >= 10 then
+    if 7*m >= 12 then
+      {i = 2 ; j = 2}
+    else
+      Parameter P = (m) div 2
+      if 2*n + 3*m >= 8 then
+        {i = -m - P + 4 ; j = m}
+      else
+        _|_
+  else
+    _|_
+  \endverbatim
+  The solution tree starts with a decision node depending on the
+  context constraint <code>7*n >= 10</code>.
+  If this constraint is satisfied by the values assigned to the
+  problem parameters, then the (textually first) \c then branch is taken,
+  reaching the \e true child of the root node (which in this case
+  is another decision node); otherwise, the (textually last) \c else
+  branch is taken, for which there is no corresponding \e false child.
+  \par
+  The \f$\perp\f$ notation, also called \e bottom, denotes the
+  lexicographic minimum of an empty set of solutions,
+  here meaning the corresponding subproblem is unfeasible.
+  \par
+  Notice that a tree node may introduce new (non-problem) parameters,
+  as is the case for parameter \c P in the (textually first) \c else
+  branch above. These \e artificial parameters are only meaningful
+  inside the subtree where they are defined and are used to define
+  the parametric values of the problem variables in solution nodes
+  (e.g., the <tt>{i,j}</tt> vector in the textually third \c then branch).
+
+  \par Context restriction
+  The above solution is correct in an unrestricted initial context,
+  meaning all possible values are allowed for the parameters. If we
+  restrict the context with the following parameter inequalities:
+  \code
+  m >= n
+  n >= 5
+  \endcode
+  then the resulting optimizing tree will be a simple solution node:
+  \verbatim
+  {i = 2 ; j = 2}
+  \endverbatim
+
+  \par Creating the PIP_Problem object
+  The PIP_Problem object corresponding to the above example can be
+  created as follows:
+  \code
+  Variable i(0);
+  Variable j(1);
+  Variable n(2);
+  Variable m(3);
+  Variables_Set params(n, m);
+  Constraint_System cs;
+  cs.insert(3*j >= -2*i+8);
+  cs.insert(j <= 4*i - 4);
+  cs.insert(j <= m);
+  cs.insert(i <= n);
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+  \endcode
+  If you want to restrict the initial context, simply add the parameter
+  constraints the same way as for normal constraints.
+  \code
+  cs.insert(m >= n);
+  cs.insert(n >= 5);
+  \endcode
+
+  \par Solving the problem
+  Once the PIP_Problem object has been created, you can start the
+  resolution of the problem by calling the solve() method:
+  \code
+  PIP_Problem_Status status = pip.solve();
+  \endcode
+  where the returned \c status indicates if the problem has been optimized
+  or if it is unfeasible for any possible configuration of the parameter
+  values. The resolution process is also started if an attempt is made
+  to get its solution, as follows:
+  \code
+  const PIP_Tree_Node* node = pip.solution();
+  \endcode
+  In this case, an unfeasible problem will result in an empty solution
+  tree, i.e., assigning a null pointer to \c node.
+
+  \par Printing the solution tree
+  A previously computed solution tree may be printed as follows:
+  \code
+  pip.print_solution(std::cout);
+  \endcode
+  This will produce the following output (note: variables and parameters
+  are printed according to the default output function; see
+  <code>Variable::set_output_function</code>):
+  \verbatim
+  if 7*C >= 10 then
+    if 7*D >= 12 then
+      {2 ; 2}
+    else
+      Parameter E = (D) div 2
+      if 2*C + 3*D >= 8 then
+        {-D - E + 4 ; D}
+      else
+        _|_
+  else
+    _|_
+  \endverbatim
+
+  \par Spanning the solution tree
+  A parameter assignment for a PIP problem binds each of the problem
+  parameters to a non-negative integer value. After fixing a parameter
+  assignment, the ``spanning'' of the PIP problem solution tree refers
+  to the process whereby the solution tree is navigated, starting from
+  the root node: the value of artificial parameters is computed according
+  to the parameter assignment and the node's contraints are evaluated,
+  thereby descending in either the true or the false subtree of decision
+  nodes and eventually reaching a solution node or a bottom node.
+  If a solution node is found, each of the problem variables is provided
+  with a parametric expression, which can be evaluated to a fixed value
+  using the given parameter assignment and the computed values for
+  artificial parameters.
+  \par
+  The coding of the spanning process can be done as follows.
+  First, the root of the PIP solution tree is retrieved:
+  \code
+  const PIP_Tree_Node* node = pip.solution();
+  \endcode
+  If \c node represents an unfeasible solution (i.e., \f$\perp\f$),
+  its value will be \c 0. For a non-null tree node, the virtual methods
+  \c PIP_Tree_Node::as_decision() and \c PIP_Tree_Node::as_solution()
+  can be used to check whether the node is a decision or a solution node:
+  \code
+  const PIP_Solution_Node* sol = node->as_solution();
+  if (sol != 0) {
+    // The node is a solution node
+    ...
+  }
+  else {
+    // The node is a decision node
+    const PIP_Decision_Node* dec = node->as_decision();
+    ...
+  }
+  \endcode
+  \par
+  The true (resp., false) child node of a Decision Node may be accessed by
+  using method \c PIP_Decision_Node::child_node(bool), passing \c true
+  (resp., \c false) as the input argument.
+
+  \par Artificial parameters
+  A PIP_Tree_Node::Artificial_Parameter object represents the result
+  of the integer division of a Linear_Expression (on the other
+  parameters, including the previously-defined artificials)
+  by an integer denominator (a Coefficient object).
+  The dimensions of the artificial parameters (if any) in a tree node
+  have consecutive indices starting from <code>dim+1</code>, where the value
+  of \c dim is computed as follows:
+   - for the tree root node, \c dim is the space dimension of the PIP_Problem;
+   - for any other node of the tree, it is recusrively obtained by adding
+     the value of \c dim computed for the parent node to the number of
+     artificial parameters defined in the parent node.
+  \par
+  Since the numbering of dimensions for artificial parameters follows
+  the rule above, the addition of new problem variables and/or new problem
+  parameters to an already solved PIP_Problem object (as done when
+  incrementally solving a problem) will result in the systematic
+  renumbering of all the existing artificial parameters.
+
+  \par Node constraints
+  All kind of tree nodes can contain context constraints.
+  Decision nodes always contain at least one of them.
+  The node's local constraint system can be obtained using method
+  PIP_Tree_Node::constraints.
+  These constraints only involve parameters, including both the problem
+  parameters and the artificial parameters that have been defined
+  in nodes occurring on the path from the root node to the current node.
+  The meaning of these constraints is as follows:
+   - On a decision node, if all tests in the constraints are true, then the
+     solution is the \e true child; otherwise it is the \e false child.
+   - On a solution node, if the (possibly empty) system of constraints
+     evaluates to true for a given parameter assignment, then the solution
+     is described by the node; otherwise the solution is \f$\perp\f$
+     (i.e., the problem is unfeasible for that parameter assignment).
+
+  \par Getting the optimal values for the variables
+  After spanning the solution tree using the given parameter assignment,
+  if a solution node has been reached, then it is possible to retrieve
+  the parametric expression for each of the problem variables using
+  method PIP_Solution_Node::parametric_values. The retrieved expression
+  will be defined in terms of all the parameters (problem parameters
+  and artificial parameters defined along the path).
+
+  \par Solving maximization problems
+  You can solve a lexicographic maximization problem by reformulating its
+  constraints using variable substitution. Proceed the following steps:
+   - Create a big parameter (see PIP_Problem::set_big_parameter_dimension),
+     which we will call \f$M\f$.
+   - Reformulate each of the maximization problem constraints by
+     substituting each \f$x_i\f$ variable with an expression of the form
+     \f$M-x'_i\f$, where the \f$x'_i\f$ variables are positive variables to
+     be minimized.
+   - Solve the lexicographic minimum for the \f$x'\f$ variable vector.
+   - In the solution expressions, the values of the \f$x'\f$ variables will
+     be expressed in the form: \f$x'_i = M-x_i\f$. To get back the value of
+     the expression of each \f$x_i\f$ variable, just apply the
+     formula: \f$x_i = M-x'_i\f$.
+  \par
+  Note that if the resulting expression of one of the \f$x'_i\f$ variables
+  is not in the \f$x'_i = M-x_i\f$ form, this means that the
+  sign-unrestricted problem is unbounded.
+  \par
+  You can choose to maximize only a subset of the variables while minimizing
+  the other variables. In that case, just apply the variable substitution
+  method on the variables you want to be maximized. The variable
+  optimization priority will still be in lexicographic order.
+
+  \par
+  \b Example: consider you want to find the lexicographic maximum of the
+  \f$(x,y)\f$ vector, under the constraints:
+    \f[\left\{\begin{array}{l}
+      y \geq 2x - 4\\
+      y \leq -x + p
+    \end{array}\right.\f]
+  \par
+  where \f$p\f$ is a parameter.
+  \par
+  After variable substitution, the constraints become:
+    \f[\left\{\begin{array}{l}
+      M - y \geq 2M - 2x - 4\\
+      M - y \leq -M + x + p
+    \end{array}\right.\f]
+  \par
+  The code for creating the corresponding problem object is the following:
+  \code
+  Variable x(0);
+  Variable y(1);
+  Variable p(2);
+  Variable M(3);
+  Variables_Set params(p, M);
+  Constraint_System cs;
+  cs.insert(M - y >= 2*M - 2*x - 4);
+  cs.insert(M - y <= -M + x + p);
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+  pip.set_big_parameter_dimension(3);     // M is the big parameter
+  \endcode
+  Solving the problem provides the following solution:
+  \verbatim
+  Parameter E = (C + 1) div 3
+  {D - E - 1 ; -C + D + E + 1}
+  \endverbatim
+  Under the notations above, the solution is:
+  \f[ \left\{\begin{array}{l}
+    x'=M-\left\lfloor\frac{p+1}{3}\right\rfloor-1\\
+    y'=M-p+\left\lfloor\frac{p+1}{3}\right\rfloor+1
+  \end{array}\right.
+  \f]
+  \par
+  Performing substitution again provides us with the values of the original
+  variables:
+  \f[ \left\{\begin{array}{l}
+    x=\left\lfloor\frac{p+1}{3}\right\rfloor+1\\
+    y=p-\left\lfloor\frac{p+1}{3}\right\rfloor-1
+  \end{array}\right.
+  \f]
+
+  \par Allowing variables to be arbitrarily signed
+  You can deal with arbitrarily signed variables by reformulating the
+  constraints using variable substitution. Proceed the following steps:
+   - Create a big parameter (see PIP_Problem::set_big_parameter_dimension),
+     which we will call \f$M\f$.
+   - Reformulate each of the maximization problem constraints by
+     substituting each \f$x_i\f$ variable with an expression of the form
+     \f$x'_i-M\f$, where the \f$x'_i\f$ variables are positive.
+   - Solve the lexicographic minimum for the \f$x'\f$ variable vector.
+   - The solution expression can be read in the form:
+   - In the solution expressions, the values of the \f$x'\f$ variables will
+     be expressed in the form: \f$x'_i = x_i+M\f$. To get back the value of
+     the expression of each signed \f$x_i\f$ variable, just apply the
+     formula: \f$x_i = x'_i-M\f$.
+  \par
+  Note that if the resulting expression of one of the \f$x'_i\f$ variables
+  is not in the \f$x'_i = x_i+M\f$ form, this means that the
+  sign-unrestricted problem is unbounded.
+  \par
+  You can choose to define only a subset of the variables to be
+  sign-unrestricted. In that case, just apply the variable substitution
+  method on the variables you want to be sign-unrestricted.
+
+  \par
+  \b Example: consider you want to find the lexicographic minimum of the
+  \f$(x,y)\f$ vector, where the \f$x\f$ and \f$y\f$ variables are
+  sign-unrestricted, under the constraints:
+    \f[\left\{\begin{array}{l}
+      y \geq -2x - 4\\
+      2y \leq x + 2p
+    \end{array}\right.\f]
+  \par
+  where \f$p\f$ is a parameter.
+  \par
+  After variable substitution, the constraints become:
+    \f[\left\{\begin{array}{l}
+      y' - M \geq -2x' + 2M - 4\\
+      2y' - 2M \leq x' - M + 2p
+    \end{array}\right.\f]
+  \par
+  The code for creating the corresponding problem object is the following:
+  \code
+  Variable x(0);
+  Variable y(1);
+  Variable p(2);
+  Variable M(3);
+  Variables_Set params(p, M);
+  Constraint_System cs;
+  cs.insert(y - M >= -2*x + 2*M - 4);
+  cs.insert(2*y - 2*M <= x - M + 2*p);
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+  pip.set_big_parameter_dimension(3);     // M is the big parameter
+  \endcode
+  \par
+  Solving the problem provides the following solution:
+  \verbatim
+  Parameter E = (2*C + 3) div 5
+  {D - E - 1 ; D + 2*E - 2}
+  \endverbatim
+  Under the notations above, the solution is:
+  \f[ \left\{\begin{array}{l}
+    x'=M-\left\lfloor\frac{2p+3}{5}\right\rfloor-1\\
+    y'=M+2\left\lfloor\frac{2p+3}{5}\right\rfloor-2
+  \end{array}\right.
+  \f]
+  \par
+  Performing substitution again provides us with the values of the original
+  variables:
+  \f[ \left\{\begin{array}{l}
+    x=-\left\lfloor\frac{2p+3}{5}\right\rfloor-1\\
+    y=2\left\lfloor\frac{2p+3}{5}\right\rfloor-2
+  \end{array}\right.
+  \f]
+
+  \par Allowing parameters to be arbitrarily signed
+  You can consider a parameter \f$p\f$ arbitrarily signed by replacing
+  \f$p\f$ with \f$p^+-p^-\f$, where both \f$p^+\f$ and \f$p^-\f$ are
+  positive parameters. To represent a set of arbitrarily signed parameters,
+  replace each parameter \f$p_i\f$ with \f$p^+_i-p^-\f$, where \f$-p^-\f$ is
+  the minimum negative value of all parameters.
+
+  \par Minimizing a linear cost function
+  Lexicographic solving can be used to find the parametric minimum of a
+  linear cost function.
+  \par
+  Suppose the variables are named \f$x_1, x_2, \dots, x_n\f$, and the
+  parameters \f$p_1, p_2, \dots, p_m\f$. You can minimize a linear cost
+  function \f$f(x_2, \dots, x_n, p_1, \dots, p_m)\f$ by simply adding the
+  constraint \f$x_1 \geq f(x_2, \dots, x_n, p_1, \dots, p_m)\f$ to the
+  constraint system. As lexicographic minimization ensures \f$x_1\f$ is
+  minimized in priority, and because \f$x_1\f$ is forced by a constraint to
+  be superior or equal to the cost function, optimal solutions of the
+  problem necessarily ensure that the solution value of \f$x_1\f$ is the
+  optimal value of the cost function.
+*/
+class Parma_Polyhedra_Library::PIP_Problem {
+public:
+  //! Builds a trivial PIP problem.
+  /*!
+    A trivial PIP problem requires to compute the lexicographic minimum
+    on a vector space under no constraints and with no parameters:
+    due to the implicit non-negativity constraints, the origin of the
+    vector space is an optimal solution.
+
+    \param dim
+    The dimension of the vector space enclosing \p *this
+    (optional argument with default value \f$0\f$).
+
+    \exception std::length_error
+    Thrown if \p dim exceeds <CODE>max_space_dimension()</CODE>.
+  */
+  explicit PIP_Problem(dimension_type dim = 0);
+
+  /*! \brief
+    Builds a PIP problem having space dimension \p dim
+    from the sequence of constraints in the range
+    \f$[\mathrm{first}, \mathrm{last})\f$;
+    those dimensions whose indices occur in \p p_vars are
+    interpreted as parameters.
+
+    \param dim
+    The dimension of the vector space (variables and parameters) enclosing
+    \p *this.
+
+    \param first
+    An input iterator to the start of the sequence of constraints.
+
+    \param last
+    A past-the-end input iterator to the sequence of constraints.
+
+    \param p_vars
+    The set of variables' indexes that are interpreted as parameters.
+
+    \exception std::length_error
+    Thrown if \p dim exceeds <CODE>max_space_dimension()</CODE>.
+
+    \exception std::invalid_argument
+    Thrown if the space dimension of a constraint in the sequence
+    (resp., the parameter variables) is strictly greater than \p dim.
+  */
+  template <typename In>
+  PIP_Problem(dimension_type dim, In first, In last,
+	      const Variables_Set& p_vars);
+
+  //! Ordinary copy-constructor.
+  PIP_Problem(const PIP_Problem& y);
+
+  //! Destructor.
+  ~PIP_Problem();
+
+  //! Assignment operator.
+  PIP_Problem& operator=(const PIP_Problem& y);
+
+  //! Returns the maximum space dimension a PIP_Problem can handle.
+  static dimension_type max_space_dimension();
+
+  //! Returns the space dimension of the PIP problem.
+  dimension_type space_dimension() const;
+
+  /*! \brief
+    Returns a set containing all the variables' indexes representing
+    the parameters of the PIP problem.
+  */
+  const Variables_Set& parameter_space_dimensions() const;
+
+private:
+  //! A type alias for a sequence of constraints.
+  typedef std::vector<Constraint> Constraint_Sequence;
+
+public:
+  /*! \brief
+    A type alias for the read-only iterator on the constraints
+    defining the feasible region.
+  */
+  typedef Constraint_Sequence::const_iterator const_iterator;
+
+  /*! \brief
+    Returns a read-only iterator to the first constraint defining
+    the feasible region.
+  */
+  const_iterator constraints_begin() const;
+
+  /*! \brief
+    Returns a past-the-end read-only iterator to the sequence of
+    constraints defining the feasible region.
+  */
+  const_iterator constraints_end() const;
+
+  //! Resets \p *this to be equal to the trivial PIP problem.
+  /*!
+    The space dimension is reset to \f$0\f$.
+  */
+  void clear();
+
+  /*! \brief
+    Adds <CODE>m_vars + m_params</CODE> new space dimensions
+    and embeds the old PIP problem in the new vector space.
+
+    \param m_vars
+    The number of space dimensions to add that are interpreted as
+    PIP problem variables (i.e., non parameters). These are added
+    \e before adding the \p m_params parameters.
+
+    \param m_params
+    The number of space dimensions to add that are interpreted as
+    PIP problem parameters. These are added \e after having added the
+    \p m_vars problem variables.
+
+    \exception std::length_error
+    Thrown if adding <CODE>m_vars + m_params</CODE> new space
+    dimensions would cause the vector space to exceed dimension
+    <CODE>max_space_dimension()</CODE>.
+
+    The new space dimensions will be those having the highest indexes
+    in the new PIP problem; they are initially unconstrained.
+  */
+  void add_space_dimensions_and_embed(dimension_type m_vars,
+                                      dimension_type m_params);
+
+  /*! \brief
+    Sets the space dimensions whose indexes which are in set \p p_vars
+    to be parameter space dimensions.
+
+    \exception std::invalid_argument
+    Thrown if some index in \p p_vars does not correspond to
+    a space dimension in \p *this.
+  */
+  void add_to_parameter_space_dimensions(const Variables_Set& p_vars);
+
+  /*! \brief
+    Adds a copy of constraint \p c to the PIP problem.
+
+    \exception std::invalid_argument
+    Thrown if the space dimension of \p c is strictly greater than
+    the space dimension of \p *this.
+  */
+  void add_constraint(const Constraint& c);
+
+  /*! \brief
+    Adds a copy of the constraints in \p cs to the PIP problem.
+
+    \exception std::invalid_argument
+    Thrown if the space dimension of constraint system \p cs is strictly
+    greater than the space dimension of \p *this.
+  */
+  void add_constraints(const Constraint_System& cs);
+
+  //! Checks satisfiability of \p *this.
+  /*!
+    \return
+    \c true if and only if the PIP problem is satisfiable.
+  */
+  bool is_satisfiable() const;
+
+  //! Optimizes the PIP problem.
+  /*!
+    \return
+    A PIP_Problem_Status flag indicating the outcome of the optimization
+    attempt (unfeasible or optimized problem).
+  */
+  PIP_Problem_Status solve() const;
+
+  //! Returns a feasible solution for \p *this, if it exists.
+  /*!
+    A null pointer is returned for an unfeasible PIP problem.
+  */
+  PIP_Tree solution() const;
+
+  //! Returns an optimizing solution for \p *this, if it exists.
+  /*!
+    A null pointer is returned for an unfeasible PIP problem.
+  */
+  PIP_Tree optimizing_solution() const;
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
+  //! Prints on \p s the solution computed for \p *this.
+  /*!
+    \param s
+    The output stream.
+
+    \param indent
+    An indentation parameter (default value 0).
+
+    \exception std::logic_error
+    Thrown if trying to print the solution when the PIP problem
+    still has to be solved.
+  */
+  void print_solution(std::ostream& s, unsigned indent = 0) const;
+
+  PPL_OUTPUT_DECLARATIONS
+
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
+
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
+
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
+
+  //! Swaps \p *this with \p y.
+  void swap(PIP_Problem& y);
+
+  //! Possible names for PIP_Problem control parameters.
+  enum Control_Parameter_Name {
+    //! Cutting strategy
+    CUTTING_STRATEGY,
+    //! Pivot row strategy
+    PIVOT_ROW_STRATEGY,
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+    //! Number of different enumeration values.
+#endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+    CONTROL_PARAMETER_NAME_SIZE
+  };
+
+  //! Possible values for PIP_Problem control parameters.
+  enum Control_Parameter_Value {
+    //! Choose the first non-integer row
+    CUTTING_STRATEGY_FIRST,
+    //! Choose row which generates the deepest cut
+    CUTTING_STRATEGY_DEEPEST,
+    //! Always generate all possible cuts
+    CUTTING_STRATEGY_ALL,
+
+    //! Choose the first row with negative parameter sign
+    PIVOT_ROW_STRATEGY_FIRST,
+    //! Choose the row which generates the lexico-maximal pivot column
+    PIVOT_ROW_STRATEGY_MAX_COLUMN,
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+    //! Number of different enumeration values.
+#endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+    CONTROL_PARAMETER_VALUE_SIZE
+  };
+
+  //! Returns the value of control parameter \p name.
+  Control_Parameter_Value
+  get_control_parameter(Control_Parameter_Name name) const;
+
+  //! Sets control parameter \p value.
+  void set_control_parameter(Control_Parameter_Value value);
+
+  //! Sets the dimension for the big parameter to \p big_dim.
+  void set_big_parameter_dimension(dimension_type big_dim);
+
+  /*! \brief
+    Returns the space dimension for the big parameter.
+
+    If a big parameter was not set, returns \c not_a_dimension().
+  */
+  dimension_type get_big_parameter_dimension() const;
+
+private:
+  //! Initializes the control parameters with default values.
+  void control_parameters_init();
+
+  //! Copies the control parameters from problem object \p y.
+  void control_parameters_copy(const PIP_Problem& y);
+
+  //! The dimension of the vector space.
+  dimension_type external_space_dim;
+
+  /*! \brief
+    The space dimension of the current (partial) solution of the
+    PIP problem; it may be smaller than \p external_space_dim.
+  */
+  dimension_type internal_space_dim;
+
+  //! An enumerated type describing the internal status of the PIP problem.
+  enum Status {
+    //! The PIP problem is unsatisfiable.
+    UNSATISFIABLE,
+    //! The PIP problem is optimized; the solution tree has been computed.
+    OPTIMIZED,
+    /*! \brief
+      The feasible region of the PIP problem has been changed by adding
+      new variables, parameters or constraints; a feasible solution for
+      the old feasible region is still available.
+    */
+    PARTIALLY_SATISFIABLE
+  };
+
+  //! The internal state of the MIP problem.
+  Status status;
+
+  //! The current solution decision tree
+  PIP_Tree_Node* current_solution;
+
+  //! The sequence of constraints describing the feasible region.
+  Constraint_Sequence input_cs;
+
+  //! The first index of `input_cs' containing a pending constraint.
+  dimension_type first_pending_constraint;
+
+  /*! \brief
+    A set containing all the indices of space dimensions that are
+    interpreted as problem parameters.
+  */
+  Variables_Set parameters;
+
+  /*! \brief
+    The initial context
+
+    Contains problem constraints on parameters only
+  */
+  Matrix initial_context;
+
+  //! The control parameters for the problem object.
+  Control_Parameter_Value
+  control_parameters[CONTROL_PARAMETER_NAME_SIZE];
+
+  /*! \brief
+    The dimension for the big parameter, or \c not_a_dimension()
+    if not set.
+  */
+  dimension_type big_parameter_dimension;
+
+  friend class PIP_Solution_Node;
+};
+
+namespace std {
+
+//! Specializes <CODE>std::swap</CODE>.
+/*! \relates Parma_Polyhedra_Library::PIP_Problem */
+void swap(Parma_Polyhedra_Library::PIP_Problem& x,
+	  Parma_Polyhedra_Library::PIP_Problem& y);
+
+} // namespace std
+
+#include "PIP_Problem.inlines.hh"
+#include "PIP_Problem.templates.hh"
+
+#endif // !defined(PPL_PIP_Problem_defs_hh)
diff --git a/src/PIP_Problem.inlines.hh b/src/PIP_Problem.inlines.hh
new file mode 100644
index 0000000..d09b3c3
--- /dev/null
+++ b/src/PIP_Problem.inlines.hh
@@ -0,0 +1,99 @@
+/* PIP_Problem class implementation: inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#ifndef PPL_PIP_Problem_inlines_hh
+#define PPL_PIP_Problem_inlines_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+inline dimension_type
+PIP_Problem::space_dimension() const {
+  return external_space_dim;
+}
+
+inline dimension_type
+PIP_Problem::max_space_dimension() {
+  return Constraint::max_space_dimension();
+}
+
+inline PIP_Problem::const_iterator
+PIP_Problem::constraints_begin() const {
+  return input_cs.begin();
+}
+
+inline PIP_Problem::const_iterator
+PIP_Problem::constraints_end() const {
+  return input_cs.end();
+}
+
+inline const Variables_Set&
+PIP_Problem::parameter_space_dimensions() const {
+  return parameters;
+}
+
+inline void
+PIP_Problem::swap(PIP_Problem& y) {
+  std::swap(external_space_dim, y.external_space_dim);
+  std::swap(internal_space_dim, y.internal_space_dim);
+  std::swap(status, y.status);
+  std::swap(current_solution, y.current_solution);
+  std::swap(input_cs, y.input_cs);
+  std::swap(first_pending_constraint, y.first_pending_constraint);
+  std::swap(parameters, y.parameters);
+  std::swap(initial_context, y.initial_context);
+  for (dimension_type i = CONTROL_PARAMETER_NAME_SIZE; i-- > 0; )
+    std::swap(control_parameters[i], y.control_parameters[i]);
+  std::swap(big_parameter_dimension, y.big_parameter_dimension);
+}
+
+inline PIP_Problem&
+PIP_Problem::operator=(const PIP_Problem& y) {
+  PIP_Problem tmp(y);
+  swap(tmp);
+  return *this;
+}
+
+inline PIP_Problem::Control_Parameter_Value
+PIP_Problem::get_control_parameter(Control_Parameter_Name n) const {
+  assert(n >= 0 && n < CONTROL_PARAMETER_NAME_SIZE);
+  return control_parameters[n];
+}
+
+inline dimension_type
+PIP_Problem::get_big_parameter_dimension() const {
+  return big_parameter_dimension;
+}
+
+} // namespace Parma_Polyhedra_Library
+
+namespace std {
+
+/*! \relates Parma_Polyhedra_Library::PIP_Problem */
+inline void
+swap(Parma_Polyhedra_Library::PIP_Problem& x,
+     Parma_Polyhedra_Library::PIP_Problem& y) {
+  x.swap(y);
+}
+
+} // namespace std
+
+#endif // !defined(PPL_PIP_Problem_inlines_hh)
diff --git a/src/PIP_Problem.templates.hh b/src/PIP_Problem.templates.hh
new file mode 100644
index 0000000..9faa49d
--- /dev/null
+++ b/src/PIP_Problem.templates.hh
@@ -0,0 +1,81 @@
+/* PIP_Problem class implementation: non-inline template functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#ifndef PPL_PIP_Problem_templates_hh
+#define PPL_PIP_Problem_templates_hh 1
+
+#include "Variables_Set.defs.hh"
+
+namespace Parma_Polyhedra_Library {
+
+template <typename In>
+PIP_Problem::PIP_Problem(dimension_type dim,
+			 In first,
+			 In last,
+			 const Variables_Set& p_vars)
+  : external_space_dim(dim),
+    internal_space_dim(0),
+    status(PARTIALLY_SATISFIABLE),
+    current_solution(0),
+    input_cs(),
+    first_pending_constraint(0),
+    parameters(p_vars),
+    initial_context(),
+    big_parameter_dimension(not_a_dimension()) {
+  // Check that integer Variables_Set does not exceed the space dimension
+  // of the problem.
+  if (p_vars.space_dimension() > external_space_dim) {
+    std::ostringstream s;
+    s << "PPL::PIP_Problem::PIP_Problem(dim, first, last, p_vars):\n"
+      << "dim == " << external_space_dim
+      << " and p_vars.space_dimension() == "
+      << p_vars.space_dimension()
+      << " are dimension incompatible.";
+    throw std::invalid_argument(s.str());
+  }
+
+  // Check for space dimension overflow.
+  if (dim > max_space_dimension())
+    throw std::length_error("PPL::PIP_Problem::"
+                            "PIP_Problem(dim, first, last, p_vars):\n"
+                            "dim exceeds the maximum allowed "
+                            "space dimension.");
+  // Check the constraints.
+  for (In i = first; i != last; ++i) {
+    if (i->space_dimension() > dim) {
+      std::ostringstream s;
+      s << "PPL::PIP_Problem::"
+        << "PIP_Problem(dim, first, last, p_vars):\n"
+        << "range [first, last) contains a constraint having space "
+        << "dimension == " << i->space_dimension()
+        << " that exceeds this->space_dimension == " << dim << ".";
+      throw std::invalid_argument(s.str());
+    }
+    input_cs.push_back(*i);
+  }
+  control_parameters_init();
+  PPL_ASSERT(OK());
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_PIP_Problem_templates_hh)
diff --git a/src/PIP_Problem.types.hh b/src/PIP_Problem.types.hh
new file mode 100644
index 0000000..e6c46e5
--- /dev/null
+++ b/src/PIP_Problem.types.hh
@@ -0,0 +1,30 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_PIP_Problem_types_hh
+#define PPL_PIP_Problem_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+//! Possible outcomes of the PIP_Problem solver.
+/*! \ingroup PPL_CXX_interface */
+enum PIP_Problem_Status {
+  //! The problem is unfeasible.
+  UNFEASIBLE_PIP_PROBLEM,
+  //! The problem has an optimal solution.
+  OPTIMIZED_PIP_PROBLEM
+};
+
+class PIP_Problem;
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_PIP_Problem_types_hh)
diff --git a/src/PIP_Tree.cc b/src/PIP_Tree.cc
new file mode 100644
index 0000000..e3f45c1
--- /dev/null
+++ b/src/PIP_Tree.cc
@@ -0,0 +1,2901 @@
+/* PIP_Tree related class implementation: non-inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include <ppl-config.h>
+#include "PIP_Tree.defs.hh"
+#include "PIP_Problem.defs.hh"
+
+#include <algorithm>
+#include <memory>
+
+namespace Parma_Polyhedra_Library {
+
+namespace {
+
+// Calculate positive modulo of x % y
+inline void
+mod_assign(Coefficient& z,
+           Coefficient_traits::const_reference x,
+           Coefficient_traits::const_reference y) {
+  z = x % y;
+  if (z < 0)
+    z += y;
+}
+
+// Compute x += c * y
+inline void
+add_mul_assign_row(Row& x,
+                   Coefficient_traits::const_reference c, const Row& y) {
+  WEIGHT_BEGIN();
+  const dimension_type x_size = x.size();
+  PPL_ASSERT(x_size == y.size());
+  for (dimension_type i = x_size; i-- > 0; )
+    add_mul_assign(x[i], c, y[i]);
+  WEIGHT_ADD_MUL(1, x_size);
+}
+
+// Compute x -= y
+inline void
+sub_assign(Row& x, const Row& y) {
+  WEIGHT_BEGIN();
+  const dimension_type x_size = x.size();
+  PPL_ASSERT(x_size == y.size());
+  for (dimension_type i = x_size; i-- > 0; )
+    x[i] -= y[i];
+  WEIGHT_ADD_MUL(1, x_size);
+}
+
+// Merge constraint system to a Matrix-form context such as x = x U y
+void
+merge_assign(Matrix& x,
+             const Constraint_System& y,
+             const Variables_Set& parameters) {
+  const dimension_type params_size = parameters.size();
+  PPL_ASSERT(params_size == x.num_columns() - 1);
+  const dimension_type new_rows = std::distance(y.begin(), y.end());
+  if (new_rows == 0)
+    return;
+  const dimension_type old_num_rows = x.num_rows();
+  x.add_zero_rows(new_rows, Row::Flags());
+
+  // Compute once for all.
+  const dimension_type cs_space_dim = y.space_dimension();
+  const Variables_Set::const_iterator param_begin = parameters.begin();
+  const Variables_Set::const_iterator param_end = parameters.end();
+
+  dimension_type i = old_num_rows;
+  for (Constraint_System::const_iterator y_i = y.begin(),
+         y_end = y.end(); y_i != y_end; ++y_i, ++i) {
+    WEIGHT_BEGIN();
+    PPL_ASSERT(y_i->is_nonstrict_inequality());
+    Row& x_i = x[i];
+    x_i[0] = y_i->inhomogeneous_term();
+    Variables_Set::const_iterator pj;
+    dimension_type j = 1;
+    for (pj = param_begin; pj != param_end; ++pj, ++j) {
+      Variable vj(*pj);
+      if (vj.space_dimension() > cs_space_dim)
+        break;
+      x_i[j] = y_i->coefficient(vj);
+    }
+    WEIGHT_ADD_MUL(1, params_size);
+  }
+}
+
+// Assigns to row x the negation of row y.
+inline void
+neg_assign_row(Row& x, const Row& y) {
+  WEIGHT_BEGIN();
+  const dimension_type x_size = x.size();
+  PPL_ASSERT(x_size == y.size());
+  for (dimension_type i = x.size(); i-- > 0; )
+    neg_assign(x[i], y[i]);
+  WEIGHT_ADD_MUL(1, x_size);
+}
+
+// Given context row \p y and denominator \p den,
+// to be interpreted as expression expr = y / den,
+// assigns to context row \p x a new value such that
+//     x / den == - expr - 1.
+inline void
+complement_assign(Row& x, const Row& y,
+                  Coefficient_traits::const_reference den) {
+  PPL_ASSERT(den > 0);
+  neg_assign_row(x, y);
+  if (den == 1)
+    --x[0];
+  else {
+    PPL_DIRTY_TEMP_COEFFICIENT(mod);
+    mod_assign(mod, x[0], den);
+    x[0] -= (mod == 0) ? den : mod;
+  }
+}
+
+// Add to `context' the columns for new artificial parameters.
+inline void
+add_artificial_parameters(Matrix& context,
+                          const dimension_type num_art_params) {
+  if (num_art_params > 0)
+    context.add_zero_columns(num_art_params);
+}
+
+// Add to `params' the indices of new artificial parameters.
+inline void
+add_artificial_parameters(Variables_Set& params,
+                          const dimension_type space_dim,
+                          const dimension_type num_art_params) {
+  for (dimension_type i = 0; i < num_art_params; ++i)
+    params.insert(space_dim + i);
+}
+
+// Update `context', `params' and `space_dim' to account for
+// the addition of the new artificial parameters.
+inline void
+add_artificial_parameters(Matrix& context,
+                          Variables_Set& params,
+                          dimension_type& space_dim,
+                          const dimension_type num_art_params) {
+  add_artificial_parameters(context, num_art_params);
+  add_artificial_parameters(params, space_dim, num_art_params);
+  space_dim += num_art_params;
+}
+
+/* Compares two columns lexicographically in revised simplex tableau
+  - Returns true if (column ja)*(-cst_a)/pivot_a[ja]
+                    << (column jb)*(-cst_b)/pivot_b[jb]
+  - Returns false otherwise
+*/
+bool
+column_lower(const Matrix& tableau,
+             const std::vector<dimension_type>& mapping,
+             const std::vector<bool>& basis,
+             const Row& pivot_a,
+             const dimension_type ja,
+             const Row& pivot_b,
+             const dimension_type jb,
+             Coefficient_traits::const_reference cst_a = -1,
+             Coefficient_traits::const_reference cst_b = -1) {
+  const Coefficient& sij_a = pivot_a[ja];
+  const Coefficient& sij_b = pivot_b[jb];
+  PPL_ASSERT(sij_a > 0);
+  PPL_ASSERT(sij_b > 0);
+
+  PPL_DIRTY_TEMP_COEFFICIENT(lhs_coeff);
+  PPL_DIRTY_TEMP_COEFFICIENT(rhs_coeff);
+  lhs_coeff = cst_a * sij_b;
+  rhs_coeff = cst_b * sij_a;
+
+  if (ja == jb) {
+    // Same column: just compare the ratios.
+    // This works since all columns are lexico-positive.
+    // return cst_a * sij_b > cst_b * sij_a;
+    return lhs_coeff > rhs_coeff;
+  }
+
+  PPL_DIRTY_TEMP_COEFFICIENT(lhs);
+  PPL_DIRTY_TEMP_COEFFICIENT(rhs);
+  const dimension_type num_vars = mapping.size();
+  dimension_type k = 0;
+  // While loop guard is: (k < num_rows && lhs == rhs).
+  // Return value is false, if k >= num_rows; lhs < rhs, otherwise.
+  // Try to optimize the computation of lhs and rhs.
+  WEIGHT_BEGIN();
+  while (true) {
+    const dimension_type mk = mapping[k];
+    const bool in_base = basis[k];
+    if (++k >= num_vars)
+      return false;
+    if (in_base) {
+      // Reconstitute the identity submatrix part of tableau.
+      if (mk == ja) {
+        // Optimizing for: lhs == lhs_coeff && rhs == 0;
+        if (lhs_coeff == 0)
+          continue;
+        else
+          return lhs_coeff > 0;
+      }
+      if (mk == jb) {
+        // Optimizing for: lhs == 0 && rhs == rhs_coeff;
+        if (rhs_coeff == 0)
+          continue;
+        else
+          return 0 > rhs_coeff;
+      }
+      // Optimizing for: lhs == 0 && rhs == 0;
+      continue;
+    } else {
+      // Not in base.
+      WEIGHT_ADD(2);
+      const Row& t_mk = tableau[mk];
+      lhs = lhs_coeff * t_mk[ja];
+      rhs = rhs_coeff * t_mk[jb];
+      if (lhs == rhs)
+        continue;
+      else
+        return lhs > rhs;
+    }
+  }
+  // This point should be unreachable.
+  throw std::runtime_error("PPL internal error");
+}
+
+/* Find the column j in revised simplex tableau such as
+  - pivot_row[j] is positive
+  - (column j) / pivot_row[j] is lexico-minimal
+*/
+bool
+find_lexico_minimum_column(const Matrix& tableau,
+                           const std::vector<dimension_type>& mapping,
+                           const std::vector<bool>& basis,
+                           const Row& pivot_row,
+                           const dimension_type start_j,
+                           dimension_type& j_out) {
+  WEIGHT_BEGIN();
+  const dimension_type num_cols = tableau.num_columns();
+  bool has_positive_coefficient = false;
+
+  j_out = num_cols;
+  for (dimension_type j = start_j; j < num_cols; ++j) {
+    const Coefficient& c = pivot_row[j];
+    if (c <= 0)
+      continue;
+    has_positive_coefficient = true;
+    if (j_out == num_cols
+        || column_lower(tableau, mapping, basis,
+                        pivot_row, j, pivot_row, j_out))
+      j_out = j;
+  }
+  WEIGHT_ADD_MUL(1, num_cols - start_j);
+  return has_positive_coefficient;
+}
+
+// Divide all coefficients in row x and denominator y by their GCD.
+void
+row_normalize(Row& x, Coefficient& den) {
+  if (den == 1)
+    return;
+  WEIGHT_BEGIN();
+  const dimension_type x_size = x.size();
+  PPL_DIRTY_TEMP_COEFFICIENT(gcd);
+  gcd = den;
+  for (dimension_type i = x_size; i-- > 0; ) {
+    const Coefficient& x_i = x[i];
+    if (x_i != 0) {
+      WEIGHT_ADD(1);
+      gcd_assign(gcd, x_i, gcd);
+      if (gcd == 1)
+        return;
+    }
+  }
+  // Divide the coefficients by the GCD.
+  WEIGHT_BEGIN();
+  for (dimension_type i = x_size; i-- > 0; ) {
+    Coefficient& x_i = x[i];
+    exact_div_assign(x_i, x_i, gcd);
+  }
+  WEIGHT_ADD_MUL(1, x_size);
+  // Divide the denominator by the GCD.
+  exact_div_assign(den, den, gcd);
+}
+
+} // namespace
+
+namespace IO_Operators {
+
+std::ostream&
+operator<<(std::ostream& os, const PIP_Tree_Node& x) {
+  x.print(os);
+  return os;
+}
+
+std::ostream&
+operator<<(std::ostream& os, const PIP_Tree_Node::Artificial_Parameter& x) {
+  const Linear_Expression& expr = static_cast<const Linear_Expression&>(x);
+  os << "(" << expr << ") div " << x.denominator();
+  return os;
+}
+
+} // namespace IO_Operators
+
+PIP_Tree_Node::PIP_Tree_Node(const PIP_Problem* owner)
+  : owner_(owner),
+    parent_(0),
+    constraints_(),
+    artificial_parameters() {
+}
+
+PIP_Tree_Node::PIP_Tree_Node(const PIP_Tree_Node& y)
+  : owner_(y.owner_),
+    parent_(0), // NOTE: parent is not copied.
+    constraints_(y.constraints_),
+    artificial_parameters(y.artificial_parameters) {
+}
+
+bool
+PIP_Tree_Node::Artificial_Parameter
+::operator==(const PIP_Tree_Node::Artificial_Parameter& y) const {
+  const Artificial_Parameter& x = *this;
+  if (x.space_dimension() != y.space_dimension())
+    return false;
+  if (x.denom != y.denom)
+    return false;
+  if (x.inhomogeneous_term() != y.inhomogeneous_term())
+    return false;
+  for (dimension_type i = x.space_dimension(); i-- > 0; )
+    if (x.coefficient(Variable(i)) != y.coefficient(Variable(i)))
+      return false;
+  return true;
+}
+
+bool
+PIP_Tree_Node::Artificial_Parameter
+::operator!=(const PIP_Tree_Node::Artificial_Parameter& y) const {
+  return !operator==(y);
+}
+
+bool
+PIP_Tree_Node::Artificial_Parameter::OK() const {
+  if (denom <= 0) {
+#ifndef NDEBUG
+    std::cerr << "PIP_Tree_Node::Artificial_Parameter "
+              << "has a non-positive denominator.\n";
+#endif
+    return false;
+  }
+  return true;
+}
+
+void
+PIP_Tree_Node::Artificial_Parameter::ascii_dump(std::ostream& s) const {
+  s << "artificial_parameter ";
+  Linear_Expression::ascii_dump(s);
+  s << " / " << denom << "\n";
+}
+
+bool
+PIP_Tree_Node::Artificial_Parameter::ascii_load(std::istream& s) {
+  std::string str;
+  if (!(s >> str) || str != "artificial_parameter")
+    return false;
+  if (!Linear_Expression::ascii_load(s))
+    return false;
+  if (!(s >> str) || str != "/")
+    return false;
+  if (!(s >> denom))
+    return false;
+  PPL_ASSERT(OK());
+  return true;
+}
+
+PPL_OUTPUT_DEFINITIONS(PIP_Tree_Node::Artificial_Parameter)
+
+PIP_Solution_Node::PIP_Solution_Node(const PIP_Problem* owner)
+  : PIP_Tree_Node(owner),
+    tableau(),
+    basis(),
+    mapping(),
+    var_row(),
+    var_column(),
+    special_equality_row(0),
+    big_dimension(not_a_dimension()),
+    sign(),
+    solution(),
+    solution_valid(false) {
+}
+
+PIP_Solution_Node::PIP_Solution_Node(const PIP_Solution_Node& y)
+  : PIP_Tree_Node(y),
+    tableau(y.tableau),
+    basis(y.basis),
+    mapping(y.mapping),
+    var_row(y.var_row),
+    var_column(y.var_column),
+    special_equality_row(y.special_equality_row),
+    big_dimension(y.big_dimension),
+    sign(y.sign),
+    solution(y.solution),
+    solution_valid(y.solution_valid) {
+}
+
+PIP_Solution_Node::PIP_Solution_Node(const PIP_Solution_Node& y,
+                                     No_Constraints)
+  : PIP_Tree_Node(y.owner_), // NOTE: only copy owner.
+    tableau(y.tableau),
+    basis(y.basis),
+    mapping(y.mapping),
+    var_row(y.var_row),
+    var_column(y.var_column),
+    special_equality_row(y.special_equality_row),
+    big_dimension(y.big_dimension),
+    sign(y.sign),
+    solution(y.solution),
+    solution_valid(y.solution_valid) {
+}
+
+PIP_Solution_Node::~PIP_Solution_Node() {
+}
+
+PIP_Decision_Node::PIP_Decision_Node(const PIP_Problem* owner,
+                                     PIP_Tree_Node* fcp,
+                                     PIP_Tree_Node* tcp)
+  : PIP_Tree_Node(owner),
+    false_child(fcp),
+    true_child(tcp) {
+  if (false_child != 0)
+    false_child->set_parent(this);
+  if (true_child != 0)
+    true_child->set_parent(this);
+}
+
+PIP_Decision_Node::PIP_Decision_Node(const PIP_Decision_Node& y)
+  : PIP_Tree_Node(y),
+    false_child(0),
+    true_child(0) {
+  if (y.false_child != 0) {
+    false_child = y.false_child->clone();
+    false_child->set_parent(this);
+  }
+  // Protect false_child from exception safety issues via std::auto_ptr.
+  std::auto_ptr<PIP_Tree_Node> wrapped_node(false_child);
+  if (y.true_child != 0) {
+    true_child = y.true_child->clone();
+    true_child->set_parent(this);
+  }
+  // It is now safe to release false_child.
+  wrapped_node.release();
+}
+
+PIP_Decision_Node::~PIP_Decision_Node() {
+  delete false_child;
+  delete true_child;
+}
+
+void
+PIP_Solution_Node::set_owner(const PIP_Problem* owner) {
+  owner_ = owner;
+}
+
+void
+PIP_Decision_Node::set_owner(const PIP_Problem* owner) {
+  owner_ = owner;
+  if (false_child)
+    false_child->set_owner(owner);
+  if (true_child)
+    true_child->set_owner(owner);
+}
+
+bool
+PIP_Solution_Node::check_ownership(const PIP_Problem* owner) const {
+  return get_owner() == owner;
+}
+
+bool
+PIP_Decision_Node::check_ownership(const PIP_Problem* owner) const {
+  return get_owner() == owner
+    && (!false_child || false_child->check_ownership(owner))
+    && (!true_child || true_child->check_ownership(owner));
+}
+
+const PIP_Solution_Node*
+PIP_Tree_Node::as_solution() const {
+  return 0;
+}
+
+const PIP_Decision_Node*
+PIP_Tree_Node::as_decision() const {
+  return 0;
+}
+
+const PIP_Solution_Node*
+PIP_Solution_Node::as_solution() const {
+  return this;
+}
+
+const PIP_Decision_Node*
+PIP_Decision_Node::as_decision() const {
+  return this;
+}
+
+bool
+PIP_Solution_Node::Tableau::OK() const {
+  if (s.num_rows() != t.num_rows()) {
+#ifndef NDEBUG
+    std::cerr << "PIP_Solution_Node::Tableau matrices "
+              << "have a different number of rows.\n";
+#endif
+    return false;
+  }
+
+  if (!s.OK() || !t.OK()) {
+#ifndef NDEBUG
+    std::cerr << "A PIP_Solution_Node::Tableau matrix is broken.\n";
+#endif
+    return false;
+  }
+
+  if (denom <= 0) {
+#ifndef NDEBUG
+    std::cerr << "PIP_Solution_Node::Tableau with non-positive denominator.\n";
+#endif
+    return false;
+  }
+
+  // All tests passed.
+  return true;
+}
+
+bool
+PIP_Tree_Node::OK() const {
+#ifndef NDEBUG
+  using std::endl;
+  using std::cerr;
+#endif
+
+  const Constraint_System::const_iterator begin = constraints_.begin();
+  const Constraint_System::const_iterator end = constraints_.end();
+
+  // Parameter constraint system should contain no strict inequalities.
+  for (Constraint_System::const_iterator ci = begin; ci != end; ++ci)
+    if (ci->is_strict_inequality()) {
+#ifndef NDEBUG
+      cerr << "The feasible region of the PIP_Problem parameter context"
+           << "is defined by a constraint system containing strict "
+           << "inequalities."
+	   << endl;
+      ascii_dump(cerr);
+#endif
+      return false;
+    }
+  return true;
+}
+
+void
+PIP_Tree_Node
+::add_constraint(const Row& row, const Variables_Set& parameters) {
+  const dimension_type num_params = parameters.size();
+  PPL_ASSERT(num_params + 1 == row.size());
+
+  // Compute the expression for the parameter constraint.
+  Linear_Expression expr = Linear_Expression(row[0]);
+  // NOTE: iterating downward on parameters to avoid reallocations.
+  Variables_Set::const_reverse_iterator p_j = parameters.rbegin();
+  // NOTE: index j spans [1..num_params] downwards.
+  WEIGHT_BEGIN();
+  for (dimension_type j = num_params; j > 0; --j) {
+    add_mul_assign(expr, row[j], Variable(*p_j));
+    // Move to previous parameter.
+    ++p_j;
+  }
+  WEIGHT_ADD_MUL(1, num_params);
+
+  // Add the parameter constraint.
+  constraints_.insert(expr >= 0);
+}
+
+void
+PIP_Tree_Node::parent_merge() {
+  const PIP_Decision_Node& parent = *parent_;
+
+  // Merge the parent's artificial parameters.
+  artificial_parameters.insert(artificial_parameters.begin(),
+                               parent.art_parameter_begin(),
+                               parent.art_parameter_end());
+
+  PPL_ASSERT(OK());
+}
+
+bool
+PIP_Solution_Node::OK() const {
+#ifndef NDEBUG
+  using std::cerr;
+#endif
+  if (!PIP_Tree_Node::OK())
+    return false;
+
+  // Check that every member used is OK.
+
+  if (!tableau.OK())
+    return false;
+
+  // Check coherency of basis, mapping, var_row and var_column
+  if (basis.size() != mapping.size()) {
+#ifndef NDEBUG
+    cerr << "The PIP_Solution_Node::basis and PIP_Solution_Node::mapping "
+         << "vectors do not have the same number of elements.\n";
+#endif
+    return false;
+  }
+  if (basis.size() != var_row.size() + var_column.size()) {
+#ifndef NDEBUG
+    cerr << "The sum of number of elements in the PIP_Solution_Node::var_row "
+         << "and PIP_Solution_Node::var_column vectors is different from the "
+         << "number of elements in the PIP_Solution_Node::basis vector.\n";
+#endif
+    return false;
+  }
+  if (var_column.size() != tableau.s.num_columns()) {
+#ifndef NDEBUG
+    cerr << "The number of elements in the PIP_Solution_Node::var_column "
+         << "vector is different from the number of columns in the "
+         << "PIP_Solution_Node::tableau.s Matrix.\n";
+#endif
+    return false;
+  }
+  if (var_row.size() != tableau.s.num_rows()) {
+#ifndef NDEBUG
+    cerr << "The number of elements in the PIP_Solution_Node::var_row "
+         << "vector is different from the number of rows in the "
+         << "PIP_Solution_Node::tableau.s Matrix.\n";
+#endif
+    return false;
+  }
+  for (dimension_type i = mapping.size(); i-- > 0; ) {
+    const dimension_type rowcol = mapping[i];
+    if (basis[i] && var_column[rowcol] != i) {
+#ifndef NDEBUG
+      cerr << "Variable " << i << " is basic and corresponds to column "
+           << rowcol << " but PIP_Solution_Node::var_column[" << rowcol
+           << "] does not correspond to variable " << i << ".\n";
+#endif
+      return false;
+    }
+    if (!basis[i] && var_row[rowcol] != i) {
+#ifndef NDEBUG
+      cerr << "Variable " << i << " is nonbasic and corresponds to row "
+           << rowcol << " but PIP_Solution_Node::var_row[" << rowcol
+           << "] does not correspond to variable " << i << ".\n";
+#endif
+      return false;
+    }
+  }
+  // All checks passed.
+  return true;
+}
+
+bool
+PIP_Decision_Node::OK() const {
+  // Perform base class well-formedness check on this node.
+  if (!PIP_Tree_Node::OK())
+    return false;
+
+  // Recursively check if child nodes are well-formed.
+  if (false_child && !false_child->OK())
+    return false;
+  if (true_child && !true_child->OK())
+    return false;
+
+  // Decision nodes should always have a true child.
+  if (!true_child) {
+#ifndef NDEBUG
+    std::cerr << "PIP_Decision_Node with no 'true' child.\n";
+#endif
+    return false;
+  }
+
+  // Decision nodes with a false child must have exactly one constraint.
+  if (false_child) {
+    dimension_type
+      dist = std::distance(constraints_.begin(), constraints_.end());
+    if (dist != 1) {
+#ifndef NDEBUG
+      std::cerr << "PIP_Decision_Node with a 'false' child has "
+                << dist << " parametric constraints (should be 1).\n";
+#endif
+      return false;
+    }
+  }
+
+  // All checks passed.
+  return true;
+}
+
+void
+PIP_Decision_Node::update_tableau(const PIP_Problem& pip,
+                                  const dimension_type external_space_dim,
+                                  const dimension_type first_pending_constraint,
+                                  const Constraint_Sequence& input_cs,
+                                  const Variables_Set& parameters) {
+  true_child->update_tableau(pip,
+                             external_space_dim,
+                             first_pending_constraint,
+                             input_cs,
+                             parameters);
+  if (false_child)
+    false_child->update_tableau(pip,
+                                external_space_dim,
+                                first_pending_constraint,
+                                input_cs,
+                                parameters);
+  PPL_ASSERT(OK());
+}
+
+PIP_Tree_Node*
+PIP_Decision_Node::solve(const PIP_Problem& pip,
+                         const bool check_feasible_context,
+                         const Matrix& context,
+                         const Variables_Set& params,
+                         dimension_type space_dim) {
+  PPL_ASSERT(true_child != 0);
+  Matrix context_true(context);
+  Variables_Set all_params(params);
+  const dimension_type num_art_params = artificial_parameters.size();
+  add_artificial_parameters(context_true, all_params, space_dim,
+                            num_art_params);
+  merge_assign(context_true, constraints_, all_params);
+  bool has_false_child = (false_child != 0);
+  bool has_true_child = (true_child != 0);
+  true_child = true_child->solve(pip, check_feasible_context,
+                                 context_true, all_params, space_dim);
+
+  if (has_false_child) {
+    // Decision nodes with false child must have exactly one constraint
+    PPL_ASSERT(1 == std::distance(constraints_.begin(), constraints_.end()));
+    // NOTE: modify context_true in place, complementing its last constraint.
+    Matrix& context_false = context_true;
+    Row& last = context_false[context_false.num_rows()-1];
+    complement_assign(last, last, 1);
+    false_child = false_child->solve(pip, check_feasible_context,
+                                     context_false, all_params, space_dim);
+  }
+
+  if (true_child == 0 && false_child == 0) {
+    // No childs: the whole subtree is unfeasible.
+    delete this;
+    return 0;
+  }
+
+  PIP_Tree_Node* node = this;
+  if (has_false_child && false_child == 0) {
+    // False child has become unfeasible: merge this node's artificials with
+    // the true child, while removing the local parameter constraints, which
+    // are no longer discriminative.
+    true_child->parent_merge();
+    true_child->set_parent(parent());
+    node = true_child;
+    true_child = 0;
+    delete this;
+  }
+  else if (has_true_child && true_child == 0) {
+    // True child has become unfeasible: merge this node's artificials
+    // with the false child.
+    false_child->parent_merge();
+    false_child->set_parent(parent());
+    node = false_child;
+    false_child = 0;
+    delete this;
+  }
+  else if (check_feasible_context) {
+    // Test all constraints for redundancy with the context, and eliminate
+    // them if not necessary.
+    Constraint_System cs;
+    cs.swap(constraints_);
+    const Constraint_System::const_iterator end = cs.end();
+    for (Constraint_System::const_iterator ci = cs.begin(); ci != end; ++ci) {
+      Matrix ctx_copy(context);
+      merge_assign(ctx_copy, Constraint_System(*ci), all_params);
+      Row& last = ctx_copy[ctx_copy.num_rows()-1];
+      complement_assign(last, last, 1);
+      if (compatibility_check(ctx_copy)) {
+        // The constraint is not redundant with the context: we must keep it.
+        constraints_.insert(*ci);
+      }
+    }
+    // If the constraints set has become empty, only keep the true child.
+    if (constraints_.empty()) {
+      true_child->parent_merge();
+      true_child->set_parent(parent());
+      node = true_child;
+      true_child = 0;
+      delete this;
+    }
+  }
+  PPL_ASSERT(node->OK());
+  return node;
+}
+
+void
+PIP_Decision_Node::ascii_dump(std::ostream& s) const {
+  // Dump base class info.
+  PIP_Tree_Node::ascii_dump(s);
+
+  // Dump true child (if any).
+  s << "\ntrue_child: ";
+  if (true_child == 0) {
+    // Note: this branch should normally be unreachable code, since a
+    // well-formed decision node always has a true child. We keep this code
+    // for debugging purposes (since we want to dump broken nodes).
+    s << "BOTTOM\n";
+  }
+  else if (const PIP_Decision_Node* dec = true_child->as_decision()) {
+    s << "DECISION\n";
+    dec->ascii_dump(s);
+  }
+  else {
+    const PIP_Solution_Node* sol = true_child->as_solution();
+    PPL_ASSERT(sol != 0);
+    s << "SOLUTION\n";
+    sol->ascii_dump(s);
+  }
+
+  // Dump false child (if any).
+  s << "\nfalse_child: ";
+  if (false_child == 0)
+    s << "BOTTOM\n";
+  else if (const PIP_Decision_Node* dec = false_child->as_decision()) {
+    // Note: this branch should normally be unreachable code.
+    // Since a well-formed decision node having a false child should have
+    // a single context constraint, its false child will have no context
+    // constraints at all, so that no further branch is possible.
+    // We keep this code for debugging purposes.
+    s << "DECISION\n";
+    dec->ascii_dump(s);
+  }
+  else {
+    const PIP_Solution_Node* sol = false_child->as_solution();
+    PPL_ASSERT(sol != 0);
+    s << "SOLUTION\n";
+    sol->ascii_dump(s);
+  }
+}
+
+bool
+PIP_Decision_Node::ascii_load(std::istream& s) {
+  std::string str;
+
+  // Load base class info.
+  if (!PIP_Tree_Node::ascii_load(s))
+    return false;
+
+  // Release the "true" subtree (if any).
+  delete true_child;
+  true_child = 0;
+
+  // Load true child (if any).
+  if (!(s >> str) || str != "true_child:")
+    return false;
+  if (!(s >> str))
+    return false;
+  if (str == "BOTTOM")
+    // Note: normally unreachable code (see comment on ascii_dump).
+    true_child = 0;
+  else if (str == "DECISION") {
+    PIP_Decision_Node* dec = new PIP_Decision_Node(0, 0, 0);
+    true_child = dec;
+    if (!dec->ascii_load(s))
+      return false;
+  }
+  else if (str == "SOLUTION") {
+    PIP_Solution_Node* sol = new PIP_Solution_Node(0);
+    true_child = sol;
+    if (!sol->ascii_load(s))
+      return false;
+  }
+  else
+    // Unknown node kind.
+    return false;
+
+  // Release the "false" subtree (if any).
+  delete false_child;
+  false_child = 0;
+
+  // Load false child (if any).
+  if (!(s >> str) || str != "false_child:")
+    return false;
+  if (!(s >> str))
+    return false;
+  if (str == "BOTTOM")
+    false_child = 0;
+  else if (str == "DECISION") {
+    // Note: normally unreachable code (see comment on ascii_dump).
+    PIP_Decision_Node* dec = new PIP_Decision_Node(0, 0, 0);
+    false_child = dec;
+    if (!dec->ascii_load(s))
+      return false;
+  }
+  else if (str == "SOLUTION") {
+    PIP_Solution_Node* sol = new PIP_Solution_Node(0);
+    false_child = sol;
+    if (!sol->ascii_load(s))
+      return false;
+  }
+  else
+    // Unknown node kind.
+    return false;
+
+  // Loaded all info.
+  PPL_ASSERT(OK());
+  return true;
+}
+
+
+void
+PIP_Solution_Node::Tableau::normalize() {
+  if (denom == 1)
+    return;
+
+  const dimension_type num_rows = s.num_rows();
+  const dimension_type s_cols = s.num_columns();
+  const dimension_type t_cols = t.num_columns();
+
+  // Compute global gcd.
+  PPL_DIRTY_TEMP_COEFFICIENT(gcd);
+  gcd = denom;
+  for (dimension_type i = num_rows; i-- > 0; ) {
+    WEIGHT_BEGIN();
+    const Row& s_i = s[i];
+    for (dimension_type j = s_cols; j-- > 0; ) {
+      const Coefficient& s_ij = s_i[j];
+      if (s_ij != 0) {
+        WEIGHT_ADD(1);
+        gcd_assign(gcd, s_ij, gcd);
+        if (gcd == 1)
+          return;
+      }
+    }
+    WEIGHT_BEGIN();
+    const Row& t_i = t[i];
+    for (dimension_type j = t_cols; j-- > 0; ) {
+      const Coefficient& t_ij = t_i[j];
+      if (t_ij != 0) {
+        WEIGHT_ADD(1);
+        gcd_assign(gcd, t_ij, gcd);
+        if (gcd == 1)
+          return;
+      }
+    }
+  }
+
+  PPL_ASSERT(gcd > 1);
+  // Normalize all coefficients.
+  WEIGHT_BEGIN();
+  for (dimension_type i = num_rows; i-- > 0; ) {
+    Row& s_i = s[i];
+    for (dimension_type j = s_cols; j-- > 0; ) {
+      Coefficient& s_ij = s_i[j];
+      exact_div_assign(s_ij, s_ij, gcd);
+    }
+    Row& t_i = t[i];
+    for (dimension_type j = t_cols; j-- > 0; ) {
+      Coefficient& t_ij = t_i[j];
+      exact_div_assign(t_ij, t_ij, gcd);
+    }
+  }
+  WEIGHT_ADD_MUL(s_cols + t_cols, num_rows);
+  // Normalize denominator.
+  exact_div_assign(denom, denom, gcd);
+}
+
+void
+PIP_Solution_Node::Tableau::scale(Coefficient_traits::const_reference ratio) {
+  WEIGHT_BEGIN();
+  const dimension_type num_rows = s.num_rows();
+  const dimension_type s_cols = s.num_columns();
+  const dimension_type t_cols = t.num_columns();
+  for (dimension_type i = num_rows; i-- > 0; ) {
+    Row& s_i = s[i];
+    for (dimension_type j = s_cols; j-- > 0; )
+      s_i[j] *= ratio;
+    Row& t_i = t[i];
+    for (dimension_type j = t_cols; j-- > 0; )
+      t_i[j] *= ratio;
+  }
+  WEIGHT_ADD_MUL(s_cols + t_cols, num_rows);
+  denom *= ratio;
+}
+
+bool
+PIP_Solution_Node::Tableau
+::is_better_pivot(const std::vector<dimension_type>& mapping,
+                  const std::vector<bool>& basis,
+                  const dimension_type row_0,
+                  const dimension_type col_0,
+                  const dimension_type row_1,
+                  const dimension_type col_1) const {
+  const dimension_type num_params = t.num_columns();
+  const dimension_type num_rows = s.num_rows();
+  const Row& s_0 = s[row_0];
+  const Row& s_1 = s[row_1];
+  const Coefficient& s_0_0 = s_0[col_0];
+  const Coefficient& s_1_1 = s_1[col_1];
+  const Row& t_0 = t[row_0];
+  const Row& t_1 = t[row_1];
+  PPL_DIRTY_TEMP_COEFFICIENT(coeff_0);
+  PPL_DIRTY_TEMP_COEFFICIENT(coeff_1);
+  PPL_DIRTY_TEMP_COEFFICIENT(product_0);
+  PPL_DIRTY_TEMP_COEFFICIENT(product_1);
+  WEIGHT_BEGIN();
+  // On exit from the loop, if j_mismatch == num_params then
+  // no column mismatch was found.
+  dimension_type j_mismatch = num_params;
+  for (dimension_type j = 0; j < num_params; ++j) {
+    coeff_0 = t_0[j] * s_1_1;
+    coeff_1 = t_1[j] * s_0_0;
+    WEIGHT_ADD(2);
+    for (dimension_type i = 0; i < num_rows; ++i) {
+      const Row& s_i = s[i];
+      product_0 = coeff_0 * s_i[col_0];
+      product_1 = coeff_1 * s_i[col_1];
+      WEIGHT_ADD(2);
+      if (product_0 != product_1) {
+        // Mismatch found: exit from both loops.
+        j_mismatch = j;
+        goto end_loop;
+      }
+    }
+  }
+
+ end_loop:
+  return (j_mismatch != num_params)
+    && column_lower(s, mapping, basis, s_0, col_0, s_1, col_1,
+                    t_0[j_mismatch], t_1[j_mismatch]);
+}
+
+void
+PIP_Tree_Node::ascii_dump(std::ostream& s) const {
+  s << "constraints_\n";
+  constraints_.ascii_dump(s);
+  dimension_type artificial_parameters_size = artificial_parameters.size();
+  s << "\nartificial_parameters( " << artificial_parameters_size << " )\n";
+  for (dimension_type i = 0; i < artificial_parameters_size; ++i)
+    artificial_parameters[i].ascii_dump(s);
+}
+
+bool
+PIP_Tree_Node::ascii_load(std::istream& s) {
+  std::string str;
+  if (!(s >> str) || str != "constraints_")
+    return false;
+  constraints_.ascii_load(s);
+
+  if (!(s >> str) || str != "artificial_parameters(")
+    return false;
+  dimension_type artificial_parameters_size;
+  if (!(s >> artificial_parameters_size))
+    return false;
+  if (!(s >> str) || str != ")")
+    return false;
+  Artificial_Parameter ap;
+  for (dimension_type i = 0; i < artificial_parameters_size; ++i) {
+    if (!ap.ascii_load(s))
+      return false;
+    artificial_parameters.push_back(ap);
+  }
+
+  // Note: do not assert OK() here.
+  // The node invariants should be checked on derived nodes.
+  return true;
+}
+
+PIP_Tree_Node*
+PIP_Solution_Node::clone() const {
+  return new PIP_Solution_Node(*this);
+}
+
+PIP_Tree_Node*
+PIP_Decision_Node::clone() const {
+  return new PIP_Decision_Node(*this);
+}
+
+void
+PIP_Solution_Node::Tableau::ascii_dump(std::ostream& st) const {
+  st << "denominator " << denom << "\n";
+  st << "variables ";
+  s.ascii_dump(st);
+  st << "parameters ";
+  t.ascii_dump(st);
+}
+
+bool
+PIP_Solution_Node::Tableau::ascii_load(std::istream& st) {
+  std::string str;
+  if (!(st >> str) || str != "denominator")
+    return false;
+  Coefficient den;
+  if (!(st >> den))
+    return false;
+  denom = den;
+  if (!(st >> str) || str != "variables")
+    return false;
+  if (!s.ascii_load(st))
+    return false;
+  if (!(st >> str) || str != "parameters")
+    return false;
+  if (!t.ascii_load(st))
+    return false;
+  PPL_ASSERT(OK());
+  return true;
+}
+
+void
+PIP_Solution_Node::ascii_dump(std::ostream& s) const {
+  PIP_Tree_Node::ascii_dump(s);
+
+  s << "\ntableau\n";
+  tableau.ascii_dump(s);
+
+  s << "\nbasis ";
+  dimension_type basis_size = basis.size();
+  s << basis_size;
+  for (dimension_type i = 0; i < basis_size; ++i)
+    s << (basis[i] ? " true" : " false");
+
+  s << "\nmapping ";
+  dimension_type mapping_size = mapping.size();
+  s << mapping_size;
+  for (dimension_type i = 0; i < mapping_size; ++i)
+    s << " " << mapping[i];
+
+  s << "\nvar_row ";
+  dimension_type var_row_size = var_row.size();
+  s << var_row_size;
+  for (dimension_type i = 0; i < var_row_size; ++i)
+    s << " " << var_row[i];
+
+  s << "\nvar_column ";
+  dimension_type var_column_size = var_column.size();
+  s << var_column_size;
+  for (dimension_type i = 0; i < var_column_size; ++i)
+    s << " " << var_column[i];
+  s << "\n";
+
+  s << "special_equality_row " << special_equality_row << "\n";
+  s << "big_dimension " << big_dimension << "\n";
+
+  s << "sign ";
+  dimension_type sign_size = sign.size();
+  s << sign_size;
+  for (dimension_type i = 0; i < sign_size; ++i) {
+    s << " ";
+    switch (sign[i]) {
+    case UNKNOWN:
+      s << "UNKNOWN";
+      break;
+    case ZERO:
+      s << "ZERO";
+      break;
+    case POSITIVE:
+      s << "POSITIVE";
+      break;
+    case NEGATIVE:
+      s << "NEGATIVE";
+      break;
+    case MIXED:
+      s << "MIXED";
+      break;
+    }
+  }
+  s << "\n";
+
+  dimension_type solution_size = solution.size();
+  s << "solution " << solution_size << "\n";
+  for (dimension_type i = 0; i < solution_size; ++i)
+    solution[i].ascii_dump(s);
+  s << "\n";
+
+  s << "solution_valid " << (solution_valid ? "true" : "false") << "\n";
+}
+
+bool
+PIP_Solution_Node::ascii_load(std::istream& s) {
+  if (!PIP_Tree_Node::ascii_load(s))
+    return false;
+
+  std::string str;
+  if (!(s >> str) || str != "tableau")
+    return false;
+  if (!tableau.ascii_load(s))
+    return false;
+
+  if (!(s >> str) || str != "basis")
+    return false;
+  dimension_type basis_size;
+  if (!(s >> basis_size))
+    return false;
+  basis.clear();
+  for (dimension_type i = 0; i < basis_size; ++i) {
+    if (!(s >> str))
+      return false;
+    bool val = false;
+    if (str == "true")
+      val = true;
+    else if (str != "false")
+      return false;
+    basis.push_back(val);
+  }
+
+  if (!(s >> str) || str != "mapping")
+    return false;
+  dimension_type mapping_size;
+  if (!(s >> mapping_size))
+    return false;
+  mapping.clear();
+  for (dimension_type i = 0; i < mapping_size; ++i) {
+    dimension_type val;
+    if (!(s >> val))
+      return false;
+    mapping.push_back(val);
+  }
+
+  if (!(s >> str) || str != "var_row")
+    return false;
+  dimension_type var_row_size;
+  if (!(s >> var_row_size))
+    return false;
+  var_row.clear();
+  for (dimension_type i = 0; i < var_row_size; ++i) {
+    dimension_type val;
+    if (!(s >> val))
+      return false;
+    var_row.push_back(val);
+  }
+
+  if (!(s >> str) || str != "var_column")
+    return false;
+  dimension_type var_column_size;
+  if (!(s >> var_column_size))
+    return false;
+  var_column.clear();
+  for (dimension_type i = 0; i < var_column_size; ++i) {
+    dimension_type val;
+    if (!(s >> val))
+      return false;
+    var_column.push_back(val);
+  }
+
+  if (!(s >> str) || str != "special_equality_row")
+    return false;
+  if (!(s >> special_equality_row))
+    return false;
+
+  if (!(s >> str) || str != "big_dimension")
+    return false;
+  if (!(s >> big_dimension))
+    return false;
+
+  if (!(s >> str) || str != "sign")
+    return false;
+  dimension_type sign_size;
+  if (!(s >> sign_size))
+    return false;
+  sign.clear();
+  for (dimension_type i = 0; i < sign_size; ++i) {
+    if (!(s >> str))
+      return false;
+    Row_Sign val;
+    if (str == "UNKNOWN")
+      val = UNKNOWN;
+    else if (str == "ZERO")
+      val = ZERO;
+    else if (str == "POSITIVE")
+      val = POSITIVE;
+    else if (str == "NEGATIVE")
+      val = NEGATIVE;
+    else if (str == "MIXED")
+      val = MIXED;
+    else
+      return false;
+    sign.push_back(val);
+  }
+
+  if (!(s >> str) || str != "solution")
+    return false;
+  dimension_type solution_size;
+  if (!(s >> solution_size))
+    return false;
+  solution.clear();
+  for (dimension_type i = 0; i < solution_size; ++i) {
+    Linear_Expression val;
+    if (!val.ascii_load(s))
+      return false;
+    solution.push_back(val);
+  }
+
+  if (!(s >> str) || str != "solution_valid")
+    return false;
+  if (!(s >> str))
+    return false;
+  if (str == "true")
+    solution_valid = true;
+  else if (str == "false")
+    solution_valid = false;
+  else
+    return false;
+
+  PPL_ASSERT(OK());
+  return true;
+}
+
+PIP_Solution_Node::Row_Sign
+PIP_Solution_Node::row_sign(const Row& x,
+                            const dimension_type big_dimension) {
+  if (big_dimension != not_a_dimension()) {
+    // If a big parameter has been set and its coefficient is not zero,
+    // then return the sign of the coefficient.
+    const Coefficient& x_big = x[big_dimension];
+    if (x_big > 0)
+      return POSITIVE;
+    if (x_big < 0)
+      return NEGATIVE;
+    // Otherwise x_big == 0, then no big parameter involved.
+  }
+
+  PIP_Solution_Node::Row_Sign sign = ZERO;
+  for (int i = x.size(); i-- > 0; ) {
+    const Coefficient& x_i = x[i];
+    if (x_i > 0) {
+      if (sign == NEGATIVE)
+        return MIXED;
+      sign = POSITIVE;
+    }
+    else if (x_i < 0) {
+      if (sign == POSITIVE)
+        return MIXED;
+      sign = NEGATIVE;
+    }
+  }
+  return sign;
+}
+
+bool
+PIP_Tree_Node::compatibility_check(const Matrix& context, const Row& row) {
+  // CHECKME: do `context' and `row' have compatible (row) capacity?
+  Matrix s(context);
+  s.add_row(row);
+  return compatibility_check(s);
+}
+
+bool
+PIP_Tree_Node::compatibility_check(Matrix& s) {
+  PPL_ASSERT(s.OK());
+  // Note: num_rows may increase.
+  dimension_type num_rows = s.num_rows();
+  const dimension_type num_cols = s.num_columns();
+  const dimension_type num_vars = num_cols - 1;
+
+  std::vector<Coefficient> scaling(num_rows, 1);
+  std::vector<bool> basis;
+  basis.reserve(num_vars + num_rows);
+  std::vector<dimension_type> mapping;
+  mapping.reserve(num_vars + num_rows);
+  std::vector<dimension_type> var_row;
+  var_row.reserve(num_rows);
+  std::vector<dimension_type> var_column;
+  var_column.reserve(num_cols);
+
+  // Column 0 is the constant term, not a variable
+  var_column.push_back(not_a_dimension());
+  for (dimension_type j = 1; j <= num_vars; ++j) {
+    basis.push_back(true);
+    mapping.push_back(j);
+    var_column.push_back(j-1);
+  }
+  for (dimension_type i = 0; i < num_rows; ++i) {
+    basis.push_back(false);
+    mapping.push_back(i);
+    var_row.push_back(i+num_vars);
+  }
+
+  // Scaling factor (i.e., denominator) for pivot coefficients.
+  PPL_DIRTY_TEMP_COEFFICIENT(pivot_den);
+  // Allocate once and for all: short life temporaries.
+  PPL_DIRTY_TEMP_COEFFICIENT(product);
+  PPL_DIRTY_TEMP_COEFFICIENT(gcd);
+  PPL_DIRTY_TEMP_COEFFICIENT(scale_factor);
+
+  // Perform simplex pivots on the context
+  // until we find an empty solution or an optimum.
+  while (true) {
+    // Check if the client has requested abandoning all expensive
+    // computations. If so, the exception specified by the client
+    // is thrown now.
+    maybe_abandon();
+
+    dimension_type pi = num_rows; // pi is the pivot's row index.
+    dimension_type pj = 0;        // pj is the pivot's column index.
+
+    // Look for a negative RHS (i.e., constant term, stored in column 0),
+    // maximizing pivot column.
+    for (dimension_type i = 0; i < num_rows; ++i) {
+      const Row& s_i = s[i];
+      if (s_i[0] < 0) {
+        dimension_type j;
+        if (!find_lexico_minimum_column(s, mapping, basis, s_i, 1, j)) {
+          // No positive pivot candidate: unfeasible problem.
+          return false;
+        }
+        // Update pair (pi, pj) if they are still unset or
+        // if the challenger pair (i, j) is better in the ordering.
+        if (pj == 0
+            || column_lower(s, mapping, basis,
+                            s[pi], pj, s_i, j,
+                            s[pi][0], s_i[0])) {
+          pi = i;
+          pj = j;
+        }
+      }
+    }
+
+    if (pj == 0) {
+      // No negative RHS: fractional optimum found.
+      // If it is integer, then the test is successful.
+      // Otherwise, generate a new cut.
+      bool all_integer_vars = true;
+      // NOTE: iterating downwards would be correct, but it would change
+      // the ordering of cut generation.
+      WEIGHT_BEGIN();
+      for (dimension_type i = 0; i < num_vars; ++i) {
+        if (basis[i])
+          // Basic variable = 0, hence integer.
+          continue;
+        // Not a basic variable.
+        WEIGHT_ADD(1);
+        const dimension_type mi = mapping[i];
+        const Coefficient& den = scaling[mi];
+        if (s[mi][0] % den == 0)
+          continue;
+        // Here constant term is not integer.
+        all_integer_vars = false;
+        // Generate a new cut.
+        var_row.push_back(mapping.size());
+        basis.push_back(false);
+        mapping.push_back(num_rows);
+        s.add_zero_rows(1, Row::Flags());
+        Row& cut = s[num_rows];
+        ++num_rows;
+        const Row& s_mi = s[mi];
+        for (dimension_type j = num_cols; j-- > 0; )
+          mod_assign(cut[j], s_mi[j], den);
+        WEIGHT_ADD_MUL(1, num_cols);
+        cut[0] -= den;
+        scaling.push_back(den);
+      }
+      // Check if an integer solution was found.
+      if (all_integer_vars)
+        return true;
+      else
+        continue;
+    }
+
+    // Here we have a positive s[pi][pj] pivot.
+
+    // Normalize the tableau before pivoting.
+    for (dimension_type i = num_rows; i-- > 0; )
+      row_normalize(s[i], scaling[i]);
+
+    // Update basis.
+    {
+      const dimension_type var_pi = var_row[pi];
+      const dimension_type var_pj = var_column[pj];
+      var_row[pi] = var_pj;
+      var_column[pj] = var_pi;
+      basis[var_pi] = true;
+      basis[var_pj] = false;
+      mapping[var_pi] = pj;
+      mapping[var_pj] = pi;
+    }
+
+    // Create an identity row corresponding to basic variable pj.
+    s.add_zero_rows(1, Row::Flags());
+    Row& pivot = s[num_rows];
+    pivot[pj] = 1;
+
+    // Swap identity row with the pivot row previously found.
+    std::swap(pivot, s[pi]);
+    // Save original pivot scaling factor in a temporary,
+    // then reset scaling factor for identity row.
+    pivot_den = scaling[pi];
+    scaling[pi] = 1;
+
+    // Perform a pivot operation on the matrix.
+    const Coefficient& pivot_pj = pivot[pj];
+    for (dimension_type j = num_cols; j-- > 0; ) {
+      if (j == pj)
+        continue;
+      const Coefficient& pivot_j = pivot[j];
+      // Do nothing if the j-th pivot element is zero.
+      if (pivot_j == 0)
+        continue;
+      WEIGHT_BEGIN();
+      for (dimension_type i = num_rows; i-- > 0; ) {
+        Row& s_i = s[i];
+        product = s_i[pj] * pivot_j;
+        if (product % pivot_pj != 0) {
+          WEIGHT_ADD(4);
+          // Must scale row s_i to stay in integer case.
+          gcd_assign(gcd, product, pivot_pj);
+          exact_div_assign(scale_factor, pivot_pj, gcd);
+          for (dimension_type k = num_cols; k-- > 0; )
+            s_i[k] *= scale_factor;
+          WEIGHT_ADD_MUL(1, num_cols);
+          product *= scale_factor;
+          scaling[i] *= scale_factor;
+        }
+        PPL_ASSERT(product % pivot_pj == 0);
+        exact_div_assign(product, product, pivot_pj);
+        s_i[j] -= product;
+        WEIGHT_ADD(4);
+      }
+    }
+    // Update column only if pivot coordinate != 1.
+    if (pivot_pj != pivot_den) {
+      WEIGHT_BEGIN();
+      for (dimension_type i = num_rows; i-- > 0; ) {
+        Row& s_i = s[i];
+        Coefficient& s_i_pj = s_i[pj];
+        product = s_i_pj * pivot_den;
+        if (product % pivot_pj != 0) {
+          WEIGHT_ADD(4);
+          // As above, perform row scaling.
+          gcd_assign(gcd, product, pivot_pj);
+          exact_div_assign(scale_factor, pivot_pj, gcd);
+          for (dimension_type k = num_cols; k-- > 0; )
+            s_i[k] *= scale_factor;
+          WEIGHT_ADD_MUL(1, num_cols);
+          product *= scale_factor;
+          scaling[i] *= scale_factor;
+        }
+        PPL_ASSERT(product % pivot_pj == 0);
+        exact_div_assign(s_i_pj, product, pivot_pj);
+        WEIGHT_ADD(3);
+      }
+    }
+    // Drop pivot to restore proper matrix size.
+    s.erase_to_end(num_rows);
+  }
+
+  // This point should be unreachable.
+  throw std::runtime_error("PPL internal error");
+}
+
+void
+PIP_Solution_Node::update_tableau(const PIP_Problem& pip,
+                                  const dimension_type external_space_dim,
+                                  const dimension_type first_pending_constraint,
+                                  const Constraint_Sequence& input_cs,
+                                  const Variables_Set& parameters) {
+  // Make sure a parameter column exists, for the inhomogeneous term.
+  if (tableau.t.num_columns() == 0)
+    tableau.t.add_zero_columns(1);
+
+  // NOTE: here 'params' stands for problem (i.e., non artificial) parameters.
+  const dimension_type old_num_vars = tableau.s.num_columns();
+  const dimension_type old_num_params
+    = pip.internal_space_dim - old_num_vars;
+  const dimension_type num_added_dims
+    = pip.external_space_dim - pip.internal_space_dim;
+  const dimension_type new_num_params = parameters.size();
+  const dimension_type num_added_params = new_num_params - old_num_params;
+  const dimension_type num_added_vars = num_added_dims - num_added_params;
+
+  const dimension_type old_num_art_params
+    = tableau.t.num_columns() - 1 - old_num_params;
+
+  // Resize the two tableau matrices.
+  if (num_added_vars > 0)
+    tableau.s.add_zero_columns(num_added_vars);
+  if (num_added_params > 0)
+    tableau.t.add_zero_columns(num_added_params);
+
+  if (num_added_params > 0 && old_num_art_params > 0) {
+    // Shift to the right the columns of artificial parameters.
+    std::vector<dimension_type> swaps;
+    swaps.reserve(3*old_num_art_params);
+    const dimension_type first_ap = 1 + old_num_params;
+    for (dimension_type i = 0; i < old_num_art_params; ++i) {
+      dimension_type old_ap = first_ap + i;
+      dimension_type new_ap = old_ap + num_added_params;
+      swaps.push_back(old_ap);
+      swaps.push_back(new_ap);
+      swaps.push_back(0);
+    }
+    tableau.t.permute_columns(swaps);
+  }
+
+  dimension_type new_var_column = old_num_vars;
+  const dimension_type initial_space_dim = old_num_vars + old_num_params;
+  for (dimension_type i = initial_space_dim; i < external_space_dim; ++i) {
+    if (parameters.count(i) == 0) {
+      // A new problem variable.
+      if (tableau.s.num_rows() == 0) {
+        // No rows have been added yet
+        basis.push_back(true);
+        mapping.push_back(new_var_column);
+      }
+      else {
+        /*
+          Need to insert the original variable id
+          before the slack variable id's to respect variable ordering.
+        */
+        basis.insert(basis.begin() + new_var_column, true);
+        mapping.insert(mapping.begin() + new_var_column, new_var_column);
+        // Update variable id's of slack variables.
+        for (dimension_type j = var_row.size(); j-- > 0; )
+          if (var_row[j] >= new_var_column)
+            ++var_row[j];
+        for (dimension_type j = var_column.size(); j-- > 0; )
+          if (var_column[j] >= new_var_column)
+            ++var_column[j];
+        if (special_equality_row > 0)
+          ++special_equality_row;
+      }
+      var_column.push_back(new_var_column);
+      ++new_var_column;
+    }
+  }
+
+  if (big_dimension == not_a_dimension()
+      && pip.big_parameter_dimension != not_a_dimension()) {
+    // Compute the column number of big parameter in tableau.t matrix.
+    Variables_Set::const_iterator pos
+      = parameters.find(pip.big_parameter_dimension);
+    big_dimension = std::distance(parameters.begin(), pos) + 1;
+  }
+
+  const Coefficient& denom = tableau.denominator();
+  for (Constraint_Sequence::const_iterator
+         c_iter = input_cs.begin() + first_pending_constraint,
+         c_end = input_cs.end(); c_iter != c_end; ++c_iter) {
+    const Constraint& constraint = *c_iter;
+    // (Tentatively) Add new rows to s and t matrices.
+    // These will be removed at the end if they turn out to be useless.
+    const dimension_type row_id = tableau.s.num_rows();
+    tableau.s.add_zero_rows(1,  Row::Flags());
+    tableau.t.add_zero_rows(1,  Row::Flags());
+    Row& v_row = tableau.s[row_id];
+    Row& p_row = tableau.t[row_id];
+
+    // Setting the inhomogeneus term.
+    p_row[0] = constraint.inhomogeneous_term();
+    if (constraint.is_strict_inequality())
+      // Transform (expr > 0) into (expr - 1 >= 0).
+      --p_row[0];
+    p_row[0] *= denom;
+
+    WEIGHT_BEGIN();
+    dimension_type p_index = 1;
+    dimension_type v_index = 0;
+    for (dimension_type i = 0,
+           i_end = constraint.space_dimension(); i != i_end; ++i) {
+      const bool is_parameter = (1 == parameters.count(i));
+      const Coefficient& coeff_i = constraint.coefficient(Variable(i));
+      if (coeff_i == 0) {
+        // Optimize computation below: only update p/v index.
+        if (is_parameter)
+          ++p_index;
+        else
+          ++v_index;
+        // Jump to next iteration.
+        continue;
+      }
+
+      WEIGHT_ADD(1);
+      if (is_parameter) {
+        p_row[p_index] = coeff_i * denom;
+        ++p_index;
+      }
+      else {
+        const dimension_type mv = mapping[v_index];
+        if (basis[v_index])
+          // Basic variable : add coeff_i * x_i
+          add_mul_assign(v_row[mv], coeff_i, denom);
+        else {
+          // Non-basic variable : add coeff_i * row_i
+          add_mul_assign_row(v_row, coeff_i, tableau.s[mv]);
+          add_mul_assign_row(p_row, coeff_i, tableau.t[mv]);
+        }
+        ++v_index;
+      }
+    }
+
+    if (row_sign(v_row, not_a_dimension()) == ZERO) {
+      // Parametric-only constraints have already been inserted in
+      // initial context, so no need to insert them in the tableau.
+      tableau.s.erase_to_end(row_id);
+      tableau.t.erase_to_end(row_id);
+    }
+    else {
+      const dimension_type var_id = mapping.size();
+      sign.push_back(row_sign(p_row, big_dimension));
+      basis.push_back(false);
+      mapping.push_back(row_id);
+      var_row.push_back(var_id);
+      if (constraint.is_equality()) {
+        // Handle equality constraints.
+        // After having added the f_i(x,p) >= 0 constraint,
+        // we must add -f_i(x,p) to the special equality row.
+        if (special_equality_row == 0 || basis[special_equality_row]) {
+          // The special constraint has not been created yet
+          // FIXME: for now, we don't handle the case where the variable
+          // is basic, and we just create a new row.
+          // This might be faster however.
+          tableau.s.add_zero_rows(1, Row::Flags());
+          tableau.t.add_zero_rows(1, Row::Flags());
+          // NOTE: addition of rows invalidates references v_row and p_row
+          // due to possible matrix reallocations: recompute them.
+          neg_assign_row(tableau.s[1 + row_id], tableau.s[row_id]);
+          neg_assign_row(tableau.t[1 + row_id], tableau.t[row_id]);
+          sign.push_back(row_sign(tableau.t[1 + row_id], big_dimension));
+          special_equality_row = mapping.size();
+          basis.push_back(false);
+          mapping.push_back(1 + row_id);
+          var_row.push_back(1 + var_id);
+        } else {
+          // The special constraint already exists and is nonbasic.
+          const dimension_type m_eq = mapping[special_equality_row];
+          sub_assign(tableau.s[m_eq], v_row);
+          sub_assign(tableau.t[m_eq], p_row);
+        }
+      }
+    }
+  }
+  PPL_ASSERT(OK());
+}
+
+PIP_Tree_Node*
+PIP_Solution_Node::solve(const PIP_Problem& pip,
+                         const bool check_feasible_context,
+                         const Matrix& ctx,
+                         const Variables_Set& params,
+                         dimension_type space_dim) {
+  // Reset current solution as invalid.
+  solution_valid = false;
+
+  Matrix context(ctx);
+  Variables_Set all_params(params);
+  const dimension_type num_art_params = artificial_parameters.size();
+  add_artificial_parameters(context, all_params, space_dim, num_art_params);
+  merge_assign(context, constraints_, all_params);
+
+  // If needed, (re-)check feasibility of context.
+  if (check_feasible_context) {
+    Matrix ctx_copy(context);
+    if (!compatibility_check(ctx_copy)) {
+      delete this;
+      return 0;
+    }
+  }
+
+  const dimension_type not_a_dim = not_a_dimension();
+
+  // Main loop of the simplex algorithm.
+  while (true) {
+    // Check if the client has requested abandoning all expensive
+    // computations. If so, the exception specified by the client
+    // is thrown now.
+    maybe_abandon();
+
+    PPL_ASSERT(OK());
+
+    const dimension_type num_rows = tableau.t.num_rows();
+    const dimension_type num_vars = tableau.s.num_columns();
+    const dimension_type num_params = tableau.t.num_columns();
+    const Coefficient& tableau_den = tableau.denominator();
+
+#ifdef NOISY_PIP
+    tableau.ascii_dump(std::cerr);
+    std::cerr << "context ";
+    context.ascii_dump(std::cerr);
+#endif
+
+    // (Re-) Compute parameter row signs.
+    // While at it, keep track of the first parameter rows
+    // having negative and mixed sign.
+    dimension_type first_negative = not_a_dim;
+    dimension_type first_mixed = not_a_dim;
+    for (dimension_type i = 0; i < num_rows; ++i) {
+      Row_Sign& sign_i = sign[i];
+      if (sign_i == UNKNOWN || sign_i == MIXED)
+        sign_i = row_sign(tableau.t[i], big_dimension);
+
+      if (sign_i == NEGATIVE && first_negative == not_a_dim)
+        first_negative = i;
+      else if (sign_i == MIXED && first_mixed == not_a_dim)
+        first_mixed = i;
+    }
+
+    // If no negative parameter row was found, try to refine the sign of
+    // mixed rows using compatibility checks with the current context.
+    if (first_negative == not_a_dim && first_mixed != not_a_dim) {
+      for (dimension_type i = first_mixed; i < num_rows; ++i) {
+        // Consider mixed sign parameter rows only.
+        if (sign[i] != MIXED)
+          continue;
+        const Row& t_i = tableau.t[i];
+        Row_Sign new_sign = ZERO;
+        // Check compatibility for constraint t_i(z) >= 0.
+        if (compatibility_check(context, t_i))
+          new_sign = POSITIVE;
+        // Check compatibility for constraint t_i(z) < 0,
+        // i.e., -t_i(z) - 1 >= 0.
+        Row t_i_compl(num_params, Row::Flags());
+        complement_assign(t_i_compl, t_i, tableau_den);
+        if (compatibility_check(context, t_i_compl))
+          new_sign = (new_sign == POSITIVE) ? MIXED : NEGATIVE;
+        // Update sign for parameter row i.
+        sign[i] = new_sign;
+        // Maybe update first_negative and first_mixed.
+        if (new_sign == NEGATIVE && first_negative == not_a_dim) {
+          first_negative = i;
+          if (i == first_mixed)
+            first_mixed = not_a_dim;
+        }
+        else if (new_sign == MIXED) {
+          if (first_mixed == not_a_dim)
+            first_mixed = i;
+        }
+        else if (i == first_mixed)
+          first_mixed = not_a_dim;
+      }
+    }
+
+    // If there still is no negative parameter row and a mixed sign
+    // parameter row (first_mixed) such that:
+    //  - it has at least one positive variable coefficient;
+    //  - constraint t_i(z) > 0 is not compatible with the context;
+    // then this parameter row can be considered negative.
+    if (first_negative == not_a_dim && first_mixed != not_a_dim) {
+      WEIGHT_BEGIN();
+      for (dimension_type i = first_mixed; i < num_rows; ++i) {
+        // Consider mixed sign parameter rows only.
+        if (sign[i] != MIXED)
+          continue;
+        // Check for a positive variable coefficient.
+        const Row& s_i = tableau.s[i];
+        bool has_positive = false;
+        for (dimension_type j = num_vars; j-- > 0; )
+          if (s_i[j] > 0) {
+            has_positive = true;
+            break;
+          }
+        if (!has_positive)
+          continue;
+        // Check compatibility of constraint t_i(z) > 0.
+        Row row(tableau.t[i]);
+        PPL_DIRTY_TEMP_COEFFICIENT(mod);
+        mod_assign(mod, row[0], tableau_den);
+        row[0] -= (mod == 0) ? tableau_den : mod;
+        WEIGHT_ADD(2);
+        const bool compatible = compatibility_check(context, row);
+        // Maybe update sign (and first_* indices).
+        if (compatible) {
+          // Sign is still mixed.
+          if (first_mixed == not_a_dim)
+            first_mixed = i;
+        }
+        else {
+          // Sign becomes negative (i.e., no longer mixed).
+          sign[i] = NEGATIVE;
+          if (first_negative == not_a_dim)
+            first_negative = i;
+          if (first_mixed == i)
+            first_mixed = not_a_dim;
+        }
+      }
+    }
+
+#ifdef NOISY_PIP
+    std::cerr << "sign =";
+    for (dimension_type i = 0; i < sign.size(); ++i)
+      std::cerr << " " << "?0+-*"[sign[i]];
+    std::cerr << std::endl;
+#endif
+
+    // If we have found a negative parameter row, then
+    // either the problem is unfeasible, or a pivoting step is required.
+    if (first_negative != not_a_dim) {
+
+      // Search for the best pivot row.
+      dimension_type pi = not_a_dim;
+      dimension_type pj = not_a_dim;
+      for (dimension_type i = first_negative; i < num_rows; ++i) {
+        if (sign[i] != NEGATIVE)
+          continue;
+        dimension_type j;
+        if (!find_lexico_minimum_column(tableau.s, mapping, basis,
+                                        tableau.s[i], 0, j)) {
+          // No positive s_ij was found: problem is unfeasible.
+#ifdef NOISY_PIP
+          std::cerr << "No positive pivot found: Solution = _|_\n";
+#endif
+          delete this;
+          return 0;
+        }
+        if (pj == not_a_dim
+            || tableau.is_better_pivot(mapping, basis, i, j, pi, pj)) {
+          // Update pivot indices.
+          pi = i;
+          pj = j;
+          if (pip.control_parameters[PIP_Problem::PIVOT_ROW_STRATEGY]
+              == PIP_Problem::PIVOT_ROW_STRATEGY_FIRST)
+            // Stop at first valid row.
+            break;
+        }
+      }
+
+#ifdef NOISY_PIP
+      std::cerr << "Pivot (pi, pj) = (" << pi << ", " << pj << ")\n";
+#endif
+
+      // Normalize the tableau before pivoting.
+      tableau.normalize();
+
+      // Perform pivot operation.
+
+      // Update basis.
+      {
+        const dimension_type var_pi = var_row[pi];
+        const dimension_type var_pj = var_column[pj];
+        var_row[pi] = var_pj;
+        var_column[pj] = var_pi;
+        basis[var_pi] = true;
+        basis[var_pj] = false;
+        mapping[var_pi] = pj;
+        mapping[var_pj] = pi;
+      }
+
+      PPL_DIRTY_TEMP_COEFFICIENT(product);
+      PPL_DIRTY_TEMP_COEFFICIENT(gcd);
+      PPL_DIRTY_TEMP_COEFFICIENT(scale_factor);
+
+      // Creating identity rows corresponding to basic variable pj:
+      // 1. add them to tableau so as to have proper size and capacity;
+      tableau.s.add_zero_rows(1, Row::Flags());
+      tableau.t.add_zero_rows(1, Row::Flags());
+      // 2. swap the rows just added with empty ones.
+      Row s_pivot(0, Row::Flags());
+      Row t_pivot(0, Row::Flags());
+      s_pivot.swap(tableau.s[num_rows]);
+      t_pivot.swap(tableau.t[num_rows]);
+      // 3. drop rows previously added at end of tableau.
+      tableau.s.erase_to_end(num_rows);
+      tableau.t.erase_to_end(num_rows);
+
+      // Save current pivot denominator.
+      PPL_DIRTY_TEMP_COEFFICIENT(pivot_den);
+      pivot_den = tableau.denominator();
+      // Let the (scaled) pivot coordinate be 1.
+      s_pivot[pj] = pivot_den;
+
+      // Swap identity row with the pivot row previously found.
+      s_pivot.swap(tableau.s[pi]);
+      t_pivot.swap(tableau.t[pi]);
+      sign[pi] = ZERO;
+
+      PPL_DIRTY_TEMP_COEFFICIENT(s_pivot_pj);
+      s_pivot_pj = s_pivot[pj];
+
+      // Compute columns s[*][j] :
+      // s[i][j] -= s[i][pj] * s_pivot[j] / s_pivot_pj;
+      for (dimension_type j = num_vars; j-- > 0; ) {
+        if (j == pj)
+          continue;
+        const Coefficient& s_pivot_j = s_pivot[j];
+        // Do nothing if the j-th pivot element is zero.
+        if (s_pivot_j == 0)
+          continue;
+        WEIGHT_BEGIN();
+        for (dimension_type i = num_rows; i-- > 0; ) {
+          Row& s_i = tableau.s[i];
+          product = s_pivot_j * s_i[pj];
+          if (product % s_pivot_pj != 0) {
+            // Must scale matrix to stay in integer case.
+            gcd_assign(gcd, product, s_pivot_pj);
+            exact_div_assign(scale_factor, s_pivot_pj, gcd);
+            tableau.scale(scale_factor);
+            product *= scale_factor;
+            WEIGHT_ADD(3);
+          }
+          PPL_ASSERT(product % s_pivot_pj == 0);
+          exact_div_assign(product, product, s_pivot_pj);
+          s_i[j] -= product;
+          WEIGHT_ADD(4);
+        }
+      }
+
+      // Compute columns t[*][j] :
+      // t[i][j] -= s[i][pj] * t_pivot[j] / s_pivot_pj;
+      for (dimension_type j = num_params; j-- > 0; ) {
+        const Coefficient& t_pivot_j = t_pivot[j];
+        // Do nothing if the j-th pivot element is zero.
+        if (t_pivot_j == 0)
+          continue;
+        WEIGHT_BEGIN();
+        for (dimension_type i = num_rows; i-- > 0; ) {
+          Row& s_i = tableau.s[i];
+          product = t_pivot_j * s_i[pj];
+          if (product % s_pivot_pj != 0) {
+            // Must scale matrix to stay in integer case.
+            gcd_assign(gcd, product, s_pivot_pj);
+            exact_div_assign(scale_factor, s_pivot_pj, gcd);
+            tableau.scale(scale_factor);
+            product *= scale_factor;
+            WEIGHT_ADD(3);
+          }
+          PPL_ASSERT(product % s_pivot_pj == 0);
+          exact_div_assign(product, product, s_pivot_pj);
+          tableau.t[i][j] -= product;
+          WEIGHT_ADD(4);
+
+          // Update row sign.
+          Row_Sign& sign_i = sign[i];
+          switch (sign_i) {
+          case ZERO:
+            if (product > 0)
+              sign_i = NEGATIVE;
+            else if (product < 0)
+              sign_i = POSITIVE;
+            break;
+          case POSITIVE:
+            if (product > 0)
+              sign_i = MIXED;
+            break;
+          case NEGATIVE:
+            if (product < 0)
+              sign_i = MIXED;
+            break;
+          default:
+            break;
+          }
+        }
+      }
+
+      // Compute column s[*][pj] : s[i][pj] /= s_pivot_pj;
+      // Update column only if pivot coordinate != 1.
+      if (s_pivot_pj != pivot_den) {
+        WEIGHT_BEGIN();
+        for (dimension_type i = num_rows; i-- > 0; ) {
+          Row& s_i = tableau.s[i];
+          Coefficient& s_i_pj = s_i[pj];
+          product = s_i_pj * pivot_den;
+          if (product % s_pivot_pj != 0) {
+            // As above, perform matrix scaling.
+            gcd_assign(gcd, product, s_pivot_pj);
+            exact_div_assign(scale_factor, s_pivot_pj, gcd);
+            tableau.scale(scale_factor);
+            product *= scale_factor;
+            WEIGHT_ADD(3);
+          }
+          PPL_ASSERT(product % s_pivot_pj == 0);
+          exact_div_assign(s_i_pj, product, s_pivot_pj);
+          WEIGHT_ADD(3);
+        }
+      }
+
+      // Pivoting process ended: jump to next iteration.
+      continue;
+    } // if (first_negative != not_a_dim)
+
+
+    PPL_ASSERT(first_negative == not_a_dim);
+    // If no negative parameter row was found,
+    // but a mixed parameter row was found ...
+    if (first_mixed != not_a_dim) {
+      // Look for a constraint (i_neg):
+      //  - having mixed parameter sign;
+      //  - having no positive variable coefficient;
+      //  - minimizing the score (sum of parameter coefficients).
+      dimension_type i_neg = not_a_dim;
+      PPL_DIRTY_TEMP_COEFFICIENT(best_score);
+      PPL_DIRTY_TEMP_COEFFICIENT(score);
+      for (dimension_type i = first_mixed; i < num_rows; ++i) {
+        // Mixed parameter sign.
+        if (sign[i] != MIXED)
+          continue;
+        // No positive variable coefficient.
+        bool has_positive = false;
+        const Row& s_i = tableau.s[i];
+        for (dimension_type j = 0; j < num_vars; ++j)
+          if (s_i[j] > 0) {
+            has_positive = true;
+            break;
+          }
+        if (has_positive)
+          continue;
+        // Minimize parameter coefficient score,
+        // eliminating implicated tautologies (if any).
+        const Row& t_i = tableau.t[i];
+        score = 0;
+        WEIGHT_BEGIN();
+        for (dimension_type j = num_params; j-- > 0; )
+          score += t_i[j];
+        WEIGHT_ADD_MUL(1, num_params);
+        if (i_neg == not_a_dim || score < best_score) {
+          i_neg = i;
+          best_score = score;
+        }
+      }
+
+      if (i_neg != not_a_dim) {
+#ifdef NOISY_PIP
+        std::cerr << "Found row (" << i_neg << ") with mixed parameter sign "
+                  << "and negative variable coefficients.\n"
+                  << "==> adding tautology.\n";
+#endif
+        Row copy(tableau.t[i_neg]);
+        copy.normalize();
+        context.add_row(copy);
+        add_constraint(copy, all_params);
+        sign[i_neg] = POSITIVE;
+        // Jump to next iteration.
+        continue;
+      }
+
+      PPL_ASSERT(i_neg == not_a_dim);
+      // Heuristically choose "best" (mixed) pivoting row.
+      dimension_type best_i = not_a_dim;
+      for (dimension_type i = first_mixed; i < num_rows; ++i) {
+        if (sign[i] != MIXED)
+          continue;
+        const Row& t_i = tableau.t[i];
+        score = 0;
+        WEIGHT_BEGIN();
+        for (dimension_type j = num_params; j-- > 0; )
+          score += t_i[j];
+        WEIGHT_ADD_MUL(1, num_params);
+        if (best_i == not_a_dim || score < best_score) {
+          best_score = score;
+          best_i = i;
+        }
+      }
+
+      Row t_test(tableau.t[best_i]);
+      t_test.normalize();
+#ifdef NOISY_PIP
+      {
+        Linear_Expression expr = Linear_Expression(t_test[0]);
+        dimension_type j = 1;
+        for (Variables_Set::const_iterator p = all_params.begin(),
+               p_end = all_params.end(); p != p_end; ++p, ++j)
+          expr += t_test[j] * Variable(*p);
+        using namespace IO_Operators;
+        std::cerr << "Found mixed parameter sign row: " << best_i << ".\n"
+                  << "Solution depends on sign of parameter "
+                  << expr << ".\n";
+      }
+#endif // #ifdef NOISY_PIP
+
+      // Create a solution node for the "true" version of current node.
+      PIP_Tree_Node* t_node = new PIP_Solution_Node(*this, No_Constraints());
+      // Protect it from exception safety issues via std::auto_ptr.
+      std::auto_ptr<PIP_Tree_Node> wrapped_node(t_node);
+
+      // Add parametric constraint to context.
+      context.add_row(t_test);
+      // Recusively solve true node wrt updated context.
+      t_node = t_node->solve(pip, check_feasible_context,
+                             context, all_params, space_dim);
+      // Resolution may have changed t_node: in case, rewrap it.
+      if (t_node != wrapped_node.get()) {
+        wrapped_node.release();
+        wrapped_node.reset(t_node);
+      }
+
+      // Modify *this in place to become the "false" version of current node.
+      PIP_Tree_Node* f_node = this;
+      // Swap aside constraints and artificial parameters
+      // (these will be later restored if needed).
+      Constraint_System cs;
+      Artificial_Parameter_Sequence aps;
+      cs.swap(f_node->constraints_);
+      aps.swap(f_node->artificial_parameters);
+      // Compute the complement of the constraint used for the "true" node.
+      Row& f_test = context[context.num_rows()-1];
+      complement_assign(f_test, t_test, 1);
+
+      // Recusively solve false node wrt updated context.
+      f_node = f_node->solve(pip, check_feasible_context,
+                             context, all_params, space_dim);
+
+      // Case analysis on recursive resolution calls outcome.
+      if (t_node == 0) {
+        if (f_node == 0) {
+          // Both t_node and f_node unfeasible.
+          return 0;
+        }
+        else {
+          // t_node unfeasible, f_node feasible:
+          // restore cs and aps into f_node (i.e., this).
+          PPL_ASSERT(f_node == this);
+          f_node->constraints_.swap(cs);
+          f_node->artificial_parameters.swap(aps);
+          // Add f_test to constraints.
+          f_node->add_constraint(f_test, all_params);
+          return f_node;
+        }
+      }
+      else if (f_node == 0) {
+        // t_node feasible, f_node unfeasible:
+        // restore cs and aps into t_node.
+        t_node->constraints_.swap(cs);
+        t_node->artificial_parameters.swap(aps);
+        // Add t_test to t_nodes's constraints.
+        t_node->add_constraint(t_test, all_params);
+        // It is now safe to release previously wrapped t_node pointer
+        // and return it to caller.
+        return wrapped_node.release();
+      }
+
+      // Here both t_node and f_node are feasible:
+      // create a new decision node.
+      PIP_Tree_Node* parent
+        = new PIP_Decision_Node(f_node->get_owner(), f_node, t_node);
+      // Previously wrapped 't_node' is now safe: release it
+      // and protect new 'parent' node from exception safety issues.
+      wrapped_node.release();
+      wrapped_node.reset(parent);
+
+      // Add t_test to the constraints of the new decision node.
+      parent->add_constraint(t_test, all_params);
+
+      if (!cs.empty()) {
+        // If node to be solved had tautologies,
+        // store them in a new decision node.
+        parent = new PIP_Decision_Node(parent->get_owner(), 0, parent);
+        // Previously wrapped 'parent' node is now safe: release it
+        // and protect new 'parent' node from exception safety issues.
+        wrapped_node.release();
+        wrapped_node.reset(parent);
+        parent->constraints_.swap(cs);
+      }
+      parent->artificial_parameters.swap(aps);
+      // It is now safe to release previously wrapped decision node
+      // and return it to the caller.
+      return wrapped_node.release();
+    } // if (first_mixed != not_a_dim)
+
+
+    PPL_ASSERT(first_negative == not_a_dim);
+    PPL_ASSERT(first_mixed == not_a_dim);
+    // Here all parameters are positive: we have found a continuous
+    // solution. If the solution happens to be integer, then it is the
+    // solution of the  integer problem. Otherwise, we may need to generate
+    // a new cut to try and get back into the integer case.
+#ifdef NOISY_PIP
+    std::cout << "All parameters are positive.\n";
+#endif
+    tableau.normalize();
+
+    // Look for any row having non integer parameter coefficients.
+    const Coefficient& den = tableau.denominator();
+    for (dimension_type k = 0; k < num_vars; ++k) {
+      if (basis[k])
+        // Basic variable = 0, hence integer.
+        continue;
+      const dimension_type i = mapping[k];
+      const Row& t_i = tableau.t[i];
+      WEIGHT_BEGIN();
+      for (dimension_type j = num_params; j-- > 0; ) {
+        WEIGHT_ADD(1);
+        if (t_i[j] % den != 0)
+          goto non_integer;
+      }
+    }
+    // The goto was not taken, the solution is integer.
+#ifdef NOISY_PIP
+    std::cout << "Solution found for problem in current node.\n";
+#endif
+    return this;
+
+  non_integer:
+    // The solution is non-integer: generate a cut.
+    PPL_DIRTY_TEMP_COEFFICIENT(mod);
+    dimension_type best_i = not_a_dim;
+    dimension_type best_pcount = not_a_dim;
+
+    const PIP_Problem::Control_Parameter_Value cutting_strategy
+      = pip.control_parameters[PIP_Problem::CUTTING_STRATEGY];
+
+    if (cutting_strategy == PIP_Problem::CUTTING_STRATEGY_FIRST) {
+      // Find the first row with simplest parametric part.
+      for (dimension_type k = 0; k < num_vars; ++k) {
+        if (basis[k])
+          continue;
+        const dimension_type i = mapping[k];
+        const Row& t_i = tableau.t[i];
+        // Count the number of non-integer parameter coefficients.
+        WEIGHT_BEGIN();
+        dimension_type pcount = 0;
+        for (dimension_type j = num_params; j-- > 0; ) {
+          mod_assign(mod, t_i[j], den);
+          if (mod != 0)
+            ++pcount;
+        }
+        WEIGHT_ADD_MUL(1, num_params);
+        if (pcount > 0 && (best_i == not_a_dim || pcount < best_pcount)) {
+          best_pcount = pcount;
+          best_i = i;
+        }
+      }
+      // Generate cut using 'best_i'.
+      generate_cut(best_i, all_params, context, space_dim);
+    }
+    else {
+      assert(cutting_strategy == PIP_Problem::CUTTING_STRATEGY_DEEPEST
+             || cutting_strategy == PIP_Problem::CUTTING_STRATEGY_ALL);
+      // Find the row with simplest parametric part
+      // which will generate the "deepest" cut.
+      PPL_DIRTY_TEMP_COEFFICIENT(best_score);
+      best_score = 0;
+      PPL_DIRTY_TEMP_COEFFICIENT(score);
+      PPL_DIRTY_TEMP_COEFFICIENT(s_score);
+      std::vector<dimension_type> all_best_is;
+
+      for (dimension_type k = 0; k < num_vars; ++k) {
+        if (basis[k])
+          continue;
+        const dimension_type i = mapping[k];
+        // Compute score and pcount.
+        WEIGHT_BEGIN();
+        score = 0;
+        dimension_type pcount = 0;
+        const Row& t_i = tableau.t[i];
+        for (dimension_type j = num_params; j-- > 0; ) {
+          mod_assign(mod, t_i[j], den);
+          if (mod != 0) {
+            score += den;
+            score -= mod;
+            ++pcount;
+          }
+        }
+        WEIGHT_ADD_MUL(3, num_params);
+
+        // Compute s_score.
+        WEIGHT_BEGIN();
+        s_score = 0;
+        const Row& s_i = tableau.s[i];
+        for (dimension_type j = num_vars; j-- > 0; ) {
+          mod_assign(mod, s_i[j], den);
+          s_score += den;
+          s_score -= mod;
+        }
+        WEIGHT_ADD_MUL(3, num_vars);
+        // Combine 'score' and 's_score'.
+        score *= s_score;
+        /*
+          Select row i if it is non integer AND
+            - no row has been chosen yet; OR
+            - it has fewer non-integer parameter coefficients; OR
+            - it has the same number of non-integer parameter coefficients,
+              but its score is greater.
+        */
+        if (pcount != 0
+            && (best_i == not_a_dim
+                || pcount < best_pcount
+                || (pcount == best_pcount && score > best_score))) {
+          if (pcount < best_pcount)
+            all_best_is.clear();
+          best_i = i;
+          best_pcount = pcount;
+          best_score = score;
+        }
+        if (pcount > 0)
+          all_best_is.push_back(i);
+      }
+      if (cutting_strategy == PIP_Problem::CUTTING_STRATEGY_DEEPEST)
+        generate_cut(best_i, all_params, context, space_dim);
+      else {
+        PPL_ASSERT(cutting_strategy == PIP_Problem::CUTTING_STRATEGY_ALL);
+        for (dimension_type k = all_best_is.size(); k-- > 0; )
+          generate_cut(all_best_is[k], all_params, context, space_dim);
+      }
+    } // End of processing for non-integer solutions.
+
+  } // Main loop of the simplex algorithm
+
+  // This point should be unreachable.
+  throw std::runtime_error("PPL internal error");
+}
+
+void
+PIP_Solution_Node::generate_cut(const dimension_type index,
+                                Variables_Set& parameters,
+                                Matrix& context,
+                                dimension_type& space_dimension) {
+  const dimension_type num_rows = tableau.t.num_rows();
+  PPL_ASSERT(index < num_rows);
+  const dimension_type num_vars = tableau.s.num_columns();
+  const dimension_type num_params = tableau.t.num_columns();
+  PPL_ASSERT(num_params == 1 + parameters.size());
+  const Coefficient& den = tableau.denominator();
+
+  PPL_DIRTY_TEMP_COEFFICIENT(mod);
+  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
+
+#ifdef NOISY_PIP
+  std::cout << "Row " << index << " contains non-integer coefficients. "
+            << "Cut generation required."
+            << std::endl;
+#endif // #ifdef NOISY_PIP
+
+  // Test if cut to be generated must be parametric or not.
+  bool generate_parametric_cut = false;
+  {
+    // Limiting the scope of reference row_t (may be later invalidated).
+    const Row& row_t = tableau.t[index];
+    WEIGHT_BEGIN();
+    for (dimension_type j = 1; j < num_params; ++j) {
+      WEIGHT_ADD(1);
+      if (row_t[j] % den != 0) {
+        generate_parametric_cut = true;
+        break;
+      }
+    }
+  }
+
+  // Column index of already existing Artificial_Parameter.
+  dimension_type ap_column = not_a_dimension();
+  bool reuse_ap = false;
+
+  if (generate_parametric_cut) {
+    // Fractional parameter coefficient found: generate parametric cut.
+    Linear_Expression expr;
+
+    // Limiting the scope of reference row_t (may be later invalidated).
+    {
+      const Row& row_t = tableau.t[index];
+      mod_assign(mod, row_t[0], den);
+      if (mod != 0) {
+        // Optimizing computation: expr += (den - mod);
+        expr += den;
+        expr -= mod;
+      }
+      // NOTE: iterating downwards on parameters to avoid reallocations.
+      Variables_Set::const_reverse_iterator p_j = parameters.rbegin();
+      // NOTE: index j spans [1..num_params-1] downwards.
+      WEIGHT_BEGIN();
+      for (dimension_type j = num_params; j-- > 1; ) {
+        mod_assign(mod, row_t[j], den);
+        if (mod != 0) {
+          // Optimizing computation: expr += (den - mod) * Variable(*p_j);
+          coeff = den - mod;
+          add_mul_assign(expr, coeff, Variable(*p_j));
+        }
+        // Mode to previous parameter.
+        ++p_j;
+      }
+      WEIGHT_ADD_MUL(2, num_params);
+    }
+    // Generate new artificial parameter.
+    Artificial_Parameter ap(expr, den);
+
+    // Search if the Artificial_Parameter has already been generated.
+    ap_column = space_dimension;
+    const PIP_Tree_Node* node = this;
+    do {
+      for (dimension_type j = node->artificial_parameters.size(); j-- > 0; ) {
+        --ap_column;
+        if (node->artificial_parameters[j] == ap) {
+          reuse_ap = true;
+          break;
+        }
+      }
+      node = node->parent();
+    } while (!reuse_ap && node != 0);
+
+    if (reuse_ap) {
+      // We can re-use an existing Artificial_Parameter.
+#ifdef NOISY_PIP
+      using namespace IO_Operators;
+      std::cout << "Re-using parameter " << Variable(ap_column)
+                << " = (" << expr << ")/" << den
+                << std::endl;
+#endif // #ifdef NOISY_PIP
+      ap_column = ap_column - num_vars + 1;
+    }
+    else {
+      // Here reuse_ap == false: the Artificial_Parameter does not exist yet.
+      // Beware: possible reallocation invalidates row references.
+      tableau.t.add_zero_columns(1);
+      context.add_zero_columns(1);
+      artificial_parameters.push_back(ap);
+      parameters.insert(space_dimension);
+#ifdef NOISY_PIP
+      using namespace IO_Operators;
+      std::cout << "Creating new parameter "
+                << Variable(space_dimension)
+                << " = (" << expr << ")/" << den
+                << std::endl;
+#endif // #ifdef NOISY_PIP
+      ++space_dimension;
+      ap_column = num_params;
+
+      // Update current context with constraints on the new parameter.
+      const dimension_type ctx_num_rows = context.num_rows();
+      context.add_zero_rows(2, Row::Flags());
+      Row& ctx1 = context[ctx_num_rows];
+      Row& ctx2 = context[ctx_num_rows+1];
+      // Recompute row reference after possible reallocation.
+      WEIGHT_BEGIN();
+      const Row& row_t = tableau.t[index];
+      for (dimension_type j = 0; j < num_params; ++j) {
+        mod_assign(mod, row_t[j], den);
+        if (mod != 0) {
+          ctx1[j] = den;
+          ctx1[j] -= mod;
+          neg_assign(ctx2[j], ctx1[j]);
+          WEIGHT_ADD(3);
+        }
+      }
+      WEIGHT_ADD_MUL(1, num_params);
+      neg_assign(ctx1[num_params], den);
+      ctx2[num_params] = den;
+      // ctx2[0] += den-1;
+      ctx2[0] += den;
+      --ctx2[0];
+      WEIGHT_ADD(4);
+#ifdef NOISY_PIP
+      {
+        using namespace IO_Operators;
+        Variables_Set::const_iterator p = parameters.begin();
+        Linear_Expression expr1(ctx1[0]);
+        Linear_Expression expr2(ctx2[0]);
+        for (dimension_type j = 1; j <= num_params; ++j, ++p) {
+          expr1 += ctx1[j] * Variable(*p);
+          expr2 += ctx2[j] * Variable(*p);
+        }
+        std::cout << "Inserting into context: "
+                  << Constraint(expr1 >= 0) << " ; "
+                  << Constraint(expr2 >= 0) << std::endl;
+      }
+#endif // #ifdef NOISY_PIP
+    }
+  }
+
+  // Generate new cut.
+  tableau.s.add_zero_rows(1, Row::Flags());
+  tableau.t.add_zero_rows(1, Row::Flags());
+  Row& cut_s = tableau.s[num_rows];
+  Row& cut_t = tableau.t[num_rows];
+  // Recompute references after possible reallocation.
+  WEIGHT_BEGIN();
+  const Row& row_s = tableau.s[index];
+  const Row& row_t = tableau.t[index];
+  for (dimension_type j = 0; j < num_vars; ++j) {
+    mod_assign(cut_s[j], row_s[j], den);
+  }
+  WEIGHT_ADD_MUL(1, num_params);
+  for (dimension_type j = 0; j < num_params; ++j) {
+    mod_assign(mod, row_t[j], den);
+    if (mod != 0) {
+      cut_t[j] = mod;
+      cut_t[j] -= den;
+      WEIGHT_ADD(2);
+    }
+  }
+  WEIGHT_ADD_MUL(1, num_params);
+  if (ap_column != not_a_dimension())
+    // If we re-use an existing Artificial_Parameter
+    cut_t[ap_column] = den;
+
+#ifdef NOISY_PIP
+  {
+    using namespace IO_Operators;
+    Linear_Expression expr;
+    dimension_type ti = 1;
+    dimension_type si = 0;
+    for (dimension_type j = 0; j < space_dimension; ++j) {
+      if (parameters.count(j) == 1)
+        expr += cut_t[ti++] * Variable(j);
+      else
+        expr += cut_s[si++] * Variable(j);
+    }
+    std::cout << "Adding cut: "
+              << Constraint(expr + cut_t[0] >= 0)
+              << std::endl;
+  }
+#endif
+  var_row.push_back(num_rows + num_vars);
+  basis.push_back(false);
+  mapping.push_back(num_rows);
+  sign.push_back(NEGATIVE);
+}
+
+
+memory_size_type
+PIP_Tree_Node::Artificial_Parameter::external_memory_in_bytes() const {
+  return Linear_Expression::external_memory_in_bytes()
+    + Parma_Polyhedra_Library::external_memory_in_bytes(denom);
+}
+
+memory_size_type
+PIP_Tree_Node::Artificial_Parameter::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
+
+memory_size_type
+PIP_Tree_Node::external_memory_in_bytes() const {
+  memory_size_type n = constraints_.external_memory_in_bytes();
+  // Adding the external memory for `artificial_parameters'.
+  n += artificial_parameters.capacity() * sizeof(Artificial_Parameter);
+  for (Artificial_Parameter_Sequence::const_iterator
+         ap = art_parameter_begin(),
+	 ap_end = art_parameter_end(); ap != ap_end; ++ap)
+    n += (ap->external_memory_in_bytes());
+
+  return n;
+}
+
+memory_size_type
+PIP_Decision_Node::external_memory_in_bytes() const {
+  memory_size_type n = PIP_Tree_Node::external_memory_in_bytes();
+  PPL_ASSERT(true_child != 0);
+  n += true_child->total_memory_in_bytes();
+  if (false_child)
+    n += false_child->total_memory_in_bytes();
+  return n;
+}
+
+memory_size_type
+PIP_Decision_Node::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
+
+memory_size_type
+PIP_Solution_Node::Tableau::external_memory_in_bytes() const {
+  return Parma_Polyhedra_Library::external_memory_in_bytes(denom)
+    + s.external_memory_in_bytes()
+    + t.external_memory_in_bytes();
+}
+
+memory_size_type
+PIP_Solution_Node::external_memory_in_bytes() const {
+  memory_size_type n = PIP_Tree_Node::external_memory_in_bytes();
+  n += tableau.external_memory_in_bytes();
+  // FIXME: size of std::vector<bool> ?
+  n += basis.capacity() * sizeof(bool);
+  n += sizeof(dimension_type)
+    * (mapping.capacity() + var_row.capacity() + var_column.capacity());
+  n += sign.capacity() * sizeof(Row_Sign);
+  // FIXME: Adding the external memory for `solution'.
+  n += solution.capacity() * sizeof(Linear_Expression);
+  for (std::vector<Linear_Expression>::const_iterator
+         i = solution.begin(), i_end = solution.end(); i != i_end; ++i)
+    n += (i->external_memory_in_bytes());
+
+  return n;
+}
+
+memory_size_type
+PIP_Solution_Node::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
+
+void
+PIP_Tree_Node::indent_and_print(std::ostream& s,
+                                const unsigned indent,
+                                const char* str) {
+  s << std::setw(2*indent) << "" << str;
+}
+
+void
+PIP_Tree_Node::print(std::ostream& s, unsigned indent) const {
+  const dimension_type pip_space_dim = get_owner()->space_dimension();
+  const Variables_Set& pip_params = get_owner()->parameter_space_dimensions();
+
+  std::vector<bool> pip_dim_is_param(pip_space_dim);
+  for (Variables_Set::const_iterator p = pip_params.begin(),
+         p_end = pip_params.end(); p != p_end; ++p)
+    pip_dim_is_param[*p] = true;
+
+  dimension_type first_art_dim = pip_space_dim;
+  for (const PIP_Tree_Node* node = parent(); node != 0; node = node->parent())
+    first_art_dim += node->art_parameter_count();
+
+  print_tree(s, indent, pip_dim_is_param, first_art_dim);
+}
+
+void
+PIP_Tree_Node::print_tree(std::ostream& s, unsigned indent,
+                          const std::vector<bool>& pip_dim_is_param,
+                          dimension_type first_art_dim) const {
+  used(pip_dim_is_param);
+
+  using namespace IO_Operators;
+
+  // Print artificial parameters.
+  for (Artificial_Parameter_Sequence::const_iterator
+         api = art_parameter_begin(),
+         api_end = art_parameter_end(); api != api_end; ++api) {
+    indent_and_print(s, indent, "Parameter ");
+    s << Variable(first_art_dim) << " = " << *api << "\n";
+    ++first_art_dim;
+  }
+
+  // Print constraints, if any.
+  if (!constraints_.empty()) {
+    indent_and_print(s, indent, "if ");
+
+    Constraint_System::const_iterator ci = constraints_.begin();
+    Constraint_System::const_iterator ci_end = constraints_.end();
+    PPL_ASSERT(ci != ci_end);
+    s << *ci;
+    for (++ci; ci != ci_end; ++ci)
+      s << " and " << *ci;
+
+    s << " then\n";
+  }
+}
+
+void
+PIP_Decision_Node::print_tree(std::ostream& s, unsigned indent,
+                              const std::vector<bool>& pip_dim_is_param,
+                              const dimension_type first_art_dim) const {
+  // First print info common to decision and solution nodes.
+  PIP_Tree_Node::print_tree(s, indent, pip_dim_is_param, first_art_dim);
+
+  // Then print info specific of decision nodes.
+  dimension_type child_first_art_dim = first_art_dim + art_parameter_count();
+
+  PPL_ASSERT(true_child != 0);
+  true_child->print_tree(s, indent+1, pip_dim_is_param, child_first_art_dim);
+
+  indent_and_print(s, indent, "else\n");
+
+  if (false_child)
+    false_child->print_tree(s, indent+1, pip_dim_is_param, child_first_art_dim);
+  else
+    indent_and_print(s, indent+1, "_|_\n");
+}
+
+void
+PIP_Solution_Node::print_tree(std::ostream& s, unsigned indent,
+                              const std::vector<bool>& pip_dim_is_param,
+                              const dimension_type first_art_dim) const {
+  // Print info common to decision and solution nodes.
+  PIP_Tree_Node::print_tree(s, indent, pip_dim_is_param, first_art_dim);
+
+  // Print info specific of solution nodes:
+  // first update solution if needed ...
+  update_solution(pip_dim_is_param);
+  // ... and then actually print it.
+  const bool no_constraints = constraints_.empty();
+  indent_and_print(s, indent + (no_constraints ? 0 : 1), "{");
+  const dimension_type pip_space_dim = pip_dim_is_param.size();
+  for (dimension_type i = 0, num_var = 0; i < pip_space_dim; ++i) {
+    if (pip_dim_is_param[i])
+      continue;
+    if (num_var > 0)
+      s << " ; ";
+    using namespace IO_Operators;
+    s << solution[num_var];
+    ++num_var;
+  }
+  s << "}\n";
+
+  if (!no_constraints) {
+    indent_and_print(s, indent, "else\n");
+    indent_and_print(s, indent+1, "_|_\n");
+  }
+}
+
+const Linear_Expression&
+PIP_Solution_Node::parametric_values(const Variable var) const {
+  const PIP_Problem* pip = get_owner();
+  PPL_ASSERT(pip);
+
+  const dimension_type space_dim = pip->space_dimension();
+  if (var.space_dimension() > space_dim) {
+    std::ostringstream s;
+    s << "PPL::PIP_Solution_Node::parametric_values(v):\n"
+      << "v.space_dimension() == " << var.space_dimension()
+      << " is incompatible with the owning PIP_Problem "
+      << " (space dim == " << space_dim << ").";
+    throw std::invalid_argument(s.str());
+  }
+
+  dimension_type solution_index = var.id();
+  const Variables_Set& params = pip->parameter_space_dimensions();
+  for (Variables_Set::const_iterator p = params.begin(),
+         p_end = params.end(); p != p_end; ++p) {
+    const dimension_type param_index = *p;
+    if (param_index < var.id())
+      --solution_index;
+    else if (param_index == var.id())
+      throw std::invalid_argument("PPL::PIP_Solution_Node"
+                                  "::parametric_values(v):\n"
+                                  "v is a problem parameter.");
+    else
+      break;
+  }
+
+  update_solution();
+  return solution[solution_index];
+}
+
+
+void
+PIP_Solution_Node::update_solution() const {
+  // Avoid doing useless work.
+  if (solution_valid)
+    return;
+
+  const PIP_Problem* pip = get_owner();
+  PPL_ASSERT(pip);
+  std::vector<bool> pip_dim_is_param(pip->space_dimension());
+  const Variables_Set& params = pip->parameter_space_dimensions();
+  for (Variables_Set::const_iterator p = params.begin(),
+         p_end = params.end(); p != p_end; ++p)
+    pip_dim_is_param[*p] = true;
+
+  update_solution(pip_dim_is_param);
+}
+
+void
+PIP_Solution_Node
+::update_solution(const std::vector<bool>& pip_dim_is_param) const {
+  // Avoid doing useless work.
+  if (solution_valid)
+    return;
+
+  // const_cast required so as to refresh the solution cache.
+  PIP_Solution_Node& x = const_cast<PIP_Solution_Node&>(*this);
+
+  const dimension_type num_pip_dims = pip_dim_is_param.size();
+  const dimension_type num_pip_vars = tableau.s.num_columns();
+  const dimension_type num_pip_params = num_pip_dims - num_pip_vars;
+  const dimension_type num_all_params = tableau.t.num_columns() - 1;
+  const dimension_type num_art_params = num_all_params - num_pip_params;
+
+  if (solution.size() != num_pip_vars)
+    x.solution.resize(num_pip_vars);
+
+  // Compute external "names" (i.e., indices) for all parameters.
+  std::vector<dimension_type> all_param_names(num_all_params);
+
+  // External indices for problem parameters.
+  for (dimension_type i = 0, p_index = 0; i < num_pip_dims; ++i)
+    if (pip_dim_is_param[i]) {
+      all_param_names[p_index] = i;
+      ++p_index;
+    }
+  // External indices for artificial parameters.
+  for (dimension_type i = 0; i < num_art_params; ++i)
+    all_param_names[num_pip_params + i] = num_pip_dims + i;
+
+
+  PPL_DIRTY_TEMP_COEFFICIENT(norm_coeff);
+  const Coefficient& den = tableau.denominator();
+  for (dimension_type i = num_pip_vars; i-- > 0; ) {
+    Linear_Expression& sol_i = x.solution[i];
+    sol_i = Linear_Expression(0);
+    if (basis[i])
+      continue;
+    const Row& row = tableau.t[mapping[i]];
+
+    for (dimension_type j = num_all_params; j-- > 0; ) {
+      // NOTE: add 1 to column index to account for inhomogenous term.
+      const Coefficient& coeff = row[j+1];
+      if (coeff == 0)
+        continue;
+      norm_coeff = coeff / den;
+      if (norm_coeff != 0)
+        add_mul_assign(sol_i, norm_coeff, Variable(all_param_names[j]));
+    }
+    norm_coeff = row[0] / den;
+    sol_i += norm_coeff;
+  }
+
+  // Mark solution as valid.
+  x.solution_valid = true;
+}
+
+} // namespace Parma_Polyhedra_Library
diff --git a/src/PIP_Tree.defs.hh b/src/PIP_Tree.defs.hh
new file mode 100644
index 0000000..2d94c5f
--- /dev/null
+++ b/src/PIP_Tree.defs.hh
@@ -0,0 +1,805 @@
+/* PIP_Tree_Node class declaration.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#ifndef PPL_PIP_Tree_defs_hh
+#define PPL_PIP_Tree_defs_hh 1
+
+#include "PIP_Tree.types.hh"
+#include "Variable.defs.hh"
+#include "Linear_Expression.types.hh"
+#include "Constraint_System.defs.hh"
+#include "Constraint_System.inlines.hh"
+#include "Constraint.defs.hh"
+#include "Matrix.defs.hh"
+#include "Variables_Set.defs.hh"
+#include "globals.defs.hh"
+#include "PIP_Problem.defs.hh"
+
+namespace Parma_Polyhedra_Library {
+
+//! A node of the PIP solution tree.
+/*!
+  This is the base class for the nodes of the binary trees representing
+  the solutions of PIP problems. From this one, two classes are derived:
+    - PIP_Decision_Node, for the internal nodes of the tree;
+    - PIP_Solution_Node, for the leaves of the tree.
+*/
+class PIP_Tree_Node {
+protected:
+  //! Constructor: builds a node owned by \p *owner.
+  explicit PIP_Tree_Node(const PIP_Problem* owner);
+
+  //! Copy constructor.
+  PIP_Tree_Node(const PIP_Tree_Node& y);
+
+  //! Returns a pointer to the PIP_Problem owning object.
+  const PIP_Problem* get_owner() const;
+
+  //! Sets the pointer to the PIP_Problem owning object.
+  virtual void set_owner(const PIP_Problem* owner) = 0;
+
+  /*! \brief
+    Returns \c true if and only if all the nodes in the subtree
+    rooted in \p *this is owned by \p *pip.
+  */
+  virtual bool check_ownership(const PIP_Problem* owner) const = 0;
+
+public:
+  //! Returns a pointer to a dynamically-allocated copy of \p *this.
+  virtual PIP_Tree_Node* clone() const = 0;
+
+  //! Destructor.
+  virtual ~PIP_Tree_Node();
+
+  //! Returns \c true if and only if \p *this is well formed.
+  virtual bool OK() const;
+
+  //! Returns \p this if \p *this is a solution node, 0 otherwise.
+  virtual const PIP_Solution_Node* as_solution() const;
+
+  //! Returns \p this if \p *this is a decision node, 0 otherwise.
+  virtual const PIP_Decision_Node* as_decision() const;
+
+  /*! \brief
+    Returns the system of parameter constraints controlling \p *this.
+
+    The indices in the constraints are the same as the original variables and
+    parameters. Coefficients in indices corresponding to variables always are
+    zero.
+  */
+  const Constraint_System& constraints() const;
+
+  class Artificial_Parameter;
+
+  //! A type alias for a sequence of Artificial_Parameter's.
+  typedef std::vector<Artificial_Parameter> Artificial_Parameter_Sequence;
+
+  //! Returns a const_iterator to the beginning of local artificial parameters.
+  Artificial_Parameter_Sequence::const_iterator art_parameter_begin() const;
+
+  //! Returns a const_iterator to the end of local artificial parameters.
+  Artificial_Parameter_Sequence::const_iterator art_parameter_end() const;
+
+  //! Returns the number of local artificial parameters.
+  dimension_type art_parameter_count() const;
+
+  //! Prints on \p s the tree rooted in \p *this.
+  /*!
+    \param s
+    The output stream.
+
+    \param indent
+    The amount of indentation.
+  */
+  void print(std::ostream& s, unsigned indent = 0) const;
+
+  //! Dumps to \p s an ASCII representation of \p *this.
+  void ascii_dump(std::ostream& s) const;
+
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
+
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  virtual memory_size_type total_memory_in_bytes() const = 0;
+  //! Returns the size in bytes of the memory managed by \p *this.
+  virtual memory_size_type external_memory_in_bytes() const = 0;
+
+protected:
+  //! A type alias for a sequence of constraints.
+  typedef std::vector<Constraint> Constraint_Sequence;
+
+  // Only PIP_Problem and PIP_Decision_Node are allowed to use the
+  // constructor and methods.
+  friend class PIP_Problem;
+  friend class PIP_Decision_Node;
+  friend class PIP_Solution_Node;
+
+  //! A pointer to the PIP_Problem object owning this node.
+  const PIP_Problem* owner_;
+
+  //! A pointer to the parent of \p *this, null if \p *this is the root.
+  const PIP_Decision_Node* parent_;
+
+  //! The local system of parameter constraints.
+  Constraint_System constraints_;
+
+  //! The local sequence of expressions for local artificial parameters.
+  Artificial_Parameter_Sequence artificial_parameters;
+
+  //! Returns a pointer to this node's parent.
+  const PIP_Decision_Node* parent() const;
+
+  //! Set this node's parent to \p *p.
+  void set_parent(const PIP_Decision_Node* p);
+
+  /*! \brief
+    Populates the parametric simplex tableau using external data.
+
+    \param pip
+    The PIP_Problem object containing this node.
+
+    \param external_space_dim
+    The number of all problem variables and problem parameters
+    (excluding artificial parameters).
+
+    \param first_pending_constraint
+    The first element in \p input_cs to be added to the tableau,
+    which already contains the previous elements.
+
+    \param input_cs
+    All the constraints of the PIP problem.
+
+    \param parameters
+    The set of indices of the problem parameters.
+  */
+  virtual void update_tableau(const PIP_Problem& pip,
+                              dimension_type external_space_dim,
+                              dimension_type first_pending_constraint,
+                              const Constraint_Sequence& input_cs,
+                              const Variables_Set& parameters) = 0;
+
+  /*! \brief
+    Executes a parametric simplex on the tableau, under specified context.
+
+    \return
+    The root of the PIP tree solution, or 0 if unfeasible.
+
+    \param pip
+    The PIP_Problem object containing this node.
+
+    \param check_feasible_context
+    Whether the resolution process should (re-)check feasibility of
+    context (since the initial context may have been modified).
+
+    \param context
+    The context, being a set of constraints on the parameters.
+
+    \param params
+    The local parameter set, including parent's artificial parameters.
+
+    \param space_dim
+    The space dimension of parent, including artificial parameters.
+  */
+  virtual PIP_Tree_Node* solve(const PIP_Problem& pip,
+                               bool check_feasible_context,
+                               const Matrix& context,
+                               const Variables_Set& params,
+                               dimension_type space_dim) = 0;
+
+  //! Inserts a new parametric constraint in internal Row format
+  void add_constraint(const Row& x, const Variables_Set& parameters);
+
+  //! Merges parent's artificial parameters into \p *this.
+  void parent_merge();
+
+  //! Prints on \p s the tree rooted in \p *this.
+  /*!
+    \param s
+    The output stream.
+
+    \param indent
+    The amount of indentation.
+
+    \param pip_dim_is_param
+    A vector of Boolean flags telling which PIP problem dimensions are
+    problem parameters. The size of the vector is equal to the PIP
+    problem internal space dimension (i.e., no artificial parameters).
+
+    \param first_art_dim
+    The first space dimension corresponding to an artificial parameter
+    that was created in this node (if any).
+  */
+  virtual void print_tree(std::ostream& s,
+                          unsigned indent,
+                          const std::vector<bool>& pip_dim_is_param,
+                          dimension_type first_art_dim) const;
+
+  //! A helper function used when printing PIP trees.
+  static void
+  indent_and_print(std::ostream& s, unsigned indent, const char* str);
+
+  /*! \brief
+    Checks whether a context matrix is satisfiable.
+
+    The satisfiability check is implemented by the revised dual simplex
+    algorithm on the context matrix. The algorithm ensures the feasible
+    solution is integer by applying a cut generation method when
+    intermediate non-integer solutions are found.
+  */
+  static bool compatibility_check(Matrix& s);
+
+  /*! \brief
+    Helper method: checks for satisfiability of the restricted context
+    obtained by adding \p row to \p context.
+  */
+  static bool compatibility_check(const Matrix& context, const Row& row);
+
+}; // class PIP_Tree_Node
+
+
+/*! \brief
+  Artificial parameters in PIP solution trees.
+
+  These parameters are built from a linear expression combining other
+  parameters (constant term included) divided by a positive integer
+  denominator. Coefficients at variables indices corresponding to
+  PIP problem variables are always zero.
+*/
+class PIP_Tree_Node::Artificial_Parameter
+  : public Linear_Expression {
+public:
+  //! Default constructor: builds a zero artificial parameter.
+  Artificial_Parameter();
+
+  //! Constructor.
+  /*!
+    Builds artificial parameter \f$\frac{\mathit{expr}}{\mathit{den}}\f$.
+
+    \param expr
+    The expression that, after normalization, will form the numerator of
+    the artificial parameter.
+
+    \param den
+    The integer constant thatm after normalization, will form the
+    denominator of the artificial parameter.
+
+    \exception std::invalid_argument
+    Thrown if \p den is zero.
+
+    Normalization will ensure that the denominator is positive.
+  */
+  Artificial_Parameter(const Linear_Expression& expr,
+                       Coefficient_traits::const_reference den);
+
+  //! Copy constructor.
+  Artificial_Parameter(const Artificial_Parameter& y);
+
+  //! Returns the normalized (i.e., positive) denominator.
+  Coefficient_traits::const_reference denominator() const;
+
+  //! Swaps \p *this with \p y.
+  void swap(Artificial_Parameter& y);
+
+  //! Returns \c true if and only if \p *this and \p y are equal.
+  /*!
+    Note that two artificial parameters having different space dimensions
+    are considered to be different.
+  */
+  bool operator==(const Artificial_Parameter& y) const;
+  //! Returns \c true if and only if \p *this and \p y are different.
+  bool operator!=(const Artificial_Parameter& y) const;
+
+  PPL_OUTPUT_DECLARATIONS
+
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
+
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
+
+  //! Returns \c true if and only if the parameter is well-formed.
+  bool OK() const;
+
+private:
+  //! The normalized (i.e., positive) denominator.
+  Coefficient denom;
+}; // class PIP_Tree_Node::Artificial_Parameter
+
+
+//! A tree node representing part of the space of solutions.
+class PIP_Solution_Node : public PIP_Tree_Node {
+public:
+  //! Constructor: builds a solution node owned by \p *owner.
+  explicit PIP_Solution_Node(const PIP_Problem* owner);
+
+  //! Returns a pointer to a dynamically-allocated copy of \p *this.
+  virtual PIP_Tree_Node* clone() const;
+
+  //! Destructor.
+  virtual ~PIP_Solution_Node();
+
+  //! Returns \c true if and only if \p *this is well formed.
+  virtual bool OK() const;
+
+  //! Returns \p this.
+  virtual const PIP_Solution_Node* as_solution() const;
+
+  /*! \brief
+    Returns a parametric expression for the values of problem variable \p var.
+
+    The returned linear expression may involve problem parameters
+    as well as artificial parameters.
+
+    \param var
+    The problem variable which is queried about.
+
+    \exception std::invalid_argument
+    Thrown if \p var is dimension-incompatible with the PIP_Problem
+    owning this solution node, or if \p var is a problem parameter.
+  */
+  const Linear_Expression& parametric_values(Variable var) const;
+
+  //! Dumps to \p s an ASCII representation of \p *this.
+  void ascii_dump(std::ostream& s) const;
+
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
+
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  virtual memory_size_type total_memory_in_bytes() const;
+  //! Returns the size in bytes of the memory managed by \p *this.
+  virtual memory_size_type external_memory_in_bytes() const;
+
+private:
+  //! The type for parametric simplex tableau.
+  struct Tableau {
+    //! The matrix of simplex coefficients.
+    Matrix s;
+    //! The matrix of parameter coefficients.
+    Matrix t;
+    //! A common denominator for all matrix elements
+    Coefficient denom;
+
+    //! Default constructor.
+    Tableau();
+    //! Copy constructor.
+    Tableau(const Tableau& y);
+    //! Destructor.
+    ~Tableau();
+
+    //! Tests whether the matrix is integer, i.e., the denominator is 1.
+    bool is_integer() const;
+
+    //! Multiplies all coefficients and denominator with ratio.
+    void scale(Coefficient_traits::const_reference ratio);
+
+    //! Normalizes the modulo of coefficients so that they are mutually prime.
+    /*!
+      Computes the Greatest Common Divisor (GCD) among the elements of
+      the matrices and normalizes them and the denominator by the GCD itself.
+    */
+    void normalize();
+
+    /*! \brief
+      Compares two pivot row and column pairs before pivoting.
+
+      The algorithm searches the first (ie, leftmost) column \f$k\f$ in
+      parameter matrix for which the \f$c=s_{*j}\frac{t_{ik}}{s_{ij}}\f$
+      and \f$c'=s_{*j'}\frac{t_{i'k}}{s_{i'j'}}\f$ columns are different,
+      where \f$s_{*j}\f$ denotes the \f$j\f$<sup>th</sup> column from the
+      \f$s\f$ matrix and \f$s_{*j'}\f$ is the \f$j'\f$<sup>th</sup> column
+      of \f$s\f$.
+
+      \f$c\f$ is the computed column that would be subtracted to column
+      \f$k\f$ in parameter matrix if pivoting is done using the \f$(i,j)\f$
+      row and column pair.
+      \f$c'\f$ is the computed column that would be subtracted to column
+      \f$k\f$ in parameter matrix if pivoting is done using the
+      \f$(i',j')\f$ row and column pair.
+
+      The test is true if the computed \f$-c\f$ column is lexicographically
+      bigger than the \f$-c'\f$ column. Due to the column ordering in the
+      parameter matrix of the tableau, leftmost search will enforce solution
+      increase with respect to the following priority order:
+       - the constant term
+       - the coefficients for the original parameters
+       - the coefficients for the oldest artificial parameters.
+
+      \return
+      \c true if pivot row and column pair \f$(i,j)\f$ is more
+      suitable for pivoting than the \f$(i',j')\f$ pair
+
+      \param mapping
+      the PIP_Solution_Node::mapping vector for the tableau
+
+      \param basis
+      the PIP_Solution_Node::basis vector for the tableau
+
+      \param i
+      the row number for the first pivot row and column pair to be compared
+
+      \param j
+      the column number for the first pivot row and column pair to be
+      compared
+
+      \param i_
+      the row number for the second pivot row and column pair to be compared
+
+      \param j_
+      the column number for the second pivot row and column pair to be
+      compared
+    */
+    bool is_better_pivot(const std::vector<dimension_type>& mapping,
+                         const std::vector<bool>& basis,
+                         const dimension_type i,
+                         const dimension_type j,
+                         const dimension_type i_,
+                         const dimension_type j_) const;
+
+    //! Returns the value of the denominator.
+    Coefficient_traits::const_reference denominator() const;
+
+    //! Dumps to \p s an ASCII representation of \p *this.
+    void ascii_dump(std::ostream& s) const;
+
+    /*! \brief
+      Loads from \p s an ASCII representation (as produced by
+      ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+      Returns \c true if successful, \c false otherwise.
+    */
+    bool ascii_load(std::istream& s);
+
+    //! Returns the size in bytes of the memory managed by \p *this.
+    /*!
+      \note
+      No need for a \c total_memory_in_bytes() method, since
+      class Tableau is a private inner class of PIP_Solution_Node.
+    */
+    memory_size_type external_memory_in_bytes() const;
+
+    //! Returns \c true if and only if \p *this is well formed.
+    bool OK() const;
+  }; // struct Tableau
+
+  //! The parametric simplex tableau.
+  Tableau tableau;
+
+  /*! \brief
+    A boolean vector for identifying the basic variables.
+
+    Variable identifiers are numbered from 0 to <tt>n+m-1</tt>, where \p n
+    is the number of columns in the simplex tableau corresponding to variables,
+    and \p m is the number of rows.
+
+    Indices from 0 to <tt>n-1</tt> correspond to the original variables.
+
+    Indices from \p n to <tt>n+m-1</tt> correspond to the slack variables
+    associated to the internal constraints, which do not strictly correspond
+    to original constraints, since these may have been transformed to fit the
+    standard form of the dual simplex.
+
+    The value for <tt>basis[i]</tt> is:
+     - \b true if variable \p i is basic,
+     - \b false if variable \p i is nonbasic.
+  */
+  std::vector<bool> basis;
+
+  /*! \brief
+    A mapping between the tableau rows/columns and the original variables.
+
+    The value of <tt>mapping[i]</tt> depends of the value of <tt>basis[i]</tt>.
+
+     - If <tt>basis[i]</tt> is \b true, <tt>mapping[i]</tt> encodes the column
+       index of variable \p i in the \p s matrix of the tableau.
+     - If <tt>basis[i]</tt> is \b false, <tt>mapping[i]</tt> encodes the row
+       index of variable \p i in the tableau.
+  */
+  std::vector<dimension_type> mapping;
+
+  /*! \brief
+    The variable identifiers associated to the rows of the simplex tableau.
+  */
+  std::vector<dimension_type> var_row;
+
+  /*! \brief
+    The variable identifiers associated to the columns of the simplex tableau.
+  */
+  std::vector<dimension_type> var_column;
+
+  /*! \brief
+    The variable number of the special inequality used for modelling
+    equality constraints.
+
+    The subset of equality constraints in a specific problem can be expressed
+    as: \f$f_i(x,p) = 0 ; 1 \leq i \leq n\f$. As the dual simplex standard form
+    requires constraints to be inequalities, the following constraints can be
+    modelized the following way:
+
+     - \f$f_i(x,p) \geq 0 ; 1 \leq i \leq n\f$
+
+     - \f$\sum\limits_{i=1}^n f_i(x,p) \leq 0\f$
+
+    The \p special_equality_row value stores the variable number of the
+    specific constraint which is used to modelize the latter sum of
+    constraints. If no such constraint exists, the value is set to \p 0.
+  */
+  dimension_type special_equality_row;
+
+  /*! \brief
+    The column index in the parametric part of the simplex tableau
+    corresponding to the big parameter; \c not_a_dimension() if not set.
+  */
+  dimension_type big_dimension;
+
+  //! The possible values for the sign of a parametric linear expression.
+  enum Row_Sign {
+    //! Not computed yet (default).
+    UNKNOWN,
+    //! All row coefficients are zero.
+    ZERO,
+    //! All nonzero row coefficients are positive.
+    POSITIVE,
+    //! All nonzero row coefficients are negative.
+    NEGATIVE,
+    //! The row contains both positive and negative coefficients.
+    MIXED
+  };
+
+  //! A cache for computed sign values of constraint parametric RHS.
+  std::vector<Row_Sign> sign;
+
+  //! Parametric values for the solution.
+  std::vector<Linear_Expression> solution;
+
+  //! An indicator for solution validity.
+  bool solution_valid;
+
+  //! Returns the sign of row \p x.
+  static Row_Sign row_sign(const Row& x, dimension_type big_dimension);
+
+protected:
+  //! Copy constructor.
+  PIP_Solution_Node(const PIP_Solution_Node& y);
+
+  //! A tag type to select the alternative copy constructor.
+  struct No_Constraints {};
+
+  //! Alternative copy constructor.
+  /*!
+    This constructor differs from the default copy constructor in that
+    it will not copy the constraint system, nor the artificial parameters.
+  */
+  PIP_Solution_Node(const PIP_Solution_Node& y, No_Constraints);
+
+  // PIP_Problem::ascii load() method needs access set_owner().
+  friend bool PIP_Problem::ascii_load(std::istream& s);
+
+  //! Sets the pointer to the PIP_Problem owning object.
+  virtual void set_owner(const PIP_Problem* owner);
+
+  /*! \brief
+    Returns \c true if and only if all the nodes in the subtree
+    rooted in \p *this is owned by \p *pip.
+  */
+  virtual bool check_ownership(const PIP_Problem* owner) const;
+
+  //! Implements pure virtual method PIP_Tree_Node::update_tableau.
+  virtual void update_tableau(const PIP_Problem& pip,
+                              dimension_type external_space_dim,
+                              dimension_type first_pending_constraint,
+                              const Constraint_Sequence& input_cs,
+                              const Variables_Set& parameters);
+
+  /*! \brief
+    Update the solution values.
+
+    \param pip_dim_is_param
+    A vector of Boolean flags telling which PIP problem dimensions are
+    problem parameters. The size of the vector is equal to the PIP
+    problem internal space dimension (i.e., no artificial parameters).
+  */
+  void update_solution(const std::vector<bool>& pip_dim_is_param) const;
+
+  //! Helper method.
+  void update_solution() const;
+
+  //! Implements pure virtual method PIP_Tree_Node::solve.
+  virtual PIP_Tree_Node* solve(const PIP_Problem& pip,
+                               bool check_feasible_context,
+                               const Matrix& context,
+                               const Variables_Set& params,
+                               dimension_type space_dim);
+
+  /*! \brief
+    Generate a Gomory cut using non-integer tableau row \p i.
+
+    \param i
+    row index in simplex tableau from which the cut is generated
+
+    \param parameters
+    a std::set of the current parameter dimensions (including artificials);
+    to be updated if a new artificial parameter is to be created
+
+    \param context
+    a set of linear inequalities on the parameters, in Matrix form; to be
+    updated if a new artificial parameter is to be created
+
+    \param space_dimension
+    the current space dimension, including variables and all parameters; to
+    be updated if an extra parameter is to be created
+  */
+  void generate_cut(dimension_type i,
+                    Variables_Set& parameters,
+                    Matrix& context,
+                    dimension_type& space_dimension);
+
+  //! Prints on \p s the tree rooted in \p *this.
+  virtual void print_tree(std::ostream& s,
+                          unsigned indent,
+                          const std::vector<bool>& pip_dim_is_param,
+                          dimension_type first_art_dim) const;
+
+}; // class PIP_Solution_Node
+
+
+//! A tree node representing a decision in the space of solutions.
+class PIP_Decision_Node : public PIP_Tree_Node {
+public:
+  //! Returns a pointer to a dynamically-allocated copy of \p *this.
+  virtual PIP_Tree_Node* clone() const;
+
+  //! Destructor.
+  virtual ~PIP_Decision_Node();
+
+  //! Returns \c true if and only if \p *this is well formed.
+  virtual bool OK() const;
+
+  //! Returns \p this.
+  virtual const PIP_Decision_Node* as_decision() const;
+
+  //! Returns a const pointer to the \p b (true or false) branch of \p *this.
+  const PIP_Tree_Node* child_node(bool b) const;
+
+  //! Returns a pointer to the \p b (true or false) branch of \p *this.
+  PIP_Tree_Node* child_node(bool b);
+
+  //! Dumps to \p s an ASCII representation of \p *this.
+  void ascii_dump(std::ostream& s) const;
+
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
+
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  virtual memory_size_type total_memory_in_bytes() const;
+  //! Returns the size in bytes of the memory managed by \p *this.
+  virtual memory_size_type external_memory_in_bytes() const;
+
+private:
+  // PIP_Solution_Node is allowed to use the constructor and methods.
+  friend class PIP_Solution_Node;
+
+  // PIP_Problem ascii load method needs access to private constructors.
+  friend bool PIP_Problem::ascii_load(std::istream& s);
+
+  //! Pointer to the "false" child of \p *this.
+  PIP_Tree_Node* false_child;
+
+  //! Pointer to the "true" child of \p *this.
+  PIP_Tree_Node* true_child;
+
+  /*! \brief
+    Builds a decision node having \p fcp and \p tcp as child.
+
+    The decision node will encode the structure
+    "if \c cs then \p tcp else \p fcp",
+    where the system of constraints \c cs is initially empty.
+
+    \param owner
+    Pointer to the owning PIP_Problem object; it may be null if and
+    only if both children are null.
+
+    \param fcp
+    Pointer to "false" child; it may be null.
+
+    \param tcp
+    Pointer to "true" child; it may be null.
+
+    \note
+    If any of \p fcp or \p tcp is not null, then \p owner is required
+    to be not null and equal to the owner of its non-null children;
+    otherwise the behavior is undefined.
+  */
+  explicit PIP_Decision_Node(const PIP_Problem* owner,
+                             PIP_Tree_Node* fcp,
+                             PIP_Tree_Node* tcp);
+
+  //! Sets the pointer to the PIP_Problem owning object.
+  virtual void set_owner(const PIP_Problem* owner);
+
+  /*! \brief
+    Returns \c true if and only if all the nodes in the subtree
+    rooted in \p *this is owned by \p *pip.
+  */
+  virtual bool check_ownership(const PIP_Problem* owner) const;
+
+protected:
+  //! Copy constructor.
+  PIP_Decision_Node(const PIP_Decision_Node& y);
+
+  //! Implements pure virtual method PIP_Tree_Node::update_tableau.
+  virtual void update_tableau(const PIP_Problem& pip,
+                              dimension_type external_space_dim,
+                              dimension_type first_pending_constraint,
+                              const Constraint_Sequence& input_cs,
+                              const Variables_Set& parameters);
+
+  //! Implements pure virtual method PIP_Tree_Node::solve.
+  virtual PIP_Tree_Node* solve(const PIP_Problem& pip,
+                               bool check_feasible_context,
+                               const Matrix& context,
+                               const Variables_Set& params,
+                               dimension_type space_dim);
+
+  //! Prints on \p s the tree rooted in \p *this.
+  virtual void print_tree(std::ostream& s,
+                          unsigned indent,
+                          const std::vector<bool>& pip_dim_is_param,
+                          dimension_type first_art_dim) const;
+
+}; // class PIP_Decision_Node
+
+namespace IO_Operators {
+
+//! Output operator: prints the solution tree rooted in \p x.
+/*! \relates Parma_Polyhedra_Library::PIP_Tree_Node */
+std::ostream& operator<<(std::ostream& os, const PIP_Tree_Node& x);
+
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::PIP_Tree_Node::Artificial_Parameter */
+std::ostream& operator<<(std::ostream& os,
+                         const PIP_Tree_Node::Artificial_Parameter& x);
+
+} // namespace IO_Operators
+
+} // namespace Parma_Polyhedra_Library
+
+#include "PIP_Tree.inlines.hh"
+
+#endif // !defined(PPL_PIP_Tree_defs_hh)
diff --git a/src/PIP_Tree.inlines.hh b/src/PIP_Tree.inlines.hh
new file mode 100644
index 0000000..159b5c1
--- /dev/null
+++ b/src/PIP_Tree.inlines.hh
@@ -0,0 +1,148 @@
+/* PIP_Tree related class implementation: inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#ifndef PPL_PIP_Tree_inlines_hh
+#define PPL_PIP_Tree_inlines_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+inline
+PIP_Solution_Node::Tableau::Tableau()
+  : s(), t(), denom(1) {
+  PPL_ASSERT(OK());
+}
+
+inline
+PIP_Solution_Node::Tableau::Tableau(const Tableau& y)
+  : s(y.s), t(y.t), denom(y.denom) {
+  PPL_ASSERT(OK());
+}
+
+inline
+PIP_Solution_Node::Tableau::~Tableau() {
+}
+
+inline bool
+PIP_Solution_Node::Tableau::is_integer() const {
+  return denom == 1;
+}
+
+inline Coefficient_traits::const_reference
+PIP_Solution_Node::Tableau::denominator() const {
+  return denom;
+}
+
+inline
+PIP_Tree_Node::~PIP_Tree_Node() {
+}
+
+inline void
+PIP_Tree_Node::set_parent(const PIP_Decision_Node* p) {
+  parent_ = p;
+}
+
+inline const PIP_Decision_Node*
+PIP_Tree_Node::parent() const {
+  return parent_;
+}
+
+inline const PIP_Problem*
+PIP_Tree_Node::get_owner() const {
+  return owner_;
+}
+
+inline const Constraint_System&
+PIP_Tree_Node::constraints() const {
+  return constraints_;
+}
+
+inline PIP_Tree_Node::Artificial_Parameter_Sequence::const_iterator
+PIP_Tree_Node::art_parameter_begin() const {
+  return artificial_parameters.begin();
+}
+
+inline PIP_Tree_Node::Artificial_Parameter_Sequence::const_iterator
+PIP_Tree_Node::art_parameter_end() const {
+  return artificial_parameters.end();
+}
+
+inline dimension_type
+PIP_Tree_Node::art_parameter_count() const {
+  return artificial_parameters.size();
+}
+
+inline
+const PIP_Tree_Node*
+PIP_Decision_Node::child_node(bool v) const {
+  return v ? true_child : false_child;
+}
+
+inline
+PIP_Tree_Node*
+PIP_Decision_Node::child_node(bool v) {
+  return v ? true_child : false_child;
+}
+
+inline
+PIP_Tree_Node::Artificial_Parameter::Artificial_Parameter()
+  : Linear_Expression(), denom(1) {
+  PPL_ASSERT(OK());
+}
+
+inline
+PIP_Tree_Node::Artificial_Parameter
+::Artificial_Parameter(const Linear_Expression& expr,
+                       Coefficient_traits::const_reference den)
+  : Linear_Expression(expr), denom(den) {
+  if (denom == 0)
+    throw std::invalid_argument("PIP_Tree_Node::Artificial_Parameter(e, d): "
+                                "denominator d is zero.");
+  // Normalize if needed.
+  if (denom < 0) {
+    neg_assign(denom);
+    Linear_Expression& e = *this;
+    e *= -1;
+  }
+  PPL_ASSERT(OK());
+}
+
+inline
+PIP_Tree_Node::Artificial_Parameter
+::Artificial_Parameter(const Artificial_Parameter& y)
+  : Linear_Expression(y), denom(y.denom) {
+  PPL_ASSERT(OK());
+}
+
+inline Coefficient_traits::const_reference
+PIP_Tree_Node::Artificial_Parameter::denominator() const {
+  return denom;
+}
+
+inline void
+PIP_Tree_Node::Artificial_Parameter::swap(Artificial_Parameter& y) {
+  Linear_Expression::swap(y);
+  std::swap(denom, y.denom);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_PIP_Tree_inlines_hh)
diff --git a/src/PIP_Tree.types.hh b/src/PIP_Tree.types.hh
new file mode 100644
index 0000000..21a3428
--- /dev/null
+++ b/src/PIP_Tree.types.hh
@@ -0,0 +1,25 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_PIP_Tree_types_hh
+#define PPL_PIP_Tree_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+class PIP_Tree_Node;
+class PIP_Solution_Node;
+class PIP_Decision_Node;
+
+typedef const PIP_Tree_Node* PIP_Tree;
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_PIP_Tree_types_hh)
diff --git a/src/Partial_Function.cc b/src/Partial_Function.cc
new file mode 100644
index 0000000..c38a89d
--- /dev/null
+++ b/src/Partial_Function.cc
@@ -0,0 +1,41 @@
+/* Implementation of class Partial_Function (non-inline functions).
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include <ppl-config.h>
+#include "Partial_Function.defs.hh"
+#include "Variable.defs.hh"
+#include <iostream>
+
+namespace Parma_Polyhedra_Library {
+
+void
+Partial_Function::print(std::ostream& s) const {
+  using namespace Parma_Polyhedra_Library::IO_Operators;
+  if (has_empty_codomain())
+    s << "empty" << std::endl;
+  else
+    for (dimension_type i = 0, i_end = vec.size(); i < i_end; ++i)
+      if (vec[i] != not_a_dimension())
+        s << Variable(i) << " --> " << Variable(vec[i]) << "\n";
+}
+
+} // namespace Parma_Polyhedra_Library
diff --git a/src/Partial_Function.defs.hh b/src/Partial_Function.defs.hh
new file mode 100644
index 0000000..a500902
--- /dev/null
+++ b/src/Partial_Function.defs.hh
@@ -0,0 +1,86 @@
+/* Partial_Function class declaration.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#ifndef PPL_Partial_Function_defs_hh
+#define PPL_Partial_Function_defs_hh 1
+
+#include "Partial_Function.types.hh"
+#include "globals.defs.hh"
+#include <vector>
+#ifndef NDEBUG
+#include <set>
+#endif
+#include <iosfwd>
+
+namespace Parma_Polyhedra_Library {
+
+class Partial_Function {
+public:
+  /*! \brief
+    Default constructor: builds a function with empty codomain
+    (i.e., always undefined).
+  */
+  Partial_Function();
+
+  /*! \brief
+    Returns \c true if and only if the represented partial function
+    has an empty codomain (i.e., it is always undefined).
+  */
+  bool has_empty_codomain() const;
+
+  /*! \brief
+    If the codomain is \e not empty, returns the maximum value in it.
+
+    \exception std::runtime_error
+    Thrown if called when \p *this has an empty codomain.
+  */
+  dimension_type max_in_codomain() const;
+
+  /*! \brief
+    If \p *this maps \p i to a value \c k, assigns \c k to \p j and
+    returns \c true; otherwise, \p j is unchanged and \c false is returned.
+  */
+  bool maps(dimension_type i, dimension_type& j) const;
+
+  void print(std::ostream& s) const;
+
+  /*! \brief
+    Modifies \p *this so that \p i is mapped to \p j.
+
+    \exception std::runtime_error
+    Thrown if \p *this is already mapping \p j.
+  */
+  void insert(dimension_type i, dimension_type j);
+
+private:
+  std::vector<dimension_type> vec;
+  dimension_type max;
+#ifndef NDEBUG
+  std::set<dimension_type> codomain;
+#endif
+}; // class Partial_Function
+
+} // namespace Parma_Polyhedra_Library
+
+#include "Partial_Function.inlines.hh"
+
+#endif // !defined(PPL_Partial_Function_defs_hh)
diff --git a/src/Partial_Function.inlines.hh b/src/Partial_Function.inlines.hh
new file mode 100644
index 0000000..bffc8ad
--- /dev/null
+++ b/src/Partial_Function.inlines.hh
@@ -0,0 +1,89 @@
+/* Partial_Function class implementation: inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#ifndef PPL_Partial_Function_inlines_hh
+#define PPL_Partial_Function_inlines_hh 1
+
+#include <stdexcept>
+#include <cassert>
+
+namespace Parma_Polyhedra_Library {
+
+inline
+Partial_Function::Partial_Function()
+  : max(0) {
+}
+
+inline bool
+Partial_Function::has_empty_codomain() const {
+  PPL_ASSERT(vec.empty() == codomain.empty());
+  return vec.empty();
+}
+
+inline dimension_type
+Partial_Function::max_in_codomain() const {
+  if (has_empty_codomain())
+    throw std::runtime_error("Partial_Function::max_in_codomain() called"
+			     " when has_empty_codomain()");
+  PPL_ASSERT(codomain.begin() != codomain.end()
+             && max == *codomain.rbegin());
+  return max;
+}
+
+inline void
+Partial_Function::insert(dimension_type i, dimension_type j) {
+#ifndef NDEBUG
+  // The partial function has to be an injective map.
+  std::pair<std::set<dimension_type>::iterator, bool> s = codomain.insert(j);
+  PPL_ASSERT(s.second);
+#endif // #ifndef NDEBUG
+
+  // Expand `vec' if needed.
+  const dimension_type sz = vec.size();
+  if (i >= sz)
+    vec.insert(vec.end(), i - sz + 1, not_a_dimension());
+
+  // We cannot remap the same index to another one.
+  PPL_ASSERT(i < vec.size() && vec[i] == not_a_dimension());
+  vec[i] = j;
+
+  // Maybe update `max'.
+  if (j > max)
+    max = j;
+  PPL_ASSERT(codomain.begin() != codomain.end()
+             && max == *codomain.rbegin());
+}
+
+inline bool
+Partial_Function::maps(dimension_type i, dimension_type& j) const {
+  if (i >= vec.size())
+    return false;
+  dimension_type vec_i = vec[i];
+  if (vec_i == not_a_dimension())
+    return false;
+  j = vec_i;
+  return true;
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Partial_Function_inlines_hh)
diff --git a/src/Partial_Function.types.hh b/src/Partial_Function.types.hh
new file mode 100644
index 0000000..8146ca2
--- /dev/null
+++ b/src/Partial_Function.types.hh
@@ -0,0 +1,21 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_Partial_Function_types_hh
+#define PPL_Partial_Function_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+class Partial_Function;
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Partial_Function_types_hh)
diff --git a/src/Partially_Reduced_Product.defs.hh b/src/Partially_Reduced_Product.defs.hh
index b1097aa..7e2a97b 100644
--- a/src/Partially_Reduced_Product.defs.hh
+++ b/src/Partially_Reduced_Product.defs.hh
@@ -1,5 +1,5 @@
 /* Partially_Reduced_Product class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -165,6 +165,113 @@ public:
 };
 
 /*! \brief
+  This class provides the reduction method for the Congruences_Product
+  domain.
+
+  \ingroup PPL_CXX_interface
+  The reduction classes are used to instantiate the Partially_Reduced_Product
+  domain.
+
+  This class uses the minimized congruences defining each of the components.
+  For each of the congruences, it checks if the other component
+  intersects none, one or more than one hyperplane defined by the congruence
+  and adds equalities or emptiness as appropriate; in more detail:
+  Letting the components be d1 and d2, then, for each congruence cg
+  representing d1:
+  - if more than one hyperplane defined by cg intersects
+    d2, then d1 and d2 are unchanged;
+  - if exactly one hyperplane intersects d2, then d1 and d2 are
+    refined with the corresponding equality ;
+  - otherwise, d1 and d2 are set to empty.
+  Unless d1 and d2 are already empty, the process is repeated where the
+  roles of d1 and d2 are reversed.
+  If d1 or d2 is empty, then the emptiness is propagated.
+
+*/
+template <typename D1, typename D2>
+class Parma_Polyhedra_Library::Congruences_Reduction {
+public:
+  //! Default constructor.
+  Congruences_Reduction();
+
+  /*! \brief
+    The congruences reduction operator for detect emptiness or any equalities
+    implied by each of the congruences defining one of the components
+    and the bounds of the other component. It is assumed that the
+    components are already constraints reduced.
+
+    The minimized congruence system defining the domain element \p d1
+    is used to check if \p d2 intersects none, one or more than one
+    of the hyperplanes defined by the congruences: if it intersects none,
+    then product is set empty; if it intersects one, then the equality
+    defining this hyperplane is added to both components; otherwise,
+    the product is unchanged.
+    In each case, the donor domain must provide a congruence system
+    in minimal form.
+
+    \param d1
+    A pointset domain element;
+
+    \param d2
+    A pointset domain element;
+  */
+  void product_reduce(D1& d1, D2& d2);
+
+  //! Destructor.
+  ~Congruences_Reduction();
+};
+
+/*! \brief
+  This class provides the reduction method for the Shape_Preserving_Product
+  domain.
+
+  \ingroup PPL_CXX_interface
+  The reduction classes are used to instantiate the Partially_Reduced_Product
+  domain.
+
+  This reduction method includes the congruences reduction.
+  This class uses the minimized constraints defining each of the components.
+  For each of the constraints, it checks the frequency and value for the same
+  linear expression in the other component. If the constraint does not satisfy
+  the implied congruence, the inhomogeneous term is adjusted so that it does.
+  Note that unless the congruences reduction adds equalitites
+  the shapes of the domains are unaltered.
+
+*/
+template <typename D1, typename D2>
+class Parma_Polyhedra_Library::Shape_Preserving_Reduction {
+public:
+  //! Default constructor.
+  Shape_Preserving_Reduction();
+
+  /*! \brief
+    The congruences reduction operator for detect emptiness or any equalities
+    implied by each of the congruences defining one of the components
+    and the bounds of the other component. It is assumed that the
+    components are already constraints reduced.
+
+    The minimized congruence system defining the domain element \p d1
+    is used to check if \p d2 intersects none, one or more than one
+    of the hyperplanes defined by the congruences: if it intersects none,
+    then product is set empty; if it intersects one, then the equality
+    defining this hyperplane is added to both components; otherwise,
+    the product is unchanged.
+    In each case, the donor domain must provide a congruence system
+    in minimal form.
+
+    \param d1
+    A pointset domain element;
+
+    \param d2
+    A pointset domain element;
+  */
+  void product_reduce(D1& d1, D2& d2);
+
+  //! Destructor.
+  ~Shape_Preserving_Reduction();
+};
+
+/*! \brief
   This class provides the reduction method for the Direct_Product domain.
 
   \ingroup PPL_CXX_interface
@@ -331,13 +438,9 @@ public:
     \param cgs
     The system of congruences to be approximated by the pair.
 
-    \exception std::invalid_argument
-    Thrown if the system of congruences is imcompatible with one of the
-    components.
-
     \exception std::length_error
-    Thrown if the space dimension of \p cgs exceeds the maximum allowed
-    space dimension.
+    Thrown if \p num_dimensions exceeds the maximum allowed space
+    dimension.
   */
   explicit Partially_Reduced_Product(const Congruence_System& cgs);
 
@@ -349,13 +452,9 @@ public:
     The system of congruences to be approximates by the pair.
     Its data-structures may be recycled to build the pair.
 
-    \exception std::invalid_argument
-    Thrown if the system of congruences is imcompatible with one of the
-    components.
-
     \exception std::length_error
-    Thrown if the space dimension of \p cgs exceeds the maximum allowed
-    space dimension.
+    Thrown if \p num_dimensions exceeds the maximum allowed space
+    dimension.
   */
   explicit Partially_Reduced_Product(Congruence_System& cgs);
 
@@ -366,13 +465,9 @@ public:
     \param cs
     The system of constraints to be approximated by the pair.
 
-    \exception std::invalid_argument
-    Thrown if the system of constraints is imcompatible with one of the
-    components.
-
     \exception std::length_error
-    Thrown if the space dimension of \p cs exceeds the maximum allowed
-    space dimension.
+    Thrown if \p num_dimensions exceeds the maximum allowed space
+    dimension.
   */
   explicit Partially_Reduced_Product(const Constraint_System& cs);
 
@@ -383,10 +478,6 @@ public:
     \param cs
     The system of constraints to be approximated by the pair.
 
-    \exception std::invalid_argument
-    Thrown if the system of constraints is imcompatible with one of the
-    components.
-
     \exception std::length_error
     Thrown if the space dimension of \p cs exceeds the maximum allowed
     space dimension.
@@ -468,8 +559,8 @@ public:
     The complexity is ignored.
 
     \exception std::length_error
-    Thrown if the space dimension of \p box exceeds the maximum allowed
-    space dimension.
+    Thrown if the space dimension of \p box exceeds the maximum
+    allowed space dimension.
   */
   template <typename Interval>
   Partially_Reduced_Product(const Box<Interval>& box,
@@ -487,8 +578,8 @@ public:
     The complexity is ignored.
 
     \exception std::length_error
-    Thrown if the space dimension of \p bd exceeds the maximum allowed
-    space dimension.
+    Thrown if the space dimension of \p bd exceeds the maximum
+    allowed space dimension.
   */
   template <typename U>
   Partially_Reduced_Product(const BD_Shape<U>& bd,
@@ -506,36 +597,20 @@ public:
     The complexity is ignored.
 
     \exception std::length_error
-    Thrown if the space dimension of \p os exceeds the maximum allowed
-    space dimension.
+    Thrown if the space dimension of \p os exceeds the maximum
+    allowed space dimension.
   */
   template <typename U>
   Partially_Reduced_Product(const Octagonal_Shape<U>& os,
                             Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Ordinary copy-constructor.
+  //! Ordinary copy constructor.
   Partially_Reduced_Product(const Partially_Reduced_Product& y,
                             Complexity_Class complexity = ANY_COMPLEXITY);
 
   //! Builds a conservative, upward approximation of \p y.
   /*!
-    Builds a product containing \p y using algorithms whose
-    complexity does not exceed the one specified by \p complexity.
-    If \p complexity is \p ANY_COMPLEXITY, then the built product is the
-    smallest one containing \p y.
-    The product inherits the space dimension of y.
-
-    \param y
-    The product to be approximated.
-
-    \param complexity
-    The complexity that will not be exceeded.
-
-    \exception std::length_error
-    Thrown if the space dimension of \p y exceeds the maximum allowed
-    space dimension.
-
-    The built product is independent of the order of the components of \p y.
+    The complexity argument is ignored.
   */
   template <typename E1, typename E2, typename S>
   explicit
@@ -960,17 +1035,17 @@ public:
 
   /*! \brief
     Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to the set of space dimensions \p to_be_unconstrained,
+    respect to the set of space dimensions \p vars,
     assigning the result to \p *this.
 
-    \param to_be_unconstrained
+    \param vars
     The set of space dimension that will be unconstrained.
 
     \exception std::invalid_argument
     Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p to_be_removed.
+    Variable objects contained in \p vars.
   */
-  void unconstrain(const Variables_Set& to_be_unconstrained);
+  void unconstrain(const Variables_Set& vars);
 
   /*! \brief
     Assigns to \p *this the componentwise intersection of \p *this and \p y.
@@ -1257,8 +1332,8 @@ public:
 
   // TODO: Add a way to call other widenings.
 
-  // CHECKME: This is a real widening for all the existing reduction
-  // operations. When new reductions are added, this must be rechecked.
+  // CHECKME: This may not be a real widening; it depends on the reduction
+  //          class R and the widening used.
 
   /*! \brief
     Assigns to \p *this the result of computing the
@@ -1282,6 +1357,39 @@ public:
   void widening_assign(const Partially_Reduced_Product& y,
                        unsigned* tp = NULL);
 
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates.
+
+    \param complexity
+    The maximal complexity of any algorithms used.
+
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+  void drop_some_non_integer_points(Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
+
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates for the space dimensions corresponding to \p vars.
+
+    \param vars
+    Points with non-integer coordinates for these variables/space-dimensions
+    can be discarded.
+
+    \param complexity
+    The maximal complexity of any algorithms used.
+
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+  void drop_some_non_integer_points(const Variables_Set& vars,
+                                    Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
+
   //@} // Space Dimension Preserving Member Functions that May Modify [...]
 
   //! \name Member Functions that May Modify the Dimension of the Vector Space
@@ -1317,7 +1425,7 @@ public:
     Assigns to the first (resp., second) component of \p *this
     the "concatenation" of the first (resp., second) components
     of \p *this and \p y, taken in this order.
-    See also \ref Concatenating_Polyhedra and \ref Grid_Concatenate.
+    See also \ref Concatenating_Polyhedra.
 
     \exception std::length_error
     Thrown if the concatenation would cause the vector space
@@ -1327,15 +1435,15 @@ public:
 
   //! Removes all the specified dimensions from the vector space.
   /*!
-    \param to_be_removed
+    \param vars
     The set of Variable objects corresponding to the space dimensions
     to be removed.
 
     \exception std::invalid_argument
     Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p to_be_removed.
+    Variable objects contained in \p vars.
   */
-  void remove_space_dimensions(const Variables_Set& to_be_removed);
+  void remove_space_dimensions(const Variables_Set& vars);
 
   /*! \brief
     Removes the higher dimensions of the vector space so that the
@@ -1423,31 +1531,31 @@ public:
   */
   void expand_space_dimension(Variable var, dimension_type m);
 
-  //! Folds the space dimensions in \p to_be_folded into \p var.
+  //! Folds the space dimensions in \p vars into \p dest.
   /*!
-    \param to_be_folded
+    \param vars
     The set of Variable objects corresponding to the space dimensions
     to be folded;
 
-    \param var
+    \param dest
     The variable corresponding to the space dimension that is the
     destination of the folding operation.
 
     \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p var or with
-    one of the Variable objects contained in \p to_be_folded.  Also
-    thrown if \p var is contained in \p to_be_folded.
+    Thrown if \p *this is dimension-incompatible with \p dest or with
+    one of the Variable objects contained in \p vars.  Also
+    thrown if \p dest is contained in \p vars.
 
     If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    <CODE>var</CODE> has space dimension \f$k \leq n\f$,
-    \p to_be_folded is a set of variables whose maximum space dimension
-    is also less than or equal to \f$n\f$, and \p var is not a member
-    of \p to_be_folded, then the space dimensions corresponding to
-    variables in \p to_be_folded are
+    <CODE>dest</CODE> has space dimension \f$k \leq n\f$,
+    \p vars is a set of variables whose maximum space dimension
+    is also less than or equal to \f$n\f$, and \p dest is not a member
+    of \p vars, then the space dimensions corresponding to
+    variables in \p vars are
     \ref Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension
     "folded" into the \f$k\f$-th space dimension.
   */
-  void fold_space_dimensions(const Variables_Set& to_be_folded, Variable var);
+  void fold_space_dimensions(const Variables_Set& vars, Variable dest);
 
   //@} // Member Functions that May Modify the Dimension of the Vector Space
 
@@ -1531,25 +1639,6 @@ protected:
     to each other and the reduction class.
   */
   bool reduced;
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  //! \name Exception Throwers
-  //@{
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-protected:
-  void throw_runtime_error(const char* method) const;
-  void throw_invalid_argument(const char* method, const char* reason) const;
-
-
-  // Note: it has to be a static method, because it can be called inside
-  // constructors (before actually constructing the polyhedron object).
-  static void throw_space_dimension_overflow(const char* method,
-					     const char* reason);
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  //@} // Exception Throwers
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-
 };
 
 namespace Parma_Polyhedra_Library {
@@ -1573,6 +1662,12 @@ public:
 
   typedef Partially_Reduced_Product<D1, D2, Constraints_Reduction<D1, D2> >
   Constraints_Product;
+
+  typedef Partially_Reduced_Product<D1, D2, Congruences_Reduction<D1, D2> >
+  Congruences_Product;
+
+  typedef Partially_Reduced_Product<D1, D2, Shape_Preserving_Reduction<D1, D2> >
+  Shape_Preserving_Product;
 };
 
 } // namespace Parma_Polyhedra_Library
diff --git a/src/Partially_Reduced_Product.inlines.hh b/src/Partially_Reduced_Product.inlines.hh
index a6f209d..a4c0929 100644
--- a/src/Partially_Reduced_Product.inlines.hh
+++ b/src/Partially_Reduced_Product.inlines.hh
@@ -1,5 +1,5 @@
 /* Partially_Reduced_Product class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -34,7 +34,9 @@ namespace Parma_Polyhedra_Library {
 template <typename D1, typename D2, typename R>
 inline dimension_type
 Partially_Reduced_Product<D1, D2, R>::max_space_dimension() {
-  return std::min(D1::max_space_dimension(), D2::max_space_dimension());
+  return (D1::max_space_dimension() < D2::max_space_dimension())
+    ? D1::max_space_dimension()
+    : D2::max_space_dimension();
 }
 
 template <typename D1, typename D2, typename R>
@@ -42,13 +44,7 @@ inline
 Partially_Reduced_Product<D1, D2, R>
 ::Partially_Reduced_Product(dimension_type num_dimensions,
 			    const Degenerate_Element kind)
-  : d1(num_dimensions <= max_space_dimension()
-       ?  num_dimensions
-       : (throw_space_dimension_overflow
-               ("Partially_Reduced_Product<D1, D2, R>(n, k)",
-                "n exceeds the maximum "
-                "allowed space dimension"),
-	       0), kind),
+  : d1(num_dimensions, kind),
     d2(num_dimensions, kind) {
   set_reduced_flag();
 }
@@ -57,14 +53,7 @@ template <typename D1, typename D2, typename R>
 inline
 Partially_Reduced_Product<D1, D2, R>
 ::Partially_Reduced_Product(const Congruence_System& ccgs)
-  : d1((ccgs.space_dimension() <= max_space_dimension())
-       ?  ccgs
-       : (throw_space_dimension_overflow
-          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
-           "the space dimension of ccgs "
-           "exceeds the maximum allowed "
-           "space dimension"), ccgs)),
-    d2(ccgs) {
+  : d1(ccgs), d2(ccgs) {
   clear_reduced_flag();
 }
 
@@ -72,14 +61,7 @@ template <typename D1, typename D2, typename R>
 inline
 Partially_Reduced_Product<D1, D2, R>
 ::Partially_Reduced_Product(Congruence_System& cgs)
-  : d1((cgs.space_dimension() <= max_space_dimension())
-       ? const_cast<const Congruence_System&>(cgs)
-       : (throw_space_dimension_overflow
-          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
-           "the space dimension of cgs "
-           "exceeds the maximum allowed "
-           "space dimension"), cgs)),
-    d2(cgs) {
+  : d1(const_cast<const Congruence_System&>(cgs)), d2(cgs) {
   clear_reduced_flag();
 }
 
@@ -87,14 +69,7 @@ template <typename D1, typename D2, typename R>
 inline
 Partially_Reduced_Product<D1, D2, R>
 ::Partially_Reduced_Product(const Constraint_System& ccs)
-  : d1((ccs.space_dimension() <= max_space_dimension())
-       ?  ccs
-       : (throw_space_dimension_overflow
-          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
-           "the space dimension of ccs "
-           "exceeds the maximum allowed "
-           "space dimension"), ccs)),
-    d2(ccs) {
+  : d1(ccs), d2(ccs) {
   clear_reduced_flag();
 }
 
@@ -102,14 +77,7 @@ template <typename D1, typename D2, typename R>
 inline
 Partially_Reduced_Product<D1, D2, R>
 ::Partially_Reduced_Product(Constraint_System& cs)
-  : d1((cs.space_dimension() <= max_space_dimension())
-       ? const_cast<const Constraint_System&>(cs)
-       : (throw_space_dimension_overflow
-          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
-           "the space dimension of cs "
-           "exceeds the maximum allowed "
-           "space dimension"), cs)),
-    d2(cs) {
+  : d1(const_cast<const Constraint_System&>(cs)), d2(cs) {
   clear_reduced_flag();
 }
 
@@ -118,14 +86,7 @@ inline
 Partially_Reduced_Product<D1, D2, R>
 ::Partially_Reduced_Product(const C_Polyhedron& ph,
                             Complexity_Class complexity)
-  : d1((ph.space_dimension() <= max_space_dimension())
-       ? ph
-       : (throw_space_dimension_overflow
-          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
-           "the space dimension of ph "
-           "exceeds the maximum allowed "
-           "space dimension"), ph), complexity),
-   d2(ph, complexity) {
+  : d1(ph, complexity), d2(ph, complexity) {
   set_reduced_flag();
 }
 
@@ -134,14 +95,7 @@ inline
 Partially_Reduced_Product<D1, D2, R>
 ::Partially_Reduced_Product(const NNC_Polyhedron& ph,
                             Complexity_Class complexity)
- : d1((ph.space_dimension() <= max_space_dimension())
-       ? ph
-       : (throw_space_dimension_overflow
-          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
-           "the space dimension of ph "
-           "exceeds the maximum allowed "
-           "space dimension"), ph), complexity),
-   d2(ph, complexity) {
+  : d1(ph, complexity), d2(ph, complexity) {
   set_reduced_flag();
 }
 
@@ -149,14 +103,7 @@ template <typename D1, typename D2, typename R>
 inline
 Partially_Reduced_Product<D1, D2, R>
 ::Partially_Reduced_Product(const Grid& gr, Complexity_Class)
- : d1((gr.space_dimension() <= max_space_dimension())
-       ? gr
-       : (throw_space_dimension_overflow
-          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
-           "the space dimension of gr "
-           "exceeds the maximum allowed "
-           "space dimension"), gr)),
-   d2(gr) {
+  : d1(gr), d2(gr) {
   set_reduced_flag();
 }
 
@@ -165,14 +112,7 @@ template <typename Interval>
 inline
 Partially_Reduced_Product<D1, D2, R>
 ::Partially_Reduced_Product(const Box<Interval>& box, Complexity_Class)
- : d1((box.space_dimension() <= max_space_dimension())
-       ? box
-       : (throw_space_dimension_overflow
-          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
-           "the space dimension of box "
-           "exceeds the maximum allowed "
-           "space dimension"), box)),
-   d2(box) {
+  : d1(box), d2(box) {
   set_reduced_flag();
 }
 
@@ -181,14 +121,7 @@ template <typename U>
 inline
 Partially_Reduced_Product<D1, D2, R>
 ::Partially_Reduced_Product(const BD_Shape<U>& bd, Complexity_Class)
- : d1((bd.space_dimension() <= max_space_dimension())
-       ? bd
-       : (throw_space_dimension_overflow
-          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
-           "the space dimension of bd "
-           "exceeds the maximum allowed "
-           "space dimension"), bd)),
-   d2(bd) {
+  : d1(bd), d2(bd) {
   set_reduced_flag();
 }
 
@@ -197,14 +130,7 @@ template <typename U>
 inline
 Partially_Reduced_Product<D1, D2, R>
 ::Partially_Reduced_Product(const Octagonal_Shape<U>& os, Complexity_Class)
- : d1((os.space_dimension() <= max_space_dimension())
-       ? os
-       : (throw_space_dimension_overflow
-          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
-           "the space dimension of os "
-           "exceeds the maximum allowed "
-           "space dimension"), os)),
-   d2(os) {
+  : d1(os), d2(os) {
   set_reduced_flag();
 }
 
@@ -218,6 +144,22 @@ Partially_Reduced_Product<D1, D2, R>
 }
 
 template <typename D1, typename D2, typename R>
+template <typename E1, typename E2, typename S>
+inline
+Partially_Reduced_Product<D1, D2, R>
+::Partially_Reduced_Product(const Partially_Reduced_Product<E1, E2, S>& y,
+                            Complexity_Class complexity)
+  : d1(y.space_dimension()), d2(y.space_dimension()) {
+  Partially_Reduced_Product<D1, D2, R> pg1(y.domain1(), complexity);
+  Partially_Reduced_Product<D1, D2, R> pg2(y.domain2(), complexity);
+  pg1.intersection_assign(pg2);
+  swap(pg1);
+  /* Even if y is reduced, the built product may not be reduced as
+     the reduction method may have changed (i.e., S != R). */
+  clear_reduced_flag();
+}
+
+template <typename D1, typename D2, typename R>
 inline
 Partially_Reduced_Product<D1, D2, R>::~Partially_Reduced_Product() {
 }
@@ -237,7 +179,7 @@ Partially_Reduced_Product<D1, D2, R>::total_memory_in_bytes() const {
 template <typename D1, typename D2, typename R>
 inline dimension_type
 Partially_Reduced_Product<D1, D2, R>::space_dimension() const {
-  assert(d1.space_dimension() == d2.space_dimension());
+  PPL_ASSERT(d1.space_dimension() == d2.space_dimension());
   return d1.space_dimension();
 }
 
@@ -261,11 +203,10 @@ Partially_Reduced_Product<D1, D2, R>
 
 template <typename D1, typename D2, typename R>
 inline void
-Partially_Reduced_Product<D1, D2, R>
-::unconstrain(const Variables_Set& to_be_unconstrained) {
+Partially_Reduced_Product<D1, D2, R>::unconstrain(const Variables_Set& vars) {
   reduce();
-  d1.unconstrain(to_be_unconstrained);
-  d2.unconstrain(to_be_unconstrained);
+  d1.unconstrain(vars);
+  d2.unconstrain(vars);
 }
 
 template <typename D1, typename D2, typename R>
@@ -296,9 +237,6 @@ Partially_Reduced_Product<D1, D2, R>
   y.reduce();
   d1.upper_bound_assign(y.d1);
   d2.upper_bound_assign(y.d2);
-  // CHECKME: if upper_bound_assign is not a least_upper_bound
-  //          it may not be reduced.
-  // clear_reduced_flag();
 }
 
 template <typename D1, typename D2, typename R>
@@ -326,6 +264,7 @@ Partially_Reduced_Product<D1, D2, R>
 	       Coefficient_traits::const_reference denominator) {
   d1.affine_image(var, expr, denominator);
   d2.affine_image(var, expr, denominator);
+  clear_reduced_flag();
 }
 
 template <typename D1, typename D2, typename R>
@@ -336,6 +275,7 @@ Partially_Reduced_Product<D1, D2, R>
 		  Coefficient_traits::const_reference denominator) {
   d1.affine_preimage(var, expr, denominator);
   d2.affine_preimage(var, expr, denominator);
+  clear_reduced_flag();
 }
 
 template <typename D1, typename D2, typename R>
@@ -347,6 +287,7 @@ Partially_Reduced_Product<D1, D2, R>
 			   Coefficient_traits::const_reference denominator) {
   d1.generalized_affine_image(var, relsym, expr, denominator);
   d2.generalized_affine_image(var, relsym, expr, denominator);
+  clear_reduced_flag();
 }
 
 template <typename D1, typename D2, typename R>
@@ -358,6 +299,7 @@ Partially_Reduced_Product<D1, D2, R>
 			      Coefficient_traits::const_reference denominator) {
   d1.generalized_affine_preimage(var, relsym, expr, denominator);
   d2.generalized_affine_preimage(var, relsym, expr, denominator);
+  clear_reduced_flag();
 }
 
 template <typename D1, typename D2, typename R>
@@ -368,6 +310,7 @@ Partially_Reduced_Product<D1, D2, R>
 			   const Linear_Expression& rhs) {
   d1.generalized_affine_image(lhs, relsym, rhs);
   d2.generalized_affine_image(lhs, relsym, rhs);
+  clear_reduced_flag();
 }
 
 template <typename D1, typename D2, typename R>
@@ -378,6 +321,7 @@ Partially_Reduced_Product<D1, D2, R>
                               const Linear_Expression& rhs) {
   d1.generalized_affine_preimage(lhs, relsym, rhs);
   d2.generalized_affine_preimage(lhs, relsym, rhs);
+  clear_reduced_flag();
 }
 
 
@@ -413,6 +357,7 @@ Partially_Reduced_Product<D1, D2, R>
   y.reduce();
   d1.time_elapse_assign(y.d1);
   d2.time_elapse_assign(y.d2);
+  assert(OK());
 }
 
 template <typename D1, typename D2, typename R>
@@ -499,6 +444,27 @@ Partially_Reduced_Product<D1, D2, R>
 }
 
 template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::drop_some_non_integer_points(Complexity_Class complexity) {
+  reduce();
+  d1.drop_some_non_integer_points(complexity);
+  d2.drop_some_non_integer_points(complexity);
+  clear_reduced_flag();
+}
+
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::drop_some_non_integer_points(const Variables_Set& vars,
+                                    Complexity_Class complexity) {
+  reduce();
+  d1.drop_some_non_integer_points(vars, complexity);
+  d2.drop_some_non_integer_points(vars, complexity);
+  clear_reduced_flag();
+}
+
+template <typename D1, typename D2, typename R>
 inline Partially_Reduced_Product<D1, D2, R>&
 Partially_Reduced_Product<D1, D2, R>
 ::operator=(const Partially_Reduced_Product& y) {
@@ -593,6 +559,11 @@ inline void
 Partially_Reduced_Product<D1, D2, R>
 ::widening_assign(const Partially_Reduced_Product& y,
                   unsigned* tp) {
+  // FIXME(0.10.1): In general this is _NOT_ a widening since the reduction
+  //        may mean that the sequence does not satisfy the ascending
+  //        chain condition.
+  //        However, for the direct, smash and constraints product
+  //        it may be ok - but this still needs checking.
   reduce();
   y.reduce();
   d1.widening_assign(y.d1, tp);
@@ -628,9 +599,9 @@ Partially_Reduced_Product<D1, D2, R>
 template <typename D1, typename D2, typename R>
 inline void
 Partially_Reduced_Product<D1, D2, R>
-::remove_space_dimensions(const Variables_Set& to_be_removed) {
-  d1.remove_space_dimensions(to_be_removed);
-  d2.remove_space_dimensions(to_be_removed);
+::remove_space_dimensions(const Variables_Set& vars) {
+  d1.remove_space_dimensions(vars);
+  d2.remove_space_dimensions(vars);
 }
 
 template <typename D1, typename D2, typename R>
@@ -661,10 +632,10 @@ Partially_Reduced_Product<D1, D2, R>
 template <typename D1, typename D2, typename R>
 inline void
 Partially_Reduced_Product<D1, D2, R>
-::fold_space_dimensions(const Variables_Set& to_be_folded,
-			Variable var) {
-  d1.fold_space_dimensions(to_be_folded, var);
-  d2.fold_space_dimensions(to_be_folded, var);
+::fold_space_dimensions(const Variables_Set& vars,
+			Variable dest) {
+  d1.fold_space_dimensions(vars, dest);
+  d2.fold_space_dimensions(vars, dest);
 }
 
 template <typename D1, typename D2, typename R>
@@ -766,16 +737,6 @@ IO_Operators::operator<<(std::ostream& s, const Partially_Reduced_Product<D1, D2
 	   << pd.d2;
 }
 
-template <typename D1, typename D2, typename R>
-void
-Partially_Reduced_Product<D1, D2, R>::throw_space_dimension_overflow(const char* method,
-                                                                     const char* reason) {
-  std::ostringstream s;
-  s << "Partially_Reduced_Product<D1, D2, R>::" << method << ":" << std::endl
-    << reason << ".";
-  throw std::length_error(s.str());
-}
-
 } // namespace Parma_Polyhedra_Library
 
 namespace Parma_Polyhedra_Library {
@@ -814,6 +775,26 @@ inline
 Constraints_Reduction<D1, D2>::~Constraints_Reduction() {
 }
 
+template <typename D1, typename D2>
+inline
+Congruences_Reduction<D1, D2>::Congruences_Reduction() {
+}
+
+template <typename D1, typename D2>
+inline
+Congruences_Reduction<D1, D2>::~Congruences_Reduction() {
+}
+
+template <typename D1, typename D2>
+inline
+Shape_Preserving_Reduction<D1, D2>::Shape_Preserving_Reduction() {
+}
+
+template <typename D1, typename D2>
+inline
+Shape_Preserving_Reduction<D1, D2>::~Shape_Preserving_Reduction() {
+}
+
 } // namespace Parma_Polyhedra_Library
 
 /*! \relates Parma_Polyhedra_Library::Partially_Reduced_Product */
diff --git a/src/Partially_Reduced_Product.templates.hh b/src/Partially_Reduced_Product.templates.hh
index 962bc1e..174a57d 100644
--- a/src/Partially_Reduced_Product.templates.hh
+++ b/src/Partially_Reduced_Product.templates.hh
@@ -1,6 +1,6 @@
 /* Partially_Reduced_Product class implementation:
    non-inline template functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -33,30 +33,6 @@ site: http://www.cs.unipr.it/ppl/ . */
 namespace Parma_Polyhedra_Library {
 
 template <typename D1, typename D2, typename R>
-template <typename E1, typename E2, typename S>
-inline
-Partially_Reduced_Product<D1, D2, R>
-::Partially_Reduced_Product(const Partially_Reduced_Product<E1, E2, S>& y,
-                            Complexity_Class complexity)
-  : d1((y.space_dimension() > max_space_dimension())
-       ? (throw_space_dimension_overflow
-       ("Partially_Reduced_Product<D1, D2, R>(y)",
-        "the space dimension of y "
-        "exceeds the maximum allowed "
-        "space dimension"), 0)
-       : y.space_dimension()),
-    d2(y.space_dimension()) {
-  Partially_Reduced_Product<D1, D2, R> x1(y.domain1(), complexity);
-  const Partially_Reduced_Product<D1, D2, R> x2(y.domain2(), complexity);
-  x1.intersection_assign(x2);
-  d1.swap(x1.d1);
-  d2.swap(x1.d2);
-  /* Even if y is reduced, the built product may not be reduced as
-     the reduction method may have changed (i.e., S != R). */
-  reduced = false;
-}
-
-template <typename D1, typename D2, typename R>
 Constraint_System
 Partially_Reduced_Product<D1, D2, R>::constraints() const {
   reduce();
@@ -223,14 +199,10 @@ Partially_Reduced_Product<D1, D2, R>
 	   Coefficient& sup_n,
 	   Coefficient& sup_d,
 	   bool& maximum) const {
-  // If one component is already empty, then there is no need to reduce.
-  if (d1.is_empty() || d2.is_empty())
-    return false;
+  reduce();
 
-  // The product is_empty() test also reduces the product.
   if (is_empty())
     return false;
-  assert(reduced);
 
   PPL_DIRTY_TEMP_COEFFICIENT(sup1_n);
   PPL_DIRTY_TEMP_COEFFICIENT(sup1_d);
@@ -278,14 +250,11 @@ Partially_Reduced_Product<D1, D2, R>
 	   Coefficient& inf_n,
 	   Coefficient& inf_d,
 	   bool& minimum) const {
-  // If one component is already empty, then there is no need to reduce.
-  if (d1.is_empty() || d2.is_empty())
-    return false;
+  reduce();
 
-  // The product is_empty() test also reduces the product.
   if (is_empty())
     return false;
-  assert(reduced);
+  PPL_ASSERT(reduced);
 
   PPL_DIRTY_TEMP_COEFFICIENT(inf1_n);
   PPL_DIRTY_TEMP_COEFFICIENT(inf1_d);
@@ -334,14 +303,11 @@ Partially_Reduced_Product<D1, D2, R>
 	   Coefficient& sup_d,
 	   bool& maximum,
 	   Generator& pnt) const {
-  // If one component is already empty, then there is no need to reduce.
-  if (d1.is_empty() || d2.is_empty())
-    return false;
+  reduce();
 
-  // The product is_empty() test also reduces the product.
   if (is_empty())
     return false;
-  assert(reduced);
+  PPL_ASSERT(reduced);
 
   PPL_DIRTY_TEMP_COEFFICIENT(sup1_n);
   PPL_DIRTY_TEMP_COEFFICIENT(sup1_d);
@@ -396,14 +362,11 @@ Partially_Reduced_Product<D1, D2, R>
 	   Coefficient& inf_d,
 	   bool& minimum,
 	   Generator& pnt) const {
-  // If one component is already empty, then there is no need to reduce.
-  if (d1.is_empty() || d2.is_empty())
-    return false;
+  reduce();
 
-  // The product is_empty() test also reduces the product.
   if (is_empty())
     return false;
-  assert(reduced);
+  PPL_ASSERT(reduced);
 
   PPL_DIRTY_TEMP_COEFFICIENT(inf1_n);
   PPL_DIRTY_TEMP_COEFFICIENT(inf1_d);
@@ -509,11 +472,223 @@ void Constraints_Reduction<D1, D2>::product_reduce(D1& d1, D2& d2) {
     return;
   }
   else {
+    dimension_type space_dim = d1.space_dimension();
     d1.refine_with_constraints(d2.minimized_constraints());
+    if (d1.is_empty()) {
+      D2 new_d2(space_dim, EMPTY);
+      std::swap(d2, new_d2);
+      return;
+    }
     d2.refine_with_constraints(d1.minimized_constraints());
+    if (d2.is_empty()) {
+      D1 new_d1(space_dim, EMPTY);
+      std::swap(d1, new_d1);
+    }
   }
 }
 
+/* Auxiliary procedure for the Congruences_Reduction() method.
+   If more than one hyperplane defined by congruence cg intersect
+   d2, then d1 and d2 are unchanged; if exactly one intersects d2, then
+   the corresponding equality is added to d1 and d2;
+   otherwise d1 and d2 are set empty. */
+template <typename D1, typename D2>
+bool shrink_to_congruence_no_check(D1& d1, D2& d2, const Congruence& cg) {
+  // It is assumed that cg is a proper congruence.
+  assert(cg.modulus() != 0);
+  // It is assumed that cg is satisfied by all points in d1.
+  assert(d1.relation_with(cg) == Poly_Con_Relation::is_included());
+
+  // Build the linear expression for the congruence cg.
+  Linear_Expression e;
+  for (dimension_type i = cg.space_dimension(); i-- > 0; )
+    e += cg.coefficient(Variable(i)) * Variable(i);
+  e += cg.inhomogeneous_term();
+
+  // Find the maximum and minimum bounds for the domain element d with the
+  // linear expression e.
+  PPL_DIRTY_TEMP_COEFFICIENT(max_num);
+  PPL_DIRTY_TEMP_COEFFICIENT(max_den);
+  bool max_included;
+  PPL_DIRTY_TEMP_COEFFICIENT(min_num);
+  PPL_DIRTY_TEMP_COEFFICIENT(min_den);
+  bool min_included;
+  if (d2.maximize(e, max_num, max_den, max_included)) {
+    if (d2.minimize(e, min_num, min_den, min_included)) {
+      // Adjust values to allow for the denominators max_den and min_den.
+      max_num *= min_den;
+      min_num *= max_den;
+      PPL_DIRTY_TEMP_COEFFICIENT(den);
+      PPL_DIRTY_TEMP_COEFFICIENT(mod);
+      den = max_den * min_den;
+      mod = cg.modulus() * den;
+      // If the difference between the maximum and minimum bounds is more than
+      // twice the modulus, then there will be two neighboring hyperplanes
+      // defined by cg that are intersected by the domain element d;
+      // there is no possible reduction in this case.
+      PPL_DIRTY_TEMP_COEFFICIENT(mod2);
+      mod2 = 2 * mod;
+      if (max_num - min_num < mod2
+          || (max_num - min_num == mod2 && (!max_included || !min_included)))
+        {
+          PPL_DIRTY_TEMP_COEFFICIENT(shrink_amount);
+          PPL_DIRTY_TEMP_COEFFICIENT(max_decreased);
+          PPL_DIRTY_TEMP_COEFFICIENT(min_increased);
+          // Find the amount by which the maximum value may be decreased.
+          shrink_amount = max_num % mod;
+          if (!max_included && shrink_amount == 0)
+            shrink_amount = mod;
+          if (shrink_amount < 0)
+            shrink_amount += mod;
+          max_decreased = max_num - shrink_amount;
+          // Find the amount by which the minimum value may be increased.
+          shrink_amount = min_num % mod;
+          if (!min_included && shrink_amount == 0)
+            shrink_amount = - mod;
+          if (shrink_amount > 0)
+            shrink_amount -= mod;
+          min_increased = min_num - shrink_amount;
+          if (max_decreased == min_increased) {
+            // The domain element d2 intersects exactly one hyperplane
+            // defined by cg, so add the equality to d1 and d2.
+            Constraint new_c(den * e == min_increased);
+            d1.refine_with_constraint(new_c);
+            d2.refine_with_constraint(new_c);
+            return true;
+          }
+          else {
+            if (max_decreased < min_increased) {
+              // In this case, d intersects no hyperplanes defined by cg,
+              // so set d to empty and return false.
+              D1 new_d1(d1.space_dimension(), EMPTY);
+              std::swap(d1, new_d1);
+              D2 new_d2(d2.space_dimension(), EMPTY);
+              std::swap(d2, new_d2);
+              return false;
+            }
+          }
+        }
+    }
+  }
+  return true;
+}
+
+template <typename D1, typename D2>
+void
+  Congruences_Reduction<D1, D2>::product_reduce(D1& d1, D2& d2) {
+  if (d1.is_empty() || d2.is_empty()) {
+    // If one of the components is empty, do the smash reduction and return.
+    Parma_Polyhedra_Library::Smash_Reduction<D1, D2> sr;
+    sr.product_reduce(d1, d2);
+    return;
+  }
+  // Use the congruences representing d1 to shrink both components.
+  const Congruence_System cgs1 = d1.minimized_congruences();
+  for (Congruence_System::const_iterator i = cgs1.begin(),
+         cgs_end = cgs1.end(); i != cgs_end; ++i) {
+    const Congruence& cg1 = *i;
+    if (cg1.is_equality())
+      d2.refine_with_congruence(cg1);
+    else
+      if (!Parma_Polyhedra_Library::
+          shrink_to_congruence_no_check(d1, d2, cg1))
+        // The product is empty.
+        return;
+  }
+  // Use the congruences representing d2 to shrink both components.
+  const Congruence_System cgs2 = d2.minimized_congruences();
+  for (Congruence_System::const_iterator i = cgs2.begin(),
+         cgs_end = cgs2.end(); i != cgs_end; ++i) {
+    const Congruence& cg2 = *i;
+    if (cg2.is_equality())
+      d1.refine_with_congruence(cg2);
+    else
+      if (!Parma_Polyhedra_Library::
+          shrink_to_congruence_no_check(d2, d1, cg2))
+        // The product is empty.
+        return;
+  }
+}
+
+template <typename D1, typename D2>
+void
+  Shape_Preserving_Reduction<D1, D2>::product_reduce(D1& d1, D2& d2) {
+    // First do the congruences reduction.
+    Parma_Polyhedra_Library::Congruences_Reduction<D1, D2> cgr;
+    cgr.product_reduce(d1, d2);
+    if (d1.is_empty())
+      return;
+
+  PPL_DIRTY_TEMP_COEFFICIENT(freq_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(freq_d);
+  PPL_DIRTY_TEMP_COEFFICIENT(val_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(val_d);
+
+  // Use the constraints representing d2.
+  Constraint_System cs = d2.minimized_constraints();
+  Constraint_System refining_cs;
+  for (Constraint_System::const_iterator i = cs.begin(),
+         cs_end = cs.end(); i != cs_end; ++i) {
+    const Constraint& c = *i;
+    if (c.is_equality())
+      continue;
+    // Check the frequency and value of the linear expression for
+    // the constraint `c'.
+    Linear_Expression le(c);
+    if (!d1.frequency(le, freq_n, freq_d, val_n, val_d))
+      // Nothing to do.
+      continue;
+    if (val_n == 0)
+      // Nothing to do.
+      continue;
+    // Adjust the value of the inhomogeneous term to satisfy
+    // the implied congruence.
+    if (val_n < 0) {
+      val_n = val_n*freq_d + val_d*freq_n;
+      val_d *= freq_d;
+    }
+    le *= val_d;
+    le -= val_n;
+    refining_cs.insert(le >= 0);
+  }
+  d2.refine_with_constraints(refining_cs);
+
+  // Use the constraints representing d1.
+  cs = d1.minimized_constraints();
+  refining_cs.clear();
+  for (Constraint_System::const_iterator i = cs.begin(),
+         cs_end = cs.end(); i != cs_end; ++i) {
+    const Constraint& c = *i;
+    if (c.is_equality())
+      // Equalities aleady shared.
+      continue;
+    // Check the frequency and value of the linear expression for
+    // the constraint `c'.
+    Linear_Expression le(c);
+    if (!d2.frequency(le, freq_n, freq_d, val_n, val_d))
+      // Nothing to do.
+      continue;
+    if (val_n == 0)
+      // Nothing to do.
+      continue;
+    // Adjust the value of the inhomogeneous term to satisfy
+    // the implied congruence.
+    if (val_n < 0) {
+      val_n = val_n*freq_d + val_d*freq_n;
+      val_d *= freq_d;
+    }
+    le *= val_d;
+    le -= val_n;
+    refining_cs.insert(le >= 0);
+  }
+  d1.refine_with_constraints(refining_cs);
+
+  // The reduction may have introduced additional equalities
+  // so these must be shared with the other component.
+  Parma_Polyhedra_Library::Constraints_Reduction<D1, D2> cr;
+  cr.product_reduce(d1, d2);
+}
+
 } // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_Partially_Reduced_Product_templates_hh)
diff --git a/src/Partially_Reduced_Product.types.hh b/src/Partially_Reduced_Product.types.hh
index 9d41b81..ddf8c28 100644
--- a/src/Partially_Reduced_Product.types.hh
+++ b/src/Partially_Reduced_Product.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
@@ -21,6 +21,12 @@ template <typename D1, typename D2>
 class Constraints_Reduction;
 
 template <typename D1, typename D2>
+class Congruences_Reduction;
+
+template <typename D1, typename D2>
+class Shape_Preserving_Reduction;
+
+template <typename D1, typename D2>
 class No_Reduction;
 
 template <typename D1, typename D2, typename R>
diff --git a/src/Ph_Status.cc b/src/Ph_Status.cc
index 5f773a1..c189c4c 100644
--- a/src/Ph_Status.cc
+++ b/src/Ph_Status.cc
@@ -1,5 +1,5 @@
 /* Polyhedron::Status class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -25,7 +25,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Polyhedron.defs.hh"
 #include <iostream>
 #include <string>
-#include <cassert>
+#include "assert.hh"
 
 namespace PPL = Parma_Polyhedra_Library;
 
@@ -154,7 +154,7 @@ PPL::Polyhedron::Status::ascii_load(std::istream& s) {
     reset_sat_g_up_to_date();
 
   // Check invariants.
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
diff --git a/src/Ph_Status.idefs.hh b/src/Ph_Status.idefs.hh
index ada2f49..b17ebde 100644
--- a/src/Ph_Status.idefs.hh
+++ b/src/Ph_Status.idefs.hh
@@ -1,5 +1,5 @@
 /* Polyhedron::Status class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Ph_Status.inlines.hh b/src/Ph_Status.inlines.hh
index 285a5f2..4799377 100644
--- a/src/Ph_Status.inlines.hh
+++ b/src/Ph_Status.inlines.hh
@@ -1,5 +1,5 @@
 /* Polyhedron::Status class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Pointset_Powerset.cc b/src/Pointset_Powerset.cc
index e9933db..577a326 100644
--- a/src/Pointset_Powerset.cc
+++ b/src/Pointset_Powerset.cc
@@ -1,5 +1,5 @@
 /* Pointset_Powerset class implementation: non-inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -37,12 +37,12 @@ PPL::Pointset_Powerset<PPL::NNC_Polyhedron>
   y.omega_reduce();
   Sequence new_sequence = x.sequence;
   for (const_iterator yi = y.begin(), y_end = y.end(); yi != y_end; ++yi) {
-    const NNC_Polyhedron& py = yi->element();
+    const NNC_Polyhedron& py = yi->pointset();
     Sequence tmp_sequence;
     for (Sequence_const_iterator nsi = new_sequence.begin(),
 	   ns_end = new_sequence.end(); nsi != ns_end; ++nsi) {
       std::pair<NNC_Polyhedron, Pointset_Powerset<NNC_Polyhedron> > partition
-	= linear_partition(py, nsi->element());
+	= linear_partition(py, nsi->pointset());
       const Pointset_Powerset<NNC_Polyhedron>& residues = partition.second;
       // Append the contents of `residues' to `tmp_sequence'.
       std::copy(residues.begin(), residues.end(), back_inserter(tmp_sequence));
@@ -51,7 +51,7 @@ PPL::Pointset_Powerset<PPL::NNC_Polyhedron>
   }
   std::swap(x.sequence, new_sequence);
   x.reduced = false;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
 template <>
@@ -60,7 +60,7 @@ PPL::Pointset_Powerset<PPL::NNC_Polyhedron>
 ::geometrically_covers(const Pointset_Powerset& y) const {
   const Pointset_Powerset& x = *this;
   for (const_iterator yi = y.begin(), y_end = y.end(); yi != y_end; ++yi)
-    if (!check_containment(yi->element(), x))
+    if (!check_containment(yi->pointset(), x))
       return false;
   return true;
 }
@@ -75,10 +75,10 @@ PPL::check_containment(const NNC_Polyhedron& ph,
   tmp.add_disjunct(ph);
   for (Pointset_Powerset<NNC_Polyhedron>::const_iterator
 	 i = ps.begin(), ps_end = ps.end(); i != ps_end; ++i) {
-    const NNC_Polyhedron& pi = i->element();
+    const NNC_Polyhedron& pi = i->pointset();
     for (Pointset_Powerset<NNC_Polyhedron>::iterator
 	   j = tmp.begin(); j != tmp.end(); ) {
-      const NNC_Polyhedron& pj = j->element();
+      const NNC_Polyhedron& pj = j->pointset();
       if (pi.contains(pj))
 	j = tmp.drop_disjunct(j);
       else
@@ -91,7 +91,7 @@ PPL::check_containment(const NNC_Polyhedron& ph,
 						      EMPTY);
       for (Pointset_Powerset<NNC_Polyhedron>::iterator
 	     j = tmp.begin(); j != tmp.end(); ) {
-	const NNC_Polyhedron& pj = j->element();
+	const NNC_Polyhedron& pj = j->pointset();
 	if (pj.is_disjoint_from(pi))
 	  ++j;
 	else {
@@ -208,10 +208,10 @@ PPL::check_containment(const Grid& ph,
   tmp.add_disjunct(ph);
   for (Pointset_Powerset<Grid>::const_iterator
 	 i = ps.begin(), ps_end = ps.end(); i != ps_end; ++i) {
-    const Grid& pi = i->element();
+    const Grid& pi = i->pointset();
     for (Pointset_Powerset<Grid>::iterator
 	   j = tmp.begin(); j != tmp.end(); ) {
-      const Grid& pj = j->element();
+      const Grid& pj = j->pointset();
       if (pi.contains(pj))
 	j = tmp.drop_disjunct(j);
       else
@@ -224,7 +224,7 @@ PPL::check_containment(const Grid& ph,
 						      EMPTY);
       for (Pointset_Powerset<Grid>::iterator
 	     j = tmp.begin(); j != tmp.end(); ) {
-	const Grid& pj = j->element();
+	const Grid& pj = j->pointset();
 	if (pj.is_disjoint_from(pi))
 	  ++j;
 	else {
@@ -261,13 +261,13 @@ PPL::Pointset_Powerset<PPL::Grid>
   y.omega_reduce();
   Sequence new_sequence = x.sequence;
   for (const_iterator yi = y.begin(), y_end = y.end(); yi != y_end; ++yi) {
-    const Grid& py = yi->element();
+    const Grid& py = yi->pointset();
     Sequence tmp_sequence;
     for (Sequence_const_iterator nsi = new_sequence.begin(),
 	   ns_end = new_sequence.end(); nsi != ns_end; ++nsi) {
       bool finite_partition;
       std::pair<Grid, Pointset_Powerset<Grid> > partition
-	= approximate_partition(py, nsi->element(), finite_partition);
+	= approximate_partition(py, nsi->pointset(), finite_partition);
       const Pointset_Powerset<Grid>& residues = partition.second;
       // Append the contents of `residues' to `tmp_sequence'.
       std::copy(residues.begin(), residues.end(), back_inserter(tmp_sequence));
@@ -276,7 +276,7 @@ PPL::Pointset_Powerset<PPL::Grid>
   }
   std::swap(x.sequence, new_sequence);
   x.reduced = false;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
 template <>
@@ -285,7 +285,7 @@ PPL::Pointset_Powerset<PPL::Grid>
 ::geometrically_covers(const Pointset_Powerset& y) const {
   const Pointset_Powerset& x = *this;
   for (const_iterator yi = y.begin(), y_end = y.end(); yi != y_end; ++yi)
-    if (!check_containment(yi->element(), x))
+    if (!check_containment(yi->pointset(), x))
       return false;
   return true;
 }
@@ -300,9 +300,9 @@ PPL::Pointset_Powerset<PPL::NNC_Polyhedron>
   for (Pointset_Powerset<C_Polyhedron>::const_iterator i = y.begin(),
 	 y_end = y.end(); i != y_end; ++i)
     x.sequence.push_back(Determinate<NNC_Polyhedron>
-			 (NNC_Polyhedron(i->element())));
+			 (NNC_Polyhedron(i->pointset())));
   x.reduced = y.reduced;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
 template <>
@@ -315,9 +315,9 @@ PPL::Pointset_Powerset<PPL::NNC_Polyhedron>
   for (Pointset_Powerset<Grid>::const_iterator i = y.begin(),
 	 y_end = y.end(); i != y_end; ++i)
     x.sequence.push_back(Determinate<NNC_Polyhedron>
-			 (NNC_Polyhedron(i->element())));
+			 (NNC_Polyhedron(i->pointset())));
   x.reduced = false;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
 template <>
@@ -330,12 +330,12 @@ PPL::Pointset_Powerset<PPL::C_Polyhedron>
   for (Pointset_Powerset<NNC_Polyhedron>::const_iterator i = y.begin(),
 	 y_end = y.end(); i != y_end; ++i)
     x.sequence.push_back(Determinate<C_Polyhedron>
-			 (C_Polyhedron(i->element())));
+			 (C_Polyhedron(i->pointset())));
 
   // Note: this might be non-reduced even when `y' is known to be
   // omega-reduced, because the constructor of C_Polyhedron, by
   // enforcing topological closure, may have made different elements
   // comparable.
   x.reduced = false;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
diff --git a/src/Pointset_Powerset.defs.hh b/src/Pointset_Powerset.defs.hh
index 556beb9..0ae87f3 100644
--- a/src/Pointset_Powerset.defs.hh
+++ b/src/Pointset_Powerset.defs.hh
@@ -1,5 +1,5 @@
 /* Pointset_Powerset class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -49,7 +49,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 /*!
   \warning
   At present, the supported instantiations for the
-  disjunct domain template \p PS are the simple pointset domains:
+  disjunct domain template \p PSET are the simple pointset domains:
   <CODE>C_Polyhedron</CODE>,
   <CODE>NNC_Polyhedron</CODE>,
   <CODE>Grid</CODE>,
@@ -57,19 +57,19 @@ site: http://www.cs.unipr.it/ppl/ . */
   <CODE>BD_Shape<T></CODE>,
   <CODE>Box<T></CODE>.
 */
-template <typename PS>
+template <typename PSET>
 class Parma_Polyhedra_Library::Pointset_Powerset
   : public Parma_Polyhedra_Library::Powerset
-<Parma_Polyhedra_Library::Determinate<PS> > {
+<Parma_Polyhedra_Library::Determinate<PSET> > {
 public:
-  typedef PS element_type;
+  typedef PSET element_type;
 
 private:
-  typedef Determinate<PS> CS;
-  typedef Powerset<CS> Base;
+  typedef Determinate<PSET> Det_PSET;
+  typedef Powerset<Det_PSET> Base;
 
 public:
-  //! Returns the maximum space dimension a Pointset_Powerset<PS> can handle.
+  //! Returns the maximum space dimension a Pointset_Powerset<PSET> can handle.
   static dimension_type max_space_dimension();
 
   //! \name Constructors
@@ -87,7 +87,7 @@ public:
   Pointset_Powerset(dimension_type num_dimensions = 0,
 		    Degenerate_Element kind = UNIVERSE);
 
-  //! Ordinary copy-constructor.
+  //! Ordinary copy constructor.
   /*!
     The complexity argument is ignored.
   */
@@ -96,7 +96,7 @@ public:
 
   /*! \brief
     Conversion constructor: the type <CODE>QH</CODE> of the disjuncts
-    in the source powerset is different from <CODE>PS</CODE>.
+    in the source powerset is different from <CODE>PSET</CODE>.
 
     \param y
     The powerset to be used to build the new powerset.
@@ -110,7 +110,7 @@ public:
 
   /*! \brief
     Creates a Pointset_Powerset from a product
-    This will be created as a single disjunct of type PS that
+    This will be created as a single disjunct of type PSET that
     approximates the product.
   */
    template <typename QH1, typename QH2, typename R>
@@ -571,7 +571,7 @@ public:
     \exception std::invalid_argument
     Thrown if \p *this and \p ph are dimension-incompatible.
   */
-  void add_disjunct(const PS& ph);
+  void add_disjunct(const PSET& ph);
 
   //! Intersects \p *this with constraint \p c.
   /*!
@@ -592,20 +592,6 @@ public:
   */
   void refine_with_constraint(const Constraint& c);
 
-  //! Intersects \p *this with the constraint \p c, minimizing the result.
-  /*!
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p c are topology-incompatible or
-    dimension-incompatible.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_constraint_and_minimize(const Constraint& c);
-
   //! Intersects \p *this with the constraints in \p cs.
   /*!
     \param cs
@@ -628,25 +614,6 @@ public:
   */
   void refine_with_constraints(const Constraint_System& cs);
 
-  /*! \brief
-    Intersects \p *this with the constraints in \p cs,
-    minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \param cs
-    The constraints to intersect with.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are topology-incompatible or
-    dimension-incompatible.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_constraints_and_minimize(const Constraint_System& cs);
-
   //! Intersects \p *this with congruence \p c.
   /*!
     \exception std::invalid_argument
@@ -666,20 +633,6 @@ public:
   */
   void refine_with_congruence(const Congruence& cg);
 
-  //! Intersects \p *this with the congruence \p c, minimizing the result.
-  /*!
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p c are topology-incompatible or
-    dimension-incompatible.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_congruence_and_minimize(const Congruence& c);
-
   //! Intersects \p *this with the congruences in \p cgs.
   /*!
     \param cgs
@@ -703,25 +656,6 @@ public:
   void refine_with_congruences(const Congruence_System& cgs);
 
   /*! \brief
-    Intersects \p *this with the congruences in \p cs,
-    minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \param cs
-    The congruences to intersect with.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are topology-incompatible or
-    dimension-incompatible.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_congruences_and_minimize(const Congruence_System& cs);
-
-  /*! \brief
     Computes the \ref Cylindrification "cylindrification" of \p *this with
     respect to space dimension \p var, assigning the result to \p *this.
 
@@ -735,17 +669,50 @@ public:
 
   /*! \brief
     Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to the set of space dimensions \p to_be_unconstrained,
+    respect to the set of space dimensions \p vars,
     assigning the result to \p *this.
 
-    \param to_be_unconstrained
+    \param vars
     The set of space dimension that will be unconstrained.
 
     \exception std::invalid_argument
     Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p to_be_removed.
+    Variable objects contained in \p vars.
+  */
+  void unconstrain(const Variables_Set& vars);
+
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates.
+
+    \param complexity
+    The maximal complexity of any algorithms used.
+
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
   */
-  void unconstrain(const Variables_Set& to_be_unconstrained);
+   void drop_some_non_integer_points(Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
+
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates for the space dimensions corresponding to \p vars.
+
+    \param vars
+    Points with non-integer coordinates for these variables/space-dimensions
+    can be discarded.
+
+    \param complexity
+    The maximal complexity of any algorithms used.
+
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+  void drop_some_non_integer_points(const Variables_Set& vars,
+                                    Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
 
   //! Assigns to \p *this its topological closure.
   void topological_closure_assign();
@@ -757,20 +724,6 @@ public:
   */
   void intersection_assign(const Pointset_Powerset& y);
 
-  //! Assigns to \p *this the intersection of \p *this and \p y.
-  /*!
-    The result is obtained by intersecting each disjunct in \p *this
-    with each disjunct in \p y, minimizing the result
-    and collecting all these intersections.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool intersection_assign_and_minimize(const Pointset_Powerset& y);
-
   /*! \brief
     Assigns to \p *this an (a smallest)
     over-approximation as a powerset of the disjunct domain of the
@@ -1032,6 +985,60 @@ public:
   void time_elapse_assign(const Pointset_Powerset& y);
 
   /*! \brief
+    \ref Wrapping_Operator "Wraps" the specified dimensions of the
+    vector space.
+
+    \param vars
+    The set of Variable objects corresponding to the space dimensions
+    to be wrapped.
+
+    \param w
+    The width of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param r
+    The representation of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param o
+    The overflow behavior of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param pcs
+    Possibly null pointer to a constraint system whose variables
+    are contained in \p vars.  If <CODE>*pcs</CODE> depends on
+    variables not in \p vars, the behavior is undefined.
+    When non-null, the pointed-to constraint system is assumed to
+    represent the conditional or looping construct guard with respect
+    to which wrapping is performed.  Since wrapping requires the
+    computation of upper bounds and due to non-distributivity of
+    constraint refinement over upper bounds, passing a constraint
+    system in this way can be more precise than refining the result of
+    the wrapping operation with the constraints in <CODE>*pcs</CODE>.
+
+    \param complexity_threshold
+    A precision parameter of the \ref Wrapping_Operator "wrapping operator":
+    higher values result in possibly improved precision.
+
+    \param wrap_individually
+    <CODE>true</CODE> if the dimensions should be wrapped individually
+    (something that results in much greater efficiency to the detriment of
+    precision).
+
+    \exception std::invalid_argument
+    Thrown if <CODE>*pcs</CODE> is dimension-incompatible with
+    \p vars, or if \p *this is dimension-incompatible \p vars or with
+    <CODE>*pcs</CODE>.
+  */
+  void wrap_assign(const Variables_Set& vars,
+                   Bounded_Integer_Type_Width w,
+                   Bounded_Integer_Type_Representation r,
+                   Bounded_Integer_Type_Overflow o,
+                   const Constraint_System* pcs = 0,
+                   unsigned complexity_threshold = 16,
+                   bool wrap_individually = true);
+
+  /*! \brief
     Assign to \p *this the result of (recursively) merging together
     the pairs of disjuncts whose upper-bound is the same as their
     set-theoretical union.
@@ -1117,7 +1124,7 @@ public:
 
   /*! \brief
     Conversion assignment: the type <CODE>QH</CODE> of the disjuncts
-    in the source powerset is different from <CODE>PS</CODE>
+    in the source powerset is different from <CODE>PSET</CODE>
     (\p *this and \p y can be dimension-incompatible).
   */
   template <typename QH>
@@ -1148,15 +1155,15 @@ public:
 
   //! Removes all the specified space dimensions.
   /*!
-    \param to_be_removed
+    \param vars
     The set of Variable objects corresponding to the space dimensions
     to be removed.
 
     \exception std::invalid_argument
     Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p to_be_removed.
+    Variable objects contained in \p vars.
   */
-  void remove_space_dimensions(const Variables_Set& to_be_removed);
+  void remove_space_dimensions(const Variables_Set& vars);
 
   /*! \brief
     Removes the higher space dimensions so that the resulting space
@@ -1202,31 +1209,31 @@ public:
   */
   void expand_space_dimension(Variable var, dimension_type m);
 
-  //! Folds the space dimensions in \p to_be_folded into \p var.
+  //! Folds the space dimensions in \p vars into \p dest.
   /*!
-    \param to_be_folded
+    \param vars
     The set of Variable objects corresponding to the space dimensions
     to be folded;
 
-    \param var
+    \param dest
     The variable corresponding to the space dimension that is the
     destination of the folding operation.
 
     \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p var or with
-    one of the Variable objects contained in \p to_be_folded.  Also
-    thrown if \p var is contained in \p to_be_folded.
+    Thrown if \p *this is dimension-incompatible with \p dest or with
+    one of the Variable objects contained in \p vars.  Also
+    thrown if \p dest is contained in \p vars.
 
     If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    <CODE>var</CODE> has space dimension \f$k \leq n\f$,
-    \p to_be_folded is a set of variables whose maximum space dimension
-    is also less than or equal to \f$n\f$, and \p var is not a member
-    of \p to_be_folded, then the space dimensions corresponding to
-    variables in \p to_be_folded are
+    <CODE>dest</CODE> has space dimension \f$k \leq n\f$,
+    \p vars is a set of variables whose maximum space dimension
+    is also less than or equal to \f$n\f$, and \p dest is not a member
+    of \p vars, then the space dimensions corresponding to
+    variables in \p vars are
     \ref Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension
     "folded" into the \f$k\f$-th space dimension.
   */
-  void fold_space_dimensions(const Variables_Set& to_be_folded, Variable var);
+  void fold_space_dimensions(const Variables_Set& vars, Variable dest);
 
   //@} // Member Functions that May Modify the Dimension of the Vector Space
 
@@ -1256,16 +1263,15 @@ private:
   dimension_type space_dim;
 
   /*! \brief
-    Assigns to \p to_be_enlarged a
-    \ref Powerset_Meet_Preserving_Simplification
-    "powerset meet-preserving enlargement" of itself with respect to \p *this.
-    If \c false is returned, then the intersection is empty.
+    Assigns to \p dest a \ref Powerset_Meet_Preserving_Simplification
+    "powerset meet-preserving enlargement" of itself with respect to
+    \p *this.  If \c false is returned, then the intersection is empty.
 
     \note
-    It is assumed that \p *this and \p to_be_enlarged are
-    topology-compatible and dimension-compatible.
+    It is assumed that \p *this and \p dest are topology-compatible
+    and dimension-compatible.
   */
-  bool intersection_preserving_enlarge_element(PS& to_be_enlarged) const;
+  bool intersection_preserving_enlarge_element(PSET& dest) const;
 
   /*! \brief
     Assigns to \p *this the result of applying the BGP99 heuristics
@@ -1301,7 +1307,7 @@ namespace Parma_Polyhedra_Library {
 /*! \relates Pointset_Powerset
   Let \p p and \p q be two polyhedra.
   The function returns an object <CODE>r</CODE> of type
-  <CODE>std::pair\<PS, Pointset_Powerset\<NNC_Polyhedron\> \></CODE>
+  <CODE>std::pair\<PSET, Pointset_Powerset\<NNC_Polyhedron\> \></CODE>
   such that
   - <CODE>r.first</CODE> is the intersection of \p p and \p q;
   - <CODE>r.second</CODE> has the property that all its elements are
@@ -1317,9 +1323,9 @@ namespace Parma_Polyhedra_Library {
   this paper</A> for more information about the implementation.
   \endif
 */
-template <typename PS>
-std::pair<PS, Pointset_Powerset<NNC_Polyhedron> >
-linear_partition(const PS& p, const PS& q);
+template <typename PSET>
+std::pair<PSET, Pointset_Powerset<NNC_Polyhedron> >
+linear_partition(const PSET& p, const PSET& q);
 
 /*! \brief
   Returns <CODE>true</CODE> if and only if the union of
@@ -1339,7 +1345,7 @@ check_containment(const NNC_Polyhedron& ph,
   \relates Parma_Polyhedra_Library::Pointset_Powerset
   Let \p p and \p q be two grids.
   The function returns an object <CODE>r</CODE> of type
-  <CODE>std::pair\<PS, Pointset_Powerset\<Grid\> \></CODE>
+  <CODE>std::pair\<PSET, Pointset_Powerset\<Grid\> \></CODE>
   such that
   - <CODE>r.first</CODE> is the intersection of \p p and \p q;
   - If there is a finite partition of \p q wrt \p p
@@ -1372,13 +1378,13 @@ check_containment(const Grid& ph,
 
   \relates Pointset_Powerset
   \note
-  It is assumed that the template parameter PS can be converted
+  It is assumed that the template parameter PSET can be converted
   without precision loss into an NNC_Polyhedron; otherwise,
   an incorrect result might be obtained.
 */
-template <typename PS>
+template <typename PSET>
 bool
-check_containment(const PS& ph, const Pointset_Powerset<PS>& ps);
+check_containment(const PSET& ph, const Pointset_Powerset<PSET>& ps);
 
 // CHECKME: according to the Intel compiler, the declaration of the
 // following specialization (of the class template parameter) should come
@@ -1437,9 +1443,9 @@ namespace std {
 
 //! Specializes <CODE>std::swap</CODE>.
 /*! \relates Parma_Polyhedra_Library::Pointset_Powerset */
-template <typename PS>
-void swap(Parma_Polyhedra_Library::Pointset_Powerset<PS>& x,
-	  Parma_Polyhedra_Library::Pointset_Powerset<PS>& y);
+template <typename PSET>
+void swap(Parma_Polyhedra_Library::Pointset_Powerset<PSET>& x,
+	  Parma_Polyhedra_Library::Pointset_Powerset<PSET>& y);
 
 } // namespace std
 
diff --git a/src/Pointset_Powerset.inlines.hh b/src/Pointset_Powerset.inlines.hh
index 7dbdc6f..b1bf7ec 100644
--- a/src/Pointset_Powerset.inlines.hh
+++ b/src/Pointset_Powerset.inlines.hh
@@ -1,5 +1,5 @@
 /* Pointset_Powerset class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -36,40 +36,40 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace Parma_Polyhedra_Library {
 
-template <typename PS>
+template <typename PSET>
 inline dimension_type
-Pointset_Powerset<PS>::space_dimension() const {
+Pointset_Powerset<PSET>::space_dimension() const {
   return space_dim;
 }
 
-template <typename PS>
+template <typename PSET>
 inline dimension_type
-Pointset_Powerset<PS>::max_space_dimension() {
-  return PS::max_space_dimension();
+Pointset_Powerset<PSET>::max_space_dimension() {
+  return PSET::max_space_dimension();
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Pointset_Powerset<PS>::Pointset_Powerset(dimension_type num_dimensions,
-					 Degenerate_Element kind)
+Pointset_Powerset<PSET>::Pointset_Powerset(dimension_type num_dimensions,
+					   Degenerate_Element kind)
   : Base(), space_dim(num_dimensions) {
   Pointset_Powerset& x = *this;
   if (kind == UNIVERSE)
-    x.sequence.push_back(Determinate<PS>(PS(num_dimensions, kind)));
-  assert(x.OK());
+    x.sequence.push_back(Determinate<PSET>(PSET(num_dimensions, kind)));
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Pointset_Powerset<PS>::Pointset_Powerset(const Pointset_Powerset& y,
-                                         Complexity_Class)
+Pointset_Powerset<PSET>::Pointset_Powerset(const Pointset_Powerset& y,
+					   Complexity_Class)
   : Base(y), space_dim(y.space_dim) {
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Pointset_Powerset<PS>::Pointset_Powerset(const C_Polyhedron& ph,
-                                         Complexity_Class complexity)
+Pointset_Powerset<PSET>::Pointset_Powerset(const C_Polyhedron& ph,
+					   Complexity_Class complexity)
   : Base(), space_dim(ph.space_dimension()) {
   Pointset_Powerset& x = *this;
   if (complexity == ANY_COMPLEXITY) {
@@ -78,15 +78,15 @@ Pointset_Powerset<PS>::Pointset_Powerset(const C_Polyhedron& ph,
   }
   else
     x.reduced = false;
-  x.sequence.push_back(Determinate<PS>(PS(ph, complexity)));
+  x.sequence.push_back(Determinate<PSET>(PSET(ph, complexity)));
   x.reduced = false;
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Pointset_Powerset<PS>::Pointset_Powerset(const NNC_Polyhedron& ph,
-                                         Complexity_Class complexity)
+Pointset_Powerset<PSET>::Pointset_Powerset(const NNC_Polyhedron& ph,
+					   Complexity_Class complexity)
   : Base(), space_dim(ph.space_dimension()) {
   Pointset_Powerset& x = *this;
   if (complexity == ANY_COMPLEXITY) {
@@ -95,26 +95,26 @@ Pointset_Powerset<PS>::Pointset_Powerset(const NNC_Polyhedron& ph,
   }
   else
     x.reduced = false;
-  x.sequence.push_back(Determinate<PS>(PS(ph, complexity)));
-  assert(OK());
+  x.sequence.push_back(Determinate<PSET>(PSET(ph, complexity)));
+  PPL_ASSERT_HEAVY(OK());
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Pointset_Powerset<PS>::Pointset_Powerset(const Grid& gr,
-                                         Complexity_Class)
+Pointset_Powerset<PSET>::Pointset_Powerset(const Grid& gr,
+					   Complexity_Class)
   : Base(), space_dim(gr.space_dimension()) {
   Pointset_Powerset& x = *this;
   if (!gr.is_empty()) {
-    x.sequence.push_back(Determinate<PS>(PS(gr)));
+    x.sequence.push_back(Determinate<PSET>(PSET(gr)));
   }
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
-template <typename PS>
+template <typename PSET>
 template <typename QH1, typename QH2, typename R>
 inline
-Pointset_Powerset<PS>
+Pointset_Powerset<PSET>
 ::Pointset_Powerset(const Partially_Reduced_Product<QH1, QH2, R>& prp,
                     Complexity_Class complexity)
   : Base(), space_dim(prp.space_dimension()) {
@@ -125,124 +125,118 @@ Pointset_Powerset<PS>
   }
   else
     x.reduced = false;
-  x.sequence.push_back(Determinate<PS>(PS(prp, complexity)));
+  x.sequence.push_back(Determinate<PSET>(PSET(prp, complexity)));
   x.reduced = false;
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
-template <typename PS>
+template <typename PSET>
 template <typename Interval>
-Pointset_Powerset<PS>::Pointset_Powerset(const Box<Interval>& box,
-                                         Complexity_Class)
+Pointset_Powerset<PSET>::Pointset_Powerset(const Box<Interval>& box,
+					   Complexity_Class)
   : Base(), space_dim(box.space_dimension()) {
   Pointset_Powerset& x = *this;
   if (!box.is_empty())
-    x.sequence.push_back(Determinate<PS>(PS(box)));
-  assert(OK());
+    x.sequence.push_back(Determinate<PSET>(PSET(box)));
+  PPL_ASSERT_HEAVY(OK());
 }
 
-template <typename PS>
+template <typename PSET>
 template <typename T>
-Pointset_Powerset<PS>::Pointset_Powerset(const Octagonal_Shape<T>& os,
-                                         Complexity_Class)
+Pointset_Powerset<PSET>::Pointset_Powerset(const Octagonal_Shape<T>& os,
+					   Complexity_Class)
   : Base(), space_dim(os.space_dimension()) {
   Pointset_Powerset& x = *this;
   if (!os.is_empty())
-    x.sequence.push_back(Determinate<PS>(PS(os)));
-  assert(OK());
+    x.sequence.push_back(Determinate<PSET>(PSET(os)));
+  PPL_ASSERT_HEAVY(OK());
 }
 
-template <typename PS>
+template <typename PSET>
 template <typename T>
-Pointset_Powerset<PS>::Pointset_Powerset(const BD_Shape<T>& bds,
-                                         Complexity_Class)
+Pointset_Powerset<PSET>::Pointset_Powerset(const BD_Shape<T>& bds,
+					   Complexity_Class)
   : Base(), space_dim(bds.space_dimension()) {
   Pointset_Powerset& x = *this;
   if (!bds.is_empty())
-    x.sequence.push_back(Determinate<PS>(PS(bds)));
-  assert(OK());
+    x.sequence.push_back(Determinate<PSET>(PSET(bds)));
+  PPL_ASSERT_HEAVY(OK());
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Pointset_Powerset<PS>::Pointset_Powerset(const Constraint_System& cs)
-  : Base(Determinate<PS>(cs)), space_dim(cs.space_dimension()) {
-  assert(OK());
+Pointset_Powerset<PSET>::Pointset_Powerset(const Constraint_System& cs)
+  : Base(Determinate<PSET>(cs)), space_dim(cs.space_dimension()) {
+  PPL_ASSERT_HEAVY(OK());
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Pointset_Powerset<PS>::Pointset_Powerset(const Congruence_System& cgs)
-  : Base(Determinate<PS>(cgs)), space_dim(cgs.space_dimension()) {
-  assert(OK());
+Pointset_Powerset<PSET>::Pointset_Powerset(const Congruence_System& cgs)
+  : Base(Determinate<PSET>(cgs)), space_dim(cgs.space_dimension()) {
+  PPL_ASSERT_HEAVY(OK());
 }
 
-template <typename PS>
-inline Pointset_Powerset<PS>&
-Pointset_Powerset<PS>::operator=(const Pointset_Powerset& y) {
+template <typename PSET>
+inline Pointset_Powerset<PSET>&
+Pointset_Powerset<PSET>::operator=(const Pointset_Powerset& y) {
   Pointset_Powerset& x = *this;
   x.Base::operator=(y);
   x.space_dim = y.space_dim;
   return x;
 }
 
-template <typename PS>
+template <typename PSET>
 inline void
-Pointset_Powerset<PS>::swap(Pointset_Powerset& y) {
+Pointset_Powerset<PSET>::swap(Pointset_Powerset& y) {
   Pointset_Powerset& x = *this;
   x.Base::swap(y);
   std::swap(x.space_dim, y.space_dim);
 }
 
-template <typename PS>
+template <typename PSET>
 template <typename QH>
-inline Pointset_Powerset<PS>&
-Pointset_Powerset<PS>::operator=(const Pointset_Powerset<QH>& y) {
+inline Pointset_Powerset<PSET>&
+Pointset_Powerset<PSET>::operator=(const Pointset_Powerset<QH>& y) {
   Pointset_Powerset& x = *this;
-  Pointset_Powerset<PS> pps(y);
+  Pointset_Powerset<PSET> pps(y);
   x.swap(pps);
   return x;
 }
 
-template <typename PS>
+template <typename PSET>
 inline void
-Pointset_Powerset<PS>::intersection_assign(const Pointset_Powerset& y) {
+Pointset_Powerset<PSET>::intersection_assign(const Pointset_Powerset& y) {
   Pointset_Powerset& x = *this;
   x.pairwise_apply_assign
-    (y, CS::lift_op_assign(std::mem_fun_ref(&PS::intersection_assign)));
+    (y,
+     Det_PSET::lift_op_assign(std::mem_fun_ref(&PSET::intersection_assign)));
 }
 
-template <typename PS>
-inline bool
-Pointset_Powerset<PS>
-::intersection_assign_and_minimize(const Pointset_Powerset& y) {
-  intersection_assign(y);
-  return !is_empty();
-}
-
-template <typename PS>
+template <typename PSET>
 inline void
-Pointset_Powerset<PS>::time_elapse_assign(const Pointset_Powerset& y) {
+Pointset_Powerset<PSET>::time_elapse_assign(const Pointset_Powerset& y) {
   Pointset_Powerset& x = *this;
   x.pairwise_apply_assign
-    (y, CS::lift_op_assign(std::mem_fun_ref(&PS::time_elapse_assign)));
+    (y,
+     Det_PSET::lift_op_assign(std::mem_fun_ref(&PSET::time_elapse_assign)));
 }
 
-template <typename PS>
+template <typename PSET>
 inline bool
-Pointset_Powerset<PS>
+Pointset_Powerset<PSET>
 ::geometrically_covers(const Pointset_Powerset& y) const {
-  // This code is only used when PS is an abstraction of NNC_Polyhedron.
+  // This code is only used when PSET is an abstraction of NNC_Polyhedron.
   const Pointset_Powerset<NNC_Polyhedron> xx(*this);
   const Pointset_Powerset<NNC_Polyhedron> yy(y);
   return xx.geometrically_covers(yy);
 }
 
-template <typename PS>
+template <typename PSET>
 inline bool
-Pointset_Powerset<PS>
+Pointset_Powerset<PSET>
 ::geometrically_equals(const Pointset_Powerset& y) const {
-  // This code is only used when PS is an abstraction of NNC_Polyhedron.
+  // This code is only used when PSET is an abstraction of NNC_Polyhedron.
   const Pointset_Powerset<NNC_Polyhedron> xx(*this);
   const Pointset_Powerset<NNC_Polyhedron> yy(y);
   return xx.geometrically_covers(yy) && yy.geometrically_covers(xx);
@@ -264,29 +258,29 @@ Pointset_Powerset<NNC_Polyhedron>
   return x.geometrically_covers(y) && y.geometrically_covers(x);
 }
 
-template <typename PS>
+template <typename PSET>
 inline memory_size_type
-Pointset_Powerset<PS>::external_memory_in_bytes() const {
+Pointset_Powerset<PSET>::external_memory_in_bytes() const {
   return Base::external_memory_in_bytes();
 }
 
-template <typename PS>
+template <typename PSET>
 inline memory_size_type
-Pointset_Powerset<PS>::total_memory_in_bytes() const {
+Pointset_Powerset<PSET>::total_memory_in_bytes() const {
   return sizeof(*this) + external_memory_in_bytes();
 }
 
-template <typename PS>
+template <typename PSET>
 inline int32_t
-Pointset_Powerset<PS>::hash_code() const {
+Pointset_Powerset<PSET>::hash_code() const {
   return space_dimension() & 0x7fffffff;
 }
 
-template <typename PS>
+template <typename PSET>
 inline void
-Pointset_Powerset<PS>
+Pointset_Powerset<PSET>
 ::difference_assign(const Pointset_Powerset& y) {
-  // This code is only used when PS is an abstraction of NNC_Polyhedron.
+  // This code is only used when PSET is an abstraction of NNC_Polyhedron.
   Pointset_Powerset<NNC_Polyhedron> nnc_this(*this);
   Pointset_Powerset<NNC_Polyhedron> nnc_y(y);
   nnc_this.difference_assign(nnc_y);
@@ -294,10 +288,10 @@ Pointset_Powerset<PS>
 }
 
 /*! \relates Pointset_Powerset */
-template <typename PS>
+template <typename PSET>
 inline bool
-check_containment(const PS& ph, const Pointset_Powerset<PS>& ps) {
-  // This code is only used when PS is an abstraction of NNC_Polyhedron.
+check_containment(const PSET& ph, const Pointset_Powerset<PSET>& ps) {
+  // This code is only used when PSET is an abstraction of NNC_Polyhedron.
   const NNC_Polyhedron pph = NNC_Polyhedron(ph.constraints());
   const Pointset_Powerset<NNC_Polyhedron> pps(ps);
   return check_containment(pph, pps);
@@ -318,10 +312,10 @@ check_containment(const C_Polyhedron& ph,
 namespace std {
 
 /*! \relates Parma_Polyhedra_Library::Pointset_Powerset */
-template <typename PS>
+template <typename PSET>
 inline void
-swap(Parma_Polyhedra_Library::Pointset_Powerset<PS>& x,
-     Parma_Polyhedra_Library::Pointset_Powerset<PS>& y) {
+swap(Parma_Polyhedra_Library::Pointset_Powerset<PSET>& x,
+     Parma_Polyhedra_Library::Pointset_Powerset<PSET>& y) {
   x.swap(y);
 }
 
diff --git a/src/Pointset_Powerset.templates.hh b/src/Pointset_Powerset.templates.hh
index 29196e4..5391a4e 100644
--- a/src/Pointset_Powerset.templates.hh
+++ b/src/Pointset_Powerset.templates.hh
@@ -1,5 +1,5 @@
 /* Pointset_Powerset class implementation: non-inline template functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -38,20 +38,20 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace Parma_Polyhedra_Library {
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::add_disjunct(const PS& ph) {
+Pointset_Powerset<PSET>::add_disjunct(const PSET& ph) {
   Pointset_Powerset& x = *this;
   if (x.space_dimension() != ph.space_dimension()) {
     std::ostringstream s;
-    s << "PPL::Pointset_Powerset<PS>::add_disjunct(ph):\n"
+    s << "PPL::Pointset_Powerset<PSET>::add_disjunct(ph):\n"
       << "this->space_dimension() == " << x.space_dimension() << ", "
       << "ph.space_dimension() == " << ph.space_dimension() << ".";
     throw std::invalid_argument(s.str());
   }
-  x.sequence.push_back(Determinate<PS>(ph));
+  x.sequence.push_back(Determinate<PSET>(ph));
   x.reduced = false;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
 template <>
@@ -64,7 +64,7 @@ Pointset_Powerset<NNC_Polyhedron>
   for (typename Pointset_Powerset<QH>::const_iterator i = y.begin(),
 	 y_end = y.end(); i != y_end; ++i)
     x.sequence.push_back(Determinate<NNC_Polyhedron>
-			 (NNC_Polyhedron(i->element(), complexity)));
+			 (NNC_Polyhedron(i->pointset(), complexity)));
 
   // FIXME: If the domain elements can be represented _exactly_ as NNC
   // polyhedra, then having x.reduced = y.reduced is correct. This is
@@ -77,300 +77,233 @@ Pointset_Powerset<NNC_Polyhedron>
   // assignment x.reduced = y.reduced will be a bug.
   x.reduced = y.reduced;
 
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 template <typename QH>
-Pointset_Powerset<PS>
+Pointset_Powerset<PSET>
 ::Pointset_Powerset(const Pointset_Powerset<QH>& y,
                     Complexity_Class complexity)
   : Base(), space_dim(y.space_dimension()) {
   Pointset_Powerset& x = *this;
   for (typename Pointset_Powerset<QH>::const_iterator i = y.begin(),
 	 y_end = y.end(); i != y_end; ++i)
-    x.sequence.push_back(Determinate<PS>(PS(i->element(), complexity)));
+    x.sequence.push_back(Determinate<PSET>(PSET(i->pointset(), complexity)));
   // Note: this might be non-reduced even when `y' is known to be
-  // omega-reduced, because the constructor of PS may have made
+  // omega-reduced, because the constructor of PSET may have made
   // different QH elements to become comparable.
   x.reduced = false;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::concatenate_assign(const Pointset_Powerset& y) {
+Pointset_Powerset<PSET>::concatenate_assign(const Pointset_Powerset& y) {
   Pointset_Powerset& x = *this;
   // Ensure omega-reduction here, since what follows has quadratic complexity.
   x.omega_reduce();
   y.omega_reduce();
-  Pointset_Powerset<PS> new_x(x.space_dim + y.space_dim, EMPTY);
+  Pointset_Powerset<PSET> new_x(x.space_dim + y.space_dim, EMPTY);
   for (const_iterator xi = x.begin(), x_end = x.end(),
 	 y_begin = y.begin(), y_end = y.end(); xi != x_end; ) {
     for (const_iterator yi = y_begin; yi != y_end; ++yi) {
-      CS zi = *xi;
+      Det_PSET zi = *xi;
       zi.concatenate_assign(*yi);
-      assert(!zi.is_bottom());
+      PPL_ASSERT_HEAVY(!zi.is_bottom());
       new_x.sequence.push_back(zi);
     }
     ++xi;
     if (abandon_expensive_computations && xi != x_end && y_begin != y_end) {
       // Hurry up!
-      PS xph = xi->element();
+      PSET xph = xi->pointset();
       for (++xi; xi != x_end; ++xi)
-	xph.upper_bound_assign(xi->element());
+	xph.upper_bound_assign(xi->pointset());
       const_iterator yi = y_begin;
-      PS yph = yi->element();
+      PSET yph = yi->pointset();
       for (++yi; yi != y_end; ++yi)
-	yph.upper_bound_assign(yi->element());
+	yph.upper_bound_assign(yi->pointset());
       xph.concatenate_assign(yph);
       x.swap(new_x);
       x.add_disjunct(xph);
-      assert(x.OK());
+      PPL_ASSERT_HEAVY(x.OK());
       return;
     }
   }
   x.swap(new_x);
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::add_constraint(const Constraint& c) {
+Pointset_Powerset<PSET>::add_constraint(const Constraint& c) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
 	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->element().add_constraint(c);
+    si->pointset().add_constraint(c);
   x.reduced = false;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
-bool
-Pointset_Powerset<PS>::add_constraint_and_minimize(const Constraint& c) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-	 s_end = x.sequence.end(); si != s_end; )
-    if (!si->element().add_constraint_and_minimize(c))
-      si = x.sequence.erase(si);
-    else {
-      x.reduced = false;
-      ++si;
-    }
-  assert(x.OK());
-  return !x.empty();
-}
-
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::refine_with_constraint(const Constraint& c) {
+Pointset_Powerset<PSET>::refine_with_constraint(const Constraint& c) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
 	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->element().refine_with_constraint(c);
+    si->pointset().refine_with_constraint(c);
   x.reduced = false;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::add_constraints(const Constraint_System& cs) {
+Pointset_Powerset<PSET>::add_constraints(const Constraint_System& cs) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
 	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->element().add_constraints(cs);
+    si->pointset().add_constraints(cs);
   x.reduced = false;
-  assert(x.OK());
-}
-
-template <typename PS>
-bool
-Pointset_Powerset<PS>::
-add_constraints_and_minimize(const Constraint_System& cs) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-	 s_end = x.sequence.end(); si != s_end; )
-    if (!si->element().add_constraints_and_minimize(cs))
-      si = x.sequence.erase(si);
-    else {
-      x.reduced = false;
-      ++si;
-    }
-  assert(x.OK());
-  return !x.empty();
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::refine_with_constraints(const Constraint_System& cs) {
+Pointset_Powerset<PSET>::refine_with_constraints(const Constraint_System& cs) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
 	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->element().refine_with_constraints(cs);
+    si->pointset().refine_with_constraints(cs);
   x.reduced = false;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::add_congruence(const Congruence& c) {
+Pointset_Powerset<PSET>::add_congruence(const Congruence& c) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
 	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->element().add_congruence(c);
+    si->pointset().add_congruence(c);
   x.reduced = false;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::refine_with_congruence(const Congruence& cg) {
+Pointset_Powerset<PSET>::refine_with_congruence(const Congruence& cg) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
 	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->element().refine_with_congruence(cg);
+    si->pointset().refine_with_congruence(cg);
   x.reduced = false;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
-bool
-Pointset_Powerset<PS>::add_congruence_and_minimize(const Congruence& c) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-	 s_end = x.sequence.end(); si != s_end; )
-    if (!si->element().add_congruence_and_minimize(c))
-      si = x.sequence.erase(si);
-    else {
-      x.reduced = false;
-      ++si;
-    }
-  assert(x.OK());
-  return !x.empty();
-}
-
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::add_congruences(const Congruence_System& cs) {
+Pointset_Powerset<PSET>::add_congruences(const Congruence_System& cs) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
 	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->element().add_congruences(cs);
+    si->pointset().add_congruences(cs);
   x.reduced = false;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::refine_with_congruences(const Congruence_System& cgs) {
+Pointset_Powerset<PSET>::refine_with_congruences(const Congruence_System& cgs) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
 	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->element().refine_with_congruences(cgs);
+    si->pointset().refine_with_congruences(cgs);
   x.reduced = false;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
-bool
-Pointset_Powerset<PS>::
-add_congruences_and_minimize(const Congruence_System& cs) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-	 s_end = x.sequence.end(); si != s_end; )
-    if (!si->element().add_congruences_and_minimize(cs))
-      si = x.sequence.erase(si);
-    else {
-      x.reduced = false;
-      ++si;
-    }
-  assert(x.OK());
-  return !x.empty();
-}
-
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::unconstrain(const Variable var) {
+Pointset_Powerset<PSET>::unconstrain(const Variable var) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    si->element().unconstrain(var);
+    si->pointset().unconstrain(var);
     x.reduced = false;
   }
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::unconstrain(const Variables_Set& to_be_unconstrained) {
+Pointset_Powerset<PSET>::unconstrain(const Variables_Set& vars) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    si->element().unconstrain(to_be_unconstrained);
+    si->pointset().unconstrain(vars);
     x.reduced = false;
   }
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::add_space_dimensions_and_embed(dimension_type m) {
+Pointset_Powerset<PSET>::add_space_dimensions_and_embed(dimension_type m) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
 	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->element().add_space_dimensions_and_embed(m);
+    si->pointset().add_space_dimensions_and_embed(m);
   x.space_dim += m;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::add_space_dimensions_and_project(dimension_type m) {
+Pointset_Powerset<PSET>::add_space_dimensions_and_project(dimension_type m) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
 	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->element().add_space_dimensions_and_project(m);
+    si->pointset().add_space_dimensions_and_project(m);
   x.space_dim += m;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::
-remove_space_dimensions(const Variables_Set& to_be_removed) {
+Pointset_Powerset<PSET>::remove_space_dimensions(const Variables_Set& vars) {
   Pointset_Powerset& x = *this;
-  Variables_Set::size_type num_removed = to_be_removed.size();
+  Variables_Set::size_type num_removed = vars.size();
   if (num_removed > 0) {
     for (Sequence_iterator si = x.sequence.begin(),
 	   s_end = x.sequence.end(); si != s_end; ++si) {
-      si->element().remove_space_dimensions(to_be_removed);
+      si->pointset().remove_space_dimensions(vars);
       x.reduced = false;
     }
     x.space_dim -= num_removed;
-    assert(x.OK());
+    PPL_ASSERT_HEAVY(x.OK());
   }
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::remove_higher_space_dimensions(dimension_type
-						      new_dimension) {
+Pointset_Powerset<PSET>
+::remove_higher_space_dimensions(dimension_type new_dimension) {
   Pointset_Powerset& x = *this;
   if (new_dimension < x.space_dim) {
     for (Sequence_iterator si = x.sequence.begin(),
 	   s_end = x.sequence.end(); si != s_end; ++si) {
-      si->element().remove_higher_space_dimensions(new_dimension);
+      si->pointset().remove_higher_space_dimensions(new_dimension);
       x.reduced = false;
     }
     x.space_dim = new_dimension;
-    assert(x.OK());
+    PPL_ASSERT_HEAVY(x.OK());
   }
 }
 
-template <typename PS>
+template <typename PSET>
 template <typename Partial_Function>
 void
-Pointset_Powerset<PS>::map_space_dimensions(const Partial_Function& pfunc) {
+Pointset_Powerset<PSET>::map_space_dimensions(const Partial_Function& pfunc) {
   Pointset_Powerset& x = *this;
   if (x.is_bottom()) {
     dimension_type n = 0;
@@ -385,110 +318,110 @@ Pointset_Powerset<PS>::map_space_dimensions(const Partial_Function& pfunc) {
     Sequence_iterator s_begin = x.sequence.begin();
     for (Sequence_iterator si = s_begin,
 	   s_end = x.sequence.end(); si != s_end; ++si)
-      si->element().map_space_dimensions(pfunc);
-    x.space_dim = s_begin->element().space_dimension();
+      si->pointset().map_space_dimensions(pfunc);
+    x.space_dim = s_begin->pointset().space_dimension();
     x.reduced = false;
   }
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::expand_space_dimension(Variable var,
-                                              dimension_type m) {
+Pointset_Powerset<PSET>::expand_space_dimension(Variable var,
+                                                dimension_type m) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si)
-    si->element().expand_space_dimension(var, m);
+    si->pointset().expand_space_dimension(var, m);
   x.space_dim += m;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::fold_space_dimensions(const Variables_Set& to_be_folded,
-                                             Variable var) {
+Pointset_Powerset<PSET>::fold_space_dimensions(const Variables_Set& vars,
+                                               Variable dest) {
   Pointset_Powerset& x = *this;
-  Variables_Set::size_type num_folded = to_be_folded.size();
+  Variables_Set::size_type num_folded = vars.size();
   if (num_folded > 0) {
     for (Sequence_iterator si = x.sequence.begin(),
            s_end = x.sequence.end(); si != s_end; ++si)
-      si->element().fold_space_dimensions(to_be_folded, var);
+      si->pointset().fold_space_dimensions(vars, dest);
   }
   x.space_dim -= num_folded;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::affine_image(Variable var,
-                                    const Linear_Expression& expr,
-                                    Coefficient_traits::const_reference
-                                    denominator) {
+Pointset_Powerset<PSET>::affine_image(Variable var,
+                                      const Linear_Expression& expr,
+                                      Coefficient_traits::const_reference
+                                      denominator) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    si->element().affine_image(var, expr, denominator);
+    si->pointset().affine_image(var, expr, denominator);
     // Note that the underlying domain can apply conservative approximation:
     // that is why it would not be correct to make the loss of reduction
     // conditional on `var' and `expr'.
     x.reduced = false;
   }
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::affine_preimage(Variable var,
-                                       const Linear_Expression& expr,
-                                       Coefficient_traits::const_reference
-                                       denominator) {
+Pointset_Powerset<PSET>::affine_preimage(Variable var,
+                                         const Linear_Expression& expr,
+                                         Coefficient_traits::const_reference
+                                         denominator) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    si->element().affine_preimage(var, expr, denominator);
+    si->pointset().affine_preimage(var, expr, denominator);
     // Note that the underlying domain can apply conservative approximation:
     // that is why it would not be correct to make the loss of reduction
     // conditional on `var' and `expr'.
     x.reduced = false;
   }
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>
+Pointset_Powerset<PSET>
 ::generalized_affine_image(const Linear_Expression& lhs,
                            const Relation_Symbol relsym,
                            const Linear_Expression& rhs) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    si->element().generalized_affine_image(lhs, relsym, rhs);
+    si->pointset().generalized_affine_image(lhs, relsym, rhs);
     x.reduced = false;
   }
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>
+Pointset_Powerset<PSET>
 ::generalized_affine_preimage(const Linear_Expression& lhs,
                               const Relation_Symbol relsym,
                               const Linear_Expression& rhs) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    si->element().generalized_affine_preimage(lhs, relsym, rhs);
+    si->pointset().generalized_affine_preimage(lhs, relsym, rhs);
     x.reduced = false;
   }
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>
+Pointset_Powerset<PSET>
 ::generalized_affine_image(Variable var,
                            const Relation_Symbol relsym,
                            const Linear_Expression& expr,
@@ -496,31 +429,33 @@ Pointset_Powerset<PS>
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    si->element().generalized_affine_image(var, relsym, expr, denominator);
+    si->pointset().generalized_affine_image(var, relsym, expr, denominator);
     x.reduced = false;
   }
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>
+Pointset_Powerset<PSET>
 ::generalized_affine_preimage(Variable var,
                               const Relation_Symbol relsym,
                               const Linear_Expression& expr,
-                              Coefficient_traits::const_reference denominator) {  Pointset_Powerset& x = *this;
+                              Coefficient_traits::const_reference
+                              denominator) {
+  Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    si->element().generalized_affine_preimage(var, relsym, expr, denominator);
+    si->pointset().generalized_affine_preimage(var, relsym, expr, denominator);
     x.reduced = false;
   }
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>
+Pointset_Powerset<PSET>
 ::bounded_affine_image(Variable var,
                        const Linear_Expression& lb_expr,
                        const Linear_Expression& ub_expr,
@@ -528,15 +463,15 @@ Pointset_Powerset<PS>
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    si->element().bounded_affine_image(var, lb_expr, ub_expr, denominator);
+    si->pointset().bounded_affine_image(var, lb_expr, ub_expr, denominator);
     x.reduced = false;
   }
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>
+Pointset_Powerset<PSET>
 ::bounded_affine_preimage(Variable var,
                           const Linear_Expression& lb_expr,
                           const Linear_Expression& ub_expr,
@@ -544,16 +479,16 @@ Pointset_Powerset<PS>
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    si->element().bounded_affine_preimage(var, lb_expr, ub_expr,
+    si->pointset().bounded_affine_preimage(var, lb_expr, ub_expr,
                                           denominator);
     x.reduced = false;
   }
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 dimension_type
-Pointset_Powerset<PS>::affine_dimension() const {
+Pointset_Powerset<PSET>::affine_dimension() const {
   // The affine dimension of the powerset is the affine dimension of
   // the smallest vector space in which it can be embedded.
   const Pointset_Powerset& x = *this;
@@ -561,7 +496,7 @@ Pointset_Powerset<PS>::affine_dimension() const {
 
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    PS pi(si->element());
+    PSET pi(si->pointset());
     if (!pi.is_empty()) {
       C_Polyhedron phi(space_dim);
       const Constraint_System& cs = pi.minimized_constraints();
@@ -578,20 +513,20 @@ Pointset_Powerset<PS>::affine_dimension() const {
   return x_ph.affine_dimension();
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>::is_universe() const {
+Pointset_Powerset<PSET>::is_universe() const {
   const Pointset_Powerset& x = *this;
   // Exploit omega-reduction, if already computed.
   if (x.is_omega_reduced())
-    return x.size() == 1 && x.begin()->element().is_universe();
+    return x.size() == 1 && x.begin()->pointset().is_universe();
 
   // A powerset is universe iff one of its disjuncts is.
   for (const_iterator x_i = x.begin(), x_end = x.end(); x_i != x_end; ++x_i)
-    if (x_i->element().is_universe()) {
+    if (x_i->pointset().is_universe()) {
       // Speculative omega-reduction, if it is worth.
       if (x.size() > 1) {
-        Pointset_Powerset<PS> universe(x.space_dimension(), UNIVERSE);
+        Pointset_Powerset<PSET> universe(x.space_dimension(), UNIVERSE);
         Pointset_Powerset& xx = const_cast<Pointset_Powerset&>(x);
         xx.swap(universe);
       }
@@ -600,62 +535,62 @@ Pointset_Powerset<PS>::is_universe() const {
   return false;
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>::is_empty() const {
+Pointset_Powerset<PSET>::is_empty() const {
   const Pointset_Powerset& x = *this;
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si)
-    if (!si->element().is_empty())
+    if (!si->pointset().is_empty())
       return false;
   return true;
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>::is_discrete() const {
+Pointset_Powerset<PSET>::is_discrete() const {
   const Pointset_Powerset& x = *this;
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si)
-    if (!si->element().is_discrete())
+    if (!si->pointset().is_discrete())
       return false;
   return true;
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>::is_topologically_closed() const {
+Pointset_Powerset<PSET>::is_topologically_closed() const {
   const Pointset_Powerset& x = *this;
   // The powerset must be omega-reduced before checking
   // topological closure.
   x.omega_reduce();
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si)
-    if (!si->element().is_topologically_closed())
+    if (!si->pointset().is_topologically_closed())
       return false;
   return true;
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>::is_bounded() const {
+Pointset_Powerset<PSET>::is_bounded() const {
   const Pointset_Powerset& x = *this;
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si)
-    if (!si->element().is_bounded())
+    if (!si->pointset().is_bounded())
       return false;
   return true;
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>::constrains(Variable var) const {
+Pointset_Powerset<PSET>::constrains(Variable var) const {
   const Pointset_Powerset& x = *this;
   // `var' should be one of the dimensions of the powerset.
   const dimension_type var_space_dim = var.space_dimension();
   if (x.space_dimension() < var_space_dim) {
     std::ostringstream s;
-    s << "PPL::Pointset_Powerset<PS>::constrains(v):\n"
+    s << "PPL::Pointset_Powerset<PSET>::constrains(v):\n"
       << "this->space_dimension() == " << x.space_dimension() << ", "
       << "v.space_dimension() == " << var_space_dim << ".";
     throw std::invalid_argument(s.str());
@@ -666,21 +601,21 @@ Pointset_Powerset<PS>::constrains(Variable var) const {
   if (x.is_empty())
     return true;
   for (const_iterator x_i = x.begin(), x_end = x.end(); x_i != x_end; ++x_i)
-    if (x_i->element().constrains(var))
+    if (x_i->pointset().constrains(var))
       return true;
   return false;
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>::is_disjoint_from(const Pointset_Powerset& y) const {
+Pointset_Powerset<PSET>::is_disjoint_from(const Pointset_Powerset& y) const {
   const Pointset_Powerset& x = *this;
   for (Sequence_const_iterator si = x.sequence.begin(),
          xs_end = x.sequence.end(); si != xs_end; ++si) {
-    const PS& pi = si->element();
+    const PSET& pi = si->pointset();
     for (Sequence_const_iterator sj = y.sequence.begin(),
            ys_end = y.sequence.end(); sj != ys_end; ++sj) {
-      const PS& pj = sj->element();
+      const PSET& pj = sj->pointset();
       if (!pi.is_disjoint_from(pj))
         return false;
     }
@@ -688,43 +623,68 @@ Pointset_Powerset<PS>::is_disjoint_from(const Pointset_Powerset& y) const {
   return true;
 }
 
-template <typename PS>
+template <typename PSET>
+void
+Pointset_Powerset<PSET>
+::drop_some_non_integer_points(const Variables_Set& vars,
+			       Complexity_Class complexity) {
+  Pointset_Powerset& x = *this;
+  for (Sequence_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si)
+    si->pointset().drop_some_non_integer_points(vars, complexity);
+  x.reduced = false;
+  PPL_ASSERT_HEAVY(x.OK());
+}
+
+template <typename PSET>
+void
+Pointset_Powerset<PSET>
+::drop_some_non_integer_points(Complexity_Class complexity) {
+  Pointset_Powerset& x = *this;
+  for (Sequence_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si)
+    si->pointset().drop_some_non_integer_points(complexity);
+  x.reduced = false;
+  PPL_ASSERT_HEAVY(x.OK());
+}
+
+template <typename PSET>
 void
-Pointset_Powerset<PS>::topological_closure_assign() {
+Pointset_Powerset<PSET>::topological_closure_assign() {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si)
-    si->element().topological_closure_assign();
-  assert(x.OK());
+    si->pointset().topological_closure_assign();
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>
-::intersection_preserving_enlarge_element(PS& to_be_enlarged) const {
+Pointset_Powerset<PSET>
+::intersection_preserving_enlarge_element(PSET& dest) const {
   // FIXME: this is just an executable specification.
   const Pointset_Powerset& context = *this;
-  assert(context.space_dimension() == to_be_enlarged.space_dimension());
+  PPL_ASSERT(context.space_dimension() == dest.space_dimension());
   bool nonempty_intersection = false;
   // TODO: maybe use a *sorted* constraint system?
-  PS enlarged(context.space_dimension(), UNIVERSE);
+  PSET enlarged(context.space_dimension(), UNIVERSE);
   for (Sequence_const_iterator si = context.sequence.begin(),
          s_end = context.sequence.end(); si != s_end; ++si) {
-    PS context_i(si->element());
+    PSET context_i(si->pointset());
     context_i.intersection_assign(enlarged);
-    PS enlarged_i(to_be_enlarged);
+    PSET enlarged_i(dest);
     nonempty_intersection
       |= enlarged_i.simplify_using_context_assign(context_i);
     // TODO: merge the sorted constraints of `enlarged' and `enlarged_i'?
     enlarged.intersection_assign(enlarged_i);
   }
-  to_be_enlarged.swap(enlarged);
+  dest.swap(enlarged);
   return nonempty_intersection;
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>
+Pointset_Powerset<PSET>
 ::simplify_using_context_assign(const Pointset_Powerset& y) {
   Pointset_Powerset& x = *this;
 
@@ -744,10 +704,10 @@ Pointset_Powerset<PS>
 
   if (y.size() == 1) {
     // More efficient, special handling of the singleton context case.
-    const PS& y_i = y.sequence.begin()->element();
+    const PSET& y_i = y.sequence.begin()->pointset();
     for (Sequence_iterator si = x.sequence.begin(),
            s_end = x.sequence.end(); si != s_end; ) {
-      PS& x_i = si->element();
+      PSET& x_i = si->pointset();
       if (x_i.simplify_using_context_assign(y_i))
         ++si;
       else
@@ -759,7 +719,7 @@ Pointset_Powerset<PS>
     // The context is not a singleton.
     for (Sequence_iterator si = x.sequence.begin(),
            s_end = x.sequence.end(); si != s_end; ) {
-      if (y.intersection_preserving_enlarge_element(si->element()))
+      if (y.intersection_preserving_enlarge_element(si->pointset()))
         ++si;
       else
         // Intersection with `*si' is empty: drop the disjunct.
@@ -767,22 +727,22 @@ Pointset_Powerset<PS>
     }
   }
   x.reduced = false;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
   return !x.sequence.empty();
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>::contains(const Pointset_Powerset& y) const {
+Pointset_Powerset<PSET>::contains(const Pointset_Powerset& y) const {
   const Pointset_Powerset& x = *this;
   for (Sequence_const_iterator si = y.sequence.begin(),
          ys_end = y.sequence.end(); si != ys_end; ++si) {
-    const PS& pi = si->element();
+    const PSET& pi = si->pointset();
     bool pi_is_contained = false;
     for (Sequence_const_iterator sj = x.sequence.begin(),
            xs_end = x.sequence.end();
          (sj != xs_end && !pi_is_contained); ++sj) {
-      const PS& pj = sj->element();
+      const PSET& pj = sj->pointset();
       if (pj.contains(pi))
         pi_is_contained = true;
     }
@@ -792,9 +752,9 @@ Pointset_Powerset<PS>::contains(const Pointset_Powerset& y) const {
   return true;
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>::strictly_contains(const Pointset_Powerset& y) const {
+Pointset_Powerset<PSET>::strictly_contains(const Pointset_Powerset& y) const {
   /* omega reduction ensures that a disjunct of y cannot be strictly
      contained in one disjunct and also contained but not strictly
      contained in another disjunct of *this */
@@ -802,12 +762,12 @@ Pointset_Powerset<PS>::strictly_contains(const Pointset_Powerset& y) const {
   x.omega_reduce();
   for (Sequence_const_iterator si = y.sequence.begin(),
          ys_end = y.sequence.end(); si != ys_end; ++si) {
-    const PS& pi = si->element();
+    const PSET& pi = si->pointset();
     bool pi_is_strictly_contained = false;
     for (Sequence_const_iterator sj = x.sequence.begin(),
            xs_end = x.sequence.end();
          (sj != xs_end && !pi_is_strictly_contained); ++sj) {
-      const PS& pj = sj->element();
+      const PSET& pj = sj->pointset();
       if (pj.strictly_contains(pi))
         pi_is_strictly_contained = true;
     }
@@ -817,9 +777,9 @@ Pointset_Powerset<PS>::strictly_contains(const Pointset_Powerset& y) const {
   return true;
 }
 
-template <typename PS>
+template <typename PSET>
 Poly_Con_Relation
-Pointset_Powerset<PS>::relation_with(const Congruence& cg) const {
+Pointset_Powerset<PSET>::relation_with(const Congruence& cg) const {
   const Pointset_Powerset& x = *this;
 
   /* *this is included in cg if every disjunct is included in cg */
@@ -835,7 +795,7 @@ Pointset_Powerset<PS>::relation_with(const Congruence& cg) const {
   bool may_saturate = true;
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    Poly_Con_Relation relation_i = si->element().relation_with(cg);
+    Poly_Con_Relation relation_i = si->pointset().relation_with(cg);
     if (!relation_i.implies(Poly_Con_Relation::is_included()))
       is_included = false;
     if (!relation_i.implies(Poly_Con_Relation::is_disjoint()))
@@ -861,9 +821,9 @@ Pointset_Powerset<PS>::relation_with(const Congruence& cg) const {
   return result;
 }
 
-template <typename PS>
+template <typename PSET>
 Poly_Con_Relation
-Pointset_Powerset<PS>::relation_with(const Constraint& c) const {
+Pointset_Powerset<PSET>::relation_with(const Constraint& c) const {
   const Pointset_Powerset& x = *this;
 
   /* *this is included in c if every disjunct is included in c */
@@ -879,7 +839,7 @@ Pointset_Powerset<PS>::relation_with(const Constraint& c) const {
   bool may_saturate = true;
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    Poly_Con_Relation relation_i = si->element().relation_with(c);
+    Poly_Con_Relation relation_i = si->pointset().relation_with(c);
     if (!relation_i.implies(Poly_Con_Relation::is_included()))
       is_included = false;
     if (!relation_i.implies(Poly_Con_Relation::is_disjoint()))
@@ -905,14 +865,14 @@ Pointset_Powerset<PS>::relation_with(const Constraint& c) const {
   return result;
 }
 
-template <typename PS>
+template <typename PSET>
 Poly_Gen_Relation
-Pointset_Powerset<PS>::relation_with(const Generator& g) const {
+Pointset_Powerset<PSET>::relation_with(const Generator& g) const {
   const Pointset_Powerset& x = *this;
 
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    Poly_Gen_Relation relation_i = si->element().relation_with(g);
+    Poly_Gen_Relation relation_i = si->pointset().relation_with(g);
     if (relation_i.implies(Poly_Gen_Relation::subsumes()))
       return Poly_Gen_Relation::subsumes();
   }
@@ -920,40 +880,43 @@ Pointset_Powerset<PS>::relation_with(const Generator& g) const {
   return Poly_Gen_Relation::nothing();
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>
+Pointset_Powerset<PSET>
 ::bounds_from_above(const Linear_Expression& expr) const {
   const Pointset_Powerset& x = *this;
   x.omega_reduce();
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si)
-    if (!si->element().bounds_from_above(expr))
+    if (!si->pointset().bounds_from_above(expr))
       return false;
   return true;
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>
+Pointset_Powerset<PSET>
 ::bounds_from_below(const Linear_Expression& expr) const {
   const Pointset_Powerset& x = *this;
   x.omega_reduce();
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si)
-    if (!si->element().bounds_from_below(expr))
+    if (!si->pointset().bounds_from_below(expr))
       return false;
   return true;
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>::maximize(const Linear_Expression& expr,
-                                Coefficient& sup_n,
-                                Coefficient& sup_d,
-                                bool& maximum) const {
+Pointset_Powerset<PSET>::maximize(const Linear_Expression& expr,
+                                  Coefficient& sup_n,
+                                  Coefficient& sup_d,
+                                  bool& maximum) const {
   const Pointset_Powerset& x = *this;
   x.omega_reduce();
+  if (x.is_empty())
+    return false;
+
   bool first = true;
 
   PPL_DIRTY_TEMP_COEFFICIENT(supt_n);
@@ -972,7 +935,7 @@ Pointset_Powerset<PS>::maximize(const Linear_Expression& expr,
 
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    if (!si->element().maximize(expr, supi_n, supi_d, maxi))
+    if (!si->pointset().maximize(expr, supi_n, supi_d, maxi))
       return false;
     else
       if (first) {
@@ -998,15 +961,18 @@ Pointset_Powerset<PS>::maximize(const Linear_Expression& expr,
   return true;
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>::maximize(const Linear_Expression& expr,
-                                Coefficient& sup_n,
-                                Coefficient& sup_d,
-                                bool& maximum,
-                                Generator& g) const {
+Pointset_Powerset<PSET>::maximize(const Linear_Expression& expr,
+                                  Coefficient& sup_n,
+                                  Coefficient& sup_d,
+                                  bool& maximum,
+                                  Generator& g) const {
   const Pointset_Powerset& x = *this;
   x.omega_reduce();
+  if (x.is_empty())
+    return false;
+
   bool first = true;
 
   PPL_DIRTY_TEMP_COEFFICIENT(supt_n);
@@ -1027,7 +993,7 @@ Pointset_Powerset<PS>::maximize(const Linear_Expression& expr,
 
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    if (!si->element().maximize(expr, supi_n, supi_d, maxi, gi))
+    if (!si->pointset().maximize(expr, supi_n, supi_d, maxi, gi))
       return false;
     else
       if (first) {
@@ -1058,14 +1024,17 @@ Pointset_Powerset<PS>::maximize(const Linear_Expression& expr,
   return true;
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>::minimize(const Linear_Expression& expr,
-                                Coefficient& inf_n,
-                                Coefficient& inf_d,
-                                bool& minimum) const {
+Pointset_Powerset<PSET>::minimize(const Linear_Expression& expr,
+                                  Coefficient& inf_n,
+                                  Coefficient& inf_d,
+                                  bool& minimum) const {
   const Pointset_Powerset& x = *this;
   x.omega_reduce();
+  if (x.is_empty())
+    return false;
+
   bool first = true;
 
   PPL_DIRTY_TEMP_COEFFICIENT(inft_n);
@@ -1084,7 +1053,7 @@ Pointset_Powerset<PS>::minimize(const Linear_Expression& expr,
 
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    if (!si->element().minimize(expr, infi_n, infi_d, mini))
+    if (!si->pointset().minimize(expr, infi_n, infi_d, mini))
       return false;
     else
       if (first) {
@@ -1110,15 +1079,18 @@ Pointset_Powerset<PS>::minimize(const Linear_Expression& expr,
   return true;
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>::minimize(const Linear_Expression& expr,
-                                Coefficient& inf_n,
-                                Coefficient& inf_d,
-                                bool& minimum,
-                                Generator& g) const {
+Pointset_Powerset<PSET>::minimize(const Linear_Expression& expr,
+                                  Coefficient& inf_n,
+                                  Coefficient& inf_d,
+                                  bool& minimum,
+                                  Generator& g) const {
   const Pointset_Powerset& x = *this;
   x.omega_reduce();
+  if (x.is_empty())
+    return false;
+
   bool first = true;
 
   PPL_DIRTY_TEMP_COEFFICIENT(inft_n);
@@ -1139,7 +1111,7 @@ Pointset_Powerset<PS>::minimize(const Linear_Expression& expr,
 
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    if (!si->element().minimize(expr, infi_n, infi_d, mini, gi))
+    if (!si->pointset().minimize(expr, infi_n, infi_d, mini, gi))
       return false;
     else
       if (first) {
@@ -1170,20 +1142,38 @@ Pointset_Powerset<PS>::minimize(const Linear_Expression& expr,
   return true;
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>::contains_integer_point() const {
+Pointset_Powerset<PSET>::contains_integer_point() const {
   const Pointset_Powerset& x = *this;
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si)
-    if (si->element().contains_integer_point())
+    if (si->pointset().contains_integer_point())
       return true;
   return false;
 }
 
-template <typename PS>
+template <typename PSET>
+void
+Pointset_Powerset<PSET>::wrap_assign(const Variables_Set& vars,
+                                     Bounded_Integer_Type_Width w,
+                                     Bounded_Integer_Type_Representation r,
+                                     Bounded_Integer_Type_Overflow o,
+                                     const Constraint_System* pcs,
+                                     unsigned complexity_threshold,
+                                     bool wrap_individually) {
+  Pointset_Powerset& x = *this;
+  for (Sequence_iterator si = x.sequence.begin(),
+	 s_end = x.sequence.end(); si != s_end; ++si)
+    si->pointset().wrap_assign(vars, w, r, o, pcs,
+                               complexity_threshold, wrap_individually);
+  x.reduced = false;
+  PPL_ASSERT_HEAVY(x.OK());
+}
+
+template <typename PSET>
 void
-Pointset_Powerset<PS>::pairwise_reduce() {
+Pointset_Powerset<PSET>::pairwise_reduce() {
   Pointset_Powerset& x = *this;
   // It is wise to omega-reduce before pairwise-reducing.
   x.omega_reduce();
@@ -1200,13 +1190,13 @@ Pointset_Powerset<PS>::pairwise_reduce() {
     for (Sequence_iterator si = s_begin; si != s_end; ++si, ++si_index) {
       if (marked[si_index])
 	continue;
-      PS& pi = si->element();
+      PSET& pi = si->pointset();
       Sequence_const_iterator sj = si;
       unsigned sj_index = si_index;
       for (++sj, ++sj_index; sj != s_end; ++sj, ++sj_index) {
 	if (marked[sj_index])
 	  continue;
-	const PS& pj = sj->element();
+	const PSET& pj = sj->pointset();
 	if (pi.upper_bound_assign_if_exact(pj)) {
 	  marked[si_index] = marked[sj_index] = true;
 	  new_x.add_non_bottom_disjunct_preserve_reduction(pi);
@@ -1229,13 +1219,13 @@ Pointset_Powerset<PS>::pairwise_reduce() {
     std::swap(x.sequence, new_x.sequence);
     n -= deleted;
   } while (deleted > 0);
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 template <typename Widening>
 void
-Pointset_Powerset<PS>::
+Pointset_Powerset<PSET>::
 BGP99_heuristics_assign(const Pointset_Powerset& y, Widening wf) {
   // `x' is the current iteration value.
   Pointset_Powerset& x = *this;
@@ -1243,9 +1233,9 @@ BGP99_heuristics_assign(const Pointset_Powerset& y, Widening wf) {
 #ifndef NDEBUG
   {
     // We assume that `y' entails `x'.
-    const Pointset_Powerset<PS> x_copy = x;
-    const Pointset_Powerset<PS> y_copy = y;
-    assert(y_copy.definitely_entails(x_copy));
+    const Pointset_Powerset<PSET> x_copy = x;
+    const Pointset_Powerset<PSET> y_copy = y;
+    PPL_ASSERT_HEAVY(y_copy.definitely_entails(x_copy));
   }
 #endif
 
@@ -1258,10 +1248,10 @@ BGP99_heuristics_assign(const Pointset_Powerset& y, Widening wf) {
   for (const_iterator i = x_begin,
 	 y_begin = y.begin(), y_end = y.end(); i != x_end; ++i, ++i_index)
     for (const_iterator j = y_begin; j != y_end; ++j) {
-      const PS& pi = i->element();
-      const PS& pj = j->element();
+      const PSET& pi = i->pointset();
+      const PSET& pj = j->pointset();
       if (pi.contains(pj)) {
-	PS pi_copy = pi;
+	PSET pi_copy = pi;
 	wf(pi_copy, pj);
 	new_x.add_non_bottom_disjunct_preserve_reduction(pi_copy);
 	marked[i_index] = true;
@@ -1276,14 +1266,14 @@ BGP99_heuristics_assign(const Pointset_Powerset& y, Widening wf) {
 								  nx_begin,
 								  nx_end);
   std::swap(x.sequence, new_x.sequence);
-  assert(x.OK());
-  assert(x.is_omega_reduced());
+  PPL_ASSERT_HEAVY(x.OK());
+  PPL_ASSERT(x.is_omega_reduced());
 }
 
-template <typename PS>
+template <typename PSET>
 template <typename Widening>
 void
-Pointset_Powerset<PS>::
+Pointset_Powerset<PSET>::
 BGP99_extrapolation_assign(const Pointset_Powerset& y,
 			   Widening wf,
 			   unsigned max_disjuncts) {
@@ -1293,9 +1283,9 @@ BGP99_extrapolation_assign(const Pointset_Powerset& y,
 #ifndef NDEBUG
   {
     // We assume that `y' entails `x'.
-    const Pointset_Powerset<PS> x_copy = x;
-    const Pointset_Powerset<PS> y_copy = y;
-    assert(y_copy.definitely_entails(x_copy));
+    const Pointset_Powerset<PSET> x_copy = x;
+    const Pointset_Powerset<PSET> y_copy = y;
+    PPL_ASSERT_HEAVY(y_copy.definitely_entails(x_copy));
   }
 #endif
 
@@ -1305,28 +1295,27 @@ BGP99_extrapolation_assign(const Pointset_Powerset& y,
   x.BGP99_heuristics_assign(y, wf);
 }
 
-template <typename PS>
+template <typename PSET>
 template <typename Cert>
 void
-Pointset_Powerset<PS>::
+Pointset_Powerset<PSET>::
 collect_certificates(std::map<Cert, size_type,
                      typename Cert::Compare>& cert_ms) const {
   const Pointset_Powerset& x = *this;
-  assert(x.is_omega_reduced());
-  assert(cert_ms.size() == 0);
+  PPL_ASSERT(x.is_omega_reduced());
+  PPL_ASSERT(cert_ms.size() == 0);
   for (const_iterator i = x.begin(), end = x.end(); i != end; i++) {
-    Cert ph_cert(i->element());
+    Cert ph_cert(i->pointset());
     ++cert_ms[ph_cert];
   }
 }
 
-template <typename PS>
+template <typename PSET>
 template <typename Cert>
 bool
-Pointset_Powerset<PS>::
+Pointset_Powerset<PSET>::
 is_cert_multiset_stabilizing(const std::map<Cert, size_type,
-                             typename Cert::Compare>& y_cert_ms
-			     ) const {
+                             typename Cert::Compare>& y_cert_ms) const {
   typedef std::map<Cert, size_type, typename Cert::Compare> Cert_Multiset;
   Cert_Multiset x_cert_ms;
   collect_certificates(x_cert_ms);
@@ -1368,39 +1357,39 @@ is_cert_multiset_stabilizing(const std::map<Cert, size_type,
   return yi != y_cert_ms_end;
 }
 
-template <typename PS>
+template <typename PSET>
 template <typename Cert, typename Widening>
 void
-Pointset_Powerset<PS>::BHZ03_widening_assign(const Pointset_Powerset& y,
-                                             Widening wf) {
+Pointset_Powerset<PSET>::BHZ03_widening_assign(const Pointset_Powerset& y,
+                                               Widening wf) {
   // `x' is the current iteration value.
   Pointset_Powerset& x = *this;
 
 #ifndef NDEBUG
   {
     // We assume that `y' entails `x'.
-    const Pointset_Powerset<PS> x_copy = x;
-    const Pointset_Powerset<PS> y_copy = y;
-    assert(y_copy.definitely_entails(x_copy));
+    const Pointset_Powerset<PSET> x_copy = x;
+    const Pointset_Powerset<PSET> y_copy = y;
+    PPL_ASSERT_HEAVY(y_copy.definitely_entails(x_copy));
   }
 #endif
 
   // First widening technique: do nothing.
 
   // If `y' is the empty collection, do nothing.
-  assert(x.size() > 0);
+  PPL_ASSERT(x.size() > 0);
   if (y.size() == 0)
     return;
 
   // Compute the poly-hull of `x'.
-  PS x_hull(x.space_dim, EMPTY);
+  PSET x_hull(x.space_dim, EMPTY);
   for (const_iterator i = x.begin(), x_end = x.end(); i != x_end; ++i)
-    x_hull.upper_bound_assign(i->element());
+    x_hull.upper_bound_assign(i->pointset());
 
   // Compute the poly-hull of `y'.
-  PS y_hull(y.space_dim, EMPTY);
+  PSET y_hull(y.space_dim, EMPTY);
   for (const_iterator i = y.begin(), y_end = y.end(); i != y_end; ++i)
-    y_hull.upper_bound_assign(i->element());
+    y_hull.upper_bound_assign(i->pointset());
   // Compute the certificate for `y_hull'.
   const Cert y_hull_cert(y_hull);
 
@@ -1428,14 +1417,14 @@ Pointset_Powerset<PS>::BHZ03_widening_assign(const Pointset_Powerset& y,
   }
 
   // Second widening technique: try the BGP99 powerset heuristics.
-  Pointset_Powerset<PS> bgp99_heuristics = x;
+  Pointset_Powerset<PSET> bgp99_heuristics = x;
   bgp99_heuristics.BGP99_heuristics_assign(y, wf);
 
   // Compute the poly-hull of `bgp99_heuristics'.
-  PS bgp99_heuristics_hull(x.space_dim, EMPTY);
+  PSET bgp99_heuristics_hull(x.space_dim, EMPTY);
   for (const_iterator i = bgp99_heuristics.begin(),
 	 bh_end = bgp99_heuristics.end(); i != bh_end; ++i)
-    bgp99_heuristics_hull.upper_bound_assign(i->element());
+    bgp99_heuristics_hull.upper_bound_assign(i->pointset());
 
   // Check for stabilization and, if successful,
   // commit to the result of the extrapolation.
@@ -1459,7 +1448,7 @@ Pointset_Powerset<PS>::BHZ03_widening_assign(const Pointset_Powerset& y,
     // Note that pairwise-reduction does not affect the computation
     // of the poly-hulls, so that we only have to check the multiset
     // certificate relation.
-    Pointset_Powerset<PS> reduced_bgp99_heuristics(bgp99_heuristics);
+    Pointset_Powerset<PSET> reduced_bgp99_heuristics(bgp99_heuristics);
     reduced_bgp99_heuristics.pairwise_reduce();
     if (reduced_bgp99_heuristics.is_cert_multiset_stabilizing(y_cert_ms)) {
       std::swap(x, reduced_bgp99_heuristics);
@@ -1471,7 +1460,7 @@ Pointset_Powerset<PS>::BHZ03_widening_assign(const Pointset_Powerset& y,
   // `y_hull' is a proper subset of `bgp99_heuristics_hull'.
   if (bgp99_heuristics_hull.strictly_contains(y_hull)) {
     // Compute (y_hull \widen bgp99_heuristics_hull).
-    PS ph = bgp99_heuristics_hull;
+    PSET ph = bgp99_heuristics_hull;
     wf(ph, y_hull);
     // Compute the difference between `ph' and `bgp99_heuristics_hull'.
     ph.difference_assign(bgp99_heuristics_hull);
@@ -1480,27 +1469,27 @@ Pointset_Powerset<PS>::BHZ03_widening_assign(const Pointset_Powerset& y,
   }
 
   // Fall back to the computation of the poly-hull.
-  Pointset_Powerset<PS> x_hull_singleton(x.space_dim, EMPTY);
+  Pointset_Powerset<PSET> x_hull_singleton(x.space_dim, EMPTY);
   x_hull_singleton.add_disjunct(x_hull);
   std::swap(x, x_hull_singleton);
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::ascii_dump(std::ostream& s) const {
+Pointset_Powerset<PSET>::ascii_dump(std::ostream& s) const {
   const Pointset_Powerset& x = *this;
   s << "size " << x.size()
     << "\nspace_dim " << x.space_dim
     << "\n";
   for (const_iterator xi = x.begin(), x_end = x.end(); xi != x_end; ++xi)
-    xi->element().ascii_dump(s);
+    xi->pointset().ascii_dump(s);
 }
 
-PPL_OUTPUT_TEMPLATE_DEFINITIONS(PS, Pointset_Powerset<PS>)
+PPL_OUTPUT_TEMPLATE_DEFINITIONS(PSET, Pointset_Powerset<PSET>)
 
-  template <typename PS>
+  template <typename PSET>
 bool
-Pointset_Powerset<PS>::ascii_load(std::istream& s) {
+Pointset_Powerset<PSET>::ascii_load(std::istream& s) {
   Pointset_Powerset& x = *this;
   std::string str;
 
@@ -1520,7 +1509,7 @@ Pointset_Powerset<PS>::ascii_load(std::istream& s) {
 
   Pointset_Powerset new_x(x.space_dim, EMPTY);
   while (sz-- > 0) {
-    PS ph;
+    PSET ph;
     if (!ph.ascii_load(s))
       return false;
     new_x.add_disjunct(ph);
@@ -1528,16 +1517,16 @@ Pointset_Powerset<PS>::ascii_load(std::istream& s) {
   x.swap(new_x);
 
   // Check invariants.
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
   return true;
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>::OK() const {
+Pointset_Powerset<PSET>::OK() const {
   const Pointset_Powerset& x = *this;
   for (const_iterator xi = x.begin(), x_end = x.end(); xi != x_end; ++xi) {
-    const PS& pi = xi->element();
+    const PSET& pi = xi->pointset();
     if (pi.space_dimension() != x.space_dim) {
 #ifndef NDEBUG
       std::cerr << "Space dimension mismatch: is " << pi.space_dimension()
@@ -1563,10 +1552,10 @@ namespace Pointset_Powersets {
   is added as a new disjunct of the powerset \p r.
 */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename PS>
+template <typename PSET>
 void
 linear_partition_aux(const Constraint& c,
-		     PS& qq,
+		     PSET& qq,
 		     Pointset_Powerset<NNC_Polyhedron>& r) {
   Linear_Expression le(c);
   const Constraint& neg_c = c.is_strict_inequality() ? (le <= 0) : (le < 0);
@@ -1583,13 +1572,13 @@ linear_partition_aux(const Constraint& c,
 
 
 /*! \relates Pointset_Powerset */
-template <typename PS>
-std::pair<PS, Pointset_Powerset<NNC_Polyhedron> >
-linear_partition(const PS& p, const PS& q) {
+template <typename PSET>
+std::pair<PSET, Pointset_Powerset<NNC_Polyhedron> >
+linear_partition(const PSET& p, const PSET& q) {
   using Implementation::Pointset_Powersets::linear_partition_aux;
 
   Pointset_Powerset<NNC_Polyhedron> r(p.space_dimension(), EMPTY);
-  PS qq = q;
+  PSET qq = q;
   const Constraint_System& pcs = p.constraints();
   for (Constraint_System::const_iterator i = pcs.begin(),
 	 pcs_end = pcs.end(); i != pcs_end; ++i) {
diff --git a/src/Pointset_Powerset.types.hh b/src/Pointset_Powerset.types.hh
index 2563a48..3a3af91 100644
--- a/src/Pointset_Powerset.types.hh
+++ b/src/Pointset_Powerset.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
@@ -14,7 +14,7 @@ PURPOSE. */
 
 namespace Parma_Polyhedra_Library {
 
-template <typename PH>
+template <typename PSET>
 class Pointset_Powerset;
 
 } // namespace Parma_Polyhedra_Library
diff --git a/src/Poly_Con_Relation.cc b/src/Poly_Con_Relation.cc
index e749c91..1bad707 100644
--- a/src/Poly_Con_Relation.cc
+++ b/src/Poly_Con_Relation.cc
@@ -1,5 +1,5 @@
 /* Poly_Con_Relation class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -26,7 +26,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 #include <iostream>
 #include <string>
-#include <cassert>
+#include "assert.hh"
 
 namespace PPL = Parma_Polyhedra_Library;
 
diff --git a/src/Poly_Con_Relation.defs.hh b/src/Poly_Con_Relation.defs.hh
index 055205d..a0424fb 100644
--- a/src/Poly_Con_Relation.defs.hh
+++ b/src/Poly_Con_Relation.defs.hh
@@ -1,5 +1,5 @@
 /* Poly_Con_Relation class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Poly_Con_Relation.inlines.hh b/src/Poly_Con_Relation.inlines.hh
index 1b590e0..e7afcfa 100644
--- a/src/Poly_Con_Relation.inlines.hh
+++ b/src/Poly_Con_Relation.inlines.hh
@@ -1,5 +1,5 @@
 /* Poly_Con_Relation class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Poly_Con_Relation.types.hh b/src/Poly_Con_Relation.types.hh
index 8466f1e..f90033f 100644
--- a/src/Poly_Con_Relation.types.hh
+++ b/src/Poly_Con_Relation.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Poly_Gen_Relation.cc b/src/Poly_Gen_Relation.cc
index 0ff0a90..0adb23a 100644
--- a/src/Poly_Gen_Relation.cc
+++ b/src/Poly_Gen_Relation.cc
@@ -1,5 +1,5 @@
 /* Poly_Gen_Relation class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -26,7 +26,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 #include <iostream>
 #include <string>
-#include <cassert>
+#include "assert.hh"
 
 namespace PPL = Parma_Polyhedra_Library;
 
diff --git a/src/Poly_Gen_Relation.defs.hh b/src/Poly_Gen_Relation.defs.hh
index 946334d..cc39d87 100644
--- a/src/Poly_Gen_Relation.defs.hh
+++ b/src/Poly_Gen_Relation.defs.hh
@@ -1,5 +1,5 @@
 /* Poly_Gen_Relation class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Poly_Gen_Relation.inlines.hh b/src/Poly_Gen_Relation.inlines.hh
index 01fc653..545ffea 100644
--- a/src/Poly_Gen_Relation.inlines.hh
+++ b/src/Poly_Gen_Relation.inlines.hh
@@ -1,5 +1,5 @@
 /* Poly_Gen_Relation class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Poly_Gen_Relation.types.hh b/src/Poly_Gen_Relation.types.hh
index ae9244f..bf69cff 100644
--- a/src/Poly_Gen_Relation.types.hh
+++ b/src/Poly_Gen_Relation.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Polyhedron.defs.hh b/src/Polyhedron.defs.hh
index e12e292..096d282 100644
--- a/src/Polyhedron.defs.hh
+++ b/src/Polyhedron.defs.hh
@@ -1,5 +1,5 @@
 /* Polyhedron class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -329,10 +329,10 @@ bool is_necessarily_closed_for_interfaces(const Polyhedron& ph);
   Generator_System gs;
   gs.insert(point(3*x + y +0*z + 2*w));
   C_Polyhedron ph(gs);
-  Variables_Set to_be_removed;
-  to_be_removed.insert(y);
-  to_be_removed.insert(z);
-  ph.remove_space_dimensions(to_be_removed);
+  Variables_Set vars;
+  vars.insert(y);
+  vars.insert(z);
+  ph.remove_space_dimensions(vars);
   \endcode
   The starting polyhedron is the singleton set
   \f$\bigl\{ (3, 1, 0, 2)^\transpose \bigr\} \sseq \Rset^4\f$, while
@@ -345,16 +345,16 @@ bool is_necessarily_closed_for_interfaces(const Polyhedron& ph);
   For instance, by using the following code we would obtain
   a different result:
   \code
-  set<Variable> to_be_removed1;
-  to_be_removed1.insert(y);
-  ph.remove_space_dimensions(to_be_removed1);
-  set<Variable> to_be_removed2;
-  to_be_removed2.insert(z);
-  ph.remove_space_dimensions(to_be_removed2);
+  set<Variable> vars1;
+  vars1.insert(y);
+  ph.remove_space_dimensions(vars1);
+  set<Variable> vars2;
+  vars2.insert(z);
+  ph.remove_space_dimensions(vars2);
   \endcode
   In this case, the result is the polyhedron
   \f$\bigl\{(3, 0)^\transpose \bigr\} \sseq \Rset^2\f$:
-  when removing the set of dimensions \p to_be_removed2
+  when removing the set of dimensions \p vars2
   we are actually removing variable \f$w\f$ of the original polyhedron.
   For the same reason, the operator \p remove_space_dimensions
   is not idempotent: removing twice the same non-empty set of dimensions
@@ -402,7 +402,7 @@ protected:
 	     dimension_type num_dimensions,
 	     Degenerate_Element kind);
 
-  //! Ordinary copy-constructor.
+  //! Ordinary copy constructor.
   /*!
     The complexity argument is ignored.
   */
@@ -762,6 +762,38 @@ public:
 		Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
 		Generator& g) const;
 
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if there exist a
+    unique value \p val such that \p *this
+    saturates the equality <CODE>expr = val</CODE>.
+
+    \param expr
+    The linear expression for which the frequency is needed;
+
+    \param freq_n
+    If <CODE>true</CODE> is returned, the value is set to \f$0\f$;
+    Present for interface compatibility with class Grid, where
+    the \ref Grid_Frequency "frequency" can have a non-zero value;
+
+    \param freq_d
+    If <CODE>true</CODE> is returned, the value is set to \f$1\f$;
+
+    \param val_n
+    The numerator of \p val;
+
+    \param val_d
+    The denominator of \p val;
+
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+
+    If <CODE>false</CODE> is returned, then \p freq_n, \p freq_d,
+    \p val_n and \p val_d are left untouched.
+  */
+  bool frequency(const Linear_Expression& expr,
+                 Coefficient& freq_n, Coefficient& freq_d,
+                 Coefficient& val_n, Coefficient& val_d) const;
+
   //! Returns <CODE>true</CODE> if and only if \p *this contains \p y.
   /*!
     \exception std::invalid_argument
@@ -817,26 +849,6 @@ public:
   void add_constraint(const Constraint& c);
 
   /*! \brief
-    Adds a copy of constraint \p c to the system of constraints
-    of \p *this, minimizing the result
-
-    \param c
-    The constraint that will be added to the system of
-    constraints of \p *this.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and constraint \p c are topology-incompatible
-    or dimension-incompatible.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_constraint_and_minimize(const Constraint& c);
-
-  /*! \brief
     Adds a copy of generator \p g to the system of generators
     of \p *this (without minimizing the result).
 
@@ -848,23 +860,6 @@ public:
   void add_generator(const Generator& g);
 
   /*! \brief
-    Adds a copy of generator \p g to the system of generators
-    of \p *this, minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and generator \p g are topology-incompatible or
-    dimension-incompatible, or if \p *this is an empty polyhedron and
-    \p g is not a point.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_generator_and_minimize(const Generator& g);
-
-  /*! \brief
     Adds a copy of congruence \p cg to \p *this,
     if \p cg can be exactly represented by a polyhedron.
 
@@ -876,24 +871,6 @@ public:
   void add_congruence(const Congruence& cg);
 
   /*! \brief
-    Adds a copy of congruence \p cg to \p *this,
-    if \p cg can be exactly represented by a polyhedron,
-    minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and congruence \p cg are dimension-incompatible,
-    of if \p cg is a proper congruence which is neither a tautology,
-    nor a contradiction.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_congruence_and_minimize(const Congruence& cg);
-
-  /*! \brief
     Adds a copy of the constraints in \p cs to the system
     of constraints of \p *this (without minimizing the result).
 
@@ -926,50 +903,6 @@ public:
   void add_recycled_constraints(Constraint_System& cs);
 
   /*! \brief
-    Adds a copy of the constraints in \p cs to the system
-    of constraints of \p *this, minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \param cs
-    Contains the constraints that will be added to the system of
-    constraints of \p *this.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are topology-incompatible or
-    dimension-incompatible.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_constraints_and_minimize(const Constraint_System& cs);
-
-  /*! \brief
-    Adds the constraints in \p cs to the system of constraints
-    of \p *this, minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \param cs
-    The constraint system to be added to \p *this.  The constraints in
-    \p cs may be recycled.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are topology-incompatible or
-    dimension-incompatible.
-
-    \warning
-    The only assumption that can be made on \p cs upon successful or
-    exceptional return is that it can be safely destroyed.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_recycled_constraints_and_minimize(Constraint_System& cs);
-
-  /*! \brief
     Adds a copy of the generators in \p gs to the system
     of generators of \p *this (without minimizing the result).
 
@@ -1004,52 +937,6 @@ public:
   void add_recycled_generators(Generator_System& gs);
 
   /*! \brief
-    Adds a copy of the generators in \p gs to the system
-    of generators of \p *this, minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \param gs
-    Contains the generators that will be added to the system of
-    generators of \p *this.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p gs are topology-incompatible or
-    dimension-incompatible, or if \p *this is empty and the the system
-    of generators \p gs is not empty, but has no points.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_generators_and_minimize(const Generator_System& gs);
-
-  /*! \brief
-    Adds the generators in \p gs to the system of generators
-    of \p *this, minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \param gs
-    The generator system to be added to \p *this.  The generators in
-    \p gs may be recycled.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p gs are topology-incompatible or
-    dimension-incompatible, or if \p *this is empty and the the system
-    of generators \p gs is not empty, but has no points.
-
-    \warning
-    The only assumption that can be made on \p gs upon successful or
-    exceptional return is that it can be safely destroyed.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_recycled_generators_and_minimize(Generator_System& gs);
-
-  /*! \brief
     Adds a copy of the congruences in \p cgs to \p *this,
     if all the congruences can be exactly represented by a polyhedron.
 
@@ -1064,27 +951,6 @@ public:
   void add_congruences(const Congruence_System& cgs);
 
   /*! \brief
-    Adds a copy of the congruences in \p cgs to \p *this,
-    if all the congruences can be exactly represented by a polyhedron,
-    minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \param cgs
-    The congruences to be added.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible,
-    of if there exists in \p cgs a proper congruence which is
-    neither a tautology, nor a contradiction
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_congruences_and_minimize(const Congruence_System& cgs);
-
-  /*! \brief
     Adds the congruences in \p cgs to \p *this,
     if all the congruences can be exactly represented by a polyhedron.
 
@@ -1103,31 +969,6 @@ public:
   void add_recycled_congruences(Congruence_System& cgs);
 
   /*! \brief
-    Adds the congruences in \p cgs to \p *this,
-    if all the congruences can be exactly represented by a polyhedron,
-    minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \param cgs
-    The congruences to be added. Its elements may be recycled.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible,
-    of if there exists in \p cgs a proper congruence which is
-    neither a tautology, nor a contradiction
-
-    \warning
-    The only assumption that can be made on \p cgs upon successful or
-    exceptional return is that it can be safely destroyed.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_recycled_congruences_and_minimize(Congruence_System& cgs);
-
-  /*! \brief
     Uses a copy of constraint \p c to refine \p *this.
 
     \exception std::invalid_argument
@@ -1181,21 +1022,20 @@ public:
 
   /*! \brief
     Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to the set of space dimensions \p to_be_unconstrained,
+    respect to the set of space dimensions \p vars,
     assigning the result to \p *this.
 
-    \param to_be_unconstrained
+    \param vars
     The set of space dimension that will be unconstrained.
 
     \exception std::invalid_argument
     Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p to_be_removed.
+    Variable objects contained in \p vars.
   */
-  void unconstrain(const Variables_Set& to_be_unconstrained);
+  void unconstrain(const Variables_Set& vars);
 
   /*! \brief
     Assigns to \p *this the intersection of \p *this and \p y.
-    The result is not guaranteed to be minimized.
 
     \exception std::invalid_argument
     Thrown if \p *this and \p y are topology-incompatible or
@@ -1204,24 +1044,7 @@ public:
   void intersection_assign(const Polyhedron& y);
 
   /*! \brief
-    Assigns to \p *this the intersection of \p *this and \p y,
-    minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are topology-incompatible or
-    dimension-incompatible.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool intersection_assign_and_minimize(const Polyhedron& y);
-
-  /*! \brief
     Assigns to \p *this the poly-hull of \p *this and \p y.
-    The result is not guaranteed to be minimized.
 
     \exception std::invalid_argument
     Thrown if \p *this and \p y are topology-incompatible or
@@ -1229,29 +1052,13 @@ public:
   */
   void poly_hull_assign(const Polyhedron& y);
 
-  /*! \brief
-    Assigns to \p *this the poly-hull of \p *this and \p y,
-    minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are topology-incompatible or
-    dimension-incompatible.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool poly_hull_assign_and_minimize(const Polyhedron& y);
-
   //! Same as poly_hull_assign(y).
   void upper_bound_assign(const Polyhedron& y);
 
   /*! \brief
     Assigns to \p *this
     the \ref Convex_Polyhedral_Difference "poly-difference"
-    of \p *this and \p y. The result is not guaranteed to be minimized.
+    of \p *this and \p y.
 
     \exception std::invalid_argument
     Thrown if \p *this and \p y are topology-incompatible or
@@ -1646,6 +1453,93 @@ public:
   */
   void time_elapse_assign(const Polyhedron& y);
 
+  /*! \brief
+    \ref Wrapping_Operator "Wraps" the specified dimensions of the
+    vector space.
+
+    \param vars
+    The set of Variable objects corresponding to the space dimensions
+    to be wrapped.
+
+    \param w
+    The width of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param r
+    The representation of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param o
+    The overflow behavior of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param pcs
+    Possibly null pointer to a constraint system whose variables
+    are contained in \p vars.  If <CODE>*pcs</CODE> depends on
+    variables not in \p vars, the behavior is undefined.
+    When non-null, the pointed-to constraint system is assumed to
+    represent the conditional or looping construct guard with respect
+    to which wrapping is performed.  Since wrapping requires the
+    computation of upper bounds and due to non-distributivity of
+    constraint refinement over upper bounds, passing a constraint
+    system in this way can be more precise than refining the result of
+    the wrapping operation with the constraints in <CODE>*pcs</CODE>.
+
+    \param complexity_threshold
+    A precision parameter of the \ref Wrapping_Operator "wrapping operator":
+    higher values result in possibly improved precision.
+
+    \param wrap_individually
+    <CODE>true</CODE> if the dimensions should be wrapped individually
+    (something that results in much greater efficiency to the detriment of
+    precision).
+
+    \exception std::invalid_argument
+    Thrown if <CODE>*pcs</CODE> is dimension-incompatible with
+    \p vars, or if \p *this is dimension-incompatible \p vars or with
+    <CODE>*pcs</CODE>.
+  */
+  void wrap_assign(const Variables_Set& vars,
+                   Bounded_Integer_Type_Width w,
+                   Bounded_Integer_Type_Representation r,
+                   Bounded_Integer_Type_Overflow o,
+                   const Constraint_System* pcs = 0,
+                   unsigned complexity_threshold = 16,
+                   bool wrap_individually = true);
+
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates.
+
+    \param complexity
+    The maximal complexity of any algorithms used.
+
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+  void drop_some_non_integer_points(Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
+
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates for the space dimensions corresponding to \p vars.
+
+    \param vars
+    Points with non-integer coordinates for these variables/space-dimensions
+    can be discarded.
+
+    \param complexity
+    The maximal complexity of any algorithms used.
+
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+  void drop_some_non_integer_points(const Variables_Set& vars,
+                                    Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
+
   //! Assigns to \p *this its topological closure.
   void topological_closure_assign();
 
@@ -1862,15 +1756,15 @@ public:
 
   //! Removes all the specified dimensions from the vector space.
   /*!
-    \param to_be_removed
+    \param vars
     The set of Variable objects corresponding to the space dimensions
     to be removed.
 
     \exception std::invalid_argument
     Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p to_be_removed.
+    Variable objects contained in \p vars.
   */
-  void remove_space_dimensions(const Variables_Set& to_be_removed);
+  void remove_space_dimensions(const Variables_Set& vars);
 
   /*! \brief
     Removes the higher dimensions of the vector space so that
@@ -1889,8 +1783,8 @@ public:
     \param pfunc
     The partial function specifying the destiny of each space dimension.
 
-    The template class Partial_Function must provide the following
-    methods.
+    The template type parameter Partial_Function must provide
+    the following methods.
     \code
       bool has_empty_codomain() const
     \endcode
@@ -1948,30 +1842,30 @@ public:
   */
   void expand_space_dimension(Variable var, dimension_type m);
 
-  //! Folds the space dimensions in \p to_be_folded into \p var.
+  //! Folds the space dimensions in \p vars into \p dest.
   /*!
-    \param to_be_folded
+    \param vars
     The set of Variable objects corresponding to the space dimensions
     to be folded;
 
-    \param var
+    \param dest
     The variable corresponding to the space dimension that is the
     destination of the folding operation.
 
     \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p var or with
-    one of the Variable objects contained in \p to_be_folded.
-    Also thrown if \p var is contained in \p to_be_folded.
+    Thrown if \p *this is dimension-incompatible with \p dest or with
+    one of the Variable objects contained in \p vars.
+    Also thrown if \p dest is contained in \p vars.
 
     If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    <CODE>var</CODE> has space dimension \f$k \leq n\f$,
-    \p to_be_folded is a set of variables whose maximum space dimension
-    is also less than or equal to \f$n\f$, and \p var is not a member
-    of \p to_be_folded, then the space dimensions corresponding to
-    variables in \p to_be_folded are \ref fold_space_dimensions "folded"
+    <CODE>dest</CODE> has space dimension \f$k \leq n\f$,
+    \p vars is a set of variables whose maximum space dimension
+    is also less than or equal to \f$n\f$, and \p dest is not a member
+    of \p vars, then the space dimensions corresponding to
+    variables in \p vars are \ref fold_space_dimensions "folded"
     into the \f$k\f$-th space dimension.
   */
-  void fold_space_dimensions(const Variables_Set& to_be_folded, Variable var);
+  void fold_space_dimensions(const Variables_Set& vars, Variable dest);
 
   //@} // Member Functions that May Modify the Dimension of the Vector Space
 
@@ -2697,8 +2591,25 @@ protected:
   //@} // Exception Throwers
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 
-};
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates for the space dimensions corresponding to \p *pvars.
+
+    \param pvars
+    When nonzero, points with non-integer coordinates for the
+    variables/space-dimensions contained in \p *pvars can be discarded.
 
+    \param complexity
+    The maximal complexity of any algorithms used.
+
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+  void drop_some_non_integer_points(const Variables_Set* pvars,
+                                    Complexity_Class complexity);
+
+};
 
 namespace std {
 
diff --git a/src/Polyhedron.inlines.hh b/src/Polyhedron.inlines.hh
index 5b3c335..f2175a5 100644
--- a/src/Polyhedron.inlines.hh
+++ b/src/Polyhedron.inlines.hh
@@ -1,5 +1,5 @@
 /* Polyhedron class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -288,15 +288,15 @@ Polyhedron::clear_generators_up_to_date() {
 
 inline bool
 Polyhedron::process_pending() const {
-  assert(space_dim > 0 && !marked_empty());
-  assert(has_something_pending());
+  PPL_ASSERT(space_dim > 0 && !marked_empty());
+  PPL_ASSERT(has_something_pending());
 
   Polyhedron& x = const_cast<Polyhedron&>(*this);
 
   if (x.has_pending_constraints())
     return x.process_pending_constraints();
 
-  assert(x.has_pending_generators());
+  PPL_ASSERT(x.has_pending_generators());
   x.process_pending_generators();
   return true;
 }
@@ -343,7 +343,7 @@ Polyhedron::minimize(const Linear_Expression& expr,
 
 inline Constraint_System
 Polyhedron::simplified_constraints() const {
-  assert(constraints_are_up_to_date());
+  PPL_ASSERT(constraints_are_up_to_date());
   Constraint_System cs(con_sys);
   if (cs.num_pending_rows() > 0)
     cs.unset_pending_rows();
@@ -367,28 +367,11 @@ Polyhedron::minimized_grid_generators() const {
   return grid_generators();
 }
 
-inline bool
-Polyhedron::add_congruence_and_minimize(const Congruence& cg) {
-  add_congruence(cg);
-  return minimize();
-}
-
-inline bool
-Polyhedron::add_congruences_and_minimize(const Congruence_System& cgs) {
-  add_congruences(cgs);
-  return minimize();
-}
-
 inline void
 Polyhedron::add_recycled_congruences(Congruence_System& cgs) {
   add_congruences(cgs);
 }
 
-inline bool
-Polyhedron::add_recycled_congruences_and_minimize(Congruence_System& cgs) {
-  return add_congruences_and_minimize(cgs);
-}
-
 /*! \relates Polyhedron */
 inline bool
 operator!=(const Polyhedron& x, const Polyhedron& y) {
@@ -401,6 +384,19 @@ Polyhedron::strictly_contains(const Polyhedron& y) const {
   return x.contains(y) && !y.contains(x);
 }
 
+inline void
+Polyhedron::drop_some_non_integer_points(Complexity_Class complexity) {
+  const Variables_Set* p_vs = 0;
+  drop_some_non_integer_points(p_vs, complexity);
+}
+
+inline void
+Polyhedron::drop_some_non_integer_points(const Variables_Set& vars,
+					 Complexity_Class complexity) {
+  drop_some_non_integer_points(&vars, complexity);
+}
+
+
 namespace Interfaces {
 
 inline bool
diff --git a/src/Polyhedron.templates.hh b/src/Polyhedron.templates.hh
index c4409a6..7dfabee 100644
--- a/src/Polyhedron.templates.hh
+++ b/src/Polyhedron.templates.hh
@@ -1,5 +1,5 @@
 /* Polyhedron class implementation: non-inline template functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -25,6 +25,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 #include "Generator.defs.hh"
 #include "MIP_Problem.defs.hh"
+#include "Interval.defs.hh"
 #include <algorithm>
 #include <deque>
 
@@ -141,7 +142,7 @@ Polyhedron::Polyhedron(Topology topol,
 
   // Constraints are up-to-date.
   set_constraints_up_to_date();
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 template <typename Partial_Function>
@@ -164,7 +165,7 @@ Polyhedron::map_space_dimensions(const Partial_Function& pfunc) {
       // Removing all dimensions from a non-empty polyhedron.
       set_zero_dim_univ();
 
-    assert(OK());
+    PPL_ASSERT_HEAVY(OK());
     return;
   }
 
@@ -230,7 +231,7 @@ Polyhedron::map_space_dimensions(const Partial_Function& pfunc) {
     if (generators_are_up_to_date())
       gen_sys.permute_columns(cycles);
 
-    assert(OK());
+    PPL_ASSERT_HEAVY(OK());
     return;
   }
 
@@ -244,7 +245,7 @@ Polyhedron::map_space_dimensions(const Partial_Function& pfunc) {
     // The polyhedron is empty.
     Polyhedron new_polyhedron(topology(), new_space_dimension, EMPTY);
     std::swap(*this, new_polyhedron);
-    assert(OK());
+    PPL_ASSERT_HEAVY(OK());
     return;
   }
 
@@ -290,7 +291,7 @@ Polyhedron::map_space_dimensions(const Partial_Function& pfunc) {
   }
   Polyhedron new_polyhedron(topology(), new_gensys);
   std::swap(*this, new_polyhedron);
-  assert(OK(true));
+  PPL_ASSERT_HEAVY(OK(true));
 }
 
 } // namespace Parma_Polyhedra_Library
diff --git a/src/Polyhedron.types.hh b/src/Polyhedron.types.hh
index 87655af..4dddd2f 100644
--- a/src/Polyhedron.types.hh
+++ b/src/Polyhedron.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Polyhedron_chdims.cc b/src/Polyhedron_chdims.cc
index 84bc06b..a63b4af 100644
--- a/src/Polyhedron_chdims.cc
+++ b/src/Polyhedron_chdims.cc
@@ -1,6 +1,6 @@
 /* Polyhedron class implementation
    (non-inline operators that may change the dimension of the vector space).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -25,7 +25,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 #include "Polyhedron.defs.hh"
 #include "Variables_Set.defs.hh"
-#include <cassert>
+#include "assert.hh"
 
 #define BE_LAZY 1
 
@@ -37,9 +37,9 @@ PPL::Polyhedron::add_space_dimensions(Linear_System& sys1,
 				      Bit_Matrix& sat1,
 				      Bit_Matrix& sat2,
 				      dimension_type add_dim) {
-  assert(sys1.topology() == sys2.topology());
-  assert(sys1.num_columns() == sys2.num_columns());
-  assert(add_dim != 0);
+  PPL_ASSERT(sys1.topology() == sys2.topology());
+  PPL_ASSERT(sys1.num_columns() == sys2.num_columns());
+  PPL_ASSERT(add_dim != 0);
 
   sys1.add_zero_columns(add_dim);
   dimension_type old_index = sys2.first_pending_row();
@@ -113,7 +113,7 @@ PPL::Polyhedron::add_space_dimensions_and_embed(dimension_type m) {
   // The case of a zero-dimensional space polyhedron.
   if (space_dim == 0) {
     // Since it is not empty, it has to be the universe polyhedron.
-    assert(status.test_zero_dim_univ());
+    PPL_ASSERT(status.test_zero_dim_univ());
     // We swap `*this' with a newly created
     // universe polyhedron of dimension `m'.
     Polyhedron ph(topology(), m, UNIVERSE);
@@ -149,7 +149,7 @@ PPL::Polyhedron::add_space_dimensions_and_embed(dimension_type m) {
     }
   else {
     // Only generators are up-to-date: no need to modify the constraints.
-    assert(generators_are_up_to_date());
+    PPL_ASSERT(generators_are_up_to_date());
     gen_sys.add_rows_and_columns(m);
     // The polyhedron does not support pending generators.
     gen_sys.unset_pending_rows();
@@ -180,7 +180,7 @@ PPL::Polyhedron::add_space_dimensions_and_embed(dimension_type m) {
 
   // Note: we do not check for satisfiability, because the system of
   // constraints may be unsatisfiable.
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 void
@@ -206,7 +206,7 @@ PPL::Polyhedron::add_space_dimensions_and_project(dimension_type m) {
   }
 
   if (space_dim == 0) {
-    assert(status.test_zero_dim_univ() && gen_sys.has_no_rows());
+    PPL_ASSERT(status.test_zero_dim_univ() && gen_sys.has_no_rows());
     // The system of generators for this polyhedron has only
     // the origin as a point.
     // In an NNC polyhedron, all points have to be accompanied
@@ -218,7 +218,7 @@ PPL::Polyhedron::add_space_dimensions_and_project(dimension_type m) {
     gen_sys.adjust_topology_and_space_dimension(topology(), m);
     set_generators_minimized();
     space_dim = m;
-    assert(OK());
+    PPL_ASSERT_HEAVY(OK());
     return;
   }
 
@@ -268,7 +268,7 @@ PPL::Polyhedron::add_space_dimensions_and_project(dimension_type m) {
     }
   else {
     // Only generators are up-to-date: no need to modify the constraints.
-    assert(generators_are_up_to_date());
+    PPL_ASSERT(generators_are_up_to_date());
     gen_sys.add_zero_columns(m);
     // If the polyhedron is not necessarily closed,
     // move the epsilon coefficients to the last column.
@@ -280,7 +280,7 @@ PPL::Polyhedron::add_space_dimensions_and_project(dimension_type m) {
 
   // Note: we do not check for satisfiability, because the system of
   // constraints may be unsatisfiable.
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 void
@@ -334,7 +334,7 @@ PPL::Polyhedron::concatenate_assign(const Polyhedron& y) {
 
   // We already dealt with the cases of an empty or zero-dim `y' polyhedron;
   // also, `cs' contains the low-level constraints, at least.
-  assert(added_rows > 0 && added_columns > 0);
+  PPL_ASSERT(added_rows > 0 && added_columns > 0);
 
   con_sys.add_zero_rows_and_columns(added_rows, added_columns,
 				    Linear_Row::Flags(topology(),
@@ -409,25 +409,25 @@ PPL::Polyhedron::concatenate_assign(const Polyhedron& y) {
 
   // The system of constraints may be unsatisfiable,
   // thus we do not check for satisfiability.
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 void
-PPL::Polyhedron::remove_space_dimensions(const Variables_Set& to_be_removed) {
+PPL::Polyhedron::remove_space_dimensions(const Variables_Set& vars) {
   // The removal of no dimensions from any polyhedron is a no-op.
   // Note that this case also captures the only legal removal of
   // dimensions from a polyhedron in a 0-dim space.
-  if (to_be_removed.empty()) {
-    assert(OK());
+  if (vars.empty()) {
+    PPL_ASSERT_HEAVY(OK());
     return;
   }
 
   // Dimension-compatibility check.
-  const dimension_type min_space_dim = to_be_removed.space_dimension();
+  const dimension_type min_space_dim = vars.space_dimension();
   if (space_dim < min_space_dim)
     throw_dimension_incompatible("remove_space_dimensions(vs)", min_space_dim);
 
-  const dimension_type new_space_dim = space_dim - to_be_removed.size();
+  const dimension_type new_space_dim = space_dim - vars.size();
 
   // We need updated generators; note that keeping pending generators
   // is useless because the constraints will be dropped anyway.
@@ -440,7 +440,7 @@ PPL::Polyhedron::remove_space_dimensions(const Variables_Set& to_be_removed) {
     con_sys.clear();
     // Update the space dimension.
     space_dim = new_space_dim;
-    assert(OK());
+    PPL_ASSERT_HEAVY(OK());
     return;
   }
 
@@ -453,14 +453,14 @@ PPL::Polyhedron::remove_space_dimensions(const Variables_Set& to_be_removed) {
 
   // For each variable to be removed, we fill the corresponding column
   // by shifting left those columns that will not be removed.
-  Variables_Set::const_iterator tbr = to_be_removed.begin();
-  Variables_Set::const_iterator tbr_end = to_be_removed.end();
-  dimension_type dst_col = *tbr + 1;
+  Variables_Set::const_iterator vsi = vars.begin();
+  Variables_Set::const_iterator vsi_end = vars.end();
+  dimension_type dst_col = *vsi + 1;
   dimension_type src_col = dst_col + 1;
-  for (++tbr; tbr != tbr_end; ++tbr) {
-    const dimension_type tbr_col = *tbr + 1;
+  for (++vsi; vsi != vsi_end; ++vsi) {
+    const dimension_type vsi_col = *vsi + 1;
     // All columns in between are moved to the left.
-    while (src_col < tbr_col)
+    while (src_col < vsi_col)
       gen_sys.Matrix::swap_columns(dst_col++, src_col++);
     ++src_col;
   }
@@ -482,7 +482,7 @@ PPL::Polyhedron::remove_space_dimensions(const Variables_Set& to_be_removed) {
   // Update the space dimension.
   space_dim = new_space_dim;
 
-  assert(OK(true));
+  PPL_ASSERT_HEAVY(OK(true));
 }
 
 void
@@ -496,7 +496,7 @@ PPL::Polyhedron::remove_higher_space_dimensions(dimension_type new_dimension) {
   // Note that this case also captures the only legal removal of
   // dimensions from a polyhedron in a 0-dim space.
   if (new_dimension == space_dim) {
-    assert(OK());
+    PPL_ASSERT_HEAVY(OK());
     return;
   }
 
@@ -509,7 +509,7 @@ PPL::Polyhedron::remove_higher_space_dimensions(dimension_type new_dimension) {
     // just updates the space dimension.
     space_dim = new_dimension;
     con_sys.clear();
-    assert(OK());
+    PPL_ASSERT_HEAVY(OK());
     return;
   }
 
@@ -540,7 +540,7 @@ PPL::Polyhedron::remove_higher_space_dimensions(dimension_type new_dimension) {
   // Update the space dimension.
   space_dim = new_dimension;
 
-  assert(OK(true));
+  PPL_ASSERT_HEAVY(OK(true));
 }
 
 void
@@ -596,32 +596,32 @@ PPL::Polyhedron::expand_space_dimension(Variable var, dimension_type m) {
     }
   }
   add_recycled_constraints(new_constraints);
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 void
-PPL::Polyhedron::fold_space_dimensions(const Variables_Set& to_be_folded,
-				       Variable var) {
+PPL::Polyhedron::fold_space_dimensions(const Variables_Set& vars,
+				       Variable dest) {
   // TODO: this implementation is _really_ an executable specification.
 
-  // `var' should be one of the dimensions of the polyhedron.
-  if (var.space_dimension() > space_dim)
-    throw_dimension_incompatible("fold_space_dimensions(tbf, v)", "v", var);
+  // `dest' should be one of the dimensions of the polyhedron.
+  if (dest.space_dimension() > space_dim)
+    throw_dimension_incompatible("fold_space_dimensions(vs, v)", "v", dest);
 
   // The folding of no dimensions is a no-op.
-  if (to_be_folded.empty())
+  if (vars.empty())
     return;
 
-  // All variables in `to_be_folded' should be dimensions of the polyhedron.
-  if (to_be_folded.space_dimension() > space_dim)
-    throw_dimension_incompatible("fold_space_dimensions(tbf, v)",
-				 "tbf.space_dimension()",
-				 to_be_folded.space_dimension());
+  // All variables in `vars' should be dimensions of the polyhedron.
+  if (vars.space_dimension() > space_dim)
+    throw_dimension_incompatible("fold_space_dimensions(vs, v)",
+				 "vs.space_dimension()",
+				 vars.space_dimension());
 
-  // Moreover, `var.id()' should not occur in `to_be_folded'.
-  if (to_be_folded.find(var.id()) != to_be_folded.end())
-    throw_invalid_argument("fold_space_dimensions(tbf, v)",
-			   "v should not occur in tbf");
+  // Moreover, `dest.id()' should not occur in `vars'.
+  if (vars.find(dest.id()) != vars.end())
+    throw_invalid_argument("fold_space_dimensions(vs, v)",
+			   "v should not occur in vs");
 
   // All of the affine images we are going to compute are not invertible,
   // hence we will need to compute the generators of the polyehdron.
@@ -631,13 +631,13 @@ PPL::Polyhedron::fold_space_dimensions(const Variables_Set& to_be_folded,
   // Having generators, we now know if the polyhedron is empty:
   // in that case, folding is equivalent to just removing space dimensions.
   if (!marked_empty()) {
-    for (Variables_Set::const_iterator i = to_be_folded.begin(),
-           tbf_end = to_be_folded.end(); i != tbf_end; ++i) {
+    for (Variables_Set::const_iterator i = vars.begin(),
+           vs_end = vars.end(); i != vs_end; ++i) {
       Polyhedron copy = *this;
-      copy.affine_image(var, Linear_Expression(Variable(*i)));
+      copy.affine_image(dest, Linear_Expression(Variable(*i)));
       poly_hull_assign(copy);
     }
   }
-  remove_space_dimensions(to_be_folded);
-  assert(OK());
+  remove_space_dimensions(vars);
+  PPL_ASSERT_HEAVY(OK());
 }
diff --git a/src/Polyhedron_nonpublic.cc b/src/Polyhedron_nonpublic.cc
index da60e84..4338173 100644
--- a/src/Polyhedron_nonpublic.cc
+++ b/src/Polyhedron_nonpublic.cc
@@ -1,6 +1,6 @@
 /* Polyhedron class implementation
    (non-inline private or protected functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -25,7 +25,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 #include "Polyhedron.defs.hh"
 #include "Scalar_Products.defs.hh"
-#include <cassert>
+#include "assert.hh"
 #include <string>
 #include <iostream>
 #include <sstream>
@@ -54,7 +54,7 @@ PPL::Polyhedron::Polyhedron(const Topology topol,
     sat_c(),
     sat_g() {
   // Protecting against space dimension overflow is up to the caller.
-  assert(num_dimensions <= max_space_dimension());
+  PPL_ASSERT(num_dimensions <= max_space_dimension());
 
   if (kind == EMPTY)
     status.set_empty();
@@ -64,7 +64,7 @@ PPL::Polyhedron::Polyhedron(const Topology topol,
     set_constraints_minimized();
   }
   space_dim = num_dimensions;
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 PPL::Polyhedron::Polyhedron(const Polyhedron& y, Complexity_Class)
@@ -73,7 +73,7 @@ PPL::Polyhedron::Polyhedron(const Polyhedron& y, Complexity_Class)
     status(y.status),
     space_dim(y.space_dim) {
   // Being a protected method, we simply assert that topologies do match.
-  assert(topology() == y.topology());
+  PPL_ASSERT(topology() == y.topology());
   if (y.constraints_are_up_to_date())
     con_sys.assign_with_pending(y.con_sys);
   if (y.generators_are_up_to_date())
@@ -90,7 +90,7 @@ PPL::Polyhedron::Polyhedron(const Topology topol, const Constraint_System& ccs)
     sat_c(),
     sat_g() {
   // Protecting against space dimension overflow is up to the caller.
-  assert(ccs.space_dimension() <= max_space_dimension());
+  PPL_ASSERT(ccs.space_dimension() <= max_space_dimension());
 
   // TODO: this implementation is just an executable specification.
   Constraint_System cs = ccs;
@@ -130,7 +130,7 @@ PPL::Polyhedron::Polyhedron(const Topology topol, const Constraint_System& ccs)
 	  break;
 	}
   }
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 PPL::Polyhedron::Polyhedron(const Topology topol,
@@ -141,7 +141,7 @@ PPL::Polyhedron::Polyhedron(const Topology topol,
     sat_c(),
     sat_g() {
   // Protecting against space dimension overflow is up to the caller.
-  assert(cs.space_dimension() <= max_space_dimension());
+  PPL_ASSERT(cs.space_dimension() <= max_space_dimension());
 
   // Try to adapt `cs' to the required topology.
   const dimension_type cs_space_dim = cs.space_dimension();
@@ -178,7 +178,7 @@ PPL::Polyhedron::Polyhedron(const Topology topol,
 	  break;
 	}
   }
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 PPL::Polyhedron::Polyhedron(const Topology topol, const Generator_System& cgs)
@@ -187,7 +187,7 @@ PPL::Polyhedron::Polyhedron(const Topology topol, const Generator_System& cgs)
     sat_c(),
     sat_g() {
   // Protecting against space dimension overflow is up to the caller.
-  assert(cgs.space_dimension() <= max_space_dimension());
+  PPL_ASSERT(cgs.space_dimension() <= max_space_dimension());
 
   // TODO: this implementation is just an executable specification.
   Generator_System gs = cgs;
@@ -196,7 +196,7 @@ PPL::Polyhedron::Polyhedron(const Topology topol, const Generator_System& cgs)
   if (gs.has_no_rows()) {
     space_dim = gs.space_dimension();
     status.set_empty();
-    assert(OK());
+    PPL_ASSERT_HEAVY(OK());
     return;
   }
 
@@ -233,7 +233,7 @@ PPL::Polyhedron::Polyhedron(const Topology topol, const Generator_System& cgs)
 
     // Set the space dimension.
     space_dim = gs_space_dim;
-    assert(OK());
+    PPL_ASSERT_HEAVY(OK());
     return;
   }
 
@@ -241,7 +241,7 @@ PPL::Polyhedron::Polyhedron(const Topology topol, const Generator_System& cgs)
   // we already checked for both the topology-compatibility
   // and the supporting point.
   space_dim = 0;
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 PPL::Polyhedron::Polyhedron(const Topology topol,
@@ -252,13 +252,13 @@ PPL::Polyhedron::Polyhedron(const Topology topol,
     sat_c(),
     sat_g() {
   // Protecting against space dimension overflow is up to the caller.
-  assert(gs.space_dimension() <= max_space_dimension());
+  PPL_ASSERT(gs.space_dimension() <= max_space_dimension());
 
   // An empty set of generators defines the empty polyhedron.
   if (gs.has_no_rows()) {
     space_dim = gs.space_dimension();
     status.set_empty();
-    assert(OK());
+    PPL_ASSERT_HEAVY(OK());
     return;
   }
 
@@ -295,7 +295,7 @@ PPL::Polyhedron::Polyhedron(const Topology topol,
 
     // Set the space dimension.
     space_dim = gs_space_dim;
-    assert(OK());
+    PPL_ASSERT_HEAVY(OK());
     return;
   }
 
@@ -303,13 +303,13 @@ PPL::Polyhedron::Polyhedron(const Topology topol,
   // we already checked for both the topology-compatibility
   // and the supporting point.
   space_dim = 0;
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 PPL::Polyhedron&
 PPL::Polyhedron::operator=(const Polyhedron& y) {
   // Being a protected method, we simply assert that topologies do match.
-  assert(topology() == y.topology());
+  PPL_ASSERT(topology() == y.topology());
   space_dim = y.space_dim;
   if (y.marked_empty())
     set_empty();
@@ -332,9 +332,9 @@ PPL::Polyhedron::operator=(const Polyhedron& y) {
 PPL::Polyhedron::Three_Valued_Boolean
 PPL::Polyhedron::quick_equivalence_test(const Polyhedron& y) const {
   // Private method: the caller must ensure the following.
-  assert(topology() == y.topology());
-  assert(space_dim == y.space_dim);
-  assert(!marked_empty() && !y.marked_empty() && space_dim > 0);
+  PPL_ASSERT(topology() == y.topology());
+  PPL_ASSERT(space_dim == y.space_dim);
+  PPL_ASSERT(!marked_empty() && !y.marked_empty() && space_dim > 0);
 
   const Polyhedron& x = *this;
 
@@ -393,9 +393,9 @@ PPL::Polyhedron::quick_equivalence_test(const Polyhedron& y) const {
 bool
 PPL::Polyhedron::is_included_in(const Polyhedron& y) const {
   // Private method: the caller must ensure the following.
-  assert(topology() == y.topology());
-  assert(space_dim == y.space_dim);
-  assert(!marked_empty() && !y.marked_empty() && space_dim > 0);
+  PPL_ASSERT(topology() == y.topology());
+  PPL_ASSERT(space_dim == y.space_dim);
+  PPL_ASSERT(!marked_empty() && !y.marked_empty() && space_dim > 0);
 
   const Polyhedron& x = *this;
 
@@ -418,8 +418,8 @@ PPL::Polyhedron::is_included_in(const Polyhedron& y) const {
     y.minimize();
 #endif
 
-  assert(x.OK());
-  assert(y.OK());
+  PPL_ASSERT_HEAVY(x.OK());
+  PPL_ASSERT_HEAVY(y.OK());
 
   const Generator_System& gs = x.gen_sys;
   const Constraint_System& cs = y.con_sys;
@@ -614,7 +614,7 @@ PPL::Polyhedron::max_min(const Linear_Expression& expr,
     }
     else {
       // We have a point or a closure point.
-      assert(gen_sys_i.is_point() || gen_sys_i.is_closure_point());
+      PPL_ASSERT(gen_sys_i.is_point() || gen_sys_i.is_closure_point());
       // Notice that we are ignoring the constant term in `expr' here.
       // We will add it to the extremum as soon as we find it.
       PPL_DIRTY_TEMP0(mpq_class, candidate);
@@ -649,7 +649,7 @@ PPL::Polyhedron::max_min(const Linear_Expression& expr,
 
   // The polyhedron is bounded in the right direction and we have
   // computed the extremum: write the result into the caller's structures.
-  assert(!first_candidate);
+  PPL_ASSERT(!first_candidate);
   // FIXME: avoid these temporaries, if possible.
   // This can be done adding an `assign' function working on native
   // and checked or an operator= that have on one side a checked and
@@ -685,8 +685,8 @@ PPL::Polyhedron::set_empty() {
 
 bool
 PPL::Polyhedron::process_pending_constraints() const {
-  assert(space_dim > 0 && !marked_empty());
-  assert(has_pending_constraints() && !has_pending_generators());
+  PPL_ASSERT(space_dim > 0 && !marked_empty());
+  PPL_ASSERT(has_pending_constraints() && !has_pending_generators());
 
   Polyhedron& x = const_cast<Polyhedron&>(*this);
 
@@ -702,12 +702,12 @@ PPL::Polyhedron::process_pending_constraints() const {
   if (x.con_sys.num_pending_rows() == 0) {
     // All pending constraints were duplicates.
     x.clear_pending_constraints();
-    assert(OK(true));
+    PPL_ASSERT_HEAVY(OK(true));
     return true;
   }
 
   const bool empty = add_and_minimize(true, x.con_sys, x.gen_sys, x.sat_c);
-  assert(x.con_sys.num_pending_rows() == 0);
+  PPL_ASSERT(x.con_sys.num_pending_rows() == 0);
 
   if (empty)
     x.set_empty();
@@ -716,14 +716,14 @@ PPL::Polyhedron::process_pending_constraints() const {
     x.clear_sat_g_up_to_date();
     x.set_sat_c_up_to_date();
   }
-  assert(OK(!empty));
+  PPL_ASSERT_HEAVY(OK(!empty));
   return !empty;
 }
 
 void
 PPL::Polyhedron::process_pending_generators() const {
-  assert(space_dim > 0 && !marked_empty());
-  assert(has_pending_generators() && !has_pending_constraints());
+  PPL_ASSERT(space_dim > 0 && !marked_empty());
+  PPL_ASSERT(has_pending_generators() && !has_pending_constraints());
 
   Polyhedron& x = const_cast<Polyhedron&>(*this);
 
@@ -739,12 +739,12 @@ PPL::Polyhedron::process_pending_generators() const {
   if (x.gen_sys.num_pending_rows() == 0) {
     // All pending generators were duplicates.
     x.clear_pending_generators();
-    assert(OK(true));
+    PPL_ASSERT_HEAVY(OK(true));
     return;
   }
 
   add_and_minimize(false, x.gen_sys, x.con_sys, x.sat_g);
-  assert(x.gen_sys.num_pending_rows() == 0);
+  PPL_ASSERT(x.gen_sys.num_pending_rows() == 0);
 
   x.clear_pending_generators();
   x.clear_sat_c_up_to_date();
@@ -753,7 +753,7 @@ PPL::Polyhedron::process_pending_generators() const {
 
 void
 PPL::Polyhedron::remove_pending_to_obtain_constraints() const {
-  assert(has_something_pending());
+  PPL_ASSERT(has_something_pending());
 
   Polyhedron& x = const_cast<Polyhedron&>(*this);
 
@@ -767,17 +767,17 @@ PPL::Polyhedron::remove_pending_to_obtain_constraints() const {
     x.clear_generators_up_to_date();
   }
   else {
-    assert(x.has_pending_generators());
+    PPL_ASSERT(x.has_pending_generators());
     // We must process the pending generators and obtain the
     // corresponding system of constraints.
     x.process_pending_generators();
   }
-  assert(OK(true));
+  PPL_ASSERT_HEAVY(OK(true));
 }
 
 bool
 PPL::Polyhedron::remove_pending_to_obtain_generators() const {
-  assert(has_something_pending());
+  PPL_ASSERT(has_something_pending());
 
   Polyhedron& x = const_cast<Polyhedron&>(*this);
 
@@ -789,11 +789,11 @@ PPL::Polyhedron::remove_pending_to_obtain_generators() const {
     x.clear_pending_generators();
     x.clear_generators_minimized();
     x.clear_constraints_up_to_date();
-    assert(OK(true));
+    PPL_ASSERT_HEAVY(OK(true));
     return true;
   }
   else {
-    assert(x.has_pending_constraints());
+    PPL_ASSERT(x.has_pending_constraints());
     // We must integrate the pending constraints and obtain the
     // corresponding system of generators.
     return x.process_pending_constraints();
@@ -802,11 +802,11 @@ PPL::Polyhedron::remove_pending_to_obtain_generators() const {
 
 void
 PPL::Polyhedron::update_constraints() const {
-  assert(space_dim > 0);
-  assert(!marked_empty());
-  assert(generators_are_up_to_date());
+  PPL_ASSERT(space_dim > 0);
+  PPL_ASSERT(!marked_empty());
+  PPL_ASSERT(generators_are_up_to_date());
   // We assume the polyhedron has no pending constraints or generators.
-  assert(!has_something_pending());
+  PPL_ASSERT(!has_something_pending());
 
   Polyhedron& x = const_cast<Polyhedron&>(*this);
   minimize(false, x.gen_sys, x.con_sys, x.sat_c);
@@ -821,11 +821,11 @@ PPL::Polyhedron::update_constraints() const {
 
 bool
 PPL::Polyhedron::update_generators() const {
-  assert(space_dim > 0);
-  assert(!marked_empty());
-  assert(constraints_are_up_to_date());
+  PPL_ASSERT(space_dim > 0);
+  PPL_ASSERT(!marked_empty());
+  PPL_ASSERT(constraints_are_up_to_date());
   // We assume the polyhedron has no pending constraints or generators.
-  assert(!has_something_pending());
+  PPL_ASSERT(!has_something_pending());
 
   Polyhedron& x = const_cast<Polyhedron&>(*this);
   // If the system of constraints is not consistent the
@@ -847,9 +847,9 @@ PPL::Polyhedron::update_generators() const {
 
 void
 PPL::Polyhedron::update_sat_c() const {
-  assert(constraints_are_minimized());
-  assert(generators_are_minimized());
-  assert(!sat_c_is_up_to_date());
+  PPL_ASSERT(constraints_are_minimized());
+  PPL_ASSERT(generators_are_minimized());
+  PPL_ASSERT(!sat_c_is_up_to_date());
 
   // We only consider non-pending rows.
   const dimension_type csr = con_sys.first_pending_row();
@@ -866,7 +866,7 @@ PPL::Polyhedron::update_sat_c() const {
       // that the generator `gen_sys[i]' violates the constraint
       // `con_sys[j]' and it is not possible because both generators
       // and constraints are up-to-date.
-      assert(sp_sign >= 0);
+      PPL_ASSERT(sp_sign >= 0);
       if (sp_sign > 0)
 	// `gen_sys[i]' satisfies (without saturate) `con_sys[j]'.
 	x.sat_c[i].set(j);
@@ -879,9 +879,9 @@ PPL::Polyhedron::update_sat_c() const {
 
 void
 PPL::Polyhedron::update_sat_g() const {
-  assert(constraints_are_minimized());
-  assert(generators_are_minimized());
-  assert(!sat_g_is_up_to_date());
+  PPL_ASSERT(constraints_are_minimized());
+  PPL_ASSERT(generators_are_minimized());
+  PPL_ASSERT(!sat_g_is_up_to_date());
 
   // We only consider non-pending rows.
   const dimension_type csr = con_sys.first_pending_row();
@@ -898,7 +898,7 @@ PPL::Polyhedron::update_sat_g() const {
       // that the generator `gen_sys[j]' violates the constraint
       // `con_sys[i]' and it is not possible because both generators
       // and constraints are up-to-date.
-      assert(sp_sign >= 0);
+      PPL_ASSERT(sp_sign >= 0);
       if (sp_sign > 0)
 	// `gen_sys[j]' satisfies (without saturate) `con_sys[i]'.
 	x.sat_g[i].set(j);
@@ -911,7 +911,7 @@ PPL::Polyhedron::update_sat_g() const {
 
 void
 PPL::Polyhedron::obtain_sorted_constraints() const {
-  assert(constraints_are_up_to_date());
+  PPL_ASSERT(constraints_are_up_to_date());
   // `con_sys' will be sorted up to `index_first_pending'.
   Polyhedron& x = const_cast<Polyhedron&>(*this);
   if (!x.con_sys.is_sorted()) {
@@ -934,12 +934,12 @@ PPL::Polyhedron::obtain_sorted_constraints() const {
       x.con_sys.sort_rows();
   }
 
-  assert(con_sys.check_sorted());
+  PPL_ASSERT(con_sys.check_sorted());
 }
 
 void
 PPL::Polyhedron::obtain_sorted_generators() const {
-  assert(generators_are_up_to_date());
+  PPL_ASSERT(generators_are_up_to_date());
   // `gen_sys' will be sorted up to `index_first_pending'.
   Polyhedron& x = const_cast<Polyhedron&>(*this);
   if (!x.gen_sys.is_sorted()) {
@@ -962,13 +962,13 @@ PPL::Polyhedron::obtain_sorted_generators() const {
       x.gen_sys.sort_rows();
   }
 
-  assert(gen_sys.check_sorted());
+  PPL_ASSERT(gen_sys.check_sorted());
 }
 
 void
 PPL::Polyhedron::obtain_sorted_constraints_with_sat_c() const {
-  assert(constraints_are_up_to_date());
-  assert(constraints_are_minimized());
+  PPL_ASSERT(constraints_are_up_to_date());
+  PPL_ASSERT(constraints_are_minimized());
   // `con_sys' will be sorted up to `index_first_pending'.
   Polyhedron& x = const_cast<Polyhedron&>(*this);
   // At least one of the saturation matrices must be up-to-date.
@@ -997,12 +997,12 @@ PPL::Polyhedron::obtain_sorted_constraints_with_sat_c() const {
   // Constraints are sorted now.
   x.con_sys.set_sorted(true);
 
-  assert(con_sys.check_sorted());
+  PPL_ASSERT(con_sys.check_sorted());
 }
 
 void
 PPL::Polyhedron::obtain_sorted_generators_with_sat_g() const {
-  assert(generators_are_up_to_date());
+  PPL_ASSERT(generators_are_up_to_date());
   // `gen_sys' will be sorted up to `index_first_pending'.
   Polyhedron& x = const_cast<Polyhedron&>(*this);
   // At least one of the saturation matrices must be up-to-date.
@@ -1031,7 +1031,7 @@ PPL::Polyhedron::obtain_sorted_generators_with_sat_g() const {
   // Generators are sorted now.
   x.gen_sys.set_sorted(true);
 
-  assert(gen_sys.check_sorted());
+  PPL_ASSERT(gen_sys.check_sorted());
 }
 
 bool
@@ -1045,7 +1045,7 @@ PPL::Polyhedron::minimize() const {
   // If the polyhedron has something pending, process it.
   if (has_something_pending()) {
     const bool not_empty = process_pending();
-    assert(OK());
+    PPL_ASSERT_HEAVY(OK());
     return not_empty;
   }
 
@@ -1063,20 +1063,20 @@ PPL::Polyhedron::minimize() const {
   if (constraints_are_up_to_date()) {
     // We may discover here that `*this' is empty.
     const bool ret = update_generators();
-    assert(OK());
+    PPL_ASSERT_HEAVY(OK());
     return ret;
   }
   else {
-    assert(generators_are_up_to_date());
+    PPL_ASSERT(generators_are_up_to_date());
     update_constraints();
-    assert(OK());
+    PPL_ASSERT_HEAVY(OK());
     return true;
   }
 }
 
 bool
 PPL::Polyhedron::strongly_minimize_constraints() const {
-  assert(!is_necessarily_closed());
+  PPL_ASSERT(!is_necessarily_closed());
 
   // From the user perspective, the polyhedron will not change.
   Polyhedron& x = const_cast<Polyhedron&>(*this);
@@ -1093,7 +1093,7 @@ PPL::Polyhedron::strongly_minimize_constraints() const {
 
   // We also need `sat_g' up-to-date.
   if (!sat_g_is_up_to_date()) {
-    assert(sat_c_is_up_to_date());
+    PPL_ASSERT(sat_c_is_up_to_date());
     x.sat_g.transpose_assign(sat_c);
   }
 
@@ -1122,15 +1122,9 @@ PPL::Polyhedron::strongly_minimize_constraints() const {
       throw std::runtime_error("PPL internal error: "
 			       "strongly_minimize_constraints.");
     }
-  Bit_Row sat_lines_and_rays;
-  set_union(sat_all_but_points, sat_all_but_closure_points,
-	    sat_lines_and_rays);
-  Bit_Row sat_lines_and_closure_points;
-  set_union(sat_all_but_rays, sat_all_but_points,
-	    sat_lines_and_closure_points);
-  Bit_Row sat_lines;
-  set_union(sat_lines_and_rays, sat_lines_and_closure_points,
-	    sat_lines);
+  Bit_Row sat_lines_and_rays(sat_all_but_points, sat_all_but_closure_points);
+  Bit_Row sat_lines_and_closure_points(sat_all_but_rays, sat_all_but_points);
+  Bit_Row sat_lines(sat_lines_and_rays, sat_lines_and_closure_points);
 
   // These flags are maintained to later decide if we have to add the
   // eps_leq_one constraint and whether or not the constraint system
@@ -1214,7 +1208,7 @@ PPL::Polyhedron::strongly_minimize_constraints() const {
   if (changed) {
     // If the constraint system has been changed, we have to erase
     // the epsilon-redundant constraints.
-    assert(cs_rows < cs.num_rows());
+    PPL_ASSERT(cs_rows < cs.num_rows());
     cs.erase_to_end(cs_rows);
     // The remaining constraints are not pending.
     cs.unset_pending_rows();
@@ -1246,7 +1240,7 @@ PPL::Polyhedron::strongly_minimize_constraints() const {
       lp.set_objective_function(Variable(x.space_dim));
       lp.set_optimization_mode(MAXIMIZATION);
       MIP_Problem_Status status = lp.solve();
-      assert(status != UNFEASIBLE_MIP_PROBLEM);
+      PPL_ASSERT(status != UNFEASIBLE_MIP_PROBLEM);
       // If the epsilon dimension is actually unbounded,
       // then add the eps_leq_one constraint.
       if (status == UNBOUNDED_MIP_PROBLEM)
@@ -1254,13 +1248,13 @@ PPL::Polyhedron::strongly_minimize_constraints() const {
     }
   }
 
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
   return true;
 }
 
 bool
 PPL::Polyhedron::strongly_minimize_generators() const {
-  assert(!is_necessarily_closed());
+  PPL_ASSERT(!is_necessarily_closed());
 
   // From the user perspective, the polyhedron will not change.
   Polyhedron& x = const_cast<Polyhedron&>(*this);
@@ -1277,7 +1271,7 @@ PPL::Polyhedron::strongly_minimize_generators() const {
 
   // We also need `sat_c' up-to-date.
   if (!sat_c_is_up_to_date()) {
-    assert(sat_g_is_up_to_date());
+    PPL_ASSERT(sat_g_is_up_to_date());
     x.sat_c.transpose_assign(sat_g);
   }
 
@@ -1304,8 +1298,7 @@ PPL::Polyhedron::strongly_minimize_generators() const {
     if (gs[i].is_point()) {
       // Compute the Bit_Row corresponding to the candidate point
       // when strict inequality constraints are ignored.
-      Bit_Row sat_gi;
-      set_union(sat[i], sat_all_but_strict_ineq, sat_gi);
+      Bit_Row sat_gi(sat[i], sat_all_but_strict_ineq);
       // Check if the candidate point is actually eps-redundant:
       // namely, if there exists another point that saturates
       // all the non-strict inequalities saturated by the candidate.
@@ -1353,14 +1346,14 @@ PPL::Polyhedron::strongly_minimize_generators() const {
     x.clear_constraints_up_to_date();
   }
 
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
   return true;
 }
 
 void
 PPL::Polyhedron::refine_no_check(const Constraint& c) {
-  assert(!marked_empty());
-  assert(space_dim >= c.space_dimension());
+  PPL_ASSERT(!marked_empty());
+  PPL_ASSERT(space_dim >= c.space_dimension());
 
   // Dealing with a zero-dimensional space polyhedron first.
   if (space_dim == 0) {
@@ -1412,7 +1405,7 @@ PPL::Polyhedron::refine_no_check(const Constraint& c) {
 
   // Note: the constraint system may have become unsatisfiable, thus
   // we do not check for satisfiability.
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 bool
@@ -1420,8 +1413,8 @@ PPL::Polyhedron::BHZ09_poly_hull_assign_if_exact(const Polyhedron& y) {
   Polyhedron& x = *this;
 
   // Private method: the caller must ensure the following.
-  assert(x.topology() == y.topology());
-  assert(x.space_dim == y.space_dim);
+  PPL_ASSERT(x.topology() == y.topology());
+  PPL_ASSERT(x.space_dim == y.space_dim);
 
   // The zero-dim case is trivial.
   if (x.space_dim == 0) {
@@ -1451,9 +1444,9 @@ bool
 PPL::Polyhedron::BHZ09_C_poly_hull_assign_if_exact(const Polyhedron& y) {
   Polyhedron& x = *this;
   // Private method: the caller must ensure the following.
-  assert(x.is_necessarily_closed() && y.is_necessarily_closed());
-  assert(x.space_dim > 0 && x.space_dim == y.space_dim);
-  assert(!x.is_empty() && !y.is_empty());
+  PPL_ASSERT(x.is_necessarily_closed() && y.is_necessarily_closed());
+  PPL_ASSERT(x.space_dim > 0 && x.space_dim == y.space_dim);
+  PPL_ASSERT(!x.is_empty() && !y.is_empty());
 
   // Minimization is not really required, but it is probably the best
   // way of getting constraints, generators and saturation matrices
@@ -1467,7 +1460,7 @@ PPL::Polyhedron::BHZ09_C_poly_hull_assign_if_exact(const Polyhedron& y) {
   const dimension_type x_affine_dim = x.affine_dimension();
   const dimension_type y_affine_dim = y.affine_dimension();
   if (x_affine_dim > y_affine_dim)
-    return (y.is_included_in(x));
+    return y.is_included_in(x);
   else if (x_affine_dim < y_affine_dim) {
     if (x.is_included_in(y)) {
       x = y;
@@ -1546,7 +1539,7 @@ PPL::Polyhedron::BHZ09_C_poly_hull_assign_if_exact(const Polyhedron& y) {
     if (!y_gs_red_in_x[j])
       add_generator(y_gs[j]);
 
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
   return true;
 }
 
@@ -1554,9 +1547,9 @@ bool
 PPL::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y) {
   const Polyhedron& x = *this;
   // Private method: the caller must ensure the following.
-  assert(!x.is_necessarily_closed() && !y.is_necessarily_closed());
-  assert(x.space_dim > 0 && x.space_dim == y.space_dim);
-  assert(!x.is_empty() && !y.is_empty());
+  PPL_ASSERT(!x.is_necessarily_closed() && !y.is_necessarily_closed());
+  PPL_ASSERT(x.space_dim > 0 && x.space_dim == y.space_dim);
+  PPL_ASSERT(!x.is_empty() && !y.is_empty());
 
   // Minimization is not really required, but it is probably the best
   // way of getting constraints, generators and saturation matrices
@@ -1628,7 +1621,7 @@ PPL::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y) {
   for (dimension_type i = x_points_nonred_in_y.first();
        i != ULONG_MAX; i = x_points_nonred_in_y.next(i)) {
     const Generator& x_p = x_gs[i];
-    assert(x_p.is_point());
+    PPL_ASSERT(x_p.is_point());
     // NOTE: we cannot use Constraint_System::relation_with()
     // as we need to treat strict inequalities as if they were nonstrict.
     for (dimension_type j = y_cs_num_rows; j-- > 0; ) {
@@ -1648,6 +1641,7 @@ PPL::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y) {
     x.update_sat_g();
   const Bit_Matrix& x_sat = x.sat_g;
 
+  Bit_Row x_cs_condition_3;
   Bit_Row x_gs_condition_3;
   Bit_Row all_ones;
   all_ones.set_until(x_gs_num_rows);
@@ -1665,6 +1659,7 @@ PPL::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y) {
       return false;
     if (x_c.is_strict_inequality()) {
       // Postpone check for condition 3.
+      x_cs_condition_3.set(i);
       set_intersection(x_closure_points, saturators, tmp_set);
       set_union(x_gs_condition_3, tmp_set, x_gs_condition_3);
     }
@@ -1689,7 +1684,7 @@ PPL::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y) {
   for (dimension_type i = y_points_nonred_in_x.first();
        i != ULONG_MAX; i = y_points_nonred_in_x.next(i)) {
     const Generator& y_p = y_gs[i];
-    assert(y_p.is_point());
+    PPL_ASSERT(y_p.is_point());
     // NOTE: we cannot use Constraint_System::relation_with()
     // as we need to treat strict inequalities as if they were nonstrict.
     for (dimension_type j = x_cs_num_rows; j-- > 0; ) {
@@ -1707,6 +1702,7 @@ PPL::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y) {
     y.update_sat_g();
   const Bit_Matrix& y_sat = y.sat_g;
 
+  Bit_Row y_cs_condition_3;
   Bit_Row y_gs_condition_3;
   all_ones.clear();
   all_ones.set_until(y_gs_num_rows);
@@ -1716,13 +1712,13 @@ PPL::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y) {
     if (x.relation_with(y_c).implies(Poly_Con_Relation::is_included()))
       continue;
     set_difference(all_ones, y_sat[i], saturators);
-    // CHECKME: do we really need to re-check condition 1?
     // Check condition 1.
     set_intersection(y_nonpoints_nonred_in_x, saturators, tmp_set);
     if (!tmp_set.empty())
       return false;
     if (y_c.is_strict_inequality()) {
       // Postpone check for condition 3.
+      y_cs_condition_3.set(i);
       set_intersection(y_closure_points, saturators, tmp_set);
       set_union(y_gs_condition_3, tmp_set, y_gs_condition_3);
     }
@@ -1734,7 +1730,29 @@ PPL::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y) {
     }
   }
 
-  // Now check condition 3 on `x_gs_condition_3' and `y_gs_condition_3'.
+  // Now considering condition 3.
+
+  if (x_cs_condition_3.empty() && y_cs_condition_3.empty()) {
+    // No test for condition 3 is needed.
+    // The hull is exact: compute it.
+    for (dimension_type j = y_gs_num_rows; j-- > 0; )
+      if (y_gs_nonred_in_x[j])
+        add_generator(y_gs[j]);
+    return true;
+  }
+
+  // We have anyway to compute the upper bound and its constraints too.
+  Polyhedron ub(x);
+  for (dimension_type j = y_gs_num_rows; j-- > 0; )
+    if (y_gs_nonred_in_x[j])
+      ub.add_generator(y_gs[j]);
+  (void) ub.minimize();
+  PPL_ASSERT(!ub.is_empty());
+
+  // NOTE: the following computation of x_gs_condition_3_not_in_y
+  // (resp., y_gs_condition_3_not_in_x) is not required for correctness.
+  // It is done so as to later apply a speculative test
+  // (i.e., a non-conclusive but computationally lighter test).
 
   // Filter away from `x_gs_condition_3' those closure points
   // that, when considered as points, would belong to `y',
@@ -1746,9 +1764,9 @@ PPL::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y) {
       for (dimension_type j = x_gs_condition_3.first();
            j != ULONG_MAX; j = x_gs_condition_3.next(j)) {
         const Generator& x_cp = x_gs[j];
-        assert(x_cp.is_closure_point());
+        PPL_ASSERT(x_cp.is_closure_point());
         const int sp_sign = Scalar_Products::reduced_sign(y_c, x_cp);
-        assert(sp_sign >= 0);
+        PPL_ASSERT(sp_sign >= 0);
         if (sp_sign == 0) {
           x_gs_condition_3.clear(j);
           x_gs_condition_3_not_in_y.set(j);
@@ -1758,7 +1776,6 @@ PPL::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y) {
         break;
     }
   }
-
   // Symmetrically, filter away from `y_gs_condition_3' those
   // closure points that, when considered as points, would belong to `x',
   // i.e., those that violate no strict constraint in `x_cs'.
@@ -1769,9 +1786,9 @@ PPL::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y) {
       for (dimension_type j = y_gs_condition_3.first();
            j != ULONG_MAX; j = y_gs_condition_3.next(j)) {
         const Generator& y_cp = y_gs[j];
-        assert(y_cp.is_closure_point());
+        PPL_ASSERT(y_cp.is_closure_point());
         const int sp_sign = Scalar_Products::reduced_sign(x_c, y_cp);
-        assert(sp_sign >= 0);
+        PPL_ASSERT(sp_sign >= 0);
         if (sp_sign == 0) {
           y_gs_condition_3.clear(j);
           y_gs_condition_3_not_in_x.set(j);
@@ -1782,23 +1799,7 @@ PPL::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y) {
     }
   }
 
-  if (x_gs_condition_3_not_in_y.empty()
-      && y_gs_condition_3_not_in_x.empty()) {
-    // The hull is exact: compute it.
-    for (dimension_type j = y_gs_num_rows; j-- > 0; )
-      if (y_gs_nonred_in_x[j])
-        add_generator(y_gs[j]);
-    return true;
-  }
-
-  // We have anyway to compute the upper bound and its constraints too.
-  Polyhedron ub(x);
-  for (dimension_type j = y_gs_num_rows; j-- > 0; )
-    if (y_gs_nonred_in_x[j])
-      ub.add_generator(y_gs[j]);
-  (void) ub.minimize();
-  assert(!ub.is_empty());
-
+  // NOTE: here we apply the speculative test.
   // Check if there exists a closure point in `x_gs_condition_3_not_in_y'
   // or `y_gs_condition_3_not_in_x' that belongs (as point) to the hull.
   // If so, the hull is not exact.
@@ -1809,33 +1810,72 @@ PPL::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y) {
       for (dimension_type j = x_gs_condition_3_not_in_y.first();
            j != ULONG_MAX; j = x_gs_condition_3_not_in_y.next(j)) {
         const Generator& x_cp = x_gs[j];
-        assert(x_cp.is_closure_point());
+        PPL_ASSERT(x_cp.is_closure_point());
         const int sp_sign = Scalar_Products::reduced_sign(ub_c, x_cp);
-        assert(sp_sign >= 0);
+        PPL_ASSERT(sp_sign >= 0);
         if (sp_sign == 0)
           x_gs_condition_3_not_in_y.clear(j);
       }
       for (dimension_type j = y_gs_condition_3_not_in_x.first();
            j != ULONG_MAX; j = y_gs_condition_3_not_in_x.next(j)) {
         const Generator& y_cp = y_gs[j];
-        assert(y_cp.is_closure_point());
+        PPL_ASSERT(y_cp.is_closure_point());
         const int sp_sign = Scalar_Products::reduced_sign(ub_c, y_cp);
-        assert(sp_sign >= 0);
+        PPL_ASSERT(sp_sign >= 0);
         if (sp_sign == 0)
           y_gs_condition_3_not_in_x.clear(j);
       }
     }
   }
 
-  if (x_gs_condition_3_not_in_y.empty()
-      && y_gs_condition_3_not_in_x.empty()) {
-    // No closure point satisfies condition 3, hence the hull is exact.
-    swap(ub);
-    return true;
-  }
-  else
-    // The hull is not exact.
+  if (!(x_gs_condition_3_not_in_y.empty()
+        && y_gs_condition_3_not_in_x.empty()))
+    // There exist a closure point satisfying condition 3,
+    // hence the hull is not exact.
     return false;
+
+  // The speculative test was not successful:
+  // apply the expensive (but conclusive) test for condition 3.
+
+  // Consider strict inequalities in `x' violated by `y'.
+  for (dimension_type i = x_cs_condition_3.first();
+       i != ULONG_MAX; i = x_cs_condition_3.next(i)) {
+    const Constraint& x_cs_i = x_cs[i];
+    PPL_ASSERT(x_cs_i.is_strict_inequality());
+    // Build the equality constraint induced by x_cs_i.
+    Constraint eq_i(Linear_Expression(x_cs_i) == 0);
+    PPL_ASSERT(!(ub.relation_with(eq_i)
+                 .implies(Poly_Con_Relation::is_disjoint())));
+    Polyhedron ub_inters_hyperplane(ub);
+    ub_inters_hyperplane.add_constraint(eq_i);
+    Polyhedron y_inters_hyperplane(y);
+    y_inters_hyperplane.add_constraint(eq_i);
+    if (!y_inters_hyperplane.contains(ub_inters_hyperplane))
+      // The hull is not exact.
+      return false;
+  }
+
+  // Consider strict inequalities in `y' violated by `x'.
+  for (dimension_type i = y_cs_condition_3.first();
+       i != ULONG_MAX; i = y_cs_condition_3.next(i)) {
+    const Constraint& y_cs_i = y_cs[i];
+    PPL_ASSERT(y_cs_i.is_strict_inequality());
+    // Build the equality constraint induced by y_cs_i.
+    Constraint eq_i(Linear_Expression(y_cs_i) == 0);
+    PPL_ASSERT(!(ub.relation_with(eq_i)
+                 .implies(Poly_Con_Relation::is_disjoint())));
+    Polyhedron ub_inters_hyperplane(ub);
+    ub_inters_hyperplane.add_constraint(eq_i);
+    Polyhedron x_inters_hyperplane(x);
+    x_inters_hyperplane.add_constraint(eq_i);
+    if (!x_inters_hyperplane.contains(ub_inters_hyperplane))
+      // The hull is not exact.
+      return false;
+  }
+
+  // The hull is exact.
+  swap(ub);
+  return true;
 }
 
 bool
@@ -1843,9 +1883,9 @@ PPL::Polyhedron::BFT00_poly_hull_assign_if_exact(const Polyhedron& y) {
   // Declare a const reference to *this (to avoid accidental modifications).
   const Polyhedron& x = *this;
   // Private method: the caller must ensure the following.
-  assert(x.is_necessarily_closed());
-  assert(x.topology() == y.topology());
-  assert(x.space_dim == y.space_dim);
+  PPL_ASSERT(x.is_necessarily_closed());
+  PPL_ASSERT(x.topology() == y.topology());
+  PPL_ASSERT(x.space_dim == y.space_dim);
 
   // The zero-dim case is trivial.
   if (x.space_dim == 0) {
@@ -1975,7 +2015,7 @@ PPL::Polyhedron::BFT00_poly_hull_assign_if_exact(const Polyhedron& y) {
         = (mid_row[0] == 0 && mid_row.all_homogeneous_terms_are_zero());
       // A zero ray cannot be generated from a line: this holds
       // because x_row (resp., y_row) is not subsumed by y (resp., x).
-      assert(!(illegal_ray && (x_row_is_line || y_row_is_line)));
+      PPL_ASSERT(!(illegal_ray && (x_row_is_line || y_row_is_line)));
       if (illegal_ray)
         continue;
       if (x_row_is_line) {
@@ -2029,11 +2069,154 @@ PPL::Polyhedron::BFT00_poly_hull_assign_if_exact(const Polyhedron& y) {
     if (!y_gs_red_in_x[j])
       add_generator(y_gs[j]);
   }
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
   return true;
 }
 
 void
+PPL::Polyhedron::drop_some_non_integer_points(const Variables_Set* pvars,
+					      Complexity_Class complexity) {
+  // There is nothing to do for an empty set of variables.
+  if (pvars != 0 && pvars->empty())
+    return;
+
+  // Any empty polyhedron does not contain integer points.
+  if (marked_empty())
+    return;
+
+  // A zero-dimensional, universe polyhedron has, by convention, an
+  // integer point.
+  if (space_dim == 0) {
+    set_empty();
+    return;
+  }
+
+  // The constraints (possibly with pending rows) are required.
+  if (has_pending_generators()) {
+    // Processing of pending generators is exponential in the worst case.
+    if (complexity != ANY_COMPLEXITY)
+      return;
+    else
+      process_pending_generators();
+  }
+  if (!constraints_are_up_to_date()) {
+    // Constraints update is exponential in the worst case.
+    if (complexity != ANY_COMPLEXITY)
+      return;
+    else
+      update_constraints();
+  }
+  // For NNC polyhedra we need to process any pending constraints.
+  if (!is_necessarily_closed() && has_pending_constraints()) {
+    if (complexity != ANY_COMPLEXITY)
+      return;
+    else if (!process_pending_constraints())
+      // We just discovered the polyhedron is empty.
+      return;
+  }
+
+  PPL_ASSERT(!has_pending_generators() && constraints_are_up_to_date());
+  PPL_ASSERT(is_necessarily_closed() || !has_pending_constraints());
+
+  bool changed = false;
+  const dimension_type eps_index = space_dim + 1;
+  PPL_DIRTY_TEMP_COEFFICIENT(gcd);
+
+  for (dimension_type j = con_sys.num_rows(); j-- > 0; ) {
+    Constraint& c = con_sys[j];
+    if (c.is_tautological())
+      goto next_constraint;
+
+    if (pvars != 0) {
+      for (dimension_type i = space_dim; i-- > 0; )
+	if (c[i+1] != 0 && pvars->find(i) == pvars->end())
+	  goto next_constraint;
+    }
+
+    if (!is_necessarily_closed()) {
+      // Transform all strict inequalities into non-strict ones,
+      // with the inhomogeneous term incremented by 1.
+      if (c[eps_index] < 0) {
+	c[eps_index] = 0;
+	--c[0];
+	// Enforce normalization.
+	// FIXME: is this really necessary?
+	c.normalize();
+	changed = true;
+      }
+    }
+
+    {
+      // Compute the GCD of all the homogeneous terms.
+      dimension_type i = space_dim+1;
+      while (i > 1) {
+	const Coefficient& c_i = c[--i];
+	if (const int c_i_sign = sgn(c_i)) {
+	  gcd = c_i;
+	  if (c_i_sign < 0)
+	    neg_assign(gcd);
+	  goto compute_gcd;
+	}
+      }
+      // We reach this point only if all the coefficients were zero.
+      goto next_constraint;
+
+    compute_gcd:
+      if (gcd == 1)
+	goto next_constraint;
+      while (i > 1) {
+	const Coefficient& c_i = c[--i];
+	if (c_i != 0) {
+	  // See the comment in Row::normalize().
+	  gcd_assign(gcd, c_i, gcd);
+	  if (gcd == 1)
+	    goto next_constraint;
+	}
+      }
+      PPL_ASSERT(gcd != 1);
+      PPL_ASSERT(c[0] % gcd != 0);
+
+      // If we have an equality, the polyhedron becomes empty.
+      if (c.is_equality()) {
+	set_empty();
+	return;
+      }
+
+      // Divide the inhomogeneous coefficients by the GCD.
+      for (dimension_type k = space_dim+1; --k > 0; ) {
+	Coefficient& c_k = c[k];
+	exact_div_assign(c_k, c_k, gcd);
+      }
+      Coefficient& c_0 = c[0];
+      const int c_0_sign = sgn(c_0);
+      c_0 /= gcd;
+      if (c_0_sign < 0)
+	--c_0;
+      changed = true;
+    }
+
+  next_constraint:
+    ;
+  }
+
+  if (changed) {
+    if (!is_necessarily_closed()) {
+      con_sys.insert(Constraint::epsilon_leq_one());
+      // FIXME: make sure that the following line really can stay here
+      // and should not be moved below the brace.
+      con_sys.set_sorted(false);
+    }
+
+    // After changing the system of constraints, the generators
+    // are no longer up-to-date and the constraints are no longer
+    // minimized.
+    clear_generators_up_to_date();
+    clear_constraints_minimized();
+  }
+  PPL_ASSERT_HEAVY(OK());
+}
+
+void
 PPL::Polyhedron::throw_runtime_error(const char* method) const {
   std::ostringstream s;
   s << "PPL::";
@@ -2083,7 +2266,7 @@ void
 PPL::Polyhedron::throw_topology_incompatible(const char* method,
 					     const char* c_name,
 					     const Constraint&) const {
-  assert(is_necessarily_closed());
+  PPL_ASSERT(is_necessarily_closed());
   std::ostringstream s;
   s << "PPL::C_Polyhedron::" << method << ":" << std::endl
     << c_name << " is a strict inequality.";
@@ -2094,7 +2277,7 @@ void
 PPL::Polyhedron::throw_topology_incompatible(const char* method,
 					     const char* g_name,
 					     const Generator&) const {
-  assert(is_necessarily_closed());
+  PPL_ASSERT(is_necessarily_closed());
   std::ostringstream s;
   s << "PPL::C_Polyhedron::" << method << ":" << std::endl
     << g_name << " is a closure point.";
@@ -2105,7 +2288,7 @@ void
 PPL::Polyhedron::throw_topology_incompatible(const char* method,
 					     const char* cs_name,
 					     const Constraint_System&) const {
-  assert(is_necessarily_closed());
+  PPL_ASSERT(is_necessarily_closed());
   std::ostringstream s;
   s << "PPL::C_Polyhedron::" << method << ":" << std::endl
     << cs_name << " contains strict inequalities.";
diff --git a/src/Polyhedron_public.cc b/src/Polyhedron_public.cc
index e6a87fb..36fe952 100644
--- a/src/Polyhedron_public.cc
+++ b/src/Polyhedron_public.cc
@@ -1,5 +1,5 @@
 /* Polyhedron class implementation (non-inline public functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -22,10 +22,13 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 #include <ppl-config.h>
 #include "Polyhedron.defs.hh"
+#include "C_Polyhedron.defs.hh"
+#include "NNC_Polyhedron.defs.hh"
 #include "Scalar_Products.defs.hh"
 #include "MIP_Problem.defs.hh"
+#include "wrap_assign.hh"
 #include <cstdlib>
-#include <cassert>
+#include "assert.hh"
 #include <iostream>
 
 #ifndef ENSURE_SORTEDNESS
@@ -40,8 +43,8 @@ size_t PPL::Polyhedron::simplify_num_saturators_size = 0;
 
 void
 PPL::Polyhedron::initialize() {
-  assert(simplify_num_saturators_p == 0);
-  assert(simplify_num_saturators_size == 0);
+  PPL_ASSERT(simplify_num_saturators_p == 0);
+  PPL_ASSERT(simplify_num_saturators_size == 0);
   simplify_num_saturators_p = new dimension_type[simplify_num_saturators_size];
 }
 
@@ -80,16 +83,16 @@ PPL::Polyhedron::constraints() const {
     }
     else {
       // Checking that `con_sys' contains the right thing.
-      assert(con_sys.space_dimension() == space_dim);
-      assert(con_sys.num_rows() == 1);
-      assert(con_sys[0].is_inconsistent());
+      PPL_ASSERT(con_sys.space_dimension() == space_dim);
+      PPL_ASSERT(con_sys.num_rows() == 1);
+      PPL_ASSERT(con_sys[0].is_inconsistent());
     }
     return con_sys;
   }
 
   if (space_dim == 0) {
     // Zero-dimensional universe.
-    assert(con_sys.num_rows() == 0 && con_sys.num_columns() == 0);
+    PPL_ASSERT(con_sys.num_rows() == 0 && con_sys.num_columns() == 0);
     return con_sys;
   }
 
@@ -125,7 +128,7 @@ PPL::Polyhedron::minimized_constraints() const {
 const PPL::Generator_System&
 PPL::Polyhedron::generators() const {
   if (marked_empty()) {
-    assert(gen_sys.has_no_rows());
+    PPL_ASSERT(gen_sys.has_no_rows());
     // We want `gen_sys' to have the appropriate space dimension,
     // even though it is an empty generator system.
     if (gen_sys.space_dimension() != space_dim) {
@@ -137,7 +140,7 @@ PPL::Polyhedron::generators() const {
   }
 
   if (space_dim == 0) {
-    assert(gen_sys.num_rows() == 0 && gen_sys.num_columns() == 0);
+    PPL_ASSERT(gen_sys.num_rows() == 0 && gen_sys.num_columns() == 0);
     return Generator_System::zero_dim_univ();
   }
 
@@ -147,7 +150,7 @@ PPL::Polyhedron::generators() const {
   if ((has_pending_constraints() && !process_pending_constraints())
       || (!generators_are_up_to_date() && !update_generators())) {
     // We have just discovered that `*this' is empty.
-    assert(gen_sys.has_no_rows());
+    PPL_ASSERT(gen_sys.has_no_rows());
     // We want `gen_sys' to have the appropriate space dimension,
     // even though it is an empty generator system.
     if (gen_sys.space_dimension() != space_dim) {
@@ -300,69 +303,65 @@ PPL::Polyhedron::relation_with(const Congruence& cg) const {
       && Poly_Con_Relation::is_included()
       && Poly_Con_Relation::is_disjoint();
 
-  // Find the equality corresponding to the congruence (ignoring the modulus).
-  Linear_Expression expr;
-  for (dimension_type i = cg_space_dim; i-- > 0; ) {
-    const Variable v(i);
-    expr += cg.coefficient(v) * v;
-  }
-  expr += cg.inhomogeneous_term();
+  // Build the equality corresponding to the congruence (ignoring the modulus).
+  Linear_Expression expr = Linear_Expression(cg);
   Constraint c(expr == 0);
 
   // The polyhedron is non-empty so that there exists a point.
-  // For an arbitrary generator point find the scalar product with
+  // For an arbitrary generator point, compute the scalar product with
   // the equality.
-  PPL_DIRTY_TEMP_COEFFICIENT(point_val);
-
-  for (Generator_System::const_iterator g = gen_sys.begin(),
-         gen_sys_end = gen_sys.end(); g != gen_sys_end; ++g) {
-    if (g->is_point()) {
-      Scalar_Products::assign(point_val, c, *g);
+  PPL_DIRTY_TEMP_COEFFICIENT(sp_point);
+  for (Generator_System::const_iterator gs_i = gen_sys.begin(),
+         gs_end = gen_sys.end(); gs_i != gs_end; ++gs_i) {
+    if (gs_i->is_point()) {
+      Scalar_Products::assign(sp_point, c, *gs_i);
+      expr -= sp_point;
       break;
     }
   }
 
-  // Find the 2 hyperplanes that satisfies the congruence and are
-  // nearest to the point such that the point lies on or between these
-  // hyperplanes.
-  // Then use the relations between the polyhedron and the corresponding
-  // half-spaces to determine its relation with the congruence.
-  const Coefficient& modulus = cg.modulus();
-
-  PPL_DIRTY_TEMP_COEFFICIENT(div);
-  div = modulus;
-
-  PPL_DIRTY_TEMP_COEFFICIENT(nearest);
-  nearest = (point_val / div) * div;
+  // Find two hyperplanes that satisfy the congruence and are near to
+  // the generating point (so that the point lies on or between these
+  // two hyperplanes).
+  // Then use the relations between the polyhedron and the halfspaces
+  // corresponding to the hyperplanes to determine the result.
 
-  point_val -= nearest;
-  expr -= nearest;
-  if (point_val == 0)
-     return relation_with(expr == 0);
+  // Compute the distance from the point to an hyperplane.
+  const Coefficient& modulus = cg.modulus();
+  PPL_DIRTY_TEMP_COEFFICIENT(signed_distance);
+  signed_distance = sp_point % modulus;
+  if (signed_distance == 0)
+    // The point is lying on the hyperplane.
+    return relation_with(expr == 0);
+  else
+    // The point is not lying on the hyperplane.
+    expr += signed_distance;
 
-  Linear_Expression next_expr;
-  if (point_val > 0) {
-     next_expr = expr - modulus;
-  }
-  else {
-    expr = - (expr);
-    next_expr = expr - modulus;
-  }
+  // Build first halfspace constraint.
+  const bool positive = (signed_distance > 0);
+  Constraint first_halfspace = positive ? (expr >= 0) : (expr <= 0);
 
-  Poly_Con_Relation relations = relation_with(expr >= 0);
-  assert(!relations.implies(Poly_Con_Relation::saturates())
-	 && !relations.implies(Poly_Con_Relation::is_disjoint()));
-  if (relations.implies(Poly_Con_Relation::strictly_intersects()))
+  Poly_Con_Relation first_rels = relation_with(first_halfspace);
+  PPL_ASSERT(!first_rels.implies(Poly_Con_Relation::saturates())
+	 && !first_rels.implies(Poly_Con_Relation::is_disjoint()));
+  if (first_rels.implies(Poly_Con_Relation::strictly_intersects()))
     return Poly_Con_Relation::strictly_intersects();
 
-  assert(relations == Poly_Con_Relation::is_included());
-  Poly_Con_Relation next_relations = relation_with(next_expr <= 0);
-  assert(!next_relations.implies(Poly_Con_Relation::saturates())
-	 && !next_relations.implies(Poly_Con_Relation::is_disjoint()));
-  if (next_relations.implies(Poly_Con_Relation::strictly_intersects()))
+  // Build second halfspace.
+  if (positive)
+    expr -= modulus;
+  else
+    expr += modulus;
+  Constraint second_halfspace = positive ? (expr <= 0) : (expr >= 0);
+
+  PPL_ASSERT(first_rels == Poly_Con_Relation::is_included());
+  Poly_Con_Relation second_rels = relation_with(second_halfspace);
+  PPL_ASSERT(!second_rels.implies(Poly_Con_Relation::saturates())
+	 && !second_rels.implies(Poly_Con_Relation::is_disjoint()));
+  if (second_rels.implies(Poly_Con_Relation::strictly_intersects()))
     return Poly_Con_Relation::strictly_intersects();
 
-  assert(next_relations == Poly_Con_Relation::is_included());
+  PPL_ASSERT(second_rels == Poly_Con_Relation::is_included());
   return Poly_Con_Relation::is_disjoint();
 }
 
@@ -383,7 +382,7 @@ PPL::Polyhedron::is_universe() const {
     return true;
   }
 
-  assert(!has_pending_constraints() && generators_are_up_to_date());
+  PPL_ASSERT(!has_pending_constraints() && generators_are_up_to_date());
 
   // Try a fast-fail test.
   dimension_type num_lines = 0;
@@ -404,12 +403,12 @@ PPL::Polyhedron::is_universe() const {
   if (has_pending_generators()) {
     // The non-pending part of `gen_sys' was minimized:
     // a success-first test is possible in this case.
-    assert(generators_are_minimized());
+    PPL_ASSERT(generators_are_minimized());
     if (num_lines == space_dim) {
-      assert(num_rays == 0);
+      PPL_ASSERT(num_rays == 0);
       return true;
     }
-    assert(num_lines < space_dim);
+    PPL_ASSERT(num_lines < space_dim);
     // Now scan the pending generators.
     dimension_type num_pending_lines = 0;
     dimension_type num_pending_rays = 0;
@@ -444,7 +443,7 @@ PPL::Polyhedron::is_universe() const {
     // There is nothing pending.
     if (generators_are_minimized()) {
       // The exact test is possible.
-      assert(num_rays == 0 || num_lines < space_dim);
+      PPL_ASSERT(num_rays == 0 || num_lines < space_dim);
       return num_lines == space_dim;
     }
     else
@@ -461,9 +460,9 @@ PPL::Polyhedron::is_universe() const {
   else if (!constraints_are_minimized())
     minimize();
   if (is_necessarily_closed())
-    return (con_sys.num_rows() == 1
-	    && con_sys[0].is_inequality()
-	    && con_sys[0].is_tautological());
+    return con_sys.num_rows() == 1
+      && con_sys[0].is_inequality()
+      && con_sys[0].is_tautological();
   else {
     // NNC polyhedron.
     if (con_sys.num_rows() != 2
@@ -480,10 +479,10 @@ PPL::Polyhedron::is_universe() const {
       const Constraint& eps_leq_one = con_sys[0];
       const Constraint& eps_geq_zero = con_sys[1];
       const dimension_type eps_index = con_sys.num_columns() - 1;
-      assert(eps_leq_one[0] > 0 && eps_leq_one[eps_index] < 0
+      PPL_ASSERT(eps_leq_one[0] > 0 && eps_leq_one[eps_index] < 0
 	     && eps_geq_zero[0] == 0 && eps_geq_zero[eps_index] > 0);
       for (dimension_type i = 1; i < eps_index; ++i)
-	assert(eps_leq_one[i] == 0 && eps_geq_zero[i] == 0);
+	PPL_ASSERT(eps_leq_one[i] == 0 && eps_geq_zero[i] == 0);
 #endif
       return true;
     }
@@ -522,7 +521,7 @@ PPL::Polyhedron::is_topologically_closed() const {
      return true;
 
   // At this point there are no pending constraints or generators.
-  assert(!has_something_pending());
+  PPL_ASSERT(!has_something_pending());
 
   if (generators_are_minimized()) {
     // A polyhedron is closed if and only if all of its (non-redundant)
@@ -574,7 +573,7 @@ PPL::Polyhedron::contains_integer_point() const {
 
   // FIXME: do also exploit info regarding rays and lines, if possible.
   // Is any integer point already available?
-  assert(!has_pending_constraints());
+  PPL_ASSERT(!has_pending_constraints());
   if (generators_are_up_to_date())
     for (dimension_type i = gen_sys.num_rows(); i-- > 0; )
       if (gen_sys[i].is_point() && gen_sys[i].divisor() == 1)
@@ -612,7 +611,7 @@ PPL::Polyhedron::contains_integer_point() const {
       if (homogeneous_gcd == 0) {
         // NOTE: since tautological constraints are already filtered away
         // by iterators, here we must have an inconsistent constraint.
-        assert(c.is_inconsistent());
+        PPL_ASSERT(c.is_inconsistent());
         return false;
       }
       Linear_Expression le;
@@ -644,7 +643,7 @@ PPL::Polyhedron::contains_integer_point() const {
         if (homogeneous_gcd == 0) {
           // NOTE: since tautological constraints are already filtered away
           // by iterators, here we must have an inconsistent constraint.
-          assert(c.is_inconsistent());
+          PPL_ASSERT(c.is_inconsistent());
           return false;
         }
 	else if (homogeneous_gcd == 1)
@@ -652,14 +651,14 @@ PPL::Polyhedron::contains_integer_point() const {
 	  // add the constraint as-is.
 	  mip.add_constraint(c);
 	else {
-	  assert(homogeneous_gcd > 1);
+	  PPL_ASSERT(homogeneous_gcd > 1);
 	  // Here the normalized inhomogeneous term is rational:
 	  // the constraint has to be tightened.
 #ifndef NDEBUG
 	  // `homogeneous_gcd' does not divide `inhomogeneous'.
 	  // FIXME: add a divisibility test for Coefficient.
 	  gcd_assign(gcd, homogeneous_gcd, inhomogeneous);
-	  assert(gcd == 1);
+	  PPL_ASSERT(gcd == 1);
 #endif
 	  if (c.type() == Constraint::EQUALITY)
 	    return false;
@@ -672,7 +671,7 @@ PPL::Polyhedron::contains_integer_point() const {
 	  assign_r(rational_inhomogeneous.get_den(),
 		   homogeneous_gcd, ROUND_NOT_NEEDED);
 	  // Note: canonicalization is not needed (as gcd == 1).
-	  assert(is_canonical(rational_inhomogeneous));
+	  PPL_ASSERT(is_canonical(rational_inhomogeneous));
 	  assign_r(tightened_inhomogeneous,
 		   rational_inhomogeneous, ROUND_DOWN);
 	  tightened_inhomogeneous *= homogeneous_gcd;
@@ -1290,7 +1289,7 @@ PPL::Polyhedron::add_congruence(const Congruence& cg) {
 			   "cg is a non-trivial, proper congruence");
   }
 
-  assert(cg.is_equality());
+  PPL_ASSERT(cg.is_equality());
   // Handle empty and 0-dim cases first.
   if (marked_empty())
     return;
@@ -1308,12 +1307,6 @@ PPL::Polyhedron::add_congruence(const Congruence& cg) {
   refine_no_check(c);
 }
 
-bool
-PPL::Polyhedron::add_constraint_and_minimize(const Constraint& c) {
-  Constraint_System cs(c);
-  return add_recycled_constraints_and_minimize(cs);
-}
-
 void
 PPL::Polyhedron::add_generator(const Generator& g) {
   // Topology-compatibility check.
@@ -1328,7 +1321,7 @@ PPL::Polyhedron::add_generator(const Generator& g) {
   // Dealing with a zero-dimensional space polyhedron first.
   if (space_dim == 0) {
     // It is not possible to create 0-dim rays or lines.
-    assert(g.is_point() || g.is_closure_point());
+    PPL_ASSERT(g.is_point() || g.is_closure_point());
     // Closure points can only be inserted in non-empty polyhedra.
     if (marked_empty()) {
       if (g.type() != Generator::POINT)
@@ -1336,7 +1329,7 @@ PPL::Polyhedron::add_generator(const Generator& g) {
       else
 	set_zero_dim_univ();
     }
-    assert(OK());
+    PPL_ASSERT_HEAVY(OK());
     return;
   }
 
@@ -1381,7 +1374,7 @@ PPL::Polyhedron::add_generator(const Generator& g) {
     set_generators_minimized();
   }
   else {
-    assert(generators_are_up_to_date());
+    PPL_ASSERT(generators_are_up_to_date());
     const bool has_pending = can_have_something_pending();
     if (g.is_necessarily_closed() || !is_necessarily_closed()) {
       // Since `gen_sys' is not empty, the topology and space dimension
@@ -1406,7 +1399,7 @@ PPL::Polyhedron::add_generator(const Generator& g) {
       }
     }
     else {
-      assert(!g.is_closure_point());
+      PPL_ASSERT(!g.is_closure_point());
       // Note: here we have a _legal_ topology mismatch, because
       // `g' is NOT a closure point.
       // However, by barely invoking `gen_sys.insert(g)' we would
@@ -1446,14 +1439,7 @@ PPL::Polyhedron::add_generator(const Generator& g) {
       clear_constraints_up_to_date();
     }
   }
-  assert(OK());
-}
-
-bool
-PPL::Polyhedron::add_generator_and_minimize(const Generator& g) {
-  // TODO: this is just an executable specification.
-  Generator_System gs(g);
-  return add_recycled_generators_and_minimize(gs);
+  PPL_ASSERT_HEAVY(OK());
 }
 
 void
@@ -1546,7 +1532,7 @@ PPL::Polyhedron::add_recycled_constraints(Constraint_System& cs) {
   }
   // Note: the constraint system may have become unsatisfiable, thus
   // we do not check for satisfiability.
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 void
@@ -1556,18 +1542,6 @@ PPL::Polyhedron::add_constraints(const Constraint_System& cs) {
   add_recycled_constraints(cs_copy);
 }
 
-bool
-PPL::Polyhedron::add_recycled_constraints_and_minimize(Constraint_System& cs) {
-  add_recycled_constraints(cs);
-  return minimize();
-}
-
-bool
-PPL::Polyhedron::add_constraints_and_minimize(const Constraint_System& cs) {
-  Constraint_System cs_copy = cs;
-  return add_recycled_constraints_and_minimize(cs_copy);
-}
-
 void
 PPL::Polyhedron::add_recycled_generators(Generator_System& gs) {
   // Topology compatibility check.
@@ -1589,7 +1563,7 @@ PPL::Polyhedron::add_recycled_generators(Generator_System& gs) {
     if (marked_empty() && !gs.has_points())
       throw_invalid_generators("add_recycled_generators(gs)", "gs");
     set_zero_dim_univ();
-    assert(OK(true));
+    PPL_ASSERT_HEAVY(OK(true));
     return;
   }
 
@@ -1620,7 +1594,7 @@ PPL::Polyhedron::add_recycled_generators(Generator_System& gs) {
     }
     set_generators_up_to_date();
     clear_empty();
-    assert(OK());
+    PPL_ASSERT_HEAVY(OK());
     return;
   }
 
@@ -1658,7 +1632,7 @@ PPL::Polyhedron::add_recycled_generators(Generator_System& gs) {
     clear_constraints_up_to_date();
     clear_generators_minimized();
   }
-  assert(OK(true));
+  PPL_ASSERT_HEAVY(OK(true));
 }
 
 void
@@ -1668,87 +1642,6 @@ PPL::Polyhedron::add_generators(const Generator_System& gs) {
   add_recycled_generators(gs_copy);
 }
 
-bool
-PPL::Polyhedron::add_recycled_generators_and_minimize(Generator_System& gs) {
-  // Topology compatibility check.
-  if (is_necessarily_closed() && gs.has_closure_points())
-    throw_topology_incompatible("add_recycled_generators_and_minimize(gs)",
-				"gs", gs);
-  // Dimension-compatibility check:
-  // the dimension of `gs' can not be greater than space_dim.
-  const dimension_type gs_space_dim = gs.space_dimension();
-  if (space_dim < gs_space_dim)
-    throw_dimension_incompatible("add_recycled_generators_and_minimize(gs)",
-				 "gs", gs);
-
-  // Adding no generators is equivalent to just requiring minimization.
-  if (gs.has_no_rows())
-    return minimize();
-
-  // Adding valid generators to a zero-dimensional polyhedron
-  // transform it in the zero-dimensional universe polyhedron.
-  if (space_dim == 0) {
-    if (marked_empty() && !gs.has_points())
-      throw_invalid_generators("add_recycled_generators_and_minimize(gs)",
-			       "gs");
-    set_zero_dim_univ();
-    assert(OK(true));
-    return true;
-  }
-
-  // Adjust `gs' to the right topology.
-  // NOTE: we already checked for topology compatibility;
-  // also, we do NOT adjust dimensions now, so that we will
-  // spend less time to sort rows.
-  gs.adjust_topology_and_space_dimension(topology(), gs_space_dim);
-
-  // For NNC polyhedra, each point must be matched by
-  // the corresponding closure point.
-  if (!is_necessarily_closed())
-    gs.add_corresponding_closure_points();
-
-  // `gs' has to be fully sorted, thus it cannot have pending rows.
-  if (gs.num_pending_rows() > 0) {
-    gs.unset_pending_rows();
-    gs.sort_rows();
-  }
-  else if (!gs.is_sorted())
-    gs.sort_rows();
-
-  // Now adjusting dimensions (topology already adjusted).
-  // NOTE: sortedness is preserved.
-  gs.adjust_topology_and_space_dimension(topology(), space_dim);
-
-  if (minimize()) {
-    obtain_sorted_generators_with_sat_g();
-    // This call to `add_and_minimize()' cannot return `false'.
-    add_and_minimize(false, gen_sys, con_sys, sat_g, gs);
-    clear_sat_c_up_to_date();
-  }
-  else {
-    // The polyhedron was empty: check if `gs' contains a point.
-    if (!gs.has_points())
-      throw_invalid_generators("add_recycled_generators_and_minimize(gs)",
-			       "gs");
-    // `gs' has a point: the polyhedron is no longer empty
-    // and generators are up-to-date.
-    std::swap(gen_sys, gs);
-    clear_empty();
-    set_generators_up_to_date();
-    // This call to `minimize()' cannot return `false'.
-    minimize();
-  }
-  assert(OK(true));
-  return true;
-}
-
-bool
-PPL::Polyhedron::add_generators_and_minimize(const Generator_System& gs) {
-  // TODO: this is just an executable specification.
-  Generator_System gs_copy = gs;
-  return add_recycled_generators_and_minimize(gs_copy);
-}
-
 void
 PPL::Polyhedron::add_congruences(const Congruence_System& cgs) {
   // Dimension-compatibility check.
@@ -1770,7 +1663,7 @@ PPL::Polyhedron::add_congruences(const Congruence_System& cgs) {
       inserted = true;
     }
     else {
-      assert(cg.is_proper_congruence());
+      PPL_ASSERT(cg.is_proper_congruence());
       if (cg.is_inconsistent()) {
         set_empty();
         return;
@@ -1898,7 +1791,7 @@ PPL::Polyhedron::refine_with_constraints(const Constraint_System& cs) {
 
   // Note: the constraint system may have become unsatisfiable, thus
   // we do not check for satisfiability.
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 void
@@ -1944,7 +1837,7 @@ PPL::Polyhedron::unconstrain(const Variable var) {
     // Empty: do nothing.
     return;
 
-  assert(generators_are_up_to_date());
+  PPL_ASSERT(generators_are_up_to_date());
   // Since `gen_sys' is not empty, the topology and space dimension
   // of the inserted generator are automatically adjusted.
   if (can_have_something_pending()) {
@@ -1958,19 +1851,19 @@ PPL::Polyhedron::unconstrain(const Variable var) {
     clear_generators_minimized();
     clear_constraints_up_to_date();
   }
-  assert(OK(true));
+  PPL_ASSERT_HEAVY(OK(true));
 }
 
 void
-PPL::Polyhedron::unconstrain(const Variables_Set& to_be_unconstrained) {
+PPL::Polyhedron::unconstrain(const Variables_Set& vars) {
   // The cylindrification wrt no dimensions is a no-op.
   // This case also captures the only legal cylindrification
   // of a polyhedron in a 0-dim space.
-  if (to_be_unconstrained.empty())
+  if (vars.empty())
     return;
 
   // Dimension-compatibility check.
-  const dimension_type min_space_dim = to_be_unconstrained.space_dimension();
+  const dimension_type min_space_dim = vars.space_dimension();
   if (space_dim < min_space_dim)
     throw_dimension_incompatible("unconstrain(vs)", min_space_dim);
 
@@ -1981,25 +1874,25 @@ PPL::Polyhedron::unconstrain(const Variables_Set& to_be_unconstrained) {
     // Empty: do nothing.
     return;
 
-  assert(generators_are_up_to_date());
+  PPL_ASSERT(generators_are_up_to_date());
   // Since `gen_sys' is not empty, the topology and space dimension
   // of the inserted generators are automatically adjusted.
-  Variables_Set::const_iterator tbu = to_be_unconstrained.begin();
-  Variables_Set::const_iterator tbu_end = to_be_unconstrained.end();
+  Variables_Set::const_iterator vsi = vars.begin();
+  Variables_Set::const_iterator vsi_end = vars.end();
   if (can_have_something_pending()) {
-    for ( ; tbu != tbu_end; ++tbu)
-      gen_sys.insert_pending(Generator::line(Variable(*tbu)));
+    for ( ; vsi != vsi_end; ++vsi)
+      gen_sys.insert_pending(Generator::line(Variable(*vsi)));
     set_generators_pending();
   }
   else {
-    for ( ; tbu != tbu_end; ++tbu)
-      gen_sys.insert(Generator::line(Variable(*tbu)));
+    for ( ; vsi != vsi_end; ++vsi)
+      gen_sys.insert(Generator::line(Variable(*vsi)));
     // After adding the new generators,
     // constraints are no longer up-to-date.
     clear_generators_minimized();
     clear_constraints_up_to_date();
   }
-  assert(OK(true));
+  PPL_ASSERT_HEAVY(OK(true));
 }
 
 void
@@ -2040,8 +1933,8 @@ PPL::Polyhedron::intersection_assign(const Polyhedron& y) {
 
   // Here both systems are up-to-date and possibly have pending constraints
   // (but they cannot have pending generators).
-  assert(!x.has_pending_generators() && x.constraints_are_up_to_date());
-  assert(!y.has_pending_generators() && y.constraints_are_up_to_date());
+  PPL_ASSERT(!x.has_pending_generators() && x.constraints_are_up_to_date());
+  PPL_ASSERT(!y.has_pending_generators() && y.constraints_are_up_to_date());
 
   // If `x' can support pending constraints,
   // the constraints of `y' are added as pending constraints of `x'.
@@ -2063,77 +1956,7 @@ PPL::Polyhedron::intersection_assign(const Polyhedron& y) {
     x.clear_generators_up_to_date();
     x.clear_constraints_minimized();
   }
-  assert(x.OK() && y.OK());
-}
-
-bool
-PPL::Polyhedron::intersection_assign_and_minimize(const Polyhedron& y) {
-  Polyhedron& x = *this;
-  // Topology compatibility check.
-  if (x.topology() != y.topology())
-    throw_topology_incompatible("intersection_assign_and_minimize(y)",
-				"y", y);
-  // Dimension-compatibility check.
-  if (x.space_dim != y.space_dim)
-    throw_dimension_incompatible("intersection_assign_and_minimize(y)",
-				 "y", y);
-
-  // If one of the two polyhedra is empty, the intersection is empty.
-  if (x.marked_empty())
-    return false;
-  if (y.marked_empty()) {
-    x.set_empty();
-    return false;
-  }
-
-  // If both polyhedra are zero-dimensional,
-  // then at this point they are necessarily non-empty,
-  // so that their intersection is non-empty too.
-  if (x.space_dim == 0)
-    return true;
-
-  // `x' must be minimized and have sorted constraints.
-  // `minimize()' will process any pending constraints or generators.
-  if (!x.minimize())
-    // We have just discovered that `x' is empty.
-    return false;
-  x.obtain_sorted_constraints_with_sat_c();
-
-  // `y' must have updated, possibly pending constraints.
-  if (y.has_pending_generators())
-    y.process_pending_generators();
-  else if (!y.constraints_are_up_to_date())
-    y.update_constraints();
-
-  bool empty;
-  if (y.con_sys.num_pending_rows() > 0) {
-    // Integrate `y.con_sys' as pending constraints of `x',
-    // sort them in place and then call `add_and_minimize()'.
-    x.con_sys.add_pending_rows(y.con_sys);
-    x.con_sys.sort_pending_and_remove_duplicates();
-    if (x.con_sys.num_pending_rows() == 0) {
-      // All pending constraints were duplicates.
-      x.clear_pending_constraints();
-      assert(OK(true));
-      return true;
-    }
-    empty = add_and_minimize(true, x.con_sys, x.gen_sys, x.sat_c);
-  }
-  else {
-    y.obtain_sorted_constraints();
-    empty = add_and_minimize(true, x.con_sys, x.gen_sys, x.sat_c, y.con_sys);
-  }
-
-  if (empty)
-    x.set_empty();
-  else {
-    // On exit of the function `intersection_assign_and_minimize()'
-    // the polyhedron is up-to-date and `sat_c' is meaningful.
-    x.set_sat_c_up_to_date();
-    x.clear_sat_g_up_to_date();
-  }
-  assert(x.OK(!empty));
-  return !empty;
+  PPL_ASSERT_HEAVY(x.OK() && y.OK());
 }
 
 namespace {
@@ -2154,7 +1977,7 @@ bool
 add_to_system_and_check_independence(PPL::Linear_System& eq_sys,
                                      const PPL::Linear_Row& eq) {
   // Check if equality eqn is linear independent from eq_sys.
-  assert(eq.is_line_or_equality());
+  PPL_ASSERT(eq.is_line_or_equality());
   eq_sys.insert(eq);
   const PPL::dimension_type eq_sys_num_rows = eq_sys.num_rows();
   const PPL::dimension_type rank = eq_sys.gauss(eq_sys_num_rows);
@@ -2163,7 +1986,7 @@ add_to_system_and_check_independence(PPL::Linear_System& eq_sys,
     return true;
   else {
     // eq is not linear independent.
-    assert(rank == eq_sys_num_rows - 1);
+    PPL_ASSERT(rank == eq_sys_num_rows - 1);
     eq_sys.erase_to_end(rank);
     return false;
   }
@@ -2183,10 +2006,10 @@ drop_redundant_inequalities(std::vector<const PPL::Constraint*>& p_ineqs,
                             const PPL::dimension_type rank) {
   using namespace Parma_Polyhedra_Library;
   const dimension_type num_rows = p_ineqs.size();
-  assert(num_rows > 0);
+  PPL_ASSERT(num_rows > 0);
   // `rank' is the rank of the (implicit) system of equalities.
   const dimension_type space_dim = p_ineqs[0]->space_dimension();
-  assert(space_dim > 0 && space_dim >= rank);
+  PPL_ASSERT(space_dim > 0 && space_dim >= rank);
   const dimension_type num_coefficients
     = space_dim + (topology == NECESSARILY_CLOSED ? 0 : 1);
   const dimension_type min_sat = num_coefficients - rank;
@@ -2257,7 +2080,7 @@ PPL::Polyhedron::simplify_using_context_assign(const Polyhedron& y) {
   // If `x' is empty, the intersection is empty.
   if (!x.minimize()) {
     // Search for a constraint of `y' that is not a tautology.
-    assert(!y.has_pending_generators() && y.constraints_are_up_to_date());
+    PPL_ASSERT(!y.has_pending_generators() && y.constraints_are_up_to_date());
     for (dimension_type i = y.con_sys.num_rows(); i-- > 0; ) {
       const Constraint& y_con_sys_i = y.con_sys[i];
       if (!y_con_sys_i.is_tautological()) {
@@ -2278,7 +2101,7 @@ PPL::Polyhedron::simplify_using_context_assign(const Polyhedron& y) {
           break;
         }
         swap(ph);
-        assert(OK());
+        PPL_ASSERT_HEAVY(OK());
 	return false;
       }
     }
@@ -2286,7 +2109,7 @@ PPL::Polyhedron::simplify_using_context_assign(const Polyhedron& y) {
     return false;
   }
 
-  assert(x.constraints_are_minimized()
+  PPL_ASSERT(x.constraints_are_minimized()
          && !x.has_something_pending()
          && y.generators_are_minimized()
          && !y.has_something_pending());
@@ -2452,16 +2275,16 @@ PPL::Polyhedron::simplify_using_context_assign(const Polyhedron& y) {
           Polyhedron result_ph(x.topology(), x.space_dim, UNIVERSE);
           result_ph.add_constraints(result_cs);
           x.swap(result_ph);
-          assert(x.OK());
+          PPL_ASSERT_HEAVY(x.OK());
           return false;
         }
       }
       // Cannot exit from here.
-      assert(false);
+      PPL_ASSERT(false);
     }
     else {
       // Here `z' is not empty and minimized.
-      assert(z.constraints_are_minimized()
+      PPL_ASSERT(z.constraints_are_minimized()
              && z.generators_are_minimized()
              && !z.has_something_pending());
       const Constraint_System& z_cs = z.con_sys;
@@ -2479,7 +2302,7 @@ PPL::Polyhedron::simplify_using_context_assign(const Polyhedron& y) {
       dimension_type z_cs_num_eq = 0;
       while (z_cs[z_cs_num_eq].is_equality())
         ++z_cs_num_eq;
-      assert(x_cs_num_eq <= z_cs_num_eq && y_cs_num_eq <= z_cs_num_eq);
+      PPL_ASSERT(x_cs_num_eq <= z_cs_num_eq && y_cs_num_eq <= z_cs_num_eq);
 
       // Identify non-redundant equalities.
       Constraint_System nonred_eq;
@@ -2507,9 +2330,9 @@ PPL::Polyhedron::simplify_using_context_assign(const Polyhedron& y) {
         // then we haven't found all the needed equalities yet:
         // this means that some inequalities from x actually holds
         // as "masked" equalities in the context of y.
-        assert(eqs.num_rows() <= z_cs_num_eq);
-        assert(num_nonred_eq <= needed_nonred_eq);
-        assert(z_cs_num_eq - eqs.num_rows()
+        PPL_ASSERT(eqs.num_rows() <= z_cs_num_eq);
+        PPL_ASSERT(num_nonred_eq <= needed_nonred_eq);
+        PPL_ASSERT(z_cs_num_eq - eqs.num_rows()
                == needed_nonred_eq - num_nonred_eq);
       }
 
@@ -2540,7 +2363,7 @@ PPL::Polyhedron::simplify_using_context_assign(const Polyhedron& y) {
           // `nonred_ineq_i' is actually masking an equality
           // and we are still looking for some masked inequalities.
           // Iteration goes downwards, so the inequality comes from x_cs.
-          assert(i >= y_cs_num_ineq);
+          PPL_ASSERT(i >= y_cs_num_ineq);
           // Check if the equality is independent in eqs.
           Linear_Row masked_eq = Linear_Row(nonred_ineq_i);
           masked_eq.set_is_line_or_equality();
@@ -2553,7 +2376,7 @@ PPL::Polyhedron::simplify_using_context_assign(const Polyhedron& y) {
         }
       }
       // Here we have already found all the needed (masked) equalities.
-      assert(num_nonred_eq == needed_nonred_eq);
+      PPL_ASSERT(num_nonred_eq == needed_nonred_eq);
 
       drop_redundant_inequalities(p_nonred_ineq, x.topology(),
                                   sat, z_cs_num_eq);
@@ -2571,7 +2394,7 @@ PPL::Polyhedron::simplify_using_context_assign(const Polyhedron& y) {
   Polyhedron result_ph(x.topology(), x.space_dim, UNIVERSE);
   result_ph.add_recycled_constraints(result_cs);
   x.swap(result_ph);
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
   return true;
 }
 
@@ -2614,8 +2437,8 @@ PPL::Polyhedron::poly_hull_assign(const Polyhedron& y) {
 
   // Here both systems are up-to-date and possibly have pending generators
   // (but they cannot have pending constraints).
-  assert(!x.has_pending_constraints() && x.generators_are_up_to_date());
-  assert(!y.has_pending_constraints() && y.generators_are_up_to_date());
+  PPL_ASSERT(!x.has_pending_constraints() && x.generators_are_up_to_date());
+  PPL_ASSERT(!y.has_pending_constraints() && y.generators_are_up_to_date());
 
   // If `x' can support pending generators,
   // the generators of `y' are added as pending generators of `x'.
@@ -2638,71 +2461,7 @@ PPL::Polyhedron::poly_hull_assign(const Polyhedron& y) {
     x.clear_generators_minimized();
   }
   // At this point both `x' and `y' are not empty.
-  assert(x.OK(true) && y.OK(true));
-}
-
-bool
-PPL::Polyhedron::poly_hull_assign_and_minimize(const Polyhedron& y) {
-  Polyhedron& x = *this;
-  // Topology compatibility check.
-  if (x.topology() != y.topology())
-    throw_topology_incompatible("poly_hull_assign_and_minimize(y)", "y", y);
-  // Dimension-compatibility check.
-  if (x.space_dim != y.space_dim)
-    throw_dimension_incompatible("poly_hull_assign_and_minimize(y)", "y", y);
-
-  // The poly-hull of a polyhedron `p' with an empty polyhedron is `p'.
-  if (y.marked_empty())
-    return minimize();
-  if (x.marked_empty()) {
-    x = y;
-    return minimize();
-  }
-
-  // If both polyhedra are zero-dimensional,
-  // then at this point they are necessarily universe polyhedra,
-  // so that their poly-hull is the universe polyhedron too.
-  if (x.space_dim == 0)
-    return true;
-
-  // `x' must have minimized constraints and generators.
-  // `minimize()' will process any pending constraints or generators.
-  if (!x.minimize()) {
-    // We have just discovered that `x' is empty.
-    x = y;
-    return minimize();
-  }
-  // x must have `sat_g' up-to-date and sorted generators.
-  x.obtain_sorted_generators_with_sat_g();
-
-  // `y' must have updated, possibly pending generators.
-  if ((y.has_pending_constraints() && !y.process_pending_constraints())
-      || (!y.generators_are_up_to_date() && !y.update_generators()))
-    // We have just discovered that `y' is empty
-    // (and we know that `x' is not empty).
-    return true;
-
-  if (y.gen_sys.num_pending_rows() > 0) {
-    // Integrate `y.gen_sys' as pending generators of `x',
-    // sort them in place and then call `add_and_minimize()'.
-    x.gen_sys.add_pending_rows(y.gen_sys);
-    x.gen_sys.sort_pending_and_remove_duplicates();
-    if (x.gen_sys.num_pending_rows() == 0) {
-      // All pending generators were duplicates.
-      x.clear_pending_generators();
-      assert(OK(true) && y.OK());
-      return true;
-    }
-    add_and_minimize(false, x.gen_sys, x.con_sys, x.sat_g);
-  }
-  else {
-    y.obtain_sorted_generators();
-    add_and_minimize(false, x.gen_sys, x.con_sys, x.sat_g, y.gen_sys);
-  }
-  x.clear_sat_c_up_to_date();
-
-  assert(x.OK(true) && y.OK());
-  return true;
+  PPL_ASSERT_HEAVY(x.OK(true) && y.OK(true));
 }
 
 void
@@ -2750,8 +2509,8 @@ PPL::Polyhedron::poly_difference_assign(const Polyhedron& y) {
   for (Constraint_System::const_iterator i = y_cs.begin(),
 	 y_cs_end = y_cs.end(); i != y_cs_end; ++i) {
     const Constraint& c = *i;
-    assert(!c.is_tautological());
-    assert(!c.is_inconsistent());
+    PPL_ASSERT(!c.is_tautological());
+    PPL_ASSERT(!c.is_inconsistent());
     // If the polyhedron `x' is included in the polyhedron defined by
     // `c', then `c' can be skipped, as adding its complement to `x'
     // would result in the empty polyhedron.  Moreover, if we operate
@@ -2789,7 +2548,7 @@ PPL::Polyhedron::poly_difference_assign(const Polyhedron& y) {
   }
   *this = new_polyhedron;
 
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 void
@@ -2868,7 +2627,7 @@ affine_image(const Variable var,
       clear_sat_g_up_to_date();
     }
   }
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 
@@ -2945,7 +2704,7 @@ affine_preimage(const Variable var,
     clear_sat_c_up_to_date();
     clear_sat_g_up_to_date();
   }
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 void
@@ -3020,7 +2779,7 @@ bounded_affine_image(const Variable var,
     // Remove the temporarily added dimension.
     remove_higher_space_dimensions(space_dim-1);
   }
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 void
@@ -3093,7 +2852,7 @@ bounded_affine_preimage(const Variable var,
     // Remove the temporarily added dimension.
     remove_higher_space_dimensions(space_dim-1);
   }
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 void
@@ -3152,7 +2911,7 @@ generalized_affine_image(const Variable var,
   case GREATER_THAN:
     {
       // The relation symbol is strict.
-      assert(!is_necessarily_closed());
+      PPL_ASSERT(!is_necessarily_closed());
       // While adding the ray, we minimize the generators
       // in order to avoid adding too many redundant generators later.
       add_generator(ray(relsym == GREATER_THAN ? var : -var));
@@ -3186,7 +2945,7 @@ generalized_affine_image(const Variable var,
     // The EQUAL and NOT_EQUAL cases have been already dealt with.
     throw std::runtime_error("PPL internal error");
   }
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 void
@@ -3288,7 +3047,7 @@ generalized_affine_preimage(const Variable var,
     throw std::runtime_error("PPL internal error");
   }
   unconstrain(var);
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 void
@@ -3442,7 +3201,7 @@ PPL::Polyhedron::generalized_affine_image(const Linear_Expression& lhs,
       throw std::runtime_error("PPL internal error");
     }
   }
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 void
@@ -3575,7 +3334,7 @@ PPL::Polyhedron::generalized_affine_preimage(const Linear_Expression& lhs,
     // Existentially quantify all the variables occurring in `lhs'.
     add_recycled_generators(new_lines);
   }
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 void
@@ -3696,7 +3455,94 @@ PPL::Polyhedron::time_elapse_assign(const Polyhedron& y) {
     x.clear_constraints_up_to_date();
     x.clear_generators_minimized();
   }
-  assert(x.OK(true) && y.OK(true));
+  PPL_ASSERT_HEAVY(x.OK(true) && y.OK(true));
+}
+
+bool
+PPL::Polyhedron::frequency(const Linear_Expression& expr,
+                           Coefficient& freq_n, Coefficient& freq_d,
+                           Coefficient& val_n, Coefficient& val_d) const {
+  // The dimension of `expr' must be at most the dimension of *this.
+  if (space_dim < expr.space_dimension())
+    throw_dimension_incompatible("frequency(e, ...)", "e", expr);
+
+  // If the `expr' has a constant value, then the frequency
+  // `freq_n' is 0. Otherwise the values for \p expr are not discrete
+  // and we return false.
+
+  // Space dimension = 0: if empty, then return false;
+  // otherwise the frequency is 1 and the value is 0
+  if (space_dim == 0) {
+    if (is_empty())
+      return false;
+    freq_n = 0;
+    freq_d = 1;
+    val_n = expr.inhomogeneous_term();
+    val_d = 1;
+    return true;
+  }
+
+  // For an empty polyhedron, we simply return false.
+  if (marked_empty()
+      || (has_pending_constraints() && !process_pending_constraints())
+      || (!generators_are_up_to_date() && !update_generators()))
+    return false;
+
+  // The polyhedron has updated, possibly pending generators.
+  // The following loop will iterate through the generator
+  // to see if `expr' has a constant value.
+  PPL_DIRTY_TEMP0(mpq_class, value);
+
+  // True if we have no other candidate value to compare with.
+  bool first_candidate = true;
+
+  PPL_DIRTY_TEMP_COEFFICIENT(sp);
+  PPL_DIRTY_TEMP0(mpq_class, candidate);
+  for (dimension_type i = gen_sys.num_rows(); i-- > 0; ) {
+    const Generator& gen_sys_i = gen_sys[i];
+    Scalar_Products::homogeneous_assign(sp, expr, gen_sys_i);
+    // Lines and rays in `*this' can cause `expr' to be non-constant.
+    if (gen_sys_i.is_line_or_ray()) {
+      const int sp_sign = sgn(sp);
+      if (sp_sign != 0)
+	// `expr' is unbounded in `*this'.
+	return false;
+    }
+    else {
+      // We have a point or a closure point.
+      assert(gen_sys_i.is_point() || gen_sys_i.is_closure_point());
+      // Notice that we are ignoring the constant term in `expr' here.
+      // We will add it to the value if there is a constant value.
+      assign_r(candidate.get_num(), sp, ROUND_NOT_NEEDED);
+      assign_r(candidate.get_den(), gen_sys_i[0], ROUND_NOT_NEEDED);
+      candidate.canonicalize();
+      if (first_candidate) {
+	// We have a (new) candidate value.
+	first_candidate = false;
+	value = candidate;
+      }
+      else if (candidate != value)
+        return false;
+    }
+  }
+
+  // Add in the constant term in `expr'.
+  PPL_DIRTY_TEMP0(mpz_class, n);
+  assign_r(n, expr.inhomogeneous_term(), ROUND_NOT_NEEDED);
+  value += n;
+  // FIXME: avoid these temporaries, if possible.
+  // This can be done adding an `assign' function working on native
+  // and checked or an operator= that have on one side a checked and
+  // on the other a native or checked.
+  // The reason why now we can't use operator= is the fact that we
+  // still can have Coefficient defined to mpz_class (and not
+  // Checked_Number<mpz_class>).
+  val_n = Coefficient(value.get_num());
+  val_d = Coefficient(value.get_den());
+
+  freq_n = 0;
+  freq_d = 1;
+  return true;
 }
 
 void
@@ -3744,7 +3590,7 @@ PPL::Polyhedron::topological_closure_assign() {
   }
   else {
     // Here we use generators, possibly keeping constraints.
-    assert(generators_are_up_to_date());
+    PPL_ASSERT(generators_are_up_to_date());
     // Add the corresponding point to each closure point.
     gen_sys.add_corresponding_points();
     if (can_have_something_pending())
@@ -3759,7 +3605,7 @@ PPL::Polyhedron::topological_closure_assign() {
       clear_generators_minimized();
     }
   }
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 /*! \relates Parma_Polyhedra_Library::Polyhedron */
@@ -3893,7 +3739,7 @@ PPL::Polyhedron::ascii_load(std::istream& s) {
     return false;
 
   // Check invariants.
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
   return true;
 }
 
@@ -3906,6 +3752,26 @@ PPL::Polyhedron::external_memory_in_bytes() const {
     + sat_g.external_memory_in_bytes();
 }
 
+void
+PPL::Polyhedron::wrap_assign(const Variables_Set& vars,
+                             Bounded_Integer_Type_Width w,
+                             Bounded_Integer_Type_Representation r,
+                             Bounded_Integer_Type_Overflow o,
+                             const Constraint_System* pcs,
+                             unsigned complexity_threshold,
+                             bool wrap_individually) {
+  if (is_necessarily_closed())
+    Implementation::wrap_assign(static_cast<C_Polyhedron&>(*this),
+                                vars, w, r, o, pcs,
+                                complexity_threshold, wrap_individually,
+                                "C_Polyhedron");
+  else
+    Implementation::wrap_assign(static_cast<NNC_Polyhedron&>(*this),
+                                vars, w, r, o, pcs,
+                                complexity_threshold, wrap_individually,
+                                "NNC_Polyhedron");
+}
+
 /*! \relates Parma_Polyhedra_Library::Polyhedron */
 std::ostream&
 PPL::IO_Operators::operator<<(std::ostream& s, const Polyhedron& ph) {
diff --git a/src/Polyhedron_widenings.cc b/src/Polyhedron_widenings.cc
index b53fb18..716886b 100644
--- a/src/Polyhedron_widenings.cc
+++ b/src/Polyhedron_widenings.cc
@@ -1,6 +1,6 @@
 /* Polyhedron class implementation
    (non-inline widening-related member functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -27,7 +27,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "BHRZ03_Certificate.defs.hh"
 #include "Rational_Box.hh"
 #include "Scalar_Products.defs.hh"
-#include <cassert>
+#include "assert.hh"
 #include <iostream>
 #include <stdexcept>
 #include <deque>
@@ -39,13 +39,13 @@ PPL::Polyhedron
 ::select_CH78_constraints(const Polyhedron& y,
 			  Constraint_System& cs_selection) const {
   // Private method: the caller must ensure the following conditions.
-  assert(topology() == y.topology()
+  PPL_ASSERT(topology() == y.topology()
 	 && topology() == cs_selection.topology()
 	 && space_dim == y.space_dim);
-  assert(!marked_empty()
+  PPL_ASSERT(!marked_empty()
 	 && !has_pending_constraints()
 	 && generators_are_up_to_date());
-  assert(!y.marked_empty()
+  PPL_ASSERT(!y.marked_empty()
 	 && !y.has_something_pending()
 	 && y.constraints_are_minimized());
 
@@ -68,14 +68,14 @@ PPL::Polyhedron
 			 Constraint_System& cs_not_selected) const {
   // Private method: the caller must ensure the following conditions
   // (beside the inclusion `y <= x').
-  assert(topology() == y.topology()
+  PPL_ASSERT(topology() == y.topology()
 	 && topology() == cs_selected.topology()
 	 && topology() == cs_not_selected.topology());
-  assert(space_dim == y.space_dim);
-  assert(!marked_empty()
+  PPL_ASSERT(space_dim == y.space_dim);
+  PPL_ASSERT(!marked_empty()
 	 && !has_pending_generators()
 	 && constraints_are_up_to_date());
-  assert(!y.marked_empty()
+  PPL_ASSERT(!y.marked_empty()
 	 && !y.has_something_pending()
 	 && y.constraints_are_minimized()
 	 && y.generators_are_up_to_date());
@@ -136,7 +136,7 @@ PPL::Polyhedron
     for (dimension_type j = y.gen_sys.num_rows(); j-- > 0; ) {
       const int sp_sgn = Scalar_Products::sign(ci, y.gen_sys[j]);
       // We are assuming that `y <= x'.
-      assert(sp_sgn >= 0
+      PPL_ASSERT(sp_sgn >= 0
 	     || (!is_necessarily_closed()
 		 && ci.is_strict_inequality()
 		 && y.gen_sys[j].is_point()));
@@ -168,7 +168,7 @@ PPL::Polyhedron::H79_widening_assign(const Polyhedron& y, unsigned* tp) {
     // We assume that y is contained in or equal to x.
     const Polyhedron x_copy = x;
     const Polyhedron y_copy = y;
-    assert(x_copy.contains(y_copy));
+    PPL_ASSERT_HEAVY(x_copy.contains(y_copy));
   }
 #endif
 
@@ -231,7 +231,7 @@ PPL::Polyhedron::H79_widening_assign(const Polyhedron& y, unsigned* tp) {
       else
 	// No tokens.
 	std::swap(x, CH78);
-      assert(x.OK(true));
+      PPL_ASSERT_HEAVY(x.OK(true));
       return;
     }
   }
@@ -279,7 +279,7 @@ PPL::Polyhedron::H79_widening_assign(const Polyhedron& y, unsigned* tp) {
     else
       // No tokens.
       std::swap(x, H79);
-    assert(x.OK(true));
+    PPL_ASSERT_HEAVY(x.OK(true));
   }
 }
 
@@ -324,7 +324,7 @@ PPL::Polyhedron::limited_H79_extrapolation_assign(const Polyhedron& y,
     // We assume that y is contained in or equal to x.
     const Polyhedron x_copy = x;
     const Polyhedron y_copy = y;
-    assert(x_copy.contains(y_copy));
+    PPL_ASSERT_HEAVY(x_copy.contains(y_copy));
   }
 #endif
 
@@ -364,7 +364,7 @@ PPL::Polyhedron::limited_H79_extrapolation_assign(const Polyhedron& y,
   }
   x.H79_widening_assign(y, tp);
   x.add_recycled_constraints(new_cs);
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 void
@@ -387,17 +387,17 @@ PPL::Polyhedron
 			       const Constraint_System& x_minus_H79_cs) {
   Polyhedron& x = *this;
   // It is assumed that `y <= x <= H79'.
-  assert(x.topology() == y.topology()
+  PPL_ASSERT(x.topology() == y.topology()
 	 && x.topology() == H79.topology()
 	 && x.topology() == x_minus_H79_cs.topology());
-  assert(x.space_dim == y.space_dim
+  PPL_ASSERT(x.space_dim == y.space_dim
 	 && x.space_dim == H79.space_dim
 	 && x.space_dim == x_minus_H79_cs.space_dimension());
-  assert(!x.marked_empty() && !x.has_something_pending()
+  PPL_ASSERT(!x.marked_empty() && !x.has_something_pending()
 	 && x.constraints_are_minimized() && x.generators_are_minimized());
-  assert(!y.marked_empty() && !y.has_something_pending()
+  PPL_ASSERT(!y.marked_empty() && !y.has_something_pending()
 	 && y.constraints_are_minimized() && y.generators_are_minimized());
-  assert(!H79.marked_empty() && !H79.has_something_pending()
+  PPL_ASSERT(!H79.marked_empty() && !H79.has_something_pending()
 	 && H79.constraints_are_minimized() && H79.generators_are_minimized());
 
   // We will choose from `x_minus_H79_cs' many subsets of constraints,
@@ -494,7 +494,7 @@ PPL::Polyhedron
   if (y_cert.is_stabilizing(result) && !result.contains(H79)) {
     // The technique was successful.
     std::swap(x, result);
-    assert(x.OK(true));
+    PPL_ASSERT_HEAVY(x.OK(true));
     return true;
   }
   else
@@ -508,15 +508,15 @@ PPL::Polyhedron::BHRZ03_evolving_points(const Polyhedron& y,
 					const Polyhedron& H79) {
   Polyhedron& x = *this;
   // It is assumed that `y <= x <= H79'.
-  assert(x.topology() == y.topology()
+  PPL_ASSERT(x.topology() == y.topology()
 	 && x.topology() == H79.topology());
-  assert(x.space_dim == y.space_dim
+  PPL_ASSERT(x.space_dim == y.space_dim
 	 && x.space_dim == H79.space_dim);
-  assert(!x.marked_empty() && !x.has_something_pending()
+  PPL_ASSERT(!x.marked_empty() && !x.has_something_pending()
 	 && x.constraints_are_minimized() && x.generators_are_minimized());
-  assert(!y.marked_empty() && !y.has_something_pending()
+  PPL_ASSERT(!y.marked_empty() && !y.has_something_pending()
 	 && y.constraints_are_minimized() && y.generators_are_minimized());
-  assert(!H79.marked_empty() && !H79.has_something_pending()
+  PPL_ASSERT(!H79.marked_empty() && !H79.has_something_pending()
 	 && H79.constraints_are_minimized() && H79.generators_are_minimized());
 
   // For each point in `x.gen_sys' that is not in `y',
@@ -543,7 +543,7 @@ PPL::Polyhedron::BHRZ03_evolving_points(const Polyhedron& y,
 	const Generator& g2 = y.gen_sys[j];
 	if ((g2.is_point() && closed)
 	    || (g2.is_closure_point() && !closed)) {
-	  assert(compare(g1, g2) != 0);
+	  PPL_ASSERT(compare(g1, g2) != 0);
 	  Generator ray_from_g2_to_g1 = g1;
 	  ray_from_g2_to_g1.linear_combine(g2, 0);
 	  candidate_rays.insert(ray_from_g2_to_g1);
@@ -564,7 +564,7 @@ PPL::Polyhedron::BHRZ03_evolving_points(const Polyhedron& y,
   if (y_cert.is_stabilizing(result) && !result.contains(H79)) {
     // The technique was successful.
     std::swap(x, result);
-    assert(x.OK(true));
+    PPL_ASSERT_HEAVY(x.OK(true));
     return true;
   }
   else
@@ -578,15 +578,15 @@ PPL::Polyhedron::BHRZ03_evolving_rays(const Polyhedron& y,
 				      const Polyhedron& H79) {
   Polyhedron& x = *this;
   // It is assumed that `y <= x <= H79'.
-  assert(x.topology() == y.topology()
+  PPL_ASSERT(x.topology() == y.topology()
 	 && x.topology() == H79.topology());
-  assert(x.space_dim == y.space_dim
+  PPL_ASSERT(x.space_dim == y.space_dim
 	 && x.space_dim == H79.space_dim);
-  assert(!x.marked_empty() && !x.has_something_pending()
+  PPL_ASSERT(!x.marked_empty() && !x.has_something_pending()
 	 && x.constraints_are_minimized() && x.generators_are_minimized());
-  assert(!y.marked_empty() && !y.has_something_pending()
+  PPL_ASSERT(!y.marked_empty() && !y.has_something_pending()
 	 && y.constraints_are_minimized() && y.generators_are_minimized());
-  assert(!H79.marked_empty() && !H79.has_something_pending()
+  PPL_ASSERT(!H79.marked_empty() && !H79.has_something_pending()
 	 && H79.constraints_are_minimized() && H79.generators_are_minimized());
 
   const dimension_type x_gen_sys_num_rows = x.gen_sys.num_rows();
@@ -653,7 +653,7 @@ PPL::Polyhedron::BHRZ03_evolving_rays(const Polyhedron& y,
   if (y_cert.is_stabilizing(result) && !result.contains(H79)) {
     // The technique was successful.
     std::swap(x, result);
-    assert(x.OK(true));
+    PPL_ASSERT_HEAVY(x.OK(true));
     return true;
   }
   else
@@ -676,7 +676,7 @@ PPL::Polyhedron::BHRZ03_widening_assign(const Polyhedron& y, unsigned* tp) {
     // We assume that y is contained in or equal to x.
     const Polyhedron x_copy = x;
     const Polyhedron y_copy = y;
-    assert(x_copy.contains(y_copy));
+    PPL_ASSERT_HEAVY(x_copy.contains(y_copy));
   }
 #endif
 
@@ -699,7 +699,7 @@ PPL::Polyhedron::BHRZ03_widening_assign(const Polyhedron& y, unsigned* tp) {
   // At this point, also check if the two polyhedra are the same
   // (exploiting the knowledge that `y <= x').
   if (y_cert.is_stabilizing(x) || y.contains(x)) {
-    assert(OK());
+    PPL_ASSERT_HEAVY(OK());
     return;
   }
 
@@ -708,7 +708,7 @@ PPL::Polyhedron::BHRZ03_widening_assign(const Polyhedron& y, unsigned* tp) {
   // there are tokens available, use one of them and return `x'.
   if (tp != 0 && *tp > 0) {
     --(*tp);
-    assert(OK());
+    PPL_ASSERT_HEAVY(OK());
     return;
   }
 
@@ -722,7 +722,7 @@ PPL::Polyhedron::BHRZ03_widening_assign(const Polyhedron& y, unsigned* tp) {
 
   // We cannot have selected all of the rows, since otherwise
   // the iteration should have been immediately stabilizing.
-  assert(!x_minus_H79_cs.has_no_rows());
+  PPL_ASSERT(!x_minus_H79_cs.has_no_rows());
   // Be careful to obtain the right space dimension
   // (because `H79_cs' may be empty).
   Polyhedron H79(topol, x.space_dim, UNIVERSE);
@@ -735,25 +735,25 @@ PPL::Polyhedron::BHRZ03_widening_assign(const Polyhedron& y, unsigned* tp) {
   if (x.BHRZ03_combining_constraints(y, y_cert, H79, x_minus_H79_cs))
     return;
 
-  assert(H79.OK() && x.OK() && y.OK());
+  PPL_ASSERT_HEAVY(H79.OK() && x.OK() && y.OK());
 
   if (x.BHRZ03_evolving_points(y, y_cert, H79))
     return;
 
-  assert(H79.OK() && x.OK() && y.OK());
+  PPL_ASSERT_HEAVY(H79.OK() && x.OK() && y.OK());
 
   if (x.BHRZ03_evolving_rays(y, y_cert, H79))
     return;
 
-  assert(H79.OK() && x.OK() && y.OK());
+  PPL_ASSERT_HEAVY(H79.OK() && x.OK() && y.OK());
 
   // No previous technique was successful: fall back to the H79 widening.
   std::swap(x, H79);
-  assert(x.OK(true));
+  PPL_ASSERT_HEAVY(x.OK(true));
 
 #ifndef NDEBUG
   // The H79 widening is always stabilizing.
-  assert(y_cert.is_stabilizing(x));
+  PPL_ASSERT(y_cert.is_stabilizing(x));
 #endif
 }
 
@@ -798,7 +798,7 @@ PPL::Polyhedron
     // We assume that y is contained in or equal to x.
     const Polyhedron x_copy = x;
     const Polyhedron y_copy = y;
-    assert(x_copy.contains(y_copy));
+    PPL_ASSERT_HEAVY(x_copy.contains(y_copy));
   }
 #endif
 
@@ -838,7 +838,7 @@ PPL::Polyhedron
   }
   x.BHRZ03_widening_assign(y, tp);
   x.add_recycled_constraints(new_cs);
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 void
diff --git a/src/Powerset.defs.hh b/src/Powerset.defs.hh
index c4bbe3d..6eb3e67 100644
--- a/src/Powerset.defs.hh
+++ b/src/Powerset.defs.hh
@@ -1,5 +1,5 @@
 /* Powerset class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Powerset.inlines.hh b/src/Powerset.inlines.hh
index 742c743..6ed4f3e 100644
--- a/src/Powerset.inlines.hh
+++ b/src/Powerset.inlines.hh
@@ -1,5 +1,5 @@
 /* Powerset class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -24,7 +24,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #define PPL_Powerset_inlines_hh 1
 
 #include <algorithm>
-#include <cassert>
+#include "assert.hh"
 
 namespace Parma_Polyhedra_Library {
 
@@ -138,7 +138,7 @@ inline
 Powerset<D>::Powerset(const D& d)
   : sequence(), reduced(false) {
   sequence.push_back(d);
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 template <typename D>
diff --git a/src/Powerset.templates.hh b/src/Powerset.templates.hh
index 7f6d969..110a656 100644
--- a/src/Powerset.templates.hh
+++ b/src/Powerset.templates.hh
@@ -1,5 +1,5 @@
 /* Powerset class implementation: non-inline template functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -25,7 +25,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 #include "globals.defs.hh"
 #include <algorithm>
-#include <cassert>
+#include "assert.hh"
 #include <iostream>
 
 namespace Parma_Polyhedra_Library {
@@ -33,7 +33,7 @@ namespace Parma_Polyhedra_Library {
 template <typename D>
 void
 Powerset<D>::collapse(const Sequence_iterator sink) {
-  assert(sink != sequence.end());
+  PPL_ASSERT(sink != sequence.end());
   D& d = *sink;
   iterator x_sink = sink;
   iterator next_x_sink = x_sink;
@@ -51,7 +51,7 @@ Powerset<D>::collapse(const Sequence_iterator sink) {
     else
       ++xi;
 
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 template <typename D>
@@ -96,13 +96,13 @@ Powerset<D>::omega_reduce() const {
     }
   }
   reduced = true;
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 template <typename D>
 void
 Powerset<D>::collapse(const unsigned max_disjuncts) {
-  assert(max_disjuncts > 0);
+  PPL_ASSERT(max_disjuncts > 0);
   // Omega-reduce before counting the number of disjuncts.
   omega_reduce();
   size_type n = size();
@@ -114,8 +114,8 @@ Powerset<D>::collapse(const unsigned max_disjuncts) {
     // all the disjuncts that follow.
     collapse(i.base);
   }
-  assert(OK());
-  assert(is_omega_reduced());
+  PPL_ASSERT_HEAVY(OK());
+  PPL_ASSERT(is_omega_reduced());
 }
 
 template <typename D>
@@ -150,7 +150,7 @@ typename Powerset<D>::iterator
 Powerset<D>::add_non_bottom_disjunct_preserve_reduction(const D& d,
 							iterator first,
 							iterator last) {
-  assert(!d.is_bottom());
+  PPL_ASSERT_HEAVY(!d.is_bottom());
   for (iterator xi = first; xi != last; ) {
     const D& xv = *xi;
     if (d.definitely_entails(xv))
@@ -164,7 +164,7 @@ Powerset<D>::add_non_bottom_disjunct_preserve_reduction(const D& d,
       ++xi;
   }
   sequence.push_back(d);
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
   return first;
 }
 
@@ -226,7 +226,7 @@ Powerset<D>::pairwise_apply_assign(const Powerset& y,
   // Put the new sequence in place.
   std::swap(sequence, new_sequence);
   reduced = false;
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 template <typename D>
@@ -241,7 +241,7 @@ Powerset<D>::least_upper_bound_assign(const Powerset& y) {
     old_begin = add_non_bottom_disjunct_preserve_reduction(*i,
 							   old_begin,
 							   old_end);
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 namespace IO_Operators {
diff --git a/src/Powerset.types.hh b/src/Powerset.types.hh
index 3879faf..ea23238 100644
--- a/src/Powerset.types.hh
+++ b/src/Powerset.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Ptr_Iterator.defs.hh b/src/Ptr_Iterator.defs.hh
index bed9b7f..608188a 100644
--- a/src/Ptr_Iterator.defs.hh
+++ b/src/Ptr_Iterator.defs.hh
@@ -1,5 +1,5 @@
 /* Ptr_Iterator class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -82,7 +82,7 @@ public:
   explicit Ptr_Iterator(const P& q);
 
   /*! \brief
-    Copy-constructor allowing the construction of a const_iterator
+    Copy constructor allowing the construction of a const_iterator
     from a non-const iterator.
   */
   template<typename Q>
diff --git a/src/Ptr_Iterator.inlines.hh b/src/Ptr_Iterator.inlines.hh
index 9a0b3a9..f5e321a 100644
--- a/src/Ptr_Iterator.inlines.hh
+++ b/src/Ptr_Iterator.inlines.hh
@@ -1,5 +1,5 @@
 /* Ptr_Iterator class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -24,7 +24,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #define PPL_Ptr_Iterator_inlines_hh 1
 
 #include <algorithm>
-#include <cassert>
+#include "assert.hh"
 
 namespace Parma_Polyhedra_Library {
 
diff --git a/src/Ptr_Iterator.types.hh b/src/Ptr_Iterator.types.hh
index 96afe37..245c98d 100644
--- a/src/Ptr_Iterator.types.hh
+++ b/src/Ptr_Iterator.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Rational_Box.hh b/src/Rational_Box.hh
index a74a5a8..8549c84 100644
--- a/src/Rational_Box.hh
+++ b/src/Rational_Box.hh
@@ -1,5 +1,5 @@
 /* Rational_Box class declaration and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Rational_Interval.hh b/src/Rational_Interval.hh
index e8de7e7..8e85ff7 100644
--- a/src/Rational_Interval.hh
+++ b/src/Rational_Interval.hh
@@ -1,5 +1,5 @@
 /* Rational_Interval class declaration and implementation.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -37,7 +37,6 @@ struct Rational_Interval_Info_Policy {
   const_int_nodef(next_bit, 0);
   const_bool_nodef(may_be_empty, true);
   const_bool_nodef(may_contain_infinity, false);
-  const_bool_nodef(check_empty_result, false);
   const_bool_nodef(check_inexact, false);
 };
 
diff --git a/src/Result.defs.hh b/src/Result.defs.hh
index 9d8eb8c..627f891 100644
--- a/src/Result.defs.hh
+++ b/src/Result.defs.hh
@@ -1,5 +1,5 @@
 /* Result enum and supporting function declarations.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -25,93 +25,145 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace Parma_Polyhedra_Library {
 
+enum Result_Class {
+  //! \hideinitializer Representable number result class.
+  VC_NORMAL = 0 << 4,
+
+  //! \hideinitializer Negative infinity result class.
+  VC_MINUS_INFINITY = 1 << 4,
+
+  //! \hideinitializer Positive infinity result class.
+  VC_PLUS_INFINITY = 2 << 4,
+
+  //! \hideinitializer Not a number result class.
+  VC_NAN = 3 << 4,
+
+  VC_MASK = VC_NAN
+};
+
+// This must be kept in sync with Relation_Symbol
+enum Result_Relation {
+  //! \hideinitializer No values satisfies the relation.
+  VR_EMPTY = 0,
+
+  //! \hideinitializer Equal. This need to be accompanied by a value.
+  VR_EQ = 1,
+
+  //! \hideinitializer Less than. This need to be accompanied by a value.
+  VR_LT = 2,
+
+  //! \hideinitializer Greater than. This need to be accompanied by a value.
+  VR_GT = 4,
+
+  //! \hideinitializer Not equal. This need to be accompanied by a value.
+  VR_NE = VR_LT | VR_GT,
+
+  //! \hideinitializer Less or equal. This need to be accompanied by a value.
+  VR_LE = VR_EQ | VR_LT,
+
+  //! \hideinitializer Greater or equal. This need to be accompanied by a value.
+  VR_GE = VR_EQ | VR_GT,
+
+  //! \hideinitializer All values satisfy the relation.
+  VR_LGE = VR_LT | VR_EQ | VR_GT,
+
+  VR_MASK = VR_LGE
+};
+
 //! Possible outcomes of a checked arithmetic computation.
 /*! \ingroup PPL_CXX_interface */
 enum Result {
+  //! \hideinitializer The exact result is not comparable.
+  V_EMPTY = VR_EMPTY,
 
-  //! \hideinitializer Ordinary result class.
-  VC_NORMAL = 0,
+  //! \hideinitializer The computed result is exact.
+  V_EQ = VR_EQ,
 
   //! \hideinitializer The computed result is inexact and rounded up.
-  V_LT = 1,
+  V_LT = VR_LT,
 
   //! \hideinitializer The computed result is inexact and rounded down.
-  V_GT = 2,
-
-  //! \hideinitializer The computed result is exact.
-  V_EQ = 4,
+  V_GT = VR_GT,
 
   //! \hideinitializer The computed result is inexact.
-  V_NE = V_LT | V_GT,
+  V_NE = VR_NE,
 
   //! \hideinitializer The computed result may be inexact and rounded up.
-  V_LE = V_EQ | V_LT,
+  V_LE = VR_LE,
 
   //! \hideinitializer The computed result may be inexact and rounded down.
-  V_GE = V_EQ | V_GT,
+  V_GE = VR_GE,
 
   //! \hideinitializer The computed result may be inexact.
-  V_LGE = V_LT | V_EQ | V_GT,
+  V_LGE = VR_LGE,
 
-  //! \hideinitializer Negative infinity unrepresentable result class.
-  VC_MINUS_INFINITY = 16,
+  //! \hideinitializer The exact result is a number out of finite bounds.
+  V_OVERFLOW = 1 << 6,
 
-  //! \hideinitializer A negative overflow occurred.
-  V_NEG_OVERFLOW = VC_MINUS_INFINITY | V_GT,
+  //! \hideinitializer A negative integer overflow occurred (rounding up).
+  V_LT_INF = V_LT | V_OVERFLOW,
 
-  //! \hideinitializer Positive infinity unrepresentable result class.
-  VC_PLUS_INFINITY = 32,
+  //! \hideinitializer A positive integer overflow occurred (rounding down).
+  V_GT_SUP = V_GT | V_OVERFLOW,
 
-  //! \hideinitializer A positive overflow occurred.
-  V_POS_OVERFLOW = VC_PLUS_INFINITY | V_LT,
+  //! \hideinitializer A positive integer overflow occurred (rounding up).
+  V_LT_PLUS_INFINITY = V_LT | VC_PLUS_INFINITY,
 
-  //! \hideinitializer Not a number result class.
-  VC_NAN = 48,
+  //! \hideinitializer A negative integer overflow occurred (rounding down).
+  V_GT_MINUS_INFINITY = V_GT | VC_MINUS_INFINITY,
+
+  //! \hideinitializer Negative infinity result.
+  V_EQ_MINUS_INFINITY = V_EQ | VC_MINUS_INFINITY,
+
+  //! \hideinitializer Positive infinity result.
+  V_EQ_PLUS_INFINITY = V_EQ | VC_PLUS_INFINITY,
+
+  //! \hideinitializer Not a number result.
+  V_NAN = VC_NAN,
 
   //! \hideinitializer Converting from unknown string.
-  V_CVT_STR_UNK = 49,
+  V_CVT_STR_UNK = V_NAN | (1 << 8),
 
   //! \hideinitializer Dividing by zero.
-  V_DIV_ZERO = 50,
+  V_DIV_ZERO = V_NAN | (2 << 8),
 
   //! \hideinitializer Adding two infinities having opposite signs.
-  V_INF_ADD_INF = 51,
+  V_INF_ADD_INF = V_NAN | (3 << 8),
 
   //! \hideinitializer Dividing two infinities.
-  V_INF_DIV_INF = 52,
+  V_INF_DIV_INF = V_NAN | (4 << 8),
 
   //! \hideinitializer Taking the modulus of an infinity.
-  V_INF_MOD = 53,
+  V_INF_MOD = V_NAN | (5 << 8),
 
   //! \hideinitializer Multiplying an infinity by zero.
-  V_INF_MUL_ZERO = 54,
+  V_INF_MUL_ZERO = V_NAN | (6 << 8),
 
   //! \hideinitializer Subtracting two infinities having the same sign.
-  V_INF_SUB_INF = 55,
+  V_INF_SUB_INF = V_NAN | (7 << 8),
 
   //! \hideinitializer Computing a remainder modulo zero.
-  V_MOD_ZERO = 56,
+  V_MOD_ZERO = V_NAN | (8 << 8),
 
   //! \hideinitializer Taking the square root of a negative number.
-  V_SQRT_NEG = 57,
+  V_SQRT_NEG = V_NAN | (9 << 8),
 
   //! \hideinitializer Unknown result due to intermediate negative overflow.
-  V_UNKNOWN_NEG_OVERFLOW = 58,
+  V_UNKNOWN_NEG_OVERFLOW = V_NAN | (10 << 8),
 
   //! \hideinitializer Unknown result due to intermediate positive overflow.
-  V_UNKNOWN_POS_OVERFLOW = 59,
+  V_UNKNOWN_POS_OVERFLOW = V_NAN | (11 << 8),
 
-  //! \hideinitializer Unordered comparison.
-  V_UNORD_COMP = 60,
+  //! \hideinitializer The computed result is not representable.
+  V_UNREPRESENTABLE = 1 << 7
 
-  VC_MASK = 48
 };
 
-//! Extracts the class part of \p r (normal, minus/plus infinity or nan).
-Result classify(Result r);
+//! Extracts the value class part of \p r (representable number, unrepresentable minus/plus infinity or nan).
+Result_Class result_class(Result r);
 
-//! Returns <CODE>true</CODE> if and only if the class or \p r is not normal.
-bool is_special(Result r);
+//! Extracts the relation part of \p r.
+Result_Relation result_relation(Result r);
 
 } // namespace Parma_Polyhedra_Library
 
diff --git a/src/Result.inlines.hh b/src/Result.inlines.hh
index 4940052..d2a6afb 100644
--- a/src/Result.inlines.hh
+++ b/src/Result.inlines.hh
@@ -1,5 +1,5 @@
 /* Result supporting functions implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -23,18 +23,62 @@ site: http://www.cs.unipr.it/ppl/ . */
 #ifndef PPL_Result_inlines_hh
 #define PPL_Result_inlines_hh 1
 
+#include "assert.hh"
+
 namespace Parma_Polyhedra_Library {
 
 /*! \relates Parma_Polyhedra_Library::Result */
-inline Result
-classify(Result r) {
-  return static_cast<Result>(r & VC_MASK);
+inline Result_Class
+result_class(Result r) {
+  return static_cast<Result_Class>(r & VC_MASK);
 }
 
 /*! \relates Parma_Polyhedra_Library::Result */
+inline Result_Relation
+result_relation(Result r) {
+  return static_cast<Result_Relation>(r & VR_MASK);
+}
+
+/*! \relates Parma_Polyhedra_Library::Result */
+inline Result
+result_relation_class(Result r) {
+  return static_cast<Result>(r & (VR_MASK | VC_MASK));
+}
+
+inline int
+result_overflow(Result r) {
+  switch (result_class(r)) {
+  case VC_NORMAL:
+    switch (r) {
+    case V_LT_INF:
+      return -1;
+    case V_GT_SUP:
+      return 1;
+    default:
+      break;
+    }
+    break;
+  case VC_MINUS_INFINITY:
+    return -1;
+  case VC_PLUS_INFINITY:
+    return 1;
+  default:
+    break;
+  }
+  return 0;
+}
+
 inline bool
-is_special(Result r) {
-  return classify(r) != VC_NORMAL;
+result_representable(Result r) {
+  return !(r & V_UNREPRESENTABLE);
+}
+
+inline Result operator|(Result a, Result b) {
+  return static_cast<Result>((unsigned)a | (unsigned)b);
+}
+
+inline Result operator-(Result a, Result b) {
+  return static_cast<Result>((unsigned)a & ~(unsigned)b);
 }
 
 } // namespace Parma_Polyhedra_Library
diff --git a/src/Rounding_Dir.defs.hh b/src/Rounding_Dir.defs.hh
index b2e62a4..85665e2 100644
--- a/src/Rounding_Dir.defs.hh
+++ b/src/Rounding_Dir.defs.hh
@@ -1,5 +1,5 @@
 /* Declaration of Rounding_Dir and related functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -48,7 +48,9 @@ enum Rounding_Dir {
   ROUND_NATIVE = ROUND_IGNORE,
 
   /*! \hideinitializer
-    Rounding is not needed: client code must ensure the operation is exact.
+    Rounding is not needed: client code must ensure that the operation
+    result is exact and representable in the destination type.
+    Result info is evaluated lazily.
   */
   ROUND_NOT_NEEDED = 7,
 
@@ -57,9 +59,13 @@ enum Rounding_Dir {
 
   ROUND_DIR_MASK = 7,
 
-  ROUND_FPU_CHECK_INEXACT = 8,
+  /*! \hideinitializer
+    The client code is willing to pay an extra price to know the exact
+    relation beetwen the exact result and the computed one.
+   */
+  ROUND_STRICT_RELATION = 8,
 
-  ROUND_CHECK = ROUND_DIRECT | ROUND_FPU_CHECK_INEXACT
+  ROUND_CHECK = ROUND_DIRECT | ROUND_STRICT_RELATION
 };
 
 /*! \brief
@@ -72,10 +78,12 @@ Rounding_Dir round_dir(Rounding_Dir dir);
 bool round_down(Rounding_Dir dir);
 bool round_up(Rounding_Dir dir);
 bool round_ignore(Rounding_Dir dir);
+bool round_not_needed(Rounding_Dir dir);
+bool round_not_requested(Rounding_Dir dir);
 bool round_direct(Rounding_Dir dir);
 bool round_inverse(Rounding_Dir dir);
 
-bool round_fpu_check_inexact(Rounding_Dir dir);
+bool round_strict_relation(Rounding_Dir dir);
 
 fpu_rounding_direction_type round_fpu_dir(Rounding_Dir dir);
 
diff --git a/src/Rounding_Dir.inlines.hh b/src/Rounding_Dir.inlines.hh
index 8a20d3c..28a4a8d 100644
--- a/src/Rounding_Dir.inlines.hh
+++ b/src/Rounding_Dir.inlines.hh
@@ -1,5 +1,5 @@
 /* Inline functions operating on enum Rounding_Dir values.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -23,7 +23,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #ifndef PPL_Rounding_Dir_inlines_hh
 #define PPL_Rounding_Dir_inlines_hh 1
 
-#include <cassert>
+#include "assert.hh"
 
 namespace Parma_Polyhedra_Library {
 
@@ -48,6 +48,16 @@ round_ignore(Rounding_Dir dir) {
 }
 
 inline bool
+round_not_needed(Rounding_Dir dir) {
+  return round_dir(dir) == ROUND_NOT_NEEDED;
+}
+
+inline bool
+round_not_requested(Rounding_Dir dir) {
+  return round_dir(dir) == ROUND_IGNORE || round_dir(dir) == ROUND_NOT_NEEDED;
+}
+
+inline bool
 round_direct(Rounding_Dir dir) {
   return round_dir(dir) == ROUND_DIRECT;
 }
@@ -58,8 +68,8 @@ round_inverse(Rounding_Dir dir) {
 }
 
 inline bool
-round_fpu_check_inexact(Rounding_Dir dir) {
-  return dir & ROUND_FPU_CHECK_INEXACT;
+round_strict_relation(Rounding_Dir dir) {
+  return dir & ROUND_STRICT_RELATION;
 }
 
 #if PPL_CAN_CONTROL_FPU
@@ -72,7 +82,7 @@ round_fpu_dir(Rounding_Dir dir) {
   case ROUND_DOWN:
     return static_cast<fpu_rounding_direction_type>(PPL_FPU_DOWNWARD);
   default:
-    assert(false);
+    PPL_ASSERT(false);
     return static_cast<fpu_rounding_direction_type>(PPL_FPU_UPWARD);
   }
 }
@@ -96,7 +106,7 @@ inverse(Rounding_Dir dir) {
     d = ROUND_UP;
     break;
   default:
-    assert(false);
+    PPL_ASSERT(false);
     /* Fall through */
   case ROUND_IGNORE:
     return dir;
@@ -104,6 +114,10 @@ inverse(Rounding_Dir dir) {
   return static_cast<Rounding_Dir>((dir & ~ROUND_DIR_MASK) | d);
 }
 
+inline Rounding_Dir operator|(Rounding_Dir x, Rounding_Dir y) {
+  return static_cast<Rounding_Dir>((unsigned)x | (unsigned)y);
+}
+
 } // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_Rounding_Dir_inlines_hh)
diff --git a/src/Row.cc b/src/Row.cc
index addd828..b3f20ab 100644
--- a/src/Row.cc
+++ b/src/Row.cc
@@ -1,5 +1,5 @@
 /* Row class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -26,14 +26,14 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Coefficient.defs.hh"
 #include <iostream>
 #include <iomanip>
-#include <cassert>
+#include "assert.hh"
 
 namespace PPL = Parma_Polyhedra_Library;
 
 void
 PPL::Row_Impl_Handler::
 Impl::expand_within_capacity(const dimension_type new_size) {
-  assert(size() <= new_size && new_size <= max_size());
+  PPL_ASSERT(size() <= new_size && new_size <= max_size());
 #if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
   // vec_[0] is already constructed.
   if (size() == 0 && new_size > 0)
@@ -48,7 +48,7 @@ Impl::expand_within_capacity(const dimension_type new_size) {
 void
 PPL::Row_Impl_Handler::Impl::shrink(dimension_type new_size) {
   const dimension_type old_size = size();
-  assert(new_size <= old_size);
+  PPL_ASSERT(new_size <= old_size);
   // Since ~Coefficient() does not throw exceptions, nothing here does.
   set_size(new_size);
 #if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
@@ -71,7 +71,7 @@ PPL::Row_Impl_Handler::Impl::copy_construct_coefficients(const Impl& y) {
     bump_size();
   }
 #else
-  assert(y_size > 0);
+  PPL_ASSERT(y_size > 0);
   if (y_size > 0) {
     vec_[0] = y.vec_[0];
     bump_size();
diff --git a/src/Row.defs.hh b/src/Row.defs.hh
index dcb6db6..f1b147c 100644
--- a/src/Row.defs.hh
+++ b/src/Row.defs.hh
@@ -1,5 +1,5 @@
 /* Row class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -390,19 +390,34 @@ public:
   //! \name Custom allocator and deallocator
   //@{
 
-  /*! \brief
-    Allocates a chunk of memory able to contain \p capacity Coefficient objects
-    beyond the specified \p fixed_size and returns a pointer to the new
-    allocated memory.
+  //! Placement allocation function.
+  /*!
+    Allocates a chunk of memory able to contain \p capacity Coefficient
+    objects beyond the specified \p fixed_size and returns a pointer to
+    the newly allocated memory.
   */
   static void* operator new(size_t fixed_size, dimension_type capacity);
 
-  //! Uses the standard delete operator to free the memory \p p points to.
+  //! Usual (non-placement) deallocation function.
+  /*!
+    Uses the standard delete operator to free the memory \p p points to.
+
+    \note
+    The definition of this custom deallocation function is required
+    since otherwise the placement deallocation function
+    <code>
+    static void operator delete(void* p, dimension_type capacity);
+    </code>
+    would be wrongly interpreted as a usual (non-placement) deallocation
+    function (see C++98 3.7.3.2p2). This happens because \c dimension_type
+    is just an alias for \c std::size_t.
+    See also http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42115
+  */
   static void operator delete(void* p);
 
-  /*! \brief
-    Placement version:
-    uses the standard operator delete to free the memory \p p points to.
+  //! Placement deallocation function.
+  /*!
+    Uses the standard operator delete to free the memory \p p points to.
   */
   static void operator delete(void* p, dimension_type capacity);
   //@} // Custom allocator and deallocator
diff --git a/src/Row.inlines.hh b/src/Row.inlines.hh
index c63ab24..d661d8f 100644
--- a/src/Row.inlines.hh
+++ b/src/Row.inlines.hh
@@ -1,5 +1,5 @@
 /* Row class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -24,7 +24,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #define PPL_Row_inlines_hh 1
 
 #include "math_utilities.defs.hh"
-#include <cassert>
+#include "assert.hh"
 #include <cstddef>
 #include <limits>
 #include <algorithm>
@@ -78,7 +78,7 @@ Row_Impl_Handler::Impl::operator new(const size_t fixed_size,
 #if PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
   return ::operator new(fixed_size + capacity*sizeof(Coefficient));
 #else
-  assert(capacity >= 1);
+  PPL_ASSERT(capacity >= 1);
   return ::operator new(fixed_size + (capacity-1)*sizeof(Coefficient));
 #endif
 }
@@ -135,13 +135,13 @@ Row_Impl_Handler::Impl::flags() {
 
 inline Coefficient&
 Row_Impl_Handler::Impl::operator[](const dimension_type k) {
-  assert(k < size());
+  PPL_ASSERT(k < size());
   return vec_[k];
 }
 
 inline Coefficient_traits::const_reference
 Row_Impl_Handler::Impl::operator[](const dimension_type k) const {
-  assert(k < size());
+  PPL_ASSERT(k < size());
   return vec_[k];
 }
 
@@ -215,33 +215,33 @@ Row::allocate(
 #endif
 	       dimension_type capacity,
 	       const Flags f) {
-  assert(capacity <= max_size());
+  PPL_ASSERT(capacity <= max_size());
 #if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
   if (capacity == 0)
     ++capacity;
 #endif
-  assert(impl == 0);
+  PPL_ASSERT(impl == 0);
   impl = new (capacity) Impl(f);
 #if PPL_ROW_EXTRA_DEBUG
-  assert(capacity_ == 0);
+  PPL_ASSERT(capacity_ == 0);
   capacity_ = capacity;
 #endif
 }
 
 inline void
 Row::expand_within_capacity(const dimension_type new_size) {
-  assert(impl);
+  PPL_ASSERT(impl);
 #if PPL_ROW_EXTRA_DEBUG
-  assert(new_size <= capacity_);
+  PPL_ASSERT(new_size <= capacity_);
 #endif
   impl->expand_within_capacity(new_size);
 }
 
 inline void
 Row::copy_construct_coefficients(const Row& y) {
-  assert(impl && y.impl);
+  PPL_ASSERT(impl && y.impl);
 #if PPL_ROW_EXTRA_DEBUG
-  assert(y.size() <= capacity_);
+  PPL_ASSERT(y.size() <= capacity_);
 #endif
   impl->copy_construct_coefficients(*(y.impl));
 }
@@ -250,7 +250,7 @@ inline void
 Row::construct(const dimension_type sz,
 	       const dimension_type capacity,
 	       const Flags f) {
-  assert(sz <= capacity && capacity <= max_size());
+  PPL_ASSERT(sz <= capacity && capacity <= max_size());
   allocate(capacity, f);
   expand_within_capacity(sz);
 }
@@ -287,8 +287,8 @@ inline
 Row::Row(const Row& y,
 	 const dimension_type capacity)
   : Row_Impl_Handler() {
-  assert(y.impl);
-  assert(y.size() <= capacity && capacity <= max_size());
+  PPL_ASSERT(y.impl);
+  PPL_ASSERT(y.size() <= capacity && capacity <= max_size());
   allocate(capacity, y.flags());
   copy_construct_coefficients(y);
 }
@@ -298,8 +298,8 @@ Row::Row(const Row& y,
 	 const dimension_type sz,
 	 const dimension_type capacity)
   : Row_Impl_Handler() {
-  assert(y.impl);
-  assert(y.size() <= sz && sz <= capacity && capacity <= max_size());
+  PPL_ASSERT(y.impl);
+  PPL_ASSERT(y.size() <= sz && sz <= capacity && capacity <= max_size());
   allocate(capacity, y.flags());
   copy_construct_coefficients(y);
   expand_within_capacity(sz);
@@ -311,7 +311,7 @@ Row::~Row() {
 
 inline void
 Row::shrink(const dimension_type new_size) {
-  assert(impl);
+  PPL_ASSERT(impl);
   impl->shrink(new_size);
 }
 
@@ -343,13 +343,13 @@ Row::operator=(const Row& y) {
 
 inline Coefficient&
 Row::operator[](const dimension_type k) {
-  assert(impl);
+  PPL_ASSERT(impl);
   return (*impl)[k];
 }
 
 inline Coefficient_traits::const_reference
 Row::operator[](const dimension_type k) const {
-  assert(impl);
+  PPL_ASSERT(impl);
   return (*impl)[k];
 }
 
diff --git a/src/Row.types.hh b/src/Row.types.hh
index e8e2d5f..048537a 100644
--- a/src/Row.types.hh
+++ b/src/Row.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Scalar_Products.cc b/src/Scalar_Products.cc
index 852274c..ffb2a6c 100644
--- a/src/Scalar_Products.cc
+++ b/src/Scalar_Products.cc
@@ -1,5 +1,5 @@
 /* Scalar_Products class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -32,7 +32,7 @@ PPL::Scalar_Products::assign(Coefficient& z,
 			     const Linear_Row& x, const Linear_Row& y) {
   // Scalar product is only defined  if `x' and `y' are
   // dimension-compatible.
-  assert(x.size() <= y.size());
+  PPL_ASSERT(x.size() <= y.size());
   z = 0;
   for (dimension_type i = x.size(); i-- > 0; )
     // The following line optimizes the computation of z += x[i] * y[i].
@@ -44,7 +44,7 @@ PPL::Scalar_Products::assign(Coefficient& z,
 			     const Constraint& x, const Generator& y) {
   // Scalar product is only defined if `x' and `y' are
   // dimension-compatible.
-  assert(x.size() <= y.size());
+  PPL_ASSERT(x.size() <= y.size());
   z = 0;
   for (dimension_type i = x.size(); i-- > 0; )
     // The following line optimizes the computation of z += x[i] * y[i].
@@ -56,7 +56,7 @@ PPL::Scalar_Products::assign(Coefficient& z,
 			     const Grid_Generator& x, const Congruence& y) {
   // Scalar product is only defined if `x' and `y' are
   // dimension-compatible.
-  assert(x.size() <= y.size());
+  PPL_ASSERT(x.size() <= y.size());
   z = 0;
   for (dimension_type i = x.size() - 1 /* parameter divisor */; i-- > 0; )
     // The following line optimizes the computation of z += x[i] *
@@ -70,7 +70,7 @@ PPL::Scalar_Products::assign(Coefficient& z,
 			     const Grid_Generator& y) {
   // Scalar product is only defined if `x' and `y' are
   // dimension-compatible.
-  assert(x.size() <= y.size());
+  PPL_ASSERT(x.size() <= y.size());
   z = 0;
   for (dimension_type i = x.size(); i-- > 0; )
     // The following line optimizes the computation of z += x[i] * y[i].
@@ -82,7 +82,7 @@ PPL::Scalar_Products::assign(Coefficient& z,
 			     const Congruence& x, const Grid_Generator& y) {
   // Scalar product is only defined if `x' and `y' are
   // dimension-compatible.
-  assert(x.size() <= y.size());
+  PPL_ASSERT(x.size() <= y.size());
   z = 0;
   for (dimension_type i = x.size() - 1; i-- > 0; )
     // The following line optimizes the computation of z += x[i] *
@@ -96,8 +96,8 @@ PPL::Scalar_Products::reduced_assign(Coefficient& z,
 				     const Linear_Row& y) {
   // The reduced scalar product is only defined
   // if the topology of `x' is NNC and `y' has enough coefficients.
-  assert(!x.is_necessarily_closed());
-  assert(x.size() - 1 <= y.size());
+  PPL_ASSERT(!x.is_necessarily_closed());
+  PPL_ASSERT(x.size() - 1 <= y.size());
   z = 0;
   for (dimension_type i = x.size() - 1; i-- > 0; )
     // The following line optimizes the computation of z += x[i] * y[i].
@@ -110,7 +110,7 @@ PPL::Scalar_Products::reduced_assign(Coefficient& z,
 				     const Congruence& y) {
   // The reduced scalar product is only defined if the topology of `x'
   // is NNC and `y' has enough coefficients.
-  assert(x.size() <= y.size());
+  PPL_ASSERT(x.size() <= y.size());
   z = 0;
   for (dimension_type i = x.size() - 1; i-- > 0; )
     // The following line optimizes z += x[i] * y[i].
@@ -123,7 +123,7 @@ PPL::Scalar_Products::homogeneous_assign(Coefficient& z,
 					 const Linear_Row& y) {
   // Scalar product is only defined  if `x' and `y' are
   // dimension-compatible.
-  assert(x.size() <= y.size());
+  PPL_ASSERT(x.size() <= y.size());
   z = 0;
   // Note the pre-decrement of `i': last iteration should be for `i == 1'.
   for (dimension_type i = x.size(); --i > 0; )
@@ -137,7 +137,7 @@ PPL::Scalar_Products::homogeneous_assign(Coefficient& z,
 					 const Congruence& y) {
   // Scalar product is only defined if `x' and `y' are
   // dimension-compatible.
-  assert(x.size() <= y.size());
+  PPL_ASSERT(x.size() <= y.size());
   z = 0;
   // Note the pre-decrement of `i': last iteration should be for `i == 1'.
   for (dimension_type i = x.size() - 1; --i > 0; )
@@ -151,7 +151,7 @@ PPL::Scalar_Products::homogeneous_assign(Coefficient& z,
 					 const Constraint& y) {
   // Scalar product is only defined if `x' and `y' are
   // dimension-compatible.
-  assert(x.size() - 1 <= y.size());
+  PPL_ASSERT(x.size() - 1 <= y.size());
   z = 0;
   // Note the pre-decrement of `i': last iteration should be for `i == 1'.
   for (dimension_type i = x.size() - 1; --i > 0; )
diff --git a/src/Scalar_Products.defs.hh b/src/Scalar_Products.defs.hh
index a699dd5..9d8f9dc 100644
--- a/src/Scalar_Products.defs.hh
+++ b/src/Scalar_Products.defs.hh
@@ -1,5 +1,5 @@
 /* Scalar_Products class definition.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Scalar_Products.inlines.hh b/src/Scalar_Products.inlines.hh
index 70a02d5..2faab91 100644
--- a/src/Scalar_Products.inlines.hh
+++ b/src/Scalar_Products.inlines.hh
@@ -1,5 +1,5 @@
 /* Scalar_Products class implementation (inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -143,8 +143,8 @@ Topology_Adjusted_Scalar_Product_Sign
 inline int
 Topology_Adjusted_Scalar_Product_Sign::operator()(const Constraint& c,
 						  const Generator& g) const {
-  assert(c.space_dimension() <= g.space_dimension());
-  assert(sps_fp == (c.is_necessarily_closed()
+  PPL_ASSERT(c.space_dimension() <= g.space_dimension());
+  PPL_ASSERT(sps_fp == (c.is_necessarily_closed()
 		    ? static_cast<SPS_type>(&Scalar_Products::sign)
 		    : static_cast<SPS_type>(&Scalar_Products::reduced_sign)));
   return sps_fp(static_cast<const Linear_Row&>(c),
@@ -154,8 +154,8 @@ Topology_Adjusted_Scalar_Product_Sign::operator()(const Constraint& c,
 inline int
 Topology_Adjusted_Scalar_Product_Sign::operator()(const Generator& g,
 						  const Constraint& c) const {
-  assert(g.space_dimension() <= c.space_dimension());
-  assert(sps_fp == (g.is_necessarily_closed()
+  PPL_ASSERT(g.space_dimension() <= c.space_dimension());
+  PPL_ASSERT(sps_fp == (g.is_necessarily_closed()
 		    ? static_cast<SPS_type>(&Scalar_Products::sign)
 		    : static_cast<SPS_type>(&Scalar_Products::reduced_sign)));
   return sps_fp(static_cast<const Linear_Row&>(g),
diff --git a/src/Scalar_Products.types.hh b/src/Scalar_Products.types.hh
index 24126fc..4f28c83 100644
--- a/src/Scalar_Products.types.hh
+++ b/src/Scalar_Products.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Slow_Copy.hh b/src/Slow_Copy.hh
index f7cfbbd..e090ce5 100644
--- a/src/Slow_Copy.hh
+++ b/src/Slow_Copy.hh
@@ -1,5 +1,5 @@
 /* Basic Slow_Copy classes declarations.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Temp.defs.hh b/src/Temp.defs.hh
index 202dea3..7e60cd1 100644
--- a/src/Temp.defs.hh
+++ b/src/Temp.defs.hh
@@ -1,5 +1,5 @@
 /* Temp_* classes declarations.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -69,8 +69,8 @@ private:
 template <typename T>
 class Temp_Reference_Holder {
 public:
-  //! Constructs an holder holding \p p.
-  Temp_Reference_Holder(Temp_Item<T>& p);
+  //! Constructs an holder holding a dirty temp.
+  Temp_Reference_Holder();
 
   //! Destructor.
   ~Temp_Reference_Holder();
@@ -79,6 +79,12 @@ public:
   T& item();
 
 private:
+  //! Copy constructor: private and intentionally not implemented.
+  Temp_Reference_Holder(const Temp_Reference_Holder&);
+
+  //! Assignment operator: private and intentionally not implemented.
+  Temp_Reference_Holder& operator=(const Temp_Reference_Holder&);
+
   //! The held item, encapsulated.
   Temp_Item<T>& held;
 };
@@ -96,6 +102,12 @@ public:
   T item();
 
 private:
+  //! Copy constructor: private and intentionally not implemented.
+  Temp_Value_Holder(const Temp_Value_Holder&);
+
+  //! Assignment operator: private and intentionally not implemented.
+  Temp_Value_Holder& operator=(const Temp_Value_Holder&);
+
   //! The held item.
   T item_;
 };
@@ -111,8 +123,6 @@ struct Temp_From_Free_List {
   //! The type of the holder.
   typedef Temp_Reference_Holder<T> holder_type;
 
-  //! Obtain the holder for a new temporary.
-  static holder_type obtain_holder();
 };
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
@@ -126,8 +136,6 @@ struct Temp_From_Local_Variable {
   //! The type of the holder.
   typedef Temp_Value_Holder<T> holder_type;
 
-  //! Obtain the holder for a new temporary.
-  static holder_type obtain_holder();
 };
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
diff --git a/src/Temp.inlines.hh b/src/Temp.inlines.hh
index 55cfbe2..234db1e 100644
--- a/src/Temp.inlines.hh
+++ b/src/Temp.inlines.hh
@@ -1,5 +1,5 @@
 /* Temp_* classes implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -60,8 +60,8 @@ Temp_Item<T>::release(Temp_Item& p) {
 
 template <typename T>
 inline
-Temp_Reference_Holder<T>::Temp_Reference_Holder(Temp_Item<T>& p)
-  : held(p) {
+Temp_Reference_Holder<T>::Temp_Reference_Holder()
+  : held(Temp_Item<T>::obtain()) {
 }
 
 template <typename T>
@@ -87,29 +87,16 @@ Temp_Value_Holder<T>::item() {
   return item_;
 }
 
-template <typename T>
-inline typename Temp_From_Free_List<T>::holder_type
-Temp_From_Free_List<T>::obtain_holder() {
-  return Temp_Reference_Holder<T>(Temp_Item<T>::obtain());
-}
-
-template <typename T>
-inline typename Temp_From_Local_Variable<T>::holder_type
-Temp_From_Local_Variable<T>::obtain_holder() {
-  return Temp_Value_Holder<T>();
-}
-
 } // namespace Parma_Polyhedra_Library
 
 #define PPL_DIRTY_TEMP(T, id)						\
-  typename Parma_Polyhedra_Library::Dirty_Temp<T>::holder_type holder ## id = \
-    Parma_Polyhedra_Library::Dirty_Temp<T>::obtain_holder();		\
-  typename Parma_Polyhedra_Library::Dirty_Temp<T>::type id =		\
-    holder ## id.item()
+  typename                                                              \
+  Parma_Polyhedra_Library::Dirty_Temp<T>::holder_type holder_ ## id;     \
+  typename                                                              \
+  Parma_Polyhedra_Library::Dirty_Temp<T>::type id = holder_ ## id.item()
 
 #define PPL_DIRTY_TEMP0(T, id)						\
-  Parma_Polyhedra_Library::Dirty_Temp<T>::holder_type holder ## id =	\
-    Parma_Polyhedra_Library::Dirty_Temp<T>::obtain_holder();		\
-  Parma_Polyhedra_Library::Dirty_Temp<T>::type id = holder ## id.item()
+  Parma_Polyhedra_Library::Dirty_Temp<T>::holder_type holder_ ## id;	\
+  Parma_Polyhedra_Library::Dirty_Temp<T>::type id = holder_ ## id.item()
 
 #endif // !defined(PPL_Temp_inlines_hh)
diff --git a/src/Temp.templates.hh b/src/Temp.templates.hh
index bb1453a..c5ec189 100644
--- a/src/Temp.templates.hh
+++ b/src/Temp.templates.hh
@@ -1,5 +1,5 @@
 /* Temp_* classes implementation: non-inline template members.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Topology.hh b/src/Topology.hh
index 8b9360a..316481f 100644
--- a/src/Topology.hh
+++ b/src/Topology.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Variable.cc b/src/Variable.cc
index 88ab86c..b526d0d 100644
--- a/src/Variable.cc
+++ b/src/Variable.cc
@@ -1,5 +1,5 @@
 /* Variable class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Variable.defs.hh b/src/Variable.defs.hh
index 203de66..9d5d532 100644
--- a/src/Variable.defs.hh
+++ b/src/Variable.defs.hh
@@ -1,5 +1,5 @@
 /* Variable class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Variable.inlines.hh b/src/Variable.inlines.hh
index b03f201..14781b0 100644
--- a/src/Variable.inlines.hh
+++ b/src/Variable.inlines.hh
@@ -1,5 +1,5 @@
 /* Variable class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Variable.types.hh b/src/Variable.types.hh
index 04e7d6c..a4427e1 100644
--- a/src/Variable.types.hh
+++ b/src/Variable.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Variables_Set.cc b/src/Variables_Set.cc
index 7da9156..17d680a 100644
--- a/src/Variables_Set.cc
+++ b/src/Variables_Set.cc
@@ -1,5 +1,5 @@
 /* Variables_Set class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Variables_Set.defs.hh b/src/Variables_Set.defs.hh
index 6692c69..e05af37 100644
--- a/src/Variables_Set.defs.hh
+++ b/src/Variables_Set.defs.hh
@@ -1,5 +1,5 @@
 /* Variables_Set class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -62,7 +62,7 @@ public:
     If <CODE>v.id() <= w.id()</CODE>, this constructor builds the
     set of variables' indexes
     <CODE>v.id()</CODE>, <CODE>v.id()+1</CODE>, ..., <CODE>w.id()</CODE>.
-    The empty set it built otherwise.
+    The empty set is built otherwise.
   */
   Variables_Set(const Variable& v, const Variable& w);
 
@@ -75,13 +75,13 @@ public:
   */
   dimension_type space_dimension() const;
 
-  //! Inserts the index of variavle \p v into the set.
+  //! Inserts the index of variable \p v into the set.
   void insert(Variable v);
+
   // The `insert' method above overloads (instead of hiding) the
   // other `insert' method of std::set.
   using Base::insert;
 
-
   /*! \brief
     Loads from \p s an ASCII representation (as produced by
     ascii_dump(std::ostream&) const) and sets \p *this accordingly.
diff --git a/src/Variables_Set.inlines.hh b/src/Variables_Set.inlines.hh
index 682bc73..aca014a 100644
--- a/src/Variables_Set.inlines.hh
+++ b/src/Variables_Set.inlines.hh
@@ -1,5 +1,5 @@
 /* Variables_Set class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Variables_Set.types.hh b/src/Variables_Set.types.hh
index c7c9864..c22c6a9 100644
--- a/src/Variables_Set.types.hh
+++ b/src/Variables_Set.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/WRD_coefficient_types.defs.hh b/src/WRD_coefficient_types.defs.hh
new file mode 100644
index 0000000..11064a2
--- /dev/null
+++ b/src/WRD_coefficient_types.defs.hh
@@ -0,0 +1,158 @@
+/* Coefficient types of weakly-relational domains: declarations.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#ifndef PPL_WRD_coefficient_types_defs_hh
+#define PPL_WRD_coefficient_types_defs_hh 1
+
+#include "meta_programming.hh"
+
+namespace Parma_Polyhedra_Library {
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief \ingroup PPL_CXX_interface
+  The production policy for checked numbers used in weakly-relational
+  domains.
+ */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+struct WRD_Extended_Number_Policy {
+  //! Check for overflowed result.
+  const_bool_nodef(check_overflow, true);
+
+  //! Do not check for attempts to add infinities with different sign.
+  const_bool_nodef(check_inf_add_inf, false);
+
+  //! Do not check for attempts to subtract infinities with same sign.
+  const_bool_nodef(check_inf_sub_inf, false);
+
+  //! Do not check for attempts to multiply infinities by zero.
+  const_bool_nodef(check_inf_mul_zero, false);
+
+  //! Do not check for attempts to divide by zero.
+  const_bool_nodef(check_div_zero, false);
+
+  //! Do not check for attempts to divide infinities.
+  const_bool_nodef(check_inf_div_inf, false);
+
+  //! Do not check for attempts to compute remainder of infinities.
+  const_bool_nodef(check_inf_mod, false);
+
+  //! Do not checks for attempts to take the square root of a negative number.
+  const_bool_nodef(check_sqrt_neg, false);
+
+  //! Handle not-a-number special value.
+  const_bool_nodef(has_nan, true);
+
+  //! Handle infinity special values.
+  const_bool_nodef(has_infinity, true);
+
+  // Do not uncomment the following.
+  // The compile time error on conversions is the expected behavior.
+  // const_bool_nodef(convertible, false);
+
+  //! Honor requests to check for FPU inexact results.
+  const_bool_nodef(fpu_check_inexact, true);
+
+  //! Do not make extra checks to detect FPU NaN results.
+  const_bool_nodef(fpu_check_nan_result, false);
+
+  // Do not uncomment the following.
+  // The compile time error is the expected behavior.
+  // static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_UP;
+  // static const Rounding_Dir ROUND_DEFAULT_OPERATOR = ROUND_UP;
+  // static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_UP;
+  // static const Rounding_Dir ROUND_DEFAULT_INPUT = ROUND_UP;
+  // static const Rounding_Dir ROUND_DEFAULT_OUTPUT = ROUND_UP;
+
+  /*! \brief
+    Handles \p r: called by all constructors, operators and functions that
+    do not return a Result value.
+  */
+  static void handle_result(Result r);
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief \ingroup PPL_CXX_interface
+  The debugging policy for checked numbers used in weakly-relational
+  domains.
+ */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+struct Debug_WRD_Extended_Number_Policy {
+  //! Check for overflowed result.
+  const_bool_nodef(check_overflow, true);
+
+  //! Check for attempts to add infinities with different sign.
+  const_bool_nodef(check_inf_add_inf, true);
+
+  //! Check for attempts to subtract infinities with same sign.
+  const_bool_nodef(check_inf_sub_inf, true);
+
+  //! Check for attempts to multiply infinities by zero.
+  const_bool_nodef(check_inf_mul_zero, true);
+
+  //! Check for attempts to divide by zero.
+  const_bool_nodef(check_div_zero, true);
+
+  //! Check for attempts to divide infinities.
+  const_bool_nodef(check_inf_div_inf, true);
+
+  //! Check for attempts to compute remainder of infinities.
+  const_bool_nodef(check_inf_mod, true);
+
+  //! Checks for attempts to take the square root of a negative number.
+  const_bool_nodef(check_sqrt_neg, true);
+
+  //! Handle not-a-number special value.
+  const_bool_nodef(has_nan, true);
+
+  //! Handle infinity special values.
+  const_bool_nodef(has_infinity, true);
+
+  // Do not uncomment the following.
+  // The compile time error on conversions is the expected behavior.
+  // const_bool_nodef(convertible, false);
+
+  //! Honor requests to check for FPU inexact results.
+  const_bool_nodef(fpu_check_inexact, true);
+
+  //! Make extra checks to detect FPU NaN results.
+  const_bool_nodef(fpu_check_nan_result, true);
+
+  // Do not uncomment the following.
+  // The compile time error is the expected behavior.
+  // static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_UP;
+  // static const Rounding_Dir ROUND_DEFAULT_OPERATOR = ROUND_UP;
+  // static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_UP;
+  // static const Rounding_Dir ROUND_DEFAULT_INPUT = ROUND_UP;
+  // static const Rounding_Dir ROUND_DEFAULT_OUTPUT = ROUND_UP;
+
+  /*! \brief
+    Handles \p r: called by all constructors, operators and functions that
+    do not return a Result value.
+  */
+  static void handle_result(Result r);
+};
+
+} // namespace Parma_Polyhedra_Library
+
+#include "WRD_coefficient_types.inlines.hh"
+
+#endif // !defined(PPL_WRD_coefficient_types_defs_hh)
diff --git a/src/WRD_coefficient_types.inlines.hh b/src/WRD_coefficient_types.inlines.hh
new file mode 100644
index 0000000..ab3956a
--- /dev/null
+++ b/src/WRD_coefficient_types.inlines.hh
@@ -0,0 +1,42 @@
+/* Coefficient types of weakly-relational domains: inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#ifndef PPL_WRD_coefficient_types_inlines_hh
+#define PPL_WRD_coefficient_types_inlines_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+inline void
+WRD_Extended_Number_Policy::handle_result(Result r) {
+  if (result_class(r) == VC_NAN)
+    throw_result_exception(r);
+}
+
+inline void
+Debug_WRD_Extended_Number_Policy::handle_result(Result r) {
+  if (result_class(r) == VC_NAN)
+    throw_result_exception(r);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_WRD_coefficient_types_inlines_hh)
diff --git a/src/Weight_Profiler.cc b/src/Weight_Profiler.cc
new file mode 100644
index 0000000..6fd5c8a
--- /dev/null
+++ b/src/Weight_Profiler.cc
@@ -0,0 +1,78 @@
+/* Weight_Profiler class implementation.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include <ppl-config.h>
+#include "globals.defs.hh"
+
+#if PPL_PROFILE_ADD_WEIGHT
+#include <iostream>
+#include <cmath>
+#include "Weight_Profiler.defs.hh"
+
+namespace Parma_Polyhedra_Library {
+
+void Weight_Profiler::output_stats() {
+  std::cout << file << ":" << line << ": Weight_Profiler ";
+  if (stat[VALID].samples == 0 && stat[DISCARDED].samples == 0)
+    std::cout << "never reached.";
+  else {
+    if (stat[VALID].samples > 0) {
+      double avg = stat[VALID].sum / stat[VALID].count;
+      double var = stat[VALID].ssum / stat[VALID].count - avg * avg;
+      std::cout << " samples(" << stat[VALID].samples << ")"
+		<< " count(" << stat[VALID].count << ")"
+		<< " min( " << stat[VALID].min << ")"
+		<< " max( " << stat[VALID].max << ")"
+		<< " avg(" << avg << ")";
+      std::cout << " var( " << var << ")"
+		<< " stddev( " << sqrt(var) << ")";
+    }
+    if (stat[DISCARDED].samples > 0) {
+      std::cout << " tmin( " << tmin << ")"
+		<< " tmax( " << tmax << ")";
+      double avg = stat[DISCARDED].sum / stat[DISCARDED].count;
+      std::cout << " samples(" << stat[DISCARDED].samples << ")"
+		<< " count(" << stat[DISCARDED].count << ")"
+		<< " min( " << stat[DISCARDED].min << ")"
+		<< " max( " << stat[DISCARDED].max << ")"
+		<< " avg(" << avg << ")";
+    }
+  }
+  std::cout << std::endl;
+}
+
+double Weight_Profiler::tune_adj() {
+  begin();
+  adj = 0;
+  static Weight_Profiler adjtc(__FILE__, __LINE__, 0, 0, 0);
+  for (int i = 0; i < 1000; ++i)
+    adjtc.end(1);
+  //    return adjtc.stat[VALID].sum / adjtc.stat[VALID].count;
+  return adjtc.stat[VALID].min;
+}
+
+struct timespec Weight_Profiler::stamp;
+double Weight_Profiler::adj = Weight_Profiler::tune_adj();
+
+} // namespace Parma_Polyhedra_Library
+
+#endif
diff --git a/src/Weight_Profiler.defs.hh b/src/Weight_Profiler.defs.hh
new file mode 100644
index 0000000..e259099
--- /dev/null
+++ b/src/Weight_Profiler.defs.hh
@@ -0,0 +1,118 @@
+/* Weight_Profiler class declaration.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#ifndef Weight_Profiler_defs_hh
+#define Weight_Profiler_defs_hh 1
+
+#include <cassert>
+
+namespace Parma_Polyhedra_Library {
+
+class Weight_Profiler {
+  enum { DISCARDED = 0, VALID = 1 };
+public:
+  Weight_Profiler(const char* file, int line,
+		  Weightwatch_Traits::Delta delta,
+		  double tmin = 0, double tmax = 0)
+    : file(file), line(line), delta(delta),
+      tmin(tmin), tmax(tmax) {
+    for (int i = 0; i < 2; ++i) {
+      stat[i].samples = 0;
+      stat[i].count = 0;
+      stat[i].sum = 0;
+      stat[i].ssum = 0;
+      stat[i].min = 0;
+      stat[i].max = 0;
+    }
+  }
+
+  ~Weight_Profiler() {
+    output_stats();
+  }
+
+  void output_stats();
+
+  static void begin() {
+#ifndef NDEBUG
+    int r = clock_gettime(CLOCK_THREAD_CPUTIME_ID, &stamp);
+    assert(r >= 0);
+#else
+    clock_gettime(CLOCK_THREAD_CPUTIME_ID, &stamp);
+#endif
+  }
+
+  void end(unsigned int factor = 1) {
+    Weightwatch_Traits::weight
+      += (Weightwatch_Traits::Threshold) delta * factor;
+    struct timespec start = stamp;
+    begin();
+    double elapsed;
+    if (stamp.tv_nsec >= start.tv_nsec) {
+      elapsed = (stamp.tv_nsec - start.tv_nsec)
+	+ (stamp.tv_sec - start.tv_sec) * 1e9;
+    }
+    else {
+      elapsed = (1000000000 - start.tv_nsec + stamp.tv_nsec )
+	+ (stamp.tv_sec - start.tv_sec - 1) * 1e9;
+    }
+    elapsed -= adj;
+    double elapsed1 = elapsed / factor;
+    int i = (elapsed1 < tmin || (tmax > 0 && elapsed1 > tmax))
+      ? DISCARDED
+      : VALID;
+    ++stat[i].samples;
+    if (stat[i].count == 0)
+      stat[i].min = stat[i].max = elapsed1;
+    else if (stat[i].min > elapsed1)
+      stat[i].min = elapsed1;
+    else if (stat[i].max < elapsed1)
+      stat[i].max = elapsed1;
+    stat[i].sum += elapsed;
+    stat[i].ssum += elapsed * elapsed1;
+    stat[i].count += factor;
+  }
+
+  static double tune_adj();
+
+ private:
+  const char *file;
+  int line;
+  Weightwatch_Traits::Delta delta;
+  double tmin;
+  double tmax;
+
+  struct {
+    unsigned int samples;
+    unsigned int count;
+    double sum;
+    double ssum;
+    double min;
+    double max;
+  } stat[2];
+
+  static struct timespec stamp;
+  static double adj;
+};
+
+}
+
+#endif // Weight_Profiler_defs_hh
diff --git a/src/Widening_Function.defs.hh b/src/Widening_Function.defs.hh
index adcce51..c93cc3a 100644
--- a/src/Widening_Function.defs.hh
+++ b/src/Widening_Function.defs.hh
@@ -1,5 +1,5 @@
 /* Widening_Function class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -30,11 +30,11 @@ site: http://www.cs.unipr.it/ppl/ . */
 //! Wraps a widening method into a function object.
 /*! \ingroup PPL_CXX_interface */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename PH>
+template <typename PSET>
 class Parma_Polyhedra_Library::Widening_Function {
 public:
   //! The (parametric) type of a widening method.
-  typedef void (PH::* Widening_Method)(const PH&, unsigned*);
+  typedef void (PSET::* Widening_Method)(const PSET&, unsigned*);
 
   //! Explicit unary constructor.
   explicit
@@ -45,7 +45,7 @@ public:
     Computes <CODE>(x.*wm)(y, tp)</CODE>, where \p wm is the widening
     method stored at construction time.
   */
-  void operator()(PH& x, const PH& y, unsigned* tp = 0) const;
+  void operator()(PSET& x, const PSET& y, unsigned* tp = 0) const;
 
 private:
   //! The widening method.
@@ -57,13 +57,13 @@ private:
 //! Wraps a limited widening method into a function object.
 /*! \ingroup PPL_CXX_interface */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename PH, typename CS>
+template <typename PSET, typename CSYS>
 class Parma_Polyhedra_Library::Limited_Widening_Function {
 public:
   //! The (parametric) type of a limited widening method.
-  typedef void (PH::* Limited_Widening_Method)(const PH&,
-					       const CS&,
-					       unsigned*);
+  typedef void (PSET::* Limited_Widening_Method)(const PSET&,
+                                                 const CSYS&,
+                                                 unsigned*);
 
   //! Constructor.
   /*!
@@ -74,7 +74,7 @@ public:
     The constraint system limiting the widening.
   */
   Limited_Widening_Function(Limited_Widening_Method lwm,
-			    const CS& cs);
+			    const CSYS& cs);
 
   //! Function-application operator.
   /*!
@@ -82,13 +82,13 @@ public:
     are the limited widening method and the constraint system stored
     at construction time.
   */
-  void operator()(PH& x, const PH& y, unsigned* tp = 0) const;
+  void operator()(PSET& x, const PSET& y, unsigned* tp = 0) const;
 
 private:
   //! The limited widening method.
   Limited_Widening_Method lw_method;
   //! A constant reference to the constraint system limiting the widening.
-  const CS& limiting_cs;
+  const CSYS& limiting_cs;
 };
 
 namespace Parma_Polyhedra_Library {
@@ -100,9 +100,9 @@ namespace Parma_Polyhedra_Library {
   \param wm
   The widening method.
 */
-template <typename PH>
-Widening_Function<PH>
-widen_fun_ref(void (PH::* wm)(const PH&, unsigned*));
+template <typename PSET>
+Widening_Function<PSET>
+widen_fun_ref(void (PSET::* wm)(const PSET&, unsigned*));
 
 //! Wraps a limited widening method into a function object.
 /*!
@@ -114,10 +114,10 @@ widen_fun_ref(void (PH::* wm)(const PH&, unsigned*));
   \param cs
   The constraint system limiting the widening.
 */
-template <typename PH, typename CS>
-Limited_Widening_Function<PH, CS>
-widen_fun_ref(void (PH::* lwm)(const PH&, const CS&, unsigned*),
-	      const CS& cs);
+template <typename PSET, typename CSYS>
+Limited_Widening_Function<PSET, CSYS>
+widen_fun_ref(void (PSET::* lwm)(const PSET&, const CSYS&, unsigned*),
+	      const CSYS& cs);
 
 } // namespace Parma_Polyhedra_Library
 
diff --git a/src/Widening_Function.inlines.hh b/src/Widening_Function.inlines.hh
index c7ac672..1ea8d9f 100644
--- a/src/Widening_Function.inlines.hh
+++ b/src/Widening_Function.inlines.hh
@@ -1,5 +1,5 @@
 /* Widening_Function class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -23,49 +23,49 @@ site: http://www.cs.unipr.it/ppl/ . */
 #ifndef PPL_Widening_Function_inlines_hh
 #define PPL_Widening_Function_inlines_hh 1
 
-#include <cassert>
+#include "assert.hh"
 
 namespace Parma_Polyhedra_Library {
 
-template <typename PH>
-Widening_Function<PH>::Widening_Function(Widening_Method wm)
+template <typename PSET>
+Widening_Function<PSET>::Widening_Function(Widening_Method wm)
   : w_method(wm) {
 }
 
-template <typename PH>
+template <typename PSET>
 inline void
-Widening_Function<PH>::
-operator()(PH& x, const PH& y, unsigned* tp) const {
+Widening_Function<PSET>::
+operator()(PSET& x, const PSET& y, unsigned* tp) const {
   (x.*w_method)(y, tp);
 }
 
-template <typename PH, typename CS>
-Limited_Widening_Function<PH, CS>::
+template <typename PSET, typename CSYS>
+Limited_Widening_Function<PSET, CSYS>::
 Limited_Widening_Function(Limited_Widening_Method lwm,
-			  const CS& cs)
+			  const CSYS& cs)
   : lw_method(lwm), limiting_cs(cs) {
 }
 
-template <typename PH, typename CS>
+template <typename PSET, typename CSYS>
 inline void
-Limited_Widening_Function<PH, CS>::
-operator()(PH& x, const PH& y, unsigned* tp) const {
+Limited_Widening_Function<PSET, CSYS>::
+operator()(PSET& x, const PSET& y, unsigned* tp) const {
   (x.*lw_method)(y, limiting_cs, tp);
 }
 
 /*! \relates Pointset_Powerset */
-template <typename PH>
-inline Widening_Function<PH>
-widen_fun_ref(void (PH::* wm)(const PH&, unsigned*)) {
-  return Widening_Function<PH>(wm);
+template <typename PSET>
+inline Widening_Function<PSET>
+widen_fun_ref(void (PSET::* wm)(const PSET&, unsigned*)) {
+  return Widening_Function<PSET>(wm);
 }
 
 /*! \relates Pointset_Powerset */
-template <typename PH, typename CS>
-inline Limited_Widening_Function<PH, CS>
-widen_fun_ref(void (PH::* lwm)(const PH&, const CS&, unsigned*),
-	      const CS& cs) {
-  return Limited_Widening_Function<PH, CS>(lwm, cs);
+template <typename PSET, typename CSYS>
+inline Limited_Widening_Function<PSET, CSYS>
+widen_fun_ref(void (PSET::* lwm)(const PSET&, const CSYS&, unsigned*),
+	      const CSYS& cs) {
+  return Limited_Widening_Function<PSET, CSYS>(lwm, cs);
 }
 
 } // namespace Parma_Polyhedra_Library
diff --git a/src/Widening_Function.types.hh b/src/Widening_Function.types.hh
index 64dcede..8a8315e 100644
--- a/src/Widening_Function.types.hh
+++ b/src/Widening_Function.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
@@ -14,10 +14,10 @@ PURPOSE. */
 
 namespace Parma_Polyhedra_Library {
 
-template <typename PH>
+template <typename PSET>
 class Widening_Function;
 
-template <typename PH, typename CS>
+template <typename PSET, typename CSYS>
 class Limited_Widening_Function;
 
 } // namespace Parma_Polyhedra_Library
diff --git a/src/algorithms.hh b/src/algorithms.hh
index d6f429c..6e323db 100644
--- a/src/algorithms.hh
+++ b/src/algorithms.hh
@@ -1,5 +1,5 @@
 /* A collection of useful convex polyhedra algorithms: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -26,7 +26,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "NNC_Polyhedron.defs.hh"
 #include "Pointset_Powerset.defs.hh"
 #include <utility>
-#include <cassert>
+#include "assert.hh"
 
 namespace Parma_Polyhedra_Library {
 
@@ -60,7 +60,7 @@ poly_hull_assign_if_exact(PH& p, const PH& q) {
     // The polyhedral hull is exact if and only if all the elements
     // of the partition of the polyhedral hull of `p' and `q' with
     // respect to `q' are included in `p'
-    if (!nnc_p.contains(i->element()))
+    if (!nnc_p.contains(i->pointset()))
       return false;
   p = phull;
   return true;
diff --git a/src/assert.hh b/src/assert.hh
new file mode 100644
index 0000000..4a83ae2
--- /dev/null
+++ b/src/assert.hh
@@ -0,0 +1,63 @@
+/* Implementation of PPL_ASSERT macro.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#ifndef PPL_assert_hh
+#define PPL_assert_hh 1
+
+#include <cassert>
+#include "globals.defs.hh"
+
+#if defined(NDEBUG)
+
+#define PPL_ASSERT(cond__)
+#define PPL_ASSERT_HEAVY(cond__)
+
+#else
+
+// Non zero to detect use of PPL_ASSERT instead of PPL_ASSERT_HEAVY
+#define PPL_DEBUG_PPL_ASSERT 1
+#if !PPL_DEBUG_PPL_ASSERT
+#define PPL_ASSERT(cond__) assert(cond__)
+#else
+#define PPL_ASSERT(cond__)				       \
+  do {							       \
+    Parma_Polyhedra_Library::Weightwatch_Traits::Threshold     \
+      old_weight__                                             \
+        = Parma_Polyhedra_Library::Weightwatch_Traits::weight; \
+    assert(cond__);					       \
+    assert(old_weight__ == Parma_Polyhedra_Library::Weightwatch_Traits::weight &&   \
+	   "PPL_ASSERT_HEAVY have to be used here");	   \
+  } while(0)
+#endif
+
+// The evaluation of asserted conditions could have a non zero
+// computational weight (i.e., the execution path could contain an
+// invocation of WEIGHT_ADD).
+#define PPL_ASSERT_HEAVY(cond__)				\
+  do {								\
+      ++Parma_Polyhedra_Library::Implementation::in_assert;	\
+      assert(cond__);						\
+      --Parma_Polyhedra_Library::Implementation::in_assert;	\
+    } while (0)
+#endif
+
+#endif // !defined(PPL_assert_hh)
diff --git a/src/assign_or_swap.hh b/src/assign_or_swap.hh
index 6c12f5c..df7d592 100644
--- a/src/assign_or_swap.hh
+++ b/src/assign_or_swap.hh
@@ -1,5 +1,5 @@
 /* The assign_or_swap() utility functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/c_streambuf.cc b/src/c_streambuf.cc
index a4fdf0c..f8c108e 100644
--- a/src/c_streambuf.cc
+++ b/src/c_streambuf.cc
@@ -1,5 +1,5 @@
 /* c_streambuf class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/c_streambuf.defs.hh b/src/c_streambuf.defs.hh
index 6e406a8..ddea67b 100644
--- a/src/c_streambuf.defs.hh
+++ b/src/c_streambuf.defs.hh
@@ -1,5 +1,5 @@
 /* c_streambuf class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -31,6 +31,8 @@ class Parma_Polyhedra_Library::c_streambuf
 public:
   //! Constructor.
   c_streambuf();
+
+  //! Destructor.
   virtual ~c_streambuf();
 
 protected:
diff --git a/src/c_streambuf.inlines.hh b/src/c_streambuf.inlines.hh
index d6b8718..4078ccd 100644
--- a/src/c_streambuf.inlines.hh
+++ b/src/c_streambuf.inlines.hh
@@ -1,5 +1,5 @@
 /* c_streambuf class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/c_streambuf.types.hh b/src/c_streambuf.types.hh
index c9aea28..7743142 100644
--- a/src/c_streambuf.types.hh
+++ b/src/c_streambuf.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/checked.cc b/src/checked.cc
index bd19e2b..9e32beb 100644
--- a/src/checked.cc
+++ b/src/checked.cc
@@ -1,5 +1,5 @@
 /* Helper functions for checked numbers
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -26,10 +26,14 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace Parma_Polyhedra_Library {
 
+Minus_Infinity MINUS_INFINITY;
+Plus_Infinity PLUS_INFINITY;
+Not_A_Number NOT_A_NUMBER;
+
 namespace Checked {
 
-//! Holds the precision parameter used for rational sqrt calculations.
-unsigned long rational_sqrt_precision_parameter;
+//! Holds the precision parameter used for irrational calculations.
+unsigned irrational_precision;
 
 struct number_struct {
   unsigned int base;
@@ -90,7 +94,7 @@ sum_sign(bool& a_neg, unsigned long& a_mod,
 */
 Result
 parse_number_part(std::istream& is, number_struct& num) {
-  enum { BASE, INTEGER, FRACTIONAL, EXPONENT } state = BASE;
+  enum anonymous_enum { BASE, INTEGER, FRACTIONAL, EXPONENT } state = BASE;
   PPL_UNINITIALIZED(unsigned long, max_exp_div);
   PPL_UNINITIALIZED(int, max_exp_rem);
   bool empty_exponent = true;
@@ -122,7 +126,7 @@ parse_number_part(std::istream& is, number_struct& num) {
     c = is.get();
     if (c != 'n' && c != 'N')
       goto error;
-    return VC_NAN;
+    return V_NAN;
   inf:
   case 'i':
   case 'I':
@@ -132,7 +136,7 @@ parse_number_part(std::istream& is, number_struct& num) {
     c = is.get();
     if (c != 'f' && c != 'F')
       goto error;
-    return num.neg_mantissa ? VC_MINUS_INFINITY : VC_PLUS_INFINITY;
+    return num.neg_mantissa ? V_EQ_MINUS_INFINITY : V_EQ_PLUS_INFINITY;
   }
   if (get_digit(c, 10) < 0)
     goto error;
@@ -312,7 +316,7 @@ input_mpq(mpq_class& to, std::istream& is) {
   if (r != V_EQ)
     return r;
   if (den_struct.base && den_struct.mantissa.empty())
-      return VC_NAN;
+      return V_NAN;
   if (num_struct.mantissa.empty()) {
     to = 0;
     return V_EQ;
diff --git a/src/checked.defs.hh b/src/checked.defs.hh
index 1a1e591..24eb515 100644
--- a/src/checked.defs.hh
+++ b/src/checked.defs.hh
@@ -1,5 +1,5 @@
 /* Abstract checked arithmetic function container
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -319,9 +319,9 @@ namespace Checked {
 #define PPL_SPECIALIZE_COPY(func, Type)                                 \
   PPL_SPECIALIZE_FUN2_0_0(copy, func, void, nonconst, Type, const, Type)
 #define PPL_SPECIALIZE_SGN(func, From)                          \
-  PPL_SPECIALIZE_FUN1_0_0(sgn, func, Result, const, From)
+  PPL_SPECIALIZE_FUN1_0_0(sgn, func, Result_Relation, const, From)
 #define PPL_SPECIALIZE_CMP(func, Type1, Type2)                          \
-  PPL_SPECIALIZE_FUN2_0_0(cmp, func, Result, const, Type1, const, Type2)
+  PPL_SPECIALIZE_FUN2_0_0(cmp, func, Result_Relation, const, Type1, const, Type2)
 #define PPL_SPECIALIZE_CLASSIFY(func, Type)                             \
   PPL_SPECIALIZE_FUN1_0_3(classify, func, Result, const, Type, bool, bool, bool)
 #define PPL_SPECIALIZE_IS_NAN(func, Type)                       \
@@ -334,10 +334,10 @@ namespace Checked {
   PPL_SPECIALIZE_FUN1_0_0(is_int, func, bool, const, Type)
 #define PPL_SPECIALIZE_ASSIGN_SPECIAL(func, Type)                       \
   PPL_SPECIALIZE_FUN1_0_2(assign_special, func, Result,                 \
-                          nonconst, Type, Result, Rounding_Dir)
+                          nonconst, Type, Result_Class, Rounding_Dir)
 #define PPL_SPECIALIZE_CONSTRUCT_SPECIAL(func, Type)                    \
   PPL_SPECIALIZE_FUN1_0_2(construct_special, func, Result, nonconst,    \
-                          Type, Result, Rounding_Dir)
+                          Type, Result_Class, Rounding_Dir)
 #define PPL_SPECIALIZE_CONSTRUCT(func, To, From)                        \
   PPL_SPECIALIZE_FUN2_0_1(construct, func, Result, nonconst, To, \
                           const, From, Rounding_Dir)
@@ -380,12 +380,24 @@ namespace Checked {
 #define PPL_SPECIALIZE_IDIV(func, To, From1, From2)                     \
   PPL_SPECIALIZE_FUN3_0_1(idiv, func, Result, nonconst, To,             \
                           const, From1, const, From2, Rounding_Dir)
-#define PPL_SPECIALIZE_MUL2EXP(func, To, From)                          \
-  PPL_SPECIALIZE_FUN2_0_2(mul2exp, func, Result, nonconst, To,          \
-                          const, From, int, Rounding_Dir)
-#define PPL_SPECIALIZE_DIV2EXP(func, To, From)                          \
-  PPL_SPECIALIZE_FUN2_0_2(div2exp, func, Result, nonconst, To,          \
-                          const, From, int, Rounding_Dir)
+#define PPL_SPECIALIZE_ADD_2EXP(func, To, From)                         \
+  PPL_SPECIALIZE_FUN2_0_2(add_2exp, func, Result, nonconst, To,         \
+                          const, From, unsigned int, Rounding_Dir)
+#define PPL_SPECIALIZE_SUB_2EXP(func, To, From)                         \
+  PPL_SPECIALIZE_FUN2_0_2(sub_2exp, func, Result, nonconst, To,         \
+                          const, From, unsigned int, Rounding_Dir)
+#define PPL_SPECIALIZE_MUL_2EXP(func, To, From)                         \
+  PPL_SPECIALIZE_FUN2_0_2(mul_2exp, func, Result, nonconst, To,         \
+                          const, From, unsigned int, Rounding_Dir)
+#define PPL_SPECIALIZE_DIV_2EXP(func, To, From)                         \
+  PPL_SPECIALIZE_FUN2_0_2(div_2exp, func, Result, nonconst, To,         \
+                          const, From, unsigned int, Rounding_Dir)
+#define PPL_SPECIALIZE_SMOD_2EXP(func, To, From)			\
+  PPL_SPECIALIZE_FUN2_0_2(smod_2exp, func, Result, nonconst, To,	\
+                          const, From, unsigned int, Rounding_Dir)
+#define PPL_SPECIALIZE_UMOD_2EXP(func, To, From)			\
+  PPL_SPECIALIZE_FUN2_0_2(umod_2exp, func, Result, nonconst, To,	\
+                          const, From, unsigned int, Rounding_Dir)
 #define PPL_SPECIALIZE_ADD_MUL(func, To, From1, From2)                  \
   PPL_SPECIALIZE_FUN3_0_1(add_mul, func, Result, nonconst, To,          \
                           const, From1, const, From2, Rounding_Dir)
@@ -414,9 +426,9 @@ namespace Checked {
 PPL_DECLARE_FUN2_0_0(copy,
                      void, nonconst, Type1, const, Type2)
 PPL_DECLARE_FUN1_0_0(sgn,
-                     Result, const, From)
+                     Result_Relation, const, From)
 PPL_DECLARE_FUN2_0_0(cmp,
-                     Result, const, Type1, const, Type2)
+                     Result_Relation, const, Type1, const, Type2)
 PPL_DECLARE_FUN1_0_3(classify,
                      Result, const, Type, bool, bool, bool)
 PPL_DECLARE_FUN1_0_0(is_nan,
@@ -428,9 +440,9 @@ PPL_DECLARE_FUN1_0_0(is_pinf,
 PPL_DECLARE_FUN1_0_0(is_int,
                      bool, const, Type)
 PPL_DECLARE_FUN1_0_2(assign_special,
-                     Result, nonconst, Type, Result, Rounding_Dir)
+                     Result, nonconst, Type, Result_Class, Rounding_Dir)
 PPL_DECLARE_FUN1_0_2(construct_special,
-                     Result, nonconst, Type, Result, Rounding_Dir)
+                     Result, nonconst, Type, Result_Class, Rounding_Dir)
 PPL_DECLARE_FUN2_0_1(construct,
                      Result, nonconst, To, const, From, Rounding_Dir)
 PPL_DECLARE_FUN2_0_1(assign,
@@ -465,10 +477,24 @@ PPL_DECLARE_FUN3_0_1(rem,
 PPL_DECLARE_FUN3_0_1(idiv,
                      Result, nonconst, To,
                      const, From1, const, From2, Rounding_Dir)
-PPL_DECLARE_FUN2_0_2(mul2exp,
-                     Result, nonconst, To, const, From, int, Rounding_Dir)
-PPL_DECLARE_FUN2_0_2(div2exp,
-                     Result, nonconst, To, const, From, int, Rounding_Dir)
+PPL_DECLARE_FUN2_0_2(add_2exp,
+                     Result, nonconst, To,
+                     const, From, unsigned int, Rounding_Dir)
+PPL_DECLARE_FUN2_0_2(sub_2exp,
+                     Result, nonconst, To,
+                     const, From, unsigned int, Rounding_Dir)
+PPL_DECLARE_FUN2_0_2(mul_2exp,
+                     Result, nonconst, To,
+                     const, From, unsigned int, Rounding_Dir)
+PPL_DECLARE_FUN2_0_2(div_2exp,
+                     Result, nonconst, To,
+                     const, From, unsigned int, Rounding_Dir)
+PPL_DECLARE_FUN2_0_2(smod_2exp,
+                     Result, nonconst, To,
+                     const, From, unsigned int, Rounding_Dir)
+PPL_DECLARE_FUN2_0_2(umod_2exp,
+                     Result, nonconst, To,
+                     const, From, unsigned int, Rounding_Dir)
 PPL_DECLARE_FUN3_0_1(add_mul,
                      Result, nonconst, To,
                      const, From1, const, From2, Rounding_Dir)
@@ -511,13 +537,13 @@ Result input_mpq(mpq_class& to, std::istream& is);
 } // namespace Checked
 
 struct Minus_Infinity {
-  static const Result code = VC_MINUS_INFINITY;
+  static const Result_Class vclass = VC_MINUS_INFINITY;
 };
 struct Plus_Infinity {
-  static const Result code = VC_PLUS_INFINITY;
+  static const Result_Class vclass = VC_PLUS_INFINITY;
 };
 struct Not_A_Number {
-  static const Result code = VC_NAN;
+  static const Result_Class vclass = VC_NAN;
 };
 
 template <typename T>
@@ -532,59 +558,91 @@ struct Is_Special<Plus_Infinity> : public True {};
 template <>
 struct Is_Special<Not_A_Number> : public True {};
 
-
-#define MINUS_INFINITY Minus_Infinity()
-#define PLUS_INFINITY Plus_Infinity()
-#define NOT_A_NUMBER Not_A_Number()
+extern Minus_Infinity MINUS_INFINITY;
+extern Plus_Infinity PLUS_INFINITY;
+extern Not_A_Number NOT_A_NUMBER;
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \ingroup PPL_CXX_interface */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 template <typename T>
 struct Checked_Number_Transparent_Policy {
-  //! Checks for overflowed result.
+  //! Do not check for overflowed result.
   const_bool_nodef(check_overflow, false);
 
-  //! Checks for attempts to add infinities with different sign.
+  //! Do not check for attempts to add infinities with different sign.
   const_bool_nodef(check_inf_add_inf, false);
 
-  //! Checks for attempts to subtract infinities with same sign.
+  //! Do not check for attempts to subtract infinities with same sign.
   const_bool_nodef(check_inf_sub_inf, false);
 
-  //! Checks for attempts to multiply infinities by zero.
+  //! Do not check for attempts to multiply infinities by zero.
   const_bool_nodef(check_inf_mul_zero, false);
 
-  //! Checks for attempts to divide by zero.
+  //! Do not check for attempts to divide by zero.
   const_bool_nodef(check_div_zero, false);
 
-  //! Checks for attempts to divide infinities.
+  //! Do not check for attempts to divide infinities.
   const_bool_nodef(check_inf_div_inf, false);
 
-  //! Checks for attempts to compute remainder of infinities.
+  //! Do not check for attempts to compute remainder of infinities.
   const_bool_nodef(check_inf_mod, false);
 
-  //! Checks for attempts to take the square root of a negative number.
+  //! Do not check for attempts to take the square root of a negative number.
   const_bool_nodef(check_sqrt_neg, false);
 
-  //! Handles not-a-number special value.
+  //! Handle not-a-number special value if \p T has it.
   const_bool_nodef(has_nan, std::numeric_limits<T>::has_quiet_NaN);
 
-  //! Handles infinity special values.
+  //! Handle infinity special values if \p T have them.
   const_bool_nodef(has_infinity, std::numeric_limits<T>::has_infinity);
 
-  //! Representation is identical to primitive.
+  /*! \brief
+    The checked number can always be safely converted to the
+    underlying type \p T and vice-versa.
+  */
   const_bool_nodef(convertible, true);
 
-  //! When true, requests to check for FPU inexact result are honored.
+  //! Do not honor requests to check for FPU inexact results.
   const_bool_nodef(fpu_check_inexact, false);
 
-  //! Return VC_NAN on NaN result also for native extended.
-  const_bool_nodef(check_nan_result, false);
+  //! Do not make extra checks to detect FPU NaN results.
+  const_bool_nodef(fpu_check_nan_result, false);
+
+  /*! \brief
+    For constructors, by default use the same rounding used by
+    underlying type.
+  */
   static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_NATIVE;
+
+  /*! \brief
+    For overloaded operators (operator+(), operator-(), ...), by
+    default use the same rounding used by the underlying type.
+  */
   static const Rounding_Dir ROUND_DEFAULT_OPERATOR = ROUND_NATIVE;
-  static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_NATIVE;
+
+  /*! \brief
+    For input functions, by default use the same rounding used by
+    the underlying type.
+  */
   static const Rounding_Dir ROUND_DEFAULT_INPUT = ROUND_NATIVE;
+
+  /*! \brief
+    For output functions, by default use the same rounding used by
+    the underlying type.
+  */
   static const Rounding_Dir ROUND_DEFAULT_OUTPUT = ROUND_NATIVE;
+
+  /*! \brief
+    For all other functions, by default use the same rounding used by
+    the underlying type.
+  */
+  static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_NATIVE;
+
+  /*! \brief
+    Handles \p r: called by all constructors, operators and functions that
+    do not return a Result value.
+  */
   static void handle_result(Result r);
 };
 
diff --git a/src/checked.inlines.hh b/src/checked.inlines.hh
index b340bd9..c5f6412 100644
--- a/src/checked.inlines.hh
+++ b/src/checked.inlines.hh
@@ -1,5 +1,5 @@
 /* Abstract checked arithmetic functions: fall-backs.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -26,7 +26,16 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "globals.types.hh"
 #include "meta_programming.hh"
 #include "C_Integer.hh"
-#include <cassert>
+#include "assert.hh"
+
+/*! \brief
+  Performs the test <CODE>a < b</CODE> avoiding the warning about the
+  comparison being always false due to limited range of data type.
+  FIXME: we don't have found a working solution. gcc option
+  -Wno-type-limits suppress the warning
+*/
+#define PPL_LT_SILENT(a, b) ((a) < (b))
+#define PPL_GT_SILENT(a, b) ((a) > (b))
 
 namespace Parma_Polyhedra_Library {
 
@@ -212,7 +221,7 @@ struct PPL_FUNCTION_CLASS(construct) {
 
 template <typename To_Policy, typename To>
 struct PPL_FUNCTION_CLASS(construct_special) {
-  static inline Result function(To& to, Result r, Rounding_Dir dir) {
+  static inline Result function(To& to, Result_Class r, Rounding_Dir dir) {
     new (&to) To();
     return assign_special<To_Policy>(to, r, dir);
   }
@@ -240,37 +249,6 @@ abs_generic(To& to, const From& from, Rounding_Dir dir) {
     return assign<To_Policy, From_Policy>(to, from, dir);
 }
 
-inline Result
-neg(Result r) {
-  assert(!is_special(r));
-  Result ret = static_cast<Result>(r & V_EQ);
-  if (r & V_LT)
-    ret = static_cast<Result>(ret | V_GT);
-  if (r & V_GT)
-    ret = static_cast<Result>(ret | V_LT);
-  return ret;
-}
-
-inline Result
-add(Result r1, Result r2) {
-  assert(!is_special(r1));
-  assert(!is_special(r2));
-  if (r1 == V_EQ)
-    return r2;
-  if (r2 == V_EQ)
-    return r1;
-  if (((r1 & V_LT) && (r2 & V_GT))
-      || ((r1 & V_GT) && (r2 & V_LT)))
-    return V_LGE;
-  return static_cast<Result>((((r1 & r2) & V_EQ) ? V_EQ : 0) |
-			       (r1 & (V_LT | V_GT)));
-}
-
-inline Result
-sub(Result r1, Result r2) {
-  return add(r1, neg(r2));
-}
-
 template <typename To_Policy, typename From1_Policy, typename From2_Policy,
 	  typename To, typename From>
 inline void
@@ -410,13 +388,13 @@ lcm_gcd_exact(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
 }
 
 template <typename Policy, typename Type>
-inline Result
+inline Result_Relation
 sgn_generic(const Type& x) {
   if (x > 0)
-    return V_GT;
+    return VR_GT;
   if (x == 0)
-    return V_EQ;
-  return V_LT;
+    return VR_EQ;
+  return VR_LT;
 }
 
 template <typename T1, typename T2, typename Enable = void>
@@ -462,7 +440,7 @@ inline typename Enable_If<(!Safe_Int_Comparison<S, U>::value
 			   && C_Integer<U>::value
 			   && C_Integer<S>::is_signed), bool>::type
 lt(const S& x, const U& y) {
-  return x < 0 || x < y;
+  return x < 0 || static_cast<typename C_Integer<S>::other_type>(x) < y;
 }
 
 template <typename U, typename S>
@@ -470,7 +448,7 @@ inline typename Enable_If<(!Safe_Int_Comparison<S, U>::value
 			   && C_Integer<U>::value
 			   && C_Integer<S>::is_signed), bool>::type
 lt(const U& x, const S& y) {
-  return y >= 0 && x < y;
+  return y >= 0 && x < static_cast<typename C_Integer<S>::other_type>(y);
 }
 
 template <typename S, typename U>
@@ -478,7 +456,7 @@ inline typename Enable_If<(!Safe_Int_Comparison<S, U>::value
 			   && C_Integer<U>::value
 			   && C_Integer<S>::is_signed), bool>::type
 le(const S& x, const U& y) {
-  return x < 0 || x <= y;
+  return x < 0 || static_cast<typename C_Integer<S>::other_type>(x) <= y;
 }
 
 template <typename U, typename S>
@@ -486,7 +464,7 @@ inline typename Enable_If<(!Safe_Int_Comparison<S, U>::value
 			   && C_Integer<U>::value
 			   && C_Integer<S>::is_signed), bool>::type
 le(const U& x, const S& y) {
-  return y >= 0 && x <= y;
+  return y >= 0 && x <= static_cast<typename C_Integer<S>::other_type>(y);
 }
 
 template <typename S, typename U>
@@ -494,7 +472,7 @@ inline typename Enable_If<(!Safe_Int_Comparison<S, U>::value
 			   && C_Integer<U>::value
 			   && C_Integer<S>::is_signed), bool>::type
 eq(const S& x, const U& y) {
-  return x >= 0 && x == y;
+  return x >= 0 && static_cast<typename C_Integer<S>::other_type>(x) == y;
 }
 
 template <typename U, typename S>
@@ -502,7 +480,7 @@ inline typename Enable_If<(!Safe_Int_Comparison<S, U>::value
 			   && C_Integer<U>::value
 			   && C_Integer<S>::is_signed), bool>::type
 eq(const U& x, const S& y) {
-  return y >= 0 && x == y;
+  return y >= 0 && x == static_cast<typename C_Integer<S>::other_type>(y);
 }
 
 template <typename T1, typename T2>
@@ -511,12 +489,12 @@ inline typename Enable_If<(!Safe_Conversion<T1, T2>::value
 			   && (!C_Integer<T1>::value || !C_Integer<T2>::value)), bool>::type
 eq(const T1& x, const T2& y) {
   PPL_DIRTY_TEMP(T1, tmp);
-  Result r = assign_r(tmp, y, static_cast<Rounding_Dir>(ROUND_DIRECT | ROUND_FPU_CHECK_INEXACT));
+  Result r = assign_r(tmp, y, ROUND_CHECK);
   // FIXME: We can do this also without fpu inexact check using a
   // conversion back and forth and then testing equality.  We should
   // code this in checked_float.inlines.hh, probably it's faster also
   // if fpu supports inexact check.
-  assert(r != V_LE && r != V_GE && r != V_LGE);
+  PPL_ASSERT(r != V_LE && r != V_GE && r != V_LGE);
   return r == V_EQ && x == tmp;
 }
 
@@ -527,13 +505,12 @@ inline typename Enable_If<(!Safe_Conversion<T1, T2>::value
 lt(const T1& x, const T2& y) {
   PPL_DIRTY_TEMP(T1, tmp);
   Result r = assign_r(tmp, y, ROUND_UP);
-  switch (r) {
-  case V_POS_OVERFLOW:
-  case VC_PLUS_INFINITY:
+  if (!result_representable(r))
     return true;
-  case V_EQ:
-  case V_LT:
-  case V_LE:
+  switch (result_relation(r)) {
+  case VR_EQ:
+  case VR_LT:
+  case VR_LE:
     return x < tmp;
   default:
     return false;
@@ -550,20 +527,19 @@ le(const T1& x, const T2& y) {
   Result r
     = assign_r(tmp,
                y,
-               static_cast<Rounding_Dir>(ROUND_UP | ROUND_FPU_CHECK_INEXACT));
-  switch (r) {
-  case V_POS_OVERFLOW:
-  case VC_PLUS_INFINITY:
+               static_cast<Rounding_Dir>(ROUND_UP | ROUND_STRICT_RELATION));
+  if (!result_representable(r))
     return true;
-  case V_EQ:
+  switch (result_relation(r)) {
+  case VR_EQ:
     return x <= tmp;
-  case V_LT:
+  case VR_LT:
     return x < tmp;
-  case V_LE:
-  case V_GE:
-  case V_LGE:
+  case VR_LE:
+  case VR_GE:
+  case VR_LGE:
     // FIXME: See comment above.
-    assert(0);
+    PPL_ASSERT(0);
   default:
     return false;
   }
@@ -592,13 +568,20 @@ eq_p(const Type1& x, const Type2& y) {
 
 template <typename Policy1, typename Policy2,
 	  typename Type1, typename Type2>
-inline Result
+inline Result_Relation
 cmp_generic(const Type1& x, const Type2& y) {
   if (lt(y, x))
-    return V_GT;
+    return VR_GT;
   if (lt(x, y))
-    return V_LT;
-  return V_EQ;
+    return VR_LT;
+  return VR_EQ;
+}
+
+template <typename Policy, typename Type>
+inline Result
+assign_nan(Type& to, Result r) {
+  assign_special<Policy>(to, VC_NAN, ROUND_IGNORE);
+  return r;
 }
 
 template <typename Policy, typename Type>
@@ -606,12 +589,18 @@ inline Result
 input_generic(Type& to, std::istream& is, Rounding_Dir dir) {
   PPL_DIRTY_TEMP0(mpq_class, q);
   Result r = input_mpq(q, is);
-  if (is_special(r))
-    return assign_special<Policy>(to, r, dir);
-  if (r == V_EQ)
-    return assign<Policy, void>(to, q, dir);
-  assert(0);
-  return VC_NAN;
+  Result_Class c = result_class(r);
+  switch (c) {
+  case VC_MINUS_INFINITY:
+  case VC_PLUS_INFINITY:
+    return assign_special<Policy>(to, c, dir);
+  case VC_NAN:
+    return assign_nan<Policy>(to, r);
+  default:
+    break;
+  }
+  PPL_ASSERT(r == V_EQ);
+  return assign<Policy, void>(to, q, dir);
 }
 
 } // namespace Checked
diff --git a/src/checked_ext.inlines.hh b/src/checked_ext.inlines.hh
index 843f2e4..312bd38 100644
--- a/src/checked_ext.inlines.hh
+++ b/src/checked_ext.inlines.hh
@@ -1,5 +1,5 @@
 /* Checked extended arithmetic functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -46,16 +46,16 @@ ext_to_handle(const Type& x) {
 }
 
 template <typename Policy, typename Type>
-inline Result
+inline Result_Relation
 sgn_ext(const Type& x) {
   if (!ext_to_handle<Policy>(x))
     goto native;
   if (is_nan<Policy>(x))
-    return VC_NAN;
+    return VR_EMPTY;
   else if (is_minf<Policy>(x))
-    return V_LT;
+    return VR_LT;
   else if (is_pinf<Policy>(x))
-    return V_GT;
+    return VR_GT;
   else {
   native:
     return sgn<Policy>(x);
@@ -203,7 +203,7 @@ add_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
   else if (is_pinf<From1_Policy>(x)) {
     if (CHECK_P(To_Policy::check_inf_add_inf, is_minf<From2_Policy>(y))) {
     inf_add_inf:
-      return assign_special<To_Policy>(to, V_INF_ADD_INF, ROUND_IGNORE);
+      return assign_nan<To_Policy>(to, V_INF_ADD_INF);
     }
     else
       goto pinf;
@@ -241,7 +241,7 @@ sub_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
   else if (is_pinf<From1_Policy>(x)) {
     if (CHECK_P(To_Policy::check_inf_sub_inf, is_pinf<From2_Policy>(y))) {
     inf_sub_inf:
-      return assign_special<To_Policy>(to, V_INF_SUB_INF, ROUND_IGNORE);
+      return assign_nan<To_Policy>(to, V_INF_SUB_INF);
     }
     else
       goto pinf;
@@ -272,9 +272,9 @@ mul_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
     return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
   if (is_minf<From1_Policy>(x)) {
     switch (sgn_ext<From2_Policy>(y)) {
-    case V_LT:
+    case VR_LT:
       goto pinf;
-    case V_GT:
+    case VR_GT:
       goto minf;
     default:
       goto inf_mul_zero;
@@ -282,9 +282,9 @@ mul_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
   }
   else if (is_pinf<From1_Policy>(x)) {
     switch (sgn_ext<From2_Policy>(y)) {
-    case V_LT:
+    case VR_LT:
       goto minf;
-    case V_GT:
+    case VR_GT:
       goto pinf;
     default:
       goto inf_mul_zero;
@@ -293,9 +293,9 @@ mul_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
   else {
     if (is_minf<From2_Policy>(y)) {
       switch (sgn<From1_Policy>(x)) {
-      case V_LT:
+      case VR_LT:
 	goto pinf;
-      case V_GT:
+      case VR_GT:
 	goto minf;
       default:
 	goto inf_mul_zero;
@@ -303,16 +303,16 @@ mul_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
     }
     else if (is_pinf<From2_Policy>(y)) {
       switch (sgn<From1_Policy>(x)) {
-      case V_LT:
+      case VR_LT:
       minf:
 	return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-      case V_GT:
+      case VR_GT:
       pinf:
 	return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
       default:
       inf_mul_zero:
-	assert(To_Policy::check_inf_mul_zero);
-	return assign_special<To_Policy>(to, V_INF_MUL_ZERO, ROUND_IGNORE);
+	PPL_ASSERT(To_Policy::check_inf_mul_zero);
+	return assign_nan<To_Policy>(to, V_INF_MUL_ZERO);
       }
     }
     else {
@@ -335,9 +335,9 @@ add_mul_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
     return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
   if (is_minf<From1_Policy>(x)) {
     switch (sgn_ext<From2_Policy>(y)) {
-    case V_LT:
+    case VR_LT:
       goto a_pinf;
-    case V_GT:
+    case VR_GT:
       goto a_minf;
     default:
       goto inf_mul_zero;
@@ -345,9 +345,9 @@ add_mul_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
   }
   else if (is_pinf<From1_Policy>(x)) {
     switch (sgn_ext<From2_Policy>(y)) {
-    case V_LT:
+    case VR_LT:
       goto a_minf;
-    case V_GT:
+    case VR_GT:
       goto a_pinf;
     default:
       goto inf_mul_zero;
@@ -356,9 +356,9 @@ add_mul_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
   else {
     if (is_minf<From2_Policy>(y)) {
       switch (sgn<From1_Policy>(x)) {
-      case V_LT:
+      case VR_LT:
 	goto a_pinf;
-      case V_GT:
+      case VR_GT:
 	goto a_minf;
       default:
 	goto inf_mul_zero;
@@ -366,24 +366,24 @@ add_mul_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
     }
     else if (is_pinf<From2_Policy>(y)) {
       switch (sgn<From1_Policy>(x)) {
-      case V_LT:
+      case VR_LT:
       a_minf:
 	if (CHECK_P(To_Policy::check_inf_add_inf, is_pinf<To_Policy>(to)))
 	  goto inf_add_inf;
 	else
 	  goto minf;
-      case V_GT:
+      case VR_GT:
       a_pinf:
 	if (CHECK_P(To_Policy::check_inf_add_inf, is_minf<To_Policy>(to))) {
 	inf_add_inf:
-	  return assign_special<To_Policy>(to, V_INF_ADD_INF, ROUND_IGNORE);
+	  return assign_nan<To_Policy>(to, V_INF_ADD_INF);
 	}
 	else
 	  goto pinf;
       default:
       inf_mul_zero:
-	assert(To_Policy::check_inf_mul_zero);
-	return assign_special<To_Policy>(to, V_INF_MUL_ZERO, ROUND_IGNORE);
+	PPL_ASSERT(To_Policy::check_inf_mul_zero);
+	return assign_nan<To_Policy>(to, V_INF_MUL_ZERO);
       }
     }
     else {
@@ -413,9 +413,9 @@ sub_mul_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
     return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
   if (is_minf<From1_Policy>(x)) {
     switch (sgn_ext<From2_Policy>(y)) {
-    case V_LT:
+    case VR_LT:
       goto a_pinf;
-    case V_GT:
+    case VR_GT:
       goto a_minf;
     default:
       goto inf_mul_zero;
@@ -423,9 +423,9 @@ sub_mul_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
   }
   else if (is_pinf<From1_Policy>(x)) {
     switch (sgn_ext<From2_Policy>(y)) {
-    case V_LT:
+    case VR_LT:
       goto a_minf;
-    case V_GT:
+    case VR_GT:
       goto a_pinf;
     default:
       goto inf_mul_zero;
@@ -434,9 +434,9 @@ sub_mul_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
   else {
     if (is_minf<From2_Policy>(y)) {
       switch (sgn<From1_Policy>(x)) {
-      case V_LT:
+      case VR_LT:
 	goto a_pinf;
-      case V_GT:
+      case VR_GT:
 	goto a_minf;
       default:
 	goto inf_mul_zero;
@@ -444,24 +444,24 @@ sub_mul_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
     }
     else if (is_pinf<From2_Policy>(y)) {
       switch (sgn<From1_Policy>(x)) {
-      case V_LT:
+      case VR_LT:
       a_minf:
 	if (CHECK_P(To_Policy::check_inf_sub_inf, is_minf<To_Policy>(to)))
 	  goto inf_sub_inf;
 	else
 	  goto pinf;
-      case V_GT:
+      case VR_GT:
       a_pinf:
 	if (CHECK_P(To_Policy::check_inf_sub_inf, is_pinf<To_Policy>(to))) {
 	inf_sub_inf:
-	  return assign_special<To_Policy>(to, V_INF_SUB_INF, ROUND_IGNORE);
+	  return assign_nan<To_Policy>(to, V_INF_SUB_INF);
 	}
 	else
 	  goto minf;
       default:
       inf_mul_zero:
-	assert(To_Policy::check_inf_mul_zero);
-	return assign_special<To_Policy>(to, V_INF_MUL_ZERO, ROUND_IGNORE);
+	PPL_ASSERT(To_Policy::check_inf_mul_zero);
+	return assign_nan<To_Policy>(to, V_INF_MUL_ZERO);
       }
     }
     else {
@@ -493,9 +493,9 @@ div_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
       goto inf_div_inf;
     else {
       switch (sgn<From2_Policy>(y)) {
-      case V_LT:
+      case VR_LT:
 	goto pinf;
-      case V_GT:
+      case VR_GT:
 	goto minf;
       default:
 	goto div_zero;
@@ -506,20 +506,20 @@ div_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
     if (CHECK_P(To_Policy::check_inf_div_inf, is_minf<From2_Policy>(y)
 		|| is_pinf<From2_Policy>(y))) {
     inf_div_inf:
-      return assign_special<To_Policy>(to, V_INF_DIV_INF, ROUND_IGNORE);
+      return assign_nan<To_Policy>(to, V_INF_DIV_INF);
     }
     else {
       switch (sgn<From2_Policy>(y)) {
-      case V_LT:
+      case VR_LT:
       minf:
 	return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-      case V_GT:
+      case VR_GT:
       pinf:
 	return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
       default:
       div_zero:
-	assert(To_Policy::check_div_zero);
-	return assign_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
+	PPL_ASSERT(To_Policy::check_div_zero);
+	return assign_nan<To_Policy>(to, V_DIV_ZERO);
       }
     }
   }
@@ -550,9 +550,9 @@ idiv_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
       goto inf_div_inf;
     else {
       switch (sgn<From2_Policy>(y)) {
-      case V_LT:
+      case VR_LT:
 	goto pinf;
-      case V_GT:
+      case VR_GT:
 	goto minf;
       default:
 	goto div_zero;
@@ -563,20 +563,20 @@ idiv_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
     if (CHECK_P(To_Policy::check_inf_div_inf, is_minf<From2_Policy>(y)
 		|| is_pinf<From2_Policy>(y))) {
     inf_div_inf:
-      return assign_special<To_Policy>(to, V_INF_DIV_INF, ROUND_IGNORE);
+      return assign_nan<To_Policy>(to, V_INF_DIV_INF);
     }
     else {
       switch (sgn<From2_Policy>(y)) {
-      case V_LT:
+      case VR_LT:
       minf:
 	return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-      case V_GT:
+      case VR_GT:
       pinf:
 	return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
       default:
       div_zero:
-	assert(To_Policy::check_div_zero);
-	return assign_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
+	PPL_ASSERT(To_Policy::check_div_zero);
+	return assign_nan<To_Policy>(to, V_DIV_ZERO);
       }
     }
   }
@@ -602,8 +602,9 @@ rem_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
   if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
     return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
   else if (CHECK_P(To_Policy::check_inf_mod, is_minf<From1_Policy>(x)
-		   || is_pinf<From1_Policy>(x)))
-    return assign_special<To_Policy>(to, V_INF_MOD, ROUND_IGNORE);
+		   || is_pinf<From1_Policy>(x))) {
+    return assign_nan<To_Policy>(to, V_INF_MOD);
+  }
   else {
     if (is_minf<From1_Policy>(y) || is_pinf<From2_Policy>(y)) {
       to = x;
@@ -619,7 +620,7 @@ rem_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
 template <typename To_Policy, typename From_Policy,
 	  typename To, typename From>
 inline Result
-mul2exp_ext(To& to, const From& x, int exp, Rounding_Dir dir) {
+add_2exp_ext(To& to, const From& x, unsigned int exp, Rounding_Dir dir) {
   if (!ext_to_handle<From_Policy>(x))
     goto native;
   if (is_nan<From_Policy>(x))
@@ -630,14 +631,14 @@ mul2exp_ext(To& to, const From& x, int exp, Rounding_Dir dir) {
     return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
   else {
   native:
-    return mul2exp<To_Policy, From_Policy>(to, x, exp, dir);
+    return add_2exp<To_Policy, From_Policy>(to, x, exp, dir);
   }
 }
 
 template <typename To_Policy, typename From_Policy,
 	  typename To, typename From>
 inline Result
-div2exp_ext(To& to, const From& x, int exp, Rounding_Dir dir) {
+sub_2exp_ext(To& to, const From& x, unsigned int exp, Rounding_Dir dir) {
   if (!ext_to_handle<From_Policy>(x))
     goto native;
   if (is_nan<From_Policy>(x))
@@ -648,20 +649,93 @@ div2exp_ext(To& to, const From& x, int exp, Rounding_Dir dir) {
     return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
   else {
   native:
-    return div2exp<To_Policy, From_Policy>(to, x, exp, dir);
+    return sub_2exp<To_Policy, From_Policy>(to, x, exp, dir);
   }
 }
 
 template <typename To_Policy, typename From_Policy,
 	  typename To, typename From>
 inline Result
-sqrt_ext(To& to, const From& x, Rounding_Dir dir) {
+mul_2exp_ext(To& to, const From& x, unsigned int exp, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  else {
+  native:
+    return mul_2exp<To_Policy, From_Policy>(to, x, exp, dir);
+  }
+}
+
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+div_2exp_ext(To& to, const From& x, int exp, Rounding_Dir dir) {
   if (!ext_to_handle<From_Policy>(x))
     goto native;
   if (is_nan<From_Policy>(x))
     return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
   else if (is_minf<From_Policy>(x))
-    return assign_special<To_Policy>(to, V_SQRT_NEG, ROUND_IGNORE);
+    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  else {
+  native:
+    return div_2exp<To_Policy, From_Policy>(to, x, exp, dir);
+  }
+}
+
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+smod_2exp_ext(To& to, const From& x, unsigned int exp, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (CHECK_P(To_Policy::check_inf_mod, is_minf<From_Policy>(x)
+		   || is_pinf<From_Policy>(x))) {
+    return assign_nan<To_Policy>(to, V_INF_MOD);
+  }
+  else {
+  native:
+    return smod_2exp<To_Policy, From_Policy>(to, x, exp, dir);
+  }
+}
+
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+umod_2exp_ext(To& to, const From& x, unsigned int exp, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (CHECK_P(To_Policy::check_inf_mod, is_minf<From_Policy>(x)
+		   || is_pinf<From_Policy>(x))) {
+    return assign_nan<To_Policy>(to, V_INF_MOD);
+  }
+  else {
+  native:
+    return umod_2exp<To_Policy, From_Policy>(to, x, exp, dir);
+  }
+}
+
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+sqrt_ext(To& to, const From& x, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(x)) {
+    return assign_nan<To_Policy>(to, V_SQRT_NEG);
+  }
   else if (is_pinf<From_Policy>(x))
     return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
   else {
@@ -722,21 +796,21 @@ lcm_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
 
 template <typename Policy1, typename Policy2,
 	  typename Type1, typename Type2>
-inline Result
+inline Result_Relation
 cmp_ext(const Type1& x, const Type2& y) {
   if (!ext_to_handle<Policy1>(x) && !ext_to_handle<Policy2>(y))
     goto native;
   if (is_nan<Policy1>(x) || is_nan<Policy2>(y))
-    return V_UNORD_COMP;
+    return VR_EMPTY;
   else if (is_minf<Policy1>(x))
-    return is_minf<Policy2>(y) ? V_EQ : V_LT;
+    return is_minf<Policy2>(y) ? VR_EQ : VR_LT;
   else if (is_pinf<Policy1>(x))
-    return is_pinf<Policy2>(y) ? V_EQ : V_GT;
+    return is_pinf<Policy2>(y) ? VR_EQ : VR_GT;
   else {
     if (is_minf<Policy2>(y))
-      return V_GT;
+      return VR_GT;
     if (is_pinf<Policy2>(y))
-      return V_LT;
+      return VR_LT;
   native:
     return cmp<Policy1, Policy2>(x, y);
   }
@@ -821,7 +895,7 @@ output_ext(std::ostream& os, const Type& x,
     goto native;
   if (is_nan<Policy>(x)) {
     os << "nan";
-    return VC_NAN;
+    return V_NAN;
   }
   if (is_minf<Policy>(x)) {
     os << "-inf";
diff --git a/src/checked_float.inlines.hh b/src/checked_float.inlines.hh
index 6783260..a32b8ab 100644
--- a/src/checked_float.inlines.hh
+++ b/src/checked_float.inlines.hh
@@ -1,5 +1,5 @@
 /* Specialized "checked" functions for native floating-point numbers.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -99,7 +99,7 @@ rint(long double x) {
 
 inline bool
 fpu_direct_rounding(Rounding_Dir dir) {
-  return round_direct(dir) || round_ignore(dir);
+  return round_direct(dir) || round_not_requested(dir);
 }
 
 inline bool
@@ -150,13 +150,13 @@ inline Result
 classify_float(const T v, bool nan, bool inf, bool sign) {
   Float<T> f(v);
   if ((nan || sign) && CHECK_P(Policy::has_nan, f.u.binary.is_nan()))
-    return VC_NAN;
+    return V_NAN;
   if (inf) {
     int i = CHECK_P(Policy::has_infinity, f.u.binary.is_inf());
     if (i < 0)
-      return VC_MINUS_INFINITY;
+      return V_EQ_MINUS_INFINITY;
     if (i > 0)
-      return VC_PLUS_INFINITY;
+      return V_EQ_PLUS_INFINITY;
   }
   if (sign) {
     if (v < 0)
@@ -165,7 +165,7 @@ classify_float(const T v, bool nan, bool inf, bool sign) {
       return V_GT;
     return V_EQ;
   }
-  return VC_NORMAL;
+  return V_LGE;
 }
 
 template <typename Policy, typename T>
@@ -202,29 +202,29 @@ is_int_float(const T v) {
 
 template <typename Policy, typename T>
 inline Result
-assign_special_float(T& v, Result r, Rounding_Dir) {
-  switch (classify(r)) {
+assign_special_float(T& v, Result_Class c, Rounding_Dir) {
+  switch (c) {
   case VC_MINUS_INFINITY:
     v = -HUGE_VAL;
-    break;
+    return V_EQ_MINUS_INFINITY;
   case VC_PLUS_INFINITY:
     v = HUGE_VAL;
-    break;
+    return V_EQ_PLUS_INFINITY;
   case VC_NAN:
     v = PPL_NAN;
-    return r;
+    return V_NAN;
   default:
-    break;
+    PPL_ASSERT(false);
+    return V_NAN | V_UNREPRESENTABLE;
   }
-  return V_EQ;
 }
 
 template <typename T>
 inline void
 pred_float(T& v) {
   Float<T> f(v);
-  assert(!f.u.binary.is_nan());
-  assert(f.u.binary.is_inf() >= 0);
+  PPL_ASSERT(!f.u.binary.is_nan());
+  PPL_ASSERT(f.u.binary.is_inf() >= 0);
   if (f.u.binary.is_zero() > 0) {
     f.u.binary.negate();
     f.u.binary.inc();
@@ -242,8 +242,8 @@ template <typename T>
 inline void
 succ_float(T& v) {
   Float<T> f(v);
-  assert(!f.u.binary.is_nan());
-  assert(f.u.binary.is_inf() <= 0);
+  PPL_ASSERT(!f.u.binary.is_nan());
+  PPL_ASSERT(f.u.binary.is_inf() <= 0);
   if (f.u.binary.is_zero() < 0) {
     f.u.binary.negate();
     f.u.binary.inc();
@@ -281,14 +281,16 @@ round_gt_float(To& to, Rounding_Dir dir) {
 template <typename Policy>
 inline void
 prepare_inexact(Rounding_Dir dir) {
-  if (Policy::fpu_check_inexact && round_fpu_check_inexact(dir))
+  if (Policy::fpu_check_inexact
+      && !round_not_needed(dir) && round_strict_relation(dir))
     fpu_reset_inexact();
 }
 
 template <typename Policy>
 inline Result
 result_relation(Rounding_Dir dir) {
-  if (Policy::fpu_check_inexact && round_fpu_check_inexact(dir)) {
+  if (Policy::fpu_check_inexact
+      && !round_not_needed(dir) && round_strict_relation(dir)) {
     switch (fpu_check_inexact()) {
     case 0:
       return V_EQ;
@@ -322,7 +324,7 @@ result_relation(Rounding_Dir dir) {
 template <typename To_Policy, typename From_Policy, typename To, typename From>
 inline Result
 assign_float_float_exact(To& to, const From from, Rounding_Dir) {
-  if (To_Policy::check_nan_result && is_nan<From_Policy>(from))
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
     return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
   to = from;
   return V_EQ;
@@ -331,7 +333,7 @@ assign_float_float_exact(To& to, const From from, Rounding_Dir) {
 template <typename To_Policy, typename From_Policy, typename To, typename From>
 inline Result
 assign_float_float_inexact(To& to, const From from, Rounding_Dir dir) {
-  if (To_Policy::check_nan_result && is_nan<From_Policy>(from))
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
     return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
   prepare_inexact<To_Policy>(dir);
   if (fpu_direct_rounding(dir))
@@ -365,7 +367,7 @@ assign_float_float(To& to, const From from, Rounding_Dir dir) {
 template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
 floor_float(Type& to, const Type from, Rounding_Dir) {
-  if (To_Policy::check_nan_result && is_nan<From_Policy>(from))
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
     return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
   if (fpu_direct_rounding(ROUND_DOWN))
     to = rint(from);
@@ -388,7 +390,7 @@ floor_float(Type& to, const Type from, Rounding_Dir) {
 template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
 ceil_float(Type& to, const Type from, Rounding_Dir) {
-  if (To_Policy::check_nan_result && is_nan<From_Policy>(from))
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
     return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
   if (fpu_direct_rounding(ROUND_UP))
     to = rint(from);
@@ -411,7 +413,7 @@ ceil_float(Type& to, const Type from, Rounding_Dir) {
 template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
 trunc_float(Type& to, const Type from, Rounding_Dir dir) {
-  if (To_Policy::check_nan_result && is_nan<From_Policy>(from))
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
     return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
   if (from >= 0)
     return floor<To_Policy, From_Policy>(to, from, dir);
@@ -422,7 +424,7 @@ trunc_float(Type& to, const Type from, Rounding_Dir dir) {
 template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
 neg_float(Type& to, const Type from, Rounding_Dir) {
-  if (To_Policy::check_nan_result && is_nan<From_Policy>(from))
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
     return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
   to = -from;
   return V_EQ;
@@ -433,8 +435,9 @@ template <typename To_Policy, typename From1_Policy, typename From2_Policy,
 inline Result
 add_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   if (To_Policy::check_inf_add_inf
-      && is_inf_float<From1_Policy>(x) && x == -y)
-    return assign_special<To_Policy>(to, V_INF_ADD_INF, ROUND_IGNORE);
+      && is_inf_float<From1_Policy>(x) && x == -y) {
+    return assign_nan<To_Policy>(to, V_INF_ADD_INF);
+  }
   prepare_inexact<To_Policy>(dir);
   if (fpu_direct_rounding(dir))
     to = x + y;
@@ -452,8 +455,8 @@ add_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
     limit_precision(to);
     fpu_restore_rounding_direction(old);
   }
-  if (To_Policy::check_nan_result && is_nan<To_Policy>(to))
-    return VC_NAN;
+  if (To_Policy::fpu_check_nan_result && is_nan<To_Policy>(to))
+    return V_NAN;
   return result_relation<To_Policy>(dir);
 }
 
@@ -462,8 +465,9 @@ template <typename To_Policy, typename From1_Policy, typename From2_Policy,
 inline Result
 sub_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   if (To_Policy::check_inf_sub_inf
-      && is_inf_float<From1_Policy>(x) && x == y)
-    return assign_special<To_Policy>(to, V_INF_SUB_INF, ROUND_IGNORE);
+      && is_inf_float<From1_Policy>(x) && x == y) {
+    return assign_nan<To_Policy>(to, V_INF_SUB_INF);
+  }
   prepare_inexact<To_Policy>(dir);
   if (fpu_direct_rounding(dir))
     to = x - y;
@@ -481,8 +485,8 @@ sub_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
     limit_precision(to);
     fpu_restore_rounding_direction(old);
   }
-  if (To_Policy::check_nan_result && is_nan<To_Policy>(to))
-    return VC_NAN;
+  if (To_Policy::fpu_check_nan_result && is_nan<To_Policy>(to))
+    return V_NAN;
   return result_relation<To_Policy>(dir);
 }
 
@@ -491,9 +495,11 @@ template <typename To_Policy, typename From1_Policy, typename From2_Policy,
 inline Result
 mul_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   if (To_Policy::check_inf_mul_zero
-      && ((x == 0 && is_inf_float<From2_Policy>(y)) ||
-	  (y == 0 && is_inf_float<From1_Policy>(x))))
-    return assign_special<To_Policy>(to, V_INF_MUL_ZERO, ROUND_IGNORE);
+      && ((x == 0 && is_inf_float<From2_Policy>(y))
+          ||
+	  (y == 0 && is_inf_float<From1_Policy>(x)))) {
+    return assign_nan<To_Policy>(to, V_INF_MUL_ZERO);
+  }
   prepare_inexact<To_Policy>(dir);
   if (fpu_direct_rounding(dir))
     to = x * y;
@@ -511,8 +517,8 @@ mul_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
     limit_precision(to);
     fpu_restore_rounding_direction(old);
   }
-  if (To_Policy::check_nan_result && is_nan<To_Policy>(to))
-    return VC_NAN;
+  if (To_Policy::fpu_check_nan_result && is_nan<To_Policy>(to))
+    return V_NAN;
   return result_relation<To_Policy>(dir);
 }
 
@@ -521,10 +527,12 @@ template <typename To_Policy, typename From1_Policy, typename From2_Policy,
 inline Result
 div_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   if (To_Policy::check_inf_div_inf
-      && is_inf_float<From1_Policy>(x) && is_inf_float<From2_Policy>(y))
-    return assign_special<To_Policy>(to, V_INF_DIV_INF, ROUND_IGNORE);
-  if (To_Policy::check_div_zero && y == 0)
-    return assign_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
+      && is_inf_float<From1_Policy>(x) && is_inf_float<From2_Policy>(y)) {
+    return assign_nan<To_Policy>(to, V_INF_DIV_INF);
+  }
+  if (To_Policy::check_div_zero && y == 0) {
+    return assign_nan<To_Policy>(to, V_DIV_ZERO);
+  }
   prepare_inexact<To_Policy>(dir);
   if (fpu_direct_rounding(dir))
     to = x / y;
@@ -542,8 +550,8 @@ div_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
     limit_precision(to);
     fpu_restore_rounding_direction(old);
   }
-  if (To_Policy::check_nan_result && is_nan<To_Policy>(to))
-    return VC_NAN;
+  if (To_Policy::fpu_check_nan_result && is_nan<To_Policy>(to))
+    return V_NAN;
   return result_relation<To_Policy>(dir);
 }
 
@@ -555,12 +563,12 @@ idiv_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   // The inexact check is useless
   dir = round_dir(dir);
   Result r = div<To_Policy, From1_Policy, From2_Policy>(temp, x, y, dir);
-  if (is_special(r)) {
+  if (result_class(r) != VC_NORMAL) {
     to = temp;
     return r;
   }
   Result r1 = trunc<To_Policy, To_Policy>(to, temp, ROUND_NOT_NEEDED);
-  assert(r1 == V_EQ);
+  PPL_ASSERT(r1 == V_EQ);
   if (r == V_EQ || to != temp)
     return r1;
   // FIXME: Prove that it's impossibile to return a strict relation
@@ -571,13 +579,15 @@ template <typename To_Policy, typename From1_Policy, typename From2_Policy,
 	  typename Type>
 inline Result
 rem_float(Type& to, const Type x, const Type y, Rounding_Dir) {
-  if (To_Policy::check_inf_mod && is_inf_float<From1_Policy>(x))
-    return assign_special<To_Policy>(to, V_INF_MOD, ROUND_IGNORE);
-  if (To_Policy::check_div_zero && y == 0)
-    return assign_special<To_Policy>(to, V_MOD_ZERO, ROUND_IGNORE);
+  if (To_Policy::check_inf_mod && is_inf_float<From1_Policy>(x)) {
+    return assign_nan<To_Policy>(to, V_INF_MOD);
+  }
+  if (To_Policy::check_div_zero && y == 0) {
+    return assign_nan<To_Policy>(to, V_MOD_ZERO);
+  }
   to = std::fmod(x, y);
-  if (To_Policy::check_nan_result && is_nan<To_Policy>(to))
-    return VC_NAN;
+  if (To_Policy::fpu_check_nan_result && is_nan<To_Policy>(to))
+    return V_NAN;
   return V_EQ;
 }
 
@@ -588,30 +598,95 @@ struct Float_2exp {
 
 template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-mul2exp_float(Type& to, const Type x, int exp, Rounding_Dir dir) {
-  if (To_Policy::check_nan_result && is_nan<From_Policy>(x))
+add_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(x))
     return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  if (exp < 0)
-    return div2exp<To_Policy, From_Policy>(to, x, -exp, dir);
-  assert(static_cast<unsigned int>(exp) < sizeof(unsigned long long) * 8);
-  return mul<To_Policy, From_Policy, Float_2exp>(to, x, static_cast<Type>(1ULL << exp), dir);
+  PPL_ASSERT(exp < sizeof(unsigned long long) * CHAR_BIT);
+  return
+    add<To_Policy, From_Policy, Float_2exp>(to,
+                                            x,
+                                            Type(1ULL << exp),
+                                            dir);
 }
 
 template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-div2exp_float(Type& to, const Type x, int exp, Rounding_Dir dir) {
-  if (To_Policy::check_nan_result && is_nan<From_Policy>(x))
+sub_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(x))
     return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  if (exp < 0)
-    return mul2exp<To_Policy, From_Policy>(to, x, -exp, dir);
-  assert(static_cast<unsigned int>(exp) < sizeof(unsigned long long) * 8);
-  return div<To_Policy, From_Policy, Float_2exp>(to, x, static_cast<Type>(1ULL << exp), dir);
+  PPL_ASSERT(exp < sizeof(unsigned long long) * CHAR_BIT);
+  return
+    sub<To_Policy, From_Policy, Float_2exp>(to,
+                                            x,
+                                            Type(1ULL << exp),
+                                            dir);
+}
+
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+mul_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  PPL_ASSERT(exp < sizeof(unsigned long long) * CHAR_BIT);
+  return
+    mul<To_Policy, From_Policy, Float_2exp>(to,
+                                            x,
+                                            Type(1ULL << exp),
+                                            dir);
+}
+
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+div_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  PPL_ASSERT(exp < sizeof(unsigned long long) * CHAR_BIT);
+  return
+    div<To_Policy, From_Policy, Float_2exp>(to,
+                                            x,
+                                            Type(1ULL << exp),
+                                            dir);
+}
+
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+smod_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  if (To_Policy::check_inf_mod && is_inf_float<From_Policy>(x)) {
+    return assign_nan<To_Policy>(to, V_INF_MOD);
+  }
+  PPL_ASSERT(exp < sizeof(unsigned long long) * CHAR_BIT);
+  Type m = 1ULL << exp;
+  rem_float<To_Policy, From_Policy, Float_2exp>(to, x, m, ROUND_IGNORE);
+  Type m2 = m / 2;
+  if (to < -m2)
+    return add_float<To_Policy, From_Policy, Float_2exp>(to, to, m, dir);
+  else if (to >= m2)
+    return sub_float<To_Policy, From_Policy, Float_2exp>(to, to, m, dir);
+  return V_EQ;
+}
+
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+umod_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  if (To_Policy::check_inf_mod && is_inf_float<From_Policy>(x)) {
+    return assign_nan<To_Policy>(to, V_INF_MOD);
+  }
+  PPL_ASSERT(exp < sizeof(unsigned long long) * CHAR_BIT);
+  Type m = 1ULL << exp;
+  rem_float<To_Policy, From_Policy, Float_2exp>(to, x, m, ROUND_IGNORE);
+  if (to < 0)
+    return add_float<To_Policy, From_Policy, Float_2exp>(to, to, m, dir);
+  return V_EQ;
 }
 
 template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
 abs_float(Type& to, const Type from, Rounding_Dir) {
-  if (To_Policy::check_nan_result && is_nan<From_Policy>(from))
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
     return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
   to = std::abs(from);
   return V_EQ;
@@ -620,10 +695,11 @@ abs_float(Type& to, const Type from, Rounding_Dir) {
 template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
 sqrt_float(Type& to, const Type from, Rounding_Dir dir) {
-  if (To_Policy::check_nan_result && is_nan<From_Policy>(from))
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
     return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  if (To_Policy::check_sqrt_neg && from < 0)
-    return assign_special<To_Policy>(to, V_SQRT_NEG, ROUND_IGNORE);
+  if (To_Policy::check_sqrt_neg && from < 0) {
+    return assign_nan<To_Policy>(to, V_SQRT_NEG);
+  }
   prepare_inexact<To_Policy>(dir);
   if (fpu_direct_rounding(dir))
     to = std::sqrt(from);
@@ -639,21 +715,27 @@ sqrt_float(Type& to, const Type from, Rounding_Dir dir) {
 }
 
 template <typename Policy, typename Type>
-inline Result
+inline Result_Relation
 sgn_float(const Type x) {
-  return classify<Policy>(x, false, false, true);
+  if (x > 0)
+    return VR_GT;
+  if (x < 0)
+    return VR_LT;
+  if (x == 0)
+    return VR_EQ;
+  return VR_EMPTY;
 }
 
 template <typename Policy1, typename Policy2, typename Type>
-inline Result
+inline Result_Relation
 cmp_float(const Type x, const Type y) {
   if (x > y)
-    return V_GT;
+    return VR_GT;
   if (x < y)
-    return V_LT;
+    return VR_LT;
   if (x == y)
-    return V_EQ;
-  return V_UNORD_COMP;
+    return VR_EQ;
+  return VR_EMPTY;
 }
 
 template <typename To_Policy, typename From_Policy, typename To, typename From>
@@ -675,7 +757,7 @@ assign_float_int_inexact(To& to, const From from, Rounding_Dir dir) {
 template <typename To_Policy, typename From_Policy, typename To, typename From>
 inline Result
 assign_float_int(To& to, const From from, Rounding_Dir dir) {
-  if (sizeof(From) * 8 > Float<To>::Binary::MANTISSA_BITS)
+  if (sizeof(From) * CHAR_BIT > Float<To>::Binary::MANTISSA_BITS)
     return assign_float_int_inexact<To_Policy, From_Policy>(to, from, dir);
   else
     return assign_exact<To_Policy, From_Policy>(to, from, dir);
@@ -690,11 +772,11 @@ set_neg_overflow_float(T& to, Rounding_Dir dir) {
       Float<T> f;
       f.u.binary.set_max(true);
       to = f.value();
-      return V_LT;
+      return V_LT_INF;
     }
   default:
     to = -HUGE_VAL;
-    return V_GT;
+    return V_GT_MINUS_INFINITY;
   }
 }
 
@@ -707,11 +789,11 @@ set_pos_overflow_float(T& to, Rounding_Dir dir) {
       Float<T> f;
       f.u.binary.set_max(false);
       to = f.value();
-      return V_GT;
+      return V_GT_SUP;
     }
   default:
     to = HUGE_VAL;
-    return V_LT;
+    return V_LT_PLUS_INFINITY;
   }
 }
 
@@ -726,7 +808,7 @@ assign_float_mpz(T& to, const mpz_class& _from, Rounding_Dir dir)
     return V_EQ;
   }
   size_t exponent = mpz_sizeinbase(from, 2) - 1;
-  if (exponent > static_cast<size_t>(Float<T>::Binary::EXPONENT_MAX)) {
+  if (exponent > size_t(Float<T>::Binary::EXPONENT_MAX)) {
     if (sign < 0)
       return set_neg_overflow_float<To_Policy>(to, dir);
     else
@@ -742,7 +824,7 @@ assign_float_mpz(T& to, const mpz_class& _from, Rounding_Dir dir)
 		    exponent - Float<T>::Binary::MANTISSA_BITS);
   else
     mpz_mul_2exp(mantissa, from, Float<T>::Binary::MANTISSA_BITS - exponent);
-  Float<T> f(to);
+  Float<T> f;
   f.u.binary.build(sign < 0, mantissa, exponent);
   mpz_clear(mantissa);
   to = f.value();
@@ -775,7 +857,7 @@ assign_float_mpq(T& to, const mpq_class& from, Rounding_Dir dir)
     else
       return round_gt_float<To_Policy>(to, dir);
   }
-  if (exponent > static_cast<signed int>(Float<T>::Binary::EXPONENT_MAX + 1)) {
+  if (exponent > int(Float<T>::Binary::EXPONENT_MAX + 1)) {
   overflow:
     if (sign < 0)
       return set_neg_overflow_float<To_Policy>(to, dir);
@@ -808,7 +890,7 @@ assign_float_mpq(T& to, const mpq_class& from, Rounding_Dir dir)
   }
   else
     --exponent;
-  if (exponent > static_cast<signed int>(Float<T>::Binary::EXPONENT_MAX)) {
+  if (exponent > int(Float<T>::Binary::EXPONENT_MAX)) {
     mpz_clear(mantissa);
     goto overflow;
   }
@@ -816,7 +898,7 @@ assign_float_mpq(T& to, const mpq_class& from, Rounding_Dir dir)
     // Denormalized.
     exponent = Float<T>::Binary::EXPONENT_MIN - 1;
   }
-  Float<T> f(to);
+  Float<T> f;
   f.u.binary.build(sign < 0, mantissa, exponent);
   mpz_clear(mantissa);
   to = f.value();
@@ -830,9 +912,11 @@ template <typename To_Policy, typename From1_Policy, typename From2_Policy,
 inline Result
 add_mul_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   if (To_Policy::check_inf_mul_zero
-      && ((x == 0 && is_inf_float<From2_Policy>(y)) ||
-	  (y == 0 && is_inf_float<From1_Policy>(x))))
-    return assign_special<To_Policy>(to, V_INF_MUL_ZERO, ROUND_IGNORE);
+      && ((x == 0 && is_inf_float<From2_Policy>(y))
+          ||
+	  (y == 0 && is_inf_float<From1_Policy>(x)))) {
+    return assign_nan<To_Policy>(to, V_INF_MUL_ZERO);
+  }
   // FIXME: missing check_inf_add_inf
   prepare_inexact<To_Policy>(dir);
   if (fpu_direct_rounding(dir))
@@ -852,8 +936,8 @@ add_mul_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
     limit_precision(to);
     fpu_restore_rounding_direction(old);
   }
-  if (To_Policy::check_nan_result && is_nan<To_Policy>(to))
-    return VC_NAN;
+  if (To_Policy::fpu_check_nan_result && is_nan<To_Policy>(to))
+    return V_NAN;
   return result_relation<To_Policy>(dir);
 }
 
@@ -861,9 +945,11 @@ template <typename To_Policy, typename From1_Policy, typename From2_Policy, type
 inline Result
 sub_mul_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   if (To_Policy::check_inf_mul_zero
-      && ((x == 0 && is_inf_float<From2_Policy>(y)) ||
-	  (y == 0 && is_inf_float<From1_Policy>(x))))
-    return assign_special<To_Policy>(to, V_INF_MUL_ZERO, ROUND_IGNORE);
+      && ((x == 0 && is_inf_float<From2_Policy>(y))
+          ||
+	  (y == 0 && is_inf_float<From1_Policy>(x)))) {
+    return assign_nan<To_Policy>(to, V_INF_MUL_ZERO);
+  }
   // FIXME: missing check_inf_add_inf
   prepare_inexact<To_Policy>(dir);
   if (fpu_direct_rounding(dir))
@@ -883,8 +969,8 @@ sub_mul_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
     limit_precision(to);
     fpu_restore_rounding_direction(old);
   }
-  if (To_Policy::check_nan_result && is_nan<To_Policy>(to))
-    return VC_NAN;
+  if (To_Policy::fpu_check_nan_result && is_nan<To_Policy>(to))
+    return V_NAN;
   return result_relation<To_Policy>(dir);
 }
 
@@ -967,8 +1053,12 @@ PPL_SPECIALIZE_SUB(sub_float, float, float, float)
 PPL_SPECIALIZE_MUL(mul_float, float, float, float)
 PPL_SPECIALIZE_DIV(div_float, float, float, float)
 PPL_SPECIALIZE_REM(rem_float, float, float, float)
-PPL_SPECIALIZE_MUL2EXP(mul2exp_float, float, float)
-PPL_SPECIALIZE_DIV2EXP(div2exp_float, float, float)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_float, float, float)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_float, float, float)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_float, float, float)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_float, float, float)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_float, float, float)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_float, float, float)
 PPL_SPECIALIZE_SQRT(sqrt_float, float, float)
 PPL_SPECIALIZE_GCD(gcd_exact, float, float, float)
 PPL_SPECIALIZE_GCDEXT(gcdext_exact, float, float, float, float, float)
@@ -1011,8 +1101,12 @@ PPL_SPECIALIZE_SUB(sub_float, double, double, double)
 PPL_SPECIALIZE_MUL(mul_float, double, double, double)
 PPL_SPECIALIZE_DIV(div_float, double, double, double)
 PPL_SPECIALIZE_REM(rem_float, double, double, double)
-PPL_SPECIALIZE_MUL2EXP(mul2exp_float, double, double)
-PPL_SPECIALIZE_DIV2EXP(div2exp_float, double, double)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_float, double, double)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_float, double, double)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_float, double, double)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_float, double, double)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_float, double, double)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_float, double, double)
 PPL_SPECIALIZE_SQRT(sqrt_float, double, double)
 PPL_SPECIALIZE_GCD(gcd_exact, double, double, double)
 PPL_SPECIALIZE_GCDEXT(gcdext_exact, double, double, double, double, double)
@@ -1055,8 +1149,12 @@ PPL_SPECIALIZE_SUB(sub_float, long double, long double, long double)
 PPL_SPECIALIZE_MUL(mul_float, long double, long double, long double)
 PPL_SPECIALIZE_DIV(div_float, long double, long double, long double)
 PPL_SPECIALIZE_REM(rem_float, long double, long double, long double)
-PPL_SPECIALIZE_MUL2EXP(mul2exp_float, long double, long double)
-PPL_SPECIALIZE_DIV2EXP(div2exp_float, long double, long double)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_float, long double, long double)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_float, long double, long double)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_float, long double, long double)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_float, long double, long double)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_float, long double, long double)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_float, long double, long double)
 PPL_SPECIALIZE_SQRT(sqrt_float, long double, long double)
 PPL_SPECIALIZE_GCD(gcd_exact, long double, long double, long double)
 PPL_SPECIALIZE_GCDEXT(gcdext_exact, long double, long double, long double,
diff --git a/src/checked_int.inlines.hh b/src/checked_int.inlines.hh
index 6f48101..465dfcf 100644
--- a/src/checked_int.inlines.hh
+++ b/src/checked_int.inlines.hh
@@ -1,5 +1,5 @@
 /* Specialized "checked" functions for native integer numbers.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -90,14 +90,14 @@ inline Result
 set_neg_overflow_int(To& to, Rounding_Dir dir) {
   if (round_up(dir)) {
     to = Extended_Int<Policy, To>::min;
-    return V_LT;
+    return V_LT_INF;
   }
   else {
     if (Policy::has_infinity) {
       to = Extended_Int<Policy, To>::minus_infinity;
-      return V_GT;
+      return V_GT_MINUS_INFINITY;
     }
-    return V_NEG_OVERFLOW;
+    return V_GT_MINUS_INFINITY | V_UNREPRESENTABLE;
   }
 }
 
@@ -106,14 +106,14 @@ inline Result
 set_pos_overflow_int(To& to, Rounding_Dir dir) {
   if (round_down(dir)) {
     to = Extended_Int<Policy, To>::max;
-    return V_GT;
+    return V_GT_SUP;
   }
   else {
     if (Policy::has_infinity) {
       to = Extended_Int<Policy, To>::plus_infinity;
-      return V_LT;
+      return V_LT_PLUS_INFINITY;
     }
-    return V_POS_OVERFLOW;
+    return V_LT_PLUS_INFINITY | V_UNREPRESENTABLE;
   }
 }
 
@@ -144,9 +144,9 @@ round_lt_int(To& to, Rounding_Dir dir) {
     if (to == Extended_Int<Policy, To>::min) {
       if (Policy::has_infinity) {
 	to = Extended_Int<Policy, To>::minus_infinity;
-	return V_GT;
+	return V_GT_MINUS_INFINITY;
       }
-      return V_NEG_OVERFLOW;
+      return V_GT_MINUS_INFINITY | V_UNREPRESENTABLE;
     }
     else {
       --to;
@@ -163,9 +163,9 @@ round_gt_int(To& to, Rounding_Dir dir) {
     if (to == Extended_Int<Policy, To>::max) {
       if (Policy::has_infinity) {
 	to = Extended_Int<Policy, To>::plus_infinity;
-	return V_LT;
+	return V_LT_PLUS_INFINITY;
       }
-      return V_POS_OVERFLOW;
+      return V_LT_PLUS_INFINITY | V_UNREPRESENTABLE;
     }
     else {
       ++to;
@@ -192,14 +192,14 @@ classify_int(const Type v, bool nan, bool inf, bool sign) {
   if (Policy::has_nan
       && (nan || sign)
       && v == Extended_Int<Policy, Type>::not_a_number)
-    return VC_NAN;
-  if (!inf & !sign)
-    return VC_NORMAL;
+    return V_NAN;
+  if (!inf && !sign)
+    return V_LGE;
   if (Policy::has_infinity) {
     if (v == Extended_Int<Policy, Type>::minus_infinity)
-      return inf ? VC_MINUS_INFINITY : V_LT;
+      return inf ? V_EQ_MINUS_INFINITY : V_LT;
     if (v == Extended_Int<Policy, Type>::plus_infinity)
-      return inf ? VC_PLUS_INFINITY : V_GT;
+      return inf ? V_EQ_PLUS_INFINITY : V_GT;
   }
   if (sign) {
     if (v < 0)
@@ -208,7 +208,7 @@ classify_int(const Type v, bool nan, bool inf, bool sign) {
       return V_GT;
     return V_EQ;
   }
-  return VC_NORMAL;
+  return V_LGE;
 }
 
 PPL_SPECIALIZE_CLASSIFY(classify_int, signed char)
@@ -294,38 +294,38 @@ PPL_SPECIALIZE_IS_INT(is_int_int, unsigned long long)
 
 template <typename Policy, typename Type>
 inline Result
-assign_special_int(Type& v, Result r, Rounding_Dir dir) {
-  Result t = classify(r);
-  switch (t) {
+assign_special_int(Type& v, Result_Class c, Rounding_Dir dir) {
+  switch (c) {
   case VC_NAN:
-    if (Policy::has_nan)
+    if (Policy::has_nan) {
       v = Extended_Int<Policy, Type>::not_a_number;
-    break;
+      return V_NAN;
+    }
+    return V_NAN | V_UNREPRESENTABLE;
   case VC_MINUS_INFINITY:
     if (Policy::has_infinity) {
       v = Extended_Int<Policy, Type>::minus_infinity;
-      return V_EQ;
+      return V_EQ_MINUS_INFINITY;
     }
     if (round_up(dir)) {
       v = Extended_Int<Policy, Type>::min;
-      return V_LT;
+      return V_LT_INF;
     }
-    break;
+    return V_EQ_MINUS_INFINITY | V_UNREPRESENTABLE;
   case VC_PLUS_INFINITY:
     if (Policy::has_infinity) {
       v = Extended_Int<Policy, Type>::plus_infinity;
-      return V_EQ;
+      return V_EQ_PLUS_INFINITY;
     }
     if (round_down(dir)) {
       v = Extended_Int<Policy, Type>::max;
-      return V_GT;
+      return V_GT_SUP;
     }
-    break;
+    return V_EQ_PLUS_INFINITY | V_UNREPRESENTABLE;
   default:
-    assert(0);
-    break;
+    PPL_ASSERT(0);
+    return V_NAN | V_UNREPRESENTABLE;
   }
-  return r;
 }
 
 PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, signed char)
@@ -347,10 +347,10 @@ assign_signed_int_signed_int(To& to, const From from, Rounding_Dir dir) {
 	  && (Extended_Int<To_Policy, To>::min > Extended_Int<From_Policy, From>::min
 	      || Extended_Int<To_Policy, To>::max < Extended_Int<From_Policy, From>::max))) {
     if (CHECK_P(To_Policy::check_overflow,
-		from < static_cast<From>(Extended_Int<To_Policy, To>::min)))
+		PPL_LT_SILENT(from, From(Extended_Int<To_Policy, To>::min))))
       return set_neg_overflow_int<To_Policy>(to, dir);
     if (CHECK_P(To_Policy::check_overflow,
-		from > static_cast<From>(Extended_Int<To_Policy, To>::max)))
+		PPL_GT_SILENT(from, From(Extended_Int<To_Policy, To>::max))))
       return set_pos_overflow_int<To_Policy>(to, dir);
   }
   to = To(from);
@@ -362,7 +362,7 @@ inline Result
 assign_signed_int_unsigned_int(To& to, const From from, Rounding_Dir dir) {
   if (sizeof(To) <= sizeof(From)) {
     if (CHECK_P(To_Policy::check_overflow,
-		from > static_cast<From>(Extended_Int<To_Policy, To>::max)))
+		from > From(Extended_Int<To_Policy, To>::max)))
       return set_pos_overflow_int<To_Policy>(to, dir);
   }
   to = To(from);
@@ -376,7 +376,7 @@ assign_unsigned_int_signed_int(To& to, const From from, Rounding_Dir dir) {
     return set_neg_overflow_int<To_Policy>(to, dir);
   if (sizeof(To) < sizeof(From)) {
     if (CHECK_P(To_Policy::check_overflow,
-		from > static_cast<From>(Extended_Int<To_Policy, To>::max)))
+		from > From(Extended_Int<To_Policy, To>::max)))
       return set_pos_overflow_int<To_Policy>(to, dir);
   }
   to = To(from);
@@ -390,7 +390,7 @@ assign_unsigned_int_unsigned_int(To& to, const From from, Rounding_Dir dir) {
       || (sizeof(To) == sizeof(From)
 	  && Extended_Int<To_Policy, To>::max < Extended_Int<From_Policy, From>::max)) {
     if (CHECK_P(To_Policy::check_overflow,
-		from > static_cast<From>(Extended_Int<To_Policy, To>::max)))
+		PPL_GT_SILENT(from, From(Extended_Int<To_Policy, To>::max))))
       return set_pos_overflow_int<To_Policy>(to, dir);
   }
   to = To(from);
@@ -499,16 +499,24 @@ assign_int_float(To& to, const From from, Rounding_Dir dir) {
   if (CHECK_P(To_Policy::check_overflow, (from > Extended_Int<To_Policy, To>::max)))
     return set_pos_overflow_int<To_Policy>(to, dir);
 #endif
-  From i_from = rint(from);
-  to = static_cast<To>(i_from);
-  if (round_ignore(dir))
+  if (round_not_requested(dir)) {
+    to = from;
     return V_LGE;
+  }
+  From i_from = rint(from);
+  to = i_from;
+  if (from == i_from)
+    return V_EQ;
+  if (round_direct(ROUND_UP))
+    return round_lt_int<To_Policy>(to, dir);
+  if (round_direct(ROUND_DOWN))
+    return round_gt_int<To_Policy>(to, dir);
   if (from < i_from)
     return round_lt_int<To_Policy>(to, dir);
-  else if (from > i_from)
+  if (from > i_from)
     return round_gt_int<To_Policy>(to, dir);
-  else
-    return V_EQ;
+  PPL_ASSERT(false);
+  return V_NAN;
 }
 
 PPL_SPECIALIZE_ASSIGN(assign_int_float, signed char, float)
@@ -561,9 +569,9 @@ assign_signed_int_mpz(To& to, const mpz_class& from, Rounding_Dir dir) {
     }
     if (from.fits_slong_p()) {
       signed long v = from.get_si();
-      if (v < C_Integer<To>::min)
+      if (PPL_LT_SILENT(v, (Extended_Int<To_Policy, To>::min)))
 	return set_neg_overflow_int<To_Policy>(to, dir);
-      if (v > C_Integer<To>::max)
+      if (PPL_GT_SILENT(v, (Extended_Int<To_Policy, To>::max)))
 	return set_pos_overflow_int<To_Policy>(to, dir);
       to = v;
       return V_EQ;
@@ -610,7 +618,7 @@ assign_unsigned_int_mpz(To& to, const mpz_class& from, Rounding_Dir dir) {
     }
     if (from.fits_ulong_p()) {
       unsigned long v = from.get_ui();
-      if (v > C_Integer<To>::max)
+      if (PPL_GT_SILENT(v, (Extended_Int<To_Policy, To>::max)))
 	return set_pos_overflow_int<To_Policy>(to, dir);
       to = v;
       return V_EQ;
@@ -643,7 +651,7 @@ assign_int_mpq(To& to, const mpq_class& from, Rounding_Dir dir) {
   mpz_srcptr d = from.get_den().get_mpz_t();
   PPL_DIRTY_TEMP0(mpz_class, q);
   mpz_ptr _q = q.get_mpz_t();
-  if (round_ignore(dir)) {
+  if (round_not_requested(dir)) {
     mpz_tdiv_q(_q, n, d);
     Result r = assign<To_Policy, void>(to, q, dir);
     if (r != V_EQ)
@@ -680,6 +688,10 @@ PPL_SPECIALIZE_ASSIGN(assign_int_mpq, unsigned int, mpq_class)
 PPL_SPECIALIZE_ASSIGN(assign_int_mpq, unsigned long, mpq_class)
 PPL_SPECIALIZE_ASSIGN(assign_int_mpq, unsigned long long, mpq_class)
 
+#if ~0 != -1
+#error "Only two's complement is supported"
+#endif
+
 #if UCHAR_MAX == 0xff
 #define CHAR_BITS 8
 #else
@@ -1016,12 +1028,13 @@ mul_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
 template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 inline Result
 div_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (CHECK_P(To_Policy::check_div_zero, y == 0))
-    return assign_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
+  if (CHECK_P(To_Policy::check_div_zero, y == 0)) {
+    return assign_nan<To_Policy>(to, V_DIV_ZERO);
+  }
   if (To_Policy::check_overflow && y == -1)
     return neg_signed_int<To_Policy, From1_Policy>(to, x, dir);
   to = x / y;
-  if (round_ignore(dir))
+  if (round_not_requested(dir))
     return V_LGE;
   Type m = x % y;
   if (m < 0)
@@ -1035,10 +1048,11 @@ div_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
 template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 inline Result
 div_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (CHECK_P(To_Policy::check_div_zero, y == 0))
-    return assign_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
+  if (CHECK_P(To_Policy::check_div_zero, y == 0)) {
+    return assign_nan<To_Policy>(to, V_DIV_ZERO);
+  }
   to = x / y;
-  if (round_ignore(dir))
+  if (round_not_requested(dir))
     return V_GE;
   Type m = x % y;
   if (m == 0)
@@ -1049,8 +1063,9 @@ div_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
 template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 inline Result
 idiv_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (CHECK_P(To_Policy::check_div_zero, y == 0))
-    return assign_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
+  if (CHECK_P(To_Policy::check_div_zero, y == 0)) {
+    return assign_nan<To_Policy>(to, V_DIV_ZERO);
+  }
   if (To_Policy::check_overflow && y == -1)
     return neg_signed_int<To_Policy, From1_Policy>(to, x, dir);
   to = x / y;
@@ -1060,8 +1075,9 @@ idiv_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
 template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 inline Result
 idiv_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir) {
-  if (CHECK_P(To_Policy::check_div_zero, y == 0))
-    return assign_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
+  if (CHECK_P(To_Policy::check_div_zero, y == 0)) {
+    return assign_nan<To_Policy>(to, V_DIV_ZERO);
+  }
   to = x / y;
   return V_EQ;
 }
@@ -1069,8 +1085,9 @@ idiv_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir) {
 template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 inline Result
 rem_signed_int(Type& to, const Type x, const Type y, Rounding_Dir) {
-  if (CHECK_P(To_Policy::check_div_zero, y == 0))
-    return assign_special<To_Policy>(to, V_MOD_ZERO, ROUND_IGNORE);
+  if (CHECK_P(To_Policy::check_div_zero, y == 0)) {
+    return assign_nan<To_Policy>(to, V_MOD_ZERO);
+  }
   to = x % y;
   return V_EQ;
 }
@@ -1078,29 +1095,29 @@ rem_signed_int(Type& to, const Type x, const Type y, Rounding_Dir) {
 template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 inline Result
 rem_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir) {
-  if (CHECK_P(To_Policy::check_div_zero, y == 0))
-    return assign_special<To_Policy>(to, V_MOD_ZERO, ROUND_IGNORE);
+  if (CHECK_P(To_Policy::check_div_zero, y == 0)) {
+    return assign_nan<To_Policy>(to, V_MOD_ZERO);
+  }
   to = x % y;
   return V_EQ;
 }
 
 template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-div2exp_unsigned_int(Type& to, const Type x, int exp, Rounding_Dir dir) {
-  if (exp < 0)
-    return mul2exp<To_Policy, From_Policy>(to, x, -exp, dir);
-  if (static_cast<unsigned int>(exp) >= sizeof(Type) * 8) {
+div_2exp_unsigned_int(Type& to, const Type x, unsigned int exp,
+                      Rounding_Dir dir) {
+  if (exp >= sizeof(Type) * CHAR_BIT) {
     to = 0;
-    if (round_ignore(dir))
+    if (round_not_requested(dir))
       return V_GE;
     if (x == 0)
       return V_EQ;
     return round_gt_int_no_overflow<To_Policy>(to, dir);
   }
   to = x >> exp;
-  if (round_ignore(dir))
+  if (round_not_requested(dir))
     return V_GE;
-  if (x & ((static_cast<Type>(1) << exp) - 1))
+  if (x & ((Type(1) << exp) - 1))
     return round_gt_int_no_overflow<To_Policy>(to, dir);
   else
     return V_EQ;
@@ -1108,13 +1125,12 @@ div2exp_unsigned_int(Type& to, const Type x, int exp, Rounding_Dir dir) {
 
 template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-div2exp_signed_int(Type& to, const Type x, int exp, Rounding_Dir dir) {
-  if (exp < 0)
-    return mul2exp<To_Policy, From_Policy>(to, x, -exp, dir);
-  if (static_cast<unsigned int>(exp) >= sizeof(Type) * 8) {
+div_2exp_signed_int(Type& to, const Type x, unsigned int exp,
+                    Rounding_Dir dir) {
+  if (exp > sizeof(Type) * CHAR_BIT - 1) {
   zero:
     to = 0;
-    if (round_ignore(dir))
+    if (round_not_requested(dir))
       return V_LGE;
     if (x < 0)
       return round_lt_int_no_overflow<To_Policy>(to, dir);
@@ -1123,7 +1139,7 @@ div2exp_signed_int(Type& to, const Type x, int exp, Rounding_Dir dir) {
     else
       return V_EQ;
   }
-  if (static_cast<unsigned int>(exp) >= sizeof(Type) * 8 - 1) {
+  if (exp == sizeof(Type) * CHAR_BIT - 1) {
     if (x == C_Integer<Type>::min) {
       to = -1;
       return V_EQ;
@@ -1131,10 +1147,10 @@ div2exp_signed_int(Type& to, const Type x, int exp, Rounding_Dir dir) {
     goto zero;
   }
 #if 0
-  to = x / (static_cast<Type>(1) << exp);
-  if (round_ignore(dir))
+  to = x / (Type(1) << exp);
+  if (round_not_requested(dir))
     return V_GE;
-  Type r = x % (static_cast<Type>(1) << exp);
+  Type r = x % (Type(1) << exp);
   if (r < 0)
     return round_lt_int_no_overflow<To_Policy>(to, dir);
   else if (r > 0)
@@ -1144,9 +1160,9 @@ div2exp_signed_int(Type& to, const Type x, int exp, Rounding_Dir dir) {
 #else
   // Faster but compiler implementation dependent (see C++98 5.8.3)
   to = x >> exp;
-  if (round_ignore(dir))
+  if (round_not_requested(dir))
     return V_GE;
-  if (x & ((static_cast<Type>(1) << exp) - 1))
+  if (x & ((Type(1) << exp) - 1))
     return round_gt_int_no_overflow<To_Policy>(to, dir);
   return V_EQ;
 #endif
@@ -1154,24 +1170,91 @@ div2exp_signed_int(Type& to, const Type x, int exp, Rounding_Dir dir) {
 
 template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-mul2exp_unsigned_int(Type& to, const Type x, int exp, Rounding_Dir dir) {
-  if (exp < 0)
-    return div2exp<To_Policy, From_Policy>(to, x, -exp, dir);
+add_2exp_unsigned_int(Type& to, const Type x, unsigned int exp,
+                      Rounding_Dir dir) {
+  if (!To_Policy::check_overflow) {
+    to = x + (Type(1) << exp);
+    return V_EQ;
+  }
+  if (exp >= sizeof(Type) * CHAR_BIT)
+    return set_pos_overflow_int<To_Policy>(to, dir);
+  Type n = Type(1) << exp;
+  return add_unsigned_int<To_Policy, From_Policy, void>(to, x, n, dir);
+}
+
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+add_2exp_signed_int(Type& to, const Type x, unsigned int exp,
+		    Rounding_Dir dir) {
+  if (!To_Policy::check_overflow) {
+    to = x + (Type(1) << exp);
+    return V_EQ;
+  }
+  if (exp >= sizeof(Type) * CHAR_BIT)
+    return set_pos_overflow_int<To_Policy>(to, dir);
+  if (exp == sizeof(Type) * CHAR_BIT - 1) {
+    Type n = -2 * (Type(1) << (exp - 1));
+    return sub_signed_int<To_Policy, From_Policy, void>(to, x, n, dir);
+  }
+  else {
+    Type n = Type(1) << exp;
+    return add_signed_int<To_Policy, From_Policy, void>(to, x, n, dir);
+  }
+}
+
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+sub_2exp_unsigned_int(Type& to, const Type x, unsigned int exp,
+                      Rounding_Dir dir) {
+  if (!To_Policy::check_overflow) {
+    to = x - (Type(1) << exp);
+    return V_EQ;
+  }
+  if (exp >= sizeof(Type) * CHAR_BIT)
+    return set_neg_overflow_int<To_Policy>(to, dir);
+  Type n = Type(1) << exp;
+  return sub_unsigned_int<To_Policy, From_Policy, void>(to, x, n, dir);
+}
+
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+sub_2exp_signed_int(Type& to, const Type x, unsigned int exp,
+		    Rounding_Dir dir) {
+  if (!To_Policy::check_overflow) {
+    to = x - (Type(1) << exp);
+    return V_EQ;
+  }
+  if (exp >= sizeof(Type) * CHAR_BIT)
+    return set_neg_overflow_int<To_Policy>(to, dir);
+  if (exp == sizeof(Type) * CHAR_BIT - 1) {
+    Type n = -2 * (Type(1) << (exp - 1));
+    return add_signed_int<To_Policy, From_Policy, void>(to, x, n, dir);
+  }
+  else {
+    Type n = Type(1) << exp;
+    return sub_signed_int<To_Policy, From_Policy, void>(to, x, n, dir);
+  }
+}
+
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+mul_2exp_unsigned_int(Type& to, const Type x, unsigned int exp,
+                      Rounding_Dir dir) {
   if (!To_Policy::check_overflow) {
     to = x << exp;
     return V_EQ;
   }
-  if (static_cast<unsigned int>(exp) >= sizeof(Type) * 8) {
+  if (exp >= sizeof(Type) * CHAR_BIT) {
     if (x == 0) {
       to = 0;
       return V_EQ;
     }
     return set_pos_overflow_int<To_Policy>(to, dir);
   }
-  if (x & (((static_cast<Type>(1) << exp) - 1) << (sizeof(Type) * 8 - exp)))
+  if (x & (((Type(1) << exp) - 1) << (sizeof(Type) * CHAR_BIT - exp)))
     return set_pos_overflow_int<To_Policy>(to, dir);
   Type n = x << exp;
-  if (n > Extended_Int<To_Policy, Type>::max)
+  if (PPL_GT_SILENT(n, (Extended_Int<To_Policy, Type>::max)))
     return set_pos_overflow_int<To_Policy>(to, dir);
   to = n;
   return V_EQ;
@@ -1179,14 +1262,13 @@ mul2exp_unsigned_int(Type& to, const Type x, int exp, Rounding_Dir dir) {
 
 template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-mul2exp_signed_int(Type& to, const Type x, int exp, Rounding_Dir dir) {
-  if (exp < 0)
-    return div2exp<To_Policy, From_Policy>(to, x, -exp, dir);
+mul_2exp_signed_int(Type& to, const Type x, unsigned int exp,
+                    Rounding_Dir dir) {
   if (!To_Policy::check_overflow) {
     to = x << exp;
     return V_EQ;
   }
-  if (static_cast<unsigned int>(exp) >= sizeof(Type) * 8 - 1) {
+  if (exp >= sizeof(Type) * CHAR_BIT - 1) {
     if (x < 0)
       return set_neg_overflow_int<To_Policy>(to, dir);
     else if (x > 0)
@@ -1196,34 +1278,88 @@ mul2exp_signed_int(Type& to, const Type x, int exp, Rounding_Dir dir) {
       return V_EQ;
     }
   }
-  Type mask = ((static_cast<Type>(1) << exp) - 1)
-    << (sizeof(Type) * 8 - 1 - exp);
+  Type mask = ((Type(1) << exp) - 1)
+    << (sizeof(Type) * CHAR_BIT - 1 - exp);
   Type n;
   if (x < 0) {
     if ((x & mask) != mask)
       return set_neg_overflow_int<To_Policy>(to, dir);
     n = x << exp;
-    if (n < Extended_Int<To_Policy, Type>::min)
+    if (PPL_LT_SILENT(n, (Extended_Int<To_Policy, Type>::min)))
       return set_neg_overflow_int<To_Policy>(to, dir);
   }
   else {
     if (x & mask)
       return set_pos_overflow_int<To_Policy>(to, dir);
     n = x << exp;
-    if (n > Extended_Int<To_Policy, Type>::max)
+    if (PPL_GT_SILENT(n, (Extended_Int<To_Policy, Type>::max)))
       return set_pos_overflow_int<To_Policy>(to, dir);
   }
   to = n;
   return V_EQ;
 }
 
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+smod_2exp_unsigned_int(Type& to, const Type x, unsigned int exp,
+		       Rounding_Dir dir) {
+  if (exp > sizeof(Type) * CHAR_BIT)
+    to = x;
+  else {
+    Type v = exp == sizeof(Type) * CHAR_BIT ? x : (x & ((Type(1) << exp) - 1));
+    if (v >= Type(1) << (exp - 1))
+      return set_neg_overflow_int<To_Policy>(to, dir);
+    else
+      to = v;
+  }
+  return V_EQ;
+}
+
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+smod_2exp_signed_int(Type& to, const Type x, unsigned int exp,
+		     Rounding_Dir) {
+  if (exp >= sizeof(Type) * CHAR_BIT)
+    to = x;
+  else {
+    Type m = Type(1) << (exp - 1);
+    to = (x & (m - 1)) - (x & m);
+  }
+  return V_EQ;
+}
+
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+umod_2exp_unsigned_int(Type& to, const Type x, unsigned int exp,
+		       Rounding_Dir) {
+  if (exp >= sizeof(Type) * CHAR_BIT)
+    to = x;
+  else
+    to = x & ((Type(1) << exp) - 1);
+  return V_EQ;
+}
+
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+umod_2exp_signed_int(Type& to, const Type x, unsigned int exp,
+		     Rounding_Dir dir) {
+  if (exp >= sizeof(Type) * CHAR_BIT) {
+    if (x < 0)
+      return set_pos_overflow_int<To_Policy>(to, dir);
+    to = x;
+  }
+  else
+    to = x & ((Type(1) << exp) - 1);
+  return V_EQ;
+}
+
 template <typename Type>
 inline void
 isqrtrem(Type& q, Type& r, const Type from) {
   q = 0;
   r = from;
   Type t(1);
-  for (t <<= 8 * sizeof(Type) - 2; t != 0; t >>= 2) {
+  for (t <<= CHAR_BIT * sizeof(Type) - 2; t != 0; t >>= 2) {
     Type s = q + t;
     if (s <= r) {
       r -= s;
@@ -1238,7 +1374,7 @@ inline Result
 sqrt_unsigned_int(Type& to, const Type from, Rounding_Dir dir) {
   Type rem;
   isqrtrem(to, rem, from);
-  if (round_ignore(dir))
+  if (round_not_requested(dir))
     return V_GE;
   if (rem == 0)
     return V_EQ;
@@ -1248,8 +1384,9 @@ sqrt_unsigned_int(Type& to, const Type from, Rounding_Dir dir) {
 template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
 sqrt_signed_int(Type& to, const Type from, Rounding_Dir dir) {
-  if (CHECK_P(To_Policy::check_sqrt_neg, from < 0))
-    return assign_special<To_Policy>(to, V_SQRT_NEG, ROUND_IGNORE);
+  if (CHECK_P(To_Policy::check_sqrt_neg, from < 0)) {
+    return assign_nan<To_Policy>(to, V_SQRT_NEG);
+  }
   return sqrt_unsigned_int<To_Policy, From_Policy>(to, from, dir);
 }
 
@@ -1258,23 +1395,20 @@ inline Result
 add_mul_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   Type z;
   Result r = mul<To_Policy, From1_Policy, From2_Policy>(z, x, y, dir);
-  switch (r) {
-  case V_NEG_OVERFLOW:
-  case V_LT:
-    if (to <= 0) {
-      to = z;
-      return r;
-    }
-    return assign_special<To_Policy>(to, V_UNKNOWN_NEG_OVERFLOW, ROUND_IGNORE);
-  case V_POS_OVERFLOW:
-  case V_GT:
-    if (to >= 0) {
-      to = z;
-      return r;
-    }
-    return assign_special<To_Policy>(to, V_UNKNOWN_POS_OVERFLOW, ROUND_IGNORE);
-  default:
+  switch (result_overflow(r)) {
+  case 0:
     return add<To_Policy, To_Policy, To_Policy>(to, to, z, dir);
+  case -1:
+    if (to <= 0)
+      return set_neg_overflow_int<To_Policy>(to, dir);
+    return assign_nan<To_Policy>(to, V_UNKNOWN_NEG_OVERFLOW);
+  case 1:
+    if (to >= 0)
+      return set_pos_overflow_int<To_Policy>(to, dir);
+    return assign_nan<To_Policy>(to, V_UNKNOWN_POS_OVERFLOW);
+  default:
+    PPL_ASSERT(false);
+    return V_NAN;
   }
 }
 
@@ -1283,19 +1417,20 @@ inline Result
 sub_mul_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   Type z;
   Result r = mul<To_Policy, From1_Policy, From2_Policy>(z, x, y, dir);
-  switch (r) {
-  case V_NEG_OVERFLOW:
-  case V_LT:
+  switch (result_overflow(r)) {
+  case 0:
+    return sub<To_Policy, To_Policy, To_Policy>(to, to, z, dir);
+  case -1:
     if (to >= 0)
       return set_pos_overflow_int<To_Policy>(to, dir);
-    return V_UNKNOWN_NEG_OVERFLOW;
-  case V_POS_OVERFLOW:
-  case V_GT:
+    return assign_nan<To_Policy>(to, V_UNKNOWN_NEG_OVERFLOW);
+  case 1:
     if (to <= 0)
       return set_neg_overflow_int<To_Policy>(to, dir);
-    return V_UNKNOWN_POS_OVERFLOW;
+    return assign_nan<To_Policy>(to, V_UNKNOWN_POS_OVERFLOW);
   default:
-    return sub<To_Policy, To_Policy, To_Policy>(to, to, z, dir);
+    PPL_ASSERT(false);
+    return V_NAN;
   }
 }
 
@@ -1303,7 +1438,7 @@ template <typename Policy, typename Type>
 inline Result
 output_char(std::ostream& os, Type& from,
 	    const Numeric_Format&, Rounding_Dir) {
-  os << static_cast<int>(from);
+  os << int(from);
   return V_EQ;
 }
 
@@ -1424,27 +1559,71 @@ PPL_SPECIALIZE_REM(rem_unsigned_int, unsigned int, unsigned int, unsigned int)
 PPL_SPECIALIZE_REM(rem_unsigned_int, unsigned long, unsigned long, unsigned long)
 PPL_SPECIALIZE_REM(rem_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
 
-PPL_SPECIALIZE_MUL2EXP(mul2exp_signed_int, signed char, signed char)
-PPL_SPECIALIZE_MUL2EXP(mul2exp_signed_int, signed short, signed short)
-PPL_SPECIALIZE_MUL2EXP(mul2exp_signed_int, signed int, signed int)
-PPL_SPECIALIZE_MUL2EXP(mul2exp_signed_int, signed long, signed long)
-PPL_SPECIALIZE_MUL2EXP(mul2exp_signed_int, signed long long, signed long long)
-PPL_SPECIALIZE_MUL2EXP(mul2exp_unsigned_int, unsigned char, unsigned char)
-PPL_SPECIALIZE_MUL2EXP(mul2exp_unsigned_int, unsigned short, unsigned short)
-PPL_SPECIALIZE_MUL2EXP(mul2exp_unsigned_int, unsigned int, unsigned int)
-PPL_SPECIALIZE_MUL2EXP(mul2exp_unsigned_int, unsigned long, unsigned long)
-PPL_SPECIALIZE_MUL2EXP(mul2exp_unsigned_int, unsigned long long, unsigned long long)
-
-PPL_SPECIALIZE_DIV2EXP(div2exp_signed_int, signed char, signed char)
-PPL_SPECIALIZE_DIV2EXP(div2exp_signed_int, signed short, signed short)
-PPL_SPECIALIZE_DIV2EXP(div2exp_signed_int, signed int, signed int)
-PPL_SPECIALIZE_DIV2EXP(div2exp_signed_int, signed long, signed long)
-PPL_SPECIALIZE_DIV2EXP(div2exp_signed_int, signed long long, signed long long)
-PPL_SPECIALIZE_DIV2EXP(div2exp_unsigned_int, unsigned char, unsigned char)
-PPL_SPECIALIZE_DIV2EXP(div2exp_unsigned_int, unsigned short, unsigned short)
-PPL_SPECIALIZE_DIV2EXP(div2exp_unsigned_int, unsigned int, unsigned int)
-PPL_SPECIALIZE_DIV2EXP(div2exp_unsigned_int, unsigned long, unsigned long)
-PPL_SPECIALIZE_DIV2EXP(div2exp_unsigned_int, unsigned long long, unsigned long long)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_signed_int, signed char, signed char)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_signed_int, signed short, signed short)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_signed_int, signed int, signed int)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_signed_int, signed long, signed long)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_signed_int, signed long long, signed long long)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_unsigned_int, unsigned long long, unsigned long long)
+
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_signed_int, signed char, signed char)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_signed_int, signed short, signed short)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_signed_int, signed int, signed int)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_signed_int, signed long, signed long)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_signed_int, signed long long, signed long long)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_unsigned_int, unsigned long long, unsigned long long)
+
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_signed_int, signed char, signed char)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_signed_int, signed short, signed short)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_signed_int, signed int, signed int)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_signed_int, signed long, signed long)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_signed_int, signed long long, signed long long)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_unsigned_int, unsigned long long, unsigned long long)
+
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_signed_int, signed char, signed char)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_signed_int, signed short, signed short)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_signed_int, signed int, signed int)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_signed_int, signed long, signed long)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_signed_int, signed long long, signed long long)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_unsigned_int, unsigned long long, unsigned long long)
+
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_signed_int, signed char, signed char)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_signed_int, signed short, signed short)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_signed_int, signed int, signed int)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_signed_int, signed long, signed long)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_signed_int, signed long long, signed long long)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_unsigned_int, unsigned long long, unsigned long long)
+
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_signed_int, signed char, signed char)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_signed_int, signed short, signed short)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_signed_int, signed int, signed int)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_signed_int, signed long, signed long)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_signed_int, signed long long, signed long long)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_unsigned_int, unsigned long long, unsigned long long)
 
 PPL_SPECIALIZE_SQRT(sqrt_signed_int, signed char, signed char)
 PPL_SPECIALIZE_SQRT(sqrt_signed_int, signed short, signed short)
diff --git a/src/checked_mpq.inlines.hh b/src/checked_mpq.inlines.hh
index c4bfef2..2ac13e9 100644
--- a/src/checked_mpq.inlines.hh
+++ b/src/checked_mpq.inlines.hh
@@ -1,5 +1,5 @@
 /* Specialized "checked" functions for GMP's mpq_class numbers.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -38,19 +38,19 @@ classify_mpq(const mpq_class& v, bool nan, bool inf, bool sign) {
       && ::sgn(v.get_den()) == 0) {
     int s = ::sgn(v.get_num());
     if (Policy::has_nan && (nan || sign) && s == 0)
-      return VC_NAN;
+      return V_NAN;
     if (!inf && !sign)
-      return VC_NORMAL;
+      return V_LGE;
     if (Policy::has_infinity) {
       if (s < 0)
-	return inf ? VC_MINUS_INFINITY : V_LT;
+	return inf ? V_EQ_MINUS_INFINITY : V_LT;
       if (s > 0)
-	return inf ? VC_PLUS_INFINITY : V_GT;
+	return inf ? V_EQ_PLUS_INFINITY : V_GT;
     }
   }
   if (sign)
-    return sgn<Policy>(v);
-  return VC_NORMAL;
+    return (Result) sgn<Policy>(v);
+  return V_LGE;
 }
 
 PPL_SPECIALIZE_CLASSIFY(classify_mpq, mpq_class)
@@ -99,27 +99,33 @@ PPL_SPECIALIZE_IS_INT(is_int_mpq, mpq_class)
 
 template <typename Policy>
 inline Result
-assign_special_mpq(mpq_class& v, Result r, Rounding_Dir) {
-  Result c = classify(r);
-  if (Policy::has_nan && c == VC_NAN) {
-    v.get_num() = 0;
-    v.get_den() = 0;
-  }
-  else if (Policy::has_infinity) {
-    switch (c) {
-    case VC_MINUS_INFINITY:
+assign_special_mpq(mpq_class& v, Result_Class c, Rounding_Dir) {
+  switch (c) {
+  case VC_NAN:
+    if (Policy::has_nan) {
+      v.get_num() = 0;
+      v.get_den() = 0;
+      return V_NAN | V_UNREPRESENTABLE;
+    }
+    return V_NAN;
+  case VC_MINUS_INFINITY:
+    if (Policy::has_infinity) {
       v.get_num() = -1;
       v.get_den() = 0;
-      return V_EQ;
-    case VC_PLUS_INFINITY:
+      return V_EQ_MINUS_INFINITY;
+    }
+    return V_EQ_MINUS_INFINITY | V_UNREPRESENTABLE;
+  case VC_PLUS_INFINITY:
+    if (Policy::has_infinity) {
       v.get_num() = 1;
       v.get_den() = 0;
-      return V_EQ;
-    default:
-      break;
+      return V_EQ_PLUS_INFINITY;
     }
+    return V_EQ_PLUS_INFINITY | V_UNREPRESENTABLE;
+  default:
+    PPL_ASSERT(false);
+    return V_NAN | V_UNREPRESENTABLE;
   }
-  return r;
 }
 
 PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_mpq, mpq_class)
@@ -293,8 +299,9 @@ PPL_SPECIALIZE_MUL(mul_mpq, mpq_class, mpq_class, mpq_class)
 template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 inline Result
 div_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) {
-  if (CHECK_P(To_Policy::check_div_zero, sgn(y) == 0))
-    return assign_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
+  if (CHECK_P(To_Policy::check_div_zero, sgn(y) == 0)) {
+    return assign_nan<To_Policy>(to, V_DIV_ZERO);
+  }
   to = x / y;
   return V_EQ;
 }
@@ -304,8 +311,9 @@ PPL_SPECIALIZE_DIV(div_mpq, mpq_class, mpq_class, mpq_class)
 template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 inline Result
 idiv_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir dir) {
-  if (CHECK_P(To_Policy::check_div_zero, sgn(y) == 0))
-    return assign_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
+  if (CHECK_P(To_Policy::check_div_zero, sgn(y) == 0)) {
+    return assign_nan<To_Policy>(to, V_DIV_ZERO);
+  }
   to = x / y;
   return trunc<To_Policy, To_Policy>(to, to, dir);
 }
@@ -315,10 +323,13 @@ PPL_SPECIALIZE_IDIV(idiv_mpq, mpq_class, mpq_class, mpq_class)
 template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 inline Result
 rem_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) {
-  if (CHECK_P(To_Policy::check_div_zero, sgn(y) == 0))
-    return assign_special<To_Policy>(to, V_MOD_ZERO, ROUND_IGNORE);
-  to = x / y;
-  to.get_num() %= to.get_den();
+  if (CHECK_P(To_Policy::check_div_zero, sgn(y) == 0)) {
+    return assign_nan<To_Policy>(to, V_MOD_ZERO);
+  }
+  PPL_DIRTY_TEMP(mpq_class, tmp);
+  tmp = x / y;
+  tmp.get_num() %= tmp.get_den();
+  to = tmp * y;
   return V_EQ;
 }
 
@@ -326,29 +337,84 @@ PPL_SPECIALIZE_REM(rem_mpq, mpq_class, mpq_class, mpq_class)
 
 template <typename To_Policy, typename From_Policy>
 inline Result
-mul2exp_mpq(mpq_class& to, const mpq_class& x, int exp, Rounding_Dir dir) {
-  if (exp < 0)
-    return div2exp<To_Policy, From_Policy>(to, x, -exp, dir);
+add_2exp_mpq(mpq_class& to, const mpq_class& x, unsigned int exp,
+             Rounding_Dir) {
+  PPL_DIRTY_TEMP(mpz_class, v);
+  v = 1;
+  mpz_mul_2exp(v.get_mpz_t(), v.get_mpz_t(), exp);
+  to = x + v;
+  return V_EQ;
+}
+
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_mpq, mpq_class, mpq_class)
+
+template <typename To_Policy, typename From_Policy>
+inline Result
+sub_2exp_mpq(mpq_class& to, const mpq_class& x, unsigned int exp,
+             Rounding_Dir) {
+  PPL_DIRTY_TEMP(mpz_class, v);
+  v = 1;
+  mpz_mul_2exp(v.get_mpz_t(), v.get_mpz_t(), exp);
+  to = x - v;
+  return V_EQ;
+}
+
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_mpq, mpq_class, mpq_class)
+
+template <typename To_Policy, typename From_Policy>
+inline Result
+mul_2exp_mpq(mpq_class& to, const mpq_class& x, unsigned int exp,
+             Rounding_Dir) {
   mpz_mul_2exp(to.get_num().get_mpz_t(), x.get_num().get_mpz_t(), exp);
   to.get_den() = x.get_den();
   to.canonicalize();
   return V_EQ;
 }
 
-PPL_SPECIALIZE_MUL2EXP(mul2exp_mpq, mpq_class, mpq_class)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_mpq, mpq_class, mpq_class)
 
 template <typename To_Policy, typename From_Policy>
 inline Result
-div2exp_mpq(mpq_class& to, const mpq_class& x, int exp, Rounding_Dir dir) {
-  if (exp < 0)
-    return mul2exp<To_Policy, From_Policy>(to, x, -exp, dir);
+div_2exp_mpq(mpq_class& to, const mpq_class& x, unsigned int exp,
+             Rounding_Dir) {
   to.get_num() = x.get_num();
   mpz_mul_2exp(to.get_den().get_mpz_t(), x.get_den().get_mpz_t(), exp);
   to.canonicalize();
   return V_EQ;
 }
 
-PPL_SPECIALIZE_DIV2EXP(div2exp_mpq, mpq_class, mpq_class)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_mpq, mpq_class, mpq_class)
+
+template <typename To_Policy, typename From_Policy>
+inline Result
+smod_2exp_mpq(mpq_class& to, const mpq_class& x, unsigned int exp,
+	      Rounding_Dir) {
+  mpz_mul_2exp(to.get_den().get_mpz_t(), x.get_den().get_mpz_t(), exp);
+  mpz_fdiv_r(to.get_num().get_mpz_t(), x.get_num().get_mpz_t(), to.get_den().get_mpz_t());
+  mpz_fdiv_q_2exp(to.get_den().get_mpz_t(), to.get_den().get_mpz_t(), 1);
+  bool neg = to.get_num() >= to.get_den();
+  mpz_mul_2exp(to.get_den().get_mpz_t(), to.get_den().get_mpz_t(), 1);
+  if (neg)
+    to.get_num() -= to.get_den();
+  mpz_mul_2exp(to.get_num().get_mpz_t(), to.get_num().get_mpz_t(), exp);
+  to.canonicalize();
+  return V_EQ;
+}
+
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_mpq, mpq_class, mpq_class)
+
+template <typename To_Policy, typename From_Policy>
+inline Result
+umod_2exp_mpq(mpq_class& to, const mpq_class& x, unsigned int exp,
+	      Rounding_Dir) {
+  mpz_mul_2exp(to.get_den().get_mpz_t(), x.get_den().get_mpz_t(), exp);
+  mpz_fdiv_r(to.get_num().get_mpz_t(), x.get_num().get_mpz_t(), to.get_den().get_mpz_t());
+  mpz_mul_2exp(to.get_num().get_mpz_t(), to.get_num().get_mpz_t(), exp);
+  to.canonicalize();
+  return V_EQ;
+}
+
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_mpq, mpq_class, mpq_class)
 
 template <typename To_Policy, typename From_Policy>
 inline Result
@@ -379,13 +445,14 @@ sub_mul_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y,
 
 PPL_SPECIALIZE_SUB_MUL(sub_mul_mpq, mpq_class, mpq_class, mpq_class)
 
-extern unsigned long rational_sqrt_precision_parameter;
+extern unsigned irrational_precision;
 
 template <typename To_Policy, typename From_Policy>
 inline Result
 sqrt_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir dir) {
-  if (CHECK_P(To_Policy::check_sqrt_neg, from < 0))
-    return assign_special<To_Policy>(to, V_SQRT_NEG, ROUND_IGNORE);
+  if (CHECK_P(To_Policy::check_sqrt_neg, from < 0)) {
+    return assign_nan<To_Policy>(to, V_SQRT_NEG);
+  }
   if (from == 0) {
     to = 0;
     return V_EQ;
@@ -396,12 +463,14 @@ sqrt_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir dir) {
   mpz_class& to_a = gt1 ? to.get_num() : to.get_den();
   mpz_class& to_b = gt1 ? to.get_den() : to.get_num();
   Rounding_Dir rdir = gt1 ? dir : inverse(dir);
-  mul2exp<To_Policy, From_Policy>(to_a, from_a, 2*rational_sqrt_precision_parameter, ROUND_IGNORE);
+  mul_2exp<To_Policy, From_Policy>(to_a, from_a,
+                                   2*irrational_precision, ROUND_IGNORE);
   Result rdiv
     = div<To_Policy, To_Policy, To_Policy>(to_a, to_a, from_b, rdir);
   Result rsqrt = sqrt<To_Policy, To_Policy>(to_a, to_a, rdir);
   to_b = 1;
-  mul2exp<To_Policy, To_Policy>(to_b, to_b, rational_sqrt_precision_parameter, ROUND_IGNORE);
+  mul_2exp<To_Policy, To_Policy>(to_b, to_b,
+                                 irrational_precision, ROUND_IGNORE);
   to.canonicalize();
   return rdiv != V_EQ ? rdiv : rsqrt;
 }
@@ -410,13 +479,15 @@ PPL_SPECIALIZE_SQRT(sqrt_mpq, mpq_class, mpq_class)
 
 template <typename Policy>
 inline Result
-input_mpq(mpq_class& to, std::istream& is, Rounding_Dir) {
+input_mpq(mpq_class& to, std::istream& is, Rounding_Dir dir) {
   Result r = input_mpq(to, is);
-  switch (classify(r)) {
+  Result_Class c = result_class(r);
+  switch (c) {
   case VC_MINUS_INFINITY:
   case VC_PLUS_INFINITY:
+    return assign_special<Policy>(to, c, dir);
   case VC_NAN:
-    return assign_special<Policy>(to, r, ROUND_IGNORE);
+    return assign_nan<Policy>(to, r);
   default:
     return r;
   }
@@ -455,27 +526,27 @@ PPL_SPECIALIZE_ASSIGN(assign_mpq_long_double, mpq_class, long double)
 
 } // namespace Checked
 
-//! Returns the precision parameter used for rational square root calculations.
+//! Returns the precision parameter used for irrational calculations.
 inline unsigned
-rational_sqrt_precision_parameter() {
-  return Checked::rational_sqrt_precision_parameter;
+irrational_precision() {
+  return Checked::irrational_precision;
 }
 
-//! Sets the precision parameter used for rational square root calculations.
+//! Sets the precision parameter used for irrational calculations.
 /*! The lesser between numerator and denominator is limited to 2**\p p.
 
   If \p p is less than or equal to <CODE>INT_MAX</CODE>, sets the
-  precision parameter used for rational square root calculations to \p p.
+  precision parameter used for irrational calculations to \p p.
 
   \exception std::invalid_argument
   Thrown if \p p is greater than <CODE>INT_MAX</CODE>.
 */
 inline void
-set_rational_sqrt_precision_parameter(const unsigned p) {
+set_irrational_precision(const unsigned p) {
   if (p <= INT_MAX)
-    Checked::rational_sqrt_precision_parameter = p;
+    Checked::irrational_precision = p;
   else
-    throw std::invalid_argument("PPL::set_rational_sqrt_precision_parameter(p)"
+    throw std::invalid_argument("PPL::set_irrational_precision(p)"
 				" with p > INT_MAX");
 }
 
diff --git a/src/checked_mpz.inlines.hh b/src/checked_mpz.inlines.hh
index ccc7af2..380e085 100644
--- a/src/checked_mpz.inlines.hh
+++ b/src/checked_mpz.inlines.hh
@@ -1,5 +1,5 @@
 /* Specialized "checked" functions for GMP's mpz_class numbers.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -75,19 +75,19 @@ classify_mpz(const mpz_class& v, bool nan, bool inf, bool sign) {
     if (Policy::has_nan
 	&& (nan || sign)
 	&& s == C_Integer<mp_size_field_t>::min + 1)
-      return VC_NAN;
+      return V_NAN;
     if (!inf && !sign)
-      return VC_NORMAL;
+      return V_LGE;
     if (Policy::has_infinity) {
       if (s == C_Integer<mp_size_field_t>::min)
-	return inf ? VC_MINUS_INFINITY : V_LT;
+	return inf ? V_EQ_MINUS_INFINITY : V_LT;
       if (s == C_Integer<mp_size_field_t>::max)
-	return inf ? VC_PLUS_INFINITY : V_GT;
+	return inf ? V_EQ_PLUS_INFINITY : V_GT;
     }
   }
   if (sign)
-    return sgn<Policy>(v);
-  return VC_NORMAL;
+    return (Result) sgn<Policy>(v);
+  return V_LGE;
 }
 
 PPL_SPECIALIZE_CLASSIFY(classify_mpz, mpz_class)
@@ -129,23 +129,28 @@ PPL_SPECIALIZE_IS_INT(is_int_mpz, mpz_class)
 
 template <typename Policy>
 inline Result
-assign_special_mpz(mpz_class& v, Result r, Rounding_Dir) {
-  Result c = classify(r);
-  if (Policy::has_nan && c == VC_NAN)
-    set_mp_size(v, C_Integer<mp_size_field_t>::min + 1);
-  else if (Policy::has_infinity) {
-    switch (c) {
-    case VC_MINUS_INFINITY:
+assign_special_mpz(mpz_class& v, Result_Class c, Rounding_Dir) {
+  switch (c) {
+  case VC_NAN:
+    if (Policy::has_nan)
+      set_mp_size(v, C_Integer<mp_size_field_t>::min + 1);
+    return V_NAN;
+  case VC_MINUS_INFINITY:
+    if (Policy::has_infinity) {
       set_mp_size(v, C_Integer<mp_size_field_t>::min);
-      return V_EQ;
-    case VC_PLUS_INFINITY:
+      return V_EQ_MINUS_INFINITY;
+    }
+    return V_EQ_MINUS_INFINITY | V_UNREPRESENTABLE;
+  case VC_PLUS_INFINITY:
+    if (Policy::has_infinity) {
       set_mp_size(v, C_Integer<mp_size_field_t>::max);
-      return V_EQ;
-    default:
-      break;
+      return V_EQ_PLUS_INFINITY;
     }
+    return V_EQ_PLUS_INFINITY | V_UNREPRESENTABLE;
+  default:
+    PPL_ASSERT(false);
+    return V_NAN;
   }
-  return r;
 }
 
 PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_mpz, mpz_class)
@@ -154,9 +159,9 @@ template <typename To_Policy, typename From_Policy>
 inline void
 copy_mpz(mpz_class& to, const mpz_class& from) {
   if (is_nan_mpz<From_Policy>(from))
-    assert(To_Policy::has_nan);
+    PPL_ASSERT(To_Policy::has_nan);
   else if (is_minf_mpz<From_Policy>(from) || is_pinf_mpz<From_Policy>(from))
-    assert(To_Policy::has_infinity);
+    PPL_ASSERT(To_Policy::has_infinity);
   else {
     to = from;
     return;
@@ -191,18 +196,18 @@ construct_mpz_float(mpz_class& to, const From& from, Rounding_Dir dir) {
     return construct_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
   else if (is_pinf<From_Policy>(from))
     return construct_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  if (round_ignore(dir)) {
+  if (round_not_requested(dir)) {
     new (&to) mpz_class(from);
     return V_LGE;
   }
   From n = rint(from);
   new (&to) mpz_class(n);
-  if (from < n)
+  if (from == n)
+    return V_EQ;
+  if (from < 0)
     return round_lt_mpz<To_Policy>(to, dir);
-  else if (from > n)
-    return round_gt_mpz<To_Policy>(to, dir);
   else
-    return V_EQ;
+    return round_gt_mpz<To_Policy>(to, dir);
 }
 
 PPL_SPECIALIZE_CONSTRUCT(construct_mpz_float, mpz_class, float)
@@ -259,18 +264,24 @@ assign_mpz_float(mpz_class& to, const From from, Rounding_Dir dir) {
     return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
   else if (is_pinf<From_Policy>(from))
     return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  if (round_ignore(dir)) {
+  if (round_not_requested(dir)) {
     to = from;
     return V_LGE;
   }
-  From n = rint(from);
-  to = n;
-  if (from < n)
+  From i_from = rint(from);
+  to = i_from;
+  if (from == i_from)
+    return V_EQ;
+  if (round_direct(ROUND_UP))
     return round_lt_mpz<To_Policy>(to, dir);
-  else if (from > n)
+  if (round_direct(ROUND_DOWN))
     return round_gt_mpz<To_Policy>(to, dir);
-  else
-    return V_EQ;
+  if (from < i_from)
+    return round_lt_mpz<To_Policy>(to, dir);
+  if (from > i_from)
+    return round_gt_mpz<To_Policy>(to, dir);
+  PPL_ASSERT(false);
+  return V_NAN;
 }
 
 PPL_SPECIALIZE_ASSIGN(assign_mpz_float, mpz_class, float)
@@ -293,7 +304,7 @@ assign_mpz_long_double(mpz_class& to, const From& from, Rounding_Dir dir) {
   Result r =
 #endif
     input_mpq(tmp, ss);
-  assert(r == V_EQ);
+  PPL_ASSERT(r == V_EQ);
   return assign<To_Policy, From_Policy>(to, tmp, dir);
 }
 
@@ -302,6 +313,10 @@ PPL_SPECIALIZE_ASSIGN(assign_mpz_long_double, mpz_class, long double)
 template <typename To_Policy, typename From_Policy>
 inline Result
 assign_mpz_mpq(mpz_class& to, const mpq_class& from, Rounding_Dir dir) {
+  if (round_not_needed(dir)) {
+    to = from.get_num();
+    return V_LGE;
+  }
   if (round_ignore(dir)) {
     to = from;
     return V_LGE;
@@ -310,12 +325,16 @@ assign_mpz_mpq(mpz_class& to, const mpq_class& from, Rounding_Dir dir) {
   mpz_srcptr d = from.get_den().get_mpz_t();
   if (round_down(dir)) {
     mpz_fdiv_q(to.get_mpz_t(), n, d);
-    return mpz_divisible_p(n, d) ? V_EQ : V_GT;
+    if (round_strict_relation(dir))
+      return mpz_divisible_p(n, d) ? V_EQ : V_GT;
+    return V_GE;
   }
   else {
-    assert(round_up(dir));
+    PPL_ASSERT(round_up(dir));
     mpz_cdiv_q(to.get_mpz_t(), n, d);
-    return mpz_divisible_p(n, d) ? V_EQ : V_LT;
+    if (round_strict_relation(dir))
+      return mpz_divisible_p(n, d) ? V_EQ : V_LT;
+    return V_LE;
   }
 }
 
@@ -365,31 +384,31 @@ template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 inline Result
 div_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y,
 	Rounding_Dir dir) {
-  if (CHECK_P(To_Policy::check_div_zero, ::sgn(y) == 0))
-    return assign_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
+  if (CHECK_P(To_Policy::check_div_zero, ::sgn(y) == 0)) {
+    return assign_nan<To_Policy>(to, V_DIV_ZERO);
+  }
   mpz_srcptr n = x.get_mpz_t();
   mpz_srcptr d = y.get_mpz_t();
-  if (round_ignore(dir)) {
-#if 0
-    // FIXME: we need to reconsider Rounding_Dir argument to clarify if
-    // client code intention is to have approximate result without any interest
-    // in knowing the direction of rounding or to grant to called function
-    // that result will be exact.
+  if (round_not_needed(dir)) {
     mpz_divexact(to.get_mpz_t(), n, d);
     return V_LGE;
-#else
+  }
+  if (round_ignore(dir)) {
     mpz_cdiv_q(to.get_mpz_t(), n, d);
     return V_LE;
-#endif
   }
   if (round_down(dir)) {
     mpz_fdiv_q(to.get_mpz_t(), n, d);
-    return mpz_divisible_p(n, d) ? V_EQ : V_GT;
+    if (round_strict_relation(dir))
+      return mpz_divisible_p(n, d) ? V_EQ : V_GT;
+    return V_GE;
   }
   else {
-    assert(round_up(dir));
+    PPL_ASSERT(round_up(dir));
     mpz_cdiv_q(to.get_mpz_t(), n, d);
-    return mpz_divisible_p(n, d) ? V_EQ : V_LT;
+    if (round_strict_relation(dir))
+      return mpz_divisible_p(n, d) ? V_EQ : V_LT;
+    return V_LE;
   }
 }
 
@@ -399,8 +418,9 @@ template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 inline Result
 idiv_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y,
 	Rounding_Dir) {
-  if (CHECK_P(To_Policy::check_div_zero, ::sgn(y) == 0))
-    return assign_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
+  if (CHECK_P(To_Policy::check_div_zero, ::sgn(y) == 0)) {
+    return assign_nan<To_Policy>(to, V_DIV_ZERO);
+  }
   mpz_srcptr n = x.get_mpz_t();
   mpz_srcptr d = y.get_mpz_t();
   mpz_tdiv_q(to.get_mpz_t(), n, d);
@@ -412,8 +432,9 @@ PPL_SPECIALIZE_IDIV(idiv_mpz, mpz_class, mpz_class, mpz_class)
 template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 inline Result
 rem_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
-  if (CHECK_P(To_Policy::check_div_zero, ::sgn(y) == 0))
-    return assign_special<To_Policy>(to, V_MOD_ZERO, ROUND_IGNORE);
+  if (CHECK_P(To_Policy::check_div_zero, ::sgn(y) == 0)) {
+    return assign_nan<To_Policy>(to, V_MOD_ZERO);
+  }
   to = x % y;
   return V_EQ;
 }
@@ -422,37 +443,88 @@ PPL_SPECIALIZE_REM(rem_mpz, mpz_class, mpz_class, mpz_class)
 
 template <typename To_Policy, typename From_Policy>
 inline Result
-mul2exp_mpz(mpz_class& to, const mpz_class& x, int exp, Rounding_Dir dir) {
-  if (exp < 0)
-    return div2exp<To_Policy, From_Policy>(to, x, -exp, dir);
+add_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp,
+             Rounding_Dir) {
+  PPL_DIRTY_TEMP(mpz_class, v);
+  v = 1;
+  mpz_mul_2exp(v.get_mpz_t(), v.get_mpz_t(), exp);
+  to = x + v;
+  return V_EQ;
+}
+
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_mpz, mpz_class, mpz_class)
+
+template <typename To_Policy, typename From_Policy>
+inline Result
+sub_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp,
+             Rounding_Dir) {
+  PPL_DIRTY_TEMP(mpz_class, v);
+  v = 1;
+  mpz_mul_2exp(v.get_mpz_t(), v.get_mpz_t(), exp);
+  to = x - v;
+  return V_EQ;
+}
+
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_mpz, mpz_class, mpz_class)
+
+template <typename To_Policy, typename From_Policy>
+inline Result
+mul_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp,
+             Rounding_Dir) {
   mpz_mul_2exp(to.get_mpz_t(), x.get_mpz_t(), exp);
   return V_EQ;
 }
 
-PPL_SPECIALIZE_MUL2EXP(mul2exp_mpz, mpz_class, mpz_class)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_mpz, mpz_class, mpz_class)
 
 template <typename To_Policy, typename From_Policy>
 inline Result
-div2exp_mpz(mpz_class& to, const mpz_class& x, int exp, Rounding_Dir dir) {
-  if (exp < 0)
-    return mul2exp<To_Policy, From_Policy>(to, x, -exp, dir);
+div_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp,
+             Rounding_Dir dir) {
   mpz_srcptr n = x.get_mpz_t();
-  if (round_ignore(dir)) {
+  if (round_not_requested(dir)) {
     mpz_tdiv_q_2exp(to.get_mpz_t(), x.get_mpz_t(), exp);
     return V_LGE;
   }
   if (round_down(dir)) {
     mpz_fdiv_q_2exp(to.get_mpz_t(), n, exp);
-    return mpz_divisible_2exp_p(n, exp) ? V_EQ : V_GT;
+    if (round_strict_relation(dir))
+      return mpz_divisible_2exp_p(n, exp) ? V_EQ : V_GT;
+    return V_GE;
   }
   else {
-    assert(round_up(dir));
+    PPL_ASSERT(round_up(dir));
     mpz_cdiv_q_2exp(to.get_mpz_t(), n, exp);
-    return mpz_divisible_2exp_p(n, exp) ? V_EQ : V_LT;
+    if (round_strict_relation(dir))
+      return mpz_divisible_2exp_p(n, exp) ? V_EQ : V_LT;
+    return V_LE;
   }
 }
 
-PPL_SPECIALIZE_DIV2EXP(div2exp_mpz, mpz_class, mpz_class)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_mpz, mpz_class, mpz_class)
+
+template <typename To_Policy, typename From_Policy>
+inline Result
+smod_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp,
+	      Rounding_Dir) {
+  if (mpz_tstbit(x.get_mpz_t(), exp - 1))
+    mpz_cdiv_r_2exp(to.get_mpz_t(), x.get_mpz_t(), exp);
+  else
+    mpz_fdiv_r_2exp(to.get_mpz_t(), x.get_mpz_t(), exp);
+  return V_EQ;
+}
+
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_mpz, mpz_class, mpz_class)
+
+template <typename To_Policy, typename From_Policy>
+inline Result
+umod_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp,
+	      Rounding_Dir) {
+  mpz_fdiv_r_2exp(to.get_mpz_t(), x.get_mpz_t(), exp);
+  return V_EQ;
+}
+
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_mpz, mpz_class, mpz_class)
 
 template <typename To_Policy, typename From_Policy>
 inline Result
@@ -516,9 +588,10 @@ PPL_SPECIALIZE_LCM(lcm_mpz, mpz_class, mpz_class, mpz_class)
 template <typename To_Policy, typename From_Policy>
 inline Result
 sqrt_mpz(mpz_class& to, const mpz_class& from, Rounding_Dir dir) {
-  if (CHECK_P(To_Policy::check_sqrt_neg, from < 0))
-    return assign_special<To_Policy>(to, V_SQRT_NEG, ROUND_IGNORE);
-  if (round_ignore(dir)) {
+  if (CHECK_P(To_Policy::check_sqrt_neg, from < 0)) {
+    return assign_nan<To_Policy>(to, V_SQRT_NEG);
+  }
+  if (round_not_requested(dir)) {
     to = sqrt(from);
     return V_GE;
   }
@@ -532,20 +605,20 @@ sqrt_mpz(mpz_class& to, const mpz_class& from, Rounding_Dir dir) {
 PPL_SPECIALIZE_SQRT(sqrt_mpz, mpz_class, mpz_class)
 
 template <typename Policy, typename Type>
-inline Result
+inline Result_Relation
 sgn_mp(const Type& x) {
   int i = ::sgn(x);
-  return i > 0 ? V_GT : i == 0 ? V_EQ : V_LT;
+  return i > 0 ? VR_GT : i < 0 ? VR_LT : VR_EQ;
 }
 
 PPL_SPECIALIZE_SGN(sgn_mp, mpz_class)
 PPL_SPECIALIZE_SGN(sgn_mp, mpq_class)
 
 template <typename Policy1, typename Policy2, typename Type>
-inline Result
+inline Result_Relation
 cmp_mp(const Type& x, const Type& y) {
   int i = ::cmp(x, y);
-  return i > 0 ? V_GT : i == 0 ? V_EQ : V_LT;
+  return i > 0 ? VR_GT : i < 0 ? VR_LT : VR_EQ;
 }
 
 PPL_SPECIALIZE_CMP(cmp_mp, mpz_class, mpz_class)
diff --git a/src/checked_numeric_limits.hh b/src/checked_numeric_limits.hh
index 8484324..75a82b2 100644
--- a/src/checked_numeric_limits.hh
+++ b/src/checked_numeric_limits.hh
@@ -1,5 +1,5 @@
 /* Specializations of std::numeric_limits for "checked" types.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -44,25 +44,29 @@ template <typename Policy>						\
   static const bool has_quiet_NaN =  Policy::has_nan;                   \
                                                                         \
   static Type min() {							\
-    return Checked::Extended_Int<Policy, T>::min;                       \
+    Type v;								\
+    v.raw_value() = Checked::Extended_Int<Policy, T>::min;		\
+    return v;								\
   }									\
                                                                         \
   static Type max() {							\
-    return Checked::Extended_Int<Policy, T>::max;                       \
+    Type v;								\
+    v.raw_value() = Checked::Extended_Int<Policy, T>::max;		\
+    return v;								\
   }									\
 									\
   static Type infinity() {						\
-    return								\
-      Policy::has_infinity						\
-      ? PLUS_INFINITY                                                   \
-      : static_cast<Type>(0);						\
+    Type v;								\
+    Checked::assign_special<Policy>(v.raw_value(), VC_PLUS_INFINITY,	\
+			    ROUND_IGNORE);				\
+    return v;								\
   }									\
 									\
   static Type quiet_NaN() {						\
-    return								\
-      Policy::has_nan                                                   \
-      ? NOT_A_NUMBER                                                    \
-      : static_cast<Type>(0);						\
+    Type v;								\
+    Checked::assign_special<Policy>(v.raw_value(), VC_NAN,		\
+			    ROUND_IGNORE);				\
+    return v;								\
   }									\
 };
 
@@ -114,17 +118,16 @@ public:
   static const bool has_quiet_NaN =  Policy::has_nan;
 
   static Type infinity() {
-    return
-      Policy::has_infinity
-      ? PLUS_INFINITY
-      : static_cast<Type>(0);
+    Type v;
+    Checked::assign_special<Policy>(v.raw_value(), VC_PLUS_INFINITY,
+				    ROUND_IGNORE);
+    return v;
   }
 
   static Type quiet_NaN() {
-    return
-      Policy::has_nan
-      ? NOT_A_NUMBER
-      : static_cast<Type>(0);
+    Type v;
+    Checked::assign_special<Policy>(v.raw_value(), VC_NAN, ROUND_IGNORE);
+    return v;
   }
 };
 
@@ -143,17 +146,16 @@ public:
   static const bool has_quiet_NaN =  Policy::has_nan;
 
   static Type infinity() {
-    return
-      Policy::has_infinity
-      ? PLUS_INFINITY
-      : static_cast<Type>(0);
+    Type v;
+    Checked::assign_special<Policy>(v.raw_value(), VC_PLUS_INFINITY,
+				    ROUND_IGNORE);
+    return v;
   }
 
   static Type quiet_NaN() {
-    return
-      Policy::has_nan
-      ? NOT_A_NUMBER
-      : static_cast<Type>(0);
+    Type v;
+    Checked::assign_special<Policy>(v.raw_value(), VC_NAN, ROUND_IGNORE);
+    return v;
   }
 };
 
diff --git a/src/compiler.hh b/src/compiler.hh
index 7e08dd9..2e51f95 100644
--- a/src/compiler.hh
+++ b/src/compiler.hh
@@ -1,5 +1,5 @@
 /* C++ compiler related stuff.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -27,14 +27,11 @@ namespace Parma_Polyhedra_Library {
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \brief
-  No-op function that allows to avoid unused variable warnings from
+  No-op macro that allows to avoid unused variable warnings from
   the compiler.
 */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-inline void
-used(const T&) {
-}
+#define used(v) (void)v
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \brief
diff --git a/src/conversion.cc b/src/conversion.cc
index 3fd1757..a65fbd5 100644
--- a/src/conversion.cc
+++ b/src/conversion.cc
@@ -1,5 +1,5 @@
 /* Polyhedron class implementation: conversion().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -34,11 +34,6 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace PPL = Parma_Polyhedra_Library;
 
-// True if abandon_expensive_computations should be checked often,
-// where the meaning of "often" is as stated in the documentation
-// of that variable.
-#define REACTIVE_ABANDONING 1
-
 /*!
   \return
   The number of lines of the polyhedron or the number of equality
@@ -362,11 +357,11 @@ PPL::Polyhedron::conversion(Linear_System& source,
   // By construction, the number of columns of `sat' is the same as
   // the number of rows of `source'; also, the number of rows of `sat'
   // is the same as the number of rows of `dest'.
-  assert(source_num_rows == sat.num_columns());
-  assert(dest_num_rows == sat.num_rows());
+  PPL_ASSERT(source_num_rows == sat.num_columns());
+  PPL_ASSERT(dest_num_rows == sat.num_rows());
 
   // If `start > 0', then we are converting the pending constraints.
-  assert(start == 0 || start == source.first_pending_row());
+  PPL_ASSERT(start == 0 || start == source.first_pending_row());
 
   // During the iteration on the constraints in `source' we may identify
   // constraints that are redundant: these have to be removed by swapping
@@ -394,7 +389,7 @@ PPL::Polyhedron::conversion(Linear_System& source,
 
     // Constraints and generators must have the same dimension,
     // otherwise the scalar product below will bomb.
-    assert(source_num_columns == dest_num_columns);
+    PPL_ASSERT(source_num_columns == dest_num_columns);
 
     // `scalar_prod[i]' will contain the scalar product of the
     // constraint `source_k' and the generator `dest[i]'.  This
@@ -408,24 +403,27 @@ PPL::Polyhedron::conversion(Linear_System& source,
     // that does not saturate the constraint `source_k'.
     dimension_type index_non_zero = 0;
     for ( ; index_non_zero < dest_num_rows; ++index_non_zero) {
+      WEIGHT_BEGIN();
       Scalar_Products::assign(scalar_prod[index_non_zero],
 			      source_k,
 			      dest[index_non_zero]);
+      WEIGHT_ADD_MUL(17, source_num_columns);
       if (scalar_prod[index_non_zero] != 0)
 	// The generator does not saturate the constraint.
 	break;
-#if REACTIVE_ABANDONING
       // Check if the client has requested abandoning all expensive
       // computations.  If so, the exception specified by the client
       // is thrown now.
       maybe_abandon();
-#endif
     }
     for (dimension_type i = index_non_zero + 1; i < dest_num_rows; ++i) {
+      WEIGHT_BEGIN();
       Scalar_Products::assign(scalar_prod[i], source_k, dest[i]);
-#if REACTIVE_ABANDONING
+      WEIGHT_ADD_MUL(25, source_num_columns);
+      // Check if the client has requested abandoning all expensive
+      // computations.  If so, the exception specified by the client
+      // is thrown now.
       maybe_abandon();
-#endif
     }
 
     // We first treat the case when `index_non_zero' is less than
@@ -534,6 +532,7 @@ PPL::Polyhedron::conversion(Linear_System& source,
 		     normalized_sp_i,
 		     normalized_sp_o);
 	  Linear_Row& dest_i = dest[i];
+          WEIGHT_BEGIN();
 	  for (dimension_type c = dest_num_columns; c-- > 0; ) {
 	    Coefficient& dest_i_c = dest_i[c];
 	    dest_i_c *= normalized_sp_o;
@@ -542,10 +541,12 @@ PPL::Polyhedron::conversion(Linear_System& source,
 	  dest_i.strong_normalize();
 	  scalar_prod[i] = 0;
 	  // `dest' has already been set as non-sorted.
+          WEIGHT_ADD_MUL(41, dest_num_columns);
 	}
-#if REACTIVE_ABANDONING
+        // Check if the client has requested abandoning all expensive
+        // computations.  If so, the exception specified by the client
+        // is thrown now.
 	maybe_abandon();
-#endif
       }
       // Since the `scalar_prod_nle' is positive (by construction), it
       // does not saturate the constraint `source_k'.  Therefore, if
@@ -670,15 +671,15 @@ PPL::Polyhedron::conversion(Linear_System& source,
 	      // If there exist another generator that saturates
 	      // all the constraints saturated by both `dest[i]' and
 	      // `dest[j]', then they are NOT adjacent.
-	      Bit_Row new_satrow;
-	      assert(sat[i].last() == ULONG_MAX || sat[i].last() < k);
-	      assert(sat[j].last() == ULONG_MAX || sat[j].last() < k);
+	      PPL_ASSERT(sat[i].last() == ULONG_MAX || sat[i].last() < k);
+	      PPL_ASSERT(sat[j].last() == ULONG_MAX || sat[j].last() < k);
+
 	      // Being the union of `sat[i]' and `sat[j]',
 	      // `new_satrow' corresponds to a ray that saturates all the
 	      // constraints saturated by both `dest[i]' and `dest[j]'.
-	      set_union(sat[i], sat[j], new_satrow);
+	      Bit_Row new_satrow(sat[i], sat[j]);
 
-	      // Computing the number of common saturators.
+	      // Compute the number of common saturators.
 	      // NOTE: this number has to be less than `k' because
 	      // we are treating the `k'-th constraint.
 	      const dimension_type
@@ -704,6 +705,7 @@ PPL::Polyhedron::conversion(Linear_System& source,
 		// Now we actually check for redundancy by computing
 		// adjacency information.
 		bool redundant = false;
+		WEIGHT_BEGIN();
 		for (dimension_type
 		       l = num_lines_or_equalities; l < bound; ++l)
 		  if (l != i && l != j
@@ -713,6 +715,8 @@ PPL::Polyhedron::conversion(Linear_System& source,
 		    redundant = true;
 		    break;
 		  }
+                assert(bound >= num_lines_or_equalities);
+                WEIGHT_ADD_MUL(15, bound - num_lines_or_equalities);
 		if (!redundant) {
 		  // Adding the new ray to `dest' and the corresponding
 		  // saturation row to `sat'.
@@ -720,10 +724,11 @@ PPL::Polyhedron::conversion(Linear_System& source,
 		    // Make room for one more row.
 		    dest.add_pending_row(Linear_Row::Flags(dest.topology(),
 							   Linear_Row::RAY_OR_POINT_OR_INEQUALITY));
-		    sat.add_row(new_satrow);
+		    sat.add_recycled_row(new_satrow);
 		  }
 		  else
-		    sat[dest_num_rows] = new_satrow;
+                    sat[dest_num_rows].swap(new_satrow);
+
 		  Linear_Row& new_row = dest[dest_num_rows];
 		  // The following fragment optimizes the computation of
 		  //
@@ -739,30 +744,33 @@ PPL::Polyhedron::conversion(Linear_System& source,
 			     scalar_prod[j],
 			     normalized_sp_i,
 			     normalized_sp_o);
+		  WEIGHT_BEGIN();
 		  for (dimension_type c = dest_num_columns; c-- > 0; ) {
 		    Coefficient& new_row_c = new_row[c];
 		    new_row_c = normalized_sp_i * dest[j][c];
 		    sub_mul_assign(new_row_c, normalized_sp_o, dest[i][c]);
 		  }
+                  WEIGHT_ADD_MUL(86, dest_num_columns);
 		  new_row.strong_normalize();
 		  // Since we added a new generator to `dest',
 		  // we also add a new element to `scalar_prod';
 		  // by construction, the new ray lies on the hyper-plane
 		  // represented by the constraint `source_k'.
 		  // Thus, the added scalar product is 0.
-		  assert(scalar_prod.size() >= dest_num_rows);
+		  PPL_ASSERT(scalar_prod.size() >= dest_num_rows);
 		  if (scalar_prod.size() <= dest_num_rows)
 		    scalar_prod.push_back(Coefficient_zero());
 		  else
 		    scalar_prod[dest_num_rows] = Coefficient_zero();
 		  // Increment the number of generators.
 		  ++dest_num_rows;
-		}
+		} // if (!redundant)
 	      }
 	    }
-#if REACTIVE_ABANDONING
+            // Check if the client has requested abandoning all expensive
+            // computations.  If so, the exception specified by the client
+            // is thrown now.
 	    maybe_abandon();
-#endif
 	  }
 	  // Now we substitute the rays in Q- (i.e., the rays violating
 	  // the constraint) with the newly added rays.
@@ -807,18 +815,12 @@ PPL::Polyhedron::conversion(Linear_System& source,
 	++k;
       }
     }
-#if !REACTIVE_ABANDONING
-    // Check if the client has requested abandoning all expensive
-    // computations.  If so, the exception specified by the client
-    // is thrown now.
-    maybe_abandon();
-#endif
   }
 
   // We may have identified some redundant constraints in `source',
   // which have been swapped at the end of the system.
   if (source_num_redundant > 0) {
-    assert(source_num_redundant == source.num_rows() - source_num_rows);
+    PPL_ASSERT(source_num_redundant == source.num_rows() - source_num_rows);
     source.erase_to_end(source_num_rows);
     sat.columns_erase_to_end(source_num_rows);
   }
diff --git a/src/distances.defs.hh b/src/distances.defs.hh
index e02e003..229a617 100644
--- a/src/distances.defs.hh
+++ b/src/distances.defs.hh
@@ -1,5 +1,5 @@
 /* Class declarations for several distances.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/distances.inlines.hh b/src/distances.inlines.hh
index 5c12eb1..42dd7ee 100644
--- a/src/distances.inlines.hh
+++ b/src/distances.inlines.hh
@@ -1,5 +1,5 @@
 /* Inline functions implementing distances.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/distances.types.hh b/src/distances.types.hh
index e022f7e..6c101ed 100644
--- a/src/distances.types.hh
+++ b/src/distances.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/fpu-c99.inlines.hh b/src/fpu-c99.inlines.hh
index ed7eec1..4e6fa8d 100644
--- a/src/fpu-c99.inlines.hh
+++ b/src/fpu-c99.inlines.hh
@@ -1,5 +1,5 @@
 /* C99 Floating point unit related functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/fpu-ia32.cc b/src/fpu-ia32.cc
index b781a72..7a9ac2f 100644
--- a/src/fpu-ia32.cc
+++ b/src/fpu-ia32.cc
@@ -1,5 +1,5 @@
 /* IA-32 floating point unit non-inline related functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/fpu-ia32.inlines.hh b/src/fpu-ia32.inlines.hh
index 6549fb7..a91bc68 100644
--- a/src/fpu-ia32.inlines.hh
+++ b/src/fpu-ia32.inlines.hh
@@ -1,5 +1,5 @@
 /* IA-32 floating point unit inline related functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/fpu-none.inlines.hh b/src/fpu-none.inlines.hh
index 883245a..741aef8 100644
--- a/src/fpu-none.inlines.hh
+++ b/src/fpu-none.inlines.hh
@@ -1,5 +1,5 @@
 /* Null floating point unit related functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/fpu-sparc.inlines.hh b/src/fpu-sparc.inlines.hh
index 83d7b4a..cef07a6 100644
--- a/src/fpu-sparc.inlines.hh
+++ b/src/fpu-sparc.inlines.hh
@@ -1,5 +1,5 @@
 /* SPARC floating point unit related functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/fpu.defs.hh b/src/fpu.defs.hh
index 93ec9ca..4dbf393 100644
--- a/src/fpu.defs.hh
+++ b/src/fpu.defs.hh
@@ -1,5 +1,5 @@
 /* Floating point unit related functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/fpu.types.hh b/src/fpu.types.hh
index 013ea48..48b1bd5 100644
--- a/src/fpu.types.hh
+++ b/src/fpu.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/globals.cc b/src/globals.cc
index 9325c4e..63c6378 100644
--- a/src/globals.cc
+++ b/src/globals.cc
@@ -1,5 +1,5 @@
 /* Definitions of global objects.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -26,7 +26,18 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Constraint.defs.hh"
 #include "Generator.defs.hh"
 
-namespace PPL = Parma_Polyhedra_Library;
+namespace Parma_Polyhedra_Library {
 
-const PPL::Throwable* volatile PPL::abandon_expensive_computations = 0;
+const Throwable* volatile abandon_expensive_computations = 0;
 
+// Initialize Weightwatch_Traits static data members.
+Weightwatch_Traits::Threshold Weightwatch_Traits::weight = 0;
+void (*Weightwatch_Traits::check_function)(void) = 0;
+
+#ifndef NDEBUG
+namespace Implementation {
+unsigned int in_assert = 0;
+}
+#endif
+
+} // namespace Parma_Polyhedra_Library
diff --git a/src/globals.defs.hh b/src/globals.defs.hh
index cb6ae20..62c1b95 100644
--- a/src/globals.defs.hh
+++ b/src/globals.defs.hh
@@ -1,5 +1,5 @@
 /* Declarations of global objects.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -82,7 +82,96 @@ swap(T&, T&) {
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 dimension_type
 compute_capacity(dimension_type requested_size,
-		 dimension_type maximum_size);
+                 dimension_type maximum_size);
+
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Traits class for the deterministic timeout mechanism.
+/*! \ingroup PPL_CXX_interface
+  This abstract base class should be instantiated by those users
+  willing to provide a polynomial upper bound to the time spent
+  by any invocation of a library operator.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+struct Weightwatch_Traits {
+  //! The type used to specify thresholds for computational weight.
+  typedef unsigned long long Threshold;
+
+  //! The type used to specify increments of computational weight.
+  typedef unsigned long long Delta;
+
+  //! Returns the current computational weight.
+  static const Threshold& get();
+
+  //! Compares the two weights \p a and \p b.
+  static bool less_than(const Threshold& a, const Threshold& b);
+
+  //! Sets \p threshold to be \p delta units bigger than the current weigth.
+  static void from_delta(Threshold& threshold, const Delta& delta);
+
+  //! The current computational weight.
+  static Threshold weight;
+
+  /*! \brief
+    A pointer to the function that has to be called when checking
+    the reaching of thresholds.
+
+    The pointer can be null if no thresholds are set.
+  */
+  static void (*check_function)(void);
+};
+
+
+#ifndef NDEBUG
+namespace Implementation {
+
+//! Non zero during evaluation of PPL_ASSERT expression.
+extern unsigned int in_assert;
+
+} // namespace Implementation
+#endif
+
+#ifndef PPL_PROFILE_ADD_WEIGHT
+#define PPL_PROFILE_ADD_WEIGHT 0
+#endif
+
+#if defined(NDEBUG)
+#if PPL_PROFILE_ADD_WEIGHT
+#define WEIGHT_BEGIN() Weight_Profiler::begin()
+#define WEIGHT_ADD(delta)                                     \
+  do {                                                        \
+    static Weight_Profiler wp__(__FILE__, __LINE__, delta);   \
+    wp__.end();                                               \
+  } while(0)
+#define WEIGHT_ADD_MUL(delta, factor)                                   \
+  do {                                                                  \
+    static Weight_Profiler wp__(__FILE__, __LINE__, delta);             \
+    wp__.end(factor);                                                   \
+  } while(0)
+#else
+#define WEIGHT_BEGIN()
+#define WEIGHT_ADD(delta)                       \
+  do {                                          \
+    Weightwatch_Traits::weight += delta;        \
+  } while(0)
+#define WEIGHT_ADD_MUL(delta, factor)                   \
+  do {                                                  \
+    Weightwatch_Traits::weight += delta * factor;       \
+  } while(0)
+#endif
+#else
+#define WEIGHT_BEGIN()
+#define WEIGHT_ADD(delta)                       \
+  do {                                          \
+    if (!Implementation::in_assert)             \
+      Weightwatch_Traits::weight += delta;      \
+  } while(0)
+#define WEIGHT_ADD_MUL(delta, factor)                   \
+  do {                                                  \
+    if (!Implementation::in_assert)                     \
+      Weightwatch_Traits::weight += delta * factor;     \
+  } while(0)
+#endif
 
 //! User objects the PPL can throw.
 /*! \ingroup PPL_CXX_interface
@@ -137,13 +226,6 @@ maybe_abandon();
 
 //! A tag class.
 /*! \ingroup PPL_CXX_interface
-  Tag class to make the Grid covering box constructor unique.
-*/
-struct From_Covering_Box {
-};
-
-//! A tag class.
-/*! \ingroup PPL_CXX_interface
   Tag class to distinguish those constructors that recycle the data
   structures of their arguments, instead of taking a copy.
 */
@@ -155,11 +237,11 @@ struct Recycle_Input {
 // Turn the expansion of s into a string: PPL_XSTR(x) => "x expanded".
 #define PPL_XSTR(s) PPL_STR(s)
 
-#define PPL_OUTPUT_DECLARATIONS						\
+#define PPL_OUTPUT_DECLARATIONS                                         \
   /*! \brief Writes to \c std::cerr an ASCII representation of \p *this. */ \
-  void ascii_dump() const;						\
-  /*! \brief Writes to \p s an ASCII representation of \p *this. */	\
-  void ascii_dump(std::ostream& s) const;				\
+  void ascii_dump() const;                                              \
+  /*! \brief Writes to \p s an ASCII representation of \p *this. */     \
+  void ascii_dump(std::ostream& s) const;                               \
   /*! \brief Prints \p *this to \c std::cerr using \c operator<<. */	\
   void print() const;
 
@@ -171,7 +253,7 @@ struct Recycle_Input {
 								\
   void								\
   Parma_Polyhedra_Library::class_name::print() const {		\
-    using namespace IO_Operators;				\
+    using IO_Operators::operator<<;				\
     std::cerr << *this;						\
   }
 
@@ -197,7 +279,7 @@ struct Recycle_Input {
   template <typename type_symbol>					\
   void									\
   class_prefix::print() const {						\
-    using namespace IO_Operators;					\
+    using IO_Operators::operator<<;					\
     std::cerr << *this;							\
   }
 
@@ -213,7 +295,7 @@ struct Recycle_Input {
   template <typename type_symbol1, typename type_symbol2>		\
   void									\
   class_prefix<type_symbol1, type_symbol2>::print() const {		\
-    using namespace IO_Operators;					\
+    using IO_Operators::operator<<;					\
     std::cerr << *this;							\
   }
 
@@ -234,7 +316,7 @@ struct Recycle_Input {
     void								\
     class_prefix<type_symbol1, type_symbol2, type_symbol3>::print()	\
       const {								\
-      using namespace IO_Operators;					\
+      using IO_Operators::operator<<;					\
       std::cerr << *this;						\
     }
 
@@ -281,16 +363,16 @@ struct Constant_ : public TConstant<T, v> {
 template <typename T, long long v, bool prefer_signed>
 struct Constant_<T, v, prefer_signed,
 		 typename Enable_If<(Fit<typename C_Integer<T>::smaller_signed_type, v>::value
-				     && (prefer_signed ||
-					 !Fit<typename C_Integer<T>::smaller_unsigned_type, v>::value))>::type>
+				     && (prefer_signed
+                                         || !Fit<typename C_Integer<T>::smaller_unsigned_type, v>::value))>::type>
   : public Constant_<typename C_Integer<T>::smaller_signed_type, v, prefer_signed> {
 };
 
 template <typename T, long long v, bool prefer_signed>
 struct Constant_<T, v, prefer_signed,
 		 typename Enable_If<(Fit<typename C_Integer<T>::smaller_unsigned_type, v>::value
-				     && (!prefer_signed ||
-					 !Fit<typename C_Integer<T>::smaller_signed_type, v>::value))>::type>
+				     && (!prefer_signed
+                                         || !Fit<typename C_Integer<T>::smaller_signed_type, v>::value))>::type>
   : public Constant_<typename C_Integer<T>::smaller_unsigned_type, v, prefer_signed> {
 };
 
@@ -383,6 +465,10 @@ FOK(mpq_class)
 
 } // namespace Parma_Polyhedra_Library
 
+#if defined(NDEBUG) && PPL_PROFILE_ADD_WEIGHT
+#include "Weight_Profiler.defs.hh"
+#endif
+
 #include "globals.inlines.hh"
 
 #endif // !defined(PPL_globals_defs_hh)
diff --git a/src/globals.inlines.hh b/src/globals.inlines.hh
index f35672a..f44e435 100644
--- a/src/globals.inlines.hh
+++ b/src/globals.inlines.hh
@@ -1,5 +1,5 @@
 /* Implementation of global objects: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -24,7 +24,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #define PPL_globals_inlines_hh 1
 
 #include <limits>
-#include <cassert>
+#include "assert.hh"
 
 namespace Parma_Polyhedra_Library {
 
@@ -33,12 +33,33 @@ not_a_dimension() {
   return std::numeric_limits<dimension_type>::max();
 }
 
+inline const Weightwatch_Traits::Threshold&
+Weightwatch_Traits::get() {
+  return weight;
+}
+
+inline bool
+Weightwatch_Traits::less_than(const Threshold& a, const Threshold& b) {
+  return b - a < 1ULL << (sizeof(Threshold)*8-1);
+}
+
+inline void
+Weightwatch_Traits::from_delta(Threshold& threshold, const Delta& delta) {
+  threshold = weight + delta;
+}
+
 inline
 Throwable::~Throwable() {
 }
 
 inline void
 maybe_abandon() {
+#ifndef NDEBUG
+  if (Implementation::in_assert)
+    return;
+#endif
+  if (Weightwatch_Traits::check_function)
+    Weightwatch_Traits::check_function();
   if (const Throwable* p = abandon_expensive_computations)
     p->throw_me();
 }
diff --git a/src/globals.types.hh b/src/globals.types.hh
index fe3545a..5937505 100644
--- a/src/globals.types.hh
+++ b/src/globals.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
@@ -35,19 +35,20 @@ enum Degenerate_Element {
 
 //! Relation symbols.
 /*! \ingroup PPL_CXX_interface */
+// This must be kept in sync with Result
 enum Relation_Symbol {
-  //! Less than.
-  LESS_THAN,
-  //! Less than or equal to.
-  LESS_OR_EQUAL,
-  //! Equal to.
-  EQUAL,
-  //! Greater than or equal to.
-  GREATER_OR_EQUAL,
-  //! Greater than.
-  GREATER_THAN,
-  //! Not equal to.
-  NOT_EQUAL
+  //! \hideinitializer Equal to.
+  EQUAL = 1,
+  //! \hideinitializer Less than.
+  LESS_THAN = 2,
+  //! \hideinitializer Less than or equal to.
+  LESS_OR_EQUAL = LESS_THAN | EQUAL,
+  //! \hideinitializer Greater than.
+  GREATER_THAN = 4,
+  //! \hideinitializer Greater than or equal to.
+  GREATER_OR_EQUAL = GREATER_THAN | EQUAL,
+  //! \hideinitializer Not equal to.
+  NOT_EQUAL = LESS_THAN | GREATER_THAN
 };
 
 //! Complexity pseudo-classes.
@@ -70,6 +71,89 @@ enum Optimization_Mode {
   MAXIMIZATION
 };
 
+/*! \brief \ingroup PPL_CXX_interface
+  Widths of bounded integer types.
+
+  See the section on
+  \ref Approximating_Bounded_Integers "approximating bounded integers".
+*/
+enum Bounded_Integer_Type_Width {
+  //! \hideinitializer 8 bits.
+  BITS_8 = 8,
+
+  //! \hideinitializer 16 bits.
+  BITS_16 = 16,
+
+  //! \hideinitializer 32 bits.
+  BITS_32 = 32,
+
+  //! \hideinitializer 64 bits.
+  BITS_64 = 64,
+
+  //! \hideinitializer 128 bits.
+  BITS_128 = 128
+};
+
+/*! \brief \ingroup PPL_CXX_interface
+  Representation of bounded integer types.
+
+  See the section on
+  \ref Approximating_Bounded_Integers "approximating bounded integers".
+*/
+enum Bounded_Integer_Type_Representation {
+  //! Unsigned binary.
+  UNSIGNED,
+
+  /*! \brief
+    Signed binary where negative values are represented by the two's
+    complement of the absolute value.
+  */
+  SIGNED_2_COMPLEMENT
+};
+
+/*! \brief \ingroup PPL_CXX_interface
+  Overflow behavior of bounded integer types.
+
+  See the section on
+  \ref Approximating_Bounded_Integers "approximating bounded integers".
+*/
+enum Bounded_Integer_Type_Overflow {
+  /*! \brief
+    On overflow, wrapping takes place.
+
+    This means that, for a \f$w\f$-bit bounded integer, the computation
+    happens modulo \f$2^w\f$.
+  */
+  OVERFLOW_WRAPS,
+
+  /*! \brief
+    On overflow, the result is undefined.
+
+    This simply means that the result of the operation resulting in an
+    overflow can take any value.
+
+    \note
+    Even though something more serious can happen in the system
+    being analyzed ---due to, e.g., C's undefined behavior---, here we
+    are only concerned with the results of arithmetic operations.
+    It is the responsibility of the analyzer to ensure that other
+    manifestations of undefined behavior are conservatively approximated.
+  */
+  OVERFLOW_UNDEFINED,
+
+  /*! \brief
+    Overflow is impossible.
+
+    This is for the analysis of languages where overflow is trapped
+    before it affects the state, for which, thus, any indication that
+    an overflow may have affected the state is necessarily due to
+    the imprecision of the analysis.
+  */
+  OVERFLOW_IMPOSSIBLE
+};
+
+struct Weightwatch_Traits;
+
 } // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_globals_types_hh)
diff --git a/src/initializer.hh b/src/initializer.hh
index 7074d17..2a8956b 100644
--- a/src/initializer.hh
+++ b/src/initializer.hh
@@ -1,5 +1,5 @@
 /* Nifty counter object for the initialization of the library.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -54,7 +54,7 @@ initialize() {
 inline void
 finalize() {
 #ifdef PPL_NO_AUTOMATIC_INITIALIZATION
-  assert(Parma_Polyhedra_Library_initializer_p != 0);
+  PPL_ASSERT(Parma_Polyhedra_Library_initializer_p != 0);
   delete Parma_Polyhedra_Library_initializer_p;
   Parma_Polyhedra_Library_initializer_p = 0;
 #endif
diff --git a/src/intervals.defs.hh b/src/intervals.defs.hh
new file mode 100644
index 0000000..8477393
--- /dev/null
+++ b/src/intervals.defs.hh
@@ -0,0 +1,433 @@
+/* Helper classes for intervals.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#ifndef PPL_intervals_defs_hh
+#define PPL_intervals_defs_hh 1
+
+#include "assert.hh"
+#include <cstdlib>
+
+#include "Checked_Number.defs.hh"
+
+namespace Parma_Polyhedra_Library {
+
+enum I_Result {
+  //! The resulting set may be empty
+  I_EMPTY = 1,
+  //! The resulting set may have only one value
+  I_SINGLETON = 2,
+  //! The resulting set may have more than one value and to be not the domain universe
+  I_SOME = 4,
+  //! The resulting set may be the domain universe
+  I_UNIVERSE = 8,
+  //! The resulting set is not empty
+  I_NOT_EMPTY = I_SINGLETON | I_SOME | I_UNIVERSE,
+  //! The resulting set may be empty or not empty
+  I_ANY = I_EMPTY | I_NOT_EMPTY,
+  //! The resulting set may be empty or not empty
+  I_NOT_UNIVERSE = I_EMPTY | I_SINGLETON | I_SOME,
+  //! The resulting set can'be empty or the domain universe
+  I_NOT_DEGENERATE = I_SINGLETON | I_SOME,
+  //! The resulting set is definitely exact
+  I_EXACT = 16,
+  //! The resulting set is definitely inexact
+  I_INEXACT = 32,
+  //! The operation has definitely changed the set
+  I_CHANGED = 64,
+  //! The operation has left the set definitely unchanged
+  I_UNCHANGED = 128,
+  //! The operation is undefined for some combination of values
+  I_SINGULARITIES = 256
+};
+
+inline I_Result operator|(I_Result a, I_Result b) {
+  return static_cast<I_Result>((unsigned)a | (unsigned)b);
+}
+
+inline I_Result operator&(I_Result a, I_Result b) {
+  return static_cast<I_Result>((unsigned)a & (unsigned)b);
+}
+
+inline I_Result operator-(I_Result a, I_Result b) {
+  return static_cast<I_Result>((unsigned)a & ~(unsigned)b);
+}
+
+template <typename Criteria, typename T>
+struct Use_By_Ref;
+
+struct Use_Slow_Copy;
+template <typename T>
+struct Use_By_Ref<Use_Slow_Copy, T>
+  : public Bool<Slow_Copy<T>::value> {
+};
+
+struct By_Value;
+template <typename T>
+struct Use_By_Ref<By_Value, T>
+  : public False {
+};
+
+struct By_Ref;
+template <typename T>
+struct Use_By_Ref<By_Ref, T>
+  : public True {
+};
+
+template <typename T, typename Criteria = Use_Slow_Copy, typename Enable = void>
+class Val_Or_Ref;
+
+template <typename T, typename Criteria>
+class Val_Or_Ref<T, Criteria,
+		 typename Enable_If<!Use_By_Ref<Criteria, T>::value>::type> {
+  T value;
+public:
+  typedef T Arg_Type;
+  typedef T Return_Type;
+  Val_Or_Ref()
+    : value() {
+  }
+  explicit Val_Or_Ref(Arg_Type v, bool = false)
+    : value(v) {
+  }
+  Val_Or_Ref& operator=(Arg_Type v) {
+    value = v;
+    return *this;
+  }
+  void set(Arg_Type v, bool = false) {
+    value = v;
+  }
+  Return_Type get() const {
+    return value;
+  }
+  operator Return_Type () const {
+    return get();
+  }
+};
+
+template <typename T, typename Criteria>
+class Val_Or_Ref<T, Criteria,
+		 typename Enable_If<Use_By_Ref<Criteria, T>::value>::type> {
+  const T* ptr;
+public:
+  typedef T& Arg_Type;
+  typedef const T& Return_Type;
+  Val_Or_Ref()
+    : ptr(0) {
+  }
+  explicit Val_Or_Ref(Arg_Type v)
+    : ptr(&v) {
+  }
+  Val_Or_Ref(const T& v, bool)
+    : ptr(&v) {
+  }
+  Val_Or_Ref& operator=(Arg_Type v) {
+    ptr = &v;
+    return *this;
+  }
+  void set(Arg_Type v) {
+    ptr = &v;
+  }
+  void set(const T& v, bool) {
+    ptr = &v;
+  }
+  Return_Type get() const {
+    return *ptr;
+  }
+  operator Return_Type () const {
+    return get();
+  }
+};
+
+class I_Constraint_Base {
+};
+
+template <typename Derived>
+class I_Constraint_Common : public I_Constraint_Base {
+public:
+  template <typename T>
+  Result convert_real(T& to) const {
+    const Derived& c = static_cast<const Derived&>(*this);
+    Result r = c.rel();
+    switch (r) {
+    case V_EMPTY:
+    case V_LGE:
+      return r;
+    case V_LE:
+      r = assign_r(to, c.value(), static_cast<Rounding_Dir>(ROUND_UP | ROUND_STRICT_RELATION));
+      r = result_relation_class(r);
+      if (r == V_EQ)
+	return V_LE;
+      goto lt;
+    case V_LT:
+      r = assign_r(to, c.value(), ROUND_UP);
+      r = result_relation_class(r);
+    lt:
+      switch (r) {
+      case V_EMPTY:
+      case V_LT_PLUS_INFINITY:
+      case V_EQ_MINUS_INFINITY:
+	return r;
+      case V_LT:
+      case V_LE:
+      case V_EQ:
+	return V_LT;
+      default:
+	break;
+      }
+      break;
+    case V_GE:
+      r = assign_r(to, c.value(), static_cast<Rounding_Dir>(ROUND_DOWN | ROUND_STRICT_RELATION));
+      r = result_relation_class(r);
+      if (r == V_EQ)
+	return V_GE;
+      goto gt;
+    case V_GT:
+      r = assign_r(to, c.value(), ROUND_DOWN);
+      r = result_relation_class(r);
+    gt:
+      switch (r) {
+      case V_EMPTY:
+      case V_GT_MINUS_INFINITY:
+      case V_EQ_PLUS_INFINITY:
+	return r;
+      case V_LT:
+      case V_LE:
+      case V_EQ:
+	return V_GT;
+      default:
+	break;
+      }
+      break;
+    case V_EQ:
+      r = assign_r(to, c.value(), ROUND_CHECK);
+      r = result_relation_class(r);
+      PPL_ASSERT(r != V_LT && r != V_GT);
+      if (r == V_EQ)
+	return V_EQ;
+      else
+	return V_EMPTY;
+    case V_NE:
+      r = assign_r(to, c.value(), ROUND_CHECK);
+      r = result_relation_class(r);
+      if (r == V_EQ)
+	return V_NE;
+      else
+	return V_LGE;
+    default:
+      break;
+    }
+    PPL_ASSERT(false);
+    return V_EMPTY;
+  }
+  template <typename T>
+  Result convert_real(T& to1, Result& rel2, T& to2) const {
+    const Derived& c = static_cast<const Derived&>(*this);
+    Result rel1;
+    if (c.rel() != V_EQ) {
+      rel2 = convert(to2);
+      return V_LGE;
+    }
+    rel2 = assign_r(to2, c.value(), ROUND_UP);
+    rel2 = result_relation_class(rel2);
+    switch (rel2) {
+    case V_EMPTY:
+    case V_EQ_MINUS_INFINITY:
+    case V_EQ:
+      return V_LGE;
+    default:
+      break;
+    }
+    rel1 = assign_r(to1, c.value(), ROUND_DOWN);
+    rel1 = result_relation_class(rel1);
+    switch (rel1) {
+    case V_EQ:
+      PPL_ASSERT(rel2 == V_LE);
+      goto eq;
+    case V_EQ_PLUS_INFINITY:
+    case V_EMPTY:
+      rel2 = rel1;
+      return V_LGE;
+    case V_GE:
+      if (rel2 == V_LE && to1 == to2) {
+      eq:
+	rel2 = V_EQ;
+	return V_LGE;
+      }
+      /* Fall through*/
+    case V_GT:
+    case V_GT_MINUS_INFINITY:
+      return rel1;
+    default:
+      PPL_ASSERT(false);
+      return V_EMPTY;
+    }
+    switch (rel2) {
+    case V_LE:
+    case V_LT:
+    case V_LT_PLUS_INFINITY:
+      return rel1;
+    default:
+      PPL_ASSERT(false);
+      return V_EMPTY;
+    }
+  }
+  template <typename T>
+  Result convert_integer(T& to) const {
+    Result rel = convert_real(to);
+    switch (rel) {
+    case V_LT:
+      if (is_integer(to)) {
+	rel = sub_assign_r(to, to, T(1),
+			   static_cast<Rounding_Dir>(ROUND_UP | ROUND_STRICT_RELATION));
+	rel = result_relation_class(rel);
+	return rel == V_EQ ? V_LE : rel;
+      }
+      /* Fall through */
+    case V_LE:
+      rel = floor_assign_r(to, to, ROUND_UP);
+      rel = result_relation_class(rel);
+      PPL_ASSERT(rel == V_EQ);
+      return V_LE;
+    case V_GT:
+      if (is_integer(to)) {
+	rel = add_assign_r(to, to, T(1),
+			   static_cast<Rounding_Dir>(ROUND_DOWN | ROUND_STRICT_RELATION));
+	rel = result_relation_class(rel);
+	return rel == V_EQ ? V_GE : rel;
+      }
+      /* Fall through */
+    case V_GE:
+      rel = ceil_assign_r(to, to, ROUND_DOWN);
+      rel = result_relation_class(rel);
+      PPL_ASSERT(rel == V_EQ);
+      return V_GE;
+    case V_EQ:
+      if (is_integer(to))
+	return V_EQ;
+      return V_EMPTY;
+    case V_NE:
+      if (is_integer(to))
+	return V_NE;
+      return V_LGE;
+    default:
+      return rel;
+    }
+  }
+};
+
+struct I_Constraint_Rel {
+  Result rel;
+  I_Constraint_Rel(Result r)
+    : rel(r) {
+    PPL_ASSERT(result_relation_class(r) == r);
+  }
+  I_Constraint_Rel(Relation_Symbol r)
+    : rel((Result)r) {
+  }
+  operator Result() const {
+    return rel;
+  }
+};
+
+template <typename T, typename Val_Or_Ref_Criteria = Use_Slow_Copy,
+	  bool extended = false>
+class I_Constraint : public I_Constraint_Common<I_Constraint<T, Val_Or_Ref_Criteria, extended> > {
+  typedef Val_Or_Ref<T, Val_Or_Ref_Criteria> Val_Ref;
+  typedef typename Val_Ref::Arg_Type Arg_Type;
+  typedef typename Val_Ref::Return_Type Return_Type;
+  Result rel_;
+  Val_Ref value_;
+public:
+  typedef T value_type;
+  explicit I_Constraint()
+    : rel_(V_LGE) {
+  }
+  I_Constraint(I_Constraint_Rel r, Arg_Type v)
+    : rel_(r), value_(v) {
+  }
+  I_Constraint(I_Constraint_Rel r, const T& v, bool force)
+    : rel_(r), value_(v, force) {
+  }
+  template <typename U>
+  I_Constraint(I_Constraint_Rel r, const U& v)
+    : rel_(r), value_(v) {
+  }
+  void set(I_Constraint_Rel r, Arg_Type v) {
+    rel_ =  r;
+    value_.set(v);
+  }
+  void set(I_Constraint_Rel r, const T& v, bool force) {
+    rel_ =  r;
+    value_.set(v, force);
+  }
+  template <typename U>
+  void set(I_Constraint_Rel r, const U& v) {
+    rel_ = r;
+    value_.set(v);
+  }
+  Return_Type value() const {
+    return value_;
+  }
+  Result rel() const {
+    return rel_;
+  }
+};
+
+template <typename T>
+inline I_Constraint<T>
+i_constraint(I_Constraint_Rel rel, const T& v) {
+  return I_Constraint<T>(rel, v);
+}
+
+template <typename T>
+inline I_Constraint<T>
+i_constraint(I_Constraint_Rel rel, const T& v, bool force) {
+  return I_Constraint<T>(rel, v, force);
+}
+
+template <typename T>
+inline I_Constraint<T>
+i_constraint(I_Constraint_Rel rel, T& v) {
+  return I_Constraint<T>(rel, v);
+}
+
+template <typename T, typename Val_Or_Ref_Criteria>
+inline I_Constraint<T, Val_Or_Ref_Criteria>
+i_constraint(I_Constraint_Rel rel, const T& v, const Val_Or_Ref_Criteria&) {
+  return I_Constraint<T, Val_Or_Ref_Criteria>(rel, v);
+}
+
+template <typename T, typename Val_Or_Ref_Criteria>
+inline I_Constraint<T, Val_Or_Ref_Criteria>
+i_constraint(I_Constraint_Rel rel, const T& v, bool force, const Val_Or_Ref_Criteria&) {
+  return I_Constraint<T, Val_Or_Ref_Criteria>(rel, v, force);
+}
+
+template <typename T, typename Val_Or_Ref_Criteria>
+inline I_Constraint<T, Val_Or_Ref_Criteria>
+i_constraint(I_Constraint_Rel rel, T& v, const Val_Or_Ref_Criteria&) {
+  return I_Constraint<T, Val_Or_Ref_Criteria>(rel, v);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_intervals_defs_hh)
diff --git a/src/iterator_to_const.defs.hh b/src/iterator_to_const.defs.hh
index 5977e90..429382e 100644
--- a/src/iterator_to_const.defs.hh
+++ b/src/iterator_to_const.defs.hh
@@ -1,5 +1,5 @@
 /* iterator_to_const and const_iterator_to_const class declarations.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/iterator_to_const.inlines.hh b/src/iterator_to_const.inlines.hh
index b574b56..64c7be6 100644
--- a/src/iterator_to_const.inlines.hh
+++ b/src/iterator_to_const.inlines.hh
@@ -1,6 +1,6 @@
 /* iterator_to_const and const_iterator_to_const class implementations:
    inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/iterator_to_const.types.hh b/src/iterator_to_const.types.hh
index b441c25..aa646e3 100644
--- a/src/iterator_to_const.types.hh
+++ b/src/iterator_to_const.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/math_utilities.defs.hh b/src/math_utilities.defs.hh
index 2b082ce..b590f77 100644
--- a/src/math_utilities.defs.hh
+++ b/src/math_utilities.defs.hh
@@ -1,5 +1,5 @@
 /* Declarations of some math utility functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -32,17 +32,17 @@ namespace Parma_Polyhedra_Library {
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 //! Extract the numerator and denominator components of \p from.
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T, typename Policy>
-void
-numer_denom(const Checked_Number<T, Policy>& from,
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, void>::type
+numer_denom(const T& from,
 	    Coefficient& num, Coefficient& den);
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 //! Divides \p x by \p y into \p to, rounding the result towards plus infinity.
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T, typename Policy>
-void
-div_round_up(Checked_Number<T, Policy>& to,
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, void>::type
+div_round_up(T& to,
 	     Coefficient_traits::const_reference x,
 	     Coefficient_traits::const_reference y);
 
@@ -63,17 +63,16 @@ max_assign(N& x, const N& y);
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 //! Returns <CODE>true</CODE> if and only if \p x is an even number.
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T, typename Policy>
-bool
-is_even(const Checked_Number<T, Policy>& x);
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+is_even(const T& x);
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 //! Returns <CODE>true</CODE> if and only if \f$x = -y\f$.
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T, typename Policy>
-bool
-is_additive_inverse(const Checked_Number<T, Policy>& x,
-		    const Checked_Number<T, Policy>& y);
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+is_additive_inverse(const T& x, const T& y);
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \brief
diff --git a/src/math_utilities.inlines.hh b/src/math_utilities.inlines.hh
index a7923a2..a9946e8 100644
--- a/src/math_utilities.inlines.hh
+++ b/src/math_utilities.inlines.hh
@@ -1,5 +1,5 @@
 /* Implementation of some math utility functions: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -25,7 +25,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 #include "Coefficient.defs.hh"
 #include <limits>
-#include <cassert>
+#include "assert.hh"
 
 namespace Parma_Polyhedra_Library {
 
@@ -42,15 +42,15 @@ normalize2(Coefficient_traits::const_reference x,
 template <typename T>
 inline T
 low_bits_mask(const unsigned n) {
-  assert(n < unsigned(std::numeric_limits<T>::digits));
+  PPL_ASSERT(n < unsigned(std::numeric_limits<T>::digits));
   return n == 0 ? 0 : ~(~(T(0u)) << n);
 }
 
-template <typename T, typename Policy>
-inline void
-numer_denom(const Checked_Number<T, Policy>& from,
+template <typename T>
+inline typename Enable_If<Is_Native_Or_Checked<T>::value, void>::type
+numer_denom(const T& from,
 	    Coefficient& num, Coefficient& den) {
-  assert(!is_not_a_number(from)
+  PPL_ASSERT(!is_not_a_number(from)
 	 && !is_minus_infinity(from)
 	 && !is_plus_infinity(from));
   PPL_DIRTY_TEMP0(mpq_class, q);
@@ -59,9 +59,9 @@ numer_denom(const Checked_Number<T, Policy>& from,
   den = q.get_den();
 }
 
-template <typename T, typename Policy>
-inline void
-div_round_up(Checked_Number<T, Policy>& to,
+template <typename T>
+inline typename Enable_If<Is_Native_Or_Checked<T>::value, void>::type
+div_round_up(T& to,
 	     Coefficient_traits::const_reference x,
 	     Coefficient_traits::const_reference y) {
   PPL_DIRTY_TEMP0(mpq_class, qx);
@@ -88,20 +88,19 @@ max_assign(N& x, const N& y) {
     x = y;
 }
 
-template <typename T, typename Policy>
-inline bool
-is_even(const Checked_Number<T, Policy>& x) {
-  Checked_Number<T, Policy> half_x;
-  return div2exp_assign_r(half_x, x, 1, ROUND_DIRECT) == V_EQ
-    && is_integer(half_x);
+template <typename T>
+inline typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+is_even(const T& x) {
+  T mod;
+  return umod_2exp_assign_r(mod, x, 1, ROUND_DIRECT | ROUND_STRICT_RELATION) == V_EQ
+    && mod == 0;
 }
 
-template <typename T, typename Policy>
-inline bool
-is_additive_inverse(const Checked_Number<T, Policy>& x,
-		    const Checked_Number<T, Policy>& y) {
-  Checked_Number<T, Policy> negated_x;
-  return neg_assign_r(negated_x, x, ROUND_DIRECT) == V_EQ
+template <typename T>
+inline typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+is_additive_inverse(const T& x, const T& y) {
+  T negated_x;
+  return neg_assign_r(negated_x, x, ROUND_DIRECT | ROUND_STRICT_RELATION) == V_EQ
     && negated_x == y;
 }
 
diff --git a/src/max_space_dimension.hh b/src/max_space_dimension.hh
index 65703c1..3561783 100644
--- a/src/max_space_dimension.hh
+++ b/src/max_space_dimension.hh
@@ -1,5 +1,5 @@
 /* Definition of functions yielding maximal space dimensions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/meta_programming.hh b/src/meta_programming.hh
index 83c29fb..cb9725c 100644
--- a/src/meta_programming.hh
+++ b/src/meta_programming.hh
@@ -1,5 +1,5 @@
 /* Metaprogramming utilities.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -39,7 +39,7 @@ namespace Parma_Polyhedra_Library {
 */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 #define const_bool_nodef(name, value)		\
-  enum { name = (value) }
+  enum anonymous_enum_ ## name { name = (value) }
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \brief
@@ -53,7 +53,7 @@ namespace Parma_Polyhedra_Library {
 */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 #define const_int_nodef(name, value) \
-  enum { name = (value) }
+  enum anonymous_enum_ ## name { name = (value) }
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \brief
@@ -116,7 +116,7 @@ struct Compile_Time_Check<true> {
 
 #define PPL_COMPILE_TIME_CHECK_NAME(suffix) compile_time_check_ ## suffix
 #define PPL_COMPILE_TIME_CHECK_AUX(e, suffix)				\
-  enum {								\
+  enum anonymous_enum_compile_time_check_ ## suffix {			\
     /* If e evaluates to false, then the sizeof cannot be compiled. */  \
     PPL_COMPILE_TIME_CHECK_NAME(suffix)					\
     = sizeof(Parma_Polyhedra_Library::					\
@@ -141,7 +141,7 @@ struct Compile_Time_Check<true> {
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 template <bool b>
 struct Bool {
-  enum {
+  enum anonymous_enum {
     value = b
   };
 };
@@ -244,7 +244,7 @@ struct Is_Same_Or_Derived {
                          "architecture with sizeof(char) == sizeof(double)"
                          " (!?)");
 
-  enum {
+  enum anonymous_enum {
     /*!
       Assuming <CODE>sizeof(char) != sizeof(double)</CODE>, the C++
       overload resolution mechanism guarantees that \p value evaluates
diff --git a/src/minimize.cc b/src/minimize.cc
index 803f8df..6e28c4e 100644
--- a/src/minimize.cc
+++ b/src/minimize.cc
@@ -1,5 +1,5 @@
 /* Polyhedron class implementation: minimize() and add_and_minimize().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -71,13 +71,13 @@ PPL::Polyhedron::minimize(const bool con_to_gen,
 			  Linear_System& dest,
 			  Bit_Matrix& sat) {
   // Topologies have to agree.
-  assert(source.topology() == dest.topology());
+  PPL_ASSERT(source.topology() == dest.topology());
   // `source' cannot be empty: even if it is an empty constraint system,
   // representing the universe polyhedron, homogenization has added
   // the positive constraint. It also cannot be an empty generator system,
   // since this function is always called starting from a non-empty
   // polyhedron.
-  assert(!source.has_no_rows());
+  PPL_ASSERT(!source.has_no_rows());
 
   // Sort the source system, if necessary.
   if (!source.is_sorted())
@@ -236,14 +236,14 @@ PPL::Polyhedron::add_and_minimize(const bool con_to_gen,
 				  Bit_Matrix& sat,
 				  const Linear_System& source2) {
   // `source1' and `source2' cannot be empty.
-  assert(!source1.has_no_rows() && !source2.has_no_rows());
+  PPL_ASSERT(!source1.has_no_rows() && !source2.has_no_rows());
   // `source1' and `source2' must have the same number of columns
   // to be merged.
-  assert(source1.num_columns() == source2.num_columns());
+  PPL_ASSERT(source1.num_columns() == source2.num_columns());
   // `source1' and `source2' are fully sorted.
-  assert(source1.is_sorted() && source1.num_pending_rows() == 0);
-  assert(source2.is_sorted() && source2.num_pending_rows() == 0);
-  assert(dest.num_pending_rows() == 0);
+  PPL_ASSERT(source1.is_sorted() && source1.num_pending_rows() == 0);
+  PPL_ASSERT(source2.is_sorted() && source2.num_pending_rows() == 0);
+  PPL_ASSERT(dest.num_pending_rows() == 0);
 
   const dimension_type old_source1_num_rows = source1.num_rows();
   // `k1' and `k2' run through the rows of `source1' and `source2', resp.
@@ -335,9 +335,9 @@ PPL::Polyhedron::add_and_minimize(const bool con_to_gen,
 				  Linear_System& source,
 				  Linear_System& dest,
 				  Bit_Matrix& sat) {
-  assert(source.num_pending_rows() > 0);
-  assert(source.num_columns() == dest.num_columns());
-  assert(source.is_sorted());
+  PPL_ASSERT(source.num_pending_rows() > 0);
+  PPL_ASSERT(source.num_columns() == dest.num_columns());
+  PPL_ASSERT(source.is_sorted());
 
   // First, pad the saturation matrix with new columns (of zeroes)
   // to accommodate for the pending rows of `source'.
diff --git a/src/mp_std_bits.cc b/src/mp_std_bits.cc
index 7c46b2a..daed5d5 100644
--- a/src/mp_std_bits.cc
+++ b/src/mp_std_bits.cc
@@ -1,7 +1,7 @@
 /* Definitions of specializations of std::numeric_limits objects for
    multi-precision types.  This will become obsolete when GMP and MPFR
    will provide the specializations by themselves.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/mp_std_bits.defs.hh b/src/mp_std_bits.defs.hh
index 7b1160e..96efd19 100644
--- a/src/mp_std_bits.defs.hh
+++ b/src/mp_std_bits.defs.hh
@@ -1,7 +1,7 @@
 /* Declarations of specializations of std:: objects for
    multi-precision types.  This will become obsolete when GMP and MPFR
    will provide the specializations by themselves.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/mp_std_bits.inlines.hh b/src/mp_std_bits.inlines.hh
index 859caa7..f062a48 100644
--- a/src/mp_std_bits.inlines.hh
+++ b/src/mp_std_bits.inlines.hh
@@ -1,7 +1,7 @@
 /* Definitions of specializations of std:: functions and methods for
    multi-precision types.  This will become obsolete when GMP and MPFR
    will provide the specializations by themselves.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/namespaces.hh b/src/namespaces.hh
index 6d7ca40..17d4eee 100644
--- a/src/namespaces.hh
+++ b/src/namespaces.hh
@@ -1,5 +1,5 @@
 /* Documentation for used namespaces.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/ppl-config.cc.in b/src/ppl-config.cc.in
index e175d57..29a65e9 100644
--- a/src/ppl-config.cc.in
+++ b/src/ppl-config.cc.in
@@ -1,6 +1,6 @@
 /* A program to enquire about the configuration of the PPL  -*- C++ -*-
    and of the applications using it.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/ppl.hh.dist b/src/ppl.hh.dist
index 6226c45..7deea4c 100644
--- a/src/ppl.hh.dist
+++ b/src/ppl.hh.dist
@@ -1,5 +1,5 @@
 /* This is the header file of the Parma Polyhedra Library.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -37,6 +37,8 @@ site: http://www.cs.unipr.it/ppl/ . */
 /* config.h.in.  Generated from configure.ac by autoheader.  */
 
 
+/* BEGIN ppl-config.h */
+
 /* Unique (nonzero) code for the IEEE 754 Single Precision
    floating point format.  */
 #define PPL_FLOAT_IEEE754_SINGLE 1
@@ -103,6 +105,10 @@ site: http://www.cs.unipr.it/ppl/ . */
    don't. */
 #define PPL_HAVE_DECL_RLIMIT_VMEM 0
 
+/* Define to 1 if you have the declaration of `sigaction', and to 0 if you
+   don't. */
+#define PPL_HAVE_DECL_SIGACTION 1
+
 /* Define to 1 if you have the declaration of `strtod', and to 0 if you don't.
    */
 #define PPL_HAVE_DECL_STRTOD 1
@@ -156,11 +162,8 @@ site: http://www.cs.unipr.it/ppl/ . */
 /* Define to 1 if you have the <memory.h> header file. */
 #define PPL_HAVE_MEMORY_H 1
 
-/* Define to 1 if you have the `setitimer' function. */
-#define HAVE_SETITIMER 1
-
 /* Define to 1 if the system has the type `siginfo_t'. */
-#define HAVE_SIGINFO_T 1
+#define PPL_HAVE_SIGINFO_T 1
 
 /* Define to 1 if you have the <signal.h> header file. */
 #define PPL_HAVE_SIGNAL_H 1
@@ -195,6 +198,9 @@ site: http://www.cs.unipr.it/ppl/ . */
 /* Define to 1 if typeof works with your compiler. */
 #define PPL_HAVE_TYPEOF 1
 
+/* Define to 1 if the system has the type `uintptr_t'. */
+#define PPL_HAVE_UINTPTR_T 1
+
 /* Define to 1 if the system has the type `uint_fast16_t'. */
 #define PPL_HAVE_UINT_FAST16_T 1
 
@@ -207,13 +213,13 @@ site: http://www.cs.unipr.it/ppl/ . */
 /* Define to 1 if you have the <unistd.h> header file. */
 #define PPL_HAVE_UNISTD_H 1
 
-/* Define to 1 if `_mp_alloc' is member of `__mpz_struct'. */
+/* Define to 1 if `_mp_alloc' is a member of `__mpz_struct'. */
 #define PPL_HAVE___MPZ_STRUCT__MP_ALLOC 1
 
-/* Define to 1 if `_mp_d' is member of `__mpz_struct'. */
+/* Define to 1 if `_mp_d' is a member of `__mpz_struct'. */
 #define PPL_HAVE___MPZ_STRUCT__MP_D 1
 
-/* Define to 1 if `_mp_size' is member of `__mpz_struct'. */
+/* Define to 1 if `_mp_size' is a member of `__mpz_struct'. */
 #define PPL_HAVE___MPZ_STRUCT__MP_SIZE 1
 
 /* Define to the sub-directory in which libtool stores uninstalled libraries.
@@ -227,13 +233,16 @@ site: http://www.cs.unipr.it/ppl/ . */
 #define PPL_PACKAGE_NAME "the Parma Polyhedra Library"
 
 /* Define to the full name and version of this package. */
-#define PPL_PACKAGE_STRING "the Parma Polyhedra Library 0.10.2"
+#define PPL_PACKAGE_STRING "the Parma Polyhedra Library 0.11"
 
 /* Define to the one symbol short name of this package. */
 #define PPL_PACKAGE_TARNAME "ppl"
 
+/* Define to the home page for this package. */
+#define PACKAGE_URL ""
+
 /* Define to the version of this package. */
-#define PPL_PACKAGE_VERSION "0.10.2"
+#define PPL_PACKAGE_VERSION "0.11"
 
 /* ABI-breaking extra assertions are enabled when this is defined. */
 /* #undef PPL_ABI_BREAKING_EXTRA_DEBUG */
@@ -405,6 +414,10 @@ site: http://www.cs.unipr.it/ppl/ . */
 /* Define to __typeof__ if your compiler spells it that way. */
 /* #undef typeof */
 
+/* Define to the type of an unsigned integer type wide enough to hold a
+   pointer, if such a type exists, and if the system does not define it. */
+/* #undef uintptr_t */
+
 
 #if defined(PPL_NDEBUG) && !defined(NDEBUG)
 # define NDEBUG PPL_NDEBUG
@@ -427,6 +440,8 @@ site: http://www.cs.unipr.it/ppl/ . */
 # include <inttypes.h>
 #endif
 
+/* END ppl-config.h */
+
 /* Automatically generated from PPL source file ../src/version.hh line 1. */
 /* Declaration of macros and functions providing version  -*- C++ -*-
    and licensing information.
@@ -439,11 +454,11 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 //! The minor number of the PPL version.
 /*! \ingroup PPL_CXX_interface */
-#define PPL_VERSION_MINOR 10
+#define PPL_VERSION_MINOR 11
 
 //! The revision number of the PPL version.
 /*! \ingroup PPL_CXX_interface */
-#define PPL_VERSION_REVISION 2
+#define PPL_VERSION_REVISION 0
 
 /*! \brief
   The beta number of the PPL version.  This is zero for official
@@ -464,7 +479,7 @@ site: http://www.cs.unipr.it/ppl/ . */
   PPL_VERSION_BETA is zero, <CODE>M "." m "." r "pre" b</CODE> if
   neither PPL_VERSION_REVISION nor PPL_VERSION_BETA are zero.
 */
-#define PPL_VERSION "0.10.2"
+#define PPL_VERSION "0.11"
 
 namespace Parma_Polyhedra_Library {
 
@@ -809,6 +824,8 @@ class Parma_Polyhedra_Library::c_streambuf
 public:
   //! Constructor.
   c_streambuf();
+
+  //! Destructor.
   virtual ~c_streambuf();
 
 protected:
@@ -914,7 +931,7 @@ c_streambuf::~c_streambuf() {
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/c_streambuf.defs.hh line 122. */
+/* Automatically generated from PPL source file ../src/c_streambuf.defs.hh line 124. */
 
 /* Automatically generated from PPL source file ../src/initializer.hh line 1. */
 /* Nifty counter object for the initialization of the library.
@@ -1024,14 +1041,11 @@ namespace Parma_Polyhedra_Library {
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \brief
-  No-op function that allows to avoid unused variable warnings from
+  No-op macro that allows to avoid unused variable warnings from
   the compiler.
 */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-inline void
-used(const T&) {
-}
+#define used(v) (void)v
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \brief
@@ -1523,93 +1537,145 @@ fpu_check_inexact() {
 
 namespace Parma_Polyhedra_Library {
 
+enum Result_Class {
+  //! \hideinitializer Representable number result class.
+  VC_NORMAL = 0 << 4,
+
+  //! \hideinitializer Negative infinity result class.
+  VC_MINUS_INFINITY = 1 << 4,
+
+  //! \hideinitializer Positive infinity result class.
+  VC_PLUS_INFINITY = 2 << 4,
+
+  //! \hideinitializer Not a number result class.
+  VC_NAN = 3 << 4,
+
+  VC_MASK = VC_NAN
+};
+
+// This must be kept in sync with Relation_Symbol
+enum Result_Relation {
+  //! \hideinitializer No values satisfies the relation.
+  VR_EMPTY = 0,
+
+  //! \hideinitializer Equal. This need to be accompanied by a value.
+  VR_EQ = 1,
+
+  //! \hideinitializer Less than. This need to be accompanied by a value.
+  VR_LT = 2,
+
+  //! \hideinitializer Greater than. This need to be accompanied by a value.
+  VR_GT = 4,
+
+  //! \hideinitializer Not equal. This need to be accompanied by a value.
+  VR_NE = VR_LT | VR_GT,
+
+  //! \hideinitializer Less or equal. This need to be accompanied by a value.
+  VR_LE = VR_EQ | VR_LT,
+
+  //! \hideinitializer Greater or equal. This need to be accompanied by a value.
+  VR_GE = VR_EQ | VR_GT,
+
+  //! \hideinitializer All values satisfy the relation.
+  VR_LGE = VR_LT | VR_EQ | VR_GT,
+
+  VR_MASK = VR_LGE
+};
+
 //! Possible outcomes of a checked arithmetic computation.
 /*! \ingroup PPL_CXX_interface */
 enum Result {
+  //! \hideinitializer The exact result is not comparable.
+  V_EMPTY = VR_EMPTY,
 
-  //! \hideinitializer Ordinary result class.
-  VC_NORMAL = 0,
+  //! \hideinitializer The computed result is exact.
+  V_EQ = VR_EQ,
 
   //! \hideinitializer The computed result is inexact and rounded up.
-  V_LT = 1,
+  V_LT = VR_LT,
 
   //! \hideinitializer The computed result is inexact and rounded down.
-  V_GT = 2,
-
-  //! \hideinitializer The computed result is exact.
-  V_EQ = 4,
+  V_GT = VR_GT,
 
   //! \hideinitializer The computed result is inexact.
-  V_NE = V_LT | V_GT,
+  V_NE = VR_NE,
 
   //! \hideinitializer The computed result may be inexact and rounded up.
-  V_LE = V_EQ | V_LT,
+  V_LE = VR_LE,
 
   //! \hideinitializer The computed result may be inexact and rounded down.
-  V_GE = V_EQ | V_GT,
+  V_GE = VR_GE,
 
   //! \hideinitializer The computed result may be inexact.
-  V_LGE = V_LT | V_EQ | V_GT,
+  V_LGE = VR_LGE,
 
-  //! \hideinitializer Negative infinity unrepresentable result class.
-  VC_MINUS_INFINITY = 16,
+  //! \hideinitializer The exact result is a number out of finite bounds.
+  V_OVERFLOW = 1 << 6,
 
-  //! \hideinitializer A negative overflow occurred.
-  V_NEG_OVERFLOW = VC_MINUS_INFINITY | V_GT,
+  //! \hideinitializer A negative integer overflow occurred (rounding up).
+  V_LT_INF = V_LT | V_OVERFLOW,
 
-  //! \hideinitializer Positive infinity unrepresentable result class.
-  VC_PLUS_INFINITY = 32,
+  //! \hideinitializer A positive integer overflow occurred (rounding down).
+  V_GT_SUP = V_GT | V_OVERFLOW,
 
-  //! \hideinitializer A positive overflow occurred.
-  V_POS_OVERFLOW = VC_PLUS_INFINITY | V_LT,
+  //! \hideinitializer A positive integer overflow occurred (rounding up).
+  V_LT_PLUS_INFINITY = V_LT | VC_PLUS_INFINITY,
 
-  //! \hideinitializer Not a number result class.
-  VC_NAN = 48,
+  //! \hideinitializer A negative integer overflow occurred (rounding down).
+  V_GT_MINUS_INFINITY = V_GT | VC_MINUS_INFINITY,
+
+  //! \hideinitializer Negative infinity result.
+  V_EQ_MINUS_INFINITY = V_EQ | VC_MINUS_INFINITY,
+
+  //! \hideinitializer Positive infinity result.
+  V_EQ_PLUS_INFINITY = V_EQ | VC_PLUS_INFINITY,
+
+  //! \hideinitializer Not a number result.
+  V_NAN = VC_NAN,
 
   //! \hideinitializer Converting from unknown string.
-  V_CVT_STR_UNK = 49,
+  V_CVT_STR_UNK = V_NAN | (1 << 8),
 
   //! \hideinitializer Dividing by zero.
-  V_DIV_ZERO = 50,
+  V_DIV_ZERO = V_NAN | (2 << 8),
 
   //! \hideinitializer Adding two infinities having opposite signs.
-  V_INF_ADD_INF = 51,
+  V_INF_ADD_INF = V_NAN | (3 << 8),
 
   //! \hideinitializer Dividing two infinities.
-  V_INF_DIV_INF = 52,
+  V_INF_DIV_INF = V_NAN | (4 << 8),
 
   //! \hideinitializer Taking the modulus of an infinity.
-  V_INF_MOD = 53,
+  V_INF_MOD = V_NAN | (5 << 8),
 
   //! \hideinitializer Multiplying an infinity by zero.
-  V_INF_MUL_ZERO = 54,
+  V_INF_MUL_ZERO = V_NAN | (6 << 8),
 
   //! \hideinitializer Subtracting two infinities having the same sign.
-  V_INF_SUB_INF = 55,
+  V_INF_SUB_INF = V_NAN | (7 << 8),
 
   //! \hideinitializer Computing a remainder modulo zero.
-  V_MOD_ZERO = 56,
+  V_MOD_ZERO = V_NAN | (8 << 8),
 
   //! \hideinitializer Taking the square root of a negative number.
-  V_SQRT_NEG = 57,
+  V_SQRT_NEG = V_NAN | (9 << 8),
 
   //! \hideinitializer Unknown result due to intermediate negative overflow.
-  V_UNKNOWN_NEG_OVERFLOW = 58,
+  V_UNKNOWN_NEG_OVERFLOW = V_NAN | (10 << 8),
 
   //! \hideinitializer Unknown result due to intermediate positive overflow.
-  V_UNKNOWN_POS_OVERFLOW = 59,
+  V_UNKNOWN_POS_OVERFLOW = V_NAN | (11 << 8),
 
-  //! \hideinitializer Unordered comparison.
-  V_UNORD_COMP = 60,
+  //! \hideinitializer The computed result is not representable.
+  V_UNREPRESENTABLE = 1 << 7
 
-  VC_MASK = 48
 };
 
-//! Extracts the class part of \p r (normal, minus/plus infinity or nan).
-Result classify(Result r);
+//! Extracts the value class part of \p r (representable number, unrepresentable minus/plus infinity or nan).
+Result_Class result_class(Result r);
 
-//! Returns <CODE>true</CODE> if and only if the class or \p r is not normal.
-bool is_special(Result r);
+//! Extracts the relation part of \p r.
+Result_Relation result_relation(Result r);
 
 } // namespace Parma_Polyhedra_Library
 
@@ -1618,471 +1684,166 @@ bool is_special(Result r);
 */
 
 
-namespace Parma_Polyhedra_Library {
-
-/*! \relates Parma_Polyhedra_Library::Result */
-inline Result
-classify(Result r) {
-  return static_cast<Result>(r & VC_MASK);
-}
-
-/*! \relates Parma_Polyhedra_Library::Result */
-inline bool
-is_special(Result r) {
-  return classify(r) != VC_NORMAL;
-}
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/Result.defs.hh line 119. */
-
-/* Automatically generated from PPL source file ../src/Rounding_Dir.defs.hh line 28. */
-
-namespace Parma_Polyhedra_Library {
-
-//! Rounding directions for arithmetic computations.
-/*! \ingroup PPL_CXX_interface */
-enum Rounding_Dir {
-  /*! \hideinitializer
-    Round toward \f$-\infty\f$.
-  */
-  ROUND_DOWN = 0,
-
-  /*! \hideinitializer
-    Round toward \f$+\infty\f$.
-  */
-  ROUND_UP = 1,
-
-  /*! \hideinitializer
-    Rounding is delegated to lower level. Result info is evaluated lazily.
-  */
-  ROUND_IGNORE = 6,
-  ROUND_NATIVE = ROUND_IGNORE,
-
-  /*! \hideinitializer
-    Rounding is not needed: client code must ensure the operation is exact.
-  */
-  ROUND_NOT_NEEDED = 7,
-
-  ROUND_DIRECT = ROUND_UP,
-  ROUND_INVERSE = ROUND_DOWN,
-
-  ROUND_DIR_MASK = 7,
-
-  ROUND_FPU_CHECK_INEXACT = 8,
-
-  ROUND_CHECK = ROUND_DIRECT | ROUND_FPU_CHECK_INEXACT
-};
-
-/*! \brief
-  Returns the inverse rounding mode of \p dir,
-  <CODE>ROUND_IGNORE</CODE> being the inverse of itself.
-*/
-Rounding_Dir inverse(Rounding_Dir dir);
-
-Rounding_Dir round_dir(Rounding_Dir dir);
-bool round_down(Rounding_Dir dir);
-bool round_up(Rounding_Dir dir);
-bool round_ignore(Rounding_Dir dir);
-bool round_direct(Rounding_Dir dir);
-bool round_inverse(Rounding_Dir dir);
-
-bool round_fpu_check_inexact(Rounding_Dir dir);
-
-fpu_rounding_direction_type round_fpu_dir(Rounding_Dir dir);
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/Rounding_Dir.inlines.hh line 1. */
-/* Inline functions operating on enum Rounding_Dir values.
+/* Automatically generated from PPL source file ../src/assert.hh line 1. */
+/* Implementation of PPL_ASSERT macro.
 */
 
 
 #include <cassert>
-
-namespace Parma_Polyhedra_Library {
-
-inline Rounding_Dir
-round_dir(Rounding_Dir dir) {
-  return static_cast<Rounding_Dir>(dir & ROUND_DIR_MASK);
-}
-
-inline bool
-round_down(Rounding_Dir dir) {
-  return round_dir(dir) == ROUND_DOWN;
-}
-
-inline bool
-round_up(Rounding_Dir dir) {
-  return round_dir(dir) == ROUND_UP;
-}
-
-inline bool
-round_ignore(Rounding_Dir dir) {
-  return round_dir(dir) == ROUND_IGNORE;
-}
-
-inline bool
-round_direct(Rounding_Dir dir) {
-  return round_dir(dir) == ROUND_DIRECT;
-}
-
-inline bool
-round_inverse(Rounding_Dir dir) {
-  return round_dir(dir) == ROUND_INVERSE;
-}
-
-inline bool
-round_fpu_check_inexact(Rounding_Dir dir) {
-  return dir & ROUND_FPU_CHECK_INEXACT;
-}
-
-#if PPL_CAN_CONTROL_FPU
-
-inline fpu_rounding_direction_type
-round_fpu_dir(Rounding_Dir dir) {
-  switch (round_dir(dir)) {
-  case ROUND_UP:
-    return static_cast<fpu_rounding_direction_type>(PPL_FPU_UPWARD);
-  case ROUND_DOWN:
-    return static_cast<fpu_rounding_direction_type>(PPL_FPU_DOWNWARD);
-  default:
-    assert(false);
-    return static_cast<fpu_rounding_direction_type>(PPL_FPU_UPWARD);
-  }
-}
-
-#undef PPL_FPU_DOWNWARD
-#undef PPL_FPU_TONEAREST
-#undef PPL_FPU_TOWARDZERO
-#undef PPL_FPU_UPWARD
-
-#endif
-
-/*! \relates Parma_Polyhedra_Library::Rounding_Dir */
-inline Rounding_Dir
-inverse(Rounding_Dir dir) {
-  Rounding_Dir d = round_dir(dir);
-  switch (d) {
-  case ROUND_UP:
-    d = ROUND_DOWN;
-    break;
-  case ROUND_DOWN:
-    d = ROUND_UP;
-    break;
-  default:
-    assert(false);
-    /* Fall through */
-  case ROUND_IGNORE:
-    return dir;
-  }
-  return static_cast<Rounding_Dir>((dir & ~ROUND_DIR_MASK) | d);
-}
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/Rounding_Dir.defs.hh line 85. */
-
-
-/* Automatically generated from PPL source file ../src/Init.inlines.hh line 28. */
-
-namespace Parma_Polyhedra_Library {
-
-inline void
-set_rounding_for_PPL() {
-#if PPL_CAN_CONTROL_FPU
-    fpu_set_rounding_direction(round_fpu_dir(ROUND_DIRECT));
-#endif
-}
-
-inline void
-restore_pre_PPL_rounding() {
-#if PPL_CAN_CONTROL_FPU
-  fpu_set_rounding_direction(Init::old_rounding_direction);
-#endif
-}
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/Init.defs.hh line 84. */
-
-
-/* Automatically generated from PPL source file ../src/initializer.hh line 27. */
-
-#ifndef PPL_NO_AUTOMATIC_INITIALIZATION
-namespace {
-
-Parma_Polyhedra_Library::Init Parma_Polyhedra_Library_initializer;
-
-} // namespace
-#else
-namespace {
-
-Parma_Polyhedra_Library::Init* Parma_Polyhedra_Library_initializer_p;
-
-} // namespace
-#endif
-
-namespace Parma_Polyhedra_Library {
-
-//! Initializes the library.
-inline void
-initialize() {
-#ifdef PPL_NO_AUTOMATIC_INITIALIZATION
-  if (Parma_Polyhedra_Library_initializer_p == 0)
-    Parma_Polyhedra_Library_initializer_p = new Init();
-#endif
-}
-
-//! Finalizes the library.
-inline void
-finalize() {
-#ifdef PPL_NO_AUTOMATIC_INITIALIZATION
-  assert(Parma_Polyhedra_Library_initializer_p != 0);
-  delete Parma_Polyhedra_Library_initializer_p;
-  Parma_Polyhedra_Library_initializer_p = 0;
-#endif
-}
-
-} //namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/Scalar_Products.defs.hh line 1. */
-/* Scalar_Products class definition.
+/* Automatically generated from PPL source file ../src/globals.defs.hh line 1. */
+/* Declarations of global objects.
 */
 
 
-/* Automatically generated from PPL source file ../src/Scalar_Products.types.hh line 1. */
-
-
-namespace Parma_Polyhedra_Library {
-
-class Scalar_Products;
-class Topology_Adjusted_Scalar_Product_Sign;
-class Topology_Adjusted_Scalar_Product_Assign;
-
-} // namespace Parma_Polyhedra_Library
+/* Automatically generated from PPL source file ../src/globals.types.hh line 1. */
 
-/* Automatically generated from PPL source file ../src/Linear_Row.types.hh line 1. */
 
+#include <cstddef>
 
 namespace Parma_Polyhedra_Library {
 
-class Linear_Row;
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/Coefficient.types.hh line 1. */
-
-
-/* Automatically generated from PPL source file ../src/Checked_Number.defs.hh line 1. */
-/* Checked_Number class declaration.
-*/
-
-
-/* Automatically generated from PPL source file ../src/Checked_Number.types.hh line 1. */
-
-
-/* Automatically generated from PPL source file ../src/Coefficient_traits_template.hh line 1. */
-
+//! An unsigned integral type for representing space dimensions.
+/*! \ingroup PPL_CXX_interface */
+typedef size_t dimension_type;
 
-namespace Parma_Polyhedra_Library {
+//! An unsigned integral type for representing memory size in bytes.
+/*! \ingroup PPL_CXX_interface */
+typedef size_t memory_size_type;
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Coefficient traits.
+//! Kinds of degenerate abstract elements.
 /*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Coefficient>
-struct Coefficient_traits_template {
+enum Degenerate_Element {
+  //! The universe element, i.e., the whole vector space.
+  UNIVERSE,
+  //! The empty element, i.e., the empty set.
+  EMPTY
 };
 
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/Checked_Number.types.hh line 16. */
-
-namespace Parma_Polyhedra_Library {
-
-struct Checked_Number_Default_Policy;
-struct Extended_Number_Policy;
-
-template <typename T, typename Policy = Checked_Number_Default_Policy>
-class Checked_Number;
+//! Relation symbols.
+/*! \ingroup PPL_CXX_interface */
+// This must be kept in sync with Result
+enum Relation_Symbol {
+  //! \hideinitializer Equal to.
+  EQUAL = 1,
+  //! \hideinitializer Less than.
+  LESS_THAN = 2,
+  //! \hideinitializer Less than or equal to.
+  LESS_OR_EQUAL = LESS_THAN | EQUAL,
+  //! \hideinitializer Greater than.
+  GREATER_THAN = 4,
+  //! \hideinitializer Greater than or equal to.
+  GREATER_OR_EQUAL = GREATER_THAN | EQUAL,
+  //! \hideinitializer Not equal to.
+  NOT_EQUAL = LESS_THAN | GREATER_THAN
+};
 
-} // namespace Parma_Polyhedra_Library
+//! Complexity pseudo-classes.
+/*! \ingroup PPL_CXX_interface */
+enum Complexity_Class {
+  //! Worst-case polynomial complexity.
+  POLYNOMIAL_COMPLEXITY,
+  //! Worst-case exponential complexity but typically polynomial behavior.
+  SIMPLEX_COMPLEXITY,
+  //! Any complexity.
+  ANY_COMPLEXITY
+};
 
-/* Automatically generated from PPL source file ../src/checked.defs.hh line 1. */
-/* Abstract checked arithmetic function container
-*/
+//! Possible optimization modes.
+/*! \ingroup PPL_CXX_interface */
+enum Optimization_Mode {
+  //! Minimization is requested.
+  MINIMIZATION,
+  //! Maximization is requested.
+  MAXIMIZATION
+};
 
+/*! \brief \ingroup PPL_CXX_interface
+  Widths of bounded integer types.
 
-#include <iostream>
-#include <gmpxx.h>
-/* Automatically generated from PPL source file ../src/mp_std_bits.defs.hh line 1. */
-/* Declarations of specializations of std:: objects for
-   multi-precision types.  This will become obsolete when GMP and MPFR
-   will provide the specializations by themselves.
+  See the section on
+  \ref Approximating_Bounded_Integers "approximating bounded integers".
 */
+enum Bounded_Integer_Type_Width {
+  //! \hideinitializer 8 bits.
+  BITS_8 = 8,
 
+  //! \hideinitializer 16 bits.
+  BITS_16 = 16,
 
-#include <gmpxx.h>
-#include <limits>
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Swaps \p x with \p y.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void swap(mpz_class& x, mpz_class& y);
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Swaps \p x with \p y.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void swap(mpq_class& x, mpq_class& y);
-
-namespace std {
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specialization of std::numeric_limits.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <>
-class numeric_limits<mpz_class> {
-private:
-  typedef mpz_class Type;
-
-public:
-  static const bool is_specialized = true;
-  static const int digits = 0;
-  static const int digits10 = 0;
-  static const bool is_signed = true;
-  static const bool is_integer = true;
-  static const bool is_exact = true;
-  static const int radix = 2;
-  static const int min_exponent = 0;
-  static const int min_exponent10 = 0;
-  static const int max_exponent = 0;
-  static const int max_exponent10 = 0;
-  static const bool has_infinity = false;
-  static const bool has_quiet_NaN =  false;
-  static const bool has_signaling_NaN = false;
-  static const float_denorm_style has_denorm = denorm_absent;
-  static const bool has_denorm_loss = false;
-  static const bool is_iec559 = false;
-  static const bool is_bounded = false;
-  static const bool is_modulo = false;
-  static const bool traps = false;
-  static const bool tininess_before = false;
-  static const float_round_style round_style = round_toward_zero;
-
-  static Type min() {
-    return static_cast<Type>(0);
-  }
-
-  static Type max() {
-    return static_cast<Type>(0);
-  }
+  //! \hideinitializer 32 bits.
+  BITS_32 = 32,
 
-  static Type epsilon() {
-    return static_cast<Type>(0);
-  }
+  //! \hideinitializer 64 bits.
+  BITS_64 = 64,
 
-  static Type round_error() {
-    return static_cast<Type>(0);
-  }
+  //! \hideinitializer 128 bits.
+  BITS_128 = 128
+};
 
-  static Type infinity() {
-    return static_cast<Type>(0);
-  }
+/*! \brief \ingroup PPL_CXX_interface
+  Representation of bounded integer types.
 
-  static Type quiet_NaN() {
-    return static_cast<Type>(0);
-  }
+  See the section on
+  \ref Approximating_Bounded_Integers "approximating bounded integers".
+*/
+enum Bounded_Integer_Type_Representation {
+  //! Unsigned binary.
+  UNSIGNED,
 
-  static Type denorm_min() {
-    return static_cast<Type>(1);
-  }
+  /*! \brief
+    Signed binary where negative values are represented by the two's
+    complement of the absolute value.
+  */
+  SIGNED_2_COMPLEMENT
 };
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specialization of std::numeric_limits.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <>
-class numeric_limits<mpq_class> {
-private:
-  typedef mpq_class Type;
-
-public:
-  static const bool is_specialized = true;
-  static const int digits = 0;
-  static const int digits10 = 0;
-  static const bool is_signed = true;
-  static const bool is_integer = false;
-  static const bool is_exact = true;
-  static const int radix = 2;
-  static const int min_exponent = 0;
-  static const int min_exponent10 = 0;
-  static const int max_exponent = 0;
-  static const int max_exponent10 = 0;
-  static const bool has_infinity = false;
-  static const bool has_quiet_NaN =  false;
-  static const bool has_signaling_NaN = false;
-  static const float_denorm_style has_denorm = denorm_absent;
-  static const bool has_denorm_loss = false;
-  static const bool is_iec559 = false;
-  static const bool is_bounded = false;
-  static const bool is_modulo = false;
-  static const bool traps = false;
-  static const bool tininess_before = false;
-  static const float_round_style round_style = round_toward_zero;
+/*! \brief \ingroup PPL_CXX_interface
+  Overflow behavior of bounded integer types.
 
-  static Type min() {
-    return static_cast<Type>(0);
-  }
+  See the section on
+  \ref Approximating_Bounded_Integers "approximating bounded integers".
+*/
+enum Bounded_Integer_Type_Overflow {
+  /*! \brief
+    On overflow, wrapping takes place.
 
-  static Type max() {
-    return static_cast<Type>(0);
-  }
+    This means that, for a \f$w\f$-bit bounded integer, the computation
+    happens modulo \f$2^w\f$.
+  */
+  OVERFLOW_WRAPS,
 
-  static Type epsilon() {
-    return static_cast<Type>(0);
-  }
+  /*! \brief
+    On overflow, the result is undefined.
 
-  static Type round_error() {
-    return static_cast<Type>(0);
-  }
+    This simply means that the result of the operation resulting in an
+    overflow can take any value.
 
-  static Type infinity() {
-    return static_cast<Type>(0);
-  }
+    \note
+    Even though something more serious can happen in the system
+    being analyzed ---due to, e.g., C's undefined behavior---, here we
+    are only concerned with the results of arithmetic operations.
+    It is the responsibility of the analyzer to ensure that other
+    manifestations of undefined behavior are conservatively approximated.
+  */
+  OVERFLOW_UNDEFINED,
 
-  static Type quiet_NaN() {
-    return static_cast<Type>(0);
-  }
+  /*! \brief
+    Overflow is impossible.
 
-  static Type denorm_min() {
-    return static_cast<Type>(0);
-  }
+    This is for the analysis of languages where overflow is trapped
+    before it affects the state, for which, thus, any indication that
+    an overflow may have affected the state is necessarily due to
+    the imprecision of the analysis.
+  */
+  OVERFLOW_IMPOSSIBLE
 };
 
-} // namespace std
-
-/* Automatically generated from PPL source file ../src/mp_std_bits.inlines.hh line 1. */
-/* Definitions of specializations of std:: functions and methods for
-   multi-precision types.  This will become obsolete when GMP and MPFR
-   will provide the specializations by themselves.
-*/
-
+struct Weightwatch_Traits;
 
-inline void
-swap(mpz_class& x, mpz_class& y) {
-  mpz_swap(x.get_mpz_t(), y.get_mpz_t());
-}
-
-inline void
-swap(mpq_class& x, mpq_class& y) {
-  mpq_swap(x.get_mpq_t(), y.get_mpq_t());
-}
-
-/* Automatically generated from PPL source file ../src/mp_std_bits.defs.hh line 168. */
+} // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Temp.defs.hh line 1. */
-/* Temp_* classes declarations.
+/* Automatically generated from PPL source file ../src/C_Integer.hh line 1. */
+/* C integers info.
 */
 
 
@@ -2107,7 +1868,7 @@ namespace Parma_Polyhedra_Library {
 */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 #define const_bool_nodef(name, value)		\
-  enum { name = (value) }
+  enum anonymous_enum_ ## name { name = (value) }
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \brief
@@ -2121,7 +1882,7 @@ namespace Parma_Polyhedra_Library {
 */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 #define const_int_nodef(name, value) \
-  enum { name = (value) }
+  enum anonymous_enum_ ## name { name = (value) }
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \brief
@@ -2184,7 +1945,7 @@ struct Compile_Time_Check<true> {
 
 #define PPL_COMPILE_TIME_CHECK_NAME(suffix) compile_time_check_ ## suffix
 #define PPL_COMPILE_TIME_CHECK_AUX(e, suffix)				\
-  enum {								\
+  enum anonymous_enum_compile_time_check_ ## suffix {			\
     /* If e evaluates to false, then the sizeof cannot be compiled. */  \
     PPL_COMPILE_TIME_CHECK_NAME(suffix)					\
     = sizeof(Parma_Polyhedra_Library::					\
@@ -2209,7 +1970,7 @@ struct Compile_Time_Check<true> {
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 template <bool b>
 struct Bool {
-  enum {
+  enum anonymous_enum {
     value = b
   };
 };
@@ -2312,7 +2073,7 @@ struct Is_Same_Or_Derived {
                          "architecture with sizeof(char) == sizeof(double)"
                          " (!?)");
 
-  enum {
+  enum anonymous_enum {
     /*!
       Assuming <CODE>sizeof(char) != sizeof(double)</CODE>, the C++
       overload resolution mechanism guarantees that \p value evaluates
@@ -2404,6 +2165,155 @@ template <> struct Is_Native<mpq_class> : public True { };
 
 } // namespace Parma_Polyhedra_Library
 
+/* Automatically generated from PPL source file ../src/C_Integer.hh line 27. */
+#include <climits>
+
+// C99 defines LLONG_MIN, LLONG_MAX and ULLONG_MAX, but this part of
+// C99 is not yet included into the C++ standard.
+// GCC defines LONG_LONG_MIN, LONG_LONG_MAX and ULONG_LONG_MAX.
+// Some compilers (such as Comeau C++ up to and including version 4.3.3)
+// define nothing.  In this last case we make a reasonable guess.
+#ifndef LLONG_MIN
+#if defined(LONG_LONG_MIN)
+#define LLONG_MIN LONG_LONG_MIN
+#elif PPL_SIZEOF_LONG_LONG == 8
+#define LLONG_MIN 0x8000000000000000LL
+#endif
+#endif
+
+#ifndef LLONG_MAX
+#if defined(LONG_LONG_MAX)
+#define LLONG_MAX LONG_LONG_MAX
+#elif PPL_SIZEOF_LONG_LONG == 8
+#define LLONG_MAX 0x7fffffffffffffffLL
+#endif
+#endif
+
+#ifndef ULLONG_MAX
+#if defined(ULONG_LONG_MAX)
+#define ULLONG_MAX ULONG_LONG_MAX
+#elif PPL_SIZEOF_LONG_LONG == 8
+#define ULLONG_MAX 0xffffffffffffffffULL
+#endif
+#endif
+
+namespace Parma_Polyhedra_Library {
+
+template <typename T>
+struct C_Integer : public False { };
+
+template <>
+struct C_Integer<signed char> : public True {
+  enum anonymous_enum { is_signed = true };
+  typedef void smaller_type;
+  typedef void smaller_signed_type;
+  typedef void smaller_unsigned_type;
+  typedef unsigned char other_type;
+  static const signed char min = SCHAR_MIN;
+  static const signed char max = SCHAR_MAX;
+};
+
+template <>
+struct C_Integer<signed short> : public True {
+  enum anonymous_enum { is_signed = true };
+  typedef signed char smaller_type;
+  typedef signed char smaller_signed_type;
+  typedef unsigned char smaller_unsigned_type;
+  typedef unsigned short other_type;
+  static const signed short min = SHRT_MIN;
+  static const signed short max = SHRT_MAX;
+};
+
+template <>
+struct C_Integer<signed int> : public True {
+  enum anonymous_enum { is_signed = true };
+  typedef signed short smaller_type;
+  typedef signed short smaller_signed_type;
+  typedef unsigned short smaller_unsigned_type;
+  typedef unsigned int other_type;
+  static const signed int min = INT_MIN;
+  static const signed int max = INT_MAX;
+};
+
+template <>
+struct C_Integer<signed long> : public True {
+  enum anonymous_enum { is_signed = true };
+  typedef signed int smaller_type;
+  typedef signed int smaller_signed_type;
+  typedef unsigned int smaller_unsigned_type;
+  typedef unsigned long other_type;
+  static const signed long min = LONG_MIN;
+  static const signed long max = LONG_MAX;
+};
+
+template <>
+struct C_Integer<signed long long> : public True {
+  enum anonymous_enum { is_signed = true };
+  typedef signed long smaller_type;
+  typedef signed long smaller_signed_type;
+  typedef unsigned long smaller_unsigned_type;
+  typedef unsigned long long other_type;
+  static const signed long long min = LLONG_MIN;
+  static const signed long long max = LLONG_MAX;
+};
+
+template <>
+struct C_Integer<unsigned char> : public True {
+  enum anonymous_enum { is_signed = false };
+  typedef void smaller_type;
+  typedef void smaller_signed_type;
+  typedef void smaller_unsigned_type;
+  typedef signed char other_type;
+  static const unsigned char min = 0;
+  static const unsigned char max = UCHAR_MAX;
+};
+
+template <>
+struct C_Integer<unsigned short> : public True {
+  enum anonymous_enum { is_signed = false };
+  typedef unsigned char smaller_type;
+  typedef signed char smaller_signed_type;
+  typedef unsigned char smaller_unsigned_type;
+  typedef signed short other_type;
+  static const unsigned short min = 0;
+  static const unsigned short max = USHRT_MAX;
+};
+
+template <>
+struct C_Integer<unsigned int> : public True {
+  enum anonymous_enum { is_signed = false };
+  typedef unsigned short smaller_type;
+  typedef signed short smaller_signed_type;
+  typedef unsigned short smaller_unsigned_type;
+  typedef signed int other_type;
+  static const unsigned int min = 0;
+  static const unsigned int max = UINT_MAX;
+};
+
+template <>
+struct C_Integer<unsigned long> : public True {
+  enum anonymous_enum { is_signed = false };
+  typedef unsigned int smaller_type;
+  typedef signed int smaller_signed_type;
+  typedef unsigned int smaller_unsigned_type;
+  typedef signed long other_type;
+  static const unsigned long min = 0;
+  static const unsigned long max = ULONG_MAX;
+};
+
+template <>
+struct C_Integer<unsigned long long> : public True {
+  enum anonymous_enum { is_signed = false };
+  typedef unsigned long smaller_type;
+  typedef signed long smaller_signed_type;
+  typedef unsigned long smaller_unsigned_type;
+  typedef signed long long other_type;
+  static const unsigned long long min = 0;
+  static const unsigned long long max = ULLONG_MAX;
+};
+
+} // namespace Parma_Polyhedra_Library
+
 /* Automatically generated from PPL source file ../src/Slow_Copy.hh line 1. */
 /* Basic Slow_Copy classes declarations.
 */
@@ -2443,6 +2353,11 @@ struct Slow_Copy<mpq_class> : public True {
 
 } // namespace Parma_Polyhedra_Library
 
+/* Automatically generated from PPL source file ../src/Temp.defs.hh line 1. */
+/* Temp_* classes declarations.
+*/
+
+
 /* Automatically generated from PPL source file ../src/Temp.defs.hh line 28. */
 
 namespace Parma_Polyhedra_Library {
@@ -2488,8 +2403,8 @@ private:
 template <typename T>
 class Temp_Reference_Holder {
 public:
-  //! Constructs an holder holding \p p.
-  Temp_Reference_Holder(Temp_Item<T>& p);
+  //! Constructs an holder holding a dirty temp.
+  Temp_Reference_Holder();
 
   //! Destructor.
   ~Temp_Reference_Holder();
@@ -2498,6 +2413,12 @@ public:
   T& item();
 
 private:
+  //! Copy constructor: private and intentionally not implemented.
+  Temp_Reference_Holder(const Temp_Reference_Holder&);
+
+  //! Assignment operator: private and intentionally not implemented.
+  Temp_Reference_Holder& operator=(const Temp_Reference_Holder&);
+
   //! The held item, encapsulated.
   Temp_Item<T>& held;
 };
@@ -2515,6 +2436,12 @@ public:
   T item();
 
 private:
+  //! Copy constructor: private and intentionally not implemented.
+  Temp_Value_Holder(const Temp_Value_Holder&);
+
+  //! Assignment operator: private and intentionally not implemented.
+  Temp_Value_Holder& operator=(const Temp_Value_Holder&);
+
   //! The held item.
   T item_;
 };
@@ -2530,8 +2457,6 @@ struct Temp_From_Free_List {
   //! The type of the holder.
   typedef Temp_Reference_Holder<T> holder_type;
 
-  //! Obtain the holder for a new temporary.
-  static holder_type obtain_holder();
 };
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
@@ -2545,8 +2470,6 @@ struct Temp_From_Local_Variable {
   //! The type of the holder.
   typedef Temp_Value_Holder<T> holder_type;
 
-  //! Obtain the holder for a new temporary.
-  static holder_type obtain_holder();
 };
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
@@ -2615,8 +2538,8 @@ Temp_Item<T>::release(Temp_Item& p) {
 
 template <typename T>
 inline
-Temp_Reference_Holder<T>::Temp_Reference_Holder(Temp_Item<T>& p)
-  : held(p) {
+Temp_Reference_Holder<T>::Temp_Reference_Holder()
+  : held(Temp_Item<T>::obtain()) {
 }
 
 template <typename T>
@@ -2642,30 +2565,17 @@ Temp_Value_Holder<T>::item() {
   return item_;
 }
 
-template <typename T>
-inline typename Temp_From_Free_List<T>::holder_type
-Temp_From_Free_List<T>::obtain_holder() {
-  return Temp_Reference_Holder<T>(Temp_Item<T>::obtain());
-}
-
-template <typename T>
-inline typename Temp_From_Local_Variable<T>::holder_type
-Temp_From_Local_Variable<T>::obtain_holder() {
-  return Temp_Value_Holder<T>();
-}
-
 } // namespace Parma_Polyhedra_Library
 
 #define PPL_DIRTY_TEMP(T, id)						\
-  typename Parma_Polyhedra_Library::Dirty_Temp<T>::holder_type holder ## id = \
-    Parma_Polyhedra_Library::Dirty_Temp<T>::obtain_holder();		\
-  typename Parma_Polyhedra_Library::Dirty_Temp<T>::type id =		\
-    holder ## id.item()
+  typename                                                              \
+  Parma_Polyhedra_Library::Dirty_Temp<T>::holder_type holder_ ## id;     \
+  typename                                                              \
+  Parma_Polyhedra_Library::Dirty_Temp<T>::type id = holder_ ## id.item()
 
 #define PPL_DIRTY_TEMP0(T, id)						\
-  Parma_Polyhedra_Library::Dirty_Temp<T>::holder_type holder ## id =	\
-    Parma_Polyhedra_Library::Dirty_Temp<T>::obtain_holder();		\
-  Parma_Polyhedra_Library::Dirty_Temp<T>::type id = holder ## id.item()
+  Parma_Polyhedra_Library::Dirty_Temp<T>::holder_type holder_ ## id;	\
+  Parma_Polyhedra_Library::Dirty_Temp<T>::type id = holder_ ## id.item()
 
 /* Automatically generated from PPL source file ../src/Temp.templates.hh line 1. */
 /* Temp_* classes implementation: non-inline template members.
@@ -2679,3708 +2589,3438 @@ Temp_Item<T>* Temp_Item<T>::free_list_head = 0;
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Temp.defs.hh line 159. */
+/* Automatically generated from PPL source file ../src/Temp.defs.hh line 167. */
 
-/* Automatically generated from PPL source file ../src/Numeric_Format.defs.hh line 1. */
-/* Numeric format.
-*/
-
-
-/* Automatically generated from PPL source file ../src/Numeric_Format.defs.hh line 28. */
+/* Automatically generated from PPL source file ../src/globals.defs.hh line 31. */
+#include <exception>
+#include <gmpxx.h>
 
 namespace Parma_Polyhedra_Library {
 
-class Numeric_Format {
-};
+//! Returns a value that does not designate a valid dimension.
+dimension_type
+not_a_dimension();
 
-} // namespace Parma_Polyhedra_Library
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  Make sure swap() is specialized when needed.
 
+  This will cause a compile-time error whenever a specialization for \p T
+  is beneficial but missing.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+inline typename Enable_If<Slow_Copy<T>::value, void>::type
+swap(T&, T&) {
+  PPL_COMPILE_TIME_CHECK(!Slow_Copy<T>::value, "missing swap specialization");
+}
 
-/* Automatically generated from PPL source file ../src/Float.defs.hh line 1. */
-/* IEC 559 floating point format related functions.
+/*! \brief
+  Declare a local variable named \p id, of type Coefficient, and containing
+  an unknown initial value.
+
+  Use of this macro to declare temporaries of type Coefficient results
+  in decreased memory allocation overhead and in better locality.
 */
+#define PPL_DIRTY_TEMP_COEFFICIENT(id) PPL_DIRTY_TEMP0(Coefficient, id)
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Speculative allocation function.
+/*!
+  \return
+  The actual capacity to be allocated.
 
-/* Automatically generated from PPL source file ../src/Float.defs.hh line 28. */
-#include <gmp.h>
-#include <cassert>
-#include <cmath>
+  \param requested_size
+  The number of elements we need.
 
-#ifdef NAN
-#define PPL_NAN NAN
-#else
-#define PPL_NAN (HUGE_VAL - HUGE_VAL)
-#endif
+  \param maximum_size
+  The maximum number of elements to be allocated. It is assumed
+  to be no less than \p requested_size.
+
+  Computes a capacity given a requested size.
+  Allows for speculative allocation aimed at reducing the number of
+  reallocations enough to guarantee amortized constant insertion time
+  for our vector-like data structures. In all cases, the speculative
+  allocation will not exceed \p maximum_size.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+dimension_type
+compute_capacity(dimension_type requested_size,
+                 dimension_type maximum_size);
 
-namespace Parma_Polyhedra_Library {
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
+//! Traits class for the deterministic timeout mechanism.
+/*! \ingroup PPL_CXX_interface
+  This abstract base class should be instantiated by those users
+  willing to provide a polynomial upper bound to the time spent
+  by any invocation of a library operator.
+*/
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+struct Weightwatch_Traits {
+  //! The type used to specify thresholds for computational weight.
+  typedef unsigned long long Threshold;
 
-struct float_ieee754_single {
-  uint32_t word;
-  static const uint32_t SGN_MASK = 0x80000000;
-  static const uint32_t EXP_MASK = 0x7f800000;
-  static const uint32_t POS_INF = 0x7f800000;
-  static const uint32_t NEG_INF = 0xff800000;
-  static const uint32_t POS_ZERO = 0x00000000;
-  static const uint32_t NEG_ZERO = 0x80000000;
-  static const unsigned int EXPONENT_BITS = 8;
-  static const unsigned int MANTISSA_BITS = 23;
-  static const int EXPONENT_MAX = (1 << (EXPONENT_BITS - 1)) - 1;
-  static const int EXPONENT_BIAS = EXPONENT_MAX;
-  static const int EXPONENT_MIN = -EXPONENT_MAX + 1;
-  static const int EXPONENT_MIN_DENORM = EXPONENT_MIN
-					- static_cast<int>(MANTISSA_BITS);
-  int is_inf() const;
-  int is_nan() const;
-  int is_zero() const;
-  int sign_bit() const;
-  void negate();
-  void dec();
-  void inc();
-  void set_max(bool negative);
-  void build(bool negative, mpz_t mantissa, int exponent);
-};
+  //! The type used to specify increments of computational weight.
+  typedef unsigned long long Delta;
 
-#ifdef WORDS_BIGENDIAN
-#ifndef PPL_WORDS_BIGENDIAN
-#define PPL_WORDS_BIGENDIAN
-#endif
-#endif
+  //! Returns the current computational weight.
+  static const Threshold& get();
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  //! Compares the two weights \p a and \p b.
+  static bool less_than(const Threshold& a, const Threshold& b);
 
-struct float_ieee754_double {
-#ifdef PPL_WORDS_BIGENDIAN
-  uint32_t msp;
-  uint32_t lsp;
-#else
-  uint32_t lsp;
-  uint32_t msp;
-#endif
-  static const uint32_t MSP_SGN_MASK = 0x80000000;
-  static const uint32_t MSP_POS_INF = 0x7ff00000;
-  static const uint32_t MSP_NEG_INF = 0xfff00000;
-  static const uint32_t MSP_POS_ZERO = 0x00000000;
-  static const uint32_t MSP_NEG_ZERO = 0x80000000;
-  static const uint32_t LSP_INF = 0;
-  static const uint32_t LSP_ZERO = 0;
-  static const uint32_t LSP_MAX = 0xffffffff;
-  static const unsigned int EXPONENT_BITS = 11;
-  static const unsigned int MANTISSA_BITS = 52;
-  static const int EXPONENT_MAX = (1 << (EXPONENT_BITS - 1)) - 1;
-  static const int EXPONENT_BIAS = EXPONENT_MAX;
-  static const int EXPONENT_MIN = -EXPONENT_MAX + 1;
-  static const int EXPONENT_MIN_DENORM = EXPONENT_MIN
-					- static_cast<int>(MANTISSA_BITS);
-  int is_inf() const;
-  int is_nan() const;
-  int is_zero() const;
-  int sign_bit() const;
-  void negate();
-  void dec();
-  void inc();
-  void set_max(bool negative);
-  void build(bool negative, mpz_t mantissa, int exponent);
-};
+  //! Sets \p threshold to be \p delta units bigger than the current weigth.
+  static void from_delta(Threshold& threshold, const Delta& delta);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  //! The current computational weight.
+  static Threshold weight;
 
-struct float_intel_double_extended {
-#ifdef PPL_WORDS_BIGENDIAN
-  uint32_t msp;
-  uint64_t lsp;
-#else
-  uint64_t lsp;
-  uint32_t msp;
-#endif
-  static const uint32_t MSP_SGN_MASK = 0x00008000;
-  static const uint32_t MSP_POS_INF = 0x00007fff;
-  static const uint32_t MSP_NEG_INF = 0x0000ffff;
-  static const uint32_t MSP_POS_ZERO = 0x00000000;
-  static const uint32_t MSP_NEG_ZERO = 0x00008000;
-  static const uint64_t LSP_INF = 0x8000000000000000ULL;
-  static const uint64_t LSP_ZERO = 0;
-  static const uint64_t LSP_DMAX = 0x7fffffffffffffffULL;
-  static const uint64_t LSP_NMAX = 0xffffffffffffffffULL;
-  static const unsigned int EXPONENT_BITS = 15;
-  static const unsigned int MANTISSA_BITS = 63;
-  static const int EXPONENT_MAX = (1 << (EXPONENT_BITS - 1)) - 1;
-  static const int EXPONENT_BIAS = EXPONENT_MAX;
-  static const int EXPONENT_MIN = -EXPONENT_MAX + 1;
-  static const int EXPONENT_MIN_DENORM = EXPONENT_MIN
-					- static_cast<int>(MANTISSA_BITS);
-  int is_inf() const;
-  int is_nan() const;
-  int is_zero() const;
-  int sign_bit() const;
-  void negate();
-  void dec();
-  void inc();
-  void set_max(bool negative);
-  void build(bool negative, mpz_t mantissa, int exponent);
+  /*! \brief
+    A pointer to the function that has to be called when checking
+    the reaching of thresholds.
+
+    The pointer can be null if no thresholds are set.
+  */
+  static void (*check_function)(void);
 };
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 
-struct float_ieee754_quad {
-#ifdef PPL_WORDS_BIGENDIAN
-  uint64_t msp;
-  uint64_t lsp;
-#else
-  uint64_t lsp;
-  uint64_t msp;
-#endif
-  static const uint64_t MSP_SGN_MASK = 0x8000000000000000ULL;
-  static const uint64_t MSP_POS_INF = 0x7fff000000000000ULL;
-  static const uint64_t MSP_NEG_INF = 0xffff000000000000ULL;
-  static const uint64_t MSP_POS_ZERO = 0x0000000000000000ULL;
-  static const uint64_t MSP_NEG_ZERO = 0x8000000000000000ULL;
-  static const uint64_t LSP_INF = 0;
-  static const uint64_t LSP_ZERO = 0;
-  static const uint64_t LSP_MAX = 0xffffffffffffffffULL;
-  static const unsigned int EXPONENT_BITS = 15;
-  static const unsigned int MANTISSA_BITS = 112;
-  static const int EXPONENT_MAX = (1 << (EXPONENT_BITS - 1)) - 1;
-  static const int EXPONENT_BIAS = EXPONENT_MAX;
-  static const int EXPONENT_MIN = -EXPONENT_MAX + 1;
-  static const int EXPONENT_MIN_DENORM = EXPONENT_MIN
-					- static_cast<int>(MANTISSA_BITS);
-  int is_inf() const;
-  int is_nan() const;
-  int is_zero() const;
-  int sign_bit() const;
-  void negate();
-  void dec();
-  void inc();
-  void set_max(bool negative);
-  void build(bool negative, mpz_t mantissa, int exponent);
-};
+#ifndef NDEBUG
+namespace Implementation {
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-class Float : public False { };
+//! Non zero during evaluation of PPL_ASSERT expression.
+extern unsigned int in_assert;
 
-#if PPL_SUPPORTED_FLOAT
-template <>
-class Float<float> : public True {
-public:
-#if PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_IEEE754_SINGLE
-  typedef float_ieee754_single Binary;
-#elif PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE
-  typedef float_ieee754_double Binary;
-#elif PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_IEEE754_QUAD
-  typedef float_ieee754_quad Binary;
-#elif PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED
-  typedef float_intel_double_extended Binary;
-#else
-#error "invalid value for PPL_CXX_FLOAT_BINARY_FORMAT"
+} // namespace Implementation
 #endif
-  union {
-    float number;
-    Binary binary;
-  } u;
-  Float();
-  Float(float v);
-  float value();
-};
+
+#ifndef PPL_PROFILE_ADD_WEIGHT
+#define PPL_PROFILE_ADD_WEIGHT 0
 #endif
 
-#if PPL_SUPPORTED_DOUBLE
-template <>
-class Float<double> : public True {
-public:
-#if PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_SINGLE
-  typedef float_ieee754_single Binary;
-#elif PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE
-  typedef float_ieee754_double Binary;
-#elif PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_QUAD
-  typedef float_ieee754_quad Binary;
-#elif PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED
-  typedef float_intel_double_extended Binary;
+#if defined(NDEBUG)
+#if PPL_PROFILE_ADD_WEIGHT
+#define WEIGHT_BEGIN() Weight_Profiler::begin()
+#define WEIGHT_ADD(delta)                                     \
+  do {                                                        \
+    static Weight_Profiler wp__(__FILE__, __LINE__, delta);   \
+    wp__.end();                                               \
+  } while(0)
+#define WEIGHT_ADD_MUL(delta, factor)                                   \
+  do {                                                                  \
+    static Weight_Profiler wp__(__FILE__, __LINE__, delta);             \
+    wp__.end(factor);                                                   \
+  } while(0)
 #else
-#error "invalid value for PPL_CXX_DOUBLE_BINARY_FORMAT"
+#define WEIGHT_BEGIN()
+#define WEIGHT_ADD(delta)                       \
+  do {                                          \
+    Weightwatch_Traits::weight += delta;        \
+  } while(0)
+#define WEIGHT_ADD_MUL(delta, factor)                   \
+  do {                                                  \
+    Weightwatch_Traits::weight += delta * factor;       \
+  } while(0)
 #endif
-  union {
-    double number;
-    Binary binary;
-  } u;
-  Float();
-  Float(double v);
-  double value();
-};
+#else
+#define WEIGHT_BEGIN()
+#define WEIGHT_ADD(delta)                       \
+  do {                                          \
+    if (!Implementation::in_assert)             \
+      Weightwatch_Traits::weight += delta;      \
+  } while(0)
+#define WEIGHT_ADD_MUL(delta, factor)                   \
+  do {                                                  \
+    if (!Implementation::in_assert)                     \
+      Weightwatch_Traits::weight += delta * factor;     \
+  } while(0)
 #endif
 
-#if PPL_SUPPORTED_LONG_DOUBLE
-template <>
-class Float<long double> : public True {
+//! User objects the PPL can throw.
+/*! \ingroup PPL_CXX_interface
+  This abstract base class should be instantiated by those users
+  willing to provide a polynomial upper bound to the time spent
+  by any invocation of a library operator.
+*/
+class Throwable {
 public:
-#if PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_SINGLE
-  typedef float_ieee754_single Binary;
-#elif PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE
-  typedef float_ieee754_double Binary;
-#elif PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_QUAD
-  typedef float_ieee754_quad Binary;
-#elif PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED
-  typedef float_intel_double_extended Binary;
-#else
-#error "invalid value for PPL_CXX_LONG_DOUBLE_BINARY_FORMAT"
-#endif
-  union {
-    long double number;
-    Binary binary;
-  } u;
-  Float();
-  Float(long double v);
-  long double value();
+  //! Throws the user defined exception object.
+  virtual void throw_me() const = 0;
+
+  //! Virtual destructor.
+  virtual ~Throwable();
 };
-#endif
 
-} // namespace Parma_Polyhedra_Library
+/*! \brief
+  A pointer to an exception object.
 
-/* Automatically generated from PPL source file ../src/Float.inlines.hh line 1. */
-/* IEC 559 floating point format related functions.
+  \ingroup PPL_CXX_interface
+  This pointer, which is initialized to zero, is repeatedly checked
+  along any super-linear (i.e., computationally expensive) computation
+  path in the library.
+  When it is found nonzero the exception it points to is thrown.
+  In other words, making this pointer point to an exception (and
+  leaving it in this state) ensures that the library will return
+  control to the client application, possibly by throwing the given
+  exception, within a time that is a linear function of the size
+  of the representation of the biggest object (powerset of polyhedra,
+  polyhedron, system of constraints or generators) on which the library
+  is operating upon.
+
+  \note
+  The only sensible way to assign to this pointer is from within a
+  signal handler or from a parallel thread.  For this reason, the
+  library, apart from ensuring that the pointer is initially set to zero,
+  never assigns to it.  In particular, it does not zero it again when
+  the exception is thrown: it is the client's responsibility to do so.
 */
+extern const Throwable* volatile abandon_expensive_computations;
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  If the pointer abandon_expensive_computations is found
+  to be nonzero, the exception it points to is thrown.
 
-#include <climits>
+  \relates Throwable
+*/
+#endif
+void
+maybe_abandon();
 
-namespace Parma_Polyhedra_Library {
+//! A tag class.
+/*! \ingroup PPL_CXX_interface
+  Tag class to distinguish those constructors that recycle the data
+  structures of their arguments, instead of taking a copy.
+*/
+struct Recycle_Input {
+};
 
-inline int
-float_ieee754_single::is_inf() const {
-  if (word == NEG_INF)
-    return -1;
-  if (word == POS_INF)
-    return 1;
-  return 0;
-}
+// Turn s into a string: PPL_STR(x + y) => "x + y".
+#define PPL_STR(s) #s
+// Turn the expansion of s into a string: PPL_XSTR(x) => "x expanded".
+#define PPL_XSTR(s) PPL_STR(s)
 
-inline int
-float_ieee754_single::is_nan() const {
-  return (word & ~SGN_MASK) > POS_INF;
-}
+#define PPL_OUTPUT_DECLARATIONS                                         \
+  /*! \brief Writes to \c std::cerr an ASCII representation of \p *this. */ \
+  void ascii_dump() const;                                              \
+  /*! \brief Writes to \p s an ASCII representation of \p *this. */     \
+  void ascii_dump(std::ostream& s) const;                               \
+  /*! \brief Prints \p *this to \c std::cerr using \c operator<<. */	\
+  void print() const;
 
-inline int
-float_ieee754_single::is_zero() const {
-  if (word == NEG_ZERO)
-    return -1;
-  if (word == POS_ZERO)
-    return 1;
-  return 0;
-}
+#define PPL_OUTPUT_DEFINITIONS(class_name)			\
+  void								\
+  Parma_Polyhedra_Library::class_name::ascii_dump() const {	\
+    ascii_dump(std::cerr);					\
+  }								\
+								\
+  void								\
+  Parma_Polyhedra_Library::class_name::print() const {		\
+    using IO_Operators::operator<<;				\
+    std::cerr << *this;						\
+  }
 
-inline void
-float_ieee754_single::negate() {
-  word ^= SGN_MASK;
-}
+#define PPL_OUTPUT_DEFINITIONS_ASCII_ONLY(class_name)			\
+  void									\
+  Parma_Polyhedra_Library::class_name::ascii_dump() const {		\
+    ascii_dump(std::cerr);						\
+  }									\
+									\
+  void									\
+  Parma_Polyhedra_Library::class_name::print() const {			\
+    std::cerr << "No user level output operator defined "		\
+	      << "for class " PPL_XSTR(class_name) << "." << std::endl; \
+  }
 
-inline int
-float_ieee754_single::sign_bit() const {
-  return !!(word & SGN_MASK);
-}
+#define PPL_OUTPUT_TEMPLATE_DEFINITIONS(type_symbol, class_prefix)	\
+  template <typename type_symbol>					\
+  void									\
+  class_prefix::ascii_dump() const {					\
+    ascii_dump(std::cerr);						\
+  }									\
+									\
+  template <typename type_symbol>					\
+  void									\
+  class_prefix::print() const {						\
+    using IO_Operators::operator<<;					\
+    std::cerr << *this;							\
+  }
 
-inline void
-float_ieee754_single::dec() {
-  --word;
-}
+#define PPL_OUTPUT_2_PARAM_TEMPLATE_DEFINITIONS(type_symbol1,		\
+						type_symbol2,		\
+						class_prefix)		\
+  template <typename type_symbol1, typename type_symbol2>		\
+  void									\
+  class_prefix<type_symbol1, type_symbol2>::ascii_dump() const {	\
+    ascii_dump(std::cerr);						\
+  }									\
+									\
+  template <typename type_symbol1, typename type_symbol2>		\
+  void									\
+  class_prefix<type_symbol1, type_symbol2>::print() const {		\
+    using IO_Operators::operator<<;					\
+    std::cerr << *this;							\
+  }
 
-inline void
-float_ieee754_single::inc() {
-  ++word;
-}
+#define PPL_OUTPUT_3_PARAM_TEMPLATE_DEFINITIONS(type_symbol1,		\
+						type_symbol2,		\
+						type_symbol3,		\
+						class_prefix)		\
+  template <typename type_symbol1, typename type_symbol2,		\
+            typename type_symbol3>					\
+  void									\
+  class_prefix<type_symbol1, type_symbol2, type_symbol3>::ascii_dump()	\
+    const {								\
+    ascii_dump(std::cerr);						\
+  }									\
+                                                                     	\
+    template <typename type_symbol1, typename type_symbol2,		\
+              typename type_symbol3>					\
+    void								\
+    class_prefix<type_symbol1, type_symbol2, type_symbol3>::print()	\
+      const {								\
+      using IO_Operators::operator<<;					\
+      std::cerr << *this;						\
+    }
 
-inline void
-float_ieee754_single::set_max(bool negative) {
-  word = 0x7f7fffff;
-  if (negative)
-    word |= SGN_MASK;
-}
+#define PPL_OUTPUT_TEMPLATE_DEFINITIONS_ASCII_ONLY(type_symbol, class_prefix) \
+  template <typename type_symbol>					\
+  void									\
+  class_prefix::ascii_dump() const {					\
+    ascii_dump(std::cerr);						\
+  }									\
+									\
+  template <typename type_symbol>					\
+  void									\
+  class_prefix::print() const {						\
+    std::cerr << "No user level output operator defined "		\
+	      << "for " PPL_XSTR(class_prefix) << "." << std::endl;	\
+  }
 
-inline void
-float_ieee754_single::build(bool negative, mpz_t mantissa, int exponent) {
-  word = mpz_get_ui(mantissa) & ((1UL << MANTISSA_BITS) - 1);
-  if (negative)
-    word |= SGN_MASK;
-  word |= static_cast<uint32_t>(exponent + EXPONENT_BIAS) << MANTISSA_BITS;
-}
+template <typename T, long long v, typename Enable = void>
+struct Fit : public False {
+};
 
-inline int
-float_ieee754_double::is_inf() const {
-  if (lsp != LSP_INF)
-    return 0;
-  if (msp == MSP_NEG_INF)
-    return -1;
-  if (msp == MSP_POS_INF)
-    return 1;
-  return 0;
-}
+template <typename T, long long v>
+struct Fit<T, v, typename Enable_If<C_Integer<T>::value>::type>  {
+  enum {
+    value = (v >= static_cast<long long>(C_Integer<T>::min)
+             && v <= static_cast<long long>(C_Integer<T>::max))
+  };
+};
 
-inline int
-float_ieee754_double::is_nan() const {
-  uint32_t a = msp & ~MSP_SGN_MASK;
-  return a > MSP_POS_INF || (a == MSP_POS_INF && lsp != LSP_INF);
+template <typename T, long long v>
+struct TConstant {
+  static const T value = v;
+};
+
+
+template <typename T, long long v>
+const T TConstant<T, v>::value;
+
+template <typename T, long long v, bool prefer_signed = true,
+	  typename Enable = void>
+struct Constant_ : public TConstant<T, v> {
+};
+
+template <typename T, long long v, bool prefer_signed>
+struct Constant_<T, v, prefer_signed,
+		 typename Enable_If<(Fit<typename C_Integer<T>::smaller_signed_type, v>::value
+				     && (prefer_signed
+                                         || !Fit<typename C_Integer<T>::smaller_unsigned_type, v>::value))>::type>
+  : public Constant_<typename C_Integer<T>::smaller_signed_type, v, prefer_signed> {
+};
+
+template <typename T, long long v, bool prefer_signed>
+struct Constant_<T, v, prefer_signed,
+		 typename Enable_If<(Fit<typename C_Integer<T>::smaller_unsigned_type, v>::value
+				     && (!prefer_signed
+                                         || !Fit<typename C_Integer<T>::smaller_signed_type, v>::value))>::type>
+  : public Constant_<typename C_Integer<T>::smaller_unsigned_type, v, prefer_signed> {
+};
+
+template <long long v, bool prefer_signed = true>
+struct Constant : public Constant_<long long, v, prefer_signed> {
+};
+
+//! \name Memory Size Inspection Functions
+//@{
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  For native types, returns the total size in bytes of the memory
+  occupied by the type of the (unused) parameter, i.e., 0.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+typename Enable_If<Is_Native<T>::value, memory_size_type>::type
+total_memory_in_bytes(const T&);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  For native types, returns the size in bytes of the memory managed
+  by the type of the (unused) parameter, i.e., 0.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+typename Enable_If<Is_Native<T>::value, memory_size_type>::type
+external_memory_in_bytes(const T&);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns the total size in bytes of the memory occupied by \p x.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+memory_size_type
+total_memory_in_bytes(const mpz_class& x);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns the size in bytes of the memory managed by \p x.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+memory_size_type
+external_memory_in_bytes(const mpz_class& x);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns the total size in bytes of the memory occupied by \p x.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+memory_size_type
+total_memory_in_bytes(const mpq_class& x);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns the size in bytes of the memory managed by \p x.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+memory_size_type
+external_memory_in_bytes(const mpq_class& x);
+
+//@} // Memory Size Inspection Functions
+
+
+template <typename T, typename Enable = void>
+struct Has_OK : public False { };
+
+template <typename T>
+struct Has_OK<T, typename Enable_If_Is<bool (T::*)() const, &T::OK>::type>
+  : public True {
+};
+
+template <typename T>
+inline typename Enable_If<Has_OK<T>::value, bool>::type
+f_OK(const T& to) {
+  return to.OK();
 }
 
-inline int
-float_ieee754_double::is_zero() const {
-  if (lsp != LSP_ZERO)
-    return 0;
-  if (msp == MSP_NEG_ZERO)
-    return -1;
-  if (msp == MSP_POS_ZERO)
-    return 1;
-  return 0;
+#define FOK(T) inline bool f_OK(const T&) { return true; }
+
+FOK(char)
+FOK(signed char)
+FOK(unsigned char)
+FOK(signed short)
+FOK(unsigned short)
+FOK(signed int)
+FOK(unsigned int)
+FOK(signed long)
+FOK(unsigned long)
+FOK(signed long long)
+FOK(unsigned long long)
+FOK(float)
+FOK(double)
+FOK(long double)
+FOK(mpz_class)
+FOK(mpq_class)
+
+} // namespace Parma_Polyhedra_Library
+
+#if defined(NDEBUG) && PPL_PROFILE_ADD_WEIGHT
+/* Automatically generated from PPL source file ../src/Weight_Profiler.defs.hh line 1. */
+/* Weight_Profiler class declaration.
+*/
+
+#ifndef Weight_Profiler_defs_hh
+#define Weight_Profiler_defs_hh 1
+
+#include <cassert>
+
+namespace Parma_Polyhedra_Library {
+
+class Weight_Profiler {
+  enum { DISCARDED = 0, VALID = 1 };
+public:
+  Weight_Profiler(const char* file, int line,
+		  Weightwatch_Traits::Delta delta,
+		  double tmin = 0, double tmax = 0)
+    : file(file), line(line), delta(delta),
+      tmin(tmin), tmax(tmax) {
+    for (int i = 0; i < 2; ++i) {
+      stat[i].samples = 0;
+      stat[i].count = 0;
+      stat[i].sum = 0;
+      stat[i].ssum = 0;
+      stat[i].min = 0;
+      stat[i].max = 0;
+    }
+  }
+
+  ~Weight_Profiler() {
+    output_stats();
+  }
+
+  void output_stats();
+
+  static void begin() {
+#ifndef NDEBUG
+    int r = clock_gettime(CLOCK_THREAD_CPUTIME_ID, &stamp);
+    assert(r >= 0);
+#else
+    clock_gettime(CLOCK_THREAD_CPUTIME_ID, &stamp);
+#endif
+  }
+
+  void end(unsigned int factor = 1) {
+    Weightwatch_Traits::weight
+      += (Weightwatch_Traits::Threshold) delta * factor;
+    struct timespec start = stamp;
+    begin();
+    double elapsed;
+    if (stamp.tv_nsec >= start.tv_nsec) {
+      elapsed = (stamp.tv_nsec - start.tv_nsec)
+	+ (stamp.tv_sec - start.tv_sec) * 1e9;
+    }
+    else {
+      elapsed = (1000000000 - start.tv_nsec + stamp.tv_nsec )
+	+ (stamp.tv_sec - start.tv_sec - 1) * 1e9;
+    }
+    elapsed -= adj;
+    double elapsed1 = elapsed / factor;
+    int i = (elapsed1 < tmin || (tmax > 0 && elapsed1 > tmax))
+      ? DISCARDED
+      : VALID;
+    ++stat[i].samples;
+    if (stat[i].count == 0)
+      stat[i].min = stat[i].max = elapsed1;
+    else if (stat[i].min > elapsed1)
+      stat[i].min = elapsed1;
+    else if (stat[i].max < elapsed1)
+      stat[i].max = elapsed1;
+    stat[i].sum += elapsed;
+    stat[i].ssum += elapsed * elapsed1;
+    stat[i].count += factor;
+  }
+
+  static double tune_adj();
+
+ private:
+  const char *file;
+  int line;
+  Weightwatch_Traits::Delta delta;
+  double tmin;
+  double tmax;
+
+  struct {
+    unsigned int samples;
+    unsigned int count;
+    double sum;
+    double ssum;
+    double min;
+    double max;
+  } stat[2];
+
+  static struct timespec stamp;
+  static double adj;
+};
+
 }
 
-inline void
-float_ieee754_double::negate() {
-  msp ^= MSP_SGN_MASK;
+#endif // Weight_Profiler_defs_hh
+/* Automatically generated from PPL source file ../src/globals.defs.hh line 470. */
+#endif
+
+/* Automatically generated from PPL source file ../src/globals.inlines.hh line 1. */
+/* Implementation of global objects: inline functions.
+*/
+
+
+#include <limits>
+/* Automatically generated from PPL source file ../src/globals.inlines.hh line 28. */
+
+namespace Parma_Polyhedra_Library {
+
+inline dimension_type
+not_a_dimension() {
+  return std::numeric_limits<dimension_type>::max();
 }
 
-inline int
-float_ieee754_double::sign_bit() const {
-  return !!(msp & MSP_SGN_MASK);
+inline const Weightwatch_Traits::Threshold&
+Weightwatch_Traits::get() {
+  return weight;
 }
 
-inline void
-float_ieee754_double::dec() {
-  if (lsp == 0) {
-    --msp;
-    lsp = LSP_MAX;
-  }
-  else
-    --lsp;
+inline bool
+Weightwatch_Traits::less_than(const Threshold& a, const Threshold& b) {
+  return b - a < 1ULL << (sizeof(Threshold)*8-1);
 }
 
 inline void
-float_ieee754_double::inc() {
-  if (lsp == LSP_MAX) {
-    ++msp;
-    lsp = 0;
-  }
-  else
-    ++lsp;
+Weightwatch_Traits::from_delta(Threshold& threshold, const Delta& delta) {
+  threshold = weight + delta;
 }
 
-inline void
-float_ieee754_double::set_max(bool negative) {
-  msp = 0x7fefffff;
-  lsp = 0xffffffff;
-  if (negative)
-    msp |= MSP_SGN_MASK;
+inline
+Throwable::~Throwable() {
 }
 
 inline void
-float_ieee754_double::build(bool negative, mpz_t mantissa, int exponent) {
-#if ULONG_MAX == 0xffffffffUL
-  lsp = mpz_get_ui(mantissa);
-  mpz_tdiv_q_2exp(mantissa, mantissa, 32);
-  unsigned long m = mpz_get_ui(mantissa);
-#else
-  unsigned long m = mpz_get_ui(mantissa);
-  lsp = m;
-  m >>= 32;
+maybe_abandon() {
+#ifndef NDEBUG
+  if (Implementation::in_assert)
+    return;
 #endif
-  msp = m & ((1UL << (MANTISSA_BITS - 32)) - 1);
-  if (negative)
-    msp |= MSP_SGN_MASK;
-  msp |= static_cast<uint32_t>(exponent + EXPONENT_BIAS)
-    << (MANTISSA_BITS - 32);
-}
-
-inline int
-float_intel_double_extended::is_inf() const {
-  if (lsp != LSP_INF)
-    return 0;
-  uint32_t a = msp & MSP_NEG_INF;
-  if (a == MSP_NEG_INF)
-    return -1;
-  if (a == MSP_POS_INF)
-    return 1;
-  return 0;
+  if (Weightwatch_Traits::check_function)
+    Weightwatch_Traits::check_function();
+  if (const Throwable* p = abandon_expensive_computations)
+    p->throw_me();
 }
 
-inline int
-float_intel_double_extended::is_nan() const {
-  return (msp & MSP_POS_INF) == MSP_POS_INF
-    && lsp != LSP_INF;
+inline dimension_type
+compute_capacity(const dimension_type requested_size,
+		 const dimension_type maximum_size) {
+  assert(requested_size <= maximum_size);
+  // Speculation factor 2.
+  return (requested_size < maximum_size / 2)
+    ? 2*(requested_size + 1)
+    : maximum_size;
+  // Speculation factor 1.5.
+  // return (maximum_size - requested_size > requested_size/2)
+  //   ? requested_size + requested_size/2 + 1
+  //   : maximum_size;
 }
 
-inline int
-float_intel_double_extended::is_zero() const {
-  if (lsp != LSP_ZERO)
-    return 0;
-  uint32_t a = msp & MSP_NEG_INF;
-  if (a == MSP_NEG_ZERO)
-    return -1;
-  if (a == MSP_POS_ZERO)
-    return 1;
+template <typename T>
+inline typename
+Enable_If<Is_Native<T>::value, memory_size_type>::type
+external_memory_in_bytes(const T&) {
   return 0;
 }
 
-inline void
-float_intel_double_extended::negate() {
-  msp ^= MSP_SGN_MASK;
+template <typename T>
+inline typename
+Enable_If<Is_Native<T>::value, memory_size_type>::type
+total_memory_in_bytes(const T&) {
+  return sizeof(T);
 }
 
-inline int
-float_intel_double_extended::sign_bit() const {
-  return !!(msp & MSP_SGN_MASK);
+inline memory_size_type
+external_memory_in_bytes(const mpz_class& x) {
+  return x.get_mpz_t()[0]._mp_alloc * PPL_SIZEOF_MP_LIMB_T;
 }
 
-inline void
-float_intel_double_extended::dec() {
-  if ((lsp & LSP_DMAX) == 0) {
-    --msp;
-    lsp = (msp & MSP_NEG_INF) == 0 ? LSP_DMAX : LSP_NMAX;
-  }
-  else
-    --lsp;
+inline memory_size_type
+total_memory_in_bytes(const mpz_class& x) {
+  return sizeof(x) + external_memory_in_bytes(x);
 }
 
-inline void
-float_intel_double_extended::inc() {
-  if ((lsp & LSP_DMAX) == LSP_DMAX) {
-    ++msp;
-    lsp = LSP_DMAX + 1;
-  }
-  else
-    ++lsp;
+inline memory_size_type
+external_memory_in_bytes(const mpq_class& x) {
+  return external_memory_in_bytes(x.get_num())
+    + external_memory_in_bytes(x.get_den());
 }
 
-inline void
-float_intel_double_extended::set_max(bool negative) {
-  msp = 0x00007ffe;
-  lsp = 0xffffffffffffffffULL;
-  if (negative)
-    msp |= MSP_SGN_MASK;
+inline memory_size_type
+total_memory_in_bytes(const mpq_class& x) {
+  return sizeof(x) + external_memory_in_bytes(x);
 }
 
-inline void
-float_intel_double_extended::build(bool negative,
-				   mpz_t mantissa, int exponent) {
-#if ULONG_MAX == 0xffffffffUL
-  mpz_export(&lsp, 0, -1, 8, 0, 0, mantissa);
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/globals.defs.hh line 473. */
+
+/* Automatically generated from PPL source file ../src/assert.hh line 28. */
+
+#if defined(NDEBUG)
+
+#define PPL_ASSERT(cond__)
+#define PPL_ASSERT_HEAVY(cond__)
+
 #else
-  lsp = mpz_get_ui(mantissa);
+
+// Non zero to detect use of PPL_ASSERT instead of PPL_ASSERT_HEAVY
+#define PPL_DEBUG_PPL_ASSERT 1
+#if !PPL_DEBUG_PPL_ASSERT
+#define PPL_ASSERT(cond__) assert(cond__)
+#else
+#define PPL_ASSERT(cond__)				       \
+  do {							       \
+    Parma_Polyhedra_Library::Weightwatch_Traits::Threshold     \
+      old_weight__                                             \
+        = Parma_Polyhedra_Library::Weightwatch_Traits::weight; \
+    assert(cond__);					       \
+    assert(old_weight__ == Parma_Polyhedra_Library::Weightwatch_Traits::weight &&   \
+	   "PPL_ASSERT_HEAVY have to be used here");	   \
+  } while(0)
 #endif
-  msp = (negative ? MSP_SGN_MASK : 0);
-  msp |= static_cast<uint32_t>(exponent + EXPONENT_BIAS);
+
+// The evaluation of asserted conditions could have a non zero
+// computational weight (i.e., the execution path could contain an
+// invocation of WEIGHT_ADD).
+#define PPL_ASSERT_HEAVY(cond__)				\
+  do {								\
+      ++Parma_Polyhedra_Library::Implementation::in_assert;	\
+      assert(cond__);						\
+      --Parma_Polyhedra_Library::Implementation::in_assert;	\
+    } while (0)
+#endif
+
+/* Automatically generated from PPL source file ../src/Result.inlines.hh line 27. */
+
+namespace Parma_Polyhedra_Library {
+
+/*! \relates Parma_Polyhedra_Library::Result */
+inline Result_Class
+result_class(Result r) {
+  return static_cast<Result_Class>(r & VC_MASK);
 }
 
-inline int
-float_ieee754_quad::is_inf() const {
-  if (lsp != LSP_INF)
-    return 0;
-  if (msp == MSP_NEG_INF)
-    return -1;
-  if (msp == MSP_POS_INF)
-    return 1;
-  return 0;
+/*! \relates Parma_Polyhedra_Library::Result */
+inline Result_Relation
+result_relation(Result r) {
+  return static_cast<Result_Relation>(r & VR_MASK);
 }
 
-inline int
-float_ieee754_quad::is_nan() const {
-  return (msp & ~MSP_SGN_MASK) == MSP_POS_INF
-    && lsp != LSP_INF;
+/*! \relates Parma_Polyhedra_Library::Result */
+inline Result
+result_relation_class(Result r) {
+  return static_cast<Result>(r & (VR_MASK | VC_MASK));
 }
 
 inline int
-float_ieee754_quad::is_zero() const {
-  if (lsp != LSP_ZERO)
-    return 0;
-  if (msp == MSP_NEG_ZERO)
+result_overflow(Result r) {
+  switch (result_class(r)) {
+  case VC_NORMAL:
+    switch (r) {
+    case V_LT_INF:
+      return -1;
+    case V_GT_SUP:
+      return 1;
+    default:
+      break;
+    }
+    break;
+  case VC_MINUS_INFINITY:
     return -1;
-  if (msp == MSP_POS_ZERO)
+  case VC_PLUS_INFINITY:
     return 1;
+  default:
+    break;
+  }
   return 0;
 }
 
-inline void
-float_ieee754_quad::negate() {
-  msp ^= MSP_SGN_MASK;
+inline bool
+result_representable(Result r) {
+  return !(r & V_UNREPRESENTABLE);
 }
 
-inline int
-float_ieee754_quad::sign_bit() const {
-  return !!(msp & MSP_SGN_MASK);
+inline Result operator|(Result a, Result b) {
+  return static_cast<Result>((unsigned)a | (unsigned)b);
 }
 
-inline void
-float_ieee754_quad::dec() {
-  if (lsp == 0) {
-    --msp;
-    lsp = LSP_MAX;
-  }
-  else
-    --lsp;
+inline Result operator-(Result a, Result b) {
+  return static_cast<Result>((unsigned)a & ~(unsigned)b);
 }
 
-inline void
-float_ieee754_quad::inc() {
-  if (lsp == LSP_MAX) {
-    ++msp;
-    lsp = 0;
-  }
-  else
-    ++lsp;
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Result.defs.hh line 171. */
+
+/* Automatically generated from PPL source file ../src/Rounding_Dir.defs.hh line 28. */
+
+namespace Parma_Polyhedra_Library {
+
+//! Rounding directions for arithmetic computations.
+/*! \ingroup PPL_CXX_interface */
+enum Rounding_Dir {
+  /*! \hideinitializer
+    Round toward \f$-\infty\f$.
+  */
+  ROUND_DOWN = 0,
+
+  /*! \hideinitializer
+    Round toward \f$+\infty\f$.
+  */
+  ROUND_UP = 1,
+
+  /*! \hideinitializer
+    Rounding is delegated to lower level. Result info is evaluated lazily.
+  */
+  ROUND_IGNORE = 6,
+  ROUND_NATIVE = ROUND_IGNORE,
+
+  /*! \hideinitializer
+    Rounding is not needed: client code must ensure that the operation
+    result is exact and representable in the destination type.
+    Result info is evaluated lazily.
+  */
+  ROUND_NOT_NEEDED = 7,
+
+  ROUND_DIRECT = ROUND_UP,
+  ROUND_INVERSE = ROUND_DOWN,
+
+  ROUND_DIR_MASK = 7,
+
+  /*! \hideinitializer
+    The client code is willing to pay an extra price to know the exact
+    relation beetwen the exact result and the computed one.
+   */
+  ROUND_STRICT_RELATION = 8,
+
+  ROUND_CHECK = ROUND_DIRECT | ROUND_STRICT_RELATION
+};
+
+/*! \brief
+  Returns the inverse rounding mode of \p dir,
+  <CODE>ROUND_IGNORE</CODE> being the inverse of itself.
+*/
+Rounding_Dir inverse(Rounding_Dir dir);
+
+Rounding_Dir round_dir(Rounding_Dir dir);
+bool round_down(Rounding_Dir dir);
+bool round_up(Rounding_Dir dir);
+bool round_ignore(Rounding_Dir dir);
+bool round_not_needed(Rounding_Dir dir);
+bool round_not_requested(Rounding_Dir dir);
+bool round_direct(Rounding_Dir dir);
+bool round_inverse(Rounding_Dir dir);
+
+bool round_strict_relation(Rounding_Dir dir);
+
+fpu_rounding_direction_type round_fpu_dir(Rounding_Dir dir);
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Rounding_Dir.inlines.hh line 1. */
+/* Inline functions operating on enum Rounding_Dir values.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Rounding_Dir.inlines.hh line 27. */
+
+namespace Parma_Polyhedra_Library {
+
+inline Rounding_Dir
+round_dir(Rounding_Dir dir) {
+  return static_cast<Rounding_Dir>(dir & ROUND_DIR_MASK);
 }
 
-inline void
-float_ieee754_quad::set_max(bool negative) {
-  msp = 0x7ffeffffffffffffULL;
-  lsp = 0xffffffffffffffffULL;
-  if (negative)
-    msp |= MSP_SGN_MASK;
+inline bool
+round_down(Rounding_Dir dir) {
+  return round_dir(dir) == ROUND_DOWN;
 }
 
-inline void
-float_ieee754_quad::build(bool negative, mpz_t mantissa, int exponent) {
-  uint64_t parts[2];
-  mpz_export(parts, 0, -1, 8, 0, 0, mantissa);
-  lsp = parts[0];
-  msp = parts[1];
-  msp &= ((1ULL << (MANTISSA_BITS - 64)) - 1);
-  if (negative)
-    msp |= MSP_SGN_MASK;
-  msp |= static_cast<uint64_t>(exponent + EXPONENT_BIAS)
-    << (MANTISSA_BITS - 64);
+inline bool
+round_up(Rounding_Dir dir) {
+  return round_dir(dir) == ROUND_UP;
 }
 
-#if PPL_SUPPORTED_FLOAT
-inline
-Float<float>::Float() {
+inline bool
+round_ignore(Rounding_Dir dir) {
+  return round_dir(dir) == ROUND_IGNORE;
 }
 
-inline
-Float<float>::Float(float v) {
-  u.number = v;
+inline bool
+round_not_needed(Rounding_Dir dir) {
+  return round_dir(dir) == ROUND_NOT_NEEDED;
 }
 
-inline float
-Float<float>::value() {
-  return u.number;
+inline bool
+round_not_requested(Rounding_Dir dir) {
+  return round_dir(dir) == ROUND_IGNORE || round_dir(dir) == ROUND_NOT_NEEDED;
 }
-#endif
 
-#if PPL_SUPPORTED_DOUBLE
-inline
-Float<double>::Float() {
+inline bool
+round_direct(Rounding_Dir dir) {
+  return round_dir(dir) == ROUND_DIRECT;
 }
 
-inline
-Float<double>::Float(double v) {
-  u.number = v;
+inline bool
+round_inverse(Rounding_Dir dir) {
+  return round_dir(dir) == ROUND_INVERSE;
 }
 
-inline double
-Float<double>::value() {
-  return u.number;
+inline bool
+round_strict_relation(Rounding_Dir dir) {
+  return dir & ROUND_STRICT_RELATION;
 }
-#endif
 
-#if PPL_SUPPORTED_LONG_DOUBLE
-inline
-Float<long double>::Float() {
+#if PPL_CAN_CONTROL_FPU
+
+inline fpu_rounding_direction_type
+round_fpu_dir(Rounding_Dir dir) {
+  switch (round_dir(dir)) {
+  case ROUND_UP:
+    return static_cast<fpu_rounding_direction_type>(PPL_FPU_UPWARD);
+  case ROUND_DOWN:
+    return static_cast<fpu_rounding_direction_type>(PPL_FPU_DOWNWARD);
+  default:
+    PPL_ASSERT(false);
+    return static_cast<fpu_rounding_direction_type>(PPL_FPU_UPWARD);
+  }
 }
 
-inline
-Float<long double>::Float(long double v) {
-  u.number = v;
+#undef PPL_FPU_DOWNWARD
+#undef PPL_FPU_TONEAREST
+#undef PPL_FPU_TOWARDZERO
+#undef PPL_FPU_UPWARD
+
+#endif
+
+/*! \relates Parma_Polyhedra_Library::Rounding_Dir */
+inline Rounding_Dir
+inverse(Rounding_Dir dir) {
+  Rounding_Dir d = round_dir(dir);
+  switch (d) {
+  case ROUND_UP:
+    d = ROUND_DOWN;
+    break;
+  case ROUND_DOWN:
+    d = ROUND_UP;
+    break;
+  default:
+    PPL_ASSERT(false);
+    /* Fall through */
+  case ROUND_IGNORE:
+    return dir;
+  }
+  return static_cast<Rounding_Dir>((dir & ~ROUND_DIR_MASK) | d);
 }
 
-inline long double
-Float<long double>::value() {
-  return u.number;
+inline Rounding_Dir operator|(Rounding_Dir x, Rounding_Dir y) {
+  return static_cast<Rounding_Dir>((unsigned)x | (unsigned)y);
 }
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Rounding_Dir.defs.hh line 93. */
+
+
+/* Automatically generated from PPL source file ../src/Init.inlines.hh line 28. */
+
+namespace Parma_Polyhedra_Library {
+
+inline void
+set_rounding_for_PPL() {
+#if PPL_CAN_CONTROL_FPU
+    fpu_set_rounding_direction(round_fpu_dir(ROUND_DIRECT));
 #endif
+}
 
+inline void
+restore_pre_PPL_rounding() {
+#if PPL_CAN_CONTROL_FPU
+  fpu_set_rounding_direction(Init::old_rounding_direction);
+#endif
+}
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Float.defs.hh line 275. */
+/* Automatically generated from PPL source file ../src/Init.defs.hh line 84. */
 
-/* Automatically generated from PPL source file ../src/checked.defs.hh line 33. */
 
-namespace Parma_Polyhedra_Library {
+/* Automatically generated from PPL source file ../src/initializer.hh line 27. */
 
-namespace Checked {
+#ifndef PPL_NO_AUTOMATIC_INITIALIZATION
+namespace {
 
+Parma_Polyhedra_Library::Init Parma_Polyhedra_Library_initializer;
 
-// It is a pity that function partial specialization is not permitted
-// by C++.  To (partly) overcome this limitation, we use class
-// encapsulated functions and partial specialization of containing
-// classes.
+} // namespace
+#else
+namespace {
 
-#define PPL_FUNCTION_CLASS(name) name ## _function_struct
+Parma_Polyhedra_Library::Init* Parma_Polyhedra_Library_initializer_p;
 
-#define PPL_DECLARE_FUN1_0_0(name, ret_type, qual, type)            \
-  template <typename Policy, typename type>                         \
-  struct PPL_FUNCTION_CLASS(name);                                  \
-  template <typename Policy, typename type>                         \
-  inline ret_type name(qual type& arg) {                            \
-    return PPL_FUNCTION_CLASS(name)<Policy, type>::function(arg);   \
+} // namespace
+#endif
+
+namespace Parma_Polyhedra_Library {
+
+//! Initializes the library.
+inline void
+initialize() {
+#ifdef PPL_NO_AUTOMATIC_INITIALIZATION
+  if (Parma_Polyhedra_Library_initializer_p == 0)
+    Parma_Polyhedra_Library_initializer_p = new Init();
+#endif
 }
 
-#define PPL_DECLARE_FUN1_0_1(name, ret_type, qual, type, after1)        \
-  template <typename Policy, typename type>                             \
-  struct PPL_FUNCTION_CLASS(name);                                      \
-  template <typename Policy, typename type>                             \
-  inline ret_type name(qual type& arg, after1 a1) {                     \
-    return PPL_FUNCTION_CLASS(name)<Policy, type>::function(arg, a1);   \
-  }
+//! Finalizes the library.
+inline void
+finalize() {
+#ifdef PPL_NO_AUTOMATIC_INITIALIZATION
+  PPL_ASSERT(Parma_Polyhedra_Library_initializer_p != 0);
+  delete Parma_Polyhedra_Library_initializer_p;
+  Parma_Polyhedra_Library_initializer_p = 0;
+#endif
+}
 
-#define PPL_DECLARE_FUN1_0_2(name, ret_type, qual, type, after1, after2) \
-  template <typename Policy, typename type>                             \
-  struct PPL_FUNCTION_CLASS(name);                                      \
-  template <typename Policy, typename type>                             \
-  inline ret_type name(qual type& arg, after1 a1, after2 a2) {          \
-    return PPL_FUNCTION_CLASS(name)<Policy, type>::function(arg, a1, a2); \
-  }
+} //namespace Parma_Polyhedra_Library
 
-#define PPL_DECLARE_FUN1_0_3(name, ret_type, qual, type,                \
-                             after1, after2, after3)                    \
-  template <typename Policy, typename type>                             \
-  struct PPL_FUNCTION_CLASS(name);                                      \
-  template <typename Policy, typename type>                             \
-  inline ret_type name(qual type& arg,                                  \
-                       after1 a1, after2 a2, after3 a3) {               \
-    return PPL_FUNCTION_CLASS(name)<Policy, type>::function(arg,        \
-                                                            a1, a2, a3); \
-  }
+/* Automatically generated from PPL source file ../src/Scalar_Products.defs.hh line 1. */
+/* Scalar_Products class definition.
+*/
 
-#define PPL_DECLARE_FUN1_1_1(name, ret_type, before1, qual, type, after1) \
-  template <typename Policy, typename type>                             \
-  struct PPL_FUNCTION_CLASS(name);                                      \
-  template <typename Policy, typename type>                             \
-  inline ret_type name(before1 b1, qual type& arg, after1 a1) {         \
-    return PPL_FUNCTION_CLASS(name)<Policy, type>::function(b1, arg, a1); \
-  }
 
-#define PPL_DECLARE_FUN1_1_2(name, ret_type, before1, qual, type,       \
-                             after1, after2)                            \
-  template <typename Policy, typename type>                             \
-  struct PPL_FUNCTION_CLASS(name);                                      \
-  template <typename Policy, typename type>                             \
-  inline ret_type name(before1 b1, qual type& arg,                      \
-                       after1 a1, after2 a2) {                          \
-    return PPL_FUNCTION_CLASS(name)<Policy, type>::function(b1, arg,    \
-                                                            a1, a2);    \
-  }
+/* Automatically generated from PPL source file ../src/Scalar_Products.types.hh line 1. */
 
-#define PPL_DECLARE_FUN1_2_2(name, ret_type, before1, before2, qual, type, \
-                             after1, after2)                            \
-  template <typename Policy, typename type>                             \
-  struct PPL_FUNCTION_CLASS(name);                                      \
-  template <typename Policy, typename type>                             \
-  inline ret_type name(before1 b1, before2 b2, qual type& arg,          \
-                       after1 a1, after2 a2) {                          \
-    return PPL_FUNCTION_CLASS(name)<Policy, type>::function(b1, b2, arg, \
-                                                            a1, a2);    \
-  }
 
-#define PPL_DECLARE_FUN2_0_0(name, ret_type, qual1, type1, qual2, type2) \
-  template <typename Policy1, typename Policy2,                         \
-            typename type1, typename type2>                             \
-  struct PPL_FUNCTION_CLASS(name);                                      \
-  template <typename Policy1, typename Policy2,                         \
-            typename type1, typename type2>                             \
-  inline ret_type name(qual1 type1& arg1, qual2 type2& arg2) {          \
-    return PPL_FUNCTION_CLASS(name)<Policy1, Policy2,                   \
-      type1, type2>::function(arg1, arg2);                              \
-  }
+namespace Parma_Polyhedra_Library {
 
-#define PPL_DECLARE_FUN2_0_1(name, ret_type, qual1, type1,              \
-                             qual2, type2, after1)                      \
-  template <typename Policy1, typename Policy2,                         \
-            typename type1, typename type2>                             \
-  struct PPL_FUNCTION_CLASS(name);                                      \
-  template <typename Policy1, typename Policy2,                         \
-            typename type1, typename type2>                             \
-  inline ret_type name(qual1 type1& arg1, qual2 type2& arg2,            \
-                       after1 a1) {                                     \
-    return PPL_FUNCTION_CLASS(name)<Policy1, Policy2,                   \
-      type1, type2>::function(arg1, arg2, a1);                          \
-  }
+class Scalar_Products;
+class Topology_Adjusted_Scalar_Product_Sign;
+class Topology_Adjusted_Scalar_Product_Assign;
 
-#define PPL_DECLARE_FUN2_0_2(name, ret_type, qual1, type1, qual2, type2, \
-                             after1, after2)                            \
-  template <typename Policy1, typename Policy2,                         \
-            typename type1, typename type2>                             \
-  struct PPL_FUNCTION_CLASS(name);                                      \
-  template <typename Policy1, typename Policy2,                         \
-            typename type1, typename type2>                             \
-  inline ret_type name(qual1 type1& arg1, qual2 type2& arg2,            \
-                       after1 a1, after2 a2) {                          \
-    return PPL_FUNCTION_CLASS(name)<Policy1, Policy2,                   \
-      type1, type2>::function(arg1, arg2, a1, a2);                      \
-  }
+} // namespace Parma_Polyhedra_Library
 
-#define PPL_DECLARE_FUN3_0_1(name, ret_type, qual1, type1,              \
-                             qual2, type2, qual3, type3, after1)        \
-  template <typename Policy1, typename Policy2, typename Policy3,       \
-            typename type1, typename type2, typename type3>             \
-  struct PPL_FUNCTION_CLASS(name);                                      \
-  template <typename Policy1, typename Policy2, typename Policy3,       \
-            typename type1, typename type2, typename type3>             \
-  inline ret_type name(qual1 type1& arg1, qual2 type2& arg2,            \
-                       qual3 type3& arg3, after1 a1) {                  \
-    return PPL_FUNCTION_CLASS(name)<Policy1, Policy2, Policy3,          \
-      type1, type2, type3>::function(arg1, arg2, arg3, a1);             \
-  }
+/* Automatically generated from PPL source file ../src/Linear_Row.types.hh line 1. */
 
-#define PPL_DECLARE_FUN5_0_1(name, ret_type,				\
-                             qual1, type1, qual2, type2, qual3, type3,	\
-                             qual4, type4, qual5, type5,                \
-                             after1)					\
-  template <typename Policy1, typename Policy2, typename Policy3,       \
-            typename Policy4,typename Policy5,				\
-            typename type1, typename type2, typename type3,		\
-            typename type4, typename type5>				\
-  struct PPL_FUNCTION_CLASS(name);                                      \
-  template <typename Policy1, typename Policy2, typename Policy3,       \
-            typename Policy4,typename Policy5,				\
-            typename type1, typename type2, typename type3,		\
-            typename type4, typename type5>				\
-  inline ret_type name(qual1 type1& arg1, qual2 type2& arg2,		\
-                       qual3 type3& arg3, qual4 type4& arg4,		\
-                       qual5 type5& arg5,	after1 a1) {            \
-    return PPL_FUNCTION_CLASS(name)<Policy1, Policy2, Policy3,          \
-      Policy4, Policy5, type1, type2, type3, type4, type5>              \
-      ::function(arg1, arg2, arg3, arg4, arg5, a1);			\
-  }
 
-#define PPL_SPECIALIZE_FUN1_0_0(name, func, ret_type, qual, type)       \
-  template <typename Policy>                                            \
-  struct PPL_FUNCTION_CLASS(name)<Policy, type> {                       \
-    static inline ret_type function(qual type& arg) {                   \
-      return func<Policy>(arg);                                         \
-    }                                                                   \
-  };
+namespace Parma_Polyhedra_Library {
 
-#define PPL_SPECIALIZE_FUN1_0_1(name, func, ret_type, qual, type, after1) \
-  template <typename Policy>                                            \
-  struct PPL_FUNCTION_CLASS(name)<Policy, type> {                       \
-    static inline ret_type function(qual type& arg, after1 a1) {        \
-      return func<Policy>(arg, a1);                                     \
-    }                                                                   \
-  };
+class Linear_Row;
 
-#define PPL_SPECIALIZE_FUN1_0_2(name, func, ret_type, qual, type,       \
-                                after1, after2)                         \
-  template <typename Policy>                                            \
-  struct PPL_FUNCTION_CLASS(name)<Policy, type> {                       \
-    static inline ret_type function(qual type& arg,                     \
-                                    after1 a1, after2 a2) {             \
-      return func<Policy>(arg, a1, a2);                                 \
-    }                                                                   \
-  };
+} // namespace Parma_Polyhedra_Library
 
-#define PPL_SPECIALIZE_FUN1_0_3(name, func, ret_type, qual, type,       \
-                                after1, after2, after3)                 \
-  template <typename Policy>                                            \
-  struct PPL_FUNCTION_CLASS(name)<Policy, type> {                       \
-    static inline ret_type function(qual type& arg,                     \
-                                    after1 a1, after2 a2, after3 a3) {  \
-      return func<Policy>(arg, a1, a2, a3);                             \
-    }                                                                   \
-  };
+/* Automatically generated from PPL source file ../src/Coefficient.types.hh line 1. */
 
-#define PPL_SPECIALIZE_FUN1_1_1(name, func, ret_type, before1,          \
-                                qual, type, after1)                     \
-  template <typename Policy>                                            \
-  struct PPL_FUNCTION_CLASS(name)<Policy, type> {                       \
-    static inline ret_type function(before1 b1, qual type& arg,         \
-                                    after1 a1) {                        \
-      return func<Policy>(b1, arg, a1);                                 \
-    }                                                                   \
-  };
 
-#define PPL_SPECIALIZE_FUN1_1_2(name, func, ret_type, before1,          \
-                                qual, type, after1, after2)             \
-  template <typename Policy>                                            \
-  struct PPL_FUNCTION_CLASS(name)<Policy, type> {                       \
-    static inline ret_type function(before1 b1, qual type& arg,         \
-                                    after1 a1, after2 a2) {             \
-      return func<Policy>(b1, arg, a1, a2);                             \
-    }                                                                   \
-  };
+/* Automatically generated from PPL source file ../src/Checked_Number.defs.hh line 1. */
+/* Checked_Number class declaration.
+*/
 
-#define PPL_SPECIALIZE_FUN1_2_2(name, func, ret_type, before1, before2, \
-                                qual, type, after1, after2)             \
-  template <typename Policy>                                            \
-  struct PPL_FUNCTION_CLASS(name)<Policy, type> {                       \
-    static inline ret_type function(before1 b1, before2 b2,             \
-                                    qual type& arg,                     \
-                                    after1 a1, after2 a2) {             \
-      return func<Policy>(b1, b2, arg, a1, a2);                         \
-    }                                                                   \
-  };
 
-#define PPL_SPECIALIZE_FUN2_0_0(name, func, ret_type, qual1, type1,     \
-                                qual2, type2)                           \
-  template <typename Policy1, typename Policy2>				\
-  struct PPL_FUNCTION_CLASS(name)<Policy1, Policy2, type1, type2> {     \
-    static inline ret_type function(qual1 type1& arg1,                  \
-                                    qual2 type2 &arg2) {                \
-      return func<Policy1, Policy2>(arg1, arg2);                        \
-    }                                                                   \
-  };
+/* Automatically generated from PPL source file ../src/Checked_Number.types.hh line 1. */
 
-#define PPL_SPECIALIZE_FUN2_0_1(name, func, ret_type, qual1, type1,     \
-                                qual2, type2, after1)                   \
-  template <typename Policy1, typename Policy2>                         \
-  struct PPL_FUNCTION_CLASS(name)<Policy1, Policy2, type1, type2> {     \
-    static inline ret_type function(qual1 type1& arg1,                  \
-                                    qual2 type2 &arg2, after1 a1) {     \
-      return func<Policy1, Policy2>(arg1, arg2, a1);                    \
-    }                                                                   \
-  };
 
-#define PPL_SPECIALIZE_FUN2_0_2(name, func, ret_type, qual1, type1,     \
-                                qual2, type2, after1, after2)           \
-  template <typename Policy1, typename Policy2>                         \
- struct PPL_FUNCTION_CLASS(name)<Policy1, Policy2, type1, type2> {      \
-    static inline ret_type function(qual1 type1& arg1,                  \
-                                    qual2 type2 &arg2,                  \
-                                    after1 a1, after2 a2) {             \
-      return func<Policy1, Policy2>(arg1, arg2, a1, a2);                \
-    }                                                                   \
-  };
+/* Automatically generated from PPL source file ../src/Coefficient_traits_template.hh line 1. */
 
-#define PPL_SPECIALIZE_FUN3_0_1(name, func, ret_type, qual1, type1,     \
-                                qual2, type2, qual3, type3, after1)     \
-  template <typename Policy1, typename Policy2, typename Policy3>       \
-  struct PPL_FUNCTION_CLASS(name) <Policy1, Policy2, Policy3,           \
-                                   type1, type2, type3> {               \
-    static inline Result function(qual1 type1& arg1, qual2 type2 &arg2, \
-                                  qual3 type3 &arg3, after1 a1) {       \
-      return func<Policy1, Policy2, Policy3>(arg1, arg2, arg3, a1);     \
-    }                                                                   \
-  };
 
-#define PPL_SPECIALIZE_FUN5_0_1(name, func, ret_type,                   \
-                                qual1, type1, qual2, type2,             \
-                                qual3, type3,                           \
-                                qual4, type4, qual5, type5, after1)     \
-  template <typename Policy1, typename Policy2, typename Policy3,	\
-	    typename Policy4, typename Policy5>				\
-  struct PPL_FUNCTION_CLASS(name) <Policy1, Policy2, Policy3, Policy4,  \
-                                   Policy5,                             \
-                                   type1, type2, type3, type4, type5> {	\
-    static inline Result                                                \
-      function(qual1 type1& arg1, qual2 type2 &arg2, qual3 type3 &arg3,	\
-               qual4 type4 &arg4, qual5 type5 &arg5, after1 a1) {       \
-      return func<Policy1, Policy2, Policy3, Policy4, Policy5>(arg1,    \
-                                                               arg2,    \
-                                                               arg3,    \
-                                                               arg4,    \
-                                                               arg5,    \
-                                                               a1);     \
-    }									\
+namespace Parma_Polyhedra_Library {
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Coefficient traits.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Coefficient>
+struct Coefficient_traits_template {
 };
 
-// The `nonconst' macro helps readability of the sequel.
-#ifdef nonconst
-#define PPL_SAVED_nonconst nonconst
-#undef nonconst
-#endif
-#define nonconst
-
-#define PPL_SPECIALIZE_COPY(func, Type)                                 \
-  PPL_SPECIALIZE_FUN2_0_0(copy, func, void, nonconst, Type, const, Type)
-#define PPL_SPECIALIZE_SGN(func, From)                          \
-  PPL_SPECIALIZE_FUN1_0_0(sgn, func, Result, const, From)
-#define PPL_SPECIALIZE_CMP(func, Type1, Type2)                          \
-  PPL_SPECIALIZE_FUN2_0_0(cmp, func, Result, const, Type1, const, Type2)
-#define PPL_SPECIALIZE_CLASSIFY(func, Type)                             \
-  PPL_SPECIALIZE_FUN1_0_3(classify, func, Result, const, Type, bool, bool, bool)
-#define PPL_SPECIALIZE_IS_NAN(func, Type)                       \
-  PPL_SPECIALIZE_FUN1_0_0(is_nan, func, bool, const, Type)
-#define PPL_SPECIALIZE_IS_MINF(func, Type)                      \
-  PPL_SPECIALIZE_FUN1_0_0(is_minf, func, bool, const, Type)
-#define PPL_SPECIALIZE_IS_PINF(func, Type)                      \
-  PPL_SPECIALIZE_FUN1_0_0(is_pinf, func, bool, const, Type)
-#define PPL_SPECIALIZE_IS_INT(func, Type)                       \
-  PPL_SPECIALIZE_FUN1_0_0(is_int, func, bool, const, Type)
-#define PPL_SPECIALIZE_ASSIGN_SPECIAL(func, Type)                       \
-  PPL_SPECIALIZE_FUN1_0_2(assign_special, func, Result,                 \
-                          nonconst, Type, Result, Rounding_Dir)
-#define PPL_SPECIALIZE_CONSTRUCT_SPECIAL(func, Type)                    \
-  PPL_SPECIALIZE_FUN1_0_2(construct_special, func, Result, nonconst,    \
-                          Type, Result, Rounding_Dir)
-#define PPL_SPECIALIZE_CONSTRUCT(func, To, From)                        \
-  PPL_SPECIALIZE_FUN2_0_1(construct, func, Result, nonconst, To, \
-                          const, From, Rounding_Dir)
-#define PPL_SPECIALIZE_ASSIGN(func, To, From)                           \
-  PPL_SPECIALIZE_FUN2_0_1(assign, func, Result, nonconst, To,           \
-                          const, From, Rounding_Dir)
-#define PPL_SPECIALIZE_FLOOR(func, To, From)                            \
-  PPL_SPECIALIZE_FUN2_0_1(floor, func, Result, nonconst, To,            \
-                          const, From, Rounding_Dir)
-#define PPL_SPECIALIZE_CEIL(func, To, From)                             \
-  PPL_SPECIALIZE_FUN2_0_1(ceil, func, Result, nonconst, To, \
-                          const, From, Rounding_Dir)
-#define PPL_SPECIALIZE_TRUNC(func, To, From)                            \
-  PPL_SPECIALIZE_FUN2_0_1(trunc, func, Result, nonconst, To,            \
-                          const, From, Rounding_Dir)
-#define PPL_SPECIALIZE_NEG(func, To, From)                              \
-  PPL_SPECIALIZE_FUN2_0_1(neg, func, Result, nonconst, To,              \
-                          const, From, Rounding_Dir)
-#define PPL_SPECIALIZE_ABS(func, To, From)                              \
-  PPL_SPECIALIZE_FUN2_0_1(abs, func, Result, nonconst, To,              \
-                          const, From, Rounding_Dir)
-#define PPL_SPECIALIZE_SQRT(func, To, From)                             \
-  PPL_SPECIALIZE_FUN2_0_1(sqrt, func, Result, nonconst, To,             \
-                          const, From, Rounding_Dir)
-#define PPL_SPECIALIZE_ADD(func, To, From1, From2)                      \
-  PPL_SPECIALIZE_FUN3_0_1(add, func, Result, nonconst, To,              \
-                          const, From1, const, From2, Rounding_Dir)
-#define PPL_SPECIALIZE_SUB(func, To, From1, From2)                      \
-  PPL_SPECIALIZE_FUN3_0_1(sub, func, Result, nonconst, To,              \
-                          const, From1, const, From2, Rounding_Dir)
-#define PPL_SPECIALIZE_MUL(func, To, From1, From2)                      \
-  PPL_SPECIALIZE_FUN3_0_1(mul, func, Result, nonconst, To,              \
-                          const, From1, const, From2, Rounding_Dir)
-#define PPL_SPECIALIZE_DIV(func, To, From1, From2)                      \
-  PPL_SPECIALIZE_FUN3_0_1(div, func, Result, nonconst, To,              \
-                          const, From1, const, From2, Rounding_Dir)
-#define PPL_SPECIALIZE_REM(func, To, From1, From2)                      \
-  PPL_SPECIALIZE_FUN3_0_1(rem, func, Result, nonconst, To,              \
-                          const, From1, const, From2, Rounding_Dir)
-#define PPL_SPECIALIZE_IDIV(func, To, From1, From2)                     \
-  PPL_SPECIALIZE_FUN3_0_1(idiv, func, Result, nonconst, To,             \
-                          const, From1, const, From2, Rounding_Dir)
-#define PPL_SPECIALIZE_MUL2EXP(func, To, From)                          \
-  PPL_SPECIALIZE_FUN2_0_2(mul2exp, func, Result, nonconst, To,          \
-                          const, From, int, Rounding_Dir)
-#define PPL_SPECIALIZE_DIV2EXP(func, To, From)                          \
-  PPL_SPECIALIZE_FUN2_0_2(div2exp, func, Result, nonconst, To,          \
-                          const, From, int, Rounding_Dir)
-#define PPL_SPECIALIZE_ADD_MUL(func, To, From1, From2)                  \
-  PPL_SPECIALIZE_FUN3_0_1(add_mul, func, Result, nonconst, To,          \
-                          const, From1, const, From2, Rounding_Dir)
-#define PPL_SPECIALIZE_SUB_MUL(func, To, From1, From2)                  \
-  PPL_SPECIALIZE_FUN3_0_1(sub_mul, func, Result, nonconst, To,          \
-                          const, From1, const, From2, Rounding_Dir)
-#define PPL_SPECIALIZE_GCD(func, To, From1, From2)                      \
-  PPL_SPECIALIZE_FUN3_0_1(gcd, func, Result, nonconst, To,              \
-                          const, From1, const, From2, Rounding_Dir)
-#define PPL_SPECIALIZE_GCDEXT(func, To1, From1, From2, To2, To3)        \
-  PPL_SPECIALIZE_FUN5_0_1(gcdext, func, Result, nonconst, To1,		\
-                          nonconst, To2, nonconst, To3,                 \
-                          const, From1, const, From2, Rounding_Dir)
-#define PPL_SPECIALIZE_LCM(func, To, From1, From2)                      \
-  PPL_SPECIALIZE_FUN3_0_1(lcm, func, Result, nonconst, To,              \
-                          const, From1, const, From2, Rounding_Dir)
-#define PPL_SPECIALIZE_INPUT(func, Type)                                \
-  PPL_SPECIALIZE_FUN1_0_2(input, func, Result, nonconst, Type,          \
-                          std::istream&, Rounding_Dir)
-#define PPL_SPECIALIZE_OUTPUT(func, Type)                               \
-  PPL_SPECIALIZE_FUN1_1_2(output, func, Result, std::ostream&,          \
-                          const, Type,                                  \
-                          const Numeric_Format&, Rounding_Dir)
+} // namespace Parma_Polyhedra_Library
 
+/* Automatically generated from PPL source file ../src/Checked_Number.types.hh line 16. */
 
-PPL_DECLARE_FUN2_0_0(copy,
-                     void, nonconst, Type1, const, Type2)
-PPL_DECLARE_FUN1_0_0(sgn,
-                     Result, const, From)
-PPL_DECLARE_FUN2_0_0(cmp,
-                     Result, const, Type1, const, Type2)
-PPL_DECLARE_FUN1_0_3(classify,
-                     Result, const, Type, bool, bool, bool)
-PPL_DECLARE_FUN1_0_0(is_nan,
-                     bool, const, Type)
-PPL_DECLARE_FUN1_0_0(is_minf,
-                     bool, const, Type)
-PPL_DECLARE_FUN1_0_0(is_pinf,
-                     bool, const, Type)
-PPL_DECLARE_FUN1_0_0(is_int,
-                     bool, const, Type)
-PPL_DECLARE_FUN1_0_2(assign_special,
-                     Result, nonconst, Type, Result, Rounding_Dir)
-PPL_DECLARE_FUN1_0_2(construct_special,
-                     Result, nonconst, Type, Result, Rounding_Dir)
-PPL_DECLARE_FUN2_0_1(construct,
-                     Result, nonconst, To, const, From, Rounding_Dir)
-PPL_DECLARE_FUN2_0_1(assign,
-                     Result, nonconst, To, const, From, Rounding_Dir)
-PPL_DECLARE_FUN2_0_1(floor,
-                     Result, nonconst, To, const, From, Rounding_Dir)
-PPL_DECLARE_FUN2_0_1(ceil,
-                     Result, nonconst, To, const, From, Rounding_Dir)
-PPL_DECLARE_FUN2_0_1(trunc,
-                     Result, nonconst, To, const, From, Rounding_Dir)
-PPL_DECLARE_FUN2_0_1(neg,
-                     Result, nonconst, To, const, From, Rounding_Dir)
-PPL_DECLARE_FUN2_0_1(abs,
-                     Result, nonconst, To, const, From, Rounding_Dir)
-PPL_DECLARE_FUN2_0_1(sqrt,
-                     Result, nonconst, To, const, From, Rounding_Dir)
-PPL_DECLARE_FUN3_0_1(add,
-                     Result, nonconst, To,
-                     const, From1, const, From2, Rounding_Dir)
-PPL_DECLARE_FUN3_0_1(sub,
-                     Result, nonconst, To,
-                     const, From1, const, From2, Rounding_Dir)
-PPL_DECLARE_FUN3_0_1(mul,
-                     Result, nonconst, To,
-                     const, From1, const, From2, Rounding_Dir)
-PPL_DECLARE_FUN3_0_1(div,
-                     Result, nonconst, To,
-                     const, From1, const, From2, Rounding_Dir)
-PPL_DECLARE_FUN3_0_1(rem,
-                     Result, nonconst, To,
-                     const, From1, const, From2, Rounding_Dir)
-PPL_DECLARE_FUN3_0_1(idiv,
-                     Result, nonconst, To,
-                     const, From1, const, From2, Rounding_Dir)
-PPL_DECLARE_FUN2_0_2(mul2exp,
-                     Result, nonconst, To, const, From, int, Rounding_Dir)
-PPL_DECLARE_FUN2_0_2(div2exp,
-                     Result, nonconst, To, const, From, int, Rounding_Dir)
-PPL_DECLARE_FUN3_0_1(add_mul,
-                     Result, nonconst, To,
-                     const, From1, const, From2, Rounding_Dir)
-PPL_DECLARE_FUN3_0_1(sub_mul,
-                     Result, nonconst, To,
-                     const, From1, const, From2, Rounding_Dir)
-PPL_DECLARE_FUN3_0_1(gcd,
-                     Result, nonconst, To,
-                     const, From1, const, From2, Rounding_Dir)
-PPL_DECLARE_FUN5_0_1(gcdext,
-                     Result, nonconst, To1, nonconst, To2, nonconst, To3,
-                     const, From1, const, From2, Rounding_Dir)
-PPL_DECLARE_FUN3_0_1(lcm,
-                     Result, nonconst, To,
-                     const, From1, const, From2, Rounding_Dir)
-PPL_DECLARE_FUN1_0_2(input,
-                     Result, nonconst, Type, std::istream&, Rounding_Dir)
-PPL_DECLARE_FUN1_1_2(output,
-                     Result, std::ostream&, const, Type,
-                     const Numeric_Format&, Rounding_Dir)
+namespace Parma_Polyhedra_Library {
 
-#undef PPL_DECLARE_FUN1_0_0
-#undef PPL_DECLARE_FUN1_0_1
-#undef PPL_DECLARE_FUN1_0_2
-#undef PPL_DECLARE_FUN1_0_3
-#undef PPL_DECLARE_FUN1_1_1
-#undef PPL_DECLARE_FUN1_1_2
-#undef PPL_DECLARE_FUN1_2_2
-#undef PPL_DECLARE_FUN2_0_0
-#undef PPL_DECLARE_FUN2_0_1
-#undef PPL_DECLARE_FUN2_0_2
-#undef PPL_DECLARE_FUN3_0_1
-#undef PPL_DECLARE_FUN5_0_1
+struct Extended_Number_Policy;
 
-template <typename Policy, typename To>
-Result round(To& to, Result r, Rounding_Dir dir);
+template <typename T, typename Policy>
+class Checked_Number;
 
-Result input_mpq(mpq_class& to, std::istream& is);
+} // namespace Parma_Polyhedra_Library
 
-} // namespace Checked
+/* Automatically generated from PPL source file ../src/checked.defs.hh line 1. */
+/* Abstract checked arithmetic function container
+*/
 
-struct Minus_Infinity {
-  static const Result code = VC_MINUS_INFINITY;
-};
-struct Plus_Infinity {
-  static const Result code = VC_PLUS_INFINITY;
-};
-struct Not_A_Number {
-  static const Result code = VC_NAN;
-};
 
-template <typename T>
-struct Is_Special : public False { };
+#include <iostream>
+#include <gmpxx.h>
+/* Automatically generated from PPL source file ../src/mp_std_bits.defs.hh line 1. */
+/* Declarations of specializations of std:: objects for
+   multi-precision types.  This will become obsolete when GMP and MPFR
+   will provide the specializations by themselves.
+*/
 
-template <>
-struct Is_Special<Minus_Infinity> : public True {};
 
-template <>
-struct Is_Special<Plus_Infinity> : public True {};
+#include <gmpxx.h>
+#include <limits>
 
-template <>
-struct Is_Special<Not_A_Number> : public True {};
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Swaps \p x with \p y.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void swap(mpz_class& x, mpz_class& y);
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Swaps \p x with \p y.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void swap(mpq_class& x, mpq_class& y);
 
-#define MINUS_INFINITY Minus_Infinity()
-#define PLUS_INFINITY Plus_Infinity()
-#define NOT_A_NUMBER Not_A_Number()
+namespace std {
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
+//! Specialization of std::numeric_limits.
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-struct Checked_Number_Transparent_Policy {
-  //! Checks for overflowed result.
-  const_bool_nodef(check_overflow, false);
+template <>
+class numeric_limits<mpz_class> {
+private:
+  typedef mpz_class Type;
 
-  //! Checks for attempts to add infinities with different sign.
-  const_bool_nodef(check_inf_add_inf, false);
+public:
+  static const bool is_specialized = true;
+  static const int digits = 0;
+  static const int digits10 = 0;
+  static const bool is_signed = true;
+  static const bool is_integer = true;
+  static const bool is_exact = true;
+  static const int radix = 2;
+  static const int min_exponent = 0;
+  static const int min_exponent10 = 0;
+  static const int max_exponent = 0;
+  static const int max_exponent10 = 0;
+  static const bool has_infinity = false;
+  static const bool has_quiet_NaN =  false;
+  static const bool has_signaling_NaN = false;
+  static const float_denorm_style has_denorm = denorm_absent;
+  static const bool has_denorm_loss = false;
+  static const bool is_iec559 = false;
+  static const bool is_bounded = false;
+  static const bool is_modulo = false;
+  static const bool traps = false;
+  static const bool tininess_before = false;
+  static const float_round_style round_style = round_toward_zero;
 
-  //! Checks for attempts to subtract infinities with same sign.
-  const_bool_nodef(check_inf_sub_inf, false);
+  static Type min() {
+    return static_cast<Type>(0);
+  }
 
-  //! Checks for attempts to multiply infinities by zero.
-  const_bool_nodef(check_inf_mul_zero, false);
+  static Type max() {
+    return static_cast<Type>(0);
+  }
 
-  //! Checks for attempts to divide by zero.
-  const_bool_nodef(check_div_zero, false);
+  static Type epsilon() {
+    return static_cast<Type>(0);
+  }
 
-  //! Checks for attempts to divide infinities.
-  const_bool_nodef(check_inf_div_inf, false);
+  static Type round_error() {
+    return static_cast<Type>(0);
+  }
 
-  //! Checks for attempts to compute remainder of infinities.
-  const_bool_nodef(check_inf_mod, false);
+  static Type infinity() {
+    return static_cast<Type>(0);
+  }
 
-  //! Checks for attempts to take the square root of a negative number.
-  const_bool_nodef(check_sqrt_neg, false);
+  static Type quiet_NaN() {
+    return static_cast<Type>(0);
+  }
 
-  //! Handles not-a-number special value.
-  const_bool_nodef(has_nan, std::numeric_limits<T>::has_quiet_NaN);
+  static Type denorm_min() {
+    return static_cast<Type>(1);
+  }
+};
 
-  //! Handles infinity special values.
-  const_bool_nodef(has_infinity, std::numeric_limits<T>::has_infinity);
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Specialization of std::numeric_limits.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <>
+class numeric_limits<mpq_class> {
+private:
+  typedef mpq_class Type;
 
-  //! Representation is identical to primitive.
-  const_bool_nodef(convertible, true);
+public:
+  static const bool is_specialized = true;
+  static const int digits = 0;
+  static const int digits10 = 0;
+  static const bool is_signed = true;
+  static const bool is_integer = false;
+  static const bool is_exact = true;
+  static const int radix = 2;
+  static const int min_exponent = 0;
+  static const int min_exponent10 = 0;
+  static const int max_exponent = 0;
+  static const int max_exponent10 = 0;
+  static const bool has_infinity = false;
+  static const bool has_quiet_NaN =  false;
+  static const bool has_signaling_NaN = false;
+  static const float_denorm_style has_denorm = denorm_absent;
+  static const bool has_denorm_loss = false;
+  static const bool is_iec559 = false;
+  static const bool is_bounded = false;
+  static const bool is_modulo = false;
+  static const bool traps = false;
+  static const bool tininess_before = false;
+  static const float_round_style round_style = round_toward_zero;
 
-  //! When true, requests to check for FPU inexact result are honored.
-  const_bool_nodef(fpu_check_inexact, false);
+  static Type min() {
+    return static_cast<Type>(0);
+  }
 
-  //! Return VC_NAN on NaN result also for native extended.
-  const_bool_nodef(check_nan_result, false);
-  static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_NATIVE;
-  static const Rounding_Dir ROUND_DEFAULT_OPERATOR = ROUND_NATIVE;
-  static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_NATIVE;
-  static const Rounding_Dir ROUND_DEFAULT_INPUT = ROUND_NATIVE;
-  static const Rounding_Dir ROUND_DEFAULT_OUTPUT = ROUND_NATIVE;
-  static void handle_result(Result r);
-};
+  static Type max() {
+    return static_cast<Type>(0);
+  }
 
-} // namespace Parma_Polyhedra_Library
+  static Type epsilon() {
+    return static_cast<Type>(0);
+  }
 
-#define CHECK_P(cond, check) ((cond) ? (check) : (assert(!(check)), false))
+  static Type round_error() {
+    return static_cast<Type>(0);
+  }
 
-/* Automatically generated from PPL source file ../src/checked.inlines.hh line 1. */
-/* Abstract checked arithmetic functions: fall-backs.
-*/
+  static Type infinity() {
+    return static_cast<Type>(0);
+  }
 
+  static Type quiet_NaN() {
+    return static_cast<Type>(0);
+  }
 
-/* Automatically generated from PPL source file ../src/globals.types.hh line 1. */
+  static Type denorm_min() {
+    return static_cast<Type>(0);
+  }
+};
 
+} // namespace std
 
-#include <cstddef>
+/* Automatically generated from PPL source file ../src/mp_std_bits.inlines.hh line 1. */
+/* Definitions of specializations of std:: functions and methods for
+   multi-precision types.  This will become obsolete when GMP and MPFR
+   will provide the specializations by themselves.
+*/
 
-namespace Parma_Polyhedra_Library {
 
-//! An unsigned integral type for representing space dimensions.
-/*! \ingroup PPL_CXX_interface */
-typedef size_t dimension_type;
+inline void
+swap(mpz_class& x, mpz_class& y) {
+  mpz_swap(x.get_mpz_t(), y.get_mpz_t());
+}
 
-//! An unsigned integral type for representing memory size in bytes.
-/*! \ingroup PPL_CXX_interface */
-typedef size_t memory_size_type;
+inline void
+swap(mpq_class& x, mpq_class& y) {
+  mpq_swap(x.get_mpq_t(), y.get_mpq_t());
+}
 
-//! Kinds of degenerate abstract elements.
-/*! \ingroup PPL_CXX_interface */
-enum Degenerate_Element {
-  //! The universe element, i.e., the whole vector space.
-  UNIVERSE,
-  //! The empty element, i.e., the empty set.
-  EMPTY
-};
+/* Automatically generated from PPL source file ../src/mp_std_bits.defs.hh line 168. */
 
-//! Relation symbols.
-/*! \ingroup PPL_CXX_interface */
-enum Relation_Symbol {
-  //! Less than.
-  LESS_THAN,
-  //! Less than or equal to.
-  LESS_OR_EQUAL,
-  //! Equal to.
-  EQUAL,
-  //! Greater than or equal to.
-  GREATER_OR_EQUAL,
-  //! Greater than.
-  GREATER_THAN,
-  //! Not equal to.
-  NOT_EQUAL
-};
+/* Automatically generated from PPL source file ../src/Numeric_Format.defs.hh line 1. */
+/* Numeric format.
+*/
 
-//! Complexity pseudo-classes.
-/*! \ingroup PPL_CXX_interface */
-enum Complexity_Class {
-  //! Worst-case polynomial complexity.
-  POLYNOMIAL_COMPLEXITY,
-  //! Worst-case exponential complexity but typically polynomial behavior.
-  SIMPLEX_COMPLEXITY,
-  //! Any complexity.
-  ANY_COMPLEXITY
-};
 
-//! Possible optimization modes.
-/*! \ingroup PPL_CXX_interface */
-enum Optimization_Mode {
-  //! Minimization is requested.
-  MINIMIZATION,
-  //! Maximization is requested.
-  MAXIMIZATION
+/* Automatically generated from PPL source file ../src/Numeric_Format.defs.hh line 28. */
+
+namespace Parma_Polyhedra_Library {
+
+class Numeric_Format {
 };
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/C_Integer.hh line 1. */
-/* C integers info.
-*/
-
 
-/* Automatically generated from PPL source file ../src/C_Integer.hh line 27. */
-#include <climits>
+/* Automatically generated from PPL source file ../src/Float.defs.hh line 1. */
+/* IEC 559 floating point format related functions.
+*/
 
-// C99 defines LLONG_MIN, LLONG_MAX and ULLONG_MAX, but this part of
-// C99 is not yet included into the C++ standard.
-// GCC defines LONG_LONG_MIN, LONG_LONG_MAX and ULONG_LONG_MAX.
-// Some compilers (such as Comeau C++ up to and including version 4.3.3)
-// define nothing.  In this last case we make a reasonable guess.
-#ifndef LLONG_MIN
-#if defined(LONG_LONG_MIN)
-#define LLONG_MIN LONG_LONG_MIN
-#elif PPL_SIZEOF_LONG_LONG == 8
-#define LLONG_MIN 0x8000000000000000LL
-#endif
-#endif
 
-#ifndef LLONG_MAX
-#if defined(LONG_LONG_MAX)
-#define LLONG_MAX LONG_LONG_MAX
-#elif PPL_SIZEOF_LONG_LONG == 8
-#define LLONG_MAX 0x7fffffffffffffffLL
-#endif
-#endif
+/* Automatically generated from PPL source file ../src/Float.defs.hh line 28. */
+#include <gmp.h>
+/* Automatically generated from PPL source file ../src/Float.defs.hh line 30. */
+#include <cmath>
 
-#ifndef ULLONG_MAX
-#if defined(ULONG_LONG_MAX)
-#define ULLONG_MAX ULONG_LONG_MAX
-#elif PPL_SIZEOF_LONG_LONG == 8
-#define ULLONG_MAX 0xffffffffffffffffULL
-#endif
+#ifdef NAN
+#define PPL_NAN NAN
+#else
+#define PPL_NAN (HUGE_VAL - HUGE_VAL)
 #endif
 
 namespace Parma_Polyhedra_Library {
 
-template <typename T>
-struct C_Integer : public False { };
-
-template <>
-struct C_Integer<signed char> : public True {
-  enum { is_signed = true };
-  typedef void smaller_type;
-  typedef void smaller_signed_type;
-  typedef void smaller_unsigned_type;
-  typedef unsigned char other_type;
-  static const signed char min = SCHAR_MIN;
-  static const signed char max = SCHAR_MAX;
-};
-
-template <>
-struct C_Integer<signed short> : public True {
-  enum { is_signed = true };
-  typedef signed char smaller_type;
-  typedef signed char smaller_signed_type;
-  typedef unsigned char smaller_unsigned_type;
-  typedef unsigned short other_type;
-  static const signed short min = SHRT_MIN;
-  static const signed short max = SHRT_MAX;
-};
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 
-template <>
-struct C_Integer<signed int> : public True {
-  enum { is_signed = true };
-  typedef signed short smaller_type;
-  typedef signed short smaller_signed_type;
-  typedef unsigned short smaller_unsigned_type;
-  typedef unsigned int other_type;
-  static const signed int min = INT_MIN;
-  static const signed int max = INT_MAX;
-};
+struct float_ieee754_half {
+  uint16_t word;
+  static const uint16_t SGN_MASK = 0x8000;
+  static const uint16_t EXP_MASK = 0xfc00;
+  static const uint16_t POS_INF = 0xfc00;
+  static const uint16_t NEG_INF = 0x7c00;
+  static const uint16_t POS_ZERO = 0x0000;
+  static const uint16_t NEG_ZERO = 0x8000;
+  static const unsigned int BASE = 2;
+  static const unsigned int EXPONENT_BITS = 5;
+  static const unsigned int MANTISSA_BITS = 10;
+  static const int EXPONENT_MAX = (1 << (EXPONENT_BITS - 1)) - 1;
+  static const int EXPONENT_BIAS = EXPONENT_MAX;
+  static const int EXPONENT_MIN = -EXPONENT_MAX + 1;
+  static const int EXPONENT_MIN_DENORM = EXPONENT_MIN
+					- static_cast<int>(MANTISSA_BITS);
+  int is_inf() const;
+  int is_nan() const;
+  int is_zero() const;
+  int sign_bit() const;
+  void negate();
+  void dec();
+  void inc();
+  void set_max(bool negative);
+  void build(bool negative, mpz_t mantissa, int exponent);
 
-template <>
-struct C_Integer<signed long> : public True {
-  enum { is_signed = true };
-  typedef signed int smaller_type;
-  typedef signed int smaller_signed_type;
-  typedef unsigned int smaller_unsigned_type;
-  typedef unsigned long other_type;
-  static const signed long min = LONG_MIN;
-  static const signed long max = LONG_MAX;
 };
 
-template <>
-struct C_Integer<signed long long> : public True {
-  enum { is_signed = true };
-  typedef signed long smaller_type;
-  typedef signed long smaller_signed_type;
-  typedef unsigned long smaller_unsigned_type;
-  typedef unsigned long long other_type;
-  static const signed long long min = LLONG_MIN;
-  static const signed long long max = LLONG_MAX;
-};
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 
-template <>
-struct C_Integer<unsigned char> : public True {
-  enum { is_signed = false };
-  typedef void smaller_type;
-  typedef void smaller_signed_type;
-  typedef void smaller_unsigned_type;
-  typedef signed char other_type;
-  static const unsigned char min = 0;
-  static const unsigned char max = UCHAR_MAX;
-};
-
-template <>
-struct C_Integer<unsigned short> : public True {
-  enum { is_signed = false };
-  typedef unsigned char smaller_type;
-  typedef signed char smaller_signed_type;
-  typedef unsigned char smaller_unsigned_type;
-  typedef signed short other_type;
-  static const unsigned short min = 0;
-  static const unsigned short max = USHRT_MAX;
+struct float_ieee754_single {
+  uint32_t word;
+  static const uint32_t SGN_MASK = 0x80000000;
+  static const uint32_t EXP_MASK = 0x7f800000;
+  static const uint32_t POS_INF = 0x7f800000;
+  static const uint32_t NEG_INF = 0xff800000;
+  static const uint32_t POS_ZERO = 0x00000000;
+  static const uint32_t NEG_ZERO = 0x80000000;
+  static const unsigned int BASE = 2;
+  static const unsigned int EXPONENT_BITS = 8;
+  static const unsigned int MANTISSA_BITS = 23;
+  static const int EXPONENT_MAX = (1 << (EXPONENT_BITS - 1)) - 1;
+  static const int EXPONENT_BIAS = EXPONENT_MAX;
+  static const int EXPONENT_MIN = -EXPONENT_MAX + 1;
+  static const int EXPONENT_MIN_DENORM = EXPONENT_MIN
+					- static_cast<int>(MANTISSA_BITS);
+  int is_inf() const;
+  int is_nan() const;
+  int is_zero() const;
+  int sign_bit() const;
+  void negate();
+  void dec();
+  void inc();
+  void set_max(bool negative);
+  void build(bool negative, mpz_t mantissa, int exponent);
 };
 
-template <>
-struct C_Integer<unsigned int> : public True {
-  enum { is_signed = false };
-  typedef unsigned short smaller_type;
-  typedef signed short smaller_signed_type;
-  typedef unsigned short smaller_unsigned_type;
-  typedef signed int other_type;
-  static const unsigned int min = 0;
-  static const unsigned int max = UINT_MAX;
-};
+#ifdef WORDS_BIGENDIAN
+#ifndef PPL_WORDS_BIGENDIAN
+#define PPL_WORDS_BIGENDIAN
+#endif
+#endif
 
-template <>
-struct C_Integer<unsigned long> : public True {
-  enum { is_signed = false };
-  typedef unsigned int smaller_type;
-  typedef signed int smaller_signed_type;
-  typedef unsigned int smaller_unsigned_type;
-  typedef signed long other_type;
-  static const unsigned long min = 0;
-  static const unsigned long max = ULONG_MAX;
-};
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 
-template <>
-struct C_Integer<unsigned long long> : public True {
-  enum { is_signed = false };
-  typedef unsigned long smaller_type;
-  typedef signed long smaller_signed_type;
-  typedef unsigned long smaller_unsigned_type;
-  typedef signed long long other_type;
-  static const unsigned long long min = 0;
-  static const unsigned long long max = ULLONG_MAX;
+struct float_ieee754_double {
+#ifdef PPL_WORDS_BIGENDIAN
+  uint32_t msp;
+  uint32_t lsp;
+#else
+  uint32_t lsp;
+  uint32_t msp;
+#endif
+  static const uint32_t MSP_SGN_MASK = 0x80000000;
+  static const uint32_t MSP_POS_INF = 0x7ff00000;
+  static const uint32_t MSP_NEG_INF = 0xfff00000;
+  static const uint32_t MSP_POS_ZERO = 0x00000000;
+  static const uint32_t MSP_NEG_ZERO = 0x80000000;
+  static const uint32_t LSP_INF = 0;
+  static const uint32_t LSP_ZERO = 0;
+  static const uint32_t LSP_MAX = 0xffffffff;
+  static const unsigned int BASE = 2;
+  static const unsigned int EXPONENT_BITS = 11;
+  static const unsigned int MANTISSA_BITS = 52;
+  static const int EXPONENT_MAX = (1 << (EXPONENT_BITS - 1)) - 1;
+  static const int EXPONENT_BIAS = EXPONENT_MAX;
+  static const int EXPONENT_MIN = -EXPONENT_MAX + 1;
+  static const int EXPONENT_MIN_DENORM = EXPONENT_MIN
+					- static_cast<int>(MANTISSA_BITS);
+  int is_inf() const;
+  int is_nan() const;
+  int is_zero() const;
+  int sign_bit() const;
+  void negate();
+  void dec();
+  void inc();
+  void set_max(bool negative);
+  void build(bool negative, mpz_t mantissa, int exponent);
 };
 
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/checked.inlines.hh line 29. */
-#include <cassert>
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 
-namespace Parma_Polyhedra_Library {
+struct float_ibm_single {
+  uint32_t word;
+  static const uint32_t SGN_MASK = 0x80000000;
+  static const uint32_t EXP_MASK = 0x7f000000;
+  static const uint32_t POS_INF = 0x7f000000;
+  static const uint32_t NEG_INF = 0xff000000;
+  static const uint32_t POS_ZERO = 0x00000000;
+  static const uint32_t NEG_ZERO = 0x80000000;
+  static const unsigned int BASE = 16;
+  static const unsigned int EXPONENT_BITS = 7;
+  static const unsigned int MANTISSA_BITS = 24;
+  static const int EXPONENT_BIAS = 64;
+  static const int EXPONENT_MAX = (1 << (EXPONENT_BITS - 1)) - 1;
+  static const int EXPONENT_MIN = -EXPONENT_MAX + 1;
+  static const int EXPONENT_MIN_DENORM = EXPONENT_MIN
+					- static_cast<int>(MANTISSA_BITS);
+  int is_inf() const;
+  int is_nan() const;
+  int is_zero() const;
+  int sign_bit() const;
+  void negate();
+  void dec();
+  void inc();
+  void set_max(bool negative);
+  void build(bool negative, mpz_t mantissa, int exponent);
+};
 
-namespace Checked {
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 
-template <typename T1, typename T2>
-struct Safe_Conversion : public False {
+struct float_ibm_double {
+  static const unsigned int BASE = 16;
+  static const unsigned int EXPONENT_BITS = 7;
+  static const unsigned int MANTISSA_BITS = 56;
+  static const int EXPONENT_BIAS = 64;
 };
-template <typename T>
-struct Safe_Conversion<T, T> : public True {
-};
-
-#define PPL_SAFE_CONVERSION(To, From)					\
-  template <> struct Safe_Conversion<To, From> : public True { }
 
-PPL_SAFE_CONVERSION(signed short, signed char);
-#if PPL_SIZEOF_CHAR < PPL_SIZEOF_SHORT
-PPL_SAFE_CONVERSION(signed short, unsigned char);
-#endif
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 
-PPL_SAFE_CONVERSION(signed int, signed char);
-PPL_SAFE_CONVERSION(signed int, signed short);
-#if PPL_SIZEOF_CHAR < PPL_SIZEOF_INT
-PPL_SAFE_CONVERSION(signed int, unsigned char);
-#endif
-#if PPL_SIZEOF_SHORT < PPL_SIZEOF_INT
-PPL_SAFE_CONVERSION(signed int, unsigned short);
+struct float_intel_double_extended {
+#ifdef PPL_WORDS_BIGENDIAN
+  uint32_t msp;
+  uint64_t lsp;
+#else
+  uint64_t lsp;
+  uint32_t msp;
 #endif
+  static const uint32_t MSP_SGN_MASK = 0x00008000;
+  static const uint32_t MSP_POS_INF = 0x00007fff;
+  static const uint32_t MSP_NEG_INF = 0x0000ffff;
+  static const uint32_t MSP_POS_ZERO = 0x00000000;
+  static const uint32_t MSP_NEG_ZERO = 0x00008000;
+  static const uint64_t LSP_INF = 0x8000000000000000ULL;
+  static const uint64_t LSP_ZERO = 0;
+  static const uint64_t LSP_DMAX = 0x7fffffffffffffffULL;
+  static const uint64_t LSP_NMAX = 0xffffffffffffffffULL;
+  static const unsigned int BASE = 2;
+  static const unsigned int EXPONENT_BITS = 15;
+  static const unsigned int MANTISSA_BITS = 63;
+  static const int EXPONENT_MAX = (1 << (EXPONENT_BITS - 1)) - 1;
+  static const int EXPONENT_BIAS = EXPONENT_MAX;
+  static const int EXPONENT_MIN = -EXPONENT_MAX + 1;
+  static const int EXPONENT_MIN_DENORM = EXPONENT_MIN
+					- static_cast<int>(MANTISSA_BITS);
+  int is_inf() const;
+  int is_nan() const;
+  int is_zero() const;
+  int sign_bit() const;
+  void negate();
+  void dec();
+  void inc();
+  void set_max(bool negative);
+  void build(bool negative, mpz_t mantissa, int exponent);
+};
 
-PPL_SAFE_CONVERSION(signed long, signed char);
-PPL_SAFE_CONVERSION(signed long, signed short);
-PPL_SAFE_CONVERSION(signed long, signed int);
-#if PPL_SIZEOF_CHAR < PPL_SIZEOF_LONG
-PPL_SAFE_CONVERSION(signed long, unsigned char);
-#endif
-#if PPL_SIZEOF_SHORT < PPL_SIZEOF_LONG
-PPL_SAFE_CONVERSION(signed long, unsigned short);
-#endif
-#if PPL_SIZEOF_INT < PPL_SIZEOF_LONG
-PPL_SAFE_CONVERSION(signed long, unsigned int);
-#endif
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 
-PPL_SAFE_CONVERSION(signed long long, signed char);
-PPL_SAFE_CONVERSION(signed long long, signed short);
-PPL_SAFE_CONVERSION(signed long long, signed int);
-PPL_SAFE_CONVERSION(signed long long, signed long);
-#if PPL_SIZEOF_CHAR < PPL_SIZEOF_LONG_LONG
-PPL_SAFE_CONVERSION(signed long long, unsigned char);
-#endif
-#if PPL_SIZEOF_SHORT < PPL_SIZEOF_LONG_LONG
-PPL_SAFE_CONVERSION(signed long long, unsigned short);
-#endif
-#if PPL_SIZEOF_INT < PPL_SIZEOF_LONG_LONG
-PPL_SAFE_CONVERSION(signed long long, unsigned int);
-#endif
-#if PPL_SIZEOF_LONG < PPL_SIZEOF_LONG_LONG
-PPL_SAFE_CONVERSION(signed long long, unsigned long);
+struct float_ieee754_quad {
+#ifdef PPL_WORDS_BIGENDIAN
+  uint64_t msp;
+  uint64_t lsp;
+#else
+  uint64_t lsp;
+  uint64_t msp;
 #endif
+  static const uint64_t MSP_SGN_MASK = 0x8000000000000000ULL;
+  static const uint64_t MSP_POS_INF = 0x7fff000000000000ULL;
+  static const uint64_t MSP_NEG_INF = 0xffff000000000000ULL;
+  static const uint64_t MSP_POS_ZERO = 0x0000000000000000ULL;
+  static const uint64_t MSP_NEG_ZERO = 0x8000000000000000ULL;
+  static const uint64_t LSP_INF = 0;
+  static const uint64_t LSP_ZERO = 0;
+  static const uint64_t LSP_MAX = 0xffffffffffffffffULL;
+  static const unsigned int BASE = 2;
+  static const unsigned int EXPONENT_BITS = 15;
+  static const unsigned int MANTISSA_BITS = 112;
+  static const int EXPONENT_MAX = (1 << (EXPONENT_BITS - 1)) - 1;
+  static const int EXPONENT_BIAS = EXPONENT_MAX;
+  static const int EXPONENT_MIN = -EXPONENT_MAX + 1;
+  static const int EXPONENT_MIN_DENORM = EXPONENT_MIN
+					- static_cast<int>(MANTISSA_BITS);
+  int is_inf() const;
+  int is_nan() const;
+  int is_zero() const;
+  int sign_bit() const;
+  void negate();
+  void dec();
+  void inc();
+  void set_max(bool negative);
+  void build(bool negative, mpz_t mantissa, int exponent);
+};
 
-PPL_SAFE_CONVERSION(unsigned short, unsigned char);
-
-PPL_SAFE_CONVERSION(unsigned int, unsigned char);
-PPL_SAFE_CONVERSION(unsigned int, unsigned short);
-
-PPL_SAFE_CONVERSION(unsigned long, unsigned char);
-PPL_SAFE_CONVERSION(unsigned long, unsigned short);
-PPL_SAFE_CONVERSION(unsigned long, unsigned int);
-
-PPL_SAFE_CONVERSION(unsigned long long, unsigned char);
-PPL_SAFE_CONVERSION(unsigned long long, unsigned short);
-PPL_SAFE_CONVERSION(unsigned long long, unsigned int);
-PPL_SAFE_CONVERSION(unsigned long long, unsigned long);
-
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+class Float : public False { };
 
-#if PPL_SIZEOF_CHAR <= PPL_SIZEOF_FLOAT - 2
-PPL_SAFE_CONVERSION(float, signed char);
-PPL_SAFE_CONVERSION(float, unsigned char);
-#endif
-#if PPL_SIZEOF_SHORT <= PPL_SIZEOF_FLOAT - 2
-PPL_SAFE_CONVERSION(float, signed short);
-PPL_SAFE_CONVERSION(float, unsigned short);
-#endif
-#if PPL_SIZEOF_INT <= PPL_SIZEOF_FLOAT - 2
-PPL_SAFE_CONVERSION(float, signed int);
-PPL_SAFE_CONVERSION(float, unsigned int);
-#endif
-#if PPL_SIZEOF_LONG <= PPL_SIZEOF_FLOAT - 2
-PPL_SAFE_CONVERSION(float, signed long);
-PPL_SAFE_CONVERSION(float, unsigned long);
+#if PPL_SUPPORTED_FLOAT
+template <>
+class Float<float> : public True {
+public:
+#if PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_IEEE754_HALF
+  typedef float_ieee754_half Binary;
+#elif PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_IEEE754_SINGLE
+  typedef float_ieee754_single Binary;
+#elif PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE
+  typedef float_ieee754_double Binary;
+#elif PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_IBM_SINGLE
+  typedef float_ibm_single Binary;
+#elif PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_IEEE754_QUAD
+  typedef float_ieee754_quad Binary;
+#elif PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED
+  typedef float_intel_double_extended Binary;
+#else
+#error "invalid value for PPL_CXX_FLOAT_BINARY_FORMAT"
 #endif
-#if PPL_SIZEOF_LONG_LONG <= PPL_SIZEOF_FLOAT - 2
-PPL_SAFE_CONVERSION(float, signed long long);
-PPL_SAFE_CONVERSION(float, unsigned long long);
+  union {
+    float number;
+    Binary binary;
+  } u;
+  Float();
+  Float(float v);
+  float value();
+};
 #endif
 
-#if PPL_SIZEOF_CHAR <= PPL_SIZEOF_DOUBLE - 4
-PPL_SAFE_CONVERSION(double, signed char);
-PPL_SAFE_CONVERSION(double, unsigned char);
-#endif
-#if PPL_SIZEOF_SHORT <= PPL_SIZEOF_DOUBLE - 4
-PPL_SAFE_CONVERSION(double, signed short);
-PPL_SAFE_CONVERSION(double, unsigned short);
-#endif
-#if PPL_SIZEOF_INT <= PPL_SIZEOF_DOUBLE - 4
-PPL_SAFE_CONVERSION(double, signed int);
-PPL_SAFE_CONVERSION(double, unsigned int);
-#endif
-#if PPL_SIZEOF_LONG <= PPL_SIZEOF_DOUBLE - 4
-PPL_SAFE_CONVERSION(double, signed long);
-PPL_SAFE_CONVERSION(double, unsigned long);
+#if PPL_SUPPORTED_DOUBLE
+template <>
+class Float<double> : public True {
+public:
+#if PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_HALF
+  typedef float_ieee754_half Binary;
+#elif PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_SINGLE
+  typedef float_ieee754_single Binary;
+#elif PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE
+  typedef float_ieee754_double Binary;
+#elif PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IBM_SINGLE
+  typedef float_ibm_single Binary;
+#elif PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_QUAD
+  typedef float_ieee754_quad Binary;
+#elif PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED
+  typedef float_intel_double_extended Binary;
+#else
+#error "invalid value for PPL_CXX_DOUBLE_BINARY_FORMAT"
 #endif
-#if PPL_SIZEOF_LONG_LONG <= PPL_SIZEOF_DOUBLE - 4
-PPL_SAFE_CONVERSION(double, signed long long);
-PPL_SAFE_CONVERSION(double, unsigned long long);
+  union {
+    double number;
+    Binary binary;
+  } u;
+  Float();
+  Float(double v);
+  double value();
+};
 #endif
-PPL_SAFE_CONVERSION(double, float);
 
-#if PPL_SIZEOF_CHAR <= PPL_SIZEOF_LONG_DOUBLE - 4
-PPL_SAFE_CONVERSION(long double, signed char);
-PPL_SAFE_CONVERSION(long double, unsigned char);
-#endif
-#if PPL_SIZEOF_SHORT <= PPL_SIZEOF_LONG_DOUBLE - 4
-PPL_SAFE_CONVERSION(long double, signed short);
-PPL_SAFE_CONVERSION(long double, unsigned short);
-#endif
-#if PPL_SIZEOF_INT <= PPL_SIZEOF_LONG_DOUBLE - 4
-PPL_SAFE_CONVERSION(long double, signed int);
-PPL_SAFE_CONVERSION(long double, unsigned int);
-#endif
-#if PPL_SIZEOF_LONG <= PPL_SIZEOF_LONG_DOUBLE - 4
-PPL_SAFE_CONVERSION(long double, signed long);
-PPL_SAFE_CONVERSION(long double, unsigned long);
+#if PPL_SUPPORTED_LONG_DOUBLE
+template <>
+class Float<long double> : public True {
+public:
+#if PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_HALF
+  typedef float_ieee754_half Binary;
+#elif PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_SINGLE
+  typedef float_ieee754_single Binary;
+#elif PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE
+  typedef float_ieee754_double Binary;
+#elif PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IBM_SINGLE
+  typedef float_ibm_single Binary;
+#elif PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_QUAD
+  typedef float_ieee754_quad Binary;
+#elif PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED
+  typedef float_intel_double_extended Binary;
+#else
+#error "invalid value for PPL_CXX_LONG_DOUBLE_BINARY_FORMAT"
 #endif
-#if PPL_SIZEOF_LONG_LONG <= PPL_SIZEOF_LONG_DOUBLE - 4
-PPL_SAFE_CONVERSION(long double, signed long long);
-PPL_SAFE_CONVERSION(long double, unsigned long long);
+  union {
+    long double number;
+    Binary binary;
+  } u;
+  Float();
+  Float(long double v);
+  long double value();
+};
 #endif
-PPL_SAFE_CONVERSION(long double, float);
-PPL_SAFE_CONVERSION(long double, double);
 
-PPL_SAFE_CONVERSION(mpz_class, signed char);
-PPL_SAFE_CONVERSION(mpz_class, signed short);
-PPL_SAFE_CONVERSION(mpz_class, signed int);
-PPL_SAFE_CONVERSION(mpz_class, signed long);
-//PPL_SAFE_CONVERSION(mpz_class, signed long long);
-PPL_SAFE_CONVERSION(mpz_class, unsigned char);
-PPL_SAFE_CONVERSION(mpz_class, unsigned short);
-PPL_SAFE_CONVERSION(mpz_class, unsigned int);
-PPL_SAFE_CONVERSION(mpz_class, unsigned long);
-//PPL_SAFE_CONVERSION(mpz_class, unsigned long long);
+} // namespace Parma_Polyhedra_Library
 
-PPL_SAFE_CONVERSION(mpq_class, signed char);
-PPL_SAFE_CONVERSION(mpq_class, signed short);
-PPL_SAFE_CONVERSION(mpq_class, signed int);
-PPL_SAFE_CONVERSION(mpq_class, signed long);
-//PPL_SAFE_CONVERSION(mpq_class, signed long long);
-PPL_SAFE_CONVERSION(mpq_class, unsigned char);
-PPL_SAFE_CONVERSION(mpq_class, unsigned short);
-PPL_SAFE_CONVERSION(mpq_class, unsigned int);
-PPL_SAFE_CONVERSION(mpq_class, unsigned long);
-//PPL_SAFE_CONVERSION(mpq_class, unsigned long long);
-PPL_SAFE_CONVERSION(mpq_class, float);
-PPL_SAFE_CONVERSION(mpq_class, double);
-//PPL_SAFE_CONVERSION(mpq_class, long double);
+/* Automatically generated from PPL source file ../src/Float.inlines.hh line 1. */
+/* IEC 559 floating point format related functions.
+*/
 
-#undef PPL_SAFE_CONVERSION
 
-template <typename Policy, typename Type>
-struct PPL_FUNCTION_CLASS(construct)<Policy, Policy, Type, Type> {
-  static inline Result function(Type& to, const Type& from, Rounding_Dir) {
-    new (&to) Type(from);
-    return V_EQ;
-  }
-};
+#include <climits>
 
-template <typename To_Policy, typename From_Policy, typename To, typename From>
-struct PPL_FUNCTION_CLASS(construct) {
-  static inline Result function(To& to, const From& from, Rounding_Dir dir) {
-    new (&to) To();
-    return assign<To_Policy, From_Policy>(to, from, dir);
-  }
-};
+namespace Parma_Polyhedra_Library {
 
-template <typename To_Policy, typename To>
-struct PPL_FUNCTION_CLASS(construct_special) {
-  static inline Result function(To& to, Result r, Rounding_Dir dir) {
-    new (&to) To();
-    return assign_special<To_Policy>(to, r, dir);
-  }
-};
+inline int
+float_ieee754_half::is_inf() const {
+  if (word == NEG_INF)
+    return -1;
+  if (word == POS_INF)
+    return 1;
+  return 0;
+}
 
-template <typename To_Policy, typename From_Policy, typename To, typename From>
-inline Result
-assign_exact(To& to, const From& from, Rounding_Dir) {
-  to = from;
-  return V_EQ;
+inline int
+float_ieee754_half::is_nan() const {
+  return (word & ~SGN_MASK) > POS_INF;
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline typename Enable_If<Is_Same<To_Policy, From_Policy>::value, void>::type
-copy_generic(Type& to, const Type& from) {
-  to = from;
+inline int
+float_ieee754_half::is_zero() const {
+  if (word == NEG_ZERO)
+    return -1;
+  if (word == POS_ZERO)
+    return 1;
+  return 0;
 }
 
-template <typename To_Policy, typename From_Policy, typename To, typename From>
-inline Result
-abs_generic(To& to, const From& from, Rounding_Dir dir) {
-  if (from < 0)
-    return neg<To_Policy, From_Policy>(to, from, dir);
-  else
-    return assign<To_Policy, From_Policy>(to, from, dir);
+inline void
+float_ieee754_half::negate() {
+  word ^= SGN_MASK;
 }
 
-inline Result
-neg(Result r) {
-  assert(!is_special(r));
-  Result ret = static_cast<Result>(r & V_EQ);
-  if (r & V_LT)
-    ret = static_cast<Result>(ret | V_GT);
-  if (r & V_GT)
-    ret = static_cast<Result>(ret | V_LT);
-  return ret;
+inline int
+float_ieee754_half::sign_bit() const {
+  return !!(word & SGN_MASK);
 }
 
-inline Result
-add(Result r1, Result r2) {
-  assert(!is_special(r1));
-  assert(!is_special(r2));
-  if (r1 == V_EQ)
-    return r2;
-  if (r2 == V_EQ)
-    return r1;
-  if (((r1 & V_LT) && (r2 & V_GT))
-      || ((r1 & V_GT) && (r2 & V_LT)))
-    return V_LGE;
-  return static_cast<Result>((((r1 & r2) & V_EQ) ? V_EQ : 0) |
-			       (r1 & (V_LT | V_GT)));
+inline void
+float_ieee754_half::dec() {
+  --word;
 }
 
-inline Result
-sub(Result r1, Result r2) {
-  return add(r1, neg(r2));
+inline void
+float_ieee754_half::inc() {
+  ++word;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From>
 inline void
-gcd_exact_noabs(To& to, const From& x, const From& y) {
-  To nx = x;
-  To ny = y;
-  To rm;
-  while (ny != 0) {
-    // The following is derived from the assumption that x % y
-    // is always representable. This is true for both native integers
-    // and IEC 559 floating point numbers.
-    rem<To_Policy, From1_Policy, From2_Policy>(rm, nx, ny, ROUND_NOT_NEEDED);
-    nx = ny;
-    ny = rm;
-  }
-  to = nx;
+float_ieee754_half::set_max(bool negative) {
+  word = 0x7bff;
+  if (negative)
+    word |= SGN_MASK;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
-inline Result
-gcd_exact(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
-  gcd_exact_noabs<To_Policy, From1_Policy, From2_Policy>(to, x, y);
-  return abs<To_Policy, To_Policy>(to, to, dir);
+inline void
+float_ieee754_half::build(bool negative, mpz_t mantissa, int exponent) {
+  word = mpz_get_ui(mantissa) & ((1UL << MANTISSA_BITS) - 1);
+  if (negative)
+    word |= SGN_MASK;
+  word |= static_cast<uint16_t>(exponent + EXPONENT_BIAS) << MANTISSA_BITS;
 }
 
-template <typename To1_Policy, typename To2_Policy, typename To3_Policy,
-	  typename From1_Policy, typename From2_Policy,
-	  typename To1, typename To2, typename To3,
-	  typename From1, typename From2>
-inline Result
-gcdext_exact(To1& to, To2& s, To3& t, const From1& x, const From2& y,
-	     Rounding_Dir dir) {
-  // In case this becomes a bottleneck, we may consider using the
-  // Stehle'-Zimmermann algorithm (see R. Crandall and C. Pomerance,
-  // Prime Numbers - A Computational Perspective, Second Edition,
-  // Springer, 2005).
-  if (y == 0) {
-    if (x == 0) {
-      s = 0;
-      t = 1;
-      return V_EQ;
-    }
-    else {
-      if (x < 0)
-	s = -1;
-      else
-	s = 1;
-      t = 0;
-      return abs<To1_Policy, From1_Policy>(to, x, dir);
-    }
-  }
-
-  s = 1;
-  t = 0;
-  bool negative_x = x < 0;
-  bool negative_y = y < 0;
-
-  Result r;
-  r = abs<To1_Policy, From1_Policy>(to, x, dir);
-  if (r != V_EQ)
-    return r;
-
-  From2 ay;
-  r = abs<To1_Policy, From2_Policy>(ay, y, dir);
-  if (r != V_EQ)
-    return r;
-
-  // If PPL_MATCH_GMP_GCDEXT is defined then s is favored when the absolute
-  // values of the given numbers are equal.  For instance if x and y
-  // are both 5 then s will be 1 and t will be 0, instead of the other
-  // way round.  This is to match the behavior of GMP.
-#define PPL_MATCH_GMP_GCDEXT 1
-#ifdef PPL_MATCH_GMP_GCDEXT
-  if (to == ay)
-    goto sign_check;
-#endif
-
-  {
-    To2 v1 = 0;
-    To3 v2 = 1;
-    To1 v3 = static_cast<To1>(ay);
-    while (true) {
-      To1 q = to / v3;
-      // Remainder, next candidate GCD.
-      To1 t3 = to - q*v3;
-      To2 t1 = s - static_cast<To2>(q)*v1;
-      To3 t2 = t - static_cast<To3>(q)*v2;
-      s = v1;
-      t = v2;
-      to = v3;
-      if (t3 == 0)
-	break;
-      v1 = t1;
-      v2 = t2;
-      v3 = t3;
-    }
-  }
-
-#ifdef PPL_MATCH_GMP_GCDEXT
- sign_check:
-#endif
-  if (negative_x) {
-    r = neg<To2_Policy, To2_Policy>(s, s, dir);
-    if (r != V_EQ)
-      return r;
-  }
-  if (negative_y)
-    return neg<To3_Policy, To3_Policy>(t, t, dir);
-  return V_EQ;
-#undef PPL_MATCH_GMP_GCDEXT
+inline int
+float_ieee754_single::is_inf() const {
+  if (word == NEG_INF)
+    return -1;
+  if (word == POS_INF)
+    return 1;
+  return 0;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
-inline Result
-lcm_gcd_exact(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
-  if (x == 0 || y == 0) {
-    to = 0;
-    return V_EQ;
-  }
-  To nx, ny;
-  Result r;
-  r = abs<From1_Policy, From1_Policy>(nx, x, dir);
-  if (r != V_EQ)
-    return r;
-  r = abs<From2_Policy, From2_Policy>(ny, y, dir);
-  if (r != V_EQ)
-    return r;
-  To gcd;
-  gcd_exact_noabs<To_Policy, From1_Policy, From2_Policy>(gcd, nx, ny);
-  // The following is derived from the assumption that x / gcd(x, y)
-  // is always representable. This is true for both native integers
-  // and IEC 559 floating point numbers.
-  div<To_Policy, From1_Policy, To_Policy>(to, nx, gcd, ROUND_NOT_NEEDED);
-  return mul<To_Policy, To_Policy, From2_Policy>(to, to, ny, dir);
+inline int
+float_ieee754_single::is_nan() const {
+  return (word & ~SGN_MASK) > POS_INF;
 }
 
-template <typename Policy, typename Type>
-inline Result
-sgn_generic(const Type& x) {
-  if (x > 0)
-    return V_GT;
-  if (x == 0)
-    return V_EQ;
-  return V_LT;
+inline int
+float_ieee754_single::is_zero() const {
+  if (word == NEG_ZERO)
+    return -1;
+  if (word == POS_ZERO)
+    return 1;
+  return 0;
 }
 
-template <typename T1, typename T2, typename Enable = void>
-struct Safe_Int_Comparison : public False {
-};
-
-template <typename T1, typename T2>
-struct Safe_Int_Comparison<T1, T2, typename Enable_If<(C_Integer<T1>::value && C_Integer<T2>::value)>::type>
-  : public Bool<(C_Integer<T1>::is_signed
-		 ? (C_Integer<T2>::is_signed
-		    || sizeof(T2) < sizeof(T1)
-		    || sizeof(T2) < sizeof(int))
-		 : (!C_Integer<T2>::is_signed
-		    || sizeof(T1) < sizeof(T2)
-		    || sizeof(T1) < sizeof(int)))> {
-};
-
+inline void
+float_ieee754_single::negate() {
+  word ^= SGN_MASK;
+}
 
-template <typename T1, typename T2>
-inline typename Enable_If<(Safe_Int_Comparison<T1, T2>::value
-			   || Safe_Conversion<T1, T2>::value
-			   || Safe_Conversion<T2, T1>::value), bool>::type
-lt(const T1& x, const T2& y) {
-  return x < y;
+inline int
+float_ieee754_single::sign_bit() const {
+  return !!(word & SGN_MASK);
 }
-template <typename T1, typename T2>
-inline typename Enable_If<(Safe_Int_Comparison<T1, T2>::value
-			   || Safe_Conversion<T1, T2>::value
-			   || Safe_Conversion<T2, T1>::value), bool>::type
-le(const T1& x, const T2& y) {
-  return x <= y;
+
+inline void
+float_ieee754_single::dec() {
+  --word;
 }
-template <typename T1, typename T2>
-inline typename Enable_If<(Safe_Int_Comparison<T1, T2>::value
-			   || Safe_Conversion<T1, T2>::value
-			   || Safe_Conversion<T2, T1>::value), bool>::type
-eq(const T1& x, const T2& y) {
-  return x == y;
+
+inline void
+float_ieee754_single::inc() {
+  ++word;
 }
 
-template <typename S, typename U>
-inline typename Enable_If<(!Safe_Int_Comparison<S, U>::value
-			   && C_Integer<U>::value
-			   && C_Integer<S>::is_signed), bool>::type
-lt(const S& x, const U& y) {
-  return x < 0 || x < y;
+inline void
+float_ieee754_single::set_max(bool negative) {
+  word = 0x7f7fffff;
+  if (negative)
+    word |= SGN_MASK;
 }
 
-template <typename U, typename S>
-inline typename Enable_If<(!Safe_Int_Comparison<S, U>::value
-			   && C_Integer<U>::value
-			   && C_Integer<S>::is_signed), bool>::type
-lt(const U& x, const S& y) {
-  return y >= 0 && x < y;
+inline void
+float_ieee754_single::build(bool negative, mpz_t mantissa, int exponent) {
+  word = mpz_get_ui(mantissa) & ((1UL << MANTISSA_BITS) - 1);
+  if (negative)
+    word |= SGN_MASK;
+  word |= static_cast<uint32_t>(exponent + EXPONENT_BIAS) << MANTISSA_BITS;
 }
 
-template <typename S, typename U>
-inline typename Enable_If<(!Safe_Int_Comparison<S, U>::value
-			   && C_Integer<U>::value
-			   && C_Integer<S>::is_signed), bool>::type
-le(const S& x, const U& y) {
-  return x < 0 || x <= y;
+inline int
+float_ieee754_double::is_inf() const {
+  if (lsp != LSP_INF)
+    return 0;
+  if (msp == MSP_NEG_INF)
+    return -1;
+  if (msp == MSP_POS_INF)
+    return 1;
+  return 0;
 }
 
-template <typename U, typename S>
-inline typename Enable_If<(!Safe_Int_Comparison<S, U>::value
-			   && C_Integer<U>::value
-			   && C_Integer<S>::is_signed), bool>::type
-le(const U& x, const S& y) {
-  return y >= 0 && x <= y;
+inline int
+float_ieee754_double::is_nan() const {
+  uint32_t a = msp & ~MSP_SGN_MASK;
+  return a > MSP_POS_INF || (a == MSP_POS_INF && lsp != LSP_INF);
 }
 
-template <typename S, typename U>
-inline typename Enable_If<(!Safe_Int_Comparison<S, U>::value
-			   && C_Integer<U>::value
-			   && C_Integer<S>::is_signed), bool>::type
-eq(const S& x, const U& y) {
-  return x >= 0 && x == y;
+inline int
+float_ieee754_double::is_zero() const {
+  if (lsp != LSP_ZERO)
+    return 0;
+  if (msp == MSP_NEG_ZERO)
+    return -1;
+  if (msp == MSP_POS_ZERO)
+    return 1;
+  return 0;
 }
 
-template <typename U, typename S>
-inline typename Enable_If<(!Safe_Int_Comparison<S, U>::value
-			   && C_Integer<U>::value
-			   && C_Integer<S>::is_signed), bool>::type
-eq(const U& x, const S& y) {
-  return y >= 0 && x == y;
+inline void
+float_ieee754_double::negate() {
+  msp ^= MSP_SGN_MASK;
 }
 
-template <typename T1, typename T2>
-inline typename Enable_If<(!Safe_Conversion<T1, T2>::value
-			   && !Safe_Conversion<T2, T1>::value
-			   && (!C_Integer<T1>::value || !C_Integer<T2>::value)), bool>::type
-eq(const T1& x, const T2& y) {
-  PPL_DIRTY_TEMP(T1, tmp);
-  Result r = assign_r(tmp, y, static_cast<Rounding_Dir>(ROUND_DIRECT | ROUND_FPU_CHECK_INEXACT));
-  // FIXME: We can do this also without fpu inexact check using a
-  // conversion back and forth and then testing equality.  We should
-  // code this in checked_float.inlines.hh, probably it's faster also
-  // if fpu supports inexact check.
-  assert(r != V_LE && r != V_GE && r != V_LGE);
-  return r == V_EQ && x == tmp;
+inline int
+float_ieee754_double::sign_bit() const {
+  return !!(msp & MSP_SGN_MASK);
 }
 
-template <typename T1, typename T2>
-inline typename Enable_If<(!Safe_Conversion<T1, T2>::value
-			   && !Safe_Conversion<T2, T1>::value
-			   && (!C_Integer<T1>::value || !C_Integer<T2>::value)), bool>::type
-lt(const T1& x, const T2& y) {
-  PPL_DIRTY_TEMP(T1, tmp);
-  Result r = assign_r(tmp, y, ROUND_UP);
-  switch (r) {
-  case V_POS_OVERFLOW:
-  case VC_PLUS_INFINITY:
-    return true;
-  case V_EQ:
-  case V_LT:
-  case V_LE:
-    return x < tmp;
-  default:
-    return false;
+inline void
+float_ieee754_double::dec() {
+  if (lsp == 0) {
+    --msp;
+    lsp = LSP_MAX;
   }
+  else
+    --lsp;
 }
 
-template <typename T1, typename T2>
-inline typename
-Enable_If<(!Safe_Conversion<T1, T2>::value
-           && !Safe_Conversion<T2, T1>::value
-           && (!C_Integer<T1>::value || !C_Integer<T2>::value)), bool>::type
-le(const T1& x, const T2& y) {
-  PPL_DIRTY_TEMP(T1, tmp);
-  Result r
-    = assign_r(tmp,
-               y,
-               static_cast<Rounding_Dir>(ROUND_UP | ROUND_FPU_CHECK_INEXACT));
-  switch (r) {
-  case V_POS_OVERFLOW:
-  case VC_PLUS_INFINITY:
-    return true;
-  case V_EQ:
-    return x <= tmp;
-  case V_LT:
-    return x < tmp;
-  case V_LE:
-  case V_GE:
-  case V_LGE:
-    // FIXME: See comment above.
-    assert(0);
-  default:
-    return false;
+inline void
+float_ieee754_double::inc() {
+  if (lsp == LSP_MAX) {
+    ++msp;
+    lsp = 0;
   }
+  else
+    ++lsp;
 }
 
-template <typename Policy1, typename Policy2,
-	  typename Type1, typename Type2>
-inline bool
-lt_p(const Type1& x, const Type2& y) {
-  return lt(x, y);
+inline void
+float_ieee754_double::set_max(bool negative) {
+  msp = 0x7fefffff;
+  lsp = 0xffffffff;
+  if (negative)
+    msp |= MSP_SGN_MASK;
 }
 
-template <typename Policy1, typename Policy2,
-	  typename Type1, typename Type2>
-inline bool
-le_p(const Type1& x, const Type2& y) {
-  return le(x, y);
+inline void
+float_ieee754_double::build(bool negative, mpz_t mantissa, int exponent) {
+#if ULONG_MAX == 0xffffffffUL
+  lsp = mpz_get_ui(mantissa);
+  mpz_tdiv_q_2exp(mantissa, mantissa, 32);
+  unsigned long m = mpz_get_ui(mantissa);
+#else
+  unsigned long m = mpz_get_ui(mantissa);
+  lsp = m;
+  m >>= 32;
+#endif
+  msp = m & ((1UL << (MANTISSA_BITS - 32)) - 1);
+  if (negative)
+    msp |= MSP_SGN_MASK;
+  msp |= static_cast<uint32_t>(exponent + EXPONENT_BIAS)
+    << (MANTISSA_BITS - 32);
 }
 
-template <typename Policy1, typename Policy2,
-	  typename Type1, typename Type2>
-inline bool
-eq_p(const Type1& x, const Type2& y) {
-  return eq(x, y);
+inline int
+float_ibm_single::is_inf() const {
+  if (word == NEG_INF)
+    return -1;
+  if (word == POS_INF)
+    return 1;
+  return 0;
 }
 
-template <typename Policy1, typename Policy2,
-	  typename Type1, typename Type2>
-inline Result
-cmp_generic(const Type1& x, const Type2& y) {
-  if (lt(y, x))
-    return V_GT;
-  if (lt(x, y))
-    return V_LT;
-  return V_EQ;
+inline int
+float_ibm_single::is_nan() const {
+  return (word & ~SGN_MASK) > POS_INF;
 }
 
-template <typename Policy, typename Type>
-inline Result
-input_generic(Type& to, std::istream& is, Rounding_Dir dir) {
-  PPL_DIRTY_TEMP0(mpq_class, q);
-  Result r = input_mpq(q, is);
-  if (is_special(r))
-    return assign_special<Policy>(to, r, dir);
-  if (r == V_EQ)
-    return assign<Policy, void>(to, q, dir);
-  assert(0);
-  return VC_NAN;
+inline int
+float_ibm_single::is_zero() const {
+  if (word == NEG_ZERO)
+    return -1;
+  if (word == POS_ZERO)
+    return 1;
+  return 0;
 }
 
-} // namespace Checked
+inline void
+float_ibm_single::negate() {
+  word ^= SGN_MASK;
+}
 
-} // namespace Parma_Polyhedra_Library
+inline int
+float_ibm_single::sign_bit() const {
+  return !!(word & SGN_MASK);
+}
 
-/* Automatically generated from PPL source file ../src/checked_int.inlines.hh line 1. */
-/* Specialized "checked" functions for native integer numbers.
-*/
+inline void
+float_ibm_single::dec() {
+  --word;
+}
 
+inline void
+float_ibm_single::inc() {
+  ++word;
+}
 
-/* Automatically generated from PPL source file ../src/checked_int.inlines.hh line 27. */
-#include <cerrno>
-#include <cstdlib>
-#include <climits>
-#include <string>
+inline void
+float_ibm_single::set_max(bool negative) {
+  word = 0x7f000000;
+  if (negative)
+    word |= SGN_MASK;
+}
 
-#if !PPL_HAVE_DECL_STRTOLL
-signed long long
-strtoll(const char* nptr, char** endptr, int base);
-#endif
+inline void
+float_ibm_single::build(bool negative, mpz_t mantissa, int exponent) {
+  word = mpz_get_ui(mantissa) & ((1UL << MANTISSA_BITS) - 1);
+  if (negative)
+    word |= SGN_MASK;
+  word |= static_cast<uint32_t>(exponent + EXPONENT_BIAS) << MANTISSA_BITS;
+}
 
-#if !PPL_HAVE_DECL_STRTOULL
-unsigned long long
-strtoull(const char* nptr, char** endptr, int base);
-#endif
+inline int
+float_intel_double_extended::is_inf() const {
+  if (lsp != LSP_INF)
+    return 0;
+  uint32_t a = msp & MSP_NEG_INF;
+  if (a == MSP_NEG_INF)
+    return -1;
+  if (a == MSP_POS_INF)
+    return 1;
+  return 0;
+}
 
-namespace Parma_Polyhedra_Library {
+inline int
+float_intel_double_extended::is_nan() const {
+  return (msp & MSP_POS_INF) == MSP_POS_INF
+    && lsp != LSP_INF;
+}
 
-namespace Checked {
+inline int
+float_intel_double_extended::is_zero() const {
+  if (lsp != LSP_ZERO)
+    return 0;
+  uint32_t a = msp & MSP_NEG_INF;
+  if (a == MSP_NEG_ZERO)
+    return -1;
+  if (a == MSP_POS_ZERO)
+    return 1;
+  return 0;
+}
 
-#ifndef PPL_HAVE_INT_FAST16_T
-typedef int16_t int_fast16_t;
-#endif
+inline void
+float_intel_double_extended::negate() {
+  msp ^= MSP_SGN_MASK;
+}
 
-#ifndef PPL_HAVE_INT_FAST32_T
-typedef int32_t int_fast32_t;
-#endif
+inline int
+float_intel_double_extended::sign_bit() const {
+  return !!(msp & MSP_SGN_MASK);
+}
 
-#ifndef PPL_HAVE_INT_FAST64_T
-typedef int64_t int_fast64_t;
-#endif
+inline void
+float_intel_double_extended::dec() {
+  if ((lsp & LSP_DMAX) == 0) {
+    --msp;
+    lsp = (msp & MSP_NEG_INF) == 0 ? LSP_DMAX : LSP_NMAX;
+  }
+  else
+    --lsp;
+}
 
-#ifndef PPL_HAVE_UINT_FAST16_T
-typedef uint16_t uint_fast16_t;
-#endif
+inline void
+float_intel_double_extended::inc() {
+  if ((lsp & LSP_DMAX) == LSP_DMAX) {
+    ++msp;
+    lsp = LSP_DMAX + 1;
+  }
+  else
+    ++lsp;
+}
 
-#ifndef PPL_HAVE_UINT_FAST32_T
-typedef uint32_t uint_fast32_t;
-#endif
+inline void
+float_intel_double_extended::set_max(bool negative) {
+  msp = 0x00007ffe;
+  lsp = 0xffffffffffffffffULL;
+  if (negative)
+    msp |= MSP_SGN_MASK;
+}
 
-#ifndef PPL_HAVE_UINT_FAST64_T
-typedef uint64_t uint_fast64_t;
+inline void
+float_intel_double_extended::build(bool negative,
+				   mpz_t mantissa, int exponent) {
+#if ULONG_MAX == 0xffffffffUL
+  mpz_export(&lsp, 0, -1, 8, 0, 0, mantissa);
+#else
+  lsp = mpz_get_ui(mantissa);
 #endif
+  msp = (negative ? MSP_SGN_MASK : 0);
+  msp |= static_cast<uint32_t>(exponent + EXPONENT_BIAS);
+}
 
-template <typename Policy, typename Type>
-struct Extended_Int {
-  static const Type plus_infinity = C_Integer<Type>::max;
-  static const Type minus_infinity = (C_Integer<Type>::min >= 0
-				      ? C_Integer<Type>::max - 1
-				      : C_Integer<Type>::min);
-  static const Type not_a_number = (C_Integer<Type>::min >= 0
-				    ? C_Integer<Type>::max - Policy::has_infinity * 2
-				    : C_Integer<Type>::min + Policy::has_infinity);
-  static const Type min = (C_Integer<Type>::min
-			   + (C_Integer<Type>::min >= 0 ? 0
-			      : (Policy::has_infinity + Policy::has_nan)));
-  static const Type max = (C_Integer<Type>::max
-			   - (C_Integer<Type>::min >= 0
-			      ? (2 * Policy::has_infinity + Policy::has_nan)
-			      : Policy::has_infinity));
-};
+inline int
+float_ieee754_quad::is_inf() const {
+  if (lsp != LSP_INF)
+    return 0;
+  if (msp == MSP_NEG_INF)
+    return -1;
+  if (msp == MSP_POS_INF)
+    return 1;
+  return 0;
+}
 
-template <typename Policy, typename To>
-inline Result
-set_neg_overflow_int(To& to, Rounding_Dir dir) {
-  if (round_up(dir)) {
-    to = Extended_Int<Policy, To>::min;
-    return V_LT;
-  }
-  else {
-    if (Policy::has_infinity) {
-      to = Extended_Int<Policy, To>::minus_infinity;
-      return V_GT;
-    }
-    return V_NEG_OVERFLOW;
-  }
+inline int
+float_ieee754_quad::is_nan() const {
+  return (msp & ~MSP_SGN_MASK) == MSP_POS_INF
+    && lsp != LSP_INF;
 }
 
-template <typename Policy, typename To>
-inline Result
-set_pos_overflow_int(To& to, Rounding_Dir dir) {
-  if (round_down(dir)) {
-    to = Extended_Int<Policy, To>::max;
-    return V_GT;
-  }
-  else {
-    if (Policy::has_infinity) {
-      to = Extended_Int<Policy, To>::plus_infinity;
-      return V_LT;
-    }
-    return V_POS_OVERFLOW;
-  }
+inline int
+float_ieee754_quad::is_zero() const {
+  if (lsp != LSP_ZERO)
+    return 0;
+  if (msp == MSP_NEG_ZERO)
+    return -1;
+  if (msp == MSP_POS_ZERO)
+    return 1;
+  return 0;
 }
 
-template <typename Policy, typename To>
-inline Result
-round_lt_int_no_overflow(To& to, Rounding_Dir dir) {
-  if (round_down(dir)) {
-    --to;
-    return V_GT;
-  }
-  return V_LT;
+inline void
+float_ieee754_quad::negate() {
+  msp ^= MSP_SGN_MASK;
 }
 
-template <typename Policy, typename To>
-inline Result
-round_gt_int_no_overflow(To& to, Rounding_Dir dir) {
-  if (round_up(dir)) {
-    ++to;
-    return V_LT;
-  }
-  return V_GT;
+inline int
+float_ieee754_quad::sign_bit() const {
+  return !!(msp & MSP_SGN_MASK);
 }
 
-template <typename Policy, typename To>
-inline Result
-round_lt_int(To& to, Rounding_Dir dir) {
-  if (round_down(dir)) {
-    if (to == Extended_Int<Policy, To>::min) {
-      if (Policy::has_infinity) {
-	to = Extended_Int<Policy, To>::minus_infinity;
-	return V_GT;
-      }
-      return V_NEG_OVERFLOW;
-    }
-    else {
-      --to;
-      return V_GT;
-    }
+inline void
+float_ieee754_quad::dec() {
+  if (lsp == 0) {
+    --msp;
+    lsp = LSP_MAX;
   }
-  return V_LT;
+  else
+    --lsp;
 }
 
-template <typename Policy, typename To>
-inline Result
-round_gt_int(To& to, Rounding_Dir dir) {
-  if (round_up(dir)) {
-    if (to == Extended_Int<Policy, To>::max) {
-      if (Policy::has_infinity) {
-	to = Extended_Int<Policy, To>::plus_infinity;
-	return V_LT;
-      }
-      return V_POS_OVERFLOW;
-    }
-    else {
-      ++to;
-      return V_LT;
-    }
+inline void
+float_ieee754_quad::inc() {
+  if (lsp == LSP_MAX) {
+    ++msp;
+    lsp = 0;
   }
-  return V_GT;
+  else
+    ++lsp;
 }
 
-PPL_SPECIALIZE_COPY(copy_generic, signed char)
-PPL_SPECIALIZE_COPY(copy_generic, signed short)
-PPL_SPECIALIZE_COPY(copy_generic, signed int)
-PPL_SPECIALIZE_COPY(copy_generic, signed long)
-PPL_SPECIALIZE_COPY(copy_generic, signed long long)
-PPL_SPECIALIZE_COPY(copy_generic, unsigned char)
-PPL_SPECIALIZE_COPY(copy_generic, unsigned short)
-PPL_SPECIALIZE_COPY(copy_generic, unsigned int)
-PPL_SPECIALIZE_COPY(copy_generic, unsigned long)
-PPL_SPECIALIZE_COPY(copy_generic, unsigned long long)
-
-template <typename Policy, typename Type>
-inline Result
-classify_int(const Type v, bool nan, bool inf, bool sign) {
-  if (Policy::has_nan
-      && (nan || sign)
-      && v == Extended_Int<Policy, Type>::not_a_number)
-    return VC_NAN;
-  if (!inf & !sign)
-    return VC_NORMAL;
-  if (Policy::has_infinity) {
-    if (v == Extended_Int<Policy, Type>::minus_infinity)
-      return inf ? VC_MINUS_INFINITY : V_LT;
-    if (v == Extended_Int<Policy, Type>::plus_infinity)
-      return inf ? VC_PLUS_INFINITY : V_GT;
-  }
-  if (sign) {
-    if (v < 0)
-      return V_LT;
-    if (v > 0)
-      return V_GT;
-    return V_EQ;
-  }
-  return VC_NORMAL;
+inline void
+float_ieee754_quad::set_max(bool negative) {
+  msp = 0x7ffeffffffffffffULL;
+  lsp = 0xffffffffffffffffULL;
+  if (negative)
+    msp |= MSP_SGN_MASK;
 }
 
-PPL_SPECIALIZE_CLASSIFY(classify_int, signed char)
-PPL_SPECIALIZE_CLASSIFY(classify_int, signed short)
-PPL_SPECIALIZE_CLASSIFY(classify_int, signed int)
-PPL_SPECIALIZE_CLASSIFY(classify_int, signed long)
-PPL_SPECIALIZE_CLASSIFY(classify_int, signed long long)
-PPL_SPECIALIZE_CLASSIFY(classify_int, unsigned char)
-PPL_SPECIALIZE_CLASSIFY(classify_int, unsigned short)
-PPL_SPECIALIZE_CLASSIFY(classify_int, unsigned int)
-PPL_SPECIALIZE_CLASSIFY(classify_int, unsigned long)
-PPL_SPECIALIZE_CLASSIFY(classify_int, unsigned long long)
+inline void
+float_ieee754_quad::build(bool negative, mpz_t mantissa, int exponent) {
+  uint64_t parts[2];
+  mpz_export(parts, 0, -1, 8, 0, 0, mantissa);
+  lsp = parts[0];
+  msp = parts[1];
+  msp &= ((1ULL << (MANTISSA_BITS - 64)) - 1);
+  if (negative)
+    msp |= MSP_SGN_MASK;
+  msp |= static_cast<uint64_t>(exponent + EXPONENT_BIAS)
+    << (MANTISSA_BITS - 64);
+}
 
-template <typename Policy, typename Type>
-inline bool
-is_nan_int(const Type v) {
-  return Policy::has_nan && v == Extended_Int<Policy, Type>::not_a_number;
+#if PPL_SUPPORTED_FLOAT
+inline
+Float<float>::Float() {
 }
 
-PPL_SPECIALIZE_IS_NAN(is_nan_int, signed char)
-PPL_SPECIALIZE_IS_NAN(is_nan_int, signed short)
-PPL_SPECIALIZE_IS_NAN(is_nan_int, signed int)
-PPL_SPECIALIZE_IS_NAN(is_nan_int, signed long)
-PPL_SPECIALIZE_IS_NAN(is_nan_int, signed long long)
-PPL_SPECIALIZE_IS_NAN(is_nan_int, unsigned char)
-PPL_SPECIALIZE_IS_NAN(is_nan_int, unsigned short)
-PPL_SPECIALIZE_IS_NAN(is_nan_int, unsigned int)
-PPL_SPECIALIZE_IS_NAN(is_nan_int, unsigned long)
-PPL_SPECIALIZE_IS_NAN(is_nan_int, unsigned long long)
+inline
+Float<float>::Float(float v) {
+  u.number = v;
+}
 
-template <typename Policy, typename Type>
-inline bool
-is_minf_int(const Type v) {
-  return Policy::has_infinity
-    && v == Extended_Int<Policy, Type>::minus_infinity;
+inline float
+Float<float>::value() {
+  return u.number;
 }
+#endif
 
-PPL_SPECIALIZE_IS_MINF(is_minf_int, signed char)
-PPL_SPECIALIZE_IS_MINF(is_minf_int, signed short)
-PPL_SPECIALIZE_IS_MINF(is_minf_int, signed int)
-PPL_SPECIALIZE_IS_MINF(is_minf_int, signed long)
-PPL_SPECIALIZE_IS_MINF(is_minf_int, signed long long)
-PPL_SPECIALIZE_IS_MINF(is_minf_int, unsigned char)
-PPL_SPECIALIZE_IS_MINF(is_minf_int, unsigned short)
-PPL_SPECIALIZE_IS_MINF(is_minf_int, unsigned int)
-PPL_SPECIALIZE_IS_MINF(is_minf_int, unsigned long)
-PPL_SPECIALIZE_IS_MINF(is_minf_int, unsigned long long)
+#if PPL_SUPPORTED_DOUBLE
+inline
+Float<double>::Float() {
+}
 
-template <typename Policy, typename Type>
-inline bool
-is_pinf_int(const Type v) {
-  return Policy::has_infinity
-    && v == Extended_Int<Policy, Type>::plus_infinity;
+inline
+Float<double>::Float(double v) {
+  u.number = v;
 }
 
-PPL_SPECIALIZE_IS_PINF(is_pinf_int, signed char)
-PPL_SPECIALIZE_IS_PINF(is_pinf_int, signed short)
-PPL_SPECIALIZE_IS_PINF(is_pinf_int, signed int)
-PPL_SPECIALIZE_IS_PINF(is_pinf_int, signed long)
-PPL_SPECIALIZE_IS_PINF(is_pinf_int, signed long long)
-PPL_SPECIALIZE_IS_PINF(is_pinf_int, unsigned char)
-PPL_SPECIALIZE_IS_PINF(is_pinf_int, unsigned short)
-PPL_SPECIALIZE_IS_PINF(is_pinf_int, unsigned int)
-PPL_SPECIALIZE_IS_PINF(is_pinf_int, unsigned long)
-PPL_SPECIALIZE_IS_PINF(is_pinf_int, unsigned long long)
+inline double
+Float<double>::value() {
+  return u.number;
+}
+#endif
 
-template <typename Policy, typename Type>
-inline bool
-is_int_int(const Type v) {
-  return !is_nan<Policy>(v);
+#if PPL_SUPPORTED_LONG_DOUBLE
+inline
+Float<long double>::Float() {
 }
 
-PPL_SPECIALIZE_IS_INT(is_int_int, signed char)
-PPL_SPECIALIZE_IS_INT(is_int_int, signed short)
-PPL_SPECIALIZE_IS_INT(is_int_int, signed int)
-PPL_SPECIALIZE_IS_INT(is_int_int, signed long)
-PPL_SPECIALIZE_IS_INT(is_int_int, signed long long)
-PPL_SPECIALIZE_IS_INT(is_int_int, unsigned char)
-PPL_SPECIALIZE_IS_INT(is_int_int, unsigned short)
-PPL_SPECIALIZE_IS_INT(is_int_int, unsigned int)
-PPL_SPECIALIZE_IS_INT(is_int_int, unsigned long)
-PPL_SPECIALIZE_IS_INT(is_int_int, unsigned long long)
+inline
+Float<long double>::Float(long double v) {
+  u.number = v;
+}
 
-template <typename Policy, typename Type>
-inline Result
-assign_special_int(Type& v, Result r, Rounding_Dir dir) {
-  Result t = classify(r);
-  switch (t) {
-  case VC_NAN:
-    if (Policy::has_nan)
-      v = Extended_Int<Policy, Type>::not_a_number;
-    break;
-  case VC_MINUS_INFINITY:
-    if (Policy::has_infinity) {
-      v = Extended_Int<Policy, Type>::minus_infinity;
-      return V_EQ;
-    }
-    if (round_up(dir)) {
-      v = Extended_Int<Policy, Type>::min;
-      return V_LT;
-    }
-    break;
-  case VC_PLUS_INFINITY:
-    if (Policy::has_infinity) {
-      v = Extended_Int<Policy, Type>::plus_infinity;
-      return V_EQ;
-    }
-    if (round_down(dir)) {
-      v = Extended_Int<Policy, Type>::max;
-      return V_GT;
-    }
-    break;
-  default:
-    assert(0);
-    break;
-  }
-  return r;
+inline long double
+Float<long double>::value() {
+  return u.number;
 }
+#endif
 
-PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, signed char)
-PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, signed short)
-PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, signed int)
-PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, signed long)
-PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, signed long long)
-PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, unsigned char)
-PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, unsigned short)
-PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, unsigned int)
-PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, unsigned long)
-PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, unsigned long long)
 
-template <typename To_Policy, typename From_Policy, typename To, typename From>
-inline Result
-assign_signed_int_signed_int(To& to, const From from, Rounding_Dir dir) {
-  if (sizeof(To) < sizeof(From)
-      || (sizeof(To) == sizeof(From)
-	  && (Extended_Int<To_Policy, To>::min > Extended_Int<From_Policy, From>::min
-	      || Extended_Int<To_Policy, To>::max < Extended_Int<From_Policy, From>::max))) {
-    if (CHECK_P(To_Policy::check_overflow,
-		from < static_cast<From>(Extended_Int<To_Policy, To>::min)))
-      return set_neg_overflow_int<To_Policy>(to, dir);
-    if (CHECK_P(To_Policy::check_overflow,
-		from > static_cast<From>(Extended_Int<To_Policy, To>::max)))
-      return set_pos_overflow_int<To_Policy>(to, dir);
-  }
-  to = To(from);
-  return V_EQ;
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Float.defs.hh line 365. */
+
+/* Automatically generated from PPL source file ../src/checked.defs.hh line 33. */
+
+namespace Parma_Polyhedra_Library {
+
+namespace Checked {
+
+
+// It is a pity that function partial specialization is not permitted
+// by C++.  To (partly) overcome this limitation, we use class
+// encapsulated functions and partial specialization of containing
+// classes.
+
+#define PPL_FUNCTION_CLASS(name) name ## _function_struct
+
+#define PPL_DECLARE_FUN1_0_0(name, ret_type, qual, type)            \
+  template <typename Policy, typename type>                         \
+  struct PPL_FUNCTION_CLASS(name);                                  \
+  template <typename Policy, typename type>                         \
+  inline ret_type name(qual type& arg) {                            \
+    return PPL_FUNCTION_CLASS(name)<Policy, type>::function(arg);   \
 }
 
-template <typename To_Policy, typename From_Policy, typename To, typename From>
-inline Result
-assign_signed_int_unsigned_int(To& to, const From from, Rounding_Dir dir) {
-  if (sizeof(To) <= sizeof(From)) {
-    if (CHECK_P(To_Policy::check_overflow,
-		from > static_cast<From>(Extended_Int<To_Policy, To>::max)))
-      return set_pos_overflow_int<To_Policy>(to, dir);
+#define PPL_DECLARE_FUN1_0_1(name, ret_type, qual, type, after1)        \
+  template <typename Policy, typename type>                             \
+  struct PPL_FUNCTION_CLASS(name);                                      \
+  template <typename Policy, typename type>                             \
+  inline ret_type name(qual type& arg, after1 a1) {                     \
+    return PPL_FUNCTION_CLASS(name)<Policy, type>::function(arg, a1);   \
   }
-  to = To(from);
-  return V_EQ;
-}
 
-template <typename To_Policy, typename From_Policy, typename To, typename From>
-inline Result
-assign_unsigned_int_signed_int(To& to, const From from, Rounding_Dir dir) {
-  if (CHECK_P(To_Policy::check_overflow, from < 0))
-    return set_neg_overflow_int<To_Policy>(to, dir);
-  if (sizeof(To) < sizeof(From)) {
-    if (CHECK_P(To_Policy::check_overflow,
-		from > static_cast<From>(Extended_Int<To_Policy, To>::max)))
-      return set_pos_overflow_int<To_Policy>(to, dir);
+#define PPL_DECLARE_FUN1_0_2(name, ret_type, qual, type, after1, after2) \
+  template <typename Policy, typename type>                             \
+  struct PPL_FUNCTION_CLASS(name);                                      \
+  template <typename Policy, typename type>                             \
+  inline ret_type name(qual type& arg, after1 a1, after2 a2) {          \
+    return PPL_FUNCTION_CLASS(name)<Policy, type>::function(arg, a1, a2); \
   }
-  to = To(from);
-  return V_EQ;
-}
 
-template <typename To_Policy, typename From_Policy, typename To, typename From>
-inline Result
-assign_unsigned_int_unsigned_int(To& to, const From from, Rounding_Dir dir) {
-  if (sizeof(To) < sizeof(From)
-      || (sizeof(To) == sizeof(From)
-	  && Extended_Int<To_Policy, To>::max < Extended_Int<From_Policy, From>::max)) {
-    if (CHECK_P(To_Policy::check_overflow,
-		from > static_cast<From>(Extended_Int<To_Policy, To>::max)))
-      return set_pos_overflow_int<To_Policy>(to, dir);
+#define PPL_DECLARE_FUN1_0_3(name, ret_type, qual, type,                \
+                             after1, after2, after3)                    \
+  template <typename Policy, typename type>                             \
+  struct PPL_FUNCTION_CLASS(name);                                      \
+  template <typename Policy, typename type>                             \
+  inline ret_type name(qual type& arg,                                  \
+                       after1 a1, after2 a2, after3 a3) {               \
+    return PPL_FUNCTION_CLASS(name)<Policy, type>::function(arg,        \
+                                                            a1, a2, a3); \
   }
-  to = To(from);
-  return V_EQ;
-}
 
+#define PPL_DECLARE_FUN1_1_1(name, ret_type, before1, qual, type, after1) \
+  template <typename Policy, typename type>                             \
+  struct PPL_FUNCTION_CLASS(name);                                      \
+  template <typename Policy, typename type>                             \
+  inline ret_type name(before1 b1, qual type& arg, after1 a1) {         \
+    return PPL_FUNCTION_CLASS(name)<Policy, type>::function(b1, arg, a1); \
+  }
 
-#define PPL_ASSIGN2_SIGNED_SIGNED(Smaller, Larger) \
-PPL_SPECIALIZE_ASSIGN(assign_signed_int_signed_int, Smaller, Larger) \
-PPL_SPECIALIZE_ASSIGN(assign_signed_int_signed_int, Larger, Smaller)
+#define PPL_DECLARE_FUN1_1_2(name, ret_type, before1, qual, type,       \
+                             after1, after2)                            \
+  template <typename Policy, typename type>                             \
+  struct PPL_FUNCTION_CLASS(name);                                      \
+  template <typename Policy, typename type>                             \
+  inline ret_type name(before1 b1, qual type& arg,                      \
+                       after1 a1, after2 a2) {                          \
+    return PPL_FUNCTION_CLASS(name)<Policy, type>::function(b1, arg,    \
+                                                            a1, a2);    \
+  }
 
-#define PPL_ASSIGN2_UNSIGNED_UNSIGNED(Smaller, Larger) \
-PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_unsigned_int, Smaller, Larger) \
-PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_unsigned_int, Larger, Smaller)
+#define PPL_DECLARE_FUN1_2_2(name, ret_type, before1, before2, qual, type, \
+                             after1, after2)                            \
+  template <typename Policy, typename type>                             \
+  struct PPL_FUNCTION_CLASS(name);                                      \
+  template <typename Policy, typename type>                             \
+  inline ret_type name(before1 b1, before2 b2, qual type& arg,          \
+                       after1 a1, after2 a2) {                          \
+    return PPL_FUNCTION_CLASS(name)<Policy, type>::function(b1, b2, arg, \
+                                                            a1, a2);    \
+  }
 
-#define PPL_ASSIGN2_UNSIGNED_SIGNED(Smaller, Larger) \
-PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_signed_int, Smaller, Larger) \
-PPL_SPECIALIZE_ASSIGN(assign_signed_int_unsigned_int, Larger, Smaller)
+#define PPL_DECLARE_FUN2_0_0(name, ret_type, qual1, type1, qual2, type2) \
+  template <typename Policy1, typename Policy2,                         \
+            typename type1, typename type2>                             \
+  struct PPL_FUNCTION_CLASS(name);                                      \
+  template <typename Policy1, typename Policy2,                         \
+            typename type1, typename type2>                             \
+  inline ret_type name(qual1 type1& arg1, qual2 type2& arg2) {          \
+    return PPL_FUNCTION_CLASS(name)<Policy1, Policy2,                   \
+      type1, type2>::function(arg1, arg2);                              \
+  }
 
-#define PPL_ASSIGN2_SIGNED_UNSIGNED(Smaller, Larger) \
-PPL_SPECIALIZE_ASSIGN(assign_signed_int_unsigned_int, Smaller, Larger) \
-PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_signed_int, Larger, Smaller)
+#define PPL_DECLARE_FUN2_0_1(name, ret_type, qual1, type1,              \
+                             qual2, type2, after1)                      \
+  template <typename Policy1, typename Policy2,                         \
+            typename type1, typename type2>                             \
+  struct PPL_FUNCTION_CLASS(name);                                      \
+  template <typename Policy1, typename Policy2,                         \
+            typename type1, typename type2>                             \
+  inline ret_type name(qual1 type1& arg1, qual2 type2& arg2,            \
+                       after1 a1) {                                     \
+    return PPL_FUNCTION_CLASS(name)<Policy1, Policy2,                   \
+      type1, type2>::function(arg1, arg2, a1);                          \
+  }
 
-#define PPL_ASSIGN_SIGNED(Type) \
-PPL_SPECIALIZE_ASSIGN(assign_signed_int_signed_int, Type, Type)
-#define PPL_ASSIGN_UNSIGNED(Type) \
-PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_unsigned_int, Type, Type)
+#define PPL_DECLARE_FUN2_0_2(name, ret_type, qual1, type1, qual2, type2, \
+                             after1, after2)                            \
+  template <typename Policy1, typename Policy2,                         \
+            typename type1, typename type2>                             \
+  struct PPL_FUNCTION_CLASS(name);                                      \
+  template <typename Policy1, typename Policy2,                         \
+            typename type1, typename type2>                             \
+  inline ret_type name(qual1 type1& arg1, qual2 type2& arg2,            \
+                       after1 a1, after2 a2) {                          \
+    return PPL_FUNCTION_CLASS(name)<Policy1, Policy2,                   \
+      type1, type2>::function(arg1, arg2, a1, a2);                      \
+  }
 
-PPL_ASSIGN_SIGNED(signed char)
-PPL_ASSIGN_SIGNED(signed short)
-PPL_ASSIGN_SIGNED(signed int)
-PPL_ASSIGN_SIGNED(signed long)
-PPL_ASSIGN_SIGNED(signed long long)
-PPL_ASSIGN_UNSIGNED(unsigned char)
-PPL_ASSIGN_UNSIGNED(unsigned short)
-PPL_ASSIGN_UNSIGNED(unsigned int)
-PPL_ASSIGN_UNSIGNED(unsigned long)
-PPL_ASSIGN_UNSIGNED(unsigned long long)
+#define PPL_DECLARE_FUN3_0_1(name, ret_type, qual1, type1,              \
+                             qual2, type2, qual3, type3, after1)        \
+  template <typename Policy1, typename Policy2, typename Policy3,       \
+            typename type1, typename type2, typename type3>             \
+  struct PPL_FUNCTION_CLASS(name);                                      \
+  template <typename Policy1, typename Policy2, typename Policy3,       \
+            typename type1, typename type2, typename type3>             \
+  inline ret_type name(qual1 type1& arg1, qual2 type2& arg2,            \
+                       qual3 type3& arg3, after1 a1) {                  \
+    return PPL_FUNCTION_CLASS(name)<Policy1, Policy2, Policy3,          \
+      type1, type2, type3>::function(arg1, arg2, arg3, a1);             \
+  }
 
-PPL_ASSIGN2_SIGNED_SIGNED(signed char, signed short)
-PPL_ASSIGN2_SIGNED_SIGNED(signed char, signed int)
-PPL_ASSIGN2_SIGNED_SIGNED(signed char, signed long)
-PPL_ASSIGN2_SIGNED_SIGNED(signed char, signed long long)
-PPL_ASSIGN2_SIGNED_SIGNED(signed short, signed int)
-PPL_ASSIGN2_SIGNED_SIGNED(signed short, signed long)
-PPL_ASSIGN2_SIGNED_SIGNED(signed short, signed long long)
-PPL_ASSIGN2_SIGNED_SIGNED(signed int, signed long)
-PPL_ASSIGN2_SIGNED_SIGNED(signed int, signed long long)
-PPL_ASSIGN2_SIGNED_SIGNED(signed long, signed long long)
-PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned char, unsigned short)
-PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned char, unsigned int)
-PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned char, unsigned long)
-PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned char, unsigned long long)
-PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned short, unsigned int)
-PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned short, unsigned long)
-PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned short, unsigned long long)
-PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned int, unsigned long)
-PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned int, unsigned long long)
-PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned long, unsigned long long)
-PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned char, signed short)
-PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned char, signed int)
-PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned char, signed long)
-PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned char, signed long long)
-PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned short, signed int)
-PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned short, signed long)
-PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned short, signed long long)
-PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned int, signed long)
-PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned int, signed long long)
-PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned long, signed long long)
-PPL_ASSIGN2_SIGNED_UNSIGNED(signed char, unsigned char)
-PPL_ASSIGN2_SIGNED_UNSIGNED(signed char, unsigned short)
-PPL_ASSIGN2_SIGNED_UNSIGNED(signed char, unsigned int)
-PPL_ASSIGN2_SIGNED_UNSIGNED(signed char, unsigned long)
-PPL_ASSIGN2_SIGNED_UNSIGNED(signed char, unsigned long long)
-PPL_ASSIGN2_SIGNED_UNSIGNED(signed short, unsigned short)
-PPL_ASSIGN2_SIGNED_UNSIGNED(signed short, unsigned int)
-PPL_ASSIGN2_SIGNED_UNSIGNED(signed short, unsigned long)
-PPL_ASSIGN2_SIGNED_UNSIGNED(signed short, unsigned long long)
-PPL_ASSIGN2_SIGNED_UNSIGNED(signed int, unsigned int)
-PPL_ASSIGN2_SIGNED_UNSIGNED(signed int, unsigned long)
-PPL_ASSIGN2_SIGNED_UNSIGNED(signed int, unsigned long long)
-PPL_ASSIGN2_SIGNED_UNSIGNED(signed long, unsigned long)
-PPL_ASSIGN2_SIGNED_UNSIGNED(signed long, unsigned long long)
-PPL_ASSIGN2_SIGNED_UNSIGNED(signed long long, unsigned long long)
-
-template <typename To_Policy, typename From_Policy, typename To, typename From>
-inline Result
-assign_int_float(To& to, const From from, Rounding_Dir dir) {
-  if (is_nan<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-#if 0
-  // FIXME: this is correct but it is inefficient and breaks the build
-  // for the missing definition of static const members (a problem present
-  // also in other areas of the PPL).
-  if (CHECK_P(To_Policy::check_overflow, lt(from, Extended_Int<To_Policy, To>::min)))
-    return set_neg_overflow_int<To_Policy>(to, dir);
-  if (CHECK_P(To_Policy::check_overflow, !le(from, Extended_Int<To_Policy, To>::max)))
-    return set_pos_overflow_int<To_Policy>(to, dir);
-#else
-  if (CHECK_P(To_Policy::check_overflow, (from < Extended_Int<To_Policy, To>::min)))
-    return set_neg_overflow_int<To_Policy>(to, dir);
-  if (CHECK_P(To_Policy::check_overflow, (from > Extended_Int<To_Policy, To>::max)))
-    return set_pos_overflow_int<To_Policy>(to, dir);
-#endif
-  From i_from = rint(from);
-  to = static_cast<To>(i_from);
-  if (round_ignore(dir))
-    return V_LGE;
-  if (from < i_from)
-    return round_lt_int<To_Policy>(to, dir);
-  else if (from > i_from)
-    return round_gt_int<To_Policy>(to, dir);
-  else
-    return V_EQ;
-}
-
-PPL_SPECIALIZE_ASSIGN(assign_int_float, signed char, float)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, signed short, float)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, signed int, float)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, signed long, float)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, signed long long, float)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned char, float)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned short, float)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned int, float)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned long, float)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned long long, float)
-
-PPL_SPECIALIZE_ASSIGN(assign_int_float, signed char, double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, signed short, double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, signed int, double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, signed long, double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, signed long long, double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned char, double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned short, double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned int, double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned long, double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned long long, double)
-
-PPL_SPECIALIZE_ASSIGN(assign_int_float, signed char, long double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, signed short, long double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, signed int, long double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, signed long, long double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, signed long long, long double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned char, long double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned short, long double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned int, long double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned long, long double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned long long, long double)
-
-#undef PPL_ASSIGN_SIGNED
-#undef PPL_ASSIGN_UNSIGNED
-#undef PPL_ASSIGN2_SIGNED_SIGNED
-#undef PPL_ASSIGN2_UNSIGNED_UNSIGNED
-#undef PPL_ASSIGN2_UNSIGNED_SIGNED
-#undef PPL_ASSIGN2_SIGNED_UNSIGNED
-
-template <typename To_Policy, typename From_Policy, typename To>
-inline Result
-assign_signed_int_mpz(To& to, const mpz_class& from, Rounding_Dir dir) {
-  if (sizeof(To) <= sizeof(signed long)) {
-    if (!To_Policy::check_overflow) {
-      to = from.get_si();
-      return V_EQ;
-    }
-    if (from.fits_slong_p()) {
-      signed long v = from.get_si();
-      if (v < C_Integer<To>::min)
-	return set_neg_overflow_int<To_Policy>(to, dir);
-      if (v > C_Integer<To>::max)
-	return set_pos_overflow_int<To_Policy>(to, dir);
-      to = v;
-      return V_EQ;
-    }
-  }
-  else {
-    mpz_srcptr m = from.get_mpz_t();
-    size_t sz = mpz_size(m);
-    if (sz <= sizeof(To) / sizeof(mp_limb_t)) {
-      if (sz == 0) {
-	to = 0;
-	return V_EQ;
-      }
-      To v;
-      mpz_export(&v, 0, -1, sizeof(To), 0, 0, m);
-      if (v >= 0) {
-	if (::sgn(from) < 0)
-	  return neg<To_Policy, To_Policy>(to, v, dir);
-	to = v;
-	return V_EQ;
-      }
-    }
+#define PPL_DECLARE_FUN5_0_1(name, ret_type,				\
+                             qual1, type1, qual2, type2, qual3, type3,	\
+                             qual4, type4, qual5, type5,                \
+                             after1)					\
+  template <typename Policy1, typename Policy2, typename Policy3,       \
+            typename Policy4,typename Policy5,				\
+            typename type1, typename type2, typename type3,		\
+            typename type4, typename type5>				\
+  struct PPL_FUNCTION_CLASS(name);                                      \
+  template <typename Policy1, typename Policy2, typename Policy3,       \
+            typename Policy4,typename Policy5,				\
+            typename type1, typename type2, typename type3,		\
+            typename type4, typename type5>				\
+  inline ret_type name(qual1 type1& arg1, qual2 type2& arg2,		\
+                       qual3 type3& arg3, qual4 type4& arg4,		\
+                       qual5 type5& arg5,	after1 a1) {            \
+    return PPL_FUNCTION_CLASS(name)<Policy1, Policy2, Policy3,          \
+      Policy4, Policy5, type1, type2, type3, type4, type5>              \
+      ::function(arg1, arg2, arg3, arg4, arg5, a1);			\
   }
-  return ::sgn(from) < 0
-    ? set_neg_overflow_int<To_Policy>(to, dir)
-    : set_pos_overflow_int<To_Policy>(to, dir);
-}
 
-PPL_SPECIALIZE_ASSIGN(assign_signed_int_mpz, signed char, mpz_class)
-PPL_SPECIALIZE_ASSIGN(assign_signed_int_mpz, signed short, mpz_class)
-PPL_SPECIALIZE_ASSIGN(assign_signed_int_mpz, signed int, mpz_class)
-PPL_SPECIALIZE_ASSIGN(assign_signed_int_mpz, signed long, mpz_class)
-PPL_SPECIALIZE_ASSIGN(assign_signed_int_mpz, signed long long, mpz_class)
+#define PPL_SPECIALIZE_FUN1_0_0(name, func, ret_type, qual, type)       \
+  template <typename Policy>                                            \
+  struct PPL_FUNCTION_CLASS(name)<Policy, type> {                       \
+    static inline ret_type function(qual type& arg) {                   \
+      return func<Policy>(arg);                                         \
+    }                                                                   \
+  };
 
-template <typename To_Policy, typename From_Policy, typename To>
-inline Result
-assign_unsigned_int_mpz(To& to, const mpz_class& from, Rounding_Dir dir) {
-  if (CHECK_P(To_Policy::check_overflow, ::sgn(from) < 0))
-    return set_neg_overflow_int<To_Policy>(to, dir);
-  if (sizeof(To) <= sizeof(unsigned long)) {
-    if (!To_Policy::check_overflow) {
-      to = from.get_ui();
-      return V_EQ;
-    }
-    if (from.fits_ulong_p()) {
-      unsigned long v = from.get_ui();
-      if (v > C_Integer<To>::max)
-	return set_pos_overflow_int<To_Policy>(to, dir);
-      to = v;
-      return V_EQ;
-    }
-  }
-  else {
-    mpz_srcptr m = from.get_mpz_t();
-    size_t sz = mpz_size(m);
-    if (sz <= sizeof(To) / sizeof(mp_limb_t)) {
-      if (sz == 0)
-	to = 0;
-      else
-	mpz_export(&to, 0, -1, sizeof(To), 0, 0, m);
-      return V_EQ;
-    }
-  }
-  return set_pos_overflow_int<To_Policy>(to, dir);
-}
+#define PPL_SPECIALIZE_FUN1_0_1(name, func, ret_type, qual, type, after1) \
+  template <typename Policy>                                            \
+  struct PPL_FUNCTION_CLASS(name)<Policy, type> {                       \
+    static inline ret_type function(qual type& arg, after1 a1) {        \
+      return func<Policy>(arg, a1);                                     \
+    }                                                                   \
+  };
 
-PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, unsigned char, mpz_class)
-PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, unsigned short, mpz_class)
-PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, unsigned int, mpz_class)
-PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, unsigned long, mpz_class)
-PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, unsigned long long, mpz_class)
+#define PPL_SPECIALIZE_FUN1_0_2(name, func, ret_type, qual, type,       \
+                                after1, after2)                         \
+  template <typename Policy>                                            \
+  struct PPL_FUNCTION_CLASS(name)<Policy, type> {                       \
+    static inline ret_type function(qual type& arg,                     \
+                                    after1 a1, after2 a2) {             \
+      return func<Policy>(arg, a1, a2);                                 \
+    }                                                                   \
+  };
 
-template <typename To_Policy, typename From_Policy, typename To>
-inline Result
-assign_int_mpq(To& to, const mpq_class& from, Rounding_Dir dir) {
-  mpz_srcptr n = from.get_num().get_mpz_t();
-  mpz_srcptr d = from.get_den().get_mpz_t();
-  PPL_DIRTY_TEMP0(mpz_class, q);
-  mpz_ptr _q = q.get_mpz_t();
-  if (round_ignore(dir)) {
-    mpz_tdiv_q(_q, n, d);
-    Result r = assign<To_Policy, void>(to, q, dir);
-    if (r != V_EQ)
-      return r;
-    return V_LGE;
-  }
-  mpz_t rem;
-  int sign;
-  mpz_init(rem);
-  mpz_tdiv_qr(_q, rem, n, d);
-  sign = mpz_sgn(rem);
-  mpz_clear(rem);
-  Result r = assign<To_Policy, void>(to, q, dir);
-  if (r != V_EQ)
-    return r;
-  switch (sign) {
-  case -1:
-    return round_lt_int<To_Policy>(to, dir);
-  case 1:
-    return round_gt_int<To_Policy>(to, dir);
-  default:
-    return V_EQ;
-  }
-}
+#define PPL_SPECIALIZE_FUN1_0_3(name, func, ret_type, qual, type,       \
+                                after1, after2, after3)                 \
+  template <typename Policy>                                            \
+  struct PPL_FUNCTION_CLASS(name)<Policy, type> {                       \
+    static inline ret_type function(qual type& arg,                     \
+                                    after1 a1, after2 a2, after3 a3) {  \
+      return func<Policy>(arg, a1, a2, a3);                             \
+    }                                                                   \
+  };
 
-PPL_SPECIALIZE_ASSIGN(assign_int_mpq, signed char, mpq_class)
-PPL_SPECIALIZE_ASSIGN(assign_int_mpq, signed short, mpq_class)
-PPL_SPECIALIZE_ASSIGN(assign_int_mpq, signed int, mpq_class)
-PPL_SPECIALIZE_ASSIGN(assign_int_mpq, signed long, mpq_class)
-PPL_SPECIALIZE_ASSIGN(assign_int_mpq, signed long long, mpq_class)
-PPL_SPECIALIZE_ASSIGN(assign_int_mpq, unsigned char, mpq_class)
-PPL_SPECIALIZE_ASSIGN(assign_int_mpq, unsigned short, mpq_class)
-PPL_SPECIALIZE_ASSIGN(assign_int_mpq, unsigned int, mpq_class)
-PPL_SPECIALIZE_ASSIGN(assign_int_mpq, unsigned long, mpq_class)
-PPL_SPECIALIZE_ASSIGN(assign_int_mpq, unsigned long long, mpq_class)
+#define PPL_SPECIALIZE_FUN1_1_1(name, func, ret_type, before1,          \
+                                qual, type, after1)                     \
+  template <typename Policy>                                            \
+  struct PPL_FUNCTION_CLASS(name)<Policy, type> {                       \
+    static inline ret_type function(before1 b1, qual type& arg,         \
+                                    after1 a1) {                        \
+      return func<Policy>(b1, arg, a1);                                 \
+    }                                                                   \
+  };
 
-#if UCHAR_MAX == 0xff
-#define CHAR_BITS 8
-#else
-#error "Unexpected max for unsigned char"
-#endif
+#define PPL_SPECIALIZE_FUN1_1_2(name, func, ret_type, before1,          \
+                                qual, type, after1, after2)             \
+  template <typename Policy>                                            \
+  struct PPL_FUNCTION_CLASS(name)<Policy, type> {                       \
+    static inline ret_type function(before1 b1, qual type& arg,         \
+                                    after1 a1, after2 a2) {             \
+      return func<Policy>(b1, arg, a1, a2);                             \
+    }                                                                   \
+  };
 
-#if USHRT_MAX == 0xffff
-#define SHRT_BITS 16
-#else
-#error "Unexpected max for unsigned short"
-#endif
+#define PPL_SPECIALIZE_FUN1_2_2(name, func, ret_type, before1, before2, \
+                                qual, type, after1, after2)             \
+  template <typename Policy>                                            \
+  struct PPL_FUNCTION_CLASS(name)<Policy, type> {                       \
+    static inline ret_type function(before1 b1, before2 b2,             \
+                                    qual type& arg,                     \
+                                    after1 a1, after2 a2) {             \
+      return func<Policy>(b1, b2, arg, a1, a2);                         \
+    }                                                                   \
+  };
 
-#if UINT_MAX == 0xffffffff
-#define INT_BITS 32
-#else
-#error "Unexpected max for unsigned int"
-#endif
+#define PPL_SPECIALIZE_FUN2_0_0(name, func, ret_type, qual1, type1,     \
+                                qual2, type2)                           \
+  template <typename Policy1, typename Policy2>				\
+  struct PPL_FUNCTION_CLASS(name)<Policy1, Policy2, type1, type2> {     \
+    static inline ret_type function(qual1 type1& arg1,                  \
+                                    qual2 type2 &arg2) {                \
+      return func<Policy1, Policy2>(arg1, arg2);                        \
+    }                                                                   \
+  };
 
-#if ULONG_MAX == 0xffffffffUL
-#define LONG_BITS 32
-#elif ULONG_MAX == 0xffffffffffffffffULL
-#define LONG_BITS 64
-#else
-#error "Unexpected max for unsigned long"
-#endif
+#define PPL_SPECIALIZE_FUN2_0_1(name, func, ret_type, qual1, type1,     \
+                                qual2, type2, after1)                   \
+  template <typename Policy1, typename Policy2>                         \
+  struct PPL_FUNCTION_CLASS(name)<Policy1, Policy2, type1, type2> {     \
+    static inline ret_type function(qual1 type1& arg1,                  \
+                                    qual2 type2 &arg2, after1 a1) {     \
+      return func<Policy1, Policy2>(arg1, arg2, a1);                    \
+    }                                                                   \
+  };
 
-#if ULLONG_MAX == 0xffffffffffffffffULL
-#define LONG_LONG_BITS 64
-#else
-#error "Unexpected max for unsigned long long"
-#endif
+#define PPL_SPECIALIZE_FUN2_0_2(name, func, ret_type, qual1, type1,     \
+                                qual2, type2, after1, after2)           \
+  template <typename Policy1, typename Policy2>                         \
+ struct PPL_FUNCTION_CLASS(name)<Policy1, Policy2, type1, type2> {      \
+    static inline ret_type function(qual1 type1& arg1,                  \
+                                    qual2 type2 &arg2,                  \
+                                    after1 a1, after2 a2) {             \
+      return func<Policy1, Policy2>(arg1, arg2, a1, a2);                \
+    }                                                                   \
+  };
 
+#define PPL_SPECIALIZE_FUN3_0_1(name, func, ret_type, qual1, type1,     \
+                                qual2, type2, qual3, type3, after1)     \
+  template <typename Policy1, typename Policy2, typename Policy3>       \
+  struct PPL_FUNCTION_CLASS(name) <Policy1, Policy2, Policy3,           \
+                                   type1, type2, type3> {               \
+    static inline Result function(qual1 type1& arg1, qual2 type2 &arg2, \
+                                  qual3 type3 &arg3, after1 a1) {       \
+      return func<Policy1, Policy2, Policy3>(arg1, arg2, arg3, a1);     \
+    }                                                                   \
+  };
 
-template <typename T>
-struct Larger;
+#define PPL_SPECIALIZE_FUN5_0_1(name, func, ret_type,                   \
+                                qual1, type1, qual2, type2,             \
+                                qual3, type3,                           \
+                                qual4, type4, qual5, type5, after1)     \
+  template <typename Policy1, typename Policy2, typename Policy3,	\
+	    typename Policy4, typename Policy5>				\
+  struct PPL_FUNCTION_CLASS(name) <Policy1, Policy2, Policy3, Policy4,  \
+                                   Policy5,                             \
+                                   type1, type2, type3, type4, type5> {	\
+    static inline Result                                                \
+      function(qual1 type1& arg1, qual2 type2 &arg2, qual3 type3 &arg3,	\
+               qual4 type4 &arg4, qual5 type5 &arg5, after1 a1) {       \
+      return func<Policy1, Policy2, Policy3, Policy4, Policy5>(arg1,    \
+                                                               arg2,    \
+                                                               arg3,    \
+                                                               arg4,    \
+                                                               arg5,    \
+                                                               a1);     \
+    }									\
+};
 
-// The following may be tuned for performance on specific architectures.
-//
-// Current guidelines:
-//   - avoid division where possible (larger type variant for mul)
-//   - use larger type variant for types smaller than architecture bit size
+// The `nonconst' macro helps readability of the sequel.
+#ifdef nonconst
+#define PPL_SAVED_nonconst nonconst
+#undef nonconst
+#endif
+#define nonconst
 
-template <>
-struct Larger<signed char> {
-  const_bool_nodef(use_for_neg, true);
-  const_bool_nodef(use_for_add, true);
-  const_bool_nodef(use_for_sub, true);
-  const_bool_nodef(use_for_mul, true);
-  typedef int_fast16_t type_for_neg;
-  typedef int_fast16_t type_for_add;
-  typedef int_fast16_t type_for_sub;
-  typedef int_fast16_t type_for_mul;
-};
+#define PPL_SPECIALIZE_COPY(func, Type)                                 \
+  PPL_SPECIALIZE_FUN2_0_0(copy, func, void, nonconst, Type, const, Type)
+#define PPL_SPECIALIZE_SGN(func, From)                          \
+  PPL_SPECIALIZE_FUN1_0_0(sgn, func, Result_Relation, const, From)
+#define PPL_SPECIALIZE_CMP(func, Type1, Type2)                          \
+  PPL_SPECIALIZE_FUN2_0_0(cmp, func, Result_Relation, const, Type1, const, Type2)
+#define PPL_SPECIALIZE_CLASSIFY(func, Type)                             \
+  PPL_SPECIALIZE_FUN1_0_3(classify, func, Result, const, Type, bool, bool, bool)
+#define PPL_SPECIALIZE_IS_NAN(func, Type)                       \
+  PPL_SPECIALIZE_FUN1_0_0(is_nan, func, bool, const, Type)
+#define PPL_SPECIALIZE_IS_MINF(func, Type)                      \
+  PPL_SPECIALIZE_FUN1_0_0(is_minf, func, bool, const, Type)
+#define PPL_SPECIALIZE_IS_PINF(func, Type)                      \
+  PPL_SPECIALIZE_FUN1_0_0(is_pinf, func, bool, const, Type)
+#define PPL_SPECIALIZE_IS_INT(func, Type)                       \
+  PPL_SPECIALIZE_FUN1_0_0(is_int, func, bool, const, Type)
+#define PPL_SPECIALIZE_ASSIGN_SPECIAL(func, Type)                       \
+  PPL_SPECIALIZE_FUN1_0_2(assign_special, func, Result,                 \
+                          nonconst, Type, Result_Class, Rounding_Dir)
+#define PPL_SPECIALIZE_CONSTRUCT_SPECIAL(func, Type)                    \
+  PPL_SPECIALIZE_FUN1_0_2(construct_special, func, Result, nonconst,    \
+                          Type, Result_Class, Rounding_Dir)
+#define PPL_SPECIALIZE_CONSTRUCT(func, To, From)                        \
+  PPL_SPECIALIZE_FUN2_0_1(construct, func, Result, nonconst, To, \
+                          const, From, Rounding_Dir)
+#define PPL_SPECIALIZE_ASSIGN(func, To, From)                           \
+  PPL_SPECIALIZE_FUN2_0_1(assign, func, Result, nonconst, To,           \
+                          const, From, Rounding_Dir)
+#define PPL_SPECIALIZE_FLOOR(func, To, From)                            \
+  PPL_SPECIALIZE_FUN2_0_1(floor, func, Result, nonconst, To,            \
+                          const, From, Rounding_Dir)
+#define PPL_SPECIALIZE_CEIL(func, To, From)                             \
+  PPL_SPECIALIZE_FUN2_0_1(ceil, func, Result, nonconst, To, \
+                          const, From, Rounding_Dir)
+#define PPL_SPECIALIZE_TRUNC(func, To, From)                            \
+  PPL_SPECIALIZE_FUN2_0_1(trunc, func, Result, nonconst, To,            \
+                          const, From, Rounding_Dir)
+#define PPL_SPECIALIZE_NEG(func, To, From)                              \
+  PPL_SPECIALIZE_FUN2_0_1(neg, func, Result, nonconst, To,              \
+                          const, From, Rounding_Dir)
+#define PPL_SPECIALIZE_ABS(func, To, From)                              \
+  PPL_SPECIALIZE_FUN2_0_1(abs, func, Result, nonconst, To,              \
+                          const, From, Rounding_Dir)
+#define PPL_SPECIALIZE_SQRT(func, To, From)                             \
+  PPL_SPECIALIZE_FUN2_0_1(sqrt, func, Result, nonconst, To,             \
+                          const, From, Rounding_Dir)
+#define PPL_SPECIALIZE_ADD(func, To, From1, From2)                      \
+  PPL_SPECIALIZE_FUN3_0_1(add, func, Result, nonconst, To,              \
+                          const, From1, const, From2, Rounding_Dir)
+#define PPL_SPECIALIZE_SUB(func, To, From1, From2)                      \
+  PPL_SPECIALIZE_FUN3_0_1(sub, func, Result, nonconst, To,              \
+                          const, From1, const, From2, Rounding_Dir)
+#define PPL_SPECIALIZE_MUL(func, To, From1, From2)                      \
+  PPL_SPECIALIZE_FUN3_0_1(mul, func, Result, nonconst, To,              \
+                          const, From1, const, From2, Rounding_Dir)
+#define PPL_SPECIALIZE_DIV(func, To, From1, From2)                      \
+  PPL_SPECIALIZE_FUN3_0_1(div, func, Result, nonconst, To,              \
+                          const, From1, const, From2, Rounding_Dir)
+#define PPL_SPECIALIZE_REM(func, To, From1, From2)                      \
+  PPL_SPECIALIZE_FUN3_0_1(rem, func, Result, nonconst, To,              \
+                          const, From1, const, From2, Rounding_Dir)
+#define PPL_SPECIALIZE_IDIV(func, To, From1, From2)                     \
+  PPL_SPECIALIZE_FUN3_0_1(idiv, func, Result, nonconst, To,             \
+                          const, From1, const, From2, Rounding_Dir)
+#define PPL_SPECIALIZE_ADD_2EXP(func, To, From)                         \
+  PPL_SPECIALIZE_FUN2_0_2(add_2exp, func, Result, nonconst, To,         \
+                          const, From, unsigned int, Rounding_Dir)
+#define PPL_SPECIALIZE_SUB_2EXP(func, To, From)                         \
+  PPL_SPECIALIZE_FUN2_0_2(sub_2exp, func, Result, nonconst, To,         \
+                          const, From, unsigned int, Rounding_Dir)
+#define PPL_SPECIALIZE_MUL_2EXP(func, To, From)                         \
+  PPL_SPECIALIZE_FUN2_0_2(mul_2exp, func, Result, nonconst, To,         \
+                          const, From, unsigned int, Rounding_Dir)
+#define PPL_SPECIALIZE_DIV_2EXP(func, To, From)                         \
+  PPL_SPECIALIZE_FUN2_0_2(div_2exp, func, Result, nonconst, To,         \
+                          const, From, unsigned int, Rounding_Dir)
+#define PPL_SPECIALIZE_SMOD_2EXP(func, To, From)			\
+  PPL_SPECIALIZE_FUN2_0_2(smod_2exp, func, Result, nonconst, To,	\
+                          const, From, unsigned int, Rounding_Dir)
+#define PPL_SPECIALIZE_UMOD_2EXP(func, To, From)			\
+  PPL_SPECIALIZE_FUN2_0_2(umod_2exp, func, Result, nonconst, To,	\
+                          const, From, unsigned int, Rounding_Dir)
+#define PPL_SPECIALIZE_ADD_MUL(func, To, From1, From2)                  \
+  PPL_SPECIALIZE_FUN3_0_1(add_mul, func, Result, nonconst, To,          \
+                          const, From1, const, From2, Rounding_Dir)
+#define PPL_SPECIALIZE_SUB_MUL(func, To, From1, From2)                  \
+  PPL_SPECIALIZE_FUN3_0_1(sub_mul, func, Result, nonconst, To,          \
+                          const, From1, const, From2, Rounding_Dir)
+#define PPL_SPECIALIZE_GCD(func, To, From1, From2)                      \
+  PPL_SPECIALIZE_FUN3_0_1(gcd, func, Result, nonconst, To,              \
+                          const, From1, const, From2, Rounding_Dir)
+#define PPL_SPECIALIZE_GCDEXT(func, To1, From1, From2, To2, To3)        \
+  PPL_SPECIALIZE_FUN5_0_1(gcdext, func, Result, nonconst, To1,		\
+                          nonconst, To2, nonconst, To3,                 \
+                          const, From1, const, From2, Rounding_Dir)
+#define PPL_SPECIALIZE_LCM(func, To, From1, From2)                      \
+  PPL_SPECIALIZE_FUN3_0_1(lcm, func, Result, nonconst, To,              \
+                          const, From1, const, From2, Rounding_Dir)
+#define PPL_SPECIALIZE_INPUT(func, Type)                                \
+  PPL_SPECIALIZE_FUN1_0_2(input, func, Result, nonconst, Type,          \
+                          std::istream&, Rounding_Dir)
+#define PPL_SPECIALIZE_OUTPUT(func, Type)                               \
+  PPL_SPECIALIZE_FUN1_1_2(output, func, Result, std::ostream&,          \
+                          const, Type,                                  \
+                          const Numeric_Format&, Rounding_Dir)
 
-template <>
-struct Larger<unsigned char> {
-  const_bool_nodef(use_for_neg, true);
-  const_bool_nodef(use_for_add, true);
-  const_bool_nodef(use_for_sub, true);
-  const_bool_nodef(use_for_mul, true);
-  typedef int_fast16_t type_for_neg;
-  typedef uint_fast16_t type_for_add;
-  typedef int_fast16_t type_for_sub;
-  typedef uint_fast16_t type_for_mul;
-};
 
-template <>
-struct Larger<signed short> {
-  const_bool_nodef(use_for_neg, true);
-  const_bool_nodef(use_for_add, true);
-  const_bool_nodef(use_for_sub, true);
-  const_bool_nodef(use_for_mul, true);
-  typedef int_fast32_t type_for_neg;
-  typedef int_fast32_t type_for_add;
-  typedef int_fast32_t type_for_sub;
-  typedef int_fast32_t type_for_mul;
-};
+PPL_DECLARE_FUN2_0_0(copy,
+                     void, nonconst, Type1, const, Type2)
+PPL_DECLARE_FUN1_0_0(sgn,
+                     Result_Relation, const, From)
+PPL_DECLARE_FUN2_0_0(cmp,
+                     Result_Relation, const, Type1, const, Type2)
+PPL_DECLARE_FUN1_0_3(classify,
+                     Result, const, Type, bool, bool, bool)
+PPL_DECLARE_FUN1_0_0(is_nan,
+                     bool, const, Type)
+PPL_DECLARE_FUN1_0_0(is_minf,
+                     bool, const, Type)
+PPL_DECLARE_FUN1_0_0(is_pinf,
+                     bool, const, Type)
+PPL_DECLARE_FUN1_0_0(is_int,
+                     bool, const, Type)
+PPL_DECLARE_FUN1_0_2(assign_special,
+                     Result, nonconst, Type, Result_Class, Rounding_Dir)
+PPL_DECLARE_FUN1_0_2(construct_special,
+                     Result, nonconst, Type, Result_Class, Rounding_Dir)
+PPL_DECLARE_FUN2_0_1(construct,
+                     Result, nonconst, To, const, From, Rounding_Dir)
+PPL_DECLARE_FUN2_0_1(assign,
+                     Result, nonconst, To, const, From, Rounding_Dir)
+PPL_DECLARE_FUN2_0_1(floor,
+                     Result, nonconst, To, const, From, Rounding_Dir)
+PPL_DECLARE_FUN2_0_1(ceil,
+                     Result, nonconst, To, const, From, Rounding_Dir)
+PPL_DECLARE_FUN2_0_1(trunc,
+                     Result, nonconst, To, const, From, Rounding_Dir)
+PPL_DECLARE_FUN2_0_1(neg,
+                     Result, nonconst, To, const, From, Rounding_Dir)
+PPL_DECLARE_FUN2_0_1(abs,
+                     Result, nonconst, To, const, From, Rounding_Dir)
+PPL_DECLARE_FUN2_0_1(sqrt,
+                     Result, nonconst, To, const, From, Rounding_Dir)
+PPL_DECLARE_FUN3_0_1(add,
+                     Result, nonconst, To,
+                     const, From1, const, From2, Rounding_Dir)
+PPL_DECLARE_FUN3_0_1(sub,
+                     Result, nonconst, To,
+                     const, From1, const, From2, Rounding_Dir)
+PPL_DECLARE_FUN3_0_1(mul,
+                     Result, nonconst, To,
+                     const, From1, const, From2, Rounding_Dir)
+PPL_DECLARE_FUN3_0_1(div,
+                     Result, nonconst, To,
+                     const, From1, const, From2, Rounding_Dir)
+PPL_DECLARE_FUN3_0_1(rem,
+                     Result, nonconst, To,
+                     const, From1, const, From2, Rounding_Dir)
+PPL_DECLARE_FUN3_0_1(idiv,
+                     Result, nonconst, To,
+                     const, From1, const, From2, Rounding_Dir)
+PPL_DECLARE_FUN2_0_2(add_2exp,
+                     Result, nonconst, To,
+                     const, From, unsigned int, Rounding_Dir)
+PPL_DECLARE_FUN2_0_2(sub_2exp,
+                     Result, nonconst, To,
+                     const, From, unsigned int, Rounding_Dir)
+PPL_DECLARE_FUN2_0_2(mul_2exp,
+                     Result, nonconst, To,
+                     const, From, unsigned int, Rounding_Dir)
+PPL_DECLARE_FUN2_0_2(div_2exp,
+                     Result, nonconst, To,
+                     const, From, unsigned int, Rounding_Dir)
+PPL_DECLARE_FUN2_0_2(smod_2exp,
+                     Result, nonconst, To,
+                     const, From, unsigned int, Rounding_Dir)
+PPL_DECLARE_FUN2_0_2(umod_2exp,
+                     Result, nonconst, To,
+                     const, From, unsigned int, Rounding_Dir)
+PPL_DECLARE_FUN3_0_1(add_mul,
+                     Result, nonconst, To,
+                     const, From1, const, From2, Rounding_Dir)
+PPL_DECLARE_FUN3_0_1(sub_mul,
+                     Result, nonconst, To,
+                     const, From1, const, From2, Rounding_Dir)
+PPL_DECLARE_FUN3_0_1(gcd,
+                     Result, nonconst, To,
+                     const, From1, const, From2, Rounding_Dir)
+PPL_DECLARE_FUN5_0_1(gcdext,
+                     Result, nonconst, To1, nonconst, To2, nonconst, To3,
+                     const, From1, const, From2, Rounding_Dir)
+PPL_DECLARE_FUN3_0_1(lcm,
+                     Result, nonconst, To,
+                     const, From1, const, From2, Rounding_Dir)
+PPL_DECLARE_FUN1_0_2(input,
+                     Result, nonconst, Type, std::istream&, Rounding_Dir)
+PPL_DECLARE_FUN1_1_2(output,
+                     Result, std::ostream&, const, Type,
+                     const Numeric_Format&, Rounding_Dir)
 
-template <>
-struct Larger<unsigned short> {
-  const_bool_nodef(use_for_neg, true);
-  const_bool_nodef(use_for_add, true);
-  const_bool_nodef(use_for_sub, true);
-  const_bool_nodef(use_for_mul, true);
-  typedef int_fast32_t type_for_neg;
-  typedef uint_fast32_t type_for_add;
-  typedef int_fast32_t type_for_sub;
-  typedef uint_fast32_t type_for_mul;
-};
+#undef PPL_DECLARE_FUN1_0_0
+#undef PPL_DECLARE_FUN1_0_1
+#undef PPL_DECLARE_FUN1_0_2
+#undef PPL_DECLARE_FUN1_0_3
+#undef PPL_DECLARE_FUN1_1_1
+#undef PPL_DECLARE_FUN1_1_2
+#undef PPL_DECLARE_FUN1_2_2
+#undef PPL_DECLARE_FUN2_0_0
+#undef PPL_DECLARE_FUN2_0_1
+#undef PPL_DECLARE_FUN2_0_2
+#undef PPL_DECLARE_FUN3_0_1
+#undef PPL_DECLARE_FUN5_0_1
 
-template <>
-struct Larger<signed int> {
-  const_bool_nodef(use_for_neg, (LONG_BITS == 64));
-  const_bool_nodef(use_for_add, (LONG_BITS == 64));
-  const_bool_nodef(use_for_sub, (LONG_BITS == 64));
-  const_bool_nodef(use_for_mul, true);
-  typedef int_fast64_t type_for_neg;
-  typedef int_fast64_t type_for_add;
-  typedef int_fast64_t type_for_sub;
-  typedef int_fast64_t type_for_mul;
-};
+template <typename Policy, typename To>
+Result round(To& to, Result r, Rounding_Dir dir);
 
-template <>
-struct Larger<unsigned int> {
-  const_bool_nodef(use_for_neg, (LONG_BITS == 64));
-  const_bool_nodef(use_for_add, (LONG_BITS == 64));
-  const_bool_nodef(use_for_sub, (LONG_BITS == 64));
-  const_bool_nodef(use_for_mul, true);
-  typedef int_fast64_t type_for_neg;
-  typedef uint_fast64_t type_for_add;
-  typedef int_fast64_t type_for_sub;
-  typedef uint_fast64_t type_for_mul;
-};
+Result input_mpq(mpq_class& to, std::istream& is);
 
-template <>
-struct Larger<signed long> {
-  const_bool_nodef(use_for_neg, false);
-  const_bool_nodef(use_for_add, false);
-  const_bool_nodef(use_for_sub, false);
-  const_bool_nodef(use_for_mul, (LONG_BITS == 32));
-  typedef int_fast64_t type_for_neg;
-  typedef int_fast64_t type_for_add;
-  typedef int_fast64_t type_for_sub;
-  typedef int_fast64_t type_for_mul;
+} // namespace Checked
+
+struct Minus_Infinity {
+  static const Result_Class vclass = VC_MINUS_INFINITY;
+};
+struct Plus_Infinity {
+  static const Result_Class vclass = VC_PLUS_INFINITY;
+};
+struct Not_A_Number {
+  static const Result_Class vclass = VC_NAN;
 };
 
+template <typename T>
+struct Is_Special : public False { };
+
 template <>
-struct Larger<unsigned long> {
-  const_bool_nodef(use_for_neg, false);
-  const_bool_nodef(use_for_add, false);
-  const_bool_nodef(use_for_sub, false);
-  const_bool_nodef(use_for_mul, (LONG_BITS == 32));
-  typedef int_fast64_t type_for_neg;
-  typedef uint_fast64_t type_for_add;
-  typedef int_fast64_t type_for_sub;
-  typedef uint_fast64_t type_for_mul;
-};
+struct Is_Special<Minus_Infinity> : public True {};
 
 template <>
-struct Larger<signed long long> {
-  const_bool_nodef(use_for_neg, false);
-  const_bool_nodef(use_for_add, false);
-  const_bool_nodef(use_for_sub, false);
-  const_bool_nodef(use_for_mul, false);
-  typedef int_fast64_t type_for_neg;
-  typedef int_fast64_t type_for_add;
-  typedef int_fast64_t type_for_sub;
-  typedef int_fast64_t type_for_mul;
-};
+struct Is_Special<Plus_Infinity> : public True {};
 
 template <>
-struct Larger<unsigned long long> {
-  const_bool_nodef(use_for_neg, false);
-  const_bool_nodef(use_for_add, false);
-  const_bool_nodef(use_for_sub, false);
-  const_bool_nodef(use_for_mul, false);
-  typedef int_fast64_t type_for_neg;
-  typedef uint_fast64_t type_for_add;
-  typedef int_fast64_t type_for_sub;
-  typedef uint_fast64_t type_for_mul;
-};
+struct Is_Special<Not_A_Number> : public True {};
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-neg_int_larger(Type& to, const Type x, Rounding_Dir dir) {
-  typename Larger<Type>::type_for_neg l = x;
-  l = -l;
-  return assign<To_Policy, To_Policy>(to, l, dir);
-}
+extern Minus_Infinity MINUS_INFINITY;
+extern Plus_Infinity PLUS_INFINITY;
+extern Not_A_Number NOT_A_NUMBER;
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-add_int_larger(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  typename Larger<Type>::type_for_add l = x;
-  l += y;
-  return assign<To_Policy, To_Policy>(to, l, dir);
-}
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+struct Checked_Number_Transparent_Policy {
+  //! Do not check for overflowed result.
+  const_bool_nodef(check_overflow, false);
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-sub_int_larger(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  typename Larger<Type>::type_for_sub l = x;
-  l -= y;
-  return assign<To_Policy, To_Policy>(to, l, dir);
-}
+  //! Do not check for attempts to add infinities with different sign.
+  const_bool_nodef(check_inf_add_inf, false);
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-mul_int_larger(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  typename Larger<Type>::type_for_mul l = x;
-  l *= y;
-  return assign<To_Policy, To_Policy>(to, l, dir);
-}
+  //! Do not check for attempts to subtract infinities with same sign.
+  const_bool_nodef(check_inf_sub_inf, false);
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-neg_signed_int(Type& to, const Type from, Rounding_Dir dir) {
-  if (To_Policy::check_overflow && Larger<Type>::use_for_neg)
-    return neg_int_larger<To_Policy, From_Policy>(to, from, dir);
-  if (CHECK_P(To_Policy::check_overflow,
-	      (from < -Extended_Int<To_Policy, Type>::max)))
-    return set_pos_overflow_int<To_Policy>(to, dir);
-  to = -from;
-  return V_EQ;
-}
+  //! Do not check for attempts to multiply infinities by zero.
+  const_bool_nodef(check_inf_mul_zero, false);
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-neg_unsigned_int(Type& to, const Type from, Rounding_Dir dir) {
-  if (To_Policy::check_overflow && Larger<Type>::use_for_neg)
-    return neg_int_larger<To_Policy, From_Policy>(to, from, dir);
-  if (CHECK_P(To_Policy::check_overflow, from != 0))
-    return set_neg_overflow_int<To_Policy>(to, dir);
-  to = from;
-  return V_EQ;
-}
+  //! Do not check for attempts to divide by zero.
+  const_bool_nodef(check_div_zero, false);
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-add_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (To_Policy::check_overflow && Larger<Type>::use_for_add)
-    return add_int_larger<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
-  if (To_Policy::check_overflow) {
-    if (y >= 0) {
-      if (x > Extended_Int<To_Policy, Type>::max - y)
-	return set_pos_overflow_int<To_Policy>(to, dir);
-    }
-    else if (x < Extended_Int<To_Policy, Type>::min - y)
-	return set_neg_overflow_int<To_Policy>(to, dir);
-  }
-  to = x + y;
-  return V_EQ;
-}
+  //! Do not check for attempts to divide infinities.
+  const_bool_nodef(check_inf_div_inf, false);
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-add_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (To_Policy::check_overflow && Larger<Type>::use_for_add)
-    return add_int_larger<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
-  if (CHECK_P(To_Policy::check_overflow,
-	      (x > Extended_Int<To_Policy, Type>::max - y)))
-    return set_pos_overflow_int<To_Policy>(to, dir);
-  to = x + y;
-  return V_EQ;
-}
+  //! Do not check for attempts to compute remainder of infinities.
+  const_bool_nodef(check_inf_mod, false);
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-sub_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (To_Policy::check_overflow && Larger<Type>::use_for_sub)
-    return sub_int_larger<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
-  if (To_Policy::check_overflow) {
-    if (y >= 0) {
-      if (x < Extended_Int<To_Policy, Type>::min + y)
-	return set_neg_overflow_int<To_Policy>(to, dir);
-    }
-    else if (x > Extended_Int<To_Policy, Type>::max + y)
-	return set_pos_overflow_int<To_Policy>(to, dir);
-  }
-  to = x - y;
-  return V_EQ;
-}
+  //! Do not check for attempts to take the square root of a negative number.
+  const_bool_nodef(check_sqrt_neg, false);
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-sub_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (To_Policy::check_overflow && Larger<Type>::use_for_sub)
-    return sub_int_larger<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
-  if (CHECK_P(To_Policy::check_overflow,
-	      (x < Extended_Int<To_Policy, Type>::min + y)))
-    return set_neg_overflow_int<To_Policy>(to, dir);
-  to = x - y;
-  return V_EQ;
-}
+  //! Handle not-a-number special value if \p T has it.
+  const_bool_nodef(has_nan, std::numeric_limits<T>::has_quiet_NaN);
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-mul_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (To_Policy::check_overflow && Larger<Type>::use_for_mul)
-    return mul_int_larger<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
-  if (!To_Policy::check_overflow) {
-    to = x * y;
-    return V_EQ;
-  }
-  if (y == 0) {
-    to = 0;
-    return V_EQ;
-  }
-  if (y == -1)
-    return neg_signed_int<To_Policy, From1_Policy>(to, x, dir);
-  if (x >= 0) {
-    if (y > 0) {
-      if (x > Extended_Int<To_Policy, Type>::max / y)
-	return set_pos_overflow_int<To_Policy>(to, dir);
-    }
-    else {
-      if (x > Extended_Int<To_Policy, Type>::min / y)
-	return set_neg_overflow_int<To_Policy>(to, dir);
-    }
-  }
-  else {
-    if (y < 0) {
-      if (x < Extended_Int<To_Policy, Type>::max / y)
-	return set_pos_overflow_int<To_Policy>(to, dir);
-    }
-    else {
-      if (x < Extended_Int<To_Policy, Type>::min / y)
-	return set_neg_overflow_int<To_Policy>(to, dir);
-    }
-  }
-  to = x * y;
-  return V_EQ;
-}
+  //! Handle infinity special values if \p T have them.
+  const_bool_nodef(has_infinity, std::numeric_limits<T>::has_infinity);
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-mul_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (To_Policy::check_overflow && Larger<Type>::use_for_mul)
-    return mul_int_larger<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
-  if (!To_Policy::check_overflow) {
-    to = x * y;
-    return V_EQ;
-  }
-  if (y == 0) {
-    to = 0;
-    return V_EQ;
-  }
-  if (x > Extended_Int<To_Policy, Type>::max / y)
-    return set_pos_overflow_int<To_Policy>(to, dir);
-  to = x * y;
-  return V_EQ;
-}
+  /*! \brief
+    The checked number can always be safely converted to the
+    underlying type \p T and vice-versa.
+  */
+  const_bool_nodef(convertible, true);
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-div_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (CHECK_P(To_Policy::check_div_zero, y == 0))
-    return assign_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
-  if (To_Policy::check_overflow && y == -1)
-    return neg_signed_int<To_Policy, From1_Policy>(to, x, dir);
-  to = x / y;
-  if (round_ignore(dir))
-    return V_LGE;
-  Type m = x % y;
-  if (m < 0)
-    return round_lt_int_no_overflow<To_Policy>(to, dir);
-  else if (m > 0)
-    return round_gt_int_no_overflow<To_Policy>(to, dir);
-  else
-    return V_EQ;
-}
+  //! Do not honor requests to check for FPU inexact results.
+  const_bool_nodef(fpu_check_inexact, false);
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-div_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (CHECK_P(To_Policy::check_div_zero, y == 0))
-    return assign_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
-  to = x / y;
-  if (round_ignore(dir))
-    return V_GE;
-  Type m = x % y;
-  if (m == 0)
-    return V_EQ;
-  return round_gt_int<To_Policy>(to, dir);
-}
+  //! Do not make extra checks to detect FPU NaN results.
+  const_bool_nodef(fpu_check_nan_result, false);
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-idiv_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (CHECK_P(To_Policy::check_div_zero, y == 0))
-    return assign_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
-  if (To_Policy::check_overflow && y == -1)
-    return neg_signed_int<To_Policy, From1_Policy>(to, x, dir);
-  to = x / y;
-  return V_EQ;
-}
+  /*! \brief
+    For constructors, by default use the same rounding used by
+    underlying type.
+  */
+  static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_NATIVE;
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-idiv_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir) {
-  if (CHECK_P(To_Policy::check_div_zero, y == 0))
-    return assign_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
-  to = x / y;
-  return V_EQ;
-}
+  /*! \brief
+    For overloaded operators (operator+(), operator-(), ...), by
+    default use the same rounding used by the underlying type.
+  */
+  static const Rounding_Dir ROUND_DEFAULT_OPERATOR = ROUND_NATIVE;
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-rem_signed_int(Type& to, const Type x, const Type y, Rounding_Dir) {
-  if (CHECK_P(To_Policy::check_div_zero, y == 0))
-    return assign_special<To_Policy>(to, V_MOD_ZERO, ROUND_IGNORE);
-  to = x % y;
-  return V_EQ;
-}
+  /*! \brief
+    For input functions, by default use the same rounding used by
+    the underlying type.
+  */
+  static const Rounding_Dir ROUND_DEFAULT_INPUT = ROUND_NATIVE;
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-rem_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir) {
-  if (CHECK_P(To_Policy::check_div_zero, y == 0))
-    return assign_special<To_Policy>(to, V_MOD_ZERO, ROUND_IGNORE);
-  to = x % y;
-  return V_EQ;
-}
+  /*! \brief
+    For output functions, by default use the same rounding used by
+    the underlying type.
+  */
+  static const Rounding_Dir ROUND_DEFAULT_OUTPUT = ROUND_NATIVE;
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-div2exp_unsigned_int(Type& to, const Type x, int exp, Rounding_Dir dir) {
-  if (exp < 0)
-    return mul2exp<To_Policy, From_Policy>(to, x, -exp, dir);
-  if (static_cast<unsigned int>(exp) >= sizeof(Type) * 8) {
-    to = 0;
-    if (round_ignore(dir))
-      return V_GE;
-    if (x == 0)
-      return V_EQ;
-    return round_gt_int_no_overflow<To_Policy>(to, dir);
-  }
-  to = x >> exp;
-  if (round_ignore(dir))
-    return V_GE;
-  if (x & ((static_cast<Type>(1) << exp) - 1))
-    return round_gt_int_no_overflow<To_Policy>(to, dir);
-  else
-    return V_EQ;
-}
+  /*! \brief
+    For all other functions, by default use the same rounding used by
+    the underlying type.
+  */
+  static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_NATIVE;
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-div2exp_signed_int(Type& to, const Type x, int exp, Rounding_Dir dir) {
-  if (exp < 0)
-    return mul2exp<To_Policy, From_Policy>(to, x, -exp, dir);
-  if (static_cast<unsigned int>(exp) >= sizeof(Type) * 8) {
-  zero:
-    to = 0;
-    if (round_ignore(dir))
-      return V_LGE;
-    if (x < 0)
-      return round_lt_int_no_overflow<To_Policy>(to, dir);
-    else if (x > 0)
-      return round_gt_int_no_overflow<To_Policy>(to, dir);
-    else
-      return V_EQ;
-  }
-  if (static_cast<unsigned int>(exp) >= sizeof(Type) * 8 - 1) {
-    if (x == C_Integer<Type>::min) {
-      to = -1;
-      return V_EQ;
-    }
-    goto zero;
-  }
-#if 0
-  to = x / (static_cast<Type>(1) << exp);
-  if (round_ignore(dir))
-    return V_GE;
-  Type r = x % (static_cast<Type>(1) << exp);
-  if (r < 0)
-    return round_lt_int_no_overflow<To_Policy>(to, dir);
-  else if (r > 0)
-    return round_gt_int_no_overflow<To_Policy>(to, dir);
-  else
-    return V_EQ;
-#else
-  // Faster but compiler implementation dependent (see C++98 5.8.3)
-  to = x >> exp;
-  if (round_ignore(dir))
-    return V_GE;
-  if (x & ((static_cast<Type>(1) << exp) - 1))
-    return round_gt_int_no_overflow<To_Policy>(to, dir);
-  return V_EQ;
-#endif
-}
+  /*! \brief
+    Handles \p r: called by all constructors, operators and functions that
+    do not return a Result value.
+  */
+  static void handle_result(Result r);
+};
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-mul2exp_unsigned_int(Type& to, const Type x, int exp, Rounding_Dir dir) {
-  if (exp < 0)
-    return div2exp<To_Policy, From_Policy>(to, x, -exp, dir);
-  if (!To_Policy::check_overflow) {
-    to = x << exp;
-    return V_EQ;
-  }
-  if (static_cast<unsigned int>(exp) >= sizeof(Type) * 8) {
-    if (x == 0) {
-      to = 0;
-      return V_EQ;
-    }
-    return set_pos_overflow_int<To_Policy>(to, dir);
-  }
-  if (x & (((static_cast<Type>(1) << exp) - 1) << (sizeof(Type) * 8 - exp)))
-    return set_pos_overflow_int<To_Policy>(to, dir);
-  Type n = x << exp;
-  if (n > Extended_Int<To_Policy, Type>::max)
-    return set_pos_overflow_int<To_Policy>(to, dir);
-  to = n;
-  return V_EQ;
-}
+} // namespace Parma_Polyhedra_Library
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-mul2exp_signed_int(Type& to, const Type x, int exp, Rounding_Dir dir) {
-  if (exp < 0)
-    return div2exp<To_Policy, From_Policy>(to, x, -exp, dir);
-  if (!To_Policy::check_overflow) {
-    to = x << exp;
-    return V_EQ;
-  }
-  if (static_cast<unsigned int>(exp) >= sizeof(Type) * 8 - 1) {
-    if (x < 0)
-      return set_neg_overflow_int<To_Policy>(to, dir);
-    else if (x > 0)
-      return set_pos_overflow_int<To_Policy>(to, dir);
-    else {
-      to = 0;
-      return V_EQ;
-    }
+#define CHECK_P(cond, check) ((cond) ? (check) : (assert(!(check)), false))
+
+/* Automatically generated from PPL source file ../src/checked.inlines.hh line 1. */
+/* Abstract checked arithmetic functions: fall-backs.
+*/
+
+
+/* Automatically generated from PPL source file ../src/checked.inlines.hh line 30. */
+
+/*! \brief
+  Performs the test <CODE>a < b</CODE> avoiding the warning about the
+  comparison being always false due to limited range of data type.
+  FIXME: we don't have found a working solution. gcc option
+  -Wno-type-limits suppress the warning
+*/
+#define PPL_LT_SILENT(a, b) ((a) < (b))
+#define PPL_GT_SILENT(a, b) ((a) > (b))
+
+namespace Parma_Polyhedra_Library {
+
+namespace Checked {
+
+template <typename T1, typename T2>
+struct Safe_Conversion : public False {
+};
+template <typename T>
+struct Safe_Conversion<T, T> : public True {
+};
+
+#define PPL_SAFE_CONVERSION(To, From)					\
+  template <> struct Safe_Conversion<To, From> : public True { }
+
+PPL_SAFE_CONVERSION(signed short, signed char);
+#if PPL_SIZEOF_CHAR < PPL_SIZEOF_SHORT
+PPL_SAFE_CONVERSION(signed short, unsigned char);
+#endif
+
+PPL_SAFE_CONVERSION(signed int, signed char);
+PPL_SAFE_CONVERSION(signed int, signed short);
+#if PPL_SIZEOF_CHAR < PPL_SIZEOF_INT
+PPL_SAFE_CONVERSION(signed int, unsigned char);
+#endif
+#if PPL_SIZEOF_SHORT < PPL_SIZEOF_INT
+PPL_SAFE_CONVERSION(signed int, unsigned short);
+#endif
+
+PPL_SAFE_CONVERSION(signed long, signed char);
+PPL_SAFE_CONVERSION(signed long, signed short);
+PPL_SAFE_CONVERSION(signed long, signed int);
+#if PPL_SIZEOF_CHAR < PPL_SIZEOF_LONG
+PPL_SAFE_CONVERSION(signed long, unsigned char);
+#endif
+#if PPL_SIZEOF_SHORT < PPL_SIZEOF_LONG
+PPL_SAFE_CONVERSION(signed long, unsigned short);
+#endif
+#if PPL_SIZEOF_INT < PPL_SIZEOF_LONG
+PPL_SAFE_CONVERSION(signed long, unsigned int);
+#endif
+
+PPL_SAFE_CONVERSION(signed long long, signed char);
+PPL_SAFE_CONVERSION(signed long long, signed short);
+PPL_SAFE_CONVERSION(signed long long, signed int);
+PPL_SAFE_CONVERSION(signed long long, signed long);
+#if PPL_SIZEOF_CHAR < PPL_SIZEOF_LONG_LONG
+PPL_SAFE_CONVERSION(signed long long, unsigned char);
+#endif
+#if PPL_SIZEOF_SHORT < PPL_SIZEOF_LONG_LONG
+PPL_SAFE_CONVERSION(signed long long, unsigned short);
+#endif
+#if PPL_SIZEOF_INT < PPL_SIZEOF_LONG_LONG
+PPL_SAFE_CONVERSION(signed long long, unsigned int);
+#endif
+#if PPL_SIZEOF_LONG < PPL_SIZEOF_LONG_LONG
+PPL_SAFE_CONVERSION(signed long long, unsigned long);
+#endif
+
+PPL_SAFE_CONVERSION(unsigned short, unsigned char);
+
+PPL_SAFE_CONVERSION(unsigned int, unsigned char);
+PPL_SAFE_CONVERSION(unsigned int, unsigned short);
+
+PPL_SAFE_CONVERSION(unsigned long, unsigned char);
+PPL_SAFE_CONVERSION(unsigned long, unsigned short);
+PPL_SAFE_CONVERSION(unsigned long, unsigned int);
+
+PPL_SAFE_CONVERSION(unsigned long long, unsigned char);
+PPL_SAFE_CONVERSION(unsigned long long, unsigned short);
+PPL_SAFE_CONVERSION(unsigned long long, unsigned int);
+PPL_SAFE_CONVERSION(unsigned long long, unsigned long);
+
+
+#if PPL_SIZEOF_CHAR <= PPL_SIZEOF_FLOAT - 2
+PPL_SAFE_CONVERSION(float, signed char);
+PPL_SAFE_CONVERSION(float, unsigned char);
+#endif
+#if PPL_SIZEOF_SHORT <= PPL_SIZEOF_FLOAT - 2
+PPL_SAFE_CONVERSION(float, signed short);
+PPL_SAFE_CONVERSION(float, unsigned short);
+#endif
+#if PPL_SIZEOF_INT <= PPL_SIZEOF_FLOAT - 2
+PPL_SAFE_CONVERSION(float, signed int);
+PPL_SAFE_CONVERSION(float, unsigned int);
+#endif
+#if PPL_SIZEOF_LONG <= PPL_SIZEOF_FLOAT - 2
+PPL_SAFE_CONVERSION(float, signed long);
+PPL_SAFE_CONVERSION(float, unsigned long);
+#endif
+#if PPL_SIZEOF_LONG_LONG <= PPL_SIZEOF_FLOAT - 2
+PPL_SAFE_CONVERSION(float, signed long long);
+PPL_SAFE_CONVERSION(float, unsigned long long);
+#endif
+
+#if PPL_SIZEOF_CHAR <= PPL_SIZEOF_DOUBLE - 4
+PPL_SAFE_CONVERSION(double, signed char);
+PPL_SAFE_CONVERSION(double, unsigned char);
+#endif
+#if PPL_SIZEOF_SHORT <= PPL_SIZEOF_DOUBLE - 4
+PPL_SAFE_CONVERSION(double, signed short);
+PPL_SAFE_CONVERSION(double, unsigned short);
+#endif
+#if PPL_SIZEOF_INT <= PPL_SIZEOF_DOUBLE - 4
+PPL_SAFE_CONVERSION(double, signed int);
+PPL_SAFE_CONVERSION(double, unsigned int);
+#endif
+#if PPL_SIZEOF_LONG <= PPL_SIZEOF_DOUBLE - 4
+PPL_SAFE_CONVERSION(double, signed long);
+PPL_SAFE_CONVERSION(double, unsigned long);
+#endif
+#if PPL_SIZEOF_LONG_LONG <= PPL_SIZEOF_DOUBLE - 4
+PPL_SAFE_CONVERSION(double, signed long long);
+PPL_SAFE_CONVERSION(double, unsigned long long);
+#endif
+PPL_SAFE_CONVERSION(double, float);
+
+#if PPL_SIZEOF_CHAR <= PPL_SIZEOF_LONG_DOUBLE - 4
+PPL_SAFE_CONVERSION(long double, signed char);
+PPL_SAFE_CONVERSION(long double, unsigned char);
+#endif
+#if PPL_SIZEOF_SHORT <= PPL_SIZEOF_LONG_DOUBLE - 4
+PPL_SAFE_CONVERSION(long double, signed short);
+PPL_SAFE_CONVERSION(long double, unsigned short);
+#endif
+#if PPL_SIZEOF_INT <= PPL_SIZEOF_LONG_DOUBLE - 4
+PPL_SAFE_CONVERSION(long double, signed int);
+PPL_SAFE_CONVERSION(long double, unsigned int);
+#endif
+#if PPL_SIZEOF_LONG <= PPL_SIZEOF_LONG_DOUBLE - 4
+PPL_SAFE_CONVERSION(long double, signed long);
+PPL_SAFE_CONVERSION(long double, unsigned long);
+#endif
+#if PPL_SIZEOF_LONG_LONG <= PPL_SIZEOF_LONG_DOUBLE - 4
+PPL_SAFE_CONVERSION(long double, signed long long);
+PPL_SAFE_CONVERSION(long double, unsigned long long);
+#endif
+PPL_SAFE_CONVERSION(long double, float);
+PPL_SAFE_CONVERSION(long double, double);
+
+PPL_SAFE_CONVERSION(mpz_class, signed char);
+PPL_SAFE_CONVERSION(mpz_class, signed short);
+PPL_SAFE_CONVERSION(mpz_class, signed int);
+PPL_SAFE_CONVERSION(mpz_class, signed long);
+//PPL_SAFE_CONVERSION(mpz_class, signed long long);
+PPL_SAFE_CONVERSION(mpz_class, unsigned char);
+PPL_SAFE_CONVERSION(mpz_class, unsigned short);
+PPL_SAFE_CONVERSION(mpz_class, unsigned int);
+PPL_SAFE_CONVERSION(mpz_class, unsigned long);
+//PPL_SAFE_CONVERSION(mpz_class, unsigned long long);
+
+PPL_SAFE_CONVERSION(mpq_class, signed char);
+PPL_SAFE_CONVERSION(mpq_class, signed short);
+PPL_SAFE_CONVERSION(mpq_class, signed int);
+PPL_SAFE_CONVERSION(mpq_class, signed long);
+//PPL_SAFE_CONVERSION(mpq_class, signed long long);
+PPL_SAFE_CONVERSION(mpq_class, unsigned char);
+PPL_SAFE_CONVERSION(mpq_class, unsigned short);
+PPL_SAFE_CONVERSION(mpq_class, unsigned int);
+PPL_SAFE_CONVERSION(mpq_class, unsigned long);
+//PPL_SAFE_CONVERSION(mpq_class, unsigned long long);
+PPL_SAFE_CONVERSION(mpq_class, float);
+PPL_SAFE_CONVERSION(mpq_class, double);
+//PPL_SAFE_CONVERSION(mpq_class, long double);
+
+#undef PPL_SAFE_CONVERSION
+
+template <typename Policy, typename Type>
+struct PPL_FUNCTION_CLASS(construct)<Policy, Policy, Type, Type> {
+  static inline Result function(Type& to, const Type& from, Rounding_Dir) {
+    new (&to) Type(from);
+    return V_EQ;
   }
-  Type mask = ((static_cast<Type>(1) << exp) - 1)
-    << (sizeof(Type) * 8 - 1 - exp);
-  Type n;
-  if (x < 0) {
-    if ((x & mask) != mask)
-      return set_neg_overflow_int<To_Policy>(to, dir);
-    n = x << exp;
-    if (n < Extended_Int<To_Policy, Type>::min)
-      return set_neg_overflow_int<To_Policy>(to, dir);
+};
+
+template <typename To_Policy, typename From_Policy, typename To, typename From>
+struct PPL_FUNCTION_CLASS(construct) {
+  static inline Result function(To& to, const From& from, Rounding_Dir dir) {
+    new (&to) To();
+    return assign<To_Policy, From_Policy>(to, from, dir);
   }
-  else {
-    if (x & mask)
-      return set_pos_overflow_int<To_Policy>(to, dir);
-    n = x << exp;
-    if (n > Extended_Int<To_Policy, Type>::max)
-      return set_pos_overflow_int<To_Policy>(to, dir);
+};
+
+template <typename To_Policy, typename To>
+struct PPL_FUNCTION_CLASS(construct_special) {
+  static inline Result function(To& to, Result_Class r, Rounding_Dir dir) {
+    new (&to) To();
+    return assign_special<To_Policy>(to, r, dir);
   }
-  to = n;
+};
+
+template <typename To_Policy, typename From_Policy, typename To, typename From>
+inline Result
+assign_exact(To& to, const From& from, Rounding_Dir) {
+  to = from;
   return V_EQ;
 }
 
-template <typename Type>
-inline void
-isqrtrem(Type& q, Type& r, const Type from) {
-  q = 0;
-  r = from;
-  Type t(1);
-  for (t <<= 8 * sizeof(Type) - 2; t != 0; t >>= 2) {
-    Type s = q + t;
-    if (s <= r) {
-      r -= s;
-      q = s + t;
-    }
-    q >>= 1;
-  }
+template <typename To_Policy, typename From_Policy, typename Type>
+inline typename Enable_If<Is_Same<To_Policy, From_Policy>::value, void>::type
+copy_generic(Type& to, const Type& from) {
+  to = from;
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
+template <typename To_Policy, typename From_Policy, typename To, typename From>
 inline Result
-sqrt_unsigned_int(Type& to, const Type from, Rounding_Dir dir) {
-  Type rem;
-  isqrtrem(to, rem, from);
-  if (round_ignore(dir))
-    return V_GE;
-  if (rem == 0)
-    return V_EQ;
-  return round_gt_int<To_Policy>(to, dir);
+abs_generic(To& to, const From& from, Rounding_Dir dir) {
+  if (from < 0)
+    return neg<To_Policy, From_Policy>(to, from, dir);
+  else
+    return assign<To_Policy, From_Policy>(to, from, dir);
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename To, typename From>
+inline void
+gcd_exact_noabs(To& to, const From& x, const From& y) {
+  To nx = x;
+  To ny = y;
+  To rm;
+  while (ny != 0) {
+    // The following is derived from the assumption that x % y
+    // is always representable. This is true for both native integers
+    // and IEC 559 floating point numbers.
+    rem<To_Policy, From1_Policy, From2_Policy>(rm, nx, ny, ROUND_NOT_NEEDED);
+    nx = ny;
+    ny = rm;
+  }
+  to = nx;
+}
+
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename To, typename From1, typename From2>
 inline Result
-sqrt_signed_int(Type& to, const Type from, Rounding_Dir dir) {
-  if (CHECK_P(To_Policy::check_sqrt_neg, from < 0))
-    return assign_special<To_Policy>(to, V_SQRT_NEG, ROUND_IGNORE);
-  return sqrt_unsigned_int<To_Policy, From_Policy>(to, from, dir);
+gcd_exact(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
+  gcd_exact_noabs<To_Policy, From1_Policy, From2_Policy>(to, x, y);
+  return abs<To_Policy, To_Policy>(to, to, dir);
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
+template <typename To1_Policy, typename To2_Policy, typename To3_Policy,
+	  typename From1_Policy, typename From2_Policy,
+	  typename To1, typename To2, typename To3,
+	  typename From1, typename From2>
 inline Result
-add_mul_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  Type z;
-  Result r = mul<To_Policy, From1_Policy, From2_Policy>(z, x, y, dir);
-  switch (r) {
-  case V_NEG_OVERFLOW:
-  case V_LT:
-    if (to <= 0) {
-      to = z;
-      return r;
+gcdext_exact(To1& to, To2& s, To3& t, const From1& x, const From2& y,
+	     Rounding_Dir dir) {
+  // In case this becomes a bottleneck, we may consider using the
+  // Stehle'-Zimmermann algorithm (see R. Crandall and C. Pomerance,
+  // Prime Numbers - A Computational Perspective, Second Edition,
+  // Springer, 2005).
+  if (y == 0) {
+    if (x == 0) {
+      s = 0;
+      t = 1;
+      return V_EQ;
     }
-    return assign_special<To_Policy>(to, V_UNKNOWN_NEG_OVERFLOW, ROUND_IGNORE);
-  case V_POS_OVERFLOW:
-  case V_GT:
-    if (to >= 0) {
-      to = z;
-      return r;
+    else {
+      if (x < 0)
+	s = -1;
+      else
+	s = 1;
+      t = 0;
+      return abs<To1_Policy, From1_Policy>(to, x, dir);
     }
-    return assign_special<To_Policy>(to, V_UNKNOWN_POS_OVERFLOW, ROUND_IGNORE);
-  default:
-    return add<To_Policy, To_Policy, To_Policy>(to, to, z, dir);
   }
-}
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-sub_mul_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  Type z;
-  Result r = mul<To_Policy, From1_Policy, From2_Policy>(z, x, y, dir);
-  switch (r) {
-  case V_NEG_OVERFLOW:
-  case V_LT:
-    if (to >= 0)
-      return set_pos_overflow_int<To_Policy>(to, dir);
-    return V_UNKNOWN_NEG_OVERFLOW;
-  case V_POS_OVERFLOW:
-  case V_GT:
-    if (to <= 0)
-      return set_neg_overflow_int<To_Policy>(to, dir);
-    return V_UNKNOWN_POS_OVERFLOW;
-  default:
-    return sub<To_Policy, To_Policy, To_Policy>(to, to, z, dir);
+  s = 1;
+  t = 0;
+  bool negative_x = x < 0;
+  bool negative_y = y < 0;
+
+  Result r;
+  r = abs<To1_Policy, From1_Policy>(to, x, dir);
+  if (r != V_EQ)
+    return r;
+
+  From2 ay;
+  r = abs<To1_Policy, From2_Policy>(ay, y, dir);
+  if (r != V_EQ)
+    return r;
+
+  // If PPL_MATCH_GMP_GCDEXT is defined then s is favored when the absolute
+  // values of the given numbers are equal.  For instance if x and y
+  // are both 5 then s will be 1 and t will be 0, instead of the other
+  // way round.  This is to match the behavior of GMP.
+#define PPL_MATCH_GMP_GCDEXT 1
+#ifdef PPL_MATCH_GMP_GCDEXT
+  if (to == ay)
+    goto sign_check;
+#endif
+
+  {
+    To2 v1 = 0;
+    To3 v2 = 1;
+    To1 v3 = static_cast<To1>(ay);
+    while (true) {
+      To1 q = to / v3;
+      // Remainder, next candidate GCD.
+      To1 t3 = to - q*v3;
+      To2 t1 = s - static_cast<To2>(q)*v1;
+      To3 t2 = t - static_cast<To3>(q)*v2;
+      s = v1;
+      t = v2;
+      to = v3;
+      if (t3 == 0)
+	break;
+      v1 = t1;
+      v2 = t2;
+      v3 = t3;
+    }
+  }
+
+#ifdef PPL_MATCH_GMP_GCDEXT
+ sign_check:
+#endif
+  if (negative_x) {
+    r = neg<To2_Policy, To2_Policy>(s, s, dir);
+    if (r != V_EQ)
+      return r;
   }
+  if (negative_y)
+    return neg<To3_Policy, To3_Policy>(t, t, dir);
+  return V_EQ;
+#undef PPL_MATCH_GMP_GCDEXT
 }
 
-template <typename Policy, typename Type>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename To, typename From1, typename From2>
 inline Result
-output_char(std::ostream& os, Type& from,
-	    const Numeric_Format&, Rounding_Dir) {
-  os << static_cast<int>(from);
-  return V_EQ;
+lcm_gcd_exact(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
+  if (x == 0 || y == 0) {
+    to = 0;
+    return V_EQ;
+  }
+  To nx, ny;
+  Result r;
+  r = abs<From1_Policy, From1_Policy>(nx, x, dir);
+  if (r != V_EQ)
+    return r;
+  r = abs<From2_Policy, From2_Policy>(ny, y, dir);
+  if (r != V_EQ)
+    return r;
+  To gcd;
+  gcd_exact_noabs<To_Policy, From1_Policy, From2_Policy>(gcd, nx, ny);
+  // The following is derived from the assumption that x / gcd(x, y)
+  // is always representable. This is true for both native integers
+  // and IEC 559 floating point numbers.
+  div<To_Policy, From1_Policy, To_Policy>(to, nx, gcd, ROUND_NOT_NEEDED);
+  return mul<To_Policy, To_Policy, From2_Policy>(to, to, ny, dir);
 }
 
 template <typename Policy, typename Type>
-inline Result
-output_int(std::ostream& os, Type& from, const Numeric_Format&, Rounding_Dir) {
-  os << from;
-  return V_EQ;
+inline Result_Relation
+sgn_generic(const Type& x) {
+  if (x > 0)
+    return VR_GT;
+  if (x == 0)
+    return VR_EQ;
+  return VR_LT;
 }
 
-PPL_SPECIALIZE_FLOOR(assign_signed_int_signed_int, signed char, signed char)
-PPL_SPECIALIZE_FLOOR(assign_signed_int_signed_int, signed short, signed short)
-PPL_SPECIALIZE_FLOOR(assign_signed_int_signed_int, signed int, signed int)
-PPL_SPECIALIZE_FLOOR(assign_signed_int_signed_int, signed long, signed long)
-PPL_SPECIALIZE_FLOOR(assign_signed_int_signed_int, signed long long, signed long long)
-PPL_SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, unsigned char, unsigned char)
-PPL_SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, unsigned short, unsigned short)
-PPL_SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, unsigned int, unsigned int)
-PPL_SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, unsigned long, unsigned long)
-PPL_SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, unsigned long long, unsigned long long)
+template <typename T1, typename T2, typename Enable = void>
+struct Safe_Int_Comparison : public False {
+};
 
-PPL_SPECIALIZE_CEIL(assign_signed_int_signed_int, signed char, signed char)
-PPL_SPECIALIZE_CEIL(assign_signed_int_signed_int, signed short, signed short)
-PPL_SPECIALIZE_CEIL(assign_signed_int_signed_int, signed int, signed int)
-PPL_SPECIALIZE_CEIL(assign_signed_int_signed_int, signed long, signed long)
-PPL_SPECIALIZE_CEIL(assign_signed_int_signed_int, signed long long, signed long long)
-PPL_SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, unsigned char, unsigned char)
-PPL_SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, unsigned short, unsigned short)
-PPL_SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, unsigned int, unsigned int)
-PPL_SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, unsigned long, unsigned long)
-PPL_SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, unsigned long long, unsigned long long)
+template <typename T1, typename T2>
+struct Safe_Int_Comparison<T1, T2, typename Enable_If<(C_Integer<T1>::value && C_Integer<T2>::value)>::type>
+  : public Bool<(C_Integer<T1>::is_signed
+		 ? (C_Integer<T2>::is_signed
+		    || sizeof(T2) < sizeof(T1)
+		    || sizeof(T2) < sizeof(int))
+		 : (!C_Integer<T2>::is_signed
+		    || sizeof(T1) < sizeof(T2)
+		    || sizeof(T1) < sizeof(int)))> {
+};
 
-PPL_SPECIALIZE_TRUNC(assign_signed_int_signed_int, signed char, signed char)
-PPL_SPECIALIZE_TRUNC(assign_signed_int_signed_int, signed short, signed short)
-PPL_SPECIALIZE_TRUNC(assign_signed_int_signed_int, signed int, signed int)
-PPL_SPECIALIZE_TRUNC(assign_signed_int_signed_int, signed long, signed long)
-PPL_SPECIALIZE_TRUNC(assign_signed_int_signed_int, signed long long, signed long long)
-PPL_SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, unsigned char, unsigned char)
-PPL_SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, unsigned short, unsigned short)
-PPL_SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, unsigned int, unsigned int)
-PPL_SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, unsigned long, unsigned long)
-PPL_SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, unsigned long long, unsigned long long)
 
-PPL_SPECIALIZE_NEG(neg_signed_int, signed char, signed char)
-PPL_SPECIALIZE_NEG(neg_signed_int, signed short, signed short)
-PPL_SPECIALIZE_NEG(neg_signed_int, signed int, signed int)
-PPL_SPECIALIZE_NEG(neg_signed_int, signed long, signed long)
-PPL_SPECIALIZE_NEG(neg_signed_int, signed long long, signed long long)
-PPL_SPECIALIZE_NEG(neg_unsigned_int, unsigned char, unsigned char)
-PPL_SPECIALIZE_NEG(neg_unsigned_int, unsigned short, unsigned short)
-PPL_SPECIALIZE_NEG(neg_unsigned_int, unsigned int, unsigned int)
-PPL_SPECIALIZE_NEG(neg_unsigned_int, unsigned long, unsigned long)
-PPL_SPECIALIZE_NEG(neg_unsigned_int, unsigned long long, unsigned long long)
+template <typename T1, typename T2>
+inline typename Enable_If<(Safe_Int_Comparison<T1, T2>::value
+			   || Safe_Conversion<T1, T2>::value
+			   || Safe_Conversion<T2, T1>::value), bool>::type
+lt(const T1& x, const T2& y) {
+  return x < y;
+}
+template <typename T1, typename T2>
+inline typename Enable_If<(Safe_Int_Comparison<T1, T2>::value
+			   || Safe_Conversion<T1, T2>::value
+			   || Safe_Conversion<T2, T1>::value), bool>::type
+le(const T1& x, const T2& y) {
+  return x <= y;
+}
+template <typename T1, typename T2>
+inline typename Enable_If<(Safe_Int_Comparison<T1, T2>::value
+			   || Safe_Conversion<T1, T2>::value
+			   || Safe_Conversion<T2, T1>::value), bool>::type
+eq(const T1& x, const T2& y) {
+  return x == y;
+}
 
-PPL_SPECIALIZE_ADD(add_signed_int, signed char, signed char, signed char)
-PPL_SPECIALIZE_ADD(add_signed_int, signed short, signed short, signed short)
-PPL_SPECIALIZE_ADD(add_signed_int, signed int, signed int, signed int)
-PPL_SPECIALIZE_ADD(add_signed_int, signed long, signed long, signed long)
-PPL_SPECIALIZE_ADD(add_signed_int, signed long long, signed long long, signed long long)
-PPL_SPECIALIZE_ADD(add_unsigned_int, unsigned char, unsigned char, unsigned char)
-PPL_SPECIALIZE_ADD(add_unsigned_int, unsigned short, unsigned short, unsigned short)
-PPL_SPECIALIZE_ADD(add_unsigned_int, unsigned int, unsigned int, unsigned int)
-PPL_SPECIALIZE_ADD(add_unsigned_int, unsigned long, unsigned long, unsigned long)
-PPL_SPECIALIZE_ADD(add_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
+template <typename S, typename U>
+inline typename Enable_If<(!Safe_Int_Comparison<S, U>::value
+			   && C_Integer<U>::value
+			   && C_Integer<S>::is_signed), bool>::type
+lt(const S& x, const U& y) {
+  return x < 0 || static_cast<typename C_Integer<S>::other_type>(x) < y;
+}
 
-PPL_SPECIALIZE_SUB(sub_signed_int, signed char, signed char, signed char)
-PPL_SPECIALIZE_SUB(sub_signed_int, signed short, signed short, signed short)
-PPL_SPECIALIZE_SUB(sub_signed_int, signed int, signed int, signed int)
-PPL_SPECIALIZE_SUB(sub_signed_int, signed long, signed long, signed long)
-PPL_SPECIALIZE_SUB(sub_signed_int, signed long long, signed long long, signed long long)
-PPL_SPECIALIZE_SUB(sub_unsigned_int, unsigned char, unsigned char, unsigned char)
-PPL_SPECIALIZE_SUB(sub_unsigned_int, unsigned short, unsigned short, unsigned short)
-PPL_SPECIALIZE_SUB(sub_unsigned_int, unsigned int, unsigned int, unsigned int)
-PPL_SPECIALIZE_SUB(sub_unsigned_int, unsigned long, unsigned long, unsigned long)
-PPL_SPECIALIZE_SUB(sub_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
-
-PPL_SPECIALIZE_MUL(mul_signed_int, signed char, signed char, signed char)
-PPL_SPECIALIZE_MUL(mul_signed_int, signed short, signed short, signed short)
-PPL_SPECIALIZE_MUL(mul_signed_int, signed int, signed int, signed int)
-PPL_SPECIALIZE_MUL(mul_signed_int, signed long, signed long, signed long)
-PPL_SPECIALIZE_MUL(mul_signed_int, signed long long, signed long long, signed long long)
-PPL_SPECIALIZE_MUL(mul_unsigned_int, unsigned char, unsigned char, unsigned char)
-PPL_SPECIALIZE_MUL(mul_unsigned_int, unsigned short, unsigned short, unsigned short)
-PPL_SPECIALIZE_MUL(mul_unsigned_int, unsigned int, unsigned int, unsigned int)
-PPL_SPECIALIZE_MUL(mul_unsigned_int, unsigned long, unsigned long, unsigned long)
-PPL_SPECIALIZE_MUL(mul_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
-
-PPL_SPECIALIZE_DIV(div_signed_int, signed char, signed char, signed char)
-PPL_SPECIALIZE_DIV(div_signed_int, signed short, signed short, signed short)
-PPL_SPECIALIZE_DIV(div_signed_int, signed int, signed int, signed int)
-PPL_SPECIALIZE_DIV(div_signed_int, signed long, signed long, signed long)
-PPL_SPECIALIZE_DIV(div_signed_int, signed long long, signed long long, signed long long)
-PPL_SPECIALIZE_DIV(div_unsigned_int, unsigned char, unsigned char, unsigned char)
-PPL_SPECIALIZE_DIV(div_unsigned_int, unsigned short, unsigned short, unsigned short)
-PPL_SPECIALIZE_DIV(div_unsigned_int, unsigned int, unsigned int, unsigned int)
-PPL_SPECIALIZE_DIV(div_unsigned_int, unsigned long, unsigned long, unsigned long)
-PPL_SPECIALIZE_DIV(div_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
-
-PPL_SPECIALIZE_IDIV(idiv_signed_int, signed char, signed char, signed char)
-PPL_SPECIALIZE_IDIV(idiv_signed_int, signed short, signed short, signed short)
-PPL_SPECIALIZE_IDIV(idiv_signed_int, signed int, signed int, signed int)
-PPL_SPECIALIZE_IDIV(idiv_signed_int, signed long, signed long, signed long)
-PPL_SPECIALIZE_IDIV(idiv_signed_int, signed long long, signed long long, signed long long)
-PPL_SPECIALIZE_IDIV(idiv_unsigned_int, unsigned char, unsigned char, unsigned char)
-PPL_SPECIALIZE_IDIV(idiv_unsigned_int, unsigned short, unsigned short, unsigned short)
-PPL_SPECIALIZE_IDIV(idiv_unsigned_int, unsigned int, unsigned int, unsigned int)
-PPL_SPECIALIZE_IDIV(idiv_unsigned_int, unsigned long, unsigned long, unsigned long)
-PPL_SPECIALIZE_IDIV(idiv_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
+template <typename U, typename S>
+inline typename Enable_If<(!Safe_Int_Comparison<S, U>::value
+			   && C_Integer<U>::value
+			   && C_Integer<S>::is_signed), bool>::type
+lt(const U& x, const S& y) {
+  return y >= 0 && x < static_cast<typename C_Integer<S>::other_type>(y);
+}
 
-PPL_SPECIALIZE_REM(rem_signed_int, signed char, signed char, signed char)
-PPL_SPECIALIZE_REM(rem_signed_int, signed short, signed short, signed short)
-PPL_SPECIALIZE_REM(rem_signed_int, signed int, signed int, signed int)
-PPL_SPECIALIZE_REM(rem_signed_int, signed long, signed long, signed long)
-PPL_SPECIALIZE_REM(rem_signed_int, signed long long, signed long long, signed long long)
-PPL_SPECIALIZE_REM(rem_unsigned_int, unsigned char, unsigned char, unsigned char)
-PPL_SPECIALIZE_REM(rem_unsigned_int, unsigned short, unsigned short, unsigned short)
-PPL_SPECIALIZE_REM(rem_unsigned_int, unsigned int, unsigned int, unsigned int)
-PPL_SPECIALIZE_REM(rem_unsigned_int, unsigned long, unsigned long, unsigned long)
-PPL_SPECIALIZE_REM(rem_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
+template <typename S, typename U>
+inline typename Enable_If<(!Safe_Int_Comparison<S, U>::value
+			   && C_Integer<U>::value
+			   && C_Integer<S>::is_signed), bool>::type
+le(const S& x, const U& y) {
+  return x < 0 || static_cast<typename C_Integer<S>::other_type>(x) <= y;
+}
 
-PPL_SPECIALIZE_MUL2EXP(mul2exp_signed_int, signed char, signed char)
-PPL_SPECIALIZE_MUL2EXP(mul2exp_signed_int, signed short, signed short)
-PPL_SPECIALIZE_MUL2EXP(mul2exp_signed_int, signed int, signed int)
-PPL_SPECIALIZE_MUL2EXP(mul2exp_signed_int, signed long, signed long)
-PPL_SPECIALIZE_MUL2EXP(mul2exp_signed_int, signed long long, signed long long)
-PPL_SPECIALIZE_MUL2EXP(mul2exp_unsigned_int, unsigned char, unsigned char)
-PPL_SPECIALIZE_MUL2EXP(mul2exp_unsigned_int, unsigned short, unsigned short)
-PPL_SPECIALIZE_MUL2EXP(mul2exp_unsigned_int, unsigned int, unsigned int)
-PPL_SPECIALIZE_MUL2EXP(mul2exp_unsigned_int, unsigned long, unsigned long)
-PPL_SPECIALIZE_MUL2EXP(mul2exp_unsigned_int, unsigned long long, unsigned long long)
-
-PPL_SPECIALIZE_DIV2EXP(div2exp_signed_int, signed char, signed char)
-PPL_SPECIALIZE_DIV2EXP(div2exp_signed_int, signed short, signed short)
-PPL_SPECIALIZE_DIV2EXP(div2exp_signed_int, signed int, signed int)
-PPL_SPECIALIZE_DIV2EXP(div2exp_signed_int, signed long, signed long)
-PPL_SPECIALIZE_DIV2EXP(div2exp_signed_int, signed long long, signed long long)
-PPL_SPECIALIZE_DIV2EXP(div2exp_unsigned_int, unsigned char, unsigned char)
-PPL_SPECIALIZE_DIV2EXP(div2exp_unsigned_int, unsigned short, unsigned short)
-PPL_SPECIALIZE_DIV2EXP(div2exp_unsigned_int, unsigned int, unsigned int)
-PPL_SPECIALIZE_DIV2EXP(div2exp_unsigned_int, unsigned long, unsigned long)
-PPL_SPECIALIZE_DIV2EXP(div2exp_unsigned_int, unsigned long long, unsigned long long)
+template <typename U, typename S>
+inline typename Enable_If<(!Safe_Int_Comparison<S, U>::value
+			   && C_Integer<U>::value
+			   && C_Integer<S>::is_signed), bool>::type
+le(const U& x, const S& y) {
+  return y >= 0 && x <= static_cast<typename C_Integer<S>::other_type>(y);
+}
 
-PPL_SPECIALIZE_SQRT(sqrt_signed_int, signed char, signed char)
-PPL_SPECIALIZE_SQRT(sqrt_signed_int, signed short, signed short)
-PPL_SPECIALIZE_SQRT(sqrt_signed_int, signed int, signed int)
-PPL_SPECIALIZE_SQRT(sqrt_signed_int, signed long, signed long)
-PPL_SPECIALIZE_SQRT(sqrt_signed_int, signed long long, signed long long)
-PPL_SPECIALIZE_SQRT(sqrt_unsigned_int, unsigned char, unsigned char)
-PPL_SPECIALIZE_SQRT(sqrt_unsigned_int, unsigned short, unsigned short)
-PPL_SPECIALIZE_SQRT(sqrt_unsigned_int, unsigned int, unsigned int)
-PPL_SPECIALIZE_SQRT(sqrt_unsigned_int, unsigned long, unsigned long)
-PPL_SPECIALIZE_SQRT(sqrt_unsigned_int, unsigned long long, unsigned long long)
+template <typename S, typename U>
+inline typename Enable_If<(!Safe_Int_Comparison<S, U>::value
+			   && C_Integer<U>::value
+			   && C_Integer<S>::is_signed), bool>::type
+eq(const S& x, const U& y) {
+  return x >= 0 && static_cast<typename C_Integer<S>::other_type>(x) == y;
+}
 
-PPL_SPECIALIZE_ABS(abs_generic, signed char, signed char)
-PPL_SPECIALIZE_ABS(abs_generic, signed short, signed short)
-PPL_SPECIALIZE_ABS(abs_generic, signed int, signed int)
-PPL_SPECIALIZE_ABS(abs_generic, signed long, signed long)
-PPL_SPECIALIZE_ABS(abs_generic, signed long long, signed long long)
-PPL_SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, unsigned char, unsigned char)
-PPL_SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, unsigned short, unsigned short)
-PPL_SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, unsigned int, unsigned int)
-PPL_SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, unsigned long, unsigned long)
-PPL_SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, unsigned long long, unsigned long long)
+template <typename U, typename S>
+inline typename Enable_If<(!Safe_Int_Comparison<S, U>::value
+			   && C_Integer<U>::value
+			   && C_Integer<S>::is_signed), bool>::type
+eq(const U& x, const S& y) {
+  return y >= 0 && x == static_cast<typename C_Integer<S>::other_type>(y);
+}
 
-PPL_SPECIALIZE_GCD(gcd_exact, signed char, signed char, signed char)
-PPL_SPECIALIZE_GCD(gcd_exact, signed short, signed short, signed short)
-PPL_SPECIALIZE_GCD(gcd_exact, signed int, signed int, signed int)
-PPL_SPECIALIZE_GCD(gcd_exact, signed long, signed long, signed long)
-PPL_SPECIALIZE_GCD(gcd_exact, signed long long, signed long long, signed long long)
-PPL_SPECIALIZE_GCD(gcd_exact, unsigned char, unsigned char, unsigned char)
-PPL_SPECIALIZE_GCD(gcd_exact, unsigned short, unsigned short, unsigned short)
-PPL_SPECIALIZE_GCD(gcd_exact, unsigned int, unsigned int, unsigned int)
-PPL_SPECIALIZE_GCD(gcd_exact, unsigned long, unsigned long, unsigned long)
-PPL_SPECIALIZE_GCD(gcd_exact, unsigned long long, unsigned long long, unsigned long long)
+template <typename T1, typename T2>
+inline typename Enable_If<(!Safe_Conversion<T1, T2>::value
+			   && !Safe_Conversion<T2, T1>::value
+			   && (!C_Integer<T1>::value || !C_Integer<T2>::value)), bool>::type
+eq(const T1& x, const T2& y) {
+  PPL_DIRTY_TEMP(T1, tmp);
+  Result r = assign_r(tmp, y, ROUND_CHECK);
+  // FIXME: We can do this also without fpu inexact check using a
+  // conversion back and forth and then testing equality.  We should
+  // code this in checked_float.inlines.hh, probably it's faster also
+  // if fpu supports inexact check.
+  PPL_ASSERT(r != V_LE && r != V_GE && r != V_LGE);
+  return r == V_EQ && x == tmp;
+}
 
-PPL_SPECIALIZE_GCDEXT(gcdext_exact, signed char, signed char, signed char, signed char, signed char)
-PPL_SPECIALIZE_GCDEXT(gcdext_exact, signed short, signed short, signed short, signed short, signed short)
-PPL_SPECIALIZE_GCDEXT(gcdext_exact, signed int, signed int, signed int, signed int, signed int)
-PPL_SPECIALIZE_GCDEXT(gcdext_exact, signed long, signed long, signed long, signed long, signed long)
-PPL_SPECIALIZE_GCDEXT(gcdext_exact, signed long long, signed long long, signed long long, signed long long, signed long long)
-PPL_SPECIALIZE_GCDEXT(gcdext_exact, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)
-PPL_SPECIALIZE_GCDEXT(gcdext_exact, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short)
-PPL_SPECIALIZE_GCDEXT(gcdext_exact, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)
-PPL_SPECIALIZE_GCDEXT(gcdext_exact, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long)
-PPL_SPECIALIZE_GCDEXT(gcdext_exact, unsigned long long, unsigned long long, unsigned long long, unsigned long long, unsigned long long)
+template <typename T1, typename T2>
+inline typename Enable_If<(!Safe_Conversion<T1, T2>::value
+			   && !Safe_Conversion<T2, T1>::value
+			   && (!C_Integer<T1>::value || !C_Integer<T2>::value)), bool>::type
+lt(const T1& x, const T2& y) {
+  PPL_DIRTY_TEMP(T1, tmp);
+  Result r = assign_r(tmp, y, ROUND_UP);
+  if (!result_representable(r))
+    return true;
+  switch (result_relation(r)) {
+  case VR_EQ:
+  case VR_LT:
+  case VR_LE:
+    return x < tmp;
+  default:
+    return false;
+  }
+}
 
-PPL_SPECIALIZE_LCM(lcm_gcd_exact, signed char, signed char, signed char)
-PPL_SPECIALIZE_LCM(lcm_gcd_exact, signed short, signed short, signed short)
-PPL_SPECIALIZE_LCM(lcm_gcd_exact, signed int, signed int, signed int)
-PPL_SPECIALIZE_LCM(lcm_gcd_exact, signed long, signed long, signed long)
-PPL_SPECIALIZE_LCM(lcm_gcd_exact, signed long long, signed long long, signed long long)
-PPL_SPECIALIZE_LCM(lcm_gcd_exact, unsigned char, unsigned char, unsigned char)
-PPL_SPECIALIZE_LCM(lcm_gcd_exact, unsigned short, unsigned short, unsigned short)
-PPL_SPECIALIZE_LCM(lcm_gcd_exact, unsigned int, unsigned int, unsigned int)
-PPL_SPECIALIZE_LCM(lcm_gcd_exact, unsigned long, unsigned long, unsigned long)
-PPL_SPECIALIZE_LCM(lcm_gcd_exact, unsigned long long, unsigned long long, unsigned long long)
+template <typename T1, typename T2>
+inline typename
+Enable_If<(!Safe_Conversion<T1, T2>::value
+           && !Safe_Conversion<T2, T1>::value
+           && (!C_Integer<T1>::value || !C_Integer<T2>::value)), bool>::type
+le(const T1& x, const T2& y) {
+  PPL_DIRTY_TEMP(T1, tmp);
+  Result r
+    = assign_r(tmp,
+               y,
+               static_cast<Rounding_Dir>(ROUND_UP | ROUND_STRICT_RELATION));
+  if (!result_representable(r))
+    return true;
+  switch (result_relation(r)) {
+  case VR_EQ:
+    return x <= tmp;
+  case VR_LT:
+    return x < tmp;
+  case VR_LE:
+  case VR_GE:
+  case VR_LGE:
+    // FIXME: See comment above.
+    PPL_ASSERT(0);
+  default:
+    return false;
+  }
+}
 
-PPL_SPECIALIZE_SGN(sgn_generic, signed char)
-PPL_SPECIALIZE_SGN(sgn_generic, signed short)
-PPL_SPECIALIZE_SGN(sgn_generic, signed int)
-PPL_SPECIALIZE_SGN(sgn_generic, signed long)
-PPL_SPECIALIZE_SGN(sgn_generic, signed long long)
-PPL_SPECIALIZE_SGN(sgn_generic, unsigned char)
-PPL_SPECIALIZE_SGN(sgn_generic, unsigned short)
-PPL_SPECIALIZE_SGN(sgn_generic, unsigned int)
-PPL_SPECIALIZE_SGN(sgn_generic, unsigned long)
-PPL_SPECIALIZE_SGN(sgn_generic, unsigned long long)
+template <typename Policy1, typename Policy2,
+	  typename Type1, typename Type2>
+inline bool
+lt_p(const Type1& x, const Type2& y) {
+  return lt(x, y);
+}
 
-PPL_SPECIALIZE_CMP(cmp_generic, signed char, signed char)
-PPL_SPECIALIZE_CMP(cmp_generic, signed short, signed short)
-PPL_SPECIALIZE_CMP(cmp_generic, signed int, signed int)
-PPL_SPECIALIZE_CMP(cmp_generic, signed long, signed long)
-PPL_SPECIALIZE_CMP(cmp_generic, signed long long, signed long long)
-PPL_SPECIALIZE_CMP(cmp_generic, unsigned char, unsigned char)
-PPL_SPECIALIZE_CMP(cmp_generic, unsigned short, unsigned short)
-PPL_SPECIALIZE_CMP(cmp_generic, unsigned int, unsigned int)
-PPL_SPECIALIZE_CMP(cmp_generic, unsigned long, unsigned long)
-PPL_SPECIALIZE_CMP(cmp_generic, unsigned long long, unsigned long long)
+template <typename Policy1, typename Policy2,
+	  typename Type1, typename Type2>
+inline bool
+le_p(const Type1& x, const Type2& y) {
+  return le(x, y);
+}
 
-PPL_SPECIALIZE_ADD_MUL(add_mul_int, signed char, signed char, signed char)
-PPL_SPECIALIZE_ADD_MUL(add_mul_int, signed short, signed short, signed short)
-PPL_SPECIALIZE_ADD_MUL(add_mul_int, signed int, signed int, signed int)
-PPL_SPECIALIZE_ADD_MUL(add_mul_int, signed long, signed long, signed long)
-PPL_SPECIALIZE_ADD_MUL(add_mul_int, signed long long, signed long long, signed long long)
-PPL_SPECIALIZE_ADD_MUL(add_mul_int, unsigned char, unsigned char, unsigned char)
-PPL_SPECIALIZE_ADD_MUL(add_mul_int, unsigned short, unsigned short, unsigned short)
-PPL_SPECIALIZE_ADD_MUL(add_mul_int, unsigned int, unsigned int, unsigned int)
-PPL_SPECIALIZE_ADD_MUL(add_mul_int, unsigned long, unsigned long, unsigned long)
-PPL_SPECIALIZE_ADD_MUL(add_mul_int, unsigned long long, unsigned long long, unsigned long long)
+template <typename Policy1, typename Policy2,
+	  typename Type1, typename Type2>
+inline bool
+eq_p(const Type1& x, const Type2& y) {
+  return eq(x, y);
+}
 
-PPL_SPECIALIZE_SUB_MUL(sub_mul_int, signed char, signed char, signed char)
-PPL_SPECIALIZE_SUB_MUL(sub_mul_int, signed short, signed short, signed short)
-PPL_SPECIALIZE_SUB_MUL(sub_mul_int, signed int, signed int, signed int)
-PPL_SPECIALIZE_SUB_MUL(sub_mul_int, signed long, signed long, signed long)
-PPL_SPECIALIZE_SUB_MUL(sub_mul_int, signed long long, signed long long, signed long long)
-PPL_SPECIALIZE_SUB_MUL(sub_mul_int, unsigned char, unsigned char, unsigned char)
-PPL_SPECIALIZE_SUB_MUL(sub_mul_int, unsigned short, unsigned short, unsigned short)
-PPL_SPECIALIZE_SUB_MUL(sub_mul_int, unsigned int, unsigned int, unsigned int)
-PPL_SPECIALIZE_SUB_MUL(sub_mul_int, unsigned long, unsigned long, unsigned long)
-PPL_SPECIALIZE_SUB_MUL(sub_mul_int, unsigned long long, unsigned long long, unsigned long long)
+template <typename Policy1, typename Policy2,
+	  typename Type1, typename Type2>
+inline Result_Relation
+cmp_generic(const Type1& x, const Type2& y) {
+  if (lt(y, x))
+    return VR_GT;
+  if (lt(x, y))
+    return VR_LT;
+  return VR_EQ;
+}
 
-PPL_SPECIALIZE_INPUT(input_generic, signed char)
-PPL_SPECIALIZE_INPUT(input_generic, signed short)
-PPL_SPECIALIZE_INPUT(input_generic, signed int)
-PPL_SPECIALIZE_INPUT(input_generic, signed long)
-PPL_SPECIALIZE_INPUT(input_generic, signed long long)
-PPL_SPECIALIZE_INPUT(input_generic, unsigned char)
-PPL_SPECIALIZE_INPUT(input_generic, unsigned short)
-PPL_SPECIALIZE_INPUT(input_generic, unsigned int)
-PPL_SPECIALIZE_INPUT(input_generic, unsigned long)
-PPL_SPECIALIZE_INPUT(input_generic, unsigned long long)
+template <typename Policy, typename Type>
+inline Result
+assign_nan(Type& to, Result r) {
+  assign_special<Policy>(to, VC_NAN, ROUND_IGNORE);
+  return r;
+}
 
-PPL_SPECIALIZE_OUTPUT(output_char, signed char)
-PPL_SPECIALIZE_OUTPUT(output_int, signed short)
-PPL_SPECIALIZE_OUTPUT(output_int, signed int)
-PPL_SPECIALIZE_OUTPUT(output_int, signed long)
-PPL_SPECIALIZE_OUTPUT(output_int, signed long long)
-PPL_SPECIALIZE_OUTPUT(output_char, unsigned char)
-PPL_SPECIALIZE_OUTPUT(output_int, unsigned short)
-PPL_SPECIALIZE_OUTPUT(output_int, unsigned int)
-PPL_SPECIALIZE_OUTPUT(output_int, unsigned long)
-PPL_SPECIALIZE_OUTPUT(output_int, unsigned long long)
+template <typename Policy, typename Type>
+inline Result
+input_generic(Type& to, std::istream& is, Rounding_Dir dir) {
+  PPL_DIRTY_TEMP0(mpq_class, q);
+  Result r = input_mpq(q, is);
+  Result_Class c = result_class(r);
+  switch (c) {
+  case VC_MINUS_INFINITY:
+  case VC_PLUS_INFINITY:
+    return assign_special<Policy>(to, c, dir);
+  case VC_NAN:
+    return assign_nan<Policy>(to, r);
+  default:
+    break;
+  }
+  PPL_ASSERT(r == V_EQ);
+  return assign<Policy, void>(to, q, dir);
+}
 
 } // namespace Checked
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/checked_float.inlines.hh line 1. */
-/* Specialized "checked" functions for native floating-point numbers.
+/* Automatically generated from PPL source file ../src/checked_int.inlines.hh line 1. */
+/* Specialized "checked" functions for native integer numbers.
 */
 
 
-/* Automatically generated from PPL source file ../src/checked_float.inlines.hh line 27. */
-#ifndef __alpha
-#include <cmath>
+/* Automatically generated from PPL source file ../src/checked_int.inlines.hh line 27. */
+#include <cerrno>
+#include <cstdlib>
+#include <climits>
+#include <string>
+
+#if !PPL_HAVE_DECL_STRTOLL
+signed long long
+strtoll(const char* nptr, char** endptr, int base);
+#endif
+
+#if !PPL_HAVE_DECL_STRTOULL
+unsigned long long
+strtoull(const char* nptr, char** endptr, int base);
 #endif
 
 namespace Parma_Polyhedra_Library {
 
 namespace Checked {
 
-inline float
-fma(float x, float y, float z) {
-#if PPL_HAVE_DECL_FMAF && defined(FP_FAST_FMAF) \
-  && !defined(__alpha) && !defined(__FreeBSD__)
-  return ::fmaf(x, y, z);
-#else
-  return x*y + z;
+#ifndef PPL_HAVE_INT_FAST16_T
+typedef int16_t int_fast16_t;
 #endif
-}
 
-inline double
-fma(double x, double y, double z) {
-#if PPL_HAVE_DECL_FMA && defined(FP_FAST_FMA) \
-  && !defined(__alpha) && !defined(__FreeBSD__)
-  return ::fma(x, y, z);
-#else
-  return x*y + z;
+#ifndef PPL_HAVE_INT_FAST32_T
+typedef int32_t int_fast32_t;
 #endif
-}
 
-inline long double
-fma(long double x, long double y, long double z) {
-#if PPL_HAVE_DECL_FMAL && defined(FP_FAST_FMAL) \
-  && !defined(__alpha) && !defined(__FreeBSD__)
-  return ::fmal(x, y, z);
-#else
-  return x*y + z;
+#ifndef PPL_HAVE_INT_FAST64_T
+typedef int64_t int_fast64_t;
 #endif
-}
 
-#if PPL_HAVE_DECL_RINTF
-inline float
-rint(float x) {
-  return ::rintf(x);
-}
+#ifndef PPL_HAVE_UINT_FAST16_T
+typedef uint16_t uint_fast16_t;
 #endif
 
-inline double
-rint(double x) {
-  return ::rint(x);
-}
+#ifndef PPL_HAVE_UINT_FAST32_T
+typedef uint32_t uint_fast32_t;
+#endif
 
-#if PPL_HAVE_DECL_RINTL
-inline long double
-rint(long double x) {
-  return ::rintl(x);
-}
-#elif !PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE
-// If proper long doubles are not provided, this is most likely
-// because long double and double are the same type: use rint().
-inline long double
-rint(long double x) {
-  return ::rint(x);
-}
-#elif defined(__i386__) && (defined(__GNUC__) || defined(__INTEL_COMPILER))
-// On Cygwin, we have proper long doubles but rintl() is not defined:
-// luckily, one machine instruction is enough to save the day.
-inline long double
-rint(long double x) {
-  long double i;
-  __asm__ ("frndint" : "=t" (i) : "0" (x));
-  return i;
-}
+#ifndef PPL_HAVE_UINT_FAST64_T
+typedef uint64_t uint_fast64_t;
 #endif
 
-inline bool
-fpu_direct_rounding(Rounding_Dir dir) {
-  return round_direct(dir) || round_ignore(dir);
+template <typename Policy, typename Type>
+struct Extended_Int {
+  static const Type plus_infinity = C_Integer<Type>::max;
+  static const Type minus_infinity = (C_Integer<Type>::min >= 0
+				      ? C_Integer<Type>::max - 1
+				      : C_Integer<Type>::min);
+  static const Type not_a_number = (C_Integer<Type>::min >= 0
+				    ? C_Integer<Type>::max - Policy::has_infinity * 2
+				    : C_Integer<Type>::min + Policy::has_infinity);
+  static const Type min = (C_Integer<Type>::min
+			   + (C_Integer<Type>::min >= 0 ? 0
+			      : (Policy::has_infinity + Policy::has_nan)));
+  static const Type max = (C_Integer<Type>::max
+			   - (C_Integer<Type>::min >= 0
+			      ? (2 * Policy::has_infinity + Policy::has_nan)
+			      : Policy::has_infinity));
+};
+
+template <typename Policy, typename To>
+inline Result
+set_neg_overflow_int(To& to, Rounding_Dir dir) {
+  if (round_up(dir)) {
+    to = Extended_Int<Policy, To>::min;
+    return V_LT_INF;
+  }
+  else {
+    if (Policy::has_infinity) {
+      to = Extended_Int<Policy, To>::minus_infinity;
+      return V_GT_MINUS_INFINITY;
+    }
+    return V_GT_MINUS_INFINITY | V_UNREPRESENTABLE;
+  }
 }
 
-inline bool
-fpu_inverse_rounding(Rounding_Dir dir) {
-  return round_inverse(dir);
+template <typename Policy, typename To>
+inline Result
+set_pos_overflow_int(To& to, Rounding_Dir dir) {
+  if (round_down(dir)) {
+    to = Extended_Int<Policy, To>::max;
+    return V_GT_SUP;
+  }
+  else {
+    if (Policy::has_infinity) {
+      to = Extended_Int<Policy, To>::plus_infinity;
+      return V_LT_PLUS_INFINITY;
+    }
+    return V_LT_PLUS_INFINITY | V_UNREPRESENTABLE;
+  }
 }
 
-// The FPU mode is "round down".
-//
-// The result of the rounded down multiplication is thus computed directly.
-//
-//   a = 0.3
-//   b = 0.1
-//   c_i = a * b = 0.03
-//   c = c_i = 0.0
-//
-// To obtain the result of the rounded up multiplication
-// we do -(-a * b).
-//
-//   a = 0.3
-//   b = 0.1
-//   c_i = -a * b = -0.03
-//
-// Here c_i should be forced to lose excess precision, otherwise the
-// FPU will truncate using the rounding mode in force, which is "round down".
-//
-//   c_i = -c_i = 0.03
-//   c = c_i = 0.0
-//
-// Wrong result: we should have obtained c = 0.1.
+template <typename Policy, typename To>
+inline Result
+round_lt_int_no_overflow(To& to, Rounding_Dir dir) {
+  if (round_down(dir)) {
+    --to;
+    return V_GT;
+  }
+  return V_LT;
+}
 
-inline void
-limit_precision(const float& v) {
-  cc_flush(v);
+template <typename Policy, typename To>
+inline Result
+round_gt_int_no_overflow(To& to, Rounding_Dir dir) {
+  if (round_up(dir)) {
+    ++to;
+    return V_LT;
+  }
+  return V_GT;
 }
 
-inline void
-limit_precision(const double& v) {
-  cc_flush(v);
+template <typename Policy, typename To>
+inline Result
+round_lt_int(To& to, Rounding_Dir dir) {
+  if (round_down(dir)) {
+    if (to == Extended_Int<Policy, To>::min) {
+      if (Policy::has_infinity) {
+	to = Extended_Int<Policy, To>::minus_infinity;
+	return V_GT_MINUS_INFINITY;
+      }
+      return V_GT_MINUS_INFINITY | V_UNREPRESENTABLE;
+    }
+    else {
+      --to;
+      return V_GT;
+    }
+  }
+  return V_LT;
 }
 
-inline void
-limit_precision(const long double&) {
+template <typename Policy, typename To>
+inline Result
+round_gt_int(To& to, Rounding_Dir dir) {
+  if (round_up(dir)) {
+    if (to == Extended_Int<Policy, To>::max) {
+      if (Policy::has_infinity) {
+	to = Extended_Int<Policy, To>::plus_infinity;
+	return V_LT_PLUS_INFINITY;
+      }
+      return V_LT_PLUS_INFINITY | V_UNREPRESENTABLE;
+    }
+    else {
+      ++to;
+      return V_LT;
+    }
+  }
+  return V_GT;
 }
 
-template <typename Policy, typename T>
+PPL_SPECIALIZE_COPY(copy_generic, signed char)
+PPL_SPECIALIZE_COPY(copy_generic, signed short)
+PPL_SPECIALIZE_COPY(copy_generic, signed int)
+PPL_SPECIALIZE_COPY(copy_generic, signed long)
+PPL_SPECIALIZE_COPY(copy_generic, signed long long)
+PPL_SPECIALIZE_COPY(copy_generic, unsigned char)
+PPL_SPECIALIZE_COPY(copy_generic, unsigned short)
+PPL_SPECIALIZE_COPY(copy_generic, unsigned int)
+PPL_SPECIALIZE_COPY(copy_generic, unsigned long)
+PPL_SPECIALIZE_COPY(copy_generic, unsigned long long)
+
+template <typename Policy, typename Type>
 inline Result
-classify_float(const T v, bool nan, bool inf, bool sign) {
-  Float<T> f(v);
-  if ((nan || sign) && CHECK_P(Policy::has_nan, f.u.binary.is_nan()))
-    return VC_NAN;
-  if (inf) {
-    int i = CHECK_P(Policy::has_infinity, f.u.binary.is_inf());
-    if (i < 0)
-      return VC_MINUS_INFINITY;
-    if (i > 0)
-      return VC_PLUS_INFINITY;
+classify_int(const Type v, bool nan, bool inf, bool sign) {
+  if (Policy::has_nan
+      && (nan || sign)
+      && v == Extended_Int<Policy, Type>::not_a_number)
+    return V_NAN;
+  if (!inf && !sign)
+    return V_LGE;
+  if (Policy::has_infinity) {
+    if (v == Extended_Int<Policy, Type>::minus_infinity)
+      return inf ? V_EQ_MINUS_INFINITY : V_LT;
+    if (v == Extended_Int<Policy, Type>::plus_infinity)
+      return inf ? V_EQ_PLUS_INFINITY : V_GT;
   }
   if (sign) {
     if (v < 0)
@@ -6389,3669 +6029,5640 @@ classify_float(const T v, bool nan, bool inf, bool sign) {
       return V_GT;
     return V_EQ;
   }
-  return VC_NORMAL;
-}
-
-template <typename Policy, typename T>
-inline bool
-is_nan_float(const T v) {
-  Float<T> f(v);
-  return CHECK_P(Policy::has_nan, f.u.binary.is_nan());
+  return V_LGE;
 }
 
-template <typename Policy, typename T>
-inline int
-is_inf_float(const T v) {
-  Float<T> f(v);
-  return CHECK_P(Policy::has_infinity, f.u.binary.is_inf());
+PPL_SPECIALIZE_CLASSIFY(classify_int, signed char)
+PPL_SPECIALIZE_CLASSIFY(classify_int, signed short)
+PPL_SPECIALIZE_CLASSIFY(classify_int, signed int)
+PPL_SPECIALIZE_CLASSIFY(classify_int, signed long)
+PPL_SPECIALIZE_CLASSIFY(classify_int, signed long long)
+PPL_SPECIALIZE_CLASSIFY(classify_int, unsigned char)
+PPL_SPECIALIZE_CLASSIFY(classify_int, unsigned short)
+PPL_SPECIALIZE_CLASSIFY(classify_int, unsigned int)
+PPL_SPECIALIZE_CLASSIFY(classify_int, unsigned long)
+PPL_SPECIALIZE_CLASSIFY(classify_int, unsigned long long)
+
+template <typename Policy, typename Type>
+inline bool
+is_nan_int(const Type v) {
+  return Policy::has_nan && v == Extended_Int<Policy, Type>::not_a_number;
 }
-template <typename Policy, typename T>
+
+PPL_SPECIALIZE_IS_NAN(is_nan_int, signed char)
+PPL_SPECIALIZE_IS_NAN(is_nan_int, signed short)
+PPL_SPECIALIZE_IS_NAN(is_nan_int, signed int)
+PPL_SPECIALIZE_IS_NAN(is_nan_int, signed long)
+PPL_SPECIALIZE_IS_NAN(is_nan_int, signed long long)
+PPL_SPECIALIZE_IS_NAN(is_nan_int, unsigned char)
+PPL_SPECIALIZE_IS_NAN(is_nan_int, unsigned short)
+PPL_SPECIALIZE_IS_NAN(is_nan_int, unsigned int)
+PPL_SPECIALIZE_IS_NAN(is_nan_int, unsigned long)
+PPL_SPECIALIZE_IS_NAN(is_nan_int, unsigned long long)
+
+template <typename Policy, typename Type>
 inline bool
-is_minf_float(const T v) {
-  return is_inf_float<Policy>(v) < 0;
+is_minf_int(const Type v) {
+  return Policy::has_infinity
+    && v == Extended_Int<Policy, Type>::minus_infinity;
 }
 
-template <typename Policy, typename T>
+PPL_SPECIALIZE_IS_MINF(is_minf_int, signed char)
+PPL_SPECIALIZE_IS_MINF(is_minf_int, signed short)
+PPL_SPECIALIZE_IS_MINF(is_minf_int, signed int)
+PPL_SPECIALIZE_IS_MINF(is_minf_int, signed long)
+PPL_SPECIALIZE_IS_MINF(is_minf_int, signed long long)
+PPL_SPECIALIZE_IS_MINF(is_minf_int, unsigned char)
+PPL_SPECIALIZE_IS_MINF(is_minf_int, unsigned short)
+PPL_SPECIALIZE_IS_MINF(is_minf_int, unsigned int)
+PPL_SPECIALIZE_IS_MINF(is_minf_int, unsigned long)
+PPL_SPECIALIZE_IS_MINF(is_minf_int, unsigned long long)
+
+template <typename Policy, typename Type>
 inline bool
-is_pinf_float(const T v) {
-  return is_inf_float<Policy>(v) > 0;
+is_pinf_int(const Type v) {
+  return Policy::has_infinity
+    && v == Extended_Int<Policy, Type>::plus_infinity;
 }
 
+PPL_SPECIALIZE_IS_PINF(is_pinf_int, signed char)
+PPL_SPECIALIZE_IS_PINF(is_pinf_int, signed short)
+PPL_SPECIALIZE_IS_PINF(is_pinf_int, signed int)
+PPL_SPECIALIZE_IS_PINF(is_pinf_int, signed long)
+PPL_SPECIALIZE_IS_PINF(is_pinf_int, signed long long)
+PPL_SPECIALIZE_IS_PINF(is_pinf_int, unsigned char)
+PPL_SPECIALIZE_IS_PINF(is_pinf_int, unsigned short)
+PPL_SPECIALIZE_IS_PINF(is_pinf_int, unsigned int)
+PPL_SPECIALIZE_IS_PINF(is_pinf_int, unsigned long)
+PPL_SPECIALIZE_IS_PINF(is_pinf_int, unsigned long long)
 
-template <typename Policy, typename T>
+template <typename Policy, typename Type>
 inline bool
-is_int_float(const T v) {
-  return rint(v) == v;
+is_int_int(const Type v) {
+  return !is_nan<Policy>(v);
 }
 
-template <typename Policy, typename T>
+PPL_SPECIALIZE_IS_INT(is_int_int, signed char)
+PPL_SPECIALIZE_IS_INT(is_int_int, signed short)
+PPL_SPECIALIZE_IS_INT(is_int_int, signed int)
+PPL_SPECIALIZE_IS_INT(is_int_int, signed long)
+PPL_SPECIALIZE_IS_INT(is_int_int, signed long long)
+PPL_SPECIALIZE_IS_INT(is_int_int, unsigned char)
+PPL_SPECIALIZE_IS_INT(is_int_int, unsigned short)
+PPL_SPECIALIZE_IS_INT(is_int_int, unsigned int)
+PPL_SPECIALIZE_IS_INT(is_int_int, unsigned long)
+PPL_SPECIALIZE_IS_INT(is_int_int, unsigned long long)
+
+template <typename Policy, typename Type>
 inline Result
-assign_special_float(T& v, Result r, Rounding_Dir) {
-  switch (classify(r)) {
+assign_special_int(Type& v, Result_Class c, Rounding_Dir dir) {
+  switch (c) {
+  case VC_NAN:
+    if (Policy::has_nan) {
+      v = Extended_Int<Policy, Type>::not_a_number;
+      return V_NAN;
+    }
+    return V_NAN | V_UNREPRESENTABLE;
   case VC_MINUS_INFINITY:
-    v = -HUGE_VAL;
-    break;
+    if (Policy::has_infinity) {
+      v = Extended_Int<Policy, Type>::minus_infinity;
+      return V_EQ_MINUS_INFINITY;
+    }
+    if (round_up(dir)) {
+      v = Extended_Int<Policy, Type>::min;
+      return V_LT_INF;
+    }
+    return V_EQ_MINUS_INFINITY | V_UNREPRESENTABLE;
   case VC_PLUS_INFINITY:
-    v = HUGE_VAL;
-    break;
-  case VC_NAN:
-    v = PPL_NAN;
-    return r;
+    if (Policy::has_infinity) {
+      v = Extended_Int<Policy, Type>::plus_infinity;
+      return V_EQ_PLUS_INFINITY;
+    }
+    if (round_down(dir)) {
+      v = Extended_Int<Policy, Type>::max;
+      return V_GT_SUP;
+    }
+    return V_EQ_PLUS_INFINITY | V_UNREPRESENTABLE;
   default:
-    break;
-  }
-  return V_EQ;
-}
-
-template <typename T>
-inline void
-pred_float(T& v) {
-  Float<T> f(v);
-  assert(!f.u.binary.is_nan());
-  assert(f.u.binary.is_inf() >= 0);
-  if (f.u.binary.is_zero() > 0) {
-    f.u.binary.negate();
-    f.u.binary.inc();
+    PPL_ASSERT(0);
+    return V_NAN | V_UNREPRESENTABLE;
   }
-  else if (f.u.binary.sign_bit()) {
-    f.u.binary.inc();
-  }
-  else {
-    f.u.binary.dec();
-  }
-  v = f.value();
 }
 
-template <typename T>
-inline void
-succ_float(T& v) {
-  Float<T> f(v);
-  assert(!f.u.binary.is_nan());
-  assert(f.u.binary.is_inf() <= 0);
-  if (f.u.binary.is_zero() < 0) {
-    f.u.binary.negate();
-    f.u.binary.inc();
-  }
-  else if (!f.u.binary.sign_bit()) {
-    f.u.binary.inc();
-  }
-  else {
-    f.u.binary.dec();
-  }
-  v = f.value();
-}
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, signed char)
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, signed short)
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, signed int)
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, signed long)
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, signed long long)
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, unsigned char)
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, unsigned short)
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, unsigned int)
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, unsigned long)
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, unsigned long long)
 
-template <typename Policy, typename To>
+template <typename To_Policy, typename From_Policy, typename To, typename From>
 inline Result
-round_lt_float(To& to, Rounding_Dir dir) {
-  if (round_down(dir)) {
-    pred_float(to);
-    return V_GT;
+assign_signed_int_signed_int(To& to, const From from, Rounding_Dir dir) {
+  if (sizeof(To) < sizeof(From)
+      || (sizeof(To) == sizeof(From)
+	  && (Extended_Int<To_Policy, To>::min > Extended_Int<From_Policy, From>::min
+	      || Extended_Int<To_Policy, To>::max < Extended_Int<From_Policy, From>::max))) {
+    if (CHECK_P(To_Policy::check_overflow,
+		PPL_LT_SILENT(from, From(Extended_Int<To_Policy, To>::min))))
+      return set_neg_overflow_int<To_Policy>(to, dir);
+    if (CHECK_P(To_Policy::check_overflow,
+		PPL_GT_SILENT(from, From(Extended_Int<To_Policy, To>::max))))
+      return set_pos_overflow_int<To_Policy>(to, dir);
   }
-  return V_LT;
+  to = To(from);
+  return V_EQ;
 }
 
-template <typename Policy, typename To>
+template <typename To_Policy, typename From_Policy, typename To, typename From>
 inline Result
-round_gt_float(To& to, Rounding_Dir dir) {
-  if (round_up(dir)) {
-    succ_float(to);
-    return V_LT;
+assign_signed_int_unsigned_int(To& to, const From from, Rounding_Dir dir) {
+  if (sizeof(To) <= sizeof(From)) {
+    if (CHECK_P(To_Policy::check_overflow,
+		from > From(Extended_Int<To_Policy, To>::max)))
+      return set_pos_overflow_int<To_Policy>(to, dir);
   }
-  return V_GT;
-}
-
-
-template <typename Policy>
-inline void
-prepare_inexact(Rounding_Dir dir) {
-  if (Policy::fpu_check_inexact && round_fpu_check_inexact(dir))
-    fpu_reset_inexact();
+  to = To(from);
+  return V_EQ;
 }
 
-template <typename Policy>
+template <typename To_Policy, typename From_Policy, typename To, typename From>
 inline Result
-result_relation(Rounding_Dir dir) {
-  if (Policy::fpu_check_inexact && round_fpu_check_inexact(dir)) {
-    switch (fpu_check_inexact()) {
-    case 0:
-      return V_EQ;
-    case -1:
-      goto unknown;
-    case 1:
-      break;
-    }
-    switch (round_dir(dir)) {
-    case ROUND_DOWN:
-      return V_GT;
-    case ROUND_UP:
-      return V_LT;
-    default:
-      return V_NE;
-    }
-  }
-  else {
-  unknown:
-    switch (round_dir(dir)) {
-    case ROUND_DOWN:
-      return V_GE;
-    case ROUND_UP:
-      return V_LE;
-    default:
-      return V_LGE;
-    }
+assign_unsigned_int_signed_int(To& to, const From from, Rounding_Dir dir) {
+  if (CHECK_P(To_Policy::check_overflow, from < 0))
+    return set_neg_overflow_int<To_Policy>(to, dir);
+  if (sizeof(To) < sizeof(From)) {
+    if (CHECK_P(To_Policy::check_overflow,
+		from > From(Extended_Int<To_Policy, To>::max)))
+      return set_pos_overflow_int<To_Policy>(to, dir);
   }
+  to = To(from);
+  return V_EQ;
 }
 
 template <typename To_Policy, typename From_Policy, typename To, typename From>
 inline Result
-assign_float_float_exact(To& to, const From from, Rounding_Dir) {
-  if (To_Policy::check_nan_result && is_nan<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  to = from;
+assign_unsigned_int_unsigned_int(To& to, const From from, Rounding_Dir dir) {
+  if (sizeof(To) < sizeof(From)
+      || (sizeof(To) == sizeof(From)
+	  && Extended_Int<To_Policy, To>::max < Extended_Int<From_Policy, From>::max)) {
+    if (CHECK_P(To_Policy::check_overflow,
+		PPL_GT_SILENT(from, From(Extended_Int<To_Policy, To>::max))))
+      return set_pos_overflow_int<To_Policy>(to, dir);
+  }
+  to = To(from);
   return V_EQ;
 }
 
+
+#define PPL_ASSIGN2_SIGNED_SIGNED(Smaller, Larger) \
+PPL_SPECIALIZE_ASSIGN(assign_signed_int_signed_int, Smaller, Larger) \
+PPL_SPECIALIZE_ASSIGN(assign_signed_int_signed_int, Larger, Smaller)
+
+#define PPL_ASSIGN2_UNSIGNED_UNSIGNED(Smaller, Larger) \
+PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_unsigned_int, Smaller, Larger) \
+PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_unsigned_int, Larger, Smaller)
+
+#define PPL_ASSIGN2_UNSIGNED_SIGNED(Smaller, Larger) \
+PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_signed_int, Smaller, Larger) \
+PPL_SPECIALIZE_ASSIGN(assign_signed_int_unsigned_int, Larger, Smaller)
+
+#define PPL_ASSIGN2_SIGNED_UNSIGNED(Smaller, Larger) \
+PPL_SPECIALIZE_ASSIGN(assign_signed_int_unsigned_int, Smaller, Larger) \
+PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_signed_int, Larger, Smaller)
+
+#define PPL_ASSIGN_SIGNED(Type) \
+PPL_SPECIALIZE_ASSIGN(assign_signed_int_signed_int, Type, Type)
+#define PPL_ASSIGN_UNSIGNED(Type) \
+PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_unsigned_int, Type, Type)
+
+PPL_ASSIGN_SIGNED(signed char)
+PPL_ASSIGN_SIGNED(signed short)
+PPL_ASSIGN_SIGNED(signed int)
+PPL_ASSIGN_SIGNED(signed long)
+PPL_ASSIGN_SIGNED(signed long long)
+PPL_ASSIGN_UNSIGNED(unsigned char)
+PPL_ASSIGN_UNSIGNED(unsigned short)
+PPL_ASSIGN_UNSIGNED(unsigned int)
+PPL_ASSIGN_UNSIGNED(unsigned long)
+PPL_ASSIGN_UNSIGNED(unsigned long long)
+
+PPL_ASSIGN2_SIGNED_SIGNED(signed char, signed short)
+PPL_ASSIGN2_SIGNED_SIGNED(signed char, signed int)
+PPL_ASSIGN2_SIGNED_SIGNED(signed char, signed long)
+PPL_ASSIGN2_SIGNED_SIGNED(signed char, signed long long)
+PPL_ASSIGN2_SIGNED_SIGNED(signed short, signed int)
+PPL_ASSIGN2_SIGNED_SIGNED(signed short, signed long)
+PPL_ASSIGN2_SIGNED_SIGNED(signed short, signed long long)
+PPL_ASSIGN2_SIGNED_SIGNED(signed int, signed long)
+PPL_ASSIGN2_SIGNED_SIGNED(signed int, signed long long)
+PPL_ASSIGN2_SIGNED_SIGNED(signed long, signed long long)
+PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned char, unsigned short)
+PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned char, unsigned int)
+PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned char, unsigned long)
+PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned char, unsigned long long)
+PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned short, unsigned int)
+PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned short, unsigned long)
+PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned short, unsigned long long)
+PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned int, unsigned long)
+PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned int, unsigned long long)
+PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned long, unsigned long long)
+PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned char, signed short)
+PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned char, signed int)
+PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned char, signed long)
+PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned char, signed long long)
+PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned short, signed int)
+PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned short, signed long)
+PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned short, signed long long)
+PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned int, signed long)
+PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned int, signed long long)
+PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned long, signed long long)
+PPL_ASSIGN2_SIGNED_UNSIGNED(signed char, unsigned char)
+PPL_ASSIGN2_SIGNED_UNSIGNED(signed char, unsigned short)
+PPL_ASSIGN2_SIGNED_UNSIGNED(signed char, unsigned int)
+PPL_ASSIGN2_SIGNED_UNSIGNED(signed char, unsigned long)
+PPL_ASSIGN2_SIGNED_UNSIGNED(signed char, unsigned long long)
+PPL_ASSIGN2_SIGNED_UNSIGNED(signed short, unsigned short)
+PPL_ASSIGN2_SIGNED_UNSIGNED(signed short, unsigned int)
+PPL_ASSIGN2_SIGNED_UNSIGNED(signed short, unsigned long)
+PPL_ASSIGN2_SIGNED_UNSIGNED(signed short, unsigned long long)
+PPL_ASSIGN2_SIGNED_UNSIGNED(signed int, unsigned int)
+PPL_ASSIGN2_SIGNED_UNSIGNED(signed int, unsigned long)
+PPL_ASSIGN2_SIGNED_UNSIGNED(signed int, unsigned long long)
+PPL_ASSIGN2_SIGNED_UNSIGNED(signed long, unsigned long)
+PPL_ASSIGN2_SIGNED_UNSIGNED(signed long, unsigned long long)
+PPL_ASSIGN2_SIGNED_UNSIGNED(signed long long, unsigned long long)
+
 template <typename To_Policy, typename From_Policy, typename To, typename From>
 inline Result
-assign_float_float_inexact(To& to, const From from, Rounding_Dir dir) {
-  if (To_Policy::check_nan_result && is_nan<From_Policy>(from))
+assign_int_float(To& to, const From from, Rounding_Dir dir) {
+  if (is_nan<From_Policy>(from))
     return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  prepare_inexact<To_Policy>(dir);
-  if (fpu_direct_rounding(dir))
-    to = from;
-  else if (fpu_inverse_rounding(dir)) {
-    From tmp = -from;
-    to = tmp;
-    limit_precision(to);
-    to = -to;
-  }
-  else {
-    fpu_rounding_control_word_type old
-      = fpu_save_rounding_direction(round_fpu_dir(dir));
-    limit_precision(from);
+  else if (is_minf<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+#if 0
+  // FIXME: this is correct but it is inefficient and breaks the build
+  // for the missing definition of static const members (a problem present
+  // also in other areas of the PPL).
+  if (CHECK_P(To_Policy::check_overflow, lt(from, Extended_Int<To_Policy, To>::min)))
+    return set_neg_overflow_int<To_Policy>(to, dir);
+  if (CHECK_P(To_Policy::check_overflow, !le(from, Extended_Int<To_Policy, To>::max)))
+    return set_pos_overflow_int<To_Policy>(to, dir);
+#else
+  if (CHECK_P(To_Policy::check_overflow, (from < Extended_Int<To_Policy, To>::min)))
+    return set_neg_overflow_int<To_Policy>(to, dir);
+  if (CHECK_P(To_Policy::check_overflow, (from > Extended_Int<To_Policy, To>::max)))
+    return set_pos_overflow_int<To_Policy>(to, dir);
+#endif
+  if (round_not_requested(dir)) {
     to = from;
-    limit_precision(to);
-    fpu_restore_rounding_direction(old);
+    return V_LGE;
   }
-  return result_relation<To_Policy>(dir);
+  From i_from = rint(from);
+  to = i_from;
+  if (from == i_from)
+    return V_EQ;
+  if (round_direct(ROUND_UP))
+    return round_lt_int<To_Policy>(to, dir);
+  if (round_direct(ROUND_DOWN))
+    return round_gt_int<To_Policy>(to, dir);
+  if (from < i_from)
+    return round_lt_int<To_Policy>(to, dir);
+  if (from > i_from)
+    return round_gt_int<To_Policy>(to, dir);
+  PPL_ASSERT(false);
+  return V_NAN;
 }
 
-template <typename To_Policy, typename From_Policy, typename To, typename From>
-inline Result
-assign_float_float(To& to, const From from, Rounding_Dir dir) {
-  if (sizeof(From) > sizeof(To))
-    return assign_float_float_inexact<To_Policy, From_Policy>(to, from, dir);
-  else
-    return assign_float_float_exact<To_Policy, From_Policy>(to, from, dir);
-}
+PPL_SPECIALIZE_ASSIGN(assign_int_float, signed char, float)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, signed short, float)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, signed int, float)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, signed long, float)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, signed long long, float)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned char, float)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned short, float)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned int, float)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned long, float)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned long long, float)
 
-template <typename To_Policy, typename From_Policy, typename Type>
+PPL_SPECIALIZE_ASSIGN(assign_int_float, signed char, double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, signed short, double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, signed int, double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, signed long, double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, signed long long, double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned char, double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned short, double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned int, double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned long, double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned long long, double)
+
+PPL_SPECIALIZE_ASSIGN(assign_int_float, signed char, long double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, signed short, long double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, signed int, long double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, signed long, long double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, signed long long, long double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned char, long double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned short, long double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned int, long double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned long, long double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned long long, long double)
+
+#undef PPL_ASSIGN_SIGNED
+#undef PPL_ASSIGN_UNSIGNED
+#undef PPL_ASSIGN2_SIGNED_SIGNED
+#undef PPL_ASSIGN2_UNSIGNED_UNSIGNED
+#undef PPL_ASSIGN2_UNSIGNED_SIGNED
+#undef PPL_ASSIGN2_SIGNED_UNSIGNED
+
+template <typename To_Policy, typename From_Policy, typename To>
 inline Result
-floor_float(Type& to, const Type from, Rounding_Dir) {
-  if (To_Policy::check_nan_result && is_nan<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  if (fpu_direct_rounding(ROUND_DOWN))
-    to = rint(from);
-  else if (fpu_inverse_rounding(ROUND_DOWN)) {
-    to = rint(-from);
-    limit_precision(to);
-    to = -to;
+assign_signed_int_mpz(To& to, const mpz_class& from, Rounding_Dir dir) {
+  if (sizeof(To) <= sizeof(signed long)) {
+    if (!To_Policy::check_overflow) {
+      to = from.get_si();
+      return V_EQ;
+    }
+    if (from.fits_slong_p()) {
+      signed long v = from.get_si();
+      if (PPL_LT_SILENT(v, (Extended_Int<To_Policy, To>::min)))
+	return set_neg_overflow_int<To_Policy>(to, dir);
+      if (PPL_GT_SILENT(v, (Extended_Int<To_Policy, To>::max)))
+	return set_pos_overflow_int<To_Policy>(to, dir);
+      to = v;
+      return V_EQ;
+    }
   }
   else {
-    fpu_rounding_control_word_type old
-      = fpu_save_rounding_direction(round_fpu_dir(ROUND_DOWN));
-    limit_precision(from);
-    to = rint(from);
-    limit_precision(to);
-    fpu_restore_rounding_direction(old);
+    mpz_srcptr m = from.get_mpz_t();
+    size_t sz = mpz_size(m);
+    if (sz <= sizeof(To) / sizeof(mp_limb_t)) {
+      if (sz == 0) {
+	to = 0;
+	return V_EQ;
+      }
+      To v;
+      mpz_export(&v, 0, -1, sizeof(To), 0, 0, m);
+      if (v >= 0) {
+	if (::sgn(from) < 0)
+	  return neg<To_Policy, To_Policy>(to, v, dir);
+	to = v;
+	return V_EQ;
+      }
+    }
   }
-  return V_EQ;
+  return ::sgn(from) < 0
+    ? set_neg_overflow_int<To_Policy>(to, dir)
+    : set_pos_overflow_int<To_Policy>(to, dir);
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
+PPL_SPECIALIZE_ASSIGN(assign_signed_int_mpz, signed char, mpz_class)
+PPL_SPECIALIZE_ASSIGN(assign_signed_int_mpz, signed short, mpz_class)
+PPL_SPECIALIZE_ASSIGN(assign_signed_int_mpz, signed int, mpz_class)
+PPL_SPECIALIZE_ASSIGN(assign_signed_int_mpz, signed long, mpz_class)
+PPL_SPECIALIZE_ASSIGN(assign_signed_int_mpz, signed long long, mpz_class)
+
+template <typename To_Policy, typename From_Policy, typename To>
 inline Result
-ceil_float(Type& to, const Type from, Rounding_Dir) {
-  if (To_Policy::check_nan_result && is_nan<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  if (fpu_direct_rounding(ROUND_UP))
-    to = rint(from);
-  else if (fpu_inverse_rounding(ROUND_UP)) {
-    to = rint(-from);
-    limit_precision(to);
-    to = -to;
+assign_unsigned_int_mpz(To& to, const mpz_class& from, Rounding_Dir dir) {
+  if (CHECK_P(To_Policy::check_overflow, ::sgn(from) < 0))
+    return set_neg_overflow_int<To_Policy>(to, dir);
+  if (sizeof(To) <= sizeof(unsigned long)) {
+    if (!To_Policy::check_overflow) {
+      to = from.get_ui();
+      return V_EQ;
+    }
+    if (from.fits_ulong_p()) {
+      unsigned long v = from.get_ui();
+      if (PPL_GT_SILENT(v, (Extended_Int<To_Policy, To>::max)))
+	return set_pos_overflow_int<To_Policy>(to, dir);
+      to = v;
+      return V_EQ;
+    }
   }
   else {
-    fpu_rounding_control_word_type old
-      = fpu_save_rounding_direction(round_fpu_dir(ROUND_UP));
-    limit_precision(from);
-    to = rint(from);
-    limit_precision(to);
-    fpu_restore_rounding_direction(old);
+    mpz_srcptr m = from.get_mpz_t();
+    size_t sz = mpz_size(m);
+    if (sz <= sizeof(To) / sizeof(mp_limb_t)) {
+      if (sz == 0)
+	to = 0;
+      else
+	mpz_export(&to, 0, -1, sizeof(To), 0, 0, m);
+      return V_EQ;
+    }
   }
-  return V_EQ;
+  return set_pos_overflow_int<To_Policy>(to, dir);
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-trunc_float(Type& to, const Type from, Rounding_Dir dir) {
-  if (To_Policy::check_nan_result && is_nan<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  if (from >= 0)
-    return floor<To_Policy, From_Policy>(to, from, dir);
-  else
-    return ceil<To_Policy, From_Policy>(to, from, dir);
-}
-
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-neg_float(Type& to, const Type from, Rounding_Dir) {
-  if (To_Policy::check_nan_result && is_nan<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  to = -from;
-  return V_EQ;
-}
+PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, unsigned char, mpz_class)
+PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, unsigned short, mpz_class)
+PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, unsigned int, mpz_class)
+PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, unsigned long, mpz_class)
+PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, unsigned long long, mpz_class)
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename Type>
+template <typename To_Policy, typename From_Policy, typename To>
 inline Result
-add_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (To_Policy::check_inf_add_inf
-      && is_inf_float<From1_Policy>(x) && x == -y)
-    return assign_special<To_Policy>(to, V_INF_ADD_INF, ROUND_IGNORE);
-  prepare_inexact<To_Policy>(dir);
-  if (fpu_direct_rounding(dir))
-    to = x + y;
-  else if (fpu_inverse_rounding(dir)) {
-    to = -x - y;
-    limit_precision(to);
-    to = -to;
+assign_int_mpq(To& to, const mpq_class& from, Rounding_Dir dir) {
+  mpz_srcptr n = from.get_num().get_mpz_t();
+  mpz_srcptr d = from.get_den().get_mpz_t();
+  PPL_DIRTY_TEMP0(mpz_class, q);
+  mpz_ptr _q = q.get_mpz_t();
+  if (round_not_requested(dir)) {
+    mpz_tdiv_q(_q, n, d);
+    Result r = assign<To_Policy, void>(to, q, dir);
+    if (r != V_EQ)
+      return r;
+    return V_LGE;
   }
-  else {
-    fpu_rounding_control_word_type old
-      = fpu_save_rounding_direction(round_fpu_dir(dir));
-    limit_precision(x);
-    limit_precision(y);
-    to = x + y;
-    limit_precision(to);
-    fpu_restore_rounding_direction(old);
+  mpz_t rem;
+  int sign;
+  mpz_init(rem);
+  mpz_tdiv_qr(_q, rem, n, d);
+  sign = mpz_sgn(rem);
+  mpz_clear(rem);
+  Result r = assign<To_Policy, void>(to, q, dir);
+  if (r != V_EQ)
+    return r;
+  switch (sign) {
+  case -1:
+    return round_lt_int<To_Policy>(to, dir);
+  case 1:
+    return round_gt_int<To_Policy>(to, dir);
+  default:
+    return V_EQ;
   }
-  if (To_Policy::check_nan_result && is_nan<To_Policy>(to))
-    return VC_NAN;
-  return result_relation<To_Policy>(dir);
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename Type>
-inline Result
-sub_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (To_Policy::check_inf_sub_inf
-      && is_inf_float<From1_Policy>(x) && x == y)
-    return assign_special<To_Policy>(to, V_INF_SUB_INF, ROUND_IGNORE);
-  prepare_inexact<To_Policy>(dir);
-  if (fpu_direct_rounding(dir))
-    to = x - y;
-  else if (fpu_inverse_rounding(dir)) {
-    to = y - x;
-    limit_precision(to);
-    to = -to;
-  }
-  else {
-    fpu_rounding_control_word_type old
-      = fpu_save_rounding_direction(round_fpu_dir(dir));
-    limit_precision(x);
-    limit_precision(y);
-    to = x - y;
-    limit_precision(to);
-    fpu_restore_rounding_direction(old);
-  }
-  if (To_Policy::check_nan_result && is_nan<To_Policy>(to))
-    return VC_NAN;
-  return result_relation<To_Policy>(dir);
-}
+PPL_SPECIALIZE_ASSIGN(assign_int_mpq, signed char, mpq_class)
+PPL_SPECIALIZE_ASSIGN(assign_int_mpq, signed short, mpq_class)
+PPL_SPECIALIZE_ASSIGN(assign_int_mpq, signed int, mpq_class)
+PPL_SPECIALIZE_ASSIGN(assign_int_mpq, signed long, mpq_class)
+PPL_SPECIALIZE_ASSIGN(assign_int_mpq, signed long long, mpq_class)
+PPL_SPECIALIZE_ASSIGN(assign_int_mpq, unsigned char, mpq_class)
+PPL_SPECIALIZE_ASSIGN(assign_int_mpq, unsigned short, mpq_class)
+PPL_SPECIALIZE_ASSIGN(assign_int_mpq, unsigned int, mpq_class)
+PPL_SPECIALIZE_ASSIGN(assign_int_mpq, unsigned long, mpq_class)
+PPL_SPECIALIZE_ASSIGN(assign_int_mpq, unsigned long long, mpq_class)
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename Type>
-inline Result
-mul_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (To_Policy::check_inf_mul_zero
-      && ((x == 0 && is_inf_float<From2_Policy>(y)) ||
-	  (y == 0 && is_inf_float<From1_Policy>(x))))
-    return assign_special<To_Policy>(to, V_INF_MUL_ZERO, ROUND_IGNORE);
-  prepare_inexact<To_Policy>(dir);
-  if (fpu_direct_rounding(dir))
-    to = x * y;
-  else if (fpu_inverse_rounding(dir)) {
-    to = x * -y;
-    limit_precision(to);
-    to = -to;
-  }
-  else {
-    fpu_rounding_control_word_type old
-      = fpu_save_rounding_direction(round_fpu_dir(dir));
-    limit_precision(x);
-    limit_precision(y);
-    to = x * y;
-    limit_precision(to);
-    fpu_restore_rounding_direction(old);
-  }
-  if (To_Policy::check_nan_result && is_nan<To_Policy>(to))
-    return VC_NAN;
-  return result_relation<To_Policy>(dir);
-}
+#if ~0 != -1
+#error "Only two's complement is supported"
+#endif
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename Type>
-inline Result
-div_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (To_Policy::check_inf_div_inf
-      && is_inf_float<From1_Policy>(x) && is_inf_float<From2_Policy>(y))
-    return assign_special<To_Policy>(to, V_INF_DIV_INF, ROUND_IGNORE);
-  if (To_Policy::check_div_zero && y == 0)
-    return assign_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
-  prepare_inexact<To_Policy>(dir);
-  if (fpu_direct_rounding(dir))
-    to = x / y;
-  else if (fpu_inverse_rounding(dir)) {
-    to = x / -y;
-    limit_precision(to);
-    to = -to;
-  }
-  else {
-    fpu_rounding_control_word_type old
-      = fpu_save_rounding_direction(round_fpu_dir(dir));
-    limit_precision(x);
-    limit_precision(y);
-    to = x / y;
-    limit_precision(to);
-    fpu_restore_rounding_direction(old);
-  }
-  if (To_Policy::check_nan_result && is_nan<To_Policy>(to))
-    return VC_NAN;
-  return result_relation<To_Policy>(dir);
-}
+#if UCHAR_MAX == 0xff
+#define CHAR_BITS 8
+#else
+#error "Unexpected max for unsigned char"
+#endif
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename Type>
-inline Result
-idiv_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  Type temp;
-  // The inexact check is useless
-  dir = round_dir(dir);
-  Result r = div<To_Policy, From1_Policy, From2_Policy>(temp, x, y, dir);
-  if (is_special(r)) {
-    to = temp;
-    return r;
-  }
-  Result r1 = trunc<To_Policy, To_Policy>(to, temp, ROUND_NOT_NEEDED);
-  assert(r1 == V_EQ);
-  if (r == V_EQ || to != temp)
-    return r1;
-  // FIXME: Prove that it's impossibile to return a strict relation
-  return dir == ROUND_UP ? V_LE : V_GE;
-}
+#if USHRT_MAX == 0xffff
+#define SHRT_BITS 16
+#else
+#error "Unexpected max for unsigned short"
+#endif
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename Type>
-inline Result
-rem_float(Type& to, const Type x, const Type y, Rounding_Dir) {
-  if (To_Policy::check_inf_mod && is_inf_float<From1_Policy>(x))
-    return assign_special<To_Policy>(to, V_INF_MOD, ROUND_IGNORE);
-  if (To_Policy::check_div_zero && y == 0)
-    return assign_special<To_Policy>(to, V_MOD_ZERO, ROUND_IGNORE);
-  to = std::fmod(x, y);
-  if (To_Policy::check_nan_result && is_nan<To_Policy>(to))
-    return VC_NAN;
-  return V_EQ;
-}
+#if UINT_MAX == 0xffffffff
+#define INT_BITS 32
+#else
+#error "Unexpected max for unsigned int"
+#endif
 
-struct Float_2exp {
-  const_bool_nodef(has_nan, false);
-  const_bool_nodef(has_infinity, false);
+#if ULONG_MAX == 0xffffffffUL
+#define LONG_BITS 32
+#elif ULONG_MAX == 0xffffffffffffffffULL
+#define LONG_BITS 64
+#else
+#error "Unexpected max for unsigned long"
+#endif
+
+#if ULLONG_MAX == 0xffffffffffffffffULL
+#define LONG_LONG_BITS 64
+#else
+#error "Unexpected max for unsigned long long"
+#endif
+
+
+template <typename T>
+struct Larger;
+
+// The following may be tuned for performance on specific architectures.
+//
+// Current guidelines:
+//   - avoid division where possible (larger type variant for mul)
+//   - use larger type variant for types smaller than architecture bit size
+
+template <>
+struct Larger<signed char> {
+  const_bool_nodef(use_for_neg, true);
+  const_bool_nodef(use_for_add, true);
+  const_bool_nodef(use_for_sub, true);
+  const_bool_nodef(use_for_mul, true);
+  typedef int_fast16_t type_for_neg;
+  typedef int_fast16_t type_for_add;
+  typedef int_fast16_t type_for_sub;
+  typedef int_fast16_t type_for_mul;
+};
+
+template <>
+struct Larger<unsigned char> {
+  const_bool_nodef(use_for_neg, true);
+  const_bool_nodef(use_for_add, true);
+  const_bool_nodef(use_for_sub, true);
+  const_bool_nodef(use_for_mul, true);
+  typedef int_fast16_t type_for_neg;
+  typedef uint_fast16_t type_for_add;
+  typedef int_fast16_t type_for_sub;
+  typedef uint_fast16_t type_for_mul;
+};
+
+template <>
+struct Larger<signed short> {
+  const_bool_nodef(use_for_neg, true);
+  const_bool_nodef(use_for_add, true);
+  const_bool_nodef(use_for_sub, true);
+  const_bool_nodef(use_for_mul, true);
+  typedef int_fast32_t type_for_neg;
+  typedef int_fast32_t type_for_add;
+  typedef int_fast32_t type_for_sub;
+  typedef int_fast32_t type_for_mul;
+};
+
+template <>
+struct Larger<unsigned short> {
+  const_bool_nodef(use_for_neg, true);
+  const_bool_nodef(use_for_add, true);
+  const_bool_nodef(use_for_sub, true);
+  const_bool_nodef(use_for_mul, true);
+  typedef int_fast32_t type_for_neg;
+  typedef uint_fast32_t type_for_add;
+  typedef int_fast32_t type_for_sub;
+  typedef uint_fast32_t type_for_mul;
+};
+
+template <>
+struct Larger<signed int> {
+  const_bool_nodef(use_for_neg, (LONG_BITS == 64));
+  const_bool_nodef(use_for_add, (LONG_BITS == 64));
+  const_bool_nodef(use_for_sub, (LONG_BITS == 64));
+  const_bool_nodef(use_for_mul, true);
+  typedef int_fast64_t type_for_neg;
+  typedef int_fast64_t type_for_add;
+  typedef int_fast64_t type_for_sub;
+  typedef int_fast64_t type_for_mul;
+};
+
+template <>
+struct Larger<unsigned int> {
+  const_bool_nodef(use_for_neg, (LONG_BITS == 64));
+  const_bool_nodef(use_for_add, (LONG_BITS == 64));
+  const_bool_nodef(use_for_sub, (LONG_BITS == 64));
+  const_bool_nodef(use_for_mul, true);
+  typedef int_fast64_t type_for_neg;
+  typedef uint_fast64_t type_for_add;
+  typedef int_fast64_t type_for_sub;
+  typedef uint_fast64_t type_for_mul;
+};
+
+template <>
+struct Larger<signed long> {
+  const_bool_nodef(use_for_neg, false);
+  const_bool_nodef(use_for_add, false);
+  const_bool_nodef(use_for_sub, false);
+  const_bool_nodef(use_for_mul, (LONG_BITS == 32));
+  typedef int_fast64_t type_for_neg;
+  typedef int_fast64_t type_for_add;
+  typedef int_fast64_t type_for_sub;
+  typedef int_fast64_t type_for_mul;
+};
+
+template <>
+struct Larger<unsigned long> {
+  const_bool_nodef(use_for_neg, false);
+  const_bool_nodef(use_for_add, false);
+  const_bool_nodef(use_for_sub, false);
+  const_bool_nodef(use_for_mul, (LONG_BITS == 32));
+  typedef int_fast64_t type_for_neg;
+  typedef uint_fast64_t type_for_add;
+  typedef int_fast64_t type_for_sub;
+  typedef uint_fast64_t type_for_mul;
+};
+
+template <>
+struct Larger<signed long long> {
+  const_bool_nodef(use_for_neg, false);
+  const_bool_nodef(use_for_add, false);
+  const_bool_nodef(use_for_sub, false);
+  const_bool_nodef(use_for_mul, false);
+  typedef int_fast64_t type_for_neg;
+  typedef int_fast64_t type_for_add;
+  typedef int_fast64_t type_for_sub;
+  typedef int_fast64_t type_for_mul;
+};
+
+template <>
+struct Larger<unsigned long long> {
+  const_bool_nodef(use_for_neg, false);
+  const_bool_nodef(use_for_add, false);
+  const_bool_nodef(use_for_sub, false);
+  const_bool_nodef(use_for_mul, false);
+  typedef int_fast64_t type_for_neg;
+  typedef uint_fast64_t type_for_add;
+  typedef int_fast64_t type_for_sub;
+  typedef uint_fast64_t type_for_mul;
 };
 
 template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-mul2exp_float(Type& to, const Type x, int exp, Rounding_Dir dir) {
-  if (To_Policy::check_nan_result && is_nan<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  if (exp < 0)
-    return div2exp<To_Policy, From_Policy>(to, x, -exp, dir);
-  assert(static_cast<unsigned int>(exp) < sizeof(unsigned long long) * 8);
-  return mul<To_Policy, From_Policy, Float_2exp>(to, x, static_cast<Type>(1ULL << exp), dir);
+neg_int_larger(Type& to, const Type x, Rounding_Dir dir) {
+  typename Larger<Type>::type_for_neg l = x;
+  l = -l;
+  return assign<To_Policy, To_Policy>(to, l, dir);
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 inline Result
-div2exp_float(Type& to, const Type x, int exp, Rounding_Dir dir) {
-  if (To_Policy::check_nan_result && is_nan<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  if (exp < 0)
-    return mul2exp<To_Policy, From_Policy>(to, x, -exp, dir);
-  assert(static_cast<unsigned int>(exp) < sizeof(unsigned long long) * 8);
-  return div<To_Policy, From_Policy, Float_2exp>(to, x, static_cast<Type>(1ULL << exp), dir);
+add_int_larger(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  typename Larger<Type>::type_for_add l = x;
+  l += y;
+  return assign<To_Policy, To_Policy>(to, l, dir);
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 inline Result
-abs_float(Type& to, const Type from, Rounding_Dir) {
-  if (To_Policy::check_nan_result && is_nan<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  to = std::abs(from);
-  return V_EQ;
+sub_int_larger(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  typename Larger<Type>::type_for_sub l = x;
+  l -= y;
+  return assign<To_Policy, To_Policy>(to, l, dir);
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 inline Result
-sqrt_float(Type& to, const Type from, Rounding_Dir dir) {
-  if (To_Policy::check_nan_result && is_nan<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  if (To_Policy::check_sqrt_neg && from < 0)
-    return assign_special<To_Policy>(to, V_SQRT_NEG, ROUND_IGNORE);
-  prepare_inexact<To_Policy>(dir);
-  if (fpu_direct_rounding(dir))
-    to = std::sqrt(from);
-  else {
-    fpu_rounding_control_word_type old
-      = fpu_save_rounding_direction(round_fpu_dir(dir));
-    limit_precision(from);
-    to = std::sqrt(from);
-    limit_precision(to);
-    fpu_restore_rounding_direction(old);
-  }
-  return result_relation<To_Policy>(dir);
+mul_int_larger(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  typename Larger<Type>::type_for_mul l = x;
+  l *= y;
+  return assign<To_Policy, To_Policy>(to, l, dir);
 }
 
-template <typename Policy, typename Type>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-sgn_float(const Type x) {
-  return classify<Policy>(x, false, false, true);
+neg_signed_int(Type& to, const Type from, Rounding_Dir dir) {
+  if (To_Policy::check_overflow && Larger<Type>::use_for_neg)
+    return neg_int_larger<To_Policy, From_Policy>(to, from, dir);
+  if (CHECK_P(To_Policy::check_overflow,
+	      (from < -Extended_Int<To_Policy, Type>::max)))
+    return set_pos_overflow_int<To_Policy>(to, dir);
+  to = -from;
+  return V_EQ;
 }
 
-template <typename Policy1, typename Policy2, typename Type>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-cmp_float(const Type x, const Type y) {
-  if (x > y)
-    return V_GT;
-  if (x < y)
-    return V_LT;
-  if (x == y)
-    return V_EQ;
-  return V_UNORD_COMP;
+neg_unsigned_int(Type& to, const Type from, Rounding_Dir dir) {
+  if (To_Policy::check_overflow && Larger<Type>::use_for_neg)
+    return neg_int_larger<To_Policy, From_Policy>(to, from, dir);
+  if (CHECK_P(To_Policy::check_overflow, from != 0))
+    return set_neg_overflow_int<To_Policy>(to, dir);
+  to = from;
+  return V_EQ;
 }
 
-template <typename To_Policy, typename From_Policy, typename To, typename From>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 inline Result
-assign_float_int_inexact(To& to, const From from, Rounding_Dir dir) {
-  prepare_inexact<To_Policy>(dir);
-  if (fpu_direct_rounding(dir))
-    to = from;
-  else {
-    fpu_rounding_control_word_type old
-      = fpu_save_rounding_direction(round_fpu_dir(dir));
-    to = from;
-    limit_precision(to);
-    fpu_restore_rounding_direction(old);
+add_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  if (To_Policy::check_overflow && Larger<Type>::use_for_add)
+    return add_int_larger<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+  if (To_Policy::check_overflow) {
+    if (y >= 0) {
+      if (x > Extended_Int<To_Policy, Type>::max - y)
+	return set_pos_overflow_int<To_Policy>(to, dir);
+    }
+    else if (x < Extended_Int<To_Policy, Type>::min - y)
+	return set_neg_overflow_int<To_Policy>(to, dir);
   }
-  return result_relation<To_Policy>(dir);
+  to = x + y;
+  return V_EQ;
 }
 
-template <typename To_Policy, typename From_Policy, typename To, typename From>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 inline Result
-assign_float_int(To& to, const From from, Rounding_Dir dir) {
-  if (sizeof(From) * 8 > Float<To>::Binary::MANTISSA_BITS)
-    return assign_float_int_inexact<To_Policy, From_Policy>(to, from, dir);
-  else
-    return assign_exact<To_Policy, From_Policy>(to, from, dir);
+add_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  if (To_Policy::check_overflow && Larger<Type>::use_for_add)
+    return add_int_larger<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+  if (CHECK_P(To_Policy::check_overflow,
+	      (x > Extended_Int<To_Policy, Type>::max - y)))
+    return set_pos_overflow_int<To_Policy>(to, dir);
+  to = x + y;
+  return V_EQ;
 }
 
-template <typename Policy, typename T>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 inline Result
-set_neg_overflow_float(T& to, Rounding_Dir dir) {
-  switch (round_dir(dir)) {
-  case ROUND_UP:
-    {
-      Float<T> f;
-      f.u.binary.set_max(true);
-      to = f.value();
-      return V_LT;
+sub_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  if (To_Policy::check_overflow && Larger<Type>::use_for_sub)
+    return sub_int_larger<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+  if (To_Policy::check_overflow) {
+    if (y >= 0) {
+      if (x < Extended_Int<To_Policy, Type>::min + y)
+	return set_neg_overflow_int<To_Policy>(to, dir);
     }
-  default:
-    to = -HUGE_VAL;
-    return V_GT;
+    else if (x > Extended_Int<To_Policy, Type>::max + y)
+	return set_pos_overflow_int<To_Policy>(to, dir);
   }
+  to = x - y;
+  return V_EQ;
 }
 
-template <typename Policy, typename T>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 inline Result
-set_pos_overflow_float(T& to, Rounding_Dir dir) {
-  switch (round_dir(dir)) {
-  case ROUND_DOWN:
-    {
-      Float<T> f;
-      f.u.binary.set_max(false);
-      to = f.value();
-      return V_GT;
-    }
-  default:
-    to = HUGE_VAL;
-    return V_LT;
-  }
+sub_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  if (To_Policy::check_overflow && Larger<Type>::use_for_sub)
+    return sub_int_larger<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+  if (CHECK_P(To_Policy::check_overflow,
+	      (x < Extended_Int<To_Policy, Type>::min + y)))
+    return set_neg_overflow_int<To_Policy>(to, dir);
+  to = x - y;
+  return V_EQ;
 }
 
-template <typename To_Policy, typename From_Policy, typename T>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 inline Result
-assign_float_mpz(T& to, const mpz_class& _from, Rounding_Dir dir)
-{
-  mpz_srcptr from = _from.get_mpz_t();
-  int sign = mpz_sgn(from);
-  if (sign == 0) {
-    to = 0;
+mul_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  if (To_Policy::check_overflow && Larger<Type>::use_for_mul)
+    return mul_int_larger<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+  if (!To_Policy::check_overflow) {
+    to = x * y;
     return V_EQ;
   }
-  size_t exponent = mpz_sizeinbase(from, 2) - 1;
-  if (exponent > static_cast<size_t>(Float<T>::Binary::EXPONENT_MAX)) {
-    if (sign < 0)
-      return set_neg_overflow_float<To_Policy>(to, dir);
-    else
-      return set_pos_overflow_float<To_Policy>(to, dir);
+  if (y == 0) {
+    to = 0;
+    return V_EQ;
   }
-  unsigned long zeroes = mpn_scan1(from->_mp_d, 0);
-  size_t meaningful_bits = exponent - zeroes;
-  mpz_t mantissa;
-  mpz_init(mantissa);
-  if (exponent > Float<T>::Binary::MANTISSA_BITS)
-    mpz_tdiv_q_2exp(mantissa,
-		    from,
-		    exponent - Float<T>::Binary::MANTISSA_BITS);
-  else
-    mpz_mul_2exp(mantissa, from, Float<T>::Binary::MANTISSA_BITS - exponent);
-  Float<T> f(to);
-  f.u.binary.build(sign < 0, mantissa, exponent);
-  mpz_clear(mantissa);
-  to = f.value();
-  if (meaningful_bits > Float<T>::Binary::MANTISSA_BITS) {
-    if (sign < 0)
-      return round_lt_float<To_Policy>(to, dir);
-    else
-      return round_gt_float<To_Policy>(to, dir);
+  if (y == -1)
+    return neg_signed_int<To_Policy, From1_Policy>(to, x, dir);
+  if (x >= 0) {
+    if (y > 0) {
+      if (x > Extended_Int<To_Policy, Type>::max / y)
+	return set_pos_overflow_int<To_Policy>(to, dir);
+    }
+    else {
+      if (x > Extended_Int<To_Policy, Type>::min / y)
+	return set_neg_overflow_int<To_Policy>(to, dir);
+    }
+  }
+  else {
+    if (y < 0) {
+      if (x < Extended_Int<To_Policy, Type>::max / y)
+	return set_pos_overflow_int<To_Policy>(to, dir);
+    }
+    else {
+      if (x < Extended_Int<To_Policy, Type>::min / y)
+	return set_neg_overflow_int<To_Policy>(to, dir);
+    }
   }
+  to = x * y;
   return V_EQ;
 }
 
-template <typename To_Policy, typename From_Policy, typename T>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 inline Result
-assign_float_mpq(T& to, const mpq_class& from, Rounding_Dir dir)
-{
-  const mpz_class& _num = from.get_num();
-  const mpz_class& _den = from.get_den();
-  if (_den == 1)
-    return assign_float_mpz<To_Policy, From_Policy>(to, _num, dir);
-  mpz_srcptr num = _num.get_mpz_t();
-  mpz_srcptr den = _den.get_mpz_t();
-  int sign = mpz_sgn(num);
-  signed long exponent = mpz_sizeinbase(num, 2) - mpz_sizeinbase(den, 2);
-  if (exponent < Float<T>::Binary::EXPONENT_MIN_DENORM) {
-    to = 0;
-  inexact:
-    if (sign < 0)
-      return round_lt_float<To_Policy>(to, dir);
-    else
-      return round_gt_float<To_Policy>(to, dir);
-  }
-  if (exponent > static_cast<signed int>(Float<T>::Binary::EXPONENT_MAX + 1)) {
-  overflow:
-    if (sign < 0)
-      return set_neg_overflow_float<To_Policy>(to, dir);
-    else
-      return set_pos_overflow_float<To_Policy>(to, dir);
-  }
-  unsigned int needed_bits = Float<T>::Binary::MANTISSA_BITS + 1;
-  if (exponent < Float<T>::Binary::EXPONENT_MIN)
-    needed_bits -= Float<T>::Binary::EXPONENT_MIN - exponent;
-  mpz_t mantissa;
-  mpz_init(mantissa);
-  signed long shift = needed_bits - exponent;
-  if (shift > 0) {
-    mpz_mul_2exp(mantissa, num, shift);
-    num = mantissa;
-  }
-  else if (shift < 0) {
-    mpz_mul_2exp(mantissa, den, -shift);
-    den = mantissa;
-  }
-  mpz_t r;
-  mpz_init(r);
-  mpz_tdiv_qr(mantissa, r, num, den);
-  size_t bits = mpz_sizeinbase(mantissa, 2);
-  bool inexact = (mpz_sgn(r) != 0);
-  mpz_clear(r);
-  if (bits == needed_bits + 1) {
-    inexact = (inexact || mpz_odd_p(mantissa));
-    mpz_div_2exp(mantissa, mantissa, 1);
-  }
-  else
-    --exponent;
-  if (exponent > static_cast<signed int>(Float<T>::Binary::EXPONENT_MAX)) {
-    mpz_clear(mantissa);
-    goto overflow;
+mul_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  if (To_Policy::check_overflow && Larger<Type>::use_for_mul)
+    return mul_int_larger<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+  if (!To_Policy::check_overflow) {
+    to = x * y;
+    return V_EQ;
   }
-  else if (exponent < Float<T>::Binary::EXPONENT_MIN - 1) {
-    // Denormalized.
-    exponent = Float<T>::Binary::EXPONENT_MIN - 1;
+  if (y == 0) {
+    to = 0;
+    return V_EQ;
   }
-  Float<T> f(to);
-  f.u.binary.build(sign < 0, mantissa, exponent);
-  mpz_clear(mantissa);
-  to = f.value();
-  if (inexact)
-    goto inexact;
+  if (x > Extended_Int<To_Policy, Type>::max / y)
+    return set_pos_overflow_int<To_Policy>(to, dir);
+  to = x * y;
   return V_EQ;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename Type>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 inline Result
-add_mul_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (To_Policy::check_inf_mul_zero
-      && ((x == 0 && is_inf_float<From2_Policy>(y)) ||
-	  (y == 0 && is_inf_float<From1_Policy>(x))))
-    return assign_special<To_Policy>(to, V_INF_MUL_ZERO, ROUND_IGNORE);
-  // FIXME: missing check_inf_add_inf
-  prepare_inexact<To_Policy>(dir);
-  if (fpu_direct_rounding(dir))
-    to = fma(x, y, to);
-  else if (fpu_inverse_rounding(dir)) {
-    to = fma(-x, y, -to);
-    limit_precision(to);
-    to = -to;
-  }
-  else {
-    fpu_rounding_control_word_type old
-      = fpu_save_rounding_direction(round_fpu_dir(dir));
-    limit_precision(x);
-    limit_precision(y);
-    limit_precision(to);
-    to = fma(x, y, to);
-    limit_precision(to);
-    fpu_restore_rounding_direction(old);
+div_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  if (CHECK_P(To_Policy::check_div_zero, y == 0)) {
+    return assign_nan<To_Policy>(to, V_DIV_ZERO);
   }
-  if (To_Policy::check_nan_result && is_nan<To_Policy>(to))
-    return VC_NAN;
-  return result_relation<To_Policy>(dir);
+  if (To_Policy::check_overflow && y == -1)
+    return neg_signed_int<To_Policy, From1_Policy>(to, x, dir);
+  to = x / y;
+  if (round_not_requested(dir))
+    return V_LGE;
+  Type m = x % y;
+  if (m < 0)
+    return round_lt_int_no_overflow<To_Policy>(to, dir);
+  else if (m > 0)
+    return round_gt_int_no_overflow<To_Policy>(to, dir);
+  else
+    return V_EQ;
 }
 
 template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 inline Result
-sub_mul_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (To_Policy::check_inf_mul_zero
-      && ((x == 0 && is_inf_float<From2_Policy>(y)) ||
-	  (y == 0 && is_inf_float<From1_Policy>(x))))
-    return assign_special<To_Policy>(to, V_INF_MUL_ZERO, ROUND_IGNORE);
-  // FIXME: missing check_inf_add_inf
-  prepare_inexact<To_Policy>(dir);
-  if (fpu_direct_rounding(dir))
-    to = fma(x, -y, to);
-  else if (fpu_inverse_rounding(dir)) {
-    to = fma(x, y, -to);
-    limit_precision(to);
-    to = -to;
-  }
-  else {
-    fpu_rounding_control_word_type old
-      = fpu_save_rounding_direction(round_fpu_dir(dir));
-    limit_precision(x);
-    limit_precision(y);
-    limit_precision(to);
-    to = fma(x, -y, to);
-    limit_precision(to);
-    fpu_restore_rounding_direction(old);
+div_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  if (CHECK_P(To_Policy::check_div_zero, y == 0)) {
+    return assign_nan<To_Policy>(to, V_DIV_ZERO);
   }
-  if (To_Policy::check_nan_result && is_nan<To_Policy>(to))
-    return VC_NAN;
-  return result_relation<To_Policy>(dir);
+  to = x / y;
+  if (round_not_requested(dir))
+    return V_GE;
+  Type m = x % y;
+  if (m == 0)
+    return V_EQ;
+  return round_gt_int<To_Policy>(to, dir);
 }
 
-template <typename Policy, typename Type>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 inline Result
-output_float(std::ostream& os, const Type from, const Numeric_Format&,
-	     Rounding_Dir) {
-  if (from == 0)
-    os << "0";
-  else if (is_minf<Policy>(from))
-    os << "-inf";
-  else if (is_pinf<Policy>(from))
-    os << "+inf";
-  else if (is_nan<Policy>(from))
-    os << "nan";
-  else {
-    int old_precision = os.precision(10000);
-    // FIXME: here correctness depends on the behavior of the standard
-    // output operator which, in turn, may depend on the behavior
-    // of printf().  The C99 standard, 7.19.16.1#13, does not give
-    // enough guarantees.  We could not find something similar
-    // in the C++ standard, so there is a concrete danger here.
-    os << from;
-    os.precision(old_precision);
+idiv_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  if (CHECK_P(To_Policy::check_div_zero, y == 0)) {
+    return assign_nan<To_Policy>(to, V_DIV_ZERO);
   }
+  if (To_Policy::check_overflow && y == -1)
+    return neg_signed_int<To_Policy, From1_Policy>(to, x, dir);
+  to = x / y;
   return V_EQ;
 }
 
-#if PPL_SUPPORTED_FLOAT
-PPL_SPECIALIZE_ASSIGN(assign_float_float_exact, float, float)
-#if PPL_SUPPORTED_DOUBLE
-PPL_SPECIALIZE_ASSIGN(assign_float_float, float, double)
-PPL_SPECIALIZE_ASSIGN(assign_float_float_exact, double, float)
-#endif
-#if PPL_SUPPORTED_LONG_DOUBLE
-PPL_SPECIALIZE_ASSIGN(assign_float_float, float, long double)
-PPL_SPECIALIZE_ASSIGN(assign_float_float_exact, long double, float)
-#endif
-#endif
-
-#if PPL_SUPPORTED_DOUBLE
-PPL_SPECIALIZE_ASSIGN(assign_float_float_exact, double, double)
-#if PPL_SUPPORTED_LONG_DOUBLE
-PPL_SPECIALIZE_ASSIGN(assign_float_float, double, long double)
-PPL_SPECIALIZE_ASSIGN(assign_float_float_exact, long double, double)
-#endif
-#endif
-
-#if PPL_SUPPORTED_LONG_DOUBLE
-PPL_SPECIALIZE_ASSIGN(assign_float_float_exact, long double, long double)
-#endif
-
-#if PPL_SUPPORTED_FLOAT
-PPL_SPECIALIZE_CLASSIFY(classify_float, float)
-PPL_SPECIALIZE_IS_NAN(is_nan_float, float)
-PPL_SPECIALIZE_IS_MINF(is_minf_float, float)
-PPL_SPECIALIZE_IS_PINF(is_pinf_float, float)
-PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_float, float)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, float, signed char)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, float, signed short)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, float, signed int)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, float, signed long)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, float, signed long long)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, float, unsigned char)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, float, unsigned short)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, float, unsigned int)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, float, unsigned long)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, float, unsigned long long)
-PPL_SPECIALIZE_ASSIGN(assign_float_mpz, float, mpz_class)
-PPL_SPECIALIZE_ASSIGN(assign_float_mpq, float, mpq_class)
-PPL_SPECIALIZE_COPY(copy_generic, float)
-PPL_SPECIALIZE_IS_INT(is_int_float, float)
-PPL_SPECIALIZE_FLOOR(floor_float, float, float)
-PPL_SPECIALIZE_CEIL(ceil_float, float, float)
-PPL_SPECIALIZE_TRUNC(trunc_float, float, float)
-PPL_SPECIALIZE_NEG(neg_float, float, float)
-PPL_SPECIALIZE_ABS(abs_float, float, float)
-PPL_SPECIALIZE_ADD(add_float, float, float, float)
-PPL_SPECIALIZE_SUB(sub_float, float, float, float)
-PPL_SPECIALIZE_MUL(mul_float, float, float, float)
-PPL_SPECIALIZE_DIV(div_float, float, float, float)
-PPL_SPECIALIZE_REM(rem_float, float, float, float)
-PPL_SPECIALIZE_MUL2EXP(mul2exp_float, float, float)
-PPL_SPECIALIZE_DIV2EXP(div2exp_float, float, float)
-PPL_SPECIALIZE_SQRT(sqrt_float, float, float)
-PPL_SPECIALIZE_GCD(gcd_exact, float, float, float)
-PPL_SPECIALIZE_GCDEXT(gcdext_exact, float, float, float, float, float)
-PPL_SPECIALIZE_LCM(lcm_gcd_exact, float, float, float)
-PPL_SPECIALIZE_SGN(sgn_float, float)
-PPL_SPECIALIZE_CMP(cmp_float, float, float)
-PPL_SPECIALIZE_ADD_MUL(add_mul_float, float, float, float)
-PPL_SPECIALIZE_SUB_MUL(sub_mul_float, float, float, float)
-PPL_SPECIALIZE_INPUT(input_generic, float)
-PPL_SPECIALIZE_OUTPUT(output_float, float)
-#endif
-
-#if PPL_SUPPORTED_DOUBLE
-PPL_SPECIALIZE_CLASSIFY(classify_float, double)
-PPL_SPECIALIZE_IS_NAN(is_nan_float, double)
-PPL_SPECIALIZE_IS_MINF(is_minf_float, double)
-PPL_SPECIALIZE_IS_PINF(is_pinf_float, double)
-PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_float, double)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, double, signed char)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, double, signed short)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, double, signed int)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, double, signed long)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, double, signed long long)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, double, unsigned char)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, double, unsigned short)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, double, unsigned int)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, double, unsigned long)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, double, unsigned long long)
-PPL_SPECIALIZE_ASSIGN(assign_float_mpz, double, mpz_class)
-PPL_SPECIALIZE_ASSIGN(assign_float_mpq, double, mpq_class)
-PPL_SPECIALIZE_COPY(copy_generic, double)
-PPL_SPECIALIZE_IS_INT(is_int_float, double)
-PPL_SPECIALIZE_FLOOR(floor_float, double, double)
-PPL_SPECIALIZE_CEIL(ceil_float, double, double)
-PPL_SPECIALIZE_TRUNC(trunc_float, double, double)
-PPL_SPECIALIZE_NEG(neg_float, double, double)
-PPL_SPECIALIZE_ABS(abs_float, double, double)
-PPL_SPECIALIZE_ADD(add_float, double, double, double)
-PPL_SPECIALIZE_SUB(sub_float, double, double, double)
-PPL_SPECIALIZE_MUL(mul_float, double, double, double)
-PPL_SPECIALIZE_DIV(div_float, double, double, double)
-PPL_SPECIALIZE_REM(rem_float, double, double, double)
-PPL_SPECIALIZE_MUL2EXP(mul2exp_float, double, double)
-PPL_SPECIALIZE_DIV2EXP(div2exp_float, double, double)
-PPL_SPECIALIZE_SQRT(sqrt_float, double, double)
-PPL_SPECIALIZE_GCD(gcd_exact, double, double, double)
-PPL_SPECIALIZE_GCDEXT(gcdext_exact, double, double, double, double, double)
-PPL_SPECIALIZE_LCM(lcm_gcd_exact, double, double, double)
-PPL_SPECIALIZE_SGN(sgn_float, double)
-PPL_SPECIALIZE_CMP(cmp_float, double, double)
-PPL_SPECIALIZE_ADD_MUL(add_mul_float, double, double, double)
-PPL_SPECIALIZE_SUB_MUL(sub_mul_float, double, double, double)
-PPL_SPECIALIZE_INPUT(input_generic, double)
-PPL_SPECIALIZE_OUTPUT(output_float, double)
-#endif
-
-#if PPL_SUPPORTED_LONG_DOUBLE
-PPL_SPECIALIZE_CLASSIFY(classify_float, long double)
-PPL_SPECIALIZE_IS_NAN(is_nan_float, long double)
-PPL_SPECIALIZE_IS_MINF(is_minf_float, long double)
-PPL_SPECIALIZE_IS_PINF(is_pinf_float, long double)
-PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_float, long double)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, signed char)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, signed short)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, signed int)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, signed long)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, signed long long)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, unsigned char)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, unsigned short)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, unsigned int)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, unsigned long)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, unsigned long long)
-PPL_SPECIALIZE_ASSIGN(assign_float_mpz, long double, mpz_class)
-PPL_SPECIALIZE_ASSIGN(assign_float_mpq, long double, mpq_class)
-PPL_SPECIALIZE_COPY(copy_generic, long double)
-PPL_SPECIALIZE_IS_INT(is_int_float, long double)
-PPL_SPECIALIZE_FLOOR(floor_float, long double, long double)
-PPL_SPECIALIZE_CEIL(ceil_float, long double, long double)
-PPL_SPECIALIZE_TRUNC(trunc_float, long double, long double)
-PPL_SPECIALIZE_NEG(neg_float, long double, long double)
-PPL_SPECIALIZE_ABS(abs_float, long double, long double)
-PPL_SPECIALIZE_ADD(add_float, long double, long double, long double)
-PPL_SPECIALIZE_SUB(sub_float, long double, long double, long double)
-PPL_SPECIALIZE_MUL(mul_float, long double, long double, long double)
-PPL_SPECIALIZE_DIV(div_float, long double, long double, long double)
-PPL_SPECIALIZE_REM(rem_float, long double, long double, long double)
-PPL_SPECIALIZE_MUL2EXP(mul2exp_float, long double, long double)
-PPL_SPECIALIZE_DIV2EXP(div2exp_float, long double, long double)
-PPL_SPECIALIZE_SQRT(sqrt_float, long double, long double)
-PPL_SPECIALIZE_GCD(gcd_exact, long double, long double, long double)
-PPL_SPECIALIZE_GCDEXT(gcdext_exact, long double, long double, long double,
-		  long double, long double)
-PPL_SPECIALIZE_LCM(lcm_gcd_exact, long double, long double, long double)
-PPL_SPECIALIZE_SGN(sgn_float, long double)
-PPL_SPECIALIZE_CMP(cmp_float, long double, long double)
-PPL_SPECIALIZE_ADD_MUL(add_mul_float, long double, long double, long double)
-PPL_SPECIALIZE_SUB_MUL(sub_mul_float, long double, long double, long double)
-PPL_SPECIALIZE_INPUT(input_generic, long double)
-PPL_SPECIALIZE_OUTPUT(output_float, long double)
-#endif
-
-} // namespace Checked
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/checked_mpz.inlines.hh line 1. */
-/* Specialized "checked" functions for GMP's mpz_class numbers.
-*/
-
-
-#include <sstream>
-
-namespace Parma_Polyhedra_Library {
-
-namespace Checked {
-
-template <typename Policy>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 inline Result
-round_lt_mpz(mpz_class& to, Rounding_Dir dir) {
-  if (round_down(dir)) {
-    --to;
-    return V_GT;
+idiv_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir) {
+  if (CHECK_P(To_Policy::check_div_zero, y == 0)) {
+    return assign_nan<To_Policy>(to, V_DIV_ZERO);
   }
-  return V_LT;
+  to = x / y;
+  return V_EQ;
 }
 
-template <typename Policy>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 inline Result
-round_gt_mpz(mpz_class& to, Rounding_Dir dir) {
-  if (round_up(dir)) {
-    ++to;
-    return V_LT;
+rem_signed_int(Type& to, const Type x, const Type y, Rounding_Dir) {
+  if (CHECK_P(To_Policy::check_div_zero, y == 0)) {
+    return assign_nan<To_Policy>(to, V_MOD_ZERO);
   }
-  return V_GT;
+  to = x % y;
+  return V_EQ;
 }
 
-#ifdef PPL_HAVE_TYPEOF
-//! Type of the _mp_size field of GMP's __mpz_struct.
-typedef typeof(__mpz_struct()._mp_size) mp_size_field_t;
-#else
-//! This is assumed to be the type of the _mp_size field of GMP's __mpz_struct.
-typedef int mp_size_field_t;
-#endif
-
-inline mp_size_field_t
-get_mp_size(const mpz_class &v) {
-  return v.get_mpz_t()->_mp_size;
+template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
+inline Result
+rem_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir) {
+  if (CHECK_P(To_Policy::check_div_zero, y == 0)) {
+    return assign_nan<To_Policy>(to, V_MOD_ZERO);
+  }
+  to = x % y;
+  return V_EQ;
 }
 
-inline void
-set_mp_size(mpz_class &v, mp_size_field_t size) {
-  v.get_mpz_t()->_mp_size = size;
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+div_2exp_unsigned_int(Type& to, const Type x, unsigned int exp,
+                      Rounding_Dir dir) {
+  if (exp >= sizeof(Type) * CHAR_BIT) {
+    to = 0;
+    if (round_not_requested(dir))
+      return V_GE;
+    if (x == 0)
+      return V_EQ;
+    return round_gt_int_no_overflow<To_Policy>(to, dir);
+  }
+  to = x >> exp;
+  if (round_not_requested(dir))
+    return V_GE;
+  if (x & ((Type(1) << exp) - 1))
+    return round_gt_int_no_overflow<To_Policy>(to, dir);
+  else
+    return V_EQ;
 }
 
-template <typename Policy>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-classify_mpz(const mpz_class& v, bool nan, bool inf, bool sign) {
-  if (Policy::has_nan || Policy::has_infinity) {
-    mp_size_field_t s = get_mp_size(v);
-    if (Policy::has_nan
-	&& (nan || sign)
-	&& s == C_Integer<mp_size_field_t>::min + 1)
-      return VC_NAN;
-    if (!inf && !sign)
-      return VC_NORMAL;
-    if (Policy::has_infinity) {
-      if (s == C_Integer<mp_size_field_t>::min)
-	return inf ? VC_MINUS_INFINITY : V_LT;
-      if (s == C_Integer<mp_size_field_t>::max)
-	return inf ? VC_PLUS_INFINITY : V_GT;
+div_2exp_signed_int(Type& to, const Type x, unsigned int exp,
+                    Rounding_Dir dir) {
+  if (exp > sizeof(Type) * CHAR_BIT - 1) {
+  zero:
+    to = 0;
+    if (round_not_requested(dir))
+      return V_LGE;
+    if (x < 0)
+      return round_lt_int_no_overflow<To_Policy>(to, dir);
+    else if (x > 0)
+      return round_gt_int_no_overflow<To_Policy>(to, dir);
+    else
+      return V_EQ;
+  }
+  if (exp == sizeof(Type) * CHAR_BIT - 1) {
+    if (x == C_Integer<Type>::min) {
+      to = -1;
+      return V_EQ;
     }
+    goto zero;
   }
-  if (sign)
-    return sgn<Policy>(v);
-  return VC_NORMAL;
+#if 0
+  to = x / (Type(1) << exp);
+  if (round_not_requested(dir))
+    return V_GE;
+  Type r = x % (Type(1) << exp);
+  if (r < 0)
+    return round_lt_int_no_overflow<To_Policy>(to, dir);
+  else if (r > 0)
+    return round_gt_int_no_overflow<To_Policy>(to, dir);
+  else
+    return V_EQ;
+#else
+  // Faster but compiler implementation dependent (see C++98 5.8.3)
+  to = x >> exp;
+  if (round_not_requested(dir))
+    return V_GE;
+  if (x & ((Type(1) << exp) - 1))
+    return round_gt_int_no_overflow<To_Policy>(to, dir);
+  return V_EQ;
+#endif
 }
 
-PPL_SPECIALIZE_CLASSIFY(classify_mpz, mpz_class)
-
-template <typename Policy>
-inline bool
-is_nan_mpz(const mpz_class& v) {
-  return Policy::has_nan
-    && get_mp_size(v) == C_Integer<mp_size_field_t>::min + 1;
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+add_2exp_unsigned_int(Type& to, const Type x, unsigned int exp,
+                      Rounding_Dir dir) {
+  if (!To_Policy::check_overflow) {
+    to = x + (Type(1) << exp);
+    return V_EQ;
+  }
+  if (exp >= sizeof(Type) * CHAR_BIT)
+    return set_pos_overflow_int<To_Policy>(to, dir);
+  Type n = Type(1) << exp;
+  return add_unsigned_int<To_Policy, From_Policy, void>(to, x, n, dir);
 }
 
-PPL_SPECIALIZE_IS_NAN(is_nan_mpz, mpz_class)
-
-template <typename Policy>
-inline bool
-is_minf_mpz(const mpz_class& v) {
-  return Policy::has_infinity
-    && get_mp_size(v) == C_Integer<mp_size_field_t>::min;
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+add_2exp_signed_int(Type& to, const Type x, unsigned int exp,
+		    Rounding_Dir dir) {
+  if (!To_Policy::check_overflow) {
+    to = x + (Type(1) << exp);
+    return V_EQ;
+  }
+  if (exp >= sizeof(Type) * CHAR_BIT)
+    return set_pos_overflow_int<To_Policy>(to, dir);
+  if (exp == sizeof(Type) * CHAR_BIT - 1) {
+    Type n = -2 * (Type(1) << (exp - 1));
+    return sub_signed_int<To_Policy, From_Policy, void>(to, x, n, dir);
+  }
+  else {
+    Type n = Type(1) << exp;
+    return add_signed_int<To_Policy, From_Policy, void>(to, x, n, dir);
+  }
 }
 
-PPL_SPECIALIZE_IS_MINF(is_minf_mpz, mpz_class)
-
-template <typename Policy>
-inline bool
-is_pinf_mpz(const mpz_class& v) {
-  return Policy::has_infinity
-    && get_mp_size(v) == C_Integer<mp_size_field_t>::max;
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+sub_2exp_unsigned_int(Type& to, const Type x, unsigned int exp,
+                      Rounding_Dir dir) {
+  if (!To_Policy::check_overflow) {
+    to = x - (Type(1) << exp);
+    return V_EQ;
+  }
+  if (exp >= sizeof(Type) * CHAR_BIT)
+    return set_neg_overflow_int<To_Policy>(to, dir);
+  Type n = Type(1) << exp;
+  return sub_unsigned_int<To_Policy, From_Policy, void>(to, x, n, dir);
 }
 
-PPL_SPECIALIZE_IS_PINF(is_pinf_mpz, mpz_class)
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+sub_2exp_signed_int(Type& to, const Type x, unsigned int exp,
+		    Rounding_Dir dir) {
+  if (!To_Policy::check_overflow) {
+    to = x - (Type(1) << exp);
+    return V_EQ;
+  }
+  if (exp >= sizeof(Type) * CHAR_BIT)
+    return set_neg_overflow_int<To_Policy>(to, dir);
+  if (exp == sizeof(Type) * CHAR_BIT - 1) {
+    Type n = -2 * (Type(1) << (exp - 1));
+    return add_signed_int<To_Policy, From_Policy, void>(to, x, n, dir);
+  }
+  else {
+    Type n = Type(1) << exp;
+    return sub_signed_int<To_Policy, From_Policy, void>(to, x, n, dir);
+  }
+}
 
-template <typename Policy>
-inline bool
-is_int_mpz(const mpz_class& v) {
-  return !is_nan<Policy>(v);
-}
-
-PPL_SPECIALIZE_IS_INT(is_int_mpz, mpz_class)
-
-template <typename Policy>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-assign_special_mpz(mpz_class& v, Result r, Rounding_Dir) {
-  Result c = classify(r);
-  if (Policy::has_nan && c == VC_NAN)
-    set_mp_size(v, C_Integer<mp_size_field_t>::min + 1);
-  else if (Policy::has_infinity) {
-    switch (c) {
-    case VC_MINUS_INFINITY:
-      set_mp_size(v, C_Integer<mp_size_field_t>::min);
-      return V_EQ;
-    case VC_PLUS_INFINITY:
-      set_mp_size(v, C_Integer<mp_size_field_t>::max);
+mul_2exp_unsigned_int(Type& to, const Type x, unsigned int exp,
+                      Rounding_Dir dir) {
+  if (!To_Policy::check_overflow) {
+    to = x << exp;
+    return V_EQ;
+  }
+  if (exp >= sizeof(Type) * CHAR_BIT) {
+    if (x == 0) {
+      to = 0;
       return V_EQ;
-    default:
-      break;
     }
+    return set_pos_overflow_int<To_Policy>(to, dir);
   }
-  return r;
-}
-
-PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_mpz, mpz_class)
-
-template <typename To_Policy, typename From_Policy>
-inline void
-copy_mpz(mpz_class& to, const mpz_class& from) {
-  if (is_nan_mpz<From_Policy>(from))
-    assert(To_Policy::has_nan);
-  else if (is_minf_mpz<From_Policy>(from) || is_pinf_mpz<From_Policy>(from))
-    assert(To_Policy::has_infinity);
-  else {
-    to = from;
-    return;
-  }
-  set_mp_size(to, get_mp_size(from));
+  if (x & (((Type(1) << exp) - 1) << (sizeof(Type) * CHAR_BIT - exp)))
+    return set_pos_overflow_int<To_Policy>(to, dir);
+  Type n = x << exp;
+  if (PPL_GT_SILENT(n, (Extended_Int<To_Policy, Type>::max)))
+    return set_pos_overflow_int<To_Policy>(to, dir);
+  to = n;
+  return V_EQ;
 }
 
-PPL_SPECIALIZE_COPY(copy_mpz, mpz_class)
-
-template <typename To_Policy, typename From_Policy, typename From>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-construct_mpz_base(mpz_class& to, const From from, Rounding_Dir) {
-    new (&to) mpz_class(from);
+mul_2exp_signed_int(Type& to, const Type x, unsigned int exp,
+                    Rounding_Dir dir) {
+  if (!To_Policy::check_overflow) {
+    to = x << exp;
     return V_EQ;
-}
-
-PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, signed char)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, signed short)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, signed int)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, signed long)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, unsigned char)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, unsigned short)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, unsigned int)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, unsigned long)
-
-template <typename To_Policy, typename From_Policy, typename From>
-inline Result
-construct_mpz_float(mpz_class& to, const From& from, Rounding_Dir dir) {
-  if (is_nan<From_Policy>(from))
-    return construct_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(from))
-    return construct_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(from))
-    return construct_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  if (round_ignore(dir)) {
-    new (&to) mpz_class(from);
-    return V_LGE;
   }
-  From n = rint(from);
-  new (&to) mpz_class(n);
-  if (from < n)
-    return round_lt_mpz<To_Policy>(to, dir);
-  else if (from > n)
-    return round_gt_mpz<To_Policy>(to, dir);
-  else
-    return V_EQ;
-}
-
-PPL_SPECIALIZE_CONSTRUCT(construct_mpz_float, mpz_class, float)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpz_float, mpz_class, double)
-
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, mpz_class)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, signed char)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, signed short)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, signed int)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, signed long)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, unsigned char)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, unsigned short)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, unsigned int)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, unsigned long)
-
-template <typename To_Policy, typename From_Policy, typename From>
-inline Result
-assign_mpz_signed_int(mpz_class& to, const From from, Rounding_Dir) {
-  if (sizeof(From) <= sizeof(signed long))
-    to = static_cast<signed long>(from);
-  else {
-    mpz_ptr m = to.get_mpz_t();
-    if (from >= 0)
-      mpz_import(m, 1, 1, sizeof(From), 0, 0, &from);
+  if (exp >= sizeof(Type) * CHAR_BIT - 1) {
+    if (x < 0)
+      return set_neg_overflow_int<To_Policy>(to, dir);
+    else if (x > 0)
+      return set_pos_overflow_int<To_Policy>(to, dir);
     else {
-      From n = -from;
-      mpz_import(m, 1, 1, sizeof(From), 0, 0, &n);
-      mpz_neg(m, m);
+      to = 0;
+      return V_EQ;
     }
   }
-  return V_EQ;
-}
-
-PPL_SPECIALIZE_ASSIGN(assign_mpz_signed_int, mpz_class, signed long long)
-
-template <typename To_Policy, typename From_Policy, typename From>
-inline Result
-assign_mpz_unsigned_int(mpz_class& to, const From from, Rounding_Dir) {
-  if (sizeof(From) <= sizeof(unsigned long))
-    to = static_cast<unsigned long>(from);
-  else
-    mpz_import(to.get_mpz_t(), 1, 1, sizeof(From), 0, 0, &from);
-  return V_EQ;
-}
-
-PPL_SPECIALIZE_ASSIGN(assign_mpz_unsigned_int, mpz_class, unsigned long long)
-
-template <typename To_Policy, typename From_Policy, typename From>
-inline Result
-assign_mpz_float(mpz_class& to, const From from, Rounding_Dir dir) {
-  if (is_nan<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  if (round_ignore(dir)) {
-    to = from;
-    return V_LGE;
+  Type mask = ((Type(1) << exp) - 1)
+    << (sizeof(Type) * CHAR_BIT - 1 - exp);
+  Type n;
+  if (x < 0) {
+    if ((x & mask) != mask)
+      return set_neg_overflow_int<To_Policy>(to, dir);
+    n = x << exp;
+    if (PPL_LT_SILENT(n, (Extended_Int<To_Policy, Type>::min)))
+      return set_neg_overflow_int<To_Policy>(to, dir);
+  }
+  else {
+    if (x & mask)
+      return set_pos_overflow_int<To_Policy>(to, dir);
+    n = x << exp;
+    if (PPL_GT_SILENT(n, (Extended_Int<To_Policy, Type>::max)))
+      return set_pos_overflow_int<To_Policy>(to, dir);
   }
-  From n = rint(from);
   to = n;
-  if (from < n)
-    return round_lt_mpz<To_Policy>(to, dir);
-  else if (from > n)
-    return round_gt_mpz<To_Policy>(to, dir);
-  else
-    return V_EQ;
-}
-
-PPL_SPECIALIZE_ASSIGN(assign_mpz_float, mpz_class, float)
-PPL_SPECIALIZE_ASSIGN(assign_mpz_float, mpz_class, double)
-
-template <typename To_Policy, typename From_Policy, typename From>
-inline Result
-assign_mpz_long_double(mpz_class& to, const From& from, Rounding_Dir dir) {
-  if (is_nan<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  // FIXME: this is an incredibly inefficient implementation!
-  std::stringstream ss;
-  output<From_Policy>(ss, from, Numeric_Format(), dir);
-  PPL_DIRTY_TEMP0(mpq_class, tmp);
-#ifndef NDEBUG
-  Result r =
-#endif
-    input_mpq(tmp, ss);
-  assert(r == V_EQ);
-  return assign<To_Policy, From_Policy>(to, tmp, dir);
+  return V_EQ;
 }
 
-PPL_SPECIALIZE_ASSIGN(assign_mpz_long_double, mpz_class, long double)
-
-template <typename To_Policy, typename From_Policy>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-assign_mpz_mpq(mpz_class& to, const mpq_class& from, Rounding_Dir dir) {
-  if (round_ignore(dir)) {
-    to = from;
-    return V_LGE;
-  }
-  mpz_srcptr n = from.get_num().get_mpz_t();
-  mpz_srcptr d = from.get_den().get_mpz_t();
-  if (round_down(dir)) {
-    mpz_fdiv_q(to.get_mpz_t(), n, d);
-    return mpz_divisible_p(n, d) ? V_EQ : V_GT;
-  }
+smod_2exp_unsigned_int(Type& to, const Type x, unsigned int exp,
+		       Rounding_Dir dir) {
+  if (exp > sizeof(Type) * CHAR_BIT)
+    to = x;
   else {
-    assert(round_up(dir));
-    mpz_cdiv_q(to.get_mpz_t(), n, d);
-    return mpz_divisible_p(n, d) ? V_EQ : V_LT;
+    Type v = exp == sizeof(Type) * CHAR_BIT ? x : (x & ((Type(1) << exp) - 1));
+    if (v >= Type(1) << (exp - 1))
+      return set_neg_overflow_int<To_Policy>(to, dir);
+    else
+      to = v;
   }
-}
-
-PPL_SPECIALIZE_ASSIGN(assign_mpz_mpq, mpz_class, mpq_class)
-
-PPL_SPECIALIZE_FLOOR(assign_exact, mpz_class, mpz_class)
-PPL_SPECIALIZE_CEIL(assign_exact, mpz_class, mpz_class)
-PPL_SPECIALIZE_TRUNC(assign_exact, mpz_class, mpz_class)
-
-template <typename To_Policy, typename From_Policy>
-inline Result
-neg_mpz(mpz_class& to, const mpz_class& from, Rounding_Dir) {
-  mpz_neg(to.get_mpz_t(), from.get_mpz_t());
   return V_EQ;
 }
 
-PPL_SPECIALIZE_NEG(neg_mpz, mpz_class, mpz_class)
-
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-add_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
-  to = x + y;
+smod_2exp_signed_int(Type& to, const Type x, unsigned int exp,
+		     Rounding_Dir) {
+  if (exp >= sizeof(Type) * CHAR_BIT)
+    to = x;
+  else {
+    Type m = Type(1) << (exp - 1);
+    to = (x & (m - 1)) - (x & m);
+  }
   return V_EQ;
 }
 
-PPL_SPECIALIZE_ADD(add_mpz, mpz_class, mpz_class, mpz_class)
-
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-sub_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
-  to = x - y;
+umod_2exp_unsigned_int(Type& to, const Type x, unsigned int exp,
+		       Rounding_Dir) {
+  if (exp >= sizeof(Type) * CHAR_BIT)
+    to = x;
+  else
+    to = x & ((Type(1) << exp) - 1);
   return V_EQ;
 }
 
-PPL_SPECIALIZE_SUB(sub_mpz, mpz_class, mpz_class, mpz_class)
-
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-mul_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
-  to = x * y;
+umod_2exp_signed_int(Type& to, const Type x, unsigned int exp,
+		     Rounding_Dir dir) {
+  if (exp >= sizeof(Type) * CHAR_BIT) {
+    if (x < 0)
+      return set_pos_overflow_int<To_Policy>(to, dir);
+    to = x;
+  }
+  else
+    to = x & ((Type(1) << exp) - 1);
   return V_EQ;
 }
 
-PPL_SPECIALIZE_MUL(mul_mpz, mpz_class, mpz_class, mpz_class)
-
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
-inline Result
-div_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y,
-	Rounding_Dir dir) {
-  if (CHECK_P(To_Policy::check_div_zero, ::sgn(y) == 0))
-    return assign_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
-  mpz_srcptr n = x.get_mpz_t();
-  mpz_srcptr d = y.get_mpz_t();
-  if (round_ignore(dir)) {
-#if 0
-    // FIXME: we need to reconsider Rounding_Dir argument to clarify if
-    // client code intention is to have approximate result without any interest
-    // in knowing the direction of rounding or to grant to called function
-    // that result will be exact.
-    mpz_divexact(to.get_mpz_t(), n, d);
-    return V_LGE;
-#else
-    mpz_cdiv_q(to.get_mpz_t(), n, d);
-    return V_LE;
-#endif
-  }
-  if (round_down(dir)) {
-    mpz_fdiv_q(to.get_mpz_t(), n, d);
-    return mpz_divisible_p(n, d) ? V_EQ : V_GT;
-  }
-  else {
-    assert(round_up(dir));
-    mpz_cdiv_q(to.get_mpz_t(), n, d);
-    return mpz_divisible_p(n, d) ? V_EQ : V_LT;
+template <typename Type>
+inline void
+isqrtrem(Type& q, Type& r, const Type from) {
+  q = 0;
+  r = from;
+  Type t(1);
+  for (t <<= CHAR_BIT * sizeof(Type) - 2; t != 0; t >>= 2) {
+    Type s = q + t;
+    if (s <= r) {
+      r -= s;
+      q = s + t;
+    }
+    q >>= 1;
   }
 }
 
-PPL_SPECIALIZE_DIV(div_mpz, mpz_class, mpz_class, mpz_class)
-
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-idiv_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y,
-	Rounding_Dir) {
-  if (CHECK_P(To_Policy::check_div_zero, ::sgn(y) == 0))
-    return assign_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
-  mpz_srcptr n = x.get_mpz_t();
-  mpz_srcptr d = y.get_mpz_t();
-  mpz_tdiv_q(to.get_mpz_t(), n, d);
-  return V_EQ;
+sqrt_unsigned_int(Type& to, const Type from, Rounding_Dir dir) {
+  Type rem;
+  isqrtrem(to, rem, from);
+  if (round_not_requested(dir))
+    return V_GE;
+  if (rem == 0)
+    return V_EQ;
+  return round_gt_int<To_Policy>(to, dir);
 }
 
-PPL_SPECIALIZE_IDIV(idiv_mpz, mpz_class, mpz_class, mpz_class)
-
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-rem_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
-  if (CHECK_P(To_Policy::check_div_zero, ::sgn(y) == 0))
-    return assign_special<To_Policy>(to, V_MOD_ZERO, ROUND_IGNORE);
-  to = x % y;
-  return V_EQ;
+sqrt_signed_int(Type& to, const Type from, Rounding_Dir dir) {
+  if (CHECK_P(To_Policy::check_sqrt_neg, from < 0)) {
+    return assign_nan<To_Policy>(to, V_SQRT_NEG);
+  }
+  return sqrt_unsigned_int<To_Policy, From_Policy>(to, from, dir);
 }
 
-PPL_SPECIALIZE_REM(rem_mpz, mpz_class, mpz_class, mpz_class)
-
-template <typename To_Policy, typename From_Policy>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 inline Result
-mul2exp_mpz(mpz_class& to, const mpz_class& x, int exp, Rounding_Dir dir) {
-  if (exp < 0)
-    return div2exp<To_Policy, From_Policy>(to, x, -exp, dir);
-  mpz_mul_2exp(to.get_mpz_t(), x.get_mpz_t(), exp);
-  return V_EQ;
+add_mul_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  Type z;
+  Result r = mul<To_Policy, From1_Policy, From2_Policy>(z, x, y, dir);
+  switch (result_overflow(r)) {
+  case 0:
+    return add<To_Policy, To_Policy, To_Policy>(to, to, z, dir);
+  case -1:
+    if (to <= 0)
+      return set_neg_overflow_int<To_Policy>(to, dir);
+    return assign_nan<To_Policy>(to, V_UNKNOWN_NEG_OVERFLOW);
+  case 1:
+    if (to >= 0)
+      return set_pos_overflow_int<To_Policy>(to, dir);
+    return assign_nan<To_Policy>(to, V_UNKNOWN_POS_OVERFLOW);
+  default:
+    PPL_ASSERT(false);
+    return V_NAN;
+  }
 }
 
-PPL_SPECIALIZE_MUL2EXP(mul2exp_mpz, mpz_class, mpz_class)
-
-template <typename To_Policy, typename From_Policy>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 inline Result
-div2exp_mpz(mpz_class& to, const mpz_class& x, int exp, Rounding_Dir dir) {
-  if (exp < 0)
-    return mul2exp<To_Policy, From_Policy>(to, x, -exp, dir);
-  mpz_srcptr n = x.get_mpz_t();
-  if (round_ignore(dir)) {
-    mpz_tdiv_q_2exp(to.get_mpz_t(), x.get_mpz_t(), exp);
-    return V_LGE;
-  }
-  if (round_down(dir)) {
-    mpz_fdiv_q_2exp(to.get_mpz_t(), n, exp);
-    return mpz_divisible_2exp_p(n, exp) ? V_EQ : V_GT;
-  }
-  else {
-    assert(round_up(dir));
-    mpz_cdiv_q_2exp(to.get_mpz_t(), n, exp);
-    return mpz_divisible_2exp_p(n, exp) ? V_EQ : V_LT;
+sub_mul_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  Type z;
+  Result r = mul<To_Policy, From1_Policy, From2_Policy>(z, x, y, dir);
+  switch (result_overflow(r)) {
+  case 0:
+    return sub<To_Policy, To_Policy, To_Policy>(to, to, z, dir);
+  case -1:
+    if (to >= 0)
+      return set_pos_overflow_int<To_Policy>(to, dir);
+    return assign_nan<To_Policy>(to, V_UNKNOWN_NEG_OVERFLOW);
+  case 1:
+    if (to <= 0)
+      return set_neg_overflow_int<To_Policy>(to, dir);
+    return assign_nan<To_Policy>(to, V_UNKNOWN_POS_OVERFLOW);
+  default:
+    PPL_ASSERT(false);
+    return V_NAN;
   }
 }
 
-PPL_SPECIALIZE_DIV2EXP(div2exp_mpz, mpz_class, mpz_class)
-
-template <typename To_Policy, typename From_Policy>
+template <typename Policy, typename Type>
 inline Result
-abs_mpz(mpz_class& to, const mpz_class& from, Rounding_Dir) {
-  to = abs(from);
+output_char(std::ostream& os, Type& from,
+	    const Numeric_Format&, Rounding_Dir) {
+  os << int(from);
   return V_EQ;
 }
 
-PPL_SPECIALIZE_ABS(abs_mpz, mpz_class, mpz_class)
-
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+template <typename Policy, typename Type>
 inline Result
-add_mul_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y,
-	    Rounding_Dir) {
-  mpz_addmul(to.get_mpz_t(), x.get_mpz_t(), y.get_mpz_t());
+output_int(std::ostream& os, Type& from, const Numeric_Format&, Rounding_Dir) {
+  os << from;
   return V_EQ;
 }
 
-PPL_SPECIALIZE_ADD_MUL(add_mul_mpz, mpz_class, mpz_class, mpz_class)
+PPL_SPECIALIZE_FLOOR(assign_signed_int_signed_int, signed char, signed char)
+PPL_SPECIALIZE_FLOOR(assign_signed_int_signed_int, signed short, signed short)
+PPL_SPECIALIZE_FLOOR(assign_signed_int_signed_int, signed int, signed int)
+PPL_SPECIALIZE_FLOOR(assign_signed_int_signed_int, signed long, signed long)
+PPL_SPECIALIZE_FLOOR(assign_signed_int_signed_int, signed long long, signed long long)
+PPL_SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, unsigned long long, unsigned long long)
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
-inline Result
-sub_mul_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y,
-	    Rounding_Dir) {
-  mpz_submul(to.get_mpz_t(), x.get_mpz_t(), y.get_mpz_t());
-  return V_EQ;
-}
+PPL_SPECIALIZE_CEIL(assign_signed_int_signed_int, signed char, signed char)
+PPL_SPECIALIZE_CEIL(assign_signed_int_signed_int, signed short, signed short)
+PPL_SPECIALIZE_CEIL(assign_signed_int_signed_int, signed int, signed int)
+PPL_SPECIALIZE_CEIL(assign_signed_int_signed_int, signed long, signed long)
+PPL_SPECIALIZE_CEIL(assign_signed_int_signed_int, signed long long, signed long long)
+PPL_SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, unsigned long long, unsigned long long)
 
-PPL_SPECIALIZE_SUB_MUL(sub_mul_mpz, mpz_class, mpz_class, mpz_class)
+PPL_SPECIALIZE_TRUNC(assign_signed_int_signed_int, signed char, signed char)
+PPL_SPECIALIZE_TRUNC(assign_signed_int_signed_int, signed short, signed short)
+PPL_SPECIALIZE_TRUNC(assign_signed_int_signed_int, signed int, signed int)
+PPL_SPECIALIZE_TRUNC(assign_signed_int_signed_int, signed long, signed long)
+PPL_SPECIALIZE_TRUNC(assign_signed_int_signed_int, signed long long, signed long long)
+PPL_SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, unsigned long long, unsigned long long)
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
-inline Result
-gcd_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
-  mpz_gcd(to.get_mpz_t(), x.get_mpz_t(), y.get_mpz_t());
-  return V_EQ;
-}
+PPL_SPECIALIZE_NEG(neg_signed_int, signed char, signed char)
+PPL_SPECIALIZE_NEG(neg_signed_int, signed short, signed short)
+PPL_SPECIALIZE_NEG(neg_signed_int, signed int, signed int)
+PPL_SPECIALIZE_NEG(neg_signed_int, signed long, signed long)
+PPL_SPECIALIZE_NEG(neg_signed_int, signed long long, signed long long)
+PPL_SPECIALIZE_NEG(neg_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_NEG(neg_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_NEG(neg_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_NEG(neg_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_NEG(neg_unsigned_int, unsigned long long, unsigned long long)
 
-PPL_SPECIALIZE_GCD(gcd_mpz, mpz_class, mpz_class, mpz_class)
+PPL_SPECIALIZE_ADD(add_signed_int, signed char, signed char, signed char)
+PPL_SPECIALIZE_ADD(add_signed_int, signed short, signed short, signed short)
+PPL_SPECIALIZE_ADD(add_signed_int, signed int, signed int, signed int)
+PPL_SPECIALIZE_ADD(add_signed_int, signed long, signed long, signed long)
+PPL_SPECIALIZE_ADD(add_signed_int, signed long long, signed long long, signed long long)
+PPL_SPECIALIZE_ADD(add_unsigned_int, unsigned char, unsigned char, unsigned char)
+PPL_SPECIALIZE_ADD(add_unsigned_int, unsigned short, unsigned short, unsigned short)
+PPL_SPECIALIZE_ADD(add_unsigned_int, unsigned int, unsigned int, unsigned int)
+PPL_SPECIALIZE_ADD(add_unsigned_int, unsigned long, unsigned long, unsigned long)
+PPL_SPECIALIZE_ADD(add_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
-inline Result
-gcdext_mpz(mpz_class& to, mpz_class& s, mpz_class& t,
-	   const mpz_class& x, const mpz_class& y,
-	   Rounding_Dir) {
-  mpz_gcdext(to.get_mpz_t(), s.get_mpz_t(), t.get_mpz_t(),
-	     x.get_mpz_t(), y.get_mpz_t());
-  return V_EQ;
-}
+PPL_SPECIALIZE_SUB(sub_signed_int, signed char, signed char, signed char)
+PPL_SPECIALIZE_SUB(sub_signed_int, signed short, signed short, signed short)
+PPL_SPECIALIZE_SUB(sub_signed_int, signed int, signed int, signed int)
+PPL_SPECIALIZE_SUB(sub_signed_int, signed long, signed long, signed long)
+PPL_SPECIALIZE_SUB(sub_signed_int, signed long long, signed long long, signed long long)
+PPL_SPECIALIZE_SUB(sub_unsigned_int, unsigned char, unsigned char, unsigned char)
+PPL_SPECIALIZE_SUB(sub_unsigned_int, unsigned short, unsigned short, unsigned short)
+PPL_SPECIALIZE_SUB(sub_unsigned_int, unsigned int, unsigned int, unsigned int)
+PPL_SPECIALIZE_SUB(sub_unsigned_int, unsigned long, unsigned long, unsigned long)
+PPL_SPECIALIZE_SUB(sub_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
 
-PPL_SPECIALIZE_GCDEXT(gcdext_mpz, mpz_class, mpz_class, mpz_class, mpz_class, mpz_class)
+PPL_SPECIALIZE_MUL(mul_signed_int, signed char, signed char, signed char)
+PPL_SPECIALIZE_MUL(mul_signed_int, signed short, signed short, signed short)
+PPL_SPECIALIZE_MUL(mul_signed_int, signed int, signed int, signed int)
+PPL_SPECIALIZE_MUL(mul_signed_int, signed long, signed long, signed long)
+PPL_SPECIALIZE_MUL(mul_signed_int, signed long long, signed long long, signed long long)
+PPL_SPECIALIZE_MUL(mul_unsigned_int, unsigned char, unsigned char, unsigned char)
+PPL_SPECIALIZE_MUL(mul_unsigned_int, unsigned short, unsigned short, unsigned short)
+PPL_SPECIALIZE_MUL(mul_unsigned_int, unsigned int, unsigned int, unsigned int)
+PPL_SPECIALIZE_MUL(mul_unsigned_int, unsigned long, unsigned long, unsigned long)
+PPL_SPECIALIZE_MUL(mul_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
-inline Result
-lcm_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
-  mpz_lcm(to.get_mpz_t(), x.get_mpz_t(), y.get_mpz_t());
-  return V_EQ;
-}
+PPL_SPECIALIZE_DIV(div_signed_int, signed char, signed char, signed char)
+PPL_SPECIALIZE_DIV(div_signed_int, signed short, signed short, signed short)
+PPL_SPECIALIZE_DIV(div_signed_int, signed int, signed int, signed int)
+PPL_SPECIALIZE_DIV(div_signed_int, signed long, signed long, signed long)
+PPL_SPECIALIZE_DIV(div_signed_int, signed long long, signed long long, signed long long)
+PPL_SPECIALIZE_DIV(div_unsigned_int, unsigned char, unsigned char, unsigned char)
+PPL_SPECIALIZE_DIV(div_unsigned_int, unsigned short, unsigned short, unsigned short)
+PPL_SPECIALIZE_DIV(div_unsigned_int, unsigned int, unsigned int, unsigned int)
+PPL_SPECIALIZE_DIV(div_unsigned_int, unsigned long, unsigned long, unsigned long)
+PPL_SPECIALIZE_DIV(div_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
 
-PPL_SPECIALIZE_LCM(lcm_mpz, mpz_class, mpz_class, mpz_class)
+PPL_SPECIALIZE_IDIV(idiv_signed_int, signed char, signed char, signed char)
+PPL_SPECIALIZE_IDIV(idiv_signed_int, signed short, signed short, signed short)
+PPL_SPECIALIZE_IDIV(idiv_signed_int, signed int, signed int, signed int)
+PPL_SPECIALIZE_IDIV(idiv_signed_int, signed long, signed long, signed long)
+PPL_SPECIALIZE_IDIV(idiv_signed_int, signed long long, signed long long, signed long long)
+PPL_SPECIALIZE_IDIV(idiv_unsigned_int, unsigned char, unsigned char, unsigned char)
+PPL_SPECIALIZE_IDIV(idiv_unsigned_int, unsigned short, unsigned short, unsigned short)
+PPL_SPECIALIZE_IDIV(idiv_unsigned_int, unsigned int, unsigned int, unsigned int)
+PPL_SPECIALIZE_IDIV(idiv_unsigned_int, unsigned long, unsigned long, unsigned long)
+PPL_SPECIALIZE_IDIV(idiv_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
 
-template <typename To_Policy, typename From_Policy>
-inline Result
-sqrt_mpz(mpz_class& to, const mpz_class& from, Rounding_Dir dir) {
-  if (CHECK_P(To_Policy::check_sqrt_neg, from < 0))
-    return assign_special<To_Policy>(to, V_SQRT_NEG, ROUND_IGNORE);
-  if (round_ignore(dir)) {
-    to = sqrt(from);
-    return V_GE;
-  }
-  PPL_DIRTY_TEMP0(mpz_class, r);
-  mpz_sqrtrem(to.get_mpz_t(), r.get_mpz_t(), from.get_mpz_t());
-  if (r == 0)
-    return V_EQ;
-  return round_gt_mpz<To_Policy>(to, dir);
-}
+PPL_SPECIALIZE_REM(rem_signed_int, signed char, signed char, signed char)
+PPL_SPECIALIZE_REM(rem_signed_int, signed short, signed short, signed short)
+PPL_SPECIALIZE_REM(rem_signed_int, signed int, signed int, signed int)
+PPL_SPECIALIZE_REM(rem_signed_int, signed long, signed long, signed long)
+PPL_SPECIALIZE_REM(rem_signed_int, signed long long, signed long long, signed long long)
+PPL_SPECIALIZE_REM(rem_unsigned_int, unsigned char, unsigned char, unsigned char)
+PPL_SPECIALIZE_REM(rem_unsigned_int, unsigned short, unsigned short, unsigned short)
+PPL_SPECIALIZE_REM(rem_unsigned_int, unsigned int, unsigned int, unsigned int)
+PPL_SPECIALIZE_REM(rem_unsigned_int, unsigned long, unsigned long, unsigned long)
+PPL_SPECIALIZE_REM(rem_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
 
-PPL_SPECIALIZE_SQRT(sqrt_mpz, mpz_class, mpz_class)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_signed_int, signed char, signed char)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_signed_int, signed short, signed short)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_signed_int, signed int, signed int)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_signed_int, signed long, signed long)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_signed_int, signed long long, signed long long)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_unsigned_int, unsigned long long, unsigned long long)
+
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_signed_int, signed char, signed char)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_signed_int, signed short, signed short)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_signed_int, signed int, signed int)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_signed_int, signed long, signed long)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_signed_int, signed long long, signed long long)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_unsigned_int, unsigned long long, unsigned long long)
+
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_signed_int, signed char, signed char)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_signed_int, signed short, signed short)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_signed_int, signed int, signed int)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_signed_int, signed long, signed long)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_signed_int, signed long long, signed long long)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_unsigned_int, unsigned long long, unsigned long long)
+
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_signed_int, signed char, signed char)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_signed_int, signed short, signed short)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_signed_int, signed int, signed int)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_signed_int, signed long, signed long)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_signed_int, signed long long, signed long long)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_unsigned_int, unsigned long long, unsigned long long)
+
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_signed_int, signed char, signed char)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_signed_int, signed short, signed short)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_signed_int, signed int, signed int)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_signed_int, signed long, signed long)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_signed_int, signed long long, signed long long)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_unsigned_int, unsigned long long, unsigned long long)
+
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_signed_int, signed char, signed char)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_signed_int, signed short, signed short)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_signed_int, signed int, signed int)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_signed_int, signed long, signed long)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_signed_int, signed long long, signed long long)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_unsigned_int, unsigned long long, unsigned long long)
 
-template <typename Policy, typename Type>
-inline Result
-sgn_mp(const Type& x) {
-  int i = ::sgn(x);
-  return i > 0 ? V_GT : i == 0 ? V_EQ : V_LT;
-}
+PPL_SPECIALIZE_SQRT(sqrt_signed_int, signed char, signed char)
+PPL_SPECIALIZE_SQRT(sqrt_signed_int, signed short, signed short)
+PPL_SPECIALIZE_SQRT(sqrt_signed_int, signed int, signed int)
+PPL_SPECIALIZE_SQRT(sqrt_signed_int, signed long, signed long)
+PPL_SPECIALIZE_SQRT(sqrt_signed_int, signed long long, signed long long)
+PPL_SPECIALIZE_SQRT(sqrt_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_SQRT(sqrt_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_SQRT(sqrt_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_SQRT(sqrt_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_SQRT(sqrt_unsigned_int, unsigned long long, unsigned long long)
 
-PPL_SPECIALIZE_SGN(sgn_mp, mpz_class)
-PPL_SPECIALIZE_SGN(sgn_mp, mpq_class)
+PPL_SPECIALIZE_ABS(abs_generic, signed char, signed char)
+PPL_SPECIALIZE_ABS(abs_generic, signed short, signed short)
+PPL_SPECIALIZE_ABS(abs_generic, signed int, signed int)
+PPL_SPECIALIZE_ABS(abs_generic, signed long, signed long)
+PPL_SPECIALIZE_ABS(abs_generic, signed long long, signed long long)
+PPL_SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, unsigned long long, unsigned long long)
 
-template <typename Policy1, typename Policy2, typename Type>
-inline Result
-cmp_mp(const Type& x, const Type& y) {
-  int i = ::cmp(x, y);
-  return i > 0 ? V_GT : i == 0 ? V_EQ : V_LT;
-}
+PPL_SPECIALIZE_GCD(gcd_exact, signed char, signed char, signed char)
+PPL_SPECIALIZE_GCD(gcd_exact, signed short, signed short, signed short)
+PPL_SPECIALIZE_GCD(gcd_exact, signed int, signed int, signed int)
+PPL_SPECIALIZE_GCD(gcd_exact, signed long, signed long, signed long)
+PPL_SPECIALIZE_GCD(gcd_exact, signed long long, signed long long, signed long long)
+PPL_SPECIALIZE_GCD(gcd_exact, unsigned char, unsigned char, unsigned char)
+PPL_SPECIALIZE_GCD(gcd_exact, unsigned short, unsigned short, unsigned short)
+PPL_SPECIALIZE_GCD(gcd_exact, unsigned int, unsigned int, unsigned int)
+PPL_SPECIALIZE_GCD(gcd_exact, unsigned long, unsigned long, unsigned long)
+PPL_SPECIALIZE_GCD(gcd_exact, unsigned long long, unsigned long long, unsigned long long)
 
-PPL_SPECIALIZE_CMP(cmp_mp, mpz_class, mpz_class)
-PPL_SPECIALIZE_CMP(cmp_mp, mpq_class, mpq_class)
+PPL_SPECIALIZE_GCDEXT(gcdext_exact, signed char, signed char, signed char, signed char, signed char)
+PPL_SPECIALIZE_GCDEXT(gcdext_exact, signed short, signed short, signed short, signed short, signed short)
+PPL_SPECIALIZE_GCDEXT(gcdext_exact, signed int, signed int, signed int, signed int, signed int)
+PPL_SPECIALIZE_GCDEXT(gcdext_exact, signed long, signed long, signed long, signed long, signed long)
+PPL_SPECIALIZE_GCDEXT(gcdext_exact, signed long long, signed long long, signed long long, signed long long, signed long long)
+PPL_SPECIALIZE_GCDEXT(gcdext_exact, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)
+PPL_SPECIALIZE_GCDEXT(gcdext_exact, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short)
+PPL_SPECIALIZE_GCDEXT(gcdext_exact, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)
+PPL_SPECIALIZE_GCDEXT(gcdext_exact, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long)
+PPL_SPECIALIZE_GCDEXT(gcdext_exact, unsigned long long, unsigned long long, unsigned long long, unsigned long long, unsigned long long)
 
-template <typename Policy>
-inline Result
-output_mpz(std::ostream& os, const mpz_class& from, const Numeric_Format&,
-	   Rounding_Dir) {
-  os << from;
-  return V_EQ;
-}
+PPL_SPECIALIZE_LCM(lcm_gcd_exact, signed char, signed char, signed char)
+PPL_SPECIALIZE_LCM(lcm_gcd_exact, signed short, signed short, signed short)
+PPL_SPECIALIZE_LCM(lcm_gcd_exact, signed int, signed int, signed int)
+PPL_SPECIALIZE_LCM(lcm_gcd_exact, signed long, signed long, signed long)
+PPL_SPECIALIZE_LCM(lcm_gcd_exact, signed long long, signed long long, signed long long)
+PPL_SPECIALIZE_LCM(lcm_gcd_exact, unsigned char, unsigned char, unsigned char)
+PPL_SPECIALIZE_LCM(lcm_gcd_exact, unsigned short, unsigned short, unsigned short)
+PPL_SPECIALIZE_LCM(lcm_gcd_exact, unsigned int, unsigned int, unsigned int)
+PPL_SPECIALIZE_LCM(lcm_gcd_exact, unsigned long, unsigned long, unsigned long)
+PPL_SPECIALIZE_LCM(lcm_gcd_exact, unsigned long long, unsigned long long, unsigned long long)
 
-PPL_SPECIALIZE_INPUT(input_generic, mpz_class)
-PPL_SPECIALIZE_OUTPUT(output_mpz, mpz_class)
+PPL_SPECIALIZE_SGN(sgn_generic, signed char)
+PPL_SPECIALIZE_SGN(sgn_generic, signed short)
+PPL_SPECIALIZE_SGN(sgn_generic, signed int)
+PPL_SPECIALIZE_SGN(sgn_generic, signed long)
+PPL_SPECIALIZE_SGN(sgn_generic, signed long long)
+PPL_SPECIALIZE_SGN(sgn_generic, unsigned char)
+PPL_SPECIALIZE_SGN(sgn_generic, unsigned short)
+PPL_SPECIALIZE_SGN(sgn_generic, unsigned int)
+PPL_SPECIALIZE_SGN(sgn_generic, unsigned long)
+PPL_SPECIALIZE_SGN(sgn_generic, unsigned long long)
+
+PPL_SPECIALIZE_CMP(cmp_generic, signed char, signed char)
+PPL_SPECIALIZE_CMP(cmp_generic, signed short, signed short)
+PPL_SPECIALIZE_CMP(cmp_generic, signed int, signed int)
+PPL_SPECIALIZE_CMP(cmp_generic, signed long, signed long)
+PPL_SPECIALIZE_CMP(cmp_generic, signed long long, signed long long)
+PPL_SPECIALIZE_CMP(cmp_generic, unsigned char, unsigned char)
+PPL_SPECIALIZE_CMP(cmp_generic, unsigned short, unsigned short)
+PPL_SPECIALIZE_CMP(cmp_generic, unsigned int, unsigned int)
+PPL_SPECIALIZE_CMP(cmp_generic, unsigned long, unsigned long)
+PPL_SPECIALIZE_CMP(cmp_generic, unsigned long long, unsigned long long)
+
+PPL_SPECIALIZE_ADD_MUL(add_mul_int, signed char, signed char, signed char)
+PPL_SPECIALIZE_ADD_MUL(add_mul_int, signed short, signed short, signed short)
+PPL_SPECIALIZE_ADD_MUL(add_mul_int, signed int, signed int, signed int)
+PPL_SPECIALIZE_ADD_MUL(add_mul_int, signed long, signed long, signed long)
+PPL_SPECIALIZE_ADD_MUL(add_mul_int, signed long long, signed long long, signed long long)
+PPL_SPECIALIZE_ADD_MUL(add_mul_int, unsigned char, unsigned char, unsigned char)
+PPL_SPECIALIZE_ADD_MUL(add_mul_int, unsigned short, unsigned short, unsigned short)
+PPL_SPECIALIZE_ADD_MUL(add_mul_int, unsigned int, unsigned int, unsigned int)
+PPL_SPECIALIZE_ADD_MUL(add_mul_int, unsigned long, unsigned long, unsigned long)
+PPL_SPECIALIZE_ADD_MUL(add_mul_int, unsigned long long, unsigned long long, unsigned long long)
+
+PPL_SPECIALIZE_SUB_MUL(sub_mul_int, signed char, signed char, signed char)
+PPL_SPECIALIZE_SUB_MUL(sub_mul_int, signed short, signed short, signed short)
+PPL_SPECIALIZE_SUB_MUL(sub_mul_int, signed int, signed int, signed int)
+PPL_SPECIALIZE_SUB_MUL(sub_mul_int, signed long, signed long, signed long)
+PPL_SPECIALIZE_SUB_MUL(sub_mul_int, signed long long, signed long long, signed long long)
+PPL_SPECIALIZE_SUB_MUL(sub_mul_int, unsigned char, unsigned char, unsigned char)
+PPL_SPECIALIZE_SUB_MUL(sub_mul_int, unsigned short, unsigned short, unsigned short)
+PPL_SPECIALIZE_SUB_MUL(sub_mul_int, unsigned int, unsigned int, unsigned int)
+PPL_SPECIALIZE_SUB_MUL(sub_mul_int, unsigned long, unsigned long, unsigned long)
+PPL_SPECIALIZE_SUB_MUL(sub_mul_int, unsigned long long, unsigned long long, unsigned long long)
+
+PPL_SPECIALIZE_INPUT(input_generic, signed char)
+PPL_SPECIALIZE_INPUT(input_generic, signed short)
+PPL_SPECIALIZE_INPUT(input_generic, signed int)
+PPL_SPECIALIZE_INPUT(input_generic, signed long)
+PPL_SPECIALIZE_INPUT(input_generic, signed long long)
+PPL_SPECIALIZE_INPUT(input_generic, unsigned char)
+PPL_SPECIALIZE_INPUT(input_generic, unsigned short)
+PPL_SPECIALIZE_INPUT(input_generic, unsigned int)
+PPL_SPECIALIZE_INPUT(input_generic, unsigned long)
+PPL_SPECIALIZE_INPUT(input_generic, unsigned long long)
+
+PPL_SPECIALIZE_OUTPUT(output_char, signed char)
+PPL_SPECIALIZE_OUTPUT(output_int, signed short)
+PPL_SPECIALIZE_OUTPUT(output_int, signed int)
+PPL_SPECIALIZE_OUTPUT(output_int, signed long)
+PPL_SPECIALIZE_OUTPUT(output_int, signed long long)
+PPL_SPECIALIZE_OUTPUT(output_char, unsigned char)
+PPL_SPECIALIZE_OUTPUT(output_int, unsigned short)
+PPL_SPECIALIZE_OUTPUT(output_int, unsigned int)
+PPL_SPECIALIZE_OUTPUT(output_int, unsigned long)
+PPL_SPECIALIZE_OUTPUT(output_int, unsigned long long)
 
 } // namespace Checked
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/checked_mpq.inlines.hh line 1. */
-/* Specialized "checked" functions for GMP's mpq_class numbers.
+/* Automatically generated from PPL source file ../src/checked_float.inlines.hh line 1. */
+/* Specialized "checked" functions for native floating-point numbers.
 */
 
 
-#include <sstream>
-#include <climits>
-#include <stdexcept>
+/* Automatically generated from PPL source file ../src/checked_float.inlines.hh line 27. */
+#ifndef __alpha
+#include <cmath>
+#endif
 
 namespace Parma_Polyhedra_Library {
 
 namespace Checked {
 
-template <typename Policy>
-inline Result
-classify_mpq(const mpq_class& v, bool nan, bool inf, bool sign) {
-  if ((Policy::has_nan || Policy::has_infinity)
-      && ::sgn(v.get_den()) == 0) {
-    int s = ::sgn(v.get_num());
-    if (Policy::has_nan && (nan || sign) && s == 0)
-      return VC_NAN;
-    if (!inf && !sign)
-      return VC_NORMAL;
-    if (Policy::has_infinity) {
-      if (s < 0)
-	return inf ? VC_MINUS_INFINITY : V_LT;
-      if (s > 0)
-	return inf ? VC_PLUS_INFINITY : V_GT;
-    }
-  }
-  if (sign)
-    return sgn<Policy>(v);
-  return VC_NORMAL;
+inline float
+fma(float x, float y, float z) {
+#if PPL_HAVE_DECL_FMAF && defined(FP_FAST_FMAF) \
+  && !defined(__alpha) && !defined(__FreeBSD__)
+  return ::fmaf(x, y, z);
+#else
+  return x*y + z;
+#endif
 }
 
-PPL_SPECIALIZE_CLASSIFY(classify_mpq, mpq_class)
+inline double
+fma(double x, double y, double z) {
+#if PPL_HAVE_DECL_FMA && defined(FP_FAST_FMA) \
+  && !defined(__alpha) && !defined(__FreeBSD__)
+  return ::fma(x, y, z);
+#else
+  return x*y + z;
+#endif
+}
 
-template <typename Policy>
-inline bool
-is_nan_mpq(const mpq_class& v) {
-  return Policy::has_nan
-    && ::sgn(v.get_den()) == 0
-    && ::sgn(v.get_num()) == 0;
+inline long double
+fma(long double x, long double y, long double z) {
+#if PPL_HAVE_DECL_FMAL && defined(FP_FAST_FMAL) \
+  && !defined(__alpha) && !defined(__FreeBSD__)
+  return ::fmal(x, y, z);
+#else
+  return x*y + z;
+#endif
 }
 
-PPL_SPECIALIZE_IS_NAN(is_nan_mpq, mpq_class)
+#if PPL_HAVE_DECL_RINTF
+inline float
+rint(float x) {
+  return ::rintf(x);
+}
+#endif
 
-template <typename Policy>
-inline bool
-is_minf_mpq(const mpq_class& v) {
-  return Policy::has_infinity
-    && ::sgn(v.get_den()) == 0
-    && ::sgn(v.get_num()) < 0;
+inline double
+rint(double x) {
+  return ::rint(x);
 }
 
-PPL_SPECIALIZE_IS_MINF(is_minf_mpq, mpq_class)
+#if PPL_HAVE_DECL_RINTL
+inline long double
+rint(long double x) {
+  return ::rintl(x);
+}
+#elif !PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE
+// If proper long doubles are not provided, this is most likely
+// because long double and double are the same type: use rint().
+inline long double
+rint(long double x) {
+  return ::rint(x);
+}
+#elif defined(__i386__) && (defined(__GNUC__) || defined(__INTEL_COMPILER))
+// On Cygwin, we have proper long doubles but rintl() is not defined:
+// luckily, one machine instruction is enough to save the day.
+inline long double
+rint(long double x) {
+  long double i;
+  __asm__ ("frndint" : "=t" (i) : "0" (x));
+  return i;
+}
+#endif
 
-template <typename Policy>
 inline bool
-is_pinf_mpq(const mpq_class& v) {
-  return Policy::has_infinity
-    && ::sgn(v.get_den()) == 0
-    && ::sgn(v.get_num()) > 0;
+fpu_direct_rounding(Rounding_Dir dir) {
+  return round_direct(dir) || round_not_requested(dir);
 }
 
-PPL_SPECIALIZE_IS_PINF(is_pinf_mpq, mpq_class)
-
-template <typename Policy>
 inline bool
-is_int_mpq(const mpq_class& v) {
-  if ((Policy::has_infinity || Policy::has_nan)
-      && ::sgn(v.get_den()) == 0)
-    return !(Policy::has_nan && ::sgn(v.get_num()) == 0);
-  else
-    return v.get_den() == 1;
+fpu_inverse_rounding(Rounding_Dir dir) {
+  return round_inverse(dir);
 }
 
-PPL_SPECIALIZE_IS_INT(is_int_mpq, mpq_class)
+// The FPU mode is "round down".
+//
+// The result of the rounded down multiplication is thus computed directly.
+//
+//   a = 0.3
+//   b = 0.1
+//   c_i = a * b = 0.03
+//   c = c_i = 0.0
+//
+// To obtain the result of the rounded up multiplication
+// we do -(-a * b).
+//
+//   a = 0.3
+//   b = 0.1
+//   c_i = -a * b = -0.03
+//
+// Here c_i should be forced to lose excess precision, otherwise the
+// FPU will truncate using the rounding mode in force, which is "round down".
+//
+//   c_i = -c_i = 0.03
+//   c = c_i = 0.0
+//
+// Wrong result: we should have obtained c = 0.1.
 
-template <typename Policy>
-inline Result
-assign_special_mpq(mpq_class& v, Result r, Rounding_Dir) {
-  Result c = classify(r);
-  if (Policy::has_nan && c == VC_NAN) {
-    v.get_num() = 0;
-    v.get_den() = 0;
-  }
-  else if (Policy::has_infinity) {
-    switch (c) {
-    case VC_MINUS_INFINITY:
-      v.get_num() = -1;
-      v.get_den() = 0;
-      return V_EQ;
-    case VC_PLUS_INFINITY:
-      v.get_num() = 1;
-      v.get_den() = 0;
-      return V_EQ;
-    default:
-      break;
-    }
-  }
-  return r;
+inline void
+limit_precision(const float& v) {
+  cc_flush(v);
 }
 
-PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_mpq, mpq_class)
+inline void
+limit_precision(const double& v) {
+  cc_flush(v);
+}
 
-PPL_SPECIALIZE_COPY(copy_generic, mpq_class)
+inline void
+limit_precision(const long double&) {
+}
 
-template <typename To_Policy, typename From_Policy, typename From>
+template <typename Policy, typename T>
 inline Result
-construct_mpq_base(mpq_class& to, const From& from, Rounding_Dir) {
-  new (&to) mpq_class(from);
-  return V_EQ;
+classify_float(const T v, bool nan, bool inf, bool sign) {
+  Float<T> f(v);
+  if ((nan || sign) && CHECK_P(Policy::has_nan, f.u.binary.is_nan()))
+    return V_NAN;
+  if (inf) {
+    int i = CHECK_P(Policy::has_infinity, f.u.binary.is_inf());
+    if (i < 0)
+      return V_EQ_MINUS_INFINITY;
+    if (i > 0)
+      return V_EQ_PLUS_INFINITY;
+  }
+  if (sign) {
+    if (v < 0)
+      return V_LT;
+    if (v > 0)
+      return V_GT;
+    return V_EQ;
+  }
+  return V_LGE;
 }
 
-PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, mpz_class)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, signed char)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, signed short)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, signed int)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, signed long)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, unsigned char)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, unsigned short)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, unsigned int)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, unsigned long)
+template <typename Policy, typename T>
+inline bool
+is_nan_float(const T v) {
+  Float<T> f(v);
+  return CHECK_P(Policy::has_nan, f.u.binary.is_nan());
+}
 
-template <typename To_Policy, typename From_Policy, typename From>
-inline Result
-construct_mpq_float(mpq_class& to, const From& from, Rounding_Dir dir) {
-  if (is_nan<From_Policy>(from))
-    return construct_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(from))
-    return construct_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(from))
-    return construct_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  new (&to) mpq_class(from);
-  return V_EQ;
+template <typename Policy, typename T>
+inline int
+is_inf_float(const T v) {
+  Float<T> f(v);
+  return CHECK_P(Policy::has_infinity, f.u.binary.is_inf());
+}
+template <typename Policy, typename T>
+inline bool
+is_minf_float(const T v) {
+  return is_inf_float<Policy>(v) < 0;
 }
 
-PPL_SPECIALIZE_CONSTRUCT(construct_mpq_float, mpq_class, float)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpq_float, mpq_class, double)
+template <typename Policy, typename T>
+inline bool
+is_pinf_float(const T v) {
+  return is_inf_float<Policy>(v) > 0;
+}
 
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, mpq_class)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, mpz_class)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, signed char)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, signed short)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, signed int)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, signed long)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, unsigned char)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, unsigned short)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, unsigned int)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, unsigned long)
 
-template <typename To_Policy, typename From_Policy, typename From>
-inline Result
-assign_mpq_float(mpq_class& to, const From& from, Rounding_Dir dir) {
-  if (is_nan<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  to = from;
-  return V_EQ;
+template <typename Policy, typename T>
+inline bool
+is_int_float(const T v) {
+  return rint(v) == v;
 }
 
-PPL_SPECIALIZE_ASSIGN(assign_mpq_float, mpq_class, float)
-PPL_SPECIALIZE_ASSIGN(assign_mpq_float, mpq_class, double)
-
-template <typename To_Policy, typename From_Policy, typename From>
+template <typename Policy, typename T>
 inline Result
-assign_mpq_signed_int(mpq_class& to, const From from, Rounding_Dir) {
-  if (sizeof(From) <= sizeof(signed long))
-    to = static_cast<signed long>(from);
-  else {
-    mpz_ptr m = to.get_num().get_mpz_t();
-    if (from >= 0)
-      mpz_import(m, 1, 1, sizeof(From), 0, 0, &from);
-    else {
-      From n = -from;
-      mpz_import(m, 1, 1, sizeof(From), 0, 0, &n);
-      mpz_neg(m, m);
-    }
-    to.get_den() = 1;
+assign_special_float(T& v, Result_Class c, Rounding_Dir) {
+  switch (c) {
+  case VC_MINUS_INFINITY:
+    v = -HUGE_VAL;
+    return V_EQ_MINUS_INFINITY;
+  case VC_PLUS_INFINITY:
+    v = HUGE_VAL;
+    return V_EQ_PLUS_INFINITY;
+  case VC_NAN:
+    v = PPL_NAN;
+    return V_NAN;
+  default:
+    PPL_ASSERT(false);
+    return V_NAN | V_UNREPRESENTABLE;
   }
-  return V_EQ;
 }
 
-PPL_SPECIALIZE_ASSIGN(assign_mpq_signed_int, mpq_class, signed long long)
-
-template <typename To_Policy, typename From_Policy, typename From>
-inline Result
-assign_mpq_unsigned_int(mpq_class& to, const From from, Rounding_Dir) {
-  if (sizeof(From) <= sizeof(unsigned long))
-    to = static_cast<unsigned long>(from);
+template <typename T>
+inline void
+pred_float(T& v) {
+  Float<T> f(v);
+  PPL_ASSERT(!f.u.binary.is_nan());
+  PPL_ASSERT(f.u.binary.is_inf() >= 0);
+  if (f.u.binary.is_zero() > 0) {
+    f.u.binary.negate();
+    f.u.binary.inc();
+  }
+  else if (f.u.binary.sign_bit()) {
+    f.u.binary.inc();
+  }
   else {
-    mpz_import(to.get_num().get_mpz_t(), 1, 1, sizeof(From), 0, 0, &from);
-    to.get_den() = 1;
+    f.u.binary.dec();
   }
-  return V_EQ;
-}
-
-PPL_SPECIALIZE_ASSIGN(assign_mpq_unsigned_int, mpq_class, unsigned long long)
-
-template <typename To_Policy, typename From_Policy>
-inline Result
-floor_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) {
-  mpz_fdiv_q(to.get_num().get_mpz_t(),
-	     from.get_num().get_mpz_t(), from.get_den().get_mpz_t());
-  to.get_den() = 1;
-  return V_EQ;
+  v = f.value();
 }
 
-PPL_SPECIALIZE_FLOOR(floor_mpq, mpq_class, mpq_class)
-
-template <typename To_Policy, typename From_Policy>
-inline Result
-ceil_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) {
-  mpz_cdiv_q(to.get_num().get_mpz_t(),
-	     from.get_num().get_mpz_t(), from.get_den().get_mpz_t());
-  to.get_den() = 1;
-  return V_EQ;
+template <typename T>
+inline void
+succ_float(T& v) {
+  Float<T> f(v);
+  PPL_ASSERT(!f.u.binary.is_nan());
+  PPL_ASSERT(f.u.binary.is_inf() <= 0);
+  if (f.u.binary.is_zero() < 0) {
+    f.u.binary.negate();
+    f.u.binary.inc();
+  }
+  else if (!f.u.binary.sign_bit()) {
+    f.u.binary.inc();
+  }
+  else {
+    f.u.binary.dec();
+  }
+  v = f.value();
 }
 
-PPL_SPECIALIZE_CEIL(ceil_mpq, mpq_class, mpq_class)
-
-template <typename To_Policy, typename From_Policy>
+template <typename Policy, typename To>
 inline Result
-trunc_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) {
-  mpz_tdiv_q(to.get_num().get_mpz_t(),
-	     from.get_num().get_mpz_t(), from.get_den().get_mpz_t());
-  to.get_den() = 1;
-  return V_EQ;
+round_lt_float(To& to, Rounding_Dir dir) {
+  if (round_down(dir)) {
+    pred_float(to);
+    return V_GT;
+  }
+  return V_LT;
 }
 
-PPL_SPECIALIZE_TRUNC(trunc_mpq, mpq_class, mpq_class)
-
-template <typename To_Policy, typename From_Policy>
+template <typename Policy, typename To>
 inline Result
-neg_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) {
-  mpq_neg(to.get_mpq_t(), from.get_mpq_t());
-  return V_EQ;
+round_gt_float(To& to, Rounding_Dir dir) {
+  if (round_up(dir)) {
+    succ_float(to);
+    return V_LT;
+  }
+  return V_GT;
 }
 
-PPL_SPECIALIZE_NEG(neg_mpq, mpq_class, mpq_class)
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
-inline Result
-add_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) {
-  to = x + y;
-  return V_EQ;
+template <typename Policy>
+inline void
+prepare_inexact(Rounding_Dir dir) {
+  if (Policy::fpu_check_inexact
+      && !round_not_needed(dir) && round_strict_relation(dir))
+    fpu_reset_inexact();
 }
 
-PPL_SPECIALIZE_ADD(add_mpq, mpq_class, mpq_class, mpq_class)
-
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+template <typename Policy>
 inline Result
-sub_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) {
-  to = x - y;
-  return V_EQ;
+result_relation(Rounding_Dir dir) {
+  if (Policy::fpu_check_inexact
+      && !round_not_needed(dir) && round_strict_relation(dir)) {
+    switch (fpu_check_inexact()) {
+    case 0:
+      return V_EQ;
+    case -1:
+      goto unknown;
+    case 1:
+      break;
+    }
+    switch (round_dir(dir)) {
+    case ROUND_DOWN:
+      return V_GT;
+    case ROUND_UP:
+      return V_LT;
+    default:
+      return V_NE;
+    }
+  }
+  else {
+  unknown:
+    switch (round_dir(dir)) {
+    case ROUND_DOWN:
+      return V_GE;
+    case ROUND_UP:
+      return V_LE;
+    default:
+      return V_LGE;
+    }
+  }
 }
 
-PPL_SPECIALIZE_SUB(sub_mpq, mpq_class, mpq_class, mpq_class)
-
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+template <typename To_Policy, typename From_Policy, typename To, typename From>
 inline Result
-mul_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) {
-  to = x * y;
+assign_float_float_exact(To& to, const From from, Rounding_Dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  to = from;
   return V_EQ;
 }
 
-PPL_SPECIALIZE_MUL(mul_mpq, mpq_class, mpq_class, mpq_class)
-
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+template <typename To_Policy, typename From_Policy, typename To, typename From>
 inline Result
-div_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) {
-  if (CHECK_P(To_Policy::check_div_zero, sgn(y) == 0))
-    return assign_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
-  to = x / y;
-  return V_EQ;
+assign_float_float_inexact(To& to, const From from, Rounding_Dir dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  prepare_inexact<To_Policy>(dir);
+  if (fpu_direct_rounding(dir))
+    to = from;
+  else if (fpu_inverse_rounding(dir)) {
+    From tmp = -from;
+    to = tmp;
+    limit_precision(to);
+    to = -to;
+  }
+  else {
+    fpu_rounding_control_word_type old
+      = fpu_save_rounding_direction(round_fpu_dir(dir));
+    limit_precision(from);
+    to = from;
+    limit_precision(to);
+    fpu_restore_rounding_direction(old);
+  }
+  return result_relation<To_Policy>(dir);
 }
 
-PPL_SPECIALIZE_DIV(div_mpq, mpq_class, mpq_class, mpq_class)
-
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+template <typename To_Policy, typename From_Policy, typename To, typename From>
 inline Result
-idiv_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir dir) {
-  if (CHECK_P(To_Policy::check_div_zero, sgn(y) == 0))
-    return assign_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
-  to = x / y;
-  return trunc<To_Policy, To_Policy>(to, to, dir);
+assign_float_float(To& to, const From from, Rounding_Dir dir) {
+  if (sizeof(From) > sizeof(To))
+    return assign_float_float_inexact<To_Policy, From_Policy>(to, from, dir);
+  else
+    return assign_float_float_exact<To_Policy, From_Policy>(to, from, dir);
 }
 
-PPL_SPECIALIZE_IDIV(idiv_mpq, mpq_class, mpq_class, mpq_class)
-
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-rem_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) {
-  if (CHECK_P(To_Policy::check_div_zero, sgn(y) == 0))
-    return assign_special<To_Policy>(to, V_MOD_ZERO, ROUND_IGNORE);
-  to = x / y;
-  to.get_num() %= to.get_den();
+floor_float(Type& to, const Type from, Rounding_Dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  if (fpu_direct_rounding(ROUND_DOWN))
+    to = rint(from);
+  else if (fpu_inverse_rounding(ROUND_DOWN)) {
+    to = rint(-from);
+    limit_precision(to);
+    to = -to;
+  }
+  else {
+    fpu_rounding_control_word_type old
+      = fpu_save_rounding_direction(round_fpu_dir(ROUND_DOWN));
+    limit_precision(from);
+    to = rint(from);
+    limit_precision(to);
+    fpu_restore_rounding_direction(old);
+  }
   return V_EQ;
 }
 
-PPL_SPECIALIZE_REM(rem_mpq, mpq_class, mpq_class, mpq_class)
-
-template <typename To_Policy, typename From_Policy>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-mul2exp_mpq(mpq_class& to, const mpq_class& x, int exp, Rounding_Dir dir) {
-  if (exp < 0)
-    return div2exp<To_Policy, From_Policy>(to, x, -exp, dir);
-  mpz_mul_2exp(to.get_num().get_mpz_t(), x.get_num().get_mpz_t(), exp);
-  to.get_den() = x.get_den();
-  to.canonicalize();
+ceil_float(Type& to, const Type from, Rounding_Dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  if (fpu_direct_rounding(ROUND_UP))
+    to = rint(from);
+  else if (fpu_inverse_rounding(ROUND_UP)) {
+    to = rint(-from);
+    limit_precision(to);
+    to = -to;
+  }
+  else {
+    fpu_rounding_control_word_type old
+      = fpu_save_rounding_direction(round_fpu_dir(ROUND_UP));
+    limit_precision(from);
+    to = rint(from);
+    limit_precision(to);
+    fpu_restore_rounding_direction(old);
+  }
   return V_EQ;
 }
 
-PPL_SPECIALIZE_MUL2EXP(mul2exp_mpq, mpq_class, mpq_class)
-
-template <typename To_Policy, typename From_Policy>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-div2exp_mpq(mpq_class& to, const mpq_class& x, int exp, Rounding_Dir dir) {
-  if (exp < 0)
-    return mul2exp<To_Policy, From_Policy>(to, x, -exp, dir);
-  to.get_num() = x.get_num();
-  mpz_mul_2exp(to.get_den().get_mpz_t(), x.get_den().get_mpz_t(), exp);
-  to.canonicalize();
-  return V_EQ;
+trunc_float(Type& to, const Type from, Rounding_Dir dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  if (from >= 0)
+    return floor<To_Policy, From_Policy>(to, from, dir);
+  else
+    return ceil<To_Policy, From_Policy>(to, from, dir);
 }
 
-PPL_SPECIALIZE_DIV2EXP(div2exp_mpq, mpq_class, mpq_class)
-
-template <typename To_Policy, typename From_Policy>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-abs_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) {
-  to = abs(from);
+neg_float(Type& to, const Type from, Rounding_Dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  to = -from;
   return V_EQ;
 }
 
-PPL_SPECIALIZE_ABS(abs_mpq, mpq_class, mpq_class)
-
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename Type>
 inline Result
-add_mul_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y,
-	    Rounding_Dir) {
-  to += x * y;
-  return V_EQ;
+add_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  if (To_Policy::check_inf_add_inf
+      && is_inf_float<From1_Policy>(x) && x == -y) {
+    return assign_nan<To_Policy>(to, V_INF_ADD_INF);
+  }
+  prepare_inexact<To_Policy>(dir);
+  if (fpu_direct_rounding(dir))
+    to = x + y;
+  else if (fpu_inverse_rounding(dir)) {
+    to = -x - y;
+    limit_precision(to);
+    to = -to;
+  }
+  else {
+    fpu_rounding_control_word_type old
+      = fpu_save_rounding_direction(round_fpu_dir(dir));
+    limit_precision(x);
+    limit_precision(y);
+    to = x + y;
+    limit_precision(to);
+    fpu_restore_rounding_direction(old);
+  }
+  if (To_Policy::fpu_check_nan_result && is_nan<To_Policy>(to))
+    return V_NAN;
+  return result_relation<To_Policy>(dir);
 }
 
-PPL_SPECIALIZE_ADD_MUL(add_mul_mpq, mpq_class, mpq_class, mpq_class)
-
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename Type>
 inline Result
-sub_mul_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y,
-	    Rounding_Dir) {
-  to -= x * y;
-  return V_EQ;
+sub_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  if (To_Policy::check_inf_sub_inf
+      && is_inf_float<From1_Policy>(x) && x == y) {
+    return assign_nan<To_Policy>(to, V_INF_SUB_INF);
+  }
+  prepare_inexact<To_Policy>(dir);
+  if (fpu_direct_rounding(dir))
+    to = x - y;
+  else if (fpu_inverse_rounding(dir)) {
+    to = y - x;
+    limit_precision(to);
+    to = -to;
+  }
+  else {
+    fpu_rounding_control_word_type old
+      = fpu_save_rounding_direction(round_fpu_dir(dir));
+    limit_precision(x);
+    limit_precision(y);
+    to = x - y;
+    limit_precision(to);
+    fpu_restore_rounding_direction(old);
+  }
+  if (To_Policy::fpu_check_nan_result && is_nan<To_Policy>(to))
+    return V_NAN;
+  return result_relation<To_Policy>(dir);
 }
 
-PPL_SPECIALIZE_SUB_MUL(sub_mul_mpq, mpq_class, mpq_class, mpq_class)
-
-extern unsigned long rational_sqrt_precision_parameter;
-
-template <typename To_Policy, typename From_Policy>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename Type>
 inline Result
-sqrt_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir dir) {
-  if (CHECK_P(To_Policy::check_sqrt_neg, from < 0))
-    return assign_special<To_Policy>(to, V_SQRT_NEG, ROUND_IGNORE);
-  if (from == 0) {
-    to = 0;
-    return V_EQ;
+mul_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  if (To_Policy::check_inf_mul_zero
+      && ((x == 0 && is_inf_float<From2_Policy>(y))
+          ||
+	  (y == 0 && is_inf_float<From1_Policy>(x)))) {
+    return assign_nan<To_Policy>(to, V_INF_MUL_ZERO);
   }
-  bool gt1 = from.get_num() > from.get_den();
-  const mpz_class& from_a = gt1 ? from.get_num() : from.get_den();
-  const mpz_class& from_b = gt1 ? from.get_den() : from.get_num();
-  mpz_class& to_a = gt1 ? to.get_num() : to.get_den();
-  mpz_class& to_b = gt1 ? to.get_den() : to.get_num();
-  Rounding_Dir rdir = gt1 ? dir : inverse(dir);
-  mul2exp<To_Policy, From_Policy>(to_a, from_a, 2*rational_sqrt_precision_parameter, ROUND_IGNORE);
-  Result rdiv
-    = div<To_Policy, To_Policy, To_Policy>(to_a, to_a, from_b, rdir);
-  Result rsqrt = sqrt<To_Policy, To_Policy>(to_a, to_a, rdir);
-  to_b = 1;
-  mul2exp<To_Policy, To_Policy>(to_b, to_b, rational_sqrt_precision_parameter, ROUND_IGNORE);
-  to.canonicalize();
-  return rdiv != V_EQ ? rdiv : rsqrt;
+  prepare_inexact<To_Policy>(dir);
+  if (fpu_direct_rounding(dir))
+    to = x * y;
+  else if (fpu_inverse_rounding(dir)) {
+    to = x * -y;
+    limit_precision(to);
+    to = -to;
+  }
+  else {
+    fpu_rounding_control_word_type old
+      = fpu_save_rounding_direction(round_fpu_dir(dir));
+    limit_precision(x);
+    limit_precision(y);
+    to = x * y;
+    limit_precision(to);
+    fpu_restore_rounding_direction(old);
+  }
+  if (To_Policy::fpu_check_nan_result && is_nan<To_Policy>(to))
+    return V_NAN;
+  return result_relation<To_Policy>(dir);
 }
 
-PPL_SPECIALIZE_SQRT(sqrt_mpq, mpq_class, mpq_class)
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename Type>
+inline Result
+div_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  if (To_Policy::check_inf_div_inf
+      && is_inf_float<From1_Policy>(x) && is_inf_float<From2_Policy>(y)) {
+    return assign_nan<To_Policy>(to, V_INF_DIV_INF);
+  }
+  if (To_Policy::check_div_zero && y == 0) {
+    return assign_nan<To_Policy>(to, V_DIV_ZERO);
+  }
+  prepare_inexact<To_Policy>(dir);
+  if (fpu_direct_rounding(dir))
+    to = x / y;
+  else if (fpu_inverse_rounding(dir)) {
+    to = x / -y;
+    limit_precision(to);
+    to = -to;
+  }
+  else {
+    fpu_rounding_control_word_type old
+      = fpu_save_rounding_direction(round_fpu_dir(dir));
+    limit_precision(x);
+    limit_precision(y);
+    to = x / y;
+    limit_precision(to);
+    fpu_restore_rounding_direction(old);
+  }
+  if (To_Policy::fpu_check_nan_result && is_nan<To_Policy>(to))
+    return V_NAN;
+  return result_relation<To_Policy>(dir);
+}
 
-template <typename Policy>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename Type>
 inline Result
-input_mpq(mpq_class& to, std::istream& is, Rounding_Dir) {
-  Result r = input_mpq(to, is);
-  switch (classify(r)) {
-  case VC_MINUS_INFINITY:
-  case VC_PLUS_INFINITY:
-  case VC_NAN:
-    return assign_special<Policy>(to, r, ROUND_IGNORE);
-  default:
+idiv_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  Type temp;
+  // The inexact check is useless
+  dir = round_dir(dir);
+  Result r = div<To_Policy, From1_Policy, From2_Policy>(temp, x, y, dir);
+  if (result_class(r) != VC_NORMAL) {
+    to = temp;
     return r;
   }
+  Result r1 = trunc<To_Policy, To_Policy>(to, temp, ROUND_NOT_NEEDED);
+  PPL_ASSERT(r1 == V_EQ);
+  if (r == V_EQ || to != temp)
+    return r1;
+  // FIXME: Prove that it's impossibile to return a strict relation
+  return dir == ROUND_UP ? V_LE : V_GE;
 }
 
-PPL_SPECIALIZE_INPUT(input_mpq, mpq_class)
-
-template <typename Policy>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename Type>
 inline Result
-output_mpq(std::ostream& os,
-	   const mpq_class& from,
-	   const Numeric_Format&,
-	   Rounding_Dir) {
-  os << from;
+rem_float(Type& to, const Type x, const Type y, Rounding_Dir) {
+  if (To_Policy::check_inf_mod && is_inf_float<From1_Policy>(x)) {
+    return assign_nan<To_Policy>(to, V_INF_MOD);
+  }
+  if (To_Policy::check_div_zero && y == 0) {
+    return assign_nan<To_Policy>(to, V_MOD_ZERO);
+  }
+  to = std::fmod(x, y);
+  if (To_Policy::fpu_check_nan_result && is_nan<To_Policy>(to))
+    return V_NAN;
   return V_EQ;
 }
 
-PPL_SPECIALIZE_OUTPUT(output_mpq, mpq_class)
+struct Float_2exp {
+  const_bool_nodef(has_nan, false);
+  const_bool_nodef(has_infinity, false);
+};
 
-template <typename To_Policy, typename From_Policy, typename From>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-assign_mpq_long_double(mpq_class& to, const From& from, Rounding_Dir dir) {
-  if (is_nan<From_Policy>(from))
+add_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(x))
     return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  // FIXME: this is an incredibly inefficient implementation!
-  std::stringstream ss;
-  output<From_Policy>(ss, from, Numeric_Format(), dir);
-  return input_mpq(to, ss);
-}
-
-PPL_SPECIALIZE_ASSIGN(assign_mpq_long_double, mpq_class, long double)
-
-} // namespace Checked
-
-//! Returns the precision parameter used for rational square root calculations.
-inline unsigned
-rational_sqrt_precision_parameter() {
-  return Checked::rational_sqrt_precision_parameter;
-}
-
-//! Sets the precision parameter used for rational square root calculations.
-/*! The lesser between numerator and denominator is limited to 2**\p p.
-
-  If \p p is less than or equal to <CODE>INT_MAX</CODE>, sets the
-  precision parameter used for rational square root calculations to \p p.
-
-  \exception std::invalid_argument
-  Thrown if \p p is greater than <CODE>INT_MAX</CODE>.
-*/
-inline void
-set_rational_sqrt_precision_parameter(const unsigned p) {
-  if (p <= INT_MAX)
-    Checked::rational_sqrt_precision_parameter = p;
-  else
-    throw std::invalid_argument("PPL::set_rational_sqrt_precision_parameter(p)"
-				" with p > INT_MAX");
+  PPL_ASSERT(exp < sizeof(unsigned long long) * CHAR_BIT);
+  return
+    add<To_Policy, From_Policy, Float_2exp>(to,
+                                            x,
+                                            Type(1ULL << exp),
+                                            dir);
 }
 
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/checked_ext.inlines.hh line 1. */
-/* Checked extended arithmetic functions.
-*/
-
-
-namespace Parma_Polyhedra_Library {
-
-template <typename T> struct FPU_Related : public False {};
-template <> struct FPU_Related<float> : public True {};
-template <> struct FPU_Related<double> : public True {};
-template <> struct FPU_Related<long double> : public True {};
-
-namespace Checked {
-
-template <typename T>
-inline bool
-handle_ext_natively(const T&) {
-  return FPU_Related<T>::value;
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+sub_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  PPL_ASSERT(exp < sizeof(unsigned long long) * CHAR_BIT);
+  return
+    sub<To_Policy, From_Policy, Float_2exp>(to,
+                                            x,
+                                            Type(1ULL << exp),
+                                            dir);
 }
 
-template <typename Policy, typename Type>
-inline bool
-ext_to_handle(const Type& x) {
-  return !handle_ext_natively(x)
-    && (Policy::has_infinity || Policy::has_nan);
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+mul_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  PPL_ASSERT(exp < sizeof(unsigned long long) * CHAR_BIT);
+  return
+    mul<To_Policy, From_Policy, Float_2exp>(to,
+                                            x,
+                                            Type(1ULL << exp),
+                                            dir);
 }
 
-template <typename Policy, typename Type>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-sgn_ext(const Type& x) {
-  if (!ext_to_handle<Policy>(x))
-    goto native;
-  if (is_nan<Policy>(x))
-    return VC_NAN;
-  else if (is_minf<Policy>(x))
-    return V_LT;
-  else if (is_pinf<Policy>(x))
-    return V_GT;
-  else {
-  native:
-    return sgn<Policy>(x);
-  }
+div_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  PPL_ASSERT(exp < sizeof(unsigned long long) * CHAR_BIT);
+  return
+    div<To_Policy, From_Policy, Float_2exp>(to,
+                                            x,
+                                            Type(1ULL << exp),
+                                            dir);
 }
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-construct_ext(To& to, const From& x, Rounding_Dir dir) {
-  if (!ext_to_handle<From_Policy>(x))
-    goto native;
-  if (is_nan<From_Policy>(x))
-    return construct_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(x))
-    return construct_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(x))
-    return construct_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  else {
-  native:
-    return construct<To_Policy, From_Policy>(to, x, dir);
-  }
+smod_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  if (To_Policy::check_inf_mod && is_inf_float<From_Policy>(x)) {
+    return assign_nan<To_Policy>(to, V_INF_MOD);
+  }
+  PPL_ASSERT(exp < sizeof(unsigned long long) * CHAR_BIT);
+  Type m = 1ULL << exp;
+  rem_float<To_Policy, From_Policy, Float_2exp>(to, x, m, ROUND_IGNORE);
+  Type m2 = m / 2;
+  if (to < -m2)
+    return add_float<To_Policy, From_Policy, Float_2exp>(to, to, m, dir);
+  else if (to >= m2)
+    return sub_float<To_Policy, From_Policy, Float_2exp>(to, to, m, dir);
+  return V_EQ;
 }
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-assign_ext(To& to, const From& x, Rounding_Dir dir) {
-  if (!ext_to_handle<From_Policy>(x))
-    goto native;
-  if (is_nan<From_Policy>(x))
+umod_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(x))
     return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  else {
-  native:
-    return assign<To_Policy, From_Policy>(to, x, dir);
-  }
+  if (To_Policy::check_inf_mod && is_inf_float<From_Policy>(x)) {
+    return assign_nan<To_Policy>(to, V_INF_MOD);
+  }
+  PPL_ASSERT(exp < sizeof(unsigned long long) * CHAR_BIT);
+  Type m = 1ULL << exp;
+  rem_float<To_Policy, From_Policy, Float_2exp>(to, x, m, ROUND_IGNORE);
+  if (to < 0)
+    return add_float<To_Policy, From_Policy, Float_2exp>(to, to, m, dir);
+  return V_EQ;
 }
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-neg_ext(To& to, const From& x, Rounding_Dir dir) {
-  if (!ext_to_handle<From_Policy>(x))
-    goto native;
-  if (is_nan<From_Policy>(x))
+abs_float(Type& to, const Type from, Rounding_Dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
     return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else {
-  native:
-    return neg<To_Policy, From_Policy>(to, x, dir);
-  }
+  to = std::abs(from);
+  return V_EQ;
 }
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-floor_ext(To& to, const From& x, Rounding_Dir dir) {
-  if (!ext_to_handle<From_Policy>(x))
-    goto native;
-  if (is_nan<From_Policy>(x))
+sqrt_float(Type& to, const Type from, Rounding_Dir dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
     return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  if (To_Policy::check_sqrt_neg && from < 0) {
+    return assign_nan<To_Policy>(to, V_SQRT_NEG);
+  }
+  prepare_inexact<To_Policy>(dir);
+  if (fpu_direct_rounding(dir))
+    to = std::sqrt(from);
   else {
-  native:
-    return floor<To_Policy, From_Policy>(to, x, dir);
+    fpu_rounding_control_word_type old
+      = fpu_save_rounding_direction(round_fpu_dir(dir));
+    limit_precision(from);
+    to = std::sqrt(from);
+    limit_precision(to);
+    fpu_restore_rounding_direction(old);
   }
+  return result_relation<To_Policy>(dir);
 }
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
+template <typename Policy, typename Type>
+inline Result_Relation
+sgn_float(const Type x) {
+  if (x > 0)
+    return VR_GT;
+  if (x < 0)
+    return VR_LT;
+  if (x == 0)
+    return VR_EQ;
+  return VR_EMPTY;
+}
+
+template <typename Policy1, typename Policy2, typename Type>
+inline Result_Relation
+cmp_float(const Type x, const Type y) {
+  if (x > y)
+    return VR_GT;
+  if (x < y)
+    return VR_LT;
+  if (x == y)
+    return VR_EQ;
+  return VR_EMPTY;
+}
+
+template <typename To_Policy, typename From_Policy, typename To, typename From>
 inline Result
-ceil_ext(To& to, const From& x, Rounding_Dir dir) {
-  if (!ext_to_handle<From_Policy>(x))
-    goto native;
-  if (is_nan<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+assign_float_int_inexact(To& to, const From from, Rounding_Dir dir) {
+  prepare_inexact<To_Policy>(dir);
+  if (fpu_direct_rounding(dir))
+    to = from;
   else {
-  native:
-    return ceil<To_Policy, From_Policy>(to, x, dir);
+    fpu_rounding_control_word_type old
+      = fpu_save_rounding_direction(round_fpu_dir(dir));
+    to = from;
+    limit_precision(to);
+    fpu_restore_rounding_direction(old);
   }
+  return result_relation<To_Policy>(dir);
 }
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
+template <typename To_Policy, typename From_Policy, typename To, typename From>
 inline Result
-trunc_ext(To& to, const From& x, Rounding_Dir dir) {
-  if (!ext_to_handle<From_Policy>(x))
-    goto native;
-  if (is_nan<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  else {
-  native:
-    return trunc<To_Policy, From_Policy>(to, x, dir);
+assign_float_int(To& to, const From from, Rounding_Dir dir) {
+  if (sizeof(From) * CHAR_BIT > Float<To>::Binary::MANTISSA_BITS)
+    return assign_float_int_inexact<To_Policy, From_Policy>(to, from, dir);
+  else
+    return assign_exact<To_Policy, From_Policy>(to, from, dir);
+}
+
+template <typename Policy, typename T>
+inline Result
+set_neg_overflow_float(T& to, Rounding_Dir dir) {
+  switch (round_dir(dir)) {
+  case ROUND_UP:
+    {
+      Float<T> f;
+      f.u.binary.set_max(true);
+      to = f.value();
+      return V_LT_INF;
+    }
+  default:
+    to = -HUGE_VAL;
+    return V_GT_MINUS_INFINITY;
   }
 }
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
+template <typename Policy, typename T>
 inline Result
-abs_ext(To& to, const From& x, Rounding_Dir dir) {
-  if (!ext_to_handle<From_Policy>(x))
-    goto native;
-  if (is_nan<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(x) || is_pinf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  else {
-  native:
-    return abs<To_Policy, From_Policy>(to, x, dir);
+set_pos_overflow_float(T& to, Rounding_Dir dir) {
+  switch (round_dir(dir)) {
+  case ROUND_DOWN:
+    {
+      Float<T> f;
+      f.u.binary.set_max(false);
+      to = f.value();
+      return V_GT_SUP;
+    }
+  default:
+    to = HUGE_VAL;
+    return V_LT_PLUS_INFINITY;
   }
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
+template <typename To_Policy, typename From_Policy, typename T>
 inline Result
-add_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
-  if (!ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
-    goto native;
-  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From1_Policy>(x)) {
-    if (CHECK_P(To_Policy::check_inf_add_inf, is_pinf<From2_Policy>(y)))
-      goto inf_add_inf;
-    else
-      goto minf;
+assign_float_mpz(T& to, const mpz_class& _from, Rounding_Dir dir)
+{
+  mpz_srcptr from = _from.get_mpz_t();
+  int sign = mpz_sgn(from);
+  if (sign == 0) {
+    to = 0;
+    return V_EQ;
   }
-  else if (is_pinf<From1_Policy>(x)) {
-    if (CHECK_P(To_Policy::check_inf_add_inf, is_minf<From2_Policy>(y))) {
-    inf_add_inf:
-      return assign_special<To_Policy>(to, V_INF_ADD_INF, ROUND_IGNORE);
-    }
+  size_t exponent = mpz_sizeinbase(from, 2) - 1;
+  if (exponent > size_t(Float<T>::Binary::EXPONENT_MAX)) {
+    if (sign < 0)
+      return set_neg_overflow_float<To_Policy>(to, dir);
     else
-      goto pinf;
+      return set_pos_overflow_float<To_Policy>(to, dir);
   }
-  else {
-    if (is_minf<From2_Policy>(y)) {
-    minf:
-      return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-    }
-    else if (is_pinf<From2_Policy>(y)) {
-    pinf:
-      return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-    }
-    else {
-    native:
-      return add<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
-    }
+  unsigned long zeroes = mpn_scan1(from->_mp_d, 0);
+  size_t meaningful_bits = exponent - zeroes;
+  mpz_t mantissa;
+  mpz_init(mantissa);
+  if (exponent > Float<T>::Binary::MANTISSA_BITS)
+    mpz_tdiv_q_2exp(mantissa,
+		    from,
+		    exponent - Float<T>::Binary::MANTISSA_BITS);
+  else
+    mpz_mul_2exp(mantissa, from, Float<T>::Binary::MANTISSA_BITS - exponent);
+  Float<T> f;
+  f.u.binary.build(sign < 0, mantissa, exponent);
+  mpz_clear(mantissa);
+  to = f.value();
+  if (meaningful_bits > Float<T>::Binary::MANTISSA_BITS) {
+    if (sign < 0)
+      return round_lt_float<To_Policy>(to, dir);
+    else
+      return round_gt_float<To_Policy>(to, dir);
   }
+  return V_EQ;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
+template <typename To_Policy, typename From_Policy, typename T>
 inline Result
-sub_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
-  if (!ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
-    goto native;
-  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From1_Policy>(x)) {
-    if (CHECK_P(To_Policy::check_inf_sub_inf, is_minf<From2_Policy>(y)))
-      goto inf_sub_inf;
+assign_float_mpq(T& to, const mpq_class& from, Rounding_Dir dir)
+{
+  const mpz_class& _num = from.get_num();
+  const mpz_class& _den = from.get_den();
+  if (_den == 1)
+    return assign_float_mpz<To_Policy, From_Policy>(to, _num, dir);
+  mpz_srcptr num = _num.get_mpz_t();
+  mpz_srcptr den = _den.get_mpz_t();
+  int sign = mpz_sgn(num);
+  signed long exponent = mpz_sizeinbase(num, 2) - mpz_sizeinbase(den, 2);
+  if (exponent < Float<T>::Binary::EXPONENT_MIN_DENORM) {
+    to = 0;
+  inexact:
+    if (sign < 0)
+      return round_lt_float<To_Policy>(to, dir);
     else
-      goto minf;
+      return round_gt_float<To_Policy>(to, dir);
   }
-  else if (is_pinf<From1_Policy>(x)) {
-    if (CHECK_P(To_Policy::check_inf_sub_inf, is_pinf<From2_Policy>(y))) {
-    inf_sub_inf:
-      return assign_special<To_Policy>(to, V_INF_SUB_INF, ROUND_IGNORE);
-    }
+  if (exponent > int(Float<T>::Binary::EXPONENT_MAX + 1)) {
+  overflow:
+    if (sign < 0)
+      return set_neg_overflow_float<To_Policy>(to, dir);
     else
-      goto pinf;
+      return set_pos_overflow_float<To_Policy>(to, dir);
   }
-  else {
-    if (is_pinf<From2_Policy>(y)) {
-    minf:
-      return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-    }
-    else if (is_minf<From2_Policy>(y)) {
-    pinf:
-      return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-    }
-    else {
-    native:
-      return sub<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
-    }
+  unsigned int needed_bits = Float<T>::Binary::MANTISSA_BITS + 1;
+  if (exponent < Float<T>::Binary::EXPONENT_MIN)
+    needed_bits -= Float<T>::Binary::EXPONENT_MIN - exponent;
+  mpz_t mantissa;
+  mpz_init(mantissa);
+  signed long shift = needed_bits - exponent;
+  if (shift > 0) {
+    mpz_mul_2exp(mantissa, num, shift);
+    num = mantissa;
   }
-}
-
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
-inline Result
-mul_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
-  if (!ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
-    goto native;
-  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  if (is_minf<From1_Policy>(x)) {
-    switch (sgn_ext<From2_Policy>(y)) {
-    case V_LT:
-      goto pinf;
-    case V_GT:
-      goto minf;
-    default:
-      goto inf_mul_zero;
-    }
+  else if (shift < 0) {
+    mpz_mul_2exp(mantissa, den, -shift);
+    den = mantissa;
   }
-  else if (is_pinf<From1_Policy>(x)) {
-    switch (sgn_ext<From2_Policy>(y)) {
-    case V_LT:
-      goto minf;
-    case V_GT:
-      goto pinf;
-    default:
-      goto inf_mul_zero;
-    }
+  mpz_t r;
+  mpz_init(r);
+  mpz_tdiv_qr(mantissa, r, num, den);
+  size_t bits = mpz_sizeinbase(mantissa, 2);
+  bool inexact = (mpz_sgn(r) != 0);
+  mpz_clear(r);
+  if (bits == needed_bits + 1) {
+    inexact = (inexact || mpz_odd_p(mantissa));
+    mpz_div_2exp(mantissa, mantissa, 1);
   }
-  else {
-    if (is_minf<From2_Policy>(y)) {
-      switch (sgn<From1_Policy>(x)) {
-      case V_LT:
-	goto pinf;
-      case V_GT:
-	goto minf;
-      default:
-	goto inf_mul_zero;
-      }
-    }
-    else if (is_pinf<From2_Policy>(y)) {
-      switch (sgn<From1_Policy>(x)) {
-      case V_LT:
-      minf:
-	return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-      case V_GT:
-      pinf:
-	return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-      default:
-      inf_mul_zero:
-	assert(To_Policy::check_inf_mul_zero);
-	return assign_special<To_Policy>(to, V_INF_MUL_ZERO, ROUND_IGNORE);
-      }
-    }
-    else {
-    native:
-      return mul<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
-    }
+  else
+    --exponent;
+  if (exponent > int(Float<T>::Binary::EXPONENT_MAX)) {
+    mpz_clear(mantissa);
+    goto overflow;
+  }
+  else if (exponent < Float<T>::Binary::EXPONENT_MIN - 1) {
+    // Denormalized.
+    exponent = Float<T>::Binary::EXPONENT_MIN - 1;
   }
+  Float<T> f;
+  f.u.binary.build(sign < 0, mantissa, exponent);
+  mpz_clear(mantissa);
+  to = f.value();
+  if (inexact)
+    goto inexact;
+  return V_EQ;
 }
 
-
 template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
+	  typename Type>
 inline Result
-add_mul_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
-  if (!ext_to_handle<To_Policy>(to)
-      && !ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
-    goto native;
-  if (is_nan<To_Policy>(to)
-      || is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  if (is_minf<From1_Policy>(x)) {
-    switch (sgn_ext<From2_Policy>(y)) {
-    case V_LT:
-      goto a_pinf;
-    case V_GT:
-      goto a_minf;
-    default:
-      goto inf_mul_zero;
-    }
+add_mul_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  if (To_Policy::check_inf_mul_zero
+      && ((x == 0 && is_inf_float<From2_Policy>(y))
+          ||
+	  (y == 0 && is_inf_float<From1_Policy>(x)))) {
+    return assign_nan<To_Policy>(to, V_INF_MUL_ZERO);
   }
-  else if (is_pinf<From1_Policy>(x)) {
-    switch (sgn_ext<From2_Policy>(y)) {
-    case V_LT:
-      goto a_minf;
-    case V_GT:
-      goto a_pinf;
-    default:
-      goto inf_mul_zero;
-    }
+  // FIXME: missing check_inf_add_inf
+  prepare_inexact<To_Policy>(dir);
+  if (fpu_direct_rounding(dir))
+    to = fma(x, y, to);
+  else if (fpu_inverse_rounding(dir)) {
+    to = fma(-x, y, -to);
+    limit_precision(to);
+    to = -to;
   }
   else {
-    if (is_minf<From2_Policy>(y)) {
-      switch (sgn<From1_Policy>(x)) {
-      case V_LT:
-	goto a_pinf;
-      case V_GT:
-	goto a_minf;
-      default:
-	goto inf_mul_zero;
-      }
-    }
-    else if (is_pinf<From2_Policy>(y)) {
-      switch (sgn<From1_Policy>(x)) {
-      case V_LT:
-      a_minf:
-	if (CHECK_P(To_Policy::check_inf_add_inf, is_pinf<To_Policy>(to)))
-	  goto inf_add_inf;
-	else
-	  goto minf;
-      case V_GT:
-      a_pinf:
-	if (CHECK_P(To_Policy::check_inf_add_inf, is_minf<To_Policy>(to))) {
-	inf_add_inf:
-	  return assign_special<To_Policy>(to, V_INF_ADD_INF, ROUND_IGNORE);
-	}
-	else
-	  goto pinf;
-      default:
-      inf_mul_zero:
-	assert(To_Policy::check_inf_mul_zero);
-	return assign_special<To_Policy>(to, V_INF_MUL_ZERO, ROUND_IGNORE);
-      }
-    }
-    else {
-      if (is_minf<To_Policy>(to)) {
-      minf:
-	return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-      }
-      if (is_pinf<To_Policy>(to)) {
-      pinf:
-	return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-      }
-    native:
-      return add_mul<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
-    }
+    fpu_rounding_control_word_type old
+      = fpu_save_rounding_direction(round_fpu_dir(dir));
+    limit_precision(x);
+    limit_precision(y);
+    limit_precision(to);
+    to = fma(x, y, to);
+    limit_precision(to);
+    fpu_restore_rounding_direction(old);
   }
+  if (To_Policy::fpu_check_nan_result && is_nan<To_Policy>(to))
+    return V_NAN;
+  return result_relation<To_Policy>(dir);
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 inline Result
-sub_mul_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
-  if (!ext_to_handle<To_Policy>(to)
-      && !ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
-    goto native;
-  if (is_nan<To_Policy>(to)
-      || is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  if (is_minf<From1_Policy>(x)) {
-    switch (sgn_ext<From2_Policy>(y)) {
-    case V_LT:
-      goto a_pinf;
-    case V_GT:
-      goto a_minf;
-    default:
-      goto inf_mul_zero;
-    }
+sub_mul_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  if (To_Policy::check_inf_mul_zero
+      && ((x == 0 && is_inf_float<From2_Policy>(y))
+          ||
+	  (y == 0 && is_inf_float<From1_Policy>(x)))) {
+    return assign_nan<To_Policy>(to, V_INF_MUL_ZERO);
   }
-  else if (is_pinf<From1_Policy>(x)) {
-    switch (sgn_ext<From2_Policy>(y)) {
-    case V_LT:
-      goto a_minf;
-    case V_GT:
-      goto a_pinf;
-    default:
-      goto inf_mul_zero;
-    }
+  // FIXME: missing check_inf_add_inf
+  prepare_inexact<To_Policy>(dir);
+  if (fpu_direct_rounding(dir))
+    to = fma(x, -y, to);
+  else if (fpu_inverse_rounding(dir)) {
+    to = fma(x, y, -to);
+    limit_precision(to);
+    to = -to;
   }
   else {
-    if (is_minf<From2_Policy>(y)) {
-      switch (sgn<From1_Policy>(x)) {
-      case V_LT:
-	goto a_pinf;
-      case V_GT:
-	goto a_minf;
-      default:
-	goto inf_mul_zero;
-      }
-    }
-    else if (is_pinf<From2_Policy>(y)) {
-      switch (sgn<From1_Policy>(x)) {
-      case V_LT:
-      a_minf:
-	if (CHECK_P(To_Policy::check_inf_sub_inf, is_minf<To_Policy>(to)))
-	  goto inf_sub_inf;
-	else
-	  goto pinf;
-      case V_GT:
-      a_pinf:
-	if (CHECK_P(To_Policy::check_inf_sub_inf, is_pinf<To_Policy>(to))) {
-	inf_sub_inf:
-	  return assign_special<To_Policy>(to, V_INF_SUB_INF, ROUND_IGNORE);
-	}
-	else
-	  goto minf;
-      default:
-      inf_mul_zero:
-	assert(To_Policy::check_inf_mul_zero);
-	return assign_special<To_Policy>(to, V_INF_MUL_ZERO, ROUND_IGNORE);
-      }
-    }
-    else {
-      if (is_minf<To_Policy>(to)) {
-      minf:
-	return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-      }
-      if (is_pinf<To_Policy>(to)) {
-      pinf:
-	return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-      }
-    native:
-      return sub_mul<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
-    }
+    fpu_rounding_control_word_type old
+      = fpu_save_rounding_direction(round_fpu_dir(dir));
+    limit_precision(x);
+    limit_precision(y);
+    limit_precision(to);
+    to = fma(x, -y, to);
+    limit_precision(to);
+    fpu_restore_rounding_direction(old);
   }
+  if (To_Policy::fpu_check_nan_result && is_nan<To_Policy>(to))
+    return V_NAN;
+  return result_relation<To_Policy>(dir);
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
+template <typename Policy, typename Type>
 inline Result
-div_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
-  if (!ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
-    goto native;
-  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  if (is_minf<From1_Policy>(x)) {
-    if (CHECK_P(To_Policy::check_inf_div_inf, is_minf<From2_Policy>(y)
-		|| is_pinf<From2_Policy>(y)))
-      goto inf_div_inf;
-    else {
-      switch (sgn<From2_Policy>(y)) {
-      case V_LT:
-	goto pinf;
-      case V_GT:
-	goto minf;
-      default:
-	goto div_zero;
-      }
-    }
-  }
-  else if (is_pinf<From1_Policy>(x)) {
-    if (CHECK_P(To_Policy::check_inf_div_inf, is_minf<From2_Policy>(y)
-		|| is_pinf<From2_Policy>(y))) {
-    inf_div_inf:
-      return assign_special<To_Policy>(to, V_INF_DIV_INF, ROUND_IGNORE);
-    }
-    else {
-      switch (sgn<From2_Policy>(y)) {
-      case V_LT:
-      minf:
-	return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-      case V_GT:
-      pinf:
-	return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-      default:
-      div_zero:
-	assert(To_Policy::check_div_zero);
-	return assign_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
-      }
-    }
-  }
+output_float(std::ostream& os, const Type from, const Numeric_Format&,
+	     Rounding_Dir) {
+  if (from == 0)
+    os << "0";
+  else if (is_minf<Policy>(from))
+    os << "-inf";
+  else if (is_pinf<Policy>(from))
+    os << "+inf";
+  else if (is_nan<Policy>(from))
+    os << "nan";
   else {
-    if (is_minf<From2_Policy>(y) || is_pinf<From2_Policy>(y)) {
-      to = 0;
-      return V_EQ;
-    }
-    else {
-    native:
-      return div<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
-    }
+    int old_precision = os.precision(10000);
+    // FIXME: here correctness depends on the behavior of the standard
+    // output operator which, in turn, may depend on the behavior
+    // of printf().  The C99 standard, 7.19.16.1#13, does not give
+    // enough guarantees.  We could not find something similar
+    // in the C++ standard, so there is a concrete danger here.
+    os << from;
+    os.precision(old_precision);
   }
+  return V_EQ;
 }
 
+#if PPL_SUPPORTED_FLOAT
+PPL_SPECIALIZE_ASSIGN(assign_float_float_exact, float, float)
+#if PPL_SUPPORTED_DOUBLE
+PPL_SPECIALIZE_ASSIGN(assign_float_float, float, double)
+PPL_SPECIALIZE_ASSIGN(assign_float_float_exact, double, float)
+#endif
+#if PPL_SUPPORTED_LONG_DOUBLE
+PPL_SPECIALIZE_ASSIGN(assign_float_float, float, long double)
+PPL_SPECIALIZE_ASSIGN(assign_float_float_exact, long double, float)
+#endif
+#endif
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
-inline Result
-idiv_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
-  if (!ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
-    goto native;
-  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  if (is_minf<From1_Policy>(x)) {
-    if (CHECK_P(To_Policy::check_inf_div_inf, is_minf<From2_Policy>(y)
-		|| is_pinf<From2_Policy>(y)))
-      goto inf_div_inf;
-    else {
-      switch (sgn<From2_Policy>(y)) {
-      case V_LT:
-	goto pinf;
-      case V_GT:
-	goto minf;
-      default:
-	goto div_zero;
-      }
-    }
-  }
-  else if (is_pinf<From1_Policy>(x)) {
-    if (CHECK_P(To_Policy::check_inf_div_inf, is_minf<From2_Policy>(y)
-		|| is_pinf<From2_Policy>(y))) {
-    inf_div_inf:
-      return assign_special<To_Policy>(to, V_INF_DIV_INF, ROUND_IGNORE);
-    }
-    else {
-      switch (sgn<From2_Policy>(y)) {
-      case V_LT:
-      minf:
-	return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-      case V_GT:
-      pinf:
-	return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-      default:
-      div_zero:
-	assert(To_Policy::check_div_zero);
-	return assign_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
-      }
-    }
-  }
-  else {
-    if (is_minf<From2_Policy>(y) || is_pinf<From2_Policy>(y)) {
-      to = 0;
-      return V_EQ;
-    }
-    else {
-    native:
-      return idiv<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
-    }
-  }
-}
+#if PPL_SUPPORTED_DOUBLE
+PPL_SPECIALIZE_ASSIGN(assign_float_float_exact, double, double)
+#if PPL_SUPPORTED_LONG_DOUBLE
+PPL_SPECIALIZE_ASSIGN(assign_float_float, double, long double)
+PPL_SPECIALIZE_ASSIGN(assign_float_float_exact, long double, double)
+#endif
+#endif
 
+#if PPL_SUPPORTED_LONG_DOUBLE
+PPL_SPECIALIZE_ASSIGN(assign_float_float_exact, long double, long double)
+#endif
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
-inline Result
-rem_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
-  if (!ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
-    goto native;
-  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (CHECK_P(To_Policy::check_inf_mod, is_minf<From1_Policy>(x)
-		   || is_pinf<From1_Policy>(x)))
-    return assign_special<To_Policy>(to, V_INF_MOD, ROUND_IGNORE);
-  else {
-    if (is_minf<From1_Policy>(y) || is_pinf<From2_Policy>(y)) {
-      to = x;
-      return V_EQ;
-    }
-    else {
-    native:
-      return rem<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
-    }
-  }
-}
+#if PPL_SUPPORTED_FLOAT
+PPL_SPECIALIZE_CLASSIFY(classify_float, float)
+PPL_SPECIALIZE_IS_NAN(is_nan_float, float)
+PPL_SPECIALIZE_IS_MINF(is_minf_float, float)
+PPL_SPECIALIZE_IS_PINF(is_pinf_float, float)
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_float, float)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, float, signed char)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, float, signed short)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, float, signed int)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, float, signed long)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, float, signed long long)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, float, unsigned char)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, float, unsigned short)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, float, unsigned int)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, float, unsigned long)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, float, unsigned long long)
+PPL_SPECIALIZE_ASSIGN(assign_float_mpz, float, mpz_class)
+PPL_SPECIALIZE_ASSIGN(assign_float_mpq, float, mpq_class)
+PPL_SPECIALIZE_COPY(copy_generic, float)
+PPL_SPECIALIZE_IS_INT(is_int_float, float)
+PPL_SPECIALIZE_FLOOR(floor_float, float, float)
+PPL_SPECIALIZE_CEIL(ceil_float, float, float)
+PPL_SPECIALIZE_TRUNC(trunc_float, float, float)
+PPL_SPECIALIZE_NEG(neg_float, float, float)
+PPL_SPECIALIZE_ABS(abs_float, float, float)
+PPL_SPECIALIZE_ADD(add_float, float, float, float)
+PPL_SPECIALIZE_SUB(sub_float, float, float, float)
+PPL_SPECIALIZE_MUL(mul_float, float, float, float)
+PPL_SPECIALIZE_DIV(div_float, float, float, float)
+PPL_SPECIALIZE_REM(rem_float, float, float, float)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_float, float, float)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_float, float, float)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_float, float, float)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_float, float, float)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_float, float, float)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_float, float, float)
+PPL_SPECIALIZE_SQRT(sqrt_float, float, float)
+PPL_SPECIALIZE_GCD(gcd_exact, float, float, float)
+PPL_SPECIALIZE_GCDEXT(gcdext_exact, float, float, float, float, float)
+PPL_SPECIALIZE_LCM(lcm_gcd_exact, float, float, float)
+PPL_SPECIALIZE_SGN(sgn_float, float)
+PPL_SPECIALIZE_CMP(cmp_float, float, float)
+PPL_SPECIALIZE_ADD_MUL(add_mul_float, float, float, float)
+PPL_SPECIALIZE_SUB_MUL(sub_mul_float, float, float, float)
+PPL_SPECIALIZE_INPUT(input_generic, float)
+PPL_SPECIALIZE_OUTPUT(output_float, float)
+#endif
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
-inline Result
-mul2exp_ext(To& to, const From& x, int exp, Rounding_Dir dir) {
-  if (!ext_to_handle<From_Policy>(x))
-    goto native;
-  if (is_nan<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  else {
-  native:
-    return mul2exp<To_Policy, From_Policy>(to, x, exp, dir);
-  }
-}
+#if PPL_SUPPORTED_DOUBLE
+PPL_SPECIALIZE_CLASSIFY(classify_float, double)
+PPL_SPECIALIZE_IS_NAN(is_nan_float, double)
+PPL_SPECIALIZE_IS_MINF(is_minf_float, double)
+PPL_SPECIALIZE_IS_PINF(is_pinf_float, double)
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_float, double)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, double, signed char)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, double, signed short)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, double, signed int)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, double, signed long)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, double, signed long long)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, double, unsigned char)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, double, unsigned short)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, double, unsigned int)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, double, unsigned long)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, double, unsigned long long)
+PPL_SPECIALIZE_ASSIGN(assign_float_mpz, double, mpz_class)
+PPL_SPECIALIZE_ASSIGN(assign_float_mpq, double, mpq_class)
+PPL_SPECIALIZE_COPY(copy_generic, double)
+PPL_SPECIALIZE_IS_INT(is_int_float, double)
+PPL_SPECIALIZE_FLOOR(floor_float, double, double)
+PPL_SPECIALIZE_CEIL(ceil_float, double, double)
+PPL_SPECIALIZE_TRUNC(trunc_float, double, double)
+PPL_SPECIALIZE_NEG(neg_float, double, double)
+PPL_SPECIALIZE_ABS(abs_float, double, double)
+PPL_SPECIALIZE_ADD(add_float, double, double, double)
+PPL_SPECIALIZE_SUB(sub_float, double, double, double)
+PPL_SPECIALIZE_MUL(mul_float, double, double, double)
+PPL_SPECIALIZE_DIV(div_float, double, double, double)
+PPL_SPECIALIZE_REM(rem_float, double, double, double)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_float, double, double)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_float, double, double)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_float, double, double)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_float, double, double)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_float, double, double)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_float, double, double)
+PPL_SPECIALIZE_SQRT(sqrt_float, double, double)
+PPL_SPECIALIZE_GCD(gcd_exact, double, double, double)
+PPL_SPECIALIZE_GCDEXT(gcdext_exact, double, double, double, double, double)
+PPL_SPECIALIZE_LCM(lcm_gcd_exact, double, double, double)
+PPL_SPECIALIZE_SGN(sgn_float, double)
+PPL_SPECIALIZE_CMP(cmp_float, double, double)
+PPL_SPECIALIZE_ADD_MUL(add_mul_float, double, double, double)
+PPL_SPECIALIZE_SUB_MUL(sub_mul_float, double, double, double)
+PPL_SPECIALIZE_INPUT(input_generic, double)
+PPL_SPECIALIZE_OUTPUT(output_float, double)
+#endif
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
+#if PPL_SUPPORTED_LONG_DOUBLE
+PPL_SPECIALIZE_CLASSIFY(classify_float, long double)
+PPL_SPECIALIZE_IS_NAN(is_nan_float, long double)
+PPL_SPECIALIZE_IS_MINF(is_minf_float, long double)
+PPL_SPECIALIZE_IS_PINF(is_pinf_float, long double)
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_float, long double)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, signed char)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, signed short)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, signed int)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, signed long)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, signed long long)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, unsigned char)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, unsigned short)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, unsigned int)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, unsigned long)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, unsigned long long)
+PPL_SPECIALIZE_ASSIGN(assign_float_mpz, long double, mpz_class)
+PPL_SPECIALIZE_ASSIGN(assign_float_mpq, long double, mpq_class)
+PPL_SPECIALIZE_COPY(copy_generic, long double)
+PPL_SPECIALIZE_IS_INT(is_int_float, long double)
+PPL_SPECIALIZE_FLOOR(floor_float, long double, long double)
+PPL_SPECIALIZE_CEIL(ceil_float, long double, long double)
+PPL_SPECIALIZE_TRUNC(trunc_float, long double, long double)
+PPL_SPECIALIZE_NEG(neg_float, long double, long double)
+PPL_SPECIALIZE_ABS(abs_float, long double, long double)
+PPL_SPECIALIZE_ADD(add_float, long double, long double, long double)
+PPL_SPECIALIZE_SUB(sub_float, long double, long double, long double)
+PPL_SPECIALIZE_MUL(mul_float, long double, long double, long double)
+PPL_SPECIALIZE_DIV(div_float, long double, long double, long double)
+PPL_SPECIALIZE_REM(rem_float, long double, long double, long double)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_float, long double, long double)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_float, long double, long double)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_float, long double, long double)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_float, long double, long double)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_float, long double, long double)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_float, long double, long double)
+PPL_SPECIALIZE_SQRT(sqrt_float, long double, long double)
+PPL_SPECIALIZE_GCD(gcd_exact, long double, long double, long double)
+PPL_SPECIALIZE_GCDEXT(gcdext_exact, long double, long double, long double,
+		  long double, long double)
+PPL_SPECIALIZE_LCM(lcm_gcd_exact, long double, long double, long double)
+PPL_SPECIALIZE_SGN(sgn_float, long double)
+PPL_SPECIALIZE_CMP(cmp_float, long double, long double)
+PPL_SPECIALIZE_ADD_MUL(add_mul_float, long double, long double, long double)
+PPL_SPECIALIZE_SUB_MUL(sub_mul_float, long double, long double, long double)
+PPL_SPECIALIZE_INPUT(input_generic, long double)
+PPL_SPECIALIZE_OUTPUT(output_float, long double)
+#endif
+
+} // namespace Checked
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/checked_mpz.inlines.hh line 1. */
+/* Specialized "checked" functions for GMP's mpz_class numbers.
+*/
+
+
+#include <sstream>
+
+namespace Parma_Polyhedra_Library {
+
+namespace Checked {
+
+template <typename Policy>
 inline Result
-div2exp_ext(To& to, const From& x, int exp, Rounding_Dir dir) {
-  if (!ext_to_handle<From_Policy>(x))
-    goto native;
-  if (is_nan<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  else {
-  native:
-    return div2exp<To_Policy, From_Policy>(to, x, exp, dir);
+round_lt_mpz(mpz_class& to, Rounding_Dir dir) {
+  if (round_down(dir)) {
+    --to;
+    return V_GT;
   }
+  return V_LT;
 }
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
+template <typename Policy>
 inline Result
-sqrt_ext(To& to, const From& x, Rounding_Dir dir) {
-  if (!ext_to_handle<From_Policy>(x))
-    goto native;
-  if (is_nan<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(x))
-    return assign_special<To_Policy>(to, V_SQRT_NEG, ROUND_IGNORE);
-  else if (is_pinf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  else {
-  native:
-    return sqrt<To_Policy, From_Policy>(to, x, dir);
+round_gt_mpz(mpz_class& to, Rounding_Dir dir) {
+  if (round_up(dir)) {
+    ++to;
+    return V_LT;
   }
+  return V_GT;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
-inline Result
-gcd_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
-  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From1_Policy>(x) || is_pinf<From1_Policy>(x))
-    return abs_ext<To_Policy, From2_Policy>(to, y, dir);
-  else if (is_minf<From2_Policy>(y) || is_pinf<From2_Policy>(y))
-    return abs_ext<To_Policy, From1_Policy>(to, x, dir);
-  else
-    return gcd<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
-}
+#ifdef PPL_HAVE_TYPEOF
+//! Type of the _mp_size field of GMP's __mpz_struct.
+typedef typeof(__mpz_struct()._mp_size) mp_size_field_t;
+#else
+//! This is assumed to be the type of the _mp_size field of GMP's __mpz_struct.
+typedef int mp_size_field_t;
+#endif
 
-template <typename To1_Policy, typename To2_Policy, typename To3_Policy,
-	  typename From1_Policy, typename From2_Policy,
-	  typename To1, typename To2, typename To3,
-	  typename From1, typename From2>
-inline Result
-gcdext_ext(To1& to, To2& s, To3& t, const From1& x, const From2& y,
-	   Rounding_Dir dir) {
-  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
-    return assign_special<To1_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From1_Policy>(x) || is_pinf<From1_Policy>(x)) {
-    s = 0;
-    t = y > 0 ? -1 : 1;
-    return abs_ext<To1_Policy, From2_Policy>(to, y, dir);
-  }
-  else if (is_minf<From2_Policy>(y) || is_pinf<From2_Policy>(y)) {
-    s = x > 0 ? -1 : 1;
-    t = 0;
-    return abs_ext<To1_Policy, From1_Policy>(to, x, dir);
-  }
-  else
-    return gcdext<To1_Policy, To2_Policy, To3_Policy, From1_Policy, From2_Policy>(to, s, t, x, y, dir);
+inline mp_size_field_t
+get_mp_size(const mpz_class &v) {
+  return v.get_mpz_t()->_mp_size;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
-inline Result
-lcm_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
-  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From1_Policy>(x) || is_pinf<From1_Policy>(x)
-	   || is_minf<From2_Policy>(y) || is_pinf<From2_Policy>(y))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  else
-    return lcm<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+inline void
+set_mp_size(mpz_class &v, mp_size_field_t size) {
+  v.get_mpz_t()->_mp_size = size;
 }
 
-template <typename Policy1, typename Policy2,
-	  typename Type1, typename Type2>
+template <typename Policy>
 inline Result
-cmp_ext(const Type1& x, const Type2& y) {
-  if (!ext_to_handle<Policy1>(x) && !ext_to_handle<Policy2>(y))
-    goto native;
-  if (is_nan<Policy1>(x) || is_nan<Policy2>(y))
-    return V_UNORD_COMP;
-  else if (is_minf<Policy1>(x))
-    return is_minf<Policy2>(y) ? V_EQ : V_LT;
-  else if (is_pinf<Policy1>(x))
-    return is_pinf<Policy2>(y) ? V_EQ : V_GT;
-  else {
-    if (is_minf<Policy2>(y))
-      return V_GT;
-    if (is_pinf<Policy2>(y))
-      return V_LT;
-  native:
-    return cmp<Policy1, Policy2>(x, y);
+classify_mpz(const mpz_class& v, bool nan, bool inf, bool sign) {
+  if (Policy::has_nan || Policy::has_infinity) {
+    mp_size_field_t s = get_mp_size(v);
+    if (Policy::has_nan
+	&& (nan || sign)
+	&& s == C_Integer<mp_size_field_t>::min + 1)
+      return V_NAN;
+    if (!inf && !sign)
+      return V_LGE;
+    if (Policy::has_infinity) {
+      if (s == C_Integer<mp_size_field_t>::min)
+	return inf ? V_EQ_MINUS_INFINITY : V_LT;
+      if (s == C_Integer<mp_size_field_t>::max)
+	return inf ? V_EQ_PLUS_INFINITY : V_GT;
+    }
   }
+  if (sign)
+    return (Result) sgn<Policy>(v);
+  return V_LGE;
 }
 
-template <typename Policy1, typename Policy2,
-	  typename Type1, typename Type2>
-inline bool
-lt_ext(const Type1& x, const Type2& y) {
-  if (!ext_to_handle<Policy1>(x) && !ext_to_handle<Policy2>(y))
-    goto native;
-  if (is_nan<Policy1>(x) || is_nan<Policy2>(y))
-    return false;
-  if (is_pinf<Policy1>(x) || is_minf<Policy2>(y))
-    return false;
-  if (is_minf<Policy1>(x) || is_pinf<Policy2>(y))
-    return true;
- native:
-  return lt_p<Policy1, Policy2>(x, y);
-}
+PPL_SPECIALIZE_CLASSIFY(classify_mpz, mpz_class)
 
-template <typename Policy1, typename Policy2,
-	  typename Type1, typename Type2>
+template <typename Policy>
 inline bool
-gt_ext(const Type1& x, const Type2& y) {
-  return lt_ext<Policy1, Policy2>(y, x);
+is_nan_mpz(const mpz_class& v) {
+  return Policy::has_nan
+    && get_mp_size(v) == C_Integer<mp_size_field_t>::min + 1;
 }
 
-template <typename Policy1, typename Policy2,
-	  typename Type1, typename Type2>
-inline bool
-le_ext(const Type1& x, const Type2& y) {
-  if (!ext_to_handle<Policy1>(x) && !ext_to_handle<Policy2>(y))
-    goto native;
-  if (is_nan<Policy1>(x) || is_nan<Policy2>(y))
-    return false;
-  if (is_minf<Policy1>(x) || is_pinf<Policy2>(y))
-    return true;
-  if (is_pinf<Policy1>(x) || is_minf<Policy2>(y))
-    return false;
- native:
-  return le_p<Policy1, Policy2>(x, y);
-}
+PPL_SPECIALIZE_IS_NAN(is_nan_mpz, mpz_class)
 
-template <typename Policy1, typename Policy2,
-	  typename Type1, typename Type2>
+template <typename Policy>
 inline bool
-ge_ext(const Type1& x, const Type2& y) {
-  return le_ext<Policy1, Policy2>(y, x);
+is_minf_mpz(const mpz_class& v) {
+  return Policy::has_infinity
+    && get_mp_size(v) == C_Integer<mp_size_field_t>::min;
 }
 
-template <typename Policy1, typename Policy2,
-	  typename Type1, typename Type2>
+PPL_SPECIALIZE_IS_MINF(is_minf_mpz, mpz_class)
+
+template <typename Policy>
 inline bool
-eq_ext(const Type1& x, const Type2& y) {
-  if (!ext_to_handle<Policy1>(x) && !ext_to_handle<Policy2>(y))
-    goto native;
-  if (is_nan<Policy1>(x) || is_nan<Policy2>(y))
-    return false;
-  if (is_minf<Policy1>(x))
-    return is_minf<Policy2>(y);
-  if (is_pinf<Policy1>(x))
-    return is_pinf<Policy2>(y);
-  else if (is_minf<Policy2>(y) || is_pinf<Policy2>(y))
-    return false;
- native:
-  return eq_p<Policy1, Policy2>(x, y);
+is_pinf_mpz(const mpz_class& v) {
+  return Policy::has_infinity
+    && get_mp_size(v) == C_Integer<mp_size_field_t>::max;
 }
 
-template <typename Policy1, typename Policy2,
-	  typename Type1, typename Type2>
+PPL_SPECIALIZE_IS_PINF(is_pinf_mpz, mpz_class)
+
+template <typename Policy>
 inline bool
-ne_ext(const Type1& x, const Type2& y) {
-  return !eq_ext<Policy1, Policy2>(x, y);
+is_int_mpz(const mpz_class& v) {
+  return !is_nan<Policy>(v);
 }
 
-template <typename Policy, typename Type>
+PPL_SPECIALIZE_IS_INT(is_int_mpz, mpz_class)
+
+template <typename Policy>
 inline Result
-output_ext(std::ostream& os, const Type& x,
-	   const Numeric_Format& format, Rounding_Dir dir) {
-  if (!ext_to_handle<Policy>(x))
-    goto native;
-  if (is_nan<Policy>(x)) {
-    os << "nan";
-    return VC_NAN;
-  }
-  if (is_minf<Policy>(x)) {
-    os << "-inf";
-    return V_EQ;
+assign_special_mpz(mpz_class& v, Result_Class c, Rounding_Dir) {
+  switch (c) {
+  case VC_NAN:
+    if (Policy::has_nan)
+      set_mp_size(v, C_Integer<mp_size_field_t>::min + 1);
+    return V_NAN;
+  case VC_MINUS_INFINITY:
+    if (Policy::has_infinity) {
+      set_mp_size(v, C_Integer<mp_size_field_t>::min);
+      return V_EQ_MINUS_INFINITY;
+    }
+    return V_EQ_MINUS_INFINITY | V_UNREPRESENTABLE;
+  case VC_PLUS_INFINITY:
+    if (Policy::has_infinity) {
+      set_mp_size(v, C_Integer<mp_size_field_t>::max);
+      return V_EQ_PLUS_INFINITY;
+    }
+    return V_EQ_PLUS_INFINITY | V_UNREPRESENTABLE;
+  default:
+    PPL_ASSERT(false);
+    return V_NAN;
   }
-  if (is_pinf<Policy>(x)) {
-    os << "+inf";
-    return V_EQ;
+}
+
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_mpz, mpz_class)
+
+template <typename To_Policy, typename From_Policy>
+inline void
+copy_mpz(mpz_class& to, const mpz_class& from) {
+  if (is_nan_mpz<From_Policy>(from))
+    PPL_ASSERT(To_Policy::has_nan);
+  else if (is_minf_mpz<From_Policy>(from) || is_pinf_mpz<From_Policy>(from))
+    PPL_ASSERT(To_Policy::has_infinity);
+  else {
+    to = from;
+    return;
   }
- native:
-  return output<Policy>(os, x, format, dir);
+  set_mp_size(to, get_mp_size(from));
 }
 
-template <typename To_Policy, typename To>
+PPL_SPECIALIZE_COPY(copy_mpz, mpz_class)
+
+template <typename To_Policy, typename From_Policy, typename From>
 inline Result
-input_ext(To& to, std::istream& is, Rounding_Dir dir) {
-  return input<To_Policy>(to, is, dir);
+construct_mpz_base(mpz_class& to, const From from, Rounding_Dir) {
+    new (&to) mpz_class(from);
+    return V_EQ;
 }
 
-} // namespace Checked
+PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, signed char)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, signed short)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, signed int)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, signed long)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, unsigned char)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, unsigned short)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, unsigned int)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, unsigned long)
 
-} // namespace Parma_Polyhedra_Library
+template <typename To_Policy, typename From_Policy, typename From>
+inline Result
+construct_mpz_float(mpz_class& to, const From& from, Rounding_Dir dir) {
+  if (is_nan<From_Policy>(from))
+    return construct_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(from))
+    return construct_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(from))
+    return construct_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  if (round_not_requested(dir)) {
+    new (&to) mpz_class(from);
+    return V_LGE;
+  }
+  From n = rint(from);
+  new (&to) mpz_class(n);
+  if (from == n)
+    return V_EQ;
+  if (from < 0)
+    return round_lt_mpz<To_Policy>(to, dir);
+  else
+    return round_gt_mpz<To_Policy>(to, dir);
+}
 
-/* Automatically generated from PPL source file ../src/checked.defs.hh line 601. */
+PPL_SPECIALIZE_CONSTRUCT(construct_mpz_float, mpz_class, float)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpz_float, mpz_class, double)
 
-#undef nonconst
-#ifdef PPL_SAVED_nonconst
-#define nonconst PPL_SAVED_nonconst
-#undef PPL_SAVED_nonconst
-#endif
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, mpz_class)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, signed char)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, signed short)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, signed int)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, signed long)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, unsigned char)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, unsigned short)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, unsigned int)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, unsigned long)
 
-#undef PPL_FUNCTION_CLASS
-#undef PPL_NAN
+template <typename To_Policy, typename From_Policy, typename From>
+inline Result
+assign_mpz_signed_int(mpz_class& to, const From from, Rounding_Dir) {
+  if (sizeof(From) <= sizeof(signed long))
+    to = static_cast<signed long>(from);
+  else {
+    mpz_ptr m = to.get_mpz_t();
+    if (from >= 0)
+      mpz_import(m, 1, 1, sizeof(From), 0, 0, &from);
+    else {
+      From n = -from;
+      mpz_import(m, 1, 1, sizeof(From), 0, 0, &n);
+      mpz_neg(m, m);
+    }
+  }
+  return V_EQ;
+}
 
-/* Automatically generated from PPL source file ../src/Checked_Number.defs.hh line 30. */
-#include <iosfwd>
+PPL_SPECIALIZE_ASSIGN(assign_mpz_signed_int, mpz_class, signed long long)
 
-namespace Parma_Polyhedra_Library {
+template <typename To_Policy, typename From_Policy, typename From>
+inline Result
+assign_mpz_unsigned_int(mpz_class& to, const From from, Rounding_Dir) {
+  if (sizeof(From) <= sizeof(unsigned long))
+    to = static_cast<unsigned long>(from);
+  else
+    mpz_import(to.get_mpz_t(), 1, 1, sizeof(From), 0, 0, &from);
+  return V_EQ;
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-struct Checked_Number_Default_Policy {
-  const_bool_nodef(check_overflow, true);
-  const_bool_nodef(check_inf_add_inf, false);
-  const_bool_nodef(check_inf_sub_inf, false);
-  const_bool_nodef(check_inf_mul_zero, false);
-  const_bool_nodef(check_div_zero, false);
-  const_bool_nodef(check_inf_div_inf, false);
-  const_bool_nodef(check_inf_mod, false);
-  const_bool_nodef(check_sqrt_neg, false);
-  const_bool_nodef(has_nan, false);
-  const_bool_nodef(has_infinity, false);
-  const_bool_nodef(convertible, true);
-  const_bool_nodef(fpu_check_inexact, true);
-  const_bool_nodef(check_nan_result, true);
-  static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_NATIVE;
-  static const Rounding_Dir ROUND_DEFAULT_OPERATOR = ROUND_NATIVE;
-  static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_NATIVE;
-  static const Rounding_Dir ROUND_DEFAULT_INPUT = ROUND_NATIVE;
-  static const Rounding_Dir ROUND_DEFAULT_OUTPUT = ROUND_NATIVE;
-  static void handle_result(Result r);
-};
+PPL_SPECIALIZE_ASSIGN(assign_mpz_unsigned_int, mpz_class, unsigned long long)
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-struct Extended_Number_Policy {
-  const_bool_nodef(check_overflow, true);
-  const_bool_nodef(check_inf_add_inf, false);
-  const_bool_nodef(check_inf_sub_inf, false);
-  const_bool_nodef(check_inf_mul_zero, false);
-  const_bool_nodef(check_div_zero, false);
-  const_bool_nodef(check_inf_div_inf, false);
-  const_bool_nodef(check_inf_mod, false);
-  const_bool_nodef(check_sqrt_neg, false);
-  const_bool_nodef(has_nan, true);
-  const_bool_nodef(has_infinity, true);
-  // Do not uncomment the following.
-  // The compile time error on conversions is the expected behavior.
-  // const_bool_nodef(convertible, false);
-  const_bool_nodef(fpu_check_inexact, true);
-  const_bool_nodef(check_nan_result, true);
-  // Do not uncomment the following.
-  // The compile time error is the expected behavior.
-  // static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_OPERATOR = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_INPUT = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_OUTPUT = ROUND_UP;
-  static void handle_result(Result r);
-};
+template <typename To_Policy, typename From_Policy, typename From>
+inline Result
+assign_mpz_float(mpz_class& to, const From from, Rounding_Dir dir) {
+  if (is_nan<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  if (round_not_requested(dir)) {
+    to = from;
+    return V_LGE;
+  }
+  From i_from = rint(from);
+  to = i_from;
+  if (from == i_from)
+    return V_EQ;
+  if (round_direct(ROUND_UP))
+    return round_lt_mpz<To_Policy>(to, dir);
+  if (round_direct(ROUND_DOWN))
+    return round_gt_mpz<To_Policy>(to, dir);
+  if (from < i_from)
+    return round_lt_mpz<To_Policy>(to, dir);
+  if (from > i_from)
+    return round_gt_mpz<To_Policy>(to, dir);
+  PPL_ASSERT(false);
+  return V_NAN;
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-struct WRD_Extended_Number_Policy {
-  const_bool_nodef(check_overflow, true);
-  const_bool_nodef(check_inf_add_inf, false);
-  const_bool_nodef(check_inf_sub_inf, false);
-  const_bool_nodef(check_inf_mul_zero, false);
-  const_bool_nodef(check_div_zero, false);
-  const_bool_nodef(check_inf_div_inf, false);
-  const_bool_nodef(check_inf_mod, false);
-  const_bool_nodef(check_sqrt_neg, false);
-  const_bool_nodef(has_nan, true);
-  const_bool_nodef(has_infinity, true);
-  // Do not uncomment the following.
-  // The compile time error on conversions is the expected behavior.
-  // const_bool_nodef(convertible, false);
-  const_bool_nodef(fpu_check_inexact, true);
-  const_bool_nodef(check_nan_result, false);
-  // Do not uncomment the following.
-  // The compile time error is the expected behavior.
-  // static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_OPERATOR = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_INPUT = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_OUTPUT = ROUND_UP;
-  static void handle_result(Result r);
-};
+PPL_SPECIALIZE_ASSIGN(assign_mpz_float, mpz_class, float)
+PPL_SPECIALIZE_ASSIGN(assign_mpz_float, mpz_class, double)
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! A policy checking for overflows.
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-struct Check_Overflow_Policy {
-  const_bool_nodef(check_overflow, true);
-  const_bool_nodef(check_inf_add_inf, false);
-  const_bool_nodef(check_inf_sub_inf, false);
-  const_bool_nodef(check_inf_mul_zero, false);
-  const_bool_nodef(check_div_zero, false);
-  const_bool_nodef(check_inf_div_inf, false);
-  const_bool_nodef(check_inf_mod, false);
-  const_bool_nodef(check_sqrt_neg, false);
-  const_bool_nodef(has_nan, std::numeric_limits<T>::has_quiet_NaN);
-  const_bool_nodef(has_infinity, std::numeric_limits<T>::has_infinity);
-  const_bool_nodef(convertible, true);
-  const_bool_nodef(fpu_check_inexact, true);
-  const_bool_nodef(check_nan_result, true);
-};
+template <typename To_Policy, typename From_Policy, typename From>
+inline Result
+assign_mpz_long_double(mpz_class& to, const From& from, Rounding_Dir dir) {
+  if (is_nan<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  // FIXME: this is an incredibly inefficient implementation!
+  std::stringstream ss;
+  output<From_Policy>(ss, from, Numeric_Format(), dir);
+  PPL_DIRTY_TEMP0(mpq_class, tmp);
+#ifndef NDEBUG
+  Result r =
+#endif
+    input_mpq(tmp, ss);
+  PPL_ASSERT(r == V_EQ);
+  return assign<To_Policy, From_Policy>(to, tmp, dir);
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T, typename Enable = void>
-struct Native_Checked_From_Wrapper;
+PPL_SPECIALIZE_ASSIGN(assign_mpz_long_double, mpz_class, long double)
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-struct Native_Checked_From_Wrapper<T, typename Enable_If<Is_Native<T>::value>::type> {
-  typedef Checked_Number_Transparent_Policy<T> Policy;
-  static const T& raw_value(const T& v) {
-    return v;
+template <typename To_Policy, typename From_Policy>
+inline Result
+assign_mpz_mpq(mpz_class& to, const mpq_class& from, Rounding_Dir dir) {
+  if (round_not_needed(dir)) {
+    to = from.get_num();
+    return V_LGE;
   }
-};
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T, typename P>
-struct Native_Checked_From_Wrapper<Checked_Number<T, P> > {
-  typedef P Policy;
-  static const T& raw_value(const Checked_Number<T, P>& v) {
-    return v.raw_value();
+  if (round_ignore(dir)) {
+    to = from;
+    return V_LGE;
   }
-};
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T, typename Enable = void>
-struct Native_Checked_To_Wrapper;
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-struct Native_Checked_To_Wrapper<T, typename Enable_If<Is_Native<T>::value>::type> {
-  typedef Check_Overflow_Policy<T> Policy;
-  static T& raw_value(T& v) {
-    return v;
+  mpz_srcptr n = from.get_num().get_mpz_t();
+  mpz_srcptr d = from.get_den().get_mpz_t();
+  if (round_down(dir)) {
+    mpz_fdiv_q(to.get_mpz_t(), n, d);
+    if (round_strict_relation(dir))
+      return mpz_divisible_p(n, d) ? V_EQ : V_GT;
+    return V_GE;
   }
-};
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T, typename P>
-struct Native_Checked_To_Wrapper<Checked_Number<T, P> > {
-  typedef P Policy;
-  static T& raw_value(Checked_Number<T, P>& v) {
-    return v.raw_value();
+  else {
+    PPL_ASSERT(round_up(dir));
+    mpz_cdiv_q(to.get_mpz_t(), n, d);
+    if (round_strict_relation(dir))
+      return mpz_divisible_p(n, d) ? V_EQ : V_LT;
+    return V_LE;
   }
-};
-
-/*! \ingroup PPL_CXX_interface */
-template <typename T>
-struct Is_Checked : public False { };
+}
 
-/*! \ingroup PPL_CXX_interface */
-template <typename T, typename P>
-struct Is_Checked<Checked_Number<T, P> > : public True { };
+PPL_SPECIALIZE_ASSIGN(assign_mpz_mpq, mpz_class, mpq_class)
 
-/*! \ingroup PPL_CXX_interface */
-template <typename T>
-struct Is_Native_Or_Checked
-  : public Bool<Is_Native<T>::value || Is_Checked<T>::value> { };
+PPL_SPECIALIZE_FLOOR(assign_exact, mpz_class, mpz_class)
+PPL_SPECIALIZE_CEIL(assign_exact, mpz_class, mpz_class)
+PPL_SPECIALIZE_TRUNC(assign_exact, mpz_class, mpz_class)
 
-//! A wrapper for numeric types implementing a given policy.
-/*! \ingroup PPL_CXX_interface
-  The wrapper and related functions implement an interface which is common
-  to all kinds of coefficient types, therefore allowing for a uniform
-  coding style. This class also implements the policy encoded by the
-  second template parameter. The default policy is to perform the detection
-  of overflow errors.
-*/
-template <typename T, typename Policy>
-class Checked_Number {
-public:
+template <typename To_Policy, typename From_Policy>
+inline Result
+neg_mpz(mpz_class& to, const mpz_class& from, Rounding_Dir) {
+  mpz_neg(to.get_mpz_t(), from.get_mpz_t());
+  return V_EQ;
+}
 
-  //! \name Constructors
-  //@{
+PPL_SPECIALIZE_NEG(neg_mpz, mpz_class, mpz_class)
 
-  //! Default constructor.
-  Checked_Number();
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+add_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
+  to = x + y;
+  return V_EQ;
+}
 
-  //! Copy-constructor.
-  Checked_Number(const Checked_Number& y);
+PPL_SPECIALIZE_ADD(add_mpz, mpz_class, mpz_class, mpz_class)
 
-  //! Direct initialization from a Checked_Number and rounding mode.
-  template <typename From, typename From_Policy>
-  Checked_Number(const Checked_Number<From, From_Policy>& y, Rounding_Dir dir);
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+sub_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
+  to = x - y;
+  return V_EQ;
+}
 
-  //! Direct initialization from a signed char and rounding mode.
-  Checked_Number(signed char y, Rounding_Dir dir);
+PPL_SPECIALIZE_SUB(sub_mpz, mpz_class, mpz_class, mpz_class)
 
-  //! Direct initialization from a signed short and rounding mode.
-  Checked_Number(signed short y, Rounding_Dir dir);
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+mul_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
+  to = x * y;
+  return V_EQ;
+}
 
-  //! Direct initialization from a signed int and rounding mode.
-  Checked_Number(signed int y, Rounding_Dir dir);
+PPL_SPECIALIZE_MUL(mul_mpz, mpz_class, mpz_class, mpz_class)
 
-  //! Direct initialization from a signed long and rounding mode.
-  Checked_Number(signed long y, Rounding_Dir dir);
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+div_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y,
+	Rounding_Dir dir) {
+  if (CHECK_P(To_Policy::check_div_zero, ::sgn(y) == 0)) {
+    return assign_nan<To_Policy>(to, V_DIV_ZERO);
+  }
+  mpz_srcptr n = x.get_mpz_t();
+  mpz_srcptr d = y.get_mpz_t();
+  if (round_not_needed(dir)) {
+    mpz_divexact(to.get_mpz_t(), n, d);
+    return V_LGE;
+  }
+  if (round_ignore(dir)) {
+    mpz_cdiv_q(to.get_mpz_t(), n, d);
+    return V_LE;
+  }
+  if (round_down(dir)) {
+    mpz_fdiv_q(to.get_mpz_t(), n, d);
+    if (round_strict_relation(dir))
+      return mpz_divisible_p(n, d) ? V_EQ : V_GT;
+    return V_GE;
+  }
+  else {
+    PPL_ASSERT(round_up(dir));
+    mpz_cdiv_q(to.get_mpz_t(), n, d);
+    if (round_strict_relation(dir))
+      return mpz_divisible_p(n, d) ? V_EQ : V_LT;
+    return V_LE;
+  }
+}
 
-  //! Direct initialization from a signed long long and rounding mode.
-  Checked_Number(signed long long y, Rounding_Dir dir);
+PPL_SPECIALIZE_DIV(div_mpz, mpz_class, mpz_class, mpz_class)
 
-  //! Direct initialization from an unsigned char and rounding mode.
-  Checked_Number(unsigned char y, Rounding_Dir dir);
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+idiv_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y,
+	Rounding_Dir) {
+  if (CHECK_P(To_Policy::check_div_zero, ::sgn(y) == 0)) {
+    return assign_nan<To_Policy>(to, V_DIV_ZERO);
+  }
+  mpz_srcptr n = x.get_mpz_t();
+  mpz_srcptr d = y.get_mpz_t();
+  mpz_tdiv_q(to.get_mpz_t(), n, d);
+  return V_EQ;
+}
 
-  //! Direct initialization from an unsigned short and rounding mode.
-  Checked_Number(unsigned short y, Rounding_Dir dir);
+PPL_SPECIALIZE_IDIV(idiv_mpz, mpz_class, mpz_class, mpz_class)
 
-  //! Direct initialization from an unsigned int and rounding mode.
-  Checked_Number(unsigned int y, Rounding_Dir dir);
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+rem_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
+  if (CHECK_P(To_Policy::check_div_zero, ::sgn(y) == 0)) {
+    return assign_nan<To_Policy>(to, V_MOD_ZERO);
+  }
+  to = x % y;
+  return V_EQ;
+}
 
-  //! Direct initialization from an unsigned long and rounding mode.
-  Checked_Number(unsigned long y, Rounding_Dir dir);
+PPL_SPECIALIZE_REM(rem_mpz, mpz_class, mpz_class, mpz_class)
 
-  //! Direct initialization from an unsigned long long and rounding mode.
-  Checked_Number(unsigned long long y, Rounding_Dir dir);
+template <typename To_Policy, typename From_Policy>
+inline Result
+add_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp,
+             Rounding_Dir) {
+  PPL_DIRTY_TEMP(mpz_class, v);
+  v = 1;
+  mpz_mul_2exp(v.get_mpz_t(), v.get_mpz_t(), exp);
+  to = x + v;
+  return V_EQ;
+}
 
-#if PPL_SUPPORTED_FLOAT
-  //! Direct initialization from a float and rounding mode.
-  Checked_Number(float y, Rounding_Dir dir);
-#endif
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_mpz, mpz_class, mpz_class)
 
-#if PPL_SUPPORTED_DOUBLE
-  //! Direct initialization from a double and rounding mode.
-  Checked_Number(double y, Rounding_Dir dir);
-#endif
+template <typename To_Policy, typename From_Policy>
+inline Result
+sub_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp,
+             Rounding_Dir) {
+  PPL_DIRTY_TEMP(mpz_class, v);
+  v = 1;
+  mpz_mul_2exp(v.get_mpz_t(), v.get_mpz_t(), exp);
+  to = x - v;
+  return V_EQ;
+}
 
-#if PPL_SUPPORTED_LONG_DOUBLE
-  //! Direct initialization from a long double and rounding mode.
-  Checked_Number(long double y, Rounding_Dir dir);
-#endif
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_mpz, mpz_class, mpz_class)
 
-  //! Direct initialization from a rational and rounding mode.
-  Checked_Number(const mpq_class& y, Rounding_Dir dir);
+template <typename To_Policy, typename From_Policy>
+inline Result
+mul_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp,
+             Rounding_Dir) {
+  mpz_mul_2exp(to.get_mpz_t(), x.get_mpz_t(), exp);
+  return V_EQ;
+}
 
-  //! Direct initialization from an unbounded integer and rounding mode.
-  Checked_Number(const mpz_class& y, Rounding_Dir dir);
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_mpz, mpz_class, mpz_class)
 
-  //! Direct initialization from a C string and rounding mode.
-  Checked_Number(const char* y, Rounding_Dir dir);
+template <typename To_Policy, typename From_Policy>
+inline Result
+div_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp,
+             Rounding_Dir dir) {
+  mpz_srcptr n = x.get_mpz_t();
+  if (round_not_requested(dir)) {
+    mpz_tdiv_q_2exp(to.get_mpz_t(), x.get_mpz_t(), exp);
+    return V_LGE;
+  }
+  if (round_down(dir)) {
+    mpz_fdiv_q_2exp(to.get_mpz_t(), n, exp);
+    if (round_strict_relation(dir))
+      return mpz_divisible_2exp_p(n, exp) ? V_EQ : V_GT;
+    return V_GE;
+  }
+  else {
+    PPL_ASSERT(round_up(dir));
+    mpz_cdiv_q_2exp(to.get_mpz_t(), n, exp);
+    if (round_strict_relation(dir))
+      return mpz_divisible_2exp_p(n, exp) ? V_EQ : V_LT;
+    return V_LE;
+  }
+}
 
-  //! Direct initialization from special and rounding mode.
-  template <typename From>
-  Checked_Number(const From&, Rounding_Dir dir, typename Enable_If<Is_Special<From>::value, bool>::type ignored = false);
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_mpz, mpz_class, mpz_class)
 
-  //! Direct initialization from a Checked_Number, default rounding mode.
-  template <typename From, typename From_Policy>
-  explicit Checked_Number(const Checked_Number<From, From_Policy>& y);
+template <typename To_Policy, typename From_Policy>
+inline Result
+smod_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp,
+	      Rounding_Dir) {
+  if (mpz_tstbit(x.get_mpz_t(), exp - 1))
+    mpz_cdiv_r_2exp(to.get_mpz_t(), x.get_mpz_t(), exp);
+  else
+    mpz_fdiv_r_2exp(to.get_mpz_t(), x.get_mpz_t(), exp);
+  return V_EQ;
+}
 
-  //! Direct initialization from a signed char, default rounding mode.
-  Checked_Number(signed char y);
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_mpz, mpz_class, mpz_class)
 
-  //! Direct initialization from a signed short, default rounding mode.
-  Checked_Number(signed short y);
+template <typename To_Policy, typename From_Policy>
+inline Result
+umod_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp,
+	      Rounding_Dir) {
+  mpz_fdiv_r_2exp(to.get_mpz_t(), x.get_mpz_t(), exp);
+  return V_EQ;
+}
 
-  //! Direct initialization from a signed int, default rounding mode.
-  Checked_Number(signed int y);
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_mpz, mpz_class, mpz_class)
 
-  //! Direct initialization from a signed long, default rounding mode.
-  Checked_Number(signed long y);
+template <typename To_Policy, typename From_Policy>
+inline Result
+abs_mpz(mpz_class& to, const mpz_class& from, Rounding_Dir) {
+  to = abs(from);
+  return V_EQ;
+}
 
-  //! Direct initialization from a signed long long, default rounding mode.
-  Checked_Number(signed long long y);
+PPL_SPECIALIZE_ABS(abs_mpz, mpz_class, mpz_class)
 
-  //! Direct initialization from an unsigned char, default rounding mode.
-  Checked_Number(unsigned char y);
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+add_mul_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y,
+	    Rounding_Dir) {
+  mpz_addmul(to.get_mpz_t(), x.get_mpz_t(), y.get_mpz_t());
+  return V_EQ;
+}
 
-  //! Direct initialization from an unsigned short, default rounding mode.
-  Checked_Number(unsigned short y);
+PPL_SPECIALIZE_ADD_MUL(add_mul_mpz, mpz_class, mpz_class, mpz_class)
 
-  //! Direct initialization from an unsigned int, default rounding mode.
-  Checked_Number(unsigned int y);
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+sub_mul_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y,
+	    Rounding_Dir) {
+  mpz_submul(to.get_mpz_t(), x.get_mpz_t(), y.get_mpz_t());
+  return V_EQ;
+}
 
-  //! Direct initialization from an unsigned long, default rounding mode.
-  Checked_Number(unsigned long y);
+PPL_SPECIALIZE_SUB_MUL(sub_mul_mpz, mpz_class, mpz_class, mpz_class)
 
-  //! Direct initialization from an unsigned long long, default rounding mode.
-  Checked_Number(unsigned long long y);
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+gcd_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
+  mpz_gcd(to.get_mpz_t(), x.get_mpz_t(), y.get_mpz_t());
+  return V_EQ;
+}
 
-  //! Direct initialization from a float, default rounding mode.
-  Checked_Number(float y);
+PPL_SPECIALIZE_GCD(gcd_mpz, mpz_class, mpz_class, mpz_class)
 
-  //! Direct initialization from a double, default rounding mode.
-  Checked_Number(double y);
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+gcdext_mpz(mpz_class& to, mpz_class& s, mpz_class& t,
+	   const mpz_class& x, const mpz_class& y,
+	   Rounding_Dir) {
+  mpz_gcdext(to.get_mpz_t(), s.get_mpz_t(), t.get_mpz_t(),
+	     x.get_mpz_t(), y.get_mpz_t());
+  return V_EQ;
+}
 
-  //! Direct initialization from a long double, default rounding mode.
-  Checked_Number(long double y);
+PPL_SPECIALIZE_GCDEXT(gcdext_mpz, mpz_class, mpz_class, mpz_class, mpz_class, mpz_class)
 
-  //! Direct initialization from a rational, default rounding mode.
-  Checked_Number(const mpq_class& y);
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+lcm_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
+  mpz_lcm(to.get_mpz_t(), x.get_mpz_t(), y.get_mpz_t());
+  return V_EQ;
+}
 
-  //! Direct initialization from an unbounded integer, default rounding mode.
-  Checked_Number(const mpz_class& y);
+PPL_SPECIALIZE_LCM(lcm_mpz, mpz_class, mpz_class, mpz_class)
 
-  //! Direct initialization from a C string, default rounding mode.
-  Checked_Number(const char* y);
+template <typename To_Policy, typename From_Policy>
+inline Result
+sqrt_mpz(mpz_class& to, const mpz_class& from, Rounding_Dir dir) {
+  if (CHECK_P(To_Policy::check_sqrt_neg, from < 0)) {
+    return assign_nan<To_Policy>(to, V_SQRT_NEG);
+  }
+  if (round_not_requested(dir)) {
+    to = sqrt(from);
+    return V_GE;
+  }
+  PPL_DIRTY_TEMP0(mpz_class, r);
+  mpz_sqrtrem(to.get_mpz_t(), r.get_mpz_t(), from.get_mpz_t());
+  if (r == 0)
+    return V_EQ;
+  return round_gt_mpz<To_Policy>(to, dir);
+}
 
-  //! Direct initialization from special, default rounding mode
-  template <typename From>
-  Checked_Number(const From&, typename Enable_If<Is_Special<From>::value, bool>::type ignored = false);
+PPL_SPECIALIZE_SQRT(sqrt_mpz, mpz_class, mpz_class)
 
+template <typename Policy, typename Type>
+inline Result_Relation
+sgn_mp(const Type& x) {
+  int i = ::sgn(x);
+  return i > 0 ? VR_GT : i < 0 ? VR_LT : VR_EQ;
+}
 
-  //@} // Constructors
+PPL_SPECIALIZE_SGN(sgn_mp, mpz_class)
+PPL_SPECIALIZE_SGN(sgn_mp, mpq_class)
 
-  //! \name Accessors and Conversions
-  //@{
+template <typename Policy1, typename Policy2, typename Type>
+inline Result_Relation
+cmp_mp(const Type& x, const Type& y) {
+  int i = ::cmp(x, y);
+  return i > 0 ? VR_GT : i < 0 ? VR_LT : VR_EQ;
+}
 
-  //! Conversion operator: returns a copy of the underlying numeric value.
-  operator T() const;
+PPL_SPECIALIZE_CMP(cmp_mp, mpz_class, mpz_class)
+PPL_SPECIALIZE_CMP(cmp_mp, mpq_class, mpq_class)
 
-  //! Returns a reference to the underlying numeric value.
-  T& raw_value();
+template <typename Policy>
+inline Result
+output_mpz(std::ostream& os, const mpz_class& from, const Numeric_Format&,
+	   Rounding_Dir) {
+  os << from;
+  return V_EQ;
+}
 
-  //! Returns a const reference to the underlying numeric value.
-  const T& raw_value() const;
+PPL_SPECIALIZE_INPUT(input_generic, mpz_class)
+PPL_SPECIALIZE_OUTPUT(output_mpz, mpz_class)
 
-  //@} // Accessors and Conversions
+} // namespace Checked
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+} // namespace Parma_Polyhedra_Library
 
-  //! Classifies *this.
-  /*!
-    Returns the appropriate Result characterizing:
-    - whether \p *this is NaN,
-      if \p nan is <CODE>true</CODE>;
-    - whether \p *this is a (positive or negative) infinity,
-      if \p inf is <CODE>true</CODE>;
-    - the sign of \p *this,
-      if \p sign is <CODE>true</CODE>.
-  */
-  Result classify(bool nan = true, bool inf = true, bool sign = true) const;
+/* Automatically generated from PPL source file ../src/checked_mpq.inlines.hh line 1. */
+/* Specialized "checked" functions for GMP's mpq_class numbers.
+*/
 
-  //! \name Assignment Operators
-  //@{
 
-  //! Assignment operator.
-  Checked_Number& operator=(const Checked_Number& y);
+#include <sstream>
+#include <climits>
+#include <stdexcept>
 
-  //! Assignment operator.
-  template <typename From>
-  Checked_Number& operator=(const From& y);
+namespace Parma_Polyhedra_Library {
 
-  //! Add and assign operator.
-  template <typename From_Policy>
-  Checked_Number& operator+=(const Checked_Number<T, From_Policy>& y);
+namespace Checked {
 
-  //! Add and assign operator.
-  Checked_Number& operator+=(const T& y);
+template <typename Policy>
+inline Result
+classify_mpq(const mpq_class& v, bool nan, bool inf, bool sign) {
+  if ((Policy::has_nan || Policy::has_infinity)
+      && ::sgn(v.get_den()) == 0) {
+    int s = ::sgn(v.get_num());
+    if (Policy::has_nan && (nan || sign) && s == 0)
+      return V_NAN;
+    if (!inf && !sign)
+      return V_LGE;
+    if (Policy::has_infinity) {
+      if (s < 0)
+	return inf ? V_EQ_MINUS_INFINITY : V_LT;
+      if (s > 0)
+	return inf ? V_EQ_PLUS_INFINITY : V_GT;
+    }
+  }
+  if (sign)
+    return (Result) sgn<Policy>(v);
+  return V_LGE;
+}
 
-  //! Add and assign operator.
-  template <typename From>
-  typename Enable_If<Is_Native_Or_Checked<From>::value,
-		     Checked_Number<T, Policy>&>::type
-  operator+=(const From& y);
+PPL_SPECIALIZE_CLASSIFY(classify_mpq, mpq_class)
 
-  //! Subtract and assign operator.
-  template <typename From_Policy>
-  Checked_Number& operator-=(const Checked_Number<T, From_Policy>& y);
+template <typename Policy>
+inline bool
+is_nan_mpq(const mpq_class& v) {
+  return Policy::has_nan
+    && ::sgn(v.get_den()) == 0
+    && ::sgn(v.get_num()) == 0;
+}
 
-  //! Subtract and assign operator.
-  Checked_Number& operator-=(const T& y);
+PPL_SPECIALIZE_IS_NAN(is_nan_mpq, mpq_class)
 
-  //! Subtract and assign operator.
-  template <typename From>
-  typename Enable_If<Is_Native_Or_Checked<From>::value,
-		     Checked_Number<T, Policy>&>::type
-  operator-=(const From& y);
+template <typename Policy>
+inline bool
+is_minf_mpq(const mpq_class& v) {
+  return Policy::has_infinity
+    && ::sgn(v.get_den()) == 0
+    && ::sgn(v.get_num()) < 0;
+}
 
-  //! Multiply and assign operator.
-  template <typename From_Policy>
-  Checked_Number& operator*=(const Checked_Number<T, From_Policy>& y);
+PPL_SPECIALIZE_IS_MINF(is_minf_mpq, mpq_class)
 
-  //! Multiply and assign operator.
-  Checked_Number& operator*=(const T& y);
+template <typename Policy>
+inline bool
+is_pinf_mpq(const mpq_class& v) {
+  return Policy::has_infinity
+    && ::sgn(v.get_den()) == 0
+    && ::sgn(v.get_num()) > 0;
+}
 
-  //! Multiply and assign operator.
-  template <typename From>
-  typename Enable_If<Is_Native_Or_Checked<From>::value,
-		     Checked_Number<T, Policy>&>::type
-  operator*=(const From& y);
+PPL_SPECIALIZE_IS_PINF(is_pinf_mpq, mpq_class)
 
-  //! Divide and assign operator.
-  template <typename From_Policy>
-  Checked_Number& operator/=(const Checked_Number<T, From_Policy>& y);
+template <typename Policy>
+inline bool
+is_int_mpq(const mpq_class& v) {
+  if ((Policy::has_infinity || Policy::has_nan)
+      && ::sgn(v.get_den()) == 0)
+    return !(Policy::has_nan && ::sgn(v.get_num()) == 0);
+  else
+    return v.get_den() == 1;
+}
 
-  //! Divide and assign operator.
-  Checked_Number& operator/=(const T& y);
+PPL_SPECIALIZE_IS_INT(is_int_mpq, mpq_class)
 
-  //! Divide and assign operator.
-  template <typename From>
-  typename Enable_If<Is_Native_Or_Checked<From>::value,
-		     Checked_Number<T, Policy>&>::type
-  operator/=(const From& y);
+template <typename Policy>
+inline Result
+assign_special_mpq(mpq_class& v, Result_Class c, Rounding_Dir) {
+  switch (c) {
+  case VC_NAN:
+    if (Policy::has_nan) {
+      v.get_num() = 0;
+      v.get_den() = 0;
+      return V_NAN | V_UNREPRESENTABLE;
+    }
+    return V_NAN;
+  case VC_MINUS_INFINITY:
+    if (Policy::has_infinity) {
+      v.get_num() = -1;
+      v.get_den() = 0;
+      return V_EQ_MINUS_INFINITY;
+    }
+    return V_EQ_MINUS_INFINITY | V_UNREPRESENTABLE;
+  case VC_PLUS_INFINITY:
+    if (Policy::has_infinity) {
+      v.get_num() = 1;
+      v.get_den() = 0;
+      return V_EQ_PLUS_INFINITY;
+    }
+    return V_EQ_PLUS_INFINITY | V_UNREPRESENTABLE;
+  default:
+    PPL_ASSERT(false);
+    return V_NAN | V_UNREPRESENTABLE;
+  }
+}
 
-  //! Compute remainder and assign operator.
-  template <typename From_Policy>
-  Checked_Number& operator%=(const Checked_Number<T, From_Policy>& y);
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_mpq, mpq_class)
 
-  //! Compute remainder and assign operator.
-  Checked_Number& operator%=(const T& y);
+PPL_SPECIALIZE_COPY(copy_generic, mpq_class)
 
-  //! Compute remainder and assign operator.
-  template <typename From>
-  typename Enable_If<Is_Native_Or_Checked<From>::value,
-		     Checked_Number<T, Policy>& >::type
-  operator%=(const From& y);
+template <typename To_Policy, typename From_Policy, typename From>
+inline Result
+construct_mpq_base(mpq_class& to, const From& from, Rounding_Dir) {
+  new (&to) mpq_class(from);
+  return V_EQ;
+}
 
-  //@} // Assignment Operators
+PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, mpz_class)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, signed char)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, signed short)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, signed int)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, signed long)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, unsigned char)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, unsigned short)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, unsigned int)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, unsigned long)
 
+template <typename To_Policy, typename From_Policy, typename From>
+inline Result
+construct_mpq_float(mpq_class& to, const From& from, Rounding_Dir dir) {
+  if (is_nan<From_Policy>(from))
+    return construct_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(from))
+    return construct_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(from))
+    return construct_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  new (&to) mpq_class(from);
+  return V_EQ;
+}
 
-  //! \name Increment and Decrement Operators
-  //@{
+PPL_SPECIALIZE_CONSTRUCT(construct_mpq_float, mpq_class, float)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpq_float, mpq_class, double)
 
-  //! Pre-increment operator.
-  Checked_Number& operator++();
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, mpq_class)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, mpz_class)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, signed char)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, signed short)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, signed int)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, signed long)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, unsigned char)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, unsigned short)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, unsigned int)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, unsigned long)
 
-  //! Post-increment operator.
-  Checked_Number  operator++(int);
+template <typename To_Policy, typename From_Policy, typename From>
+inline Result
+assign_mpq_float(mpq_class& to, const From& from, Rounding_Dir dir) {
+  if (is_nan<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  to = from;
+  return V_EQ;
+}
 
-  //! Pre-decrement operator.
-  Checked_Number& operator--();
+PPL_SPECIALIZE_ASSIGN(assign_mpq_float, mpq_class, float)
+PPL_SPECIALIZE_ASSIGN(assign_mpq_float, mpq_class, double)
 
-  //! Post-decrement operator.
-  Checked_Number  operator--(int);
+template <typename To_Policy, typename From_Policy, typename From>
+inline Result
+assign_mpq_signed_int(mpq_class& to, const From from, Rounding_Dir) {
+  if (sizeof(From) <= sizeof(signed long))
+    to = static_cast<signed long>(from);
+  else {
+    mpz_ptr m = to.get_num().get_mpz_t();
+    if (from >= 0)
+      mpz_import(m, 1, 1, sizeof(From), 0, 0, &from);
+    else {
+      From n = -from;
+      mpz_import(m, 1, 1, sizeof(From), 0, 0, &n);
+      mpz_neg(m, m);
+    }
+    to.get_den() = 1;
+  }
+  return V_EQ;
+}
 
-  //@} // Increment and Decrement Operators
+PPL_SPECIALIZE_ASSIGN(assign_mpq_signed_int, mpq_class, signed long long)
 
-private:
-  //! The underlying numeric value.
-  T v;
-};
+template <typename To_Policy, typename From_Policy, typename From>
+inline Result
+assign_mpq_unsigned_int(mpq_class& to, const From from, Rounding_Dir) {
+  if (sizeof(From) <= sizeof(unsigned long))
+    to = static_cast<unsigned long>(from);
+  else {
+    mpz_import(to.get_num().get_mpz_t(), 1, 1, sizeof(From), 0, 0, &from);
+    to.get_den() = 1;
+  }
+  return V_EQ;
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T, typename P>
-struct Slow_Copy<Checked_Number<T, P> > : public Bool<Slow_Copy<T>::value> {};
+PPL_SPECIALIZE_ASSIGN(assign_mpq_unsigned_int, mpq_class, unsigned long long)
 
-/*! \relates Checked_Number */
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
-is_not_a_number(const T& x);
+template <typename To_Policy, typename From_Policy>
+inline Result
+floor_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) {
+  mpz_fdiv_q(to.get_num().get_mpz_t(),
+	     from.get_num().get_mpz_t(), from.get_den().get_mpz_t());
+  to.get_den() = 1;
+  return V_EQ;
+}
 
-/*! \relates Checked_Number */
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
-is_minus_infinity(const T& x);
+PPL_SPECIALIZE_FLOOR(floor_mpq, mpq_class, mpq_class)
 
-/*! \relates Checked_Number */
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
-is_plus_infinity(const T& x);
+template <typename To_Policy, typename From_Policy>
+inline Result
+ceil_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) {
+  mpz_cdiv_q(to.get_num().get_mpz_t(),
+	     from.get_num().get_mpz_t(), from.get_den().get_mpz_t());
+  to.get_den() = 1;
+  return V_EQ;
+}
 
-/*! \relates Checked_Number */
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, int>::type
-is_infinity(const T& x);
+PPL_SPECIALIZE_CEIL(ceil_mpq, mpq_class, mpq_class)
 
-/*! \relates Checked_Number */
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
-is_integer(const T& x);
+template <typename To_Policy, typename From_Policy>
+inline Result
+trunc_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) {
+  mpz_tdiv_q(to.get_num().get_mpz_t(),
+	     from.get_num().get_mpz_t(), from.get_den().get_mpz_t());
+  to.get_den() = 1;
+  return V_EQ;
+}
 
-/*! \relates Checked_Number */
-template <typename To, typename From>
-typename Enable_If<Is_Native_Or_Checked<To>::value && Is_Special<From>::value, Result>::type
-construct(To& to, const From& x, Rounding_Dir dir);
+PPL_SPECIALIZE_TRUNC(trunc_mpq, mpq_class, mpq_class)
 
-/*! \relates Checked_Number */
-template <typename To, typename From>
-typename Enable_If<Is_Native_Or_Checked<To>::value && Is_Special<From>::value, Result>::type
-assign_r(To& to, const From& x, Rounding_Dir dir);
+template <typename To_Policy, typename From_Policy>
+inline Result
+neg_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) {
+  mpq_neg(to.get_mpq_t(), from.get_mpq_t());
+  return V_EQ;
+}
 
-/*! \relates Checked_Number */
-template <typename To>
-typename Enable_If<Is_Native_Or_Checked<To>::value, Result>::type
-assign_r(To& to, const char* x, Rounding_Dir dir);
+PPL_SPECIALIZE_NEG(neg_mpq, mpq_class, mpq_class)
 
-/*! \relates Checked_Number */
-template <typename To, typename To_Policy>
-typename Enable_If<Is_Native_Or_Checked<To>::value, Result>::type
-assign_r(To& to, char* x, Rounding_Dir dir);
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+add_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) {
+  to = x + y;
+  return V_EQ;
+}
 
-#define FUNC1(name) \
-template <typename To, typename From> \
-typename Enable_If<Is_Native_Or_Checked<To>::value \
-                   && Is_Native_Or_Checked<From>::value, \
-                   Result>::type \
-name(To& to, const From& x, Rounding_Dir dir);
+PPL_SPECIALIZE_ADD(add_mpq, mpq_class, mpq_class, mpq_class)
 
-FUNC1(assign_r)
-FUNC1(floor_assign_r)
-FUNC1(ceil_assign_r)
-FUNC1(trunc_assign_r)
-FUNC1(neg_assign_r)
-FUNC1(abs_assign_r)
-FUNC1(sqrt_assign_r)
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+sub_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) {
+  to = x - y;
+  return V_EQ;
+}
 
-#undef FUNC1
+PPL_SPECIALIZE_SUB(sub_mpq, mpq_class, mpq_class, mpq_class)
 
-#define FUNC1(name) \
-template <typename To, typename From> \
-typename Enable_If<Is_Native_Or_Checked<To>::value \
-                   && Is_Native_Or_Checked<From>::value, \
-                   Result>::type \
-name(To& to, const From& x, int exp, Rounding_Dir dir);
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+mul_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) {
+  to = x * y;
+  return V_EQ;
+}
 
-FUNC1(mul2exp_assign_r)
-FUNC1(div2exp_assign_r)
+PPL_SPECIALIZE_MUL(mul_mpq, mpq_class, mpq_class, mpq_class)
 
-#undef FUNC1
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+div_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) {
+  if (CHECK_P(To_Policy::check_div_zero, sgn(y) == 0)) {
+    return assign_nan<To_Policy>(to, V_DIV_ZERO);
+  }
+  to = x / y;
+  return V_EQ;
+}
 
-#define FUNC2(name) \
-template <typename To, typename From1, typename From2> \
-typename Enable_If<Is_Native_Or_Checked<To>::value \
-                   && Is_Native_Or_Checked<From1>::value \
-                   && Is_Native_Or_Checked<From2>::value, \
-                   Result>::type \
-name(To& to, const From1& x, const From2& y, Rounding_Dir dir);
+PPL_SPECIALIZE_DIV(div_mpq, mpq_class, mpq_class, mpq_class)
 
-FUNC2(add_assign_r)
-FUNC2(sub_assign_r)
-FUNC2(mul_assign_r)
-FUNC2(div_assign_r)
-FUNC2(idiv_assign_r)
-FUNC2(rem_assign_r)
-FUNC2(gcd_assign_r)
-FUNC2(lcm_assign_r)
-FUNC2(add_mul_assign_r)
-FUNC2(sub_mul_assign_r)
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+idiv_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir dir) {
+  if (CHECK_P(To_Policy::check_div_zero, sgn(y) == 0)) {
+    return assign_nan<To_Policy>(to, V_DIV_ZERO);
+  }
+  to = x / y;
+  return trunc<To_Policy, To_Policy>(to, to, dir);
+}
 
-#undef FUNC2
+PPL_SPECIALIZE_IDIV(idiv_mpq, mpq_class, mpq_class, mpq_class)
 
-#define FUNC4(name) \
-template <typename To1, typename To2, typename To3, \
-	  typename From1, typename From2> \
-typename Enable_If<Is_Native_Or_Checked<To1>::value \
-                   && Is_Native_Or_Checked<To2>::value \
-                   && Is_Native_Or_Checked<To3>::value \
-                   && Is_Native_Or_Checked<From1>::value \
-		   && Is_Native_Or_Checked<From2>::value, \
-                   Result>::type \
-name(To1& to, To2& s, To3& t, \
-     const From1& x, const From2& y, \
-     Rounding_Dir dir);
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+rem_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) {
+  if (CHECK_P(To_Policy::check_div_zero, sgn(y) == 0)) {
+    return assign_nan<To_Policy>(to, V_MOD_ZERO);
+  }
+  PPL_DIRTY_TEMP(mpq_class, tmp);
+  tmp = x / y;
+  tmp.get_num() %= tmp.get_den();
+  to = tmp * y;
+  return V_EQ;
+}
 
-FUNC4(gcdext_assign_r)
+PPL_SPECIALIZE_REM(rem_mpq, mpq_class, mpq_class, mpq_class)
 
-#undef FUNC4
+template <typename To_Policy, typename From_Policy>
+inline Result
+add_2exp_mpq(mpq_class& to, const mpq_class& x, unsigned int exp,
+             Rounding_Dir) {
+  PPL_DIRTY_TEMP(mpz_class, v);
+  v = 1;
+  mpz_mul_2exp(v.get_mpz_t(), v.get_mpz_t(), exp);
+  to = x + v;
+  return V_EQ;
+}
 
-//! \name Accessor Functions
-//@{
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_mpq, mpq_class, mpq_class)
 
-//@} // Accessor Functions
+template <typename To_Policy, typename From_Policy>
+inline Result
+sub_2exp_mpq(mpq_class& to, const mpq_class& x, unsigned int exp,
+             Rounding_Dir) {
+  PPL_DIRTY_TEMP(mpz_class, v);
+  v = 1;
+  mpz_mul_2exp(v.get_mpz_t(), v.get_mpz_t(), exp);
+  to = x - v;
+  return V_EQ;
+}
 
-//! \name Memory Size Inspection Functions
-//@{
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_mpq, mpq_class, mpq_class)
 
-//! Returns the total size in bytes of the memory occupied by \p x.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-size_t
-total_memory_in_bytes(const Checked_Number<T, Policy>& x);
+template <typename To_Policy, typename From_Policy>
+inline Result
+mul_2exp_mpq(mpq_class& to, const mpq_class& x, unsigned int exp,
+             Rounding_Dir) {
+  mpz_mul_2exp(to.get_num().get_mpz_t(), x.get_num().get_mpz_t(), exp);
+  to.get_den() = x.get_den();
+  to.canonicalize();
+  return V_EQ;
+}
 
-//! Returns the size in bytes of the memory managed by \p x.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-memory_size_type
-external_memory_in_bytes(const Checked_Number<T, Policy>& x);
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_mpq, mpq_class, mpq_class)
 
-//@} // Memory Size Inspection Functions
+template <typename To_Policy, typename From_Policy>
+inline Result
+div_2exp_mpq(mpq_class& to, const mpq_class& x, unsigned int exp,
+             Rounding_Dir) {
+  to.get_num() = x.get_num();
+  mpz_mul_2exp(to.get_den().get_mpz_t(), x.get_den().get_mpz_t(), exp);
+  to.canonicalize();
+  return V_EQ;
+}
 
-//! \name Arithmetic Operators
-//@{
-
-//! Unary plus operator.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-Checked_Number<T, Policy>
-operator+(const Checked_Number<T, Policy>& x);
-
-//! Unary minus operator.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-Checked_Number<T, Policy>
-operator-(const Checked_Number<T, Policy>& x);
-
-//! Assigns to \p x largest integral value not greater than \p x.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-floor_assign(Checked_Number<T, Policy>& x);
-
-//! Assigns to \p x largest integral value not greater than \p y.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-floor_assign(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y);
-
-//! Assigns to \p x smallest integral value not less than \p x.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-ceil_assign(Checked_Number<T, Policy>& x);
-
-//! Assigns to \p x smallest integral value not less than \p y.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-ceil_assign(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y);
-
-//! Round \p x to the nearest integer not larger in absolute value.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-trunc_assign(Checked_Number<T, Policy>& x);
-
-//! Assigns to \p x the value of \p y rounded to the nearest integer not larger in absolute value.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-trunc_assign(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y);
-
-//! Assigns to \p x its negation.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-neg_assign(Checked_Number<T, Policy>& x);
-
-//! Assigns to \p x the negation of \p y.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-neg_assign(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y);
-
-//! Assigns to \p x its absolute value.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-abs_assign(Checked_Number<T, Policy>& x);
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_mpq, mpq_class, mpq_class)
 
-//! Assigns to \p x the absolute value of \p y.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-abs_assign(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y);
+template <typename To_Policy, typename From_Policy>
+inline Result
+smod_2exp_mpq(mpq_class& to, const mpq_class& x, unsigned int exp,
+	      Rounding_Dir) {
+  mpz_mul_2exp(to.get_den().get_mpz_t(), x.get_den().get_mpz_t(), exp);
+  mpz_fdiv_r(to.get_num().get_mpz_t(), x.get_num().get_mpz_t(), to.get_den().get_mpz_t());
+  mpz_fdiv_q_2exp(to.get_den().get_mpz_t(), to.get_den().get_mpz_t(), 1);
+  bool neg = to.get_num() >= to.get_den();
+  mpz_mul_2exp(to.get_den().get_mpz_t(), to.get_den().get_mpz_t(), 1);
+  if (neg)
+    to.get_num() -= to.get_den();
+  mpz_mul_2exp(to.get_num().get_mpz_t(), to.get_num().get_mpz_t(), exp);
+  to.canonicalize();
+  return V_EQ;
+}
 
-//! Assigns to \p x the value <CODE>x + y * z</CODE>.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-add_mul_assign(Checked_Number<T, Policy>& x,
-	       const Checked_Number<T, Policy>& y,
-	       const Checked_Number<T, Policy>& z);
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_mpq, mpq_class, mpq_class)
 
-//! Assigns to \p x the value <CODE>x - y * z</CODE>.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-sub_mul_assign(Checked_Number<T, Policy>& x,
-	       const Checked_Number<T, Policy>& y,
-	       const Checked_Number<T, Policy>& z);
+template <typename To_Policy, typename From_Policy>
+inline Result
+umod_2exp_mpq(mpq_class& to, const mpq_class& x, unsigned int exp,
+	      Rounding_Dir) {
+  mpz_mul_2exp(to.get_den().get_mpz_t(), x.get_den().get_mpz_t(), exp);
+  mpz_fdiv_r(to.get_num().get_mpz_t(), x.get_num().get_mpz_t(), to.get_den().get_mpz_t());
+  mpz_mul_2exp(to.get_num().get_mpz_t(), to.get_num().get_mpz_t(), exp);
+  to.canonicalize();
+  return V_EQ;
+}
 
-//! Assigns to \p x the greatest common divisor of \p y and \p z.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-gcd_assign(Checked_Number<T, Policy>& x,
-	   const Checked_Number<T, Policy>& y,
-	   const Checked_Number<T, Policy>& z);
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_mpq, mpq_class, mpq_class)
 
-/*! \brief
-  Assigns to \p x the greatest common divisor of \p y and \p z,
-  setting \p s and \p t such that s*y + t*z = x = gcd(y, z).
-*/
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-gcdext_assign(Checked_Number<T, Policy>& x,
-	      Checked_Number<T, Policy>& s,
-	      Checked_Number<T, Policy>& t,
-	      const Checked_Number<T, Policy>& y,
-	      const Checked_Number<T, Policy>& z);
+template <typename To_Policy, typename From_Policy>
+inline Result
+abs_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) {
+  to = abs(from);
+  return V_EQ;
+}
 
-//! Assigns to \p x the least common multiple of \p y and \p z.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-lcm_assign(Checked_Number<T, Policy>& x,
-	   const Checked_Number<T, Policy>& y,
-	   const Checked_Number<T, Policy>& z);
+PPL_SPECIALIZE_ABS(abs_mpq, mpq_class, mpq_class)
 
-/*! \brief
-  If \p z divides \p y, assigns to \p x the quotient of the integer
-  division of \p y and \p z.
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+add_mul_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y,
+	    Rounding_Dir) {
+  to += x * y;
+  return V_EQ;
+}
 
-  \relates Checked_Number
-  The behavior is undefined if \p z does not divide \p y.
-*/
-template <typename T, typename Policy>
-void
-exact_div_assign(Checked_Number<T, Policy>& x,
-		 const Checked_Number<T, Policy>& y,
-		 const Checked_Number<T, Policy>& z);
+PPL_SPECIALIZE_ADD_MUL(add_mul_mpq, mpq_class, mpq_class, mpq_class)
 
-//! Assigns to \p x the integer square root of \p y.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void sqrt_assign(Checked_Number<T, Policy>& x,
-		 const Checked_Number<T, Policy>& y);
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+sub_mul_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y,
+	    Rounding_Dir) {
+  to -= x * y;
+  return V_EQ;
+}
 
-//@} // Arithmetic Operators
+PPL_SPECIALIZE_SUB_MUL(sub_mul_mpq, mpq_class, mpq_class, mpq_class)
 
+extern unsigned irrational_precision;
 
-//! \name Relational Operators and Comparison Functions
-//@{
+template <typename To_Policy, typename From_Policy>
+inline Result
+sqrt_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir dir) {
+  if (CHECK_P(To_Policy::check_sqrt_neg, from < 0)) {
+    return assign_nan<To_Policy>(to, V_SQRT_NEG);
+  }
+  if (from == 0) {
+    to = 0;
+    return V_EQ;
+  }
+  bool gt1 = from.get_num() > from.get_den();
+  const mpz_class& from_a = gt1 ? from.get_num() : from.get_den();
+  const mpz_class& from_b = gt1 ? from.get_den() : from.get_num();
+  mpz_class& to_a = gt1 ? to.get_num() : to.get_den();
+  mpz_class& to_b = gt1 ? to.get_den() : to.get_num();
+  Rounding_Dir rdir = gt1 ? dir : inverse(dir);
+  mul_2exp<To_Policy, From_Policy>(to_a, from_a,
+                                   2*irrational_precision, ROUND_IGNORE);
+  Result rdiv
+    = div<To_Policy, To_Policy, To_Policy>(to_a, to_a, from_b, rdir);
+  Result rsqrt = sqrt<To_Policy, To_Policy>(to_a, to_a, rdir);
+  to_b = 1;
+  mul_2exp<To_Policy, To_Policy>(to_b, to_b,
+                                 irrational_precision, ROUND_IGNORE);
+  to.canonicalize();
+  return rdiv != V_EQ ? rdiv : rsqrt;
+}
 
-//! Equality operator.
-/*! \relates Checked_Number */
-template <typename T1, typename T2>
-inline
-typename Enable_If<Is_Native_Or_Checked<T1>::value
-                   && Is_Native_Or_Checked<T2>::value
-                   && (Is_Checked<T1>::value || Is_Checked<T2>::value),
-		   bool>::type
-operator==(const T1& x, const T2& y);
+PPL_SPECIALIZE_SQRT(sqrt_mpq, mpq_class, mpq_class)
 
-template <typename T1, typename T2>
-inline typename Enable_If<Is_Native_Or_Checked<T1>::value
-			  && Is_Native_Or_Checked<T2>::value,
-			  bool>::type
-equal(const T1& x, const T2& y);
+template <typename Policy>
+inline Result
+input_mpq(mpq_class& to, std::istream& is, Rounding_Dir dir) {
+  Result r = input_mpq(to, is);
+  Result_Class c = result_class(r);
+  switch (c) {
+  case VC_MINUS_INFINITY:
+  case VC_PLUS_INFINITY:
+    return assign_special<Policy>(to, c, dir);
+  case VC_NAN:
+    return assign_nan<Policy>(to, r);
+  default:
+    return r;
+  }
+}
 
-//! Disequality operator.
-/*! \relates Checked_Number */
-template <typename T1, typename T2>
-inline
-typename Enable_If<Is_Native_Or_Checked<T1>::value
-                   && Is_Native_Or_Checked<T2>::value
-                   && (Is_Checked<T1>::value || Is_Checked<T2>::value),
-		   bool>::type
-operator!=(const T1& x, const T2& y);
+PPL_SPECIALIZE_INPUT(input_mpq, mpq_class)
 
-template <typename T1, typename T2>
-inline typename Enable_If<Is_Native_Or_Checked<T1>::value
-			  && Is_Native_Or_Checked<T2>::value,
-			  bool>::type
-not_equal(const T1& x, const T2& y);
+template <typename Policy>
+inline Result
+output_mpq(std::ostream& os,
+	   const mpq_class& from,
+	   const Numeric_Format&,
+	   Rounding_Dir) {
+  os << from;
+  return V_EQ;
+}
 
-//! Greater than or equal to operator.
-/*! \relates Checked_Number */
-template <typename T1, typename T2>
-inline
-typename Enable_If<Is_Native_Or_Checked<T1>::value
-                   && Is_Native_Or_Checked<T2>::value
-                   && (Is_Checked<T1>::value || Is_Checked<T2>::value),
-		   bool>::type
-operator>=(const T1& x, const T2& y);
+PPL_SPECIALIZE_OUTPUT(output_mpq, mpq_class)
 
-template <typename T1, typename T2>
-inline typename Enable_If<Is_Native_Or_Checked<T1>::value
-			  && Is_Native_Or_Checked<T2>::value,
-			  bool>::type
-greater_or_equal(const T1& x, const T2& y);
+template <typename To_Policy, typename From_Policy, typename From>
+inline Result
+assign_mpq_long_double(mpq_class& to, const From& from, Rounding_Dir dir) {
+  if (is_nan<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  // FIXME: this is an incredibly inefficient implementation!
+  std::stringstream ss;
+  output<From_Policy>(ss, from, Numeric_Format(), dir);
+  return input_mpq(to, ss);
+}
 
-//! Greater than operator.
-/*! \relates Checked_Number */
-template <typename T1, typename T2>
-inline
-typename Enable_If<Is_Native_Or_Checked<T1>::value
-                   && Is_Native_Or_Checked<T2>::value
-                   && (Is_Checked<T1>::value || Is_Checked<T2>::value),
-		   bool>::type
-operator>(const T1& x, const T2& y);
+PPL_SPECIALIZE_ASSIGN(assign_mpq_long_double, mpq_class, long double)
 
-template <typename T1, typename T2>
-inline typename Enable_If<Is_Native_Or_Checked<T1>::value
-			  && Is_Native_Or_Checked<T2>::value,
-			  bool>::type
-greater_than(const T1& x, const T2& y);
+} // namespace Checked
 
-//! Less than or equal to operator.
-/*! \relates Checked_Number */
-template <typename T1, typename T2>
-inline
-typename Enable_If<Is_Native_Or_Checked<T1>::value
-                   && Is_Native_Or_Checked<T2>::value
-                   && (Is_Checked<T1>::value || Is_Checked<T2>::value),
-		   bool>::type
-operator<=(const T1& x, const T2& y);
+//! Returns the precision parameter used for irrational calculations.
+inline unsigned
+irrational_precision() {
+  return Checked::irrational_precision;
+}
 
-template <typename T1, typename T2>
-inline typename Enable_If<Is_Native_Or_Checked<T1>::value
-			  && Is_Native_Or_Checked<T2>::value,
-			  bool>::type
-less_or_equal(const T1& x, const T2& y);
+//! Sets the precision parameter used for irrational calculations.
+/*! The lesser between numerator and denominator is limited to 2**\p p.
 
-//! Less than operator.
-/*! \relates Checked_Number */
-template <typename T1, typename T2>
-inline
-typename Enable_If<Is_Native_Or_Checked<T1>::value
-                   && Is_Native_Or_Checked<T2>::value
-                   && (Is_Checked<T1>::value || Is_Checked<T2>::value),
-		   bool>::type
-operator<(const T1& x, const T2& y);
+  If \p p is less than or equal to <CODE>INT_MAX</CODE>, sets the
+  precision parameter used for irrational calculations to \p p.
 
-template <typename T1, typename T2>
-inline typename Enable_If<Is_Native_Or_Checked<T1>::value
-			  && Is_Native_Or_Checked<T2>::value,
-			  bool>::type
-less_than(const T1& x, const T2& y);
+  \exception std::invalid_argument
+  Thrown if \p p is greater than <CODE>INT_MAX</CODE>.
+*/
+inline void
+set_irrational_precision(const unsigned p) {
+  if (p <= INT_MAX)
+    Checked::irrational_precision = p;
+  else
+    throw std::invalid_argument("PPL::set_irrational_precision(p)"
+				" with p > INT_MAX");
+}
 
-/*! \brief
-  Returns \f$-1\f$, \f$0\f$ or \f$1\f$ depending on whether the value
-  of \p x is negative, zero or positive, respectively.
+} // namespace Parma_Polyhedra_Library
 
-  \relates Checked_Number
+/* Automatically generated from PPL source file ../src/checked_ext.inlines.hh line 1. */
+/* Checked extended arithmetic functions.
 */
-template <typename From>
-inline typename Enable_If<Is_Native_Or_Checked<From>::value, int>::type \
-sgn(const From& x);
 
-/*! \brief
-  Returns a negative, zero or positive value depending on whether
-  \p x is lower than, equal to or greater than \p y, respectively.
 
-  \relates Checked_Number
-*/
-template <typename From1, typename From2>
-inline typename Enable_If<Is_Native_Or_Checked<From1>::value
-                          && Is_Native_Or_Checked<From2>::value,
-                          int>::type
-cmp(const From1& x, const From2& y);
+namespace Parma_Polyhedra_Library {
 
-//@} // Relational Operators and Comparison Functions
+template <typename T> struct FPU_Related : public False {};
+template <> struct FPU_Related<float> : public True {};
+template <> struct FPU_Related<double> : public True {};
+template <> struct FPU_Related<long double> : public True {};
 
-//! \name Input-Output Operators
-//@{
+namespace Checked {
 
-/*! \relates Checked_Number */
 template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, Result>::type
-output(std::ostream& os,
-       const T& x,
-       const Numeric_Format& fmt,
-       Rounding_Dir dir);
+inline bool
+handle_ext_natively(const T&) {
+  return FPU_Related<T>::value;
+}
 
-//! Output operator.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-std::ostream&
-operator<<(std::ostream& os, const Checked_Number<T, Policy>& x);
+template <typename Policy, typename Type>
+inline bool
+ext_to_handle(const Type& x) {
+  return !handle_ext_natively(x)
+    && (Policy::has_infinity || Policy::has_nan);
+}
 
-//! Ascii dump for native or checked.
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, void>::type
-ascii_dump(std::ostream& s, const T& t);
+template <typename Policy, typename Type>
+inline Result_Relation
+sgn_ext(const Type& x) {
+  if (!ext_to_handle<Policy>(x))
+    goto native;
+  if (is_nan<Policy>(x))
+    return VR_EMPTY;
+  else if (is_minf<Policy>(x))
+    return VR_LT;
+  else if (is_pinf<Policy>(x))
+    return VR_GT;
+  else {
+  native:
+    return sgn<Policy>(x);
+  }
+}
 
-//! Input function.
-/*!
-  \relates Checked_Number
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+construct_ext(To& to, const From& x, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return construct_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(x))
+    return construct_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(x))
+    return construct_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  else {
+  native:
+    return construct<To_Policy, From_Policy>(to, x, dir);
+  }
+}
 
-  \param is
-  Input stream to read from;
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+assign_ext(To& to, const From& x, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  else {
+  native:
+    return assign<To_Policy, From_Policy>(to, x, dir);
+  }
+}
 
-  \param x
-  Number (possibly extended) to assign to in case of successful reading;
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+neg_ext(To& to, const From& x, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else {
+  native:
+    return neg<To_Policy, From_Policy>(to, x, dir);
+  }
+}
 
-  \param dir
-  Rounding mode to be applied.
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+floor_ext(To& to, const From& x, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  else {
+  native:
+    return floor<To_Policy, From_Policy>(to, x, dir);
+  }
+}
 
-  \return
-  Result of the input operation.  Success, success with imprecision,
-  overflow, parsing error: all possibilities are taken into account,
-  checked for, and properly reported.
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+ceil_ext(To& to, const From& x, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  else {
+  native:
+    return ceil<To_Policy, From_Policy>(to, x, dir);
+  }
+}
 
-  This function attempts reading a (possibly extended) number from the given
-  stream \p is, possibly rounding as specified by \p dir, assigning the result
-  to \p x upon success, and returning the appropriate Result.
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+trunc_ext(To& to, const From& x, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  else {
+  native:
+    return trunc<To_Policy, From_Policy>(to, x, dir);
+  }
+}
 
-  The input syntax allows the specification of:
-  - plain base-10 integer numbers as <CODE>34976098</CODE>,
-    <CODE>-77</CODE> and <CODE>+13</CODE>;
-  - base-10 integer numbers in scientific notation as <CODE>15e2</CODE>
-    and <CODE>15*^2</CODE> (both meaning \f$15 \cdot 10^2 = 1500\f$),
-    <CODE>9200e-2</CODE> and <CODE>-18*^+11111111111111111</CODE>;
-  - base-10 rational numbers in fraction notation as
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+abs_ext(To& to, const From& x, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(x) || is_pinf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  else {
+  native:
+    return abs<To_Policy, From_Policy>(to, x, dir);
+  }
+}
+
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename To, typename From1, typename From2>
+inline Result
+add_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
+  if (!ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
+    goto native;
+  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From1_Policy>(x)) {
+    if (CHECK_P(To_Policy::check_inf_add_inf, is_pinf<From2_Policy>(y)))
+      goto inf_add_inf;
+    else
+      goto minf;
+  }
+  else if (is_pinf<From1_Policy>(x)) {
+    if (CHECK_P(To_Policy::check_inf_add_inf, is_minf<From2_Policy>(y))) {
+    inf_add_inf:
+      return assign_nan<To_Policy>(to, V_INF_ADD_INF);
+    }
+    else
+      goto pinf;
+  }
+  else {
+    if (is_minf<From2_Policy>(y)) {
+    minf:
+      return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+    }
+    else if (is_pinf<From2_Policy>(y)) {
+    pinf:
+      return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+    }
+    else {
+    native:
+      return add<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+    }
+  }
+}
+
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename To, typename From1, typename From2>
+inline Result
+sub_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
+  if (!ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
+    goto native;
+  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From1_Policy>(x)) {
+    if (CHECK_P(To_Policy::check_inf_sub_inf, is_minf<From2_Policy>(y)))
+      goto inf_sub_inf;
+    else
+      goto minf;
+  }
+  else if (is_pinf<From1_Policy>(x)) {
+    if (CHECK_P(To_Policy::check_inf_sub_inf, is_pinf<From2_Policy>(y))) {
+    inf_sub_inf:
+      return assign_nan<To_Policy>(to, V_INF_SUB_INF);
+    }
+    else
+      goto pinf;
+  }
+  else {
+    if (is_pinf<From2_Policy>(y)) {
+    minf:
+      return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+    }
+    else if (is_minf<From2_Policy>(y)) {
+    pinf:
+      return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+    }
+    else {
+    native:
+      return sub<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+    }
+  }
+}
+
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename To, typename From1, typename From2>
+inline Result
+mul_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
+  if (!ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
+    goto native;
+  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  if (is_minf<From1_Policy>(x)) {
+    switch (sgn_ext<From2_Policy>(y)) {
+    case VR_LT:
+      goto pinf;
+    case VR_GT:
+      goto minf;
+    default:
+      goto inf_mul_zero;
+    }
+  }
+  else if (is_pinf<From1_Policy>(x)) {
+    switch (sgn_ext<From2_Policy>(y)) {
+    case VR_LT:
+      goto minf;
+    case VR_GT:
+      goto pinf;
+    default:
+      goto inf_mul_zero;
+    }
+  }
+  else {
+    if (is_minf<From2_Policy>(y)) {
+      switch (sgn<From1_Policy>(x)) {
+      case VR_LT:
+	goto pinf;
+      case VR_GT:
+	goto minf;
+      default:
+	goto inf_mul_zero;
+      }
+    }
+    else if (is_pinf<From2_Policy>(y)) {
+      switch (sgn<From1_Policy>(x)) {
+      case VR_LT:
+      minf:
+	return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+      case VR_GT:
+      pinf:
+	return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+      default:
+      inf_mul_zero:
+	PPL_ASSERT(To_Policy::check_inf_mul_zero);
+	return assign_nan<To_Policy>(to, V_INF_MUL_ZERO);
+      }
+    }
+    else {
+    native:
+      return mul<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+    }
+  }
+}
+
+
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename To, typename From1, typename From2>
+inline Result
+add_mul_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
+  if (!ext_to_handle<To_Policy>(to)
+      && !ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
+    goto native;
+  if (is_nan<To_Policy>(to)
+      || is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  if (is_minf<From1_Policy>(x)) {
+    switch (sgn_ext<From2_Policy>(y)) {
+    case VR_LT:
+      goto a_pinf;
+    case VR_GT:
+      goto a_minf;
+    default:
+      goto inf_mul_zero;
+    }
+  }
+  else if (is_pinf<From1_Policy>(x)) {
+    switch (sgn_ext<From2_Policy>(y)) {
+    case VR_LT:
+      goto a_minf;
+    case VR_GT:
+      goto a_pinf;
+    default:
+      goto inf_mul_zero;
+    }
+  }
+  else {
+    if (is_minf<From2_Policy>(y)) {
+      switch (sgn<From1_Policy>(x)) {
+      case VR_LT:
+	goto a_pinf;
+      case VR_GT:
+	goto a_minf;
+      default:
+	goto inf_mul_zero;
+      }
+    }
+    else if (is_pinf<From2_Policy>(y)) {
+      switch (sgn<From1_Policy>(x)) {
+      case VR_LT:
+      a_minf:
+	if (CHECK_P(To_Policy::check_inf_add_inf, is_pinf<To_Policy>(to)))
+	  goto inf_add_inf;
+	else
+	  goto minf;
+      case VR_GT:
+      a_pinf:
+	if (CHECK_P(To_Policy::check_inf_add_inf, is_minf<To_Policy>(to))) {
+	inf_add_inf:
+	  return assign_nan<To_Policy>(to, V_INF_ADD_INF);
+	}
+	else
+	  goto pinf;
+      default:
+      inf_mul_zero:
+	PPL_ASSERT(To_Policy::check_inf_mul_zero);
+	return assign_nan<To_Policy>(to, V_INF_MUL_ZERO);
+      }
+    }
+    else {
+      if (is_minf<To_Policy>(to)) {
+      minf:
+	return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+      }
+      if (is_pinf<To_Policy>(to)) {
+      pinf:
+	return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+      }
+    native:
+      return add_mul<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+    }
+  }
+}
+
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename To, typename From1, typename From2>
+inline Result
+sub_mul_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
+  if (!ext_to_handle<To_Policy>(to)
+      && !ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
+    goto native;
+  if (is_nan<To_Policy>(to)
+      || is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  if (is_minf<From1_Policy>(x)) {
+    switch (sgn_ext<From2_Policy>(y)) {
+    case VR_LT:
+      goto a_pinf;
+    case VR_GT:
+      goto a_minf;
+    default:
+      goto inf_mul_zero;
+    }
+  }
+  else if (is_pinf<From1_Policy>(x)) {
+    switch (sgn_ext<From2_Policy>(y)) {
+    case VR_LT:
+      goto a_minf;
+    case VR_GT:
+      goto a_pinf;
+    default:
+      goto inf_mul_zero;
+    }
+  }
+  else {
+    if (is_minf<From2_Policy>(y)) {
+      switch (sgn<From1_Policy>(x)) {
+      case VR_LT:
+	goto a_pinf;
+      case VR_GT:
+	goto a_minf;
+      default:
+	goto inf_mul_zero;
+      }
+    }
+    else if (is_pinf<From2_Policy>(y)) {
+      switch (sgn<From1_Policy>(x)) {
+      case VR_LT:
+      a_minf:
+	if (CHECK_P(To_Policy::check_inf_sub_inf, is_minf<To_Policy>(to)))
+	  goto inf_sub_inf;
+	else
+	  goto pinf;
+      case VR_GT:
+      a_pinf:
+	if (CHECK_P(To_Policy::check_inf_sub_inf, is_pinf<To_Policy>(to))) {
+	inf_sub_inf:
+	  return assign_nan<To_Policy>(to, V_INF_SUB_INF);
+	}
+	else
+	  goto minf;
+      default:
+      inf_mul_zero:
+	PPL_ASSERT(To_Policy::check_inf_mul_zero);
+	return assign_nan<To_Policy>(to, V_INF_MUL_ZERO);
+      }
+    }
+    else {
+      if (is_minf<To_Policy>(to)) {
+      minf:
+	return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+      }
+      if (is_pinf<To_Policy>(to)) {
+      pinf:
+	return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+      }
+    native:
+      return sub_mul<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+    }
+  }
+}
+
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename To, typename From1, typename From2>
+inline Result
+div_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
+  if (!ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
+    goto native;
+  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  if (is_minf<From1_Policy>(x)) {
+    if (CHECK_P(To_Policy::check_inf_div_inf, is_minf<From2_Policy>(y)
+		|| is_pinf<From2_Policy>(y)))
+      goto inf_div_inf;
+    else {
+      switch (sgn<From2_Policy>(y)) {
+      case VR_LT:
+	goto pinf;
+      case VR_GT:
+	goto minf;
+      default:
+	goto div_zero;
+      }
+    }
+  }
+  else if (is_pinf<From1_Policy>(x)) {
+    if (CHECK_P(To_Policy::check_inf_div_inf, is_minf<From2_Policy>(y)
+		|| is_pinf<From2_Policy>(y))) {
+    inf_div_inf:
+      return assign_nan<To_Policy>(to, V_INF_DIV_INF);
+    }
+    else {
+      switch (sgn<From2_Policy>(y)) {
+      case VR_LT:
+      minf:
+	return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+      case VR_GT:
+      pinf:
+	return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+      default:
+      div_zero:
+	PPL_ASSERT(To_Policy::check_div_zero);
+	return assign_nan<To_Policy>(to, V_DIV_ZERO);
+      }
+    }
+  }
+  else {
+    if (is_minf<From2_Policy>(y) || is_pinf<From2_Policy>(y)) {
+      to = 0;
+      return V_EQ;
+    }
+    else {
+    native:
+      return div<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+    }
+  }
+}
+
+
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename To, typename From1, typename From2>
+inline Result
+idiv_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
+  if (!ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
+    goto native;
+  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  if (is_minf<From1_Policy>(x)) {
+    if (CHECK_P(To_Policy::check_inf_div_inf, is_minf<From2_Policy>(y)
+		|| is_pinf<From2_Policy>(y)))
+      goto inf_div_inf;
+    else {
+      switch (sgn<From2_Policy>(y)) {
+      case VR_LT:
+	goto pinf;
+      case VR_GT:
+	goto minf;
+      default:
+	goto div_zero;
+      }
+    }
+  }
+  else if (is_pinf<From1_Policy>(x)) {
+    if (CHECK_P(To_Policy::check_inf_div_inf, is_minf<From2_Policy>(y)
+		|| is_pinf<From2_Policy>(y))) {
+    inf_div_inf:
+      return assign_nan<To_Policy>(to, V_INF_DIV_INF);
+    }
+    else {
+      switch (sgn<From2_Policy>(y)) {
+      case VR_LT:
+      minf:
+	return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+      case VR_GT:
+      pinf:
+	return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+      default:
+      div_zero:
+	PPL_ASSERT(To_Policy::check_div_zero);
+	return assign_nan<To_Policy>(to, V_DIV_ZERO);
+      }
+    }
+  }
+  else {
+    if (is_minf<From2_Policy>(y) || is_pinf<From2_Policy>(y)) {
+      to = 0;
+      return V_EQ;
+    }
+    else {
+    native:
+      return idiv<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+    }
+  }
+}
+
+
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename To, typename From1, typename From2>
+inline Result
+rem_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
+  if (!ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
+    goto native;
+  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (CHECK_P(To_Policy::check_inf_mod, is_minf<From1_Policy>(x)
+		   || is_pinf<From1_Policy>(x))) {
+    return assign_nan<To_Policy>(to, V_INF_MOD);
+  }
+  else {
+    if (is_minf<From1_Policy>(y) || is_pinf<From2_Policy>(y)) {
+      to = x;
+      return V_EQ;
+    }
+    else {
+    native:
+      return rem<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+    }
+  }
+}
+
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+add_2exp_ext(To& to, const From& x, unsigned int exp, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  else {
+  native:
+    return add_2exp<To_Policy, From_Policy>(to, x, exp, dir);
+  }
+}
+
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+sub_2exp_ext(To& to, const From& x, unsigned int exp, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  else {
+  native:
+    return sub_2exp<To_Policy, From_Policy>(to, x, exp, dir);
+  }
+}
+
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+mul_2exp_ext(To& to, const From& x, unsigned int exp, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  else {
+  native:
+    return mul_2exp<To_Policy, From_Policy>(to, x, exp, dir);
+  }
+}
+
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+div_2exp_ext(To& to, const From& x, int exp, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  else {
+  native:
+    return div_2exp<To_Policy, From_Policy>(to, x, exp, dir);
+  }
+}
+
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+smod_2exp_ext(To& to, const From& x, unsigned int exp, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (CHECK_P(To_Policy::check_inf_mod, is_minf<From_Policy>(x)
+		   || is_pinf<From_Policy>(x))) {
+    return assign_nan<To_Policy>(to, V_INF_MOD);
+  }
+  else {
+  native:
+    return smod_2exp<To_Policy, From_Policy>(to, x, exp, dir);
+  }
+}
+
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+umod_2exp_ext(To& to, const From& x, unsigned int exp, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (CHECK_P(To_Policy::check_inf_mod, is_minf<From_Policy>(x)
+		   || is_pinf<From_Policy>(x))) {
+    return assign_nan<To_Policy>(to, V_INF_MOD);
+  }
+  else {
+  native:
+    return umod_2exp<To_Policy, From_Policy>(to, x, exp, dir);
+  }
+}
+
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+sqrt_ext(To& to, const From& x, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(x)) {
+    return assign_nan<To_Policy>(to, V_SQRT_NEG);
+  }
+  else if (is_pinf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  else {
+  native:
+    return sqrt<To_Policy, From_Policy>(to, x, dir);
+  }
+}
+
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename To, typename From1, typename From2>
+inline Result
+gcd_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
+  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From1_Policy>(x) || is_pinf<From1_Policy>(x))
+    return abs_ext<To_Policy, From2_Policy>(to, y, dir);
+  else if (is_minf<From2_Policy>(y) || is_pinf<From2_Policy>(y))
+    return abs_ext<To_Policy, From1_Policy>(to, x, dir);
+  else
+    return gcd<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+}
+
+template <typename To1_Policy, typename To2_Policy, typename To3_Policy,
+	  typename From1_Policy, typename From2_Policy,
+	  typename To1, typename To2, typename To3,
+	  typename From1, typename From2>
+inline Result
+gcdext_ext(To1& to, To2& s, To3& t, const From1& x, const From2& y,
+	   Rounding_Dir dir) {
+  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
+    return assign_special<To1_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From1_Policy>(x) || is_pinf<From1_Policy>(x)) {
+    s = 0;
+    t = y > 0 ? -1 : 1;
+    return abs_ext<To1_Policy, From2_Policy>(to, y, dir);
+  }
+  else if (is_minf<From2_Policy>(y) || is_pinf<From2_Policy>(y)) {
+    s = x > 0 ? -1 : 1;
+    t = 0;
+    return abs_ext<To1_Policy, From1_Policy>(to, x, dir);
+  }
+  else
+    return gcdext<To1_Policy, To2_Policy, To3_Policy, From1_Policy, From2_Policy>(to, s, t, x, y, dir);
+}
+
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename To, typename From1, typename From2>
+inline Result
+lcm_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
+  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From1_Policy>(x) || is_pinf<From1_Policy>(x)
+	   || is_minf<From2_Policy>(y) || is_pinf<From2_Policy>(y))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  else
+    return lcm<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+}
+
+template <typename Policy1, typename Policy2,
+	  typename Type1, typename Type2>
+inline Result_Relation
+cmp_ext(const Type1& x, const Type2& y) {
+  if (!ext_to_handle<Policy1>(x) && !ext_to_handle<Policy2>(y))
+    goto native;
+  if (is_nan<Policy1>(x) || is_nan<Policy2>(y))
+    return VR_EMPTY;
+  else if (is_minf<Policy1>(x))
+    return is_minf<Policy2>(y) ? VR_EQ : VR_LT;
+  else if (is_pinf<Policy1>(x))
+    return is_pinf<Policy2>(y) ? VR_EQ : VR_GT;
+  else {
+    if (is_minf<Policy2>(y))
+      return VR_GT;
+    if (is_pinf<Policy2>(y))
+      return VR_LT;
+  native:
+    return cmp<Policy1, Policy2>(x, y);
+  }
+}
+
+template <typename Policy1, typename Policy2,
+	  typename Type1, typename Type2>
+inline bool
+lt_ext(const Type1& x, const Type2& y) {
+  if (!ext_to_handle<Policy1>(x) && !ext_to_handle<Policy2>(y))
+    goto native;
+  if (is_nan<Policy1>(x) || is_nan<Policy2>(y))
+    return false;
+  if (is_pinf<Policy1>(x) || is_minf<Policy2>(y))
+    return false;
+  if (is_minf<Policy1>(x) || is_pinf<Policy2>(y))
+    return true;
+ native:
+  return lt_p<Policy1, Policy2>(x, y);
+}
+
+template <typename Policy1, typename Policy2,
+	  typename Type1, typename Type2>
+inline bool
+gt_ext(const Type1& x, const Type2& y) {
+  return lt_ext<Policy1, Policy2>(y, x);
+}
+
+template <typename Policy1, typename Policy2,
+	  typename Type1, typename Type2>
+inline bool
+le_ext(const Type1& x, const Type2& y) {
+  if (!ext_to_handle<Policy1>(x) && !ext_to_handle<Policy2>(y))
+    goto native;
+  if (is_nan<Policy1>(x) || is_nan<Policy2>(y))
+    return false;
+  if (is_minf<Policy1>(x) || is_pinf<Policy2>(y))
+    return true;
+  if (is_pinf<Policy1>(x) || is_minf<Policy2>(y))
+    return false;
+ native:
+  return le_p<Policy1, Policy2>(x, y);
+}
+
+template <typename Policy1, typename Policy2,
+	  typename Type1, typename Type2>
+inline bool
+ge_ext(const Type1& x, const Type2& y) {
+  return le_ext<Policy1, Policy2>(y, x);
+}
+
+template <typename Policy1, typename Policy2,
+	  typename Type1, typename Type2>
+inline bool
+eq_ext(const Type1& x, const Type2& y) {
+  if (!ext_to_handle<Policy1>(x) && !ext_to_handle<Policy2>(y))
+    goto native;
+  if (is_nan<Policy1>(x) || is_nan<Policy2>(y))
+    return false;
+  if (is_minf<Policy1>(x))
+    return is_minf<Policy2>(y);
+  if (is_pinf<Policy1>(x))
+    return is_pinf<Policy2>(y);
+  else if (is_minf<Policy2>(y) || is_pinf<Policy2>(y))
+    return false;
+ native:
+  return eq_p<Policy1, Policy2>(x, y);
+}
+
+template <typename Policy1, typename Policy2,
+	  typename Type1, typename Type2>
+inline bool
+ne_ext(const Type1& x, const Type2& y) {
+  return !eq_ext<Policy1, Policy2>(x, y);
+}
+
+template <typename Policy, typename Type>
+inline Result
+output_ext(std::ostream& os, const Type& x,
+	   const Numeric_Format& format, Rounding_Dir dir) {
+  if (!ext_to_handle<Policy>(x))
+    goto native;
+  if (is_nan<Policy>(x)) {
+    os << "nan";
+    return V_NAN;
+  }
+  if (is_minf<Policy>(x)) {
+    os << "-inf";
+    return V_EQ;
+  }
+  if (is_pinf<Policy>(x)) {
+    os << "+inf";
+    return V_EQ;
+  }
+ native:
+  return output<Policy>(os, x, format, dir);
+}
+
+template <typename To_Policy, typename To>
+inline Result
+input_ext(To& to, std::istream& is, Rounding_Dir dir) {
+  return input<To_Policy>(to, is, dir);
+}
+
+} // namespace Checked
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/checked.defs.hh line 659. */
+
+#undef nonconst
+#ifdef PPL_SAVED_nonconst
+#define nonconst PPL_SAVED_nonconst
+#undef PPL_SAVED_nonconst
+#endif
+
+#undef PPL_FUNCTION_CLASS
+#undef PPL_NAN
+
+/* Automatically generated from PPL source file ../src/Checked_Number.defs.hh line 30. */
+#include <iosfwd>
+
+namespace Parma_Polyhedra_Library {
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+struct Extended_Number_Policy {
+  const_bool_nodef(check_overflow, true);
+  const_bool_nodef(check_inf_add_inf, false);
+  const_bool_nodef(check_inf_sub_inf, false);
+  const_bool_nodef(check_inf_mul_zero, false);
+  const_bool_nodef(check_div_zero, false);
+  const_bool_nodef(check_inf_div_inf, false);
+  const_bool_nodef(check_inf_mod, false);
+  const_bool_nodef(check_sqrt_neg, false);
+  const_bool_nodef(has_nan, true);
+  const_bool_nodef(has_infinity, true);
+  // Do not uncomment the following.
+  // The compile time error on conversions is the expected behavior.
+  // const_bool_nodef(convertible, false);
+  const_bool_nodef(fpu_check_inexact, true);
+  const_bool_nodef(fpu_check_nan_result, true);
+  // Do not uncomment the following.
+  // The compile time error is the expected behavior.
+  // static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_UP;
+  // static const Rounding_Dir ROUND_DEFAULT_OPERATOR = ROUND_UP;
+  // static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_UP;
+  // static const Rounding_Dir ROUND_DEFAULT_INPUT = ROUND_UP;
+  // static const Rounding_Dir ROUND_DEFAULT_OUTPUT = ROUND_UP;
+  static void handle_result(Result r);
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! A policy checking for overflows.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+struct Check_Overflow_Policy {
+  const_bool_nodef(check_overflow, true);
+  const_bool_nodef(check_inf_add_inf, false);
+  const_bool_nodef(check_inf_sub_inf, false);
+  const_bool_nodef(check_inf_mul_zero, false);
+  const_bool_nodef(check_div_zero, false);
+  const_bool_nodef(check_inf_div_inf, false);
+  const_bool_nodef(check_inf_mod, false);
+  const_bool_nodef(check_sqrt_neg, false);
+  const_bool_nodef(has_nan, std::numeric_limits<T>::has_quiet_NaN);
+  const_bool_nodef(has_infinity, std::numeric_limits<T>::has_infinity);
+  const_bool_nodef(convertible, true);
+  const_bool_nodef(fpu_check_inexact, true);
+  const_bool_nodef(fpu_check_nan_result, true);
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T, typename Enable = void>
+struct Native_Checked_From_Wrapper;
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+struct Native_Checked_From_Wrapper<T, typename Enable_If<Is_Native<T>::value>::type> {
+  typedef Checked_Number_Transparent_Policy<T> Policy;
+  static const T& raw_value(const T& v) {
+    return v;
+  }
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T, typename P>
+struct Native_Checked_From_Wrapper<Checked_Number<T, P> > {
+  typedef P Policy;
+  static const T& raw_value(const Checked_Number<T, P>& v) {
+    return v.raw_value();
+  }
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T, typename Enable = void>
+struct Native_Checked_To_Wrapper;
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+struct Native_Checked_To_Wrapper<T, typename Enable_If<Is_Native<T>::value>::type> {
+  typedef Check_Overflow_Policy<T> Policy;
+  static T& raw_value(T& v) {
+    return v;
+  }
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T, typename P>
+struct Native_Checked_To_Wrapper<Checked_Number<T, P> > {
+  typedef P Policy;
+  static T& raw_value(Checked_Number<T, P>& v) {
+    return v.raw_value();
+  }
+};
+
+/*! \ingroup PPL_CXX_interface */
+template <typename T>
+struct Is_Checked : public False { };
+
+/*! \ingroup PPL_CXX_interface */
+template <typename T, typename P>
+struct Is_Checked<Checked_Number<T, P> > : public True { };
+
+/*! \ingroup PPL_CXX_interface */
+template <typename T>
+struct Is_Native_Or_Checked
+  : public Bool<Is_Native<T>::value || Is_Checked<T>::value> { };
+
+//! A wrapper for numeric types implementing a given policy.
+/*! \ingroup PPL_CXX_interface
+  The wrapper and related functions implement an interface which is common
+  to all kinds of coefficient types, therefore allowing for a uniform
+  coding style. This class also implements the policy encoded by the
+  second template parameter. The default policy is to perform the detection
+  of overflow errors.
+*/
+template <typename T, typename Policy>
+class Checked_Number {
+public:
+
+  //! \name Constructors
+  //@{
+
+  //! Default constructor.
+  Checked_Number();
+
+  //! Copy constructor.
+  Checked_Number(const Checked_Number& y);
+
+  //! Direct initialization from a Checked_Number and rounding mode.
+  template <typename From, typename From_Policy>
+  Checked_Number(const Checked_Number<From, From_Policy>& y, Rounding_Dir dir);
+
+  //! Direct initialization from a signed char and rounding mode.
+  Checked_Number(signed char y, Rounding_Dir dir);
+
+  //! Direct initialization from a signed short and rounding mode.
+  Checked_Number(signed short y, Rounding_Dir dir);
+
+  //! Direct initialization from a signed int and rounding mode.
+  Checked_Number(signed int y, Rounding_Dir dir);
+
+  //! Direct initialization from a signed long and rounding mode.
+  Checked_Number(signed long y, Rounding_Dir dir);
+
+  //! Direct initialization from a signed long long and rounding mode.
+  Checked_Number(signed long long y, Rounding_Dir dir);
+
+  //! Direct initialization from an unsigned char and rounding mode.
+  Checked_Number(unsigned char y, Rounding_Dir dir);
+
+  //! Direct initialization from an unsigned short and rounding mode.
+  Checked_Number(unsigned short y, Rounding_Dir dir);
+
+  //! Direct initialization from an unsigned int and rounding mode.
+  Checked_Number(unsigned int y, Rounding_Dir dir);
+
+  //! Direct initialization from an unsigned long and rounding mode.
+  Checked_Number(unsigned long y, Rounding_Dir dir);
+
+  //! Direct initialization from an unsigned long long and rounding mode.
+  Checked_Number(unsigned long long y, Rounding_Dir dir);
+
+#if PPL_SUPPORTED_FLOAT
+  //! Direct initialization from a float and rounding mode.
+  Checked_Number(float y, Rounding_Dir dir);
+#endif
+
+#if PPL_SUPPORTED_DOUBLE
+  //! Direct initialization from a double and rounding mode.
+  Checked_Number(double y, Rounding_Dir dir);
+#endif
+
+#if PPL_SUPPORTED_LONG_DOUBLE
+  //! Direct initialization from a long double and rounding mode.
+  Checked_Number(long double y, Rounding_Dir dir);
+#endif
+
+  //! Direct initialization from a rational and rounding mode.
+  Checked_Number(const mpq_class& y, Rounding_Dir dir);
+
+  //! Direct initialization from an unbounded integer and rounding mode.
+  Checked_Number(const mpz_class& y, Rounding_Dir dir);
+
+  //! Direct initialization from a C string and rounding mode.
+  Checked_Number(const char* y, Rounding_Dir dir);
+
+  //! Direct initialization from special and rounding mode.
+  template <typename From>
+  Checked_Number(const From&, Rounding_Dir dir, typename Enable_If<Is_Special<From>::value, bool>::type ignored = false);
+
+  //! Direct initialization from a Checked_Number, default rounding mode.
+  template <typename From, typename From_Policy>
+  explicit Checked_Number(const Checked_Number<From, From_Policy>& y);
+
+  //! Direct initialization from a signed char, default rounding mode.
+  Checked_Number(signed char y);
+
+  //! Direct initialization from a signed short, default rounding mode.
+  Checked_Number(signed short y);
+
+  //! Direct initialization from a signed int, default rounding mode.
+  Checked_Number(signed int y);
+
+  //! Direct initialization from a signed long, default rounding mode.
+  Checked_Number(signed long y);
+
+  //! Direct initialization from a signed long long, default rounding mode.
+  Checked_Number(signed long long y);
+
+  //! Direct initialization from an unsigned char, default rounding mode.
+  Checked_Number(unsigned char y);
+
+  //! Direct initialization from an unsigned short, default rounding mode.
+  Checked_Number(unsigned short y);
+
+  //! Direct initialization from an unsigned int, default rounding mode.
+  Checked_Number(unsigned int y);
+
+  //! Direct initialization from an unsigned long, default rounding mode.
+  Checked_Number(unsigned long y);
+
+  //! Direct initialization from an unsigned long long, default rounding mode.
+  Checked_Number(unsigned long long y);
+
+  //! Direct initialization from a float, default rounding mode.
+  Checked_Number(float y);
+
+  //! Direct initialization from a double, default rounding mode.
+  Checked_Number(double y);
+
+  //! Direct initialization from a long double, default rounding mode.
+  Checked_Number(long double y);
+
+  //! Direct initialization from a rational, default rounding mode.
+  Checked_Number(const mpq_class& y);
+
+  //! Direct initialization from an unbounded integer, default rounding mode.
+  Checked_Number(const mpz_class& y);
+
+  //! Direct initialization from a C string, default rounding mode.
+  Checked_Number(const char* y);
+
+  //! Direct initialization from special, default rounding mode
+  template <typename From>
+  Checked_Number(const From&, typename Enable_If<Is_Special<From>::value, bool>::type ignored = false);
+
+
+  //@} // Constructors
+
+  //! \name Accessors and Conversions
+  //@{
+
+  //! Conversion operator: returns a copy of the underlying numeric value.
+  operator T() const;
+
+  //! Returns a reference to the underlying numeric value.
+  T& raw_value();
+
+  //! Returns a const reference to the underlying numeric value.
+  const T& raw_value() const;
+
+  //@} // Accessors and Conversions
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
+  //! Classifies *this.
+  /*!
+    Returns the appropriate Result characterizing:
+    - whether \p *this is NaN,
+      if \p nan is <CODE>true</CODE>;
+    - whether \p *this is a (positive or negative) infinity,
+      if \p inf is <CODE>true</CODE>;
+    - the sign of \p *this,
+      if \p sign is <CODE>true</CODE>.
+  */
+  Result classify(bool nan = true, bool inf = true, bool sign = true) const;
+
+  //! \name Assignment Operators
+  //@{
+
+  //! Assignment operator.
+  Checked_Number& operator=(const Checked_Number& y);
+
+  //! Assignment operator.
+  template <typename From>
+  Checked_Number& operator=(const From& y);
+
+  //! Add and assign operator.
+  template <typename From_Policy>
+  Checked_Number& operator+=(const Checked_Number<T, From_Policy>& y);
+
+  //! Add and assign operator.
+  Checked_Number& operator+=(const T& y);
+
+  //! Add and assign operator.
+  template <typename From>
+  typename Enable_If<Is_Native_Or_Checked<From>::value,
+		     Checked_Number<T, Policy>&>::type
+  operator+=(const From& y);
+
+  //! Subtract and assign operator.
+  template <typename From_Policy>
+  Checked_Number& operator-=(const Checked_Number<T, From_Policy>& y);
+
+  //! Subtract and assign operator.
+  Checked_Number& operator-=(const T& y);
+
+  //! Subtract and assign operator.
+  template <typename From>
+  typename Enable_If<Is_Native_Or_Checked<From>::value,
+		     Checked_Number<T, Policy>&>::type
+  operator-=(const From& y);
+
+  //! Multiply and assign operator.
+  template <typename From_Policy>
+  Checked_Number& operator*=(const Checked_Number<T, From_Policy>& y);
+
+  //! Multiply and assign operator.
+  Checked_Number& operator*=(const T& y);
+
+  //! Multiply and assign operator.
+  template <typename From>
+  typename Enable_If<Is_Native_Or_Checked<From>::value,
+		     Checked_Number<T, Policy>&>::type
+  operator*=(const From& y);
+
+  //! Divide and assign operator.
+  template <typename From_Policy>
+  Checked_Number& operator/=(const Checked_Number<T, From_Policy>& y);
+
+  //! Divide and assign operator.
+  Checked_Number& operator/=(const T& y);
+
+  //! Divide and assign operator.
+  template <typename From>
+  typename Enable_If<Is_Native_Or_Checked<From>::value,
+		     Checked_Number<T, Policy>&>::type
+  operator/=(const From& y);
+
+  //! Compute remainder and assign operator.
+  template <typename From_Policy>
+  Checked_Number& operator%=(const Checked_Number<T, From_Policy>& y);
+
+  //! Compute remainder and assign operator.
+  Checked_Number& operator%=(const T& y);
+
+  //! Compute remainder and assign operator.
+  template <typename From>
+  typename Enable_If<Is_Native_Or_Checked<From>::value,
+		     Checked_Number<T, Policy>& >::type
+  operator%=(const From& y);
+
+  //@} // Assignment Operators
+
+
+  //! \name Increment and Decrement Operators
+  //@{
+
+  //! Pre-increment operator.
+  Checked_Number& operator++();
+
+  //! Post-increment operator.
+  Checked_Number  operator++(int);
+
+  //! Pre-decrement operator.
+  Checked_Number& operator--();
+
+  //! Post-decrement operator.
+  Checked_Number  operator--(int);
+
+  //@} // Increment and Decrement Operators
+
+private:
+  //! The underlying numeric value.
+  T v;
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T, typename P>
+struct Slow_Copy<Checked_Number<T, P> > : public Bool<Slow_Copy<T>::value> {};
+
+/*! \relates Checked_Number */
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+is_not_a_number(const T& x);
+
+/*! \relates Checked_Number */
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+is_minus_infinity(const T& x);
+
+/*! \relates Checked_Number */
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+is_plus_infinity(const T& x);
+
+/*! \relates Checked_Number */
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, int>::type
+is_infinity(const T& x);
+
+/*! \relates Checked_Number */
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+is_integer(const T& x);
+
+/*! \relates Checked_Number */
+template <typename To, typename From>
+typename Enable_If<Is_Native_Or_Checked<To>::value && Is_Special<From>::value, Result>::type
+construct(To& to, const From& x, Rounding_Dir dir);
+
+/*! \relates Checked_Number */
+template <typename To, typename From>
+typename Enable_If<Is_Native_Or_Checked<To>::value && Is_Special<From>::value, Result>::type
+assign_r(To& to, const From& x, Rounding_Dir dir);
+
+/*! \relates Checked_Number */
+template <typename To>
+typename Enable_If<Is_Native_Or_Checked<To>::value, Result>::type
+assign_r(To& to, const char* x, Rounding_Dir dir);
+
+/*! \relates Checked_Number */
+template <typename To, typename To_Policy>
+typename Enable_If<Is_Native_Or_Checked<To>::value, Result>::type
+assign_r(To& to, char* x, Rounding_Dir dir);
+
+#define FUNC1(name) \
+template <typename To, typename From> \
+typename Enable_If<Is_Native_Or_Checked<To>::value \
+                   && Is_Native_Or_Checked<From>::value, \
+                   Result>::type \
+name(To& to, const From& x, Rounding_Dir dir);
+
+FUNC1(assign_r)
+FUNC1(floor_assign_r)
+FUNC1(ceil_assign_r)
+FUNC1(trunc_assign_r)
+FUNC1(neg_assign_r)
+FUNC1(abs_assign_r)
+FUNC1(sqrt_assign_r)
+
+#undef FUNC1
+
+#define FUNC1(name) \
+template <typename To, typename From> \
+typename Enable_If<Is_Native_Or_Checked<To>::value \
+                   && Is_Native_Or_Checked<From>::value, \
+                   Result>::type \
+name(To& to, const From& x, int exp, Rounding_Dir dir);
+
+FUNC1(add_2exp_assign_r)
+FUNC1(sub_2exp_assign_r)
+FUNC1(mul_2exp_assign_r)
+FUNC1(div_2exp_assign_r)
+FUNC1(smod_2exp_assign_r)
+FUNC1(umod_2exp_assign_r)
+
+#undef FUNC1
+
+#define FUNC2(name) \
+template <typename To, typename From1, typename From2> \
+typename Enable_If<Is_Native_Or_Checked<To>::value \
+                   && Is_Native_Or_Checked<From1>::value \
+                   && Is_Native_Or_Checked<From2>::value, \
+                   Result>::type \
+name(To& to, const From1& x, const From2& y, Rounding_Dir dir);
+
+FUNC2(add_assign_r)
+FUNC2(sub_assign_r)
+FUNC2(mul_assign_r)
+FUNC2(div_assign_r)
+FUNC2(idiv_assign_r)
+FUNC2(rem_assign_r)
+FUNC2(gcd_assign_r)
+FUNC2(lcm_assign_r)
+FUNC2(add_mul_assign_r)
+FUNC2(sub_mul_assign_r)
+
+#undef FUNC2
+
+#define FUNC4(name) \
+template <typename To1, typename To2, typename To3, \
+	  typename From1, typename From2> \
+typename Enable_If<Is_Native_Or_Checked<To1>::value \
+                   && Is_Native_Or_Checked<To2>::value \
+                   && Is_Native_Or_Checked<To3>::value \
+                   && Is_Native_Or_Checked<From1>::value \
+		   && Is_Native_Or_Checked<From2>::value, \
+                   Result>::type \
+name(To1& to, To2& s, To3& t, \
+     const From1& x, const From2& y, \
+     Rounding_Dir dir);
+
+FUNC4(gcdext_assign_r)
+
+#undef FUNC4
+
+//! \name Accessor Functions
+//@{
+
+//@} // Accessor Functions
+
+//! \name Memory Size Inspection Functions
+//@{
+
+//! Returns the total size in bytes of the memory occupied by \p x.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+size_t
+total_memory_in_bytes(const Checked_Number<T, Policy>& x);
+
+//! Returns the size in bytes of the memory managed by \p x.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+memory_size_type
+external_memory_in_bytes(const Checked_Number<T, Policy>& x);
+
+//@} // Memory Size Inspection Functions
+
+//! \name Arithmetic Operators
+//@{
+
+//! Unary plus operator.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+Checked_Number<T, Policy>
+operator+(const Checked_Number<T, Policy>& x);
+
+//! Unary minus operator.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+Checked_Number<T, Policy>
+operator-(const Checked_Number<T, Policy>& x);
+
+//! Assigns to \p x largest integral value not greater than \p x.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+floor_assign(Checked_Number<T, Policy>& x);
+
+//! Assigns to \p x largest integral value not greater than \p y.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+floor_assign(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y);
+
+//! Assigns to \p x smallest integral value not less than \p x.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+ceil_assign(Checked_Number<T, Policy>& x);
+
+//! Assigns to \p x smallest integral value not less than \p y.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+ceil_assign(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y);
+
+//! Round \p x to the nearest integer not larger in absolute value.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+trunc_assign(Checked_Number<T, Policy>& x);
+
+//! Assigns to \p x the value of \p y rounded to the nearest integer not larger in absolute value.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+trunc_assign(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y);
+
+//! Assigns to \p x its negation.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+neg_assign(Checked_Number<T, Policy>& x);
+
+//! Assigns to \p x the negation of \p y.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+neg_assign(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y);
+
+//! Assigns to \p x its absolute value.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+abs_assign(Checked_Number<T, Policy>& x);
+
+//! Assigns to \p x the absolute value of \p y.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+abs_assign(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y);
+
+//! Assigns to \p x the value <CODE>x + y * z</CODE>.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+add_mul_assign(Checked_Number<T, Policy>& x,
+	       const Checked_Number<T, Policy>& y,
+	       const Checked_Number<T, Policy>& z);
+
+//! Assigns to \p x the value <CODE>x - y * z</CODE>.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+sub_mul_assign(Checked_Number<T, Policy>& x,
+	       const Checked_Number<T, Policy>& y,
+	       const Checked_Number<T, Policy>& z);
+
+//! Assigns to \p x the greatest common divisor of \p y and \p z.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+gcd_assign(Checked_Number<T, Policy>& x,
+	   const Checked_Number<T, Policy>& y,
+	   const Checked_Number<T, Policy>& z);
+
+/*! \brief
+  Assigns to \p x the greatest common divisor of \p y and \p z,
+  setting \p s and \p t such that s*y + t*z = x = gcd(y, z).
+*/
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+gcdext_assign(Checked_Number<T, Policy>& x,
+	      Checked_Number<T, Policy>& s,
+	      Checked_Number<T, Policy>& t,
+	      const Checked_Number<T, Policy>& y,
+	      const Checked_Number<T, Policy>& z);
+
+//! Assigns to \p x the least common multiple of \p y and \p z.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+lcm_assign(Checked_Number<T, Policy>& x,
+	   const Checked_Number<T, Policy>& y,
+	   const Checked_Number<T, Policy>& z);
+
+//! Assigns to \p x the value \f$ y \cdot 2^\mathtt{exp} \f$.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+mul_2exp_assign(Checked_Number<T, Policy>& x,
+                const Checked_Number<T, Policy>& y,
+                unsigned int exp);
+
+//! Assigns to \p x the value \f$ y / 2^\mathtt{exp} \f$.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+div_2exp_assign(Checked_Number<T, Policy>& x,
+	       const Checked_Number<T, Policy>& y,
+	       unsigned int exp);
+
+/*! \brief
+  If \p z divides \p y, assigns to \p x the quotient of the integer
+  division of \p y and \p z.
+
+  \relates Checked_Number
+  The behavior is undefined if \p z does not divide \p y.
+*/
+template <typename T, typename Policy>
+void
+exact_div_assign(Checked_Number<T, Policy>& x,
+		 const Checked_Number<T, Policy>& y,
+		 const Checked_Number<T, Policy>& z);
+
+//! Assigns to \p x the integer square root of \p y.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void sqrt_assign(Checked_Number<T, Policy>& x,
+		 const Checked_Number<T, Policy>& y);
+
+//@} // Arithmetic Operators
+
+
+//! \name Relational Operators and Comparison Functions
+//@{
+
+//! Equality operator.
+/*! \relates Checked_Number */
+template <typename T1, typename T2>
+inline
+typename Enable_If<Is_Native_Or_Checked<T1>::value
+                   && Is_Native_Or_Checked<T2>::value
+                   && (Is_Checked<T1>::value || Is_Checked<T2>::value),
+		   bool>::type
+operator==(const T1& x, const T2& y);
+
+template <typename T1, typename T2>
+inline typename Enable_If<Is_Native_Or_Checked<T1>::value
+			  && Is_Native_Or_Checked<T2>::value,
+			  bool>::type
+equal(const T1& x, const T2& y);
+
+//! Disequality operator.
+/*! \relates Checked_Number */
+template <typename T1, typename T2>
+inline
+typename Enable_If<Is_Native_Or_Checked<T1>::value
+                   && Is_Native_Or_Checked<T2>::value
+                   && (Is_Checked<T1>::value || Is_Checked<T2>::value),
+		   bool>::type
+operator!=(const T1& x, const T2& y);
+
+template <typename T1, typename T2>
+inline typename Enable_If<Is_Native_Or_Checked<T1>::value
+			  && Is_Native_Or_Checked<T2>::value,
+			  bool>::type
+not_equal(const T1& x, const T2& y);
+
+//! Greater than or equal to operator.
+/*! \relates Checked_Number */
+template <typename T1, typename T2>
+inline
+typename Enable_If<Is_Native_Or_Checked<T1>::value
+                   && Is_Native_Or_Checked<T2>::value
+                   && (Is_Checked<T1>::value || Is_Checked<T2>::value),
+		   bool>::type
+operator>=(const T1& x, const T2& y);
+
+template <typename T1, typename T2>
+inline typename Enable_If<Is_Native_Or_Checked<T1>::value
+			  && Is_Native_Or_Checked<T2>::value,
+			  bool>::type
+greater_or_equal(const T1& x, const T2& y);
+
+//! Greater than operator.
+/*! \relates Checked_Number */
+template <typename T1, typename T2>
+inline
+typename Enable_If<Is_Native_Or_Checked<T1>::value
+                   && Is_Native_Or_Checked<T2>::value
+                   && (Is_Checked<T1>::value || Is_Checked<T2>::value),
+		   bool>::type
+operator>(const T1& x, const T2& y);
+
+template <typename T1, typename T2>
+inline typename Enable_If<Is_Native_Or_Checked<T1>::value
+			  && Is_Native_Or_Checked<T2>::value,
+			  bool>::type
+greater_than(const T1& x, const T2& y);
+
+//! Less than or equal to operator.
+/*! \relates Checked_Number */
+template <typename T1, typename T2>
+inline
+typename Enable_If<Is_Native_Or_Checked<T1>::value
+                   && Is_Native_Or_Checked<T2>::value
+                   && (Is_Checked<T1>::value || Is_Checked<T2>::value),
+		   bool>::type
+operator<=(const T1& x, const T2& y);
+
+template <typename T1, typename T2>
+inline typename Enable_If<Is_Native_Or_Checked<T1>::value
+			  && Is_Native_Or_Checked<T2>::value,
+			  bool>::type
+less_or_equal(const T1& x, const T2& y);
+
+//! Less than operator.
+/*! \relates Checked_Number */
+template <typename T1, typename T2>
+inline
+typename Enable_If<Is_Native_Or_Checked<T1>::value
+                   && Is_Native_Or_Checked<T2>::value
+                   && (Is_Checked<T1>::value || Is_Checked<T2>::value),
+		   bool>::type
+operator<(const T1& x, const T2& y);
+
+template <typename T1, typename T2>
+inline typename Enable_If<Is_Native_Or_Checked<T1>::value
+			  && Is_Native_Or_Checked<T2>::value,
+			  bool>::type
+less_than(const T1& x, const T2& y);
+
+/*! \brief
+  Returns \f$-1\f$, \f$0\f$ or \f$1\f$ depending on whether the value
+  of \p x is negative, zero or positive, respectively.
+
+  \relates Checked_Number
+*/
+template <typename From>
+inline typename Enable_If<Is_Native_Or_Checked<From>::value, int>::type \
+sgn(const From& x);
+
+/*! \brief
+  Returns a negative, zero or positive value depending on whether
+  \p x is lower than, equal to or greater than \p y, respectively.
+
+  \relates Checked_Number
+*/
+template <typename From1, typename From2>
+inline typename Enable_If<Is_Native_Or_Checked<From1>::value
+                          && Is_Native_Or_Checked<From2>::value,
+                          int>::type
+cmp(const From1& x, const From2& y);
+
+//@} // Relational Operators and Comparison Functions
+
+//! \name Input-Output Operators
+//@{
+
+/*! \relates Checked_Number */
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, Result>::type
+output(std::ostream& os,
+       const T& x,
+       const Numeric_Format& fmt,
+       Rounding_Dir dir);
+
+//! Output operator.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+std::ostream&
+operator<<(std::ostream& os, const Checked_Number<T, Policy>& x);
+
+//! Ascii dump for native or checked.
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, void>::type
+ascii_dump(std::ostream& s, const T& t);
+
+//! Input function.
+/*!
+  \relates Checked_Number
+
+  \param is
+  Input stream to read from;
+
+  \param x
+  Number (possibly extended) to assign to in case of successful reading;
+
+  \param dir
+  Rounding mode to be applied.
+
+  \return
+  Result of the input operation.  Success, success with imprecision,
+  overflow, parsing error: all possibilities are taken into account,
+  checked for, and properly reported.
+
+  This function attempts reading a (possibly extended) number from the given
+  stream \p is, possibly rounding as specified by \p dir, assigning the result
+  to \p x upon success, and returning the appropriate Result.
+
+  The input syntax allows the specification of:
+  - plain base-10 integer numbers as <CODE>34976098</CODE>,
+    <CODE>-77</CODE> and <CODE>+13</CODE>;
+  - base-10 integer numbers in scientific notation as <CODE>15e2</CODE>
+    and <CODE>15*^2</CODE> (both meaning \f$15 \cdot 10^2 = 1500\f$),
+    <CODE>9200e-2</CODE> and <CODE>-18*^+11111111111111111</CODE>;
+  - base-10 rational numbers in fraction notation as
     <CODE>15/3</CODE> and <CODE>15/-3</CODE>;
   - base-10 rational numbers in fraction/scientific notation as
     <CODE>15/30e-1</CODE> (meaning \f$5\f$) and <CODE>15*^-3/29e2</CODE>
@@ -10085,3304 +11696,4592 @@ ascii_dump(std::ostream& s, const T& t);
     (meaning \f$+\infty\f$), <CODE>-inf</CODE> (meaning \f$-\infty\f$),
     and <CODE>nan</CODE> (meaning "not a number").
 
-  The rationale behind the accepted syntax can be summarized as follows:
-  - if the syntax is accepted by Mathematica, then this function
-    accepts it with the same semantics;
-  - if the syntax is acceptable as standard C++ integer or floating point
-    literal (except for octal notation and type suffixes, which are not
-    supported), then this function accepts it with the same semantics;
-  - natural extensions of the above are accepted with the natural
-    extensions of the semantics;
-  - special values are accepted.
+  The rationale behind the accepted syntax can be summarized as follows:
+  - if the syntax is accepted by Mathematica, then this function
+    accepts it with the same semantics;
+  - if the syntax is acceptable as standard C++ integer or floating point
+    literal (except for octal notation and type suffixes, which are not
+    supported), then this function accepts it with the same semantics;
+  - natural extensions of the above are accepted with the natural
+    extensions of the semantics;
+  - special values are accepted.
+
+  Valid syntax is more formally and completely specified by the
+  following grammar, with the additional provisos that everything is
+  <EM>case insensitive</EM>, that the syntactic category
+  <CODE>BDIGIT</CODE> is further restricted by the current base
+  and that for all bases above 14, any <CODE>e</CODE> is always
+  interpreted as a digit and never as a delimiter for the exponent part
+  (if such a delimiter is desired, it has to be written as <CODE>*^</CODE>).
+
+\code
+number	: NAN					INF	: 'inf'
+	| SIGN INF					;
+	| INF
+	| num					NAN	: 'nan'
+	| num DIV num					;
+	;
+						SIGN	: '-'
+num     : unum						| '+'
+        | SIGN unum					;
+
+unum	: unum1					EXP	: 'e'
+	| HEX unum1					| '*^'
+	| base BASE unum1				;
+	;
+						POINT	: '.'
+unum1	: mantissa					;
+	| mantissa EXP exponent
+	;					DIV	: '/'
+							;
+mantissa: bdigits
+        | POINT bdigits				MINUS	: '-'
+	| bdigits POINT					;
+	| bdigits POINT bdigits
+	;					PLUS	: '+'
+						;
+exponent: SIGN digits
+	| digits				HEX	: '0x'
+	;					;
+
+bdigits : BDIGIT				BASE	: '^^'
+	| bdigits BDIGIT				;
+	;
+						DIGIT   : '0' .. '9'
+digits  : DIGIT						;
+	| digits DIGIT
+	;					BDIGIT  : '0' .. '9'
+							| 'a' .. 'z'
+							;
+\endcode
+*/
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, Result>::type
+input(T& x, std::istream& is, Rounding_Dir dir);
+
+//! Input operator.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+std::istream&
+operator>>(std::istream& is, Checked_Number<T, Policy>& x);
+
+//! Ascii load for native or checked.
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+ascii_load(std::ostream& s, T& t);
+
+//@} // Input-Output Operators
+
+void throw_result_exception(Result r);
+
+template <typename T>
+T
+plus_infinity();
+
+template <typename T>
+T
+minus_infinity();
+
+template <typename T>
+T
+not_a_number();
+
+//! Swaps \p x with \p y.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void swap(Checked_Number<T, Policy>& x, Checked_Number<T, Policy>& y);
+
+template <typename T, typename Policy>
+struct FPU_Related<Checked_Number<T, Policy> > : public FPU_Related<T> {};
+
+template <typename T>
+void maybe_reset_fpu_inexact();
+
+template <typename T>
+int maybe_check_fpu_inexact();
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Checked_Number.inlines.hh line 1. */
+/* Checked_Number class implementation: inline functions.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Checked_Number.inlines.hh line 27. */
+#include <stdexcept>
+#include <sstream>
+
+namespace Parma_Polyhedra_Library {
+
+#ifndef NDEBUG
+#define DEBUG_ROUND_NOT_NEEDED
+#endif
+
+inline Rounding_Dir
+rounding_dir(Rounding_Dir dir) {
+  if (dir == ROUND_NOT_NEEDED) {
+#ifdef DEBUG_ROUND_NOT_NEEDED
+    return ROUND_CHECK;
+#endif
+  }
+  return dir;
+}
+
+inline Result
+check_result(Result r, Rounding_Dir dir) {
+  if (dir == ROUND_NOT_NEEDED) {
+#ifdef DEBUG_ROUND_NOT_NEEDED
+    PPL_ASSERT(result_relation(r) == VR_EQ);
+#endif
+    return r;
+  }
+  return r;
+}
+
+
+template <typename T>
+inline void
+Checked_Number_Transparent_Policy<T>::handle_result(Result) {
+}
+
+inline void
+Extended_Number_Policy::handle_result(Result r) {
+  if (result_class(r) == VC_NAN)
+    throw_result_exception(r);
+}
+
+template <typename T, typename Policy>
+inline
+Checked_Number<T, Policy>::Checked_Number()
+ : v(0) {
+}
+
+template <typename T, typename Policy>
+inline
+Checked_Number<T, Policy>::Checked_Number(const Checked_Number& y) {
+  // TODO: avoid default construction of value member.
+  Checked::copy<Policy, Policy>(v, y.raw_value());
+}
+
+template <typename T, typename Policy>
+template <typename From, typename From_Policy>
+inline
+Checked_Number<T, Policy>
+::Checked_Number(const Checked_Number<From, From_Policy>& y,
+		 Rounding_Dir dir) {
+  // TODO: avoid default construction of value member.
+  Policy::handle_result(check_result(Checked::assign_ext<Policy, From_Policy>
+				     (v,
+				      y.raw_value(),
+				      rounding_dir(dir)),
+				     dir)
+			);
+}
+
+template <typename T, typename Policy>
+template <typename From, typename From_Policy>
+inline
+Checked_Number<T, Policy>
+::Checked_Number(const Checked_Number<From, From_Policy>& y) {
+  // TODO: avoid default construction of value member.
+  Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR;
+  Policy::handle_result(check_result(Checked::assign_ext<Policy, From_Policy>
+				     (v,
+				      y.raw_value(),
+				      rounding_dir(dir)),
+				     dir));
+}
+
+// TODO: avoid default construction of value member.
+#define DEF_CTOR(type) \
+template <typename T, typename Policy> \
+inline \
+Checked_Number<T, Policy>::Checked_Number(const type x, Rounding_Dir dir) { \
+  Policy::handle_result							\
+    (check_result(Checked::assign_ext<Policy, Checked_Number_Transparent_Policy<type> >	\
+		  (v, x, rounding_dir(dir)),				\
+		  dir));						\
+}									\
+template <typename T, typename Policy>					\
+inline									\
+Checked_Number<T, Policy>::Checked_Number(const type x) {		\
+  Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR;			\
+  Policy::handle_result							\
+    (check_result(Checked::assign_ext<Policy, Checked_Number_Transparent_Policy<type> >	\
+		  (v, x, rounding_dir(dir)),				\
+		  dir));						\
+}
+
+#define PPL_COND_0(...)
+#define PPL_COND_1(...) __VA_ARGS__
+#define PPL_COND_(if, ...) PPL_COND_##if(__VA_ARGS__)
+#define PPL_COND(if, ...) PPL_COND_(if, __VA_ARGS__)
+
+DEF_CTOR(signed char)
+DEF_CTOR(signed short)
+DEF_CTOR(signed int)
+DEF_CTOR(signed long)
+DEF_CTOR(signed long long)
+DEF_CTOR(unsigned char)
+DEF_CTOR(unsigned short)
+DEF_CTOR(unsigned int)
+DEF_CTOR(unsigned long)
+DEF_CTOR(unsigned long long)
+PPL_COND(PPL_SUPPORTED_FLOAT, DEF_CTOR(float))
+PPL_COND(PPL_SUPPORTED_DOUBLE, DEF_CTOR(double))
+PPL_COND(PPL_SUPPORTED_LONG_DOUBLE, DEF_CTOR(long double))
+DEF_CTOR(mpq_class&)
+DEF_CTOR(mpz_class&)
+
+#undef DEF_CTOR
+
+#undef PPL_COND
+#undef PPL_COND_
+#undef PPL_COND_1
+#undef PPL_COND_0
+
+template <typename T, typename Policy>
+inline
+Checked_Number<T, Policy>::Checked_Number(const char* x, Rounding_Dir dir) {
+  std::istringstream s(x);
+  Policy::handle_result(check_result(Checked::input<Policy>(v,
+							    s,
+							    rounding_dir(dir)),
+				     dir));
+}
+
+template <typename T, typename Policy>
+inline
+Checked_Number<T, Policy>::Checked_Number(const char* x) {
+  std::istringstream s(x);
+  Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR;
+  Policy::handle_result(check_result(Checked::input<Policy>(v,
+							    s,
+							    rounding_dir(dir)),
+				     dir));
+}
+
+template <typename T, typename Policy>
+template <typename From>
+inline
+Checked_Number<T, Policy>::Checked_Number(const From&, Rounding_Dir dir, typename Enable_If<Is_Special<From>::value, bool>::type) {
+  Policy::handle_result(check_result(Checked::assign_special<Policy>(v,
+							    From::vclass,
+							    rounding_dir(dir)),
+				     dir));
+}
+
+template <typename T, typename Policy>
+template <typename From>
+inline
+Checked_Number<T, Policy>::Checked_Number(const From&, typename Enable_If<Is_Special<From>::value, bool>::type) {
+  Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR;
+  Policy::handle_result(check_result(Checked::assign_special<Policy>(v,
+							    From::vclass,
+							    rounding_dir(dir)),
+				     dir));
+}
+
+template <typename To, typename From>
+inline typename Enable_If<Is_Native_Or_Checked<To>::value && Is_Special<From>::value, Result>::type
+assign_r(To& to, const From&, Rounding_Dir dir) {
+  return check_result(Checked::assign_special<typename Native_Checked_To_Wrapper<To>
+		      ::Policy>(Native_Checked_To_Wrapper<To>::raw_value(to),
+				From::vclass,
+				rounding_dir(dir)),
+		      dir);
+}
+
+template <typename To, typename From>
+inline typename Enable_If<Is_Native_Or_Checked<To>::value && Is_Special<From>::value, Result>::type
+construct(To& to, const From&, Rounding_Dir dir) {
+  return check_result(Checked::construct_special<typename Native_Checked_To_Wrapper<To>
+		      ::Policy>(Native_Checked_To_Wrapper<To>::raw_value(to),
+				From::vclass,
+				rounding_dir(dir)),
+		      dir);
+}
+
+template <typename T>
+inline typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+is_minus_infinity(const T& x) {
+  return Checked::is_minf<typename Native_Checked_From_Wrapper<T>
+    ::Policy>(Native_Checked_From_Wrapper<T>::raw_value(x));
+}
+
+template <typename T>
+inline typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+is_plus_infinity(const T& x) {
+  return Checked::is_pinf<typename Native_Checked_From_Wrapper<T>
+    ::Policy>(Native_Checked_From_Wrapper<T>::raw_value(x));
+}
+
+template <typename T>
+inline typename Enable_If<Is_Native_Or_Checked<T>::value, int>::type
+is_infinity(const T& x) {
+  return is_minus_infinity(x) ? -1 : is_plus_infinity(x) ? 1 : 0;
+}
+
+template <typename T>
+inline typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+is_not_a_number(const T& x) {
+  return Checked::is_nan<typename Native_Checked_From_Wrapper<T>
+    ::Policy>(Native_Checked_From_Wrapper<T>::raw_value(x));
+}
+
+template <typename T>
+inline typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+is_integer(const T& x) {
+  return Checked::is_int<typename Native_Checked_From_Wrapper<T>
+    ::Policy>(Native_Checked_From_Wrapper<T>::raw_value(x));
+}
+
+template <typename T, typename Policy>
+inline
+Checked_Number<T, Policy>::operator T() const {
+  if (Policy::convertible)
+    return v;
+}
+
+template <typename T, typename Policy>
+inline T&
+Checked_Number<T, Policy>::raw_value() {
+  return v;
+}
+
+template <typename T, typename Policy>
+inline const T&
+Checked_Number<T, Policy>::raw_value() const {
+  return v;
+}
+
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+inline const T&
+raw_value(const Checked_Number<T, Policy>& x) {
+  return x.raw_value();
+}
+
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+inline T&
+raw_value(Checked_Number<T, Policy>& x) {
+  return x.raw_value();
+}
+
+template <typename T, typename Policy>
+inline bool
+Checked_Number<T, Policy>::OK() const {
+  return true;
+}
+
+template <typename T, typename Policy>
+inline Result
+Checked_Number<T, Policy>::classify(bool nan, bool inf, bool sign) const {
+  return Checked::classify<Policy>(v, nan, inf, sign);
+}
+
+template <typename T, typename Policy>
+inline bool
+is_not_a_number(const Checked_Number<T, Policy>& x) {
+  return Checked::is_nan<Policy>(x.raw_value());
+}
+
+template <typename T, typename Policy>
+inline bool
+is_minus_infinity(const Checked_Number<T, Policy>& x) {
+  return Checked::is_minf<Policy>(x.raw_value());
+}
+
+template <typename T, typename Policy>
+inline bool
+is_plus_infinity(const Checked_Number<T, Policy>& x) {
+  return Checked::is_pinf<Policy>(x.raw_value());
+}
+
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+inline memory_size_type
+total_memory_in_bytes(const Checked_Number<T, Policy>& x) {
+  return total_memory_in_bytes(x.raw_value());
+}
+
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+inline memory_size_type
+external_memory_in_bytes(const Checked_Number<T, Policy>& x) {
+  return external_memory_in_bytes(x.raw_value());
+}
+
+
+/*! \relates Checked_Number */
+template <typename To>
+inline typename Enable_If<Is_Native_Or_Checked<To>::value, Result>::type
+assign_r(To& to, const char* x, Rounding_Dir dir) {
+  std::istringstream s(x);
+  return check_result(Checked::input<typename Native_Checked_To_Wrapper<To>
+		      ::Policy>(Native_Checked_To_Wrapper<To>::raw_value(to),
+				s,
+				rounding_dir(dir)),
+		      dir);
+}
+
+#define FUNC1(name, func) \
+template <typename To, typename From>					\
+inline typename Enable_If<Is_Native_Or_Checked<To>::value               \
+                          && Is_Native_Or_Checked<From>::value,         \
+                          Result>::type                                 \
+name(To& to, const From& x, Rounding_Dir dir) {				\
+  return								\
+    check_result(Checked::func<typename Native_Checked_To_Wrapper<To>	\
+		 ::Policy,						\
+		 typename Native_Checked_From_Wrapper<From>		\
+		 ::Policy>(Native_Checked_To_Wrapper<To>::raw_value(to), \
+			   Native_Checked_From_Wrapper<From>::raw_value(x), \
+			   rounding_dir(dir)), dir);			\
+}
+
+FUNC1(construct, construct_ext)
+FUNC1(assign_r, assign_ext)
+FUNC1(floor_assign_r, floor_ext)
+FUNC1(ceil_assign_r, ceil_ext)
+FUNC1(trunc_assign_r, trunc_ext)
+FUNC1(neg_assign_r, neg_ext)
+FUNC1(abs_assign_r, abs_ext)
+FUNC1(sqrt_assign_r, sqrt_ext)
+
+#undef FUNC1
+
+#define FUNC1(name, func) \
+template <typename To, typename From>					\
+inline typename Enable_If<Is_Native_Or_Checked<To>::value		\
+                          && Is_Native_Or_Checked<From>::value,         \
+                          Result>::type					\
+name(To& to, const From& x, int exp, Rounding_Dir dir) {		\
+  return								\
+    check_result(Checked::func<typename Native_Checked_To_Wrapper<To>	\
+		 ::Policy,						\
+		 typename Native_Checked_From_Wrapper<From>		\
+		 ::Policy>(Native_Checked_To_Wrapper<To>::raw_value(to), \
+			   Native_Checked_From_Wrapper<From>::raw_value(x), \
+			   exp,						\
+			   rounding_dir(dir)),				\
+		 dir);							\
+}
+
+FUNC1(add_2exp_assign_r, add_2exp_ext)
+FUNC1(sub_2exp_assign_r, sub_2exp_ext)
+FUNC1(mul_2exp_assign_r, mul_2exp_ext)
+FUNC1(div_2exp_assign_r, div_2exp_ext)
+FUNC1(smod_2exp_assign_r, smod_2exp_ext)
+FUNC1(umod_2exp_assign_r, umod_2exp_ext)
+
+#undef FUNC1
+
+#define FUNC2(name, func) \
+template <typename To, typename From1, typename From2>			\
+inline typename Enable_If<Is_Native_Or_Checked<To>::value		\
+                          && Is_Native_Or_Checked<From1>::value         \
+                          && Is_Native_Or_Checked<From2>::value,        \
+                          Result>::type					\
+name(To& to, const From1& x, const From2& y, Rounding_Dir dir) {	\
+  return								\
+    check_result(Checked::func<typename Native_Checked_To_Wrapper<To>	\
+		 ::Policy,						\
+		 typename Native_Checked_From_Wrapper<From1>		\
+		 ::Policy,						\
+		 typename Native_Checked_From_Wrapper<From2>		\
+		 ::Policy>(Native_Checked_To_Wrapper<To>::raw_value(to), \
+			   Native_Checked_From_Wrapper<From1>::raw_value(x), \
+			   Native_Checked_From_Wrapper<From2>::raw_value(y), \
+			   rounding_dir(dir)),				\
+		 dir);							\
+}
+
+FUNC2(add_assign_r, add_ext)
+FUNC2(sub_assign_r, sub_ext)
+FUNC2(mul_assign_r, mul_ext)
+FUNC2(div_assign_r, div_ext)
+FUNC2(idiv_assign_r, idiv_ext)
+FUNC2(rem_assign_r, rem_ext)
+FUNC2(gcd_assign_r, gcd_ext)
+FUNC2(lcm_assign_r, lcm_ext)
+FUNC2(add_mul_assign_r, add_mul_ext)
+FUNC2(sub_mul_assign_r, sub_mul_ext)
+
+#undef FUNC2
+
+#define FUNC4(name, func)						\
+template <typename To1,							\
+          typename To2,							\
+	  typename To3,							\
+          typename From1,						\
+          typename From2>						\
+inline typename Enable_If<Is_Native_Or_Checked<To1>::value		\
+                          && Is_Native_Or_Checked<To2>::value           \
+                          && Is_Native_Or_Checked<To3>::value           \
+                          && Is_Native_Or_Checked<From1>::value         \
+                          && Is_Native_Or_Checked<From2>::value,        \
+                          Result>::type					\
+name(To1& to, To2& s, To3& t, const From1& x, const From2& y,		\
+     Rounding_Dir dir) {						\
+  return								\
+    check_result							\
+    (Checked::func<typename Native_Checked_To_Wrapper<To1>::Policy,	\
+                   typename Native_Checked_To_Wrapper<To2>::Policy,	\
+                   typename Native_Checked_To_Wrapper<To3>::Policy,	\
+                   typename Native_Checked_From_Wrapper<From1>::Policy,	\
+                   typename Native_Checked_From_Wrapper<From2>::Policy>	\
+     (Native_Checked_To_Wrapper<To1>::raw_value(to),			\
+      Native_Checked_To_Wrapper<To2>::raw_value(s),			\
+      Native_Checked_To_Wrapper<To3>::raw_value(t),			\
+      Native_Checked_From_Wrapper<From1>::raw_value(x),			\
+      Native_Checked_From_Wrapper<From2>::raw_value(y),			\
+      rounding_dir(dir)),						\
+     dir);								\
+}
+
+FUNC4(gcdext_assign_r, gcdext_ext)
+
+#undef FUNC4
+
+#define DEF_INCREMENT(f, fun) \
+template <typename T, typename Policy> \
+inline Checked_Number<T, Policy>& \
+Checked_Number<T, Policy>::f() { \
+  Policy::handle_result(fun(*this, *this, T(1), \
+			    Policy::ROUND_DEFAULT_OPERATOR)); \
+  return *this; \
+} \
+template <typename T, typename Policy> \
+inline Checked_Number<T, Policy> \
+Checked_Number<T, Policy>::f(int) {\
+  T r = v;\
+  Policy::handle_result(fun(*this, *this, T(1), \
+			    Policy::ROUND_DEFAULT_OPERATOR)); \
+  return r;\
+}
+
+DEF_INCREMENT(operator ++, add_assign_r)
+DEF_INCREMENT(operator --, sub_assign_r)
+
+#undef DEF_INCREMENT
+
+template <typename T, typename Policy>
+inline Checked_Number<T, Policy>&
+Checked_Number<T, Policy>::operator=(const Checked_Number<T, Policy>& y) {
+  Checked::copy<Policy, Policy>(v, y.raw_value());
+  return *this;
+}
+template <typename T, typename Policy>
+template <typename From>
+inline Checked_Number<T, Policy>&
+Checked_Number<T, Policy>::operator=(const From& y) {
+  Policy::handle_result(assign_r(*this, y, Policy::ROUND_DEFAULT_OPERATOR));
+  return *this;
+}
+
+#define DEF_BINARY_OP_ASSIGN(f, fun) \
+template <typename T, typename Policy> \
+template <typename From_Policy> \
+inline Checked_Number<T, Policy>& \
+Checked_Number<T, Policy>::f(const Checked_Number<T, From_Policy>& y) { \
+  Policy::handle_result(fun(*this, *this, y, \
+			    Policy::ROUND_DEFAULT_OPERATOR)); \
+  return *this; \
+} \
+template <typename T, typename Policy> \
+inline Checked_Number<T, Policy>& \
+Checked_Number<T, Policy>::f(const T& y) { \
+  Policy::handle_result(fun(*this, *this, y, \
+			    Policy::ROUND_DEFAULT_OPERATOR)); \
+  return *this; \
+} \
+template <typename T, typename Policy> \
+template <typename From> \
+inline typename Enable_If<Is_Native_Or_Checked<From>::value, \
+                          Checked_Number<T, Policy>& >::type \
+Checked_Number<T, Policy>::f(const From& y) { \
+  Checked_Number<T, Policy> cy(y); \
+  Policy::handle_result(fun(*this, *this, cy, \
+			    Policy::ROUND_DEFAULT_OPERATOR)); \
+  return *this; \
+}
+
+DEF_BINARY_OP_ASSIGN(operator +=, add_assign_r)
+DEF_BINARY_OP_ASSIGN(operator -=, sub_assign_r)
+DEF_BINARY_OP_ASSIGN(operator *=, mul_assign_r)
+DEF_BINARY_OP_ASSIGN(operator /=, div_assign_r)
+DEF_BINARY_OP_ASSIGN(operator %=, rem_assign_r)
+
+#undef DEF_BINARY_OP_ASSIGN
+
+#define DEF_BINARY_OP(f, fun) \
+template <typename T, typename Policy> \
+inline Checked_Number<T, Policy> \
+f(const Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y) { \
+  Checked_Number<T, Policy> r; \
+  Policy::handle_result(fun(r, x, y, Policy::ROUND_DEFAULT_OPERATOR)); \
+  return r; \
+} \
+template <typename Type, typename T, typename Policy>	\
+inline \
+typename Enable_If<Is_Native<Type>::value, Checked_Number<T, Policy> >::type \
+f(const Type& x, const Checked_Number<T, Policy>& y) { \
+  Checked_Number<T, Policy> r(x); \
+  Policy::handle_result(fun(r, r, y, Policy::ROUND_DEFAULT_OPERATOR)); \
+  return r; \
+} \
+template <typename T, typename Policy, typename Type>	\
+inline \
+typename Enable_If<Is_Native<Type>::value, Checked_Number<T, Policy> >::type \
+f(const Checked_Number<T, Policy>& x, const Type& y) { \
+  Checked_Number<T, Policy> r(y); \
+  Policy::handle_result(fun(r, x, r, Policy::ROUND_DEFAULT_OPERATOR)); \
+  return r; \
+}
+
+DEF_BINARY_OP(operator +, add_assign_r)
+DEF_BINARY_OP(operator -, sub_assign_r)
+DEF_BINARY_OP(operator *, mul_assign_r)
+DEF_BINARY_OP(operator /, div_assign_r)
+DEF_BINARY_OP(operator %, rem_assign_r)
+
+#undef DEF_BINARY_OP
+
+#define DEF_COMPARE(f, fun)						\
+template <typename T1, typename T2>					\
+inline									\
+typename Enable_If<Is_Native_Or_Checked<T1>::value                      \
+                   && Is_Native_Or_Checked<T2>::value                   \
+                   && (Is_Checked<T1>::value || Is_Checked<T2>::value),	\
+		   bool>::type						\
+f(const T1& x, const T2& y) {						\
+  return Checked::fun<typename Native_Checked_From_Wrapper<T1>::Policy,	\
+    		      typename Native_Checked_From_Wrapper<T2>::Policy>	\
+    (Native_Checked_From_Wrapper<T1>::raw_value(x),			\
+     Native_Checked_From_Wrapper<T2>::raw_value(y));			\
+}
+
+DEF_COMPARE(operator ==, eq_ext)
+DEF_COMPARE(operator !=, ne_ext)
+DEF_COMPARE(operator >=, ge_ext)
+DEF_COMPARE(operator >, gt_ext)
+DEF_COMPARE(operator <=, le_ext)
+DEF_COMPARE(operator <, lt_ext)
+
+#undef DEF_COMPARE
+
+#define DEF_COMPARE(f, fun)						\
+template <typename T1, typename T2>					\
+inline typename Enable_If<Is_Native_Or_Checked<T1>::value		\
+			  && Is_Native_Or_Checked<T2>::value,		\
+                          bool>::type					\
+f(const T1& x, const T2& y) {						\
+  return Checked::fun<typename Native_Checked_From_Wrapper<T1>::Policy,	\
+    		      typename Native_Checked_From_Wrapper<T2>::Policy>	\
+    (Native_Checked_From_Wrapper<T1>::raw_value(x),			\
+     Native_Checked_From_Wrapper<T2>::raw_value(y));			\
+}
+
+DEF_COMPARE(equal, eq_ext)
+DEF_COMPARE(not_equal, ne_ext)
+DEF_COMPARE(greater_or_equal, ge_ext)
+DEF_COMPARE(greater_than, gt_ext)
+DEF_COMPARE(less_or_equal, le_ext)
+DEF_COMPARE(less_than, lt_ext)
+
+#undef DEF_COMPARE
+
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+inline Checked_Number<T, Policy>
+operator+(const Checked_Number<T, Policy>& x) {
+  return x;
+}
+
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+inline Checked_Number<T, Policy>
+operator-(const Checked_Number<T, Policy>& x) {
+  Checked_Number<T, Policy> r;
+  Policy::handle_result(neg_assign_r(r, x, Policy::ROUND_DEFAULT_OPERATOR));
+  return r;
+}
+
+#define PPL_DEF_ASSIGN_FUN2_1(f, fun) \
+template <typename T, typename Policy> \
+inline void \
+f(Checked_Number<T, Policy>& x) { \
+  Policy::handle_result(fun(x, x, Policy::ROUND_DEFAULT_FUNCTION));	\
+}
+
+#define PPL_DEF_ASSIGN_FUN2_2(f, fun) \
+template <typename T, typename Policy> \
+inline void \
+f(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y) { \
+  Policy::handle_result(fun(x, y, Policy::ROUND_DEFAULT_FUNCTION)); \
+}
+
+#define PPL_DEF_ASSIGN_FUN3_3(f, fun) \
+template <typename T, typename Policy> \
+inline void \
+f(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y, \
+  const Checked_Number<T, Policy>& z) { \
+  Policy::handle_result(fun(x, y, z, Policy::ROUND_DEFAULT_FUNCTION)); \
+}
+
+#define PPL_DEF_ASSIGN_FUN5_5(f, fun)					\
+template <typename T, typename Policy>					\
+inline void								\
+f(Checked_Number<T, Policy>& x,						\
+  Checked_Number<T, Policy>& s, Checked_Number<T, Policy>& t,		\
+  const Checked_Number<T, Policy>& y,					\
+  const Checked_Number<T, Policy>& z) {					\
+  Policy::handle_result(fun(x, s, t, y, z, Policy::ROUND_DEFAULT_FUNCTION)); \
+}
+
+PPL_DEF_ASSIGN_FUN2_2(sqrt_assign, sqrt_assign_r)
+
+PPL_DEF_ASSIGN_FUN2_1(floor_assign, floor_assign_r)
+PPL_DEF_ASSIGN_FUN2_2(floor_assign, floor_assign_r)
+
+PPL_DEF_ASSIGN_FUN2_1(ceil_assign, ceil_assign_r)
+PPL_DEF_ASSIGN_FUN2_2(ceil_assign, ceil_assign_r)
+
+PPL_DEF_ASSIGN_FUN2_1(trunc_assign, trunc_assign_r)
+PPL_DEF_ASSIGN_FUN2_2(trunc_assign, trunc_assign_r)
+
+PPL_DEF_ASSIGN_FUN2_1(neg_assign, neg_assign_r)
+PPL_DEF_ASSIGN_FUN2_2(neg_assign, neg_assign_r)
+
+PPL_DEF_ASSIGN_FUN2_1(abs_assign, abs_assign_r)
+PPL_DEF_ASSIGN_FUN2_2(abs_assign, abs_assign_r)
+
+PPL_DEF_ASSIGN_FUN3_3(add_mul_assign, add_mul_assign_r)
+
+PPL_DEF_ASSIGN_FUN3_3(sub_mul_assign, sub_mul_assign_r)
+
+PPL_DEF_ASSIGN_FUN3_3(rem_assign, rem_assign_r)
+
+PPL_DEF_ASSIGN_FUN3_3(gcd_assign, gcd_assign_r)
+
+PPL_DEF_ASSIGN_FUN5_5(gcdext_assign, gcdext_assign_r)
+
+PPL_DEF_ASSIGN_FUN3_3(lcm_assign, lcm_assign_r)
+
+#undef PPL_DEF_ASSIGN_FUN2_1
+#undef PPL_DEF_ASSIGN_FUN2_2
+#undef PPL_DEF_ASSIGN_FUN3_2
+#undef PPL_DEF_ASSIGN_FUN3_3
+#undef PPL_DEF_ASSIGN_FUN5_5
+
+#define PPL_DEF_ASSIGN_2EXP(f, fun)					\
+template <typename T, typename Policy>                                  \
+inline void								\
+f(Checked_Number<T, Policy>& to,					\
+  const Checked_Number<T, Policy>& x, unsigned int exp) {               \
+  Policy::handle_result(fun(to, x, exp, Policy::ROUND_DEFAULT_FUNCTION)); \
+}
+
+PPL_DEF_ASSIGN_2EXP(mul_2exp_assign, mul_2exp_assign_r)
+PPL_DEF_ASSIGN_2EXP(div_2exp_assign, div_2exp_assign_r)
+
+template <typename T, typename Policy>
+inline void
+exact_div_assign(Checked_Number<T, Policy>& x,
+		 const Checked_Number<T, Policy>& y,
+		 const Checked_Number<T, Policy>& z) {
+  Policy::handle_result(div_assign_r(x, y, z, ROUND_NOT_NEEDED));
+}
+
+/*! \relates Checked_Number */
+template <typename From>
+inline typename Enable_If<Is_Native_Or_Checked<From>::value, int>::type
+sgn(const From& x) {
+  Result_Relation r = Checked::sgn_ext<typename Native_Checked_From_Wrapper<From>::Policy>(Native_Checked_From_Wrapper<From>::raw_value(x));
+  switch (r) {
+  case VR_LT:
+    return -1;
+  case VR_EQ:
+    return 0;
+  case VR_GT:
+    return 1;
+  default:
+    throw(0);
+  }
+}
+
+/*! \relates Checked_Number */
+template <typename From1, typename From2>
+inline typename Enable_If<Is_Native_Or_Checked<From1>::value
+                          && Is_Native_Or_Checked<From2>::value,
+                          int>::type
+cmp(const From1& x, const From2& y) {
+  Result_Relation r
+    = Checked::cmp_ext<typename Native_Checked_From_Wrapper<From1>::Policy,
+                       typename Native_Checked_From_Wrapper<From2>::Policy>
+                 (Native_Checked_From_Wrapper<From1>::raw_value(x),
+		  Native_Checked_From_Wrapper<From2>::raw_value(y));
+  switch (r) {
+  case VR_LT:
+    return -1;
+  case VR_EQ:
+    return 0;
+  case VR_GT:
+    return 1;
+  default:
+    throw(0);
+  }
+}
+
+/*! \relates Checked_Number */
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, Result>::type
+output(std::ostream& os, const T& x,
+       const Numeric_Format& fmt, Rounding_Dir dir) {
+  return check_result(Checked::output_ext<typename Native_Checked_From_Wrapper<T>::Policy>
+		      (os,
+		       Native_Checked_From_Wrapper<T>::raw_value(x),
+		       fmt,
+		       rounding_dir(dir)),
+		      dir);
+}
+
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+inline std::ostream&
+operator<<(std::ostream& os, const Checked_Number<T, Policy>& x) {
+  Policy::handle_result(output(os, x, Numeric_Format(), ROUND_IGNORE));
+  return os;
+}
+
+/*! \relates Checked_Number */
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, Result>::type
+input(T& x, std::istream& is, Rounding_Dir dir) {
+  return check_result(Checked::input_ext<typename Native_Checked_To_Wrapper<T>::Policy>
+		      (Native_Checked_To_Wrapper<T>::raw_value(x),
+		       is,
+		       rounding_dir(dir)),
+		      dir);
+}
+
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+inline std::istream& operator>>(std::istream& is,
+				Checked_Number<T, Policy>& x) {
+  Result r = input(x, is, Policy::ROUND_DEFAULT_INPUT);
+  if (r == V_CVT_STR_UNK)
+    is.setstate(std::ios::failbit);
+  else
+    Policy::handle_result(r);
+  return is;
+}
+
+template <typename T>
+inline T
+plus_infinity() {
+  return PLUS_INFINITY;
+}
+
+template <typename T>
+inline T
+minus_infinity() {
+  return MINUS_INFINITY;
+}
+
+template <typename T>
+inline T
+not_a_number() {
+  return NOT_A_NUMBER;
+}
+
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+inline void
+swap(Checked_Number<T, Policy>& x, Checked_Number<T, Policy>& y) {
+  using std::swap;
+  swap(x.raw_value(), y.raw_value());
+}
+
+template <typename T>
+inline void
+maybe_reset_fpu_inexact() {
+  if (FPU_Related<T>::value)
+    return fpu_reset_inexact();
+}
+
+template <typename T>
+inline int
+maybe_check_fpu_inexact() {
+  if (FPU_Related<T>::value)
+    return fpu_check_inexact();
+  else
+    return 0;
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/checked_numeric_limits.hh line 1. */
+/* Specializations of std::numeric_limits for "checked" types.
+*/
+
+
+/* Automatically generated from PPL source file ../src/checked_numeric_limits.hh line 28. */
+#include <limits>
+
+namespace std {
+
+using namespace Parma_Polyhedra_Library;
+
+#define PPL_SPECIALIZE_LIMITS_INT(T)					\
+/*! \brief Partial specialization of std::numeric_limits. */		\
+template <typename Policy>						\
+ class numeric_limits<Checked_Number<T, Policy> >                       \
+  : public numeric_limits<T> {						\
+ private:								\
+  typedef Checked_Number<T, Policy> Type;                               \
+									\
+ public:								\
+  static const bool has_infinity = Policy::has_infinity;		\
+  static const bool has_quiet_NaN =  Policy::has_nan;                   \
+                                                                        \
+  static Type min() {							\
+    Type v;								\
+    v.raw_value() = Checked::Extended_Int<Policy, T>::min;		\
+    return v;								\
+  }									\
+                                                                        \
+  static Type max() {							\
+    Type v;								\
+    v.raw_value() = Checked::Extended_Int<Policy, T>::max;		\
+    return v;								\
+  }									\
+									\
+  static Type infinity() {						\
+    Type v;								\
+    Checked::assign_special<Policy>(v.raw_value(), VC_PLUS_INFINITY,	\
+			    ROUND_IGNORE);				\
+    return v;								\
+  }									\
+									\
+  static Type quiet_NaN() {						\
+    Type v;								\
+    Checked::assign_special<Policy>(v.raw_value(), VC_NAN,		\
+			    ROUND_IGNORE);				\
+    return v;								\
+  }									\
+};
+
+PPL_SPECIALIZE_LIMITS_INT(signed char)
+PPL_SPECIALIZE_LIMITS_INT(signed short)
+PPL_SPECIALIZE_LIMITS_INT(signed int)
+PPL_SPECIALIZE_LIMITS_INT(signed long)
+PPL_SPECIALIZE_LIMITS_INT(signed long long)
+
+PPL_SPECIALIZE_LIMITS_INT(unsigned char)
+PPL_SPECIALIZE_LIMITS_INT(unsigned short)
+PPL_SPECIALIZE_LIMITS_INT(unsigned int)
+PPL_SPECIALIZE_LIMITS_INT(unsigned long)
+PPL_SPECIALIZE_LIMITS_INT(unsigned long long)
+
+#undef PPL_SPECIALIZE_LIMITS_INT
+
+#define PPL_SPECIALIZE_LIMITS_FLOAT(T)					\
+/*! \brief Partial specialization of std::numeric_limits. */		\
+template <typename Policy>						\
+struct numeric_limits<Checked_Number<T, Policy> > \
+  : public numeric_limits<T> {						\
+};
+
+#if PPL_SUPPORTED_FLOAT
+PPL_SPECIALIZE_LIMITS_FLOAT(float)
+#endif
+#if PPL_SUPPORTED_DOUBLE
+PPL_SPECIALIZE_LIMITS_FLOAT(double)
+#endif
+#if PPL_SUPPORTED_LONG_DOUBLE
+PPL_SPECIALIZE_LIMITS_FLOAT(long double)
+#endif
+
+#undef PPL_SPECIALIZE_LIMITS_FLOAT
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Partial specialization of std::numeric_limits.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Policy>
+class
+numeric_limits<Checked_Number<mpz_class, Policy> >
+  : public numeric_limits<mpz_class> {
+private:
+  typedef Checked_Number<mpz_class, Policy> Type;
+
+public:
+  static const bool has_infinity = Policy::has_infinity;
+  static const bool has_quiet_NaN =  Policy::has_nan;
+
+  static Type infinity() {
+    Type v;
+    Checked::assign_special<Policy>(v.raw_value(), VC_PLUS_INFINITY,
+				    ROUND_IGNORE);
+    return v;
+  }
+
+  static Type quiet_NaN() {
+    Type v;
+    Checked::assign_special<Policy>(v.raw_value(), VC_NAN, ROUND_IGNORE);
+    return v;
+  }
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Partial specialization of std::numeric_limits.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Policy>
+class
+numeric_limits<Checked_Number<mpq_class, Policy> >
+: public numeric_limits<mpq_class> {
+private:
+  typedef Checked_Number<mpq_class, Policy> Type;
+
+public:
+  static const bool has_infinity = Policy::has_infinity;
+  static const bool has_quiet_NaN =  Policy::has_nan;
+
+  static Type infinity() {
+    Type v;
+    Checked::assign_special<Policy>(v.raw_value(), VC_PLUS_INFINITY,
+				    ROUND_IGNORE);
+    return v;
+  }
+
+  static Type quiet_NaN() {
+    Type v;
+    Checked::assign_special<Policy>(v.raw_value(), VC_NAN, ROUND_IGNORE);
+    return v;
+  }
+};
+
+} // namespace std
+
+/* Automatically generated from PPL source file ../src/Checked_Number.templates.hh line 1. */
+/* Checked_Number class implementation: non-inline template functions.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Checked_Number.templates.hh line 27. */
+#include <iomanip>
+#include <limits>
+
+namespace Parma_Polyhedra_Library {
+
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, void>::type
+ascii_dump(std::ostream& s, const T& t) {
+  if (std::numeric_limits<T>::is_exact)
+    // An exact datatype: pretty printer is accurate.
+    s << t;
+  else {
+    // An inexact datatype (probably floating point):
+    // first dump its hexadecimal representation ...
+    const std::ios_base::fmtflags old_flags = s.flags();
+    s << std::hex;
+    const unsigned char* p = reinterpret_cast<const unsigned char*>(&t);
+    for (unsigned i = 0; i < sizeof(T); ++i) {
+      s << std::setw(2) << std::setfill('0');
+      s << static_cast<unsigned>(p[i]);
+    }
+    s.flags(old_flags);
+    // ... and then pretty print it for readability.
+    s << " (" << t << ")";
+  }
+}
+
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+ascii_load(std::istream& s, T& t) {
+  if (std::numeric_limits<T>::is_exact)
+    // An exact datatype: input from pretty printed version is accurate.
+    return s >> t;
+  else {
+    // An inexact datatype (probably floating point):
+    // first load its hexadecimal representation ...
+    std::string str;
+    if (!(s >> str) || str.size() != 2*sizeof(T))
+      return false;
+    unsigned char* p = reinterpret_cast<unsigned char*>(&t);
+    // CHECKME: any (portable) simpler way?
+    for (unsigned i = 0; i < sizeof(T); ++i) {
+      unsigned byte_value = 0;
+      for (unsigned j = 0; j < 2; ++j) {
+        byte_value <<= 4;
+        unsigned half_byte_value;
+        // Interpret single hex character.
+        switch (str[2*i+j]) {
+        case '0':
+          half_byte_value = 0;
+          break;
+        case '1':
+          half_byte_value = 1;
+          break;
+        case '2':
+          half_byte_value = 2;
+          break;
+        case '3':
+          half_byte_value = 3;
+          break;
+        case '4':
+          half_byte_value = 4;
+          break;
+        case '5':
+          half_byte_value = 5;
+          break;
+        case '6':
+          half_byte_value = 6;
+          break;
+        case '7':
+          half_byte_value = 7;
+          break;
+        case '8':
+          half_byte_value = 8;
+          break;
+        case '9':
+          half_byte_value = 9;
+          break;
+        case 'A':
+        case 'a':
+          half_byte_value = 10;
+          break;
+        case 'B':
+        case 'b':
+          half_byte_value = 11;
+          break;
+        case 'C':
+        case 'c':
+          half_byte_value = 12;
+          break;
+        case 'D':
+        case 'd':
+          half_byte_value = 13;
+          break;
+        case 'E':
+        case 'e':
+          half_byte_value = 14;
+          break;
+        case 'F':
+        case 'f':
+          half_byte_value = 15;
+          break;
+        default:
+          return false;
+        }
+        byte_value += half_byte_value;
+      }
+      PPL_ASSERT(byte_value <= 255);
+      p[i] = static_cast<unsigned char>(byte_value);
+    }
+    // ... then read and discard pretty printed value.
+    if (!(s >> str))
+      return false;
+    const unsigned sz = str.size();
+    return sz > 2 && str[0] == '(' && str[sz-1] == ')';
+  }
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Checked_Number.defs.hh line 1042. */
+
+/* Automatically generated from PPL source file ../src/Coefficient.types.hh line 16. */
+
+#if defined(PPL_CHECKED_INTEGERS) || defined(PPL_NATIVE_INTEGERS)
+
+namespace Parma_Polyhedra_Library {
+
+//! A policy for checked bounded integer coefficients.
+/*! \ingroup PPL_CXX_interface */
+struct Bounded_Integer_Coefficient_Policy {
+  //! Check for overflowed result.
+  const_bool_nodef(check_overflow, true);
+
+  //! Do not check for attempts to add infinities with different sign.
+  const_bool_nodef(check_inf_add_inf, false);
+
+  //! Do not check for attempts to subtract infinities with same sign.
+  const_bool_nodef(check_inf_sub_inf, false);
+
+  //! Do not check for attempts to multiply infinities by zero.
+  const_bool_nodef(check_inf_mul_zero, false);
+
+  //! Do not check for attempts to divide by zero.
+  const_bool_nodef(check_div_zero, false);
+
+  //! Do not check for attempts to divide infinities.
+  const_bool_nodef(check_inf_div_inf, false);
+
+  //! Do not check for attempts to compute remainder of infinities.
+  const_bool_nodef(check_inf_mod, false);
+
+  //! Do not checks for attempts to take the square root of a negative number.
+  const_bool_nodef(check_sqrt_neg, false);
+
+  //! Do not handle not-a-number special value.
+  const_bool_nodef(has_nan, false);
+
+  //! Do not handle infinity special values.
+  const_bool_nodef(has_infinity, false);
+
+  /*! \brief
+    The checked number can always be safely converted to the
+    underlying type \p T and vice-versa.
+  */
+  const_bool_nodef(convertible, true);
+
+  //! Do not honor requests to check for FPU inexact results.
+  const_bool_nodef(fpu_check_inexact, false);
+
+  //! Do not make extra checks to detect FPU NaN results.
+  const_bool_nodef(fpu_check_nan_result, true);
+
+  /*! \brief
+    For constructors, by default use the same rounding used by
+    underlying type.
+  */
+  static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_NATIVE;
+
+  /*! \brief
+    For overloaded operators (operator+(), operator-(), ...), by
+    default use the same rounding used by the underlying type.
+  */
+  static const Rounding_Dir ROUND_DEFAULT_OPERATOR = ROUND_NATIVE;
+
+  /*! \brief
+    For input functions, by default use the same rounding used by
+    the underlying type.
+  */
+  static const Rounding_Dir ROUND_DEFAULT_INPUT = ROUND_NATIVE;
+
+  /*! \brief
+    For output functions, by default use the same rounding used by
+    the underlying type.
+  */
+  static const Rounding_Dir ROUND_DEFAULT_OUTPUT = ROUND_NATIVE;
+
+  /*! \brief
+    For all other functions, by default use the same rounding used by
+    the underlying type.
+  */
+  static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_NATIVE;
+
+  /*! \brief
+    Handles \p r: called by all constructors, operators and functions that
+    do not return a Result value.
+  */
+  static void handle_result(Result r);
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Coefficient traits specialization for 8 bits checked integers.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Policy>
+struct Coefficient_traits_template<Checked_Number<int8_t, Policy> > {
+  //! The type used for references to const 8 bit checked integers.
+  typedef Checked_Number<int8_t, Policy> const_reference;
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Coefficient traits specialization for 16 bits checked integers.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Policy>
+struct Coefficient_traits_template<Checked_Number<int16_t, Policy> > {
+  //! The type used for references to const 16 bit checked integers.
+  typedef Checked_Number<int16_t, Policy> const_reference;
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Coefficient traits specialization for 32 bits checked integers.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Policy>
+struct Coefficient_traits_template<Checked_Number<int32_t, Policy> > {
+  //! The type used for references to const 32 bit checked integers.
+  typedef Checked_Number<int32_t, Policy> const_reference;
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Coefficient traits specialization for 64 bits checked integers.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Policy>
+struct Coefficient_traits_template<Checked_Number<int64_t, Policy> > {
+  //! The type used for references to const 64 bit checked integers.
+  typedef const Checked_Number<int64_t, Policy>& const_reference;
+};
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // defined(PPL_CHECKED_INTEGERS) || defined(PPL_NATIVE_INTEGERS)
+
+#ifdef PPL_GMP_INTEGERS
+/* Automatically generated from PPL source file ../src/GMP_Integer.types.hh line 1. */
+
+
+/* Automatically generated from PPL source file ../src/GMP_Integer.types.hh line 16. */
+#include <gmpxx.h>
+/* Automatically generated from PPL source file ../src/GMP_Integer.types.hh line 18. */
+
+namespace Parma_Polyhedra_Library {
+
+/*! \class Parma_Polyhedra_Library::GMP_Integer
+  \brief
+  Unbounded integers as provided by the GMP library.
+
+  \ingroup PPL_CXX_interface
+  GMP_Integer is an alias for the <CODE>mpz_class</CODE> type
+  defined in the C++ interface of the GMP library.
+  For more information, see <CODE>http://www.swox.com/gmp/</CODE>
+*/
+typedef mpz_class GMP_Integer;
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Coefficient traits specialization for unbounded integers.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <>
+struct Coefficient_traits_template<GMP_Integer> {
+  //! The type used for references to const unbounded integers.
+  typedef const GMP_Integer& const_reference;
+};
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Coefficient.types.hh line 149. */
+#endif
+
+namespace Parma_Polyhedra_Library {
+
+//! An alias for easily naming the type of PPL coefficients.
+/*! \ingroup PPL_CXX_interface
+  Objects of type Coefficient are used to implement the integral valued
+  coefficients occurring in linear expressions, constraints, generators,
+  intervals, bounding boxes and so on.  Depending on the chosen
+  configuration options (see file <CODE>README.configure</CODE>),
+  a Coefficient may actually be:
+    - The GMP_Integer type, which in turn is an alias for the
+      <CODE>mpz_class</CODE> type implemented by the C++ interface
+      of the GMP library (this is the default configuration).
+    - An instance of the Checked_Number class template: with the policy
+      Bounded_Integer_Coefficient_Policy, this implements overflow
+      detection on top of a native integral type (available template
+      instances include checked integers having 8, 16, 32 or 64 bits);
+      with the Checked_Number_Transparent_Policy, this is a wrapper
+      for native integral types with no overflow detection
+      (available template instances are as above).
+*/
+typedef PPL_COEFFICIENT_TYPE Coefficient;
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! An alias for easily naming the coefficient traits.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+typedef Coefficient_traits_template<Coefficient> Coefficient_traits;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Linear_Expression.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+class Linear_Expression;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Constraint.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+class Constraint;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Generator.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+class Generator;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Congruence.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+class Congruence;
+
+}
+
+/* Automatically generated from PPL source file ../src/Grid_Generator.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+class Grid_Generator;
+
+}
+
+/* Automatically generated from PPL source file ../src/Scalar_Products.defs.hh line 34. */
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! A class implementing various scalar product functions.
+/*! \ingroup PPL_CXX_interface
+  When computing the scalar product of (Linear_Row or Constraint or
+  Generator) objects <CODE>x</CODE> and <CODE>y</CODE>, it is assumed
+  that the space dimension of the first object <CODE>x</CODE> is less
+  than or equal to the space dimension of the second object <CODE>y</CODE>.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+class Parma_Polyhedra_Library::Scalar_Products {
+public:
+  //! Computes the scalar product of \p x and \p y and assigns it to \p z.
+  static void assign(Coefficient& z, const Linear_Row& x, const Linear_Row& y);
+  //! Computes the scalar product of \p c and \p g and assigns it to \p z.
+  static void assign(Coefficient& z, const Constraint& c, const Generator& g);
+  //! Computes the scalar product of \p g and \p c and assigns it to \p z.
+  static void assign(Coefficient& z, const Generator& g, const Constraint& c);
+  //! Computes the scalar product of \p c and \p g and assigns it to \p z.
+  static void assign(Coefficient& z,
+		     const Constraint& c, const Grid_Generator& g);
+  //! Computes the scalar product of \p g and \p cg and assigns it to \p z.
+  static void assign(Coefficient& z,
+		     const Grid_Generator& g, const Congruence& cg);
+  //! Computes the scalar product of \p cg and \p g and assigns it to \p z.
+  static void assign(Coefficient& z,
+		     const Congruence& cg, const Grid_Generator& g);
+
+  //! Returns the sign of the scalar product between \p x and \p y.
+  static int sign(const Linear_Row& x, const Linear_Row& y);
+  //! Returns the sign of the scalar product between \p c and \p g.
+  static int sign(const Constraint& c, const Generator& g);
+  //! Returns the sign of the scalar product between \p g and \p c.
+  static int sign(const Generator& g, const Constraint& c);
+  //! Returns the sign of the scalar product between \p c and \p g.
+  static int sign(const Constraint& c, const Grid_Generator& g);
+
+  /*! \brief
+    Computes the \e reduced scalar product of \p x and \p y,
+    where the \f$\epsilon\f$ coefficient of \p x is ignored,
+    and assigns the result to \p z.
+  */
+  static void reduced_assign(Coefficient& z,
+			     const Linear_Row& x, const Linear_Row& y);
+  /*! \brief
+    Computes the \e reduced scalar product of \p c and \p g,
+    where the \f$\epsilon\f$ coefficient of \p c is ignored,
+    and assigns the result to \p z.
+  */
+  static void reduced_assign(Coefficient& z,
+			     const Constraint& c, const Generator& g);
+  /*! \brief
+    Computes the \e reduced scalar product of \p g and \p c,
+    where the \f$\epsilon\f$ coefficient of \p g is ignored,
+    and assigns the result to \p z.
+  */
+  static void reduced_assign(Coefficient& z,
+			     const Generator& g, const Constraint& c);
+  //! \brief
+  //! Computes the \e reduced scalar product of \p g and \p cg,
+  //! where the \f$\epsilon\f$ coefficient of \p g is ignored,
+  //! and assigns the result to \p z.
+  static void reduced_assign(Coefficient& z,
+			     const Grid_Generator& g, const Congruence& cg);
+
+  /*! \brief
+    Returns the sign of the \e reduced scalar product of \p x and \p y,
+    where the \f$\epsilon\f$ coefficient of \p x is ignored.
+  */
+  static int reduced_sign(const Linear_Row& x, const Linear_Row& y);
+  /*! \brief
+    Returns the sign of the \e reduced scalar product of \p c and \p g,
+    where the \f$\epsilon\f$ coefficient of \p c is ignored.
+  */
+  static int reduced_sign(const Constraint& c, const Generator& g);
+  /*! \brief
+    Returns the sign of the \e reduced scalar product of \p g and \p c,
+    where the \f$\epsilon\f$ coefficient of \p g is ignored.
+  */
+  static int reduced_sign(const Generator& g, const Constraint& c);
+
+  /*! \brief
+    Computes the \e homogeneous scalar product of \p x and \p y,
+    where the inhomogeneous terms are ignored,
+    and assigns the result to \p z.
+  */
+  static void homogeneous_assign(Coefficient& z,
+				 const Linear_Row& x, const Linear_Row& y);
+  /*! \brief
+    Computes the \e homogeneous scalar product of \p e and \p g,
+    where the inhomogeneous terms are ignored,
+    and assigns the result to \p z.
+  */
+  static void homogeneous_assign(Coefficient& z,
+				 const Linear_Expression& e,
+				 const Generator& g);
+  //! \brief
+  //! Computes the \e homogeneous scalar product of \p g and \p c,
+  //! where the inhomogeneous terms are ignored,
+  //! and assigns the result to \p z.
+  static void homogeneous_assign(Coefficient& z,
+				 const Grid_Generator& g, const Constraint& c);
+  //! \brief
+  //! Computes the \e homogeneous scalar product of \p g and \p cg,
+  //! where the inhomogeneous terms are ignored,
+  //! and assigns the result to \p z.
+  static void homogeneous_assign(Coefficient& z,
+				 const Grid_Generator& g, const Congruence& cg);
+  //! \brief
+  //! Computes the \e homogeneous scalar product of \p e and \p g,
+  //! where the inhomogeneous terms are ignored,
+  //! and assigns the result to \p z.
+  static void homogeneous_assign(Coefficient& z,
+				 const Linear_Expression& e,
+				 const Grid_Generator& g);
+
+  /*! \brief
+    Returns the sign of the \e homogeneous scalar product of \p x and \p y,
+    where the inhomogeneous terms are ignored.
+  */
+  static int homogeneous_sign(const Linear_Row& x, const Linear_Row& y);
+  /*! \brief
+    Returns the sign of the \e homogeneous scalar product of \p e and \p g,
+    where the inhomogeneous terms are ignored.
+  */
+  static int homogeneous_sign(const Linear_Expression& e, const Generator& g);
+  //! \brief
+  //! Returns the sign of the \e homogeneous scalar product of \p e and \p g,
+  //! where the inhomogeneous terms are ignored,
+  static int homogeneous_sign(const Linear_Expression& e,
+			      const Grid_Generator& g);
+  //! \brief
+  //! Returns the sign of the \e homogeneous scalar product of \p g and \p c,
+  //! where the inhomogeneous terms are ignored,
+  static int homogeneous_sign(const Grid_Generator& g, const Constraint& c);
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Scalar product sign function object depending on topology.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+class Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign {
+public:
+  //! Constructs the function object according to the topology of \p c.
+  Topology_Adjusted_Scalar_Product_Sign(const Constraint& c);
+  //! Constructs the function object according to the topology of \p g.
+  Topology_Adjusted_Scalar_Product_Sign(const Generator& g);
+
+  //! Computes the (topology adjusted) scalar product sign of \p c and \p g.
+  int operator()(const Constraint&, const Generator&) const;
+  //! Computes the (topology adjusted) scalar product sign of \p g and \p c.
+  int operator()(const Generator&, const Constraint&) const;
+
+private:
+  //! The type of the scalar product sign function pointer.
+  typedef int (*SPS_type)(const Linear_Row&, const Linear_Row&);
+
+  //! The scalar product sign function pointer.
+  SPS_type sps_fp;
+};
+
+/* Automatically generated from PPL source file ../src/Scalar_Products.inlines.hh line 1. */
+/* Scalar_Products class implementation (inline functions).
+*/
+
+
+/* Automatically generated from PPL source file ../src/Linear_Row.defs.hh line 1. */
+/* Linear_Row class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Row.defs.hh line 1. */
+/* Row class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Row.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+class Row_Impl_Handler;
+class Row;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Coefficient.defs.hh line 1. */
+/* Coefficient class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Coefficient.defs.hh line 27. */
+#include <iosfwd>
+
+#if defined(PPL_CHECKED_INTEGERS) || defined(PPL_NATIVE_INTEGERS)
+/* Automatically generated from PPL source file ../src/Coefficient.defs.hh line 32. */
+#endif
+
+#ifdef PPL_GMP_INTEGERS
+/* Automatically generated from PPL source file ../src/GMP_Integer.defs.hh line 1. */
+/* GMP_Integer class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/GMP_Integer.defs.hh line 28. */
+#include <cstddef>
+
+namespace Parma_Polyhedra_Library {
+
+//! \name Accessor Functions
+//@{
+
+//! Returns a const reference to the underlying integer value.
+/*! \relates GMP_Integer */
+const mpz_class& raw_value(const GMP_Integer& x);
+
+//! Returns a reference to the underlying integer value.
+/*! \relates GMP_Integer */
+mpz_class& raw_value(GMP_Integer& x);
+
+//@} // Accessor Functions
+
+//! \name Memory Size Inspection Functions
+//@{
+
+#ifndef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns the total size in bytes of the memory occupied by \p x.
+/*! \relates GMP_Integer */
+#endif // !defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+memory_size_type total_memory_in_bytes(const GMP_Integer& x);
+
+#ifndef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns the size in bytes of the memory managed by \p x.
+/*! \relates GMP_Integer */
+#endif // !defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+memory_size_type external_memory_in_bytes(const GMP_Integer& x);
+
+//@} // Memory Size Inspection Functions
+
+//! \name Arithmetic Operators
+//@{
+
+//! Assigns to \p x its negation.
+/*! \relates GMP_Integer */
+void neg_assign(GMP_Integer& x);
+
+//! Assigns to \p x the negation of \p y.
+/*! \relates GMP_Integer */
+void neg_assign(GMP_Integer& x, const GMP_Integer& y);
+
+//! Assigns to \p x its absolute value.
+/*! \relates GMP_Integer */
+void abs_assign(GMP_Integer& x);
+
+//! Assigns to \p x the absolute value of \p y.
+/*! \relates GMP_Integer */
+void abs_assign(GMP_Integer& x, const GMP_Integer& y);
+
+//! Assigns to \p x the remainder of the division of \p y by \p z.
+/*! \relates GMP_Integer */
+void rem_assign(GMP_Integer& x,
+		const GMP_Integer& y, const GMP_Integer& z);
+
+//! Assigns to \p x the greatest common divisor of \p y and \p z.
+/*! \relates GMP_Integer */
+void gcd_assign(GMP_Integer& x,
+		const GMP_Integer& y, const GMP_Integer& z);
+
+//! Extended GCD.
+/*! \relates GMP_Integer
+  Assigns to \p x the greatest common divisor of \p y and \p z, and to
+  \p s and \p t the values such that \p y * \p s + \p z * \p t = \p x.
+*/
+void gcdext_assign(GMP_Integer& x, GMP_Integer& s, GMP_Integer& t,
+		   const GMP_Integer& y, const GMP_Integer& z);
+
+//! Assigns to \p x the least common multiple of \p y and \p z.
+/*! \relates GMP_Integer */
+void lcm_assign(GMP_Integer& x,
+		const GMP_Integer& y, const GMP_Integer& z);
+
+//! Assigns to \p x the value <CODE>x + y * z</CODE>.
+/*! \relates GMP_Integer */
+void add_mul_assign(GMP_Integer& x,
+		    const GMP_Integer& y, const GMP_Integer& z);
+
+//! Assigns to \p x the value <CODE>x - y * z</CODE>.
+/*! \relates GMP_Integer */
+void sub_mul_assign(GMP_Integer& x,
+		    const GMP_Integer& y, const GMP_Integer& z);
+
+//! Assigns to \p x the value \f$ y \cdot 2^\mathtt{exp} \f$.
+/*! \relates GMP_Integer */
+void mul_2exp_assign(GMP_Integer& x, const GMP_Integer& y, unsigned int exp);
+
+//! Assigns to \p x the value \f$ y / 2^\mathtt{exp} \f$.
+/*! \relates GMP_Integer */
+void div_2exp_assign(GMP_Integer& x, const GMP_Integer& y, unsigned int exp);
 
-  Valid syntax is more formally and completely specified by the
-  following grammar, with the additional provisos that everything is
-  <EM>case insensitive</EM>, that the syntactic category
-  <CODE>BDIGIT</CODE> is further restricted by the current base
-  and that for all bases above 14, any <CODE>e</CODE> is always
-  interpreted as a digit and never as a delimiter for the exponent part
-  (if such a delimiter is desired, it has to be written as <CODE>*^</CODE>).
+/*! \brief
+  If \p z divides \p y, assigns to \p x the quotient of the integer
+  division of \p y and \p z.
 
-\code
-number	: NAN					INF	: 'inf'
-	| SIGN INF					;
-	| INF
-	| num					NAN	: 'nan'
-	| num DIV num					;
-	;
-						SIGN	: '-'
-num     : unum						| '+'
-        | SIGN unum					;
+  \relates GMP_Integer
+  The behavior is undefined if \p z does not divide \p y.
+*/
+void exact_div_assign(GMP_Integer& x,
+		      const GMP_Integer& y, const GMP_Integer& z);
 
-unum	: unum1					EXP	: 'e'
-	| HEX unum1					| '*^'
-	| base BASE unum1				;
-	;
-						POINT	: '.'
-unum1	: mantissa					;
-	| mantissa EXP exponent
-	;					DIV	: '/'
-							;
-mantissa: bdigits
-        | POINT bdigits				MINUS	: '-'
-	| bdigits POINT					;
-	| bdigits POINT bdigits
-	;					PLUS	: '+'
-						;
-exponent: SIGN digits
-	| digits				HEX	: '0x'
-	;					;
+//! Assigns to \p x the integer square root of \p y.
+/*! \relates GMP_Integer */
+void sqrt_assign(GMP_Integer& x, const GMP_Integer& y);
 
-bdigits : BDIGIT				BASE	: '^^'
-	| bdigits BDIGIT				;
-	;
-						DIGIT   : '0' .. '9'
-digits  : DIGIT						;
-	| digits DIGIT
-	;					BDIGIT  : '0' .. '9'
-							| 'a' .. 'z'
-							;
-\endcode
+/*! \brief
+  Returns a negative, zero or positive value depending on whether
+  \p x is lower than, equal to or greater than \p y, respectively.
+
+  \relates GMP_Integer
 */
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, Result>::type
-input(T& x, std::istream& is, Rounding_Dir dir);
+int cmp(const GMP_Integer& x, const GMP_Integer& y);
 
-//! Input operator.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-std::istream&
-operator>>(std::istream& is, Checked_Number<T, Policy>& x);
+//@} // Arithmetic Operators
 
-//! Ascii load for native or checked.
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
-ascii_load(std::ostream& s, T& t);
+} // namespace Parma_Polyhedra_Library
 
-//@} // Input-Output Operators
+/* Automatically generated from PPL source file ../src/GMP_Integer.inlines.hh line 1. */
+/* GMP_Integer class implementation: inline functions.
+*/
 
-void throw_result_exception(Result r);
 
-template <typename T>
-T
-plus_infinity();
+/* Automatically generated from PPL source file ../src/GMP_Integer.inlines.hh line 27. */
 
-template <typename T>
-T
-minus_infinity();
+namespace Parma_Polyhedra_Library {
 
-template <typename T>
-T
-not_a_number();
+inline void
+neg_assign(GMP_Integer& x) {
+  mpz_neg(x.get_mpz_t(), x.get_mpz_t());
+}
 
-//! Swaps \p x with \p y.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void swap(Checked_Number<T, Policy>& x, Checked_Number<T, Policy>& y);
+inline void
+neg_assign(GMP_Integer& x, const GMP_Integer& y) {
+  mpz_neg(x.get_mpz_t(), y.get_mpz_t());
+}
 
-template <typename T, typename Policy>
-struct FPU_Related<Checked_Number<T, Policy> > : public FPU_Related<T> {};
+inline void
+abs_assign(GMP_Integer& x) {
+  mpz_abs(x.get_mpz_t(), x.get_mpz_t());
+}
 
-template <typename T>
-void maybe_reset_fpu_inexact();
+inline void
+abs_assign(GMP_Integer& x, const GMP_Integer& y) {
+  mpz_abs(x.get_mpz_t(), y.get_mpz_t());
+}
 
-template <typename T>
-int maybe_check_fpu_inexact();
+inline void
+gcd_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) {
+  mpz_gcd(x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t());
+}
 
-} // namespace Parma_Polyhedra_Library
+inline void
+rem_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) {
+  mpz_tdiv_r(x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t());
+}
 
-/* Automatically generated from PPL source file ../src/Checked_Number.inlines.hh line 1. */
-/* Checked_Number class implementation: inline functions.
-*/
+inline void
+gcdext_assign(GMP_Integer& x, GMP_Integer& s, GMP_Integer& t,
+	      const GMP_Integer& y, const GMP_Integer& z) {
+  mpz_gcdext(x.get_mpz_t(),
+	     s.get_mpz_t(), t.get_mpz_t(),
+	     y.get_mpz_t(), z.get_mpz_t());
+}
 
+inline void
+lcm_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) {
+  mpz_lcm(x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t());
+}
 
-/* Automatically generated from PPL source file ../src/globals.defs.hh line 1. */
-/* Declarations of global objects.
-*/
+inline void
+add_mul_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) {
+  mpz_addmul(x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t());
+}
+
+inline void
+sub_mul_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) {
+  mpz_submul(x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t());
+}
 
+inline void
+mul_2exp_assign(GMP_Integer& x, const GMP_Integer& y, unsigned int exp) {
+  mpz_mul_2exp(x.get_mpz_t(), y.get_mpz_t(), exp);
+}
 
-/* Automatically generated from PPL source file ../src/globals.defs.hh line 31. */
-#include <exception>
-#include <gmpxx.h>
+inline void
+div_2exp_assign(GMP_Integer& x, const GMP_Integer& y, unsigned int exp) {
+  mpz_tdiv_q_2exp(x.get_mpz_t(), y.get_mpz_t(), exp);
+}
+
+inline void
+exact_div_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) {
+  PPL_ASSERT(y % z == 0);
+  mpz_divexact(x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t());
+}
+
+inline void
+sqrt_assign(GMP_Integer& x, const GMP_Integer& y) {
+  mpz_sqrt(x.get_mpz_t(), y.get_mpz_t());
+}
+
+inline int
+cmp(const GMP_Integer& x, const GMP_Integer& y) {
+  return mpz_cmp(x.get_mpz_t(), y.get_mpz_t());
+}
+
+inline const mpz_class&
+raw_value(const GMP_Integer& x) {
+  return x;
+}
+
+inline mpz_class&
+raw_value(GMP_Integer& x) {
+  return x;
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/GMP_Integer.defs.hh line 149. */
+
+/* Automatically generated from PPL source file ../src/Coefficient.defs.hh line 36. */
+#endif
 
 namespace Parma_Polyhedra_Library {
 
-//! Returns a value that does not designate a valid dimension.
-dimension_type
-not_a_dimension();
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Initializes the Coefficient constants.
+#endif
+void Coefficient_constants_initialize();
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  Make sure swap() is specialized when needed.
+//! Finalizes the Coefficient constants.
+#endif
+void Coefficient_constants_finalize();
 
-  This will cause a compile-time error whenever a specialization for \p T
-  is beneficial but missing.
+//! Returns a const reference to a Coefficient with value 0.
+Coefficient_traits::const_reference Coefficient_zero();
+
+//! Returns a const reference to a Coefficient with value 1.
+Coefficient_traits::const_reference Coefficient_one();
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Coefficient.inlines.hh line 1. */
+/* Coefficient class implementation: inline functions.
 */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-inline typename Enable_If<Slow_Copy<T>::value, void>::type
-swap(T&, T&) {
-  PPL_COMPILE_TIME_CHECK(!Slow_Copy<T>::value, "missing swap specialization");
+
+
+namespace Parma_Polyhedra_Library {
+
+#ifdef PPL_CHECKED_INTEGERS
+inline void
+Bounded_Integer_Coefficient_Policy::handle_result(Result r) {
+  // Note that the input functions can return VC_NAN.
+  if (result_overflow(r) || result_class(r) == VC_NAN)
+    throw_result_exception(r);
 }
+#endif // PPL_CHECKED_INTEGERS
 
-/*! \brief
-  Declare a local variable named \p id, of type Coefficient, and containing
-  an unknown initial value.
 
-  Use of this macro to declare temporaries of type Coefficient results
-  in decreased memory allocation overhead and in better locality.
-*/
-#define PPL_DIRTY_TEMP_COEFFICIENT(id) PPL_DIRTY_TEMP0(Coefficient, id)
+#if defined(PPL_CHECKED_INTEGERS) || defined(PPL_NATIVE_INTEGERS)
+inline Coefficient_traits::const_reference
+Coefficient_zero() {
+  // FIXME: is there a way to avoid this static variable?
+  static Coefficient zero(0);
+  return zero;
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Speculative allocation function.
-/*!
-  \return
-  The actual capacity to be allocated.
+inline Coefficient_traits::const_reference
+Coefficient_one() {
+  // FIXME: is there a way to avoid this static variable?
+  static Coefficient one(1);
+  return one;
+}
+#endif // defined(PPL_CHECKED_INTEGERS) || defined(PPL_NATIVE_INTEGERS)
 
-  \param requested_size
-  The number of elements we need.
+#ifdef PPL_GMP_INTEGERS
+inline Coefficient_traits::const_reference
+Coefficient_zero() {
+  extern const Coefficient* Coefficient_zero_p;
+  return *Coefficient_zero_p;
+}
 
-  \param maximum_size
-  The maximum number of elements to be allocated. It is assumed
-  to be no less than \p requested_size.
+inline Coefficient_traits::const_reference
+Coefficient_one() {
+  extern const Coefficient* Coefficient_one_p;
+  PPL_ASSERT(*Coefficient_one_p != 0);
+  return *Coefficient_one_p;
+}
+#endif // PPL_GMP_INTEGERS
 
-  Computes a capacity given a requested size.
-  Allows for speculative allocation aimed at reducing the number of
-  reallocations enough to guarantee amortized constant insertion time
-  for our vector-like data structures. In all cases, the speculative
-  allocation will not exceed \p maximum_size.
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Coefficient.defs.hh line 59. */
+
+/* Automatically generated from PPL source file ../src/Row.defs.hh line 29. */
+#include <vector>
+#include <limits>
+
+#ifndef PPL_ROW_EXTRA_DEBUG
+#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*!
+  \brief
+  Enables extra debugging information for class Row.
+
+  \ingroup PPL_CXX_interface
+  When <CODE>PPL_ROW_EXTRA_DEBUG</CODE> evaluates to <CODE>true</CODE>,
+  each instance of the class Row carries its own capacity; this enables
+  extra consistency checks to be performed.
 */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-dimension_type
-compute_capacity(dimension_type requested_size,
-		 dimension_type maximum_size);
+#define PPL_ROW_EXTRA_DEBUG 1
+#else // !defined(PPL_ABI_BREAKING_EXTRA_DEBUG)
+#define PPL_ROW_EXTRA_DEBUG 0
+#endif // !defined(PPL_ABI_BREAKING_EXTRA_DEBUG)
+#endif // !defined(PPL_ROW_EXTRA_DEBUG)
 
-//! User objects the PPL can throw.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! The handler of the actual Row implementation.
 /*! \ingroup PPL_CXX_interface
-  This abstract base class should be instantiated by those users
-  willing to provide a polynomial upper bound to the time spent
-  by any invocation of a library operator.
+  Exception-safety is the only responsibility of this class: it has
+  to ensure that its \p impl member is correctly deallocated.
 */
-class Throwable {
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+class Parma_Polyhedra_Library::Row_Impl_Handler {
 public:
-  //! Throws the user defined exception object.
-  virtual void throw_me() const = 0;
-
-  //! Virtual destructor.
-  virtual ~Throwable();
-};
+  //! Default constructor.
+  Row_Impl_Handler();
 
-/*! \brief
-  A pointer to an exception object.
+  //! Destructor.
+  ~Row_Impl_Handler();
 
-  \ingroup PPL_CXX_interface
-  This pointer, which is initialized to zero, is repeatedly checked
-  along any super-linear (i.e., computationally expensive) computation
-  path in the library.
-  When it is found nonzero the exception it points to is thrown.
-  In other words, making this pointer point to an exception (and
-  leaving it in this state) ensures that the library will return
-  control to the client application, possibly by throwing the given
-  exception, within a time that is a linear function of the size
-  of the representation of the biggest object (powerset of polyhedra,
-  polyhedron, system of constraints or generators) on which the library
-  is operating upon.
+  class Impl;
 
-  \note
-  The only sensible way to assign to this pointer is from within a
-  signal handler or from a parallel thread.  For this reason, the
-  library, apart from ensuring that the pointer is initially set to zero,
-  never assigns to it.  In particular, it does not zero it again when
-  the exception is thrown: it is the client's responsibility to do so.
-*/
-extern const Throwable* volatile abandon_expensive_computations;
+  //! A pointer to the actual implementation.
+  Impl* impl;
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  If the pointer abandon_expensive_computations is found
-  to be nonzero, the exception it points to is thrown.
+#if PPL_ROW_EXTRA_DEBUG
+  //! The capacity of \p impl (only available during debugging).
+  dimension_type capacity_;
+#endif // PPL_ROW_EXTRA_DEBUG
 
-  \relates Throwable
-*/
-#endif
-void
-maybe_abandon();
+private:
+  //! Private and unimplemented: copy construction is not allowed.
+  Row_Impl_Handler(const Row_Impl_Handler&);
 
-//! A tag class.
-/*! \ingroup PPL_CXX_interface
-  Tag class to make the Grid covering box constructor unique.
-*/
-struct From_Covering_Box {
+  //! Private and unimplemented: copy assignment is not allowed.
+  Row_Impl_Handler& operator=(const Row_Impl_Handler&);
 };
 
-//! A tag class.
-/*! \ingroup PPL_CXX_interface
-  Tag class to distinguish those constructors that recycle the data
-  structures of their arguments, instead of taking a copy.
-*/
-struct Recycle_Input {
-};
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! A finite sequence of coefficients.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+class Parma_Polyhedra_Library::Row : private Row_Impl_Handler {
+public:
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Wrapper class to represent a set of flags with bits in a native
+    unsigned integral type.
+    \ingroup PPL_CXX_interface
+  */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  class Flags {
+  public:
+    //! Constructs an object with all the flags unset.
+    Flags();
 
-// Turn s into a string: PPL_STR(x + y) => "x + y".
-#define PPL_STR(s) #s
-// Turn the expansion of s into a string: PPL_XSTR(x) => "x expanded".
-#define PPL_XSTR(s) PPL_STR(s)
+    //! Returns <CODE>true</CODE> if and only if \p *this and \p y are equal.
+    bool operator==(const Flags& y) const;
 
-#define PPL_OUTPUT_DECLARATIONS						\
-  /*! \brief Writes to \c std::cerr an ASCII representation of \p *this. */ \
-  void ascii_dump() const;						\
-  /*! \brief Writes to \p s an ASCII representation of \p *this. */	\
-  void ascii_dump(std::ostream& s) const;				\
-  /*! \brief Prints \p *this to \c std::cerr using \c operator<<. */	\
-  void print() const;
+    /*! \brief
+      Returns <CODE>true</CODE> if and only if \p *this and \p y
+      are different.
+    */
+    bool operator!=(const Flags& y) const;
 
-#define PPL_OUTPUT_DEFINITIONS(class_name)			\
-  void								\
-  Parma_Polyhedra_Library::class_name::ascii_dump() const {	\
-    ascii_dump(std::cerr);					\
-  }								\
-								\
-  void								\
-  Parma_Polyhedra_Library::class_name::print() const {		\
-    using namespace IO_Operators;				\
-    std::cerr << *this;						\
-  }
+    PPL_OUTPUT_DECLARATIONS
 
-#define PPL_OUTPUT_DEFINITIONS_ASCII_ONLY(class_name)			\
-  void									\
-  Parma_Polyhedra_Library::class_name::ascii_dump() const {		\
-    ascii_dump(std::cerr);						\
-  }									\
-									\
-  void									\
-  Parma_Polyhedra_Library::class_name::print() const {			\
-    std::cerr << "No user level output operator defined "		\
-	      << "for class " PPL_XSTR(class_name) << "." << std::endl; \
-  }
+    //! Uses the ASCII Flags representation from \p s to recreate *this.
+    /*!
+      Returns <CODE>true</CODE> if successful, <CODE>false</CODE>
+      otherwise.  The ASCII representation is as output by
+      \ref Parma_Polyhedra_Library::Row::Flags::ascii_dump.
+    */
+    bool ascii_load(std::istream& s);
 
-#define PPL_OUTPUT_TEMPLATE_DEFINITIONS(type_symbol, class_prefix)	\
-  template <typename type_symbol>					\
-  void									\
-  class_prefix::ascii_dump() const {					\
-    ascii_dump(std::cerr);						\
-  }									\
-									\
-  template <typename type_symbol>					\
-  void									\
-  class_prefix::print() const {						\
-    using namespace IO_Operators;					\
-    std::cerr << *this;							\
-  }
+  protected:
+    //! A native integral type holding the bits that encode the flags.
+    typedef unsigned int base_type;
 
-#define PPL_OUTPUT_2_PARAM_TEMPLATE_DEFINITIONS(type_symbol1,		\
-						type_symbol2,		\
-						class_prefix)		\
-  template <typename type_symbol1, typename type_symbol2>		\
-  void									\
-  class_prefix<type_symbol1, type_symbol2>::ascii_dump() const {	\
-    ascii_dump(std::cerr);						\
-  }									\
-									\
-  template <typename type_symbol1, typename type_symbol2>		\
-  void									\
-  class_prefix<type_symbol1, type_symbol2>::print() const {		\
-    using namespace IO_Operators;					\
-    std::cerr << *this;							\
-  }
+    //! Index of the first bit derived classes can use.
+    static const unsigned first_free_bit = 0;
 
-#define PPL_OUTPUT_3_PARAM_TEMPLATE_DEFINITIONS(type_symbol1,		\
-						type_symbol2,		\
-						type_symbol3,		\
-						class_prefix)		\
-  template <typename type_symbol1, typename type_symbol2,		\
-            typename type_symbol3>					\
-  void									\
-  class_prefix<type_symbol1, type_symbol2, type_symbol3>::ascii_dump()	\
-    const {								\
-    ascii_dump(std::cerr);						\
-  }									\
-                                                                     	\
-    template <typename type_symbol1, typename type_symbol2,		\
-              typename type_symbol3>					\
-    void								\
-    class_prefix<type_symbol1, type_symbol2, type_symbol3>::print()	\
-      const {								\
-      using namespace IO_Operators;					\
-      std::cerr << *this;						\
-    }
+    //! Total number of bits that can be stored.
+    static const unsigned num_bits = std::numeric_limits<base_type>::digits;
 
-#define PPL_OUTPUT_TEMPLATE_DEFINITIONS_ASCII_ONLY(type_symbol, class_prefix) \
-  template <typename type_symbol>					\
-  void									\
-  class_prefix::ascii_dump() const {					\
-    ascii_dump(std::cerr);						\
-  }									\
-									\
-  template <typename type_symbol>					\
-  void									\
-  class_prefix::print() const {						\
-    std::cerr << "No user level output operator defined "		\
-	      << "for " PPL_XSTR(class_prefix) << "." << std::endl;	\
-  }
+    //! Constructs an object with flags set as in \p n.
+    explicit Flags(base_type n);
+
+    //! Returns the integer encoding \p *this.
+    base_type get_bits() const;
 
-template <typename T, long long v, typename Enable = void>
-struct Fit : public False {
-};
+    //! Sets the bits in \p mask.
+    void set_bits(base_type mask);
 
-template <typename T, long long v>
-struct Fit<T, v, typename Enable_If<C_Integer<T>::value>::type>  {
-  enum {
-    value = (v >= static_cast<long long>(C_Integer<T>::min)
-             && v <= static_cast<long long>(C_Integer<T>::max))
+    //! Resets the bits in \p mask.
+    void reset_bits(base_type mask);
+
+    /*! \brief
+      Returns <CODE>true</CODE> if and only if all the bits
+      in \p mask are set.
+    */
+    bool test_bits(base_type mask) const;
+
+  private:
+    //! The integer encoding \p *this.
+    base_type bits;
+
+    friend class Row;
   };
-};
 
-template <typename T, long long v>
-struct TConstant {
-  static const T value = v;
-};
+  //! Pre-constructs a row: construction must be completed by construct().
+  Row();
 
+  //! \name Post-constructors
+  //@{
+  //! Constructs properly a default-constructed element.
+  /*!
+    Builds a row with size and capacity \p sz and flags \p f.
+  */
+  void construct(dimension_type sz, Flags f);
 
-template <typename T, long long v>
-const T TConstant<T, v>::value;
+  //! Constructs properly a default-constructed element.
+  /*!
+    \param sz
+    The size of the row that will be constructed;
 
-template <typename T, long long v, bool prefer_signed = true,
-	  typename Enable = void>
-struct Constant_ : public TConstant<T, v> {
-};
+    \param capacity
+    The capacity of the row that will be constructed;
 
-template <typename T, long long v, bool prefer_signed>
-struct Constant_<T, v, prefer_signed,
-		 typename Enable_If<(Fit<typename C_Integer<T>::smaller_signed_type, v>::value
-				     && (prefer_signed ||
-					 !Fit<typename C_Integer<T>::smaller_unsigned_type, v>::value))>::type>
-  : public Constant_<typename C_Integer<T>::smaller_signed_type, v, prefer_signed> {
-};
+    \param f
+    Flags for the row that will be constructed.
 
-template <typename T, long long v, bool prefer_signed>
-struct Constant_<T, v, prefer_signed,
-		 typename Enable_If<(Fit<typename C_Integer<T>::smaller_unsigned_type, v>::value
-				     && (!prefer_signed ||
-					 !Fit<typename C_Integer<T>::smaller_signed_type, v>::value))>::type>
-  : public Constant_<typename C_Integer<T>::smaller_unsigned_type, v, prefer_signed> {
-};
+    The row that is constructed has storage for \p capacity elements,
+    \p sz of which are default-constructed now.
+    The row flags are set to \p f.
+  */
+  void construct(dimension_type sz, dimension_type capacity, Flags f);
+  //@} // Post-constructors
 
-template <long long v, bool prefer_signed = true>
-struct Constant : public Constant_<long long, v, prefer_signed> {
-};
+  //! Tight constructor: resizing may require reallocation.
+  /*!
+    Constructs a row with size and capacity \p sz, and flags \p f.
+  */
+  Row(dimension_type sz, Flags f);
 
-//! \name Memory Size Inspection Functions
-//@{
+  //! Sizing constructor with capacity.
+  /*!
+    \param sz
+    The size of the row that will be constructed;
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  For native types, returns the total size in bytes of the memory
-  occupied by the type of the (unused) parameter, i.e., 0.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-typename Enable_If<Is_Native<T>::value, memory_size_type>::type
-total_memory_in_bytes(const T&);
+    \param capacity
+    The capacity of the row that will be constructed;
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  For native types, returns the size in bytes of the memory managed
-  by the type of the (unused) parameter, i.e., 0.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-typename Enable_If<Is_Native<T>::value, memory_size_type>::type
-external_memory_in_bytes(const T&);
+    \param f
+    Flags for the row that will be constructed.
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns the total size in bytes of the memory occupied by \p x.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-memory_size_type
-total_memory_in_bytes(const mpz_class& x);
+    The row that is constructed has storage for \p capacity elements,
+    \p sz of which are default-constructed now.
+    The row flags are set to \p f.
+  */
+  Row(dimension_type sz, dimension_type capacity, Flags f);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns the size in bytes of the memory managed by \p x.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-memory_size_type
-external_memory_in_bytes(const mpz_class& x);
+  //! Ordinary copy constructor.
+  Row(const Row& y);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns the total size in bytes of the memory occupied by \p x.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-memory_size_type
-total_memory_in_bytes(const mpq_class& x);
+  //! Copy constructor with specified capacity.
+  /*!
+    It is assumed that \p capacity is greater than or equal to
+    the size of \p y.
+  */
+  Row(const Row& y, dimension_type capacity);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns the size in bytes of the memory managed by \p x.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-memory_size_type
-external_memory_in_bytes(const mpq_class& x);
+  //! Copy constructor with specified size and capacity.
+  /*!
+    It is assumed that \p sz is greater than or equal to the size of \p y
+    and, of course, that \p sz is less than or equal to \p capacity.
+  */
+  Row(const Row& y, dimension_type sz, dimension_type capacity);
 
-//@} // Memory Size Inspection Functions
+  //! Destructor.
+  ~Row();
 
+  //! Assignment operator.
+  Row& operator=(const Row& y);
 
-template <typename T, typename Enable = void>
-struct Has_OK : public False { };
+  //! Swaps \p *this with \p y.
+  void swap(Row& y);
 
-template <typename T>
-struct Has_OK<T, typename Enable_If_Is<bool (T::*)() const, &T::OK>::type>
-  : public True {
-};
+  //! Assigns the implementation of \p y to \p *this.
+  /*!
+    To be used with extra care, since it may easily cause memory leaks
+    or undefined behavior.
+  */
+  void assign(Row& y);
 
-template <typename T>
-inline typename Enable_If<Has_OK<T>::value, bool>::type
-f_OK(const T& to) {
-  return to.OK();
-}
+  /*! \brief
+    Allocates memory for a default constructed Row object, setting
+    flags to \p f and allowing for \p capacity coefficients at most.
 
-#define FOK(T) inline bool f_OK(const T&) { return true; }
+    It is assumed that no allocation has been performed before
+    (otherwise, a memory leak will occur).
+    After execution, the size of the Row object is zero.
+  */
+  void allocate(dimension_type capacity, Flags f);
 
-FOK(char)
-FOK(signed char)
-FOK(unsigned char)
-FOK(signed short)
-FOK(unsigned short)
-FOK(signed int)
-FOK(unsigned int)
-FOK(signed long)
-FOK(unsigned long)
-FOK(signed long long)
-FOK(unsigned long long)
-FOK(float)
-FOK(double)
-FOK(long double)
-FOK(mpz_class)
-FOK(mpq_class)
+  //! Expands the row to size \p new_size.
+  /*!
+    Adds new positions to the implementation of the row
+    obtaining a new row with size \p new_size.
+    It is assumed that \p new_size is between the current size
+    and capacity of the row.
+  */
+  void expand_within_capacity(dimension_type new_size);
 
-} // namespace Parma_Polyhedra_Library
+  //! Shrinks the row by erasing elements at the end.
+  /*!
+    Destroys elements of the row implementation
+    from position \p new_size to the end.
+    It is assumed that \p new_size is not greater than the current size.
+  */
+  void shrink(dimension_type new_size);
 
-/* Automatically generated from PPL source file ../src/globals.inlines.hh line 1. */
-/* Implementation of global objects: inline functions.
-*/
+  //! Returns a const reference to the flags of \p *this.
+  const Flags& flags() const;
 
+  //! Returns a non-const reference to the flags of \p *this.
+  Flags& flags();
 
-#include <limits>
-#include <cassert>
+  //! Returns the size() of the largest possible Row.
+  static dimension_type max_size();
 
-namespace Parma_Polyhedra_Library {
+  //! Gives the number of coefficients currently in use.
+  dimension_type size() const;
 
-inline dimension_type
-not_a_dimension() {
-  return std::numeric_limits<dimension_type>::max();
-}
+  //! \name Subscript operators
+  //@{
+  //! Returns a reference to the element of the row indexed by \p k.
+  Coefficient& operator[](dimension_type k);
 
-inline
-Throwable::~Throwable() {
-}
+  //! Returns a constant reference to the element of the row indexed by \p k.
+  Coefficient_traits::const_reference operator[](dimension_type k) const;
+  //@} // Subscript operators
 
-inline void
-maybe_abandon() {
-  if (const Throwable* p = abandon_expensive_computations)
-    p->throw_me();
-}
+  //! Normalizes the modulo of coefficients so that they are mutually prime.
+  /*!
+    Computes the Greatest Common Divisor (GCD) among the elements of
+    the row and normalizes them by the GCD itself.
+  */
+  void normalize();
 
-inline dimension_type
-compute_capacity(const dimension_type requested_size,
-		 const dimension_type maximum_size) {
-  assert(requested_size <= maximum_size);
-  // Speculation factor 2.
-  return (requested_size < maximum_size / 2)
-    ? 2*(requested_size + 1)
-    : maximum_size;
-  // Speculation factor 1.5.
-  // return (maximum_size - requested_size > requested_size/2)
-  //   ? requested_size + requested_size/2 + 1
-  //   : maximum_size;
-}
+  PPL_OUTPUT_DECLARATIONS
 
-template <typename T>
-inline typename
-Enable_If<Is_Native<T>::value, memory_size_type>::type
-external_memory_in_bytes(const T&) {
-  return 0;
-}
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
 
-template <typename T>
-inline typename
-Enable_If<Is_Native<T>::value, memory_size_type>::type
-total_memory_in_bytes(const T&) {
-  return sizeof(T);
-}
+  /*! \brief
+    Returns a lower bound to the total size in bytes of the memory
+    occupied by \p *this.
+  */
+  memory_size_type total_memory_in_bytes() const;
 
-inline memory_size_type
-external_memory_in_bytes(const mpz_class& x) {
-  return x.get_mpz_t()[0]._mp_alloc * PPL_SIZEOF_MP_LIMB_T;
-}
+  /*! \brief
+    Returns a lower bound to the size in bytes of the memory
+    managed by \p *this.
+  */
+  memory_size_type external_memory_in_bytes() const;
 
-inline memory_size_type
-total_memory_in_bytes(const mpz_class& x) {
-  return sizeof(x) + external_memory_in_bytes(x);
-}
+  /*! \brief
+    Returns the total size in bytes of the memory occupied by \p *this,
+    provided the capacity of \p *this is given by \p capacity.
+  */
+  memory_size_type total_memory_in_bytes(dimension_type capacity) const;
 
-inline memory_size_type
-external_memory_in_bytes(const mpq_class& x) {
-  return external_memory_in_bytes(x.get_num())
-    + external_memory_in_bytes(x.get_den());
-}
+  /*! \brief
+    Returns the size in bytes of the memory managed by \p *this,
+    provided the capacity of \p *this is given by \p capacity.
+  */
+  memory_size_type external_memory_in_bytes(dimension_type capacity) const;
 
-inline memory_size_type
-total_memory_in_bytes(const mpq_class& x) {
-  return sizeof(x) + external_memory_in_bytes(x);
-}
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 
-} // namespace Parma_Polyhedra_Library
+  /*! \brief
+    Checks if all the invariants are satisfied and that the actual
+    size and capacity match the values provided as arguments.
+  */
+  bool OK(dimension_type row_size, dimension_type row_capacity) const;
 
-/* Automatically generated from PPL source file ../src/globals.defs.hh line 387. */
+private:
+  //! Exception-safe copy construction mechanism for coefficients.
+  void copy_construct_coefficients(const Row& y);
 
-/* Automatically generated from PPL source file ../src/Checked_Number.inlines.hh line 27. */
-#include <stdexcept>
-#include <sstream>
+#if PPL_ROW_EXTRA_DEBUG
+  //! Returns the capacity of the row (only available during debugging).
+  dimension_type capacity() const;
+#endif // PPL_ROW_EXTRA_DEBUG
+};
 
 namespace Parma_Polyhedra_Library {
 
-inline Rounding_Dir
-rounding_dir(Rounding_Dir dir) {
-  if (dir == ROUND_NOT_NEEDED) {
-#ifdef DEBUG_ROUND_NOT_NEEDED
-    return ROUND_DIRECT & ROUND_FPU_CHECK_INEXACT;
-#else
-    return ROUND_IGNORE;
-#endif
-  }
-  return dir;
-}
-
-inline Result
-check_result(Result r, Rounding_Dir dir) {
-  if (dir == ROUND_NOT_NEEDED && !is_special(r)) {
-#ifdef DEBUG_ROUND_NOT_NEEDED
-    // FIXME: this is wrong. If an overflow happens the Result may be
-    // V_LT or V_GT. What's the better way to cope with that?
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are equal.
+/*! \relates Row */
+bool operator==(const Row& x, const Row& y);
 
-    // To solve this we need to clarify if ROUND_NOT_NEEDED is
-    // specified to grant library that the result will be exact _and_
-    // not overflowing or the result will be exact _or_ overflowling.
-    assert(r == V_EQ);
-#else
-    return V_EQ;
-#endif
-  }
-  return r;
-}
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
+/*! \relates Row */
+bool operator!=(const Row& x, const Row& y);
 
+} // namespace Parma_Polyhedra_Library
 
-template <typename T>
-inline void
-Checked_Number_Transparent_Policy<T>::handle_result(Result) {
-}
 
-inline void
-Checked_Number_Default_Policy::handle_result(Result r) {
-  if (is_special(r))
-    throw_result_exception(r);
-}
+namespace std {
 
-inline void
-Extended_Number_Policy::handle_result(Result r) {
-  if (is_special(r))
-    throw_result_exception(r);
-}
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Specializes <CODE>std::swap</CODE>.
+/*! \relates Parma_Polyhedra_Library::Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void swap(Parma_Polyhedra_Library::Row& x,
+	  Parma_Polyhedra_Library::Row& y);
 
-inline void
-WRD_Extended_Number_Policy::handle_result(Result r) {
-  if (is_special(r))
-    throw_result_exception(r);
-}
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Specializes <CODE>std::iter_swap</CODE>.
+/*! \relates Parma_Polyhedra_Library::Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void iter_swap(std::vector<Parma_Polyhedra_Library::Row>::iterator x,
+	       std::vector<Parma_Polyhedra_Library::Row>::iterator y);
 
-template <typename T, typename Policy>
-inline
-Checked_Number<T, Policy>::Checked_Number()
- : v(0) {
-}
+} // namespace std
 
-template <typename T, typename Policy>
-inline
-Checked_Number<T, Policy>::Checked_Number(const Checked_Number& y) {
-  // TODO: avoid default construction of value member.
-  Checked::copy<Policy, Policy>(v, y.raw_value());
-}
 
-template <typename T, typename Policy>
-template <typename From, typename From_Policy>
-inline
-Checked_Number<T, Policy>
-::Checked_Number(const Checked_Number<From, From_Policy>& y,
-		 Rounding_Dir dir) {
-  // TODO: avoid default construction of value member.
-  Policy::handle_result(check_result(Checked::assign_ext<Policy, From_Policy>
-				     (v,
-				      y.raw_value(),
-				      rounding_dir(dir)),
-				     dir)
-			);
-}
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! The actual implementation of a Row object.
+/*! \ingroup PPL_CXX_interface
+  The class Row_Impl_Handler::Impl provides the implementation of Row
+  objects and, in particular, of the corresponding memory allocation
+  functions.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+class Parma_Polyhedra_Library::Row_Impl_Handler::Impl {
+public:
+  //! \name Custom allocator and deallocator
+  //@{
 
-template <typename T, typename Policy>
-template <typename From, typename From_Policy>
-inline
-Checked_Number<T, Policy>
-::Checked_Number(const Checked_Number<From, From_Policy>& y) {
-  // TODO: avoid default construction of value member.
-  Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR;
-  Policy::handle_result(check_result(Checked::assign_ext<Policy, From_Policy>
-				     (v,
-				      y.raw_value(),
-				      rounding_dir(dir)),
-				     dir));
-}
+  //! Placement allocation function.
+  /*!
+    Allocates a chunk of memory able to contain \p capacity Coefficient
+    objects beyond the specified \p fixed_size and returns a pointer to
+    the newly allocated memory.
+  */
+  static void* operator new(size_t fixed_size, dimension_type capacity);
 
-// TODO: avoid default construction of value member.
-#define DEF_CTOR(type) \
-template <typename T, typename Policy> \
-inline \
-Checked_Number<T, Policy>::Checked_Number(const type x, Rounding_Dir dir) { \
-  Policy::handle_result							\
-    (check_result(Checked::assign_ext<Policy, Checked_Number_Transparent_Policy<type> >	\
-		  (v, x, rounding_dir(dir)),				\
-		  dir));						\
-}									\
-template <typename T, typename Policy>					\
-inline									\
-Checked_Number<T, Policy>::Checked_Number(const type x) {		\
-  Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR;			\
-  Policy::handle_result							\
-    (check_result(Checked::assign_ext<Policy, Checked_Number_Transparent_Policy<type> >	\
-		  (v, x, rounding_dir(dir)),				\
-		  dir));						\
-}
+  //! Usual (non-placement) deallocation function.
+  /*!
+    Uses the standard delete operator to free the memory \p p points to.
 
-#define PPL_COND_0(...)
-#define PPL_COND_1(...) __VA_ARGS__
-#define PPL_COND_(if, ...) PPL_COND_##if(__VA_ARGS__)
-#define PPL_COND(if, ...) PPL_COND_(if, __VA_ARGS__)
+    \note
+    The definition of this custom deallocation function is required
+    since otherwise the placement deallocation function
+    <code>
+    static void operator delete(void* p, dimension_type capacity);
+    </code>
+    would be wrongly interpreted as a usual (non-placement) deallocation
+    function (see C++98 3.7.3.2p2). This happens because \c dimension_type
+    is just an alias for \c std::size_t.
+    See also http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42115
+  */
+  static void operator delete(void* p);
 
-DEF_CTOR(signed char)
-DEF_CTOR(signed short)
-DEF_CTOR(signed int)
-DEF_CTOR(signed long)
-DEF_CTOR(signed long long)
-DEF_CTOR(unsigned char)
-DEF_CTOR(unsigned short)
-DEF_CTOR(unsigned int)
-DEF_CTOR(unsigned long)
-DEF_CTOR(unsigned long long)
-PPL_COND(PPL_SUPPORTED_FLOAT, DEF_CTOR(float))
-PPL_COND(PPL_SUPPORTED_DOUBLE, DEF_CTOR(double))
-PPL_COND(PPL_SUPPORTED_LONG_DOUBLE, DEF_CTOR(long double))
-DEF_CTOR(mpq_class&)
-DEF_CTOR(mpz_class&)
+  //! Placement deallocation function.
+  /*!
+    Uses the standard operator delete to free the memory \p p points to.
+  */
+  static void operator delete(void* p, dimension_type capacity);
+  //@} // Custom allocator and deallocator
 
-#undef DEF_CTOR
+  //! Constructor.
+  Impl(Row::Flags f);
 
-#undef PPL_COND
-#undef PPL_COND_
-#undef PPL_COND_1
-#undef PPL_COND_0
+  //! Destructor.
+  /*!
+    Uses <CODE>shrink()</CODE> method with argument \f$0\f$
+    to delete all the row elements.
+  */
+  ~Impl();
 
-template <typename T, typename Policy>
-inline
-Checked_Number<T, Policy>::Checked_Number(const char* x, Rounding_Dir dir) {
-  std::istringstream s(x);
-  Policy::handle_result(check_result(Checked::input<Policy>(v,
-							    s,
-							    rounding_dir(dir)),
-				     dir));
-}
+  //! Expands the row to size \p new_size.
+  /*!
+    It is assumed that \p new_size is between the current size and capacity.
+  */
+  void expand_within_capacity(dimension_type new_size);
 
-template <typename T, typename Policy>
-inline
-Checked_Number<T, Policy>::Checked_Number(const char* x) {
-  std::istringstream s(x);
-  Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR;
-  Policy::handle_result(check_result(Checked::input<Policy>(v,
-							    s,
-							    rounding_dir(dir)),
-				     dir));
-}
+  //! Shrinks the row by erasing elements at the end.
+  /*!
+    It is assumed that \p new_size is not greater than the current size.
+  */
+  void shrink(dimension_type new_size);
 
-template <typename T, typename Policy>
-template <typename From>
-inline
-Checked_Number<T, Policy>::Checked_Number(const From&, Rounding_Dir dir, typename Enable_If<Is_Special<From>::value, bool>::type) {
-  Policy::handle_result(check_result(Checked::assign_special<Policy>(v,
-							    From::code,
-							    rounding_dir(dir)),
-				     dir));
-}
+  //! Exception-safe copy construction mechanism for coefficients.
+  void copy_construct_coefficients(const Impl& y);
 
-template <typename T, typename Policy>
-template <typename From>
-inline
-Checked_Number<T, Policy>::Checked_Number(const From&, typename Enable_If<Is_Special<From>::value, bool>::type) {
-  Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR;
-  Policy::handle_result(check_result(Checked::assign_special<Policy>(v,
-							    From::code,
-							    rounding_dir(dir)),
-				     dir));
-}
+  //! Returns the size() of the largest possible Impl.
+  static dimension_type max_size();
 
-template <typename To, typename From>
-inline typename Enable_If<Is_Native_Or_Checked<To>::value && Is_Special<From>::value, Result>::type
-assign_r(To& to, const From&, Rounding_Dir dir) {
-  return check_result(Checked::assign_special<typename Native_Checked_To_Wrapper<To>
-		      ::Policy>(Native_Checked_To_Wrapper<To>::raw_value(to),
-				From::code,
-				rounding_dir(dir)),
-		      dir);
-}
+  //! \name Flags accessors
+  //@{
+  //! Returns a const reference to the flags of \p *this.
+  const Row::Flags& flags() const;
 
-template <typename To, typename From>
-inline typename Enable_If<Is_Native_Or_Checked<To>::value && Is_Special<From>::value, Result>::type
-construct(To& to, const From&, Rounding_Dir dir) {
-  return check_result(Checked::construct_special<typename Native_Checked_To_Wrapper<To>
-		      ::Policy>(Native_Checked_To_Wrapper<To>::raw_value(to),
-				From::code,
-				rounding_dir(dir)),
-		      dir);
-}
+  //! Returns a non-const reference to the flags of \p *this.
+  Row::Flags& flags();
+  //@} // Flags accessors
 
-template <typename T>
-inline typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
-is_minus_infinity(const T& x) {
-  return Checked::is_minf<typename Native_Checked_From_Wrapper<T>
-    ::Policy>(Native_Checked_From_Wrapper<T>::raw_value(x));
-}
+  //! \name Size accessors
+  //@{
+  //! Returns the actual size of \p this.
+  dimension_type size() const;
 
-template <typename T>
-inline typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
-is_plus_infinity(const T& x) {
-  return Checked::is_pinf<typename Native_Checked_From_Wrapper<T>
-    ::Policy>(Native_Checked_From_Wrapper<T>::raw_value(x));
-}
+  //! Sets to \p new_size the actual size of \p *this.
+  void set_size(dimension_type new_size);
 
-template <typename T>
-inline typename Enable_If<Is_Native_Or_Checked<T>::value, int>::type
-is_infinity(const T& x) {
-  return is_minus_infinity(x) ? -1 : is_plus_infinity(x) ? 1 : 0;
-}
+  //! Increment the size of \p *this by 1.
+  void bump_size();
+  //@} // Size accessors
 
-template <typename T>
-inline typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
-is_not_a_number(const T& x) {
-  return Checked::is_nan<typename Native_Checked_From_Wrapper<T>
-    ::Policy>(Native_Checked_From_Wrapper<T>::raw_value(x));
-}
+  //! \name Subscript operators
+  //@{
+  //! Returns a reference to the element of \p *this indexed by \p k.
+  Coefficient& operator[](dimension_type k);
 
-template <typename T>
-inline typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
-is_integer(const T& x) {
-  return Checked::is_int<typename Native_Checked_From_Wrapper<T>
-    ::Policy>(Native_Checked_From_Wrapper<T>::raw_value(x));
-}
+  //! Returns a constant reference to the element of \p *this indexed by \p k.
+  Coefficient_traits::const_reference operator[](dimension_type k) const;
+  //@} // Subscript operators
 
-template <typename T, typename Policy>
-inline
-Checked_Number<T, Policy>::operator T() const {
-  if (Policy::convertible)
-    return v;
-}
+  /*! \brief
+    Returns a lower bound to the total size in bytes of the memory
+    occupied by \p *this.
+  */
+  memory_size_type total_memory_in_bytes() const;
 
-template <typename T, typename Policy>
-inline T&
-Checked_Number<T, Policy>::raw_value() {
-  return v;
-}
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes(dimension_type capacity) const;
 
-template <typename T, typename Policy>
-inline const T&
-Checked_Number<T, Policy>::raw_value() const {
-  return v;
-}
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-inline const T&
-raw_value(const Checked_Number<T, Policy>& x) {
-  return x.raw_value();
-}
+private:
+  //! The number of coefficients in the row.
+  dimension_type size_;
 
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-inline T&
-raw_value(Checked_Number<T, Policy>& x) {
-  return x.raw_value();
-}
+  //! The flags of this row.
+  Row::Flags flags_;
 
-template <typename T, typename Policy>
-inline bool
-Checked_Number<T, Policy>::OK() const {
-  return true;
-}
+  //! The vector of coefficients.
+  Coefficient vec_[
+#if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
+	       1
+#endif
+  ];
 
-template <typename T, typename Policy>
-inline Result
-Checked_Number<T, Policy>::classify(bool nan, bool inf, bool sign) const {
-  return Checked::classify<Policy>(v, nan, inf, sign);
-}
+  //! Private and unimplemented: default construction is not allowed.
+  Impl();
 
-template <typename T, typename Policy>
-inline bool
-is_not_a_number(const Checked_Number<T, Policy>& x) {
-  return Checked::is_nan<Policy>(x.raw_value());
-}
+  //! Private and unimplemented: copy construction is not allowed.
+  Impl(const Impl& y);
 
-template <typename T, typename Policy>
-inline bool
-is_minus_infinity(const Checked_Number<T, Policy>& x) {
-  return Checked::is_minf<Policy>(x.raw_value());
-}
+  //! Private and unimplemented: assignment is not allowed.
+  Impl& operator=(const Impl&);
+};
 
-template <typename T, typename Policy>
-inline bool
-is_plus_infinity(const Checked_Number<T, Policy>& x) {
-  return Checked::is_pinf<Policy>(x.raw_value());
-}
+/* Automatically generated from PPL source file ../src/Row.inlines.hh line 1. */
+/* Row class implementation: inline functions.
+*/
 
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-inline memory_size_type
-total_memory_in_bytes(const Checked_Number<T, Policy>& x) {
-  return total_memory_in_bytes(x.raw_value());
-}
 
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-inline memory_size_type
-external_memory_in_bytes(const Checked_Number<T, Policy>& x) {
-  return external_memory_in_bytes(x.raw_value());
-}
+/* Automatically generated from PPL source file ../src/math_utilities.defs.hh line 1. */
+/* Declarations of some math utility functions.
+*/
 
 
-/*! \relates Checked_Number */
-template <typename To>
-inline typename Enable_If<Is_Native_Or_Checked<To>::value, Result>::type
-assign_r(To& to, const char* x, Rounding_Dir dir) {
-  std::istringstream s(x);
-  return check_result(Checked::input<typename Native_Checked_To_Wrapper<To>
-		      ::Policy>(Native_Checked_To_Wrapper<To>::raw_value(to),
-				s,
-				rounding_dir(dir)),
-		      dir);
-}
+/* Automatically generated from PPL source file ../src/math_utilities.defs.hh line 28. */
+#include <gmpxx.h>
 
-#define FUNC1(name, func) \
-template <typename To, typename From>					\
-inline typename Enable_If<Is_Native_Or_Checked<To>::value               \
-                          && Is_Native_Or_Checked<From>::value,         \
-                          Result>::type                                 \
-name(To& to, const From& x, Rounding_Dir dir) {				\
-  return								\
-    check_result(Checked::func<typename Native_Checked_To_Wrapper<To>	\
-		 ::Policy,						\
-		 typename Native_Checked_From_Wrapper<From>		\
-		 ::Policy>(Native_Checked_To_Wrapper<To>::raw_value(to), \
-			   Native_Checked_From_Wrapper<From>::raw_value(x), \
-			   rounding_dir(dir)), dir);			\
-}
+namespace Parma_Polyhedra_Library {
 
-FUNC1(construct, construct_ext)
-FUNC1(assign_r, assign_ext)
-FUNC1(floor_assign_r, floor_ext)
-FUNC1(ceil_assign_r, ceil_ext)
-FUNC1(trunc_assign_r, trunc_ext)
-FUNC1(neg_assign_r, neg_ext)
-FUNC1(abs_assign_r, abs_ext)
-FUNC1(sqrt_assign_r, sqrt_ext)
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Extract the numerator and denominator components of \p from.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, void>::type
+numer_denom(const T& from,
+	    Coefficient& num, Coefficient& den);
 
-#undef FUNC1
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Divides \p x by \p y into \p to, rounding the result towards plus infinity.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, void>::type
+div_round_up(T& to,
+	     Coefficient_traits::const_reference x,
+	     Coefficient_traits::const_reference y);
 
-#define FUNC1(name, func) \
-template <typename To, typename From>					\
-inline typename Enable_If<Is_Native_Or_Checked<To>::value		\
-                          && Is_Native_Or_Checked<From>::value,         \
-                          Result>::type					\
-name(To& to, const From& x, int exp, Rounding_Dir dir) {		\
-  return								\
-    check_result(Checked::func<typename Native_Checked_To_Wrapper<To>	\
-		 ::Policy,						\
-		 typename Native_Checked_From_Wrapper<From>		\
-		 ::Policy>(Native_Checked_To_Wrapper<To>::raw_value(to), \
-			   Native_Checked_From_Wrapper<From>::raw_value(x), \
-			   exp,						\
-			   rounding_dir(dir)),				\
-		 dir);							\
-}
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Assigns to \p x the minimum between \p x and \p y.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename N>
+void
+min_assign(N& x, const N& y);
 
-FUNC1(mul2exp_assign_r, mul2exp_ext)
-FUNC1(div2exp_assign_r, div2exp_ext)
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Assigns to \p x the maximum between \p x and \p y.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename N>
+void
+max_assign(N& x, const N& y);
 
-#undef FUNC1
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x is an even number.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+is_even(const T& x);
 
-#define FUNC2(name, func) \
-template <typename To, typename From1, typename From2>			\
-inline typename Enable_If<Is_Native_Or_Checked<To>::value		\
-                          && Is_Native_Or_Checked<From1>::value         \
-                          && Is_Native_Or_Checked<From2>::value,        \
-                          Result>::type					\
-name(To& to, const From1& x, const From2& y, Rounding_Dir dir) {	\
-  return								\
-    check_result(Checked::func<typename Native_Checked_To_Wrapper<To>	\
-		 ::Policy,						\
-		 typename Native_Checked_From_Wrapper<From1>		\
-		 ::Policy,						\
-		 typename Native_Checked_From_Wrapper<From2>		\
-		 ::Policy>(Native_Checked_To_Wrapper<To>::raw_value(to), \
-			   Native_Checked_From_Wrapper<From1>::raw_value(x), \
-			   Native_Checked_From_Wrapper<From2>::raw_value(y), \
-			   rounding_dir(dir)),				\
-		 dir);							\
-}
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \f$x = -y\f$.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+is_additive_inverse(const T& x, const T& y);
 
-FUNC2(add_assign_r, add_ext)
-FUNC2(sub_assign_r, sub_ext)
-FUNC2(mul_assign_r, mul_ext)
-FUNC2(div_assign_r, div_ext)
-FUNC2(idiv_assign_r, idiv_ext)
-FUNC2(rem_assign_r, rem_ext)
-FUNC2(gcd_assign_r, gcd_ext)
-FUNC2(lcm_assign_r, lcm_ext)
-FUNC2(add_mul_assign_r, add_mul_ext)
-FUNC2(sub_mul_assign_r, sub_mul_ext)
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  If \f$g\f$ is the GCD of \p x and \p y, the values of \p x and \p y
+  divided by \f$g\f$ are assigned to \p nx and \p ny, respectively.
 
-#undef FUNC2
+  \note
+  \p x and \p nx may be the same object and likewise for
+  \p y and \p ny.  Any other aliasing results in undefined behavior.
+*/
+#endif
+void
+normalize2(Coefficient_traits::const_reference x,
+	   Coefficient_traits::const_reference y,
+	   Coefficient& nx, Coefficient& ny);
 
-#define FUNC4(name, func)						\
-template <typename To1,							\
-          typename To2,							\
-	  typename To3,							\
-          typename From1,						\
-          typename From2>						\
-inline typename Enable_If<Is_Native_Or_Checked<To1>::value		\
-                          && Is_Native_Or_Checked<To2>::value           \
-                          && Is_Native_Or_Checked<To3>::value           \
-                          && Is_Native_Or_Checked<From1>::value         \
-                          && Is_Native_Or_Checked<From2>::value,        \
-                          Result>::type					\
-name(To1& to, To2& s, To3& t, const From1& x, const From2& y,		\
-     Rounding_Dir dir) {						\
-  return								\
-    check_result							\
-    (Checked::func<typename Native_Checked_To_Wrapper<To1>::Policy,	\
-                   typename Native_Checked_To_Wrapper<To2>::Policy,	\
-                   typename Native_Checked_To_Wrapper<To3>::Policy,	\
-                   typename Native_Checked_From_Wrapper<From1>::Policy,	\
-                   typename Native_Checked_From_Wrapper<From2>::Policy>	\
-     (Native_Checked_To_Wrapper<To1>::raw_value(to),			\
-      Native_Checked_To_Wrapper<To2>::raw_value(s),			\
-      Native_Checked_To_Wrapper<To3>::raw_value(t),			\
-      Native_Checked_From_Wrapper<From1>::raw_value(x),			\
-      Native_Checked_From_Wrapper<From2>::raw_value(y),			\
-      rounding_dir(dir)),						\
-     dir);								\
-}
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x is in canonical form.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool
+is_canonical(const mpq_class& x);
 
-FUNC4(gcdext_assign_r, gcdext_ext)
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns a mask for the lowest \p n bits,
+#endif
+template <typename T>
+T
+low_bits_mask(unsigned n);
 
-#undef FUNC4
+} // namespace Parma_Polyhedra_Library
 
-#define DEF_INCREMENT(f, fun) \
-template <typename T, typename Policy> \
-inline Checked_Number<T, Policy>& \
-Checked_Number<T, Policy>::f() { \
-  Policy::handle_result(fun(*this, *this, T(1), \
-			    Policy::ROUND_DEFAULT_OPERATOR)); \
-  return *this; \
-} \
-template <typename T, typename Policy> \
-inline Checked_Number<T, Policy> \
-Checked_Number<T, Policy>::f(int) {\
-  T r = v;\
-  Policy::handle_result(fun(*this, *this, T(1), \
-			    Policy::ROUND_DEFAULT_OPERATOR)); \
-  return r;\
-}
+/* Automatically generated from PPL source file ../src/math_utilities.inlines.hh line 1. */
+/* Implementation of some math utility functions: inline functions.
+*/
 
-DEF_INCREMENT(operator ++, add_assign_r)
-DEF_INCREMENT(operator --, sub_assign_r)
 
-#undef DEF_INCREMENT
+/* Automatically generated from PPL source file ../src/math_utilities.inlines.hh line 27. */
+#include <limits>
+/* Automatically generated from PPL source file ../src/math_utilities.inlines.hh line 29. */
 
-template <typename T, typename Policy>
-inline Checked_Number<T, Policy>&
-Checked_Number<T, Policy>::operator=(const Checked_Number<T, Policy>& y) {
-  Checked::copy<Policy, Policy>(v, y.raw_value());
-  return *this;
-}
-template <typename T, typename Policy>
-template <typename From>
-inline Checked_Number<T, Policy>&
-Checked_Number<T, Policy>::operator=(const From& y) {
-  Policy::handle_result(assign_r(*this, y, Policy::ROUND_DEFAULT_OPERATOR));
-  return *this;
+namespace Parma_Polyhedra_Library {
+
+inline void
+normalize2(Coefficient_traits::const_reference x,
+	   Coefficient_traits::const_reference y,
+	   Coefficient& nx, Coefficient& ny) {
+  PPL_DIRTY_TEMP_COEFFICIENT(gcd);
+  gcd_assign(gcd, x, y);
+  exact_div_assign(nx, x, gcd);
+  exact_div_assign(ny, y, gcd);
 }
 
-#define DEF_BINARY_OP_ASSIGN(f, fun) \
-template <typename T, typename Policy> \
-template <typename From_Policy> \
-inline Checked_Number<T, Policy>& \
-Checked_Number<T, Policy>::f(const Checked_Number<T, From_Policy>& y) { \
-  Policy::handle_result(fun(*this, *this, y, \
-			    Policy::ROUND_DEFAULT_OPERATOR)); \
-  return *this; \
-} \
-template <typename T, typename Policy> \
-inline Checked_Number<T, Policy>& \
-Checked_Number<T, Policy>::f(const T& y) { \
-  Policy::handle_result(fun(*this, *this, y, \
-			    Policy::ROUND_DEFAULT_OPERATOR)); \
-  return *this; \
-} \
-template <typename T, typename Policy> \
-template <typename From> \
-inline typename Enable_If<Is_Native_Or_Checked<From>::value, \
-                          Checked_Number<T, Policy>& >::type \
-Checked_Number<T, Policy>::f(const From& y) { \
-  Checked_Number<T, Policy> cy(y); \
-  Policy::handle_result(fun(*this, *this, cy, \
-			    Policy::ROUND_DEFAULT_OPERATOR)); \
-  return *this; \
+template <typename T>
+inline T
+low_bits_mask(const unsigned n) {
+  PPL_ASSERT(n < unsigned(std::numeric_limits<T>::digits));
+  return n == 0 ? 0 : ~(~(T(0u)) << n);
 }
 
-DEF_BINARY_OP_ASSIGN(operator +=, add_assign_r)
-DEF_BINARY_OP_ASSIGN(operator -=, sub_assign_r)
-DEF_BINARY_OP_ASSIGN(operator *=, mul_assign_r)
-DEF_BINARY_OP_ASSIGN(operator /=, div_assign_r)
-DEF_BINARY_OP_ASSIGN(operator %=, rem_assign_r)
+template <typename T>
+inline typename Enable_If<Is_Native_Or_Checked<T>::value, void>::type
+numer_denom(const T& from,
+	    Coefficient& num, Coefficient& den) {
+  PPL_ASSERT(!is_not_a_number(from)
+	 && !is_minus_infinity(from)
+	 && !is_plus_infinity(from));
+  PPL_DIRTY_TEMP0(mpq_class, q);
+  assign_r(q, from, ROUND_NOT_NEEDED);
+  num = q.get_num();
+  den = q.get_den();
+}
 
-#undef DEF_BINARY_OP_ASSIGN
+template <typename T>
+inline typename Enable_If<Is_Native_Or_Checked<T>::value, void>::type
+div_round_up(T& to,
+	     Coefficient_traits::const_reference x,
+	     Coefficient_traits::const_reference y) {
+  PPL_DIRTY_TEMP0(mpq_class, qx);
+  PPL_DIRTY_TEMP0(mpq_class, qy);
+  // Note: this code assumes that a Coefficient is always convertible
+  // to an mpq_class without loss of precision.
+  assign_r(qx, x, ROUND_NOT_NEEDED);
+  assign_r(qy, y, ROUND_NOT_NEEDED);
+  div_assign_r(qx, qx, qy, ROUND_NOT_NEEDED);
+  assign_r(to, qx, ROUND_UP);
+}
 
-#define DEF_BINARY_OP(f, fun) \
-template <typename T, typename Policy> \
-inline Checked_Number<T, Policy> \
-f(const Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y) { \
-  Checked_Number<T, Policy> r; \
-  Policy::handle_result(fun(r, x, y, Policy::ROUND_DEFAULT_OPERATOR)); \
-  return r; \
-} \
-template <typename Type, typename T, typename Policy>	\
-inline \
-typename Enable_If<Is_Native<Type>::value, Checked_Number<T, Policy> >::type \
-f(const Type& x, const Checked_Number<T, Policy>& y) { \
-  Checked_Number<T, Policy> r(x); \
-  Policy::handle_result(fun(r, r, y, Policy::ROUND_DEFAULT_OPERATOR)); \
-  return r; \
-} \
-template <typename T, typename Policy, typename Type>	\
-inline \
-typename Enable_If<Is_Native<Type>::value, Checked_Number<T, Policy> >::type \
-f(const Checked_Number<T, Policy>& x, const Type& y) { \
-  Checked_Number<T, Policy> r(y); \
-  Policy::handle_result(fun(r, x, r, Policy::ROUND_DEFAULT_OPERATOR)); \
-  return r; \
+template <typename N>
+inline void
+min_assign(N& x, const N& y) {
+  if (x > y)
+    x = y;
+}
+
+template <typename N>
+inline void
+max_assign(N& x, const N& y) {
+  if (x < y)
+    x = y;
 }
 
-DEF_BINARY_OP(operator +, add_assign_r)
-DEF_BINARY_OP(operator -, sub_assign_r)
-DEF_BINARY_OP(operator *, mul_assign_r)
-DEF_BINARY_OP(operator /, div_assign_r)
-DEF_BINARY_OP(operator %, rem_assign_r)
+template <typename T>
+inline typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+is_even(const T& x) {
+  T mod;
+  return umod_2exp_assign_r(mod, x, 1, ROUND_DIRECT | ROUND_STRICT_RELATION) == V_EQ
+    && mod == 0;
+}
 
-#undef DEF_BINARY_OP
+template <typename T>
+inline typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+is_additive_inverse(const T& x, const T& y) {
+  T negated_x;
+  return neg_assign_r(negated_x, x, ROUND_DIRECT | ROUND_STRICT_RELATION) == V_EQ
+    && negated_x == y;
+}
 
-#define DEF_COMPARE(f, fun)						\
-template <typename T1, typename T2>					\
-inline									\
-typename Enable_If<Is_Native_Or_Checked<T1>::value                      \
-                   && Is_Native_Or_Checked<T2>::value                   \
-                   && (Is_Checked<T1>::value || Is_Checked<T2>::value),	\
-		   bool>::type						\
-f(const T1& x, const T2& y) {						\
-  return Checked::fun<typename Native_Checked_From_Wrapper<T1>::Policy,	\
-    		      typename Native_Checked_From_Wrapper<T2>::Policy>	\
-    (Native_Checked_From_Wrapper<T1>::raw_value(x),			\
-     Native_Checked_From_Wrapper<T2>::raw_value(y));			\
+inline bool
+is_canonical(const mpq_class& x) {
+  if (x.get_den() <= 0)
+    return false;
+  PPL_DIRTY_TEMP0(mpq_class, temp);
+  temp = x;
+  temp.canonicalize();
+  return temp.get_num() == x.get_num();
 }
 
-DEF_COMPARE(operator ==, eq_ext)
-DEF_COMPARE(operator !=, ne_ext)
-DEF_COMPARE(operator >=, ge_ext)
-DEF_COMPARE(operator >, gt_ext)
-DEF_COMPARE(operator <=, le_ext)
-DEF_COMPARE(operator <, lt_ext)
+} // namespace Parma_Polyhedra_Library
 
-#undef DEF_COMPARE
+/* Automatically generated from PPL source file ../src/math_utilities.defs.hh line 108. */
 
-#define DEF_COMPARE(f, fun)						\
-template <typename T1, typename T2>					\
-inline typename Enable_If<Is_Native_Or_Checked<T1>::value		\
-			  && Is_Native_Or_Checked<T2>::value,		\
-                          bool>::type					\
-f(const T1& x, const T2& y) {						\
-  return Checked::fun<typename Native_Checked_From_Wrapper<T1>::Policy,	\
-    		      typename Native_Checked_From_Wrapper<T2>::Policy>	\
-    (Native_Checked_From_Wrapper<T1>::raw_value(x),			\
-     Native_Checked_From_Wrapper<T2>::raw_value(y));			\
-}
+/* Automatically generated from PPL source file ../src/Row.inlines.hh line 28. */
+#include <cstddef>
+#include <limits>
+#include <algorithm>
 
-DEF_COMPARE(equal, eq_ext)
-DEF_COMPARE(not_equal, ne_ext)
-DEF_COMPARE(greater_or_equal, ge_ext)
-DEF_COMPARE(greater_than, gt_ext)
-DEF_COMPARE(less_or_equal, le_ext)
-DEF_COMPARE(less_than, lt_ext)
+namespace Parma_Polyhedra_Library {
 
-#undef DEF_COMPARE
+inline
+Row::Flags::Flags()
+  : bits(0) {
+}
 
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-inline Checked_Number<T, Policy>
-operator+(const Checked_Number<T, Policy>& x) {
-  return x;
+inline
+Row::Flags::Flags(base_type n)
+  : bits(n) {
 }
 
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-inline Checked_Number<T, Policy>
-operator-(const Checked_Number<T, Policy>& x) {
-  Checked_Number<T, Policy> r;
-  Policy::handle_result(neg_assign_r(r, x, Policy::ROUND_DEFAULT_OPERATOR));
-  return r;
+inline Row::Flags::base_type
+Row::Flags::get_bits() const {
+  return bits;
 }
 
-#define PPL_DEF_ASSIGN_FUN2_1(f, fun) \
-template <typename T, typename Policy> \
-inline void \
-f(Checked_Number<T, Policy>& x) { \
-  Policy::handle_result(fun(x, x, Policy::ROUND_DEFAULT_FUNCTION));	\
+inline void
+Row::Flags::set_bits(const base_type mask) {
+  bits |= mask;
 }
 
-#define PPL_DEF_ASSIGN_FUN2_2(f, fun) \
-template <typename T, typename Policy> \
-inline void \
-f(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y) { \
-  Policy::handle_result(fun(x, y, Policy::ROUND_DEFAULT_FUNCTION)); \
+inline void
+Row::Flags::reset_bits(const base_type mask) {
+  bits &= ~mask;
 }
 
-#define PPL_DEF_ASSIGN_FUN3_3(f, fun) \
-template <typename T, typename Policy> \
-inline void \
-f(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y, \
-  const Checked_Number<T, Policy>& z) { \
-  Policy::handle_result(fun(x, y, z, Policy::ROUND_DEFAULT_FUNCTION)); \
+inline bool
+Row::Flags::test_bits(const base_type mask) const {
+  return (bits & mask) == mask;
 }
 
-#define PPL_DEF_ASSIGN_FUN5_5(f, fun)					\
-template <typename T, typename Policy>					\
-inline void								\
-f(Checked_Number<T, Policy>& x,						\
-  Checked_Number<T, Policy>& s, Checked_Number<T, Policy>& t,		\
-  const Checked_Number<T, Policy>& y,					\
-  const Checked_Number<T, Policy>& z) {					\
-  Policy::handle_result(fun(x, s, t, y, z, Policy::ROUND_DEFAULT_FUNCTION)); \
+inline bool
+Row::Flags::operator==(const Flags& y) const {
+  base_type mask = low_bits_mask<base_type>(first_free_bit);
+  return (get_bits() & mask) == (y.get_bits() & mask);
 }
 
-PPL_DEF_ASSIGN_FUN2_2(sqrt_assign, sqrt_assign_r)
+inline bool
+Row::Flags::operator!=(const Flags& y) const {
+  return !operator==(y);
+}
 
-PPL_DEF_ASSIGN_FUN2_1(floor_assign, floor_assign_r)
-PPL_DEF_ASSIGN_FUN2_2(floor_assign, floor_assign_r)
+inline void*
+Row_Impl_Handler::Impl::operator new(const size_t fixed_size,
+				     const dimension_type capacity) {
+#if PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
+  return ::operator new(fixed_size + capacity*sizeof(Coefficient));
+#else
+  PPL_ASSERT(capacity >= 1);
+  return ::operator new(fixed_size + (capacity-1)*sizeof(Coefficient));
+#endif
+}
 
-PPL_DEF_ASSIGN_FUN2_1(ceil_assign, ceil_assign_r)
-PPL_DEF_ASSIGN_FUN2_2(ceil_assign, ceil_assign_r)
+inline void
+Row_Impl_Handler::Impl::operator delete(void* p) {
+  ::operator delete(p);
+}
 
-PPL_DEF_ASSIGN_FUN2_1(trunc_assign, trunc_assign_r)
-PPL_DEF_ASSIGN_FUN2_2(trunc_assign, trunc_assign_r)
+inline void
+Row_Impl_Handler::Impl::operator delete(void* p, dimension_type) {
+  ::operator delete(p);
+}
 
-PPL_DEF_ASSIGN_FUN2_1(neg_assign, neg_assign_r)
-PPL_DEF_ASSIGN_FUN2_2(neg_assign, neg_assign_r)
+inline dimension_type
+Row_Impl_Handler::Impl::max_size() {
+  return std::numeric_limits<size_t>::max() / sizeof(Coefficient);
+}
 
-PPL_DEF_ASSIGN_FUN2_1(abs_assign, abs_assign_r)
-PPL_DEF_ASSIGN_FUN2_2(abs_assign, abs_assign_r)
+inline dimension_type
+Row_Impl_Handler::Impl::size() const {
+  return size_;
+}
 
-PPL_DEF_ASSIGN_FUN3_3(add_mul_assign, add_mul_assign_r)
+inline void
+Row_Impl_Handler::Impl::set_size(const dimension_type new_size) {
+  size_ = new_size;
+}
 
-PPL_DEF_ASSIGN_FUN3_3(sub_mul_assign, sub_mul_assign_r)
+inline void
+Row_Impl_Handler::Impl::bump_size() {
+  ++size_;
+}
 
-PPL_DEF_ASSIGN_FUN3_3(rem_assign, rem_assign_r)
+inline
+Row_Impl_Handler::Impl::Impl(const Row::Flags f)
+  : size_(0), flags_(f) {
+}
 
-PPL_DEF_ASSIGN_FUN3_3(gcd_assign, gcd_assign_r)
+inline
+Row_Impl_Handler::Impl::~Impl() {
+  shrink(0);
+}
 
-PPL_DEF_ASSIGN_FUN5_5(gcdext_assign, gcdext_assign_r)
+inline const Row::Flags&
+Row_Impl_Handler::Impl::flags() const {
+  return flags_;
+}
 
-PPL_DEF_ASSIGN_FUN3_3(lcm_assign, lcm_assign_r)
+inline Row::Flags&
+Row_Impl_Handler::Impl::flags() {
+  return flags_;
+}
 
-#undef PPL_DEF_ASSIGN_FUN2_1
-#undef PPL_DEF_ASSIGN_FUN2_2
-#undef PPL_DEF_ASSIGN_FUN3_2
-#undef PPL_DEF_ASSIGN_FUN3_3
-#undef PPL_DEF_ASSIGN_FUN5_5
+inline Coefficient&
+Row_Impl_Handler::Impl::operator[](const dimension_type k) {
+  PPL_ASSERT(k < size());
+  return vec_[k];
+}
 
-template <typename T, typename Policy>
-inline void
-exact_div_assign(Checked_Number<T, Policy>& x,
-		 const Checked_Number<T, Policy>& y,
-		 const Checked_Number<T, Policy>& z) {
-  Policy::handle_result(div_assign_r(x, y, z, ROUND_NOT_NEEDED));
+inline Coefficient_traits::const_reference
+Row_Impl_Handler::Impl::operator[](const dimension_type k) const {
+  PPL_ASSERT(k < size());
+  return vec_[k];
 }
 
-/*! \relates Checked_Number */
-template <typename From>
-inline typename Enable_If<Is_Native_Or_Checked<From>::value, int>::type
-sgn(const From& x) {
-  Result r = Checked::sgn_ext<typename Native_Checked_From_Wrapper<From>::Policy>(Native_Checked_From_Wrapper<From>::raw_value(x));
-  switch (r) {
-  case V_LT:
-    return -1;
-  case V_EQ:
-    return 0;
-  case V_GT:
-    return 1;
-  default:
-    throw(0);
-  }
+inline memory_size_type
+Row_Impl_Handler::Impl::total_memory_in_bytes(dimension_type capacity) const {
+  return
+    sizeof(*this)
+    + capacity*sizeof(Coefficient)
+#if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
+    - 1*sizeof(Coefficient)
+#endif
+    + external_memory_in_bytes();
 }
 
-/*! \relates Checked_Number */
-template <typename From1, typename From2>
-inline typename Enable_If<Is_Native_Or_Checked<From1>::value
-                          && Is_Native_Or_Checked<From2>::value,
-                          int>::type
-cmp(const From1& x, const From2& y) {
-  Result r
-    = Checked::cmp_ext<typename Native_Checked_From_Wrapper<From1>::Policy,
-                       typename Native_Checked_From_Wrapper<From2>::Policy>
-                 (Native_Checked_From_Wrapper<From1>::raw_value(x),
-		  Native_Checked_From_Wrapper<From2>::raw_value(y));
-  switch (r) {
-  case V_LT:
-    return -1;
-  case V_EQ:
-    return 0;
-  case V_GT:
-    return 1;
-  default:
-    throw(0);
-  }
+inline memory_size_type
+Row_Impl_Handler::Impl::total_memory_in_bytes() const {
+  // In general, this is a lower bound, as the capacity of *this
+  // may be strictly greater than `size_'
+  return total_memory_in_bytes(size_);
 }
 
-/*! \relates Checked_Number */
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, Result>::type
-output(std::ostream& os, const T& x,
-       const Numeric_Format& fmt, Rounding_Dir dir) {
-  return check_result(Checked::output_ext<typename Native_Checked_From_Wrapper<T>::Policy>
-		      (os,
-		       Native_Checked_From_Wrapper<T>::raw_value(x),
-		       fmt,
-		       rounding_dir(dir)),
-		      dir);
+inline dimension_type
+Row::max_size() {
+  return Impl::max_size();
 }
 
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-inline std::ostream&
-operator<<(std::ostream& os, const Checked_Number<T, Policy>& x) {
-  Policy::handle_result(output(os, x, Numeric_Format(), ROUND_IGNORE));
-  return os;
+inline dimension_type
+Row::size() const {
+  return impl->size();
 }
 
-/*! \relates Checked_Number */
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, Result>::type
-input(T& x, std::istream& is, Rounding_Dir dir) {
-  return check_result(Checked::input_ext<typename Native_Checked_To_Wrapper<T>::Policy>
-		      (Native_Checked_To_Wrapper<T>::raw_value(x),
-		       is,
-		       rounding_dir(dir)),
-		      dir);
+inline const Row::Flags&
+Row::flags() const {
+  return impl->flags();
 }
 
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-inline std::istream& operator>>(std::istream& is,
-				Checked_Number<T, Policy>& x) {
-  Result r = input(x, is, Policy::ROUND_DEFAULT_INPUT);
-  if (r == V_CVT_STR_UNK)
-    is.setstate(std::ios::failbit);
-  else
-    Policy::handle_result(r);
-  return is;
+inline Row::Flags&
+Row::flags() {
+  return impl->flags();
 }
 
-template <typename T>
-inline T
-plus_infinity() {
-  return PLUS_INFINITY;
+#if PPL_ROW_EXTRA_DEBUG
+inline dimension_type
+Row::capacity() const {
+  return capacity_;
 }
+#endif
 
-template <typename T>
-inline T
-minus_infinity() {
-  return MINUS_INFINITY;
+inline
+Row_Impl_Handler::Row_Impl_Handler()
+  : impl(0) {
+#if PPL_ROW_EXTRA_DEBUG
+  capacity_ = 0;
+#endif
 }
 
-template <typename T>
-inline T
-not_a_number() {
-  return NOT_A_NUMBER;
+inline
+Row_Impl_Handler::~Row_Impl_Handler() {
+  delete impl;
 }
 
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-inline void
-swap(Checked_Number<T, Policy>& x, Checked_Number<T, Policy>& y) {
-  using std::swap;
-  swap(x.raw_value(), y.raw_value());
+inline
+Row::Row()
+  : Row_Impl_Handler() {
 }
 
-template <typename T>
 inline void
-maybe_reset_fpu_inexact() {
-  if (FPU_Related<T>::value)
-    return fpu_reset_inexact();
+Row::allocate(
+#if PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
+	       const
+#endif
+	       dimension_type capacity,
+	       const Flags f) {
+  PPL_ASSERT(capacity <= max_size());
+#if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
+  if (capacity == 0)
+    ++capacity;
+#endif
+  PPL_ASSERT(impl == 0);
+  impl = new (capacity) Impl(f);
+#if PPL_ROW_EXTRA_DEBUG
+  PPL_ASSERT(capacity_ == 0);
+  capacity_ = capacity;
+#endif
 }
 
-template <typename T>
-inline int
-maybe_check_fpu_inexact() {
-  if (FPU_Related<T>::value)
-    return fpu_check_inexact();
-  else
-    return 0;
+inline void
+Row::expand_within_capacity(const dimension_type new_size) {
+  PPL_ASSERT(impl);
+#if PPL_ROW_EXTRA_DEBUG
+  PPL_ASSERT(new_size <= capacity_);
+#endif
+  impl->expand_within_capacity(new_size);
 }
 
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/checked_numeric_limits.hh line 1. */
-/* Specializations of std::numeric_limits for "checked" types.
-*/
-
-
-/* Automatically generated from PPL source file ../src/checked_numeric_limits.hh line 28. */
-#include <limits>
+inline void
+Row::copy_construct_coefficients(const Row& y) {
+  PPL_ASSERT(impl && y.impl);
+#if PPL_ROW_EXTRA_DEBUG
+  PPL_ASSERT(y.size() <= capacity_);
+#endif
+  impl->copy_construct_coefficients(*(y.impl));
+}
 
-namespace std {
+inline void
+Row::construct(const dimension_type sz,
+	       const dimension_type capacity,
+	       const Flags f) {
+  PPL_ASSERT(sz <= capacity && capacity <= max_size());
+  allocate(capacity, f);
+  expand_within_capacity(sz);
+}
 
-using namespace Parma_Polyhedra_Library;
+inline void
+Row::construct(const dimension_type sz, const Flags f) {
+  construct(sz, sz, f);
+}
 
-#define PPL_SPECIALIZE_LIMITS_INT(T)					\
-/*! \brief Partial specialization of std::numeric_limits. */		\
-template <typename Policy>						\
- class numeric_limits<Checked_Number<T, Policy> >                       \
-  : public numeric_limits<T> {						\
- private:								\
-  typedef Checked_Number<T, Policy> Type;                               \
-									\
- public:								\
-  static const bool has_infinity = Policy::has_infinity;		\
-  static const bool has_quiet_NaN =  Policy::has_nan;                   \
-                                                                        \
-  static Type min() {							\
-    return Checked::Extended_Int<Policy, T>::min;                       \
-  }									\
-                                                                        \
-  static Type max() {							\
-    return Checked::Extended_Int<Policy, T>::max;                       \
-  }									\
-									\
-  static Type infinity() {						\
-    return								\
-      Policy::has_infinity						\
-      ? PLUS_INFINITY                                                   \
-      : static_cast<Type>(0);						\
-  }									\
-									\
-  static Type quiet_NaN() {						\
-    return								\
-      Policy::has_nan                                                   \
-      ? NOT_A_NUMBER                                                    \
-      : static_cast<Type>(0);						\
-  }									\
-};
+inline
+Row::Row(const dimension_type sz,
+	 const dimension_type capacity,
+	 const Flags f)
+  : Row_Impl_Handler() {
+  construct(sz, capacity, f);
+}
 
-PPL_SPECIALIZE_LIMITS_INT(signed char)
-PPL_SPECIALIZE_LIMITS_INT(signed short)
-PPL_SPECIALIZE_LIMITS_INT(signed int)
-PPL_SPECIALIZE_LIMITS_INT(signed long)
-PPL_SPECIALIZE_LIMITS_INT(signed long long)
+inline
+Row::Row(const dimension_type sz, const Flags f)
+  : Row_Impl_Handler() {
+  construct(sz, f);
+}
 
-PPL_SPECIALIZE_LIMITS_INT(unsigned char)
-PPL_SPECIALIZE_LIMITS_INT(unsigned short)
-PPL_SPECIALIZE_LIMITS_INT(unsigned int)
-PPL_SPECIALIZE_LIMITS_INT(unsigned long)
-PPL_SPECIALIZE_LIMITS_INT(unsigned long long)
+inline
+Row::Row(const Row& y)
+  : Row_Impl_Handler() {
+  if (y.impl) {
+    allocate(compute_capacity(y.size(), max_size()), y.flags());
+    copy_construct_coefficients(y);
+  }
+}
 
-#undef PPL_SPECIALIZE_LIMITS_INT
+inline
+Row::Row(const Row& y,
+	 const dimension_type capacity)
+  : Row_Impl_Handler() {
+  PPL_ASSERT(y.impl);
+  PPL_ASSERT(y.size() <= capacity && capacity <= max_size());
+  allocate(capacity, y.flags());
+  copy_construct_coefficients(y);
+}
 
-#define PPL_SPECIALIZE_LIMITS_FLOAT(T)					\
-/*! \brief Partial specialization of std::numeric_limits. */		\
-template <typename Policy>						\
-struct numeric_limits<Checked_Number<T, Policy> > \
-  : public numeric_limits<T> {						\
-};
+inline
+Row::Row(const Row& y,
+	 const dimension_type sz,
+	 const dimension_type capacity)
+  : Row_Impl_Handler() {
+  PPL_ASSERT(y.impl);
+  PPL_ASSERT(y.size() <= sz && sz <= capacity && capacity <= max_size());
+  allocate(capacity, y.flags());
+  copy_construct_coefficients(y);
+  expand_within_capacity(sz);
+}
 
-#if PPL_SUPPORTED_FLOAT
-PPL_SPECIALIZE_LIMITS_FLOAT(float)
-#endif
-#if PPL_SUPPORTED_DOUBLE
-PPL_SPECIALIZE_LIMITS_FLOAT(double)
-#endif
-#if PPL_SUPPORTED_LONG_DOUBLE
-PPL_SPECIALIZE_LIMITS_FLOAT(long double)
-#endif
+inline
+Row::~Row() {
+}
 
-#undef PPL_SPECIALIZE_LIMITS_FLOAT
+inline void
+Row::shrink(const dimension_type new_size) {
+  PPL_ASSERT(impl);
+  impl->shrink(new_size);
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Partial specialization of std::numeric_limits.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Policy>
-class
-numeric_limits<Checked_Number<mpz_class, Policy> >
-  : public numeric_limits<mpz_class> {
-private:
-  typedef Checked_Number<mpz_class, Policy> Type;
+inline void
+Row::swap(Row& y) {
+  std::swap(impl, y.impl);
+#if PPL_ROW_EXTRA_DEBUG
+  std::swap(capacity_, y.capacity_);
+#endif
+}
 
-public:
-  static const bool has_infinity = Policy::has_infinity;
-  static const bool has_quiet_NaN =  Policy::has_nan;
+inline void
+Row::assign(Row& y) {
+  impl = y.impl;
+#if PPL_ROW_EXTRA_DEBUG
+  capacity_ = y.capacity_;
+#endif
+}
 
-  static Type infinity() {
-    return
-      Policy::has_infinity
-      ? PLUS_INFINITY
-      : static_cast<Type>(0);
-  }
+inline Row&
+Row::operator=(const Row& y) {
+  // Copy-construct `tmp' from `y'.
+  Row tmp(y);
+  // Swap the implementation of `*this' with the one of `tmp'.
+  swap(tmp);
+  // Now `tmp' goes out of scope, so the old `*this' will be destroyed.
+  return *this;
+}
 
-  static Type quiet_NaN() {
-    return
-      Policy::has_nan
-      ? NOT_A_NUMBER
-      : static_cast<Type>(0);
-  }
-};
+inline Coefficient&
+Row::operator[](const dimension_type k) {
+  PPL_ASSERT(impl);
+  return (*impl)[k];
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Partial specialization of std::numeric_limits.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Policy>
-class
-numeric_limits<Checked_Number<mpq_class, Policy> >
-: public numeric_limits<mpq_class> {
-private:
-  typedef Checked_Number<mpq_class, Policy> Type;
+inline Coefficient_traits::const_reference
+Row::operator[](const dimension_type k) const {
+  PPL_ASSERT(impl);
+  return (*impl)[k];
+}
 
-public:
-  static const bool has_infinity = Policy::has_infinity;
-  static const bool has_quiet_NaN =  Policy::has_nan;
+inline memory_size_type
+Row::external_memory_in_bytes(dimension_type capacity) const {
+  return impl->total_memory_in_bytes(capacity);
+}
 
-  static Type infinity() {
-    return
-      Policy::has_infinity
-      ? PLUS_INFINITY
-      : static_cast<Type>(0);
-  }
+inline memory_size_type
+Row::total_memory_in_bytes(dimension_type capacity) const {
+  return sizeof(*this) + external_memory_in_bytes(capacity);
+}
 
-  static Type quiet_NaN() {
-    return
-      Policy::has_nan
-      ? NOT_A_NUMBER
-      : static_cast<Type>(0);
-  }
-};
+inline memory_size_type
+Row::external_memory_in_bytes() const {
+#if PPL_ROW_EXTRA_DEBUG
+  return impl->total_memory_in_bytes(capacity_);
+#else
+  return impl->total_memory_in_bytes();
+#endif
+}
 
-} // namespace std
+inline memory_size_type
+Row::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
 
-/* Automatically generated from PPL source file ../src/Checked_Number.templates.hh line 1. */
-/* Checked_Number class implementation: non-inline template functions.
-*/
+/*! \relates Row */
+inline bool
+operator!=(const Row& x, const Row& y) {
+  return !(x == y);
+}
 
+} // namespace Parma_Polyhedra_Library
 
-#include <cassert>
-#include <iomanip>
-#include <limits>
 
-namespace Parma_Polyhedra_Library {
+namespace std {
 
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, void>::type
-ascii_dump(std::ostream& s, const T& t) {
-  if (std::numeric_limits<T>::is_exact)
-    // An exact datatype: pretty printer is accurate.
-    s << t;
-  else {
-    // An inexact datatype (probably floating point):
-    // first dump its hexadecimal representation ...
-    const std::ios_base::fmtflags old_flags = s.flags();
-    s << std::hex;
-    const unsigned char* p = reinterpret_cast<const unsigned char*>(&t);
-    for (unsigned i = 0; i < sizeof(T); ++i) {
-      s << std::setw(2) << std::setfill('0');
-      s << static_cast<unsigned>(p[i]);
-    }
-    s.flags(old_flags);
-    // ... and then pretty print it for readability.
-    s << " (" << t << ")";
-  }
+/*! \relates Parma_Polyhedra_Library::Row */
+inline void
+swap(Parma_Polyhedra_Library::Row& x, Parma_Polyhedra_Library::Row& y) {
+  x.swap(y);
 }
 
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
-ascii_load(std::istream& s, T& t) {
-  if (std::numeric_limits<T>::is_exact)
-    // An exact datatype: input from pretty printed version is accurate.
-    return (s >> t);
-  else {
-    // An inexact datatype (probably floating point):
-    // first load its hexadecimal representation ...
-    std::string str;
-    if (!(s >> str) || str.size() != 2*sizeof(T))
-      return false;
-    unsigned char* p = reinterpret_cast<unsigned char*>(&t);
-    // CHECKME: any (portable) simpler way?
-    for (unsigned i = 0; i < sizeof(T); ++i) {
-      unsigned byte_value = 0;
-      for (unsigned j = 0; j < 2; ++j) {
-        byte_value <<= 4;
-        unsigned half_byte_value;
-        // Interpret single hex character.
-        switch (str[2*i+j]) {
-        case '0':
-          half_byte_value = 0;
-          break;
-        case '1':
-          half_byte_value = 1;
-          break;
-        case '2':
-          half_byte_value = 2;
-          break;
-        case '3':
-          half_byte_value = 3;
-          break;
-        case '4':
-          half_byte_value = 4;
-          break;
-        case '5':
-          half_byte_value = 5;
-          break;
-        case '6':
-          half_byte_value = 6;
-          break;
-        case '7':
-          half_byte_value = 7;
-          break;
-        case '8':
-          half_byte_value = 8;
-          break;
-        case '9':
-          half_byte_value = 9;
-          break;
-        case 'A':
-        case 'a':
-          half_byte_value = 10;
-          break;
-        case 'B':
-        case 'b':
-          half_byte_value = 11;
-          break;
-        case 'C':
-        case 'c':
-          half_byte_value = 12;
-          break;
-        case 'D':
-        case 'd':
-          half_byte_value = 13;
-          break;
-        case 'E':
-        case 'e':
-          half_byte_value = 14;
-          break;
-        case 'F':
-        case 'f':
-          half_byte_value = 15;
-          break;
-        default:
-          return false;
-        }
-        byte_value += half_byte_value;
-      }
-      assert(byte_value <= 255);
-      p[i] = static_cast<unsigned char>(byte_value);
-    }
-    // ... then read and discard pretty printed value.
-    if (!(s >> str))
-      return false;
-    const unsigned sz = str.size();
-    return sz > 2 && str[0] == '(' && str[sz-1] == ')';
-  }
+/*! \relates Parma_Polyhedra_Library::Row */
+inline void
+iter_swap(std::vector<Parma_Polyhedra_Library::Row>::iterator x,
+	  std::vector<Parma_Polyhedra_Library::Row>::iterator y) {
+  swap(*x, *y);
 }
 
-} // namespace Parma_Polyhedra_Library
+} // namespace std
 
-/* Automatically generated from PPL source file ../src/Checked_Number.defs.hh line 1076. */
+/* Automatically generated from PPL source file ../src/Row.defs.hh line 520. */
 
-/* Automatically generated from PPL source file ../src/Coefficient.types.hh line 16. */
+/* Automatically generated from PPL source file ../src/Topology.hh line 1. */
 
-#if defined(PPL_CHECKED_INTEGERS) || defined(PPL_NATIVE_INTEGERS)
 
 namespace Parma_Polyhedra_Library {
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Coefficient traits specialization for 8 bits checked integers.
+//! Kinds of polyhedra domains.
 /*! \ingroup PPL_CXX_interface */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Policy>
-struct Coefficient_traits_template<Checked_Number<int8_t, Policy> > {
-  //! The type used for references to const 8 bit checked integers.
-  typedef Checked_Number<int8_t, Policy> const_reference;
+enum Topology {
+  NECESSARILY_CLOSED = 0,
+  NOT_NECESSARILY_CLOSED = 1
 };
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Coefficient traits specialization for 16 bits checked integers.
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Policy>
-struct Coefficient_traits_template<Checked_Number<int16_t, Policy> > {
-  //! The type used for references to const 16 bit checked integers.
-  typedef Checked_Number<int16_t, Policy> const_reference;
-};
+} // namespace Parma_Polyhedra_Library
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Coefficient traits specialization for 32 bits checked integers.
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Policy>
-struct Coefficient_traits_template<Checked_Number<int32_t, Policy> > {
-  //! The type used for references to const 32 bit checked integers.
-  typedef Checked_Number<int32_t, Policy> const_reference;
-};
+/* Automatically generated from PPL source file ../src/Linear_Row.defs.hh line 33. */
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Coefficient traits specialization for 64 bits checked integers.
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Policy>
-struct Coefficient_traits_template<Checked_Number<int64_t, Policy> > {
-  //! The type used for references to const 64 bit checked integers.
-  typedef const Checked_Number<int64_t, Policy>& const_reference;
-};
-
-} // namespace Parma_Polyhedra_Library
+//! The base class for linear expressions, constraints and generators.
+/*! \ingroup PPL_CXX_interface
+  The class Linear_Row allows us to build objects of the form
+  \f$[b, a_0, \ldots, a_{d-1}]_{(t, k)}\f$,
+  i.e., a finite sequence of coefficients subscripted by a pair of flags,
+  which are both stored in a Linear_Row::Flags object.
+  The flag \f$t \in \{ \mathrm{c}, \mathrm{nnc} \}\f$ represents
+  the <EM>topology</EM> and
+  the flag \f$k \in \{\mathord{=}, \mathord{\geq} \}\f$ represents
+  the <EM>kind</EM> of the Linear_Row object.
+  Note that, even though all the four possible combinations of topology
+  and kind values will result in a legal Linear_Row::Flags object, some
+  of these pose additional constraints on the values of the Linear_Row's
+  coefficients.
 
-#endif // defined(PPL_CHECKED_INTEGERS) || defined(PPL_NATIVE_INTEGERS)
+  When \f$t = c\f$, we have the following cases
+  (\f$d\f$ is the dimension of the vector space):
+    - \f$[b, a_0, \ldots, a_{d-1}]_{(c,=)}\f$
+      represents the equality constraint
+      \f$\sum_{i=0}^{d-1} a_i x_i + b = 0\f$.
+    - \f$[b, a_0, \ldots, a_{d-1}]_{(c,\geq)}\f$
+      represents the non-strict inequality constraint
+      \f$\sum_{i=0}^{d-1} a_i x_i + b \geq 0\f$.
+    - \f$[0, a_0, \ldots, a_{d-1}]_{(c,=)}\f$
+      represents the line of direction
+      \f$\vect{l} = (a_0, \ldots, a_{d-1})^\transpose\f$.
+    - \f$[0, a_0, \ldots, a_{d-1}]_{(c,\geq)}\f$
+      represents the ray of direction
+      \f$\vect{r} = (a_0, \ldots, a_{d-1})^\transpose\f$.
+    - \f$[b, a_0, \ldots, a_{d-1}]_{(c,\geq)}\f$, with \f$b > 0\f$,
+      represents the point
+      \f$\vect{p} = (\frac{a_0}{b}, \ldots, \frac{a_{d-1}}{b})^\transpose\f$.
 
-#ifdef PPL_GMP_INTEGERS
-/* Automatically generated from PPL source file ../src/GMP_Integer.types.hh line 1. */
+  When \f$t = \mathrm{nnc}\f$, the last coefficient of the Linear_Row is
+  associated to the slack variable \f$\epsilon\f$, so that we have the
+  following cases (\f$d\f$ is again the dimension of the vector space,
+  but this time we have \f$d+2\f$ coefficients):
+    - \f$[b, a_0, \ldots, a_{d-1}, 0]_{(\mathrm{nnc},=)}\f$
+      represents the equality constraint
+      \f$\sum_{i=0}^{d-1} a_i x_i + b = 0\f$.
+    - \f$[b, a_0, \ldots, a_{d-1}, 0]_{(\mathrm{nnc},\geq)}\f$
+      represents the non-strict inequality constraint
+      \f$\sum_{i=0}^{d-1} a_i x_i + b \geq 0\f$.
+    - \f$[b, a_0, \ldots, a_{d-1}, e]_{(\mathrm{nnc},\geq)}\f$,
+      with \f$e < 0\f$, represents the strict inequality constraint
+      \f$\sum_{i=0}^{d-1} a_i x_i + b > 0\f$.
+    - \f$[0, a_0, \ldots, a_{d-1}, 0]_{(\mathrm{nnc},=)}\f$
+      represents the line of direction
+      \f$\vect{l} = (a_0, \ldots, a_{d-1})^\transpose\f$.
+    - \f$[0, a_0, \ldots, a_{d-1}, 0]_{(\mathrm{nnc},\geq)}\f$
+      represents the ray of direction
+      \f$\vect{r} = (a_0, \ldots, a_{d-1})^\transpose\f$.
+    - \f$[b, a_0, \ldots, a_{d-1}, e]_{(\mathrm{nnc},\geq)}\f$,
+      with \f$b > 0\f$ and \f$e > 0\f$, represents the point
+      \f$\vect{p} = (\frac{a_0}{b}, \ldots, \frac{a_{d-1}}{b})^\transpose\f$.
+    - \f$[b, a_0, \ldots, a_{d-1}, 0]_{(\mathrm{nnc},\geq)}\f$,
+      with \f$b > 0\f$, represents the closure point
+      \f$\vect{c} = (\frac{a_0}{b}, \ldots, \frac{a_{d-1}}{b})^\transpose\f$.
 
+  So, a Linear_Row can be both a constraint and a generator: it can be an
+  equality, a strict or non-strict inequality, a line, a ray, a point
+  or a closure point.
 
-/* Automatically generated from PPL source file ../src/GMP_Integer.types.hh line 16. */
-#include <gmpxx.h>
-/* Automatically generated from PPL source file ../src/GMP_Integer.types.hh line 18. */
+  The inhomogeneous term of a constraint can be zero or different from zero.
 
-namespace Parma_Polyhedra_Library {
+  Points and closure points must have a positive inhomogeneous term
+  (which is used as a common divisor for all the other coefficients),
+  lines and rays must have the inhomogeneous term equal to zero.
+  If needed, the coefficients of points and closure points are negated
+  at creation time so that they satisfy this invariant.
+  The invariant is maintained because, when combining a point or closure
+  point with another generator, we only consider positive combinations.
 
-/*! \class Parma_Polyhedra_Library::GMP_Integer
-  \brief
-  Unbounded integers as provided by the GMP library.
+  The \f$\epsilon\f$ coefficient, when present, is negative for strict
+  inequality constraints, positive for points and equal to zero in all
+  the other cases.
+  Note that the above description corresponds to the end-user, high-level
+  view of a Linear_Row object. In the implementation, to allow for code reuse,
+  it is sometimes useful to regard an \f$\mathrm{nnc}\f$-object on
+  the vector space \f$\Rset^d\f$ as if it was a \f$\mathrm{c}\f$-object
+  on the vector space \f$\Rset^{d+1}\f$, therefore interpreting the slack
+  variable \f$\epsilon\f$ as an ordinary dimension of the vector space.
 
-  \ingroup PPL_CXX_interface
-  GMP_Integer is an alias for the <CODE>mpz_class</CODE> type
-  defined in the C++ interface of the GMP library.
-  For more information, see <CODE>http://www.swox.com/gmp/</CODE>
+  A Linear_Row object implementing a Linear_Expression is always of the form
+  \f$[0, a_0, \ldots, a_{d-1}]_{(c,=)}\f$, which represents the
+  linear expression \f$\sum_{i=0}^{d-1} a_i x_i\f$.
 */
-typedef mpz_class GMP_Integer;
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+
+class Parma_Polyhedra_Library::Linear_Row : public Row {
+public:
+  //! The possible kinds of Linear_Row objects.
+  enum Kind {
+    LINE_OR_EQUALITY = 0,
+    RAY_OR_POINT_OR_INEQUALITY = 1
+  };
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Coefficient traits specialization for unbounded integers.
-/*! \ingroup PPL_CXX_interface */
+  /*! \brief
+    The type of the object to which the coefficients refer to,
+    encoding both topology and kind.
+
+    \ingroup PPL_CXX_interface
+    This combines the information about the topology (necessarily closed
+    or not) and the kind (line/equality or ray/point/inequality)
+    of a Linear_Row object.
+  */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <>
-struct Coefficient_traits_template<GMP_Integer> {
-  //! The type used for references to const unbounded integers.
-  typedef const GMP_Integer& const_reference;
-};
+  class Flags : public Row::Flags {
+  public:
+    //! Default constructor: builds an object where all flags are invalid.
+    Flags();
 
-} // namespace Parma_Polyhedra_Library
+    //! Builds an object corresponding to the topology \p t.
+    explicit Flags(Topology t);
 
-/* Automatically generated from PPL source file ../src/Coefficient.types.hh line 67. */
-#endif
+    //! Builds an object corresponding to the topology \p t and kind \p k.
+    Flags(Topology t, Kind k);
 
-namespace Parma_Polyhedra_Library {
+    //! \name Testing and setting the type
+    //@{
+    Topology topology() const;
+    bool is_necessarily_closed() const;
+    bool is_not_necessarily_closed() const;
+    bool is_line_or_equality() const;
+    bool is_ray_or_point_or_inequality() const;
 
-//! An alias for easily naming the type of PPL coefficients.
-/*! \ingroup PPL_CXX_interface
-  Objects of type Coefficient are used to implement the integral valued
-  coefficients occurring in linear expressions, constraints, generators,
-  intervals, bounding boxes and so on. Depending on the chosen
-  configuration options (see file <CODE>README.configure</CODE>),
-  a Coefficient may actually be:
-    - The GMP_Integer type, which in turn is an alias for the
-      <CODE>mpz_class</CODE> type implemented by the C++ interface
-      of the GMP library (this is the default configuration);
-    - An instance of the Checked_Number class template: with its default
-      policy (Checked_Number_Default_Policy), this implements overflow
-      detection on top of a native integral type (available template
-      instances include checked integers having 8, 16, 32 or 64 bits);
-      with the Checked_Number_Transparent_Policy, this is a wrapper
-      for native integral types with no overflow detection
-      (available template instances are as above).
-*/
-typedef PPL_COEFFICIENT_TYPE Coefficient;
+    void set_necessarily_closed();
+    void set_not_necessarily_closed();
+    void set_is_line_or_equality();
+    void set_is_ray_or_point_or_inequality();
+    //@} // Testing and setting the type
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! An alias for easily naming the coefficient traits.
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-typedef Coefficient_traits_template<Coefficient> Coefficient_traits;
+    //! Returns <CODE>true</CODE> if and only if \p *this and \p y are equal.
+    bool operator==(const Flags& y) const;
 
-} // namespace Parma_Polyhedra_Library
+    /*! \brief
+      Returns <CODE>true</CODE> if and only if \p *this and \p y
+      are different.
+    */
+    bool operator!=(const Flags& y) const;
 
-/* Automatically generated from PPL source file ../src/Linear_Expression.types.hh line 1. */
+    PPL_OUTPUT_DECLARATIONS
 
+    /*! \brief
+      Loads from \p s an ASCII representation (as produced by
+      ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+      Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+    */
+    bool ascii_load(std::istream& s);
 
-namespace Parma_Polyhedra_Library {
+  private:
+    //! Builds the type from a bit-mask.
+    explicit Flags(base_type mask);
 
-class Linear_Expression;
+    //! \name The bits that are currently in use
+    //@{
+    // NB: ascii_load assumes that these are sequential.
+    static const unsigned rpi_validity_bit
+    = Row::Flags::first_free_bit + 0;
+    static const unsigned rpi_bit
+    = Row::Flags::first_free_bit + 1;
+    static const unsigned nnc_validity_bit
+    = Row::Flags::first_free_bit + 2;
+    static const unsigned nnc_bit
+    = Row::Flags::first_free_bit + 3;
+    //@}
 
-} // namespace Parma_Polyhedra_Library
+  protected:
+    //! Index of the first bit derived classes can use.
+    static const unsigned first_free_bit
+    = Row::Flags::first_free_bit + 4;
 
-/* Automatically generated from PPL source file ../src/Constraint.types.hh line 1. */
+    friend class Parma_Polyhedra_Library::Linear_Row;
+  };
 
+  //! Pre-constructs a row: construction must be completed by construct().
+  Linear_Row();
 
-namespace Parma_Polyhedra_Library {
+  //! \name Post-constructors
+  //@{
+  //! Constructs properly a default-constructed element.
+  /*!
+    Builds a row with type \p t, size \p sz and minimum capacity.
+  */
+  void construct(dimension_type sz, Flags f);
 
-class Constraint;
+  //! Constructs properly a default-constructed element.
+  /*!
+    \param sz
+    The size of the row that will be constructed;
 
-} // namespace Parma_Polyhedra_Library
+    \param capacity
+    The minimum capacity of the row that will be constructed.
 
-/* Automatically generated from PPL source file ../src/Generator.types.hh line 1. */
+    \param f
+    Flags for the row that will be constructed.
 
+    The row that we are constructing has a minimum capacity, i.e., it
+    can contain at least \p capacity elements, \p sz of which will be
+    default-constructed now. The row flags are set to \p f.
+  */
+  void construct(dimension_type sz, dimension_type capacity, Flags f);
+  //@} // Post-constructors
 
-namespace Parma_Polyhedra_Library {
+  //! Tight constructor: resizing will require reallocation.
+  Linear_Row(dimension_type sz, Flags f);
 
-class Generator;
+  //! Sizing constructor with capacity.
+  Linear_Row(dimension_type sz, dimension_type capacity, Flags f);
 
-} // namespace Parma_Polyhedra_Library
+  //! Ordinary copy constructor.
+  Linear_Row(const Linear_Row& y);
 
-/* Automatically generated from PPL source file ../src/Congruence.types.hh line 1. */
+  //! Copy constructor with specified capacity.
+  /*!
+    It is assumed that \p capacity is greater than or equal to \p y size.
+  */
+  Linear_Row(const Linear_Row& y, dimension_type capacity);
+
+  //! Copy constructor with specified size and capacity.
+  /*!
+    It is assumed that \p sz is greater than or equal to the size of \p y
+    and, of course, that \p sz is less than or equal to \p capacity.
+  */
+  Linear_Row(const Linear_Row& y, dimension_type sz, dimension_type capacity);
+
+  //! Destructor.
+  ~Linear_Row();
+
+  //! \name Flags inspection methods
+  //@{
+  //! Returns a const reference to the flags of \p *this.
+  const Flags& flags() const;
+
+  //! Returns a non-const reference to the flags of \p *this.
+  Flags& flags();
+
+  //! Returns the topological kind of \p *this.
+  Topology topology() const;
 
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if the topology
+    of \p *this row is not necessarily closed.
+  */
+  bool is_not_necessarily_closed() const;
 
-namespace Parma_Polyhedra_Library {
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if the topology
+    of \p *this row is necessarily closed.
+  */
+  bool is_necessarily_closed() const;
 
-class Congruence;
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this row
+    represents a line or an equality.
+  */
+  bool is_line_or_equality() const;
 
-}
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this row
+    represents a ray, a point or an inequality.
+  */
+  bool is_ray_or_point_or_inequality() const;
+  //@} // Flags inspection methods
 
-/* Automatically generated from PPL source file ../src/Grid_Generator.types.hh line 1. */
+  //! \name Flags coercion methods
+  //@{
+  //! Sets to \p NECESSARILY_CLOSED the topological kind of \p *this row.
+  void set_necessarily_closed();
 
+  //! Sets to \p NOT_NECESSARILY_CLOSED the topological kind of \p *this row.
+  void set_not_necessarily_closed();
 
-namespace Parma_Polyhedra_Library {
+  //! Sets to \p LINE_OR_EQUALITY the kind of \p *this row.
+  void set_is_line_or_equality();
 
-class Grid_Generator;
+  //! Sets to \p RAY_OR_POINT_OR_INEQUALITY the kind of \p *this row.
+  void set_is_ray_or_point_or_inequality();
+  //@} // Flags coercion methods
 
-}
+  //! Returns the maximum space dimension a Linear_Row can handle.
+  static dimension_type max_space_dimension();
 
-/* Automatically generated from PPL source file ../src/Scalar_Products.defs.hh line 34. */
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! A class implementing various scalar product functions.
-/*! \ingroup PPL_CXX_interface
-  When computing the scalar product of (Linear_Row or Constraint or
-  Generator) objects <CODE>x</CODE> and <CODE>y</CODE>, it is assumed
-  that the space dimension of the first object <CODE>x</CODE> is less
-  than or equal to the space dimension of the second object <CODE>y</CODE>.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-class Parma_Polyhedra_Library::Scalar_Products {
-public:
-  //! Computes the scalar product of \p x and \p y and assigns it to \p z.
-  static void assign(Coefficient& z, const Linear_Row& x, const Linear_Row& y);
-  //! Computes the scalar product of \p c and \p g and assigns it to \p z.
-  static void assign(Coefficient& z, const Constraint& c, const Generator& g);
-  //! Computes the scalar product of \p g and \p c and assigns it to \p z.
-  static void assign(Coefficient& z, const Generator& g, const Constraint& c);
-  //! Computes the scalar product of \p c and \p g and assigns it to \p z.
-  static void assign(Coefficient& z,
-		     const Constraint& c, const Grid_Generator& g);
-  //! Computes the scalar product of \p g and \p cg and assigns it to \p z.
-  static void assign(Coefficient& z,
-		     const Grid_Generator& g, const Congruence& cg);
-  //! Computes the scalar product of \p cg and \p g and assigns it to \p z.
-  static void assign(Coefficient& z,
-		     const Congruence& cg, const Grid_Generator& g);
+  //! Returns the inhomogeneous term.
+  Coefficient_traits::const_reference inhomogeneous_term() const;
 
-  //! Returns the sign of the scalar product between \p x and \p y.
-  static int sign(const Linear_Row& x, const Linear_Row& y);
-  //! Returns the sign of the scalar product between \p c and \p g.
-  static int sign(const Constraint& c, const Generator& g);
-  //! Returns the sign of the scalar product between \p g and \p c.
-  static int sign(const Generator& g, const Constraint& c);
-  //! Returns the sign of the scalar product between \p c and \p g.
-  static int sign(const Constraint& c, const Grid_Generator& g);
+  //! Returns the coefficient \f$a_n\f$.
+  Coefficient_traits::const_reference coefficient(dimension_type n) const;
 
   /*! \brief
-    Computes the \e reduced scalar product of \p x and \p y,
-    where the \f$\epsilon\f$ coefficient of \p x is ignored,
-    and assigns the result to \p z.
-  */
-  static void reduced_assign(Coefficient& z,
-			     const Linear_Row& x, const Linear_Row& y);
-  /*! \brief
-    Computes the \e reduced scalar product of \p c and \p g,
-    where the \f$\epsilon\f$ coefficient of \p c is ignored,
-    and assigns the result to \p z.
-  */
-  static void reduced_assign(Coefficient& z,
-			     const Constraint& c, const Generator& g);
-  /*! \brief
-    Computes the \e reduced scalar product of \p g and \p c,
-    where the \f$\epsilon\f$ coefficient of \p g is ignored,
-    and assigns the result to \p z.
+    Normalizes the sign of the coefficients so that the first non-zero
+    (homogeneous) coefficient of a line-or-equality is positive.
   */
-  static void reduced_assign(Coefficient& z,
-			     const Generator& g, const Constraint& c);
-  //! \brief
-  //! Computes the \e reduced scalar product of \p g and \p cg,
-  //! where the \f$\epsilon\f$ coefficient of \p g is ignored,
-  //! and assigns the result to \p z.
-  static void reduced_assign(Coefficient& z,
-			     const Grid_Generator& g, const Congruence& cg);
+  void sign_normalize();
 
   /*! \brief
-    Returns the sign of the \e reduced scalar product of \p x and \p y,
-    where the \f$\epsilon\f$ coefficient of \p x is ignored.
-  */
-  static int reduced_sign(const Linear_Row& x, const Linear_Row& y);
-  /*! \brief
-    Returns the sign of the \e reduced scalar product of \p c and \p g,
-    where the \f$\epsilon\f$ coefficient of \p c is ignored.
+    Strong normalization: ensures that different Linear_Row objects
+    represent different hyperplanes or hyperspaces.
+
+    Applies both Linear_Row::normalize() and Linear_Row::sign_normalize().
   */
-  static int reduced_sign(const Constraint& c, const Generator& g);
+  void strong_normalize();
+
   /*! \brief
-    Returns the sign of the \e reduced scalar product of \p g and \p c,
-    where the \f$\epsilon\f$ coefficient of \p g is ignored.
+    Returns <CODE>true</CODE> if and only if the coefficients are
+    strongly normalized.
   */
-  static int reduced_sign(const Generator& g, const Constraint& c);
+  bool check_strong_normalized() const;
 
-  /*! \brief
-    Computes the \e homogeneous scalar product of \p x and \p y,
-    where the inhomogeneous terms are ignored,
-    and assigns the result to \p z.
+  //! Linearly combines \p *this with \p y so that <CODE>*this[k]</CODE> is 0.
+  /*!
+    \param y
+    The Linear_Row that will be combined with \p *this object;
+
+    \param k
+    The position of \p *this that have to be \f$0\f$.
+
+    Computes a linear combination of \p *this and \p y having
+    the element of index \p k equal to \f$0\f$. Then it assigns
+    the resulting Linear_Row to \p *this and normalizes it.
   */
-  static void homogeneous_assign(Coefficient& z,
-				 const Linear_Row& x, const Linear_Row& y);
+  void linear_combine(const Linear_Row& y, dimension_type k);
+
   /*! \brief
-    Computes the \e homogeneous scalar product of \p e and \p g,
-    where the inhomogeneous terms are ignored,
-    and assigns the result to \p z.
+    Returns <CODE>true</CODE> if and only if all the
+    terms of \p *this are \f$0\f$.
   */
-  static void homogeneous_assign(Coefficient& z,
-				 const Linear_Expression& e,
-				 const Generator& g);
-  //! \brief
-  //! Computes the \e homogeneous scalar product of \p g and \p c,
-  //! where the inhomogeneous terms are ignored,
-  //! and assigns the result to \p z.
-  static void homogeneous_assign(Coefficient& z,
-				 const Grid_Generator& g, const Constraint& c);
-  //! \brief
-  //! Computes the \e homogeneous scalar product of \p g and \p cg,
-  //! where the inhomogeneous terms are ignored,
-  //! and assigns the result to \p z.
-  static void homogeneous_assign(Coefficient& z,
-				 const Grid_Generator& g, const Congruence& cg);
-  //! \brief
-  //! Computes the \e homogeneous scalar product of \p e and \p g,
-  //! where the inhomogeneous terms are ignored,
-  //! and assigns the result to \p z.
-  static void homogeneous_assign(Coefficient& z,
-				 const Linear_Expression& e,
-				 const Grid_Generator& g);
+  bool is_zero() const;
 
   /*! \brief
-    Returns the sign of the \e homogeneous scalar product of \p x and \p y,
-    where the inhomogeneous terms are ignored.
+    Returns <CODE>true</CODE> if and only if all the homogeneous
+    terms of \p *this are \f$0\f$.
   */
-  static int homogeneous_sign(const Linear_Row& x, const Linear_Row& y);
+  bool all_homogeneous_terms_are_zero() const;
+
+  PPL_OUTPUT_DECLARATIONS
+
   /*! \brief
-    Returns the sign of the \e homogeneous scalar product of \p e and \p g,
-    where the inhomogeneous terms are ignored.
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
   */
-  static int homogeneous_sign(const Linear_Expression& e, const Generator& g);
-  //! \brief
-  //! Returns the sign of the \e homogeneous scalar product of \p e and \p g,
-  //! where the inhomogeneous terms are ignored,
-  static int homogeneous_sign(const Linear_Expression& e,
-			      const Grid_Generator& g);
-  //! \brief
-  //! Returns the sign of the \e homogeneous scalar product of \p g and \p c,
-  //! where the inhomogeneous terms are ignored,
-  static int homogeneous_sign(const Grid_Generator& g, const Constraint& c);
-};
+  bool ascii_load(std::istream& s);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Scalar product sign function object depending on topology.
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-class Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign {
-public:
-  //! Constructs the function object according to the topology of \p c.
-  Topology_Adjusted_Scalar_Product_Sign(const Constraint& c);
-  //! Constructs the function object according to the topology of \p g.
-  Topology_Adjusted_Scalar_Product_Sign(const Generator& g);
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 
-  //! Computes the (topology adjusted) scalar product sign of \p c and \p g.
-  int operator()(const Constraint&, const Generator&) const;
-  //! Computes the (topology adjusted) scalar product sign of \p g and \p c.
-  int operator()(const Generator&, const Constraint&) const;
+  /*! \brief
+    Checks if all the invariants are satisfied and that the actual
+    size and capacity match the values provided as arguments.
+  */
+  bool OK(dimension_type row_size, dimension_type row_capacity) const;
 
 private:
-  //! The type of the scalar product sign function pointer.
-  typedef int (*SPS_type)(const Linear_Row&, const Linear_Row&);
-
-  //! The scalar product sign function pointer.
-  SPS_type sps_fp;
+  friend class Parma_Polyhedra_Library::Linear_Expression;
+  friend class Parma_Polyhedra_Library::Constraint;
+  friend class Parma_Polyhedra_Library::Generator;
 };
 
-/* Automatically generated from PPL source file ../src/Scalar_Products.inlines.hh line 1. */
-/* Scalar_Products class implementation (inline functions).
-*/
-
-
-/* Automatically generated from PPL source file ../src/Linear_Row.defs.hh line 1. */
-/* Linear_Row class declaration.
-*/
+namespace Parma_Polyhedra_Library {
 
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are equal.
+/*! \relates Linear_Row */
+bool operator==(const Linear_Row& x, const Linear_Row& y);
 
-/* Automatically generated from PPL source file ../src/Row.defs.hh line 1. */
-/* Row class declaration.
-*/
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
+/*! \relates Linear_Row */
+bool operator!=(const Linear_Row& x, const Linear_Row& y);
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! The basic comparison function.
+/*! \relates Linear_Row
+  \return
+  The returned absolute value can be \f$0\f$, \f$1\f$ or \f$2\f$.
 
-/* Automatically generated from PPL source file ../src/Row.types.hh line 1. */
+  \param x
+  A row of coefficients;
 
+  \param y
+  Another row.
 
-namespace Parma_Polyhedra_Library {
+  Compares \p x and \p y, where \p x and \p y may be of different size,
+  in which case the "missing" coefficients are assumed to be zero.
+  The comparison is such that:
+  -# equalities are smaller than inequalities;
+  -# lines are smaller than points and rays;
+  -# the ordering is lexicographic;
+  -# the positions compared are, in decreasing order of significance,
+     1, 2, ..., \p size(), 0;
+  -# the result is negative, zero, or positive if x is smaller than,
+     equal to, or greater than y, respectively;
+  -# when \p x and \p y are different, the absolute value of the
+     result is 1 if the difference is due to the coefficient in
+     position 0; it is 2 otherwise.
 
-class Row_Impl_Handler;
-class Row;
+  When \p x and \p y represent the hyper-planes associated
+  to two equality or inequality constraints, the coefficient
+  at 0 is the known term.
+  In this case, the return value can be characterized as follows:
+  - -2, if \p x is smaller than \p y and they are \e not parallel;
+  - -1, if \p x is smaller than \p y and they \e are parallel;
+  -  0, if \p x and y are equal;
+  - +1, if \p y is smaller than \p x and they \e are parallel;
+  - +2, if \p y is smaller than \p x and they are \e not parallel.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+int compare(const Linear_Row& x, const Linear_Row& y);
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Coefficient.defs.hh line 1. */
-/* Coefficient class declaration.
-*/
 
+namespace std {
 
-/* Automatically generated from PPL source file ../src/Coefficient.defs.hh line 27. */
-#include <iosfwd>
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Specializes <CODE>std::swap</CODE>.
+/*! \relates Parma_Polyhedra_Library::Linear_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void swap(Parma_Polyhedra_Library::Linear_Row& x,
+	  Parma_Polyhedra_Library::Linear_Row& y);
 
-#if defined(PPL_CHECKED_INTEGERS) || defined(PPL_NATIVE_INTEGERS)
-/* Automatically generated from PPL source file ../src/Coefficient.defs.hh line 32. */
-#endif
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Specializes <CODE>std::iter_swap</CODE>.
+/*! \relates Parma_Polyhedra_Library::Linear_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void iter_swap(std::vector<Parma_Polyhedra_Library::Linear_Row>::iterator x,
+	       std::vector<Parma_Polyhedra_Library::Linear_Row>::iterator y);
 
-#ifdef PPL_GMP_INTEGERS
-/* Automatically generated from PPL source file ../src/GMP_Integer.defs.hh line 1. */
-/* GMP_Integer class declaration.
+} // namespace std
+
+/* Automatically generated from PPL source file ../src/Linear_Row.inlines.hh line 1. */
+/* Linear_Row class implementation: inline functions.
 */
 
 
-/* Automatically generated from PPL source file ../src/GMP_Integer.defs.hh line 28. */
-#include <cstddef>
+/* Automatically generated from PPL source file ../src/Linear_Row.inlines.hh line 28. */
+#include <algorithm>
 
 namespace Parma_Polyhedra_Library {
 
-//! \name Accessor Functions
-//@{
-
-//! Returns a const reference to the underlying integer value.
-/*! \relates GMP_Integer */
-const mpz_class& raw_value(const GMP_Integer& x);
-
-//! Returns a reference to the underlying integer value.
-/*! \relates GMP_Integer */
-mpz_class& raw_value(GMP_Integer& x);
-
-//@} // Accessor Functions
-
-//! \name Memory Size Inspection Functions
-//@{
-
-#ifndef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns the total size in bytes of the memory occupied by \p x.
-/*! \relates GMP_Integer */
-#endif // !defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-memory_size_type total_memory_in_bytes(const GMP_Integer& x);
+inline
+Linear_Row::Flags::Flags()
+  : Row::Flags() {
+  // Note that the constructed type has its validity bit unset.
+}
 
-#ifndef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns the size in bytes of the memory managed by \p x.
-/*! \relates GMP_Integer */
-#endif // !defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-memory_size_type external_memory_in_bytes(const GMP_Integer& x);
+inline
+Linear_Row::Flags::Flags(const Topology t)
+  : Row::Flags(t << nnc_bit) {
+#ifndef NDEBUG
+  set_bits(1 << nnc_validity_bit);
+#endif
+}
 
-//@} // Memory Size Inspection Functions
+inline
+Linear_Row::Flags::Flags(const Topology t, const Kind k)
+  : Row::Flags((k << rpi_bit) | (t << nnc_bit)) {
+#ifndef NDEBUG
+  set_bits((1 << rpi_validity_bit)
+	   | (1 << nnc_validity_bit));
+#endif
+}
 
-//! \name Arithmetic Operators
-//@{
+inline bool
+Linear_Row::Flags::is_ray_or_point_or_inequality() const {
+  PPL_ASSERT(test_bits(1 << rpi_validity_bit));
+  return test_bits(RAY_OR_POINT_OR_INEQUALITY << rpi_bit);
+}
 
-//! Assigns to \p x its negation.
-/*! \relates GMP_Integer */
-void neg_assign(GMP_Integer& x);
+inline void
+Linear_Row::Flags::set_is_ray_or_point_or_inequality() {
+#ifndef NDEBUG
+  set_bits(1 << rpi_validity_bit);
+#endif
+  set_bits(RAY_OR_POINT_OR_INEQUALITY << rpi_bit);
+}
 
-//! Assigns to \p x the negation of \p y.
-/*! \relates GMP_Integer */
-void neg_assign(GMP_Integer& x, const GMP_Integer& y);
+inline bool
+Linear_Row::Flags::is_line_or_equality() const {
+  PPL_ASSERT(test_bits(1 << rpi_validity_bit));
+  return !is_ray_or_point_or_inequality();
+}
 
-//! Assigns to \p x its absolute value.
-/*! \relates GMP_Integer */
-void abs_assign(GMP_Integer& x);
+inline void
+Linear_Row::Flags::set_is_line_or_equality() {
+#ifndef NDEBUG
+  set_bits(1 << rpi_validity_bit);
+#endif
+  reset_bits(RAY_OR_POINT_OR_INEQUALITY << rpi_bit);
+}
 
-//! Assigns to \p x the absolute value of \p y.
-/*! \relates GMP_Integer */
-void abs_assign(GMP_Integer& x, const GMP_Integer& y);
+inline bool
+Linear_Row::Flags::is_not_necessarily_closed() const {
+  PPL_ASSERT(test_bits(1 << nnc_validity_bit));
+  return test_bits(NOT_NECESSARILY_CLOSED << nnc_bit);
+}
 
-//! Assigns to \p x the remainder of the division of \p y by \p z.
-/*! \relates GMP_Integer */
-void rem_assign(GMP_Integer& x,
-		const GMP_Integer& y, const GMP_Integer& z);
+inline bool
+Linear_Row::Flags::is_necessarily_closed() const {
+  PPL_ASSERT(test_bits(1 << nnc_validity_bit));
+  return !is_not_necessarily_closed();
+}
 
-//! Assigns to \p x the greatest common divisor of \p y and \p z.
-/*! \relates GMP_Integer */
-void gcd_assign(GMP_Integer& x,
-		const GMP_Integer& y, const GMP_Integer& z);
+inline void
+Linear_Row::Flags::set_not_necessarily_closed() {
+#ifndef NDEBUG
+  set_bits(1 << nnc_validity_bit);
+#endif
+  set_bits(NOT_NECESSARILY_CLOSED << nnc_bit);
+}
 
-//! Extended GCD.
-/*! \relates GMP_Integer
-  Assigns to \p x the greatest common divisor of \p y and \p z, and to
-  \p s and \p t the values such that \p y * \p s + \p z * \p t = \p x.
-*/
-void gcdext_assign(GMP_Integer& x, GMP_Integer& s, GMP_Integer& t,
-		   const GMP_Integer& y, const GMP_Integer& z);
+inline void
+Linear_Row::Flags::set_necessarily_closed() {
+#ifndef NDEBUG
+  set_bits(1 << nnc_validity_bit);
+#endif
+  reset_bits(NOT_NECESSARILY_CLOSED << nnc_bit);
+}
 
-//! Assigns to \p x the least common multiple of \p y and \p z.
-/*! \relates GMP_Integer */
-void lcm_assign(GMP_Integer& x,
-		const GMP_Integer& y, const GMP_Integer& z);
+inline Topology
+Linear_Row::Flags::topology() const {
+  return is_necessarily_closed() ? NECESSARILY_CLOSED : NOT_NECESSARILY_CLOSED;
+}
 
-//! Assigns to \p x the value <CODE>x + y * z</CODE>.
-/*! \relates GMP_Integer */
-void add_mul_assign(GMP_Integer& x,
-		    const GMP_Integer& y, const GMP_Integer& z);
+inline bool
+Linear_Row::Flags::operator==(const Flags& y) const {
+  base_type mask = low_bits_mask<base_type>(first_free_bit);
+  return (get_bits() & mask) == (y.get_bits() & mask);
+}
 
-//! Assigns to \p x the value <CODE>x - y * z</CODE>.
-/*! \relates GMP_Integer */
-void sub_mul_assign(GMP_Integer& x,
-		    const GMP_Integer& y, const GMP_Integer& z);
+inline bool
+Linear_Row::Flags::operator!=(const Flags& y) const {
+  return !operator==(y);
+}
 
-/*! \brief
-  If \p z divides \p y, assigns to \p x the quotient of the integer
-  division of \p y and \p z.
+inline const Linear_Row::Flags&
+Linear_Row::flags() const {
+  return static_cast<const Flags&>(Row::flags());
+}
 
-  \relates GMP_Integer
-  The behavior is undefined if \p z does not divide \p y.
-*/
-void exact_div_assign(GMP_Integer& x,
-		      const GMP_Integer& y, const GMP_Integer& z);
+inline Linear_Row::Flags&
+Linear_Row::flags() {
+  return static_cast<Flags&>(Row::flags());
+}
 
-//! Assigns to \p x the integer square root of \p y.
-/*! \relates GMP_Integer */
-void sqrt_assign(GMP_Integer& x, const GMP_Integer& y);
+inline bool
+Linear_Row::is_necessarily_closed() const {
+  return flags().is_necessarily_closed();
+}
 
-/*! \brief
-  Returns a negative, zero or positive value depending on whether
-  \p x is lower than, equal to or greater than \p y, respectively.
+inline dimension_type
+Linear_Row::max_space_dimension() {
+  // The first coefficient holds the inhomogeneous term or the divisor.
+  // In NNC rows, the last coefficient is for the epsilon dimension.
+  return max_size() - 2;
+}
 
-  \relates GMP_Integer
-*/
-int cmp(const GMP_Integer& x, const GMP_Integer& y);
+inline dimension_type
+Linear_Row::space_dimension() const {
+  const dimension_type sz = size();
+  return (sz == 0)
+    ? 0
+    : sz - (is_necessarily_closed() ? 1 : 2);
+}
 
-//@} // Arithmetic Operators
+inline
+Linear_Row::Linear_Row()
+  : Row() {
+}
 
-} // namespace Parma_Polyhedra_Library
+inline void
+Linear_Row::construct(const dimension_type sz, const dimension_type capacity,
+		      const Flags f) {
+  Row::construct(sz, capacity, f);
+}
 
-/* Automatically generated from PPL source file ../src/GMP_Integer.inlines.hh line 1. */
-/* GMP_Integer class implementation: inline functions.
-*/
+inline
+Linear_Row::Linear_Row(const dimension_type sz, const dimension_type capacity,
+		       const Flags f) {
+  construct(sz, capacity, f);
+}
 
+inline void
+Linear_Row::construct(const dimension_type sz, const Flags f) {
+  construct(sz, sz, f);
+}
 
-#include <cassert>
+inline
+Linear_Row::Linear_Row(const dimension_type sz, const Flags f) {
+  construct(sz, f);
+}
 
-namespace Parma_Polyhedra_Library {
+inline
+Linear_Row::Linear_Row(const Linear_Row& y)
+  : Row(y) {
+}
 
-inline void
-neg_assign(GMP_Integer& x) {
-  mpz_neg(x.get_mpz_t(), x.get_mpz_t());
+inline
+Linear_Row::Linear_Row(const Linear_Row& y,
+		       const dimension_type capacity)
+  : Row(y, capacity) {
 }
 
-inline void
-neg_assign(GMP_Integer& x, const GMP_Integer& y) {
-  mpz_neg(x.get_mpz_t(), y.get_mpz_t());
+inline
+Linear_Row::Linear_Row(const Linear_Row& y,
+		       const dimension_type sz, const dimension_type capacity)
+  : Row(y, sz, capacity) {
 }
 
-inline void
-abs_assign(GMP_Integer& x) {
-  mpz_abs(x.get_mpz_t(), x.get_mpz_t());
+inline
+Linear_Row::~Linear_Row() {
 }
 
-inline void
-abs_assign(GMP_Integer& x, const GMP_Integer& y) {
-  mpz_abs(x.get_mpz_t(), y.get_mpz_t());
+inline bool
+Linear_Row::is_line_or_equality() const {
+  return flags().is_line_or_equality();
 }
 
-inline void
-gcd_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) {
-  mpz_gcd(x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t());
+inline bool
+Linear_Row::is_ray_or_point_or_inequality() const {
+  return flags().is_ray_or_point_or_inequality();
 }
 
-inline void
-rem_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) {
-  mpz_tdiv_r(x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t());
+inline Topology
+Linear_Row::topology() const {
+  return flags().topology();
 }
 
 inline void
-gcdext_assign(GMP_Integer& x, GMP_Integer& s, GMP_Integer& t,
-	      const GMP_Integer& y, const GMP_Integer& z) {
-  mpz_gcdext(x.get_mpz_t(),
-	     s.get_mpz_t(), t.get_mpz_t(),
-	     y.get_mpz_t(), z.get_mpz_t());
+Linear_Row::set_is_line_or_equality() {
+  flags().set_is_line_or_equality();
 }
 
 inline void
-lcm_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) {
-  mpz_lcm(x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t());
+Linear_Row::set_is_ray_or_point_or_inequality() {
+  flags().set_is_ray_or_point_or_inequality();
 }
 
 inline void
-add_mul_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) {
-  mpz_addmul(x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t());
+Linear_Row::set_necessarily_closed() {
+  flags().set_necessarily_closed();
 }
 
 inline void
-sub_mul_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) {
-  mpz_submul(x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t());
+Linear_Row::set_not_necessarily_closed() {
+  flags().set_not_necessarily_closed();
 }
 
-inline void
-exact_div_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) {
-  assert(y % z == 0);
-  mpz_divexact(x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t());
+inline Coefficient_traits::const_reference
+Linear_Row::inhomogeneous_term() const {
+  return (*this)[0];
 }
 
-inline void
-sqrt_assign(GMP_Integer& x, const GMP_Integer& y) {
-  mpz_sqrt(x.get_mpz_t(), y.get_mpz_t());
+inline Coefficient_traits::const_reference
+Linear_Row::coefficient(const dimension_type k) const {
+  return (*this)[k+1];
 }
 
-inline int
-cmp(const GMP_Integer& x, const GMP_Integer& y) {
-  return mpz_cmp(x.get_mpz_t(), y.get_mpz_t());
+inline void
+Linear_Row::strong_normalize() {
+  normalize();
+  sign_normalize();
 }
 
-inline const mpz_class&
-raw_value(const GMP_Integer& x) {
-  return x;
+/*! \relates Linear_Row */
+inline bool
+operator==(const Linear_Row& x, const Linear_Row& y) {
+  return x.flags() == y.flags()
+    && static_cast<const Row&>(x) == static_cast<const Row&>(y);
 }
 
-inline mpz_class&
-raw_value(GMP_Integer& x) {
-  return x;
+/*! \relates Linear_Row */
+inline bool
+operator!=(const Linear_Row& x, const Linear_Row& y) {
+  return !(x == y);
 }
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/GMP_Integer.defs.hh line 141. */
 
-/* Automatically generated from PPL source file ../src/Coefficient.defs.hh line 36. */
-#endif
+namespace std {
 
-namespace Parma_Polyhedra_Library {
+/*! \relates Parma_Polyhedra_Library::Linear_Row */
+inline void
+swap(Parma_Polyhedra_Library::Linear_Row& x,
+     Parma_Polyhedra_Library::Linear_Row& y) {
+  x.swap(y);
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Initializes the Coefficient constants.
-#endif
-void Coefficient_constants_initialize();
+/*! \relates Parma_Polyhedra_Library::Linear_Row */
+inline void
+iter_swap(std::vector<Parma_Polyhedra_Library::Linear_Row>::iterator x,
+	  std::vector<Parma_Polyhedra_Library::Linear_Row>::iterator y) {
+  swap(*x, *y);
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Finalizes the Coefficient constants.
-#endif
-void Coefficient_constants_finalize();
+} // namespace std
 
-//! Returns a const reference to a Coefficient with value 0.
-Coefficient_traits::const_reference Coefficient_zero();
+/* Automatically generated from PPL source file ../src/Linear_Row.defs.hh line 469. */
 
-//! Returns a const reference to a Coefficient with value 1.
-Coefficient_traits::const_reference Coefficient_one();
+/* Automatically generated from PPL source file ../src/Linear_Expression.defs.hh line 1. */
+/* Linear_Expression class declaration.
+*/
 
-} // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Coefficient.inlines.hh line 1. */
-/* Coefficient class implementation: inline functions.
+/* Automatically generated from PPL source file ../src/Variable.defs.hh line 1. */
+/* Variable class declaration.
 */
 
 
-namespace Parma_Polyhedra_Library {
-
-#if defined(PPL_CHECKED_INTEGERS) || defined(PPL_NATIVE_INTEGERS)
-inline Coefficient_traits::const_reference
-Coefficient_zero() {
-  // FIXME: is there a way to avoid this static variable?
-  static Coefficient zero(0);
-  return zero;
-}
+/* Automatically generated from PPL source file ../src/Variable.types.hh line 1. */
 
-inline Coefficient_traits::const_reference
-Coefficient_one() {
-  // FIXME: is there a way to avoid this static variable?
-  static Coefficient one(1);
-  return one;
-}
-#endif
 
-#ifdef PPL_GMP_INTEGERS
-inline Coefficient_traits::const_reference
-Coefficient_zero() {
-  extern const Coefficient* Coefficient_zero_p;
-  return *Coefficient_zero_p;
-}
+namespace Parma_Polyhedra_Library {
 
-inline Coefficient_traits::const_reference
-Coefficient_one() {
-  extern const Coefficient* Coefficient_one_p;
-  assert(*Coefficient_one_p != 0);
-  return *Coefficient_one_p;
-}
-#endif
+class Variable;
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Coefficient.defs.hh line 59. */
-
-/* Automatically generated from PPL source file ../src/Row.defs.hh line 29. */
-#include <vector>
-#include <limits>
+/* Automatically generated from PPL source file ../src/Variable.defs.hh line 29. */
+#include <iosfwd>
+#include <set>
 
-#ifndef PPL_ROW_EXTRA_DEBUG
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*!
-  \brief
-  Enables extra debugging information for class Row.
+namespace Parma_Polyhedra_Library {
 
-  \ingroup PPL_CXX_interface
-  When <CODE>PPL_ROW_EXTRA_DEBUG</CODE> evaluates to <CODE>true</CODE>,
-  each instance of the class Row carries its own capacity; this enables
-  extra consistency checks to be performed.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-#define PPL_ROW_EXTRA_DEBUG 1
-#else // !defined(PPL_ABI_BREAKING_EXTRA_DEBUG)
-#define PPL_ROW_EXTRA_DEBUG 0
-#endif // !defined(PPL_ABI_BREAKING_EXTRA_DEBUG)
-#endif // !defined(PPL_ROW_EXTRA_DEBUG)
+namespace IO_Operators {
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! The handler of the actual Row implementation.
-/*! \ingroup PPL_CXX_interface
-  Exception-safety is the only responsibility of this class: it has
-  to ensure that its \p impl member is correctly deallocated.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-class Parma_Polyhedra_Library::Row_Impl_Handler {
-public:
-  //! Default constructor.
-  Row_Impl_Handler();
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Variable */
+std::ostream&
+operator<<(std::ostream& s, const Variable& v);
 
-  //! Destructor.
-  ~Row_Impl_Handler();
+} // namespace IO_Operators
 
-  class Impl;
+//! Defines a total ordering on variables.
+/*! \relates Variable */
+bool less(Variable v, Variable w);
 
-  //! A pointer to the actual implementation.
-  Impl* impl;
+} // namespace Parma_Polyhedra_Library
 
-#if PPL_ROW_EXTRA_DEBUG
-  //! The capacity of \p impl (only available during debugging).
-  dimension_type capacity_;
-#endif // PPL_ROW_EXTRA_DEBUG
+//! A dimension of the vector space.
+/*! \ingroup PPL_CXX_interface
+  An object of the class Variable represents a dimension of the space,
+  that is one of the Cartesian axes.
+  Variables are used as basic blocks in order to build
+  more complex linear expressions.
+  Each variable is identified by a non-negative integer,
+  representing the index of the corresponding Cartesian axis
+  (the first axis has index 0).
+  The space dimension of a variable is the dimension of the vector space
+  made by all the Cartesian axes having an index less than or equal to
+  that of the considered variable; thus, if a variable has index \f$i\f$,
+  its space dimension is \f$i+1\f$.
 
-private:
-  //! Private and unimplemented: copy construction is not allowed.
-  Row_Impl_Handler(const Row_Impl_Handler&);
+  Note that the ``meaning'' of an object of the class Variable
+  is completely specified by the integer index provided to its
+  constructor:
+  be careful not to be mislead by C++ language variable names.
+  For instance, in the following example the linear expressions
+  <CODE>e1</CODE> and <CODE>e2</CODE> are equivalent,
+  since the two variables <CODE>x</CODE> and <CODE>z</CODE> denote
+  the same Cartesian axis.
+  \code
+  Variable x(0);
+  Variable y(1);
+  Variable z(0);
+  Linear_Expression e1 = x + y;
+  Linear_Expression e2 = y + z;
+  \endcode
 
-  //! Private and unimplemented: copy assignment is not allowed.
-  Row_Impl_Handler& operator=(const Row_Impl_Handler&);
-};
+*/
+class Parma_Polyhedra_Library::Variable {
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! A finite sequence of coefficients.
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-class Parma_Polyhedra_Library::Row : private Row_Impl_Handler {
 public:
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  /*! \brief
-    Wrapper class to represent a set of flags with bits in a native
-    unsigned integral type.
-    \ingroup PPL_CXX_interface
+  //! Builds the variable corresponding to the Cartesian axis of index \p i.
+  /*!
+    \exception std::length_error
+    Thrown if <CODE>i+1</CODE> exceeds
+    <CODE>Variable::max_space_dimension()</CODE>.
   */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-  class Flags {
-  public:
-    //! Constructs an object with all the flags unset.
-    Flags();
-
-    //! Returns <CODE>true</CODE> if and only if \p *this and \p y are equal.
-    bool operator==(const Flags& y) const;
-
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if \p *this and \p y
-      are different.
-    */
-    bool operator!=(const Flags& y) const;
-
-    PPL_OUTPUT_DECLARATIONS
-
-    //! Uses the ASCII Flags representation from \p s to recreate *this.
-    /*!
-      Returns <CODE>true</CODE> if successful, <CODE>false</CODE>
-      otherwise.  The ASCII representation is as output by
-      \ref Parma_Polyhedra_Library::Row::Flags::ascii_dump.
-    */
-    bool ascii_load(std::istream& s);
+  explicit Variable(dimension_type i);
 
-  protected:
-    //! A native integral type holding the bits that encode the flags.
-    typedef unsigned int base_type;
+  //! Returns the index of the Cartesian axis associated to the variable.
+  dimension_type id() const;
 
-    //! Index of the first bit derived classes can use.
-    static const unsigned first_free_bit = 0;
+  //! Returns the maximum space dimension a Variable can handle.
+  static dimension_type max_space_dimension();
 
-    //! Total number of bits that can be stored.
-    static const unsigned num_bits = std::numeric_limits<base_type>::digits;
+  //! Returns the dimension of the vector space enclosing \p *this.
+  /*!
+    The returned value is <CODE>id()+1</CODE>.
+  */
+  dimension_type space_dimension() const;
 
-    //! Constructs an object with flags set as in \p n.
-    explicit Flags(base_type n);
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
 
-    //! Returns the integer encoding \p *this.
-    base_type get_bits() const;
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-    //! Sets the bits in \p mask.
-    void set_bits(base_type mask);
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 
-    //! Resets the bits in \p mask.
-    void reset_bits(base_type mask);
+  //! Type of output functions.
+  typedef void output_function_type(std::ostream& s, const Variable& v);
 
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if all the bits
-      in \p mask are set.
-    */
-    bool test_bits(base_type mask) const;
+  //! Sets the output function to be used for printing Variable objects.
+  static void set_output_function(output_function_type* p);
 
-  private:
-    //! The integer encoding \p *this.
-    base_type bits;
+  //! Returns the pointer to the current output function.
+  static output_function_type* get_output_function();
 
-    friend class Row;
+  //! Binary predicate defining the total ordering on variables.
+  /*! \ingroup PPL_CXX_interface */
+  struct Compare {
+    //! Returns <CODE>true</CODE> if and only if \p x comes before \p y.
+    bool operator()(Variable x, Variable y) const;
   };
 
-  //! Pre-constructs a row: construction must be completed by construct().
-  Row();
-
-  //! \name Post-constructors
-  //@{
-  //! Constructs properly a default-constructed element.
-  /*!
-    Builds a row with size and capacity \p sz and flags \p f.
-  */
-  void construct(dimension_type sz, Flags f);
-
-  //! Constructs properly a default-constructed element.
-  /*!
-    \param sz
-    The size of the row that will be constructed;
+private:
+  //! The index of the Cartesian axis.
+  dimension_type varid;
 
-    \param capacity
-    The capacity of the row that will be constructed;
+  // The initialization class needs to set the default output function.
+  friend class Init;
 
-    \param f
-    Flags for the row that will be constructed.
+  friend std::ostream&
+  Parma_Polyhedra_Library::IO_Operators::operator<<(std::ostream& s,
+						    const Variable& v);
 
-    The row that is constructed has storage for \p capacity elements,
-    \p sz of which are default-constructed now.
-    The row flags are set to \p f.
-  */
-  void construct(dimension_type sz, dimension_type capacity, Flags f);
-  //@} // Post-constructors
+  //! Pointer to the current output function.
+  static output_function_type* current_output_function;
 
-  //! Tight constructor: resizing may require reallocation.
-  /*!
-    Constructs a row with size and capacity \p sz, and flags \p f.
-  */
-  Row(dimension_type sz, Flags f);
+  //! The default output function.
+  static void default_output_function(std::ostream& s, const Variable& v);
+};
 
-  //! Sizing constructor with capacity.
-  /*!
-    \param sz
-    The size of the row that will be constructed;
+/* Automatically generated from PPL source file ../src/Variable.inlines.hh line 1. */
+/* Variable class implementation: inline functions.
+*/
 
-    \param capacity
-    The capacity of the row that will be constructed;
 
-    \param f
-    Flags for the row that will be constructed.
+/* Automatically generated from PPL source file ../src/Variable.inlines.hh line 27. */
+#include <stdexcept>
 
-    The row that is constructed has storage for \p capacity elements,
-    \p sz of which are default-constructed now.
-    The row flags are set to \p f.
-  */
-  Row(dimension_type sz, dimension_type capacity, Flags f);
+namespace Parma_Polyhedra_Library {
 
-  //! Ordinary copy constructor.
-  Row(const Row& y);
+inline dimension_type
+Variable::max_space_dimension() {
+  return not_a_dimension() - 1;
+}
 
-  //! Copy constructor with specified capacity.
-  /*!
-    It is assumed that \p capacity is greater than or equal to
-    the size of \p y.
-  */
-  Row(const Row& y, dimension_type capacity);
+inline
+Variable::Variable(dimension_type i)
+  : varid(i < max_space_dimension()
+	  ? i
+	  : (throw std::length_error("PPL::Variable::Variable(i):\n"
+				     "i exceeds the maximum allowed "
+				     "variable identifier."), i)) {
+}
 
-  //! Copy constructor with specified size and capacity.
-  /*!
-    It is assumed that \p sz is greater than or equal to the size of \p y
-    and, of course, that \p sz is less than or equal to \p capacity.
-  */
-  Row(const Row& y, dimension_type sz, dimension_type capacity);
+inline dimension_type
+Variable::id() const {
+  return varid;
+}
 
-  //! Destructor.
-  ~Row();
+inline dimension_type
+Variable::space_dimension() const {
+  return varid + 1;
+}
 
-  //! Assignment operator.
-  Row& operator=(const Row& y);
+inline memory_size_type
+Variable::external_memory_in_bytes() const {
+  return 0;
+}
 
-  //! Swaps \p *this with \p y.
-  void swap(Row& y);
+inline memory_size_type
+Variable::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
 
-  //! Assigns the implementation of \p y to \p *this.
-  /*!
-    To be used with extra care, since it may easily cause memory leaks
-    or undefined behavior.
-  */
-  void assign(Row& y);
+inline void
+Variable::set_output_function(output_function_type* p) {
+  current_output_function = p;
+}
 
-  /*! \brief
-    Allocates memory for a default constructed Row object, setting
-    flags to \p f and allowing for \p capacity coefficients at most.
+inline Variable::output_function_type*
+Variable::get_output_function() {
+  return current_output_function;
+}
 
-    It is assumed that no allocation has been performed before
-    (otherwise, a memory leak will occur).
-    After execution, the size of the Row object is zero.
-  */
-  void allocate(dimension_type capacity, Flags f);
+/*! \relates Variable */
+inline bool
+less(const Variable v, const Variable w) {
+  return v.id() < w.id();
+}
 
-  //! Expands the row to size \p new_size.
-  /*!
-    Adds new positions to the implementation of the row
-    obtaining a new row with size \p new_size.
-    It is assumed that \p new_size is between the current size
-    and capacity of the row.
-  */
-  void expand_within_capacity(dimension_type new_size);
+inline bool
+Variable::Compare::operator()(const Variable x, const Variable y) const {
+  return less(x, y);
+}
 
-  //! Shrinks the row by erasing elements at the end.
-  /*!
-    Destroys elements of the row implementation
-    from position \p new_size to the end.
-    It is assumed that \p new_size is not greater than the current size.
-  */
-  void shrink(dimension_type new_size);
+} // namespace Parma_Polyhedra_Library
 
-  //! Returns a const reference to the flags of \p *this.
-  const Flags& flags() const;
+/* Automatically generated from PPL source file ../src/Variable.defs.hh line 147. */
 
-  //! Returns a non-const reference to the flags of \p *this.
-  Flags& flags();
+/* Automatically generated from PPL source file ../src/Constraint_System.types.hh line 1. */
 
-  //! Returns the size() of the largest possible Row.
-  static dimension_type max_size();
 
-  //! Gives the number of coefficients currently in use.
-  dimension_type size() const;
+namespace Parma_Polyhedra_Library {
 
-  //! \name Subscript operators
-  //@{
-  //! Returns a reference to the element of the row indexed by \p k.
-  Coefficient& operator[](dimension_type k);
+class Constraint_System;
 
-  //! Returns a constant reference to the element of the row indexed by \p k.
-  Coefficient_traits::const_reference operator[](dimension_type k) const;
-  //@} // Subscript operators
+} // namespace Parma_Polyhedra_Library
 
-  //! Normalizes the modulo of coefficients so that they are mutually prime.
-  /*!
-    Computes the Greatest Common Divisor (GCD) among the elements of
-    the row and normalizes them by the GCD itself.
-  */
-  void normalize();
+/* Automatically generated from PPL source file ../src/Generator_System.types.hh line 1. */
 
-  PPL_OUTPUT_DECLARATIONS
 
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-  */
-  bool ascii_load(std::istream& s);
+namespace Parma_Polyhedra_Library {
 
-  /*! \brief
-    Returns a lower bound to the total size in bytes of the memory
-    occupied by \p *this.
-  */
-  memory_size_type total_memory_in_bytes() const;
+class Generator_System;
 
-  /*! \brief
-    Returns a lower bound to the size in bytes of the memory
-    managed by \p *this.
-  */
-  memory_size_type external_memory_in_bytes() const;
+} // namespace Parma_Polyhedra_Library
 
-  /*! \brief
-    Returns the total size in bytes of the memory occupied by \p *this,
-    provided the capacity of \p *this is given by \p capacity.
-  */
-  memory_size_type total_memory_in_bytes(dimension_type capacity) const;
+/* Automatically generated from PPL source file ../src/Congruence_System.types.hh line 1. */
 
-  /*! \brief
-    Returns the size in bytes of the memory managed by \p *this,
-    provided the capacity of \p *this is given by \p capacity.
-  */
-  memory_size_type external_memory_in_bytes(dimension_type capacity) const;
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+namespace Parma_Polyhedra_Library {
 
-  /*! \brief
-    Checks if all the invariants are satisfied and that the actual
-    size and capacity match the values provided as arguments.
-  */
-  bool OK(dimension_type row_size, dimension_type row_capacity) const;
+class Congruence_System;
 
-private:
-  //! Exception-safe copy construction mechanism for coefficients.
-  void copy_construct_coefficients(const Row& y);
+}
+
+/* Automatically generated from PPL source file ../src/Grid_Generator_System.types.hh line 1. */
 
-#if PPL_ROW_EXTRA_DEBUG
-  //! Returns the capacity of the row (only available during debugging).
-  dimension_type capacity() const;
-#endif // PPL_ROW_EXTRA_DEBUG
-};
 
 namespace Parma_Polyhedra_Library {
 
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are equal.
-/*! \relates Row */
-bool operator==(const Row& x, const Row& y);
+class Grid_Generator_System;
 
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
-/*! \relates Row */
-bool operator!=(const Row& x, const Row& y);
+}
 
-} // namespace Parma_Polyhedra_Library
+/* Automatically generated from PPL source file ../src/Polyhedron.types.hh line 1. */
 
 
-namespace std {
+namespace Parma_Polyhedra_Library {
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void swap(Parma_Polyhedra_Library::Row& x,
-	  Parma_Polyhedra_Library::Row& y);
+class Polyhedron;
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::iter_swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void iter_swap(std::vector<Parma_Polyhedra_Library::Row>::iterator x,
-	       std::vector<Parma_Polyhedra_Library::Row>::iterator y);
+} // namespace Parma_Polyhedra_Library
 
-} // namespace std
+/* Automatically generated from PPL source file ../src/Grid.types.hh line 1. */
 
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! The actual implementation of a Row object.
-/*! \ingroup PPL_CXX_interface
-  The class Row_Impl_Handler::Impl provides the implementation of Row
-  objects and, in particular, of the corresponding memory allocation
-  functions.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-class Parma_Polyhedra_Library::Row_Impl_Handler::Impl {
-public:
-  //! \name Custom allocator and deallocator
-  //@{
+namespace Parma_Polyhedra_Library {
 
-  /*! \brief
-    Allocates a chunk of memory able to contain \p capacity Coefficient objects
-    beyond the specified \p fixed_size and returns a pointer to the new
-    allocated memory.
-  */
-  static void* operator new(size_t fixed_size, dimension_type capacity);
+class Grid;
 
-  //! Uses the standard delete operator to free the memory \p p points to.
-  static void operator delete(void* p);
+} // namespace Parma_Polyhedra_Library
 
-  /*! \brief
-    Placement version:
-    uses the standard operator delete to free the memory \p p points to.
-  */
-  static void operator delete(void* p, dimension_type capacity);
-  //@} // Custom allocator and deallocator
+/* Automatically generated from PPL source file ../src/Linear_Expression.defs.hh line 41. */
+#include <cstddef>
 
-  //! Constructor.
-  Impl(Row::Flags f);
+namespace Parma_Polyhedra_Library {
+// Put them in the namespace here to declare them friend later.
 
-  //! Destructor.
-  /*!
-    Uses <CODE>shrink()</CODE> method with argument \f$0\f$
-    to delete all the row elements.
-  */
-  ~Impl();
+//! Returns the linear expression \p e1 + \p e2.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator+(const Linear_Expression& e1, const Linear_Expression& e2);
 
-  //! Expands the row to size \p new_size.
-  /*!
-    It is assumed that \p new_size is between the current size and capacity.
-  */
-  void expand_within_capacity(dimension_type new_size);
+//! Returns the linear expression \p v + \p w.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator+(Variable v, Variable w);
 
-  //! Shrinks the row by erasing elements at the end.
-  /*!
-    It is assumed that \p new_size is not greater than the current size.
-  */
-  void shrink(dimension_type new_size);
+//! Returns the linear expression \p v + \p e.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator+(Variable v, const Linear_Expression& e);
 
-  //! Exception-safe copy construction mechanism for coefficients.
-  void copy_construct_coefficients(const Impl& y);
+//! Returns the linear expression \p e + \p v.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator+(const Linear_Expression& e, Variable v);
 
-  //! Returns the size() of the largest possible Impl.
-  static dimension_type max_size();
+//! Returns the linear expression \p n + \p e.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator+(Coefficient_traits::const_reference n, const Linear_Expression& e);
 
-  //! \name Flags accessors
-  //@{
-  //! Returns a const reference to the flags of \p *this.
-  const Row::Flags& flags() const;
+//! Returns the linear expression \p e + \p n.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator+(const Linear_Expression& e, Coefficient_traits::const_reference n);
 
-  //! Returns a non-const reference to the flags of \p *this.
-  Row::Flags& flags();
-  //@} // Flags accessors
+//! Returns the linear expression \p e.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator+(const Linear_Expression& e);
 
-  //! \name Size accessors
-  //@{
-  //! Returns the actual size of \p this.
-  dimension_type size() const;
+//! Returns the linear expression - \p e.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator-(const Linear_Expression& e);
 
-  //! Sets to \p new_size the actual size of \p *this.
-  void set_size(dimension_type new_size);
+//! Returns the linear expression \p e1 - \p e2.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator-(const Linear_Expression& e1, const Linear_Expression& e2);
 
-  //! Increment the size of \p *this by 1.
-  void bump_size();
-  //@} // Size accessors
+//! Returns the linear expression \p v - \p w.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator-(Variable v, Variable w);
 
-  //! \name Subscript operators
-  //@{
-  //! Returns a reference to the element of \p *this indexed by \p k.
-  Coefficient& operator[](dimension_type k);
+//! Returns the linear expression \p v - \p e.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator-(Variable v, const Linear_Expression& e);
 
-  //! Returns a constant reference to the element of \p *this indexed by \p k.
-  Coefficient_traits::const_reference operator[](dimension_type k) const;
-  //@} // Subscript operators
+//! Returns the linear expression \p e - \p v.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator-(const Linear_Expression& e, Variable v);
 
-  /*! \brief
-    Returns a lower bound to the total size in bytes of the memory
-    occupied by \p *this.
-  */
-  memory_size_type total_memory_in_bytes() const;
+//! Returns the linear expression \p n - \p e.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator-(Coefficient_traits::const_reference n, const Linear_Expression& e);
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes(dimension_type capacity) const;
+//! Returns the linear expression \p e - \p n.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator-(const Linear_Expression& e, Coefficient_traits::const_reference n);
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+//! Returns the linear expression \p n * \p e.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator*(Coefficient_traits::const_reference n, const Linear_Expression& e);
 
-private:
-  //! The number of coefficients in the row.
-  dimension_type size_;
+//! Returns the linear expression \p e * \p n.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator*(const Linear_Expression& e, Coefficient_traits::const_reference n);
 
-  //! The flags of this row.
-  Row::Flags flags_;
+//! Returns the linear expression \p e1 + \p e2 and assigns it to \p e1.
+/*! \relates Linear_Expression */
+Linear_Expression&
+operator+=(Linear_Expression& e1, const Linear_Expression& e2);
 
-  //! The vector of coefficients.
-  Coefficient vec_[
-#if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-	       1
-#endif
-  ];
+//! Returns the linear expression \p e + \p v and assigns it to \p e.
+/*! \relates Linear_Expression
+  \exception std::length_error
+  Thrown if the space dimension of \p v exceeds
+  <CODE>Linear_Expression::max_space_dimension()</CODE>.
+ */
+Linear_Expression&
+operator+=(Linear_Expression& e, Variable v);
 
-  //! Private and unimplemented: default construction is not allowed.
-  Impl();
+//! Returns the linear expression \p e + \p n and assigns it to \p e.
+/*! \relates Linear_Expression */
+Linear_Expression&
+operator+=(Linear_Expression& e, Coefficient_traits::const_reference n);
 
-  //! Private and unimplemented: copy construction is not allowed.
-  Impl(const Impl& y);
+//! Returns the linear expression \p e1 - \p e2 and assigns it to \p e1.
+/*! \relates Linear_Expression */
+Linear_Expression&
+operator-=(Linear_Expression& e1, const Linear_Expression& e2);
 
-  //! Private and unimplemented: assignment is not allowed.
-  Impl& operator=(const Impl&);
-};
+//! Returns the linear expression \p e - \p v and assigns it to \p e.
+/*! \relates Linear_Expression
+  \exception std::length_error
+  Thrown if the space dimension of \p v exceeds
+  <CODE>Linear_Expression::max_space_dimension()</CODE>.
+ */
+Linear_Expression&
+operator-=(Linear_Expression& e, Variable v);
 
-/* Automatically generated from PPL source file ../src/Row.inlines.hh line 1. */
-/* Row class implementation: inline functions.
-*/
+//! Returns the linear expression \p e - \p n and assigns it to \p e.
+/*! \relates Linear_Expression */
+Linear_Expression&
+operator-=(Linear_Expression& e, Coefficient_traits::const_reference n);
 
+//! Returns the linear expression \p n * \p e and assigns it to \p e.
+/*! \relates Linear_Expression */
+Linear_Expression&
+operator*=(Linear_Expression& e, Coefficient_traits::const_reference n);
 
-/* Automatically generated from PPL source file ../src/math_utilities.defs.hh line 1. */
-/* Declarations of some math utility functions.
-*/
+//! Returns the linear expression \p e + \p n * \p v and assigns it to \p e.
+/*! \relates Linear_Expression */
+Linear_Expression&
+add_mul_assign(Linear_Expression& e,
+               Coefficient_traits::const_reference n, Variable v);
 
+//! Returns the linear expression \p e - \p n * \p v and assigns it to \p e.
+/*! \relates Linear_Expression */
+Linear_Expression&
+sub_mul_assign(Linear_Expression& e,
+               Coefficient_traits::const_reference n, Variable v);
 
-/* Automatically generated from PPL source file ../src/math_utilities.defs.hh line 28. */
-#include <gmpxx.h>
+namespace IO_Operators {
 
-namespace Parma_Polyhedra_Library {
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+std::ostream& operator<<(std::ostream& s, const Linear_Expression& e);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Extract the numerator and denominator components of \p from.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T, typename Policy>
-void
-numer_denom(const Checked_Number<T, Policy>& from,
-	    Coefficient& num, Coefficient& den);
+} // namespace IO_Operators
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Divides \p x by \p y into \p to, rounding the result towards plus infinity.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T, typename Policy>
-void
-div_round_up(Checked_Number<T, Policy>& to,
-	     Coefficient_traits::const_reference x,
-	     Coefficient_traits::const_reference y);
+} // namespace Parma_Polyhedra_Library
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Assigns to \p x the minimum between \p x and \p y.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename N>
-void
-min_assign(N& x, const N& y);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Assigns to \p x the maximum between \p x and \p y.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename N>
-void
-max_assign(N& x, const N& y);
+namespace std {
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns <CODE>true</CODE> if and only if \p x is an even number.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T, typename Policy>
-bool
-is_even(const Checked_Number<T, Policy>& x);
+//! Specializes <CODE>std::swap</CODE>.
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+void swap(Parma_Polyhedra_Library::Linear_Expression& x,
+	  Parma_Polyhedra_Library::Linear_Expression& y);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns <CODE>true</CODE> if and only if \f$x = -y\f$.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T, typename Policy>
-bool
-is_additive_inverse(const Checked_Number<T, Policy>& x,
-		    const Checked_Number<T, Policy>& y);
+} // namespace std
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  If \f$g\f$ is the GCD of \p x and \p y, the values of \p x and \p y
-  divided by \f$g\f$ are assigned to \p nx and \p ny, respectively.
+//! A linear expression.
+/*! \ingroup PPL_CXX_interface
+  An object of the class Linear_Expression represents the linear expression
+  \f[
+    \sum_{i=0}^{n-1} a_i x_i + b
+  \f]
+  where \f$n\f$ is the dimension of the vector space,
+  each \f$a_i\f$ is the integer coefficient
+  of the \f$i\f$-th variable \f$x_i\f$
+  and \f$b\f$ is the integer for the inhomogeneous term.
 
-  \note
-  \p x and \p nx may be the same object and likewise for
-  \p y and \p ny.  Any other aliasing results in undefined behavior.
+  \par How to build a linear expression.
+
+  Linear expressions are the basic blocks for defining
+  both constraints (i.e., linear equalities or inequalities)
+  and generators (i.e., lines, rays, points and closure points).
+  A full set of functions is defined to provide a convenient interface
+  for building complex linear expressions starting from simpler ones
+  and from objects of the classes Variable and Coefficient:
+  available operators include unary negation,
+  binary addition and subtraction,
+  as well as multiplication by a Coefficient.
+  The space dimension of a linear expression is defined as the maximum
+  space dimension of the arguments used to build it:
+  in particular, the space dimension of a Variable <CODE>x</CODE>
+  is defined as <CODE>x.id()+1</CODE>,
+  whereas all the objects of the class Coefficient have space dimension zero.
+
+  \par Example
+  The following code builds the linear expression \f$4x - 2y - z + 14\f$,
+  having space dimension \f$3\f$:
+  \code
+  Linear_Expression e = 4*x - 2*y - z + 14;
+  \endcode
+  Another way to build the same linear expression is:
+  \code
+  Linear_Expression e1 = 4*x;
+  Linear_Expression e2 = 2*y;
+  Linear_Expression e3 = z;
+  Linear_Expression e = Linear_Expression(14);
+  e += e1 - e2 - e3;
+  \endcode
+  Note that \p e1, \p e2 and \p e3 have space dimension 1, 2 and 3,
+  respectively; also, in the fourth line of code, \p e is created
+  with space dimension zero and then extended to space dimension 3
+  in the fifth line.
 */
-#endif
-void
-normalize2(Coefficient_traits::const_reference x,
-	   Coefficient_traits::const_reference y,
-	   Coefficient& nx, Coefficient& ny);
+class Parma_Polyhedra_Library::Linear_Expression : private Linear_Row {
+public:
+  //! Default constructor: returns a copy of Linear_Expression::zero().
+  Linear_Expression();
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns <CODE>true</CODE> if and only if \p x is in canonical form.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool
-is_canonical(const mpq_class& x);
+  //! Ordinary copy constructor.
+  Linear_Expression(const Linear_Expression& e);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns a mask for the lowest \p n bits,
-#endif
-template <typename T>
-T
-low_bits_mask(unsigned n);
+  //! Destructor.
+  ~Linear_Expression();
 
-} // namespace Parma_Polyhedra_Library
+  /*! \brief
+    Builds the linear expression corresponding
+    to the inhomogeneous term \p n.
+  */
+  explicit Linear_Expression(Coefficient_traits::const_reference n);
 
-/* Automatically generated from PPL source file ../src/math_utilities.inlines.hh line 1. */
-/* Implementation of some math utility functions: inline functions.
-*/
+  //! Builds the linear expression corresponding to the variable \p v.
+  /*!
+    \exception std::length_error
+    Thrown if the space dimension of \p v exceeds
+    <CODE>Linear_Expression::max_space_dimension()</CODE>.
+  */
+  Linear_Expression(Variable v);
 
+  //! Builds the linear expression corresponding to constraint \p c.
+  /*!
+    Given the constraint
+    \f$c = \bigl(\sum_{i=0}^{n-1} a_i x_i + b \relsym 0\bigr)\f$,
+    where \f$\mathord{\relsym} \in \{ =, \geq, > \}\f$,
+    this builds the linear expression \f$\sum_{i=0}^{n-1} a_i x_i + b\f$.
+    If \p c is an inequality (resp., equality) constraint, then
+    the built linear expression is unique up to a positive
+    (resp., non-zero) factor.
+  */
+  explicit Linear_Expression(const Constraint& c);
 
-/* Automatically generated from PPL source file ../src/math_utilities.inlines.hh line 27. */
-#include <limits>
-#include <cassert>
+  /*! \brief
+    Builds the linear expression corresponding to generator \p g
+    (for points and closure points, the divisor is not copied).
 
-namespace Parma_Polyhedra_Library {
+    Given the generator
+    \f$g = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$
+    (where, for lines and rays, we have \f$d = 1\f$),
+    this builds the linear expression \f$\sum_{i=0}^{n-1} a_i x_i\f$.
+    The inhomogeneous term of the linear expression will always be 0.
+    If \p g is a ray, point or closure point (resp., a line), then
+    the linear expression is unique up to a positive
+    (resp., non-zero) factor.
+  */
+  explicit Linear_Expression(const Generator& g);
 
-inline void
-normalize2(Coefficient_traits::const_reference x,
-	   Coefficient_traits::const_reference y,
-	   Coefficient& nx, Coefficient& ny) {
-  PPL_DIRTY_TEMP_COEFFICIENT(gcd);
-  gcd_assign(gcd, x, y);
-  exact_div_assign(nx, x, gcd);
-  exact_div_assign(ny, y, gcd);
-}
+  /*! \brief
+    Builds the linear expression corresponding to grid generator \p g
+    (for points, parameters and lines the divisor is not copied).
 
-template <typename T>
-inline T
-low_bits_mask(const unsigned n) {
-  assert(n < unsigned(std::numeric_limits<T>::digits));
-  return n == 0 ? 0 : ~(~(T(0u)) << n);
-}
+    Given the grid generator
+    \f$g = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$
+    this builds the linear expression \f$\sum_{i=0}^{n-1} a_i x_i\f$.
+    The inhomogeneous term of the linear expression is always 0.
+  */
+  explicit Linear_Expression(const Grid_Generator& g);
 
-template <typename T, typename Policy>
-inline void
-numer_denom(const Checked_Number<T, Policy>& from,
-	    Coefficient& num, Coefficient& den) {
-  assert(!is_not_a_number(from)
-	 && !is_minus_infinity(from)
-	 && !is_plus_infinity(from));
-  PPL_DIRTY_TEMP0(mpq_class, q);
-  assign_r(q, from, ROUND_NOT_NEEDED);
-  num = q.get_num();
-  den = q.get_den();
-}
+  //! Builds the linear expression corresponding to congruence \p cg.
+  /*!
+    Given the congruence
+    \f$cg = \bigl(\sum_{i=0}^{n-1} a_i x_i + b = 0 \pmod{m}\bigr)\f$,
+    this builds the linear expression \f$\sum_{i=0}^{n-1} a_i x_i + b\f$.
+  */
+  explicit Linear_Expression(const Congruence& cg);
 
-template <typename T, typename Policy>
-inline void
-div_round_up(Checked_Number<T, Policy>& to,
-	     Coefficient_traits::const_reference x,
-	     Coefficient_traits::const_reference y) {
-  PPL_DIRTY_TEMP0(mpq_class, qx);
-  PPL_DIRTY_TEMP0(mpq_class, qy);
-  // Note: this code assumes that a Coefficient is always convertible
-  // to an mpq_class without loss of precision.
-  assign_r(qx, x, ROUND_NOT_NEEDED);
-  assign_r(qy, y, ROUND_NOT_NEEDED);
-  div_assign_r(qx, qx, qy, ROUND_NOT_NEEDED);
-  assign_r(to, qx, ROUND_UP);
-}
+  //! Returns the maximum space dimension a Linear_Expression can handle.
+  static dimension_type max_space_dimension();
 
-template <typename N>
-inline void
-min_assign(N& x, const N& y) {
-  if (x > y)
-    x = y;
-}
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
 
-template <typename N>
-inline void
-max_assign(N& x, const N& y) {
-  if (x < y)
-    x = y;
-}
+  //! Returns the coefficient of \p v in \p *this.
+  Coefficient_traits::const_reference coefficient(Variable v) const;
 
-template <typename T, typename Policy>
-inline bool
-is_even(const Checked_Number<T, Policy>& x) {
-  Checked_Number<T, Policy> half_x;
-  return div2exp_assign_r(half_x, x, 1, ROUND_DIRECT) == V_EQ
-    && is_integer(half_x);
-}
+  //! Returns the inhomogeneous term of \p *this.
+  Coefficient_traits::const_reference inhomogeneous_term() const;
 
-template <typename T, typename Policy>
-inline bool
-is_additive_inverse(const Checked_Number<T, Policy>& x,
-		    const Checked_Number<T, Policy>& y) {
-  Checked_Number<T, Policy> negated_x;
-  return neg_assign_r(negated_x, x, ROUND_DIRECT) == V_EQ
-    && negated_x == y;
-}
+  //! Returns <CODE>true</CODE> if and only if \p *this is \f$0\f$.
+  bool is_zero() const;
 
-inline bool
-is_canonical(const mpq_class& x) {
-  if (x.get_den() <= 0)
-    return false;
-  PPL_DIRTY_TEMP0(mpq_class, temp);
-  temp = x;
-  temp.canonicalize();
-  return temp.get_num() == x.get_num();
-}
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if all the homogeneous
+    terms of \p *this are \f$0\f$.
+  */
+  bool all_homogeneous_terms_are_zero() const;
 
-} // namespace Parma_Polyhedra_Library
+  //! Initializes the class.
+  static void initialize();
 
-/* Automatically generated from PPL source file ../src/math_utilities.defs.hh line 109. */
+  //! Finalizes the class.
+  static void finalize();
 
-/* Automatically generated from PPL source file ../src/Row.inlines.hh line 27. */
-#include <cassert>
-#include <cstddef>
-#include <limits>
-#include <algorithm>
+  //! Returns the (zero-dimension space) constant 0.
+  static const Linear_Expression& zero();
 
-namespace Parma_Polyhedra_Library {
+  /*! \brief
+    Returns a lower bound to the total size in bytes of the memory
+    occupied by \p *this.
+  */
+  memory_size_type total_memory_in_bytes() const;
 
-inline
-Row::Flags::Flags()
-  : bits(0) {
-}
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-inline
-Row::Flags::Flags(base_type n)
-  : bits(n) {
-}
+  PPL_OUTPUT_DECLARATIONS
 
-inline Row::Flags::base_type
-Row::Flags::get_bits() const {
-  return bits;
-}
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
 
-inline void
-Row::Flags::set_bits(const base_type mask) {
-  bits |= mask;
-}
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 
-inline void
-Row::Flags::reset_bits(const base_type mask) {
-  bits &= ~mask;
-}
+  //! Swaps \p *this with \p y.
+  void swap(Linear_Expression& y);
 
-inline bool
-Row::Flags::test_bits(const base_type mask) const {
-  return (bits & mask) == mask;
-}
+private:
+  /*! \brief
+    Holds (between class initialization and finalization) a pointer to
+    the (zero-dimension space) constant 0.
+  */
+  static const Linear_Expression* zero_p;
 
-inline bool
-Row::Flags::operator==(const Flags& y) const {
-  base_type mask = low_bits_mask<base_type>(first_free_bit);
-  return (get_bits() & mask) == (y.get_bits() & mask);
-}
+  friend class Parma_Polyhedra_Library::Scalar_Products;
+  friend class Parma_Polyhedra_Library::Constraint;
+  friend class Parma_Polyhedra_Library::Generator;
+  // The following declaration grants access to Grid_Generator::parameter.
+  friend class Parma_Polyhedra_Library::Grid_Generator;
+  friend class Parma_Polyhedra_Library::Congruence;
+  // FIXME: the following friend declaration should be avoided.
+  friend class Parma_Polyhedra_Library::Polyhedron;
+  friend class Parma_Polyhedra_Library::Grid;
 
-inline bool
-Row::Flags::operator!=(const Flags& y) const {
-  return !operator==(y);
-}
+  // FIXME: the following friend declaration is only to grant access to
+  // Constraint_System::affine_preimage().
+  friend class Parma_Polyhedra_Library::Constraint_System;
 
-inline void*
-Row_Impl_Handler::Impl::operator new(const size_t fixed_size,
-				     const dimension_type capacity) {
-#if PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-  return ::operator new(fixed_size + capacity*sizeof(Coefficient));
-#else
-  assert(capacity >= 1);
-  return ::operator new(fixed_size + (capacity-1)*sizeof(Coefficient));
-#endif
-}
+  // FIXME: the following friend declaration is only to grant access to
+  // Generator_System::affine_image().
+  friend class Parma_Polyhedra_Library::Generator_System;
 
-inline void
-Row_Impl_Handler::Impl::operator delete(void* p) {
-  ::operator delete(p);
-}
+  // FIXME: the following friend declaration is only to grant access to
+  // Congruence_System::affine_preimage().
+  friend class Parma_Polyhedra_Library::Congruence_System;
 
-inline void
-Row_Impl_Handler::Impl::operator delete(void* p, dimension_type) {
-  ::operator delete(p);
-}
+  // FIXME: the following friend declaration is only to grant access to
+  // Grid_Generator_System::affine_image().
+  friend class Parma_Polyhedra_Library::Grid_Generator_System;
 
-inline dimension_type
-Row_Impl_Handler::Impl::max_size() {
-  return std::numeric_limits<size_t>::max() / sizeof(Coefficient);
-}
+  //! Copy constructor with a specified space dimension.
+  Linear_Expression(const Linear_Expression& e, dimension_type sz);
 
-inline dimension_type
-Row_Impl_Handler::Impl::size() const {
-  return size_;
-}
+  //! Implementation sizing constructor.
+  /*!
+    The bool parameter is just to avoid problems with
+    the constructor Linear_Expression(Coefficient_traits::const_reference n).
+  */
+  Linear_Expression(dimension_type sz, bool);
 
-inline void
-Row_Impl_Handler::Impl::set_size(const dimension_type new_size) {
-  size_ = new_size;
-}
+  /*! \brief
+    Builds the linear expression corresponding to the difference of
+    \p v and \p w.
 
-inline void
-Row_Impl_Handler::Impl::bump_size() {
-  ++size_;
-}
+    \exception std::length_error
+    Thrown if the space dimension of \p v or the one of \p w exceed
+    <CODE>Linear_Expression::max_space_dimension()</CODE>.
+  */
+  Linear_Expression(Variable v, Variable w);
 
-inline
-Row_Impl_Handler::Impl::Impl(const Row::Flags f)
-  : size_(0), flags_(f) {
-}
+  friend Linear_Expression
+  operator+(const Linear_Expression& e1, const Linear_Expression& e2);
+  friend Linear_Expression
+  operator+(Coefficient_traits::const_reference n, const Linear_Expression& e);
+  friend Linear_Expression
+  operator+(const Linear_Expression& e, Coefficient_traits::const_reference n);
+  friend Linear_Expression
+  operator+(Variable v, const Linear_Expression& e);
+  friend Linear_Expression
+  operator+(Variable v, Variable w);
 
-inline
-Row_Impl_Handler::Impl::~Impl() {
-  shrink(0);
-}
+  friend Linear_Expression
+  operator-(const Linear_Expression& e);
 
-inline const Row::Flags&
-Row_Impl_Handler::Impl::flags() const {
-  return flags_;
-}
+  friend Linear_Expression
+  operator-(const Linear_Expression& e1, const Linear_Expression& e2);
+  friend Linear_Expression
+  operator-(Variable v, Variable w);
+  friend Linear_Expression
+  operator-(Coefficient_traits::const_reference n, const Linear_Expression& e);
+  friend Linear_Expression
+  operator-(const Linear_Expression& e, Coefficient_traits::const_reference n);
+  friend Linear_Expression
+  operator-(Variable v, const Linear_Expression& e);
+  friend Linear_Expression
+  operator-(const Linear_Expression& e, Variable v);
 
-inline Row::Flags&
-Row_Impl_Handler::Impl::flags() {
-  return flags_;
-}
+  friend Linear_Expression
+  operator*(Coefficient_traits::const_reference n, const Linear_Expression& e);
+  friend Linear_Expression
+  operator*(const Linear_Expression& e, Coefficient_traits::const_reference n);
 
-inline Coefficient&
-Row_Impl_Handler::Impl::operator[](const dimension_type k) {
-  assert(k < size());
-  return vec_[k];
-}
+  friend Linear_Expression&
+  operator+=(Linear_Expression& e1, const Linear_Expression& e2);
+  friend Linear_Expression&
+  operator+=(Linear_Expression& e, Variable v);
+  friend Linear_Expression&
+  operator+=(Linear_Expression& e, Coefficient_traits::const_reference n);
 
-inline Coefficient_traits::const_reference
-Row_Impl_Handler::Impl::operator[](const dimension_type k) const {
-  assert(k < size());
-  return vec_[k];
-}
+  friend Linear_Expression&
+  operator-=(Linear_Expression& e1, const Linear_Expression& e2);
+  friend Linear_Expression&
+  operator-=(Linear_Expression& e, Variable v);
+  friend Linear_Expression&
+  operator-=(Linear_Expression& e, Coefficient_traits::const_reference n);
 
-inline memory_size_type
-Row_Impl_Handler::Impl::total_memory_in_bytes(dimension_type capacity) const {
-  return
-    sizeof(*this)
-    + capacity*sizeof(Coefficient)
-#if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-    - 1*sizeof(Coefficient)
-#endif
-    + external_memory_in_bytes();
-}
+  friend Linear_Expression&
+  operator*=(Linear_Expression& e, Coefficient_traits::const_reference n);
 
-inline memory_size_type
-Row_Impl_Handler::Impl::total_memory_in_bytes() const {
-  // In general, this is a lower bound, as the capacity of *this
-  // may be strictly greater than `size_'
-  return total_memory_in_bytes(size_);
-}
+  friend Linear_Expression&
+  add_mul_assign(Linear_Expression& e,
+                 Coefficient_traits::const_reference n, Variable v);
+  friend Linear_Expression&
+  sub_mul_assign(Linear_Expression& e,
+                 Coefficient_traits::const_reference n, Variable v);
 
-inline dimension_type
-Row::max_size() {
-  return Impl::max_size();
-}
+  friend std::ostream&
+  Parma_Polyhedra_Library::IO_Operators
+  ::operator<<(std::ostream& s, const Linear_Expression& e);
+};
 
-inline dimension_type
-Row::size() const {
-  return impl->size();
-}
+/* Automatically generated from PPL source file ../src/Linear_Expression.inlines.hh line 1. */
+/* Linear_Expression class implementation: inline functions.
+*/
 
-inline const Row::Flags&
-Row::flags() const {
-  return impl->flags();
-}
 
-inline Row::Flags&
-Row::flags() {
-  return impl->flags();
-}
+/* Automatically generated from PPL source file ../src/Linear_Expression.inlines.hh line 28. */
+#include <stdexcept>
+
+namespace Parma_Polyhedra_Library {
 
-#if PPL_ROW_EXTRA_DEBUG
 inline dimension_type
-Row::capacity() const {
-  return capacity_;
+Linear_Expression::max_space_dimension() {
+  return Linear_Row::max_space_dimension();
 }
-#endif
 
 inline
-Row_Impl_Handler::Row_Impl_Handler()
-  : impl(0) {
-#if PPL_ROW_EXTRA_DEBUG
-  capacity_ = 0;
-#endif
+Linear_Expression::Linear_Expression()
+  : Linear_Row(1, Linear_Row::Flags()) {
 }
 
 inline
-Row_Impl_Handler::~Row_Impl_Handler() {
-  delete impl;
+Linear_Expression::Linear_Expression(dimension_type sz, bool)
+  : Linear_Row(sz, Linear_Row::Flags()) {
 }
 
 inline
-Row::Row()
-  : Row_Impl_Handler() {
+Linear_Expression::Linear_Expression(const Linear_Expression& e)
+  : Linear_Row(e) {
 }
 
-inline void
-Row::allocate(
-#if PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-	       const
-#endif
-	       dimension_type capacity,
-	       const Flags f) {
-  assert(capacity <= max_size());
-#if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-  if (capacity == 0)
-    ++capacity;
-#endif
-  assert(impl == 0);
-  impl = new (capacity) Impl(f);
-#if PPL_ROW_EXTRA_DEBUG
-  assert(capacity_ == 0);
-  capacity_ = capacity;
-#endif
+inline
+Linear_Expression::~Linear_Expression() {
 }
 
-inline void
-Row::expand_within_capacity(const dimension_type new_size) {
-  assert(impl);
-#if PPL_ROW_EXTRA_DEBUG
-  assert(new_size <= capacity_);
-#endif
-  impl->expand_within_capacity(new_size);
+inline
+Linear_Expression::Linear_Expression(const Linear_Expression& e,
+				     dimension_type sz)
+  : Linear_Row(e, sz, sz) {
 }
 
-inline void
-Row::copy_construct_coefficients(const Row& y) {
-  assert(impl && y.impl);
-#if PPL_ROW_EXTRA_DEBUG
-  assert(y.size() <= capacity_);
-#endif
-  impl->copy_construct_coefficients(*(y.impl));
+inline
+Linear_Expression::Linear_Expression(Coefficient_traits::const_reference n)
+  : Linear_Row(1, Linear_Row::Flags()) {
+  (*this)[0] = n;
 }
 
-inline void
-Row::construct(const dimension_type sz,
-	       const dimension_type capacity,
-	       const Flags f) {
-  assert(sz <= capacity && capacity <= max_size());
-  allocate(capacity, f);
-  expand_within_capacity(sz);
+inline dimension_type
+Linear_Expression::space_dimension() const {
+  return size() - 1;
 }
 
-inline void
-Row::construct(const dimension_type sz, const Flags f) {
-  construct(sz, sz, f);
+inline Coefficient_traits::const_reference
+Linear_Expression::coefficient(Variable v) const {
+  if (v.space_dimension() > space_dimension())
+    return Coefficient_zero();
+  return Linear_Row::coefficient(v.id());
 }
 
-inline
-Row::Row(const dimension_type sz,
-	 const dimension_type capacity,
-	 const Flags f)
-  : Row_Impl_Handler() {
-  construct(sz, capacity, f);
+inline Coefficient_traits::const_reference
+Linear_Expression::inhomogeneous_term() const {
+  return Linear_Row::inhomogeneous_term();
 }
 
-inline
-Row::Row(const dimension_type sz, const Flags f)
-  : Row_Impl_Handler() {
-  construct(sz, f);
+inline bool
+Linear_Expression::is_zero() const {
+  return Linear_Row::is_zero();
 }
 
-inline
-Row::Row(const Row& y)
-  : Row_Impl_Handler() {
-  if (y.impl) {
-    allocate(compute_capacity(y.size(), max_size()), y.flags());
-    copy_construct_coefficients(y);
-  }
+inline bool
+Linear_Expression::all_homogeneous_terms_are_zero() const {
+  return Linear_Row::all_homogeneous_terms_are_zero();
 }
 
-inline
-Row::Row(const Row& y,
-	 const dimension_type capacity)
-  : Row_Impl_Handler() {
-  assert(y.impl);
-  assert(y.size() <= capacity && capacity <= max_size());
-  allocate(capacity, y.flags());
-  copy_construct_coefficients(y);
+inline const Linear_Expression&
+Linear_Expression::zero() {
+  PPL_ASSERT(zero_p != 0);
+  return *zero_p;
 }
 
-inline
-Row::Row(const Row& y,
-	 const dimension_type sz,
-	 const dimension_type capacity)
-  : Row_Impl_Handler() {
-  assert(y.impl);
-  assert(y.size() <= sz && sz <= capacity && capacity <= max_size());
-  allocate(capacity, y.flags());
-  copy_construct_coefficients(y);
-  expand_within_capacity(sz);
+inline memory_size_type
+Linear_Expression::external_memory_in_bytes() const {
+  return Linear_Row::external_memory_in_bytes();
 }
 
-inline
-Row::~Row() {
+inline memory_size_type
+Linear_Expression::total_memory_in_bytes() const {
+  return Linear_Row::total_memory_in_bytes();
 }
 
-inline void
-Row::shrink(const dimension_type new_size) {
-  assert(impl);
-  impl->shrink(new_size);
+/*! \relates Linear_Expression */
+inline Linear_Expression
+operator+(const Linear_Expression& e) {
+  return e;
 }
 
-inline void
-Row::swap(Row& y) {
-  std::swap(impl, y.impl);
-#if PPL_ROW_EXTRA_DEBUG
-  std::swap(capacity_, y.capacity_);
-#endif
+/*! \relates Linear_Expression */
+inline Linear_Expression
+operator+(const Linear_Expression& e, Coefficient_traits::const_reference n) {
+  return n + e;
 }
 
-inline void
-Row::assign(Row& y) {
-  impl = y.impl;
-#if PPL_ROW_EXTRA_DEBUG
-  capacity_ = y.capacity_;
-#endif
+/*! \relates Linear_Expression */
+inline Linear_Expression
+operator+(const Linear_Expression& e, const Variable v) {
+  return v + e;
 }
 
-inline Row&
-Row::operator=(const Row& y) {
-  // Copy-construct `tmp' from `y'.
-  Row tmp(y);
-  // Swap the implementation of `*this' with the one of `tmp'.
-  swap(tmp);
-  // Now `tmp' goes out of scope, so the old `*this' will be destroyed.
-  return *this;
+/*! \relates Linear_Expression */
+inline Linear_Expression
+operator-(const Linear_Expression& e, Coefficient_traits::const_reference n) {
+  return -n + e;
 }
 
-inline Coefficient&
-Row::operator[](const dimension_type k) {
-  assert(impl);
-  return (*impl)[k];
+/*! \relates Linear_Expression */
+inline Linear_Expression
+operator-(const Variable v, const Variable w) {
+  return Linear_Expression(v, w);
 }
 
-inline Coefficient_traits::const_reference
-Row::operator[](const dimension_type k) const {
-  assert(impl);
-  return (*impl)[k];
+/*! \relates Linear_Expression */
+inline Linear_Expression
+operator*(const Linear_Expression& e, Coefficient_traits::const_reference n) {
+  return n * e;
 }
 
-inline memory_size_type
-Row::external_memory_in_bytes(dimension_type capacity) const {
-  return impl->total_memory_in_bytes(capacity);
+/*! \relates Linear_Expression */
+inline Linear_Expression&
+operator+=(Linear_Expression& e, Coefficient_traits::const_reference n) {
+  e[0] += n;
+  return e;
 }
 
-inline memory_size_type
-Row::total_memory_in_bytes(dimension_type capacity) const {
-  return sizeof(*this) + external_memory_in_bytes(capacity);
+/*! \relates Linear_Expression */
+inline Linear_Expression&
+operator-=(Linear_Expression& e, Coefficient_traits::const_reference n) {
+  e[0] -= n;
+  return e;
 }
 
-inline memory_size_type
-Row::external_memory_in_bytes() const {
-#if PPL_ROW_EXTRA_DEBUG
-  return impl->total_memory_in_bytes(capacity_);
-#else
-  return impl->total_memory_in_bytes();
-#endif
+inline void
+Linear_Expression::swap(Linear_Expression& y) {
+  Linear_Row::swap(y);
 }
 
-inline memory_size_type
-Row::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
+inline void
+Linear_Expression::ascii_dump(std::ostream& s) const {
+  Linear_Row::ascii_dump(s);
 }
 
-/*! \relates Row */
 inline bool
-operator!=(const Row& x, const Row& y) {
-  return !(x == y);
+Linear_Expression::ascii_load(std::istream& s) {
+  return Linear_Row::ascii_load(s);
 }
 
 } // namespace Parma_Polyhedra_Library
@@ -13390,374 +16289,356 @@ operator!=(const Row& x, const Row& y) {
 
 namespace std {
 
-/*! \relates Parma_Polyhedra_Library::Row */
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
 inline void
-swap(Parma_Polyhedra_Library::Row& x, Parma_Polyhedra_Library::Row& y) {
+swap(Parma_Polyhedra_Library::Linear_Expression& x,
+     Parma_Polyhedra_Library::Linear_Expression& y) {
   x.swap(y);
 }
 
-/*! \relates Parma_Polyhedra_Library::Row */
-inline void
-iter_swap(std::vector<Parma_Polyhedra_Library::Row>::iterator x,
-	  std::vector<Parma_Polyhedra_Library::Row>::iterator y) {
-  swap(*x, *y);
-}
-
 } // namespace std
 
-/* Automatically generated from PPL source file ../src/Row.defs.hh line 505. */
+/* Automatically generated from PPL source file ../src/Linear_Expression.defs.hh line 488. */
+
+/* Automatically generated from PPL source file ../src/Constraint.defs.hh line 1. */
+/* Constraint class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Constraint_System.defs.hh line 1. */
+/* Constraint_System class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Linear_System.defs.hh line 1. */
+/* Linear_System class declaration.
+*/
 
-/* Automatically generated from PPL source file ../src/Topology.hh line 1. */
+
+/* Automatically generated from PPL source file ../src/Linear_System.types.hh line 1. */
 
 
 namespace Parma_Polyhedra_Library {
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Kinds of polyhedra domains.
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-enum Topology {
-  NECESSARILY_CLOSED = 0,
-  NOT_NECESSARILY_CLOSED = 1
-};
+class Linear_System;
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Linear_Row.defs.hh line 33. */
+/* Automatically generated from PPL source file ../src/Bit_Row.types.hh line 1. */
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! The base class for linear expressions, constraints and generators.
-/*! \ingroup PPL_CXX_interface
-  The class Linear_Row allows us to build objects of the form
-  \f$[b, a_0, \ldots, a_{d-1}]_{(t, k)}\f$,
-  i.e., a finite sequence of coefficients subscripted by a pair of flags,
-  which are both stored in a Linear_Row::Flags object.
-  The flag \f$t \in \{ \mathrm{c}, \mathrm{nnc} \}\f$ represents
-  the <EM>topology</EM> and
-  the flag \f$k \in \{\mathord{=}, \mathord{\geq} \}\f$ represents
-  the <EM>kind</EM> of the Linear_Row object.
-  Note that, even though all the four possible combinations of topology
-  and kind values will result in a legal Linear_Row::Flags object, some
-  of these pose additional constraints on the values of the Linear_Row's
-  coefficients.
 
-  When \f$t = c\f$, we have the following cases
-  (\f$d\f$ is the dimension of the vector space):
-    - \f$[b, a_0, \ldots, a_{d-1}]_{(c,=)}\f$
-      represents the equality constraint
-      \f$\sum_{i=0}^{d-1} a_i x_i + b = 0\f$.
-    - \f$[b, a_0, \ldots, a_{d-1}]_{(c,\geq)}\f$
-      represents the non-strict inequality constraint
-      \f$\sum_{i=0}^{d-1} a_i x_i + b \geq 0\f$.
-    - \f$[0, a_0, \ldots, a_{d-1}]_{(c,=)}\f$
-      represents the line of direction
-      \f$\vect{l} = (a_0, \ldots, a_{d-1})^\transpose\f$.
-    - \f$[0, a_0, \ldots, a_{d-1}]_{(c,\geq)}\f$
-      represents the ray of direction
-      \f$\vect{r} = (a_0, \ldots, a_{d-1})^\transpose\f$.
-    - \f$[b, a_0, \ldots, a_{d-1}]_{(c,\geq)}\f$, with \f$b > 0\f$,
-      represents the point
-      \f$\vect{p} = (\frac{a_0}{b}, \ldots, \frac{a_{d-1}}{b})^\transpose\f$.
+namespace Parma_Polyhedra_Library {
 
-  When \f$t = \mathrm{nnc}\f$, the last coefficient of the Linear_Row is
-  associated to the slack variable \f$\epsilon\f$, so that we have the
-  following cases (\f$d\f$ is again the dimension of the vector space,
-  but this time we have \f$d+2\f$ coefficients):
-    - \f$[b, a_0, \ldots, a_{d-1}, 0]_{(\mathrm{nnc},=)}\f$
-      represents the equality constraint
-      \f$\sum_{i=0}^{d-1} a_i x_i + b = 0\f$.
-    - \f$[b, a_0, \ldots, a_{d-1}, 0]_{(\mathrm{nnc},\geq)}\f$
-      represents the non-strict inequality constraint
-      \f$\sum_{i=0}^{d-1} a_i x_i + b \geq 0\f$.
-    - \f$[b, a_0, \ldots, a_{d-1}, e]_{(\mathrm{nnc},\geq)}\f$,
-      with \f$e < 0\f$, represents the strict inequality constraint
-      \f$\sum_{i=0}^{d-1} a_i x_i + b > 0\f$.
-    - \f$[0, a_0, \ldots, a_{d-1}, 0]_{(\mathrm{nnc},=)}\f$
-      represents the line of direction
-      \f$\vect{l} = (a_0, \ldots, a_{d-1})^\transpose\f$.
-    - \f$[0, a_0, \ldots, a_{d-1}, 0]_{(\mathrm{nnc},\geq)}\f$
-      represents the ray of direction
-      \f$\vect{r} = (a_0, \ldots, a_{d-1})^\transpose\f$.
-    - \f$[b, a_0, \ldots, a_{d-1}, e]_{(\mathrm{nnc},\geq)}\f$,
-      with \f$b > 0\f$ and \f$e > 0\f$, represents the point
-      \f$\vect{p} = (\frac{a_0}{b}, \ldots, \frac{a_{d-1}}{b})^\transpose\f$.
-    - \f$[b, a_0, \ldots, a_{d-1}, 0]_{(\mathrm{nnc},\geq)}\f$,
-      with \f$b > 0\f$, represents the closure point
-      \f$\vect{c} = (\frac{a_0}{b}, \ldots, \frac{a_{d-1}}{b})^\transpose\f$.
+class Bit_Row;
 
-  So, a Linear_Row can be both a constraint and a generator: it can be an
-  equality, a strict or non-strict inequality, a line, a ray, a point
-  or a closure point.
+} // namespace Parma_Polyhedra_Library
 
-  The inhomogeneous term of a constraint can be zero or different from zero.
+/* Automatically generated from PPL source file ../src/Bit_Matrix.types.hh line 1. */
 
-  Points and closure points must have a positive inhomogeneous term
-  (which is used as a common divisor for all the other coefficients),
-  lines and rays must have the inhomogeneous term equal to zero.
-  If needed, the coefficients of points and closure points are negated
-  at creation time so that they satisfy this invariant.
-  The invariant is maintained because, when combining a point or closure
-  point with another generator, we only consider positive combinations.
 
-  The \f$\epsilon\f$ coefficient, when present, is negative for strict
-  inequality constraints, positive for points and equal to zero in all
-  the other cases.
-  Note that the above description corresponds to the end-user, high-level
-  view of a Linear_Row object. In the implementation, to allow for code reuse,
-  it is sometimes useful to regard an \f$\mathrm{nnc}\f$-object on
-  the vector space \f$\Rset^d\f$ as if it was a \f$\mathrm{c}\f$-object
-  on the vector space \f$\Rset^{d+1}\f$, therefore interpreting the slack
-  variable \f$\epsilon\f$ as an ordinary dimension of the vector space.
+namespace Parma_Polyhedra_Library {
 
-  A Linear_Row object implementing a Linear_Expression is always of the form
-  \f$[0, a_0, \ldots, a_{d-1}]_{(c,=)}\f$, which represents the
-  linear expression \f$\sum_{i=0}^{d-1} a_i x_i\f$.
+class Bit_Matrix;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Matrix.defs.hh line 1. */
+/* Matrix class declaration.
 */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 
-class Parma_Polyhedra_Library::Linear_Row : public Row {
-public:
-  //! The possible kinds of Linear_Row objects.
-  enum Kind {
-    LINE_OR_EQUALITY = 0,
-    RAY_OR_POINT_OR_INEQUALITY = 1
-  };
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  /*! \brief
-    The type of the object to which the coefficients refer to,
-    encoding both topology and kind.
+/* Automatically generated from PPL source file ../src/Matrix.types.hh line 1. */
 
-    \ingroup PPL_CXX_interface
-    This combines the information about the topology (necessarily closed
-    or not) and the kind (line/equality or ray/point/inequality)
-    of a Linear_Row object.
-  */
+
+namespace Parma_Polyhedra_Library {
+
+class Matrix;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Matrix.defs.hh line 31. */
+#include <vector>
+#include <cstddef>
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! A 2-dimensional matrix of coefficients.
+/*! \ingroup PPL_CXX_interface
+  A Matrix object is a sequence of Row objects and is characterized
+  by the matrix dimensions (the number of rows and columns).
+  All the rows in a matrix, besides having the same size (corresponding
+  to the number of columns of the matrix), are also bound to have the
+  same capacity.
+*/
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-  class Flags : public Row::Flags {
-  public:
-    //! Default constructor: builds an object where all flags are invalid.
-    Flags();
 
-    //! Builds an object corresponding to the topology \p t.
-    explicit Flags(Topology t);
+class Parma_Polyhedra_Library::Matrix {
+public:
+  //! Returns the maximum number of rows of a Matrix.
+  static dimension_type max_num_rows();
 
-    //! Builds an object corresponding to the topology \p t and kind \p k.
-    Flags(Topology t, Kind k);
+  //! Returns the maximum number of columns of a Matrix.
+  static dimension_type max_num_columns();
 
-    //! \name Testing and setting the type
-    //@{
-    Topology topology() const;
-    bool is_necessarily_closed() const;
-    bool is_not_necessarily_closed() const;
-    bool is_line_or_equality() const;
-    bool is_ray_or_point_or_inequality() const;
+  //! Builds an empty matrix.
+  /*!
+    Rows' size and capacity are initialized to \f$0\f$.
+  */
+  Matrix();
 
-    void set_necessarily_closed();
-    void set_not_necessarily_closed();
-    void set_is_line_or_equality();
-    void set_is_ray_or_point_or_inequality();
-    //@} // Testing and setting the type
+  //! Builds a zero matrix with specified dimensions and flags.
+  /*!
+    \param n_rows
+    The number of rows of the matrix that will be created;
 
-    //! Returns <CODE>true</CODE> if and only if \p *this and \p y are equal.
-    bool operator==(const Flags& y) const;
+    \param n_columns
+    The number of columns of the matrix that will be created.
 
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if \p *this and \p y
-      are different.
-    */
-    bool operator!=(const Flags& y) const;
+    \param row_flags
+    The flags used to build the rows of the matrix;
+    by default, the rows will have all flags unset.
+  */
+  Matrix(dimension_type n_rows, dimension_type n_columns,
+	 Row::Flags row_flags = Row::Flags());
 
-    PPL_OUTPUT_DECLARATIONS
+  //! Copy constructor.
+  Matrix(const Matrix& y);
 
-    /*! \brief
-      Loads from \p s an ASCII representation (as produced by
-      ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-      Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-    */
-    bool ascii_load(std::istream& s);
+  //! Destructor.
+  ~Matrix();
+
+  //! Assignment operator.
+  Matrix& operator=(const Matrix& y);
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! An iterator over a matrix.
+  /*! \ingroup PPL_CXX_interface
+    A const_iterator is used to provide read-only access
+    to each row contained in a Matrix object.
+  */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  class const_iterator {
   private:
-    //! Builds the type from a bit-mask.
-    explicit Flags(base_type mask);
+    typedef std::vector<Row>::const_iterator Iter;
+    //! The const iterator on the rows' vector \p rows.
+    Iter i;
 
-    //! \name The bits that are currently in use
-    //@{
-    // NB: ascii_load assumes that these are sequential.
-    static const unsigned rpi_validity_bit
-    = Row::Flags::first_free_bit + 0;
-    static const unsigned rpi_bit
-    = Row::Flags::first_free_bit + 1;
-    static const unsigned nnc_validity_bit
-    = Row::Flags::first_free_bit + 2;
-    static const unsigned nnc_bit
-    = Row::Flags::first_free_bit + 3;
-    //@}
+  public:
+    typedef std::forward_iterator_tag iterator_category;
+    typedef std::iterator_traits<Iter>::value_type value_type;
+    typedef std::iterator_traits<Iter>::difference_type difference_type;
+    typedef std::iterator_traits<Iter>::pointer pointer;
+    typedef std::iterator_traits<Iter>::reference reference;
 
-  protected:
-    //! Index of the first bit derived classes can use.
-    static const unsigned first_free_bit
-    = Row::Flags::first_free_bit + 4;
+    //! Default constructor.
+    const_iterator();
 
-    friend class Parma_Polyhedra_Library::Linear_Row;
-  };
+    /*! \brief
+      Builds a const iterator on the matrix starting from
+      an iterator \p b on the elements of the vector \p rows.
+    */
+    explicit const_iterator(const Iter& b);
 
-  //! Pre-constructs a row: construction must be completed by construct().
-  Linear_Row();
+    //! Ordinary copy constructor.
+    const_iterator(const const_iterator& y);
 
-  //! \name Post-constructors
-  //@{
-  //! Constructs properly a default-constructed element.
-  /*!
-    Builds a row with type \p t, size \p sz and minimum capacity.
-  */
-  void construct(dimension_type sz, Flags f);
+    //! Assignment operator.
+    const_iterator& operator=(const const_iterator& y);
 
-  //! Constructs properly a default-constructed element.
-  /*!
-    \param sz
-    The size of the row that will be constructed;
+    //! Dereference operator.
+    reference operator*() const;
 
-    \param capacity
-    The minimum capacity of the row that will be constructed.
+    //! Indirect member selector.
+    pointer operator->() const;
 
-    \param f
-    Flags for the row that will be constructed.
+    //! Prefix increment operator.
+    const_iterator& operator++();
 
-    The row that we are constructing has a minimum capacity, i.e., it
-    can contain at least \p capacity elements, \p sz of which will be
-    default-constructed now. The row flags are set to \p f.
-  */
-  void construct(dimension_type sz, dimension_type capacity, Flags f);
-  //@} // Post-constructors
+    //! Postfix increment operator.
+    const_iterator operator++(int);
 
-  //! Tight constructor: resizing will require reallocation.
-  Linear_Row(dimension_type sz, Flags f);
+    /*! \brief
+      Returns <CODE>true</CODE> if and only if
+      \p *this and \p y are identical.
+    */
+    bool operator==(const const_iterator& y) const;
 
-  //! Sizing constructor with capacity.
-  Linear_Row(dimension_type sz, dimension_type capacity, Flags f);
+    /*! \brief
+      Returns <CODE>true</CODE> if and only if
+      \p *this and \p y are different.
+    */
+    bool operator!=(const const_iterator& y) const;
+  }; // class const_iterator
 
-  //! Ordinary copy constructor.
-  Linear_Row(const Linear_Row& y);
 
-  //! Copy constructor with specified capacity.
+  //! Returns <CODE>true</CODE> if and only if \p *this has no rows.
   /*!
-    It is assumed that \p capacity is greater than or equal to \p y size.
+    \note
+    The unusual naming for this method is \em intentional:
+    we do not want it to be named \c empty because this would cause
+    an error prone name clash with the corresponding methods in derived
+    classes Constraint_System and Congruence_System (which have a
+    different semantics).
   */
-  Linear_Row(const Linear_Row& y, dimension_type capacity);
+  bool has_no_rows() const;
 
-  //! Copy constructor with specified size and capacity.
-  /*!
-    It is assumed that \p sz is greater than or equal to the size of \p y
-    and, of course, that \p sz is less than or equal to \p capacity.
+  /*! \brief
+    Returns the const_iterator pointing to the first row, if \p *this is
+    not empty; otherwise, returns the past-the-end const_iterator.
   */
-  Linear_Row(const Linear_Row& y, dimension_type sz, dimension_type capacity);
+  const_iterator begin() const;
 
-  //! Destructor.
-  ~Linear_Row();
+  //! Returns the past-the-end const_iterator.
+  const_iterator end() const;
 
-  //! \name Flags inspection methods
-  //@{
-  //! Returns a const reference to the flags of \p *this.
-  const Flags& flags() const;
+  // FIXME: the following section must become private.
+protected:
+  //! Contains the rows of the matrix.
+  std::vector<Row> rows;
 
-  //! Returns a non-const reference to the flags of \p *this.
-  Flags& flags();
+  //! Size of the initialized part of each row.
+  dimension_type row_size;
 
-  //! Returns the topological kind of \p *this.
-  Topology topology() const;
+  //! Capacity allocated for each row.
+  dimension_type row_capacity;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if the topology
-    of \p *this row is not necessarily closed.
-  */
-  bool is_not_necessarily_closed() const;
+public:
+  //! Swaps \p *this with \p y.
+  void swap(Matrix& y);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if the topology
-    of \p *this row is necessarily closed.
+  //! Adds to the matrix \p n rows of zeroes with flags set to \p row_flags.
+  /*!
+    \param n
+    The number of rows to be added: must be strictly positive.
+
+    \param row_flags
+    Flags for the newly added rows.
+
+    Turns the \f$r \times c\f$ matrix \f$M\f$ into
+    the \f$(r+n) \times c\f$ matrix \f$\genfrac{(}{)}{0pt}{}{M}{0}\f$.
+    The matrix is expanded avoiding reallocation whenever possible.
   */
-  bool is_necessarily_closed() const;
+  void add_zero_rows(dimension_type n, Row::Flags row_flags);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this row
-    represents a line or an equality.
+  //! Adds \p n columns of zeroes to the matrix.
+  /*!
+    \param n
+    The number of columns to be added: must be strictly positive.
+
+    Turns the \f$r \times c\f$ matrix \f$M\f$ into
+    the \f$r \times (c+n)\f$ matrix \f$(M \, 0)\f$.
+    The matrix is expanded avoiding reallocation whenever possible.
   */
-  bool is_line_or_equality() const;
+  void add_zero_columns(dimension_type n);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this row
-    represents a ray, a point or an inequality.
+  //! Adds \p n rows and \p m columns of zeroes to the matrix.
+  /*!
+    \param n
+    The number of rows to be added: must be strictly positive.
+
+    \param m
+    The number of columns to be added: must be strictly positive.
+
+    \param row_flags
+    Flags for the newly added rows.
+
+    Turns the \f$r \times c\f$ matrix \f$M\f$ into
+    the \f$(r+n) \times (c+m)\f$ matrix
+    \f$\bigl(\genfrac{}{}{0pt}{}{M}{0} \genfrac{}{}{0pt}{}{0}{0}\bigr)\f$.
+    The matrix is expanded avoiding reallocation whenever possible.
   */
-  bool is_ray_or_point_or_inequality() const;
-  //@} // Flags inspection methods
+  void add_zero_rows_and_columns(dimension_type n, dimension_type m,
+				 Row::Flags row_flags);
 
-  //! \name Flags coercion methods
-  //@{
-  //! Sets to \p NECESSARILY_CLOSED the topological kind of \p *this row.
-  void set_necessarily_closed();
+  //! Adds a copy of the row \p y to the matrix.
+  /*!
+    \param y
+    The row to be copied: it must have the same number of columns as
+    the matrix.
 
-  //! Sets to \p NOT_NECESSARILY_CLOSED the topological kind of \p *this row.
-  void set_not_necessarily_closed();
+    Turns the \f$r \times c\f$ matrix \f$M\f$ into
+    the \f$(r+1) \times c\f$ matrix
+    \f$\genfrac{(}{)}{0pt}{}{M}{y}\f$.
+    The matrix is expanded avoiding reallocation whenever possible.
+  */
+  void add_row(const Row& y);
 
-  //! Sets to \p LINE_OR_EQUALITY the kind of \p *this row.
-  void set_is_line_or_equality();
+  //! Adds the row \p y to the matrix.
+  /*!
+    \param y
+    The row to be added: it must have the same size and capacity as
+    \p *this. It is not declared <CODE>const</CODE> because its
+    data-structures will recycled to build the new matrix row.
 
-  //! Sets to \p RAY_OR_POINT_OR_INEQUALITY the kind of \p *this row.
-  void set_is_ray_or_point_or_inequality();
-  //@} // Flags coercion methods
+    Turns the \f$r \times c\f$ matrix \f$M\f$ into
+    the \f$(r+1) \times c\f$ matrix
+    \f$\genfrac{(}{)}{0pt}{}{M}{y}\f$.
+    The matrix is expanded avoiding reallocation whenever possible.
+  */
+  void add_recycled_row(Row& y);
 
-  //! Returns the maximum space dimension a Linear_Row can handle.
-  static dimension_type max_space_dimension();
+  //! Makes the matrix shrink by removing its \p n trailing columns.
+  void remove_trailing_columns(dimension_type n);
 
-  //! Returns the dimension of the vector space enclosing \p *this.
-  dimension_type space_dimension() const;
+  //! Resizes the matrix without worrying about the old contents.
+  /*!
+    \param new_n_rows
+    The number of rows of the resized matrix;
 
-  //! Returns the inhomogeneous term.
-  Coefficient_traits::const_reference inhomogeneous_term() const;
+    \param new_n_columns
+    The number of columns of the resized matrix.
 
-  //! Returns the coefficient \f$a_n\f$.
-  Coefficient_traits::const_reference coefficient(dimension_type n) const;
+    \param row_flags
+    The flags of the rows eventually added to the matrix.
 
-  /*! \brief
-    Normalizes the sign of the coefficients so that the first non-zero
-    (homogeneous) coefficient of a line-or-equality is positive.
+    The matrix is expanded to the specified dimensions avoiding
+    reallocation whenever possible.
+    The contents of the original matrix is lost.
   */
-  void sign_normalize();
+  void resize_no_copy(dimension_type new_n_rows, dimension_type new_n_columns,
+		      Row::Flags row_flags);
+
+  //! Swaps the columns having indexes \p i and \p j.
+  void swap_columns(dimension_type i,  dimension_type j);
 
-  /*! \brief
-    Strong normalization: ensures that different Linear_Row objects
-    represent different hyperplanes or hyperspaces.
+  //! Permutes the columns of the matrix.
+  /*
+    \param cycles
+    A vector representing the non-trivial cycles of the permutation
+    according to which the columns must be rearranged.
 
-    Applies both Linear_Row::normalize() and Linear_Row::sign_normalize().
+    The \p cycles vector contains, one after the other, the
+    non-trivial cycles (i.e., the cycles of length greater than one)
+    of a permutation of non-zero column indexes.  Each cycle is
+    terminated by zero.  For example, assuming the matrix has 6
+    columns, the permutation \f$ \{ 1 \mapsto 3, 2 \mapsto 4,
+    3 \mapsto 6, 4 \mapsto 2, 5 \mapsto 5, 6 \mapsto 1 \}\f$ can be
+    represented by the non-trivial cycles \f$(1 3 6)(2 4)\f$ that, in
+    turn can be represented by a vector of 6 elements containing 1, 3,
+    6, 0, 2, 4, 0.
   */
-  void strong_normalize();
+  void permute_columns(const std::vector<dimension_type>& cycles);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if the coefficients are
-    strongly normalized.
-  */
-  bool check_strong_normalized() const;
+  //! \name Accessors
+  //@{
 
-  //! Linearly combines \p *this with \p y so that <CODE>*this[k]</CODE> is 0.
-  /*!
-    \param y
-    The Linear_Row that will be combined with \p *this object;
+  //! Returns the number of columns of the matrix (i.e., the size of the rows).
+  dimension_type num_columns() const;
 
-    \param k
-    The position of \p *this that have to be \f$0\f$.
+  //! Returns the number of rows in the matrix.
+  dimension_type num_rows() const;
+  //@} // Accessors
 
-    Computes a linear combination of \p *this and \p y having
-    the element of index \p k equal to \f$0\f$. Then it assigns
-    the resulting Linear_Row to \p *this and normalizes it.
-  */
-  void linear_combine(const Linear_Row& y, dimension_type k);
+  //! \name Subscript operators
+  //@{
+  //! Returns a reference to the \p k-th row of the matrix.
+  Row& operator[](dimension_type k);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if all the homogeneous
-    terms of \p *this are \f$0\f$.
-  */
-  bool all_homogeneous_terms_are_zero() const;
+  //! Returns a constant reference to the \p k-th row of the matrix.
+  const Row& operator[](dimension_type k) const;
+  //@} // Subscript operators
+
+  //! Clears the matrix deallocating all its rows.
+  void clear();
 
   PPL_OUTPUT_DECLARATIONS
 
@@ -13768,455 +16649,575 @@ public:
   */
   bool ascii_load(std::istream& s);
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
+
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
   /*! \brief
-    Checks if all the invariants are satisfied and that the actual
-    size and capacity match the values provided as arguments.
+    Erases from the matrix all the rows but those having
+    an index less than \p first_to_erase.
   */
-  bool OK(dimension_type row_size, dimension_type row_capacity) const;
+  void erase_to_end(dimension_type first_to_erase);
 
-private:
-  friend class Parma_Polyhedra_Library::Linear_Expression;
-  friend class Parma_Polyhedra_Library::Constraint;
-  friend class Parma_Polyhedra_Library::Generator;
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 };
 
-namespace Parma_Polyhedra_Library {
-
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are equal.
-/*! \relates Linear_Row */
-bool operator==(const Linear_Row& x, const Linear_Row& y);
-
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
-/*! \relates Linear_Row */
-bool operator!=(const Linear_Row& x, const Linear_Row& y);
+namespace std {
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! The basic comparison function.
-/*! \relates Linear_Row
-  \return
-  The returned absolute value can be \f$0\f$, \f$1\f$ or \f$2\f$.
-
-  \param x
-  A row of coefficients;
-
-  \param y
-  Another row.
-
-  Compares \p x and \p y, where \p x and \p y may be of different size,
-  in which case the "missing" coefficients are assumed to be zero.
-  The comparison is such that:
-  -# equalities are smaller than inequalities;
-  -# lines are smaller than points and rays;
-  -# the ordering is lexicographic;
-  -# the positions compared are, in decreasing order of significance,
-     1, 2, ..., \p size(), 0;
-  -# the result is negative, zero, or positive if x is smaller than,
-     equal to, or greater than y, respectively;
-  -# when \p x and \p y are different, the absolute value of the
-     result is 1 if the difference is due to the coefficient in
-     position 0; it is 2 otherwise.
-
-  When \p x and \p y represent the hyper-planes associated
-  to two equality or inequality constraints, the coefficient
-  at 0 is the known term.
-  In this case, the return value can be characterized as follows:
-  - -2, if \p x is smaller than \p y and they are \e not parallel;
-  - -1, if \p x is smaller than \p y and they \e are parallel;
-  -  0, if \p x and y are equal;
-  - +1, if \p y is smaller than \p x and they \e are parallel;
-  - +2, if \p y is smaller than \p x and they are \e not parallel.
-*/
+  //! Specializes <CODE>std::swap</CODE>.
+  /*! \relates Parma_Polyhedra_Library::Matrix */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-int compare(const Linear_Row& x, const Linear_Row& y);
+void swap(Parma_Polyhedra_Library::Matrix& x,
+	  Parma_Polyhedra_Library::Matrix& y);
 
-} // namespace Parma_Polyhedra_Library
+} // namespace std
 
 
-namespace std {
+namespace Parma_Polyhedra_Library {
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Linear_Row */
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are identical.
+/*! \relates Matrix */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void swap(Parma_Polyhedra_Library::Linear_Row& x,
-	  Parma_Polyhedra_Library::Linear_Row& y);
+bool operator==(const Matrix& x, const Matrix& y);
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::iter_swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Linear_Row */
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
+/*! \relates Matrix */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void iter_swap(std::vector<Parma_Polyhedra_Library::Linear_Row>::iterator x,
-	       std::vector<Parma_Polyhedra_Library::Linear_Row>::iterator y);
+bool operator!=(const Matrix& x, const Matrix& y);
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Linear_Row.inlines.hh line 1. */
-/* Linear_Row class implementation: inline functions.
+/* Automatically generated from PPL source file ../src/Matrix.inlines.hh line 1. */
+/* Matrix class implementation: inline functions.
 */
 
 
-/* Automatically generated from PPL source file ../src/Linear_Row.inlines.hh line 27. */
-#include <cassert>
+/* Automatically generated from PPL source file ../src/Matrix.inlines.hh line 27. */
 #include <algorithm>
+/* Automatically generated from PPL source file ../src/Matrix.inlines.hh line 29. */
 
 namespace Parma_Polyhedra_Library {
 
-inline
-Linear_Row::Flags::Flags()
-  : Row::Flags() {
-  // Note that the constructed type has its validity bit unset.
-}
-
-inline
-Linear_Row::Flags::Flags(const Topology t)
-  : Row::Flags(t << nnc_bit) {
-#ifndef NDEBUG
-  set_bits(1 << nnc_validity_bit);
-#endif
+inline dimension_type
+Matrix::max_num_rows() {
+  return std::vector<Row>().max_size();
 }
 
-inline
-Linear_Row::Flags::Flags(const Topology t, const Kind k)
-  : Row::Flags((k << rpi_bit) | (t << nnc_bit)) {
-#ifndef NDEBUG
-  set_bits((1 << rpi_validity_bit)
-	   | (1 << nnc_validity_bit));
-#endif
+inline dimension_type
+Matrix::max_num_columns() {
+  return Row::max_size();
 }
 
-inline bool
-Linear_Row::Flags::is_ray_or_point_or_inequality() const {
-  assert(test_bits(1 << rpi_validity_bit));
-  return test_bits(RAY_OR_POINT_OR_INEQUALITY << rpi_bit);
+inline memory_size_type
+Matrix::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
 }
 
-inline void
-Linear_Row::Flags::set_is_ray_or_point_or_inequality() {
-#ifndef NDEBUG
-  set_bits(1 << rpi_validity_bit);
-#endif
-  set_bits(RAY_OR_POINT_OR_INEQUALITY << rpi_bit);
+inline
+Matrix::const_iterator::const_iterator()
+  : i() {
 }
 
-inline bool
-Linear_Row::Flags::is_line_or_equality() const {
-  assert(test_bits(1 << rpi_validity_bit));
-  return !is_ray_or_point_or_inequality();
+inline
+Matrix::const_iterator::const_iterator(const Iter& b)
+  : i(b) {
 }
 
-inline void
-Linear_Row::Flags::set_is_line_or_equality() {
-#ifndef NDEBUG
-  set_bits(1 << rpi_validity_bit);
-#endif
-  reset_bits(RAY_OR_POINT_OR_INEQUALITY << rpi_bit);
+inline
+Matrix::const_iterator::const_iterator(const const_iterator& y)
+  : i(y.i) {
 }
 
-inline bool
-Linear_Row::Flags::is_not_necessarily_closed() const {
-  assert(test_bits(1 << nnc_validity_bit));
-  return test_bits(NOT_NECESSARILY_CLOSED << nnc_bit);
+inline Matrix::const_iterator&
+Matrix::const_iterator::operator=(const const_iterator& y) {
+  i = y.i;
+  return *this;
 }
 
-inline bool
-Linear_Row::Flags::is_necessarily_closed() const {
-  assert(test_bits(1 << nnc_validity_bit));
-  return !is_not_necessarily_closed();
+inline Matrix::const_iterator::reference
+Matrix::const_iterator::operator*() const {
+  return *i;
 }
 
-inline void
-Linear_Row::Flags::set_not_necessarily_closed() {
-#ifndef NDEBUG
-  set_bits(1 << nnc_validity_bit);
-#endif
-  set_bits(NOT_NECESSARILY_CLOSED << nnc_bit);
+inline Matrix::const_iterator::pointer
+Matrix::const_iterator::operator->() const {
+  return &*i;
 }
 
-inline void
-Linear_Row::Flags::set_necessarily_closed() {
-#ifndef NDEBUG
-  set_bits(1 << nnc_validity_bit);
-#endif
-  reset_bits(NOT_NECESSARILY_CLOSED << nnc_bit);
+inline Matrix::const_iterator&
+Matrix::const_iterator::operator++() {
+  ++i;
+  return *this;
 }
 
-inline Topology
-Linear_Row::Flags::topology() const {
-  return is_necessarily_closed() ? NECESSARILY_CLOSED : NOT_NECESSARILY_CLOSED;
+inline Matrix::const_iterator
+Matrix::const_iterator::operator++(int) {
+  return const_iterator(i++);
 }
 
 inline bool
-Linear_Row::Flags::operator==(const Flags& y) const {
-  base_type mask = low_bits_mask<base_type>(first_free_bit);
-  return (get_bits() & mask) == (y.get_bits() & mask);
+Matrix::const_iterator::operator==(const const_iterator& y) const {
+  return i == y.i;
 }
 
 inline bool
-Linear_Row::Flags::operator!=(const Flags& y) const {
+Matrix::const_iterator::operator!=(const const_iterator& y) const {
   return !operator==(y);
 }
 
-inline const Linear_Row::Flags&
-Linear_Row::flags() const {
-  return static_cast<const Flags&>(Row::flags());
+inline bool
+Matrix::has_no_rows() const {
+  return rows.empty();
 }
 
-inline Linear_Row::Flags&
-Linear_Row::flags() {
-  return static_cast<Flags&>(Row::flags());
+inline Matrix::const_iterator
+Matrix::begin() const {
+  return const_iterator(rows.begin());
 }
 
-inline bool
-Linear_Row::is_necessarily_closed() const {
-  return flags().is_necessarily_closed();
+inline Matrix::const_iterator
+Matrix::end() const {
+  return const_iterator(rows.end());
 }
 
-inline dimension_type
-Linear_Row::max_space_dimension() {
-  // The first coefficient holds the inhomogeneous term or the divisor.
-  // In NNC rows, the last coefficient is for the epsilon dimension.
-  return max_size() - 2;
+inline void
+Matrix::swap(Matrix& y) {
+  std::swap(rows, y.rows);
+  std::swap(row_size, y.row_size);
+  std::swap(row_capacity, y.row_capacity);
 }
 
-inline dimension_type
-Linear_Row::space_dimension() const {
-  const dimension_type sz = size();
-  return (sz == 0)
-    ? 0
-    : sz - (is_necessarily_closed() ? 1 : 2);
+inline
+Matrix::Matrix()
+  : rows(),
+    row_size(0),
+    row_capacity(0) {
 }
 
 inline
-Linear_Row::Linear_Row()
-  : Row() {
+Matrix::Matrix(const Matrix& y)
+  : rows(y.rows),
+    row_size(y.row_size),
+    row_capacity(compute_capacity(y.row_size, max_num_columns())) {
 }
 
-inline void
-Linear_Row::construct(const dimension_type sz, const dimension_type capacity,
-		      const Flags f) {
-  Row::construct(sz, capacity, f);
+inline
+Matrix::~Matrix() {
 }
 
-inline
-Linear_Row::Linear_Row(const dimension_type sz, const dimension_type capacity,
-		       const Flags f) {
-  construct(sz, capacity, f);
+inline Matrix&
+Matrix::operator=(const Matrix& y) {
+  // Without the following guard against auto-assignments we would
+  // recompute the row capacity based on row size, possibly without
+  // actually increasing the capacity of the rows.  This would lead to
+  // an inconsistent state.
+  if (this != &y) {
+    // The following assignment may do nothing on auto-assignments...
+    rows = y.rows;
+    row_size = y.row_size;
+    // ... hence the following assignment must not be done on
+    // auto-assignments.
+    row_capacity = compute_capacity(y.row_size, max_num_columns());
+  }
+  return *this;
 }
 
 inline void
-Linear_Row::construct(const dimension_type sz, const Flags f) {
-  construct(sz, sz, f);
+Matrix::add_row(const Row& y) {
+  Row new_row(y, row_capacity);
+  add_recycled_row(new_row);
 }
 
-inline
-Linear_Row::Linear_Row(const dimension_type sz, const Flags f) {
-  construct(sz, f);
+inline Row&
+Matrix::operator[](const dimension_type k) {
+  PPL_ASSERT(k < rows.size());
+  return rows[k];
 }
 
-inline
-Linear_Row::Linear_Row(const Linear_Row& y)
-  : Row(y) {
+inline const Row&
+Matrix::operator[](const dimension_type k) const {
+  PPL_ASSERT(k < rows.size());
+  return rows[k];
 }
 
-inline
-Linear_Row::Linear_Row(const Linear_Row& y,
-		       const dimension_type capacity)
-  : Row(y, capacity) {
+inline dimension_type
+Matrix::num_rows() const {
+  return rows.size();
 }
 
-inline
-Linear_Row::Linear_Row(const Linear_Row& y,
-		       const dimension_type sz, const dimension_type capacity)
-  : Row(y, sz, capacity) {
+inline dimension_type
+Matrix::num_columns() const {
+  return row_size;
 }
 
-inline
-Linear_Row::~Linear_Row() {
+/*! \relates Matrix */
+inline bool
+operator!=(const Matrix& x, const Matrix& y) {
+  return !(x == y);
 }
 
-inline bool
-Linear_Row::is_line_or_equality() const {
-  return flags().is_line_or_equality();
+inline void
+Matrix::erase_to_end(const dimension_type first_to_erase) {
+  PPL_ASSERT(first_to_erase <= rows.size());
+  if (first_to_erase < rows.size())
+    rows.erase(rows.begin() + first_to_erase, rows.end());
 }
 
-inline bool
-Linear_Row::is_ray_or_point_or_inequality() const {
-  return flags().is_ray_or_point_or_inequality();
+inline void
+Matrix::clear() {
+  // Clear `rows' and minimize its capacity.
+  std::vector<Row>().swap(rows);
+  row_size = 0;
+  row_capacity = 0;
+}
+
+} // namespace Parma_Polyhedra_Library
+
+namespace std {
+
+/*! \relates Parma_Polyhedra_Library::Matrix */
+inline void
+swap(Parma_Polyhedra_Library::Matrix& x,
+     Parma_Polyhedra_Library::Matrix& y) {
+  x.swap(y);
 }
 
-inline Topology
-Linear_Row::topology() const {
-  return flags().topology();
-}
+} // namespace std
+
+/* Automatically generated from PPL source file ../src/Matrix.defs.hh line 368. */
+
+/* Automatically generated from PPL source file ../src/Linear_System.defs.hh line 33. */
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! The base class for systems of constraints and generators.
+/*! \ingroup PPL_CXX_interface
+  An object of this class represents either a constraint system
+  or a generator system. Each Linear_System object can be viewed
+  as a finite sequence of strong-normalized Linear_Row objects,
+  where each Linear_Row implements a constraint or a generator.
+  Linear systems are characterized by the matrix of coefficients,
+  also encoding the number, size and capacity of Linear_row objects,
+  as well as a few additional information, including:
+   - the topological kind of (all) the rows;
+   - an indication of whether or not some of the rows in the Linear_System
+     are <EM>pending</EM>, meaning that they still have to undergo
+     an (unspecified) elaboration; if there are pending rows, then these
+     form a proper suffix of the overall sequence of rows;
+   - a Boolean flag that, when <CODE>true</CODE>, ensures that the
+     non-pending prefix of the sequence of rows is sorted.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+
+class Parma_Polyhedra_Library::Linear_System : public Matrix {
+public:
+  //! Builds an empty linear system with specified topology.
+  /*!
+    Rows size and capacity are initialized to \f$0\f$.
+  */
+  Linear_System(Topology topol);
+
+  //! Builds a system with specified topology and dimensions.
+  /*!
+    \param topol
+    The topology of the system that will be created;
+
+    \param n_rows
+    The number of rows of the system that will be created;
+
+    \param n_columns
+    The number of columns of the system that will be created.
+
+    Creates a \p n_rows \f$\times\f$ \p n_columns system whose
+    coefficients are all zero and whose rows are all initialized
+    to be of the given topology.
+  */
+  Linear_System(Topology topol,
+		dimension_type n_rows, dimension_type n_columns);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! A tag class.
+  /*! \ingroup PPL_CXX_interface
+    Tag class to differentiate the Linear_System copy constructor that
+    copies pending rows as pending from the one that transforms
+    pending rows into non-pending ones.
+  */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  struct With_Pending {
+  };
+
+  //! Copy constructor: pending rows are transformed into non-pending ones.
+  Linear_System(const Linear_System& y);
+
+  //! Full copy constructor: pending rows are copied as pending.
+  Linear_System(const Linear_System& y, With_Pending);
+
+  //! Assignment operator: pending rows are transformed into non-pending ones.
+  Linear_System& operator=(const Linear_System& y);
+
+  //! Full assignment operator: pending rows are copied as pending.
+  void assign_with_pending(const Linear_System& y);
+
+  //! Swaps \p *this with \p y.
+  void swap(Linear_System& y);
+
+  //! Returns the maximum space dimension a Linear_System can handle.
+  static dimension_type max_space_dimension();
+
+  //! Returns the space dimension of the rows in the system.
+  /*!
+    The computation of the space dimension correctly ignores
+    the column encoding the inhomogeneous terms of constraint
+    (resp., the divisors of generators);
+    if the system topology is <CODE>NOT_NECESSARILY_CLOSED</CODE>,
+    also the column of the \f$\epsilon\f$-dimension coefficients
+    will be ignored.
+  */
+  dimension_type space_dimension() const;
+
+  //! Makes the system shrink by removing its \p n trailing columns.
+  void remove_trailing_columns(dimension_type n);
+
+  //! Permutes the columns of the system.
+  /*
+    \param cycles
+    A vector representing the non-trivial cycles of the permutation
+    according to which the columns must be rearranged.
+
+    The \p cycles vector contains, one after the other, the
+    non-trivial cycles (i.e., the cycles of length greater than one)
+    of a permutation of non-zero column indexes.  Each cycle is
+    terminated by zero.  For example, assuming the system has 6
+    columns, the permutation \f$ \{ 1 \mapsto 3, 2 \mapsto 4,
+    3 \mapsto 6, 4 \mapsto 2, 5 \mapsto 5, 6 \mapsto 1 \}\f$ can be
+    represented by the non-trivial cycles \f$(1 3 6)(2 4)\f$ that, in
+    turn can be represented by a vector of 6 elements containing 1, 3,
+    6, 0, 2, 4, 0.
+  */
+  void permute_columns(const std::vector<dimension_type>& cycles);
+
+  //! \name Subscript operators
+  //@{
+  //! Returns a reference to the \p k-th row of the system.
+  Linear_Row& operator[](dimension_type k);
+
+  //! Returns a constant reference to the \p k-th row of the system.
+  const Linear_Row& operator[](dimension_type k) const;
+  //@} // Subscript operators
+
+  //! Strongly normalizes the system.
+  void strong_normalize();
+
+  //! Sign-normalizes the system.
+  void sign_normalize();
+
+  //! \name Accessors
+  //@{
+  //! Returns the system topology.
+  Topology topology() const;
 
-inline void
-Linear_Row::set_is_line_or_equality() {
-  flags().set_is_line_or_equality();
-}
+  //! Returns the value of the sortedness flag.
+  bool is_sorted() const;
 
-inline void
-Linear_Row::set_is_ray_or_point_or_inequality() {
-  flags().set_is_ray_or_point_or_inequality();
-}
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    the system topology is <CODE>NECESSARILY_CLOSED</CODE>.
+  */
+  bool is_necessarily_closed() const;
 
-inline void
-Linear_Row::set_necessarily_closed() {
-  flags().set_necessarily_closed();
-}
+  /*! \brief
+    Returns the number of rows in the system
+    that represent either lines or equalities.
+  */
+  dimension_type num_lines_or_equalities() const;
 
-inline void
-Linear_Row::set_not_necessarily_closed() {
-  flags().set_not_necessarily_closed();
-}
+  //! Returns the index of the first pending row.
+  dimension_type first_pending_row() const;
 
-inline Coefficient_traits::const_reference
-Linear_Row::inhomogeneous_term() const {
-  return (*this)[0];
-}
+  //! Returns the number of rows that are in the pending part of the system.
+  dimension_type num_pending_rows() const;
+  //@} // Accessors
 
-inline Coefficient_traits::const_reference
-Linear_Row::coefficient(const dimension_type k) const {
-  return (*this)[k+1];
-}
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is sorted,
+    without checking for duplicates.
+  */
+  bool check_sorted() const;
 
-inline void
-Linear_Row::strong_normalize() {
-  normalize();
-  sign_normalize();
-}
+  //! Sets the system topology to <CODE>NECESSARILY_CLOSED</CODE>.
+  void set_necessarily_closed();
 
-/*! \relates Linear_Row */
-inline bool
-operator==(const Linear_Row& x, const Linear_Row& y) {
-  return x.flags() == y.flags()
-    && static_cast<const Row&>(x) == static_cast<const Row&>(y);
-}
+  //! Sets the system topology to <CODE>NOT_NECESSARILY_CLOSED</CODE>.
+  void set_not_necessarily_closed();
 
-/*! \relates Linear_Row */
-inline bool
-operator!=(const Linear_Row& x, const Linear_Row& y) {
-  return !(x == y);
-}
+  //! Sets the topology of all rows equal to the system topology.
+  void set_rows_topology();
 
-} // namespace Parma_Polyhedra_Library
+  //! Sets the index to indicate that the system has no pending rows.
+  void unset_pending_rows();
 
+  //! Sets the index of the first pending row to \p i.
+  void set_index_first_pending_row(dimension_type i);
 
-namespace std {
+  //! Sets the sortedness flag of the system to \p b.
+  void set_sorted(bool b);
 
-/*! \relates Parma_Polyhedra_Library::Linear_Row */
-inline void
-swap(Parma_Polyhedra_Library::Linear_Row& x,
-     Parma_Polyhedra_Library::Linear_Row& y) {
-  x.swap(y);
-}
+  //! Resizes the system without worrying about the old contents.
+  /*!
+    \param new_n_rows
+    The number of rows of the resized system;
 
-/*! \relates Parma_Polyhedra_Library::Linear_Row */
-inline void
-iter_swap(std::vector<Parma_Polyhedra_Library::Linear_Row>::iterator x,
-	  std::vector<Parma_Polyhedra_Library::Linear_Row>::iterator y) {
-  swap(*x, *y);
-}
+    \param new_n_columns
+    The number of columns of the resized system.
 
-} // namespace std
+    The system is expanded to the specified dimensions avoiding
+    reallocation whenever possible.
+    The contents of the original system is lost.
+  */
+  void resize_no_copy(dimension_type new_n_rows, dimension_type new_n_columns);
 
-/* Automatically generated from PPL source file ../src/Linear_Row.defs.hh line 463. */
+  //! Adds \p n rows and columns to the system.
+  /*!
+    \param n
+    The number of rows and columns to be added: must be strictly positive.
 
-/* Automatically generated from PPL source file ../src/Linear_Expression.defs.hh line 1. */
-/* Linear_Expression class declaration.
-*/
+    Turns the system \f$M \in \Rset^r \times \Rset^c\f$ into
+    the system \f$N \in \Rset^{r+n} \times \Rset^{c+n}\f$
+    such that
+    \f$N = \bigl(\genfrac{}{}{0pt}{}{0}{M}\genfrac{}{}{0pt}{}{J}{o}\bigr)\f$,
+    where \f$J\f$ is the specular image
+    of the \f$n \times n\f$ identity matrix.
+  */
+  void add_rows_and_columns(dimension_type n);
 
+  /*! \brief
+    Adds a copy of \p r to the system,
+    automatically resizing the system or the row's copy, if needed.
+  */
+  void insert(const Linear_Row& r);
 
-/* Automatically generated from PPL source file ../src/Variable.defs.hh line 1. */
-/* Variable class declaration.
-*/
+  /*! \brief
+    Adds a copy of the given row to the pending part of the system,
+    automatically resizing the system or the row, if needed.
+  */
+  void insert_pending(const Linear_Row& r);
 
+  //! Adds a copy of the given row to the system.
+  void add_row(const Linear_Row& r);
 
-/* Automatically generated from PPL source file ../src/Variable.types.hh line 1. */
+  //! Adds a new empty row to the system, setting only its flags.
+  void add_pending_row(Linear_Row::Flags flags);
 
+  //! Adds a copy of the given row to the pending part of the system.
+  void add_pending_row(const Linear_Row& r);
 
-namespace Parma_Polyhedra_Library {
+  //! Adds to \p *this a copy of the rows of `y'.
+  /*!
+    It is assumed that \p *this has no pending rows.
+  */
+  void add_rows(const Linear_System& y);
 
-class Variable;
+  //! Adds a copy of the rows of `y' to the pending part of `*this'.
+  void add_pending_rows(const Linear_System& y);
 
-} // namespace Parma_Polyhedra_Library
+  /*! \brief
+    Sorts the non-pending rows (in growing order) and eliminates
+    duplicated ones.
+  */
+  void sort_rows();
 
-/* Automatically generated from PPL source file ../src/Variable.defs.hh line 29. */
-#include <iosfwd>
-#include <set>
+  /*! \brief
+    Sorts the rows (in growing order) form \p first_row to
+    \p last_row and eliminates duplicated ones.
+  */
+  void sort_rows(dimension_type first_row, dimension_type last_row);
 
-namespace Parma_Polyhedra_Library {
+  /*! \brief
+    Assigns to \p *this the result of merging its rows with
+    those of \p y, obtaining a sorted system.
 
-namespace IO_Operators {
+    Duplicated rows will occur only once in the result.
+    On entry, both systems are assumed to be sorted and have
+    no pending rows.
+  */
+  void merge_rows_assign(const Linear_System& y);
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Variable */
-std::ostream&
-operator<<(std::ostream& s, const Variable& v);
+  /*! \brief
+    Sorts the pending rows and eliminates those that also occur
+    in the non-pending part of the system.
+  */
+  void sort_pending_and_remove_duplicates();
 
-} // namespace IO_Operators
+  class With_Bit_Matrix_iterator;
 
-//! Defines a total ordering on variables.
-/*! \relates Variable */
-bool less(Variable v, Variable w);
+  /*! \brief
+    Sorts the system, removing duplicates, keeping the saturation
+    matrix consistent.
 
-} // namespace Parma_Polyhedra_Library
+    \param sat
+    Bit matrix with rows corresponding to the rows of \p *this.
+  */
+  void sort_and_remove_with_sat(Bit_Matrix& sat);
 
-//! A dimension of the vector space.
-/*! \ingroup PPL_CXX_interface
-  An object of the class Variable represents a dimension of the space,
-  that is one of the Cartesian axes.
-  Variables are used as basic blocks in order to build
-  more complex linear expressions.
-  Each variable is identified by a non-negative integer,
-  representing the index of the corresponding Cartesian axis
-  (the first axis has index 0).
-  The space dimension of a variable is the dimension of the vector space
-  made by all the Cartesian axes having an index less than or equal to
-  that of the considered variable; thus, if a variable has index \f$i\f$,
-  its space dimension is \f$i+1\f$.
+  //! Minimizes the subsystem of equations contained in \p *this.
+  /*!
+    This method works only on the equalities of the system:
+    the system is required to be partially sorted, so that
+    all the equalities are grouped at its top; it is assumed that
+    the number of equalities is exactly \p n_lines_or_equalities.
+    The method finds a minimal system for the equalities and
+    returns its rank, i.e., the number of linearly independent equalities.
+    The result is an upper triangular subsystem of equalities:
+    for each equality, the pivot is chosen starting from
+    the right-most columns.
+  */
+  dimension_type gauss(dimension_type n_lines_or_equalities);
 
-  Note that the ``meaning'' of an object of the class Variable
-  is completely specified by the integer index provided to its
-  constructor:
-  be careful not to be mislead by C++ language variable names.
-  For instance, in the following example the linear expressions
-  <CODE>e1</CODE> and <CODE>e2</CODE> are equivalent,
-  since the two variables <CODE>x</CODE> and <CODE>z</CODE> denote
-  the same Cartesian axis.
-  \code
-  Variable x(0);
-  Variable y(1);
-  Variable z(0);
-  Linear_Expression e1 = x + y;
-  Linear_Expression e2 = y + z;
-  \endcode
+  /*! \brief
+    Back-substitutes the coefficients to reduce
+    the complexity of the system.
 
-*/
-class Parma_Polyhedra_Library::Variable {
+    Takes an upper triangular system having \p n_lines_or_equalities rows.
+    For each row, starting from the one having the minimum number of
+    coefficients different from zero, computes the expression of an element
+    as a function of the remaining ones and then substitutes this expression
+    in all the other rows.
+  */
+  void back_substitute(dimension_type n_lines_or_equalities);
 
-public:
-  //! Builds the variable corresponding to the Cartesian axis of index \p i.
-  /*!
-    \exception std::length_error
-    Thrown if <CODE>i+1</CODE> exceeds
-    <CODE>Variable::max_space_dimension()</CODE>.
+  /*! \brief
+    Applies Gaussian elimination and back-substitution so as to
+    simplify the linear system.
   */
-  explicit Variable(dimension_type i);
+  void simplify();
 
-  //! Returns the index of the Cartesian axis associated to the variable.
-  dimension_type id() const;
+  /*! \brief
+    Normalizes the system by dividing each row for the GCD of the
+    row's elements.
+  */
+  void normalize();
 
-  //! Returns the maximum space dimension a Variable can handle.
-  static dimension_type max_space_dimension();
+  //! Clears the system deallocating all its rows.
+  void clear();
 
-  //! Returns the dimension of the vector space enclosing \p *this.
-  /*!
-    The returned value is <CODE>id()+1</CODE>.
+  PPL_OUTPUT_DECLARATIONS
+
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+
+    Reads into a Linear_System object the information produced by the
+    output of ascii_dump(std::ostream&) const.  The specialized methods
+    provided by Constraint_System and Generator_System take care of
+    properly reading the contents of the system.
   */
-  dimension_type space_dimension() const;
+  bool ascii_load(std::istream& s);
 
   //! Returns the total size in bytes of the memory occupied by \p *this.
   memory_size_type total_memory_in_bytes() const;
@@ -14225,893 +17226,1250 @@ public:
   memory_size_type external_memory_in_bytes() const;
 
   //! Checks if all the invariants are satisfied.
-  bool OK() const;
-
-  //! Type of output functions.
-  typedef void output_function_type(std::ostream& s, const Variable& v);
-
-  //! Sets the output function to be used for printing Variable objects.
-  static void set_output_function(output_function_type* p);
-
-  //! Returns the pointer to the current output function.
-  static output_function_type* get_output_function();
+  /*!
+    \param check_strong_normalized
+    <CODE>true</CODE> if and only if the strong normalization of all
+    the rows in the system has to be checked.
 
-  //! Binary predicate defining the total ordering on variables.
-  /*! \ingroup PPL_CXX_interface */
-  struct Compare {
-    //! Returns <CODE>true</CODE> if and only if \p x comes before \p y.
-    bool operator()(Variable x, Variable y) const;
-  };
+    By default, the strong normalization check is performed.
+    This check may be turned off to avoid useless repeated checking;
+    e.g., when re-checking a well-formed Linear_System after the permutation
+    or deletion of some of its rows.
+  */
+  bool OK(bool check_strong_normalized = true) const;
 
 private:
-  //! The index of the Cartesian axis.
-  dimension_type varid;
-
-  // The initialization class needs to set the default output function.
-  friend class Init;
+  //! The topological kind of the rows in the system.
+  Topology row_topology;
 
-  friend std::ostream&
-  Parma_Polyhedra_Library::IO_Operators::operator<<(std::ostream& s,
-						    const Variable& v);
+  //! The index of the first pending row.
+  dimension_type index_first_pending;
 
-  //! Pointer to the current output function.
-  static output_function_type* current_output_function;
+  /*! \brief
+    <CODE>true</CODE> if rows are sorted in the ascending order as defined by
+    <CODE>bool compare(const Linear_Row&, const Linear_Row&)</CODE>.
+    If <CODE>false</CODE> may not be sorted.
+  */
+  bool sorted;
 
-  //! The default output function.
-  static void default_output_function(std::ostream& s, const Variable& v);
+  //! Ordering predicate (used when implementing the sort algorithm).
+  struct Row_Less_Than {
+    bool operator()(const Row& x, const Row& y) const;
+  };
 };
 
-/* Automatically generated from PPL source file ../src/Variable.inlines.hh line 1. */
-/* Variable class implementation: inline functions.
-*/
+namespace std {
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Specializes <CODE>std::swap</CODE>.
+/*! \relates Parma_Polyhedra_Library::Linear_System */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void swap(Parma_Polyhedra_Library::Linear_System& x,
+	  Parma_Polyhedra_Library::Linear_System& y);
 
-/* Automatically generated from PPL source file ../src/Variable.inlines.hh line 27. */
-#include <stdexcept>
+} // namespace std
 
 namespace Parma_Polyhedra_Library {
 
-inline dimension_type
-Variable::max_space_dimension() {
-  return not_a_dimension() - 1;
-}
-
-inline
-Variable::Variable(dimension_type i)
-  : varid(i < max_space_dimension()
-	  ? i
-	  : (throw std::length_error("PPL::Variable::Variable(i):\n"
-				     "i exceeds the maximum allowed "
-				     "variable identifier."), i)) {
-}
-
-inline dimension_type
-Variable::id() const {
-  return varid;
-}
-
-inline dimension_type
-Variable::space_dimension() const {
-  return varid + 1;
-}
-
-inline memory_size_type
-Variable::external_memory_in_bytes() const {
-  return 0;
-}
-
-inline memory_size_type
-Variable::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
-}
-
-inline void
-Variable::set_output_function(output_function_type* p) {
-  current_output_function = p;
-}
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are identical.
+/*! \relates Linear_System */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool operator==(const Linear_System& x, const Linear_System& y);
 
-inline Variable::output_function_type*
-Variable::get_output_function() {
-  return current_output_function;
-}
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
+/*! \relates Linear_System */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool operator!=(const Linear_System& x, const Linear_System& y);
 
-/*! \relates Variable */
-inline bool
-less(const Variable v, const Variable w) {
-  return v.id() < w.id();
-}
+} // namespace Parma_Polyhedra_Library
 
-inline bool
-Variable::Compare::operator()(const Variable x, const Variable y) const {
-  return less(x, y);
-}
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! An iterator keeping a Linear_System consistent with a Bit_Matrix.
+/*! \ingroup PPL_CXX_interface
+  An iterator on the vector of Row objects encoded in a Linear_System
+  extended to maintain a corresponding iterator on a vector of
+  Bit_Row objects.  Access to values is always done on the Row
+  objects, but iterator movements and swaps are done on both components.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+class Parma_Polyhedra_Library::Linear_System::With_Bit_Matrix_iterator {
+public:
+  typedef std::vector<Row>::iterator Iter1;
+  typedef std::vector<Bit_Row>::iterator Iter2;
 
-} // namespace Parma_Polyhedra_Library
+private:
+  Iter1 i1;
+  Iter2 i2;
 
-/* Automatically generated from PPL source file ../src/Variable.defs.hh line 147. */
+public:
+  // Same traits as Iter1.
+  typedef std::iterator_traits<Iter1>::iterator_category iterator_category;
+  typedef std::iterator_traits<Iter1>::value_type value_type;
+  typedef std::iterator_traits<Iter1>::difference_type difference_type;
+  typedef std::iterator_traits<Iter1>::pointer pointer;
+  typedef std::iterator_traits<Iter1>::reference reference;
 
-/* Automatically generated from PPL source file ../src/Constraint_System.types.hh line 1. */
+  //! Constructor.
+  With_Bit_Matrix_iterator(Iter1 iter1, Iter2 iter2);
 
+  //! Copy constructor.
+  With_Bit_Matrix_iterator(const With_Bit_Matrix_iterator& y);
 
-namespace Parma_Polyhedra_Library {
+  //! Destructor.
+  ~With_Bit_Matrix_iterator();
 
-class Constraint_System;
+  //! Assignment operator.
+  With_Bit_Matrix_iterator&
+  operator=(const With_Bit_Matrix_iterator& y);
 
-} // namespace Parma_Polyhedra_Library
+  //! \name Operators Implementing Iterator Movement
+  //@{
+  With_Bit_Matrix_iterator& operator++();
+  With_Bit_Matrix_iterator operator++(int);
 
-/* Automatically generated from PPL source file ../src/Generator_System.types.hh line 1. */
+  With_Bit_Matrix_iterator& operator--();
+  With_Bit_Matrix_iterator operator--(int);
 
+  With_Bit_Matrix_iterator& operator+=(difference_type d);
+  With_Bit_Matrix_iterator operator+(difference_type d) const;
 
-namespace Parma_Polyhedra_Library {
+  With_Bit_Matrix_iterator& operator-=(difference_type d);
+  With_Bit_Matrix_iterator operator-(difference_type d) const;
+  //@}
 
-class Generator_System;
+  //! Distance operator.
+  difference_type operator-(const With_Bit_Matrix_iterator& y) const;
 
-} // namespace Parma_Polyhedra_Library
+  //! \name Comparisons between Iterators
+  //@{
+  bool operator==(const With_Bit_Matrix_iterator& y) const;
+  bool operator!=(const With_Bit_Matrix_iterator& y) const;
+  bool operator<(const With_Bit_Matrix_iterator& y) const;
+  //@}
 
-/* Automatically generated from PPL source file ../src/Congruence_System.types.hh line 1. */
+  //! Dereference operator.
+  reference operator*() const;
 
+  //! Access-through operator.
+  pointer operator->() const;
 
-namespace Parma_Polyhedra_Library {
+  //! Swaps the pointed Row objects while keeping Bit_Matrix consistent.
+  void iter_swap(const With_Bit_Matrix_iterator& y) const;
 
-class Congruence_System;
+};
 
-}
+namespace std {
 
-/* Automatically generated from PPL source file ../src/Grid_Generator_System.types.hh line 1. */
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Specializes <CODE>std::iter_swap</CODE>.
+/*! \relates Parma_Polyhedra_Library::Linear_System::With_Bit_Matrix_iterator */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void
+iter_swap(Parma_Polyhedra_Library
+	  ::Linear_System::With_Bit_Matrix_iterator x,
+	  Parma_Polyhedra_Library
+	  ::Linear_System::With_Bit_Matrix_iterator y);
 
+} // namespace std
 
-namespace Parma_Polyhedra_Library {
+/* Automatically generated from PPL source file ../src/Linear_System.inlines.hh line 1. */
+/* Linear_System class implementation: inline functions.
+*/
 
-class Grid_Generator_System;
 
-}
+/* Automatically generated from PPL source file ../src/Bit_Row.defs.hh line 1. */
+/* Bit_Row class declaration.
+*/
 
-/* Automatically generated from PPL source file ../src/Polyhedron.types.hh line 1. */
 
+/* Automatically generated from PPL source file ../src/Bit_Row.defs.hh line 28. */
+#include <iosfwd>
+#include <gmpxx.h>
+#include <vector>
 
 namespace Parma_Polyhedra_Library {
 
-class Polyhedron;
+// Put them in the namespace here to declare them friends later.
 
-} // namespace Parma_Polyhedra_Library
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are equal.
+/*! \relates Bit_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool operator==(const Bit_Row& x, const Bit_Row& y);
 
-/* Automatically generated from PPL source file ../src/Grid.types.hh line 1. */
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are not equal.
+/*! \relates Bit_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool operator!=(const Bit_Row& x, const Bit_Row& y);
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! The basic comparison function.
+/*! \relates Bit_Row
+  Compares \p x with \p y starting from the least significant bits.
+  The ordering is total and has the following property: if \p x and \p y
+  are two rows seen as sets of naturals, if \p x is a strict subset
+  of \p y, then \p x comes before \p y.
 
-namespace Parma_Polyhedra_Library {
+  Returns
+  - -1 if \p x comes before \p y in the ordering;
+  -  0 if \p x and \p y are equal;
+  -  1 if \p x comes after \p y in the ordering.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+int compare(const Bit_Row& x, const Bit_Row& y);
 
-class Grid;
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Set-theoretic inclusion test.
+/*! \relates Bit_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool subset_or_equal(const Bit_Row& x, const Bit_Row& y);
 
-} // namespace Parma_Polyhedra_Library
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  Set-theoretic inclusion test: sets \p strict_subset to a Boolean
+  indicating whether the inclusion is strict or not.
 
-/* Automatically generated from PPL source file ../src/Linear_Expression.defs.hh line 41. */
-#include <cstddef>
+  \relates Bit_Row
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool subset_or_equal(const Bit_Row& x, const Bit_Row& y,
+		     bool& strict_subset);
 
-namespace Parma_Polyhedra_Library {
-// Put them in the namespace here to declare them friend later.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Set-theoretic strict inclusion test.
+/*! \relates Bit_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool strict_subset(const Bit_Row& x, const Bit_Row& y);
 
-//! Returns the linear expression \p e1 + \p e2.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator+(const Linear_Expression& e1, const Linear_Expression& e2);
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Set-theoretic union.
+/*! \relates Bit_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void set_union(const Bit_Row& x, const Bit_Row& y, Bit_Row& z);
 
-//! Returns the linear expression \p v + \p w.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator+(Variable v, Variable w);
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Set-theoretic intersection.
+/*! \relates Bit_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void set_intersection(const Bit_Row& x, const Bit_Row& y, Bit_Row& z);
 
-//! Returns the linear expression \p v + \p e.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator+(Variable v, const Linear_Expression& e);
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Set-theoretic difference.
+/*! \relates Bit_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void set_difference(const Bit_Row& x, const Bit_Row& y, Bit_Row& z);
 
-//! Returns the linear expression \p e + \p v.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator+(const Linear_Expression& e, Variable v);
+} // namespace Parma_Polyhedra_Library
 
-//! Returns the linear expression \p n + \p e.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator+(Coefficient_traits::const_reference n, const Linear_Expression& e);
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! A row in a matrix of bits.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+class Parma_Polyhedra_Library::Bit_Row {
+public:
+  //! Default constructor.
+  Bit_Row();
 
-//! Returns the linear expression \p e + \p n.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator+(const Linear_Expression& e, Coefficient_traits::const_reference n);
+  //! Copy constructor.
+  Bit_Row(const Bit_Row& y);
 
-//! Returns the linear expression \p e.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator+(const Linear_Expression& e);
+  //! Set-union constructor.
+  /*!
+    Constructs an object containing the set-union of \p y and \p z.
+  */
+  Bit_Row(const Bit_Row& y, const Bit_Row& z);
 
-//! Returns the linear expression - \p e.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator-(const Linear_Expression& e);
+  //! Destructor.
+  ~Bit_Row();
 
-//! Returns the linear expression \p e1 - \p e2.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator-(const Linear_Expression& e1, const Linear_Expression& e2);
+  //! Assignment operator.
+  Bit_Row& operator=(const Bit_Row& y);
 
-//! Returns the linear expression \p v - \p w.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator-(Variable v, Variable w);
+  //! Swaps \p *this with \p y.
+  void swap(Bit_Row& y);
 
-//! Returns the linear expression \p v - \p e.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator-(Variable v, const Linear_Expression& e);
+  //! Returns the truth value corresponding to the bit in position \p k.
+  bool operator[](unsigned long k) const;
 
-//! Returns the linear expression \p e - \p v.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator-(const Linear_Expression& e, Variable v);
+  //! Sets the bit in position \p k.
+  void set(unsigned long k);
 
-//! Returns the linear expression \p n - \p e.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator-(Coefficient_traits::const_reference n, const Linear_Expression& e);
+  //! Sets bits up to position \p k (excluded).
+  void set_until(unsigned long k);
 
-//! Returns the linear expression \p e - \p n.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator-(const Linear_Expression& e, Coefficient_traits::const_reference n);
+  //! Clears the bit in position \p k.
+  void clear(unsigned long k);
 
-//! Returns the linear expression \p n * \p e.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator*(Coefficient_traits::const_reference n, const Linear_Expression& e);
+  //! Clears bits from position \p k (included) onward.
+  void clear_from(unsigned long k);
 
-//! Returns the linear expression \p e * \p n.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator*(const Linear_Expression& e, Coefficient_traits::const_reference n);
+  //! Clears all the bits of the row.
+  void clear();
 
-//! Returns the linear expression \p e1 + \p e2 and assigns it to \p e1.
-/*! \relates Linear_Expression */
-Linear_Expression&
-operator+=(Linear_Expression& e1, const Linear_Expression& e2);
+  friend int compare(const Bit_Row& x, const Bit_Row& y);
+  friend bool operator==(const Bit_Row& x, const Bit_Row& y);
+  friend bool operator!=(const Bit_Row& x, const Bit_Row& y);
+  friend bool subset_or_equal(const Bit_Row& x, const Bit_Row& y);
+  friend bool subset_or_equal(const Bit_Row& x, const Bit_Row& y,
+			      bool& strict_subset);
+  friend bool strict_subset(const Bit_Row& x, const Bit_Row& y);
+  friend void set_union(const Bit_Row& x, const Bit_Row& y, Bit_Row& z);
+  friend void set_intersection(const Bit_Row& x, const Bit_Row& y, Bit_Row& z);
+  friend void set_difference(const Bit_Row& x, const Bit_Row& y, Bit_Row& z);
 
-//! Returns the linear expression \p e + \p v and assigns it to \p e.
-/*! \relates Linear_Expression
-  \exception std::length_error
-  Thrown if the space dimension of \p v exceeds
-  <CODE>Linear_Expression::max_space_dimension()</CODE>.
- */
-Linear_Expression&
-operator+=(Linear_Expression& e, Variable v);
+  //! Returns the index of the first set bit or ULONG_MAX if no bit is set.
+  unsigned long first() const;
 
-//! Returns the linear expression \p e + \p n and assigns it to \p e.
-/*! \relates Linear_Expression */
-Linear_Expression&
-operator+=(Linear_Expression& e, Coefficient_traits::const_reference n);
+  /*! \brief
+    Returns the index of the first set bit after \p position
+    or ULONG_MAX if no bit after \p position is set.
+  */
+  unsigned long next(unsigned long position) const;
 
-//! Returns the linear expression \p e1 - \p e2 and assigns it to \p e1.
-/*! \relates Linear_Expression */
-Linear_Expression&
-operator-=(Linear_Expression& e1, const Linear_Expression& e2);
+  //! Returns the index of the last set bit or ULONG_MAX if no bit is set.
+  unsigned long last() const;
 
-//! Returns the linear expression \p e - \p v and assigns it to \p e.
-/*! \relates Linear_Expression
-  \exception std::length_error
-  Thrown if the space dimension of \p v exceeds
-  <CODE>Linear_Expression::max_space_dimension()</CODE>.
- */
-Linear_Expression&
-operator-=(Linear_Expression& e, Variable v);
+  /*! \brief
+    Returns the index of the first set bit before \p position
+    or ULONG_MAX if no bits before \p position is set.
+  */
+  unsigned long prev(unsigned long position) const;
 
-//! Returns the linear expression \p e - \p n and assigns it to \p e.
-/*! \relates Linear_Expression */
-Linear_Expression&
-operator-=(Linear_Expression& e, Coefficient_traits::const_reference n);
+  //! Returns the number of set bits in the row.
+  unsigned long count_ones() const;
 
-//! Returns the linear expression \p n * \p e and assigns it to \p e.
-/*! \relates Linear_Expression */
-Linear_Expression&
-operator*=(Linear_Expression& e, Coefficient_traits::const_reference n);
+  //! Returns <CODE>true</CODE> if no bit is set in the row.
+  bool empty() const;
 
-namespace IO_Operators {
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Linear_Expression */
-std::ostream& operator<<(std::ostream& s, const Linear_Expression& e);
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-} // namespace IO_Operators
+  //! Checks if all the invariants are satisfied
+  bool OK() const;
 
-} // namespace Parma_Polyhedra_Library
+private:
+  //! Bit-vector representing the row.
+  mpz_t vec;
 
+  //! Assigns to \p *this the union of \p y and \p z.
+  /*!
+    The size of \p y must be be less than or equal to the size of \p z.
+    Upon entry, \p vec must have allocated enough space to contain the result.
+  */
+  void union_helper(const Bit_Row& x, const Bit_Row& y);
+};
 
 namespace std {
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 //! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Linear_Expression */
-void swap(Parma_Polyhedra_Library::Linear_Expression& x,
-	  Parma_Polyhedra_Library::Linear_Expression& y);
+/*! \relates Parma_Polyhedra_Library::Bit_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void swap(Parma_Polyhedra_Library::Bit_Row& x,
+	  Parma_Polyhedra_Library::Bit_Row& y);
 
-} // namespace std
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Specializes <CODE>std::iter_swap</CODE>.
+/*! \relates Parma_Polyhedra_Library::Bit_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void
+iter_swap(std::vector<Parma_Polyhedra_Library::Bit_Row>::iterator x,
+	  std::vector<Parma_Polyhedra_Library::Bit_Row>::iterator y);
 
-//! A linear expression.
-/*! \ingroup PPL_CXX_interface
-  An object of the class Linear_Expression represents the linear expression
-  \f[
-    \sum_{i=0}^{n-1} a_i x_i + b
-  \f]
-  where \f$n\f$ is the dimension of the vector space,
-  each \f$a_i\f$ is the integer coefficient
-  of the \f$i\f$-th variable \f$x_i\f$
-  and \f$b\f$ is the integer for the inhomogeneous term.
+} // namespace std
 
-  \par How to build a linear expression.
+/* Automatically generated from PPL source file ../src/Bit_Row.inlines.hh line 1. */
+/* Bit_Row class implementation: inline functions.
+*/
 
-  Linear expressions are the basic blocks for defining
-  both constraints (i.e., linear equalities or inequalities)
-  and generators (i.e., lines, rays, points and closure points).
-  A full set of functions is defined to provide a convenient interface
-  for building complex linear expressions starting from simpler ones
-  and from objects of the classes Variable and Coefficient:
-  available operators include unary negation,
-  binary addition and subtraction,
-  as well as multiplication by a Coefficient.
-  The space dimension of a linear expression is defined as the maximum
-  space dimension of the arguments used to build it:
-  in particular, the space dimension of a Variable <CODE>x</CODE>
-  is defined as <CODE>x.id()+1</CODE>,
-  whereas all the objects of the class Coefficient have space dimension zero.
 
-  \par Example
-  The following code builds the linear expression \f$4x - 2y - z + 14\f$,
-  having space dimension \f$3\f$:
-  \code
-  Linear_Expression e = 4*x - 2*y - z + 14;
-  \endcode
-  Another way to build the same linear expression is:
-  \code
-  Linear_Expression e1 = 4*x;
-  Linear_Expression e2 = 2*y;
-  Linear_Expression e3 = z;
-  Linear_Expression e = Linear_Expression(14);
-  e += e1 - e2 - e3;
-  \endcode
-  Note that \p e1, \p e2 and \p e3 have space dimension 1, 2 and 3,
-  respectively; also, in the fourth line of code, \p e is created
-  with space dimension zero and then extended to space dimension 3
-  in the fifth line.
-*/
-class Parma_Polyhedra_Library::Linear_Expression : private Linear_Row {
-public:
-  //! Default constructor: returns a copy of Linear_Expression::zero().
-  Linear_Expression();
+/* Automatically generated from PPL source file ../src/Bit_Row.inlines.hh line 28. */
 
-  //! Ordinary copy-constructor.
-  Linear_Expression(const Linear_Expression& e);
+// For the declaration of ffs(3).
+#if defined(PPL_HAVE_STRINGS_H)
+# include <strings.h>
+#elif defined(PPL_HAVE_STRING_H)
+# include <string.h>
+#endif
 
-  //! Destructor.
-  ~Linear_Expression();
+#define PPL_BITS_PER_GMP_LIMB (PPL_SIZEOF_MP_LIMB_T*CHAR_BIT)
 
-  /*! \brief
-    Builds the linear expression corresponding
-    to the inhomogeneous term \p n.
-  */
-  explicit Linear_Expression(Coefficient_traits::const_reference n);
+namespace Parma_Polyhedra_Library {
 
-  //! Builds the linear expression corresponding to the variable \p v.
-  /*!
-    \exception std::length_error
-    Thrown if the space dimension of \p v exceeds
-    <CODE>Linear_Expression::max_space_dimension()</CODE>.
-  */
-  Linear_Expression(Variable v);
+inline
+Bit_Row::Bit_Row() {
+  mpz_init(vec);
+}
 
-  //! Builds the linear expression corresponding to constraint \p c.
-  /*!
-    Given the constraint
-    \f$c = \bigl(\sum_{i=0}^{n-1} a_i x_i + b \relsym 0\bigr)\f$,
-    where \f$\mathord{\relsym} \in \{ =, \geq, > \}\f$,
-    this builds the linear expression \f$\sum_{i=0}^{n-1} a_i x_i + b\f$.
-    If \p c is an inequality (resp., equality) constraint, then
-    the built linear expression is unique up to a positive
-    (resp., non-zero) factor.
-  */
-  explicit Linear_Expression(const Constraint& c);
+inline
+Bit_Row::Bit_Row(const Bit_Row& y) {
+  mpz_init_set(vec, y.vec);
+}
 
-  /*! \brief
-    Builds the linear expression corresponding to generator \p g
-    (for points and closure points, the divisor is not copied).
+inline
+Bit_Row::Bit_Row(const Bit_Row& y, const Bit_Row& z) {
+  const mp_size_t y_size = y.vec->_mp_size;
+  PPL_ASSERT(y_size >= 0);
+  const mp_size_t z_size = z.vec->_mp_size;
+  PPL_ASSERT(z_size >= 0);
+  if (y_size < z_size) {
+    PPL_ASSERT(static_cast<unsigned long>(z_size)
+           <= ULONG_MAX / PPL_BITS_PER_GMP_LIMB);
+    mpz_init2(vec, z_size * PPL_BITS_PER_GMP_LIMB);
+    union_helper(y, z);
+  }
+  else {
+    PPL_ASSERT(static_cast<unsigned long>(y_size)
+           <= ULONG_MAX / PPL_BITS_PER_GMP_LIMB);
+    mpz_init2(vec, y_size * PPL_BITS_PER_GMP_LIMB);
+    union_helper(z, y);
+  }
+}
 
-    Given the generator
-    \f$g = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$
-    (where, for lines and rays, we have \f$d = 1\f$),
-    this builds the linear expression \f$\sum_{i=0}^{n-1} a_i x_i\f$.
-    The inhomogeneous term of the linear expression will always be 0.
-    If \p g is a ray, point or closure point (resp., a line), then
-    the linear expression is unique up to a positive
-    (resp., non-zero) factor.
-  */
-  explicit Linear_Expression(const Generator& g);
+inline
+Bit_Row::~Bit_Row() {
+  mpz_clear(vec);
+}
 
-  /*! \brief
-    Builds the linear expression corresponding to grid generator \p g
-    (for points, parameters and lines the divisor is not copied).
+inline Bit_Row&
+Bit_Row::operator=(const Bit_Row& y) {
+  mpz_set(vec, y.vec);
+  return *this;
+}
 
-    Given the grid generator
-    \f$g = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$
-    this builds the linear expression \f$\sum_{i=0}^{n-1} a_i x_i\f$.
-    The inhomogeneous term of the linear expression is always 0.
-  */
-  explicit Linear_Expression(const Grid_Generator& g);
+inline void
+Bit_Row::set(const unsigned long k) {
+  mpz_setbit(vec, k);
+}
 
-  //! Builds the linear expression corresponding to congruence \p cg.
-  /*!
-    Given the congruence
-    \f$cg = \bigl(\sum_{i=0}^{n-1} a_i x_i + b = 0 \pmod{m}\bigr)\f$,
-    this builds the linear expression \f$\sum_{i=0}^{n-1} a_i x_i + b\f$.
-  */
-  explicit Linear_Expression(const Congruence& cg);
+inline void
+Bit_Row::clear(const unsigned long k) {
+  mpz_clrbit(vec, k);
+}
 
-  //! Returns the maximum space dimension a Linear_Expression can handle.
-  static dimension_type max_space_dimension();
+inline void
+Bit_Row::clear_from(const unsigned long k) {
+  mpz_tdiv_r_2exp(vec, vec, k);
+}
 
-  //! Returns the dimension of the vector space enclosing \p *this.
-  dimension_type space_dimension() const;
+inline unsigned long
+Bit_Row::count_ones() const {
+  mp_size_t x_size = vec->_mp_size;
+  PPL_ASSERT(x_size >= 0);
+  return x_size == 0 ? 0 : mpn_popcount(vec->_mp_d, x_size);
+}
 
-  //! Returns the coefficient of \p v in \p *this.
-  Coefficient_traits::const_reference coefficient(Variable v) const;
+inline bool
+Bit_Row::empty() const {
+  return mpz_sgn(vec) == 0;
+}
 
-  //! Returns the inhomogeneous term of \p *this.
-  Coefficient_traits::const_reference inhomogeneous_term() const;
+inline void
+Bit_Row::swap(Bit_Row& y) {
+  mpz_swap(vec, y.vec);
+}
 
-  //! Initializes the class.
-  static void initialize();
+inline void
+Bit_Row::clear() {
+  mpz_set_ui(vec, 0UL);
+}
 
-  //! Finalizes the class.
-  static void finalize();
+inline memory_size_type
+Bit_Row::external_memory_in_bytes() const {
+  return vec[0]._mp_alloc * PPL_SIZEOF_MP_LIMB_T;
+}
 
-  //! Returns the (zero-dimension space) constant 0.
-  static const Linear_Expression& zero();
+inline memory_size_type
+Bit_Row::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
 
-  /*! \brief
-    Returns a lower bound to the total size in bytes of the memory
-    occupied by \p *this.
-  */
-  memory_size_type total_memory_in_bytes() const;
+/*! \relates Bit_Row */
+inline void
+set_union(const Bit_Row& x, const Bit_Row& y, Bit_Row& z) {
+  const mp_size_t x_size = x.vec->_mp_size;
+  PPL_ASSERT(x_size >= 0);
+  const mp_size_t y_size = y.vec->_mp_size;
+  PPL_ASSERT(y_size >= 0);
+  if (x_size < y_size) {
+    PPL_ASSERT(static_cast<unsigned long>(y_size)
+           <= ULONG_MAX / PPL_BITS_PER_GMP_LIMB);
+    mpz_realloc2(z.vec, y_size * PPL_BITS_PER_GMP_LIMB);
+    z.union_helper(x, y);
+  }
+  else {
+    PPL_ASSERT(static_cast<unsigned long>(x_size)
+           <= ULONG_MAX / PPL_BITS_PER_GMP_LIMB);
+    mpz_realloc2(z.vec, x_size * PPL_BITS_PER_GMP_LIMB);
+    z.union_helper(y, x);
+  }
+}
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+/*! \relates Bit_Row */
+inline void
+set_intersection(const Bit_Row& x, const Bit_Row& y, Bit_Row& z) {
+  mpz_and(z.vec, x.vec, y.vec);
+}
 
-  PPL_OUTPUT_DECLARATIONS
+/*! \relates Bit_Row */
+inline void
+set_difference(const Bit_Row& x, const Bit_Row& y, Bit_Row& z) {
+  PPL_DIRTY_TEMP0(mpz_class, complement_y);
+  mpz_com(complement_y.get_mpz_t(), y.vec);
+  mpz_and(z.vec, x.vec, complement_y.get_mpz_t());
+}
 
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-  */
-  bool ascii_load(std::istream& s);
+namespace Implementation {
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+#if defined(__GNUC__)
 
-  //! Swaps \p *this with \p y.
-  void swap(Linear_Expression& y);
+/*! \brief
+  Assuming \p u is nonzero, returns the index of the first set bit in \p u.
+*/
+inline unsigned int
+first_one(unsigned int u) {
+  PPL_ASSERT(u != 0);
+  return __builtin_ctz(u);
+}
 
-private:
-  /*! \brief
-    Holds (between class initialization and finalization) a pointer to
-    the (zero-dimension space) constant 0.
-  */
-  static const Linear_Expression* zero_p;
+/*! \brief
+  Assuming \p ul is nonzero, returns the index of the first set bit in
+  \p ul.
+*/
+inline unsigned int
+first_one(unsigned long ul) {
+  PPL_ASSERT(ul != 0);
+  return __builtin_ctzl(ul);
+}
 
-  friend class Parma_Polyhedra_Library::Scalar_Products;
-  friend class Parma_Polyhedra_Library::Constraint;
-  friend class Parma_Polyhedra_Library::Generator;
-  // The following declaration grants access to Grid_Generator::parameter.
-  friend class Parma_Polyhedra_Library::Grid_Generator;
-  friend class Parma_Polyhedra_Library::Congruence;
-  // FIXME: the following friend declaration should be avoided.
-  friend class Parma_Polyhedra_Library::Polyhedron;
-  friend class Parma_Polyhedra_Library::Grid;
+/*! \brief
+  Assuming \p ull is nonzero, returns the index of the first set bit in
+  \p ull.
+*/
+inline unsigned int
+first_one(unsigned long long ull) {
+  PPL_ASSERT(ull != 0);
+  return __builtin_ctzll(ull);
+}
 
-  // FIXME: the following friend declaration is only to grant access to
-  // Constraint_System::affine_preimage().
-  friend class Parma_Polyhedra_Library::Constraint_System;
+#elif PPL_HAVE_DECL_FFS && PPL_SIZEOF_MP_LIMB_T == PPL_SIZEOF_INT
 
-  // FIXME: the following friend declaration is only to grant access to
-  // Generator_System::affine_image().
-  friend class Parma_Polyhedra_Library::Generator_System;
+/*! \brief
+  Assuming \p w is nonzero, returns the index of the first set bit in \p w.
+*/
+inline unsigned int
+first_one(mp_limb_t w) {
+  return ffs(w)-1;
+}
 
-  // FIXME: the following friend declaration is only to grant access to
-  // Congruence_System::affine_preimage().
-  friend class Parma_Polyhedra_Library::Congruence_System;
+#else
 
-  // FIXME: the following friend declaration is only to grant access to
-  // Grid_Generator_System::affine_image().
-  friend class Parma_Polyhedra_Library::Grid_Generator_System;
+/*! \brief
+  Assuming \p w is nonzero, returns the index of the first set bit in \p w.
+*/
+inline unsigned int
+first_one(mp_limb_t w) {
+  unsigned int r = 0;
+  w = w & -w;
+#if PPL_SIZEOF_MP_LIMB_T == 8
+  if ((w & 0xffffffff) == 0) {
+    w >>= 32;
+    r += 32;
+  }
+#elif PPL_SIZEOF_MP_LIMB_T != 4
+#error "size of mp_limb_t not supported by first_one(mp_limb_t w)."
+#endif
+  if ((w & 0xffff) == 0) {
+    w >>= 16;
+    r += 16;
+  }
+  if ((w & 0xff) == 0) {
+    w >>= 8;
+    r += 8;
+  }
+  if (w & 0xf0)
+    r += 4;
+  if (w & 0xcc)
+    r += 2;
+  if (w & 0xaa)
+    r += 1;
+  return r;
+}
+#endif // !defined(__GNUC__)
+       // && (!PPL_HAVE_DECL_FFS || PPL_SIZEOF_MP_LIMB_T != PPL_SIZEOF_INT)
 
-  //! Copy-constructor with a specified space dimension.
-  Linear_Expression(const Linear_Expression& e, dimension_type sz);
+#if defined(__GNUC__)
 
-  //! Implementation sizing constructor.
-  /*!
-    The bool parameter is just to avoid problems with
-    the constructor Linear_Expression(Coefficient_traits::const_reference n).
-  */
-  Linear_Expression(dimension_type sz, bool);
+/*! \brief
+  Assuming \p u is nonzero, returns the index of the last set bit in \p u.
+*/
+inline unsigned int
+last_one(unsigned int u) {
+  PPL_ASSERT(u != 0);
+  return sizeof(unsigned int)*CHAR_BIT - 1 - __builtin_clz(u);
+}
 
-  /*! \brief
-    Builds the linear expression corresponding to the difference of
-    \p v and \p w.
+/*! \brief
+  Assuming \p ul is nonzero, returns the index of the last set bit in
+  \p ul.
+*/
+inline unsigned int
+last_one(unsigned long ul) {
+  PPL_ASSERT(ul != 0);
+  return sizeof(unsigned long)*CHAR_BIT - 1 - __builtin_clzl(ul);
+}
 
-    \exception std::length_error
-    Thrown if the space dimension of \p v or the one of \p w exceed
-    <CODE>Linear_Expression::max_space_dimension()</CODE>.
-  */
-  Linear_Expression(Variable v, Variable w);
+/*! \brief
+  Assuming \p ull is nonzero, returns the index of the last set bit in
+  \p ull.
+*/
+inline unsigned int
+last_one(unsigned long long ull) {
+  PPL_ASSERT(ull != 0);
+  return sizeof(unsigned long long)*CHAR_BIT - 1 - __builtin_clzll(ull);
+}
 
-  friend Linear_Expression
-  operator+(const Linear_Expression& e1, const Linear_Expression& e2);
-  friend Linear_Expression
-  operator+(Coefficient_traits::const_reference n, const Linear_Expression& e);
-  friend Linear_Expression
-  operator+(const Linear_Expression& e, Coefficient_traits::const_reference n);
-  friend Linear_Expression
-  operator+(Variable v, const Linear_Expression& e);
-  friend Linear_Expression
-  operator+(Variable v, Variable w);
+#else // !defined(__GNUC__)
 
-  friend Linear_Expression
-  operator-(const Linear_Expression& e);
+/*! \brief
+  Assuming \p w is nonzero, returns the index of the last set bit in \p w.
+*/
+inline unsigned int
+last_one(mp_limb_t w) {
+  PPL_ASSERT(w != 0);
+  unsigned int r = 0;
+#if PPL_SIZEOF_MP_LIMB_T == 8
+  if (w &
+#if PPL_SIZEOF_LONG == 8
+      0xffffffff00000000
+#else
+      0xffffffff00000000LL
+#endif
+      ) {
+    w >>= 32;
+    r += 32;
+  }
+#elif PPL_SIZEOF_MP_LIMB_T != 4
+#error "size of mp_limb_t not supported by last_one(mp_limb_t w)."
+#endif
+  if (w & 0xffff0000) {
+    w >>= 16;
+    r += 16;
+  }
+  if (w & 0xff00) {
+    w >>= 8;
+    r += 8;
+  }
+  if (w & 0xf0) {
+    w >>= 4;
+    r += 4;
+  }
+  if (w & 0xc) {
+    w >>= 2;
+    r += 2;
+  }
+  if (w & 0x2)
+    r += 1;
+  return r;
+}
 
-  friend Linear_Expression
-  operator-(const Linear_Expression& e1, const Linear_Expression& e2);
-  friend Linear_Expression
-  operator-(Variable v, Variable w);
-  friend Linear_Expression
-  operator-(Coefficient_traits::const_reference n, const Linear_Expression& e);
-  friend Linear_Expression
-  operator-(const Linear_Expression& e, Coefficient_traits::const_reference n);
-  friend Linear_Expression
-  operator-(Variable v, const Linear_Expression& e);
-  friend Linear_Expression
-  operator-(const Linear_Expression& e, Variable v);
+#endif // !defined(__GNUC__)
 
-  friend Linear_Expression
-  operator*(Coefficient_traits::const_reference n, const Linear_Expression& e);
-  friend Linear_Expression
-  operator*(const Linear_Expression& e, Coefficient_traits::const_reference n);
+} // namespace Implementation
 
-  friend Linear_Expression&
-  operator+=(Linear_Expression& e1, const Linear_Expression& e2);
-  friend Linear_Expression&
-  operator+=(Linear_Expression& e, Variable v);
-  friend Linear_Expression&
-  operator+=(Linear_Expression& e, Coefficient_traits::const_reference n);
+} // namespace Parma_Polyhedra_Library
 
-  friend Linear_Expression&
-  operator-=(Linear_Expression& e1, const Linear_Expression& e2);
-  friend Linear_Expression&
-  operator-=(Linear_Expression& e, Variable v);
-  friend Linear_Expression&
-  operator-=(Linear_Expression& e, Coefficient_traits::const_reference n);
 
-  friend Linear_Expression&
-  operator*=(Linear_Expression& e, Coefficient_traits::const_reference n);
+namespace std {
 
-  friend std::ostream&
-  Parma_Polyhedra_Library::IO_Operators
-  ::operator<<(std::ostream& s, const Linear_Expression& e);
-};
+/*! \relates Parma_Polyhedra_Library::Bit_Row */
+inline void
+swap(Parma_Polyhedra_Library::Bit_Row& x,
+     Parma_Polyhedra_Library::Bit_Row& y) {
+  x.swap(y);
+}
 
-/* Automatically generated from PPL source file ../src/Linear_Expression.inlines.hh line 1. */
-/* Linear_Expression class implementation: inline functions.
-*/
+/*! \relates Parma_Polyhedra_Library::Bit_Row */
+inline void
+iter_swap(std::vector<Parma_Polyhedra_Library::Bit_Row>::iterator x,
+	  std::vector<Parma_Polyhedra_Library::Bit_Row>::iterator y) {
+  swap(*x, *y);
+}
+
+} // namespace std
 
+/* Automatically generated from PPL source file ../src/Bit_Row.defs.hh line 228. */
 
-/* Automatically generated from PPL source file ../src/Linear_Expression.inlines.hh line 28. */
-#include <stdexcept>
+/* Automatically generated from PPL source file ../src/Linear_System.inlines.hh line 27. */
 
 namespace Parma_Polyhedra_Library {
 
-inline dimension_type
-Linear_Expression::max_space_dimension() {
-  return Linear_Row::max_space_dimension();
+inline memory_size_type
+Linear_System::external_memory_in_bytes() const {
+  return Matrix::external_memory_in_bytes();
 }
 
-inline
-Linear_Expression::Linear_Expression()
-  : Linear_Row(1, Linear_Row::Flags()) {
+inline memory_size_type
+Linear_System::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
 }
 
-inline
-Linear_Expression::Linear_Expression(dimension_type sz, bool)
-  : Linear_Row(sz, Linear_Row::Flags()) {
+inline bool
+Linear_System::is_sorted() const {
+  // The flag `sorted' does not really reflect the sortedness status
+  // of a system (if `sorted' evaluates to `false' nothing is known).
+  // This assertion is used to ensure that the system
+  // is actually sorted when `sorted' value is 'true'.
+  PPL_ASSERT(!sorted || check_sorted());
+  return sorted;
 }
 
-inline
-Linear_Expression::Linear_Expression(const Linear_Expression& e)
-  : Linear_Row(e) {
+inline void
+Linear_System::set_sorted(const bool b) {
+  sorted = b;
 }
 
 inline
-Linear_Expression::~Linear_Expression() {
+Linear_System::Linear_System(Topology topol)
+  : Matrix(),
+    row_topology(topol),
+    index_first_pending(0),
+    sorted(true) {
 }
 
 inline
-Linear_Expression::Linear_Expression(const Linear_Expression& e,
-				     dimension_type sz)
-  : Linear_Row(e, sz, sz) {
+Linear_System::Linear_System(Topology topol,
+			     dimension_type n_rows, dimension_type n_columns)
+  : Matrix(n_rows, n_columns, Linear_Row::Flags(topol)),
+    row_topology(topol),
+    index_first_pending(n_rows),
+    sorted(true) {
 }
 
-inline
-Linear_Expression::Linear_Expression(Coefficient_traits::const_reference n)
-  : Linear_Row(1, Linear_Row::Flags()) {
-  (*this)[0] = n;
+inline dimension_type
+Linear_System::first_pending_row() const {
+  return index_first_pending;
 }
 
 inline dimension_type
-Linear_Expression::space_dimension() const {
-  return size() - 1;
+Linear_System::num_pending_rows() const {
+  PPL_ASSERT(num_rows() >= first_pending_row());
+  return num_rows() - first_pending_row();
 }
 
-inline Coefficient_traits::const_reference
-Linear_Expression::coefficient(Variable v) const {
-  if (v.space_dimension() > space_dimension())
-    return Coefficient_zero();
-  return Linear_Row::coefficient(v.id());
+inline void
+Linear_System::unset_pending_rows() {
+  index_first_pending = num_rows();
 }
 
-inline Coefficient_traits::const_reference
-Linear_Expression::inhomogeneous_term() const {
-  return Linear_Row::inhomogeneous_term();
+inline void
+Linear_System::set_index_first_pending_row(const dimension_type i) {
+  index_first_pending = i;
 }
 
-inline const Linear_Expression&
-Linear_Expression::zero() {
-  assert(zero_p != 0);
-  return *zero_p;
+inline
+Linear_System::Linear_System(const Linear_System& y)
+  : Matrix(y),
+    row_topology(y.row_topology) {
+  unset_pending_rows();
+  // Previously pending rows may violate sortedness.
+  sorted = (y.num_pending_rows() > 0) ? false : y.sorted;
+  PPL_ASSERT(num_pending_rows() == 0);
 }
 
-inline memory_size_type
-Linear_Expression::external_memory_in_bytes() const {
-  return Linear_Row::external_memory_in_bytes();
+inline
+Linear_System::Linear_System(const Linear_System& y, With_Pending)
+  : Matrix(y),
+    row_topology(y.row_topology),
+    index_first_pending(y.index_first_pending),
+    sorted(y.sorted) {
 }
 
-inline memory_size_type
-Linear_Expression::total_memory_in_bytes() const {
-  return Linear_Row::total_memory_in_bytes();
+inline Linear_System&
+Linear_System::operator=(const Linear_System& y) {
+  Matrix::operator=(y);
+  row_topology = y.row_topology;
+  unset_pending_rows();
+  // Previously pending rows may violate sortedness.
+  sorted = (y.num_pending_rows() > 0) ? false : y.sorted;
+  PPL_ASSERT(num_pending_rows() == 0);
+  return *this;
 }
 
-/*! \relates Linear_Expression */
-inline Linear_Expression
-operator+(const Linear_Expression& e) {
-  return e;
+inline void
+Linear_System::assign_with_pending(const Linear_System& y) {
+  Matrix::operator=(y);
+  row_topology = y.row_topology;
+  index_first_pending = y.index_first_pending;
+  sorted = y.sorted;
 }
 
-/*! \relates Linear_Expression */
-inline Linear_Expression
-operator+(const Linear_Expression& e, Coefficient_traits::const_reference n) {
-  return n + e;
+inline void
+Linear_System::swap(Linear_System& y) {
+  Matrix::swap(y);
+  std::swap(row_topology, y.row_topology);
+  std::swap(index_first_pending, y.index_first_pending);
+  std::swap(sorted, y.sorted);
 }
 
-/*! \relates Linear_Expression */
-inline Linear_Expression
-operator+(const Linear_Expression& e, const Variable v) {
-  return v + e;
+inline void
+Linear_System::clear() {
+  // Note: do NOT modify the value of `row_topology'.
+  Matrix::clear();
+  index_first_pending = 0;
+  sorted = true;
 }
 
-/*! \relates Linear_Expression */
-inline Linear_Expression
-operator-(const Linear_Expression& e, Coefficient_traits::const_reference n) {
-  return -n + e;
+inline void
+Linear_System::resize_no_copy(const dimension_type new_n_rows,
+			      const dimension_type new_n_columns) {
+  Matrix::resize_no_copy(new_n_rows, new_n_columns,
+			 Linear_Row::Flags(row_topology));
+  // Even though `*this' may happen to keep its sortedness, we believe
+  // that checking such a property is not worth the effort.  In fact,
+  // it is very likely that the system will be overwritten as soon as
+  // we return.
+  set_sorted(false);
 }
 
-/*! \relates Linear_Expression */
-inline Linear_Expression
-operator-(const Variable v, const Variable w) {
-  return Linear_Expression(v, w);
+inline void
+Linear_System::set_necessarily_closed() {
+  row_topology = NECESSARILY_CLOSED;
+  if (!has_no_rows())
+    set_rows_topology();
 }
 
-/*! \relates Linear_Expression */
-inline Linear_Expression
-operator*(const Linear_Expression& e, Coefficient_traits::const_reference n) {
-  return n * e;
+inline void
+Linear_System::set_not_necessarily_closed() {
+  row_topology = NOT_NECESSARILY_CLOSED;
+  if (!has_no_rows())
+    set_rows_topology();
 }
 
-/*! \relates Linear_Expression */
-inline Linear_Expression&
-operator+=(Linear_Expression& e, Coefficient_traits::const_reference n) {
-  e[0] += n;
-  return e;
+inline bool
+Linear_System::is_necessarily_closed() const {
+  return row_topology == NECESSARILY_CLOSED;
 }
 
-/*! \relates Linear_Expression */
-inline Linear_Expression&
-operator-=(Linear_Expression& e, Coefficient_traits::const_reference n) {
-  e[0] -= n;
-  return e;
+inline Linear_Row&
+Linear_System::operator[](const dimension_type k) {
+  return static_cast<Linear_Row&>(Matrix::operator[](k));
+}
+
+inline const Linear_Row&
+Linear_System::operator[](const dimension_type k) const {
+  return static_cast<const Linear_Row&>(Matrix::operator[](k));
+}
+
+inline Topology
+Linear_System::topology() const {
+  return row_topology;
+}
+
+inline dimension_type
+Linear_System::max_space_dimension() {
+  // Column zero holds the inhomogeneous term or the divisor.
+  // In NNC linear systems, the last column holds the coefficient
+  // of the epsilon dimension.
+  return max_num_columns() - 2;
+}
+
+inline dimension_type
+Linear_System::space_dimension() const {
+  const dimension_type n_columns = num_columns();
+  return (n_columns == 0)
+    ? 0
+    : n_columns - (is_necessarily_closed() ? 1 : 2);
 }
 
 inline void
-Linear_Expression::swap(Linear_Expression& y) {
-  Linear_Row::swap(y);
+Linear_System::remove_trailing_columns(const dimension_type n) {
+  Matrix::remove_trailing_columns(n);
+  // Have to re-normalize the rows of the system,
+  // since we removed some coefficients.
+  strong_normalize();
 }
 
 inline void
-Linear_Expression::ascii_dump(std::ostream& s) const {
-  Linear_Row::ascii_dump(s);
+Linear_System::permute_columns(const std::vector<dimension_type>& cycles) {
+  Matrix::permute_columns(cycles);
+  // The rows with permuted columns are still normalized but may
+  // be not strongly normalized: sign normalization is necessary.
+  sign_normalize();
 }
 
+/*! \relates Linear_System */
 inline bool
-Linear_Expression::ascii_load(std::istream& s) {
-  return Linear_Row::ascii_load(s);
+operator!=(const Linear_System& x, const Linear_System& y) {
+  return !(x == y);
 }
 
-} // namespace Parma_Polyhedra_Library
+inline bool
+Linear_System::Row_Less_Than::operator()(const Row& x, const Row& y) const {
+  return compare(static_cast<const Linear_Row&>(x),
+		 static_cast<const Linear_Row&>(y)) < 0;
+}
 
+} // namespace Parma_Polyhedra_Library
 
 namespace std {
 
-/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+/*! \relates Parma_Polyhedra_Library::Linear_System */
 inline void
-swap(Parma_Polyhedra_Library::Linear_Expression& x,
-     Parma_Polyhedra_Library::Linear_Expression& y) {
+swap(Parma_Polyhedra_Library::Linear_System& x,
+     Parma_Polyhedra_Library::Linear_System& y) {
   x.swap(y);
 }
 
 } // namespace std
 
-/* Automatically generated from PPL source file ../src/Linear_Expression.defs.hh line 460. */
 
-/* Automatically generated from PPL source file ../src/Constraint.defs.hh line 1. */
-/* Constraint class declaration.
-*/
+namespace Parma_Polyhedra_Library {
 
+inline
+Linear_System::With_Bit_Matrix_iterator::
+With_Bit_Matrix_iterator(Iter1 iter1, Iter2 iter2)
+  : i1(iter1), i2(iter2) {
+}
 
-/* Automatically generated from PPL source file ../src/Constraint_System.defs.hh line 1. */
-/* Constraint_System class declaration.
-*/
+inline
+Linear_System::With_Bit_Matrix_iterator::
+With_Bit_Matrix_iterator(const With_Bit_Matrix_iterator& y)
+  : i1(y.i1), i2(y.i2) {
+}
 
+inline
+Linear_System::With_Bit_Matrix_iterator::
+~With_Bit_Matrix_iterator() {
+}
 
-/* Automatically generated from PPL source file ../src/Linear_System.defs.hh line 1. */
-/* Linear_System class declaration.
-*/
+inline Linear_System::With_Bit_Matrix_iterator&
+Linear_System::With_Bit_Matrix_iterator::
+operator=(const With_Bit_Matrix_iterator& y) {
+  i1 = y.i1;
+  i2 = y.i2;
+  return *this;
+}
+
+inline Linear_System::With_Bit_Matrix_iterator&
+Linear_System::With_Bit_Matrix_iterator::operator++() {
+  ++i1;
+  ++i2;
+  return *this;
+}
+
+inline Linear_System::With_Bit_Matrix_iterator
+Linear_System::With_Bit_Matrix_iterator::operator++(int) {
+  With_Bit_Matrix_iterator tmp = *this;
+  operator++();
+  return tmp;
+}
+
+inline Linear_System::With_Bit_Matrix_iterator&
+Linear_System::With_Bit_Matrix_iterator::operator--() {
+  --i1;
+  --i2;
+  return *this;
+}
+
+inline Linear_System::With_Bit_Matrix_iterator
+Linear_System::With_Bit_Matrix_iterator::operator--(int) {
+  With_Bit_Matrix_iterator tmp = *this;
+  operator--();
+  return tmp;
+}
+
+inline Linear_System::With_Bit_Matrix_iterator&
+Linear_System::With_Bit_Matrix_iterator::operator+=(difference_type d) {
+  i1 += d;
+  i2 += d;
+  return *this;
+}
+
+inline Linear_System::With_Bit_Matrix_iterator
+Linear_System::With_Bit_Matrix_iterator::
+operator+(difference_type d) const {
+  With_Bit_Matrix_iterator tmp = *this;
+  tmp += d;
+  return tmp;
+}
+
+inline Linear_System::With_Bit_Matrix_iterator&
+Linear_System::With_Bit_Matrix_iterator::operator-=(difference_type d) {
+  i1 -= d;
+  i2 -= d;
+  return *this;
+}
+
+inline Linear_System::With_Bit_Matrix_iterator
+Linear_System::With_Bit_Matrix_iterator::
+operator-(difference_type d) const {
+  With_Bit_Matrix_iterator tmp = *this;
+  tmp -= d;
+  return tmp;
+}
+
+inline Linear_System::With_Bit_Matrix_iterator::difference_type
+Linear_System::With_Bit_Matrix_iterator::
+operator-(const With_Bit_Matrix_iterator& y) const {
+  return i1 - y.i1;
+}
+
+inline bool
+Linear_System::With_Bit_Matrix_iterator::
+operator==(const With_Bit_Matrix_iterator& y) const {
+  return i1 == y.i1;
+}
+
+inline bool
+Linear_System::With_Bit_Matrix_iterator::
+operator!=(const With_Bit_Matrix_iterator& y) const {
+  return i1 != y.i1;
+}
+
+inline bool
+Linear_System::With_Bit_Matrix_iterator::
+operator<(const With_Bit_Matrix_iterator& y) const {
+  return i1 < y.i1;
+}
+
+inline Linear_System::With_Bit_Matrix_iterator::reference
+Linear_System::With_Bit_Matrix_iterator::operator*() const {
+  return *i1;
+}
+
+inline Linear_System::With_Bit_Matrix_iterator::pointer
+Linear_System::With_Bit_Matrix_iterator::operator->() const {
+  return &*i1;
+}
+
+inline void
+Linear_System::With_Bit_Matrix_iterator::
+iter_swap(const With_Bit_Matrix_iterator& y) const {
+  std::iter_swap(i1, y.i1);
+  std::iter_swap(i2, y.i2);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+namespace std {
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates Parma_Polyhedra_Library::Linear_System::With_Bit_Matrix_iterator */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+inline void
+iter_swap(Parma_Polyhedra_Library
+	  ::Linear_System::With_Bit_Matrix_iterator x,
+	  Parma_Polyhedra_Library
+	  ::Linear_System::With_Bit_Matrix_iterator y) {
+  x.iter_swap(y);
+}
 
+} // namespace std
 
-/* Automatically generated from PPL source file ../src/Linear_System.types.hh line 1. */
+/* Automatically generated from PPL source file ../src/Linear_System.defs.hh line 515. */
 
+/* Automatically generated from PPL source file ../src/Constraint_System.defs.hh line 33. */
+#include <iterator>
+#include <iosfwd>
 
 namespace Parma_Polyhedra_Library {
 
-class Linear_System;
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/Bit_Row.types.hh line 1. */
+namespace IO_Operators {
 
+//! Output operator.
+/*!
+  \relates Parma_Polyhedra_Library::Constraint_System
+  Writes <CODE>true</CODE> if \p cs is empty.  Otherwise, writes on
+  \p s the constraints of \p cs, all in one row and separated by ", ".
+*/
+std::ostream& operator<<(std::ostream& s, const Constraint_System& cs);
 
-namespace Parma_Polyhedra_Library {
+} // namespace IO_Operators
 
-class Bit_Row;
+// Put it in the namespace here to declare it friend later.
+/*! \relates Polyhedron */
+bool operator==(const Polyhedron& x, const Polyhedron& y);
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Bit_Matrix.types.hh line 1. */
 
+namespace std {
 
-namespace Parma_Polyhedra_Library {
+//! Specializes <CODE>std::swap</CODE>.
+/*! \relates Parma_Polyhedra_Library::Constraint_System */
+void swap(Parma_Polyhedra_Library::Constraint_System& x,
+	  Parma_Polyhedra_Library::Constraint_System& y);
 
-class Bit_Matrix;
+} // namespace std
 
-} // namespace Parma_Polyhedra_Library
+//! A system of constraints.
+/*! \ingroup PPL_CXX_interface
+    An object of the class Constraint_System is a system of constraints,
+    i.e., a multiset of objects of the class Constraint.
+    When inserting constraints in a system, space dimensions are
+    automatically adjusted so that all the constraints in the system
+    are defined on the same vector space.
 
-/* Automatically generated from PPL source file ../src/Matrix.defs.hh line 1. */
-/* Matrix class declaration.
-*/
+    \par
+    In all the examples it is assumed that variables
+    <CODE>x</CODE> and <CODE>y</CODE> are defined as follows:
+    \code
+  Variable x(0);
+  Variable y(1);
+    \endcode
 
+    \par Example 1
+    The following code builds a system of constraints corresponding to
+    a square in \f$\Rset^2\f$:
+    \code
+  Constraint_System cs;
+  cs.insert(x >= 0);
+  cs.insert(x <= 3);
+  cs.insert(y >= 0);
+  cs.insert(y <= 3);
+    \endcode
+    Note that:
+    the constraint system is created with space dimension zero;
+    the first and third constraint insertions increase the space
+    dimension to \f$1\f$ and \f$2\f$, respectively.
 
-/* Automatically generated from PPL source file ../src/Matrix.types.hh line 1. */
+    \par Example 2
+    By adding four strict inequalities to the constraint system
+    of the previous example, we can remove just the four
+    vertices from the square defined above.
+    \code
+  cs.insert(x + y > 0);
+  cs.insert(x + y < 6);
+  cs.insert(x - y < 3);
+  cs.insert(y - x < 3);
+    \endcode
 
+    \par Example 3
+    The following code builds a system of constraints corresponding to
+    a half-strip in \f$\Rset^2\f$:
+    \code
+  Constraint_System cs;
+  cs.insert(x >= 0);
+  cs.insert(x - y <= 0);
+  cs.insert(x - y + 1 >= 0);
+    \endcode
 
-namespace Parma_Polyhedra_Library {
+    \note
+    After inserting a multiset of constraints in a constraint system,
+    there are no guarantees that an <EM>exact</EM> copy of them
+    can be retrieved:
+    in general, only an <EM>equivalent</EM> constraint system
+    will be available, where original constraints may have been
+    reordered, removed (if they are trivial, duplicate or
+    implied by other constraints), linearly combined, etc.
+*/
+class Parma_Polyhedra_Library::Constraint_System : private Linear_System {
+public:
+  //! Default constructor: builds an empty system of constraints.
+  Constraint_System();
 
-class Matrix;
+  //! Builds the singleton system containing only constraint \p c.
+  explicit Constraint_System(const Constraint& c);
 
-} // namespace Parma_Polyhedra_Library
+  //! Builds a system containing copies of any equalities in \p cgs.
+  explicit Constraint_System(const Congruence_System& cgs);
 
-/* Automatically generated from PPL source file ../src/Matrix.defs.hh line 31. */
-#include <vector>
-#include <cstddef>
+  //! Ordinary copy constructor.
+  Constraint_System(const Constraint_System& cs);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! A 2-dimensional matrix of coefficients.
-/*! \ingroup PPL_CXX_interface
-  A Matrix object is a sequence of Row objects and is characterized
-  by the matrix dimensions (the number of rows and columns).
-  All the rows in a matrix, besides having the same size (corresponding
-  to the number of columns of the matrix), are also bound to have the
-  same capacity.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  //! Destructor.
+  ~Constraint_System();
 
-class Parma_Polyhedra_Library::Matrix {
-public:
-  //! Returns the maximum number of rows of a Matrix.
-  static dimension_type max_num_rows();
+  //! Assignment operator.
+  Constraint_System& operator=(const Constraint_System& y);
 
-  //! Returns the maximum number of columns of a Matrix.
-  static dimension_type max_num_columns();
+  //! Returns the maximum space dimension a Constraint_System can handle.
+  static dimension_type max_space_dimension();
 
-  //! Builds an empty matrix.
-  /*!
-    Rows' size and capacity are initialized to \f$0\f$.
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this
+    contains one or more equality constraints.
   */
-  Matrix();
+  bool has_equalities() const;
 
-  //! Builds a zero matrix with specified dimensions and flags.
-  /*!
-    \param n_rows
-    The number of rows of the matrix that will be created;
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this
+    contains one or more strict inequality constraints.
+  */
+  bool has_strict_inequalities() const;
 
-    \param n_columns
-    The number of columns of the matrix that will be created.
+  /*! \brief
+    Removes all the constraints from the constraint system
+    and sets its space dimension to 0.
+  */
+  void clear();
 
-    \param row_flags
-    The flags used to build the rows of the matrix;
-    by default, the rows will have all flags unset.
+  /*! \brief
+    Inserts in \p *this a copy of the constraint \p c,
+    increasing the number of space dimensions if needed.
   */
-  Matrix(dimension_type n_rows, dimension_type n_columns,
-	 Row::Flags row_flags = Row::Flags());
+  void insert(const Constraint& c);
 
-  //! Copy-constructor.
-  Matrix(const Matrix& y);
+  //! Initializes the class.
+  static void initialize();
 
-  //! Destructor.
-  ~Matrix();
+  //! Finalizes the class.
+  static void finalize();
 
-  //! Assignment operator.
-  Matrix& operator=(const Matrix& y);
+  /*! \brief
+    Returns the singleton system containing only Constraint::zero_dim_false().
+  */
+  static const Constraint_System& zero_dim_empty();
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  //! An iterator over a matrix.
+  //! An iterator over a system of constraints.
   /*! \ingroup PPL_CXX_interface
     A const_iterator is used to provide read-only access
-    to each row contained in a Matrix object.
-  */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-  class const_iterator {
-  private:
-    typedef std::vector<Row>::const_iterator Iter;
-    //! The const iterator on the rows' vector \p rows.
-    Iter i;
+    to each constraint contained in a Constraint_System object.
 
+    \par Example
+    The following code prints the system of constraints
+    defining the polyhedron <CODE>ph</CODE>:
+    \code
+  const Constraint_System& cs = ph.constraints();
+  for (Constraint_System::const_iterator i = cs.begin(),
+         cs_end = cs.end(); i != cs_end; ++i)
+    cout << *i << endl;
+    \endcode
+  */
+  class const_iterator
+    : public std::iterator<std::forward_iterator_tag,
+			   Constraint,
+			   ptrdiff_t,
+			   const Constraint*,
+			   const Constraint&> {
   public:
-    typedef std::forward_iterator_tag iterator_category;
-    typedef std::iterator_traits<Iter>::value_type value_type;
-    typedef std::iterator_traits<Iter>::difference_type difference_type;
-    typedef std::iterator_traits<Iter>::pointer pointer;
-    typedef std::iterator_traits<Iter>::reference reference;
-
     //! Default constructor.
     const_iterator();
 
-    /*! \brief
-      Builds a const iterator on the matrix starting from
-      an iterator \p b on the elements of the vector \p rows.
-    */
-    explicit const_iterator(const Iter& b);
-
-    //! Ordinary copy-constructor.
+    //! Ordinary copy constructor.
     const_iterator(const const_iterator& y);
 
+    //! Destructor.
+    ~const_iterator();
+
     //! Assignment operator.
     const_iterator& operator=(const const_iterator& y);
 
     //! Dereference operator.
-    reference operator*() const;
+    const Constraint& operator*() const;
 
     //! Indirect member selector.
-    pointer operator->() const;
+    const Constraint* operator->() const;
 
     //! Prefix increment operator.
     const_iterator& operator++();
@@ -15130,176 +18488,45 @@ public:
       \p *this and \p y are different.
     */
     bool operator!=(const const_iterator& y) const;
-  };
-
-  //! Returns <CODE>true</CODE> if and only if \p *this has no rows.
-  /*!
-    \note
-    The unusual naming for this method is \em intentional:
-    we do not want it to be named \c empty because this would cause
-    an error prone name clash with the corresponding methods in derived
-    classes Constraint_System and Congruence_System (which have a
-    different semantics).
-  */
-  bool has_no_rows() const;
-
-  /*! \brief
-    Returns the const_iterator pointing to the first row, if \p *this is
-    not empty; otherwise, returns the past-the-end const_iterator.
-  */
-  const_iterator begin() const;
-
-  //! Returns the past-the-end const_iterator.
-  const_iterator end() const;
-
-  // FIXME: the following section must become private.
-protected:
-  //! Contains the rows of the matrix.
-  std::vector<Row> rows;
 
-  //! Size of the initialized part of each row.
-  dimension_type row_size;
-
-  //! Capacity allocated for each row.
-  dimension_type row_capacity;
-
-public:
-  //! Swaps \p *this with \p y.
-  void swap(Matrix& y);
-
-  //! Adds to the matrix \p n rows of zeroes with flags set to \p row_flags.
-  /*!
-    \param n
-    The number of rows to be added: must be strictly positive.
-
-    \param row_flags
-    Flags for the newly added rows.
-
-    Turns the \f$r \times c\f$ matrix \f$M\f$ into
-    the \f$(r+n) \times c\f$ matrix \f$\genfrac{(}{)}{0pt}{}{M}{0}\f$.
-    The matrix is expanded avoiding reallocation whenever possible.
-  */
-  void add_zero_rows(dimension_type n, Row::Flags row_flags);
-
-  //! Adds \p n columns of zeroes to the matrix.
-  /*!
-    \param n
-    The number of columns to be added: must be strictly positive.
-
-    Turns the \f$r \times c\f$ matrix \f$M\f$ into
-    the \f$r \times (c+n)\f$ matrix \f$(M \, 0)\f$.
-    The matrix is expanded avoiding reallocation whenever possible.
-  */
-  void add_zero_columns(dimension_type n);
-
-  //! Adds \p n rows and \p m columns of zeroes to the matrix.
-  /*!
-    \param n
-    The number of rows to be added: must be strictly positive.
-
-    \param m
-    The number of columns to be added: must be strictly positive.
+  private:
+    friend class Constraint_System;
 
-    \param row_flags
-    Flags for the newly added rows.
+    //! The const iterator over the matrix of constraints.
+    Linear_System::const_iterator i;
 
-    Turns the \f$r \times c\f$ matrix \f$M\f$ into
-    the \f$(r+n) \times (c+m)\f$ matrix
-    \f$\bigl(\genfrac{}{}{0pt}{}{M}{0} \genfrac{}{}{0pt}{}{0}{0}\bigr)\f$.
-    The matrix is expanded avoiding reallocation whenever possible.
-  */
-  void add_zero_rows_and_columns(dimension_type n, dimension_type m,
-				 Row::Flags row_flags);
+    //! A const pointer to the matrix of constraints.
+    const Linear_System* csp;
 
-  //! Adds a copy of the row \p y to the matrix.
-  /*!
-    \param y
-    The row to be copied: it must have the same number of columns as
-    the matrix.
+    //! Constructor.
+    const_iterator(const Linear_System::const_iterator& iter,
+		   const Constraint_System& csys);
 
-    Turns the \f$r \times c\f$ matrix \f$M\f$ into
-    the \f$(r+1) \times c\f$ matrix
-    \f$\genfrac{(}{)}{0pt}{}{M}{0}\f$.
-    The matrix is expanded avoiding reallocation whenever possible.
-  */
-  void add_row(const Row& y);
+    //! \p *this skips to the next non-trivial constraint.
+    void skip_forward();
+  };
 
-  //! Adds the row \p y to the matrix.
-  /*!
-    \param y
-    The row to be added: it must have the same size and capacity as \p
-    *this.
+  //! Returns <CODE>true</CODE> if and only if \p *this has no constraints.
+  bool empty() const;
 
-    Turns the \f$r \times c\f$ matrix \f$M\f$ into
-    the \f$(r+1) \times c\f$ matrix
-    \f$\genfrac{(}{)}{0pt}{}{M}{0}\f$.
-    The matrix is expanded avoiding reallocation whenever possible.
+  /*! \brief
+    Returns the const_iterator pointing to the first constraint,
+    if \p *this is not empty;
+    otherwise, returns the past-the-end const_iterator.
   */
-  void add_recycled_row(Row& y);
+  const_iterator begin() const;
 
-  //! Makes the matrix shrink by removing its \p n trailing columns.
-  void remove_trailing_columns(dimension_type n);
+  //! Returns the past-the-end const_iterator.
+  const_iterator end() const;
 
-  //! Resizes the matrix without worrying about the old contents.
+  //! Checks if all the invariants are satisfied.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
   /*!
-    \param new_n_rows
-    The number of rows of the resized matrix;
-
-    \param new_n_columns
-    The number of columns of the resized matrix.
-
-    \param row_flags
-    The flags of the rows eventually added to the matrix.
-
-    The matrix is expanded to the specified dimensions avoiding
-    reallocation whenever possible.
-    The contents of the original matrix is lost.
-  */
-  void resize_no_copy(dimension_type new_n_rows, dimension_type new_n_columns,
-		      Row::Flags row_flags);
-
-  //! Swaps the columns having indexes \p i and \p j.
-  void swap_columns(dimension_type i,  dimension_type j);
-
-  //! Permutes the columns of the matrix.
-  /*
-    \param cycles
-    A vector representing the non-trivial cycles of the permutation
-    according to which the columns must be rearranged.
-
-    The \p cycles vector contains, one after the other, the
-    non-trivial cycles (i.e., the cycles of length greater than one)
-    of a permutation of non-zero column indexes.  Each cycle is
-    terminated by zero.  For example, assuming the matrix has 6
-    columns, the permutation \f$ \{ 1 \mapsto 3, 2 \mapsto 4,
-    3 \mapsto 6, 4 \mapsto 2, 5 \mapsto 5, 6 \mapsto 1 \}\f$ can be
-    represented by the non-trivial cycles \f$(1 3 6)(2 4)\f$ that, in
-    turn can be represented by a vector of 6 elements containing 1, 3,
-    6, 0, 2, 4, 0.
+    Returns <CODE>true</CODE> if and only if \p *this is a valid
+    Linear_System and each row in the system is a valid Constraint.
   */
-  void permute_columns(const std::vector<dimension_type>& cycles);
-
-  //! \name Accessors
-  //@{
-
-  //! Returns the number of columns of the matrix (i.e., the size of the rows).
-  dimension_type num_columns() const;
-
-  //! Returns the number of rows in the matrix.
-  dimension_type num_rows() const;
-  //@} // Accessors
-
-  //! \name Subscript operators
-  //@{
-  //! Returns a reference to the \p k-th row of the matrix.
-  Row& operator[](dimension_type k);
-
-  //! Returns a constant reference to the \p k-th row of the matrix.
-  const Row& operator[](dimension_type k) const;
-  //@} // Subscript operators
-
-  //! Clears the matrix deallocating all its rows.
-  void clear();
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  bool OK() const;
 
   PPL_OUTPUT_DECLARATIONS
 
@@ -15316,555 +18543,476 @@ public:
   //! Returns the size in bytes of the memory managed by \p *this.
   memory_size_type external_memory_in_bytes() const;
 
+  //! Swaps \p *this with \p y.
+  void swap(Constraint_System& y);
+
+private:
   /*! \brief
-    Erases from the matrix all the rows but those having
-    an index less than \p first_to_erase.
+    Holds (between class initialization and finalization) a pointer to
+    the singleton system containing only Constraint::zero_dim_false().
   */
-  void erase_to_end(dimension_type first_to_erase);
-
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
-};
-
-namespace std {
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  //! Specializes <CODE>std::swap</CODE>.
-  /*! \relates Parma_Polyhedra_Library::Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void swap(Parma_Polyhedra_Library::Matrix& x,
-	  Parma_Polyhedra_Library::Matrix& y);
-
-} // namespace std
-
-
-namespace Parma_Polyhedra_Library {
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are identical.
-/*! \relates Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool operator==(const Matrix& x, const Matrix& y);
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
-/*! \relates Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool operator!=(const Matrix& x, const Matrix& y);
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/Matrix.inlines.hh line 1. */
-/* Matrix class implementation: inline functions.
-*/
-
-
-/* Automatically generated from PPL source file ../src/Matrix.inlines.hh line 27. */
-#include <algorithm>
-#include <cassert>
-
-namespace Parma_Polyhedra_Library {
-
-inline dimension_type
-Matrix::max_num_rows() {
-  return std::vector<Row>().max_size();
-}
-
-inline dimension_type
-Matrix::max_num_columns() {
-  return Row::max_size();
-}
-
-inline memory_size_type
-Matrix::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
-}
-
-inline
-Matrix::const_iterator::const_iterator()
-  : i(Iter()) {
-}
-
-inline
-Matrix::const_iterator::const_iterator(const Iter& b)
-  : i(b) {
-}
-
-inline
-Matrix::const_iterator::const_iterator(const const_iterator& y)
-  : i(y.i) {
-}
-
-inline Matrix::const_iterator&
-Matrix::const_iterator::operator=(const const_iterator& y) {
-  i = y.i;
-  return *this;
-}
+  static const Constraint_System* zero_dim_empty_p;
 
-inline Matrix::const_iterator::reference
-Matrix::const_iterator::operator*() const {
-  return *i;
-}
+  friend class const_iterator;
+  friend class Parma_Polyhedra_Library::Polyhedron;
 
-inline Matrix::const_iterator::pointer
-Matrix::const_iterator::operator->() const {
-  return &*i;
-}
+  friend bool operator==(const Polyhedron& x, const Polyhedron& y);
 
-inline Matrix::const_iterator&
-Matrix::const_iterator::operator++() {
-  ++i;
-  return *this;
-}
+  //! Builds an empty system of constraints having the specified topology.
+  explicit Constraint_System(Topology topol);
 
-inline Matrix::const_iterator
-Matrix::const_iterator::operator++(int) {
-  return const_iterator(i++);
-}
+  /*! \brief
+    Builds a system of \p n_rows constraints on a \p n_columns - 1
+    dimensional space (including the \f$\epsilon\f$ dimension, if
+    \p topol is <CODE>NOT_NECESSARILY_CLOSED</CODE>).
+  */
+  Constraint_System(Topology topol,
+		    dimension_type n_rows, dimension_type n_columns);
 
-inline bool
-Matrix::const_iterator::operator==(const const_iterator& y) const {
-  return i == y.i;
-}
+  /*! \brief
+    Adjusts \p *this so that it matches the topology and
+    the number of space dimensions given as parameters
+    (adding or removing columns if needed).
+    Returns <CODE>false</CODE> if and only if \p topol is
+    equal to <CODE>NECESSARILY_CLOSED</CODE> and \p *this
+    contains strict inequalities.
+  */
+  bool adjust_topology_and_space_dimension(Topology topol,
+					   dimension_type num_dimensions);
 
-inline bool
-Matrix::const_iterator::operator!=(const const_iterator& y) const {
-  return !operator==(y);
-}
+  //! Returns the \p k- th constraint of the system.
+  Constraint& operator[](dimension_type k);
 
-inline bool
-Matrix::has_no_rows() const {
-  return rows.empty();
-}
+  //! Returns a constant reference to the \p k- th constraint of the system.
+  const Constraint& operator[](dimension_type k) const;
 
-inline Matrix::const_iterator
-Matrix::begin() const {
-  return const_iterator(rows.begin());
-}
+  //! Returns <CODE>true</CODE> if \p g satisfies all the constraints.
+  bool satisfies_all_constraints(const Generator& g) const;
 
-inline Matrix::const_iterator
-Matrix::end() const {
-  return const_iterator(rows.end());
-}
+  //! Substitutes a given column of coefficients by a given affine expression.
+  /*!
+    \param v
+    Index of the column to which the affine transformation is substituted.
 
-inline void
-Matrix::swap(Matrix& y) {
-  std::swap(rows, y.rows);
-  std::swap(row_size, y.row_size);
-  std::swap(row_capacity, y.row_capacity);
-}
+    \param expr
+    The numerator of the affine transformation:
+    \f$\sum_{i = 0}^{n - 1} a_i x_i + b\f$;
 
-inline
-Matrix::Matrix()
-  : rows(),
-    row_size(0),
-    row_capacity(0) {
-}
+    \param denominator
+    The denominator of the affine transformation.
 
-inline
-Matrix::Matrix(const Matrix& y)
-  : rows(y.rows),
-    row_size(y.row_size),
-    row_capacity(compute_capacity(y.row_size, max_num_columns())) {
-}
+    We want to allow affine transformations
+    (see Section \ref Images_and_Preimages_of_Affine_Transfer_Relations)
+    having any rational coefficients. Since the coefficients of the
+    constraints are integers we must also provide an integer \p
+    denominator that will be used as denominator of the affine
+    transformation.
+    The denominator is required to be a positive integer.
 
-inline
-Matrix::~Matrix() {
-}
+    The affine transformation substitutes the matrix of constraints
+    by a new matrix whose elements \f${a'}_{ij}\f$ are built from
+    the old one \f$a_{ij}\f$ as follows:
+    \f[
+      {a'}_{ij} =
+        \begin{cases}
+          a_{ij} * \mathrm{denominator} + a_{iv} * \mathrm{expr}[j]
+            \quad \text{for } j \neq v; \\
+          \mathrm{expr}[v] * a_{iv}
+            \quad \text{for } j = v.
+        \end{cases}
+    \f]
 
-inline Matrix&
-Matrix::operator=(const Matrix& y) {
-  // Without the following guard against auto-assignments we would
-  // recompute the row capacity based on row size, possibly without
-  // actually increasing the capacity of the rows.  This would lead to
-  // an inconsistent state.
-  if (this != &y) {
-    // The following assignment may do nothing on auto-assignments...
-    rows = y.rows;
-    row_size = y.row_size;
-    // ... hence the following assignment must not be done on
-    // auto-assignments.
-    row_capacity = compute_capacity(y.row_size, max_num_columns());
-  }
-  return *this;
-}
+    \p expr is a constant parameter and unaltered by this computation.
+  */
+  void affine_preimage(dimension_type v,
+		       const Linear_Expression& expr,
+		       Coefficient_traits::const_reference denominator);
 
-inline void
-Matrix::add_row(const Row& y) {
-  Row new_row(y, row_capacity);
-  add_recycled_row(new_row);
-}
+  //! Returns the number of equality constraints.
+  dimension_type num_equalities() const;
 
-inline Row&
-Matrix::operator[](const dimension_type k) {
-  assert(k < rows.size());
-  return rows[k];
-}
+  //! Returns the number of inequality constraints.
+  dimension_type num_inequalities() const;
 
-inline const Row&
-Matrix::operator[](const dimension_type k) const {
-  assert(k < rows.size());
-  return rows[k];
-}
+  /*! \brief
+    Applies Gaussian elimination and back-substitution so as
+    to provide a partial simplification of the system of constraints.
 
-inline dimension_type
-Matrix::num_rows() const {
-  return rows.size();
-}
+    It is assumed that the system has no pending constraints.
+  */
+  void simplify();
 
-inline dimension_type
-Matrix::num_columns() const {
-  return row_size;
-}
+  /*! \brief
+    Inserts in \p *this a copy of the constraint \p c,
+    increasing the number of space dimensions if needed.
+    It is a pending constraint.
+  */
+  void insert_pending(const Constraint& c);
 
-/*! \relates Matrix */
-inline bool
-operator!=(const Matrix& x, const Matrix& y) {
-  return !(x == y);
-}
+  //! Adds low-level constraints to the constraint system.
+  void add_low_level_constraints();
+};
 
-inline void
-Matrix::erase_to_end(const dimension_type first_to_erase) {
-  assert(first_to_erase <= rows.size());
-  if (first_to_erase < rows.size())
-    rows.erase(rows.begin() + first_to_erase, rows.end());
-}
+// Constraint_System.inlines.hh is not included here on purpose.
 
-inline void
-Matrix::clear() {
-  // Clear `rows' and minimize its capacity.
-  std::vector<Row>().swap(rows);
-  row_size = 0;
-  row_capacity = 0;
-}
+/* Automatically generated from PPL source file ../src/Constraint.defs.hh line 34. */
+#include <iosfwd>
 
-} // namespace Parma_Polyhedra_Library
+namespace Parma_Polyhedra_Library {
 
-namespace std {
+// Put them in the namespace here to declare them friend later.
 
-/*! \relates Parma_Polyhedra_Library::Matrix */
-inline void
-swap(Parma_Polyhedra_Library::Matrix& x,
-     Parma_Polyhedra_Library::Matrix& y) {
-  x.swap(y);
-}
+//! Returns <CODE>true</CODE> if and only if \p x is equivalent to \p y.
+/*! \relates Constraint */
+bool
+operator==(const Constraint& x, const Constraint& y);
 
-} // namespace std
+//! Returns <CODE>true</CODE> if and only if \p x is not equivalent to \p y.
+/*! \relates Constraint */
+bool
+operator!=(const Constraint& x, const Constraint& y);
 
-/* Automatically generated from PPL source file ../src/Matrix.defs.hh line 366. */
+//! Returns the constraint \p e1 = \p e2.
+/*! \relates Constraint */
+Constraint
+operator==(const Linear_Expression& e1, const Linear_Expression& e2);
 
-/* Automatically generated from PPL source file ../src/Linear_System.defs.hh line 33. */
+//! Returns the constraint \p v1 = \p v2.
+/*! \relates Constraint */
+Constraint
+operator==(Variable v1, Variable v2);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! The base class for systems of constraints and generators.
-/*! \ingroup PPL_CXX_interface
-  An object of this class represents either a constraint system
-  or a generator system. Each Linear_System object can be viewed
-  as a finite sequence of strong-normalized Linear_Row objects,
-  where each Linear_Row implements a constraint or a generator.
-  Linear systems are characterized by the matrix of coefficients,
-  also encoding the number, size and capacity of Linear_row objects,
-  as well as a few additional information, including:
-   - the topological kind of (all) the rows;
-   - an indication of whether or not some of the rows in the Linear_System
-     are <EM>pending</EM>, meaning that they still have to undergo
-     an (unspecified) elaboration; if there are pending rows, then these
-     form a proper suffix of the overall sequence of rows;
-   - a Boolean flag that, when <CODE>true</CODE>, ensures that the
-     non-pending prefix of the sequence of rows is sorted.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+//! Returns the constraint \p e = \p n.
+/*! \relates Constraint */
+Constraint
+operator==(const Linear_Expression& e, Coefficient_traits::const_reference n);
 
-class Parma_Polyhedra_Library::Linear_System : public Matrix {
-public:
-  //! Builds an empty linear system with specified topology.
-  /*!
-    Rows size and capacity are initialized to \f$0\f$.
-  */
-  Linear_System(Topology topol);
+//! Returns the constraint \p n = \p e.
+/*! \relates Constraint */
+Constraint
+operator==(Coefficient_traits::const_reference n, const Linear_Expression& e);
 
-  //! Builds a system with specified topology and dimensions.
-  /*!
-    \param topol
-    The topology of the system that will be created;
+//! Returns the constraint \p e1 \<= \p e2.
+/*! \relates Constraint */
+Constraint
+operator<=(const Linear_Expression& e1, const Linear_Expression& e2);
 
-    \param n_rows
-    The number of rows of the system that will be created;
+//! Returns the constraint \p v1 \<= \p v2.
+/*! \relates Constraint */
+Constraint
+operator<=(Variable v1, Variable v2);
 
-    \param n_columns
-    The number of columns of the system that will be created.
+//! Returns the constraint \p e \<= \p n.
+/*! \relates Constraint */
+Constraint
+operator<=(const Linear_Expression& e, Coefficient_traits::const_reference n);
 
-    Creates a \p n_rows \f$\times\f$ \p n_columns system whose
-    coefficients are all zero and whose rows are all initialized
-    to be of the given topology.
-  */
-  Linear_System(Topology topol,
-		dimension_type n_rows, dimension_type n_columns);
+//! Returns the constraint \p n \<= \p e.
+/*! \relates Constraint */
+Constraint
+operator<=(Coefficient_traits::const_reference n, const Linear_Expression& e);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  //! A tag class.
-  /*! \ingroup PPL_CXX_interface
-    Tag class to differentiate the Linear_System copy-constructor that
-    copies pending rows as pending from the one that transforms
-    pending rows into non-pending ones.
-  */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-  struct With_Pending {
-  };
+//! Returns the constraint \p e1 \>= \p e2.
+/*! \relates Constraint */
+Constraint
+operator>=(const Linear_Expression& e1, const Linear_Expression& e2);
 
-  //! Copy-constructor: pending rows are transformed into non-pending ones.
-  Linear_System(const Linear_System& y);
+//! Returns the constraint \p v1 \>= \p v2.
+/*! \relates Constraint */
+Constraint
+operator>=(Variable v1, Variable v2);
 
-  //! Full copy-constructor: pending rows are copied as pending.
-  Linear_System(const Linear_System& y, With_Pending);
+//! Returns the constraint \p e \>= \p n.
+/*! \relates Constraint */
+Constraint
+operator>=(const Linear_Expression& e, Coefficient_traits::const_reference n);
 
-  //! Assignment operator: pending rows are transformed into non-pending ones.
-  Linear_System& operator=(const Linear_System& y);
+//! Returns the constraint \p n \>= \p e.
+/*! \relates Constraint */
+Constraint
+operator>=(Coefficient_traits::const_reference n, const Linear_Expression& e);
 
-  //! Full assignment operator: pending rows are copied as pending.
-  void assign_with_pending(const Linear_System& y);
+//! Returns the constraint \p e1 \< \p e2.
+/*! \relates Constraint */
+Constraint
+operator<(const Linear_Expression& e1, const Linear_Expression& e2);
 
-  //! Swaps \p *this with \p y.
-  void swap(Linear_System& y);
+//! Returns the constraint \p v1 \< \p v2.
+/*! \relates Constraint */
+Constraint
+operator<(Variable v1, Variable v2);
 
-  //! Returns the maximum space dimension a Linear_System can handle.
-  static dimension_type max_space_dimension();
+//! Returns the constraint \p e \< \p n.
+/*! \relates Constraint */
+Constraint
+operator<(const Linear_Expression& e, Coefficient_traits::const_reference n);
 
-  //! Returns the space dimension of the rows in the system.
-  /*!
-    The computation of the space dimension correctly ignores
-    the column encoding the inhomogeneous terms of constraint
-    (resp., the divisors of generators);
-    if the system topology is <CODE>NOT_NECESSARILY_CLOSED</CODE>,
-    also the column of the \f$\epsilon\f$-dimension coefficients
-    will be ignored.
-  */
-  dimension_type space_dimension() const;
+//! Returns the constraint \p n \< \p e.
+/*! \relates Constraint */
+Constraint
+operator<(Coefficient_traits::const_reference n, const Linear_Expression& e);
 
-  //! Makes the system shrink by removing its \p n trailing columns.
-  void remove_trailing_columns(dimension_type n);
+//! Returns the constraint \p e1 \> \p e2.
+/*! \relates Constraint */
+Constraint
+operator>(const Linear_Expression& e1, const Linear_Expression& e2);
 
-  //! Permutes the columns of the system.
-  /*
-    \param cycles
-    A vector representing the non-trivial cycles of the permutation
-    according to which the columns must be rearranged.
+//! Returns the constraint \p v1 \> \p v2.
+/*! \relates Constraint */
+Constraint
+operator>(Variable v1, Variable v2);
 
-    The \p cycles vector contains, one after the other, the
-    non-trivial cycles (i.e., the cycles of length greater than one)
-    of a permutation of non-zero column indexes.  Each cycle is
-    terminated by zero.  For example, assuming the system has 6
-    columns, the permutation \f$ \{ 1 \mapsto 3, 2 \mapsto 4,
-    3 \mapsto 6, 4 \mapsto 2, 5 \mapsto 5, 6 \mapsto 1 \}\f$ can be
-    represented by the non-trivial cycles \f$(1 3 6)(2 4)\f$ that, in
-    turn can be represented by a vector of 6 elements containing 1, 3,
-    6, 0, 2, 4, 0.
-  */
-  void permute_columns(const std::vector<dimension_type>& cycles);
+//! Returns the constraint \p e \> \p n.
+/*! \relates Constraint */
+Constraint
+operator>(const Linear_Expression& e, Coefficient_traits::const_reference n);
 
-  //! \name Subscript operators
-  //@{
-  //! Returns a reference to the \p k-th row of the system.
-  Linear_Row& operator[](dimension_type k);
+//! Returns the constraint \p n \> \p e.
+/*! \relates Constraint */
+Constraint
+operator>(Coefficient_traits::const_reference n, const Linear_Expression& e);
 
-  //! Returns a constant reference to the \p k-th row of the system.
-  const Linear_Row& operator[](dimension_type k) const;
-  //@} // Subscript operators
+} // namespace Parma_Polyhedra_Library
 
-  //! Strongly normalizes the system.
-  void strong_normalize();
 
-  //! Sign-normalizes the system.
-  void sign_normalize();
+namespace std {
 
-  //! \name Accessors
-  //@{
-  //! Returns the system topology.
-  Topology topology() const;
+//! Specializes <CODE>std::swap</CODE>.
+/*! \relates Parma_Polyhedra_Library::Constraint */
+void swap(Parma_Polyhedra_Library::Constraint& x,
+	  Parma_Polyhedra_Library::Constraint& y);
 
-  //! Returns the value of the sortedness flag.
-  bool is_sorted() const;
+} // namespace std
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if
-    the system topology is <CODE>NECESSARILY_CLOSED</CODE>.
-  */
-  bool is_necessarily_closed() const;
+//! A linear equality or inequality.
+/*! \ingroup PPL_CXX_interface
+  An object of the class Constraint is either:
+  - an equality: \f$\sum_{i=0}^{n-1} a_i x_i + b = 0\f$;
+  - a non-strict inequality: \f$\sum_{i=0}^{n-1} a_i x_i + b \geq 0\f$; or
+  - a strict inequality: \f$\sum_{i=0}^{n-1} a_i x_i + b > 0\f$;
 
-  /*! \brief
-    Returns the number of rows in the system
-    that represent either lines or equalities.
-  */
-  dimension_type num_lines_or_equalities() const;
+  where \f$n\f$ is the dimension of the space,
+  \f$a_i\f$ is the integer coefficient of variable \f$x_i\f$
+  and \f$b\f$ is the integer inhomogeneous term.
 
-  //! Returns the index of the first pending row.
-  dimension_type first_pending_row() const;
+  \par How to build a constraint
+  Constraints are typically built by applying a relation symbol
+  to a pair of linear expressions.
+  Available relation symbols are equality (<CODE>==</CODE>),
+  non-strict inequalities (<CODE>\>=</CODE> and <CODE>\<=</CODE>) and
+  strict inequalities (<CODE>\<</CODE> and <CODE>\></CODE>).
+  The space dimension of a constraint is defined as the maximum
+  space dimension of the arguments of its constructor.
 
-  //! Returns the number of rows that are in the pending part of the system.
-  dimension_type num_pending_rows() const;
-  //@} // Accessors
+  \par
+  In the following examples it is assumed that variables
+  <CODE>x</CODE>, <CODE>y</CODE> and <CODE>z</CODE>
+  are defined as follows:
+  \code
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  \endcode
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is sorted,
-    without checking for duplicates.
-  */
-  bool check_sorted() const;
+  \par Example 1
+  The following code builds the equality constraint
+  \f$3x + 5y - z = 0\f$, having space dimension \f$3\f$:
+  \code
+  Constraint eq_c(3*x + 5*y - z == 0);
+  \endcode
+  The following code builds the (non-strict) inequality constraint
+  \f$4x \geq 2y - 13\f$, having space dimension \f$2\f$:
+  \code
+  Constraint ineq_c(4*x >= 2*y - 13);
+  \endcode
+  The corresponding strict inequality constraint
+  \f$4x > 2y - 13\f$ is obtained as follows:
+  \code
+  Constraint strict_ineq_c(4*x > 2*y - 13);
+  \endcode
+  An unsatisfiable constraint on the zero-dimension space \f$\Rset^0\f$
+  can be specified as follows:
+  \code
+  Constraint false_c = Constraint::zero_dim_false();
+  \endcode
+  Equivalent, but more involved ways are the following:
+  \code
+  Constraint false_c1(Linear_Expression::zero() == 1);
+  Constraint false_c2(Linear_Expression::zero() >= 1);
+  Constraint false_c3(Linear_Expression::zero() > 0);
+  \endcode
+  In contrast, the following code defines an unsatisfiable constraint
+  having space dimension \f$3\f$:
+  \code
+  Constraint false_c(0*z == 1);
+  \endcode
 
-  //! Sets the system topology to <CODE>NECESSARILY_CLOSED</CODE>.
-  void set_necessarily_closed();
+  \par How to inspect a constraint
+  Several methods are provided to examine a constraint and extract
+  all the encoded information: its space dimension, its type
+  (equality, non-strict inequality, strict inequality) and
+  the value of its integer coefficients.
+
+  \par Example 2
+  The following code shows how it is possible to access each single
+  coefficient of a constraint. Given an inequality constraint
+  (in this case \f$x - 5y + 3z \leq 4\f$), we construct a new constraint
+  corresponding to its complement (thus, in this case we want to obtain
+  the strict inequality constraint \f$x - 5y + 3z > 4\f$).
+  \code
+  Constraint c1(x - 5*y + 3*z <= 4);
+  cout << "Constraint c1: " << c1 << endl;
+  if (c1.is_equality())
+    cout << "Constraint c1 is not an inequality." << endl;
+  else {
+    Linear_Expression e;
+    for (dimension_type i = c1.space_dimension(); i-- > 0; )
+      e += c1.coefficient(Variable(i)) * Variable(i);
+    e += c1.inhomogeneous_term();
+    Constraint c2 = c1.is_strict_inequality() ? (e <= 0) : (e < 0);
+    cout << "Complement c2: " << c2 << endl;
+  }
+  \endcode
+  The actual output is the following:
+  \code
+  Constraint c1: -A + 5*B - 3*C >= -4
+  Complement c2: A - 5*B + 3*C > 4
+  \endcode
+  Note that, in general, the particular output obtained can be
+  syntactically different from the (semantically equivalent)
+  constraint considered.
+*/
+class Parma_Polyhedra_Library::Constraint : private Linear_Row {
+public:
+  //! Ordinary copy constructor.
+  Constraint(const Constraint& c);
 
-  //! Sets the system topology to <CODE>NOT_NECESSARILY_CLOSED</CODE>.
-  void set_not_necessarily_closed();
+  //! Copy-constructs from equality congruence \p cg.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p cg is a proper congruence.
+  */
+  explicit Constraint(const Congruence& cg);
 
-  //! Sets the topology of all rows equal to the system topology.
-  void set_rows_topology();
+  //! Destructor.
+  ~Constraint();
 
-  //! Sets the index to indicate that the system has no pending rows.
-  void unset_pending_rows();
+  //! Assignment operator.
+  Constraint& operator=(const Constraint& c);
 
-  //! Sets the index of the first pending row to \p i.
-  void set_index_first_pending_row(dimension_type i);
+  //! Returns the maximum space dimension a Constraint can handle.
+  static dimension_type max_space_dimension();
 
-  //! Sets the sortedness flag of the system to \p b.
-  void set_sorted(bool b);
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
 
-  //! Resizes the system without worrying about the old contents.
-  /*!
-    \param new_n_rows
-    The number of rows of the resized system;
+  //! The constraint type.
+  enum Type {
+    /*! The constraint is an equality. */
+    EQUALITY,
+    /*! The constraint is a non-strict inequality. */
+    NONSTRICT_INEQUALITY,
+    /*! The constraint is a strict inequality. */
+    STRICT_INEQUALITY
+  };
 
-    \param new_n_columns
-    The number of columns of the resized system.
+  //! Returns the constraint type of \p *this.
+  Type type() const;
 
-    The system is expanded to the specified dimensions avoiding
-    reallocation whenever possible.
-    The contents of the original system is lost.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    \p *this is an equality constraint.
   */
-  void resize_no_copy(dimension_type new_n_rows, dimension_type new_n_columns);
-
-  //! Adds \p n rows and columns to the system.
-  /*!
-    \param n
-    The number of rows and columns to be added: must be strictly positive.
+  bool is_equality() const;
 
-    Turns the system \f$M \in \Rset^r \times \Rset^c\f$ into
-    the system \f$N \in \Rset^{r+n} \times \Rset^{c+n}\f$
-    such that
-    \f$N = \bigl(\genfrac{}{}{0pt}{}{0}{M}\genfrac{}{}{0pt}{}{J}{o}\bigr)\f$,
-    where \f$J\f$ is the specular image
-    of the \f$n \times n\f$ identity matrix.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    \p *this is an inequality constraint (either strict or non-strict).
   */
-  void add_rows_and_columns(dimension_type n);
+  bool is_inequality() const;
 
   /*! \brief
-    Adds a copy of \p r to the system,
-    automatically resizing the system or the row's copy, if needed.
+    Returns <CODE>true</CODE> if and only if
+    \p *this is a non-strict inequality constraint.
   */
-  void insert(const Linear_Row& r);
+  bool is_nonstrict_inequality() const;
 
   /*! \brief
-    Adds a copy of the given row to the pending part of the system,
-    automatically resizing the system or the row, if needed.
+    Returns <CODE>true</CODE> if and only if
+    \p *this is a strict inequality constraint.
   */
-  void insert_pending(const Linear_Row& r);
-
-  //! Adds a copy of the given row to the system.
-  void add_row(const Linear_Row& r);
-
-  //! Adds a new empty row to the system, setting only its flags.
-  void add_pending_row(Linear_Row::Flags flags);
-
-  //! Adds a copy of the given row to the pending part of the system.
-  void add_pending_row(const Linear_Row& r);
+  bool is_strict_inequality() const;
 
-  //! Adds to \p *this a copy of the rows of `y'.
+  //! Returns the coefficient of \p v in \p *this.
   /*!
-    It is assumed that \p *this has no pending rows.
+    \exception std::invalid_argument thrown if the index of \p v
+    is greater than or equal to the space dimension of \p *this.
   */
-  void add_rows(const Linear_System& y);
+  Coefficient_traits::const_reference coefficient(Variable v) const;
 
-  //! Adds a copy of the rows of `y' to the pending part of `*this'.
-  void add_pending_rows(const Linear_System& y);
+  //! Returns the inhomogeneous term of \p *this.
+  Coefficient_traits::const_reference inhomogeneous_term() const;
 
-  /*! \brief
-    Sorts the non-pending rows (in growing order) and eliminates
-    duplicated ones.
-  */
-  void sort_rows();
+  //! Initializes the class.
+  static void initialize();
 
-  /*! \brief
-    Sorts the rows (in growing order) form \p first_row to
-    \p last_row and eliminates duplicated ones.
-  */
-  void sort_rows(dimension_type first_row, dimension_type last_row);
+  //! Finalizes the class.
+  static void finalize();
 
-  /*! \brief
-    Assigns to \p *this the result of merging its rows with
-    those of \p y, obtaining a sorted system.
+  //! The unsatisfiable (zero-dimension space) constraint \f$0 = 1\f$.
+  static const Constraint& zero_dim_false();
 
-    Duplicated rows will occur only once in the result.
-    On entry, both systems are assumed to be sorted and have
-    no pending rows.
+  /*! \brief
+    The true (zero-dimension space) constraint \f$0 \leq 1\f$,
+    also known as <EM>positivity constraint</EM>.
   */
-  void merge_rows_assign(const Linear_System& y);
+  static const Constraint& zero_dim_positivity();
 
   /*! \brief
-    Sorts the pending rows and eliminates those that also occur
-    in the non-pending part of the system.
+    Returns a lower bound to the total size in bytes of the memory
+    occupied by \p *this.
   */
-  void sort_pending_and_remove_duplicates();
+  memory_size_type total_memory_in_bytes() const;
 
-  class With_Bit_Matrix_iterator;
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
   /*! \brief
-    Sorts the system, removing duplicates, keeping the saturation
-    matrix consistent.
-
-    \param sat
-    Bit matrix with rows corresponding to the rows of \p *this.
-  */
-  void sort_and_remove_with_sat(Bit_Matrix& sat);
+    Returns <CODE>true</CODE> if and only if
+    \p *this is a tautology (i.e., an always true constraint).
 
-  //! Minimizes the subsystem of equations contained in \p *this.
-  /*!
-    This method works only on the equalities of the system:
-    the system is required to be partially sorted, so that
-    all the equalities are grouped at its top; it is assumed that
-    the number of equalities is exactly \p n_lines_or_equalities.
-    The method finds a minimal system for the equalities and
-    returns its rank, i.e., the number of linearly independent equalities.
-    The result is an upper triangular subsystem of equalities:
-    for each equality, the pivot is chosen starting from
-    the right-most columns.
+    A tautology can have either one of the following forms:
+    - an equality: \f$\sum_{i=0}^{n-1} 0 x_i + 0 = 0\f$; or
+    - a non-strict inequality: \f$\sum_{i=0}^{n-1} 0 x_i + b \geq 0\f$,
+      where \f$b \geq 0\f$; or
+    - a strict inequality: \f$\sum_{i=0}^{n-1} 0 x_i + b > 0\f$,
+      where \f$b > 0\f$.
   */
-  dimension_type gauss(dimension_type n_lines_or_equalities);
+  bool is_tautological() const;
 
   /*! \brief
-    Back-substitutes the coefficients to reduce
-    the complexity of the system.
+    Returns <CODE>true</CODE> if and only if
+    \p *this is inconsistent (i.e., an always false constraint).
 
-    Takes an upper triangular system having \p n_lines_or_equalities rows.
-    For each row, starting from the one having the minimum number of
-    coefficients different from zero, computes the expression of an element
-    as a function of the remaining ones and then substitutes this expression
-    in all the other rows.
+    An inconsistent constraint can have either one of the following forms:
+    - an equality: \f$\sum_{i=0}^{n-1} 0 x_i + b = 0\f$,
+      where \f$b \neq 0\f$; or
+    - a non-strict inequality: \f$\sum_{i=0}^{n-1} 0 x_i + b \geq 0\f$,
+      where \f$b < 0\f$; or
+    - a strict inequality: \f$\sum_{i=0}^{n-1} 0 x_i + b > 0\f$,
+      where \f$b \leq 0\f$.
   */
-  void back_substitute(dimension_type n_lines_or_equalities);
+  bool is_inconsistent() const;
 
   /*! \brief
-    Applies Gaussian elimination and back-substitution so as to
-    simplify the linear system.
-  */
-  void simplify();
+    Returns <CODE>true</CODE> if and only if \p *this and \p y
+    are equivalent constraints.
 
-  /*! \brief
-    Normalizes the system by dividing each row for the GCD of the
-    row's elements.
+    Constraints having different space dimensions are not equivalent.
+    Note that constraints having different types may nonetheless be
+    equivalent, if they both are tautologies or inconsistent.
   */
-  void normalize();
-
-  //! Clears the system deallocating all its rows.
-  void clear();
+  bool is_equivalent_to(const Constraint& y) const;
 
   PPL_OUTPUT_DECLARATIONS
 
@@ -15872,879 +19020,770 @@ public:
     Loads from \p s an ASCII representation (as produced by
     ascii_dump(std::ostream&) const) and sets \p *this accordingly.
     Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-
-    Reads into a Linear_System object the information produced by the
-    output of ascii_dump(std::ostream&) const.  The specialized methods
-    provided by Constraint_System and Generator_System take care of
-    properly reading the contents of the system.
   */
   bool ascii_load(std::istream& s);
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
-
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
-
   //! Checks if all the invariants are satisfied.
-  /*!
-    \param check_strong_normalized
-    <CODE>true</CODE> if and only if the strong normalization of all
-    the rows in the system has to be checked.
+  bool OK() const;
 
-    By default, the strong normalization check is performed.
-    This check may be turned off to avoid useless repeated checking;
-    e.g., when re-checking a well-formed Linear_System after the permutation
-    or deletion of some of its rows.
-  */
-  bool OK(bool check_strong_normalized = true) const;
+  //! Swaps \p *this with \p y.
+  void swap(Constraint& y);
 
 private:
-  //! The topological kind of the rows in the system.
-  Topology row_topology;
-
-  //! The index of the first pending row.
-  dimension_type index_first_pending;
-
   /*! \brief
-    <CODE>true</CODE> if rows are sorted in the ascending order as defined by
-    <CODE>bool compare(const Linear_Row&, const Linear_Row&)</CODE>.
-    If <CODE>false</CODE> may not be sorted.
+    Holds (between class initialization and finalization) a pointer to
+    the unsatisfiable (zero-dimension space) constraint \f$0 = 1\f$.
   */
-  bool sorted;
-
-  //! Ordering predicate (used when implementing the sort algorithm).
-  struct Row_Less_Than {
-    bool operator()(const Row& x, const Row& y) const;
-  };
-};
-
-namespace std {
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Linear_System */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void swap(Parma_Polyhedra_Library::Linear_System& x,
-	  Parma_Polyhedra_Library::Linear_System& y);
-
-} // namespace std
-
-namespace Parma_Polyhedra_Library {
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are identical.
-/*! \relates Linear_System */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool operator==(const Linear_System& x, const Linear_System& y);
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
-/*! \relates Linear_System */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool operator!=(const Linear_System& x, const Linear_System& y);
-
-} // namespace Parma_Polyhedra_Library
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! An iterator keeping a Linear_System consistent with a Bit_Matrix.
-/*! \ingroup PPL_CXX_interface
-  An iterator on the vector of Row objects encoded in a Linear_System
-  extended to maintain a corresponding iterator on a vector of
-  Bit_Row objects.  Access to values is always done on the Row
-  objects, but iterator movements and swaps are done on both components.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-class Parma_Polyhedra_Library::Linear_System::With_Bit_Matrix_iterator {
-public:
-  typedef std::vector<Row>::iterator Iter1;
-  typedef std::vector<Bit_Row>::iterator Iter2;
-
-private:
-  Iter1 i1;
-  Iter2 i2;
-
-public:
-  // Same traits as Iter1.
-  typedef std::iterator_traits<Iter1>::iterator_category iterator_category;
-  typedef std::iterator_traits<Iter1>::value_type value_type;
-  typedef std::iterator_traits<Iter1>::difference_type difference_type;
-  typedef std::iterator_traits<Iter1>::pointer pointer;
-  typedef std::iterator_traits<Iter1>::reference reference;
-
-  //! Constructor.
-  With_Bit_Matrix_iterator(Iter1 iter1, Iter2 iter2);
-
-  //! Copy-constructor.
-  With_Bit_Matrix_iterator(const With_Bit_Matrix_iterator& y);
-
-  //! Destructor.
-  ~With_Bit_Matrix_iterator();
-
-  //! Assignment operator.
-  With_Bit_Matrix_iterator&
-  operator=(const With_Bit_Matrix_iterator& y);
-
-  //! \name Operators Implementing Iterator Movement
-  //@{
-  With_Bit_Matrix_iterator& operator++();
-  With_Bit_Matrix_iterator operator++(int);
-
-  With_Bit_Matrix_iterator& operator--();
-  With_Bit_Matrix_iterator operator--(int);
-
-  With_Bit_Matrix_iterator& operator+=(difference_type d);
-  With_Bit_Matrix_iterator operator+(difference_type d) const;
-
-  With_Bit_Matrix_iterator& operator-=(difference_type d);
-  With_Bit_Matrix_iterator operator-(difference_type d) const;
-  //@}
-
-  //! Distance operator.
-  difference_type operator-(const With_Bit_Matrix_iterator& y) const;
-
-  //! \name Comparisons between Iterators
-  //@{
-  bool operator==(const With_Bit_Matrix_iterator& y) const;
-  bool operator!=(const With_Bit_Matrix_iterator& y) const;
-  bool operator<(const With_Bit_Matrix_iterator& y) const;
-  //@}
-
-  //! Dereference operator.
-  reference operator*() const;
-
-  //! Access-through operator.
-  pointer operator->() const;
-
-  //! Swaps the pointed Row objects while keeping Bit_Matrix consistent.
-  void iter_swap(const With_Bit_Matrix_iterator& y) const;
-
-};
-
-namespace std {
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::iter_swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Linear_System::With_Bit_Matrix_iterator */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void
-iter_swap(Parma_Polyhedra_Library
-	  ::Linear_System::With_Bit_Matrix_iterator x,
-	  Parma_Polyhedra_Library
-	  ::Linear_System::With_Bit_Matrix_iterator y);
-
-} // namespace std
-
-/* Automatically generated from PPL source file ../src/Linear_System.inlines.hh line 1. */
-/* Linear_System class implementation: inline functions.
-*/
-
-
-/* Automatically generated from PPL source file ../src/Bit_Row.defs.hh line 1. */
-/* Bit_Row class declaration.
-*/
-
-
-/* Automatically generated from PPL source file ../src/Bit_Row.defs.hh line 28. */
-#include <iosfwd>
-#include <gmpxx.h>
-#include <vector>
-
-namespace Parma_Polyhedra_Library {
-
-// Put them in the namespace here to declare them friends later.
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are equal.
-/*! \relates Bit_Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool operator==(const Bit_Row& x, const Bit_Row& y);
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are not equal.
-/*! \relates Bit_Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool operator!=(const Bit_Row& x, const Bit_Row& y);
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! The basic comparison function.
-/*! \relates Bit_Row
-  Compares \p x with \p y starting from the least significant bits.
-  The ordering is total and has the following property: if \p x and \p y
-  are two rows seen as sets of naturals, if \p x is a strict subset
-  of \p y, then \p x comes before \p y.
-
-  Returns
-  - -1 if \p x comes before \p y in the ordering;
-  -  0 if \p x and \p y are equal;
-  -  1 if \p x comes after \p y in the ordering.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-int compare(const Bit_Row& x, const Bit_Row& y);
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Set-theoretic inclusion test.
-/*! \relates Bit_Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool subset_or_equal(const Bit_Row& x, const Bit_Row& y);
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  Set-theoretic inclusion test: sets \p strict_subset to a Boolean
-  indicating whether the inclusion is strict or not.
-
-  \relates Bit_Row
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool subset_or_equal(const Bit_Row& x, const Bit_Row& y,
-		     bool& strict_subset);
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Set-theoretic strict inclusion test.
-/*! \relates Bit_Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool strict_subset(const Bit_Row& x, const Bit_Row& y);
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Set-theoretic union.
-/*! \relates Bit_Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void set_union(const Bit_Row& x, const Bit_Row& y, Bit_Row& z);
+  static const Constraint* zero_dim_false_p;
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Set-theoretic intersection.
-/*! \relates Bit_Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void set_intersection(const Bit_Row& x, const Bit_Row& y, Bit_Row& z);
+  /*! \brief
+    Holds (between class initialization and finalization) a pointer to
+    the true (zero-dimension space) constraint \f$0 \leq 1\f$, also
+    known as <EM>positivity constraint</EM>.
+  */
+  static const Constraint* zero_dim_positivity_p;
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Set-theoretic difference.
-/*! \relates Bit_Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void set_difference(const Bit_Row& x, const Bit_Row& y, Bit_Row& z);
+  /*! \brief
+    Holds (between class initialization and finalization) a pointer to
+    the zero-dimension space constraint \f$\epsilon \geq 0\f$.
+  */
+  static const Constraint* epsilon_geq_zero_p;
 
-} // namespace Parma_Polyhedra_Library
+  /*! \brief
+    Holds (between class initialization and finalization) a pointer to
+    the zero-dimension space constraint \f$\epsilon \leq 1\f$
+    (used to implement NNC polyhedra).
+  */
+  static const Constraint* epsilon_leq_one_p;
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! A row in a matrix of bits.
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-class Parma_Polyhedra_Library::Bit_Row {
-public:
-  //! Default constructor.
-  Bit_Row();
+  friend class Parma_Polyhedra_Library::Congruence;
+  friend class Parma_Polyhedra_Library::Scalar_Products;
+  friend class Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign;
+  friend class Parma_Polyhedra_Library::Constraint_System;
+  friend class Parma_Polyhedra_Library::Constraint_System::const_iterator;
+  // FIXME: the following friend declaration should be avoided.
+  friend class Parma_Polyhedra_Library::Polyhedron;
 
-  //! Copy-constructor.
-  Bit_Row(const Bit_Row& y);
+  friend
+  Parma_Polyhedra_Library
+  ::Linear_Expression::Linear_Expression(const Constraint& c);
 
-  //! Destructor.
-  ~Bit_Row();
+  //! Default constructor: private and not implemented.
+  Constraint();
 
-  //! Assignment operator.
-  Bit_Row& operator=(const Bit_Row& y);
+  /*! \brief
+    Builds a constraint of type \p type and topology \p topology,
+    stealing the coefficients from \p e.
+  */
+  Constraint(Linear_Expression& e, Type type, Topology topology);
 
-  //! Swaps \p *this with \p y.
-  void swap(Bit_Row& y);
+  //! Constructs from a congruence, with specified size and capacity.
+  Constraint(const Congruence& cg, dimension_type sz, dimension_type capacity);
 
-  //! Returns the truth value corresponding to the bit in position \p k.
-  bool operator[](unsigned long k) const;
+  /*! \brief
+    Throws a <CODE>std::invalid_argument</CODE> exception containing
+    error message \p message.
+  */
+  void
+  throw_invalid_argument(const char* method, const char* message) const;
 
-  //! Sets the bit in position \p k.
-  void set(unsigned long k);
+  /*! \brief
+    Throws a <CODE>std::invalid_argument</CODE> exception
+    containing the appropriate error message.
+  */
+  void
+  throw_dimension_incompatible(const char* method,
+			       const char* name_var,
+			       Variable v) const;
 
-  //! Sets bits up to position \p k (excluded).
-  void set_until(unsigned long k);
+  friend Constraint
+  operator==(const Linear_Expression& e1, const Linear_Expression& e2);
+  friend Constraint
+  operator==(Variable v1, Variable v2);
+  friend Constraint
+  operator==(const Linear_Expression& e, Coefficient_traits::const_reference n);
+  friend Constraint
+  operator==(Coefficient_traits::const_reference n, const Linear_Expression& e);
 
-  //! Clears the bit in position \p k.
-  void clear(unsigned long k);
+  friend Constraint
+  operator>=(const Linear_Expression& e1, const Linear_Expression& e2);
+  friend Constraint
+  operator>=(Variable v1, Variable v2);
+  friend Constraint
+  operator>=(const Linear_Expression& e, Coefficient_traits::const_reference n);
+  friend Constraint
+  operator>=(Coefficient_traits::const_reference n, const Linear_Expression& e);
 
-  //! Clears bits from position \p k (included) onward.
-  void clear_from(unsigned long k);
+  friend Constraint
+  operator<=(const Linear_Expression& e1, const Linear_Expression& e2);
+  friend Constraint
+  operator<=(const Linear_Expression& e, Coefficient_traits::const_reference n);
+  friend Constraint
+  operator<=(Coefficient_traits::const_reference n, const Linear_Expression& e);
 
-  //! Clears all the bits of the row.
-  void clear();
+  friend Constraint
+  operator>(const Linear_Expression& e1, const Linear_Expression& e2);
+  friend Constraint
+  operator>(Variable v1, Variable v2);
+  friend Constraint
+  operator>(const Linear_Expression& e, Coefficient_traits::const_reference n);
+  friend Constraint
+  operator>(Coefficient_traits::const_reference n, const Linear_Expression& e);
 
-  friend int compare(const Bit_Row& x, const Bit_Row& y);
-  friend bool operator==(const Bit_Row& x, const Bit_Row& y);
-  friend bool operator!=(const Bit_Row& x, const Bit_Row& y);
-  friend bool subset_or_equal(const Bit_Row& x, const Bit_Row& y);
-  friend bool subset_or_equal(const Bit_Row& x, const Bit_Row& y,
-			      bool& strict_subset);
-  friend bool strict_subset(const Bit_Row& x, const Bit_Row& y);
-  friend void set_union(const Bit_Row& x, const Bit_Row& y, Bit_Row& z);
-  friend void set_intersection(const Bit_Row& x, const Bit_Row& y, Bit_Row& z);
-  friend void set_difference(const Bit_Row& x, const Bit_Row& y, Bit_Row& z);
+  friend Constraint
+  operator<(const Linear_Expression& e1, const Linear_Expression& e2);
+  friend Constraint
+  operator<(const Linear_Expression& e, Coefficient_traits::const_reference n);
+  friend Constraint
+  operator<(Coefficient_traits::const_reference n, const Linear_Expression& e);
 
-  //! Returns the index of the first set bit or ULONG_MAX if no bit is set.
-  unsigned long first() const;
+  //! Copy constructor with given size.
+  Constraint(const Constraint& c, dimension_type sz);
 
   /*! \brief
-    Returns the index of the first set bit after \p position
-    or ULONG_MAX if no bit after \p position is set.
+    Builds a new copy of the zero-dimension space constraint
+    \f$\epsilon \geq 0\f$ (used to implement NNC polyhedra).
   */
-  unsigned long next(unsigned long position) const;
+  static Constraint construct_epsilon_geq_zero();
 
-  //! Returns the index of the last set bit or ULONG_MAX if no bit is set.
-  unsigned long last() const;
+  //! Returns the zero-dimension space constraint \f$\epsilon \geq 0\f$.
+  static const Constraint& epsilon_geq_zero();
 
   /*! \brief
-    Returns the index of the first set bit before \p position
-    or ULONG_MAX if no bits before \p position is set.
+    The zero-dimension space constraint \f$\epsilon \leq 1\f$
+    (used to implement NNC polyhedra).
   */
-  unsigned long prev(unsigned long position) const;
-
-  //! Returns the number of set bits in the row.
-  unsigned long count_ones() const;
-
-  //! Returns <CODE>true</CODE> if no bit is set in the row.
-  bool empty() const;
-
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
-
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+  static const Constraint& epsilon_leq_one();
 
-  //! Checks if all the invariants are satisfied
-  bool OK() const;
+  //! Sets the constraint type to <CODE>EQUALITY</CODE>.
+  void set_is_equality();
 
-private:
-  //! Bit-vector representing the row.
-  mpz_t vec;
+  //! Sets the constraint to be an inequality.
+  /*!
+    Whether the constraint type will become <CODE>NONSTRICT_INEQUALITY</CODE>
+    or <CODE>STRICT_INEQUALITY</CODE> depends on the topology and the value
+    of the low-level coefficients of the constraint.
+  */
+  void set_is_inequality();
+};
 
-  //! Assuming \p w is nonzero, returns the index of the first set bit in \p w.
-  static unsigned int first_one(mp_limb_t w);
+namespace Parma_Polyhedra_Library {
 
-  //! Assuming \p w is nonzero, returns the index of the last set bit in \p w.
-  static unsigned int last_one(mp_limb_t w);
-};
+namespace IO_Operators {
 
-namespace std {
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Constraint */
+std::ostream& operator<<(std::ostream& s, const Constraint& c);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Bit_Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void swap(Parma_Polyhedra_Library::Bit_Row& x,
-	  Parma_Polyhedra_Library::Bit_Row& y);
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Constraint */
+std::ostream& operator<<(std::ostream& s, const Constraint::Type& t);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::iter_swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Bit_Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void
-iter_swap(std::vector<Parma_Polyhedra_Library::Bit_Row>::iterator x,
-	  std::vector<Parma_Polyhedra_Library::Bit_Row>::iterator y);
+} // namespace IO_Operators
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Bit_Row.inlines.hh line 1. */
-/* Bit_Row class implementation: inline functions.
+/* Automatically generated from PPL source file ../src/Constraint.inlines.hh line 1. */
+/* Constraint class implementation: inline functions.
 */
 
 
-/* Automatically generated from PPL source file ../src/Bit_Row.inlines.hh line 27. */
-#include <cassert>
-
-// For the declaration of ffs(3).
-#if defined(PPL_HAVE_STRINGS_H)
-# include <strings.h>
-#elif defined(PPL_HAVE_STRING_H)
-# include <string.h>
-#endif
+/* Automatically generated from PPL source file ../src/Constraint.inlines.hh line 27. */
 
 namespace Parma_Polyhedra_Library {
 
 inline
-Bit_Row::Bit_Row() {
-  mpz_init(vec);
+Constraint::Constraint(Linear_Expression& e, Type type, Topology topology) {
+  PPL_ASSERT(type != STRICT_INEQUALITY || topology == NOT_NECESSARILY_CLOSED);
+  Linear_Row::swap(e);
+  flags() = Flags(topology, (type == EQUALITY
+			     ? LINE_OR_EQUALITY
+			     : RAY_OR_POINT_OR_INEQUALITY));
 }
 
 inline
-Bit_Row::Bit_Row(const Bit_Row& y) {
-  mpz_init_set(vec, y.vec);
+Constraint::Constraint(const Constraint& c)
+  : Linear_Row(c) {
 }
 
 inline
-Bit_Row::~Bit_Row() {
-  mpz_clear(vec);
-}
-
-inline Bit_Row&
-Bit_Row::operator=(const Bit_Row& y) {
-  mpz_set(vec, y.vec);
-  return *this;
+Constraint::Constraint(const Constraint& c, const dimension_type sz)
+  : Linear_Row(c, sz, sz) {
 }
 
-inline void
-Bit_Row::set(const unsigned long k) {
-  mpz_setbit(vec, k);
+inline
+Constraint::~Constraint() {
 }
 
-inline void
-Bit_Row::clear(const unsigned long k) {
-  mpz_clrbit(vec, k);
+inline Constraint&
+Constraint::operator=(const Constraint& c) {
+  Linear_Row::operator=(c);
+  return *this;
 }
 
-inline void
-Bit_Row::clear_from(const unsigned long k) {
-  mpz_tdiv_r_2exp(vec, vec, k);
+inline dimension_type
+Constraint::max_space_dimension() {
+  return Linear_Row::max_space_dimension();
 }
 
-inline unsigned long
-Bit_Row::count_ones() const {
-  assert(vec->_mp_size >= 0);
-  return vec->_mp_size == 0 ? 0 : mpn_popcount(vec->_mp_d, vec->_mp_size);
+inline dimension_type
+Constraint::space_dimension() const {
+  return Linear_Row::space_dimension();
 }
 
 inline bool
-Bit_Row::empty() const {
-  return mpz_sgn(vec) == 0;
-}
-
-inline void
-Bit_Row::swap(Bit_Row& y) {
-  mpz_swap(vec, y.vec);
+Constraint::is_equality() const {
+  return is_line_or_equality();
 }
 
-inline void
-Bit_Row::clear() {
-  mpz_set_ui(vec, 0UL);
+inline bool
+Constraint::is_inequality() const {
+  return is_ray_or_point_or_inequality();
 }
 
-inline memory_size_type
-Bit_Row::external_memory_in_bytes() const {
-  return vec[0]._mp_alloc * PPL_SIZEOF_MP_LIMB_T;
+inline Constraint::Type
+Constraint::type() const {
+  if (is_equality())
+    return EQUALITY;
+  if (is_necessarily_closed())
+    return NONSTRICT_INEQUALITY;
+  else
+    return ((*this)[size() - 1] < 0)
+      ? STRICT_INEQUALITY
+      : NONSTRICT_INEQUALITY;
 }
 
-inline memory_size_type
-Bit_Row::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
+inline bool
+Constraint::is_nonstrict_inequality() const {
+  return type() == NONSTRICT_INEQUALITY;
 }
 
-#if PPL_HAVE_DECL_FFS && PPL_SIZEOF_MP_LIMB_T == PPL_SIZEOF_INT
-
-inline unsigned int
-Bit_Row::first_one(mp_limb_t w) {
-  return ffs(w)-1;
+inline bool
+Constraint::is_strict_inequality() const {
+  return type() == STRICT_INEQUALITY;
 }
 
-#endif
-
-/*! \relates Bit_Row */
 inline void
-set_union(const Bit_Row& x, const Bit_Row& y, Bit_Row& z) {
-  mpz_ior(z.vec, x.vec, y.vec);
+Constraint::set_is_equality() {
+  set_is_line_or_equality();
 }
 
-/*! \relates Bit_Row */
 inline void
-set_intersection(const Bit_Row& x, const Bit_Row& y, Bit_Row& z) {
-  mpz_and(z.vec, x.vec, y.vec);
+Constraint::set_is_inequality() {
+  set_is_ray_or_point_or_inequality();
 }
 
-/*! \relates Bit_Row */
-inline void
-set_difference(const Bit_Row& x, const Bit_Row& y, Bit_Row& z) {
-  PPL_DIRTY_TEMP0(mpz_class, complement_y);
-  mpz_com(complement_y.get_mpz_t(), y.vec);
-  mpz_and(z.vec, x.vec, complement_y.get_mpz_t());
+inline Coefficient_traits::const_reference
+Constraint::coefficient(const Variable v) const {
+  if (v.space_dimension() > space_dimension())
+    throw_dimension_incompatible("coefficient(v)", "v", v);
+  return Linear_Row::coefficient(v.id());
 }
 
-} // namespace Parma_Polyhedra_Library
-
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Bit_Row */
-inline void
-swap(Parma_Polyhedra_Library::Bit_Row& x,
-     Parma_Polyhedra_Library::Bit_Row& y) {
-  x.swap(y);
+inline Coefficient_traits::const_reference
+Constraint::inhomogeneous_term() const {
+  return Linear_Row::inhomogeneous_term();
 }
 
-/*! \relates Parma_Polyhedra_Library::Bit_Row */
-inline void
-iter_swap(std::vector<Parma_Polyhedra_Library::Bit_Row>::iterator x,
-	  std::vector<Parma_Polyhedra_Library::Bit_Row>::iterator y) {
-  swap(*x, *y);
+inline memory_size_type
+Constraint::external_memory_in_bytes() const {
+  return Linear_Row::external_memory_in_bytes();
 }
 
-} // namespace std
-
-/* Automatically generated from PPL source file ../src/Bit_Row.defs.hh line 221. */
-
-/* Automatically generated from PPL source file ../src/Linear_System.inlines.hh line 27. */
-
-namespace Parma_Polyhedra_Library {
-
 inline memory_size_type
-Linear_System::external_memory_in_bytes() const {
-  return Matrix::external_memory_in_bytes();
+Constraint::total_memory_in_bytes() const {
+  return Linear_Row::total_memory_in_bytes();
 }
 
-inline memory_size_type
-Linear_System::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
+/*! \relates Constraint */
+inline bool
+operator==(const Constraint& x, const Constraint& y) {
+  return x.is_equivalent_to(y);
 }
 
+/*! \relates Constraint */
 inline bool
-Linear_System::is_sorted() const {
-  // The flag `sorted' does not really reflect the sortedness status
-  // of a system (if `sorted' evaluates to `false' nothing is known).
-  // This assertion is used to ensure that the system
-  // is actually sorted when `sorted' value is 'true'.
-  assert(!sorted || check_sorted());
-  return sorted;
+operator!=(const Constraint& x, const Constraint& y) {
+  return !x.is_equivalent_to(y);
 }
 
-inline void
-Linear_System::set_sorted(const bool b) {
-  sorted = b;
+/*! \relates Constraint */
+inline Constraint
+operator==(const Linear_Expression& e1, const Linear_Expression& e2) {
+  Linear_Expression diff = e1 - e2;
+  Constraint c(diff, Constraint::EQUALITY, NECESSARILY_CLOSED);
+  // Enforce normalization.
+  c.strong_normalize();
+  return c;
 }
 
-inline
-Linear_System::Linear_System(Topology topol)
-  : Matrix(),
-    row_topology(topol),
-    index_first_pending(0),
-    sorted(true) {
+/*! \relates Constraint */
+inline Constraint
+operator==(const Variable v1, const Variable v2) {
+  Linear_Expression diff
+    = (v1.space_dimension() < v2.space_dimension()) ? v1-v2 : v2-v1;
+  return Constraint(diff, Constraint::EQUALITY, NECESSARILY_CLOSED);
 }
 
-inline
-Linear_System::Linear_System(Topology topol,
-			     dimension_type n_rows, dimension_type n_columns)
-  : Matrix(n_rows, n_columns, Linear_Row::Flags(topol)),
-    row_topology(topol),
-    index_first_pending(n_rows),
-    sorted(true) {
+/*! \relates Constraint */
+inline Constraint
+operator>=(const Linear_Expression& e1, const Linear_Expression& e2) {
+  Linear_Expression diff = e1 - e2;
+  Constraint c(diff, Constraint::NONSTRICT_INEQUALITY, NECESSARILY_CLOSED);
+  // Enforce normalization.
+  c.normalize();
+  return c;
 }
 
-inline dimension_type
-Linear_System::first_pending_row() const {
-  return index_first_pending;
+/*! \relates Constraint */
+inline Constraint
+operator>=(const Variable v1, const Variable v2) {
+  Linear_Expression diff = v1-v2;
+  return Constraint(diff, Constraint::NONSTRICT_INEQUALITY, NECESSARILY_CLOSED);
 }
 
-inline dimension_type
-Linear_System::num_pending_rows() const {
-  assert(num_rows() >= first_pending_row());
-  return num_rows() - first_pending_row();
+/*! \relates Constraint */
+inline Constraint
+operator>(const Linear_Expression& e1, const Linear_Expression& e2) {
+  Linear_Expression diff;
+  // Setting the epsilon coefficient to -1.
+  // NOTE: this also enforces normalization.
+  const dimension_type e1_dim = e1.space_dimension();
+  const dimension_type e2_dim = e2.space_dimension();
+  if (e1_dim > e2_dim)
+    diff -= Variable(e1_dim);
+  else
+    diff -= Variable(e2_dim);
+  diff += e1;
+  diff -= e2;
+
+  Constraint c(diff, Constraint::STRICT_INEQUALITY, NOT_NECESSARILY_CLOSED);
+  return c;
 }
 
-inline void
-Linear_System::unset_pending_rows() {
-  index_first_pending = num_rows();
+/*! \relates Constraint */
+inline Constraint
+operator>(const Variable v1, const Variable v2) {
+  Linear_Expression diff = v1-v2;
+  diff -= Variable(std::max(v1.space_dimension(), v2.space_dimension()));
+  return Constraint(diff,
+                    Constraint::STRICT_INEQUALITY,
+                    NOT_NECESSARILY_CLOSED);
 }
 
-inline void
-Linear_System::set_index_first_pending_row(const dimension_type i) {
-  index_first_pending = i;
+/*! \relates Constraint */
+inline Constraint
+operator==(Coefficient_traits::const_reference n, const Linear_Expression& e) {
+  Linear_Expression diff = n - e;
+  Constraint c(diff, Constraint::EQUALITY, NECESSARILY_CLOSED);
+  // Enforce normalization.
+  c.strong_normalize();
+  return c;
 }
 
-inline
-Linear_System::Linear_System(const Linear_System& y)
-  : Matrix(y),
-    row_topology(y.row_topology) {
-  unset_pending_rows();
-  // Previously pending rows may violate sortedness.
-  sorted = (y.num_pending_rows() > 0) ? false : y.sorted;
-  assert(num_pending_rows() == 0);
+/*! \relates Constraint */
+inline Constraint
+operator>=(Coefficient_traits::const_reference n, const Linear_Expression& e) {
+  Linear_Expression diff = n - e;
+  Constraint c(diff, Constraint::NONSTRICT_INEQUALITY, NECESSARILY_CLOSED);
+  // Enforce normalization.
+  c.normalize();
+  return c;
 }
 
-inline
-Linear_System::Linear_System(const Linear_System& y, With_Pending)
-  : Matrix(y),
-    row_topology(y.row_topology),
-    index_first_pending(y.index_first_pending),
-    sorted(y.sorted) {
+/*! \relates Constraint */
+inline Constraint
+operator>(Coefficient_traits::const_reference n, const Linear_Expression& e) {
+  Linear_Expression diff;
+  // Setting the epsilon coefficient to -1.
+  // NOTE: this also enforces normalization.
+  diff -= Variable(e.space_dimension());
+  diff += n;
+  diff -= e;
+
+  Constraint c(diff, Constraint::STRICT_INEQUALITY, NOT_NECESSARILY_CLOSED);
+  return c;
 }
 
-inline Linear_System&
-Linear_System::operator=(const Linear_System& y) {
-  Matrix::operator=(y);
-  row_topology = y.row_topology;
-  unset_pending_rows();
-  // Previously pending rows may violate sortedness.
-  sorted = (y.num_pending_rows() > 0) ? false : y.sorted;
-  assert(num_pending_rows() == 0);
-  return *this;
+/*! \relates Constraint */
+inline Constraint
+operator==(const Linear_Expression& e, Coefficient_traits::const_reference n) {
+  Linear_Expression diff = e - n;
+  Constraint c(diff, Constraint::EQUALITY, NECESSARILY_CLOSED);
+  // Enforce normalization.
+  c.strong_normalize();
+  return c;
 }
 
-inline void
-Linear_System::assign_with_pending(const Linear_System& y) {
-  Matrix::operator=(y);
-  row_topology = y.row_topology;
-  index_first_pending = y.index_first_pending;
-  sorted = y.sorted;
+/*! \relates Constraint */
+inline Constraint
+operator>=(const Linear_Expression& e, Coefficient_traits::const_reference n) {
+  Linear_Expression diff = e - n;
+  Constraint c(diff, Constraint::NONSTRICT_INEQUALITY, NECESSARILY_CLOSED);
+  // Enforce normalization.
+  c.normalize();
+  return c;
 }
 
-inline void
-Linear_System::swap(Linear_System& y) {
-  Matrix::swap(y);
-  std::swap(row_topology, y.row_topology);
-  std::swap(index_first_pending, y.index_first_pending);
-  std::swap(sorted, y.sorted);
+/*! \relates Constraint */
+inline Constraint
+operator>(const Linear_Expression& e, Coefficient_traits::const_reference n) {
+  Linear_Expression diff;
+  // Setting the epsilon coefficient to -1.
+  // NOTE: this also enforces normalization.
+  diff -= Variable(e.space_dimension());
+  diff += e;
+  diff -= n;
+
+  Constraint c(diff, Constraint::STRICT_INEQUALITY, NOT_NECESSARILY_CLOSED);
+  c.set_not_necessarily_closed();
+  c.set_is_inequality();
+  return c;
 }
 
-inline void
-Linear_System::clear() {
-  // Note: do NOT modify the value of `row_topology'.
-  Matrix::clear();
-  index_first_pending = 0;
-  sorted = true;
+/*! \relates Constraint */
+inline Constraint
+operator<=(const Linear_Expression& e1, const Linear_Expression& e2) {
+  return e2 >= e1;
 }
 
-inline void
-Linear_System::resize_no_copy(const dimension_type new_n_rows,
-			      const dimension_type new_n_columns) {
-  Matrix::resize_no_copy(new_n_rows, new_n_columns,
-			 Linear_Row::Flags(row_topology));
-  // Even though `*this' may happen to keep its sortedness, we believe
-  // that checking such a property is not worth the effort.  In fact,
-  // it is very likely that the system will be overwritten as soon as
-  // we return.
-  set_sorted(false);
+/*! \relates Constraint */
+inline Constraint
+operator<=(const Variable v1, const Variable v2) {
+  return v2 >= v1;
 }
 
-inline void
-Linear_System::set_necessarily_closed() {
-  row_topology = NECESSARILY_CLOSED;
-  if (!has_no_rows())
-    set_rows_topology();
+/*! \relates Constraint */
+inline Constraint
+operator<=(Coefficient_traits::const_reference n, const Linear_Expression& e) {
+  return e >= n;
 }
 
-inline void
-Linear_System::set_not_necessarily_closed() {
-  row_topology = NOT_NECESSARILY_CLOSED;
-  if (!has_no_rows())
-    set_rows_topology();
+/*! \relates Constraint */
+inline Constraint
+operator<=(const Linear_Expression& e, Coefficient_traits::const_reference n) {
+  return n >= e;
+}
+
+/*! \relates Constraint */
+inline Constraint
+operator<(const Linear_Expression& e1, const Linear_Expression& e2) {
+  return e2 > e1;
 }
 
-inline bool
-Linear_System::is_necessarily_closed() const {
-  return row_topology == NECESSARILY_CLOSED;
+/*! \relates Constraint */
+inline Constraint
+operator<(const Variable v1, const Variable v2) {
+  return v2 > v1;
 }
 
-inline Linear_Row&
-Linear_System::operator[](const dimension_type k) {
-  return static_cast<Linear_Row&>(Matrix::operator[](k));
+/*! \relates Constraint */
+inline Constraint
+operator<(Coefficient_traits::const_reference n, const Linear_Expression& e) {
+  return e > n;
 }
 
-inline const Linear_Row&
-Linear_System::operator[](const dimension_type k) const {
-  return static_cast<const Linear_Row&>(Matrix::operator[](k));
+/*! \relates Constraint */
+inline Constraint
+operator<(const Linear_Expression& e, Coefficient_traits::const_reference n) {
+  return n > e;
 }
 
-inline Topology
-Linear_System::topology() const {
-  return row_topology;
+inline const Constraint&
+Constraint::zero_dim_false() {
+  PPL_ASSERT(zero_dim_false_p != 0);
+  return *zero_dim_false_p;
 }
 
-inline dimension_type
-Linear_System::max_space_dimension() {
-  // Column zero holds the inhomogeneous term or the divisor.
-  // In NNC linear systems, the last column holds the coefficient
-  // of the epsilon dimension.
-  return max_num_columns() - 2;
+inline const Constraint&
+Constraint::zero_dim_positivity() {
+  PPL_ASSERT(zero_dim_positivity_p != 0);
+  return *zero_dim_positivity_p;
 }
 
-inline dimension_type
-Linear_System::space_dimension() const {
-  const dimension_type n_columns = num_columns();
-  return (n_columns == 0)
-    ? 0
-    : n_columns - (is_necessarily_closed() ? 1 : 2);
+inline const Constraint&
+Constraint::epsilon_geq_zero() {
+  PPL_ASSERT(epsilon_geq_zero_p != 0);
+  return *epsilon_geq_zero_p;
 }
 
-inline void
-Linear_System::remove_trailing_columns(const dimension_type n) {
-  Matrix::remove_trailing_columns(n);
-  // Have to re-normalize the rows of the system,
-  // since we removed some coefficients.
-  strong_normalize();
+inline const Constraint&
+Constraint::epsilon_leq_one() {
+  PPL_ASSERT(epsilon_leq_one_p != 0);
+  return *epsilon_leq_one_p;
 }
 
 inline void
-Linear_System::permute_columns(const std::vector<dimension_type>& cycles) {
-  Matrix::permute_columns(cycles);
-  // The rows with permuted columns are still normalized but may
-  // be not strongly normalized: sign normalization is necessary.
-  sign_normalize();
+Constraint::ascii_dump(std::ostream& s) const {
+  Linear_Row::ascii_dump(s);
 }
 
-/*! \relates Linear_System */
 inline bool
-operator!=(const Linear_System& x, const Linear_System& y) {
-  return !(x == y);
+Constraint::ascii_load(std::istream& s) {
+  return Linear_Row::ascii_load(s);
 }
 
-inline bool
-Linear_System::Row_Less_Than::operator()(const Row& x, const Row& y) const {
-  return compare(static_cast<const Linear_Row&>(x),
-		 static_cast<const Linear_Row&>(y)) < 0;
+inline void
+Constraint::swap(Constraint& y) {
+  Linear_Row::swap(y);
 }
 
 } // namespace Parma_Polyhedra_Library
 
 namespace std {
 
-/*! \relates Parma_Polyhedra_Library::Linear_System */
+/*! \relates Parma_Polyhedra_Library::Constraint */
 inline void
-swap(Parma_Polyhedra_Library::Linear_System& x,
-     Parma_Polyhedra_Library::Linear_System& y) {
+swap(Parma_Polyhedra_Library::Constraint& x,
+     Parma_Polyhedra_Library::Constraint& y) {
   x.swap(y);
 }
 
 } // namespace std
 
+/* Automatically generated from PPL source file ../src/Constraint.defs.hh line 562. */
+
+/* Automatically generated from PPL source file ../src/Generator.defs.hh line 1. */
+/* Generator class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Generator_System.defs.hh line 1. */
+/* Generator_System class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Poly_Con_Relation.defs.hh line 1. */
+/* Poly_Con_Relation class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Poly_Con_Relation.types.hh line 1. */
+
 
 namespace Parma_Polyhedra_Library {
 
-inline
-Linear_System::With_Bit_Matrix_iterator::
-With_Bit_Matrix_iterator(Iter1 iter1, Iter2 iter2)
-  : i1(iter1), i2(iter2) {
-}
+class Poly_Con_Relation;
 
-inline
-Linear_System::With_Bit_Matrix_iterator::
-With_Bit_Matrix_iterator(const With_Bit_Matrix_iterator& y)
-  : i1(y.i1), i2(y.i2) {
-}
+} // namespace Parma_Polyhedra_Library
 
-inline
-Linear_System::With_Bit_Matrix_iterator::
-~With_Bit_Matrix_iterator() {
-}
+/* Automatically generated from PPL source file ../src/Poly_Con_Relation.defs.hh line 28. */
+#include <iosfwd>
 
-inline Linear_System::With_Bit_Matrix_iterator&
-Linear_System::With_Bit_Matrix_iterator::
-operator=(const With_Bit_Matrix_iterator& y) {
-  i1 = y.i1;
-  i2 = y.i2;
-  return *this;
-}
+namespace Parma_Polyhedra_Library {
 
-inline Linear_System::With_Bit_Matrix_iterator&
-Linear_System::With_Bit_Matrix_iterator::operator++() {
-  ++i1;
-  ++i2;
-  return *this;
-}
+// Put them in the namespace here to declare them friend later.
 
-inline Linear_System::With_Bit_Matrix_iterator
-Linear_System::With_Bit_Matrix_iterator::operator++(int) {
-  With_Bit_Matrix_iterator tmp = *this;
-  operator++();
-  return tmp;
-}
+//! True if and only if \p x and \p y are logically equivalent.
+/*! \relates Poly_Con_Relation */
+bool operator==(const Poly_Con_Relation& x, const Poly_Con_Relation& y);
 
-inline Linear_System::With_Bit_Matrix_iterator&
-Linear_System::With_Bit_Matrix_iterator::operator--() {
-  --i1;
-  --i2;
-  return *this;
+//! True if and only if \p x and \p y are not logically equivalent.
+/*! \relates Poly_Con_Relation */
+bool operator!=(const Poly_Con_Relation& x, const Poly_Con_Relation& y);
+
+//! Yields the logical conjunction of \p x and \p y.
+/*! \relates Poly_Con_Relation */
+Poly_Con_Relation operator&&(const Poly_Con_Relation& x,
+			     const Poly_Con_Relation& y);
+
+/*! \brief
+  Yields the assertion with all the conjuncts of \p x
+  that are not in \p y.
+
+  \relates Poly_Con_Relation
+*/
+Poly_Con_Relation operator-(const Poly_Con_Relation& x,
+			    const Poly_Con_Relation& y);
+
+namespace IO_Operators {
+
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Poly_Con_Relation */
+std::ostream& operator<<(std::ostream& s, const Poly_Con_Relation& r);
+
+} // namespace IO_Operators
+
+} // namespace Parma_Polyhedra_Library
+
+
+//! The relation between a polyhedron and a constraint.
+/*! \ingroup PPL_CXX_interface
+  This class implements conjunctions of assertions on the relation
+  between a polyhedron and a constraint.
+*/
+class Parma_Polyhedra_Library::Poly_Con_Relation {
+private:
+  //! Poly_Con_Relation is implemented by means of a finite bitset.
+  typedef unsigned int flags_t;
+
+  //! \name Bit-masks for the individual assertions
+  //@{
+  static const flags_t NOTHING             = 0U;
+  static const flags_t IS_DISJOINT         = 1U << 0;
+  static const flags_t STRICTLY_INTERSECTS = 1U << 1;
+  static const flags_t IS_INCLUDED         = 1U << 2;
+  static const flags_t SATURATES           = 1U << 3;
+  //@} // Bit-masks for the individual assertions
+
+  //! All assertions together.
+  static const flags_t EVERYTHING
+  = IS_DISJOINT
+  | STRICTLY_INTERSECTS
+  | IS_INCLUDED
+  | SATURATES;
+
+  //! This holds the current bitset.
+  flags_t flags;
+
+  //! True if and only if the conjunction \p x implies the conjunction \p y.
+  static bool implies(flags_t x, flags_t y);
+
+  //! Construct from a bit-mask.
+  Poly_Con_Relation(flags_t mask);
+
+  friend bool
+  operator==(const Poly_Con_Relation& x, const Poly_Con_Relation& y);
+  friend bool
+  operator!=(const Poly_Con_Relation& x, const Poly_Con_Relation& y);
+
+  friend Poly_Con_Relation
+  operator&&(const Poly_Con_Relation& x, const Poly_Con_Relation& y);
+
+  friend Poly_Con_Relation
+  operator-(const Poly_Con_Relation& x, const Poly_Con_Relation& y);
+
+  friend std::ostream&
+  Parma_Polyhedra_Library::
+  IO_Operators::operator<<(std::ostream& s, const Poly_Con_Relation& r);
+
+public:
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Access the internal flags: this is needed for some language
+    interfaces.
+  */
+#endif
+  flags_t get_flags() const;
+
+public:
+  //! The assertion that says nothing.
+  static Poly_Con_Relation nothing();
+
+  /*! \brief
+    The polyhedron and the set of points satisfying
+    the constraint are disjoint.
+  */
+  static Poly_Con_Relation is_disjoint();
+
+  /*! \brief
+    The polyhedron intersects the set of points satisfying
+    the constraint, but it is not included in it.
+  */
+  static Poly_Con_Relation strictly_intersects();
+
+  /*! \brief
+    The polyhedron is included in the set of points satisfying
+    the constraint.
+  */
+  static Poly_Con_Relation is_included();
+
+  /*! \brief
+    The polyhedron is included in the set of points saturating
+    the constraint.
+  */
+  static Poly_Con_Relation saturates();
+
+  PPL_OUTPUT_DECLARATIONS
+
+  //! True if and only if \p *this implies \p y.
+  bool implies(const Poly_Con_Relation& y) const;
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+};
+
+/* Automatically generated from PPL source file ../src/Poly_Con_Relation.inlines.hh line 1. */
+/* Poly_Con_Relation class implementation: inline functions.
+*/
+
+
+namespace Parma_Polyhedra_Library {
+
+inline
+Poly_Con_Relation::Poly_Con_Relation(flags_t mask)
+  : flags(mask) {
 }
 
-inline Linear_System::With_Bit_Matrix_iterator
-Linear_System::With_Bit_Matrix_iterator::operator--(int) {
-  With_Bit_Matrix_iterator tmp = *this;
-  operator--();
-  return tmp;
+inline Poly_Con_Relation::flags_t
+Poly_Con_Relation::get_flags() const {
+  return flags;
 }
 
-inline Linear_System::With_Bit_Matrix_iterator&
-Linear_System::With_Bit_Matrix_iterator::operator+=(difference_type d) {
-  i1 += d;
-  i2 += d;
-  return *this;
+inline Poly_Con_Relation
+Poly_Con_Relation::nothing() {
+  return Poly_Con_Relation(NOTHING);
 }
 
-inline Linear_System::With_Bit_Matrix_iterator
-Linear_System::With_Bit_Matrix_iterator::
-operator+(difference_type d) const {
-  With_Bit_Matrix_iterator tmp = *this;
-  tmp += d;
-  return tmp;
+inline Poly_Con_Relation
+Poly_Con_Relation::is_disjoint() {
+  return Poly_Con_Relation(IS_DISJOINT);
 }
 
-inline Linear_System::With_Bit_Matrix_iterator&
-Linear_System::With_Bit_Matrix_iterator::operator-=(difference_type d) {
-  i1 -= d;
-  i2 -= d;
-  return *this;
+inline Poly_Con_Relation
+Poly_Con_Relation::strictly_intersects() {
+  return Poly_Con_Relation(STRICTLY_INTERSECTS);
 }
 
-inline Linear_System::With_Bit_Matrix_iterator
-Linear_System::With_Bit_Matrix_iterator::
-operator-(difference_type d) const {
-  With_Bit_Matrix_iterator tmp = *this;
-  tmp -= d;
-  return tmp;
+inline Poly_Con_Relation
+Poly_Con_Relation::is_included() {
+  return Poly_Con_Relation(IS_INCLUDED);
 }
 
-inline Linear_System::With_Bit_Matrix_iterator::difference_type
-Linear_System::With_Bit_Matrix_iterator::
-operator-(const With_Bit_Matrix_iterator& y) const {
-  return i1 - y.i1;
+inline Poly_Con_Relation
+Poly_Con_Relation::saturates() {
+  return Poly_Con_Relation(SATURATES);
 }
 
 inline bool
-Linear_System::With_Bit_Matrix_iterator::
-operator==(const With_Bit_Matrix_iterator& y) const {
-  return i1 == y.i1;
+Poly_Con_Relation::implies(flags_t x, flags_t y) {
+  return (x & y) == y;
 }
 
 inline bool
-Linear_System::With_Bit_Matrix_iterator::
-operator!=(const With_Bit_Matrix_iterator& y) const {
-  return i1 != y.i1;
+Poly_Con_Relation::implies(const Poly_Con_Relation& y) const {
+  return implies(flags, y.flags);
 }
 
+/*! \relates Poly_Con_Relation */
 inline bool
-Linear_System::With_Bit_Matrix_iterator::
-operator<(const With_Bit_Matrix_iterator& y) const {
-  return i1 < y.i1;
+operator==(const Poly_Con_Relation& x, const Poly_Con_Relation& y) {
+  return x.flags == y.flags;
 }
 
-inline Linear_System::With_Bit_Matrix_iterator::reference
-Linear_System::With_Bit_Matrix_iterator::operator*() const {
-  return *i1;
+/*! \relates Poly_Con_Relation */
+inline bool
+operator!=(const Poly_Con_Relation& x, const Poly_Con_Relation& y) {
+  return x.flags != y.flags;
 }
 
-inline Linear_System::With_Bit_Matrix_iterator::pointer
-Linear_System::With_Bit_Matrix_iterator::operator->() const {
-  return &*i1;
+/*! \relates Poly_Con_Relation */
+inline Poly_Con_Relation
+operator&&(const Poly_Con_Relation& x, const Poly_Con_Relation& y) {
+  return Poly_Con_Relation(x.flags | y.flags);
 }
 
-inline void
-Linear_System::With_Bit_Matrix_iterator::
-iter_swap(const With_Bit_Matrix_iterator& y) const {
-  std::iter_swap(i1, y.i1);
-  std::iter_swap(i2, y.i2);
+/*! \relates Poly_Con_Relation */
+inline Poly_Con_Relation
+operator-(const Poly_Con_Relation& x, const Poly_Con_Relation& y) {
+  return Poly_Con_Relation(x.flags & ~y.flags);
 }
 
 } // namespace Parma_Polyhedra_Library
 
-namespace std {
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \relates Parma_Polyhedra_Library::Linear_System::With_Bit_Matrix_iterator */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-inline void
-iter_swap(Parma_Polyhedra_Library
-	  ::Linear_System::With_Bit_Matrix_iterator x,
-	  Parma_Polyhedra_Library
-	  ::Linear_System::With_Bit_Matrix_iterator y) {
-  x.iter_swap(y);
-}
-
-} // namespace std
-
-/* Automatically generated from PPL source file ../src/Linear_System.defs.hh line 515. */
+/* Automatically generated from PPL source file ../src/Poly_Con_Relation.defs.hh line 164. */
 
-/* Automatically generated from PPL source file ../src/Constraint_System.defs.hh line 33. */
-#include <iterator>
+/* Automatically generated from PPL source file ../src/Generator_System.defs.hh line 34. */
 #include <iosfwd>
 
 namespace Parma_Polyhedra_Library {
@@ -16753,11 +19792,11 @@ namespace IO_Operators {
 
 //! Output operator.
 /*!
-  \relates Parma_Polyhedra_Library::Constraint_System
-  Writes <CODE>true</CODE> if \p cs is empty.  Otherwise, writes on
-  \p s the constraints of \p cs, all in one row and separated by ", ".
+  \relates Parma_Polyhedra_Library::Generator_System
+  Writes <CODE>false</CODE> if \p gs is empty.  Otherwise, writes on
+  \p s the generators of \p gs, all in one row and separated by ", ".
 */
-std::ostream& operator<<(std::ostream& s, const Constraint_System& cs);
+std::ostream& operator<<(std::ostream& s, const Generator_System& gs);
 
 } // namespace IO_Operators
 
@@ -16771,22 +19810,28 @@ bool operator==(const Polyhedron& x, const Polyhedron& y);
 namespace std {
 
 //! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Constraint_System */
-void swap(Parma_Polyhedra_Library::Constraint_System& x,
-	  Parma_Polyhedra_Library::Constraint_System& y);
+/*! \relates Parma_Polyhedra_Library::Generator_System */
+void swap(Parma_Polyhedra_Library::Generator_System& x,
+	  Parma_Polyhedra_Library::Generator_System& y);
 
 } // namespace std
 
-//! A system of constraints.
+//! A system of generators.
 /*! \ingroup PPL_CXX_interface
-    An object of the class Constraint_System is a system of constraints,
-    i.e., a multiset of objects of the class Constraint.
-    When inserting constraints in a system, space dimensions are
-    automatically adjusted so that all the constraints in the system
-    are defined on the same vector space.
+    An object of the class Generator_System is a system of generators,
+    i.e., a multiset of objects of the class Generator
+    (lines, rays, points and closure points).
+    When inserting generators in a system, space dimensions are automatically
+    adjusted so that all the generators in the system are defined
+    on the same vector space.
+    A system of generators which is meant to define a non-empty
+    polyhedron must include at least one point: the reason is that
+    lines, rays and closure points need a supporting point
+    (lines and rays only specify directions while closure points only
+    specify points in the topological closure of the NNC polyhedron).
 
     \par
-    In all the examples it is assumed that variables
+     In all the examples it is assumed that variables
     <CODE>x</CODE> and <CODE>y</CODE> are defined as follows:
     \code
   Variable x(0);
@@ -16794,93 +19839,133 @@ void swap(Parma_Polyhedra_Library::Constraint_System& x,
     \endcode
 
     \par Example 1
-    The following code builds a system of constraints corresponding to
-    a square in \f$\Rset^2\f$:
+    The following code defines the line having the same direction
+    as the \f$x\f$ axis (i.e., the first Cartesian axis)
+    in \f$\Rset^2\f$:
     \code
-  Constraint_System cs;
-  cs.insert(x >= 0);
-  cs.insert(x <= 3);
-  cs.insert(y >= 0);
-  cs.insert(y <= 3);
+  Generator_System gs;
+  gs.insert(line(x + 0*y));
+    \endcode
+    As said above, this system of generators corresponds to
+    an empty polyhedron, because the line has no supporting point.
+    To define a system of generators that does correspond to
+    the \f$x\f$ axis, we can add the following code which
+    inserts the origin of the space as a point:
+    \code
+  gs.insert(point(0*x + 0*y));
+    \endcode
+    Since space dimensions are automatically adjusted, the following
+    code obtains the same effect:
+    \code
+  gs.insert(point(0*x));
+    \endcode
+    In contrast, if we had added the following code, we would have
+    defined a line parallel to the \f$x\f$ axis through
+    the point \f$(0, 1)^\transpose \in \Rset^2\f$.
+    \code
+  gs.insert(point(0*x + 1*y));
     \endcode
-    Note that:
-    the constraint system is created with space dimension zero;
-    the first and third constraint insertions increase the space
-    dimension to \f$1\f$ and \f$2\f$, respectively.
 
     \par Example 2
-    By adding four strict inequalities to the constraint system
-    of the previous example, we can remove just the four
-    vertices from the square defined above.
+    The following code builds a ray having the same direction as
+    the positive part of the \f$x\f$ axis in \f$\Rset^2\f$:
     \code
-  cs.insert(x + y > 0);
-  cs.insert(x + y < 6);
-  cs.insert(x - y < 3);
-  cs.insert(y - x < 3);
+  Generator_System gs;
+  gs.insert(ray(x + 0*y));
+    \endcode
+    To define a system of generators indeed corresponding to the set
+    \f[
+      \bigl\{\,
+        (x, 0)^\transpose \in \Rset^2
+      \bigm|
+        x \geq 0
+      \,\bigr\},
+    \f]
+    one just has to add the origin:
+    \code
+  gs.insert(point(0*x + 0*y));
     \endcode
 
     \par Example 3
-    The following code builds a system of constraints corresponding to
-    a half-strip in \f$\Rset^2\f$:
+    The following code builds a system of generators having four points
+    and corresponding to a square in \f$\Rset^2\f$
+    (the same as Example 1 for the system of constraints):
     \code
-  Constraint_System cs;
-  cs.insert(x >= 0);
-  cs.insert(x - y <= 0);
-  cs.insert(x - y + 1 >= 0);
+  Generator_System gs;
+  gs.insert(point(0*x + 0*y));
+  gs.insert(point(0*x + 3*y));
+  gs.insert(point(3*x + 0*y));
+  gs.insert(point(3*x + 3*y));
+    \endcode
+
+    \par Example 4
+    By using closure points, we can define the \e kernel
+    (i.e., the largest open set included in a given set)
+    of the square defined in the previous example.
+    Note that a supporting point is needed and, for that purpose,
+    any inner point could be considered.
+    \code
+  Generator_System gs;
+  gs.insert(point(x + y));
+  gs.insert(closure_point(0*x + 0*y));
+  gs.insert(closure_point(0*x + 3*y));
+  gs.insert(closure_point(3*x + 0*y));
+  gs.insert(closure_point(3*x + 3*y));
+    \endcode
+
+    \par Example 5
+    The following code builds a system of generators having two points
+    and a ray, corresponding to a half-strip in \f$\Rset^2\f$
+    (the same as Example 2 for the system of constraints):
+    \code
+  Generator_System gs;
+  gs.insert(point(0*x + 0*y));
+  gs.insert(point(0*x + 1*y));
+  gs.insert(ray(x - y));
     \endcode
 
     \note
-    After inserting a multiset of constraints in a constraint system,
+    After inserting a multiset of generators in a generator system,
     there are no guarantees that an <EM>exact</EM> copy of them
     can be retrieved:
-    in general, only an <EM>equivalent</EM> constraint system
-    will be available, where original constraints may have been
-    reordered, removed (if they are trivial, duplicate or
-    implied by other constraints), linearly combined, etc.
+    in general, only an <EM>equivalent</EM> generator system
+    will be available, where original generators may have been
+    reordered, removed (if they are duplicate or redundant), etc.
 */
-class Parma_Polyhedra_Library::Constraint_System : private Linear_System {
+class Parma_Polyhedra_Library::Generator_System : protected Linear_System {
 public:
-  //! Default constructor: builds an empty system of constraints.
-  Constraint_System();
-
-  //! Builds the singleton system containing only constraint \p c.
-  explicit Constraint_System(const Constraint& c);
+  //! Default constructor: builds an empty system of generators.
+  Generator_System();
 
-  //! Builds a system containing copies of any equalities in \p cgs.
-  explicit Constraint_System(const Congruence_System& cgs);
+  //! Builds the singleton system containing only generator \p g.
+  explicit Generator_System(const Generator& g);
 
-  //! Ordinary copy-constructor.
-  Constraint_System(const Constraint_System& cs);
+  //! Ordinary copy constructor.
+  Generator_System(const Generator_System& gs);
 
   //! Destructor.
-  ~Constraint_System();
+  ~Generator_System();
 
   //! Assignment operator.
-  Constraint_System& operator=(const Constraint_System& y);
+  Generator_System& operator=(const Generator_System& y);
 
-  //! Returns the maximum space dimension a Constraint_System can handle.
+  //! Returns the maximum space dimension a Generator_System can handle.
   static dimension_type max_space_dimension();
 
   //! Returns the dimension of the vector space enclosing \p *this.
   dimension_type space_dimension() const;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this
-    contains one or more strict inequality constraints.
-  */
-  bool has_strict_inequalities() const;
-
-  /*! \brief
-    Removes all the constraints from the constraint system
+    Removes all the generators from the generator system
     and sets its space dimension to 0.
   */
   void clear();
 
   /*! \brief
-    Inserts in \p *this a copy of the constraint \p c,
+    Inserts in \p *this a copy of the generator \p g,
     increasing the number of space dimensions if needed.
   */
-  void insert(const Constraint& c);
+  void insert(const Generator& g);
 
   //! Initializes the class.
   static void initialize();
@@ -16889,36 +19974,42 @@ public:
   static void finalize();
 
   /*! \brief
-    Returns the singleton system containing only Constraint::zero_dim_false().
+    Returns the singleton system containing only Generator::zero_dim_point().
   */
-  static const Constraint_System& zero_dim_empty();
+  static const Generator_System& zero_dim_univ();
 
-  //! An iterator over a system of constraints.
+  //! An iterator over a system of generators
   /*! \ingroup PPL_CXX_interface
-    A const_iterator is used to provide read-only access
-    to each constraint contained in a Constraint_System object.
+      A const_iterator is used to provide read-only access
+      to each generator contained in an object of Generator_System.
 
-    \par Example
-    The following code prints the system of constraints
-    defining the polyhedron <CODE>ph</CODE>:
-    \code
-  const Constraint_System& cs = ph.constraints();
-  for (Constraint_System::const_iterator i = cs.begin(),
-         cs_end = cs.end(); i != cs_end; ++i)
+      \par Example
+      The following code prints the system of generators
+      of the polyhedron <CODE>ph</CODE>:
+      \code
+  const Generator_System& gs = ph.generators();
+  for (Generator_System::const_iterator i = gs.begin(),
+         gs_end = gs.end(); i != gs_end; ++i)
     cout << *i << endl;
-    \endcode
+      \endcode
+      The same effect can be obtained more concisely by using
+      more features of the STL:
+      \code
+  const Generator_System& gs = ph.generators();
+  copy(gs.begin(), gs.end(), ostream_iterator<Generator>(cout, "\n"));
+      \endcode
   */
   class const_iterator
     : public std::iterator<std::forward_iterator_tag,
-			   Constraint,
+			   Generator,
 			   ptrdiff_t,
-			   const Constraint*,
-			   const Constraint&> {
+			   const Generator*,
+			   const Generator&> {
   public:
     //! Default constructor.
     const_iterator();
 
-    //! Ordinary copy-constructor.
+    //! Ordinary copy constructor.
     const_iterator(const const_iterator& y);
 
     //! Destructor.
@@ -16928,10 +20019,10 @@ public:
     const_iterator& operator=(const const_iterator& y);
 
     //! Dereference operator.
-    const Constraint& operator*() const;
+    const Generator& operator*() const;
 
     //! Indirect member selector.
-    const Constraint* operator->() const;
+    const Generator* operator->() const;
 
     //! Prefix increment operator.
     const_iterator& operator++();
@@ -16952,27 +20043,30 @@ public:
     bool operator!=(const const_iterator& y) const;
 
   private:
-    friend class Constraint_System;
+    friend class Generator_System;
 
-    //! The const iterator over the matrix of constraints.
+    //! The const iterator over the Linear_System.
     Linear_System::const_iterator i;
 
-    //! A const pointer to the matrix of constraints.
-    const Linear_System* csp;
+    //! A const pointer to the Linear_System.
+    const Linear_System* gsp;
 
     //! Constructor.
     const_iterator(const Linear_System::const_iterator& iter,
-		   const Constraint_System& csys);
+		   const Generator_System& gsys);
 
-    //! \p *this skips to the next non-trivial constraint.
+    /*! \brief
+      \p *this skips to the next generator, skipping those
+      closure points that are immediately followed by a matching point.
+    */
     void skip_forward();
   };
 
-  //! Returns <CODE>true</CODE> if and only if \p *this has no constraints.
+  //! Returns <CODE>true</CODE> if and only if \p *this has no generators.
   bool empty() const;
 
   /*! \brief
-    Returns the const_iterator pointing to the first constraint,
+    Returns the const_iterator pointing to the first generator,
     if \p *this is not empty;
     otherwise, returns the past-the-end const_iterator.
   */
@@ -16982,12 +20076,10 @@ public:
   const_iterator end() const;
 
   //! Checks if all the invariants are satisfied.
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
   /*!
     Returns <CODE>true</CODE> if and only if \p *this is a valid
-    Linear_System and each row in the system is a valid Constraint.
+    Linear_System and each row in the system is a valid Generator.
   */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
   bool OK() const;
 
   PPL_OUTPUT_DECLARATIONS
@@ -16996,6 +20088,10 @@ public:
     Loads from \p s an ASCII representation (as produced by
     ascii_dump(std::ostream&) const) and sets \p *this accordingly.
     Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+
+    Resizes the matrix of generators using the numbers of rows and columns
+    read from \p s, then initializes the coordinates of each generator
+    and its type reading the contents from \p s.
   */
   bool ascii_load(std::istream& s);
 
@@ -17006,30 +20102,31 @@ public:
   memory_size_type external_memory_in_bytes() const;
 
   //! Swaps \p *this with \p y.
-  void swap(Constraint_System& y);
+  void swap(Generator_System& y);
 
 private:
   /*! \brief
     Holds (between class initialization and finalization) a pointer to
-    the singleton system containing only Constraint::zero_dim_false().
+    the singleton system containing only Generator::zero_dim_point().
   */
-  static const Constraint_System* zero_dim_empty_p;
+  static const Generator_System* zero_dim_univ_p;
 
   friend class const_iterator;
   friend class Parma_Polyhedra_Library::Polyhedron;
+  friend class Parma_Polyhedra_Library::Grid_Generator_System;
 
   friend bool operator==(const Polyhedron& x, const Polyhedron& y);
 
-  //! Builds an empty system of constraints having the specified topology.
-  explicit Constraint_System(Topology topol);
+  //! Builds an empty system of generators having the specified topology.
+  explicit Generator_System(Topology topol);
 
   /*! \brief
-    Builds a system of \p n_rows constraints on a \p n_columns - 1
+    Builds a system of \p n_rows rays/points on a \p n_columns - 1
     dimensional space (including the \f$\epsilon\f$ dimension, if
     \p topol is <CODE>NOT_NECESSARILY_CLOSED</CODE>).
   */
-  Constraint_System(Topology topol,
-		    dimension_type n_rows, dimension_type n_columns);
+  Generator_System(Topology topol,
+		   dimension_type n_rows, dimension_type n_columns);
 
   /*! \brief
     Adjusts \p *this so that it matches the topology and
@@ -17037,24 +20134,79 @@ private:
     (adding or removing columns if needed).
     Returns <CODE>false</CODE> if and only if \p topol is
     equal to <CODE>NECESSARILY_CLOSED</CODE> and \p *this
-    contains strict inequalities.
+    contains closure points.
   */
   bool adjust_topology_and_space_dimension(Topology topol,
 					   dimension_type num_dimensions);
 
-  //! Returns the \p k- th constraint of the system.
-  Constraint& operator[](dimension_type k);
+  /*! \brief
+    For each unmatched closure point in \p *this, adds the
+    corresponding point.
 
-  //! Returns a constant reference to the \p k- th constraint of the system.
-  const Constraint& operator[](dimension_type k) const;
+    It is assumed that the topology of \p *this
+    is <CODE>NOT_NECESSARILY_CLOSED</CODE>.
+  */
+  void add_corresponding_points();
 
-  //! Returns <CODE>true</CODE> if \p g satisfies all the constraints.
-  bool satisfies_all_constraints(const Generator& g) const;
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this
+    contains one or more points.
+  */
+  bool has_points() const;
 
-  //! Substitutes a given column of coefficients by a given affine expression.
+  /*! \brief
+    For each unmatched point in \p *this, adds the corresponding
+    closure point.
+
+    It is assumed that the topology of \p *this
+    is <CODE>NOT_NECESSARILY_CLOSED</CODE>.
+  */
+  void add_corresponding_closure_points();
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this
+    contains one or more closure points.
+
+    Note: the check for the presence of closure points is
+    done under the point of view of the user. Namely, we scan
+    the generator system using high-level iterators, so that
+    closure points that are matching the corresponding points
+    will be disregarded.
+  */
+  bool has_closure_points() const;
+
+  //! Returns the \p k- th generator of the system.
+  Generator& operator[](dimension_type k);
+
+  //! Returns a constant reference to the \p k- th generator of the system.
+  const Generator& operator[](dimension_type k) const;
+
+  /*! \brief
+    Returns the relations holding between the generator system
+    and the constraint \p c.
+  */
+  Parma_Polyhedra_Library::Poly_Con_Relation
+  relation_with(const Constraint& c) const;
+
+  //! Returns <CODE>true</CODE> if all the generators satisfy \p c.
+  bool satisfied_by_all_generators(const Constraint& c) const;
+
+  //! Returns <CODE>true</CODE> if all the generators satisfy \p c.
+  /*!
+    It is assumed that <CODE>c.is_necessarily_closed()</CODE> holds.
+  */
+  bool satisfied_by_all_generators_C(const Constraint& c) const;
+
+  //! Returns <CODE>true</CODE> if all the generators satisfy \p c.
+  /*!
+    It is assumed that <CODE>c.is_necessarily_closed()</CODE> does not hold.
+  */
+  bool satisfied_by_all_generators_NNC(const Constraint& c) const;
+
+  //! Assigns to a given variable an affine expression.
   /*!
     \param v
-    Index of the column to which the affine transformation is substituted.
+    Index of the column to which the affine transformation is assigned;
 
     \param expr
     The numerator of the affine transformation:
@@ -17063,211 +20215,264 @@ private:
     \param denominator
     The denominator of the affine transformation.
 
-    We want to allow affine transformations
-    (see Section \ref Images_and_Preimages_of_Affine_Transfer_Relations)
-    having any rational coefficients. Since the coefficients of the
-    constraints are integers we must also provide an integer \p
-    denominator that will be used as denominator of the affine
-    transformation.
+    We want to allow affine transformations (see the Introduction) having
+    any rational coefficients. Since the coefficients of the
+    constraints are integers we must also provide an integer \p denominator
+    that will be used as denominator of the affine transformation.
     The denominator is required to be a positive integer.
 
-    The affine transformation substitutes the matrix of constraints
-    by a new matrix whose elements \f${a'}_{ij}\f$ are built from
-    the old one \f$a_{ij}\f$ as follows:
+    The affine transformation assigns to each element of \p v -th
+    column the follow expression:
     \f[
-      {a'}_{ij} =
-        \begin{cases}
-          a_{ij} * \mathrm{denominator} + a_{iv} * \mathrm{expr}[j]
-            \quad \text{for } j \neq v; \\
-          \mathrm{expr}[v] * a_{iv}
-            \quad \text{for } j = v.
-        \end{cases}
+      \frac{\sum_{i = 0}^{n - 1} a_i x_i + b}
+           {\mathrm{denominator}}.
     \f]
 
     \p expr is a constant parameter and unaltered by this computation.
   */
-  void affine_preimage(dimension_type v,
-		       const Linear_Expression& expr,
-		       Coefficient_traits::const_reference denominator);
+  void affine_image(dimension_type v,
+		    const Linear_Expression& expr,
+		    Coefficient_traits::const_reference denominator);
 
-  //! Returns the number of equality constraints.
-  dimension_type num_equalities() const;
+  //! Returns the number of lines of the system.
+  dimension_type num_lines() const;
 
-  //! Returns the number of inequality constraints.
-  dimension_type num_inequalities() const;
+  //! Returns the number of rays of the system.
+  dimension_type num_rays() const;
+
+  //! Removes all the invalid lines and rays.
+  /*!
+    The invalid lines and rays are those with all
+    the homogeneous terms set to zero.
+  */
+  void remove_invalid_lines_and_rays();
 
   /*! \brief
     Applies Gaussian elimination and back-substitution so as
-    to provide a partial simplification of the system of constraints.
+    to provide a partial simplification of the system of generators.
 
-    It is assumed that the system has no pending constraints.
+    It is assumed that the system has no pending generators.
   */
   void simplify();
 
   /*! \brief
-    Inserts in \p *this a copy of the constraint \p c,
+    Inserts in \p *this a copy of the generator \p g,
     increasing the number of space dimensions if needed.
-    It is a pending constraint.
+    It is a pending generator.
   */
-  void insert_pending(const Constraint& c);
-
-  //! Adds low-level constraints to the constraint system.
-  void add_low_level_constraints();
+  void insert_pending(const Generator& g);
 };
 
-// Constraint_System.inlines.hh is not included here on purpose.
+// Generator_System.inlines.hh is not included here on purpose.
+
+/* Automatically generated from PPL source file ../src/distances.defs.hh line 1. */
+/* Class declarations for several distances.
+*/
+
+
+/* Automatically generated from PPL source file ../src/distances.types.hh line 1. */
 
-/* Automatically generated from PPL source file ../src/Constraint.defs.hh line 34. */
-#include <iosfwd>
 
 namespace Parma_Polyhedra_Library {
 
-// Put them in the namespace here to declare them friend later.
+template <typename Temp>
+struct Rectilinear_Distance_Specialization;
 
-//! Returns <CODE>true</CODE> if and only if \p x is equivalent to \p y.
-/*! \relates Constraint */
-bool
-operator==(const Constraint& x, const Constraint& y);
+template <typename Temp>
+struct Euclidean_Distance_Specialization;
 
-//! Returns <CODE>true</CODE> if and only if \p x is not equivalent to \p y.
-/*! \relates Constraint */
-bool
-operator!=(const Constraint& x, const Constraint& y);
+template <typename Temp>
+struct L_Infinity_Distance_Specialization;
 
-//! Returns the constraint \p e1 = \p e2.
-/*! \relates Constraint */
-Constraint
-operator==(const Linear_Expression& e1, const Linear_Expression& e2);
+} // namespace Parma_Polyhedra_Library
 
-//! Returns the constraint \p v1 = \p v2.
-/*! \relates Constraint */
-Constraint
-operator==(Variable v1, Variable v2);
+/* Automatically generated from PPL source file ../src/distances.defs.hh line 28. */
 
-//! Returns the constraint \p e = \p n.
-/*! \relates Constraint */
-Constraint
-operator==(const Linear_Expression& e, Coefficient_traits::const_reference n);
+template <typename Temp>
+struct Parma_Polyhedra_Library::Rectilinear_Distance_Specialization {
+  static void combine(Temp& running, const Temp& current, Rounding_Dir dir);
 
-//! Returns the constraint \p n = \p e.
-/*! \relates Constraint */
-Constraint
-operator==(Coefficient_traits::const_reference n, const Linear_Expression& e);
+  static void finalize(Temp&, Rounding_Dir);
+};
 
-//! Returns the constraint \p e1 \<= \p e2.
-/*! \relates Constraint */
-Constraint
-operator<=(const Linear_Expression& e1, const Linear_Expression& e2);
+template <typename Temp>
+struct Parma_Polyhedra_Library::Euclidean_Distance_Specialization {
+  static void combine(Temp& running, Temp& current, Rounding_Dir dir);
 
-//! Returns the constraint \p v1 \<= \p v2.
-/*! \relates Constraint */
-Constraint
-operator<=(Variable v1, Variable v2);
+  static void finalize(Temp& running, Rounding_Dir dir);
+};
 
-//! Returns the constraint \p e \<= \p n.
-/*! \relates Constraint */
-Constraint
-operator<=(const Linear_Expression& e, Coefficient_traits::const_reference n);
 
-//! Returns the constraint \p n \<= \p e.
-/*! \relates Constraint */
-Constraint
-operator<=(Coefficient_traits::const_reference n, const Linear_Expression& e);
+template <typename Temp>
+struct Parma_Polyhedra_Library::L_Infinity_Distance_Specialization {
+  static void combine(Temp& running, const Temp& current, Rounding_Dir);
 
-//! Returns the constraint \p e1 \>= \p e2.
-/*! \relates Constraint */
-Constraint
-operator>=(const Linear_Expression& e1, const Linear_Expression& e2);
+  static void finalize(Temp&, Rounding_Dir);
+};
 
-//! Returns the constraint \p v1 \>= \p v2.
-/*! \relates Constraint */
-Constraint
-operator>=(Variable v1, Variable v2);
+/* Automatically generated from PPL source file ../src/distances.inlines.hh line 1. */
+/* Inline functions implementing distances.
+*/
 
-//! Returns the constraint \p e \>= \p n.
-/*! \relates Constraint */
-Constraint
-operator>=(const Linear_Expression& e, Coefficient_traits::const_reference n);
 
-//! Returns the constraint \p n \>= \p e.
-/*! \relates Constraint */
-Constraint
-operator>=(Coefficient_traits::const_reference n, const Linear_Expression& e);
+/* Automatically generated from PPL source file ../src/distances.inlines.hh line 27. */
 
-//! Returns the constraint \p e1 \< \p e2.
-/*! \relates Constraint */
-Constraint
-operator<(const Linear_Expression& e1, const Linear_Expression& e2);
+namespace Parma_Polyhedra_Library {
 
-//! Returns the constraint \p v1 \< \p v2.
-/*! \relates Constraint */
-Constraint
-operator<(Variable v1, Variable v2);
+// A struct to work around the lack of partial specialization
+// of function templates in C++.
+template <typename To, typename From>
+struct maybe_assign_struct {
+  static inline Result
+  function(const To*& top, To& tmp, const From& from, Rounding_Dir dir) {
+    // When `To' and `From' are different types, we make the conversion
+    // and use `tmp'.
+    top = &tmp;
+    return assign_r(tmp, from, dir);
+  }
+};
 
-//! Returns the constraint \p e \< \p n.
-/*! \relates Constraint */
-Constraint
-operator<(const Linear_Expression& e, Coefficient_traits::const_reference n);
+template <typename Type>
+struct maybe_assign_struct<Type, Type> {
+  static inline Result
+  function(const Type*& top, Type&, const Type& from, Rounding_Dir) {
+    // When the types are the same, conversion is unnecessary.
+    top = &from;
+    return V_EQ;
+  }
+};
 
-//! Returns the constraint \p n \< \p e.
-/*! \relates Constraint */
-Constraint
-operator<(Coefficient_traits::const_reference n, const Linear_Expression& e);
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  Assigns to \p top a pointer to a location that holds the
+  conversion, according to \p dir, of \p from to type \p To.  When
+  necessary, and only when necessary, the variable \p tmp is used to
+  hold the result of conversion.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename To, typename From>
+inline Result
+maybe_assign(const To*& top, To& tmp, const From& from, Rounding_Dir dir) {
+  return maybe_assign_struct<To, From>::function(top, tmp, from, dir);
+}
 
-//! Returns the constraint \p e1 \> \p e2.
-/*! \relates Constraint */
-Constraint
-operator>(const Linear_Expression& e1, const Linear_Expression& e2);
+template <typename Temp>
+inline void
+Rectilinear_Distance_Specialization<Temp>::combine(Temp& running,
+						   const Temp& current,
+						   Rounding_Dir dir) {
+  add_assign_r(running, running, current, dir);
+}
 
-//! Returns the constraint \p v1 \> \p v2.
-/*! \relates Constraint */
-Constraint
-operator>(Variable v1, Variable v2);
+template <typename Temp>
+inline void
+Rectilinear_Distance_Specialization<Temp>::finalize(Temp&, Rounding_Dir) {
+}
 
-//! Returns the constraint \p e \> \p n.
-/*! \relates Constraint */
-Constraint
-operator>(const Linear_Expression& e, Coefficient_traits::const_reference n);
+template <typename Temp>
+inline void
+Euclidean_Distance_Specialization<Temp>::combine(Temp& running,
+						 Temp& current,
+						 Rounding_Dir dir) {
+  mul_assign_r(current, current, current, dir);
+  add_assign_r(running, running, current, dir);
+}
 
-//! Returns the constraint \p n \> \p e.
-/*! \relates Constraint */
-Constraint
-operator>(Coefficient_traits::const_reference n, const Linear_Expression& e);
+template <typename Temp>
+inline void
+Euclidean_Distance_Specialization<Temp>::finalize(Temp& running,
+						  Rounding_Dir dir) {
+  sqrt_assign_r(running, running, dir);
+}
+
+template <typename Temp>
+inline void
+L_Infinity_Distance_Specialization<Temp>::combine(Temp& running,
+						  const Temp& current,
+						  Rounding_Dir) {
+  if (current > running)
+    running = current;
+}
+
+template <typename Temp>
+inline void
+L_Infinity_Distance_Specialization<Temp>::finalize(Temp&, Rounding_Dir) {
+}
 
 } // namespace Parma_Polyhedra_Library
 
+/* Automatically generated from PPL source file ../src/distances.defs.hh line 52. */
+
+/* Automatically generated from PPL source file ../src/Generator.defs.hh line 39. */
+#include <iosfwd>
+
+namespace Parma_Polyhedra_Library {
+
+// Put them in the namespace here to declare them friend later.
+
+namespace IO_Operators {
+
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Generator */
+std::ostream& operator<<(std::ostream& s, const Generator& g);
+
+} // namespace IO_Operators
+
+} // namespace Parma_Polyhedra_Library
 
 namespace std {
 
 //! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Constraint */
-void swap(Parma_Polyhedra_Library::Constraint& x,
-	  Parma_Polyhedra_Library::Constraint& y);
+/*! \relates Parma_Polyhedra_Library::Generator */
+void swap(Parma_Polyhedra_Library::Generator& x,
+	  Parma_Polyhedra_Library::Generator& y);
 
 } // namespace std
 
-//! A linear equality or inequality.
+
+//! A line, ray, point or closure point.
 /*! \ingroup PPL_CXX_interface
-  An object of the class Constraint is either:
-  - an equality: \f$\sum_{i=0}^{n-1} a_i x_i + b = 0\f$;
-  - a non-strict inequality: \f$\sum_{i=0}^{n-1} a_i x_i + b \geq 0\f$; or
-  - a strict inequality: \f$\sum_{i=0}^{n-1} a_i x_i + b > 0\f$;
+  An object of the class Generator is one of the following:
+
+  - a line \f$\vect{l} = (a_0, \ldots, a_{n-1})^\transpose\f$;
+
+  - a ray \f$\vect{r} = (a_0, \ldots, a_{n-1})^\transpose\f$;
+
+  - a point
+    \f$\vect{p} = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$;
+
+  - a closure point
+    \f$\vect{c} = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$;
+
+  where \f$n\f$ is the dimension of the space
+  and, for points and closure points, \f$d > 0\f$ is the divisor.
 
-  where \f$n\f$ is the dimension of the space,
-  \f$a_i\f$ is the integer coefficient of variable \f$x_i\f$
-  and \f$b\f$ is the integer inhomogeneous term.
+  \par A note on terminology.
+  As observed in Section \ref representation, there are cases when,
+  in order to represent a polyhedron \f$\cP\f$ using the generator system
+  \f$\cG = (L, R, P, C)\f$, we need to include in the finite set
+  \f$P\f$ even points of \f$\cP\f$ that are <EM>not</EM> vertices
+  of \f$\cP\f$.
+  This situation is even more frequent when working with NNC polyhedra
+  and it is the reason why we prefer to use the word `point'
+  where other libraries use the word `vertex'.
 
-  \par How to build a constraint
-  Constraints are typically built by applying a relation symbol
-  to a pair of linear expressions.
-  Available relation symbols are equality (<CODE>==</CODE>),
-  non-strict inequalities (<CODE>\>=</CODE> and <CODE>\<=</CODE>) and
-  strict inequalities (<CODE>\<</CODE> and <CODE>\></CODE>).
-  The space dimension of a constraint is defined as the maximum
-  space dimension of the arguments of its constructor.
+  \par How to build a generator.
+  Each type of generator is built by applying the corresponding
+  function (<CODE>line</CODE>, <CODE>ray</CODE>, <CODE>point</CODE>
+  or <CODE>closure_point</CODE>) to a linear expression,
+  representing a direction in the space;
+  the space dimension of the generator is defined as the space dimension
+  of the corresponding linear expression.
+  Linear expressions used to define a generator should be homogeneous
+  (any constant term will be simply ignored).
+  When defining points and closure points, an optional Coefficient argument
+  can be used as a common <EM>divisor</EM> for all the coefficients
+  occurring in the provided linear expression;
+  the default value for this argument is 1.
 
   \par
-  In the following examples it is assumed that variables
+  In all the following examples it is assumed that variables
   <CODE>x</CODE>, <CODE>y</CODE> and <CODE>z</CODE>
   are defined as follows:
   \code
@@ -17277,143 +20482,236 @@ void swap(Parma_Polyhedra_Library::Constraint& x,
   \endcode
 
   \par Example 1
-  The following code builds the equality constraint
-  \f$3x + 5y - z = 0\f$, having space dimension \f$3\f$:
+  The following code builds a line with direction \f$x-y-z\f$
+  and having space dimension \f$3\f$:
   \code
-  Constraint eq_c(3*x + 5*y - z == 0);
+  Generator l = line(x - y - z);
   \endcode
-  The following code builds the (non-strict) inequality constraint
-  \f$4x \geq 2y - 13\f$, having space dimension \f$2\f$:
+  As mentioned above, the constant term of the linear expression
+  is not relevant. Thus, the following code has the same effect:
   \code
-  Constraint ineq_c(4*x >= 2*y - 13);
+  Generator l = line(x - y - z + 15);
   \endcode
-  The corresponding strict inequality constraint
-  \f$4x > 2y - 13\f$ is obtained as follows:
+  By definition, the origin of the space is not a line, so that
+  the following code throws an exception:
   \code
-  Constraint strict_ineq_c(4*x > 2*y - 13);
+  Generator l = line(0*x);
   \endcode
-  An unsatisfiable constraint on the zero-dimension space \f$\Rset^0\f$
-  can be specified as follows:
+
+  \par Example 2
+  The following code builds a ray with the same direction as the
+  line in Example 1:
   \code
-  Constraint false_c = Constraint::zero_dim_false();
+  Generator r = ray(x - y - z);
   \endcode
-  Equivalent, but more involved ways are the following:
+  As is the case for lines, when specifying a ray the constant term
+  of the linear expression is not relevant; also, an exception is thrown
+  when trying to build a ray from the origin of the space.
+
+  \par Example 3
+  The following code builds the point
+  \f$\vect{p} = (1, 0, 2)^\transpose \in \Rset^3\f$:
   \code
-  Constraint false_c1(Linear_Expression::zero() == 1);
-  Constraint false_c2(Linear_Expression::zero() >= 1);
-  Constraint false_c3(Linear_Expression::zero() > 0);
+  Generator p = point(1*x + 0*y + 2*z);
   \endcode
-  In contrast, the following code defines an unsatisfiable constraint
-  having space dimension \f$3\f$:
+  The same effect can be obtained by using the following code:
   \code
-  Constraint false_c(0*z == 1);
+  Generator p = point(x + 2*z);
+  \endcode
+  Similarly, the origin \f$\vect{0} \in \Rset^3\f$ can be defined
+  using either one of the following lines of code:
+  \code
+  Generator origin3 = point(0*x + 0*y + 0*z);
+  Generator origin3_alt = point(0*z);
+  \endcode
+  Note however that the following code would have defined
+  a different point, namely \f$\vect{0} \in \Rset^2\f$:
+  \code
+  Generator origin2 = point(0*y);
+  \endcode
+  The following two lines of code both define the only point
+  having space dimension zero, namely \f$\vect{0} \in \Rset^0\f$.
+  In the second case we exploit the fact that the first argument
+  of the function <CODE>point</CODE> is optional.
+  \code
+  Generator origin0 = Generator::zero_dim_point();
+  Generator origin0_alt = point();
   \endcode
 
-  \par How to inspect a constraint
-  Several methods are provided to examine a constraint and extract
-  all the encoded information: its space dimension, its type
-  (equality, non-strict inequality, strict inequality) and
+  \par Example 4
+  The point \f$\vect{p}\f$ specified in Example 3 above
+  can also be obtained with the following code,
+  where we provide a non-default value for the second argument
+  of the function <CODE>point</CODE> (the divisor):
+  \code
+  Generator p = point(2*x + 0*y + 4*z, 2);
+  \endcode
+  Obviously, the divisor can be usefully exploited to specify
+  points having some non-integer (but rational) coordinates.
+  For instance, the point
+  \f$\vect{q} = (-1.5, 3.2, 2.1)^\transpose \in \Rset^3\f$
+  can be specified by the following code:
+  \code
+  Generator q = point(-15*x + 32*y + 21*z, 10);
+  \endcode
+  If a zero divisor is provided, an exception is thrown.
+
+  \par Example 5
+  Closure points are specified in the same way we defined points,
+  but invoking their specific constructor function.
+  For instance, the closure point
+  \f$\vect{c} = (1, 0, 2)^\transpose \in \Rset^3\f$ is defined by
+  \code
+  Generator c = closure_point(1*x + 0*y + 2*z);
+  \endcode
+  For the particular case of the (only) closure point
+  having space dimension zero, we can use any of the following:
+  \code
+  Generator closure_origin0 = Generator::zero_dim_closure_point();
+  Generator closure_origin0_alt = closure_point();
+  \endcode
+
+  \par How to inspect a generator
+  Several methods are provided to examine a generator and extract
+  all the encoded information: its space dimension, its type and
   the value of its integer coefficients.
 
-  \par Example 2
+  \par Example 6
   The following code shows how it is possible to access each single
-  coefficient of a constraint. Given an inequality constraint
-  (in this case \f$x - 5y + 3z \leq 4\f$), we construct a new constraint
-  corresponding to its complement (thus, in this case we want to obtain
-  the strict inequality constraint \f$x - 5y + 3z > 4\f$).
+  coefficient of a generator.
+  If <CODE>g1</CODE> is a point having coordinates
+  \f$(a_0, \ldots, a_{n-1})^\transpose\f$,
+  we construct the closure point <CODE>g2</CODE> having coordinates
+  \f$(a_0, 2 a_1, \ldots, (i+1)a_i, \ldots, n a_{n-1})^\transpose\f$.
   \code
-  Constraint c1(x - 5*y + 3*z <= 4);
-  cout << "Constraint c1: " << c1 << endl;
-  if (c1.is_equality())
-    cout << "Constraint c1 is not an inequality." << endl;
-  else {
+  if (g1.is_point()) {
+    cout << "Point g1: " << g1 << endl;
     Linear_Expression e;
-    for (dimension_type i = c1.space_dimension(); i-- > 0; )
-      e += c1.coefficient(Variable(i)) * Variable(i);
-    e += c1.inhomogeneous_term();
-    Constraint c2 = c1.is_strict_inequality() ? (e <= 0) : (e < 0);
-    cout << "Complement c2: " << c2 << endl;
+    for (dimension_type i = g1.space_dimension(); i-- > 0; )
+      e += (i + 1) * g1.coefficient(Variable(i)) * Variable(i);
+    Generator g2 = closure_point(e, g1.divisor());
+    cout << "Closure point g2: " << g2 << endl;
   }
+  else
+    cout << "Generator g1 is not a point." << endl;
   \endcode
-  The actual output is the following:
+  Therefore, for the point
   \code
-  Constraint c1: -A + 5*B - 3*C >= -4
-  Complement c2: A - 5*B + 3*C > 4
+  Generator g1 = point(2*x - y + 3*z, 2);
   \endcode
-  Note that, in general, the particular output obtained can be
-  syntactically different from the (semantically equivalent)
-  constraint considered.
+  we would obtain the following output:
+  \code
+  Point g1: p((2*A - B + 3*C)/2)
+  Closure point g2: cp((2*A - 2*B + 9*C)/2)
+  \endcode
+  When working with (closure) points, be careful not to confuse
+  the notion of <EM>coefficient</EM> with the notion of <EM>coordinate</EM>:
+  these are equivalent only when the divisor of the (closure) point is 1.
 */
-class Parma_Polyhedra_Library::Constraint : private Linear_Row {
+class Parma_Polyhedra_Library::Generator : private Linear_Row {
 public:
-  //! Ordinary copy-constructor.
-  Constraint(const Constraint& c);
+  //! Returns the line of direction \p e.
+  /*!
+    \exception std::invalid_argument
+    Thrown if the homogeneous part of \p e represents the origin of
+    the vector space.
+  */
+  static Generator line(const Linear_Expression& e);
 
-  //! Copy-constructs from equality congruence \p cg.
+  //! Returns the ray of direction \p e.
   /*!
     \exception std::invalid_argument
-    Thrown if \p cg is a proper congruence.
+    Thrown if the homogeneous part of \p e represents the origin of
+    the vector space.
   */
-  explicit Constraint(const Congruence& cg);
+  static Generator ray(const Linear_Expression& e);
+
+  //! Returns the point at \p e / \p d.
+  /*!
+    Both \p e and \p d are optional arguments, with default values
+    Linear_Expression::zero() and Coefficient_one(), respectively.
+
+    \exception std::invalid_argument
+    Thrown if \p d is zero.
+  */
+  static Generator point(const Linear_Expression& e
+			 = Linear_Expression::zero(),
+			 Coefficient_traits::const_reference d
+			 = Coefficient_one());
+
+  //! Returns the closure point at \p e / \p d.
+  /*!
+    Both \p e and \p d are optional arguments, with default values
+    Linear_Expression::zero() and Coefficient_one(), respectively.
+
+    \exception std::invalid_argument
+    Thrown if \p d is zero.
+  */
+  static Generator
+  closure_point(const Linear_Expression& e = Linear_Expression::zero(),
+		Coefficient_traits::const_reference d = Coefficient_one());
+
+  //! Ordinary copy constructor.
+  Generator(const Generator& g);
 
   //! Destructor.
-  ~Constraint();
+  ~Generator();
 
   //! Assignment operator.
-  Constraint& operator=(const Constraint& c);
+  Generator& operator=(const Generator& g);
 
-  //! Returns the maximum space dimension a Constraint can handle.
+  //! Returns the maximum space dimension a Generator can handle.
   static dimension_type max_space_dimension();
 
   //! Returns the dimension of the vector space enclosing \p *this.
   dimension_type space_dimension() const;
 
-  //! The constraint type.
+  //! The generator type.
   enum Type {
-    /*! The constraint is an equality. */
-    EQUALITY,
-    /*! The constraint is a non-strict inequality. */
-    NONSTRICT_INEQUALITY,
-    /*! The constraint is a strict inequality. */
-    STRICT_INEQUALITY
+    /*! The generator is a line. */
+    LINE,
+    /*! The generator is a ray. */
+    RAY,
+    /*! The generator is a point. */
+    POINT,
+    /*! The generator is a closure point. */
+    CLOSURE_POINT
   };
 
-  //! Returns the constraint type of \p *this.
+  //! Returns the generator type of \p *this.
   Type type() const;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if
-    \p *this is an equality constraint.
-  */
-  bool is_equality() const;
+  //! Returns <CODE>true</CODE> if and only if \p *this is a line.
+  bool is_line() const;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if
-    \p *this is an inequality constraint (either strict or non-strict).
-  */
-  bool is_inequality() const;
+  //! Returns <CODE>true</CODE> if and only if \p *this is a ray.
+  bool is_ray() const;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if
-    \p *this is a non-strict inequality constraint.
-  */
-  bool is_nonstrict_inequality() const;
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! Returns <CODE>true</CODE> if and only if \p *this is a line or a ray.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  bool is_line_or_ray() const;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if
-    \p *this is a strict inequality constraint.
-  */
-  bool is_strict_inequality() const;
+  //! Returns <CODE>true</CODE> if and only if \p *this is a point.
+  bool is_point() const;
+
+  //! Returns <CODE>true</CODE> if and only if \p *this is a closure point.
+  bool is_closure_point() const;
 
   //! Returns the coefficient of \p v in \p *this.
   /*!
-    \exception std::invalid_argument thrown if the index of \p v
-    is greater than or equal to the space dimension of \p *this.
+    \exception std::invalid_argument
+    Thrown if the index of \p v is greater than or equal to the
+    space dimension of \p *this.
   */
   Coefficient_traits::const_reference coefficient(Variable v) const;
 
-  //! Returns the inhomogeneous term of \p *this.
-  Coefficient_traits::const_reference inhomogeneous_term() const;
+  //! If \p *this is either a point or a closure point, returns its divisor.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p *this is neither a point nor a closure point.
+  */
+  Coefficient_traits::const_reference divisor() const;
 
   //! Initializes the class.
   static void initialize();
@@ -17421,14 +20719,14 @@ public:
   //! Finalizes the class.
   static void finalize();
 
-  //! The unsatisfiable (zero-dimension space) constraint \f$0 = 1\f$.
-  static const Constraint& zero_dim_false();
+  //! Returns the origin of the zero-dimensional space \f$\Rset^0\f$.
+  static const Generator& zero_dim_point();
 
   /*! \brief
-    The true (zero-dimension space) constraint \f$0 \leq 1\f$,
-    also known as <EM>positivity constraint</EM>.
+    Returns, as a closure point,
+    the origin of the zero-dimensional space \f$\Rset^0\f$.
   */
-  static const Constraint& zero_dim_positivity();
+  static const Generator& zero_dim_closure_point();
 
   /*! \brief
     Returns a lower bound to the total size in bytes of the memory
@@ -17440,41 +20738,12 @@ public:
   memory_size_type external_memory_in_bytes() const;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if
-    \p *this is a tautology (i.e., an always true constraint).
-
-    A tautology can have either one of the following forms:
-    - an equality: \f$\sum_{i=0}^{n-1} 0 x_i + 0 = 0\f$; or
-    - a non-strict inequality: \f$\sum_{i=0}^{n-1} 0 x_i + b \geq 0\f$,
-      where \f$b \geq 0\f$; or
-    - a strict inequality: \f$\sum_{i=0}^{n-1} 0 x_i + b > 0\f$,
-      where \f$b > 0\f$.
-  */
-  bool is_tautological() const;
-
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if
-    \p *this is inconsistent (i.e., an always false constraint).
-
-    An inconsistent constraint can have either one of the following forms:
-    - an equality: \f$\sum_{i=0}^{n-1} 0 x_i + b = 0\f$,
-      where \f$b \neq 0\f$; or
-    - a non-strict inequality: \f$\sum_{i=0}^{n-1} 0 x_i + b \geq 0\f$,
-      where \f$b < 0\f$; or
-    - a strict inequality: \f$\sum_{i=0}^{n-1} 0 x_i + b > 0\f$,
-      where \f$b \leq 0\f$.
-  */
-  bool is_inconsistent() const;
-
-  /*! \brief
     Returns <CODE>true</CODE> if and only if \p *this and \p y
-    are equivalent constraints.
+    are equivalent generators.
 
-    Constraints having different space dimensions are not equivalent.
-    Note that constraints having different types may nonetheless be
-    equivalent, if they both are tautologies or inconsistent.
+    Generators having different space dimensions are not equivalent.
   */
-  bool is_equivalent_to(const Constraint& y) const;
+  bool is_equivalent_to(const Generator& y) const;
 
   PPL_OUTPUT_DECLARATIONS
 
@@ -17489,763 +20758,734 @@ public:
   bool OK() const;
 
   //! Swaps \p *this with \p y.
-  void swap(Constraint& y);
+  void swap(Generator& y);
 
 private:
   /*! \brief
     Holds (between class initialization and finalization) a pointer to
-    the unsatisfiable (zero-dimension space) constraint \f$0 = 1\f$.
-  */
-  static const Constraint* zero_dim_false_p;
-
-  /*! \brief
-    Holds (between class initialization and finalization) a pointer to
-    the true (zero-dimension space) constraint \f$0 \leq 1\f$, also
-    known as <EM>positivity constraint</EM>.
-  */
-  static const Constraint* zero_dim_positivity_p;
-
-  /*! \brief
-    Holds (between class initialization and finalization) a pointer to
-    the zero-dimension space constraint \f$\epsilon \geq 0\f$.
+    the origin of the zero-dimensional space \f$\Rset^0\f$.
   */
-  static const Constraint* epsilon_geq_zero_p;
+  static const Generator* zero_dim_point_p;
 
   /*! \brief
     Holds (between class initialization and finalization) a pointer to
-    the zero-dimension space constraint \f$\epsilon \leq 1\f$
-    (used to implement NNC polyhedra).
-  */
-  static const Constraint* epsilon_leq_one_p;
-
-  friend class Parma_Polyhedra_Library::Congruence;
-  friend class Parma_Polyhedra_Library::Scalar_Products;
-  friend class Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign;
-  friend class Parma_Polyhedra_Library::Constraint_System;
-  friend class Parma_Polyhedra_Library::Constraint_System::const_iterator;
-  // FIXME: the following friend declaration should be avoided.
-  friend class Parma_Polyhedra_Library::Polyhedron;
-
-  friend
-  Parma_Polyhedra_Library
-  ::Linear_Expression::Linear_Expression(const Constraint& c);
-
-  //! Default constructor: private and not implemented.
-  Constraint();
-
-  /*! \brief
-    Builds a constraint of type \p type and topology \p topology,
-    stealing the coefficients from \p e.
-  */
-  Constraint(Linear_Expression& e, Type type, Topology topology);
-
-  //! Constructs from a congruence, with specified size and capacity.
-  Constraint(const Congruence& cg, dimension_type sz, dimension_type capacity);
-
-  /*! \brief
-    Throws a <CODE>std::invalid_argument</CODE> exception containing
-    error message \p message.
-  */
-  void
-  throw_invalid_argument(const char* method, const char* message) const;
-
-  /*! \brief
-    Throws a <CODE>std::invalid_argument</CODE> exception
-    containing the appropriate error message.
-  */
-  void
-  throw_dimension_incompatible(const char* method,
-			       const char* name_var,
-			       Variable v) const;
-
-  friend Constraint
-  operator==(const Linear_Expression& e1, const Linear_Expression& e2);
-  friend Constraint
-  operator==(Variable v1, Variable v2);
-  friend Constraint
-  operator==(const Linear_Expression& e, Coefficient_traits::const_reference n);
-  friend Constraint
-  operator==(Coefficient_traits::const_reference n, const Linear_Expression& e);
-
-  friend Constraint
-  operator>=(const Linear_Expression& e1, const Linear_Expression& e2);
-  friend Constraint
-  operator>=(Variable v1, Variable v2);
-  friend Constraint
-  operator>=(const Linear_Expression& e, Coefficient_traits::const_reference n);
-  friend Constraint
-  operator>=(Coefficient_traits::const_reference n, const Linear_Expression& e);
-
-  friend Constraint
-  operator<=(const Linear_Expression& e1, const Linear_Expression& e2);
-  friend Constraint
-  operator<=(const Linear_Expression& e, Coefficient_traits::const_reference n);
-  friend Constraint
-  operator<=(Coefficient_traits::const_reference n, const Linear_Expression& e);
-
-  friend Constraint
-  operator>(const Linear_Expression& e1, const Linear_Expression& e2);
-  friend Constraint
-  operator>(Variable v1, Variable v2);
-  friend Constraint
-  operator>(const Linear_Expression& e, Coefficient_traits::const_reference n);
-  friend Constraint
-  operator>(Coefficient_traits::const_reference n, const Linear_Expression& e);
-
-  friend Constraint
-  operator<(const Linear_Expression& e1, const Linear_Expression& e2);
-  friend Constraint
-  operator<(const Linear_Expression& e, Coefficient_traits::const_reference n);
-  friend Constraint
-  operator<(Coefficient_traits::const_reference n, const Linear_Expression& e);
-
-  //! Copy-constructor with given size.
-  Constraint(const Constraint& c, dimension_type sz);
-
-  /*! \brief
-    Builds a new copy of the zero-dimension space constraint
-    \f$\epsilon \geq 0\f$ (used to implement NNC polyhedra).
-  */
-  static Constraint construct_epsilon_geq_zero();
-
-  //! Returns the zero-dimension space constraint \f$\epsilon \geq 0\f$.
-  static const Constraint& epsilon_geq_zero();
-
-  /*! \brief
-    The zero-dimension space constraint \f$\epsilon \leq 1\f$
-    (used to implement NNC polyhedra).
-  */
-  static const Constraint& epsilon_leq_one();
-
-  //! Sets the constraint type to <CODE>EQUALITY</CODE>.
-  void set_is_equality();
-
-  //! Sets the constraint to be an inequality.
-  /*!
-    Whether the constraint type will become <CODE>NONSTRICT_INEQUALITY</CODE>
-    or <CODE>STRICT_INEQUALITY</CODE> depends on the topology and the value
-    of the low-level coefficients of the constraint.
+    the origin of the zero-dimensional space \f$\Rset^0\f$, as a closure point.
   */
-  void set_is_inequality();
-};
-
-namespace Parma_Polyhedra_Library {
-
-namespace IO_Operators {
-
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Constraint */
-std::ostream& operator<<(std::ostream& s, const Constraint& c);
-
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Constraint */
-std::ostream& operator<<(std::ostream& s, const Constraint::Type& t);
-
-} // namespace IO_Operators
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/Constraint.inlines.hh line 1. */
-/* Constraint class implementation: inline functions.
-*/
-
-
-/* Automatically generated from PPL source file ../src/Constraint.inlines.hh line 27. */
-
-namespace Parma_Polyhedra_Library {
-
-inline
-Constraint::Constraint(Linear_Expression& e, Type type, Topology topology) {
-  assert(type != STRICT_INEQUALITY || topology == NOT_NECESSARILY_CLOSED);
-  Linear_Row::swap(e);
-  flags() = Flags(topology, (type == EQUALITY
-			     ? LINE_OR_EQUALITY
-			     : RAY_OR_POINT_OR_INEQUALITY));
-}
+  static const Generator* zero_dim_closure_point_p;
 
-inline
-Constraint::Constraint(const Constraint& c)
-  : Linear_Row(c) {
-}
+  /*! \brief
+    Builds a generator of type \p type and topology \p topology,
+    stealing the coefficients from \p e.
+  */
+  Generator(Linear_Expression& e, Type type, Topology topology);
 
-inline
-Constraint::Constraint(const Constraint& c, const dimension_type sz)
-  : Linear_Row(c, sz, sz) {
-}
+  /*! \brief
+    Throw a <CODE>std::invalid_argument</CODE> exception
+    containing the appropriate error message.
+  */
+  void
+  throw_dimension_incompatible(const char* method,
+			       const char* name_var,
+			       Variable v) const;
 
-inline
-Constraint::~Constraint() {
-}
+  /*! \brief
+    Throw a <CODE>std::invalid_argument</CODE> exception
+    containing the appropriate error message.
+  */
+  void
+  throw_invalid_argument(const char* method, const char* reason) const;
 
-inline Constraint&
-Constraint::operator=(const Constraint& c) {
-  Linear_Row::operator=(c);
-  return *this;
-}
+  friend class Parma_Polyhedra_Library::Scalar_Products;
+  friend class Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign;
+  friend class Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Assign;
+  friend class Parma_Polyhedra_Library::Generator_System;
+  friend class Parma_Polyhedra_Library::Generator_System::const_iterator;
+  // FIXME: the following friend declaration should be avoided.
+  friend class Parma_Polyhedra_Library::Polyhedron;
+  friend class Parma_Polyhedra_Library::Grid_Generator;
+  // This is for access to Row and Linear_Row in `insert'.
+  friend class Parma_Polyhedra_Library::Grid_Generator_System;
 
-inline dimension_type
-Constraint::max_space_dimension() {
-  return Linear_Row::max_space_dimension();
-}
+  friend
+  Parma_Polyhedra_Library
+  ::Linear_Expression::Linear_Expression(const Generator& g);
 
-inline dimension_type
-Constraint::space_dimension() const {
-  return Linear_Row::space_dimension();
-}
+  friend std::ostream&
+  Parma_Polyhedra_Library::IO_Operators::operator<<(std::ostream& s,
+						    const Generator& g);
 
-inline bool
-Constraint::is_equality() const {
-  return is_line_or_equality();
-}
+  //! Copy constructor with given space dimension.
+  Generator(const Generator& g, dimension_type dimension);
 
-inline bool
-Constraint::is_inequality() const {
-  return is_ray_or_point_or_inequality();
-}
+  //! Returns <CODE>true</CODE> if and only if \p *this is not a line.
+  bool is_ray_or_point() const;
 
-inline Constraint::Type
-Constraint::type() const {
-  if (is_equality())
-    return EQUALITY;
-  if (is_necessarily_closed())
-    return NONSTRICT_INEQUALITY;
-  else
-    return ((*this)[size() - 1] < 0)
-      ? STRICT_INEQUALITY
-      : NONSTRICT_INEQUALITY;
-}
+  //! Sets the Linear_Row kind to <CODE>LINE_OR_EQUALITY</CODE>.
+  void set_is_line();
 
-inline bool
-Constraint::is_nonstrict_inequality() const {
-  return type() == NONSTRICT_INEQUALITY;
-}
+  //! Sets the Linear_Row kind to <CODE>RAY_OR_POINT_OR_INEQUALITY</CODE>.
+  void set_is_ray_or_point();
 
-inline bool
-Constraint::is_strict_inequality() const {
-  return type() == STRICT_INEQUALITY;
-}
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if the closure point
+    \p *this has the same \e coordinates of the point \p p.
 
-inline void
-Constraint::set_is_equality() {
-  set_is_line_or_equality();
-}
+    It is \e assumed that \p *this is a closure point, \p p is a point
+    and both topologies and space dimensions agree.
+  */
+  bool is_matching_closure_point(const Generator& p) const;
 
-inline void
-Constraint::set_is_inequality() {
-  set_is_ray_or_point_or_inequality();
-}
+  //! Default constructor: private and not implemented.
+  Generator();
+};
 
-inline Coefficient_traits::const_reference
-Constraint::coefficient(const Variable v) const {
-  if (v.space_dimension() > space_dimension())
-    throw_dimension_incompatible("coefficient(v)", "v", v);
-  return Linear_Row::coefficient(v.id());
-}
 
-inline Coefficient_traits::const_reference
-Constraint::inhomogeneous_term() const {
-  return Linear_Row::inhomogeneous_term();
-}
+namespace Parma_Polyhedra_Library {
 
-inline memory_size_type
-Constraint::external_memory_in_bytes() const {
-  return Linear_Row::external_memory_in_bytes();
-}
+//! Shorthand for Generator Generator::line(const Linear_Expression& e).
+/*! \relates Generator */
+Generator line(const Linear_Expression& e);
 
-inline memory_size_type
-Constraint::total_memory_in_bytes() const {
-  return Linear_Row::total_memory_in_bytes();
-}
+//! Shorthand for Generator Generator::ray(const Linear_Expression& e).
+/*! \relates Generator */
+Generator ray(const Linear_Expression& e);
 
-/*! \relates Constraint */
-inline bool
-operator==(const Constraint& x, const Constraint& y) {
-  return x.is_equivalent_to(y);
-}
+/*! \brief
+  Shorthand for Generator
+  Generator::point(const Linear_Expression& e, Coefficient_traits::const_reference d).
 
-/*! \relates Constraint */
-inline bool
-operator!=(const Constraint& x, const Constraint& y) {
-  return !x.is_equivalent_to(y);
-}
+  \relates Generator
+*/
+Generator
+point(const Linear_Expression& e = Linear_Expression::zero(),
+      Coefficient_traits::const_reference d = Coefficient_one());
 
-/*! \relates Constraint */
-inline Constraint
-operator==(const Linear_Expression& e1, const Linear_Expression& e2) {
-  Linear_Expression diff = e1 - e2;
-  Constraint c(diff, Constraint::EQUALITY, NECESSARILY_CLOSED);
-  // Enforce normalization.
-  c.strong_normalize();
-  return c;
-}
+/*! \brief
+  Shorthand for Generator
+  Generator::closure_point(const Linear_Expression& e, Coefficient_traits::const_reference d).
 
-/*! \relates Constraint */
-inline Constraint
-operator==(const Variable v1, const Variable v2) {
-  Linear_Expression diff
-    = (v1.space_dimension() < v2.space_dimension()) ? v1-v2 : v2-v1;
-  return Constraint(diff, Constraint::EQUALITY, NECESSARILY_CLOSED);
-}
+  \relates Generator
+*/
+Generator
+closure_point(const Linear_Expression& e = Linear_Expression::zero(),
+	      Coefficient_traits::const_reference d = Coefficient_one());
 
-/*! \relates Constraint */
-inline Constraint
-operator>=(const Linear_Expression& e1, const Linear_Expression& e2) {
-  Linear_Expression diff = e1 - e2;
-  Constraint c(diff, Constraint::NONSTRICT_INEQUALITY, NECESSARILY_CLOSED);
-  // Enforce normalization.
-  c.normalize();
-  return c;
-}
+//! Returns <CODE>true</CODE> if and only if \p x is equivalent to \p y.
+/*! \relates Generator */
+bool operator==(const Generator& x, const Generator& y);
 
-/*! \relates Constraint */
-inline Constraint
-operator>=(const Variable v1, const Variable v2) {
-  Linear_Expression diff = v1-v2;
-  return Constraint(diff, Constraint::NONSTRICT_INEQUALITY, NECESSARILY_CLOSED);
-}
+//! Returns <CODE>true</CODE> if and only if \p x is not equivalent to \p y.
+/*! \relates Generator */
+bool operator!=(const Generator& x, const Generator& y);
 
-/*! \relates Constraint */
-inline Constraint
-operator>(const Linear_Expression& e1, const Linear_Expression& e2) {
-  Linear_Expression diff;
-  // Setting the epsilon coefficient to -1.
-  // NOTE: this also enforces normalization.
-  const dimension_type e1_dim = e1.space_dimension();
-  const dimension_type e2_dim = e2.space_dimension();
-  if (e1_dim > e2_dim)
-    diff -= Variable(e1_dim);
-  else
-    diff -= Variable(e2_dim);
-  diff += e1;
-  diff -= e2;
+//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
+/*! \relates Generator
+  If the rectilinear distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
 
-  Constraint c(diff, Constraint::STRICT_INEQUALITY, NOT_NECESSARILY_CLOSED);
-  return c;
-}
+  The direction of the approximation is specified by \p dir.
 
-/*! \relates Constraint */
-inline Constraint
-operator>(const Variable v1, const Variable v2) {
-  Linear_Expression diff = v1-v2;
-  diff -= Variable(std::max(v1.space_dimension(), v2.space_dimension()));
-  return Constraint(diff,
-                    Constraint::STRICT_INEQUALITY,
-                    NOT_NECESSARILY_CLOSED);
-}
+  All computations are performed using variables of type
+  Checked_Number<To, Extended_Number_Policy>.
 
-/*! \relates Constraint */
-inline Constraint
-operator==(Coefficient_traits::const_reference n, const Linear_Expression& e) {
-  Linear_Expression diff = n - e;
-  Constraint c(diff, Constraint::EQUALITY, NECESSARILY_CLOSED);
-  // Enforce normalization.
-  c.strong_normalize();
-  return c;
-}
+  \note
+  Distances are \e only defined between generators that are points and/or
+  closure points; for rays or lines, \c false is returned.
+*/
+template <typename To>
+bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                                 const Generator& x,
+                                 const Generator& y,
+                                 Rounding_Dir dir);
 
-/*! \relates Constraint */
-inline Constraint
-operator>=(Coefficient_traits::const_reference n, const Linear_Expression& e) {
-  Linear_Expression diff = n - e;
-  Constraint c(diff, Constraint::NONSTRICT_INEQUALITY, NECESSARILY_CLOSED);
-  // Enforce normalization.
-  c.normalize();
-  return c;
-}
+//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
+/*! \relates Generator
+  If the rectilinear distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
 
-/*! \relates Constraint */
-inline Constraint
-operator>(Coefficient_traits::const_reference n, const Linear_Expression& e) {
-  Linear_Expression diff;
-  // Setting the epsilon coefficient to -1.
-  // NOTE: this also enforces normalization.
-  diff -= Variable(e.space_dimension());
-  diff += n;
-  diff -= e;
+  The direction of the approximation is specified by \p dir.
 
-  Constraint c(diff, Constraint::STRICT_INEQUALITY, NOT_NECESSARILY_CLOSED);
-  return c;
-}
+  All computations are performed using variables of type
+  Checked_Number<Temp, Extended_Number_Policy>.
 
-/*! \relates Constraint */
-inline Constraint
-operator==(const Linear_Expression& e, Coefficient_traits::const_reference n) {
-  Linear_Expression diff = e - n;
-  Constraint c(diff, Constraint::EQUALITY, NECESSARILY_CLOSED);
-  // Enforce normalization.
-  c.strong_normalize();
-  return c;
-}
+  \note
+  Distances are \e only defined between generators that are points and/or
+  closure points; for rays or lines, \c false is returned.
+*/
+template <typename Temp, typename To>
+bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                                 const Generator& x,
+                                 const Generator& y,
+                                 Rounding_Dir dir);
 
-/*! \relates Constraint */
-inline Constraint
-operator>=(const Linear_Expression& e, Coefficient_traits::const_reference n) {
-  Linear_Expression diff = e - n;
-  Constraint c(diff, Constraint::NONSTRICT_INEQUALITY, NECESSARILY_CLOSED);
-  // Enforce normalization.
-  c.normalize();
-  return c;
-}
+//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
+/*! \relates Generator
+  If the rectilinear distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
 
-/*! \relates Constraint */
-inline Constraint
-operator>(const Linear_Expression& e, Coefficient_traits::const_reference n) {
-  Linear_Expression diff;
-  // Setting the epsilon coefficient to -1.
-  // NOTE: this also enforces normalization.
-  diff -= Variable(e.space_dimension());
-  diff += e;
-  diff -= n;
+  The direction of the approximation is specified by \p dir.
 
-  Constraint c(diff, Constraint::STRICT_INEQUALITY, NOT_NECESSARILY_CLOSED);
-  c.set_not_necessarily_closed();
-  c.set_is_inequality();
-  return c;
-}
+  All computations are performed using the temporary variables
+  \p tmp0, \p tmp1 and \p tmp2.
 
-/*! \relates Constraint */
-inline Constraint
-operator<=(const Linear_Expression& e1, const Linear_Expression& e2) {
-  return e2 >= e1;
-}
+  \note
+  Distances are \e only defined between generators that are points and/or
+  closure points; for rays or lines, \c false is returned.
+*/
+template <typename Temp, typename To>
+bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                                 const Generator& x,
+                                 const Generator& y,
+                                 Rounding_Dir dir,
+                                 Temp& tmp0,
+                                 Temp& tmp1,
+                                 Temp& tmp2);
 
-/*! \relates Constraint */
-inline Constraint
-operator<=(const Variable v1, const Variable v2) {
-  return v2 >= v1;
-}
+//! Computes the euclidean distance between \p x and \p y.
+/*! \relates Generator
+  If the euclidean distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
 
-/*! \relates Constraint */
-inline Constraint
-operator<=(Coefficient_traits::const_reference n, const Linear_Expression& e) {
-  return e >= n;
-}
+  The direction of the approximation is specified by \p dir.
 
-/*! \relates Constraint */
-inline Constraint
-operator<=(const Linear_Expression& e, Coefficient_traits::const_reference n) {
-  return n >= e;
-}
+  All computations are performed using variables of type
+  Checked_Number<To, Extended_Number_Policy>.
 
-/*! \relates Constraint */
-inline Constraint
-operator<(const Linear_Expression& e1, const Linear_Expression& e2) {
-  return e2 > e1;
-}
+  \note
+  Distances are \e only defined between generators that are points and/or
+  closure points; for rays or lines, \c false is returned.
+*/
+template <typename To>
+bool euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                               const Generator& x,
+                               const Generator& y,
+                               Rounding_Dir dir);
 
-/*! \relates Constraint */
-inline Constraint
-operator<(const Variable v1, const Variable v2) {
-  return v2 > v1;
-}
+//! Computes the euclidean distance between \p x and \p y.
+/*! \relates Generator
+  If the euclidean distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
 
-/*! \relates Constraint */
-inline Constraint
-operator<(Coefficient_traits::const_reference n, const Linear_Expression& e) {
-  return e > n;
-}
+  The direction of the approximation is specified by \p dir.
 
-/*! \relates Constraint */
-inline Constraint
-operator<(const Linear_Expression& e, Coefficient_traits::const_reference n) {
-  return n > e;
-}
+  All computations are performed using variables of type
+  Checked_Number<Temp, Extended_Number_Policy>.
 
-inline const Constraint&
-Constraint::zero_dim_false() {
-  assert(zero_dim_false_p != 0);
-  return *zero_dim_false_p;
-}
+  \note
+  Distances are \e only defined between generators that are points and/or
+  closure points; for rays or lines, \c false is returned.
+*/
+template <typename Temp, typename To>
+bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                                 const Generator& x,
+                                 const Generator& y,
+                                 Rounding_Dir dir);
 
-inline const Constraint&
-Constraint::zero_dim_positivity() {
-  assert(zero_dim_positivity_p != 0);
-  return *zero_dim_positivity_p;
-}
+//! Computes the euclidean distance between \p x and \p y.
+/*! \relates Generator
+  If the euclidean distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
 
-inline const Constraint&
-Constraint::epsilon_geq_zero() {
-  assert(epsilon_geq_zero_p != 0);
-  return *epsilon_geq_zero_p;
-}
+  The direction of the approximation is specified by \p dir.
 
-inline const Constraint&
-Constraint::epsilon_leq_one() {
-  assert(epsilon_leq_one_p != 0);
-  return *epsilon_leq_one_p;
-}
+  All computations are performed using the temporary variables
+  \p tmp0, \p tmp1 and \p tmp2.
 
-inline void
-Constraint::ascii_dump(std::ostream& s) const {
-  Linear_Row::ascii_dump(s);
-}
+  \note
+  Distances are \e only defined between generators that are points and/or
+  closure points; for rays or lines, \c false is returned.
+*/
+template <typename Temp, typename To>
+bool euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                               const Generator& x,
+                               const Generator& y,
+                               Rounding_Dir dir,
+                               Temp& tmp0,
+                               Temp& tmp1,
+                               Temp& tmp2);
 
-inline bool
-Constraint::ascii_load(std::istream& s) {
-  return Linear_Row::ascii_load(s);
-}
+//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
+/*! \relates Generator
+  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
 
-inline void
-Constraint::swap(Constraint& y) {
-  Linear_Row::swap(y);
-}
+  The direction of the approximation is specified by \p dir.
 
-} // namespace Parma_Polyhedra_Library
+  All computations are performed using variables of type
+  Checked_Number<To, Extended_Number_Policy>.
 
-namespace std {
+  \note
+  Distances are \e only defined between generators that are points and/or
+  closure points; for rays or lines, \c false is returned.
+*/
+template <typename To>
+bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                                const Generator& x,
+                                const Generator& y,
+                                Rounding_Dir dir);
 
-/*! \relates Parma_Polyhedra_Library::Constraint */
-inline void
-swap(Parma_Polyhedra_Library::Constraint& x,
-     Parma_Polyhedra_Library::Constraint& y) {
-  x.swap(y);
-}
+//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
+/*! \relates Generator
+  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
 
-} // namespace std
+  The direction of the approximation is specified by \p dir.
 
-/* Automatically generated from PPL source file ../src/Constraint.defs.hh line 562. */
+  All computations are performed using variables of type
+  Checked_Number<Temp, Extended_Number_Policy>.
 
-/* Automatically generated from PPL source file ../src/Generator.defs.hh line 1. */
-/* Generator class declaration.
+  \note
+  Distances are \e only defined between generators that are points and/or
+  closure points; for rays or lines, \c false is returned.
 */
+template <typename Temp, typename To>
+bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                                const Generator& x,
+                                const Generator& y,
+                                Rounding_Dir dir);
 
+//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
+/*! \relates Generator
+  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
 
-/* Automatically generated from PPL source file ../src/Generator_System.defs.hh line 1. */
-/* Generator_System class declaration.
-*/
+  The direction of the approximation is specified by \p dir.
 
+  All computations are performed using the temporary variables
+  \p tmp0, \p tmp1 and \p tmp2.
 
-/* Automatically generated from PPL source file ../src/Poly_Con_Relation.defs.hh line 1. */
-/* Poly_Con_Relation class declaration.
+  \note
+  Distances are \e only defined between generators that are points and/or
+  closure points; for rays or lines, \c false is returned.
 */
+template <typename Temp, typename To>
+bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                                const Generator& x,
+                                const Generator& y,
+                                Rounding_Dir dir,
+                                Temp& tmp0,
+                                Temp& tmp1,
+                                Temp& tmp2);
 
+namespace IO_Operators {
 
-/* Automatically generated from PPL source file ../src/Poly_Con_Relation.types.hh line 1. */
-
-
-namespace Parma_Polyhedra_Library {
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Generator */
+std::ostream& operator<<(std::ostream& s, const Generator::Type& t);
 
-class Poly_Con_Relation;
+} // namespace IO_Operators
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Poly_Con_Relation.defs.hh line 28. */
-#include <iosfwd>
+/* Automatically generated from PPL source file ../src/Generator.inlines.hh line 1. */
+/* Generator class implementation: inline functions.
+*/
+
 
 namespace Parma_Polyhedra_Library {
 
-// Put them in the namespace here to declare them friend later.
+inline
+Generator::Generator(Linear_Expression& e, Type type, Topology topology) {
+  PPL_ASSERT(type != CLOSURE_POINT || topology == NOT_NECESSARILY_CLOSED);
+  Linear_Row::swap(e);
+  flags() = Flags(topology, (type == LINE
+			     ? LINE_OR_EQUALITY
+			     : RAY_OR_POINT_OR_INEQUALITY));
+}
 
-//! True if and only if \p x and \p y are logically equivalent.
-/*! \relates Poly_Con_Relation */
-bool operator==(const Poly_Con_Relation& x, const Poly_Con_Relation& y);
+inline
+Generator::Generator(const Generator& g)
+  : Linear_Row(g) {
+}
 
-//! True if and only if \p x and \p y are not logically equivalent.
-/*! \relates Poly_Con_Relation */
-bool operator!=(const Poly_Con_Relation& x, const Poly_Con_Relation& y);
+inline
+Generator::Generator(const Generator& g, dimension_type dimension)
+  : Linear_Row(g, dimension, dimension) {
+}
 
-//! Yields the logical conjunction of \p x and \p y.
-/*! \relates Poly_Con_Relation */
-Poly_Con_Relation operator&&(const Poly_Con_Relation& x,
-			     const Poly_Con_Relation& y);
+inline
+Generator::~Generator() {
+}
 
-/*! \brief
-  Yields the assertion with all the conjuncts of \p x
-  that are not in \p y.
+inline Generator&
+Generator::operator=(const Generator& g) {
+  Linear_Row::operator=(g);
+  return *this;
+}
 
-  \relates Poly_Con_Relation
-*/
-Poly_Con_Relation operator-(const Poly_Con_Relation& x,
-			    const Poly_Con_Relation& y);
+inline dimension_type
+Generator::max_space_dimension() {
+  return Linear_Row::max_space_dimension();
+}
 
-namespace IO_Operators {
+inline dimension_type
+Generator::space_dimension() const {
+  return Linear_Row::space_dimension();
+}
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Poly_Con_Relation */
-std::ostream& operator<<(std::ostream& s, const Poly_Con_Relation& r);
+inline bool
+Generator::is_line() const {
+  return is_line_or_equality();
+}
 
-} // namespace IO_Operators
+inline bool
+Generator::is_ray_or_point() const {
+  return is_ray_or_point_or_inequality();
+}
 
-} // namespace Parma_Polyhedra_Library
+inline bool
+Generator::is_line_or_ray() const {
+  return (*this)[0] == 0;
+}
 
+inline bool
+Generator::is_ray() const {
+  return is_ray_or_point() && is_line_or_ray();
+}
 
-//! The relation between a polyhedron and a constraint.
-/*! \ingroup PPL_CXX_interface
-  This class implements conjunctions of assertions on the relation
-  between a polyhedron and a constraint.
-*/
-class Parma_Polyhedra_Library::Poly_Con_Relation {
-private:
-  //! Poly_Con_Relation is implemented by means of a finite bitset.
-  typedef unsigned int flags_t;
+inline Generator::Type
+Generator::type() const {
+  if (is_line())
+    return LINE;
+  if (is_line_or_ray())
+    return RAY;
+  if (is_necessarily_closed())
+    return POINT;
+  else {
+    // Checking the value of the epsilon coefficient.
+    const Generator& g = *this;
+    return (g[size() - 1] == 0) ? CLOSURE_POINT : POINT;
+  }
+}
 
-  //! \name Bit-masks for the individual assertions
-  //@{
-  static const flags_t NOTHING             = 0U;
-  static const flags_t IS_DISJOINT         = 1U << 0;
-  static const flags_t STRICTLY_INTERSECTS = 1U << 1;
-  static const flags_t IS_INCLUDED         = 1U << 2;
-  static const flags_t SATURATES           = 1U << 3;
-  //@} // Bit-masks for the individual assertions
+inline bool
+Generator::is_point() const {
+  return type() == POINT;
+}
 
-  //! All assertions together.
-  static const flags_t EVERYTHING
-  = IS_DISJOINT
-  | STRICTLY_INTERSECTS
-  | IS_INCLUDED
-  | SATURATES;
+inline bool
+Generator::is_closure_point() const {
+  return type() == CLOSURE_POINT;
+}
 
-  //! This holds the current bitset.
-  flags_t flags;
+inline void
+Generator::set_is_line() {
+  set_is_line_or_equality();
+}
 
-  //! True if and only if the conjunction \p x implies the conjunction \p y.
-  static bool implies(flags_t x, flags_t y);
+inline void
+Generator::set_is_ray_or_point() {
+  set_is_ray_or_point_or_inequality();
+}
 
-  //! Construct from a bit-mask.
-  Poly_Con_Relation(flags_t mask);
+inline Coefficient_traits::const_reference
+Generator::coefficient(const Variable v) const {
+  if (v.space_dimension() > space_dimension())
+    throw_dimension_incompatible("coefficient(v)", "v", v);
+  return Linear_Row::coefficient(v.id());
+}
 
-  friend bool
-  operator==(const Poly_Con_Relation& x, const Poly_Con_Relation& y);
-  friend bool
-  operator!=(const Poly_Con_Relation& x, const Poly_Con_Relation& y);
+inline Coefficient_traits::const_reference
+Generator::divisor() const {
+  Coefficient_traits::const_reference d = Linear_Row::inhomogeneous_term();
+  if (!is_ray_or_point() || d == 0)
+    throw_invalid_argument("divisor()",
+			   "*this is neither a point nor a closure point");
+  return d;
+}
 
-  friend Poly_Con_Relation
-  operator&&(const Poly_Con_Relation& x, const Poly_Con_Relation& y);
+inline memory_size_type
+Generator::external_memory_in_bytes() const {
+  return Linear_Row::external_memory_in_bytes();
+}
 
-  friend Poly_Con_Relation
-  operator-(const Poly_Con_Relation& x, const Poly_Con_Relation& y);
+inline memory_size_type
+Generator::total_memory_in_bytes() const {
+  return Linear_Row::total_memory_in_bytes();
+}
 
-  friend std::ostream&
-  Parma_Polyhedra_Library::
-  IO_Operators::operator<<(std::ostream& s, const Poly_Con_Relation& r);
+inline const Generator&
+Generator::zero_dim_point() {
+  PPL_ASSERT(zero_dim_point_p != 0);
+  return *zero_dim_point_p;
+}
 
-public:
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  /*! \brief
-    Access the internal flags: this is needed for some language
-    interfaces.
-  */
-#endif
-  flags_t get_flags() const;
+inline const Generator&
+Generator::zero_dim_closure_point() {
+  PPL_ASSERT(zero_dim_closure_point_p != 0);
+  return *zero_dim_closure_point_p;
+}
 
-public:
-  //! The assertion that says nothing.
-  static Poly_Con_Relation nothing();
+/*! \relates Generator */
+inline Generator
+line(const Linear_Expression& e) {
+  return Generator::line(e);
+}
 
-  /*! \brief
-    The polyhedron and the set of points satisfying
-    the constraint are disjoint.
-  */
-  static Poly_Con_Relation is_disjoint();
+/*! \relates Generator */
+inline Generator
+ray(const Linear_Expression& e) {
+  return Generator::ray(e);
+}
 
-  /*! \brief
-    The polyhedron intersects the set of points satisfying
-    the constraint, but it is not included in it.
-  */
-  static Poly_Con_Relation strictly_intersects();
+/*! \relates Generator */
+inline Generator
+point(const Linear_Expression& e, Coefficient_traits::const_reference d) {
+  return Generator::point(e, d);
+}
 
-  /*! \brief
-    The polyhedron is included in the set of points satisfying
-    the constraint.
-  */
-  static Poly_Con_Relation is_included();
+/*! \relates Generator */
+inline Generator
+closure_point(const Linear_Expression& e,
+	      Coefficient_traits::const_reference d) {
+  return Generator::closure_point(e, d);
+}
 
-  /*! \brief
-    The polyhedron is included in the set of points saturating
-    the constraint.
-  */
-  static Poly_Con_Relation saturates();
+/*! \relates Generator */
+inline bool
+operator==(const Generator& x, const Generator& y) {
+  return x.is_equivalent_to(y);
+}
 
-  PPL_OUTPUT_DECLARATIONS
+/*! \relates Generator */
+inline bool
+operator!=(const Generator& x, const Generator& y) {
+  return !x.is_equivalent_to(y);
+}
 
-  //! True if and only if \p *this implies \p y.
-  bool implies(const Poly_Con_Relation& y) const;
+inline void
+Generator::ascii_dump(std::ostream& s) const {
+  Linear_Row::ascii_dump(s);
+}
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
-};
+inline bool
+Generator::ascii_load(std::istream& s) {
+  return Linear_Row::ascii_load(s);
+}
 
-/* Automatically generated from PPL source file ../src/Poly_Con_Relation.inlines.hh line 1. */
-/* Poly_Con_Relation class implementation: inline functions.
-*/
+inline void
+Generator::swap(Generator& y) {
+  Linear_Row::swap(y);
+}
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates Generator */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Specialization, typename Temp, typename To>
+inline bool
+l_m_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+		    const Generator& x,
+		    const Generator& y,
+		    const Rounding_Dir dir,
+		    Temp& tmp0,
+		    Temp& tmp1,
+		    Temp& tmp2) {
+  // Generator kind compatibility check: we only compute distances
+  // between (closure) points.
+  if (x.is_line_or_ray() || y.is_line_or_ray())
+    return false;
+  const dimension_type x_space_dim = x.space_dimension();
+  // Dimension-compatibility check.
+  if (x_space_dim != y.space_dimension())
+    return false;
 
-namespace Parma_Polyhedra_Library {
+  // All zero-dim generators have distance zero.
+  if (x_space_dim == 0) {
+    assign_r(r, 0, ROUND_NOT_NEEDED);
+    return true;
+  }
 
-inline
-Poly_Con_Relation::Poly_Con_Relation(flags_t mask)
-  : flags(mask) {
-}
+  PPL_DIRTY_TEMP0(mpq_class, x_coord);
+  PPL_DIRTY_TEMP0(mpq_class, y_coord);
+  PPL_DIRTY_TEMP0(mpq_class, x_div);
+  PPL_DIRTY_TEMP0(mpq_class, y_div);
+  assign_r(x_div, x.divisor(), ROUND_NOT_NEEDED);
+  assign_r(y_div, y.divisor(), ROUND_NOT_NEEDED);
 
-inline Poly_Con_Relation::flags_t
-Poly_Con_Relation::get_flags() const {
-  return flags;
-}
+  assign_r(tmp0, 0, ROUND_NOT_NEEDED);
+  for (dimension_type i = x_space_dim; i-- > 0; ) {
+    assign_r(x_coord, x.coefficient(Variable(i)), ROUND_NOT_NEEDED);
+    div_assign_r(x_coord, x_coord, x_div, ROUND_NOT_NEEDED);
+    assign_r(y_coord, y.coefficient(Variable(i)), ROUND_NOT_NEEDED);
+    div_assign_r(y_coord, y_coord, y_div, ROUND_NOT_NEEDED);
+    const Temp* tmp1p;
+    const Temp* tmp2p;
 
-inline Poly_Con_Relation
-Poly_Con_Relation::nothing() {
-  return Poly_Con_Relation(NOTHING);
+    if (x_coord > y_coord) {
+      maybe_assign(tmp1p, tmp1, x_coord, dir);
+      maybe_assign(tmp2p, tmp2, y_coord, inverse(dir));
+    }
+    else {
+      maybe_assign(tmp1p, tmp1, y_coord, dir);
+      maybe_assign(tmp2p, tmp2, x_coord, inverse(dir));
+    }
+    sub_assign_r(tmp1, *tmp1p, *tmp2p, dir);
+    PPL_ASSERT(sgn(tmp1) >= 0);
+    Specialization::combine(tmp0, tmp1, dir);
+  }
+  Specialization::finalize(tmp0, dir);
+  assign_r(r, tmp0, dir);
+  return true;
 }
 
-inline Poly_Con_Relation
-Poly_Con_Relation::is_disjoint() {
-  return Poly_Con_Relation(IS_DISJOINT);
+/*! \relates Generator */
+template <typename Temp, typename To>
+inline bool
+rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			    const Generator& x,
+			    const Generator& y,
+			    const Rounding_Dir dir,
+			    Temp& tmp0,
+			    Temp& tmp1,
+			    Temp& tmp2) {
+  return l_m_distance_assign<Rectilinear_Distance_Specialization<Temp> >
+    (r, x, y, dir, tmp0, tmp1, tmp2);
 }
 
-inline Poly_Con_Relation
-Poly_Con_Relation::strictly_intersects() {
-  return Poly_Con_Relation(STRICTLY_INTERSECTS);
+/*! \relates Generator */
+template <typename Temp, typename To>
+inline bool
+rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			    const Generator& x,
+			    const Generator& y,
+			    const Rounding_Dir dir) {
+  typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
+  PPL_DIRTY_TEMP(Checked_Temp, tmp0);
+  PPL_DIRTY_TEMP(Checked_Temp, tmp1);
+  PPL_DIRTY_TEMP(Checked_Temp, tmp2);
+  return rectilinear_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
 }
 
-inline Poly_Con_Relation
-Poly_Con_Relation::is_included() {
-  return Poly_Con_Relation(IS_INCLUDED);
+/*! \relates Generator */
+template <typename To>
+inline bool
+rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			    const Generator& x,
+			    const Generator& y,
+			    const Rounding_Dir dir) {
+  return rectilinear_distance_assign<To, To>(r, x, y, dir);
 }
 
-inline Poly_Con_Relation
-Poly_Con_Relation::saturates() {
-  return Poly_Con_Relation(SATURATES);
+/*! \relates Generator */
+template <typename Temp, typename To>
+inline bool
+euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			  const Generator& x,
+			  const Generator& y,
+			  const Rounding_Dir dir,
+			  Temp& tmp0,
+			  Temp& tmp1,
+			  Temp& tmp2) {
+  return l_m_distance_assign<Euclidean_Distance_Specialization<Temp> >
+    (r, x, y, dir, tmp0, tmp1, tmp2);
 }
 
+/*! \relates Generator */
+template <typename Temp, typename To>
 inline bool
-Poly_Con_Relation::implies(flags_t x, flags_t y) {
-  return (x & y) == y;
+euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			  const Generator& x,
+			  const Generator& y,
+			  const Rounding_Dir dir) {
+  typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
+  PPL_DIRTY_TEMP(Checked_Temp, tmp0);
+  PPL_DIRTY_TEMP(Checked_Temp, tmp1);
+  PPL_DIRTY_TEMP(Checked_Temp, tmp2);
+  return euclidean_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
 }
 
+/*! \relates Generator */
+template <typename To>
 inline bool
-Poly_Con_Relation::implies(const Poly_Con_Relation& y) const {
-  return implies(flags, y.flags);
+euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			  const Generator& x,
+			  const Generator& y,
+			  const Rounding_Dir dir) {
+  return euclidean_distance_assign<To, To>(r, x, y, dir);
 }
 
-/*! \relates Poly_Con_Relation */
+/*! \relates Generator */
+template <typename Temp, typename To>
 inline bool
-operator==(const Poly_Con_Relation& x, const Poly_Con_Relation& y) {
-  return x.flags == y.flags;
+l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			   const Generator& x,
+			   const Generator& y,
+			   const Rounding_Dir dir,
+			   Temp& tmp0,
+			   Temp& tmp1,
+			   Temp& tmp2) {
+  return l_m_distance_assign<L_Infinity_Distance_Specialization<Temp> >
+    (r, x, y, dir, tmp0, tmp1, tmp2);
 }
 
-/*! \relates Poly_Con_Relation */
+/*! \relates Generator */
+template <typename Temp, typename To>
 inline bool
-operator!=(const Poly_Con_Relation& x, const Poly_Con_Relation& y) {
-  return x.flags != y.flags;
+l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			   const Generator& x,
+			   const Generator& y,
+			   const Rounding_Dir dir) {
+  typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
+  PPL_DIRTY_TEMP(Checked_Temp, tmp0);
+  PPL_DIRTY_TEMP(Checked_Temp, tmp1);
+  PPL_DIRTY_TEMP(Checked_Temp, tmp2);
+  return l_infinity_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
 }
 
-/*! \relates Poly_Con_Relation */
-inline Poly_Con_Relation
-operator&&(const Poly_Con_Relation& x, const Poly_Con_Relation& y) {
-  return Poly_Con_Relation(x.flags | y.flags);
+/*! \relates Generator */
+template <typename To>
+inline bool
+l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			   const Generator& x,
+			   const Generator& y,
+			   const Rounding_Dir dir) {
+  return l_infinity_distance_assign<To, To>(r, x, y, dir);
 }
 
-/*! \relates Poly_Con_Relation */
-inline Poly_Con_Relation
-operator-(const Poly_Con_Relation& x, const Poly_Con_Relation& y) {
-  return Poly_Con_Relation(x.flags & ~y.flags);
+} // namespace Parma_Polyhedra_Library
+
+namespace std {
+
+/*! \relates Parma_Polyhedra_Library::Generator */
+inline void
+swap(Parma_Polyhedra_Library::Generator& x,
+     Parma_Polyhedra_Library::Generator& y) {
+  x.swap(y);
 }
 
-} // namespace Parma_Polyhedra_Library
+} // namespace std
 
-/* Automatically generated from PPL source file ../src/Poly_Con_Relation.defs.hh line 164. */
+/* Automatically generated from PPL source file ../src/Generator.defs.hh line 722. */
+
+/* Automatically generated from PPL source file ../src/Congruence.defs.hh line 1. */
+/* Congruence class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Congruence_System.defs.hh line 1. */
+/* Congruence_System class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Grid_Certificate.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+class Grid_Certificate;
+
+}
 
-/* Automatically generated from PPL source file ../src/Generator_System.defs.hh line 35. */
+/* Automatically generated from PPL source file ../src/Congruence_System.defs.hh line 34. */
 #include <iosfwd>
 
 namespace Parma_Polyhedra_Library {
@@ -18254,46 +21494,38 @@ namespace IO_Operators {
 
 //! Output operator.
 /*!
-  \relates Parma_Polyhedra_Library::Generator_System
-  Writes <CODE>false</CODE> if \p gs is empty.  Otherwise, writes on
-  \p s the generators of \p gs, all in one row and separated by ", ".
+  \relates Parma_Polyhedra_Library::Congruence_System
+  Writes <CODE>true</CODE> if \p cgs is empty.  Otherwise, writes on
+  \p s the congruences of \p cgs, all in one row and separated by ", ".
 */
-std::ostream& operator<<(std::ostream& s, const Generator_System& gs);
+std::ostream&
+operator<<(std::ostream& s, const Congruence_System& cgs);
 
 } // namespace IO_Operators
 
-// Put it in the namespace here to declare it friend later.
-/*! \relates Polyhedron */
-bool operator==(const Polyhedron& x, const Polyhedron& y);
-
 } // namespace Parma_Polyhedra_Library
 
 
 namespace std {
 
 //! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Generator_System */
-void swap(Parma_Polyhedra_Library::Generator_System& x,
-	  Parma_Polyhedra_Library::Generator_System& y);
+/*! \relates Parma_Polyhedra_Library::Congruence_System */
+void
+swap(Parma_Polyhedra_Library::Congruence_System& x,
+     Parma_Polyhedra_Library::Congruence_System& y);
 
 } // namespace std
 
-//! A system of generators.
+//! A system of congruences.
 /*! \ingroup PPL_CXX_interface
-    An object of the class Generator_System is a system of generators,
-    i.e., a multiset of objects of the class Generator
-    (lines, rays, points and closure points).
-    When inserting generators in a system, space dimensions are automatically
-    adjusted so that all the generators in the system are defined
-    on the same vector space.
-    A system of generators which is meant to define a non-empty
-    polyhedron must include at least one point: the reason is that
-    lines, rays and closure points need a supporting point
-    (lines and rays only specify directions while closure points only
-    specify points in the topological closure of the NNC polyhedron).
+    An object of the class Congruence_System is a system of congruences,
+    i.e., a multiset of objects of the class Congruence.
+    When inserting congruences in a system, space dimensions are
+    automatically adjusted so that all the congruences in the system
+    are defined on the same vector space.
 
     \par
-     In all the examples it is assumed that variables
+    In all the examples it is assumed that variables
     <CODE>x</CODE> and <CODE>y</CODE> are defined as follows:
     \code
   Variable x(0);
@@ -18301,133 +21533,134 @@ void swap(Parma_Polyhedra_Library::Generator_System& x,
     \endcode
 
     \par Example 1
-    The following code defines the line having the same direction
-    as the \f$x\f$ axis (i.e., the first Cartesian axis)
-    in \f$\Rset^2\f$:
-    \code
-  Generator_System gs;
-  gs.insert(line(x + 0*y));
-    \endcode
-    As said above, this system of generators corresponds to
-    an empty polyhedron, because the line has no supporting point.
-    To define a system of generators that does correspond to
-    the \f$x\f$ axis, we can add the following code which
-    inserts the origin of the space as a point:
-    \code
-  gs.insert(point(0*x + 0*y));
-    \endcode
-    Since space dimensions are automatically adjusted, the following
-    code obtains the same effect:
-    \code
-  gs.insert(point(0*x));
-    \endcode
-    In contrast, if we had added the following code, we would have
-    defined a line parallel to the \f$x\f$ axis through
-    the point \f$(0, 1)^\transpose \in \Rset^2\f$.
+    The following code builds a system of congruences corresponding to
+    an integer grid in \f$\Rset^2\f$:
     \code
-  gs.insert(point(0*x + 1*y));
+  Congruence_System cgs;
+  cgs.insert(x %= 0);
+  cgs.insert(y %= 0);
     \endcode
+    Note that:
+    the congruence system is created with space dimension zero;
+    the first and second congruence insertions increase the space
+    dimension to \f$1\f$ and \f$2\f$, respectively.
 
     \par Example 2
-    The following code builds a ray having the same direction as
-    the positive part of the \f$x\f$ axis in \f$\Rset^2\f$:
-    \code
-  Generator_System gs;
-  gs.insert(ray(x + 0*y));
-    \endcode
-    To define a system of generators indeed corresponding to the set
-    \f[
-      \bigl\{\,
-        (x, 0)^\transpose \in \Rset^2
-      \bigm|
-        x \geq 0
-      \,\bigr\},
-    \f]
-    one just has to add the origin:
+    By adding to the congruence system of the previous example,
+    the congruence \f$x + y = 1 \pmod{2}\f$:
     \code
-  gs.insert(point(0*x + 0*y));
+  cgs.insert((x + y %= 1) / 2);
     \endcode
+    we obtain the grid containing just those integral
+    points where the sum of the \p x and \p y values is odd.
 
     \par Example 3
-    The following code builds a system of generators having four points
-    and corresponding to a square in \f$\Rset^2\f$
-    (the same as Example 1 for the system of constraints):
-    \code
-  Generator_System gs;
-  gs.insert(point(0*x + 0*y));
-  gs.insert(point(0*x + 3*y));
-  gs.insert(point(3*x + 0*y));
-  gs.insert(point(3*x + 3*y));
-    \endcode
-
-    \par Example 4
-    By using closure points, we can define the \e kernel
-    (i.e., the largest open set included in a given set)
-    of the square defined in the previous example.
-    Note that a supporting point is needed and, for that purpose,
-    any inner point could be considered.
-    \code
-  Generator_System gs;
-  gs.insert(point(x + y));
-  gs.insert(closure_point(0*x + 0*y));
-  gs.insert(closure_point(0*x + 3*y));
-  gs.insert(closure_point(3*x + 0*y));
-  gs.insert(closure_point(3*x + 3*y));
-    \endcode
-
-    \par Example 5
-    The following code builds a system of generators having two points
-    and a ray, corresponding to a half-strip in \f$\Rset^2\f$
-    (the same as Example 2 for the system of constraints):
+    The following code builds a system of congruences corresponding to
+    the grid in \f$\Zset^2\f$ containing just the integral points on
+    the \p x axis:
     \code
-  Generator_System gs;
-  gs.insert(point(0*x + 0*y));
-  gs.insert(point(0*x + 1*y));
-  gs.insert(ray(x - y));
+  Congruence_System cgs;
+  cgs.insert(x %= 0);
+  cgs.insert((y %= 0) / 0);
     \endcode
 
     \note
-    After inserting a multiset of generators in a generator system,
+    After inserting a multiset of congruences in a congruence system,
     there are no guarantees that an <EM>exact</EM> copy of them
     can be retrieved:
-    in general, only an <EM>equivalent</EM> generator system
-    will be available, where original generators may have been
-    reordered, removed (if they are duplicate or redundant), etc.
+    in general, only an <EM>equivalent</EM> congruence system
+    will be available, where original congruences may have been
+    reordered, removed (if they are trivial, duplicate or
+    implied by other congruences), linearly combined, etc.
 */
-class Parma_Polyhedra_Library::Generator_System : protected Linear_System {
+class Parma_Polyhedra_Library::Congruence_System : private Matrix {
 public:
-  //! Default constructor: builds an empty system of generators.
-  Generator_System();
+  //! Default constructor: builds an empty system of congruences.
+  Congruence_System();
 
-  //! Builds the singleton system containing only generator \p g.
-  explicit Generator_System(const Generator& g);
+  //! Builds the singleton system containing only congruence \p cg.
+  explicit Congruence_System(const Congruence& cg);
 
-  //! Ordinary copy-constructor.
-  Generator_System(const Generator_System& gs);
+  /*! \brief
+    If \p c represents the constraint \f$ e_1 = e_2 \f$, builds the
+    singleton system containing only constraint \f$ e_1 = e_2
+    \pmod{0}\f$.
+
+    \exception std::invalid_argument
+    Thrown if \p c is not an equality constraint.
+  */
+  explicit Congruence_System(const Constraint& c);
+
+  //! Builds a system containing copies of any equalities in \p cs.
+  explicit Congruence_System(const Constraint_System& cs);
+
+  //! Ordinary copy constructor.
+  Congruence_System(const Congruence_System& cgs);
 
   //! Destructor.
-  ~Generator_System();
+  ~Congruence_System();
 
   //! Assignment operator.
-  Generator_System& operator=(const Generator_System& y);
+  Congruence_System& operator=(const Congruence_System& cgs);
 
-  //! Returns the maximum space dimension a Generator_System can handle.
+  //! Returns the maximum space dimension a Congruence_System can handle.
   static dimension_type max_space_dimension();
 
   //! Returns the dimension of the vector space enclosing \p *this.
   dimension_type space_dimension() const;
 
   /*! \brief
-    Removes all the generators from the generator system
-    and sets its space dimension to 0.
+    Returns <CODE>true</CODE> if and only if \p *this is exactly equal
+    to \p cgs.
+  */
+  bool is_equal_to(const Congruence_System& cgs) const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this contains one or
+    more linear equalities.
   */
+  bool has_linear_equalities() const;
+
+  //! Removes all the congruences and sets the space dimension to 0.
   void clear();
 
   /*! \brief
-    Inserts in \p *this a copy of the generator \p g,
+    Inserts in \p *this a copy of the congruence \p cg, increasing the
+    number of space dimensions if needed.
+
+    The copy of \p cg will be strongly normalized after being
+    inserted.
+  */
+  void insert(const Congruence& cg);
+
+  /*! \brief
+    Inserts in \p *this a copy of the equality constraint \p c, seen
+    as a modulo 0 congruence, increasing the number of space
+    dimensions if needed.
+
+    The modulo 0 congruence will be strongly normalized after being
+    inserted.
+
+    \exception std::invalid_argument
+    Thrown if \p c is a relational constraint.
+  */
+  void insert(const Constraint& c);
+
+  // TODO: Consider adding a recycling_insert(cg).
+
+  /*! \brief
+    Inserts in \p *this a copy of the congruences in \p cgs,
     increasing the number of space dimensions if needed.
+
+    The inserted copies will be strongly normalized.
   */
-  void insert(const Generator& g);
+  void insert(const Congruence_System& cgs);
+
+  /*! \brief
+    Inserts into \p *this the congruences in \p cgs, increasing the
+    number of space dimensions if needed.
+  */
+  void recycling_insert(Congruence_System& cgs);
 
   //! Initializes the class.
   static void initialize();
@@ -18435,43 +21668,35 @@ public:
   //! Finalizes the class.
   static void finalize();
 
-  /*! \brief
-    Returns the singleton system containing only Generator::zero_dim_point().
-  */
-  static const Generator_System& zero_dim_univ();
+  //! Returns the system containing only Congruence::zero_dim_false().
+  static const Congruence_System& zero_dim_empty();
 
-  //! An iterator over a system of generators
+  //! An iterator over a system of congruences.
   /*! \ingroup PPL_CXX_interface
-      A const_iterator is used to provide read-only access
-      to each generator contained in an object of Generator_System.
+    A const_iterator is used to provide read-only access
+    to each congruence contained in an object of Congruence_System.
 
-      \par Example
-      The following code prints the system of generators
-      of the polyhedron <CODE>ph</CODE>:
-      \code
-  const Generator_System& gs = ph.generators();
-  for (Generator_System::const_iterator i = gs.begin(),
-         gs_end = gs.end(); i != gs_end; ++i)
+    \par Example
+    The following code prints the system of congruences
+    defining the grid <CODE>gr</CODE>:
+    \code
+  const Congruence_System& cgs = gr.congruences();
+  for (Congruence_System::const_iterator i = cgs.begin(),
+         cgs_end = cgs.end(); i != cgs_end; ++i)
     cout << *i << endl;
-      \endcode
-      The same effect can be obtained more concisely by using
-      more features of the STL:
-      \code
-  const Generator_System& gs = ph.generators();
-  copy(gs.begin(), gs.end(), ostream_iterator<Generator>(cout, "\n"));
-      \endcode
+    \endcode
   */
   class const_iterator
     : public std::iterator<std::forward_iterator_tag,
-			   Generator,
+			   Congruence,
 			   ptrdiff_t,
-			   const Generator*,
-			   const Generator&> {
+			   const Congruence*,
+			   const Congruence&> {
   public:
     //! Default constructor.
     const_iterator();
 
-    //! Ordinary copy-constructor.
+    //! Ordinary copy constructor.
     const_iterator(const const_iterator& y);
 
     //! Destructor.
@@ -18481,10 +21706,10 @@ public:
     const_iterator& operator=(const const_iterator& y);
 
     //! Dereference operator.
-    const Generator& operator*() const;
+    const Congruence& operator*() const;
 
     //! Indirect member selector.
-    const Generator* operator->() const;
+    const Congruence* operator->() const;
 
     //! Prefix increment operator.
     const_iterator& operator++();
@@ -18493,44 +21718,41 @@ public:
     const_iterator operator++(int);
 
     /*! \brief
-      Returns <CODE>true</CODE> if and only if
-      \p *this and \p y are identical.
+      Returns <CODE>true</CODE> if and only if \p *this and \p y are
+      identical.
     */
     bool operator==(const const_iterator& y) const;
 
     /*! \brief
-      Returns <CODE>true</CODE> if and only if
-      \p *this and \p y are different.
+      Returns <CODE>true</CODE> if and only if \p *this and \p y are
+      different.
     */
     bool operator!=(const const_iterator& y) const;
 
   private:
-    friend class Generator_System;
+    friend class Congruence_System;
 
-    //! The const iterator over the Linear_System.
-    Linear_System::const_iterator i;
+    //! The const iterator over the matrix of congruences.
+    Matrix::const_iterator i;
 
-    //! A const pointer to the Linear_System.
-    const Linear_System* gsp;
+    //! A const pointer to the matrix of congruences.
+    const Matrix* csp;
 
     //! Constructor.
-    const_iterator(const Linear_System::const_iterator& iter,
-		   const Generator_System& gsys);
+    const_iterator(const Matrix::const_iterator& iter,
+		   const Congruence_System& cgs);
 
-    /*! \brief
-      \p *this skips to the next generator, skipping those
-      closure points that are immediately followed by a matching point.
-    */
+    //! \p *this skips to the next non-trivial congruence.
     void skip_forward();
   };
 
-  //! Returns <CODE>true</CODE> if and only if \p *this has no generators.
+  //! Returns <CODE>true</CODE> if and only if \p *this has no congruences.
   bool empty() const;
 
   /*! \brief
-    Returns the const_iterator pointing to the first generator,
-    if \p *this is not empty;
-    otherwise, returns the past-the-end const_iterator.
+    Returns the const_iterator pointing to the first congruence, if \p
+    *this is not empty; otherwise, returns the past-the-end
+    const_iterator.
   */
   const_iterator begin() const;
 
@@ -18538,10 +21760,13 @@ public:
   const_iterator end() const;
 
   //! Checks if all the invariants are satisfied.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
   /*!
     Returns <CODE>true</CODE> if and only if \p *this is a valid
-    Linear_System and each row in the system is a valid Generator.
+    Matrix, each row in the system is a valid Congruence and the
+    number of columns is consistent with the number of congruences.
   */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
   bool OK() const;
 
   PPL_OUTPUT_DECLARATIONS
@@ -18550,10 +21775,6 @@ public:
     Loads from \p s an ASCII representation (as produced by
     ascii_dump(std::ostream&) const) and sets \p *this accordingly.
     Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-
-    Resizes the matrix of generators using the numbers of rows and columns
-    read from \p s, then initializes the coordinates of each generator
-    and its type reading the contents from \p s.
   */
   bool ascii_load(std::istream& s);
 
@@ -18563,378 +21784,275 @@ public:
   //! Returns the size in bytes of the memory managed by \p *this.
   memory_size_type external_memory_in_bytes() const;
 
-  //! Swaps \p *this with \p y.
-  void swap(Generator_System& y);
-
-private:
-  /*! \brief
-    Holds (between class initialization and finalization) a pointer to
-    the singleton system containing only Generator::zero_dim_point().
-  */
-  static const Generator_System* zero_dim_univ_p;
-
-  friend class const_iterator;
-  friend class Parma_Polyhedra_Library::Polyhedron;
-  friend class Parma_Polyhedra_Library::Grid_Generator_System;
-
-  friend bool operator==(const Polyhedron& x, const Polyhedron& y);
-
-  //! Builds an empty system of generators having the specified topology.
-  explicit Generator_System(Topology topol);
+  //! Returns the number of equalities.
+  dimension_type num_equalities() const;
 
-  /*! \brief
-    Builds a system of \p n_rows rays/points on a \p n_columns - 1
-    dimensional space (including the \f$\epsilon\f$ dimension, if
-    \p topol is <CODE>NOT_NECESSARILY_CLOSED</CODE>).
-  */
-  Generator_System(Topology topol,
-		   dimension_type n_rows, dimension_type n_columns);
+  //! Returns the number of proper congruences.
+  dimension_type num_proper_congruences() const;
 
-  /*! \brief
-    Adjusts \p *this so that it matches the topology and
-    the number of space dimensions given as parameters
-    (adding or removing columns if needed).
-    Returns <CODE>false</CODE> if and only if \p topol is
-    equal to <CODE>NECESSARILY_CLOSED</CODE> and \p *this
-    contains closure points.
-  */
-  bool adjust_topology_and_space_dimension(Topology topol,
-					   dimension_type num_dimensions);
+  //! Swaps \p *this with \p y.
+  void swap(Congruence_System& cgs);
 
   /*! \brief
-    For each unmatched closure point in \p *this, adds the
-    corresponding point.
+    Adds \p dims rows and \p dims columns of zeroes to the matrix,
+    initializing the added rows as in the unit congruence system.
 
-    It is assumed that the topology of \p *this
-    is <CODE>NOT_NECESSARILY_CLOSED</CODE>.
-  */
-  void add_corresponding_points();
+    \param dims
+    The number of rows and columns to be added: must be strictly
+    positive.
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this
-    contains one or more points.
+    Turns the \f$r \times c\f$ matrix \f$A\f$ into the \f$(r+dims) \times
+    (c+dims)\f$ matrix
+    \f$\bigl(\genfrac{}{}{0pt}{}{0}{A} \genfrac{}{}{0pt}{}{B}{A}\bigr)\f$
+    where \f$B\f$ is the \f$dims \times dims\f$ unit matrix of the form
+    \f$\bigl(\genfrac{}{}{0pt}{}{0}{1} \genfrac{}{}{0pt}{}{1}{0}\bigr)\f$.
+    The matrix is expanded avoiding reallocation whenever possible.
   */
-  bool has_points() const;
+  void add_unit_rows_and_columns(dimension_type dims);
 
-  /*! \brief
-    For each unmatched point in \p *this, adds the corresponding
-    closure point.
+protected:
 
-    It is assumed that the topology of \p *this
-    is <CODE>NOT_NECESSARILY_CLOSED</CODE>.
-  */
-  void add_corresponding_closure_points();
+  //! Returns <CODE>true</CODE> if \p g satisfies all the congruences.
+  bool satisfies_all_congruences(const Grid_Generator& g) const;
 
+private:
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this
-    contains one or more closure points.
-
-    Note: the check for the presence of closure points is
-    done under the point of view of the user. Namely, we scan
-    the generator system using high-level iterators, so that
-    closure points that are matching the corresponding points
-    will be disregarded.
+    Holds (between class initialization and finalization) a pointer to
+    the singleton system containing only Congruence::zero_dim_false().
   */
-  bool has_closure_points() const;
-
-  //! Returns the \p k- th generator of the system.
-  Generator& operator[](dimension_type k);
+  static const Congruence_System* zero_dim_empty_p;
 
-  //! Returns a constant reference to the \p k- th generator of the system.
-  const Generator& operator[](dimension_type k) const;
+  //! Builds an empty (i.e. zero rows) system of dimension \p d.
+  explicit Congruence_System(dimension_type d);
 
   /*! \brief
-    Returns the relations holding between the generator system
-    and the constraint \p c.
-  */
-  Parma_Polyhedra_Library::Poly_Con_Relation
-  relation_with(const Constraint& c) const;
-
-  //! Returns <CODE>true</CODE> if all the generators satisfy \p c.
-  bool satisfied_by_all_generators(const Constraint& c) const;
-
-  //! Returns <CODE>true</CODE> if all the generators satisfy \p c.
-  /*!
-    It is assumed that <CODE>c.is_necessarily_closed()</CODE> holds.
-  */
-  bool satisfied_by_all_generators_C(const Constraint& c) const;
-
-  //! Returns <CODE>true</CODE> if all the generators satisfy \p c.
-  /*!
-    It is assumed that <CODE>c.is_necessarily_closed()</CODE> does not hold.
-  */
-  bool satisfied_by_all_generators_NNC(const Constraint& c) const;
-
-  //! Assigns to a given variable an affine expression.
-  /*!
-    \param v
-    Index of the column to which the affine transformation is assigned;
-
-    \param expr
-    The numerator of the affine transformation:
-    \f$\sum_{i = 0}^{n - 1} a_i x_i + b\f$;
-
-    \param denominator
-    The denominator of the affine transformation.
-
-    We want to allow affine transformations (see the Introduction) having
-    any rational coefficients. Since the coefficients of the
-    constraints are integers we must also provide an integer \p denominator
-    that will be used as denominator of the affine transformation.
-    The denominator is required to be a positive integer.
+    Concatenates copies of the congruences from \p cgs onto \p *this.
 
-    The affine transformation assigns to each element of \p v -th
-    column the follow expression:
-    \f[
-      \frac{\sum_{i = 0}^{n - 1} a_i x_i + b}
-           {\mathrm{denominator}}.
-    \f]
+    \param cgs
+    The congruence system to append to \p this.  The number of rows in
+    \p cgs must be strictly positive.
 
-    \p expr is a constant parameter and unaltered by this computation.
+    The matrix for the new system of congruences is obtained by
+    leaving the old system in the upper left-hand side and placing the
+    congruences of \p cgs in the lower right-hand side, and padding
+    with zeroes.
   */
-  void affine_image(dimension_type v,
-		    const Linear_Expression& expr,
-		    Coefficient_traits::const_reference denominator);
-
-  //! Returns the number of lines of the system.
-  dimension_type num_lines() const;
+  void concatenate(const Congruence_System& cgs);
 
-  //! Returns the number of rays of the system.
-  dimension_type num_rays() const;
+  //! Adjusts all expressions to have the same moduli.
+  void normalize_moduli();
 
-  //! Removes all the invalid lines and rays.
+  //! Increase the number of space dimensions to \p new_space_dim.
   /*!
-    The invalid lines and rays are those with all
-    the homogeneous terms set to zero.
-  */
-  void remove_invalid_lines_and_rays();
-
-  /*! \brief
-    Applies Gaussian elimination and back-substitution so as
-    to provide a partial simplification of the system of generators.
-
-    It is assumed that the system has no pending generators.
+    \p new_space_dim must at least equal to the current space
+    dimension.
   */
-  void simplify();
+  bool increase_space_dimension(dimension_type new_space_dim);
 
   /*! \brief
-    Inserts in \p *this a copy of the generator \p g,
+    Inserts in \p *this an exact copy of the congruence \p cg,
     increasing the number of space dimensions if needed.
-    It is a pending generator.
-  */
-  void insert_pending(const Generator& g);
-};
-
-// Generator_System.inlines.hh is not included here on purpose.
-
-/* Automatically generated from PPL source file ../src/distances.defs.hh line 1. */
-/* Class declarations for several distances.
-*/
 
+    This method inserts a copy of \p cg in the given form, instead of
+    first strong normalizing \p cg as \ref insert would do.
+  */
+  void insert_verbatim(const Congruence& cg);
 
-/* Automatically generated from PPL source file ../src/distances.types.hh line 1. */
+  friend class const_iterator;
+  friend class Grid;
+  friend class Grid_Certificate;
 
+  friend void std::swap(Parma_Polyhedra_Library::Congruence_System& x,
+			Parma_Polyhedra_Library::Congruence_System& y);
 
-namespace Parma_Polyhedra_Library {
+  friend bool
+  operator==(const Congruence_System& x, const Congruence_System& y);
 
-template <typename Temp>
-struct Rectilinear_Distance_Specialization;
+  //! Returns the \p k- th congruence of the system.
+  Congruence& operator[](dimension_type k);
 
-template <typename Temp>
-struct Euclidean_Distance_Specialization;
+  //! Returns a constant reference to the \p k- th congruence of the system.
+  const Congruence& operator[](dimension_type k) const;
 
-template <typename Temp>
-struct L_Infinity_Distance_Specialization;
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if any of the dimensions in
+    \p *this is free of constraint.
 
-} // namespace Parma_Polyhedra_Library
+    Any equality or proper congruence affecting a dimension constrains
+    that dimension.
 
-/* Automatically generated from PPL source file ../src/distances.defs.hh line 28. */
+    This method assumes the system is in minimal form.
+  */
+  bool has_a_free_dimension() const;
 
-template <typename Temp>
-struct Parma_Polyhedra_Library::Rectilinear_Distance_Specialization {
-  static void combine(Temp& running, const Temp& current, Rounding_Dir dir);
+  /*! \brief
+    Substitutes a given column of coefficients by a given affine
+    expression.
 
-  static void finalize(Temp&, Rounding_Dir);
-};
+    \param v
+    Index of the column to which the affine transformation is
+    substituted;
 
-template <typename Temp>
-struct Parma_Polyhedra_Library::Euclidean_Distance_Specialization {
-  static void combine(Temp& running, Temp& current, Rounding_Dir dir);
+    \param expr
+    The numerator of the affine transformation:
+    \f$\sum_{i = 0}^{n - 1} a_i x_i + b\f$;
 
-  static void finalize(Temp& running, Rounding_Dir dir);
-};
+    \param denominator
+    The denominator of the affine transformation.
 
+    We allow affine transformations (see the Section \ref
+    rational_grid_operations) to have rational
+    coefficients. Since the coefficients of linear expressions are
+    integers we also provide an integer \p denominator that will
+    be used as denominator of the affine transformation.  The
+    denominator is required to be a positive integer and its default value
+    is 1.
 
-template <typename Temp>
-struct Parma_Polyhedra_Library::L_Infinity_Distance_Specialization {
-  static void combine(Temp& running, const Temp& current, Rounding_Dir);
+    The affine transformation substitutes the matrix of congruences
+    by a new matrix whose elements \f${a'}_{ij}\f$ are built from
+    the old one \f$a_{ij}\f$ as follows:
+    \f[
+      {a'}_{ij} =
+        \begin{cases}
+          a_{ij} * \mathrm{denominator} + a_{iv} * \mathrm{expr}[j]
+            \quad \text{for } j \neq v; \\
+          \mathrm{expr}[v] * a_{iv}
+            \quad \text{for } j = v.
+        \end{cases}
+    \f]
 
-  static void finalize(Temp&, Rounding_Dir);
-};
+    \p expr is a constant parameter and unaltered by this computation.
+  */
+  void affine_preimage(dimension_type v,
+		       const Linear_Expression& expr,
+		       Coefficient_traits::const_reference denominator);
 
-/* Automatically generated from PPL source file ../src/distances.inlines.hh line 1. */
-/* Inline functions implementing distances.
-*/
+  /*! \brief
+    Removes the higher dimensions of the system so that the resulting
+    system will have dimension \p new_dimension.
 
+    The value of \p new_dimension must be at most the space dimension
+    of \p *this.
+  */
+  void remove_higher_space_dimensions(dimension_type new_dimension);
 
-/* Automatically generated from PPL source file ../src/distances.inlines.hh line 27. */
+  //! Resizes the system without worrying about the old contents.
+  /*!
+    \param new_num_rows
+    The number of rows of the resized system;
 
-namespace Parma_Polyhedra_Library {
+    \param new_num_columns
+    The number of columns of the resized system.
 
-// A struct to work around the lack of partial specialization
-// of function templates in C++.
-template <typename To, typename From>
-struct maybe_assign_struct {
-  static inline Result
-  function(const To*& top, To& tmp, const From& from, Rounding_Dir dir) {
-    // When `To' and `From' are different types, we make the conversion
-    // and use `tmp'.
-    top = &tmp;
-    return assign_r(tmp, from, dir);
-  }
+    The system is expanded to the specified dimensions avoiding
+    reallocation whenever possible.
+    The contents of the original system is lost.
+  */
+  void resize_no_copy(dimension_type new_num_rows,
+		      dimension_type new_num_columns);
 };
 
-template <typename Type>
-struct maybe_assign_struct<Type, Type> {
-  static inline Result
-  function(const Type*& top, Type&, const Type& from, Rounding_Dir) {
-    // When the types are the same, conversion is unnecessary.
-    top = &from;
-    return V_EQ;
-  }
-};
+// Congruence_System.inlines.hh is not included here on purpose.
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  Assigns to \p top a pointer to a location that holds the
-  conversion, according to \p dir, of \p from to type \p To.  When
-  necessary, and only when necessary, the variable \p tmp is used to
-  hold the result of conversion.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename To, typename From>
-inline Result
-maybe_assign(const To*& top, To& tmp, const From& from, Rounding_Dir dir) {
-  return maybe_assign_struct<To, From>::function(top, tmp, from, dir);
-}
+/* Automatically generated from PPL source file ../src/Congruence.defs.hh line 36. */
+#include <iosfwd>
 
-template <typename Temp>
-inline void
-Rectilinear_Distance_Specialization<Temp>::combine(Temp& running,
-						   const Temp& current,
-						   Rounding_Dir dir) {
-  add_assign_r(running, running, current, dir);
-}
+namespace Parma_Polyhedra_Library {
 
-template <typename Temp>
-inline void
-Rectilinear_Distance_Specialization<Temp>::finalize(Temp&, Rounding_Dir) {
-}
+namespace IO_Operators {
 
-template <typename Temp>
-inline void
-Euclidean_Distance_Specialization<Temp>::combine(Temp& running,
-						 Temp& current,
-						 Rounding_Dir dir) {
-  mul_assign_r(current, current, current, dir);
-  add_assign_r(running, running, current, dir);
-}
+//! Output operators.
 
-template <typename Temp>
-inline void
-Euclidean_Distance_Specialization<Temp>::finalize(Temp& running,
-						  Rounding_Dir dir) {
-  sqrt_assign_r(running, running, dir);
-}
+/*! \relates Parma_Polyhedra_Library::Congruence */
+std::ostream&
+operator<<(std::ostream& s, const Congruence& c);
 
-template <typename Temp>
-inline void
-L_Infinity_Distance_Specialization<Temp>::combine(Temp& running,
-						  const Temp& current,
-						  Rounding_Dir) {
-  if (current > running)
-    running = current;
-}
+// Put this in the namespace here to declare it a friend later.
 
-template <typename Temp>
-inline void
-L_Infinity_Distance_Specialization<Temp>::finalize(Temp&, Rounding_Dir) {
-}
+/*! \relates Parma_Polyhedra_Library::Congruence_System */
+std::ostream&
+operator<<(std::ostream& s, const Congruence_System& cgs);
 
-} // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/distances.defs.hh line 52. */
+} // namespace IO_Operators
 
-/* Automatically generated from PPL source file ../src/Generator.defs.hh line 39. */
-#include <iosfwd>
+// Put these in the namespace here to declare them friend later.
 
-namespace Parma_Polyhedra_Library {
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are equivalent.
+/*! \relates Congruence */
+bool
+operator==(const Congruence& x, const Congruence& y);
 
-// Put them in the namespace here to declare them friend later.
+//! Returns <CODE>false</CODE> if and only if \p x and \p y are equivalent.
+/*! \relates Congruence */
+bool
+operator!=(const Congruence& x, const Congruence& y);
 
-namespace IO_Operators {
+//! Returns the congruence \f$e1 = e2 \pmod{1}\f$.
+/*! \relates Congruence */
+Congruence
+operator%=(const Linear_Expression& e1, const Linear_Expression& e2);
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Generator */
-std::ostream& operator<<(std::ostream& s, const Generator& g);
+//! Returns the congruence \f$e = n \pmod{1}\f$.
+/*! \relates Congruence */
+Congruence
+operator%=(const Linear_Expression& e, Coefficient_traits::const_reference n);
 
-} // namespace IO_Operators
+//! Returns a copy of \p cg, multiplying \p k into the copy's modulus.
+/*!
+    If \p cg represents the congruence \f$ e_1 = e_2
+    \pmod{m}\f$, then the result represents the
+    congruence \f$ e_1 = e_2 \pmod{mk}\f$.
+  \relates Congruence
+*/
+Congruence
+operator/(const Congruence& cg, Coefficient_traits::const_reference k);
+
+//! Creates a congruence from \p c, with \p m as the modulus.
+/*! \relates Congruence */
+Congruence
+operator/(const Constraint& c, Coefficient_traits::const_reference m);
 
 } // namespace Parma_Polyhedra_Library
 
 namespace std {
 
 //! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Generator */
-void swap(Parma_Polyhedra_Library::Generator& x,
-	  Parma_Polyhedra_Library::Generator& y);
+/*! \relates Parma_Polyhedra_Library::Congruence */
+void
+swap(Parma_Polyhedra_Library::Congruence& x,
+     Parma_Polyhedra_Library::Congruence& y);
 
 } // namespace std
 
-
-//! A line, ray, point or closure point.
+//! A linear congruence.
 /*! \ingroup PPL_CXX_interface
-  An object of the class Generator is one of the following:
-
-  - a line \f$\vect{l} = (a_0, \ldots, a_{n-1})^\transpose\f$;
-
-  - a ray \f$\vect{r} = (a_0, \ldots, a_{n-1})^\transpose\f$;
-
-  - a point
-    \f$\vect{p} = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$;
-
-  - a closure point
-    \f$\vect{c} = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$;
+  An object of the class Congruence is a congruence:
+  - \f$\cg = \sum_{i=0}^{n-1} a_i x_i + b = 0 \pmod m\f$
 
-  where \f$n\f$ is the dimension of the space
-  and, for points and closure points, \f$d > 0\f$ is the divisor.
+  where \f$n\f$ is the dimension of the space,
+  \f$a_i\f$ is the integer coefficient of variable \f$x_i\f$,
+  \f$b\f$ is the integer inhomogeneous term and \f$m\f$ is the integer modulus;
+  if \f$m = 0\f$, then \f$\cg\f$ represents the equality congruence
+  \f$\sum_{i=0}^{n-1} a_i x_i + b = 0\f$
+  and, if \f$m \neq 0\f$, then the congruence \f$\cg\f$ is
+  said to be a proper congruence.
 
-  \par A note on terminology.
-  As observed in Section \ref representation, there are cases when,
-  in order to represent a polyhedron \f$\cP\f$ using the generator system
-  \f$\cG = (L, R, P, C)\f$, we need to include in the finite set
-  \f$P\f$ even points of \f$\cP\f$ that are <EM>not</EM> vertices
-  of \f$\cP\f$.
-  This situation is even more frequent when working with NNC polyhedra
-  and it is the reason why we prefer to use the word `point'
-  where other libraries use the word `vertex'.
+  \par How to build a congruence
+  Congruences \f$\pmod{1}\f$ are typically built by
+  applying the congruence symbol `<CODE>\%=</CODE>'
+  to a pair of linear expressions.
+  Congruences with modulus \p m
+  are typically constructed by building a congruence \f$\pmod{1}\f$
+  using the given pair of linear expressions
+  and then adding the modulus \p m
+  using the modulus symbol is `<CODE>/</CODE>'.
 
-  \par How to build a generator.
-  Each type of generator is built by applying the corresponding
-  function (<CODE>line</CODE>, <CODE>ray</CODE>, <CODE>point</CODE>
-  or <CODE>closure_point</CODE>) to a linear expression,
-  representing a direction in the space;
-  the space dimension of the generator is defined as the space dimension
-  of the corresponding linear expression.
-  Linear expressions used to define a generator should be homogeneous
-  (any constant term will be simply ignored).
-  When defining points and closure points, an optional Coefficient argument
-  can be used as a common <EM>divisor</EM> for all the coefficients
-  occurring in the provided linear expression;
-  the default value for this argument is 1.
+  The space dimension of a congruence is defined as the maximum
+  space dimension of the arguments of its constructor.
 
   \par
-  In all the following examples it is assumed that variables
+  In the following examples it is assumed that variables
   <CODE>x</CODE>, <CODE>y</CODE> and <CODE>z</CODE>
   are defined as follows:
   \code
@@ -18944,236 +22062,160 @@ void swap(Parma_Polyhedra_Library::Generator& x,
   \endcode
 
   \par Example 1
-  The following code builds a line with direction \f$x-y-z\f$
-  and having space dimension \f$3\f$:
-  \code
-  Generator l = line(x - y - z);
-  \endcode
-  As mentioned above, the constant term of the linear expression
-  is not relevant. Thus, the following code has the same effect:
-  \code
-  Generator l = line(x - y - z + 15);
-  \endcode
-  By definition, the origin of the space is not a line, so that
-  the following code throws an exception:
-  \code
-  Generator l = line(0*x);
-  \endcode
-
-  \par Example 2
-  The following code builds a ray with the same direction as the
-  line in Example 1:
-  \code
-  Generator r = ray(x - y - z);
-  \endcode
-  As is the case for lines, when specifying a ray the constant term
-  of the linear expression is not relevant; also, an exception is thrown
-  when trying to build a ray from the origin of the space.
-
-  \par Example 3
-  The following code builds the point
-  \f$\vect{p} = (1, 0, 2)^\transpose \in \Rset^3\f$:
-  \code
-  Generator p = point(1*x + 0*y + 2*z);
-  \endcode
-  The same effect can be obtained by using the following code:
-  \code
-  Generator p = point(x + 2*z);
-  \endcode
-  Similarly, the origin \f$\vect{0} \in \Rset^3\f$ can be defined
-  using either one of the following lines of code:
-  \code
-  Generator origin3 = point(0*x + 0*y + 0*z);
-  Generator origin3_alt = point(0*z);
-  \endcode
-  Note however that the following code would have defined
-  a different point, namely \f$\vect{0} \in \Rset^2\f$:
+  The following code builds the equality congruence
+  \f$3x + 5y - z = 0\f$, having space dimension \f$3\f$:
   \code
-  Generator origin2 = point(0*y);
+  Congruence eq_cg((3*x + 5*y - z %= 0) / 0);
   \endcode
-  The following two lines of code both define the only point
-  having space dimension zero, namely \f$\vect{0} \in \Rset^0\f$.
-  In the second case we exploit the fact that the first argument
-  of the function <CODE>point</CODE> is optional.
+  The following code builds the congruence
+  \f$4x = 2y - 13 \pmod{1}\f$, having space dimension \f$2\f$:
   \code
-  Generator origin0 = Generator::zero_dim_point();
-  Generator origin0_alt = point();
+  Congruence mod1_cg(4*x %= 2*y - 13);
   \endcode
-
-  \par Example 4
-  The point \f$\vect{p}\f$ specified in Example 3 above
-  can also be obtained with the following code,
-  where we provide a non-default value for the second argument
-  of the function <CODE>point</CODE> (the divisor):
+  The following code builds the congruence
+  \f$4x = 2y - 13 \pmod{2}\f$, having space dimension \f$2\f$:
   \code
-  Generator p = point(2*x + 0*y + 4*z, 2);
+  Congruence mod2_cg((4*x %= 2*y - 13) / 2);
   \endcode
-  Obviously, the divisor can be usefully exploited to specify
-  points having some non-integer (but rational) coordinates.
-  For instance, the point
-  \f$\vect{q} = (-1.5, 3.2, 2.1)^\transpose \in \Rset^3\f$
-  can be specified by the following code:
+  An unsatisfiable congruence on the zero-dimension space \f$\Rset^0\f$
+  can be specified as follows:
   \code
-  Generator q = point(-15*x + 32*y + 21*z, 10);
+  Congruence false_cg = Congruence::zero_dim_false();
   \endcode
-  If a zero divisor is provided, an exception is thrown.
-
-  \par Example 5
-  Closure points are specified in the same way we defined points,
-  but invoking their specific constructor function.
-  For instance, the closure point
-  \f$\vect{c} = (1, 0, 2)^\transpose \in \Rset^3\f$ is defined by
+  Equivalent, but more involved ways are the following:
   \code
-  Generator c = closure_point(1*x + 0*y + 2*z);
+  Congruence false_cg1((Linear_Expression::zero() %= 1) / 0);
+  Congruence false_cg2((Linear_Expression::zero() %= 1) / 2);
   \endcode
-  For the particular case of the (only) closure point
-  having space dimension zero, we can use any of the following:
+  In contrast, the following code defines an unsatisfiable congruence
+  having space dimension \f$3\f$:
   \code
-  Generator closure_origin0 = Generator::zero_dim_closure_point();
-  Generator closure_origin0_alt = closure_point();
+  Congruence false_cg3((0*z %= 1) / 0);
   \endcode
 
-  \par How to inspect a generator
-  Several methods are provided to examine a generator and extract
-  all the encoded information: its space dimension, its type and
-  the value of its integer coefficients.
+  \par How to inspect a congruence
+  Several methods are provided to examine a congruence and extract
+  all the encoded information: its space dimension, its modulus
+  and the value of its integer coefficients.
 
-  \par Example 6
-  The following code shows how it is possible to access each single
-  coefficient of a generator.
-  If <CODE>g1</CODE> is a point having coordinates
-  \f$(a_0, \ldots, a_{n-1})^\transpose\f$,
-  we construct the closure point <CODE>g2</CODE> having coordinates
-  \f$(a_0, 2 a_1, \ldots, (i+1)a_i, \ldots, n a_{n-1})^\transpose\f$.
+  \par Example 2
+  The following code shows how it is possible to access the modulus
+  as well as each of the coefficients.
+  Given a congruence with linear expression \p e and modulus \p m
+  (in this case \f$x - 5y + 3z = 4 \pmod{5}\f$), we construct a new
+  congruence with the same modulus \p m but where the linear
+  expression is \f$2 e\f$ (\f$2x - 10y + 6z = 8 \pmod{5}\f$).
   \code
-  if (g1.is_point()) {
-    cout << "Point g1: " << g1 << endl;
+  Congruence cg1((x - 5*y + 3*z %= 4) / 5);
+  cout << "Congruence cg1: " << cg1 << endl;
+  const Coefficient& m = cg1.modulus();
+  if (m == 0)
+    cout << "Congruence cg1 is an equality." << endl;
+  else {
     Linear_Expression e;
-    for (dimension_type i = g1.space_dimension(); i-- > 0; )
-      e += (i + 1) * g1.coefficient(Variable(i)) * Variable(i);
-    Generator g2 = closure_point(e, g1.divisor());
-    cout << "Closure point g2: " << g2 << endl;
+    for (dimension_type i = cg1.space_dimension(); i-- > 0; )
+      e += 2 * cg1.coefficient(Variable(i)) * Variable(i);
+      e += 2 * cg1.inhomogeneous_term();
+    Congruence cg2((e %= 0) / m);
+    cout << "Congruence cg2: " << cg2 << endl;
   }
-  else
-    cout << "Generator g1 is not a point." << endl;
-  \endcode
-  Therefore, for the point
-  \code
-  Generator g1 = point(2*x - y + 3*z, 2);
   \endcode
-  we would obtain the following output:
+  The actual output could be the following:
   \code
-  Point g1: p((2*A - B + 3*C)/2)
-  Closure point g2: cp((2*A - 2*B + 9*C)/2)
+  Congruence cg1: A - 5*B + 3*C %= 4 / 5
+  Congruence cg2: 2*A - 10*B + 6*C %= 8 / 5
   \endcode
-  When working with (closure) points, be careful not to confuse
-  the notion of <EM>coefficient</EM> with the notion of <EM>coordinate</EM>:
-  these are equivalent only when the divisor of the (closure) point is 1.
+  Note that, in general, the particular output obtained can be
+  syntactically different from the (semantically equivalent)
+  congruence considered.
 */
-class Parma_Polyhedra_Library::Generator : private Linear_Row {
+class Parma_Polyhedra_Library::Congruence : private Row {
 public:
-  //! Returns the line of direction \p e.
-  /*!
-    \exception std::invalid_argument
-    Thrown if the homogeneous part of \p e represents the origin of
-    the vector space.
-  */
-  static Generator line(const Linear_Expression& e);
-
-  //! Returns the ray of direction \p e.
-  /*!
-    \exception std::invalid_argument
-    Thrown if the homogeneous part of \p e represents the origin of
-    the vector space.
-  */
-  static Generator ray(const Linear_Expression& e);
-
-  //! Returns the point at \p e / \p d.
-  /*!
-    Both \p e and \p d are optional arguments, with default values
-    Linear_Expression::zero() and Coefficient_one(), respectively.
-
-    \exception std::invalid_argument
-    Thrown if \p d is zero.
-  */
-  static Generator point(const Linear_Expression& e
-			 = Linear_Expression::zero(),
-			 Coefficient_traits::const_reference d
-			 = Coefficient_one());
+  //! Ordinary copy constructor.
+  Congruence(const Congruence& cg);
 
-  //! Returns the closure point at \p e / \p d.
+  //! Copy-constructs (modulo 0) from equality constraint \p c.
   /*!
-    Both \p e and \p d are optional arguments, with default values
-    Linear_Expression::zero() and Coefficient_one(), respectively.
-
     \exception std::invalid_argument
-    Thrown if \p d is zero.
+    Thrown if \p c is an inequality.
   */
-  static Generator
-  closure_point(const Linear_Expression& e = Linear_Expression::zero(),
-		Coefficient_traits::const_reference d = Coefficient_one());
-
-  //! Ordinary copy-constructor.
-  Generator(const Generator& g);
+  explicit Congruence(const Constraint& c);
 
   //! Destructor.
-  ~Generator();
+  ~Congruence();
 
   //! Assignment operator.
-  Generator& operator=(const Generator& g);
+  Congruence& operator=(const Congruence& cg);
 
-  //! Returns the maximum space dimension a Generator can handle.
+  //! Returns the maximum space dimension a Congruence can handle.
   static dimension_type max_space_dimension();
 
   //! Returns the dimension of the vector space enclosing \p *this.
   dimension_type space_dimension() const;
 
-  //! The generator type.
-  enum Type {
-    /*! The generator is a line. */
-    LINE,
-    /*! The generator is a ray. */
-    RAY,
-    /*! The generator is a point. */
-    POINT,
-    /*! The generator is a closure point. */
-    CLOSURE_POINT
-  };
+  //! Returns the coefficient of \p v in \p *this.
+  /*!
+    \exception std::invalid_argument thrown if the index of \p v
+    is greater than or equal to the space dimension of \p *this.
+  */
+  Coefficient_traits::const_reference coefficient(Variable v) const;
 
-  //! Returns the generator type of \p *this.
-  Type type() const;
+  //! Returns the inhomogeneous term of \p *this.
+  Coefficient_traits::const_reference inhomogeneous_term() const;
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is a line.
-  bool is_line() const;
+  //! Returns a const reference to the modulus of \p *this.
+  Coefficient_traits::const_reference modulus() const;
+
+  //! Multiplies \p k into the modulus of \p *this.
+  /*!
+    If called with \p *this representing the congruence \f$ e_1 = e_2
+    \pmod{m}\f$, then it returns with *this representing
+    the congruence \f$ e_1 = e_2 \pmod{mk}\f$.
+  */
+  Congruence&
+  operator/=(Coefficient_traits::const_reference k);
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is a ray.
-  bool is_ray() const;
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is a tautology
+    (i.e., an always true congruence).
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  //! Returns <CODE>true</CODE> if and only if \p *this is a line or a ray.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-  bool is_line_or_ray() const;
+    A tautological congruence has one the following two forms:
+    - an equality: \f$\sum_{i=0}^{n-1} 0 x_i + 0 == 0\f$; or
+    - a proper congruence: \f$\sum_{i=0}^{n-1} 0 x_i + b \%= 0 / m\f$,
+      where \f$b = 0 \pmod{m}\f$.
+  */
+  bool is_tautological() const;
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is a point.
-  bool is_point() const;
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    \p *this is inconsistent (i.e., an always false congruence).
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is a closure point.
-  bool is_closure_point() const;
+    An inconsistent congruence has one of the following two forms:
+    - an equality: \f$\sum_{i=0}^{n-1} 0 x_i + b == 0\f$
+      where \f$b \neq 0\f$; or
+    - a proper congruence: \f$\sum_{i=0}^{n-1} 0 x_i + b \%= 0 / m\f$,
+      where \f$b \neq 0 \pmod{m}\f$.
+  */
+  bool is_inconsistent() const;
 
-  //! Returns the coefficient of \p v in \p *this.
+  //! Returns <CODE>true</CODE> if the modulus is greater than zero.
   /*!
-    \exception std::invalid_argument
-    Thrown if the index of \p v is greater than or equal to the
-    space dimension of \p *this.
+    A congruence with a modulus of 0 is a linear equality.
   */
-  Coefficient_traits::const_reference coefficient(Variable v) const;
+  bool is_proper_congruence() const;
 
-  //! If \p *this is either a point or a closure point, returns its divisor.
+  //! Returns <CODE>true</CODE> if \p *this is an equality.
   /*!
-    \exception std::invalid_argument
-    Thrown if \p *this is neither a point nor a closure point.
+    A modulus of zero denotes a linear equality.
   */
-  Coefficient_traits::const_reference divisor() const;
+  bool is_equality() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if \p *this is equal to \p cg in
+    dimension \p dim.
+  */
+  bool is_equal_at_dimension(dimension_type dim,
+			     const Congruence& cg) const;
 
   //! Initializes the class.
   static void initialize();
@@ -19181,14 +22223,30 @@ public:
   //! Finalizes the class.
   static void finalize();
 
-  //! Returns the origin of the zero-dimensional space \f$\Rset^0\f$.
-  static const Generator& zero_dim_point();
+  /*! \brief
+    Returns a reference to the true (zero-dimension space) congruence
+    \f$0 = 1 \pmod{1}\f$, also known as the <EM>integrality
+    congruence</EM>.
+  */
+  static const Congruence& zero_dim_integrality();
 
   /*! \brief
-    Returns, as a closure point,
-    the origin of the zero-dimensional space \f$\Rset^0\f$.
+    Returns a reference to the false (zero-dimension space) congruence
+    \f$0 = 1 \pmod{0}\f$.
   */
-  static const Generator& zero_dim_closure_point();
+  static const Congruence& zero_dim_false();
+
+  //! Returns the congruence \f$e1 = e2 \pmod{1}\f$.
+  static Congruence
+  create(const Linear_Expression& e1, const Linear_Expression& e2);
+
+  //! Returns the congruence \f$e = n \pmod{1}\f$.
+  static Congruence
+  create(const Linear_Expression& e, Coefficient_traits::const_reference n);
+
+  //! Returns the congruence \f$n = e \pmod{1}\f$.
+  static Congruence
+  create(Coefficient_traits::const_reference n, const Linear_Expression& e);
 
   /*! \brief
     Returns a lower bound to the total size in bytes of the memory
@@ -19199,930 +22257,1170 @@ public:
   //! Returns the size in bytes of the memory managed by \p *this.
   memory_size_type external_memory_in_bytes() const;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this and \p y
-    are equivalent generators.
-
-    Generators having different space dimensions are not equivalent.
-  */
-  bool is_equivalent_to(const Generator& y) const;
-
   PPL_OUTPUT_DECLARATIONS
 
   /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+    Loads from \p s an ASCII representation of the internal
+    representation of \p *this.
   */
   bool ascii_load(std::istream& s);
 
   //! Checks if all the invariants are satisfied.
   bool OK() const;
 
-  //! Swaps \p *this with \p y.
-  void swap(Generator& y);
+protected:
+
+  //! Normalizes the signs.
+  /*!
+    The signs of the coefficients and the inhomogeneous term are
+    normalized, leaving the first non-zero homogeneous coefficient
+    positive.
+  */
+  void sign_normalize();
+
+  //! Normalizes signs and the inhomogeneous term.
+  /*!
+    Applies sign_normalize, then reduces the inhomogeneous term to the
+    smallest possible positive number.
+  */
+  void normalize();
+
+  //! Calls normalize, then divides out common factors.
+  /*!
+    Strongly normalized Congruences have equivalent semantics if and
+    only if their syntaxes (as output by operator<<) are equal.
+  */
+  void strong_normalize();
 
 private:
   /*! \brief
     Holds (between class initialization and finalization) a pointer to
-    the origin of the zero-dimensional space \f$\Rset^0\f$.
+    the false (zero-dimension space) congruence \f$0 = 1 \pmod{0}\f$.
   */
-  static const Generator* zero_dim_point_p;
+  static const Congruence* zero_dim_false_p;
 
   /*! \brief
     Holds (between class initialization and finalization) a pointer to
-    the origin of the zero-dimensional space \f$\Rset^0\f$, as a closure point.
+    the true (zero-dimension space) congruence \f$0 = 1 \pmod{1}\f$,
+    also known as the <EM>integrality congruence</EM>.
   */
-  static const Generator* zero_dim_closure_point_p;
+  static const Congruence* zero_dim_integrality_p;
 
-  /*! \brief
-    Builds a generator of type \p type and topology \p topology,
-    stealing the coefficients from \p e.
+  //! Marks this congruence as a linear equality.
+  void set_is_equality();
+
+  //! Negates the elements from index \p start to index \p end.
+  void negate(dimension_type start, dimension_type end);
+
+  //! Default constructor: private and not implemented.
+  Congruence();
+
+  //! Copy-constructs with specified size and capacity.
+  Congruence(const Congruence& cg,
+	     dimension_type sz,
+	     dimension_type capacity);
+
+  //! Constructs from a constraint, with specified size and capacity.
+  Congruence(const Constraint& c,
+	     dimension_type sz,
+	     dimension_type capacity);
+
+  //! Copy-constructs from \p cg, multiplying \p k into the modulus.
+  /*!
+    If \p cg represents the congruence \f$ e_1 = e_2
+    \pmod{m}\f$, then the result represents the
+    congruence \f$ e_1 = e_2 \pmod{mk}\f$.
   */
-  Generator(Linear_Expression& e, Type type, Topology topology);
+  Congruence(const Congruence& cg, Coefficient_traits::const_reference k);
+
+  //! Constructs from Linear_Expression \p le, using modulus \p m.
+  /*!
+    Builds a congruence with modulus \p m, stealing the coefficients
+    from \p le.
+
+    \param le
+    The Linear_Expression holding the coefficients.
+
+    \param m
+    The modulus for the congruence, which must be zero or greater.
+  */
+  Congruence(Linear_Expression& le,
+	     Coefficient_traits::const_reference m);
+
+  //! Swaps \p *this with \p y.
+  void swap(Congruence& y);
 
   /*! \brief
-    Throw a <CODE>std::invalid_argument</CODE> exception
-    containing the appropriate error message.
+    Throws a <CODE>std::invalid_argument</CODE> exception containing
+    error message \p message.
   */
   void
-  throw_dimension_incompatible(const char* method,
-			       const char* name_var,
-			       Variable v) const;
+  throw_invalid_argument(const char* method, const char* message) const;
 
   /*! \brief
-    Throw a <CODE>std::invalid_argument</CODE> exception
-    containing the appropriate error message.
+    Throws a <CODE>std::invalid_argument</CODE> exception containing
+    the appropriate error message.
   */
   void
-  throw_invalid_argument(const char* method, const char* reason) const;
+  throw_dimension_incompatible(const char* method,
+			       const char* v_name,
+			       Variable v) const;
 
-  friend class Parma_Polyhedra_Library::Scalar_Products;
-  friend class Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign;
-  friend class Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Assign;
-  friend class Parma_Polyhedra_Library::Generator_System;
-  friend class Parma_Polyhedra_Library::Generator_System::const_iterator;
-  // FIXME: the following friend declaration should be avoided.
-  friend class Parma_Polyhedra_Library::Polyhedron;
-  friend class Parma_Polyhedra_Library::Grid_Generator;
-  // This is for access to Row and Linear_Row in `insert'.
-  friend class Parma_Polyhedra_Library::Grid_Generator_System;
+  friend Congruence
+  operator/(const Congruence& cg, Coefficient_traits::const_reference k);
+  friend Congruence
+  operator/(const Constraint& c, Coefficient_traits::const_reference m);
 
-  friend
-  Parma_Polyhedra_Library
-  ::Linear_Expression::Linear_Expression(const Generator& g);
+  friend bool
+  operator==(const Congruence& x, const Congruence& y);
+
+  friend bool
+  operator!=(const Congruence& x, const Congruence& y);
 
   friend std::ostream&
-  Parma_Polyhedra_Library::IO_Operators::operator<<(std::ostream& s,
-						    const Generator& g);
+  Parma_Polyhedra_Library::IO_Operators
+  ::operator<<(std::ostream& s,
+	       const Congruence_System& cgs);
 
-  //! Copy-constructor with given space dimension.
-  Generator(const Generator& g, dimension_type dimension);
+  friend class Parma_Polyhedra_Library::Scalar_Products;
+  friend class Parma_Polyhedra_Library::Constraint;
+  friend class Parma_Polyhedra_Library::Congruence_System;
+  friend class Parma_Polyhedra_Library::Congruence_System::const_iterator;
+  // FIXME: The following friend declaration is at least for
+  //        operator[] access in Grid::conversion.
+  friend class Parma_Polyhedra_Library::Grid;
+  friend class Parma_Polyhedra_Library::Linear_Expression;
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is not a line.
-  bool is_ray_or_point() const;
+  friend void
+  std::swap(Parma_Polyhedra_Library::Congruence& x,
+	    Parma_Polyhedra_Library::Congruence& y);
+};
 
-  //! Sets the Linear_Row kind to <CODE>LINE_OR_EQUALITY</CODE>.
-  void set_is_line();
+/* Automatically generated from PPL source file ../src/Congruence.inlines.hh line 1. */
+/* Congruence class implementation: inline functions.
+*/
 
-  //! Sets the Linear_Row kind to <CODE>RAY_OR_POINT_OR_INEQUALITY</CODE>.
-  void set_is_ray_or_point();
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if the closure point
-    \p *this has the same \e coordinates of the point \p p.
+/* Automatically generated from PPL source file ../src/Congruence.inlines.hh line 28. */
 
-    It is \e assumed that \p *this is a closure point, \p p is a point
-    and both topologies and space dimensions agree.
-  */
-  bool is_matching_closure_point(const Generator& p) const;
+#include <sstream>
 
-  //! Default constructor: private and not implemented.
-  Generator();
-};
+namespace Parma_Polyhedra_Library {
 
+inline
+Congruence::Congruence(const Congruence& cg)
+  : Row(cg) {
+}
 
-namespace Parma_Polyhedra_Library {
+inline
+Congruence::Congruence(const Congruence& cg,
+		       dimension_type sz, dimension_type capacity)
+  : Row(cg, sz, capacity) {
+}
 
-//! Shorthand for Generator Generator::line(const Linear_Expression& e).
-/*! \relates Generator */
-Generator line(const Linear_Expression& e);
+inline
+Congruence::Congruence(const Congruence& cg,
+		       Coefficient_traits::const_reference k)
+  : Row(cg) {
+  if (k >= 0)
+    (*this)[size()-1] *= k;
+  else
+    (*this)[size()-1] *= -k;
+}
 
-//! Shorthand for Generator Generator::ray(const Linear_Expression& e).
-/*! \relates Generator */
-Generator ray(const Linear_Expression& e);
+inline
+Congruence::~Congruence() {
+}
 
-/*! \brief
-  Shorthand for Generator
-  Generator::point(const Linear_Expression& e, Coefficient_traits::const_reference d).
+inline
+Congruence::Congruence(Linear_Expression& le,
+		       Coefficient_traits::const_reference m) {
+  Row::swap(static_cast<Row&>(le));
+  PPL_ASSERT(m >= 0);
+  (*this)[size()-1] = m;
+}
 
-  \relates Generator
-*/
-Generator
-point(const Linear_Expression& e = Linear_Expression::zero(),
-      Coefficient_traits::const_reference d = Coefficient_one());
+inline Congruence
+Congruence::create(const Linear_Expression& e,
+		   Coefficient_traits::const_reference n) {
+  // Ensure that diff has capacity for the modulus.
+  Linear_Expression diff(e, e.space_dimension() + 2);
+  diff -= n;
+  Congruence cg(diff, 1);
+  return cg;
+}
 
-/*! \brief
-  Shorthand for Generator
-  Generator::closure_point(const Linear_Expression& e, Coefficient_traits::const_reference d).
+inline Congruence
+Congruence::create(Coefficient_traits::const_reference n,
+		   const Linear_Expression& e) {
+  // Ensure that diff has capacity for the modulus.
+  Linear_Expression diff(e, e.space_dimension() + 2);
+  diff -= n;
+  Congruence cg(diff, 1);
+  return cg;
+}
 
-  \relates Generator
-*/
-Generator
-closure_point(const Linear_Expression& e = Linear_Expression::zero(),
-	      Coefficient_traits::const_reference d = Coefficient_one());
+/*! \relates Parma_Polyhedra_Library::Congruence */
+inline Congruence
+operator%=(const Linear_Expression& e1, const Linear_Expression& e2) {
+  return Congruence::create(e1, e2);
+}
 
-//! Returns <CODE>true</CODE> if and only if \p x is equivalent to \p y.
-/*! \relates Generator */
-bool operator==(const Generator& x, const Generator& y);
+/*! \relates Parma_Polyhedra_Library::Congruence */
+inline Congruence
+operator%=(const Linear_Expression& e, Coefficient_traits::const_reference n) {
+  return Congruence::create(e, n);
+}
 
-//! Returns <CODE>true</CODE> if and only if \p x is not equivalent to \p y.
-/*! \relates Generator */
-bool operator!=(const Generator& x, const Generator& y);
+/*! \relates Parma_Polyhedra_Library::Congruence */
+inline Congruence
+operator/(const Congruence& cg, Coefficient_traits::const_reference k) {
+  Congruence ret(cg, k);
+  return ret;
+}
 
-//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
-/*! \relates Generator
-  If the rectilinear distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+inline const Congruence&
+Congruence::zero_dim_integrality() {
+  return *zero_dim_integrality_p;
+}
 
-  The direction of the approximation is specified by \p dir.
+inline const Congruence&
+Congruence::zero_dim_false() {
+  return *zero_dim_false_p;
+}
 
-  All computations are performed using variables of type
-  Checked_Number<To, Extended_Number_Policy>.
+inline Congruence&
+Congruence::operator=(const Congruence& c) {
+  Row::operator=(c);
+  return *this;
+}
 
-  \note
-  Distances are \e only defined between generators that are points and/or
-  closure points; for rays or lines, \c false is returned.
-*/
-template <typename To>
-bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                                 const Generator& x,
-                                 const Generator& y,
-                                 Rounding_Dir dir);
+/*! \relates Congruence */
+inline Congruence
+operator/(const Constraint& c, Coefficient_traits::const_reference m) {
+  Congruence ret(c);
+  return ret / m;
+}
 
-//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
-/*! \relates Generator
-  If the rectilinear distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+inline Congruence&
+Congruence::operator/=(Coefficient_traits::const_reference k) {
+  if (k >= 0)
+    (*this)[size()-1] *= k;
+  else
+    (*this)[size()-1] *= -k;
+  return *this;
+}
 
-  The direction of the approximation is specified by \p dir.
+/*! \relates Congruence */
+inline bool
+operator==(const Congruence& x, const Congruence& y) {
+  Congruence x_temp(x);
+  Congruence y_temp(y);
+  x_temp.strong_normalize();
+  y_temp.strong_normalize();
+  return static_cast<const Row&>(x_temp) == static_cast<const Row&>(y_temp);
+}
 
-  All computations are performed using variables of type
-  Checked_Number<Temp, Extended_Number_Policy>.
+/*! \relates Congruence */
+inline bool
+operator!=(const Congruence& x, const Congruence& y) {
+  return !(x == y);
+}
 
-  \note
-  Distances are \e only defined between generators that are points and/or
-  closure points; for rays or lines, \c false is returned.
-*/
-template <typename Temp, typename To>
-bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                                 const Generator& x,
-                                 const Generator& y,
-                                 Rounding_Dir dir);
+inline dimension_type
+Congruence::max_space_dimension() {
+  // The first coefficient holds the inhomogeneous term, while
+  // the last coefficient is for the modulus.
+  return max_size() - 2;
+}
 
-//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
-/*! \relates Generator
-  If the rectilinear distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+inline dimension_type
+Congruence::space_dimension() const {
+  return size() - 2;
+}
 
-  The direction of the approximation is specified by \p dir.
+inline Coefficient_traits::const_reference
+Congruence::coefficient(const Variable v) const {
+  if (v.space_dimension() > space_dimension())
+    throw_dimension_incompatible("coefficient(v)", "v", v);
+  return (*this)[v.id()+1];
+}
+
+inline Coefficient_traits::const_reference
+Congruence::inhomogeneous_term() const {
+  return (*this)[0];
+}
+
+inline Coefficient_traits::const_reference
+Congruence::modulus() const {
+  PPL_ASSERT(size() > 1);
+  return (*this)[size()-1];
+}
+
+inline bool
+Congruence::is_proper_congruence() const {
+  return modulus() > 0;
+}
+
+inline bool
+Congruence::is_equality() const {
+  return modulus() == 0;
+}
+
+inline bool
+Congruence::is_equal_at_dimension(dimension_type dim,
+				  const Congruence& cg) const {
+  return operator[](dim) * cg.modulus() == cg[dim] * modulus();
+}
+
+inline void
+Congruence::set_is_equality() {
+  (*this)[size()-1] = 0;
+}
+
+inline void
+Congruence::negate(dimension_type start, dimension_type end) {
+  while (start <= end)
+    neg_assign(operator[](start++));
+}
+
+inline memory_size_type
+Congruence::external_memory_in_bytes() const {
+  return Row::external_memory_in_bytes();
+}
+
+inline memory_size_type
+Congruence::total_memory_in_bytes() const {
+  return Row::total_memory_in_bytes();
+}
+
+inline void
+Congruence::swap(Congruence& y) {
+  Row::swap(y);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+namespace std {
+
+/*! \relates Parma_Polyhedra_Library::Congruence */
+inline void
+swap(Parma_Polyhedra_Library::Congruence& x,
+     Parma_Polyhedra_Library::Congruence& y) {
+  x.swap(y);
+}
+
+} // namespace std
+
+/* Automatically generated from PPL source file ../src/Congruence.defs.hh line 478. */
+
+/* Automatically generated from PPL source file ../src/Grid_Generator.defs.hh line 1. */
+/* Grid_Generator class declaration.
+*/
 
-  All computations are performed using the temporary variables
-  \p tmp0, \p tmp1 and \p tmp2.
 
-  \note
-  Distances are \e only defined between generators that are points and/or
-  closure points; for rays or lines, \c false is returned.
+/* Automatically generated from PPL source file ../src/Grid_Generator_System.defs.hh line 1. */
+/* Grid_Generator_System class declaration.
 */
-template <typename Temp, typename To>
-bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                                 const Generator& x,
-                                 const Generator& y,
-                                 Rounding_Dir dir,
-                                 Temp& tmp0,
-                                 Temp& tmp1,
-                                 Temp& tmp2);
 
-//! Computes the euclidean distance between \p x and \p y.
-/*! \relates Generator
-  If the euclidean distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
 
-  The direction of the approximation is specified by \p dir.
+/* Automatically generated from PPL source file ../src/Variables_Set.types.hh line 1. */
 
-  All computations are performed using variables of type
-  Checked_Number<To, Extended_Number_Policy>.
 
-  \note
-  Distances are \e only defined between generators that are points and/or
-  closure points; for rays or lines, \c false is returned.
-*/
-template <typename To>
-bool euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                               const Generator& x,
-                               const Generator& y,
-                               Rounding_Dir dir);
+namespace Parma_Polyhedra_Library {
 
-//! Computes the euclidean distance between \p x and \p y.
-/*! \relates Generator
-  If the euclidean distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+class Variables_Set;
 
-  The direction of the approximation is specified by \p dir.
+} // namespace Parma_Polyhedra_Library
 
-  All computations are performed using variables of type
-  Checked_Number<Temp, Extended_Number_Policy>.
+/* Automatically generated from PPL source file ../src/Grid_Generator_System.defs.hh line 31. */
+#include <iosfwd>
 
-  \note
-  Distances are \e only defined between generators that are points and/or
-  closure points; for rays or lines, \c false is returned.
+namespace Parma_Polyhedra_Library {
+
+namespace IO_Operators {
+
+//! Output operator.
+/*!
+  \relates Parma_Polyhedra_Library::Grid_Generator_System
+  Writes <CODE>false</CODE> if \p gs is empty.  Otherwise, writes on
+  \p s the generators of \p gs, all in one row and separated by ", ".
 */
-template <typename Temp, typename To>
-bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                                 const Generator& x,
-                                 const Generator& y,
-                                 Rounding_Dir dir);
+std::ostream& operator<<(std::ostream& s, const Grid_Generator_System& gs);
 
-//! Computes the euclidean distance between \p x and \p y.
-/*! \relates Generator
-  If the euclidean distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+} // namespace IO_Operators
 
-  The direction of the approximation is specified by \p dir.
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are identical.
+/*! \relates Grid_Generator_System */
+bool operator==(const Grid_Generator_System& x,
+		const Grid_Generator_System& y);
 
-  All computations are performed using the temporary variables
-  \p tmp0, \p tmp1 and \p tmp2.
+} // namespace Parma_Polyhedra_Library
 
-  \note
-  Distances are \e only defined between generators that are points and/or
-  closure points; for rays or lines, \c false is returned.
-*/
-template <typename Temp, typename To>
-bool euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                               const Generator& x,
-                               const Generator& y,
-                               Rounding_Dir dir,
-                               Temp& tmp0,
-                               Temp& tmp1,
-                               Temp& tmp2);
+namespace std {
 
-//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
-/*! \relates Generator
-  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+//! Specializes <CODE>std::swap</CODE>.
+/*! \relates Parma_Polyhedra_Library::Grid_Generator_System */
+void swap(Parma_Polyhedra_Library::Grid_Generator_System& x,
+	  Parma_Polyhedra_Library::Grid_Generator_System& y);
 
-  The direction of the approximation is specified by \p dir.
+} // namespace std
 
-  All computations are performed using variables of type
-  Checked_Number<To, Extended_Number_Policy>.
 
-  \note
-  Distances are \e only defined between generators that are points and/or
-  closure points; for rays or lines, \c false is returned.
-*/
-template <typename To>
-bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                                const Generator& x,
-                                const Generator& y,
-                                Rounding_Dir dir);
+//! A system of grid generators.
+/*! \ingroup PPL_CXX_interface
+    An object of the class Grid_Generator_System is a system of
+    grid generators, i.e., a multiset of objects of the class
+    Grid_Generator (lines, parameters and points).
+    When inserting generators in a system, space dimensions are
+    automatically adjusted so that all the generators in the system
+    are defined on the same vector space.
+    A system of grid generators which is meant to define a non-empty
+    grid must include at least one point: the reason is that
+    lines and parameters need a supporting point
+    (lines only specify directions while parameters only
+    specify direction and distance.
 
-//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
-/*! \relates Generator
-  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+    \par
+     In all the examples it is assumed that variables
+    <CODE>x</CODE> and <CODE>y</CODE> are defined as follows:
+    \code
+  Variable x(0);
+  Variable y(1);
+    \endcode
 
-  The direction of the approximation is specified by \p dir.
+    \par Example 1
+    The following code defines the line having the same direction
+    as the \f$x\f$ axis (i.e., the first Cartesian axis)
+    in \f$\Rset^2\f$:
+    \code
+  Grid_Generator_System gs;
+  gs.insert(grid_line(x + 0*y));
+    \endcode
+    As said above, this system of generators corresponds to
+    an empty grid, because the line has no supporting point.
+    To define a system of generators that does correspond to
+    the \f$x\f$ axis, we can add the following code which
+    inserts the origin of the space as a point:
+    \code
+  gs.insert(grid_point(0*x + 0*y));
+    \endcode
+    Since space dimensions are automatically adjusted, the following
+    code obtains the same effect:
+    \code
+  gs.insert(grid_point(0*x));
+    \endcode
+    In contrast, if we had added the following code, we would have
+    defined a line parallel to the \f$x\f$ axis through
+    the point \f$(0, 1)^\transpose \in \Rset^2\f$.
+    \code
+  gs.insert(grid_point(0*x + 1*y));
+    \endcode
 
-  All computations are performed using variables of type
-  Checked_Number<Temp, Extended_Number_Policy>.
+    \par Example 2
+    The following code builds a system of generators corresponding
+    to the grid consisting of all the integral points on the \f$x\f$ axes;
+    that is, all points satisfying the congruence relation
+    \f[
+      \bigl\{\,
+        (x, 0)^\transpose \in \Rset^2
+      \bigm|
+        x \pmod{1}\ 0
+      \,\bigr\},
+    \f]
+    \code
+  Grid_Generator_System gs;
+  gs.insert(parameter(x + 0*y));
+  gs.insert(grid_point(0*x + 0*y));
+    \endcode
 
-  \note
-  Distances are \e only defined between generators that are points and/or
-  closure points; for rays or lines, \c false is returned.
+    \par Example 3
+    The following code builds a system of generators having three points
+    corresponding to a non-relational grid consisting of all points
+    whose coordinates are integer multiple of 3.
+    \code
+  Grid_Generator_System gs;
+  gs.insert(grid_point(0*x + 0*y));
+  gs.insert(grid_point(0*x + 3*y));
+  gs.insert(grid_point(3*x + 0*y));
+    \endcode
+
+    \par Example 4
+    By using parameters instead of two of the points we
+    can define the same grid as that defined in the previous example.
+    Note that there has to be at least one point and, for this purpose,
+    any point in the grid could be considered.
+    Thus the following code builds two identical grids from the
+    grid generator systems \p gs and \p gs1.
+    \code
+  Grid_Generator_System gs;
+  gs.insert(grid_point(0*x + 0*y));
+  gs.insert(parameter(0*x + 3*y));
+  gs.insert(parameter(3*x + 0*y));
+  Grid_Generator_System gs1;
+  gs1.insert(grid_point(3*x + 3*y));
+  gs1.insert(parameter(0*x + 3*y));
+  gs1.insert(parameter(3*x + 0*y));
+    \endcode
+
+    \par Example 5
+    The following code builds a system of generators having one point and
+    a parameter corresponding to all the integral points that
+    lie on \f$x + y = 2\f$ in \f$\Rset^2\f$
+    \code
+  Grid_Generator_System gs;
+  gs.insert(grid_point(1*x + 1*y));
+  gs.insert(parameter(1*x - 1*y));
+    \endcode
+
+    \note
+    After inserting a multiset of generators in a grid generator system,
+    there are no guarantees that an <EM>exact</EM> copy of them
+    can be retrieved:
+    in general, only an <EM>equivalent</EM> grid generator system
+    will be available, where original generators may have been
+    reordered, removed (if they are duplicate or redundant), etc.
 */
-template <typename Temp, typename To>
-bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                                const Generator& x,
-                                const Generator& y,
-                                Rounding_Dir dir);
+class Parma_Polyhedra_Library::Grid_Generator_System
+  : private Generator_System {
+public:
+  //! Default constructor: builds an empty system of generators.
+  Grid_Generator_System();
 
-//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
-/*! \relates Generator
-  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+  //! Builds the singleton system containing only generator \p g.
+  explicit Grid_Generator_System(const Grid_Generator& g);
 
-  The direction of the approximation is specified by \p dir.
+  //! Builds an empty system of generators of dimension \p dim.
+  explicit Grid_Generator_System(dimension_type dim);
 
-  All computations are performed using the temporary variables
-  \p tmp0, \p tmp1 and \p tmp2.
+  //! Ordinary copy constructor.
+  Grid_Generator_System(const Grid_Generator_System& gs);
 
-  \note
-  Distances are \e only defined between generators that are points and/or
-  closure points; for rays or lines, \c false is returned.
-*/
-template <typename Temp, typename To>
-bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                                const Generator& x,
-                                const Generator& y,
-                                Rounding_Dir dir,
-                                Temp& tmp0,
-                                Temp& tmp1,
-                                Temp& tmp2);
+  //! Destructor.
+  ~Grid_Generator_System();
 
-namespace IO_Operators {
+  //! Assignment operator.
+  Grid_Generator_System& operator=(const Grid_Generator_System& y);
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Generator */
-std::ostream& operator<<(std::ostream& s, const Generator::Type& t);
+  //! Returns the maximum space dimension a Grid_Generator_System can handle.
+  static dimension_type max_space_dimension();
 
-} // namespace IO_Operators
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
 
-} // namespace Parma_Polyhedra_Library
+  /*! \brief
+    Removes all the generators from the generator system and sets its
+    space dimension to 0.
+  */
+  void clear();
 
-/* Automatically generated from PPL source file ../src/Generator.inlines.hh line 1. */
-/* Generator class implementation: inline functions.
-*/
+  /*! \brief
+    Inserts into \p *this a copy of the generator \p g, increasing the
+    number of space dimensions if needed.
 
+    If \p g is an all-zero parameter then the only action is to ensure
+    that the space dimension of \p *this is at least the space
+    dimension of \p g.
+  */
+  void insert(const Grid_Generator& g);
 
-namespace Parma_Polyhedra_Library {
+  /*! \brief
+    Inserts into \p *this the generator \p g, increasing the number of
+    space dimensions if needed.
+  */
+  void recycling_insert(Grid_Generator& g);
 
-inline
-Generator::Generator(Linear_Expression& e, Type type, Topology topology) {
-  assert(type != CLOSURE_POINT || topology == NOT_NECESSARILY_CLOSED);
-  Linear_Row::swap(e);
-  flags() = Flags(topology, (type == LINE
-			     ? LINE_OR_EQUALITY
-			     : RAY_OR_POINT_OR_INEQUALITY));
-}
+  /*! \brief
+    Inserts into \p *this the generators in \p gs, increasing the
+    number of space dimensions if needed.
+  */
+  void recycling_insert(Grid_Generator_System& gs);
 
-inline
-Generator::Generator(const Generator& g)
-  : Linear_Row(g) {
-}
+  //! Initializes the class.
+  static void initialize();
 
-inline
-Generator::Generator(const Generator& g, dimension_type dimension)
-  : Linear_Row(g, dimension, dimension) {
-}
+  //! Finalizes the class.
+  static void finalize();
 
-inline
-Generator::~Generator() {
-}
+  /*! \brief
+    Returns the singleton system containing only
+    Grid_Generator::zero_dim_point().
+  */
+  static const Grid_Generator_System& zero_dim_univ();
 
-inline Generator&
-Generator::operator=(const Generator& g) {
-  Linear_Row::operator=(g);
-  return *this;
-}
+  //! An iterator over a system of grid generators
+  /*! \ingroup PPL_CXX_interface
+    A const_iterator is used to provide read-only access
+    to each generator contained in an object of Grid_Generator_System.
 
-inline dimension_type
-Generator::max_space_dimension() {
-  return Linear_Row::max_space_dimension();
-}
+    \par Example
+    The following code prints the system of generators
+    of the grid <CODE>gr</CODE>:
+    \code
+  const Grid_Generator_System& ggs = gr.generators();
+  for (Grid_Generator_System::const_iterator i = ggs.begin(),
+        ggs_end = ggs.end(); i != ggs_end; ++i)
+    cout << *i << endl;
+    \endcode
+    The same effect can be obtained more concisely by using
+    more features of the STL:
+    \code
+  const Grid_Generator_System& ggs = gr.generators();
+  copy(ggs.begin(), ggs.end(), ostream_iterator<Grid_Generator>(cout, "\n"));
+    \endcode
+  */
+  class const_iterator
+    : public std::iterator<std::forward_iterator_tag,
+			   Grid_Generator,
+			   ptrdiff_t,
+			   const Grid_Generator*,
+			   const Grid_Generator&>,
+      private Generator_System::const_iterator {
+  public:
+    //! Default constructor.
+    const_iterator();
 
-inline dimension_type
-Generator::space_dimension() const {
-  return Linear_Row::space_dimension();
-}
+    //! Ordinary copy constructor.
+    const_iterator(const const_iterator& y);
 
-inline bool
-Generator::is_line() const {
-  return is_line_or_equality();
-}
+    //! Destructor.
+    ~const_iterator();
 
-inline bool
-Generator::is_ray_or_point() const {
-  return is_ray_or_point_or_inequality();
-}
+    //! Assignment operator.
+    const_iterator& operator=(const const_iterator& y);
 
-inline bool
-Generator::is_line_or_ray() const {
-  return (*this)[0] == 0;
-}
+    //! Dereference operator.
+    const Grid_Generator& operator*() const;
 
-inline bool
-Generator::is_ray() const {
-  return is_ray_or_point() && is_line_or_ray();
-}
+    //! Indirect member selector.
+    const Grid_Generator* operator->() const;
 
-inline Generator::Type
-Generator::type() const {
-  if (is_line())
-    return LINE;
-  if (is_line_or_ray())
-    return RAY;
-  if (is_necessarily_closed())
-    return POINT;
-  else {
-    // Checking the value of the epsilon coefficient.
-    const Generator& g = *this;
-    return (g[size() - 1] == 0) ? CLOSURE_POINT : POINT;
-  }
-}
+    //! Prefix increment operator.
+    const_iterator& operator++();
 
-inline bool
-Generator::is_point() const {
-  return type() == POINT;
-}
+    //! Postfix increment operator.
+    const_iterator operator++(int);
 
-inline bool
-Generator::is_closure_point() const {
-  return type() == CLOSURE_POINT;
-}
+    /*! \brief
+      Returns <CODE>true</CODE> if and only if \p *this and \p y are
+      identical.
+    */
+    bool operator==(const const_iterator& y) const;
 
-inline void
-Generator::set_is_line() {
-  set_is_line_or_equality();
-}
+    /*! \brief
+      Returns <CODE>true</CODE> if and only if \p *this and \p y are
+      different.
+    */
+    bool operator!=(const const_iterator& y) const;
 
-inline void
-Generator::set_is_ray_or_point() {
-  set_is_ray_or_point_or_inequality();
-}
+  private:
+    friend class Grid_Generator_System;
 
-inline Coefficient_traits::const_reference
-Generator::coefficient(const Variable v) const {
-  if (v.space_dimension() > space_dimension())
-    throw_dimension_incompatible("coefficient(v)", "v", v);
-  return Linear_Row::coefficient(v.id());
-}
+    //! Copy constructor from Generator_System::const_iterator.
+    const_iterator(const Generator_System::const_iterator& y);
+  };
 
-inline Coefficient_traits::const_reference
-Generator::divisor() const {
-  Coefficient_traits::const_reference d = Linear_Row::inhomogeneous_term();
-  if (!is_ray_or_point() || d == 0)
-    throw_invalid_argument("divisor()",
-			   "*this is neither a point nor a closure point");
-  return d;
-}
+  //! Returns <CODE>true</CODE> if and only if \p *this has no generators.
+  bool empty() const;
 
-inline memory_size_type
-Generator::external_memory_in_bytes() const {
-  return Linear_Row::external_memory_in_bytes();
-}
+  /*! \brief
+    Returns the const_iterator pointing to the first generator, if \p
+    *this is not empty; otherwise, returns the past-the-end
+    const_iterator.
+  */
+  const_iterator begin() const;
 
-inline memory_size_type
-Generator::total_memory_in_bytes() const {
-  return Linear_Row::total_memory_in_bytes();
-}
+  //! Returns the past-the-end const_iterator.
+  const_iterator end() const;
 
-inline const Generator&
-Generator::zero_dim_point() {
-  assert(zero_dim_point_p != 0);
-  return *zero_dim_point_p;
-}
+  //! Returns the number of rows (generators) in the system.
+  dimension_type num_rows() const;
 
-inline const Generator&
-Generator::zero_dim_closure_point() {
-  assert(zero_dim_closure_point_p != 0);
-  return *zero_dim_closure_point_p;
-}
+  //! Returns the number of parameters in the system.
+  dimension_type num_parameters() const;
 
-/*! \relates Generator */
-inline Generator
-line(const Linear_Expression& e) {
-  return Generator::line(e);
-}
+  //! Returns the number of lines in the system.
+  dimension_type num_lines() const;
 
-/*! \relates Generator */
-inline Generator
-ray(const Linear_Expression& e) {
-  return Generator::ray(e);
-}
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this contains one or
+    more points.
+  */
+  bool has_points() const;
+
+  //! Returns <CODE>true</CODE> if \p *this is identical to \p y.
+  bool is_equal_to(const Grid_Generator_System& y) const;
 
-/*! \relates Generator */
-inline Generator
-point(const Linear_Expression& e, Coefficient_traits::const_reference d) {
-  return Generator::point(e, d);
-}
+  //! Checks if all the invariants are satisfied.
+  /*!
+    Returns <CODE>true</CODE> if and only if \p *this is a valid
+    Linear_System and each row in the system is a valid Grid_Generator.
+  */
+  bool OK() const;
 
-/*! \relates Generator */
-inline Generator
-closure_point(const Linear_Expression& e,
-	      Coefficient_traits::const_reference d) {
-  return Generator::closure_point(e, d);
-}
+  PPL_OUTPUT_DECLARATIONS
 
-/*! \relates Generator */
-inline bool
-operator==(const Generator& x, const Generator& y) {
-  return x.is_equivalent_to(y);
-}
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
 
-/*! \relates Generator */
-inline bool
-operator!=(const Generator& x, const Generator& y) {
-  return !x.is_equivalent_to(y);
-}
+    Resizes the matrix of generators using the numbers of rows and columns
+    read from \p s, then initializes the coordinates of each generator
+    and its type reading the contents from \p s.
+  */
+  bool ascii_load(std::istream& s);
 
-inline void
-Generator::ascii_dump(std::ostream& s) const {
-  Linear_Row::ascii_dump(s);
-}
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
 
-inline bool
-Generator::ascii_load(std::istream& s) {
-  return Linear_Row::ascii_load(s);
-}
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-inline void
-Generator::swap(Generator& y) {
-  Linear_Row::swap(y);
-}
+  //! Swaps \p *this with \p y.
+  void swap(Grid_Generator_System& y);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \relates Generator */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Specialization, typename Temp, typename To>
-inline bool
-l_m_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-		    const Generator& x,
-		    const Generator& y,
-		    const Rounding_Dir dir,
-		    Temp& tmp0,
-		    Temp& tmp1,
-		    Temp& tmp2) {
-  // Generator kind compatibility check: we only compute distances
-  // between (closure) points.
-  if (x.is_line_or_ray() || y.is_line_or_ray())
-    return false;
-  const dimension_type x_space_dim = x.space_dimension();
-  // Dimension-compatibility check.
-  if (x_space_dim != y.space_dimension())
-    return false;
+private:
+  /*! \brief
+    Holds (between class initialization and finalization) a pointer to
+    the singleton system containing only Grid_Generator::zero_dim_point().
+  */
+  static const Grid_Generator_System* zero_dim_univ_p;
 
-  // All zero-dim generators have distance zero.
-  if (x_space_dim == 0) {
-    assign_r(r, 0, ROUND_NOT_NEEDED);
-    return true;
-  }
+  friend class Grid;
 
-  PPL_DIRTY_TEMP0(mpq_class, x_coord);
-  PPL_DIRTY_TEMP0(mpq_class, y_coord);
-  PPL_DIRTY_TEMP0(mpq_class, x_div);
-  PPL_DIRTY_TEMP0(mpq_class, y_div);
-  assign_r(x_div, x.divisor(), ROUND_NOT_NEEDED);
-  assign_r(y_div, y.divisor(), ROUND_NOT_NEEDED);
+  friend bool
+  operator==(const Grid_Generator_System& x, const Grid_Generator_System& y);
 
-  assign_r(tmp0, 0, ROUND_NOT_NEEDED);
-  for (dimension_type i = x_space_dim; i-- > 0; ) {
-    assign_r(x_coord, x.coefficient(Variable(i)), ROUND_NOT_NEEDED);
-    div_assign_r(x_coord, x_coord, x_div, ROUND_NOT_NEEDED);
-    assign_r(y_coord, y.coefficient(Variable(i)), ROUND_NOT_NEEDED);
-    div_assign_r(y_coord, y_coord, y_div, ROUND_NOT_NEEDED);
-    const Temp* tmp1p;
-    const Temp* tmp2p;
+  //! Sets the sortedness flag of the system to \p b.
+  void set_sorted(bool b);
 
-    if (x_coord > y_coord) {
-      maybe_assign(tmp1p, tmp1, x_coord, dir);
-      maybe_assign(tmp2p, tmp2, y_coord, inverse(dir));
-    }
-    else {
-      maybe_assign(tmp1p, tmp1, y_coord, dir);
-      maybe_assign(tmp2p, tmp2, x_coord, inverse(dir));
-    }
-    sub_assign_r(tmp1, *tmp1p, *tmp2p, dir);
-    assert(sgn(tmp1) >= 0);
-    Specialization::combine(tmp0, tmp1, dir);
-  }
-  Specialization::finalize(tmp0, dir);
-  assign_r(r, tmp0, dir);
-  return true;
-}
+  //! Sets the index to indicate that the system has no pending rows.
+  void unset_pending_rows();
 
-/*! \relates Generator */
-template <typename Temp, typename To>
-inline bool
-rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			    const Generator& x,
-			    const Generator& y,
-			    const Rounding_Dir dir,
-			    Temp& tmp0,
-			    Temp& tmp1,
-			    Temp& tmp2) {
-  return l_m_distance_assign<Rectilinear_Distance_Specialization<Temp> >
-    (r, x, y, dir, tmp0, tmp1, tmp2);
-}
+  //! Sets the index of the first pending row to \p i.
+  void set_index_first_pending_row(dimension_type i);
 
-/*! \relates Generator */
-template <typename Temp, typename To>
-inline bool
-rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			    const Generator& x,
-			    const Generator& y,
-			    const Rounding_Dir dir) {
-  typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  PPL_DIRTY_TEMP(Checked_Temp, tmp0);
-  PPL_DIRTY_TEMP(Checked_Temp, tmp1);
-  PPL_DIRTY_TEMP(Checked_Temp, tmp2);
-  return rectilinear_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
-}
+  //! Returns the \p k- th generator of the system.
+  Grid_Generator& operator[](dimension_type k);
 
-/*! \relates Generator */
-template <typename To>
-inline bool
-rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			    const Generator& x,
-			    const Generator& y,
-			    const Rounding_Dir dir) {
-  return rectilinear_distance_assign<To, To>(r, x, y, dir);
-}
+  //! Returns a constant reference to the \p k- th generator of the system.
+  const Grid_Generator& operator[](dimension_type k) const;
 
-/*! \relates Generator */
-template <typename Temp, typename To>
-inline bool
-euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			  const Generator& x,
-			  const Generator& y,
-			  const Rounding_Dir dir,
-			  Temp& tmp0,
-			  Temp& tmp1,
-			  Temp& tmp2) {
-  return l_m_distance_assign<Euclidean_Distance_Specialization<Temp> >
-    (r, x, y, dir, tmp0, tmp1, tmp2);
-}
+  //! Assigns to a given variable an affine expression.
+  /*!
+    \param v
+    Index of the column to which the affine transformation is assigned;
 
-/*! \relates Generator */
-template <typename Temp, typename To>
-inline bool
-euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			  const Generator& x,
-			  const Generator& y,
-			  const Rounding_Dir dir) {
-  typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  PPL_DIRTY_TEMP(Checked_Temp, tmp0);
-  PPL_DIRTY_TEMP(Checked_Temp, tmp1);
-  PPL_DIRTY_TEMP(Checked_Temp, tmp2);
-  return euclidean_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
-}
+    \param expr
+    The numerator of the affine transformation:
+    \f$\sum_{i = 0}^{n - 1} a_i x_i + b\f$;
 
-/*! \relates Generator */
-template <typename To>
-inline bool
-euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			  const Generator& x,
-			  const Generator& y,
-			  const Rounding_Dir dir) {
-  return euclidean_distance_assign<To, To>(r, x, y, dir);
-}
+    \param denominator
+    The denominator of the affine transformation;
 
-/*! \relates Generator */
-template <typename Temp, typename To>
-inline bool
-l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			   const Generator& x,
-			   const Generator& y,
-			   const Rounding_Dir dir,
-			   Temp& tmp0,
-			   Temp& tmp1,
-			   Temp& tmp2) {
-  return l_m_distance_assign<L_Infinity_Distance_Specialization<Temp> >
-    (r, x, y, dir, tmp0, tmp1, tmp2);
-}
+    We allow affine transformations (see the Section \ref
+    rational_grid_operations)to have rational
+    coefficients. Since the coefficients of linear expressions are
+    integers we also provide an integer \p denominator that will
+    be used as denominator of the affine transformation.  The
+    denominator is required to be a positive integer and its
+    default value is 1.
 
-/*! \relates Generator */
-template <typename Temp, typename To>
-inline bool
-l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			   const Generator& x,
-			   const Generator& y,
-			   const Rounding_Dir dir) {
-  typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  PPL_DIRTY_TEMP(Checked_Temp, tmp0);
-  PPL_DIRTY_TEMP(Checked_Temp, tmp1);
-  PPL_DIRTY_TEMP(Checked_Temp, tmp2);
-  return l_infinity_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
-}
+    The affine transformation assigns to each element of \p v -th
+    column the follow expression:
+    \f[
+      \frac{\sum_{i = 0}^{n - 1} a_i x_i + b}
+           {\mathrm{denominator}}.
+    \f]
 
-/*! \relates Generator */
-template <typename To>
-inline bool
-l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			   const Generator& x,
-			   const Generator& y,
-			   const Rounding_Dir dir) {
-  return l_infinity_distance_assign<To, To>(r, x, y, dir);
-}
+    \p expr is a constant parameter and unaltered by this computation.
+  */
+  void affine_image(dimension_type v,
+		    const Linear_Expression& expr,
+		    Coefficient_traits::const_reference denominator);
 
-} // namespace Parma_Polyhedra_Library
+  /*! \brief
+    Adds \p dims rows and \p dims columns of zeroes to the matrix,
+    initializing the added rows as in the universe system.
 
-namespace std {
+    \param dims
+    The number of rows and columns to be added: must be strictly
+    positive.
 
-/*! \relates Parma_Polyhedra_Library::Generator */
-inline void
-swap(Parma_Polyhedra_Library::Generator& x,
-     Parma_Polyhedra_Library::Generator& y) {
-  x.swap(y);
-}
+    Turns the \f$r \times c\f$ matrix \f$A\f$ into the \f$(r+dims)
+    \times (c+dims)\f$ matrix
+    \f$\bigl(\genfrac{}{}{0pt}{}{A}{0} \genfrac{}{}{0pt}{}{0}{B}\bigr)\f$
+    where \f$B\f$ is the \f$dims \times dims\f$ unit matrix of the form
+    \f$\bigl(\genfrac{}{}{0pt}{}{1}{0} \genfrac{}{}{0pt}{}{0}{1}\bigr)\f$.
+    The matrix is expanded avoiding reallocation whenever possible.
+  */
+  void add_universe_rows_and_columns(dimension_type dims);
 
-} // namespace std
+  //! Removes all the specified dimensions from the generator system.
+  /*!
+    The space dimension of the variable with the highest space
+    dimension in \p vars must be at most the space dimension
+    of \p this.
+  */
+  void remove_space_dimensions(const Variables_Set& vars);
 
-/* Automatically generated from PPL source file ../src/Generator.defs.hh line 722. */
+  /*! \brief
+    Removes the higher dimensions of the system so that the resulting
+    system will have dimension \p new_dimension.
 
-/* Automatically generated from PPL source file ../src/Congruence.defs.hh line 1. */
-/* Congruence class declaration.
-*/
+    The value of \p new_dimension must be at most the space dimension
+    of \p *this.
+  */
+  void remove_higher_space_dimensions(dimension_type new_dimension);
 
+  //! Resizes the system without worrying about the old contents.
+  /*!
+    \param new_num_rows
+    The number of rows of the resized system;
 
-/* Automatically generated from PPL source file ../src/Congruence_System.defs.hh line 1. */
-/* Congruence_System class declaration.
-*/
+    \param new_num_columns
+    The number of columns of the resized system.
 
+    The system is expanded to the specified dimensions avoiding
+    reallocation whenever possible.
+    The contents of the original system is lost.
+  */
+  void resize_no_copy(dimension_type new_num_rows,
+		      dimension_type new_num_columns);
 
-/* Automatically generated from PPL source file ../src/Grid_Certificate.types.hh line 1. */
+  /*! \brief
+    Returns the number of columns of the matrix (i.e., the size of the
+    rows).
+  */
+  dimension_type num_columns() const;
 
+  /*! \brief
+    Erases from the matrix all the rows but those having an index less
+    than \p first_to_erase.
+  */
+  void erase_to_end(dimension_type first_to_erase);
 
-namespace Parma_Polyhedra_Library {
+  //! Permutes the columns of the matrix.
+  /*
+    \param cycles
+    A vector representing the non-trivial cycles of the permutation
+    according to which the columns must be rearranged.
 
-class Grid_Certificate;
+    The \p cycles vector contains, one after the other, the
+    non-trivial cycles (i.e., the cycles of length greater than one)
+    of a permutation of non-zero column indexes.  Each cycle is
+    terminated by zero.  For example, assuming the matrix has 6
+    columns, the permutation \f$ \{ 1 \mapsto 3, 2 \mapsto 4,
+    3 \mapsto 6, 4 \mapsto 2, 5 \mapsto 5, 6 \mapsto 1 \}\f$ can be
+    represented by the non-trivial cycles \f$(1 3 6)(2 4)\f$ that, in
+    turn can be represented by a vector of 6 elements containing 1, 3,
+    6, 0, 2, 4, 0.
+  */
+  void permute_columns(const std::vector<dimension_type>& cycles);
+};
 
-}
+// Grid_Generator_System.inlines.hh is not included here on purpose.
 
-/* Automatically generated from PPL source file ../src/Congruence_System.defs.hh line 33. */
+/* Automatically generated from PPL source file ../src/Grid_Generator.defs.hh line 31. */
 #include <iosfwd>
 
 namespace Parma_Polyhedra_Library {
 
+// Put these in the namespace here to declare them friend later.
+
 namespace IO_Operators {
 
 //! Output operator.
-/*!
-  \relates Parma_Polyhedra_Library::Congruence_System
-  Writes <CODE>true</CODE> if \p cgs is empty.  Otherwise, writes on
-  \p s the congruences of \p cgs, all in one row and separated by ", ".
-*/
-std::ostream&
-operator<<(std::ostream& s, const Congruence_System& cgs);
+/*! \relates Parma_Polyhedra_Library::Grid_Generator */
+std::ostream& operator<<(std::ostream& s, const Grid_Generator& g);
 
 } // namespace IO_Operators
 
 } // namespace Parma_Polyhedra_Library
 
-
 namespace std {
 
 //! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Congruence_System */
-void
-swap(Parma_Polyhedra_Library::Congruence_System& x,
-     Parma_Polyhedra_Library::Congruence_System& y);
+/*! \relates Parma_Polyhedra_Library::Grid_Generator */
+void swap(Parma_Polyhedra_Library::Grid_Generator& x,
+	  Parma_Polyhedra_Library::Grid_Generator& y);
 
 } // namespace std
 
-//! A system of congruences.
+//! A grid line, parameter or grid point.
 /*! \ingroup PPL_CXX_interface
-    An object of the class Congruence_System is a system of congruences,
-    i.e., a multiset of objects of the class Congruence.
-    When inserting congruences in a system, space dimensions are
-    automatically adjusted so that all the congruences in the system
-    are defined on the same vector space.
+  An object of the class Grid_Generator is one of the following:
 
-    \par
-    In all the examples it is assumed that variables
-    <CODE>x</CODE> and <CODE>y</CODE> are defined as follows:
-    \code
+  - a grid_line \f$\vect{l} = (a_0, \ldots, a_{n-1})^\transpose\f$;
+
+  - a parameter
+    \f$\vect{q} = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$;
+
+  - a grid_point
+    \f$\vect{p} = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$;
+
+  where \f$n\f$ is the dimension of the space
+  and, for grid_points and parameters, \f$d > 0\f$ is the divisor.
+
+  \par How to build a grid generator.
+  Each type of generator is built by applying the corresponding
+  function (<CODE>grid_line</CODE>, <CODE>parameter</CODE>
+  or <CODE>grid_point</CODE>) to a linear expression;
+  the space dimension of the generator is defined as the space dimension
+  of the corresponding linear expression.
+  Linear expressions used to define a generator should be homogeneous
+  (any constant term will be simply ignored).
+  When defining grid points and parameters, an optional Coefficient argument
+  can be used as a common <EM>divisor</EM> for all the coefficients
+  occurring in the provided linear expression;
+  the default value for this argument is 1.
+
+  \par
+  In all the following examples it is assumed that variables
+  <CODE>x</CODE>, <CODE>y</CODE> and <CODE>z</CODE>
+  are defined as follows:
+  \code
   Variable x(0);
   Variable y(1);
-    \endcode
+  Variable z(2);
+  \endcode
 
-    \par Example 1
-    The following code builds a system of congruences corresponding to
-    an integer grid in \f$\Rset^2\f$:
-    \code
-  Congruence_System cgs;
-  cgs.insert(x %= 0);
-  cgs.insert(y %= 0);
-    \endcode
-    Note that:
-    the congruence system is created with space dimension zero;
-    the first and second congruence insertions increase the space
-    dimension to \f$1\f$ and \f$2\f$, respectively.
+  \par Example 1
+  The following code builds a grid line with direction \f$x-y-z\f$
+  and having space dimension \f$3\f$:
+  \code
+  Grid_Generator l = grid_line(x - y - z);
+  \endcode
+  By definition, the origin of the space is not a line, so that
+  the following code throws an exception:
+  \code
+  Grid_Generator l = grid_line(0*x);
+  \endcode
 
-    \par Example 2
-    By adding to the congruence system of the previous example,
-    the congruence \f$x + y = 1 \pmod{2}\f$:
-    \code
-  cgs.insert((x + y %= 1) / 2);
-    \endcode
-    we obtain the grid containing just those integral
-    points where the sum of the \p x and \p y values is odd.
+  \par Example 2
+  The following code builds the parameter as the vector
+  \f$\vect{p} = (1, -1, -1)^\transpose \in \Rset^3\f$
+  which has the same direction as the line in Example 1:
+  \code
+  Grid_Generator q = parameter(x - y - z);
+  \endcode
+  Note that, unlike lines, for parameters, the length as well
+  as the direction of the vector represented by the code is significant.
+  Thus \p q is \e not the same as the parameter \p q1 defined by
+  \code
+  Grid_Generator q1 = parameter(2x - 2y - 2z);
+  \endcode
+  By definition, the origin of the space is not a parameter, so that
+  the following code throws an exception:
+  \code
+  Grid_Generator q = parameter(0*x);
+  \endcode
+
+  \par Example 3
+  The following code builds the grid point
+  \f$\vect{p} = (1, 0, 2)^\transpose \in \Rset^3\f$:
+  \code
+  Grid_Generator p = grid_point(1*x + 0*y + 2*z);
+  \endcode
+  The same effect can be obtained by using the following code:
+  \code
+  Grid_Generator p = grid_point(x + 2*z);
+  \endcode
+  Similarly, the origin \f$\vect{0} \in \Rset^3\f$ can be defined
+  using either one of the following lines of code:
+  \code
+  Grid_Generator origin3 = grid_point(0*x + 0*y + 0*z);
+  Grid_Generator origin3_alt = grid_point(0*z);
+  \endcode
+  Note however that the following code would have defined
+  a different point, namely \f$\vect{0} \in \Rset^2\f$:
+  \code
+  Grid_Generator origin2 = grid_point(0*y);
+  \endcode
+  The following two lines of code both define the only grid point
+  having space dimension zero, namely \f$\vect{0} \in \Rset^0\f$.
+  In the second case we exploit the fact that the first argument
+  of the function <CODE>point</CODE> is optional.
+  \code
+  Grid_Generator origin0 = Generator::zero_dim_point();
+  Grid_Generator origin0_alt = grid_point();
+  \endcode
+
+  \par Example 4
+  The grid point \f$\vect{p}\f$ specified in Example 3 above
+  can also be obtained with the following code,
+  where we provide a non-default value for the second argument
+  of the function <CODE>grid_point</CODE> (the divisor):
+  \code
+  Grid_Generator p = grid_point(2*x + 0*y + 4*z, 2);
+  \endcode
+  Obviously, the divisor can be used to specify
+  points having some non-integer (but rational) coordinates.
+  For instance, the grid point
+  \f$\vect{p1} = (-1.5, 3.2, 2.1)^\transpose \in \Rset^3\f$
+  can be specified by the following code:
+  \code
+  Grid_Generator p1 = grid_point(-15*x + 32*y + 21*z, 10);
+  \endcode
+  If a zero divisor is provided, an exception is thrown.
+
+  \par Example 5
+  Parameters, like grid points can have a divisor.
+  For instance, the parameter
+  \f$\vect{q} = (1, 0, 2)^\transpose \in \Rset^3\f$ can be defined:
+  \code
+  Grid_Generator q = parameter(2*x + 0*y + 4*z, 2);
+  \endcode
+  Also, the divisor can be used to specify
+  parameters having some non-integer (but rational) coordinates.
+  For instance, the parameter
+  \f$\vect{q} = (-1.5, 3.2, 2.1)^\transpose \in \Rset^3\f$
+  can be defined:
+  \code
+  Grid_Generator q = parameter(-15*x + 32*y + 21*z, 10);
+  \endcode
+  If a zero divisor is provided, an exception is thrown.
 
-    \par Example 3
-    The following code builds a system of congruences corresponding to
-    the grid in \f$\Zset^2\f$ containing just the integral points on
-    the \p x axis:
-    \code
-  Congruence_System cgs;
-  cgs.insert(x %= 0);
-  cgs.insert((y %= 0) / 0);
-    \endcode
+  \par How to inspect a grid generator
+  Several methods are provided to examine a grid generator and extract
+  all the encoded information: its space dimension, its type and
+  the value of its integer coefficients and the value of the denominator.
 
-    \note
-    After inserting a multiset of congruences in a congruence system,
-    there are no guarantees that an <EM>exact</EM> copy of them
-    can be retrieved:
-    in general, only an <EM>equivalent</EM> congruence system
-    will be available, where original congruences may have been
-    reordered, removed (if they are trivial, duplicate or
-    implied by other congruences), linearly combined, etc.
+  \par Example 6
+  The following code shows how it is possible to access each single
+  coefficient of a grid generator.
+  If <CODE>g1</CODE> is a grid point having coordinates
+  \f$(a_0, \ldots, a_{n-1})^\transpose\f$,
+  we construct the parameter <CODE>g2</CODE> having coordinates
+  \f$(a_0, 2 a_1, \ldots, (i+1)a_i, \ldots, n a_{n-1})^\transpose\f$.
+  \code
+  if (g1.is_point()) {
+    cout << "Grid point g1: " << g1 << endl;
+    Linear_Expression e;
+    for (dimension_type i = g1.space_dimension(); i-- > 0; )
+      e += (i + 1) * g1.coefficient(Variable(i)) * Variable(i);
+    Grid_Generator g2 = parameter(e, g1.divisor());
+    cout << "Parameter g2: " << g2 << endl;
+  }
+  else
+    cout << "Grid Generator g1 is not a grid point." << endl;
+  \endcode
+  Therefore, for the grid point
+  \code
+  Grid_Generator g1 = grid_point(2*x - y + 3*z, 2);
+  \endcode
+  we would obtain the following output:
+  \code
+  Grid point g1: p((2*A - B + 3*C)/2)
+  Parameter g2: parameter((2*A - 2*B + 9*C)/2)
+  \endcode
+  When working with grid points and parameters, be careful not to confuse
+  the notion of <EM>coefficient</EM> with the notion of <EM>coordinate</EM>:
+  these are equivalent only when the divisor is 1.
 */
-class Parma_Polyhedra_Library::Congruence_System : private Matrix {
+class Parma_Polyhedra_Library::Grid_Generator : private Generator {
 public:
-  //! Default constructor: builds an empty system of congruences.
-  Congruence_System();
-
-  //! Builds the singleton system containing only congruence \p cg.
-  explicit Congruence_System(const Congruence& cg);
+  //! Returns the line of direction \p e.
+  /*!
+    \exception std::invalid_argument
+    Thrown if the homogeneous part of \p e represents the origin of
+    the vector space.
+  */
+  static Grid_Generator grid_line(const Linear_Expression& e);
 
-  /*! \brief
-    If \p c represents the constraint \f$ e_1 = e_2 \f$, builds the
-    singleton system containing only constraint \f$ e_1 = e_2
-    \pmod{0}\f$.
+  //! Returns the parameter of direction \p e and size \p e/d.
+  /*!
+    Both \p e and \p d are optional arguments, with default values
+    Linear_Expression::zero() and Coefficient_one(), respectively.
 
     \exception std::invalid_argument
-    Thrown if \p c is not an equality constraint.
+    Thrown if \p d is zero.
   */
-  explicit Congruence_System(const Constraint& c);
+  static Grid_Generator parameter(const Linear_Expression& e
+				  = Linear_Expression::zero(),
+				  Coefficient_traits::const_reference d
+				  = Coefficient_one());
 
-  //! Builds a system containing copies of any equalities in \p cs.
-  explicit Congruence_System(const Constraint_System& cs);
+  //! Returns the point at \p e / \p d.
+  /*!
+    Both \p e and \p d are optional arguments, with default values
+    Linear_Expression::zero() and Coefficient_one(), respectively.
 
-  //! Ordinary copy-constructor.
-  Congruence_System(const Congruence_System& cgs);
+    \exception std::invalid_argument
+    Thrown if \p d is zero.
+  */
+  static Grid_Generator grid_point(const Linear_Expression& e
+				   = Linear_Expression::zero(),
+				   Coefficient_traits::const_reference d
+				   = Coefficient_one());
+
+  //! Ordinary copy constructor.
+  Grid_Generator(const Grid_Generator& g);
 
   //! Destructor.
-  ~Congruence_System();
+  ~Grid_Generator();
 
   //! Assignment operator.
-  Congruence_System& operator=(const Congruence_System& cgs);
+  Grid_Generator& operator=(const Grid_Generator& g);
 
-  //! Returns the maximum space dimension a Congruence_System can handle.
+  //! Assignment operator.
+  Grid_Generator& operator=(const Generator& g);
+
+  //! Returns the maximum space dimension a Grid_Generator can handle.
   static dimension_type max_space_dimension();
 
   //! Returns the dimension of the vector space enclosing \p *this.
   dimension_type space_dimension() const;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is exactly equal
-    to \p cgs.
-  */
-  bool is_equal_to(const Congruence_System& cgs) const;
-
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this contains one or
-    more linear equalities.
-  */
-  bool has_linear_equalities() const;
+  //! The generator type.
+  enum Type {
+    /*! The generator is a grid line. */
+    LINE,
+    /*! The generator is a parameter. */
+    PARAMETER,
+    /*! The generator is a grid point. */
+    POINT
+  };
 
-  //! Removes all the congruences and sets the space dimension to 0.
-  void clear();
+  //! Returns the generator type of \p *this.
+  Type type() const;
 
-  /*! \brief
-    Inserts in \p *this a copy of the congruence \p cg, increasing the
-    number of space dimensions if needed.
+  //! Returns <CODE>true</CODE> if and only if \p *this is a line.
+  bool is_line() const;
 
-    The copy of \p cg will be strongly normalized after being
-    inserted.
-  */
-  void insert(const Congruence& cg);
+  //! Returns <CODE>true</CODE> if and only if \p *this is a parameter.
+  bool is_parameter() const;
 
   /*! \brief
-    Inserts in \p *this a copy of the equality constraint \p c, seen
-    as a modulo 0 congruence, increasing the number of space
-    dimensions if needed.
-
-    The modulo 0 congruence will be strongly normalized after being
-    inserted.
-
-    \exception std::invalid_argument
-    Thrown if \p c is a relational constraint.
+    Returns <CODE>true</CODE> if and only if \p *this is a line or
+    a parameter.
   */
-  void insert(const Constraint& c);
+  bool is_line_or_parameter() const;
 
-  // TODO: Consider adding a recycling_insert(cg).
+  //! Returns <CODE>true</CODE> if and only if \p *this is a point.
+  bool is_point() const;
 
   /*! \brief
-    Inserts in \p *this a copy of the congruences in \p cgs,
-    increasing the number of space dimensions if needed.
+    Returns <CODE>true</CODE> if and only if \p *this row represents a
+    parameter or a point.
+  */
+  bool is_parameter_or_point() const;
 
-    The inserted copies will be strongly normalized.
+  //! Returns the coefficient of \p v in \p *this.
+  /*!
+    \exception std::invalid_argument
+    Thrown if the index of \p v is greater than or equal to the
+    space dimension of \p *this.
   */
-  void insert(const Congruence_System& cgs);
+  Coefficient_traits::const_reference coefficient(Variable v) const;
 
-  /*! \brief
-    Inserts into \p *this the congruences in \p cgs, increasing the
-    number of space dimensions if needed.
+  //! Returns the divisor of \p *this.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p *this is a line.
   */
-  void recycling_insert(Congruence_System& cgs);
+  Coefficient_traits::const_reference divisor() const;
 
   //! Initializes the class.
   static void initialize();
@@ -20130,106 +23428,41 @@ public:
   //! Finalizes the class.
   static void finalize();
 
-  //! Returns the system containing only Congruence::zero_dim_false().
-  static const Congruence_System& zero_dim_empty();
-
-  //! An iterator over a system of congruences.
-  /*! \ingroup PPL_CXX_interface
-    A const_iterator is used to provide read-only access
-    to each congruence contained in an object of Congruence_System.
+  //! Returns the origin of the zero-dimensional space \f$\Rset^0\f$.
+  static const Grid_Generator& zero_dim_point();
 
-    \par Example
-    The following code prints the system of congruences
-    defining the grid <CODE>gr</CODE>:
-    \code
-  const Congruence_System& cgs = gr.congruences();
-  for (Congruence_System::const_iterator i = cgs.begin(),
-         cgs_end = cgs.end(); i != cgs_end; ++i)
-    cout << *i << endl;
-    \endcode
+  /*! \brief
+    Returns a lower bound to the total size in bytes of the memory
+    occupied by \p *this.
   */
-  class const_iterator
-    : public std::iterator<std::forward_iterator_tag,
-			   Congruence,
-			   ptrdiff_t,
-			   const Congruence*,
-			   const Congruence&> {
-  public:
-    //! Default constructor.
-    const_iterator();
-
-    //! Ordinary copy-constructor.
-    const_iterator(const const_iterator& y);
-
-    //! Destructor.
-    ~const_iterator();
-
-    //! Assignment operator.
-    const_iterator& operator=(const const_iterator& y);
-
-    //! Dereference operator.
-    const Congruence& operator*() const;
-
-    //! Indirect member selector.
-    const Congruence* operator->() const;
-
-    //! Prefix increment operator.
-    const_iterator& operator++();
-
-    //! Postfix increment operator.
-    const_iterator operator++(int);
-
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if \p *this and \p y are
-      identical.
-    */
-    bool operator==(const const_iterator& y) const;
-
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if \p *this and \p y are
-      different.
-    */
-    bool operator!=(const const_iterator& y) const;
-
-  private:
-    friend class Congruence_System;
-
-    //! The const iterator over the matrix of congruences.
-    Matrix::const_iterator i;
+  memory_size_type total_memory_in_bytes() const;
 
-    //! A const pointer to the matrix of congruences.
-    const Matrix* csp;
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-    //! Constructor.
-    const_iterator(const Matrix::const_iterator& iter,
-		   const Congruence_System& cgs);
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this and \p y are
+    equivalent generators.
 
-    //! \p *this skips to the next non-trivial congruence.
-    void skip_forward();
-  };
+    Generators having different space dimensions are not equivalent.
+  */
+  bool is_equivalent_to(const Grid_Generator& y) const;
 
-  //! Returns <CODE>true</CODE> if and only if \p *this has no congruences.
-  bool empty() const;
+  //! Returns <CODE>true</CODE> if \p *this is exactly equal to \p y.
+  bool is_equal_to(const Grid_Generator& y) const;
 
   /*! \brief
-    Returns the const_iterator pointing to the first congruence, if \p
-    *this is not empty; otherwise, returns the past-the-end
-    const_iterator.
+    Returns <CODE>true</CODE> if \p *this is equal to \p gg in
+    dimension \p dim.
   */
-  const_iterator begin() const;
-
-  //! Returns the past-the-end const_iterator.
-  const_iterator end() const;
+  bool is_equal_at_dimension(dimension_type dim,
+			     const Grid_Generator& gg) const;
 
-  //! Checks if all the invariants are satisfied.
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  /*!
-    Returns <CODE>true</CODE> if and only if \p *this is a valid
-    Matrix, each row in the system is a valid Congruence and the
-    number of columns is consistent with the number of congruences.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if all the homogeneous terms
+    of \p *this are \f$0\f$.
   */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-  bool OK() const;
+  bool all_homogeneous_terms_are_zero() const;
 
   PPL_OUTPUT_DECLARATIONS
 
@@ -20240,862 +23473,901 @@ public:
   */
   bool ascii_load(std::istream& s);
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
-
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
-
-  //! Returns the number of equalities.
-  dimension_type num_equalities() const;
-
-  //! Returns the number of proper congruences.
-  dimension_type num_proper_congruences() const;
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 
   //! Swaps \p *this with \p y.
-  void swap(Congruence_System& cgs);
+  void swap(Grid_Generator& y);
 
   /*! \brief
-    Adds \p dims rows and \p dims columns of zeroes to the matrix,
-    initializing the added rows as in the unit congruence system.
-
-    \param dims
-    The number of rows and columns to be added: must be strictly
-    positive.
+    Swaps \p *this with \p y, leaving \p *this with the original
+    capacity.
 
-    Turns the \f$r \times c\f$ matrix \f$A\f$ into the \f$(r+dims) \times
-    (c+dims)\f$ matrix
-    \f$\bigl(\genfrac{}{}{0pt}{}{0}{A} \genfrac{}{}{0pt}{}{B}{A}\bigr)\f$
-    where \f$B\f$ is the \f$dims \times dims\f$ unit matrix of the form
-    \f$\bigl(\genfrac{}{}{0pt}{}{0}{1} \genfrac{}{}{0pt}{}{1}{0}\bigr)\f$.
-    The matrix is expanded avoiding reallocation whenever possible.
+    All elements up to and including the last element of the smaller
+    of \p *this and \p y are swapped.  The parameter divisor element
+    of \p y is swapped with the divisor element of \p *this.
   */
-  void add_unit_rows_and_columns(dimension_type dims);
-
-protected:
-
-  //! Returns <CODE>true</CODE> if \p g satisfies all the congruences.
-  bool satisfies_all_congruences(const Grid_Generator& g) const;
+  void coefficient_swap(Grid_Generator& y);
 
 private:
   /*! \brief
     Holds (between class initialization and finalization) a pointer to
-    the singleton system containing only Congruence::zero_dim_false().
+    the origin of the zero-dimensional space \f$\Rset^0\f$.
   */
-  static const Congruence_System* zero_dim_empty_p;
-
-  //! Builds an empty (i.e. zero rows) system of dimension \p d.
-  explicit Congruence_System(dimension_type d);
+  static const Grid_Generator* zero_dim_point_p;
 
   /*! \brief
-    Concatenates copies of the congruences from \p cgs onto \p *this.
-
-    \param cgs
-    The congruence system to append to \p this.  The number of rows in
-    \p cgs must be strictly positive.
-
-    The matrix for the new system of congruences is obtained by
-    leaving the old system in the upper left-hand side and placing the
-    congruences of \p cgs in the lower right-hand side, and padding
-    with zeroes.
-  */
-  void concatenate(const Congruence_System& cgs);
+    Scales \p *this to be represented with a divisor of \p d (if
+    \*this is a parameter or point).
 
-  //! Adjusts all expressions to have the same moduli.
-  void normalize_moduli();
+    It is assumed that \p d is a multiple of the current divisor.
 
-  //! Increase the number of space dimensions to \p new_space_dim.
-  /*!
-    \p new_space_dim must at least equal to the current space
-    dimension.
+    \exception std::invalid_argument
+    Thrown if \p d is zero.
   */
-  bool increase_space_dimension(dimension_type new_space_dim);
+  void scale_to_divisor(Coefficient_traits::const_reference d);
 
   /*! \brief
-    Inserts in \p *this an exact copy of the congruence \p cg,
-    increasing the number of space dimensions if needed.
+    Constructs from polyhedron generator \p g, stealing the underlying
+    data structures from \p g.
 
-    This method inserts a copy of \p cg in the given form, instead of
-    first strong normalizing \p cg as \ref insert would do.
+    The last column in \p g becomes the parameter divisor column of
+    the new Grid_Generator.
   */
-  void insert_verbatim(const Congruence& cg);
-
-  friend class const_iterator;
-  friend class Grid;
-  friend class Grid_Certificate;
-
-  friend void std::swap(Parma_Polyhedra_Library::Congruence_System& x,
-			Parma_Polyhedra_Library::Congruence_System& y);
+  explicit Grid_Generator(Generator g);
 
-  friend bool
-  operator==(const Congruence_System& x, const Congruence_System& y);
+  //! Returns the actual size of \p this.
+  dimension_type size() const;
 
-  //! Returns the \p k- th congruence of the system.
-  Congruence& operator[](dimension_type k);
+  //! Negates the elements from index \p start to index \p end.
+  void negate(dimension_type start, dimension_type end);
 
-  //! Returns a constant reference to the \p k- th congruence of the system.
-  const Congruence& operator[](dimension_type k) const;
+  //! Sets the divisor of \p *this to \p d.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p *this is a line.
+  */
+  void set_divisor(Coefficient_traits::const_reference d);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if any of the dimensions in
-    \p *this is free of constraint.
+  //! Sets the Linear_Row kind to <CODE>LINE_OR_EQUALITY</CODE>.
+  void set_is_line();
 
-    Any equality or proper congruence affecting a dimension constrains
-    that dimension.
+  //! Sets the Linear_Row kind to <CODE>RAY_OR_POINT_OR_INEQUALITY</CODE>.
+  void set_is_parameter_or_point();
 
-    This method assumes the system is in minimal form.
-  */
-  bool has_a_free_dimension() const;
+  //! Converts the Grid_Generator into a parameter.
+  void set_is_parameter();
 
   /*! \brief
-    Substitutes a given column of coefficients by a given affine
-    expression.
-
-    \param v
-    Index of the column to which the affine transformation is
-    substituted;
-
-    \param expr
-    The numerator of the affine transformation:
-    \f$\sum_{i = 0}^{n - 1} a_i x_i + b\f$;
+    Strong normalization: ensures that different Grid_Generator
+    objects represent different hyperplanes or hyperspaces.
 
-    \param denominator
-    The denominator of the affine transformation.
+    Applies both Linear_Row::normalize() and Linear_Row::sign_normalize().
 
-    We allow affine transformations (see the Section \ref
-    rational_grid_operations) to have rational
-    coefficients. Since the coefficients of linear expressions are
-    integers we also provide an integer \p denominator that will
-    be used as denominator of the affine transformation.  The
-    denominator is required to be a positive integer and its default value
-    is 1.
+    This is simply a wrapper around the Generator::strong_normalize,
+    which means applying it to a parameter may change the parameter.
+  */
+  void strong_normalize();
 
-    The affine transformation substitutes the matrix of congruences
-    by a new matrix whose elements \f${a'}_{ij}\f$ are built from
-    the old one \f$a_{ij}\f$ as follows:
-    \f[
-      {a'}_{ij} =
-        \begin{cases}
-          a_{ij} * \mathrm{denominator} + a_{iv} * \mathrm{expr}[j]
-            \quad \text{for } j \neq v; \\
-          \mathrm{expr}[v] * a_{iv}
-            \quad \text{for } j = v.
-        \end{cases}
-    \f]
+  //! Returns a reference to the element of the row indexed by \p k.
+  Coefficient& operator[](dimension_type k);
 
-    \p expr is a constant parameter and unaltered by this computation.
-  */
-  void affine_preimage(dimension_type v,
-		       const Linear_Expression& expr,
-		       Coefficient_traits::const_reference denominator);
+  //! Returns a constant reference to the element of the row indexed by \p k.
+  Coefficient_traits::const_reference operator[](dimension_type k) const;
 
   /*! \brief
-    Removes the higher dimensions of the system so that the resulting
-    system will have dimension \p new_dimension.
-
-    The value of \p new_dimension must be at most the space dimension
-    of \p *this.
+    Throw a <CODE>std::invalid_argument</CODE> exception containing
+    the appropriate error message.
   */
-  void remove_higher_space_dimensions(dimension_type new_dimension);
-
-  //! Resizes the system without worrying about the old contents.
-  /*!
-    \param new_num_rows
-    The number of rows of the resized system;
-
-    \param new_num_columns
-    The number of columns of the resized system.
+  void
+  throw_invalid_argument(const char* method, const char* reason) const;
 
-    The system is expanded to the specified dimensions avoiding
-    reallocation whenever possible.
-    The contents of the original system is lost.
-  */
-  void resize_no_copy(dimension_type new_num_rows,
-		      dimension_type new_num_columns);
+  friend std::ostream&
+  IO_Operators::operator<<(std::ostream& s, const Grid_Generator& g);
+  // FIXME: The following friend declaration is for operator[] and
+  //        divisor() access in Grid::conversion, Grid::simplify,
+  //        Grid::relation_with(c) and Grid::Grid(box, *).
+  friend class Grid;
+  friend class Grid_Generator_System;
+  friend class Grid_Generator_System::const_iterator;
+  friend class Congruence_System;
+  friend class Scalar_Products;
+  friend class Topology_Adjusted_Scalar_Product_Sign;
+  friend class Linear_Expression;
 };
 
-// Congruence_System.inlines.hh is not included here on purpose.
-
-/* Automatically generated from PPL source file ../src/Congruence.defs.hh line 36. */
-#include <iosfwd>
 
 namespace Parma_Polyhedra_Library {
 
-namespace IO_Operators {
+/*! \brief
+  Shorthand for Grid_Generator
+  Grid_Generator::grid_line(const Linear_Expression& e).
+*/
+/*! \relates Grid_Generator */
+Grid_Generator grid_line(const Linear_Expression& e);
 
-//! Output operators.
+/*! \brief
+  Shorthand for Grid_Generator
+  Grid_Generator::parameter(const Linear_Expression& e,
+  Coefficient_traits::const_reference d).
+*/
+/*! \relates Grid_Generator */
+Grid_Generator
+parameter(const Linear_Expression& e = Linear_Expression::zero(),
+	  Coefficient_traits::const_reference d = Coefficient_one());
 
-/*! \relates Parma_Polyhedra_Library::Congruence */
-std::ostream&
-operator<<(std::ostream& s, const Congruence& c);
+/*! \brief
+  Shorthand for Grid_Generator
+  Grid_Generator::grid_point(const Linear_Expression& e,
+  Coefficient_traits::const_reference d).
+*/
+/*! \relates Grid_Generator */
+Grid_Generator
+grid_point(const Linear_Expression& e = Linear_Expression::zero(),
+	   Coefficient_traits::const_reference d = Coefficient_one());
 
-// Put this in the namespace here to declare it a friend later.
+//! Returns <CODE>true</CODE> if and only if \p x is equivalent to \p y.
+/*! \relates Grid_Generator */
+bool operator==(const Grid_Generator& x, const Grid_Generator& y);
 
-/*! \relates Parma_Polyhedra_Library::Congruence_System */
-std::ostream&
-operator<<(std::ostream& s, const Congruence_System& cgs);
+//! Returns <CODE>true</CODE> if and only if \p x is not equivalent to \p y.
+/*! \relates Grid_Generator */
+bool operator!=(const Grid_Generator& x, const Grid_Generator& y);
 
 
-} // namespace IO_Operators
+namespace IO_Operators {
 
-// Put these in the namespace here to declare them friend later.
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Grid_Generator */
+std::ostream& operator<<(std::ostream& s, const Grid_Generator::Type& t);
 
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are equivalent.
-/*! \relates Congruence */
-bool
-operator==(const Congruence& x, const Congruence& y);
+} // namespace IO_Operators
 
-//! Returns <CODE>false</CODE> if and only if \p x and \p y are equivalent.
-/*! \relates Congruence */
-bool
-operator!=(const Congruence& x, const Congruence& y);
+} // namespace Parma_Polyhedra_Library
 
-//! Returns the congruence \f$e1 = e2 \pmod{1}\f$.
-/*! \relates Congruence */
-Congruence
-operator%=(const Linear_Expression& e1, const Linear_Expression& e2);
+/* Automatically generated from PPL source file ../src/Grid_Generator.inlines.hh line 1. */
+/* Grid Generator class implementation: inline functions.
+*/
 
-//! Returns the congruence \f$e = n \pmod{1}\f$.
-/*! \relates Congruence */
-Congruence
-operator%=(const Linear_Expression& e, Coefficient_traits::const_reference n);
 
-//! Returns a copy of \p cg, multiplying \p k into the copy's modulus.
-/*!
-    If \p cg represents the congruence \f$ e_1 = e_2
-    \pmod{m}\f$, then the result represents the
-    congruence \f$ e_1 = e_2 \pmod{mk}\f$.
-  \relates Congruence
-*/
-Congruence
-operator/(const Congruence& cg, Coefficient_traits::const_reference k);
+namespace Parma_Polyhedra_Library {
 
-//! Creates a congruence from \p c, with \p m as the modulus.
-/*! \relates Congruence */
-Congruence
-operator/(const Constraint& c, Coefficient_traits::const_reference m);
+inline
+Grid_Generator::Grid_Generator(const Grid_Generator& g)
+  : Generator(g) {
+}
 
-} // namespace Parma_Polyhedra_Library
+inline
+Grid_Generator::~Grid_Generator() {
+}
 
-namespace std {
+inline
+Grid_Generator::Grid_Generator(Generator g)
+  : Generator(Generator::point()) {
+  Generator::swap(g);
+}
 
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Congruence */
-void
-swap(Parma_Polyhedra_Library::Congruence& x,
-     Parma_Polyhedra_Library::Congruence& y);
+inline dimension_type
+Grid_Generator::size() const {
+  return Generator::size();
+}
 
-} // namespace std
+inline dimension_type
+Grid_Generator::max_space_dimension() {
+  return Generator::max_space_dimension() - 1;
+}
 
-//! A linear congruence.
-/*! \ingroup PPL_CXX_interface
-  An object of the class Congruence is a congruence:
-  - \f$\cg = \sum_{i=0}^{n-1} a_i x_i + b = 0 \pmod m\f$
+inline Coefficient&
+Grid_Generator::operator[](dimension_type k) {
+  return Generator::operator[](k);
+}
 
-  where \f$n\f$ is the dimension of the space,
-  \f$a_i\f$ is the integer coefficient of variable \f$x_i\f$,
-  \f$b\f$ is the integer inhomogeneous term and \f$m\f$ is the integer modulus;
-  if \f$m = 0\f$, then \f$\cg\f$ represents the equality congruence
-  \f$\sum_{i=0}^{n-1} a_i x_i + b = 0\f$
-  and, if \f$m \neq 0\f$, then the congruence \f$\cg\f$ is
-  said to be a proper congruence.
+inline Coefficient_traits::const_reference
+Grid_Generator::operator[](dimension_type k) const {
+  return Generator::operator[](k);
+}
 
-  \par How to build a congruence
-  Congruences \f$\pmod{1}\f$ are typically built by
-  applying the congruence symbol `<CODE>\%=</CODE>'
-  to a pair of linear expressions.
-  Congruences with modulus \p m
-  are typically constructed by building a congruence \f$\pmod{1}\f$
-  using the given pair of linear expressions
-  and then adding the modulus \p m
-  using the modulus symbol is `<CODE>/</CODE>'.
+inline dimension_type
+Grid_Generator::space_dimension() const {
+  return Generator::space_dimension() - 1;
+}
 
-  The space dimension of a congruence is defined as the maximum
-  space dimension of the arguments of its constructor.
+inline Grid_Generator::Type
+Grid_Generator::type() const {
+  switch (Generator::type()) {
+  case Generator::POINT:
+    return POINT;
+  case Generator::RAY:
+    return PARAMETER;
+  case Generator::LINE:
+    return LINE;
+  case Generator::CLOSURE_POINT:
+  default:
+    PPL_ASSERT(false);
+    return POINT;
+  }
+}
 
-  \par
-  In the following examples it is assumed that variables
-  <CODE>x</CODE>, <CODE>y</CODE> and <CODE>z</CODE>
-  are defined as follows:
-  \code
-  Variable x(0);
-  Variable y(1);
-  Variable z(2);
-  \endcode
+inline bool
+Grid_Generator::is_line() const {
+  return Generator::is_line();
+}
 
-  \par Example 1
-  The following code builds the equality congruence
-  \f$3x + 5y - z = 0\f$, having space dimension \f$3\f$:
-  \code
-  Congruence eq_cg((3*x + 5*y - z %= 0) / 0);
-  \endcode
-  The following code builds the congruence
-  \f$4x = 2y - 13 \pmod{1}\f$, having space dimension \f$2\f$:
-  \code
-  Congruence mod1_cg(4*x %= 2*y - 13);
-  \endcode
-  The following code builds the congruence
-  \f$4x = 2y - 13 \pmod{2}\f$, having space dimension \f$2\f$:
-  \code
-  Congruence mod2_cg((4*x %= 2*y - 13) / 2);
-  \endcode
-  An unsatisfiable congruence on the zero-dimension space \f$\Rset^0\f$
-  can be specified as follows:
-  \code
-  Congruence false_cg = Congruence::zero_dim_false();
-  \endcode
-  Equivalent, but more involved ways are the following:
-  \code
-  Congruence false_cg1((Linear_Expression::zero() %= 1) / 0);
-  Congruence false_cg2((Linear_Expression::zero() %= 1) / 2);
-  \endcode
-  In contrast, the following code defines an unsatisfiable congruence
-  having space dimension \f$3\f$:
-  \code
-  Congruence false_cg3((0*z %= 1) / 0);
-  \endcode
+inline bool
+Grid_Generator::is_parameter() const {
+  return is_ray();
+}
 
-  \par How to inspect a congruence
-  Several methods are provided to examine a congruence and extract
-  all the encoded information: its space dimension, its modulus
-  and the value of its integer coefficients.
+inline bool
+Grid_Generator::is_line_or_parameter() const {
+  return is_line_or_ray();
+}
 
-  \par Example 2
-  The following code shows how it is possible to access the modulus
-  as well as each of the coefficients.
-  Given a congruence with linear expression \p e and modulus \p m
-  (in this case \f$x - 5y + 3z = 4 \pmod{5}\f$), we construct a new
-  congruence with the same modulus \p m but where the linear
-  expression is \f$2 e\f$ (\f$2x - 10y + 6z = 8 \pmod{5}\f$).
-  \code
-  Congruence cg1((x - 5*y + 3*z %= 4) / 5);
-  cout << "Congruence cg1: " << cg1 << endl;
-  const Coefficient& m = cg1.modulus();
-  if (m == 0)
-    cout << "Congruence cg1 is an equality." << endl;
-  else {
-    Linear_Expression e;
-    for (dimension_type i = cg1.space_dimension(); i-- > 0; )
-      e += 2 * cg1.coefficient(Variable(i)) * Variable(i);
-      e += 2 * cg1.inhomogeneous_term();
-    Congruence cg2((e %= 0) / m);
-    cout << "Congruence cg2: " << cg2 << endl;
-  }
-  \endcode
-  The actual output could be the following:
-  \code
-  Congruence cg1: A - 5*B + 3*C %= 4 / 5
-  Congruence cg2: 2*A - 10*B + 6*C %= 8 / 5
-  \endcode
-  Note that, in general, the particular output obtained can be
-  syntactically different from the (semantically equivalent)
-  congruence considered.
-*/
-class Parma_Polyhedra_Library::Congruence : private Row {
-public:
-  //! Ordinary copy-constructor.
-  Congruence(const Congruence& cg);
+inline bool
+Grid_Generator::is_point() const {
+  return Generator::is_point();
+}
 
-  //! Copy-constructs (modulo 0) from equality constraint \p c.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p c is an inequality.
-  */
-  explicit Congruence(const Constraint& c);
+inline bool
+Grid_Generator::is_parameter_or_point() const {
+  return is_ray_or_point_or_inequality();
+}
 
-  //! Destructor.
-  ~Congruence();
+inline void
+Grid_Generator::set_divisor(Coefficient_traits::const_reference d) {
+  PPL_ASSERT(!is_line());
+  if (is_line_or_parameter())
+    Generator::operator[](size() - 1) = d;
+  else
+    Generator::operator[](0) = d;
+}
 
-  //! Assignment operator.
-  Congruence& operator=(const Congruence& cg);
+inline Coefficient_traits::const_reference
+Grid_Generator::divisor() const {
+  if (is_line())
+    throw_invalid_argument("divisor()", "*this is a line");
+  if (is_line_or_parameter())
+    return Generator::operator[](size() - 1);
+  else
+    return Generator::operator[](0);
+}
 
-  //! Returns the maximum space dimension a Congruence can handle.
-  static dimension_type max_space_dimension();
+inline bool
+Grid_Generator::is_equal_at_dimension(dimension_type dim,
+				      const Grid_Generator& gg) const {
+  return operator[](dim) * gg.divisor() == gg[dim] * divisor();
+}
 
-  //! Returns the dimension of the vector space enclosing \p *this.
-  dimension_type space_dimension() const;
+inline void
+Grid_Generator::set_is_line() {
+  Generator::set_is_line();
+}
 
-  //! Returns the coefficient of \p v in \p *this.
-  /*!
-    \exception std::invalid_argument thrown if the index of \p v
-    is greater than or equal to the space dimension of \p *this.
-  */
-  Coefficient_traits::const_reference coefficient(Variable v) const;
+inline void
+Grid_Generator::set_is_parameter_or_point() {
+  Generator::set_is_ray_or_point();
+}
 
-  //! Returns the inhomogeneous term of \p *this.
-  Coefficient_traits::const_reference inhomogeneous_term() const;
+inline Grid_Generator&
+Grid_Generator::operator=(const Grid_Generator& g) {
+  Generator::operator=(g);
+  return *this;
+}
 
-  //! Returns a const reference to the modulus of \p *this.
-  Coefficient_traits::const_reference modulus() const;
+inline Grid_Generator&
+Grid_Generator::operator=(const Generator& g) {
+  Generator::operator=(g);
+  return *this;
+}
 
-  //! Multiplies \p k into the modulus of \p *this.
-  /*!
-    If called with \p *this representing the congruence \f$ e_1 = e_2
-    \pmod{m}\f$, then it returns with *this representing
-    the congruence \f$ e_1 = e_2 \pmod{mk}\f$.
-  */
-  Congruence&
-  operator/=(Coefficient_traits::const_reference k);
+inline void
+Grid_Generator::negate(dimension_type start, dimension_type end) {
+  while (start <= end)
+    neg_assign(operator[](start++));
+}
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is a tautology
-    (i.e., an always true congruence).
+inline Coefficient_traits::const_reference
+Grid_Generator::coefficient(const Variable v) const {
+  if (v.space_dimension() > space_dimension())
+    throw_dimension_incompatible("coefficient(v)", "v", v);
+  return Generator::coefficient(v);
+}
 
-    A tautological congruence has one the following two forms:
-    - an equality: \f$\sum_{i=0}^{n-1} 0 x_i + 0 == 0\f$; or
-    - a proper congruence: \f$\sum_{i=0}^{n-1} 0 x_i + b \%= 0 / m\f$,
-      where \f$b = 0 \pmod{m}\f$.
-  */
-  bool is_tautological() const;
+inline memory_size_type
+Grid_Generator::total_memory_in_bytes() const {
+  return Generator::total_memory_in_bytes();
+}
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if
-    \p *this is inconsistent (i.e., an always false congruence).
+inline memory_size_type
+Grid_Generator::external_memory_in_bytes() const {
+  return Generator::external_memory_in_bytes();
+}
 
-    An inconsistent congruence has one of the following two forms:
-    - an equality: \f$\sum_{i=0}^{n-1} 0 x_i + b == 0\f$
-      where \f$b \neq 0\f$; or
-    - a proper congruence: \f$\sum_{i=0}^{n-1} 0 x_i + b \%= 0 / m\f$,
-      where \f$b \neq 0 \pmod{m}\f$.
-  */
-  bool is_inconsistent() const;
+inline const Grid_Generator&
+Grid_Generator::zero_dim_point() {
+  PPL_ASSERT(zero_dim_point_p != 0);
+  return *zero_dim_point_p;
+}
 
-  //! Returns <CODE>true</CODE> if the modulus is greater than zero.
-  /*!
-    A congruence with a modulus of 0 is a linear equality.
-  */
-  bool is_proper_congruence() const;
+inline void
+Grid_Generator::strong_normalize() {
+  Generator::strong_normalize();
+}
 
-  //! Returns <CODE>true</CODE> if \p *this is an equality.
-  /*!
-    A modulus of zero denotes a linear equality.
-  */
-  bool is_equality() const;
+inline void
+Grid_Generator::swap(Grid_Generator& y) {
+  Generator::swap(y);
+}
 
-  /*! \brief
-    Returns <CODE>true</CODE> if \p *this is equal to \p cg in
-    dimension \p dim.
-  */
-  bool is_equal_at_dimension(dimension_type dim,
-			     const Congruence& cg) const;
+/*! \relates Grid_Generator */
+inline bool
+operator==(const Grid_Generator& x, const Grid_Generator& y) {
+  return x.is_equivalent_to(y);
+}
 
-  //! Initializes the class.
-  static void initialize();
+/*! \relates Grid_Generator */
+inline bool
+operator!=(const Grid_Generator& x, const Grid_Generator& y) {
+  return !(x == y);
+}
 
-  //! Finalizes the class.
-  static void finalize();
+/*! \relates Grid_Generator */
+inline Grid_Generator
+grid_line(const Linear_Expression& e) {
+  return Grid_Generator::grid_line(e);
+}
 
-  /*! \brief
-    Returns a reference to the true (zero-dimension space) congruence
-    \f$0 = 1 \pmod{1}\f$, also known as the <EM>integrality
-    congruence</EM>.
-  */
-  static const Congruence& zero_dim_integrality();
+/*! \relates Grid_Generator */
+inline Grid_Generator
+parameter(const Linear_Expression& e,
+	  Coefficient_traits::const_reference d) {
+  return Grid_Generator::parameter(e, d);
+}
 
-  /*! \brief
-    Returns a reference to the false (zero-dimension space) congruence
-    \f$0 = 1 \pmod{0}\f$.
-  */
-  static const Congruence& zero_dim_false();
+/*! \relates Grid_Generator */
+inline Grid_Generator
+grid_point(const Linear_Expression& e,
+	   Coefficient_traits::const_reference d) {
+  return Grid_Generator::grid_point(e, d);
+}
 
-  //! Returns the congruence \f$e1 = e2 \pmod{1}\f$.
-  static Congruence
-  create(const Linear_Expression& e1, const Linear_Expression& e2);
+} // namespace Parma_Polyhedra_Library
 
-  //! Returns the congruence \f$e = n \pmod{1}\f$.
-  static Congruence
-  create(const Linear_Expression& e, Coefficient_traits::const_reference n);
+namespace std {
 
-  //! Returns the congruence \f$n = e \pmod{1}\f$.
-  static Congruence
-  create(Coefficient_traits::const_reference n, const Linear_Expression& e);
+/*! \relates Parma_Polyhedra_Library::Grid_Generator */
+inline void
+swap(Parma_Polyhedra_Library::Grid_Generator& x,
+     Parma_Polyhedra_Library::Grid_Generator& y) {
+  x.swap(y);
+}
 
-  /*! \brief
-    Returns a lower bound to the total size in bytes of the memory
-    occupied by \p *this.
-  */
-  memory_size_type total_memory_in_bytes() const;
+} // namespace std
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+/* Automatically generated from PPL source file ../src/Grid_Generator.defs.hh line 534. */
 
-  PPL_OUTPUT_DECLARATIONS
+/* Automatically generated from PPL source file ../src/Scalar_Products.inlines.hh line 32. */
 
-  /*! \brief
-    Loads from \p s an ASCII representation of the internal
-    representation of \p *this.
-  */
-  bool ascii_load(std::istream& s);
+namespace Parma_Polyhedra_Library {
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+inline int
+Scalar_Products::sign(const Linear_Row& x, const Linear_Row& y) {
+  PPL_DIRTY_TEMP_COEFFICIENT(z);
+  assign(z, x, y);
+  return sgn(z);
+}
 
-protected:
+inline int
+Scalar_Products::reduced_sign(const Linear_Row& x, const Linear_Row& y) {
+  PPL_DIRTY_TEMP_COEFFICIENT(z);
+  reduced_assign(z, x, y);
+  return sgn(z);
+}
 
-  //! Normalizes the signs.
-  /*!
-    The signs of the coefficients and the inhomogeneous term are
-    normalized, leaving the first non-zero homogeneous coefficient
-    positive.
-  */
-  void sign_normalize();
+inline int
+Scalar_Products::homogeneous_sign(const Linear_Row& x, const Linear_Row& y) {
+  PPL_DIRTY_TEMP_COEFFICIENT(z);
+  homogeneous_assign(z, x, y);
+  return sgn(z);
+}
 
-  //! Normalizes signs and the inhomogeneous term.
-  /*!
-    Applies sign_normalize, then reduces the inhomogeneous term to the
-    smallest possible positive number.
-  */
-  void normalize();
+inline int
+Scalar_Products::sign(const Constraint& c, const Generator& g) {
+  return sign(static_cast<const Linear_Row&>(c),
+	      static_cast<const Linear_Row&>(g));
+}
+
+inline int
+Scalar_Products::sign(const Generator& g, const Constraint& c) {
+  return sign(static_cast<const Linear_Row&>(g),
+	      static_cast<const Linear_Row&>(c));
+}
 
-  //! Calls normalize, then divides out common factors.
-  /*!
-    Strongly normalized Congruences have equivalent semantics if and
-    only if their syntaxes (as output by operator<<) are equal.
-  */
-  void strong_normalize();
+inline int
+Scalar_Products::sign(const Constraint& c, const Grid_Generator& g) {
+  PPL_DIRTY_TEMP_COEFFICIENT(z);
+  assign(z, c, g);
+  return sgn(z);
+}
 
-private:
-  /*! \brief
-    Holds (between class initialization and finalization) a pointer to
-    the false (zero-dimension space) congruence \f$0 = 1 \pmod{0}\f$.
-  */
-  static const Congruence* zero_dim_false_p;
+inline int
+Scalar_Products::reduced_sign(const Constraint& c, const Generator& g) {
+  return reduced_sign(static_cast<const Linear_Row&>(c),
+		      static_cast<const Linear_Row&>(g));
+}
 
-  /*! \brief
-    Holds (between class initialization and finalization) a pointer to
-    the true (zero-dimension space) congruence \f$0 = 1 \pmod{1}\f$,
-    also known as the <EM>integrality congruence</EM>.
-  */
-  static const Congruence* zero_dim_integrality_p;
+inline int
+Scalar_Products::reduced_sign(const Generator& g, const Constraint& c) {
+  return reduced_sign(static_cast<const Linear_Row&>(g),
+		      static_cast<const Linear_Row&>(c));
+}
 
-  //! Marks this congruence as a linear equality.
-  void set_is_equality();
+inline void
+Scalar_Products::homogeneous_assign(Coefficient& z,
+				    const Linear_Expression& e,
+				    const Generator& g) {
+  homogeneous_assign(z,
+		     static_cast<const Linear_Row&>(e),
+		     static_cast<const Linear_Row&>(g));
+}
 
-  //! Negates the elements from index \p start to index \p end.
-  void negate(dimension_type start, dimension_type end);
+inline void
+Scalar_Products::homogeneous_assign(Coefficient& z,
+				    const Linear_Expression& e,
+				    const Grid_Generator& g) {
+  homogeneous_assign(z,
+		     static_cast<const Linear_Row&>(e),
+		     static_cast<const Linear_Row&>(g));
+}
 
-  //! Default constructor: private and not implemented.
-  Congruence();
+inline int
+Scalar_Products::homogeneous_sign(const Linear_Expression& e,
+				  const Generator& g) {
+  return homogeneous_sign(static_cast<const Linear_Row&>(e),
+			  static_cast<const Linear_Row&>(g));
+}
 
-  //! Copy-constructs with specified size and capacity.
-  Congruence(const Congruence& cg,
-	     dimension_type sz,
-	     dimension_type capacity);
+inline int
+Scalar_Products::homogeneous_sign(const Linear_Expression& e,
+				  const Grid_Generator& g) {
+  return homogeneous_sign(static_cast<const Linear_Row&>(e),
+			  static_cast<const Linear_Row&>(g));
+}
 
-  //! Constructs from a constraint, with specified size and capacity.
-  Congruence(const Constraint& c,
-	     dimension_type sz,
-	     dimension_type capacity);
+inline int
+Scalar_Products::homogeneous_sign(const Grid_Generator& g,
+				  const Constraint& c) {
+  PPL_DIRTY_TEMP_COEFFICIENT(z);
+  homogeneous_assign(z, g, c);
+  return sgn(z);
+}
 
-  //! Copy-constructs from \p cg, multiplying \p k into the modulus.
-  /*!
-    If \p cg represents the congruence \f$ e_1 = e_2
-    \pmod{m}\f$, then the result represents the
-    congruence \f$ e_1 = e_2 \pmod{mk}\f$.
-  */
-  Congruence(const Congruence& cg, Coefficient_traits::const_reference k);
+inline
+Topology_Adjusted_Scalar_Product_Sign
+::Topology_Adjusted_Scalar_Product_Sign(const Constraint& c)
+  : sps_fp(c.is_necessarily_closed()
+	   ? static_cast<SPS_type>(&Scalar_Products::sign)
+	   : static_cast<SPS_type>(&Scalar_Products::reduced_sign)) {
+}
 
-  //! Constructs from Linear_Expression \p le, using modulus \p m.
-  /*!
-    Builds a congruence with modulus \p m, stealing the coefficients
-    from \p le.
+inline
+Topology_Adjusted_Scalar_Product_Sign
+::Topology_Adjusted_Scalar_Product_Sign(const Generator& g)
+  : sps_fp(g.is_necessarily_closed()
+	   ? static_cast<SPS_type>(&Scalar_Products::sign)
+	   : static_cast<SPS_type>(&Scalar_Products::reduced_sign)) {
+}
 
-    \param le
-    The Linear_Expression holding the coefficients.
+inline int
+Topology_Adjusted_Scalar_Product_Sign::operator()(const Constraint& c,
+						  const Generator& g) const {
+  PPL_ASSERT(c.space_dimension() <= g.space_dimension());
+  PPL_ASSERT(sps_fp == (c.is_necessarily_closed()
+		    ? static_cast<SPS_type>(&Scalar_Products::sign)
+		    : static_cast<SPS_type>(&Scalar_Products::reduced_sign)));
+  return sps_fp(static_cast<const Linear_Row&>(c),
+		static_cast<const Linear_Row&>(g));
+}
 
-    \param m
-    The modulus for the congruence, which must be zero or greater.
-  */
-  Congruence(Linear_Expression& le,
-	     Coefficient_traits::const_reference m);
+inline int
+Topology_Adjusted_Scalar_Product_Sign::operator()(const Generator& g,
+						  const Constraint& c) const {
+  PPL_ASSERT(g.space_dimension() <= c.space_dimension());
+  PPL_ASSERT(sps_fp == (g.is_necessarily_closed()
+		    ? static_cast<SPS_type>(&Scalar_Products::sign)
+		    : static_cast<SPS_type>(&Scalar_Products::reduced_sign)));
+  return sps_fp(static_cast<const Linear_Row&>(g),
+		static_cast<const Linear_Row&>(c));
+}
 
-  //! Swaps \p *this with \p y.
-  void swap(Congruence& y);
+} // namespace Parma_Polyhedra_Library
 
-  /*! \brief
-    Throws a <CODE>std::invalid_argument</CODE> exception containing
-    error message \p message.
-  */
-  void
-  throw_invalid_argument(const char* method, const char* message) const;
+/* Automatically generated from PPL source file ../src/Scalar_Products.defs.hh line 196. */
 
-  /*! \brief
-    Throws a <CODE>std::invalid_argument</CODE> exception containing
-    the appropriate error message.
-  */
-  void
-  throw_dimension_incompatible(const char* method,
-			       const char* v_name,
-			       Variable v) const;
+/* Automatically generated from PPL source file ../src/PIP_Tree.defs.hh line 1. */
+/* PIP_Tree_Node class declaration.
+*/
 
-  friend Congruence
-  operator/(const Congruence& cg, Coefficient_traits::const_reference k);
-  friend Congruence
-  operator/(const Constraint& c, Coefficient_traits::const_reference m);
 
-  friend bool
-  operator==(const Congruence& x, const Congruence& y);
+/* Automatically generated from PPL source file ../src/PIP_Tree.types.hh line 1. */
 
-  friend bool
-  operator!=(const Congruence& x, const Congruence& y);
 
-  friend std::ostream&
-  Parma_Polyhedra_Library::IO_Operators
-  ::operator<<(std::ostream& s,
-	       const Congruence_System& cgs);
+namespace Parma_Polyhedra_Library {
 
-  friend class Parma_Polyhedra_Library::Scalar_Products;
-  friend class Parma_Polyhedra_Library::Constraint;
-  friend class Parma_Polyhedra_Library::Congruence_System;
-  friend class Parma_Polyhedra_Library::Congruence_System::const_iterator;
-  // FIXME: The following friend declaration is at least for
-  //        operator[] access in Grid::conversion.
-  friend class Parma_Polyhedra_Library::Grid;
-  friend class Parma_Polyhedra_Library::Linear_Expression;
+class PIP_Tree_Node;
+class PIP_Solution_Node;
+class PIP_Decision_Node;
 
-  friend void
-  std::swap(Parma_Polyhedra_Library::Congruence& x,
-	    Parma_Polyhedra_Library::Congruence& y);
-};
+typedef const PIP_Tree_Node* PIP_Tree;
 
-/* Automatically generated from PPL source file ../src/Congruence.inlines.hh line 1. */
-/* Congruence class implementation: inline functions.
-*/
+} // namespace Parma_Polyhedra_Library
 
+/* Automatically generated from PPL source file ../src/Constraint_System.inlines.hh line 1. */
+/* Constraint_System class implementation: inline functions.
+*/
 
-/* Automatically generated from PPL source file ../src/Congruence.inlines.hh line 28. */
 
-#include <sstream>
+/* Automatically generated from PPL source file ../src/Constraint_System.inlines.hh line 27. */
 
 namespace Parma_Polyhedra_Library {
 
 inline
-Congruence::Congruence(const Congruence& cg)
-  : Row(cg) {
+Constraint_System::Constraint_System()
+  : Linear_System(NECESSARILY_CLOSED) {
 }
 
 inline
-Congruence::Congruence(const Congruence& cg,
-		       dimension_type sz, dimension_type capacity)
-  : Row(cg, sz, capacity) {
+Constraint_System::Constraint_System(const Constraint& c)
+  : Linear_System(c.topology()) {
+  Linear_System::insert(c);
 }
 
 inline
-Congruence::Congruence(const Congruence& cg,
-		       Coefficient_traits::const_reference k)
-  : Row(cg) {
-  if (k >= 0)
-    (*this)[size()-1] *= k;
-  else
-    (*this)[size()-1] *= -k;
+Constraint_System::Constraint_System(const Constraint_System& cs)
+  : Linear_System(cs) {
 }
 
 inline
-Congruence::~Congruence() {
+Constraint_System::Constraint_System(const Topology topol)
+  : Linear_System(topol) {
 }
 
 inline
-Congruence::Congruence(Linear_Expression& le,
-		       Coefficient_traits::const_reference m) {
-  Row::swap(static_cast<Row&>(le));
-  assert(m >= 0);
-  (*this)[size()-1] = m;
+Constraint_System::Constraint_System(const Topology topol,
+				     const dimension_type n_rows,
+				     const dimension_type n_columns)
+  : Linear_System(topol, n_rows, n_columns) {
 }
 
-inline Congruence
-Congruence::create(const Linear_Expression& e,
-		   Coefficient_traits::const_reference n) {
-  // Ensure that diff has capacity for the modulus.
-  Linear_Expression diff(e, e.space_dimension() + 2);
-  diff -= n;
-  Congruence cg(diff, 1);
-  return cg;
+inline
+Constraint_System::~Constraint_System() {
 }
 
-inline Congruence
-Congruence::create(Coefficient_traits::const_reference n,
-		   const Linear_Expression& e) {
-  // Ensure that diff has capacity for the modulus.
-  Linear_Expression diff(e, e.space_dimension() + 2);
-  diff -= n;
-  Congruence cg(diff, 1);
-  return cg;
+inline Constraint_System&
+Constraint_System::operator=(const Constraint_System& y) {
+  Linear_System::operator=(y);
+  return *this;
 }
 
-/*! \relates Parma_Polyhedra_Library::Congruence */
-inline Congruence
-operator%=(const Linear_Expression& e1, const Linear_Expression& e2) {
-  return Congruence::create(e1, e2);
+inline Constraint&
+Constraint_System::operator[](const dimension_type k) {
+  return static_cast<Constraint&>(Linear_System::operator[](k));
 }
 
-/*! \relates Parma_Polyhedra_Library::Congruence */
-inline Congruence
-operator%=(const Linear_Expression& e, Coefficient_traits::const_reference n) {
-  return Congruence::create(e, n);
+inline const Constraint&
+Constraint_System::operator[](const dimension_type k) const {
+  return static_cast<const Constraint&>(Linear_System::operator[](k));
 }
 
-/*! \relates Parma_Polyhedra_Library::Congruence */
-inline Congruence
-operator/(const Congruence& cg, Coefficient_traits::const_reference k) {
-  Congruence ret(cg, k);
-  return ret;
+inline dimension_type
+Constraint_System::max_space_dimension() {
+  return Linear_System::max_space_dimension();
 }
 
-inline const Congruence&
-Congruence::zero_dim_integrality() {
-  return *zero_dim_integrality_p;
+inline dimension_type
+Constraint_System::space_dimension() const {
+  return Linear_System::space_dimension();
 }
 
-inline const Congruence&
-Congruence::zero_dim_false() {
-  return *zero_dim_false_p;
+inline void
+Constraint_System::clear() {
+  Linear_System::clear();
 }
 
-inline Congruence&
-Congruence::operator=(const Congruence& c) {
-  Row::operator=(c);
+inline const Constraint_System&
+Constraint_System::zero_dim_empty() {
+  PPL_ASSERT(zero_dim_empty_p != 0);
+  return *zero_dim_empty_p;
+}
+
+inline
+Constraint_System::const_iterator::const_iterator()
+  : i(), csp(0) {
+}
+
+inline
+Constraint_System::const_iterator::const_iterator(const const_iterator& y)
+  : i(y.i), csp(y.csp) {
+}
+
+inline
+Constraint_System::const_iterator::~const_iterator() {
+}
+
+inline Constraint_System::const_iterator&
+Constraint_System::const_iterator::operator=(const const_iterator& y) {
+  i = y.i;
+  csp = y.csp;
   return *this;
 }
 
-/*! \relates Congruence */
-inline Congruence
-operator/(const Constraint& c, Coefficient_traits::const_reference m) {
-  Congruence ret(c);
-  return ret / m;
+inline const Constraint&
+Constraint_System::const_iterator::operator*() const {
+  return static_cast<const Constraint&>(*i);
 }
 
-inline Congruence&
-Congruence::operator/=(Coefficient_traits::const_reference k) {
-  if (k >= 0)
-    (*this)[size()-1] *= k;
-  else
-    (*this)[size()-1] *= -k;
+inline const Constraint*
+Constraint_System::const_iterator::operator->() const {
+  return static_cast<const Constraint*>(i.operator->());
+}
+
+inline Constraint_System::const_iterator&
+Constraint_System::const_iterator::operator++() {
+  ++i;
+  skip_forward();
   return *this;
 }
 
-/*! \relates Congruence */
+inline Constraint_System::const_iterator
+Constraint_System::const_iterator::operator++(int) {
+  const const_iterator tmp = *this;
+  operator++();
+  return tmp;
+}
+
 inline bool
-operator==(const Congruence& x, const Congruence& y) {
-  Congruence x_temp(x);
-  Congruence y_temp(y);
-  x_temp.strong_normalize();
-  y_temp.strong_normalize();
-  return static_cast<const Row&>(x_temp) == static_cast<const Row&>(y_temp);
+Constraint_System::const_iterator::operator==(const const_iterator& y) const {
+  return i == y.i;
 }
 
-/*! \relates Congruence */
 inline bool
-operator!=(const Congruence& x, const Congruence& y) {
-  return !(x == y);
+Constraint_System::const_iterator::operator!=(const const_iterator& y) const {
+  return i != y.i;
 }
 
-inline dimension_type
-Congruence::max_space_dimension() {
-  // The first coefficient holds the inhomogeneous term, while
-  // the last coefficient is for the modulus.
-  return max_size() - 2;
+inline
+Constraint_System::const_iterator::
+const_iterator(const Linear_System::const_iterator& iter,
+	       const Constraint_System& csys)
+  : i(iter), csp(&csys) {
 }
 
-inline dimension_type
-Congruence::space_dimension() const {
-  return size() - 2;
+inline Constraint_System::const_iterator
+Constraint_System::begin() const {
+  const_iterator i(Linear_System::begin(), *this);
+  i.skip_forward();
+  return i;
 }
 
-inline Coefficient_traits::const_reference
-Congruence::coefficient(const Variable v) const {
-  if (v.space_dimension() > space_dimension())
-    throw_dimension_incompatible("coefficient(v)", "v", v);
-  return (*this)[v.id()+1];
+inline Constraint_System::const_iterator
+Constraint_System::end() const {
+  const const_iterator i(Linear_System::end(), *this);
+  return i;
 }
 
-inline Coefficient_traits::const_reference
-Congruence::inhomogeneous_term() const {
-  return (*this)[0];
+inline bool
+Constraint_System::empty() const {
+  return begin() == end();
 }
 
-inline Coefficient_traits::const_reference
-Congruence::modulus() const {
-  assert(size() > 1);
-  return (*this)[size()-1];
+inline void
+Constraint_System::add_low_level_constraints() {
+  if (is_necessarily_closed())
+    // The positivity constraint.
+    insert(Constraint::zero_dim_positivity());
+  else {
+    // Add the epsilon constraints.
+    insert(Constraint::epsilon_leq_one());
+    insert(Constraint::epsilon_geq_zero());
+  }
 }
 
-inline bool
-Congruence::is_proper_congruence() const {
-  return modulus() > 0;
+inline void
+Constraint_System::swap(Constraint_System& y) {
+  Linear_System::swap(y);
+}
+
+inline memory_size_type
+Constraint_System::external_memory_in_bytes() const {
+  return Linear_System::external_memory_in_bytes();
+}
+
+inline memory_size_type
+Constraint_System::total_memory_in_bytes() const {
+  return Linear_System::total_memory_in_bytes();
+}
+
+inline void
+Constraint_System::simplify() {
+  Linear_System::simplify();
+}
+
+} // namespace Parma_Polyhedra_Library
+
+
+namespace std {
+
+/*! \relates Parma_Polyhedra_Library::Constraint_System */
+inline void
+swap(Parma_Polyhedra_Library::Constraint_System& x,
+     Parma_Polyhedra_Library::Constraint_System& y) {
+  x.swap(y);
 }
 
-inline bool
-Congruence::is_equality() const {
-  return modulus() == 0;
+} // namespace std
+
+/* Automatically generated from PPL source file ../src/Variables_Set.defs.hh line 1. */
+/* Variables_Set class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Variables_Set.defs.hh line 29. */
+#include <iosfwd>
+#include <set>
+
+namespace Parma_Polyhedra_Library {
+
+namespace IO_Operators {
+
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Variables_Set */
+std::ostream&
+operator<<(std::ostream& s, const Variables_Set& v);
+
+} // namespace IO_Operators
+
+} // namespace Parma_Polyhedra_Library
+
+//! An std::set of variables' indexes.
+class Parma_Polyhedra_Library::Variables_Set
+  : public std::set<dimension_type> {
+private:
+  typedef std::set<dimension_type> Base;
+
+public:
+  //! Builds the empty set of variable indexes.
+  Variables_Set();
+
+  //! Builds the singleton set of indexes containing <CODE>v.id()</CODE>;
+  explicit Variables_Set(const Variable& v);
+
+  /*! \brief
+    Builds the set of variables's indexes in the range from
+    <CODE>v.id()</CODE> to <CODE>w.id()</CODE>.
+
+    If <CODE>v.id() <= w.id()</CODE>, this constructor builds the
+    set of variables' indexes
+    <CODE>v.id()</CODE>, <CODE>v.id()+1</CODE>, ..., <CODE>w.id()</CODE>.
+    The empty set is built otherwise.
+  */
+  Variables_Set(const Variable& v, const Variable& w);
+
+  //! Returns the maximum space dimension a Variables_Set can handle.
+  static dimension_type max_space_dimension();
+
+  /*! \brief
+    Returns the dimension of the smallest vector space enclosing all
+    the variables whose indexes are in the set.
+  */
+  dimension_type space_dimension() const;
+
+  //! Inserts the index of variable \p v into the set.
+  void insert(Variable v);
+
+  // The `insert' method above overloads (instead of hiding) the
+  // other `insert' method of std::set.
+  using Base::insert;
+
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
+
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
+
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
+  PPL_OUTPUT_DECLARATIONS
+};
+
+/* Automatically generated from PPL source file ../src/Variables_Set.inlines.hh line 1. */
+/* Variables_Set class implementation: inline functions.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Variables_Set.inlines.hh line 27. */
+#include <stdexcept>
+
+namespace Parma_Polyhedra_Library {
+
+inline
+Variables_Set::Variables_Set()
+  : Base() {
 }
 
-inline bool
-Congruence::is_equal_at_dimension(dimension_type dim,
-				  const Congruence& cg) const {
-  return operator[](dim) * cg.modulus() == cg[dim] * modulus();
+inline void
+Variables_Set::insert(const Variable v) {
+  insert(v.id());
 }
 
-inline void
-Congruence::set_is_equality() {
-  (*this)[size()-1] = 0;
+inline
+Variables_Set::Variables_Set(const Variable& v)
+  : Base() {
+  insert(v);
 }
 
-inline void
-Congruence::negate(dimension_type start, dimension_type end) {
-  while (start <= end)
-    neg_assign(operator[](start++));
+inline dimension_type
+Variables_Set::max_space_dimension() {
+  return Variable::max_space_dimension();
 }
 
-inline memory_size_type
-Congruence::external_memory_in_bytes() const {
-  return Row::external_memory_in_bytes();
+inline dimension_type
+Variables_Set::space_dimension() const {
+  reverse_iterator i = rbegin();
+  return i == rend() ? 0 : *i+1;
 }
 
 inline memory_size_type
-Congruence::total_memory_in_bytes() const {
-  return Row::total_memory_in_bytes();
+Variables_Set::external_memory_in_bytes() const {
+  // We assume sets are implemented by means of red-black trees that
+  // require to store the color (we assume an enum) and three pointers
+  // to the parent, left and right child, respectively.
+  enum color { red, black };
+  return size() * (sizeof(color) + 3*sizeof(void*) + sizeof(dimension_type));
 }
 
-inline void
-Congruence::swap(Congruence& y) {
-  Row::swap(y);
+inline memory_size_type
+Variables_Set::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
 }
 
 } // namespace Parma_Polyhedra_Library
 
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Congruence */
-inline void
-swap(Parma_Polyhedra_Library::Congruence& x,
-     Parma_Polyhedra_Library::Congruence& y) {
-  x.swap(y);
-}
-
-} // namespace std
-
-/* Automatically generated from PPL source file ../src/Congruence.defs.hh line 478. */
-
-/* Automatically generated from PPL source file ../src/Grid_Generator.defs.hh line 1. */
-/* Grid_Generator class declaration.
-*/
-
+/* Automatically generated from PPL source file ../src/Variables_Set.defs.hh line 105. */
 
-/* Automatically generated from PPL source file ../src/Grid_Generator_System.defs.hh line 1. */
-/* Grid_Generator_System class declaration.
+/* Automatically generated from PPL source file ../src/PIP_Problem.defs.hh line 1. */
+/* PIP_Problem class declaration.
 */
 
 
-/* Automatically generated from PPL source file ../src/Variables_Set.types.hh line 1. */
+/* Automatically generated from PPL source file ../src/PIP_Problem.types.hh line 1. */
 
 
 namespace Parma_Polyhedra_Library {
 
-class Variables_Set;
+//! Possible outcomes of the PIP_Problem solver.
+/*! \ingroup PPL_CXX_interface */
+enum PIP_Problem_Status {
+  //! The problem is unfeasible.
+  UNFEASIBLE_PIP_PROBLEM,
+  //! The problem has an optimal solution.
+  OPTIMIZED_PIP_PROBLEM
+};
+
+class PIP_Problem;
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Grid_Generator_System.defs.hh line 30. */
+/* Automatically generated from PPL source file ../src/PIP_Problem.defs.hh line 34. */
+#include <vector>
+#include <deque>
 #include <iosfwd>
 
 namespace Parma_Polyhedra_Library {
@@ -21103,830 +24375,1268 @@ namespace Parma_Polyhedra_Library {
 namespace IO_Operators {
 
 //! Output operator.
-/*!
-  \relates Parma_Polyhedra_Library::Grid_Generator_System
-  Writes <CODE>false</CODE> if \p gs is empty.  Otherwise, writes on
-  \p s the generators of \p gs, all in one row and separated by ", ".
-*/
-std::ostream& operator<<(std::ostream& s, const Grid_Generator_System& gs);
+/*! \relates Parma_Polyhedra_Library::PIP_Problem */
+std::ostream&
+operator<<(std::ostream& s, const PIP_Problem& p);
 
 } // namespace IO_Operators
 
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are identical.
-/*! \relates Grid_Generator_System */
-bool operator==(const Grid_Generator_System& x,
-		const Grid_Generator_System& y);
-
 } // namespace Parma_Polyhedra_Library
 
-namespace std {
+//! A Parametric Integer (linear) Programming problem.
+/*! \ingroup PPL_CXX_interface
+  An object of this class encodes a parametric integer (linear)
+  programming problem. The PIP problem is specified by providing:
+   - the dimension of the vector space;
+   - the subset of those dimensions of the vector space that are
+     interpreted as integer parameters (the other space dimensions
+     are interpreted as non-parameter integer variables);
+   - a finite set of linear equality and (strict or non-strict)
+     inequality constraints involving variables and/or parameters;
+     these constraints are used to define:
+       - the <EM>feasible region</EM>, if they involve one or more
+         problem variable (and maybe some parameters);
+       - the <EM>initial context</EM>, if they only involve the
+         parameters;
+   - optionally, the so-called <EM>big parameter</EM>,
+     i.e., a problem parameter to be considered arbitrarily big.
+
+  Note that all problem variables and problem parameters are assumed
+  to take non-negative integer values, so that there is no need
+  to specify non-negativity constraints.
 
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Grid_Generator_System */
-void swap(Parma_Polyhedra_Library::Grid_Generator_System& x,
-	  Parma_Polyhedra_Library::Grid_Generator_System& y);
+  The class provides support for the (incremental) solution of the
+  PIP problem based on variations of the revised simplex method and
+  on Gomory cut generation techniques.
+
+  The solution for a PIP problem is the lexicographic minimum of the
+  integer points of the feasible region, expressed in terms of the
+  parameters. As the problem to be solved only involves non-negative
+  variables and parameters, the problem will always be either unfeasible
+  or optimizable.
+
+  As the feasibility and the solution value of a PIP problem depend on the
+  values of the parameters, the solution is a binary decision tree,
+  dividing the context parameter set into subsets.
+  The tree nodes are of two kinds:
+   - \e Decision nodes.
+     These are internal tree nodes encoding one or more linear tests
+     on the parameters; if all the tests are satisfied, then the solution
+     is the node's \e true child; otherwise, the solution is the node's
+     \e false child;
+   - \e Solution nodes.
+     These are leaf nodes in the tree, encoding the solution of the problem
+     in the current context subset, where each variable is defined in terms
+     of a linear expression of the parameters.
+     Solution nodes also optionally embed a set of parameter constraints:
+     if all these constraints are satisfied, the solution is described by
+     the node, otherwise the problem has no solution.
+
+  It may happen that a decision node has no \e false child. This means
+  that there is no solution if at least one of the corresponding
+  constraints is not satisfied. Decision nodes having two or more linear
+  tests on the parameters cannot have a \e false child. Decision nodes
+  always have a \e true child.
+
+  Both kinds of tree nodes may also contain the definition of extra
+  parameters which are artificially introduced by the solver to enforce
+  an integral solution. Such artificial parameters are defined by
+  the integer division of a linear expression on the parameters
+  by an integer coefficient.
 
-} // namespace std
+  By exploiting the incremental nature of the solver, it is possible
+  to reuse part of the computational work already done when solving
+  variants of a given PIP_Problem: currently, incremental resolution
+  supports the addition of space dimensions, the addition of parameters
+  and the addition of constraints.
 
+  \par Example problem
+  An example PIP problem can be defined the following:
+  \code
+  3*j >= -2*i+8
+  j <= 4*i - 4
+  i <= n
+  j <= m
+  \endcode
+  where \c i and \c j are the problem variables
+  and \c n and \c m are the problem parameters.
+  This problem can be optimized; the resulting solution tree may be
+  represented as follows:
+  \verbatim
+  if 7*n >= 10 then
+    if 7*m >= 12 then
+      {i = 2 ; j = 2}
+    else
+      Parameter P = (m) div 2
+      if 2*n + 3*m >= 8 then
+        {i = -m - P + 4 ; j = m}
+      else
+        _|_
+  else
+    _|_
+  \endverbatim
+  The solution tree starts with a decision node depending on the
+  context constraint <code>7*n >= 10</code>.
+  If this constraint is satisfied by the values assigned to the
+  problem parameters, then the (textually first) \c then branch is taken,
+  reaching the \e true child of the root node (which in this case
+  is another decision node); otherwise, the (textually last) \c else
+  branch is taken, for which there is no corresponding \e false child.
+  \par
+  The \f$\perp\f$ notation, also called \e bottom, denotes the
+  lexicographic minimum of an empty set of solutions,
+  here meaning the corresponding subproblem is unfeasible.
+  \par
+  Notice that a tree node may introduce new (non-problem) parameters,
+  as is the case for parameter \c P in the (textually first) \c else
+  branch above. These \e artificial parameters are only meaningful
+  inside the subtree where they are defined and are used to define
+  the parametric values of the problem variables in solution nodes
+  (e.g., the <tt>{i,j}</tt> vector in the textually third \c then branch).
+
+  \par Context restriction
+  The above solution is correct in an unrestricted initial context,
+  meaning all possible values are allowed for the parameters. If we
+  restrict the context with the following parameter inequalities:
+  \code
+  m >= n
+  n >= 5
+  \endcode
+  then the resulting optimizing tree will be a simple solution node:
+  \verbatim
+  {i = 2 ; j = 2}
+  \endverbatim
+
+  \par Creating the PIP_Problem object
+  The PIP_Problem object corresponding to the above example can be
+  created as follows:
+  \code
+  Variable i(0);
+  Variable j(1);
+  Variable n(2);
+  Variable m(3);
+  Variables_Set params(n, m);
+  Constraint_System cs;
+  cs.insert(3*j >= -2*i+8);
+  cs.insert(j <= 4*i - 4);
+  cs.insert(j <= m);
+  cs.insert(i <= n);
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+  \endcode
+  If you want to restrict the initial context, simply add the parameter
+  constraints the same way as for normal constraints.
+  \code
+  cs.insert(m >= n);
+  cs.insert(n >= 5);
+  \endcode
 
-//! A system of grid generators.
-/*! \ingroup PPL_CXX_interface
-    An object of the class Grid_Generator_System is a system of
-    grid generators, i.e., a multiset of objects of the class
-    Grid_Generator (lines, parameters and points).
-    When inserting generators in a system, space dimensions are
-    automatically adjusted so that all the generators in the system
-    are defined on the same vector space.
-    A system of grid generators which is meant to define a non-empty
-    grid must include at least one point: the reason is that
-    lines and parameters need a supporting point
-    (lines only specify directions while parameters only
-    specify direction and distance.
+  \par Solving the problem
+  Once the PIP_Problem object has been created, you can start the
+  resolution of the problem by calling the solve() method:
+  \code
+  PIP_Problem_Status status = pip.solve();
+  \endcode
+  where the returned \c status indicates if the problem has been optimized
+  or if it is unfeasible for any possible configuration of the parameter
+  values. The resolution process is also started if an attempt is made
+  to get its solution, as follows:
+  \code
+  const PIP_Tree_Node* node = pip.solution();
+  \endcode
+  In this case, an unfeasible problem will result in an empty solution
+  tree, i.e., assigning a null pointer to \c node.
 
-    \par
-     In all the examples it is assumed that variables
-    <CODE>x</CODE> and <CODE>y</CODE> are defined as follows:
-    \code
+  \par Printing the solution tree
+  A previously computed solution tree may be printed as follows:
+  \code
+  pip.print_solution(std::cout);
+  \endcode
+  This will produce the following output (note: variables and parameters
+  are printed according to the default output function; see
+  <code>Variable::set_output_function</code>):
+  \verbatim
+  if 7*C >= 10 then
+    if 7*D >= 12 then
+      {2 ; 2}
+    else
+      Parameter E = (D) div 2
+      if 2*C + 3*D >= 8 then
+        {-D - E + 4 ; D}
+      else
+        _|_
+  else
+    _|_
+  \endverbatim
+
+  \par Spanning the solution tree
+  A parameter assignment for a PIP problem binds each of the problem
+  parameters to a non-negative integer value. After fixing a parameter
+  assignment, the ``spanning'' of the PIP problem solution tree refers
+  to the process whereby the solution tree is navigated, starting from
+  the root node: the value of artificial parameters is computed according
+  to the parameter assignment and the node's contraints are evaluated,
+  thereby descending in either the true or the false subtree of decision
+  nodes and eventually reaching a solution node or a bottom node.
+  If a solution node is found, each of the problem variables is provided
+  with a parametric expression, which can be evaluated to a fixed value
+  using the given parameter assignment and the computed values for
+  artificial parameters.
+  \par
+  The coding of the spanning process can be done as follows.
+  First, the root of the PIP solution tree is retrieved:
+  \code
+  const PIP_Tree_Node* node = pip.solution();
+  \endcode
+  If \c node represents an unfeasible solution (i.e., \f$\perp\f$),
+  its value will be \c 0. For a non-null tree node, the virtual methods
+  \c PIP_Tree_Node::as_decision() and \c PIP_Tree_Node::as_solution()
+  can be used to check whether the node is a decision or a solution node:
+  \code
+  const PIP_Solution_Node* sol = node->as_solution();
+  if (sol != 0) {
+    // The node is a solution node
+    ...
+  }
+  else {
+    // The node is a decision node
+    const PIP_Decision_Node* dec = node->as_decision();
+    ...
+  }
+  \endcode
+  \par
+  The true (resp., false) child node of a Decision Node may be accessed by
+  using method \c PIP_Decision_Node::child_node(bool), passing \c true
+  (resp., \c false) as the input argument.
+
+  \par Artificial parameters
+  A PIP_Tree_Node::Artificial_Parameter object represents the result
+  of the integer division of a Linear_Expression (on the other
+  parameters, including the previously-defined artificials)
+  by an integer denominator (a Coefficient object).
+  The dimensions of the artificial parameters (if any) in a tree node
+  have consecutive indices starting from <code>dim+1</code>, where the value
+  of \c dim is computed as follows:
+   - for the tree root node, \c dim is the space dimension of the PIP_Problem;
+   - for any other node of the tree, it is recusrively obtained by adding
+     the value of \c dim computed for the parent node to the number of
+     artificial parameters defined in the parent node.
+  \par
+  Since the numbering of dimensions for artificial parameters follows
+  the rule above, the addition of new problem variables and/or new problem
+  parameters to an already solved PIP_Problem object (as done when
+  incrementally solving a problem) will result in the systematic
+  renumbering of all the existing artificial parameters.
+
+  \par Node constraints
+  All kind of tree nodes can contain context constraints.
+  Decision nodes always contain at least one of them.
+  The node's local constraint system can be obtained using method
+  PIP_Tree_Node::constraints.
+  These constraints only involve parameters, including both the problem
+  parameters and the artificial parameters that have been defined
+  in nodes occurring on the path from the root node to the current node.
+  The meaning of these constraints is as follows:
+   - On a decision node, if all tests in the constraints are true, then the
+     solution is the \e true child; otherwise it is the \e false child.
+   - On a solution node, if the (possibly empty) system of constraints
+     evaluates to true for a given parameter assignment, then the solution
+     is described by the node; otherwise the solution is \f$\perp\f$
+     (i.e., the problem is unfeasible for that parameter assignment).
+
+  \par Getting the optimal values for the variables
+  After spanning the solution tree using the given parameter assignment,
+  if a solution node has been reached, then it is possible to retrieve
+  the parametric expression for each of the problem variables using
+  method PIP_Solution_Node::parametric_values. The retrieved expression
+  will be defined in terms of all the parameters (problem parameters
+  and artificial parameters defined along the path).
+
+  \par Solving maximization problems
+  You can solve a lexicographic maximization problem by reformulating its
+  constraints using variable substitution. Proceed the following steps:
+   - Create a big parameter (see PIP_Problem::set_big_parameter_dimension),
+     which we will call \f$M\f$.
+   - Reformulate each of the maximization problem constraints by
+     substituting each \f$x_i\f$ variable with an expression of the form
+     \f$M-x'_i\f$, where the \f$x'_i\f$ variables are positive variables to
+     be minimized.
+   - Solve the lexicographic minimum for the \f$x'\f$ variable vector.
+   - In the solution expressions, the values of the \f$x'\f$ variables will
+     be expressed in the form: \f$x'_i = M-x_i\f$. To get back the value of
+     the expression of each \f$x_i\f$ variable, just apply the
+     formula: \f$x_i = M-x'_i\f$.
+  \par
+  Note that if the resulting expression of one of the \f$x'_i\f$ variables
+  is not in the \f$x'_i = M-x_i\f$ form, this means that the
+  sign-unrestricted problem is unbounded.
+  \par
+  You can choose to maximize only a subset of the variables while minimizing
+  the other variables. In that case, just apply the variable substitution
+  method on the variables you want to be maximized. The variable
+  optimization priority will still be in lexicographic order.
+
+  \par
+  \b Example: consider you want to find the lexicographic maximum of the
+  \f$(x,y)\f$ vector, under the constraints:
+    \f[\left\{\begin{array}{l}
+      y \geq 2x - 4\\
+      y \leq -x + p
+    \end{array}\right.\f]
+  \par
+  where \f$p\f$ is a parameter.
+  \par
+  After variable substitution, the constraints become:
+    \f[\left\{\begin{array}{l}
+      M - y \geq 2M - 2x - 4\\
+      M - y \leq -M + x + p
+    \end{array}\right.\f]
+  \par
+  The code for creating the corresponding problem object is the following:
+  \code
   Variable x(0);
   Variable y(1);
-    \endcode
-
-    \par Example 1
-    The following code defines the line having the same direction
-    as the \f$x\f$ axis (i.e., the first Cartesian axis)
-    in \f$\Rset^2\f$:
-    \code
-  Grid_Generator_System gs;
-  gs.insert(grid_line(x + 0*y));
-    \endcode
-    As said above, this system of generators corresponds to
-    an empty grid, because the line has no supporting point.
-    To define a system of generators that does correspond to
-    the \f$x\f$ axis, we can add the following code which
-    inserts the origin of the space as a point:
-    \code
-  gs.insert(grid_point(0*x + 0*y));
-    \endcode
-    Since space dimensions are automatically adjusted, the following
-    code obtains the same effect:
-    \code
-  gs.insert(grid_point(0*x));
-    \endcode
-    In contrast, if we had added the following code, we would have
-    defined a line parallel to the \f$x\f$ axis through
-    the point \f$(0, 1)^\transpose \in \Rset^2\f$.
-    \code
-  gs.insert(grid_point(0*x + 1*y));
-    \endcode
-
-    \par Example 2
-    The following code builds a system of generators corresponding
-    to the grid consisting of all the integral points on the \f$x\f$ axes;
-    that is, all points satisfying the congruence relation
-    \f[
-      \bigl\{\,
-        (x, 0)^\transpose \in \Rset^2
-      \bigm|
-        x \pmod{1}\ 0
-      \,\bigr\},
-    \f]
-    \code
-  Grid_Generator_System gs;
-  gs.insert(parameter(x + 0*y));
-  gs.insert(grid_point(0*x + 0*y));
-    \endcode
+  Variable p(2);
+  Variable M(3);
+  Variables_Set params(p, M);
+  Constraint_System cs;
+  cs.insert(M - y >= 2*M - 2*x - 4);
+  cs.insert(M - y <= -M + x + p);
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+  pip.set_big_parameter_dimension(3);     // M is the big parameter
+  \endcode
+  Solving the problem provides the following solution:
+  \verbatim
+  Parameter E = (C + 1) div 3
+  {D - E - 1 ; -C + D + E + 1}
+  \endverbatim
+  Under the notations above, the solution is:
+  \f[ \left\{\begin{array}{l}
+    x'=M-\left\lfloor\frac{p+1}{3}\right\rfloor-1\\
+    y'=M-p+\left\lfloor\frac{p+1}{3}\right\rfloor+1
+  \end{array}\right.
+  \f]
+  \par
+  Performing substitution again provides us with the values of the original
+  variables:
+  \f[ \left\{\begin{array}{l}
+    x=\left\lfloor\frac{p+1}{3}\right\rfloor+1\\
+    y=p-\left\lfloor\frac{p+1}{3}\right\rfloor-1
+  \end{array}\right.
+  \f]
 
-    \par Example 3
-    The following code builds a system of generators having three points
-    corresponding to a non-relational grid consisting of all points
-    whose coordinates are integer multiple of 3.
-    \code
-  Grid_Generator_System gs;
-  gs.insert(grid_point(0*x + 0*y));
-  gs.insert(grid_point(0*x + 3*y));
-  gs.insert(grid_point(3*x + 0*y));
-    \endcode
+  \par Allowing variables to be arbitrarily signed
+  You can deal with arbitrarily signed variables by reformulating the
+  constraints using variable substitution. Proceed the following steps:
+   - Create a big parameter (see PIP_Problem::set_big_parameter_dimension),
+     which we will call \f$M\f$.
+   - Reformulate each of the maximization problem constraints by
+     substituting each \f$x_i\f$ variable with an expression of the form
+     \f$x'_i-M\f$, where the \f$x'_i\f$ variables are positive.
+   - Solve the lexicographic minimum for the \f$x'\f$ variable vector.
+   - The solution expression can be read in the form:
+   - In the solution expressions, the values of the \f$x'\f$ variables will
+     be expressed in the form: \f$x'_i = x_i+M\f$. To get back the value of
+     the expression of each signed \f$x_i\f$ variable, just apply the
+     formula: \f$x_i = x'_i-M\f$.
+  \par
+  Note that if the resulting expression of one of the \f$x'_i\f$ variables
+  is not in the \f$x'_i = x_i+M\f$ form, this means that the
+  sign-unrestricted problem is unbounded.
+  \par
+  You can choose to define only a subset of the variables to be
+  sign-unrestricted. In that case, just apply the variable substitution
+  method on the variables you want to be sign-unrestricted.
 
-    \par Example 4
-    By using parameters instead of two of the points we
-    can define the same grid as that defined in the previous example.
-    Note that there has to be at least one point and, for this purpose,
-    any point in the grid could be considered.
-    Thus the following code builds two identical grids from the
-    grid generator systems \p gs and \p gs1.
-    \code
-  Grid_Generator_System gs;
-  gs.insert(grid_point(0*x + 0*y));
-  gs.insert(parameter(0*x + 3*y));
-  gs.insert(parameter(3*x + 0*y));
-  Grid_Generator_System gs1;
-  gs1.insert(grid_point(3*x + 3*y));
-  gs1.insert(parameter(0*x + 3*y));
-  gs1.insert(parameter(3*x + 0*y));
-    \endcode
+  \par
+  \b Example: consider you want to find the lexicographic minimum of the
+  \f$(x,y)\f$ vector, where the \f$x\f$ and \f$y\f$ variables are
+  sign-unrestricted, under the constraints:
+    \f[\left\{\begin{array}{l}
+      y \geq -2x - 4\\
+      2y \leq x + 2p
+    \end{array}\right.\f]
+  \par
+  where \f$p\f$ is a parameter.
+  \par
+  After variable substitution, the constraints become:
+    \f[\left\{\begin{array}{l}
+      y' - M \geq -2x' + 2M - 4\\
+      2y' - 2M \leq x' - M + 2p
+    \end{array}\right.\f]
+  \par
+  The code for creating the corresponding problem object is the following:
+  \code
+  Variable x(0);
+  Variable y(1);
+  Variable p(2);
+  Variable M(3);
+  Variables_Set params(p, M);
+  Constraint_System cs;
+  cs.insert(y - M >= -2*x + 2*M - 4);
+  cs.insert(2*y - 2*M <= x - M + 2*p);
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+  pip.set_big_parameter_dimension(3);     // M is the big parameter
+  \endcode
+  \par
+  Solving the problem provides the following solution:
+  \verbatim
+  Parameter E = (2*C + 3) div 5
+  {D - E - 1 ; D + 2*E - 2}
+  \endverbatim
+  Under the notations above, the solution is:
+  \f[ \left\{\begin{array}{l}
+    x'=M-\left\lfloor\frac{2p+3}{5}\right\rfloor-1\\
+    y'=M+2\left\lfloor\frac{2p+3}{5}\right\rfloor-2
+  \end{array}\right.
+  \f]
+  \par
+  Performing substitution again provides us with the values of the original
+  variables:
+  \f[ \left\{\begin{array}{l}
+    x=-\left\lfloor\frac{2p+3}{5}\right\rfloor-1\\
+    y=2\left\lfloor\frac{2p+3}{5}\right\rfloor-2
+  \end{array}\right.
+  \f]
 
-    \par Example 5
-    The following code builds a system of generators having one point and
-    a parameter corresponding to all the integral points that
-    lie on \f$x + y = 2\f$ in \f$\Rset^2\f$
-    \code
-  Grid_Generator_System gs;
-  gs.insert(grid_point(1*x + 1*y));
-  gs.insert(parameter(1*x - 1*y));
-    \endcode
+  \par Allowing parameters to be arbitrarily signed
+  You can consider a parameter \f$p\f$ arbitrarily signed by replacing
+  \f$p\f$ with \f$p^+-p^-\f$, where both \f$p^+\f$ and \f$p^-\f$ are
+  positive parameters. To represent a set of arbitrarily signed parameters,
+  replace each parameter \f$p_i\f$ with \f$p^+_i-p^-\f$, where \f$-p^-\f$ is
+  the minimum negative value of all parameters.
 
-    \note
-    After inserting a multiset of generators in a grid generator system,
-    there are no guarantees that an <EM>exact</EM> copy of them
-    can be retrieved:
-    in general, only an <EM>equivalent</EM> grid generator system
-    will be available, where original generators may have been
-    reordered, removed (if they are duplicate or redundant), etc.
+  \par Minimizing a linear cost function
+  Lexicographic solving can be used to find the parametric minimum of a
+  linear cost function.
+  \par
+  Suppose the variables are named \f$x_1, x_2, \dots, x_n\f$, and the
+  parameters \f$p_1, p_2, \dots, p_m\f$. You can minimize a linear cost
+  function \f$f(x_2, \dots, x_n, p_1, \dots, p_m)\f$ by simply adding the
+  constraint \f$x_1 \geq f(x_2, \dots, x_n, p_1, \dots, p_m)\f$ to the
+  constraint system. As lexicographic minimization ensures \f$x_1\f$ is
+  minimized in priority, and because \f$x_1\f$ is forced by a constraint to
+  be superior or equal to the cost function, optimal solutions of the
+  problem necessarily ensure that the solution value of \f$x_1\f$ is the
+  optimal value of the cost function.
 */
-class Parma_Polyhedra_Library::Grid_Generator_System
-  : private Generator_System {
+class Parma_Polyhedra_Library::PIP_Problem {
 public:
-  //! Default constructor: builds an empty system of generators.
-  Grid_Generator_System();
+  //! Builds a trivial PIP problem.
+  /*!
+    A trivial PIP problem requires to compute the lexicographic minimum
+    on a vector space under no constraints and with no parameters:
+    due to the implicit non-negativity constraints, the origin of the
+    vector space is an optimal solution.
 
-  //! Builds the singleton system containing only generator \p g.
-  explicit Grid_Generator_System(const Grid_Generator& g);
+    \param dim
+    The dimension of the vector space enclosing \p *this
+    (optional argument with default value \f$0\f$).
 
-  //! Builds an empty system of generators of dimension \p dim.
-  explicit Grid_Generator_System(dimension_type dim);
+    \exception std::length_error
+    Thrown if \p dim exceeds <CODE>max_space_dimension()</CODE>.
+  */
+  explicit PIP_Problem(dimension_type dim = 0);
+
+  /*! \brief
+    Builds a PIP problem having space dimension \p dim
+    from the sequence of constraints in the range
+    \f$[\mathrm{first}, \mathrm{last})\f$;
+    those dimensions whose indices occur in \p p_vars are
+    interpreted as parameters.
+
+    \param dim
+    The dimension of the vector space (variables and parameters) enclosing
+    \p *this.
+
+    \param first
+    An input iterator to the start of the sequence of constraints.
+
+    \param last
+    A past-the-end input iterator to the sequence of constraints.
+
+    \param p_vars
+    The set of variables' indexes that are interpreted as parameters.
+
+    \exception std::length_error
+    Thrown if \p dim exceeds <CODE>max_space_dimension()</CODE>.
+
+    \exception std::invalid_argument
+    Thrown if the space dimension of a constraint in the sequence
+    (resp., the parameter variables) is strictly greater than \p dim.
+  */
+  template <typename In>
+  PIP_Problem(dimension_type dim, In first, In last,
+	      const Variables_Set& p_vars);
 
   //! Ordinary copy-constructor.
-  Grid_Generator_System(const Grid_Generator_System& gs);
+  PIP_Problem(const PIP_Problem& y);
 
   //! Destructor.
-  ~Grid_Generator_System();
+  ~PIP_Problem();
 
   //! Assignment operator.
-  Grid_Generator_System& operator=(const Grid_Generator_System& y);
+  PIP_Problem& operator=(const PIP_Problem& y);
 
-  //! Returns the maximum space dimension a Grid_Generator_System can handle.
+  //! Returns the maximum space dimension a PIP_Problem can handle.
   static dimension_type max_space_dimension();
 
-  //! Returns the dimension of the vector space enclosing \p *this.
+  //! Returns the space dimension of the PIP problem.
   dimension_type space_dimension() const;
 
   /*! \brief
-    Removes all the generators from the generator system and sets its
-    space dimension to 0.
+    Returns a set containing all the variables' indexes representing
+    the parameters of the PIP problem.
   */
-  void clear();
+  const Variables_Set& parameter_space_dimensions() const;
+
+private:
+  //! A type alias for a sequence of constraints.
+  typedef std::vector<Constraint> Constraint_Sequence;
 
+public:
   /*! \brief
-    Inserts into \p *this a copy of the generator \p g, increasing the
-    number of space dimensions if needed.
+    A type alias for the read-only iterator on the constraints
+    defining the feasible region.
+  */
+  typedef Constraint_Sequence::const_iterator const_iterator;
 
-    If \p g is an all-zero parameter then the only action is to ensure
-    that the space dimension of \p *this is at least the space
-    dimension of \p g.
+  /*! \brief
+    Returns a read-only iterator to the first constraint defining
+    the feasible region.
   */
-  void insert(const Grid_Generator& g);
+  const_iterator constraints_begin() const;
 
   /*! \brief
-    Inserts into \p *this the generator \p g, increasing the number of
-    space dimensions if needed.
+    Returns a past-the-end read-only iterator to the sequence of
+    constraints defining the feasible region.
   */
-  void recycling_insert(Grid_Generator& g);
+  const_iterator constraints_end() const;
+
+  //! Resets \p *this to be equal to the trivial PIP problem.
+  /*!
+    The space dimension is reset to \f$0\f$.
+  */
+  void clear();
 
   /*! \brief
-    Inserts into \p *this the generators in \p gs, increasing the
-    number of space dimensions if needed.
+    Adds <CODE>m_vars + m_params</CODE> new space dimensions
+    and embeds the old PIP problem in the new vector space.
+
+    \param m_vars
+    The number of space dimensions to add that are interpreted as
+    PIP problem variables (i.e., non parameters). These are added
+    \e before adding the \p m_params parameters.
+
+    \param m_params
+    The number of space dimensions to add that are interpreted as
+    PIP problem parameters. These are added \e after having added the
+    \p m_vars problem variables.
+
+    \exception std::length_error
+    Thrown if adding <CODE>m_vars + m_params</CODE> new space
+    dimensions would cause the vector space to exceed dimension
+    <CODE>max_space_dimension()</CODE>.
+
+    The new space dimensions will be those having the highest indexes
+    in the new PIP problem; they are initially unconstrained.
   */
-  void recycling_insert(Grid_Generator_System& gs);
+  void add_space_dimensions_and_embed(dimension_type m_vars,
+                                      dimension_type m_params);
 
-  //! Initializes the class.
-  static void initialize();
+  /*! \brief
+    Sets the space dimensions whose indexes which are in set \p p_vars
+    to be parameter space dimensions.
 
-  //! Finalizes the class.
-  static void finalize();
+    \exception std::invalid_argument
+    Thrown if some index in \p p_vars does not correspond to
+    a space dimension in \p *this.
+  */
+  void add_to_parameter_space_dimensions(const Variables_Set& p_vars);
 
   /*! \brief
-    Returns the singleton system containing only
-    Grid_Generator::zero_dim_point().
+    Adds a copy of constraint \p c to the PIP problem.
+
+    \exception std::invalid_argument
+    Thrown if the space dimension of \p c is strictly greater than
+    the space dimension of \p *this.
   */
-  static const Grid_Generator_System& zero_dim_univ();
+  void add_constraint(const Constraint& c);
 
-  //! An iterator over a system of grid generators
-  /*! \ingroup PPL_CXX_interface
-    A const_iterator is used to provide read-only access
-    to each generator contained in an object of Grid_Generator_System.
+  /*! \brief
+    Adds a copy of the constraints in \p cs to the PIP problem.
 
-    \par Example
-    The following code prints the system of generators
-    of the grid <CODE>gr</CODE>:
-    \code
-  const Grid_Generator_System& gs = gr.generators();
-  for (Grid_Generator_System::const_iterator i = gs.begin(),
-        gs_end = gs.end(); i != gs_end; ++i)
-    cout << *i << endl;
-    \endcode
-    The same effect can be obtained more concisely by using
-    more features of the STL:
-    \code
-  const Generator_System& gs = gr.generators();
-  copy(gs.begin(), gs.end(), ostream_iterator<Grid_Generator>(cout, "\n"));
-    \endcode
+    \exception std::invalid_argument
+    Thrown if the space dimension of constraint system \p cs is strictly
+    greater than the space dimension of \p *this.
   */
-  class const_iterator
-    : public std::iterator<std::forward_iterator_tag,
-			   Grid_Generator,
-			   ptrdiff_t,
-			   const Grid_Generator*,
-			   const Grid_Generator&>,
-      private Generator_System::const_iterator {
-  public:
-    //! Default constructor.
-    const_iterator();
+  void add_constraints(const Constraint_System& cs);
 
-    //! Ordinary copy-constructor.
-    const_iterator(const const_iterator& y);
+  //! Checks satisfiability of \p *this.
+  /*!
+    \return
+    \c true if and only if the PIP problem is satisfiable.
+  */
+  bool is_satisfiable() const;
 
-    //! Destructor.
-    ~const_iterator();
+  //! Optimizes the PIP problem.
+  /*!
+    \return
+    A PIP_Problem_Status flag indicating the outcome of the optimization
+    attempt (unfeasible or optimized problem).
+  */
+  PIP_Problem_Status solve() const;
 
-    //! Assignment operator.
-    const_iterator& operator=(const const_iterator& y);
+  //! Returns a feasible solution for \p *this, if it exists.
+  /*!
+    A null pointer is returned for an unfeasible PIP problem.
+  */
+  PIP_Tree solution() const;
 
-    //! Dereference operator.
-    const Grid_Generator& operator*() const;
+  //! Returns an optimizing solution for \p *this, if it exists.
+  /*!
+    A null pointer is returned for an unfeasible PIP problem.
+  */
+  PIP_Tree optimizing_solution() const;
 
-    //! Indirect member selector.
-    const Grid_Generator* operator->() const;
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 
-    //! Prefix increment operator.
-    const_iterator& operator++();
+  //! Prints on \p s the solution computed for \p *this.
+  /*!
+    \param s
+    The output stream.
 
-    //! Postfix increment operator.
-    const_iterator operator++(int);
+    \param indent
+    An indentation parameter (default value 0).
 
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if \p *this and \p y are
-      identical.
-    */
-    bool operator==(const const_iterator& y) const;
+    \exception std::logic_error
+    Thrown if trying to print the solution when the PIP problem
+    still has to be solved.
+  */
+  void print_solution(std::ostream& s, unsigned indent = 0) const;
 
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if \p *this and \p y are
-      different.
-    */
-    bool operator!=(const const_iterator& y) const;
+  PPL_OUTPUT_DECLARATIONS
 
-  private:
-    friend class Grid_Generator_System;
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
 
-    //! Copy-constructor from Generator_System::const_iterator.
-    const_iterator(const Generator_System::const_iterator& y);
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
+
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
+
+  //! Swaps \p *this with \p y.
+  void swap(PIP_Problem& y);
+
+  //! Possible names for PIP_Problem control parameters.
+  enum Control_Parameter_Name {
+    //! Cutting strategy
+    CUTTING_STRATEGY,
+    //! Pivot row strategy
+    PIVOT_ROW_STRATEGY,
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+    //! Number of different enumeration values.
+#endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+    CONTROL_PARAMETER_NAME_SIZE
   };
 
-  //! Returns <CODE>true</CODE> if and only if \p *this has no generators.
-  bool empty() const;
+  //! Possible values for PIP_Problem control parameters.
+  enum Control_Parameter_Value {
+    //! Choose the first non-integer row
+    CUTTING_STRATEGY_FIRST,
+    //! Choose row which generates the deepest cut
+    CUTTING_STRATEGY_DEEPEST,
+    //! Always generate all possible cuts
+    CUTTING_STRATEGY_ALL,
+
+    //! Choose the first row with negative parameter sign
+    PIVOT_ROW_STRATEGY_FIRST,
+    //! Choose the row which generates the lexico-maximal pivot column
+    PIVOT_ROW_STRATEGY_MAX_COLUMN,
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+    //! Number of different enumeration values.
+#endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+    CONTROL_PARAMETER_VALUE_SIZE
+  };
+
+  //! Returns the value of control parameter \p name.
+  Control_Parameter_Value
+  get_control_parameter(Control_Parameter_Name name) const;
+
+  //! Sets control parameter \p value.
+  void set_control_parameter(Control_Parameter_Value value);
+
+  //! Sets the dimension for the big parameter to \p big_dim.
+  void set_big_parameter_dimension(dimension_type big_dim);
 
   /*! \brief
-    Returns the const_iterator pointing to the first generator, if \p
-    *this is not empty; otherwise, returns the past-the-end
-    const_iterator.
+    Returns the space dimension for the big parameter.
+
+    If a big parameter was not set, returns \c not_a_dimension().
   */
-  const_iterator begin() const;
+  dimension_type get_big_parameter_dimension() const;
 
-  //! Returns the past-the-end const_iterator.
-  const_iterator end() const;
+private:
+  //! Initializes the control parameters with default values.
+  void control_parameters_init();
 
-  //! Returns the number of rows (generators) in the system.
-  dimension_type num_rows() const;
+  //! Copies the control parameters from problem object \p y.
+  void control_parameters_copy(const PIP_Problem& y);
 
-  //! Returns the number of parameters in the system.
-  dimension_type num_parameters() const;
+  //! The dimension of the vector space.
+  dimension_type external_space_dim;
 
-  //! Returns the number of lines in the system.
-  dimension_type num_lines() const;
+  /*! \brief
+    The space dimension of the current (partial) solution of the
+    PIP problem; it may be smaller than \p external_space_dim.
+  */
+  dimension_type internal_space_dim;
+
+  //! An enumerated type describing the internal status of the PIP problem.
+  enum Status {
+    //! The PIP problem is unsatisfiable.
+    UNSATISFIABLE,
+    //! The PIP problem is optimized; the solution tree has been computed.
+    OPTIMIZED,
+    /*! \brief
+      The feasible region of the PIP problem has been changed by adding
+      new variables, parameters or constraints; a feasible solution for
+      the old feasible region is still available.
+    */
+    PARTIALLY_SATISFIABLE
+  };
+
+  //! The internal state of the MIP problem.
+  Status status;
+
+  //! The current solution decision tree
+  PIP_Tree_Node* current_solution;
+
+  //! The sequence of constraints describing the feasible region.
+  Constraint_Sequence input_cs;
+
+  //! The first index of `input_cs' containing a pending constraint.
+  dimension_type first_pending_constraint;
+
+  /*! \brief
+    A set containing all the indices of space dimensions that are
+    interpreted as problem parameters.
+  */
+  Variables_Set parameters;
+
+  /*! \brief
+    The initial context
+
+    Contains problem constraints on parameters only
+  */
+  Matrix initial_context;
+
+  //! The control parameters for the problem object.
+  Control_Parameter_Value
+  control_parameters[CONTROL_PARAMETER_NAME_SIZE];
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this contains one or
-    more points.
+    The dimension for the big parameter, or \c not_a_dimension()
+    if not set.
   */
-  bool has_points() const;
+  dimension_type big_parameter_dimension;
 
-  //! Returns <CODE>true</CODE> if \p *this is identical to \p y.
-  bool is_equal_to(const Grid_Generator_System& y) const;
+  friend class PIP_Solution_Node;
+};
 
-  //! Checks if all the invariants are satisfied.
-  /*!
-    Returns <CODE>true</CODE> if and only if \p *this is a valid
-    Linear_System and each row in the system is a valid Grid_Generator.
-  */
-  bool OK() const;
+namespace std {
 
-  PPL_OUTPUT_DECLARATIONS
+//! Specializes <CODE>std::swap</CODE>.
+/*! \relates Parma_Polyhedra_Library::PIP_Problem */
+void swap(Parma_Polyhedra_Library::PIP_Problem& x,
+	  Parma_Polyhedra_Library::PIP_Problem& y);
 
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+} // namespace std
 
-    Resizes the matrix of generators using the numbers of rows and columns
-    read from \p s, then initializes the coordinates of each generator
-    and its type reading the contents from \p s.
-  */
-  bool ascii_load(std::istream& s);
+/* Automatically generated from PPL source file ../src/PIP_Problem.inlines.hh line 1. */
+/* PIP_Problem class implementation: inline functions.
+*/
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+namespace Parma_Polyhedra_Library {
 
-  //! Swaps \p *this with \p y.
-  void swap(Grid_Generator_System& y);
+inline dimension_type
+PIP_Problem::space_dimension() const {
+  return external_space_dim;
+}
 
-private:
-  /*! \brief
-    Holds (between class initialization and finalization) a pointer to
-    the singleton system containing only Grid_Generator::zero_dim_point().
-  */
-  static const Grid_Generator_System* zero_dim_univ_p;
+inline dimension_type
+PIP_Problem::max_space_dimension() {
+  return Constraint::max_space_dimension();
+}
 
-  friend class Grid;
+inline PIP_Problem::const_iterator
+PIP_Problem::constraints_begin() const {
+  return input_cs.begin();
+}
 
-  friend bool
-  operator==(const Grid_Generator_System& x, const Grid_Generator_System& y);
+inline PIP_Problem::const_iterator
+PIP_Problem::constraints_end() const {
+  return input_cs.end();
+}
 
-  //! Sets the sortedness flag of the system to \p b.
-  void set_sorted(bool b);
+inline const Variables_Set&
+PIP_Problem::parameter_space_dimensions() const {
+  return parameters;
+}
 
-  //! Sets the index to indicate that the system has no pending rows.
-  void unset_pending_rows();
+inline void
+PIP_Problem::swap(PIP_Problem& y) {
+  std::swap(external_space_dim, y.external_space_dim);
+  std::swap(internal_space_dim, y.internal_space_dim);
+  std::swap(status, y.status);
+  std::swap(current_solution, y.current_solution);
+  std::swap(input_cs, y.input_cs);
+  std::swap(first_pending_constraint, y.first_pending_constraint);
+  std::swap(parameters, y.parameters);
+  std::swap(initial_context, y.initial_context);
+  for (dimension_type i = CONTROL_PARAMETER_NAME_SIZE; i-- > 0; )
+    std::swap(control_parameters[i], y.control_parameters[i]);
+  std::swap(big_parameter_dimension, y.big_parameter_dimension);
+}
 
-  //! Sets the index of the first pending row to \p i.
-  void set_index_first_pending_row(dimension_type i);
+inline PIP_Problem&
+PIP_Problem::operator=(const PIP_Problem& y) {
+  PIP_Problem tmp(y);
+  swap(tmp);
+  return *this;
+}
 
-  //! Returns the \p k- th generator of the system.
-  Grid_Generator& operator[](dimension_type k);
+inline PIP_Problem::Control_Parameter_Value
+PIP_Problem::get_control_parameter(Control_Parameter_Name n) const {
+  assert(n >= 0 && n < CONTROL_PARAMETER_NAME_SIZE);
+  return control_parameters[n];
+}
 
-  //! Returns a constant reference to the \p k- th generator of the system.
-  const Grid_Generator& operator[](dimension_type k) const;
+inline dimension_type
+PIP_Problem::get_big_parameter_dimension() const {
+  return big_parameter_dimension;
+}
 
-  //! Assigns to a given variable an affine expression.
-  /*!
-    \param v
-    Index of the column to which the affine transformation is assigned;
+} // namespace Parma_Polyhedra_Library
 
-    \param expr
-    The numerator of the affine transformation:
-    \f$\sum_{i = 0}^{n - 1} a_i x_i + b\f$;
+namespace std {
 
-    \param denominator
-    The denominator of the affine transformation;
+/*! \relates Parma_Polyhedra_Library::PIP_Problem */
+inline void
+swap(Parma_Polyhedra_Library::PIP_Problem& x,
+     Parma_Polyhedra_Library::PIP_Problem& y) {
+  x.swap(y);
+}
 
-    We allow affine transformations (see the Section \ref
-    rational_grid_operations)to have rational
-    coefficients. Since the coefficients of linear expressions are
-    integers we also provide an integer \p denominator that will
-    be used as denominator of the affine transformation.  The
-    denominator is required to be a positive integer and its
-    default value is 1.
+} // namespace std
 
-    The affine transformation assigns to each element of \p v -th
-    column the follow expression:
-    \f[
-      \frac{\sum_{i = 0}^{n - 1} a_i x_i + b}
-           {\mathrm{denominator}}.
-    \f]
+/* Automatically generated from PPL source file ../src/PIP_Problem.templates.hh line 1. */
+/* PIP_Problem class implementation: non-inline template functions.
+*/
 
-    \p expr is a constant parameter and unaltered by this computation.
-  */
-  void affine_image(dimension_type v,
-		    const Linear_Expression& expr,
-		    Coefficient_traits::const_reference denominator);
 
-  /*! \brief
-    Adds \p dims rows and \p dims columns of zeroes to the matrix,
-    initializing the added rows as in the universe system.
+/* Automatically generated from PPL source file ../src/PIP_Problem.templates.hh line 27. */
 
-    \param dims
-    The number of rows and columns to be added: must be strictly
-    positive.
+namespace Parma_Polyhedra_Library {
 
-    Turns the \f$r \times c\f$ matrix \f$A\f$ into the \f$(r+dims)
-    \times (c+dims)\f$ matrix
-    \f$\bigl(\genfrac{}{}{0pt}{}{A}{0} \genfrac{}{}{0pt}{}{0}{B}\bigr)\f$
-    where \f$B\f$ is the \f$dims \times dims\f$ unit matrix of the form
-    \f$\bigl(\genfrac{}{}{0pt}{}{1}{0} \genfrac{}{}{0pt}{}{0}{1}\bigr)\f$.
-    The matrix is expanded avoiding reallocation whenever possible.
-  */
-  void add_universe_rows_and_columns(dimension_type dims);
+template <typename In>
+PIP_Problem::PIP_Problem(dimension_type dim,
+			 In first,
+			 In last,
+			 const Variables_Set& p_vars)
+  : external_space_dim(dim),
+    internal_space_dim(0),
+    status(PARTIALLY_SATISFIABLE),
+    current_solution(0),
+    input_cs(),
+    first_pending_constraint(0),
+    parameters(p_vars),
+    initial_context(),
+    big_parameter_dimension(not_a_dimension()) {
+  // Check that integer Variables_Set does not exceed the space dimension
+  // of the problem.
+  if (p_vars.space_dimension() > external_space_dim) {
+    std::ostringstream s;
+    s << "PPL::PIP_Problem::PIP_Problem(dim, first, last, p_vars):\n"
+      << "dim == " << external_space_dim
+      << " and p_vars.space_dimension() == "
+      << p_vars.space_dimension()
+      << " are dimension incompatible.";
+    throw std::invalid_argument(s.str());
+  }
 
-  //! Removes all the specified dimensions from the generator system.
-  /*!
-    The space dimension of the variable with the highest space
-    dimension in \p to_be_removed must be at most the space dimension
-    of \p this.
-  */
-  void remove_space_dimensions(const Variables_Set& to_be_removed);
+  // Check for space dimension overflow.
+  if (dim > max_space_dimension())
+    throw std::length_error("PPL::PIP_Problem::"
+                            "PIP_Problem(dim, first, last, p_vars):\n"
+                            "dim exceeds the maximum allowed "
+                            "space dimension.");
+  // Check the constraints.
+  for (In i = first; i != last; ++i) {
+    if (i->space_dimension() > dim) {
+      std::ostringstream s;
+      s << "PPL::PIP_Problem::"
+        << "PIP_Problem(dim, first, last, p_vars):\n"
+        << "range [first, last) contains a constraint having space "
+        << "dimension == " << i->space_dimension()
+        << " that exceeds this->space_dimension == " << dim << ".";
+      throw std::invalid_argument(s.str());
+    }
+    input_cs.push_back(*i);
+  }
+  control_parameters_init();
+  PPL_ASSERT(OK());
+}
 
-  /*! \brief
-    Removes the higher dimensions of the system so that the resulting
-    system will have dimension \p new_dimension.
+} // namespace Parma_Polyhedra_Library
 
-    The value of \p new_dimension must be at most the space dimension
-    of \p *this.
-  */
-  void remove_higher_space_dimensions(dimension_type new_dimension);
+/* Automatically generated from PPL source file ../src/PIP_Problem.defs.hh line 829. */
 
-  //! Resizes the system without worrying about the old contents.
-  /*!
-    \param new_num_rows
-    The number of rows of the resized system;
+/* Automatically generated from PPL source file ../src/PIP_Tree.defs.hh line 36. */
 
-    \param new_num_columns
-    The number of columns of the resized system.
+namespace Parma_Polyhedra_Library {
 
-    The system is expanded to the specified dimensions avoiding
-    reallocation whenever possible.
-    The contents of the original system is lost.
-  */
-  void resize_no_copy(dimension_type new_num_rows,
-		      dimension_type new_num_columns);
+//! A node of the PIP solution tree.
+/*!
+  This is the base class for the nodes of the binary trees representing
+  the solutions of PIP problems. From this one, two classes are derived:
+    - PIP_Decision_Node, for the internal nodes of the tree;
+    - PIP_Solution_Node, for the leaves of the tree.
+*/
+class PIP_Tree_Node {
+protected:
+  //! Constructor: builds a node owned by \p *owner.
+  explicit PIP_Tree_Node(const PIP_Problem* owner);
 
-  /*! \brief
-    Returns the number of columns of the matrix (i.e., the size of the
-    rows).
-  */
-  dimension_type num_columns() const;
+  //! Copy constructor.
+  PIP_Tree_Node(const PIP_Tree_Node& y);
+
+  //! Returns a pointer to the PIP_Problem owning object.
+  const PIP_Problem* get_owner() const;
+
+  //! Sets the pointer to the PIP_Problem owning object.
+  virtual void set_owner(const PIP_Problem* owner) = 0;
 
   /*! \brief
-    Erases from the matrix all the rows but those having an index less
-    than \p first_to_erase.
+    Returns \c true if and only if all the nodes in the subtree
+    rooted in \p *this is owned by \p *pip.
   */
-  void erase_to_end(dimension_type first_to_erase);
+  virtual bool check_ownership(const PIP_Problem* owner) const = 0;
 
-  //! Permutes the columns of the matrix.
-  /*
-    \param cycles
-    A vector representing the non-trivial cycles of the permutation
-    according to which the columns must be rearranged.
+public:
+  //! Returns a pointer to a dynamically-allocated copy of \p *this.
+  virtual PIP_Tree_Node* clone() const = 0;
 
-    The \p cycles vector contains, one after the other, the
-    non-trivial cycles (i.e., the cycles of length greater than one)
-    of a permutation of non-zero column indexes.  Each cycle is
-    terminated by zero.  For example, assuming the matrix has 6
-    columns, the permutation \f$ \{ 1 \mapsto 3, 2 \mapsto 4,
-    3 \mapsto 6, 4 \mapsto 2, 5 \mapsto 5, 6 \mapsto 1 \}\f$ can be
-    represented by the non-trivial cycles \f$(1 3 6)(2 4)\f$ that, in
-    turn can be represented by a vector of 6 elements containing 1, 3,
-    6, 0, 2, 4, 0.
-  */
-  void permute_columns(const std::vector<dimension_type>& cycles);
-};
+  //! Destructor.
+  virtual ~PIP_Tree_Node();
 
-// Grid_Generator_System.inlines.hh is not included here on purpose.
+  //! Returns \c true if and only if \p *this is well formed.
+  virtual bool OK() const;
 
-/* Automatically generated from PPL source file ../src/Grid_Generator.defs.hh line 31. */
-#include <iosfwd>
+  //! Returns \p this if \p *this is a solution node, 0 otherwise.
+  virtual const PIP_Solution_Node* as_solution() const;
 
-namespace Parma_Polyhedra_Library {
+  //! Returns \p this if \p *this is a decision node, 0 otherwise.
+  virtual const PIP_Decision_Node* as_decision() const;
 
-// Put these in the namespace here to declare them friend later.
+  /*! \brief
+    Returns the system of parameter constraints controlling \p *this.
 
-namespace IO_Operators {
+    The indices in the constraints are the same as the original variables and
+    parameters. Coefficients in indices corresponding to variables always are
+    zero.
+  */
+  const Constraint_System& constraints() const;
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Grid_Generator */
-std::ostream& operator<<(std::ostream& s, const Grid_Generator& g);
+  class Artificial_Parameter;
 
-} // namespace IO_Operators
+  //! A type alias for a sequence of Artificial_Parameter's.
+  typedef std::vector<Artificial_Parameter> Artificial_Parameter_Sequence;
 
-} // namespace Parma_Polyhedra_Library
+  //! Returns a const_iterator to the beginning of local artificial parameters.
+  Artificial_Parameter_Sequence::const_iterator art_parameter_begin() const;
 
-namespace std {
+  //! Returns a const_iterator to the end of local artificial parameters.
+  Artificial_Parameter_Sequence::const_iterator art_parameter_end() const;
 
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Grid_Generator */
-void swap(Parma_Polyhedra_Library::Grid_Generator& x,
-	  Parma_Polyhedra_Library::Grid_Generator& y);
+  //! Returns the number of local artificial parameters.
+  dimension_type art_parameter_count() const;
 
-} // namespace std
+  //! Prints on \p s the tree rooted in \p *this.
+  /*!
+    \param s
+    The output stream.
 
-//! A grid line, parameter or grid point.
-/*! \ingroup PPL_CXX_interface
-  An object of the class Grid_Generator is one of the following:
+    \param indent
+    The amount of indentation.
+  */
+  void print(std::ostream& s, unsigned indent = 0) const;
 
-  - a grid_line \f$\vect{l} = (a_0, \ldots, a_{n-1})^\transpose\f$;
+  //! Dumps to \p s an ASCII representation of \p *this.
+  void ascii_dump(std::ostream& s) const;
 
-  - a parameter
-    \f$\vect{q} = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$;
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
 
-  - a grid_point
-    \f$\vect{p} = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$;
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  virtual memory_size_type total_memory_in_bytes() const = 0;
+  //! Returns the size in bytes of the memory managed by \p *this.
+  virtual memory_size_type external_memory_in_bytes() const = 0;
 
-  where \f$n\f$ is the dimension of the space
-  and, for grid_points and parameters, \f$d > 0\f$ is the divisor.
+protected:
+  //! A type alias for a sequence of constraints.
+  typedef std::vector<Constraint> Constraint_Sequence;
 
-  \par How to build a grid generator.
-  Each type of generator is built by applying the corresponding
-  function (<CODE>grid_line</CODE>, <CODE>parameter</CODE>
-  or <CODE>grid_point</CODE>) to a linear expression;
-  the space dimension of the generator is defined as the space dimension
-  of the corresponding linear expression.
-  Linear expressions used to define a generator should be homogeneous
-  (any constant term will be simply ignored).
-  When defining grid points and parameters, an optional Coefficient argument
-  can be used as a common <EM>divisor</EM> for all the coefficients
-  occurring in the provided linear expression;
-  the default value for this argument is 1.
+  // Only PIP_Problem and PIP_Decision_Node are allowed to use the
+  // constructor and methods.
+  friend class PIP_Problem;
+  friend class PIP_Decision_Node;
+  friend class PIP_Solution_Node;
 
-  \par
-  In all the following examples it is assumed that variables
-  <CODE>x</CODE>, <CODE>y</CODE> and <CODE>z</CODE>
-  are defined as follows:
-  \code
-  Variable x(0);
-  Variable y(1);
-  Variable z(2);
-  \endcode
+  //! A pointer to the PIP_Problem object owning this node.
+  const PIP_Problem* owner_;
 
-  \par Example 1
-  The following code builds a grid line with direction \f$x-y-z\f$
-  and having space dimension \f$3\f$:
-  \code
-  Grid_Generator l = grid_line(x - y - z);
-  \endcode
-  By definition, the origin of the space is not a line, so that
-  the following code throws an exception:
-  \code
-  Grid_Generator l = grid_line(0*x);
-  \endcode
+  //! A pointer to the parent of \p *this, null if \p *this is the root.
+  const PIP_Decision_Node* parent_;
 
-  \par Example 2
-  The following code builds the parameter as the vector
-  \f$\vect{p} = (1, -1, -1)^\transpose \in \Rset^3\f$
-  which has the same direction as the line in Example 1:
-  \code
-  Grid_Generator q = parameter(x - y - z);
-  \endcode
-  Note that, unlike lines, for parameters, the length as well
-  as the direction of the vector represented by the code is significant.
-  Thus \p q is \e not the same as the parameter \p q1 defined by
-  \code
-  Grid_Generator q1 = parameter(2x - 2y - 2z);
-  \endcode
-  By definition, the origin of the space is not a parameter, so that
-  the following code throws an exception:
-  \code
-  Grid_Generator q = parameter(0*x);
-  \endcode
+  //! The local system of parameter constraints.
+  Constraint_System constraints_;
 
-  \par Example 3
-  The following code builds the grid point
-  \f$\vect{p} = (1, 0, 2)^\transpose \in \Rset^3\f$:
-  \code
-  Grid_Generator p = grid_point(1*x + 0*y + 2*z);
-  \endcode
-  The same effect can be obtained by using the following code:
-  \code
-  Grid_Generator p = grid_point(x + 2*z);
-  \endcode
-  Similarly, the origin \f$\vect{0} \in \Rset^3\f$ can be defined
-  using either one of the following lines of code:
-  \code
-  Grid_Generator origin3 = grid_point(0*x + 0*y + 0*z);
-  Grid_Generator origin3_alt = grid_point(0*z);
-  \endcode
-  Note however that the following code would have defined
-  a different point, namely \f$\vect{0} \in \Rset^2\f$:
-  \code
-  Grid_Generator origin2 = grid_point(0*y);
-  \endcode
-  The following two lines of code both define the only grid point
-  having space dimension zero, namely \f$\vect{0} \in \Rset^0\f$.
-  In the second case we exploit the fact that the first argument
-  of the function <CODE>point</CODE> is optional.
-  \code
-  Grid_Generator origin0 = Generator::zero_dim_point();
-  Grid_Generator origin0_alt = grid_point();
-  \endcode
+  //! The local sequence of expressions for local artificial parameters.
+  Artificial_Parameter_Sequence artificial_parameters;
 
-  \par Example 4
-  The grid point \f$\vect{p}\f$ specified in Example 3 above
-  can also be obtained with the following code,
-  where we provide a non-default value for the second argument
-  of the function <CODE>grid_point</CODE> (the divisor):
-  \code
-  Grid_Generator p = grid_point(2*x + 0*y + 4*z, 2);
-  \endcode
-  Obviously, the divisor can be used to specify
-  points having some non-integer (but rational) coordinates.
-  For instance, the grid point
-  \f$\vect{p1} = (-1.5, 3.2, 2.1)^\transpose \in \Rset^3\f$
-  can be specified by the following code:
-  \code
-  Grid_Generator p1 = grid_point(-15*x + 32*y + 21*z, 10);
-  \endcode
-  If a zero divisor is provided, an exception is thrown.
+  //! Returns a pointer to this node's parent.
+  const PIP_Decision_Node* parent() const;
 
-  \par Example 5
-  Parameters, like grid points can have a divisor.
-  For instance, the parameter
-  \f$\vect{q} = (1, 0, 2)^\transpose \in \Rset^3\f$ can be defined:
-  \code
-  Grid_Generator q = parameter(2*x + 0*y + 4*z, 2);
-  \endcode
-  Also, the divisor can be used to specify
-  parameters having some non-integer (but rational) coordinates.
-  For instance, the parameter
-  \f$\vect{q} = (-1.5, 3.2, 2.1)^\transpose \in \Rset^3\f$
-  can be defined:
-  \code
-  Grid_Generator q = parameter(-15*x + 32*y + 21*z, 10);
-  \endcode
-  If a zero divisor is provided, an exception is thrown.
+  //! Set this node's parent to \p *p.
+  void set_parent(const PIP_Decision_Node* p);
 
-  \par How to inspect a grid generator
-  Several methods are provided to examine a grid generator and extract
-  all the encoded information: its space dimension, its type and
-  the value of its integer coefficients and the value of the denominator.
+  /*! \brief
+    Populates the parametric simplex tableau using external data.
 
-  \par Example 6
-  The following code shows how it is possible to access each single
-  coefficient of a grid generator.
-  If <CODE>g1</CODE> is a grid point having coordinates
-  \f$(a_0, \ldots, a_{n-1})^\transpose\f$,
-  we construct the parameter <CODE>g2</CODE> having coordinates
-  \f$(a_0, 2 a_1, \ldots, (i+1)a_i, \ldots, n a_{n-1})^\transpose\f$.
-  \code
-  if (g1.is_point()) {
-    cout << "Grid point g1: " << g1 << endl;
-    Linear_Expression e;
-    for (dimension_type i = g1.space_dimension(); i-- > 0; )
-      e += (i + 1) * g1.coefficient(Variable(i)) * Variable(i);
-    Grid_Generator g2 = parameter(e, g1.divisor());
-    cout << "Parameter g2: " << g2 << endl;
-  }
-  else
-    cout << "Grid Generator g1 is not a grid point." << endl;
-  \endcode
-  Therefore, for the grid point
-  \code
-  Grid_Generator g1 = grid_point(2*x - y + 3*z, 2);
-  \endcode
-  we would obtain the following output:
-  \code
-  Grid point g1: p((2*A - B + 3*C)/2)
-  Parameter g2: parameter((2*A - 2*B + 9*C)/2)
-  \endcode
-  When working with grid points and parameters, be careful not to confuse
-  the notion of <EM>coefficient</EM> with the notion of <EM>coordinate</EM>:
-  these are equivalent only when the divisor is 1.
-*/
-class Parma_Polyhedra_Library::Grid_Generator : private Generator {
-public:
-  //! Returns the line of direction \p e.
-  /*!
-    \exception std::invalid_argument
-    Thrown if the homogeneous part of \p e represents the origin of
-    the vector space.
-  */
-  static Grid_Generator grid_line(const Linear_Expression& e);
+    \param pip
+    The PIP_Problem object containing this node.
 
-  //! Returns the parameter of direction \p e and size \p e/d.
-  /*!
-    Both \p e and \p d are optional arguments, with default values
-    Linear_Expression::zero() and Coefficient_one(), respectively.
+    \param external_space_dim
+    The number of all problem variables and problem parameters
+    (excluding artificial parameters).
 
-    \exception std::invalid_argument
-    Thrown if \p d is zero.
-  */
-  static Grid_Generator parameter(const Linear_Expression& e
-				  = Linear_Expression::zero(),
-				  Coefficient_traits::const_reference d
-				  = Coefficient_one());
+    \param first_pending_constraint
+    The first element in \p input_cs to be added to the tableau,
+    which already contains the previous elements.
 
-  //! Returns the point at \p e / \p d.
-  /*!
-    Both \p e and \p d are optional arguments, with default values
-    Linear_Expression::zero() and Coefficient_one(), respectively.
+    \param input_cs
+    All the constraints of the PIP problem.
 
-    \exception std::invalid_argument
-    Thrown if \p d is zero.
+    \param parameters
+    The set of indices of the problem parameters.
   */
-  static Grid_Generator grid_point(const Linear_Expression& e
-				   = Linear_Expression::zero(),
-				   Coefficient_traits::const_reference d
-				   = Coefficient_one());
+  virtual void update_tableau(const PIP_Problem& pip,
+                              dimension_type external_space_dim,
+                              dimension_type first_pending_constraint,
+                              const Constraint_Sequence& input_cs,
+                              const Variables_Set& parameters) = 0;
 
-  //! Ordinary copy-constructor.
-  Grid_Generator(const Grid_Generator& g);
+  /*! \brief
+    Executes a parametric simplex on the tableau, under specified context.
 
-  //! Destructor.
-  ~Grid_Generator();
+    \return
+    The root of the PIP tree solution, or 0 if unfeasible.
 
-  //! Assignment operator.
-  Grid_Generator& operator=(const Grid_Generator& g);
+    \param pip
+    The PIP_Problem object containing this node.
 
-  //! Assignment operator.
-  Grid_Generator& operator=(const Generator& g);
+    \param check_feasible_context
+    Whether the resolution process should (re-)check feasibility of
+    context (since the initial context may have been modified).
 
-  //! Returns the maximum space dimension a Grid_Generator can handle.
-  static dimension_type max_space_dimension();
+    \param context
+    The context, being a set of constraints on the parameters.
 
-  //! Returns the dimension of the vector space enclosing \p *this.
-  dimension_type space_dimension() const;
+    \param params
+    The local parameter set, including parent's artificial parameters.
 
-  //! The generator type.
-  enum Type {
-    /*! The generator is a grid line. */
-    LINE,
-    /*! The generator is a parameter. */
-    PARAMETER,
-    /*! The generator is a grid point. */
-    POINT
-  };
+    \param space_dim
+    The space dimension of parent, including artificial parameters.
+  */
+  virtual PIP_Tree_Node* solve(const PIP_Problem& pip,
+                               bool check_feasible_context,
+                               const Matrix& context,
+                               const Variables_Set& params,
+                               dimension_type space_dim) = 0;
 
-  //! Returns the generator type of \p *this.
-  Type type() const;
+  //! Inserts a new parametric constraint in internal Row format
+  void add_constraint(const Row& x, const Variables_Set& parameters);
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is a line.
-  bool is_line() const;
+  //! Merges parent's artificial parameters into \p *this.
+  void parent_merge();
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is a parameter.
-  bool is_parameter() const;
+  //! Prints on \p s the tree rooted in \p *this.
+  /*!
+    \param s
+    The output stream.
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is a line or
-    a parameter.
+    \param indent
+    The amount of indentation.
+
+    \param pip_dim_is_param
+    A vector of Boolean flags telling which PIP problem dimensions are
+    problem parameters. The size of the vector is equal to the PIP
+    problem internal space dimension (i.e., no artificial parameters).
+
+    \param first_art_dim
+    The first space dimension corresponding to an artificial parameter
+    that was created in this node (if any).
   */
-  bool is_line_or_parameter() const;
+  virtual void print_tree(std::ostream& s,
+                          unsigned indent,
+                          const std::vector<bool>& pip_dim_is_param,
+                          dimension_type first_art_dim) const;
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is a point.
-  bool is_point() const;
+  //! A helper function used when printing PIP trees.
+  static void
+  indent_and_print(std::ostream& s, unsigned indent, const char* str);
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this row represents a
-    parameter or a point.
+    Checks whether a context matrix is satisfiable.
+
+    The satisfiability check is implemented by the revised dual simplex
+    algorithm on the context matrix. The algorithm ensures the feasible
+    solution is integer by applying a cut generation method when
+    intermediate non-integer solutions are found.
   */
-  bool is_parameter_or_point() const;
+  static bool compatibility_check(Matrix& s);
 
-  //! Returns the coefficient of \p v in \p *this.
-  /*!
-    \exception std::invalid_argument
-    Thrown if the index of \p v is greater than or equal to the
-    space dimension of \p *this.
+  /*! \brief
+    Helper method: checks for satisfiability of the restricted context
+    obtained by adding \p row to \p context.
   */
-  Coefficient_traits::const_reference coefficient(Variable v) const;
+  static bool compatibility_check(const Matrix& context, const Row& row);
 
-  //! Returns the divisor of \p *this.
+}; // class PIP_Tree_Node
+
+
+/*! \brief
+  Artificial parameters in PIP solution trees.
+
+  These parameters are built from a linear expression combining other
+  parameters (constant term included) divided by a positive integer
+  denominator. Coefficients at variables indices corresponding to
+  PIP problem variables are always zero.
+*/
+class PIP_Tree_Node::Artificial_Parameter
+  : public Linear_Expression {
+public:
+  //! Default constructor: builds a zero artificial parameter.
+  Artificial_Parameter();
+
+  //! Constructor.
   /*!
+    Builds artificial parameter \f$\frac{\mathit{expr}}{\mathit{den}}\f$.
+
+    \param expr
+    The expression that, after normalization, will form the numerator of
+    the artificial parameter.
+
+    \param den
+    The integer constant thatm after normalization, will form the
+    denominator of the artificial parameter.
+
     \exception std::invalid_argument
-    Thrown if \p *this is a line.
+    Thrown if \p den is zero.
+
+    Normalization will ensure that the denominator is positive.
   */
-  Coefficient_traits::const_reference divisor() const;
+  Artificial_Parameter(const Linear_Expression& expr,
+                       Coefficient_traits::const_reference den);
 
-  //! Initializes the class.
-  static void initialize();
+  //! Copy constructor.
+  Artificial_Parameter(const Artificial_Parameter& y);
 
-  //! Finalizes the class.
-  static void finalize();
+  //! Returns the normalized (i.e., positive) denominator.
+  Coefficient_traits::const_reference denominator() const;
+
+  //! Swaps \p *this with \p y.
+  void swap(Artificial_Parameter& y);
+
+  //! Returns \c true if and only if \p *this and \p y are equal.
+  /*!
+    Note that two artificial parameters having different space dimensions
+    are considered to be different.
+  */
+  bool operator==(const Artificial_Parameter& y) const;
+  //! Returns \c true if and only if \p *this and \p y are different.
+  bool operator!=(const Artificial_Parameter& y) const;
 
-  //! Returns the origin of the zero-dimensional space \f$\Rset^0\f$.
-  static const Grid_Generator& zero_dim_point();
+  PPL_OUTPUT_DECLARATIONS
 
   /*! \brief
-    Returns a lower bound to the total size in bytes of the memory
-    occupied by \p *this.
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
   */
-  memory_size_type total_memory_in_bytes() const;
+  bool ascii_load(std::istream& s);
 
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
   //! Returns the size in bytes of the memory managed by \p *this.
   memory_size_type external_memory_in_bytes() const;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this and \p y are
-    equivalent generators.
+  //! Returns \c true if and only if the parameter is well-formed.
+  bool OK() const;
 
-    Generators having different space dimensions are not equivalent.
-  */
-  bool is_equivalent_to(const Grid_Generator& y) const;
+private:
+  //! The normalized (i.e., positive) denominator.
+  Coefficient denom;
+}; // class PIP_Tree_Node::Artificial_Parameter
 
-  //! Returns <CODE>true</CODE> if \p *this is exactly equal to \p y.
-  bool is_equal_to(const Grid_Generator& y) const;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if \p *this is equal to \p gg in
-    dimension \p dim.
-  */
-  bool is_equal_at_dimension(dimension_type dim,
-			     const Grid_Generator& gg) const;
+//! A tree node representing part of the space of solutions.
+class PIP_Solution_Node : public PIP_Tree_Node {
+public:
+  //! Constructor: builds a solution node owned by \p *owner.
+  explicit PIP_Solution_Node(const PIP_Problem* owner);
+
+  //! Returns a pointer to a dynamically-allocated copy of \p *this.
+  virtual PIP_Tree_Node* clone() const;
+
+  //! Destructor.
+  virtual ~PIP_Solution_Node();
+
+  //! Returns \c true if and only if \p *this is well formed.
+  virtual bool OK() const;
+
+  //! Returns \p this.
+  virtual const PIP_Solution_Node* as_solution() const;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if all the homogeneous terms
-    of \p *this are \f$0\f$.
+    Returns a parametric expression for the values of problem variable \p var.
+
+    The returned linear expression may involve problem parameters
+    as well as artificial parameters.
+
+    \param var
+    The problem variable which is queried about.
+
+    \exception std::invalid_argument
+    Thrown if \p var is dimension-incompatible with the PIP_Problem
+    owning this solution node, or if \p var is a problem parameter.
   */
-  bool all_homogeneous_terms_are_zero() const;
+  const Linear_Expression& parametric_values(Variable var) const;
 
-  PPL_OUTPUT_DECLARATIONS
+  //! Dumps to \p s an ASCII representation of \p *this.
+  void ascii_dump(std::ostream& s) const;
 
   /*! \brief
     Loads from \p s an ASCII representation (as produced by
@@ -21935,516 +25645,556 @@ public:
   */
   bool ascii_load(std::istream& s);
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  virtual memory_size_type total_memory_in_bytes() const;
+  //! Returns the size in bytes of the memory managed by \p *this.
+  virtual memory_size_type external_memory_in_bytes() const;
 
-  //! Swaps \p *this with \p y.
-  void swap(Grid_Generator& y);
+private:
+  //! The type for parametric simplex tableau.
+  struct Tableau {
+    //! The matrix of simplex coefficients.
+    Matrix s;
+    //! The matrix of parameter coefficients.
+    Matrix t;
+    //! A common denominator for all matrix elements
+    Coefficient denom;
 
-  /*! \brief
-    Swaps \p *this with \p y, leaving \p *this with the original
-    capacity.
+    //! Default constructor.
+    Tableau();
+    //! Copy constructor.
+    Tableau(const Tableau& y);
+    //! Destructor.
+    ~Tableau();
 
-    All elements up to and including the last element of the smaller
-    of \p *this and \p y are swapped.  The parameter divisor element
-    of \p y is swapped with the divisor element of \p *this.
-  */
-  void coefficient_swap(Grid_Generator& y);
+    //! Tests whether the matrix is integer, i.e., the denominator is 1.
+    bool is_integer() const;
 
-private:
-  /*! \brief
-    Holds (between class initialization and finalization) a pointer to
-    the origin of the zero-dimensional space \f$\Rset^0\f$.
-  */
-  static const Grid_Generator* zero_dim_point_p;
+    //! Multiplies all coefficients and denominator with ratio.
+    void scale(Coefficient_traits::const_reference ratio);
 
-  /*! \brief
-    Scales \p *this to be represented with a divisor of \p d (if
-    \*this is a parameter or point).
+    //! Normalizes the modulo of coefficients so that they are mutually prime.
+    /*!
+      Computes the Greatest Common Divisor (GCD) among the elements of
+      the matrices and normalizes them and the denominator by the GCD itself.
+    */
+    void normalize();
 
-    It is assumed that \p d is a multiple of the current divisor.
+    /*! \brief
+      Compares two pivot row and column pairs before pivoting.
+
+      The algorithm searches the first (ie, leftmost) column \f$k\f$ in
+      parameter matrix for which the \f$c=s_{*j}\frac{t_{ik}}{s_{ij}}\f$
+      and \f$c'=s_{*j'}\frac{t_{i'k}}{s_{i'j'}}\f$ columns are different,
+      where \f$s_{*j}\f$ denotes the \f$j\f$<sup>th</sup> column from the
+      \f$s\f$ matrix and \f$s_{*j'}\f$ is the \f$j'\f$<sup>th</sup> column
+      of \f$s\f$.
+
+      \f$c\f$ is the computed column that would be subtracted to column
+      \f$k\f$ in parameter matrix if pivoting is done using the \f$(i,j)\f$
+      row and column pair.
+      \f$c'\f$ is the computed column that would be subtracted to column
+      \f$k\f$ in parameter matrix if pivoting is done using the
+      \f$(i',j')\f$ row and column pair.
+
+      The test is true if the computed \f$-c\f$ column is lexicographically
+      bigger than the \f$-c'\f$ column. Due to the column ordering in the
+      parameter matrix of the tableau, leftmost search will enforce solution
+      increase with respect to the following priority order:
+       - the constant term
+       - the coefficients for the original parameters
+       - the coefficients for the oldest artificial parameters.
+
+      \return
+      \c true if pivot row and column pair \f$(i,j)\f$ is more
+      suitable for pivoting than the \f$(i',j')\f$ pair
+
+      \param mapping
+      the PIP_Solution_Node::mapping vector for the tableau
+
+      \param basis
+      the PIP_Solution_Node::basis vector for the tableau
+
+      \param i
+      the row number for the first pivot row and column pair to be compared
+
+      \param j
+      the column number for the first pivot row and column pair to be
+      compared
+
+      \param i_
+      the row number for the second pivot row and column pair to be compared
+
+      \param j_
+      the column number for the second pivot row and column pair to be
+      compared
+    */
+    bool is_better_pivot(const std::vector<dimension_type>& mapping,
+                         const std::vector<bool>& basis,
+                         const dimension_type i,
+                         const dimension_type j,
+                         const dimension_type i_,
+                         const dimension_type j_) const;
 
-    \exception std::invalid_argument
-    Thrown if \p d is zero.
-  */
-  void scale_to_divisor(Coefficient_traits::const_reference d);
+    //! Returns the value of the denominator.
+    Coefficient_traits::const_reference denominator() const;
+
+    //! Dumps to \p s an ASCII representation of \p *this.
+    void ascii_dump(std::ostream& s) const;
+
+    /*! \brief
+      Loads from \p s an ASCII representation (as produced by
+      ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+      Returns \c true if successful, \c false otherwise.
+    */
+    bool ascii_load(std::istream& s);
+
+    //! Returns the size in bytes of the memory managed by \p *this.
+    /*!
+      \note
+      No need for a \c total_memory_in_bytes() method, since
+      class Tableau is a private inner class of PIP_Solution_Node.
+    */
+    memory_size_type external_memory_in_bytes() const;
+
+    //! Returns \c true if and only if \p *this is well formed.
+    bool OK() const;
+  }; // struct Tableau
+
+  //! The parametric simplex tableau.
+  Tableau tableau;
 
   /*! \brief
-    Constructs from polyhedron generator \p g, stealing the underlying
-    data structures from \p g.
+    A boolean vector for identifying the basic variables.
 
-    The last column in \p g becomes the parameter divisor column of
-    the new Grid_Generator.
-  */
-  explicit Grid_Generator(Generator g);
+    Variable identifiers are numbered from 0 to <tt>n+m-1</tt>, where \p n
+    is the number of columns in the simplex tableau corresponding to variables,
+    and \p m is the number of rows.
 
-  //! Returns the actual size of \p this.
-  dimension_type size() const;
+    Indices from 0 to <tt>n-1</tt> correspond to the original variables.
 
-  //! Negates the elements from index \p start to index \p end.
-  void negate(dimension_type start, dimension_type end);
+    Indices from \p n to <tt>n+m-1</tt> correspond to the slack variables
+    associated to the internal constraints, which do not strictly correspond
+    to original constraints, since these may have been transformed to fit the
+    standard form of the dual simplex.
 
-  //! Sets the divisor of \p *this to \p d.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p *this is a line.
+    The value for <tt>basis[i]</tt> is:
+     - \b true if variable \p i is basic,
+     - \b false if variable \p i is nonbasic.
   */
-  void set_divisor(Coefficient_traits::const_reference d);
+  std::vector<bool> basis;
 
-  //! Sets the Linear_Row kind to <CODE>LINE_OR_EQUALITY</CODE>.
-  void set_is_line();
+  /*! \brief
+    A mapping between the tableau rows/columns and the original variables.
 
-  //! Sets the Linear_Row kind to <CODE>RAY_OR_POINT_OR_INEQUALITY</CODE>.
-  void set_is_parameter_or_point();
+    The value of <tt>mapping[i]</tt> depends of the value of <tt>basis[i]</tt>.
 
-  //! Converts the Grid_Generator into a parameter.
-  void set_is_parameter();
+     - If <tt>basis[i]</tt> is \b true, <tt>mapping[i]</tt> encodes the column
+       index of variable \p i in the \p s matrix of the tableau.
+     - If <tt>basis[i]</tt> is \b false, <tt>mapping[i]</tt> encodes the row
+       index of variable \p i in the tableau.
+  */
+  std::vector<dimension_type> mapping;
 
   /*! \brief
-    Strong normalization: ensures that different Grid_Generator
-    objects represent different hyperplanes or hyperspaces.
-
-    Applies both Linear_Row::normalize() and Linear_Row::sign_normalize().
+    The variable identifiers associated to the rows of the simplex tableau.
+  */
+  std::vector<dimension_type> var_row;
 
-    This is simply a wrapper around the Generator::strong_normalize,
-    which means applying it to a parameter may change the parameter.
+  /*! \brief
+    The variable identifiers associated to the columns of the simplex tableau.
   */
-  void strong_normalize();
+  std::vector<dimension_type> var_column;
 
-  //! Returns a reference to the element of the row indexed by \p k.
-  Coefficient& operator[](dimension_type k);
+  /*! \brief
+    The variable number of the special inequality used for modelling
+    equality constraints.
 
-  //! Returns a constant reference to the element of the row indexed by \p k.
-  Coefficient_traits::const_reference operator[](dimension_type k) const;
+    The subset of equality constraints in a specific problem can be expressed
+    as: \f$f_i(x,p) = 0 ; 1 \leq i \leq n\f$. As the dual simplex standard form
+    requires constraints to be inequalities, the following constraints can be
+    modelized the following way:
+
+     - \f$f_i(x,p) \geq 0 ; 1 \leq i \leq n\f$
+
+     - \f$\sum\limits_{i=1}^n f_i(x,p) \leq 0\f$
+
+    The \p special_equality_row value stores the variable number of the
+    specific constraint which is used to modelize the latter sum of
+    constraints. If no such constraint exists, the value is set to \p 0.
+  */
+  dimension_type special_equality_row;
 
   /*! \brief
-    Throw a <CODE>std::invalid_argument</CODE> exception containing
-    the appropriate error message.
+    The column index in the parametric part of the simplex tableau
+    corresponding to the big parameter; \c not_a_dimension() if not set.
   */
-  void
-  throw_invalid_argument(const char* method, const char* reason) const;
+  dimension_type big_dimension;
 
-  friend std::ostream&
-  IO_Operators::operator<<(std::ostream& s, const Grid_Generator& g);
-  // FIXME: The following friend declaration is for operator[] and
-  //        divisor() access in Grid::conversion, Grid::simplify,
-  //        Grid::relation_with(c) and Grid::Grid(box, *).
-  friend class Grid;
-  friend class Grid_Generator_System;
-  friend class Grid_Generator_System::const_iterator;
-  friend class Congruence_System;
-  friend class Scalar_Products;
-  friend class Topology_Adjusted_Scalar_Product_Sign;
-  friend class Linear_Expression;
-};
+  //! The possible values for the sign of a parametric linear expression.
+  enum Row_Sign {
+    //! Not computed yet (default).
+    UNKNOWN,
+    //! All row coefficients are zero.
+    ZERO,
+    //! All nonzero row coefficients are positive.
+    POSITIVE,
+    //! All nonzero row coefficients are negative.
+    NEGATIVE,
+    //! The row contains both positive and negative coefficients.
+    MIXED
+  };
 
+  //! A cache for computed sign values of constraint parametric RHS.
+  std::vector<Row_Sign> sign;
 
-namespace Parma_Polyhedra_Library {
+  //! Parametric values for the solution.
+  std::vector<Linear_Expression> solution;
 
-/*! \brief
-  Shorthand for Grid_Generator
-  Grid_Generator::grid_line(const Linear_Expression& e).
-*/
-/*! \relates Grid_Generator */
-Grid_Generator grid_line(const Linear_Expression& e);
+  //! An indicator for solution validity.
+  bool solution_valid;
 
-/*! \brief
-  Shorthand for Grid_Generator
-  Grid_Generator::parameter(const Linear_Expression& e,
-  Coefficient_traits::const_reference d).
-*/
-/*! \relates Grid_Generator */
-Grid_Generator
-parameter(const Linear_Expression& e = Linear_Expression::zero(),
-	  Coefficient_traits::const_reference d = Coefficient_one());
+  //! Returns the sign of row \p x.
+  static Row_Sign row_sign(const Row& x, dimension_type big_dimension);
 
-/*! \brief
-  Shorthand for Grid_Generator
-  Grid_Generator::grid_point(const Linear_Expression& e,
-  Coefficient_traits::const_reference d).
-*/
-/*! \relates Grid_Generator */
-Grid_Generator
-grid_point(const Linear_Expression& e = Linear_Expression::zero(),
-	   Coefficient_traits::const_reference d = Coefficient_one());
+protected:
+  //! Copy constructor.
+  PIP_Solution_Node(const PIP_Solution_Node& y);
 
-//! Returns <CODE>true</CODE> if and only if \p x is equivalent to \p y.
-/*! \relates Grid_Generator */
-bool operator==(const Grid_Generator& x, const Grid_Generator& y);
+  //! A tag type to select the alternative copy constructor.
+  struct No_Constraints {};
 
-//! Returns <CODE>true</CODE> if and only if \p x is not equivalent to \p y.
-/*! \relates Grid_Generator */
-bool operator!=(const Grid_Generator& x, const Grid_Generator& y);
+  //! Alternative copy constructor.
+  /*!
+    This constructor differs from the default copy constructor in that
+    it will not copy the constraint system, nor the artificial parameters.
+  */
+  PIP_Solution_Node(const PIP_Solution_Node& y, No_Constraints);
 
+  // PIP_Problem::ascii load() method needs access set_owner().
+  friend bool PIP_Problem::ascii_load(std::istream& s);
 
-namespace IO_Operators {
+  //! Sets the pointer to the PIP_Problem owning object.
+  virtual void set_owner(const PIP_Problem* owner);
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Grid_Generator */
-std::ostream& operator<<(std::ostream& s, const Grid_Generator::Type& t);
+  /*! \brief
+    Returns \c true if and only if all the nodes in the subtree
+    rooted in \p *this is owned by \p *pip.
+  */
+  virtual bool check_ownership(const PIP_Problem* owner) const;
 
-} // namespace IO_Operators
+  //! Implements pure virtual method PIP_Tree_Node::update_tableau.
+  virtual void update_tableau(const PIP_Problem& pip,
+                              dimension_type external_space_dim,
+                              dimension_type first_pending_constraint,
+                              const Constraint_Sequence& input_cs,
+                              const Variables_Set& parameters);
 
-} // namespace Parma_Polyhedra_Library
+  /*! \brief
+    Update the solution values.
 
-/* Automatically generated from PPL source file ../src/Grid_Generator.inlines.hh line 1. */
-/* Grid Generator class implementation: inline functions.
-*/
+    \param pip_dim_is_param
+    A vector of Boolean flags telling which PIP problem dimensions are
+    problem parameters. The size of the vector is equal to the PIP
+    problem internal space dimension (i.e., no artificial parameters).
+  */
+  void update_solution(const std::vector<bool>& pip_dim_is_param) const;
 
+  //! Helper method.
+  void update_solution() const;
 
-namespace Parma_Polyhedra_Library {
+  //! Implements pure virtual method PIP_Tree_Node::solve.
+  virtual PIP_Tree_Node* solve(const PIP_Problem& pip,
+                               bool check_feasible_context,
+                               const Matrix& context,
+                               const Variables_Set& params,
+                               dimension_type space_dim);
 
-inline
-Grid_Generator::Grid_Generator(const Grid_Generator& g)
-  : Generator(g) {
-}
+  /*! \brief
+    Generate a Gomory cut using non-integer tableau row \p i.
 
-inline
-Grid_Generator::~Grid_Generator() {
-}
+    \param i
+    row index in simplex tableau from which the cut is generated
 
-inline
-Grid_Generator::Grid_Generator(Generator g)
-  : Generator(Generator::point()) {
-  Generator::swap(g);
-}
+    \param parameters
+    a std::set of the current parameter dimensions (including artificials);
+    to be updated if a new artificial parameter is to be created
 
-inline dimension_type
-Grid_Generator::size() const {
-  return Generator::size();
-}
+    \param context
+    a set of linear inequalities on the parameters, in Matrix form; to be
+    updated if a new artificial parameter is to be created
 
-inline dimension_type
-Grid_Generator::max_space_dimension() {
-  return Generator::max_space_dimension() - 1;
-}
+    \param space_dimension
+    the current space dimension, including variables and all parameters; to
+    be updated if an extra parameter is to be created
+  */
+  void generate_cut(dimension_type i,
+                    Variables_Set& parameters,
+                    Matrix& context,
+                    dimension_type& space_dimension);
 
-inline Coefficient&
-Grid_Generator::operator[](dimension_type k) {
-  return Generator::operator[](k);
-}
+  //! Prints on \p s the tree rooted in \p *this.
+  virtual void print_tree(std::ostream& s,
+                          unsigned indent,
+                          const std::vector<bool>& pip_dim_is_param,
+                          dimension_type first_art_dim) const;
 
-inline Coefficient_traits::const_reference
-Grid_Generator::operator[](dimension_type k) const {
-  return Generator::operator[](k);
-}
+}; // class PIP_Solution_Node
 
-inline dimension_type
-Grid_Generator::space_dimension() const {
-  return Generator::space_dimension() - 1;
-}
 
-inline Grid_Generator::Type
-Grid_Generator::type() const {
-  switch (Generator::type()) {
-  case Generator::POINT:
-    return POINT;
-  case Generator::RAY:
-    return PARAMETER;
-  case Generator::LINE:
-    return LINE;
-  case Generator::CLOSURE_POINT:
-  default:
-    assert(false);
-    return POINT;
-  }
-}
+//! A tree node representing a decision in the space of solutions.
+class PIP_Decision_Node : public PIP_Tree_Node {
+public:
+  //! Returns a pointer to a dynamically-allocated copy of \p *this.
+  virtual PIP_Tree_Node* clone() const;
 
-inline bool
-Grid_Generator::is_line() const {
-  return Generator::is_line();
-}
+  //! Destructor.
+  virtual ~PIP_Decision_Node();
 
-inline bool
-Grid_Generator::is_parameter() const {
-  return is_ray();
-}
+  //! Returns \c true if and only if \p *this is well formed.
+  virtual bool OK() const;
 
-inline bool
-Grid_Generator::is_line_or_parameter() const {
-  return is_line_or_ray();
-}
+  //! Returns \p this.
+  virtual const PIP_Decision_Node* as_decision() const;
 
-inline bool
-Grid_Generator::is_point() const {
-  return Generator::is_point();
-}
+  //! Returns a const pointer to the \p b (true or false) branch of \p *this.
+  const PIP_Tree_Node* child_node(bool b) const;
 
-inline bool
-Grid_Generator::is_parameter_or_point() const {
-  return is_ray_or_point_or_inequality();
-}
+  //! Returns a pointer to the \p b (true or false) branch of \p *this.
+  PIP_Tree_Node* child_node(bool b);
 
-inline void
-Grid_Generator::set_divisor(Coefficient_traits::const_reference d) {
-  assert(!is_line());
-  if (is_line_or_parameter())
-    Generator::operator[](size() - 1) = d;
-  else
-    Generator::operator[](0) = d;
-}
+  //! Dumps to \p s an ASCII representation of \p *this.
+  void ascii_dump(std::ostream& s) const;
 
-inline Coefficient_traits::const_reference
-Grid_Generator::divisor() const {
-  if (is_line())
-    throw_invalid_argument("divisor()", "*this is a line");
-  if (is_line_or_parameter())
-    return Generator::operator[](size() - 1);
-  else
-    return Generator::operator[](0);
-}
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
 
-inline bool
-Grid_Generator::is_equal_at_dimension(dimension_type dim,
-				      const Grid_Generator& gg) const {
-  return operator[](dim) * gg.divisor() == gg[dim] * divisor();
-}
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  virtual memory_size_type total_memory_in_bytes() const;
+  //! Returns the size in bytes of the memory managed by \p *this.
+  virtual memory_size_type external_memory_in_bytes() const;
 
-inline void
-Grid_Generator::set_is_line() {
-  Generator::set_is_line();
-}
+private:
+  // PIP_Solution_Node is allowed to use the constructor and methods.
+  friend class PIP_Solution_Node;
 
-inline void
-Grid_Generator::set_is_parameter_or_point() {
-  Generator::set_is_ray_or_point();
-}
+  // PIP_Problem ascii load method needs access to private constructors.
+  friend bool PIP_Problem::ascii_load(std::istream& s);
 
-inline Grid_Generator&
-Grid_Generator::operator=(const Grid_Generator& g) {
-  Generator::operator=(g);
-  return *this;
-}
+  //! Pointer to the "false" child of \p *this.
+  PIP_Tree_Node* false_child;
 
-inline Grid_Generator&
-Grid_Generator::operator=(const Generator& g) {
-  Generator::operator=(g);
-  return *this;
-}
+  //! Pointer to the "true" child of \p *this.
+  PIP_Tree_Node* true_child;
 
-inline void
-Grid_Generator::negate(dimension_type start, dimension_type end) {
-  while (start <= end)
-    neg_assign(operator[](start++));
-}
+  /*! \brief
+    Builds a decision node having \p fcp and \p tcp as child.
 
-inline Coefficient_traits::const_reference
-Grid_Generator::coefficient(const Variable v) const {
-  if (v.space_dimension() > space_dimension())
-    throw_dimension_incompatible("coefficient(v)", "v", v);
-  return Generator::coefficient(v);
-}
+    The decision node will encode the structure
+    "if \c cs then \p tcp else \p fcp",
+    where the system of constraints \c cs is initially empty.
 
-inline memory_size_type
-Grid_Generator::total_memory_in_bytes() const {
-  return Generator::total_memory_in_bytes();
-}
+    \param owner
+    Pointer to the owning PIP_Problem object; it may be null if and
+    only if both children are null.
 
-inline memory_size_type
-Grid_Generator::external_memory_in_bytes() const {
-  return Generator::external_memory_in_bytes();
-}
+    \param fcp
+    Pointer to "false" child; it may be null.
 
-inline const Grid_Generator&
-Grid_Generator::zero_dim_point() {
-  assert(zero_dim_point_p != 0);
-  return *zero_dim_point_p;
-}
+    \param tcp
+    Pointer to "true" child; it may be null.
 
-inline void
-Grid_Generator::strong_normalize() {
-  Generator::strong_normalize();
-}
+    \note
+    If any of \p fcp or \p tcp is not null, then \p owner is required
+    to be not null and equal to the owner of its non-null children;
+    otherwise the behavior is undefined.
+  */
+  explicit PIP_Decision_Node(const PIP_Problem* owner,
+                             PIP_Tree_Node* fcp,
+                             PIP_Tree_Node* tcp);
 
-inline void
-Grid_Generator::swap(Grid_Generator& y) {
-  Generator::swap(y);
-}
+  //! Sets the pointer to the PIP_Problem owning object.
+  virtual void set_owner(const PIP_Problem* owner);
 
-/*! \relates Grid_Generator */
-inline bool
-operator==(const Grid_Generator& x, const Grid_Generator& y) {
-  return x.is_equivalent_to(y);
-}
+  /*! \brief
+    Returns \c true if and only if all the nodes in the subtree
+    rooted in \p *this is owned by \p *pip.
+  */
+  virtual bool check_ownership(const PIP_Problem* owner) const;
 
-/*! \relates Grid_Generator */
-inline bool
-operator!=(const Grid_Generator& x, const Grid_Generator& y) {
-  return !(x == y);
-}
+protected:
+  //! Copy constructor.
+  PIP_Decision_Node(const PIP_Decision_Node& y);
+
+  //! Implements pure virtual method PIP_Tree_Node::update_tableau.
+  virtual void update_tableau(const PIP_Problem& pip,
+                              dimension_type external_space_dim,
+                              dimension_type first_pending_constraint,
+                              const Constraint_Sequence& input_cs,
+                              const Variables_Set& parameters);
+
+  //! Implements pure virtual method PIP_Tree_Node::solve.
+  virtual PIP_Tree_Node* solve(const PIP_Problem& pip,
+                               bool check_feasible_context,
+                               const Matrix& context,
+                               const Variables_Set& params,
+                               dimension_type space_dim);
+
+  //! Prints on \p s the tree rooted in \p *this.
+  virtual void print_tree(std::ostream& s,
+                          unsigned indent,
+                          const std::vector<bool>& pip_dim_is_param,
+                          dimension_type first_art_dim) const;
+
+}; // class PIP_Decision_Node
 
-/*! \relates Grid_Generator */
-inline Grid_Generator
-grid_line(const Linear_Expression& e) {
-  return Grid_Generator::grid_line(e);
-}
+namespace IO_Operators {
 
-/*! \relates Grid_Generator */
-inline Grid_Generator
-parameter(const Linear_Expression& e,
-	  Coefficient_traits::const_reference d) {
-  return Grid_Generator::parameter(e, d);
-}
+//! Output operator: prints the solution tree rooted in \p x.
+/*! \relates Parma_Polyhedra_Library::PIP_Tree_Node */
+std::ostream& operator<<(std::ostream& os, const PIP_Tree_Node& x);
 
-/*! \relates Grid_Generator */
-inline Grid_Generator
-grid_point(const Linear_Expression& e,
-	   Coefficient_traits::const_reference d) {
-  return Grid_Generator::grid_point(e, d);
-}
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::PIP_Tree_Node::Artificial_Parameter */
+std::ostream& operator<<(std::ostream& os,
+                         const PIP_Tree_Node::Artificial_Parameter& x);
+
+} // namespace IO_Operators
 
 } // namespace Parma_Polyhedra_Library
 
-namespace std {
+/* Automatically generated from PPL source file ../src/PIP_Tree.inlines.hh line 1. */
+/* PIP_Tree related class implementation: inline functions.
+*/
 
-/*! \relates Parma_Polyhedra_Library::Grid_Generator */
-inline void
-swap(Parma_Polyhedra_Library::Grid_Generator& x,
-     Parma_Polyhedra_Library::Grid_Generator& y) {
-  x.swap(y);
-}
 
-} // namespace std
+namespace Parma_Polyhedra_Library {
 
-/* Automatically generated from PPL source file ../src/Grid_Generator.defs.hh line 534. */
+inline
+PIP_Solution_Node::Tableau::Tableau()
+  : s(), t(), denom(1) {
+  PPL_ASSERT(OK());
+}
 
-/* Automatically generated from PPL source file ../src/Scalar_Products.inlines.hh line 32. */
+inline
+PIP_Solution_Node::Tableau::Tableau(const Tableau& y)
+  : s(y.s), t(y.t), denom(y.denom) {
+  PPL_ASSERT(OK());
+}
 
-namespace Parma_Polyhedra_Library {
+inline
+PIP_Solution_Node::Tableau::~Tableau() {
+}
 
-inline int
-Scalar_Products::sign(const Linear_Row& x, const Linear_Row& y) {
-  PPL_DIRTY_TEMP_COEFFICIENT(z);
-  assign(z, x, y);
-  return sgn(z);
+inline bool
+PIP_Solution_Node::Tableau::is_integer() const {
+  return denom == 1;
 }
 
-inline int
-Scalar_Products::reduced_sign(const Linear_Row& x, const Linear_Row& y) {
-  PPL_DIRTY_TEMP_COEFFICIENT(z);
-  reduced_assign(z, x, y);
-  return sgn(z);
+inline Coefficient_traits::const_reference
+PIP_Solution_Node::Tableau::denominator() const {
+  return denom;
 }
 
-inline int
-Scalar_Products::homogeneous_sign(const Linear_Row& x, const Linear_Row& y) {
-  PPL_DIRTY_TEMP_COEFFICIENT(z);
-  homogeneous_assign(z, x, y);
-  return sgn(z);
+inline
+PIP_Tree_Node::~PIP_Tree_Node() {
 }
 
-inline int
-Scalar_Products::sign(const Constraint& c, const Generator& g) {
-  return sign(static_cast<const Linear_Row&>(c),
-	      static_cast<const Linear_Row&>(g));
+inline void
+PIP_Tree_Node::set_parent(const PIP_Decision_Node* p) {
+  parent_ = p;
 }
 
-inline int
-Scalar_Products::sign(const Generator& g, const Constraint& c) {
-  return sign(static_cast<const Linear_Row&>(g),
-	      static_cast<const Linear_Row&>(c));
+inline const PIP_Decision_Node*
+PIP_Tree_Node::parent() const {
+  return parent_;
 }
 
-inline int
-Scalar_Products::sign(const Constraint& c, const Grid_Generator& g) {
-  PPL_DIRTY_TEMP_COEFFICIENT(z);
-  assign(z, c, g);
-  return sgn(z);
+inline const PIP_Problem*
+PIP_Tree_Node::get_owner() const {
+  return owner_;
 }
 
-inline int
-Scalar_Products::reduced_sign(const Constraint& c, const Generator& g) {
-  return reduced_sign(static_cast<const Linear_Row&>(c),
-		      static_cast<const Linear_Row&>(g));
+inline const Constraint_System&
+PIP_Tree_Node::constraints() const {
+  return constraints_;
 }
 
-inline int
-Scalar_Products::reduced_sign(const Generator& g, const Constraint& c) {
-  return reduced_sign(static_cast<const Linear_Row&>(g),
-		      static_cast<const Linear_Row&>(c));
+inline PIP_Tree_Node::Artificial_Parameter_Sequence::const_iterator
+PIP_Tree_Node::art_parameter_begin() const {
+  return artificial_parameters.begin();
 }
 
-inline void
-Scalar_Products::homogeneous_assign(Coefficient& z,
-				    const Linear_Expression& e,
-				    const Generator& g) {
-  homogeneous_assign(z,
-		     static_cast<const Linear_Row&>(e),
-		     static_cast<const Linear_Row&>(g));
+inline PIP_Tree_Node::Artificial_Parameter_Sequence::const_iterator
+PIP_Tree_Node::art_parameter_end() const {
+  return artificial_parameters.end();
 }
 
-inline void
-Scalar_Products::homogeneous_assign(Coefficient& z,
-				    const Linear_Expression& e,
-				    const Grid_Generator& g) {
-  homogeneous_assign(z,
-		     static_cast<const Linear_Row&>(e),
-		     static_cast<const Linear_Row&>(g));
+inline dimension_type
+PIP_Tree_Node::art_parameter_count() const {
+  return artificial_parameters.size();
 }
 
-inline int
-Scalar_Products::homogeneous_sign(const Linear_Expression& e,
-				  const Generator& g) {
-  return homogeneous_sign(static_cast<const Linear_Row&>(e),
-			  static_cast<const Linear_Row&>(g));
+inline
+const PIP_Tree_Node*
+PIP_Decision_Node::child_node(bool v) const {
+  return v ? true_child : false_child;
 }
 
-inline int
-Scalar_Products::homogeneous_sign(const Linear_Expression& e,
-				  const Grid_Generator& g) {
-  return homogeneous_sign(static_cast<const Linear_Row&>(e),
-			  static_cast<const Linear_Row&>(g));
+inline
+PIP_Tree_Node*
+PIP_Decision_Node::child_node(bool v) {
+  return v ? true_child : false_child;
 }
 
-inline int
-Scalar_Products::homogeneous_sign(const Grid_Generator& g,
-				  const Constraint& c) {
-  PPL_DIRTY_TEMP_COEFFICIENT(z);
-  homogeneous_assign(z, g, c);
-  return sgn(z);
+inline
+PIP_Tree_Node::Artificial_Parameter::Artificial_Parameter()
+  : Linear_Expression(), denom(1) {
+  PPL_ASSERT(OK());
 }
 
 inline
-Topology_Adjusted_Scalar_Product_Sign
-::Topology_Adjusted_Scalar_Product_Sign(const Constraint& c)
-  : sps_fp(c.is_necessarily_closed()
-	   ? static_cast<SPS_type>(&Scalar_Products::sign)
-	   : static_cast<SPS_type>(&Scalar_Products::reduced_sign)) {
+PIP_Tree_Node::Artificial_Parameter
+::Artificial_Parameter(const Linear_Expression& expr,
+                       Coefficient_traits::const_reference den)
+  : Linear_Expression(expr), denom(den) {
+  if (denom == 0)
+    throw std::invalid_argument("PIP_Tree_Node::Artificial_Parameter(e, d): "
+                                "denominator d is zero.");
+  // Normalize if needed.
+  if (denom < 0) {
+    neg_assign(denom);
+    Linear_Expression& e = *this;
+    e *= -1;
+  }
+  PPL_ASSERT(OK());
 }
 
 inline
-Topology_Adjusted_Scalar_Product_Sign
-::Topology_Adjusted_Scalar_Product_Sign(const Generator& g)
-  : sps_fp(g.is_necessarily_closed()
-	   ? static_cast<SPS_type>(&Scalar_Products::sign)
-	   : static_cast<SPS_type>(&Scalar_Products::reduced_sign)) {
+PIP_Tree_Node::Artificial_Parameter
+::Artificial_Parameter(const Artificial_Parameter& y)
+  : Linear_Expression(y), denom(y.denom) {
+  PPL_ASSERT(OK());
 }
 
-inline int
-Topology_Adjusted_Scalar_Product_Sign::operator()(const Constraint& c,
-						  const Generator& g) const {
-  assert(c.space_dimension() <= g.space_dimension());
-  assert(sps_fp == (c.is_necessarily_closed()
-		    ? static_cast<SPS_type>(&Scalar_Products::sign)
-		    : static_cast<SPS_type>(&Scalar_Products::reduced_sign)));
-  return sps_fp(static_cast<const Linear_Row&>(c),
-		static_cast<const Linear_Row&>(g));
+inline Coefficient_traits::const_reference
+PIP_Tree_Node::Artificial_Parameter::denominator() const {
+  return denom;
 }
 
-inline int
-Topology_Adjusted_Scalar_Product_Sign::operator()(const Generator& g,
-						  const Constraint& c) const {
-  assert(g.space_dimension() <= c.space_dimension());
-  assert(sps_fp == (g.is_necessarily_closed()
-		    ? static_cast<SPS_type>(&Scalar_Products::sign)
-		    : static_cast<SPS_type>(&Scalar_Products::reduced_sign)));
-  return sps_fp(static_cast<const Linear_Row&>(g),
-		static_cast<const Linear_Row&>(c));
+inline void
+PIP_Tree_Node::Artificial_Parameter::swap(Artificial_Parameter& y) {
+  Linear_Expression::swap(y);
+  std::swap(denom, y.denom);
 }
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Scalar_Products.defs.hh line 196. */
+/* Automatically generated from PPL source file ../src/PIP_Tree.defs.hh line 804. */
 
 /* Automatically generated from PPL source file ../src/BHRZ03_Certificate.defs.hh line 1. */
 /* BHRZ03_Certificate class declaration.
@@ -22460,8 +26210,7 @@ class BHRZ03_Certificate;
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/BHRZ03_Certificate.defs.hh line 29. */
-#include <cassert>
+/* Automatically generated from PPL source file ../src/BHRZ03_Certificate.defs.hh line 30. */
 #include <vector>
 
 //! The convergence certificate for the BHRZ03 widening operator.
@@ -22559,7 +26308,7 @@ BHRZ03_Certificate::BHRZ03_Certificate()
   : affine_dim(0), lin_space_dim(0), num_constraints(0), num_points(1),
     num_rays_null_coord() {
   // This is the certificate for a zero-dim universe polyhedron.
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 inline
@@ -22604,8 +26353,7 @@ class H79_Certificate;
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/H79_Certificate.defs.hh line 29. */
-#include <cassert>
+/* Automatically generated from PPL source file ../src/H79_Certificate.defs.hh line 30. */
 #include <vector>
 
 //! A convergence certificate for the H79 widening operator.
@@ -22681,210 +26429,6 @@ private:
 */
 
 
-/* Automatically generated from PPL source file ../src/Constraint_System.inlines.hh line 1. */
-/* Constraint_System class implementation: inline functions.
-*/
-
-
-/* Automatically generated from PPL source file ../src/Constraint_System.inlines.hh line 27. */
-
-namespace Parma_Polyhedra_Library {
-
-inline
-Constraint_System::Constraint_System()
-  : Linear_System(NECESSARILY_CLOSED) {
-}
-
-inline
-Constraint_System::Constraint_System(const Constraint& c)
-  : Linear_System(c.topology()) {
-  Linear_System::insert(c);
-}
-
-inline
-Constraint_System::Constraint_System(const Constraint_System& cs)
-  : Linear_System(cs) {
-}
-
-inline
-Constraint_System::Constraint_System(const Topology topol)
-  : Linear_System(topol) {
-}
-
-inline
-Constraint_System::Constraint_System(const Topology topol,
-				     const dimension_type n_rows,
-				     const dimension_type n_columns)
-  : Linear_System(topol, n_rows, n_columns) {
-}
-
-inline
-Constraint_System::~Constraint_System() {
-}
-
-inline Constraint_System&
-Constraint_System::operator=(const Constraint_System& y) {
-  Linear_System::operator=(y);
-  return *this;
-}
-
-inline Constraint&
-Constraint_System::operator[](const dimension_type k) {
-  return static_cast<Constraint&>(Linear_System::operator[](k));
-}
-
-inline const Constraint&
-Constraint_System::operator[](const dimension_type k) const {
-  return static_cast<const Constraint&>(Linear_System::operator[](k));
-}
-
-inline dimension_type
-Constraint_System::max_space_dimension() {
-  return Linear_System::max_space_dimension();
-}
-
-inline dimension_type
-Constraint_System::space_dimension() const {
-  return Linear_System::space_dimension();
-}
-
-inline void
-Constraint_System::clear() {
-  Linear_System::clear();
-}
-
-inline const Constraint_System&
-Constraint_System::zero_dim_empty() {
-  assert(zero_dim_empty_p != 0);
-  return *zero_dim_empty_p;
-}
-
-inline
-Constraint_System::const_iterator::const_iterator()
-  : i(), csp(0) {
-}
-
-inline
-Constraint_System::const_iterator::const_iterator(const const_iterator& y)
-  : i(y.i), csp(y.csp) {
-}
-
-inline
-Constraint_System::const_iterator::~const_iterator() {
-}
-
-inline Constraint_System::const_iterator&
-Constraint_System::const_iterator::operator=(const const_iterator& y) {
-  i = y.i;
-  csp = y.csp;
-  return *this;
-}
-
-inline const Constraint&
-Constraint_System::const_iterator::operator*() const {
-  return static_cast<const Constraint&>(*i);
-}
-
-inline const Constraint*
-Constraint_System::const_iterator::operator->() const {
-  return static_cast<const Constraint*>(i.operator->());
-}
-
-inline Constraint_System::const_iterator&
-Constraint_System::const_iterator::operator++() {
-  ++i;
-  skip_forward();
-  return *this;
-}
-
-inline Constraint_System::const_iterator
-Constraint_System::const_iterator::operator++(int) {
-  const const_iterator tmp = *this;
-  operator++();
-  return tmp;
-}
-
-inline bool
-Constraint_System::const_iterator::operator==(const const_iterator& y) const {
-  return i == y.i;
-}
-
-inline bool
-Constraint_System::const_iterator::operator!=(const const_iterator& y) const {
-  return i != y.i;
-}
-
-inline
-Constraint_System::const_iterator::
-const_iterator(const Linear_System::const_iterator& iter,
-	       const Constraint_System& csys)
-  : i(iter), csp(&csys) {
-}
-
-inline Constraint_System::const_iterator
-Constraint_System::begin() const {
-  const_iterator i(Linear_System::begin(), *this);
-  i.skip_forward();
-  return i;
-}
-
-inline Constraint_System::const_iterator
-Constraint_System::end() const {
-  const const_iterator i(Linear_System::end(), *this);
-  return i;
-}
-
-inline bool
-Constraint_System::empty() const {
-  return begin() == end();
-}
-
-inline void
-Constraint_System::add_low_level_constraints() {
-  if (is_necessarily_closed())
-    // The positivity constraint.
-    insert(Constraint::zero_dim_positivity());
-  else {
-    // Add the epsilon constraints.
-    insert(Constraint::epsilon_leq_one());
-    insert(Constraint::epsilon_geq_zero());
-  }
-}
-
-inline void
-Constraint_System::swap(Constraint_System& y) {
-  Linear_System::swap(y);
-}
-
-inline memory_size_type
-Constraint_System::external_memory_in_bytes() const {
-  return Linear_System::external_memory_in_bytes();
-}
-
-inline memory_size_type
-Constraint_System::total_memory_in_bytes() const {
-  return Linear_System::total_memory_in_bytes();
-}
-
-inline void
-Constraint_System::simplify() {
-  Linear_System::simplify();
-}
-
-} // namespace Parma_Polyhedra_Library
-
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Constraint_System */
-inline void
-swap(Parma_Polyhedra_Library::Constraint_System& x,
-     Parma_Polyhedra_Library::Constraint_System& y) {
-  x.swap(y);
-}
-
-} // namespace std
-
 /* Automatically generated from PPL source file ../src/Generator_System.inlines.hh line 1. */
 /* Generator_System class implementation: inline functions.
 */
@@ -23042,7 +26586,7 @@ Generator_System::end() const {
 
 inline const Generator_System&
 Generator_System::zero_dim_univ() {
-  assert(zero_dim_univ_p != 0);
+  PPL_ASSERT(zero_dim_univ_p != 0);
   return *zero_dim_univ_p;
 }
 
@@ -23104,7 +26648,7 @@ inline void
 Congruence_System::insert(const Congruence& cg) {
   insert_verbatim(cg);
   static_cast<Congruence&>(operator[](rows.size()-1)).strong_normalize();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 inline
@@ -23168,7 +26712,7 @@ Congruence_System::resize_no_copy(const dimension_type new_num_rows,
 
 inline const Congruence_System&
 Congruence_System::zero_dim_empty() {
-  assert(zero_dim_empty_p != 0);
+  PPL_ASSERT(zero_dim_empty_p != 0);
   return *zero_dim_empty_p;
 }
 
@@ -23376,14 +26920,14 @@ Grid_Generator_System::max_space_dimension() {
 
 inline dimension_type
 Grid_Generator_System::space_dimension() const {
-  assert(Generator_System::space_dimension() > 0);
+  PPL_ASSERT(Generator_System::space_dimension() > 0);
   // Grid generators use an extra column for the parameter divisor.
   return Generator_System::space_dimension() - 1;
 }
 
 inline const Grid_Generator_System&
 Grid_Generator_System::zero_dim_univ() {
-  assert(zero_dim_univ_p != 0);
+  PPL_ASSERT(zero_dim_univ_p != 0);
   return *zero_dim_univ_p;
 }
 
@@ -23564,7 +27108,7 @@ public:
   //! Construct a bit matrix with \p n_rows rows and \p n_columns columns.
   Bit_Matrix(dimension_type n_rows, dimension_type n_columns);
 
-  //! Copy-constructor.
+  //! Copy constructor.
   Bit_Matrix(const Bit_Matrix& y);
 
   //! Destructor.
@@ -23617,7 +27161,13 @@ public:
   bool sorted_contains(const Bit_Row& row) const;
 
   //! Adds \p row to \p *this.
-  void add_row(const Bit_Row& row);
+  /*!
+    \param row
+    The row whose implementation will be recycled.
+
+    The only thing that can be done with \p row upon return is destruction.
+  */
+  void add_recycled_row(Bit_Row& row);
 
   //! Erases the rows from the \p first_to_erase -th to the last one.
   void rows_erase_to_end(dimension_type first_to_erase);
@@ -23703,7 +27253,7 @@ void swap(Parma_Polyhedra_Library::Bit_Matrix& x,
 
 
 #include <algorithm>
-#include <cassert>
+/* Automatically generated from PPL source file ../src/Bit_Matrix.inlines.hh line 28. */
 
 namespace Parma_Polyhedra_Library {
 
@@ -23739,19 +27289,19 @@ inline void
 Bit_Matrix::rows_erase_to_end(const dimension_type first_to_erase) {
   // The first row to be erased cannot be greater
   // than the actual number of the rows of the matrix.
-  assert(first_to_erase <= rows.size());
+  PPL_ASSERT(first_to_erase <= rows.size());
   if (first_to_erase < rows.size())
     rows.erase(rows.begin() + first_to_erase, rows.end());
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 inline void
 Bit_Matrix::columns_erase_to_end(const dimension_type first_to_erase) {
   // The first column to be erased cannot be greater
   // than the actual number of the columns of the matrix.
-  assert(first_to_erase <= row_size);
+  PPL_ASSERT(first_to_erase <= row_size);
   row_size = first_to_erase;
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 inline void
@@ -23762,13 +27312,13 @@ Bit_Matrix::swap(Bit_Matrix& y) {
 
 inline Bit_Row&
 Bit_Matrix::operator[](const dimension_type k) {
-  assert(k < rows.size());
+  PPL_ASSERT(k < rows.size());
   return rows[k];
 }
 
 inline const Bit_Row&
 Bit_Matrix::operator[](const dimension_type k) const {
-  assert(k < rows.size());
+  PPL_ASSERT(k < rows.size());
   return rows[k];
 }
 
@@ -23802,7 +27352,7 @@ operator()(const Bit_Row& x, const Bit_Row& y) const {
 
 inline bool
 Bit_Matrix::sorted_contains(const Bit_Row& row) const {
-  assert(check_sorted());
+  PPL_ASSERT(check_sorted());
   return std::binary_search(rows.begin(), rows.end(), row,
 			    Bit_Row_Less_Than());
 }
@@ -23827,7 +27377,7 @@ swap(Parma_Polyhedra_Library::Bit_Matrix& x,
 
 } // namespace std
 
-/* Automatically generated from PPL source file ../src/Bit_Matrix.defs.hh line 178. */
+/* Automatically generated from PPL source file ../src/Bit_Matrix.defs.hh line 184. */
 
 /* Automatically generated from PPL source file ../src/Poly_Gen_Relation.defs.hh line 1. */
 /* Poly_Gen_Relation class declaration.
@@ -24330,10 +27880,10 @@ bool is_necessarily_closed_for_interfaces(const Polyhedron& ph);
   Generator_System gs;
   gs.insert(point(3*x + y +0*z + 2*w));
   C_Polyhedron ph(gs);
-  Variables_Set to_be_removed;
-  to_be_removed.insert(y);
-  to_be_removed.insert(z);
-  ph.remove_space_dimensions(to_be_removed);
+  Variables_Set vars;
+  vars.insert(y);
+  vars.insert(z);
+  ph.remove_space_dimensions(vars);
   \endcode
   The starting polyhedron is the singleton set
   \f$\bigl\{ (3, 1, 0, 2)^\transpose \bigr\} \sseq \Rset^4\f$, while
@@ -24346,16 +27896,16 @@ bool is_necessarily_closed_for_interfaces(const Polyhedron& ph);
   For instance, by using the following code we would obtain
   a different result:
   \code
-  set<Variable> to_be_removed1;
-  to_be_removed1.insert(y);
-  ph.remove_space_dimensions(to_be_removed1);
-  set<Variable> to_be_removed2;
-  to_be_removed2.insert(z);
-  ph.remove_space_dimensions(to_be_removed2);
+  set<Variable> vars1;
+  vars1.insert(y);
+  ph.remove_space_dimensions(vars1);
+  set<Variable> vars2;
+  vars2.insert(z);
+  ph.remove_space_dimensions(vars2);
   \endcode
   In this case, the result is the polyhedron
   \f$\bigl\{(3, 0)^\transpose \bigr\} \sseq \Rset^2\f$:
-  when removing the set of dimensions \p to_be_removed2
+  when removing the set of dimensions \p vars2
   we are actually removing variable \f$w\f$ of the original polyhedron.
   For the same reason, the operator \p remove_space_dimensions
   is not idempotent: removing twice the same non-empty set of dimensions
@@ -24403,7 +27953,7 @@ protected:
 	     dimension_type num_dimensions,
 	     Degenerate_Element kind);
 
-  //! Ordinary copy-constructor.
+  //! Ordinary copy constructor.
   /*!
     The complexity argument is ignored.
   */
@@ -24763,6 +28313,38 @@ public:
 		Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
 		Generator& g) const;
 
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if there exist a
+    unique value \p val such that \p *this
+    saturates the equality <CODE>expr = val</CODE>.
+
+    \param expr
+    The linear expression for which the frequency is needed;
+
+    \param freq_n
+    If <CODE>true</CODE> is returned, the value is set to \f$0\f$;
+    Present for interface compatibility with class Grid, where
+    the \ref Grid_Frequency "frequency" can have a non-zero value;
+
+    \param freq_d
+    If <CODE>true</CODE> is returned, the value is set to \f$1\f$;
+
+    \param val_n
+    The numerator of \p val;
+
+    \param val_d
+    The denominator of \p val;
+
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+
+    If <CODE>false</CODE> is returned, then \p freq_n, \p freq_d,
+    \p val_n and \p val_d are left untouched.
+  */
+  bool frequency(const Linear_Expression& expr,
+                 Coefficient& freq_n, Coefficient& freq_d,
+                 Coefficient& val_n, Coefficient& val_d) const;
+
   //! Returns <CODE>true</CODE> if and only if \p *this contains \p y.
   /*!
     \exception std::invalid_argument
@@ -24818,26 +28400,6 @@ public:
   void add_constraint(const Constraint& c);
 
   /*! \brief
-    Adds a copy of constraint \p c to the system of constraints
-    of \p *this, minimizing the result
-
-    \param c
-    The constraint that will be added to the system of
-    constraints of \p *this.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and constraint \p c are topology-incompatible
-    or dimension-incompatible.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_constraint_and_minimize(const Constraint& c);
-
-  /*! \brief
     Adds a copy of generator \p g to the system of generators
     of \p *this (without minimizing the result).
 
@@ -24849,23 +28411,6 @@ public:
   void add_generator(const Generator& g);
 
   /*! \brief
-    Adds a copy of generator \p g to the system of generators
-    of \p *this, minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and generator \p g are topology-incompatible or
-    dimension-incompatible, or if \p *this is an empty polyhedron and
-    \p g is not a point.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_generator_and_minimize(const Generator& g);
-
-  /*! \brief
     Adds a copy of congruence \p cg to \p *this,
     if \p cg can be exactly represented by a polyhedron.
 
@@ -24877,24 +28422,6 @@ public:
   void add_congruence(const Congruence& cg);
 
   /*! \brief
-    Adds a copy of congruence \p cg to \p *this,
-    if \p cg can be exactly represented by a polyhedron,
-    minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and congruence \p cg are dimension-incompatible,
-    of if \p cg is a proper congruence which is neither a tautology,
-    nor a contradiction.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_congruence_and_minimize(const Congruence& cg);
-
-  /*! \brief
     Adds a copy of the constraints in \p cs to the system
     of constraints of \p *this (without minimizing the result).
 
@@ -24927,50 +28454,6 @@ public:
   void add_recycled_constraints(Constraint_System& cs);
 
   /*! \brief
-    Adds a copy of the constraints in \p cs to the system
-    of constraints of \p *this, minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \param cs
-    Contains the constraints that will be added to the system of
-    constraints of \p *this.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are topology-incompatible or
-    dimension-incompatible.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_constraints_and_minimize(const Constraint_System& cs);
-
-  /*! \brief
-    Adds the constraints in \p cs to the system of constraints
-    of \p *this, minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \param cs
-    The constraint system to be added to \p *this.  The constraints in
-    \p cs may be recycled.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are topology-incompatible or
-    dimension-incompatible.
-
-    \warning
-    The only assumption that can be made on \p cs upon successful or
-    exceptional return is that it can be safely destroyed.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_recycled_constraints_and_minimize(Constraint_System& cs);
-
-  /*! \brief
     Adds a copy of the generators in \p gs to the system
     of generators of \p *this (without minimizing the result).
 
@@ -25005,52 +28488,6 @@ public:
   void add_recycled_generators(Generator_System& gs);
 
   /*! \brief
-    Adds a copy of the generators in \p gs to the system
-    of generators of \p *this, minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \param gs
-    Contains the generators that will be added to the system of
-    generators of \p *this.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p gs are topology-incompatible or
-    dimension-incompatible, or if \p *this is empty and the the system
-    of generators \p gs is not empty, but has no points.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_generators_and_minimize(const Generator_System& gs);
-
-  /*! \brief
-    Adds the generators in \p gs to the system of generators
-    of \p *this, minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \param gs
-    The generator system to be added to \p *this.  The generators in
-    \p gs may be recycled.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p gs are topology-incompatible or
-    dimension-incompatible, or if \p *this is empty and the the system
-    of generators \p gs is not empty, but has no points.
-
-    \warning
-    The only assumption that can be made on \p gs upon successful or
-    exceptional return is that it can be safely destroyed.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_recycled_generators_and_minimize(Generator_System& gs);
-
-  /*! \brief
     Adds a copy of the congruences in \p cgs to \p *this,
     if all the congruences can be exactly represented by a polyhedron.
 
@@ -25065,27 +28502,6 @@ public:
   void add_congruences(const Congruence_System& cgs);
 
   /*! \brief
-    Adds a copy of the congruences in \p cgs to \p *this,
-    if all the congruences can be exactly represented by a polyhedron,
-    minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \param cgs
-    The congruences to be added.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible,
-    of if there exists in \p cgs a proper congruence which is
-    neither a tautology, nor a contradiction
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_congruences_and_minimize(const Congruence_System& cgs);
-
-  /*! \brief
     Adds the congruences in \p cgs to \p *this,
     if all the congruences can be exactly represented by a polyhedron.
 
@@ -25104,31 +28520,6 @@ public:
   void add_recycled_congruences(Congruence_System& cgs);
 
   /*! \brief
-    Adds the congruences in \p cgs to \p *this,
-    if all the congruences can be exactly represented by a polyhedron,
-    minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \param cgs
-    The congruences to be added. Its elements may be recycled.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible,
-    of if there exists in \p cgs a proper congruence which is
-    neither a tautology, nor a contradiction
-
-    \warning
-    The only assumption that can be made on \p cgs upon successful or
-    exceptional return is that it can be safely destroyed.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_recycled_congruences_and_minimize(Congruence_System& cgs);
-
-  /*! \brief
     Uses a copy of constraint \p c to refine \p *this.
 
     \exception std::invalid_argument
@@ -25182,21 +28573,20 @@ public:
 
   /*! \brief
     Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to the set of space dimensions \p to_be_unconstrained,
+    respect to the set of space dimensions \p vars,
     assigning the result to \p *this.
 
-    \param to_be_unconstrained
+    \param vars
     The set of space dimension that will be unconstrained.
 
     \exception std::invalid_argument
     Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p to_be_removed.
+    Variable objects contained in \p vars.
   */
-  void unconstrain(const Variables_Set& to_be_unconstrained);
+  void unconstrain(const Variables_Set& vars);
 
   /*! \brief
     Assigns to \p *this the intersection of \p *this and \p y.
-    The result is not guaranteed to be minimized.
 
     \exception std::invalid_argument
     Thrown if \p *this and \p y are topology-incompatible or
@@ -25205,24 +28595,7 @@ public:
   void intersection_assign(const Polyhedron& y);
 
   /*! \brief
-    Assigns to \p *this the intersection of \p *this and \p y,
-    minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are topology-incompatible or
-    dimension-incompatible.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool intersection_assign_and_minimize(const Polyhedron& y);
-
-  /*! \brief
     Assigns to \p *this the poly-hull of \p *this and \p y.
-    The result is not guaranteed to be minimized.
 
     \exception std::invalid_argument
     Thrown if \p *this and \p y are topology-incompatible or
@@ -25230,29 +28603,13 @@ public:
   */
   void poly_hull_assign(const Polyhedron& y);
 
-  /*! \brief
-    Assigns to \p *this the poly-hull of \p *this and \p y,
-    minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are topology-incompatible or
-    dimension-incompatible.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool poly_hull_assign_and_minimize(const Polyhedron& y);
-
   //! Same as poly_hull_assign(y).
   void upper_bound_assign(const Polyhedron& y);
 
   /*! \brief
     Assigns to \p *this
     the \ref Convex_Polyhedral_Difference "poly-difference"
-    of \p *this and \p y. The result is not guaranteed to be minimized.
+    of \p *this and \p y.
 
     \exception std::invalid_argument
     Thrown if \p *this and \p y are topology-incompatible or
@@ -25647,6 +29004,93 @@ public:
   */
   void time_elapse_assign(const Polyhedron& y);
 
+  /*! \brief
+    \ref Wrapping_Operator "Wraps" the specified dimensions of the
+    vector space.
+
+    \param vars
+    The set of Variable objects corresponding to the space dimensions
+    to be wrapped.
+
+    \param w
+    The width of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param r
+    The representation of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param o
+    The overflow behavior of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param pcs
+    Possibly null pointer to a constraint system whose variables
+    are contained in \p vars.  If <CODE>*pcs</CODE> depends on
+    variables not in \p vars, the behavior is undefined.
+    When non-null, the pointed-to constraint system is assumed to
+    represent the conditional or looping construct guard with respect
+    to which wrapping is performed.  Since wrapping requires the
+    computation of upper bounds and due to non-distributivity of
+    constraint refinement over upper bounds, passing a constraint
+    system in this way can be more precise than refining the result of
+    the wrapping operation with the constraints in <CODE>*pcs</CODE>.
+
+    \param complexity_threshold
+    A precision parameter of the \ref Wrapping_Operator "wrapping operator":
+    higher values result in possibly improved precision.
+
+    \param wrap_individually
+    <CODE>true</CODE> if the dimensions should be wrapped individually
+    (something that results in much greater efficiency to the detriment of
+    precision).
+
+    \exception std::invalid_argument
+    Thrown if <CODE>*pcs</CODE> is dimension-incompatible with
+    \p vars, or if \p *this is dimension-incompatible \p vars or with
+    <CODE>*pcs</CODE>.
+  */
+  void wrap_assign(const Variables_Set& vars,
+                   Bounded_Integer_Type_Width w,
+                   Bounded_Integer_Type_Representation r,
+                   Bounded_Integer_Type_Overflow o,
+                   const Constraint_System* pcs = 0,
+                   unsigned complexity_threshold = 16,
+                   bool wrap_individually = true);
+
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates.
+
+    \param complexity
+    The maximal complexity of any algorithms used.
+
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+  void drop_some_non_integer_points(Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
+
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates for the space dimensions corresponding to \p vars.
+
+    \param vars
+    Points with non-integer coordinates for these variables/space-dimensions
+    can be discarded.
+
+    \param complexity
+    The maximal complexity of any algorithms used.
+
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+  void drop_some_non_integer_points(const Variables_Set& vars,
+                                    Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
+
   //! Assigns to \p *this its topological closure.
   void topological_closure_assign();
 
@@ -25863,15 +29307,15 @@ public:
 
   //! Removes all the specified dimensions from the vector space.
   /*!
-    \param to_be_removed
+    \param vars
     The set of Variable objects corresponding to the space dimensions
     to be removed.
 
     \exception std::invalid_argument
     Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p to_be_removed.
+    Variable objects contained in \p vars.
   */
-  void remove_space_dimensions(const Variables_Set& to_be_removed);
+  void remove_space_dimensions(const Variables_Set& vars);
 
   /*! \brief
     Removes the higher dimensions of the vector space so that
@@ -25890,8 +29334,8 @@ public:
     \param pfunc
     The partial function specifying the destiny of each space dimension.
 
-    The template class Partial_Function must provide the following
-    methods.
+    The template type parameter Partial_Function must provide
+    the following methods.
     \code
       bool has_empty_codomain() const
     \endcode
@@ -25949,30 +29393,30 @@ public:
   */
   void expand_space_dimension(Variable var, dimension_type m);
 
-  //! Folds the space dimensions in \p to_be_folded into \p var.
+  //! Folds the space dimensions in \p vars into \p dest.
   /*!
-    \param to_be_folded
+    \param vars
     The set of Variable objects corresponding to the space dimensions
     to be folded;
 
-    \param var
+    \param dest
     The variable corresponding to the space dimension that is the
     destination of the folding operation.
 
     \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p var or with
-    one of the Variable objects contained in \p to_be_folded.
-    Also thrown if \p var is contained in \p to_be_folded.
+    Thrown if \p *this is dimension-incompatible with \p dest or with
+    one of the Variable objects contained in \p vars.
+    Also thrown if \p dest is contained in \p vars.
 
     If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    <CODE>var</CODE> has space dimension \f$k \leq n\f$,
-    \p to_be_folded is a set of variables whose maximum space dimension
-    is also less than or equal to \f$n\f$, and \p var is not a member
-    of \p to_be_folded, then the space dimensions corresponding to
-    variables in \p to_be_folded are \ref fold_space_dimensions "folded"
+    <CODE>dest</CODE> has space dimension \f$k \leq n\f$,
+    \p vars is a set of variables whose maximum space dimension
+    is also less than or equal to \f$n\f$, and \p dest is not a member
+    of \p vars, then the space dimensions corresponding to
+    variables in \p vars are \ref fold_space_dimensions "folded"
     into the \f$k\f$-th space dimension.
   */
-  void fold_space_dimensions(const Variables_Set& to_be_folded, Variable var);
+  void fold_space_dimensions(const Variables_Set& vars, Variable dest);
 
   //@} // Member Functions that May Modify the Dimension of the Vector Space
 
@@ -26193,7 +29637,7 @@ private:
   void reset(flags_t mask);
 };
 
-/* Automatically generated from PPL source file ../src/Polyhedron.defs.hh line 2035. */
+/* Automatically generated from PPL source file ../src/Polyhedron.defs.hh line 1929. */
 #undef PPL_IN_Polyhedron_CLASS
 
   //! The status flags to keep track of the polyhedron's internal state.
@@ -26859,8 +30303,25 @@ protected:
   //@} // Exception Throwers
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 
-};
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates for the space dimensions corresponding to \p *pvars.
+
+    \param pvars
+    When nonzero, points with non-integer coordinates for the
+    variables/space-dimensions contained in \p *pvars can be discarded.
+
+    \param complexity
+    The maximal complexity of any algorithms used.
+
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+  void drop_some_non_integer_points(const Variables_Set* pvars,
+                                    Complexity_Class complexity);
 
+};
 
 namespace std {
 
@@ -27335,15 +30796,15 @@ Polyhedron::clear_generators_up_to_date() {
 
 inline bool
 Polyhedron::process_pending() const {
-  assert(space_dim > 0 && !marked_empty());
-  assert(has_something_pending());
+  PPL_ASSERT(space_dim > 0 && !marked_empty());
+  PPL_ASSERT(has_something_pending());
 
   Polyhedron& x = const_cast<Polyhedron&>(*this);
 
   if (x.has_pending_constraints())
     return x.process_pending_constraints();
 
-  assert(x.has_pending_generators());
+  PPL_ASSERT(x.has_pending_generators());
   x.process_pending_generators();
   return true;
 }
@@ -27390,7 +30851,7 @@ Polyhedron::minimize(const Linear_Expression& expr,
 
 inline Constraint_System
 Polyhedron::simplified_constraints() const {
-  assert(constraints_are_up_to_date());
+  PPL_ASSERT(constraints_are_up_to_date());
   Constraint_System cs(con_sys);
   if (cs.num_pending_rows() > 0)
     cs.unset_pending_rows();
@@ -27414,28 +30875,11 @@ Polyhedron::minimized_grid_generators() const {
   return grid_generators();
 }
 
-inline bool
-Polyhedron::add_congruence_and_minimize(const Congruence& cg) {
-  add_congruence(cg);
-  return minimize();
-}
-
-inline bool
-Polyhedron::add_congruences_and_minimize(const Congruence_System& cgs) {
-  add_congruences(cgs);
-  return minimize();
-}
-
 inline void
 Polyhedron::add_recycled_congruences(Congruence_System& cgs) {
   add_congruences(cgs);
 }
 
-inline bool
-Polyhedron::add_recycled_congruences_and_minimize(Congruence_System& cgs) {
-  return add_congruences_and_minimize(cgs);
-}
-
 /*! \relates Polyhedron */
 inline bool
 operator!=(const Polyhedron& x, const Polyhedron& y) {
@@ -27448,6 +30892,19 @@ Polyhedron::strictly_contains(const Polyhedron& y) const {
   return x.contains(y) && !y.contains(x);
 }
 
+inline void
+Polyhedron::drop_some_non_integer_points(Complexity_Class complexity) {
+  const Variables_Set* p_vs = 0;
+  drop_some_non_integer_points(p_vs, complexity);
+}
+
+inline void
+Polyhedron::drop_some_non_integer_points(const Variables_Set& vars,
+					 Complexity_Class complexity) {
+  drop_some_non_integer_points(&vars, complexity);
+}
+
+
 namespace Interfaces {
 
 inline bool
@@ -27500,142 +30957,6 @@ class MIP_Problem;
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Variables_Set.defs.hh line 1. */
-/* Variables_Set class declaration.
-*/
-
-
-/* Automatically generated from PPL source file ../src/Variables_Set.defs.hh line 29. */
-#include <iosfwd>
-#include <set>
-
-namespace Parma_Polyhedra_Library {
-
-namespace IO_Operators {
-
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Variables_Set */
-std::ostream&
-operator<<(std::ostream& s, const Variables_Set& v);
-
-} // namespace IO_Operators
-
-} // namespace Parma_Polyhedra_Library
-
-//! An std::set of variables' indexes.
-class Parma_Polyhedra_Library::Variables_Set
-  : public std::set<dimension_type> {
-private:
-  typedef std::set<dimension_type> Base;
-
-public:
-  //! Builds the empty set of variable indexes.
-  Variables_Set();
-
-  //! Builds the singleton set of indexes containing <CODE>v.id()</CODE>;
-  explicit Variables_Set(const Variable& v);
-
-  /*! \brief
-    Builds the set of variables's indexes in the range from
-    <CODE>v.id()</CODE> to <CODE>w.id()</CODE>.
-
-    If <CODE>v.id() <= w.id()</CODE>, this constructor builds the
-    set of variables' indexes
-    <CODE>v.id()</CODE>, <CODE>v.id()+1</CODE>, ..., <CODE>w.id()</CODE>.
-    The empty set it built otherwise.
-  */
-  Variables_Set(const Variable& v, const Variable& w);
-
-  //! Returns the maximum space dimension a Variables_Set can handle.
-  static dimension_type max_space_dimension();
-
-  /*! \brief
-    Returns the dimension of the smallest vector space enclosing all
-    the variables whose indexes are in the set.
-  */
-  dimension_type space_dimension() const;
-
-  //! Inserts the index of variavle \p v into the set.
-  void insert(Variable v);
-  // The `insert' method above overloads (instead of hiding) the
-  // other `insert' method of std::set.
-  using Base::insert;
-
-
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-  */
-  bool ascii_load(std::istream& s);
-
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
-
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
-
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
-
-  PPL_OUTPUT_DECLARATIONS
-};
-
-/* Automatically generated from PPL source file ../src/Variables_Set.inlines.hh line 1. */
-/* Variables_Set class implementation: inline functions.
-*/
-
-
-/* Automatically generated from PPL source file ../src/Variables_Set.inlines.hh line 27. */
-#include <stdexcept>
-
-namespace Parma_Polyhedra_Library {
-
-inline
-Variables_Set::Variables_Set()
-  : Base() {
-}
-
-inline void
-Variables_Set::insert(const Variable v) {
-  insert(v.id());
-}
-
-inline
-Variables_Set::Variables_Set(const Variable& v)
-  : Base() {
-  insert(v);
-}
-
-inline dimension_type
-Variables_Set::max_space_dimension() {
-  return Variable::max_space_dimension();
-}
-
-inline dimension_type
-Variables_Set::space_dimension() const {
-  reverse_iterator i = rbegin();
-  return i == rend() ? 0 : *i+1;
-}
-
-inline memory_size_type
-Variables_Set::external_memory_in_bytes() const {
-  // We assume sets are implemented by means of red-black trees that
-  // require to store the color (we assume an enum) and three pointers
-  // to the parent, left and right child, respectively.
-  enum color { red, black };
-  return size() * (sizeof(color) + 3*sizeof(void*) + sizeof(dimension_type));
-}
-
-inline memory_size_type
-Variables_Set::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
-}
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/Variables_Set.defs.hh line 105. */
-
 /* Automatically generated from PPL source file ../src/MIP_Problem.defs.hh line 35. */
 #include <vector>
 #include <deque>
@@ -27808,7 +31129,7 @@ public:
 	      const Linear_Expression& obj = Linear_Expression::zero(),
 	      Optimization_Mode mode = MAXIMIZATION);
 
-  //! Ordinary copy-constructor.
+  //! Ordinary copy constructor.
   MIP_Problem(const MIP_Problem& y);
 
   //! Destructor.
@@ -28110,6 +31431,24 @@ private:
   */
   Variables_Set i_variables;
 
+  //! A helper class to temporarily relax a MIP problem using RAII.
+  struct RAII_Temporary_Real_Relaxation {
+    MIP_Problem& lp;
+    Variables_Set i_vars;
+
+    RAII_Temporary_Real_Relaxation(MIP_Problem& mip)
+      : lp(mip), i_vars() {
+      // Turn mip into an LP problem (saving i_variables in i_vars).
+      std::swap(i_vars, lp.i_variables);
+    }
+
+    ~RAII_Temporary_Real_Relaxation() {
+      // Restore the original set of integer variables.
+      std::swap(i_vars, lp.i_variables);
+    }
+  };
+  friend class RAII_Temporary_Real_Relaxation;
+
   //! Processes the pending constraints of \p *this.
   /*!
     \return
@@ -28144,44 +31483,59 @@ private:
     Parses the pending constraints to gather information on
     how to resize the tableau.
 
+    \note
+    All of the method parameters are output parameters; their value
+    is only meaningful when the function exit returning value \c true.
+
     \return
-    <CODE>UNSATISFIABLE</CODE> if is detected a trivially false constraint,
-    <CODE>SATISFIABLE</CODE> otherwise.
+    \c false if a trivially false constraint is detected, \true otherwise.
 
-    \param new_num_rows
-    This will store the number of rows that has to be added to the original
-    tableau.
+    \param additional_tableau_rows
+    On exit, this will store the number of rows that have to be added
+    to the original tableau.
 
-    \param num_slack_variables
-    This will store the number of slack variables that has to be added to
-    the original tableau.
+    \param additional_slack_variables
+    This will store the number of slack variables that have to be added
+    to the original tableau.
 
     \param is_tableau_constraint
-    Every element of this vector will be set to <CODE>true</CODE> if the
-    associated pending constraint has to be inserted in the tableau,
-    <CODE>false</CODE> otherwise.
-
-    \param nonnegative_variable
-    This will encode for each variable if this one was split or not.
-    Every element of this vector will be set to <CODE>true</CODE> if the
-    associated variable is split, <CODE>false</CODE> otherwise.
-
-    \param unfeasible_tableau_rows
-    This will contain all the row indexes of the tableau that are no more
-    satisfied after adding more constraints to \p *this.
-
-    \param satisfied_ineqs
-    This will contain all the row indexes of the tableau that are already
-    satisfied by `last_generator' and do not require artificial variables to
-    have a starting feasible base.
-
-  */
-  bool parse_constraints(dimension_type& new_num_rows,
-			 dimension_type& num_slack_variables,
+    This container of Boolean flags is initially empty. On exit, it size
+    will be equal to the number of pending constraints in \c input_cs.
+    For each pending constraint index \c i, the corresponding element
+    of this container (having index <CODE>i - first_pending_constraint</CODE>)
+    will be set to \c true if and only if the constraint has to be included
+    in the tableau.
+
+    \param is_satisfied_inequality
+    This container of Boolean flags is initially empty. On exit, its size
+    will be equal to the number of pending constraints in \c input_cs.
+    For each pending constraint index \c i, the corresponding element
+    of this container (having index <CODE>i - first_pending_constraint</CODE>)
+    will be set to \c true if and only if it is an inequality and it
+    is already satisfied by \c last_generator (hence it does not require
+    the introduction of an artificial variable).
+
+    \param is_nonnegative_variable
+    This container of Boolean flags is initially empty.
+    On exit, it size is equal to \c external_space_dim.
+    For each variable (index), the corresponding element of this container
+    is \c true if the variable is known to be nonnegative (and hence should
+    not be split into a positive and a negative part).
+
+    \param is_nonnegative_variable
+    This container of Boolean flags is initially empty.
+    On exit, it size is equal to \c internal_space_dim.
+    For each variable (index), the corresponding element of this container
+    is \c true if the variable was previously split into positive and
+    negative parts that can now be merged back, since it is known
+    that the variable is nonnegative.
+  */
+  bool parse_constraints(dimension_type& additional_tableau_rows,
+			 dimension_type& additional_slack_variables,
 			 std::deque<bool>& is_tableau_constraint,
-			 std::deque<bool>& nonnegative_variable,
-			 std::vector<dimension_type>& unfeasible_tableau_rows,
-			 std::deque<bool>& satisfied_ineqs);
+			 std::deque<bool>& is_satisfied_inequality,
+			 std::deque<bool>& is_nonnegative_variable,
+			 std::deque<bool>& is_remergeable_variable) const;
 
   /*! \brief
     Computes the row index of the variable exiting the base
@@ -28300,6 +31654,18 @@ private:
   /*! \brief
     Drop unnecessary artificial variables from the tableau and get ready
     for the second phase of the simplex algorithm.
+
+    \note
+    The two parameters denote a STL-like half-open range.
+    It is assumed that \p begin_artificials is strictly greater than 0
+    and smaller than \p end_artificials.
+
+    \param begin_artificials
+    The start of the tableau column index range for artificial variables.
+
+    \param end_artificials
+    The end of the tableau column index range for artificial variables.
+    Note that column index end_artificial is \e excluded from the range.
   */
   void erase_artificials(dimension_type begin_artificials,
 			 dimension_type end_artificials);
@@ -28314,18 +31680,18 @@ private:
   void compute_generator() const;
 
   /*! \brief
-    Merges previously split variables in the tableau if a nonnegativity
-    constraint is detected.
+    Merges back the positive and negative part of a (previously split)
+    variable after detecting a corresponding nonnegativity constraint.
+
+    \return
+    If the negative part of \p var_index was in base, the index of
+    the corresponding tableau row (which has become nonfeasible);
+    otherwise \c not_a_dimension().
 
     \param var_index
     The index of the variable that has to be merged.
-
-    \param nonfeasible_cs
-    This will contain all the row indexes that are no more satisfied by
-    the computed generator after merging a variable.
   */
-  void merge_split_variables(dimension_type var_index,
-			      std::vector<dimension_type>& nonfeasible_cs);
+  dimension_type merge_split_variable(dimension_type var_index);
 
   //! Returns <CODE>true</CODE> if and only if \p c is satisfied by \p g.
   static bool is_satisfied(const Constraint& c, const Generator& g);
@@ -28358,40 +31724,43 @@ private:
 				      MIP_Problem& mip,
 				      const Variables_Set& i_vars);
 
+  /*! \brief
+    Returns \c true if and if only the LP problem is satisfiable.
+  */
   bool is_lp_satisfiable() const;
 
   /*! \brief
-    Used with MIP_Problems with a non empty `i_vars',
-    returns <CODE>true</CODE> if and if only a MIP problem is satisfiable,
-    returns <CODE>false</CODE> otherwise.
+    Returns \c true if and if only the LP problem \p lp is satisfiable
+    when variables in \p i_vars can only take integral values.
 
-    \param mip
-    The problem that has to be solved.
-
-    \param p
-    This will encode the feasible point, only if <CODE>true</CODE> is returned.
+    \param lp
+    The LP problem. This is assumed to have no integral space dimension.
 
     \param i_vars
-    The variables that are constrained to take an integer value.
+    The variables that are constrained to take integral values.
+
+    \param p
+    If \c true is returned, it will encode a feasible point.
   */
-  static bool is_mip_satisfiable(MIP_Problem& mip, Generator& p,
-				 const Variables_Set& i_vars);
+  static bool is_mip_satisfiable(MIP_Problem& lp,
+				 const Variables_Set& i_vars,
+                                 Generator& p);
 
   /*! \brief
-    Returns <CODE>true</CODE> if and if only `last_generator' satisfies all the
-    integrality coditions.
+    Returns \c true if and if only \c mip.last_generator satisfies all the
+    integrality coditions implicitly stated using by \p i_vars.
 
-    \param mip
-    The MIP problem.
+    \param lp
+    The LP problem. This is assumed to have no integral space dimension.
 
     \param i_vars
     The variables that are constrained to take an integer value.
 
     \param branching_index
-    If <CODE>false</CODE> is returned, this will encode the variable index on
-    which must be applied the `branch and bound' algorithm.
+    If \c false is returned, this will encode the non-integral variable
+    index on which the `branch and bound' algorithm should be applied.
   */
-  static bool choose_branching_variable(const MIP_Problem& mip,
+  static bool choose_branching_variable(const MIP_Problem& lp,
 					const Variables_Set& i_vars,
 					dimension_type& branching_index);
 };
@@ -28443,7 +31812,7 @@ MIP_Problem::MIP_Problem(const MIP_Problem& y)
     opt_mode(y.opt_mode),
     last_generator(y.last_generator),
     i_variables(y.i_variables) {
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 inline
@@ -28457,7 +31826,7 @@ MIP_Problem::set_optimization_mode(const Optimization_Mode mode) {
     opt_mode = mode;
     if (status == UNBOUNDED || status == OPTIMIZED)
       status = SATISFIABLE;
-    assert(OK());
+    PPL_ASSERT(OK());
   }
 }
 
@@ -28495,7 +31864,7 @@ MIP_Problem::integer_space_dimensions() const {
 inline MIP_Problem::Control_Parameter_Value
 MIP_Problem::get_control_parameter(Control_Parameter_Name name) const {
   used(name);
-  assert(name == PRICING);
+  PPL_ASSERT(name == PRICING);
   return pricing;
 }
 
@@ -28649,7 +32018,7 @@ MIP_Problem::MIP_Problem(const dimension_type dim,
      }
      input_cs.push_back(*i);
    }
-   assert(OK());
+   PPL_ASSERT(OK());
 }
 
 template <typename In>
@@ -28700,9968 +32069,10030 @@ MIP_Problem::MIP_Problem(dimension_type dim,
 	<< "MIP_Problem(dim, first, last, obj, mode):\n"
 	<< "range [first, last) contains a constraint having space"
 	<< "dimension" << " == " << i->space_dimension() << " that exceeds"
-	"this->space_dimension == " << dim << ".";
-      throw std::invalid_argument(s.str());
-    }
-    input_cs.push_back(*i);
-  }
-  assert(OK());
-}
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/MIP_Problem.defs.hh line 805. */
-
-/* Automatically generated from PPL source file ../src/Polyhedron.templates.hh line 28. */
-#include <algorithm>
-#include <deque>
-
-namespace Parma_Polyhedra_Library {
-
-template <typename Interval>
-Polyhedron::Polyhedron(Topology topol,
-                       const Box<Interval>& box,
-                       Complexity_Class)
-  : con_sys(topol),
-    gen_sys(topol),
-    sat_c(),
-    sat_g() {
-  // Initialize the space dimension as indicated by the box.
-  space_dim = box.space_dimension();
-
-  // Check for emptiness.
-  if (box.is_empty()) {
-    set_empty();
-    return;
-  }
-
-  // Zero-dim universe polyhedron.
-  if (space_dim == 0) {
-    set_zero_dim_univ();
-    return;
-  }
-
-  // Insert a dummy constraint of the highest dimension to avoid the
-  // need of resizing the matrix of constraints later;
-  // this constraint will be removed at the end.
-  con_sys.insert(Variable(space_dim - 1) >= 0);
-
-  PPL_DIRTY_TEMP_COEFFICIENT(l_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(l_d);
-  PPL_DIRTY_TEMP_COEFFICIENT(u_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(u_d);
-
-  if (topol == NECESSARILY_CLOSED) {
-    for (dimension_type k = space_dim; k-- > 0; ) {
-      // See if we have a valid lower bound.
-      bool l_closed = false;
-      bool l_bounded = box.get_lower_bound(k, l_closed, l_n, l_d);
-      // See if we have a valid upper bound.
-      bool u_closed = false;
-      bool u_bounded = box.get_upper_bound(k, u_closed, u_n, u_d);
-
-      // See if we have an implicit equality constraint.
-      if (l_bounded && u_bounded
-          && l_closed && u_closed
-          && l_n == u_n && l_d == u_d) {
-        // Add the constraint `l_d*v_k == l_n'.
-        con_sys.insert(l_d * Variable(k) == l_n);
-      }
-      else {
-        if (l_bounded)
-          // Add the constraint `l_d*v_k >= l_n'.
-          con_sys.insert(l_d * Variable(k) >= l_n);
-        if (u_bounded)
-          // Add the constraint `u_d*v_k <= u_n'.
-          con_sys.insert(u_d * Variable(k) <= u_n);
-      }
-    }
-  }
-  else {
-    // topol == NOT_NECESSARILY_CLOSED
-    for (dimension_type k = space_dim; k-- > 0; ) {
-      // See if we have a valid lower bound.
-      bool l_closed = false;
-      bool l_bounded = box.get_lower_bound(k, l_closed, l_n, l_d);
-      // See if we have a valid upper bound.
-      bool u_closed = false;
-      bool u_bounded = box.get_upper_bound(k, u_closed, u_n, u_d);
-
-      // See if we have an implicit equality constraint.
-      if (l_bounded && u_bounded
-          && l_closed && u_closed
-          && l_n == u_n && l_d == u_d) {
-        // Add the constraint `l_d*v_k == l_n'.
-        con_sys.insert(l_d * Variable(k) == l_n);
-      }
-      else {
-        // Check if a lower bound constraint is required.
-        if (l_bounded) {
-          if (l_closed)
-            // Add the constraint `l_d*v_k >= l_n'.
-            con_sys.insert(l_d * Variable(k) >= l_n);
-          else
-            // Add the constraint `l_d*v_k > l_n'.
-            con_sys.insert(l_d * Variable(k) > l_n);
-        }
-        // Check if an upper bound constraint is required.
-        if (u_bounded) {
-          if (u_closed)
-            // Add the constraint `u_d*v_k <= u_n'.
-            con_sys.insert(u_d * Variable(k) <= u_n);
-          else
-            // Add the constraint `u_d*v_k < u_n'.
-            con_sys.insert(u_d * Variable(k) < u_n);
-        }
-      }
-    }
-  }
-
-  // Adding the low-level constraints.
-  con_sys.add_low_level_constraints();
-  // Now removing the dummy constraint inserted before.
-  dimension_type n_rows = con_sys.num_rows() - 1;
-  con_sys[0].swap(con_sys[n_rows]);
-  con_sys.set_sorted(false);
-  // NOTE: here there are no pending constraints.
-  con_sys.set_index_first_pending_row(n_rows);
-  con_sys.erase_to_end(n_rows);
-
-  // Constraints are up-to-date.
-  set_constraints_up_to_date();
-  assert(OK());
-}
-
-template <typename Partial_Function>
-void
-Polyhedron::map_space_dimensions(const Partial_Function& pfunc) {
-  if (space_dim == 0)
-    return;
-
-  if (pfunc.has_empty_codomain()) {
-    // All dimensions vanish: the polyhedron becomes zero_dimensional.
-    if (marked_empty()
-	|| (has_pending_constraints()
-	    && !remove_pending_to_obtain_generators())
-	|| (!generators_are_up_to_date() && !update_generators())) {
-      // Removing all dimensions from the empty polyhedron.
-      space_dim = 0;
-      con_sys.clear();
-    }
-    else
-      // Removing all dimensions from a non-empty polyhedron.
-      set_zero_dim_univ();
-
-    assert(OK());
-    return;
-  }
-
-  const dimension_type new_space_dimension = pfunc.max_in_codomain() + 1;
-
-  if (new_space_dimension == space_dim) {
-    // The partial function `pfunc' is indeed total and thus specifies
-    // a permutation, that is, a renaming of the dimensions.  For
-    // maximum efficiency, we will simply permute the columns of the
-    // constraint system and/or the generator system.
-
-    // We first compute suitable permutation cycles for the columns of
-    // the `con_sys' and `gen_sys' matrices.  We will represent them
-    // with a linear array, using 0 as a terminator for each cycle
-    // (notice that the columns with index 0 of `con_sys' and
-    // `gen_sys' represent the inhomogeneous terms, and thus are
-    // unaffected by the permutation of dimensions).
-    // Cycles of length 1 will be omitted so that, in the worst case,
-    // we will have `space_dim' elements organized in `space_dim/2'
-    // cycles, which means we will have at most `space_dim/2'
-    // terminators.
-    std::vector<dimension_type> cycles;
-    cycles.reserve(space_dim + space_dim/2);
-
-    // Used to mark elements as soon as they are inserted in a cycle.
-    std::deque<bool> visited(space_dim);
-
-    for (dimension_type i = space_dim; i-- > 0; ) {
-      if (!visited[i]) {
-	dimension_type j = i;
-	do {
-	  visited[j] = true;
-	  // The following initialization is only to make the compiler happy.
-	  dimension_type k = 0;
-	  if (!pfunc.maps(j, k))
-	    throw_invalid_argument("map_space_dimensions(pfunc)",
-				   " pfunc is inconsistent");
-	  if (k == j)
-	    // Cycle of length 1: skip it.
-	    goto skip;
-
-	  cycles.push_back(j+1);
-	  // Go along the cycle.
-	  j = k;
-	} while (!visited[j]);
-	// End of cycle: mark it.
-	cycles.push_back(0);
-      skip:
-	;
-      }
-    }
-
-    // If `cycles' is empty then `pfunc' is the identity.
-    if (cycles.empty())
-      return;
-
-    // Permute all that is up-to-date.  Notice that the contents of
-    // the saturation matrices is unaffected by the permutation of
-    // columns: they remain valid, if they were so.
-    if (constraints_are_up_to_date())
-      con_sys.permute_columns(cycles);
-
-    if (generators_are_up_to_date())
-      gen_sys.permute_columns(cycles);
-
-    assert(OK());
-    return;
-  }
-
-  // If control gets here, then `pfunc' is not a permutation and some
-  // dimensions must be projected away.
-
-  // If there are pending constraints, using `generators()' we process them.
-  const Generator_System& old_gensys = generators();
-
-  if (old_gensys.has_no_rows()) {
-    // The polyhedron is empty.
-    Polyhedron new_polyhedron(topology(), new_space_dimension, EMPTY);
-    std::swap(*this, new_polyhedron);
-    assert(OK());
-    return;
-  }
-
-  // Make a local copy of the partial function.
-  std::vector<dimension_type> pfunc_maps(space_dim, not_a_dimension());
-  for (dimension_type j = space_dim; j-- > 0; ) {
-    dimension_type pfunc_j;
-    if (pfunc.maps(j, pfunc_j))
-      pfunc_maps[j] = pfunc_j;
-  }
-
-  Generator_System new_gensys;
-  for (Generator_System::const_iterator i = old_gensys.begin(),
-	 old_gensys_end = old_gensys.end(); i != old_gensys_end; ++i) {
-    const Generator& old_g = *i;
-    Linear_Expression e(0 * Variable(new_space_dimension-1));
-    bool all_zeroes = true;
-    for (dimension_type j = space_dim; j-- > 0; ) {
-      if (old_g.coefficient(Variable(j)) != 0
-	  && pfunc_maps[j] != not_a_dimension()) {
-	e += Variable(pfunc_maps[j]) * old_g.coefficient(Variable(j));
-	all_zeroes = false;
-      }
-    }
-    switch (old_g.type()) {
-    case Generator::LINE:
-      if (!all_zeroes)
-	new_gensys.insert(line(e));
-      break;
-    case Generator::RAY:
-      if (!all_zeroes)
-	new_gensys.insert(ray(e));
-      break;
-    case Generator::POINT:
-      // A point in the origin has all zero homogeneous coefficients.
-      new_gensys.insert(point(e, old_g.divisor()));
-      break;
-    case Generator::CLOSURE_POINT:
-      // A closure point in the origin has all zero homogeneous coefficients.
-      new_gensys.insert(closure_point(e, old_g.divisor()));
-      break;
-    }
-  }
-  Polyhedron new_polyhedron(topology(), new_gensys);
-  std::swap(*this, new_polyhedron);
-  assert(OK(true));
-}
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/Polyhedron.defs.hh line 2715. */
-
-/* Automatically generated from PPL source file ../src/H79_Certificate.inlines.hh line 27. */
-
-namespace Parma_Polyhedra_Library {
-
-inline
-H79_Certificate::H79_Certificate()
-  : affine_dim(0), num_constraints(0) {
-  // This is the certificate for a zero-dim universe polyhedron.
-}
-
-inline
-H79_Certificate::H79_Certificate(const H79_Certificate& y)
-  : affine_dim(y.affine_dim), num_constraints(y.num_constraints) {
-}
-
-inline
-H79_Certificate::~H79_Certificate() {
-}
-
-inline bool
-H79_Certificate::Compare::operator()(const H79_Certificate& x,
-				     const H79_Certificate& y) const {
-  // For an efficient evaluation of the multiset ordering based
-  // on this lgo relation, we want larger elements to come first.
-  return x.compare(y) == 1;
-}
-
-template <typename PH>
-inline
-H79_Certificate::H79_Certificate(const PH& ph)
-  : affine_dim(0), num_constraints(0) {
-  H79_Certificate cert(Polyhedron(NECESSARILY_CLOSED, ph.constraints()));
-  affine_dim = cert.affine_dim;
-  num_constraints = cert.num_constraints;
-}
-
-template <typename PH>
-inline int
-H79_Certificate::compare(const PH& ph) const {
-  return this->compare(Polyhedron(NECESSARILY_CLOSED, ph.constraints()));
-}
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/H79_Certificate.defs.hh line 96. */
-
-/* Automatically generated from PPL source file ../src/Grid_Certificate.defs.hh line 1. */
-/* Grid_Certificate class declaration.
-*/
-
-
-/* Automatically generated from PPL source file ../src/Grid_Certificate.defs.hh line 27. */
-
-/* Automatically generated from PPL source file ../src/Grid_Certificate.defs.hh line 30. */
-#include <cassert>
-#include <vector>
-
-//! The convergence certificate for the Grid widening operator.
-/*! \ingroup PPL_CXX_interface
-  Convergence certificates are used to instantiate the BHZ03 framework
-  so as to define widening operators for the finite powerset domain.
-
-  \note
-  Each convergence certificate has to be used together with a
-  compatible widening operator. In particular, Grid_Certificate can
-  certify the Grid widening.
-*/
-class Parma_Polyhedra_Library::Grid_Certificate {
-public:
-  //! Default constructor.
-  Grid_Certificate();
-
-  //! Constructor: computes the certificate for \p gr.
-  Grid_Certificate(const Grid& gr);
-
-  //! Copy constructor.
-  Grid_Certificate(const Grid_Certificate& y);
-
-  //! Destructor.
-  ~Grid_Certificate();
-
-  //! The comparison function for certificates.
-  /*!
-    \return
-    \f$-1\f$, \f$0\f$ or \f$1\f$ depending on whether \p *this
-    is smaller than, equal to, or greater than \p y, respectively.
-  */
-  int compare(const Grid_Certificate& y) const;
-
-  //! Compares \p *this with the certificate for grid \p gr.
-  int compare(const Grid& gr) const;
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if the certificate for grid
-    \p gr is strictly smaller than \p *this.
-  */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-  bool is_stabilizing(const Grid& gr) const;
-
-  //! A total ordering on Grid certificates.
-  /*!
-    This binary predicate defines a total ordering on Grid certificates
-    which is used when storing information about sets of grids.
-  */
-  struct Compare {
-    //! Returns <CODE>true</CODE> if and only if \p x comes before \p y.
-    bool operator()(const Grid_Certificate& x,
-		    const Grid_Certificate& y) const;
-  };
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  //! Check if gathered information is meaningful.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-  bool OK() const;
-
-private:
-  //! Number of a equalities in a minimized congruence system for the
-  //! grid.
-  dimension_type num_equalities;
-  //! Number of a proper congruences in a minimized congruence system
-  //! for the grid.
-  dimension_type num_proper_congruences;
-};
-
-/* Automatically generated from PPL source file ../src/Grid_Certificate.inlines.hh line 1. */
-/* Grid_Certificate class implementation: inline functions.
-*/
-
-
-namespace Parma_Polyhedra_Library {
-
-inline
-Grid_Certificate::Grid_Certificate()
-  : num_equalities(0), num_proper_congruences(0) {
-  // This is the certificate for a zero-dim universe grid.
-  assert(OK());
-}
-
-inline
-Grid_Certificate::Grid_Certificate(const Grid_Certificate& y)
-  : num_equalities(y.num_equalities),
-    num_proper_congruences(y.num_proper_congruences) {
-}
-
-inline
-Grid_Certificate::~Grid_Certificate() {
-}
-
-inline bool
-Grid_Certificate::is_stabilizing(const Grid& gr) const {
-  return compare(gr) == 1;
-}
-
-inline bool
-Grid_Certificate::Compare::operator()(const Grid_Certificate& x,
-				      const Grid_Certificate& y) const {
-  // For an efficient evaluation of the multiset ordering based
-  // on this lgo relation, we want larger elements to come first.
-  return x.compare(y) == 1;
+	"this->space_dimension == " << dim << ".";
+      throw std::invalid_argument(s.str());
+    }
+    input_cs.push_back(*i);
+  }
+  PPL_ASSERT(OK());
 }
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Grid_Certificate.defs.hh line 102. */
+/* Automatically generated from PPL source file ../src/MIP_Problem.defs.hh line 853. */
 
-/* Automatically generated from PPL source file ../src/Widening_Function.defs.hh line 1. */
-/* Widening_Function class declaration.
+/* Automatically generated from PPL source file ../src/Interval.defs.hh line 1. */
+/* Declarations for the Interval class and its constituents.
 */
 
 
-/* Automatically generated from PPL source file ../src/Widening_Function.types.hh line 1. */
+/* Automatically generated from PPL source file ../src/assign_or_swap.hh line 1. */
+/* The assign_or_swap() utility functions.
+*/
 
 
-namespace Parma_Polyhedra_Library {
+/* Automatically generated from PPL source file ../src/Has_Assign_Or_Swap.hh line 1. */
+/* Has_Assign_Or_Swap classes declarations.
+*/
 
-template <typename PH>
-class Widening_Function;
 
-template <typename PH, typename CS>
-class Limited_Widening_Function;
+/* Automatically generated from PPL source file ../src/Has_Assign_Or_Swap.hh line 27. */
 
-} // namespace Parma_Polyhedra_Library
+namespace Parma_Polyhedra_Library {
 
-/* Automatically generated from PPL source file ../src/Widening_Function.defs.hh line 28. */
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface
+  The assign_or_swap() method is not present by default.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T, typename Enable = void>
+struct Has_Assign_Or_Swap : public False {
+};
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Wraps a widening method into a function object.
-/*! \ingroup PPL_CXX_interface */
+/*! \ingroup PPL_CXX_interface
+  The assign_or_swap() method is present if it is present (!).
+*/
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename PH>
-class Parma_Polyhedra_Library::Widening_Function {
-public:
-  //! The (parametric) type of a widening method.
-  typedef void (PH::* Widening_Method)(const PH&, unsigned*);
+template <typename T>
+struct Has_Assign_Or_Swap<T,
+			  typename Enable_If_Is<void (T::*)(T& x),
+						&T::assign_or_swap>::type>
+  : public True {
+};
 
-  //! Explicit unary constructor.
-  explicit
-  Widening_Function(Widening_Method wm);
+} // namespace Parma_Polyhedra_Library
 
-  //! Function-application operator.
-  /*!
-    Computes <CODE>(x.*wm)(y, tp)</CODE>, where \p wm is the widening
-    method stored at construction time.
-  */
-  void operator()(PH& x, const PH& y, unsigned* tp = 0) const;
+/* Automatically generated from PPL source file ../src/assign_or_swap.hh line 29. */
 
-private:
-  //! The widening method.
-  Widening_Method w_method;
-};
+namespace Parma_Polyhedra_Library {
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface
+  If there is an assign_or_swap() method, use it.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+inline typename Enable_If<Has_Assign_Or_Swap<T>::value, void>::type
+assign_or_swap(T& to, T& from) {
+  to.assign_or_swap(from);
+}
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface
+  If there is no assign_or_swap() method but copies are not slow, copy.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+inline typename Enable_If<!Has_Assign_Or_Swap<T>::value
+                          && !Slow_Copy<T>::value, void>::type
+assign_or_swap(T& to, T& from) {
+  to = from;
+}
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Wraps a limited widening method into a function object.
-/*! \ingroup PPL_CXX_interface */
+/*! \ingroup PPL_CXX_interface
+  If there is no assign_or_swap() and copies are slow, delegate to std::swap().
+*/
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename PH, typename CS>
-class Parma_Polyhedra_Library::Limited_Widening_Function {
-public:
-  //! The (parametric) type of a limited widening method.
-  typedef void (PH::* Limited_Widening_Method)(const PH&,
-					       const CS&,
-					       unsigned*);
+template <typename T>
+inline typename Enable_If<!Has_Assign_Or_Swap<T>::value
+                          && Slow_Copy<T>::value, void>::type
+assign_or_swap(T& to, T& from) {
+  std::swap(to, from);
+}
 
-  //! Constructor.
-  /*!
-    \param lwm
-    The limited widening method.
+} // namespace Parma_Polyhedra_Library
 
-    \param cs
-    The constraint system limiting the widening.
-  */
-  Limited_Widening_Function(Limited_Widening_Method lwm,
-			    const CS& cs);
+/* Automatically generated from PPL source file ../src/intervals.defs.hh line 1. */
+/* Helper classes for intervals.
+*/
 
-  //! Function-application operator.
-  /*!
-    Computes <CODE>(x.*lwm)(y, cs, tp)</CODE>, where \p lwm and \p cs
-    are the limited widening method and the constraint system stored
-    at construction time.
-  */
-  void operator()(PH& x, const PH& y, unsigned* tp = 0) const;
 
-private:
-  //! The limited widening method.
-  Limited_Widening_Method lw_method;
-  //! A constant reference to the constraint system limiting the widening.
-  const CS& limiting_cs;
-};
+/* Automatically generated from PPL source file ../src/intervals.defs.hh line 27. */
+#include <cstdlib>
+
+/* Automatically generated from PPL source file ../src/intervals.defs.hh line 30. */
 
 namespace Parma_Polyhedra_Library {
 
-//! Wraps a widening method into a function object.
-/*!
-  \relates Pointset_Powerset
+enum I_Result {
+  //! The resulting set may be empty
+  I_EMPTY = 1,
+  //! The resulting set may have only one value
+  I_SINGLETON = 2,
+  //! The resulting set may have more than one value and to be not the domain universe
+  I_SOME = 4,
+  //! The resulting set may be the domain universe
+  I_UNIVERSE = 8,
+  //! The resulting set is not empty
+  I_NOT_EMPTY = I_SINGLETON | I_SOME | I_UNIVERSE,
+  //! The resulting set may be empty or not empty
+  I_ANY = I_EMPTY | I_NOT_EMPTY,
+  //! The resulting set may be empty or not empty
+  I_NOT_UNIVERSE = I_EMPTY | I_SINGLETON | I_SOME,
+  //! The resulting set can'be empty or the domain universe
+  I_NOT_DEGENERATE = I_SINGLETON | I_SOME,
+  //! The resulting set is definitely exact
+  I_EXACT = 16,
+  //! The resulting set is definitely inexact
+  I_INEXACT = 32,
+  //! The operation has definitely changed the set
+  I_CHANGED = 64,
+  //! The operation has left the set definitely unchanged
+  I_UNCHANGED = 128,
+  //! The operation is undefined for some combination of values
+  I_SINGULARITIES = 256
+};
 
-  \param wm
-  The widening method.
-*/
-template <typename PH>
-Widening_Function<PH>
-widen_fun_ref(void (PH::* wm)(const PH&, unsigned*));
+inline I_Result operator|(I_Result a, I_Result b) {
+  return static_cast<I_Result>((unsigned)a | (unsigned)b);
+}
 
-//! Wraps a limited widening method into a function object.
-/*!
-  \relates Pointset_Powerset
+inline I_Result operator&(I_Result a, I_Result b) {
+  return static_cast<I_Result>((unsigned)a & (unsigned)b);
+}
 
-  \param lwm
-  The limited widening method.
+inline I_Result operator-(I_Result a, I_Result b) {
+  return static_cast<I_Result>((unsigned)a & ~(unsigned)b);
+}
 
-  \param cs
-  The constraint system limiting the widening.
-*/
-template <typename PH, typename CS>
-Limited_Widening_Function<PH, CS>
-widen_fun_ref(void (PH::* lwm)(const PH&, const CS&, unsigned*),
-	      const CS& cs);
+template <typename Criteria, typename T>
+struct Use_By_Ref;
 
-} // namespace Parma_Polyhedra_Library
+struct Use_Slow_Copy;
+template <typename T>
+struct Use_By_Ref<Use_Slow_Copy, T>
+  : public Bool<Slow_Copy<T>::value> {
+};
 
-/* Automatically generated from PPL source file ../src/Widening_Function.inlines.hh line 1. */
-/* Widening_Function class implementation: inline functions.
-*/
+struct By_Value;
+template <typename T>
+struct Use_By_Ref<By_Value, T>
+  : public False {
+};
 
+struct By_Ref;
+template <typename T>
+struct Use_By_Ref<By_Ref, T>
+  : public True {
+};
 
-#include <cassert>
+template <typename T, typename Criteria = Use_Slow_Copy, typename Enable = void>
+class Val_Or_Ref;
 
-namespace Parma_Polyhedra_Library {
+template <typename T, typename Criteria>
+class Val_Or_Ref<T, Criteria,
+		 typename Enable_If<!Use_By_Ref<Criteria, T>::value>::type> {
+  T value;
+public:
+  typedef T Arg_Type;
+  typedef T Return_Type;
+  Val_Or_Ref()
+    : value() {
+  }
+  explicit Val_Or_Ref(Arg_Type v, bool = false)
+    : value(v) {
+  }
+  Val_Or_Ref& operator=(Arg_Type v) {
+    value = v;
+    return *this;
+  }
+  void set(Arg_Type v, bool = false) {
+    value = v;
+  }
+  Return_Type get() const {
+    return value;
+  }
+  operator Return_Type () const {
+    return get();
+  }
+};
 
-template <typename PH>
-Widening_Function<PH>::Widening_Function(Widening_Method wm)
-  : w_method(wm) {
+template <typename T, typename Criteria>
+class Val_Or_Ref<T, Criteria,
+		 typename Enable_If<Use_By_Ref<Criteria, T>::value>::type> {
+  const T* ptr;
+public:
+  typedef T& Arg_Type;
+  typedef const T& Return_Type;
+  Val_Or_Ref()
+    : ptr(0) {
+  }
+  explicit Val_Or_Ref(Arg_Type v)
+    : ptr(&v) {
+  }
+  Val_Or_Ref(const T& v, bool)
+    : ptr(&v) {
+  }
+  Val_Or_Ref& operator=(Arg_Type v) {
+    ptr = &v;
+    return *this;
+  }
+  void set(Arg_Type v) {
+    ptr = &v;
+  }
+  void set(const T& v, bool) {
+    ptr = &v;
+  }
+  Return_Type get() const {
+    return *ptr;
+  }
+  operator Return_Type () const {
+    return get();
+  }
+};
+
+class I_Constraint_Base {
+};
+
+template <typename Derived>
+class I_Constraint_Common : public I_Constraint_Base {
+public:
+  template <typename T>
+  Result convert_real(T& to) const {
+    const Derived& c = static_cast<const Derived&>(*this);
+    Result r = c.rel();
+    switch (r) {
+    case V_EMPTY:
+    case V_LGE:
+      return r;
+    case V_LE:
+      r = assign_r(to, c.value(), static_cast<Rounding_Dir>(ROUND_UP | ROUND_STRICT_RELATION));
+      r = result_relation_class(r);
+      if (r == V_EQ)
+	return V_LE;
+      goto lt;
+    case V_LT:
+      r = assign_r(to, c.value(), ROUND_UP);
+      r = result_relation_class(r);
+    lt:
+      switch (r) {
+      case V_EMPTY:
+      case V_LT_PLUS_INFINITY:
+      case V_EQ_MINUS_INFINITY:
+	return r;
+      case V_LT:
+      case V_LE:
+      case V_EQ:
+	return V_LT;
+      default:
+	break;
+      }
+      break;
+    case V_GE:
+      r = assign_r(to, c.value(), static_cast<Rounding_Dir>(ROUND_DOWN | ROUND_STRICT_RELATION));
+      r = result_relation_class(r);
+      if (r == V_EQ)
+	return V_GE;
+      goto gt;
+    case V_GT:
+      r = assign_r(to, c.value(), ROUND_DOWN);
+      r = result_relation_class(r);
+    gt:
+      switch (r) {
+      case V_EMPTY:
+      case V_GT_MINUS_INFINITY:
+      case V_EQ_PLUS_INFINITY:
+	return r;
+      case V_LT:
+      case V_LE:
+      case V_EQ:
+	return V_GT;
+      default:
+	break;
+      }
+      break;
+    case V_EQ:
+      r = assign_r(to, c.value(), ROUND_CHECK);
+      r = result_relation_class(r);
+      PPL_ASSERT(r != V_LT && r != V_GT);
+      if (r == V_EQ)
+	return V_EQ;
+      else
+	return V_EMPTY;
+    case V_NE:
+      r = assign_r(to, c.value(), ROUND_CHECK);
+      r = result_relation_class(r);
+      if (r == V_EQ)
+	return V_NE;
+      else
+	return V_LGE;
+    default:
+      break;
+    }
+    PPL_ASSERT(false);
+    return V_EMPTY;
+  }
+  template <typename T>
+  Result convert_real(T& to1, Result& rel2, T& to2) const {
+    const Derived& c = static_cast<const Derived&>(*this);
+    Result rel1;
+    if (c.rel() != V_EQ) {
+      rel2 = convert(to2);
+      return V_LGE;
+    }
+    rel2 = assign_r(to2, c.value(), ROUND_UP);
+    rel2 = result_relation_class(rel2);
+    switch (rel2) {
+    case V_EMPTY:
+    case V_EQ_MINUS_INFINITY:
+    case V_EQ:
+      return V_LGE;
+    default:
+      break;
+    }
+    rel1 = assign_r(to1, c.value(), ROUND_DOWN);
+    rel1 = result_relation_class(rel1);
+    switch (rel1) {
+    case V_EQ:
+      PPL_ASSERT(rel2 == V_LE);
+      goto eq;
+    case V_EQ_PLUS_INFINITY:
+    case V_EMPTY:
+      rel2 = rel1;
+      return V_LGE;
+    case V_GE:
+      if (rel2 == V_LE && to1 == to2) {
+      eq:
+	rel2 = V_EQ;
+	return V_LGE;
+      }
+      /* Fall through*/
+    case V_GT:
+    case V_GT_MINUS_INFINITY:
+      return rel1;
+    default:
+      PPL_ASSERT(false);
+      return V_EMPTY;
+    }
+    switch (rel2) {
+    case V_LE:
+    case V_LT:
+    case V_LT_PLUS_INFINITY:
+      return rel1;
+    default:
+      PPL_ASSERT(false);
+      return V_EMPTY;
+    }
+  }
+  template <typename T>
+  Result convert_integer(T& to) const {
+    Result rel = convert_real(to);
+    switch (rel) {
+    case V_LT:
+      if (is_integer(to)) {
+	rel = sub_assign_r(to, to, T(1),
+			   static_cast<Rounding_Dir>(ROUND_UP | ROUND_STRICT_RELATION));
+	rel = result_relation_class(rel);
+	return rel == V_EQ ? V_LE : rel;
+      }
+      /* Fall through */
+    case V_LE:
+      rel = floor_assign_r(to, to, ROUND_UP);
+      rel = result_relation_class(rel);
+      PPL_ASSERT(rel == V_EQ);
+      return V_LE;
+    case V_GT:
+      if (is_integer(to)) {
+	rel = add_assign_r(to, to, T(1),
+			   static_cast<Rounding_Dir>(ROUND_DOWN | ROUND_STRICT_RELATION));
+	rel = result_relation_class(rel);
+	return rel == V_EQ ? V_GE : rel;
+      }
+      /* Fall through */
+    case V_GE:
+      rel = ceil_assign_r(to, to, ROUND_DOWN);
+      rel = result_relation_class(rel);
+      PPL_ASSERT(rel == V_EQ);
+      return V_GE;
+    case V_EQ:
+      if (is_integer(to))
+	return V_EQ;
+      return V_EMPTY;
+    case V_NE:
+      if (is_integer(to))
+	return V_NE;
+      return V_LGE;
+    default:
+      return rel;
+    }
+  }
+};
+
+struct I_Constraint_Rel {
+  Result rel;
+  I_Constraint_Rel(Result r)
+    : rel(r) {
+    PPL_ASSERT(result_relation_class(r) == r);
+  }
+  I_Constraint_Rel(Relation_Symbol r)
+    : rel((Result)r) {
+  }
+  operator Result() const {
+    return rel;
+  }
+};
+
+template <typename T, typename Val_Or_Ref_Criteria = Use_Slow_Copy,
+	  bool extended = false>
+class I_Constraint : public I_Constraint_Common<I_Constraint<T, Val_Or_Ref_Criteria, extended> > {
+  typedef Val_Or_Ref<T, Val_Or_Ref_Criteria> Val_Ref;
+  typedef typename Val_Ref::Arg_Type Arg_Type;
+  typedef typename Val_Ref::Return_Type Return_Type;
+  Result rel_;
+  Val_Ref value_;
+public:
+  typedef T value_type;
+  explicit I_Constraint()
+    : rel_(V_LGE) {
+  }
+  I_Constraint(I_Constraint_Rel r, Arg_Type v)
+    : rel_(r), value_(v) {
+  }
+  I_Constraint(I_Constraint_Rel r, const T& v, bool force)
+    : rel_(r), value_(v, force) {
+  }
+  template <typename U>
+  I_Constraint(I_Constraint_Rel r, const U& v)
+    : rel_(r), value_(v) {
+  }
+  void set(I_Constraint_Rel r, Arg_Type v) {
+    rel_ =  r;
+    value_.set(v);
+  }
+  void set(I_Constraint_Rel r, const T& v, bool force) {
+    rel_ =  r;
+    value_.set(v, force);
+  }
+  template <typename U>
+  void set(I_Constraint_Rel r, const U& v) {
+    rel_ = r;
+    value_.set(v);
+  }
+  Return_Type value() const {
+    return value_;
+  }
+  Result rel() const {
+    return rel_;
+  }
+};
+
+template <typename T>
+inline I_Constraint<T>
+i_constraint(I_Constraint_Rel rel, const T& v) {
+  return I_Constraint<T>(rel, v);
 }
 
-template <typename PH>
-inline void
-Widening_Function<PH>::
-operator()(PH& x, const PH& y, unsigned* tp) const {
-  (x.*w_method)(y, tp);
+template <typename T>
+inline I_Constraint<T>
+i_constraint(I_Constraint_Rel rel, const T& v, bool force) {
+  return I_Constraint<T>(rel, v, force);
 }
 
-template <typename PH, typename CS>
-Limited_Widening_Function<PH, CS>::
-Limited_Widening_Function(Limited_Widening_Method lwm,
-			  const CS& cs)
-  : lw_method(lwm), limiting_cs(cs) {
+template <typename T>
+inline I_Constraint<T>
+i_constraint(I_Constraint_Rel rel, T& v) {
+  return I_Constraint<T>(rel, v);
 }
 
-template <typename PH, typename CS>
-inline void
-Limited_Widening_Function<PH, CS>::
-operator()(PH& x, const PH& y, unsigned* tp) const {
-  (x.*lw_method)(y, limiting_cs, tp);
+template <typename T, typename Val_Or_Ref_Criteria>
+inline I_Constraint<T, Val_Or_Ref_Criteria>
+i_constraint(I_Constraint_Rel rel, const T& v, const Val_Or_Ref_Criteria&) {
+  return I_Constraint<T, Val_Or_Ref_Criteria>(rel, v);
 }
 
-/*! \relates Pointset_Powerset */
-template <typename PH>
-inline Widening_Function<PH>
-widen_fun_ref(void (PH::* wm)(const PH&, unsigned*)) {
-  return Widening_Function<PH>(wm);
+template <typename T, typename Val_Or_Ref_Criteria>
+inline I_Constraint<T, Val_Or_Ref_Criteria>
+i_constraint(I_Constraint_Rel rel, const T& v, bool force, const Val_Or_Ref_Criteria&) {
+  return I_Constraint<T, Val_Or_Ref_Criteria>(rel, v, force);
 }
 
-/*! \relates Pointset_Powerset */
-template <typename PH, typename CS>
-inline Limited_Widening_Function<PH, CS>
-widen_fun_ref(void (PH::* lwm)(const PH&, const CS&, unsigned*),
-	      const CS& cs) {
-  return Limited_Widening_Function<PH, CS>(lwm, cs);
+template <typename T, typename Val_Or_Ref_Criteria>
+inline I_Constraint<T, Val_Or_Ref_Criteria>
+i_constraint(I_Constraint_Rel rel, T& v, const Val_Or_Ref_Criteria&) {
+  return I_Constraint<T, Val_Or_Ref_Criteria>(rel, v);
 }
 
 } // namespace Parma_Polyhedra_Library
 
+/* Automatically generated from PPL source file ../src/Interval.types.hh line 1. */
 
-/* Automatically generated from PPL source file ../src/Widening_Function.defs.hh line 125. */
 
-/* Automatically generated from PPL source file ../src/max_space_dimension.hh line 1. */
-/* Definition of functions yielding maximal space dimensions.
-*/
+namespace Parma_Polyhedra_Library {
+
+template <typename Boundary, typename Info>
+class Interval;
 
+} // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/C_Polyhedron.defs.hh line 1. */
-/* C_Polyhedron class declaration.
+/* Automatically generated from PPL source file ../src/Interval_Info.defs.hh line 1. */
+/* Interval_Info class declaration and implementation.
 */
 
 
-/* Automatically generated from PPL source file ../src/C_Polyhedron.types.hh line 1. */
+/* Automatically generated from PPL source file ../src/Boundary.defs.hh line 1. */
+/* Interval boundary functions.
+*/
+
 
+/* Automatically generated from PPL source file ../src/Boundary.defs.hh line 27. */
 
 namespace Parma_Polyhedra_Library {
 
-class C_Polyhedron;
+namespace Boundary_NS {
 
-} // namespace Parma_Polyhedra_Library
+struct Property {
+  enum Type {
+    SPECIAL_,
+    OPEN_,
+    NORMALIZED_
+  };
+  typedef bool Value;
+  static const Value default_value = true;
+  static const Value unsupported_value = false;
+  Property(Type t)
+    : type(t) {
+  }
+  Type type;
+};
 
-/* Automatically generated from PPL source file ../src/NNC_Polyhedron.types.hh line 1. */
+static const Property SPECIAL(Property::SPECIAL_);
+static const Property OPEN(Property::OPEN_);
+static const Property NORMALIZED(Property::NORMALIZED_);
 
+enum Boundary_Type {
+  LOWER = ROUND_DOWN,
+  UPPER = ROUND_UP
+};
 
-namespace Parma_Polyhedra_Library {
+inline Rounding_Dir
+round_dir_check(Boundary_Type t, bool check = false) {
+  if (check)
+    return static_cast<Rounding_Dir>(t | ROUND_STRICT_RELATION);
+  else
+    return static_cast<Rounding_Dir>(t);
+}
 
-class NNC_Polyhedron;
+template <typename T, typename Info>
+inline Result
+special_set_boundary_infinity(Boundary_Type type, T&, Info& info) {
+  PPL_ASSERT(Info::store_special);
+  info.set_boundary_property(type, SPECIAL);
+  return V_EQ;
+}
 
-} // namespace Parma_Polyhedra_Library
+template <typename T, typename Info>
+inline bool
+special_is_open(Boundary_Type, const T&, const Info&) {
+  return !Info::may_contain_infinity;
+}
 
-/* Automatically generated from PPL source file ../src/C_Polyhedron.defs.hh line 32. */
+template <typename T, typename Info>
+inline bool
+normal_is_open(Boundary_Type type, const T& x, const Info& info) {
+  if (Info::store_open)
+    return info.get_boundary_property(type, OPEN);
+  else
+    return !Info::store_special && !Info::may_contain_infinity
+      && normal_is_boundary_infinity(type, x, info);
+}
 
-//! A closed convex polyhedron.
-/*! \ingroup PPL_CXX_interface
-    An object of the class C_Polyhedron represents a
-    <EM>topologically closed</EM> convex polyhedron
-    in the vector space \f$\Rset^n\f$.
+template <typename T, typename Info>
+inline bool
+is_open(Boundary_Type type, const T& x, const Info& info) {
+  if (Info::store_open)
+    return info.get_boundary_property(type, OPEN);
+  else
+    return !Info::may_contain_infinity
+      && is_boundary_infinity(type, x, info);
+}
 
-    When building a closed polyhedron starting from
-    a system of constraints, an exception is thrown if the system
-    contains a <EM>strict inequality</EM> constraint.
-    Similarly, an exception is thrown when building a closed polyhedron
-    starting from a system of generators containing a <EM>closure point</EM>.
+template <typename T, typename Info>
+inline Result
+set_unbounded(Boundary_Type type, T& x, Info& info) {
+  PPL_COMPILE_TIME_CHECK(Info::store_special
+                         || std::numeric_limits<T>::is_bounded
+                         || std::numeric_limits<T>::has_infinity,
+                         "unbounded is not representable");
+  Result r;
+  if (Info::store_special)
+    r = special_set_boundary_infinity(type, x, info);
+  else if (type == LOWER)
+    r = assign_r(x, MINUS_INFINITY, ROUND_UP);
+  else
+    r = assign_r(x, PLUS_INFINITY, ROUND_DOWN);
+  if (result_relation(r) == VR_EQ && !Info::may_contain_infinity)
+    info.set_boundary_property(type, OPEN);
+  return r;
+}
 
-    \note
-    Such an exception will be obtained even if the system of
-    constraints (resp., generators) actually defines
-    a topologically closed subset of the vector space, i.e.,
-    even if all the strict inequalities (resp., closure points)
-    in the system happen to be redundant with respect to the
-    system obtained by removing all the strict inequality constraints
-    (resp., all the closure points).
-    In contrast, when building a closed polyhedron starting from
-    an object of the class NNC_Polyhedron,
-    the precise topological closure test will be performed.
-*/
+template <typename T, typename Info>
+inline Result
+set_minus_infinity(Boundary_Type type, T& x, Info& info, bool open = false) {
+  /*
+  PPL_COMPILE_TIME_CHECK(Info::store_special
+                         || std::numeric_limits<T>::has_infinity,
+                         "minus infinity is not representable");
+  */
+  if (open) {
+    PPL_ASSERT(type == LOWER);
+  }
+  else {
+    PPL_ASSERT(Info::may_contain_infinity);
+  }
+  Result r;
+  if (Info::store_special) {
+    PPL_ASSERT(type == LOWER);
+    r = special_set_boundary_infinity(type, x, info);
+  }
+  else {
+    r = assign_r(x, MINUS_INFINITY, round_dir_check(type));
+    PPL_ASSERT(result_representable(r));
+  }
+  if (open || result_relation(r) != VR_EQ)
+    info.set_boundary_property(type, OPEN);
+  return r;
+}
 
-class Parma_Polyhedra_Library::C_Polyhedron : public Polyhedron {
-public:
-  //! Builds either the universe or the empty C polyhedron.
-  /*!
-    \param num_dimensions
-    The number of dimensions of the vector space enclosing the C polyhedron;
+template <typename T, typename Info>
+inline Result
+set_plus_infinity(Boundary_Type type, T& x, Info& info, bool open = false) {
+  /*
+  PPL_COMPILE_TIME_CHECK(Info::store_special
+                         || std::numeric_limits<T>::has_infinity,
+                         "minus infinity is not representable");
+  */
+  if (open) {
+    PPL_ASSERT(type == UPPER);
+  }
+  else {
+    PPL_ASSERT(Info::may_contain_infinity);
+  }
+  Result r;
+  if (Info::store_special) {
+    PPL_ASSERT(type == UPPER);
+    r = special_set_boundary_infinity(type, x, info);
+  }
+  else {
+    r = assign_r(x, PLUS_INFINITY, round_dir_check(type));
+    PPL_ASSERT(result_representable(r));
+  }
+  if (open || result_relation(r) != VR_EQ)
+    info.set_boundary_property(type, OPEN);
+  return r;
+}
 
-    \param kind
-    Specifies whether a universe or an empty C polyhedron should be built.
+template <typename T, typename Info>
+inline Result
+set_boundary_infinity(Boundary_Type type, T& x, Info& info, bool open = false) {
+  PPL_ASSERT(open || Info::may_contain_infinity);
+  Result r;
+  if (Info::store_special)
+    r = special_set_boundary_infinity(type, x, info);
+  else if (type == LOWER)
+    r = assign_r(x, MINUS_INFINITY, round_dir_check(type));
+  else
+    r = assign_r(x, PLUS_INFINITY, round_dir_check(type));
+  PPL_ASSERT(result_representable(r));
+  if (open)
+    info.set_boundary_property(type, OPEN);
+  return r;
+}
 
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space dimension.
+template <typename T, typename Info>
+inline Result
+shrink(Boundary_Type type, T& x, Info& info, bool check) {
+  Result r;
+  PPL_ASSERT(!info.get_boundary_property(type, SPECIAL));
+  if (type == LOWER) {
+    r = info.restrict(round_dir_check(type, check), x, V_GT);
+    if (r != V_GT)
+      return r;
+  } else {
+    r = info.restrict(round_dir_check(type, check), x, V_LT);
+    if (r != V_LT)
+      return r;
+  }
+  info.set_boundary_property(type, OPEN);
+  return r;
+}
 
-    Both parameters are optional:
-    by default, a 0-dimension space universe C polyhedron is built.
-  */
-  explicit C_Polyhedron(dimension_type num_dimensions = 0,
-			Degenerate_Element kind = UNIVERSE);
+template <typename T, typename Info>
+inline bool
+is_domain_inf(Boundary_Type type, const T& x, const Info& info) {
+  if (Info::store_special && type == LOWER)
+    return info.get_boundary_property(type, SPECIAL);
+  else if (std::numeric_limits<T>::has_infinity)
+    return Parma_Polyhedra_Library::is_minus_infinity(x);
+  else if (std::numeric_limits<T>::is_bounded)
+    return x == std::numeric_limits<T>::min();
+  else
+    return false;
+}
 
-  //! Builds a C polyhedron from a system of constraints.
-  /*!
-    The polyhedron inherits the space dimension of the constraint system.
+template <typename T, typename Info>
+inline bool
+is_domain_sup(Boundary_Type type, const T& x, const Info& info) {
+  if (Info::store_special && type == UPPER)
+    return info.get_boundary_property(type, SPECIAL);
+  else if (std::numeric_limits<T>::has_infinity)
+    return Parma_Polyhedra_Library::is_plus_infinity(x);
+  else if (std::numeric_limits<T>::is_bounded)
+      return x == std::numeric_limits<T>::max();
+  else
+    return false;
+}
+
+template <typename T, typename Info>
+inline bool
+normal_is_boundary_infinity(Boundary_Type type, const T& x, const Info&) {
+  if (!std::numeric_limits<T>::has_infinity)
+    return false;
+  if (type == LOWER)
+    return Parma_Polyhedra_Library::is_minus_infinity(x);
+  else
+    return Parma_Polyhedra_Library::is_plus_infinity(x);
+}
 
-    \param cs
-    The system of constraints defining the polyhedron.
+template <typename T, typename Info>
+inline bool
+is_boundary_infinity(Boundary_Type type, const T& x, const Info& info) {
+  if (Info::store_special)
+    return info.get_boundary_property(type, SPECIAL);
+  else
+    return normal_is_boundary_infinity(type, x, info);
+}
 
-    \exception std::invalid_argument
-    Thrown if the system of constraints contains strict inequalities.
-  */
-  explicit C_Polyhedron(const Constraint_System& cs);
+template <typename T, typename Info>
+inline bool
+normal_is_reverse_infinity(Boundary_Type type, const T& x, const Info&) {
+  if (!Info::may_contain_infinity)
+    return false;
+  else if (type == LOWER)
+    return Parma_Polyhedra_Library::is_plus_infinity(x);
+  else
+    return Parma_Polyhedra_Library::is_minus_infinity(x);
+}
 
-  //! Builds a C polyhedron recycling a system of constraints.
-  /*!
-    The polyhedron inherits the space dimension of the constraint system.
+template <typename T, typename Info>
+inline bool
+is_minus_infinity(Boundary_Type type, const T& x, const Info& info) {
+  if (type == LOWER) {
+    if (Info::store_special)
+      return info.get_boundary_property(type, SPECIAL);
+    else
+      return normal_is_boundary_infinity(type, x, info);
+  }
+  else
+    return !Info::store_special && normal_is_reverse_infinity(type, x, info);
+}
 
-    \param cs
-    The system of constraints defining the polyhedron.  It is not
-    declared <CODE>const</CODE> because its data-structures may be
-    recycled to build the polyhedron.
+template <typename T, typename Info>
+inline bool
+is_plus_infinity(Boundary_Type type, const T& x, const Info& info) {
+  if (type == UPPER) {
+    if (Info::store_special)
+      return info.get_boundary_property(type, SPECIAL);
+    else
+      return normal_is_boundary_infinity(type, x, info);
+  }
+  else
+    return !Info::store_special && normal_is_reverse_infinity(type, x, info);
+}
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
+template <typename T, typename Info>
+inline bool
+is_reverse_infinity(Boundary_Type type, const T& x, const Info& info) {
+  return normal_is_reverse_infinity(type, x, info);
+}
 
-    \exception std::invalid_argument
-    Thrown if the system of constraints contains strict inequalities.
-  */
-  C_Polyhedron(Constraint_System& cs, Recycle_Input dummy);
+template <typename T, typename Info>
+inline int
+is_infinity(Boundary_Type type, const T& x, const Info& info) {
+  if (is_boundary_infinity(type, x, info))
+    return type == LOWER ? -1 : 1;
+  else if (is_reverse_infinity(type, x, info))
+    return type == UPPER ? -1 : 1;
+  else
+    return 0;
+}
 
-  //! Builds a C polyhedron from a system of generators.
-  /*!
-    The polyhedron inherits the space dimension of the generator system.
+template <typename T, typename Info>
+inline bool
+is_boundary_infinity_closed(Boundary_Type type, const T& x, const Info& info) {
+  return Info::may_contain_infinity
+    && !info.get_boundary_property(type, OPEN)
+    && is_boundary_infinity(type, x, info);
+}
 
-    \param gs
-    The system of generators defining the polyhedron.
+template <typename Info>
+inline bool
+boundary_infinity_is_open(Boundary_Type type, const Info& info) {
+  return !Info::may_contain_infinity
+    || info.get_boundary_property(type, OPEN);
+}
 
-    \exception std::invalid_argument
-    Thrown if the system of generators is not empty but has no points,
-    or if it contains closure points.
-  */
-  explicit C_Polyhedron(const Generator_System& gs);
+template <typename T, typename Info>
+inline int
+sgn_b(Boundary_Type type, const T& x, const Info& info) {
+  if (info.get_boundary_property(type, SPECIAL))
+    return type == LOWER ? -1 : 1;
+  else
+    // The following Parma_Polyhedra_Library:: qualification is to work
+    // around a bug of GCC 4.0.x.
+    return Parma_Polyhedra_Library::sgn(x);
+}
 
-  //! Builds a C polyhedron recycling a system of generators.
-  /*!
-    The polyhedron inherits the space dimension of the generator system.
+template <typename T, typename Info>
+inline int
+sgn(Boundary_Type type, const T& x, const Info& info) {
+  int sign = sgn_b(type, x, info);
+  if (x == 0 && info.get_boundary_property(type, OPEN))
+    return type == LOWER ? -1 : 1;
+  else
+    return sign;
+}
 
-    \param gs
-    The system of generators defining the polyhedron.  It is not
-    declared <CODE>const</CODE> because its data-structures may be
-    recycled to build the polyhedron.
+template <typename T1, typename Info1, typename T2, typename Info2>
+inline bool
+eq(Boundary_Type type1, const T1& x1, const Info1& info1,
+   Boundary_Type type2, const T2& x2, const Info2& info2) {
+  if (type1 == type2) {
+    if (is_open(type1, x1, info1)
+	!= is_open(type2, x2, info2))
+      return false;
+  }
+  else if (is_open(type1, x1, info1)
+	   || is_open(type2, x2, info2))
+    return false;
+  if (is_minus_infinity(type1, x1, info1))
+    return is_minus_infinity(type2, x2, info2);
+  else if (is_plus_infinity(type1, x1, info1))
+    return is_plus_infinity(type2, x2, info2);
+  else if (is_minus_infinity(type2, x2, info2)
+           || is_plus_infinity(type2, x2, info2))
+    return false;
+  else
+    return equal(x1, x2);
+}
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
+template <typename T1, typename Info1, typename T2, typename Info2>
+inline bool
+lt(Boundary_Type type1, const T1& x1, const Info1& info1,
+   Boundary_Type type2, const T2& x2, const Info2& info2) {
+  if (is_open(type1, x1, info1)) {
+    if (type1 == UPPER
+	&& (type2 == LOWER
+	    || !is_open(type2, x2, info2)))
+      goto le;
+  }
+  else if (type2 == LOWER
+	   && is_open(type2, x2, info2)) {
+  le:
+    if (is_minus_infinity(type1, x1, info1)
+	|| is_plus_infinity(type2, x2, info2))
+      return true;
+    if (is_plus_infinity(type1, x1, info1)
+	|| is_minus_infinity(type2, x2, info2))
+      return false;
+    else
+      return less_or_equal(x1, x2);
+  }
+  if (is_plus_infinity(type1, x1, info1)
+      || is_minus_infinity(type2, x2, info2))
+    return false;
+  if (is_minus_infinity(type1, x1, info1)
+      || is_plus_infinity(type2, x2, info2))
+    return true;
+  else
+    return less_than(x1, x2);
+}
 
-    \exception std::invalid_argument
-    Thrown if the system of generators is not empty but has no points,
-    or if it contains closure points.
-  */
-  C_Polyhedron(Generator_System& gs, Recycle_Input dummy);
+template <typename T1, typename Info1, typename T2, typename Info2>
+inline bool
+gt(Boundary_Type type1, const T1& x1, const Info1& info1,
+   Boundary_Type type2, const T2& x2, const Info2& info2) {
+  return lt(type2, x2, info2, type1, x1, info1);
+}
 
-  //! Builds a C polyhedron from a system of congruences.
-  /*!
-    The polyhedron inherits the space dimension of the congruence system.
+template <typename T1, typename Info1, typename T2, typename Info2>
+inline bool
+le(Boundary_Type type1, const T1& x1, const Info1& info1,
+   Boundary_Type type2, const T2& x2, const Info2& info2) {
+  return !gt(type1, x1, info1, type2, x2, info2);
+}
 
-    \param cgs
-    The system of congruences defining the polyhedron.
-  */
-  explicit C_Polyhedron(const Congruence_System& cgs);
+template <typename T1, typename Info1, typename T2, typename Info2>
+inline bool
+ge(Boundary_Type type1, const T1& x1, const Info1& info1,
+   Boundary_Type type2, const T2& x2, const Info2& info2) {
+  return !lt(type1, x1, info1, type2, x2, info2);
+}
 
-  //! Builds a C polyhedron recycling a system of congruences.
-  /*!
-    The polyhedron inherits the space dimension of the congruence
-    system.
+template <typename T, typename Info>
+inline Result
+adjust_boundary(Boundary_Type type, T& x, Info& info,
+		bool open, Result r) {
+  r = result_relation_class(r);
+  if (type == LOWER) {
+    switch (r) {
+    case V_GT_MINUS_INFINITY:
+      open = true;
+      /* Fall through */
+    case V_EQ_MINUS_INFINITY:
+      if (!Info::store_special)
+	return r;
+      if (open)
+	info.set_boundary_property(type, OPEN);
+      return special_set_boundary_infinity(type, x, info);
+    case V_GT:
+      open = true;
+      /* Fall through */
+    case V_GE:
+    case V_EQ:
+      if (open)
+	shrink(type, x, info, false);
+      // FIXME: what to return?
+      return r;
+    default:
+      PPL_ASSERT(false);
+      return V_NAN;
+    }
+  }
+  else {
+    switch (r) {
+    case V_LT_PLUS_INFINITY:
+      open = true;
+      /* Fall through */
+    case V_EQ_PLUS_INFINITY:
+      if (!Info::store_special)
+	return r;
+      if (open)
+	info.set_boundary_property(type, OPEN);
+      return special_set_boundary_infinity(type, x, info);
+    case V_LT:
+      open = true;
+      /* Fall through */
+    case V_LE:
+    case V_EQ:
+      if (open)
+	shrink(type, x, info, false);
+      // FIXME: what to return?
+      return r;
+    default:
+      PPL_ASSERT(false);
+      return V_NAN;
+    }
+  }
+}
 
-    \param cgs
-    The system of congruences defining the polyhedron.  It is not
-    declared <CODE>const</CODE> because its data-structures may be
-    recycled to build the polyhedron.
+template <typename To, typename To_Info, typename T, typename Info>
+inline Result
+complement(Boundary_Type to_type, To& to, To_Info& to_info,
+	   Boundary_Type type, const T& x, const Info& info) {
+  PPL_ASSERT(to_type != type);
+  bool shrink;
+  if (info.get_boundary_property(type, SPECIAL)) {
+    shrink = !special_is_open(type, x, info);
+    if (type == LOWER)
+      return set_minus_infinity(to_type, to, to_info, shrink);
+    else
+      return set_plus_infinity(to_type, to, to_info, shrink);
+  }
+  shrink = !normal_is_open(type, x, info);
+  bool check = (To_Info::check_inexact
+		|| (!shrink && (To_Info::store_open || to_info.has_restriction())));
+  Result r = assign_r(to, x, round_dir_check(to_type, check));
+  return adjust_boundary(to_type, to, to_info, shrink, r);
+}
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
-  */
-  C_Polyhedron(Congruence_System& cgs, Recycle_Input dummy);
+template <typename To, typename To_Info, typename T, typename Info>
+inline Result
+assign(Boundary_Type to_type, To& to, To_Info& to_info,
+       Boundary_Type type, const T& x, const Info& info,
+       bool shrink = false) {
+  PPL_ASSERT(to_type == type);
+  if (info.get_boundary_property(type, SPECIAL)) {
+    shrink = shrink || special_is_open(type, x, info);
+    return set_boundary_infinity(to_type, to, to_info, shrink);
+  }
+  shrink = shrink || normal_is_open(type, x, info);
+  bool check = (To_Info::check_inexact
+		|| (!shrink && (To_Info::store_open || to_info.has_restriction())));
+  Result r = assign_r(to, x, round_dir_check(to_type, check));
+  return adjust_boundary(to_type, to, to_info, shrink, r);
+}
 
-  /*! \brief
-    Builds a C polyhedron representing the topological closure
-    of the NNC polyhedron \p y.
+template <typename To, typename To_Info, typename T, typename Info>
+inline Result
+min_assign(Boundary_Type to_type, To& to, To_Info& to_info,
+	   Boundary_Type type, const T& x, const Info& info) {
+  if (lt(type, x, info, to_type, to, to_info)) {
+    to_info.clear_boundary_properties(to_type);
+    return assign(to_type, to, to_info, type, x, info);
+  }
+  return V_EQ;
+}
 
-    \param y
-    The NNC polyhedron to be used;
+template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
+inline Result
+min_assign(Boundary_Type to_type, To& to, To_Info& to_info,
+	   Boundary_Type type1, const T1& x1, const Info1& info1,
+	   Boundary_Type type2, const T2& x2, const Info2& info2) {
+  if (lt(type1, x1, info1, type2, x2, info2))
+    return assign(to_type, to, to_info, type1, x1, info1);
+  else
+    return assign(to_type, to, to_info, type2, x2, info2);
+}
 
-    \param complexity
-    This argument is ignored.
-  */
-  explicit C_Polyhedron(const NNC_Polyhedron& y,
-                        Complexity_Class complexity = ANY_COMPLEXITY);
+template <typename To, typename To_Info, typename T, typename Info>
+inline Result
+max_assign(Boundary_Type to_type, To& to, To_Info& to_info,
+	   Boundary_Type type, const T& x, const Info& info) {
+  if (gt(type, x, info, to_type, to, to_info)) {
+    to_info.clear_boundary_properties(to_type);
+    return assign(to_type, to, to_info, type, x, info);
+  }
+  return V_EQ;
+}
 
-  //! Builds a C polyhedron out of a box.
-  /*!
-    The polyhedron inherits the space dimension of the box
-    and is the most precise that includes the box.
-    The algorithm used has polynomial complexity.
+template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
+inline Result
+max_assign(Boundary_Type to_type, To& to, To_Info& to_info,
+	   Boundary_Type type1, const T1& x1, const Info1& info1,
+	   Boundary_Type type2, const T2& x2, const Info2& info2) {
+  if (gt(type1, x1, info1, type2, x2, info2))
+    return assign(to_type, to, to_info, type1, x1, info1);
+  else
+    return assign(to_type, to, to_info, type2, x2, info2);
+}
 
-    \param box
-    The box representing the polyhedron to be approximated;
+template <typename To, typename To_Info, typename T, typename Info>
+inline Result
+neg_assign(Boundary_Type to_type, To& to, To_Info& to_info,
+	   Boundary_Type type, const T& x, const Info& info) {
+  PPL_ASSERT(to_type != type);
+  bool shrink;
+  if (info.get_boundary_property(type, SPECIAL)) {
+    shrink = special_is_open(type, x, info);
+    return set_boundary_infinity(to_type, to, to_info, shrink);
+  }
+  shrink = normal_is_open(type, x, info);
+  bool check = (To_Info::check_inexact
+		|| (!shrink && (To_Info::store_open || to_info.has_restriction())));
+  Result r = neg_assign_r(to, x, round_dir_check(to_type, check));
+  return adjust_boundary(to_type, to, to_info, shrink, r);
+}
 
-    \param complexity
-    This argument is ignored.
+template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
+inline Result
+add_assign(Boundary_Type to_type, To& to, To_Info& to_info,
+	   Boundary_Type type1, const T1& x1, const Info1& info1,
+	   Boundary_Type type2, const T2& x2, const Info2& info2) {
+  PPL_ASSERT(type1 == type2);
+  bool shrink;
+  if (is_boundary_infinity(type1, x1, info1)) {
+    shrink = boundary_infinity_is_open(type1, info1)
+      && !is_boundary_infinity_closed(type2, x2, info2);
+    return set_boundary_infinity(to_type, to, to_info, shrink);
+  }
+  else if (is_boundary_infinity(type2, x2, info2)) {
+    shrink = boundary_infinity_is_open(type2, info2)
+      && !is_boundary_infinity_closed(type1, x1, info1);
+    return set_boundary_infinity(to_type, to, to_info, shrink);
+  }
+  shrink = normal_is_open(type1, x1, info1)
+    || normal_is_open(type2, x2, info2);
+  bool check = (To_Info::check_inexact
+		|| (!shrink && (To_Info::store_open
+				|| to_info.has_restriction())));
+  // FIXME: extended handling is not needed
+  Result r = add_assign_r(to, x1, x2, round_dir_check(to_type, check));
+  return adjust_boundary(to_type, to, to_info, shrink, r);
+}
 
-    \exception std::length_error
-    Thrown if the space dimension of \p box exceeds the maximum allowed
-    space dimension.
-  */
-  template <typename Interval>
-  explicit C_Polyhedron(const Box<Interval>& box,
-                        Complexity_Class complexity = ANY_COMPLEXITY);
+template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
+inline Result
+sub_assign(Boundary_Type to_type, To& to, To_Info& to_info,
+	   Boundary_Type type1, const T1& x1, const Info1& info1,
+	   Boundary_Type type2, const T2& x2, const Info2& info2) {
+  PPL_ASSERT(type1 != type2);
+  bool shrink;
+  if (is_boundary_infinity(type1, x1, info1)) {
+    shrink = boundary_infinity_is_open(type1, info1)
+      && !is_boundary_infinity_closed(type2, x2, info2);
+    return set_boundary_infinity(to_type, to, to_info, shrink);
+  }
+  else if (is_boundary_infinity(type2, x2, info2)) {
+    shrink = boundary_infinity_is_open(type2, info2)
+      && !is_boundary_infinity_closed(type1, x1, info1);
+    return set_boundary_infinity(to_type, to, to_info, shrink);
+  }
+  shrink = normal_is_open(type1, x1, info1)
+    || normal_is_open(type2, x2, info2);
+  bool check = (To_Info::check_inexact
+		|| (!shrink && (To_Info::store_open
+				|| to_info.has_restriction())));
+  // FIXME: extended handling is not needed
+  Result r = sub_assign_r(to, x1, x2, round_dir_check(to_type, check));
+  return adjust_boundary(to_type, to, to_info, shrink, r);
+}
 
-  //! Builds a C polyhedron out of a BD shape.
-  /*!
-    The polyhedron inherits the space dimension of the BDS and is
-    the most precise that includes the BDS.
+template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
+inline Result
+mul_assign(Boundary_Type to_type, To& to, To_Info& to_info,
+	   Boundary_Type type1, const T1& x1, const Info1& info1,
+	   Boundary_Type type2, const T2& x2, const Info2& info2) {
+  bool shrink;
+  if (is_boundary_infinity(type1, x1, info1)) {
+    shrink = boundary_infinity_is_open(type1, info1)
+      && !is_boundary_infinity_closed(type2, x2, info2);
+    return set_boundary_infinity(to_type, to, to_info, shrink);
+  }
+  else if (is_boundary_infinity(type2, x2, info2)) {
+    shrink = boundary_infinity_is_open(type2, info2)
+      && !is_boundary_infinity_closed(type1, x1, info1);
+    return set_boundary_infinity(to_type, to, to_info, shrink);
+  }
+  shrink = normal_is_open(type1, x1, info1)
+    || normal_is_open(type2, x2, info2);
+  bool check = (To_Info::check_inexact
+		|| (!shrink && (To_Info::store_open
+				|| to_info.has_restriction())));
+  PPL_ASSERT(x1 != Constant<0>::value && x2 != Constant<0>::value);
+  // FIXME: extended handling is not needed
+  Result r = mul_assign_r(to, x1, x2, round_dir_check(to_type, check));
+  return adjust_boundary(to_type, to, to_info, shrink, r);
+}
 
-    \param bd
-    The BDS used to build the polyhedron.
+template <typename To, typename To_Info>
+inline Result
+set_zero(Boundary_Type to_type, To& to, To_Info& to_info, bool shrink) {
+  bool check = (To_Info::check_inexact
+		|| (!shrink && (To_Info::store_open || to_info.has_restriction())));
+  Result r = assign_r(to, Constant<0>::value, round_dir_check(to_type, check));
+  return adjust_boundary(to_type, to, to_info, shrink, r);
+}
 
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
-  */
-  template <typename U>
-  explicit C_Polyhedron(const BD_Shape<U>& bd,
-                        Complexity_Class complexity = ANY_COMPLEXITY);
+template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
+inline Result
+mul_assign_z(Boundary_Type to_type, To& to, To_Info& to_info,
+	     Boundary_Type type1, const T1& x1, const Info1& info1, int x1s,
+	     Boundary_Type type2, const T2& x2, const Info2& info2, int x2s) {
+  bool shrink;
+  if (x1s != 0) {
+    if (x2s != 0)
+      return mul_assign(to_type, to, to_info,
+			type1, x1, info1,
+			type2, x2, info2);
+    else
+      shrink = info2.get_boundary_property(type2, OPEN);
+  }
+  else {
+    shrink = info1.get_boundary_property(type1, OPEN)
+      && (x2s != 0 || info2.get_boundary_property(type2, OPEN));
+  }
+  return set_zero(to_type, to, to_info, shrink);
+}
 
-  //! Builds a C polyhedron out of an octagonal shape.
-  /*!
-    The polyhedron inherits the space dimension of the octagonal shape
-    and is the most precise that includes the octagonal shape.
+template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
+inline Result
+div_assign(Boundary_Type to_type, To& to, To_Info& to_info,
+	   Boundary_Type type1, const T1& x1, const Info1& info1,
+	   Boundary_Type type2, const T2& x2, const Info2& info2) {
+  bool shrink;
+  if (is_boundary_infinity(type1, x1, info1)) {
+    shrink = boundary_infinity_is_open(type1, info1);
+    return set_boundary_infinity(to_type, to, to_info, shrink);
+  }
+  else if (is_boundary_infinity(type2, x2, info2)) {
+    shrink = boundary_infinity_is_open(type2, info2);
+    return set_zero(to_type, to, to_info, shrink);
+  }
+  shrink = normal_is_open(type1, x1, info1)
+    || normal_is_open(type2, x2, info2);
+  bool check = (To_Info::check_inexact
+		|| (!shrink && (To_Info::store_open
+				|| to_info.has_restriction())));
+  PPL_ASSERT(x1 != Constant<0>::value && x2 != Constant<0>::value);
+  // FIXME: extended handling is not needed
+  Result r = div_assign_r(to, x1, x2, round_dir_check(to_type, check));
+  return adjust_boundary(to_type, to, to_info, shrink, r);
+}
 
-    \param os
-    The octagonal shape used to build the polyhedron.
 
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
-  */
-  template <typename U>
-  explicit C_Polyhedron(const Octagonal_Shape<U>& os,
-                        Complexity_Class complexity = ANY_COMPLEXITY);
+template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
+inline Result
+div_assign_z(Boundary_Type to_type, To& to, To_Info& to_info,
+	     Boundary_Type type1, const T1& x1, const Info1& info1, int x1s,
+	     Boundary_Type type2, const T2& x2, const Info2& info2, int x2s) {
+  bool shrink;
+  if (x1s != 0) {
+    if (x2s != 0)
+      return div_assign(to_type, to, to_info,
+			type1, x1, info1,
+			type2, x2, info2);
+    else {
+      // FIXME: restrictions
+      return set_boundary_infinity(to_type, to, to_info, true);
+    }
+  }
+  else {
+    shrink = info1.get_boundary_property(type1, OPEN)
+      && !is_boundary_infinity_closed(type2, x2, info2);
+    return set_zero(to_type, to, to_info, shrink);
+  }
+}
 
-  //! Builds a C polyhedron out of a grid.
-  /*!
-    The polyhedron inherits the space dimension of the grid
-    and is the most precise that includes the grid.
+template <typename To, typename To_Info, typename T, typename Info>
+inline Result
+umod_2exp_assign(Boundary_Type to_type, To& to, To_Info& to_info,
+		 Boundary_Type type, const T& x, const Info& info,
+		 unsigned int exp) {
+  PPL_ASSERT(to_type == type);
+  bool shrink;
+  if (is_boundary_infinity(type, x, info)) {
+    shrink = boundary_infinity_is_open(type, info);
+    return set_boundary_infinity(to_type, to, to_info, shrink);
+  }
+  shrink = normal_is_open(type, x, info);
+  bool check = (To_Info::check_inexact
+		|| (!shrink && (To_Info::store_open || to_info.has_restriction())));
+  Result r = umod_2exp_assign_r(to, x, exp, round_dir_check(to_type, check));
+  return adjust_boundary(to_type, to, to_info, shrink, r);
+}
 
-    \param grid
-    The grid used to build the polyhedron.
+template <typename To, typename To_Info, typename T, typename Info>
+inline Result
+smod_2exp_assign(Boundary_Type to_type, To& to, To_Info& to_info,
+		 Boundary_Type type, const T& x, const Info& info,
+		 unsigned int exp) {
+  PPL_ASSERT(to_type == type);
+  bool shrink;
+  if (is_boundary_infinity(type, x, info)) {
+    shrink = boundary_infinity_is_open(type, info);
+    return set_boundary_infinity(to_type, to, to_info, shrink);
+  }
+  shrink = normal_is_open(type, x, info);
+  bool check = (To_Info::check_inexact
+		|| (!shrink && (To_Info::store_open || to_info.has_restriction())));
+  Result r = smod_2exp_assign_r(to, x, exp, round_dir_check(to_type, check));
+  return adjust_boundary(to_type, to, to_info, shrink, r);
+}
 
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
-  */
-  explicit C_Polyhedron(const Grid& grid,
-                        Complexity_Class complexity = ANY_COMPLEXITY);
+} // namespace Boundary_NS
 
-  //! Ordinary copy-constructor.
-  /*!
-    The complexity argument is ignored.
-  */
-  C_Polyhedron(const C_Polyhedron& y,
-               Complexity_Class complexity = ANY_COMPLEXITY);
+} // namespace Parma_Polyhedra_Library
 
-  /*! \brief
-    The assignment operator.
-    (\p *this and \p y can be dimension-incompatible.)
-  */
-  C_Polyhedron& operator=(const C_Polyhedron& y);
+/* Automatically generated from PPL source file ../src/Interval_Restriction.defs.hh line 1. */
+/* Interval_Restriction class declaration.
+*/
 
-  //! Assigns to \p *this the topological closure of the NNC polyhedron \p y.
-  C_Polyhedron& operator=(const NNC_Polyhedron& y);
 
-  //! Destructor.
-  ~C_Polyhedron();
+/* Automatically generated from PPL source file ../src/Interval_Restriction.defs.hh line 32. */
 
-  /*! \brief
-    If the poly-hull of \p *this and \p y is exact it is assigned
-    to \p *this and <CODE>true</CODE> is returned,
-    otherwise <CODE>false</CODE> is returned.
+namespace Parma_Polyhedra_Library {
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  bool poly_hull_assign_if_exact(const C_Polyhedron& y);
+struct Interval_Base;
 
-  //! Same as poly_hull_assign_if_exact(y).
-  bool upper_bound_assign_if_exact(const C_Polyhedron& y);
+template <typename T, typename Enable = void>
+struct Boundary_Value {
+  typedef T type;
 };
 
-/* Automatically generated from PPL source file ../src/C_Polyhedron.inlines.hh line 1. */
-/* C_Polyhedron class implementation: inline functions.
-*/
-
-
-#include <algorithm>
-#include <stdexcept>
+template <typename T>
+struct Boundary_Value<T, typename Enable_If<Is_Same_Or_Derived<Interval_Base, T>::value>::type > {
+  typedef typename T::boundary_type type;
+};
 
-namespace Parma_Polyhedra_Library {
+class Interval_Restriction_None_Base {
+public:
+  bool has_restriction() const {
+    return false;
+  }
+  void normalize() const {
+  }
+  template <typename T>
+  Result restrict(Rounding_Dir, T&, Result dir) const {
+    return dir;
+  }
+};
 
-inline
-C_Polyhedron::~C_Polyhedron() {
+inline bool
+eq_restriction(const Interval_Restriction_None_Base&, const Interval_Restriction_None_Base) {
+  return true;
 }
 
-inline
-C_Polyhedron::C_Polyhedron(dimension_type num_dimensions,
-			   Degenerate_Element kind)
-  : Polyhedron(NECESSARILY_CLOSED,
-	       num_dimensions <= max_space_dimension()
-	       ? num_dimensions
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "C_Polyhedron(n, k)",
-						 "n exceeds the maximum "
-						 "allowed space dimension"),
-		  num_dimensions),
-	       kind) {
+template <typename T>
+inline bool
+contains_restriction(const Interval_Restriction_None_Base&, const T&) {
+  return true;
 }
 
-inline
-C_Polyhedron::C_Polyhedron(const Constraint_System& cs)
-  : Polyhedron(NECESSARILY_CLOSED,
-	       cs.space_dimension() <= max_space_dimension()
-	       ? cs
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "C_Polyhedron(cs)",
-						 "the space dimension of cs "
-						 "exceeds the maximum allowed "
-						 "space dimension"), cs)) {
+template <typename T>
+inline bool
+assign_restriction(Interval_Restriction_None_Base&, const T&) {
+  return true;
 }
 
-inline
-C_Polyhedron::C_Polyhedron(Constraint_System& cs, Recycle_Input)
-  : Polyhedron(NECESSARILY_CLOSED,
-	       cs.space_dimension() <= max_space_dimension()
-	       ? cs
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "C_Polyhedron(cs, recycle)",
-						 "the space dimension of cs "
-						 "exceeds the maximum allowed "
-						 "space dimension"), cs),
-	       Recycle_Input()) {
+template <typename T1, typename T2>
+inline bool
+join_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
+  return true;
 }
 
-inline
-C_Polyhedron::C_Polyhedron(const Generator_System& gs)
-  : Polyhedron(NECESSARILY_CLOSED,
-	       gs.space_dimension() <= max_space_dimension()
-	       ? gs
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "C_Polyhedron(gs)",
-						 "the space dimension of gs "
-						 "exceeds the maximum allowed "
-						 "space dimension"), gs)) {
+template <typename T1, typename T2>
+inline bool
+intersect_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
+  return true;
 }
 
-inline
-C_Polyhedron::C_Polyhedron(Generator_System& gs, Recycle_Input)
-  : Polyhedron(NECESSARILY_CLOSED,
-	       gs.space_dimension() <= max_space_dimension()
-	       ? gs
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "C_Polyhedron(gs, recycle)",
-						 "the space dimension of gs "
-						 "exceeds the maximum allowed "
-						 "space dimension"), gs),
-	       Recycle_Input()) {
+template <typename T1, typename T2>
+inline bool
+diff_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
+  return true;
 }
 
-template <typename Interval>
-inline
-C_Polyhedron::C_Polyhedron(const Box<Interval>& box, Complexity_Class)
-  : Polyhedron(NECESSARILY_CLOSED,
-	       box.space_dimension() <= max_space_dimension()
-	       ? box
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "C_Polyhedron(box): ",
-						 "the space dimension of box "
-						 "exceeds the maximum allowed "
-						 "space dimension"), box)) {
+template <typename T>
+inline bool
+neg_restriction(Interval_Restriction_None_Base&, const T&) {
+  return true;
 }
 
-template <typename U>
-inline
-C_Polyhedron::C_Polyhedron(const BD_Shape<U>& bd, Complexity_Class)
-  : Polyhedron(NECESSARILY_CLOSED,
-	       bd.space_dimension() <= max_space_dimension()
-	       ? bd.space_dimension()
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "C_Polyhedron(bd): ",
-						 "the space dimension of bd "
-						 "exceeds the maximum allowed "
-						 "space dimension"), 0),
-               UNIVERSE) {
-  add_constraints(bd.constraints());
+template <typename T1, typename T2>
+inline bool
+add_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
+  return true;
 }
 
-template <typename U>
-inline
-C_Polyhedron::C_Polyhedron(const Octagonal_Shape<U>& os, Complexity_Class)
-  : Polyhedron(NECESSARILY_CLOSED,
-	       os.space_dimension() <= max_space_dimension()
-	       ? os.space_dimension()
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "C_Polyhedron(os): ",
-						 "the space dimension of os "
-						 "exceeds the maximum allowed "
-						 "space dimension"), 0),
-               UNIVERSE) {
-  add_constraints(os.constraints());
+template <typename T1, typename T2>
+inline bool
+sub_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
+  return true;
 }
 
-inline
-C_Polyhedron::C_Polyhedron(const C_Polyhedron& y, Complexity_Class)
-  : Polyhedron(y) {
+template <typename T1, typename T2>
+inline bool
+mul_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
+  return true;
 }
 
-inline C_Polyhedron&
-C_Polyhedron::operator=(const C_Polyhedron& y) {
-  Polyhedron::operator=(y);
-  return *this;
+template <typename T1, typename T2>
+inline bool
+div_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
+  return true;
 }
 
-inline C_Polyhedron&
-C_Polyhedron::operator=(const NNC_Polyhedron& y) {
-  C_Polyhedron c_y(y);
-  swap(c_y);
-  return *this;
+inline void
+output_restriction(std::ostream&, const Interval_Restriction_None_Base&) {
 }
 
-inline bool
-C_Polyhedron::upper_bound_assign_if_exact(const C_Polyhedron& y) {
-  return poly_hull_assign_if_exact(y);
-}
+template <typename Base>
+class Interval_Restriction_None : public Interval_Restriction_None_Base,
+				  public Base {
+public:
+  Interval_Restriction_None() {
+  }
+  template <typename T>
+  Interval_Restriction_None(const T& init)
+    : Base(init) {
+  }
+};
 
-} // namespace Parma_Polyhedra_Library
+class Interval_Restriction_Integer_Base {
+};
 
-/* Automatically generated from PPL source file ../src/C_Polyhedron.defs.hh line 278. */
+template <typename Base>
+class Interval_Restriction_Integer : public Interval_Restriction_Integer_Base, public Base {
+public:
+  Interval_Restriction_Integer() {
+  }
+  void set_integer(bool v = true) {
+    return set_bit(Base::bitset, integer_bit, v);
+  }
+  bool get_integer() const {
+    return get_bit(Base::bitset, integer_bit);
+  }
 
-/* Automatically generated from PPL source file ../src/NNC_Polyhedron.defs.hh line 1. */
-/* NNC_Polyhedron class declaration.
-*/
+  const_int_nodef(integer_bit, Base::next_bit);
+  const_int_nodef(next_bit, integer_bit + 1);
+  bool has_restriction() const {
+    return get_integer();
+  }
+  void normalize() const {
+  }
+  template <typename T>
+  Result restrict(Rounding_Dir rdir, T& x, Result dir) const {
+    if (!has_restriction())
+      return dir;
+    switch (dir) {
+    case V_GT:
+      if (is_integer(x))
+	return add_assign_r(x, x, static_cast<T>(1), rdir);
+      /* Fall through */
+    case V_GE:
+      return ceil_assign_r(x, x, rdir);
+    case V_LT:
+      if (is_integer(x))
+	return sub_assign_r(x, x, static_cast<T>(1), rdir);
+      /* Fall through */
+    case V_LE:
+      return floor_assign_r(x, x, rdir);
+    default:
+      PPL_ASSERT(false);
+      return dir;
+    }
+  }
+};
 
+class Simple_Restriction_Integer : public Interval_Restriction_Integer_Base {
+public:
+  Simple_Restriction_Integer(bool i)
+    : integer(i) {
+  }
+  bool get_integer() const {
+    return integer;
+  }
+private:
+  bool integer;
+};
 
-/* Automatically generated from PPL source file ../src/NNC_Polyhedron.defs.hh line 30. */
+template <typename From, typename Base, typename Enable = void>
+struct Restriction_Integer;
 
-//! A not necessarily closed convex polyhedron.
-/*! \ingroup PPL_CXX_interface
-    An object of the class NNC_Polyhedron represents a
-    <EM>not necessarily closed</EM> (NNC) convex polyhedron
-    in the vector space \f$\Rset^n\f$.
+template <typename From, typename Base>
+struct Restriction_Integer<From, Base, typename Enable_If<Is_Native_Or_Checked<From>::value>::type> {
+  typedef Simple_Restriction_Integer type;
+  static type get(const From& x) {
+    return Simple_Restriction_Integer(is_integer(x));
+  }
+};
 
-    \note
-    Since NNC polyhedra are a generalization of closed polyhedra,
-    any object of the class C_Polyhedron can be (explicitly) converted
-    into an object of the class NNC_Polyhedron.
-    The reason for defining two different classes is that objects of
-    the class C_Polyhedron are characterized by a more efficient
-    implementation, requiring less time and memory resources.
-*/
-class Parma_Polyhedra_Library::NNC_Polyhedron : public Polyhedron {
-public:
-  //! Builds either the universe or the empty NNC polyhedron.
-  /*!
-    \param num_dimensions
-    The number of dimensions of the vector space enclosing the NNC polyhedron;
+template <typename From, typename Base>
+struct Restriction_Integer<From, Base, typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_None_Base, typename From::info_type>::value>::type> {
+  typedef Simple_Restriction_Integer type;
+  static type get(const From& x) {
+    return Simple_Restriction_Integer(x.is_singleton() && is_integer(x.lower()));
+  }
+};
 
-    \param kind
-    Specifies whether a universe or an empty NNC polyhedron should be built.
+template <typename From, typename Base>
+struct Restriction_Integer<From, Base, typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Base, typename From::info_type>::value>::type> {
+  typedef Interval_Restriction_Integer<Base> type;
+  static const type& get(const From& x) {
+    return x.info();
+  }
+};
 
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space dimension.
+template <typename T1, typename T2>
+inline typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Base, T1>::value && Is_Same_Or_Derived<Interval_Restriction_Integer_Base, T2>::value, bool>::type
+eq_restriction(const T1& x, const T2& y) {
+  return x.get_integer() == y.get_integer();
+}
 
-    Both parameters are optional:
-    by default, a 0-dimension space universe NNC polyhedron is built.
-  */
-  explicit NNC_Polyhedron(dimension_type num_dimensions = 0,
-			  Degenerate_Element kind = UNIVERSE);
+template <typename T1, typename T2>
+inline typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Base, T1>::value && Is_Same_Or_Derived<Interval_Restriction_Integer_Base, T2>::value, bool>::type
+contains_restriction(const T1& x, const T2& y) {
+  return !x.get_integer() || y.get_integer();
+}
 
-  //! Builds an NNC polyhedron from a system of constraints.
-  /*!
-    The polyhedron inherits the space dimension of the constraint system.
+template <typename Base, typename From>
+inline bool
+assign_restriction(Interval_Restriction_Integer<Base>& to, const From& x) {
+  to.set_integer(Restriction_Integer<From, Base>::get(x).get_integer());
+  return true;
+}
 
-    \param cs
-    The system of constraints defining the polyhedron.
-  */
-  explicit NNC_Polyhedron(const Constraint_System& cs);
+template <typename Base, typename From1, typename From2>
+inline bool
+join_restriction(Interval_Restriction_Integer<Base>& to, const From1& x, const From2& y) {
+  to.set_integer(Restriction_Integer<From1, Base>::get(x).get_integer()
+		 && Restriction_Integer<From2, Base>::get(y).get_integer());
+  return true;
+}
 
-  //! Builds an NNC polyhedron recycling a system of constraints.
-  /*!
-    The polyhedron inherits the space dimension of the constraint system.
+template <typename Base, typename From1, typename From2>
+inline bool
+intersect_restriction(Interval_Restriction_Integer<Base>& to, const From1& x, const From2& y) {
+  to.set_integer(Restriction_Integer<From1, Base>::get(x).get_integer()
+		 || Restriction_Integer<From2, Base>::get(y).get_integer());
+  return true;
+}
 
-    \param cs
-    The system of constraints defining the polyhedron.  It is not
-    declared <CODE>const</CODE> because its data-structures may be
-    recycled to build the polyhedron.
+template <typename Base, typename From1, typename From2>
+inline bool
+diff_restriction(Interval_Restriction_Integer<Base>& to,
+		 const From1& x, const From2&) {
+  to.set_integer(Restriction_Integer<From1, Base>::get(x).get_integer());
+  return true;
+}
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
-  */
-  NNC_Polyhedron(Constraint_System& cs, Recycle_Input dummy);
+template <typename Base, typename From>
+inline bool
+neg_restriction(Interval_Restriction_Integer<Base>& to, const From& x) {
+  to.set_integer(Restriction_Integer<From, Base>::get(x).get_integer());
+  return true;
+}
 
-  //! Builds an NNC polyhedron from a system of generators.
-  /*!
-    The polyhedron inherits the space dimension of the generator system.
+template <typename Base, typename From1, typename From2>
+inline bool
+add_restriction(Interval_Restriction_Integer<Base>& to, const From1& x, const From2& y) {
+  to.set_integer(Restriction_Integer<From1, Base>::get(x).get_integer()
+		 && Restriction_Integer<From2, Base>::get(y).get_integer());
+  return true;
+}
 
-    \param gs
-    The system of generators defining the polyhedron.
+template <typename Base, typename From1, typename From2>
+inline bool
+sub_restriction(Interval_Restriction_Integer<Base>& to, const From1& x, const From2& y) {
+  to.set_integer(Restriction_Integer<From1, Base>::get(x).get_integer()
+		 && Restriction_Integer<From2, Base>::get(y).get_integer());
+  return true;
+}
 
-    \exception std::invalid_argument
-    Thrown if the system of generators is not empty but has no points.
-  */
-  explicit NNC_Polyhedron(const Generator_System& gs);
+template <typename Base, typename From1, typename From2>
+inline bool
+mul_restriction(Interval_Restriction_Integer<Base>& to, const From1& x, const From2& y) {
+  to.set_integer(Restriction_Integer<From1, Base>::get(x).get_integer()
+		 && Restriction_Integer<From2, Base>::get(y).get_integer());
+  return true;
+}
 
-  //! Builds an NNC polyhedron recycling a system of generators.
-  /*!
-    The polyhedron inherits the space dimension of the generator system.
+template <typename Base, typename From1, typename From2>
+inline bool
+div_restriction(Interval_Restriction_Integer<Base>& to, const From1&, const From2&) {
+  to.set_integer(false);
+  return true;
+}
 
-    \param gs
-    The system of generators defining the polyhedron.  It is not
-    declared <CODE>const</CODE> because its data-structures may be
-    recycled to build the polyhedron.
+template <typename Base>
+inline void
+output_restriction(std::ostream& s, const Interval_Restriction_Integer<Base>& x) {
+  if (x.get_integer())
+    s << "i";
+}
+
+class Interval_Restriction_Integer_Modulo_Base {
+};
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
+template <typename T, typename Base>
+class Interval_Restriction_Integer_Modulo : public Interval_Restriction_Integer_Modulo_Base, public Base {
+public:
+  PPL_COMPILE_TIME_CHECK(std::numeric_limits<T>::is_exact,
+                         "type for modulo values must be exact");
+  Interval_Restriction_Integer_Modulo() {
+    // FIXME: would we have speed benefits with uninitialized info?
+    // (Dirty_Temp)
+    clear();
+  }
+  bool has_restriction() const {
+    return divisor != 0;
+  }
+  void clear() {
+    remainder = 0;
+    divisor = 0;
+    Base::clear();
+  }
+  void normalize() const {
+  }
+  template <typename V>
+  Result restrict(Rounding_Dir rdir, V& x, Result dir) const {
+    if (!has_restriction())
+      return dir;
+    PPL_DIRTY_TEMP(V, n);
+    PPL_DIRTY_TEMP(V, div);
+    Result r;
+    r = assign_r(div, divisor, ROUND_CHECK);
+    PPL_ASSERT(r == V_EQ);
+    int s;
+    r = rem_assign_r(n, x, div, ROUND_NOT_NEEDED);
+    PPL_ASSERT(r == V_EQ);
+    s = sgn(n);
+    switch (dir) {
+    case V_GT:
+      if (s >= 0) {
+	r = sub_assign_r(n, div, n, ROUND_NOT_NEEDED);
+	PPL_ASSERT(r == V_EQ);
+	return add_assign_r(x, x, n, rdir);
+      }
+      else
+	return sub_assign_r(x, x, n, rdir);
+    case V_GE:
+      if (s > 0) {
+	r = sub_assign_r(n, div, n, ROUND_NOT_NEEDED);
+	PPL_ASSERT(r == V_EQ);
+	return add_assign_r(x, x, n, rdir);
+      }
+      else if (s < 0)
+	return sub_assign_r(x, x, n, rdir);
+      else
+	return V_EQ;
+    case V_LT:
+      if (s <= 0) {
+	r = add_assign_r(n, div, n, ROUND_NOT_NEEDED);
+	PPL_ASSERT(r == V_EQ);
+	return sub_assign_r(x, x, n, rdir);
+      }
+      else
+	return sub_assign_r(x, x, n, rdir);
+    case V_LE:
+      if (s < 0) {
+	r = add_assign_r(n, div, n, ROUND_NOT_NEEDED);
+	PPL_ASSERT(r == V_EQ);
+	return sub_assign_r(x, x, n, rdir);
+      }
+      else if (s > 0)
+	return sub_assign_r(x, x, n, rdir);
+      else
+	return V_EQ;
+    default:
+      PPL_ASSERT(false);
+      return dir;
+    }
+  }
+  void assign_or_swap(Interval_Restriction_Integer_Modulo& x) {
+    Parma_Polyhedra_Library::assign_or_swap(remainder, x.remainder);
+    Parma_Polyhedra_Library::assign_or_swap(divisor, x.divisor);
+  }
+  typedef T modulo_type;
+  T remainder;
+  T divisor;
+};
 
-    \exception std::invalid_argument
-    Thrown if the system of generators is not empty but has no points.
-  */
-  NNC_Polyhedron(Generator_System& gs, Recycle_Input dummy);
+template <typename T, typename Base>
+struct Slow_Copy<Interval_Restriction_Integer_Modulo<T, Base> > : public Bool<Slow_Copy<T>::value> {};
 
-  //! Builds an NNC polyhedron from a system of congruences.
-  /*!
-    The polyhedron inherits the space dimension of the congruence system.
 
-    \param cgs
-    The system of congruences defining the polyhedron.  It is not
-    declared <CODE>const</CODE> because its data-structures may be
-    recycled to build the polyhedron.
-  */
-  explicit NNC_Polyhedron(const Congruence_System& cgs);
+template <typename From, typename Base>
+struct Restriction_Integer<From, Base, typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Modulo_Base, typename From::info_type>::value>::type> {
+  typedef Simple_Restriction_Integer type;
+  static type get(const From& x) {
+    return Simple_Restriction_Integer(x.info().divisor != 0);
+  }
+};
 
-  //! Builds an NNC polyhedron recycling a system of congruences.
-  /*!
-    The polyhedron inherits the space dimension of the congruence
-    system.
+template <typename T>
+struct Simple_Restriction_Integer_Modulo : public Interval_Restriction_Integer_Modulo_Base {
+  template <typename From>
+  Simple_Restriction_Integer_Modulo(const From& r, const From& d)
+    : remainder(r), divisor(d) {
+  }
+  typedef T modulo_type;
+  T remainder;
+  T divisor;
+};
 
-    \param cgs
-    The system of congruences defining the polyhedron.  It is not
-    declared <CODE>const</CODE> because its data-structures may be
-    recycled to build the polyhedron.
+template <typename From, typename T, typename Base, typename Enable = void>
+struct Restriction_Integer_Modulo;
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
-  */
-  NNC_Polyhedron(Congruence_System& cgs, Recycle_Input dummy);
+template <typename From, typename T, typename Base>
+struct Restriction_Integer_Modulo<From, T, Base, typename Enable_If<Is_Native_Or_Checked<From>::value>::type> {
+  typedef Simple_Restriction_Integer_Modulo<T> type;
+  static const type& get(const From& x) {
+    static const type integer(0, 1);
+    static const type not_integer(0, 0);
+    if (is_integer(x))
+      return integer;
+    else
+      return not_integer;
+  }
+};
 
-  //! Builds an NNC polyhedron from the C polyhedron \p y.
-  /*!
-    \param y
-    The C polyhedron to be used;
+template <typename From, typename T, typename Base>
+struct Restriction_Integer_Modulo<From, T, Base, typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_None_Base, typename From::info_type>::value>::type> {
+  typedef Simple_Restriction_Integer_Modulo<T> type;
+  static const type& get(const From& x) {
+    static const type integer(0, 1);
+    static const type not_integer(0, 0);
+    if (x.is_singleton() && is_integer(x.lower()))
+      return integer;
+    else
+      return not_integer;
+  }
+};
 
-    \param complexity
-    This argument is ignored.
-  */
-  explicit NNC_Polyhedron(const C_Polyhedron& y,
-                          Complexity_Class complexity = ANY_COMPLEXITY);
+template <typename From, typename T, typename Base>
+struct Restriction_Integer_Modulo<From, T, Base, typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Base, typename From::info_type>::value>::type> {
+  typedef Simple_Restriction_Integer_Modulo<T> type;
+  static const type& get(const From& x) {
+    static const type integer(0, 1);
+    static const type not_integer(0, 0);
+    if (x.info().get_integer())
+      return integer;
+    else
+      return not_integer;
+  }
+};
 
-  //! Builds an NNC polyhedron out of a box.
-  /*!
-    The polyhedron inherits the space dimension of the box
-    and is the most precise that includes the box.
+template <typename From, typename T, typename Base>
+struct Restriction_Integer_Modulo<From, T, Base, typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Modulo_Base, typename From::info_type>::value>::type> {
+  typedef Interval_Restriction_Integer_Modulo<T, Base> type;
+  static const type& get(const From& x) {
+    return x.info();
+  }
+};
 
-    \param box
-    The box representing the polyhedron to be built;
+template <typename T1, typename T2>
+inline typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Modulo_Base, T1>::value && Is_Same_Or_Derived<Interval_Restriction_Integer_Modulo_Base, T2>::value, bool>::type
+eq_restriction(const T1& x, const T2& y) {
+  return x.remainder == y.remainder
+    && x.divisor == y.divisor;
+}
 
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
+template <typename T1, typename T2>
+inline typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Modulo_Base, T1>::value && Is_Same_Or_Derived<Interval_Restriction_Integer_Modulo_Base, T2>::value, bool>::type
+contains_restriction(const T1& x, const T2& y) {
+  if (x.divisor == 0)
+    return true;
+  if (y.divisor == 0)
+    return false;
+  if (x.divisor == y.divisor)
+    return x.remainder == y.remainder;
+  PPL_DIRTY_TEMP(typename T1::modulo_type, v);
+  Result r;
+  r = rem_assign_r(v, y.divisor, x.divisor, ROUND_NOT_NEEDED);
+  PPL_ASSERT(r == V_EQ);
+  if (v != 0)
+    return false;
+  r = rem_assign_r(v, y.remainder, x.divisor, ROUND_NOT_NEEDED);
+  PPL_ASSERT(r == V_EQ);
+  return v == x.remainder;
+}
 
-    \exception std::length_error
-    Thrown if the space dimension of \p box exceeds the maximum allowed
-    space dimension.
-  */
-  template <typename Interval>
-  explicit NNC_Polyhedron(const Box<Interval>& box,
-                          Complexity_Class complexity = ANY_COMPLEXITY);
+template <typename T, typename Base>
+inline bool
+set_unrestricted(Interval_Restriction_Integer_Modulo<T, Base>& to) {
+  to.remainder = 0;
+  to.divisor = 0;
+  return true;
+}
 
-  //! Builds an NNC polyhedron out of a grid.
-  /*!
-    The polyhedron inherits the space dimension of the grid
-    and is the most precise that includes the grid.
+template <typename T, typename Base>
+inline bool
+set_integer(Interval_Restriction_Integer_Modulo<T, Base>& to) {
+  to.remainder = 0;
+  to.divisor = 1;
+  return true;
+}
 
-    \param grid
-    The grid used to build the polyhedron.
+template <typename T, typename Base, typename From>
+inline bool
+assign_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From& x) {
+  to.remainder = Restriction_Integer_Modulo<From, T, Base>::get(x).remainder;
+  to.divisor = Restriction_Integer_Modulo<From, T, Base>::get(x).divisor;
+  return true;
+}
 
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
-  */
-  explicit NNC_Polyhedron(const Grid& grid,
-                          Complexity_Class complexity = ANY_COMPLEXITY);
+template <typename T, typename Base, typename From1, typename From2>
+inline bool
+join_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From1& x, const From2& y) {
+  typedef Restriction_Integer_Modulo<From1, T, Base> Rx;
+  const typename Rx::type& rx = Rx::get(x);
+  if (rx.divisor == 0)
+    return set_unrestricted(to);
+  typedef Restriction_Integer_Modulo<From2, T, Base> Ry;
+  const typename Ry::type& ry = Ry::get(y);
+  if (ry.divisor == 0)
+    return set_unrestricted(to);
+  else if (rx.divisor == 1 && ry.divisor == 1
+      && is_singleton(x) && is_singleton(y)) {
+    PPL_DIRTY_TEMP(typename Boundary_Value<From1>::type, a);
+    PPL_DIRTY_TEMP(typename Boundary_Value<From2>::type, b);
+    Result r;
+    r = abs_assign_r(a, f_lower(x), ROUND_CHECK);
+    if (r != V_EQ)
+      return set_integer(to);
+    r = abs_assign_r(b, f_lower(y), ROUND_CHECK);
+    if (r != V_EQ)
+      return set_integer(to);
+    if (a > b)
+      r = sub_assign_r(a, a, b, ROUND_CHECK);
+    else
+      r = sub_assign_r(a, b, a, ROUND_CHECK);
+    if (r != V_EQ)
+      return set_integer(to);
+    r = assign_r(to.divisor, a, ROUND_CHECK);
+    if (r != V_EQ)
+      return set_integer(to);
+    r = rem_assign_r(b, b, a, ROUND_CHECK);
+    if (r != V_EQ)
+      return set_integer(to);
+    r = assign_r(to.remainder, b, ROUND_CHECK);
+    if (r != V_EQ)
+      return set_integer(to);
+  }
+  else if (contains_restriction(rx, ry)) {
+    to.remainder = rx.remainder;
+    to.divisor = rx.divisor;
+  }
+  else if (contains_restriction(ry, rx)) {
+    to.remainder = ry.remainder;
+    to.divisor = ry.divisor;
+  }
+  else
+    return set_integer(to);
+  return true;
+}
 
-  //! Builds a NNC polyhedron out of a BD shape.
-  /*!
-    The polyhedron inherits the space dimension of the BD shape
-    and is the most precise that includes the BD shape.
+template <typename T, typename Base, typename From1, typename From2>
+inline bool
+intersect_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From1& x, const From2& y) {
+  typedef Restriction_Integer_Modulo<From1, T, Base> Rx;
+  const typename Rx::type& rx = Rx::get(x);
+  typedef Restriction_Integer_Modulo<From2, T, Base> Ry;
+  const typename Ry::type& ry = Ry::get(y);
+  if (rx.divisor == 0) {
+    to.remainder = ry.remainder;
+    to.divisor = ry.divisor;
+    return true;
+  }
+  if (ry.divisor == 0) {
+    to.remainder = rx.remainder;
+    to.divisor = rx.divisor;
+    return true;
+  }
+  PPL_DIRTY_TEMP(T, g);
+  Result r;
+  r = gcd_assign_r(g, rx.divisor, ry.divisor, ROUND_DIRECT);
+  if (r != V_EQ)
+    return set_integer(to);
+  PPL_DIRTY_TEMP(T, d);
+  if (rx.remainder > ry.remainder)
+    r = sub_assign_r(d, rx.remainder, ry.remainder, ROUND_DIRECT);
+  else
+    r = sub_assign_r(d, ry.remainder, rx.remainder, ROUND_DIRECT);
+  if (r != V_EQ)
+    return set_integer(to);
+  r = div_assign_r(d, d, g, ROUND_DIRECT);
+  if (r != V_EQ)
+    return false;
+  r = lcm_assign_r(to.divisor, rx.divisor, ry.divisor, ROUND_DIRECT);
+  if (r != V_EQ)
+    return set_integer(to);
+  // FIXME: to be completed
+  return true;
+}
 
-    \param bd
-    The BD shape used to build the polyhedron.
+template <typename T, typename Base, typename From1, typename From2>
+inline bool
+diff_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to,
+		 const From1& x, const From2& y) {
+  // FIXME: to be written
+  return true;
+}
 
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
-  */
-  template <typename U>
-  explicit NNC_Polyhedron(const BD_Shape<U>& bd,
-                          Complexity_Class complexity = ANY_COMPLEXITY);
+template <typename T, typename Base, typename From>
+inline bool
+neg_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to,
+                const From& x) {
+  return assign_restriction(to, x);
+}
 
-  //! Builds a NNC polyhedron out of an octagonal shape.
-  /*!
-    The polyhedron inherits the space dimension of the octagonal shape
-    and is the most precise that includes the octagonal shape.
+template <typename T>
+inline void
+addmod(T& to, const T& x, const T& y, const T& to_m, const T& y_m) {
+  Result r;
+  if (std::numeric_limits<T>::is_bounded) {
+    r = sub_assign_r(to, y_m, y, ROUND_NOT_NEEDED);
+    PPL_ASSERT(r == V_EQ);
+    if (x <= to) {
+      r = add_assign_r(to, x, y, ROUND_NOT_NEEDED);
+      PPL_ASSERT(r == V_EQ);
+    }
+    else {
+      r = sub_assign_r(to, x, to, ROUND_NOT_NEEDED);
+      PPL_ASSERT(r == V_EQ);
+    }
+  }
+  else {
+    r = add_assign_r(to, x, y, ROUND_NOT_NEEDED);
+    PPL_ASSERT(r == V_EQ);
+  }
+  r = rem_assign_r(to, to, to_m, ROUND_NOT_NEEDED);
+  PPL_ASSERT(r == V_EQ);
+}
 
-    \param os
-    The octagonal shape used to build the polyhedron.
+template <typename M, typename T>
+inline bool
+assign_rem(M& rem, const T& n, const M& div) {
+  PPL_DIRTY_TEMP(T, divisor);
+  PPL_DIRTY_TEMP(T, remainder);
+  Result r;
+  r = assign_r(divisor, div, ROUND_CHECK);
+  if (r != V_EQ)
+    return false;
+  r = rem_assign_r(remainder, n, divisor, ROUND_CHECK);
+  if (r != V_EQ)
+    return false;
+  if (sgn(remainder) < 0) {
+    r = add_assign_r(remainder, remainder, divisor, ROUND_CHECK);
+    if (r != V_EQ)
+      return false;
+  }
+  r = assign_r(rem, remainder, ROUND_CHECK);
+  return r == V_EQ;
+}
 
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
-  */
-  template <typename U>
-  explicit NNC_Polyhedron(const Octagonal_Shape<U>& os,
-                          Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Ordinary copy-constructor.
-  NNC_Polyhedron(const NNC_Polyhedron& y,
-                 Complexity_Class complexity = ANY_COMPLEXITY);
+template <typename T, typename Base, typename From1, typename From2>
+inline bool
+add_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From1& x, const From2& y) {
+  typedef Restriction_Integer_Modulo<From1, T, Base> Rx;
+  const typename Rx::type& rx = Rx::get(x);
+  if (rx.divisor == 0)
+    return set_unrestricted(to);
+  typedef Restriction_Integer_Modulo<From2, T, Base> Ry;
+  const typename Ry::type& ry = Ry::get(y);
+  if (ry.divisor == 0)
+    return set_unrestricted(to);
+  Result r;
+  PPL_DIRTY_TEMP(T, rem);
+  if (is_singleton(x)) {
+    if (is_singleton(y))
+      return set_integer(to);
+    if (!assign_rem(rem, f_lower(x), ry.divisor))
+      return set_integer(to);
+    r = assign_r(to.divisor, ry.divisor, ROUND_NOT_NEEDED);
+    PPL_ASSERT(r == V_EQ);
+    addmod(to.remainder, rem, ry.remainder, to.divisor, ry.divisor);
+  }
+  else if (is_singleton(y)) {
+    if (!assign_rem(rem, f_lower(y), rx.divisor))
+      return set_integer(to);
+    r = assign_r(to.divisor, rx.divisor, ROUND_NOT_NEEDED);
+    PPL_ASSERT(r == V_EQ);
+    addmod(to.remainder, rx.remainder, rem, to.divisor, to.divisor);
+  }
+  else {
+    r = gcd_assign_r(to.divisor, rx.divisor, ry.divisor, ROUND_NOT_NEEDED);
+    PPL_ASSERT(r == V_EQ);
+    addmod(to.remainder, rx.remainder, ry.remainder, to.divisor, ry.divisor);
+  }
+  return true;
+}
 
-  /*! \brief
-    The assignment operator.
-    (\p *this and \p y can be dimension-incompatible.)
-  */
-  NNC_Polyhedron& operator=(const NNC_Polyhedron& y);
+template <typename T>
+inline void
+submod(T& to, const T& x, const T& y, const T& to_m, const T& y_m) {
+  Result r;
+  if (x >= y) {
+    r = sub_assign_r(to, x, y, ROUND_NOT_NEEDED);
+    PPL_ASSERT(r == V_EQ);
+  }
+  else {
+    r = sub_assign_r(to, y_m, y, ROUND_NOT_NEEDED);
+    PPL_ASSERT(r == V_EQ);
+    r = add_assign_r(to, x, to, ROUND_NOT_NEEDED);
+    PPL_ASSERT(r == V_EQ);
+  }
+  r = rem_assign_r(to, to, to_m, ROUND_NOT_NEEDED);
+  PPL_ASSERT(r == V_EQ);
+}
 
-  //! Assigns to \p *this the C polyhedron \p y.
-  NNC_Polyhedron& operator=(const C_Polyhedron& y);
+template <typename T, typename Base, typename From1, typename From2>
+inline bool
+sub_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From1& x, const From2& y) {
+  typedef Restriction_Integer_Modulo<From1, T, Base> Rx;
+  const typename Rx::type& rx = Rx::get(x);
+  if (rx.divisor == 0)
+    return set_unrestricted(to);
+  typedef Restriction_Integer_Modulo<From2, T, Base> Ry;
+  const typename Ry::type& ry = Ry::get(y);
+  if (ry.divisor == 0)
+    return set_unrestricted(to);
+  Result r;
+  PPL_DIRTY_TEMP(T, rem);
+  if (is_singleton(x)) {
+    if (is_singleton(y))
+      return set_integer(to);
+    if (!assign_rem(rem, f_lower(x), ry.divisor))
+      return set_integer(to);
+    r = assign_r(to.divisor, ry.divisor, ROUND_NOT_NEEDED);
+    PPL_ASSERT(r == V_EQ);
+    submod(to.remainder, rem, ry.remainder, to.divisor, ry.divisor);
+  }
+  else if (is_singleton(y)) {
+    if (!assign_rem(rem, f_lower(y), rx.divisor))
+      return set_integer(to);
+    r = assign_r(to.divisor, rx.divisor, ROUND_NOT_NEEDED);
+    PPL_ASSERT(r == V_EQ);
+    submod(to.remainder, rx.remainder, rem, to.divisor, to.divisor);
+  }
+  else {
+    r = gcd_assign_r(to.divisor, rx.divisor, ry.divisor, ROUND_NOT_NEEDED);
+    PPL_ASSERT(r == V_EQ);
+    submod(to.remainder, rx.remainder, ry.remainder, to.divisor, ry.divisor);
+  }
+  return true;
+}
+
+template <typename T>
+inline void
+mulmod(T& to, const T& x, const T& y, const T& to_m) {
+  Result r;
+  if (std::numeric_limits<T>::is_bounded) {
+    PPL_DIRTY_TEMP0(mpz_class, a);
+    PPL_DIRTY_TEMP0(mpz_class, b);
+    r = assign_r(a, x, ROUND_NOT_NEEDED);
+    PPL_ASSERT(r == V_EQ);
+    r = assign_r(b, y, ROUND_NOT_NEEDED);
+    PPL_ASSERT(r == V_EQ);
+    r = mul_assign_r(a, a, b, ROUND_NOT_NEEDED);
+    PPL_ASSERT(r == V_EQ);
+    r = assign_r(b, to_m, ROUND_NOT_NEEDED);
+    PPL_ASSERT(r == V_EQ);
+    r = rem_assign_r(a, a, b, ROUND_NOT_NEEDED);
+    PPL_ASSERT(r == V_EQ);
+    r = assign_r(to, a, ROUND_NOT_NEEDED);
+    PPL_ASSERT(r == V_EQ);
+  }
+  else {
+    r = mul_assign_r(to, x, y, ROUND_NOT_NEEDED);
+    PPL_ASSERT(r == V_EQ);
+    r = rem_assign_r(to, to, to_m, ROUND_NOT_NEEDED);
+    PPL_ASSERT(r == V_EQ);
+  }
+}
 
-  //! Destructor.
-  ~NNC_Polyhedron();
 
-  /*! \brief
-    If the poly-hull of \p *this and \p y is exact it is assigned
-    to \p *this and <CODE>true</CODE> is returned,
-    otherwise <CODE>false</CODE> is returned.
+template <typename T, typename Base, typename From1, typename From2>
+inline bool
+mul_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From1& x, const From2& y) {
+  typedef Restriction_Integer_Modulo<From1, T, Base> Rx;
+  const typename Rx::type& rx = Rx::get(x);
+  if (rx.divisor == 0)
+    return set_unrestricted(to);
+  typedef Restriction_Integer_Modulo<From2, T, Base> Ry;
+  const typename Ry::type& ry = Ry::get(y);
+  if (ry.divisor == 0)
+    return set_unrestricted(to);
+  Result r;
+  PPL_DIRTY_TEMP(T, mul);
+  if (is_singleton(x)) {
+    if (is_singleton(y))
+      return set_integer(to);
+    PPL_DIRTY_TEMP(typename Boundary_Value<From1>::type, n);
+    r = abs_assign_r(n, f_lower(x), ROUND_CHECK);
+    if (r != V_EQ)
+      return set_integer(to);
+    r = assign_r(mul, n, ROUND_CHECK);
+    if (r != V_EQ)
+      return set_integer(to);
+    r = mul_assign_r(to.remainder, mul, ry.remainder, ROUND_NOT_NEEDED);
+    if (r != V_EQ)
+      return set_integer(to);
+    r = mul_assign_r(to.divisor, mul, ry.divisor, ROUND_NOT_NEEDED);
+    if (r != V_EQ)
+      return set_integer(to);
+  }
+  else if (is_singleton(y)) {
+    PPL_DIRTY_TEMP(typename Boundary_Value<From2>::type, n);
+    r = abs_assign_r(n, f_lower(y), ROUND_CHECK);
+    if (r != V_EQ)
+      return set_integer(to);
+    r = assign_r(mul, n, ROUND_CHECK);
+    if (r != V_EQ)
+      return set_integer(to);
+    r = mul_assign_r(to.remainder, rx.remainder, mul, ROUND_NOT_NEEDED);
+    if (r != V_EQ)
+      return set_integer(to);
+    r = mul_assign_r(to.divisor, rx.divisor, mul, ROUND_NOT_NEEDED);
+    if (r != V_EQ)
+      return set_integer(to);
+  }
+  else {
+    r = gcd_assign_r(to.divisor, rx.divisor, ry.divisor, ROUND_NOT_NEEDED);
+    PPL_ASSERT(r == V_EQ);
+    mulmod(to.remainder, rx.remainder, ry.remainder, to.divisor);
+  }
+  return true;
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  bool poly_hull_assign_if_exact(const NNC_Polyhedron& y);
+template <typename T, typename Base, typename From1, typename From2>
+inline bool
+div_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to,
+                const From1& x, const From2& y) {
+  if (is_singleton(y)) {
+    if (is_singleton(x)) {
+      // FIXME: to be written
+    }
+  }
+  return set_unrestricted(to);
+}
 
-  //! Same as poly_hull_assign_if_exact(y).
-  bool upper_bound_assign_if_exact(const NNC_Polyhedron& y);
-};
+template <typename T, typename Base>
+inline void
+output_restriction(std::ostream& s, const Interval_Restriction_Integer_Modulo<T, Base>& x) {
+  if (x.divisor == 1)
+    s << "i";
+  else if (x.divisor != 0)
+    s << "{" << x.remainder << "%" << x.divisor << "}";
+}
 
-/* Automatically generated from PPL source file ../src/NNC_Polyhedron.inlines.hh line 1. */
-/* NNC_Polyhedron class implementation: inline functions.
-*/
+}
 
+/* Automatically generated from PPL source file ../src/Interval_Info.defs.hh line 28. */
 
-/* Automatically generated from PPL source file ../src/NNC_Polyhedron.inlines.hh line 27. */
+#include <iostream>
 
 namespace Parma_Polyhedra_Library {
 
-inline
-NNC_Polyhedron::~NNC_Polyhedron() {
-}
-
-inline
-NNC_Polyhedron::NNC_Polyhedron(dimension_type num_dimensions,
-			       Degenerate_Element kind)
-  : Polyhedron(NOT_NECESSARILY_CLOSED,
-	       num_dimensions <= max_space_dimension()
-	       ? num_dimensions
-	       : (throw_space_dimension_overflow(NOT_NECESSARILY_CLOSED,
-						 "NNC_Polyhedron(n, k)",
-						 "n exceeds the maximum "
-						 "allowed space dimension"),
-		  num_dimensions),
-	       kind) {
-}
-
-inline
-NNC_Polyhedron::NNC_Polyhedron(const Constraint_System& cs)
-  : Polyhedron(NOT_NECESSARILY_CLOSED,
-	       cs.space_dimension() <= max_space_dimension()
-	       ? cs
-	       : (throw_space_dimension_overflow(NOT_NECESSARILY_CLOSED,
-						 "NNC_Polyhedron(cs)",
-						 "the space dimension of cs "
-						 "exceeds the maximum allowed "
-						 "space dimension"), cs)) {
-}
+namespace Interval_NS {
 
-inline
-NNC_Polyhedron::NNC_Polyhedron(Constraint_System& cs, Recycle_Input)
-  : Polyhedron(NOT_NECESSARILY_CLOSED,
-	       cs.space_dimension() <= max_space_dimension()
-	       ? cs
-	       : (throw_space_dimension_overflow(NOT_NECESSARILY_CLOSED,
-						 "NNC_Polyhedron(cs, recycle)",
-						 "the space dimension of cs "
-						 "exceeds the maximum allowed "
-						 "space dimension"), cs),
-	       Recycle_Input()) {
-}
+struct Property {
+  enum Type {
+    CARDINALITY_0_,
+    CARDINALITY_1_,
+    CARDINALITY_IS_
+  };
+  typedef bool Value;
+  static const Value default_value = true;
+  static const Value unsupported_value = false;
+  Property(Type t)
+    : type(t) {
+  }
+  Type type;
+};
 
-inline
-NNC_Polyhedron::NNC_Polyhedron(const Generator_System& gs)
-  : Polyhedron(NOT_NECESSARILY_CLOSED,
-	       gs.space_dimension() <= max_space_dimension()
-	       ? gs
-	       : (throw_space_dimension_overflow(NOT_NECESSARILY_CLOSED,
-						 "NNC_Polyhedron(gs)",
-						 "the space dimension of gs "
-						 "exceeds the maximum allowed "
-						 "space dimension"), gs)) {
-}
+const Property CARDINALITY_0(Property::CARDINALITY_0_);
+const Property CARDINALITY_1(Property::CARDINALITY_1_);
+const Property CARDINALITY_IS(Property::CARDINALITY_IS_);
 
-inline
-NNC_Polyhedron::NNC_Polyhedron(Generator_System& gs, Recycle_Input)
-  : Polyhedron(NOT_NECESSARILY_CLOSED,
-	       gs.space_dimension() <= max_space_dimension()
-	       ? gs
-	       : (throw_space_dimension_overflow(NOT_NECESSARILY_CLOSED,
-						 "NNC_Polyhedron(gs, recycle)",
-						 "the space dimension of gs "
-						 "exceeds the maximum allowed "
-						 "space dimension"), gs),
-	       Recycle_Input()) {
+template <typename T>
+inline void
+reset_bits(T& bits) {
+  bits = 0;
 }
 
-template <typename Interval>
-inline
-NNC_Polyhedron::NNC_Polyhedron(const Box<Interval>& box, Complexity_Class)
-  : Polyhedron(NOT_NECESSARILY_CLOSED,
-	       box.space_dimension() <= max_space_dimension()
-	       ? box
-	       : (throw_space_dimension_overflow(NOT_NECESSARILY_CLOSED,
-						 "NNC_Polyhedron(box)",
-						 "the space dimension of box "
-						 "exceeds the maximum allowed "
-						 "space dimension"), box)) {
+template <typename T>
+inline void
+reset_bit(T& bits, unsigned int bit) {
+  bits &= ~(static_cast<T>(1) << bit);
 }
 
-template <typename U>
-inline
-NNC_Polyhedron::NNC_Polyhedron(const BD_Shape<U>& bd, Complexity_Class)
-  : Polyhedron(NOT_NECESSARILY_CLOSED,
-	       bd.space_dimension() <= max_space_dimension()
-	       ? bd.space_dimension()
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "NNC_Polyhedron(bd): ",
-						 "the space dimension of bd "
-						 "exceeds the maximum allowed "
-						 "space dimension"), 0),
-               UNIVERSE) {
-  add_constraints(bd.constraints());
+template <typename T>
+inline void
+set_bit(T& bits, unsigned int bit, bool value) {
+  if (value)
+    bits |= static_cast<T>(1) << bit;
+  else
+    reset_bit(bits, bit);
 }
 
-template <typename U>
-inline
-NNC_Polyhedron::NNC_Polyhedron(const Octagonal_Shape<U>& os, Complexity_Class)
-  : Polyhedron(NOT_NECESSARILY_CLOSED,
-	       os.space_dimension() <= max_space_dimension()
-	       ? os.space_dimension()
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "NNC_Polyhedron(os): ",
-						 "the space dimension of os "
-						 "exceeds the maximum allowed "
-						 "space dimension"), 0),
-               UNIVERSE) {
-  add_constraints(os.constraints());
+template <typename T>
+inline bool
+get_bit(const T& bits, unsigned int bit) {
+  return bits & (static_cast<T>(1) << bit);
 }
 
-inline
-NNC_Polyhedron::NNC_Polyhedron(const NNC_Polyhedron& y, Complexity_Class)
-  : Polyhedron(y) {
+template <typename T>
+inline void
+set_bits(T& bits, unsigned int start, unsigned int len, T value) {
+  bits &= ~(((static_cast<T>(1) << len) - 1) << start);
+  bits |= value << start;
 }
 
-inline NNC_Polyhedron&
-NNC_Polyhedron::operator=(const NNC_Polyhedron& y) {
-  Polyhedron::operator=(y);
-  return *this;
+template <typename T>
+inline T
+get_bits(T& bits, unsigned int start, unsigned int len) {
+  return (bits >> start) & ((static_cast<T>(1) << len) - 1);
 }
 
-inline NNC_Polyhedron&
-NNC_Polyhedron::operator=(const C_Polyhedron& y) {
-  NNC_Polyhedron nnc_y(y);
-  swap(nnc_y);
-  return *this;
-}
+} // namespace Interval_NS
 
-inline bool
-NNC_Polyhedron::upper_bound_assign_if_exact(const NNC_Polyhedron& y) {
-  return poly_hull_assign_if_exact(y);
-}
+using namespace Interval_NS;
+using namespace Boundary_NS;
 
-} // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/NNC_Polyhedron.defs.hh line 254. */
+template <typename Policy>
+class Interval_Info_Null {
+public:
+  const_bool_nodef(may_be_empty, Policy::may_be_empty);
+  const_bool_nodef(may_contain_infinity, Policy::may_contain_infinity);
+  const_bool_nodef(check_inexact, Policy::check_inexact);
+  const_bool_nodef(store_special, false);
+  const_bool_nodef(store_open, false);
+  const_bool_nodef(cache_normalized, false);
+  const_bool_nodef(cache_empty, false);
+  const_bool_nodef(cache_singleton, false);
+  void clear() {
+  }
+  void clear_boundary_properties(Boundary_Type) {
+  }
 
-/* Automatically generated from PPL source file ../src/Grid.defs.hh line 1. */
-/* Grid class declaration.
-*/
+  template <typename Property>
+  void set_boundary_property(Boundary_Type, const Property&, typename Property::Value = Property::default_value) {
+  }
+  template <typename Property>
+  typename Property::Value get_boundary_property(Boundary_Type, const Property&) const {
+    return Property::unsupported_value;
+  }
+  template <typename Property>
+  void set_interval_property(const Property&, typename Property::Value = Property::default_value) {
+  }
+  template <typename Property>
+  typename Property::Value get_interval_property(const Property&) const {
+    return Property::unsupported_value;
+  }
 
+  //! Swaps \p *this with \p y.
+  void swap(Interval_Info_Null& y);
 
-/* Automatically generated from PPL source file ../src/Grid.defs.hh line 48. */
-#include <vector>
-#include <iosfwd>
+  void ascii_dump(std::ostream& s) const;
+  bool ascii_load(std::istream& s);
+};
 
-namespace Parma_Polyhedra_Library {
+template <typename Policy>
+class Interval_Info_Null_Open : public Interval_Info_Null<Policy> {
+public:
+  const_bool_nodef(store_open, true);
+  Interval_Info_Null_Open(bool o)
+    : open(o) {
+  }
+  bool get_boundary_property(Boundary_Type, const Boundary_NS::Property& p) const {
+    switch (p.type) {
+    case Boundary_NS::Property::OPEN_:
+      return open;
+    default:
+      return Boundary_NS::Property::unsupported_value;
+    }
+  }
 
-namespace IO_Operators {
+  void ascii_dump(std::ostream& s) const;
+  bool ascii_load(std::istream& s);
 
-//! Output operator.
-/*!
-  \relates Parma_Polyhedra_Library::Grid
-  Writes a textual representation of \p gr on \p s: <CODE>false</CODE>
-  is written if \p gr is an empty grid; <CODE>true</CODE> is written
-  if \p gr is a universe grid; a minimized system of congruences
-  defining \p gr is written otherwise, all congruences in one row
-  separated by ", "s.
-*/
-std::ostream&
-operator<<(std::ostream& s, const Grid& gr);
+private:
+  bool open;
+};
 
-} // namespace IO_Operators
 
-/*! \brief
-  Returns <CODE>true</CODE> if and only if \p x and \p y are the same
-  grid.
+template <typename T, typename Policy>
+class Interval_Info_Bitset {
+public:
+  const_bool_nodef(may_be_empty, Policy::may_be_empty);
+  const_bool_nodef(may_contain_infinity, Policy::may_contain_infinity);
+  const_bool_nodef(check_inexact, Policy::check_inexact);
+  const_bool_nodef(store_special, Policy::store_special);
+  const_bool_nodef(store_open, Policy::store_open);
+  const_bool_nodef(cache_normalized, Policy::cache_normalized);
+  const_bool_nodef(cache_empty, Policy::cache_empty);
+  const_bool_nodef(cache_singleton, Policy::cache_singleton);
+  const_int_nodef(lower_special_bit, Policy::next_bit);
+  const_int_nodef(lower_open_bit, lower_special_bit + store_special);
+  const_int_nodef(lower_normalized_bit, lower_open_bit + store_open);
+  const_int_nodef(upper_special_bit, lower_normalized_bit + cache_normalized);
+  const_int_nodef(upper_open_bit, upper_special_bit + store_special);
+  const_int_nodef(upper_normalized_bit, upper_open_bit + store_open);
+  const_int_nodef(cardinality_is_bit, upper_normalized_bit + cache_normalized);
+  const_int_nodef(cardinality_0_bit, cardinality_is_bit + (cache_empty || cache_singleton));
+  const_int_nodef(cardinality_1_bit, cardinality_0_bit + cache_empty);
+  const_int_nodef(next_bit, cardinality_1_bit + cache_singleton);
+  Interval_Info_Bitset() {
+    // FIXME: would we have speed benefits with uninitialized info?
+    // (Dirty_Temp)
+    clear();
+  }
 
-  \relates Grid
-  Note that \p x and \p y may be dimension-incompatible grids: in
-  those cases, the value <CODE>false</CODE> is returned.
-*/
-bool operator==(const Grid& x, const Grid& y);
+  void clear() {
+    reset_bits(bitset);
+  }
+  void clear_boundary_properties(Boundary_Type t) {
+    set_boundary_property(t, SPECIAL, false);
+    set_boundary_property(t, OPEN, false);
+  }
+  void set_boundary_property(Boundary_Type t, const Boundary_NS::Property& p, bool value = true) {
+    switch (p.type) {
+    case Boundary_NS::Property::SPECIAL_:
+      if (store_special) {
+	if (t == LOWER)
+	  set_bit(bitset, lower_special_bit, value);
+	else
+	  set_bit(bitset, upper_special_bit, value);
+      }
+      break;
+    case Boundary_NS::Property::OPEN_:
+      if (store_open) {
+	if (t == LOWER)
+	  set_bit(bitset, lower_open_bit, value);
+	else
+	  set_bit(bitset, upper_open_bit, value);
+      }
+      break;
+    case Boundary_NS::Property::NORMALIZED_:
+      if (cache_normalized) {
+	if (t == LOWER)
+	  set_bit(bitset, lower_normalized_bit, value);
+	else
+	  set_bit(bitset, upper_normalized_bit, value);
+      }
+      break;
+    default:
+      break;
+    }
+  }
+  bool get_boundary_property(Boundary_Type t, const Boundary_NS::Property& p) const {
+    switch (p.type) {
+    case Boundary_NS::Property::SPECIAL_:
+      if (!store_special)
+	return false;
+      if (t == LOWER)
+	return get_bit(bitset, lower_special_bit);
+      else
+	return get_bit(bitset, upper_special_bit);
+    case Boundary_NS::Property::OPEN_:
+      if (!store_open)
+	return false;
+      else if (t == LOWER)
+	return get_bit(bitset, lower_open_bit);
+      else
+	return get_bit(bitset, upper_open_bit);
+    case Boundary_NS::Property::NORMALIZED_:
+      if (!cache_normalized)
+	return false;
+      else if (t == LOWER)
+	return get_bit(bitset, lower_normalized_bit);
+      else
+	return get_bit(bitset, upper_normalized_bit);
+    default:
+      return false;
+    }
+  }
+  void set_interval_property(const Interval_NS::Property& p, bool value = true) {
+    switch (p.type) {
+    case Interval_NS::Property::CARDINALITY_0_:
+      if (cache_empty)
+	set_bit(bitset, cardinality_0_bit, value);
+      break;
+    case Interval_NS::Property::CARDINALITY_1_:
+      if (cache_singleton)
+	set_bit(bitset, cardinality_1_bit, value);
+      break;
+    case Interval_NS::Property::CARDINALITY_IS_:
+      if (cache_empty || cache_singleton)
+	set_bit(bitset, cardinality_is_bit, value);
+      break;
+    default:
+      break;
+    }
+  }
+  bool get_interval_property(Interval_NS::Property p) const {
+    switch (p.type) {
+    case Interval_NS::Property::CARDINALITY_0_:
+      return cache_empty && get_bit(bitset, cardinality_0_bit);
+    case Interval_NS::Property::CARDINALITY_1_:
+      return cache_singleton && get_bit(bitset, cardinality_1_bit);
+    case Interval_NS::Property::CARDINALITY_IS_:
+      return (cache_empty || cache_singleton)
+        && get_bit(bitset, cardinality_is_bit);
+    default:
+      return false;
+    }
+  }
 
-/*! \brief
-  Returns <CODE>true</CODE> if and only if \p x and \p y are different
-  grids.
+  //! Swaps \p *this with \p y.
+  void swap(Interval_Info_Bitset& y);
 
-  \relates Grid
-  Note that \p x and \p y may be dimension-incompatible grids: in
-  those cases, the value <CODE>true</CODE> is returned.
-*/
-bool operator!=(const Grid& x, const Grid& y);
+  void ascii_dump(std::ostream& s) const;
+  bool ascii_load(std::istream& s);
 
-} // namespace Parma_Polyhedra_Library
+protected:
+  T bitset;
+};
 
+}
 
-//! A grid.
-/*! \ingroup PPL_CXX_interface
-  An object of the class Grid represents a rational grid.
+/* Automatically generated from PPL source file ../src/Interval_Info.inlines.hh line 1. */
+/* Interval_Info class implementation: inline functions.
+*/
 
-  The domain of grids <EM>optimally supports</EM>:
-    - all (proper and non-proper) congruences;
-    - tautological and inconsistent constraints;
-    - linear equality constraints (i.e., non-proper congruences).
 
-  Depending on the method, using a constraint that is not optimally
-  supported by the domain will either raise an exception or
-  result in a (possibly non-optimal) upward approximation.
+#include <iomanip>
 
-  The domain of grids support a concept of double description similar
-  to the one developed for polyhedra: hence, a grid can be specified
-  as either a finite system of congruences or a finite system of
-  generators (see Section \ref sect_rational_grids) and it is always
-  possible to obtain either representation.
-  That is, if we know the system of congruences, we can obtain
-  from this a system of generators that define the same grid
-  and vice versa.
-  These systems can contain redundant members, or they can be in the
-  minimal form.
+namespace Parma_Polyhedra_Library {
 
-  A key attribute of any grid is its space dimension (the dimension
-  \f$n \in \Nset\f$ of the enclosing vector space):
+template <typename Policy>
+inline void
+Interval_Info_Null<Policy>::swap(Interval_Info_Null<Policy>&) {
+}
 
-  - all grids, the empty ones included, are endowed with a space
-    dimension;
-  - most operations working on a grid and another object (another
-    grid, a congruence, a generator, a set of variables, etc.) will
-    throw an exception if the grid and the object are not
-    dimension-compatible (see Section \ref Grid_Space_Dimensions);
-  - the only ways in which the space dimension of a grid can be
-    changed are with <EM>explicit</EM> calls to operators provided for
-    that purpose, and with standard copy, assignment and swap
-    operators.
+template <typename Policy>
+inline void
+Interval_Info_Null<Policy>::ascii_dump(std::ostream& s) const {
+}
 
-  Note that two different grids can be defined on the zero-dimension
-  space: the empty grid and the universe grid \f$R^0\f$.
+template <typename Policy>
+inline bool
+Interval_Info_Null<Policy>::ascii_load(std::istream& s) {
+  return true;
+}
 
-  \par
-  In all the examples it is assumed that variables
-  <CODE>x</CODE> and <CODE>y</CODE> are defined (where they are
-  used) as follows:
-  \code
-  Variable x(0);
-  Variable y(1);
-  \endcode
+template <typename Policy>
+inline void
+Interval_Info_Null_Open<Policy>::ascii_dump(std::ostream& s) const {
+  s << (open ? "open" : "closed");
+}
 
-  \par Example 1
-  The following code builds a grid corresponding to the even integer
-  pairs in \f$\Rset^2\f$, given as a system of congruences:
-  \code
-  Congruence_System cgs;
-  cgs.insert((x %= 0) / 2);
-  cgs.insert((y %= 0) / 2);
-  Grid gr(cgs);
-  \endcode
-  The following code builds the same grid as above, but starting
-  from a system of generators specifying three of the points:
-  \code
-  Grid_Generator_System gs;
-  gs.insert(grid_point(0*x + 0*y));
-  gs.insert(grid_point(0*x + 2*y));
-  gs.insert(grid_point(2*x + 0*y));
-  Grid gr(gs);
-  \endcode
+template <typename Policy>
+inline bool
+Interval_Info_Null_Open<Policy>::ascii_load(std::istream& s) {
+  std::string str;
+  if (!(s >> str))
+    return false;
+  if (str == "open") {
+    open = true;
+    return true;
+  }
+  if (str == "closed") {
+    open = false;
+    return true;
+  }
+  return false;
+}
 
-  \par Example 2
-  The following code builds a grid corresponding to a line in
-  \f$\Rset^2\f$ by adding a single congruence to the universe grid:
-  \code
-  Congruence_System cgs;
-  cgs.insert(x - y == 0);
-  Grid gr(cgs);
-  \endcode
-  The following code builds the same grid as above, but starting
-  from a system of generators specifying a point and a line:
-  \code
-  Grid_Generator_System gs;
-  gs.insert(grid_point(0*x + 0*y));
-  gs.insert(grid_line(x + y));
-  Grid gr(gs);
-  \endcode
+template <typename T, typename Policy>
+inline void
+Interval_Info_Bitset<T, Policy>::swap(Interval_Info_Bitset<T, Policy>& y) {
+  std::swap(bitset, y.bitset);
+}
 
-  \par Example 3
-  The following code builds a grid corresponding to the integral
-  points on the line \f$x = y\f$ in \f$\Rset^2\f$ constructed
-  by adding an equality and congruence to the universe grid:
-  \code
-  Congruence_System cgs;
-  cgs.insert(x - y == 0);
-  cgs.insert(x %= 0);
-  Grid gr(cgs);
-  \endcode
-  The following code builds the same grid as above, but starting
-  from a system of generators specifying a point and a parameter:
-  \code
-  Grid_Generator_System gs;
-  gs.insert(grid_point(0*x + 0*y));
-  gs.insert(parameter(x + y));
-  Grid gr(gs);
-  \endcode
+template <typename T, typename Policy>
+inline void
+Interval_Info_Bitset<T, Policy>::ascii_dump(std::ostream& s) const {
+  std::ios_base::fmtflags old = s.flags();
+  s << std::hex << bitset;
+  s.flags(old);
+}
 
-  \par Example 4
-  The following code builds the grid corresponding to a plane by
-  creating the universe grid in \f$\Rset^2\f$:
-  \code
-  Grid gr(2);
-  \endcode
-  The following code builds the same grid as above, but starting
-  from the empty grid in \f$\Rset^2\f$ and inserting the appropriate
-  generators (a point, and two lines).
-  \code
-  Grid gr(2, EMPTY);
-  gr.add_grid_generator(grid_point(0*x + 0*y));
-  gr.add_grid_generator(grid_line(x));
-  gr.add_grid_generator(grid_line(y));
-  \endcode
-  Note that a generator system must contain a point when describing
-  a grid.  To ensure that this is always the case it is required
-  that the first generator inserted in an empty grid is a point
-  (otherwise, an exception is thrown).
+template <typename T, typename Policy>
+inline bool
+Interval_Info_Bitset<T, Policy>::ascii_load(std::istream& s) {
+  std::ios_base::fmtflags old = s.flags();
+  if (s >> std::hex >> bitset) {
+    s.flags(old);
+    return s;
+  }
+  else
+    return false;
+}
 
-  \par Example 5
-  The following code shows the use of the function
-  <CODE>add_space_dimensions_and_embed</CODE>:
-  \code
-  Grid gr(1);
-  gr.add_congruence(x == 2);
-  gr.add_space_dimensions_and_embed(1);
-  \endcode
-  We build the universe grid in the 1-dimension space \f$\Rset\f$.
-  Then we add a single equality congruence,
-  thus obtaining the grid corresponding to the singleton set
-  \f$\{ 2 \} \sseq \Rset\f$.
-  After the last line of code, the resulting grid is
-  \f[
-  \bigl\{\,
-  (2, y)^\transpose \in \Rset^2
-  \bigm|
-  y \in \Rset
-  \,\bigr\}.
-  \f]
+} // namespace Parma_Polyhedra_Library
 
-  \par Example 6
-  The following code shows the use of the function
-  <CODE>add_space_dimensions_and_project</CODE>:
-  \code
-  Grid gr(1);
-  gr.add_congruence(x == 2);
-  gr.add_space_dimensions_and_project(1);
-  \endcode
-  The first two lines of code are the same as in Example 4 for
-  <CODE>add_space_dimensions_and_embed</CODE>.
-  After the last line of code, the resulting grid is
-  the singleton set
-  \f$\bigl\{ (2, 0)^\transpose \bigr\} \sseq \Rset^2\f$.
+namespace std {
 
-  \par Example 7
-  The following code shows the use of the function
-  <CODE>affine_image</CODE>:
-  \code
-  Grid gr(2, EMPTY);
-  gr.add_grid_generator(grid_point(0*x + 0*y));
-  gr.add_grid_generator(grid_point(4*x + 0*y));
-  gr.add_grid_generator(grid_point(0*x + 2*y));
-  Linear_Expression expr = x + 3;
-  gr.affine_image(x, expr);
-  \endcode
-  In this example the starting grid is all the pairs of \f$x\f$ and
-  \f$y\f$ in \f$\Rset^2\f$ where \f$x\f$ is an integer multiple of 4
-  and \f$y\f$ is an integer multiple of 2.  The considered variable
-  is \f$x\f$ and the affine expression is \f$x+3\f$.  The resulting
-  grid is the given grid translated 3 integers to the right (all the
-  pairs \f$(x, y)\f$ where \f$x\f$ is -1 plus an integer multiple of 4
-  and \f$y\f$ is an integer multiple of 2).
-  Moreover, if the affine transformation for the same variable \p x
-  is instead \f$x+y\f$:
-  \code
-  Linear_Expression expr = x + y;
-  \endcode
-  the resulting grid is every second integral point along the \f$x=y\f$
-  line, with this line of points repeated at every fourth integral value
-  along the \f$x\f$ axis.
-  Instead, if we do not use an invertible transformation for the
-  same variable; for example, the affine expression \f$y\f$:
-  \code
-  Linear_Expression expr = y;
-  \endcode
-  the resulting grid is every second point along the \f$x=y\f$ line.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates Parma_Polyhedra_Library::Interval_Info_Null */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Policy>
+inline void
+swap(Parma_Polyhedra_Library::Interval_Info_Null<Policy>& x,
+     Parma_Polyhedra_Library::Interval_Info_Null<Policy>& y) {
+  x.swap(y);
+}
 
-  \par Example 8
-  The following code shows the use of the function
-  <CODE>affine_preimage</CODE>:
-  \code
-  Grid gr(2, EMPTY);
-  gr.add_grid_generator(grid_point(0*x + 0*y));
-  gr.add_grid_generator(grid_point(4*x + 0*y));
-  gr.add_grid_generator(grid_point(0*x + 2*y));
-  Linear_Expression expr = x + 3;
-  gr.affine_preimage(x, expr);
-  \endcode
-  In this example the starting grid, \p var and the affine
-  expression and the denominator are the same as in Example 6, while
-  the resulting grid is similar but translated 3 integers to the
-  left (all the pairs \f$(x, y)\f$
-  where \f$x\f$ is -3 plus an integer multiple of 4 and
-  \f$y\f$ is an integer multiple of 2)..
-  Moreover, if the affine transformation for \p x is \f$x+y\f$
-  \code
-  Linear_Expression expr = x + y;
-  \endcode
-  the resulting grid is a similar grid to the result in Example 6,
-  only the grid is slanted along \f$x=-y\f$.
-  Instead, if we do not use an invertible transformation for the same
-  variable \p x, for example, the affine expression \f$y\f$:
-  \code
-  Linear_Expression expr = y;
-  \endcode
-  the resulting grid is every fourth line parallel to the \f$x\f$
-  axis.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates Parma_Polyhedra_Library::Interval_Info_Bitset */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T, typename Policy>
+inline void
+swap(Parma_Polyhedra_Library::Interval_Info_Bitset<T, Policy>& x,
+     Parma_Polyhedra_Library::Interval_Info_Bitset<T, Policy>& y) {
+  x.swap(y);
+}
 
-  \par Example 9
-  For this example we also use the variables:
-  \code
-  Variable z(2);
-  Variable w(3);
-  \endcode
-  The following code shows the use of the function
-  <CODE>remove_space_dimensions</CODE>:
-  \code
-  Grid_Generator_System gs;
-  gs.insert(grid_point(3*x + y +0*z + 2*w));
-  Grid gr(gs);
-  Variables_Set to_be_removed;
-  to_be_removed.insert(y);
-  to_be_removed.insert(z);
-  gr.remove_space_dimensions(to_be_removed);
-  \endcode
-  The starting grid is the singleton set
-  \f$\bigl\{ (3, 1, 0, 2)^\transpose \bigr\} \sseq \Rset^4\f$, while
-  the resulting grid is
-  \f$\bigl\{ (3, 2)^\transpose \bigr\} \sseq \Rset^2\f$.
-  Be careful when removing space dimensions <EM>incrementally</EM>:
-  since dimensions are automatically renamed after each application
-  of the <CODE>remove_space_dimensions</CODE> operator, unexpected
-  results can be obtained.
-  For instance, by using the following code we would obtain
-  a different result:
-  \code
-  set<Variable> to_be_removed1;
-  to_be_removed1.insert(y);
-  gr.remove_space_dimensions(to_be_removed1);
-  set<Variable> to_be_removed2;
-  to_be_removed2.insert(z);
-  gr.remove_space_dimensions(to_be_removed2);
-  \endcode
-  In this case, the result is the grid
-  \f$\bigl\{(3, 0)^\transpose \bigr\} \sseq \Rset^2\f$:
-  when removing the set of dimensions \p to_be_removed2
-  we are actually removing variable \f$w\f$ of the original grid.
-  For the same reason, the operator \p remove_space_dimensions
-  is not idempotent: removing twice the same non-empty set of dimensions
-  is never the same as removing them just once.
-*/
+} // namespace std
 
-class Parma_Polyhedra_Library::Grid {
-public:
-  //! The numeric type of coefficients.
-  typedef Coefficient coefficient_type;
+/* Automatically generated from PPL source file ../src/Interval_Info.defs.hh line 298. */
 
-  //! Returns the maximum space dimension all kinds of Grid can handle.
-  static dimension_type max_space_dimension();
+/* Automatically generated from PPL source file ../src/Interval.defs.hh line 32. */
+#include <iosfwd>
 
-  /*! \brief
-    Returns true indicating that this domain has methods that
-    can recycle congruences
-  */
-  static bool can_recycle_congruence_systems();
+// Temporary!
+#include <iostream>
 
-  /*! \brief
-    Returns true indicating that this domain has methods that
-    can recycle constraints
-  */
-  static bool can_recycle_constraint_systems();
+namespace Parma_Polyhedra_Library {
 
-  //! Builds a grid having the specified properties.
-  /*!
-    \param num_dimensions
-    The number of dimensions of the vector space enclosing the grid;
+enum Ternary { T_YES, T_NO, T_MAYBE };
 
-    \param kind
-    Specifies whether the universe or the empty grid has to be built.
+inline I_Result
+combine(Result l, Result u) {
+  return static_cast<I_Result>(l | (u << 6));
+}
 
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space
-    dimension.
-  */
-  explicit Grid(dimension_type num_dimensions = 0,
-		Degenerate_Element kind = UNIVERSE);
+struct Interval_Base {
+};
 
-  //! Builds a grid, copying a system of congruences.
-  /*!
-    The grid inherits the space dimension of the congruence system.
+using namespace Boundary_NS;
+using namespace Interval_NS;
 
-    \param cgs
-    The system of congruences defining the grid.
+template <typename T, typename Enable = void>
+struct Is_Singleton : public Is_Native_Or_Checked<T> {};
 
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space
-    dimension.
-  */
-  explicit Grid(const Congruence_System& cgs);
+template <typename T>
+struct Is_Interval : public Is_Same_Or_Derived<Interval_Base, T> {};
 
-  //! Builds a grid, recycling a system of congruences.
-  /*!
-    The grid inherits the space dimension of the congruence system.
+// FIXME: This has been added as a workaraound.
+template <typename From>
+typename Enable_If<Is_Interval<From>::value, I_Result>::type
+neg_assign(From& x);
 
-    \param cgs
-    The system of congruences defining the grid.  Its data-structures
-    may be recycled to build the grid.
+//! A generic, not necessarily closed, possibly restricted interval.
+/*! \ingroup PPL_CXX_interface
+  The class template type parameter \p Boundary represents the type
+  of the interval boundaries, and can be chosen, among other possibilities,
+  within one of the following number families:
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
+  - a bounded precision native integer type (that is,
+    from <CODE>signed char</CODE> to <CODE>long long</CODE>
+    and from <CODE>int8_t</CODE> to <CODE>int64_t</CODE>);
+  - a bounded precision floating point type (<CODE>float</CODE>,
+    <CODE>double</CODE> or <CODE>long double</CODE>);
+  - an unbounded integer or rational type, as provided by the C++ interface
+    of GMP (<CODE>mpz_class</CODE> or <CODE>mpq_class</CODE>).
 
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space
-    dimension.
-  */
-  Grid(Congruence_System& cgs, Recycle_Input dummy);
+  The class template type parameter \p Info allows to control a number
+  of features of the class, among which:
 
-  //! Builds a grid, copying a system of constraints.
-  /*!
-    The grid inherits the space dimension of the constraint system.
+  - the ability to support open as well as closed boundaries;
+  - the ability to represent empty intervals in addition to nonempty ones;
+  - the ability to represent intervals of extended number families
+    that contain positive and negative infinities;
+  - the ability to support (independently from the type of the boundaries)
+    plain intervals of real numbers and intervals subject to generic
+    <EM>restrictions</EM> (e.g., intervals of integer numbers).
+*/
+template <typename Boundary, typename Info>
+class Interval : public Interval_Base, private Info {
+private:
+  PPL_COMPILE_TIME_CHECK(!Info::store_special
+                         || !std::numeric_limits<Boundary>::has_infinity,
+                         "store_special is meaningless"
+                         " when boundary type may contains infinity");
+  Info& w_info() const {
+    return const_cast<Interval&>(*this);
+  }
+  Result lower_normalize() const {
+    Result r;
+    if (info().get_boundary_property(LOWER, NORMALIZED)
+	|| info().get_boundary_property(LOWER, SPECIAL))
+      r = V_EQ;
+    else {
+      Boundary& l = const_cast<Boundary&>(lower());
+      if (info().get_boundary_property(LOWER, OPEN)) {
+	r = info().restrict(round_dir_check(LOWER, true), l, V_GT);
+	if (r != V_GT)
+	  w_info().set_boundary_property(LOWER, OPEN, false);
+      }
+      else {
+	r = info().restrict(round_dir_check(LOWER, true), l, V_GE);
+	if (r == V_GT)
+	  w_info().set_boundary_property(LOWER, OPEN);
+      }
+      w_info().set_boundary_property(LOWER, NORMALIZED);
+    }
+    return r;
+  }
+  Result upper_normalize() const {
+    Result r;
+    if (info().get_boundary_property(UPPER, NORMALIZED)
+	|| info().get_boundary_property(UPPER, SPECIAL))
+      r = V_EQ;
+    else {
+      Boundary& u = const_cast<Boundary&>(upper());
+      if (info().get_boundary_property(UPPER, OPEN)) {
+	r = info().restrict(round_dir_check(UPPER, true), u, V_LT);
+	if (r != V_LT)
+	  w_info().set_boundary_property(UPPER, OPEN, false);
+      }
+      else {
+	r = info().restrict(round_dir_check(UPPER, true), u, V_LE);
+	if (r == V_LT)
+	  w_info().set_boundary_property(UPPER, OPEN);
+      }
+      w_info().set_boundary_property(UPPER, NORMALIZED);
+    }
+    return r;
+  }
 
-    \param cs
-    The system of constraints defining the grid.
 
-    \exception std::invalid_argument
-    Thrown if the constraint system \p cs contains inequality constraints.
+public:
+  typedef Boundary boundary_type;
+  typedef Info info_type;
 
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space
-    dimension.
-  */
-  explicit Grid(const Constraint_System& cs);
+  typedef Interval_NS::Property Property;
 
-  //! Builds a grid, recycling a system of constraints.
-  /*!
-    The grid inherits the space dimension of the constraint system.
+  template <typename T>
+  typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, Interval&>::type
+  operator=(const T& x) {
+    assign(x);
+    return *this;
+  }
 
-    \param cs
-    The system of constraints defining the grid.  Its data-structures
-    may be recycled to build the grid.
+  template <typename T>
+  typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, Interval&>::type
+  operator+=(const T& x) {
+    add_assign(*this, x);
+    return *this;
+  }
+  template <typename T>
+  typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, Interval&>::type
+  operator-=(const T& x) {
+    sub_assign(*this, x);
+    return *this;
+  }
+  template <typename T>
+  typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, Interval&>::type
+  operator*=(const T& x) {
+    mul_assign(*this, x);
+    return *this;
+  }
+  template <typename T>
+  typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, Interval&>::type
+  operator/=(const T& x) {
+    div_assign(*this, x);
+    return *this;
+  }
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
+  //! Swaps \p *this with \p y.
+  void swap(Interval& y);
 
-    \exception std::invalid_argument
-    Thrown if the constraint system \p cs contains inequality constraints.
+  Info& info() {
+    return *this;
+  }
 
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space
-    dimension.
-  */
-  Grid(Constraint_System& cs, Recycle_Input dummy);
+  const Info& info() const {
+    return *this;
+  }
+
+  Boundary& lower() {
+    return lower_;
+  }
 
-  //! Builds a grid, copying a system of grid generators.
-  /*!
-    The grid inherits the space dimension of the generator system.
+  const Boundary& lower() const {
+    return lower_;
+  }
 
-    \param const_gs
-    The system of generators defining the grid.
+  Boundary& upper() {
+    return upper_;
+  }
 
-    \exception std::invalid_argument
-    Thrown if the system of generators is not empty but has no points.
+  const Boundary& upper() const {
+    return upper_;
+  }
 
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space
-    dimension.
-  */
-  explicit Grid(const Grid_Generator_System& const_gs);
+  I_Constraint<boundary_type> lower_constraint() const {
+    PPL_ASSERT(!is_empty());
+    if (info().get_boundary_property(LOWER, SPECIAL))
+      return I_Constraint<boundary_type>();
+    return i_constraint(lower_is_open() ? GREATER_THAN : GREATER_OR_EQUAL, lower(), true);
+  }
+  I_Constraint<boundary_type> upper_constraint() const {
+    PPL_ASSERT(!is_empty());
+    if (info().get_boundary_property(UPPER, SPECIAL))
+      return I_Constraint<boundary_type>();
+    return i_constraint(upper_is_open() ? LESS_THAN : LESS_OR_EQUAL, upper(), true);
+  }
 
-  //! Builds a grid, recycling a system of grid generators.
-  /*!
-    The grid inherits the space dimension of the generator system.
+  bool has_restriction() const {
+    return info().has_restriction();
+  }
 
-    \param gs
-    The system of generators defining the grid.  Its data-structures
-    may be recycled to build the grid.
+  I_Result normalize() const {
+    PPL_ASSERT(OK());
+    if (has_restriction()) {
+      Result rl = lower_normalize();
+      Result ru = upper_normalize();
+      info().normalize();
+      PPL_ASSERT(OK());
+      return combine(rl, ru);
+    }
+    else
+      return combine(V_EQ, V_EQ);
+  }
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
+  bool is_empty() const {
+    return lt(UPPER, upper(), info(), LOWER, lower(), info());
+  }
 
-    \exception std::invalid_argument
-    Thrown if the system of generators is not empty but has no points.
+  bool check_empty(I_Result r) const {
+    return (r & I_ANY) == I_EMPTY
+      || ((r & I_ANY) != I_NOT_EMPTY && is_empty());
+  }
 
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space dimension.
-  */
-  Grid(Grid_Generator_System& gs, Recycle_Input dummy);
+  bool is_singleton() const {
+    return eq(LOWER, lower(), info(), UPPER, upper(), info());
+  }
 
-  //! Builds a grid out of a box.
-  /*!
-    The grid inherits the space dimension of the box.
-    The built grid is the most precise grid that includes the box.
+  bool lower_is_open() const {
+    PPL_ASSERT(OK());
+    return is_open(LOWER, lower(), info());
+  }
 
-    \param box
-    The box representing the grid to be built.
+  bool upper_is_open() const {
+    PPL_ASSERT(OK());
+    return is_open(UPPER, upper(), info());
+  }
 
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
+  bool lower_is_boundary_infinity() const {
+    PPL_ASSERT(OK());
+    return Boundary_NS::is_boundary_infinity(LOWER, lower(), info());
+  }
 
-    \exception std::length_error
-    Thrown if the space dimension of \p box exceeds the maximum
-    allowed space dimension.
-  */
-  template <typename Interval>
-  explicit Grid(const Box<Interval>& box,
-                Complexity_Class complexity = ANY_COMPLEXITY);
+  bool upper_is_boundary_infinity() const {
+    PPL_ASSERT(OK());
+    return Boundary_NS::is_boundary_infinity(UPPER, upper(), info());
+  }
 
-  //! Builds a grid out of a bounded-difference shape.
-  /*!
-    The grid inherits the space dimension of the BDS.
-    The built grid is the most precise grid that includes the BDS.
+  bool lower_is_domain_inf() const {
+    PPL_ASSERT(OK());
+    return Boundary_NS::is_domain_inf(LOWER, lower(), info());
+  }
 
-    \param bd
-    The BDS representing the grid to be built.
+  bool upper_is_domain_sup() const {
+    PPL_ASSERT(OK());
+    return Boundary_NS::is_domain_sup(UPPER, upper(), info());
+  }
 
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
+  bool is_bounded() const {
+    PPL_ASSERT(OK());
+    return !lower_is_boundary_infinity() && !upper_is_boundary_infinity();
+  }
 
-    \exception std::length_error
-    Thrown if the space dimension of \p bd exceeds the maximum
-    allowed space dimension.
-  */
-  template <typename U>
-  explicit Grid(const BD_Shape<U>& bd,
-                Complexity_Class complexity = ANY_COMPLEXITY);
+  bool is_universe() const {
+    PPL_ASSERT(OK());
+    return lower_is_domain_inf() && upper_is_domain_sup()
+      && !has_restriction();
+  }
 
-  //! Builds a grid out of an octagonal shape.
-  /*!
-    The grid inherits the space dimension of the octagonal shape.
-    The built grid is the most precise grid that includes the octagonal shape.
+  I_Result lower_extend() {
+    info().clear_boundary_properties(LOWER);
+    set_unbounded(LOWER, lower(), info());
+    return I_ANY;
+  }
 
-    \param os
-    The octagonal shape representing the grid to be built.
+  template <typename C>
+  typename Enable_If<Is_Same_Or_Derived<I_Constraint_Base, C>::value, I_Result>::type
+  lower_extend(const C& c);
 
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
+  I_Result upper_extend() {
+    info().clear_boundary_properties(UPPER);
+    set_unbounded(UPPER, upper(), info());
+    return I_ANY;
+  }
 
-    \exception std::length_error
-    Thrown if the space dimension of \p os exceeds the maximum
-    allowed space dimension.
-  */
-  template <typename U>
-  explicit Grid(const Octagonal_Shape<U>& os,
-                Complexity_Class complexity = ANY_COMPLEXITY);
+  template <typename C>
+  typename Enable_If<Is_Same_Or_Derived<I_Constraint_Base, C>::value, I_Result>::type
+  upper_extend(const C& c);
 
-  //! Builds a grid out of a generic, interval-based covering box.
-  /*!
-    The covering box is a set of upper and lower values for each
-    dimension.  When a covering box is tiled onto empty space the
-    corners of the tiles form a rectilinear grid.
-
-    A box interval with only one bound fixes the values of all grid
-    points in the dimension associated with the box to the value of
-    the bound.  A box interval which has upper and lower bounds of
-    equal value allows all grid points with any value in the dimension
-    associated with the interval.  The presence of a universe interval
-    results in the empty grid.  The empty box produces the empty grid
-    of the same dimension as the box.
+  I_Result build() {
+    return assign(UNIVERSE);
+  }
 
-    \param box
-    The covering box representing the grid to be built;
+  template <typename C>
+  typename Enable_If<Is_Same_Or_Derived<I_Constraint_Base, C>::value, I_Result>::type
+  build(const C& c) {
+    Relation_Symbol rs;
+    switch (c.rel()) {
+    case V_LGE:
+    case V_GT_MINUS_INFINITY:
+    case V_LT_PLUS_INFINITY:
+      return assign(UNIVERSE);
+    default:
+      return assign(EMPTY);
+    case V_LT:
+    case V_LE:
+    case V_GT:
+    case V_GE:
+    case V_EQ:
+    case V_NE:
+      assign(UNIVERSE);
+      rs = (Relation_Symbol) c.rel();
+      return refine_existential(rs, c.value());
+    }
+  }
+
+  template <typename C1, typename C2>
+  typename Enable_If<Is_Same_Or_Derived<I_Constraint_Base, C1>::value
+                     &&
+		     Is_Same_Or_Derived<I_Constraint_Base, C2>::value,
+                     I_Result>::type
+  build(const C1& c1, const C2& c2) {
+    switch (c1.rel()) {
+    case V_LGE:
+      return build(c2);
+    case V_NAN:
+      return assign(EMPTY);
+    default:
+      break;
+    }
+    switch (c2.rel()) {
+    case V_LGE:
+      return build(c1);
+    case V_NAN:
+      return assign(EMPTY);
+    default:
+      break;
+    }
+    build(c1);
+    I_Result r = add_constraint(c2);
+    return r - (I_CHANGED | I_UNCHANGED);
+  }
 
-    \param dummy
-    A dummy tag to make this constructor syntactically unique.
+  template <typename C>
+  typename Enable_If<Is_Same_Or_Derived<I_Constraint_Base, C>::value, I_Result>::type
+  add_constraint(const C& c) {
+    Interval x;
+    x.build(c);
+    return intersect_assign(x);
+  }
 
-    \exception std::length_error
-    Thrown if the space dimension of \p box exceeds the maximum
-    allowed space dimension.
+  I_Result assign(Degenerate_Element e) {
+    I_Result r;
+    info().clear();
+    switch (e) {
+    default:
+      PPL_ASSERT(0);
+      /* Fall through */
+    case EMPTY:
+      lower_ = 1;
+      upper_ = 0;
+      r = I_EMPTY | I_EXACT;
+      break;
+    case UNIVERSE:
+      set_unbounded(LOWER, lower(), info());
+      set_unbounded(UPPER, upper(), info());
+      r = I_UNIVERSE | I_EXACT;
+      break;
+    }
+    PPL_ASSERT(OK());
+    return r;
+  }
 
-    \exception std::invalid_argument
-    Thrown if \p box contains any topologically open bounds.
+  template <typename From>
+  typename Enable_If<Is_Special<From>::value, I_Result>::type
+  assign(const From&) {
+    info().clear();
+    Result rl, ru;
+    switch (From::vclass) {
+    case VC_MINUS_INFINITY:
+      rl = Boundary_NS::set_minus_infinity(LOWER, lower(), info());
+      ru = Boundary_NS::set_minus_infinity(UPPER, upper(), info());
+      break;
+    case VC_PLUS_INFINITY:
+      rl = Boundary_NS::set_plus_infinity(LOWER, lower(), info());
+      ru = Boundary_NS::set_plus_infinity(UPPER, upper(), info());
+      break;
+    default:
+      PPL_ASSERT(0);
+      rl = V_NAN;
+      ru = V_NAN;
+    }
+    PPL_ASSERT(OK());
+    return combine(rl, ru);
+  }
 
-    The template class Box must provide the following methods.
-    \code
-      dimension_type space_dimension() const
-    \endcode
-    returns the dimension of the vector space enclosing the grid
-    represented by the covering box.
-    \code
-      bool is_empty() const
-    \endcode
-    returns <CODE>true</CODE> if and only if the covering box
-    describes the empty set.
-    \code
-      bool get_lower_bound(dimension_type k, bool& closed,
-                           Coefficient& n, Coefficient& d) const
-    \endcode
-    Let \f$I\f$ be the interval corresponding to the <CODE>k</CODE>-th
-    space dimension.  If \f$I\f$ is not bounded from below, simply return
-    <CODE>false</CODE>.  Otherwise, set <CODE>closed</CODE>,
-    <CODE>n</CODE> and <CODE>d</CODE> as follows: <CODE>closed</CODE>
-    is set to <CODE>true</CODE> if the lower boundary of \f$I\f$
-    is closed and is set to <CODE>false</CODE> otherwise;
-    <CODE>n</CODE> and <CODE>d</CODE> are assigned the integers
-    \f$n\f$ and \f$d\f$ such that the canonical fraction \f$n/d\f$
-    corresponds to the greatest lower bound of \f$I\f$.  The fraction
-    \f$n/d\f$ is in canonical form if and only if \f$n\f$ and \f$d\f$
-    have no common factors and \f$d\f$ is positive, \f$0/1\f$ being
-    the unique representation for zero.
-    \code
-      bool get_upper_bound(dimension_type k, bool& closed,
-                           Coefficient& n, Coefficient& d) const
-    \endcode
-    Let \f$I\f$ be the interval corresponding to the <CODE>k</CODE>-th
-    space dimension.  If \f$I\f$ is not bounded from above, simply return
-    <CODE>false</CODE>.  Otherwise, set <CODE>closed</CODE>,
-    <CODE>n</CODE> and <CODE>d</CODE> as follows: <CODE>closed</CODE>
-    is set to <CODE>true</CODE> if the upper boundary of \f$I\f$
-    is closed and is set to <CODE>false</CODE> otherwise;
-    <CODE>n</CODE> and <CODE>d</CODE> are assigned the integers
-    \f$n\f$ and \f$d\f$ such that the canonical fraction \f$n/d\f$
-    corresponds to the least upper bound of \f$I\f$.
-  */
-  template <typename Box>
-  Grid(const Box& box, From_Covering_Box dummy);
+  I_Result set_infinities() {
+    info().clear();
+    // FIXME: what about restrictions?
+    Result rl = Boundary_NS::set_minus_infinity(LOWER, lower(), info());
+    Result ru = Boundary_NS::set_plus_infinity(UPPER, upper(), info());
+    PPL_ASSERT(OK());
+    return combine(rl, ru);
+  }
 
-  /*! \brief
-    Builds a grid from a polyhedron using algorithms whose complexity
-    does not exceed the one specified by \p complexity.
-    If \p complexity is \p ANY_COMPLEXITY, then the grid built is the
-    smallest one containing \p ph.
+  static bool is_always_topologically_closed() {
+    return !Info::store_open;
+  }
 
-    The grid inherits the space dimension of polyhedron.
+  bool is_topologically_closed() const {
+    PPL_ASSERT(OK());
+    return is_always_topologically_closed()
+      || is_empty()
+      || ((lower_is_boundary_infinity() || !lower_is_open())
+          && (upper_is_boundary_infinity() || !upper_is_open()));
+  }
 
-    \param ph
-    The polyhedron.
+  //! Assigns to \p *this its topological closure.
+  void topological_closure_assign() {
+    if (!Info::store_open || is_empty())
+      return;
+    if (lower_is_open() && !lower_is_boundary_infinity())
+      info().set_boundary_property(LOWER, OPEN, false);
+    if (upper_is_open() && !upper_is_boundary_infinity())
+      info().set_boundary_property(UPPER, OPEN, false);
+  }
 
-    \param complexity
-    The complexity class.
+  void remove_inf() {
+    PPL_ASSERT(!is_empty());
+    if (!Info::store_open)
+      return;
+    info().set_boundary_property(LOWER, OPEN, true);
+  }
 
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space
-    dimension.
-  */
-  explicit Grid(const Polyhedron& ph,
-                Complexity_Class complexity = ANY_COMPLEXITY);
+  void remove_sup() {
+    PPL_ASSERT(!is_empty());
+    if (!Info::store_open)
+      return;
+    info().set_boundary_property(UPPER, OPEN, true);
+  }
 
-  //! Ordinary copy-constructor.
-  /*!
-    The complexity argument is ignored.
-  */
-  Grid(const Grid& y,
-       Complexity_Class complexity = ANY_COMPLEXITY);
+  bool is_infinity() const {
+    PPL_ASSERT(OK());
+    if (is_reverse_infinity(LOWER, lower(), info()))
+      return 1;
+    else if (is_reverse_infinity(UPPER, upper(), info()))
+      return -1;
+    else
+      return 0;
+  }
 
-  /*! \brief
-    The assignment operator.  (\p *this and \p y can be
-    dimension-incompatible.)
-  */
-  Grid& operator=(const Grid& y);
+  bool contains_integer_point() const {
+    PPL_ASSERT(OK());
+    if (is_empty())
+      return false;
+    if (!is_bounded())
+      return true;
+    Boundary l;
+    if (lower_is_open()) {
+      add_assign_r(l, lower(), Boundary(1), ROUND_DOWN);
+      floor_assign_r(l, l, ROUND_DOWN);
+    }
+    else
+      ceil_assign_r(l, lower(), ROUND_DOWN);
+    Boundary u;
+    if (upper_is_open()) {
+      sub_assign_r(u, upper(), Boundary(1), ROUND_UP);
+      ceil_assign_r(u, u, ROUND_UP);
+    }
+    else
+      floor_assign_r(u, upper(), ROUND_UP);
+    return u >= l;
+  }
 
-  //! \name Member Functions that Do Not Modify the Grid
-  //@{
+  void drop_some_non_integer_points() {
+    if (is_empty())
+      return;
+    if (lower_is_open() && !lower_is_boundary_infinity()) {
+      add_assign_r(lower(), lower(), Boundary(1), ROUND_DOWN);
+      floor_assign_r(lower(), lower(), ROUND_DOWN);
+      info().set_boundary_property(LOWER, OPEN, false);
+    }
+    else
+      ceil_assign_r(lower(), lower(), ROUND_DOWN);
+    if (upper_is_open() && !upper_is_boundary_infinity()) {
+      sub_assign_r(upper(), upper(), Boundary(1), ROUND_UP);
+      ceil_assign_r(upper(), upper(), ROUND_UP);
+      info().set_boundary_property(UPPER, OPEN, false);
+    }
+    else
+      floor_assign_r(upper(), upper(), ROUND_UP);
+  }
 
-  //! Returns the dimension of the vector space enclosing \p *this.
-  dimension_type space_dimension() const;
+  template <typename From>
+  typename Enable_If<Is_Singleton<From>::value || Is_Interval<From>::value, I_Result>::type
+  wrap_assign(Bounded_Integer_Type_Width w,
+              Bounded_Integer_Type_Representation r,
+	      const From& refinement) {
+    if (is_empty())
+      return I_EMPTY;
+    if (lower_is_boundary_infinity() || upper_is_boundary_infinity())
+      return assign(refinement);
+    PPL_DIRTY_TEMP(Boundary, u);
+    Result result = sub_2exp_assign_r(u, upper(), w, ROUND_UP);
+    if (!result_overflow(result) && u > lower())
+      return assign(refinement);
+    info().clear();
+    switch (r) {
+    case UNSIGNED:
+      umod_2exp_assign(LOWER, lower(), info(),
+		       LOWER, lower(), info(), w);
+      umod_2exp_assign(UPPER, upper(), info(),
+		       UPPER, upper(), info(), w);
+      break;
+    case SIGNED_2_COMPLEMENT:
+      smod_2exp_assign(LOWER, lower(), info(),
+		       LOWER, lower(), info(), w);
+      smod_2exp_assign(UPPER, upper(), info(),
+		       UPPER, upper(), info(), w);
+      break;
+    default:
+      PPL_ASSERT(false);
+      break;
+    }
+    if (le(LOWER, lower(), info(), UPPER, upper(), info()))
+      return intersect_assign(refinement);
+    PPL_DIRTY_TEMP(Interval, tmp);
+    tmp.info().clear();
+    Boundary_NS::assign(LOWER, tmp.lower(), tmp.info(),
+			LOWER, lower(), info());
+    set_unbounded(UPPER, tmp.upper(), tmp.info());
+    tmp.intersect_assign(refinement);
+    lower_extend();
+    intersect_assign(refinement);
+    return join_assign(tmp);
+  }
 
-  /*! \brief
-    Returns \f$0\f$, if \p *this is empty; otherwise, returns
-    the \ref Grid_Affine_Dimension "affine dimension" of \p *this.
-  */
-  dimension_type affine_dimension() const;
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
 
-  /*! \brief
-    Returns a system of equality constraints satisfied by \p *this
-    with the same affine dimension as \p *this.
-  */
-  Constraint_System constraints() const;
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-  /*! \brief
-    Returns a minimal system of equality constraints satisfied by
-    \p *this with the same affine dimension as \p *this.
-  */
-  Constraint_System minimized_constraints() const;
+  void ascii_dump(std::ostream& s) const;
+  bool ascii_load(std::istream& s);
 
-  //! Returns the system of congruences.
-  const Congruence_System& congruences() const;
+  bool OK() const {
+#if 0
+    if (!Info::may_be_empty && is_empty()) {
+#ifndef NDEBUG
+	std::cerr << "The interval is unexpectedly empty.\n";
+#endif
+	return false;
+    }
+#endif
 
-  //! Returns the system of congruences in minimal form.
-  const Congruence_System& minimized_congruences() const;
+    if (is_open(LOWER, lower(), info())) {
+      if (is_plus_infinity(LOWER, lower(), info())) {
+#ifndef NDEBUG
+	std::cerr << "The lower boundary is +inf open.\n";
+#endif
+      }
+    }
+    else if (!Info::may_contain_infinity
+	     && (is_minus_infinity(LOWER, lower(), info())
+		 || is_plus_infinity(LOWER, lower(), info()))) {
+#ifndef NDEBUG
+      std::cerr << "The lower boundary is unexpectedly infinity.\n";
+#endif
+      return false;
+    }
+    if (!info().get_boundary_property(LOWER, SPECIAL)) {
+      if (is_not_a_number(lower())) {
+#ifndef NDEBUG
+	std::cerr << "The lower boundary is not a number.\n";
+#endif
+	return false;
+      }
+#if 0
+      if (info().get_boundary_property(LOWER, NORMALIZED)
+	  && !info().is_restricted(lower())) {
+#ifndef NDEBUG
+	std::cerr << "The lower boundary is marked to be normalized, "
+                  << "but it is not.\n";
+#endif
+	return false;
+      }
+#endif
+    }
 
-  //! Returns the system of generators.
-  const Grid_Generator_System& grid_generators() const;
+    if (is_open(UPPER, upper(), info())) {
+      if (is_minus_infinity(UPPER, upper(), info())) {
+#ifndef NDEBUG
+	std::cerr << "The upper boundary is -inf open.\n";
+#endif
+      }
+    }
+    else if (!Info::may_contain_infinity
+	     && (is_minus_infinity(UPPER, upper(), info())
+		 || is_plus_infinity(UPPER, upper(), info()))) {
+#ifndef NDEBUG
+      std::cerr << "The upper boundary is unexpectedly infinity."
+                << std::endl;
+#endif
+      return false;
+    }
+    if (!info().get_boundary_property(UPPER, SPECIAL)) {
+      if (is_not_a_number(upper())) {
+#ifndef NDEBUG
+	std::cerr << "The upper boundary is not a number.\n";
+#endif
+	return false;
+      }
+#if 0
+      if (info().get_boundary_property(UPPER, NORMALIZED)
+	  && !info().is_restricted(upper())) {
+#ifndef NDEBUG
+	std::cerr << "The upper boundary is marked to be normalized, "
+                  << "but it is not.\n";
+#endif
+	return false;
+      }
+#endif
+    }
 
-  //! Returns the minimized system of generators.
-  const Grid_Generator_System& minimized_grid_generators() const;
+    // Everything OK.
+    return true;
+  }
 
-  //! Returns the relations holding between \p *this and \p cg.
-  /*
-    \exception std::invalid_argument
-    Thrown if \p *this and congruence \p cg are dimension-incompatible.
-  */
-  // FIXME: Poly_Con_Relation seems to encode exactly what we want
-  // here.  We must find a new name for that class.  Temporarily,
-  // we keep using it without changing the name.
-  Poly_Con_Relation relation_with(const Congruence& cg) const;
+  Interval() {
+  }
 
-  //! Returns the relations holding between \p *this and \p g.
-  /*
-    \exception std::invalid_argument
-    Thrown if \p *this and generator \p g are dimension-incompatible.
-  */
-  // FIXME: see the comment for Poly_Con_Relation above.
-  Poly_Gen_Relation
-  relation_with(const Grid_Generator& g) const;
+  template <typename T>
+  explicit Interval(const T& x) {
+    assign(x);
+  }
 
-  //! Returns the relations holding between \p *this and \p g.
-  /*
-    \exception std::invalid_argument
-    Thrown if \p *this and generator \p g are dimension-incompatible.
+  /*! \brief
+    Builds the smallest interval containing the number whose textual
+    representation is contained in \p s.
   */
-  // FIXME: see the comment for Poly_Con_Relation above.
-  Poly_Gen_Relation
-  relation_with(const Generator& g) const;
+  explicit Interval(const char* s);
 
-  //! Returns the relations holding between \p *this and \p c.
-  /*
-    \exception std::invalid_argument
-    Thrown if \p *this and constraint \p c are dimension-incompatible.
-  */
-  // FIXME: Poly_Con_Relation seems to encode exactly what we want
-  // here.  We must find a new name for that class.  Temporarily,
-  // we keep using it without changing the name.
-  Poly_Con_Relation relation_with(const Constraint& c) const;
+  template <typename T>
+  typename Enable_If<Is_Singleton<T>::value
+                     || Is_Interval<T>::value, bool>::type
+  contains(const T& y) const;
 
-  //! Returns \c true if and only if \p *this is an empty grid.
-  bool is_empty() const;
+  template <typename T>
+  typename Enable_If<Is_Singleton<T>::value
+                     || Is_Interval<T>::value, bool>::type
+  strictly_contains(const T& y) const;
 
-  //! Returns \c true if and only if \p *this is a universe grid.
-  bool is_universe() const;
+  template <typename T>
+  typename Enable_If<Is_Singleton<T>::value
+                     || Is_Interval<T>::value, bool>::type
+  is_disjoint_from(const T& y) const;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is a
-    topologically closed subset of the vector space.
 
-    A grid is always topologically closed.
-  */
-  bool is_topologically_closed() const;
+  template <typename From>
+  typename Enable_If<Is_Singleton<From>::value
+                     || Is_Interval<From>::value, I_Result>::type
+  assign(const From& x);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this and \p y are
-    disjoint.
+  template <typename Type>
+  typename Enable_If<Is_Singleton<Type>::value
+                     || Is_Interval<Type>::value, bool>::type
+  can_be_exactly_joined_to(const Type& x) const;
 
-    \exception std::invalid_argument
-    Thrown if \p x and \p y are dimension-incompatible.
-  */
-  bool is_disjoint_from(const Grid& y) const;
+  template <typename From>
+  typename Enable_If<Is_Singleton<From>::value
+                     || Is_Interval<From>::value, I_Result>::type
+  join_assign(const From& x);
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is discrete.
-  /*!
-    A grid is discrete if it can be defined by a generator system which
-    contains only points and parameters.  This includes the empty grid
-    and any grid in dimension zero.
-  */
-  bool is_discrete() const;
+  template <typename From1, typename From2>
+  typename Enable_If<((Is_Singleton<From1>::value
+                       || Is_Interval<From1>::value)
+		      && (Is_Singleton<From2>::value
+                          || Is_Interval<From2>::value)), I_Result>::type
+  join_assign(const From1& x, const From2& y);
+
+  template <typename From>
+  typename Enable_If<Is_Singleton<From>::value
+                     || Is_Interval<From>::value, I_Result>::type
+  intersect_assign(const From& x);
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is bounded.
-  bool is_bounded() const;
+  template <typename From1, typename From2>
+  typename Enable_If<((Is_Singleton<From1>::value
+                       || Is_Interval<From1>::value)
+		      && (Is_Singleton<From2>::value
+                          || Is_Interval<From2>::value)), I_Result>::type
+  intersect_assign(const From1& x, const From2& y);
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this
-    contains at least one integer point.
+    Assigns to \p *this the smallest interval containing the set-theoretic
+    difference of \p *this and \p x.
   */
-  bool contains_integer_point() const;
+  template <typename From>
+  typename Enable_If<Is_Singleton<From>::value
+                     || Is_Interval<From>::value, I_Result>::type
+  difference_assign(const From& x);
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p var is constrained in
-    \p *this.
-
-    \exception std::invalid_argument
-    Thrown if \p var is not a space dimension of \p *this.
+    Assigns to \p *this the smallest interval containing the set-theoretic
+    difference of \p x and \p y.
   */
-  bool constrains(Variable var) const;
-
-  //! Returns <CODE>true</CODE> if and only if \p expr is bounded in \p *this.
-  /*!
-    This method is the same as bounds_from_below.
+  template <typename From1, typename From2>
+  typename Enable_If<((Is_Singleton<From1>::value
+                       || Is_Interval<From1>::value)
+		      && (Is_Singleton<From2>::value
+                          || Is_Interval<From2>::value)), I_Result>::type
+  difference_assign(const From1& x, const From2& y);
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+  /*! \brief
+    Assigns to \p *this the largest interval contained in the set-theoretic
+    difference of \p *this and \p x.
   */
-  bool bounds_from_above(const Linear_Expression& expr) const;
+  template <typename From>
+  typename Enable_If<Is_Singleton<From>::value
+                     || Is_Interval<From>::value, I_Result>::type
+  lower_approximation_difference_assign(const From& x);
 
-  //! Returns <CODE>true</CODE> if and only if \p expr is bounded in \p *this.
-  /*!
-    This method is the same as bounds_from_above.
+  /*! \brief
+    Assigns to \p *this a \ref Meet_Preserving_Simplification
+    "meet-preserving simplification" of \p *this with respect to \p y.
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+    \return
+    \c false if and only if the meet of \p *this and \p y is empty.
   */
-  bool bounds_from_below(const Linear_Expression& expr) const;
+  template <typename From>
+  typename Enable_If<Is_Interval<From>::value, bool>::type
+  simplify_using_context_assign(const From& y);
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty and
-    \p expr is bounded from above in \p *this, in which case the
-    supremum value is computed.
-
-    \param expr
-    The linear expression to be maximized subject to \p *this;
-
-    \param sup_n
-    The numerator of the supremum value;
-
-    \param sup_d
-    The denominator of the supremum value;
-
-    \param maximum
-    <CODE>true</CODE> if the supremum value can be reached in \p this.
-    Always <CODE>true</CODE> when \p this bounds \p expr.  Present for
-    interface compatibility with class Polyhedron, where closure
-    points can result in a value of false.
-
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+    Assigns to \p *this an interval having empty intersection with \p y.
+    The assigned interval should be as large as possible.
 
-    If \p *this is empty or \p expr is not bounded by \p *this,
-    <CODE>false</CODE> is returned and \p sup_n, \p sup_d and \p
-    maximum are left untouched.
+    \note
+    Depending on interval restrictions, there could be many
+    maximal intervals all inconsistent with respect to \p y.
   */
-  bool maximize(const Linear_Expression& expr,
-		Coefficient& sup_n, Coefficient& sup_d, bool& maximum) const;
+  template <typename From>
+  typename Enable_If<Is_Interval<From>::value, void>::type
+  empty_intersection_assign(const From& y);
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty and
-    \p expr is bounded from above in \p *this, in which case the
-    supremum value and a point where \p expr reaches it are computed.
-
-    \param expr
-    The linear expression to be maximized subject to \p *this;
-
-    \param sup_n
-    The numerator of the supremum value;
-
-    \param sup_d
-    The denominator of the supremum value;
-
-    \param maximum
-    <CODE>true</CODE> if the supremum value can be reached in \p this.
-    Always <CODE>true</CODE> when \p this bounds \p expr.  Present for
-    interface compatibility with class Polyhedron, where closure
-    points can result in a value of false;
-
-    \param point
-    When maximization succeeds, will be assigned a point where \p expr
-    reaches its supremum value.
-
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+    Refines \p to according to the existential relation \p rel with \p x.
 
-    If \p *this is empty or \p expr is not bounded by \p *this,
-    <CODE>false</CODE> is returned and \p sup_n, \p sup_d, \p maximum
-    and \p point are left untouched.
+    The \p to interval is restricted to become, upon successful exit,
+    the smallest interval of its type that contains the set
+    \f[
+      \{\,
+        a \in \mathtt{to}
+      \mid
+        \exists b \in \mathtt{x} \st a \mathrel{\mathtt{rel}} b
+      \,\}.
+    \f]
+    \return
+    ???
   */
-  bool maximize(const Linear_Expression& expr,
-		Coefficient& sup_n, Coefficient& sup_d, bool& maximum,
-		Generator& point) const;
+  template <typename From>
+  typename Enable_If<Is_Singleton<From>::value
+                     || Is_Interval<From>::value, I_Result>::type
+  refine_existential(Relation_Symbol rel, const From& x);
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty and
-    \p expr is bounded from below in \p *this, in which case the
-    infimum value is computed.
-
-    \param expr
-    The linear expression to be minimized subject to \p *this;
-
-    \param inf_n
-    The numerator of the infimum value;
-
-    \param inf_d
-    The denominator of the infimum value;
-
-    \param minimum
-    <CODE>true</CODE> if the is the infimum value can be reached in \p
-    this.  Always <CODE>true</CODE> when \p this bounds \p expr.
-    Present for interface compatibility with class Polyhedron, where
-    closure points can result in a value of false.
-
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+    Refines \p to so that it satisfies the universal relation \p rel with \p x.
 
-    If \p *this is empty or \p expr is not bounded from below,
-    <CODE>false</CODE> is returned and \p inf_n, \p inf_d
-    and \p minimum are left untouched.
+    The \p to interval is restricted to become, upon successful exit,
+    the smallest interval of its type that contains the set
+    \f[
+      \{\,
+        a \in \mathtt{to}
+      \mid
+        \forall b \in \mathtt{x} \itc a \mathrel{\mathtt{rel}} b
+      \,\}.
+    \f]
+    \return
+    ???
   */
-  bool minimize(const Linear_Expression& expr,
-		Coefficient& inf_n, Coefficient& inf_d, bool& minimum) const;
+  template <typename From>
+  typename Enable_If<Is_Singleton<From>::value
+                     || Is_Interval<From>::value, I_Result>::type
+  refine_universal(Relation_Symbol rel, const From& x);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty and
-    \p expr is bounded from below in \p *this, in which case the
-    infimum value and a point where \p expr reaches it are computed.
+  template <typename From>
+  typename Enable_If<Is_Singleton<From>::value
+                     || Is_Interval<From>::value, I_Result>::type
+  neg_assign(const From& x);
 
-    \param expr
-    The linear expression to be minimized subject to \p *this;
+  template <typename From1, typename From2>
+  typename Enable_If<((Is_Singleton<From1>::value || Is_Interval<From1>::value)
+		      && (Is_Singleton<From2>::value || Is_Interval<From2>::value)), I_Result>::type
+  add_assign(const From1& x, const From2& y);
 
-    \param inf_n
-    The numerator of the infimum value;
+  template <typename From1, typename From2>
+  typename Enable_If<((Is_Singleton<From1>::value || Is_Interval<From1>::value)
+		      && (Is_Singleton<From2>::value || Is_Interval<From2>::value)), I_Result>::type
+  sub_assign(const From1& x, const From2& y);
 
-    \param inf_d
-    The denominator of the infimum value;
+  template <typename From1, typename From2>
+  typename Enable_If<((Is_Singleton<From1>::value || Is_Interval<From1>::value)
+		      && (Is_Singleton<From2>::value || Is_Interval<From2>::value)), I_Result>::type
+  mul_assign(const From1& x, const From2& y);
 
-    \param minimum
-    <CODE>true</CODE> if the is the infimum value can be reached in \p
-    this.  Always <CODE>true</CODE> when \p this bounds \p expr.
-    Present for interface compatibility with class Polyhedron, where
-    closure points can result in a value of false;
+  template <typename From1, typename From2>
+  typename Enable_If<((Is_Singleton<From1>::value || Is_Interval<From1>::value)
+		      && (Is_Singleton<From2>::value || Is_Interval<From2>::value)), I_Result>::type
+  div_assign(const From1& x, const From2& y);
 
-    \param point
-    When minimization succeeds, will be assigned a point where \p expr
-    reaches its infimum value.
+  template <typename From, typename Iterator>
+  typename Enable_If<Is_Interval<From>::value, void>::type
+  CC76_widening_assign(const From& y, Iterator first, Iterator last);
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+private:
+  Boundary lower_;
+  Boundary upper_;
+};
 
-    If \p *this is empty or \p expr is not bounded from below,
-    <CODE>false</CODE> is returned and \p inf_n, \p inf_d, \p minimum
-    and \p point are left untouched.
-  */
-  bool minimize(const Linear_Expression& expr,
-		Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
-		Generator& point) const;
+} // namespace Parma_Polyhedra_Library
 
-  //! Returns <CODE>true</CODE> if and only if \p *this contains \p y.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  bool contains(const Grid& y) const;
+/* Automatically generated from PPL source file ../src/Interval.inlines.hh line 1. */
+/* Inline functions for the Interval class and its constituents.
+*/
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this strictly
-    contains \p y.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  bool strictly_contains(const Grid& y) const;
+namespace Parma_Polyhedra_Library {
 
-  //! Writes the covering box for \p *this into \p box.
-  /*!
-    The covering box is a set of upper and lower values for each
-    dimension.  When the covering box written into \p box is tiled
-    onto empty space the corners of the tiles form the sparsest
-    rectilinear grid that includes \p *this.
-
-    The value of the lower bound of each interval of the resulting \p
-    box are as close as possible to the origin, with positive values
-    taking preference when the lowest positive value equals the lowest
-    negative value.
-
-    If all the points have a single value in a particular dimension of
-    the grid then there is only a lower bound on the interval produced
-    in \p box, and the lower bound denotes the single value for the
-    dimension.  If the coordinates of the points in a particular
-    dimension include every value then the upper and lower bounds of
-    the associated interval in \p box are set equal.  The empty grid
-    produces the empty \p box.  The zero dimension universe grid
-    produces the zero dimension universe box.
+template <typename From>
+typename Enable_If<Is_Interval<From>::value, I_Result>::type
+neg_assign(From& x) {
+  // FIXME: Avoid the creation of a temporary.
+  From y;
+  typename Enable_If<Is_Interval<From>::value, I_Result>::type res =
+                                                               y.neg_assign(x);
+  x = y;
+  return res;
+}
 
-    \param box
-    The Box into which the covering box is written.
+template <typename Boundary, typename Info>
+inline memory_size_type
+Interval<Boundary, Info>::external_memory_in_bytes() const {
+  return Parma_Polyhedra_Library::external_memory_in_bytes(lower())
+    + Parma_Polyhedra_Library::external_memory_in_bytes(upper());
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p box are dimension-incompatible.
-  */
-  template <typename Interval>
-  void get_covering_box(Box<Interval>& box) const;
+template <typename Boundary, typename Info>
+inline memory_size_type
+Interval<Boundary, Info>::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
 
-  //! Checks if all the invariants are satisfied.
-  /*!
-    \return
-    <CODE>true</CODE> if and only if \p *this satisfies all the
-    invariants and either \p check_not_empty is <CODE>false</CODE> or
-    \p *this is not empty.
+template <typename Boundary, typename Info>
+inline void
+Interval<Boundary, Info>::swap(Interval<Boundary, Info>& y) {
+  std::swap(lower(), y.lower());
+  std::swap(upper(), y.upper());
+  std::swap(info(), y.info());
+}
 
-    \param check_not_empty
-    <CODE>true</CODE> if and only if, in addition to checking the
-    invariants, \p *this must be checked to be not empty.
+template <typename Boundary, typename Info>
+inline bool
+f_is_empty(const Interval<Boundary, Info>& x) {
+  return x.is_empty();
+}
+template <typename Boundary, typename Info>
+inline bool
+f_is_singleton(const Interval<Boundary, Info>& x) {
+  return x.is_singleton();
+}
+template <typename Boundary, typename Info>
+inline int
+is_infinity(const Interval<Boundary, Info>& x) {
+  return x.is_infinity();
+}
 
-    The check is performed so as to intrude as little as possible.  If
-    the library has been compiled with run-time assertions enabled,
-    error messages are written on <CODE>std::cerr</CODE> in case
-    invariants are violated. This is useful for the purpose of
-    debugging the library.
-  */
-  bool OK(bool check_not_empty = false) const;
+namespace Interval_NS {
 
-  //@} // Member Functions that Do Not Modify the Grid
+template <typename Boundary, typename Info>
+inline const Boundary&
+f_lower(const Interval<Boundary, Info>& x) {
+  return x.lower();
+}
+template <typename Boundary, typename Info>
+inline const Boundary&
+f_upper(const Interval<Boundary, Info>& x) {
+  return x.upper();
+}
+template <typename Boundary, typename Info>
+inline const Info&
+f_info(const Interval<Boundary, Info>& x) {
+  return x.info();
+}
 
-  //! \name Space Dimension Preserving Member Functions that May Modify the Grid
-  //@{
+struct Scalar_As_Interval_Policy {
+  const_bool_nodef(may_be_empty, true);
+  const_bool_nodef(may_contain_infinity, true);
+  const_bool_nodef(check_inexact, false);
+};
 
-  //! Adds a copy of congruence \p cg to \p *this.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p *this and congruence \p cg are
-    dimension-incompatible.
-  */
-  void add_congruence(const Congruence& cg);
+typedef Interval_Restriction_None<Interval_Info_Null<Scalar_As_Interval_Policy> > Scalar_As_Interval_Info;
 
-  /*! \brief
-    Adds a copy of congruence \p cg to the system of congruences of \p
-    *this, reducing the result
+const Scalar_As_Interval_Info SCALAR_INFO;
 
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
+typedef Interval_Restriction_None<Interval_Info_Null_Open<Scalar_As_Interval_Policy> > Scalar_As_Interval_Info_Open;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and congruence \p cg are dimension-incompatible.
+template <typename T>
+inline typename Enable_If<Is_Singleton<T>::value, const T&>::type
+f_lower(const T& x) {
+  return x;
+}
+template <typename T>
+inline typename Enable_If<Is_Singleton<T>::value, const T&>::type
+f_upper(const T& x) {
+  return x;
+}
+template <typename T>
+inline typename Enable_If<Is_Singleton<T>::value, const Scalar_As_Interval_Info&>::type
+f_info(const T&) {
+  return SCALAR_INFO;
+}
+template <typename T>
+inline typename Enable_If<Is_Singleton<T>::value, Scalar_As_Interval_Info_Open>::type
+f_info(const T&, bool open) {
+  return Scalar_As_Interval_Info_Open(open);
+}
 
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_congruence_and_minimize(const Congruence& c);
+template <typename T>
+inline typename Enable_If<Is_Singleton<T>::value, bool>::type
+f_is_empty(const T& x) {
+  return is_not_a_number(x);
+}
 
-  /*! \brief
-    Adds a copy of grid generator \p g to the system of generators of
-    \p *this.
+template <typename T>
+inline typename Enable_If<Is_Singleton<T>::value, bool>::type
+f_is_singleton(const T& x) {
+  return !f_is_empty(x);
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and generator \p g are dimension-incompatible,
-    or if \p *this is an empty grid and \p g is not a point.
-  */
-  void add_grid_generator(const Grid_Generator& g);
+} // namespace Interval_NS
 
-  /*! \brief
-    Adds a copy of grid generator \p g to the system of generators of
-    \p *this, reducing the result.
+template <typename T>
+inline typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, bool>::type
+is_singleton_integer(const T& x) {
+  return is_singleton(x) && is_integer(f_lower(x));
+}
 
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
+template <typename T>
+inline typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, bool>::type
+check_empty_arg(const T& x) {
+  if (f_info(x).may_be_empty)
+    return f_is_empty(x);
+  else {
+    PPL_ASSERT(!f_is_empty(x));
+    return false;
+  }
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and generator \p g are dimension-incompatible,
-    or if \p *this is an empty grid and \p g is not a point.
+template <typename T1, typename T2>
+inline typename Enable_If<((Is_Singleton<T1>::value || Is_Interval<T1>::value)
+			   && (Is_Singleton<T2>::value || Is_Interval<T2>::value)
+			   && (Is_Interval<T1>::value || Is_Interval<T2>::value)),
+			  bool>::type
+operator==(const T1& x, const T2& y) {
+  PPL_ASSERT(f_OK(x));
+  PPL_ASSERT(f_OK(y));
+  if (check_empty_arg(x))
+    return check_empty_arg(y);
+  else if (check_empty_arg(y))
+    return false;
+  // FIXME: the two restrictions should be evaluated in the context of
+  // the specific interval
+  return eq_restriction(f_info(x), f_info(y))
+    && eq(LOWER, f_lower(x), f_info(x), LOWER, f_lower(y), f_info(y))
+    && eq(UPPER, f_upper(x), f_info(x), UPPER, f_upper(y), f_info(y));
+}
 
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_grid_generator_and_minimize(const Grid_Generator& g);
+template <typename T1, typename T2>
+inline typename Enable_If<((Is_Singleton<T1>::value || Is_Interval<T1>::value)
+			   && (Is_Singleton<T2>::value || Is_Interval<T2>::value)
+			   && (Is_Interval<T1>::value || Is_Interval<T2>::value)),
+			  bool>::type
+operator!=(const T1& x, const T2& y) {
+  return !(x == y);
+}
 
-  //! Adds a copy of each congruence in \p cgs to \p *this.
-  /*!
-    \param cgs
-    Contains the congruences that will be added to the system of
-    congruences of \p *this.
+template <typename Boundary, typename Info>
+template <typename T>
+inline typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, bool>::type
+Interval<Boundary, Info>::contains(const T& y) const {
+  PPL_ASSERT(OK());
+  PPL_ASSERT(f_OK(y));
+  if (check_empty_arg(y))
+    return true;
+  if (check_empty_arg(*this))
+    return false;
+  // FIXME: the two restrictions should be evaluated in the context of
+  // the specific interval
+  if (!contains_restriction(info(), f_info(y)))
+      return false;
+  return le(LOWER, lower(), info(), LOWER, f_lower(y), f_info(y))
+    && ge(UPPER, upper(), info(), UPPER, f_upper(y), f_info(y));
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible.
-  */
-  void add_congruences(const Congruence_System& cgs);
+template <typename Boundary, typename Info>
+template <typename T>
+inline typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, bool>::type
+Interval<Boundary, Info>::strictly_contains(const T& y) const {
+  PPL_ASSERT(OK());
+  PPL_ASSERT(f_OK(y));
+  if (check_empty_arg(y))
+    return !check_empty_arg(*this);
+  if (check_empty_arg(*this))
+    return false;
+  // FIXME: the two restrictions should be evaluated in the context of
+  // the specific interval
+  if (!contains_restriction(info(), f_info(y)))
+      return false;
+  else if (!eq_restriction(info(), f_info(y)))
+    return le(LOWER, lower(), info(), LOWER, f_lower(y), f_info(y))
+      && ge(UPPER, upper(), info(), UPPER, f_upper(y), f_info(y));
+  return (lt(LOWER, lower(), info(), LOWER, f_lower(y), f_info(y))
+	  && ge(UPPER, upper(), info(), UPPER, f_upper(y), f_info(y)))
+    || (le(LOWER, lower(), info(), LOWER, f_lower(y), f_info(y))
+	&& gt(UPPER, upper(), info(), UPPER, f_upper(y), f_info(y)));
+}
 
-  //! Adds the congruences in \p cgs to *this.
-  /*!
-    \param cgs
-    The congruence system to be added to \p *this.  The congruences in
-    \p cgs may be recycled.
+template <typename Boundary, typename Info>
+template <typename T>
+inline typename Enable_If<Is_Singleton<T>::value
+                          || Is_Interval<T>::value, bool>::type
+Interval<Boundary, Info>::is_disjoint_from(const T& y) const {
+  PPL_ASSERT(OK());
+  PPL_ASSERT(f_OK(y));
+  if (check_empty_arg(*this) || check_empty_arg(y))
+    return true;
+//   CHECKME.
+//   if (!contains_restriction(info(), f_info(y)))
+//       return false;
+  return gt(LOWER, lower(), info(), UPPER, f_upper(y), f_info(y))
+    || lt(UPPER, upper(), info(), LOWER, f_lower(y), f_info(y));
+}
+
+template <typename To_Boundary, typename To_Info>
+template <typename From>
+inline typename Enable_If<Is_Singleton<From>::value
+                          || Is_Interval<From>::value, I_Result>::type
+Interval<To_Boundary, To_Info>::assign(const From& x) {
+  PPL_ASSERT(f_OK(x));
+  if (check_empty_arg(x))
+    return assign(EMPTY);
+  PPL_DIRTY_TEMP(To_Info, to_info);
+  to_info.clear();
+  if (!assign_restriction(to_info, x))
+    return assign(EMPTY);
+  Result rl = Boundary_NS::assign(LOWER, lower(), to_info,
+				  LOWER, f_lower(x), f_info(x));
+  Result ru = Boundary_NS::assign(UPPER, upper(), to_info,
+				  UPPER, f_upper(x), f_info(x));
+  assign_or_swap(info(), to_info);
+  PPL_ASSERT(OK());
+  return combine(rl, ru);
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible.
+template <typename To_Boundary, typename To_Info>
+template <typename From>
+inline typename Enable_If<Is_Singleton<From>::value
+                          || Is_Interval<From>::value, I_Result>::type
+Interval<To_Boundary, To_Info>::join_assign(const From& x) {
+  PPL_ASSERT(f_OK(x));
+  if (check_empty_arg(*this))
+    return assign(x);
+  if (check_empty_arg(x))
+    return combine(V_EQ, V_EQ);
+  if (!join_restriction(info(), *this, x))
+    return assign(EMPTY);
+  Result rl, ru;
+  rl = min_assign(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x));
+  ru = max_assign(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x));
+  PPL_ASSERT(OK());
+  return combine(rl, ru);
+}
 
-    \warning
-    The only assumption that can be made about \p cgs upon successful
-    or exceptional return is that it can be safely destroyed.
-  */
-  void add_recycled_congruences(Congruence_System& cgs);
+template <typename To_Boundary, typename To_Info>
+template <typename From1, typename From2>
+inline typename Enable_If<((Is_Singleton<From1>::value
+                            || Is_Interval<From1>::value)
+			   && (Is_Singleton<From2>::value
+                               || Is_Interval<From2>::value)), I_Result>::type
+Interval<To_Boundary, To_Info>::join_assign(const From1& x, const From2& y) {
+  PPL_ASSERT(f_OK(x));
+  PPL_ASSERT(f_OK(y));
+  if (check_empty_arg(x))
+    return assign(y);
+  if (check_empty_arg(y))
+    return assign(x);
+  PPL_DIRTY_TEMP(To_Info, to_info);
+  to_info.clear();
+  if (!join_restriction(to_info, x, y))
+    return assign(EMPTY);
+  Result rl, ru;
+  rl = min_assign(LOWER, lower(), to_info,
+		  LOWER, f_lower(x), f_info(x),
+		  LOWER, f_lower(y), f_info(y));
+  ru = max_assign(UPPER, upper(), to_info,
+		  UPPER, f_upper(x), f_info(x),
+		  UPPER, f_upper(y), f_info(y));
+  assign_or_swap(info(), to_info);
+  PPL_ASSERT(OK());
+  return combine(rl, ru);
+}
 
-  /*! \brief
-    Adds a copy of the congruences in \p cgs to the system of
-    congruences of \p *this, reducing the result.
+template <typename Boundary, typename Info>
+template <typename Type>
+inline typename Enable_If<Is_Singleton<Type>::value
+                          || Is_Interval<Type>::value, bool>::type
+Interval<Boundary, Info>::can_be_exactly_joined_to(const Type& x) const {
+  // FIXME: the two restrictions should be evaluated in the context of
+  // the specific interval
+  if (!eq_restriction(info(), f_info(x)))
+    return false;
+  PPL_DIRTY_TEMP(Boundary, b);
+  if (gt(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x))) {
+    b = lower();
+    return info().restrict(round_dir_check(LOWER, true), b, V_LT) == V_EQ
+      && eq(LOWER, b, info(), UPPER, f_upper(x), f_info(x));
+  }
+  else if (lt(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x))) {
+    b = upper();
+    return info().restrict(round_dir_check(UPPER, true), b, V_GT) == V_EQ
+      && eq(UPPER, b, info(), LOWER, f_lower(x), f_info(x));
+  }
+  return true;
+}
 
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
 
-    \param cgs
-    Contains the congruences that will be added to the system of
-    congruences of \p *this.
+template <typename To_Boundary, typename To_Info>
+template <typename From>
+inline typename Enable_If<Is_Singleton<From>::value
+                          || Is_Interval<From>::value, I_Result>::type
+Interval<To_Boundary, To_Info>::intersect_assign(const From& x) {
+  PPL_ASSERT(f_OK(x));
+  if (!intersect_restriction(info(), *this, x))
+    return assign(EMPTY);
+  Result rl, ru;
+  rl = max_assign(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x));
+  ru = min_assign(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x));
+  PPL_ASSERT(OK());
+  return I_ANY;
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible.
+template <typename To_Boundary, typename To_Info>
+template <typename From1, typename From2>
+inline typename Enable_If<((Is_Singleton<From1>::value
+                            || Is_Interval<From1>::value)
+			   && (Is_Singleton<From2>::value
+                               || Is_Interval<From2>::value)), I_Result>::type
+Interval<To_Boundary, To_Info>::intersect_assign(const From1& x,
+                                                 const From2& y) {
+  PPL_ASSERT(f_OK(x));
+  PPL_ASSERT(f_OK(y));
+  PPL_DIRTY_TEMP(To_Info, to_info);
+  to_info.clear();
+  if (!intersect_restriction(to_info, x, y))
+    return assign(EMPTY);
+  Result rl, ru;
+  rl = max_assign(LOWER, lower(), to_info,
+		  LOWER, f_lower(x), f_info(x),
+		  LOWER, f_lower(y), f_info(y));
+  ru = min_assign(UPPER, upper(), to_info,
+		  UPPER, f_upper(x), f_info(x),
+		  UPPER, f_upper(y), f_info(y));
+  assign_or_swap(info(), to_info);
+  PPL_ASSERT(OK());
+  return I_NOT_EMPTY;
+}
 
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_congruences_and_minimize(const Congruence_System& cgs);
+template <typename To_Boundary, typename To_Info>
+template <typename From>
+inline typename Enable_If<Is_Singleton<From>::value
+                          || Is_Interval<From>::value, I_Result>::type
+Interval<To_Boundary, To_Info>::difference_assign(const From& x) {
+  PPL_ASSERT(f_OK(x));
+  // FIXME: restrictions
+  if (lt(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x))
+      ||
+      gt(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x)))
+    return combine(V_EQ, V_EQ);
+  bool nl = ge(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x));
+  bool nu = le(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x));
+  Result rl = V_EQ, ru = V_EQ;
+  if (nl) {
+    if (nu)
+      return assign(EMPTY);
+    else {
+      info().clear_boundary_properties(LOWER);
+      rl = complement(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x));
+    }
+  }
+  else if (nu) {
+    info().clear_boundary_properties(UPPER);
+    ru = complement(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x));
+  }
+  PPL_ASSERT(OK());
+  return combine(rl, ru);
+}
 
-  /*! \brief
-    Adds the congruences in \p cgs to the system of congruences of \p
-    *this, reducing the result.
+template <typename To_Boundary, typename To_Info>
+template <typename From1, typename From2>
+inline typename Enable_If<((Is_Singleton<From1>::value
+                            || Is_Interval<From1>::value)
+			   && (Is_Singleton<From2>::value
+                               || Is_Interval<From2>::value)), I_Result>::type
+Interval<To_Boundary, To_Info>::difference_assign(const From1& x,
+                                                  const From2& y) {
+  PPL_ASSERT(f_OK(x));
+  PPL_ASSERT(f_OK(y));
+  PPL_DIRTY_TEMP(To_Info, to_info);
+  to_info.clear();
+  // FIXME: restrictions
+  if (lt(UPPER, f_upper(x), f_info(x), LOWER, f_lower(y), f_info(y))
+      ||
+      gt(LOWER, f_lower(x), f_info(x), UPPER, f_upper(y), f_info(y)))
+    return assign(x);
+  bool nl = ge(LOWER, f_lower(x), f_info(x), LOWER, f_lower(y), f_info(y));
+  bool nu = le(UPPER, f_upper(x), f_info(x), UPPER, f_upper(y), f_info(y));
+  Result rl = V_EQ, ru = V_EQ;
+  if (nl) {
+    if (nu)
+      return assign(EMPTY);
+    else {
+      rl = complement(LOWER, lower(), info(), UPPER, f_upper(y), f_info(y));
+      ru = Boundary_NS::assign(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x));
+    }
+  }
+  else if (nu) {
+    ru = complement(UPPER, upper(), info(), LOWER, f_lower(y), f_info(y));
+    rl = Boundary_NS::assign(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x));
+  }
+  assign_or_swap(info(), to_info);
+  PPL_ASSERT(OK());
+  return combine(rl, ru);
+}
 
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
+template <typename To_Boundary, typename To_Info>
+template <typename From>
+inline typename Enable_If<Is_Singleton<From>::value
+                          || Is_Interval<From>::value, I_Result>::type
+Interval<To_Boundary, To_Info>
+::refine_existential(Relation_Symbol rel, const From& x) {
+  PPL_ASSERT(OK());
+  PPL_ASSERT(f_OK(x));
+  if (check_empty_arg(x))
+    return assign(EMPTY);
+  switch (rel) {
+  case LESS_THAN:
+    {
+      if (lt(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x)))
+	return combine(V_EQ, V_EQ);
+      info().clear_boundary_properties(UPPER);
+      Boundary_NS::assign(UPPER, upper(), info(),
+			  UPPER, f_upper(x), f_info(x), true);
+      normalize();
+      return I_ANY;
+    }
+  case LESS_OR_EQUAL:
+    {
+      if (le(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x)))
+	return combine(V_EQ, V_EQ);
+      info().clear_boundary_properties(UPPER);
+      Boundary_NS::assign(UPPER, upper(), info(),
+			  UPPER, f_upper(x), f_info(x));
+      normalize();
+      return I_ANY;
+    }
+  case GREATER_THAN:
+    {
+      if (gt(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x)))
+	return combine(V_EQ, V_EQ);
+      info().clear_boundary_properties(LOWER);
+      Boundary_NS::assign(LOWER, lower(), info(),
+			  LOWER, f_lower(x), f_info(x), true);
+      normalize();
+      return I_ANY;
+    }
+  case GREATER_OR_EQUAL:
+    {
+      if (ge(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x)))
+	return combine(V_EQ, V_EQ);
+      info().clear_boundary_properties(LOWER);
+      Boundary_NS::assign(LOWER, lower(), info(),
+			  LOWER, f_lower(x), f_info(x));
+      normalize();
+      return I_ANY;
+    }
+  case EQUAL:
+    return intersect_assign(x);
+  case NOT_EQUAL:
+    {
+      if (!f_is_singleton(x))
+	return combine(V_EQ, V_EQ);
+      if (check_empty_arg(*this))
+	return I_EMPTY;
+      if (eq(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x)))
+	remove_inf();
+      if (eq(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x)))
+	remove_sup();
+      normalize();
+      return I_ANY;
+    }
+  default:
+    PPL_ASSERT(false);
+    return I_EMPTY;
+  }
+}
 
-    \param cgs
-    The congruence system to be added to \p *this.  The congruences in
-    \p cgs may be recycled.
+template <typename To_Boundary, typename To_Info>
+template <typename From>
+inline typename Enable_If<Is_Singleton<From>::value
+                          || Is_Interval<From>::value, I_Result>::type
+Interval<To_Boundary, To_Info>::refine_universal(Relation_Symbol rel,
+                                                 const From& x) {
+  PPL_ASSERT(OK());
+  PPL_ASSERT(f_OK(x));
+  if (check_empty_arg(x))
+    return combine(V_EQ, V_EQ);
+  switch (rel) {
+  case LESS_THAN:
+    {
+      if (lt(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x)))
+	return combine(V_EQ, V_EQ);
+      info().clear_boundary_properties(UPPER);
+      Result ru = Boundary_NS::assign(UPPER, upper(), info(),
+				      LOWER, f_lower(x), SCALAR_INFO, !is_open(LOWER, f_lower(x), f_info(x)));
+      normalize();
+      return I_ANY;
+    }
+  case LESS_OR_EQUAL:
+    {
+      if (le(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x)))
+	return combine(V_EQ, V_EQ);
+      info().clear_boundary_properties(UPPER);
+      Result ru = Boundary_NS::assign(UPPER, upper(), info(),
+				      LOWER, f_lower(x), SCALAR_INFO);
+      normalize();
+      return I_ANY;
+    }
+  case GREATER_THAN:
+    {
+      if (gt(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x)))
+	return combine(V_EQ, V_EQ);
+      info().clear_boundary_properties(LOWER);
+      Result rl = Boundary_NS::assign(LOWER, lower(), info(),
+				      UPPER, f_upper(x), SCALAR_INFO, !is_open(UPPER, f_upper(x), f_info(x)));
+      normalize();
+      return I_ANY;
+    }
+  case GREATER_OR_EQUAL:
+    {
+      if (ge(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x)))
+	return combine(V_EQ, V_EQ);
+      info().clear_boundary_properties(LOWER);
+      Result rl = Boundary_NS::assign(LOWER, lower(), info(),
+				      UPPER, f_upper(x), SCALAR_INFO);
+      normalize();
+      return I_ANY;
+    }
+  case EQUAL:
+    if (!f_is_singleton(x))
+      return assign(EMPTY);
+    return intersect_assign(x);
+  case NOT_EQUAL:
+    {
+      if (check_empty_arg(*this))
+	return I_EMPTY;
+      if (eq(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x)))
+	remove_inf();
+      if (eq(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x)))
+	remove_sup();
+      normalize();
+      return I_ANY;
+    }
+  default:
+    PPL_ASSERT(false);
+    return I_EMPTY;
+  }
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible.
+template <typename To_Boundary, typename To_Info>
+template <typename From>
+inline typename Enable_If<Is_Singleton<From>::value
+                          || Is_Interval<From>::value, I_Result>::type
+Interval<To_Boundary, To_Info>::neg_assign(const From& x) {
+  PPL_ASSERT(f_OK(x));
+  if (check_empty_arg(x))
+    return assign(EMPTY);
+  PPL_DIRTY_TEMP(To_Info, to_info);
+  to_info.clear();
+  if (!neg_restriction(to_info, x))
+    return assign(EMPTY);
+  Result rl, ru;
+  PPL_DIRTY_TEMP(To_Boundary, to_lower);
+  rl = Boundary_NS::neg_assign(LOWER, to_lower, to_info, UPPER, f_upper(x), f_info(x));
+  ru = Boundary_NS::neg_assign(UPPER, upper(), to_info, LOWER, f_lower(x), f_info(x));
+  assign_or_swap(lower(), to_lower);
+  assign_or_swap(info(), to_info);
+  PPL_ASSERT(OK());
+  return combine(rl, ru);
+}
 
-    \warning
-    The only assumption that can be made about \p cgs upon successful
-    or exceptional return is that it can be safely destroyed.
+template <typename To_Boundary, typename To_Info>
+template <typename From1, typename From2>
+inline typename Enable_If<((Is_Singleton<From1>::value
+                            || Is_Interval<From1>::value)
+			   && (Is_Singleton<From2>::value
+                               || Is_Interval<From2>::value)), I_Result>::type
+Interval<To_Boundary, To_Info>::add_assign(const From1& x, const From2& y) {
+  PPL_ASSERT(f_OK(x));
+  PPL_ASSERT(f_OK(y));
+  if (check_empty_arg(x) || check_empty_arg(y))
+    return assign(EMPTY);
+  int inf = Parma_Polyhedra_Library::is_infinity(x);
+  if (inf) {
+    if (Parma_Polyhedra_Library::is_infinity(y) == -inf)
+      return assign(EMPTY);
+  }
+  else
+    inf = Parma_Polyhedra_Library::is_infinity(y);
+  if (inf < 0)
+    return assign(MINUS_INFINITY);
+  else if (inf > 0)
+    return assign(PLUS_INFINITY);
+  PPL_DIRTY_TEMP(To_Info, to_info);
+  to_info.clear();
+  if (!add_restriction(to_info, x, y))
+    return assign(EMPTY);
+  Result rl = Boundary_NS::add_assign(LOWER, lower(), to_info,
+				      LOWER, f_lower(x), f_info(x),
+				      LOWER, f_lower(y), f_info(y));
+  Result ru = Boundary_NS::add_assign(UPPER, upper(), to_info,
+				      UPPER, f_upper(x), f_info(x),
+				      UPPER, f_upper(y), f_info(y));
+  assign_or_swap(info(), to_info);
+  PPL_ASSERT(OK());
+  return combine(rl, ru);
+}
 
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_recycled_congruences_and_minimize(Congruence_System& cgs);
+template <typename To_Boundary, typename To_Info>
+template <typename From1, typename From2>
+inline typename Enable_If<((Is_Singleton<From1>::value
+                            || Is_Interval<From1>::value)
+			   && (Is_Singleton<From2>::value
+                               || Is_Interval<From2>::value)), I_Result>::type
+Interval<To_Boundary, To_Info>::sub_assign(const From1& x, const From2& y) {
+  PPL_ASSERT(f_OK(x));
+  PPL_ASSERT(f_OK(y));
+  if (check_empty_arg(x) || check_empty_arg(y))
+    return assign(EMPTY);
+  int inf = Parma_Polyhedra_Library::is_infinity(x);
+  if (inf) {
+    if (Parma_Polyhedra_Library::is_infinity(y) == inf)
+      return assign(EMPTY);
+  }
+  else
+    inf = -Parma_Polyhedra_Library::is_infinity(y);
+  if (inf < 0)
+    return assign(MINUS_INFINITY);
+  else if (inf > 0)
+    return assign(PLUS_INFINITY);
 
-  /*! \brief
-    Adds to \p *this a congruence equivalent to constraint \p c.
+  PPL_DIRTY_TEMP(To_Info, to_info);
+  to_info.clear();
+  if (!sub_restriction(to_info, x, y))
+    return assign(EMPTY);
+  Result rl, ru;
+  PPL_DIRTY_TEMP(To_Boundary, to_lower);
+  rl = Boundary_NS::sub_assign(LOWER, to_lower, to_info,
+			       LOWER, f_lower(x), f_info(x),
+			       UPPER, f_upper(y), f_info(y));
+  ru = Boundary_NS::sub_assign(UPPER, upper(), to_info,
+			       UPPER, f_upper(x), f_info(x),
+			       LOWER, f_lower(y), f_info(y));
+  assign_or_swap(lower(), to_lower);
+  assign_or_swap(info(), to_info);
+  PPL_ASSERT(OK());
+  return combine(rl, ru);
+}
 
-    \param c
-    The constraint to be added.
+/**
++---------+-----------+-----------+-----------------+
+|    *    |  yl > 0   |  yu < 0   |  yl < 0, yu > 0 |
++---------+-----------+-----------+-----------------+
+| xl > 0  |xl*yl,xu*yu|xu*yl,xl*yu|   xu*yl,xu*yu   |
++---------+-----------+-----------+-----------------+
+| xu < 0  |xl*yu,xu*yl|xu*yu,xl*yl|   xl*yu,xl*yl   |
++---------+-----------+-----------+-----------------+
+|xl<0 xu>0|xl*yu,xu*yu|xu*yl,xl*yl|min(xl*yu,xu*yl),|
+|         |           |           |max(xl*yl,xu*yu) |
++---------+-----------+-----------+-----------------+
+**/
+template <typename To_Boundary, typename To_Info>
+template <typename From1, typename From2>
+inline typename Enable_If<((Is_Singleton<From1>::value
+                            || Is_Interval<From1>::value)
+			   && (Is_Singleton<From2>::value
+                               || Is_Interval<From2>::value)), I_Result>::type
+Interval<To_Boundary, To_Info>::mul_assign(const From1& x, const From2& y) {
+  PPL_ASSERT(f_OK(x));
+  PPL_ASSERT(f_OK(y));
+  if (check_empty_arg(x) || check_empty_arg(y))
+    return assign(EMPTY);
+  int xls = sgn_b(LOWER, f_lower(x), f_info(x));
+  int xus = xls > 0 ? 1 : sgn_b(UPPER, f_upper(x), f_info(x));
+  int yls = sgn_b(LOWER, f_lower(y), f_info(y));
+  int yus = yls > 0 ? 1 : sgn_b(UPPER, f_upper(y), f_info(y));
+  int inf = Parma_Polyhedra_Library::is_infinity(x);
+  int ls, us;
+  if (inf) {
+    ls = yls;
+    us = yus;
+    goto inf;
+  }
+  else {
+    inf = Parma_Polyhedra_Library::is_infinity(y);
+    if (inf) {
+      ls = xls;
+      us = xus;
+    inf:
+      if (ls == 0 && us == 0)
+	return assign(EMPTY);
+      if (ls == -us)
+	return set_infinities();
+      if (ls < 0 || us < 0)
+	inf = -inf;
+      if (inf < 0)
+	return assign(MINUS_INFINITY);
+      else
+	return assign(PLUS_INFINITY);
+    }
+  }
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p c are dimension-incompatible
-    or if constraint \p c is not optimally supported by the grid domain.
-  */
-  void add_constraint(const Constraint& c);
+  PPL_DIRTY_TEMP(To_Info, to_info);
+  to_info.clear();
+  if (!mul_restriction(to_info, x, y))
+    return assign(EMPTY);
+  Result rl, ru;
+  PPL_DIRTY_TEMP(To_Boundary, to_lower);
+
+  if (xls >= 0) {
+    if (yls >= 0) {
+      // 0 <= xl <= xu, 0 <= yl <= yu
+      rl = mul_assign_z(LOWER, to_lower, to_info,
+			LOWER, f_lower(x), f_info(x), xls,
+			LOWER, f_lower(y), f_info(y), yls);
+      ru = mul_assign_z(UPPER, upper(), to_info,
+			UPPER, f_upper(x), f_info(x), xus,
+			UPPER, f_upper(y), f_info(y), yus);
+    }
+    else if (yus <= 0) {
+      // 0 <= xl <= xu, yl <= yu <= 0
+      rl = mul_assign_z(LOWER, to_lower, to_info,
+			UPPER, f_upper(x), f_info(x), xus,
+			LOWER, f_lower(y), f_info(y), yls);
+      ru = mul_assign_z(UPPER, upper(), to_info,
+			LOWER, f_lower(x), f_info(x), xls,
+			UPPER, f_upper(y), f_info(y), yus);
+    }
+    else {
+      // 0 <= xl <= xu, yl < 0 < yu
+      rl = mul_assign_z(LOWER, to_lower, to_info,
+			UPPER, f_upper(x), f_info(x), xus,
+			LOWER, f_lower(y), f_info(y), yls);
+      ru = mul_assign_z(UPPER, upper(), to_info,
+			UPPER, f_upper(x), f_info(x), xus,
+			UPPER, f_upper(y), f_info(y), yus);
+    }
+  }
+  else if (xus <= 0) {
+    if (yls >= 0) {
+      // xl <= xu <= 0, 0 <= yl <= yu
+      rl = mul_assign_z(LOWER, to_lower, to_info,
+			LOWER, f_lower(x), f_info(x), xls,
+			UPPER, f_upper(y), f_info(y), yus);
+      ru = mul_assign_z(UPPER, upper(), to_info,
+			UPPER, f_upper(x), f_info(x), xus,
+			LOWER, f_lower(y), f_info(y), yls);
+    }
+    else if (yus <= 0) {
+      // xl <= xu <= 0, yl <= yu <= 0
+      rl = mul_assign_z(LOWER, to_lower, to_info,
+			UPPER, f_upper(x), f_info(x), xus,
+			UPPER, f_upper(y), f_info(y), yus);
+      ru = mul_assign_z(UPPER, upper(), to_info,
+			LOWER, f_lower(x), f_info(x), xls,
+			LOWER, f_lower(y), f_info(y), yls);
+    }
+    else {
+      // xl <= xu <= 0, yl < 0 < yu
+      rl = mul_assign_z(LOWER, to_lower, to_info,
+			LOWER, f_lower(x), f_info(x), xls,
+			UPPER, f_upper(y), f_info(y), yus);
+      ru = mul_assign_z(UPPER, upper(), to_info,
+			LOWER, f_lower(x), f_info(x), xls,
+			LOWER, f_lower(y), f_info(y), yls);
+    }
+  }
+  else if (yls >= 0) {
+    // xl < 0 < xu, 0 <= yl <= yu
+    rl = mul_assign_z(LOWER, to_lower, to_info,
+		      LOWER, f_lower(x), f_info(x), xls,
+		      UPPER, f_upper(y), f_info(y), yus);
+    ru = mul_assign_z(UPPER, upper(), to_info,
+		      UPPER, f_upper(x), f_info(x), xus,
+		      UPPER, f_upper(y), f_info(y), yus);
+  }
+  else if (yus <= 0) {
+    // xl < 0 < xu, yl <= yu <= 0
+    rl = mul_assign_z(LOWER, to_lower, to_info,
+		      UPPER, f_upper(x), f_info(x), xus,
+		      LOWER, f_lower(y), f_info(y), yls);
+    ru = mul_assign_z(UPPER, upper(), to_info,
+		      LOWER, f_lower(x), f_info(x), xls,
+		      LOWER, f_lower(y), f_info(y), yls);
+  }
+  else {
+    // xl < 0 < xu, yl < 0 < yu
+    PPL_DIRTY_TEMP(To_Boundary, tmp);
+    PPL_DIRTY_TEMP(To_Info, tmp_info);
+    tmp_info.clear();
+    Result tmp_r;
+    tmp_r = Boundary_NS::mul_assign(LOWER, tmp, tmp_info,
+				    UPPER, f_upper(x), f_info(x),
+				    LOWER, f_lower(y), f_info(y));
+    rl = Boundary_NS::mul_assign(LOWER, to_lower, to_info,
+				 LOWER, f_lower(x), f_info(x),
+				 UPPER, f_upper(y), f_info(y));
+    if (gt(LOWER, to_lower, to_info, LOWER, tmp, tmp_info)) {
+      to_lower = tmp;
+      rl = tmp_r;
+    }
+    tmp_info.clear();
+    tmp_r = Boundary_NS::mul_assign(UPPER, tmp, tmp_info,
+				    UPPER, f_upper(x), f_info(x),
+				    UPPER, f_upper(y), f_info(y));
+    ru = Boundary_NS::mul_assign(UPPER, upper(), to_info,
+				 LOWER, f_lower(x), f_info(x),
+				 LOWER, f_lower(y), f_info(y));
+    if (lt(UPPER, upper(), to_info, UPPER, tmp, tmp_info)) {
+      upper() = tmp;
+      ru = tmp_r;
+    }
+  }
+  assign_or_swap(lower(), to_lower);
+  assign_or_swap(info(), to_info);
+  PPL_ASSERT(OK());
+  return combine(rl, ru);
+}
 
-  /*! \brief
-    Adds to \p *this a congruence equivalent to constraint \p c,
-    also minimizing the result.
+/**
++-----------+-----------+-----------+
+|     /     |  yu < 0   |  yl > 0   |
++-----------+-----------+-----------+
+|   xu<=0   |xu/yl,xl/yu|xl/yl,xu/yu|
++-----------+-----------+-----------+
+|xl<=0 xu>=0|xu/yu,xl/yu|xl/yl,xu/yl|
++-----------+-----------+-----------+
+|   xl>=0   |xu/yu,xl/yl|xl/yu,xu/yl|
++-----------+-----------+-----------+
+**/
+template <typename To_Boundary, typename To_Info>
+template <typename From1, typename From2>
+inline typename Enable_If<((Is_Singleton<From1>::value
+                            || Is_Interval<From1>::value)
+			   && (Is_Singleton<From2>::value
+                               || Is_Interval<From2>::value)), I_Result>::type
+Interval<To_Boundary, To_Info>::div_assign(const From1& x, const From2& y) {
+  PPL_ASSERT(f_OK(x));
+  PPL_ASSERT(f_OK(y));
+  if (check_empty_arg(x) || check_empty_arg(y))
+    return assign(EMPTY);
+  int yls = sgn_b(LOWER, f_lower(y), f_info(y));
+  int yus = yls > 0 ? 1 : sgn_b(UPPER, f_upper(y), f_info(y));
+  if (yls == 0 && yus == 0)
+    return assign(EMPTY);
+  int inf = Parma_Polyhedra_Library::is_infinity(x);
+  if (inf) {
+    if (Parma_Polyhedra_Library::is_infinity(y))
+      return assign(EMPTY);
+    if (yls == -yus)
+      return set_infinities();
+    if (yls < 0 || yus < 0)
+      inf = -inf;
+    if (inf < 0)
+      return assign(MINUS_INFINITY);
+    else
+      return assign(PLUS_INFINITY);
+  }
+  int xls = sgn_b(LOWER, f_lower(x), f_info(x));
+  int xus = xls > 0 ? 1 : sgn_b(UPPER, f_upper(x), f_info(x));
 
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
+  PPL_DIRTY_TEMP(To_Info, to_info);
+  to_info.clear();
+  if (!div_restriction(to_info, x, y))
+    return assign(EMPTY);
+  Result rl, ru;
+  PPL_DIRTY_TEMP(To_Boundary, to_lower);
+  if (yls >= 0) {
+    if (xls >= 0) {
+      rl = div_assign_z(LOWER, to_lower, to_info,
+			LOWER, f_lower(x), f_info(x), xls,
+			UPPER, f_upper(y), f_info(y), yus);
+      ru = div_assign_z(UPPER, upper(), to_info,
+			UPPER, f_upper(x), f_info(x), xus,
+			LOWER, f_lower(y), f_info(y), yls);
+    }
+    else if (xus <= 0) {
+      rl = div_assign_z(LOWER, to_lower, to_info,
+			LOWER, f_lower(x), f_info(x), xls,
+			LOWER, f_lower(y), f_info(y), yls);
+      ru = div_assign_z(UPPER, upper(), to_info,
+			UPPER, f_upper(x), f_info(x), xus,
+			UPPER, f_upper(y), f_info(y), yus);
+    }
+    else {
+      rl = div_assign_z(LOWER, to_lower, to_info,
+			LOWER, f_lower(x), f_info(x), xls,
+			LOWER, f_lower(y), f_info(y), yls);
+      ru = div_assign_z(UPPER, upper(), to_info,
+			UPPER, f_upper(x), f_info(x), xus,
+			LOWER, f_lower(y), f_info(y), yls);
+    }
+  }
+  else if (yus <= 0) {
+    if (xls >= 0) {
+      rl = div_assign_z(LOWER, to_lower, to_info,
+			UPPER, f_upper(x), f_info(x), xus,
+			UPPER, f_upper(y), f_info(y), yus);
+      ru = div_assign_z(UPPER, upper(), to_info,
+			LOWER, f_lower(x), f_info(x), xls,
+			LOWER, f_lower(y), f_info(y), yls);
+    }
+    else if (xus <= 0) {
+      rl = div_assign_z(LOWER, to_lower, to_info,
+			UPPER, f_upper(x), f_info(x), xus,
+			LOWER, f_lower(y), f_info(y), yls);
+      ru = div_assign_z(UPPER, upper(), to_info,
+			LOWER, f_lower(x), f_info(x), xls,
+			UPPER, f_upper(y), f_info(y), yus);
+    }
+    else {
+      rl = div_assign_z(LOWER, to_lower, to_info,
+			UPPER, f_upper(x), f_info(x), xus,
+			UPPER, f_upper(y), f_info(y), yus);
+      ru = div_assign_z(UPPER, upper(), to_info,
+			LOWER, f_lower(x), f_info(x), xls,
+			UPPER, f_upper(y), f_info(y), yus);
+    }
+  }
+  else {
+    // FIXME: restrictions
+    return static_cast<I_Result>(assign(UNIVERSE) | I_SINGULARITIES);
+  }
+  assign_or_swap(lower(), to_lower);
+  assign_or_swap(info(), to_info);
+  PPL_ASSERT(OK());
+  return combine(rl, ru);
+}
 
-    \param c
-    The constraint to be added.
+template <typename B, typename Info, typename T>
+inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
+operator+(const Interval<B, Info>& x, const T& y) {
+  Interval<B, Info> z;
+  z.add_assign(x, y);
+  return z;
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p c are dimension-incompatible
-    or if constraint \p c is not optimally supported by the grid domain.
+template <typename B, typename Info, typename T>
+inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
+operator+(const T& x, const Interval<B, Info>& y) {
+  Interval<B, Info> z;
+  z.add_assign(x, y);
+  return z;
+}
 
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_constraint_and_minimize(const Constraint& c);
+template <typename B, typename Info>
+inline Interval<B, Info>
+operator+(const Interval<B, Info>& x, const Interval<B, Info>& y) {
+  Interval<B, Info> z;
+  z.add_assign(x, y);
+  return z;
+}
 
-  /*! \brief
-    Adds to \p *this congruences equivalent to the constraints in \p cs.
+template <typename B, typename Info, typename T>
+inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
+operator-(const Interval<B, Info>& x, const T& y) {
+  Interval<B, Info> z;
+  z.sub_assign(x, y);
+  return z;
+}
 
-    \param cs
-    The constraints to be added.
+template <typename B, typename Info, typename T>
+inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
+operator-(const T& x, const Interval<B, Info>& y) {
+  Interval<B, Info> z;
+  z.sub_assign(x, y);
+  return z;
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible
-    or if \p cs contains a constraint whcih is not optimally supported
-    by the grid domain.
-  */
-  void add_constraints(const Constraint_System& cs);
+template <typename B, typename Info>
+inline Interval<B, Info>
+operator-(const Interval<B, Info>& x, const Interval<B, Info>& y) {
+  Interval<B, Info> z;
+  z.sub_assign(x, y);
+  return z;
+}
 
-  /*! \brief
-    Adds to \p *this congruences equivalent to the constraints in \p cs,
-    minimizing the result.
+template <typename B, typename Info, typename T>
+inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
+operator*(const Interval<B, Info>& x, const T& y) {
+  Interval<B, Info> z;
+  z.mul_assign(x, y);
+  return z;
+}
 
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
+template <typename B, typename Info, typename T>
+inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
+operator*(const T& x, const Interval<B, Info>& y) {
+  Interval<B, Info> z;
+  z.mul_assign(x, y);
+  return z;
+}
 
-    \param cs
-    The constraints to be added.
+template <typename B, typename Info>
+inline Interval<B, Info>
+operator*(const Interval<B, Info>& x, const Interval<B, Info>& y) {
+  Interval<B, Info> z;
+  z.mul_assign(x, y);
+  return z;
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible
-    or if \p cs contains a constraint whcih is not optimally supported
-    by the grid domain.
+template <typename B, typename Info, typename T>
+inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
+operator/(const Interval<B, Info>& x, const T& y) {
+  Interval<B, Info> z;
+  z.div_assign(x, y);
+  return z;
+}
 
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_constraints_and_minimize(const Constraint_System& cs);
+template <typename B, typename Info, typename T>
+inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
+operator/(const T& x, const Interval<B, Info>& y) {
+  Interval<B, Info> z;
+  z.div_assign(x, y);
+  return z;
+}
 
-  /*! \brief
-    Adds to \p *this congruences equivalent to the constraints in \p cs.
+template <typename B, typename Info>
+inline Interval<B, Info>
+operator/(const Interval<B, Info>& x, const Interval<B, Info>& y) {
+  Interval<B, Info> z;
+  z.div_assign(x, y);
+  return z;
+}
 
-    \param cs
-    The constraints to be added. They may be recycled.
+template <typename Boundary, typename Info>
+inline std::ostream&
+operator<<(std::ostream& os, const Interval<Boundary, Info>& x) {
+  // PPL_ASSERT(x.OK());
+  if (check_empty_arg(x))
+    return os << "[]";
+  if (x.is_singleton()) {
+    output(os, x.lower(), Numeric_Format(), ROUND_NOT_NEEDED);
+    return os;
+  }
+  os << (x.lower_is_open() ? "(" : "[");
+  if (x.info().get_boundary_property(LOWER, SPECIAL))
+    os << "-inf";
+  else
+    output(os, x.lower(), Numeric_Format(), ROUND_NOT_NEEDED);
+  os << ", ";
+  if (x.info().get_boundary_property(UPPER, SPECIAL))
+    os << "+inf";
+  else
+    output(os, x.upper(), Numeric_Format(), ROUND_NOT_NEEDED);
+  os << (x.upper_is_open() ? ")" : "]");
+  output_restriction(os, x.info());
+  return os;
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible
-    or if \p cs contains a constraint whcih is not optimally supported
-    by the grid domain.
+template <typename Boundary, typename Info>
+inline void
+Interval<Boundary, Info>::ascii_dump(std::ostream& s) const {
+  using Parma_Polyhedra_Library::ascii_dump;
+  s << "info ";
+  info().ascii_dump(s);
+  s << " lower ";
+  ascii_dump(s, lower());
+  s << " upper ";
+  ascii_dump(s, upper());
+  s << '\n';
+}
 
-    \warning
-    The only assumption that can be made about \p cs upon successful
-    or exceptional return is that it can be safely destroyed.
-  */
-  void add_recycled_constraints(Constraint_System& cs);
+template <typename Boundary, typename Info>
+inline bool
+Interval<Boundary, Info>::ascii_load(std::istream& s) {
+  using Parma_Polyhedra_Library::ascii_load;
+  std::string str;
+  if (!(s >> str) || str != "info")
+    return false;
+  if (!info().ascii_load(s))
+    return false;
+  if (!(s >> str) || str != "lower")
+    return false;
+  if (!ascii_load(s, lower()))
+    return false;
+  if (!(s >> str) || str != "upper")
+    return false;
+  if (!ascii_load(s, upper()))
+    return false;
+  PPL_ASSERT(OK());
+  return true;
+}
 
-  /*! \brief
-    Adds to \p *this congruences equivalent to the constraints in \p cs,
-    minimizing the result.
+/*! \brief
+  Helper class to select the appropriate numerical type to perform
+  boundary computations so as to reduce the chances of overflow without
+  incurring too much overhead.
+*/
+template <typename Interval_Boundary_Type> struct Select_Temp_Boundary_Type;
 
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
+template <typename Interval_Boundary_Type>
+struct Select_Temp_Boundary_Type {
+  typedef Interval_Boundary_Type type;
+};
 
-    \param cs
-    The constraints to be added. They may be recycled.
+template <>
+struct Select_Temp_Boundary_Type<float> {
+  typedef double type;
+};
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible
-    or if \p cs contains a constraint whcih is not optimally supported
-    by the grid domain.
+template <>
+struct Select_Temp_Boundary_Type<signed char> {
+  typedef signed long long type;
+};
 
-    \warning
-    The only assumption that can be made about \p cs upon successful
-    or exceptional return is that it can be safely destroyed.
+template <>
+struct Select_Temp_Boundary_Type<unsigned char> {
+  typedef signed long long type;
+};
 
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_recycled_constraints_and_minimize(Constraint_System& cs);
+template <>
+struct Select_Temp_Boundary_Type<signed short> {
+  typedef signed long long type;
+};
 
-  //! Uses a copy of the congruence \p cg to refine \p *this.
-  /*!
-    \param cg
-    The congruence used.
+template <>
+struct Select_Temp_Boundary_Type<unsigned short> {
+  typedef signed long long type;
+};
 
-    \exception std::invalid_argument
-    Thrown if \p *this and congruence \p cg are dimension-incompatible.
-  */
-  void refine_with_congruence(const Congruence& cg);
+template <>
+struct Select_Temp_Boundary_Type<signed int> {
+  typedef signed long long type;
+};
 
- //! Uses a copy of the congruences in \p cgs to refine \p *this.
-  /*!
-    \param cgs
-    The congruences used.
+template <>
+struct Select_Temp_Boundary_Type<unsigned int> {
+  typedef signed long long type;
+};
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible.
-  */
-  void refine_with_congruences(const Congruence_System& cgs);
+template <>
+struct Select_Temp_Boundary_Type<signed long> {
+  typedef signed long long type;
+};
 
-  //! Uses a copy of the constraint \p c to refine \p *this.
-  /*!
+template <>
+struct Select_Temp_Boundary_Type<unsigned long> {
+  typedef signed long long type;
+};
 
-    \param c
-    The constraint used. If it is not an equality, it will be ignored
+template <>
+struct Select_Temp_Boundary_Type<unsigned long long> {
+  typedef signed long long type;
+};
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p c are dimension-incompatible.
-  */
-  void refine_with_constraint(const Constraint& c);
+} // namespace Parma_Polyhedra_Library
 
-  //! Uses a copy of the constraints in \p cs to refine \p *this.
-  /*!
-    \param cs
-    The constraints used. Constraints that are not equalities are ignored.
+namespace std {
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible.
-  */
-  void refine_with_constraints(const Constraint_System& cs);
+/*! \relates Parma_Polyhedra_Library::Interval */
+template <typename Boundary, typename Info>
+inline void
+swap(Parma_Polyhedra_Library::Interval<Boundary, Info>& x,
+     Parma_Polyhedra_Library::Interval<Boundary, Info>& y) {
+  x.swap(y);
+}
 
-  /*! \brief
-    Adds a copy of the generators in \p gs to the system of generators
-    of \p *this.
+} // namespace std
 
-    \param gs
-    Contains the generators that will be added to the system of
-    generators of \p *this.
+/* Automatically generated from PPL source file ../src/Interval.templates.hh line 1. */
+/* Interval class implementation: non-inline template functions.
+*/
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p gs are dimension-incompatible, or if
-    \p *this is empty and the system of generators \p gs is not empty,
-    but has no points.
-  */
-  void add_grid_generators(const Grid_Generator_System& gs);
 
-  /*! \brief
-    Adds the generators in \p gs to the system of generators of \p
-    *this.
+#include <algorithm>
 
-    \param gs
-    The generator system to be added to \p *this.  The generators in
-    \p gs may be recycled.
+namespace Parma_Polyhedra_Library {
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p gs are dimension-incompatible.
+template <typename Boundary, typename Info>
+template <typename C>
+typename Enable_If<Is_Same_Or_Derived<I_Constraint_Base, C>::value, I_Result>::type
+Interval<Boundary, Info>::lower_extend(const C& c) {
+  PPL_ASSERT(OK());
+  bool open;
+  switch (c.rel()) {
+  case V_LGE:
+    return lower_extend();
+  case V_NAN:
+    return I_NOT_EMPTY | I_EXACT | I_UNCHANGED;
+  case V_GT:
+    open = true;
+    break;
+  case V_GE:
+  case V_EQ:
+    open = false;
+    break;
+  default:
+    PPL_ASSERT(false);
+  }
+  min_assign(LOWER, lower(), info(), LOWER, c.value(), f_info(c.value(), open));
+  PPL_ASSERT(OK());
+  return I_ANY;
+}
 
-    \warning
-    The only assumption that can be made about \p gs upon successful
-    or exceptional return is that it can be safely destroyed.
-  */
-  void add_recycled_grid_generators(Grid_Generator_System& gs);
+template <typename Boundary, typename Info>
+template <typename C>
+typename Enable_If<Is_Same_Or_Derived<I_Constraint_Base, C>::value, I_Result>::type
+Interval<Boundary, Info>::upper_extend(const C& c) {
+  PPL_ASSERT(OK());
+  bool open;
+  switch (c.rel()) {
+  case V_LGE:
+    return lower_extend();
+  case V_NAN:
+    return I_NOT_EMPTY | I_EXACT | I_UNCHANGED;
+  case V_LT:
+    open = true;
+    break;
+  case V_LE:
+  case V_EQ:
+    open = false;
+    break;
+  default:
+    PPL_ASSERT(false);
+  }
+  max_assign(UPPER, upper(), info(), UPPER, c.value(), f_info(c.value(), open));
+  PPL_ASSERT(OK());
+  return I_ANY;
+}
 
-  /*! \brief
-    Adds a copy of the generators in \p gs to the system of generators
-    of \p *this, reducing the result.
+template <typename Boundary, typename Info>
+template <typename From, typename Iterator>
+typename Enable_If<Is_Interval<From>::value, void>::type
+Interval<Boundary, Info>::CC76_widening_assign(const From& y,
+					       Iterator first,
+					       Iterator last) {
+  // We assume that `y' is contained in or equal to `*this'.
+  PPL_ASSERT(contains(y));
+  Interval<Boundary, Info>& x = *this;
 
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
+  // Upper bound.
+  if (!x.upper_is_boundary_infinity()) {
+    Boundary& x_ub = x.upper();
+    const Boundary& y_ub = y.upper();
+    PPL_ASSERT(!y.upper_is_boundary_infinity() && y_ub <= x_ub);
+    if (y_ub < x_ub) {
+      Iterator k = std::lower_bound(first, last, x_ub);
+      if (k != last) {
+	if (x_ub < *k)
+	  x_ub = *k;
+      }
+      else
+	x.upper_extend();
+    }
+  }
 
-    \param gs
-    Contains the generators that will be added to the system of
-    generators of \p *this.
+  // Lower bound.
+  if (!x.lower_is_boundary_infinity()) {
+    Boundary& x_lb = x.lower();
+    const Boundary& y_lb = y.lower();
+    PPL_ASSERT(!y.lower_is_boundary_infinity() && y_lb >= x_lb);
+    if (y_lb > x_lb) {
+      Iterator k = std::lower_bound(first, last, x_lb);
+      if (k != last) {
+	if (x_lb < *k) {
+	  if (k != first)
+	    x_lb = *--k;
+	  else
+	    x.lower_extend();
+	}
+      }
+      else
+	x_lb = *--k;
+    }
+  }
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p gs are dimension-incompatible, or if \p
-    *this is empty and the system of generators \p gs is not empty,
-    but has no points.
+template <typename Boundary, typename Info>
+Interval<Boundary, Info>::Interval(const char* s) {
+  // Get the lower bound.
+  Boundary lower_bound;
+  Result lower_r = assign_r(lower_bound, s, ROUND_DOWN);
+  if (lower_r == V_CVT_STR_UNK || lower_r == V_NAN) {
+    throw std::invalid_argument("PPL::Interval(const char* s)"
+                                " with s invalid");
+  }
+  lower_r = result_relation_class(lower_r);
 
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_grid_generators_and_minimize(const Grid_Generator_System& gs);
+  // Get the upper bound.
+  Boundary upper_bound;
+  Result upper_r = assign_r(upper_bound, s, ROUND_UP);
+  assert(upper_r != V_CVT_STR_UNK && upper_r != V_NAN);
+  upper_r = result_relation_class(upper_r);
 
-  /*! \brief
-    Adds the generators in \p gs to the system of generators of \p
-    *this, reducing the result.
+  // Buld the interval.
+  bool lower_open = false;
+  bool upper_open = false;
+  bool lower_boundary_infinity = false;
+  bool upper_boundary_infinity = false;
+  switch (lower_r) {
+  case V_EQ:
+  case V_GE:
+    break;
+  case V_GT:
+    lower_open = true;
+    break;
+  case V_EQ_MINUS_INFINITY:
+  case V_GT_MINUS_INFINITY:
+    lower_boundary_infinity = true;
+    break;
+  case V_EQ_PLUS_INFINITY:
+  case V_LT_PLUS_INFINITY:
+    if (upper_r == V_EQ_PLUS_INFINITY || upper_r == V_LT_PLUS_INFINITY)
+      assign(UNIVERSE);
+    else
+      assign(EMPTY);
+    break;
+  default:
+    PPL_ASSERT(false);
+  }
+  switch (upper_r) {
+  case V_EQ:
+  case V_LE:
+    break;
+  case V_LT:
+    upper_open = true;
+    break;
+  case V_EQ_MINUS_INFINITY:
+  case V_GT_MINUS_INFINITY:
+    if (lower_r == V_EQ_MINUS_INFINITY || lower_r == V_GT_MINUS_INFINITY)
+      assign(UNIVERSE);
+    else
+      assign(EMPTY);
+    break;
+  case V_EQ_PLUS_INFINITY:
+  case V_LT_PLUS_INFINITY:
+    upper_boundary_infinity = true;
+    break;
+  default:
+    PPL_ASSERT(false);
+  }
 
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
+  if (!lower_boundary_infinity
+      && !upper_boundary_infinity
+      && (lower_bound > upper_bound
+          || (lower_open && lower_bound == upper_bound)))
+    assign(EMPTY);
+  else {
+    if (lower_boundary_infinity)
+      special_set_boundary_infinity(LOWER, lower(), info());
+    else
+      Boundary_NS::assign(LOWER, lower(), info(),
+                          LOWER, lower_bound, SCALAR_INFO, lower_open);
+    if (upper_boundary_infinity)
+      special_set_boundary_infinity(UPPER, upper(), info());
+    else
+      Boundary_NS::assign(UPPER, upper(), info(),
+                          UPPER, upper_bound, SCALAR_INFO, upper_open);
+  }
+}
 
-    \param gs
-    The generator system to be added to \p *this.  The generators in
-    \p gs may be recycled.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p gs are dimension-incompatible.
+template <typename Boundary, typename Info>
+inline std::istream&
+operator>>(std::istream& is, Interval<Boundary, Info>& x) {
+  // Eat leading white space.
+  int c;
+  do {
+    c = is.get();
+  } while (isspace(c));
 
-    \warning
-    The only assumption that can be made about \p gs upon successful
-    or exceptional return is that it can be safely destroyed.
+  // Get the opening parenthesis and handle the empty interval case.
+  bool lower_open = false;
+  if (c == '(')
+    lower_open = true;
+  else if (c == '[') {
+    c = is.get();
+    if (c == ']') {
+      // Empty interval.
+      x.assign(EMPTY);
+      return is;
+    }
+    else
+      is.unget();
+  }
+  else {
+    is.unget();
+    is.setstate(std::ios_base::failbit);
+    return is;
+  }
 
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_recycled_grid_generators_and_minimize(Grid_Generator_System& gs);
+  // Get the lower bound.
+  Boundary lower_bound;
+  Result lower_r = input(lower_bound, is, ROUND_DOWN);
+  if (lower_r == V_CVT_STR_UNK || lower_r == V_NAN) {
+    is.setstate(std::ios_base::failbit);
+    return is;
+  }
+  lower_r = result_relation_class(lower_r);
 
-  /*! \brief
-    Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to space dimension \p var, assigning the result to \p *this.
+  // Match the comma separating the lower and upper bounds.
+  do {
+    c = is.get();
+  } while (isspace(c));
+  if (c != ',') {
+    is.unget();
+    is.setstate(std::ios_base::failbit);
+    return is;
+  }
 
-    \param var
-    The space dimension that will be unconstrained.
+  // Get the upper bound.
+  Boundary upper_bound;
+  Result upper_r = input(upper_bound, is, ROUND_UP);
+  if (upper_r == V_CVT_STR_UNK || upper_r == V_NAN) {
+    is.setstate(std::ios_base::failbit);
+    return is;
+  }
+  upper_r = result_relation_class(upper_r);
 
-    \exception std::invalid_argument
-    Thrown if \p var is not a space dimension of \p *this.
-  */
-  void unconstrain(Variable var);
+  // Get the closing parenthesis.
+  do {
+    c = is.get();
+  } while (isspace(c));
+  bool upper_open = false;
+  if (c == ')')
+    upper_open = true;
+  else if (c != ']') {
+    is.unget();
+    is.setstate(std::ios_base::failbit);
+    return is;
+  }
 
-  /*! \brief
-    Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to the set of space dimensions \p to_be_unconstrained,
-    assigning the result to \p *this.
+  // Buld interval.
+  bool lower_boundary_infinity = false;
+  bool upper_boundary_infinity = false;
+  switch (lower_r) {
+  case V_EQ:
+  case V_GE:
+    break;
+  case V_GT:
+    lower_open = true;
+    break;
+  case V_EQ_MINUS_INFINITY:
+  case V_GT_MINUS_INFINITY:
+    lower_boundary_infinity = true;
+    break;
+  case V_EQ_PLUS_INFINITY:
+  case V_LT_PLUS_INFINITY:
+    if (upper_r == V_EQ_PLUS_INFINITY || upper_r == V_LT_PLUS_INFINITY)
+      x.assign(UNIVERSE);
+    else
+      x.assign(EMPTY);
+    return is;
+  default:
+    PPL_ASSERT(false);
+  }
+  switch (upper_r) {
+  case V_EQ:
+  case V_LE:
+    break;
+  case V_LT:
+    upper_open = true;
+    break;
+  case V_EQ_MINUS_INFINITY:
+  case V_GT_MINUS_INFINITY:
+    if (lower_r == V_EQ_MINUS_INFINITY || lower_r == V_GT_MINUS_INFINITY)
+      x.assign(UNIVERSE);
+    else
+      x.assign(EMPTY);
+    return is;
+  case V_EQ_PLUS_INFINITY:
+  case V_LT_PLUS_INFINITY:
+    upper_boundary_infinity = true;
+    break;
+  default:
+    PPL_ASSERT(false);
+  }
 
-    \param to_be_unconstrained
-    The set of space dimension that will be unconstrained.
+  if (!lower_boundary_infinity
+      && !upper_boundary_infinity
+      && (lower_bound > upper_bound
+	  || (lower_open && lower_bound == upper_bound)))
+    x.assign(EMPTY);
+  else {
+    if (lower_boundary_infinity)
+      special_set_boundary_infinity(LOWER, x.lower(), x.info());
+    else
+      assign(LOWER, x.lower(), x.info(),
+             LOWER, lower_bound, SCALAR_INFO, lower_open);
+    if (upper_boundary_infinity)
+      special_set_boundary_infinity(UPPER, x.upper(), x.info());
+    else
+      assign(UPPER, x.upper(), x.info(),
+             UPPER, upper_bound, SCALAR_INFO, upper_open);
+  }
+  return is;
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p to_be_removed.
-  */
-  void unconstrain(const Variables_Set& to_be_unconstrained);
+template <typename Boundary, typename Info>
+template <typename From>
+typename Enable_If<Is_Interval<From>::value, bool>::type
+Interval<Boundary, Info>::simplify_using_context_assign(const From& y) {
+  // FIXME: the following code wrongly assumes that intervals are closed
+  // and have no restrictions. It must be generalized.
+  if (lt(UPPER, upper(), info(), LOWER, f_lower(y), f_info(y))) {
+    lower_extend();
+    return false;
+  }
+  if (gt(LOWER, lower(), info(), UPPER, f_upper(y), f_info(y))) {
+    upper_extend();
+    return false;
+  }
+  // Weakening the upper bound.
+  if (!upper_is_boundary_infinity() && !y.upper_is_boundary_infinity()
+      && y.upper() <= upper())
+    upper_extend();
+  // Weakening the lower bound.
+  if (!lower_is_boundary_infinity() && !y.lower_is_boundary_infinity()
+      && y.lower() >= lower())
+    lower_extend();
+  return true;
+}
 
-  /*! \brief
-    Assigns to \p *this the intersection of \p *this and \p y.
+template <typename Boundary, typename Info>
+template <typename From>
+typename Enable_If<Is_Interval<From>::value, void>::type
+Interval<Boundary, Info>::empty_intersection_assign(const From&) {
+  // FIXME: write me.
+  assign(EMPTY);
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void intersection_assign(const Grid& y);
+} // namespace Parma_Polyhedra_Library
 
-  /*! \brief
-    Assigns to \p *this the intersection of \p *this and \p y,
-    reducing the result.
+/* Automatically generated from PPL source file ../src/Interval.defs.hh line 845. */
 
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
+/* Automatically generated from PPL source file ../src/Polyhedron.templates.hh line 29. */
+#include <algorithm>
+#include <deque>
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
+namespace Parma_Polyhedra_Library {
 
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool intersection_assign_and_minimize(const Grid& y);
+template <typename Interval>
+Polyhedron::Polyhedron(Topology topol,
+                       const Box<Interval>& box,
+                       Complexity_Class)
+  : con_sys(topol),
+    gen_sys(topol),
+    sat_c(),
+    sat_g() {
+  // Initialize the space dimension as indicated by the box.
+  space_dim = box.space_dimension();
 
-  /*! \brief
-    Assigns to \p *this the least upper bound of \p *this and \p y.
+  // Check for emptiness.
+  if (box.is_empty()) {
+    set_empty();
+    return;
+  }
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void upper_bound_assign(const Grid& y);
+  // Zero-dim universe polyhedron.
+  if (space_dim == 0) {
+    set_zero_dim_univ();
+    return;
+  }
 
-  /*! \brief
-    Assigns to \p *this the least upper bound of \p *this and \p y,
-    reducing the result.
+  // Insert a dummy constraint of the highest dimension to avoid the
+  // need of resizing the matrix of constraints later;
+  // this constraint will be removed at the end.
+  con_sys.insert(Variable(space_dim - 1) >= 0);
 
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
+  PPL_DIRTY_TEMP_COEFFICIENT(l_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(l_d);
+  PPL_DIRTY_TEMP_COEFFICIENT(u_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(u_d);
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
+  if (topol == NECESSARILY_CLOSED) {
+    for (dimension_type k = space_dim; k-- > 0; ) {
+      // See if we have a valid lower bound.
+      bool l_closed = false;
+      bool l_bounded = box.get_lower_bound(k, l_closed, l_n, l_d);
+      // See if we have a valid upper bound.
+      bool u_closed = false;
+      bool u_bounded = box.get_upper_bound(k, u_closed, u_n, u_d);
 
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool upper_bound_assign_and_minimize(const Grid& y);
+      // See if we have an implicit equality constraint.
+      if (l_bounded && u_bounded
+          && l_closed && u_closed
+          && l_n == u_n && l_d == u_d) {
+        // Add the constraint `l_d*v_k == l_n'.
+        con_sys.insert(l_d * Variable(k) == l_n);
+      }
+      else {
+        if (l_bounded)
+          // Add the constraint `l_d*v_k >= l_n'.
+          con_sys.insert(l_d * Variable(k) >= l_n);
+        if (u_bounded)
+          // Add the constraint `u_d*v_k <= u_n'.
+          con_sys.insert(u_d * Variable(k) <= u_n);
+      }
+    }
+  }
+  else {
+    // topol == NOT_NECESSARILY_CLOSED
+    for (dimension_type k = space_dim; k-- > 0; ) {
+      // See if we have a valid lower bound.
+      bool l_closed = false;
+      bool l_bounded = box.get_lower_bound(k, l_closed, l_n, l_d);
+      // See if we have a valid upper bound.
+      bool u_closed = false;
+      bool u_bounded = box.get_upper_bound(k, u_closed, u_n, u_d);
 
-  /*! \brief
-    If the upper bound of \p *this and \p y is exact it is assigned to \p
-    *this and <CODE>true</CODE> is returned, otherwise
-    <CODE>false</CODE> is returned.
+      // See if we have an implicit equality constraint.
+      if (l_bounded && u_bounded
+          && l_closed && u_closed
+          && l_n == u_n && l_d == u_d) {
+        // Add the constraint `l_d*v_k == l_n'.
+        con_sys.insert(l_d * Variable(k) == l_n);
+      }
+      else {
+        // Check if a lower bound constraint is required.
+        if (l_bounded) {
+          if (l_closed)
+            // Add the constraint `l_d*v_k >= l_n'.
+            con_sys.insert(l_d * Variable(k) >= l_n);
+          else
+            // Add the constraint `l_d*v_k > l_n'.
+            con_sys.insert(l_d * Variable(k) > l_n);
+        }
+        // Check if an upper bound constraint is required.
+        if (u_bounded) {
+          if (u_closed)
+            // Add the constraint `u_d*v_k <= u_n'.
+            con_sys.insert(u_d * Variable(k) <= u_n);
+          else
+            // Add the constraint `u_d*v_k < u_n'.
+            con_sys.insert(u_d * Variable(k) < u_n);
+        }
+      }
+    }
+  }
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  bool upper_bound_assign_if_exact(const Grid& y);
+  // Adding the low-level constraints.
+  con_sys.add_low_level_constraints();
+  // Now removing the dummy constraint inserted before.
+  dimension_type n_rows = con_sys.num_rows() - 1;
+  con_sys[0].swap(con_sys[n_rows]);
+  con_sys.set_sorted(false);
+  // NOTE: here there are no pending constraints.
+  con_sys.set_index_first_pending_row(n_rows);
+  con_sys.erase_to_end(n_rows);
 
-  /*! \brief
-    Assigns to \p *this the \ref Grid_Difference "grid-difference" of
-    \p *this and \p y.
+  // Constraints are up-to-date.
+  set_constraints_up_to_date();
+  PPL_ASSERT_HEAVY(OK());
+}
 
-    The grid difference between grids x and y is the smallest grid
-    containing all the points from x and y that are only in x.
+template <typename Partial_Function>
+void
+Polyhedron::map_space_dimensions(const Partial_Function& pfunc) {
+  if (space_dim == 0)
+    return;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void difference_assign(const Grid& y);
+  if (pfunc.has_empty_codomain()) {
+    // All dimensions vanish: the polyhedron becomes zero_dimensional.
+    if (marked_empty()
+	|| (has_pending_constraints()
+	    && !remove_pending_to_obtain_generators())
+	|| (!generators_are_up_to_date() && !update_generators())) {
+      // Removing all dimensions from the empty polyhedron.
+      space_dim = 0;
+      con_sys.clear();
+    }
+    else
+      // Removing all dimensions from a non-empty polyhedron.
+      set_zero_dim_univ();
 
-  /*! \brief
-    Assigns to \p *this a \ref Meet_Preserving_Simplification
-    "meet-preserving simplification" of \p *this with respect to \p y.
-    If \c false is returned, then the intersection is empty.
+    PPL_ASSERT_HEAVY(OK());
+    return;
+  }
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are topology-incompatible or
-    dimension-incompatible.
-  */
-  bool simplify_using_context_assign(const Grid& y);
+  const dimension_type new_space_dimension = pfunc.max_in_codomain() + 1;
 
-  /*! \brief
-    Assigns to \p *this the \ref Grid_Affine_Transformation
-    "affine image" of \p
-    *this under the function mapping variable \p var to the affine
-    expression specified by \p expr and \p denominator.
+  if (new_space_dimension == space_dim) {
+    // The partial function `pfunc' is indeed total and thus specifies
+    // a permutation, that is, a renaming of the dimensions.  For
+    // maximum efficiency, we will simply permute the columns of the
+    // constraint system and/or the generator system.
 
-    \param var
-    The variable to which the affine expression is assigned;
+    // We first compute suitable permutation cycles for the columns of
+    // the `con_sys' and `gen_sys' matrices.  We will represent them
+    // with a linear array, using 0 as a terminator for each cycle
+    // (notice that the columns with index 0 of `con_sys' and
+    // `gen_sys' represent the inhomogeneous terms, and thus are
+    // unaffected by the permutation of dimensions).
+    // Cycles of length 1 will be omitted so that, in the worst case,
+    // we will have `space_dim' elements organized in `space_dim/2'
+    // cycles, which means we will have at most `space_dim/2'
+    // terminators.
+    std::vector<dimension_type> cycles;
+    cycles.reserve(space_dim + space_dim/2);
 
-    \param expr
-    The numerator of the affine expression;
+    // Used to mark elements as soon as they are inserted in a cycle.
+    std::deque<bool> visited(space_dim);
 
-    \param denominator
-    The denominator of the affine expression (optional argument with
-    default value 1).
+    for (dimension_type i = space_dim; i-- > 0; ) {
+      if (!visited[i]) {
+	dimension_type j = i;
+	do {
+	  visited[j] = true;
+	  // The following initialization is only to make the compiler happy.
+	  dimension_type k = 0;
+	  if (!pfunc.maps(j, k))
+	    throw_invalid_argument("map_space_dimensions(pfunc)",
+				   " pfunc is inconsistent");
+	  if (k == j)
+	    // Cycle of length 1: skip it.
+	    goto skip;
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p expr and \p *this are
-    dimension-incompatible or if \p var is not a space dimension of
-    \p *this.
+	  cycles.push_back(j+1);
+	  // Go along the cycle.
+	  j = k;
+	} while (!visited[j]);
+	// End of cycle: mark it.
+	cycles.push_back(0);
+      skip:
+	;
+      }
+    }
 
-    \if Include_Implementation_Details
+    // If `cycles' is empty then `pfunc' is the identity.
+    if (cycles.empty())
+      return;
 
-    When considering the generators of a grid, the
-    affine transformation
-    \f[
-      \frac{\sum_{i=0}^{n-1} a_i x_i + b}{\mathrm{denominator}}
-    \f]
-    is assigned to \p var where \p expr is
-    \f$\sum_{i=0}^{n-1} a_i x_i + b\f$
-    (\f$b\f$ is the inhomogeneous term).
+    // Permute all that is up-to-date.  Notice that the contents of
+    // the saturation matrices is unaffected by the permutation of
+    // columns: they remain valid, if they were so.
+    if (constraints_are_up_to_date())
+      con_sys.permute_columns(cycles);
 
-    If congruences are up-to-date, it uses the specialized function
-    affine_preimage() (for the system of congruences)
-    and inverse transformation to reach the same result.
-    To obtain the inverse transformation we use the following observation.
+    if (generators_are_up_to_date())
+      gen_sys.permute_columns(cycles);
 
-    Observation:
-    -# The affine transformation is invertible if the coefficient
-       of \p var in this transformation (i.e., \f$a_\mathrm{var}\f$)
-       is different from zero.
-    -# If the transformation is invertible, then we can write
-       \f[
-  	 \mathrm{denominator} * {x'}_\mathrm{var}
-	   = \sum_{i = 0}^{n - 1} a_i x_i + b
-	   = a_\mathrm{var} x_\mathrm{var}
-	     + \sum_{i \neq var} a_i x_i + b,
-       \f]
-       so that the inverse transformation is
-       \f[
-	 a_\mathrm{var} x_\mathrm{var}
-           = \mathrm{denominator} * {x'}_\mathrm{var}
-             - \sum_{i \neq j} a_i x_i - b.
-       \f]
+    PPL_ASSERT_HEAVY(OK());
+    return;
+  }
 
-    Then, if the transformation is invertible, all the entities that
-    were up-to-date remain up-to-date. Otherwise only generators remain
-    up-to-date.
+  // If control gets here, then `pfunc' is not a permutation and some
+  // dimensions must be projected away.
 
-    \endif
-  */
-  void affine_image(Variable var,
-		    const Linear_Expression& expr,
-		    Coefficient_traits::const_reference denominator
-		    = Coefficient_one());
+  // If there are pending constraints, using `generators()' we process them.
+  const Generator_System& old_gensys = generators();
 
-  /*! \brief
-    Assigns to \p *this the \ref Grid_Affine_Transformation
-    "affine preimage" of
-    \p *this under the function mapping variable \p var to the affine
-    expression specified by \p expr and \p denominator.
+  if (old_gensys.has_no_rows()) {
+    // The polyhedron is empty.
+    Polyhedron new_polyhedron(topology(), new_space_dimension, EMPTY);
+    std::swap(*this, new_polyhedron);
+    PPL_ASSERT_HEAVY(OK());
+    return;
+  }
 
-    \param var
-    The variable to which the affine expression is substituted;
+  // Make a local copy of the partial function.
+  std::vector<dimension_type> pfunc_maps(space_dim, not_a_dimension());
+  for (dimension_type j = space_dim; j-- > 0; ) {
+    dimension_type pfunc_j;
+    if (pfunc.maps(j, pfunc_j))
+      pfunc_maps[j] = pfunc_j;
+  }
 
-    \param expr
-    The numerator of the affine expression;
+  Generator_System new_gensys;
+  for (Generator_System::const_iterator i = old_gensys.begin(),
+	 old_gensys_end = old_gensys.end(); i != old_gensys_end; ++i) {
+    const Generator& old_g = *i;
+    Linear_Expression e(0 * Variable(new_space_dimension-1));
+    bool all_zeroes = true;
+    for (dimension_type j = space_dim; j-- > 0; ) {
+      if (old_g.coefficient(Variable(j)) != 0
+	  && pfunc_maps[j] != not_a_dimension()) {
+	e += Variable(pfunc_maps[j]) * old_g.coefficient(Variable(j));
+	all_zeroes = false;
+      }
+    }
+    switch (old_g.type()) {
+    case Generator::LINE:
+      if (!all_zeroes)
+	new_gensys.insert(line(e));
+      break;
+    case Generator::RAY:
+      if (!all_zeroes)
+	new_gensys.insert(ray(e));
+      break;
+    case Generator::POINT:
+      // A point in the origin has all zero homogeneous coefficients.
+      new_gensys.insert(point(e, old_g.divisor()));
+      break;
+    case Generator::CLOSURE_POINT:
+      // A closure point in the origin has all zero homogeneous coefficients.
+      new_gensys.insert(closure_point(e, old_g.divisor()));
+      break;
+    }
+  }
+  Polyhedron new_polyhedron(topology(), new_gensys);
+  std::swap(*this, new_polyhedron);
+  PPL_ASSERT_HEAVY(OK(true));
+}
 
-    \param denominator
-    The denominator of the affine expression (optional argument with
-    default value 1).
+} // namespace Parma_Polyhedra_Library
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p expr and \p *this are
-    dimension-incompatible or if \p var is not a space dimension of \p *this.
+/* Automatically generated from PPL source file ../src/Polyhedron.defs.hh line 2626. */
 
-    \if Include_Implementation_Details
+/* Automatically generated from PPL source file ../src/H79_Certificate.inlines.hh line 27. */
 
-    When considering congruences of a grid, the affine transformation
-    \f[
-      \frac{\sum_{i=0}^{n-1} a_i x_i + b}{denominator},
-    \f]
-    is assigned to \p var where \p expr is
-    \f$\sum_{i=0}^{n-1} a_i x_i + b\f$
-    (\f$b\f$ is the inhomogeneous term).
+namespace Parma_Polyhedra_Library {
 
-    If generators are up-to-date, then the specialized function
-    affine_image() is used (for the system of generators)
-    and inverse transformation to reach the same result.
-    To obtain the inverse transformation, we use the following observation.
+inline
+H79_Certificate::H79_Certificate()
+  : affine_dim(0), num_constraints(0) {
+  // This is the certificate for a zero-dim universe polyhedron.
+}
 
-    Observation:
-    -# The affine transformation is invertible if the coefficient
-       of \p var in this transformation (i.e. \f$a_\mathrm{var}\f$)
-       is different from zero.
-    -# If the transformation is invertible, then we can write
-       \f[
-  	 \mathrm{denominator} * {x'}_\mathrm{var}
-	   = \sum_{i = 0}^{n - 1} a_i x_i + b
-           = a_\mathrm{var} x_\mathrm{var}
-               + \sum_{i \neq \mathrm{var}} a_i x_i + b,
-       \f],
-       the inverse transformation is
-       \f[
-	 a_\mathrm{var} x_\mathrm{var}
-           = \mathrm{denominator} * {x'}_\mathrm{var}
-               - \sum_{i \neq j} a_i x_i - b.
-       \f].
+inline
+H79_Certificate::H79_Certificate(const H79_Certificate& y)
+  : affine_dim(y.affine_dim), num_constraints(y.num_constraints) {
+}
 
-    Then, if the transformation is invertible, all the entities that
-    were up-to-date remain up-to-date. Otherwise only congruences remain
-    up-to-date.
+inline
+H79_Certificate::~H79_Certificate() {
+}
 
-    \endif
-  */
-  void affine_preimage(Variable var,
-		       const Linear_Expression& expr,
-		       Coefficient_traits::const_reference denominator
-		         = Coefficient_one());
+inline bool
+H79_Certificate::Compare::operator()(const H79_Certificate& x,
+				     const H79_Certificate& y) const {
+  // For an efficient evaluation of the multiset ordering based
+  // on this lgo relation, we want larger elements to come first.
+  return x.compare(y) == 1;
+}
 
-  /*! \brief
-    Assigns to \p *this the image of \p *this with respect to
-    the \ref Grid_Generalized_Image "generalized affine relation"
-    \f$\mathrm{var}' = \frac{\mathrm{expr}}{\mathrm{denominator}}
-    \pmod{\mathrm{modulus}}\f$.
+template <typename PH>
+inline
+H79_Certificate::H79_Certificate(const PH& ph)
+  : affine_dim(0), num_constraints(0) {
+  H79_Certificate cert(Polyhedron(NECESSARILY_CLOSED, ph.constraints()));
+  affine_dim = cert.affine_dim;
+  num_constraints = cert.num_constraints;
+}
 
-    \param var
-    The left hand side variable of the generalized affine relation;
+template <typename PH>
+inline int
+H79_Certificate::compare(const PH& ph) const {
+  return this->compare(Polyhedron(NECESSARILY_CLOSED, ph.constraints()));
+}
 
-    \param relsym
-    The relation symbol where EQUAL is the symbol for a congruence
-    relation;
+} // namespace Parma_Polyhedra_Library
 
-    \param expr
-    The numerator of the right hand side affine expression;
+/* Automatically generated from PPL source file ../src/H79_Certificate.defs.hh line 96. */
 
-    \param denominator
-    The denominator of the right hand side affine expression.
-    Optional argument with an automatic value of one;
+/* Automatically generated from PPL source file ../src/Grid_Certificate.defs.hh line 1. */
+/* Grid_Certificate class declaration.
+*/
 
-    \param modulus
-    The modulus of the congruence lhs %= rhs.  A modulus of zero
-    indicates lhs == rhs.  Optional argument with an automatic value
-    of zero.
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p expr and \p *this are
-    dimension-incompatible or if \p var is not a space dimension of \p
-    *this.
-  */
-  void
-  generalized_affine_image(Variable var,
-			   Relation_Symbol relsym,
-			   const Linear_Expression& expr,
-			   Coefficient_traits::const_reference denominator
-			   = Coefficient_one(),
-			   Coefficient_traits::const_reference modulus
-			   = Coefficient_zero());
+/* Automatically generated from PPL source file ../src/Grid_Certificate.defs.hh line 27. */
 
-  /*! \brief
-    Assigns to \p *this the preimage of \p *this with respect to the
-    \ref Grid_Generalized_Image "generalized affine relation"
-    \f$\mathrm{var}' = \frac{\mathrm{expr}}{\mathrm{denominator}}
-    \pmod{\mathrm{modulus}}\f$.
+/* Automatically generated from PPL source file ../src/Grid_Certificate.defs.hh line 31. */
+#include <vector>
 
-    \param var
-    The left hand side variable of the generalized affine relation;
+//! The convergence certificate for the Grid widening operator.
+/*! \ingroup PPL_CXX_interface
+  Convergence certificates are used to instantiate the BHZ03 framework
+  so as to define widening operators for the finite powerset domain.
 
-    \param relsym
-    The relation symbol where EQUAL is the symbol for a congruence
-    relation;
+  \note
+  Each convergence certificate has to be used together with a
+  compatible widening operator. In particular, Grid_Certificate can
+  certify the Grid widening.
+*/
+class Parma_Polyhedra_Library::Grid_Certificate {
+public:
+  //! Default constructor.
+  Grid_Certificate();
 
-    \param expr
-    The numerator of the right hand side affine expression;
+  //! Constructor: computes the certificate for \p gr.
+  Grid_Certificate(const Grid& gr);
 
-    \param denominator
-    The denominator of the right hand side affine expression.
-    Optional argument with an automatic value of one;
+  //! Copy constructor.
+  Grid_Certificate(const Grid_Certificate& y);
 
-    \param modulus
-    The modulus of the congruence lhs %= rhs.  A modulus of zero
-    indicates lhs == rhs.  Optional argument with an automatic value
-    of zero.
+  //! Destructor.
+  ~Grid_Certificate();
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p expr and \p *this are
-    dimension-incompatible or if \p var is not a space dimension of \p
-    *this.
+  //! The comparison function for certificates.
+  /*!
+    \return
+    \f$-1\f$, \f$0\f$ or \f$1\f$ depending on whether \p *this
+    is smaller than, equal to, or greater than \p y, respectively.
   */
-  void
-  generalized_affine_preimage(Variable var,
-			      Relation_Symbol relsym,
-			      const Linear_Expression& expr,
-			      Coefficient_traits::const_reference denominator
-			      = Coefficient_one(),
-			      Coefficient_traits::const_reference modulus
-			      = Coefficient_zero());
+  int compare(const Grid_Certificate& y) const;
+
+  //! Compares \p *this with the certificate for grid \p gr.
+  int compare(const Grid& gr) const;
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
   /*! \brief
-    Assigns to \p *this the image of \p *this with respect to
-    the \ref Grid_Generalized_Image "generalized affine relation"
-    \f$\mathrm{lhs}' = \mathrm{rhs} \pmod{\mathrm{modulus}}\f$.
+    Returns <CODE>true</CODE> if and only if the certificate for grid
+    \p gr is strictly smaller than \p *this.
+  */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  bool is_stabilizing(const Grid& gr) const;
 
-    \param lhs
-    The left hand side affine expression.
+  //! A total ordering on Grid certificates.
+  /*!
+    This binary predicate defines a total ordering on Grid certificates
+    which is used when storing information about sets of grids.
+  */
+  struct Compare {
+    //! Returns <CODE>true</CODE> if and only if \p x comes before \p y.
+    bool operator()(const Grid_Certificate& x,
+		    const Grid_Certificate& y) const;
+  };
 
-    \param relsym
-    The relation symbol where EQUAL is the symbol for a congruence
-    relation;
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! Check if gathered information is meaningful.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  bool OK() const;
 
-    \param rhs
-    The right hand side affine expression.
+private:
+  //! Number of a equalities in a minimized congruence system for the
+  //! grid.
+  dimension_type num_equalities;
+  //! Number of a proper congruences in a minimized congruence system
+  //! for the grid.
+  dimension_type num_proper_congruences;
+};
 
-    \param modulus
-    The modulus of the congruence lhs %= rhs.  A modulus of zero
-    indicates lhs == rhs.  Optional argument with an automatic value
-    of zero.
+/* Automatically generated from PPL source file ../src/Grid_Certificate.inlines.hh line 1. */
+/* Grid_Certificate class implementation: inline functions.
+*/
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p lhs or \p
-    rhs.
-  */
-  void
-  generalized_affine_image(const Linear_Expression& lhs,
-			   Relation_Symbol relsym,
-			   const Linear_Expression& rhs,
-			   Coefficient_traits::const_reference modulus
-			   = Coefficient_zero());
 
-  /*! \brief
-    Assigns to \p *this the preimage of \p *this with respect to the
-    \ref Grid_Generalized_Image "generalized affine relation"
-    \f$\mathrm{lhs}' = \mathrm{rhs} \pmod{\mathrm{modulus}}\f$.
+namespace Parma_Polyhedra_Library {
 
-    \param lhs
-    The left hand side affine expression;
+inline
+Grid_Certificate::Grid_Certificate()
+  : num_equalities(0), num_proper_congruences(0) {
+  // This is the certificate for a zero-dim universe grid.
+  PPL_ASSERT(OK());
+}
 
-    \param relsym
-    The relation symbol where EQUAL is the symbol for a congruence
-    relation;
+inline
+Grid_Certificate::Grid_Certificate(const Grid_Certificate& y)
+  : num_equalities(y.num_equalities),
+    num_proper_congruences(y.num_proper_congruences) {
+}
 
-    \param rhs
-    The right hand side affine expression;
+inline
+Grid_Certificate::~Grid_Certificate() {
+}
 
-    \param modulus
-    The modulus of the congruence lhs %= rhs.  A modulus of zero
-    indicates lhs == rhs.  Optional argument with an automatic value
-    of zero.
+inline bool
+Grid_Certificate::is_stabilizing(const Grid& gr) const {
+  return compare(gr) == 1;
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p lhs or \p
-    rhs.
-  */
-  void
-  generalized_affine_preimage(const Linear_Expression& lhs,
-			      Relation_Symbol relsym,
-			      const Linear_Expression& rhs,
-			      Coefficient_traits::const_reference modulus
-			      = Coefficient_zero());
+inline bool
+Grid_Certificate::Compare::operator()(const Grid_Certificate& x,
+				      const Grid_Certificate& y) const {
+  // For an efficient evaluation of the multiset ordering based
+  // on this lgo relation, we want larger elements to come first.
+  return x.compare(y) == 1;
+}
 
-  /*!
-    \brief
-    Assigns to \p *this the image of \p *this with respect to the
-    \ref Single_Update_Bounded_Affine_Relations "bounded affine relation"
-    \f$\frac{\mathrm{lb\_expr}}{\mathrm{denominator}}
-         \leq \mathrm{var}'
-           \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
+} // namespace Parma_Polyhedra_Library
 
-    \param var
-    The variable updated by the affine relation;
+/* Automatically generated from PPL source file ../src/Grid_Certificate.defs.hh line 102. */
 
-    \param lb_expr
-    The numerator of the lower bounding affine expression;
+/* Automatically generated from PPL source file ../src/Partial_Function.defs.hh line 1. */
+/* Partial_Function class declaration.
+*/
 
-    \param ub_expr
-    The numerator of the upper bounding affine expression;
 
-    \param denominator
-    The (common) denominator for the lower and upper bounding
-    affine expressions (optional argument with default value 1).
+/* Automatically generated from PPL source file ../src/Partial_Function.types.hh line 1. */
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
-    and \p *this are dimension-incompatible or if \p var is not a space
-    dimension of \p *this.
-  */
-  void bounded_affine_image(Variable var,
-			    const Linear_Expression& lb_expr,
-			    const Linear_Expression& ub_expr,
-			    Coefficient_traits::const_reference denominator
-			    = Coefficient_one());
 
-  /*!
-    \brief
-    Assigns to \p *this the preimage of \p *this with respect to the
-    \ref Single_Update_Bounded_Affine_Relations "bounded affine relation"
-    \f$\frac{\mathrm{lb\_expr}}{\mathrm{denominator}}
-         \leq \mathrm{var}'
-           \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
+namespace Parma_Polyhedra_Library {
 
-    \param var
-    The variable updated by the affine relation;
+class Partial_Function;
 
-    \param lb_expr
-    The numerator of the lower bounding affine expression;
+} // namespace Parma_Polyhedra_Library
 
-    \param ub_expr
-    The numerator of the upper bounding affine expression;
+/* Automatically generated from PPL source file ../src/Partial_Function.defs.hh line 28. */
+#include <vector>
+#ifndef NDEBUG
+#include <set>
+#endif
+#include <iosfwd>
 
-    \param denominator
-    The (common) denominator for the lower and upper bounding
-    affine expressions (optional argument with default value 1).
+namespace Parma_Polyhedra_Library {
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
-    and \p *this are dimension-incompatible or if \p var is not a space
-    dimension of \p *this.
+class Partial_Function {
+public:
+  /*! \brief
+    Default constructor: builds a function with empty codomain
+    (i.e., always undefined).
   */
-  void bounded_affine_preimage(Variable var,
-			       const Linear_Expression& lb_expr,
-			       const Linear_Expression& ub_expr,
-			       Coefficient_traits::const_reference denominator
-			       = Coefficient_one());
+  Partial_Function();
 
   /*! \brief
-    Assigns to \p *this the result of computing the \ref Grid_Time_Elapse
-    "time-elapse" between \p *this and \p y.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
+    Returns \c true if and only if the represented partial function
+    has an empty codomain (i.e., it is always undefined).
   */
-  void time_elapse_assign(const Grid& y);
-
-  //! Assigns to \p *this its topological closure.
-  void topological_closure_assign();
+  bool has_empty_codomain() const;
 
   /*! \brief
-    Assigns to \p *this the result of computing the \ref Grid_Widening
-    "Grid widening" between \p *this and \p y using congruence systems.
-
-    \param y
-    A grid that <EM>must</EM> be contained in \p *this;
-
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Grid_Widening_with_Tokens "widening with tokens" delay technique).
+    If the codomain is \e not empty, returns the maximum value in it.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
+    \exception std::runtime_error
+    Thrown if called when \p *this has an empty codomain.
   */
-  void congruence_widening_assign(const Grid& y, unsigned* tp = NULL);
+  dimension_type max_in_codomain() const;
 
   /*! \brief
-    Assigns to \p *this the result of computing the \ref Grid_Widening
-    "Grid widening" between \p *this and \p y using generator systems.
-
-    \param y
-    A grid that <EM>must</EM> be contained in \p *this;
-
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Grid_Widening_with_Tokens "widening with tokens" delay technique).
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
+    If \p *this maps \p i to a value \c k, assigns \c k to \p j and
+    returns \c true; otherwise, \p j is unchanged and \c false is returned.
   */
-  void generator_widening_assign(const Grid& y, unsigned* tp = NULL);
+  bool maps(dimension_type i, dimension_type& j) const;
+
+  void print(std::ostream& s) const;
 
   /*! \brief
-    Assigns to \p *this the result of computing the \ref Grid_Widening
-    "Grid widening" between \p *this and \p y.
+    Modifies \p *this so that \p i is mapped to \p j.
 
-    This widening uses either the congruence or generator systems
-    depending on which of the systems describing x and y
-    are up to date and minimized.
+    \exception std::runtime_error
+    Thrown if \p *this is already mapping \p j.
+  */
+  void insert(dimension_type i, dimension_type j);
 
-    \param y
-    A grid that <EM>must</EM> be contained in \p *this;
+private:
+  std::vector<dimension_type> vec;
+  dimension_type max;
+#ifndef NDEBUG
+  std::set<dimension_type> codomain;
+#endif
+}; // class Partial_Function
 
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Grid_Widening_with_Tokens "widening with tokens" delay technique).
+} // namespace Parma_Polyhedra_Library
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void widening_assign(const Grid& y, unsigned* tp = NULL);
+/* Automatically generated from PPL source file ../src/Partial_Function.inlines.hh line 1. */
+/* Partial_Function class implementation: inline functions.
+*/
 
-  /*! \brief
-    Improves the result of the congruence variant of
-    \ref Grid_Widening "Grid widening" computation by also enforcing
-    those congruences in \p cgs that are satisfied by all the points
-    of \p *this.
 
-    \param y
-    A grid that <EM>must</EM> be contained in \p *this;
+#include <stdexcept>
+#include <cassert>
 
-    \param cgs
-    The system of congruences used to improve the widened grid;
+namespace Parma_Polyhedra_Library {
 
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Grid_Widening_with_Tokens "widening with tokens" delay technique).
+inline
+Partial_Function::Partial_Function()
+  : max(0) {
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this, \p y and \p cs are dimension-incompatible.
-  */
-  void limited_congruence_extrapolation_assign(const Grid& y,
-					       const Congruence_System& cgs,
-					       unsigned* tp = NULL);
+inline bool
+Partial_Function::has_empty_codomain() const {
+  PPL_ASSERT(vec.empty() == codomain.empty());
+  return vec.empty();
+}
 
-  /*! \brief
-    Improves the result of the generator variant of the
-    \ref Grid_Widening "Grid widening"
-    computation by also enforcing those congruences in \p cgs that are
-    satisfied by all the points of \p *this.
+inline dimension_type
+Partial_Function::max_in_codomain() const {
+  if (has_empty_codomain())
+    throw std::runtime_error("Partial_Function::max_in_codomain() called"
+			     " when has_empty_codomain()");
+  PPL_ASSERT(codomain.begin() != codomain.end()
+             && max == *codomain.rbegin());
+  return max;
+}
 
-    \param y
-    A grid that <EM>must</EM> be contained in \p *this;
+inline void
+Partial_Function::insert(dimension_type i, dimension_type j) {
+#ifndef NDEBUG
+  // The partial function has to be an injective map.
+  std::pair<std::set<dimension_type>::iterator, bool> s = codomain.insert(j);
+  PPL_ASSERT(s.second);
+#endif // #ifndef NDEBUG
 
-    \param cgs
-    The system of congruences used to improve the widened grid;
+  // Expand `vec' if needed.
+  const dimension_type sz = vec.size();
+  if (i >= sz)
+    vec.insert(vec.end(), i - sz + 1, not_a_dimension());
 
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Grid_Widening_with_Tokens "widening with tokens" delay technique).
+  // We cannot remap the same index to another one.
+  PPL_ASSERT(i < vec.size() && vec[i] == not_a_dimension());
+  vec[i] = j;
 
-    \exception std::invalid_argument
-    Thrown if \p *this, \p y and \p cs are dimension-incompatible.
-  */
-  void limited_generator_extrapolation_assign(const Grid& y,
-					      const Congruence_System& cgs,
-					      unsigned* tp = NULL);
+  // Maybe update `max'.
+  if (j > max)
+    max = j;
+  PPL_ASSERT(codomain.begin() != codomain.end()
+             && max == *codomain.rbegin());
+}
 
-  /*! \brief
-    Improves the result of the \ref Grid_Widening "Grid widening"
-    computation by also enforcing those congruences in \p cgs that are
-    satisfied by all the points of \p *this.
+inline bool
+Partial_Function::maps(dimension_type i, dimension_type& j) const {
+  if (i >= vec.size())
+    return false;
+  dimension_type vec_i = vec[i];
+  if (vec_i == not_a_dimension())
+    return false;
+  j = vec_i;
+  return true;
+}
 
-    \param y
-    A grid that <EM>must</EM> be contained in \p *this;
+} // namespace Parma_Polyhedra_Library
 
-    \param cgs
-    The system of congruences used to improve the widened grid;
+/* Automatically generated from PPL source file ../src/Partial_Function.defs.hh line 85. */
 
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Grid_Widening_with_Tokens "widening with tokens" delay technique).
+/* Automatically generated from PPL source file ../src/Widening_Function.defs.hh line 1. */
+/* Widening_Function class declaration.
+*/
 
-    \exception std::invalid_argument
-    Thrown if \p *this, \p y and \p cs are dimension-incompatible.
-  */
-  void limited_extrapolation_assign(const Grid& y,
-				    const Congruence_System& cgs,
-				    unsigned* tp = NULL);
 
-  //@} // Space Dimension Preserving Member Functions that May Modify [...]
+/* Automatically generated from PPL source file ../src/Widening_Function.types.hh line 1. */
 
-  //! \name Member Functions that May Modify the Dimension of the Vector Space
-  //@{
 
-  /*! \brief
-    Adds \p m new space dimensions and embeds the old grid in the new
-    vector space.
+namespace Parma_Polyhedra_Library {
 
-    \param m
-    The number of dimensions to add.
+template <typename PSET>
+class Widening_Function;
 
-    \exception std::length_error
-    Thrown if adding \p m new space dimensions would cause the vector
-    space to exceed dimension <CODE>max_space_dimension()</CODE>.
+template <typename PSET, typename CSYS>
+class Limited_Widening_Function;
 
-    The new space dimensions will be those having the highest indexes
-    in the new grid, which is characterized by a system of congruences
-    in which the variables which are the new dimensions can have any
-    value.  For instance, when starting from the grid \f$\cL \sseq
-    \Rset^2\f$ and adding a third space dimension, the result will be
-    the grid
-    \f[
-      \bigl\{\,
-        (x, y, z)^\transpose \in \Rset^3
-      \bigm|
-        (x, y)^\transpose \in \cL
-      \,\bigr\}.
-    \f]
-  */
-  void add_space_dimensions_and_embed(dimension_type m);
+} // namespace Parma_Polyhedra_Library
 
-  /*! \brief
-    Adds \p m new space dimensions to the grid and does not embed it
-    in the new vector space.
+/* Automatically generated from PPL source file ../src/Widening_Function.defs.hh line 28. */
 
-    \param m
-    The number of space dimensions to add.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Wraps a widening method into a function object.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename PSET>
+class Parma_Polyhedra_Library::Widening_Function {
+public:
+  //! The (parametric) type of a widening method.
+  typedef void (PSET::* Widening_Method)(const PSET&, unsigned*);
 
-    \exception std::length_error
-    Thrown if adding \p m new space dimensions would cause the
-    vector space to exceed dimension <CODE>max_space_dimension()</CODE>.
+  //! Explicit unary constructor.
+  explicit
+  Widening_Function(Widening_Method wm);
 
-    The new space dimensions will be those having the highest indexes
-    in the new grid, which is characterized by a system of congruences
-    in which the variables running through the new dimensions are all
-    constrained to be equal to 0.  For instance, when starting from
-    the grid \f$\cL \sseq \Rset^2\f$ and adding a third space
-    dimension, the result will be the grid
-    \f[
-      \bigl\{\,
-        (x, y, 0)^\transpose \in \Rset^3
-      \bigm|
-        (x, y)^\transpose \in \cL
-      \,\bigr\}.
-    \f]
+  //! Function-application operator.
+  /*!
+    Computes <CODE>(x.*wm)(y, tp)</CODE>, where \p wm is the widening
+    method stored at construction time.
   */
-  void add_space_dimensions_and_project(dimension_type m);
+  void operator()(PSET& x, const PSET& y, unsigned* tp = 0) const;
 
-  /*! \brief
-    Assigns to \p *this the \ref Grid_Concatenate "concatenation" of
-    \p *this and \p y, taken in this order.
+private:
+  //! The widening method.
+  Widening_Method w_method;
+};
 
-    \exception std::length_error
-    Thrown if the concatenation would cause the vector space
-    to exceed dimension <CODE>max_space_dimension()</CODE>.
-  */
-  void concatenate_assign(const Grid& y);
 
-  //! Removes all the specified dimensions from the vector space.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Wraps a limited widening method into a function object.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename PSET, typename CSYS>
+class Parma_Polyhedra_Library::Limited_Widening_Function {
+public:
+  //! The (parametric) type of a limited widening method.
+  typedef void (PSET::* Limited_Widening_Method)(const PSET&,
+                                                 const CSYS&,
+                                                 unsigned*);
+
+  //! Constructor.
   /*!
-    \param to_be_removed
-    The set of Variable objects corresponding to the space dimensions
-    to be removed.
+    \param lwm
+    The limited widening method.
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p to_be_removed.
+    \param cs
+    The constraint system limiting the widening.
   */
-  void remove_space_dimensions(const Variables_Set& to_be_removed);
-
-  /*! \brief
-    Removes the higher dimensions of the vector space so that the
-    resulting space will have dimension \p new_dimension.
+  Limited_Widening_Function(Limited_Widening_Method lwm,
+			    const CSYS& cs);
 
-    \exception std::invalid_argument
-    Thrown if \p new_dimensions is greater than the space dimension of
-    \p *this.
+  //! Function-application operator.
+  /*!
+    Computes <CODE>(x.*lwm)(y, cs, tp)</CODE>, where \p lwm and \p cs
+    are the limited widening method and the constraint system stored
+    at construction time.
   */
-  void remove_higher_space_dimensions(dimension_type new_dimension);
-
-  /*! \brief
-    Remaps the dimensions of the vector space according to
-    a \ref Grid_Map_Space_Dimensions "partial function".
+  void operator()(PSET& x, const PSET& y, unsigned* tp = 0) const;
 
-    If \p pfunc maps only some of the dimensions of \p *this then the
-    rest will be projected away.
+private:
+  //! The limited widening method.
+  Limited_Widening_Method lw_method;
+  //! A constant reference to the constraint system limiting the widening.
+  const CSYS& limiting_cs;
+};
 
-    If the highest dimension mapped to by \p pfunc is higher than the
-    highest dimension in \p *this then the number of dimensions in \p
-    *this will be increased to the highest dimension mapped to by \p
-    pfunc.
+namespace Parma_Polyhedra_Library {
 
-    \param pfunc
-    The partial function specifying the destiny of each space
-    dimension.
+//! Wraps a widening method into a function object.
+/*!
+  \relates Pointset_Powerset
 
-    The template class Partial_Function must provide the following
-    methods.
-    \code
-      bool has_empty_codomain() const
-    \endcode
-    returns <CODE>true</CODE> if and only if the represented partial
-    function has an empty codomain (i.e., it is always undefined).
-    The <CODE>has_empty_codomain()</CODE> method will always be called
-    before the methods below.  However, if
-    <CODE>has_empty_codomain()</CODE> returns <CODE>true</CODE>, none
-    of the functions below will be called.
-    \code
-      dimension_type max_in_codomain() const
-    \endcode
-    returns the maximum value that belongs to the codomain of the
-    partial function.
-    The <CODE>max_in_codomain()</CODE> method is called at most once.
-    \code
-      bool maps(dimension_type i, dimension_type& j) const
-    \endcode
-    Let \f$f\f$ be the represented function and \f$k\f$ be the value
-    of \p i.  If \f$f\f$ is defined in \f$k\f$, then \f$f(k)\f$ is
-    assigned to \p j and <CODE>true</CODE> is returned.  If \f$f\f$ is
-    undefined in \f$k\f$, then <CODE>false</CODE> is returned.
-    This method is called at most \f$n\f$ times, where \f$n\f$ is the
-    dimension of the vector space enclosing the grid.
+  \param wm
+  The widening method.
+*/
+template <typename PSET>
+Widening_Function<PSET>
+widen_fun_ref(void (PSET::* wm)(const PSET&, unsigned*));
 
-    The result is undefined if \p pfunc does not encode a partial
-    function with the properties described in the
-    \ref Grid_Map_Space_Dimensions "specification of the mapping operator".
-  */
-  template <typename Partial_Function>
-  void map_space_dimensions(const Partial_Function& pfunc);
+//! Wraps a limited widening method into a function object.
+/*!
+  \relates Pointset_Powerset
 
-  //! Creates \p m copies of the space dimension corresponding to \p var.
-  /*!
-    \param var
-    The variable corresponding to the space dimension to be replicated;
+  \param lwm
+  The limited widening method.
 
-    \param m
-    The number of replicas to be created.
+  \param cs
+  The constraint system limiting the widening.
+*/
+template <typename PSET, typename CSYS>
+Limited_Widening_Function<PSET, CSYS>
+widen_fun_ref(void (PSET::* lwm)(const PSET&, const CSYS&, unsigned*),
+	      const CSYS& cs);
 
-    \exception std::invalid_argument
-    Thrown if \p var does not correspond to a dimension of the vector
-    space.
+} // namespace Parma_Polyhedra_Library
 
-    \exception std::length_error
-    Thrown if adding \p m new space dimensions would cause the vector
-    space to exceed dimension <CODE>max_space_dimension()</CODE>.
+/* Automatically generated from PPL source file ../src/Widening_Function.inlines.hh line 1. */
+/* Widening_Function class implementation: inline functions.
+*/
 
-    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    and <CODE>var</CODE> has space dimension \f$k \leq n\f$,
-    then the \f$k\f$-th space dimension is
-    \ref Grid_Expand_Space_Dimension "expanded" to \p m new space dimensions
-    \f$n\f$, \f$n+1\f$, \f$\dots\f$, \f$n+m-1\f$.
-  */
-  void expand_space_dimension(Variable var, dimension_type m);
 
-  //! Folds the space dimensions in \p to_be_folded into \p var.
-  /*!
-    \param to_be_folded
-    The set of Variable objects corresponding to the space dimensions
-    to be folded;
+/* Automatically generated from PPL source file ../src/Widening_Function.inlines.hh line 27. */
 
-    \param var
-    The variable corresponding to the space dimension that is the
-    destination of the folding operation.
+namespace Parma_Polyhedra_Library {
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p var or with
-    one of the Variable objects contained in \p to_be_folded.  Also
-    thrown if \p var is contained in \p to_be_folded.
+template <typename PSET>
+Widening_Function<PSET>::Widening_Function(Widening_Method wm)
+  : w_method(wm) {
+}
 
-    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    <CODE>var</CODE> has space dimension \f$k \leq n\f$,
-    \p to_be_folded is a set of variables whose maximum space dimension
-    is also less than or equal to \f$n\f$, and \p var is not a member
-    of \p to_be_folded, then the space dimensions corresponding to
-    variables in \p to_be_folded are \ref Grid_Fold_Space_Dimensions "folded"
-    into the \f$k\f$-th space dimension.
-  */
-  void fold_space_dimensions(const Variables_Set& to_be_folded, Variable var);
+template <typename PSET>
+inline void
+Widening_Function<PSET>::
+operator()(PSET& x, const PSET& y, unsigned* tp) const {
+  (x.*w_method)(y, tp);
+}
 
-  //@} // Member Functions that May Modify the Dimension of the Vector Space
+template <typename PSET, typename CSYS>
+Limited_Widening_Function<PSET, CSYS>::
+Limited_Widening_Function(Limited_Widening_Method lwm,
+			  const CSYS& cs)
+  : lw_method(lwm), limiting_cs(cs) {
+}
 
-  friend bool operator==(const Grid& x, const Grid& y);
+template <typename PSET, typename CSYS>
+inline void
+Limited_Widening_Function<PSET, CSYS>::
+operator()(PSET& x, const PSET& y, unsigned* tp) const {
+  (x.*lw_method)(y, limiting_cs, tp);
+}
 
-  friend class Parma_Polyhedra_Library::Grid_Certificate;
+/*! \relates Pointset_Powerset */
+template <typename PSET>
+inline Widening_Function<PSET>
+widen_fun_ref(void (PSET::* wm)(const PSET&, unsigned*)) {
+  return Widening_Function<PSET>(wm);
+}
 
-  template <typename Interval> friend class Parma_Polyhedra_Library::Box;
+/*! \relates Pointset_Powerset */
+template <typename PSET, typename CSYS>
+inline Limited_Widening_Function<PSET, CSYS>
+widen_fun_ref(void (PSET::* lwm)(const PSET&, const CSYS&, unsigned*),
+	      const CSYS& cs) {
+  return Limited_Widening_Function<PSET, CSYS>(lwm, cs);
+}
 
-  //! \name Miscellaneous Member Functions
-  //@{
+} // namespace Parma_Polyhedra_Library
 
-  //! Destructor.
-  ~Grid();
 
-  /*! \brief
-    Swaps \p *this with grid \p y.  (\p *this and \p y can be
-    dimension-incompatible.)
-  */
-  void swap(Grid& y);
+/* Automatically generated from PPL source file ../src/Widening_Function.defs.hh line 125. */
 
-  PPL_OUTPUT_DECLARATIONS
+/* Automatically generated from PPL source file ../src/max_space_dimension.hh line 1. */
+/* Definition of functions yielding maximal space dimensions.
+*/
 
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-  */
-  bool ascii_load(std::istream& s);
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
+/* Automatically generated from PPL source file ../src/C_Polyhedron.defs.hh line 1. */
+/* C_Polyhedron class declaration.
+*/
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
 
-  /*! \brief
-    Returns a 32-bit hash code for \p *this.
+/* Automatically generated from PPL source file ../src/C_Polyhedron.types.hh line 1. */
 
-    If \p x and \p y are such that <CODE>x == y</CODE>,
-    then <CODE>x.hash_code() == y.hash_code()</CODE>.
-  */
-  int32_t hash_code() const;
 
-  //@} // Miscellaneous Member Functions
+namespace Parma_Polyhedra_Library {
 
-private:
+class C_Polyhedron;
 
-  //! The system of congruences.
-  Congruence_System con_sys;
+} // namespace Parma_Polyhedra_Library
 
-  //! The system of generators.
-  Grid_Generator_System gen_sys;
+/* Automatically generated from PPL source file ../src/NNC_Polyhedron.types.hh line 1. */
 
-#define PPL_IN_Grid_CLASS
-/* Automatically generated from PPL source file ../src/Grid_Status.idefs.hh line 1. */
-/* Grid::Status class declaration.
-*/
 
+namespace Parma_Polyhedra_Library {
 
-#ifndef PPL_IN_Grid_CLASS
-#error "Do not include Grid_Status.idefs.hh directly; use Grid.defs.hh instead."
-#endif
+class NNC_Polyhedron;
 
-//! A conjunctive assertion about a grid.
-/*!
-  The assertions supported that are in use are:
-  - <EM>zero-dim universe</EM>: the grid is the zero-dimension
-    vector space \f$\Rset^0 = \{\cdot\}\f$;
-  - <EM>empty</EM>: the grid is the empty set;
-  - <EM>congruences up-to-date</EM>: the grid is correctly
-    characterized by the attached system of congruences, modulo the
-    processing of pending generators;
-  - <EM>generators up-to-date</EM>: the grid is correctly
-    characterized by the attached system of generators, modulo the
-    processing of pending congruences;
-  - <EM>congruences minimized</EM>: the non-pending part of the system
-    of congruences attached to the grid is in minimal form;
-  - <EM>generators minimized</EM>: the non-pending part of the system
-    of generators attached to the grid is in minimal form.
+} // namespace Parma_Polyhedra_Library
 
-  Other supported assertions are:
-  - <EM>congruences pending</EM>
-  - <EM>generators pending</EM>
-  - <EM>congruences' saturation matrix up-to-date</EM>
-  - <EM>generators' saturation matrix up-to-date</EM>.
+/* Automatically generated from PPL source file ../src/C_Polyhedron.defs.hh line 32. */
 
-  Not all the conjunctions of these elementary assertions constitute
-  a legal Status.  In fact:
-  - <EM>zero-dim universe</EM> excludes any other assertion;
-  - <EM>empty</EM>: excludes any other assertion;
-  - <EM>congruences pending</EM> and <EM>generators pending</EM>
-    are mutually exclusive;
-  - <EM>congruences pending</EM> implies both <EM>congruences minimized</EM>
-    and <EM>generators minimized</EM>;
-  - <EM>generators pending</EM> implies both <EM>congruences minimized</EM>
-    and <EM>generators minimized</EM>;
-  - <EM>congruences minimized</EM> implies <EM>congruences up-to-date</EM>;
-  - <EM>generators minimized</EM> implies <EM>generators up-to-date</EM>;
-  - <EM>congruences' saturation matrix up-to-date</EM> implies both
-    <EM>congruences up-to-date</EM> and <EM>generators up-to-date</EM>;
-  - <EM>generators' saturation matrix up-to-date</EM> implies both
-    <EM>congruences up-to-date</EM> and <EM>generators up-to-date</EM>.
-*/
-class Status {
-public:
-  //! By default Status is the <EM>zero-dim universe</EM> assertion.
-  Status();
+//! A closed convex polyhedron.
+/*! \ingroup PPL_CXX_interface
+    An object of the class C_Polyhedron represents a
+    <EM>topologically closed</EM> convex polyhedron
+    in the vector space \f$\Rset^n\f$.
 
-  //! \name Test, remove or add an individual assertion from the conjunction
-  //@{
-  bool test_zero_dim_univ() const;
-  void reset_zero_dim_univ();
-  void set_zero_dim_univ();
+    When building a closed polyhedron starting from
+    a system of constraints, an exception is thrown if the system
+    contains a <EM>strict inequality</EM> constraint.
+    Similarly, an exception is thrown when building a closed polyhedron
+    starting from a system of generators containing a <EM>closure point</EM>.
 
-  bool test_empty() const;
-  void reset_empty();
-  void set_empty();
+    \note
+    Such an exception will be obtained even if the system of
+    constraints (resp., generators) actually defines
+    a topologically closed subset of the vector space, i.e.,
+    even if all the strict inequalities (resp., closure points)
+    in the system happen to be redundant with respect to the
+    system obtained by removing all the strict inequality constraints
+    (resp., all the closure points).
+    In contrast, when building a closed polyhedron starting from
+    an object of the class NNC_Polyhedron,
+    the precise topological closure test will be performed.
+*/
 
-  bool test_c_up_to_date() const;
-  void reset_c_up_to_date();
-  void set_c_up_to_date();
+class Parma_Polyhedra_Library::C_Polyhedron : public Polyhedron {
+public:
+  //! Builds either the universe or the empty C polyhedron.
+  /*!
+    \param num_dimensions
+    The number of dimensions of the vector space enclosing the C polyhedron;
 
-  bool test_g_up_to_date() const;
-  void reset_g_up_to_date();
-  void set_g_up_to_date();
+    \param kind
+    Specifies whether a universe or an empty C polyhedron should be built.
 
-  bool test_c_minimized() const;
-  void reset_c_minimized();
-  void set_c_minimized();
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space dimension.
 
-  bool test_g_minimized() const;
-  void reset_g_minimized();
-  void set_g_minimized();
+    Both parameters are optional:
+    by default, a 0-dimension space universe C polyhedron is built.
+  */
+  explicit C_Polyhedron(dimension_type num_dimensions = 0,
+			Degenerate_Element kind = UNIVERSE);
 
-  bool test_sat_c_up_to_date() const;
-  void reset_sat_c_up_to_date();
-  void set_sat_c_up_to_date();
+  //! Builds a C polyhedron from a system of constraints.
+  /*!
+    The polyhedron inherits the space dimension of the constraint system.
 
-  bool test_sat_g_up_to_date() const;
-  void reset_sat_g_up_to_date();
-  void set_sat_g_up_to_date();
+    \param cs
+    The system of constraints defining the polyhedron.
 
-  bool test_c_pending() const;
-  void reset_c_pending();
-  void set_c_pending();
+    \exception std::invalid_argument
+    Thrown if the system of constraints contains strict inequalities.
+  */
+  explicit C_Polyhedron(const Constraint_System& cs);
 
-  bool test_g_pending() const;
-  void reset_g_pending();
-  void set_g_pending();
-  //@} // Test, remove or add an individual assertion from the conjunction
+  //! Builds a C polyhedron recycling a system of constraints.
+  /*!
+    The polyhedron inherits the space dimension of the constraint system.
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+    \param cs
+    The system of constraints defining the polyhedron.  It is not
+    declared <CODE>const</CODE> because its data-structures may be
+    recycled to build the polyhedron.
 
-  PPL_OUTPUT_DECLARATIONS
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
 
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+    \exception std::invalid_argument
+    Thrown if the system of constraints contains strict inequalities.
   */
-  bool ascii_load(std::istream& s);
-
-private:
-  //! Status is implemented by means of a finite bitset.
-  typedef unsigned int flags_t;
+  C_Polyhedron(Constraint_System& cs, Recycle_Input dummy);
 
-  //! \name Bitmasks for the individual assertions
-  //@{
-  static const flags_t ZERO_DIM_UNIV    = 0U;
-  static const flags_t EMPTY            = 1U << 0;
-  static const flags_t C_UP_TO_DATE     = 1U << 1;
-  static const flags_t G_UP_TO_DATE     = 1U << 2;
-  static const flags_t C_MINIMIZED      = 1U << 3;
-  static const flags_t G_MINIMIZED      = 1U << 4;
-  static const flags_t SAT_C_UP_TO_DATE = 1U << 5;
-  static const flags_t SAT_G_UP_TO_DATE = 1U << 6;
-  static const flags_t CS_PENDING       = 1U << 7;
-  static const flags_t GS_PENDING       = 1U << 8;
-  //@} // Bitmasks for the individual assertions
+  //! Builds a C polyhedron from a system of generators.
+  /*!
+    The polyhedron inherits the space dimension of the generator system.
 
-  //! This holds the current bitset.
-  flags_t flags;
+    \param gs
+    The system of generators defining the polyhedron.
 
-  //! Construct from a bitmask.
-  Status(flags_t mask);
+    \exception std::invalid_argument
+    Thrown if the system of generators is not empty but has no points,
+    or if it contains closure points.
+  */
+  explicit C_Polyhedron(const Generator_System& gs);
 
-  //! Check whether <EM>all</EM> bits in \p mask are set.
-  bool test_all(flags_t mask) const;
+  //! Builds a C polyhedron recycling a system of generators.
+  /*!
+    The polyhedron inherits the space dimension of the generator system.
 
-  //! Check whether <EM>at least one</EM> bit in \p mask is set.
-  bool test_any(flags_t mask) const;
+    \param gs
+    The system of generators defining the polyhedron.  It is not
+    declared <CODE>const</CODE> because its data-structures may be
+    recycled to build the polyhedron.
 
-  //! Set the bits in \p mask.
-  void set(flags_t mask);
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
 
-  //! Reset the bits in \p mask.
-  void reset(flags_t mask);
-};
+    \exception std::invalid_argument
+    Thrown if the system of generators is not empty but has no points,
+    or if it contains closure points.
+  */
+  C_Polyhedron(Generator_System& gs, Recycle_Input dummy);
 
-/* Automatically generated from PPL source file ../src/Grid.defs.hh line 2166. */
-#undef PPL_IN_Grid_CLASS
+  //! Builds a C polyhedron from a system of congruences.
+  /*!
+    The polyhedron inherits the space dimension of the congruence system.
 
-  //! The status flags to keep track of the grid's internal state.
-  Status status;
+    \param cgs
+    The system of congruences defining the polyhedron.
+  */
+  explicit C_Polyhedron(const Congruence_System& cgs);
 
-  //! The number of dimensions of the enclosing vector space.
-  dimension_type space_dim;
+  //! Builds a C polyhedron recycling a system of congruences.
+  /*!
+    The polyhedron inherits the space dimension of the congruence
+    system.
 
-  enum Dimension_Kind {
-    PARAMETER,
-    LINE,
-    GEN_VIRTUAL,
-    PROPER_CONGRUENCE = PARAMETER,
-    CON_VIRTUAL = LINE,
-    EQUALITY = GEN_VIRTUAL
-  };
+    \param cgs
+    The system of congruences defining the polyhedron.  It is not
+    declared <CODE>const</CODE> because its data-structures may be
+    recycled to build the polyhedron.
 
-  typedef std::vector<Dimension_Kind> Dimension_Kinds;
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
+  */
+  C_Polyhedron(Congruence_System& cgs, Recycle_Input dummy);
 
-  // The type of row associated with each dimension.  If the virtual
-  // rows existed then the reduced systems would be square and upper
-  // or lower triangular, and the rows in each would have the types
-  // given in this vector.  As the congruence system is reduced to an
-  // upside-down lower triangular form the ordering of the congruence
-  // types is last to first.
-  Dimension_Kinds dim_kinds;
+  /*! \brief
+    Builds a C polyhedron representing the topological closure
+    of the NNC polyhedron \p y.
 
-  //! Builds a grid universe or empty grid.
-  /*!
-    \param num_dimensions
-    The number of dimensions of the vector space enclosing the grid;
+    \param y
+    The NNC polyhedron to be used;
 
-    \param kind
-    specifies whether the universe or the empty grid has to be built.
+    \param complexity
+    This argument is ignored.
   */
-  void construct(dimension_type num_dimensions, Degenerate_Element kind);
+  explicit C_Polyhedron(const NNC_Polyhedron& y,
+                        Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Builds a grid from a system of congruences.
+  //! Builds a C polyhedron out of a box.
   /*!
-    The grid inherits the space dimension of the congruence system.
+    The polyhedron inherits the space dimension of the box
+    and is the most precise that includes the box.
+    The algorithm used has polynomial complexity.
 
-    \param cgs
-    The system of congruences defining the grid. Its data-structures
-    may be recycled to build the grid.
+    \param box
+    The box representing the polyhedron to be approximated;
+
+    \param complexity
+    This argument is ignored.
+
+    \exception std::length_error
+    Thrown if the space dimension of \p box exceeds the maximum allowed
+    space dimension.
   */
-  void construct(Congruence_System& cgs);
+  template <typename Interval>
+  explicit C_Polyhedron(const Box<Interval>& box,
+                        Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Builds a grid from a system of grid generators.
+  //! Builds a C polyhedron out of a BD shape.
   /*!
-    The grid inherits the space dimension of the generator system.
+    The polyhedron inherits the space dimension of the BDS and is
+    the most precise that includes the BDS.
 
-    \param ggs
-    The system of grid generators defining the grid.  Its data-structures
-    may be recycled to build the grid.
-  */
-  void construct(Grid_Generator_System& ggs);
+    \param bd
+    The BDS used to build the polyhedron.
 
-  //! \name Private Verifiers: Verify if Individual Flags are Set
-  //@{
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
+  */
+  template <typename U>
+  explicit C_Polyhedron(const BD_Shape<U>& bd,
+                        Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Returns <CODE>true</CODE> if the grid is known to be empty.
+  //! Builds a C polyhedron out of an octagonal shape.
   /*!
-    The return value <CODE>false</CODE> does not necessarily
-    implies that \p *this is non-empty.
-  */
-  bool marked_empty() const;
+    The polyhedron inherits the space dimension of the octagonal shape
+    and is the most precise that includes the octagonal shape.
 
-  //! Returns <CODE>true</CODE> if the system of congruences is up-to-date.
-  bool congruences_are_up_to_date() const;
+    \param os
+    The octagonal shape used to build the polyhedron.
 
-  //! Returns <CODE>true</CODE> if the system of generators is up-to-date.
-  bool generators_are_up_to_date() const;
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
+  */
+  template <typename U>
+  explicit C_Polyhedron(const Octagonal_Shape<U>& os,
+                        Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Returns <CODE>true</CODE> if the system of congruences is minimized.
-  bool congruences_are_minimized() const;
+  //! Builds a C polyhedron out of a grid.
+  /*!
+    The polyhedron inherits the space dimension of the grid
+    and is the most precise that includes the grid.
 
-  //! Returns <CODE>true</CODE> if the system of generators is minimized.
-  bool generators_are_minimized() const;
+    \param grid
+    The grid used to build the polyhedron.
 
-  //@} // Private Verifiers: Verify if Individual Flags are Set
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
+  */
+  explicit C_Polyhedron(const Grid& grid,
+                        Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! \name State Flag Setters: Set Only the Specified Flags
-  //@{
+  //! Ordinary copy constructor.
+  /*!
+    The complexity argument is ignored.
+  */
+  C_Polyhedron(const C_Polyhedron& y,
+               Complexity_Class complexity = ANY_COMPLEXITY);
 
   /*! \brief
-    Sets \p status to express that the grid is the universe
-    0-dimension vector space, clearing all corresponding matrices.
+    The assignment operator.
+    (\p *this and \p y can be dimension-incompatible.)
   */
-  void set_zero_dim_univ();
+  C_Polyhedron& operator=(const C_Polyhedron& y);
+
+  //! Assigns to \p *this the topological closure of the NNC polyhedron \p y.
+  C_Polyhedron& operator=(const NNC_Polyhedron& y);
+
+  //! Destructor.
+  ~C_Polyhedron();
 
   /*! \brief
-    Sets \p status to express that the grid is empty, clearing all
-    corresponding matrices.
+    If the poly-hull of \p *this and \p y is exact it is assigned
+    to \p *this and <CODE>true</CODE> is returned,
+    otherwise <CODE>false</CODE> is returned.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
   */
-  void set_empty();
+  bool poly_hull_assign_if_exact(const C_Polyhedron& y);
 
-  //! Sets \p status to express that congruences are up-to-date.
-  void set_congruences_up_to_date();
+  //! Same as poly_hull_assign_if_exact(y).
+  bool upper_bound_assign_if_exact(const C_Polyhedron& y);
+};
 
-  //! Sets \p status to express that generators are up-to-date.
-  void set_generators_up_to_date();
+/* Automatically generated from PPL source file ../src/C_Polyhedron.inlines.hh line 1. */
+/* C_Polyhedron class implementation: inline functions.
+*/
 
-  //! Sets \p status to express that congruences are minimized.
-  void set_congruences_minimized();
 
-  //! Sets \p status to express that generators are minimized.
-  void set_generators_minimized();
+#include <algorithm>
+#include <stdexcept>
 
-  //@} // State Flag Setters: Set Only the Specified Flags
+namespace Parma_Polyhedra_Library {
 
-  //! \name State Flag Cleaners: Clear Only the Specified Flag
-  //@{
+inline
+C_Polyhedron::~C_Polyhedron() {
+}
 
-  //! Clears the \p status flag indicating that the grid is empty.
-  void clear_empty();
+inline
+C_Polyhedron::C_Polyhedron(dimension_type num_dimensions,
+			   Degenerate_Element kind)
+  : Polyhedron(NECESSARILY_CLOSED,
+	       num_dimensions <= max_space_dimension()
+	       ? num_dimensions
+	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
+						 "C_Polyhedron(n, k)",
+						 "n exceeds the maximum "
+						 "allowed space dimension"),
+		  num_dimensions),
+	       kind) {
+}
 
-  //! Sets \p status to express that congruences are out of date.
-  void clear_congruences_up_to_date();
+inline
+C_Polyhedron::C_Polyhedron(const Constraint_System& cs)
+  : Polyhedron(NECESSARILY_CLOSED,
+	       cs.space_dimension() <= max_space_dimension()
+	       ? cs
+	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
+						 "C_Polyhedron(cs)",
+						 "the space dimension of cs "
+						 "exceeds the maximum allowed "
+						 "space dimension"), cs)) {
+}
 
-  //! Sets \p status to express that generators are out of date.
-  void clear_generators_up_to_date();
+inline
+C_Polyhedron::C_Polyhedron(Constraint_System& cs, Recycle_Input)
+  : Polyhedron(NECESSARILY_CLOSED,
+	       cs.space_dimension() <= max_space_dimension()
+	       ? cs
+	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
+						 "C_Polyhedron(cs, recycle)",
+						 "the space dimension of cs "
+						 "exceeds the maximum allowed "
+						 "space dimension"), cs),
+	       Recycle_Input()) {
+}
 
-  //! Sets \p status to express that congruences are no longer minimized.
-  void clear_congruences_minimized();
+inline
+C_Polyhedron::C_Polyhedron(const Generator_System& gs)
+  : Polyhedron(NECESSARILY_CLOSED,
+	       gs.space_dimension() <= max_space_dimension()
+	       ? gs
+	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
+						 "C_Polyhedron(gs)",
+						 "the space dimension of gs "
+						 "exceeds the maximum allowed "
+						 "space dimension"), gs)) {
+}
 
-  //! Sets \p status to express that generators are no longer minimized.
-  void clear_generators_minimized();
+inline
+C_Polyhedron::C_Polyhedron(Generator_System& gs, Recycle_Input)
+  : Polyhedron(NECESSARILY_CLOSED,
+	       gs.space_dimension() <= max_space_dimension()
+	       ? gs
+	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
+						 "C_Polyhedron(gs, recycle)",
+						 "the space dimension of gs "
+						 "exceeds the maximum allowed "
+						 "space dimension"), gs),
+	       Recycle_Input()) {
+}
 
-  //@} // State Flag Cleaners: Clear Only the Specified Flag
+template <typename Interval>
+inline
+C_Polyhedron::C_Polyhedron(const Box<Interval>& box, Complexity_Class)
+  : Polyhedron(NECESSARILY_CLOSED,
+	       box.space_dimension() <= max_space_dimension()
+	       ? box
+	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
+						 "C_Polyhedron(box): ",
+						 "the space dimension of box "
+						 "exceeds the maximum allowed "
+						 "space dimension"), box)) {
+}
 
-  //! \name Updating Matrices
-  //@{
+template <typename U>
+inline
+C_Polyhedron::C_Polyhedron(const BD_Shape<U>& bd, Complexity_Class)
+  : Polyhedron(NECESSARILY_CLOSED,
+	       bd.space_dimension() <= max_space_dimension()
+	       ? bd.space_dimension()
+	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
+						 "C_Polyhedron(bd): ",
+						 "the space dimension of bd "
+						 "exceeds the maximum allowed "
+						 "space dimension"), 0),
+               UNIVERSE) {
+  add_constraints(bd.constraints());
+}
 
-  //! Updates and minimizes the congruences from the generators.
-  void update_congruences() const;
+template <typename U>
+inline
+C_Polyhedron::C_Polyhedron(const Octagonal_Shape<U>& os, Complexity_Class)
+  : Polyhedron(NECESSARILY_CLOSED,
+	       os.space_dimension() <= max_space_dimension()
+	       ? os.space_dimension()
+	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
+						 "C_Polyhedron(os): ",
+						 "the space dimension of os "
+						 "exceeds the maximum allowed "
+						 "space dimension"), 0),
+               UNIVERSE) {
+  add_constraints(os.constraints());
+}
 
-  //! Updates and minimizes the generators from the congruences.
-  /*!
-    \return
-    <CODE>false</CODE> if and only if \p *this turns out to be an
-    empty grid.
+inline
+C_Polyhedron::C_Polyhedron(const C_Polyhedron& y, Complexity_Class)
+  : Polyhedron(y) {
+}
 
-    It is illegal to call this method when the Status field already
-    declares the grid to be empty.
-  */
-  bool update_generators() const;
+inline C_Polyhedron&
+C_Polyhedron::operator=(const C_Polyhedron& y) {
+  Polyhedron::operator=(y);
+  return *this;
+}
 
-  //@} // Updating Matrices
+inline C_Polyhedron&
+C_Polyhedron::operator=(const NNC_Polyhedron& y) {
+  C_Polyhedron c_y(y);
+  swap(c_y);
+  return *this;
+}
 
-  //! \name Minimization of Descriptions
-  //@{
+inline bool
+C_Polyhedron::upper_bound_assign_if_exact(const C_Polyhedron& y) {
+  return poly_hull_assign_if_exact(y);
+}
 
-  //! Minimizes both the congruences and the generators.
-  /*!
-    \return
-    <CODE>false</CODE> if and only if \p *this turns out to be an
-    empty grid.
+} // namespace Parma_Polyhedra_Library
 
-    Minimization is performed on each system only if the minimized
-    Status field is clear.
-  */
-  bool minimize() const;
+/* Automatically generated from PPL source file ../src/C_Polyhedron.defs.hh line 278. */
 
-  //@} // Minimization of Descriptions
+/* Automatically generated from PPL source file ../src/NNC_Polyhedron.defs.hh line 1. */
+/* NNC_Polyhedron class declaration.
+*/
 
-  enum Three_Valued_Boolean {
-    TVB_TRUE,
-    TVB_FALSE,
-    TVB_DONT_KNOW
-  };
 
-  //! Polynomial but incomplete equivalence test between grids.
-  Three_Valued_Boolean quick_equivalence_test(const Grid& y) const;
+/* Automatically generated from PPL source file ../src/NNC_Polyhedron.defs.hh line 30. */
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is included in \p y.
-  bool is_included_in(const Grid& y) const;
+//! A not necessarily closed convex polyhedron.
+/*! \ingroup PPL_CXX_interface
+    An object of the class NNC_Polyhedron represents a
+    <EM>not necessarily closed</EM> (NNC) convex polyhedron
+    in the vector space \f$\Rset^n\f$.
 
-  //! Checks if and how \p expr is bounded in \p *this.
+    \note
+    Since NNC polyhedra are a generalization of closed polyhedra,
+    any object of the class C_Polyhedron can be (explicitly) converted
+    into an object of the class NNC_Polyhedron.
+    The reason for defining two different classes is that objects of
+    the class C_Polyhedron are characterized by a more efficient
+    implementation, requiring less time and memory resources.
+*/
+class Parma_Polyhedra_Library::NNC_Polyhedron : public Polyhedron {
+public:
+  //! Builds either the universe or the empty NNC polyhedron.
   /*!
-    Returns <CODE>true</CODE> if and only if \p from_above is
-    <CODE>true</CODE> and \p expr is bounded from above in \p *this,
-    or \p from_above is <CODE>false</CODE> and \p expr is bounded
-    from below in \p *this.
+    \param num_dimensions
+    The number of dimensions of the vector space enclosing the NNC polyhedron;
 
-    \param expr
-    The linear expression to test;
+    \param kind
+    Specifies whether a universe or an empty NNC polyhedron should be built.
 
-    \param method_call
-    The call description of the public parent method, for example
-    "bounded_from_above(e)".  Passed to throw_dimension_incompatible,
-    as the first argument.
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space dimension.
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+    Both parameters are optional:
+    by default, a 0-dimension space universe NNC polyhedron is built.
   */
-  bool bounds(const Linear_Expression& expr, const char* method_call) const;
+  explicit NNC_Polyhedron(dimension_type num_dimensions = 0,
+			  Degenerate_Element kind = UNIVERSE);
 
-  //! Maximizes or minimizes \p expr subject to \p *this.
+  //! Builds an NNC polyhedron from a system of constraints.
   /*!
-    \param expr
-    The linear expression to be maximized or minimized subject to \p
-    *this;
+    The polyhedron inherits the space dimension of the constraint system.
 
-    \param method_call
-    The call description of the public parent method, for example
-    "maximize(e)".  Passed to throw_dimension_incompatible, as the
-    first argument;
+    \param cs
+    The system of constraints defining the polyhedron.
+  */
+  explicit NNC_Polyhedron(const Constraint_System& cs);
 
-    \param ext_n
-    The numerator of the extremum value;
+  //! Builds an NNC polyhedron recycling a system of constraints.
+  /*!
+    The polyhedron inherits the space dimension of the constraint system.
 
-    \param ext_d
-    The denominator of the extremum value;
+    \param cs
+    The system of constraints defining the polyhedron.  It is not
+    declared <CODE>const</CODE> because its data-structures may be
+    recycled to build the polyhedron.
 
-    \param included
-    <CODE>true</CODE> if and only if the extremum of \p expr in \p
-    *this can actually be reached (which is always the case);
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
+  */
+  NNC_Polyhedron(Constraint_System& cs, Recycle_Input dummy);
 
-    \param point
-    When maximization or minimization succeeds, will be assigned the
-    point where \p expr reaches the extremum value.
+  //! Builds an NNC polyhedron from a system of generators.
+  /*!
+    The polyhedron inherits the space dimension of the generator system.
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+    \param gs
+    The system of generators defining the polyhedron.
 
-    If \p *this is empty or \p expr is not bounded in the appropriate
-    direction, <CODE>false</CODE> is returned and \p ext_n, \p ext_d,
-    \p included and \p point are left untouched.
+    \exception std::invalid_argument
+    Thrown if the system of generators is not empty but has no points.
   */
-  bool max_min(const Linear_Expression& expr,
-	       const char* method_call,
-	       Coefficient& ext_n, Coefficient& ext_d, bool& included,
-	       Generator* point = NULL) const;
-
-  /*! \brief
-    Adds the congruence \p cg to \p *this.
+  explicit NNC_Polyhedron(const Generator_System& gs);
 
-    \warning
-    If \p cg and \p *this are dimension-incompatible,
-    the behavior is undefined.
-  */
-  void add_congruence_no_check(const Congruence& cg);
+  //! Builds an NNC polyhedron recycling a system of generators.
+  /*!
+    The polyhedron inherits the space dimension of the generator system.
 
-  /*! \brief
-    Uses the constraint \p c to refine \p *this.
+    \param gs
+    The system of generators defining the polyhedron.  It is not
+    declared <CODE>const</CODE> because its data-structures may be
+    recycled to build the polyhedron.
 
-    \param c
-    The constraint to be added.
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
 
     \exception std::invalid_argument
-    Thrown if c is a non-trivial inequality constraint.
-
-    \warning
-    If \p c and \p *this are dimension-incompatible,
-    the behavior is undefined.
+    Thrown if the system of generators is not empty but has no points.
   */
-  void add_constraint_no_check(const Constraint& c);
-
-  /*! \brief
-    Uses the constraint \p c to refine \p *this.
+  NNC_Polyhedron(Generator_System& gs, Recycle_Input dummy);
 
-    \param c
-    The constraint to be added.
-    Non-trivial inequalities are ignored.
+  //! Builds an NNC polyhedron from a system of congruences.
+  /*!
+    The polyhedron inherits the space dimension of the congruence system.
 
-    \warning
-    If \p c and \p *this are dimension-incompatible,
-    the behavior is undefined.
+    \param cgs
+    The system of congruences defining the polyhedron.  It is not
+    declared <CODE>const</CODE> because its data-structures may be
+    recycled to build the polyhedron.
   */
-  void refine_no_check(const Constraint& c);
-
-  //! \name Widening- and Extrapolation-Related Functions
-  //@{
-
-  //! Copies a widened selection of congruences from \p y to \p selected_cgs.
-  void select_wider_congruences(const Grid& y,
-				Congruence_System& selected_cgs) const;
-
-  //! Copies widened generators from \p y to \p widened_ggs.
-  void select_wider_generators(const Grid& y,
-                               Grid_Generator_System& widened_ggs) const;
-
-  //@} // Widening- and Extrapolation-Related Functions
+  explicit NNC_Polyhedron(const Congruence_System& cgs);
 
-  //! Adds new space dimensions to the given systems.
+  //! Builds an NNC polyhedron recycling a system of congruences.
   /*!
+    The polyhedron inherits the space dimension of the congruence
+    system.
+
     \param cgs
-    A congruence system, to which columns are added;
+    The system of congruences defining the polyhedron.  It is not
+    declared <CODE>const</CODE> because its data-structures may be
+    recycled to build the polyhedron.
 
-    \param gs
-    A generator system, to which rows and columns are added;
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
+  */
+  NNC_Polyhedron(Congruence_System& cgs, Recycle_Input dummy);
 
-    \param dims
-    The number of space dimensions to add.
+  //! Builds an NNC polyhedron from the C polyhedron \p y.
+  /*!
+    \param y
+    The C polyhedron to be used;
 
-    This method is invoked only by
-    <CODE>add_space_dimensions_and_embed()</CODE>.
+    \param complexity
+    This argument is ignored.
   */
-  void add_space_dimensions(Congruence_System& cgs,
-			    Grid_Generator_System& gs,
-			    dimension_type dims);
+  explicit NNC_Polyhedron(const C_Polyhedron& y,
+                          Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Adds new space dimensions to the given systems.
+  //! Builds an NNC polyhedron out of a box.
   /*!
-    \param gs
-    A generator system, to which columns are added;
+    The polyhedron inherits the space dimension of the box
+    and is the most precise that includes the box.
 
-    \param cgs
-    A congruence system, to which rows and columns are added;
+    \param box
+    The box representing the polyhedron to be built;
 
-    \param dims
-    The number of space dimensions to add.
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
 
-    This method is invoked only by
-    <CODE>add_space_dimensions_and_project()</CODE>.
+    \exception std::length_error
+    Thrown if the space dimension of \p box exceeds the maximum allowed
+    space dimension.
   */
-  void add_space_dimensions(Grid_Generator_System& gs,
-			    Congruence_System& cgs,
-			    dimension_type dims);
-
-  //! \name Minimization-related Static Member Functions
-  //@{
+  template <typename Interval>
+  explicit NNC_Polyhedron(const Box<Interval>& box,
+                          Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Normalizes the divisors in \p sys.
+  //! Builds an NNC polyhedron out of a grid.
   /*!
-    Converts \p sys to an equivalent system in which the divisors are
-    of equal value.
-
-    \param sys
-    The generator system to be normalized.  It must have at least one
-    row.
+    The polyhedron inherits the space dimension of the grid
+    and is the most precise that includes the grid.
 
-    \param divisor
-    A reference to the initial value of the divisor.  The resulting
-    value of this object is the new system divisor.
+    \param grid
+    The grid used to build the polyhedron.
 
-    \param first_point
-    If \p first_point has a value other than NULL then it is taken as
-    the first point in \p sys, and it is assumed that any following
-    points have the same divisor as \p first_point.
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
   */
-  static void
-  normalize_divisors(Grid_Generator_System& sys,
-		     Coefficient& divisor,
-		     const Grid_Generator* first_point = NULL);
+  explicit NNC_Polyhedron(const Grid& grid,
+                          Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Normalizes the divisors in \p sys.
+  //! Builds a NNC polyhedron out of a BD shape.
   /*!
-    Converts \p sys to an equivalent system in which the divisors are
-    of equal value.
+    The polyhedron inherits the space dimension of the BD shape
+    and is the most precise that includes the BD shape.
 
-    \param sys
-    The generator system to be normalized.  It must have at least one
-    row.
+    \param bd
+    The BD shape used to build the polyhedron.
+
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
   */
-  static void
-  normalize_divisors(Grid_Generator_System& sys);
+  template <typename U>
+  explicit NNC_Polyhedron(const BD_Shape<U>& bd,
+                          Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Normalize all the divisors in \p sys and \p gen_sys.
+  //! Builds a NNC polyhedron out of an octagonal shape.
   /*!
-    Modify \p sys and \p gen_sys to use the same single divisor value
-    for all generators, leaving each system representing the grid it
-    represented originally.
-
-    \param sys
-    The first of the generator systems to be normalized.
+    The polyhedron inherits the space dimension of the octagonal shape
+    and is the most precise that includes the octagonal shape.
 
-    \param gen_sys
-    The second of the generator systems to be normalized.  This system
-    must have at least one row and the divisors of the generators in
-    this system must be equal.
+    \param os
+    The octagonal shape used to build the polyhedron.
 
-    \exception std::runtime_error
-    Thrown if all rows in \p gen_sys are lines and/or parameters.
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
   */
-  static void normalize_divisors(Grid_Generator_System& sys,
-				 Grid_Generator_System& gen_sys);
+  template <typename U>
+  explicit NNC_Polyhedron(const Octagonal_Shape<U>& os,
+                          Complexity_Class complexity = ANY_COMPLEXITY);
+
+  //! Ordinary copy constructor.
+  NNC_Polyhedron(const NNC_Polyhedron& y,
+                 Complexity_Class complexity = ANY_COMPLEXITY);
 
   /*! \brief
-    Converts generator system \p dest to be equivalent to congruence
-    system \p source.
+    The assignment operator.
+    (\p *this and \p y can be dimension-incompatible.)
   */
-  static void conversion(Congruence_System& source,
-			 Grid_Generator_System& dest,
-			 Dimension_Kinds& dim_kinds);
+  NNC_Polyhedron& operator=(const NNC_Polyhedron& y);
+
+  //! Assigns to \p *this the C polyhedron \p y.
+  NNC_Polyhedron& operator=(const C_Polyhedron& y);
+
+  //! Destructor.
+  ~NNC_Polyhedron();
 
   /*! \brief
-    Converts congruence system \p dest to be equivalent to generator
-    system \p source.
-  */
-  static void conversion(Grid_Generator_System& source,
-			 Congruence_System& dest,
-			 Dimension_Kinds& dim_kinds);
+    If the poly-hull of \p *this and \p y is exact it is assigned
+    to \p *this and <CODE>true</CODE> is returned,
+    otherwise <CODE>false</CODE> is returned.
 
-  //! Converts \p cgs to upper triangular (i.e. minimized) form.
-  /*!
-    Returns <CODE>true</CODE> if \p cgs represents the empty set,
-    otherwise returns <CODE>false</CODE>.
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
   */
-  static bool simplify(Congruence_System& cgs,
-		       Dimension_Kinds& dim_kinds);
+  bool poly_hull_assign_if_exact(const NNC_Polyhedron& y);
 
-  //! Converts \p gs to lower triangular (i.e. minimized) form.
-  /*!
-    Expects \p gs to contain at least one point.
-  */
-  static void simplify(Grid_Generator_System& gs,
-		       Dimension_Kinds& dim_kinds);
+  //! Same as poly_hull_assign_if_exact(y).
+  bool upper_bound_assign_if_exact(const NNC_Polyhedron& y);
+};
 
-  //! Reduces the line \p row using the line \p pivot.
-  /*!
-    Uses the line \p pivot to change the representation of the line \p
-    row so that the element at index \p col of \p row is zero.
-  */
-  // A member of Grid for access to Matrix::rows.
-  static void reduce_line_with_line(Grid_Generator& row,
-				    Grid_Generator& pivot,
-				    dimension_type col);
+/* Automatically generated from PPL source file ../src/NNC_Polyhedron.inlines.hh line 1. */
+/* NNC_Polyhedron class implementation: inline functions.
+*/
 
-  //! Reduces the equality \p row using the equality \p pivot.
-  /*!
-    Uses the equality \p pivot to change the representation of the
-    equality \p row so that the element at index \p col of \p row is
-    zero.
-  */
-  // A member of Grid for access to Matrix::rows.
-  static void reduce_equality_with_equality(Congruence& row,
-					    const Congruence& pivot,
-					    dimension_type col);
 
-  //! Reduces \p row using \p pivot.
-  /*!
-    Uses the point, parameter or proper congruence at \p pivot to
-    change the representation of the point, parameter or proper
-    congruence at \p row so that the element at index \p col of \p row
-    is zero.  Only elements from index \p start to index \p end are
-    modified (i.e. it is assumed that all other elements are zero).
-  */
-  // Part of Grid for access to Matrix::rows.
-  template <typename R>
-  static void reduce_pc_with_pc(R& row,
-				R& pivot,
-				dimension_type col,
-				dimension_type start,
-				dimension_type end);
+/* Automatically generated from PPL source file ../src/NNC_Polyhedron.inlines.hh line 27. */
 
-  //! Reduce \p row using \p pivot.
-  /*!
-    Use the line \p pivot to change the representation of the
-    parameter \p row such that the element at index \p col of \p row
-    is zero.
-  */
-  // A member of Grid for access to Matrix::rows.
-  static void reduce_parameter_with_line(Grid_Generator& row,
-					 const Grid_Generator& pivot,
-					 dimension_type col,
-					 Grid_Generator_System& sys);
+namespace Parma_Polyhedra_Library {
 
-  //! Reduce \p row using \p pivot.
-  /*!
-    Use the equality \p pivot to change the representation of the
-    congruence \p row such that element at index \p col of \p row is
-    zero.
-  */
-  // A member of Grid for access to Matrix::rows.
-  static void reduce_congruence_with_equality(Congruence& row,
-					      const Congruence& pivot,
-					      dimension_type col,
-					      Congruence_System& sys);
+inline
+NNC_Polyhedron::~NNC_Polyhedron() {
+}
 
-  //! Reduce column \p dim in rows preceding \p pivot_index in \p sys.
-  /*!
-    Required when converting (or simplifying) a congruence or generator
-    system to "strong minimal form"; informally, strong minimal form means
-    that, not only is the system in minimal form (ie a triangular matrix),
-    but also the absolute values of the coefficients of the proper congruences
-    and parameters are minimal. As a simple example, the set of congruences
-    \f$\{3x \equiv_3 0, 4x + y \equiv_3 1\}\f$,
-    (which is in minimal form) is equivalent to the set
-    \f$\{3x \equiv_3 0, x + y \equiv_3 1\}\f$
-    (which is in strong minimal form).
+inline
+NNC_Polyhedron::NNC_Polyhedron(dimension_type num_dimensions,
+			       Degenerate_Element kind)
+  : Polyhedron(NOT_NECESSARILY_CLOSED,
+	       num_dimensions <= max_space_dimension()
+	       ? num_dimensions
+	       : (throw_space_dimension_overflow(NOT_NECESSARILY_CLOSED,
+						 "NNC_Polyhedron(n, k)",
+						 "n exceeds the maximum "
+						 "allowed space dimension"),
+		  num_dimensions),
+	       kind) {
+}
 
-    Only consider from index \p start to index \p end of the row at \p
-    pivot_index.  Flag \p generators indicates whether \p sys is a
-    congruence or generator system.
-  */
-  template <typename M, typename R>
-  static void reduce_reduced(M& sys, dimension_type dim,
-			     dimension_type pivot_index,
-			     dimension_type start, dimension_type end,
-			     const Dimension_Kinds& dim_kinds,
-			     bool generators = true);
+inline
+NNC_Polyhedron::NNC_Polyhedron(const Constraint_System& cs)
+  : Polyhedron(NOT_NECESSARILY_CLOSED,
+	       cs.space_dimension() <= max_space_dimension()
+	       ? cs
+	       : (throw_space_dimension_overflow(NOT_NECESSARILY_CLOSED,
+						 "NNC_Polyhedron(cs)",
+						 "the space dimension of cs "
+						 "exceeds the maximum allowed "
+						 "space dimension"), cs)) {
+}
 
-  //! Multiply the elements of \p dest by \p multiplier.
-  // A member of Grid for access to Matrix::rows and cgs::operator[].
-  static void multiply_grid(const Coefficient& multiplier,
-			    Congruence& cg, Congruence_System& dest,
-			    dimension_type num_rows,
-			    dimension_type num_dims);
+inline
+NNC_Polyhedron::NNC_Polyhedron(Constraint_System& cs, Recycle_Input)
+  : Polyhedron(NOT_NECESSARILY_CLOSED,
+	       cs.space_dimension() <= max_space_dimension()
+	       ? cs
+	       : (throw_space_dimension_overflow(NOT_NECESSARILY_CLOSED,
+						 "NNC_Polyhedron(cs, recycle)",
+						 "the space dimension of cs "
+						 "exceeds the maximum allowed "
+						 "space dimension"), cs),
+	       Recycle_Input()) {
+}
 
-  //! Multiply the elements of \p dest by \p multiplier.
-  // A member of Grid for access to Grid_Generator::operator[].
-  static void multiply_grid(const Coefficient& multiplier,
-			    Grid_Generator& gen,
-			    Grid_Generator_System& dest,
-			    dimension_type num_rows,
-			    dimension_type num_dims);
+inline
+NNC_Polyhedron::NNC_Polyhedron(const Generator_System& gs)
+  : Polyhedron(NOT_NECESSARILY_CLOSED,
+	       gs.space_dimension() <= max_space_dimension()
+	       ? gs
+	       : (throw_space_dimension_overflow(NOT_NECESSARILY_CLOSED,
+						 "NNC_Polyhedron(gs)",
+						 "the space dimension of gs "
+						 "exceeds the maximum allowed "
+						 "space dimension"), gs)) {
+}
 
-  /*! \brief
-    If \p sys is lower triangular return <CODE>true</CODE>, else
-    return <CODE>false</CODE>.
-  */
-  static bool lower_triangular(const Congruence_System& sys,
-			       const Dimension_Kinds& dim_kinds);
+inline
+NNC_Polyhedron::NNC_Polyhedron(Generator_System& gs, Recycle_Input)
+  : Polyhedron(NOT_NECESSARILY_CLOSED,
+	       gs.space_dimension() <= max_space_dimension()
+	       ? gs
+	       : (throw_space_dimension_overflow(NOT_NECESSARILY_CLOSED,
+						 "NNC_Polyhedron(gs, recycle)",
+						 "the space dimension of gs "
+						 "exceeds the maximum allowed "
+						 "space dimension"), gs),
+	       Recycle_Input()) {
+}
 
-  /*! \brief
-    If \p sys is upper triangular return <CODE>true</CODE>, else
-    return <CODE>false</CODE>.
-  */
-  static bool upper_triangular(const Grid_Generator_System& sys,
-			       const Dimension_Kinds& dim_kinds);
+template <typename Interval>
+inline
+NNC_Polyhedron::NNC_Polyhedron(const Box<Interval>& box, Complexity_Class)
+  : Polyhedron(NOT_NECESSARILY_CLOSED,
+	       box.space_dimension() <= max_space_dimension()
+	       ? box
+	       : (throw_space_dimension_overflow(NOT_NECESSARILY_CLOSED,
+						 "NNC_Polyhedron(box)",
+						 "the space dimension of box "
+						 "exceeds the maximum allowed "
+						 "space dimension"), box)) {
+}
 
-#ifndef NDEBUG
-  //! Checks that trailing rows contain only zero terms.
-  /*!
-    If all columns contain zero in the rows of \p system from row
-    index \p first to row index \p last then return <code>true</code>,
-    else return <code>false</code>.  \p row_size gives the number of
-    columns in each row.
+template <typename U>
+inline
+NNC_Polyhedron::NNC_Polyhedron(const BD_Shape<U>& bd, Complexity_Class)
+  : Polyhedron(NOT_NECESSARILY_CLOSED,
+	       bd.space_dimension() <= max_space_dimension()
+	       ? bd.space_dimension()
+	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
+						 "NNC_Polyhedron(bd): ",
+						 "the space dimension of bd "
+						 "exceeds the maximum allowed "
+						 "space dimension"), 0),
+               UNIVERSE) {
+  add_constraints(bd.constraints());
+}
 
-    This method is only used in assertions in the simplify methods.
-  */
-  template <typename M, typename R>
-  static bool rows_are_zero(M& system,
-			    dimension_type first,
-			    dimension_type last,
-			    dimension_type row_size);
-#endif
+template <typename U>
+inline
+NNC_Polyhedron::NNC_Polyhedron(const Octagonal_Shape<U>& os, Complexity_Class)
+  : Polyhedron(NOT_NECESSARILY_CLOSED,
+	       os.space_dimension() <= max_space_dimension()
+	       ? os.space_dimension()
+	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
+						 "NNC_Polyhedron(os): ",
+						 "the space dimension of os "
+						 "exceeds the maximum allowed "
+						 "space dimension"), 0),
+               UNIVERSE) {
+  add_constraints(os.constraints());
+}
 
-  //@} // Minimization-Related Static Member Functions
+inline
+NNC_Polyhedron::NNC_Polyhedron(const NNC_Polyhedron& y, Complexity_Class)
+  : Polyhedron(y) {
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  //! \name Exception Throwers
-  //@{
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-protected:
-  void throw_runtime_error(const char* method) const;
-  void throw_invalid_argument(const char* method, const char* reason) const;
+inline NNC_Polyhedron&
+NNC_Polyhedron::operator=(const NNC_Polyhedron& y) {
+  Polyhedron::operator=(y);
+  return *this;
+}
 
-  void throw_dimension_incompatible(const char* method,
-				    const char* other_name,
-				    dimension_type other_dim) const;
-  void throw_dimension_incompatible(const char* method,
-				    const char* gr_name,
-				    const Grid& gr) const;
-  void throw_dimension_incompatible(const char* method,
-				    const char* e_name,
-				    const Linear_Expression& e) const;
-  void throw_dimension_incompatible(const char* method,
-				    const char* cg_name,
-				    const Congruence& cg) const;
-  void throw_dimension_incompatible(const char* method,
-				    const char* c_name,
-				    const Constraint& c) const;
-  void throw_dimension_incompatible(const char* method,
-				    const char* g_name,
-				    const Grid_Generator& g) const;
-  void throw_dimension_incompatible(const char* method,
-				    const char* g_name,
-				    const Generator& g) const;
-  void throw_dimension_incompatible(const char* method,
-				    const char* cgs_name,
-				    const Congruence_System& cgs) const;
-  void throw_dimension_incompatible(const char* method,
-				    const char* cs_name,
-				    const Constraint_System& cs) const;
-  void throw_dimension_incompatible(const char* method,
-				    const char* gs_name,
-				    const Grid_Generator_System& gs) const;
-  void throw_dimension_incompatible(const char* method,
-				    const char* var_name,
-				    Variable var) const;
-  void throw_dimension_incompatible(const char* method,
-				    dimension_type required_space_dim) const;
+inline NNC_Polyhedron&
+NNC_Polyhedron::operator=(const C_Polyhedron& y) {
+  NNC_Polyhedron nnc_y(y);
+  swap(nnc_y);
+  return *this;
+}
 
-  // Note: it has to be a static method, because it can be called inside
-  // constructors (before actually constructing the grid object).
-  static void throw_space_dimension_overflow(const char* method,
-					     const char* reason);
+inline bool
+NNC_Polyhedron::upper_bound_assign_if_exact(const NNC_Polyhedron& y) {
+  return poly_hull_assign_if_exact(y);
+}
 
-  void throw_invalid_constraint(const char* method,
-			       const char* c_name) const;
-  void throw_invalid_constraints(const char* method,
-				const char* cs_name) const;
-  void throw_invalid_generator(const char* method,
-			       const char* g_name) const;
-  void throw_invalid_generators(const char* method,
-				const char* gs_name) const;
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  //@} // Exception Throwers
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+} // namespace Parma_Polyhedra_Library
 
-};
+/* Automatically generated from PPL source file ../src/NNC_Polyhedron.defs.hh line 254. */
 
+/* Automatically generated from PPL source file ../src/Grid.defs.hh line 1. */
+/* Grid class declaration.
+*/
 
-namespace std {
 
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Grid */
-void swap(Parma_Polyhedra_Library::Grid& x,
-	  Parma_Polyhedra_Library::Grid& y);
+/* Automatically generated from PPL source file ../src/Grid.defs.hh line 46. */
+#include <vector>
+#include <iosfwd>
 
-} // namespace std
+namespace Parma_Polyhedra_Library {
+
+namespace IO_Operators {
+
+//! Output operator.
+/*!
+  \relates Parma_Polyhedra_Library::Grid
+  Writes a textual representation of \p gr on \p s: <CODE>false</CODE>
+  is written if \p gr is an empty grid; <CODE>true</CODE> is written
+  if \p gr is a universe grid; a minimized system of congruences
+  defining \p gr is written otherwise, all congruences in one row
+  separated by ", "s.
+*/
+std::ostream&
+operator<<(std::ostream& s, const Grid& gr);
+
+} // namespace IO_Operators
+
+/*! \brief
+  Returns <CODE>true</CODE> if and only if \p x and \p y are the same
+  grid.
+
+  \relates Grid
+  Note that \p x and \p y may be dimension-incompatible grids: in
+  those cases, the value <CODE>false</CODE> is returned.
+*/
+bool operator==(const Grid& x, const Grid& y);
+
+/*! \brief
+  Returns <CODE>true</CODE> if and only if \p x and \p y are different
+  grids.
+
+  \relates Grid
+  Note that \p x and \p y may be dimension-incompatible grids: in
+  those cases, the value <CODE>true</CODE> is returned.
+*/
+bool operator!=(const Grid& x, const Grid& y);
+
+} // namespace Parma_Polyhedra_Library
+
+
+//! A grid.
+/*! \ingroup PPL_CXX_interface
+  An object of the class Grid represents a rational grid.
+
+  The domain of grids <EM>optimally supports</EM>:
+    - all (proper and non-proper) congruences;
+    - tautological and inconsistent constraints;
+    - linear equality constraints (i.e., non-proper congruences).
 
-/* Automatically generated from PPL source file ../src/Grid_Status.inlines.hh line 1. */
-/* Grid::Status class implementation: inline functions.
-*/
+  Depending on the method, using a constraint that is not optimally
+  supported by the domain will either raise an exception or
+  result in a (possibly non-optimal) upward approximation.
 
+  The domain of grids support a concept of double description similar
+  to the one developed for polyhedra: hence, a grid can be specified
+  as either a finite system of congruences or a finite system of
+  generators (see Section \ref sect_rational_grids) and it is always
+  possible to obtain either representation.
+  That is, if we know the system of congruences, we can obtain
+  from this a system of generators that define the same grid
+  and vice versa.
+  These systems can contain redundant members, or they can be in the
+  minimal form.
 
-namespace Parma_Polyhedra_Library {
+  A key attribute of any grid is its space dimension (the dimension
+  \f$n \in \Nset\f$ of the enclosing vector space):
 
-inline
-Grid::Status::Status(flags_t mask)
-  : flags(mask) {
-}
+  - all grids, the empty ones included, are endowed with a space
+    dimension;
+  - most operations working on a grid and another object (another
+    grid, a congruence, a generator, a set of variables, etc.) will
+    throw an exception if the grid and the object are not
+    dimension-compatible (see Section \ref Grid_Space_Dimensions);
+  - the only ways in which the space dimension of a grid can be
+    changed are with <EM>explicit</EM> calls to operators provided for
+    that purpose, and with standard copy, assignment and swap
+    operators.
 
-inline
-Grid::Status::Status()
-  : flags(ZERO_DIM_UNIV) {
-}
+  Note that two different grids can be defined on the zero-dimension
+  space: the empty grid and the universe grid \f$R^0\f$.
 
-inline bool
-Grid::Status::test_all(flags_t mask) const {
-  return (flags & mask) == mask;
-}
+  \par
+  In all the examples it is assumed that variables
+  <CODE>x</CODE> and <CODE>y</CODE> are defined (where they are
+  used) as follows:
+  \code
+  Variable x(0);
+  Variable y(1);
+  \endcode
 
-inline bool
-Grid::Status::test_any(flags_t mask) const {
-  return flags & mask;
-}
+  \par Example 1
+  The following code builds a grid corresponding to the even integer
+  pairs in \f$\Rset^2\f$, given as a system of congruences:
+  \code
+  Congruence_System cgs;
+  cgs.insert((x %= 0) / 2);
+  cgs.insert((y %= 0) / 2);
+  Grid gr(cgs);
+  \endcode
+  The following code builds the same grid as above, but starting
+  from a system of generators specifying three of the points:
+  \code
+  Grid_Generator_System gs;
+  gs.insert(grid_point(0*x + 0*y));
+  gs.insert(grid_point(0*x + 2*y));
+  gs.insert(grid_point(2*x + 0*y));
+  Grid gr(gs);
+  \endcode
 
-inline void
-Grid::Status::set(flags_t mask) {
-  flags |= mask;
-}
+  \par Example 2
+  The following code builds a grid corresponding to a line in
+  \f$\Rset^2\f$ by adding a single congruence to the universe grid:
+  \code
+  Congruence_System cgs;
+  cgs.insert(x - y == 0);
+  Grid gr(cgs);
+  \endcode
+  The following code builds the same grid as above, but starting
+  from a system of generators specifying a point and a line:
+  \code
+  Grid_Generator_System gs;
+  gs.insert(grid_point(0*x + 0*y));
+  gs.insert(grid_line(x + y));
+  Grid gr(gs);
+  \endcode
 
-inline void
-Grid::Status::reset(flags_t mask) {
-  flags &= ~mask;
-}
+  \par Example 3
+  The following code builds a grid corresponding to the integral
+  points on the line \f$x = y\f$ in \f$\Rset^2\f$ constructed
+  by adding an equality and congruence to the universe grid:
+  \code
+  Congruence_System cgs;
+  cgs.insert(x - y == 0);
+  cgs.insert(x %= 0);
+  Grid gr(cgs);
+  \endcode
+  The following code builds the same grid as above, but starting
+  from a system of generators specifying a point and a parameter:
+  \code
+  Grid_Generator_System gs;
+  gs.insert(grid_point(0*x + 0*y));
+  gs.insert(parameter(x + y));
+  Grid gr(gs);
+  \endcode
 
-inline bool
-Grid::Status::test_zero_dim_univ() const {
-  return flags == ZERO_DIM_UNIV;
-}
+  \par Example 4
+  The following code builds the grid corresponding to a plane by
+  creating the universe grid in \f$\Rset^2\f$:
+  \code
+  Grid gr(2);
+  \endcode
+  The following code builds the same grid as above, but starting
+  from the empty grid in \f$\Rset^2\f$ and inserting the appropriate
+  generators (a point, and two lines).
+  \code
+  Grid gr(2, EMPTY);
+  gr.add_grid_generator(grid_point(0*x + 0*y));
+  gr.add_grid_generator(grid_line(x));
+  gr.add_grid_generator(grid_line(y));
+  \endcode
+  Note that a generator system must contain a point when describing
+  a grid.  To ensure that this is always the case it is required
+  that the first generator inserted in an empty grid is a point
+  (otherwise, an exception is thrown).
 
-inline void
-Grid::Status::reset_zero_dim_univ() {
-  // This is a no-op if the current status is not zero-dim.
-  if (flags == ZERO_DIM_UNIV)
-    // In the zero-dim space, if it is not the universe it is empty.
-    flags = EMPTY;
-}
+  \par Example 5
+  The following code shows the use of the function
+  <CODE>add_space_dimensions_and_embed</CODE>:
+  \code
+  Grid gr(1);
+  gr.add_congruence(x == 2);
+  gr.add_space_dimensions_and_embed(1);
+  \endcode
+  We build the universe grid in the 1-dimension space \f$\Rset\f$.
+  Then we add a single equality congruence,
+  thus obtaining the grid corresponding to the singleton set
+  \f$\{ 2 \} \sseq \Rset\f$.
+  After the last line of code, the resulting grid is
+  \f[
+  \bigl\{\,
+  (2, y)^\transpose \in \Rset^2
+  \bigm|
+  y \in \Rset
+  \,\bigr\}.
+  \f]
 
-inline void
-Grid::Status::set_zero_dim_univ() {
-  // Zero-dim universe is incompatible with anything else.
-  flags = ZERO_DIM_UNIV;
-}
+  \par Example 6
+  The following code shows the use of the function
+  <CODE>add_space_dimensions_and_project</CODE>:
+  \code
+  Grid gr(1);
+  gr.add_congruence(x == 2);
+  gr.add_space_dimensions_and_project(1);
+  \endcode
+  The first two lines of code are the same as in Example 4 for
+  <CODE>add_space_dimensions_and_embed</CODE>.
+  After the last line of code, the resulting grid is
+  the singleton set
+  \f$\bigl\{ (2, 0)^\transpose \bigr\} \sseq \Rset^2\f$.
 
-inline bool
-Grid::Status::test_empty() const {
-  return test_any(EMPTY);
-}
+  \par Example 7
+  The following code shows the use of the function
+  <CODE>affine_image</CODE>:
+  \code
+  Grid gr(2, EMPTY);
+  gr.add_grid_generator(grid_point(0*x + 0*y));
+  gr.add_grid_generator(grid_point(4*x + 0*y));
+  gr.add_grid_generator(grid_point(0*x + 2*y));
+  Linear_Expression expr = x + 3;
+  gr.affine_image(x, expr);
+  \endcode
+  In this example the starting grid is all the pairs of \f$x\f$ and
+  \f$y\f$ in \f$\Rset^2\f$ where \f$x\f$ is an integer multiple of 4
+  and \f$y\f$ is an integer multiple of 2.  The considered variable
+  is \f$x\f$ and the affine expression is \f$x+3\f$.  The resulting
+  grid is the given grid translated 3 integers to the right (all the
+  pairs \f$(x, y)\f$ where \f$x\f$ is -1 plus an integer multiple of 4
+  and \f$y\f$ is an integer multiple of 2).
+  Moreover, if the affine transformation for the same variable \p x
+  is instead \f$x+y\f$:
+  \code
+  Linear_Expression expr = x + y;
+  \endcode
+  the resulting grid is every second integral point along the \f$x=y\f$
+  line, with this line of points repeated at every fourth integral value
+  along the \f$x\f$ axis.
+  Instead, if we do not use an invertible transformation for the
+  same variable; for example, the affine expression \f$y\f$:
+  \code
+  Linear_Expression expr = y;
+  \endcode
+  the resulting grid is every second point along the \f$x=y\f$ line.
 
-inline void
-Grid::Status::reset_empty() {
-  reset(EMPTY);
-}
+  \par Example 8
+  The following code shows the use of the function
+  <CODE>affine_preimage</CODE>:
+  \code
+  Grid gr(2, EMPTY);
+  gr.add_grid_generator(grid_point(0*x + 0*y));
+  gr.add_grid_generator(grid_point(4*x + 0*y));
+  gr.add_grid_generator(grid_point(0*x + 2*y));
+  Linear_Expression expr = x + 3;
+  gr.affine_preimage(x, expr);
+  \endcode
+  In this example the starting grid, \p var and the affine
+  expression and the denominator are the same as in Example 6, while
+  the resulting grid is similar but translated 3 integers to the
+  left (all the pairs \f$(x, y)\f$
+  where \f$x\f$ is -3 plus an integer multiple of 4 and
+  \f$y\f$ is an integer multiple of 2)..
+  Moreover, if the affine transformation for \p x is \f$x+y\f$
+  \code
+  Linear_Expression expr = x + y;
+  \endcode
+  the resulting grid is a similar grid to the result in Example 6,
+  only the grid is slanted along \f$x=-y\f$.
+  Instead, if we do not use an invertible transformation for the same
+  variable \p x, for example, the affine expression \f$y\f$:
+  \code
+  Linear_Expression expr = y;
+  \endcode
+  the resulting grid is every fourth line parallel to the \f$x\f$
+  axis.
 
-inline void
-Grid::Status::set_empty() {
-  flags = EMPTY;
-}
+  \par Example 9
+  For this example we also use the variables:
+  \code
+  Variable z(2);
+  Variable w(3);
+  \endcode
+  The following code shows the use of the function
+  <CODE>remove_space_dimensions</CODE>:
+  \code
+  Grid_Generator_System gs;
+  gs.insert(grid_point(3*x + y +0*z + 2*w));
+  Grid gr(gs);
+  Variables_Set vars;
+  vars.insert(y);
+  vars.insert(z);
+  gr.remove_space_dimensions(vars);
+  \endcode
+  The starting grid is the singleton set
+  \f$\bigl\{ (3, 1, 0, 2)^\transpose \bigr\} \sseq \Rset^4\f$, while
+  the resulting grid is
+  \f$\bigl\{ (3, 2)^\transpose \bigr\} \sseq \Rset^2\f$.
+  Be careful when removing space dimensions <EM>incrementally</EM>:
+  since dimensions are automatically renamed after each application
+  of the <CODE>remove_space_dimensions</CODE> operator, unexpected
+  results can be obtained.
+  For instance, by using the following code we would obtain
+  a different result:
+  \code
+  set<Variable> vars1;
+  vars1.insert(y);
+  gr.remove_space_dimensions(vars1);
+  set<Variable> vars2;
+  vars2.insert(z);
+  gr.remove_space_dimensions(vars2);
+  \endcode
+  In this case, the result is the grid
+  \f$\bigl\{(3, 0)^\transpose \bigr\} \sseq \Rset^2\f$:
+  when removing the set of dimensions \p vars2
+  we are actually removing variable \f$w\f$ of the original grid.
+  For the same reason, the operator \p remove_space_dimensions
+  is not idempotent: removing twice the same non-empty set of dimensions
+  is never the same as removing them just once.
+*/
 
-inline bool
-Grid::Status::test_c_up_to_date() const {
-  return test_any(C_UP_TO_DATE);
-}
+class Parma_Polyhedra_Library::Grid {
+public:
+  //! The numeric type of coefficients.
+  typedef Coefficient coefficient_type;
 
-inline void
-Grid::Status::reset_c_up_to_date() {
-  reset(C_UP_TO_DATE);
-}
+  //! Returns the maximum space dimension all kinds of Grid can handle.
+  static dimension_type max_space_dimension();
 
-inline void
-Grid::Status::set_c_up_to_date() {
-  set(C_UP_TO_DATE);
-}
+  /*! \brief
+    Returns true indicating that this domain has methods that
+    can recycle congruences.
+  */
+  static bool can_recycle_congruence_systems();
 
-inline bool
-Grid::Status::test_g_up_to_date() const {
-  return test_any(G_UP_TO_DATE);
-}
+  /*! \brief
+    Returns true indicating that this domain has methods that
+    can recycle constraints.
+  */
+  static bool can_recycle_constraint_systems();
 
-inline void
-Grid::Status::reset_g_up_to_date() {
-  reset(G_UP_TO_DATE);
-}
+  //! Builds a grid having the specified properties.
+  /*!
+    \param num_dimensions
+    The number of dimensions of the vector space enclosing the grid;
 
-inline void
-Grid::Status::set_g_up_to_date() {
-  set(G_UP_TO_DATE);
-}
+    \param kind
+    Specifies whether the universe or the empty grid has to be built.
 
-inline bool
-Grid::Status::test_c_minimized() const {
-  return test_any(C_MINIMIZED);
-}
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space
+    dimension.
+  */
+  explicit Grid(dimension_type num_dimensions = 0,
+		Degenerate_Element kind = UNIVERSE);
 
-inline void
-Grid::Status::reset_c_minimized() {
-  reset(C_MINIMIZED);
-}
+  //! Builds a grid, copying a system of congruences.
+  /*!
+    The grid inherits the space dimension of the congruence system.
 
-inline void
-Grid::Status::set_c_minimized() {
-  set(C_MINIMIZED);
-}
+    \param cgs
+    The system of congruences defining the grid.
 
-inline bool
-Grid::Status::test_g_minimized() const {
-  return test_any(G_MINIMIZED);
-}
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space
+    dimension.
+  */
+  explicit Grid(const Congruence_System& cgs);
 
-inline void
-Grid::Status::reset_g_minimized() {
-  reset(G_MINIMIZED);
-}
+  //! Builds a grid, recycling a system of congruences.
+  /*!
+    The grid inherits the space dimension of the congruence system.
 
-inline void
-Grid::Status::set_g_minimized() {
-  set(G_MINIMIZED);
-}
+    \param cgs
+    The system of congruences defining the grid.  Its data-structures
+    may be recycled to build the grid.
 
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
 
-inline bool
-Grid::Status::test_c_pending() const {
-  return test_any(CS_PENDING);
-}
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space
+    dimension.
+  */
+  Grid(Congruence_System& cgs, Recycle_Input dummy);
 
-inline void
-Grid::Status::reset_c_pending() {
-  reset(CS_PENDING);
-}
+  //! Builds a grid, copying a system of constraints.
+  /*!
+    The grid inherits the space dimension of the constraint system.
 
-inline void
-Grid::Status::set_c_pending() {
-  set(CS_PENDING);
-}
+    \param cs
+    The system of constraints defining the grid.
 
-inline bool
-Grid::Status::test_g_pending() const {
-  return test_any(GS_PENDING);
-}
+    \exception std::invalid_argument
+    Thrown if the constraint system \p cs contains inequality constraints.
 
-inline void
-Grid::Status::reset_g_pending() {
-  reset(GS_PENDING);
-}
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space
+    dimension.
+  */
+  explicit Grid(const Constraint_System& cs);
 
-inline void
-Grid::Status::set_g_pending() {
-  set(GS_PENDING);
-}
+  //! Builds a grid, recycling a system of constraints.
+  /*!
+    The grid inherits the space dimension of the constraint system.
 
+    \param cs
+    The system of constraints defining the grid.  Its data-structures
+    may be recycled to build the grid.
 
-inline bool
-Grid::Status::test_sat_c_up_to_date() const {
-  return test_any(SAT_C_UP_TO_DATE);
-}
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
 
-inline void
-Grid::Status::reset_sat_c_up_to_date() {
-  reset(SAT_C_UP_TO_DATE);
-}
+    \exception std::invalid_argument
+    Thrown if the constraint system \p cs contains inequality constraints.
 
-inline void
-Grid::Status::set_sat_c_up_to_date() {
-  set(SAT_C_UP_TO_DATE);
-}
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space
+    dimension.
+  */
+  Grid(Constraint_System& cs, Recycle_Input dummy);
 
-inline bool
-Grid::Status::test_sat_g_up_to_date() const {
-  return test_any(SAT_G_UP_TO_DATE);
-}
+  //! Builds a grid, copying a system of grid generators.
+  /*!
+    The grid inherits the space dimension of the generator system.
 
-inline void
-Grid::Status::reset_sat_g_up_to_date() {
-  reset(SAT_G_UP_TO_DATE);
-}
+    \param const_gs
+    The system of generators defining the grid.
 
-inline void
-Grid::Status::set_sat_g_up_to_date() {
-  set(SAT_G_UP_TO_DATE);
-}
+    \exception std::invalid_argument
+    Thrown if the system of generators is not empty but has no points.
 
-} // namespace Parma_Polyhedra_Library
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space
+    dimension.
+  */
+  explicit Grid(const Grid_Generator_System& const_gs);
 
-/* Automatically generated from PPL source file ../src/Grid.inlines.hh line 1. */
-/* Grid class implementation: inline functions.
-*/
+  //! Builds a grid, recycling a system of grid generators.
+  /*!
+    The grid inherits the space dimension of the generator system.
 
+    \param gs
+    The system of generators defining the grid.  Its data-structures
+    may be recycled to build the grid.
 
-/* Automatically generated from PPL source file ../src/Grid.inlines.hh line 29. */
-#include <algorithm>
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
 
-namespace Parma_Polyhedra_Library {
+    \exception std::invalid_argument
+    Thrown if the system of generators is not empty but has no points.
 
-inline bool
-Grid::marked_empty() const {
-  return status.test_empty();
-}
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space dimension.
+  */
+  Grid(Grid_Generator_System& gs, Recycle_Input dummy);
 
-inline bool
-Grid::congruences_are_up_to_date() const {
-  return status.test_c_up_to_date();
-}
+  //! Builds a grid out of a box.
+  /*!
+    The grid inherits the space dimension of the box.
+    The built grid is the most precise grid that includes the box.
 
-inline bool
-Grid::generators_are_up_to_date() const {
-  return status.test_g_up_to_date();
-}
+    \param box
+    The box representing the grid to be built.
 
-inline bool
-Grid::congruences_are_minimized() const {
-  return status.test_c_minimized();
-}
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
 
-inline bool
-Grid::generators_are_minimized() const {
-  return status.test_g_minimized();
-}
+    \exception std::length_error
+    Thrown if the space dimension of \p box exceeds the maximum
+    allowed space dimension.
+  */
+  template <typename Interval>
+  explicit Grid(const Box<Interval>& box,
+                Complexity_Class complexity = ANY_COMPLEXITY);
 
-inline void
-Grid::set_generators_up_to_date() {
-  status.set_g_up_to_date();
-}
+  //! Builds a grid out of a bounded-difference shape.
+  /*!
+    The grid inherits the space dimension of the BDS.
+    The built grid is the most precise grid that includes the BDS.
 
-inline void
-Grid::set_congruences_up_to_date() {
-  status.set_c_up_to_date();
-}
+    \param bd
+    The BDS representing the grid to be built.
 
-inline void
-Grid::set_congruences_minimized() {
-  set_congruences_up_to_date();
-  status.set_c_minimized();
-}
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
 
-inline void
-Grid::set_generators_minimized() {
-  set_generators_up_to_date();
-  status.set_g_minimized();
-}
+    \exception std::length_error
+    Thrown if the space dimension of \p bd exceeds the maximum
+    allowed space dimension.
+  */
+  template <typename U>
+  explicit Grid(const BD_Shape<U>& bd,
+                Complexity_Class complexity = ANY_COMPLEXITY);
 
-inline void
-Grid::clear_empty() {
-  status.reset_empty();
-}
+  //! Builds a grid out of an octagonal shape.
+  /*!
+    The grid inherits the space dimension of the octagonal shape.
+    The built grid is the most precise grid that includes the octagonal shape.
 
-inline void
-Grid::clear_congruences_minimized() {
-  status.reset_c_minimized();
-}
+    \param os
+    The octagonal shape representing the grid to be built.
 
-inline void
-Grid::clear_generators_minimized() {
-  status.reset_g_minimized();
-}
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
 
-inline void
-Grid::clear_congruences_up_to_date() {
-  clear_congruences_minimized();
-  status.reset_c_up_to_date();
-  // Can get rid of con_sys here.
-}
+    \exception std::length_error
+    Thrown if the space dimension of \p os exceeds the maximum
+    allowed space dimension.
+  */
+  template <typename U>
+  explicit Grid(const Octagonal_Shape<U>& os,
+                Complexity_Class complexity = ANY_COMPLEXITY);
 
-inline void
-Grid::clear_generators_up_to_date() {
-  clear_generators_minimized();
-  status.reset_g_up_to_date();
-  // Can get rid of gen_sys here.
-}
+  /*! \brief
+    Builds a grid from a polyhedron using algorithms whose complexity
+    does not exceed the one specified by \p complexity.
+    If \p complexity is \p ANY_COMPLEXITY, then the grid built is the
+    smallest one containing \p ph.
 
-inline dimension_type
-Grid::max_space_dimension() {
-  // One dimension is reserved to have a value of type dimension_type
-  // that does not represent a legal dimension.
-  return std::min(std::numeric_limits<dimension_type>::max() - 1,
-		  std::min(Congruence_System::max_space_dimension(),
-			   Grid_Generator_System::max_space_dimension()
-			   )
-		  );
-}
+    The grid inherits the space dimension of polyhedron.
 
-inline
-Grid::Grid(dimension_type num_dimensions,
-	   const Degenerate_Element kind)
-  : con_sys(),
-    gen_sys(num_dimensions > max_space_dimension()
-	    ? (throw_space_dimension_overflow("Grid(n, k)",
-					      "n exceeds the maximum "
-					      "allowed space dimension"),
-	       0)
-	    : num_dimensions) {
-  construct(num_dimensions, kind);
-  assert(OK());
-}
+    \param ph
+    The polyhedron.
 
-inline
-Grid::Grid(const Congruence_System& cgs)
-  : con_sys(cgs.space_dimension() > max_space_dimension()
-	    ? throw_space_dimension_overflow("Grid(cgs)",
-					     "the space dimension of cgs "
-					     "exceeds the maximum allowed "
-					     "space dimension"), 0
-	    : cgs.space_dimension()),
-    gen_sys(cgs.space_dimension()) {
-  Congruence_System cgs_copy(cgs);
-  construct(cgs_copy);
-}
+    \param complexity
+    The complexity class.
 
-inline
-Grid::Grid(Congruence_System& cgs, Recycle_Input)
-  : con_sys(cgs.space_dimension() > max_space_dimension()
-	    ? throw_space_dimension_overflow("Grid(cgs, recycle)",
-					     "the space dimension of cgs "
-					     "exceeds the maximum allowed "
-					     "space dimension"), 0
-	    : cgs.space_dimension()),
-    gen_sys(cgs.space_dimension()) {
-  construct(cgs);
-}
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space
+    dimension.
+  */
+  explicit Grid(const Polyhedron& ph,
+                Complexity_Class complexity = ANY_COMPLEXITY);
 
-inline
-Grid::Grid(const Grid_Generator_System& ggs)
-  : con_sys(ggs.space_dimension() > max_space_dimension()
-	    ? throw_space_dimension_overflow("Grid(ggs)",
-					     "the space dimension of ggs "
-					     "exceeds the maximum allowed "
-					     "space dimension"), 0
-	    : ggs.space_dimension()),
-    gen_sys(ggs.space_dimension()) {
-  Grid_Generator_System ggs_copy(ggs);
-  construct(ggs_copy);
-}
+  //! Ordinary copy constructor.
+  /*!
+    The complexity argument is ignored.
+  */
+  Grid(const Grid& y,
+       Complexity_Class complexity = ANY_COMPLEXITY);
 
-inline
-Grid::Grid(Grid_Generator_System& ggs, Recycle_Input)
-  : con_sys(ggs.space_dimension() > max_space_dimension()
-	    ? throw_space_dimension_overflow("Grid(ggs, recycle)",
-					     "the space dimension of ggs "
-					     "exceeds the maximum allowed "
-					     "space dimension"), 0
-	    : ggs.space_dimension()),
-    gen_sys(ggs.space_dimension()) {
-  construct(ggs);
-}
+  /*! \brief
+    The assignment operator.  (\p *this and \p y can be
+    dimension-incompatible.)
+  */
+  Grid& operator=(const Grid& y);
 
-template <typename U>
-inline
-Grid::Grid(const BD_Shape<U>& bd,
-           Complexity_Class)
-  : con_sys(bd.space_dimension() > max_space_dimension()
-	    ? throw_space_dimension_overflow("Grid(bd)",
-					     "the space dimension of bd "
-					     "exceeds the maximum allowed "
-					     "space dimension"), 0
-	    : bd.space_dimension()),
-    gen_sys(bd.space_dimension()) {
-  Congruence_System cgs = bd.congruences();
-  construct(cgs);
-}
+  //! \name Member Functions that Do Not Modify the Grid
+  //@{
 
-template <typename U>
-inline
-Grid::Grid(const Octagonal_Shape<U>& os,
-           Complexity_Class)
-  : con_sys(os.space_dimension() > max_space_dimension()
-	    ? throw_space_dimension_overflow("Grid(os)",
-					     "the space dimension of os "
-					     "exceeds the maximum allowed "
-					     "space dimension"), 0
-	    : os.space_dimension()),
-    gen_sys(os.space_dimension()) {
-  Congruence_System cgs = os.congruences();
-  construct(cgs);
-}
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
 
-inline
-Grid::~Grid() {
-}
+  /*! \brief
+    Returns \f$0\f$, if \p *this is empty; otherwise, returns
+    the \ref Grid_Affine_Dimension "affine dimension" of \p *this.
+  */
+  dimension_type affine_dimension() const;
 
-inline dimension_type
-Grid::space_dimension() const {
-  return space_dim;
-}
+  /*! \brief
+    Returns a system of equality constraints satisfied by \p *this
+    with the same affine dimension as \p *this.
+  */
+  Constraint_System constraints() const;
 
-inline memory_size_type
-Grid::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
-}
+  /*! \brief
+    Returns a minimal system of equality constraints satisfied by
+    \p *this with the same affine dimension as \p *this.
+  */
+  Constraint_System minimized_constraints() const;
 
-inline int32_t
-Grid::hash_code() const {
-  return space_dimension() & 0x7fffffff;
-}
+  //! Returns the system of congruences.
+  const Congruence_System& congruences() const;
 
-inline Constraint_System
-Grid::constraints() const {
-    return Constraint_System(congruences());;
-}
+  //! Returns the system of congruences in minimal form.
+  const Congruence_System& minimized_congruences() const;
 
-inline Constraint_System
-Grid::minimized_constraints() const {
-    return Constraint_System(minimized_congruences());;
-}
+  //! Returns the system of generators.
+  const Grid_Generator_System& grid_generators() const;
 
-inline void
-Grid::swap(Grid& y) {
-  std::swap(con_sys, y.con_sys);
-  std::swap(gen_sys, y.gen_sys);
-  std::swap(status, y.status);
-  std::swap(space_dim, y.space_dim);
-  std::swap(dim_kinds, y.dim_kinds);
-}
+  //! Returns the minimized system of generators.
+  const Grid_Generator_System& minimized_grid_generators() const;
 
-inline void
-Grid::add_congruence(const Congruence& cg) {
-  // Dimension-compatibility check.
-  if (space_dim < cg.space_dimension())
-    throw_dimension_incompatible("add_congruence(cg)", "cg", cg);
+  //! Returns the relations holding between \p *this and \p cg.
+  /*
+    \exception std::invalid_argument
+    Thrown if \p *this and congruence \p cg are dimension-incompatible.
+  */
+  // FIXME: Poly_Con_Relation seems to encode exactly what we want
+  // here.  We must find a new name for that class.  Temporarily,
+  // we keep using it without changing the name.
+  Poly_Con_Relation relation_with(const Congruence& cg) const;
 
-  if (!marked_empty())
-    add_congruence_no_check(cg);
-}
+  //! Returns the relations holding between \p *this and \p g.
+  /*
+    \exception std::invalid_argument
+    Thrown if \p *this and generator \p g are dimension-incompatible.
+  */
+  // FIXME: see the comment for Poly_Con_Relation above.
+  Poly_Gen_Relation
+  relation_with(const Grid_Generator& g) const;
 
-inline void
-Grid::add_congruences(const Congruence_System& cgs) {
-  // TODO: this is just an executable specification.
-  // Space dimension compatibility check.
-  if (space_dim < cgs.space_dimension())
-    throw_dimension_incompatible("add_congruences(cgs)", "cgs", cgs);
+  //! Returns the relations holding between \p *this and \p g.
+  /*
+    \exception std::invalid_argument
+    Thrown if \p *this and generator \p g are dimension-incompatible.
+  */
+  // FIXME: see the comment for Poly_Con_Relation above.
+  Poly_Gen_Relation
+  relation_with(const Generator& g) const;
 
-  if (!marked_empty()) {
-    Congruence_System cgs_copy = cgs;
-    add_recycled_congruences(cgs_copy);
-  }
-}
+  //! Returns the relations holding between \p *this and \p c.
+  /*
+    \exception std::invalid_argument
+    Thrown if \p *this and constraint \p c are dimension-incompatible.
+  */
+  // FIXME: Poly_Con_Relation seems to encode exactly what we want
+  // here.  We must find a new name for that class.  Temporarily,
+  // we keep using it without changing the name.
+  Poly_Con_Relation relation_with(const Constraint& c) const;
 
-inline bool
-Grid::add_congruences_and_minimize(const Congruence_System& cgs) {
-  Congruence_System cgs_copy = cgs;
-  return add_recycled_congruences_and_minimize(cgs_copy);
-}
+  //! Returns \c true if and only if \p *this is an empty grid.
+  bool is_empty() const;
 
-inline void
-Grid::refine_with_congruence(const Congruence& cg) {
-  add_congruence(cg);
-}
+  //! Returns \c true if and only if \p *this is a universe grid.
+  bool is_universe() const;
 
-inline void
-Grid::refine_with_congruences(const Congruence_System& cgs) {
-  add_congruences(cgs);
-}
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is a
+    topologically closed subset of the vector space.
 
-inline bool
-Grid::can_recycle_constraint_systems() {
-  return true;
-}
+    A grid is always topologically closed.
+  */
+  bool is_topologically_closed() const;
 
-inline bool
-Grid::can_recycle_congruence_systems() {
-  return true;
-}
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this and \p y are
+    disjoint.
 
-inline void
-Grid::add_constraint(const Constraint& c) {
-  // Space dimension compatibility check.
-  if (space_dim < c.space_dimension())
-    throw_dimension_incompatible("add_constraint(c)", "c", c);
-  if (!marked_empty())
-    add_constraint_no_check(c);
-}
+    \exception std::invalid_argument
+    Thrown if \p x and \p y are dimension-incompatible.
+  */
+  bool is_disjoint_from(const Grid& y) const;
 
-inline bool
-Grid::add_constraint_and_minimize(const Constraint& c) {
-  add_constraint(c);
-  return minimize();
-}
+  //! Returns <CODE>true</CODE> if and only if \p *this is discrete.
+  /*!
+    A grid is discrete if it can be defined by a generator system which
+    contains only points and parameters.  This includes the empty grid
+    and any grid in dimension zero.
+  */
+  bool is_discrete() const;
 
-inline bool
-Grid::add_constraints_and_minimize(const Constraint_System& cs) {
-  add_constraints(cs);
-  return minimize();
-}
+  //! Returns <CODE>true</CODE> if and only if \p *this is bounded.
+  bool is_bounded() const;
 
-inline void
-Grid::add_recycled_constraints(Constraint_System& cs) {
-  // TODO: really recycle the constraints.
-  add_constraints(cs);
-}
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this
+    contains at least one integer point.
+  */
+  bool contains_integer_point() const;
 
-inline bool
-Grid::add_recycled_constraints_and_minimize(Constraint_System& cs) {
-  add_constraints(cs);
-  return minimize();
-}
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p var is constrained in
+    \p *this.
 
-inline bool
-Grid::bounds_from_above(const Linear_Expression& expr) const {
-  return bounds(expr, "bounds_from_above(e)");
-}
+    \exception std::invalid_argument
+    Thrown if \p var is not a space dimension of \p *this.
+  */
+  bool constrains(Variable var) const;
 
-inline bool
-Grid::bounds_from_below(const Linear_Expression& expr) const {
-  return bounds(expr, "bounds_from_below(e)");
-}
+  //! Returns <CODE>true</CODE> if and only if \p expr is bounded in \p *this.
+  /*!
+    This method is the same as bounds_from_below.
 
-inline bool
-Grid::maximize(const Linear_Expression& expr,
-	       Coefficient& sup_n, Coefficient& sup_d, bool& maximum) const {
-  return max_min(expr, "maximize(e, ...)", sup_n, sup_d, maximum);
-}
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+  */
+  bool bounds_from_above(const Linear_Expression& expr) const;
 
-inline bool
-Grid::maximize(const Linear_Expression& expr,
-	       Coefficient& sup_n, Coefficient& sup_d, bool& maximum,
-	       Generator& point) const {
-  return max_min(expr, "maximize(e, ...)", sup_n, sup_d, maximum, &point);
-}
+  //! Returns <CODE>true</CODE> if and only if \p expr is bounded in \p *this.
+  /*!
+    This method is the same as bounds_from_above.
 
-inline bool
-Grid::minimize(const Linear_Expression& expr,
-	       Coefficient& inf_n, Coefficient& inf_d, bool& minimum) const {
-  return max_min(expr, "minimize(e, ...)", inf_n, inf_d, minimum);
-}
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+  */
+  bool bounds_from_below(const Linear_Expression& expr) const;
 
-inline bool
-Grid::minimize(const Linear_Expression& expr,
-	       Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
-	       Generator& point) const {
-  return max_min(expr, "minimize(e, ...)", inf_n, inf_d, minimum, &point);
-}
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is not empty and
+    \p expr is bounded from above in \p *this, in which case the
+    supremum value is computed.
 
-inline void
-Grid::normalize_divisors(Grid_Generator_System& sys) {
-  PPL_DIRTY_TEMP_COEFFICIENT(divisor);
-  divisor = 1;
-  normalize_divisors(sys, divisor);
-}
+    \param expr
+    The linear expression to be maximized subject to \p *this;
 
-/*! \relates Grid */
-inline bool
-operator!=(const Grid& x, const Grid& y) {
-  return !(x == y);
-}
+    \param sup_n
+    The numerator of the supremum value;
 
-inline bool
-Grid::strictly_contains(const Grid& y) const {
-  const Grid& x = *this;
-  return x.contains(y) && !y.contains(x);
-}
+    \param sup_d
+    The denominator of the supremum value;
 
-inline void
-Grid::topological_closure_assign() {
-  return;
-}
+    \param maximum
+    <CODE>true</CODE> if the supremum value can be reached in \p this.
+    Always <CODE>true</CODE> when \p this bounds \p expr.  Present for
+    interface compatibility with class Polyhedron, where closure
+    points can result in a value of false.
 
-} // namespace Parma_Polyhedra_Library
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-namespace std {
+    If \p *this is empty or \p expr is not bounded by \p *this,
+    <CODE>false</CODE> is returned and \p sup_n, \p sup_d and \p
+    maximum are left untouched.
+  */
+  bool maximize(const Linear_Expression& expr,
+		Coefficient& sup_n, Coefficient& sup_d, bool& maximum) const;
 
-/*! \relates Parma_Polyhedra_Library::Grid */
-inline void
-swap(Parma_Polyhedra_Library::Grid& x,
-     Parma_Polyhedra_Library::Grid& y) {
-  x.swap(y);
-}
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is not empty and
+    \p expr is bounded from above in \p *this, in which case the
+    supremum value and a point where \p expr reaches it are computed.
+
+    \param expr
+    The linear expression to be maximized subject to \p *this;
 
-} // namespace std
+    \param sup_n
+    The numerator of the supremum value;
 
-/* Automatically generated from PPL source file ../src/Grid.templates.hh line 1. */
-/* Grid class implementation: inline functions.
-*/
+    \param sup_d
+    The denominator of the supremum value;
 
+    \param maximum
+    <CODE>true</CODE> if the supremum value can be reached in \p this.
+    Always <CODE>true</CODE> when \p this bounds \p expr.  Present for
+    interface compatibility with class Polyhedron, where closure
+    points can result in a value of false;
 
-/* Automatically generated from PPL source file ../src/Grid.templates.hh line 29. */
-#include <algorithm>
-#include <deque>
+    \param point
+    When maximization succeeds, will be assigned a point where \p expr
+    reaches its supremum value.
 
-namespace Parma_Polyhedra_Library {
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-template <typename Interval>
-Grid::Grid(const Box<Interval>& box,
-           Complexity_Class)
-  : con_sys(),
-    gen_sys() {
-  if (box.space_dimension() > max_space_dimension())
-    throw_space_dimension_overflow("Grid(box, from_bounding_box)",
-				   "the space dimension of box "
-				   "exceeds the maximum allowed "
-				   "space dimension");
+    If \p *this is empty or \p expr is not bounded by \p *this,
+    <CODE>false</CODE> is returned and \p sup_n, \p sup_d, \p maximum
+    and \p point are left untouched.
+  */
+  bool maximize(const Linear_Expression& expr,
+		Coefficient& sup_n, Coefficient& sup_d, bool& maximum,
+		Generator& point) const;
 
-  space_dim = box.space_dimension();
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is not empty and
+    \p expr is bounded from below in \p *this, in which case the
+    infimum value is computed.
 
-  if (box.is_empty()) {
-    // Empty grid.
-    set_empty();
-    assert(OK());
-    return;
-  }
+    \param expr
+    The linear expression to be minimized subject to \p *this;
 
-  if (space_dim == 0)
-    set_zero_dim_univ();
-  else {
-    // Initialize the space dimension as indicated by the box.
-    con_sys.increase_space_dimension(space_dim);
-    // Add congruences and generators according to `box'.
-    PPL_DIRTY_TEMP_COEFFICIENT(l_n);
-    PPL_DIRTY_TEMP_COEFFICIENT(l_d);
-    PPL_DIRTY_TEMP_COEFFICIENT(u_n);
-    PPL_DIRTY_TEMP_COEFFICIENT(u_d);
-    gen_sys.insert(grid_point(0*Variable(space_dim-1)));
-    Grid_Generator& point = gen_sys[0];
-    for (dimension_type k = space_dim; k-- > 0; ) {
-      bool closed = false;
-      // TODO: Consider producing the system(s) in minimized form.
-      if (box.get_lower_bound(k, closed, l_n, l_d)) {
-	if (box.get_upper_bound(k, closed, u_n, u_d))
-	  if (l_n * u_d == u_n * l_d) {
-	    // A point interval sets dimension k of every point to a
-	    // single value.
-	    con_sys.insert(l_d * Variable(k) == l_n);
+    \param inf_n
+    The numerator of the infimum value;
 
-	    // Scale the point to use as divisor the lcm of the
-	    // divisors of the existing point and the lower bound.
-	    const Coefficient& point_divisor = point.divisor();
-	    gcd_assign(u_n, l_d, point_divisor);
-	    // `u_n' now holds the gcd.
-	    exact_div_assign(u_n, point_divisor, u_n);
-	    if (l_d < 0)
-	      neg_assign(u_n);
-	    // l_d * u_n == abs(l_d * (point_divisor / gcd(l_d, point_divisor)))
-	    point.scale_to_divisor(l_d * u_n);
-	    // Set dimension k of the point to the lower bound.
-	    if (l_d < 0)
-	      neg_assign(u_n);
-	    // point[k + 1] = l_n * point_divisor / gcd(l_d, point_divisor)
-	    point[k + 1] = l_n * u_n;
+    \param inf_d
+    The denominator of the infimum value;
 
-	    continue;
-	  }
-      }
-      // A universe interval allows any value in dimension k.
-      gen_sys.insert(grid_line(Variable(k)));
-    }
-    set_congruences_up_to_date();
-    set_generators_up_to_date();
-    gen_sys.unset_pending_rows();
-    gen_sys.set_sorted(false);
-  }
+    \param minimum
+    <CODE>true</CODE> if the is the infimum value can be reached in \p
+    this.  Always <CODE>true</CODE> when \p this bounds \p expr.
+    Present for interface compatibility with class Polyhedron, where
+    closure points can result in a value of false.
 
-  assert(OK());
-}
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-template <typename Box>
-Grid::Grid(const Box& box, From_Covering_Box)
-  : con_sys(),
-    gen_sys() {
+    If \p *this is empty or \p expr is not bounded from below,
+    <CODE>false</CODE> is returned and \p inf_n, \p inf_d
+    and \p minimum are left untouched.
+  */
+  bool minimize(const Linear_Expression& expr,
+		Coefficient& inf_n, Coefficient& inf_d, bool& minimum) const;
 
-  if (box.space_dimension() > max_space_dimension())
-    throw_space_dimension_overflow("Grid(box, from_covering_box)",
-				   "the space dimension of box "
-				   "exceeds the maximum allowed "
-				   "space dimension");
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is not empty and
+    \p expr is bounded from below in \p *this, in which case the
+    infimum value and a point where \p expr reaches it are computed.
 
-  space_dim = box.space_dimension();
+    \param expr
+    The linear expression to be minimized subject to \p *this;
 
-  PPL_DIRTY_TEMP_COEFFICIENT(l_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(l_d);
+    \param inf_n
+    The numerator of the infimum value;
 
-  // FIXME: consider whether or not covering boxes supporting open
-  // boundaries should be disabled at compile time. If that is not
-  // the case, consider if the test !box.is_topologically_closed()
-  // can replace the whole loop here below.
+    \param inf_d
+    The denominator of the infimum value;
 
-  // Check that no finite bounds is open. This check must be done before
-  // the empty test below, as an open bound might mean an empty box.
-  for (dimension_type k = space_dim; k-- > 0; ) {
-    bool closed = false;
-    if (box.get_lower_bound(k, closed, l_n, l_d) && !closed)
-      throw_invalid_argument("Grid(box, from_covering_box)", "box");
-    if (box.get_upper_bound(k, closed, l_n, l_d) && !closed)
-      throw_invalid_argument("Grid(box, from_covering_box)", "box");
-  }
+    \param minimum
+    <CODE>true</CODE> if the is the infimum value can be reached in \p
+    this.  Always <CODE>true</CODE> when \p this bounds \p expr.
+    Present for interface compatibility with class Polyhedron, where
+    closure points can result in a value of false;
 
-  if (box.is_empty()) {
-    // Empty grid.
-    set_empty();
-    assert(OK());
-    return;
-  }
+    \param point
+    When minimization succeeds, will be assigned a point where \p expr
+    reaches its infimum value.
 
-  if (space_dim == 0)
-    set_zero_dim_univ();
-  else {
-    // Initialize the space dimension as indicated by the box.
-    con_sys.increase_space_dimension(space_dim);
-    // Add congruences according to `box'.
-    PPL_DIRTY_TEMP_COEFFICIENT(u_n);
-    PPL_DIRTY_TEMP_COEFFICIENT(u_d);
-    PPL_DIRTY_TEMP_COEFFICIENT(d);
-    gen_sys.insert(grid_point(0*Variable(space_dim-1)));
-    Grid_Generator& point = gen_sys[0];
-    for (dimension_type k = space_dim; k-- > 0; ) {
-      bool closed = false;
-      // TODO: Consider producing the system(s) in minimized form.
-      if (box.get_lower_bound(k, closed, l_n, l_d)) {
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-	const Coefficient& point_divisor = point.divisor();
-	assert(l_d > 0);
-	assert(point_divisor > 0);
-	// Use `d' to hold the gcd.
-	gcd_assign(d, l_d, point_divisor);
-	// Scale the point to use as divisor the lcm of the existing
-	// point divisor and the divisor of the lower bound.
-	exact_div_assign(d, point_divisor, d);
-	// l_d * d == abs(l_d) * (point_divisor / gcd(l_d, point_divisor))
-	point.scale_to_divisor(l_d * d);
-	// Set dimension k of the point to the lower bound.
-	// point[k + 1] = l_n * (point_divisor / gcd(l_d, point_divisor))
-	point[k + 1] = l_n * d;
-
-	if (box.get_upper_bound(k, closed, u_n, u_d)) {
-	  if (l_n * u_d == u_n * l_d) {
-	    // A point interval allows any point along the dimension
-	    // k axis.
-	    gen_sys.insert(grid_line(Variable(k)));
-	    continue;
-	  }
-	  assert(l_d > 0);
-	  assert(u_d > 0);
-	  gcd_assign(d, l_d, u_d);
-	  // `d' is the gcd of the divisors.
-	  exact_div_assign(l_d, l_d, d);
-	  exact_div_assign(d, u_d, d);
-	  l_n *= d;
-	  // `l_d' is now the smallest integer expression of the size of
-	  // the original l_d relative to u_d.
-	  u_n = (u_n * l_d) - l_n;
-	  // `u_n' is now the distance between u_n and l_n (given a
-	  // divisor of lcm of l_d and u_d.
-	  l_d *= u_d;
-	  // `l_d' is now the lcm of the divisors.
-	  con_sys.insert((l_d * Variable(k) %= l_n) / u_n);
-	  gen_sys.insert(parameter(u_n * Variable(k), l_d));
-	}
-	else
-	  // An interval bounded only from below produces an
-	  // equality.
-	  con_sys.insert(l_d * Variable(k) == l_n);
-      }
-      else
-	if (box.get_upper_bound(k, closed, u_n, u_d)) {
-	  const Coefficient& point_divisor = point.divisor();
-	  assert(u_d > 0);
-	  assert(point_divisor > 0);
-	  // Use `d' to hold the gcd.
-	  gcd_assign(d, u_d, point_divisor);
-	  // Scale the point to use as divisor the lcm of the existing
-	  // point divisor and the divisor of the lower bound.
-	  exact_div_assign(d, point_divisor, d);
-	  // u_d * d == abs(u_d) * (point_divisor / gcd(u_d, point_divisor))
-	  point.scale_to_divisor(u_d * d);
-	  // Set dimension k of the point to the lower bound.
-	  // point[k + 1] = u_n * (point_divisor / gcd(u_d, point_divisor))
-	  point[k + 1] = u_n * d;
-
-	  // An interval bounded only from above produces an equality.
-	  con_sys.insert(u_d * Variable(k) == u_n);
-	}
-	else {
-	  // Any universe interval produces an empty grid.
-	  set_empty();
-	  assert(OK());
-	  return;
-	}
-    }
-    normalize_divisors(gen_sys);
-    set_congruences_up_to_date();
-    set_generators_up_to_date();
-    gen_sys.set_sorted(false);
-    gen_sys.unset_pending_rows();
-  }
+    If \p *this is empty or \p expr is not bounded from below,
+    <CODE>false</CODE> is returned and \p inf_n, \p inf_d, \p minimum
+    and \p point are left untouched.
+  */
+  bool minimize(const Linear_Expression& expr,
+		Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
+		Generator& point) const;
 
-  assert(OK());
-}
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is not empty and
+    \ref Grid_Frequency "frequency" for \p *this with respect to \p expr
+    is defined, in which case the frequency and the value for \p expr
+    that is closest to zero are computed.
 
-template <typename Interval>
-void
-Grid::get_covering_box(Box<Interval>& box) const {
-  // Dimension-compatibility check.
-  if (space_dim > box.space_dimension())
-    throw_dimension_incompatible("get_covering_box(box)", "box",
-				 box.space_dimension());
+    \param expr
+    The linear expression for which the frequency is needed;
 
-  Box<Interval> new_box(box.space_dimension());
+    \param freq_n
+    The numerator of the maximum frequency of \p expr;
 
-  if (marked_empty()) {
-    box = new_box;
-    box.set_empty();
-    return;
-  }
-  if (space_dim == 0) {
-    return;
-  }
-  if (!generators_are_up_to_date() && !update_generators()) {
-    // Updating found the grid empty.
-    box = new_box;
-    box.set_empty();
-    return;
-  }
+    \param freq_d
+    The denominator of the maximum frequency of \p expr;
 
-  assert(!gen_sys.has_no_rows());
+    \param val_n
+    The numerator of them value of \p expr at a point in the grid
+    that is closest to zero;
 
-  dimension_type num_dims = gen_sys.num_columns() - 2 /* parameter divisor */;
-  dimension_type num_rows = gen_sys.num_rows();
+    \param val_d
+    The denominator of a value of \p expr at a point in the grid
+    that is closest to zero;
 
-  PPL_DIRTY_TEMP_COEFFICIENT(gcd);
-  PPL_DIRTY_TEMP_COEFFICIENT(bound);
-
-  if (num_rows > 1) {
-    Row interval_sizes(num_dims, Row::Flags());
-    std::vector<bool> interval_emptiness(num_dims, false);
-
-    // Store in `interval_sizes', for each column (that is, for each
-    // dimension), the GCD of all the values in that column where the
-    // row is of type parameter.
-
-    for (dimension_type dim = num_dims; dim-- > 0; )
-      interval_sizes[dim] = 0;
-    const Grid_Generator *first_point = NULL;
-    for (dimension_type row = 0; row < num_rows; ++row) {
-      Grid_Generator& gen = const_cast<Grid_Generator&>(gen_sys[row]);
-      if (gen.is_line()) {
-	for (dimension_type dim = 0; dim < num_dims; ++dim)
-	  if (!interval_emptiness[dim] && gen[dim+1] != 0) {
-	    // Empty interval, set both bounds for associated
-      	    // dimension to zero.
-            new_box.add_constraint(Variable(dim) == 0);
-	    interval_emptiness[dim] = true;
-	  }
-	continue;
-      }
-      if (gen.is_point()) {
-	if (first_point == NULL) {
-	  first_point = &gen_sys[row];
-	  continue;
-	}
-	const Grid_Generator& point = *first_point;
-	// Convert the point `gen' to a parameter.
-	dimension_type dim = num_dims;
-	do {
-	  gen[dim] -= point[dim];
-	}
-	while (dim-- > 0);
-	gen.set_divisor(point.divisor());
-      }
-      for (dimension_type dim = num_dims; dim-- > 0; )
-	if (!interval_emptiness[dim])
-	  gcd_assign(interval_sizes[dim], interval_sizes[dim], gen[dim+1]);
-    }
-
-    // For each dimension set the lower bound of the interval to the
-    // grid value closest to the origin, and the upper bound to the
-    // addition of the lower bound and the shortest distance in the
-    // given dimension between any two grid points.
-    const Grid_Generator& point = *first_point;
-    const Coefficient& divisor = point.divisor();
-    PPL_DIRTY_TEMP_COEFFICIENT(lower_bound);
-    for (dimension_type dim = num_dims; dim-- > 0; ) {
-      if (interval_emptiness[dim])
-	continue;
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-      lower_bound = point[dim+1];
-
-      // If the interval size is zero then all points have the same
-      // value in this dimension, so set only the lower bound.
-      if (interval_sizes[dim] != 0) {
-	// Make the lower bound as close as possible to the origin,
-	// leaving the sign the same.
-	lower_bound %= interval_sizes[dim];
-	// Check if the lowest value the other side of the origin is
-	// closer to the origin, preferring the lowest positive if they
-	// are equal.
-	if (lower_bound > 0) {
-	  if (interval_sizes[dim] - lower_bound < lower_bound)
-	    lower_bound -= interval_sizes[dim];
-	}
-	else if (lower_bound < 0
-		 && interval_sizes[dim] + lower_bound < - lower_bound)
-	  lower_bound += interval_sizes[dim];
-
-	// Reduce the bound fraction first.
-	bound = interval_sizes[dim] + lower_bound;
-	gcd_assign(gcd, bound, divisor);
-	exact_div_assign(bound, bound, gcd);
-	exact_div_assign(gcd, divisor, gcd);
-	// `gcd' now holds the reduced divisor.
-        new_box.add_constraint(gcd*Variable(dim) <= bound);
-      }
+    If \p *this is empty or frequency is undefined with respect to \p expr,
+    then <CODE>false</CODE> is returned and \p freq_n, \p freq_d,
+    \p val_n and \p val_d are left untouched.
+  */
+  bool frequency(const Linear_Expression& expr,
+                 Coefficient& freq_n, Coefficient& freq_d,
+                 Coefficient& val_n, Coefficient& val_d) const;
 
-      // Reduce the bound fraction first.
-      gcd_assign(gcd, lower_bound, divisor);
-      exact_div_assign(lower_bound, lower_bound, gcd);
-      exact_div_assign(gcd, divisor, gcd);
-      // `gcd' now holds the reduced divisor.
-      new_box.add_constraint(gcd*Variable(dim) >= lower_bound);
-    }
-  }
-  else {
-    const Grid_Generator& point = gen_sys[0];
-    const Coefficient& divisor = point.divisor();
-    // The covering box of a single point has only lower bounds.
-    for (dimension_type dim = num_dims; dim-- > 0; ) {
-      // Reduce the bound fraction first.
-      gcd_assign(gcd, point[dim+1], divisor);
-      exact_div_assign(bound, point[dim+1], gcd);
-      exact_div_assign(gcd, divisor, gcd);
-      // `gcd' now holds the reduced divisor.
-      new_box.add_constraint(gcd*Variable(dim) >= bound);
-    }
-  }
+  //! Returns <CODE>true</CODE> if and only if \p *this contains \p y.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  bool contains(const Grid& y) const;
 
-  box.swap(new_box);
-}
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this strictly
+    contains \p y.
 
-template <typename Partial_Function>
-void
-Grid::map_space_dimensions(const Partial_Function& pfunc) {
-  if (space_dim == 0)
-    return;
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  bool strictly_contains(const Grid& y) const;
 
-  if (pfunc.has_empty_codomain()) {
-    // All dimensions vanish: the grid becomes zero_dimensional.
-    if (marked_empty()
-	|| (!generators_are_up_to_date() && !update_generators())) {
-      // Removing all dimensions from the empty grid.
-      space_dim = 0;
-      set_empty();
-    }
-    else
-      // Removing all dimensions from a non-empty grid.
-      set_zero_dim_univ();
+  //! Checks if all the invariants are satisfied.
+  /*!
+    \return
+    <CODE>true</CODE> if and only if \p *this satisfies all the
+    invariants and either \p check_not_empty is <CODE>false</CODE> or
+    \p *this is not empty.
 
-    assert(OK());
-    return;
-  }
+    \param check_not_empty
+    <CODE>true</CODE> if and only if, in addition to checking the
+    invariants, \p *this must be checked to be not empty.
 
-  dimension_type new_space_dimension = pfunc.max_in_codomain() + 1;
+    The check is performed so as to intrude as little as possible.  If
+    the library has been compiled with run-time assertions enabled,
+    error messages are written on <CODE>std::cerr</CODE> in case
+    invariants are violated. This is useful for the purpose of
+    debugging the library.
+  */
+  bool OK(bool check_not_empty = false) const;
 
-  if (new_space_dimension == space_dim) {
-    // The partial function `pfunc' is indeed total and thus specifies
-    // a permutation, that is, a renaming of the dimensions.  For
-    // maximum efficiency, we will simply permute the columns of the
-    // constraint system and/or the generator system.
+  //@} // Member Functions that Do Not Modify the Grid
 
-    // We first compute suitable permutation cycles for the columns of
-    // the `con_sys' and `gen_sys' matrices.  We will represent them
-    // with a linear array, using 0 as a terminator for each cycle
-    // (notice that the columns with index 0 of `con_sys' and
-    // `gen_sys' represent the inhomogeneous terms, and thus are
-    // unaffected by the permutation of dimensions).
-    // Cycles of length 1 will be omitted so that, in the worst case,
-    // we will have `space_dim' elements organized in `space_dim/2'
-    // cycles, which means we will have at most `space_dim/2'
-    // terminators.
-    std::vector<dimension_type> cycles;
-    cycles.reserve(space_dim + space_dim/2);
+  //! \name Space Dimension Preserving Member Functions that May Modify the Grid
+  //@{
 
-    // Used to mark elements as soon as they are inserted in a cycle.
-    std::deque<bool> visited(space_dim);
+  //! Adds a copy of congruence \p cg to \p *this.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p *this and congruence \p cg are
+    dimension-incompatible.
+  */
+  void add_congruence(const Congruence& cg);
 
-    for (dimension_type i = space_dim; i-- > 0; ) {
-      if (!visited[i]) {
-	dimension_type j = i;
-	do {
-	  visited[j] = true;
-	  // The following initialization is only to make the compiler happy.
-	  dimension_type k = 0;
-	  if (!pfunc.maps(j, k))
-	    throw_invalid_argument("map_space_dimensions(pfunc)",
-				   " pfunc is inconsistent");
-	  if (k == j)
-	    // Cycle of length 1: skip it.
-	    goto skip;
+  /*! \brief
+    Adds a copy of grid generator \p g to the system of generators of
+    \p *this.
 
-	  cycles.push_back(j+1);
-	  // Go along the cycle.
-	  j = k;
-	} while (!visited[j]);
-	// End of cycle: mark it.
-	cycles.push_back(0);
-      skip:
-	;
-      }
-    }
+    \exception std::invalid_argument
+    Thrown if \p *this and generator \p g are dimension-incompatible,
+    or if \p *this is an empty grid and \p g is not a point.
+  */
+  void add_grid_generator(const Grid_Generator& g);
 
-    // If `cycles' is empty then `pfunc' is the identity.
-    if (cycles.empty())
-      return;
+  //! Adds a copy of each congruence in \p cgs to \p *this.
+  /*!
+    \param cgs
+    Contains the congruences that will be added to the system of
+    congruences of \p *this.
 
-    // Permute all that is up-to-date.
-    if (congruences_are_up_to_date()) {
-      con_sys.permute_columns(cycles);
-      clear_congruences_minimized();
-    }
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cgs are dimension-incompatible.
+  */
+  void add_congruences(const Congruence_System& cgs);
 
-    if (generators_are_up_to_date()) {
-      gen_sys.permute_columns(cycles);
-      clear_generators_minimized();
-    }
+  //! Adds the congruences in \p cgs to *this.
+  /*!
+    \param cgs
+    The congruence system to be added to \p *this.  The congruences in
+    \p cgs may be recycled.
 
-    assert(OK());
-    return;
-  }
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cgs are dimension-incompatible.
 
-  // If control gets here, then `pfunc' is not a permutation and some
-  // dimensions must be projected away.
+    \warning
+    The only assumption that can be made about \p cgs upon successful
+    or exceptional return is that it can be safely destroyed.
+  */
+  void add_recycled_congruences(Congruence_System& cgs);
 
-  const Grid_Generator_System& old_gensys = grid_generators();
+  /*! \brief
+    Adds to \p *this a congruence equivalent to constraint \p c.
 
-  if (old_gensys.has_no_rows()) {
-    // The grid is empty.
-    Grid new_grid(new_space_dimension, EMPTY);
-    std::swap(*this, new_grid);
-    assert(OK());
-    return;
-  }
+    \param c
+    The constraint to be added.
 
-  // Make a local copy of the partial function.
-  std::vector<dimension_type> pfunc_maps(space_dim, not_a_dimension());
-  for (dimension_type j = space_dim; j-- > 0; ) {
-    dimension_type pfunc_j;
-    if (pfunc.maps(j, pfunc_j))
-      pfunc_maps[j] = pfunc_j;
-  }
+    \exception std::invalid_argument
+    Thrown if \p *this and \p c are dimension-incompatible
+    or if constraint \p c is not optimally supported by the grid domain.
+  */
+  void add_constraint(const Constraint& c);
 
-  Grid_Generator_System new_gensys;
-  // Set sortedness, for the assertion met via gs::insert.
-  new_gensys.set_sorted(false);
-  // Get the divisor of the first point.
-  Grid_Generator_System::const_iterator i;
-  Grid_Generator_System::const_iterator old_gensys_end = old_gensys.end();
-  for (i = old_gensys.begin(); i != old_gensys_end; ++i)
-    if (i->is_point())
-      break;
-  assert(i != old_gensys_end);
-  const Coefficient& system_divisor = i->divisor();
-  for (i = old_gensys.begin(); i != old_gensys_end; ++i) {
-    const Grid_Generator& old_g = *i;
-    Linear_Expression e(0 * Variable(new_space_dimension-1));
-    bool all_zeroes = true;
-    for (dimension_type j = space_dim; j-- > 0; ) {
-      if (old_g.coefficient(Variable(j)) != 0
-	  && pfunc_maps[j] != not_a_dimension()) {
-	e += Variable(pfunc_maps[j]) * old_g.coefficient(Variable(j));
-	all_zeroes = false;
-      }
-    }
-    switch (old_g.type()) {
-    case Grid_Generator::LINE:
-      if (!all_zeroes)
-	new_gensys.insert(grid_line(e));
-      break;
-    case Grid_Generator::PARAMETER:
-      if (!all_zeroes)
-	new_gensys.insert(parameter(e, system_divisor));
-      break;
-    case Grid_Generator::POINT:
-      new_gensys.insert(grid_point(e, old_g.divisor()));
-      break;
-    case Grid_Generator::CLOSURE_POINT:
-    default:
-      assert(0);
-    }
-  }
+  /*! \brief
+    Adds to \p *this congruences equivalent to the constraints in \p cs.
 
-  Grid new_grid(new_gensys);
-  std::swap(*this, new_grid);
+    \param cs
+    The constraints to be added.
 
-  assert(OK(true));
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are dimension-incompatible
+    or if \p cs contains a constraint whcih is not optimally supported
+    by the grid domain.
+  */
+  void add_constraints(const Constraint_System& cs);
 
-// Needed for converting the congruence or grid_generator system
-// to "strong minimal form".
-template <typename M, typename R>
-void
-Grid::reduce_reduced(M& sys,
-		     const dimension_type dim,
-		     const dimension_type pivot_index,
-		     const dimension_type start,
-		     const dimension_type end,
-		     const Dimension_Kinds& dim_kinds,
-		     const bool generators) {
-  R& pivot = sys[pivot_index];
+  /*! \brief
+    Adds to \p *this congruences equivalent to the constraints in \p cs.
 
-  const Coefficient& pivot_dim = pivot[dim];
+    \param cs
+    The constraints to be added. They may be recycled.
 
-  if (pivot_dim == 0)
-    return;
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are dimension-incompatible
+    or if \p cs contains a constraint whcih is not optimally supported
+    by the grid domain.
 
-  PPL_DIRTY_TEMP_COEFFICIENT(pivot_dim_half);
-  pivot_dim_half = (pivot_dim + 1) / 2;
-  Dimension_Kind row_kind = dim_kinds[dim];
-  Dimension_Kind line_or_equality, virtual_kind;
-  int jump;
-  if (generators) {
-    line_or_equality = LINE;
-    virtual_kind = GEN_VIRTUAL;
-    jump = -1;
-  }
-  else {
-    line_or_equality = EQUALITY;
-    virtual_kind = CON_VIRTUAL;
-    jump = 1;
-  }
+    \warning
+    The only assumption that can be made about \p cs upon successful
+    or exceptional return is that it can be safely destroyed.
+  */
+  void add_recycled_constraints(Constraint_System& cs);
 
-  PPL_DIRTY_TEMP_COEFFICIENT(num_rows_to_subtract);
-  PPL_DIRTY_TEMP_COEFFICIENT(row_dim_remainder);
-  for (dimension_type row_index = pivot_index, kinds_index = dim + jump;
-       row_index-- > 0;
-       kinds_index += jump) {
-    // Move over any virtual rows.
-    while (dim_kinds[kinds_index] == virtual_kind)
-      kinds_index += jump;
+  //! Uses a copy of the congruence \p cg to refine \p *this.
+  /*!
+    \param cg
+    The congruence used.
 
-    // row_kind CONGRUENCE is included as PARAMETER
-    if (row_kind == line_or_equality
-	|| (row_kind == PARAMETER
-	    && dim_kinds[kinds_index] == PARAMETER)) {
-      R& row = sys[row_index];
+    \exception std::invalid_argument
+    Thrown if \p *this and congruence \p cg are dimension-incompatible.
+  */
+  void refine_with_congruence(const Congruence& cg);
+
+ //! Uses a copy of the congruences in \p cgs to refine \p *this.
+  /*!
+    \param cgs
+    The congruences used.
 
-      const Coefficient& row_dim = row[dim];
-      // num_rows_to_subtract may be positive or negative.
-      num_rows_to_subtract = row_dim / pivot_dim;
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cgs are dimension-incompatible.
+  */
+  void refine_with_congruences(const Congruence_System& cgs);
 
-      // Ensure that after subtracting num_rows_to_subtract * r_dim
-      // from row_dim, -pivot_dim_half < row_dim <= pivot_dim_half.
-      // E.g., if pivot[dim] = 9, then after this reduction
-      // -5 < row_dim <= 5.
-      row_dim_remainder = row_dim % pivot_dim;
-      if (row_dim_remainder < 0) {
-	if (row_dim_remainder <= -pivot_dim_half)
-	  --num_rows_to_subtract;
-      }
-      else if (row_dim_remainder > 0 && row_dim_remainder > pivot_dim_half)
-	++num_rows_to_subtract;
+  //! Uses a copy of the constraint \p c to refine \p *this.
+  /*!
 
-      // Subtract num_rows_to_subtract copies of pivot from row i.  Only the
-      // entries from dim need to be subtracted, as the preceding
-      // entries are all zero.
-      // If num_rows_to_subtract is negative, these copies of pivot are
-      // added to row i.
-      if (num_rows_to_subtract != 0)
-	for (dimension_type col = start; col <= end; ++col)
-	  sub_mul_assign(row[col], num_rows_to_subtract, pivot[col]);
-    }
-  }
-}
+    \param c
+    The constraint used. If it is not an equality, it will be ignored
 
-} // namespace Parma_Polyhedra_Library
+    \exception std::invalid_argument
+    Thrown if \p *this and \p c are dimension-incompatible.
+  */
+  void refine_with_constraint(const Constraint& c);
 
-/* Automatically generated from PPL source file ../src/Grid.defs.hh line 2783. */
+  //! Uses a copy of the constraints in \p cs to refine \p *this.
+  /*!
+    \param cs
+    The constraints used. Constraints that are not equalities are ignored.
 
-/* Automatically generated from PPL source file ../src/Rational_Box.hh line 1. */
-/* Rational_Box class declaration and implementation.
-*/
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are dimension-incompatible.
+  */
+  void refine_with_constraints(const Constraint_System& cs);
 
+  /*! \brief
+    Adds a copy of the generators in \p gs to the system of generators
+    of \p *this.
 
-/* Automatically generated from PPL source file ../src/Rational_Interval.hh line 1. */
-/* Rational_Interval class declaration and implementation.
-*/
+    \param gs
+    Contains the generators that will be added to the system of
+    generators of \p *this.
 
+    \exception std::invalid_argument
+    Thrown if \p *this and \p gs are dimension-incompatible, or if
+    \p *this is empty and the system of generators \p gs is not empty,
+    but has no points.
+  */
+  void add_grid_generators(const Grid_Generator_System& gs);
 
-/* Automatically generated from PPL source file ../src/Interval.defs.hh line 1. */
-/* Declarations for the Interval class and its constituents.
-*/
+  /*! \brief
+    Adds the generators in \p gs to the system of generators of \p
+    *this.
 
+    \param gs
+    The generator system to be added to \p *this.  The generators in
+    \p gs may be recycled.
 
-/* Automatically generated from PPL source file ../src/assign_or_swap.hh line 1. */
-/* The assign_or_swap() utility functions.
-*/
+    \exception std::invalid_argument
+    Thrown if \p *this and \p gs are dimension-incompatible.
 
+    \warning
+    The only assumption that can be made about \p gs upon successful
+    or exceptional return is that it can be safely destroyed.
+  */
+  void add_recycled_grid_generators(Grid_Generator_System& gs);
 
-/* Automatically generated from PPL source file ../src/Has_Assign_Or_Swap.hh line 1. */
-/* Has_Assign_Or_Swap classes declarations.
-*/
+  /*! \brief
+    Computes the \ref Cylindrification "cylindrification" of \p *this with
+    respect to space dimension \p var, assigning the result to \p *this.
 
+    \param var
+    The space dimension that will be unconstrained.
 
-/* Automatically generated from PPL source file ../src/Has_Assign_Or_Swap.hh line 27. */
+    \exception std::invalid_argument
+    Thrown if \p var is not a space dimension of \p *this.
+  */
+  void unconstrain(Variable var);
 
-namespace Parma_Polyhedra_Library {
+  /*! \brief
+    Computes the \ref Cylindrification "cylindrification" of \p *this with
+    respect to the set of space dimensions \p vars,
+    assigning the result to \p *this.
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface
-  The assign_or_swap() method is not present by default.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T, typename Enable = void>
-struct Has_Assign_Or_Swap : public False {
-};
+    \param vars
+    The set of space dimension that will be unconstrained.
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface
-  The assign_or_swap() method is present if it is present (!).
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-struct Has_Assign_Or_Swap<T,
-			  typename Enable_If_Is<void (T::*)(T& x),
-						&T::assign_or_swap>::type>
-  : public True {
-};
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with one of the
+    Variable objects contained in \p vars.
+  */
+  void unconstrain(const Variables_Set& vars);
 
-} // namespace Parma_Polyhedra_Library
+  /*! \brief
+    Assigns to \p *this the intersection of \p *this and \p y.
 
-/* Automatically generated from PPL source file ../src/assign_or_swap.hh line 29. */
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void intersection_assign(const Grid& y);
 
-namespace Parma_Polyhedra_Library {
+  /*! \brief
+    Assigns to \p *this the least upper bound of \p *this and \p y.
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface
-  If there is an assign_or_swap() method, use it.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-inline typename Enable_If<Has_Assign_Or_Swap<T>::value, void>::type
-assign_or_swap(T& to, T& from) {
-  to.assign_or_swap(from);
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void upper_bound_assign(const Grid& y);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface
-  If there is no assign_or_swap() method but copies are not slow, copy.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-inline typename Enable_If<!Has_Assign_Or_Swap<T>::value
-                          && !Slow_Copy<T>::value, void>::type
-assign_or_swap(T& to, T& from) {
-  to = from;
-}
+  /*! \brief
+    If the upper bound of \p *this and \p y is exact it is assigned to \p
+    *this and <CODE>true</CODE> is returned, otherwise
+    <CODE>false</CODE> is returned.
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface
-  If there is no assign_or_swap() and copies are slow, delegate to std::swap().
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-inline typename Enable_If<!Has_Assign_Or_Swap<T>::value
-                          && Slow_Copy<T>::value, void>::type
-assign_or_swap(T& to, T& from) {
-  std::swap(to, from);
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  bool upper_bound_assign_if_exact(const Grid& y);
 
-} // namespace Parma_Polyhedra_Library
+  /*! \brief
+    Assigns to \p *this the \ref Convex_Polyhedral_Difference "grid-difference"
+    of \p *this and \p y.
 
-/* Automatically generated from PPL source file ../src/Interval.types.hh line 1. */
+    The grid difference between grids x and y is the smallest grid
+    containing all the points from x and y that are only in x.
 
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void difference_assign(const Grid& y);
 
-namespace Parma_Polyhedra_Library {
+  /*! \brief
+    Assigns to \p *this a \ref Meet_Preserving_Simplification
+    "meet-preserving simplification" of \p *this with respect to \p y.
+    If \c false is returned, then the intersection is empty.
 
-template <typename Boundary, typename Info>
-class Interval;
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are topology-incompatible or
+    dimension-incompatible.
+  */
+  bool simplify_using_context_assign(const Grid& y);
 
-} // namespace Parma_Polyhedra_Library
+  /*! \brief
+    Assigns to \p *this the \ref Grid_Affine_Transformation
+    "affine image" of \p
+    *this under the function mapping variable \p var to the affine
+    expression specified by \p expr and \p denominator.
 
-/* Automatically generated from PPL source file ../src/Interval_Info.defs.hh line 1. */
-/* Interval_Info class declaration and implementation.
-*/
+    \param var
+    The variable to which the affine expression is assigned;
 
+    \param expr
+    The numerator of the affine expression;
 
-/* Automatically generated from PPL source file ../src/Boundary.defs.hh line 1. */
-/* Interval boundary functions.
-*/
+    \param denominator
+    The denominator of the affine expression (optional argument with
+    default value 1).
 
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p expr and \p *this are
+    dimension-incompatible or if \p var is not a space dimension of
+    \p *this.
 
-/* Automatically generated from PPL source file ../src/Boundary.defs.hh line 27. */
+    \if Include_Implementation_Details
 
-namespace Parma_Polyhedra_Library {
+    When considering the generators of a grid, the
+    affine transformation
+    \f[
+      \frac{\sum_{i=0}^{n-1} a_i x_i + b}{\mathrm{denominator}}
+    \f]
+    is assigned to \p var where \p expr is
+    \f$\sum_{i=0}^{n-1} a_i x_i + b\f$
+    (\f$b\f$ is the inhomogeneous term).
 
-namespace Boundary_NS {
+    If congruences are up-to-date, it uses the specialized function
+    affine_preimage() (for the system of congruences)
+    and inverse transformation to reach the same result.
+    To obtain the inverse transformation we use the following observation.
 
-struct Unbounded {
-  Unbounded() {
-  }
-};
+    Observation:
+    -# The affine transformation is invertible if the coefficient
+       of \p var in this transformation (i.e., \f$a_\mathrm{var}\f$)
+       is different from zero.
+    -# If the transformation is invertible, then we can write
+       \f[
+  	 \mathrm{denominator} * {x'}_\mathrm{var}
+	   = \sum_{i = 0}^{n - 1} a_i x_i + b
+	   = a_\mathrm{var} x_\mathrm{var}
+	     + \sum_{i \neq var} a_i x_i + b,
+       \f]
+       so that the inverse transformation is
+       \f[
+	 a_\mathrm{var} x_\mathrm{var}
+           = \mathrm{denominator} * {x'}_\mathrm{var}
+             - \sum_{i \neq j} a_i x_i - b.
+       \f]
 
-const Unbounded UNBOUNDED;
+    Then, if the transformation is invertible, all the entities that
+    were up-to-date remain up-to-date. Otherwise only generators remain
+    up-to-date.
 
-struct Property {
-  enum Type {
-    SPECIAL_,
-    OPEN_,
-    NORMALIZED_
-  };
-  typedef bool Value;
-  static const Value default_value = true;
-  static const Value unsupported_value = false;
-  Property(Type t)
-    : type(t) {
-  }
-  Type type;
-};
+    \endif
+  */
+  void affine_image(Variable var,
+		    const Linear_Expression& expr,
+		    Coefficient_traits::const_reference denominator
+		    = Coefficient_one());
 
-static const Property SPECIAL(Property::SPECIAL_);
-static const Property OPEN(Property::OPEN_);
-static const Property NORMALIZED(Property::NORMALIZED_);
+  /*! \brief
+    Assigns to \p *this the \ref Grid_Affine_Transformation
+    "affine preimage" of
+    \p *this under the function mapping variable \p var to the affine
+    expression specified by \p expr and \p denominator.
 
-enum Boundary_Type {
-  LOWER = ROUND_DOWN,
-  UPPER = ROUND_UP
-};
+    \param var
+    The variable to which the affine expression is substituted;
 
-inline Rounding_Dir
-round_dir_check(Boundary_Type t, bool check = false) {
-  if (check)
-    return static_cast<Rounding_Dir>(t | ROUND_FPU_CHECK_INEXACT);
-  else
-    return static_cast<Rounding_Dir>(t);
-}
+    \param expr
+    The numerator of the affine expression;
 
-template <typename T, typename Info>
-inline Result
-special_set_boundary_infinity(Boundary_Type type, T&, Info& info) {
-  assert(Info::store_special);
-  info.set_boundary_property(type, SPECIAL);
-  return V_EQ;
-}
+    \param denominator
+    The denominator of the affine expression (optional argument with
+    default value 1).
 
-template <typename T, typename Info>
-inline bool
-special_is_boundary_infinity(Boundary_Type, const T&, const Info&) {
-  return true;
-}
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p expr and \p *this are
+    dimension-incompatible or if \p var is not a space dimension of \p *this.
 
-template <typename T, typename Info>
-inline bool
-special_is_open(Boundary_Type, const T&, const Info&) {
-  return !Info::may_contain_infinity;
-}
+    \if Include_Implementation_Details
 
-template <typename T, typename Info>
-inline bool
-normal_is_open(Boundary_Type type, const T& x, const Info& info) {
-  if (Info::store_open)
-    return info.get_boundary_property(type, OPEN);
-  else
-    return !Info::store_special && !Info::may_contain_infinity
-      && normal_is_boundary_infinity(type, x, info);
-}
+    When considering congruences of a grid, the affine transformation
+    \f[
+      \frac{\sum_{i=0}^{n-1} a_i x_i + b}{denominator},
+    \f]
+    is assigned to \p var where \p expr is
+    \f$\sum_{i=0}^{n-1} a_i x_i + b\f$
+    (\f$b\f$ is the inhomogeneous term).
 
-template <typename T, typename Info>
-inline bool
-is_open(Boundary_Type type, const T& x, const Info& info) {
-  if (Info::store_open)
-    return info.get_boundary_property(type, OPEN);
-  else
-    return !Info::may_contain_infinity
-      && is_boundary_infinity(type, x, info);
-}
+    If generators are up-to-date, then the specialized function
+    affine_image() is used (for the system of generators)
+    and inverse transformation to reach the same result.
+    To obtain the inverse transformation, we use the following observation.
 
-template <typename T, typename Info>
-inline Result
-set_unbounded(Boundary_Type type, T& x, Info& info) {
-  PPL_COMPILE_TIME_CHECK(Info::store_special
-                         || std::numeric_limits<T>::is_bounded
-                         || std::numeric_limits<T>::has_infinity,
-                         "unbounded is not representable");
-  Result r;
-  if (Info::store_special)
-    r = special_set_boundary_infinity(type, x, info);
-  else if (type == LOWER)
-    r = assign_r(x, MINUS_INFINITY, ROUND_UP);
-  else
-    r = assign_r(x, PLUS_INFINITY, ROUND_DOWN);
-  if (r == V_EQ && !Info::may_contain_infinity)
-    info.set_boundary_property(type, OPEN);
-  return r;
-}
+    Observation:
+    -# The affine transformation is invertible if the coefficient
+       of \p var in this transformation (i.e. \f$a_\mathrm{var}\f$)
+       is different from zero.
+    -# If the transformation is invertible, then we can write
+       \f[
+  	 \mathrm{denominator} * {x'}_\mathrm{var}
+	   = \sum_{i = 0}^{n - 1} a_i x_i + b
+           = a_\mathrm{var} x_\mathrm{var}
+               + \sum_{i \neq \mathrm{var}} a_i x_i + b,
+       \f],
+       the inverse transformation is
+       \f[
+	 a_\mathrm{var} x_\mathrm{var}
+           = \mathrm{denominator} * {x'}_\mathrm{var}
+               - \sum_{i \neq j} a_i x_i - b.
+       \f].
 
-template <typename T, typename Info>
-inline Result
-set_minus_infinity(Boundary_Type type, T& x, Info& info, bool open = false) {
-  /*
-  PPL_COMPILE_TIME_CHECK(Info::store_special
-                         || std::numeric_limits<T>::has_infinity,
-                         "minus infinity is not representable");
-  */
-  if (open)
-    assert(type == LOWER);
-  else
-    assert(Info::may_contain_infinity);
-  Result r;
-  if (Info::store_special) {
-    assert(type == LOWER);
-    r = special_set_boundary_infinity(type, x, info);
-  }
-  else
-    r = assign_r(x, MINUS_INFINITY, round_dir_check(type));
-  assert(r != VC_MINUS_INFINITY);
-  if (open || r != V_EQ)
-    info.set_boundary_property(type, OPEN);
-  return r;
-}
+    Then, if the transformation is invertible, all the entities that
+    were up-to-date remain up-to-date. Otherwise only congruences remain
+    up-to-date.
 
-template <typename T, typename Info>
-inline Result
-set_plus_infinity(Boundary_Type type, T& x, Info& info, bool open = false) {
-  /*
-  PPL_COMPILE_TIME_CHECK(Info::store_special
-                         || std::numeric_limits<T>::has_infinity,
-                         "minus infinity is not representable");
+    \endif
   */
-  if (open)
-    assert(type == UPPER);
-  else
-    assert(Info::may_contain_infinity);
-  Result r;
-  if (Info::store_special) {
-    assert(type == UPPER);
-    r = special_set_boundary_infinity(type, x, info);
-  }
-  else
-    r = assign_r(x, PLUS_INFINITY, round_dir_check(type));
-  assert(r != VC_MINUS_INFINITY);
-  if (open || r != V_EQ)
-    info.set_boundary_property(type, OPEN);
-  return r;
-}
+  void affine_preimage(Variable var,
+		       const Linear_Expression& expr,
+		       Coefficient_traits::const_reference denominator
+		         = Coefficient_one());
 
-template <typename T, typename Info>
-inline Result
-set_boundary_infinity(Boundary_Type type, T& x, Info& info, bool open = false) {
-  assert(open || Info::may_contain_infinity);
-  Result r;
-  if (Info::store_special)
-    r = special_set_boundary_infinity(type, x, info);
-  else if (type == LOWER)
-    r = assign_r(x, MINUS_INFINITY, round_dir_check(type));
-  else
-    r = assign_r(x, PLUS_INFINITY, round_dir_check(type));
-  assert(r == V_EQ);
-  if (open)
-    info.set_boundary_property(type, OPEN);
-  return r;
-}
+  /*! \brief
+    Assigns to \p *this the image of \p *this with respect to
+    the \ref Grid_Generalized_Image "generalized affine relation"
+    \f$\mathrm{var}' = \frac{\mathrm{expr}}{\mathrm{denominator}}
+    \pmod{\mathrm{modulus}}\f$.
 
-template <typename T, typename Info>
-inline Result
-shrink(Boundary_Type type, T& x, Info& info, bool check) {
-  Result r;
-  assert(!info.get_boundary_property(type, SPECIAL));
-  if (type == LOWER) {
-    r = info.restrict(round_dir_check(type, check), x, V_GT);
-    if (r != V_GT)
-      return r;
-  } else {
-    r = info.restrict(round_dir_check(type, check), x, V_LT);
-    if (r != V_LT)
-      return r;
-  }
-  info.set_boundary_property(type, OPEN);
-  return r;
-}
+    \param var
+    The left hand side variable of the generalized affine relation;
 
-template <typename T, typename Info>
-inline bool
-is_unbounded(Boundary_Type type, const T& x, const Info& info) {
-  if (Info::store_special)
-    return info.get_boundary_property(type, SPECIAL)
-      && special_is_boundary_infinity(type, x, info);
-  else if (std::numeric_limits<T>::has_infinity) {
-    if (type == LOWER)
-      return Parma_Polyhedra_Library::is_minus_infinity(x);
-    else
-      return Parma_Polyhedra_Library::is_plus_infinity(x);
-  }
-  else if (std::numeric_limits<T>::is_bounded) {
-    if (type == LOWER)
-      return x == std::numeric_limits<T>::min();
-    else
-      return x == std::numeric_limits<T>::max();
-  } else
-    return false;
-}
+    \param relsym
+    The relation symbol where EQUAL is the symbol for a congruence
+    relation;
+
+    \param expr
+    The numerator of the right hand side affine expression;
+
+    \param denominator
+    The denominator of the right hand side affine expression.
+    Optional argument with an automatic value of one;
+
+    \param modulus
+    The modulus of the congruence lhs %= rhs.  A modulus of zero
+    indicates lhs == rhs.  Optional argument with an automatic value
+    of zero.
+
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p expr and \p *this are
+    dimension-incompatible or if \p var is not a space dimension of \p
+    *this.
+  */
+  void
+  generalized_affine_image(Variable var,
+			   Relation_Symbol relsym,
+			   const Linear_Expression& expr,
+			   Coefficient_traits::const_reference denominator
+			   = Coefficient_one(),
+			   Coefficient_traits::const_reference modulus
+			   = Coefficient_zero());
+
+  /*! \brief
+    Assigns to \p *this the preimage of \p *this with respect to the
+    \ref Grid_Generalized_Image "generalized affine relation"
+    \f$\mathrm{var}' = \frac{\mathrm{expr}}{\mathrm{denominator}}
+    \pmod{\mathrm{modulus}}\f$.
 
-template <typename T, typename Info>
-inline bool
-normal_is_boundary_infinity(Boundary_Type type, const T& x, const Info&) {
-  if (type == LOWER)
-    return Parma_Polyhedra_Library::is_minus_infinity(x);
-  else
-    return Parma_Polyhedra_Library::is_plus_infinity(x);
-}
+    \param var
+    The left hand side variable of the generalized affine relation;
 
-template <typename T, typename Info>
-inline bool
-normal_is_reverse_infinity(Boundary_Type type, const T& x, const Info&) {
-  if (!Info::may_contain_infinity)
-    return false;
-  else if (type == LOWER)
-    return Parma_Polyhedra_Library::is_plus_infinity(x);
-  else
-    return Parma_Polyhedra_Library::is_minus_infinity(x);
-}
+    \param relsym
+    The relation symbol where EQUAL is the symbol for a congruence
+    relation;
 
-template <typename T, typename Info>
-inline bool
-is_minus_infinity(Boundary_Type type, const T& x, const Info& info) {
-  if (type == LOWER) {
-    if (Info::store_special)
-      return info.get_boundary_property(type, SPECIAL)
-	&& special_is_boundary_infinity(type, x, info);
-    else
-      return normal_is_boundary_infinity(type, x, info);
-  }
-  else
-    return !Info::store_special && normal_is_reverse_infinity(type, x, info);
-}
+    \param expr
+    The numerator of the right hand side affine expression;
 
-template <typename T, typename Info>
-inline bool
-is_plus_infinity(Boundary_Type type, const T& x, const Info& info) {
-  if (type == UPPER) {
-    if (Info::store_special)
-      return info.get_boundary_property(type, SPECIAL)
-	&& special_is_boundary_infinity(type, x, info);
-    else
-      return normal_is_boundary_infinity(type, x, info);
-  }
-  else
-    return !Info::store_special && normal_is_reverse_infinity(type, x, info);
-}
+    \param denominator
+    The denominator of the right hand side affine expression.
+    Optional argument with an automatic value of one;
 
-template <typename T, typename Info>
-inline bool
-is_boundary_infinity(Boundary_Type type, const T& x, const Info& info) {
-  if (Info::store_special)
-    return info.get_boundary_property(type, SPECIAL)
-      && special_is_boundary_infinity(type, x, info);
-  else
-    return normal_is_boundary_infinity(type, x, info);
-}
+    \param modulus
+    The modulus of the congruence lhs %= rhs.  A modulus of zero
+    indicates lhs == rhs.  Optional argument with an automatic value
+    of zero.
 
-template <typename T, typename Info>
-inline bool
-is_reverse_infinity(Boundary_Type type, const T& x, const Info& info) {
-  return !Info::store_special
-    && normal_is_reverse_infinity(type, x, info);
-}
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p expr and \p *this are
+    dimension-incompatible or if \p var is not a space dimension of \p
+    *this.
+  */
+  void
+  generalized_affine_preimage(Variable var,
+			      Relation_Symbol relsym,
+			      const Linear_Expression& expr,
+			      Coefficient_traits::const_reference denominator
+			      = Coefficient_one(),
+			      Coefficient_traits::const_reference modulus
+			      = Coefficient_zero());
 
-template <typename T, typename Info>
-inline int
-is_infinity(Boundary_Type type, const T& x, const Info& info) {
-  if (is_boundary_infinity(type, x, info))
-    return type == LOWER ? -1 : 1;
-  else if (is_reverse_infinity(type, x, info))
-    return type == UPPER ? -1 : 1;
-  else
-    return 0;
-}
+  /*! \brief
+    Assigns to \p *this the image of \p *this with respect to
+    the \ref Grid_Generalized_Image "generalized affine relation"
+    \f$\mathrm{lhs}' = \mathrm{rhs} \pmod{\mathrm{modulus}}\f$.
 
-template <typename T, typename Info>
-inline bool
-is_boundary_infinity_closed(Boundary_Type type, const T& x, const Info& info) {
-  return Info::may_contain_infinity
-    && !info.get_boundary_property(type, OPEN)
-    && is_boundary_infinity(type, x, info);
-}
+    \param lhs
+    The left hand side affine expression.
 
-template <typename Info>
-inline bool
-boundary_infinity_is_open(Boundary_Type type, const Info& info) {
-  return !Info::may_contain_infinity ||
-    info.get_boundary_property(type, OPEN);
-}
+    \param relsym
+    The relation symbol where EQUAL is the symbol for a congruence
+    relation;
 
-template <typename T, typename Info>
-inline int
-sgn_b(Boundary_Type type, const T& x, const Info& info) {
-  if (info.get_boundary_property(type, SPECIAL) &&
-      special_is_boundary_infinity(type, x, info))
-    return type == LOWER ? -1 : 1;
-  else
-    // The following Parma_Polyhedra_Library:: qualification is to work
-    // around a bug of GCC 4.0.x.
-    return Parma_Polyhedra_Library::sgn(x);
-}
+    \param rhs
+    The right hand side affine expression.
 
-template <typename T, typename Info>
-inline int
-sgn(Boundary_Type type, const T& x, const Info& info) {
-  int sign = sgn_b(type, x, info);
-  if (x == 0 && info.get_boundary_property(type, OPEN))
-    return type == LOWER ? -1 : 1;
-  else
-    return sign;
-}
+    \param modulus
+    The modulus of the congruence lhs %= rhs.  A modulus of zero
+    indicates lhs == rhs.  Optional argument with an automatic value
+    of zero.
 
-template <typename T1, typename Info1, typename T2, typename Info2>
-inline bool
-eq(Boundary_Type type1, const T1& x1, const Info1& info1,
-   Boundary_Type type2, const T2& x2, const Info2& info2) {
-  if (type1 == type2) {
-    if (is_open(type1, x1, info1)
-	!= is_open(type2, x2, info2))
-      return false;
-  }
-  else if (is_open(type1, x1, info1)
-	   || is_open(type2, x2, info2))
-    return false;
-  if (is_minus_infinity(type1, x1, info1))
-    return is_minus_infinity(type2, x2, info2);
-  else if (is_plus_infinity(type1, x1, info1))
-    return is_plus_infinity(type2, x2, info2);
-  else if (is_minus_infinity(type2, x2, info2) ||
-	   is_plus_infinity(type2, x2, info2))
-    return false;
-  else
-    return equal(x1, x2);
-}
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with \p lhs or \p
+    rhs.
+  */
+  void
+  generalized_affine_image(const Linear_Expression& lhs,
+			   Relation_Symbol relsym,
+			   const Linear_Expression& rhs,
+			   Coefficient_traits::const_reference modulus
+			   = Coefficient_zero());
 
-template <typename T1, typename Info1, typename T2, typename Info2>
-inline bool
-lt(Boundary_Type type1, const T1& x1, const Info1& info1,
-   Boundary_Type type2, const T2& x2, const Info2& info2) {
-  if (is_open(type1, x1, info1)) {
-    if (type1 == UPPER
-	&& (type2 == LOWER
-	    || !is_open(type2, x2, info2)))
-      goto le;
-  }
-  else if (type2 == LOWER
-	   && is_open(type2, x2, info2)) {
-  le:
-    if (is_minus_infinity(type1, x1, info1)
-	|| is_plus_infinity(type2, x2, info2))
-      return true;
-    if (is_plus_infinity(type1, x1, info1)
-	|| is_minus_infinity(type2, x2, info2))
-      return false;
-    else
-      return less_or_equal(x1, x2);
-  }
-  if (is_plus_infinity(type1, x1, info1)
-      || is_minus_infinity(type2, x2, info2))
-    return false;
-  if (is_minus_infinity(type1, x1, info1)
-      || is_plus_infinity(type2, x2, info2))
-    return true;
-  else
-    return less_than(x1, x2);
-}
+  /*! \brief
+    Assigns to \p *this the preimage of \p *this with respect to the
+    \ref Grid_Generalized_Image "generalized affine relation"
+    \f$\mathrm{lhs}' = \mathrm{rhs} \pmod{\mathrm{modulus}}\f$.
 
-template <typename T1, typename Info1, typename T2, typename Info2>
-inline bool
-gt(Boundary_Type type1, const T1& x1, const Info1& info1,
-   Boundary_Type type2, const T2& x2, const Info2& info2) {
-  return lt(type2, x2, info2, type1, x1, info1);
-}
+    \param lhs
+    The left hand side affine expression;
 
-template <typename T1, typename Info1, typename T2, typename Info2>
-inline bool
-le(Boundary_Type type1, const T1& x1, const Info1& info1,
-   Boundary_Type type2, const T2& x2, const Info2& info2) {
-  return !gt(type1, x1, info1, type2, x2, info2);
-}
+    \param relsym
+    The relation symbol where EQUAL is the symbol for a congruence
+    relation;
 
-template <typename T1, typename Info1, typename T2, typename Info2>
-inline bool
-ge(Boundary_Type type1, const T1& x1, const Info1& info1,
-   Boundary_Type type2, const T2& x2, const Info2& info2) {
-  return !lt(type1, x1, info1, type2, x2, info2);
-}
+    \param rhs
+    The right hand side affine expression;
 
-template <typename T, typename Info>
-inline Result
-adjust_boundary(Boundary_Type type, T& x, Info& info,
-		bool open, Result r) {
-  if (type == LOWER) {
-    switch (r) {
-    case V_NEG_OVERFLOW:
-      open = true;
-      /* Fall through */
-    case VC_MINUS_INFINITY:
-      if (!Info::store_special)
-	return r;
-      if (open)
-	info.set_boundary_property(type, OPEN);
-      return special_set_boundary_infinity(type, x, info);
-    case V_GT:
-      open = true;
-      /* Fall through */
-    case V_GE:
-    case V_EQ:
-      if (open)
-	shrink(type, x, info, false);
-      // FIXME: what to return?
-      return r;
-    default:
-      assert(false);
-      return VC_NAN;
-    }
-  }
-  else {
-    switch (r) {
-    case V_POS_OVERFLOW:
-      open = true;
-      /* Fall through */
-    case VC_PLUS_INFINITY:
-      if (!Info::store_special)
-	return r;
-      if (open)
-	info.set_boundary_property(type, OPEN);
-      return special_set_boundary_infinity(type, x, info);
-    case V_LT:
-      open = true;
-      /* Fall through */
-    case V_LE:
-    case V_EQ:
-      if (open)
-	shrink(type, x, info, false);
-      // FIXME: what to return?
-      return r;
-    default:
-      assert(false);
-      return VC_NAN;
-    }
-  }
-}
+    \param modulus
+    The modulus of the congruence lhs %= rhs.  A modulus of zero
+    indicates lhs == rhs.  Optional argument with an automatic value
+    of zero.
 
-template <typename To, typename To_Info, typename T, typename Info>
-inline Result
-complement(Boundary_Type to_type, To& to, To_Info& to_info,
-	   Boundary_Type type, const T& x, const Info& info) {
-  assert(to_type != type);
-  bool shrink;
-  if (info.get_boundary_property(type, SPECIAL)
-      && special_is_boundary_infinity(type, x, info)) {
-    shrink = !special_is_open(type, x, info);
-    if (type == LOWER)
-      return set_minus_infinity(to_type, to, to_info, shrink);
-    else
-      return set_plus_infinity(to_type, to, to_info, shrink);
-  }
-  shrink = !normal_is_open(type, x, info);
-  bool check = (To_Info::check_inexact
-		|| (!shrink && (To_Info::store_open || to_info.has_restriction())));
-  Result r = assign_r(to, x, round_dir_check(to_type, check));
-  return adjust_boundary(to_type, to, to_info, shrink, r);
-}
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with \p lhs or \p
+    rhs.
+  */
+  void
+  generalized_affine_preimage(const Linear_Expression& lhs,
+			      Relation_Symbol relsym,
+			      const Linear_Expression& rhs,
+			      Coefficient_traits::const_reference modulus
+			      = Coefficient_zero());
 
-template <typename To, typename To_Info, typename T, typename Info>
-inline Result
-assign(Boundary_Type to_type, To& to, To_Info& to_info,
-       Boundary_Type type, const T& x, const Info& info,
-       bool shrink = false) {
-  assert(to_type == type);
-  if (info.get_boundary_property(type, SPECIAL)
-      && special_is_boundary_infinity(type, x, info)) {
-    shrink = shrink || special_is_open(type, x, info);
-    return set_boundary_infinity(to_type, to, to_info, shrink);
-  }
-  shrink = shrink || normal_is_open(type, x, info);
-  bool check = (To_Info::check_inexact
-		|| (!shrink && (To_Info::store_open || to_info.has_restriction())));
-  Result r = assign_r(to, x, round_dir_check(to_type, check));
-  return adjust_boundary(to_type, to, to_info, shrink, r);
-}
+  /*!
+    \brief
+    Assigns to \p *this the image of \p *this with respect to the
+    \ref Single_Update_Bounded_Affine_Relations "bounded affine relation"
+    \f$\frac{\mathrm{lb\_expr}}{\mathrm{denominator}}
+         \leq \mathrm{var}'
+           \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
 
-template <typename To, typename To_Info, typename T, typename Info>
-inline Result
-min_assign(Boundary_Type to_type, To& to, To_Info& to_info,
-	   Boundary_Type type, const T& x, const Info& info) {
-  if (lt(type, x, info, to_type, to, to_info)) {
-    to_info.clear_boundary_properties(to_type);
-    return assign(to_type, to, to_info, type, x, info);
-  }
-  return V_EQ;
-}
+    \param var
+    The variable updated by the affine relation;
 
-template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
-inline Result
-min_assign(Boundary_Type to_type, To& to, To_Info& to_info,
-	   Boundary_Type type1, const T1& x1, const Info1& info1,
-	   Boundary_Type type2, const T2& x2, const Info2& info2) {
-  if (lt(type1, x1, info1, type2, x2, info2))
-    return assign(to_type, to, to_info, type1, x1, info1);
-  else
-    return assign(to_type, to, to_info, type2, x2, info2);
-}
+    \param lb_expr
+    The numerator of the lower bounding affine expression;
 
-template <typename To, typename To_Info, typename T, typename Info>
-inline Result
-max_assign(Boundary_Type to_type, To& to, To_Info& to_info,
-	   Boundary_Type type, const T& x, const Info& info) {
-  if (gt(type, x, info, to_type, to, to_info)) {
-    to_info.clear_boundary_properties(to_type);
-    return assign(to_type, to, to_info, type, x, info);
-  }
-  return V_EQ;
-}
+    \param ub_expr
+    The numerator of the upper bounding affine expression;
 
-template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
-inline Result
-max_assign(Boundary_Type to_type, To& to, To_Info& to_info,
-	   Boundary_Type type1, const T1& x1, const Info1& info1,
-	   Boundary_Type type2, const T2& x2, const Info2& info2) {
-  if (gt(type1, x1, info1, type2, x2, info2))
-    return assign(to_type, to, to_info, type1, x1, info1);
-  else
-    return assign(to_type, to, to_info, type2, x2, info2);
-}
+    \param denominator
+    The (common) denominator for the lower and upper bounding
+    affine expressions (optional argument with default value 1).
 
-template <typename To, typename To_Info, typename T, typename Info>
-inline Result
-neg_assign(Boundary_Type to_type, To& to, To_Info& to_info,
-	   Boundary_Type type, const T& x, const Info& info) {
-  assert(to_type != type);
-  bool shrink;
-  if (info.get_boundary_property(type, SPECIAL)
-      && special_is_boundary_infinity(type, x, info)) {
-    shrink = special_is_open(type, x, info);
-    return set_boundary_infinity(to_type, to, to_info, shrink);
-  }
-  shrink = normal_is_open(type, x, info);
-  bool check = (To_Info::check_inexact
-		|| (!shrink && (To_Info::store_open || to_info.has_restriction())));
-  Result r = neg_assign_r(to, x, round_dir_check(to_type, check));
-  return adjust_boundary(to_type, to, to_info, shrink, r);
-}
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
+    and \p *this are dimension-incompatible or if \p var is not a space
+    dimension of \p *this.
+  */
+  void bounded_affine_image(Variable var,
+			    const Linear_Expression& lb_expr,
+			    const Linear_Expression& ub_expr,
+			    Coefficient_traits::const_reference denominator
+			    = Coefficient_one());
 
-template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
-inline Result
-add_assign(Boundary_Type to_type, To& to, To_Info& to_info,
-	   Boundary_Type type1, const T1& x1, const Info1& info1,
-	   Boundary_Type type2, const T2& x2, const Info2& info2) {
-  assert(type1 == type2);
-  bool shrink;
-  if (is_boundary_infinity(type1, x1, info1)) {
-    shrink = boundary_infinity_is_open(type1, info1) &&
-      !is_boundary_infinity_closed(type2, x2, info2);
-    return set_boundary_infinity(to_type, to, to_info, shrink);
-  }
-  else if (is_boundary_infinity(type2, x2, info2)) {
-    shrink = boundary_infinity_is_open(type2, info2) &&
-      !is_boundary_infinity_closed(type1, x1, info1);
-    return set_boundary_infinity(to_type, to, to_info, shrink);
-  }
-  shrink = normal_is_open(type1, x1, info1)
-    || normal_is_open(type2, x2, info2);
-  bool check = (To_Info::check_inexact
-		|| (!shrink && (To_Info::store_open
-				|| to_info.has_restriction())));
-  // FIXME: extended handling is not needed
-  Result r = add_assign_r(to, x1, x2, round_dir_check(to_type, check));
-  return adjust_boundary(to_type, to, to_info, shrink, r);
-}
+  /*!
+    \brief
+    Assigns to \p *this the preimage of \p *this with respect to the
+    \ref Single_Update_Bounded_Affine_Relations "bounded affine relation"
+    \f$\frac{\mathrm{lb\_expr}}{\mathrm{denominator}}
+         \leq \mathrm{var}'
+           \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
 
-template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
-inline Result
-sub_assign(Boundary_Type to_type, To& to, To_Info& to_info,
-	   Boundary_Type type1, const T1& x1, const Info1& info1,
-	   Boundary_Type type2, const T2& x2, const Info2& info2) {
-  assert(type1 != type2);
-  bool shrink;
-  if (is_boundary_infinity(type1, x1, info1)) {
-    shrink = boundary_infinity_is_open(type1, info1) &&
-      !is_boundary_infinity_closed(type2, x2, info2);
-    return set_boundary_infinity(to_type, to, to_info, shrink);
-  }
-  else if (is_boundary_infinity(type2, x2, info2)) {
-    shrink = boundary_infinity_is_open(type2, info2) &&
-      !is_boundary_infinity_closed(type1, x1, info1);
-    return set_boundary_infinity(to_type, to, to_info, shrink);
-  }
-  shrink = normal_is_open(type1, x1, info1)
-    || normal_is_open(type2, x2, info2);
-  bool check = (To_Info::check_inexact
-		|| (!shrink && (To_Info::store_open
-				|| to_info.has_restriction())));
-  // FIXME: extended handling is not needed
-  Result r = sub_assign_r(to, x1, x2, round_dir_check(to_type, check));
-  return adjust_boundary(to_type, to, to_info, shrink, r);
-}
+    \param var
+    The variable updated by the affine relation;
 
-template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
-inline Result
-mul_assign(Boundary_Type to_type, To& to, To_Info& to_info,
-	   Boundary_Type type1, const T1& x1, const Info1& info1,
-	   Boundary_Type type2, const T2& x2, const Info2& info2) {
-  bool shrink;
-  if (is_boundary_infinity(type1, x1, info1)) {
-    shrink = boundary_infinity_is_open(type1, info1) &&
-      !is_boundary_infinity_closed(type2, x2, info2);
-    return set_boundary_infinity(to_type, to, to_info, shrink);
-  }
-  else if (is_boundary_infinity(type2, x2, info2)) {
-    shrink = boundary_infinity_is_open(type2, info2) &&
-      !is_boundary_infinity_closed(type1, x1, info1);
-    return set_boundary_infinity(to_type, to, to_info, shrink);
-  }
-  shrink = normal_is_open(type1, x1, info1)
-    || normal_is_open(type2, x2, info2);
-  bool check = (To_Info::check_inexact
-		|| (!shrink && (To_Info::store_open
-				|| to_info.has_restriction())));
-  assert(x1 != Constant<0>::value && x2 != Constant<0>::value);
-  // FIXME: extended handling is not needed
-  Result r = mul_assign_r(to, x1, x2, round_dir_check(to_type, check));
-  return adjust_boundary(to_type, to, to_info, shrink, r);
-}
+    \param lb_expr
+    The numerator of the lower bounding affine expression;
 
-template <typename To, typename To_Info>
-inline Result
-set_zero(Boundary_Type to_type, To& to, To_Info& to_info, bool shrink) {
-  bool check = (To_Info::check_inexact
-		|| (!shrink && (To_Info::store_open || to_info.has_restriction())));
-  Result r = assign_r(to, Constant<0>::value, round_dir_check(to_type, check));
-  return adjust_boundary(to_type, to, to_info, shrink, r);
-}
+    \param ub_expr
+    The numerator of the upper bounding affine expression;
 
-template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
-inline Result
-mul_assign_z(Boundary_Type to_type, To& to, To_Info& to_info,
-	     Boundary_Type type1, const T1& x1, const Info1& info1, int x1s,
-	     Boundary_Type type2, const T2& x2, const Info2& info2, int x2s) {
-  bool shrink;
-  if (x1s != 0) {
-    if (x2s != 0)
-      return mul_assign(to_type, to, to_info,
-			type1, x1, info1,
-			type2, x2, info2);
-    else
-      shrink = info2.get_boundary_property(type2, OPEN);
-  }
-  else {
-    shrink = info1.get_boundary_property(type1, OPEN)
-      && (x2s != 0 || info2.get_boundary_property(type2, OPEN));
-  }
-  return set_zero(to_type, to, to_info, shrink);
-}
+    \param denominator
+    The (common) denominator for the lower and upper bounding
+    affine expressions (optional argument with default value 1).
+
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
+    and \p *this are dimension-incompatible or if \p var is not a space
+    dimension of \p *this.
+  */
+  void bounded_affine_preimage(Variable var,
+			       const Linear_Expression& lb_expr,
+			       const Linear_Expression& ub_expr,
+			       Coefficient_traits::const_reference denominator
+			       = Coefficient_one());
 
-template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
-inline Result
-div_assign(Boundary_Type to_type, To& to, To_Info& to_info,
-	   Boundary_Type type1, const T1& x1, const Info1& info1,
-	   Boundary_Type type2, const T2& x2, const Info2& info2) {
-  bool shrink;
-  if (is_boundary_infinity(type1, x1, info1)) {
-    shrink = boundary_infinity_is_open(type1, info1);
-    return set_boundary_infinity(to_type, to, to_info, shrink);
-  }
-  else if (is_boundary_infinity(type2, x2, info2)) {
-    shrink = boundary_infinity_is_open(type2, info2);
-    return set_zero(to_type, to, to_info, shrink);
-  }
-  shrink = normal_is_open(type1, x1, info1)
-    || normal_is_open(type2, x2, info2);
-  bool check = (To_Info::check_inexact
-		|| (!shrink && (To_Info::store_open
-				|| to_info.has_restriction())));
-  assert(x1 != Constant<0>::value && x2 != Constant<0>::value);
-  // FIXME: extended handling is not needed
-  Result r = div_assign_r(to, x1, x2, round_dir_check(to_type, check));
-  return adjust_boundary(to_type, to, to_info, shrink, r);
-}
+  /*! \brief
+    Assigns to \p *this the result of computing the \ref Grid_Time_Elapse
+    "time-elapse" between \p *this and \p y.
 
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void time_elapse_assign(const Grid& y);
 
-template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
-inline Result
-div_assign_z(Boundary_Type to_type, To& to, To_Info& to_info,
-	     Boundary_Type type1, const T1& x1, const Info1& info1, int x1s,
-	     Boundary_Type type2, const T2& x2, const Info2& info2, int x2s) {
-  bool shrink;
-  if (x1s != 0) {
-    if (x2s != 0)
-      return div_assign(to_type, to, to_info,
-			type1, x1, info1,
-			type2, x2, info2);
-    else {
-      // FIXME: restrictions
-      return set_boundary_infinity(to_type, to, to_info, true);
-    }
-  }
-  else {
-    shrink = info1.get_boundary_property(type1, OPEN)
-      && !is_boundary_infinity_closed(type2, x2, info2);
-    return set_zero(to_type, to, to_info, shrink);
-  }
-}
+  /*! \brief
+    \ref Wrapping_Operator "Wraps" the specified dimensions of the
+    vector space.
 
-} // namespace Boundary_NS
+    \param vars
+    The set of Variable objects corresponding to the space dimensions
+    to be wrapped.
 
-} // namespace Parma_Polyhedra_Library
+    \param w
+    The width of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
 
-/* Automatically generated from PPL source file ../src/Interval_Restriction.defs.hh line 1. */
-/* Interval_Restriction class declaration.
-*/
+    \param r
+    The representation of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
 
+    \param o
+    The overflow behavior of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
 
-/* Automatically generated from PPL source file ../src/Interval_Restriction.defs.hh line 32. */
+    \param pcs
+    Possibly null pointer to a constraint system.
+    This argument is for compatibility with wrap_assign()
+    for the other domains and only checked for dimension-compatibility.
 
-namespace Parma_Polyhedra_Library {
+    \param complexity_threshold
+    A precision parameter of the \ref Wrapping_Operator "wrapping operator".
+    This argument is for compatibility with wrap_assign()
+    for the other domains and is ignored.
 
-struct Interval_Base;
+    \param wrap_individually
+    <CODE>true</CODE> if the dimensions should be wrapped individually.
+    As wrapping dimensions collectively does not improve the precision,
+    this argument is ignored.
 
-template <typename T, typename Enable = void>
-struct Boundary_Value {
-  typedef T type;
-};
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with one of the
+    Variable objects contained in \p vars or with <CODE>*pcs</CODE>.
 
-template <typename T>
-struct Boundary_Value<T, typename Enable_If<Is_Same_Or_Derived<Interval_Base, T>::value>::type > {
-  typedef typename T::boundary_type type;
-};
+    \warning
+    It is assumed that variables in \p Vars represent integers.  Thus,
+    where the extra cost is negligible, the integrality of these
+    variables is enforced; possibly causing a non-integral grid to
+    become empty.
+  */
+  void wrap_assign(const Variables_Set& vars,
+                   Bounded_Integer_Type_Width w,
+                   Bounded_Integer_Type_Representation r,
+                   Bounded_Integer_Type_Overflow o,
+                   const Constraint_System* pcs = 0,
+                   unsigned complexity_threshold = 16,
+                   bool wrap_individually = true);
 
-class Interval_Restriction_None_Base {
-public:
-  bool has_restriction() const {
-    return false;
-  }
-  void normalize() const {
-  }
-  template <typename T>
-  Result restrict(Rounding_Dir, T&, Result dir) const {
-    return dir;
-  }
-};
+  /*! \brief
+    Possibly tightens \p *this by dropping all points with non-integer
+    coordinates.
 
-inline bool
-eq_restriction(const Interval_Restriction_None_Base&, const Interval_Restriction_None_Base) {
-  return true;
-}
+    \param complexity
+    This argument is ignored as the algorithm used has polynomial
+    complexity.
+  */
+   void drop_some_non_integer_points(Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
 
-template <typename T>
-inline bool
-contains_restriction(const Interval_Restriction_None_Base&, const T&) {
-  return true;
-}
+  /*! \brief
+    Possibly tightens \p *this by dropping all points with non-integer
+    coordinates for the space dimensions corresponding to \p vars.
 
-template <typename T>
-inline bool
-assign_restriction(Interval_Restriction_None_Base&, const T&) {
-  return true;
-}
+    \param vars
+    Points with non-integer coordinates for these variables/space-dimensions
+    can be discarded.
 
-template <typename T1, typename T2>
-inline bool
-join_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
-  return true;
-}
+    \param complexity
+    This argument is ignored as the algorithm used has polynomial
+    complexity.
+  */
+  void drop_some_non_integer_points(const Variables_Set& vars,
+                                    Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
 
-template <typename T1, typename T2>
-inline bool
-intersect_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
-  return true;
-}
+  //! Assigns to \p *this its topological closure.
+  void topological_closure_assign();
 
-template <typename T1, typename T2>
-inline bool
-diff_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
-  return true;
-}
+  /*! \brief
+    Assigns to \p *this the result of computing the \ref Grid_Widening
+    "Grid widening" between \p *this and \p y using congruence systems.
 
-template <typename T>
-inline bool
-neg_restriction(Interval_Restriction_None_Base&, const T&) {
-  return true;
-}
+    \param y
+    A grid that <EM>must</EM> be contained in \p *this;
 
-template <typename T1, typename T2>
-inline bool
-add_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
-  return true;
-}
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Grid_Widening_with_Tokens "widening with tokens" delay technique).
 
-template <typename T1, typename T2>
-inline bool
-sub_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
-  return true;
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void congruence_widening_assign(const Grid& y, unsigned* tp = NULL);
 
-template <typename T1, typename T2>
-inline bool
-mul_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
-  return true;
-}
+  /*! \brief
+    Assigns to \p *this the result of computing the \ref Grid_Widening
+    "Grid widening" between \p *this and \p y using generator systems.
 
-template <typename T1, typename T2>
-inline bool
-div_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
-  return true;
-}
+    \param y
+    A grid that <EM>must</EM> be contained in \p *this;
 
-inline void
-output_restriction(std::ostream&, const Interval_Restriction_None_Base&) {
-}
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Grid_Widening_with_Tokens "widening with tokens" delay technique).
 
-template <typename Base>
-class Interval_Restriction_None : public Interval_Restriction_None_Base,
-				  public Base {
-public:
-  Interval_Restriction_None() {
-  };
-  template <typename T>
-  Interval_Restriction_None(const T& init)
-    : Base(init) {
-  }
-};
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void generator_widening_assign(const Grid& y, unsigned* tp = NULL);
 
-class Interval_Restriction_Integer_Base {
-};
+  /*! \brief
+    Assigns to \p *this the result of computing the \ref Grid_Widening
+    "Grid widening" between \p *this and \p y.
 
-template <typename Base>
-class Interval_Restriction_Integer : public Interval_Restriction_Integer_Base, public Base {
-public:
-  Interval_Restriction_Integer() {
-  }
-  void set_integer(bool v = true) {
-    return set_bit(Base::bitset, integer_bit, v);
-  }
-  bool get_integer() const {
-    return get_bit(Base::bitset, integer_bit);
-  }
+    This widening uses either the congruence or generator systems
+    depending on which of the systems describing x and y
+    are up to date and minimized.
 
-  const_int_nodef(integer_bit, Base::next_bit);
-  const_int_nodef(next_bit, integer_bit + 1);
-  bool has_restriction() const {
-    return get_integer();
-  }
-  void normalize() const {
-  }
-  template <typename T>
-  Result restrict(Rounding_Dir rdir, T& x, Result dir) const {
-    if (!has_restriction())
-      return dir;
-    switch (dir) {
-    case V_GT:
-      if (is_integer(x))
-	return add_assign_r(x, x, static_cast<T>(1), rdir);
-      /* Fall through */
-    case V_GE:
-      return ceil_assign_r(x, x, rdir);
-    case V_LT:
-      if (is_integer(x))
-	return sub_assign_r(x, x, static_cast<T>(1), rdir);
-      /* Fall through */
-    case V_LE:
-      return floor_assign_r(x, x, rdir);
-    default:
-      assert(false);
-      return dir;
-    }
-  }
-};
+    \param y
+    A grid that <EM>must</EM> be contained in \p *this;
 
-class Simple_Restriction_Integer : public Interval_Restriction_Integer_Base {
-public:
-  Simple_Restriction_Integer(bool i)
-    : integer(i) {
-  }
-  bool get_integer() const {
-    return integer;
-  }
-private:
-  bool integer;
-};
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Grid_Widening_with_Tokens "widening with tokens" delay technique).
 
-template <typename From, typename Base, typename Enable = void>
-struct Restriction_Integer;
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void widening_assign(const Grid& y, unsigned* tp = NULL);
 
-template <typename From, typename Base>
-struct Restriction_Integer<From, Base, typename Enable_If<Is_Native_Or_Checked<From>::value>::type> {
-  typedef Simple_Restriction_Integer type;
-  static type get(const From& x) {
-    return Simple_Restriction_Integer(is_integer(x));
-  }
-};
+  /*! \brief
+    Improves the result of the congruence variant of
+    \ref Grid_Widening "Grid widening" computation by also enforcing
+    those congruences in \p cgs that are satisfied by all the points
+    of \p *this.
 
-template <typename From, typename Base>
-struct Restriction_Integer<From, Base, typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_None_Base, typename From::info_type>::value>::type> {
-  typedef Simple_Restriction_Integer type;
-  static type get(const From& x) {
-    return Simple_Restriction_Integer(x.is_singleton() && is_integer(x.lower()));
-  }
-};
+    \param y
+    A grid that <EM>must</EM> be contained in \p *this;
 
-template <typename From, typename Base>
-struct Restriction_Integer<From, Base, typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Base, typename From::info_type>::value>::type> {
-  typedef Interval_Restriction_Integer<Base> type;
-  static const type& get(const From& x) {
-    return x.info();
-  }
-};
+    \param cgs
+    The system of congruences used to improve the widened grid;
 
-template <typename T1, typename T2>
-inline typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Base, T1>::value && Is_Same_Or_Derived<Interval_Restriction_Integer_Base, T2>::value, bool>::type
-eq_restriction(const T1& x, const T2& y) {
-  return x.get_integer() == y.get_integer();
-}
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Grid_Widening_with_Tokens "widening with tokens" delay technique).
 
-template <typename T1, typename T2>
-inline typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Base, T1>::value && Is_Same_Or_Derived<Interval_Restriction_Integer_Base, T2>::value, bool>::type
-contains_restriction(const T1& x, const T2& y) {
-  return !x.get_integer() || y.get_integer();
-}
+    \exception std::invalid_argument
+    Thrown if \p *this, \p y and \p cgs are dimension-incompatible.
+  */
+  void limited_congruence_extrapolation_assign(const Grid& y,
+					       const Congruence_System& cgs,
+					       unsigned* tp = NULL);
 
-template <typename Base, typename From>
-inline bool
-assign_restriction(Interval_Restriction_Integer<Base>& to, const From& x) {
-  to.set_integer(Restriction_Integer<From, Base>::get(x).get_integer());
-  return true;
-}
+  /*! \brief
+    Improves the result of the generator variant of the
+    \ref Grid_Widening "Grid widening"
+    computation by also enforcing those congruences in \p cgs that are
+    satisfied by all the points of \p *this.
 
-template <typename Base, typename From1, typename From2>
-inline bool
-join_restriction(Interval_Restriction_Integer<Base>& to, const From1& x, const From2& y) {
-  to.set_integer(Restriction_Integer<From1, Base>::get(x).get_integer()
-		 && Restriction_Integer<From2, Base>::get(y).get_integer());
-  return true;
-}
+    \param y
+    A grid that <EM>must</EM> be contained in \p *this;
 
-template <typename Base, typename From1, typename From2>
-inline bool
-intersect_restriction(Interval_Restriction_Integer<Base>& to, const From1& x, const From2& y) {
-  to.set_integer(Restriction_Integer<From1, Base>::get(x).get_integer()
-		 || Restriction_Integer<From2, Base>::get(y).get_integer());
-  return true;
-}
+    \param cgs
+    The system of congruences used to improve the widened grid;
 
-template <typename Base, typename From1, typename From2>
-inline bool
-diff_restriction(Interval_Restriction_Integer<Base>& to,
-		 const From1& x, const From2&) {
-  to.set_integer(Restriction_Integer<From1, Base>::get(x).get_integer());
-  return true;
-}
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Grid_Widening_with_Tokens "widening with tokens" delay technique).
 
-template <typename Base, typename From>
-inline bool
-neg_restriction(Interval_Restriction_Integer<Base>& to, const From& x) {
-  to.set_integer(Restriction_Integer<From, Base>::get(x).get_integer());
-  return true;
-}
+    \exception std::invalid_argument
+    Thrown if \p *this, \p y and \p cgs are dimension-incompatible.
+  */
+  void limited_generator_extrapolation_assign(const Grid& y,
+					      const Congruence_System& cgs,
+					      unsigned* tp = NULL);
 
-template <typename Base, typename From1, typename From2>
-inline bool
-add_restriction(Interval_Restriction_Integer<Base>& to, const From1& x, const From2& y) {
-  to.set_integer(Restriction_Integer<From1, Base>::get(x).get_integer()
-		 && Restriction_Integer<From2, Base>::get(y).get_integer());
-  return true;
-}
+  /*! \brief
+    Improves the result of the \ref Grid_Widening "Grid widening"
+    computation by also enforcing those congruences in \p cgs that are
+    satisfied by all the points of \p *this.
 
-template <typename Base, typename From1, typename From2>
-inline bool
-sub_restriction(Interval_Restriction_Integer<Base>& to, const From1& x, const From2& y) {
-  to.set_integer(Restriction_Integer<From1, Base>::get(x).get_integer()
-		 && Restriction_Integer<From2, Base>::get(y).get_integer());
-  return true;
-}
+    \param y
+    A grid that <EM>must</EM> be contained in \p *this;
 
-template <typename Base, typename From1, typename From2>
-inline bool
-mul_restriction(Interval_Restriction_Integer<Base>& to, const From1& x, const From2& y) {
-  to.set_integer(Restriction_Integer<From1, Base>::get(x).get_integer()
-		 && Restriction_Integer<From2, Base>::get(y).get_integer());
-  return true;
-}
+    \param cgs
+    The system of congruences used to improve the widened grid;
 
-template <typename Base, typename From1, typename From2>
-inline bool
-div_restriction(Interval_Restriction_Integer<Base>& to, const From1&, const From2&) {
-  to.set_integer(false);
-  return true;
-}
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Grid_Widening_with_Tokens "widening with tokens" delay technique).
 
-template <typename Base>
-inline void
-output_restriction(std::ostream& s, const Interval_Restriction_Integer<Base>& x) {
-  if (x.get_integer())
-    s << "i";
-}
+    \exception std::invalid_argument
+    Thrown if \p *this, \p y and \p cgs are dimension-incompatible.
+  */
+  void limited_extrapolation_assign(const Grid& y,
+				    const Congruence_System& cgs,
+				    unsigned* tp = NULL);
 
-class Interval_Restriction_Integer_Modulo_Base {
-};
+  //@} // Space Dimension Preserving Member Functions that May Modify [...]
 
-template <typename T, typename Base>
-class Interval_Restriction_Integer_Modulo : public Interval_Restriction_Integer_Modulo_Base, public Base {
-public:
-  PPL_COMPILE_TIME_CHECK(std::numeric_limits<T>::is_exact,
-                         "type for modulo values must be exact");
-  Interval_Restriction_Integer_Modulo() {
-    // FIXME: would we have speed benefits with uninitialized info?
-    // (Dirty_Temp)
-    clear();
-  }
-  bool has_restriction() const {
-    return divisor != 0;
-  }
-  void clear() {
-    remainder = 0;
-    divisor = 0;
-    Base::clear();
-  }
-  void normalize() const {
-  }
-  template <typename V>
-  Result restrict(Rounding_Dir rdir, V& x, Result dir) const {
-    if (!has_restriction())
-      return dir;
-    PPL_DIRTY_TEMP(V, n);
-    PPL_DIRTY_TEMP(V, div);
-    Result r;
-    r = assign_r(div, divisor, ROUND_CHECK);
-    assert(r == V_EQ);
-    int s;
-    r = rem_assign_r(n, x, div, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-    s = sgn(n);
-    switch (dir) {
-    case V_GT:
-      if (s >= 0) {
-	r = sub_assign_r(n, div, n, ROUND_NOT_NEEDED);
-	assert(r == V_EQ);
-	return add_assign_r(x, x, n, rdir);
-      }
-      else
-	return sub_assign_r(x, x, n, rdir);
-    case V_GE:
-      if (s > 0) {
-	r = sub_assign_r(n, div, n, ROUND_NOT_NEEDED);
-	assert(r == V_EQ);
-	return add_assign_r(x, x, n, rdir);
-      }
-      else if (s < 0)
-	return sub_assign_r(x, x, n, rdir);
-      else
-	return V_EQ;
-    case V_LT:
-      if (s <= 0) {
-	r = add_assign_r(n, div, n, ROUND_NOT_NEEDED);
-	assert(r == V_EQ);
-	return sub_assign_r(x, x, n, rdir);
-      }
-      else
-	return sub_assign_r(x, x, n, rdir);
-    case V_LE:
-      if (s < 0) {
-	r = add_assign_r(n, div, n, ROUND_NOT_NEEDED);
-	assert(r == V_EQ);
-	return sub_assign_r(x, x, n, rdir);
-      }
-      else if (s > 0)
-	return sub_assign_r(x, x, n, rdir);
-      else
-	return V_EQ;
-    default:
-      assert(false);
-      return dir;
-    }
-  }
-  void assign_or_swap(Interval_Restriction_Integer_Modulo& x) {
-    Parma_Polyhedra_Library::assign_or_swap(remainder, x.remainder);
-    Parma_Polyhedra_Library::assign_or_swap(divisor, x.divisor);
-  }
-  typedef T modulo_type;
-  T remainder;
-  T divisor;
-};
+  //! \name Member Functions that May Modify the Dimension of the Vector Space
+  //@{
 
-template <typename T, typename Base>
-struct Slow_Copy<Interval_Restriction_Integer_Modulo<T, Base> > : public Bool<Slow_Copy<T>::value> {};
+  /*! \brief
+    \ref Adding_New_Dimensions_to_the_Vector_Space "Adds"
+    \p m new space dimensions and embeds the old grid in the new
+    vector space.
 
+    \param m
+    The number of dimensions to add.
 
-template <typename From, typename Base>
-struct Restriction_Integer<From, Base, typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Modulo_Base, typename From::info_type>::value>::type> {
-  typedef Simple_Restriction_Integer type;
-  static type get(const From& x) {
-    return Simple_Restriction_Integer(x.info().divisor != 0);
-  }
-};
+    \exception std::length_error
+    Thrown if adding \p m new space dimensions would cause the vector
+    space to exceed dimension <CODE>max_space_dimension()</CODE>.
 
-template <typename T>
-struct Simple_Restriction_Integer_Modulo : public Interval_Restriction_Integer_Modulo_Base {
-  template <typename From>
-  Simple_Restriction_Integer_Modulo(const From& r, const From& d)
-    : remainder(r), divisor(d) {
-  }
-  typedef T modulo_type;
-  T remainder;
-  T divisor;
-};
+    The new space dimensions will be those having the highest indexes
+    in the new grid, which is characterized by a system of congruences
+    in which the variables which are the new dimensions can have any
+    value.  For instance, when starting from the grid \f$\cL \sseq
+    \Rset^2\f$ and adding a third space dimension, the result will be
+    the grid
+    \f[
+      \bigl\{\,
+        (x, y, z)^\transpose \in \Rset^3
+      \bigm|
+        (x, y)^\transpose \in \cL
+      \,\bigr\}.
+    \f]
+  */
+  void add_space_dimensions_and_embed(dimension_type m);
 
-template <typename From, typename T, typename Base, typename Enable = void>
-struct Restriction_Integer_Modulo;
+  /*! \brief
+    \ref Adding_New_Dimensions_to_the_Vector_Space "Adds"
+    \p m new space dimensions to the grid and does not embed it
+    in the new vector space.
 
-template <typename From, typename T, typename Base>
-struct Restriction_Integer_Modulo<From, T, Base, typename Enable_If<Is_Native_Or_Checked<From>::value>::type> {
-  typedef Simple_Restriction_Integer_Modulo<T> type;
-  static const type& get(const From& x) {
-    static const type integer(0, 1);
-    static const type not_integer(0, 0);
-    if (is_integer(x))
-      return integer;
-    else
-      return not_integer;
-  }
-};
+    \param m
+    The number of space dimensions to add.
 
-template <typename From, typename T, typename Base>
-struct Restriction_Integer_Modulo<From, T, Base, typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_None_Base, typename From::info_type>::value>::type> {
-  typedef Simple_Restriction_Integer_Modulo<T> type;
-  static const type& get(const From& x) {
-    static const type integer(0, 1);
-    static const type not_integer(0, 0);
-    if (x.is_singleton() && is_integer(x.lower()))
-      return integer;
-    else
-      return not_integer;
-  }
-};
+    \exception std::length_error
+    Thrown if adding \p m new space dimensions would cause the
+    vector space to exceed dimension <CODE>max_space_dimension()</CODE>.
 
-template <typename From, typename T, typename Base>
-struct Restriction_Integer_Modulo<From, T, Base, typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Base, typename From::info_type>::value>::type> {
-  typedef Simple_Restriction_Integer_Modulo<T> type;
-  static const type& get(const From& x) {
-    static const type integer(0, 1);
-    static const type not_integer(0, 0);
-    if (x.info().get_integer())
-      return integer;
-    else
-      return not_integer;
-  }
-};
+    The new space dimensions will be those having the highest indexes
+    in the new grid, which is characterized by a system of congruences
+    in which the variables running through the new dimensions are all
+    constrained to be equal to 0.  For instance, when starting from
+    the grid \f$\cL \sseq \Rset^2\f$ and adding a third space
+    dimension, the result will be the grid
+    \f[
+      \bigl\{\,
+        (x, y, 0)^\transpose \in \Rset^3
+      \bigm|
+        (x, y)^\transpose \in \cL
+      \,\bigr\}.
+    \f]
+  */
+  void add_space_dimensions_and_project(dimension_type m);
 
-template <typename From, typename T, typename Base>
-struct Restriction_Integer_Modulo<From, T, Base, typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Modulo_Base, typename From::info_type>::value>::type> {
-  typedef Interval_Restriction_Integer_Modulo<T, Base> type;
-  static const type& get(const From& x) {
-    return x.info();
-  }
-};
+  /*! \brief
+    Assigns to \p *this the \ref Concatenating_Polyhedra "concatenation" of
+    \p *this and \p y, taken in this order.
 
-template <typename T1, typename T2>
-inline typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Modulo_Base, T1>::value && Is_Same_Or_Derived<Interval_Restriction_Integer_Modulo_Base, T2>::value, bool>::type
-eq_restriction(const T1& x, const T2& y) {
-  return x.remainder == y.remainder
-    && x.divisor == y.divisor;
-}
+    \exception std::length_error
+    Thrown if the concatenation would cause the vector space
+    to exceed dimension <CODE>max_space_dimension()</CODE>.
+  */
+  void concatenate_assign(const Grid& y);
 
-template <typename T1, typename T2>
-inline typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Modulo_Base, T1>::value && Is_Same_Or_Derived<Interval_Restriction_Integer_Modulo_Base, T2>::value, bool>::type
-contains_restriction(const T1& x, const T2& y) {
-  if (x.divisor == 0)
-    return true;
-  if (y.divisor == 0)
-    return false;
-  if (x.divisor == y.divisor)
-    return x.remainder == y.remainder;
-  PPL_DIRTY_TEMP(typename T1::modulo_type, v);
-  Result r;
-  r = rem_assign_r(v, y.divisor, x.divisor, ROUND_NOT_NEEDED);
-  assert(r == V_EQ);
-  if (v != 0)
-    return false;
-  r = rem_assign_r(v, y.remainder, x.divisor, ROUND_NOT_NEEDED);
-  assert(r == V_EQ);
-  return v == x.remainder;
-}
+  //! Removes all the specified dimensions from the vector space.
+  /*!
+    \param vars
+    The set of Variable objects corresponding to the space dimensions
+    to be removed.
 
-template <typename T, typename Base>
-inline bool
-set_unrestricted(Interval_Restriction_Integer_Modulo<T, Base>& to) {
-  to.remainder = 0;
-  to.divisor = 0;
-  return true;
-}
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with one of the
+    Variable objects contained in \p vars.
+  */
+  void remove_space_dimensions(const Variables_Set& vars);
 
-template <typename T, typename Base>
-inline bool
-set_integer(Interval_Restriction_Integer_Modulo<T, Base>& to) {
-  to.remainder = 0;
-  to.divisor = 1;
-  return true;
-}
+  /*! \brief
+    Removes the higher dimensions of the vector space so that the
+    resulting space will have \ref Removing_Dimensions_from_the_Vector_Space
+    "dimension \p new_dimension."
 
-template <typename T, typename Base, typename From>
-inline bool
-assign_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From& x) {
-  to.remainder = Restriction_Integer_Modulo<From, T, Base>::get(x).remainder;
-  to.divisor = Restriction_Integer_Modulo<From, T, Base>::get(x).divisor;
-  return true;
-}
+    \exception std::invalid_argument
+    Thrown if \p new_dimensions is greater than the space dimension of
+    \p *this.
+  */
+  void remove_higher_space_dimensions(dimension_type new_dimension);
 
-template <typename T, typename Base, typename From1, typename From2>
-inline bool
-join_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From1& x, const From2& y) {
-  typedef Restriction_Integer_Modulo<From1, T, Base> Rx;
-  const typename Rx::type& rx = Rx::get(x);
-  if (rx.divisor == 0)
-    return set_unrestricted(to);
-  typedef Restriction_Integer_Modulo<From2, T, Base> Ry;
-  const typename Ry::type& ry = Ry::get(y);
-  if (ry.divisor == 0)
-    return set_unrestricted(to);
-  else if (rx.divisor == 1 && ry.divisor == 1
-      && is_singleton(x) && is_singleton(y)) {
-    PPL_DIRTY_TEMP(typename Boundary_Value<From1>::type, a);
-    PPL_DIRTY_TEMP(typename Boundary_Value<From2>::type, b);
-    Result r;
-    r = abs_assign_r(a, f_lower(x), ROUND_CHECK);
-    if (r != V_EQ)
-      return set_integer(to);
-    r = abs_assign_r(b, f_lower(y), ROUND_CHECK);
-    if (r != V_EQ)
-      return set_integer(to);
-    if (a > b)
-      r = sub_assign_r(a, a, b, ROUND_CHECK);
-    else
-      r = sub_assign_r(a, b, a, ROUND_CHECK);
-    if (r != V_EQ)
-      return set_integer(to);
-    r = assign_r(to.divisor, a, ROUND_CHECK);
-    if (r != V_EQ)
-      return set_integer(to);
-    r = rem_assign_r(b, b, a, ROUND_CHECK);
-    if (r != V_EQ)
-      return set_integer(to);
-    r = assign_r(to.remainder, b, ROUND_CHECK);
-    if (r != V_EQ)
-      return set_integer(to);
-  }
-  else if (contains_restriction(rx, ry)) {
-    to.remainder = rx.remainder;
-    to.divisor = rx.divisor;
-  }
-  else if (contains_restriction(ry, rx)) {
-    to.remainder = ry.remainder;
-    to.divisor = ry.divisor;
-  }
-  else
-    return set_integer(to);
-  return true;
-}
+  /*! \brief
+    Remaps the dimensions of the vector space according to
+    a \ref Mapping_the_Dimensions_of_the_Vector_Space "partial function".
 
-template <typename T, typename Base, typename From1, typename From2>
-inline bool
-intersect_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From1& x, const From2& y) {
-  typedef Restriction_Integer_Modulo<From1, T, Base> Rx;
-  const typename Rx::type& rx = Rx::get(x);
-  typedef Restriction_Integer_Modulo<From2, T, Base> Ry;
-  const typename Ry::type& ry = Ry::get(y);
-  if (rx.divisor == 0) {
-    to.remainder = ry.remainder;
-    to.divisor = ry.divisor;
-    return true;
-  }
-  if (ry.divisor == 0) {
-    to.remainder = rx.remainder;
-    to.divisor = rx.divisor;
-    return true;
-  }
-  PPL_DIRTY_TEMP(T, g);
-  Result r;
-  r = gcd_assign_r(g, rx.divisor, ry.divisor, ROUND_DIRECT);
-  if (r != V_EQ)
-    return set_integer(to);
-  PPL_DIRTY_TEMP(T, d);
-  if (rx.remainder > ry.remainder)
-    r = sub_assign_r(d, rx.remainder, ry.remainder, ROUND_DIRECT);
-  else
-    r = sub_assign_r(d, ry.remainder, rx.remainder, ROUND_DIRECT);
-  if (r != V_EQ)
-    return set_integer(to);
-  r = div_assign_r(d, d, g, ROUND_DIRECT);
-  if (r != V_EQ)
-    return false;
-  r = lcm_assign_r(to.divisor, rx.divisor, ry.divisor, ROUND_DIRECT);
-  if (r != V_EQ)
-    return set_integer(to);
-  // FIXME: to be completed
-  return true;
-}
+    If \p pfunc maps only some of the dimensions of \p *this then the
+    rest will be projected away.
 
-template <typename T, typename Base, typename From1, typename From2>
-inline bool
-diff_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to,
-		 const From1& x, const From2& y) {
-  // FIXME: to be written
-  return true;
-}
+    If the highest dimension mapped to by \p pfunc is higher than the
+    highest dimension in \p *this then the number of dimensions in \p
+    *this will be increased to the highest dimension mapped to by \p
+    pfunc.
 
-template <typename T, typename Base, typename From>
-inline bool
-neg_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to,
-                const From& x) {
-  return assign_restriction(to, x);
-}
+    \param pfunc
+    The partial function specifying the destiny of each space
+    dimension.
 
-template <typename T>
-inline void
-addmod(T& to, const T& x, const T& y, const T& to_m, const T& y_m) {
-  Result r;
-  if (std::numeric_limits<T>::is_bounded) {
-    r = sub_assign_r(to, y_m, y, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-    if (x <= to) {
-      r = add_assign_r(to, x, y, ROUND_NOT_NEEDED);
-      assert(r == V_EQ);
-    }
-    else {
-      r = sub_assign_r(to, x, to, ROUND_NOT_NEEDED);
-      assert(r == V_EQ);
-    }
-  }
-  else {
-    r = add_assign_r(to, x, y, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-  }
-  r = rem_assign_r(to, to, to_m, ROUND_NOT_NEEDED);
-  assert(r == V_EQ);
-}
+    The template type parameter Partial_Function must provide
+    the following methods.
+    \code
+      bool has_empty_codomain() const
+    \endcode
+    returns <CODE>true</CODE> if and only if the represented partial
+    function has an empty codomain (i.e., it is always undefined).
+    The <CODE>has_empty_codomain()</CODE> method will always be called
+    before the methods below.  However, if
+    <CODE>has_empty_codomain()</CODE> returns <CODE>true</CODE>, none
+    of the functions below will be called.
+    \code
+      dimension_type max_in_codomain() const
+    \endcode
+    returns the maximum value that belongs to the codomain of the
+    partial function.
+    The <CODE>max_in_codomain()</CODE> method is called at most once.
+    \code
+      bool maps(dimension_type i, dimension_type& j) const
+    \endcode
+    Let \f$f\f$ be the represented function and \f$k\f$ be the value
+    of \p i.  If \f$f\f$ is defined in \f$k\f$, then \f$f(k)\f$ is
+    assigned to \p j and <CODE>true</CODE> is returned.  If \f$f\f$ is
+    undefined in \f$k\f$, then <CODE>false</CODE> is returned.
+    This method is called at most \f$n\f$ times, where \f$n\f$ is the
+    dimension of the vector space enclosing the grid.
 
-template <typename M, typename T>
-inline bool
-assign_rem(M& rem, const T& n, const M& div) {
-  PPL_DIRTY_TEMP(T, divisor);
-  PPL_DIRTY_TEMP(T, remainder);
-  Result r;
-  r = assign_r(divisor, div, ROUND_CHECK);
-  if (r != V_EQ)
-    return false;
-  r = rem_assign_r(remainder, n, divisor, ROUND_CHECK);
-  if (r != V_EQ)
-    return false;
-  if (sgn(remainder) < 0) {
-    r = add_assign_r(remainder, remainder, divisor, ROUND_CHECK);
-    if (r != V_EQ)
-      return false;
-  }
-  r = assign_r(rem, remainder, ROUND_CHECK);
-  return r == V_EQ;
-}
+    The result is undefined if \p pfunc does not encode a partial
+    function with the properties described in the
+    \ref Mapping_the_Dimensions_of_the_Vector_Space "specification of the mapping operator".
+  */
+  template <typename Partial_Function>
+  void map_space_dimensions(const Partial_Function& pfunc);
 
+  //! Creates \p m copies of the space dimension corresponding to \p var.
+  /*!
+    \param var
+    The variable corresponding to the space dimension to be replicated;
 
-template <typename T, typename Base, typename From1, typename From2>
-inline bool
-add_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From1& x, const From2& y) {
-  typedef Restriction_Integer_Modulo<From1, T, Base> Rx;
-  const typename Rx::type& rx = Rx::get(x);
-  if (rx.divisor == 0)
-    return set_unrestricted(to);
-  typedef Restriction_Integer_Modulo<From2, T, Base> Ry;
-  const typename Ry::type& ry = Ry::get(y);
-  if (ry.divisor == 0)
-    return set_unrestricted(to);
-  Result r;
-  PPL_DIRTY_TEMP(T, rem);
-  if (is_singleton(x)) {
-    if (is_singleton(y))
-      return set_integer(to);
-    if (!assign_rem(rem, f_lower(x), ry.divisor))
-      return set_integer(to);
-    r = assign_r(to.divisor, ry.divisor, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-    addmod(to.remainder, rem, ry.remainder, to.divisor, ry.divisor);
-  }
-  else if (is_singleton(y)) {
-    if (!assign_rem(rem, f_lower(y), rx.divisor))
-      return set_integer(to);
-    r = assign_r(to.divisor, rx.divisor, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-    addmod(to.remainder, rx.remainder, rem, to.divisor, to.divisor);
-  }
-  else {
-    r = gcd_assign_r(to.divisor, rx.divisor, ry.divisor, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-    addmod(to.remainder, rx.remainder, ry.remainder, to.divisor, ry.divisor);
-  }
-  return true;
-}
+    \param m
+    The number of replicas to be created.
 
-template <typename T>
-inline void
-submod(T& to, const T& x, const T& y, const T& to_m, const T& y_m) {
-  Result r;
-  if (x >= y) {
-    r = sub_assign_r(to, x, y, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-  }
-  else {
-    r = sub_assign_r(to, y_m, y, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-    r = add_assign_r(to, x, to, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-  }
-  r = rem_assign_r(to, to, to_m, ROUND_NOT_NEEDED);
-  assert(r == V_EQ);
-}
+    \exception std::invalid_argument
+    Thrown if \p var does not correspond to a dimension of the vector
+    space.
 
-template <typename T, typename Base, typename From1, typename From2>
-inline bool
-sub_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From1& x, const From2& y) {
-  typedef Restriction_Integer_Modulo<From1, T, Base> Rx;
-  const typename Rx::type& rx = Rx::get(x);
-  if (rx.divisor == 0)
-    return set_unrestricted(to);
-  typedef Restriction_Integer_Modulo<From2, T, Base> Ry;
-  const typename Ry::type& ry = Ry::get(y);
-  if (ry.divisor == 0)
-    return set_unrestricted(to);
-  Result r;
-  PPL_DIRTY_TEMP(T, rem);
-  if (is_singleton(x)) {
-    if (is_singleton(y))
-      return set_integer(to);
-    if (!assign_rem(rem, f_lower(x), ry.divisor))
-      return set_integer(to);
-    r = assign_r(to.divisor, ry.divisor, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-    submod(to.remainder, rem, ry.remainder, to.divisor, ry.divisor);
-  }
-  else if (is_singleton(y)) {
-    if (!assign_rem(rem, f_lower(y), rx.divisor))
-      return set_integer(to);
-    r = assign_r(to.divisor, rx.divisor, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-    submod(to.remainder, rx.remainder, rem, to.divisor, to.divisor);
-  }
-  else {
-    r = gcd_assign_r(to.divisor, rx.divisor, ry.divisor, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-    submod(to.remainder, rx.remainder, ry.remainder, to.divisor, ry.divisor);
-  }
-  return true;
-}
+    \exception std::length_error
+    Thrown if adding \p m new space dimensions would cause the vector
+    space to exceed dimension <CODE>max_space_dimension()</CODE>.
 
-template <typename T>
-inline void
-mulmod(T& to, const T& x, const T& y, const T& to_m) {
-  Result r;
-  if (std::numeric_limits<T>::is_bounded) {
-    PPL_DIRTY_TEMP0(mpz_class, a);
-    PPL_DIRTY_TEMP0(mpz_class, b);
-    r = assign_r(a, x, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-    r = assign_r(b, y, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-    r = mul_assign_r(a, a, b, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-    r = assign_r(b, to_m, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-    r = rem_assign_r(a, a, b, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-    r = assign_r(to, a, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-  }
-  else {
-    r = mul_assign_r(to, x, y, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-    r = rem_assign_r(to, to, to_m, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-  }
-}
+    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
+    and <CODE>var</CODE> has space dimension \f$k \leq n\f$,
+    then the \f$k\f$-th space dimension is
+    \ref Expanding_One_Dimension_of_the_Vector_Space_to_Multiple_Dimensions
+    "expanded" to \p m new space dimensions
+    \f$n\f$, \f$n+1\f$, \f$\dots\f$, \f$n+m-1\f$.
+  */
+  void expand_space_dimension(Variable var, dimension_type m);
 
+  //! Folds the space dimensions in \p vars into \p dest.
+  /*!
+    \param vars
+    The set of Variable objects corresponding to the space dimensions
+    to be folded;
 
-template <typename T, typename Base, typename From1, typename From2>
-inline bool
-mul_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From1& x, const From2& y) {
-  typedef Restriction_Integer_Modulo<From1, T, Base> Rx;
-  const typename Rx::type& rx = Rx::get(x);
-  if (rx.divisor == 0)
-    return set_unrestricted(to);
-  typedef Restriction_Integer_Modulo<From2, T, Base> Ry;
-  const typename Ry::type& ry = Ry::get(y);
-  if (ry.divisor == 0)
-    return set_unrestricted(to);
-  Result r;
-  PPL_DIRTY_TEMP(T, mul);
-  if (is_singleton(x)) {
-    if (is_singleton(y))
-      return set_integer(to);
-    PPL_DIRTY_TEMP(typename Boundary_Value<From1>::type, n);
-    r = abs_assign_r(n, f_lower(x), ROUND_CHECK);
-    if (r != V_EQ)
-      return set_integer(to);
-    r = assign_r(mul, n, ROUND_CHECK);
-    if (r != V_EQ)
-      return set_integer(to);
-    r = mul_assign_r(to.remainder, mul, ry.remainder, ROUND_NOT_NEEDED);
-    if (r != V_EQ)
-      return set_integer(to);
-    r = mul_assign_r(to.divisor, mul, ry.divisor, ROUND_NOT_NEEDED);
-    if (r != V_EQ)
-      return set_integer(to);
-  }
-  else if (is_singleton(y)) {
-    PPL_DIRTY_TEMP(typename Boundary_Value<From2>::type, n);
-    r = abs_assign_r(n, f_lower(y), ROUND_CHECK);
-    if (r != V_EQ)
-      return set_integer(to);
-    r = assign_r(mul, n, ROUND_CHECK);
-    if (r != V_EQ)
-      return set_integer(to);
-    r = mul_assign_r(to.remainder, rx.remainder, mul, ROUND_NOT_NEEDED);
-    if (r != V_EQ)
-      return set_integer(to);
-    r = mul_assign_r(to.divisor, rx.divisor, mul, ROUND_NOT_NEEDED);
-    if (r != V_EQ)
-      return set_integer(to);
-  }
-  else {
-    r = gcd_assign_r(to.divisor, rx.divisor, ry.divisor, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-    mulmod(to.remainder, rx.remainder, ry.remainder, to.divisor);
-  }
-  return true;
-}
+    \param dest
+    The variable corresponding to the space dimension that is the
+    destination of the folding operation.
 
-template <typename T, typename Base, typename From1, typename From2>
-inline bool
-div_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to,
-                const From1& x, const From2& y) {
-  if (is_singleton(y)) {
-    if (is_singleton(x)) {
-      // FIXME: to be written
-    }
-  }
-  return set_unrestricted(to);
-}
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with \p dest or with
+    one of the Variable objects contained in \p vars.  Also
+    thrown if \p dest is contained in \p vars.
 
-template <typename T, typename Base>
-inline void
-output_restriction(std::ostream& s, const Interval_Restriction_Integer_Modulo<T, Base>& x) {
-  if (x.divisor == 1)
-    s << "i";
-  else if (x.divisor != 0)
-    s << "{" << x.remainder << "%" << x.divisor << "}";
-}
+    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
+    <CODE>dest</CODE> has space dimension \f$k \leq n\f$,
+    \p vars is a set of variables whose maximum space dimension
+    is also less than or equal to \f$n\f$, and \p dest is not a member
+    of \p vars, then the space dimensions corresponding to
+    variables in \p vars are
+    \ref Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension "folded"
+    into the \f$k\f$-th space dimension.
+  */
+  void fold_space_dimensions(const Variables_Set& vars, Variable dest);
 
-}
+  //@} // Member Functions that May Modify the Dimension of the Vector Space
 
-/* Automatically generated from PPL source file ../src/Interval_Info.defs.hh line 28. */
+  friend bool operator==(const Grid& x, const Grid& y);
 
-#include <iostream>
+  friend class Parma_Polyhedra_Library::Grid_Certificate;
 
-namespace Parma_Polyhedra_Library {
+  template <typename Interval> friend class Parma_Polyhedra_Library::Box;
 
-namespace Interval_NS {
+  //! \name Miscellaneous Member Functions
+  //@{
 
-struct Property {
-  enum Type {
-    CARDINALITY_0_,
-    CARDINALITY_1_,
-    CARDINALITY_IS_
-  };
-  typedef bool Value;
-  static const Value default_value = true;
-  static const Value unsupported_value = false;
-  Property(Type t)
-    : type(t) {
-  }
-  Type type;
-};
+  //! Destructor.
+  ~Grid();
 
-const Property CARDINALITY_0(Property::CARDINALITY_0_);
-const Property CARDINALITY_1(Property::CARDINALITY_1_);
-const Property CARDINALITY_IS(Property::CARDINALITY_IS_);
+  /*! \brief
+    Swaps \p *this with grid \p y.  (\p *this and \p y can be
+    dimension-incompatible.)
+  */
+  void swap(Grid& y);
 
-template <typename T>
-inline void
-reset_bits(T& bits) {
-  bits = 0;
-}
+  PPL_OUTPUT_DECLARATIONS
 
-template <typename T>
-inline void
-reset_bit(T& bits, unsigned int bit) {
-  bits &= ~(static_cast<T>(1) << bit);
-}
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
 
-template <typename T>
-inline void
-set_bit(T& bits, unsigned int bit, bool value) {
-  if (value)
-    bits |= static_cast<T>(1) << bit;
-  else
-    reset_bit(bits, bit);
-}
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
 
-template <typename T>
-inline bool
-get_bit(const T& bits, unsigned int bit) {
-  return bits & (static_cast<T>(1) << bit);
-}
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-template <typename T>
-inline void
-set_bits(T& bits, unsigned int start, unsigned int len, T value) {
-  bits &= ~(((static_cast<T>(1) << len) - 1) << start);
-  bits |= value << start;
-}
+  /*! \brief
+    Returns a 32-bit hash code for \p *this.
 
-template <typename T>
-inline T
-get_bits(T& bits, unsigned int start, unsigned int len) {
-  return (bits >> start) & ((static_cast<T>(1) << len) - 1);
-}
+    If \p x and \p y are such that <CODE>x == y</CODE>,
+    then <CODE>x.hash_code() == y.hash_code()</CODE>.
+  */
+  int32_t hash_code() const;
 
-} // namespace Interval_NS
+  //@} // Miscellaneous Member Functions
 
-using namespace Interval_NS;
-using namespace Boundary_NS;
+private:
 
+  //! The system of congruences.
+  Congruence_System con_sys;
 
-template <typename Policy>
-class Interval_Info_Null {
-public:
-  const_bool_nodef(may_be_empty, Policy::may_be_empty);
-  const_bool_nodef(may_contain_infinity, Policy::may_contain_infinity);
-  const_bool_nodef(check_empty_result, Policy::check_empty_result);
-  const_bool_nodef(check_inexact, Policy::check_inexact);
-  const_bool_nodef(store_special, false);
-  const_bool_nodef(store_open, false);
-  const_bool_nodef(cache_normalized, false);
-  const_bool_nodef(cache_empty, false);
-  const_bool_nodef(cache_singleton, false);
-  void clear() {
-  }
-  void clear_boundary_properties(Boundary_Type) {
-  }
+  //! The system of generators.
+  Grid_Generator_System gen_sys;
 
-  template <typename Property>
-  void set_boundary_property(Boundary_Type, const Property&, typename Property::Value = Property::default_value) {
-  }
-  template <typename Property>
-  typename Property::Value get_boundary_property(Boundary_Type, const Property&) const {
-    return Property::unsupported_value;
-  }
-  template <typename Property>
-  void set_interval_property(const Property&, typename Property::Value = Property::default_value) {
-  }
-  template <typename Property>
-  typename Property::Value get_interval_property(const Property&) const {
-    return Property::unsupported_value;
-  }
+#define PPL_IN_Grid_CLASS
+/* Automatically generated from PPL source file ../src/Grid_Status.idefs.hh line 1. */
+/* Grid::Status class declaration.
+*/
 
-  //! Swaps \p *this with \p y.
-  void swap(Interval_Info_Null& y);
 
-  void ascii_dump(std::ostream& s) const;
-  bool ascii_load(std::istream& s);
-};
+#ifndef PPL_IN_Grid_CLASS
+#error "Do not include Grid_Status.idefs.hh directly; use Grid.defs.hh instead."
+#endif
 
-template <typename Policy>
-class Interval_Info_Null_Open : public Interval_Info_Null<Policy> {
+//! A conjunctive assertion about a grid.
+/*!
+  The assertions supported that are in use are:
+  - <EM>zero-dim universe</EM>: the grid is the zero-dimension
+    vector space \f$\Rset^0 = \{\cdot\}\f$;
+  - <EM>empty</EM>: the grid is the empty set;
+  - <EM>congruences up-to-date</EM>: the grid is correctly
+    characterized by the attached system of congruences, modulo the
+    processing of pending generators;
+  - <EM>generators up-to-date</EM>: the grid is correctly
+    characterized by the attached system of generators, modulo the
+    processing of pending congruences;
+  - <EM>congruences minimized</EM>: the non-pending part of the system
+    of congruences attached to the grid is in minimal form;
+  - <EM>generators minimized</EM>: the non-pending part of the system
+    of generators attached to the grid is in minimal form.
+
+  Other supported assertions are:
+  - <EM>congruences pending</EM>
+  - <EM>generators pending</EM>
+  - <EM>congruences' saturation matrix up-to-date</EM>
+  - <EM>generators' saturation matrix up-to-date</EM>.
+
+  Not all the conjunctions of these elementary assertions constitute
+  a legal Status.  In fact:
+  - <EM>zero-dim universe</EM> excludes any other assertion;
+  - <EM>empty</EM>: excludes any other assertion;
+  - <EM>congruences pending</EM> and <EM>generators pending</EM>
+    are mutually exclusive;
+  - <EM>congruences pending</EM> implies both <EM>congruences minimized</EM>
+    and <EM>generators minimized</EM>;
+  - <EM>generators pending</EM> implies both <EM>congruences minimized</EM>
+    and <EM>generators minimized</EM>;
+  - <EM>congruences minimized</EM> implies <EM>congruences up-to-date</EM>;
+  - <EM>generators minimized</EM> implies <EM>generators up-to-date</EM>;
+  - <EM>congruences' saturation matrix up-to-date</EM> implies both
+    <EM>congruences up-to-date</EM> and <EM>generators up-to-date</EM>;
+  - <EM>generators' saturation matrix up-to-date</EM> implies both
+    <EM>congruences up-to-date</EM> and <EM>generators up-to-date</EM>.
+*/
+class Status {
 public:
-  const_bool_nodef(store_open, true);
-  Interval_Info_Null_Open(bool o)
-    : open(o) {
-  }
-  bool get_boundary_property(Boundary_Type, const Boundary_NS::Property& p) const {
-    switch (p.type) {
-    case Boundary_NS::Property::OPEN_:
-      return open;
-    default:
-      return Boundary_NS::Property::unsupported_value;
-    }
-  }
+  //! By default Status is the <EM>zero-dim universe</EM> assertion.
+  Status();
 
-  void ascii_dump(std::ostream& s) const;
-  bool ascii_load(std::istream& s);
+  //! \name Test, remove or add an individual assertion from the conjunction
+  //@{
+  bool test_zero_dim_univ() const;
+  void reset_zero_dim_univ();
+  void set_zero_dim_univ();
 
-private:
-  bool open;
-};
+  bool test_empty() const;
+  void reset_empty();
+  void set_empty();
 
+  bool test_c_up_to_date() const;
+  void reset_c_up_to_date();
+  void set_c_up_to_date();
 
-template <typename T, typename Policy>
-class Interval_Info_Bitset {
-public:
-  const_bool_nodef(may_be_empty, Policy::may_be_empty);
-  const_bool_nodef(may_contain_infinity, Policy::may_contain_infinity);
-  const_bool_nodef(check_empty_result, Policy::check_empty_result);
-  const_bool_nodef(check_inexact, Policy::check_inexact);
-  const_bool_nodef(store_special, Policy::store_special);
-  const_bool_nodef(store_open, Policy::store_open);
-  const_bool_nodef(cache_normalized, Policy::cache_normalized);
-  const_bool_nodef(cache_empty, Policy::cache_empty);
-  const_bool_nodef(cache_singleton, Policy::cache_singleton);
-  const_int_nodef(lower_special_bit, Policy::next_bit);
-  const_int_nodef(lower_open_bit, lower_special_bit + store_special);
-  const_int_nodef(lower_normalized_bit, lower_open_bit + store_open);
-  const_int_nodef(upper_special_bit, lower_normalized_bit + cache_normalized);
-  const_int_nodef(upper_open_bit, upper_special_bit + store_special);
-  const_int_nodef(upper_normalized_bit, upper_open_bit + store_open);
-  const_int_nodef(cardinality_is_bit, upper_normalized_bit + cache_normalized);
-  const_int_nodef(cardinality_0_bit, cardinality_is_bit + (cache_empty || cache_singleton));
-  const_int_nodef(cardinality_1_bit, cardinality_0_bit + cache_empty);
-  const_int_nodef(next_bit, cardinality_1_bit + cache_singleton);
-  Interval_Info_Bitset() {
-    // FIXME: would we have speed benefits with uninitialized info?
-    // (Dirty_Temp)
-    clear();
-  }
+  bool test_g_up_to_date() const;
+  void reset_g_up_to_date();
+  void set_g_up_to_date();
 
-  void clear() {
-    reset_bits(bitset);
-  }
-  void clear_boundary_properties(Boundary_Type t) {
-    set_boundary_property(t, SPECIAL, false);
-    set_boundary_property(t, OPEN, false);
-  }
-  void set_boundary_property(Boundary_Type t, const Boundary_NS::Property& p, bool value = true) {
-    switch (p.type) {
-    case Boundary_NS::Property::SPECIAL_:
-      if (store_special) {
-	if (t == LOWER)
-	  set_bit(bitset, lower_special_bit, value);
-	else
-	  set_bit(bitset, upper_special_bit, value);
-      }
-      break;
-    case Boundary_NS::Property::OPEN_:
-      if (store_open) {
-	if (t == LOWER)
-	  set_bit(bitset, lower_open_bit, value);
-	else
-	  set_bit(bitset, upper_open_bit, value);
-      }
-      break;
-    case Boundary_NS::Property::NORMALIZED_:
-      if (cache_normalized) {
-	if (t == LOWER)
-	  set_bit(bitset, lower_normalized_bit, value);
-	else
-	  set_bit(bitset, upper_normalized_bit, value);
-      }
-      break;
-    default:
-      break;
-    }
-  }
-  bool get_boundary_property(Boundary_Type t, const Boundary_NS::Property& p) const {
-    switch (p.type) {
-    case Boundary_NS::Property::SPECIAL_:
-      if (!store_special)
-	return false;
-      if (t == LOWER)
-	return get_bit(bitset, lower_special_bit);
-      else
-	return get_bit(bitset, upper_special_bit);
-    case Boundary_NS::Property::OPEN_:
-      if (!store_open)
-	return false;
-      else if (t == LOWER)
-	return get_bit(bitset, lower_open_bit);
-      else
-	return get_bit(bitset, upper_open_bit);
-    case Boundary_NS::Property::NORMALIZED_:
-      if (!cache_normalized)
-	return false;
-      else if (t == LOWER)
-	return get_bit(bitset, lower_normalized_bit);
-      else
-	return get_bit(bitset, upper_normalized_bit);
-    default:
-      return false;
-    }
-  }
-  void set_interval_property(const Interval_NS::Property& p, bool value = true) {
-    switch (p.type) {
-    case Interval_NS::Property::CARDINALITY_0_:
-      if (cache_empty)
-	set_bit(bitset, cardinality_0_bit, value);
-      break;
-    case Interval_NS::Property::CARDINALITY_1_:
-      if (cache_singleton)
-	set_bit(bitset, cardinality_1_bit, value);
-      break;
-    case Interval_NS::Property::CARDINALITY_IS_:
-      if (cache_empty || cache_singleton)
-	set_bit(bitset, cardinality_is_bit, value);
-      break;
-    default:
-      break;
-    }
-  }
-  bool get_interval_property(Interval_NS::Property p) const {
-    switch (p.type) {
-    case Interval_NS::Property::CARDINALITY_0_:
-      return cache_empty && get_bit(bitset, cardinality_0_bit);
-    case Interval_NS::Property::CARDINALITY_1_:
-      return cache_singleton && get_bit(bitset, cardinality_1_bit);
-    case Interval_NS::Property::CARDINALITY_IS_:
-      return (cache_empty || cache_singleton) && get_bit(bitset, cardinality_is_bit);
-    default:
-      return false;
-    }
-  }
+  bool test_c_minimized() const;
+  void reset_c_minimized();
+  void set_c_minimized();
 
-  //! Swaps \p *this with \p y.
-  void swap(Interval_Info_Bitset& y);
+  bool test_g_minimized() const;
+  void reset_g_minimized();
+  void set_g_minimized();
 
-  void ascii_dump(std::ostream& s) const;
+  bool test_sat_c_up_to_date() const;
+  void reset_sat_c_up_to_date();
+  void set_sat_c_up_to_date();
+
+  bool test_sat_g_up_to_date() const;
+  void reset_sat_g_up_to_date();
+  void set_sat_g_up_to_date();
+
+  bool test_c_pending() const;
+  void reset_c_pending();
+  void set_c_pending();
+
+  bool test_g_pending() const;
+  void reset_g_pending();
+  void set_g_pending();
+  //@} // Test, remove or add an individual assertion from the conjunction
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
+  PPL_OUTPUT_DECLARATIONS
+
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
   bool ascii_load(std::istream& s);
 
-protected:
-  T bitset;
-};
+private:
+  //! Status is implemented by means of a finite bitset.
+  typedef unsigned int flags_t;
 
-}
+  //! \name Bitmasks for the individual assertions
+  //@{
+  static const flags_t ZERO_DIM_UNIV    = 0U;
+  static const flags_t EMPTY            = 1U << 0;
+  static const flags_t C_UP_TO_DATE     = 1U << 1;
+  static const flags_t G_UP_TO_DATE     = 1U << 2;
+  static const flags_t C_MINIMIZED      = 1U << 3;
+  static const flags_t G_MINIMIZED      = 1U << 4;
+  static const flags_t SAT_C_UP_TO_DATE = 1U << 5;
+  static const flags_t SAT_G_UP_TO_DATE = 1U << 6;
+  static const flags_t CS_PENDING       = 1U << 7;
+  static const flags_t GS_PENDING       = 1U << 8;
+  //@} // Bitmasks for the individual assertions
 
-/* Automatically generated from PPL source file ../src/Interval_Info.inlines.hh line 1. */
-/* Interval_Info class implementation: inline functions.
-*/
+  //! This holds the current bitset.
+  flags_t flags;
 
+  //! Construct from a bitmask.
+  Status(flags_t mask);
 
-#include <iomanip>
+  //! Check whether <EM>all</EM> bits in \p mask are set.
+  bool test_all(flags_t mask) const;
 
-namespace Parma_Polyhedra_Library {
+  //! Check whether <EM>at least one</EM> bit in \p mask is set.
+  bool test_any(flags_t mask) const;
 
-template <typename Policy>
-inline void
-Interval_Info_Null<Policy>::swap(Interval_Info_Null<Policy>&) {
-}
+  //! Set the bits in \p mask.
+  void set(flags_t mask);
 
-template <typename Policy>
-inline void
-Interval_Info_Null<Policy>::ascii_dump(std::ostream& s) const {
-}
+  //! Reset the bits in \p mask.
+  void reset(flags_t mask);
+};
 
-template <typename Policy>
-inline bool
-Interval_Info_Null<Policy>::ascii_load(std::istream& s) {
-  return true;
-}
+/* Automatically generated from PPL source file ../src/Grid.defs.hh line 1972. */
+#undef PPL_IN_Grid_CLASS
 
-template <typename Policy>
-inline void
-Interval_Info_Null_Open<Policy>::ascii_dump(std::ostream& s) const {
-  s << (open ? "open" : "closed");
-}
+  //! The status flags to keep track of the grid's internal state.
+  Status status;
 
-template <typename Policy>
-inline bool
-Interval_Info_Null_Open<Policy>::ascii_load(std::istream& s) {
-  std::string str;
-  if (!(s >> str))
-    return false;
-  if (str == "open") {
-    open = true;
-    return true;
-  }
-  if (str == "closed") {
-    open = false;
-    return true;
-  }
-  return false;
-}
+  //! The number of dimensions of the enclosing vector space.
+  dimension_type space_dim;
 
-template <typename T, typename Policy>
-inline void
-Interval_Info_Bitset<T, Policy>::swap(Interval_Info_Bitset<T, Policy>& y) {
-  std::swap(bitset, y.bitset);
-}
+  enum Dimension_Kind {
+    PARAMETER,
+    LINE,
+    GEN_VIRTUAL,
+    PROPER_CONGRUENCE = PARAMETER,
+    CON_VIRTUAL = LINE,
+    EQUALITY = GEN_VIRTUAL
+  };
 
-template <typename T, typename Policy>
-inline void
-Interval_Info_Bitset<T, Policy>::ascii_dump(std::ostream& s) const {
-  std::ios_base::fmtflags old = s.flags();
-  s << std::hex << bitset;
-  s.flags(old);
-}
+  typedef std::vector<Dimension_Kind> Dimension_Kinds;
+
+  // The type of row associated with each dimension.  If the virtual
+  // rows existed then the reduced systems would be square and upper
+  // or lower triangular, and the rows in each would have the types
+  // given in this vector.  As the congruence system is reduced to an
+  // upside-down lower triangular form the ordering of the congruence
+  // types is last to first.
+  Dimension_Kinds dim_kinds;
+
+  //! Builds a grid universe or empty grid.
+  /*!
+    \param num_dimensions
+    The number of dimensions of the vector space enclosing the grid;
+
+    \param kind
+    specifies whether the universe or the empty grid has to be built.
+  */
+  void construct(dimension_type num_dimensions, Degenerate_Element kind);
+
+  //! Builds a grid from a system of congruences.
+  /*!
+    The grid inherits the space dimension of the congruence system.
 
-template <typename T, typename Policy>
-inline bool
-Interval_Info_Bitset<T, Policy>::ascii_load(std::istream& s) {
-  std::ios_base::fmtflags old = s.flags();
-  if (s >> std::hex >> bitset) {
-    s.flags(old);
-    return s;
-  }
-  else
-    return false;
-}
+    \param cgs
+    The system of congruences defining the grid. Its data-structures
+    may be recycled to build the grid.
+  */
+  void construct(Congruence_System& cgs);
 
-} // namespace Parma_Polyhedra_Library
+  //! Builds a grid from a system of grid generators.
+  /*!
+    The grid inherits the space dimension of the generator system.
 
-namespace std {
+    \param ggs
+    The system of grid generators defining the grid.  Its data-structures
+    may be recycled to build the grid.
+  */
+  void construct(Grid_Generator_System& ggs);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \relates Parma_Polyhedra_Library::Interval_Info_Null */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Policy>
-inline void
-swap(Parma_Polyhedra_Library::Interval_Info_Null<Policy>& x,
-     Parma_Polyhedra_Library::Interval_Info_Null<Policy>& y) {
-  x.swap(y);
-}
+  //! \name Private Verifiers: Verify if Individual Flags are Set
+  //@{
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \relates Parma_Polyhedra_Library::Interval_Info_Bitset */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T, typename Policy>
-inline void
-swap(Parma_Polyhedra_Library::Interval_Info_Bitset<T, Policy>& x,
-     Parma_Polyhedra_Library::Interval_Info_Bitset<T, Policy>& y) {
-  x.swap(y);
-}
+  //! Returns <CODE>true</CODE> if the grid is known to be empty.
+  /*!
+    The return value <CODE>false</CODE> does not necessarily
+    implies that \p *this is non-empty.
+  */
+  bool marked_empty() const;
 
-} // namespace std
+  //! Returns <CODE>true</CODE> if the system of congruences is up-to-date.
+  bool congruences_are_up_to_date() const;
 
-/* Automatically generated from PPL source file ../src/Interval_Info.defs.hh line 299. */
+  //! Returns <CODE>true</CODE> if the system of generators is up-to-date.
+  bool generators_are_up_to_date() const;
 
-/* Automatically generated from PPL source file ../src/Interval.defs.hh line 31. */
-#include <iosfwd>
+  //! Returns <CODE>true</CODE> if the system of congruences is minimized.
+  bool congruences_are_minimized() const;
 
-// Temporary!
-#include <iostream>
+  //! Returns <CODE>true</CODE> if the system of generators is minimized.
+  bool generators_are_minimized() const;
 
-namespace Parma_Polyhedra_Library {
+  //@} // Private Verifiers: Verify if Individual Flags are Set
 
-enum I_Result {
-  I_EMPTY = 0,
-  /*
-  I_L_EQ = V_EQ,
-  I_L_GT = V_GT,
-  I_L_GE = V_GE,
-  I_U_EQ = V_EQ << 6,
-  I_U_LT = V_LT << 6,
-  I_U_LE = V_LE << 6,
-  */
-  I_MAYBE_EMPTY = 1 << 12,
-  I_SINGULARITIES = 1 << 13
-};
+  //! \name State Flag Setters: Set Only the Specified Flags
+  //@{
 
-enum Ternary { T_YES, T_NO, T_MAYBE };
+  /*! \brief
+    Sets \p status to express that the grid is the universe
+    0-dimension vector space, clearing all corresponding matrices.
+  */
+  void set_zero_dim_univ();
 
-inline I_Result
-combine(Result l, Result u) {
-  return static_cast<I_Result>(l | (u << 6));
-}
+  /*! \brief
+    Sets \p status to express that the grid is empty, clearing all
+    corresponding matrices.
+  */
+  void set_empty();
 
-inline Result
-lower(I_Result r) {
-  return static_cast<Result>(r & 63);
-}
+  //! Sets \p status to express that congruences are up-to-date.
+  void set_congruences_up_to_date();
 
-inline Result
-upper(I_Result r) {
-  return static_cast<Result>((r >> 6) & 63);
-}
+  //! Sets \p status to express that generators are up-to-date.
+  void set_generators_up_to_date();
 
-template <typename Info>
-inline bool
-unrepresentability_error(I_Result r, const Info&) {
-  return !Info::store_special
-    && (is_special(lower(r)) || is_special(upper(r)));
-}
+  //! Sets \p status to express that congruences are minimized.
+  void set_congruences_minimized();
 
-using namespace Boundary_NS;
-using namespace Interval_NS;
+  //! Sets \p status to express that generators are minimized.
+  void set_generators_minimized();
 
-struct Interval_Base {};
+  //@} // State Flag Setters: Set Only the Specified Flags
 
-template <typename T, typename Enable = void>
-struct Is_Singleton : public Is_Native_Or_Checked<T> {};
+  //! \name State Flag Cleaners: Clear Only the Specified Flag
+  //@{
 
-template <typename T>
-struct Is_Interval : public Is_Same_Or_Derived<Interval_Base, T> {};
+  //! Clears the \p status flag indicating that the grid is empty.
+  void clear_empty();
 
-//! A generic, not necessarily closed, possibly restricted interval.
-/*! \ingroup PPL_CXX_interface
-  The class template type parameter \p Boundary represents the type
-  of the interval boundaries, and can be chosen, among other possibilities,
-  within one of the following number families:
+  //! Sets \p status to express that congruences are out of date.
+  void clear_congruences_up_to_date();
 
-  - a bounded precision native integer type (that is,
-    from <CODE>signed char</CODE> to <CODE>long long</CODE>
-    and from <CODE>int8_t</CODE> to <CODE>int64_t</CODE>);
-  - a bounded precision floating point type (<CODE>float</CODE>,
-    <CODE>double</CODE> or <CODE>long double</CODE>);
-  - an unbounded integer or rational type, as provided by the C++ interface
-    of GMP (<CODE>mpz_class</CODE> or <CODE>mpq_class</CODE>).
+  //! Sets \p status to express that generators are out of date.
+  void clear_generators_up_to_date();
 
-  The class template type parameter \p Info allows to control a number
-  of features of the class, among which:
+  //! Sets \p status to express that congruences are no longer minimized.
+  void clear_congruences_minimized();
 
-  - the ability to support open as well as closed boundaries;
-  - the ability to represent empty intervals in addition to nonempty ones;
-  - the ability to represent intervals of extended number families
-    that contain positive and negative infinities;
-  - the ability to support (independently from the type of the boundaries)
-    plain intervals of real numbers and intervals subject to generic
-    <EM>restrictions</EM> (e.g., intervals of integer numbers).
-*/
-template <typename Boundary, typename Info>
-class Interval : public Interval_Base, private Info {
-private:
-  PPL_COMPILE_TIME_CHECK(!Info::store_special
-                         || !std::numeric_limits<Boundary>::has_infinity,
-                         "store_special is meaningless"
-                         " when boundary type may contains infinity");
-  Info& w_info() const {
-    return const_cast<Interval&>(*this);
-  }
-  bool is_empty_nocache() const {
-    return lt(UPPER, upper(), info(), LOWER, lower(), info());
-  }
-  bool is_singleton_nocache() const {
-    return eq(LOWER, lower(), info(), UPPER, upper(), info());
-  }
-  Result lower_normalize() const {
-    Result r;
-    if (info().get_boundary_property(LOWER, NORMALIZED)
-	|| info().get_boundary_property(LOWER, SPECIAL))
-      r = V_EQ;
-    else {
-      Boundary& l = const_cast<Boundary&>(lower());
-      if (info().get_boundary_property(LOWER, OPEN)) {
-	r = info().restrict(round_dir_check(LOWER, true), l, V_GT);
-	if (r != V_GT)
-	  w_info().set_boundary_property(LOWER, OPEN, false);
-      }
-      else {
-	r = info().restrict(round_dir_check(LOWER, true), l, V_GE);
-	if (r == V_GT)
-	  w_info().set_boundary_property(LOWER, OPEN);
-      }
-      w_info().set_boundary_property(LOWER, NORMALIZED);
-    }
-    return r;
-  }
-  Result upper_normalize() const {
-    Result r;
-    if (info().get_boundary_property(UPPER, NORMALIZED)
-	|| info().get_boundary_property(UPPER, SPECIAL))
-      r = V_EQ;
-    else {
-      Boundary& u = const_cast<Boundary&>(upper());
-      if (info().get_boundary_property(UPPER, OPEN)) {
-	r = info().restrict(round_dir_check(UPPER, true), u, V_LT);
-	if (r != V_LT)
-	  w_info().set_boundary_property(UPPER, OPEN, false);
-      }
-      else {
-	r = info().restrict(round_dir_check(UPPER, true), u, V_LE);
-	if (r == V_LT)
-	  w_info().set_boundary_property(UPPER, OPEN);
-      }
-      w_info().set_boundary_property(UPPER, NORMALIZED);
-    }
-    return r;
-  }
+  //! Sets \p status to express that generators are no longer minimized.
+  void clear_generators_minimized();
 
+  //@} // State Flag Cleaners: Clear Only the Specified Flag
 
-public:
-  typedef Boundary boundary_type;
-  typedef Info info_type;
+  //! \name Updating Matrices
+  //@{
 
-  typedef Interval_NS::Property Property;
+  //! Updates and minimizes the congruences from the generators.
+  void update_congruences() const;
 
-  void lower_load() {
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-    lower_loaded = 1;
-#endif
-  }
+  //! Updates and minimizes the generators from the congruences.
+  /*!
+    \return
+    <CODE>false</CODE> if and only if \p *this turns out to be an
+    empty grid.
 
-  void upper_load() {
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-    upper_loaded = 1;
-#endif
-  }
+    It is illegal to call this method when the Status field already
+    declares the grid to be empty.
+  */
+  bool update_generators() const;
 
-  void complete_init() {
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-    assert(lower_loaded);
-    assert(upper_loaded);
-    completed = 1;
-#endif
-  }
+  //@} // Updating Matrices
 
-  void complete_init_internal() {
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-    lower_loaded = 1;
-    upper_loaded = 1;
-    completed = 1;
-#endif
-  }
+  //! \name Minimization of Descriptions
+  //@{
 
-  template <typename T>
-  typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, Interval&>::type
-  operator=(const T& x) {
-    assign(x);
-    return *this;
-  }
+  //! Minimizes both the congruences and the generators.
+  /*!
+    \return
+    <CODE>false</CODE> if and only if \p *this turns out to be an
+    empty grid.
 
-  template <typename T>
-  typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, Interval&>::type
-  operator+=(const T& x) {
-    add_assign(*this, x);
-    return *this;
-  }
-  template <typename T>
-  typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, Interval&>::type
-  operator-=(const T& x) {
-    sub_assign(*this, x);
-    return *this;
-  }
-  template <typename T>
-  typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, Interval&>::type
-  operator*=(const T& x) {
-    mul_assign(*this, x);
-    return *this;
-  }
-  template <typename T>
-  typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, Interval&>::type
-  operator/=(const T& x) {
-    div_assign(*this, x);
-    return *this;
-  }
+    Minimization is performed on each system only if the minimized
+    Status field is clear.
+  */
+  bool minimize() const;
 
-  //! Swaps \p *this with \p y.
-  void swap(Interval& y);
+  //@} // Minimization of Descriptions
 
-  Info& info() {
-    return *this;
-  }
+  enum Three_Valued_Boolean {
+    TVB_TRUE,
+    TVB_FALSE,
+    TVB_DONT_KNOW
+  };
 
-  const Info& info() const {
-    return *this;
-  }
+  //! Polynomial but incomplete equivalence test between grids.
+  Three_Valued_Boolean quick_equivalence_test(const Grid& y) const;
 
-  Boundary& lower() {
-    return lower_;
-  }
+  //! Returns <CODE>true</CODE> if and only if \p *this is included in \p y.
+  bool is_included_in(const Grid& y) const;
 
-  const Boundary& lower() const {
-    return lower_;
-  }
+  //! Checks if and how \p expr is bounded in \p *this.
+  /*!
+    Returns <CODE>true</CODE> if and only if \p from_above is
+    <CODE>true</CODE> and \p expr is bounded from above in \p *this,
+    or \p from_above is <CODE>false</CODE> and \p expr is bounded
+    from below in \p *this.
 
-  Boundary& upper() {
-    return upper_;
-  }
+    \param expr
+    The linear expression to test;
 
-  const Boundary& upper() const {
-    return upper_;
-  }
+    \param method_call
+    The call description of the public parent method, for example
+    "bounded_from_above(e)".  Passed to throw_dimension_incompatible,
+    as the first argument.
 
-  Ternary is_empty_cached() const {
-    if (info().get_interval_property(CARDINALITY_0))
-      return info().get_interval_property(CARDINALITY_IS) ? T_YES : T_NO;
-    else if (info().get_interval_property(CARDINALITY_IS))
-      return T_NO;
-    else
-      return T_MAYBE;
-  }
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+  */
+  bool bounds(const Linear_Expression& expr, const char* method_call) const;
 
-  Ternary is_singleton_cached() const {
-    if (info().get_interval_property(CARDINALITY_1))
-      return info().get_interval_property(CARDINALITY_IS) ? T_YES : T_NO;
-    else if (info().get_interval_property(CARDINALITY_IS))
-      return T_NO;
-    else
-      return T_MAYBE;
-  }
+  //! Maximizes or minimizes \p expr subject to \p *this.
+  /*!
+    \param expr
+    The linear expression to be maximized or minimized subject to \p
+    *this;
 
-  bool is_empty() const {
-    switch (is_empty_cached()) {
-    case T_NO:
-      return false;
-    case T_YES:
-      return true;
-    case T_MAYBE:
-      bool r = is_empty_nocache();
-      if (r) {
-	w_info().set_interval_property(CARDINALITY_IS, r);
-	w_info().set_interval_property(CARDINALITY_1, false);
-      }
-      w_info().set_interval_property(CARDINALITY_0);
-      return r;
-    }
-    assert(false);
-    return false;
-  }
+    \param method_call
+    The call description of the public parent method, for example
+    "maximize(e)".  Passed to throw_dimension_incompatible, as the
+    first argument;
 
-  bool is_singleton() const {
-    switch (is_singleton_cached()) {
-    case T_NO:
-      return false;
-    case T_YES:
-      return true;
-    case T_MAYBE:
-      bool r = is_singleton_nocache();
-      if (r) {
-	w_info().set_interval_property(CARDINALITY_IS, r);
-	w_info().set_interval_property(CARDINALITY_0, false);
-      }
-      w_info().set_interval_property(CARDINALITY_1);
-      return r;
-    }
-    assert(false);
-    return false;
-  }
+    \param ext_n
+    The numerator of the extremum value;
 
-  bool has_restriction() const {
-    return info().has_restriction();
-  }
+    \param ext_d
+    The denominator of the extremum value;
 
-  I_Result normalize() const {
-    assert(OK());
-    if (has_restriction()) {
-      Result rl = lower_normalize();
-      Result ru = upper_normalize();
-      // FIXME: this invalidation is not needed if interval is unchanged
-      invalidate_cardinality_cache();
-      info().normalize();
-      assert(OK());
-      return combine(rl, ru);
-    }
-    else
-      return combine(V_EQ, V_EQ);
-  }
+    \param included
+    <CODE>true</CODE> if and only if the extremum of \p expr in \p
+    *this can actually be reached (which is always the case);
 
-  bool lower_is_open() const {
-    assert(OK());
-    return is_open(LOWER, lower(), info());
-  }
+    \param point
+    When maximization or minimization succeeds, will be assigned the
+    point where \p expr reaches the extremum value.
 
-  bool upper_is_open() const {
-    assert(OK());
-    return is_open(UPPER, upper(), info());
-  }
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-  Result lower_shrink() {
-    assert(OK());
-    return shrink(LOWER, lower(), info(), false);
-  }
+    If \p *this is empty or \p expr is not bounded in the appropriate
+    direction, <CODE>false</CODE> is returned and \p ext_n, \p ext_d,
+    \p included and \p point are left untouched.
+  */
+  bool max_min(const Linear_Expression& expr,
+	       const char* method_call,
+	       Coefficient& ext_n, Coefficient& ext_d, bool& included,
+	       Generator* point = NULL) const;
 
-  Result upper_shrink() {
-    assert(OK());
-    return shrink(UPPER, upper(), info(), false);
-  }
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is not empty and
+    \ref Grid_Frequency "frequency" for \p *this with respect to \p expr
+    is defined, in which case the frequency and the value for \p expr
+    that is closest to zero are computed.
 
-  bool lower_is_unbounded() const {
-    assert(OK());
-    return Boundary_NS::is_unbounded(LOWER, lower(), info());
-  }
+    \param expr
+    The linear expression for which the frequency is needed;
 
-  bool upper_is_unbounded() const {
-    assert(OK());
-    return Boundary_NS::is_unbounded(UPPER, upper(), info());
-  }
+    \param freq_n
+    The numerator of the maximum frequency of \p expr;
 
-  bool is_unbounded() const {
-    assert(OK());
-    return lower_is_unbounded() || upper_is_unbounded();
-  }
+    \param freq_d
+    The denominator of the maximum frequency of \p expr;
 
-  bool is_universe() const {
-    assert(OK());
-    return lower_is_unbounded() && upper_is_unbounded()
-      && !has_restriction();
-  }
+    \param val_n
+    The numerator of a value of \p expr at a point in the grid
+    that is closest to zero;
 
-  void invalidate_cardinality_cache() const {
-    w_info().set_interval_property(CARDINALITY_IS, false);
-    w_info().set_interval_property(CARDINALITY_0, false);
-    w_info().set_interval_property(CARDINALITY_1, false);
-  }
+    \param val_d
+    The denominator of a value of \p expr at a point in the grid
+    that is closest to zero;
 
-  template <typename T>
-  Result lower_set_uninit(const T& x, bool open = false) {
-    info().clear_boundary_properties(LOWER);
-    Result rl = Boundary_NS::assign(LOWER, lower(), info(), LOWER, x, f_info(x, open));
-    lower_load();
-    return rl;
-  }
+    If \p *this is empty or frequency is undefined with respect to \p expr,
+    then <CODE>false</CODE> is returned and \p freq_n, \p freq_d,
+    \p val_n and \p val_d are left untouched.
 
-  Result lower_set_uninit(const Unbounded&) {
-    info().clear_boundary_properties(LOWER);
-    Result rl = set_unbounded(LOWER, lower(), info());
-    lower_load();
-    return rl;
-  }
+    \warning
+    If \p expr and \p *this are dimension-incompatible,
+    the grid generator system is not minimized or \p *this is
+    empty, then the behavior is undefined.
+  */
+  bool frequency_no_check(const Linear_Expression& expr,
+		Coefficient& freq_n, Coefficient& freq_d,
+		Coefficient& val_n, Coefficient& val_d) const;
 
-  template <typename T>
-  Result lower_set(const T& x, bool open = false) {
-    assert(OK());
-    info().clear_boundary_properties(LOWER);
-    Result rl = Boundary_NS::assign(LOWER, lower(), info(), LOWER, x, f_info(x, open));
-    invalidate_cardinality_cache();
-    assert(OK());
-    return rl;
-  }
+  //! Checks if and how \p expr is bounded in \p *this.
+  /*!
+    Returns <CODE>true</CODE> if and only if \p from_above is
+    <CODE>true</CODE> and \p expr is bounded from above in \p *this,
+    or \p from_above is <CODE>false</CODE> and \p expr is bounded
+    from below in \p *this.
 
-  Result lower_set(const Unbounded&) {
-    assert(OK());
-    info().clear_boundary_properties(LOWER);
-    Result rl = set_unbounded(LOWER, lower(), info());
-    invalidate_cardinality_cache();
-    assert(OK());
-    return rl;
-  }
+    \param expr
+    The linear expression to test;
+  */
+  bool bounds_no_check(const Linear_Expression& expr) const;
 
-  template <typename T>
-  Result lower_narrow(const T& x, bool open = false) {
-    assert(OK());
-    if (ge(LOWER, lower(), info(), LOWER, x, f_info(x, open)))
-      return V_EQ;
-    return lower_set(x, open);
-  }
+  /*! \brief
+    Adds the congruence \p cg to \p *this.
 
-  template <typename T>
-  Result lower_widen(const T& x, bool open = false) {
-    assert(OK());
-    if (le(LOWER, lower(), info(), LOWER, x, f_info(x, open)))
-      return V_EQ;
-    return lower_set(x, open);
-  }
+    \warning
+    If \p cg and \p *this are dimension-incompatible,
+    the grid generator system is not minimized or \p *this is
+    empty, then the behavior is undefined.
+  */
+  void add_congruence_no_check(const Congruence& cg);
 
-  Result lower_widen(const Unbounded&) {
-    assert(OK());
-    if (lower_is_unbounded())
-      return V_EQ;
-    info().clear_boundary_properties(LOWER);
-    Result rl = set_unbounded(LOWER, lower(), info());
-    invalidate_cardinality_cache();
-    assert(OK());
-    return V_EQ;
-  }
+  /*! \brief
+    Uses the constraint \p c to refine \p *this.
 
-  template <typename T>
-  Result upper_set_uninit(const T& x, bool open = false) {
-    info().clear_boundary_properties(UPPER);
-    Result rl = Boundary_NS::assign(UPPER, upper(), info(), UPPER, x, f_info(x, open));
-    upper_load();
-    return rl;
-  }
-  Result upper_set_uninit(const Unbounded&) {
-    info().clear_boundary_properties(UPPER);
-    Result rl = set_unbounded(UPPER, upper(), info());
-    upper_load();
-    return rl;
-  }
+    \param c
+    The constraint to be added.
 
-  template <typename T>
-  Result upper_set(const T& x, bool open = false) {
-    assert(OK());
-    info().clear_boundary_properties(UPPER);
-    Result rl = Boundary_NS::assign(UPPER, upper(), info(), UPPER, x, f_info(x, open));
-    invalidate_cardinality_cache();
-    assert(OK());
-    return rl;
-  }
+    \exception std::invalid_argument
+    Thrown if c is a non-trivial inequality constraint.
 
-  Result upper_set(const Unbounded&) {
-    assert(OK());
-    info().clear_boundary_properties(UPPER);
-    Result rl = set_unbounded(UPPER, upper(), info());
-    invalidate_cardinality_cache();
-    assert(OK());
-    return rl;
-  }
+    \warning
+    If \p c and \p *this are dimension-incompatible,
+    the behavior is undefined.
+  */
+  void add_constraint_no_check(const Constraint& c);
 
-  template <typename T>
-  Result upper_narrow(const T& x, bool open = false) {
-    assert(OK());
-    if (le(UPPER, upper(), info(), UPPER, x, f_info(x, open)))
-      return V_EQ;
-    return upper_set(x, open);
-  }
+  /*! \brief
+    Uses the constraint \p c to refine \p *this.
 
-  template <typename T>
-  Result upper_widen(const T& x, bool open = false) {
-    assert(OK());
-    if (ge(UPPER, upper(), info(), UPPER, x, f_info(x, open)))
-      return V_EQ;
-    return upper_set(x, open);
-  }
+    \param c
+    The constraint to be added.
+    Non-trivial inequalities are ignored.
 
-  Result upper_widen(const Unbounded&) {
-    assert(OK());
-    if (upper_is_unbounded())
-      return V_EQ;
-    info().clear_boundary_properties(UPPER);
-    Result rl = set_unbounded(UPPER, upper(), info());
-    invalidate_cardinality_cache();
-    assert(OK());
-    return rl;
-  }
+    \warning
+    If \p c and \p *this are dimension-incompatible,
+    the behavior is undefined.
+  */
+  void refine_no_check(const Constraint& c);
 
-  I_Result assign(Degenerate_Element e) {
-    I_Result r;
-    Result rl, ru;
-    info().clear();
-    switch (e) {
-    case EMPTY:
-      info().set_interval_property(CARDINALITY_IS);
-      info().set_interval_property(CARDINALITY_0);
-      lower_set_uninit(1);
-      upper_set_uninit(0);
-      r = I_EMPTY;
-      break;
-    case UNIVERSE:
-      info().set_interval_property(CARDINALITY_0, true);
-      info().set_interval_property(CARDINALITY_1, true);
-      rl = lower_set_uninit(UNBOUNDED);
-      ru = upper_set_uninit(UNBOUNDED);
-      r = combine(rl, ru);
-      break;
-    default:
-      assert(0);
-      r = I_EMPTY;
-      break;
-    }
-    complete_init();
-    assert(OK());
-    return r;
-  }
+  //! \name Widening- and Extrapolation-Related Functions
+  //@{
 
-  template <typename From>
-  typename Enable_If<Is_Special<From>::value, I_Result>::type
-  assign(const From&) {
-    info().clear();
-    info().set_interval_property(CARDINALITY_0, true);
-    info().set_interval_property(CARDINALITY_1, true);
-    Result rl, ru;
-    switch (From::code) {
-    case VC_MINUS_INFINITY:
-      rl = Boundary_NS::set_minus_infinity(LOWER, lower(), info());
-      ru = Boundary_NS::set_minus_infinity(UPPER, upper(), info());
-      break;
-    case VC_PLUS_INFINITY:
-      rl = Boundary_NS::set_plus_infinity(LOWER, lower(), info());
-      ru = Boundary_NS::set_plus_infinity(UPPER, upper(), info());
-      break;
-    default:
-      assert(0);
-      rl = VC_NAN;
-      ru = VC_NAN;
-    }
-    complete_init_internal();
-    assert(OK());
-    return combine(rl, ru);
-  }
+  //! Copies a widened selection of congruences from \p y to \p selected_cgs.
+  void select_wider_congruences(const Grid& y,
+				Congruence_System& selected_cgs) const;
+
+  //! Copies widened generators from \p y to \p widened_ggs.
+  void select_wider_generators(const Grid& y,
+                               Grid_Generator_System& widened_ggs) const;
 
-  I_Result set_infinities() {
-    info().clear();
-    info().set_interval_property(CARDINALITY_0, true);
-    info().set_interval_property(CARDINALITY_1, true);
-    // FIXME: what about restrictions?
-    Result rl = Boundary_NS::set_minus_infinity(LOWER, lower(), info());
-    Result ru = Boundary_NS::set_plus_infinity(UPPER, upper(), info());
-    complete_init_internal();
-    assert(OK());
-    return combine(rl, ru);
-  }
+  //@} // Widening- and Extrapolation-Related Functions
 
-  bool is_topologically_closed() const {
-    assert(OK());
-    return !Info::store_open
-      || is_empty()
-      || ((lower_is_unbounded() || !lower_is_open())
-          && (upper_is_unbounded() || !upper_is_open()));
-  }
+  //! Adds new space dimensions to the given systems.
+  /*!
+    \param cgs
+    A congruence system, to which columns are added;
 
-  //! Assigns to \p *this its topological closure.
-  void topological_closure_assign() {
-    if (!Info::store_open || is_empty())
-      return;
+    \param gs
+    A generator system, to which rows and columns are added;
 
-    if (!lower_is_unbounded())
-      info().set_boundary_property(LOWER, OPEN, false);
+    \param dims
+    The number of space dimensions to add.
 
-    if (!upper_is_unbounded())
-      info().set_boundary_property(UPPER, OPEN, false);
-  }
+    This method is invoked only by
+    <CODE>add_space_dimensions_and_embed()</CODE>.
+  */
+  void add_space_dimensions(Congruence_System& cgs,
+			    Grid_Generator_System& gs,
+			    dimension_type dims);
 
-  bool is_infinity() const {
-    assert(OK());
-    if (is_reverse_infinity(LOWER, lower(), info()))
-      return 1;
-    else if (is_reverse_infinity(UPPER, upper(), info()))
-      return -1;
-    else
-      return 0;
-  }
+  //! Adds new space dimensions to the given systems.
+  /*!
+    \param gs
+    A generator system, to which columns are added;
 
-  bool contains_integer_point() const {
-    assert(OK());
-    if (is_empty())
-      return false;
-    if (is_unbounded())
-      return true;
-    Boundary l;
-    if (lower_is_open()) {
-      add_assign_r(l, lower(), Boundary(1), ROUND_DOWN);
-      floor_assign_r(l, l, ROUND_DOWN);
-    }
-    else
-      ceil_assign_r(l, lower(), ROUND_DOWN);
-    Boundary u;
-    if (upper_is_open()) {
-      sub_assign_r(u, upper(), Boundary(1), ROUND_UP);
-      ceil_assign_r(u, u, ROUND_UP);
-    }
-    else
-      floor_assign_r(u, upper(), ROUND_UP);
-    return u >= l;
-  }
+    \param cgs
+    A congruence system, to which rows and columns are added;
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
+    \param dims
+    The number of space dimensions to add.
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+    This method is invoked only by
+    <CODE>add_space_dimensions_and_project()</CODE>.
+  */
+  void add_space_dimensions(Grid_Generator_System& gs,
+			    Congruence_System& cgs,
+			    dimension_type dims);
 
-  void ascii_dump(std::ostream& s) const;
-  bool ascii_load(std::istream& s);
+  //! \name Minimization-related Static Member Functions
+  //@{
 
-  bool OK() const {
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-    if (!completed) {
-	std::cerr << "The interval initialization has not been completed."
-                  << std::endl;
-	return false;
-    }
-#endif
-#if 0
-    if (!Info::may_be_empty && is_empty()) {
-#ifndef NDEBUG
-	std::cerr << "The interval is unexpectedly empty.\n";
-#endif
-	return false;
-    }
-#endif
+  //! Normalizes the divisors in \p sys.
+  /*!
+    Converts \p sys to an equivalent system in which the divisors are
+    of equal value.
 
-    if (is_open(LOWER, lower(), info())) {
-      if (is_plus_infinity(LOWER, lower(), info())) {
-#ifndef NDEBUG
-	std::cerr << "The lower boundary is +inf open.\n";
-#endif
-      }
-    }
-    else if (!Info::may_contain_infinity
-	     && (is_minus_infinity(LOWER, lower(), info())
-		 || is_plus_infinity(LOWER, lower(), info()))) {
-#ifndef NDEBUG
-      std::cerr << "The lower boundary is unexpectedly infinity.\n";
-#endif
-      return false;
-    }
-    if (!info().get_boundary_property(LOWER, SPECIAL)) {
-      if (is_not_a_number(lower())) {
-#ifndef NDEBUG
-	std::cerr << "The lower boundary is not a number.\n";
-#endif
-	return false;
-      }
-#if 0
-      if (info().get_boundary_property(LOWER, NORMALIZED)
-	  && !info().is_restricted(lower())) {
-#ifndef NDEBUG
-	std::cerr << "The lower boundary is marked to be normalized, "
-                  << "but it is not.\n";
-#endif
-	return false;
-      }
-#endif
-    }
+    \param sys
+    The generator system to be normalized.  It must have at least one
+    row.
 
-    if (is_open(UPPER, upper(), info())) {
-      if (is_minus_infinity(UPPER, upper(), info())) {
-#ifndef NDEBUG
-	std::cerr << "The upper boundary is -inf open.\n";
-#endif
-      }
-    }
-    else if (!Info::may_contain_infinity
-	     && (is_minus_infinity(UPPER, upper(), info())
-		 || is_plus_infinity(UPPER, upper(), info()))) {
-#ifndef NDEBUG
-      std::cerr << "The upper boundary is unexpectedly infinity."
-                << std::endl;
-#endif
-      return false;
-    }
-    if (!info().get_boundary_property(UPPER, SPECIAL)) {
-      if (is_not_a_number(upper())) {
-#ifndef NDEBUG
-	std::cerr << "The upper boundary is not a number.\n";
-#endif
-	return false;
-      }
-#if 0
-      if (info().get_boundary_property(UPPER, NORMALIZED)
-	  && !info().is_restricted(upper())) {
-#ifndef NDEBUG
-	std::cerr << "The upper boundary is marked to be normalized, "
-                  << "but it is not.\n";
-#endif
-	return false;
-      }
-#endif
-    }
+    \param divisor
+    A reference to the initial value of the divisor.  The resulting
+    value of this object is the new system divisor.
 
-    Ternary t;
+    \param first_point
+    If \p first_point has a value other than NULL then it is taken as
+    the first point in \p sys, and it is assumed that any following
+    points have the same divisor as \p first_point.
+  */
+  static void
+  normalize_divisors(Grid_Generator_System& sys,
+		     Coefficient& divisor,
+		     const Grid_Generator* first_point = NULL);
 
-    t = is_empty_cached();
-    if (t == T_YES) {
-      if (!is_empty_nocache()) {
-#ifndef NDEBUG
-	std::cerr << "The interval is marked to be empty, "
-                  << "but actually it is not empty.\n";
-#endif
-	return false;
-      }
-    }
-    else if (t == T_NO) {
-      if (is_empty_nocache()) {
-#ifndef NDEBUG
-	std::cerr << "The interval is marked to be not empty, "
-                  << "but actually it is empty.\n";
-#endif
-	return false;
-      }
-    }
+  //! Normalizes the divisors in \p sys.
+  /*!
+    Converts \p sys to an equivalent system in which the divisors are
+    of equal value.
 
-    t = is_singleton_cached();
-    if (t == T_YES) {
-      if (!is_singleton_nocache()) {
-#ifndef NDEBUG
-	std::cerr << "The interval is marked to be singleton, "
-                  << "but actually it is not singleton.\n";
-#endif
-	return false;
-      }
-    }
-    else if (t == T_NO) {
-      if (is_singleton_nocache()) {
-#ifndef NDEBUG
-	std::cerr << "The interval is marked to be not singleton, "
-                  << "but actually it is singleton.\n";
-#endif
-	return false;
-      }
-    }
+    \param sys
+    The generator system to be normalized.  It must have at least one
+    row.
+  */
+  static void
+  normalize_divisors(Grid_Generator_System& sys);
 
-    if (info().get_interval_property(CARDINALITY_IS) &&
-	info().get_interval_property(CARDINALITY_0)
-        == info().get_interval_property(CARDINALITY_1)) {
-#ifndef NDEBUG
-      std::cerr << "The interval is marked to know its cardinality, "
-                << "but this is unspecified or ambiguous.\n";
-#endif
-      return false;
-    }
+  //! Normalize all the divisors in \p sys and \p gen_sys.
+  /*!
+    Modify \p sys and \p gen_sys to use the same single divisor value
+    for all generators, leaving each system representing the grid it
+    represented originally.
 
-    // Everything OK.
-    return true;
-  }
+    \param sys
+    The first of the generator systems to be normalized.
 
-  Interval()
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-    : lower_loaded(0), upper_loaded(0), completed(0)
-#endif
-  {
-  }
+    \param gen_sys
+    The second of the generator systems to be normalized.  This system
+    must have at least one row and the divisors of the generators in
+    this system must be equal.
 
-  template <typename T>
-  explicit Interval(const T& x)
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-    : lower_loaded(0), upper_loaded(0), completed(0)
-#endif
-  {
-    assign(x);
-  }
+    \exception std::runtime_error
+    Thrown if all rows in \p gen_sys are lines and/or parameters.
+  */
+  static void normalize_divisors(Grid_Generator_System& sys,
+				 Grid_Generator_System& gen_sys);
 
-  template <typename T>
-  typename Enable_If<Is_Singleton<T>::value
-                     || Is_Interval<T>::value, bool>::type
-  contains(const T& y) const;
+  /*! \brief
+    Converts generator system \p dest to be equivalent to congruence
+    system \p source.
+  */
+  static void conversion(Congruence_System& source,
+			 Grid_Generator_System& dest,
+			 Dimension_Kinds& dim_kinds);
 
-  template <typename T>
-  typename Enable_If<Is_Singleton<T>::value
-                     || Is_Interval<T>::value, bool>::type
-  strictly_contains(const T& y) const;
+  /*! \brief
+    Converts congruence system \p dest to be equivalent to generator
+    system \p source.
+  */
+  static void conversion(Grid_Generator_System& source,
+			 Congruence_System& dest,
+			 Dimension_Kinds& dim_kinds);
 
-  template <typename T>
-  typename Enable_If<Is_Singleton<T>::value
-                     || Is_Interval<T>::value, bool>::type
-  is_disjoint_from(const T& y) const;
+  //! Converts \p cgs to upper triangular (i.e. minimized) form.
+  /*!
+    Returns <CODE>true</CODE> if \p cgs represents the empty set,
+    otherwise returns <CODE>false</CODE>.
+  */
+  static bool simplify(Congruence_System& cgs,
+		       Dimension_Kinds& dim_kinds);
 
-  template <typename From1, typename From2>
-  I_Result assign(const From1& l, const From2& u);
+  //! Converts \p gs to lower triangular (i.e. minimized) form.
+  /*!
+    Expects \p gs to contain at least one point.
+  */
+  static void simplify(Grid_Generator_System& gs,
+		       Dimension_Kinds& dim_kinds);
 
-  template <typename From>
-  typename Enable_If<Is_Singleton<From>::value
-                     || Is_Interval<From>::value, I_Result>::type
-  assign(const From& x);
+  //! Reduces the line \p row using the line \p pivot.
+  /*!
+    Uses the line \p pivot to change the representation of the line \p
+    row so that the element at index \p col of \p row is zero.
+  */
+  // A member of Grid for access to Matrix::rows.
+  static void reduce_line_with_line(Grid_Generator& row,
+				    Grid_Generator& pivot,
+				    dimension_type col);
 
-  template <typename Type>
-  typename Enable_If<Is_Singleton<Type>::value
-                     || Is_Interval<Type>::value, bool>::type
-  can_be_exactly_joined_to(const Type& x) const;
+  //! Reduces the equality \p row using the equality \p pivot.
+  /*!
+    Uses the equality \p pivot to change the representation of the
+    equality \p row so that the element at index \p col of \p row is
+    zero.
+  */
+  // A member of Grid for access to Matrix::rows.
+  static void reduce_equality_with_equality(Congruence& row,
+					    const Congruence& pivot,
+					    dimension_type col);
 
-  template <typename From>
-  typename Enable_If<Is_Singleton<From>::value
-                     || Is_Interval<From>::value, I_Result>::type
-  join_assign(const From& x);
+  //! Reduces \p row using \p pivot.
+  /*!
+    Uses the point, parameter or proper congruence at \p pivot to
+    change the representation of the point, parameter or proper
+    congruence at \p row so that the element at index \p col of \p row
+    is zero.  Only elements from index \p start to index \p end are
+    modified (i.e. it is assumed that all other elements are zero).
+  */
+  // Part of Grid for access to Matrix::rows.
+  template <typename R>
+  static void reduce_pc_with_pc(R& row,
+				R& pivot,
+				dimension_type col,
+				dimension_type start,
+				dimension_type end);
 
-  template <typename From1, typename From2>
-  typename Enable_If<((Is_Singleton<From1>::value
-                       || Is_Interval<From1>::value)
-		      && (Is_Singleton<From2>::value
-                          || Is_Interval<From2>::value)), I_Result>::type
-  join_assign(const From1& x, const From2& y);
+  //! Reduce \p row using \p pivot.
+  /*!
+    Use the line \p pivot to change the representation of the
+    parameter \p row such that the element at index \p col of \p row
+    is zero.
+  */
+  // A member of Grid for access to Matrix::rows.
+  static void reduce_parameter_with_line(Grid_Generator& row,
+					 const Grid_Generator& pivot,
+					 dimension_type col,
+					 Grid_Generator_System& sys);
 
-  template <typename From>
-  typename Enable_If<Is_Singleton<From>::value
-                     || Is_Interval<From>::value, I_Result>::type
-  intersect_assign(const From& x);
+  //! Reduce \p row using \p pivot.
+  /*!
+    Use the equality \p pivot to change the representation of the
+    congruence \p row such that element at index \p col of \p row is
+    zero.
+  */
+  // A member of Grid for access to Matrix::rows.
+  static void reduce_congruence_with_equality(Congruence& row,
+					      const Congruence& pivot,
+					      dimension_type col,
+					      Congruence_System& sys);
 
-  template <typename From1, typename From2>
-  typename Enable_If<((Is_Singleton<From1>::value
-                       || Is_Interval<From1>::value)
-		      && (Is_Singleton<From2>::value
-                          || Is_Interval<From2>::value)), I_Result>::type
-  intersect_assign(const From1& x, const From2& y);
+  //! Reduce column \p dim in rows preceding \p pivot_index in \p sys.
+  /*!
+    Required when converting (or simplifying) a congruence or generator
+    system to "strong minimal form"; informally, strong minimal form means
+    that, not only is the system in minimal form (ie a triangular matrix),
+    but also the absolute values of the coefficients of the proper congruences
+    and parameters are minimal. As a simple example, the set of congruences
+    \f$\{3x \equiv_3 0, 4x + y \equiv_3 1\}\f$,
+    (which is in minimal form) is equivalent to the set
+    \f$\{3x \equiv_3 0, x + y \equiv_3 1\}\f$
+    (which is in strong minimal form).
+
+    Only consider from index \p start to index \p end of the row at \p
+    pivot_index.  Flag \p generators indicates whether \p sys is a
+    congruence or generator system.
+  */
+  template <typename M, typename R>
+  static void reduce_reduced(M& sys, dimension_type dim,
+			     dimension_type pivot_index,
+			     dimension_type start, dimension_type end,
+			     const Dimension_Kinds& dim_kinds,
+			     bool generators = true);
+
+  //! Multiply the elements of \p dest by \p multiplier.
+  // A member of Grid for access to Matrix::rows and cgs::operator[].
+  static void multiply_grid(const Coefficient& multiplier,
+			    Congruence& cg, Congruence_System& dest,
+			    dimension_type num_rows,
+			    dimension_type num_dims);
+
+  //! Multiply the elements of \p dest by \p multiplier.
+  // A member of Grid for access to Grid_Generator::operator[].
+  static void multiply_grid(const Coefficient& multiplier,
+			    Grid_Generator& gen,
+			    Grid_Generator_System& dest,
+			    dimension_type num_rows,
+			    dimension_type num_dims);
 
   /*! \brief
-    Assigns to \p *this the smallest interval containing the set-theoretic
-    difference of \p *this and \p x.
+    If \p sys is lower triangular return <CODE>true</CODE>, else
+    return <CODE>false</CODE>.
   */
-  template <typename From>
-  typename Enable_If<Is_Singleton<From>::value
-                     || Is_Interval<From>::value, I_Result>::type
-  difference_assign(const From& x);
+  static bool lower_triangular(const Congruence_System& sys,
+			       const Dimension_Kinds& dim_kinds);
 
   /*! \brief
-    Assigns to \p *this the smallest interval containing the set-theoretic
-    difference of \p x and \p y.
+    If \p sys is upper triangular return <CODE>true</CODE>, else
+    return <CODE>false</CODE>.
   */
-  template <typename From1, typename From2>
-  typename Enable_If<((Is_Singleton<From1>::value
-                       || Is_Interval<From1>::value)
-		      && (Is_Singleton<From2>::value
-                          || Is_Interval<From2>::value)), I_Result>::type
-  difference_assign(const From1& x, const From2& y);
+  static bool upper_triangular(const Grid_Generator_System& sys,
+			       const Dimension_Kinds& dim_kinds);
+
+#ifndef NDEBUG
+  //! Checks that trailing rows contain only zero terms.
+  /*!
+    If all columns contain zero in the rows of \p system from row
+    index \p first to row index \p last then return <code>true</code>,
+    else return <code>false</code>.  \p row_size gives the number of
+    columns in each row.
+
+    This method is only used in assertions in the simplify methods.
+  */
+  template <typename M, typename R>
+  static bool rows_are_zero(M& system,
+			    dimension_type first,
+			    dimension_type last,
+			    dimension_type row_size);
+#endif
+
+  //@} // Minimization-Related Static Member Functions
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! \name Exception Throwers
+  //@{
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+protected:
+  void throw_runtime_error(const char* method) const;
+  void throw_invalid_argument(const char* method, const char* reason) const;
+
+  void throw_dimension_incompatible(const char* method,
+				    const char* other_name,
+				    dimension_type other_dim) const;
+  void throw_dimension_incompatible(const char* method,
+				    const char* gr_name,
+				    const Grid& gr) const;
+  void throw_dimension_incompatible(const char* method,
+				    const char* e_name,
+				    const Linear_Expression& e) const;
+  void throw_dimension_incompatible(const char* method,
+				    const char* cg_name,
+				    const Congruence& cg) const;
+  void throw_dimension_incompatible(const char* method,
+				    const char* c_name,
+				    const Constraint& c) const;
+  void throw_dimension_incompatible(const char* method,
+				    const char* g_name,
+				    const Grid_Generator& g) const;
+  void throw_dimension_incompatible(const char* method,
+				    const char* g_name,
+				    const Generator& g) const;
+  void throw_dimension_incompatible(const char* method,
+				    const char* cgs_name,
+				    const Congruence_System& cgs) const;
+  void throw_dimension_incompatible(const char* method,
+				    const char* cs_name,
+				    const Constraint_System& cs) const;
+  void throw_dimension_incompatible(const char* method,
+				    const char* gs_name,
+				    const Grid_Generator_System& gs) const;
+  void throw_dimension_incompatible(const char* method,
+				    const char* var_name,
+				    Variable var) const;
+  void throw_dimension_incompatible(const char* method,
+				    dimension_type required_space_dim) const;
+
+  // Note: it has to be a static method, because it can be called inside
+  // constructors (before actually constructing the grid object).
+  static void throw_space_dimension_overflow(const char* method,
+					     const char* reason);
+
+  void throw_invalid_constraint(const char* method,
+                                const char* c_name) const;
+  void throw_invalid_constraints(const char* method,
+                                 const char* cs_name) const;
+  void throw_invalid_generator(const char* method,
+			       const char* g_name) const;
+  void throw_invalid_generators(const char* method,
+				const char* gs_name) const;
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //@} // Exception Throwers
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+
+};
+
+
+namespace std {
 
-  /*! \brief
-    Assigns to \p *this the largest interval contained in the set-theoretic
-    difference of \p *this and \p x.
-  */
-  template <typename From>
-  typename Enable_If<Is_Singleton<From>::value
-                     || Is_Interval<From>::value, I_Result>::type
-  lower_approximation_difference_assign(const From& x);
+//! Specializes <CODE>std::swap</CODE>.
+/*! \relates Parma_Polyhedra_Library::Grid */
+void swap(Parma_Polyhedra_Library::Grid& x,
+	  Parma_Polyhedra_Library::Grid& y);
 
-  /*! \brief
-    Assigns to \p *this a \ref Meet_Preserving_Simplification
-    "meet-preserving simplification" of \p *this with respect to \p y.
+} // namespace std
 
-    \return
-    \c false if and only if the meet of \p *this and \p y is empty.
-  */
-  template <typename From>
-  typename Enable_If<Is_Interval<From>::value, bool>::type
-  simplify_using_context_assign(const From& y);
+/* Automatically generated from PPL source file ../src/Grid_Status.inlines.hh line 1. */
+/* Grid::Status class implementation: inline functions.
+*/
 
-  /*! \brief
-    Assigns to \p *this an interval having empty intersection with \p y.
-    The assigned interval should be as large as possible.
 
-    \note
-    Depending on interval restrictions, there could be many
-    maximal intervals all inconsistent with respect to \p y.
-  */
-  template <typename From>
-  typename Enable_If<Is_Interval<From>::value, void>::type
-  empty_intersection_assign(const From& y);
+namespace Parma_Polyhedra_Library {
 
-  /*! \brief
-    Refines \p to according to the existential relation \p rel with \p x.
+inline
+Grid::Status::Status(flags_t mask)
+  : flags(mask) {
+}
 
-    The \p to interval is restricted to become, upon successful exit,
-    the smallest interval of its type that contains the set
-    \f[
-      \{\,
-        a \in \mathtt{to}
-      \mid
-        \exists b \in \mathtt{x} \st a \mathrel{\mathtt{rel}} b
-      \,\}.
-    \f]
-    \return
-    ???
-  */
-  template <typename From>
-  typename Enable_If<Is_Singleton<From>::value
-                     || Is_Interval<From>::value, I_Result>::type
-  refine_existential(Relation_Symbol rel, const From& x);
+inline
+Grid::Status::Status()
+  : flags(ZERO_DIM_UNIV) {
+}
 
-  /*! \brief
-    Refines \p to so that it satisfies the universal relation \p rel with \p x.
+inline bool
+Grid::Status::test_all(flags_t mask) const {
+  return (flags & mask) == mask;
+}
 
-    The \p to interval is restricted to become, upon successful exit,
-    the smallest interval of its type that contains the set
-    \f[
-      \{\,
-        a \in \mathtt{to}
-      \mid
-        \forall b \in \mathtt{x} \itc a \mathrel{\mathtt{rel}} b
-      \,\}.
-    \f]
-    \return
-    ???
-  */
-  template <typename From>
-  typename Enable_If<Is_Singleton<From>::value
-                     || Is_Interval<From>::value, I_Result>::type
-  refine_universal(Relation_Symbol rel, const From& x);
+inline bool
+Grid::Status::test_any(flags_t mask) const {
+  return flags & mask;
+}
 
-  template <typename From>
-  typename Enable_If<Is_Singleton<From>::value
-                     || Is_Interval<From>::value, I_Result>::type
-  neg_assign(const From& x);
+inline void
+Grid::Status::set(flags_t mask) {
+  flags |= mask;
+}
 
-  template <typename From1, typename From2>
-  typename Enable_If<((Is_Singleton<From1>::value || Is_Interval<From1>::value)
-		      && (Is_Singleton<From2>::value || Is_Interval<From2>::value)), I_Result>::type
-  add_assign(const From1& x, const From2& y);
+inline void
+Grid::Status::reset(flags_t mask) {
+  flags &= ~mask;
+}
 
-  template <typename From1, typename From2>
-  typename Enable_If<((Is_Singleton<From1>::value || Is_Interval<From1>::value)
-		      && (Is_Singleton<From2>::value || Is_Interval<From2>::value)), I_Result>::type
-  sub_assign(const From1& x, const From2& y);
+inline bool
+Grid::Status::test_zero_dim_univ() const {
+  return flags == ZERO_DIM_UNIV;
+}
 
-  template <typename From1, typename From2>
-  typename Enable_If<((Is_Singleton<From1>::value || Is_Interval<From1>::value)
-		      && (Is_Singleton<From2>::value || Is_Interval<From2>::value)), I_Result>::type
-  mul_assign(const From1& x, const From2& y);
+inline void
+Grid::Status::reset_zero_dim_univ() {
+  // This is a no-op if the current status is not zero-dim.
+  if (flags == ZERO_DIM_UNIV)
+    // In the zero-dim space, if it is not the universe it is empty.
+    flags = EMPTY;
+}
 
-  template <typename From1, typename From2>
-  typename Enable_If<((Is_Singleton<From1>::value || Is_Interval<From1>::value)
-		      && (Is_Singleton<From2>::value || Is_Interval<From2>::value)), I_Result>::type
-  div_assign(const From1& x, const From2& y);
+inline void
+Grid::Status::set_zero_dim_univ() {
+  // Zero-dim universe is incompatible with anything else.
+  flags = ZERO_DIM_UNIV;
+}
 
-  template <typename From, typename Iterator>
-  typename Enable_If<Is_Interval<From>::value, void>::type
-  CC76_widening_assign(const From& y, Iterator first, Iterator last);
+inline bool
+Grid::Status::test_empty() const {
+  return test_any(EMPTY);
+}
 
-private:
-  Boundary lower_;
-  Boundary upper_;
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-  unsigned int lower_loaded:1;
-  unsigned int upper_loaded:1;
-  unsigned int completed:1;
-#endif
-};
+inline void
+Grid::Status::reset_empty() {
+  reset(EMPTY);
+}
 
-} // namespace Parma_Polyhedra_Library
+inline void
+Grid::Status::set_empty() {
+  flags = EMPTY;
+}
 
-/* Automatically generated from PPL source file ../src/Interval.inlines.hh line 1. */
-/* Inline functions for the Interval class and its constituents.
-*/
+inline bool
+Grid::Status::test_c_up_to_date() const {
+  return test_any(C_UP_TO_DATE);
+}
 
+inline void
+Grid::Status::reset_c_up_to_date() {
+  reset(C_UP_TO_DATE);
+}
 
-namespace Parma_Polyhedra_Library {
+inline void
+Grid::Status::set_c_up_to_date() {
+  set(C_UP_TO_DATE);
+}
 
-template <typename Boundary, typename Info>
-inline memory_size_type
-Interval<Boundary, Info>::external_memory_in_bytes() const {
-  return Parma_Polyhedra_Library::external_memory_in_bytes(lower())
-    + Parma_Polyhedra_Library::external_memory_in_bytes(upper());
+inline bool
+Grid::Status::test_g_up_to_date() const {
+  return test_any(G_UP_TO_DATE);
 }
 
-template <typename Boundary, typename Info>
-inline memory_size_type
-Interval<Boundary, Info>::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
+inline void
+Grid::Status::reset_g_up_to_date() {
+  reset(G_UP_TO_DATE);
 }
 
-template <typename Boundary, typename Info>
 inline void
-Interval<Boundary, Info>::swap(Interval<Boundary, Info>& y) {
-  std::swap(lower(), y.lower());
-  std::swap(upper(), y.upper());
-  std::swap(info(), y.info());
+Grid::Status::set_g_up_to_date() {
+  set(G_UP_TO_DATE);
 }
 
-template <typename Boundary, typename Info>
 inline bool
-f_is_empty(const Interval<Boundary, Info>& x) {
-  return x.is_empty();
+Grid::Status::test_c_minimized() const {
+  return test_any(C_MINIMIZED);
 }
-template <typename Boundary, typename Info>
+
+inline void
+Grid::Status::reset_c_minimized() {
+  reset(C_MINIMIZED);
+}
+
+inline void
+Grid::Status::set_c_minimized() {
+  set(C_MINIMIZED);
+}
+
 inline bool
-f_is_singleton(const Interval<Boundary, Info>& x) {
-  return x.is_singleton();
+Grid::Status::test_g_minimized() const {
+  return test_any(G_MINIMIZED);
 }
-template <typename Boundary, typename Info>
-inline int
-is_infinity(const Interval<Boundary, Info>& x) {
-  return x.is_infinity();
+
+inline void
+Grid::Status::reset_g_minimized() {
+  reset(G_MINIMIZED);
 }
 
-namespace Interval_NS {
+inline void
+Grid::Status::set_g_minimized() {
+  set(G_MINIMIZED);
+}
 
-template <typename Boundary, typename Info>
-inline const Boundary&
-f_lower(const Interval<Boundary, Info>& x) {
-  return x.lower();
+
+inline bool
+Grid::Status::test_c_pending() const {
+  return test_any(CS_PENDING);
 }
-template <typename Boundary, typename Info>
-inline const Boundary&
-f_upper(const Interval<Boundary, Info>& x) {
-  return x.upper();
+
+inline void
+Grid::Status::reset_c_pending() {
+  reset(CS_PENDING);
 }
-template <typename Boundary, typename Info>
-inline const Info&
-f_info(const Interval<Boundary, Info>& x) {
-  return x.info();
+
+inline void
+Grid::Status::set_c_pending() {
+  set(CS_PENDING);
 }
 
-struct Scalar_As_Interval_Policy {
-  const_bool_nodef(may_be_empty, true);
-  const_bool_nodef(may_contain_infinity, true);
-  const_bool_nodef(check_empty_result, false);
-  const_bool_nodef(check_inexact, false);
-};
+inline bool
+Grid::Status::test_g_pending() const {
+  return test_any(GS_PENDING);
+}
 
-typedef Interval_Restriction_None<Interval_Info_Null<Scalar_As_Interval_Policy> > Scalar_As_Interval_Info;
+inline void
+Grid::Status::reset_g_pending() {
+  reset(GS_PENDING);
+}
 
-const Scalar_As_Interval_Info SCALAR_INFO;
+inline void
+Grid::Status::set_g_pending() {
+  set(GS_PENDING);
+}
 
-typedef Interval_Restriction_None<Interval_Info_Null_Open<Scalar_As_Interval_Policy> > Scalar_As_Interval_Info_Open;
 
-template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value, const T&>::type
-f_lower(const T& x) {
-  return x;
+inline bool
+Grid::Status::test_sat_c_up_to_date() const {
+  return test_any(SAT_C_UP_TO_DATE);
 }
-template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value, const T&>::type
-f_upper(const T& x) {
-  return x;
+
+inline void
+Grid::Status::reset_sat_c_up_to_date() {
+  reset(SAT_C_UP_TO_DATE);
 }
-template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value, const Scalar_As_Interval_Info&>::type
-f_info(const T&) {
-  return SCALAR_INFO;
+
+inline void
+Grid::Status::set_sat_c_up_to_date() {
+  set(SAT_C_UP_TO_DATE);
 }
-template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value, Scalar_As_Interval_Info_Open>::type
-f_info(const T&, bool open) {
-  return Scalar_As_Interval_Info_Open(open);
+
+inline bool
+Grid::Status::test_sat_g_up_to_date() const {
+  return test_any(SAT_G_UP_TO_DATE);
 }
 
-template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value, bool>::type
-f_is_empty(const T& x) {
-  return is_not_a_number(x);
+inline void
+Grid::Status::reset_sat_g_up_to_date() {
+  reset(SAT_G_UP_TO_DATE);
 }
 
-template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value, bool>::type
-f_is_singleton(const T& x) {
-  return !f_is_empty(x);
+inline void
+Grid::Status::set_sat_g_up_to_date() {
+  set(SAT_G_UP_TO_DATE);
 }
 
-template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, Ternary>::type
-f_is_empty_lazy(const T& x) {
-  if (f_info(x).get_interval_property(CARDINALITY_0))
-    return f_info(x).get_interval_property(CARDINALITY_IS) ? T_YES : T_NO;
-  else
-    return T_MAYBE;
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Grid.inlines.hh line 1. */
+/* Grid class implementation: inline functions.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Grid.inlines.hh line 29. */
+#include <algorithm>
+
+namespace Parma_Polyhedra_Library {
+
+inline bool
+Grid::marked_empty() const {
+  return status.test_empty();
 }
 
-} // namespace Interval_NS
+inline bool
+Grid::congruences_are_up_to_date() const {
+  return status.test_c_up_to_date();
+}
 
-template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, bool>::type
-is_singleton_integer(const T& x) {
-  return is_singleton(x) && is_integer(f_lower(x));
+inline bool
+Grid::generators_are_up_to_date() const {
+  return status.test_g_up_to_date();
 }
 
-template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, bool>::type
-check_empty_arg(const T& x) {
-  if (f_info(x).may_be_empty)
-    return f_is_empty(x);
-  else {
-    assert(!f_is_empty(x));
-    return false;
-  }
+inline bool
+Grid::congruences_are_minimized() const {
+  return status.test_c_minimized();
 }
 
-template <typename Boundary, typename Info>
-inline I_Result
-check_empty_result(const Interval<Boundary, Info>& x, I_Result r) {
-  if (Info::check_empty_result && f_is_empty(x))
-    return I_EMPTY;
-  else
-    return static_cast<I_Result>(r | I_MAYBE_EMPTY);
+inline bool
+Grid::generators_are_minimized() const {
+  return status.test_g_minimized();
 }
 
-template <typename T1, typename T2>
-inline typename Enable_If<((Is_Singleton<T1>::value || Is_Interval<T1>::value)
-			   && (Is_Singleton<T2>::value || Is_Interval<T2>::value)
-			   && (Is_Interval<T1>::value || Is_Interval<T2>::value)),
-			  bool>::type
-operator==(const T1& x, const T2& y) {
-  assert(f_OK(x));
-  assert(f_OK(y));
-  if (check_empty_arg(x))
-    return check_empty_arg(y);
-  else if (check_empty_arg(y))
-    return false;
-  // FIXME: the two restrictions should be evaluated in the context of
-  // the specific interval
-  return eq_restriction(f_info(x), f_info(y))
-    && eq(LOWER, f_lower(x), f_info(x), LOWER, f_lower(y), f_info(y))
-    && eq(UPPER, f_upper(x), f_info(x), UPPER, f_upper(y), f_info(y));
+inline void
+Grid::set_generators_up_to_date() {
+  status.set_g_up_to_date();
 }
 
-template <typename T1, typename T2>
-inline typename Enable_If<((Is_Singleton<T1>::value || Is_Interval<T1>::value)
-			   && (Is_Singleton<T2>::value || Is_Interval<T2>::value)
-			   && (Is_Interval<T1>::value || Is_Interval<T2>::value)),
-			  bool>::type
-operator!=(const T1& x, const T2& y) {
-  return !(x == y);
+inline void
+Grid::set_congruences_up_to_date() {
+  status.set_c_up_to_date();
 }
 
-template <typename Boundary, typename Info>
-template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, bool>::type
-Interval<Boundary, Info>::contains(const T& y) const {
-  assert(OK());
-  assert(f_OK(y));
-  if (check_empty_arg(y))
-    return true;
-  if (check_empty_arg(*this))
-    return false;
-  // FIXME: the two restrictions should be evaluated in the context of
-  // the specific interval
-  if (!contains_restriction(info(), f_info(y)))
-      return false;
-  return le(LOWER, lower(), info(), LOWER, f_lower(y), f_info(y))
-    && ge(UPPER, upper(), info(), UPPER, f_upper(y), f_info(y));
+inline void
+Grid::set_congruences_minimized() {
+  set_congruences_up_to_date();
+  status.set_c_minimized();
 }
 
-template <typename Boundary, typename Info>
-template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, bool>::type
-Interval<Boundary, Info>::strictly_contains(const T& y) const {
-  assert(OK());
-  assert(f_OK(y));
-  if (check_empty_arg(y))
-    return !check_empty_arg(*this);
-  if (check_empty_arg(*this))
-    return false;
-  // FIXME: the two restrictions should be evaluated in the context of
-  // the specific interval
-  if (!contains_restriction(info(), f_info(y)))
-      return false;
-  else if (!eq_restriction(info(), f_info(y)))
-    return le(LOWER, lower(), info(), LOWER, f_lower(y), f_info(y))
-      && ge(UPPER, upper(), info(), UPPER, f_upper(y), f_info(y));
-  return (lt(LOWER, lower(), info(), LOWER, f_lower(y), f_info(y))
-	  && ge(UPPER, upper(), info(), UPPER, f_upper(y), f_info(y)))
-    || (le(LOWER, lower(), info(), LOWER, f_lower(y), f_info(y))
-	&& gt(UPPER, upper(), info(), UPPER, f_upper(y), f_info(y)));
+inline void
+Grid::set_generators_minimized() {
+  set_generators_up_to_date();
+  status.set_g_minimized();
 }
 
-template <typename Boundary, typename Info>
-template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value
-                          || Is_Interval<T>::value, bool>::type
-Interval<Boundary, Info>::is_disjoint_from(const T& y) const {
-  assert(OK());
-  assert(f_OK(y));
-  if (check_empty_arg(*this) || check_empty_arg(y))
-    return true;
-//   CHECKME.
-//   if (!contains_restriction(info(), f_info(y)))
-//       return false;
-  return gt(LOWER, lower(), info(), UPPER, f_upper(y), f_info(y))
-    || lt(UPPER, upper(), info(), LOWER, f_lower(y), f_info(y));
+inline void
+Grid::clear_empty() {
+  status.reset_empty();
 }
 
-template <typename To_Boundary, typename To_Info>
-template <typename From1, typename From2>
-inline I_Result
-Interval<To_Boundary, To_Info>::assign(const From1& l, const From2& u) {
-  info().clear();
-  Result rl = Boundary_NS::assign(LOWER, lower(), info(), LOWER, l, f_info(l));
-  Result ru = Boundary_NS::assign(UPPER, upper(), info(), UPPER, u, f_info(u));
-  complete_init_internal();
-  assert(OK());
-  // The following Parma_Polyhedra_Library:: qualification is to work
-  // around a bug in version 10.0 of the Intel C/C++ compiler.
-  return Parma_Polyhedra_Library::check_empty_result(*this, combine(rl, ru));
+inline void
+Grid::clear_congruences_minimized() {
+  status.reset_c_minimized();
 }
 
-template <typename To_Boundary, typename To_Info>
-template <typename From>
-inline typename Enable_If<Is_Singleton<From>::value
-                          || Is_Interval<From>::value, I_Result>::type
-Interval<To_Boundary, To_Info>::assign(const From& x) {
-  assert(f_OK(x));
-  if (check_empty_arg(x))
-    return assign(EMPTY);
-  PPL_DIRTY_TEMP(To_Info, to_info);
-  to_info.clear();
-  if (!assign_restriction(to_info, x))
-    return assign(EMPTY);
-  Result rl = Boundary_NS::assign(LOWER, lower(), to_info,
-				  LOWER, f_lower(x), f_info(x));
-  Result ru = Boundary_NS::assign(UPPER, upper(), to_info,
-				  UPPER, f_upper(x), f_info(x));
-  assign_or_swap(info(), to_info);
-  complete_init_internal();
-  assert(OK());
-  return combine(rl, ru);
+inline void
+Grid::clear_generators_minimized() {
+  status.reset_g_minimized();
+}
+
+inline void
+Grid::clear_congruences_up_to_date() {
+  clear_congruences_minimized();
+  status.reset_c_up_to_date();
+  // Can get rid of con_sys here.
+}
+
+inline void
+Grid::clear_generators_up_to_date() {
+  clear_generators_minimized();
+  status.reset_g_up_to_date();
+  // Can get rid of gen_sys here.
+}
+
+inline dimension_type
+Grid::max_space_dimension() {
+  // One dimension is reserved to have a value of type dimension_type
+  // that does not represent a legal dimension.
+  return std::min(std::numeric_limits<dimension_type>::max() - 1,
+		  std::min(Congruence_System::max_space_dimension(),
+			   Grid_Generator_System::max_space_dimension()
+			   )
+		  );
+}
+
+inline
+Grid::Grid(dimension_type num_dimensions,
+	   const Degenerate_Element kind)
+  : con_sys(),
+    gen_sys(num_dimensions > max_space_dimension()
+	    ? (throw_space_dimension_overflow("Grid(n, k)",
+					      "n exceeds the maximum "
+					      "allowed space dimension"),
+	       0)
+	    : num_dimensions) {
+  construct(num_dimensions, kind);
+  PPL_ASSERT(OK());
 }
 
-template <typename To_Boundary, typename To_Info>
-template <typename From>
-inline typename Enable_If<Is_Singleton<From>::value
-                          || Is_Interval<From>::value, I_Result>::type
-Interval<To_Boundary, To_Info>::join_assign(const From& x) {
-  assert(f_OK(x));
-  if (check_empty_arg(*this))
-    return assign(x);
-  if (check_empty_arg(x))
-    return combine(V_EQ, V_EQ);
-  if (!join_restriction(info(), *this, x))
-    return assign(EMPTY);
-  info().set_interval_property(CARDINALITY_IS, false);
-  info().set_interval_property(CARDINALITY_0);
-  info().set_interval_property(CARDINALITY_1, false);
-  Result rl, ru;
-  rl = min_assign(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x));
-  ru = max_assign(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x));
-  assert(OK());
-  return combine(rl, ru);
+inline
+Grid::Grid(const Congruence_System& cgs)
+  : con_sys(cgs.space_dimension() > max_space_dimension()
+	    ? throw_space_dimension_overflow("Grid(cgs)",
+					     "the space dimension of cgs "
+					     "exceeds the maximum allowed "
+					     "space dimension"), 0
+	    : cgs.space_dimension()),
+    gen_sys(cgs.space_dimension()) {
+  Congruence_System cgs_copy(cgs);
+  construct(cgs_copy);
 }
 
-template <typename To_Boundary, typename To_Info>
-template <typename From1, typename From2>
-inline typename Enable_If<((Is_Singleton<From1>::value
-                            || Is_Interval<From1>::value)
-			   && (Is_Singleton<From2>::value
-                               || Is_Interval<From2>::value)), I_Result>::type
-Interval<To_Boundary, To_Info>::join_assign(const From1& x, const From2& y) {
-  assert(f_OK(x));
-  assert(f_OK(y));
-  if (check_empty_arg(x))
-    return assign(y);
-  if (check_empty_arg(y))
-    return assign(x);
-  PPL_DIRTY_TEMP(To_Info, to_info);
-  to_info.clear();
-  if (!join_restriction(to_info, x, y))
-    return assign(EMPTY);
-  to_info.set_interval_property(CARDINALITY_0);
-  Result rl, ru;
-  rl = min_assign(LOWER, lower(), to_info,
-		  LOWER, f_lower(x), f_info(x),
-		  LOWER, f_lower(y), f_info(y));
-  ru = max_assign(UPPER, upper(), to_info,
-		  UPPER, f_upper(x), f_info(x),
-		  UPPER, f_upper(y), f_info(y));
-  assign_or_swap(info(), to_info);
-  complete_init_internal();
-  assert(OK());
-  return combine(rl, ru);
+inline
+Grid::Grid(Congruence_System& cgs, Recycle_Input)
+  : con_sys(cgs.space_dimension() > max_space_dimension()
+	    ? throw_space_dimension_overflow("Grid(cgs, recycle)",
+					     "the space dimension of cgs "
+					     "exceeds the maximum allowed "
+					     "space dimension"), 0
+	    : cgs.space_dimension()),
+    gen_sys(cgs.space_dimension()) {
+  construct(cgs);
 }
 
-template <typename Boundary, typename Info>
-template <typename Type>
-inline typename Enable_If<Is_Singleton<Type>::value
-                          || Is_Interval<Type>::value, bool>::type
-Interval<Boundary, Info>::can_be_exactly_joined_to(const Type& x) const {
-  // FIXME: the two restrictions should be evaluated in the context of
-  // the specific interval
-  if (!eq_restriction(info(), f_info(x)))
-    return false;
-  PPL_DIRTY_TEMP(Boundary, b);
-  if (gt(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x))) {
-    b = lower();
-    return info().restrict(round_dir_check(LOWER, true), b, V_LT) == V_EQ &&
-      eq(LOWER, b, info(), UPPER, f_upper(x), f_info(x));
-  }
-  else if (lt(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x))) {
-    b = upper();
-    return info().restrict(round_dir_check(UPPER, true), b, V_GT) == V_EQ &&
-      eq(UPPER, b, info(), LOWER, f_lower(x), f_info(x));
-  }
-  return true;
+inline
+Grid::Grid(const Grid_Generator_System& ggs)
+  : con_sys(ggs.space_dimension() > max_space_dimension()
+	    ? throw_space_dimension_overflow("Grid(ggs)",
+					     "the space dimension of ggs "
+					     "exceeds the maximum allowed "
+					     "space dimension"), 0
+	    : ggs.space_dimension()),
+    gen_sys(ggs.space_dimension()) {
+  Grid_Generator_System ggs_copy(ggs);
+  construct(ggs_copy);
 }
 
-
-template <typename To_Boundary, typename To_Info>
-template <typename From>
-inline typename Enable_If<Is_Singleton<From>::value
-                          || Is_Interval<From>::value, I_Result>::type
-Interval<To_Boundary, To_Info>::intersect_assign(const From& x) {
-  assert(f_OK(x));
-  if (!intersect_restriction(info(), *this, x))
-    return assign(EMPTY);
-  // FIXME: more accurate?
-  invalidate_cardinality_cache();
-  Result rl, ru;
-  rl = max_assign(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x));
-  ru = min_assign(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x));
-  assert(OK());
-  // The following Parma_Polyhedra_Library:: qualification is to work
-  // around a bug in version 10.0 of the Intel C/C++ compiler.
-  return Parma_Polyhedra_Library::check_empty_result(*this, combine(rl, ru));
+inline
+Grid::Grid(Grid_Generator_System& ggs, Recycle_Input)
+  : con_sys(ggs.space_dimension() > max_space_dimension()
+	    ? throw_space_dimension_overflow("Grid(ggs, recycle)",
+					     "the space dimension of ggs "
+					     "exceeds the maximum allowed "
+					     "space dimension"), 0
+	    : ggs.space_dimension()),
+    gen_sys(ggs.space_dimension()) {
+  construct(ggs);
 }
 
-template <typename To_Boundary, typename To_Info>
-template <typename From1, typename From2>
-inline typename Enable_If<((Is_Singleton<From1>::value
-                            || Is_Interval<From1>::value)
-			   && (Is_Singleton<From2>::value
-                               || Is_Interval<From2>::value)), I_Result>::type
-Interval<To_Boundary, To_Info>::intersect_assign(const From1& x,
-                                                 const From2& y) {
-  assert(f_OK(x));
-  assert(f_OK(y));
-  PPL_DIRTY_TEMP(To_Info, to_info);
-  to_info.clear();
-  if (!intersect_restriction(to_info, x, y))
-    return assign(EMPTY);
-  Result rl, ru;
-  rl = max_assign(LOWER, lower(), to_info,
-		  LOWER, f_lower(x), f_info(x),
-		  LOWER, f_lower(y), f_info(y));
-  ru = min_assign(UPPER, upper(), to_info,
-		  UPPER, f_upper(x), f_info(x),
-		  UPPER, f_upper(y), f_info(y));
-  assign_or_swap(info(), to_info);
-  complete_init_internal();
-  assert(OK());
-  // The following Parma_Polyhedra_Library:: qualification is to work
-  // around a bug in version 10.0 of the Intel C/C++ compiler.
-  return Parma_Polyhedra_Library::check_empty_result(*this, combine(rl, ru));
+template <typename U>
+inline
+Grid::Grid(const BD_Shape<U>& bd,
+           Complexity_Class)
+  : con_sys(bd.space_dimension() > max_space_dimension()
+	    ? throw_space_dimension_overflow("Grid(bd)",
+					     "the space dimension of bd "
+					     "exceeds the maximum allowed "
+					     "space dimension"), 0
+	    : bd.space_dimension()),
+    gen_sys(bd.space_dimension()) {
+  Congruence_System cgs = bd.congruences();
+  construct(cgs);
 }
 
-template <typename To_Boundary, typename To_Info>
-template <typename From>
-inline typename Enable_If<Is_Singleton<From>::value
-                          || Is_Interval<From>::value, I_Result>::type
-Interval<To_Boundary, To_Info>::difference_assign(const From& x) {
-  assert(f_OK(x));
-  // FIXME: restrictions
-  if (lt(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x)) ||
-      gt(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x)))
-    return combine(V_EQ, V_EQ);
-  bool nl = ge(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x));
-  bool nu = le(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x));
-  Result rl = V_EQ, ru = V_EQ;
-  if (nl) {
-    if (nu)
-      return assign(EMPTY);
-    else {
-      invalidate_cardinality_cache();
-      info().clear_boundary_properties(LOWER);
-      rl = complement(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x));
-    }
-  }
-  else if (nu) {
-    invalidate_cardinality_cache();
-    info().clear_boundary_properties(UPPER);
-    ru = complement(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x));
-  }
-  assert(OK());
-  return combine(rl, ru);
+template <typename U>
+inline
+Grid::Grid(const Octagonal_Shape<U>& os,
+           Complexity_Class)
+  : con_sys(os.space_dimension() > max_space_dimension()
+	    ? throw_space_dimension_overflow("Grid(os)",
+					     "the space dimension of os "
+					     "exceeds the maximum allowed "
+					     "space dimension"), 0
+	    : os.space_dimension()),
+    gen_sys(os.space_dimension()) {
+  Congruence_System cgs = os.congruences();
+  construct(cgs);
 }
 
-template <typename To_Boundary, typename To_Info>
-template <typename From1, typename From2>
-inline typename Enable_If<((Is_Singleton<From1>::value
-                            || Is_Interval<From1>::value)
-			   && (Is_Singleton<From2>::value
-                               || Is_Interval<From2>::value)), I_Result>::type
-Interval<To_Boundary, To_Info>::difference_assign(const From1& x,
-                                                  const From2& y) {
-  assert(f_OK(x));
-  assert(f_OK(y));
-  PPL_DIRTY_TEMP(To_Info, to_info);
-  to_info.clear();
-  // FIXME: restrictions
-  if (lt(UPPER, f_upper(x), f_info(x), LOWER, f_lower(y), f_info(y)) ||
-      gt(LOWER, f_lower(x), f_info(x), UPPER, f_upper(y), f_info(y)))
-    return assign(x);
-  bool nl = ge(LOWER, f_lower(x), f_info(x), LOWER, f_lower(y), f_info(y));
-  bool nu = le(UPPER, f_upper(x), f_info(x), UPPER, f_upper(y), f_info(y));
-  Result rl = V_EQ, ru = V_EQ;
-  if (nl) {
-    if (nu)
-      return assign(EMPTY);
-    else {
-      rl = complement(LOWER, lower(), info(), UPPER, f_upper(y), f_info(y));
-      ru = Boundary_NS::assign(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x));
-    }
-  }
-  else if (nu) {
-    ru = complement(UPPER, upper(), info(), LOWER, f_lower(y), f_info(y));
-    rl = Boundary_NS::assign(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x));
-  }
-  assign_or_swap(info(), to_info);
-  complete_init_internal();
-  assert(OK());
-  return combine(rl, ru);
+inline
+Grid::~Grid() {
 }
 
-template <typename To_Boundary, typename To_Info>
-template <typename From>
-inline typename Enable_If<Is_Singleton<From>::value
-                          || Is_Interval<From>::value, I_Result>::type
-Interval<To_Boundary, To_Info>
-::refine_existential(Relation_Symbol rel, const From& x) {
-  assert(OK());
-  assert(f_OK(x));
-  if (check_empty_arg(x))
-    return assign(EMPTY);
-  switch (rel) {
-  case LESS_THAN:
-    {
-      if (lt(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x)))
-	return combine(V_EQ, V_EQ);
-      info().clear_boundary_properties(UPPER);
-      Result ru = Boundary_NS::assign(UPPER, upper(), info(),
-				      UPPER, f_upper(x), f_info(x), true);
-      invalidate_cardinality_cache();
-      normalize();
-      // The following Parma_Polyhedra_Library:: qualification is to work
-      // around a bug in version 10.0 of the Intel C/C++ compiler.
-      return Parma_Polyhedra_Library::check_empty_result(*this,
-							 combine(V_EQ, ru));
-    }
-  case LESS_OR_EQUAL:
-    {
-      if (le(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x)))
-	return combine(V_EQ, V_EQ);
-      info().clear_boundary_properties(UPPER);
-      Result ru = Boundary_NS::assign(UPPER, upper(), info(),
-				      UPPER, f_upper(x), f_info(x));
-      invalidate_cardinality_cache();
-      normalize();
-      // The following Parma_Polyhedra_Library:: qualification is to work
-      // around a bug in version 10.0 of the Intel C/C++ compiler.
-      return Parma_Polyhedra_Library::check_empty_result(*this,
-							 combine(V_EQ, ru));
-    }
-  case GREATER_THAN:
-    {
-      if (gt(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x)))
-	return combine(V_EQ, V_EQ);
-      info().clear_boundary_properties(LOWER);
-      Result rl = Boundary_NS::assign(LOWER, lower(), info(),
-				      LOWER, f_lower(x), f_info(x), true);
-      invalidate_cardinality_cache();
-      normalize();
-      // The following Parma_Polyhedra_Library:: qualification is to work
-      // around a bug in version 10.0 of the Intel C/C++ compiler.
-      return Parma_Polyhedra_Library::check_empty_result(*this,
-							 combine(rl, V_EQ));
-    }
-  case GREATER_OR_EQUAL:
-    {
-      if (ge(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x)))
-	return combine(V_EQ, V_EQ);
-      info().clear_boundary_properties(LOWER);
-      Result rl = Boundary_NS::assign(LOWER, lower(), info(),
-				      LOWER, f_lower(x), f_info(x));
-      invalidate_cardinality_cache();
-      normalize();
-      // The following Parma_Polyhedra_Library:: qualification is to work
-      // around a bug in version 10.0 of the Intel C/C++ compiler.
-      return Parma_Polyhedra_Library::check_empty_result(*this,
-							 combine(rl, V_EQ));
-    }
-  case EQUAL:
-    return intersect_assign(x);
-  case NOT_EQUAL:
-    {
-      if (!f_is_singleton(x))
-	return combine(V_EQ, V_EQ);
-      if (check_empty_arg(*this))
-	return I_EMPTY;
-      if (eq(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x)))
-	lower_shrink();
-      if (eq(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x)))
-	upper_shrink();
-      invalidate_cardinality_cache();
-      normalize();
-      // The following Parma_Polyhedra_Library:: qualification is to work
-      // around a bug in version 10.0 of the Intel C/C++ compiler.
-      return Parma_Polyhedra_Library::check_empty_result(*this,
-							 combine(V_EQ, V_EQ));
-    }
-  default:
-    assert(false);
-    return I_EMPTY;
-  }
+inline dimension_type
+Grid::space_dimension() const {
+  return space_dim;
 }
 
-template <typename To_Boundary, typename To_Info>
-template <typename From>
-inline typename Enable_If<Is_Singleton<From>::value
-                          || Is_Interval<From>::value, I_Result>::type
-Interval<To_Boundary, To_Info>::refine_universal(Relation_Symbol rel,
-                                                 const From& x) {
-  assert(OK());
-  assert(f_OK(x));
-  if (check_empty_arg(x))
-    return combine(V_EQ, V_EQ);
-  switch (rel) {
-  case LESS_THAN:
-    {
-      if (lt(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x)))
-	return combine(V_EQ, V_EQ);
-      info().clear_boundary_properties(UPPER);
-      Result ru = Boundary_NS::assign(UPPER, upper(), info(),
-				      LOWER, f_lower(x), SCALAR_INFO, !is_open(LOWER, f_lower(x), f_info(x)));
-      invalidate_cardinality_cache();
-      normalize();
-      // The following Parma_Polyhedra_Library:: qualification is to work
-      // around a bug in version 10.0 of the Intel C/C++ compiler.
-      return Parma_Polyhedra_Library::check_empty_result(*this,
-							 combine(V_EQ, ru));
-    }
-  case LESS_OR_EQUAL:
-    {
-      if (le(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x)))
-	return combine(V_EQ, V_EQ);
-      info().clear_boundary_properties(UPPER);
-      Result ru = Boundary_NS::assign(UPPER, upper(), info(),
-				      LOWER, f_lower(x), SCALAR_INFO);
-      invalidate_cardinality_cache();
-      normalize();
-      // The following Parma_Polyhedra_Library:: qualification is to work
-      // around a bug in version 10.0 of the Intel C/C++ compiler.
-      return Parma_Polyhedra_Library::check_empty_result(*this,
-							 combine(V_EQ, ru));
-    }
-  case GREATER_THAN:
-    {
-      if (gt(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x)))
-	return combine(V_EQ, V_EQ);
-      info().clear_boundary_properties(LOWER);
-      Result rl = Boundary_NS::assign(LOWER, lower(), info(),
-				      UPPER, f_upper(x), SCALAR_INFO, !is_open(UPPER, f_upper(x), f_info(x)));
-      invalidate_cardinality_cache();
-      normalize();
-      // The following Parma_Polyhedra_Library:: qualification is to work
-      // around a bug in version 10.0 of the Intel C/C++ compiler.
-      return Parma_Polyhedra_Library::check_empty_result(*this,
-							 combine(rl, V_EQ));
-    }
-  case GREATER_OR_EQUAL:
-    {
-      if (ge(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x)))
-	return combine(V_EQ, V_EQ);
-      info().clear_boundary_properties(LOWER);
-      Result rl = Boundary_NS::assign(LOWER, lower(), info(),
-				      UPPER, f_upper(x), SCALAR_INFO);
-      invalidate_cardinality_cache();
-      normalize();
-      // The following Parma_Polyhedra_Library:: qualification is to work
-      // around a bug in version 10.0 of the Intel C/C++ compiler.
-      return Parma_Polyhedra_Library::check_empty_result(*this,
-							 combine(rl, V_EQ));
-    }
-  case EQUAL:
-    if (!f_is_singleton(x))
-      return assign(EMPTY);
-    return intersect_assign(x);
-  case NOT_EQUAL:
-    {
-      if (check_empty_arg(*this))
-	return I_EMPTY;
-      if (eq(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x)))
-	lower_shrink();
-      if (eq(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x)))
-	upper_shrink();
-      invalidate_cardinality_cache();
-      normalize();
-      // The following Parma_Polyhedra_Library:: qualification is to work
-      // around a bug in version 10.0 of the Intel C/C++ compiler.
-      return Parma_Polyhedra_Library::check_empty_result(*this,
-							 combine(V_EQ, V_EQ));
-    }
-  default:
-    assert(false);
-    return I_EMPTY;
-  }
+inline memory_size_type
+Grid::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
 }
 
-template <typename To_Boundary, typename To_Info>
-template <typename From>
-inline typename Enable_If<Is_Singleton<From>::value
-                          || Is_Interval<From>::value, I_Result>::type
-Interval<To_Boundary, To_Info>::neg_assign(const From& x) {
-  assert(f_OK(x));
-  if (check_empty_arg(x))
-    return assign(EMPTY);
-  PPL_DIRTY_TEMP(To_Info, to_info);
-  to_info.clear();
-  if (!neg_restriction(to_info, x))
-    return assign(EMPTY);
-  Result rl, ru;
-  PPL_DIRTY_TEMP(To_Boundary, to_lower);
-  rl = Boundary_NS::neg_assign(LOWER, to_lower, to_info, UPPER, f_upper(x), f_info(x));
-  ru = Boundary_NS::neg_assign(UPPER, upper(), to_info, LOWER, f_lower(x), f_info(x));
-  assign_or_swap(lower(), to_lower);
-  assign_or_swap(info(), to_info);
-  complete_init_internal();
-  assert(OK());
-  return combine(rl, ru);
+inline int32_t
+Grid::hash_code() const {
+  return space_dimension() & 0x7fffffff;
 }
 
-template <typename To_Boundary, typename To_Info>
-template <typename From1, typename From2>
-inline typename Enable_If<((Is_Singleton<From1>::value
-                            || Is_Interval<From1>::value)
-			   && (Is_Singleton<From2>::value
-                               || Is_Interval<From2>::value)), I_Result>::type
-Interval<To_Boundary, To_Info>::add_assign(const From1& x, const From2& y) {
-  assert(f_OK(x));
-  assert(f_OK(y));
-  if (check_empty_arg(x) || check_empty_arg(y))
-    return assign(EMPTY);
-  int inf = Parma_Polyhedra_Library::is_infinity(x);
-  if (inf) {
-    if (Parma_Polyhedra_Library::is_infinity(y) == -inf)
-      return assign(EMPTY);
-  }
-  else
-    inf = Parma_Polyhedra_Library::is_infinity(y);
-  if (inf < 0)
-    return assign(MINUS_INFINITY);
-  else if (inf > 0)
-    return assign(PLUS_INFINITY);
-  PPL_DIRTY_TEMP(To_Info, to_info);
-  to_info.clear();
-  if (!add_restriction(to_info, x, y))
-    return assign(EMPTY);
-  Result rl = Boundary_NS::add_assign(LOWER, lower(), to_info,
-				      LOWER, f_lower(x), f_info(x),
-				      LOWER, f_lower(y), f_info(y));
-  Result ru = Boundary_NS::add_assign(UPPER, upper(), to_info,
-				      UPPER, f_upper(x), f_info(x),
-				      UPPER, f_upper(y), f_info(y));
-  assign_or_swap(info(), to_info);
-  complete_init_internal();
-  assert(OK());
-  return combine(rl, ru);
+inline Constraint_System
+Grid::constraints() const {
+  return Constraint_System(congruences());;
 }
 
-template <typename To_Boundary, typename To_Info>
-template <typename From1, typename From2>
-inline typename Enable_If<((Is_Singleton<From1>::value
-                            || Is_Interval<From1>::value)
-			   && (Is_Singleton<From2>::value
-                               || Is_Interval<From2>::value)), I_Result>::type
-Interval<To_Boundary, To_Info>::sub_assign(const From1& x, const From2& y) {
-  assert(f_OK(x));
-  assert(f_OK(y));
-  if (check_empty_arg(x) || check_empty_arg(y))
-    return assign(EMPTY);
-  int inf = Parma_Polyhedra_Library::is_infinity(x);
-  if (inf) {
-    if (Parma_Polyhedra_Library::is_infinity(y) == inf)
-      return assign(EMPTY);
-  }
-  else
-    inf = -Parma_Polyhedra_Library::is_infinity(y);
-  if (inf < 0)
-    return assign(MINUS_INFINITY);
-  else if (inf > 0)
-    return assign(PLUS_INFINITY);
+inline Constraint_System
+Grid::minimized_constraints() const {
+  return Constraint_System(minimized_congruences());;
+}
 
-  PPL_DIRTY_TEMP(To_Info, to_info);
-  to_info.clear();
-  if (!sub_restriction(to_info, x, y))
-    return assign(EMPTY);
-  Result rl, ru;
-  PPL_DIRTY_TEMP(To_Boundary, to_lower);
-  rl = Boundary_NS::sub_assign(LOWER, to_lower, to_info,
-			       LOWER, f_lower(x), f_info(x),
-			       UPPER, f_upper(y), f_info(y));
-  ru = Boundary_NS::sub_assign(UPPER, upper(), to_info,
-			       UPPER, f_upper(x), f_info(x),
-			       LOWER, f_lower(y), f_info(y));
-  assign_or_swap(lower(), to_lower);
-  assign_or_swap(info(), to_info);
-  complete_init_internal();
-  assert(OK());
-  return combine(rl, ru);
+inline void
+Grid::swap(Grid& y) {
+  std::swap(con_sys, y.con_sys);
+  std::swap(gen_sys, y.gen_sys);
+  std::swap(status, y.status);
+  std::swap(space_dim, y.space_dim);
+  std::swap(dim_kinds, y.dim_kinds);
 }
 
-/**
-+---------+-----------+-----------+-----------------+
-|    *    |  yl > 0   |  yu < 0   |  yl < 0, yu > 0 |
-+---------+-----------+-----------+-----------------+
-| xl > 0  |xl*yl,xu*yu|xu*yl,xl*yu|   xu*yl,xu*yu   |
-+---------+-----------+-----------+-----------------+
-| xu < 0  |xl*yu,xu*yl|xu*yu,xl*yl|   xl*yu,xl*yl   |
-+---------+-----------+-----------+-----------------+
-|xl<0 xu>0|xl*yu,xu*yu|xu*yl,xl*yl|min(xl*yu,xu*yl),|
-|         |           |           |max(xl*yl,xu*yu) |
-+---------+-----------+-----------+-----------------+
-**/
-template <typename To_Boundary, typename To_Info>
-template <typename From1, typename From2>
-inline typename Enable_If<((Is_Singleton<From1>::value
-                            || Is_Interval<From1>::value)
-			   && (Is_Singleton<From2>::value
-                               || Is_Interval<From2>::value)), I_Result>::type
-Interval<To_Boundary, To_Info>::mul_assign(const From1& x, const From2& y) {
-  assert(f_OK(x));
-  assert(f_OK(y));
-  if (check_empty_arg(x) || check_empty_arg(y))
-    return assign(EMPTY);
-  int xls = sgn_b(LOWER, f_lower(x), f_info(x));
-  int xus = xls > 0 ? 1 : sgn_b(UPPER, f_upper(x), f_info(x));
-  int yls = sgn_b(LOWER, f_lower(y), f_info(y));
-  int yus = yls > 0 ? 1 : sgn_b(UPPER, f_upper(y), f_info(y));
-  int inf = Parma_Polyhedra_Library::is_infinity(x);
-  int ls, us;
-  if (inf) {
-    ls = yls;
-    us = yus;
-    goto inf;
-  }
-  else {
-    inf = Parma_Polyhedra_Library::is_infinity(y);
-    if (inf) {
-      ls = xls;
-      us = xus;
-    inf:
-      if (ls == 0 && us == 0)
-	return assign(EMPTY);
-      if (ls == -us)
-	return set_infinities();
-      if (ls < 0 || us < 0)
-	inf = -inf;
-      if (inf < 0)
-	return assign(MINUS_INFINITY);
-      else
-	return assign(PLUS_INFINITY);
-    }
-  }
+inline void
+Grid::add_congruence(const Congruence& cg) {
+  // Dimension-compatibility check.
+  if (space_dim < cg.space_dimension())
+    throw_dimension_incompatible("add_congruence(cg)", "cg", cg);
 
-  PPL_DIRTY_TEMP(To_Info, to_info);
-  to_info.clear();
-  if (!mul_restriction(to_info, x, y))
-    return assign(EMPTY);
-  Result rl, ru;
-  PPL_DIRTY_TEMP(To_Boundary, to_lower);
+  if (!marked_empty())
+    add_congruence_no_check(cg);
+}
+
+inline void
+Grid::add_congruences(const Congruence_System& cgs) {
+  // TODO: this is just an executable specification.
+  // Space dimension compatibility check.
+  if (space_dim < cgs.space_dimension())
+    throw_dimension_incompatible("add_congruences(cgs)", "cgs", cgs);
 
-  if (xls >= 0) {
-    if (yls >= 0) {
-      // 0 <= xl <= xu, 0 <= yl <= yu
-      rl = mul_assign_z(LOWER, to_lower, to_info,
-			LOWER, f_lower(x), f_info(x), xls,
-			LOWER, f_lower(y), f_info(y), yls);
-      ru = mul_assign_z(UPPER, upper(), to_info,
-			UPPER, f_upper(x), f_info(x), xus,
-			UPPER, f_upper(y), f_info(y), yus);
-    }
-    else if (yus <= 0) {
-      // 0 <= xl <= xu, yl <= yu <= 0
-      rl = mul_assign_z(LOWER, to_lower, to_info,
-			UPPER, f_upper(x), f_info(x), xus,
-			LOWER, f_lower(y), f_info(y), yls);
-      ru = mul_assign_z(UPPER, upper(), to_info,
-			LOWER, f_lower(x), f_info(x), xls,
-			UPPER, f_upper(y), f_info(y), yus);
-    }
-    else {
-      // 0 <= xl <= xu, yl < 0 < yu
-      rl = mul_assign_z(LOWER, to_lower, to_info,
-			UPPER, f_upper(x), f_info(x), xus,
-			LOWER, f_lower(y), f_info(y), yls);
-      ru = mul_assign_z(UPPER, upper(), to_info,
-			UPPER, f_upper(x), f_info(x), xus,
-			UPPER, f_upper(y), f_info(y), yus);
-    }
-  }
-  else if (xus <= 0) {
-    if (yls >= 0) {
-      // xl <= xu <= 0, 0 <= yl <= yu
-      rl = mul_assign_z(LOWER, to_lower, to_info,
-			LOWER, f_lower(x), f_info(x), xls,
-			UPPER, f_upper(y), f_info(y), yus);
-      ru = mul_assign_z(UPPER, upper(), to_info,
-			UPPER, f_upper(x), f_info(x), xus,
-			LOWER, f_lower(y), f_info(y), yls);
-    }
-    else if (yus <= 0) {
-      // xl <= xu <= 0, yl <= yu <= 0
-      rl = mul_assign_z(LOWER, to_lower, to_info,
-			UPPER, f_upper(x), f_info(x), xus,
-			UPPER, f_upper(y), f_info(y), yus);
-      ru = mul_assign_z(UPPER, upper(), to_info,
-			LOWER, f_lower(x), f_info(x), xls,
-			LOWER, f_lower(y), f_info(y), yls);
-    }
-    else {
-      // xl <= xu <= 0, yl < 0 < yu
-      rl = mul_assign_z(LOWER, to_lower, to_info,
-			LOWER, f_lower(x), f_info(x), xls,
-			UPPER, f_upper(y), f_info(y), yus);
-      ru = mul_assign_z(UPPER, upper(), to_info,
-			LOWER, f_lower(x), f_info(x), xls,
-			LOWER, f_lower(y), f_info(y), yls);
-    }
-  }
-  else if (yls >= 0) {
-    // xl < 0 < xu, 0 <= yl <= yu
-    rl = mul_assign_z(LOWER, to_lower, to_info,
-		      LOWER, f_lower(x), f_info(x), xls,
-		      UPPER, f_upper(y), f_info(y), yus);
-    ru = mul_assign_z(UPPER, upper(), to_info,
-		      UPPER, f_upper(x), f_info(x), xus,
-		      UPPER, f_upper(y), f_info(y), yus);
-  }
-  else if (yus <= 0) {
-    // xl < 0 < xu, yl <= yu <= 0
-    rl = mul_assign_z(LOWER, to_lower, to_info,
-		      UPPER, f_upper(x), f_info(x), xus,
-		      LOWER, f_lower(y), f_info(y), yls);
-    ru = mul_assign_z(UPPER, upper(), to_info,
-		      LOWER, f_lower(x), f_info(x), xls,
-		      LOWER, f_lower(y), f_info(y), yls);
-  }
-  else {
-    // xl < 0 < xu, yl < 0 < yu
-    PPL_DIRTY_TEMP(To_Boundary, tmp);
-    PPL_DIRTY_TEMP(To_Info, tmp_info);
-    tmp_info.clear();
-    Result tmp_r;
-    tmp_r = Boundary_NS::mul_assign(LOWER, tmp, tmp_info,
-				    UPPER, f_upper(x), f_info(x),
-				    LOWER, f_lower(y), f_info(y));
-    rl = Boundary_NS::mul_assign(LOWER, to_lower, to_info,
-				 LOWER, f_lower(x), f_info(x),
-				 UPPER, f_upper(y), f_info(y));
-    if (gt(LOWER, to_lower, to_info, LOWER, tmp, tmp_info)) {
-      to_lower = tmp;
-      rl = tmp_r;
-    }
-    tmp_info.clear();
-    tmp_r = Boundary_NS::mul_assign(UPPER, tmp, tmp_info,
-				    UPPER, f_upper(x), f_info(x),
-				    UPPER, f_upper(y), f_info(y));
-    ru = Boundary_NS::mul_assign(UPPER, upper(), to_info,
-				 LOWER, f_lower(x), f_info(x),
-				 LOWER, f_lower(y), f_info(y));
-    if (lt(UPPER, upper(), to_info, UPPER, tmp, tmp_info)) {
-      upper() = tmp;
-      ru = tmp_r;
-    }
+  if (!marked_empty()) {
+    Congruence_System cgs_copy = cgs;
+    add_recycled_congruences(cgs_copy);
   }
-  assign_or_swap(lower(), to_lower);
-  assign_or_swap(info(), to_info);
-  complete_init_internal();
-  assert(OK());
-  return combine(rl, ru);
 }
 
-/**
-+-----------+-----------+-----------+
-|     /     |  yu < 0   |  yl > 0   |
-+-----------+-----------+-----------+
-|   xu<=0   |xu/yl,xl/yu|xl/yl,xu/yu|
-+-----------+-----------+-----------+
-|xl<=0 xu>=0|xu/yu,xl/yu|xl/yl,xu/yl|
-+-----------+-----------+-----------+
-|   xl>=0   |xu/yu,xl/yl|xl/yu,xu/yl|
-+-----------+-----------+-----------+
-**/
-template <typename To_Boundary, typename To_Info>
-template <typename From1, typename From2>
-inline typename Enable_If<((Is_Singleton<From1>::value
-                            || Is_Interval<From1>::value)
-			   && (Is_Singleton<From2>::value
-                               || Is_Interval<From2>::value)), I_Result>::type
-Interval<To_Boundary, To_Info>::div_assign(const From1& x, const From2& y) {
-  assert(f_OK(x));
-  assert(f_OK(y));
-  if (check_empty_arg(x) || check_empty_arg(y))
-    return assign(EMPTY);
-  int yls = sgn_b(LOWER, f_lower(y), f_info(y));
-  int yus = yls > 0 ? 1 : sgn_b(UPPER, f_upper(y), f_info(y));
-  if (yls == 0 && yus == 0)
-    return assign(EMPTY);
-  int inf = Parma_Polyhedra_Library::is_infinity(x);
-  if (inf) {
-    if (Parma_Polyhedra_Library::is_infinity(y))
-      return assign(EMPTY);
-    if (yls == -yus)
-      return set_infinities();
-    if (yls < 0 || yus < 0)
-      inf = -inf;
-    if (inf < 0)
-      return assign(MINUS_INFINITY);
-    else
-      return assign(PLUS_INFINITY);
-  }
-  int xls = sgn_b(LOWER, f_lower(x), f_info(x));
-  int xus = xls > 0 ? 1 : sgn_b(UPPER, f_upper(x), f_info(x));
+inline void
+Grid::refine_with_congruence(const Congruence& cg) {
+  add_congruence(cg);
+}
 
-  PPL_DIRTY_TEMP(To_Info, to_info);
-  to_info.clear();
-  if (!div_restriction(to_info, x, y))
-    return assign(EMPTY);
-  Result rl, ru;
-  PPL_DIRTY_TEMP(To_Boundary, to_lower);
-  if (yls >= 0) {
-    if (xls >= 0) {
-      rl = div_assign_z(LOWER, to_lower, to_info,
-			LOWER, f_lower(x), f_info(x), xls,
-			UPPER, f_upper(y), f_info(y), yus);
-      ru = div_assign_z(UPPER, upper(), to_info,
-			UPPER, f_upper(x), f_info(x), xus,
-			LOWER, f_lower(y), f_info(y), yls);
-    }
-    else if (xus <= 0) {
-      rl = div_assign_z(LOWER, to_lower, to_info,
-			LOWER, f_lower(x), f_info(x), xls,
-			LOWER, f_lower(y), f_info(y), yls);
-      ru = div_assign_z(UPPER, upper(), to_info,
-			UPPER, f_upper(x), f_info(x), xus,
-			UPPER, f_upper(y), f_info(y), yus);
-    }
-    else {
-      rl = div_assign_z(LOWER, to_lower, to_info,
-			LOWER, f_lower(x), f_info(x), xls,
-			LOWER, f_lower(y), f_info(y), yls);
-      ru = div_assign_z(UPPER, upper(), to_info,
-			UPPER, f_upper(x), f_info(x), xus,
-			LOWER, f_lower(y), f_info(y), yls);
-    }
-  }
-  else if (yus <= 0) {
-    if (xls >= 0) {
-      rl = div_assign_z(LOWER, to_lower, to_info,
-			UPPER, f_upper(x), f_info(x), xus,
-			UPPER, f_upper(y), f_info(y), yus);
-      ru = div_assign_z(UPPER, upper(), to_info,
-			LOWER, f_lower(x), f_info(x), xls,
-			LOWER, f_lower(y), f_info(y), yls);
-    }
-    else if (xus <= 0) {
-      rl = div_assign_z(LOWER, to_lower, to_info,
-			UPPER, f_upper(x), f_info(x), xus,
-			LOWER, f_lower(y), f_info(y), yls);
-      ru = div_assign_z(UPPER, upper(), to_info,
-			LOWER, f_lower(x), f_info(x), xls,
-			UPPER, f_upper(y), f_info(y), yus);
-    }
-    else {
-      rl = div_assign_z(LOWER, to_lower, to_info,
-			UPPER, f_upper(x), f_info(x), xus,
-			UPPER, f_upper(y), f_info(y), yus);
-      ru = div_assign_z(UPPER, upper(), to_info,
-			LOWER, f_lower(x), f_info(x), xls,
-			UPPER, f_upper(y), f_info(y), yus);
-    }
-  }
-  else {
-    // FIXME: restrictions
-    return static_cast<I_Result>(assign(UNIVERSE) | I_SINGULARITIES);
-  }
-  assign_or_swap(lower(), to_lower);
-  assign_or_swap(info(), to_info);
-  complete_init_internal();
-  assert(OK());
-  return combine(rl, ru);
+inline void
+Grid::refine_with_congruences(const Congruence_System& cgs) {
+  add_congruences(cgs);
 }
 
-template <typename B, typename Info, typename T>
-inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
-operator+(const Interval<B, Info>& x, const T& y) {
-  Interval<B, Info> z;
-  z.add_assign(x, y);
-  return z;
+inline bool
+Grid::can_recycle_constraint_systems() {
+  return true;
 }
 
-template <typename B, typename Info, typename T>
-inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
-operator+(const T& x, const Interval<B, Info>& y) {
-  Interval<B, Info> z;
-  z.add_assign(x, y);
-  return z;
+inline bool
+Grid::can_recycle_congruence_systems() {
+  return true;
 }
 
-template <typename B, typename Info>
-inline Interval<B, Info>
-operator+(const Interval<B, Info>& x, const Interval<B, Info>& y) {
-  Interval<B, Info> z;
-  z.add_assign(x, y);
-  return z;
+inline void
+Grid::add_constraint(const Constraint& c) {
+  // Space dimension compatibility check.
+  if (space_dim < c.space_dimension())
+    throw_dimension_incompatible("add_constraint(c)", "c", c);
+  if (!marked_empty())
+    add_constraint_no_check(c);
 }
 
-template <typename B, typename Info, typename T>
-inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
-operator-(const Interval<B, Info>& x, const T& y) {
-  Interval<B, Info> z;
-  z.sub_assign(x, y);
-  return z;
+inline void
+Grid::add_recycled_constraints(Constraint_System& cs) {
+  // TODO: really recycle the constraints.
+  add_constraints(cs);
 }
 
-template <typename B, typename Info, typename T>
-inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
-operator-(const T& x, const Interval<B, Info>& y) {
-  Interval<B, Info> z;
-  z.sub_assign(x, y);
-  return z;
+inline bool
+Grid::bounds_from_above(const Linear_Expression& expr) const {
+  return bounds(expr, "bounds_from_above(e)");
 }
 
-template <typename B, typename Info>
-inline Interval<B, Info>
-operator-(const Interval<B, Info>& x, const Interval<B, Info>& y) {
-  Interval<B, Info> z;
-  z.sub_assign(x, y);
-  return z;
+inline bool
+Grid::bounds_from_below(const Linear_Expression& expr) const {
+  return bounds(expr, "bounds_from_below(e)");
 }
 
-template <typename B, typename Info, typename T>
-inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
-operator*(const Interval<B, Info>& x, const T& y) {
-  Interval<B, Info> z;
-  z.mul_assign(x, y);
-  return z;
+inline bool
+Grid::maximize(const Linear_Expression& expr,
+	       Coefficient& sup_n, Coefficient& sup_d, bool& maximum) const {
+  return max_min(expr, "maximize(e, ...)", sup_n, sup_d, maximum);
 }
 
-template <typename B, typename Info, typename T>
-inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
-operator*(const T& x, const Interval<B, Info>& y) {
-  Interval<B, Info> z;
-  z.mul_assign(x, y);
-  return z;
+inline bool
+Grid::maximize(const Linear_Expression& expr,
+	       Coefficient& sup_n, Coefficient& sup_d, bool& maximum,
+	       Generator& point) const {
+  return max_min(expr, "maximize(e, ...)", sup_n, sup_d, maximum, &point);
 }
 
-template <typename B, typename Info>
-inline Interval<B, Info>
-operator*(const Interval<B, Info>& x, const Interval<B, Info>& y) {
-  Interval<B, Info> z;
-  z.mul_assign(x, y);
-  return z;
+inline bool
+Grid::minimize(const Linear_Expression& expr,
+	       Coefficient& inf_n, Coefficient& inf_d, bool& minimum) const {
+  return max_min(expr, "minimize(e, ...)", inf_n, inf_d, minimum);
 }
 
-template <typename B, typename Info, typename T>
-inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
-operator/(const Interval<B, Info>& x, const T& y) {
-  Interval<B, Info> z;
-  z.div_assign(x, y);
-  return z;
+inline bool
+Grid::minimize(const Linear_Expression& expr,
+	       Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
+	       Generator& point) const {
+  return max_min(expr, "minimize(e, ...)", inf_n, inf_d, minimum, &point);
 }
 
-template <typename B, typename Info, typename T>
-inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
-operator/(const T& x, const Interval<B, Info>& y) {
-  Interval<B, Info> z;
-  z.div_assign(x, y);
-  return z;
+inline void
+Grid::normalize_divisors(Grid_Generator_System& sys) {
+  PPL_DIRTY_TEMP_COEFFICIENT(divisor);
+  divisor = 1;
+  normalize_divisors(sys, divisor);
 }
 
-template <typename B, typename Info>
-inline Interval<B, Info>
-operator/(const Interval<B, Info>& x, const Interval<B, Info>& y) {
-  Interval<B, Info> z;
-  z.div_assign(x, y);
-  return z;
+/*! \relates Grid */
+inline bool
+operator!=(const Grid& x, const Grid& y) {
+  return !(x == y);
 }
 
-template <typename Boundary, typename Info>
-inline std::ostream&
-operator<<(std::ostream& os, const Interval<Boundary, Info>& x) {
-  // assert(x.OK());
-  if (check_empty_arg(x))
-    return os << "[]";
-  if (x.is_singleton()) {
-    output(os, x.lower(), Numeric_Format(), ROUND_NOT_NEEDED);
-    return os;
-  }
-  os << (x.lower_is_open() ? "(" : "[");
-  if (x.info().get_boundary_property(LOWER, SPECIAL))
-    os << "-inf";
-  else
-    output(os, x.lower(), Numeric_Format(), ROUND_NOT_NEEDED);
-  os << ", ";
-  if (x.info().get_boundary_property(UPPER, SPECIAL))
-    os << "+inf";
-  else
-    output(os, x.upper(), Numeric_Format(), ROUND_NOT_NEEDED);
-  os << (x.upper_is_open() ? ")" : "]");
-  output_restriction(os, x.info());
-  return os;
+inline bool
+Grid::strictly_contains(const Grid& y) const {
+  const Grid& x = *this;
+  return x.contains(y) && !y.contains(x);
 }
 
-template <typename Boundary, typename Info>
 inline void
-Interval<Boundary, Info>::ascii_dump(std::ostream& s) const {
-  using Parma_Polyhedra_Library::ascii_dump;
-  s << "info ";
-  info().ascii_dump(s);
-  s << " lower ";
-  ascii_dump(s, lower());
-  s << " upper ";
-  ascii_dump(s, upper());
-  s << '\n';
+Grid::topological_closure_assign() {
 }
 
-template <typename Boundary, typename Info>
-inline bool
-Interval<Boundary, Info>::ascii_load(std::istream& s) {
-  using Parma_Polyhedra_Library::ascii_load;
-  std::string str;
-  if (!(s >> str) || str != "info")
-    return false;
-  if (!info().ascii_load(s))
-    return false;
-  if (!(s >> str) || str != "lower")
-    return false;
-  if (!ascii_load(s, lower()))
-    return false;
-  if (!(s >> str) || str != "upper")
-    return false;
-  if (!ascii_load(s, upper()))
-    return false;
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-  complete_init_internal();
-#endif
-  assert(OK());
-  return true;
+} // namespace Parma_Polyhedra_Library
+
+namespace std {
+
+/*! \relates Parma_Polyhedra_Library::Grid */
+inline void
+swap(Parma_Polyhedra_Library::Grid& x,
+     Parma_Polyhedra_Library::Grid& y) {
+  x.swap(y);
 }
 
-/*! \brief
-  Helper class to select the appropriate numerical type to perform
-  boundary computations so as to reduce the chances of overflow without
-  incurring too much overhead.
+} // namespace std
+
+/* Automatically generated from PPL source file ../src/Grid.templates.hh line 1. */
+/* Grid class implementation: inline functions.
 */
-template <typename Interval_Boundary_Type> struct Select_Temp_Boundary_Type;
 
-template <typename Interval_Boundary_Type>
-struct Select_Temp_Boundary_Type {
-  typedef Interval_Boundary_Type type;
-};
 
-template <>
-struct Select_Temp_Boundary_Type<float> {
-  typedef double type;
-};
+/* Automatically generated from PPL source file ../src/Grid.templates.hh line 29. */
+#include <algorithm>
+#include <deque>
 
-template <>
-struct Select_Temp_Boundary_Type<signed char> {
-  typedef signed long long type;
-};
+namespace Parma_Polyhedra_Library {
 
-template <>
-struct Select_Temp_Boundary_Type<unsigned char> {
-  typedef signed long long type;
-};
+template <typename Interval>
+Grid::Grid(const Box<Interval>& box,
+           Complexity_Class)
+  : con_sys(),
+    gen_sys() {
+  if (box.space_dimension() > max_space_dimension())
+    throw_space_dimension_overflow("Grid(box, from_bounding_box)",
+				   "the space dimension of box "
+				   "exceeds the maximum allowed "
+				   "space dimension");
+
+  space_dim = box.space_dimension();
+
+  if (box.is_empty()) {
+    // Empty grid.
+    set_empty();
+    PPL_ASSERT(OK());
+    return;
+  }
+
+  if (space_dim == 0)
+    set_zero_dim_univ();
+  else {
+    // Initialize the space dimension as indicated by the box.
+    con_sys.increase_space_dimension(space_dim);
+    // Add congruences and generators according to `box'.
+    PPL_DIRTY_TEMP_COEFFICIENT(l_n);
+    PPL_DIRTY_TEMP_COEFFICIENT(l_d);
+    PPL_DIRTY_TEMP_COEFFICIENT(u_n);
+    PPL_DIRTY_TEMP_COEFFICIENT(u_d);
+    gen_sys.insert(grid_point(0*Variable(space_dim-1)));
+    Grid_Generator& point = gen_sys[0];
+    for (dimension_type k = space_dim; k-- > 0; ) {
+      bool closed = false;
+      // TODO: Consider producing the system(s) in minimized form.
+      if (box.get_lower_bound(k, closed, l_n, l_d)) {
+	if (box.get_upper_bound(k, closed, u_n, u_d))
+	  if (l_n * u_d == u_n * l_d) {
+	    // A point interval sets dimension k of every point to a
+	    // single value.
+	    con_sys.insert(l_d * Variable(k) == l_n);
+
+	    // Scale the point to use as divisor the lcm of the
+	    // divisors of the existing point and the lower bound.
+	    const Coefficient& point_divisor = point.divisor();
+	    gcd_assign(u_n, l_d, point_divisor);
+	    // `u_n' now holds the gcd.
+	    exact_div_assign(u_n, point_divisor, u_n);
+	    if (l_d < 0)
+	      neg_assign(u_n);
+	    // l_d * u_n == abs(l_d * (point_divisor / gcd(l_d, point_divisor)))
+	    point.scale_to_divisor(l_d * u_n);
+	    // Set dimension k of the point to the lower bound.
+	    if (l_d < 0)
+	      neg_assign(u_n);
+	    // point[k + 1] = l_n * point_divisor / gcd(l_d, point_divisor)
+	    point[k + 1] = l_n * u_n;
+
+	    continue;
+	  }
+      }
+      // A universe interval allows any value in dimension k.
+      gen_sys.insert(grid_line(Variable(k)));
+    }
+    set_congruences_up_to_date();
+    set_generators_up_to_date();
+    gen_sys.unset_pending_rows();
+    gen_sys.set_sorted(false);
+  }
 
-template <>
-struct Select_Temp_Boundary_Type<signed short> {
-  typedef signed long long type;
-};
+  PPL_ASSERT(OK());
+}
 
-template <>
-struct Select_Temp_Boundary_Type<unsigned short> {
-  typedef signed long long type;
-};
+template <typename Partial_Function>
+void
+Grid::map_space_dimensions(const Partial_Function& pfunc) {
+  if (space_dim == 0)
+    return;
 
-template <>
-struct Select_Temp_Boundary_Type<signed int> {
-  typedef signed long long type;
-};
+  if (pfunc.has_empty_codomain()) {
+    // All dimensions vanish: the grid becomes zero_dimensional.
+    if (marked_empty()
+	|| (!generators_are_up_to_date() && !update_generators())) {
+      // Removing all dimensions from the empty grid.
+      space_dim = 0;
+      set_empty();
+    }
+    else
+      // Removing all dimensions from a non-empty grid.
+      set_zero_dim_univ();
 
-template <>
-struct Select_Temp_Boundary_Type<unsigned int> {
-  typedef signed long long type;
-};
+    PPL_ASSERT(OK());
+    return;
+  }
 
-template <>
-struct Select_Temp_Boundary_Type<signed long> {
-  typedef signed long long type;
-};
+  dimension_type new_space_dimension = pfunc.max_in_codomain() + 1;
 
-template <>
-struct Select_Temp_Boundary_Type<unsigned long> {
-  typedef signed long long type;
-};
+  if (new_space_dimension == space_dim) {
+    // The partial function `pfunc' is indeed total and thus specifies
+    // a permutation, that is, a renaming of the dimensions.  For
+    // maximum efficiency, we will simply permute the columns of the
+    // constraint system and/or the generator system.
 
-template <>
-struct Select_Temp_Boundary_Type<unsigned long long> {
-  typedef signed long long type;
-};
+    // We first compute suitable permutation cycles for the columns of
+    // the `con_sys' and `gen_sys' matrices.  We will represent them
+    // with a linear array, using 0 as a terminator for each cycle
+    // (notice that the columns with index 0 of `con_sys' and
+    // `gen_sys' represent the inhomogeneous terms, and thus are
+    // unaffected by the permutation of dimensions).
+    // Cycles of length 1 will be omitted so that, in the worst case,
+    // we will have `space_dim' elements organized in `space_dim/2'
+    // cycles, which means we will have at most `space_dim/2'
+    // terminators.
+    std::vector<dimension_type> cycles;
+    cycles.reserve(space_dim + space_dim/2);
 
-} // namespace Parma_Polyhedra_Library
+    // Used to mark elements as soon as they are inserted in a cycle.
+    std::deque<bool> visited(space_dim);
 
-namespace std {
+    for (dimension_type i = space_dim; i-- > 0; ) {
+      if (!visited[i]) {
+	dimension_type j = i;
+	do {
+	  visited[j] = true;
+	  // The following initialization is only to make the compiler happy.
+	  dimension_type k = 0;
+	  if (!pfunc.maps(j, k))
+	    throw_invalid_argument("map_space_dimensions(pfunc)",
+				   " pfunc is inconsistent");
+	  if (k == j)
+	    // Cycle of length 1: skip it.
+	    goto skip;
 
-/*! \relates Parma_Polyhedra_Library::Interval */
-template <typename Boundary, typename Info>
-inline void
-swap(Parma_Polyhedra_Library::Interval<Boundary, Info>& x,
-     Parma_Polyhedra_Library::Interval<Boundary, Info>& y) {
-  x.swap(y);
-}
+	  cycles.push_back(j+1);
+	  // Go along the cycle.
+	  j = k;
+	} while (!visited[j]);
+	// End of cycle: mark it.
+	cycles.push_back(0);
+      skip:
+	;
+      }
+    }
 
-} // namespace std
+    // If `cycles' is empty then `pfunc' is the identity.
+    if (cycles.empty())
+      return;
 
-/* Automatically generated from PPL source file ../src/Interval.templates.hh line 1. */
-/* Interval class implementation: non-inline template functions.
-*/
+    // Permute all that is up-to-date.
+    if (congruences_are_up_to_date()) {
+      con_sys.permute_columns(cycles);
+      clear_congruences_minimized();
+    }
 
+    if (generators_are_up_to_date()) {
+      gen_sys.permute_columns(cycles);
+      clear_generators_minimized();
+    }
 
-#include <algorithm>
+    PPL_ASSERT(OK());
+    return;
+  }
 
-namespace Parma_Polyhedra_Library {
+  // If control gets here, then `pfunc' is not a permutation and some
+  // dimensions must be projected away.
 
-template <typename Boundary, typename Info>
-template <typename From, typename Iterator>
-typename Enable_If<Is_Interval<From>::value, void>::type
-Interval<Boundary, Info>::CC76_widening_assign(const From& y,
-					       Iterator first,
-					       Iterator last) {
-  // We assume that `y' is contained in or equal to `*this'.
-  assert(contains(y));
-  Interval<Boundary, Info>& x = *this;
+  const Grid_Generator_System& old_gensys = grid_generators();
 
-  // Upper bound.
-  if (!x.upper_is_unbounded()) {
-    Boundary& x_ub = x.upper();
-    const Boundary& y_ub = y.upper();
-    assert(!y.upper_is_unbounded() && y_ub <= x_ub);
-    if (y_ub < x_ub) {
-      Iterator k = std::lower_bound(first, last, x_ub);
-      if (k != last) {
-	if (x_ub < *k)
-	  x_ub = *k;
-      }
-      else
-	x.upper_set(UNBOUNDED);
-    }
+  if (old_gensys.has_no_rows()) {
+    // The grid is empty.
+    Grid new_grid(new_space_dimension, EMPTY);
+    std::swap(*this, new_grid);
+    PPL_ASSERT(OK());
+    return;
   }
 
-  // Lower bound.
-  if (!x.lower_is_unbounded()) {
-    Boundary& x_lb = x.lower();
-    const Boundary& y_lb = y.lower();
-    assert(!y.lower_is_unbounded() && y_lb >= x_lb);
-    if (y_lb > x_lb) {
-      Iterator k = std::lower_bound(first, last, x_lb);
-      if (k != last) {
-	if (x_lb < *k) {
-	  if (k != first)
-	    x_lb = *--k;
-	  else
-	    x.lower_set(UNBOUNDED);
-	}
+  // Make a local copy of the partial function.
+  std::vector<dimension_type> pfunc_maps(space_dim, not_a_dimension());
+  for (dimension_type j = space_dim; j-- > 0; ) {
+    dimension_type pfunc_j;
+    if (pfunc.maps(j, pfunc_j))
+      pfunc_maps[j] = pfunc_j;
+  }
+
+  Grid_Generator_System new_gensys;
+  // Set sortedness, for the assertion met via gs::insert.
+  new_gensys.set_sorted(false);
+  // Get the divisor of the first point.
+  Grid_Generator_System::const_iterator i;
+  Grid_Generator_System::const_iterator old_gensys_end = old_gensys.end();
+  for (i = old_gensys.begin(); i != old_gensys_end; ++i)
+    if (i->is_point())
+      break;
+  PPL_ASSERT(i != old_gensys_end);
+  const Coefficient& system_divisor = i->divisor();
+  for (i = old_gensys.begin(); i != old_gensys_end; ++i) {
+    const Grid_Generator& old_g = *i;
+    Linear_Expression e(0 * Variable(new_space_dimension-1));
+    bool all_zeroes = true;
+    for (dimension_type j = space_dim; j-- > 0; ) {
+      if (old_g.coefficient(Variable(j)) != 0
+	  && pfunc_maps[j] != not_a_dimension()) {
+	e += Variable(pfunc_maps[j]) * old_g.coefficient(Variable(j));
+	all_zeroes = false;
       }
-      else
-	x_lb = *--k;
+    }
+    switch (old_g.type()) {
+    case Grid_Generator::LINE:
+      if (!all_zeroes)
+	new_gensys.insert(grid_line(e));
+      break;
+    case Grid_Generator::PARAMETER:
+      if (!all_zeroes)
+	new_gensys.insert(parameter(e, system_divisor));
+      break;
+    case Grid_Generator::POINT:
+      new_gensys.insert(grid_point(e, old_g.divisor()));
+      break;
+    case Grid_Generator::CLOSURE_POINT:
+    default:
+      PPL_ASSERT(0);
     }
   }
+
+  Grid new_grid(new_gensys);
+  std::swap(*this, new_grid);
+
+  PPL_ASSERT(OK(true));
 }
 
-template <typename Boundary, typename Info>
-inline std::istream&
-operator>>(std::istream& is, Interval<Boundary, Info>& x) {
-  // Eat leading white space.
-  int c;
-  do {
-    c = is.get();
-  } while (isspace(c));
+// Needed for converting the congruence or grid_generator system
+// to "strong minimal form".
+template <typename M, typename R>
+void
+Grid::reduce_reduced(M& sys,
+		     const dimension_type dim,
+		     const dimension_type pivot_index,
+		     const dimension_type start,
+		     const dimension_type end,
+		     const Dimension_Kinds& dim_kinds,
+		     const bool generators) {
+  R& pivot = sys[pivot_index];
 
-  // Get the opening parenthesis and handle the empty interval case.
-  bool lower_open = false;
-  if (c == '(')
-    lower_open = true;
-  else if (c == '[') {
-    c = is.get();
-    if (c == ']') {
-      // Empty interval.
-      x.assign(EMPTY);
-      return is;
-    }
-    else
-      is.unget();
+  const Coefficient& pivot_dim = pivot[dim];
+
+  if (pivot_dim == 0)
+    return;
+
+  PPL_DIRTY_TEMP_COEFFICIENT(pivot_dim_half);
+  pivot_dim_half = (pivot_dim + 1) / 2;
+  Dimension_Kind row_kind = dim_kinds[dim];
+  Dimension_Kind line_or_equality, virtual_kind;
+  int jump;
+  if (generators) {
+    line_or_equality = LINE;
+    virtual_kind = GEN_VIRTUAL;
+    jump = -1;
   }
   else {
-    is.unget();
-    is.setstate(std::ios_base::failbit);
-    return is;
-  }
-
-  // Get the lower bound.
-  Boundary lower_bound;
-  Result lower_r  = input(lower_bound, is, ROUND_DOWN);
-  if (lower_r == V_CVT_STR_UNK || lower_r == VC_NAN) {
-    is.setstate(std::ios_base::failbit);
-    return is;
+    line_or_equality = EQUALITY;
+    virtual_kind = CON_VIRTUAL;
+    jump = 1;
   }
 
-  // Match the comma separating the lower and upper bounds.
-  do {
-    c = is.get();
-  } while (isspace(c));
-  if (c != ',') {
-    is.unget();
-    is.setstate(std::ios_base::failbit);
-    return is;
-  }
+  PPL_DIRTY_TEMP_COEFFICIENT(num_rows_to_subtract);
+  PPL_DIRTY_TEMP_COEFFICIENT(row_dim_remainder);
+  for (dimension_type row_index = pivot_index, kinds_index = dim + jump;
+       row_index-- > 0;
+       kinds_index += jump) {
+    // Move over any virtual rows.
+    while (dim_kinds[kinds_index] == virtual_kind)
+      kinds_index += jump;
 
-  // Get the upper bound.
-  Boundary upper_bound;
-  Result upper_r = input(upper_bound, is, ROUND_UP);
-  if (upper_r == V_CVT_STR_UNK || upper_r == VC_NAN) {
-    is.setstate(std::ios_base::failbit);
-    return is;
-  }
+    // row_kind CONGRUENCE is included as PARAMETER
+    if (row_kind == line_or_equality
+	|| (row_kind == PARAMETER
+	    && dim_kinds[kinds_index] == PARAMETER)) {
+      R& row = sys[row_index];
 
-  // Get the closing parenthesis.
-  do {
-    c = is.get();
-  } while (isspace(c));
-  bool upper_open = false;
-  if (c == ')')
-    upper_open = true;
-  else if (c != ']') {
-    is.unget();
-    is.setstate(std::ios_base::failbit);
-    return is;
-  }
+      const Coefficient& row_dim = row[dim];
+      // num_rows_to_subtract may be positive or negative.
+      num_rows_to_subtract = row_dim / pivot_dim;
 
-  // Buld interval.
-  bool lower_unbounded = false;
-  bool upper_unbounded = false;
-  switch (lower_r) {
-  case V_EQ:
-    break;
-  case V_LE:
-    lower_open = true;
-    break;
-  case VC_MINUS_INFINITY:
-  case V_NEG_OVERFLOW:
-    lower_unbounded = true;
-    break;
-  case VC_PLUS_INFINITY:
-  case V_POS_OVERFLOW:
-    if (upper_r == VC_PLUS_INFINITY || upper_r == V_POS_OVERFLOW)
-      x.assign(UNIVERSE);
-    else
-      x.assign(EMPTY);
-    return is;
-  default:
-    assert(false);
-  }
-  switch (upper_r) {
-  case V_EQ:
-    break;
-  case V_GE:
-    upper_open = true;
-    break;
-  case VC_MINUS_INFINITY:
-  case V_NEG_OVERFLOW:
-    if (lower_r == VC_MINUS_INFINITY || lower_r == V_NEG_OVERFLOW)
-      x.assign(UNIVERSE);
-    else
-      x.assign(EMPTY);
-    return is;
-  case VC_PLUS_INFINITY:
-  case V_POS_OVERFLOW:
-    upper_unbounded = true;
-    break;
-  default:
-    assert(false);
-  }
+      // Ensure that after subtracting num_rows_to_subtract * r_dim
+      // from row_dim, -pivot_dim_half < row_dim <= pivot_dim_half.
+      // E.g., if pivot[dim] = 9, then after this reduction
+      // -5 < row_dim <= 5.
+      row_dim_remainder = row_dim % pivot_dim;
+      if (row_dim_remainder < 0) {
+	if (row_dim_remainder <= -pivot_dim_half)
+	  --num_rows_to_subtract;
+      }
+      else if (row_dim_remainder > 0 && row_dim_remainder > pivot_dim_half)
+	++num_rows_to_subtract;
 
-  if (!lower_unbounded
-      && !upper_unbounded
-      && (lower_bound > upper_bound
-	  || (lower_open && lower_bound == upper_bound)))
-    x.assign(EMPTY);
-  else {
-    x.assign(UNIVERSE);
-    if (!lower_unbounded)
-      x.refine_existential((lower_open ? GREATER_THAN : GREATER_OR_EQUAL),
-			   lower_bound);
-    if (!upper_unbounded)
-      x.refine_existential((upper_open ? LESS_THAN : LESS_OR_EQUAL),
-			   upper_bound);
+      // Subtract num_rows_to_subtract copies of pivot from row i.  Only the
+      // entries from dim need to be subtracted, as the preceding
+      // entries are all zero.
+      // If num_rows_to_subtract is negative, these copies of pivot are
+      // added to row i.
+      if (num_rows_to_subtract != 0)
+	for (dimension_type col = start; col <= end; ++col)
+	  sub_mul_assign(row[col], num_rows_to_subtract, pivot[col]);
+    }
   }
-  return is;
 }
 
-template <typename Boundary, typename Info>
-template <typename From>
-typename Enable_If<Is_Interval<From>::value, bool>::type
-Interval<Boundary, Info>::simplify_using_context_assign(const From& y) {
-  // FIXME: the following code wrongly assumes that intervals are closed
-  // and have no restrictions. It must be generalized.
-  if (lt(UPPER, upper(), info(), LOWER, f_lower(y), f_info(y))) {
-    lower_set(UNBOUNDED);
-    return false;
-  }
-  if (gt(LOWER, lower(), info(), UPPER, f_upper(y), f_info(y))) {
-    upper_set(UNBOUNDED);
-    return false;
-  }
-  // Weakening the upper bound.
-  if (!upper_is_unbounded() && !y.upper_is_unbounded()
-      && y.upper() <= upper())
-    upper_set(UNBOUNDED);
-  // Weakening the lower bound.
-  if (!lower_is_unbounded() && !y.lower_is_unbounded()
-      && y.lower() >= lower())
-    lower_set(UNBOUNDED);
-  return true;
-}
+} // namespace Parma_Polyhedra_Library
 
-template <typename Boundary, typename Info>
-template <typename From>
-typename Enable_If<Is_Interval<From>::value, void>::type
-Interval<Boundary, Info>::empty_intersection_assign(const From&) {
-  // FIXME: write me.
-  assign(EMPTY);
-}
+/* Automatically generated from PPL source file ../src/Grid.defs.hh line 2638. */
 
-} // namespace Parma_Polyhedra_Library
+/* Automatically generated from PPL source file ../src/Rational_Box.hh line 1. */
+/* Rational_Box class declaration and implementation.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Rational_Interval.hh line 1. */
+/* Rational_Interval class declaration and implementation.
+*/
 
-/* Automatically generated from PPL source file ../src/Interval.defs.hh line 982. */
 
 /* Automatically generated from PPL source file ../src/Rational_Interval.hh line 27. */
 #include <gmpxx.h>
@@ -38677,7 +42108,6 @@ struct Rational_Interval_Info_Policy {
   const_int_nodef(next_bit, 0);
   const_bool_nodef(may_be_empty, true);
   const_bool_nodef(may_contain_infinity, false);
-  const_bool_nodef(check_empty_result, false);
   const_bool_nodef(check_inexact, false);
 };
 
@@ -38710,6 +42140,12 @@ template <typename D1, typename D2>
 class Constraints_Reduction;
 
 template <typename D1, typename D2>
+class Congruences_Reduction;
+
+template <typename D1, typename D2>
+class Shape_Preserving_Reduction;
+
+template <typename D1, typename D2>
 class No_Reduction;
 
 template <typename D1, typename D2, typename R>
@@ -38717,12 +42153,14 @@ class Partially_Reduced_Product;
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Box.defs.hh line 46. */
+/* Automatically generated from PPL source file ../src/Box.defs.hh line 47. */
 #include <vector>
 #include <iosfwd>
 
 namespace Parma_Polyhedra_Library {
 
+struct Interval_Base;
+
 //! Returns <CODE>true</CODE> if and only if \p x and \p y are the same box.
 /*! \relates Box
   Note that \p x and \p y may be dimension-incompatible boxes:
@@ -38992,7 +42430,7 @@ public:
   explicit Box(dimension_type num_dimensions = 0,
 	       Degenerate_Element kind = UNIVERSE);
 
-  //! Ordinary copy-constructor.
+  //! Ordinary copy constructor.
   /*!
     The complexity argument is ignored.
   */
@@ -39353,12 +42791,44 @@ public:
 		Generator& g) const;
 
   /*! \brief
+    Returns <CODE>true</CODE> if and only if there exist a
+    unique value \p val such that \p *this
+    saturates the equality <CODE>expr = val</CODE>.
+
+    \param expr
+    The linear expression for which the frequency is needed;
+
+    \param freq_n
+    If <CODE>true</CODE> is returned, the value is set to \f$0\f$;
+    Present for interface compatibility with class Grid, where
+    the \ref Grid_Frequency "frequency" can have a non-zero value;
+
+    \param freq_d
+    If <CODE>true</CODE> is returned, the value is set to \f$1\f$;
+
+    \param val_n
+    The numerator of \p val;
+
+    \param val_d
+    The denominator of \p val;
+
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+
+    If <CODE>false</CODE> is returned, then \p freq_n, \p freq_d,
+    \p val_n and \p val_d are left untouched.
+  */
+  bool frequency(const Linear_Expression& expr,
+                 Coefficient& freq_n, Coefficient& freq_d,
+                 Coefficient& val_n, Coefficient& val_d) const;
+
+  /*! \brief
     Returns <CODE>true</CODE> if and only if \p *this contains \p y.
 
     \exception std::invalid_argument
     Thrown if \p x and \p y are dimension-incompatible.
   */
-  bool contains(const Box&) const;
+  bool contains(const Box& y) const;
 
   /*! \brief
     Returns <CODE>true</CODE> if and only if \p *this strictly contains \p y.
@@ -39366,7 +42836,7 @@ public:
     \exception std::invalid_argument
     Thrown if \p x and \p y are dimension-incompatible.
   */
-  bool strictly_contains(const Box&) const;
+  bool strictly_contains(const Box& y) const;
 
   /*! \brief
     Returns <CODE>true</CODE> if and only if \p *this and \p y are disjoint.
@@ -39490,10 +42960,20 @@ public:
     Use the constraints in \p cs to refine \p *this.
 
     \param  cs
-     The constraints to be used for refinement.
+    The constraints to be used for refinement.
+    To avoid termination problems, each constraint in \p cs
+    will be used for a single refinement step.
 
-     \exception std::invalid_argument
-     Thrown if \p *this and \p cs are dimension-incompatible.
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are dimension-incompatible.
+
+    \note
+    The user is warned that the accuracy of this refinement operator
+    depends on the order of evaluation of the constraints in \p cs,
+    which is in general unpredictable. If a fine control on such an
+    order is needed, the user should consider calling the method
+    <code>refine_with_constraint(const Constraint& c)</code> inside
+    an appropriate looping construct.
   */
   void refine_with_constraints(const Constraint_System& cs);
 
@@ -39533,13 +43013,22 @@ public:
   /*! \brief
     Use the constraints in \p cs for constraint propagagion on \p *this.
 
-    \param  cs
-     The constraints to be used for constraint propagation.
+    \param cs
+    The constraints to be used for constraint propagation.
 
-     \exception std::invalid_argument
-     Thrown if \p *this and \p cs are dimension-incompatible.
+    \param max_iterations
+    The maximum number of propagation steps for each constraint in \p cs.
+    If zero (the default), the number of propagations will be unbounded,
+    possibly resulting in an infinite loop.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are dimension-incompatible.
+
+    \warning
+    This method may lead to non-termination if \p max_iterations is 0.
   */
-  void propagate_constraints(const Constraint_System& cs);
+  void propagate_constraints(const Constraint_System& cs,
+                             dimension_type max_iterations = 0);
 
   /*! \brief
     Computes the \ref Cylindrification "cylindrification" of \p *this with
@@ -39555,17 +43044,17 @@ public:
 
   /*! \brief
     Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to the set of space dimensions \p to_be_unconstrained,
+    respect to the set of space dimensions \p vars,
     assigning the result to \p *this.
 
-    \param to_be_unconstrained
+    \param vars
     The set of space dimension that will be unconstrained.
 
     \exception std::invalid_argument
     Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p to_be_removed.
+    Variable objects contained in \p vars.
   */
-  void unconstrain(const Variables_Set& to_be_unconstrained);
+  void unconstrain(const Variables_Set& vars);
 
   //! Assigns to \p *this the intersection of \p *this and \p y.
   /*!
@@ -39842,6 +43331,87 @@ public:
   void topological_closure_assign();
 
   /*! \brief
+    \ref Wrapping_Operator "Wraps" the specified dimensions of the
+    vector space.
+
+    \param vars
+    The set of Variable objects corresponding to the space dimensions
+    to be wrapped.
+
+    \param w
+    The width of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param r
+    The representation of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param o
+    The overflow behavior of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param pcs
+    Possibly null pointer to a constraint system.  When non-null,
+    the pointed-to constraint system is assumed to represent the
+    conditional or looping construct guard with respect to which
+    wrapping is performed.  Since wrapping requires the computation
+    of upper bounds and due to non-distributivity of constraint
+    refinement over upper bounds, passing a constraint system in this
+    way can be more precise than refining the result of the wrapping
+    operation with the constraints in <CODE>*pcs</CODE>.
+
+    \param complexity_threshold
+    A precision parameter which is ignored for the Box domain.
+
+    \param wrap_individually
+    A precision parameter which is ignored for the Box domain.
+
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with one of the
+    Variable objects contained in \p vars or with <CODE>*pcs</CODE>.
+  */
+  void wrap_assign(const Variables_Set& vars,
+                   Bounded_Integer_Type_Width w,
+                   Bounded_Integer_Type_Representation r,
+                   Bounded_Integer_Type_Overflow o,
+                   const Constraint_System* pcs = 0,
+                   unsigned complexity_threshold = 16,
+                   bool wrap_individually = true);
+
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates.
+
+    \param complexity
+    The maximal complexity of any algorithms used.
+
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+   void drop_some_non_integer_points(Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
+
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates for the space dimensions corresponding to \p vars.
+
+    \param vars
+    Points with non-integer coordinates for these variables/space-dimensions
+    can be discarded.
+
+    \param complexity
+    The maximal complexity of any algorithms used.
+
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+  void drop_some_non_integer_points(const Variables_Set& vars,
+                                    Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
+
+  /*! \brief
     Assigns to \p *this the result of computing the
     \ref CC76_extrapolation "CC76-widening" between \p *this and \p y.
 
@@ -39856,7 +43426,11 @@ public:
     \exception std::invalid_argument
     Thrown if \p *this and \p y are dimension-incompatible.
   */
-  void CC76_widening_assign(const Box& y, unsigned* tp = 0);
+  template <typename T>
+  typename Enable_If<Is_Same<T, Box>::value
+                     && Is_Same_Or_Derived<Interval_Base, ITV>::value,
+                     void>::type
+  CC76_widening_assign(const T& y, unsigned* tp = 0);
 
   /*! \brief
     Assigns to \p *this the result of computing the
@@ -39874,9 +43448,12 @@ public:
     \exception std::invalid_argument
     Thrown if \p *this and \p y are dimension-incompatible.
   */
-  template <typename Iterator>
-  void CC76_widening_assign(const Box& y,
-			    Iterator first, Iterator last);
+  template <typename T, typename Iterator>
+  typename Enable_If<Is_Same<T, Box>::value
+                     && Is_Same_Or_Derived<Interval_Base, ITV>::value,
+                     void>::type
+  CC76_widening_assign(const T& y,
+		       Iterator first, Iterator last);
 
   //! Same as CC76_widening_assign(y, tp).
   void widening_assign(const Box& y, unsigned* tp = 0);
@@ -39924,7 +43501,11 @@ public:
     <CODE>x.CC76_narrowing_assign(y)</CODE> will assign to \p x
     the result of the computation \f$\mathtt{y} \Delta \mathtt{x}\f$.
   */
-  void CC76_narrowing_assign(const Box& y);
+  template <typename T>
+  typename Enable_If<Is_Same<T, Box>::value
+                     && Is_Same_Or_Derived<Interval_Base, ITV>::value,
+                     void>::type
+  CC76_narrowing_assign(const T& y);
 
   //@} Space-Dimension Preserving Member Functions that May Modify [...]
 
@@ -40001,14 +43582,14 @@ public:
 
   //! Removes all the specified dimensions.
   /*!
-    \param to_be_removed
+    \param vars
     The set of Variable objects corresponding to the dimensions to be removed.
 
     \exception std::invalid_argument
     Thrown if \p *this is dimension-incompatible with one of the Variable
-    objects contained in \p to_be_removed.
+    objects contained in \p vars.
   */
-  void remove_space_dimensions(const Variables_Set& to_be_removed);
+  void remove_space_dimensions(const Variables_Set& vars);
 
   /*! \brief
     Removes the higher dimensions so that the resulting space
@@ -40027,8 +43608,8 @@ public:
     \param pfunc
     The partial function specifying the destiny of each dimension.
 
-    The template class Partial_Function must provide the following
-    methods.
+    The template type parameter Partial_Function must provide
+    the following methods.
     \code
       bool has_empty_codomain() const
     \endcode
@@ -40083,30 +43664,30 @@ public:
   */
   void expand_space_dimension(Variable var, dimension_type m);
 
-  //! Folds the space dimensions in \p to_be_folded into \p var.
+  //! Folds the space dimensions in \p vars into \p dest.
   /*!
-    \param to_be_folded
+    \param vars
     The set of Variable objects corresponding to the space dimensions
     to be folded;
 
-    \param var
+    \param dest
     The variable corresponding to the space dimension that is the
     destination of the folding operation.
 
     \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p var or with
-    one of the Variable objects contained in \p to_be_folded.
-    Also thrown if \p var is contained in \p to_be_folded.
+    Thrown if \p *this is dimension-incompatible with \p dest or with
+    one of the Variable objects contained in \p vars.
+    Also thrown if \p dest is contained in \p vars.
 
     If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    <CODE>var</CODE> has space dimension \f$k \leq n\f$,
-    \p to_be_folded is a set of variables whose maximum space dimension
-    is also less than or equal to \f$n\f$, and \p var is not a member
-    of \p to_be_folded, then the space dimensions corresponding to
-    variables in \p to_be_folded are \ref fold_space_dimensions "folded"
+    <CODE>dest</CODE> has space dimension \f$k \leq n\f$,
+    \p vars is a set of variables whose maximum space dimension
+    is also less than or equal to \f$n\f$, and \p dest is not a member
+    of \p vars, then the space dimensions corresponding to
+    variables in \p vars are \ref fold_space_dimensions "folded"
     into the \f$k\f$-th space dimension.
   */
-  void fold_space_dimensions(const Variables_Set& to_be_folded, Variable var);
+  void fold_space_dimensions(const Variables_Set& vars, Variable dest);
 
   //@} // Member Functions that May Modify the Dimension of the Vector Space
 
@@ -40258,10 +43839,10 @@ public:
   //! By default Status is the empty set of assertion.
   Status();
 
-  //! Ordinary copy-constructor.
+  //! Ordinary copy constructor.
   Status(const Status& y);
 
-  //! Copy-constructor from a box of different type.
+  //! Copy constructor from a box of different type.
   template <typename Other_ITV>
   Status(const typename Box<Other_ITV>::Status& y);
 
@@ -40323,7 +43904,7 @@ private:
   void reset(flags_t mask);
 };
 
-/* Automatically generated from PPL source file ../src/Box.defs.hh line 1559. */
+/* Automatically generated from PPL source file ../src/Box.defs.hh line 1705. */
 #undef PPL_IN_Box_CLASS
 
   //! The status flags to keep track of the internal state.
@@ -40366,6 +43947,15 @@ private:
   /*! \brief
     WRITE ME.
   */
+  static I_Result
+  refine_interval_no_check(ITV& itv,
+                           Constraint::Type type,
+                           Coefficient_traits::const_reference num,
+                           Coefficient_traits::const_reference den);
+
+  /*! \brief
+    WRITE ME.
+  */
   void
   add_interval_constraint_no_check(dimension_type var_id,
                                    Constraint::Type type,
@@ -40396,8 +43986,7 @@ private:
     Uses the constraint \p c to refine \p *this.
 
     \param c
-    The constraint to be added.
-    Non-interval constraints are ignored.
+    The constraint to be used for the refinement.
 
     \warning
     If \p c and \p *this are dimension-incompatible,
@@ -40409,8 +43998,9 @@ private:
     Uses the constraints in \p cs to refine \p *this.
 
     \param cs
-    The constraints to be added.
-    Non-interval constraints are ignored.
+    The constraints to be used for the refinement.
+    To avoid termination problems, each constraint in \p cs
+    will be used for a single refinement step.
 
     \warning
     If \p cs and \p *this are dimension-incompatible,
@@ -40612,14 +44202,20 @@ private:
     \param  cs
     The constraints to be propagated.
 
+    \param max_iterations
+    The maximum number of propagation steps for each constraint in \p cs.
+    If zero, the number of propagations will be unbounded, possibly
+    resulting in an infinite loop.
+
     \warning
     If \p cs and \p *this are dimension-incompatible,
     the behavior is undefined.
 
     \warning
-    This method may lead to non-termination.
+    This method may lead to non-termination if \p max_iterations is 0.
   */
-  void propagate_constraints_no_check(const Constraint_System& cs);
+  void propagate_constraints_no_check(const Constraint_System& cs,
+                                      dimension_type max_iterations);
 
   //! Checks if and how \p expr is bounded in \p *this.
   /*!
@@ -41020,7 +44616,7 @@ Box<ITV>::Status::ascii_load(std::istream& s) {
     reset_universe();
 
   // Check invariants.
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
@@ -41136,7 +44732,7 @@ Box<ITV>::max_space_dimension() {
 template <typename ITV>
 inline const ITV&
 Box<ITV>::operator[](const dimension_type k) const {
-  assert(k < seq.size());
+  PPL_ASSERT(k < seq.size());
   return seq[k];
 }
 
@@ -41169,7 +44765,7 @@ Box<ITV>::set_interval(const Variable var, const ITV& i) {
   seq[var.id()] = i;
   reset_empty_up_to_date();
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -41248,7 +44844,7 @@ Box<ITV>::expand_space_dimension(const Variable var,
   // To expand the space dimension corresponding to variable `var',
   // we append to the box `m' copies of the corresponding interval.
   seq.insert(seq.end(), m, seq[var.id()]);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -41261,10 +44857,10 @@ template <typename ITV>
 inline bool
 Box<ITV>::get_lower_bound(const dimension_type k, bool& closed,
                           Coefficient& n, Coefficient& d) const {
-  assert(k < seq.size());
+  PPL_ASSERT(k < seq.size());
   const ITV& seq_k = seq[k];
 
-  if (seq_k.lower_is_unbounded())
+  if (seq_k.lower_is_boundary_infinity())
     return false;
 
   closed = !seq_k.lower_is_open();
@@ -41281,10 +44877,10 @@ template <typename ITV>
 inline bool
 Box<ITV>::get_upper_bound(const dimension_type k, bool& closed,
                           Coefficient& n, Coefficient& d) const {
-  assert(k < seq.size());
+  PPL_ASSERT(k < seq.size());
   const ITV& seq_k = seq[k];
 
-  if (seq_k.upper_is_unbounded())
+  if (seq_k.upper_is_boundary_infinity())
     return false;
 
   closed = !seq_k.upper_is_open();
@@ -41375,21 +44971,17 @@ Box<ITV>::minimized_congruences() const {
 }
 
 template <typename ITV>
-inline void
-Box<ITV>
-::add_interval_constraint_no_check(const dimension_type var_id,
+inline I_Result
+Box<ITV>::refine_interval_no_check(ITV& itv,
                                    const Constraint::Type type,
                                    Coefficient_traits::const_reference num,
                                    Coefficient_traits::const_reference den) {
-  assert(!marked_empty());
-  assert(var_id < space_dimension());
-  assert(den != 0);
-
+  PPL_ASSERT(den != 0);
   // The interval constraint is of the form
-  // `Variable(var_id) + num / den rel 0', where
-  // `rel' is either the relation `==', `>=', or `>'.
+  // `var + num / den rel 0',
+  // where `rel' is either the relation `==', `>=', or `>'.
   // For the purpose of refining the interval, this is
-  // (morally) turned into `Variable(var_id) rel -num/den'.
+  // (morally) turned into `var rel -num/den'.
   PPL_DIRTY_TEMP0(mpq_class, q);
   assign_r(q.get_num(), num, ROUND_NOT_NEEDED);
   assign_r(q.get_den(), den, ROUND_NOT_NEEDED);
@@ -41397,24 +44989,46 @@ Box<ITV>
   // Turn `num/den' into `-num/den'.
   q = -q;
 
-  ITV& seq_v = seq[var_id];
+  I_Result res;
   switch (type) {
   case Constraint::EQUALITY:
-    seq_v.refine_existential(EQUAL, q);
+    res = itv.add_constraint(i_constraint(EQUAL, q));
     break;
   case Constraint::NONSTRICT_INEQUALITY:
-    seq_v.refine_existential((den > 0) ? GREATER_OR_EQUAL : LESS_OR_EQUAL, q);
-    assert(seq_v.OK());
+    res = itv.add_constraint(i_constraint(den > 0
+                                          ? GREATER_OR_EQUAL
+                                          : LESS_OR_EQUAL, q));
     break;
   case Constraint::STRICT_INEQUALITY:
-    seq_v.refine_existential((den > 0) ? GREATER_THAN : LESS_THAN, q);
+    res = itv.add_constraint(i_constraint(den > 0
+                                          ? GREATER_THAN
+                                          : LESS_THAN, q));
     break;
+  default:
+    // Silence an annoying GCC warning (should never reach this point).
+    PPL_ASSERT(false);
+    res = I_ANY;
   }
-  // FIXME: do check the value returned by `refine_existential' and
-  // set `empty' and `empty_up_to_date' as appropriate.
+  PPL_ASSERT(itv.OK());
+  return res;
+}
+
+template <typename ITV>
+inline void
+Box<ITV>
+::add_interval_constraint_no_check(const dimension_type var_id,
+                                   const Constraint::Type type,
+                                   Coefficient_traits::const_reference num,
+                                   Coefficient_traits::const_reference den) {
+  PPL_ASSERT(!marked_empty());
+  PPL_ASSERT(var_id < space_dimension());
+  PPL_ASSERT(den != 0);
+  refine_interval_no_check(seq[var_id], type, num, den);
+  // FIXME: do check the value returned and set `empty' and
+  // `empty_up_to_date' as appropriate.
   // This has to be done after reimplementation of intervals.
   reset_empty_up_to_date();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -41492,7 +45106,8 @@ Box<ITV>::propagate_constraint(const Constraint& c) {
 
 template <typename ITV>
 inline void
-Box<ITV>::propagate_constraints(const Constraint_System& cs) {
+Box<ITV>::propagate_constraints(const Constraint_System& cs,
+                                const dimension_type max_iterations) {
   // Dimension-compatibility check.
   if (cs.space_dimension() > space_dimension())
     throw_dimension_incompatible("propagate_constraints(cs)", cs);
@@ -41501,7 +45116,7 @@ Box<ITV>::propagate_constraints(const Constraint_System& cs) {
   if (marked_empty())
     return;
 
-  propagate_constraints_no_check(cs);
+  propagate_constraints_no_check(cs, max_iterations);
 }
 
 template <typename ITV>
@@ -41522,7 +45137,7 @@ Box<ITV>::unconstrain(const Variable var) {
     set_empty();
   else
     seq_var.assign(UNIVERSE);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 /*! \relates Box */
@@ -41771,7 +45386,7 @@ public:
   explicit Ptr_Iterator(const P& q);
 
   /*! \brief
-    Copy-constructor allowing the construction of a const_iterator
+    Copy constructor allowing the construction of a const_iterator
     from a non-const iterator.
   */
   template<typename Q>
@@ -41861,7 +45476,7 @@ private:
 
 
 #include <algorithm>
-#include <cassert>
+/* Automatically generated from PPL source file ../src/Ptr_Iterator.inlines.hh line 28. */
 
 namespace Parma_Polyhedra_Library {
 
@@ -42472,8 +46087,7 @@ void iter_swap(typename std::vector<Parma_Polyhedra_Library::DB_Row<T> >
 */
 
 
-/* Automatically generated from PPL source file ../src/DB_Row.inlines.hh line 27. */
-#include <cassert>
+/* Automatically generated from PPL source file ../src/DB_Row.inlines.hh line 28. */
 #include <cstddef>
 #include <limits>
 #include <algorithm>
@@ -42488,7 +46102,7 @@ DB_Row_Impl_Handler<T>::Impl::operator new(const size_t fixed_size,
 #if PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
   return ::operator new(fixed_size + capacity*sizeof(T));
 #else
-  assert(capacity >= 1);
+  PPL_ASSERT(capacity >= 1);
   return ::operator new(fixed_size + (capacity-1)*sizeof(T));
 #endif
 }
@@ -42580,14 +46194,14 @@ DB_Row_Impl_Handler<T>::~DB_Row_Impl_Handler() {
 template <typename T>
 inline T&
 DB_Row_Impl_Handler<T>::Impl::operator[](const dimension_type k) {
-  assert(k < size());
+  PPL_ASSERT(k < size());
   return vec_[k];
 }
 
 template <typename T>
 inline const T&
 DB_Row_Impl_Handler<T>::Impl::operator[](const dimension_type k) const {
-  assert(k < size());
+  PPL_ASSERT(k < size());
   return vec_[k];
 }
 
@@ -42625,15 +46239,15 @@ DB_Row<T>::allocate(
 #endif
 	       dimension_type capacity) {
   DB_Row<T>& x = *this;
-  assert(capacity <= max_size());
+  PPL_ASSERT(capacity <= max_size());
 #if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
   if (capacity == 0)
     ++capacity;
 #endif
-  assert(x.impl == 0);
+  PPL_ASSERT(x.impl == 0);
   x.impl = new (capacity) typename DB_Row_Impl_Handler<T>::Impl();
 #if PPL_DB_ROW_EXTRA_DEBUG
-  assert(x.capacity_ == 0);
+  PPL_ASSERT(x.capacity_ == 0);
   x.capacity_ = capacity;
 #endif
 }
@@ -42642,9 +46256,9 @@ template <typename T>
 inline void
 DB_Row<T>::expand_within_capacity(const dimension_type new_size) {
   DB_Row<T>& x = *this;
-  assert(x.impl);
+  PPL_ASSERT(x.impl);
 #if PPL_DB_ROW_EXTRA_DEBUG
-  assert(new_size <= x.capacity_);
+  PPL_ASSERT(new_size <= x.capacity_);
 #endif
   x.impl->expand_within_capacity(new_size);
 }
@@ -42653,9 +46267,9 @@ template <typename T>
 inline void
 DB_Row<T>::copy_construct_coefficients(const DB_Row& y) {
   DB_Row<T>& x = *this;
-  assert(x.impl && y.impl);
+  PPL_ASSERT(x.impl && y.impl);
 #if PPL_DB_ROW_EXTRA_DEBUG
-  assert(y.size() <= x.capacity_);
+  PPL_ASSERT(y.size() <= x.capacity_);
 #endif
   x.impl->copy_construct_coefficients(*(y.impl));
 }
@@ -42666,9 +46280,9 @@ inline void
 DB_Row<T>::construct_upward_approximation(const DB_Row<U>& y,
 					  const dimension_type capacity) {
   DB_Row<T>& x = *this;
-  assert(y.size() <= capacity && capacity <= max_size());
+  PPL_ASSERT(y.size() <= capacity && capacity <= max_size());
   allocate(capacity);
-  assert(y.impl);
+  PPL_ASSERT(y.impl);
   x.impl->construct_upward_approximation(*(y.impl));
 }
 
@@ -42676,7 +46290,7 @@ template <typename T>
 inline void
 DB_Row<T>::construct(const dimension_type sz,
 		     const dimension_type capacity) {
-  assert(sz <= capacity && capacity <= max_size());
+  PPL_ASSERT(sz <= capacity && capacity <= max_size());
   allocate(capacity);
   expand_within_capacity(sz);
 }
@@ -42716,8 +46330,8 @@ inline
 DB_Row<T>::DB_Row(const DB_Row& y,
 		  const	dimension_type capacity)
   : DB_Row_Impl_Handler<T>() {
-  assert(y.impl);
-  assert(y.size() <= capacity && capacity <= max_size());
+  PPL_ASSERT(y.impl);
+  PPL_ASSERT(y.size() <= capacity && capacity <= max_size());
   allocate(capacity);
   copy_construct_coefficients(y);
 }
@@ -42728,8 +46342,8 @@ DB_Row<T>::DB_Row(const DB_Row& y,
 		  const dimension_type sz,
 		  const	dimension_type capacity)
   : DB_Row_Impl_Handler<T>() {
-  assert(y.impl);
-  assert(y.size() <= sz && sz <= capacity && capacity <= max_size());
+  PPL_ASSERT(y.impl);
+  PPL_ASSERT(y.size() <= sz && sz <= capacity && capacity <= max_size());
   allocate(capacity);
   copy_construct_coefficients(y);
   expand_within_capacity(sz);
@@ -42744,7 +46358,7 @@ template <typename T>
 inline void
 DB_Row<T>::shrink(const dimension_type new_size) {
   DB_Row<T>& x = *this;
-  assert(x.impl);
+  PPL_ASSERT(x.impl);
   x.impl->shrink(new_size);
 }
 
@@ -42904,9 +46518,8 @@ DB_Row_Impl_Handler<T>::Impl::construct_upward_approximation(const U& y) {
     bump_size();
   }
 #else // PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-  assert(y_size > 0);
   if (y_size > 0) {
-    vec_[0] = y[0];
+    assign_r(vec_[0], y[0], ROUND_UP);
     bump_size();
     // Construct in direct order: will destroy in reverse order.
     for (dimension_type i = 1; i < y_size; ++i) {
@@ -42921,11 +46534,13 @@ template <typename T>
 void
 DB_Row_Impl_Handler<T>::
 Impl::expand_within_capacity(const dimension_type new_size) {
-  assert(size() <= new_size && new_size <= max_size());
+  PPL_ASSERT(size() <= new_size && new_size <= max_size());
 #if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-  // vec_[0] is already constructed.
-  if (size() == 0 && new_size > 0)
+  if (size() == 0 && new_size > 0) {
+    // vec_[0] is already constructed: we just need to assign +infinity.
+    assign_r(vec_[0], PLUS_INFINITY, ROUND_NOT_NEEDED);
     bump_size();
+  }
 #endif
   // Construct in direct order: will destroy in reverse order.
   for (dimension_type i = size(); i < new_size; ++i) {
@@ -42938,7 +46553,7 @@ template <typename T>
 void
 DB_Row_Impl_Handler<T>::Impl::shrink(dimension_type new_size) {
   const dimension_type old_size = size();
-  assert(new_size <= old_size);
+  PPL_ASSERT(new_size <= old_size);
   // Since ~T() does not throw exceptions, nothing here does.
   set_size(new_size);
 #if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
@@ -42963,7 +46578,6 @@ DB_Row_Impl_Handler<T>::Impl::copy_construct_coefficients(const Impl& y) {
     bump_size();
   }
 #else // PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-  assert(y_size > 0);
   if (y_size > 0) {
     vec_[0] = y.vec_[0];
     bump_size();
@@ -43126,7 +46740,7 @@ public:
   //! Builds a square matrix having the specified dimension.
   explicit DB_Matrix(dimension_type n_rows);
 
-  //! Copy-constructor.
+  //! Copy constructor.
   DB_Matrix(const DB_Matrix& y);
 
   //! Constructs a conservative approximation of \p y.
@@ -43166,7 +46780,7 @@ public:
     */
     explicit const_iterator(const Iter& b);
 
-    //! Ordinary copy-constructor.
+    //! Ordinary copy constructor.
     const_iterator(const const_iterator& y);
 
     //! Assignment operator.
@@ -43381,8 +46995,7 @@ bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 */
 
 
-/* Automatically generated from PPL source file ../src/DB_Matrix.inlines.hh line 29. */
-#include <cassert>
+/* Automatically generated from PPL source file ../src/DB_Matrix.inlines.hh line 30. */
 #include <iostream>
 
 namespace Parma_Polyhedra_Library {
@@ -43503,14 +47116,14 @@ DB_Matrix<T>::~DB_Matrix() {
 template <typename T>
 inline DB_Row<T>&
 DB_Matrix<T>::operator[](const dimension_type k) {
-  assert(k < rows.size());
+  PPL_ASSERT(k < rows.size());
   return rows[k];
 }
 
 template <typename T>
 inline const DB_Row<T>&
 DB_Matrix<T>::operator[](const dimension_type k) const {
-  assert(k < rows.size());
+  PPL_ASSERT(k < rows.size());
   return rows[k];
 }
 
@@ -43600,7 +47213,7 @@ l_m_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 	maybe_assign(tmp2p, tmp2, x_i_j, inverse(dir));
       }
       sub_assign_r(tmp1, *tmp1p, *tmp2p, dir);
-      assert(sgn(tmp1) >= 0);
+      PPL_ASSERT(sgn(tmp1) >= 0);
       Specialization::combine(tmp0, tmp1, dir);
     }
   }
@@ -43701,7 +47314,7 @@ DB_Matrix<T>::DB_Matrix(const dimension_type n_rows)
   // Construct in direct order: will destroy in reverse order.
   for (dimension_type i = 0; i < n_rows; ++i)
     rows[i].construct(n_rows, row_capacity);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -43713,14 +47326,14 @@ DB_Matrix<T>::DB_Matrix(const DB_Matrix<U>& y)
   // Construct in direct order: will destroy in reverse order.
   for (dimension_type i = 0, n_rows = rows.size(); i < n_rows; ++i)
     rows[i].construct_upward_approximation(y[i], row_capacity);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
 void
 DB_Matrix<T>::grow(const dimension_type new_n_rows) {
   const dimension_type old_n_rows = rows.size();
-  assert(new_n_rows >= old_n_rows);
+  PPL_ASSERT(new_n_rows >= old_n_rows);
 
   if (new_n_rows > old_n_rows) {
     if (new_n_rows <= row_capacity) {
@@ -43901,12 +47514,12 @@ DB_Matrix<T>::ascii_load(std::istream& s) {
   for (dimension_type i = 0; i < nrows;  ++i)
     for (dimension_type j = 0; j < nrows; ++j) {
       Result r = input(x[i][j], s, ROUND_CHECK);
-      if (r != V_EQ || is_minus_infinity(x[i][j]))
+      if (result_relation(r) != VR_EQ || is_minus_infinity(x[i][j]))
 	return false;
     }
 
   // Check invariants.
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
@@ -43983,7 +47596,165 @@ IO_Operators::operator<<(std::ostream& s, const DB_Matrix<T>& c) {
 
 /* Automatically generated from PPL source file ../src/DB_Matrix.defs.hh line 330. */
 
-/* Automatically generated from PPL source file ../src/BD_Shape.defs.hh line 47. */
+/* Automatically generated from PPL source file ../src/WRD_coefficient_types.defs.hh line 1. */
+/* Coefficient types of weakly-relational domains: declarations.
+*/
+
+
+/* Automatically generated from PPL source file ../src/WRD_coefficient_types.defs.hh line 27. */
+
+namespace Parma_Polyhedra_Library {
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief \ingroup PPL_CXX_interface
+  The production policy for checked numbers used in weakly-relational
+  domains.
+ */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+struct WRD_Extended_Number_Policy {
+  //! Check for overflowed result.
+  const_bool_nodef(check_overflow, true);
+
+  //! Do not check for attempts to add infinities with different sign.
+  const_bool_nodef(check_inf_add_inf, false);
+
+  //! Do not check for attempts to subtract infinities with same sign.
+  const_bool_nodef(check_inf_sub_inf, false);
+
+  //! Do not check for attempts to multiply infinities by zero.
+  const_bool_nodef(check_inf_mul_zero, false);
+
+  //! Do not check for attempts to divide by zero.
+  const_bool_nodef(check_div_zero, false);
+
+  //! Do not check for attempts to divide infinities.
+  const_bool_nodef(check_inf_div_inf, false);
+
+  //! Do not check for attempts to compute remainder of infinities.
+  const_bool_nodef(check_inf_mod, false);
+
+  //! Do not checks for attempts to take the square root of a negative number.
+  const_bool_nodef(check_sqrt_neg, false);
+
+  //! Handle not-a-number special value.
+  const_bool_nodef(has_nan, true);
+
+  //! Handle infinity special values.
+  const_bool_nodef(has_infinity, true);
+
+  // Do not uncomment the following.
+  // The compile time error on conversions is the expected behavior.
+  // const_bool_nodef(convertible, false);
+
+  //! Honor requests to check for FPU inexact results.
+  const_bool_nodef(fpu_check_inexact, true);
+
+  //! Do not make extra checks to detect FPU NaN results.
+  const_bool_nodef(fpu_check_nan_result, false);
+
+  // Do not uncomment the following.
+  // The compile time error is the expected behavior.
+  // static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_UP;
+  // static const Rounding_Dir ROUND_DEFAULT_OPERATOR = ROUND_UP;
+  // static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_UP;
+  // static const Rounding_Dir ROUND_DEFAULT_INPUT = ROUND_UP;
+  // static const Rounding_Dir ROUND_DEFAULT_OUTPUT = ROUND_UP;
+
+  /*! \brief
+    Handles \p r: called by all constructors, operators and functions that
+    do not return a Result value.
+  */
+  static void handle_result(Result r);
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief \ingroup PPL_CXX_interface
+  The debugging policy for checked numbers used in weakly-relational
+  domains.
+ */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+struct Debug_WRD_Extended_Number_Policy {
+  //! Check for overflowed result.
+  const_bool_nodef(check_overflow, true);
+
+  //! Check for attempts to add infinities with different sign.
+  const_bool_nodef(check_inf_add_inf, true);
+
+  //! Check for attempts to subtract infinities with same sign.
+  const_bool_nodef(check_inf_sub_inf, true);
+
+  //! Check for attempts to multiply infinities by zero.
+  const_bool_nodef(check_inf_mul_zero, true);
+
+  //! Check for attempts to divide by zero.
+  const_bool_nodef(check_div_zero, true);
+
+  //! Check for attempts to divide infinities.
+  const_bool_nodef(check_inf_div_inf, true);
+
+  //! Check for attempts to compute remainder of infinities.
+  const_bool_nodef(check_inf_mod, true);
+
+  //! Checks for attempts to take the square root of a negative number.
+  const_bool_nodef(check_sqrt_neg, true);
+
+  //! Handle not-a-number special value.
+  const_bool_nodef(has_nan, true);
+
+  //! Handle infinity special values.
+  const_bool_nodef(has_infinity, true);
+
+  // Do not uncomment the following.
+  // The compile time error on conversions is the expected behavior.
+  // const_bool_nodef(convertible, false);
+
+  //! Honor requests to check for FPU inexact results.
+  const_bool_nodef(fpu_check_inexact, true);
+
+  //! Make extra checks to detect FPU NaN results.
+  const_bool_nodef(fpu_check_nan_result, true);
+
+  // Do not uncomment the following.
+  // The compile time error is the expected behavior.
+  // static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_UP;
+  // static const Rounding_Dir ROUND_DEFAULT_OPERATOR = ROUND_UP;
+  // static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_UP;
+  // static const Rounding_Dir ROUND_DEFAULT_INPUT = ROUND_UP;
+  // static const Rounding_Dir ROUND_DEFAULT_OUTPUT = ROUND_UP;
+
+  /*! \brief
+    Handles \p r: called by all constructors, operators and functions that
+    do not return a Result value.
+  */
+  static void handle_result(Result r);
+};
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/WRD_coefficient_types.inlines.hh line 1. */
+/* Coefficient types of weakly-relational domains: inline functions.
+*/
+
+
+namespace Parma_Polyhedra_Library {
+
+inline void
+WRD_Extended_Number_Policy::handle_result(Result r) {
+  if (result_class(r) == VC_NAN)
+    throw_result_exception(r);
+}
+
+inline void
+Debug_WRD_Extended_Number_Policy::handle_result(Result r) {
+  if (result_class(r) == VC_NAN)
+    throw_result_exception(r);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/WRD_coefficient_types.defs.hh line 157. */
+
+/* Automatically generated from PPL source file ../src/BD_Shape.defs.hh line 48. */
 #include <cstddef>
 #include <iosfwd>
 #include <vector>
@@ -44344,7 +48115,11 @@ private:
     The (extended) numeric type of the inhomogeneous term of
     the inequalities defining a BDS.
   */
-  typedef Checked_Number<T, Extended_Number_Policy> N;
+#ifndef NDEBUG
+  typedef Checked_Number<T, Debug_WRD_Extended_Number_Policy> N;
+#else
+  typedef Checked_Number<T, WRD_Extended_Number_Policy> N;
+#endif
 
 public:
   //! The numeric base type upon which bounded differences are built.
@@ -44383,7 +48158,7 @@ public:
   explicit BD_Shape(dimension_type num_dimensions = 0,
                     Degenerate_Element kind = UNIVERSE);
 
-  //! Ordinary copy-constructor.
+  //! Ordinary copy constructor.
   /*!
     The complexity argument is ignored.
   */
@@ -44403,10 +48178,7 @@ public:
     The BDS inherits the space dimension of \p cs.
 
     \param cs
-    A system of constraints: constraints that are not
-    \ref Bounded_Difference_Shapes "bounded differences"
-    are ignored (even though they may have contributed
-    to the space dimension).
+    A system of BD constraints.
 
     \exception std::invalid_argument
     Thrown if \p cs contains a constraint which is not optimally supported
@@ -44419,7 +48191,11 @@ public:
     The BDS inherits the space dimension of \p cgs
 
     \param cgs
-    A system of congruences: some elements may be safely ignored.
+    A system of congruences.
+
+    \exception std::invalid_argument
+    Thrown if \p cgs contains congruences which are not optimally
+    supported by the BD shape domain.
   */
   explicit BD_Shape(const Congruence_System& cgs);
 
@@ -44683,6 +48459,38 @@ public:
                 Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
                 Generator& g) const;
 
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if there exist a
+    unique value \p val such that \p *this
+    saturates the equality <CODE>expr = val</CODE>.
+
+    \param expr
+    The linear expression for which the frequency is needed;
+
+    \param freq_n
+    If <CODE>true</CODE> is returned, the value is set to \f$0\f$;
+    Present for interface compatibility with class Grid, where
+    the \ref Grid_Frequency "frequency" can have a non-zero value;
+
+    \param freq_d
+    If <CODE>true</CODE> is returned, the value is set to \f$1\f$;
+
+    \param val_n
+    The numerator of \p val;
+
+    \param val_d
+    The denominator of \p val;
+
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+
+    If <CODE>false</CODE> is returned, then \p freq_n, \p freq_d,
+    \p val_n and \p val_d are left untouched.
+  */
+  bool frequency(const Linear_Expression& expr,
+                 Coefficient& freq_n, Coefficient& freq_d,
+                 Coefficient& val_n, Coefficient& val_d) const;
+
   //! Returns <CODE>true</CODE> if and only if \p *this contains \p y.
   /*!
     \exception std::invalid_argument
@@ -44775,8 +48583,7 @@ public:
     defining \p *this.
 
     \param c
-    The constraint to be added. If it is not a bounded difference, it
-    will be simply ignored.
+    The constraint to be added.
 
     \exception std::invalid_argument
     Thrown if \p *this and constraint \p c are dimension-incompatible,
@@ -44785,26 +48592,6 @@ public:
   void add_constraint(const Constraint& c);
 
   /*! \brief
-    Adds a copy of constraint \p c to the system of bounded differences
-    defining \p *this.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \param c
-    The constraint to be added. If it is not a bounded difference, it
-    will be simply ignored.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and constraint \p c are dimension-incompatible,
-    or \p c is not optimally supported by the BD shape domain.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_constraint_and_minimize(const Constraint& c);
-
-  /*! \brief
     Adds a copy of congruence \p cg to the system of congruences of \p *this.
 
     \param cg
@@ -44817,31 +48604,11 @@ public:
   void add_congruence(const Congruence& cg);
 
   /*! \brief
-    Adds a copy of congruence \p cg to the system of congruences
-    of \p *this, minimizing the result
-
-    \param cg
-    The congruence to be added.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and congruence \p cg are dimension-incompatible,
-    or \p cg is not optimally supported by the BD shape domain.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_congruence_and_minimize(const Congruence& cg);
-
-  /*! \brief
     Adds the constraints in \p cs to the system of bounded differences
     defining \p *this.
 
     \param  cs
-    The constraints that will be added. Constraints that are not bounded
-    differences will be simply ignored.
+    The constraints that will be added.
 
     \exception std::invalid_argument
     Thrown if \p *this and \p cs are dimension-incompatible,
@@ -44870,51 +48637,6 @@ public:
   void add_recycled_constraints(Constraint_System& cs);
 
   /*! \brief
-    Adds the constraints in \p cs to the system of bounded differences
-    defining \p *this.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \param  cs
-    The constraints that will be added.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible,
-    or \p cs contains a constraint which is not optimally supported
-    by the BD shape domain.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_constraints_and_minimize(const Constraint_System& cs);
-
-  /*! \brief
-    Adds the constraints in \p cs to the system of constraints
-    of \p *this, minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \param cs
-    The constraint system to be added to \p *this.  The constraints in
-    \p cs may be recycled.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible,
-    or \p cs contains a constraint which is not optimally supported
-    by the BD shape domain.
-
-    \warning
-    The only assumption that can be made on \p cs upon successful or
-    exceptional return is that it can be safely destroyed.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_recycled_constraints_and_minimize(Constraint_System& cs);
-
-  /*! \brief
     Adds to \p *this constraints equivalent to the congruences in \p cgs.
 
     \param cgs
@@ -44929,16 +48651,6 @@ public:
   void add_congruences(const Congruence_System& cgs);
 
   /*! \brief
-    Behaves as add_congruences(const Congruence_System&),
-    but minimizes the resulting BD shape, returning \c false
-    if and only if the result is empty.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_congruences_and_minimize(const Congruence_System& cgs);
-
-  /*! \brief
     Adds to \p *this constraints equivalent to the congruences in \p cgs.
 
     \param cgs
@@ -44957,16 +48669,6 @@ public:
   void add_recycled_congruences(Congruence_System& cgs);
 
   /*! \brief
-    Behaves as \c add_recycled_congruences, but minimizes the
-    resulting BD shape, returning \c false if and only if
-    the result is empty.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_recycled_congruences_and_minimize(Congruence_System& cgs);
-
-  /*! \brief
     Uses a copy of constraint \p c to refine the system of bounded differences
     defining \p *this.
 
@@ -45031,17 +48733,17 @@ public:
 
   /*! \brief
     Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to the set of space dimensions \p to_be_unconstrained,
+    respect to the set of space dimensions \p vars,
     assigning the result to \p *this.
 
-    \param to_be_unconstrained
+    \param vars
     The set of space dimension that will be unconstrained.
 
     \exception std::invalid_argument
     Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p to_be_removed.
+    Variable objects contained in \p vars.
   */
-  void unconstrain(const Variables_Set& to_be_unconstrained);
+  void unconstrain(const Variables_Set& vars);
 
   //! Assigns to \p *this the intersection of \p *this and \p y.
   /*!
@@ -45050,19 +48752,6 @@ public:
   */
   void intersection_assign(const BD_Shape& y);
 
-  //! Assigns to \p *this the intersection of \p *this and \p y.
-  /*!
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool intersection_assign_and_minimize(const BD_Shape& y);
-
   /*! \brief
     Assigns to \p *this the smallest BDS containing the union
     of \p *this and \p y.
@@ -45073,29 +48762,30 @@ public:
   void upper_bound_assign(const BD_Shape& y);
 
   /*! \brief
-    Assigns to \p *this the smallest BDS containing the convex union
-    of \p *this and \p y.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
+    If the upper bound of \p *this and \p y is exact, it is assigned
+    to \p *this and <CODE>true</CODE> is returned,
+    otherwise <CODE>false</CODE> is returned.
 
     \exception std::invalid_argument
     Thrown if \p *this and \p y are dimension-incompatible.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
   */
-  bool upper_bound_assign_and_minimize(const BD_Shape& y);
+  bool upper_bound_assign_if_exact(const BD_Shape& y);
 
   /*! \brief
-    If the upper bound of \p *this and \p y is exact, it is assigned
-    to \p *this and <CODE>true</CODE> is returned,
+    If the \e integer upper bound of \p *this and \p y is exact,
+    it is assigned to \p *this and <CODE>true</CODE> is returned;
     otherwise <CODE>false</CODE> is returned.
 
     \exception std::invalid_argument
     Thrown if \p *this and \p y are dimension-incompatible.
+
+    \note
+    The integer upper bound of two rational BDS is the smallest rational
+    BDS containing all the integral points of the two arguments.
+    This method requires that the coefficient type parameter \c T is
+    an integral type.
   */
-  bool upper_bound_assign_if_exact(const BD_Shape& y);
+  bool integer_upper_bound_assign_if_exact(const BD_Shape& y);
 
   /*! \brief
     Assigns to \p *this the smallest BD shape containing
@@ -45343,6 +49033,93 @@ public:
   */
   void time_elapse_assign(const BD_Shape& y);
 
+  /*! \brief
+    \ref Wrapping_Operator "Wraps" the specified dimensions of the
+    vector space.
+
+    \param vars
+    The set of Variable objects corresponding to the space dimensions
+    to be wrapped.
+
+    \param w
+    The width of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param r
+    The representation of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param o
+    The overflow behavior of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param pcs
+    Possibly null pointer to a constraint system whose variables
+    are contained in \p vars.  If <CODE>*pcs</CODE> depends on
+    variables not in \p vars, the behavior is undefined.
+    When non-null, the pointed-to constraint system is assumed to
+    represent the conditional or looping construct guard with respect
+    to which wrapping is performed.  Since wrapping requires the
+    computation of upper bounds and due to non-distributivity of
+    constraint refinement over upper bounds, passing a constraint
+    system in this way can be more precise than refining the result of
+    the wrapping operation with the constraints in <CODE>*pcs</CODE>.
+
+    \param complexity_threshold
+    A precision parameter of the \ref Wrapping_Operator "wrapping operator":
+    higher values result in possibly improved precision.
+
+    \param wrap_individually
+    <CODE>true</CODE> if the dimensions should be wrapped individually
+    (something that results in much greater efficiency to the detriment of
+    precision).
+
+    \exception std::invalid_argument
+    Thrown if <CODE>*pcs</CODE> is dimension-incompatible with
+    \p vars, or if \p *this is dimension-incompatible \p vars or with
+    <CODE>*pcs</CODE>.
+  */
+  void wrap_assign(const Variables_Set& vars,
+                   Bounded_Integer_Type_Width w,
+                   Bounded_Integer_Type_Representation r,
+                   Bounded_Integer_Type_Overflow o,
+                   const Constraint_System* pcs = 0,
+                   unsigned complexity_threshold = 16,
+                   bool wrap_individually = true);
+
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates.
+
+    \param complexity
+    The maximal complexity of any algorithms used.
+
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+   void drop_some_non_integer_points(Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
+
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates for the space dimensions corresponding to \p vars.
+
+    \param vars
+    Points with non-integer coordinates for these variables/space-dimensions
+    can be discarded.
+
+    \param complexity
+    The maximal complexity of any algorithms used.
+
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+  void drop_some_non_integer_points(const Variables_Set& vars,
+                                    Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
+
   //! Assigns to \p *this its topological closure.
   void topological_closure_assign();
 
@@ -45578,14 +49355,14 @@ public:
 
   //! Removes all the specified dimensions.
   /*!
-    \param to_be_removed
+    \param vars
     The set of Variable objects corresponding to the dimensions to be removed.
 
     \exception std::invalid_argument
     Thrown if \p *this is dimension-incompatible with one of the Variable
-    objects contained in \p to_be_removed.
+    objects contained in \p vars.
   */
-  void remove_space_dimensions(const Variables_Set& to_be_removed);
+  void remove_space_dimensions(const Variables_Set& vars);
 
   /*! \brief
     Removes the higher dimensions so that the resulting space
@@ -45604,8 +49381,8 @@ public:
     \param pfunc
     The partial function specifying the destiny of each dimension.
 
-    The template class Partial_Function must provide the following
-    methods.
+    The template type parameter Partial_Function must provide
+    the following methods.
     \code
       bool has_empty_codomain() const
     \endcode
@@ -45660,30 +49437,30 @@ public:
   */
   void expand_space_dimension(Variable var, dimension_type m);
 
-  //! Folds the space dimensions in \p to_be_folded into \p var.
+  //! Folds the space dimensions in \p vars into \p dest.
   /*!
-    \param to_be_folded
+    \param vars
     The set of Variable objects corresponding to the space dimensions
     to be folded;
 
-    \param var
+    \param dest
     The variable corresponding to the space dimension that is the
     destination of the folding operation.
 
     \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p var or with
-    one of the Variable objects contained in \p to_be_folded.
-    Also thrown if \p var is contained in \p to_be_folded.
+    Thrown if \p *this is dimension-incompatible with \p dest or with
+    one of the Variable objects contained in \p vars.
+    Also thrown if \p dest is contained in \p vars.
 
     If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    <CODE>var</CODE> has space dimension \f$k \leq n\f$,
-    \p to_be_folded is a set of variables whose maximum space dimension
-    is also less than or equal to \f$n\f$, and \p var is not a member
-    of \p to_be_folded, then the space dimensions corresponding to
-    variables in \p to_be_folded are \ref fold_space_dimensions "folded"
+    <CODE>dest</CODE> has space dimension \f$k \leq n\f$,
+    \p vars is a set of variables whose maximum space dimension
+    is also less than or equal to \f$n\f$, and \p dest is not a member
+    of \p vars, then the space dimensions corresponding to
+    variables in \p vars are \ref fold_space_dimensions "folded"
     into the \f$k\f$-th space dimension.
   */
-  void fold_space_dimensions(const Variables_Set& to_be_folded, Variable var);
+  void fold_space_dimensions(const Variables_Set& vars, Variable dest);
 
   //@} // Member Functions that May Modify the Dimension of the Vector Space
 
@@ -45831,7 +49608,7 @@ private:
   void reset(flags_t mask);
 };
 
-/* Automatically generated from PPL source file ../src/BD_Shape.defs.hh line 1800. */
+/* Automatically generated from PPL source file ../src/BD_Shape.defs.hh line 1807. */
 #undef PPL_IN_BD_Shape_CLASS
 
   //! The status flags to keep track of the internal state.
@@ -46018,6 +49795,23 @@ private:
   */
   bool BFT00_upper_bound_assign_if_exact(const BD_Shape& y);
 
+  /*! \brief
+    If the upper bound of \p *this and \p y is exact it is assigned
+    to \p *this and \c true is returned, otherwise \c false is returned.
+
+    Implementation for the rational (resp., integer) case is based on
+    Theorem 5.2 (resp. Theorem 5.3) of \ref BHZ09b "[BHZ09b]".
+    The Boolean template parameter \c integer_upper_bound allows for
+    choosing between the rational and integer upper bound algorithms.
+
+    \note
+    It is assumed that \p *this and \p y are dimension-compatible;
+    if the assumption does not hold, the behavior is undefined.
+
+    \note
+    The integer case is only enabled if T is an integer datatype.
+  */
+  template <bool integer_upper_bound>
   bool BHZ09_upper_bound_assign_if_exact(const BD_Shape& y);
 
   /*! \brief
@@ -46132,6 +49926,8 @@ private:
   */
   void compute_leaders(std::vector<dimension_type>& leaders) const;
 
+  void drop_some_non_integer_points_helper(N& elem);
+
   friend std::ostream&
   Parma_Polyhedra_Library::IO_Operators
   ::operator<<<>(std::ostream& s, const BD_Shape<T>& c);
@@ -46292,7 +50088,7 @@ BD_Shape<T>::Status::reset_shortest_path_reduced() {
 template <typename T>
 inline void
 BD_Shape<T>::Status::set_shortest_path_reduced() {
-  assert(test_shortest_path_closed());
+  PPL_ASSERT(test_shortest_path_closed());
   set(SHORTEST_PATH_REDUCED);
 }
 
@@ -46415,7 +50211,7 @@ BD_Shape<T>::Status::ascii_load(std::istream& s) {
     reset_shortest_path_reduced();
 
   // Check invariants.
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
@@ -46531,7 +50327,7 @@ private:
   class Pseudo_Row {
   public:
     /*! \brief
-      Copy-constructor allowing the construction of a const pseudo-row
+      Copy constructor allowing the construction of a const pseudo-row
       from a non-const pseudo-row.
       Ordinary copy constructor.
     */
@@ -46635,7 +50431,7 @@ private:
     explicit any_row_iterator(U& base);
 
     /*! \brief
-      Copy-constructor allowing the construction of a const_iterator
+      Copy constructor allowing the construction of a const_iterator
       from a non-const iterator.
     */
     template <typename V>
@@ -46763,7 +50559,7 @@ public:
   */
   OR_Matrix(dimension_type space_dim);
 
-  //! Copy-constructor.
+  //! Copy constructor.
   OR_Matrix(const OR_Matrix& y);
 
   //! Constructs a conservative approximation of \p y.
@@ -47025,8 +50821,7 @@ bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 */
 
 
-/* Automatically generated from PPL source file ../src/OR_Matrix.inlines.hh line 31. */
-#include <cassert>
+/* Automatically generated from PPL source file ../src/OR_Matrix.inlines.hh line 32. */
 #include <algorithm>
 /* Automatically generated from PPL source file ../src/OR_Matrix.inlines.hh line 34. */
 
@@ -47035,7 +50830,7 @@ namespace Parma_Polyhedra_Library {
 template <typename T>
 inline dimension_type
 OR_Matrix<T>::row_first_element_index(const dimension_type k) {
-  return ((k+1)*(k+1))/2;
+  return ((k + 1)*(k + 1))/2;
 }
 
 template <typename T>
@@ -47115,7 +50910,7 @@ template <typename U>
 inline U&
 OR_Matrix<T>::Pseudo_Row<U>::operator[](const dimension_type k) const {
 #if PPL_OR_MATRIX_EXTRA_DEBUG
-  assert(k < size_);
+  PPL_ASSERT(k < size_);
 #endif
   return *(first + k);
 }
@@ -47518,7 +51313,7 @@ OR_Matrix<T>::OR_Matrix(const OR_Matrix<U>& y)
     vec_capacity(compute_capacity(y.vec.size(),
                                   DB_Row<T>::max_size())) {
   vec.construct_upward_approximation(y.vec, vec_capacity);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -47533,7 +51328,7 @@ OR_Matrix<T>::operator=(const OR_Matrix& y) {
 template <typename T>
 inline void
 OR_Matrix<T>::grow(const dimension_type new_dim) {
-  assert(new_dim >= space_dim);
+  PPL_ASSERT(new_dim >= space_dim);
   if (new_dim > space_dim) {
     const dimension_type new_size = 2*new_dim*(new_dim + 1);
     if (new_size <= vec_capacity) {
@@ -47556,7 +51351,7 @@ OR_Matrix<T>::grow(const dimension_type new_dim) {
 template <typename T>
 inline void
 OR_Matrix<T>::shrink(const dimension_type new_dim) {
-  assert(new_dim <= space_dim);
+  PPL_ASSERT(new_dim <= space_dim);
   const dimension_type new_size = 2*new_dim*(new_dim + 1);
   vec.shrink(new_size);
   space_dim = new_dim;
@@ -47625,7 +51420,7 @@ l_m_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
       maybe_assign(tmp2p, tmp2, x_i, inverse(dir));
     }
     sub_assign_r(tmp1, *tmp1p, *tmp2p, dir);
-    assert(sgn(tmp1) >= 0);
+    PPL_ASSERT(sgn(tmp1) >= 0);
     Specialization::combine(tmp0, tmp1, dir);
   }
 
@@ -47785,11 +51580,11 @@ OR_Matrix<T>::ascii_load(std::istream& s) {
     const dimension_type rs = i.row_size();
     for (dimension_type j = 0; j < rs; ++j) {
       Result r = input(r_i[j], s, ROUND_CHECK);
-      if (r != V_EQ || is_minus_infinity(r_i[j]))
+      if (result_relation(r) != VR_EQ || is_minus_infinity(r_i[j]))
 	return false;
     }
   }
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
@@ -47814,7 +51609,7 @@ IO_Operators::operator<<(std::ostream& s, const OR_Matrix<T>& m) {
 
 /* Automatically generated from PPL source file ../src/OR_Matrix.defs.hh line 606. */
 
-/* Automatically generated from PPL source file ../src/Octagonal_Shape.defs.hh line 45. */
+/* Automatically generated from PPL source file ../src/Octagonal_Shape.defs.hh line 47. */
 #include <vector>
 #include <cstddef>
 #include <climits>
@@ -48068,12 +51863,6 @@ bool extract_octagonal_difference(const Constraint& c,
                                   Coefficient& c_coeff,
                                   Coefficient& c_term);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns the index coherent to \p i.
-/*! \relates Octagonal_Shape */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-dimension_type coherent_index(dimension_type i);
-
 } // namespace Parma_Polyhedra_Library
 
 //! An octagonal shape.
@@ -48188,12 +51977,13 @@ private:
     the inequalities defining an OS.
   */
 #ifndef NDEBUG
-  typedef Checked_Number<T, Extended_Number_Policy> N;
+  typedef Checked_Number<T, Debug_WRD_Extended_Number_Policy> N;
 #else
   typedef Checked_Number<T, WRD_Extended_Number_Policy> N;
 #endif
 
 public:
+
   //! The numeric base type upon which OSs are built.
   typedef T coefficient_type_base;
 
@@ -48230,7 +52020,7 @@ public:
   explicit Octagonal_Shape(dimension_type num_dimensions = 0,
                            Degenerate_Element kind = UNIVERSE);
 
-  //! Ordinary copy-constructor.
+  //! Ordinary copy constructor.
   /*!
     The complexity argument is ignored.
   */
@@ -48250,13 +52040,11 @@ public:
     The OS inherits the space dimension of \p cs.
 
     \param cs
-    A system of constraints: constraints that are not
-    \ref Octagonal_Shapes "octagonal constraints"
-    are ignored (even though they may have contributed
-    to the space dimension).
+    A system of octagonal constraints.
 
     \exception std::invalid_argument
-    Thrown if the system of constraints \p cs contains strict inequalities.
+    Thrown if \p cs contains a constraint which is not optimally supported
+    by the Octagonal shape domain.
   */
   explicit Octagonal_Shape(const Constraint_System& cs);
 
@@ -48265,7 +52053,11 @@ public:
     The OS inherits the space dimension of \p cgs
 
     \param cgs
-    A system of congruences: some elements may be safely ignored.
+    A system of congruences.
+
+    \exception std::invalid_argument
+    Thrown if \p cgs contains a congruence which is not optimally supported
+    by the Octagonal shape domain.
   */
   explicit Octagonal_Shape(const Congruence_System& cgs);
 
@@ -48295,7 +52087,7 @@ public:
     The built OS is the most precise OS that includes the box.
 
     \param box
-    The box representing the BDS to be built.
+    The box representing the OS to be built.
 
     \param complexity
     This argument is ignored as the algorithm used has
@@ -48611,6 +52403,38 @@ public:
                 Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
                 Generator& g) const;
 
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if there exist a
+    unique value \p val such that \p *this
+    saturates the equality <CODE>expr = val</CODE>.
+
+    \param expr
+    The linear expression for which the frequency is needed;
+
+    \param freq_n
+    If <CODE>true</CODE> is returned, the value is set to \f$0\f$;
+    Present for interface compatibility with class Grid, where
+    the \ref Grid_Frequency "frequency" can have a non-zero value;
+
+    \param freq_d
+    If <CODE>true</CODE> is returned, the value is set to \f$1\f$;
+
+    \param val_n
+    The numerator of \p val;
+
+    \param val_d
+    The denominator of \p val;
+
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+
+    If <CODE>false</CODE> is returned, then \p freq_n, \p freq_d,
+    \p val_n and \p val_d are left untouched.
+  */
+  bool frequency(const Linear_Expression& expr,
+                 Coefficient& freq_n, Coefficient& freq_d,
+                 Coefficient& val_n, Coefficient& val_d) const;
+
   //! Checks if all the invariants are satisfied.
   bool OK() const;
 
@@ -48773,17 +52597,17 @@ public:
 
   /*! \brief
     Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to the set of space dimensions \p to_be_unconstrained,
+    respect to the set of space dimensions \p vars,
     assigning the result to \p *this.
 
-    \param to_be_unconstrained
+    \param vars
     The set of space dimension that will be unconstrained.
 
     \exception std::invalid_argument
     Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p to_be_removed.
+    Variable objects contained in \p vars.
   */
-  void unconstrain(const Variables_Set& to_be_unconstrained);
+  void unconstrain(const Variables_Set& vars);
 
   //! Assigns to \p *this the intersection of \p *this and \p y.
   /*!
@@ -48808,10 +52632,35 @@ public:
 
     \exception std::invalid_argument
     Thrown if \p *this and \p y are dimension-incompatible.
+
+    Implementation is based on Theorem 6.3 of \ref BHZ09b "[BHZ09b]".
   */
   bool upper_bound_assign_if_exact(const Octagonal_Shape& y);
 
   /*! \brief
+    If the \e integer upper bound of \p *this and \p y is exact,
+    it is assigned to \p *this and <CODE>true</CODE> is returned;
+    otherwise <CODE>false</CODE> is returned.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+
+    \note
+    This operator is only available when the class template parameter
+    \c T is bound to an integer datatype.
+
+    \note
+    The integer upper bound of two rational OS is the smallest
+    rational OS containing all the integral points in the two arguments.
+    In general, the result is \e not an upper bound for the two input
+    arguments, as it may cut away non-integral portions of the two
+    rational shapes.
+
+    Implementation is based on Theorem 6.8 of \ref BHZ09b "[BHZ09b]".
+  */
+  bool integer_upper_bound_assign_if_exact(const Octagonal_Shape& y);
+
+  /*! \brief
     Assigns to \p *this the smallest octagon containing
     the set difference of \p *this and \p y.
 
@@ -49056,6 +52905,93 @@ public:
   */
   void time_elapse_assign(const Octagonal_Shape& y);
 
+  /*! \brief
+    \ref Wrapping_Operator "Wraps" the specified dimensions of the
+    vector space.
+
+    \param vars
+    The set of Variable objects corresponding to the space dimensions
+    to be wrapped.
+
+    \param w
+    The width of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param r
+    The representation of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param o
+    The overflow behavior of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param pcs
+    Possibly null pointer to a constraint system whose variables
+    are contained in \p vars.  If <CODE>*pcs</CODE> depends on
+    variables not in \p vars, the behavior is undefined.
+    When non-null, the pointed-to constraint system is assumed to
+    represent the conditional or looping construct guard with respect
+    to which wrapping is performed.  Since wrapping requires the
+    computation of upper bounds and due to non-distributivity of
+    constraint refinement over upper bounds, passing a constraint
+    system in this way can be more precise than refining the result of
+    the wrapping operation with the constraints in <CODE>*pcs</CODE>.
+
+    \param complexity_threshold
+    A precision parameter of the \ref Wrapping_Operator "wrapping operator":
+    higher values result in possibly improved precision.
+
+    \param wrap_individually
+    <CODE>true</CODE> if the dimensions should be wrapped individually
+    (something that results in much greater efficiency to the detriment of
+    precision).
+
+    \exception std::invalid_argument
+    Thrown if <CODE>*pcs</CODE> is dimension-incompatible with
+    \p vars, or if \p *this is dimension-incompatible \p vars or with
+    <CODE>*pcs</CODE>.
+  */
+  void wrap_assign(const Variables_Set& vars,
+                   Bounded_Integer_Type_Width w,
+                   Bounded_Integer_Type_Representation r,
+                   Bounded_Integer_Type_Overflow o,
+                   const Constraint_System* pcs = 0,
+                   unsigned complexity_threshold = 16,
+                   bool wrap_individually = true);
+
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates.
+
+    \param complexity
+    The maximal complexity of any algorithms used.
+
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+  void drop_some_non_integer_points(Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
+
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates for the space dimensions corresponding to \p vars.
+
+    \param vars
+    Points with non-integer coordinates for these variables/space-dimensions
+    can be discarded.
+
+    \param complexity
+    The maximal complexity of any algorithms used.
+
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+  void drop_some_non_integer_points(const Variables_Set& vars,
+                                    Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
+
   //! Assigns to \p *this its topological closure.
   void topological_closure_assign();
 
@@ -49242,14 +53178,14 @@ public:
 
   //! Removes all the specified dimensions.
   /*!
-    \param to_be_removed
+    \param vars
     The set of Variable objects corresponding to the dimensions to be removed.
 
     \exception std::invalid_argument
     Thrown if \p *this is dimension-incompatible with one of the Variable
-    objects contained in \p to_be_removed.
+    objects contained in \p vars.
   */
-  void remove_space_dimensions(const Variables_Set& to_be_removed);
+  void remove_space_dimensions(const Variables_Set& vars);
 
   /*! \brief
     Removes the higher dimensions so that the resulting space
@@ -49268,8 +53204,8 @@ public:
     \param pfunc
     The partial function specifying the destiny of each dimension.
 
-    The template class Partial_Function must provide the following
-    methods.
+    The template type parameter Partial_Function must provide
+    the following methods.
     \code
       bool has_empty_codomain() const
     \endcode
@@ -49323,30 +53259,39 @@ public:
   */
   void expand_space_dimension(Variable var, dimension_type m);
 
-  //! Folds the space dimensions in \p to_be_folded into \p var.
+  //! Folds the space dimensions in \p vars into \p dest.
   /*!
-    \param to_be_folded
+    \param vars
     The set of Variable objects corresponding to the space dimensions
     to be folded;
 
-    \param var
+    \param dest
     The variable corresponding to the space dimension that is the
     destination of the folding operation.
 
     \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p var or with
-    one of the Variable objects contained in \p to_be_folded.
-    Also thrown if \p var is contained in \p to_be_folded.
+    Thrown if \p *this is dimension-incompatible with \p dest or with
+    one of the Variable objects contained in \p vars.
+    Also thrown if \p dest is contained in \p vars.
 
     If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    <CODE>var</CODE> has space dimension \f$k \leq n\f$,
-    \p to_be_folded is a set of variables whose maximum space dimension
-    is also less than or equal to \f$n\f$, and \p var is not a member
-    of \p to_be_folded, then the space dimensions corresponding to
-    variables in \p to_be_folded are \ref fold_space_dimensions "folded"
+    <CODE>dest</CODE> has space dimension \f$k \leq n\f$,
+    \p vars is a set of variables whose maximum space dimension
+    is also less than or equal to \f$n\f$, and \p dest is not a member
+    of \p vars, then the space dimensions corresponding to
+    variables in \p vars are \ref fold_space_dimensions "folded"
     into the \f$k\f$-th space dimension.
   */
-  void fold_space_dimensions(const Variables_Set& to_be_folded, Variable var);
+  void fold_space_dimensions(const Variables_Set& vars, Variable dest);
+
+  //! Refines \p store with the constraints defining \p *this.
+  /*!
+    \param store
+    The interval floating point abstract store to refine.
+  */
+  template <typename Interval_Info>
+  void refine_fp_interval_abstract_store(
+                          Box< Interval<T, Interval_Info> >& store) const;
 
   //@} // Member Functions that May Modify the Dimension of the Vector Space
 
@@ -49499,7 +53444,7 @@ private:
 
 };
 
-/* Automatically generated from PPL source file ../src/Octagonal_Shape.defs.hh line 1640. */
+/* Automatically generated from PPL source file ../src/Octagonal_Shape.defs.hh line 1792. */
 #undef PPL_IN_Octagonal_Shape_CLASS
 
   //! The status flags to keep track of the internal state.
@@ -49726,6 +53671,16 @@ private:
   //! Applies the strong-coherence step to \c this->matrix.
   void strong_coherence_assign();
 
+  //! Assigns to \c this->matrix its tight closure.
+  /*!
+    \note
+    This is \e not marked as a <code>const</code> method,
+    as it may modify the rational-valued geometric shape by cutting away
+    non-integral points. The method is only available if the template
+    parameter \c T is bound to an integer datatype.
+  */
+  void tight_closure_assign();
+
   /*! \brief
     Incrementally computes strong closure, assuming that only
     constraints affecting variable \p var need to be considered.
@@ -49824,7 +53779,7 @@ private:
                Coefficient& ext_n, Coefficient& ext_d, bool& included,
                Generator& g) const;
 
-  bool BHZ09_upper_bound_assign_if_exact(const Octagonal_Shape& y);
+  void drop_some_non_integer_points_helper(N& elem);
 
   friend std::ostream&
   Parma_Polyhedra_Library::IO_Operators
@@ -50069,7 +54024,7 @@ Octagonal_Shape<T>::Status::ascii_load(std::istream& s) {
     reset_strongly_closed();
 
   // Check invariants.
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
@@ -50080,19 +54035,391 @@ Octagonal_Shape<T>::Status::ascii_load(std::istream& s) {
 */
 
 
-/* Automatically generated from PPL source file ../src/Octagonal_Shape.inlines.hh line 34. */
-#include <cassert>
+/* Automatically generated from PPL source file ../src/wrap_assign.hh line 1. */
+/* Generic implementation of the wrap_assign() function.
+*/
+
+
+/* Automatically generated from PPL source file ../src/wrap_assign.hh line 31. */
+
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+struct Wrap_Dim_Translations {
+  Variable var;
+  Coefficient first_quadrant;
+  Coefficient last_quadrant;
+  Wrap_Dim_Translations(Variable v,
+                        Coefficient_traits::const_reference f,
+                        Coefficient_traits::const_reference l)
+    : var(v), first_quadrant(f), last_quadrant(l) {
+  }
+};
+
+typedef std::vector<Wrap_Dim_Translations> Wrap_Translations;
+
+template <typename PSET>
+void
+wrap_assign_ind(PSET& pointset,
+                Variables_Set& vars,
+                Wrap_Translations::const_iterator first,
+                Wrap_Translations::const_iterator end,
+                Bounded_Integer_Type_Width w,
+                Coefficient_traits::const_reference min_value,
+                Coefficient_traits::const_reference max_value,
+                const Constraint_System& cs,
+                Coefficient& tmp1,
+                Coefficient& tmp2) {
+  const dimension_type space_dim = pointset.space_dimension();
+  const dimension_type cs_space_dim = cs.space_dimension();
+  for (Wrap_Translations::const_iterator i = first; i != end; ++i) {
+    const Wrap_Dim_Translations& wrap_dim_translations = *i;
+    const Variable& x = wrap_dim_translations.var;
+    const Coefficient& first_quadrant = wrap_dim_translations.first_quadrant;
+    const Coefficient& last_quadrant = wrap_dim_translations.last_quadrant;
+    Coefficient& quadrant = tmp1;
+    Coefficient& shift = tmp2;
+    PSET hull(space_dim, EMPTY);
+    for (quadrant = first_quadrant; quadrant <= last_quadrant; ++quadrant) {
+      PSET p(pointset);
+      if (quadrant != 0) {
+        mul_2exp_assign(shift, quadrant, w);
+        p.affine_image(x, x - shift, 1);
+      }
+      // `x' has just been wrapped.
+      vars.erase(x.id());
+
+      // Refine `p' with all the constraints in `cs' not depending
+      // on variables in `vars'.
+      if (vars.empty())
+        p.refine_with_constraints(cs);
+      else {
+        Variables_Set::const_iterator vars_end = vars.end();
+        for (Constraint_System::const_iterator j = cs.begin(),
+               cs_end = cs.end(); j != cs_end; ++j) {
+          const Constraint& c = *j;
+          for (dimension_type d = cs_space_dim; d-- > 0; ) {
+            if (c.coefficient(Variable(d)) != 0 && vars.find(d) != vars_end)
+              goto skip;
+          }
+          // If we are here it means `c' does not depend on variables
+          // in `vars'.
+          p.refine_with_constraint(c);
+
+        skip:
+          continue;
+        }
+      }
+      p.refine_with_constraint(min_value <= x);
+      p.refine_with_constraint(x <= max_value);
+      hull.upper_bound_assign(p);
+    }
+    pointset.swap(hull);
+  }
+}
+
+template <typename PSET>
+void
+wrap_assign_col(PSET& dest,
+                const PSET& src,
+                const Variables_Set& vars,
+                Wrap_Translations::const_iterator first,
+                Wrap_Translations::const_iterator end,
+                Bounded_Integer_Type_Width w,
+                Coefficient_traits::const_reference min_value,
+                Coefficient_traits::const_reference max_value,
+                const Constraint_System* pcs,
+                Coefficient& tmp) {
+  if (first == end) {
+    PSET p(src);
+    if (pcs != 0)
+      p.refine_with_constraints(*pcs);
+    for (Variables_Set::const_iterator i = vars.begin(),
+           vars_end = vars.end(); i != vars.end(); ++i) {
+      const Variable x = Variable(*i);
+      p.refine_with_constraint(min_value <= x);
+      p.refine_with_constraint(x <= max_value);
+    }
+    dest.upper_bound_assign(p);
+  }
+  else {
+    const Wrap_Dim_Translations& wrap_dim_translations = *first;
+    const Variable& x = wrap_dim_translations.var;
+    const Coefficient& first_quadrant = wrap_dim_translations.first_quadrant;
+    const Coefficient& last_quadrant = wrap_dim_translations.last_quadrant;
+    Coefficient& shift = tmp;
+    PPL_DIRTY_TEMP_COEFFICIENT(quadrant);
+    for (quadrant = first_quadrant; quadrant <= last_quadrant; ++quadrant) {
+      if (quadrant != 0) {
+        mul_2exp_assign(shift, quadrant, w);
+        PSET p(src);
+        p.affine_image(x, x - shift, 1);
+        wrap_assign_col(dest, p, vars, first+1, end, w, min_value, max_value,
+                        pcs, tmp);
+      }
+      else
+        wrap_assign_col(dest, src, vars, first+1, end, w, min_value, max_value,
+                        pcs, tmp);
+    }
+  }
+}
+
+template <typename PSET>
+void
+wrap_assign(PSET& pointset,
+            const Variables_Set& vars,
+            const Bounded_Integer_Type_Width w,
+            const Bounded_Integer_Type_Representation r,
+            const Bounded_Integer_Type_Overflow o,
+            const Constraint_System* pcs,
+            const unsigned complexity_threshold,
+            const bool wrap_individually,
+            const char* class_name) {
+  // We must have pcs->space_dimension() <= vars.space_dimension()
+  //         and  vars.space_dimension() <= pointset.space_dimension().
+
+  // Dimension-compatibility check of `*pcs', if any.
+  const dimension_type vars_space_dim = vars.space_dimension();
+  if (pcs != 0) {
+    if (pcs->space_dimension() > vars_space_dim) {
+      std::ostringstream s;
+      s << "PPL::" << class_name << "::wrap_assign(..., pcs, ...):"
+        << std::endl
+        << "vars.space_dimension() == " << vars_space_dim
+        << ", pcs->space_dimension() == " << pcs->space_dimension() << ".";
+      throw std::invalid_argument(s.str());
+    }
+
+#ifndef NDEBUG
+    // Check that all variables upon which `*pcs' depends are in `vars'.
+    // An assertion is violated otherwise.
+    const Constraint_System cs = *pcs;
+    const dimension_type cs_space_dim = cs.space_dimension();
+    Variables_Set::const_iterator vars_end = vars.end();
+    for (Constraint_System::const_iterator i = cs.begin(),
+           cs_end = cs.end(); i != cs_end; ++i) {
+      const Constraint& c = *i;
+      for (dimension_type d = cs_space_dim; d-- > 0; ) {
+        PPL_ASSERT(c.coefficient(Variable(d)) == 0
+               || vars.find(d) != vars_end);
+      }
+    }
+#endif
+  }
+
+  // Wrapping no variable only requires refining with *pcs, if any.
+  if (vars.empty()) {
+    if (pcs != 0)
+      pointset.refine_with_constraints(*pcs);
+    return;
+  }
+
+  // Dimension-compatibility check of `vars'.
+  const dimension_type space_dim = pointset.space_dimension();
+  if (vars.space_dimension() > space_dim) {
+    std::ostringstream s;
+    s << "PPL::" << class_name << "::wrap_assign(vs, ...):" << std::endl
+      << "this->space_dimension() == " << space_dim
+      << ", required space dimension == " << vars.space_dimension() << ".";
+    throw std::invalid_argument(s.str());
+  }
+
+  // Wrapping an empty polyhedron is a no-op.
+  if (pointset.is_empty())
+    return;
+
+  // Set `min_value' and `max_value' to the minimum and maximum values
+  // a variable of width `w' and signedness `s' can take.
+  PPL_DIRTY_TEMP_COEFFICIENT(min_value);
+  PPL_DIRTY_TEMP_COEFFICIENT(max_value);
+  if (r == UNSIGNED) {
+    min_value = 0;
+    mul_2exp_assign(max_value, Coefficient_one(), w);
+    --max_value;
+  }
+  else {
+    PPL_ASSERT(r == SIGNED_2_COMPLEMENT);
+    mul_2exp_assign(max_value, Coefficient_one(), w-1);
+    neg_assign(min_value, max_value);
+    --max_value;
+  }
+
+  // If we are wrapping variables collectively, the ranges for the
+  // required translations are saved in `translations' instead of being
+  // immediately applied.
+  Wrap_Translations translations;
+
+  // Dimensions subject to translation are added to this set if we are
+  // wrapping collectively or if `pcs' is non null.
+  Variables_Set dimensions_to_be_translated;
+
+  // This will contain a lower bound to the number of abstractions
+  // to be joined in order to obtain the collective wrapping result.
+  // As soon as this exceeds `complexity_threshold', counting will be
+  // interrupted and the full range will be the result of wrapping
+  // any dimension that is not fully contained in quadrant 0.
+  unsigned collective_wrap_complexity = 1;
+
+  // This flag signals that the maximum complexity for collective
+  // wrapping as been exceeded.
+  bool collective_wrap_too_complex = false;
+
+  if (!wrap_individually) {
+    translations.reserve(space_dim);
+  }
+
+  // We use `full_range_bounds' to delay conversions whenever
+  // this delay does not negatively affect precision.
+  Constraint_System full_range_bounds;
+
+  PPL_DIRTY_TEMP_COEFFICIENT(ln);
+  PPL_DIRTY_TEMP_COEFFICIENT(ld);
+  PPL_DIRTY_TEMP_COEFFICIENT(un);
+  PPL_DIRTY_TEMP_COEFFICIENT(ud);
+
+  for (Variables_Set::const_iterator i = vars.begin(),
+         vars_end = vars.end(); i != vars_end; ++i) {
+
+    const Variable x = Variable(*i);
+
+    bool extremum;
+
+    if (!pointset.minimize(x, ln, ld, extremum)) {
+    set_full_range:
+      pointset.unconstrain(x);
+      full_range_bounds.insert(min_value <= x);
+      full_range_bounds.insert(x <= max_value);
+      continue;
+    }
+
+    if (!pointset.maximize(x, un, ud, extremum))
+      goto set_full_range;
+
+    div_assign_r(ln, ln, ld, ROUND_DOWN);
+    div_assign_r(un, un, ud, ROUND_DOWN);
+    ln -= min_value;
+    un -= min_value;
+    div_2exp_assign_r(ln, ln, w, ROUND_DOWN);
+    div_2exp_assign_r(un, un, w, ROUND_DOWN);
+    Coefficient& first_quadrant = ln;
+    Coefficient& last_quadrant = un;
+
+    // Special case: this variable does not need wrapping.
+    if (first_quadrant == 0 && last_quadrant == 0)
+      continue;
+
+    // If overflow is impossible, try not to add useless constraints.
+    if (o == OVERFLOW_IMPOSSIBLE) {
+      if (first_quadrant < 0)
+        full_range_bounds.insert(min_value <= x);
+      if (last_quadrant > 0)
+        full_range_bounds.insert(x <= max_value);
+      continue;
+    }
+
+    if (o == OVERFLOW_UNDEFINED || collective_wrap_too_complex)
+      goto set_full_range;
+
+    Coefficient& quadrants = ud;
+    quadrants = last_quadrant - first_quadrant + 1;
+
+    unsigned extension;
+    Result res = assign_r(extension, quadrants, ROUND_IGNORE);
+    if (result_overflow(res) || extension > complexity_threshold)
+      goto set_full_range;
+
+    if (!wrap_individually && !collective_wrap_too_complex) {
+      res = mul_assign_r(collective_wrap_complexity,
+                         collective_wrap_complexity, extension, ROUND_IGNORE);
+      if (result_overflow(res)
+          || collective_wrap_complexity > complexity_threshold)
+        collective_wrap_too_complex = true;
+      if (collective_wrap_too_complex) {
+        // Set all the dimensions in `translations' to full range.
+        for (Wrap_Translations::const_iterator j = translations.begin(),
+               tend = translations.end(); j != tend; ++j) {
+          const Variable& y = j->var;
+          pointset.unconstrain(y);
+          full_range_bounds.insert(min_value <= y);
+          full_range_bounds.insert(y <= max_value);
+        }
+      }
+    }
+
+    if (wrap_individually && pcs == 0) {
+      Coefficient& quadrant = first_quadrant;
+      // Temporary variable holding the shifts to be applied in order
+      // to implement the translations.
+      Coefficient& shift = ld;
+      PSET hull(space_dim, EMPTY);
+      for ( ; quadrant <= last_quadrant; ++quadrant) {
+        PSET p(pointset);
+        if (quadrant != 0) {
+          mul_2exp_assign(shift, quadrant, w);
+          p.affine_image(x, x - shift, 1);
+        }
+        p.refine_with_constraint(min_value <= x);
+        p.refine_with_constraint(x <= max_value);
+        hull.upper_bound_assign(p);
+      }
+      pointset.swap(hull);
+    }
+    else if (wrap_individually || !collective_wrap_too_complex) {
+      PPL_ASSERT(!wrap_individually || pcs != 0);
+      dimensions_to_be_translated.insert(x);
+      translations
+        .push_back(Wrap_Dim_Translations(x, first_quadrant, last_quadrant));
+    }
+  }
+
+  if (!translations.empty()) {
+    if (wrap_individually) {
+      PPL_ASSERT(pcs != 0);
+      wrap_assign_ind(pointset, dimensions_to_be_translated,
+                      translations.begin(), translations.end(),
+                      w, min_value, max_value, *pcs, ln, ld);
+    }
+    else {
+      PSET hull(space_dim, EMPTY);
+      wrap_assign_col(hull, pointset, dimensions_to_be_translated,
+                      translations.begin(), translations.end(),
+                      w, min_value, max_value, pcs, ln);
+      pointset.swap(hull);
+    }
+  }
+
+  if (pcs != 0)
+    pointset.refine_with_constraints(*pcs);
+  pointset.refine_with_constraints(full_range_bounds);
+}
+
+} // namespace Implementation
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Octagonal_Shape.inlines.hh line 36. */
 #include <algorithm>
 
 namespace Parma_Polyhedra_Library {
 
-// FIXME: find the appropriate place for this.
-/*! \relates Octagonal_Shape */
+namespace Implementation {
+
+namespace Octagonal_Shapes {
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns the index coherent to \p i.
+/*! \relates Parma_Polyhedra_Library::Octagonal_Shape */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 inline dimension_type
 coherent_index(const dimension_type i) {
   return (i % 2 != 0) ? i-1 : i+1;
 }
 
+} // namespace Octagonal_Shapes
+
+} // namespace Implementation
+
 template <typename T>
 inline dimension_type
 Octagonal_Shape<T>::max_space_dimension() {
@@ -50151,7 +54478,7 @@ Octagonal_Shape<T>::Octagonal_Shape(const dimension_type num_dimensions,
   else if (num_dimensions > 0)
     // A (non zero-dim) universe octagon is strongly closed.
     set_strongly_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -50353,8 +54680,6 @@ Octagonal_Shape<T>::is_topologically_closed() const {
 template <typename T>
 inline void
 Octagonal_Shape<T>::topological_closure_assign() {
-  // Nothing to be done.
-  return;
 }
 
 /*! \relates Octagonal_Shape */
@@ -50396,7 +54721,8 @@ template <typename T>
 inline const typename Octagonal_Shape<T>::coefficient_type&
 Octagonal_Shape<T>::matrix_at(const dimension_type i,
 			      const dimension_type j) const {
-  assert(i < matrix.num_rows() && j < matrix.num_rows());
+  PPL_ASSERT(i < matrix.num_rows() && j < matrix.num_rows());
+  using namespace Implementation::Octagonal_Shapes;
   return (j < matrix.row_size(i))
     ? matrix[i][j]
     : matrix[coherent_index(j)][coherent_index(i)];
@@ -50406,7 +54732,8 @@ template <typename T>
 inline typename Octagonal_Shape<T>::coefficient_type&
 Octagonal_Shape<T>::matrix_at(const dimension_type i,
 			      const dimension_type j) {
-  assert(i < matrix.num_rows() && j < matrix.num_rows());
+  PPL_ASSERT(i < matrix.num_rows() && j < matrix.num_rows());
+  using namespace Implementation::Octagonal_Shapes;
   return (j < matrix.row_size(i))
     ? matrix[i][j]
     : matrix[coherent_index(j)][coherent_index(i)];
@@ -50426,9 +54753,9 @@ Octagonal_Shape<T>::add_octagonal_constraint(const dimension_type i,
 					     const N& k) {
   // Private method: the caller has to ensure the following.
 #ifndef NDEBUG
-  assert(i < 2*space_dim && j < 2*space_dim && i != j);
+  PPL_ASSERT(i < 2*space_dim && j < 2*space_dim && i != j);
   typename OR_Matrix<N>::row_iterator m_i = matrix.row_begin() + i;
-  assert(j < m_i.row_size());
+  PPL_ASSERT(j < m_i.row_size());
 #endif
   N& r_i_j = matrix[i][j];
   if (r_i_j > k) {
@@ -50447,10 +54774,10 @@ Octagonal_Shape<T>
 			   Coefficient_traits::const_reference den) {
 #ifndef NDEBUG
   // Private method: the caller has to ensure the following.
-  assert(i < 2*space_dim && j < 2*space_dim && i != j);
+  PPL_ASSERT(i < 2*space_dim && j < 2*space_dim && i != j);
   typename OR_Matrix<N>::row_iterator m_i = matrix.row_begin() + i;
-  assert(j < m_i.row_size());
-  assert(den != 0);
+  PPL_ASSERT(j < m_i.row_size());
+  PPL_ASSERT(den != 0);
 #endif
   PPL_DIRTY_TEMP(N, k);
   div_round_up(k, num, den);
@@ -50537,8 +54864,8 @@ Octagonal_Shape<T>::refine_with_congruences(const Congruence_System& cgs) {
 template <typename T>
 inline void
 Octagonal_Shape<T>::refine_no_check(const Congruence& cg) {
-  assert(!marked_empty());
-  assert(cg.space_dimension() <= space_dimension());
+  PPL_ASSERT(!marked_empty());
+  PPL_ASSERT(cg.space_dimension() <= space_dimension());
 
   if (cg.is_proper_congruence()) {
     if (cg.is_inconsistent())
@@ -50547,7 +54874,7 @@ Octagonal_Shape<T>::refine_no_check(const Congruence& cg) {
     return;
   }
 
-  assert(cg.is_equality());
+  PPL_ASSERT(cg.is_equality());
   Constraint c(cg);
   refine_no_check(c);
 }
@@ -50576,7 +54903,7 @@ Octagonal_Shape<T>
   // Note that this case also captures the only legal removal of
   // dimensions from an octagon in a 0-dim space.
   if (new_dimension == space_dim) {
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -50587,7 +54914,22 @@ Octagonal_Shape<T>
   if (new_dimension == 0 && !marked_empty())
     set_zero_dim_univ();
   space_dim = new_dimension;
-  assert(OK());
+  PPL_ASSERT(OK());
+}
+
+template <typename T>
+void
+Octagonal_Shape<T>::wrap_assign(const Variables_Set& vars,
+                                Bounded_Integer_Type_Width w,
+                                Bounded_Integer_Type_Representation r,
+                                Bounded_Integer_Type_Overflow o,
+                                const Constraint_System* pcs,
+                                unsigned complexity_threshold,
+                                bool wrap_individually) {
+  Implementation::wrap_assign(*this,
+                              vars, w, r, o, pcs,
+                              complexity_threshold, wrap_individually,
+                              "Octagonal_Shape");
 }
 
 template <typename T>
@@ -50626,7 +54968,7 @@ Octagonal_Shape<T>::time_elapse_assign(const Octagonal_Shape& y) {
   px.time_elapse_assign(py);
   Octagonal_Shape<T> x(px);
   swap(x);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -50636,12 +54978,6 @@ Octagonal_Shape<T>::strictly_contains(const Octagonal_Shape& y) const {
   return x.contains(y) && !y.contains(x);
 }
 
-template <typename T>
-inline bool
-Octagonal_Shape<T>::upper_bound_assign_if_exact(const Octagonal_Shape& y) {
-  return BHZ09_upper_bound_assign_if_exact(y);
-}
-
 /*! \relates Octagonal_Shape */
 template <typename Temp, typename To, typename T>
 inline bool
@@ -50849,6 +55185,19 @@ Octagonal_Shape<T>::hash_code() const {
   return space_dimension() & 0x7fffffff;
 }
 
+template <typename T>
+inline void
+Octagonal_Shape<T>::drop_some_non_integer_points_helper(N& elem) {
+  if (!is_integer(elem)) {
+#ifndef NDEBUG
+    Result r =
+#endif
+    floor_assign_r(elem, elem, ROUND_DOWN);
+    PPL_ASSERT(r == V_EQ);
+    reset_strongly_closed();
+  }
+}
+
 } // namespace Parma_Polyhedra_Library
 
 namespace std {
@@ -50868,8 +55217,7 @@ swap(Parma_Polyhedra_Library::Octagonal_Shape<T>& x,
 */
 
 
-/* Automatically generated from PPL source file ../src/Octagonal_Shape.templates.hh line 30. */
-#include <cassert>
+/* Automatically generated from PPL source file ../src/Octagonal_Shape.templates.hh line 32. */
 #include <vector>
 #include <deque>
 #include <string>
@@ -50907,7 +55255,7 @@ Octagonal_Shape<T>::Octagonal_Shape(const Polyhedron& ph,
   // We cannot afford exponential complexity, we do not have a complete set
   // of generators for the polyhedron, and the polyhedron is not trivially
   // empty or zero-dimensional.  Constraints, however, are up to date.
-  assert(ph.constraints_are_up_to_date());
+  PPL_ASSERT(ph.constraints_are_up_to_date());
 
   if (!ph.has_something_pending() && ph.constraints_are_minimized()) {
     // If the constraint system of the polyhedron is minimized,
@@ -51024,12 +55372,12 @@ Octagonal_Shape<T>::Octagonal_Shape(const Polyhedron& ph,
       }
     }
     set_strongly_closed();
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
   // Extract easy-to-find bounds from constraints.
-  assert(complexity == POLYNOMIAL_COMPLEXITY);
+  PPL_ASSERT(complexity == POLYNOMIAL_COMPLEXITY);
   *this = Octagonal_Shape(num_dimensions, UNIVERSE);
   refine_with_constraints(ph.constraints());
 }
@@ -51204,7 +55552,7 @@ Octagonal_Shape<T>::Octagonal_Shape(const Generator_System& gs)
     }
   }
   set_strongly_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -51271,6 +55619,7 @@ Octagonal_Shape<T>::add_constraint(const Constraint& c) {
       --i_iter;
 
     typename OR_Matrix<N>::row_reference_type m_ci = *i_iter;
+    using namespace Implementation::Octagonal_Shapes;
     dimension_type cj = coherent_index(j);
     N& m_ci_cj = m_ci[cj];
     // Also compute the bound for `m_ci_cj', rounding towards plus infinity.
@@ -51285,7 +55634,7 @@ Octagonal_Shape<T>::add_constraint(const Constraint& c) {
   // This method does not preserve closure.
   if (is_oct_changed && marked_strongly_closed())
     reset_strongly_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -51310,7 +55659,7 @@ Octagonal_Shape<T>::add_congruence(const Congruence& cg) {
                   "cg is a non-trivial, proper congruence");
   }
 
-  assert(cg.is_equality());
+  PPL_ASSERT(cg.is_equality());
   Constraint c(cg);
   add_constraint(c);
 }
@@ -51318,9 +55667,9 @@ Octagonal_Shape<T>::add_congruence(const Congruence& cg) {
 template <typename T>
 void
 Octagonal_Shape<T>::refine_no_check(const Constraint& c) {
-  assert(!marked_empty());
+  PPL_ASSERT(!marked_empty());
   const dimension_type c_space_dim = c.space_dimension();
-  assert(c_space_dim <= space_dim);
+  PPL_ASSERT(c_space_dim <= space_dim);
 
   dimension_type num_vars = 0;
   dimension_type i = 0;
@@ -51367,6 +55716,7 @@ Octagonal_Shape<T>::refine_no_check(const Constraint& c) {
       --i_iter;
 
     typename OR_Matrix<N>::row_reference_type m_ci = *i_iter;
+    using namespace Implementation::Octagonal_Shapes;
     dimension_type cj = coherent_index(j);
     N& m_ci_cj = m_ci[cj];
     // Also compute the bound for `m_ci_cj', rounding towards plus infinity.
@@ -51381,7 +55731,7 @@ Octagonal_Shape<T>::refine_no_check(const Constraint& c) {
   // This method does not preserve closure.
   if (is_oct_changed && marked_strongly_closed())
     reset_strongly_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -51471,7 +55821,7 @@ Octagonal_Shape<T>::minimized_congruences() const {
         const N& c_ii_i = matrix[i+1][i];
 #ifndef NDEBUG
         const N& c_i_ii = matrix[i][i+1];
-        assert(is_additive_inverse(c_i_ii, c_ii_i));
+        PPL_ASSERT(is_additive_inverse(c_i_ii, c_ii_i));
 #endif
         numer_denom(c_ii_i, num, den);
         den *= 2;
@@ -51485,8 +55835,9 @@ Octagonal_Shape<T>::minimized_congruences() const {
       {
         const N& c_i_li = matrix[i][lead_i];
 #ifndef NDEBUG
+        using namespace Implementation::Octagonal_Shapes;
         const N& c_ii_lii = matrix[i+1][coherent_index(lead_i)];
-        assert(is_additive_inverse(c_ii_lii, c_i_li));
+        PPL_ASSERT(is_additive_inverse(c_ii_lii, c_i_li));
 #endif
         const Variable x(lead_i/2);
         const Variable y(i/2);
@@ -51532,7 +55883,7 @@ Octagonal_Shape<T>::concatenate_assign(const Octagonal_Shape& y) {
   add_space_dimensions_and_embed(y.space_dim);
   typename OR_Matrix<N>::const_element_iterator
     y_it = y.matrix.element_begin();
-  for(typename OR_Matrix<N>::row_iterator i = matrix.row_begin()+old_num_rows,
+  for (typename OR_Matrix<N>::row_iterator i = matrix.row_begin()+old_num_rows,
         matrix_row_end = matrix.row_end(); i != matrix_row_end; ++i) {
     typename OR_Matrix<N>::row_reference_type r = *i;
     dimension_type rs_i = i.row_size();
@@ -51543,7 +55894,7 @@ Octagonal_Shape<T>::concatenate_assign(const Octagonal_Shape& y) {
   // The concatenation doesn't preserve the closure.
   if (marked_strongly_closed())
     reset_strongly_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -51612,7 +55963,8 @@ Octagonal_Shape<T>::is_disjoint_from(const Octagonal_Shape& y) const {
   const Row_Iterator y_begin = y.matrix.row_begin();
 
   PPL_DIRTY_TEMP(N, neg_y_ci_cj);
-  for (Row_Iterator i_iter = m_begin; i_iter != m_end; ++i_iter) {
+    for (Row_Iterator i_iter = m_begin; i_iter != m_end; ++i_iter) {
+    using namespace Implementation::Octagonal_Shapes;
     const dimension_type i = i_iter.index();
     const dimension_type ci = coherent_index(i);
     const dimension_type rs_i = i_iter.row_size();
@@ -51699,7 +56051,6 @@ Octagonal_Shape<T>::contains_integer_point() const {
   oct_z.reset_strongly_closed();
 
   typedef Octagonal_Shape<mpz_class>::N Z;
-  PPL_DIRTY_TEMP(N, tmp);
   bool all_integers = true;
   typename OR_Matrix<N>::const_element_iterator x_i = matrix.element_begin();
   for (typename OR_Matrix<Z>::element_iterator
@@ -51712,11 +56063,7 @@ Octagonal_Shape<T>::contains_integer_point() const {
       assign_r(*z_i, d, ROUND_NOT_NEEDED);
     else {
       all_integers = false;
-      Z& d_z = *z_i;
-      // Copy d into d_z, but rounding downwards.
-      neg_assign_r(tmp, d, ROUND_NOT_NEEDED);
-      assign_r(d_z, tmp, ROUND_UP);
-      neg_assign_r(d_z, d_z, ROUND_NOT_NEEDED);
+      assign_r(*z_i, d, ROUND_DOWN);
     }
   }
   // Restore strong closure.
@@ -51734,13 +56081,163 @@ Octagonal_Shape<T>::contains_integer_point() const {
 
 template <typename T>
 bool
+Octagonal_Shape<T>::frequency(const Linear_Expression& expr,
+                              Coefficient& freq_n, Coefficient& freq_d,
+                              Coefficient& val_n, Coefficient& val_d) const {
+  dimension_type space_dim = space_dimension();
+  // The dimension of `expr' must be at most the dimension of *this.
+  if (space_dim < expr.space_dimension())
+    throw_dimension_incompatible("frequency(e, ...)", "e", expr);
+
+  // Check if `expr' has a constant value.
+  // If it is constant, set the frequency `freq_n' to 0
+  // and return true. Otherwise the values for \p expr
+  // are not discrete so return false.
+
+  // Space dimension = 0: if empty, then return false;
+  // otherwise the frequency is 0 and the value is the inhomogeneous term.
+  if (space_dim == 0) {
+    if (is_empty())
+      return false;
+    freq_n = 0;
+    freq_d = 1;
+    val_n = expr.inhomogeneous_term();
+    val_d = 1;
+    return true;
+  }
+
+  strong_closure_assign();
+  // For an empty Octagonal shape, we simply return false.
+  if (marked_empty())
+    return false;
+
+  // The Octagonal shape has at least 1 dimension and is not empty.
+  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
+  PPL_DIRTY_TEMP_COEFFICIENT(coeff_j);
+  PPL_DIRTY_TEMP_COEFFICIENT(num);
+  PPL_DIRTY_TEMP_COEFFICIENT(den);
+  Linear_Expression le = expr;
+  // Boolean to keep track of a variable `v' in expression `le'.
+  // If we can replace `v' by an expression using variables other
+  // than `v' and are already in `le', then this is set to true.
+  bool constant_v = false;
+
+  typedef typename OR_Matrix<N>::const_row_iterator Row_Iterator;
+  typedef typename OR_Matrix<N>::const_row_reference_type Row_Reference;
+
+  const Row_Iterator m_begin = matrix.row_begin();
+  const Row_Iterator m_end = matrix.row_end();
+
+  PPL_DIRTY_TEMP_COEFFICIENT(val_den);
+  val_den = 1;
+
+  for (Row_Iterator i_iter = m_begin; i_iter != m_end; i_iter += 2) {
+    constant_v = false;
+    dimension_type i = i_iter.index();
+    const Variable v(i/2);
+    coeff = le.coefficient(v);
+    if (coeff == 0) {
+      constant_v = true;
+      continue;
+    }
+    // We check the unary constraints.
+    Row_Reference m_i = *i_iter;
+    Row_Reference m_ii = *(i_iter+1);
+    const N& m_i_ii = m_i[i+1];
+    const N& m_ii_i = m_ii[i];
+    if ((!is_plus_infinity(m_i_ii) && !is_plus_infinity(m_ii_i))
+        && (is_additive_inverse(m_i_ii, m_ii_i))) {
+      // If `v' is constant, replace it in `le' by the value.
+      numer_denom(m_i_ii, num, den);
+      den *= 2;
+      le -= coeff*v;
+      le *= den;
+      le -= num*coeff;
+      val_den *= den;
+      constant_v = true;
+      continue;
+    }
+    // Check the octagonal constraints between `v' and the other dimensions
+    // that have non-zero coefficient in `le'.
+    else {
+      assert(!constant_v);
+      using namespace Implementation::Octagonal_Shapes;
+      const dimension_type ci = coherent_index(i);
+      for (Row_Iterator j_iter = i_iter; j_iter != m_end; j_iter += 2) {
+        dimension_type j = j_iter.index();
+        const Variable vj(j/2);
+        coeff_j = le.coefficient(vj);
+        if (coeff_j == 0)
+          // The coefficient in `le' is 0, so do nothing.
+          continue;
+        const dimension_type cj = coherent_index(j);
+        const dimension_type cjj = coherent_index(j+1);
+
+        Row_Reference m_j = *(m_begin + j);
+        Row_Reference m_cj = *(m_begin + cj);
+        const N& m_j_i = m_j[i];
+        const N& m_i_j = m_cj[ci];
+        if ((!is_plus_infinity(m_i_j) && !is_plus_infinity(m_j_i))
+            && (is_additive_inverse(m_i_j, m_j_i))) {
+          // The coefficient for `vj' in `le' is not 0
+          // and the constraint with `v' is an equality.
+          // So apply this equality to eliminate `v' in `le'.
+          numer_denom(m_i_j, num, den);
+          le -= coeff*v;
+          le += coeff*vj;
+          le *= den;
+          le -= num*coeff;
+          val_den *= den;
+          constant_v = true;
+          break;
+        }
+
+        m_j = *(m_begin + j + 1);
+        m_cj = *(m_begin + cjj);
+        const N& m_j_i1 = m_j[i];
+        const N& m_i_j1 = m_cj[ci];
+        if ((!is_plus_infinity(m_i_j1) && !is_plus_infinity(m_j_i1))
+            && (is_additive_inverse(m_i_j1, m_j_i1))) {
+          // The coefficient for `vj' in `le' is not 0
+          // and the constraint with `v' is an equality.
+          // So apply this equality to eliminate `v' in `le'.
+          numer_denom(m_i_j1, num, den);
+          le -= coeff*v;
+          le -= coeff*vj;
+          le *= den;
+          le -= num*coeff;
+          val_den *= den;
+          constant_v = true;
+          break;
+        }
+      }
+      if (!constant_v)
+        // The expression `expr' is not constant.
+        return false;
+    }
+  }
+  if (!constant_v)
+    // The expression `expr' is not constant.
+    return false;
+
+  // The expression 'expr' is constant.
+  freq_n = 0;
+  freq_d = 1;
+
+  // Reduce `val_n' and `val_d'.
+  normalize2(le.inhomogeneous_term(), val_den, val_n, val_d);
+  return true;
+}
+
+template <typename T>
+bool
 Octagonal_Shape<T>::constrains(const Variable var) const {
-  // `var' should be one of the dimensions of the polyhedron.
+  // `var' should be one of the dimensions of the octagonal shape.
   const dimension_type var_space_dim = var.space_dimension();
   if (space_dimension() < var_space_dim)
     throw_dimension_incompatible("constrains(v)", "v", var);
 
-  // A polyhedron known to be empty constrains all variables.
+  // An octagon known to be empty constrains all variables.
   // (Note: do not force emptiness check _yet_)
   if (marked_empty())
     return true;
@@ -51784,6 +56281,7 @@ Octagonal_Shape<T>::is_strong_coherent() const {
   for (dimension_type i = num_rows; i-- > 0; ) {
     typename OR_Matrix<N>::const_row_iterator iter = matrix.row_begin() + i;
     typename OR_Matrix<N>::const_row_reference_type m_i = *iter;
+    using namespace Implementation::Octagonal_Shapes;
     const N& m_i_ci = m_i[coherent_index(i)];
     for (dimension_type j = matrix.row_size(i); j-- > 0; )
       // Note: on the main diagonal only PLUS_INFINITY can occur.
@@ -51794,7 +56292,7 @@ Octagonal_Shape<T>::is_strong_coherent() const {
           // Compute (m_i_ci + m_cj_j)/2 into `semi_sum',
           // rounding the result towards plus infinity.
           add_assign_r(semi_sum, m_i_ci, m_cj_j, ROUND_UP);
-          div2exp_assign_r(semi_sum, semi_sum, 1, ROUND_UP);
+          div_2exp_assign_r(semi_sum, semi_sum, 1, ROUND_UP);
           if (m_i[j] > semi_sum)
             return false;
         }
@@ -51871,7 +56369,7 @@ Octagonal_Shape<T>::bounds(const Linear_Expression& expr,
     Optimization_Mode mode_bounds =
       from_above ? MAXIMIZATION : MINIMIZATION;
     MIP_Problem mip(space_dim, constraints(), expr, mode_bounds);
-    return (mip.solve() == OPTIMIZED_MIP_PROBLEM);
+    return mip.solve() == OPTIMIZED_MIP_PROBLEM;
   }
 }
 
@@ -51961,7 +56459,7 @@ Octagonal_Shape<T>::max_min(const Linear_Expression& expr,
       // Approximating the maximum/minimum of `expr'.
       if (num_vars == 1) {
         PPL_DIRTY_TEMP(N, m_i_j);
-        div2exp_assign_r(m_i_j, m_i[j], 1, ROUND_UP);
+        div_2exp_assign_r(m_i_j, m_i[j], 1, ROUND_UP);
         add_mul_assign_r(d, coeff_expr, m_i_j, ROUND_UP);
       }
       else
@@ -52030,9 +56528,8 @@ Octagonal_Shape<T>::relation_with(const Congruence& cg) const {
   dimension_type cg_space_dim = cg.space_dimension();
 
   // Dimension-compatibility check.
-  if (cg_space_dim > space_dim) {
+  if (cg_space_dim > space_dim)
     throw_dimension_incompatible("relation_with(cg)", cg);
-  }
 
   // If the congruence is an equality,
   // find the relation with the equivalent equality constraint.
@@ -52051,37 +56548,68 @@ Octagonal_Shape<T>::relation_with(const Congruence& cg) const {
   if (space_dim == 0) {
     if (cg.is_inconsistent())
       return Poly_Con_Relation::is_disjoint();
-    else if (cg.inhomogeneous_term() % cg.modulus() == 0)
+    else
       return Poly_Con_Relation::saturates()
         && Poly_Con_Relation::is_included();
   }
 
-  PPL_DIRTY_TEMP(Coefficient, min_num);
-  PPL_DIRTY_TEMP(Coefficient, min_den);
+  // Find the lower bound for a hyperplane with direction
+  // defined by the congruence.
+  Linear_Expression le = Linear_Expression(cg);
+  PPL_DIRTY_TEMP_COEFFICIENT(min_num);
+  PPL_DIRTY_TEMP_COEFFICIENT(min_den);
   bool min_included;
-  PPL_DIRTY_TEMP_COEFFICIENT(mod);
-  mod = cg.modulus();
-  Linear_Expression le;
-  for (dimension_type i = cg_space_dim; i-- > 0; )
-    le += cg.coefficient(Variable(i)) * Variable(i);
   bool bounded_below = minimize(le, min_num, min_den, min_included);
 
+  // If there is no lower bound, then some of the hyperplanes defined by
+  // the congruence will strictly intersect the shape.
   if (!bounded_below)
     return Poly_Con_Relation::strictly_intersects();
 
-  PPL_DIRTY_TEMP_COEFFICIENT(v);
-  PPL_DIRTY_TEMP_COEFFICIENT(lower_num);
-  PPL_DIRTY_TEMP_COEFFICIENT(lower_den);
-  PPL_DIRTY_TEMP_COEFFICIENT(lower);
-  assign_r(lower_num, min_num, ROUND_NOT_NEEDED);
-  assign_r(lower_den, min_den, ROUND_NOT_NEEDED);
-  neg_assign(v, cg.inhomogeneous_term());
-  lower = lower_num / lower_den;
-  v += ((lower / mod) * mod);
-  if (v * lower_den < lower_num)
-    v += mod;
-  const Constraint& c(le == v);
-  return relation_with(c);
+  // TODO: Consider adding a max_and_min() method, performing both
+  // maximization and minimization so as to possibly exploit
+  // incrementality of the MIP solver.
+
+  // Find the upper bound for a hyperplane with direction
+  // defined by the congruence.
+  PPL_DIRTY_TEMP_COEFFICIENT(max_num);
+  PPL_DIRTY_TEMP_COEFFICIENT(max_den);
+  bool max_included;
+  bool bounded_above = maximize(le, max_num, max_den, max_included);
+
+  // If there is no upper bound, then some of the hyperplanes defined by
+  // the congruence will strictly intersect the shape.
+  if (!bounded_above)
+    return Poly_Con_Relation::strictly_intersects();
+
+  PPL_DIRTY_TEMP_COEFFICIENT(signed_distance);
+
+  // Find the position value for the hyperplane that satisfies the congruence
+  // and is above the lower bound for the shape.
+  PPL_DIRTY_TEMP_COEFFICIENT(min_value);
+  min_value = min_num / min_den;
+  const Coefficient& modulus = cg.modulus();
+  signed_distance = min_value % modulus;
+  min_value -= signed_distance;
+  if (min_value * min_den < min_num)
+    min_value += modulus;
+
+  // Find the position value for the hyperplane that satisfies the congruence
+  // and is below the upper bound for the shape.
+  PPL_DIRTY_TEMP_COEFFICIENT(max_value);
+  max_value = max_num / max_den;
+  signed_distance = max_value % modulus;
+  max_value += signed_distance;
+  if (max_value * max_den > max_num)
+    max_value -= modulus;
+
+  // If the upper bound value is less than the lower bound value,
+  // then there is an empty intersection with the congruence;
+  // otherwise it will strictly intersect.
+  if (max_value < min_value)
+    return Poly_Con_Relation::is_disjoint();
+  else
+    return Poly_Con_Relation::strictly_intersects();
 }
 
 template <typename T>
@@ -52250,6 +56778,7 @@ Octagonal_Shape<T>::relation_with(const Constraint& c) const {
   else
     --i_iter;
   typename OR_Matrix<N>::const_row_reference_type m_ci = *i_iter;
+  using namespace Implementation::Octagonal_Shapes;
   const N& m_ci_cj = m_ci[coherent_index(j)];
   PPL_DIRTY_TEMP_COEFFICIENT(numer);
   PPL_DIRTY_TEMP_COEFFICIENT(denom);
@@ -52627,7 +57156,7 @@ Octagonal_Shape<T>::strong_closure_assign() const {
 
   // Fill the main diagonal with zeros.
   for (Row_Iterator i = m_begin; i != m_end; ++i) {
-    assert(is_plus_infinity((*i)[i.index()]));
+    PPL_ASSERT(is_plus_infinity((*i)[i.index()]));
     assign_r((*i)[i.index()], 0, ROUND_NOT_NEEDED);
   }
 
@@ -52697,6 +57226,7 @@ Octagonal_Shape<T>::strong_closure_assign() const {
       }
 
       for (dimension_type i = 0; i < n_rows; ++i) {
+        using namespace Implementation::Octagonal_Shapes;
         const dimension_type ci = coherent_index(i);
         const N& vec_k_ci = vec_k[ci];
         const N& vec_ck_ci = vec_ck[ci];
@@ -52735,7 +57265,7 @@ Octagonal_Shape<T>::strong_closure_assign() const {
       return;
     }
     else {
-      assert(sgn(x_i_i) == 0);
+      PPL_ASSERT(sgn(x_i_i) == 0);
       // Restore PLUS_INFINITY on the main diagonal.
       assign_r(x_i_i, PLUS_INFINITY, ROUND_NOT_NEEDED);
     }
@@ -52760,6 +57290,7 @@ Octagonal_Shape<T>::strong_coherence_assign() {
          i_end = matrix.row_end(); i_iter != i_end; ++i_iter) {
     typename OR_Matrix<N>::row_reference_type x_i = *i_iter;
     const dimension_type i = i_iter.index();
+    using namespace Implementation::Octagonal_Shapes;
     const N& x_i_ci = x_i[coherent_index(i)];
     // Avoid to do unnecessary sums.
     if (!is_plus_infinity(x_i_ci))
@@ -52768,7 +57299,7 @@ Octagonal_Shape<T>::strong_coherence_assign() {
           const N& x_cj_j = matrix[coherent_index(j)][j];
           if (!is_plus_infinity(x_cj_j)) {
             add_assign_r(semi_sum, x_i_ci, x_cj_j, ROUND_UP);
-            div2exp_assign_r(semi_sum, semi_sum, 1, ROUND_UP);
+            div_2exp_assign_r(semi_sum, semi_sum, 1, ROUND_UP);
             min_assign(x_i[j], semi_sum);
           }
         }
@@ -52778,8 +57309,8 @@ Octagonal_Shape<T>::strong_coherence_assign() {
 template <typename T>
 bool
 Octagonal_Shape<T>::tight_coherence_would_make_empty() const {
-  assert(std::numeric_limits<N>::is_integer);
-  assert(marked_strongly_closed());
+  PPL_ASSERT(std::numeric_limits<N>::is_integer);
+  PPL_ASSERT(marked_strongly_closed());
   const dimension_type space_dim = space_dimension();
   for (dimension_type i = 0; i < 2*space_dim; i += 2) {
     const dimension_type ci = i+1;
@@ -52796,6 +57327,39 @@ Octagonal_Shape<T>::tight_coherence_would_make_empty() const {
 
 template <typename T>
 void
+Octagonal_Shape<T>::tight_closure_assign() {
+  PPL_COMPILE_TIME_CHECK(std::numeric_limits<T>::is_integer,
+                         "Octagonal_Shape<T>::tight_closure_assign():"
+                         " T in not an integer datatype.");
+  // FIXME: this is just an executable specification.
+  // (The following call could be replaced by shortest-path closure.)
+  strong_closure_assign();
+  if (marked_empty())
+    return;
+  if (tight_coherence_would_make_empty())
+    set_empty();
+  else {
+    // Tighten the unary constraints.
+    PPL_DIRTY_TEMP(N, temp_one);
+    assign_r(temp_one, 1, ROUND_NOT_NEEDED);
+    const dimension_type space_dim = space_dimension();
+    for (dimension_type i = 0; i < 2*space_dim; i += 2) {
+      const dimension_type ci = i+1;
+      N& mat_i_ci = matrix[i][ci];
+      if (!is_plus_infinity(mat_i_ci) && !is_even(mat_i_ci))
+        sub_assign_r(mat_i_ci, mat_i_ci, temp_one, ROUND_UP);
+      N& mat_ci_i = matrix[ci][i];
+      if (!is_plus_infinity(mat_ci_i) && !is_even(mat_ci_i))
+        sub_assign_r(mat_ci_i, mat_ci_i, temp_one, ROUND_UP);
+    }
+    // Propagate tightened unary constraints.
+    strong_coherence_assign();
+  }
+  PPL_ASSERT(OK());
+}
+
+template <typename T>
+void
 Octagonal_Shape<T>
 ::incremental_strong_closure_assign(const Variable var) const {
   // `var' should be one of the dimensions of the octagon.
@@ -52817,7 +57381,7 @@ Octagonal_Shape<T>
 
   // Fill the main diagonal with zeros.
   for (Row_Iterator i = m_begin; i != m_end; ++i) {
-    assert(is_plus_infinity((*i)[i.index()]));
+    PPL_ASSERT(is_plus_infinity((*i)[i.index()]));
     assign_r((*i)[i.index()], 0, ROUND_NOT_NEEDED);
   }
 
@@ -52832,6 +57396,7 @@ Octagonal_Shape<T>
   const dimension_type rs_v = v_iter.row_size();
   const dimension_type n_rows = x.matrix.num_rows();
   PPL_DIRTY_TEMP(N, sum);
+  using namespace Implementation::Octagonal_Shapes;
   for (Row_Iterator k_iter = m_begin; k_iter != m_end; ++k_iter) {
     const dimension_type k = k_iter.index();
     const dimension_type ck = coherent_index(k);
@@ -52923,7 +57488,7 @@ Octagonal_Shape<T>
     }
     else {
       // Restore PLUS_INFINITY on the main diagonal.
-      assert(sgn(x_i_i) == 0);
+      PPL_ASSERT(sgn(x_i_i) == 0);
       assign_r(x_i_i, PLUS_INFINITY, ROUND_NOT_NEEDED);
     }
   }
@@ -52938,8 +57503,8 @@ template <typename T>
 void
 Octagonal_Shape<T>
 ::compute_successors(std::vector<dimension_type>& successor) const {
-  assert(!marked_empty() && marked_strongly_closed());
-  assert(successor.size() == 0);
+  PPL_ASSERT(!marked_empty() && marked_strongly_closed());
+  PPL_ASSERT(successor.size() == 0);
   // Variables are ordered according to their index.
   // The vector `successor' is used to indicate which variable
   // immediately follows a given one in the corresponding equivalence class.
@@ -52955,7 +57520,9 @@ Octagonal_Shape<T>
     typename OR_Matrix<N>::const_row_reference_type m_ci
       = (i % 2 != 0) ? *(i_iter-1) : *(i_iter+1);
     for (dimension_type j = 0; j < i; ++j) {
+      // FIXME: what is the following, commented-out for?
     //for (dimension_type j = i; j-- > 0; ) {
+      using namespace Implementation::Octagonal_Shapes;
       dimension_type cj = coherent_index(j);
       if (is_additive_inverse(m_ci[cj], m_i[j]))
         // Choose as successor the variable having the greatest index.
@@ -52968,8 +57535,8 @@ template <typename T>
 void
 Octagonal_Shape<T>
 ::compute_leaders(std::vector<dimension_type>& leaders) const {
-  assert(!marked_empty() && marked_strongly_closed());
-  assert(leaders.size() == 0);
+  PPL_ASSERT(!marked_empty() && marked_strongly_closed());
+  PPL_ASSERT(leaders.size() == 0);
   // Variables are ordered according to their index.
   // The vector `leaders' is used to indicate the smallest variable
   // that belongs to the corresponding equivalence class.
@@ -52987,6 +57554,7 @@ Octagonal_Shape<T>
     typename OR_Matrix<N>::const_row_reference_type m_ci
       = (i % 2 != 0) ? *(i_iter-1) : *(i_iter+1);
     for (dimension_type j = 0; j < i; ++j) {
+      using namespace Implementation::Octagonal_Shapes;
       dimension_type cj = coherent_index(j);
       if (is_additive_inverse(m_ci[cj], m_i[j]))
         // Choose as leader the variable having the smaller index.
@@ -53002,8 +57570,8 @@ Octagonal_Shape<T>
                   std::vector<dimension_type>& no_sing_leaders,
                   bool& exist_sing_class,
                   dimension_type& sing_leader) const {
-  assert(!marked_empty() && marked_strongly_closed());
-  assert(no_sing_leaders.size() == 0);
+  PPL_ASSERT(!marked_empty() && marked_strongly_closed());
+  PPL_ASSERT(no_sing_leaders.size() == 0);
   dimension_type successor_size = successor.size();
   std::deque<bool> dealt_with(successor_size, false);
   for (dimension_type i = 0; i < successor_size; ++i) {
@@ -53011,6 +57579,7 @@ Octagonal_Shape<T>
     if (!dealt_with[i]) {
       // The index is a leader.
       // Now check if it is a leader of a singular class or not.
+      using namespace Implementation::Octagonal_Shapes;
       if (next_i == coherent_index(i)) {
         exist_sing_class = true;
         sing_leader = i;
@@ -53055,9 +57624,9 @@ Octagonal_Shape<T>::strong_reduction_assign() const {
   x.reset_strongly_closed();
 #ifndef NDEBUG
   const Octagonal_Shape x_copy_after(x);
-  assert(x_copy_before == x_copy_after);
-  assert(x.is_strongly_reduced());
-  assert(x.OK());
+  PPL_ASSERT(x_copy_before == x_copy_after);
+  PPL_ASSERT(x.is_strongly_reduced());
+  PPL_ASSERT(x.OK());
 #endif
 }
 
@@ -53066,8 +57635,8 @@ void
 Octagonal_Shape<T>
 ::non_redundant_matrix_entries(std::vector<Bit_Row>& nr_rows) const {
   // Private method: the caller has to ensure the following.
-  assert(space_dim > 0 && !marked_empty() && marked_strongly_closed());
-  assert(nr_rows.empty());
+  PPL_ASSERT(space_dim > 0 && !marked_empty() && marked_strongly_closed());
+  PPL_ASSERT(nr_rows.empty());
 
   // Initialize `non_redundant' as if it was an OR_Matrix of booleans
   // (initially set to false).
@@ -53085,10 +57654,12 @@ Octagonal_Shape<T>
   compute_leaders(successor, no_sing_leaders, exist_sing_class, sing_leader);
   const dimension_type num_no_sing_leaders = no_sing_leaders.size();
 
+
   // Step 2: flag redundant constraints in `redundancy'.
   // Go through non-singular leaders first.
   for (dimension_type li = 0; li < num_no_sing_leaders; ++li) {
     const dimension_type i = no_sing_leaders[li];
+    using namespace Implementation::Octagonal_Shapes;
     const dimension_type ci = coherent_index(i);
     typename OR_Matrix<N>::const_row_reference_type
       m_i = *(matrix.row_begin()+i);
@@ -53125,7 +57696,7 @@ Octagonal_Shape<T>
       // m_i_j >= (m_i_ci + m_cj_j)/2,   where j != ci.
       if (j != ci) {
         add_assign_r(tmp, m_i_ci, matrix[cj][j], ROUND_UP);
-        div2exp_assign_r(tmp, tmp, 1, ROUND_UP);
+        div_2exp_assign_r(tmp, tmp, 1, ROUND_UP);
         if (m_i_j >= tmp)
           // The constraint is redundant.
           continue;
@@ -53214,7 +57785,7 @@ Octagonal_Shape<T>::upper_bound_assign(const Octagonal_Shape& y) {
     max_assign(*i, *j);
 
   // The result is still closed.
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -53278,7 +57849,7 @@ Octagonal_Shape<T>::difference_assign(const Octagonal_Shape& y) {
     }
   }
   *this = new_oct;
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -53351,7 +57922,7 @@ Octagonal_Shape<T>::simplify_using_context_assign(const Octagonal_Shape& y) {
 
   found:
     // Found: build a new OS contradicting the constraint found.
-    assert(i < dim && j < dim && i != j);
+    PPL_ASSERT(i < dim && j < dim && i != j);
     Octagonal_Shape<T> res(dim, UNIVERSE);
     // FIXME: compute a proper contradicting constraint.
     PPL_DIRTY_TEMP(N, tmp);
@@ -53359,7 +57930,7 @@ Octagonal_Shape<T>::simplify_using_context_assign(const Octagonal_Shape& y) {
     add_assign_r(tmp, tmp, y.matrix_at(i, j), ROUND_UP);
     // CHECKME: round down is really meant.
     neg_assign_r(res.matrix_at(j, i), tmp, ROUND_DOWN);
-    assert(!is_plus_infinity(res.matrix_at(j, i)));
+    PPL_ASSERT(!is_plus_infinity(res.matrix_at(j, i)));
     x.swap(res);
     return false;
   }
@@ -53379,7 +57950,7 @@ Octagonal_Shape<T>::simplify_using_context_assign(const Octagonal_Shape& y) {
   dimension_type x_num_nonred = 0;
   for (size_t i = x_nonred.size(); i-- > 0 ; )
     x_num_nonred += x_nonred[i].count_ones();
-  assert(x_num_nonred > 0);
+  PPL_ASSERT(x_num_nonred > 0);
 
   // Let `yy' be a copy of `y': we will keep adding to `yy'
   // the non-redundant constraints of `x',
@@ -53455,7 +58026,7 @@ Octagonal_Shape<T>::simplify_using_context_assign(const Octagonal_Shape& y) {
     if (j == i || j == sing_leader)
       continue;
     const N& x_i_j = x.matrix_at(i, j);
-    assert(!is_plus_infinity(x_i_j));
+    PPL_ASSERT(!is_plus_infinity(x_i_j));
     N& yy_i_j = yy.matrix_at(i, j);
     if (x_i_j < yy_i_j) {
       res.matrix_at(i, j) = x_i_j;
@@ -53466,7 +58037,7 @@ Octagonal_Shape<T>::simplify_using_context_assign(const Octagonal_Shape& y) {
     }
     const N& x_j_i = x.matrix_at(j, i);
     N& yy_j_i = yy.matrix_at(j, i);
-    assert(!is_plus_infinity(x_j_i));
+    PPL_ASSERT(!is_plus_infinity(x_j_i));
     if (x_j_i < yy_j_i) {
       res.matrix_at(j, i) = x_j_i;
       ++res_num_nonred;
@@ -53549,7 +58120,7 @@ Octagonal_Shape<T>::add_space_dimensions_and_embed(dimension_type m) {
   if (was_zero_dim_univ)
     set_strongly_closed();
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -53577,27 +58148,26 @@ Octagonal_Shape<T>::add_space_dimensions_and_project(dimension_type m) {
 
   if (marked_strongly_closed())
     reset_strongly_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
 void
-Octagonal_Shape<T>
-::remove_space_dimensions(const Variables_Set& to_be_removed) {
+Octagonal_Shape<T>::remove_space_dimensions(const Variables_Set& vars) {
   // The removal of no dimensions from any octagon is a no-op.
   // Note that this case also captures the only legal removal of
   // dimensions from a octagon in a 0-dim space.
-  if (to_be_removed.empty()) {
-    assert(OK());
+  if (vars.empty()) {
+    PPL_ASSERT(OK());
     return;
   }
 
   // Dimension-compatibility check.
-  const dimension_type min_space_dim = to_be_removed.space_dimension();
+  const dimension_type min_space_dim = vars.space_dimension();
   if (space_dim < min_space_dim)
     throw_dimension_incompatible("remove_space_dimensions(vs)", min_space_dim);
 
-  const dimension_type new_space_dim = space_dim - to_be_removed.size();
+  const dimension_type new_space_dim = space_dim - vars.size();
 
   strong_closure_assign();
   // When removing _all_ dimensions from an octagon,
@@ -53608,22 +58178,22 @@ Octagonal_Shape<T>
       // We set the zero_dim_univ flag.
       set_zero_dim_univ();
     space_dim = 0;
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
   // We consider every variable and we check if it is to be removed.
   // If it is to be removed, we pass to the successive one, elsewhere
   // we move its elements in the right position.
-  Variables_Set::const_iterator tbr = to_be_removed.begin();
-  dimension_type ftr = *tbr;
+  Variables_Set::const_iterator vsi = vars.begin();
+  dimension_type ftr = *vsi;
   dimension_type ftr_size = 2*ftr*(ftr+1);
   typename OR_Matrix<N>::element_iterator
     iter = matrix.element_begin()+ftr_size;
 
   dimension_type i = ftr + 1;
   while (i < space_dim) {
-    if (to_be_removed.count(i) != 0)
+    if (vars.count(i) != 0)
       ++i;
     else {
       typename OR_Matrix<N>::row_iterator
@@ -53639,12 +58209,12 @@ Octagonal_Shape<T>
       // second row. We recall that every variable is represented
       // in the `matrix' by two rows and two rows.
       for (dimension_type j = 0; j <= i; ++j)
-        if (to_be_removed.count(j) == 0) {
+        if (vars.count(j) == 0) {
           assign_or_swap(*(iter++), row_ref[2*j]);
           assign_or_swap(*(iter++), row_ref[2*j+1]);
         }
       for (dimension_type j = 0; j <= i; ++j)
-        if (to_be_removed.count(j) == 0) {
+        if (vars.count(j) == 0) {
           assign_or_swap(*(iter++), row_ref1[2*j]);
           assign_or_swap(*(iter++), row_ref1[2*j+1]);
         }
@@ -53654,7 +58224,7 @@ Octagonal_Shape<T>
   // Update the space dimension.
   matrix.shrink(new_space_dim);
   space_dim = new_space_dim;
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -53738,7 +58308,7 @@ Octagonal_Shape<T>::map_space_dimensions(const Partial_Function& pfunc) {
 
   std::swap(matrix, x);
   space_dim = new_space_dim;
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -53781,7 +58351,7 @@ Octagonal_Shape<T>::intersection_assign(const Octagonal_Shape& y) {
   // This method not preserve the closure.
   if (changed && marked_strongly_closed())
     reset_strongly_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -53799,7 +58369,7 @@ Octagonal_Shape<T>::CC76_extrapolation_assign(const Octagonal_Shape& y,
     // We assume that `y' is contained in or equal to `*this'.
     const Octagonal_Shape x_copy = *this;
     const Octagonal_Shape y_copy = y;
-    assert(x_copy.contains(y_copy));
+    PPL_ASSERT(x_copy.contains(y_copy));
   }
 #endif
 
@@ -53854,7 +58424,7 @@ Octagonal_Shape<T>::CC76_extrapolation_assign(const Octagonal_Shape& y,
   }
 
   reset_strongly_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -53864,7 +58434,7 @@ Octagonal_Shape<T>
                        Octagonal_Shape& limiting_octagon) const {
   const dimension_type cs_space_dim = cs.space_dimension();
   // Private method: the caller has to ensure the following.
-  assert(cs_space_dim <= space_dim);
+  PPL_ASSERT(cs_space_dim <= space_dim);
 
   strong_closure_assign();
   bool is_oct_changed = false;
@@ -53920,6 +58490,7 @@ Octagonal_Shape<T>
           Row_reference m_ci = *i_iter;
           Row_Reference lo_m_ci = *lo_iter;
           // Select the right column of the cell.
+          using namespace Implementation::Octagonal_Shapes;
           dimension_type cj = coherent_index(j);
           N& lo_m_ci_cj = lo_m_ci[cj];
           neg_assign(term);
@@ -53968,7 +58539,7 @@ Octagonal_Shape<T>
     // We assume that `y' is contained in or equal to `*this'.
     const Octagonal_Shape x_copy = *this;
     const Octagonal_Shape y_copy = y;
-    assert(x_copy.contains(y_copy));
+    PPL_ASSERT(x_copy.contains(y_copy));
   }
 #endif
 
@@ -53998,7 +58569,7 @@ Octagonal_Shape<T>::BHMZ05_widening_assign(const Octagonal_Shape& y,
     // We assume that `y' is contained in or equal to `*this'.
     const Octagonal_Shape x_copy = *this;
     const Octagonal_Shape y_copy = y;
-    assert(x_copy.contains(y_copy));
+    PPL_ASSERT(x_copy.contains(y_copy));
   }
 #endif
 
@@ -54013,7 +58584,7 @@ Octagonal_Shape<T>::BHMZ05_widening_assign(const Octagonal_Shape& y,
   // If the affine dimension has changed, due to the inclusion hypothesis,
   // the result is `*this'.
   const dimension_type x_affine_dim = affine_dimension();
-  assert(x_affine_dim >= y_affine_dim);
+  PPL_ASSERT(x_affine_dim >= y_affine_dim);
   if (x_affine_dim != y_affine_dim)
     return;
 
@@ -54028,7 +58599,7 @@ Octagonal_Shape<T>::BHMZ05_widening_assign(const Octagonal_Shape& y,
   }
 
   // Here no token is available.
-  assert(marked_strongly_closed() && y.marked_strongly_closed());
+  PPL_ASSERT(marked_strongly_closed() && y.marked_strongly_closed());
   // Minimize `y'.
   y.strong_reduction_assign();
 
@@ -54046,7 +58617,7 @@ Octagonal_Shape<T>::BHMZ05_widening_assign(const Octagonal_Shape& y,
       assign_r(elem, PLUS_INFINITY, ROUND_NOT_NEEDED);
   }
   reset_strongly_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -54080,7 +58651,7 @@ Octagonal_Shape<T>
     // We assume that `y' is contained in or equal to `*this'.
     const Octagonal_Shape x_copy = *this;
     const Octagonal_Shape y_copy = y;
-    assert(x_copy.contains(y_copy));
+    PPL_ASSERT(x_copy.contains(y_copy));
   }
 #endif
 
@@ -54109,7 +58680,7 @@ Octagonal_Shape<T>::CC76_narrowing_assign(const Octagonal_Shape& y) {
     // We assume that `*this' is contained in or equal to `y'.
     const Octagonal_Shape x_copy = *this;
     const Octagonal_Shape y_copy = y;
-    assert(y_copy.contains(x_copy));
+    PPL_ASSERT(y_copy.contains(x_copy));
   }
 #endif
 
@@ -54145,7 +58716,7 @@ Octagonal_Shape<T>::CC76_narrowing_assign(const Octagonal_Shape& y) {
 
   if (is_oct_changed && marked_strongly_closed())
     reset_strongly_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -54157,8 +58728,8 @@ Octagonal_Shape<T>
                        Coefficient_traits::const_reference sc_den,
                        const N& ub_v) {
   // Private method: the caller has to ensure the following.
-  assert(sc_den > 0);
-  assert(!is_plus_infinity(ub_v));
+  PPL_ASSERT(sc_den > 0);
+  PPL_ASSERT(!is_plus_infinity(ub_v));
 
   PPL_DIRTY_TEMP0(mpq_class, mpq_sc_den);
   assign_r(mpq_sc_den, sc_den, ROUND_NOT_NEEDED);
@@ -54194,7 +58765,7 @@ Octagonal_Shape<T>
         // We avoid to check if `ub_u' is plus infinity, because
         // it is used for the computation of `ub_v'.
         // Let half = m_cu_u / 2.
-        div2exp_assign_r(half, matrix[n_u+1][n_u], 1, ROUND_UP);
+        div_2exp_assign_r(half, matrix[n_u+1][n_u], 1, ROUND_UP);
         N& m_v_minus_u = (n_v < n_u) ? matrix[n_u][n_v] : m_cv[n_u+1];
         sub_assign_r(m_v_minus_u, ub_v, half, ROUND_UP);
       }
@@ -54208,11 +58779,11 @@ Octagonal_Shape<T>
           // computed as `ub_v - (q * ub_u + (1-q) * lb_u)',
           // i.e., `ub_v + (-lb_u) - q * (ub_u + (-lb_u))'.
           assign_r(minus_lb_u, m_u_cu, ROUND_NOT_NEEDED);
-          div2exp_assign_r(minus_lb_u, minus_lb_u, 1, ROUND_NOT_NEEDED);
+          div_2exp_assign_r(minus_lb_u, minus_lb_u, 1, ROUND_NOT_NEEDED);
           assign_r(q, expr_u, ROUND_NOT_NEEDED);
           div_assign_r(q, q, mpq_sc_den, ROUND_NOT_NEEDED);
           assign_r(ub_u, matrix[n_u+1][n_u], ROUND_NOT_NEEDED);
-          div2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED);
+          div_2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED);
           // Compute `ub_u - lb_u'.
           add_assign_r(ub_u, ub_u, minus_lb_u, ROUND_NOT_NEEDED);
           // Compute `(-lb_u) - q * (ub_u - lb_u)'.
@@ -54225,7 +58796,7 @@ Octagonal_Shape<T>
       }
     }
     else {
-      assert(expr_u < 0);
+      PPL_ASSERT(expr_u < 0);
       // If `expr_u' is negative, we can improve `v + u'.
       neg_assign(minus_expr_u, expr_u);
       if (minus_expr_u >= sc_den) {
@@ -54233,7 +58804,7 @@ Octagonal_Shape<T>
         // We avoid to check if `lb_u' is plus infinity, because
         // it is used for the computation of `ub_v'.
         // Let half = m_u_cu / 2.
-        div2exp_assign_r(half, matrix[n_u][n_u+1], 1, ROUND_UP);
+        div_2exp_assign_r(half, matrix[n_u][n_u+1], 1, ROUND_UP);
         N& m_v_plus_u = (n_v < n_u) ? matrix[n_u+1][n_v] : m_cv[n_u];
         sub_assign_r(m_v_plus_u, ub_v, half, ROUND_UP);
       }
@@ -54247,11 +58818,11 @@ Octagonal_Shape<T>
           // computed as `ub_v + ((-q) * lb_u + (1+q) * ub_u)',
           // i.e., `ub_v + ub_u + (-q) * (lb_u - ub_u)'.
           assign_r(ub_u, m_cu[n_u], ROUND_NOT_NEEDED);
-          div2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED);
+          div_2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED);
           assign_r(minus_q, minus_expr_u, ROUND_NOT_NEEDED);
           div_assign_r(minus_q, minus_q, mpq_sc_den, ROUND_NOT_NEEDED);
           assign_r(lb_u, matrix[n_u][n_u+1], ROUND_NOT_NEEDED);
-          div2exp_assign_r(lb_u, lb_u, 1, ROUND_NOT_NEEDED);
+          div_2exp_assign_r(lb_u, lb_u, 1, ROUND_NOT_NEEDED);
           neg_assign_r(lb_u, lb_u, ROUND_NOT_NEEDED);
           // Compute `lb_u - ub_u'.
           sub_assign_r(lb_u, lb_u, ub_u, ROUND_NOT_NEEDED);
@@ -54276,8 +58847,8 @@ Octagonal_Shape<T>
                              Coefficient_traits::const_reference sc_den,
                              const N& minus_lb_v) {
   // Private method: the caller has to ensure the following.
-  assert(sc_den > 0);
-  assert(!is_plus_infinity(minus_lb_v));
+  PPL_ASSERT(sc_den > 0);
+  PPL_ASSERT(!is_plus_infinity(minus_lb_v));
 
   PPL_DIRTY_TEMP0(mpq_class, mpq_sc_den);
   assign_r(mpq_sc_den, sc_den, ROUND_NOT_NEEDED);
@@ -54312,7 +58883,7 @@ Octagonal_Shape<T>
         // We avoid to check if `lb_u' is plus infinity, because
         // it is used for the computation of `lb_v'.
         // Let half = m_u_cu / 2.
-        div2exp_assign_r(half, matrix[n_u][n_u+1], 1, ROUND_UP);
+        div_2exp_assign_r(half, matrix[n_u][n_u+1], 1, ROUND_UP);
         N& m_u_minus_v = (n_v < n_u) ? matrix[n_u+1][n_v+1] : m_v[n_u];
         sub_assign_r(m_u_minus_v, minus_lb_v, half, ROUND_UP);
       }
@@ -54326,11 +58897,11 @@ Octagonal_Shape<T>
           // computed as `(q * lb_u + (1-q) * ub_u) - lb_v',
           // i.e., `ub_u - q * (ub_u + (-lb_u)) + minus_lb_v'.
           assign_r(ub_u, m_cu[n_u], ROUND_NOT_NEEDED);
-          div2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED);
+          div_2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED);
           assign_r(q, expr_u, ROUND_NOT_NEEDED);
           div_assign_r(q, q, mpq_sc_den, ROUND_NOT_NEEDED);
           assign_r(minus_lb_u, matrix[n_u][n_u+1], ROUND_NOT_NEEDED);
-          div2exp_assign_r(minus_lb_u, minus_lb_u, 1, ROUND_NOT_NEEDED);
+          div_2exp_assign_r(minus_lb_u, minus_lb_u, 1, ROUND_NOT_NEEDED);
           // Compute `ub_u - lb_u'.
           add_assign_r(minus_lb_u, ub_u, minus_lb_u, ROUND_NOT_NEEDED);
           // Compute `ub_u - q * (ub_u - lb_u)'.
@@ -54343,7 +58914,7 @@ Octagonal_Shape<T>
       }
     }
     else {
-      assert(expr_u < 0);
+      PPL_ASSERT(expr_u < 0);
       // If `expr_u' is negative, we can improve `-v - u'.
       neg_assign(minus_expr_u, expr_u);
       if (minus_expr_u >= sc_den) {
@@ -54351,7 +58922,7 @@ Octagonal_Shape<T>
         // We avoid to check if `ub_u' is plus infinity, because
         // it is used for the computation of `lb_v'.
         // Let half = m_cu_u / 2.
-        div2exp_assign_r(half, matrix[n_u+1][n_u], 1, ROUND_UP);
+        div_2exp_assign_r(half, matrix[n_u+1][n_u], 1, ROUND_UP);
         N& m_minus_v_minus_u = (n_v < n_u) ? matrix[n_u][n_v+1] : m_v[n_u+1];
         sub_assign_r(m_minus_v_minus_u, minus_lb_v, half, ROUND_UP);
       }
@@ -54365,11 +58936,11 @@ Octagonal_Shape<T>
           // computed as `-lb_v - ((-q)*ub_u + (1+q)*lb_u)',
           // i.e., `minus_lb_v - lb_u + q*(ub_u - lb_u)'.
           assign_r(ub_u, matrix[n_u+1][n_u], ROUND_NOT_NEEDED);
-          div2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED);
+          div_2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED);
           assign_r(q, expr_u, ROUND_NOT_NEEDED);
           div_assign_r(q, q, mpq_sc_den, ROUND_NOT_NEEDED);
           assign_r(minus_lb_u, m_u[n_u+1], ROUND_NOT_NEEDED);
-          div2exp_assign_r(minus_lb_u, minus_lb_u, 1, ROUND_NOT_NEEDED);
+          div_2exp_assign_r(minus_lb_u, minus_lb_u, 1, ROUND_NOT_NEEDED);
           // Compute `ub_u - lb_u'.
           add_assign_r(ub_u, ub_u, minus_lb_u, ROUND_NOT_NEEDED);
           // Compute `-lb_u + q*(ub_u - lb_u)'.
@@ -54388,7 +58959,7 @@ template <typename T>
 void
 Octagonal_Shape<T>
 ::forget_all_octagonal_constraints(const dimension_type v_id) {
-  assert(v_id < space_dim);
+  PPL_ASSERT(v_id < space_dim);
   const dimension_type n_v = 2*v_id;
   typename OR_Matrix<N>::row_iterator m_iter = matrix.row_begin() + n_v;
   typename OR_Matrix<N>::row_reference_type r_v = *m_iter;
@@ -54410,7 +58981,7 @@ template <typename T>
 void
 Octagonal_Shape<T>
 ::forget_binary_octagonal_constraints(const dimension_type v_id) {
-  assert(v_id < space_dim);
+  PPL_ASSERT(v_id < space_dim);
   const dimension_type n_v = 2*v_id;
   typename OR_Matrix<N>::row_iterator m_iter = matrix.row_begin() + n_v;
   typename OR_Matrix<N>::row_reference_type r_v = *m_iter;
@@ -54445,19 +59016,19 @@ Octagonal_Shape<T>::unconstrain(const Variable var) {
 
   forget_all_octagonal_constraints(dim);
   // Strong closure is preserved.
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
 void
-Octagonal_Shape<T>::unconstrain(const Variables_Set& to_be_unconstrained) {
+Octagonal_Shape<T>::unconstrain(const Variables_Set& vars) {
   // The cylindrification wrt no dimensions is a no-op.
   // This case captures the only legal cylindrification in a 0-dim space.
-  if (to_be_unconstrained.empty())
+  if (vars.empty())
     return;
 
   // Dimension-compatibility check.
-  const dimension_type min_space_dim = to_be_unconstrained.space_dimension();
+  const dimension_type min_space_dim = vars.space_dimension();
   if (space_dimension() < min_space_dim)
     throw_dimension_incompatible("unconstrain(vs)", min_space_dim);
 
@@ -54468,11 +59039,11 @@ Octagonal_Shape<T>::unconstrain(const Variables_Set& to_be_unconstrained) {
   if (marked_empty())
     return;
 
-  for (Variables_Set::const_iterator tbu = to_be_unconstrained.begin(),
-         tbu_end = to_be_unconstrained.end(); tbu != tbu_end; ++tbu)
-    forget_all_octagonal_constraints(*tbu);
+  for (Variables_Set::const_iterator vsi = vars.begin(),
+         vsi_end = vars.end(); vsi != vsi_end; ++vsi)
+    forget_all_octagonal_constraints(*vsi);
   // Strong closure is preserved.
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -54481,13 +59052,13 @@ Octagonal_Shape<T>::refine(const Variable var,
                            const Relation_Symbol relsym,
                            const Linear_Expression& expr,
                            Coefficient_traits::const_reference denominator) {
-  assert(denominator != 0);
+  PPL_ASSERT(denominator != 0);
   const dimension_type expr_space_dim = expr.space_dimension();
-  assert(space_dim >= expr_space_dim);
+  PPL_ASSERT(space_dim >= expr_space_dim);
   const dimension_type var_id = var.id();
-  assert(var_id <= space_dim);
-  assert(expr.coefficient(var) == 0);
-  assert(relsym != LESS_THAN && relsym != GREATER_THAN);
+  PPL_ASSERT(var_id <= space_dim);
+  PPL_ASSERT(expr.coefficient(var) == 0);
+  PPL_ASSERT(relsym != LESS_THAN && relsym != GREATER_THAN);
 
   const Coefficient& b = expr.inhomogeneous_term();
   // Number of non-zero coefficients in `expr': will be set to
@@ -54694,7 +59265,7 @@ Octagonal_Shape<T>::refine(const Variable var,
               const N& double_approx_i = m_ci[n_i];
               if (!is_plus_infinity(double_approx_i)) {
                 // Let half = double_approx_i / 2.
-                div2exp_assign_r(half, double_approx_i, 1, ROUND_UP);
+                div_2exp_assign_r(half, double_approx_i, 1, ROUND_UP);
                 add_mul_assign_r(sum, coeff_i, half, ROUND_UP);
               }
               else {
@@ -54707,7 +59278,7 @@ Octagonal_Shape<T>::refine(const Variable var,
               const N& double_approx_minus_i = m_i[n_i+1];
               if (!is_plus_infinity(double_approx_minus_i)) {
                 // Let half = double_approx_minus_i / 2.
-                div2exp_assign_r(half, double_approx_minus_i, 1, ROUND_UP);
+                div_2exp_assign_r(half, double_approx_minus_i, 1, ROUND_UP);
                 add_mul_assign_r(neg_sum, coeff_i, half, ROUND_UP);
               }
               else {
@@ -54724,7 +59295,7 @@ Octagonal_Shape<T>::refine(const Variable var,
               const N& double_approx_minus_i = m_i[n_i+1];
               if (!is_plus_infinity(double_approx_minus_i)) {
                 // Let half = double_approx_minus_i / 2.
-                div2exp_assign_r(half, double_approx_minus_i, 1, ROUND_UP);
+                div_2exp_assign_r(half, double_approx_minus_i, 1, ROUND_UP);
                 add_mul_assign_r(sum, minus_coeff_i, half, ROUND_UP);
               }
               else {
@@ -54737,7 +59308,7 @@ Octagonal_Shape<T>::refine(const Variable var,
               const N& double_approx_i = m_ci[n_i];
               if (!is_plus_infinity(double_approx_i)) {
                 // Let half = double_approx_i / 2.
-                div2exp_assign_r(half, double_approx_i, 1, ROUND_UP);
+                div_2exp_assign_r(half, double_approx_i, 1, ROUND_UP);
                 add_mul_assign_r(neg_sum, minus_coeff_i, half, ROUND_UP);
               }
               else {
@@ -54749,7 +59320,7 @@ Octagonal_Shape<T>::refine(const Variable var,
         }
         // Return immediately if no approximation could be computed.
         if (pinf_count > 1 && neg_pinf_count > 1) {
-          assert(OK());
+          PPL_ASSERT(OK());
           return;
         }
 
@@ -54774,7 +59345,7 @@ Octagonal_Shape<T>::refine(const Variable var,
           if (pinf_count == 0) {
             // Add the constraint `v <= sum'.
             PPL_DIRTY_TEMP(N, double_sum);
-            mul2exp_assign_r(double_sum, sum, 1, ROUND_IGNORE);
+            mul_2exp_assign_r(double_sum, sum, 1, ROUND_UP);
             matrix[n_var+1][n_var] = double_sum;
             // Deduce constraints of the form `v +/- u', where `u != v'.
             deduce_v_pm_u_bounds(var_id, w_id, sc_expr, sc_den, sum);
@@ -54819,7 +59390,7 @@ Octagonal_Shape<T>::refine(const Variable var,
           if (neg_pinf_count == 0) {
             // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
             PPL_DIRTY_TEMP(N, double_neg_sum);
-            mul2exp_assign_r(double_neg_sum, neg_sum, 1, ROUND_IGNORE);
+            mul_2exp_assign_r(double_neg_sum, neg_sum, 1, ROUND_UP);
             matrix[n_var][n_var+1] = double_neg_sum;
             // Deduce constraints of the form `-v +/- u', where `u != v'.
             deduce_minus_v_pm_u_bounds(var_id, w_id, sc_expr, sc_den, neg_sum);
@@ -54890,7 +59461,7 @@ Octagonal_Shape<T>::refine(const Variable var,
             neg_assign(minus_sc_i, sc_i);
             assign_r(coeff_i, minus_sc_i, ROUND_UP);
           }
-          div2exp_assign_r(approx_i, double_approx_i, 1, ROUND_UP);
+          div_2exp_assign_r(approx_i, double_approx_i, 1, ROUND_UP);
           add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP);
         }
         // Divide by the (sign corrected) denominator (if needed).
@@ -54908,7 +59479,7 @@ Octagonal_Shape<T>::refine(const Variable var,
         if (pinf_count == 0) {
           // Add the constraint `v <= sum'.
           PPL_DIRTY_TEMP(N, double_sum);
-          mul2exp_assign_r(double_sum, sum, 1, ROUND_IGNORE);
+          mul_2exp_assign_r(double_sum, sum, 1, ROUND_UP);
           add_octagonal_constraint(n_var+1, n_var, double_sum);
           // Deduce constraints of the form `v +/- u', where `u != v'.
           deduce_v_pm_u_bounds(var_id, w_id, sc_expr, sc_den, sum);
@@ -54974,7 +59545,7 @@ Octagonal_Shape<T>::refine(const Variable var,
             neg_assign(minus_sc_i, sc_i);
             assign_r(coeff_i, minus_sc_i, ROUND_UP);
           }
-          div2exp_assign_r(approx_i, double_approx_i, 1, ROUND_UP);
+          div_2exp_assign_r(approx_i, double_approx_i, 1, ROUND_UP);
           add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP);
         }
 
@@ -54993,7 +59564,7 @@ Octagonal_Shape<T>::refine(const Variable var,
         if (pinf_count == 0) {
           // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
           PPL_DIRTY_TEMP(N, double_sum);
-          mul2exp_assign_r(double_sum, sum, 1, ROUND_IGNORE);
+          mul_2exp_assign_r(double_sum, sum, 1, ROUND_UP);
           add_octagonal_constraint(n_var, n_var+1, double_sum);
           // Deduce constraints of the form `-v +/- u', where `u != v'.
           deduce_minus_v_pm_u_bounds(var_id, pinf_index, sc_expr, sc_den, sum);
@@ -55100,7 +59671,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
     // Add the constraint `var == b/denominator'.
     add_octagonal_constraint(n_var+1, n_var, two_b, denominator);
     add_octagonal_constraint(n_var, n_var+1, two_b, minus_den);
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -55144,10 +59715,10 @@ Octagonal_Shape<T>::affine_image(const Variable var,
               add_assign_r(m_i_cv, m_i_cv, minus_d, ROUND_UP);
             }
             // Now update unary constraints on var.
-            mul2exp_assign_r(d, d, 1, ROUND_IGNORE);
+            mul_2exp_assign_r(d, d, 1, ROUND_UP);
             N& m_cv_v = m_cv[n_var];
             add_assign_r(m_cv_v, m_cv_v, d, ROUND_UP);
-            mul2exp_assign_r(minus_d, minus_d, 1, ROUND_IGNORE);
+            mul_2exp_assign_r(minus_d, minus_d, 1, ROUND_UP);
             N& m_v_cv = m_v[n_var+1];
             add_assign_r(m_v_cv, m_v_cv, minus_d, ROUND_UP);
            }
@@ -55171,11 +59742,11 @@ Octagonal_Shape<T>::affine_image(const Variable var,
             // adding or subtracting the value `b/denominator'.
             PPL_DIRTY_TEMP(N, d);
             div_round_up(d, b, denominator);
-            mul2exp_assign_r(d, d, 1, ROUND_IGNORE);
+            mul_2exp_assign_r(d, d, 1, ROUND_UP);
             add_assign_r(m_cv_v, m_cv_v, d, ROUND_UP);
             PPL_DIRTY_TEMP(N, minus_d);
             div_round_up(minus_d, b, minus_den);
-            mul2exp_assign_r(minus_d, minus_d, 1, ROUND_IGNORE);
+            mul_2exp_assign_r(minus_d, minus_d, 1, ROUND_UP);
             add_assign_r(m_v_cv, m_v_cv, minus_d, ROUND_UP);
           }
           incremental_strong_closure_assign(var);
@@ -55209,7 +59780,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
           }
         incremental_strong_closure_assign(var);
       }
-      assert(OK());
+      PPL_ASSERT(OK());
       return;
     }
   }
@@ -55280,7 +59851,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
         const N& double_up_approx_i = m_ci[n_i];
         if (!is_plus_infinity(double_up_approx_i)) {
           // Let half = double_up_approx_i / 2.
-          div2exp_assign_r(half, double_up_approx_i, 1, ROUND_UP);
+          div_2exp_assign_r(half, double_up_approx_i, 1, ROUND_UP);
           add_mul_assign_r(pos_sum, coeff_i, half, ROUND_UP);
         }
         else {
@@ -55293,7 +59864,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
         const N& double_up_approx_minus_i = m_i[n_i+1];
         if (!is_plus_infinity(double_up_approx_minus_i)) {
           // Let half = double_up_approx_minus_i / 2.
-          div2exp_assign_r(half, double_up_approx_minus_i, 1, ROUND_UP);
+          div_2exp_assign_r(half, double_up_approx_minus_i, 1, ROUND_UP);
           add_mul_assign_r(neg_sum, coeff_i, half, ROUND_UP);
         }
         else {
@@ -55310,7 +59881,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
         const N& double_up_approx_minus_i = m_i[n_i+1];
         if (!is_plus_infinity(double_up_approx_minus_i)) {
           // Let half = double_up_approx_minus_i / 2.
-          div2exp_assign_r(half, double_up_approx_minus_i, 1, ROUND_UP);
+          div_2exp_assign_r(half, double_up_approx_minus_i, 1, ROUND_UP);
           add_mul_assign_r(pos_sum, minus_coeff_i, half, ROUND_UP);
         }
         else {
@@ -55323,7 +59894,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
         const N& double_up_approx_i = m_ci[n_i];
         if (!is_plus_infinity(double_up_approx_i)) {
           // Let half = double_up_approx_i / 2.
-          div2exp_assign_r(half, double_up_approx_i, 1, ROUND_UP);
+          div_2exp_assign_r(half, double_up_approx_i, 1, ROUND_UP);
           add_mul_assign_r(neg_sum, minus_coeff_i, half, ROUND_UP);
         }
         else {
@@ -55338,7 +59909,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
   forget_all_octagonal_constraints(var_id);
   // Return immediately if no approximation could be computed.
   if (pos_pinf_count > 1 && neg_pinf_count > 1) {
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -55362,7 +59933,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
     if (pos_pinf_count == 0) {
       // Add the constraint `v <= pos_sum'.
       PPL_DIRTY_TEMP(N, double_pos_sum);
-      mul2exp_assign_r(double_pos_sum, pos_sum, 1, ROUND_IGNORE);
+      mul_2exp_assign_r(double_pos_sum, pos_sum, 1, ROUND_UP);
       matrix[n_var+1][n_var] = double_pos_sum;
       // Deduce constraints of the form `v +/- u', where `u != v'.
       deduce_v_pm_u_bounds(var_id, w_id, sc_expr, sc_den, pos_sum);
@@ -55405,7 +59976,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
     if (neg_pinf_count == 0) {
       // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
       PPL_DIRTY_TEMP(N, double_neg_sum);
-      mul2exp_assign_r(double_neg_sum, neg_sum, 1, ROUND_IGNORE);
+      mul_2exp_assign_r(double_neg_sum, neg_sum, 1, ROUND_UP);
       matrix[n_var][n_var+1] = double_neg_sum;
       // Deduce constraints of the form `-v +/- u', where `u != v'.
       deduce_minus_v_pm_u_bounds(var_id, w_id, sc_expr, sc_den, neg_sum);
@@ -55434,7 +60005,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
   }
 
   incremental_strong_closure_assign(var);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -55495,7 +60066,7 @@ Octagonal_Shape<T>::affine_preimage(const Variable var,
   if (t == 0) {
     // Case 1: expr = n; remove all constraints on `var'.
     forget_all_octagonal_constraints(var_id);
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -55512,7 +60083,7 @@ Octagonal_Shape<T>::affine_preimage(const Variable var,
         // `expr == w_coeff*w + b', where `w != var'.
         // Remove all constraints on `var'.
         forget_all_octagonal_constraints(var_id);
-        assert(OK());
+        PPL_ASSERT(OK());
       }
       return;
     }
@@ -55541,7 +60112,7 @@ Octagonal_Shape<T>::affine_preimage(const Variable var,
   else {
     // The transformation is not invertible: all constraints on `var' are lost.
     forget_all_octagonal_constraints(var_id);
-    assert(OK());
+    PPL_ASSERT(OK());
   }
 }
 
@@ -55577,7 +60148,7 @@ Octagonal_Shape<T>
                   "*this is an Octagonal_Shape");
 
   if (relsym == EQUAL) {
-    // The relation symbol is "==":
+    // The relation symbol is "=":
     // this is just an affine image computation.
     affine_image(var, expr, denominator);
     return;
@@ -55647,7 +60218,7 @@ Octagonal_Shape<T>
       // We already dealt with the other cases.
       throw std::runtime_error("PPL internal error");
     }
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -55687,7 +60258,7 @@ Octagonal_Shape<T>
                 assign_r(m_v[k], PLUS_INFINITY, ROUND_NOT_NEEDED);
                 add_assign_r(m_cv[k], m_cv[k], d, ROUND_UP);
               }
-              mul2exp_assign_r(d, d, 1, ROUND_IGNORE);
+              mul_2exp_assign_r(d, d, 1, ROUND_UP);
               add_assign_r(m_cv_v, m_cv_v, d, ROUND_UP);
               assign_r(m_v_cv, PLUS_INFINITY, ROUND_NOT_NEEDED);
             }
@@ -55695,7 +60266,7 @@ Octagonal_Shape<T>
               // Here `w_coeff == -denominator'.
               // `expr' is of the form: -a*var + b.
               N& m_v_cv = matrix[n_var][n_var+1];
-              mul2exp_assign_r(d, d, 1, ROUND_IGNORE);
+              mul_2exp_assign_r(d, d, 1, ROUND_UP);
               add_assign_r(matrix[n_var+1][n_var], m_v_cv, d, ROUND_UP);
               assign_r(m_v_cv, PLUS_INFINITY, ROUND_NOT_NEEDED);
               forget_binary_octagonal_constraints(var_id);
@@ -55754,7 +60325,7 @@ Octagonal_Shape<T>
                 add_assign_r(m_v[k], m_v[k], d, ROUND_UP);
                 assign_r(m_cv[k], PLUS_INFINITY, ROUND_NOT_NEEDED);
               }
-              mul2exp_assign_r(d, d, 1, ROUND_IGNORE);
+              mul_2exp_assign_r(d, d, 1, ROUND_UP);
               add_assign_r(m_v_cv, m_v_cv, d, ROUND_UP);
               assign_r(m_cv_v, PLUS_INFINITY, ROUND_NOT_NEEDED);
             }
@@ -55762,7 +60333,7 @@ Octagonal_Shape<T>
               // Here `w_coeff == -denominator'.
               // `expr' is of the form: -a*var + b.
               N& m_cv_v = matrix[n_var+1][n_var];
-              mul2exp_assign_r(d, d, 1, ROUND_IGNORE);
+              mul_2exp_assign_r(d, d, 1, ROUND_UP);
               add_assign_r(matrix[n_var][n_var+1], m_cv_v, d, ROUND_UP);
               assign_r(m_cv_v, PLUS_INFINITY, ROUND_NOT_NEEDED);
               forget_binary_octagonal_constraints(var_id);
@@ -55802,7 +60373,7 @@ Octagonal_Shape<T>
         // We already dealt with the other cases.
         throw std::runtime_error("PPL internal error");
       }
-      assert(OK());
+      PPL_ASSERT(OK());
       return;
     }
   }
@@ -55874,7 +60445,7 @@ Octagonal_Shape<T>
           neg_assign(minus_sc_i, sc_i);
           assign_r(coeff_i, minus_sc_i, ROUND_UP);
         }
-        div2exp_assign_r(approx_i, double_approx_i, 1, ROUND_UP);
+        div_2exp_assign_r(approx_i, double_approx_i, 1, ROUND_UP);
         add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP);
       }
       // Remove all constraints on `v'.
@@ -55882,7 +60453,7 @@ Octagonal_Shape<T>
       reset_strongly_closed();
       // Return immediately if no approximation could be computed.
       if (pinf_count > 1) {
-        assert(OK());
+        PPL_ASSERT(OK());
         return;
       }
 
@@ -55902,7 +60473,7 @@ Octagonal_Shape<T>
       if (pinf_count == 0) {
         // Add the constraint `v <= pos_sum'.
         PPL_DIRTY_TEMP(N, double_sum);
-        mul2exp_assign_r(double_sum, sum, 1, ROUND_IGNORE);
+        mul_2exp_assign_r(double_sum, sum, 1, ROUND_UP);
         matrix[n_var+1][n_var] = double_sum;
         // Deduce constraints of the form `v +/- u', where `u != v'.
         deduce_v_pm_u_bounds(var_id, w_id, sc_expr, sc_den, sum);
@@ -55968,7 +60539,7 @@ Octagonal_Shape<T>
           neg_assign(minus_sc_i, sc_i);
           assign_r(coeff_i, minus_sc_i, ROUND_UP);
         }
-        div2exp_assign_r(approx_i, double_approx_i, 1, ROUND_UP);
+        div_2exp_assign_r(approx_i, double_approx_i, 1, ROUND_UP);
         add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP);
       }
 
@@ -55977,7 +60548,7 @@ Octagonal_Shape<T>
       reset_strongly_closed();
       // Return immediately if no approximation could be computed.
       if (pinf_count > 1) {
-        assert(OK());
+        PPL_ASSERT(OK());
         return;
       }
 
@@ -55997,7 +60568,7 @@ Octagonal_Shape<T>
       if (pinf_count == 0) {
         // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
         PPL_DIRTY_TEMP(N, double_sum);
-        mul2exp_assign_r(double_sum, sum, 1, ROUND_IGNORE);
+        mul_2exp_assign_r(double_sum, sum, 1, ROUND_UP);
         matrix[n_var][n_var+1] = double_sum;
         // Deduce constraints of the form `-v +/- u', where `u != v'.
         deduce_minus_v_pm_u_bounds(var_id, pinf_index, sc_expr, sc_den, sum);
@@ -56032,7 +60603,7 @@ Octagonal_Shape<T>
     throw std::runtime_error("PPL internal error");
   }
   incremental_strong_closure_assign(var);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -56189,7 +60760,7 @@ Octagonal_Shape<T>::generalized_affine_image(const Linear_Expression& lhs,
       // Existentially quantify all variables in the lhs.
       // NOTE: enforce strong closure for precision.
       strong_closure_assign();
-      assert(!marked_empty());
+      PPL_ASSERT(!marked_empty());
       for (dimension_type i = lhs_vars.size(); i-- > 0; ) {
         dimension_type lhs_vars_i = lhs_vars[i].id();
         forget_all_octagonal_constraints(lhs_vars_i);
@@ -56220,7 +60791,7 @@ Octagonal_Shape<T>::generalized_affine_image(const Linear_Expression& lhs,
     }
   }
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -56302,7 +60873,7 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
     two_b = 2*b;
     // Add the constraint `var >= b/denominator'.
     add_octagonal_constraint(n_var, n_var+1, two_b, minus_den);
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -56321,7 +60892,7 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
         affine_image(new_var, lb_expr, denominator);
         // Enforce the strong closure for precision.
         strong_closure_assign();
-        assert(!marked_empty());
+        PPL_ASSERT(!marked_empty());
         // Apply the affine upper bound.
         generalized_affine_image(var,
                                  LESS_OR_EQUAL,
@@ -56355,7 +60926,7 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
           else
             add_octagonal_constraint(n_var, n_w+1, b, minus_den);
         }
-        assert(OK());
+        PPL_ASSERT(OK());
         return;
       }
     }
@@ -56421,7 +60992,7 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
         const N& double_up_approx_minus_i = m_i[n_i+1];
         if (!is_plus_infinity(double_up_approx_minus_i)) {
           // Let half = double_up_approx_minus_i / 2.
-          div2exp_assign_r(half, double_up_approx_minus_i, 1, ROUND_UP);
+          div_2exp_assign_r(half, double_up_approx_minus_i, 1, ROUND_UP);
           add_mul_assign_r(neg_sum, coeff_i, half, ROUND_UP);
         }
         else {
@@ -56438,7 +61009,7 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
         const N& double_up_approx_i = m_ci[n_i];
         if (!is_plus_infinity(double_up_approx_i)) {
           // Let half = double_up_approx_i / 2.
-          div2exp_assign_r(half, double_up_approx_i, 1, ROUND_UP);
+          div_2exp_assign_r(half, double_up_approx_i, 1, ROUND_UP);
           add_mul_assign_r(neg_sum, minus_coeff_i, half, ROUND_UP);
         }
         else {
@@ -56480,7 +61051,7 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
     if (neg_pinf_count == 0) {
       // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
       PPL_DIRTY_TEMP(N, double_neg_sum);
-      mul2exp_assign_r(double_neg_sum, neg_sum, 1, ROUND_IGNORE);
+      mul_2exp_assign_r(double_neg_sum, neg_sum, 1, ROUND_UP);
       matrix[n_var][n_var+1] = double_neg_sum;
       // Deduce constraints of the form `-v +/- u', where `u != v'.
       deduce_minus_v_pm_u_bounds(var_id, w_id, sc_expr, sc_den, neg_sum);
@@ -56508,7 +61079,7 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
       }
   }
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 
@@ -56545,7 +61116,7 @@ Octagonal_Shape<T>
                   "*this is an Octagonal_Shape");
 
   if (relsym == EQUAL) {
-    // The relation symbol is "==":
+    // The relation symbol is "=":
     // this is just an affine preimage computation.
     affine_preimage(var, expr, denominator);
     return;
@@ -56584,7 +61155,7 @@ Octagonal_Shape<T>
   // ...  otherwise, since the relation was not invertible,
   // we just forget all constraints on `var'.
   forget_all_octagonal_constraints(var_id);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -56720,7 +61291,7 @@ Octagonal_Shape<T>
       // Existentially quantify all variables in the lhs.
       // NOTE: enforce strong closure for precision.
       strong_closure_assign();
-      assert(!marked_empty());
+      PPL_ASSERT(!marked_empty());
       for (dimension_type i = lhs_vars.size(); i-- > 0; ) {
         dimension_type lhs_vars_i = lhs_vars[i].id();
         forget_all_octagonal_constraints(lhs_vars_i);
@@ -56750,7 +61321,7 @@ Octagonal_Shape<T>
       remove_higher_space_dimensions(space_dim-1);
     }
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -56810,7 +61381,7 @@ Octagonal_Shape<T>::bounded_affine_preimage(const Variable var,
   neg_assign(inverse_den, expr_v);
   affine_image(new_var, lb_inverse, inverse_den);
   strong_closure_assign();
-  assert(!marked_empty());
+  PPL_ASSERT(!marked_empty());
   generalized_affine_preimage(var, LESS_OR_EQUAL,
                               ub_expr, denominator);
   if (sgn(denominator) == sgn(inverse_den))
@@ -56990,35 +61561,35 @@ Octagonal_Shape<T>::expand_space_dimension(Variable var, dimension_type m) {
   // of the octagon.
   if (marked_strongly_closed())
     reset_strongly_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
 void
-Octagonal_Shape<T>::fold_space_dimensions(const Variables_Set& to_be_folded,
-                                          Variable var) {
-  // `var' should be one of the dimensions of the octagon.
-  if (var.space_dimension() > space_dim)
-    throw_dimension_incompatible("fold_space_dimensions(tbf, v)", "v", var);
+Octagonal_Shape<T>::fold_space_dimensions(const Variables_Set& vars,
+                                          Variable dest) {
+  // `dest' should be one of the dimensions of the octagon.
+  if (dest.space_dimension() > space_dim)
+    throw_dimension_incompatible("fold_space_dimensions(vs, v)", "v", dest);
 
   // The folding of no dimensions is a no-op.
-  if (to_be_folded.empty())
+  if (vars.empty())
     return;
 
-  // All variables in `to_be_folded' should be dimensions of the octagon.
-  if (to_be_folded.space_dimension() > space_dim)
-    throw_dimension_incompatible("fold_space_dimensions(tbf, ...)",
-                                 to_be_folded.space_dimension());
+  // All variables in `vars' should be dimensions of the octagon.
+  if (vars.space_dimension() > space_dim)
+    throw_dimension_incompatible("fold_space_dimensions(vs, v)",
+                                 vars.space_dimension());
 
-  // Moreover, `var.id()' should not occur in `to_be_folded'.
-  if (to_be_folded.find(var.id()) != to_be_folded.end())
-    throw_generic("fold_space_dimensions(tbf, v)",
-                  "v should not occur in tbf");
+  // Moreover, `dest.id()' should not occur in `vars'.
+  if (vars.find(dest.id()) != vars.end())
+    throw_generic("fold_space_dimensions(vs, v)",
+                  "v should not occur in vs");
 
   // Recompute the elements of the row and the column corresponding
-  // to variable `var' by taking the join of their value with the
+  // to variable `dest' by taking the join of their value with the
   // value of the corresponding elements in the row and column of the
-  // variable `to_be_folded'.
+  // variable `vars'.
   typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
   typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
 
@@ -57026,23 +61597,24 @@ Octagonal_Shape<T>::fold_space_dimensions(const Variables_Set& to_be_folded,
 
   strong_closure_assign();
   const dimension_type n_rows = matrix.num_rows();
-  const dimension_type n_var = 2*var.id();
-  Row_Iterator v_iter = m_begin + n_var;
+  const dimension_type n_dest = 2*dest.id();
+  Row_Iterator v_iter = m_begin + n_dest;
   Row_Reference m_v = *v_iter;
   Row_Reference m_cv = *(v_iter+1);
-  for (Variables_Set::const_iterator i = to_be_folded.begin(),
-         tbf_end = to_be_folded.end(); i != tbf_end; ++i) {
+  for (Variables_Set::const_iterator i = vars.begin(),
+         vs_end = vars.end(); i != vs_end; ++i) {
     const dimension_type tbf_id = *i;
     const dimension_type tbf_var = 2*tbf_id;
     Row_Iterator tbf_iter = m_begin + tbf_var;
     Row_Reference m_tbf = *tbf_iter;
     Row_Reference m_ctbf = *(tbf_iter+1);
-    max_assign(m_v[n_var+1], m_tbf[tbf_var+1]);
-    max_assign(m_cv[n_var], m_ctbf[tbf_var]);
+    max_assign(m_v[n_dest+1], m_tbf[tbf_var+1]);
+    max_assign(m_cv[n_dest], m_ctbf[tbf_var]);
 
-    const dimension_type min_id = std::min(n_var, tbf_var);
-    const dimension_type max_id = std::max(n_var, tbf_var);
+    const dimension_type min_id = std::min(n_dest, tbf_var);
+    const dimension_type max_id = std::max(n_dest, tbf_var);
 
+    using namespace Implementation::Octagonal_Shapes;
     for (dimension_type j = 0; j < min_id; ++j) {
       const dimension_type cj = coherent_index(j);
       max_assign(m_v[j], m_tbf[j]);
@@ -57055,11 +61627,11 @@ Octagonal_Shape<T>::fold_space_dimensions(const Variables_Set& to_be_folded,
       Row_Iterator j_iter = m_begin + j;
       Row_Reference m_j = *j_iter;
       Row_Reference m_cj = (j % 2 != 0) ? *(j_iter-1) : *(j_iter+1);
-      if (n_var == min_id) {
-        max_assign(m_cj[n_var+1], m_tbf[j]);
-        max_assign(m_cj[n_var], m_ctbf[j]);
-        max_assign(m_j[n_var], m_ctbf[cj]);
-        max_assign(m_j[n_var+1], m_tbf[cj]);
+      if (n_dest == min_id) {
+        max_assign(m_cj[n_dest+1], m_tbf[j]);
+        max_assign(m_cj[n_dest], m_ctbf[j]);
+        max_assign(m_j[n_dest], m_ctbf[cj]);
+        max_assign(m_j[n_dest+1], m_tbf[cj]);
       }
       else {
         max_assign(m_v[j], m_cj[tbf_var+1]);
@@ -57072,25 +61644,26 @@ Octagonal_Shape<T>::fold_space_dimensions(const Variables_Set& to_be_folded,
       Row_Iterator j_iter = m_begin + j;
       Row_Reference m_j = *j_iter;
       Row_Reference m_cj = (j % 2 != 0) ? *(j_iter-1) : *(j_iter+1);
-      max_assign(m_cj[n_var+1], m_cj[tbf_var+1]);
-      max_assign(m_cj[n_var], m_cj[tbf_var]);
-      max_assign(m_j[n_var], m_j[tbf_var]);
-      max_assign(m_j[n_var+1], m_j[tbf_var+1]);
+      max_assign(m_cj[n_dest+1], m_cj[tbf_var+1]);
+      max_assign(m_cj[n_dest], m_cj[tbf_var]);
+      max_assign(m_j[n_dest], m_j[tbf_var]);
+      max_assign(m_j[n_dest+1], m_j[tbf_var+1]);
     }
   }
-  remove_space_dimensions(to_be_folded);
+  remove_space_dimensions(vars);
 }
 
 template <typename T>
 bool
-Octagonal_Shape<T>
-::BHZ09_upper_bound_assign_if_exact(const Octagonal_Shape& y) {
+Octagonal_Shape<T>::upper_bound_assign_if_exact(const Octagonal_Shape& y) {
+  // FIXME, CHECKME: what about inexact computations?
+
   // Declare a const reference to *this (to avoid accidental modifications).
   const Octagonal_Shape& x = *this;
   const dimension_type x_space_dim = x.space_dimension();
 
-  // Private method: the caller must ensure the following.
-  assert(x_space_dim == y.space_dimension());
+  if (x_space_dim != y.space_dimension())
+    throw_dimension_incompatible("upper_bound_assign_if_exact(y)", y);
 
   // The zero-dim case is trivial.
   if (x_space_dim == 0) {
@@ -57110,8 +61683,8 @@ Octagonal_Shape<T>
   }
 
   // Here both `x' and `y' are known to be non-empty.
-  assert(x.marked_strongly_closed());
-  assert(y.marked_strongly_closed());
+  PPL_ASSERT(x.marked_strongly_closed());
+  PPL_ASSERT(y.marked_strongly_closed());
   // Pre-compute the upper bound of `x' and `y'.
   Octagonal_Shape<T> ub(x);
   ub.upper_bound_assign(y);
@@ -57138,6 +61711,7 @@ Octagonal_Shape<T>
 
   for (dimension_type i = n_rows; i-- > 0; ) {
     const Bit_Row& x_non_red_i = x_non_red[i];
+    using namespace Implementation::Octagonal_Shapes;
     const dimension_type ci = coherent_index(i);
     const dimension_type row_size_i = OR_Matrix<N>::row_size(i);
     Row_Reference x_i = *(x_m_begin + i);
@@ -57227,10 +61801,289 @@ Octagonal_Shape<T>
 
   // The upper bound of x and y is indeed exact.
   swap(ub);
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
+template <typename T>
+bool
+Octagonal_Shape<T>
+::integer_upper_bound_assign_if_exact(const Octagonal_Shape& y) {
+  PPL_COMPILE_TIME_CHECK(std::numeric_limits<T>::is_integer,
+                         "Octagonal_Shape<T>::"
+                         "integer_upper_bound_assign_if_exact(y):"
+                         " T in not an integer datatype.");
+  // Declare a const reference to *this (to avoid accidental modifications).
+  const Octagonal_Shape& x = *this;
+  const dimension_type x_space_dim = x.space_dimension();
+
+  if (x_space_dim != y.space_dimension())
+    throw_dimension_incompatible("integer_upper_bound_assign_if_exact(y)", y);
+
+  // The zero-dim case is trivial.
+  if (x_space_dim == 0) {
+    upper_bound_assign(y);
+    return true;
+  }
+
+  // If `x' or `y' is (known to) contain no integral point,
+  // then the integer upper bound can be computed exactly by tight closure.
+  if (x.marked_empty()) {
+    *this = y;
+    tight_closure_assign();
+    return true;
+  }
+  else if (y.marked_empty()) {
+    tight_closure_assign();
+    return true;
+  }
+  else if (x.is_empty() || x.tight_coherence_would_make_empty()) {
+    *this = y;
+    tight_closure_assign();
+    return true;
+  }
+  else if (y.is_empty() || y.tight_coherence_would_make_empty()) {
+    tight_closure_assign();
+    return true;
+  }
+
+  // Here both `x' and `y' are known to be non-empty (and Z-consistent).
+  PPL_ASSERT(x.marked_strongly_closed());
+  PPL_ASSERT(y.marked_strongly_closed());
+  // Pre-compute the integer upper bound of `x' and `y':
+  // have to take copies, since tight closure might modify the rational shape.
+  Octagonal_Shape<T> tx(x);
+  tx.tight_closure_assign();
+  Octagonal_Shape<T> ty(y);
+  ty.tight_closure_assign();
+  Octagonal_Shape<T> ub(tx);
+  ub.upper_bound_assign(ty);
+
+  // Compute redundancy information for tx and ty.
+  // TODO: provide a nicer data structure for redundancy.
+  // NOTE: there is no need to identify all redundancies, since this is
+  // an optimization; hence we reuse the strong-reduction helper methods.
+  std::vector<Bit_Row> tx_non_red;
+  tx.non_redundant_matrix_entries(tx_non_red);
+  std::vector<Bit_Row> ty_non_red;
+  ty.non_redundant_matrix_entries(ty_non_red);
+
+  PPL_DIRTY_TEMP(N, lhs_i_j);
+  PPL_DIRTY_TEMP(N, lhs_k_ell);
+  PPL_DIRTY_TEMP(N, lhs);
+  PPL_DIRTY_TEMP(N, lhs_copy);
+  PPL_DIRTY_TEMP(N, rhs);
+  PPL_DIRTY_TEMP(N, temp_zero);
+  assign_r(temp_zero, 0, ROUND_NOT_NEEDED);
+  PPL_DIRTY_TEMP(N, temp_one);
+  assign_r(temp_one, 1, ROUND_NOT_NEEDED);
+  PPL_DIRTY_TEMP(N, temp_two);
+  assign_r(temp_two, 2, ROUND_NOT_NEEDED);
+
+  typedef typename OR_Matrix<N>::const_row_iterator Row_Iterator;
+  typedef typename OR_Matrix<N>::const_row_reference_type Row_Reference;
+  const dimension_type n_rows = tx.matrix.num_rows();
+  const Row_Iterator tx_m_begin = tx.matrix.row_begin();
+  const Row_Iterator ty_m_begin = ty.matrix.row_begin();
+  const Row_Iterator ub_m_begin = ub.matrix.row_begin();
+
+  for (dimension_type i = n_rows; i-- > 0; ) {
+    const Bit_Row& tx_non_red_i = tx_non_red[i];
+    using namespace Implementation::Octagonal_Shapes;
+    const dimension_type ci = coherent_index(i);
+    const dimension_type row_size_i = OR_Matrix<N>::row_size(i);
+    Row_Reference tx_i = *(tx_m_begin + i);
+    Row_Reference ty_i = *(ty_m_begin + i);
+    Row_Reference ub_i = *(ub_m_begin + i);
+    const N& ub_i_ci = ub_i[ci];
+    for (dimension_type j = row_size_i; j-- > 0; ) {
+      // Check redundancy of tx_i_j.
+      if (!tx_non_red_i[j])
+        continue;
+      const N& tx_i_j = tx_i[j];
+      const dimension_type cj = coherent_index(j);
+      const N& eps_i_j = (i == cj) ? temp_two : temp_one;
+      // Check condition 1a in BHZ09 Theorem 6.8.
+      add_assign_r(lhs_i_j, tx_i_j, eps_i_j, ROUND_NOT_NEEDED);
+      if (lhs_i_j > ty_i[j])
+        continue;
+      const dimension_type row_size_cj = OR_Matrix<N>::row_size(cj);
+      Row_Reference ub_cj = *(ub_m_begin + cj);
+      const N& ub_cj_j = ub_cj[j];
+      for (dimension_type k = 0; k < n_rows; ++k) {
+        const Bit_Row& ty_non_red_k = ty_non_red[k];
+        const dimension_type ck = coherent_index(k);
+        const dimension_type row_size_k = OR_Matrix<N>::row_size(k);
+        Row_Reference tx_k = *(tx_m_begin + k);
+        Row_Reference ty_k = *(ty_m_begin + k);
+        Row_Reference ub_k = *(ub_m_begin + k);
+        const N& ub_k_ck = ub_k[ck];
+        // Be careful: for each index h, the diagonal element m[h][h]
+        // is (by convention) +infty in our implementation; however,
+        // BHZ09 theorem assumes that it is equal to 0.
+        const N& ub_k_j = (k == j) ? temp_zero
+          : (j < row_size_k ? ub_k[j] : ub_cj[ck]);
+        const N& ub_i_ck = (i == ck) ? temp_zero
+          : (ck < row_size_i ? ub_i[ck] : ub_k[ci]);
+
+        for (dimension_type ell = row_size_k; ell-- > 0; ) {
+          // Check redundancy of y_k_ell.
+          if (!ty_non_red_k[ell])
+            continue;
+          const N& ty_k_ell = ty_k[ell];
+          const dimension_type cell = coherent_index(ell);
+          const N& eps_k_ell = (k == cell) ? temp_two : temp_one;
+          // Check condition 1b in BHZ09 Theorem 6.8.
+          add_assign_r(lhs_k_ell, ty_k_ell, eps_k_ell, ROUND_NOT_NEEDED);
+          if (lhs_k_ell > tx_k[ell])
+            continue;
+          Row_Reference ub_cell = *(ub_m_begin + cell);
+          const N& ub_i_ell = (i == ell) ? temp_zero
+            : (ell < row_size_i ? ub_i[ell] : ub_cell[ci]);
+          const N& ub_cj_ell = (cj == ell) ? temp_zero
+            : (ell < row_size_cj ? ub_cj[ell] : ub_cell[j]);
+          // Check condition 2a in BHZ09 Theorem 6.8.
+          add_assign_r(lhs, lhs_i_j, lhs_k_ell, ROUND_NOT_NEEDED);
+          add_assign_r(rhs, ub_i_ell, ub_k_j, ROUND_NOT_NEEDED);
+          if (lhs > rhs)
+            continue;
+          // Check condition 2b in BHZ09 Theorem 6.8.
+          add_assign_r(rhs, ub_i_ck, ub_cj_ell, ROUND_NOT_NEEDED);
+          if (lhs > rhs)
+            continue;
+          // Check condition 3a in BHZ09 Theorem 6.8.
+          assign_r(lhs_copy, lhs, ROUND_NOT_NEEDED);
+          add_assign_r(lhs, lhs, lhs_i_j, ROUND_NOT_NEEDED);
+          add_assign_r(rhs, ub_i_ell, ub_i_ck, ROUND_NOT_NEEDED);
+          add_assign_r(rhs, rhs, ub_cj_j, ROUND_NOT_NEEDED);
+          if (lhs > rhs)
+            continue;
+          // Check condition 3b in BHZ09 Theorem 6.8.
+          add_assign_r(rhs, ub_k_j, ub_cj_ell, ROUND_NOT_NEEDED);
+          add_assign_r(rhs, rhs, ub_i_ci, ROUND_NOT_NEEDED);
+          if (lhs > rhs)
+            continue;
+          // Check condition 4a in BHZ09 Theorem 6.8.
+          add_assign_r(lhs, lhs_copy, lhs_k_ell, ROUND_NOT_NEEDED);
+          add_assign_r(rhs, ub_i_ell, ub_cj_ell, ROUND_NOT_NEEDED);
+          add_assign_r(rhs, rhs, ub_k_ck, ROUND_NOT_NEEDED);
+          if (lhs > rhs)
+            continue;
+          // Check condition 4b in BHZ09 Theorem 6.8.
+          add_assign_r(rhs, ub_k_j, ub_i_ck, ROUND_NOT_NEEDED);
+          add_assign_r(rhs, rhs, ub_cell[ell], ROUND_NOT_NEEDED);
+          if (lhs <= rhs)
+            // All 8 conditions are satisfied:
+            // integer upper bound is not exact.
+            return false;
+        }
+      }
+    }
+  }
+
+  // The upper bound of x and y is indeed exact.
+  swap(ub);
+  PPL_ASSERT(OK());
+  return true;
+}
+
+template <typename T>
+void
+Octagonal_Shape<T>::drop_some_non_integer_points(Complexity_Class) {
+  if (std::numeric_limits<T>::is_integer)
+    return;
+
+  const dimension_type space_dim = space_dimension();
+  strong_closure_assign();
+  if (space_dim == 0 || marked_empty())
+    return;
+
+  for (typename OR_Matrix<N>::element_iterator i = matrix.element_begin(),
+         i_end = matrix.element_end(); i != i_end; ++i)
+    drop_some_non_integer_points_helper(*i);
+
+  // Unary constraints should have an even integer boundary.
+  PPL_DIRTY_TEMP(N, temp_one);
+  assign_r(temp_one, 1, ROUND_NOT_NEEDED);
+  for (dimension_type i = 0; i < 2*space_dim; i += 2) {
+    const dimension_type ci = i+1;
+    N& mat_i_ci = matrix[i][ci];
+    if (!is_plus_infinity(mat_i_ci) && !is_even(mat_i_ci)) {
+      sub_assign_r(mat_i_ci, mat_i_ci, temp_one, ROUND_UP);
+      reset_strongly_closed();
+    }
+    N& mat_ci_i = matrix[ci][i];
+    if (!is_plus_infinity(mat_ci_i) && !is_even(mat_ci_i)) {
+      sub_assign_r(mat_ci_i, mat_ci_i, temp_one, ROUND_UP);
+      reset_strongly_closed();
+    }
+  }
+
+  PPL_ASSERT(OK());
+}
+
+template <typename T>
+void
+Octagonal_Shape<T>
+::drop_some_non_integer_points(const Variables_Set& vars,
+                               Complexity_Class) {
+  // Dimension-compatibility check.
+  const dimension_type min_space_dim = vars.space_dimension();
+  if (space_dimension() < min_space_dim)
+    throw_dimension_incompatible("drop_some_non_integer_points(vs, cmpl)",
+                                 min_space_dim);
+
+  if (std::numeric_limits<T>::is_integer || min_space_dim == 0)
+    return;
+
+  strong_closure_assign();
+  if (marked_empty())
+    return;
+
+  PPL_DIRTY_TEMP(N, temp_one);
+  assign_r(temp_one, 1, ROUND_NOT_NEEDED);
+
+  const Variables_Set::const_iterator v_begin = vars.begin();
+  const Variables_Set::const_iterator v_end = vars.end();
+  PPL_ASSERT(v_begin != v_end);
+  typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
+  for (Variables_Set::const_iterator v_i = v_begin; v_i != v_end; ++v_i) {
+    const dimension_type i = 2 * (*v_i);
+    const dimension_type ci = i + 1;
+    Row_Reference m_i = matrix[i];
+    Row_Reference m_ci = matrix[ci];
+
+    // Unary constaints: should be even integers.
+    N& m_i_ci = m_i[ci];
+    if (!is_plus_infinity(m_i_ci)) {
+      drop_some_non_integer_points_helper(m_i_ci);
+      if (!is_even(m_i_ci)) {
+        sub_assign_r(m_i_ci, m_i_ci, temp_one, ROUND_UP);
+        reset_strongly_closed();
+      }
+    }
+    N& m_ci_i = m_ci[i];
+    if (!is_plus_infinity(m_ci_i)) {
+      drop_some_non_integer_points_helper(m_ci_i);
+      if (!is_even(m_ci_i)) {
+        sub_assign_r(m_ci_i, m_ci_i, temp_one, ROUND_UP);
+        reset_strongly_closed();
+      }
+    }
+
+    // Binary constraints (note: only consider j < i).
+    for (Variables_Set::const_iterator v_j = v_begin; v_j != v_i; ++v_j) {
+      const dimension_type j = 2 * (*v_j);
+      const dimension_type cj = j + 1;
+      drop_some_non_integer_points_helper(m_i[j]);
+      drop_some_non_integer_points_helper(m_i[cj]);
+      drop_some_non_integer_points_helper(m_ci[j]);
+      drop_some_non_integer_points_helper(m_ci[cj]);
+    }
+  }
+  PPL_ASSERT(OK());
+}
+
 /*! \relates Parma_Polyhedra_Library::Octagonal_Shape */
 template <typename T>
 std::ostream&
@@ -57270,17 +62123,17 @@ IO_Operators::operator<<(std::ostream& s, const Octagonal_Shape<T>& x) {
     // Check whether or not it is an equality constraint.
     if (is_additive_inverse(x_i_ii, x_ii_i)) {
       // It is an equality.
-      assert(!is_plus_infinity(x_i_ii) && !is_plus_infinity(x_ii_i));
+      PPL_ASSERT(!is_plus_infinity(x_i_ii) && !is_plus_infinity(x_ii_i));
       if (first)
         first = false;
       else
         s << ", ";
       // If the value bound can NOT be divided by 2 exactly,
-      // then we output the constraint `2*v_i == bound'.
-      if (div2exp_assign_r(half, x_ii_i, 1, ROUND_UP) == V_EQ)
-        s << v_i << " == " << half;
+      // then we output the constraint `2*v_i = bound'.
+      if (div_2exp_assign_r(half, x_ii_i, 1, ROUND_UP | ROUND_STRICT_RELATION) == V_EQ)
+        s << v_i << " = " << half;
       else
-        s << "2*" << v_i << " == " << x_ii_i;
+        s << "2*" << v_i << " = " << x_ii_i;
     }
     else {
       // We will print unary non-strict inequalities, if any.
@@ -57292,7 +62145,7 @@ IO_Operators::operator<<(std::ostream& s, const Octagonal_Shape<T>& x) {
         neg_assign_r(negation, x_i_ii, ROUND_NOT_NEEDED);
         // If the value bound can NOT be divided by 2 exactly,
         // then we output the constraint `2*v_i >= negation'.
-        if (div2exp_assign_r(half, negation, 1, ROUND_UP) == V_EQ)
+        if (div_2exp_assign_r(half, negation, 1, ROUND_UP | ROUND_STRICT_RELATION) == V_EQ)
           s << v_i << " >= " << half;
         else
           s << "2*" << v_i << " >= " << negation;
@@ -57304,7 +62157,7 @@ IO_Operators::operator<<(std::ostream& s, const Octagonal_Shape<T>& x) {
           s << ", ";
         // If the value bound can NOT be divided by 2 exactly,
         // then we output the constraint `2*v_i <= bound'.
-        if (div2exp_assign_r(half, x_ii_i, 1, ROUND_UP) == V_EQ)
+        if (div_2exp_assign_r(half, x_ii_i, 1, ROUND_UP | ROUND_STRICT_RELATION) == V_EQ)
           s << v_i << " <= " << half;
         else
           s << "2*" << v_i << " <= " << x_ii_i;
@@ -57330,15 +62183,15 @@ IO_Operators::operator<<(std::ostream& s, const Octagonal_Shape<T>& x) {
       // Check whether or not it is an equality constraint.
       if (is_additive_inverse(x_ii_jj, x_i_j)) {
         // It is an equality.
-        assert(!is_plus_infinity(x_i_j) && !is_plus_infinity(x_ii_jj));
+        PPL_ASSERT(!is_plus_infinity(x_i_j) && !is_plus_infinity(x_ii_jj));
         if (first)
           first = false;
         else
           s << ", ";
         if (sgn(x_i_j) >= 0)
-          s << v_j << " - " << v_i << " == " << x_i_j;
+          s << v_j << " - " << v_i << " = " << x_i_j;
         else
-          s << v_i << " - " << v_j << " == " << x_ii_jj;
+          s << v_i << " - " << v_j << " = " << x_ii_jj;
       }
       else {
         // We will print non-strict inequalities, if any.
@@ -57373,12 +62226,12 @@ IO_Operators::operator<<(std::ostream& s, const Octagonal_Shape<T>& x) {
       // Check whether or not it is an equality constraint.
       if (is_additive_inverse(x_i_jj, x_ii_j)) {
         // It is an equality.
-        assert(!is_plus_infinity(x_i_jj) && !is_plus_infinity(x_ii_j));
+        PPL_ASSERT(!is_plus_infinity(x_i_jj) && !is_plus_infinity(x_ii_j));
         if (first)
           first = false;
         else
           s << ", ";
-        s << v_j << " + " << v_i << " == " << x_ii_j;
+        s << v_j << " + " << v_i << " = " << x_ii_j;
       }
       else {
         // We will print non-strict inequalities, if any.
@@ -57433,7 +62286,7 @@ Octagonal_Shape<T>::ascii_load(std::istream& s) {
   if (!matrix.ascii_load(s))
     return false;
 
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
@@ -57621,7 +62474,6 @@ Octagonal_Shape<T>
   throw std::invalid_argument(s.str());
 }
 
-
 template <typename T>
 void
 Octagonal_Shape<T>::throw_generic(const char* method,
@@ -57634,10 +62486,9 @@ Octagonal_Shape<T>::throw_generic(const char* method,
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Octagonal_Shape.defs.hh line 2015. */
+/* Automatically generated from PPL source file ../src/Octagonal_Shape.defs.hh line 2177. */
 
-/* Automatically generated from PPL source file ../src/BD_Shape.inlines.hh line 34. */
-#include <cassert>
+/* Automatically generated from PPL source file ../src/BD_Shape.inlines.hh line 37. */
 #include <vector>
 #include <iostream>
 #include <algorithm>
@@ -57725,7 +62576,7 @@ BD_Shape<T>::BD_Shape(const dimension_type num_dimensions,
       // A (non zero-dim) universe BDS is closed.
       set_shortest_path_closed();
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -57759,22 +62610,6 @@ BD_Shape<T>::congruences() const {
 }
 
 template <typename T>
-inline bool
-BD_Shape<T>::add_constraint_and_minimize(const Constraint& c) {
-  add_constraint(c);
-  shortest_path_closure_assign();
-  return !marked_empty();
-}
-
-template <typename T>
-inline bool
-BD_Shape<T>::add_congruence_and_minimize(const Congruence& cg) {
-  add_congruence(cg);
-  shortest_path_closure_assign();
-  return !marked_empty();
-}
-
-template <typename T>
 inline void
 BD_Shape<T>::add_constraints(const Constraint_System& cs) {
   for (Constraint_System::const_iterator i = cs.begin(),
@@ -57783,26 +62618,12 @@ BD_Shape<T>::add_constraints(const Constraint_System& cs) {
 }
 
 template <typename T>
-inline bool
-BD_Shape<T>::add_constraints_and_minimize(const Constraint_System& cs) {
-  add_constraints(cs);
-  shortest_path_closure_assign();
-  return !marked_empty();
-}
-
-template <typename T>
 inline void
 BD_Shape<T>::add_recycled_constraints(Constraint_System& cs) {
   add_constraints(cs);
 }
 
 template <typename T>
-inline bool
-BD_Shape<T>::add_recycled_constraints_and_minimize(Constraint_System& cs) {
-  return add_constraints_and_minimize(cs);
-}
-
-template <typename T>
 inline void
 BD_Shape<T>::add_congruences(const Congruence_System& cgs) {
   for (Congruence_System::const_iterator i = cgs.begin(),
@@ -57811,25 +62632,12 @@ BD_Shape<T>::add_congruences(const Congruence_System& cgs) {
 }
 
 template <typename T>
-inline bool
-BD_Shape<T>::add_congruences_and_minimize(const Congruence_System& cgs) {
-  add_congruences(cgs);
-  return !is_empty();
-}
-
-template <typename T>
 inline void
 BD_Shape<T>::add_recycled_congruences(Congruence_System& cgs) {
   add_congruences(cgs);
 }
 
 template <typename T>
-inline bool
-BD_Shape<T>::add_recycled_congruences_and_minimize(Congruence_System& cgs) {
-  return add_congruences_and_minimize(cgs);
-}
-
-template <typename T>
 inline void
 BD_Shape<T>::refine_with_constraint(const Constraint& c) {
   const dimension_type c_space_dim = c.space_dimension();
@@ -57882,8 +62690,8 @@ BD_Shape<T>::refine_with_congruences(const Congruence_System& cgs) {
 template <typename T>
 inline void
 BD_Shape<T>::refine_no_check(const Congruence& cg) {
-  assert(!marked_empty());
-  assert(cg.space_dimension() <= space_dimension());
+  PPL_ASSERT(!marked_empty());
+  PPL_ASSERT(cg.space_dimension() <= space_dimension());
 
   if (cg.is_proper_congruence()) {
     if (cg.is_inconsistent())
@@ -57892,7 +62700,7 @@ BD_Shape<T>::refine_no_check(const Congruence& cg) {
     return;
   }
 
-  assert(cg.is_equality());
+  PPL_ASSERT(cg.is_equality());
   Constraint c(cg);
   refine_no_check(c);
 }
@@ -58062,8 +62870,6 @@ BD_Shape<T>::is_discrete() const {
 template <typename T>
 inline void
 BD_Shape<T>::topological_closure_assign() {
-  // Nothing to be done.
-  return;
 }
 
 /*! \relates BD_Shape */
@@ -58306,7 +63112,7 @@ BD_Shape<T>::add_dbm_constraint(const dimension_type i,
 				const dimension_type j,
 				const N& k) {
   // Private method: the caller has to ensure the following.
-  assert(i <= space_dimension() && j <= space_dimension() && i != j);
+  PPL_ASSERT(i <= space_dimension() && j <= space_dimension() && i != j);
   N& dbm_ij = dbm[i][j];
   if (dbm_ij > k) {
     dbm_ij = k;
@@ -58322,8 +63128,8 @@ BD_Shape<T>::add_dbm_constraint(const dimension_type i,
 				Coefficient_traits::const_reference num,
 				Coefficient_traits::const_reference den) {
   // Private method: the caller has to ensure the following.
-  assert(i <= space_dimension() && j <= space_dimension() && i != j);
-  assert(den != 0);
+  PPL_ASSERT(i <= space_dimension() && j <= space_dimension() && i != j);
+  PPL_ASSERT(den != 0);
   PPL_DIRTY_TEMP(N, k);
   div_round_up(k, num, den);
   add_dbm_constraint(i, j, k);
@@ -58341,7 +63147,7 @@ BD_Shape<T>::time_elapse_assign(const BD_Shape& y) {
   px.time_elapse_assign(py);
   BD_Shape<T> x(px);
   swap(x);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -58353,27 +63159,30 @@ BD_Shape<T>::strictly_contains(const BD_Shape& y) const {
 
 template <typename T>
 inline bool
-BD_Shape<T>::upper_bound_assign_and_minimize(const BD_Shape& y) {
-  upper_bound_assign(y);
-  assert(marked_empty()
-	 || space_dimension() == 0 || marked_shortest_path_closed());
-  return !marked_empty();
-}
-
-template <typename T>
-inline bool
 BD_Shape<T>::upper_bound_assign_if_exact(const BD_Shape& y) {
-  // Dimension-compatibility check.
   if (space_dimension() != y.space_dimension())
     throw_dimension_incompatible("upper_bound_assign_if_exact(y)", y);
 #if 0
   return BFT00_upper_bound_assign_if_exact(y);
 #else
-  return BHZ09_upper_bound_assign_if_exact(y);
+  const bool integer_upper_bound = false;
+  return BHZ09_upper_bound_assign_if_exact<integer_upper_bound>(y);
 #endif
 }
 
 template <typename T>
+inline bool
+BD_Shape<T>::integer_upper_bound_assign_if_exact(const BD_Shape& y) {
+  PPL_COMPILE_TIME_CHECK(std::numeric_limits<T>::is_integer,
+                         "BD_Shape<T>::integer_upper_bound_assign_if_exact(y):"
+                         " T in not an integer datatype.");
+  if (space_dimension() != y.space_dimension())
+    throw_dimension_incompatible("integer_upper_bound_assign_if_exact(y)", y);
+  const bool integer_upper_bound = true;
+  return BHZ09_upper_bound_assign_if_exact<integer_upper_bound>(y);
+}
+
+template <typename T>
 inline void
 BD_Shape<T>::remove_higher_space_dimensions(const dimension_type new_dim) {
   // Dimension-compatibility check: the variable having
@@ -58386,7 +63195,7 @@ BD_Shape<T>::remove_higher_space_dimensions(const dimension_type new_dim) {
   // Note that this case also captures the only legal removal of
   // dimensions from a zero-dim space BDS.
   if (new_dim == space_dimension()) {
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -58403,15 +63212,22 @@ BD_Shape<T>::remove_higher_space_dimensions(const dimension_type new_dim) {
   // the zero-dim universe BDS has been obtained.
   if (new_dim == 0 && !marked_empty())
     set_zero_dim_univ();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
-inline bool
-BD_Shape<T>::intersection_assign_and_minimize(const BD_Shape& y) {
-  intersection_assign(y);
-  shortest_path_closure_assign();
-  return !marked_empty();
+void
+BD_Shape<T>::wrap_assign(const Variables_Set& vars,
+                         Bounded_Integer_Type_Width w,
+                         Bounded_Integer_Type_Representation r,
+                         Bounded_Integer_Type_Overflow o,
+                         const Constraint_System* pcs,
+                         unsigned complexity_threshold,
+                         bool wrap_individually) {
+  Implementation::wrap_assign(*this,
+                              vars, w, r, o, pcs,
+                              complexity_threshold, wrap_individually,
+                              "BD_Shape");
 }
 
 template <typename T>
@@ -58440,7 +63256,7 @@ BD_Shape<T>::H79_widening_assign(const BD_Shape& y, unsigned* tp) {
   px.H79_widening_assign(py, tp);
   BD_Shape x(px);
   swap(x);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -58460,7 +63276,7 @@ BD_Shape<T>::limited_H79_extrapolation_assign(const BD_Shape& y,
   px.limited_H79_extrapolation_assign(py, cs, tp);
   BD_Shape x(px);
   swap(x);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -58475,6 +63291,17 @@ BD_Shape<T>::hash_code() const {
   return space_dimension() & 0x7fffffff;
 }
 
+template <typename T>
+inline void
+BD_Shape<T>::drop_some_non_integer_points_helper(N& elem) {
+  if (!is_integer(elem)) {
+    Result r = floor_assign_r(elem, elem, ROUND_DOWN);
+    used(r);
+    PPL_ASSERT(r == V_EQ);
+    reset_shortest_path_closed();
+  }
+}
+
 } // namespace Parma_Polyhedra_Library
 
 namespace std {
@@ -58494,8 +63321,7 @@ swap(Parma_Polyhedra_Library::BD_Shape<T>& x,
 */
 
 
-/* Automatically generated from PPL source file ../src/BD_Shape.templates.hh line 36. */
-#include <cassert>
+/* Automatically generated from PPL source file ../src/BD_Shape.templates.hh line 37. */
 #include <vector>
 #include <deque>
 #include <iostream>
@@ -58519,7 +63345,7 @@ BD_Shape<T>::BD_Shape(const Generator_System& gs)
   const Generator_System::const_iterator gs_begin = gs.begin();
   const Generator_System::const_iterator gs_end = gs.end();
   if (gs_begin == gs_end) {
-    // An empty generator system defines the empty polyhedron.
+    // An empty generator system defines the empty BD shape.
     set_empty();
     return;
   }
@@ -58628,7 +63454,7 @@ BD_Shape<T>::BD_Shape(const Generator_System& gs)
     }
   }
   set_shortest_path_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -58657,7 +63483,7 @@ BD_Shape<T>::BD_Shape(const Polyhedron& ph, const Complexity_Class complexity)
   // We cannot afford exponential complexity, we do not have a complete set
   // of generators for the polyhedron, and the polyhedron is not trivially
   // empty or zero-dimensional.  Constraints, however, are up to date.
-  assert(ph.constraints_are_up_to_date());
+  PPL_ASSERT(ph.constraints_are_up_to_date());
 
   if (!ph.has_something_pending() && ph.constraints_are_minimized()) {
     // If the constraint system of the polyhedron is minimized,
@@ -58738,12 +63564,12 @@ BD_Shape<T>::BD_Shape(const Polyhedron& ph, const Complexity_Class complexity)
       }
     }
     set_shortest_path_closed();
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
   // Extract easy-to-find bounds from constraints.
-  assert(complexity == POLYNOMIAL_COMPLEXITY);
+  PPL_ASSERT(complexity == POLYNOMIAL_COMPLEXITY);
   *this = BD_Shape<T>(num_dimensions, UNIVERSE);
   refine_with_constraints(ph.constraints());
 }
@@ -58814,13 +63640,13 @@ BD_Shape<T>::minimized_congruences() const {
         // Generate the constraint relating `i' and its leader.
         if (leader == 0) {
           // A unary equality has to be generated.
-          assert(!is_plus_infinity(dbm_0[i]));
+          PPL_ASSERT(!is_plus_infinity(dbm_0[i]));
           numer_denom(dbm_0[i], num, den);
           cgs.insert(den*Variable(i-1) == num);
         }
         else {
           // A binary equality has to be generated.
-          assert(!is_plus_infinity(dbm[i][leader]));
+          PPL_ASSERT(!is_plus_infinity(dbm[i][leader]));
           numer_denom(dbm[i][leader], num, den);
           cgs.insert(den*Variable(leader-1) - den*Variable(i-1) == num);
         }
@@ -58900,7 +63726,7 @@ BD_Shape<T>::add_constraint(const Constraint& c) {
   // closure or reduction of the bounded difference shape.
   if (changed && marked_shortest_path_closed())
     reset_shortest_path_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -58925,7 +63751,7 @@ BD_Shape<T>::add_congruence(const Congruence& cg) {
                   "cg is a non-trivial, proper congruence");
   }
 
-  assert(cg.is_equality());
+  PPL_ASSERT(cg.is_equality());
   Constraint c(cg);
   add_constraint(c);
 }
@@ -58933,9 +63759,9 @@ BD_Shape<T>::add_congruence(const Congruence& cg) {
 template <typename T>
 void
 BD_Shape<T>::refine_no_check(const Constraint& c) {
-  assert(!marked_empty());
+  PPL_ASSERT(!marked_empty());
   const dimension_type c_space_dim = c.space_dimension();
-  assert(c_space_dim <= space_dimension());
+  PPL_ASSERT(c_space_dim <= space_dimension());
 
   dimension_type num_vars = 0;
   dimension_type i = 0;
@@ -58987,7 +63813,7 @@ BD_Shape<T>::refine_no_check(const Constraint& c) {
   // closure or reduction of the bounded difference shape.
   if (changed && marked_shortest_path_closed())
     reset_shortest_path_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -59009,7 +63835,7 @@ BD_Shape<T>::concatenate_assign(const BD_Shape& y) {
   // the dimension of the vector space.
   if (x_space_dim == 0 && marked_empty()) {
     dbm.grow(y_space_dim + 1);
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
   // First we increase the space dimension of `x' by adding
@@ -59031,7 +63857,7 @@ BD_Shape<T>::concatenate_assign(const BD_Shape& y) {
 
   if (marked_shortest_path_closed())
     reset_shortest_path_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -59227,13 +64053,123 @@ BD_Shape<T>::contains_integer_point() const {
 
 template <typename T>
 bool
+BD_Shape<T>::frequency(const Linear_Expression& expr,
+                       Coefficient& freq_n, Coefficient& freq_d,
+                       Coefficient& val_n, Coefficient& val_d) const {
+  dimension_type space_dim = space_dimension();
+  // The dimension of `expr' must be at most the dimension of *this.
+  if (space_dim < expr.space_dimension())
+    throw_dimension_incompatible("frequency(e, ...)", "e", expr);
+
+  // Check if `expr' has a constant value.
+  // If it is constant, set the frequency `freq_n' to 0
+  // and return true. Otherwise the values for \p expr
+  // are not discrete so return false.
+
+  // Space dimension = 0: if empty, then return false;
+  // otherwise the frequency is 0 and the value is the inhomogeneous term.
+  if (space_dim == 0) {
+    if (is_empty())
+      return false;
+    freq_n = 0;
+    freq_d = 1;
+    val_n = expr.inhomogeneous_term();
+    val_d = 1;
+    return true;
+  }
+
+  shortest_path_closure_assign();
+  // For an empty BD shape, we simply return false.
+  if (marked_empty())
+    return false;
+
+  // The BD shape has at least 1 dimension and is not empty.
+  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
+  PPL_DIRTY_TEMP_COEFFICIENT(num);
+  PPL_DIRTY_TEMP_COEFFICIENT(den);
+  PPL_DIRTY_TEMP(N, tmp);
+  Linear_Expression le = expr;
+  // Boolean to keep track of a variable `v' in expression `le'.
+  // If we can replace `v' by an expression using variables other
+  // than `v' and are already in `le', then this is set to true.
+  bool constant_v = false;
+
+  PPL_DIRTY_TEMP_COEFFICIENT(val_den);
+  val_den = 1;
+
+  for (dimension_type i = dbm.num_rows(); i-- > 1; ) {
+    constant_v = false;
+    const Variable v(i-1);
+    coeff = le.coefficient(v);
+    if (coeff == 0) {
+      constant_v = true;
+      continue;
+    }
+
+    const DB_Row<N>& dbm_i = dbm[i];
+    // Check if `v' is constant in the BD shape.
+    assign_r(tmp, dbm_i[0], ROUND_NOT_NEEDED);
+    if (is_additive_inverse(dbm[0][i], tmp)) {
+      // If `v' is constant, replace it in `le' by the value.
+      numer_denom(tmp, num, den);
+      le -= coeff*v;
+      le *= den;
+      le -= num*coeff;
+      val_den *= den;
+      constant_v = true;
+      continue;
+    }
+    // Check the bounded differences with the other dimensions that
+    // have non-zero coefficient in `le'.
+    else {
+      PPL_ASSERT(!constant_v);
+      for (dimension_type j = i; j-- > 1; ) {
+        const Variable vj(j-1);
+        if (le.coefficient(vj) == 0)
+          // The coefficient in `le' is 0, so do nothing.
+          continue;
+        assign_r(tmp, dbm_i[j], ROUND_NOT_NEEDED);
+        if (is_additive_inverse(dbm[j][i], tmp)) {
+          // The coefficient for `vj' in `le' is not 0
+          // and the difference with `v' in the BD shape is constant.
+          // So apply this equality to eliminate `v' in `le'.
+          numer_denom(tmp, num, den);
+          le -= coeff*v - coeff*vj;
+          le *= den;
+          le -= num*coeff;
+          val_den *= den;
+          constant_v = true;
+          break;
+        }
+      }
+      if (!constant_v)
+        // The expression `expr' is not constant.
+        return false;
+    }
+  }
+  if (!constant_v)
+    // The expression `expr' is not constant.
+    return false;
+
+  // The expression `expr' is constant.
+  freq_n = 0;
+  freq_d = 1;
+
+  // Reduce `val_n' and `val_d'.
+  normalize2(le.inhomogeneous_term(), val_den, val_n, val_d);
+  return true;
+}
+
+template <typename T>
+bool
 BD_Shape<T>::constrains(const Variable var) const {
-  // `var' should be one of the dimensions of the polyhedron.
+  // `var' should be one of the dimensions of the BD shape.
   const dimension_type var_space_dim = var.space_dimension();
   if (space_dimension() < var_space_dim)
     throw_dimension_incompatible("constrains(v)", "v", var);
 
-  // A polyhedron known to be empty constrains all variables.
+  shortest_path_closure_assign();
+  // A BD shape known to be empty constrains all variables.
   // (Note: do not force emptiness check _yet_)
   if (marked_empty())
     return true;
@@ -59255,8 +64191,8 @@ template <typename T>
 void
 BD_Shape<T>
 ::compute_predecessors(std::vector<dimension_type>& predecessor) const {
-  assert(!marked_empty() && marked_shortest_path_closed());
-  assert(predecessor.size() == 0);
+  PPL_ASSERT(!marked_empty() && marked_shortest_path_closed());
+  PPL_ASSERT(predecessor.size() == 0);
   // Variables are ordered according to their index.
   // The vector `predecessor' is used to indicate which variable
   // immediately precedes a given one in the corresponding equivalence class.
@@ -59284,18 +64220,18 @@ BD_Shape<T>
 template <typename T>
 void
 BD_Shape<T>::compute_leaders(std::vector<dimension_type>& leaders) const {
-  assert(!marked_empty() && marked_shortest_path_closed());
-  assert(leaders.size() == 0);
+  PPL_ASSERT(!marked_empty() && marked_shortest_path_closed());
+  PPL_ASSERT(leaders.size() == 0);
   // Compute predecessor information.
   compute_predecessors(leaders);
   // Flatten the predecessor chains so as to obtain leaders.
-  assert(leaders[0] == 0);
+  PPL_ASSERT(leaders[0] == 0);
   for (dimension_type i = 1, l_size = leaders.size(); i != l_size; ++i) {
     const dimension_type l_i = leaders[i];
-    assert(l_i <= i);
+    PPL_ASSERT(l_i <= i);
     if (l_i != i) {
       const dimension_type ll_i = leaders[l_i];
-      assert(ll_i == leaders[ll_i]);
+      PPL_ASSERT(ll_i == leaders[ll_i]);
       leaders[i] = ll_i;
     }
   }
@@ -59513,7 +64449,7 @@ BD_Shape<T>::bounds(const Linear_Expression& expr,
       = from_above ? MAXIMIZATION : MINIMIZATION;
     MIP_Problem mip(space_dim, constraints(), expr, mode_bounds);
     // Problem is known to be feasible.
-    return (mip.solve() == OPTIMIZED_MIP_PROBLEM);
+    return mip.solve() == OPTIMIZED_MIP_PROBLEM;
   }
 }
 
@@ -59665,24 +64601,17 @@ BD_Shape<T>::max_min(const Linear_Expression& expr,
 template <typename T>
 Poly_Con_Relation
 BD_Shape<T>::relation_with(const Congruence& cg) const {
-  const dimension_type cg_space_dim = cg.space_dimension();
   const dimension_type space_dim = space_dimension();
 
   // Dimension-compatibility check.
-  if (cg_space_dim > space_dim)
+  if (cg.space_dimension() > space_dim)
     throw_dimension_incompatible("relation_with(cg)", cg);
 
-  // If the congruence is a bounded difference equality,
-  // find the relation with the equivalent equality constraint.
+  // If the congruence is an equality, find the relation with
+  // the equivalent equality constraint.
   if (cg.is_equality()) {
     Constraint c(cg);
-    dimension_type num_vars = 0;
-    dimension_type i = 0;
-    dimension_type j = 0;
-    PPL_DIRTY_TEMP_COEFFICIENT(coeff);
-    if (extract_bounded_difference(c, cg_space_dim, num_vars,
-                                    i, j, coeff))
-      return relation_with(c);
+    return relation_with(c);
   }
 
   shortest_path_closure_assign();
@@ -59695,37 +64624,68 @@ BD_Shape<T>::relation_with(const Congruence& cg) const {
   if (space_dim == 0) {
     if (cg.is_inconsistent())
       return Poly_Con_Relation::is_disjoint();
-    else if (cg.inhomogeneous_term() % cg.modulus() == 0)
+    else
       return Poly_Con_Relation::saturates()
         && Poly_Con_Relation::is_included();
   }
 
-  PPL_DIRTY_TEMP(Coefficient, min_num);
-  PPL_DIRTY_TEMP(Coefficient, min_den);
+  // Find the lower bound for a hyperplane with direction
+  // defined by the congruence.
+  Linear_Expression le = Linear_Expression(cg);
+  PPL_DIRTY_TEMP_COEFFICIENT(min_num);
+  PPL_DIRTY_TEMP_COEFFICIENT(min_den);
   bool min_included;
-  PPL_DIRTY_TEMP_COEFFICIENT(mod);
-  mod = cg.modulus();
-  Linear_Expression le;
-  for (dimension_type i = cg_space_dim; i-- > 0; )
-    le += cg.coefficient(Variable(i)) * Variable(i);
   bool bounded_below = minimize(le, min_num, min_den, min_included);
 
+  // If there is no lower bound, then some of the hyperplanes defined by
+  // the congruence will strictly intersect the shape.
   if (!bounded_below)
     return Poly_Con_Relation::strictly_intersects();
 
-  PPL_DIRTY_TEMP_COEFFICIENT(v);
-  PPL_DIRTY_TEMP_COEFFICIENT(lower_num);
-  PPL_DIRTY_TEMP_COEFFICIENT(lower_den);
-  PPL_DIRTY_TEMP_COEFFICIENT(lower);
-  assign_r(lower_num, min_num, ROUND_NOT_NEEDED);
-  assign_r(lower_den, min_den, ROUND_NOT_NEEDED);
-  neg_assign(v, cg.inhomogeneous_term());
-  lower = lower_num / lower_den;
-  v += ((lower / mod) * mod);
-  if (v * lower_den < lower_num)
-    v += mod;
-  const Constraint& c(le == v);
-  return relation_with(c);
+  // TODO: Consider adding a max_and_min() method, performing both
+  // maximization and minimization so as to possibly exploit
+  // incrementality of the MIP solver.
+
+  // Find the upper bound for a hyperplane with direction
+  // defined by the congruence.
+  PPL_DIRTY_TEMP_COEFFICIENT(max_num);
+  PPL_DIRTY_TEMP_COEFFICIENT(max_den);
+  bool max_included;
+  bool bounded_above = maximize(le, max_num, max_den, max_included);
+
+  // If there is no upper bound, then some of the hyperplanes defined by
+  // the congruence will strictly intersect the shape.
+  if (!bounded_above)
+    return Poly_Con_Relation::strictly_intersects();
+
+  PPL_DIRTY_TEMP_COEFFICIENT(signed_distance);
+
+  // Find the position value for the hyperplane that satisfies the congruence
+  // and is above the lower bound for the shape.
+  PPL_DIRTY_TEMP_COEFFICIENT(min_value);
+  min_value = min_num / min_den;
+  const Coefficient& modulus = cg.modulus();
+  signed_distance = min_value % modulus;
+  min_value -= signed_distance;
+  if (min_value * min_den < min_num)
+    min_value += modulus;
+
+  // Find the position value for the hyperplane that satisfies the congruence
+  // and is below the upper bound for the shape.
+  PPL_DIRTY_TEMP_COEFFICIENT(max_value);
+  max_value = max_num / max_den;
+  signed_distance = max_value % modulus;
+  max_value += signed_distance;
+  if (max_value * max_den > max_num)
+    max_value -= modulus;
+
+  // If the upper bound value is less than the lower bound value,
+  // then there is an empty intersection with the congruence;
+  // otherwise it will strictly intersect.
+  if (max_value < min_value)
+    return Poly_Con_Relation::is_disjoint();
+  else
+    return Poly_Con_Relation::strictly_intersects();
 }
 
 
@@ -60094,7 +65054,7 @@ BD_Shape<T>::shortest_path_closure_assign() const {
 
   // Fill the main diagonal with zeros.
   for (dimension_type h = num_dimensions + 1; h-- > 0; ) {
-    assert(is_plus_infinity(x.dbm[h][h]));
+    PPL_ASSERT(is_plus_infinity(x.dbm[h][h]));
     assign_r(x.dbm[h][h], 0, ROUND_NOT_NEEDED);
   }
 
@@ -60125,7 +65085,7 @@ BD_Shape<T>::shortest_path_closure_assign() const {
       return;
     }
     else {
-      assert(sgn(x_dbm_hh) == 0);
+      PPL_ASSERT(sgn(x_dbm_hh) == 0);
       // Restore PLUS_INFINITY on the main diagonal.
       assign_r(x_dbm_hh, PLUS_INFINITY, ROUND_NOT_NEEDED);
     }
@@ -60142,7 +65102,7 @@ BD_Shape<T>::incremental_shortest_path_closure_assign(Variable var) const {
   if (marked_empty() || marked_shortest_path_closed())
     return;
   const dimension_type num_dimensions = space_dimension();
-  assert(var.id() < num_dimensions);
+  PPL_ASSERT(var.id() < num_dimensions);
 
   // Even though the BDS will not change, its internal representation
   // is going to be modified by the incremental Floyd-Warshall algorithm.
@@ -60150,7 +65110,7 @@ BD_Shape<T>::incremental_shortest_path_closure_assign(Variable var) const {
 
   // Fill the main diagonal with zeros.
   for (dimension_type h = num_dimensions + 1; h-- > 0; ) {
-    assert(is_plus_infinity(x.dbm[h][h]));
+    PPL_ASSERT(is_plus_infinity(x.dbm[h][h]));
     assign_r(x.dbm[h][h], 0, ROUND_NOT_NEEDED);
   }
 
@@ -60235,7 +65195,7 @@ BD_Shape<T>::incremental_shortest_path_closure_assign(Variable var) const {
       return;
     }
     else {
-      assert(sgn(x_dbm_hh) == 0);
+      PPL_ASSERT(sgn(x_dbm_hh) == 0);
       // Restore PLUS_INFINITY on the main diagonal.
       assign_r(x_dbm_hh, PLUS_INFINITY, ROUND_NOT_NEEDED);
     }
@@ -60320,14 +65280,14 @@ BD_Shape<T>::shortest_path_reduction_assign() const {
         const dimension_type pred_j = predecessor[j];
         if (j == pred_j) {
           // We finally found the leader of `i'.
-          assert(redundancy[i][j]);
+          PPL_ASSERT(redundancy[i][j]);
           redundancy[i].clear(j);
           // Here we dealt with `j' (i.e., `pred_j'), but it is useless
           // to update `dealt_with' because `j' is a leader.
           break;
         }
         // We haven't found the leader of `i' yet.
-        assert(redundancy[pred_j][j]);
+        PPL_ASSERT(redundancy[pred_j][j]);
         redundancy[pred_j].clear(j);
         dealt_with[pred_j] = true;
         j = pred_j;
@@ -60340,7 +65300,7 @@ BD_Shape<T>::shortest_path_reduction_assign() const {
   std::swap(x.redundancy_dbm, redundancy);
   x.set_shortest_path_reduced();
 
-  assert(is_shortest_path_reduced());
+  PPL_ASSERT(is_shortest_path_reduced());
 }
 
 template <typename T>
@@ -60352,7 +65312,7 @@ BD_Shape<T>::upper_bound_assign(const BD_Shape& y) {
   if (space_dim != y.space_dimension())
     throw_dimension_incompatible("upper_bound_assign(y)", y);
 
-  // The poly-hull of a polyhedron `bd' with an empty polyhedron is `bd'.
+  // The upper bound of a BD shape `bd' with an empty shape is `bd'.
   y.shortest_path_closure_assign();
   if (y.marked_empty())
     return;
@@ -60364,7 +65324,7 @@ BD_Shape<T>::upper_bound_assign(const BD_Shape& y) {
 
   // The bds-hull consists in constructing `*this' with the maximum
   // elements selected from `*this' and `y'.
-  assert(space_dim == 0 || marked_shortest_path_closed());
+  PPL_ASSERT(space_dim == 0 || marked_shortest_path_closed());
   for (dimension_type i = space_dim + 1; i-- > 0; ) {
     DB_Row<N>& dbm_i = dbm[i];
     const DB_Row<N>& y_dbm_i = y.dbm[i];
@@ -60379,7 +65339,7 @@ BD_Shape<T>::upper_bound_assign(const BD_Shape& y) {
   // TODO: see whether reduction can be (efficiently!) maintained too.
   if (marked_shortest_path_reduced())
     reset_shortest_path_reduced();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -60390,7 +65350,7 @@ BD_Shape<T>::BFT00_upper_bound_assign_if_exact(const BD_Shape& y) {
   const dimension_type x_space_dim = x.space_dimension();
 
   // Private method: the caller must ensure the following.
-  assert(x_space_dim == y.space_dimension());
+  PPL_ASSERT(x_space_dim == y.space_dimension());
 
   // The zero-dim case is trivial.
   if (x_space_dim == 0) {
@@ -60438,7 +65398,7 @@ BD_Shape<T>::BFT00_upper_bound_assign_if_exact(const BD_Shape& y) {
         continue;
       if (!x_red_i[j]) {
         const N& x_dbm_ij = x_dbm_i[j];
-        assert(!is_plus_infinity(x_dbm_ij));
+        PPL_ASSERT(!is_plus_infinity(x_dbm_ij));
         numer_denom(x_dbm_ij, num, den);
         // Build skeleton DB constraint (having the right space dimension).
         db_expr = zero_expr;
@@ -60459,7 +65419,7 @@ BD_Shape<T>::BFT00_upper_bound_assign_if_exact(const BD_Shape& y) {
       if (!y_red_i[j]) {
         const N& y_dbm_ij = y_dbm_i[j];
         const N& x_dbm_ij = x_dbm_i[j];
-        assert(!is_plus_infinity(y_dbm_ij));
+        PPL_ASSERT(!is_plus_infinity(y_dbm_ij));
         numer_denom(y_dbm_ij, num, den);
         // Build skeleton DB constraint (having the right space dimension).
         db_expr = zero_expr;
@@ -60499,7 +65459,7 @@ BD_Shape<T>::BFT00_upper_bound_assign_if_exact(const BD_Shape& y) {
   MIP_Problem env_lp(x_space_dim + 1, env_cs, eps, MAXIMIZATION);
   // Pre-solve `env_lp' to later exploit incrementality.
   env_lp.solve();
-  assert(env_lp.solve() != UNFEASIBLE_MIP_PROBLEM);
+  PPL_ASSERT(env_lp.solve() != UNFEASIBLE_MIP_PROBLEM);
 
   // Implementing loop in Steps 3-6.
   for (Constraint_System::const_iterator i = x_cs_removed.begin(),
@@ -60531,21 +65491,27 @@ BD_Shape<T>::BFT00_upper_bound_assign_if_exact(const BD_Shape& y) {
 
   // The upper bound of x and y is indeed exact.
   upper_bound_assign(y);
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
 template <typename T>
+template <bool integer_upper_bound>
 bool
 BD_Shape<T>::BHZ09_upper_bound_assign_if_exact(const BD_Shape& y) {
-  // FIXME, CHECKME: what about inexact computations?
+  PPL_COMPILE_TIME_CHECK(!integer_upper_bound
+                         || std::numeric_limits<T>::is_integer,
+                         "BD_Shape<T>::BHZ09_upper_bound_assign_if_exact(y):"
+                         " instantiating for integer upper bound,"
+                         " but T in not an integer datatype.");
 
+  // FIXME, CHECKME: what about inexact computations?
   // Declare a const reference to *this (to avoid accidental modifications).
   const BD_Shape& x = *this;
   const dimension_type x_space_dim = x.space_dimension();
 
   // Private method: the caller must ensure the following.
-  assert(x_space_dim == y.space_dimension());
+  PPL_ASSERT(x_space_dim == y.space_dimension());
 
   // The zero-dim case is trivial.
   if (x_space_dim == 0) {
@@ -60567,8 +65533,8 @@ BD_Shape<T>::BHZ09_upper_bound_assign_if_exact(const BD_Shape& y) {
   // Here both `x' and `y' are known to be non-empty.
   x.shortest_path_reduction_assign();
   y.shortest_path_reduction_assign();
-  assert(x.marked_shortest_path_closed());
-  assert(y.marked_shortest_path_closed());
+  PPL_ASSERT(x.marked_shortest_path_closed());
+  PPL_ASSERT(y.marked_shortest_path_closed());
   // Pre-compute the upper bound of `x' and `y'.
   BD_Shape<T> ub(x);
   ub.upper_bound_assign(y);
@@ -60577,6 +65543,9 @@ BD_Shape<T>::BHZ09_upper_bound_assign_if_exact(const BD_Shape& y) {
   PPL_DIRTY_TEMP(N, rhs);
   PPL_DIRTY_TEMP(N, temp_zero);
   assign_r(temp_zero, 0, ROUND_NOT_NEEDED);
+  PPL_DIRTY_TEMP(N, temp_one);
+  if (integer_upper_bound)
+    assign_r(temp_one, 1, ROUND_NOT_NEEDED);
 
   for (dimension_type i = x_space_dim + 1; i-- > 0; ) {
     const DB_Row<N>& x_i = x.dbm[i];
@@ -60588,7 +65557,7 @@ BD_Shape<T>::BHZ09_upper_bound_assign_if_exact(const BD_Shape& y) {
       if (x_red_i[j])
         continue;
       // By non-redundancy, we know that i != j.
-      assert(i != j);
+      PPL_ASSERT(i != j);
       const N& x_i_j = x_i[j];
       if (x_i_j < y_i[j]) {
         for (dimension_type k = x_space_dim + 1; k-- > 0; ) {
@@ -60602,7 +65571,7 @@ BD_Shape<T>::BHZ09_upper_bound_assign_if_exact(const BD_Shape& y) {
             if (y_red_k[ell])
               continue;
             // By non-redundancy, we know that k != ell.
-            assert(k != ell);
+            PPL_ASSERT(k != ell);
             const N& y_k_ell = y_k[ell];
             if (y_k_ell < x_k[ell]) {
               // The first condition in BHZ09 theorem holds;
@@ -60610,6 +65579,12 @@ BD_Shape<T>::BHZ09_upper_bound_assign_if_exact(const BD_Shape& y) {
               add_assign_r(lhs, x_i_j, y_k_ell, ROUND_UP);
               const N& ub_i_ell = (i == ell) ? temp_zero : ub_i[ell];
               add_assign_r(rhs, ub_i_ell, ub_k_j, ROUND_UP);
+              if (integer_upper_bound) {
+                // Note: adding 1 rather than 2 (as in Theorem 5.3)
+                // so as to later test for < rather than <=.
+                add_assign_r(lhs, lhs, temp_one, ROUND_NOT_NEEDED);
+              }
+              // Testing for < in both the rational and integer case.
               if (lhs < rhs)
                 return false;
             }
@@ -60620,7 +65595,7 @@ BD_Shape<T>::BHZ09_upper_bound_assign_if_exact(const BD_Shape& y) {
   }
   // The upper bound of x and y is indeed exact.
   swap(ub);
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
@@ -60691,7 +65666,7 @@ BD_Shape<T>::difference_assign(const BD_Shape& y) {
     }
   }
   *this = new_bd_shape;
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -60762,12 +65737,12 @@ BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
 
   found:
     // Found: build a new BDS contradicting the constraint found.
-    assert(i <= dim && j <= dim && (i > 0 || j > 0));
+    PPL_ASSERT(i <= dim && j <= dim && (i > 0 || j > 0));
     BD_Shape<T> res(dim, UNIVERSE);
     PPL_DIRTY_TEMP(N, tmp);
     assign_r(tmp, 1, ROUND_UP);
     add_assign_r(tmp, tmp, y.dbm[i][j], ROUND_UP);
-    assert(!is_plus_infinity(tmp));
+    PPL_ASSERT(!is_plus_infinity(tmp));
     // CHECKME: round down is really meant.
     neg_assign_r(res.dbm[j][i], tmp, ROUND_DOWN);
     x.swap(res);
@@ -60787,7 +65762,7 @@ BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
   dimension_type x_num_nonredundant = (dim+1)*(dim+1);
   for (dimension_type i = dim + 1; i-- > 0; )
     x_num_nonredundant -= x.redundancy_dbm[i].count_ones();
-  assert(x_num_nonredundant > 0);
+  PPL_ASSERT(x_num_nonredundant > 0);
 
   // Let `yy' be a copy of `y': we will keep adding to `yy'
   // the non-redundant constraints of `x',
@@ -60812,7 +65787,7 @@ BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
     // provided index j has special variable index 0 as its leader.
     if (x_leaders[j] != 0)
       continue;
-    assert(!is_plus_infinity(x_dbm_0[j]));
+    PPL_ASSERT(!is_plus_infinity(x_dbm_0[j]));
     if (x_dbm_0[j] < yy_dbm_0[j]) {
       res_dbm_0[j] = x_dbm_0[j];
       ++res_num_nonredundant;
@@ -60820,7 +65795,7 @@ BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
       yy_dbm_0[j] = x_dbm_0[j];
       yy.reset_shortest_path_closed();
     }
-    assert(!is_plus_infinity(x.dbm[j][0]));
+    PPL_ASSERT(!is_plus_infinity(x.dbm[j][0]));
     if (x.dbm[j][0] < yy.dbm[j][0]) {
       res.dbm[j][0] = x.dbm[j][0];
       ++res_num_nonredundant;
@@ -60849,7 +65824,7 @@ BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
     const dimension_type j = x_leaders[i];
     if (j == i || j == 0)
       continue;
-    assert(!is_plus_infinity(x.dbm[i][j]));
+    PPL_ASSERT(!is_plus_infinity(x.dbm[i][j]));
     if (x.dbm[i][j] < yy.dbm[i][j]) {
       res.dbm[i][j] = x.dbm[i][j];
       ++res_num_nonredundant;
@@ -60857,7 +65832,7 @@ BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
       yy.dbm[i][j] = x.dbm[i][j];
       yy.reset_shortest_path_closed();
     }
-    assert(!is_plus_infinity(x.dbm[j][i]));
+    PPL_ASSERT(!is_plus_infinity(x.dbm[j][i]));
     if (x.dbm[j][i] < yy.dbm[j][i]) {
       res.dbm[j][i] = x.dbm[j][i];
       ++res_num_nonredundant;
@@ -60900,7 +65875,7 @@ BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
         // Tighten context `yy' using the newly added constraint.
         yy_dbm_ij = x_dbm_ij;
         yy.reset_shortest_path_closed();
-        assert(i > 0 || j > 0);
+        PPL_ASSERT(i > 0 || j > 0);
         Variable var((i > 0 ? i : j) - 1);
         yy.incremental_shortest_path_closure_assign(var);
         if (target.contains(yy)) {
@@ -60944,7 +65919,7 @@ BD_Shape<T>::add_space_dimensions_and_embed(const dimension_type m) {
   if (was_zero_dim_univ)
     set_shortest_path_closed();
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -60970,7 +65945,7 @@ BD_Shape<T>::add_space_dimensions_and_project(const dimension_type m) {
       }
       set_shortest_path_closed();
     }
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -60990,24 +65965,24 @@ BD_Shape<T>::add_space_dimensions_and_project(const dimension_type m) {
 
   if (marked_shortest_path_closed())
     reset_shortest_path_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
 void
-BD_Shape<T>::remove_space_dimensions(const Variables_Set& to_be_removed) {
+BD_Shape<T>::remove_space_dimensions(const Variables_Set& vars) {
   // The removal of no dimensions from any BDS is a no-op.
   // Note that this case also captures the only legal removal of
   // space dimensions from a BDS in a 0-dim space.
-  if (to_be_removed.empty()) {
-    assert(OK());
+  if (vars.empty()) {
+    PPL_ASSERT(OK());
     return;
   }
 
   const dimension_type old_space_dim = space_dimension();
 
   // Dimension-compatibility check.
-  const dimension_type min_space_dim = to_be_removed.space_dimension();
+  const dimension_type min_space_dim = vars.space_dimension();
   if (old_space_dim < min_space_dim)
     throw_dimension_incompatible("remove_space_dimensions(vs)", min_space_dim);
 
@@ -61016,20 +65991,20 @@ BD_Shape<T>::remove_space_dimensions(const Variables_Set& to_be_removed) {
 
   // When removing _all_ dimensions from a BDS, we obtain the
   // zero-dimensional BDS.
-  const dimension_type new_space_dim = old_space_dim - to_be_removed.size();
+  const dimension_type new_space_dim = old_space_dim - vars.size();
   if (new_space_dim == 0) {
     dbm.resize_no_copy(1);
     if (!marked_empty())
       // We set the zero_dim_univ flag.
       set_zero_dim_univ();
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
   // Handle the case of an empty BD_Shape.
   if (marked_empty()) {
     dbm.resize_no_copy(new_space_dim + 1);
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -61041,15 +66016,15 @@ BD_Shape<T>::remove_space_dimensions(const Variables_Set& to_be_removed) {
   // For each variable to remove, we fill the corresponding column and
   // row by shifting respectively left and above those
   // columns and rows, that will not be removed.
-  Variables_Set::const_iterator tbr = to_be_removed.begin();
-  Variables_Set::const_iterator tbr_end = to_be_removed.end();
-  dimension_type dst = *tbr + 1;
+  Variables_Set::const_iterator vsi = vars.begin();
+  Variables_Set::const_iterator vsi_end = vars.end();
+  dimension_type dst = *vsi + 1;
   dimension_type src = dst + 1;
-  for (++tbr; tbr != tbr_end; ++tbr) {
-    const dimension_type tbr_next = *tbr + 1;
+  for (++vsi; vsi != vsi_end; ++vsi) {
+    const dimension_type vsi_next = *vsi + 1;
     // All other columns and rows are moved respectively to the left
     // and above.
-    while (src < tbr_next) {
+    while (src < vsi_next) {
       std::swap(dbm[dst], dbm[src]);
       for (dimension_type i = old_space_dim + 1; i-- > 0; ) {
         DB_Row<N>& dbm_i = dbm[i];
@@ -61074,7 +66049,7 @@ BD_Shape<T>::remove_space_dimensions(const Variables_Set& to_be_removed) {
 
   // Update the space dimension.
   dbm.resize_no_copy(new_space_dim + 1);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -61143,7 +66118,7 @@ BD_Shape<T>::map_space_dimensions(const Partial_Function& pfunc) {
   }
 
   std::swap(dbm, x);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -61188,7 +66163,7 @@ BD_Shape<T>::intersection_assign(const BD_Shape& y) {
 
   if (changed && marked_shortest_path_closed())
     reset_shortest_path_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -61208,7 +66183,7 @@ BD_Shape<T>::CC76_extrapolation_assign(const BD_Shape& y,
     // We assume that `y' is contained in or equal to `*this'.
     const BD_Shape x_copy = *this;
     const BD_Shape y_copy = y;
-    assert(x_copy.contains(y_copy));
+    PPL_ASSERT(x_copy.contains(y_copy));
   }
 #endif
 
@@ -61262,7 +66237,7 @@ BD_Shape<T>::CC76_extrapolation_assign(const BD_Shape& y,
     }
   }
   reset_shortest_path_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -61271,7 +66246,7 @@ BD_Shape<T>::get_limiting_shape(const Constraint_System& cs,
                                 BD_Shape& limiting_shape) const {
   const dimension_type cs_space_dim = cs.space_dimension();
   // Private method: the caller has to ensure the following.
-  assert(cs_space_dim <= space_dimension());
+  PPL_ASSERT(cs_space_dim <= space_dimension());
 
   shortest_path_closure_assign();
   bool changed = false;
@@ -61311,7 +66286,7 @@ BD_Shape<T>::get_limiting_shape(const Constraint_System& cs,
           neg_assign(minus_c_term, c.inhomogeneous_term());
           div_round_up(d1, minus_c_term, coeff);
           if (y <= d1)
-	    if((ls_x >= d && ls_y > d1) || (ls_x > d && ls_y >= d1)) {
+	    if ((ls_x >= d && ls_y > d1) || (ls_x > d && ls_y >= d1)) {
 	      ls_x = d;
 	      ls_y = d1;
 	      changed = true;
@@ -61361,7 +66336,7 @@ BD_Shape<T>::limited_CC76_extrapolation_assign(const BD_Shape& y,
     // We assume that `y' is contained in or equal to `*this'.
     const BD_Shape x_copy = *this;
     const BD_Shape y_copy = y;
-    assert(x_copy.contains(y_copy));
+    PPL_ASSERT(x_copy.contains(y_copy));
   }
 #endif
 
@@ -61392,7 +66367,7 @@ BD_Shape<T>::BHMZ05_widening_assign(const BD_Shape& y, unsigned* tp) {
     // We assume that `y' is contained in or equal to `*this'.
     const BD_Shape x_copy = *this;
     const BD_Shape y_copy = y;
-    assert(x_copy.contains(y_copy));
+    PPL_ASSERT(x_copy.contains(y_copy));
   }
 #endif
 
@@ -61407,7 +66382,7 @@ BD_Shape<T>::BHMZ05_widening_assign(const BD_Shape& y, unsigned* tp) {
   // If the affine dimension has changed, due to the inclusion hypothesis,
   // the result is `*this'.
   const dimension_type x_affine_dim = affine_dimension();
-  assert(x_affine_dim >= y_affine_dim);
+  PPL_ASSERT(x_affine_dim >= y_affine_dim);
   if (x_affine_dim != y_affine_dim)
     return;
 
@@ -61422,7 +66397,7 @@ BD_Shape<T>::BHMZ05_widening_assign(const BD_Shape& y, unsigned* tp) {
   }
 
   // Here no token is available.
-  assert(marked_shortest_path_closed() && y.marked_shortest_path_closed());
+  PPL_ASSERT(marked_shortest_path_closed() && y.marked_shortest_path_closed());
   // Minimize `y'.
   y.shortest_path_reduction_assign();
 
@@ -61445,7 +66420,7 @@ BD_Shape<T>::BHMZ05_widening_assign(const BD_Shape& y, unsigned* tp) {
   // current implementation invariant requires that any reduced dbm
   // is closed too.
   reset_shortest_path_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -61481,7 +66456,7 @@ BD_Shape<T>::limited_BHMZ05_extrapolation_assign(const BD_Shape& y,
     // We assume that `y' is contained in or equal to `*this'.
     const BD_Shape x_copy = *this;
     const BD_Shape y_copy = y;
-    assert(x_copy.contains(y_copy));
+    PPL_ASSERT(x_copy.contains(y_copy));
   }
 #endif
 
@@ -61512,7 +66487,7 @@ BD_Shape<T>::CC76_narrowing_assign(const BD_Shape& y) {
     // We assume that `*this' is contained in or equal to `y'.
     const BD_Shape x_copy = *this;
     const BD_Shape y_copy = y;
-    assert(y_copy.contains(x_copy));
+    PPL_ASSERT(y_copy.contains(x_copy));
   }
 #endif
 
@@ -61549,7 +66524,7 @@ BD_Shape<T>::CC76_narrowing_assign(const BD_Shape& y) {
   }
   if (changed && marked_shortest_path_closed())
     reset_shortest_path_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -61560,8 +66535,8 @@ BD_Shape<T>
                           const Linear_Expression& sc_expr,
                           Coefficient_traits::const_reference sc_den,
                           const N& ub_v) {
-  assert(sc_den > 0);
-  assert(!is_plus_infinity(ub_v));
+  PPL_ASSERT(sc_den > 0);
+  PPL_ASSERT(!is_plus_infinity(ub_v));
   // Deduce constraints of the form `v - u', where `u != v'.
   // Note: the shortest-path closure is able to deduce the constraint
   // `v - u <= ub_v - lb_u'. We can be more precise if variable `u'
@@ -61621,8 +66596,8 @@ BD_Shape<T>
                           const Linear_Expression& sc_expr,
                           Coefficient_traits::const_reference sc_den,
                           const N& minus_lb_v) {
-  assert(sc_den > 0);
-  assert(!is_plus_infinity(minus_lb_v));
+  PPL_ASSERT(sc_den > 0);
+  PPL_ASSERT(!is_plus_infinity(minus_lb_v));
   // Deduce constraints of the form `u - v', where `u != v'.
   // Note: the shortest-path closure is able to deduce the constraint
   // `u - v <= ub_u - lb_v'. We can be more precise if variable `u'
@@ -61678,7 +66653,7 @@ BD_Shape<T>
 template <typename T>
 void
 BD_Shape<T>::forget_all_dbm_constraints(const dimension_type v) {
-  assert(0 < v && v <= dbm.num_rows());
+  PPL_ASSERT(0 < v && v <= dbm.num_rows());
   DB_Row<N>& dbm_v = dbm[v];
   for (dimension_type i = dbm.num_rows(); i-- > 0; ) {
     assign_r(dbm_v[i], PLUS_INFINITY, ROUND_NOT_NEEDED);
@@ -61689,7 +66664,7 @@ BD_Shape<T>::forget_all_dbm_constraints(const dimension_type v) {
 template <typename T>
 void
 BD_Shape<T>::forget_binary_dbm_constraints(const dimension_type v) {
-  assert(0 < v && v <= dbm.num_rows());
+  PPL_ASSERT(0 < v && v <= dbm.num_rows());
   DB_Row<N>& dbm_v = dbm[v];
   for (dimension_type i = dbm.num_rows()-1; i > 0; --i) {
     assign_r(dbm_v[i], PLUS_INFINITY, ROUND_NOT_NEEDED);
@@ -61716,19 +66691,19 @@ BD_Shape<T>::unconstrain(const Variable var) {
   forget_all_dbm_constraints(dim+1);
   // Shortest-path closure is preserved, but not reduction.
   reset_shortest_path_reduced();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
 void
-BD_Shape<T>::unconstrain(const Variables_Set& to_be_unconstrained) {
+BD_Shape<T>::unconstrain(const Variables_Set& vars) {
   // The cylindrification wrt no dimensions is a no-op.
   // This case captures the only legal cylindrification in a 0-dim space.
-  if (to_be_unconstrained.empty())
+  if (vars.empty())
     return;
 
   // Dimension-compatibility check.
-  const dimension_type min_space_dim = to_be_unconstrained.space_dimension();
+  const dimension_type min_space_dim = vars.space_dimension();
   if (space_dimension() < min_space_dim)
     throw_dimension_incompatible("unconstrain(vs)", min_space_dim);
 
@@ -61740,12 +66715,12 @@ BD_Shape<T>::unconstrain(const Variables_Set& to_be_unconstrained) {
   if (marked_empty())
     return;
 
-  for (Variables_Set::const_iterator tbu = to_be_unconstrained.begin(),
-         tbu_end = to_be_unconstrained.end(); tbu != tbu_end; ++tbu)
-    forget_all_dbm_constraints(*tbu + 1);
+  for (Variables_Set::const_iterator vsi = vars.begin(),
+         vsi_end = vars.end(); vsi != vsi_end; ++vsi)
+    forget_all_dbm_constraints(*vsi + 1);
   // Shortest-path closure is preserved, but not reduction.
   reset_shortest_path_reduced();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -61754,13 +66729,13 @@ BD_Shape<T>::refine(const Variable var,
                     const Relation_Symbol relsym,
                     const Linear_Expression& expr,
                     Coefficient_traits::const_reference denominator) {
-  assert(denominator != 0);
+  PPL_ASSERT(denominator != 0);
   const dimension_type expr_space_dim = expr.space_dimension();
-  assert(space_dimension() >= expr_space_dim);
+  PPL_ASSERT(space_dimension() >= expr_space_dim);
   const dimension_type v = var.id() + 1;
-  assert(v <= space_dimension());
-  assert(expr.coefficient(var) == 0);
-  assert(relsym != LESS_THAN && relsym != GREATER_THAN);
+  PPL_ASSERT(v <= space_dimension());
+  PPL_ASSERT(expr.coefficient(var) == 0);
+  PPL_ASSERT(relsym != LESS_THAN && relsym != GREATER_THAN);
 
   const Coefficient& b = expr.inhomogeneous_term();
   // Number of non-zero coefficients in `expr': will be set to
@@ -61819,7 +66794,7 @@ BD_Shape<T>::refine(const Variable var,
 
   if (t == 1) {
     // Case 2: expr == a*w + b, w != v, a == denominator.
-    assert(expr.coefficient(Variable(w-1)) == denominator);
+    PPL_ASSERT(expr.coefficient(Variable(w-1)) == denominator);
     PPL_DIRTY_TEMP(N, d);
     switch (relsym) {
     case EQUAL:
@@ -61953,7 +66928,7 @@ BD_Shape<T>::refine(const Variable var,
       }
       // Return immediately if no approximation could be computed.
       if (pinf_count > 1 && neg_pinf_count > 1) {
-        assert(OK());
+        PPL_ASSERT(OK());
         return;
       }
 
@@ -62130,7 +67105,7 @@ BD_Shape<T>::refine(const Variable var,
     throw std::runtime_error("PPL internal error");
   }
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -62195,7 +67170,7 @@ BD_Shape<T>::affine_image(const Variable var,
     // Add the constraint `var == b/denominator'.
     add_dbm_constraint(0, v, b, denominator);
     add_dbm_constraint(v, 0, b, minus_den);
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -62284,7 +67259,7 @@ BD_Shape<T>::affine_image(const Variable var,
           }
         }
       }
-      assert(OK());
+      PPL_ASSERT(OK());
       return;
     }
   }
@@ -62396,7 +67371,7 @@ BD_Shape<T>::affine_image(const Variable var,
     reset_shortest_path_reduced();
   // Return immediately if no approximation could be computed.
   if (pos_pinf_count > 1 && neg_pinf_count > 1) {
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -62461,7 +67436,7 @@ BD_Shape<T>::affine_image(const Variable var,
         dbm[v][neg_pinf_index] = neg_sum;
   }
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -62520,7 +67495,7 @@ BD_Shape<T>::affine_preimage(const Variable var,
     // Shortest-path closure is preserved, but not reduction.
     if (marked_shortest_path_reduced())
       reset_shortest_path_reduced();
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -62539,7 +67514,7 @@ BD_Shape<T>::affine_preimage(const Variable var,
         // Shortest-path closure is preserved, but not reduction.
         if (marked_shortest_path_reduced())
           reset_shortest_path_reduced();
-        assert(OK());
+        PPL_ASSERT(OK());
       }
       return;
     }
@@ -62563,7 +67538,7 @@ BD_Shape<T>::affine_preimage(const Variable var,
     if (marked_shortest_path_reduced())
       reset_shortest_path_reduced();
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -62633,7 +67608,7 @@ BD_Shape<T>
                              denominator);
     // Add the constraint `var <= b/denominator'.
     add_dbm_constraint(0, v, b, denominator);
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -62651,7 +67626,7 @@ BD_Shape<T>
         affine_image(new_var, ub_expr, denominator);
         // NOTE: enforce shortest-path closure for precision.
         shortest_path_closure_assign();
-        assert(!marked_empty());
+        PPL_ASSERT(!marked_empty());
         // Apply the affine lower bound.
         generalized_affine_image(var,
                                  GREATER_OR_EQUAL,
@@ -62688,7 +67663,7 @@ BD_Shape<T>
             reset_shortest_path_closed();
           }
         }
-        assert(OK());
+        PPL_ASSERT(OK());
         return;
       }
     }
@@ -62805,7 +67780,7 @@ BD_Shape<T>
         // Add the constraint `v - pos_pinf_index <= pos_sum'.
         dbm[pos_pinf_index][v] = pos_sum;
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -62866,7 +67841,7 @@ BD_Shape<T>
   neg_assign(lb_inverse_den, lb_expr_v);
   affine_image(new_var, lb_inverse, lb_inverse_den);
   shortest_path_closure_assign();
-  assert(!marked_empty());
+  PPL_ASSERT(!marked_empty());
   generalized_affine_preimage(var, LESS_OR_EQUAL,
                               ub_expr, denominator);
   if (sgn(denominator) == sgn(lb_inverse_den))
@@ -62915,7 +67890,7 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
                   "*this is a BD_Shape");
 
   if (relsym == EQUAL) {
-    // The relation symbol is "==":
+    // The relation symbol is "=":
     // this is just an affine image computation.
     affine_image(var, expr, denominator);
     return;
@@ -62973,7 +67948,7 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
       // We already dealt with the other cases.
       throw std::runtime_error("PPL internal error");
     }
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -63096,7 +68071,7 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
         // We already dealt with the other cases.
         throw std::runtime_error("PPL internal error");
       }
-      assert(OK());
+      PPL_ASSERT(OK());
       return;
     }
   }
@@ -63171,7 +68146,7 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
       reset_shortest_path_reduced();
     // Return immediately if no approximation could be computed.
     if (pinf_count > 1) {
-      assert(OK());
+      PPL_ASSERT(OK());
       return;
     }
 
@@ -63237,7 +68212,7 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
       reset_shortest_path_reduced();
     // Return immediately if no approximation could be computed.
     if (pinf_count > 1) {
-      assert(OK());
+      PPL_ASSERT(OK());
       return;
     }
 
@@ -63271,7 +68246,7 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
     // We already dealt with the other cases.
     throw std::runtime_error("PPL internal error");
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -63427,7 +68402,7 @@ BD_Shape<T>::generalized_affine_image(const Linear_Expression& lhs,
       // Existentially quantify all variables in the lhs.
       // NOTE: enforce shortest-path closure for precision.
       shortest_path_closure_assign();
-      assert(!marked_empty());
+      PPL_ASSERT(!marked_empty());
       for (dimension_type i = lhs_vars.size(); i-- > 0; )
         forget_all_dbm_constraints(lhs_vars[i].id() + 1);
       // Constrain the new dimension so that it is related to
@@ -63456,7 +68431,7 @@ BD_Shape<T>::generalized_affine_image(const Linear_Expression& lhs,
     }
   }
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -63497,7 +68472,7 @@ BD_Shape<T>::generalized_affine_preimage(const Variable var,
                   "*this is a BD_Shape");
 
   if (relsym == EQUAL) {
-    // The relation symbol is "==":
+    // The relation symbol is "=":
     // this is just an affine preimage computation.
     affine_preimage(var, expr, denominator);
     return;
@@ -63534,7 +68509,7 @@ BD_Shape<T>::generalized_affine_preimage(const Variable var,
   // Shortest-path closure is preserved, but not reduction.
   if (marked_shortest_path_reduced())
     reset_shortest_path_reduced();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -63668,7 +68643,7 @@ BD_Shape<T>::generalized_affine_preimage(const Linear_Expression& lhs,
       // Existentiallly quantify all variables in the lhs.
       // NOTE: enforce shortest-path closure for precision.
       shortest_path_closure_assign();
-      assert(!marked_empty());
+      PPL_ASSERT(!marked_empty());
       for (dimension_type i = lhs_vars.size(); i-- > 0; )
         forget_all_dbm_constraints(lhs_vars[i].id() + 1);
       // Constrain the new dimension so that it is related to
@@ -63697,7 +68672,7 @@ BD_Shape<T>::generalized_affine_preimage(const Linear_Expression& lhs,
     }
   }
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
@@ -63810,13 +68785,13 @@ BD_Shape<T>::minimized_constraints() const {
         // Generate the constraint relating `i' and its leader.
         if (leader == 0) {
           // A unary equality has to be generated.
-          assert(!is_plus_infinity(dbm_0[i]));
+          PPL_ASSERT(!is_plus_infinity(dbm_0[i]));
           numer_denom(dbm_0[i], num, den);
           cs.insert(den*Variable(i-1) == num);
         }
         else {
           // A binary equality has to be generated.
-          assert(!is_plus_infinity(dbm[i][leader]));
+          PPL_ASSERT(!is_plus_infinity(dbm[i][leader]));
           numer_denom(dbm[i][leader], num, den);
           cs.insert(den*Variable(leader-1) - den*Variable(i-1) == num);
         }
@@ -63898,43 +68873,43 @@ BD_Shape<T>::expand_space_dimension(Variable var, dimension_type m) {
   // closure or reduction of the bounded difference shape.
   if (marked_shortest_path_closed())
     reset_shortest_path_closed();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
 void
-BD_Shape<T>::fold_space_dimensions(const Variables_Set& to_be_folded,
-                                   Variable var) {
+BD_Shape<T>::fold_space_dimensions(const Variables_Set& vars,
+                                   Variable dest) {
   const dimension_type space_dim = space_dimension();
-  // `var' should be one of the dimensions of the BDS.
-  if (var.space_dimension() > space_dim)
-    throw_dimension_incompatible("fold_space_dimensions(tbf, v)",
-                                 "v", var);
+  // `dest' should be one of the dimensions of the BDS.
+  if (dest.space_dimension() > space_dim)
+    throw_dimension_incompatible("fold_space_dimensions(vs, v)",
+                                 "v", dest);
 
   // The folding of no dimensions is a no-op.
-  if (to_be_folded.empty())
+  if (vars.empty())
     return;
 
-  // All variables in `to_be_folded' should be dimensions of the BDS.
-  if (to_be_folded.space_dimension() > space_dim)
-    throw_dimension_incompatible("fold_space_dimensions(tbf, ...)",
-                                 to_be_folded.space_dimension());
+  // All variables in `vars' should be dimensions of the BDS.
+  if (vars.space_dimension() > space_dim)
+    throw_dimension_incompatible("fold_space_dimensions(vs, v)",
+                                 vars.space_dimension());
 
-  // Moreover, `var.id()' should not occur in `to_be_folded'.
-  if (to_be_folded.find(var.id()) != to_be_folded.end())
-    throw_generic("fold_space_dimensions(tbf, v)",
-                  "v should not occur in tbf");
+  // Moreover, `dest.id()' should not occur in `vars'.
+  if (vars.find(dest.id()) != vars.end())
+    throw_generic("fold_space_dimensions(vs, v)",
+                  "v should not occur in vs");
 
   shortest_path_closure_assign();
   if (!marked_empty()) {
     // Recompute the elements of the row and the column corresponding
-    // to variable `var' by taking the join of their value with the
+    // to variable `dest' by taking the join of their value with the
     // value of the corresponding elements in the row and column of the
-    // variable `to_be_folded'.
-    const dimension_type v_id = var.id() + 1;
+    // variable `vars'.
+    const dimension_type v_id = dest.id() + 1;
     DB_Row<N>& dbm_v = dbm[v_id];
-    for (Variables_Set::const_iterator i = to_be_folded.begin(),
-           tbf_end = to_be_folded.end(); i != tbf_end; ++i) {
+    for (Variables_Set::const_iterator i = vars.begin(),
+           vs_end = vars.end(); i != vs_end; ++i) {
       const dimension_type tbf_id = *i + 1;
       const DB_Row<N>& dbm_tbf = dbm[tbf_id];
       for (dimension_type j = space_dim + 1; j-- > 0; ) {
@@ -63943,7 +68918,69 @@ BD_Shape<T>::fold_space_dimensions(const Variables_Set& to_be_folded,
       }
     }
   }
-  remove_space_dimensions(to_be_folded);
+  remove_space_dimensions(vars);
+}
+
+template <typename T>
+void
+BD_Shape<T>::drop_some_non_integer_points(Complexity_Class) {
+  if (std::numeric_limits<T>::is_integer)
+    return;
+
+  const dimension_type space_dim = space_dimension();
+  shortest_path_closure_assign();
+  if (space_dim == 0 || marked_empty())
+    return;
+
+  for (dimension_type i = space_dim + 1; i-- > 0; ) {
+    DB_Row<N>& dbm_i = dbm[i];
+    for (dimension_type j = space_dim + 1; j-- > 0; )
+      if (i != j)
+        drop_some_non_integer_points_helper(dbm_i[j]);
+  }
+  PPL_ASSERT(OK());
+}
+
+template <typename T>
+void
+BD_Shape<T>::drop_some_non_integer_points(const Variables_Set& vars,
+                                          Complexity_Class) {
+  // Dimension-compatibility check.
+  const dimension_type space_dim = space_dimension();
+  const dimension_type min_space_dim = vars.space_dimension();
+  if (space_dim < min_space_dim)
+    throw_dimension_incompatible("drop_some_non_integer_points(vs, cmpl)",
+                                 min_space_dim);
+
+  if (std::numeric_limits<T>::is_integer || min_space_dim == 0)
+    return;
+
+  shortest_path_closure_assign();
+  if (marked_empty())
+    return;
+
+  const Variables_Set::const_iterator v_begin = vars.begin();
+  const Variables_Set::const_iterator v_end = vars.end();
+  PPL_ASSERT(v_begin != v_end);
+  // Unary constraints on a variable occurring in `vars'.
+  DB_Row<N>& dbm_0 = dbm[0];
+  for (Variables_Set::const_iterator v_i = v_begin; v_i != v_end; ++v_i) {
+    const dimension_type i = *v_i + 1;
+    drop_some_non_integer_points_helper(dbm_0[i]);
+    drop_some_non_integer_points_helper(dbm[i][0]);
+  }
+
+  // Binary constraints where both variables occur in `vars'.
+  for (Variables_Set::const_iterator v_i = v_begin; v_i != v_end; ++v_i) {
+    const dimension_type i = *v_i + 1;
+    DB_Row<N>& dbm_i = dbm[i];
+    for (Variables_Set::const_iterator v_j = v_begin; v_j != v_end; ++v_j) {
+      const dimension_type j = *v_j + 1;
+      if (i != j)
+        drop_some_non_integer_points_helper(dbm_i[j]);
+    }
+  }
+  PPL_ASSERT(OK());
 }
 
 /*! \relates Parma_Polyhedra_Library::BD_Shape */
@@ -63972,23 +69009,23 @@ IO_Operators::operator<<(std::ostream& s, const BD_Shape<T>& c) {
             else
               s << ", ";
             if (i == 0) {
-              // We have got a equality constraint with one Variable.
+              // We have got a equality constraint with one variable.
               s << Variable(j - 1);
-              s << " == " << c_i_j;
+              s << " = " << c_i_j;
             }
             else {
-              // We have got a equality constraint with two Variables.
+              // We have got a equality constraint with two variables.
               if (sgn(c_i_j) >= 0) {
                 s << Variable(j - 1);
                 s << " - ";
                 s << Variable(i - 1);
-                s << " == " << c_i_j;
+                s << " = " << c_i_j;
               }
               else {
                 s << Variable(i - 1);
                 s << " - ";
                 s << Variable(j - 1);
-                s << " == " << c_j_i;
+                s << " = " << c_j_i;
               }
             }
           }
@@ -64000,13 +69037,13 @@ IO_Operators::operator<<(std::ostream& s, const BD_Shape<T>& c) {
               else
                 s << ", ";
               if (i == 0) {
-                // We have got a constraint with an only Variable.
+                // We have got a constraint with only one variable.
                 s << Variable(j - 1);
                 neg_assign_r(v, c_j_i, ROUND_DOWN);
                 s << " >= " << v;
               }
               else {
-                // We have got a constraint with two Variables.
+                // We have got a constraint with two variables.
                 if (sgn(c_j_i) >= 0) {
                   s << Variable(i - 1);
                   s << " - ";
@@ -64028,12 +69065,12 @@ IO_Operators::operator<<(std::ostream& s, const BD_Shape<T>& c) {
               else
                 s << ", ";
               if (i == 0) {
-                // We have got a constraint with an only Variable.
+                // We have got a constraint with only one variable.
                 s << Variable(j - 1);
                 s << " <= " << c_i_j;
               }
               else {
-                // We have got a constraint with two Variables.
+                // We have got a constraint with two variables.
                 if (sgn(c_i_j) >= 0) {
                   s << Variable(j - 1);
                   s << " - ";
@@ -64269,9 +69306,11 @@ BD_Shape<T>::throw_generic(const char* method, const char* reason) {
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/BD_Shape.defs.hh line 2146. */
+/* Automatically generated from PPL source file ../src/BD_Shape.defs.hh line 2172. */
 
 /* Automatically generated from PPL source file ../src/Box.templates.hh line 39. */
+#include <vector>
+#include <map>
 #include <iostream>
 
 namespace Parma_Polyhedra_Library {
@@ -64295,7 +69334,7 @@ Box<ITV>::Box(dimension_type num_dimensions, Degenerate_Element kind)
   }
   else
     set_empty();
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -64345,7 +69384,7 @@ Box<ITV>::Box(const Box<Other_ITV>& y, Complexity_Class)
   if (!y.marked_empty())
     for (dimension_type k = y.space_dimension(); k-- > 0; )
       seq[k].assign(y.seq[k]);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -64369,7 +69408,7 @@ Box<ITV>::Box(const Generator_System& gs)
   set_empty_up_to_date();
 
   const dimension_type space_dim = space_dimension();
-  PPL_DIRTY_TEMP0(mpq_class, q);
+  PPL_DIRTY_TEMP(mpq_class, q);
   bool point_seen = false;
   // Going through all the points.
   for (Generator_System::const_iterator
@@ -64383,7 +69422,9 @@ Box<ITV>::Box(const Generator_System& gs)
 	  assign_r(q.get_num(), g.coefficient(Variable(i)), ROUND_NOT_NEEDED);
 	  assign_r(q.get_den(), d, ROUND_NOT_NEEDED);
 	  q.canonicalize();
-	  seq[i].join_assign(q);
+	  PPL_DIRTY_TEMP(ITV, iq);
+	  iq.build(i_constraint(EQUAL, q));
+	  seq[i].join_assign(iq);
 	}
       }
       else {
@@ -64393,7 +69434,7 @@ Box<ITV>::Box(const Generator_System& gs)
 	  assign_r(q.get_num(), g.coefficient(Variable(i)), ROUND_NOT_NEEDED);
 	  assign_r(q.get_den(), d, ROUND_NOT_NEEDED);
 	  q.canonicalize();
-	  seq[i].assign(q);
+	  seq[i].build(i_constraint(EQUAL, q));
 	}
       }
     }
@@ -64420,10 +69461,10 @@ Box<ITV>::Box(const Generator_System& gs)
       for (dimension_type i = space_dim; i-- > 0; )
 	switch (sgn(g.coefficient(Variable(i)))) {
 	case 1:
-	  seq[i].upper_set(UNBOUNDED);
+	  seq[i].upper_extend();
 	  break;
 	case -1:
-	  seq[i].lower_set(UNBOUNDED);
+	  seq[i].lower_extend();
 	  break;
 	default:
 	  break;
@@ -64437,8 +69478,8 @@ Box<ITV>::Box(const Generator_System& gs)
 	  assign_r(q.get_den(), d, ROUND_NOT_NEEDED);
 	  q.canonicalize();
 	  ITV& seq_i = seq[i];
-	  seq_i.lower_widen(q, true);
-	  seq_i.upper_widen(q, true);
+	  seq_i.lower_extend(i_constraint(GREATER_THAN, q));
+	  seq_i.upper_extend(i_constraint(LESS_THAN, q));
 	}
       }
       break;
@@ -64447,7 +69488,7 @@ Box<ITV>::Box(const Generator_System& gs)
       break;
     }
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -64464,7 +69505,7 @@ Box<ITV>::Box(const BD_Shape<T>& bds, Complexity_Class)
   bds.shortest_path_closure_assign();
   if (bds.marked_empty()) {
     set_empty();
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -64473,34 +69514,33 @@ Box<ITV>::Box(const BD_Shape<T>& bds, Complexity_Class)
 
   const dimension_type space_dim = space_dimension();
   if (space_dim == 0) {
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
-  PPL_DIRTY_TEMP(typename BD_Shape<T>::coefficient_type, tmp);
-  const DB_Row<typename BD_Shape<T>::coefficient_type>& dbm_0 = bds.dbm[0];
+  typedef typename BD_Shape<T>::coefficient_type Coeff;
+  PPL_DIRTY_TEMP(Coeff, tmp);
+  const DB_Row<Coeff>& dbm_0 = bds.dbm[0];
   for (dimension_type i = space_dim; i-- > 0; ) {
+    I_Constraint<Coeff> lower;
+    I_Constraint<Coeff> upper;
     ITV& seq_i = seq[i];
+
     // Set the upper bound.
-    const typename BD_Shape<T>::coefficient_type& u = dbm_0[i+1];
-    if (is_plus_infinity(u))
-      seq_i.upper_set_uninit(UNBOUNDED);
-    else
-      seq_i.upper_set_uninit(u);
+    const Coeff& u = dbm_0[i+1];
+    if (!is_plus_infinity(u))
+      upper.set(LESS_OR_EQUAL, u, true);
 
     // Set the lower bound.
-    const typename BD_Shape<T>::coefficient_type& negated_l = bds.dbm[i+1][0];
-    if (is_plus_infinity(negated_l))
-      seq_i.lower_set_uninit(UNBOUNDED);
-    else {
+    const Coeff& negated_l = bds.dbm[i+1][0];
+    if (!is_plus_infinity(negated_l)) {
       neg_assign_r(tmp, negated_l, ROUND_DOWN);
-      seq_i.lower_set_uninit(tmp);
+      lower.set(GREATER_OR_EQUAL, tmp);
     }
 
-    // Complete the interval initialization.
-    seq_i.complete_init();
+    seq_i.build(lower, upper);
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -64527,35 +69567,33 @@ Box<ITV>::Box(const Octagonal_Shape<T>& oct, Complexity_Class)
   if (space_dim == 0)
     return;
 
-  PPL_DIRTY_TEMP0(mpq_class, bound);
+  PPL_DIRTY_TEMP0(mpq_class, lbound);
+  PPL_DIRTY_TEMP0(mpq_class, ubound);
   for (dimension_type i = space_dim; i-- > 0; ) {
+    typedef typename Octagonal_Shape<T>::coefficient_type Coeff;
+    I_Constraint<mpq_class> lower;
+    I_Constraint<mpq_class> upper;
     ITV& seq_i = seq[i];
     const dimension_type ii = 2*i;
     const dimension_type cii = ii + 1;
 
     // Set the upper bound.
-    const typename Octagonal_Shape<T>::coefficient_type& twice_ub
-      = oct.matrix[cii][ii];
+    const Coeff& twice_ub = oct.matrix[cii][ii];
     if (!is_plus_infinity(twice_ub)) {
-      assign_r(bound, twice_ub, ROUND_NOT_NEEDED);
-      div2exp_assign_r(bound, bound, 1, ROUND_NOT_NEEDED);
-      seq_i.upper_set_uninit(bound);
+      assign_r(ubound, twice_ub, ROUND_NOT_NEEDED);
+      div_2exp_assign_r(ubound, ubound, 1, ROUND_NOT_NEEDED);
+      upper.set(LESS_OR_EQUAL, ubound);
     }
-    else
-      seq_i.upper_set_uninit(UNBOUNDED);
 
     // Set the lower bound.
-    const typename Octagonal_Shape<T>::coefficient_type& twice_lb
-      = oct.matrix[ii][cii];
+    const Coeff& twice_lb = oct.matrix[ii][cii];
     if (!is_plus_infinity(twice_lb)) {
-      assign_r(bound, twice_lb, ROUND_NOT_NEEDED);
-      neg_assign_r(bound, bound, ROUND_NOT_NEEDED);
-      div2exp_assign_r(bound, bound, 1, ROUND_NOT_NEEDED);
-      seq_i.lower_set_uninit(bound);
+      assign_r(lbound, twice_lb, ROUND_NOT_NEEDED);
+      neg_assign_r(lbound, lbound, ROUND_NOT_NEEDED);
+      div_2exp_assign_r(lbound, lbound, 1, ROUND_NOT_NEEDED);
+      lower.set(GREATER_OR_EQUAL, lbound);
     }
-    else
-      seq_i.lower_set_uninit(UNBOUNDED);
-    seq_i.complete_init();
+    seq_i.build(lower, upper);
   }
 }
 
@@ -64591,14 +69629,19 @@ Box<ITV>::Box(const Polyhedron& ph, Complexity_Class complexity)
   }
 
   // Here generators are not up-to-date or there are pending constraints.
-  assert(ph.constraints_are_up_to_date());
+  PPL_ASSERT(ph.constraints_are_up_to_date());
 
   if (complexity == POLYNOMIAL_COMPLEXITY) {
     // FIXME: is there a way to avoid this initialization?
-    for (dimension_type i = space_dimension(); i-- > 0; )
+    for (dimension_type i = space_dim; i-- > 0; )
       seq[i].assign(UNIVERSE);
-    // Extract easy-to-find bounds from constraints.
-    refine_with_constraints(ph.simplified_constraints());
+    // Get a simplified version of the constraints.
+    Constraint_System cs = ph.simplified_constraints();
+    // Propagate easy-to-find bounds from the constraints,
+    // allowing for a limited number of iterations.
+    // FIXME: 20 is just a wild guess.
+    const dimension_type max_iterations = 20;
+    propagate_constraints_no_check(cs, max_iterations);
   }
   else if (complexity == SIMPLEX_COMPLEXITY) {
     MIP_Problem lp(space_dim);
@@ -64622,10 +69665,13 @@ Box<ITV>::Box(const Polyhedron& ph, Complexity_Class complexity)
     }
     // Get all the bounds for the space dimensions.
     Generator g(point());
-    PPL_DIRTY_TEMP0(mpq_class, bound);
+    PPL_DIRTY_TEMP0(mpq_class, lbound);
+    PPL_DIRTY_TEMP0(mpq_class, ubound);
     PPL_DIRTY_TEMP(Coefficient, bound_num);
     PPL_DIRTY_TEMP(Coefficient, bound_den);
     for (dimension_type i = space_dim; i-- > 0; ) {
+      I_Constraint<mpq_class> lower;
+      I_Constraint<mpq_class> upper;
       ITV& seq_i = seq[i];
       lp.set_objective_function(Variable(i));
       // Evaluate upper bound.
@@ -64633,30 +69679,26 @@ Box<ITV>::Box(const Polyhedron& ph, Complexity_Class complexity)
       if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
 	g = lp.optimizing_point();
 	lp.evaluate_objective_function(g, bound_num, bound_den);
-	assign_r(bound.get_num(), bound_num, ROUND_NOT_NEEDED);
-	assign_r(bound.get_den(), bound_den, ROUND_NOT_NEEDED);
-	assert(is_canonical(bound));
-	seq_i.upper_set_uninit(bound);
+	assign_r(ubound.get_num(), bound_num, ROUND_NOT_NEEDED);
+	assign_r(ubound.get_den(), bound_den, ROUND_NOT_NEEDED);
+	PPL_ASSERT(is_canonical(ubound));
+	upper.set(LESS_OR_EQUAL, ubound);
       }
-      else
-	seq_i.upper_set_uninit(UNBOUNDED);
       // Evaluate optimal lower bound.
       lp.set_optimization_mode(MINIMIZATION);
       if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
 	g = lp.optimizing_point();
 	lp.evaluate_objective_function(g, bound_num, bound_den);
-	assign_r(bound.get_num(), bound_num, ROUND_NOT_NEEDED);
-	assign_r(bound.get_den(), bound_den, ROUND_NOT_NEEDED);
-	assert(is_canonical(bound));
-	seq_i.lower_set_uninit(bound);
+	assign_r(lbound.get_num(), bound_num, ROUND_NOT_NEEDED);
+	assign_r(lbound.get_den(), bound_den, ROUND_NOT_NEEDED);
+	PPL_ASSERT(is_canonical(lbound));
+	lower.set(GREATER_OR_EQUAL, lbound);
       }
-      else
-	seq_i.lower_set_uninit(UNBOUNDED);
-      seq_i.complete_init();
+      seq_i.build(lower, upper);
     }
   }
   else {
-    assert(complexity == ANY_COMPLEXITY);
+    PPL_ASSERT(complexity == ANY_COMPLEXITY);
     if (ph.is_empty())
       set_empty();
     else {
@@ -64697,7 +69739,7 @@ Box<ITV>::Box(const Grid& gr, Complexity_Class)
     return;
   }
 
-  assert(!gr.gen_sys.empty());
+  PPL_ASSERT(!gr.gen_sys.empty());
 
   // For each dimension that is bounded by the grid, set both bounds
   // of the interval to the value of the associated coefficient in a
@@ -64713,7 +69755,7 @@ Box<ITV>::Box(const Grid& gr, Complexity_Class)
       assign_r(bound.get_num(), bound_num, ROUND_NOT_NEEDED);
       assign_r(bound.get_den(), bound_den, ROUND_NOT_NEEDED);
       bound.canonicalize();
-      seq_i.assign(bound);
+      seq_i.build(i_constraint(EQUAL, bound));
     }
     else
       seq_i.assign(UNIVERSE);
@@ -64744,7 +69786,7 @@ Box<ITV>::add_space_dimensions_and_embed(const dimension_type m) {
   // To embed an n-dimension space box in a (n+m)-dimension space,
   // we just add `m' new universe elements to the sequence.
   seq.insert(seq.end(), m, ITV(UNIVERSE));
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -64755,7 +69797,7 @@ Box<ITV>::add_space_dimensions_and_project(const dimension_type m) {
     return;
   // Add `m' new zero elements to the sequence.
   seq.insert(seq.end(), m, ITV(0));
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -64795,14 +69837,14 @@ Box<ITV>::bounds(const Linear_Expression& expr, const bool from_above) const {
   for (dimension_type i = expr_space_dim; i-- > 0; )
     switch (sgn(expr.coefficient(Variable(i))) * from_above_sign) {
     case 1:
-      if (seq[i].upper_is_unbounded())
+      if (seq[i].upper_is_boundary_infinity())
 	return false;
       break;
     case 0:
       // Nothing to do.
       break;
     case -1:
-      if (seq[i].lower_is_unbounded())
+      if (seq[i].lower_is_boundary_infinity())
 	return false;
       break;
     }
@@ -64828,8 +69870,8 @@ interval_relation(const ITV& i,
 
   PPL_DIRTY_TEMP0(mpq_class, bound_diff);
   if (constraint_type == Constraint::EQUALITY) {
-    if (i.lower_is_unbounded()) {
-      assert(!i.upper_is_unbounded());
+    if (i.lower_is_boundary_infinity()) {
+      PPL_ASSERT(!i.upper_is_boundary_infinity());
       assign_r(bound_diff, i.upper(), ROUND_NOT_NEEDED);
       sub_assign_r(bound_diff, bound_diff, bound, ROUND_NOT_NEEDED);
       switch (sgn(bound_diff)) {
@@ -64857,7 +69899,7 @@ interval_relation(const ITV& i,
             && Poly_Con_Relation::saturates();
         return Poly_Con_Relation::strictly_intersects();
       case -1:
-	if (i.upper_is_unbounded())
+	if (i.upper_is_boundary_infinity())
 	  return Poly_Con_Relation::strictly_intersects();
 	else {
 	  assign_r(bound_diff, i.upper(), ROUND_NOT_NEEDED);
@@ -64878,10 +69920,10 @@ interval_relation(const ITV& i,
     }
   }
 
-  assert(constraint_type != Constraint::EQUALITY);
+  PPL_ASSERT(constraint_type != Constraint::EQUALITY);
   if (is_lower_bound) {
-    if (i.lower_is_unbounded()) {
-      assert(!i.upper_is_unbounded());
+    if (i.lower_is_boundary_infinity()) {
+      PPL_ASSERT(!i.upper_is_boundary_infinity());
       assign_r(bound_diff, i.upper(), ROUND_NOT_NEEDED);
       sub_assign_r(bound_diff, bound_diff, bound, ROUND_NOT_NEEDED);
       switch (sgn(bound_diff)) {
@@ -64912,7 +69954,7 @@ interval_relation(const ITV& i,
 	  return result;
 	}
 	else {
-	  assert(constraint_type == Constraint::STRICT_INEQUALITY
+	  PPL_ASSERT(constraint_type == Constraint::STRICT_INEQUALITY
 		 && !i.lower_is_open());
 	  if (i.is_singleton())
 	    return Poly_Con_Relation::is_disjoint()
@@ -64921,7 +69963,7 @@ interval_relation(const ITV& i,
 	    return Poly_Con_Relation::strictly_intersects();
 	}
       case -1:
-	if (i.upper_is_unbounded())
+	if (i.upper_is_boundary_infinity())
 	  return Poly_Con_Relation::strictly_intersects();
 	else {
 	  assign_r(bound_diff, i.upper(), ROUND_NOT_NEEDED);
@@ -64944,7 +69986,7 @@ interval_relation(const ITV& i,
   }
   else {
     // `c' is an upper bound.
-    if (i.upper_is_unbounded())
+    if (i.upper_is_boundary_infinity())
       return Poly_Con_Relation::strictly_intersects();
     else {
       assign_r(bound_diff, i.upper(), ROUND_NOT_NEEDED);
@@ -64961,7 +70003,7 @@ interval_relation(const ITV& i,
 	  return result;
 	}
 	else {
-	  assert(constraint_type == Constraint::STRICT_INEQUALITY
+	  PPL_ASSERT(constraint_type == Constraint::STRICT_INEQUALITY
 		 && !i.upper_is_open());
 	  if (i.is_singleton())
 	    return Poly_Con_Relation::is_disjoint()
@@ -64970,7 +70012,7 @@ interval_relation(const ITV& i,
 	    return Poly_Con_Relation::strictly_intersects();
 	}
       case 1:
-	if (i.lower_is_unbounded())
+	if (i.lower_is_boundary_infinity())
 	  return Poly_Con_Relation::strictly_intersects();
 	else {
 	  assign_r(bound_diff, i.lower(), ROUND_NOT_NEEDED);
@@ -65033,13 +70075,13 @@ Box<ITV>::relation_with(const Congruence& cg) const {
     if (sgn(cg_i) != 0) {
       assign_r(m, cg_i, ROUND_NOT_NEEDED);
       // FIXME: an add_mul_assign() method would come handy here.
-      t = seq[i];
+      t.build(seq[i].lower_constraint(), seq[i].upper_constraint());
       t *= m;
       r += t;
     }
   }
 
-  if (r.lower_is_unbounded() || r.upper_is_unbounded())
+  if (r.lower_is_boundary_infinity() || r.upper_is_boundary_infinity())
     return Poly_Con_Relation::strictly_intersects();
 
 
@@ -65129,7 +70171,7 @@ Box<ITV>::relation_with(const Constraint& c) const {
       if (sgn(c_i) != 0) {
         assign_r(m, c_i, ROUND_NOT_NEEDED);
 	// FIXME: an add_mul_assign() method would come handy here.
-	t = seq[i];
+	t.build(seq[i].lower_constraint(), seq[i].upper_constraint());
 	t *= m;
 	r += t;
       }
@@ -65170,17 +70212,17 @@ Box<ITV>::relation_with(const Generator& g) const {
       return Poly_Gen_Relation::subsumes();
     }
     else {
-      assert(g.is_ray());
+      PPL_ASSERT(g.is_ray());
       for (dimension_type i = g_space_dim; i-- > 0; )
 	switch (sgn(g.coefficient(Variable(i)))) {
 	case 1:
-	  if (!seq[i].upper_is_unbounded())
+	  if (!seq[i].upper_is_boundary_infinity())
 	    return Poly_Gen_Relation::nothing();
 	  break;
 	case 0:
 	  break;
 	case -1:
-	  if (!seq[i].lower_is_unbounded())
+	  if (!seq[i].lower_is_boundary_infinity())
 	    return Poly_Gen_Relation::nothing();
 	  break;
 	}
@@ -65200,7 +70242,7 @@ Box<ITV>::relation_with(const Generator& g) const {
     assign_r(g_coord.get_den(), g_divisor, ROUND_NOT_NEEDED);
     g_coord.canonicalize();
     // Check lower bound.
-    if (!seq_i.lower_is_unbounded()) {
+    if (!seq_i.lower_is_boundary_infinity()) {
       assign_r(bound, seq_i.lower(), ROUND_NOT_NEEDED);
       if (g_coord <= bound) {
 	if (seq_i.lower_is_open()) {
@@ -65212,7 +70254,7 @@ Box<ITV>::relation_with(const Generator& g) const {
       }
     }
     // Check upper bound.
-    if (!seq_i.upper_is_unbounded()) {
+    if (!seq_i.upper_is_boundary_infinity()) {
       assign_r(bound, seq_i.upper(), ROUND_NOT_NEEDED);
       if (g_coord >= bound) {
 	if (seq_i.upper_is_open()) {
@@ -65268,7 +70310,7 @@ Box<ITV>::max_min(const Linear_Expression& expr,
     assign_r(expr_i, expr.coefficient(Variable(i)), ROUND_NOT_NEEDED);
     switch (sgn(expr_i) * maximize_sign) {
     case 1:
-      if (seq_i.upper_is_unbounded())
+      if (seq_i.upper_is_boundary_infinity())
 	return false;
       assign_r(bound_i, seq_i.upper(), ROUND_NOT_NEEDED);
       add_mul_assign_r(result, bound_i, expr_i, ROUND_NOT_NEEDED);
@@ -65279,7 +70321,7 @@ Box<ITV>::max_min(const Linear_Expression& expr,
       // Nothing to do.
       break;
     case -1:
-      if (seq_i.lower_is_unbounded())
+      if (seq_i.lower_is_boundary_infinity())
 	return false;
       assign_r(bound_i, seq_i.lower(), ROUND_NOT_NEEDED);
       add_mul_assign_r(result, bound_i, expr_i, ROUND_NOT_NEEDED);
@@ -65289,7 +70331,7 @@ Box<ITV>::max_min(const Linear_Expression& expr,
     }
   }
   // Extract output info.
-  assert(is_canonical(result));
+  PPL_ASSERT(is_canonical(result));
   ext_n = result.get_num();
   ext_d = result.get_den();
   included = is_included;
@@ -65328,9 +70370,9 @@ Box<ITV>::max_min(const Linear_Expression& expr,
       // FIXME: name qualification issue.
       if (seq_i.contains(0))
 	continue;
-      if (!seq_i.lower_is_unbounded())
+      if (!seq_i.lower_is_boundary_infinity())
 	if (seq_i.lower_is_open())
-	  if (!seq_i.upper_is_unbounded())
+	  if (!seq_i.upper_is_boundary_infinity())
 	    if (seq_i.upper_is_open()) {
 	      // Bounded and open interval: compute middle point.
 	      assign_r(g_coord, seq_i.lower(), ROUND_NOT_NEEDED);
@@ -65353,7 +70395,7 @@ Box<ITV>::max_min(const Linear_Expression& expr,
       else {
 	// Lower is unbounded, hence upper is bounded
 	// (since we know that 0 does not belong to the interval).
-	assert(!seq_i.upper_is_unbounded());
+	PPL_ASSERT(!seq_i.upper_is_boundary_infinity());
 	assign_r(g_coord, seq_i.upper(), ROUND_NOT_NEEDED);
 	if (seq_i.upper_is_open())
 	  --g_coord;
@@ -65517,7 +70559,7 @@ Box<ITV>::affine_dimension() const {
 template <typename ITV>
 bool
 Box<ITV>::check_empty() const {
-  assert(!marked_empty());
+  PPL_ASSERT(!marked_empty());
   Box<ITV>& x = const_cast<Box<ITV>&>(*this);
   for (dimension_type k = seq.size(); k-- > 0; )
     if (seq[k].is_empty()) {
@@ -65542,7 +70584,7 @@ Box<ITV>::is_universe() const {
 template <typename ITV>
 bool
 Box<ITV>::is_topologically_closed() const {
-  if (!ITV::info_type::store_open || is_empty())
+  if (ITV::is_always_topologically_closed() || is_empty())
     return true;
 
   for (dimension_type k = seq.size(); k-- > 0; )
@@ -65568,7 +70610,7 @@ Box<ITV>::is_bounded() const {
   if (is_empty())
     return true;
   for (dimension_type k = seq.size(); k-- > 0; )
-    if (seq[k].is_unbounded())
+    if (!seq[k].is_bounded())
       return false;
   return true;
 }
@@ -65586,6 +70628,80 @@ Box<ITV>::contains_integer_point() const {
 
 template <typename ITV>
 bool
+Box<ITV>::frequency(const Linear_Expression& expr,
+                  Coefficient& freq_n, Coefficient& freq_d,
+                  Coefficient& val_n, Coefficient& val_d) const {
+  dimension_type space_dim = space_dimension();
+  // The dimension of `expr' must be at most the dimension of *this.
+  if (space_dim < expr.space_dimension())
+    throw_dimension_incompatible("frequency(e, ...)", "e", expr);
+
+  // Check if `expr' has a constant value.
+  // If it is constant, set the frequency `freq_n' to 0
+  // and return true. Otherwise the values for \p expr
+  // are not discrete so return false.
+
+  // Space dimension = 0: if empty, then return false;
+  // otherwise the frequency is 0 and the value is the inhomogeneous term.
+  if (space_dim == 0) {
+    if (is_empty())
+      return false;
+    freq_n = 0;
+    freq_d = 1;
+    val_n = expr.inhomogeneous_term();
+    val_d = 1;
+    return true;
+  }
+
+  // For an empty Box, we simply return false.
+  if (is_empty())
+    return false;
+
+  // The Box has at least 1 dimension and is not empty.
+  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
+  PPL_DIRTY_TEMP_COEFFICIENT(num);
+  PPL_DIRTY_TEMP_COEFFICIENT(den);
+  PPL_DIRTY_TEMP0(mpq_class, tmp);
+  Linear_Expression le = expr;
+
+  PPL_DIRTY_TEMP_COEFFICIENT(val_den);
+  val_den = 1;
+
+  for (dimension_type i = space_dim; i-- > 0; ) {
+    const Variable v(i);
+    coeff = le.coefficient(v);
+    if (coeff == 0) {
+      continue;
+    }
+
+    const ITV& seq_i = seq[i];
+    // Check if `v' is constant in the BD shape.
+    if (seq_i.is_singleton()) {
+      // If `v' is constant, replace it in `le' by the value.
+      assign_r(tmp, seq_i.lower(), ROUND_NOT_NEEDED);
+      num = tmp.get_num();
+      den = tmp.get_den();
+      le -= coeff*v;
+      le *= den;
+      le += num*coeff;
+      val_den *= den;
+      continue;
+    }
+    // The expression `expr' is not constant.
+    return false;
+  }
+
+  // The expression `expr' is constant.
+  freq_n = 0;
+  freq_d = 1;
+
+  // Reduce `val_n' and `val_d'.
+  normalize2(le.inhomogeneous_term(), val_den, val_n, val_d);
+  return true;
+}
+
+template <typename ITV>
+bool
 Box<ITV>::constrains(Variable var) const {
   // `var' should be one of the dimensions of the polyhedron.
   const dimension_type var_space_dim = var.space_dimension();
@@ -65600,15 +70716,15 @@ Box<ITV>::constrains(Variable var) const {
 
 template <typename ITV>
 void
-Box<ITV>::unconstrain(const Variables_Set& to_be_unconstrained) {
+Box<ITV>::unconstrain(const Variables_Set& vars) {
   // The cylindrification wrt no dimensions is a no-op.
   // This case also captures the only legal cylindrification
   // of a box in a 0-dim space.
-  if (to_be_unconstrained.empty())
+  if (vars.empty())
     return;
 
   // Dimension-compatibility check.
-  const dimension_type min_space_dim = to_be_unconstrained.space_dimension();
+  const dimension_type min_space_dim = vars.space_dimension();
   if (space_dimension() < min_space_dim)
     throw_dimension_incompatible("unconstrain(vs)", min_space_dim);
 
@@ -65618,24 +70734,24 @@ Box<ITV>::unconstrain(const Variables_Set& to_be_unconstrained) {
 
   // Here the box might still be empty (but we haven't detected it yet):
   // check emptiness of the interval for each of the variables in
-  // `to_be_unconstrained' before cylindrification.
-  for (Variables_Set::const_iterator tbu = to_be_unconstrained.begin(),
-         tbu_end = to_be_unconstrained.end(); tbu != tbu_end; ++tbu) {
-    ITV& seq_tbu = seq[*tbu];
-    if (!seq_tbu.is_empty())
-      seq_tbu.assign(UNIVERSE);
+  // `vars' before cylindrification.
+  for (Variables_Set::const_iterator vsi = vars.begin(),
+         vsi_end = vars.end(); vsi != vsi_end; ++vsi) {
+    ITV& seq_vsi = seq[*vsi];
+    if (!seq_vsi.is_empty())
+      seq_vsi.assign(UNIVERSE);
     else {
       set_empty();
       break;
     }
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
 void
 Box<ITV>::topological_closure_assign() {
-  if (!ITV::info_type::store_open || is_empty())
+  if (ITV::is_always_topologically_closed() || is_empty())
     return;
 
   for (dimension_type k = seq.size(); k-- > 0; )
@@ -65644,6 +70760,226 @@ Box<ITV>::topological_closure_assign() {
 
 template <typename ITV>
 void
+Box<ITV>::wrap_assign(const Variables_Set& vars,
+                      Bounded_Integer_Type_Width w,
+                      Bounded_Integer_Type_Representation r,
+                      Bounded_Integer_Type_Overflow o,
+                      const Constraint_System* pcs,
+                      unsigned complexity_threshold,
+                      bool wrap_individually) {
+#if 0 // Generic implementation commented out.
+  Implementation::wrap_assign(*this,
+                              vars, w, r, o, pcs,
+                              complexity_threshold, wrap_individually,
+                              "Box");
+#else // Specialized implementation.
+  used(wrap_individually);
+  used(complexity_threshold);
+  Box& x = *this;
+
+  // Dimension-compatibility check for `*pcs', if any.
+  const dimension_type vars_space_dim = vars.space_dimension();
+  if (pcs != 0 && pcs->space_dimension() > vars_space_dim) {
+    std::ostringstream s;
+    s << "PPL::Box<ITV>::wrap_assign(vars, w, r, o, pcs, ...):"
+      << std::endl
+      << "vars.space_dimension() == " << vars_space_dim
+      << ", pcs->space_dimension() == " << pcs->space_dimension() << ".";
+    throw std::invalid_argument(s.str());
+  }
+
+  // Wrapping no variable only requires refining with *pcs, if any.
+  if (vars.empty()) {
+    if (pcs != 0)
+      refine_with_constraints(*pcs);
+    return;
+  }
+
+  // Dimension-compatibility check for `vars'.
+  const dimension_type space_dim = x.space_dimension();
+  if (space_dim < vars_space_dim) {
+    std::ostringstream s;
+    s << "PPL::Box<ITV>::wrap_assign(vars, ...):"
+      << std::endl
+      << "this->space_dimension() == " << space_dim
+      << ", required space dimension == " << vars_space_dim << ".";
+    throw std::invalid_argument(s.str());
+  }
+
+  // Wrapping an empty polyhedron is a no-op.
+  if (x.is_empty())
+    return;
+
+  // FIXME: temporarily (ab-) using Coefficient.
+  // Set `min_value' and `max_value' to the minimum and maximum values
+  // a variable of width `w' and signedness `s' can take.
+  PPL_DIRTY_TEMP_COEFFICIENT(min_value);
+  PPL_DIRTY_TEMP_COEFFICIENT(max_value);
+  if (r == UNSIGNED) {
+    min_value = 0;
+    mul_2exp_assign(max_value, Coefficient_one(), w);
+    --max_value;
+  }
+  else {
+    PPL_ASSERT(r == SIGNED_2_COMPLEMENT);
+    mul_2exp_assign(max_value, Coefficient_one(), w-1);
+    neg_assign(min_value, max_value);
+    --max_value;
+  }
+
+  // FIXME: Build the (integer) quadrant interval.
+  PPL_DIRTY_TEMP(ITV, integer_quadrant_itv);
+  PPL_DIRTY_TEMP(ITV, rational_quadrant_itv);
+  {
+    I_Constraint<Coefficient> lower = i_constraint(GREATER_OR_EQUAL, min_value);
+    I_Constraint<Coefficient> upper = i_constraint(LESS_OR_EQUAL, max_value);
+    integer_quadrant_itv.build(lower, upper);
+    // The rational quadrant is only needed if overflow is undefined.
+    if (o == OVERFLOW_UNDEFINED) {
+      ++max_value;
+      upper = i_constraint(LESS_THAN, max_value);
+      rational_quadrant_itv.build(lower, upper);
+    }
+  }
+
+  const Variables_Set::const_iterator vs_end = vars.end();
+
+  if (pcs == 0) {
+    // No constraint refinement is needed here.
+    switch (o) {
+    case OVERFLOW_WRAPS:
+      for (Variables_Set::const_iterator i = vars.begin(); i != vs_end; ++i)
+        x.seq[*i].wrap_assign(w, r, integer_quadrant_itv);
+      reset_empty_up_to_date();
+      break;
+    case OVERFLOW_UNDEFINED:
+      for (Variables_Set::const_iterator i = vars.begin(); i != vs_end; ++i) {
+        ITV& x_seq_v = x.seq[*i];
+        if (!rational_quadrant_itv.contains(x_seq_v)) {
+          x_seq_v.assign(integer_quadrant_itv);
+        }
+      }
+      break;
+    case OVERFLOW_IMPOSSIBLE:
+      for (Variables_Set::const_iterator i = vars.begin(); i != vs_end; ++i)
+        x.seq[*i].intersect_assign(integer_quadrant_itv);
+      reset_empty_up_to_date();
+      break;
+    }
+    PPL_ASSERT(x.OK());
+    return;
+  }
+
+  PPL_ASSERT(pcs != 0);
+  const Constraint_System& cs = *pcs;
+  const dimension_type cs_space_dim = cs.space_dimension();
+  // A map associating interval constraints to variable indexes.
+  typedef std::map<dimension_type, std::vector<const Constraint*> > map_type;
+  map_type var_cs_map;
+  for (Constraint_System::const_iterator i = cs.begin(),
+         i_end = cs.end(); i != i_end; ++i) {
+    const Constraint& c = *i;
+    dimension_type c_num_vars = 0;
+    dimension_type c_only_var = 0;
+    if (extract_interval_constraint(c, cs_space_dim,
+                                    c_num_vars, c_only_var)) {
+      if (c_num_vars == 1) {
+        // An interval constraint on variable index `c_only_var'.
+        PPL_ASSERT(c_only_var < space_dim);
+        // We do care about c if c_only_var is going to be wrapped.
+        if (vars.find(c_only_var) != vs_end)
+          var_cs_map[c_only_var].push_back(&c);
+      }
+      else {
+        PPL_ASSERT(c_num_vars == 0);
+        // Note: tautologies have been filtered out by iterators.
+        PPL_ASSERT(c.is_inconsistent());
+        x.set_empty();
+        return;
+      }
+    }
+  }
+
+  PPL_DIRTY_TEMP(ITV, refinement_itv);
+  const map_type::const_iterator var_cs_map_end = var_cs_map.end();
+  // Loop through the variable indexes in `vars'.
+  for (Variables_Set::const_iterator i = vars.begin(); i != vs_end; ++i) {
+    const dimension_type v = *i;
+    refinement_itv = integer_quadrant_itv;
+    // Look for the refinement constraints for space dimension index `v'.
+    map_type::const_iterator var_cs_map_iter = var_cs_map.find(v);
+    if (var_cs_map_iter != var_cs_map_end) {
+      // Refine interval for variable `v'.
+      const map_type::mapped_type& var_cs = var_cs_map_iter->second;
+      for (dimension_type j = var_cs.size(); j-- > 0; ) {
+        const Constraint& c = *var_cs[j];
+        refine_interval_no_check(refinement_itv,
+                                 c.type(),
+                                 c.inhomogeneous_term(),
+                                 c.coefficient(Variable(v)));
+      }
+    }
+    // Wrap space dimension index `v'.
+    ITV& x_seq_v = x.seq[v];
+    switch (o) {
+    case OVERFLOW_WRAPS:
+      x_seq_v.wrap_assign(w, r, refinement_itv);
+      break;
+    case OVERFLOW_UNDEFINED:
+      if (!rational_quadrant_itv.contains(x_seq_v))
+        x_seq_v.assign(UNIVERSE);
+      break;
+    case OVERFLOW_IMPOSSIBLE:
+      x_seq_v.intersect_assign(refinement_itv);
+      break;
+    }
+  }
+  PPL_ASSERT(x.OK());
+#endif
+}
+
+template <typename ITV>
+void
+Box<ITV>::drop_some_non_integer_points(Complexity_Class) {
+  if (std::numeric_limits<typename ITV::boundary_type>::is_integer
+      && !ITV::info_type::store_open)
+    return;
+
+  if (marked_empty())
+    return;
+
+  for (dimension_type k = seq.size(); k-- > 0; )
+    seq[k].drop_some_non_integer_points();
+
+  PPL_ASSERT(OK());
+}
+
+template <typename ITV>
+void
+Box<ITV>::drop_some_non_integer_points(const Variables_Set& vars,
+                                       Complexity_Class) {
+  // Dimension-compatibility check.
+  const dimension_type min_space_dim = vars.space_dimension();
+  if (space_dimension() < min_space_dim)
+    throw_dimension_incompatible("drop_some_non_integer_points(vs, cmpl)",
+                                 min_space_dim);
+
+  if (std::numeric_limits<typename ITV::boundary_type>::is_integer
+      && !ITV::info_type::store_open)
+    return;
+
+  if (marked_empty())
+    return;
+
+  for (Variables_Set::const_iterator v_i = vars.begin(),
+         v_end = vars.end(); v_i != v_end; ++v_i)
+    seq[*v_i].drop_some_non_integer_points();
+
+  PPL_ASSERT(OK());
+}
+
+template <typename ITV>
+void
 Box<ITV>::intersection_assign(const Box& y) {
   Box& x = *this;
   const dimension_type space_dim = space_dimension();
@@ -65672,7 +71008,7 @@ Box<ITV>::intersection_assign(const Box& y) {
   for (dimension_type k = space_dim; k-- > 0; )
     x.seq[k].intersect_assign(y.seq[k]);
 
-  assert(x.OK());
+  PPL_ASSERT(x.OK());
 }
 
 template <typename ITV>
@@ -65695,7 +71031,7 @@ Box<ITV>::upper_bound_assign(const Box& y) {
   for (dimension_type k = x.seq.size(); k-- > 0; )
     x.seq[k].join_assign(y.seq[k]);
 
-  assert(x.OK());
+  PPL_ASSERT(x.OK());
 }
 
 template <typename ITV>
@@ -65721,7 +71057,7 @@ Box<ITV>::concatenate_assign(const Box& y) {
   // the dimension of the vector space.
   if (x.marked_empty()) {
     x.seq.insert(x.seq.end(), y_space_dim, ITV(EMPTY));
-    assert(x.OK());
+    PPL_ASSERT(x.OK());
     return;
   }
 
@@ -65732,7 +71068,7 @@ Box<ITV>::concatenate_assign(const Box& y) {
   if (!y.status.test_empty_up_to_date())
     reset_empty_up_to_date();
 
-  assert(x.OK());
+  PPL_ASSERT(x.OK());
 }
 
 template <typename ITV>
@@ -65791,7 +71127,7 @@ Box<ITV>::difference_assign(const Box& y) {
     }
     break;
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -65841,13 +71177,13 @@ Box<ITV>::simplify_using_context_assign(const Box& y) {
         for (++i; i < num_dims; ++i)
           x.seq[i].assign(UNIVERSE);
         x.set_nonempty();
-        assert(x.OK());
+        PPL_ASSERT(x.OK());
         return false;
       }
     }
     // All intervals in `y' are universe or could not be contradicted:
     // simplification can leave the empty box `x' as is.
-    assert(x.OK() && x.is_empty());
+    PPL_ASSERT(x.OK() && x.is_empty());
     return false;
   }
 
@@ -65855,18 +71191,18 @@ Box<ITV>::simplify_using_context_assign(const Box& y) {
   dimension_type i = 0;
   for ( ; i < num_dims; ++i) {
     if (!x.seq[i].simplify_using_context_assign(y.seq[i])) {
-      assert(!x.seq[i].is_empty());
+      PPL_ASSERT(!x.seq[i].is_empty());
       // The intersection of `x' and `y' is empty due to the i-th interval:
       // reset other intervals to UNIVERSE.
       for (dimension_type j = num_dims; j-- > i; )
         x.seq[j].assign(UNIVERSE);
       for (dimension_type j = i; j-- > 0; )
         x.seq[j].assign(UNIVERSE);
-      assert(x.OK());
+      PPL_ASSERT(x.OK());
       return false;
     }
   }
-  assert(x.OK());
+  PPL_ASSERT(x.OK());
   return true;
 }
 
@@ -65898,56 +71234,56 @@ Box<ITV>::time_elapse_assign(const Box& y) {
   for (dimension_type i = x_space_dim; i-- > 0; ) {
     ITV& x_seq_i = x.seq[i];
     const ITV& y_seq_i = y.seq[i];
-    if (!x_seq_i.lower_is_unbounded())
-      if (y_seq_i.lower_is_unbounded() || y_seq_i.lower() < 0)
-	x_seq_i.lower_set(UNBOUNDED);
-    if (!x_seq_i.upper_is_unbounded())
-      if (y_seq_i.upper_is_unbounded() || y_seq_i.upper() > 0)
-	x_seq_i.upper_set(UNBOUNDED);
+    if (!x_seq_i.lower_is_boundary_infinity())
+      if (y_seq_i.lower_is_boundary_infinity() || y_seq_i.lower() < 0)
+	x_seq_i.lower_extend();
+    if (!x_seq_i.upper_is_boundary_infinity())
+      if (y_seq_i.upper_is_boundary_infinity() || y_seq_i.upper() > 0)
+	x_seq_i.upper_extend();
   }
-  assert(x.OK());
+  PPL_ASSERT(x.OK());
 }
 
 template <typename ITV>
 inline void
-Box<ITV>::remove_space_dimensions(const Variables_Set& to_be_removed) {
+Box<ITV>::remove_space_dimensions(const Variables_Set& vars) {
   // The removal of no dimensions from any box is a no-op.
   // Note that this case also captures the only legal removal of
   // space dimensions from a box in a zero-dimensional space.
-  if (to_be_removed.empty()) {
-    assert(OK());
+  if (vars.empty()) {
+    PPL_ASSERT(OK());
     return;
   }
 
   const dimension_type old_space_dim = space_dimension();
 
   // Dimension-compatibility check.
-  const dimension_type tbr_space_dim = to_be_removed.space_dimension();
-  if (old_space_dim < tbr_space_dim)
+  const dimension_type vsi_space_dim = vars.space_dimension();
+  if (old_space_dim < vsi_space_dim)
     throw_dimension_incompatible("remove_space_dimensions(vs)",
-				 tbr_space_dim);
+				 vsi_space_dim);
 
-  const dimension_type new_space_dim = old_space_dim - to_be_removed.size();
+  const dimension_type new_space_dim = old_space_dim - vars.size();
 
   // If the box is empty (this must be detected), then resizing is all
   // what is needed.  If it is not empty and we are removing _all_ the
   // dimensions then, again, resizing suffices.
   if (is_empty() || new_space_dim == 0) {
     seq.resize(new_space_dim);
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
   // For each variable to be removed, we fill the corresponding interval
   // by shifting left those intervals that will not be removed.
-  Variables_Set::const_iterator tbr = to_be_removed.begin();
-  Variables_Set::const_iterator tbr_end = to_be_removed.end();
-  dimension_type dst = *tbr;
+  Variables_Set::const_iterator vsi = vars.begin();
+  Variables_Set::const_iterator vsi_end = vars.end();
+  dimension_type dst = *vsi;
   dimension_type src = dst + 1;
-  for (++tbr; tbr != tbr_end; ++tbr) {
-    const dimension_type tbr_next = *tbr;
+  for (++vsi; vsi != vsi_end; ++vsi) {
+    const dimension_type vsi_next = *vsi;
     // All intervals in between are moved to the left.
-    while (src < tbr_next)
+    while (src < vsi_next)
       seq[dst++].swap(seq[src++]);
     ++src;
   }
@@ -65955,10 +71291,10 @@ Box<ITV>::remove_space_dimensions(const Variables_Set& to_be_removed) {
   while (src < old_space_dim)
     seq[dst++].swap(seq[src++]);
 
-  assert(dst == new_space_dim);
+  PPL_ASSERT(dst == new_space_dim);
   seq.resize(new_space_dim);
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -65975,12 +71311,12 @@ Box<ITV>::remove_higher_space_dimensions(const dimension_type new_dim) {
   // Note that this case also captures the only legal removal of
   // dimensions from a zero-dim space box.
   if (new_dim == old_dim) {
-    assert(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
   seq.erase(seq.begin() + new_dim, seq.end());
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -66013,49 +71349,49 @@ Box<ITV>::map_space_dimensions(const Partial_Function& pfunc) {
       seq[i].swap(tmp.seq[new_i]);
   }
   swap(tmp);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
 void
-Box<ITV>::fold_space_dimensions(const Variables_Set& to_be_folded,
-                                const Variable var) {
+Box<ITV>::fold_space_dimensions(const Variables_Set& vars,
+                                const Variable dest) {
   const dimension_type space_dim = space_dimension();
-  // `var' should be one of the dimensions of the box.
-  if (var.space_dimension() > space_dim)
-    throw_dimension_incompatible("fold_space_dimensions(tbf, v)", "v", var);
+  // `dest' should be one of the dimensions of the box.
+  if (dest.space_dimension() > space_dim)
+    throw_dimension_incompatible("fold_space_dimensions(vs, v)", "v", dest);
 
   // The folding of no dimensions is a no-op.
-  if (to_be_folded.empty())
+  if (vars.empty())
     return;
 
-  // All variables in `to_be_folded' should be dimensions of the box.
-  if (to_be_folded.space_dimension() > space_dim)
-    throw_dimension_incompatible("fold_space_dimensions(tbf, ...)",
-				 to_be_folded.space_dimension());
+  // All variables in `vars' should be dimensions of the box.
+  if (vars.space_dimension() > space_dim)
+    throw_dimension_incompatible("fold_space_dimensions(vs, v)",
+				 vars.space_dimension());
 
-  // Moreover, `var.id()' should not occur in `to_be_folded'.
-  if (to_be_folded.find(var.id()) != to_be_folded.end())
-    throw_generic("fold_space_dimensions(tbf, v)",
-		  "v should not occur in tbf");
+  // Moreover, `dest.id()' should not occur in `vars'.
+  if (vars.find(dest.id()) != vars.end())
+    throw_generic("fold_space_dimensions(vs, v)",
+		  "v should not occur in vs");
 
   // Note: the check for emptiness is needed for correctness.
   if (!is_empty()) {
-    // Join the interval corresponding to variable `var' with the intervals
-    // corresponding to the variables in `to_be_folded'.
-    ITV& seq_v = seq[var.id()];
-    for (Variables_Set::const_iterator i = to_be_folded.begin(),
-	   tbf_end = to_be_folded.end(); i != tbf_end; ++i)
+    // Join the interval corresponding to variable `dest' with the intervals
+    // corresponding to the variables in `vars'.
+    ITV& seq_v = seq[dest.id()];
+    for (Variables_Set::const_iterator i = vars.begin(),
+	   vs_end = vars.end(); i != vs_end; ++i)
       seq_v.join_assign(seq[*i]);
   }
-  remove_space_dimensions(to_be_folded);
+  remove_space_dimensions(vars);
 }
 
 template <typename ITV>
 void
 Box<ITV>::add_constraint_no_check(const Constraint& c) {
   const dimension_type c_space_dim = c.space_dimension();
-  assert(c_space_dim <= space_dimension());
+  PPL_ASSERT(c_space_dim <= space_dimension());
 
   dimension_type c_num_vars = 0;
   dimension_type c_only_var = 0;
@@ -66066,7 +71402,7 @@ Box<ITV>::add_constraint_no_check(const Constraint& c) {
   // Throw an exception if c is a nontrivial strict constraint
   // and ITV does not support open boundaries.
   if (c.is_strict_inequality() && c_num_vars != 0
-      && !Box::interval_type::info_type::store_open)
+      && ITV::is_always_topologically_closed())
     throw_generic("add_constraint(c)", "c is a nontrivial strict constraint");
 
   // Avoid doing useless work if the box is known to be empty.
@@ -66083,7 +71419,7 @@ Box<ITV>::add_constraint_no_check(const Constraint& c) {
     return;
   }
 
-  assert(c_num_vars == 1);
+  PPL_ASSERT(c_num_vars == 1);
   const Coefficient& d = c.coefficient(Variable(c_only_var));
   add_interval_constraint_no_check(c_only_var, c.type(), n, d);
 }
@@ -66091,21 +71427,21 @@ Box<ITV>::add_constraint_no_check(const Constraint& c) {
 template <typename ITV>
 void
 Box<ITV>::add_constraints_no_check(const Constraint_System& cs) {
-  assert(cs.space_dimension() <= space_dimension());
+  PPL_ASSERT(cs.space_dimension() <= space_dimension());
   // Note: even when the box is known to be empty, we need to go
   // through all the constraints to fulfill the method's contract
   // for what concerns exception throwing.
   for (Constraint_System::const_iterator i = cs.begin(),
 	 cs_end = cs.end(); i != cs_end; ++i)
     add_constraint_no_check(*i);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
 void
 Box<ITV>::add_congruence_no_check(const Congruence& cg) {
   const dimension_type cg_space_dim = cg.space_dimension();
-  assert(cg_space_dim <= space_dimension());
+  PPL_ASSERT(cg_space_dim <= space_dimension());
 
   // Set aside the case of proper congruences.
   if (cg.is_proper_congruence()) {
@@ -66121,7 +71457,7 @@ Box<ITV>::add_congruence_no_check(const Congruence& cg) {
                     "cg is a nontrivial proper congruence");
   }
 
-  assert(cg.is_equality());
+  PPL_ASSERT(cg.is_equality());
   dimension_type cg_num_vars = 0;
   dimension_type cg_only_var = 0;
   // Throw an exception if c is not an interval congruence.
@@ -66140,7 +71476,7 @@ Box<ITV>::add_congruence_no_check(const Congruence& cg) {
     return;
   }
 
-  assert(cg_num_vars == 1);
+  PPL_ASSERT(cg_num_vars == 1);
   const Coefficient& d = cg.coefficient(Variable(cg_only_var));
   add_interval_constraint_no_check(cg_only_var, Constraint::EQUALITY, n, d);
 }
@@ -66148,30 +71484,30 @@ Box<ITV>::add_congruence_no_check(const Congruence& cg) {
 template <typename ITV>
 void
 Box<ITV>::add_congruences_no_check(const Congruence_System& cgs) {
-  assert(cgs.space_dimension() <= space_dimension());
+  PPL_ASSERT(cgs.space_dimension() <= space_dimension());
   // Note: even when the box is known to be empty, we need to go
   // through all the congruences to fulfill the method's contract
   // for what concerns exception throwing.
   for (Congruence_System::const_iterator i = cgs.begin(),
 	 cgs_end = cgs.end(); i != cgs_end; ++i)
     add_congruence_no_check(*i);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
 void
 Box<ITV>::refine_no_check(const Constraint& c) {
   const dimension_type c_space_dim = c.space_dimension();
-  assert(c_space_dim <= space_dimension());
-  assert(!marked_empty());
+  PPL_ASSERT(c.space_dimension() <= space_dimension());
+  PPL_ASSERT(!marked_empty());
 
   dimension_type c_num_vars = 0;
   dimension_type c_only_var = 0;
-  // Non-interval constraints are ignored.
-  // FIXME: instead of ignoring, safely use propagate_no_check()
-  // (i.e., ensuring that no termination problem can arise).
-  if (!extract_interval_constraint(c, c_space_dim, c_num_vars, c_only_var))
+  // Non-interval constraints are approximated.
+  if (!extract_interval_constraint(c, c_space_dim, c_num_vars, c_only_var)) {
+    propagate_constraint_no_check(c);
     return;
+  }
 
   const Coefficient& n = c.inhomogeneous_term();
   if (c_num_vars == 0) {
@@ -66183,7 +71519,7 @@ Box<ITV>::refine_no_check(const Constraint& c) {
     return;
   }
 
-  assert(c_num_vars == 1);
+  PPL_ASSERT(c_num_vars == 1);
   const Coefficient& d = c.coefficient(Variable(c_only_var));
   add_interval_constraint_no_check(c_only_var, c.type(), n, d);
 }
@@ -66191,20 +71527,19 @@ Box<ITV>::refine_no_check(const Constraint& c) {
 template <typename ITV>
 void
 Box<ITV>::refine_no_check(const Constraint_System& cs) {
-  assert(cs.space_dimension() <= space_dimension());
+  PPL_ASSERT(cs.space_dimension() <= space_dimension());
   for (Constraint_System::const_iterator i = cs.begin(),
 	 cs_end = cs.end(); !marked_empty() && i != cs_end; ++i)
     refine_no_check(*i);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
 void
 Box<ITV>::refine_no_check(const Congruence& cg) {
-  assert(!marked_empty());
+  PPL_ASSERT(!marked_empty());
 
-  const dimension_type cg_space_dim = cg.space_dimension();
-  assert(cg_space_dim <= space_dimension());
+  PPL_ASSERT(cg.space_dimension() <= space_dimension());
 
   if (cg.is_proper_congruence()) {
     // FIXME: also deal with the case of interval with restrictions.
@@ -66215,34 +71550,19 @@ Box<ITV>::refine_no_check(const Congruence& cg) {
     return;
   }
 
-  assert(cg.is_equality());
-  dimension_type cg_num_vars = 0;
-  dimension_type cg_only_var = 0;
-  // Congruences that are not interval congruences are ignored.
-  if (!extract_interval_congruence(cg, cg_space_dim, cg_num_vars, cg_only_var))
-    return;
-
-  if (cg_num_vars == 0) {
-    // Dealing with a trivial congruence.
-    if (cg.inhomogeneous_term() != 0)
-      set_empty();
-    return;
-  }
-
-  assert(cg_num_vars == 1);
-  const Coefficient& n = cg.inhomogeneous_term();
-  const Coefficient& d = cg.coefficient(Variable(cg_only_var));
-  add_interval_constraint_no_check(cg_only_var, Constraint::EQUALITY, n, d);
+  PPL_ASSERT(cg.is_equality());
+  Constraint c(cg);
+  refine_no_check(c);
 }
 
 template <typename ITV>
 void
 Box<ITV>::refine_no_check(const Congruence_System& cgs) {
-  assert(cgs.space_dimension() <= space_dimension());
+  PPL_ASSERT(cgs.space_dimension() <= space_dimension());
   for (Congruence_System::const_iterator i = cgs.begin(),
 	 cgs_end = cgs.end(); !marked_empty() && i != cgs_end; ++i)
     refine_no_check(*i);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 #if 1 // Alternative implementations for propagate_constraint_no_check.
@@ -66250,11 +71570,10 @@ namespace {
 
 inline bool
 propagate_constraint_check_result(Result r, Ternary& open) {
+  r = result_relation_class(r);
   switch (r) {
-  case V_NEG_OVERFLOW:
-  case V_POS_OVERFLOW:
-  case V_UNKNOWN_NEG_OVERFLOW:
-  case V_UNKNOWN_POS_OVERFLOW:
+  case V_GT_MINUS_INFINITY:
+  case V_LT_PLUS_INFINITY:
     return true;
   case V_LT:
   case V_GT:
@@ -66268,7 +71587,7 @@ propagate_constraint_check_result(Result r, Ternary& open) {
   case V_EQ:
     return false;
   default:
-    assert(false);
+    PPL_ASSERT(false);
     return true;
   }
 }
@@ -66278,7 +71597,7 @@ propagate_constraint_check_result(Result r, Ternary& open) {
 template <typename ITV>
 void
 Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
-  assert(c.space_dimension() <= space_dimension());
+  PPL_ASSERT(c.space_dimension() <= space_dimension());
 
   typedef
     typename Select_Temp_Boundary_Type<typename ITV::boundary_type>::type
@@ -66306,7 +71625,7 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
   }
 
   // Here constraint c is non-trivial.
-  assert(last_k < c_space_dim);
+  PPL_ASSERT(last_k < c_space_dim);
   Result r;
   Temp_Boundary_Type t_bound;
   Temp_Boundary_Type t_a;
@@ -66336,7 +71655,7 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
 	  continue;
 	ITV& x_i = seq[i];
 	if (sgn_a_i < 0) {
-	  if (x_i.lower_is_unbounded())
+	  if (x_i.lower_is_boundary_infinity())
 	    goto maybe_refine_upper_1;
 	  r = assign_r(t_a, a_i, ROUND_DOWN);
 	  if (propagate_constraint_check_result(r, open))
@@ -66351,8 +71670,8 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
 	    goto maybe_refine_upper_1;
 	}
 	else {
-	  assert(sgn_a_i > 0);
-	  if (x_i.upper_is_unbounded())
+	  PPL_ASSERT(sgn_a_i > 0);
+	  if (x_i.upper_is_boundary_infinity())
 	    goto maybe_refine_upper_1;
 	  r = assign_r(t_a, a_i, ROUND_UP);
 	  if (propagate_constraint_check_result(r, open))
@@ -66378,7 +71697,7 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
       if (open == T_MAYBE
 	  && maybe_check_fpu_inexact<Temp_Boundary_Type>() == 1)
 	open = T_YES;
-      seq[k].lower_narrow(t_bound, open == T_YES);
+      seq[k].add_constraint(i_constraint(open == T_YES ? GREATER_THAN : GREATER_OR_EQUAL, t_bound));
       reset_empty_up_to_date();
     maybe_refine_upper_1:
       if (c_type != Constraint::EQUALITY)
@@ -66400,7 +71719,7 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
 	  continue;
 	ITV& x_i = seq[i];
 	if (sgn_a_i < 0) {
-	  if (x_i.upper_is_unbounded())
+	  if (x_i.upper_is_boundary_infinity())
 	    goto next_k;
 	  r = assign_r(t_a, a_i, ROUND_UP);
 	  if (propagate_constraint_check_result(r, open))
@@ -66415,8 +71734,8 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
 	    goto next_k;
 	}
 	else {
-	  assert(sgn_a_i > 0);
-	  if (x_i.lower_is_unbounded())
+	  PPL_ASSERT(sgn_a_i > 0);
+	  if (x_i.lower_is_boundary_infinity())
 	    goto next_k;
 	  r = assign_r(t_a, a_i, ROUND_DOWN);
 	  if (propagate_constraint_check_result(r, open))
@@ -66442,11 +71761,11 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
       if (open == T_MAYBE
 	  && maybe_check_fpu_inexact<Temp_Boundary_Type>() == 1)
 	open = T_YES;
-      seq[k].upper_narrow(t_bound, open == T_YES);
+      seq[k].add_constraint(i_constraint(open == T_YES ? LESS_THAN : LESS_OR_EQUAL, t_bound));
       reset_empty_up_to_date();
     }
     else {
-      assert(sgn_a_k < 0);
+      PPL_ASSERT(sgn_a_k < 0);
       open = (c_type == Constraint::STRICT_INEQUALITY) ? T_YES : T_NO;
       if (open == T_NO)
 	maybe_reset_fpu_inexact<Temp_Boundary_Type>();
@@ -66465,7 +71784,7 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
 	  continue;
 	ITV& x_i = seq[i];
 	if (sgn_a_i < 0) {
-	  if (x_i.lower_is_unbounded())
+	  if (x_i.lower_is_boundary_infinity())
 	    goto maybe_refine_upper_2;
 	  r = assign_r(t_a, a_i, ROUND_DOWN);
 	  if (propagate_constraint_check_result(r, open))
@@ -66480,8 +71799,8 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
 	    goto maybe_refine_upper_2;
 	}
 	else {
-	  assert(sgn_a_i > 0);
-	  if (x_i.upper_is_unbounded())
+	  PPL_ASSERT(sgn_a_i > 0);
+	  if (x_i.upper_is_boundary_infinity())
 	    goto maybe_refine_upper_2;
 	  r = assign_r(t_a, a_i, ROUND_UP);
 	  if (propagate_constraint_check_result(r, open))
@@ -66507,7 +71826,7 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
       if (open == T_MAYBE
 	  && maybe_check_fpu_inexact<Temp_Boundary_Type>() == 1)
 	open = T_YES;
-      seq[k].upper_narrow(t_bound, open == T_YES);
+      seq[k].add_constraint(i_constraint(open == T_YES ? LESS_THAN : LESS_OR_EQUAL, t_bound));
       reset_empty_up_to_date();
     maybe_refine_upper_2:
       if (c_type != Constraint::EQUALITY)
@@ -66529,7 +71848,7 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
 	  continue;
 	ITV& x_i = seq[i];
 	if (sgn_a_i < 0) {
-	  if (x_i.upper_is_unbounded())
+	  if (x_i.upper_is_boundary_infinity())
 	    goto next_k;
 	  r = assign_r(t_a, a_i, ROUND_UP);
 	  if (propagate_constraint_check_result(r, open))
@@ -66544,8 +71863,8 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
 	    goto next_k;
 	}
 	else {
-	  assert(sgn_a_i > 0);
-	  if (x_i.lower_is_unbounded())
+	  PPL_ASSERT(sgn_a_i > 0);
+	  if (x_i.lower_is_boundary_infinity())
 	    goto next_k;
 	  r = assign_r(t_a, a_i, ROUND_DOWN);
 	  if (propagate_constraint_check_result(r, open))
@@ -66571,7 +71890,7 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
       if (open == T_MAYBE
 	  && maybe_check_fpu_inexact<Temp_Boundary_Type>() == 1)
 	open = T_YES;
-      seq[k].lower_narrow(t_bound, open == T_YES);
+      seq[k].add_constraint(i_constraint(open == T_YES ? GREATER_THAN : GREATER_OR_EQUAL, t_bound));
       reset_empty_up_to_date();
     }
   next_k:
@@ -66584,7 +71903,7 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
 template <typename ITV>
 void
 Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
-  assert(c.space_dimension() <= space_dimension());
+  PPL_ASSERT(c.space_dimension() <= space_dimension());
 
   dimension_type c_space_dim = c.space_dimension();
   ITV k[c_space_dim];
@@ -66620,8 +71939,8 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
       rel = (sgn_coefficient_i > 0) ? GREATER_THAN : LESS_THAN;
       break;
     }
-    seq[i].refine_existential(rel, q);
-    // FIXME: could/should we exploit the return value of refine_existential,
+    seq[i].add_constraint(i_constraint(rel, q));
+    // FIXME: could/should we exploit the return value of add_constraint
     //        in case it is available?
     // FIMXE: should we instead be lazy and do not even bother about
     //        the possibility the interval becomes empty apart from setting
@@ -66632,28 +71951,45 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
     }
   }
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 #endif // Alternative implementations for propagate_constraint_no_check.
 
 template <typename ITV>
 void
-Box<ITV>::propagate_constraints_no_check(const Constraint_System& cs) {
-  assert(cs.space_dimension() <= space_dimension());
+Box<ITV>
+::propagate_constraints_no_check(const Constraint_System& cs,
+                                 const dimension_type max_iterations) {
+  const dimension_type space_dim = space_dimension();
+  PPL_ASSERT(cs.space_dimension() <= space_dim);
+
+  const Constraint_System::const_iterator cs_begin = cs.begin();
+  const Constraint_System::const_iterator cs_end = cs.end();
+  const dimension_type cs_size = std::distance(cs_begin, cs_end);
+  const dimension_type propagation_weight = cs_size * space_dim;
 
+  Sequence copy;
   bool changed;
+  dimension_type num_iterations = 0;
   do {
-    Sequence copy(seq);
-    for (Constraint_System::const_iterator i = cs.begin(),
-	   cs_end = cs.end(); i != cs_end; ++i)
+    WEIGHT_BEGIN();
+    ++num_iterations;
+    copy = seq;
+    for (Constraint_System::const_iterator i = cs_begin; i != cs_end; ++i)
       propagate_constraint_no_check(*i);
 
+    WEIGHT_ADD_MUL(40, propagation_weight);
     // Check if the client has requested abandoning all expensive
     // computations.  If so, the exception specified by the client
     // is thrown now.
     maybe_abandon();
 
+    // NOTE: if max_iterations == 0 (i.e., no iteration limit is set)
+    // the following test will anyway trigger on wrap around.
+    if (num_iterations == max_iterations)
+      break;
+
     changed = (copy != seq);
   } while (changed);
 }
@@ -66697,7 +72033,7 @@ Box<ITV>::affine_image(const Variable var,
   }
   seq[var.id()].assign(expr_value);
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -66758,7 +72094,7 @@ Box<ITV>::affine_preimage(const Variable var,
     inverse += (expr_v + denominator) * var;
     affine_image(var, inverse, expr_v);
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -66840,22 +72176,23 @@ Box<ITV>
 	// has a minimum value for the box.
 	// Set the bounds for `var' using the minimum for `lb_expr'.
 	min_den *= denominator;
-	PPL_DIRTY_TEMP0(mpq_class, q);
-	assign_r(q.get_num(), min_num, ROUND_NOT_NEEDED);
-	assign_r(q.get_den(), min_den, ROUND_NOT_NEEDED);
-	q.canonicalize();
-	(denominator > 0)
-	  ? seq_v.lower_set(q, !min_included)
-	  : seq_v.upper_set(q, !min_included);
+	PPL_DIRTY_TEMP0(mpq_class, q1);
+	PPL_DIRTY_TEMP0(mpq_class, q2);
+	assign_r(q1.get_num(), min_num, ROUND_NOT_NEEDED);
+	assign_r(q1.get_den(), min_den, ROUND_NOT_NEEDED);
+	q1.canonicalize();
 	// Now make the maximum of lb_expr the upper bound.  If the
 	// maximum is not at a box point, then inequality is strict.
 	max_den *= denominator;
-	assign_r(q.get_num(), max_num, ROUND_NOT_NEEDED);
-	assign_r(q.get_den(), max_den, ROUND_NOT_NEEDED);
-	q.canonicalize();
-	(denominator > 0)
-	  ? seq_v.upper_set(q, !max_included)
-	  : seq_v.lower_set(q, !max_included);
+	assign_r(q2.get_num(), max_num, ROUND_NOT_NEEDED);
+	assign_r(q2.get_den(), max_den, ROUND_NOT_NEEDED);
+	q2.canonicalize();
+	if (denominator > 0)
+	  seq_v.build(i_constraint(min_included ? GREATER_OR_EQUAL : GREATER_THAN, q1),
+		      i_constraint(max_included ? LESS_OR_EQUAL : LESS_THAN, q2));
+	else
+	  seq_v.build(i_constraint(max_included ? GREATER_OR_EQUAL : GREATER_THAN, q2),
+		       i_constraint(min_included ? LESS_OR_EQUAL : LESS_THAN, q1));
       }
       else {
 	// The `ub_expr' has a maximum value but the `lb_expr'
@@ -66866,14 +72203,10 @@ Box<ITV>
 	assign_r(q.get_num(), max_num, ROUND_NOT_NEEDED);
 	assign_r(q.get_den(), max_den, ROUND_NOT_NEEDED);
 	q.canonicalize();
-	if (denominator > 0) {
-	  seq_v.lower_set(UNBOUNDED);
-	  seq_v.upper_set(q, !max_included);
-	}
-	else {
-	  seq_v.upper_set(UNBOUNDED);
-	  seq_v.lower_set(q, !max_included);
-	}
+	if (denominator > 0)
+	  seq_v.build(i_constraint(max_included ? LESS_OR_EQUAL : LESS_THAN, q));
+	else
+	  seq_v.build(i_constraint(max_included ? GREATER_OR_EQUAL : GREATER_THAN, q));
       }
     }
     else if (minimize(lb_expr, min_num, min_den, min_included)) {
@@ -66885,24 +72218,19 @@ Box<ITV>
 	assign_r(q.get_num(), min_num, ROUND_NOT_NEEDED);
 	assign_r(q.get_den(), min_den, ROUND_NOT_NEEDED);
 	q.canonicalize();
-	if (denominator > 0) {
-	  seq_v.upper_set(UNBOUNDED);
-	  seq_v.lower_set(q, !min_included);
-	}
-	else {
-	  seq_v.lower_set(UNBOUNDED);
-	  seq_v.upper_set(q, !min_included);
-	}
+	if (denominator > 0)
+	  seq_v.build(i_constraint(min_included ? GREATER_OR_EQUAL : GREATER_THAN, q));
+	else
+	  seq_v.build(i_constraint(min_included ? LESS_OR_EQUAL : LESS_THAN, q));
     }
     else {
       // The `ub_expr' has no maximum value and the `lb_expr'
       // has no minimum value for the box.
       // So we set the bounds to be unbounded.
-      seq_v.upper_set(UNBOUNDED);
-      seq_v.lower_set(UNBOUNDED);
+      seq_v.assign(UNIVERSE);
     }
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -66962,7 +72290,7 @@ Box<ITV>
     // Store all the information about the upper and lower bounds
     // for `var' before making this interval unbounded.
     bool open_lower = seq_var.lower_is_open();
-    bool unbounded_lower = seq_var.lower_is_unbounded();
+    bool unbounded_lower = seq_var.lower_is_boundary_infinity();
     PPL_DIRTY_TEMP0(mpq_class, q_seq_var_lower);
     PPL_DIRTY_TEMP(Coefficient, num_lower);
     PPL_DIRTY_TEMP(Coefficient, den_lower);
@@ -66973,10 +72301,10 @@ Box<ITV>
       if (negative_denom)
         neg_assign(den_lower, den_lower);
       num_lower *= pos_denominator;
-      seq_var.lower_set(UNBOUNDED);
+      seq_var.lower_extend();
     }
     bool open_upper = seq_var.upper_is_open();
-    bool unbounded_upper = seq_var.upper_is_unbounded();
+    bool unbounded_upper = seq_var.upper_is_boundary_infinity();
     PPL_DIRTY_TEMP0(mpq_class, q_seq_var_upper);
     PPL_DIRTY_TEMP(Coefficient, num_upper);
     PPL_DIRTY_TEMP(Coefficient, den_upper);
@@ -66987,7 +72315,7 @@ Box<ITV>
       if (negative_denom)
         neg_assign(den_upper, den_upper);
       num_upper *= pos_denominator;
-      seq_var.upper_set(UNBOUNDED);
+      seq_var.upper_extend();
     }
 
     if (!unbounded_lower) {
@@ -67013,9 +72341,9 @@ Box<ITV>
         q.canonicalize();
         open_lower |= !included;
         if ((ub_var_coeff >= 0) ? !negative_denom : negative_denom)
-          seq_var.lower_narrow(q, open_lower);
+          seq_var.add_constraint(i_constraint(open_lower ? GREATER_THAN : GREATER_OR_EQUAL, q));
         else
-          seq_var.upper_narrow(q, open_lower);
+          seq_var.add_constraint(i_constraint(open_lower ? LESS_THAN : LESS_OR_EQUAL, q));
         if (seq_var.is_empty()) {
           set_empty();
           return;
@@ -67046,9 +72374,9 @@ Box<ITV>
         q.canonicalize();
         open_upper |= !included;
         if ((lb_var_coeff >= 0) ? !negative_denom : negative_denom)
-          seq_var.upper_narrow(q, open_upper);
+          seq_var.add_constraint(i_constraint(open_upper ? LESS_THAN : LESS_OR_EQUAL, q));
         else
-          seq_var.lower_narrow(q, open_upper);
+          seq_var.add_constraint(i_constraint(open_upper ? GREATER_THAN : GREATER_OR_EQUAL, q));
         if (seq_var.is_empty()) {
           set_empty();
           return;
@@ -67066,7 +72394,7 @@ Box<ITV>
       refine_with_constraint(lb_expr >= ub_expr);
   }
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -67112,26 +72440,26 @@ Box<ITV>
   ITV& seq_var = seq[var.id()];
   switch (relsym) {
   case LESS_OR_EQUAL:
-    seq_var.lower_set(UNBOUNDED);
+    seq_var.lower_extend();
     break;
   case LESS_THAN:
-    seq_var.lower_set(UNBOUNDED);
-    if (!seq_var.upper_is_unbounded())
-      seq_var.refine_existential(LESS_THAN, seq_var.upper());
+    seq_var.lower_extend();
+    if (!seq_var.upper_is_boundary_infinity())
+      seq_var.remove_sup();
     break;
   case GREATER_OR_EQUAL:
-    seq_var.upper_set(UNBOUNDED);
+    seq_var.upper_extend();
     break;
   case GREATER_THAN:
-    seq_var.upper_set(UNBOUNDED);
-    if (!seq_var.lower_is_unbounded())
-      seq_var.refine_existential(GREATER_THAN, seq_var.lower());
+    seq_var.upper_extend();
+    if (!seq_var.lower_is_boundary_infinity())
+      seq_var.remove_inf();
     break;
   default:
     // The EQUAL and NOT_EQUAL cases have been already dealt with.
     throw std::runtime_error("PPL internal error");
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -67275,9 +72603,8 @@ Box<ITV>
   if (is_empty())
     return;
   ITV& seq_v = seq[var.id()];
-  seq_v.lower_set(UNBOUNDED);
-  seq_v.upper_set(UNBOUNDED);
-  assert(OK());
+  seq_v.assign(UNIVERSE);
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -67332,8 +72659,7 @@ Box<ITV>
     if (lhs.coefficient(Variable(lhs_space_dim - 1)) != 0) {
       if (has_var) {
         ITV& seq_i = seq[lhs_space_dim - 1];
-        seq_i.lower_set(UNBOUNDED);
-        seq_i.upper_set(UNBOUNDED);
+        seq_i.assign(UNIVERSE);
         has_more_than_one_var = true;
       }
       else {
@@ -67349,9 +72675,8 @@ Box<ITV>
     // in the lhs have been set unbounded, it remains to set the
     // highest dimension in the lhs unbounded.
     ITV& seq_var = seq[has_var_id];
-    seq_var.lower_set(UNBOUNDED);
-    seq_var.upper_set(UNBOUNDED);
-    assert(OK());
+    seq_var.assign(UNIVERSE);
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -67386,36 +72711,35 @@ Box<ITV>
       // The coefficient of the dimension in the lhs is +ve.
       switch (relsym) {
       case LESS_OR_EQUAL:
-        seq_var.lower_set(UNBOUNDED);
         max_rhs
-          ? seq_var.upper_set(q_max, !max_included)
-          : seq_var.upper_set(UNBOUNDED);
+          ? seq_var.build(i_constraint(max_included ? LESS_OR_EQUAL : LESS_THAN, q_max))
+          : seq_var.assign(UNIVERSE);
         break;
       case LESS_THAN:
-        seq_var.lower_set(UNBOUNDED);
         max_rhs
-          ? seq_var.upper_set(q_max, true)
-          : seq_var.upper_set(UNBOUNDED);
+          ? seq_var.build(i_constraint(LESS_THAN, q_max))
+          : seq_var.assign(UNIVERSE);
         break;
       case EQUAL:
-        max_rhs
-          ? seq_var.upper_set(q_max, !max_included)
-          : seq_var.upper_set(UNBOUNDED);
-          min_rhs
-            ? seq_var.lower_set(q_min, !min_included)
-            : seq_var.lower_set(UNBOUNDED);
+	{
+	  I_Constraint<mpq_class> l;
+	  I_Constraint<mpq_class> u;
+	  if (max_rhs)
+	    u.set(max_included ? LESS_OR_EQUAL : LESS_THAN, q_max);
+	  if (min_rhs)
+	    l.set(min_included ? GREATER_OR_EQUAL : GREATER_THAN, q_min);
+	  seq_var.build(l, u);
           break;
+	}
       case GREATER_OR_EQUAL:
-        seq_var.upper_set(UNBOUNDED);
         min_rhs
-          ? seq_var.lower_set(q_min, !min_included)
-          : seq_var.lower_set(UNBOUNDED);
+          ? seq_var.build(i_constraint(min_included ? GREATER_OR_EQUAL : GREATER_THAN, q_min))
+          : seq_var.assign(UNIVERSE);
         break;
       case GREATER_THAN:
-        seq_var.upper_set(UNBOUNDED);
         min_rhs
-          ? seq_var.lower_set(q_min, true)
-          : seq_var.lower_set(UNBOUNDED);
+          ? seq_var.build(i_constraint(GREATER_THAN, q_min))
+          : seq_var.assign(UNIVERSE);
         break;
       default:
         // The NOT_EQUAL case has been already dealt with.
@@ -67425,36 +72749,35 @@ Box<ITV>
       // The coefficient of the dimension in the lhs is -ve.
       switch (relsym) {
       case GREATER_OR_EQUAL:
-        seq_var.lower_set(UNBOUNDED);
         min_rhs
-          ? seq_var.upper_set(q_min, !min_included)
-          : seq_var.upper_set(UNBOUNDED);
+          ? seq_var.build(i_constraint(min_included ? LESS_OR_EQUAL : LESS_THAN, q_min))
+          : seq_var.assign(UNIVERSE);
         break;
       case GREATER_THAN:
-        seq_var.lower_set(UNBOUNDED);
         min_rhs
-          ? seq_var.upper_set(q_min, true)
-          : seq_var.upper_set(UNBOUNDED);
+          ? seq_var.build(i_constraint(LESS_THAN, q_min))
+	  : seq_var.assign(UNIVERSE);
         break;
       case EQUAL:
-        max_rhs
-          ? seq_var.lower_set(q_max, !max_included)
-          : seq_var.lower_set(UNBOUNDED);
-          min_rhs
-            ? seq_var.upper_set(q_min, !min_included)
-            : seq_var.upper_set(UNBOUNDED);
+	{
+	  I_Constraint<mpq_class> l;
+	  I_Constraint<mpq_class> u;
+	  if (max_rhs)
+	    l.set(max_included ? GREATER_OR_EQUAL : GREATER_THAN, q_max);
+	  if (min_rhs)
+	    u.set(min_included ? LESS_OR_EQUAL : LESS_THAN, q_min);
+	  seq_var.build(l, u);
           break;
+	}
       case LESS_OR_EQUAL:
-        seq_var.upper_set(UNBOUNDED);
         max_rhs
-          ? seq_var.lower_set(q_max, !max_included)
-          : seq_var.lower_set(UNBOUNDED);
+	  ? seq_var.build(i_constraint(max_included ? GREATER_OR_EQUAL : GREATER_THAN, q_max))
+          : seq_var.assign(UNIVERSE);
         break;
       case LESS_THAN:
-        seq_var.upper_set(UNBOUNDED);
         max_rhs
-          ? seq_var.lower_set(q_max, true)
-          : seq_var.lower_set(UNBOUNDED);
+          ? seq_var.build(i_constraint(GREATER_THAN, q_max))
+          : seq_var.assign(UNIVERSE);
         break;
       default:
         // The NOT_EQUAL case has been already dealt with.
@@ -67487,7 +72810,7 @@ Box<ITV>
       throw std::runtime_error("PPL internal error");
     }
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -67534,25 +72857,30 @@ Box<ITV>::generalized_affine_preimage(const Linear_Expression& lhs,
     }
   }
   generalized_affine_image(revised_lhs, relsym, revised_rhs);
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
-template <typename Iterator>
-void
-Box<ITV>::CC76_widening_assign(const Box& y, Iterator first, Iterator last) {
+template <typename T, typename Iterator>
+typename Enable_If<Is_Same<T, Box<ITV> >::value
+                   && Is_Same_Or_Derived<Interval_Base, ITV>::value,
+                   void>::type
+Box<ITV>::CC76_widening_assign(const T& y, Iterator first, Iterator last) {
   if (y.is_empty())
     return;
 
   for (dimension_type i = seq.size(); i-- > 0; )
     seq[i].CC76_widening_assign(y.seq[i], first, last);
 
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
-void
-Box<ITV>::CC76_widening_assign(const Box& y, unsigned* tp) {
+template <typename T>
+typename Enable_If<Is_Same<T, Box<ITV> >::value
+                   && Is_Same_Or_Derived<Interval_Base, ITV>::value,
+                   void>::type
+Box<ITV>::CC76_widening_assign(const T& y, unsigned* tp) {
   static typename ITV::boundary_type stop_points[] = {
     typename ITV::boundary_type(-2),
     typename ITV::boundary_type(-1),
@@ -67583,7 +72911,7 @@ Box<ITV>::get_limiting_box(const Constraint_System& cs,
                            Box& limiting_box) const {
   const dimension_type cs_space_dim = cs.space_dimension();
   // Private method: the caller has to ensure the following.
-  assert(cs_space_dim <= space_dimension());
+  PPL_ASSERT(cs_space_dim <= space_dimension());
 
   for (Constraint_System::const_iterator cs_i = cs.begin(),
          cs_end = cs.end(); cs_i != cs_end; ++cs_i) {
@@ -67634,7 +72962,7 @@ Box<ITV>::limited_CC76_extrapolation_assign(const Box& y,
     // We assume that `y' is contained in or equal to `*this'.
     const Box x_copy = *this;
     const Box y_copy = y;
-    assert(x_copy.contains(y_copy));
+    PPL_ASSERT(x_copy.contains(y_copy));
   }
 #endif
 
@@ -67657,8 +72985,11 @@ Box<ITV>::limited_CC76_extrapolation_assign(const Box& y,
 }
 
 template <typename ITV>
-void
-Box<ITV>::CC76_narrowing_assign(const Box& y) {
+template <typename T>
+typename Enable_If<Is_Same<T, Box<ITV> >::value
+                   && Is_Same_Or_Derived<Interval_Base, ITV>::value,
+                   void>::type
+Box<ITV>::CC76_narrowing_assign(const T& y) {
   const dimension_type space_dim = space_dimension();
 
   // Dimension-compatibility check.
@@ -67670,7 +73001,7 @@ Box<ITV>::CC76_narrowing_assign(const Box& y) {
     // We assume that `*this' is contained in or equal to `y'.
     const Box x_copy = *this;
     const Box y_copy = y;
-    assert(y_copy.contains(x_copy));
+    PPL_ASSERT(y_copy.contains(x_copy));
   }
 #endif
 
@@ -67691,16 +73022,16 @@ Box<ITV>::CC76_narrowing_assign(const Box& y) {
   for (dimension_type i = space_dim; i-- > 0; ) {
     ITV& x_i = seq[i];
     const ITV& y_i = y.seq[i];
-    if (!x_i.lower_is_unbounded()
-	&& !y_i.lower_is_unbounded()
+    if (!x_i.lower_is_boundary_infinity()
+	&& !y_i.lower_is_boundary_infinity()
 	&& x_i.lower() != y_i.lower())
       x_i.lower() = y_i.lower();
-    if (!x_i.upper_is_unbounded()
-	&& !y_i.upper_is_unbounded()
+    if (!x_i.upper_is_boundary_infinity()
+	&& !y_i.upper_is_boundary_infinity()
 	&& x_i.upper() != y_i.upper())
       x_i.upper() = y_i.upper();
   }
-  assert(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename ITV>
@@ -67881,7 +73212,7 @@ Box<ITV>::ascii_load(std::istream& s) {
   }
 
   // Check invariants.
-  assert(OK());
+  PPL_ASSERT(OK());
   return true;
 }
 
@@ -68058,11 +73389,11 @@ l_m_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
     const ITV& x_i = x.seq[i];
     const ITV& y_i = y.seq[i];
     // Dealing with the lower bounds.
-    if (x_i.lower_is_unbounded()) {
-      if (!y_i.lower_is_unbounded())
+    if (x_i.lower_is_boundary_infinity()) {
+      if (!y_i.lower_is_boundary_infinity())
 	goto pinf;
     }
-    else if (y_i.lower_is_unbounded())
+    else if (y_i.lower_is_boundary_infinity())
       goto pinf;
     else {
       const Temp* tmp1p;
@@ -68076,16 +73407,16 @@ l_m_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 	maybe_assign(tmp2p, tmp2, x_i.lower(), inverse(dir));
       }
       sub_assign_r(tmp1, *tmp1p, *tmp2p, dir);
-      assert(sgn(tmp1) >= 0);
+      PPL_ASSERT(sgn(tmp1) >= 0);
       Specialization::combine(tmp0, tmp1, dir);
     }
     // Dealing with the lower bounds.
-    if (x_i.upper_is_unbounded())
-      if (y_i.upper_is_unbounded())
+    if (x_i.upper_is_boundary_infinity())
+      if (y_i.upper_is_boundary_infinity())
 	continue;
       else
 	goto pinf;
-    else if (y_i.upper_is_unbounded())
+    else if (y_i.upper_is_boundary_infinity())
       goto pinf;
     else {
       const Temp* tmp1p;
@@ -68099,7 +73430,7 @@ l_m_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 	maybe_assign(tmp2p, tmp2, x_i.upper(), inverse(dir));
       }
       sub_assign_r(tmp1, *tmp1p, *tmp2p, dir);
-      assert(sgn(tmp1) >= 0);
+      PPL_ASSERT(sgn(tmp1) >= 0);
       Specialization::combine(tmp0, tmp1, dir);
     }
   }
@@ -68114,7 +73445,7 @@ l_m_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Box.defs.hh line 2058. */
+/* Automatically generated from PPL source file ../src/Box.defs.hh line 2219. */
 
 /* Automatically generated from PPL source file ../src/Rational_Box.hh line 28. */
 
@@ -68186,7 +73517,7 @@ max_space_dimension() {
 
 namespace Parma_Polyhedra_Library {
 
-template <typename PH>
+template <typename PSET>
 class Pointset_Powerset;
 
 } // namespace Parma_Polyhedra_Library
@@ -68317,6 +73648,113 @@ public:
 };
 
 /*! \brief
+  This class provides the reduction method for the Congruences_Product
+  domain.
+
+  \ingroup PPL_CXX_interface
+  The reduction classes are used to instantiate the Partially_Reduced_Product
+  domain.
+
+  This class uses the minimized congruences defining each of the components.
+  For each of the congruences, it checks if the other component
+  intersects none, one or more than one hyperplane defined by the congruence
+  and adds equalities or emptiness as appropriate; in more detail:
+  Letting the components be d1 and d2, then, for each congruence cg
+  representing d1:
+  - if more than one hyperplane defined by cg intersects
+    d2, then d1 and d2 are unchanged;
+  - if exactly one hyperplane intersects d2, then d1 and d2 are
+    refined with the corresponding equality ;
+  - otherwise, d1 and d2 are set to empty.
+  Unless d1 and d2 are already empty, the process is repeated where the
+  roles of d1 and d2 are reversed.
+  If d1 or d2 is empty, then the emptiness is propagated.
+
+*/
+template <typename D1, typename D2>
+class Parma_Polyhedra_Library::Congruences_Reduction {
+public:
+  //! Default constructor.
+  Congruences_Reduction();
+
+  /*! \brief
+    The congruences reduction operator for detect emptiness or any equalities
+    implied by each of the congruences defining one of the components
+    and the bounds of the other component. It is assumed that the
+    components are already constraints reduced.
+
+    The minimized congruence system defining the domain element \p d1
+    is used to check if \p d2 intersects none, one or more than one
+    of the hyperplanes defined by the congruences: if it intersects none,
+    then product is set empty; if it intersects one, then the equality
+    defining this hyperplane is added to both components; otherwise,
+    the product is unchanged.
+    In each case, the donor domain must provide a congruence system
+    in minimal form.
+
+    \param d1
+    A pointset domain element;
+
+    \param d2
+    A pointset domain element;
+  */
+  void product_reduce(D1& d1, D2& d2);
+
+  //! Destructor.
+  ~Congruences_Reduction();
+};
+
+/*! \brief
+  This class provides the reduction method for the Shape_Preserving_Product
+  domain.
+
+  \ingroup PPL_CXX_interface
+  The reduction classes are used to instantiate the Partially_Reduced_Product
+  domain.
+
+  This reduction method includes the congruences reduction.
+  This class uses the minimized constraints defining each of the components.
+  For each of the constraints, it checks the frequency and value for the same
+  linear expression in the other component. If the constraint does not satisfy
+  the implied congruence, the inhomogeneous term is adjusted so that it does.
+  Note that unless the congruences reduction adds equalitites
+  the shapes of the domains are unaltered.
+
+*/
+template <typename D1, typename D2>
+class Parma_Polyhedra_Library::Shape_Preserving_Reduction {
+public:
+  //! Default constructor.
+  Shape_Preserving_Reduction();
+
+  /*! \brief
+    The congruences reduction operator for detect emptiness or any equalities
+    implied by each of the congruences defining one of the components
+    and the bounds of the other component. It is assumed that the
+    components are already constraints reduced.
+
+    The minimized congruence system defining the domain element \p d1
+    is used to check if \p d2 intersects none, one or more than one
+    of the hyperplanes defined by the congruences: if it intersects none,
+    then product is set empty; if it intersects one, then the equality
+    defining this hyperplane is added to both components; otherwise,
+    the product is unchanged.
+    In each case, the donor domain must provide a congruence system
+    in minimal form.
+
+    \param d1
+    A pointset domain element;
+
+    \param d2
+    A pointset domain element;
+  */
+  void product_reduce(D1& d1, D2& d2);
+
+  //! Destructor.
+  ~Shape_Preserving_Reduction();
+};
+
+/*! \brief
   This class provides the reduction method for the Direct_Product domain.
 
   \ingroup PPL_CXX_interface
@@ -68483,13 +73921,9 @@ public:
     \param cgs
     The system of congruences to be approximated by the pair.
 
-    \exception std::invalid_argument
-    Thrown if the system of congruences is imcompatible with one of the
-    components.
-
     \exception std::length_error
-    Thrown if the space dimension of \p cgs exceeds the maximum allowed
-    space dimension.
+    Thrown if \p num_dimensions exceeds the maximum allowed space
+    dimension.
   */
   explicit Partially_Reduced_Product(const Congruence_System& cgs);
 
@@ -68501,13 +73935,9 @@ public:
     The system of congruences to be approximates by the pair.
     Its data-structures may be recycled to build the pair.
 
-    \exception std::invalid_argument
-    Thrown if the system of congruences is imcompatible with one of the
-    components.
-
     \exception std::length_error
-    Thrown if the space dimension of \p cgs exceeds the maximum allowed
-    space dimension.
+    Thrown if \p num_dimensions exceeds the maximum allowed space
+    dimension.
   */
   explicit Partially_Reduced_Product(Congruence_System& cgs);
 
@@ -68518,13 +73948,9 @@ public:
     \param cs
     The system of constraints to be approximated by the pair.
 
-    \exception std::invalid_argument
-    Thrown if the system of constraints is imcompatible with one of the
-    components.
-
     \exception std::length_error
-    Thrown if the space dimension of \p cs exceeds the maximum allowed
-    space dimension.
+    Thrown if \p num_dimensions exceeds the maximum allowed space
+    dimension.
   */
   explicit Partially_Reduced_Product(const Constraint_System& cs);
 
@@ -68535,10 +73961,6 @@ public:
     \param cs
     The system of constraints to be approximated by the pair.
 
-    \exception std::invalid_argument
-    Thrown if the system of constraints is imcompatible with one of the
-    components.
-
     \exception std::length_error
     Thrown if the space dimension of \p cs exceeds the maximum allowed
     space dimension.
@@ -68620,8 +74042,8 @@ public:
     The complexity is ignored.
 
     \exception std::length_error
-    Thrown if the space dimension of \p box exceeds the maximum allowed
-    space dimension.
+    Thrown if the space dimension of \p box exceeds the maximum
+    allowed space dimension.
   */
   template <typename Interval>
   Partially_Reduced_Product(const Box<Interval>& box,
@@ -68639,8 +74061,8 @@ public:
     The complexity is ignored.
 
     \exception std::length_error
-    Thrown if the space dimension of \p bd exceeds the maximum allowed
-    space dimension.
+    Thrown if the space dimension of \p bd exceeds the maximum
+    allowed space dimension.
   */
   template <typename U>
   Partially_Reduced_Product(const BD_Shape<U>& bd,
@@ -68658,36 +74080,20 @@ public:
     The complexity is ignored.
 
     \exception std::length_error
-    Thrown if the space dimension of \p os exceeds the maximum allowed
-    space dimension.
+    Thrown if the space dimension of \p os exceeds the maximum
+    allowed space dimension.
   */
   template <typename U>
   Partially_Reduced_Product(const Octagonal_Shape<U>& os,
                             Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Ordinary copy-constructor.
+  //! Ordinary copy constructor.
   Partially_Reduced_Product(const Partially_Reduced_Product& y,
                             Complexity_Class complexity = ANY_COMPLEXITY);
 
   //! Builds a conservative, upward approximation of \p y.
   /*!
-    Builds a product containing \p y using algorithms whose
-    complexity does not exceed the one specified by \p complexity.
-    If \p complexity is \p ANY_COMPLEXITY, then the built product is the
-    smallest one containing \p y.
-    The product inherits the space dimension of y.
-
-    \param y
-    The product to be approximated.
-
-    \param complexity
-    The complexity that will not be exceeded.
-
-    \exception std::length_error
-    Thrown if the space dimension of \p y exceeds the maximum allowed
-    space dimension.
-
-    The built product is independent of the order of the components of \p y.
+    The complexity argument is ignored.
   */
   template <typename E1, typename E2, typename S>
   explicit
@@ -69112,17 +74518,17 @@ public:
 
   /*! \brief
     Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to the set of space dimensions \p to_be_unconstrained,
+    respect to the set of space dimensions \p vars,
     assigning the result to \p *this.
 
-    \param to_be_unconstrained
+    \param vars
     The set of space dimension that will be unconstrained.
 
     \exception std::invalid_argument
     Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p to_be_removed.
+    Variable objects contained in \p vars.
   */
-  void unconstrain(const Variables_Set& to_be_unconstrained);
+  void unconstrain(const Variables_Set& vars);
 
   /*! \brief
     Assigns to \p *this the componentwise intersection of \p *this and \p y.
@@ -69409,8 +74815,8 @@ public:
 
   // TODO: Add a way to call other widenings.
 
-  // CHECKME: This is a real widening for all the existing reduction
-  // operations. When new reductions are added, this must be rechecked.
+  // CHECKME: This may not be a real widening; it depends on the reduction
+  //          class R and the widening used.
 
   /*! \brief
     Assigns to \p *this the result of computing the
@@ -69434,6 +74840,39 @@ public:
   void widening_assign(const Partially_Reduced_Product& y,
                        unsigned* tp = NULL);
 
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates.
+
+    \param complexity
+    The maximal complexity of any algorithms used.
+
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+  void drop_some_non_integer_points(Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
+
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates for the space dimensions corresponding to \p vars.
+
+    \param vars
+    Points with non-integer coordinates for these variables/space-dimensions
+    can be discarded.
+
+    \param complexity
+    The maximal complexity of any algorithms used.
+
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+  void drop_some_non_integer_points(const Variables_Set& vars,
+                                    Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
+
   //@} // Space Dimension Preserving Member Functions that May Modify [...]
 
   //! \name Member Functions that May Modify the Dimension of the Vector Space
@@ -69469,7 +74908,7 @@ public:
     Assigns to the first (resp., second) component of \p *this
     the "concatenation" of the first (resp., second) components
     of \p *this and \p y, taken in this order.
-    See also \ref Concatenating_Polyhedra and \ref Grid_Concatenate.
+    See also \ref Concatenating_Polyhedra.
 
     \exception std::length_error
     Thrown if the concatenation would cause the vector space
@@ -69479,15 +74918,15 @@ public:
 
   //! Removes all the specified dimensions from the vector space.
   /*!
-    \param to_be_removed
+    \param vars
     The set of Variable objects corresponding to the space dimensions
     to be removed.
 
     \exception std::invalid_argument
     Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p to_be_removed.
+    Variable objects contained in \p vars.
   */
-  void remove_space_dimensions(const Variables_Set& to_be_removed);
+  void remove_space_dimensions(const Variables_Set& vars);
 
   /*! \brief
     Removes the higher dimensions of the vector space so that the
@@ -69575,31 +75014,31 @@ public:
   */
   void expand_space_dimension(Variable var, dimension_type m);
 
-  //! Folds the space dimensions in \p to_be_folded into \p var.
+  //! Folds the space dimensions in \p vars into \p dest.
   /*!
-    \param to_be_folded
+    \param vars
     The set of Variable objects corresponding to the space dimensions
     to be folded;
 
-    \param var
+    \param dest
     The variable corresponding to the space dimension that is the
     destination of the folding operation.
 
     \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p var or with
-    one of the Variable objects contained in \p to_be_folded.  Also
-    thrown if \p var is contained in \p to_be_folded.
+    Thrown if \p *this is dimension-incompatible with \p dest or with
+    one of the Variable objects contained in \p vars.  Also
+    thrown if \p dest is contained in \p vars.
 
     If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    <CODE>var</CODE> has space dimension \f$k \leq n\f$,
-    \p to_be_folded is a set of variables whose maximum space dimension
-    is also less than or equal to \f$n\f$, and \p var is not a member
-    of \p to_be_folded, then the space dimensions corresponding to
-    variables in \p to_be_folded are
+    <CODE>dest</CODE> has space dimension \f$k \leq n\f$,
+    \p vars is a set of variables whose maximum space dimension
+    is also less than or equal to \f$n\f$, and \p dest is not a member
+    of \p vars, then the space dimensions corresponding to
+    variables in \p vars are
     \ref Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension
     "folded" into the \f$k\f$-th space dimension.
   */
-  void fold_space_dimensions(const Variables_Set& to_be_folded, Variable var);
+  void fold_space_dimensions(const Variables_Set& vars, Variable dest);
 
   //@} // Member Functions that May Modify the Dimension of the Vector Space
 
@@ -69683,25 +75122,6 @@ protected:
     to each other and the reduction class.
   */
   bool reduced;
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  //! \name Exception Throwers
-  //@{
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-protected:
-  void throw_runtime_error(const char* method) const;
-  void throw_invalid_argument(const char* method, const char* reason) const;
-
-
-  // Note: it has to be a static method, because it can be called inside
-  // constructors (before actually constructing the polyhedron object).
-  static void throw_space_dimension_overflow(const char* method,
-					     const char* reason);
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  //@} // Exception Throwers
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-
 };
 
 namespace Parma_Polyhedra_Library {
@@ -69725,6 +75145,12 @@ public:
 
   typedef Partially_Reduced_Product<D1, D2, Constraints_Reduction<D1, D2> >
   Constraints_Product;
+
+  typedef Partially_Reduced_Product<D1, D2, Congruences_Reduction<D1, D2> >
+  Congruences_Product;
+
+  typedef Partially_Reduced_Product<D1, D2, Shape_Preserving_Reduction<D1, D2> >
+  Shape_Preserving_Product;
 };
 
 } // namespace Parma_Polyhedra_Library
@@ -69751,7 +75177,9 @@ namespace Parma_Polyhedra_Library {
 template <typename D1, typename D2, typename R>
 inline dimension_type
 Partially_Reduced_Product<D1, D2, R>::max_space_dimension() {
-  return std::min(D1::max_space_dimension(), D2::max_space_dimension());
+  return (D1::max_space_dimension() < D2::max_space_dimension())
+    ? D1::max_space_dimension()
+    : D2::max_space_dimension();
 }
 
 template <typename D1, typename D2, typename R>
@@ -69759,13 +75187,7 @@ inline
 Partially_Reduced_Product<D1, D2, R>
 ::Partially_Reduced_Product(dimension_type num_dimensions,
 			    const Degenerate_Element kind)
-  : d1(num_dimensions <= max_space_dimension()
-       ?  num_dimensions
-       : (throw_space_dimension_overflow
-               ("Partially_Reduced_Product<D1, D2, R>(n, k)",
-                "n exceeds the maximum "
-                "allowed space dimension"),
-	       0), kind),
+  : d1(num_dimensions, kind),
     d2(num_dimensions, kind) {
   set_reduced_flag();
 }
@@ -69774,14 +75196,7 @@ template <typename D1, typename D2, typename R>
 inline
 Partially_Reduced_Product<D1, D2, R>
 ::Partially_Reduced_Product(const Congruence_System& ccgs)
-  : d1((ccgs.space_dimension() <= max_space_dimension())
-       ?  ccgs
-       : (throw_space_dimension_overflow
-          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
-           "the space dimension of ccgs "
-           "exceeds the maximum allowed "
-           "space dimension"), ccgs)),
-    d2(ccgs) {
+  : d1(ccgs), d2(ccgs) {
   clear_reduced_flag();
 }
 
@@ -69789,14 +75204,7 @@ template <typename D1, typename D2, typename R>
 inline
 Partially_Reduced_Product<D1, D2, R>
 ::Partially_Reduced_Product(Congruence_System& cgs)
-  : d1((cgs.space_dimension() <= max_space_dimension())
-       ? const_cast<const Congruence_System&>(cgs)
-       : (throw_space_dimension_overflow
-          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
-           "the space dimension of cgs "
-           "exceeds the maximum allowed "
-           "space dimension"), cgs)),
-    d2(cgs) {
+  : d1(const_cast<const Congruence_System&>(cgs)), d2(cgs) {
   clear_reduced_flag();
 }
 
@@ -69804,14 +75212,7 @@ template <typename D1, typename D2, typename R>
 inline
 Partially_Reduced_Product<D1, D2, R>
 ::Partially_Reduced_Product(const Constraint_System& ccs)
-  : d1((ccs.space_dimension() <= max_space_dimension())
-       ?  ccs
-       : (throw_space_dimension_overflow
-          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
-           "the space dimension of ccs "
-           "exceeds the maximum allowed "
-           "space dimension"), ccs)),
-    d2(ccs) {
+  : d1(ccs), d2(ccs) {
   clear_reduced_flag();
 }
 
@@ -69819,14 +75220,7 @@ template <typename D1, typename D2, typename R>
 inline
 Partially_Reduced_Product<D1, D2, R>
 ::Partially_Reduced_Product(Constraint_System& cs)
-  : d1((cs.space_dimension() <= max_space_dimension())
-       ? const_cast<const Constraint_System&>(cs)
-       : (throw_space_dimension_overflow
-          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
-           "the space dimension of cs "
-           "exceeds the maximum allowed "
-           "space dimension"), cs)),
-    d2(cs) {
+  : d1(const_cast<const Constraint_System&>(cs)), d2(cs) {
   clear_reduced_flag();
 }
 
@@ -69835,14 +75229,7 @@ inline
 Partially_Reduced_Product<D1, D2, R>
 ::Partially_Reduced_Product(const C_Polyhedron& ph,
                             Complexity_Class complexity)
-  : d1((ph.space_dimension() <= max_space_dimension())
-       ? ph
-       : (throw_space_dimension_overflow
-          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
-           "the space dimension of ph "
-           "exceeds the maximum allowed "
-           "space dimension"), ph), complexity),
-   d2(ph, complexity) {
+  : d1(ph, complexity), d2(ph, complexity) {
   set_reduced_flag();
 }
 
@@ -69851,14 +75238,7 @@ inline
 Partially_Reduced_Product<D1, D2, R>
 ::Partially_Reduced_Product(const NNC_Polyhedron& ph,
                             Complexity_Class complexity)
- : d1((ph.space_dimension() <= max_space_dimension())
-       ? ph
-       : (throw_space_dimension_overflow
-          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
-           "the space dimension of ph "
-           "exceeds the maximum allowed "
-           "space dimension"), ph), complexity),
-   d2(ph, complexity) {
+  : d1(ph, complexity), d2(ph, complexity) {
   set_reduced_flag();
 }
 
@@ -69866,14 +75246,7 @@ template <typename D1, typename D2, typename R>
 inline
 Partially_Reduced_Product<D1, D2, R>
 ::Partially_Reduced_Product(const Grid& gr, Complexity_Class)
- : d1((gr.space_dimension() <= max_space_dimension())
-       ? gr
-       : (throw_space_dimension_overflow
-          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
-           "the space dimension of gr "
-           "exceeds the maximum allowed "
-           "space dimension"), gr)),
-   d2(gr) {
+  : d1(gr), d2(gr) {
   set_reduced_flag();
 }
 
@@ -69882,14 +75255,7 @@ template <typename Interval>
 inline
 Partially_Reduced_Product<D1, D2, R>
 ::Partially_Reduced_Product(const Box<Interval>& box, Complexity_Class)
- : d1((box.space_dimension() <= max_space_dimension())
-       ? box
-       : (throw_space_dimension_overflow
-          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
-           "the space dimension of box "
-           "exceeds the maximum allowed "
-           "space dimension"), box)),
-   d2(box) {
+  : d1(box), d2(box) {
   set_reduced_flag();
 }
 
@@ -69898,14 +75264,7 @@ template <typename U>
 inline
 Partially_Reduced_Product<D1, D2, R>
 ::Partially_Reduced_Product(const BD_Shape<U>& bd, Complexity_Class)
- : d1((bd.space_dimension() <= max_space_dimension())
-       ? bd
-       : (throw_space_dimension_overflow
-          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
-           "the space dimension of bd "
-           "exceeds the maximum allowed "
-           "space dimension"), bd)),
-   d2(bd) {
+  : d1(bd), d2(bd) {
   set_reduced_flag();
 }
 
@@ -69914,14 +75273,7 @@ template <typename U>
 inline
 Partially_Reduced_Product<D1, D2, R>
 ::Partially_Reduced_Product(const Octagonal_Shape<U>& os, Complexity_Class)
- : d1((os.space_dimension() <= max_space_dimension())
-       ? os
-       : (throw_space_dimension_overflow
-          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
-           "the space dimension of os "
-           "exceeds the maximum allowed "
-           "space dimension"), os)),
-   d2(os) {
+  : d1(os), d2(os) {
   set_reduced_flag();
 }
 
@@ -69935,6 +75287,22 @@ Partially_Reduced_Product<D1, D2, R>
 }
 
 template <typename D1, typename D2, typename R>
+template <typename E1, typename E2, typename S>
+inline
+Partially_Reduced_Product<D1, D2, R>
+::Partially_Reduced_Product(const Partially_Reduced_Product<E1, E2, S>& y,
+                            Complexity_Class complexity)
+  : d1(y.space_dimension()), d2(y.space_dimension()) {
+  Partially_Reduced_Product<D1, D2, R> pg1(y.domain1(), complexity);
+  Partially_Reduced_Product<D1, D2, R> pg2(y.domain2(), complexity);
+  pg1.intersection_assign(pg2);
+  swap(pg1);
+  /* Even if y is reduced, the built product may not be reduced as
+     the reduction method may have changed (i.e., S != R). */
+  clear_reduced_flag();
+}
+
+template <typename D1, typename D2, typename R>
 inline
 Partially_Reduced_Product<D1, D2, R>::~Partially_Reduced_Product() {
 }
@@ -69954,7 +75322,7 @@ Partially_Reduced_Product<D1, D2, R>::total_memory_in_bytes() const {
 template <typename D1, typename D2, typename R>
 inline dimension_type
 Partially_Reduced_Product<D1, D2, R>::space_dimension() const {
-  assert(d1.space_dimension() == d2.space_dimension());
+  PPL_ASSERT(d1.space_dimension() == d2.space_dimension());
   return d1.space_dimension();
 }
 
@@ -69978,11 +75346,10 @@ Partially_Reduced_Product<D1, D2, R>
 
 template <typename D1, typename D2, typename R>
 inline void
-Partially_Reduced_Product<D1, D2, R>
-::unconstrain(const Variables_Set& to_be_unconstrained) {
+Partially_Reduced_Product<D1, D2, R>::unconstrain(const Variables_Set& vars) {
   reduce();
-  d1.unconstrain(to_be_unconstrained);
-  d2.unconstrain(to_be_unconstrained);
+  d1.unconstrain(vars);
+  d2.unconstrain(vars);
 }
 
 template <typename D1, typename D2, typename R>
@@ -70013,9 +75380,6 @@ Partially_Reduced_Product<D1, D2, R>
   y.reduce();
   d1.upper_bound_assign(y.d1);
   d2.upper_bound_assign(y.d2);
-  // CHECKME: if upper_bound_assign is not a least_upper_bound
-  //          it may not be reduced.
-  // clear_reduced_flag();
 }
 
 template <typename D1, typename D2, typename R>
@@ -70043,6 +75407,7 @@ Partially_Reduced_Product<D1, D2, R>
 	       Coefficient_traits::const_reference denominator) {
   d1.affine_image(var, expr, denominator);
   d2.affine_image(var, expr, denominator);
+  clear_reduced_flag();
 }
 
 template <typename D1, typename D2, typename R>
@@ -70053,6 +75418,7 @@ Partially_Reduced_Product<D1, D2, R>
 		  Coefficient_traits::const_reference denominator) {
   d1.affine_preimage(var, expr, denominator);
   d2.affine_preimage(var, expr, denominator);
+  clear_reduced_flag();
 }
 
 template <typename D1, typename D2, typename R>
@@ -70064,6 +75430,7 @@ Partially_Reduced_Product<D1, D2, R>
 			   Coefficient_traits::const_reference denominator) {
   d1.generalized_affine_image(var, relsym, expr, denominator);
   d2.generalized_affine_image(var, relsym, expr, denominator);
+  clear_reduced_flag();
 }
 
 template <typename D1, typename D2, typename R>
@@ -70075,6 +75442,7 @@ Partially_Reduced_Product<D1, D2, R>
 			      Coefficient_traits::const_reference denominator) {
   d1.generalized_affine_preimage(var, relsym, expr, denominator);
   d2.generalized_affine_preimage(var, relsym, expr, denominator);
+  clear_reduced_flag();
 }
 
 template <typename D1, typename D2, typename R>
@@ -70085,6 +75453,7 @@ Partially_Reduced_Product<D1, D2, R>
 			   const Linear_Expression& rhs) {
   d1.generalized_affine_image(lhs, relsym, rhs);
   d2.generalized_affine_image(lhs, relsym, rhs);
+  clear_reduced_flag();
 }
 
 template <typename D1, typename D2, typename R>
@@ -70095,6 +75464,7 @@ Partially_Reduced_Product<D1, D2, R>
                               const Linear_Expression& rhs) {
   d1.generalized_affine_preimage(lhs, relsym, rhs);
   d2.generalized_affine_preimage(lhs, relsym, rhs);
+  clear_reduced_flag();
 }
 
 
@@ -70130,6 +75500,7 @@ Partially_Reduced_Product<D1, D2, R>
   y.reduce();
   d1.time_elapse_assign(y.d1);
   d2.time_elapse_assign(y.d2);
+  assert(OK());
 }
 
 template <typename D1, typename D2, typename R>
@@ -70216,6 +75587,27 @@ Partially_Reduced_Product<D1, D2, R>
 }
 
 template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::drop_some_non_integer_points(Complexity_Class complexity) {
+  reduce();
+  d1.drop_some_non_integer_points(complexity);
+  d2.drop_some_non_integer_points(complexity);
+  clear_reduced_flag();
+}
+
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::drop_some_non_integer_points(const Variables_Set& vars,
+                                    Complexity_Class complexity) {
+  reduce();
+  d1.drop_some_non_integer_points(vars, complexity);
+  d2.drop_some_non_integer_points(vars, complexity);
+  clear_reduced_flag();
+}
+
+template <typename D1, typename D2, typename R>
 inline Partially_Reduced_Product<D1, D2, R>&
 Partially_Reduced_Product<D1, D2, R>
 ::operator=(const Partially_Reduced_Product& y) {
@@ -70310,6 +75702,11 @@ inline void
 Partially_Reduced_Product<D1, D2, R>
 ::widening_assign(const Partially_Reduced_Product& y,
                   unsigned* tp) {
+  // FIXME(0.10.1): In general this is _NOT_ a widening since the reduction
+  //        may mean that the sequence does not satisfy the ascending
+  //        chain condition.
+  //        However, for the direct, smash and constraints product
+  //        it may be ok - but this still needs checking.
   reduce();
   y.reduce();
   d1.widening_assign(y.d1, tp);
@@ -70345,9 +75742,9 @@ Partially_Reduced_Product<D1, D2, R>
 template <typename D1, typename D2, typename R>
 inline void
 Partially_Reduced_Product<D1, D2, R>
-::remove_space_dimensions(const Variables_Set& to_be_removed) {
-  d1.remove_space_dimensions(to_be_removed);
-  d2.remove_space_dimensions(to_be_removed);
+::remove_space_dimensions(const Variables_Set& vars) {
+  d1.remove_space_dimensions(vars);
+  d2.remove_space_dimensions(vars);
 }
 
 template <typename D1, typename D2, typename R>
@@ -70378,10 +75775,10 @@ Partially_Reduced_Product<D1, D2, R>
 template <typename D1, typename D2, typename R>
 inline void
 Partially_Reduced_Product<D1, D2, R>
-::fold_space_dimensions(const Variables_Set& to_be_folded,
-			Variable var) {
-  d1.fold_space_dimensions(to_be_folded, var);
-  d2.fold_space_dimensions(to_be_folded, var);
+::fold_space_dimensions(const Variables_Set& vars,
+			Variable dest) {
+  d1.fold_space_dimensions(vars, dest);
+  d2.fold_space_dimensions(vars, dest);
 }
 
 template <typename D1, typename D2, typename R>
@@ -70483,16 +75880,6 @@ IO_Operators::operator<<(std::ostream& s, const Partially_Reduced_Product<D1, D2
 	   << pd.d2;
 }
 
-template <typename D1, typename D2, typename R>
-void
-Partially_Reduced_Product<D1, D2, R>::throw_space_dimension_overflow(const char* method,
-                                                                     const char* reason) {
-  std::ostringstream s;
-  s << "Partially_Reduced_Product<D1, D2, R>::" << method << ":" << std::endl
-    << reason << ".";
-  throw std::length_error(s.str());
-}
-
 } // namespace Parma_Polyhedra_Library
 
 namespace Parma_Polyhedra_Library {
@@ -70531,6 +75918,26 @@ inline
 Constraints_Reduction<D1, D2>::~Constraints_Reduction() {
 }
 
+template <typename D1, typename D2>
+inline
+Congruences_Reduction<D1, D2>::Congruences_Reduction() {
+}
+
+template <typename D1, typename D2>
+inline
+Congruences_Reduction<D1, D2>::~Congruences_Reduction() {
+}
+
+template <typename D1, typename D2>
+inline
+Shape_Preserving_Reduction<D1, D2>::Shape_Preserving_Reduction() {
+}
+
+template <typename D1, typename D2>
+inline
+Shape_Preserving_Reduction<D1, D2>::~Shape_Preserving_Reduction() {
+}
+
 } // namespace Parma_Polyhedra_Library
 
 /*! \relates Parma_Polyhedra_Library::Partially_Reduced_Product */
@@ -70554,30 +75961,6 @@ std::swap(Parma_Polyhedra_Library::Partially_Reduced_Product<D1, D2, R>& x,
 namespace Parma_Polyhedra_Library {
 
 template <typename D1, typename D2, typename R>
-template <typename E1, typename E2, typename S>
-inline
-Partially_Reduced_Product<D1, D2, R>
-::Partially_Reduced_Product(const Partially_Reduced_Product<E1, E2, S>& y,
-                            Complexity_Class complexity)
-  : d1((y.space_dimension() > max_space_dimension())
-       ? (throw_space_dimension_overflow
-       ("Partially_Reduced_Product<D1, D2, R>(y)",
-        "the space dimension of y "
-        "exceeds the maximum allowed "
-        "space dimension"), 0)
-       : y.space_dimension()),
-    d2(y.space_dimension()) {
-  Partially_Reduced_Product<D1, D2, R> x1(y.domain1(), complexity);
-  const Partially_Reduced_Product<D1, D2, R> x2(y.domain2(), complexity);
-  x1.intersection_assign(x2);
-  d1.swap(x1.d1);
-  d2.swap(x1.d2);
-  /* Even if y is reduced, the built product may not be reduced as
-     the reduction method may have changed (i.e., S != R). */
-  reduced = false;
-}
-
-template <typename D1, typename D2, typename R>
 Constraint_System
 Partially_Reduced_Product<D1, D2, R>::constraints() const {
   reduce();
@@ -70744,14 +76127,10 @@ Partially_Reduced_Product<D1, D2, R>
 	   Coefficient& sup_n,
 	   Coefficient& sup_d,
 	   bool& maximum) const {
-  // If one component is already empty, then there is no need to reduce.
-  if (d1.is_empty() || d2.is_empty())
-    return false;
+  reduce();
 
-  // The product is_empty() test also reduces the product.
   if (is_empty())
     return false;
-  assert(reduced);
 
   PPL_DIRTY_TEMP_COEFFICIENT(sup1_n);
   PPL_DIRTY_TEMP_COEFFICIENT(sup1_d);
@@ -70799,14 +76178,11 @@ Partially_Reduced_Product<D1, D2, R>
 	   Coefficient& inf_n,
 	   Coefficient& inf_d,
 	   bool& minimum) const {
-  // If one component is already empty, then there is no need to reduce.
-  if (d1.is_empty() || d2.is_empty())
-    return false;
+  reduce();
 
-  // The product is_empty() test also reduces the product.
   if (is_empty())
     return false;
-  assert(reduced);
+  PPL_ASSERT(reduced);
 
   PPL_DIRTY_TEMP_COEFFICIENT(inf1_n);
   PPL_DIRTY_TEMP_COEFFICIENT(inf1_d);
@@ -70855,14 +76231,11 @@ Partially_Reduced_Product<D1, D2, R>
 	   Coefficient& sup_d,
 	   bool& maximum,
 	   Generator& pnt) const {
-  // If one component is already empty, then there is no need to reduce.
-  if (d1.is_empty() || d2.is_empty())
-    return false;
+  reduce();
 
-  // The product is_empty() test also reduces the product.
   if (is_empty())
     return false;
-  assert(reduced);
+  PPL_ASSERT(reduced);
 
   PPL_DIRTY_TEMP_COEFFICIENT(sup1_n);
   PPL_DIRTY_TEMP_COEFFICIENT(sup1_d);
@@ -70917,14 +76290,11 @@ Partially_Reduced_Product<D1, D2, R>
 	   Coefficient& inf_d,
 	   bool& minimum,
 	   Generator& pnt) const {
-  // If one component is already empty, then there is no need to reduce.
-  if (d1.is_empty() || d2.is_empty())
-    return false;
+  reduce();
 
-  // The product is_empty() test also reduces the product.
   if (is_empty())
     return false;
-  assert(reduced);
+  PPL_ASSERT(reduced);
 
   PPL_DIRTY_TEMP_COEFFICIENT(inf1_n);
   PPL_DIRTY_TEMP_COEFFICIENT(inf1_d);
@@ -71030,14 +76400,226 @@ void Constraints_Reduction<D1, D2>::product_reduce(D1& d1, D2& d2) {
     return;
   }
   else {
+    dimension_type space_dim = d1.space_dimension();
     d1.refine_with_constraints(d2.minimized_constraints());
+    if (d1.is_empty()) {
+      D2 new_d2(space_dim, EMPTY);
+      std::swap(d2, new_d2);
+      return;
+    }
     d2.refine_with_constraints(d1.minimized_constraints());
+    if (d2.is_empty()) {
+      D1 new_d1(space_dim, EMPTY);
+      std::swap(d1, new_d1);
+    }
+  }
+}
+
+/* Auxiliary procedure for the Congruences_Reduction() method.
+   If more than one hyperplane defined by congruence cg intersect
+   d2, then d1 and d2 are unchanged; if exactly one intersects d2, then
+   the corresponding equality is added to d1 and d2;
+   otherwise d1 and d2 are set empty. */
+template <typename D1, typename D2>
+bool shrink_to_congruence_no_check(D1& d1, D2& d2, const Congruence& cg) {
+  // It is assumed that cg is a proper congruence.
+  assert(cg.modulus() != 0);
+  // It is assumed that cg is satisfied by all points in d1.
+  assert(d1.relation_with(cg) == Poly_Con_Relation::is_included());
+
+  // Build the linear expression for the congruence cg.
+  Linear_Expression e;
+  for (dimension_type i = cg.space_dimension(); i-- > 0; )
+    e += cg.coefficient(Variable(i)) * Variable(i);
+  e += cg.inhomogeneous_term();
+
+  // Find the maximum and minimum bounds for the domain element d with the
+  // linear expression e.
+  PPL_DIRTY_TEMP_COEFFICIENT(max_num);
+  PPL_DIRTY_TEMP_COEFFICIENT(max_den);
+  bool max_included;
+  PPL_DIRTY_TEMP_COEFFICIENT(min_num);
+  PPL_DIRTY_TEMP_COEFFICIENT(min_den);
+  bool min_included;
+  if (d2.maximize(e, max_num, max_den, max_included)) {
+    if (d2.minimize(e, min_num, min_den, min_included)) {
+      // Adjust values to allow for the denominators max_den and min_den.
+      max_num *= min_den;
+      min_num *= max_den;
+      PPL_DIRTY_TEMP_COEFFICIENT(den);
+      PPL_DIRTY_TEMP_COEFFICIENT(mod);
+      den = max_den * min_den;
+      mod = cg.modulus() * den;
+      // If the difference between the maximum and minimum bounds is more than
+      // twice the modulus, then there will be two neighboring hyperplanes
+      // defined by cg that are intersected by the domain element d;
+      // there is no possible reduction in this case.
+      PPL_DIRTY_TEMP_COEFFICIENT(mod2);
+      mod2 = 2 * mod;
+      if (max_num - min_num < mod2
+          || (max_num - min_num == mod2 && (!max_included || !min_included)))
+        {
+          PPL_DIRTY_TEMP_COEFFICIENT(shrink_amount);
+          PPL_DIRTY_TEMP_COEFFICIENT(max_decreased);
+          PPL_DIRTY_TEMP_COEFFICIENT(min_increased);
+          // Find the amount by which the maximum value may be decreased.
+          shrink_amount = max_num % mod;
+          if (!max_included && shrink_amount == 0)
+            shrink_amount = mod;
+          if (shrink_amount < 0)
+            shrink_amount += mod;
+          max_decreased = max_num - shrink_amount;
+          // Find the amount by which the minimum value may be increased.
+          shrink_amount = min_num % mod;
+          if (!min_included && shrink_amount == 0)
+            shrink_amount = - mod;
+          if (shrink_amount > 0)
+            shrink_amount -= mod;
+          min_increased = min_num - shrink_amount;
+          if (max_decreased == min_increased) {
+            // The domain element d2 intersects exactly one hyperplane
+            // defined by cg, so add the equality to d1 and d2.
+            Constraint new_c(den * e == min_increased);
+            d1.refine_with_constraint(new_c);
+            d2.refine_with_constraint(new_c);
+            return true;
+          }
+          else {
+            if (max_decreased < min_increased) {
+              // In this case, d intersects no hyperplanes defined by cg,
+              // so set d to empty and return false.
+              D1 new_d1(d1.space_dimension(), EMPTY);
+              std::swap(d1, new_d1);
+              D2 new_d2(d2.space_dimension(), EMPTY);
+              std::swap(d2, new_d2);
+              return false;
+            }
+          }
+        }
+    }
+  }
+  return true;
+}
+
+template <typename D1, typename D2>
+void
+  Congruences_Reduction<D1, D2>::product_reduce(D1& d1, D2& d2) {
+  if (d1.is_empty() || d2.is_empty()) {
+    // If one of the components is empty, do the smash reduction and return.
+    Parma_Polyhedra_Library::Smash_Reduction<D1, D2> sr;
+    sr.product_reduce(d1, d2);
+    return;
+  }
+  // Use the congruences representing d1 to shrink both components.
+  const Congruence_System cgs1 = d1.minimized_congruences();
+  for (Congruence_System::const_iterator i = cgs1.begin(),
+         cgs_end = cgs1.end(); i != cgs_end; ++i) {
+    const Congruence& cg1 = *i;
+    if (cg1.is_equality())
+      d2.refine_with_congruence(cg1);
+    else
+      if (!Parma_Polyhedra_Library::
+          shrink_to_congruence_no_check(d1, d2, cg1))
+        // The product is empty.
+        return;
+  }
+  // Use the congruences representing d2 to shrink both components.
+  const Congruence_System cgs2 = d2.minimized_congruences();
+  for (Congruence_System::const_iterator i = cgs2.begin(),
+         cgs_end = cgs2.end(); i != cgs_end; ++i) {
+    const Congruence& cg2 = *i;
+    if (cg2.is_equality())
+      d1.refine_with_congruence(cg2);
+    else
+      if (!Parma_Polyhedra_Library::
+          shrink_to_congruence_no_check(d2, d1, cg2))
+        // The product is empty.
+        return;
+  }
+}
+
+template <typename D1, typename D2>
+void
+  Shape_Preserving_Reduction<D1, D2>::product_reduce(D1& d1, D2& d2) {
+    // First do the congruences reduction.
+    Parma_Polyhedra_Library::Congruences_Reduction<D1, D2> cgr;
+    cgr.product_reduce(d1, d2);
+    if (d1.is_empty())
+      return;
+
+  PPL_DIRTY_TEMP_COEFFICIENT(freq_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(freq_d);
+  PPL_DIRTY_TEMP_COEFFICIENT(val_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(val_d);
+
+  // Use the constraints representing d2.
+  Constraint_System cs = d2.minimized_constraints();
+  Constraint_System refining_cs;
+  for (Constraint_System::const_iterator i = cs.begin(),
+         cs_end = cs.end(); i != cs_end; ++i) {
+    const Constraint& c = *i;
+    if (c.is_equality())
+      continue;
+    // Check the frequency and value of the linear expression for
+    // the constraint `c'.
+    Linear_Expression le(c);
+    if (!d1.frequency(le, freq_n, freq_d, val_n, val_d))
+      // Nothing to do.
+      continue;
+    if (val_n == 0)
+      // Nothing to do.
+      continue;
+    // Adjust the value of the inhomogeneous term to satisfy
+    // the implied congruence.
+    if (val_n < 0) {
+      val_n = val_n*freq_d + val_d*freq_n;
+      val_d *= freq_d;
+    }
+    le *= val_d;
+    le -= val_n;
+    refining_cs.insert(le >= 0);
+  }
+  d2.refine_with_constraints(refining_cs);
+
+  // Use the constraints representing d1.
+  cs = d1.minimized_constraints();
+  refining_cs.clear();
+  for (Constraint_System::const_iterator i = cs.begin(),
+         cs_end = cs.end(); i != cs_end; ++i) {
+    const Constraint& c = *i;
+    if (c.is_equality())
+      // Equalities aleady shared.
+      continue;
+    // Check the frequency and value of the linear expression for
+    // the constraint `c'.
+    Linear_Expression le(c);
+    if (!d2.frequency(le, freq_n, freq_d, val_n, val_d))
+      // Nothing to do.
+      continue;
+    if (val_n == 0)
+      // Nothing to do.
+      continue;
+    // Adjust the value of the inhomogeneous term to satisfy
+    // the implied congruence.
+    if (val_n < 0) {
+      val_n = val_n*freq_d + val_d*freq_n;
+      val_d *= freq_d;
+    }
+    le *= val_d;
+    le -= val_n;
+    refining_cs.insert(le >= 0);
   }
+  d1.refine_with_constraints(refining_cs);
+
+  // The reduction may have introduced additional equalities
+  // so these must be shared with the other component.
+  Parma_Polyhedra_Library::Constraints_Reduction<D1, D2> cr;
+  cr.product_reduce(d1, d2);
 }
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Partially_Reduced_Product.defs.hh line 1592. */
+/* Automatically generated from PPL source file ../src/Partially_Reduced_Product.defs.hh line 1687. */
 
 /* Automatically generated from PPL source file ../src/Determinate.defs.hh line 1. */
 /* Determinate class declaration.
@@ -71049,70 +76631,80 @@ void Constraints_Reduction<D1, D2>::product_reduce(D1& d1, D2& d2) {
 
 namespace Parma_Polyhedra_Library {
 
-template <typename PS>
+template <typename PSET>
 class Determinate;
 
 } // namespace Parma_Polyhedra_Library
 
 /* Automatically generated from PPL source file ../src/Determinate.defs.hh line 31. */
 #include <iosfwd>
-#include <cassert>
+/* Automatically generated from PPL source file ../src/Determinate.defs.hh line 33. */
 
 namespace Parma_Polyhedra_Library {
 
 /*! \brief
-  Returns <CODE>true</CODE> if and only if
-  \p x and \p y are the same domain element.
+  Returns <CODE>true</CODE> if and only if \p x and \p y are the same
+  COW-wrapped pointset.
 
   \relates Determinate
 */
-template <typename PS>
-bool operator==(const Determinate<PS>& x, const Determinate<PS>& y);
+template <typename PSET>
+bool operator==(const Determinate<PSET>& x, const Determinate<PSET>& y);
 
 /*! \brief
-  Returns <CODE>true</CODE> if and only if
-  \p x and \p y are different domain elements.
+  Returns <CODE>true</CODE> if and only if \p x and \p y are different
+  COW-wrapped pointsets.
 
   \relates Determinate
 */
-template <typename PS>
-bool operator!=(const Determinate<PS>& x, const Determinate<PS>& y);
+template <typename PSET>
+bool operator!=(const Determinate<PSET>& x, const Determinate<PSET>& y);
 
 namespace IO_Operators {
 
 //! Output operator.
 /*! \relates Parma_Polyhedra_Library::Determinate */
-template <typename PS>
+template <typename PSET>
 std::ostream&
-operator<<(std::ostream&, const Determinate<PS>&);
+operator<<(std::ostream&, const Determinate<PSET>&);
 
 } // namespace IO_Operators
 
 } // namespace Parma_Polyhedra_Library
 
-//! Wraps a PPL class into a determinate constraint system interface.
-/*! \ingroup PPL_CXX_interface */
-template <typename PS>
+/*! \brief
+  A wrapper for PPL pointsets, providing them with a
+  <EM>determinate constraint system</EM> interface, as defined
+  in \ref Bag98 "[Bag98]".
+
+  The implementation uses a copy-on-write optimization, making the
+  class suitable for constructions, like the <EM>finite powerset</EM></A>
+  and <EM>ask-and-tell</EM> of \ref Bag98 "[Bag98]", that are likely
+  to perform many copies.
+
+  \ingroup PPL_CXX_interface
+*/
+template <typename PSET>
 class Parma_Polyhedra_Library::Determinate {
 public:
   //! \name Constructors and Destructor
   //@{
 
   /*! \brief
-    Injection operator: builds the determinate constraint system element
-    corresponding to the base-level element \p p.
+    Constructs a COW-wrapped object corresponding to the pointset \p p.
   */
-  Determinate(const PS& p);
+  Determinate(const PSET& p);
 
   /*! \brief
-    Injection operator: builds the determinate constraint system element
-    corresponding to the base-level element represented by \p cs.
+    Constructs a COW-wrapped object corresponding to the pointset
+    defined by \p cs.
   */
   Determinate(const Constraint_System& cs);
 
-  //! \brief
-  //! Injection operator: builds the determinate constraint system element
-  //! corresponding to the base-level element represented by \p cgs.
+  /*! \brief
+    Constructs a COW-wrapped object corresponding to the pointset
+    defined by \p cgs.
+  */
   Determinate(const Congruence_System& cgs);
 
   //! Copy constructor.
@@ -71126,18 +76718,18 @@ public:
   //! \name Member Functions that Do Not Modify the Domain Element
   //@{
 
-  //! Returns a const reference to the embedded element.
-  const PS& element() const;
+  //! Returns a const reference to the embedded pointset.
+  const PSET& pointset() const;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is the top of the
-    determinate constraint system (i.e., the whole vector space).
+    Returns <CODE>true</CODE> if and only if \p *this embeds the universe
+    element \p PSET.
   */
   bool is_top() const;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is the bottom
-    of the determinate constraint system.
+    Returns <CODE>true</CODE> if and only if \p *this embeds the empty
+    element of \p PSET.
   */
   bool is_bottom() const;
 
@@ -71146,7 +76738,7 @@ public:
 
   /*! \brief
     Returns <CODE>true</CODE> if and only if \p *this and \p y
-    are equivalent.
+    are definitely equivalent.
   */
   bool is_definitely_equivalent_to(const Determinate& y) const;
 
@@ -71193,7 +76785,7 @@ public:
   void concatenate_assign(const Determinate& y);
 
   //! Returns a reference to the embedded element.
-  PS& element();
+  PSET& pointset();
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
   /*! \brief
@@ -71215,12 +76807,12 @@ public:
   //! A function adapter for the Determinate class.
   /*! \ingroup PPL_CXX_interface
     It lifts a Binary_Operator_Assign function object, taking arguments
-    of type PS, producing the corresponding function object taking
-    arguments of type Determinate<PS>.
+    of type PSET, producing the corresponding function object taking
+    arguments of type Determinate<PSET>.
 
     The template parameter Binary_Operator_Assign is supposed to
     implement an <EM>apply and assign</EM> function, i.e., a function
-    having signature <CODE>void foo(PS& x, const PS& y)</CODE> that
+    having signature <CODE>void foo(PSET& x, const PSET& y)</CODE> that
     applies an operator to \c x and \c y and assigns the result to \c x.
     For instance, such a function object is obtained by
     <CODE>std::mem_fun_ref(&C_Polyhedron::intersection_assign)</CODE>.
@@ -71262,9 +76854,9 @@ private:
   private:
     /*! \brief
       Count the number of references:
-      -   0: leaked, \p ph is non-const;
-      -   1: one reference, \p ph is non-const;
-      - > 1: more than one reference, \p ph is const.
+      -   0: leaked, \p pset is non-const;
+      -   1: one reference, \p pset is non-const;
+      - > 1: more than one reference, \p pset is const.
     */
     mutable unsigned long references;
 
@@ -71278,17 +76870,17 @@ private:
     Rep();
 
   public:
-    //! A possibly shared base-level domain element.
-    PS ph;
+    //! The possibly shared, embedded pointset.
+    PSET pset;
 
     /*! \brief
-      Builds a new representation by creating a domain element
+      Builds a new representation by creating a pointset
       of the specified kind, in the specified vector space.
     */
     Rep(dimension_type num_dimensions, Degenerate_Element kind);
 
-    //! Builds a new representation by copying base-level element \p p.
-    Rep(const PS& p);
+    //! Builds a new representation by copying the pointset \p p.
+    Rep(const PSET& p);
 
     //! Builds a new representation by copying the constraints in \p cs.
     Rep(const Constraint_System& cs);
@@ -71331,9 +76923,10 @@ private:
   Rep* prep;
 
   friend bool
-  operator==<PS>(const Determinate<PS>& x, const Determinate<PS>& y);
+  operator==<PSET>(const Determinate<PSET>& x, const Determinate<PSET>& y);
+
   friend bool
-  operator!=<PS>(const Determinate<PS>& x, const Determinate<PS>& y);
+  operator!=<PSET>(const Determinate<PSET>& x, const Determinate<PSET>& y);
 };
 
 
@@ -71341,9 +76934,9 @@ namespace std {
 
 //! Specializes <CODE>std::swap</CODE>.
 /*! \relates Parma_Polyhedra_Library::Determinate */
-template <typename PS>
-void swap(Parma_Polyhedra_Library::Determinate<PS>& x,
-	  Parma_Polyhedra_Library::Determinate<PS>& y);
+template <typename PSET>
+void swap(Parma_Polyhedra_Library::Determinate<PSET>& x,
+	  Parma_Polyhedra_Library::Determinate<PSET>& y);
 
 } // namespace std
 
@@ -71352,109 +76945,109 @@ void swap(Parma_Polyhedra_Library::Determinate<PS>& x,
 */
 
 
-#include <cassert>
+/* Automatically generated from PPL source file ../src/Determinate.inlines.hh line 27. */
 
 namespace Parma_Polyhedra_Library {
 
-template <typename PS>
+template <typename PSET>
 inline
-Determinate<PS>::Rep::Rep(dimension_type num_dimensions,
+Determinate<PSET>::Rep::Rep(dimension_type num_dimensions,
 			  Degenerate_Element kind)
-  : references(0), ph(num_dimensions, kind) {
+  : references(0), pset(num_dimensions, kind) {
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Determinate<PS>::Rep::Rep(const PS& p)
-  : references(0), ph(p) {
+Determinate<PSET>::Rep::Rep(const PSET& p)
+  : references(0), pset(p) {
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Determinate<PS>::Rep::Rep(const Constraint_System& cs)
-  : references(0), ph(cs) {
+Determinate<PSET>::Rep::Rep(const Constraint_System& cs)
+  : references(0), pset(cs) {
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Determinate<PS>::Rep::Rep(const Congruence_System& cgs)
-  : references(0), ph(cgs) {
+Determinate<PSET>::Rep::Rep(const Congruence_System& cgs)
+  : references(0), pset(cgs) {
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Determinate<PS>::Rep::~Rep() {
-  assert(references == 0);
+Determinate<PSET>::Rep::~Rep() {
+  PPL_ASSERT(references == 0);
 }
 
-template <typename PS>
+template <typename PSET>
 inline void
-Determinate<PS>::Rep::new_reference() const {
+Determinate<PSET>::Rep::new_reference() const {
   ++references;
 }
 
-template <typename PS>
+template <typename PSET>
 inline bool
-Determinate<PS>::Rep::del_reference() const {
+Determinate<PSET>::Rep::del_reference() const {
   return --references == 0;
 }
 
-template <typename PS>
+template <typename PSET>
 inline bool
-Determinate<PS>::Rep::is_shared() const {
+Determinate<PSET>::Rep::is_shared() const {
   return references > 1;
 }
 
-template <typename PS>
+template <typename PSET>
 inline memory_size_type
-Determinate<PS>::Rep::external_memory_in_bytes() const {
-  return ph.external_memory_in_bytes();
+Determinate<PSET>::Rep::external_memory_in_bytes() const {
+  return pset.external_memory_in_bytes();
 }
 
-template <typename PS>
+template <typename PSET>
 inline memory_size_type
-Determinate<PS>::Rep::total_memory_in_bytes() const {
+Determinate<PSET>::Rep::total_memory_in_bytes() const {
   return sizeof(*this) + external_memory_in_bytes();
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Determinate<PS>::Determinate(const PS& ph)
-  : prep(new Rep(ph)) {
+Determinate<PSET>::Determinate(const PSET& pset)
+  : prep(new Rep(pset)) {
   prep->new_reference();
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Determinate<PS>::Determinate(const Constraint_System& cs)
+Determinate<PSET>::Determinate(const Constraint_System& cs)
   : prep(new Rep(cs)) {
   prep->new_reference();
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Determinate<PS>::Determinate(const Congruence_System& cgs)
+Determinate<PSET>::Determinate(const Congruence_System& cgs)
   : prep(new Rep(cgs)) {
   prep->new_reference();
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Determinate<PS>::Determinate(const Determinate& y)
+Determinate<PSET>::Determinate(const Determinate& y)
   : prep(y.prep) {
   prep->new_reference();
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Determinate<PS>::~Determinate() {
+Determinate<PSET>::~Determinate() {
   if (prep->del_reference())
     delete prep;
 }
 
-template <typename PS>
-inline Determinate<PS>&
-Determinate<PS>::operator=(const Determinate& y) {
+template <typename PSET>
+inline Determinate<PSET>&
+Determinate<PSET>::operator=(const Determinate& y) {
   y.prep->new_reference();
   if (prep->del_reference())
     delete prep;
@@ -71462,161 +77055,161 @@ Determinate<PS>::operator=(const Determinate& y) {
   return *this;
 }
 
-template <typename PS>
+template <typename PSET>
 inline void
-Determinate<PS>::swap(Determinate& y) {
+Determinate<PSET>::swap(Determinate& y) {
   std::swap(prep, y.prep);
 }
 
-template <typename PS>
+template <typename PSET>
 inline void
-Determinate<PS>::mutate() {
+Determinate<PSET>::mutate() {
   if (prep->is_shared()) {
-    Rep* new_prep = new Rep(prep->ph);
+    Rep* new_prep = new Rep(prep->pset);
     (void) prep->del_reference();
     new_prep->new_reference();
     prep = new_prep;
   }
 }
 
-template <typename PS>
-inline const PS&
-Determinate<PS>::element() const {
-  return prep->ph;
+template <typename PSET>
+inline const PSET&
+Determinate<PSET>::pointset() const {
+  return prep->pset;
 }
 
-template <typename PS>
-inline PS&
-Determinate<PS>::element() {
+template <typename PSET>
+inline PSET&
+Determinate<PSET>::pointset() {
   mutate();
-  return prep->ph;
+  return prep->pset;
 }
 
-template <typename PS>
+template <typename PSET>
 inline void
-Determinate<PS>::upper_bound_assign(const Determinate& y) {
-  element().upper_bound_assign(y.element());
+Determinate<PSET>::upper_bound_assign(const Determinate& y) {
+  pointset().upper_bound_assign(y.pointset());
 }
 
-template <typename PS>
+template <typename PSET>
 inline void
-Determinate<PS>::meet_assign(const Determinate& y) {
-  element().intersection_assign(y.element());
+Determinate<PSET>::meet_assign(const Determinate& y) {
+  pointset().intersection_assign(y.pointset());
 }
 
-template <typename PS>
+template <typename PSET>
 inline bool
-Determinate<PS>::has_nontrivial_weakening() {
-  // FIXME: the following should be turned into a query to PS.  This
+Determinate<PSET>::has_nontrivial_weakening() {
+  // FIXME: the following should be turned into a query to PSET.  This
   // can be postponed until the time the ask-and-tell construction is
   // revived.
   return false;
 }
 
-template <typename PS>
+template <typename PSET>
 inline void
-Determinate<PS>::weakening_assign(const Determinate& y) {
+Determinate<PSET>::weakening_assign(const Determinate& y) {
   // FIXME: the following should be turned into a proper
   // implementation.  This can be postponed until the time the
   // ask-and-tell construction is revived.
-  element().difference_assign(y.element());
+  pointset().difference_assign(y.pointset());
 }
 
-template <typename PS>
+template <typename PSET>
 inline void
-Determinate<PS>::concatenate_assign(const Determinate& y) {
-  element().concatenate_assign(y.element());
+Determinate<PSET>::concatenate_assign(const Determinate& y) {
+  pointset().concatenate_assign(y.pointset());
 }
 
-template <typename PS>
+template <typename PSET>
 inline bool
-Determinate<PS>::definitely_entails(const Determinate& y) const {
-  return prep == y.prep || y.prep->ph.contains(prep->ph);
+Determinate<PSET>::definitely_entails(const Determinate& y) const {
+  return prep == y.prep || y.prep->pset.contains(prep->pset);
 }
 
-template <typename PS>
+template <typename PSET>
 inline bool
-Determinate<PS>::is_definitely_equivalent_to(const Determinate& y) const {
-  return prep == y.prep || prep->ph == y.prep->ph;
+Determinate<PSET>::is_definitely_equivalent_to(const Determinate& y) const {
+  return prep == y.prep || prep->pset == y.prep->pset;
 }
 
-template <typename PS>
+template <typename PSET>
 inline bool
-Determinate<PS>::is_top() const {
-  return prep->ph.is_universe();
+Determinate<PSET>::is_top() const {
+  return prep->pset.is_universe();
 }
 
-template <typename PS>
+template <typename PSET>
 inline bool
-Determinate<PS>::is_bottom() const {
-  return prep->ph.is_empty();
+Determinate<PSET>::is_bottom() const {
+  return prep->pset.is_empty();
 }
 
-template <typename PS>
+template <typename PSET>
 inline memory_size_type
-Determinate<PS>::external_memory_in_bytes() const {
+Determinate<PSET>::external_memory_in_bytes() const {
   return prep->total_memory_in_bytes();
 }
 
-template <typename PS>
+template <typename PSET>
 inline memory_size_type
-Determinate<PS>::total_memory_in_bytes() const {
+Determinate<PSET>::total_memory_in_bytes() const {
   return sizeof(*this) + external_memory_in_bytes();
 }
 
-template <typename PS>
+template <typename PSET>
 inline bool
-Determinate<PS>::OK() const {
-  return prep->ph.OK();
+Determinate<PSET>::OK() const {
+  return prep->pset.OK();
 }
 
 namespace IO_Operators {
 
 /*! \relates Parma_Polyhedra_Library::Determinate */
-template <typename PS>
+template <typename PSET>
 inline std::ostream&
-operator<<(std::ostream& s, const Determinate<PS>& x) {
-  s << x.element();
+operator<<(std::ostream& s, const Determinate<PSET>& x) {
+  s << x.pointset();
   return s;
 }
 
 } // namespace IO_Operators
 
 /*! \relates Determinate */
-template <typename PS>
+template <typename PSET>
 inline bool
-operator==(const Determinate<PS>& x, const Determinate<PS>& y) {
-  return x.prep == y.prep || x.prep->ph == y.prep->ph;
+operator==(const Determinate<PSET>& x, const Determinate<PSET>& y) {
+  return x.prep == y.prep || x.prep->pset == y.prep->pset;
 }
 
 /*! \relates Determinate */
-template <typename PS>
+template <typename PSET>
 inline bool
-operator!=(const Determinate<PS>& x, const Determinate<PS>& y) {
-  return x.prep != y.prep && x.prep->ph != y.prep->ph;
+operator!=(const Determinate<PSET>& x, const Determinate<PSET>& y) {
+  return x.prep != y.prep && x.prep->pset != y.prep->pset;
 }
 
-template <typename PS>
+template <typename PSET>
 template <typename Binary_Operator_Assign>
 inline
-Determinate<PS>::Binary_Operator_Assign_Lifter<Binary_Operator_Assign>::
+Determinate<PSET>::Binary_Operator_Assign_Lifter<Binary_Operator_Assign>::
 Binary_Operator_Assign_Lifter(Binary_Operator_Assign op_assign)
   : op_assign_(op_assign) {
 }
 
-template <typename PS>
+template <typename PSET>
 template <typename Binary_Operator_Assign>
 inline void
-Determinate<PS>::Binary_Operator_Assign_Lifter<Binary_Operator_Assign>::
+Determinate<PSET>::Binary_Operator_Assign_Lifter<Binary_Operator_Assign>::
 operator()(Determinate& x, const Determinate& y) const {
-  op_assign_(x.element(), y.element());
+  op_assign_(x.pointset(), y.pointset());
 }
 
-template <typename PS>
+template <typename PSET>
 template <typename Binary_Operator_Assign>
 inline
-Determinate<PS>::Binary_Operator_Assign_Lifter<Binary_Operator_Assign>
-Determinate<PS>::lift_op_assign(Binary_Operator_Assign op_assign) {
+Determinate<PSET>::Binary_Operator_Assign_Lifter<Binary_Operator_Assign>
+Determinate<PSET>::lift_op_assign(Binary_Operator_Assign op_assign) {
   return Binary_Operator_Assign_Lifter<Binary_Operator_Assign>(op_assign);
 }
 
@@ -71626,16 +77219,16 @@ Determinate<PS>::lift_op_assign(Binary_Operator_Assign op_assign) {
 namespace std {
 
 /*! \relates Parma_Polyhedra_Library::Determinate */
-template <typename PS>
+template <typename PSET>
 inline void
-swap(Parma_Polyhedra_Library::Determinate<PS>& x,
-     Parma_Polyhedra_Library::Determinate<PS>& y) {
+swap(Parma_Polyhedra_Library::Determinate<PSET>& x,
+     Parma_Polyhedra_Library::Determinate<PSET>& y) {
   x.swap(y);
 }
 
 } // namespace std
 
-/* Automatically generated from PPL source file ../src/Determinate.defs.hh line 324. */
+/* Automatically generated from PPL source file ../src/Determinate.defs.hh line 335. */
 
 /* Automatically generated from PPL source file ../src/Powerset.defs.hh line 1. */
 /* Powerset class declaration.
@@ -72474,7 +78067,7 @@ void swap(Parma_Polyhedra_Library::Powerset<D>& x,
 
 
 #include <algorithm>
-#include <cassert>
+/* Automatically generated from PPL source file ../src/Powerset.inlines.hh line 28. */
 
 namespace Parma_Polyhedra_Library {
 
@@ -72588,7 +78181,7 @@ inline
 Powerset<D>::Powerset(const D& d)
   : sequence(), reduced(false) {
   sequence.push_back(d);
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 template <typename D>
@@ -72689,7 +78282,7 @@ swap(Parma_Polyhedra_Library::Powerset<D>& x,
 
 /* Automatically generated from PPL source file ../src/Powerset.templates.hh line 27. */
 #include <algorithm>
-#include <cassert>
+/* Automatically generated from PPL source file ../src/Powerset.templates.hh line 29. */
 #include <iostream>
 
 namespace Parma_Polyhedra_Library {
@@ -72697,7 +78290,7 @@ namespace Parma_Polyhedra_Library {
 template <typename D>
 void
 Powerset<D>::collapse(const Sequence_iterator sink) {
-  assert(sink != sequence.end());
+  PPL_ASSERT(sink != sequence.end());
   D& d = *sink;
   iterator x_sink = sink;
   iterator next_x_sink = x_sink;
@@ -72715,7 +78308,7 @@ Powerset<D>::collapse(const Sequence_iterator sink) {
     else
       ++xi;
 
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 template <typename D>
@@ -72760,13 +78353,13 @@ Powerset<D>::omega_reduce() const {
     }
   }
   reduced = true;
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 template <typename D>
 void
 Powerset<D>::collapse(const unsigned max_disjuncts) {
-  assert(max_disjuncts > 0);
+  PPL_ASSERT(max_disjuncts > 0);
   // Omega-reduce before counting the number of disjuncts.
   omega_reduce();
   size_type n = size();
@@ -72778,8 +78371,8 @@ Powerset<D>::collapse(const unsigned max_disjuncts) {
     // all the disjuncts that follow.
     collapse(i.base);
   }
-  assert(OK());
-  assert(is_omega_reduced());
+  PPL_ASSERT_HEAVY(OK());
+  PPL_ASSERT(is_omega_reduced());
 }
 
 template <typename D>
@@ -72814,7 +78407,7 @@ typename Powerset<D>::iterator
 Powerset<D>::add_non_bottom_disjunct_preserve_reduction(const D& d,
 							iterator first,
 							iterator last) {
-  assert(!d.is_bottom());
+  PPL_ASSERT_HEAVY(!d.is_bottom());
   for (iterator xi = first; xi != last; ) {
     const D& xv = *xi;
     if (d.definitely_entails(xv))
@@ -72828,7 +78421,7 @@ Powerset<D>::add_non_bottom_disjunct_preserve_reduction(const D& d,
       ++xi;
   }
   sequence.push_back(d);
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
   return first;
 }
 
@@ -72890,7 +78483,7 @@ Powerset<D>::pairwise_apply_assign(const Powerset& y,
   // Put the new sequence in place.
   std::swap(sequence, new_sequence);
   reduced = false;
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 template <typename D>
@@ -72905,7 +78498,7 @@ Powerset<D>::least_upper_bound_assign(const Powerset& y) {
     old_begin = add_non_bottom_disjunct_preserve_reduction(*i,
 							   old_begin,
 							   old_end);
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
 namespace IO_Operators {
@@ -72982,7 +78575,7 @@ Powerset<D>::OK(const bool disallow_bottom) const {
 /*!
   \warning
   At present, the supported instantiations for the
-  disjunct domain template \p PS are the simple pointset domains:
+  disjunct domain template \p PSET are the simple pointset domains:
   <CODE>C_Polyhedron</CODE>,
   <CODE>NNC_Polyhedron</CODE>,
   <CODE>Grid</CODE>,
@@ -72990,19 +78583,19 @@ Powerset<D>::OK(const bool disallow_bottom) const {
   <CODE>BD_Shape<T></CODE>,
   <CODE>Box<T></CODE>.
 */
-template <typename PS>
+template <typename PSET>
 class Parma_Polyhedra_Library::Pointset_Powerset
   : public Parma_Polyhedra_Library::Powerset
-<Parma_Polyhedra_Library::Determinate<PS> > {
+<Parma_Polyhedra_Library::Determinate<PSET> > {
 public:
-  typedef PS element_type;
+  typedef PSET element_type;
 
 private:
-  typedef Determinate<PS> CS;
-  typedef Powerset<CS> Base;
+  typedef Determinate<PSET> Det_PSET;
+  typedef Powerset<Det_PSET> Base;
 
 public:
-  //! Returns the maximum space dimension a Pointset_Powerset<PS> can handle.
+  //! Returns the maximum space dimension a Pointset_Powerset<PSET> can handle.
   static dimension_type max_space_dimension();
 
   //! \name Constructors
@@ -73020,7 +78613,7 @@ public:
   Pointset_Powerset(dimension_type num_dimensions = 0,
 		    Degenerate_Element kind = UNIVERSE);
 
-  //! Ordinary copy-constructor.
+  //! Ordinary copy constructor.
   /*!
     The complexity argument is ignored.
   */
@@ -73029,7 +78622,7 @@ public:
 
   /*! \brief
     Conversion constructor: the type <CODE>QH</CODE> of the disjuncts
-    in the source powerset is different from <CODE>PS</CODE>.
+    in the source powerset is different from <CODE>PSET</CODE>.
 
     \param y
     The powerset to be used to build the new powerset.
@@ -73043,7 +78636,7 @@ public:
 
   /*! \brief
     Creates a Pointset_Powerset from a product
-    This will be created as a single disjunct of type PS that
+    This will be created as a single disjunct of type PSET that
     approximates the product.
   */
    template <typename QH1, typename QH2, typename R>
@@ -73504,7 +79097,7 @@ public:
     \exception std::invalid_argument
     Thrown if \p *this and \p ph are dimension-incompatible.
   */
-  void add_disjunct(const PS& ph);
+  void add_disjunct(const PSET& ph);
 
   //! Intersects \p *this with constraint \p c.
   /*!
@@ -73525,20 +79118,6 @@ public:
   */
   void refine_with_constraint(const Constraint& c);
 
-  //! Intersects \p *this with the constraint \p c, minimizing the result.
-  /*!
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p c are topology-incompatible or
-    dimension-incompatible.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_constraint_and_minimize(const Constraint& c);
-
   //! Intersects \p *this with the constraints in \p cs.
   /*!
     \param cs
@@ -73561,25 +79140,6 @@ public:
   */
   void refine_with_constraints(const Constraint_System& cs);
 
-  /*! \brief
-    Intersects \p *this with the constraints in \p cs,
-    minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \param cs
-    The constraints to intersect with.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are topology-incompatible or
-    dimension-incompatible.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_constraints_and_minimize(const Constraint_System& cs);
-
   //! Intersects \p *this with congruence \p c.
   /*!
     \exception std::invalid_argument
@@ -73599,20 +79159,6 @@ public:
   */
   void refine_with_congruence(const Congruence& cg);
 
-  //! Intersects \p *this with the congruence \p c, minimizing the result.
-  /*!
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p c are topology-incompatible or
-    dimension-incompatible.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_congruence_and_minimize(const Congruence& c);
-
   //! Intersects \p *this with the congruences in \p cgs.
   /*!
     \param cgs
@@ -73636,25 +79182,6 @@ public:
   void refine_with_congruences(const Congruence_System& cgs);
 
   /*! \brief
-    Intersects \p *this with the congruences in \p cs,
-    minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \param cs
-    The congruences to intersect with.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are topology-incompatible or
-    dimension-incompatible.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_congruences_and_minimize(const Congruence_System& cs);
-
-  /*! \brief
     Computes the \ref Cylindrification "cylindrification" of \p *this with
     respect to space dimension \p var, assigning the result to \p *this.
 
@@ -73668,17 +79195,50 @@ public:
 
   /*! \brief
     Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to the set of space dimensions \p to_be_unconstrained,
+    respect to the set of space dimensions \p vars,
     assigning the result to \p *this.
 
-    \param to_be_unconstrained
+    \param vars
     The set of space dimension that will be unconstrained.
 
     \exception std::invalid_argument
     Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p to_be_removed.
+    Variable objects contained in \p vars.
+  */
+  void unconstrain(const Variables_Set& vars);
+
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates.
+
+    \param complexity
+    The maximal complexity of any algorithms used.
+
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+   void drop_some_non_integer_points(Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
+
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates for the space dimensions corresponding to \p vars.
+
+    \param vars
+    Points with non-integer coordinates for these variables/space-dimensions
+    can be discarded.
+
+    \param complexity
+    The maximal complexity of any algorithms used.
+
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
   */
-  void unconstrain(const Variables_Set& to_be_unconstrained);
+  void drop_some_non_integer_points(const Variables_Set& vars,
+                                    Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
 
   //! Assigns to \p *this its topological closure.
   void topological_closure_assign();
@@ -73690,20 +79250,6 @@ public:
   */
   void intersection_assign(const Pointset_Powerset& y);
 
-  //! Assigns to \p *this the intersection of \p *this and \p y.
-  /*!
-    The result is obtained by intersecting each disjunct in \p *this
-    with each disjunct in \p y, minimizing the result
-    and collecting all these intersections.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool intersection_assign_and_minimize(const Pointset_Powerset& y);
-
   /*! \brief
     Assigns to \p *this an (a smallest)
     over-approximation as a powerset of the disjunct domain of the
@@ -73965,6 +79511,60 @@ public:
   void time_elapse_assign(const Pointset_Powerset& y);
 
   /*! \brief
+    \ref Wrapping_Operator "Wraps" the specified dimensions of the
+    vector space.
+
+    \param vars
+    The set of Variable objects corresponding to the space dimensions
+    to be wrapped.
+
+    \param w
+    The width of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param r
+    The representation of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param o
+    The overflow behavior of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param pcs
+    Possibly null pointer to a constraint system whose variables
+    are contained in \p vars.  If <CODE>*pcs</CODE> depends on
+    variables not in \p vars, the behavior is undefined.
+    When non-null, the pointed-to constraint system is assumed to
+    represent the conditional or looping construct guard with respect
+    to which wrapping is performed.  Since wrapping requires the
+    computation of upper bounds and due to non-distributivity of
+    constraint refinement over upper bounds, passing a constraint
+    system in this way can be more precise than refining the result of
+    the wrapping operation with the constraints in <CODE>*pcs</CODE>.
+
+    \param complexity_threshold
+    A precision parameter of the \ref Wrapping_Operator "wrapping operator":
+    higher values result in possibly improved precision.
+
+    \param wrap_individually
+    <CODE>true</CODE> if the dimensions should be wrapped individually
+    (something that results in much greater efficiency to the detriment of
+    precision).
+
+    \exception std::invalid_argument
+    Thrown if <CODE>*pcs</CODE> is dimension-incompatible with
+    \p vars, or if \p *this is dimension-incompatible \p vars or with
+    <CODE>*pcs</CODE>.
+  */
+  void wrap_assign(const Variables_Set& vars,
+                   Bounded_Integer_Type_Width w,
+                   Bounded_Integer_Type_Representation r,
+                   Bounded_Integer_Type_Overflow o,
+                   const Constraint_System* pcs = 0,
+                   unsigned complexity_threshold = 16,
+                   bool wrap_individually = true);
+
+  /*! \brief
     Assign to \p *this the result of (recursively) merging together
     the pairs of disjuncts whose upper-bound is the same as their
     set-theoretical union.
@@ -74050,7 +79650,7 @@ public:
 
   /*! \brief
     Conversion assignment: the type <CODE>QH</CODE> of the disjuncts
-    in the source powerset is different from <CODE>PS</CODE>
+    in the source powerset is different from <CODE>PSET</CODE>
     (\p *this and \p y can be dimension-incompatible).
   */
   template <typename QH>
@@ -74081,15 +79681,15 @@ public:
 
   //! Removes all the specified space dimensions.
   /*!
-    \param to_be_removed
+    \param vars
     The set of Variable objects corresponding to the space dimensions
     to be removed.
 
     \exception std::invalid_argument
     Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p to_be_removed.
+    Variable objects contained in \p vars.
   */
-  void remove_space_dimensions(const Variables_Set& to_be_removed);
+  void remove_space_dimensions(const Variables_Set& vars);
 
   /*! \brief
     Removes the higher space dimensions so that the resulting space
@@ -74135,31 +79735,31 @@ public:
   */
   void expand_space_dimension(Variable var, dimension_type m);
 
-  //! Folds the space dimensions in \p to_be_folded into \p var.
+  //! Folds the space dimensions in \p vars into \p dest.
   /*!
-    \param to_be_folded
+    \param vars
     The set of Variable objects corresponding to the space dimensions
     to be folded;
 
-    \param var
+    \param dest
     The variable corresponding to the space dimension that is the
     destination of the folding operation.
 
     \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p var or with
-    one of the Variable objects contained in \p to_be_folded.  Also
-    thrown if \p var is contained in \p to_be_folded.
+    Thrown if \p *this is dimension-incompatible with \p dest or with
+    one of the Variable objects contained in \p vars.  Also
+    thrown if \p dest is contained in \p vars.
 
     If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    <CODE>var</CODE> has space dimension \f$k \leq n\f$,
-    \p to_be_folded is a set of variables whose maximum space dimension
-    is also less than or equal to \f$n\f$, and \p var is not a member
-    of \p to_be_folded, then the space dimensions corresponding to
-    variables in \p to_be_folded are
+    <CODE>dest</CODE> has space dimension \f$k \leq n\f$,
+    \p vars is a set of variables whose maximum space dimension
+    is also less than or equal to \f$n\f$, and \p dest is not a member
+    of \p vars, then the space dimensions corresponding to
+    variables in \p vars are
     \ref Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension
     "folded" into the \f$k\f$-th space dimension.
   */
-  void fold_space_dimensions(const Variables_Set& to_be_folded, Variable var);
+  void fold_space_dimensions(const Variables_Set& vars, Variable dest);
 
   //@} // Member Functions that May Modify the Dimension of the Vector Space
 
@@ -74189,16 +79789,15 @@ private:
   dimension_type space_dim;
 
   /*! \brief
-    Assigns to \p to_be_enlarged a
-    \ref Powerset_Meet_Preserving_Simplification
-    "powerset meet-preserving enlargement" of itself with respect to \p *this.
-    If \c false is returned, then the intersection is empty.
+    Assigns to \p dest a \ref Powerset_Meet_Preserving_Simplification
+    "powerset meet-preserving enlargement" of itself with respect to
+    \p *this.  If \c false is returned, then the intersection is empty.
 
     \note
-    It is assumed that \p *this and \p to_be_enlarged are
-    topology-compatible and dimension-compatible.
+    It is assumed that \p *this and \p dest are topology-compatible
+    and dimension-compatible.
   */
-  bool intersection_preserving_enlarge_element(PS& to_be_enlarged) const;
+  bool intersection_preserving_enlarge_element(PSET& dest) const;
 
   /*! \brief
     Assigns to \p *this the result of applying the BGP99 heuristics
@@ -74234,7 +79833,7 @@ namespace Parma_Polyhedra_Library {
 /*! \relates Pointset_Powerset
   Let \p p and \p q be two polyhedra.
   The function returns an object <CODE>r</CODE> of type
-  <CODE>std::pair\<PS, Pointset_Powerset\<NNC_Polyhedron\> \></CODE>
+  <CODE>std::pair\<PSET, Pointset_Powerset\<NNC_Polyhedron\> \></CODE>
   such that
   - <CODE>r.first</CODE> is the intersection of \p p and \p q;
   - <CODE>r.second</CODE> has the property that all its elements are
@@ -74250,9 +79849,9 @@ namespace Parma_Polyhedra_Library {
   this paper</A> for more information about the implementation.
   \endif
 */
-template <typename PS>
-std::pair<PS, Pointset_Powerset<NNC_Polyhedron> >
-linear_partition(const PS& p, const PS& q);
+template <typename PSET>
+std::pair<PSET, Pointset_Powerset<NNC_Polyhedron> >
+linear_partition(const PSET& p, const PSET& q);
 
 /*! \brief
   Returns <CODE>true</CODE> if and only if the union of
@@ -74272,7 +79871,7 @@ check_containment(const NNC_Polyhedron& ph,
   \relates Parma_Polyhedra_Library::Pointset_Powerset
   Let \p p and \p q be two grids.
   The function returns an object <CODE>r</CODE> of type
-  <CODE>std::pair\<PS, Pointset_Powerset\<Grid\> \></CODE>
+  <CODE>std::pair\<PSET, Pointset_Powerset\<Grid\> \></CODE>
   such that
   - <CODE>r.first</CODE> is the intersection of \p p and \p q;
   - If there is a finite partition of \p q wrt \p p
@@ -74305,13 +79904,13 @@ check_containment(const Grid& ph,
 
   \relates Pointset_Powerset
   \note
-  It is assumed that the template parameter PS can be converted
+  It is assumed that the template parameter PSET can be converted
   without precision loss into an NNC_Polyhedron; otherwise,
   an incorrect result might be obtained.
 */
-template <typename PS>
+template <typename PSET>
 bool
-check_containment(const PS& ph, const Pointset_Powerset<PS>& ps);
+check_containment(const PSET& ph, const Pointset_Powerset<PSET>& ps);
 
 // CHECKME: according to the Intel compiler, the declaration of the
 // following specialization (of the class template parameter) should come
@@ -74370,9 +79969,9 @@ namespace std {
 
 //! Specializes <CODE>std::swap</CODE>.
 /*! \relates Parma_Polyhedra_Library::Pointset_Powerset */
-template <typename PS>
-void swap(Parma_Polyhedra_Library::Pointset_Powerset<PS>& x,
-	  Parma_Polyhedra_Library::Pointset_Powerset<PS>& y);
+template <typename PSET>
+void swap(Parma_Polyhedra_Library::Pointset_Powerset<PSET>& x,
+	  Parma_Polyhedra_Library::Pointset_Powerset<PSET>& y);
 
 } // namespace std
 
@@ -74387,40 +79986,40 @@ void swap(Parma_Polyhedra_Library::Pointset_Powerset<PS>& x,
 
 namespace Parma_Polyhedra_Library {
 
-template <typename PS>
+template <typename PSET>
 inline dimension_type
-Pointset_Powerset<PS>::space_dimension() const {
+Pointset_Powerset<PSET>::space_dimension() const {
   return space_dim;
 }
 
-template <typename PS>
+template <typename PSET>
 inline dimension_type
-Pointset_Powerset<PS>::max_space_dimension() {
-  return PS::max_space_dimension();
+Pointset_Powerset<PSET>::max_space_dimension() {
+  return PSET::max_space_dimension();
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Pointset_Powerset<PS>::Pointset_Powerset(dimension_type num_dimensions,
-					 Degenerate_Element kind)
+Pointset_Powerset<PSET>::Pointset_Powerset(dimension_type num_dimensions,
+					   Degenerate_Element kind)
   : Base(), space_dim(num_dimensions) {
   Pointset_Powerset& x = *this;
   if (kind == UNIVERSE)
-    x.sequence.push_back(Determinate<PS>(PS(num_dimensions, kind)));
-  assert(x.OK());
+    x.sequence.push_back(Determinate<PSET>(PSET(num_dimensions, kind)));
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Pointset_Powerset<PS>::Pointset_Powerset(const Pointset_Powerset& y,
-                                         Complexity_Class)
+Pointset_Powerset<PSET>::Pointset_Powerset(const Pointset_Powerset& y,
+					   Complexity_Class)
   : Base(y), space_dim(y.space_dim) {
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Pointset_Powerset<PS>::Pointset_Powerset(const C_Polyhedron& ph,
-                                         Complexity_Class complexity)
+Pointset_Powerset<PSET>::Pointset_Powerset(const C_Polyhedron& ph,
+					   Complexity_Class complexity)
   : Base(), space_dim(ph.space_dimension()) {
   Pointset_Powerset& x = *this;
   if (complexity == ANY_COMPLEXITY) {
@@ -74429,15 +80028,15 @@ Pointset_Powerset<PS>::Pointset_Powerset(const C_Polyhedron& ph,
   }
   else
     x.reduced = false;
-  x.sequence.push_back(Determinate<PS>(PS(ph, complexity)));
+  x.sequence.push_back(Determinate<PSET>(PSET(ph, complexity)));
   x.reduced = false;
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Pointset_Powerset<PS>::Pointset_Powerset(const NNC_Polyhedron& ph,
-                                         Complexity_Class complexity)
+Pointset_Powerset<PSET>::Pointset_Powerset(const NNC_Polyhedron& ph,
+					   Complexity_Class complexity)
   : Base(), space_dim(ph.space_dimension()) {
   Pointset_Powerset& x = *this;
   if (complexity == ANY_COMPLEXITY) {
@@ -74446,26 +80045,26 @@ Pointset_Powerset<PS>::Pointset_Powerset(const NNC_Polyhedron& ph,
   }
   else
     x.reduced = false;
-  x.sequence.push_back(Determinate<PS>(PS(ph, complexity)));
-  assert(OK());
+  x.sequence.push_back(Determinate<PSET>(PSET(ph, complexity)));
+  PPL_ASSERT_HEAVY(OK());
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Pointset_Powerset<PS>::Pointset_Powerset(const Grid& gr,
-                                         Complexity_Class)
+Pointset_Powerset<PSET>::Pointset_Powerset(const Grid& gr,
+					   Complexity_Class)
   : Base(), space_dim(gr.space_dimension()) {
   Pointset_Powerset& x = *this;
   if (!gr.is_empty()) {
-    x.sequence.push_back(Determinate<PS>(PS(gr)));
+    x.sequence.push_back(Determinate<PSET>(PSET(gr)));
   }
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
-template <typename PS>
+template <typename PSET>
 template <typename QH1, typename QH2, typename R>
 inline
-Pointset_Powerset<PS>
+Pointset_Powerset<PSET>
 ::Pointset_Powerset(const Partially_Reduced_Product<QH1, QH2, R>& prp,
                     Complexity_Class complexity)
   : Base(), space_dim(prp.space_dimension()) {
@@ -74476,124 +80075,118 @@ Pointset_Powerset<PS>
   }
   else
     x.reduced = false;
-  x.sequence.push_back(Determinate<PS>(PS(prp, complexity)));
+  x.sequence.push_back(Determinate<PSET>(PSET(prp, complexity)));
   x.reduced = false;
-  assert(OK());
+  PPL_ASSERT_HEAVY(OK());
 }
 
-template <typename PS>
+template <typename PSET>
 template <typename Interval>
-Pointset_Powerset<PS>::Pointset_Powerset(const Box<Interval>& box,
-                                         Complexity_Class)
+Pointset_Powerset<PSET>::Pointset_Powerset(const Box<Interval>& box,
+					   Complexity_Class)
   : Base(), space_dim(box.space_dimension()) {
   Pointset_Powerset& x = *this;
   if (!box.is_empty())
-    x.sequence.push_back(Determinate<PS>(PS(box)));
-  assert(OK());
+    x.sequence.push_back(Determinate<PSET>(PSET(box)));
+  PPL_ASSERT_HEAVY(OK());
 }
 
-template <typename PS>
+template <typename PSET>
 template <typename T>
-Pointset_Powerset<PS>::Pointset_Powerset(const Octagonal_Shape<T>& os,
-                                         Complexity_Class)
+Pointset_Powerset<PSET>::Pointset_Powerset(const Octagonal_Shape<T>& os,
+					   Complexity_Class)
   : Base(), space_dim(os.space_dimension()) {
   Pointset_Powerset& x = *this;
   if (!os.is_empty())
-    x.sequence.push_back(Determinate<PS>(PS(os)));
-  assert(OK());
+    x.sequence.push_back(Determinate<PSET>(PSET(os)));
+  PPL_ASSERT_HEAVY(OK());
 }
 
-template <typename PS>
+template <typename PSET>
 template <typename T>
-Pointset_Powerset<PS>::Pointset_Powerset(const BD_Shape<T>& bds,
-                                         Complexity_Class)
+Pointset_Powerset<PSET>::Pointset_Powerset(const BD_Shape<T>& bds,
+					   Complexity_Class)
   : Base(), space_dim(bds.space_dimension()) {
   Pointset_Powerset& x = *this;
   if (!bds.is_empty())
-    x.sequence.push_back(Determinate<PS>(PS(bds)));
-  assert(OK());
+    x.sequence.push_back(Determinate<PSET>(PSET(bds)));
+  PPL_ASSERT_HEAVY(OK());
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Pointset_Powerset<PS>::Pointset_Powerset(const Constraint_System& cs)
-  : Base(Determinate<PS>(cs)), space_dim(cs.space_dimension()) {
-  assert(OK());
+Pointset_Powerset<PSET>::Pointset_Powerset(const Constraint_System& cs)
+  : Base(Determinate<PSET>(cs)), space_dim(cs.space_dimension()) {
+  PPL_ASSERT_HEAVY(OK());
 }
 
-template <typename PS>
+template <typename PSET>
 inline
-Pointset_Powerset<PS>::Pointset_Powerset(const Congruence_System& cgs)
-  : Base(Determinate<PS>(cgs)), space_dim(cgs.space_dimension()) {
-  assert(OK());
+Pointset_Powerset<PSET>::Pointset_Powerset(const Congruence_System& cgs)
+  : Base(Determinate<PSET>(cgs)), space_dim(cgs.space_dimension()) {
+  PPL_ASSERT_HEAVY(OK());
 }
 
-template <typename PS>
-inline Pointset_Powerset<PS>&
-Pointset_Powerset<PS>::operator=(const Pointset_Powerset& y) {
+template <typename PSET>
+inline Pointset_Powerset<PSET>&
+Pointset_Powerset<PSET>::operator=(const Pointset_Powerset& y) {
   Pointset_Powerset& x = *this;
   x.Base::operator=(y);
   x.space_dim = y.space_dim;
   return x;
 }
 
-template <typename PS>
+template <typename PSET>
 inline void
-Pointset_Powerset<PS>::swap(Pointset_Powerset& y) {
+Pointset_Powerset<PSET>::swap(Pointset_Powerset& y) {
   Pointset_Powerset& x = *this;
   x.Base::swap(y);
   std::swap(x.space_dim, y.space_dim);
 }
 
-template <typename PS>
+template <typename PSET>
 template <typename QH>
-inline Pointset_Powerset<PS>&
-Pointset_Powerset<PS>::operator=(const Pointset_Powerset<QH>& y) {
+inline Pointset_Powerset<PSET>&
+Pointset_Powerset<PSET>::operator=(const Pointset_Powerset<QH>& y) {
   Pointset_Powerset& x = *this;
-  Pointset_Powerset<PS> pps(y);
+  Pointset_Powerset<PSET> pps(y);
   x.swap(pps);
   return x;
 }
 
-template <typename PS>
+template <typename PSET>
 inline void
-Pointset_Powerset<PS>::intersection_assign(const Pointset_Powerset& y) {
+Pointset_Powerset<PSET>::intersection_assign(const Pointset_Powerset& y) {
   Pointset_Powerset& x = *this;
   x.pairwise_apply_assign
-    (y, CS::lift_op_assign(std::mem_fun_ref(&PS::intersection_assign)));
+    (y,
+     Det_PSET::lift_op_assign(std::mem_fun_ref(&PSET::intersection_assign)));
 }
 
-template <typename PS>
-inline bool
-Pointset_Powerset<PS>
-::intersection_assign_and_minimize(const Pointset_Powerset& y) {
-  intersection_assign(y);
-  return !is_empty();
-}
-
-template <typename PS>
+template <typename PSET>
 inline void
-Pointset_Powerset<PS>::time_elapse_assign(const Pointset_Powerset& y) {
+Pointset_Powerset<PSET>::time_elapse_assign(const Pointset_Powerset& y) {
   Pointset_Powerset& x = *this;
   x.pairwise_apply_assign
-    (y, CS::lift_op_assign(std::mem_fun_ref(&PS::time_elapse_assign)));
+    (y,
+     Det_PSET::lift_op_assign(std::mem_fun_ref(&PSET::time_elapse_assign)));
 }
 
-template <typename PS>
+template <typename PSET>
 inline bool
-Pointset_Powerset<PS>
+Pointset_Powerset<PSET>
 ::geometrically_covers(const Pointset_Powerset& y) const {
-  // This code is only used when PS is an abstraction of NNC_Polyhedron.
+  // This code is only used when PSET is an abstraction of NNC_Polyhedron.
   const Pointset_Powerset<NNC_Polyhedron> xx(*this);
   const Pointset_Powerset<NNC_Polyhedron> yy(y);
   return xx.geometrically_covers(yy);
 }
 
-template <typename PS>
+template <typename PSET>
 inline bool
-Pointset_Powerset<PS>
+Pointset_Powerset<PSET>
 ::geometrically_equals(const Pointset_Powerset& y) const {
-  // This code is only used when PS is an abstraction of NNC_Polyhedron.
+  // This code is only used when PSET is an abstraction of NNC_Polyhedron.
   const Pointset_Powerset<NNC_Polyhedron> xx(*this);
   const Pointset_Powerset<NNC_Polyhedron> yy(y);
   return xx.geometrically_covers(yy) && yy.geometrically_covers(xx);
@@ -74615,29 +80208,29 @@ Pointset_Powerset<NNC_Polyhedron>
   return x.geometrically_covers(y) && y.geometrically_covers(x);
 }
 
-template <typename PS>
+template <typename PSET>
 inline memory_size_type
-Pointset_Powerset<PS>::external_memory_in_bytes() const {
+Pointset_Powerset<PSET>::external_memory_in_bytes() const {
   return Base::external_memory_in_bytes();
 }
 
-template <typename PS>
+template <typename PSET>
 inline memory_size_type
-Pointset_Powerset<PS>::total_memory_in_bytes() const {
+Pointset_Powerset<PSET>::total_memory_in_bytes() const {
   return sizeof(*this) + external_memory_in_bytes();
 }
 
-template <typename PS>
+template <typename PSET>
 inline int32_t
-Pointset_Powerset<PS>::hash_code() const {
+Pointset_Powerset<PSET>::hash_code() const {
   return space_dimension() & 0x7fffffff;
 }
 
-template <typename PS>
+template <typename PSET>
 inline void
-Pointset_Powerset<PS>
+Pointset_Powerset<PSET>
 ::difference_assign(const Pointset_Powerset& y) {
-  // This code is only used when PS is an abstraction of NNC_Polyhedron.
+  // This code is only used when PSET is an abstraction of NNC_Polyhedron.
   Pointset_Powerset<NNC_Polyhedron> nnc_this(*this);
   Pointset_Powerset<NNC_Polyhedron> nnc_y(y);
   nnc_this.difference_assign(nnc_y);
@@ -74645,10 +80238,10 @@ Pointset_Powerset<PS>
 }
 
 /*! \relates Pointset_Powerset */
-template <typename PS>
+template <typename PSET>
 inline bool
-check_containment(const PS& ph, const Pointset_Powerset<PS>& ps) {
-  // This code is only used when PS is an abstraction of NNC_Polyhedron.
+check_containment(const PSET& ph, const Pointset_Powerset<PSET>& ps) {
+  // This code is only used when PSET is an abstraction of NNC_Polyhedron.
   const NNC_Polyhedron pph = NNC_Polyhedron(ph.constraints());
   const Pointset_Powerset<NNC_Polyhedron> pps(ps);
   return check_containment(pph, pps);
@@ -74669,10 +80262,10 @@ check_containment(const C_Polyhedron& ph,
 namespace std {
 
 /*! \relates Parma_Polyhedra_Library::Pointset_Powerset */
-template <typename PS>
+template <typename PSET>
 inline void
-swap(Parma_Polyhedra_Library::Pointset_Powerset<PS>& x,
-     Parma_Polyhedra_Library::Pointset_Powerset<PS>& y) {
+swap(Parma_Polyhedra_Library::Pointset_Powerset<PSET>& x,
+     Parma_Polyhedra_Library::Pointset_Powerset<PSET>& y) {
   x.swap(y);
 }
 
@@ -74693,20 +80286,20 @@ swap(Parma_Polyhedra_Library::Pointset_Powerset<PS>& x,
 
 namespace Parma_Polyhedra_Library {
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::add_disjunct(const PS& ph) {
+Pointset_Powerset<PSET>::add_disjunct(const PSET& ph) {
   Pointset_Powerset& x = *this;
   if (x.space_dimension() != ph.space_dimension()) {
     std::ostringstream s;
-    s << "PPL::Pointset_Powerset<PS>::add_disjunct(ph):\n"
+    s << "PPL::Pointset_Powerset<PSET>::add_disjunct(ph):\n"
       << "this->space_dimension() == " << x.space_dimension() << ", "
       << "ph.space_dimension() == " << ph.space_dimension() << ".";
     throw std::invalid_argument(s.str());
   }
-  x.sequence.push_back(Determinate<PS>(ph));
+  x.sequence.push_back(Determinate<PSET>(ph));
   x.reduced = false;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
 template <>
@@ -74719,7 +80312,7 @@ Pointset_Powerset<NNC_Polyhedron>
   for (typename Pointset_Powerset<QH>::const_iterator i = y.begin(),
 	 y_end = y.end(); i != y_end; ++i)
     x.sequence.push_back(Determinate<NNC_Polyhedron>
-			 (NNC_Polyhedron(i->element(), complexity)));
+			 (NNC_Polyhedron(i->pointset(), complexity)));
 
   // FIXME: If the domain elements can be represented _exactly_ as NNC
   // polyhedra, then having x.reduced = y.reduced is correct. This is
@@ -74732,300 +80325,233 @@ Pointset_Powerset<NNC_Polyhedron>
   // assignment x.reduced = y.reduced will be a bug.
   x.reduced = y.reduced;
 
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 template <typename QH>
-Pointset_Powerset<PS>
+Pointset_Powerset<PSET>
 ::Pointset_Powerset(const Pointset_Powerset<QH>& y,
                     Complexity_Class complexity)
   : Base(), space_dim(y.space_dimension()) {
   Pointset_Powerset& x = *this;
   for (typename Pointset_Powerset<QH>::const_iterator i = y.begin(),
 	 y_end = y.end(); i != y_end; ++i)
-    x.sequence.push_back(Determinate<PS>(PS(i->element(), complexity)));
+    x.sequence.push_back(Determinate<PSET>(PSET(i->pointset(), complexity)));
   // Note: this might be non-reduced even when `y' is known to be
-  // omega-reduced, because the constructor of PS may have made
+  // omega-reduced, because the constructor of PSET may have made
   // different QH elements to become comparable.
   x.reduced = false;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::concatenate_assign(const Pointset_Powerset& y) {
+Pointset_Powerset<PSET>::concatenate_assign(const Pointset_Powerset& y) {
   Pointset_Powerset& x = *this;
   // Ensure omega-reduction here, since what follows has quadratic complexity.
   x.omega_reduce();
   y.omega_reduce();
-  Pointset_Powerset<PS> new_x(x.space_dim + y.space_dim, EMPTY);
+  Pointset_Powerset<PSET> new_x(x.space_dim + y.space_dim, EMPTY);
   for (const_iterator xi = x.begin(), x_end = x.end(),
 	 y_begin = y.begin(), y_end = y.end(); xi != x_end; ) {
     for (const_iterator yi = y_begin; yi != y_end; ++yi) {
-      CS zi = *xi;
+      Det_PSET zi = *xi;
       zi.concatenate_assign(*yi);
-      assert(!zi.is_bottom());
+      PPL_ASSERT_HEAVY(!zi.is_bottom());
       new_x.sequence.push_back(zi);
     }
     ++xi;
     if (abandon_expensive_computations && xi != x_end && y_begin != y_end) {
       // Hurry up!
-      PS xph = xi->element();
+      PSET xph = xi->pointset();
       for (++xi; xi != x_end; ++xi)
-	xph.upper_bound_assign(xi->element());
+	xph.upper_bound_assign(xi->pointset());
       const_iterator yi = y_begin;
-      PS yph = yi->element();
+      PSET yph = yi->pointset();
       for (++yi; yi != y_end; ++yi)
-	yph.upper_bound_assign(yi->element());
+	yph.upper_bound_assign(yi->pointset());
       xph.concatenate_assign(yph);
       x.swap(new_x);
       x.add_disjunct(xph);
-      assert(x.OK());
+      PPL_ASSERT_HEAVY(x.OK());
       return;
     }
   }
   x.swap(new_x);
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::add_constraint(const Constraint& c) {
+Pointset_Powerset<PSET>::add_constraint(const Constraint& c) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
 	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->element().add_constraint(c);
+    si->pointset().add_constraint(c);
   x.reduced = false;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
-bool
-Pointset_Powerset<PS>::add_constraint_and_minimize(const Constraint& c) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-	 s_end = x.sequence.end(); si != s_end; )
-    if (!si->element().add_constraint_and_minimize(c))
-      si = x.sequence.erase(si);
-    else {
-      x.reduced = false;
-      ++si;
-    }
-  assert(x.OK());
-  return !x.empty();
-}
-
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::refine_with_constraint(const Constraint& c) {
+Pointset_Powerset<PSET>::refine_with_constraint(const Constraint& c) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
 	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->element().refine_with_constraint(c);
+    si->pointset().refine_with_constraint(c);
   x.reduced = false;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::add_constraints(const Constraint_System& cs) {
+Pointset_Powerset<PSET>::add_constraints(const Constraint_System& cs) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
 	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->element().add_constraints(cs);
+    si->pointset().add_constraints(cs);
   x.reduced = false;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
-bool
-Pointset_Powerset<PS>::
-add_constraints_and_minimize(const Constraint_System& cs) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-	 s_end = x.sequence.end(); si != s_end; )
-    if (!si->element().add_constraints_and_minimize(cs))
-      si = x.sequence.erase(si);
-    else {
-      x.reduced = false;
-      ++si;
-    }
-  assert(x.OK());
-  return !x.empty();
-}
-
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::refine_with_constraints(const Constraint_System& cs) {
+Pointset_Powerset<PSET>::refine_with_constraints(const Constraint_System& cs) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
 	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->element().refine_with_constraints(cs);
+    si->pointset().refine_with_constraints(cs);
   x.reduced = false;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::add_congruence(const Congruence& c) {
+Pointset_Powerset<PSET>::add_congruence(const Congruence& c) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
 	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->element().add_congruence(c);
+    si->pointset().add_congruence(c);
   x.reduced = false;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::refine_with_congruence(const Congruence& cg) {
+Pointset_Powerset<PSET>::refine_with_congruence(const Congruence& cg) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
 	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->element().refine_with_congruence(cg);
+    si->pointset().refine_with_congruence(cg);
   x.reduced = false;
-  assert(x.OK());
-}
-
-template <typename PS>
-bool
-Pointset_Powerset<PS>::add_congruence_and_minimize(const Congruence& c) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-	 s_end = x.sequence.end(); si != s_end; )
-    if (!si->element().add_congruence_and_minimize(c))
-      si = x.sequence.erase(si);
-    else {
-      x.reduced = false;
-      ++si;
-    }
-  assert(x.OK());
-  return !x.empty();
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::add_congruences(const Congruence_System& cs) {
+Pointset_Powerset<PSET>::add_congruences(const Congruence_System& cs) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
 	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->element().add_congruences(cs);
+    si->pointset().add_congruences(cs);
   x.reduced = false;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::refine_with_congruences(const Congruence_System& cgs) {
+Pointset_Powerset<PSET>::refine_with_congruences(const Congruence_System& cgs) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
 	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->element().refine_with_congruences(cgs);
+    si->pointset().refine_with_congruences(cgs);
   x.reduced = false;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
-bool
-Pointset_Powerset<PS>::
-add_congruences_and_minimize(const Congruence_System& cs) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-	 s_end = x.sequence.end(); si != s_end; )
-    if (!si->element().add_congruences_and_minimize(cs))
-      si = x.sequence.erase(si);
-    else {
-      x.reduced = false;
-      ++si;
-    }
-  assert(x.OK());
-  return !x.empty();
-}
-
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::unconstrain(const Variable var) {
+Pointset_Powerset<PSET>::unconstrain(const Variable var) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    si->element().unconstrain(var);
+    si->pointset().unconstrain(var);
     x.reduced = false;
   }
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::unconstrain(const Variables_Set& to_be_unconstrained) {
+Pointset_Powerset<PSET>::unconstrain(const Variables_Set& vars) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    si->element().unconstrain(to_be_unconstrained);
+    si->pointset().unconstrain(vars);
     x.reduced = false;
   }
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::add_space_dimensions_and_embed(dimension_type m) {
+Pointset_Powerset<PSET>::add_space_dimensions_and_embed(dimension_type m) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
 	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->element().add_space_dimensions_and_embed(m);
+    si->pointset().add_space_dimensions_and_embed(m);
   x.space_dim += m;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::add_space_dimensions_and_project(dimension_type m) {
+Pointset_Powerset<PSET>::add_space_dimensions_and_project(dimension_type m) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
 	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->element().add_space_dimensions_and_project(m);
+    si->pointset().add_space_dimensions_and_project(m);
   x.space_dim += m;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::
-remove_space_dimensions(const Variables_Set& to_be_removed) {
+Pointset_Powerset<PSET>::remove_space_dimensions(const Variables_Set& vars) {
   Pointset_Powerset& x = *this;
-  Variables_Set::size_type num_removed = to_be_removed.size();
+  Variables_Set::size_type num_removed = vars.size();
   if (num_removed > 0) {
     for (Sequence_iterator si = x.sequence.begin(),
 	   s_end = x.sequence.end(); si != s_end; ++si) {
-      si->element().remove_space_dimensions(to_be_removed);
+      si->pointset().remove_space_dimensions(vars);
       x.reduced = false;
     }
     x.space_dim -= num_removed;
-    assert(x.OK());
+    PPL_ASSERT_HEAVY(x.OK());
   }
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::remove_higher_space_dimensions(dimension_type
-						      new_dimension) {
+Pointset_Powerset<PSET>
+::remove_higher_space_dimensions(dimension_type new_dimension) {
   Pointset_Powerset& x = *this;
   if (new_dimension < x.space_dim) {
     for (Sequence_iterator si = x.sequence.begin(),
 	   s_end = x.sequence.end(); si != s_end; ++si) {
-      si->element().remove_higher_space_dimensions(new_dimension);
+      si->pointset().remove_higher_space_dimensions(new_dimension);
       x.reduced = false;
     }
     x.space_dim = new_dimension;
-    assert(x.OK());
+    PPL_ASSERT_HEAVY(x.OK());
   }
 }
 
-template <typename PS>
+template <typename PSET>
 template <typename Partial_Function>
 void
-Pointset_Powerset<PS>::map_space_dimensions(const Partial_Function& pfunc) {
+Pointset_Powerset<PSET>::map_space_dimensions(const Partial_Function& pfunc) {
   Pointset_Powerset& x = *this;
   if (x.is_bottom()) {
     dimension_type n = 0;
@@ -75040,110 +80566,110 @@ Pointset_Powerset<PS>::map_space_dimensions(const Partial_Function& pfunc) {
     Sequence_iterator s_begin = x.sequence.begin();
     for (Sequence_iterator si = s_begin,
 	   s_end = x.sequence.end(); si != s_end; ++si)
-      si->element().map_space_dimensions(pfunc);
-    x.space_dim = s_begin->element().space_dimension();
+      si->pointset().map_space_dimensions(pfunc);
+    x.space_dim = s_begin->pointset().space_dimension();
     x.reduced = false;
   }
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::expand_space_dimension(Variable var,
-                                              dimension_type m) {
+Pointset_Powerset<PSET>::expand_space_dimension(Variable var,
+                                                dimension_type m) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si)
-    si->element().expand_space_dimension(var, m);
+    si->pointset().expand_space_dimension(var, m);
   x.space_dim += m;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::fold_space_dimensions(const Variables_Set& to_be_folded,
-                                             Variable var) {
+Pointset_Powerset<PSET>::fold_space_dimensions(const Variables_Set& vars,
+                                               Variable dest) {
   Pointset_Powerset& x = *this;
-  Variables_Set::size_type num_folded = to_be_folded.size();
+  Variables_Set::size_type num_folded = vars.size();
   if (num_folded > 0) {
     for (Sequence_iterator si = x.sequence.begin(),
            s_end = x.sequence.end(); si != s_end; ++si)
-      si->element().fold_space_dimensions(to_be_folded, var);
+      si->pointset().fold_space_dimensions(vars, dest);
   }
   x.space_dim -= num_folded;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::affine_image(Variable var,
-                                    const Linear_Expression& expr,
-                                    Coefficient_traits::const_reference
-                                    denominator) {
+Pointset_Powerset<PSET>::affine_image(Variable var,
+                                      const Linear_Expression& expr,
+                                      Coefficient_traits::const_reference
+                                      denominator) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    si->element().affine_image(var, expr, denominator);
+    si->pointset().affine_image(var, expr, denominator);
     // Note that the underlying domain can apply conservative approximation:
     // that is why it would not be correct to make the loss of reduction
     // conditional on `var' and `expr'.
     x.reduced = false;
   }
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::affine_preimage(Variable var,
-                                       const Linear_Expression& expr,
-                                       Coefficient_traits::const_reference
-                                       denominator) {
+Pointset_Powerset<PSET>::affine_preimage(Variable var,
+                                         const Linear_Expression& expr,
+                                         Coefficient_traits::const_reference
+                                         denominator) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    si->element().affine_preimage(var, expr, denominator);
+    si->pointset().affine_preimage(var, expr, denominator);
     // Note that the underlying domain can apply conservative approximation:
     // that is why it would not be correct to make the loss of reduction
     // conditional on `var' and `expr'.
     x.reduced = false;
   }
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>
+Pointset_Powerset<PSET>
 ::generalized_affine_image(const Linear_Expression& lhs,
                            const Relation_Symbol relsym,
                            const Linear_Expression& rhs) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    si->element().generalized_affine_image(lhs, relsym, rhs);
+    si->pointset().generalized_affine_image(lhs, relsym, rhs);
     x.reduced = false;
   }
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>
+Pointset_Powerset<PSET>
 ::generalized_affine_preimage(const Linear_Expression& lhs,
                               const Relation_Symbol relsym,
                               const Linear_Expression& rhs) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    si->element().generalized_affine_preimage(lhs, relsym, rhs);
+    si->pointset().generalized_affine_preimage(lhs, relsym, rhs);
     x.reduced = false;
   }
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>
+Pointset_Powerset<PSET>
 ::generalized_affine_image(Variable var,
                            const Relation_Symbol relsym,
                            const Linear_Expression& expr,
@@ -75151,31 +80677,33 @@ Pointset_Powerset<PS>
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    si->element().generalized_affine_image(var, relsym, expr, denominator);
+    si->pointset().generalized_affine_image(var, relsym, expr, denominator);
     x.reduced = false;
   }
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>
+Pointset_Powerset<PSET>
 ::generalized_affine_preimage(Variable var,
                               const Relation_Symbol relsym,
                               const Linear_Expression& expr,
-                              Coefficient_traits::const_reference denominator) {  Pointset_Powerset& x = *this;
+                              Coefficient_traits::const_reference
+                              denominator) {
+  Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    si->element().generalized_affine_preimage(var, relsym, expr, denominator);
+    si->pointset().generalized_affine_preimage(var, relsym, expr, denominator);
     x.reduced = false;
   }
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>
+Pointset_Powerset<PSET>
 ::bounded_affine_image(Variable var,
                        const Linear_Expression& lb_expr,
                        const Linear_Expression& ub_expr,
@@ -75183,15 +80711,15 @@ Pointset_Powerset<PS>
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    si->element().bounded_affine_image(var, lb_expr, ub_expr, denominator);
+    si->pointset().bounded_affine_image(var, lb_expr, ub_expr, denominator);
     x.reduced = false;
   }
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>
+Pointset_Powerset<PSET>
 ::bounded_affine_preimage(Variable var,
                           const Linear_Expression& lb_expr,
                           const Linear_Expression& ub_expr,
@@ -75199,16 +80727,16 @@ Pointset_Powerset<PS>
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    si->element().bounded_affine_preimage(var, lb_expr, ub_expr,
+    si->pointset().bounded_affine_preimage(var, lb_expr, ub_expr,
                                           denominator);
     x.reduced = false;
   }
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 dimension_type
-Pointset_Powerset<PS>::affine_dimension() const {
+Pointset_Powerset<PSET>::affine_dimension() const {
   // The affine dimension of the powerset is the affine dimension of
   // the smallest vector space in which it can be embedded.
   const Pointset_Powerset& x = *this;
@@ -75216,7 +80744,7 @@ Pointset_Powerset<PS>::affine_dimension() const {
 
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    PS pi(si->element());
+    PSET pi(si->pointset());
     if (!pi.is_empty()) {
       C_Polyhedron phi(space_dim);
       const Constraint_System& cs = pi.minimized_constraints();
@@ -75233,20 +80761,20 @@ Pointset_Powerset<PS>::affine_dimension() const {
   return x_ph.affine_dimension();
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>::is_universe() const {
+Pointset_Powerset<PSET>::is_universe() const {
   const Pointset_Powerset& x = *this;
   // Exploit omega-reduction, if already computed.
   if (x.is_omega_reduced())
-    return x.size() == 1 && x.begin()->element().is_universe();
+    return x.size() == 1 && x.begin()->pointset().is_universe();
 
   // A powerset is universe iff one of its disjuncts is.
   for (const_iterator x_i = x.begin(), x_end = x.end(); x_i != x_end; ++x_i)
-    if (x_i->element().is_universe()) {
+    if (x_i->pointset().is_universe()) {
       // Speculative omega-reduction, if it is worth.
       if (x.size() > 1) {
-        Pointset_Powerset<PS> universe(x.space_dimension(), UNIVERSE);
+        Pointset_Powerset<PSET> universe(x.space_dimension(), UNIVERSE);
         Pointset_Powerset& xx = const_cast<Pointset_Powerset&>(x);
         xx.swap(universe);
       }
@@ -75255,62 +80783,62 @@ Pointset_Powerset<PS>::is_universe() const {
   return false;
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>::is_empty() const {
+Pointset_Powerset<PSET>::is_empty() const {
   const Pointset_Powerset& x = *this;
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si)
-    if (!si->element().is_empty())
+    if (!si->pointset().is_empty())
       return false;
   return true;
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>::is_discrete() const {
+Pointset_Powerset<PSET>::is_discrete() const {
   const Pointset_Powerset& x = *this;
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si)
-    if (!si->element().is_discrete())
+    if (!si->pointset().is_discrete())
       return false;
   return true;
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>::is_topologically_closed() const {
+Pointset_Powerset<PSET>::is_topologically_closed() const {
   const Pointset_Powerset& x = *this;
   // The powerset must be omega-reduced before checking
   // topological closure.
   x.omega_reduce();
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si)
-    if (!si->element().is_topologically_closed())
+    if (!si->pointset().is_topologically_closed())
       return false;
   return true;
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>::is_bounded() const {
+Pointset_Powerset<PSET>::is_bounded() const {
   const Pointset_Powerset& x = *this;
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si)
-    if (!si->element().is_bounded())
+    if (!si->pointset().is_bounded())
       return false;
   return true;
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>::constrains(Variable var) const {
+Pointset_Powerset<PSET>::constrains(Variable var) const {
   const Pointset_Powerset& x = *this;
   // `var' should be one of the dimensions of the powerset.
   const dimension_type var_space_dim = var.space_dimension();
   if (x.space_dimension() < var_space_dim) {
     std::ostringstream s;
-    s << "PPL::Pointset_Powerset<PS>::constrains(v):\n"
+    s << "PPL::Pointset_Powerset<PSET>::constrains(v):\n"
       << "this->space_dimension() == " << x.space_dimension() << ", "
       << "v.space_dimension() == " << var_space_dim << ".";
     throw std::invalid_argument(s.str());
@@ -75321,21 +80849,21 @@ Pointset_Powerset<PS>::constrains(Variable var) const {
   if (x.is_empty())
     return true;
   for (const_iterator x_i = x.begin(), x_end = x.end(); x_i != x_end; ++x_i)
-    if (x_i->element().constrains(var))
+    if (x_i->pointset().constrains(var))
       return true;
   return false;
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>::is_disjoint_from(const Pointset_Powerset& y) const {
+Pointset_Powerset<PSET>::is_disjoint_from(const Pointset_Powerset& y) const {
   const Pointset_Powerset& x = *this;
   for (Sequence_const_iterator si = x.sequence.begin(),
          xs_end = x.sequence.end(); si != xs_end; ++si) {
-    const PS& pi = si->element();
+    const PSET& pi = si->pointset();
     for (Sequence_const_iterator sj = y.sequence.begin(),
            ys_end = y.sequence.end(); sj != ys_end; ++sj) {
-      const PS& pj = sj->element();
+      const PSET& pj = sj->pointset();
       if (!pi.is_disjoint_from(pj))
         return false;
     }
@@ -75343,43 +80871,68 @@ Pointset_Powerset<PS>::is_disjoint_from(const Pointset_Powerset& y) const {
   return true;
 }
 
-template <typename PS>
+template <typename PSET>
+void
+Pointset_Powerset<PSET>
+::drop_some_non_integer_points(const Variables_Set& vars,
+			       Complexity_Class complexity) {
+  Pointset_Powerset& x = *this;
+  for (Sequence_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si)
+    si->pointset().drop_some_non_integer_points(vars, complexity);
+  x.reduced = false;
+  PPL_ASSERT_HEAVY(x.OK());
+}
+
+template <typename PSET>
+void
+Pointset_Powerset<PSET>
+::drop_some_non_integer_points(Complexity_Class complexity) {
+  Pointset_Powerset& x = *this;
+  for (Sequence_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si)
+    si->pointset().drop_some_non_integer_points(complexity);
+  x.reduced = false;
+  PPL_ASSERT_HEAVY(x.OK());
+}
+
+template <typename PSET>
 void
-Pointset_Powerset<PS>::topological_closure_assign() {
+Pointset_Powerset<PSET>::topological_closure_assign() {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si)
-    si->element().topological_closure_assign();
-  assert(x.OK());
+    si->pointset().topological_closure_assign();
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>
-::intersection_preserving_enlarge_element(PS& to_be_enlarged) const {
+Pointset_Powerset<PSET>
+::intersection_preserving_enlarge_element(PSET& dest) const {
   // FIXME: this is just an executable specification.
   const Pointset_Powerset& context = *this;
-  assert(context.space_dimension() == to_be_enlarged.space_dimension());
+  PPL_ASSERT(context.space_dimension() == dest.space_dimension());
   bool nonempty_intersection = false;
   // TODO: maybe use a *sorted* constraint system?
-  PS enlarged(context.space_dimension(), UNIVERSE);
+  PSET enlarged(context.space_dimension(), UNIVERSE);
   for (Sequence_const_iterator si = context.sequence.begin(),
          s_end = context.sequence.end(); si != s_end; ++si) {
-    PS context_i(si->element());
+    PSET context_i(si->pointset());
     context_i.intersection_assign(enlarged);
-    PS enlarged_i(to_be_enlarged);
+    PSET enlarged_i(dest);
     nonempty_intersection
       |= enlarged_i.simplify_using_context_assign(context_i);
     // TODO: merge the sorted constraints of `enlarged' and `enlarged_i'?
     enlarged.intersection_assign(enlarged_i);
   }
-  to_be_enlarged.swap(enlarged);
+  dest.swap(enlarged);
   return nonempty_intersection;
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>
+Pointset_Powerset<PSET>
 ::simplify_using_context_assign(const Pointset_Powerset& y) {
   Pointset_Powerset& x = *this;
 
@@ -75399,10 +80952,10 @@ Pointset_Powerset<PS>
 
   if (y.size() == 1) {
     // More efficient, special handling of the singleton context case.
-    const PS& y_i = y.sequence.begin()->element();
+    const PSET& y_i = y.sequence.begin()->pointset();
     for (Sequence_iterator si = x.sequence.begin(),
            s_end = x.sequence.end(); si != s_end; ) {
-      PS& x_i = si->element();
+      PSET& x_i = si->pointset();
       if (x_i.simplify_using_context_assign(y_i))
         ++si;
       else
@@ -75414,7 +80967,7 @@ Pointset_Powerset<PS>
     // The context is not a singleton.
     for (Sequence_iterator si = x.sequence.begin(),
            s_end = x.sequence.end(); si != s_end; ) {
-      if (y.intersection_preserving_enlarge_element(si->element()))
+      if (y.intersection_preserving_enlarge_element(si->pointset()))
         ++si;
       else
         // Intersection with `*si' is empty: drop the disjunct.
@@ -75422,22 +80975,22 @@ Pointset_Powerset<PS>
     }
   }
   x.reduced = false;
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
   return !x.sequence.empty();
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>::contains(const Pointset_Powerset& y) const {
+Pointset_Powerset<PSET>::contains(const Pointset_Powerset& y) const {
   const Pointset_Powerset& x = *this;
   for (Sequence_const_iterator si = y.sequence.begin(),
          ys_end = y.sequence.end(); si != ys_end; ++si) {
-    const PS& pi = si->element();
+    const PSET& pi = si->pointset();
     bool pi_is_contained = false;
     for (Sequence_const_iterator sj = x.sequence.begin(),
            xs_end = x.sequence.end();
          (sj != xs_end && !pi_is_contained); ++sj) {
-      const PS& pj = sj->element();
+      const PSET& pj = sj->pointset();
       if (pj.contains(pi))
         pi_is_contained = true;
     }
@@ -75447,9 +81000,9 @@ Pointset_Powerset<PS>::contains(const Pointset_Powerset& y) const {
   return true;
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>::strictly_contains(const Pointset_Powerset& y) const {
+Pointset_Powerset<PSET>::strictly_contains(const Pointset_Powerset& y) const {
   /* omega reduction ensures that a disjunct of y cannot be strictly
      contained in one disjunct and also contained but not strictly
      contained in another disjunct of *this */
@@ -75457,12 +81010,12 @@ Pointset_Powerset<PS>::strictly_contains(const Pointset_Powerset& y) const {
   x.omega_reduce();
   for (Sequence_const_iterator si = y.sequence.begin(),
          ys_end = y.sequence.end(); si != ys_end; ++si) {
-    const PS& pi = si->element();
+    const PSET& pi = si->pointset();
     bool pi_is_strictly_contained = false;
     for (Sequence_const_iterator sj = x.sequence.begin(),
            xs_end = x.sequence.end();
          (sj != xs_end && !pi_is_strictly_contained); ++sj) {
-      const PS& pj = sj->element();
+      const PSET& pj = sj->pointset();
       if (pj.strictly_contains(pi))
         pi_is_strictly_contained = true;
     }
@@ -75472,9 +81025,9 @@ Pointset_Powerset<PS>::strictly_contains(const Pointset_Powerset& y) const {
   return true;
 }
 
-template <typename PS>
+template <typename PSET>
 Poly_Con_Relation
-Pointset_Powerset<PS>::relation_with(const Congruence& cg) const {
+Pointset_Powerset<PSET>::relation_with(const Congruence& cg) const {
   const Pointset_Powerset& x = *this;
 
   /* *this is included in cg if every disjunct is included in cg */
@@ -75490,7 +81043,7 @@ Pointset_Powerset<PS>::relation_with(const Congruence& cg) const {
   bool may_saturate = true;
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    Poly_Con_Relation relation_i = si->element().relation_with(cg);
+    Poly_Con_Relation relation_i = si->pointset().relation_with(cg);
     if (!relation_i.implies(Poly_Con_Relation::is_included()))
       is_included = false;
     if (!relation_i.implies(Poly_Con_Relation::is_disjoint()))
@@ -75516,9 +81069,9 @@ Pointset_Powerset<PS>::relation_with(const Congruence& cg) const {
   return result;
 }
 
-template <typename PS>
+template <typename PSET>
 Poly_Con_Relation
-Pointset_Powerset<PS>::relation_with(const Constraint& c) const {
+Pointset_Powerset<PSET>::relation_with(const Constraint& c) const {
   const Pointset_Powerset& x = *this;
 
   /* *this is included in c if every disjunct is included in c */
@@ -75534,7 +81087,7 @@ Pointset_Powerset<PS>::relation_with(const Constraint& c) const {
   bool may_saturate = true;
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    Poly_Con_Relation relation_i = si->element().relation_with(c);
+    Poly_Con_Relation relation_i = si->pointset().relation_with(c);
     if (!relation_i.implies(Poly_Con_Relation::is_included()))
       is_included = false;
     if (!relation_i.implies(Poly_Con_Relation::is_disjoint()))
@@ -75560,14 +81113,14 @@ Pointset_Powerset<PS>::relation_with(const Constraint& c) const {
   return result;
 }
 
-template <typename PS>
+template <typename PSET>
 Poly_Gen_Relation
-Pointset_Powerset<PS>::relation_with(const Generator& g) const {
+Pointset_Powerset<PSET>::relation_with(const Generator& g) const {
   const Pointset_Powerset& x = *this;
 
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    Poly_Gen_Relation relation_i = si->element().relation_with(g);
+    Poly_Gen_Relation relation_i = si->pointset().relation_with(g);
     if (relation_i.implies(Poly_Gen_Relation::subsumes()))
       return Poly_Gen_Relation::subsumes();
   }
@@ -75575,40 +81128,43 @@ Pointset_Powerset<PS>::relation_with(const Generator& g) const {
   return Poly_Gen_Relation::nothing();
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>
+Pointset_Powerset<PSET>
 ::bounds_from_above(const Linear_Expression& expr) const {
   const Pointset_Powerset& x = *this;
   x.omega_reduce();
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si)
-    if (!si->element().bounds_from_above(expr))
+    if (!si->pointset().bounds_from_above(expr))
       return false;
   return true;
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>
+Pointset_Powerset<PSET>
 ::bounds_from_below(const Linear_Expression& expr) const {
   const Pointset_Powerset& x = *this;
   x.omega_reduce();
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si)
-    if (!si->element().bounds_from_below(expr))
+    if (!si->pointset().bounds_from_below(expr))
       return false;
   return true;
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>::maximize(const Linear_Expression& expr,
-                                Coefficient& sup_n,
-                                Coefficient& sup_d,
-                                bool& maximum) const {
+Pointset_Powerset<PSET>::maximize(const Linear_Expression& expr,
+                                  Coefficient& sup_n,
+                                  Coefficient& sup_d,
+                                  bool& maximum) const {
   const Pointset_Powerset& x = *this;
   x.omega_reduce();
+  if (x.is_empty())
+    return false;
+
   bool first = true;
 
   PPL_DIRTY_TEMP_COEFFICIENT(supt_n);
@@ -75627,7 +81183,7 @@ Pointset_Powerset<PS>::maximize(const Linear_Expression& expr,
 
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    if (!si->element().maximize(expr, supi_n, supi_d, maxi))
+    if (!si->pointset().maximize(expr, supi_n, supi_d, maxi))
       return false;
     else
       if (first) {
@@ -75653,15 +81209,18 @@ Pointset_Powerset<PS>::maximize(const Linear_Expression& expr,
   return true;
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>::maximize(const Linear_Expression& expr,
-                                Coefficient& sup_n,
-                                Coefficient& sup_d,
-                                bool& maximum,
-                                Generator& g) const {
+Pointset_Powerset<PSET>::maximize(const Linear_Expression& expr,
+                                  Coefficient& sup_n,
+                                  Coefficient& sup_d,
+                                  bool& maximum,
+                                  Generator& g) const {
   const Pointset_Powerset& x = *this;
   x.omega_reduce();
+  if (x.is_empty())
+    return false;
+
   bool first = true;
 
   PPL_DIRTY_TEMP_COEFFICIENT(supt_n);
@@ -75682,7 +81241,7 @@ Pointset_Powerset<PS>::maximize(const Linear_Expression& expr,
 
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    if (!si->element().maximize(expr, supi_n, supi_d, maxi, gi))
+    if (!si->pointset().maximize(expr, supi_n, supi_d, maxi, gi))
       return false;
     else
       if (first) {
@@ -75713,14 +81272,17 @@ Pointset_Powerset<PS>::maximize(const Linear_Expression& expr,
   return true;
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>::minimize(const Linear_Expression& expr,
-                                Coefficient& inf_n,
-                                Coefficient& inf_d,
-                                bool& minimum) const {
+Pointset_Powerset<PSET>::minimize(const Linear_Expression& expr,
+                                  Coefficient& inf_n,
+                                  Coefficient& inf_d,
+                                  bool& minimum) const {
   const Pointset_Powerset& x = *this;
   x.omega_reduce();
+  if (x.is_empty())
+    return false;
+
   bool first = true;
 
   PPL_DIRTY_TEMP_COEFFICIENT(inft_n);
@@ -75739,7 +81301,7 @@ Pointset_Powerset<PS>::minimize(const Linear_Expression& expr,
 
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    if (!si->element().minimize(expr, infi_n, infi_d, mini))
+    if (!si->pointset().minimize(expr, infi_n, infi_d, mini))
       return false;
     else
       if (first) {
@@ -75765,15 +81327,18 @@ Pointset_Powerset<PS>::minimize(const Linear_Expression& expr,
   return true;
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>::minimize(const Linear_Expression& expr,
-                                Coefficient& inf_n,
-                                Coefficient& inf_d,
-                                bool& minimum,
-                                Generator& g) const {
+Pointset_Powerset<PSET>::minimize(const Linear_Expression& expr,
+                                  Coefficient& inf_n,
+                                  Coefficient& inf_d,
+                                  bool& minimum,
+                                  Generator& g) const {
   const Pointset_Powerset& x = *this;
   x.omega_reduce();
+  if (x.is_empty())
+    return false;
+
   bool first = true;
 
   PPL_DIRTY_TEMP_COEFFICIENT(inft_n);
@@ -75794,7 +81359,7 @@ Pointset_Powerset<PS>::minimize(const Linear_Expression& expr,
 
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    if (!si->element().minimize(expr, infi_n, infi_d, mini, gi))
+    if (!si->pointset().minimize(expr, infi_n, infi_d, mini, gi))
       return false;
     else
       if (first) {
@@ -75825,20 +81390,38 @@ Pointset_Powerset<PS>::minimize(const Linear_Expression& expr,
   return true;
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>::contains_integer_point() const {
+Pointset_Powerset<PSET>::contains_integer_point() const {
   const Pointset_Powerset& x = *this;
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si)
-    if (si->element().contains_integer_point())
+    if (si->pointset().contains_integer_point())
       return true;
   return false;
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::pairwise_reduce() {
+Pointset_Powerset<PSET>::wrap_assign(const Variables_Set& vars,
+                                     Bounded_Integer_Type_Width w,
+                                     Bounded_Integer_Type_Representation r,
+                                     Bounded_Integer_Type_Overflow o,
+                                     const Constraint_System* pcs,
+                                     unsigned complexity_threshold,
+                                     bool wrap_individually) {
+  Pointset_Powerset& x = *this;
+  for (Sequence_iterator si = x.sequence.begin(),
+	 s_end = x.sequence.end(); si != s_end; ++si)
+    si->pointset().wrap_assign(vars, w, r, o, pcs,
+                               complexity_threshold, wrap_individually);
+  x.reduced = false;
+  PPL_ASSERT_HEAVY(x.OK());
+}
+
+template <typename PSET>
+void
+Pointset_Powerset<PSET>::pairwise_reduce() {
   Pointset_Powerset& x = *this;
   // It is wise to omega-reduce before pairwise-reducing.
   x.omega_reduce();
@@ -75855,13 +81438,13 @@ Pointset_Powerset<PS>::pairwise_reduce() {
     for (Sequence_iterator si = s_begin; si != s_end; ++si, ++si_index) {
       if (marked[si_index])
 	continue;
-      PS& pi = si->element();
+      PSET& pi = si->pointset();
       Sequence_const_iterator sj = si;
       unsigned sj_index = si_index;
       for (++sj, ++sj_index; sj != s_end; ++sj, ++sj_index) {
 	if (marked[sj_index])
 	  continue;
-	const PS& pj = sj->element();
+	const PSET& pj = sj->pointset();
 	if (pi.upper_bound_assign_if_exact(pj)) {
 	  marked[si_index] = marked[sj_index] = true;
 	  new_x.add_non_bottom_disjunct_preserve_reduction(pi);
@@ -75884,13 +81467,13 @@ Pointset_Powerset<PS>::pairwise_reduce() {
     std::swap(x.sequence, new_x.sequence);
     n -= deleted;
   } while (deleted > 0);
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename PS>
+template <typename PSET>
 template <typename Widening>
 void
-Pointset_Powerset<PS>::
+Pointset_Powerset<PSET>::
 BGP99_heuristics_assign(const Pointset_Powerset& y, Widening wf) {
   // `x' is the current iteration value.
   Pointset_Powerset& x = *this;
@@ -75898,9 +81481,9 @@ BGP99_heuristics_assign(const Pointset_Powerset& y, Widening wf) {
 #ifndef NDEBUG
   {
     // We assume that `y' entails `x'.
-    const Pointset_Powerset<PS> x_copy = x;
-    const Pointset_Powerset<PS> y_copy = y;
-    assert(y_copy.definitely_entails(x_copy));
+    const Pointset_Powerset<PSET> x_copy = x;
+    const Pointset_Powerset<PSET> y_copy = y;
+    PPL_ASSERT_HEAVY(y_copy.definitely_entails(x_copy));
   }
 #endif
 
@@ -75913,10 +81496,10 @@ BGP99_heuristics_assign(const Pointset_Powerset& y, Widening wf) {
   for (const_iterator i = x_begin,
 	 y_begin = y.begin(), y_end = y.end(); i != x_end; ++i, ++i_index)
     for (const_iterator j = y_begin; j != y_end; ++j) {
-      const PS& pi = i->element();
-      const PS& pj = j->element();
+      const PSET& pi = i->pointset();
+      const PSET& pj = j->pointset();
       if (pi.contains(pj)) {
-	PS pi_copy = pi;
+	PSET pi_copy = pi;
 	wf(pi_copy, pj);
 	new_x.add_non_bottom_disjunct_preserve_reduction(pi_copy);
 	marked[i_index] = true;
@@ -75931,14 +81514,14 @@ BGP99_heuristics_assign(const Pointset_Powerset& y, Widening wf) {
 								  nx_begin,
 								  nx_end);
   std::swap(x.sequence, new_x.sequence);
-  assert(x.OK());
-  assert(x.is_omega_reduced());
+  PPL_ASSERT_HEAVY(x.OK());
+  PPL_ASSERT(x.is_omega_reduced());
 }
 
-template <typename PS>
+template <typename PSET>
 template <typename Widening>
 void
-Pointset_Powerset<PS>::
+Pointset_Powerset<PSET>::
 BGP99_extrapolation_assign(const Pointset_Powerset& y,
 			   Widening wf,
 			   unsigned max_disjuncts) {
@@ -75948,9 +81531,9 @@ BGP99_extrapolation_assign(const Pointset_Powerset& y,
 #ifndef NDEBUG
   {
     // We assume that `y' entails `x'.
-    const Pointset_Powerset<PS> x_copy = x;
-    const Pointset_Powerset<PS> y_copy = y;
-    assert(y_copy.definitely_entails(x_copy));
+    const Pointset_Powerset<PSET> x_copy = x;
+    const Pointset_Powerset<PSET> y_copy = y;
+    PPL_ASSERT_HEAVY(y_copy.definitely_entails(x_copy));
   }
 #endif
 
@@ -75960,28 +81543,27 @@ BGP99_extrapolation_assign(const Pointset_Powerset& y,
   x.BGP99_heuristics_assign(y, wf);
 }
 
-template <typename PS>
+template <typename PSET>
 template <typename Cert>
 void
-Pointset_Powerset<PS>::
+Pointset_Powerset<PSET>::
 collect_certificates(std::map<Cert, size_type,
                      typename Cert::Compare>& cert_ms) const {
   const Pointset_Powerset& x = *this;
-  assert(x.is_omega_reduced());
-  assert(cert_ms.size() == 0);
+  PPL_ASSERT(x.is_omega_reduced());
+  PPL_ASSERT(cert_ms.size() == 0);
   for (const_iterator i = x.begin(), end = x.end(); i != end; i++) {
-    Cert ph_cert(i->element());
+    Cert ph_cert(i->pointset());
     ++cert_ms[ph_cert];
   }
 }
 
-template <typename PS>
+template <typename PSET>
 template <typename Cert>
 bool
-Pointset_Powerset<PS>::
+Pointset_Powerset<PSET>::
 is_cert_multiset_stabilizing(const std::map<Cert, size_type,
-                             typename Cert::Compare>& y_cert_ms
-			     ) const {
+                             typename Cert::Compare>& y_cert_ms) const {
   typedef std::map<Cert, size_type, typename Cert::Compare> Cert_Multiset;
   Cert_Multiset x_cert_ms;
   collect_certificates(x_cert_ms);
@@ -76023,39 +81605,39 @@ is_cert_multiset_stabilizing(const std::map<Cert, size_type,
   return yi != y_cert_ms_end;
 }
 
-template <typename PS>
+template <typename PSET>
 template <typename Cert, typename Widening>
 void
-Pointset_Powerset<PS>::BHZ03_widening_assign(const Pointset_Powerset& y,
-                                             Widening wf) {
+Pointset_Powerset<PSET>::BHZ03_widening_assign(const Pointset_Powerset& y,
+                                               Widening wf) {
   // `x' is the current iteration value.
   Pointset_Powerset& x = *this;
 
 #ifndef NDEBUG
   {
     // We assume that `y' entails `x'.
-    const Pointset_Powerset<PS> x_copy = x;
-    const Pointset_Powerset<PS> y_copy = y;
-    assert(y_copy.definitely_entails(x_copy));
+    const Pointset_Powerset<PSET> x_copy = x;
+    const Pointset_Powerset<PSET> y_copy = y;
+    PPL_ASSERT_HEAVY(y_copy.definitely_entails(x_copy));
   }
 #endif
 
   // First widening technique: do nothing.
 
   // If `y' is the empty collection, do nothing.
-  assert(x.size() > 0);
+  PPL_ASSERT(x.size() > 0);
   if (y.size() == 0)
     return;
 
   // Compute the poly-hull of `x'.
-  PS x_hull(x.space_dim, EMPTY);
+  PSET x_hull(x.space_dim, EMPTY);
   for (const_iterator i = x.begin(), x_end = x.end(); i != x_end; ++i)
-    x_hull.upper_bound_assign(i->element());
+    x_hull.upper_bound_assign(i->pointset());
 
   // Compute the poly-hull of `y'.
-  PS y_hull(y.space_dim, EMPTY);
+  PSET y_hull(y.space_dim, EMPTY);
   for (const_iterator i = y.begin(), y_end = y.end(); i != y_end; ++i)
-    y_hull.upper_bound_assign(i->element());
+    y_hull.upper_bound_assign(i->pointset());
   // Compute the certificate for `y_hull'.
   const Cert y_hull_cert(y_hull);
 
@@ -76083,14 +81665,14 @@ Pointset_Powerset<PS>::BHZ03_widening_assign(const Pointset_Powerset& y,
   }
 
   // Second widening technique: try the BGP99 powerset heuristics.
-  Pointset_Powerset<PS> bgp99_heuristics = x;
+  Pointset_Powerset<PSET> bgp99_heuristics = x;
   bgp99_heuristics.BGP99_heuristics_assign(y, wf);
 
   // Compute the poly-hull of `bgp99_heuristics'.
-  PS bgp99_heuristics_hull(x.space_dim, EMPTY);
+  PSET bgp99_heuristics_hull(x.space_dim, EMPTY);
   for (const_iterator i = bgp99_heuristics.begin(),
 	 bh_end = bgp99_heuristics.end(); i != bh_end; ++i)
-    bgp99_heuristics_hull.upper_bound_assign(i->element());
+    bgp99_heuristics_hull.upper_bound_assign(i->pointset());
 
   // Check for stabilization and, if successful,
   // commit to the result of the extrapolation.
@@ -76114,7 +81696,7 @@ Pointset_Powerset<PS>::BHZ03_widening_assign(const Pointset_Powerset& y,
     // Note that pairwise-reduction does not affect the computation
     // of the poly-hulls, so that we only have to check the multiset
     // certificate relation.
-    Pointset_Powerset<PS> reduced_bgp99_heuristics(bgp99_heuristics);
+    Pointset_Powerset<PSET> reduced_bgp99_heuristics(bgp99_heuristics);
     reduced_bgp99_heuristics.pairwise_reduce();
     if (reduced_bgp99_heuristics.is_cert_multiset_stabilizing(y_cert_ms)) {
       std::swap(x, reduced_bgp99_heuristics);
@@ -76126,7 +81708,7 @@ Pointset_Powerset<PS>::BHZ03_widening_assign(const Pointset_Powerset& y,
   // `y_hull' is a proper subset of `bgp99_heuristics_hull'.
   if (bgp99_heuristics_hull.strictly_contains(y_hull)) {
     // Compute (y_hull \widen bgp99_heuristics_hull).
-    PS ph = bgp99_heuristics_hull;
+    PSET ph = bgp99_heuristics_hull;
     wf(ph, y_hull);
     // Compute the difference between `ph' and `bgp99_heuristics_hull'.
     ph.difference_assign(bgp99_heuristics_hull);
@@ -76135,27 +81717,27 @@ Pointset_Powerset<PS>::BHZ03_widening_assign(const Pointset_Powerset& y,
   }
 
   // Fall back to the computation of the poly-hull.
-  Pointset_Powerset<PS> x_hull_singleton(x.space_dim, EMPTY);
+  Pointset_Powerset<PSET> x_hull_singleton(x.space_dim, EMPTY);
   x_hull_singleton.add_disjunct(x_hull);
   std::swap(x, x_hull_singleton);
 }
 
-template <typename PS>
+template <typename PSET>
 void
-Pointset_Powerset<PS>::ascii_dump(std::ostream& s) const {
+Pointset_Powerset<PSET>::ascii_dump(std::ostream& s) const {
   const Pointset_Powerset& x = *this;
   s << "size " << x.size()
     << "\nspace_dim " << x.space_dim
     << "\n";
   for (const_iterator xi = x.begin(), x_end = x.end(); xi != x_end; ++xi)
-    xi->element().ascii_dump(s);
+    xi->pointset().ascii_dump(s);
 }
 
-PPL_OUTPUT_TEMPLATE_DEFINITIONS(PS, Pointset_Powerset<PS>)
+PPL_OUTPUT_TEMPLATE_DEFINITIONS(PSET, Pointset_Powerset<PSET>)
 
-  template <typename PS>
+  template <typename PSET>
 bool
-Pointset_Powerset<PS>::ascii_load(std::istream& s) {
+Pointset_Powerset<PSET>::ascii_load(std::istream& s) {
   Pointset_Powerset& x = *this;
   std::string str;
 
@@ -76175,7 +81757,7 @@ Pointset_Powerset<PS>::ascii_load(std::istream& s) {
 
   Pointset_Powerset new_x(x.space_dim, EMPTY);
   while (sz-- > 0) {
-    PS ph;
+    PSET ph;
     if (!ph.ascii_load(s))
       return false;
     new_x.add_disjunct(ph);
@@ -76183,16 +81765,16 @@ Pointset_Powerset<PS>::ascii_load(std::istream& s) {
   x.swap(new_x);
 
   // Check invariants.
-  assert(x.OK());
+  PPL_ASSERT_HEAVY(x.OK());
   return true;
 }
 
-template <typename PS>
+template <typename PSET>
 bool
-Pointset_Powerset<PS>::OK() const {
+Pointset_Powerset<PSET>::OK() const {
   const Pointset_Powerset& x = *this;
   for (const_iterator xi = x.begin(), x_end = x.end(); xi != x_end; ++xi) {
-    const PS& pi = xi->element();
+    const PSET& pi = xi->pointset();
     if (pi.space_dimension() != x.space_dim) {
 #ifndef NDEBUG
       std::cerr << "Space dimension mismatch: is " << pi.space_dimension()
@@ -76218,10 +81800,10 @@ namespace Pointset_Powersets {
   is added as a new disjunct of the powerset \p r.
 */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename PS>
+template <typename PSET>
 void
 linear_partition_aux(const Constraint& c,
-		     PS& qq,
+		     PSET& qq,
 		     Pointset_Powerset<NNC_Polyhedron>& r) {
   Linear_Expression le(c);
   const Constraint& neg_c = c.is_strict_inequality() ? (le <= 0) : (le < 0);
@@ -76238,13 +81820,13 @@ linear_partition_aux(const Constraint& c,
 
 
 /*! \relates Pointset_Powerset */
-template <typename PS>
-std::pair<PS, Pointset_Powerset<NNC_Polyhedron> >
-linear_partition(const PS& p, const PS& q) {
+template <typename PSET>
+std::pair<PSET, Pointset_Powerset<NNC_Polyhedron> >
+linear_partition(const PSET& p, const PSET& q) {
   using Implementation::Pointset_Powersets::linear_partition_aux;
 
   Pointset_Powerset<NNC_Polyhedron> r(p.space_dimension(), EMPTY);
-  PS qq = q;
+  PSET qq = q;
   const Constraint_System& pcs = p.constraints();
   for (Constraint_System::const_iterator i = pcs.begin(),
 	 pcs_end = pcs.end(); i != pcs_end; ++i) {
@@ -76262,11 +81844,11 @@ linear_partition(const PS& p, const PS& q) {
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Pointset_Powerset.defs.hh line 1448. */
+/* Automatically generated from PPL source file ../src/Pointset_Powerset.defs.hh line 1454. */
 
 /* Automatically generated from PPL source file ../src/algorithms.hh line 28. */
 #include <utility>
-#include <cassert>
+/* Automatically generated from PPL source file ../src/algorithms.hh line 30. */
 
 namespace Parma_Polyhedra_Library {
 
@@ -76300,7 +81882,7 @@ poly_hull_assign_if_exact(PH& p, const PH& q) {
     // The polyhedral hull is exact if and only if all the elements
     // of the partition of the polyhedral hull of `p' and `q' with
     // respect to `q' are included in `p'
-    if (!nnc_p.contains(i->element()))
+    if (!nnc_p.contains(i->pointset()))
       return false;
   p = phull;
   return true;
@@ -76308,12 +81890,979 @@ poly_hull_assign_if_exact(PH& p, const PH& q) {
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/wrap.hh line 1. */
+/* Automatically generated from PPL source file ../src/termination.defs.hh line 1. */
+/* Utilities for termination analysis: declarations.
+*/
+
+
+/* Automatically generated from PPL source file ../src/termination.defs.hh line 29. */
+
+namespace Parma_Polyhedra_Library {
+
+/*! \brief
+  Termination test using an improvement of the method by Mesnard and
+  Serebrenik \ref BMPZ10 "[BMPZ10]".
+
+  \tparam PSET
+  Any pointset supported by the PPL that provides the
+  <CODE>minimized_constraints()</CODE> method.
+
+  \param pset
+  A pointset approximating the behavior of a loop whose termination
+  is being analyzed.  The variables indices are allocated as follows:
+  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$,
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ n, \ldots, 2n-1 \f$,
+  .
+  where unprimed variables represent the values of the loop-relevant
+  program variables before the update performed in the loop body,
+  and primed variables represent the values of those program variables
+  after the update.
+
+  \return
+  <CODE>true</CODE> if any loop approximated by \p pset definitely
+  terminates; <CODE>false</CODE> if the test is inconclusive.
+  However, if \p pset <EM>precisely</EM> characterizes the effect
+  of the loop body onto the loop-relevant program variables,
+  then <CODE>true</CODE> is returned <EM>if and only if</EM>
+  the loop terminates.
+*/
+template <typename PSET>
+bool
+termination_test_MS(const PSET& pset);
+
+/*! \brief
+  Termination test using an improvement of the method by Mesnard and
+  Serebrenik \ref BMPZ10 "[BMPZ10]".
+
+  \tparam PSET
+  Any pointset supported by the PPL that provides the
+  <CODE>minimized_constraints()</CODE> method.
+
+  \param pset_before
+  A pointset approximating the values of loop-relevant variables
+  <EM>before</EM> the update performed in the loop body that is being
+  analyzed.  The variables indices are allocated as follows:
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$.
+
+  \param pset_after
+  A pointset approximating the values of loop-relevant variables
+  <EM>after</EM> the update performed in the loop body that is being
+  analyzed.  The variables indices are allocated as follows:
+  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$,
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ n, \ldots, 2n-1 \f$,
+
+  Note that unprimed variables represent the values of the loop-relevant
+  program variables before the update performed in the loop body,
+  and primed variables represent the values of those program variables
+  after the update.  Note also that unprimed variables are assigned
+  to different space dimensions in \p pset_before and \p pset_after.
+
+  \return
+  <CODE>true</CODE> if any loop approximated by \p pset definitely
+  terminates; <CODE>false</CODE> if the test is inconclusive.
+  However, if \p pset_before and \p pset_after <EM>precisely</EM>
+  characterize the effect of the loop body onto the loop-relevant
+  program variables, then <CODE>true</CODE> is returned
+  <EM>if and only if</EM> the loop terminates.
+*/
+template <typename PSET>
+bool
+termination_test_MS_2(const PSET& pset_before, const PSET& pset_after);
+
+/*! \brief
+  Termination test with witness ranking function using an improvement
+  of the method by Mesnard and Serebrenik \ref BMPZ10 "[BMPZ10]".
+
+  \tparam PSET
+  Any pointset supported by the PPL that provides the
+  <CODE>minimized_constraints()</CODE> method.
+
+  \param pset
+  A pointset approximating the behavior of a loop whose termination
+  is being analyzed.  The variables indices are allocated as follows:
+  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$,
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ n, \ldots, 2n-1 \f$,
+  .
+  where unprimed variables represent the values of the loop-relevant
+  program variables before the update performed in the loop body,
+  and primed variables represent the values of those program variables
+  after the update.
+
+  \param mu
+  When <CODE>true</CODE> is returned, this is assigned a point
+  of space dimension \f$ n+1 \f$ encoding one (not further specified)
+  affine ranking function for the loop being analyzed.
+  The ranking function is of the form \f$ \mu_0 + \sum_{i=1}^n \mu_i x_i \f$
+  where \f$ \mu_0, \mu_1, \ldots, \mu_n \f$ are the coefficients
+  of \p mu corresponding to the space dimensions \f$ n, 0, \ldots, n-1 \f$,
+  respectively.
+
+  \return
+  <CODE>true</CODE> if any loop approximated by \p pset definitely
+  terminates; <CODE>false</CODE> if the test is inconclusive.
+  However, if \p pset <EM>precisely</EM> characterizes the effect
+  of the loop body onto the loop-relevant program variables,
+  then <CODE>true</CODE> is returned <EM>if and only if</EM>
+  the loop terminates.
+*/
+template <typename PSET>
+bool
+one_affine_ranking_function_MS(const PSET& pset, Generator& mu);
+
+/*! \brief
+  Termination test with witness ranking function using an improvement
+  of the method by Mesnard and Serebrenik \ref BMPZ10 "[BMPZ10]".
+
+  \tparam PSET
+  Any pointset supported by the PPL that provides the
+  <CODE>minimized_constraints()</CODE> method.
+
+  \param pset_before
+  A pointset approximating the values of loop-relevant variables
+  <EM>before</EM> the update performed in the loop body that is being
+  analyzed.  The variables indices are allocated as follows:
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$.
+
+  \param pset_after
+  A pointset approximating the values of loop-relevant variables
+  <EM>after</EM> the update performed in the loop body that is being
+  analyzed.  The variables indices are allocated as follows:
+  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$,
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ n, \ldots, 2n-1 \f$,
+
+  Note that unprimed variables represent the values of the loop-relevant
+  program variables before the update performed in the loop body,
+  and primed variables represent the values of those program variables
+  after the update.  Note also that unprimed variables are assigned
+  to different space dimensions in \p pset_before and \p pset_after.
+
+  \param mu
+  When <CODE>true</CODE> is returned, this is assigned a point
+  of space dimension \f$ n+1 \f$ encoding one (not further specified)
+  affine ranking function for the loop being analyzed.
+  The ranking function is of the form \f$ \mu_0 + \sum_{i=1}^n \mu_i x_i \f$
+  where \f$ \mu_0, \mu_1, \ldots, \mu_n \f$ are the coefficients
+  of \p mu corresponding to the space dimensions \f$ n, 0, \ldots, n-1 \f$,
+  respectively.
+
+  \return
+  <CODE>true</CODE> if any loop approximated by \p pset definitely
+  terminates; <CODE>false</CODE> if the test is inconclusive.
+  However, if \p pset_before and \p pset_after <EM>precisely</EM>
+  characterize the effect of the loop body onto the loop-relevant
+  program variables, then <CODE>true</CODE> is returned
+  <EM>if and only if</EM> the loop terminates.
+*/
+template <typename PSET>
+bool
+one_affine_ranking_function_MS_2(const PSET& pset_before,
+				 const PSET& pset_after,
+				 Generator& mu);
+
+/*! \brief
+  Termination test with ranking function space using an improvement
+  of the method by Mesnard and Serebrenik \ref BMPZ10 "[BMPZ10]".
+
+  \tparam PSET
+  Any pointset supported by the PPL that provides the
+  <CODE>minimized_constraints()</CODE> method.
+
+  \param pset
+  A pointset approximating the behavior of a loop whose termination
+  is being analyzed.  The variables indices are allocated as follows:
+  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$,
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ n, \ldots, 2n-1 \f$,
+  .
+  where unprimed variables represent the values of the loop-relevant
+  program variables before the update performed in the loop body,
+  and primed variables represent the values of those program variables
+  after the update.
+
+  \param mu_space
+  This is assigned a closed polyhedron of space dimension \f$ n+1 \f$
+  representing the space of all the affine ranking functions for the loops
+  that are precisely characterized by \p pset.
+  These ranking functions are of the form
+  \f$ \mu_0 + \sum_{i=1}^n \mu_i x_i \f$
+  where \f$ \mu_0, \mu_1, \ldots, \mu_n \f$ identify any point of the
+  \p mu_space polyhedron.
+  The variables \f$ \mu_0, \mu_1, \ldots, \mu_n \f$
+  correspond to the space dimensions of \p mu_space
+  \f$ n, 0, \ldots, n-1 \f$, respectively.
+  When \p mu_space is empty, it means that the test is inconclusive.
+  However, if \p pset <EM>precisely</EM> characterizes the effect
+  of the loop body onto the loop-relevant program variables,
+  then \p mu_space is empty <EM>if and only if</EM>
+  the loop does <EM>not</EM> terminate.
+*/
+template <typename PSET>
+void
+all_affine_ranking_functions_MS(const PSET& pset, C_Polyhedron& mu_space);
+
+/*! \brief
+  Termination test with ranking function space using an improvement
+  of the method by Mesnard and Serebrenik \ref BMPZ10 "[BMPZ10]".
+
+  \tparam PSET
+  Any pointset supported by the PPL that provides the
+  <CODE>minimized_constraints()</CODE> method.
+
+  \param pset_before
+  A pointset approximating the values of loop-relevant variables
+  <EM>before</EM> the update performed in the loop body that is being
+  analyzed.  The variables indices are allocated as follows:
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$.
+
+  \param pset_after
+  A pointset approximating the values of loop-relevant variables
+  <EM>after</EM> the update performed in the loop body that is being
+  analyzed.  The variables indices are allocated as follows:
+  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$,
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ n, \ldots, 2n-1 \f$,
+
+  Note that unprimed variables represent the values of the loop-relevant
+  program variables before the update performed in the loop body,
+  and primed variables represent the values of those program variables
+  after the update.  Note also that unprimed variables are assigned
+  to different space dimensions in \p pset_before and \p pset_after.
+
+  \param mu_space
+  This is assigned a closed polyhedron of space dimension \f$ n+1 \f$
+  representing the space of all the affine ranking functions for the loops
+  that are precisely characterized by \p pset.
+  These ranking functions are of the form
+  \f$ \mu_0 + \sum_{i=1}^n \mu_i x_i \f$
+  where \f$ \mu_0, \mu_1, \ldots, \mu_n \f$ identify any point of the
+  \p mu_space polyhedron.
+  The variables \f$ \mu_0, \mu_1, \ldots, \mu_n \f$
+  correspond to the space dimensions of \p mu_space
+  \f$ n, 0, \ldots, n-1 \f$, respectively.
+  When \p mu_space is empty, it means that the test is inconclusive.
+  However, if \p pset_before and \p pset_after <EM>precisely</EM>
+  characterize the effect of the loop body onto the loop-relevant
+  program variables, then \p mu_space is empty <EM>if and only if</EM>
+  the loop does <EM>not</EM> terminate.
+*/
+template <typename PSET>
+void
+all_affine_ranking_functions_MS_2(const PSET& pset_before,
+				  const PSET& pset_after,
+				  C_Polyhedron& mu_space);
+
+/*! \brief
+  Computes the spaces of affine \e quasi ranking functions
+  using an improvement of the method by Mesnard and Serebrenik
+  \ref BMPZ10 "[BMPZ10]".
+
+  \tparam PSET
+  Any pointset supported by the PPL that provides the
+  <CODE>minimized_constraints()</CODE> method.
+
+  \param pset
+  A pointset approximating the behavior of a loop whose termination
+  is being analyzed.  The variables indices are allocated as follows:
+  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$,
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ n, \ldots, 2n-1 \f$,
+  .
+  where unprimed variables represent the values of the loop-relevant
+  program variables before the update performed in the loop body,
+  and primed variables represent the values of those program variables
+  after the update.
+
+  \param decreasing_mu_space
+  This is assigned a closed polyhedron of space dimension \f$ n+1 \f$
+  representing the space of all the decreasing affine functions
+  for the loops that are precisely characterized by \p pset.
+
+  \param bounded_mu_space
+  This is assigned a closed polyhedron of space dimension \f$ n+1 \f$
+  representing the space of all the lower bounded affine functions
+  for the loops that are precisely characterized by \p pset.
+
+  These quasi-ranking functions are of the form
+  \f$ \mu_0 + \sum_{i=1}^n \mu_i x_i \f$
+  where \f$ \mu_0, \mu_1, \ldots, \mu_n \f$ identify any point of the
+  \p decreasing_mu_space and \p bounded_mu_space polyhedrons.
+  The variables \f$ \mu_0, \mu_1, \ldots, \mu_n \f$
+  correspond to the space dimensions \f$ n, 0, \ldots, n-1 \f$, respectively.
+  When \p decreasing_mu_space (resp., \p bounded_mu_space) is empty,
+  it means that the test is inconclusive.
+  However, if \p pset <EM>precisely</EM> characterizes the effect
+  of the loop body onto the loop-relevant program variables,
+  then \p decreasing_mu_space (resp., \p bounded_mu_space) will be empty
+  <EM>if and only if</EM> there is no decreasing (resp., lower bounded)
+  affine function, so that the loop does not terminate.
+*/
+template <typename PSET>
+void
+all_affine_quasi_ranking_functions_MS(const PSET& pset,
+                                      C_Polyhedron& decreasing_mu_space,
+                                      C_Polyhedron& bounded_mu_space);
+
+/*! \brief
+  Computes the spaces of affine \e quasi ranking functions
+  using an improvement of the method by Mesnard and Serebrenik
+  \ref BMPZ10 "[BMPZ10]".
+
+  \tparam PSET
+  Any pointset supported by the PPL that provides the
+  <CODE>minimized_constraints()</CODE> method.
+
+  \param pset_before
+  A pointset approximating the values of loop-relevant variables
+  <EM>before</EM> the update performed in the loop body that is being
+  analyzed.  The variables indices are allocated as follows:
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$.
+
+  \param pset_after
+  A pointset approximating the values of loop-relevant variables
+  <EM>after</EM> the update performed in the loop body that is being
+  analyzed.  The variables indices are allocated as follows:
+  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$,
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ n, \ldots, 2n-1 \f$,
+
+  Note that unprimed variables represent the values of the loop-relevant
+  program variables before the update performed in the loop body,
+  and primed variables represent the values of those program variables
+  after the update.  Note also that unprimed variables are assigned
+  to different space dimensions in \p pset_before and \p pset_after.
+
+  \param decreasing_mu_space
+  This is assigned a closed polyhedron of space dimension \f$ n+1 \f$
+  representing the space of all the decreasing affine functions
+  for the loops that are precisely characterized by \p pset.
+
+  \param bounded_mu_space
+  This is assigned a closed polyhedron of space dimension \f$ n+1 \f$
+  representing the space of all the lower bounded affine functions
+  for the loops that are precisely characterized by \p pset.
+
+  These ranking functions are of the form
+  \f$ \mu_0 + \sum_{i=1}^n \mu_i x_i \f$
+  where \f$ \mu_0, \mu_1, \ldots, \mu_n \f$ identify any point of the
+  \p decreasing_mu_space and \p bounded_mu_space polyhedrons.
+  The variables \f$ \mu_0, \mu_1, \ldots, \mu_n \f$
+  correspond to the space dimensions \f$ n, 0, \ldots, n-1 \f$, respectively.
+  When \p decreasing_mu_space (resp., \p bounded_mu_space) is empty,
+  it means that the test is inconclusive.
+  However, if \p pset_before and \p pset_after <EM>precisely</EM>
+  characterize the effect of the loop body onto the loop-relevant
+  program variables, then \p decreasing_mu_space (resp., \p bounded_mu_space)
+  will be empty <EM>if and only if</EM> there is no decreasing
+  (resp., lower bounded) affine function, so that the loop does not terminate.
+*/
+template <typename PSET>
+void
+all_affine_quasi_ranking_functions_MS_2(const PSET& pset_before,
+                                        const PSET& pset_after,
+                                        C_Polyhedron& decreasing_mu_space,
+                                        C_Polyhedron& bounded_mu_space);
+
+/*! \brief
+  Like termination_test_MS() but using the method by Podelski and
+  Rybalchenko \ref BMPZ10 "[BMPZ10]".
+*/
+template <typename PSET>
+bool
+termination_test_PR(const PSET& pset);
+
+/*! \brief
+  Like termination_test_MS_2() but using an alternative formalization
+  of the method by Podelski and Rybalchenko \ref BMPZ10 "[BMPZ10]".
+*/
+template <typename PSET>
+bool
+termination_test_PR_2(const PSET& pset_before, const PSET& pset_after);
+
+/*! \brief
+  Like one_affine_ranking_function_MS() but using the method by Podelski
+  and Rybalchenko \ref BMPZ10 "[BMPZ10]".
+*/
+template <typename PSET>
+bool
+one_affine_ranking_function_PR(const PSET& pset, Generator& mu);
+
+/*! \brief
+  Like one_affine_ranking_function_MS_2() but using an alternative
+  formalization of the method by Podelski and Rybalchenko
+  \ref BMPZ10 "[BMPZ10]".
+*/
+template <typename PSET>
+bool
+one_affine_ranking_function_PR_2(const PSET& pset_before,
+				 const PSET& pset_after,
+				 Generator& mu);
+
+/*! \brief
+  Like all_affine_ranking_functions_MS() but using the method by Podelski
+  and Rybalchenko \ref BMPZ10 "[BMPZ10]".
+*/
+template <typename PSET>
+void
+all_affine_ranking_functions_PR(const PSET& pset, NNC_Polyhedron& mu_space);
+
+/*! \brief
+  Like all_affine_ranking_functions_MS_2() but using an alternative
+  formalization of the method by Podelski and Rybalchenko
+  \ref BMPZ10 "[BMPZ10]".
+*/
+template <typename PSET>
+void
+all_affine_ranking_functions_PR_2(const PSET& pset_before,
+				  const PSET& pset_after,
+				  NNC_Polyhedron& mu_space);
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/termination.templates.hh line 1. */
+/* Utilities for termination analysis: template functions.
+*/
+
+
+/* Automatically generated from PPL source file ../src/termination.templates.hh line 32. */
+
+#include <stdexcept>
+
+#define PRINT_DEBUG_INFO 0
+
+#if PRINT_DEBUG_INFO
+#include <iostream>
+#endif
+
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+namespace Termination {
+
+#if PRINT_DEBUG_INFO
+static dimension_type output_function_MS_n;
+static dimension_type output_function_MS_m;
+
+/* Encodes which object are we printing:
+
+   0 means input constraint system;
+   1 means first output constraint system;
+   2 means second output constraint system;
+   3 means only output constraint system
+     (i.e., when first and second are the same);
+   4 means mu space.
+*/
+static int output_function_MS_which = -1;
+
+/*
+  Debuggin output function.  See the documentation of
+  fill_constraint_systems_MS() for the allocation of variable indices.
+*/
+inline void
+output_function_MS(std::ostream& s, const Variable& v) {
+  dimension_type id = v.id();
+  switch (output_function_MS_which) {
+  case 0:
+    if (id < output_function_MS_n)
+      s << "x'" << id + 1;
+    else if (id < 2*output_function_MS_n)
+      s << "x" << id - output_function_MS_n + 1;
+    else
+      s << "WHAT?";
+    break;
+  case 1:
+    if (id < output_function_MS_n)
+      s << "mu" << id + 1;
+    else if (id == output_function_MS_n)
+      s << "WHAT?";
+    else if (id <= output_function_MS_n + output_function_MS_m)
+      s << "y" << id - output_function_MS_n;
+    else
+      s << "WHAT?";
+    break;
+  case 2:
+  case 4:
+    if (id < output_function_MS_n)
+      s << "mu" << id + 1;
+    else if (id == output_function_MS_n)
+      s << "mu0";
+    else if (output_function_MS_which == 2
+	     && id <= output_function_MS_n + output_function_MS_m + 2)
+      s << "z" << id - output_function_MS_n;
+    else
+      s << "WHAT?";
+    break;
+  case 3:
+    if (id < output_function_MS_n)
+      s << "mu" << id + 1;
+    else if (id == output_function_MS_n)
+      s << "mu0";
+    else if (id <= output_function_MS_n + output_function_MS_m)
+      s << "y" << id - output_function_MS_n;
+    else if (id <= output_function_MS_n + 2*output_function_MS_m + 2)
+      s << "z" << id - (output_function_MS_n + output_function_MS_m);
+    else
+      s << "WHAT?";
+    break;
+  default:
+    abort();
+    break;
+  }
+}
+
+static dimension_type output_function_PR_s;
+static dimension_type output_function_PR_r;
+
+/*
+  Debuggin output function.  See the documentation of
+  fill_constraint_system_PR() for the allocation of variable indices.
+*/
+inline void
+output_function_PR(std::ostream& s, const Variable& v) {
+  dimension_type id = v.id();
+  if (id < output_function_PR_s)
+    s << "u3_" << id + 1;
+  else if (id < output_function_PR_s + output_function_PR_r)
+    s << "u2_" << id - output_function_PR_s + 1;
+  else if (id < output_function_PR_s + 2*output_function_PR_r)
+    s << "u1_" << id - (output_function_PR_s + output_function_PR_r) + 1;
+  else
+    s << "WHAT?";
+}
+#endif
+
+void
+assign_all_inequalities_approximation(const Constraint_System& cs_in,
+				      Constraint_System& cs_out);
+
+template <typename PSET>
+inline void
+assign_all_inequalities_approximation(const PSET& pset,
+				      Constraint_System& cs) {
+  assign_all_inequalities_approximation(pset.minimized_constraints(), cs);
+}
+
+template <>
+void
+assign_all_inequalities_approximation(const C_Polyhedron& ph,
+				      Constraint_System& cs);
+
+void
+shift_unprimed_variables(Constraint_System& cs);
+
+template <typename PSET>
+void
+assign_all_inequalities_approximation(const PSET& pset_before,
+				      const PSET& pset_after,
+				      Constraint_System& cs) {
+  assign_all_inequalities_approximation(pset_before, cs);
+  shift_unprimed_variables(cs);
+  Constraint_System cs_after;
+  assign_all_inequalities_approximation(pset_after, cs_after);
+  // FIXME: provide an "append" for constraint systems.
+  for (Constraint_System::const_iterator i = cs_after.begin(),
+	 cs_after_end = cs_after.end(); i != cs_after_end; ++i)
+    cs.insert(*i);
+}
+
+bool
+termination_test_MS(const Constraint_System& cs);
+
+bool
+one_affine_ranking_function_MS(const Constraint_System& cs,
+			       Generator& mu);
+
+void
+all_affine_ranking_functions_MS(const Constraint_System& cs,
+				C_Polyhedron& mu_space);
+
+void
+all_affine_quasi_ranking_functions_MS(const Constraint_System& cs,
+                                      C_Polyhedron& decreasing_mu_space,
+                                      C_Polyhedron& bounded_mu_space);
+
+bool
+termination_test_PR(const Constraint_System& cs_before,
+		    const Constraint_System& cs_after);
+
+bool
+one_affine_ranking_function_PR(const Constraint_System& cs_before,
+			       const Constraint_System& cs_after,
+			       Generator& mu);
+
+void
+all_affine_ranking_functions_PR(const Constraint_System& cs_before,
+				const Constraint_System& cs_after,
+				NNC_Polyhedron& mu_space);
+
+bool
+termination_test_PR_original(const Constraint_System& cs);
+
+bool
+one_affine_ranking_function_PR_original(const Constraint_System& cs,
+                                        Generator& mu);
+
+void
+all_affine_ranking_functions_PR_original(const Constraint_System& cs,
+                                         NNC_Polyhedron& mu_space);
+
+} // namespace Termination
+
+} // namespace Implementation
+
+template <typename PSET>
+bool
+termination_test_MS(const PSET& pset) {
+  const dimension_type space_dim = pset.space_dimension();
+  if (space_dim % 2 != 0) {
+    std::ostringstream s;
+    s << "PPL::termination_test_MS(pset):\n"
+         "pset.space_dimension() == " << space_dim
+      << " is odd.";
+    throw std::invalid_argument(s.str());
+  }
+
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  assign_all_inequalities_approximation(pset, cs);
+  return termination_test_MS(cs);
+}
+
+template <typename PSET>
+bool
+termination_test_MS_2(const PSET& pset_before, const PSET& pset_after) {
+  const dimension_type before_space_dim = pset_before.space_dimension();
+  const dimension_type after_space_dim = pset_after.space_dimension();
+  if (after_space_dim != 2*before_space_dim) {
+    std::ostringstream s;
+    s << "PPL::termination_test_MS_2(pset_before, pset_after):\n"
+         "pset_before.space_dimension() == " << before_space_dim
+      << ", pset_after.space_dimension() == " << after_space_dim
+      << ";\nthe latter should be twice the former.";
+    throw std::invalid_argument(s.str());
+  }
+
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  assign_all_inequalities_approximation(pset_before, pset_after, cs);
+  return termination_test_MS(cs);
+}
+
+template <typename PSET>
+bool
+one_affine_ranking_function_MS(const PSET& pset, Generator& mu) {
+  const dimension_type space_dim = pset.space_dimension();
+  if (space_dim % 2 != 0) {
+    std::ostringstream s;
+    s << "PPL::one_affine_ranking_function_MS(pset, mu):\n"
+         "pset.space_dimension() == " << space_dim
+      << " is odd.";
+    throw std::invalid_argument(s.str());
+  }
+
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  assign_all_inequalities_approximation(pset, cs);
+  return one_affine_ranking_function_MS(cs, mu);
+}
+
+template <typename PSET>
+bool
+one_affine_ranking_function_MS_2(const PSET& pset_before,
+				 const PSET& pset_after,
+				 Generator& mu) {
+  const dimension_type before_space_dim = pset_before.space_dimension();
+  const dimension_type after_space_dim = pset_after.space_dimension();
+  if (after_space_dim != 2*before_space_dim) {
+    std::ostringstream s;
+    s << "PPL::one_affine_ranking_function_MS_2(pset_before, pset_after, mu):\n"
+         "pset_before.space_dimension() == " << before_space_dim
+      << ", pset_after.space_dimension() == " << after_space_dim
+      << ";\nthe latter should be twice the former.";
+    throw std::invalid_argument(s.str());
+  }
+
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  assign_all_inequalities_approximation(pset_before, pset_after, cs);
+  return one_affine_ranking_function_MS(cs, mu);
+}
+
+template <typename PSET>
+void
+all_affine_ranking_functions_MS(const PSET& pset, C_Polyhedron& mu_space) {
+  const dimension_type space_dim = pset.space_dimension();
+  if (space_dim % 2 != 0) {
+    std::ostringstream s;
+    s << "PPL::all_affine_ranking_functions_MS(pset, mu_space):\n"
+         "pset.space_dimension() == " << space_dim
+      << " is odd.";
+    throw std::invalid_argument(s.str());
+  }
+
+  if (pset.is_empty()) {
+    mu_space = C_Polyhedron(1 + space_dim/2, UNIVERSE);
+    return;
+  }
+
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  assign_all_inequalities_approximation(pset, cs);
+  all_affine_ranking_functions_MS(cs, mu_space);
+}
+
+template <typename PSET>
+void
+all_affine_ranking_functions_MS_2(const PSET& pset_before,
+				  const PSET& pset_after,
+				  C_Polyhedron& mu_space) {
+  const dimension_type before_space_dim = pset_before.space_dimension();
+  const dimension_type after_space_dim = pset_after.space_dimension();
+  if (after_space_dim != 2*before_space_dim) {
+    std::ostringstream s;
+    s << "PPL::all_affine_ranking_functions_MS_2"
+      << "(pset_before, pset_after, mu_space):\n"
+      << "pset_before.space_dimension() == " << before_space_dim
+      << ", pset_after.space_dimension() == " << after_space_dim
+      << ";\nthe latter should be twice the former.";
+    throw std::invalid_argument(s.str());
+  }
+
+  if (pset_before.is_empty()) {
+    mu_space = C_Polyhedron(1 + before_space_dim, UNIVERSE);
+    return;
+  }
+
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  assign_all_inequalities_approximation(pset_before, pset_after, cs);
+  all_affine_ranking_functions_MS(cs, mu_space);
+}
+
+template <typename PSET>
+void
+all_affine_quasi_ranking_functions_MS(const PSET& pset,
+                                      C_Polyhedron& decreasing_mu_space,
+                                      C_Polyhedron& bounded_mu_space) {
+  const dimension_type space_dim = pset.space_dimension();
+  if (space_dim % 2 != 0) {
+    std::ostringstream s;
+    s << "PPL::all_affine_quasi_ranking_functions_MS"
+      << "(pset, decr_space, bounded_space):\n"
+      << "pset.space_dimension() == " << space_dim
+      << " is odd.";
+    throw std::invalid_argument(s.str());
+  }
+
+  if (pset.is_empty()) {
+    decreasing_mu_space = C_Polyhedron(1 + space_dim/2, UNIVERSE);
+    bounded_mu_space = decreasing_mu_space;
+    return;
+  }
+
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  assign_all_inequalities_approximation(pset, cs);
+  all_affine_quasi_ranking_functions_MS(cs,
+                                        decreasing_mu_space,
+                                        bounded_mu_space);
+}
+
+template <typename PSET>
+void
+all_affine_quasi_ranking_functions_MS_2(const PSET& pset_before,
+                                        const PSET& pset_after,
+                                        C_Polyhedron& decreasing_mu_space,
+                                        C_Polyhedron& bounded_mu_space) {
+  const dimension_type before_space_dim = pset_before.space_dimension();
+  const dimension_type after_space_dim = pset_after.space_dimension();
+  if (after_space_dim != 2*before_space_dim) {
+    std::ostringstream s;
+    s << "PPL::all_affine_quasi_ranking_functions_MS_2"
+      << "(pset_before, pset_after, decr_space, bounded_space):\n"
+      << "pset_before.space_dimension() == " << before_space_dim
+      << ", pset_after.space_dimension() == " << after_space_dim
+      << ";\nthe latter should be twice the former.";
+    throw std::invalid_argument(s.str());
+  }
+
+  if (pset_before.is_empty()) {
+    decreasing_mu_space = C_Polyhedron(1 + before_space_dim, UNIVERSE);
+    bounded_mu_space = decreasing_mu_space;
+    return;
+  }
+
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  assign_all_inequalities_approximation(pset_before, pset_after, cs);
+  all_affine_quasi_ranking_functions_MS(cs,
+                                        decreasing_mu_space,
+                                        bounded_mu_space);
+}
+
+template <typename PSET>
+bool
+termination_test_PR_2(const PSET& pset_before, const PSET& pset_after) {
+  const dimension_type before_space_dim = pset_before.space_dimension();
+  const dimension_type after_space_dim = pset_after.space_dimension();
+  if (after_space_dim != 2*before_space_dim) {
+    std::ostringstream s;
+    s << "PPL::termination_test_PR_2(pset_before, pset_after):\n"
+      << "pset_before.space_dimension() == " << before_space_dim
+      << ", pset_after.space_dimension() == " << after_space_dim
+      << ";\nthe latter should be twice the former.";
+    throw std::invalid_argument(s.str());
+  }
+
+  using namespace Implementation::Termination;
+  Constraint_System cs_before;
+  Constraint_System cs_after;
+  assign_all_inequalities_approximation(pset_before, cs_before);
+  assign_all_inequalities_approximation(pset_after, cs_after);
+  return termination_test_PR(cs_before, cs_after);
+}
+
+template <typename PSET>
+bool
+termination_test_PR(const PSET& pset_after) {
+  const dimension_type space_dim = pset_after.space_dimension();
+  if (space_dim % 2 != 0) {
+    std::ostringstream s;
+    s << "PPL::termination_test_PR(pset):\n"
+      << "pset.space_dimension() == " << space_dim
+      << " is odd.";
+    throw std::invalid_argument(s.str());
+  }
+
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  assign_all_inequalities_approximation(pset_after, cs);
+  return termination_test_PR_original(cs);
+}
+
+template <typename PSET>
+bool
+one_affine_ranking_function_PR_2(const PSET& pset_before,
+				 const PSET& pset_after,
+				 Generator& mu) {
+  const dimension_type before_space_dim = pset_before.space_dimension();
+  const dimension_type after_space_dim = pset_after.space_dimension();
+  if (after_space_dim != 2*before_space_dim) {
+    std::ostringstream s;
+    s << "PPL::one_affine_ranking_function_PR_2"
+      << "(pset_before, pset_after, mu):\n"
+      << "pset_before.space_dimension() == " << before_space_dim
+      << ", pset_after.space_dimension() == " << after_space_dim
+      << ";\nthe latter should be twice the former.";
+    throw std::invalid_argument(s.str());
+  }
+
+  using namespace Implementation::Termination;
+  Constraint_System cs_before;
+  Constraint_System cs_after;
+  assign_all_inequalities_approximation(pset_before, cs_before);
+  assign_all_inequalities_approximation(pset_after, cs_after);
+  return one_affine_ranking_function_PR(cs_before, cs_after, mu);
+}
+
+template <typename PSET>
+bool
+one_affine_ranking_function_PR(const PSET& pset_after, Generator& mu) {
+  const dimension_type space_dim = pset_after.space_dimension();
+  if (space_dim % 2 != 0) {
+    std::ostringstream s;
+    s << "PPL::one_affine_ranking_function_PR(pset, mu):\n"
+      << "pset.space_dimension() == " << space_dim
+      << " is odd.";
+    throw std::invalid_argument(s.str());
+  }
+
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  assign_all_inequalities_approximation(pset_after, cs);
+  return one_affine_ranking_function_PR_original(cs, mu);
+}
+
+template <typename PSET>
+void
+all_affine_ranking_functions_PR_2(const PSET& pset_before,
+				  const PSET& pset_after,
+				  NNC_Polyhedron& mu_space) {
+  const dimension_type before_space_dim = pset_before.space_dimension();
+  const dimension_type after_space_dim = pset_after.space_dimension();
+  if (after_space_dim != 2*before_space_dim) {
+    std::ostringstream s;
+    s << "PPL::all_affine_ranking_functions_MS_2"
+      << "(pset_before, pset_after, mu_space):\n"
+      << "pset_before.space_dimension() == " << before_space_dim
+      << ", pset_after.space_dimension() == " << after_space_dim
+      << ";\nthe latter should be twice the former.";
+    throw std::invalid_argument(s.str());
+  }
+
+  if (pset_before.is_empty()) {
+    mu_space = NNC_Polyhedron(1 + before_space_dim);
+    return;
+  }
+
+  using namespace Implementation::Termination;
+  Constraint_System cs_before;
+  Constraint_System cs_after;
+  assign_all_inequalities_approximation(pset_before, cs_before);
+  assign_all_inequalities_approximation(pset_after, cs_after);
+  all_affine_ranking_functions_PR(cs_before, cs_after, mu_space);
+}
+
+template <typename PSET>
+void
+all_affine_ranking_functions_PR(const PSET& pset_after,
+				NNC_Polyhedron& mu_space) {
+  const dimension_type space_dim = pset_after.space_dimension();
+  if (space_dim % 2 != 0) {
+    std::ostringstream s;
+    s << "PPL::all_affine_ranking_functions_PR(pset, mu_space):\n"
+      << "pset.space_dimension() == " << space_dim
+      << " is odd.";
+    throw std::invalid_argument(s.str());
+  }
+
+  if (pset_after.is_empty()) {
+    mu_space = NNC_Polyhedron(1 + space_dim/2);
+    return;
+  }
+
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  assign_all_inequalities_approximation(pset_after, cs);
+  all_affine_ranking_functions_PR_original(cs, mu_space);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/termination.defs.hh line 468. */
+
+/* Automatically generated from PPL source file ../src/wrap_string.hh line 1. */
 /* Declaration of string wrapping function.
 */
 
 
-/* Automatically generated from PPL source file ../src/wrap.hh line 27. */
+/* Automatically generated from PPL source file ../src/wrap_string.hh line 27. */
 
 namespace Parma_Polyhedra_Library {
 
@@ -76415,6 +82964,8 @@ wrap_string(const std::string& src_string,
 #  undef NDEBUG
 # endif
 #endif
+// Must include <cassert> again in order to make the latest changes to
+// NDEBUG effective.
 #include <cassert>
 
 #ifdef PPL_NO_AUTOMATIC_INITIALIZATION
diff --git a/src/ppl_header.hh b/src/ppl_header.hh
index 25eab4d..5b71f9c 100644
--- a/src/ppl_header.hh
+++ b/src/ppl_header.hh
@@ -1,5 +1,5 @@
 /* This is the header file of the Parma Polyhedra Library.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -104,7 +104,10 @@ site: http://www.cs.unipr.it/ppl/ . */
 #  undef NDEBUG
 # endif
 #endif
+// Must include <cassert> again in order to make the latest changes to
+// NDEBUG effective.
 #include <cassert>
+#include "assert.hh"
 
 #ifdef PPL_NO_AUTOMATIC_INITIALIZATION
  #undef PPL_NO_AUTOMATIC_INITIALIZATION
diff --git a/src/simplify.cc b/src/simplify.cc
index 1dd7d57..1fa561f 100644
--- a/src/simplify.cc
+++ b/src/simplify.cc
@@ -1,5 +1,5 @@
 /* Polyhedron class implementation: simplify().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -82,8 +82,8 @@ namespace PPL = Parma_Polyhedra_Library;
 PPL::dimension_type
 PPL::Polyhedron::simplify(Linear_System& sys, Bit_Matrix& sat) {
   // This method is only applied to a well-formed system `sys'.
-  assert(sys.OK(true));
-  assert(sys.num_columns() >= 1);
+  PPL_ASSERT(sys.OK(true));
+  PPL_ASSERT(sys.num_columns() >= 1);
 
   dimension_type num_rows = sys.num_rows();
   const dimension_type num_columns = sys.num_columns();
@@ -302,7 +302,7 @@ PPL::Polyhedron::simplify(Linear_System& sys, Bit_Matrix& sat) {
 #ifndef NDEBUG
   // Check if the flag is set (that of the equalities is already set).
   for (dimension_type i = num_lines_or_equalities; i < num_rows; ++i)
-    assert(sys[i].is_ray_or_point_or_inequality());
+    PPL_ASSERT(sys[i].is_ray_or_point_or_inequality());
 #endif
 
   // Finally, since now the sub-system (of `sys') of the irredundant
diff --git a/src/stdiobuf.cc b/src/stdiobuf.cc
index a0323e1..5a7a25f 100644
--- a/src/stdiobuf.cc
+++ b/src/stdiobuf.cc
@@ -1,5 +1,5 @@
 /* stdiobuf class implementation (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/stdiobuf.defs.hh b/src/stdiobuf.defs.hh
index c8e87dc..d2ceb34 100644
--- a/src/stdiobuf.defs.hh
+++ b/src/stdiobuf.defs.hh
@@ -1,5 +1,5 @@
 /* stdiobuf class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/stdiobuf.inlines.hh b/src/stdiobuf.inlines.hh
index f9d6e8d..b13760a 100644
--- a/src/stdiobuf.inlines.hh
+++ b/src/stdiobuf.inlines.hh
@@ -1,5 +1,5 @@
 /* stdiobuf class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/stdiobuf.types.hh b/src/stdiobuf.types.hh
index 960aca5..775bf09 100644
--- a/src/stdiobuf.types.hh
+++ b/src/stdiobuf.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/swapping_sort.icc b/src/swapping_sort.icc
index 462313b..6efd679 100644
--- a/src/swapping_sort.icc
+++ b/src/swapping_sort.icc
@@ -1,5 +1,5 @@
 /* Sorting objects for which copies cost more than swaps.  -*- C++ -*-
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/termination.cc b/src/termination.cc
new file mode 100644
index 0000000..30cdf19
--- /dev/null
+++ b/src/termination.cc
@@ -0,0 +1,940 @@
+/* Utilities for termination analysis: non-inline, non-template functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include <ppl-config.h>
+
+#include "termination.defs.hh"
+#include "NNC_Polyhedron.defs.hh"
+
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+namespace Termination {
+
+void
+assign_all_inequalities_approximation(const Constraint_System& cs_in,
+				      Constraint_System& cs_out) {
+  if (cs_in.has_strict_inequalities() || cs_in.has_equalities()) {
+    // Here we have some strict inequality and/or equality constraints:
+    // translate them into non-strict inequality constraints.
+    for (Constraint_System::const_iterator i = cs_in.begin(),
+           i_end = cs_in.end(); i != i_end; ++i) {
+      const Constraint& c = *i;
+      if (c.is_equality()) {
+        // Insert the two corresponding opposing inequalities.
+        cs_out.insert(Linear_Expression(c) >= 0);
+        cs_out.insert(Linear_Expression(c) <= 0);
+      }
+      else if (c.is_strict_inequality())
+        // Insert the non-strict approximation.
+        cs_out.insert(Linear_Expression(c) >= 0);
+      else
+        // Insert as is.
+        cs_out.insert(c);
+    }
+  }
+  else
+    // No strict inequality and no equality constraints.
+    cs_out = cs_in;
+}
+
+template <>
+void
+assign_all_inequalities_approximation(const C_Polyhedron& ph,
+				      Constraint_System& cs) {
+  const Constraint_System& ph_cs = ph.minimized_constraints();
+  if (ph_cs.has_equalities()) {
+    // Translate equalities into inequalities.
+    for (Constraint_System::const_iterator i = ph_cs.begin(),
+	   i_end = ph_cs.end(); i != i_end; ++i) {
+      const Constraint& c = *i;
+      if (c.is_equality()) {
+	// Insert the two corresponding opposing inequalities.
+	cs.insert(Linear_Expression(c) >= 0);
+	cs.insert(Linear_Expression(c) <= 0);
+      }
+      else
+	// Insert as is.
+	cs.insert(c);
+    }
+  }
+  else
+    // No equality constraints (and no strict inequalities).
+    cs = ph_cs;
+}
+
+void
+shift_unprimed_variables(Constraint_System& cs) {
+  const dimension_type cs_space_dim = cs.space_dimension();
+  Constraint_System cs_shifted;
+  for (Constraint_System::const_iterator i = cs.begin(),
+	 cs_end = cs.end(); i != cs_end; ++i) {
+    const Constraint& c_i = *i;
+    Linear_Expression le_i_shifted;
+    for (dimension_type j = cs_space_dim; j-- > 0; ) {
+      Coefficient_traits::const_reference a_i_j
+	= c_i.coefficient(Variable(j));
+      if (a_i_j != 0)
+	add_mul_assign(le_i_shifted, a_i_j, Variable(cs_space_dim + j));
+    }
+    le_i_shifted += c_i.inhomogeneous_term();
+    cs_shifted.insert(le_i_shifted >= 0);
+  }
+  cs.swap(cs_shifted);
+}
+
+/*! \brief
+  Fill the constraint system(s) for the application of the
+  Mesnard and Serebrenik improved termination tests.
+
+  \param cs
+  The input constraint system, where variables indices are allocated
+  as follows:
+  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$,
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ n, \ldots, 2n-1 \f$.
+  .
+  The system does not contain any equality.
+
+  \param cs_out1
+  The first output constraint system.
+
+  \param cs_out2
+  The second output constraint system, if any: it may be an alias
+  for \p cs_out1.
+
+  The allocation of variable indices in the output constraint
+  systems \p cs_out1 and \p cs_out2 is as follows,
+  where \f$m\f$ is the number of constraints in \p cs:
+  - \f$ \mu_1, \ldots, \mu_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$;
+  - \f$ \mu_0\f$ goes onto space dimension \f$ n \f$;
+  - \f$ y_1, \ldots, y_m \f$ go onto space dimensions
+    \f$ n+1, \ldots, n+m \f$;
+  .
+  if we use the same constraint system, that is
+  <CODE>&cs_out1 == &cs_out2</CODE>, then
+  - \f$ z_1, ..., z_m, z_{m+1}, z_{m+2} \f$ go onto space dimensions
+    \f$ n+m+1, ..., n+2*m+2 \f$;
+  .
+  otherwise
+  - \f$ z_1, ..., z_m, z_{m+1}, z_{m+2} \f$ go onto space dimensions
+    \f$ n+1, ..., n+m+2 \f$.
+*/
+void
+fill_constraint_systems_MS(const Constraint_System& cs,
+			   Constraint_System& cs_out1,
+			   Constraint_System& cs_out2) {
+  PPL_ASSERT(cs.space_dimension() % 2 == 0);
+  const dimension_type n = cs.space_dimension() / 2;
+  const dimension_type m = std::distance(cs.begin(), cs.end());
+
+#if PRINT_DEBUG_INFO
+  Variable::output_function_type* p_default_output_function
+    = Variable::get_output_function();
+  Variable::set_output_function(output_function_MS);
+
+  output_function_MS_n = n;
+  output_function_MS_m = m;
+
+  std::cout << "*** cs ***" << std::endl;
+  output_function_MS_which = 0;
+  using namespace IO_Operators;
+  std::cout << cs << std::endl;
+#endif
+
+  dimension_type y_begin = n+1;
+  dimension_type z_begin = y_begin + ((&cs_out1 == &cs_out2) ? m : 0);
+
+  // Make sure linear expressions are not reallocated multiple times.
+  Linear_Expression y_le(0*Variable(y_begin + m - 1));
+  Linear_Expression z_le(0*Variable(z_begin + m + 2 - 1));
+  std::vector<Linear_Expression> y_les(2*n, y_le);
+  std::vector<Linear_Expression> z_les(2*n + 1, z_le);
+
+  dimension_type y = y_begin;
+  dimension_type z = z_begin;
+  for (Constraint_System::const_iterator i = cs.begin(),
+	 cs_end = cs.end(); i != cs_end; ++i) {
+    Variable vy(y);
+    Variable vz(z);
+    ++y;
+    ++z;
+    cs_out1.insert(vy >= 0);
+    cs_out2.insert(vz >= 0);
+    const Constraint& c_i = *i;
+    Coefficient_traits::const_reference b_i = c_i.inhomogeneous_term();
+    if (b_i != 0) {
+      // Note that b_i is to the left ot the relation sign, hence here
+      // we have -= and not += just to avoid negating b_i.
+      sub_mul_assign(y_le, b_i, vy);
+      sub_mul_assign(z_le, b_i, vz);
+    }
+    for (dimension_type j = 2*n; j-- > 0; ) {
+      Coefficient_traits::const_reference a_i_j = c_i.coefficient(Variable(j));
+      if (a_i_j != 0) {
+        add_mul_assign(y_les[j], a_i_j, vy);
+        add_mul_assign(z_les[j], a_i_j, vz);
+      }
+    }
+  }
+  z_le += Variable(z);
+  z_les[2*n] += Variable(z);
+  cs_out2.insert(Variable(z) >= 0);
+  ++z;
+  z_le -= Variable(z);
+  z_les[2*n] -= Variable(z);
+  cs_out2.insert(Variable(z) >= 0);
+  cs_out1.insert(y_le >= 1);
+  cs_out2.insert(z_le >= 0);
+  dimension_type j = 2*n;
+  while (j-- > n) {
+    cs_out1.insert(y_les[j] == Variable(j-n));
+    cs_out2.insert(z_les[j] == Variable(j-n));
+  }
+  ++j;
+  while (j-- > 0) {
+    cs_out1.insert(y_les[j] == -Variable(j));
+    cs_out2.insert(z_les[j] == 0);
+  }
+  cs_out2.insert(z_les[2*n] == Variable(n));
+
+#if PRINT_DEBUG_INFO
+  if (&cs_out1 == &cs_out2) {
+    std::cout << "*** cs_mip ***" << std::endl;
+    output_function_MS_which = 3;
+    using namespace IO_Operators;
+    std::cout << cs_mip << std::endl;
+  }
+  else {
+    std::cout << "*** cs_out1 ***" << std::endl;
+    output_function_MS_which = 1;
+    using namespace IO_Operators;
+    std::cout << cs_out1 << std::endl;
+
+    std::cout << "*** cs_out2 ***" << std::endl;
+    output_function_MS_which = 2;
+    using namespace IO_Operators;
+    std::cout << cs_out2 << std::endl;
+  }
+
+  Variable::set_output_function(p_default_output_function);
+#endif
+}
+
+/*! \brief
+  Fill the constraint system(s) for the application of the
+  Podelski and Rybalchenko improved termination tests.
+
+  \param cs_before
+  The input constraint system describing the state <EM>before</EM>
+  the execution of the loop body, where variables indices are allocated
+  as follows:
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$.
+  .
+  The system does not contain any equality.
+
+  \param cs_after
+  The input constraint system describing the state <EM>after</EM>
+  the execution of the loop body, where variables indices are allocated
+  as follows:
+  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$,
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ n, \ldots, 2n-1 \f$.
+  .
+  The system does not contain any equality.
+
+  \param cs_out
+  The output constraint system, where variables indices are allocated
+  as follows:
+  - \f$ u_3 \f$ goes onto space dimensions \f$ 0, \ldots, s-1 \f$;
+  - \f$ u_2 \f$ goes onto space dimensions \f$ s, \ldots, s+r-1 \f$;
+  - \f$ u_1 \f$ goes onto space dimensions \f$ s+r, \ldots, s+2r-1 \f$.
+
+  The improved Podelski-Rybalchenko method described in the paper
+  is based on a loop encoding of the form
+  \f[
+    \begin{pmatrix}
+      A_B  & \vect{0}    \\
+      A_C  & A'_C
+    \end{pmatrix}
+    \begin{pmatrix}
+     \vect{x} \\ \vect{x}'
+    \end{pmatrix}
+    \leq
+    \begin{pmatrix}
+     \vect{b}_B \\ \vect{b}_C
+    \end{pmatrix},
+  \f]
+  where
+  \f$ A_B \in \Qset^{r \times n} \f$,
+  \f$ A_C \in \Qset^{s \times n} \f$,
+  \f$ A'_C \in \Qset^{s \times n} \f$,
+  \f$ \vect{b}_B \in \Qset^r \f$,
+  \f$ \vect{b}_C \in \Qset^s \f$.
+  The corresponding system is:
+  \f[
+    \begin{aligned}
+      (\vect{v}_1-\vect{v}_2)^\transpose A_B
+        - \vect{v}_3^\transpose A_C
+          &= \vect{0}^\transpose, \\
+      \vect{v}_2^\transpose A_B
+        + \vect{v}_3^\transpose (A_C+A_C')
+          &= \vect{0}^\transpose, \\
+      \vect{v}_2 \vect{b}_B + \vect{v}_3 \vect{b}_C
+          &< 0,
+    \end{aligned}
+  \f]
+  where \f$ \vect{v}_1 \in \Qset_+^r \f$, \f$ \vect{v}_2 \in \Qset_+^r \f$,
+  \f$ \vect{v}_3 \in \Qset_+^s \f$.
+  The space of ranking functions is then spanned by
+  \f$ \vect{v}_3^\transpose A_C' \vect x \f$.
+
+  In contrast, our encoding is of the form
+  \f[
+    \begin{pmatrix}
+      \vect{0}    & E_B \\
+      E'_C & E_C
+    \end{pmatrix}
+    \begin{pmatrix}
+     \vect{x}' \\ \vect{x}
+    \end{pmatrix}
+    +
+    \begin{pmatrix}
+     \vect{d}_B \\ \vect{d}_C
+    \end{pmatrix}
+    \geq
+    \vect{0},
+  \f]
+  where \f$ {E}_B = -{A}_B \f$, \f$ {E}_C = -{A}_C \f$,
+  \f$ {E}'_C = -{A}'_C \f$, \f$ \vect{d}_B = \vect{b}_B \f$
+  and \f$ \vect{d}_C = \vect{b}_C \f$.
+  The corresponding system is:
+  \f[
+    \begin{aligned}
+      (\vect{u}_1-\vect{u}_2)^\transpose E_B
+        - \vect{u}_3^\transpose E_C
+          &= \vect{0}^\transpose, \\
+      \vect{u}_2^\transpose E_B
+        + \vect{u}_3^\transpose (E_C+E_C')
+          &= \vect{0}^\transpose, \\
+      \vect{u}_2 \vect{d}_B + \vect{u}_3 \vect{d}_C
+          &> 0,
+    \end{aligned}
+  \f]
+  where \f$ \vect{u}_1 \in \Qset_-^r \f$, \f$ \vect{u}_2 \in \Qset_-^r \f$,
+  \f$ \vect{u}_3 \in \Qset_-^s \f$.
+  The space of ranking functions is then spanned by
+  \f$ \vect{u}_3^\transpose E_C' \vect x \f$.
+*/
+void
+fill_constraint_system_PR(const Constraint_System& cs_before,
+			  const Constraint_System& cs_after,
+			  Constraint_System& cs_out,
+			  Linear_Expression& le_out) {
+  PPL_ASSERT(cs_after.space_dimension() % 2 == 0);
+  PPL_ASSERT(2*cs_before.space_dimension() == cs_after.space_dimension());
+  const dimension_type n = cs_before.space_dimension();
+  const dimension_type r = distance(cs_before.begin(), cs_before.end());
+  const dimension_type s = distance(cs_after.begin(), cs_after.end());
+  const dimension_type m = r + s;
+
+  // Make sure linear expressions are not reallocated multiple times.
+  if (m > 0)
+    le_out = 0 * Variable(m + r - 1);
+  std::vector<Linear_Expression> les_eq(2*n, le_out);
+
+  dimension_type row_index = 0;
+  for (Constraint_System::const_iterator i = cs_before.begin(),
+	 cs_before_end = cs_before.end();
+       i != cs_before_end;
+       ++i, ++row_index) {
+    Variable u1_i(m + row_index);
+    Variable u2_i(s + row_index);
+    const Constraint& c_i = *i;
+    for (dimension_type j = n; j-- > 0; ) {
+      Coefficient_traits::const_reference A_ij_B = c_i.coefficient(Variable(j));
+      if (A_ij_B != 0) {
+        // (u1 - u2) A_B, in the context of j-th constraint.
+        add_mul_assign(les_eq[j], A_ij_B, u1_i);
+        sub_mul_assign(les_eq[j], A_ij_B, u2_i);
+        // u2 A_B, in the context of (j+n)-th constraint.
+        add_mul_assign(les_eq[j + n], A_ij_B, u2_i);
+      }
+    }
+    Coefficient_traits::const_reference b_B = c_i.inhomogeneous_term();
+    if (b_B != 0)
+      // u2 b_B, in the context of the strict inequality constraint.
+      add_mul_assign(le_out, b_B, u2_i);
+  }
+
+  row_index = 0;
+  for (Constraint_System::const_iterator i = cs_after.begin(),
+	 cs_after_end = cs_after.end();
+       i != cs_after_end;
+       ++i, ++row_index) {
+    Variable u3_i(row_index);
+    const Constraint& c_i = *i;
+    for (dimension_type j = n; j-- > 0; ) {
+      Coefficient_traits::const_reference
+        A_ij_C = c_i.coefficient(Variable(j + n));
+      if (A_ij_C != 0) {
+        // - u3 A_C, in the context of the j-th constraint.
+        sub_mul_assign(les_eq[j], A_ij_C, u3_i);
+        // u3 A_C, in the context of the (j+n)-th constraint.
+        add_mul_assign(les_eq[j+n], A_ij_C, u3_i);
+      }
+      Coefficient_traits::const_reference
+        Ap_ij_C = c_i.coefficient(Variable(j));
+      if (Ap_ij_C != 0)
+        // u3 Ap_C, in the context of the (j+n)-th constraint.
+        add_mul_assign(les_eq[j+n], Ap_ij_C, u3_i);
+    }
+    Coefficient_traits::const_reference b_C = c_i.inhomogeneous_term();
+    if (b_C != 0)
+      // u3 b_C, in the context of the strict inequality constraint.
+      add_mul_assign(le_out, b_C, u3_i);
+  }
+
+  // Add the nonnegativity constraints for u_1, u_2 and u_3.
+  for (dimension_type i = s + 2*r; i-- > 0; )
+    cs_out.insert(Variable(i) >= 0);
+
+  // FIXME: iterate backwards once the debugging phase is over.
+  //for (dimension_type j = 2*n; j-- > 0; )
+  for (dimension_type j = 0; j < 2*n; ++j)
+    cs_out.insert(les_eq[j] == 0);
+}
+
+void
+fill_constraint_system_PR_original(const Constraint_System& cs,
+                                   Constraint_System& cs_out,
+                                   Linear_Expression& le_out) {
+  PPL_ASSERT(cs.space_dimension() % 2 == 0);
+  const dimension_type n = cs.space_dimension() / 2;
+  const dimension_type m = distance(cs.begin(), cs.end());
+
+  // Make sure linear expressions are not reallocated multiple times.
+  if (m > 0)
+    le_out = 0 * Variable(2*m - 1);
+  std::vector<Linear_Expression> les_eq(3*n, le_out);
+
+  dimension_type row_index = 0;
+  for (Constraint_System::const_iterator i = cs.begin(),
+	 cs_end = cs.end(); i != cs_end; ++i, ++row_index) {
+    const Constraint& c_i = *i;
+    const Variable lambda1_i(row_index);
+    const Variable lambda2_i(m + row_index);
+    for (dimension_type j = n; j-- > 0; ) {
+      Coefficient_traits::const_reference Ap_ij = c_i.coefficient(Variable(j));
+      if (Ap_ij != 0) {
+        // lambda_1 A'
+        add_mul_assign(les_eq[j], Ap_ij, lambda1_i);
+        // lambda_2 A'
+        add_mul_assign(les_eq[j+n+n], Ap_ij, lambda2_i);
+      }
+      Coefficient_traits::const_reference A_ij = c_i.coefficient(Variable(j+n));
+      if (A_ij != 0) {
+        // (lambda_1 - lambda_2) A
+        add_mul_assign(les_eq[j+n], A_ij, lambda1_i);
+        sub_mul_assign(les_eq[j+n], A_ij, lambda2_i);
+        // lambda_2 A
+        add_mul_assign(les_eq[j+n+n], A_ij, lambda2_i);
+      }
+    }
+    Coefficient_traits::const_reference b = c_i.inhomogeneous_term();
+    if (b != 0)
+      // lambda2 b
+      add_mul_assign(le_out, b, lambda2_i);
+  }
+
+  // Add the non-negativity constraints for lambda_1 and lambda_2.
+  for (dimension_type i = 2*m; i-- > 0; )
+    cs_out.insert(Variable(i) >= 0);
+
+  // FIXME: iterate backwards once the debugging phase is over.
+  //for (dimension_type j = 3*n; j-- > 0; )
+  for (dimension_type j = 0; j < 3*n; ++j)
+    cs_out.insert(les_eq[j] == 0);
+}
+
+bool
+termination_test_MS(const Constraint_System& cs) {
+  Constraint_System cs_mip;
+  fill_constraint_systems_MS(cs, cs_mip, cs_mip);
+
+  MIP_Problem mip = MIP_Problem(cs_mip.space_dimension(), cs_mip);
+  return mip.is_satisfiable();
+}
+
+bool
+one_affine_ranking_function_MS(const Constraint_System& cs, Generator& mu) {
+  Constraint_System cs_mip;
+  fill_constraint_systems_MS(cs, cs_mip, cs_mip);
+
+  MIP_Problem mip = MIP_Problem(cs_mip.space_dimension(), cs_mip);
+  if (!mip.is_satisfiable())
+    return false;
+
+  Generator fp = mip.feasible_point();
+  PPL_ASSERT(fp.is_point());
+  Linear_Expression le;
+  const dimension_type n = cs.space_dimension() / 2;
+  for (dimension_type i = n+1; i-- > 0; ) {
+    Variable vi(i);
+    add_mul_assign(le, fp.coefficient(vi), vi);
+  }
+  mu = point(le, fp.divisor());
+  return true;
+}
+
+void
+all_affine_ranking_functions_MS(const Constraint_System& cs,
+				C_Polyhedron& mu_space) {
+  Constraint_System cs_out1;
+  Constraint_System cs_out2;
+  fill_constraint_systems_MS(cs, cs_out1, cs_out2);
+
+  C_Polyhedron ph1(cs_out1);
+  C_Polyhedron ph2(cs_out2);
+  const dimension_type n = cs.space_dimension() / 2;
+  ph1.remove_higher_space_dimensions(n);
+  ph1.add_space_dimensions_and_embed(1);
+  ph2.remove_higher_space_dimensions(n+1);
+
+#if PRINT_DEBUG_INFO
+  Variable::output_function_type* p_default_output_function
+    = Variable::get_output_function();
+  Variable::set_output_function(output_function_MS);
+
+  output_function_MS_n = n;
+  output_function_MS_m = std::distance(cs.begin(), cs.end());
+
+  std::cout << "*** ph1 projected ***" << std::endl;
+  output_function_MS_which = 4;
+  using namespace IO_Operators;
+  std::cout << ph1.minimized_constraints() << std::endl;
+
+  std::cout << "*** ph2 projected ***" << std::endl;
+  std::cout << ph2.minimized_constraints() << std::endl;
+#endif
+
+  ph1.intersection_assign(ph2);
+
+#if PRINT_DEBUG_INFO
+  std::cout << "*** intersection ***" << std::endl;
+  using namespace IO_Operators;
+  std::cout << ph1.minimized_constraints() << std::endl;
+
+  Variable::set_output_function(p_default_output_function);
+#endif
+
+  mu_space.swap(ph1);
+}
+
+void
+all_affine_quasi_ranking_functions_MS(const Constraint_System& cs,
+                                      C_Polyhedron& decreasing_mu_space,
+                                      C_Polyhedron& bounded_mu_space) {
+  Constraint_System cs_out1;
+  Constraint_System cs_out2;
+  fill_constraint_systems_MS(cs, cs_out1, cs_out2);
+
+  C_Polyhedron ph1(cs_out1);
+  C_Polyhedron ph2(cs_out2);
+  const dimension_type n = cs.space_dimension() / 2;
+  ph1.remove_higher_space_dimensions(n);
+  ph1.add_space_dimensions_and_embed(1);
+  ph2.remove_higher_space_dimensions(n+1);
+
+#if PRINT_DEBUG_INFO
+  Variable::output_function_type* p_default_output_function
+    = Variable::get_output_function();
+  Variable::set_output_function(output_function_MS);
+
+  output_function_MS_n = n;
+  output_function_MS_m = std::distance(cs.begin(), cs.end());
+
+  std::cout << "*** ph1 projected ***" << std::endl;
+  output_function_MS_which = 4;
+  using namespace IO_Operators;
+  std::cout << ph1.minimized_constraints() << std::endl;
+
+  std::cout << "*** ph2 projected ***" << std::endl;
+  std::cout << ph2.minimized_constraints() << std::endl;
+
+  Variable::set_output_function(p_default_output_function);
+#endif
+
+  decreasing_mu_space.swap(ph1);
+  bounded_mu_space.swap(ph2);
+}
+
+bool
+termination_test_PR_original(const Constraint_System& cs) {
+  PPL_ASSERT(cs.space_dimension() % 2 == 0);
+
+  Constraint_System cs_mip;
+  Linear_Expression le_ineq;
+  fill_constraint_system_PR_original(cs, cs_mip, le_ineq);
+
+  // Turn minimization problem into satisfiability.
+  cs_mip.insert(le_ineq <= -1);
+
+  MIP_Problem mip(cs_mip.space_dimension(), cs_mip);
+  return mip.is_satisfiable();
+}
+
+bool
+termination_test_PR(const Constraint_System& cs_before,
+		    const Constraint_System& cs_after) {
+  Constraint_System cs_mip;
+  Linear_Expression le_ineq;
+  fill_constraint_system_PR(cs_before, cs_after, cs_mip, le_ineq);
+
+#if PRINT_DEBUG_INFO
+  Variable::output_function_type* p_default_output_function
+    = Variable::get_output_function();
+  Variable::set_output_function(output_function_PR);
+
+  output_function_PR_r = distance(cs_before.begin(), cs_before.end());
+  output_function_PR_s = distance(cs_after.begin(), cs_after.end());
+
+  std::cout << "*** cs_mip ***" << std::endl;
+  using namespace IO_Operators;
+  std::cout << cs_mip << std::endl;
+  std::cout << "*** le_ineq ***" << std::endl;
+  std::cout << le_ineq << std::endl;
+
+  Variable::set_output_function(p_default_output_function);
+#endif
+
+  // Turn minimization problem into satisfiability.
+  cs_mip.insert(le_ineq <= -1);
+
+  MIP_Problem mip(cs_mip.space_dimension(), cs_mip);
+  return mip.is_satisfiable();
+}
+
+bool
+one_affine_ranking_function_PR(const Constraint_System& cs_before,
+			       const Constraint_System& cs_after,
+			       Generator& mu) {
+  Constraint_System cs_mip;
+  Linear_Expression le_ineq;
+  fill_constraint_system_PR(cs_before, cs_after, cs_mip, le_ineq);
+
+#if PRINT_DEBUG_INFO
+  Variable::output_function_type* p_default_output_function
+    = Variable::get_output_function();
+  Variable::set_output_function(output_function_PR);
+
+  output_function_PR_r = distance(cs_before.begin(), cs_before.end());
+  output_function_PR_s = distance(cs_after.begin(), cs_after.end());
+
+  std::cout << "*** cs_mip ***" << std::endl;
+  using namespace IO_Operators;
+  std::cout << cs_mip << std::endl;
+  std::cout << "*** le_ineq ***" << std::endl;
+  std::cout << le_ineq << std::endl;
+
+  Variable::set_output_function(p_default_output_function);
+#endif
+
+  // Turn minimization problem into satisfiability.
+  cs_mip.insert(le_ineq <= -1);
+
+  MIP_Problem mip(cs_mip.space_dimension(), cs_mip);
+  if (!mip.is_satisfiable())
+    return false;
+
+  Generator fp = mip.feasible_point();
+  PPL_ASSERT(fp.is_point());
+
+  // u_3 corresponds to space dimensions 0, ..., s - 1.
+  const dimension_type n = cs_before.space_dimension();
+  Linear_Expression le;
+  // mu_0 is zero: do this first to avoid reallocations.
+  le += 0*Variable(n);
+  // Multiply u_3 by E'_C to obtain mu_1, ..., mu_n.
+  dimension_type row_index = 0;
+  PPL_DIRTY_TEMP_COEFFICIENT(k);
+  for (Constraint_System::const_iterator i = cs_after.begin(),
+         cs_after_end = cs_after.end();
+       i != cs_after_end;
+       ++i, ++row_index) {
+    Variable vi(row_index);
+    Coefficient_traits::const_reference fp_i = fp.coefficient(vi);
+    const Constraint& c_i = *i;
+    for (dimension_type j = n; j-- > 0; ) {
+      Variable vj(j);
+      k = fp_i * c_i.coefficient(vj);
+      sub_mul_assign(le, k, vj);
+    }
+  }
+  // Note that we can neglect the divisor of `fp' since it is positive.
+  mu = point(le);
+  return true;
+}
+
+bool
+one_affine_ranking_function_PR_original(const Constraint_System& cs,
+                                        Generator& mu) {
+  PPL_ASSERT(cs.space_dimension() % 2 == 0);
+  const dimension_type n = cs.space_dimension() / 2;
+  const dimension_type m = std::distance(cs.begin(), cs.end());
+
+  Constraint_System cs_mip;
+  Linear_Expression le_ineq;
+  fill_constraint_system_PR_original(cs, cs_mip, le_ineq);
+
+#if PRINT_DEBUG_INFO
+  std::cout << "*** cs_mip ***" << std::endl;
+  using namespace IO_Operators;
+  std::cout << cs_mip << std::endl;
+  std::cout << "*** le_ineq ***" << std::endl;
+  std::cout << le_ineq << std::endl;
+#endif
+
+  // Turn minimization problem into satisfiability.
+  cs_mip.insert(le_ineq <= -1);
+
+  MIP_Problem mip = MIP_Problem(cs_mip.space_dimension(), cs_mip);
+  if (!mip.is_satisfiable())
+    return false;
+
+  Generator fp = mip.feasible_point();
+  PPL_ASSERT(fp.is_point());
+  Linear_Expression le;
+  // mu_0 is zero: do this first to avoid reallocations.
+  le += 0*Variable(n);
+  // Multiply -lambda_2 by A' to obtain mu_1, ..., mu_n.
+  // lambda_2 corresponds to space dimensions m, ..., 2*m - 1.
+  dimension_type row_index = m;
+  PPL_DIRTY_TEMP_COEFFICIENT(k);
+  for (Constraint_System::const_iterator i = cs.begin(),
+         cs_end = cs.end(); i != cs_end; ++i, ++row_index) {
+    Variable lambda_2(row_index);
+    Coefficient_traits::const_reference fp_i = fp.coefficient(lambda_2);
+    if (fp_i != 0) {
+      const Constraint& c_i = *i;
+      for (dimension_type j = n; j-- > 0; ) {
+        Variable vj(j);
+        Coefficient_traits::const_reference Ap_ij = c_i.coefficient(vj);
+        k = fp_i * Ap_ij;
+        sub_mul_assign(le, k, vj);
+      }
+    }
+  }
+  // Note that we can neglect the divisor of `fp' since it is positive.
+  mu = point(le);
+  return true;
+}
+
+void
+all_affine_ranking_functions_PR(const Constraint_System& cs_before,
+				const Constraint_System& cs_after,
+				NNC_Polyhedron& mu_space) {
+  Constraint_System cs_eqs;
+  Linear_Expression le_ineq;
+  fill_constraint_system_PR(cs_before, cs_after, cs_eqs, le_ineq);
+
+#if PRINT_DEBUG_INFO
+  Variable::output_function_type* p_default_output_function
+    = Variable::get_output_function();
+  Variable::set_output_function(output_function_PR);
+
+  output_function_PR_r = distance(cs_before.begin(), cs_before.end());
+  output_function_PR_s = distance(cs_after.begin(), cs_after.end());
+
+  std::cout << "*** cs_eqs ***" << std::endl;
+  using namespace IO_Operators;
+  std::cout << cs_eqs << std::endl;
+  std::cout << "*** le_ineq ***" << std::endl;
+  std::cout << le_ineq << std::endl;
+#endif
+
+  NNC_Polyhedron ph(cs_eqs);
+  ph.add_constraint(le_ineq < 0);
+  // u_3 corresponds to space dimensions 0, ..., s - 1.
+  const dimension_type s = distance(cs_after.begin(), cs_after.end());
+  ph.remove_higher_space_dimensions(s);
+
+#if PRINT_DEBUG_INFO
+  std::cout << "*** ph ***" << std::endl;
+  std::cout << ph << std::endl;
+
+  Variable::set_output_function(p_default_output_function);
+#endif
+
+  const dimension_type n = cs_before.space_dimension();
+
+  const Generator_System& gs_in = ph.generators();
+  Generator_System gs_out;
+  Generator_System::const_iterator gs_in_it = gs_in.begin();
+  Generator_System::const_iterator gs_in_end = gs_in.end();
+  if (gs_in_it == gs_in_end)
+    // The system is unsatisfiable.
+    mu_space = NNC_Polyhedron(n + 1, EMPTY);
+  else {
+    for ( ; gs_in_it != gs_in_end; ++gs_in_it) {
+      const Generator& g = *gs_in_it;
+      Linear_Expression le;
+      // Set le to the multiplication of Linear_Expression(g) by E'_C.
+      dimension_type row_index = 0;
+      PPL_DIRTY_TEMP_COEFFICIENT(k);
+      for (Constraint_System::const_iterator i = cs_after.begin(),
+	     cs_after_end = cs_after.end();
+	   i != cs_after_end;
+	   ++i, ++row_index) {
+	Variable vi(row_index);
+	Coefficient_traits::const_reference g_i = g.coefficient(vi);
+	if (g_i != 0) {
+	  const Constraint& c_i = *i;
+	  for (dimension_type j = n; j-- > 0; ) {
+	    Variable vj(j);
+	    k = g_i * c_i.coefficient(vj);
+	    sub_mul_assign(le, k, vj);
+	  }
+	}
+      }
+
+      // Add to gs_out the transformed generator.
+      switch (g.type()) {
+      case Generator::LINE:
+	if (!le.all_homogeneous_terms_are_zero())
+	  gs_out.insert(line(le));
+	break;
+      case Generator::RAY:
+	if (!le.all_homogeneous_terms_are_zero())
+	  gs_out.insert(ray(le));
+	break;
+      case Generator::POINT:
+	gs_out.insert(point(le, g.divisor()));
+	break;
+      case Generator::CLOSURE_POINT:
+	gs_out.insert(closure_point(le, g.divisor()));
+	break;
+      }
+    }
+
+    mu_space = NNC_Polyhedron(gs_out);
+    // mu_0 is zero.
+    mu_space.add_space_dimensions_and_embed(1);
+  }
+}
+
+void
+all_affine_ranking_functions_PR_original(const Constraint_System& cs,
+                                         NNC_Polyhedron& mu_space) {
+  PPL_ASSERT(cs.space_dimension() % 2 == 0);
+  const dimension_type n = cs.space_dimension() / 2;
+  const dimension_type m = distance(cs.begin(), cs.end());
+
+  if (m == 0) {
+    // If there are no constraints at all, we have non-termination,
+    // i.e., no affine ranking function at all.
+    mu_space = NNC_Polyhedron(n + 1, EMPTY);
+    return;
+  }
+
+  Constraint_System cs_eqs;
+  Linear_Expression le_ineq;
+  fill_constraint_system_PR_original(cs, cs_eqs, le_ineq);
+
+  NNC_Polyhedron ph(cs_eqs);
+  ph.add_constraint(le_ineq < 0);
+  // lambda_2 corresponds to space dimensions m, ..., 2*m-1.
+  Variables_Set lambda1(Variable(0), Variable(m-1));
+  ph.remove_space_dimensions(lambda1);
+  //ph.remove_higher_space_dimensions(m);
+
+#if PRINT_DEBUG_INFO
+  std::cout << "*** ph ***" << std::endl;
+  std::cout << ph << std::endl;
+
+  Variable::set_output_function(p_default_output_function);
+#endif
+
+  const Generator_System& gs_in = ph.generators();
+  Generator_System gs_out;
+  Generator_System::const_iterator gs_in_it = gs_in.begin();
+  Generator_System::const_iterator gs_in_end = gs_in.end();
+  if (gs_in_it == gs_in_end)
+    // The system is unsatisfiable.
+    mu_space = NNC_Polyhedron(n + 1, EMPTY);
+  else {
+    for ( ; gs_in_it != gs_in_end; ++gs_in_it) {
+      const Generator& g = *gs_in_it;
+      Linear_Expression le;
+      // Set le to the multiplication of Linear_Expression(g) by E'_C.
+      dimension_type row_index = 0;
+      PPL_DIRTY_TEMP_COEFFICIENT(k);
+      for (Constraint_System::const_iterator i = cs.begin(),
+	     cs_end = cs.end(); i != cs_end; ++i, ++row_index) {
+	Variable lambda2_i(row_index);
+	Coefficient_traits::const_reference g_i = g.coefficient(lambda2_i);
+	if (g_i != 0) {
+	  const Constraint& c_i = *i;
+	  for (dimension_type j = n; j-- > 0; ) {
+	    Variable vj(j);
+	    Coefficient_traits::const_reference Ap_ij = c_i.coefficient(vj);
+	    k = g_i * Ap_ij;
+	    sub_mul_assign(le, k, vj);
+	  }
+	}
+      }
+
+      // Add to gs_out the transformed generator.
+      switch (g.type()) {
+      case Generator::LINE:
+	if (!le.all_homogeneous_terms_are_zero())
+	  gs_out.insert(line(le));
+	break;
+      case Generator::RAY:
+	if (!le.all_homogeneous_terms_are_zero())
+	  gs_out.insert(ray(le));
+	break;
+      case Generator::POINT:
+	gs_out.insert(point(le, g.divisor()));
+	break;
+      case Generator::CLOSURE_POINT:
+	gs_out.insert(closure_point(le, g.divisor()));
+	break;
+      }
+    }
+
+    mu_space = NNC_Polyhedron(gs_out);
+    // mu_0 is zero.
+    mu_space.add_space_dimensions_and_embed(1);
+  }
+}
+
+} // namespace Termination
+
+} // namespace Implementation
+
+} // namespace Parma_Polyhedra_Library
diff --git a/src/termination.defs.hh b/src/termination.defs.hh
new file mode 100644
index 0000000..c64ed58
--- /dev/null
+++ b/src/termination.defs.hh
@@ -0,0 +1,469 @@
+/* Utilities for termination analysis: declarations.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#ifndef PPL_termination_defs_hh
+#define PPL_termination_defs_hh 1
+
+#include "Generator.types.hh"
+#include "C_Polyhedron.types.hh"
+#include "NNC_Polyhedron.types.hh"
+
+namespace Parma_Polyhedra_Library {
+
+/*! \brief
+  Termination test using an improvement of the method by Mesnard and
+  Serebrenik \ref BMPZ10 "[BMPZ10]".
+
+  \tparam PSET
+  Any pointset supported by the PPL that provides the
+  <CODE>minimized_constraints()</CODE> method.
+
+  \param pset
+  A pointset approximating the behavior of a loop whose termination
+  is being analyzed.  The variables indices are allocated as follows:
+  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$,
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ n, \ldots, 2n-1 \f$,
+  .
+  where unprimed variables represent the values of the loop-relevant
+  program variables before the update performed in the loop body,
+  and primed variables represent the values of those program variables
+  after the update.
+
+  \return
+  <CODE>true</CODE> if any loop approximated by \p pset definitely
+  terminates; <CODE>false</CODE> if the test is inconclusive.
+  However, if \p pset <EM>precisely</EM> characterizes the effect
+  of the loop body onto the loop-relevant program variables,
+  then <CODE>true</CODE> is returned <EM>if and only if</EM>
+  the loop terminates.
+*/
+template <typename PSET>
+bool
+termination_test_MS(const PSET& pset);
+
+/*! \brief
+  Termination test using an improvement of the method by Mesnard and
+  Serebrenik \ref BMPZ10 "[BMPZ10]".
+
+  \tparam PSET
+  Any pointset supported by the PPL that provides the
+  <CODE>minimized_constraints()</CODE> method.
+
+  \param pset_before
+  A pointset approximating the values of loop-relevant variables
+  <EM>before</EM> the update performed in the loop body that is being
+  analyzed.  The variables indices are allocated as follows:
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$.
+
+  \param pset_after
+  A pointset approximating the values of loop-relevant variables
+  <EM>after</EM> the update performed in the loop body that is being
+  analyzed.  The variables indices are allocated as follows:
+  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$,
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ n, \ldots, 2n-1 \f$,
+
+  Note that unprimed variables represent the values of the loop-relevant
+  program variables before the update performed in the loop body,
+  and primed variables represent the values of those program variables
+  after the update.  Note also that unprimed variables are assigned
+  to different space dimensions in \p pset_before and \p pset_after.
+
+  \return
+  <CODE>true</CODE> if any loop approximated by \p pset definitely
+  terminates; <CODE>false</CODE> if the test is inconclusive.
+  However, if \p pset_before and \p pset_after <EM>precisely</EM>
+  characterize the effect of the loop body onto the loop-relevant
+  program variables, then <CODE>true</CODE> is returned
+  <EM>if and only if</EM> the loop terminates.
+*/
+template <typename PSET>
+bool
+termination_test_MS_2(const PSET& pset_before, const PSET& pset_after);
+
+/*! \brief
+  Termination test with witness ranking function using an improvement
+  of the method by Mesnard and Serebrenik \ref BMPZ10 "[BMPZ10]".
+
+  \tparam PSET
+  Any pointset supported by the PPL that provides the
+  <CODE>minimized_constraints()</CODE> method.
+
+  \param pset
+  A pointset approximating the behavior of a loop whose termination
+  is being analyzed.  The variables indices are allocated as follows:
+  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$,
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ n, \ldots, 2n-1 \f$,
+  .
+  where unprimed variables represent the values of the loop-relevant
+  program variables before the update performed in the loop body,
+  and primed variables represent the values of those program variables
+  after the update.
+
+  \param mu
+  When <CODE>true</CODE> is returned, this is assigned a point
+  of space dimension \f$ n+1 \f$ encoding one (not further specified)
+  affine ranking function for the loop being analyzed.
+  The ranking function is of the form \f$ \mu_0 + \sum_{i=1}^n \mu_i x_i \f$
+  where \f$ \mu_0, \mu_1, \ldots, \mu_n \f$ are the coefficients
+  of \p mu corresponding to the space dimensions \f$ n, 0, \ldots, n-1 \f$,
+  respectively.
+
+  \return
+  <CODE>true</CODE> if any loop approximated by \p pset definitely
+  terminates; <CODE>false</CODE> if the test is inconclusive.
+  However, if \p pset <EM>precisely</EM> characterizes the effect
+  of the loop body onto the loop-relevant program variables,
+  then <CODE>true</CODE> is returned <EM>if and only if</EM>
+  the loop terminates.
+*/
+template <typename PSET>
+bool
+one_affine_ranking_function_MS(const PSET& pset, Generator& mu);
+
+/*! \brief
+  Termination test with witness ranking function using an improvement
+  of the method by Mesnard and Serebrenik \ref BMPZ10 "[BMPZ10]".
+
+  \tparam PSET
+  Any pointset supported by the PPL that provides the
+  <CODE>minimized_constraints()</CODE> method.
+
+  \param pset_before
+  A pointset approximating the values of loop-relevant variables
+  <EM>before</EM> the update performed in the loop body that is being
+  analyzed.  The variables indices are allocated as follows:
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$.
+
+  \param pset_after
+  A pointset approximating the values of loop-relevant variables
+  <EM>after</EM> the update performed in the loop body that is being
+  analyzed.  The variables indices are allocated as follows:
+  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$,
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ n, \ldots, 2n-1 \f$,
+
+  Note that unprimed variables represent the values of the loop-relevant
+  program variables before the update performed in the loop body,
+  and primed variables represent the values of those program variables
+  after the update.  Note also that unprimed variables are assigned
+  to different space dimensions in \p pset_before and \p pset_after.
+
+  \param mu
+  When <CODE>true</CODE> is returned, this is assigned a point
+  of space dimension \f$ n+1 \f$ encoding one (not further specified)
+  affine ranking function for the loop being analyzed.
+  The ranking function is of the form \f$ \mu_0 + \sum_{i=1}^n \mu_i x_i \f$
+  where \f$ \mu_0, \mu_1, \ldots, \mu_n \f$ are the coefficients
+  of \p mu corresponding to the space dimensions \f$ n, 0, \ldots, n-1 \f$,
+  respectively.
+
+  \return
+  <CODE>true</CODE> if any loop approximated by \p pset definitely
+  terminates; <CODE>false</CODE> if the test is inconclusive.
+  However, if \p pset_before and \p pset_after <EM>precisely</EM>
+  characterize the effect of the loop body onto the loop-relevant
+  program variables, then <CODE>true</CODE> is returned
+  <EM>if and only if</EM> the loop terminates.
+*/
+template <typename PSET>
+bool
+one_affine_ranking_function_MS_2(const PSET& pset_before,
+				 const PSET& pset_after,
+				 Generator& mu);
+
+/*! \brief
+  Termination test with ranking function space using an improvement
+  of the method by Mesnard and Serebrenik \ref BMPZ10 "[BMPZ10]".
+
+  \tparam PSET
+  Any pointset supported by the PPL that provides the
+  <CODE>minimized_constraints()</CODE> method.
+
+  \param pset
+  A pointset approximating the behavior of a loop whose termination
+  is being analyzed.  The variables indices are allocated as follows:
+  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$,
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ n, \ldots, 2n-1 \f$,
+  .
+  where unprimed variables represent the values of the loop-relevant
+  program variables before the update performed in the loop body,
+  and primed variables represent the values of those program variables
+  after the update.
+
+  \param mu_space
+  This is assigned a closed polyhedron of space dimension \f$ n+1 \f$
+  representing the space of all the affine ranking functions for the loops
+  that are precisely characterized by \p pset.
+  These ranking functions are of the form
+  \f$ \mu_0 + \sum_{i=1}^n \mu_i x_i \f$
+  where \f$ \mu_0, \mu_1, \ldots, \mu_n \f$ identify any point of the
+  \p mu_space polyhedron.
+  The variables \f$ \mu_0, \mu_1, \ldots, \mu_n \f$
+  correspond to the space dimensions of \p mu_space
+  \f$ n, 0, \ldots, n-1 \f$, respectively.
+  When \p mu_space is empty, it means that the test is inconclusive.
+  However, if \p pset <EM>precisely</EM> characterizes the effect
+  of the loop body onto the loop-relevant program variables,
+  then \p mu_space is empty <EM>if and only if</EM>
+  the loop does <EM>not</EM> terminate.
+*/
+template <typename PSET>
+void
+all_affine_ranking_functions_MS(const PSET& pset, C_Polyhedron& mu_space);
+
+/*! \brief
+  Termination test with ranking function space using an improvement
+  of the method by Mesnard and Serebrenik \ref BMPZ10 "[BMPZ10]".
+
+  \tparam PSET
+  Any pointset supported by the PPL that provides the
+  <CODE>minimized_constraints()</CODE> method.
+
+  \param pset_before
+  A pointset approximating the values of loop-relevant variables
+  <EM>before</EM> the update performed in the loop body that is being
+  analyzed.  The variables indices are allocated as follows:
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$.
+
+  \param pset_after
+  A pointset approximating the values of loop-relevant variables
+  <EM>after</EM> the update performed in the loop body that is being
+  analyzed.  The variables indices are allocated as follows:
+  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$,
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ n, \ldots, 2n-1 \f$,
+
+  Note that unprimed variables represent the values of the loop-relevant
+  program variables before the update performed in the loop body,
+  and primed variables represent the values of those program variables
+  after the update.  Note also that unprimed variables are assigned
+  to different space dimensions in \p pset_before and \p pset_after.
+
+  \param mu_space
+  This is assigned a closed polyhedron of space dimension \f$ n+1 \f$
+  representing the space of all the affine ranking functions for the loops
+  that are precisely characterized by \p pset.
+  These ranking functions are of the form
+  \f$ \mu_0 + \sum_{i=1}^n \mu_i x_i \f$
+  where \f$ \mu_0, \mu_1, \ldots, \mu_n \f$ identify any point of the
+  \p mu_space polyhedron.
+  The variables \f$ \mu_0, \mu_1, \ldots, \mu_n \f$
+  correspond to the space dimensions of \p mu_space
+  \f$ n, 0, \ldots, n-1 \f$, respectively.
+  When \p mu_space is empty, it means that the test is inconclusive.
+  However, if \p pset_before and \p pset_after <EM>precisely</EM>
+  characterize the effect of the loop body onto the loop-relevant
+  program variables, then \p mu_space is empty <EM>if and only if</EM>
+  the loop does <EM>not</EM> terminate.
+*/
+template <typename PSET>
+void
+all_affine_ranking_functions_MS_2(const PSET& pset_before,
+				  const PSET& pset_after,
+				  C_Polyhedron& mu_space);
+
+/*! \brief
+  Computes the spaces of affine \e quasi ranking functions
+  using an improvement of the method by Mesnard and Serebrenik
+  \ref BMPZ10 "[BMPZ10]".
+
+  \tparam PSET
+  Any pointset supported by the PPL that provides the
+  <CODE>minimized_constraints()</CODE> method.
+
+  \param pset
+  A pointset approximating the behavior of a loop whose termination
+  is being analyzed.  The variables indices are allocated as follows:
+  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$,
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ n, \ldots, 2n-1 \f$,
+  .
+  where unprimed variables represent the values of the loop-relevant
+  program variables before the update performed in the loop body,
+  and primed variables represent the values of those program variables
+  after the update.
+
+  \param decreasing_mu_space
+  This is assigned a closed polyhedron of space dimension \f$ n+1 \f$
+  representing the space of all the decreasing affine functions
+  for the loops that are precisely characterized by \p pset.
+
+  \param bounded_mu_space
+  This is assigned a closed polyhedron of space dimension \f$ n+1 \f$
+  representing the space of all the lower bounded affine functions
+  for the loops that are precisely characterized by \p pset.
+
+  These quasi-ranking functions are of the form
+  \f$ \mu_0 + \sum_{i=1}^n \mu_i x_i \f$
+  where \f$ \mu_0, \mu_1, \ldots, \mu_n \f$ identify any point of the
+  \p decreasing_mu_space and \p bounded_mu_space polyhedrons.
+  The variables \f$ \mu_0, \mu_1, \ldots, \mu_n \f$
+  correspond to the space dimensions \f$ n, 0, \ldots, n-1 \f$, respectively.
+  When \p decreasing_mu_space (resp., \p bounded_mu_space) is empty,
+  it means that the test is inconclusive.
+  However, if \p pset <EM>precisely</EM> characterizes the effect
+  of the loop body onto the loop-relevant program variables,
+  then \p decreasing_mu_space (resp., \p bounded_mu_space) will be empty
+  <EM>if and only if</EM> there is no decreasing (resp., lower bounded)
+  affine function, so that the loop does not terminate.
+*/
+template <typename PSET>
+void
+all_affine_quasi_ranking_functions_MS(const PSET& pset,
+                                      C_Polyhedron& decreasing_mu_space,
+                                      C_Polyhedron& bounded_mu_space);
+
+/*! \brief
+  Computes the spaces of affine \e quasi ranking functions
+  using an improvement of the method by Mesnard and Serebrenik
+  \ref BMPZ10 "[BMPZ10]".
+
+  \tparam PSET
+  Any pointset supported by the PPL that provides the
+  <CODE>minimized_constraints()</CODE> method.
+
+  \param pset_before
+  A pointset approximating the values of loop-relevant variables
+  <EM>before</EM> the update performed in the loop body that is being
+  analyzed.  The variables indices are allocated as follows:
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$.
+
+  \param pset_after
+  A pointset approximating the values of loop-relevant variables
+  <EM>after</EM> the update performed in the loop body that is being
+  analyzed.  The variables indices are allocated as follows:
+  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$,
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ n, \ldots, 2n-1 \f$,
+
+  Note that unprimed variables represent the values of the loop-relevant
+  program variables before the update performed in the loop body,
+  and primed variables represent the values of those program variables
+  after the update.  Note also that unprimed variables are assigned
+  to different space dimensions in \p pset_before and \p pset_after.
+
+  \param decreasing_mu_space
+  This is assigned a closed polyhedron of space dimension \f$ n+1 \f$
+  representing the space of all the decreasing affine functions
+  for the loops that are precisely characterized by \p pset.
+
+  \param bounded_mu_space
+  This is assigned a closed polyhedron of space dimension \f$ n+1 \f$
+  representing the space of all the lower bounded affine functions
+  for the loops that are precisely characterized by \p pset.
+
+  These ranking functions are of the form
+  \f$ \mu_0 + \sum_{i=1}^n \mu_i x_i \f$
+  where \f$ \mu_0, \mu_1, \ldots, \mu_n \f$ identify any point of the
+  \p decreasing_mu_space and \p bounded_mu_space polyhedrons.
+  The variables \f$ \mu_0, \mu_1, \ldots, \mu_n \f$
+  correspond to the space dimensions \f$ n, 0, \ldots, n-1 \f$, respectively.
+  When \p decreasing_mu_space (resp., \p bounded_mu_space) is empty,
+  it means that the test is inconclusive.
+  However, if \p pset_before and \p pset_after <EM>precisely</EM>
+  characterize the effect of the loop body onto the loop-relevant
+  program variables, then \p decreasing_mu_space (resp., \p bounded_mu_space)
+  will be empty <EM>if and only if</EM> there is no decreasing
+  (resp., lower bounded) affine function, so that the loop does not terminate.
+*/
+template <typename PSET>
+void
+all_affine_quasi_ranking_functions_MS_2(const PSET& pset_before,
+                                        const PSET& pset_after,
+                                        C_Polyhedron& decreasing_mu_space,
+                                        C_Polyhedron& bounded_mu_space);
+
+/*! \brief
+  Like termination_test_MS() but using the method by Podelski and
+  Rybalchenko \ref BMPZ10 "[BMPZ10]".
+*/
+template <typename PSET>
+bool
+termination_test_PR(const PSET& pset);
+
+/*! \brief
+  Like termination_test_MS_2() but using an alternative formalization
+  of the method by Podelski and Rybalchenko \ref BMPZ10 "[BMPZ10]".
+*/
+template <typename PSET>
+bool
+termination_test_PR_2(const PSET& pset_before, const PSET& pset_after);
+
+/*! \brief
+  Like one_affine_ranking_function_MS() but using the method by Podelski
+  and Rybalchenko \ref BMPZ10 "[BMPZ10]".
+*/
+template <typename PSET>
+bool
+one_affine_ranking_function_PR(const PSET& pset, Generator& mu);
+
+/*! \brief
+  Like one_affine_ranking_function_MS_2() but using an alternative
+  formalization of the method by Podelski and Rybalchenko
+  \ref BMPZ10 "[BMPZ10]".
+*/
+template <typename PSET>
+bool
+one_affine_ranking_function_PR_2(const PSET& pset_before,
+				 const PSET& pset_after,
+				 Generator& mu);
+
+/*! \brief
+  Like all_affine_ranking_functions_MS() but using the method by Podelski
+  and Rybalchenko \ref BMPZ10 "[BMPZ10]".
+*/
+template <typename PSET>
+void
+all_affine_ranking_functions_PR(const PSET& pset, NNC_Polyhedron& mu_space);
+
+/*! \brief
+  Like all_affine_ranking_functions_MS_2() but using an alternative
+  formalization of the method by Podelski and Rybalchenko
+  \ref BMPZ10 "[BMPZ10]".
+*/
+template <typename PSET>
+void
+all_affine_ranking_functions_PR_2(const PSET& pset_before,
+				  const PSET& pset_after,
+				  NNC_Polyhedron& mu_space);
+
+} // namespace Parma_Polyhedra_Library
+
+#include "termination.templates.hh"
+
+#endif // !defined(PPL_termination_defs_hh)
diff --git a/src/termination.templates.hh b/src/termination.templates.hh
new file mode 100644
index 0000000..2a92f75
--- /dev/null
+++ b/src/termination.templates.hh
@@ -0,0 +1,547 @@
+/* Utilities for termination analysis: template functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#ifndef PPL_termination_templates_hh
+#define PPL_termination_templates_hh 1
+
+#include "globals.defs.hh"
+#include "Variable.defs.hh"
+#include "Generator.defs.hh"
+#include "Constraint_System.defs.hh"
+#include "C_Polyhedron.defs.hh"
+#include "NNC_Polyhedron.defs.hh"
+
+#include <stdexcept>
+
+#define PRINT_DEBUG_INFO 0
+
+#if PRINT_DEBUG_INFO
+#include <iostream>
+#endif
+
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+namespace Termination {
+
+#if PRINT_DEBUG_INFO
+static dimension_type output_function_MS_n;
+static dimension_type output_function_MS_m;
+
+/* Encodes which object are we printing:
+
+   0 means input constraint system;
+   1 means first output constraint system;
+   2 means second output constraint system;
+   3 means only output constraint system
+     (i.e., when first and second are the same);
+   4 means mu space.
+*/
+static int output_function_MS_which = -1;
+
+/*
+  Debuggin output function.  See the documentation of
+  fill_constraint_systems_MS() for the allocation of variable indices.
+*/
+inline void
+output_function_MS(std::ostream& s, const Variable& v) {
+  dimension_type id = v.id();
+  switch (output_function_MS_which) {
+  case 0:
+    if (id < output_function_MS_n)
+      s << "x'" << id + 1;
+    else if (id < 2*output_function_MS_n)
+      s << "x" << id - output_function_MS_n + 1;
+    else
+      s << "WHAT?";
+    break;
+  case 1:
+    if (id < output_function_MS_n)
+      s << "mu" << id + 1;
+    else if (id == output_function_MS_n)
+      s << "WHAT?";
+    else if (id <= output_function_MS_n + output_function_MS_m)
+      s << "y" << id - output_function_MS_n;
+    else
+      s << "WHAT?";
+    break;
+  case 2:
+  case 4:
+    if (id < output_function_MS_n)
+      s << "mu" << id + 1;
+    else if (id == output_function_MS_n)
+      s << "mu0";
+    else if (output_function_MS_which == 2
+	     && id <= output_function_MS_n + output_function_MS_m + 2)
+      s << "z" << id - output_function_MS_n;
+    else
+      s << "WHAT?";
+    break;
+  case 3:
+    if (id < output_function_MS_n)
+      s << "mu" << id + 1;
+    else if (id == output_function_MS_n)
+      s << "mu0";
+    else if (id <= output_function_MS_n + output_function_MS_m)
+      s << "y" << id - output_function_MS_n;
+    else if (id <= output_function_MS_n + 2*output_function_MS_m + 2)
+      s << "z" << id - (output_function_MS_n + output_function_MS_m);
+    else
+      s << "WHAT?";
+    break;
+  default:
+    abort();
+    break;
+  }
+}
+
+static dimension_type output_function_PR_s;
+static dimension_type output_function_PR_r;
+
+/*
+  Debuggin output function.  See the documentation of
+  fill_constraint_system_PR() for the allocation of variable indices.
+*/
+inline void
+output_function_PR(std::ostream& s, const Variable& v) {
+  dimension_type id = v.id();
+  if (id < output_function_PR_s)
+    s << "u3_" << id + 1;
+  else if (id < output_function_PR_s + output_function_PR_r)
+    s << "u2_" << id - output_function_PR_s + 1;
+  else if (id < output_function_PR_s + 2*output_function_PR_r)
+    s << "u1_" << id - (output_function_PR_s + output_function_PR_r) + 1;
+  else
+    s << "WHAT?";
+}
+#endif
+
+void
+assign_all_inequalities_approximation(const Constraint_System& cs_in,
+				      Constraint_System& cs_out);
+
+template <typename PSET>
+inline void
+assign_all_inequalities_approximation(const PSET& pset,
+				      Constraint_System& cs) {
+  assign_all_inequalities_approximation(pset.minimized_constraints(), cs);
+}
+
+template <>
+void
+assign_all_inequalities_approximation(const C_Polyhedron& ph,
+				      Constraint_System& cs);
+
+void
+shift_unprimed_variables(Constraint_System& cs);
+
+template <typename PSET>
+void
+assign_all_inequalities_approximation(const PSET& pset_before,
+				      const PSET& pset_after,
+				      Constraint_System& cs) {
+  assign_all_inequalities_approximation(pset_before, cs);
+  shift_unprimed_variables(cs);
+  Constraint_System cs_after;
+  assign_all_inequalities_approximation(pset_after, cs_after);
+  // FIXME: provide an "append" for constraint systems.
+  for (Constraint_System::const_iterator i = cs_after.begin(),
+	 cs_after_end = cs_after.end(); i != cs_after_end; ++i)
+    cs.insert(*i);
+}
+
+bool
+termination_test_MS(const Constraint_System& cs);
+
+bool
+one_affine_ranking_function_MS(const Constraint_System& cs,
+			       Generator& mu);
+
+void
+all_affine_ranking_functions_MS(const Constraint_System& cs,
+				C_Polyhedron& mu_space);
+
+void
+all_affine_quasi_ranking_functions_MS(const Constraint_System& cs,
+                                      C_Polyhedron& decreasing_mu_space,
+                                      C_Polyhedron& bounded_mu_space);
+
+bool
+termination_test_PR(const Constraint_System& cs_before,
+		    const Constraint_System& cs_after);
+
+bool
+one_affine_ranking_function_PR(const Constraint_System& cs_before,
+			       const Constraint_System& cs_after,
+			       Generator& mu);
+
+void
+all_affine_ranking_functions_PR(const Constraint_System& cs_before,
+				const Constraint_System& cs_after,
+				NNC_Polyhedron& mu_space);
+
+bool
+termination_test_PR_original(const Constraint_System& cs);
+
+bool
+one_affine_ranking_function_PR_original(const Constraint_System& cs,
+                                        Generator& mu);
+
+void
+all_affine_ranking_functions_PR_original(const Constraint_System& cs,
+                                         NNC_Polyhedron& mu_space);
+
+} // namespace Termination
+
+} // namespace Implementation
+
+template <typename PSET>
+bool
+termination_test_MS(const PSET& pset) {
+  const dimension_type space_dim = pset.space_dimension();
+  if (space_dim % 2 != 0) {
+    std::ostringstream s;
+    s << "PPL::termination_test_MS(pset):\n"
+         "pset.space_dimension() == " << space_dim
+      << " is odd.";
+    throw std::invalid_argument(s.str());
+  }
+
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  assign_all_inequalities_approximation(pset, cs);
+  return termination_test_MS(cs);
+}
+
+template <typename PSET>
+bool
+termination_test_MS_2(const PSET& pset_before, const PSET& pset_after) {
+  const dimension_type before_space_dim = pset_before.space_dimension();
+  const dimension_type after_space_dim = pset_after.space_dimension();
+  if (after_space_dim != 2*before_space_dim) {
+    std::ostringstream s;
+    s << "PPL::termination_test_MS_2(pset_before, pset_after):\n"
+         "pset_before.space_dimension() == " << before_space_dim
+      << ", pset_after.space_dimension() == " << after_space_dim
+      << ";\nthe latter should be twice the former.";
+    throw std::invalid_argument(s.str());
+  }
+
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  assign_all_inequalities_approximation(pset_before, pset_after, cs);
+  return termination_test_MS(cs);
+}
+
+template <typename PSET>
+bool
+one_affine_ranking_function_MS(const PSET& pset, Generator& mu) {
+  const dimension_type space_dim = pset.space_dimension();
+  if (space_dim % 2 != 0) {
+    std::ostringstream s;
+    s << "PPL::one_affine_ranking_function_MS(pset, mu):\n"
+         "pset.space_dimension() == " << space_dim
+      << " is odd.";
+    throw std::invalid_argument(s.str());
+  }
+
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  assign_all_inequalities_approximation(pset, cs);
+  return one_affine_ranking_function_MS(cs, mu);
+}
+
+template <typename PSET>
+bool
+one_affine_ranking_function_MS_2(const PSET& pset_before,
+				 const PSET& pset_after,
+				 Generator& mu) {
+  const dimension_type before_space_dim = pset_before.space_dimension();
+  const dimension_type after_space_dim = pset_after.space_dimension();
+  if (after_space_dim != 2*before_space_dim) {
+    std::ostringstream s;
+    s << "PPL::one_affine_ranking_function_MS_2(pset_before, pset_after, mu):\n"
+         "pset_before.space_dimension() == " << before_space_dim
+      << ", pset_after.space_dimension() == " << after_space_dim
+      << ";\nthe latter should be twice the former.";
+    throw std::invalid_argument(s.str());
+  }
+
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  assign_all_inequalities_approximation(pset_before, pset_after, cs);
+  return one_affine_ranking_function_MS(cs, mu);
+}
+
+template <typename PSET>
+void
+all_affine_ranking_functions_MS(const PSET& pset, C_Polyhedron& mu_space) {
+  const dimension_type space_dim = pset.space_dimension();
+  if (space_dim % 2 != 0) {
+    std::ostringstream s;
+    s << "PPL::all_affine_ranking_functions_MS(pset, mu_space):\n"
+         "pset.space_dimension() == " << space_dim
+      << " is odd.";
+    throw std::invalid_argument(s.str());
+  }
+
+  if (pset.is_empty()) {
+    mu_space = C_Polyhedron(1 + space_dim/2, UNIVERSE);
+    return;
+  }
+
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  assign_all_inequalities_approximation(pset, cs);
+  all_affine_ranking_functions_MS(cs, mu_space);
+}
+
+template <typename PSET>
+void
+all_affine_ranking_functions_MS_2(const PSET& pset_before,
+				  const PSET& pset_after,
+				  C_Polyhedron& mu_space) {
+  const dimension_type before_space_dim = pset_before.space_dimension();
+  const dimension_type after_space_dim = pset_after.space_dimension();
+  if (after_space_dim != 2*before_space_dim) {
+    std::ostringstream s;
+    s << "PPL::all_affine_ranking_functions_MS_2"
+      << "(pset_before, pset_after, mu_space):\n"
+      << "pset_before.space_dimension() == " << before_space_dim
+      << ", pset_after.space_dimension() == " << after_space_dim
+      << ";\nthe latter should be twice the former.";
+    throw std::invalid_argument(s.str());
+  }
+
+  if (pset_before.is_empty()) {
+    mu_space = C_Polyhedron(1 + before_space_dim, UNIVERSE);
+    return;
+  }
+
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  assign_all_inequalities_approximation(pset_before, pset_after, cs);
+  all_affine_ranking_functions_MS(cs, mu_space);
+}
+
+template <typename PSET>
+void
+all_affine_quasi_ranking_functions_MS(const PSET& pset,
+                                      C_Polyhedron& decreasing_mu_space,
+                                      C_Polyhedron& bounded_mu_space) {
+  const dimension_type space_dim = pset.space_dimension();
+  if (space_dim % 2 != 0) {
+    std::ostringstream s;
+    s << "PPL::all_affine_quasi_ranking_functions_MS"
+      << "(pset, decr_space, bounded_space):\n"
+      << "pset.space_dimension() == " << space_dim
+      << " is odd.";
+    throw std::invalid_argument(s.str());
+  }
+
+  if (pset.is_empty()) {
+    decreasing_mu_space = C_Polyhedron(1 + space_dim/2, UNIVERSE);
+    bounded_mu_space = decreasing_mu_space;
+    return;
+  }
+
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  assign_all_inequalities_approximation(pset, cs);
+  all_affine_quasi_ranking_functions_MS(cs,
+                                        decreasing_mu_space,
+                                        bounded_mu_space);
+}
+
+template <typename PSET>
+void
+all_affine_quasi_ranking_functions_MS_2(const PSET& pset_before,
+                                        const PSET& pset_after,
+                                        C_Polyhedron& decreasing_mu_space,
+                                        C_Polyhedron& bounded_mu_space) {
+  const dimension_type before_space_dim = pset_before.space_dimension();
+  const dimension_type after_space_dim = pset_after.space_dimension();
+  if (after_space_dim != 2*before_space_dim) {
+    std::ostringstream s;
+    s << "PPL::all_affine_quasi_ranking_functions_MS_2"
+      << "(pset_before, pset_after, decr_space, bounded_space):\n"
+      << "pset_before.space_dimension() == " << before_space_dim
+      << ", pset_after.space_dimension() == " << after_space_dim
+      << ";\nthe latter should be twice the former.";
+    throw std::invalid_argument(s.str());
+  }
+
+  if (pset_before.is_empty()) {
+    decreasing_mu_space = C_Polyhedron(1 + before_space_dim, UNIVERSE);
+    bounded_mu_space = decreasing_mu_space;
+    return;
+  }
+
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  assign_all_inequalities_approximation(pset_before, pset_after, cs);
+  all_affine_quasi_ranking_functions_MS(cs,
+                                        decreasing_mu_space,
+                                        bounded_mu_space);
+}
+
+template <typename PSET>
+bool
+termination_test_PR_2(const PSET& pset_before, const PSET& pset_after) {
+  const dimension_type before_space_dim = pset_before.space_dimension();
+  const dimension_type after_space_dim = pset_after.space_dimension();
+  if (after_space_dim != 2*before_space_dim) {
+    std::ostringstream s;
+    s << "PPL::termination_test_PR_2(pset_before, pset_after):\n"
+      << "pset_before.space_dimension() == " << before_space_dim
+      << ", pset_after.space_dimension() == " << after_space_dim
+      << ";\nthe latter should be twice the former.";
+    throw std::invalid_argument(s.str());
+  }
+
+  using namespace Implementation::Termination;
+  Constraint_System cs_before;
+  Constraint_System cs_after;
+  assign_all_inequalities_approximation(pset_before, cs_before);
+  assign_all_inequalities_approximation(pset_after, cs_after);
+  return termination_test_PR(cs_before, cs_after);
+}
+
+template <typename PSET>
+bool
+termination_test_PR(const PSET& pset_after) {
+  const dimension_type space_dim = pset_after.space_dimension();
+  if (space_dim % 2 != 0) {
+    std::ostringstream s;
+    s << "PPL::termination_test_PR(pset):\n"
+      << "pset.space_dimension() == " << space_dim
+      << " is odd.";
+    throw std::invalid_argument(s.str());
+  }
+
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  assign_all_inequalities_approximation(pset_after, cs);
+  return termination_test_PR_original(cs);
+}
+
+template <typename PSET>
+bool
+one_affine_ranking_function_PR_2(const PSET& pset_before,
+				 const PSET& pset_after,
+				 Generator& mu) {
+  const dimension_type before_space_dim = pset_before.space_dimension();
+  const dimension_type after_space_dim = pset_after.space_dimension();
+  if (after_space_dim != 2*before_space_dim) {
+    std::ostringstream s;
+    s << "PPL::one_affine_ranking_function_PR_2"
+      << "(pset_before, pset_after, mu):\n"
+      << "pset_before.space_dimension() == " << before_space_dim
+      << ", pset_after.space_dimension() == " << after_space_dim
+      << ";\nthe latter should be twice the former.";
+    throw std::invalid_argument(s.str());
+  }
+
+  using namespace Implementation::Termination;
+  Constraint_System cs_before;
+  Constraint_System cs_after;
+  assign_all_inequalities_approximation(pset_before, cs_before);
+  assign_all_inequalities_approximation(pset_after, cs_after);
+  return one_affine_ranking_function_PR(cs_before, cs_after, mu);
+}
+
+template <typename PSET>
+bool
+one_affine_ranking_function_PR(const PSET& pset_after, Generator& mu) {
+  const dimension_type space_dim = pset_after.space_dimension();
+  if (space_dim % 2 != 0) {
+    std::ostringstream s;
+    s << "PPL::one_affine_ranking_function_PR(pset, mu):\n"
+      << "pset.space_dimension() == " << space_dim
+      << " is odd.";
+    throw std::invalid_argument(s.str());
+  }
+
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  assign_all_inequalities_approximation(pset_after, cs);
+  return one_affine_ranking_function_PR_original(cs, mu);
+}
+
+template <typename PSET>
+void
+all_affine_ranking_functions_PR_2(const PSET& pset_before,
+				  const PSET& pset_after,
+				  NNC_Polyhedron& mu_space) {
+  const dimension_type before_space_dim = pset_before.space_dimension();
+  const dimension_type after_space_dim = pset_after.space_dimension();
+  if (after_space_dim != 2*before_space_dim) {
+    std::ostringstream s;
+    s << "PPL::all_affine_ranking_functions_MS_2"
+      << "(pset_before, pset_after, mu_space):\n"
+      << "pset_before.space_dimension() == " << before_space_dim
+      << ", pset_after.space_dimension() == " << after_space_dim
+      << ";\nthe latter should be twice the former.";
+    throw std::invalid_argument(s.str());
+  }
+
+  if (pset_before.is_empty()) {
+    mu_space = NNC_Polyhedron(1 + before_space_dim);
+    return;
+  }
+
+  using namespace Implementation::Termination;
+  Constraint_System cs_before;
+  Constraint_System cs_after;
+  assign_all_inequalities_approximation(pset_before, cs_before);
+  assign_all_inequalities_approximation(pset_after, cs_after);
+  all_affine_ranking_functions_PR(cs_before, cs_after, mu_space);
+}
+
+template <typename PSET>
+void
+all_affine_ranking_functions_PR(const PSET& pset_after,
+				NNC_Polyhedron& mu_space) {
+  const dimension_type space_dim = pset_after.space_dimension();
+  if (space_dim % 2 != 0) {
+    std::ostringstream s;
+    s << "PPL::all_affine_ranking_functions_PR(pset, mu_space):\n"
+      << "pset.space_dimension() == " << space_dim
+      << " is odd.";
+    throw std::invalid_argument(s.str());
+  }
+
+  if (pset_after.is_empty()) {
+    mu_space = NNC_Polyhedron(1 + space_dim/2);
+    return;
+  }
+
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  assign_all_inequalities_approximation(pset_after, cs);
+  all_affine_ranking_functions_PR_original(cs, mu_space);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_termination_templates_hh)
diff --git a/src/version.cc b/src/version.cc
index 1668318..4e07994 100644
--- a/src/version.cc
+++ b/src/version.cc
@@ -1,5 +1,5 @@
 /* Definition of functions providing version and licensing information.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -31,7 +31,7 @@ const char version_string[] = PPL_PACKAGE_VERSION;
 
 const char banner_string[] =
 "This is "PPL_PACKAGE_NAME" (PPL) version "PPL_PACKAGE_VERSION".\n"
-"Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>.\n"
+"Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>.\n"
 "\n"
 "The PPL is free software; see the source for copying conditions.\n"
 "There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n"
diff --git a/src/version.hh.in b/src/version.hh.in
index e77be78..8224879 100644
--- a/src/version.hh.in
+++ b/src/version.hh.in
@@ -1,6 +1,6 @@
 /* Declaration of macros and functions providing version  -*- C++ -*-
    and licensing information.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/wrap.cc b/src/wrap.cc
deleted file mode 100644
index 69b20b6..0000000
--- a/src/wrap.cc
+++ /dev/null
@@ -1,92 +0,0 @@
-/* String wrapping helper function.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
-
-#include "wrap.hh"
-#include <cstdlib>
-
-namespace Parma_Polyhedra_Library {
-
-namespace IO_Operators {
-
-std::string
-wrap_string(const std::string& src_string,
-	    unsigned indent_depth,
-	    unsigned preferred_first_line_length,
-	    unsigned preferred_line_length) {
-  std::string dst_string;
-  const char *src = src_string.c_str();
-  for (int line = 0; ; ++line) {
-    int linelen = (line == 0
-                   ? preferred_first_line_length
-                   : preferred_line_length);
-    int last_comma = -1;
-    int last_space = -1;
-    int split_pos = -1;
-    int i;
-    for (i = 0; i <= linelen; ++i) {
-      if (src[i] == '\0' || src[i] == '\n') {
-	split_pos = i;
-	break;
-      }
-      if (src[i] == ',' && i < linelen)
-	last_comma = i;
-      if (isspace(src[i]) && (i == 0 || !isspace(src[i-1])))
-	last_space = i;
-    }
-    if (split_pos < 0) {
-      if (last_comma >= 0)
-	split_pos = last_comma + 1;
-      else if (last_space >= 0)
-	split_pos = last_space;
-      else {
-	for ( ; src[i]; ++i) {
-	  if (src[i] == ',') {
-	    ++i;
-	    break;
-	  }
-	  if (isspace(src[i]))
-	    break;
-	}
-	split_pos = i;
-      }
-    }
-    if (split_pos > 0 && line > 0 && indent_depth > 0)
-	dst_string.append(indent_depth, ' ');
-    dst_string.append(src, split_pos);
-    src += split_pos;
-    if (isspace(*src))
-      ++src;
-    while (*src == ' ')
-      ++src;
-    if (*src == '\0')
-      break;
-    dst_string.push_back('\n');
-  }
-  return dst_string;
-}
-
-} // namespace IO_Operators
-
-} // namespace Parma_Polyhedra_Library
-
diff --git a/src/wrap.hh b/src/wrap.hh
deleted file mode 100644
index 0980885..0000000
--- a/src/wrap.hh
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Declaration of string wrapping function.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PPL_wrap_hh
-#define PPL_wrap_hh 1
-
-#include "globals.defs.hh"
-
-namespace Parma_Polyhedra_Library {
-
-namespace IO_Operators {
-
-//! Utility function for the wrapping of lines of text.
-/*!
-  \param src_string
-  The source string holding the lines to wrap.
-
-  \param indent_depth
-  The indentation depth.
-
-  \param preferred_first_line_length
-  The preferred length for the first line of text.
-
-  \param preferred_line_length
-  The preferred length for all the lines but the first one.
-
-  \return
-  The wrapped string.
-*/
-std::string
-wrap_string(const std::string& src_string,
-	    unsigned indent_depth,
-	    unsigned preferred_first_line_length,
-	    unsigned preferred_line_length);
-
-} // namespace IO_Operators
-
-} // namespace Parma_Polyhedra_Library
-
-#endif // !defined(PPL_wrap_hh)
diff --git a/src/wrap_assign.hh b/src/wrap_assign.hh
new file mode 100644
index 0000000..fec4ac1
--- /dev/null
+++ b/src/wrap_assign.hh
@@ -0,0 +1,388 @@
+/* Generic implementation of the wrap_assign() function.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#ifndef PPL_wrap_assign_hh
+#define PPL_wrap_assign_hh 1
+
+#include "globals.defs.hh"
+#include "Coefficient.defs.hh"
+#include "Variable.defs.hh"
+#include "Constraint_System.defs.hh"
+#include "assert.hh"
+
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+struct Wrap_Dim_Translations {
+  Variable var;
+  Coefficient first_quadrant;
+  Coefficient last_quadrant;
+  Wrap_Dim_Translations(Variable v,
+                        Coefficient_traits::const_reference f,
+                        Coefficient_traits::const_reference l)
+    : var(v), first_quadrant(f), last_quadrant(l) {
+  }
+};
+
+typedef std::vector<Wrap_Dim_Translations> Wrap_Translations;
+
+template <typename PSET>
+void
+wrap_assign_ind(PSET& pointset,
+                Variables_Set& vars,
+                Wrap_Translations::const_iterator first,
+                Wrap_Translations::const_iterator end,
+                Bounded_Integer_Type_Width w,
+                Coefficient_traits::const_reference min_value,
+                Coefficient_traits::const_reference max_value,
+                const Constraint_System& cs,
+                Coefficient& tmp1,
+                Coefficient& tmp2) {
+  const dimension_type space_dim = pointset.space_dimension();
+  const dimension_type cs_space_dim = cs.space_dimension();
+  for (Wrap_Translations::const_iterator i = first; i != end; ++i) {
+    const Wrap_Dim_Translations& wrap_dim_translations = *i;
+    const Variable& x = wrap_dim_translations.var;
+    const Coefficient& first_quadrant = wrap_dim_translations.first_quadrant;
+    const Coefficient& last_quadrant = wrap_dim_translations.last_quadrant;
+    Coefficient& quadrant = tmp1;
+    Coefficient& shift = tmp2;
+    PSET hull(space_dim, EMPTY);
+    for (quadrant = first_quadrant; quadrant <= last_quadrant; ++quadrant) {
+      PSET p(pointset);
+      if (quadrant != 0) {
+        mul_2exp_assign(shift, quadrant, w);
+        p.affine_image(x, x - shift, 1);
+      }
+      // `x' has just been wrapped.
+      vars.erase(x.id());
+
+      // Refine `p' with all the constraints in `cs' not depending
+      // on variables in `vars'.
+      if (vars.empty())
+        p.refine_with_constraints(cs);
+      else {
+        Variables_Set::const_iterator vars_end = vars.end();
+        for (Constraint_System::const_iterator j = cs.begin(),
+               cs_end = cs.end(); j != cs_end; ++j) {
+          const Constraint& c = *j;
+          for (dimension_type d = cs_space_dim; d-- > 0; ) {
+            if (c.coefficient(Variable(d)) != 0 && vars.find(d) != vars_end)
+              goto skip;
+          }
+          // If we are here it means `c' does not depend on variables
+          // in `vars'.
+          p.refine_with_constraint(c);
+
+        skip:
+          continue;
+        }
+      }
+      p.refine_with_constraint(min_value <= x);
+      p.refine_with_constraint(x <= max_value);
+      hull.upper_bound_assign(p);
+    }
+    pointset.swap(hull);
+  }
+}
+
+template <typename PSET>
+void
+wrap_assign_col(PSET& dest,
+                const PSET& src,
+                const Variables_Set& vars,
+                Wrap_Translations::const_iterator first,
+                Wrap_Translations::const_iterator end,
+                Bounded_Integer_Type_Width w,
+                Coefficient_traits::const_reference min_value,
+                Coefficient_traits::const_reference max_value,
+                const Constraint_System* pcs,
+                Coefficient& tmp) {
+  if (first == end) {
+    PSET p(src);
+    if (pcs != 0)
+      p.refine_with_constraints(*pcs);
+    for (Variables_Set::const_iterator i = vars.begin(),
+           vars_end = vars.end(); i != vars.end(); ++i) {
+      const Variable x = Variable(*i);
+      p.refine_with_constraint(min_value <= x);
+      p.refine_with_constraint(x <= max_value);
+    }
+    dest.upper_bound_assign(p);
+  }
+  else {
+    const Wrap_Dim_Translations& wrap_dim_translations = *first;
+    const Variable& x = wrap_dim_translations.var;
+    const Coefficient& first_quadrant = wrap_dim_translations.first_quadrant;
+    const Coefficient& last_quadrant = wrap_dim_translations.last_quadrant;
+    Coefficient& shift = tmp;
+    PPL_DIRTY_TEMP_COEFFICIENT(quadrant);
+    for (quadrant = first_quadrant; quadrant <= last_quadrant; ++quadrant) {
+      if (quadrant != 0) {
+        mul_2exp_assign(shift, quadrant, w);
+        PSET p(src);
+        p.affine_image(x, x - shift, 1);
+        wrap_assign_col(dest, p, vars, first+1, end, w, min_value, max_value,
+                        pcs, tmp);
+      }
+      else
+        wrap_assign_col(dest, src, vars, first+1, end, w, min_value, max_value,
+                        pcs, tmp);
+    }
+  }
+}
+
+template <typename PSET>
+void
+wrap_assign(PSET& pointset,
+            const Variables_Set& vars,
+            const Bounded_Integer_Type_Width w,
+            const Bounded_Integer_Type_Representation r,
+            const Bounded_Integer_Type_Overflow o,
+            const Constraint_System* pcs,
+            const unsigned complexity_threshold,
+            const bool wrap_individually,
+            const char* class_name) {
+  // We must have pcs->space_dimension() <= vars.space_dimension()
+  //         and  vars.space_dimension() <= pointset.space_dimension().
+
+  // Dimension-compatibility check of `*pcs', if any.
+  const dimension_type vars_space_dim = vars.space_dimension();
+  if (pcs != 0) {
+    if (pcs->space_dimension() > vars_space_dim) {
+      std::ostringstream s;
+      s << "PPL::" << class_name << "::wrap_assign(..., pcs, ...):"
+        << std::endl
+        << "vars.space_dimension() == " << vars_space_dim
+        << ", pcs->space_dimension() == " << pcs->space_dimension() << ".";
+      throw std::invalid_argument(s.str());
+    }
+
+#ifndef NDEBUG
+    // Check that all variables upon which `*pcs' depends are in `vars'.
+    // An assertion is violated otherwise.
+    const Constraint_System cs = *pcs;
+    const dimension_type cs_space_dim = cs.space_dimension();
+    Variables_Set::const_iterator vars_end = vars.end();
+    for (Constraint_System::const_iterator i = cs.begin(),
+           cs_end = cs.end(); i != cs_end; ++i) {
+      const Constraint& c = *i;
+      for (dimension_type d = cs_space_dim; d-- > 0; ) {
+        PPL_ASSERT(c.coefficient(Variable(d)) == 0
+               || vars.find(d) != vars_end);
+      }
+    }
+#endif
+  }
+
+  // Wrapping no variable only requires refining with *pcs, if any.
+  if (vars.empty()) {
+    if (pcs != 0)
+      pointset.refine_with_constraints(*pcs);
+    return;
+  }
+
+  // Dimension-compatibility check of `vars'.
+  const dimension_type space_dim = pointset.space_dimension();
+  if (vars.space_dimension() > space_dim) {
+    std::ostringstream s;
+    s << "PPL::" << class_name << "::wrap_assign(vs, ...):" << std::endl
+      << "this->space_dimension() == " << space_dim
+      << ", required space dimension == " << vars.space_dimension() << ".";
+    throw std::invalid_argument(s.str());
+  }
+
+  // Wrapping an empty polyhedron is a no-op.
+  if (pointset.is_empty())
+    return;
+
+  // Set `min_value' and `max_value' to the minimum and maximum values
+  // a variable of width `w' and signedness `s' can take.
+  PPL_DIRTY_TEMP_COEFFICIENT(min_value);
+  PPL_DIRTY_TEMP_COEFFICIENT(max_value);
+  if (r == UNSIGNED) {
+    min_value = 0;
+    mul_2exp_assign(max_value, Coefficient_one(), w);
+    --max_value;
+  }
+  else {
+    PPL_ASSERT(r == SIGNED_2_COMPLEMENT);
+    mul_2exp_assign(max_value, Coefficient_one(), w-1);
+    neg_assign(min_value, max_value);
+    --max_value;
+  }
+
+  // If we are wrapping variables collectively, the ranges for the
+  // required translations are saved in `translations' instead of being
+  // immediately applied.
+  Wrap_Translations translations;
+
+  // Dimensions subject to translation are added to this set if we are
+  // wrapping collectively or if `pcs' is non null.
+  Variables_Set dimensions_to_be_translated;
+
+  // This will contain a lower bound to the number of abstractions
+  // to be joined in order to obtain the collective wrapping result.
+  // As soon as this exceeds `complexity_threshold', counting will be
+  // interrupted and the full range will be the result of wrapping
+  // any dimension that is not fully contained in quadrant 0.
+  unsigned collective_wrap_complexity = 1;
+
+  // This flag signals that the maximum complexity for collective
+  // wrapping as been exceeded.
+  bool collective_wrap_too_complex = false;
+
+  if (!wrap_individually) {
+    translations.reserve(space_dim);
+  }
+
+  // We use `full_range_bounds' to delay conversions whenever
+  // this delay does not negatively affect precision.
+  Constraint_System full_range_bounds;
+
+  PPL_DIRTY_TEMP_COEFFICIENT(ln);
+  PPL_DIRTY_TEMP_COEFFICIENT(ld);
+  PPL_DIRTY_TEMP_COEFFICIENT(un);
+  PPL_DIRTY_TEMP_COEFFICIENT(ud);
+
+  for (Variables_Set::const_iterator i = vars.begin(),
+         vars_end = vars.end(); i != vars_end; ++i) {
+
+    const Variable x = Variable(*i);
+
+    bool extremum;
+
+    if (!pointset.minimize(x, ln, ld, extremum)) {
+    set_full_range:
+      pointset.unconstrain(x);
+      full_range_bounds.insert(min_value <= x);
+      full_range_bounds.insert(x <= max_value);
+      continue;
+    }
+
+    if (!pointset.maximize(x, un, ud, extremum))
+      goto set_full_range;
+
+    div_assign_r(ln, ln, ld, ROUND_DOWN);
+    div_assign_r(un, un, ud, ROUND_DOWN);
+    ln -= min_value;
+    un -= min_value;
+    div_2exp_assign_r(ln, ln, w, ROUND_DOWN);
+    div_2exp_assign_r(un, un, w, ROUND_DOWN);
+    Coefficient& first_quadrant = ln;
+    Coefficient& last_quadrant = un;
+
+    // Special case: this variable does not need wrapping.
+    if (first_quadrant == 0 && last_quadrant == 0)
+      continue;
+
+    // If overflow is impossible, try not to add useless constraints.
+    if (o == OVERFLOW_IMPOSSIBLE) {
+      if (first_quadrant < 0)
+        full_range_bounds.insert(min_value <= x);
+      if (last_quadrant > 0)
+        full_range_bounds.insert(x <= max_value);
+      continue;
+    }
+
+    if (o == OVERFLOW_UNDEFINED || collective_wrap_too_complex)
+      goto set_full_range;
+
+    Coefficient& quadrants = ud;
+    quadrants = last_quadrant - first_quadrant + 1;
+
+    unsigned extension;
+    Result res = assign_r(extension, quadrants, ROUND_IGNORE);
+    if (result_overflow(res) || extension > complexity_threshold)
+      goto set_full_range;
+
+    if (!wrap_individually && !collective_wrap_too_complex) {
+      res = mul_assign_r(collective_wrap_complexity,
+                         collective_wrap_complexity, extension, ROUND_IGNORE);
+      if (result_overflow(res)
+          || collective_wrap_complexity > complexity_threshold)
+        collective_wrap_too_complex = true;
+      if (collective_wrap_too_complex) {
+        // Set all the dimensions in `translations' to full range.
+        for (Wrap_Translations::const_iterator j = translations.begin(),
+               tend = translations.end(); j != tend; ++j) {
+          const Variable& y = j->var;
+          pointset.unconstrain(y);
+          full_range_bounds.insert(min_value <= y);
+          full_range_bounds.insert(y <= max_value);
+        }
+      }
+    }
+
+    if (wrap_individually && pcs == 0) {
+      Coefficient& quadrant = first_quadrant;
+      // Temporary variable holding the shifts to be applied in order
+      // to implement the translations.
+      Coefficient& shift = ld;
+      PSET hull(space_dim, EMPTY);
+      for ( ; quadrant <= last_quadrant; ++quadrant) {
+        PSET p(pointset);
+        if (quadrant != 0) {
+          mul_2exp_assign(shift, quadrant, w);
+          p.affine_image(x, x - shift, 1);
+        }
+        p.refine_with_constraint(min_value <= x);
+        p.refine_with_constraint(x <= max_value);
+        hull.upper_bound_assign(p);
+      }
+      pointset.swap(hull);
+    }
+    else if (wrap_individually || !collective_wrap_too_complex) {
+      PPL_ASSERT(!wrap_individually || pcs != 0);
+      dimensions_to_be_translated.insert(x);
+      translations
+        .push_back(Wrap_Dim_Translations(x, first_quadrant, last_quadrant));
+    }
+  }
+
+  if (!translations.empty()) {
+    if (wrap_individually) {
+      PPL_ASSERT(pcs != 0);
+      wrap_assign_ind(pointset, dimensions_to_be_translated,
+                      translations.begin(), translations.end(),
+                      w, min_value, max_value, *pcs, ln, ld);
+    }
+    else {
+      PSET hull(space_dim, EMPTY);
+      wrap_assign_col(hull, pointset, dimensions_to_be_translated,
+                      translations.begin(), translations.end(),
+                      w, min_value, max_value, pcs, ln);
+      pointset.swap(hull);
+    }
+  }
+
+  if (pcs != 0)
+    pointset.refine_with_constraints(*pcs);
+  pointset.refine_with_constraints(full_range_bounds);
+}
+
+} // namespace Implementation
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_wrap_assign_hh)
diff --git a/src/wrap_string.cc b/src/wrap_string.cc
new file mode 100644
index 0000000..7fe1d1d
--- /dev/null
+++ b/src/wrap_string.cc
@@ -0,0 +1,92 @@
+/* String wrapping helper function.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include <ppl-config.h>
+
+#include "wrap_string.hh"
+#include <cstdlib>
+
+namespace Parma_Polyhedra_Library {
+
+namespace IO_Operators {
+
+std::string
+wrap_string(const std::string& src_string,
+	    unsigned indent_depth,
+	    unsigned preferred_first_line_length,
+	    unsigned preferred_line_length) {
+  std::string dst_string;
+  const char *src = src_string.c_str();
+  for (int line = 0; ; ++line) {
+    int linelen = (line == 0
+                   ? preferred_first_line_length
+                   : preferred_line_length);
+    int last_comma = -1;
+    int last_space = -1;
+    int split_pos = -1;
+    int i;
+    for (i = 0; i <= linelen; ++i) {
+      if (src[i] == '\0' || src[i] == '\n') {
+	split_pos = i;
+	break;
+      }
+      if (src[i] == ',' && i < linelen)
+	last_comma = i;
+      if (isspace(src[i]) && (i == 0 || !isspace(src[i-1])))
+	last_space = i;
+    }
+    if (split_pos < 0) {
+      if (last_comma >= 0)
+	split_pos = last_comma + 1;
+      else if (last_space >= 0)
+	split_pos = last_space;
+      else {
+	for ( ; src[i]; ++i) {
+	  if (src[i] == ',') {
+	    ++i;
+	    break;
+	  }
+	  if (isspace(src[i]))
+	    break;
+	}
+	split_pos = i;
+      }
+    }
+    if (split_pos > 0 && line > 0 && indent_depth > 0)
+	dst_string.append(indent_depth, ' ');
+    dst_string.append(src, split_pos);
+    src += split_pos;
+    if (isspace(*src))
+      ++src;
+    while (*src == ' ')
+      ++src;
+    if (*src == '\0')
+      break;
+    dst_string.push_back('\n');
+  }
+  return dst_string;
+}
+
+} // namespace IO_Operators
+
+} // namespace Parma_Polyhedra_Library
+
diff --git a/src/wrap_string.hh b/src/wrap_string.hh
new file mode 100644
index 0000000..276136e
--- /dev/null
+++ b/src/wrap_string.hh
@@ -0,0 +1,59 @@
+/* Declaration of string wrapping function.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#ifndef PPL_wrap_hh
+#define PPL_wrap_hh 1
+
+#include "globals.defs.hh"
+
+namespace Parma_Polyhedra_Library {
+
+namespace IO_Operators {
+
+//! Utility function for the wrapping of lines of text.
+/*!
+  \param src_string
+  The source string holding the lines to wrap.
+
+  \param indent_depth
+  The indentation depth.
+
+  \param preferred_first_line_length
+  The preferred length for the first line of text.
+
+  \param preferred_line_length
+  The preferred length for all the lines but the first one.
+
+  \return
+  The wrapped string.
+*/
+std::string
+wrap_string(const std::string& src_string,
+	    unsigned indent_depth,
+	    unsigned preferred_first_line_length,
+	    unsigned preferred_line_length);
+
+} // namespace IO_Operators
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_wrap_hh)
diff --git a/tests/BD_Shape/Makefile.am b/tests/BD_Shape/Makefile.am
index 1ffcdf0..0f69dc0 100644
--- a/tests/BD_Shape/Makefile.am
+++ b/tests/BD_Shape/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -76,10 +76,12 @@ containsintegerpoint1 \
 difference1 \
 discrete1 \
 disjoint1 \
+dropsomenonintegerpoints1 \
 empty1 \
 equality1 \
 expandspacedim1 \
 foldspacedims1 \
+frequency1 \
 frombdshape1 \
 frombox1 \
 fromgensys1 \
@@ -92,6 +94,7 @@ generalizedaffinepreimage1 generalizedaffinepreimage2 \
 generalizedaffinepreimage3 \
 geomcovers1 \
 h79widening1 \
+integerupperboundifexact1 \
 intersection1 \
 limitedbhmz05extrapolation1 \
 limitedcc76extrapolation1 \
@@ -109,6 +112,7 @@ unconstrain1 \
 universe1 \
 upperbound1 \
 upperboundifexact1 \
+wrap1 \
 writebdshape1
 
 # This will be overridden by the `run_tests' script.
@@ -209,6 +213,8 @@ discrete1_SOURCES = discrete1.cc
 
 disjoint1_SOURCES = disjoint1.cc
 
+dropsomenonintegerpoints1_SOURCES = dropsomenonintegerpoints1.cc
+
 empty1_SOURCES = empty1.cc
 
 equality1_SOURCES = equality1.cc
@@ -217,6 +223,8 @@ expandspacedim1_SOURCES = expandspacedim1.cc
 
 foldspacedims1_SOURCES = foldspacedims1.cc
 
+frequency1_SOURCES = frequency1.cc
+
 frombdshape1_SOURCES = frombdshape1.cc
 
 frombox1_SOURCES = frombox1.cc
@@ -242,6 +250,8 @@ geomcovers1_SOURCES = geomcovers1.cc
 
 h79widening1_SOURCES = h79widening1.cc
 
+integerupperboundifexact1_SOURCES = integerupperboundifexact1.cc
+
 intersection1_SOURCES = intersection1.cc
 
 limitedbhmz05extrapolation1_SOURCES = limitedbhmz05extrapolation1.cc
@@ -280,6 +290,8 @@ upperbound1_SOURCES = upperbound1.cc
 
 upperboundifexact1_SOURCES = upperboundifexact1.cc
 
+wrap1_SOURCES = wrap1.cc
+
 writebdshape1_SOURCES = writebdshape1.cc
 
 
diff --git a/tests/BD_Shape/Makefile.in b/tests/BD_Shape/Makefile.in
index ba32e2a..9106643 100644
--- a/tests/BD_Shape/Makefile.in
+++ b/tests/BD_Shape/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -37,8 +38,9 @@
 # site: http://www.cs.unipr.it/ppl/ .
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -64,18 +66,20 @@ check_PROGRAMS = addconstraints1$(EXEEXT) addspacedims1$(EXEEXT) \
 	closure1$(EXEEXT) concatenate1$(EXEEXT) congruences1$(EXEEXT) \
 	constrains1$(EXEEXT) constraints1$(EXEEXT) contains1$(EXEEXT) \
 	containsintegerpoint1$(EXEEXT) difference1$(EXEEXT) \
-	discrete1$(EXEEXT) disjoint1$(EXEEXT) empty1$(EXEEXT) \
+	discrete1$(EXEEXT) disjoint1$(EXEEXT) \
+	dropsomenonintegerpoints1$(EXEEXT) empty1$(EXEEXT) \
 	equality1$(EXEEXT) expandspacedim1$(EXEEXT) \
-	foldspacedims1$(EXEEXT) frombdshape1$(EXEEXT) \
-	frombox1$(EXEEXT) fromgensys1$(EXEEXT) fromgrid1$(EXEEXT) \
-	fromoctagonalshape1$(EXEEXT) frompolyhedron1$(EXEEXT) \
-	fromspacedim1$(EXEEXT) generalizedaffineimage1$(EXEEXT) \
+	foldspacedims1$(EXEEXT) frequency1$(EXEEXT) \
+	frombdshape1$(EXEEXT) frombox1$(EXEEXT) fromgensys1$(EXEEXT) \
+	fromgrid1$(EXEEXT) fromoctagonalshape1$(EXEEXT) \
+	frompolyhedron1$(EXEEXT) fromspacedim1$(EXEEXT) \
+	generalizedaffineimage1$(EXEEXT) \
 	generalizedaffineimage2$(EXEEXT) \
 	generalizedaffinepreimage1$(EXEEXT) \
 	generalizedaffinepreimage2$(EXEEXT) \
 	generalizedaffinepreimage3$(EXEEXT) geomcovers1$(EXEEXT) \
-	h79widening1$(EXEEXT) intersection1$(EXEEXT) \
-	limitedbhmz05extrapolation1$(EXEEXT) \
+	h79widening1$(EXEEXT) integerupperboundifexact1$(EXEEXT) \
+	intersection1$(EXEEXT) limitedbhmz05extrapolation1$(EXEEXT) \
 	limitedcc76extrapolation1$(EXEEXT) \
 	limitedh79extrapolation1$(EXEEXT) mapspacedims1$(EXEEXT) \
 	max_min1$(EXEEXT) max_min2$(EXEEXT) maxspacedim1$(EXEEXT) \
@@ -84,7 +88,8 @@ check_PROGRAMS = addconstraints1$(EXEEXT) addspacedims1$(EXEEXT) \
 	relations4$(EXEEXT) removespacedims1$(EXEEXT) \
 	simplifyusingcontext1$(EXEEXT) timeelapse1$(EXEEXT) \
 	unconstrain1$(EXEEXT) universe1$(EXEEXT) upperbound1$(EXEEXT) \
-	upperboundifexact1$(EXEEXT) writebdshape1$(EXEEXT)
+	upperboundifexact1$(EXEEXT) wrap1$(EXEEXT) \
+	writebdshape1$(EXEEXT)
 XFAIL_TESTS =
 subdir = tests/BD_Shape
 DIST_COMMON = $(dist_check_SCRIPTS) $(srcdir)/Makefile.am \
@@ -96,6 +101,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -117,18 +123,22 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 am_addconstraints1_OBJECTS = addconstraints1.$(OBJEXT)
 addconstraints1_OBJECTS = $(am_addconstraints1_OBJECTS)
 addconstraints1_LDADD = $(LDADD)
 addconstraints1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
 am_addspacedims1_OBJECTS = addspacedims1.$(OBJEXT)
 addspacedims1_OBJECTS = $(am_addspacedims1_OBJECTS)
 addspacedims1_LDADD = $(LDADD)
@@ -284,6 +294,15 @@ disjoint1_LDADD = $(LDADD)
 disjoint1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_dropsomenonintegerpoints1_OBJECTS =  \
+	dropsomenonintegerpoints1.$(OBJEXT)
+dropsomenonintegerpoints1_OBJECTS =  \
+	$(am_dropsomenonintegerpoints1_OBJECTS)
+dropsomenonintegerpoints1_LDADD = $(LDADD)
+dropsomenonintegerpoints1_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_empty1_OBJECTS = empty1.$(OBJEXT)
 empty1_OBJECTS = $(am_empty1_OBJECTS)
 empty1_LDADD = $(LDADD)
@@ -308,6 +327,12 @@ foldspacedims1_LDADD = $(LDADD)
 foldspacedims1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_frequency1_OBJECTS = frequency1.$(OBJEXT)
+frequency1_OBJECTS = $(am_frequency1_OBJECTS)
+frequency1_LDADD = $(LDADD)
+frequency1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_frombdshape1_OBJECTS = frombdshape1.$(OBJEXT)
 frombdshape1_OBJECTS = $(am_frombdshape1_OBJECTS)
 frombdshape1_LDADD = $(LDADD)
@@ -408,6 +433,15 @@ h79widening1_LDADD = $(LDADD)
 h79widening1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_integerupperboundifexact1_OBJECTS =  \
+	integerupperboundifexact1.$(OBJEXT)
+integerupperboundifexact1_OBJECTS =  \
+	$(am_integerupperboundifexact1_OBJECTS)
+integerupperboundifexact1_LDADD = $(LDADD)
+integerupperboundifexact1_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_intersection1_OBJECTS = intersection1.$(OBJEXT)
 intersection1_OBJECTS = $(am_intersection1_OBJECTS)
 intersection1_LDADD = $(LDADD)
@@ -545,6 +579,12 @@ upperboundifexact1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_wrap1_OBJECTS = wrap1.$(OBJEXT)
+wrap1_OBJECTS = $(am_wrap1_OBJECTS)
+wrap1_LDADD = $(LDADD)
+wrap1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_writebdshape1_OBJECTS = writebdshape1.$(OBJEXT)
 writebdshape1_OBJECTS = $(am_writebdshape1_OBJECTS)
 writebdshape1_LDADD = $(LDADD)
@@ -554,15 +594,29 @@ writebdshape1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_$(V))
+am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+am__v_CXX_0 = @echo "  CXX   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_$(V))
+am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(addconstraints1_SOURCES) $(addspacedims1_SOURCES) \
 	$(affinedimension1_SOURCES) $(affineimage1_SOURCES) \
 	$(affineimage2_SOURCES) $(affinepreimage1_SOURCES) \
@@ -575,18 +629,20 @@ SOURCES = $(addconstraints1_SOURCES) $(addspacedims1_SOURCES) \
 	$(congruences1_SOURCES) $(constrains1_SOURCES) \
 	$(constraints1_SOURCES) $(contains1_SOURCES) \
 	$(containsintegerpoint1_SOURCES) $(difference1_SOURCES) \
-	$(discrete1_SOURCES) $(disjoint1_SOURCES) $(empty1_SOURCES) \
+	$(discrete1_SOURCES) $(disjoint1_SOURCES) \
+	$(dropsomenonintegerpoints1_SOURCES) $(empty1_SOURCES) \
 	$(equality1_SOURCES) $(expandspacedim1_SOURCES) \
-	$(foldspacedims1_SOURCES) $(frombdshape1_SOURCES) \
-	$(frombox1_SOURCES) $(fromgensys1_SOURCES) \
-	$(fromgrid1_SOURCES) $(fromoctagonalshape1_SOURCES) \
-	$(frompolyhedron1_SOURCES) $(fromspacedim1_SOURCES) \
-	$(generalizedaffineimage1_SOURCES) \
+	$(foldspacedims1_SOURCES) $(frequency1_SOURCES) \
+	$(frombdshape1_SOURCES) $(frombox1_SOURCES) \
+	$(fromgensys1_SOURCES) $(fromgrid1_SOURCES) \
+	$(fromoctagonalshape1_SOURCES) $(frompolyhedron1_SOURCES) \
+	$(fromspacedim1_SOURCES) $(generalizedaffineimage1_SOURCES) \
 	$(generalizedaffineimage2_SOURCES) \
 	$(generalizedaffinepreimage1_SOURCES) \
 	$(generalizedaffinepreimage2_SOURCES) \
 	$(generalizedaffinepreimage3_SOURCES) $(geomcovers1_SOURCES) \
-	$(h79widening1_SOURCES) $(intersection1_SOURCES) \
+	$(h79widening1_SOURCES) $(integerupperboundifexact1_SOURCES) \
+	$(intersection1_SOURCES) \
 	$(limitedbhmz05extrapolation1_SOURCES) \
 	$(limitedcc76extrapolation1_SOURCES) \
 	$(limitedh79extrapolation1_SOURCES) $(mapspacedims1_SOURCES) \
@@ -598,7 +654,7 @@ SOURCES = $(addconstraints1_SOURCES) $(addspacedims1_SOURCES) \
 	$(simplifyusingcontext1_SOURCES) $(timeelapse1_SOURCES) \
 	$(unconstrain1_SOURCES) $(universe1_SOURCES) \
 	$(upperbound1_SOURCES) $(upperboundifexact1_SOURCES) \
-	$(writebdshape1_SOURCES)
+	$(wrap1_SOURCES) $(writebdshape1_SOURCES)
 DIST_SOURCES = $(addconstraints1_SOURCES) $(addspacedims1_SOURCES) \
 	$(affinedimension1_SOURCES) $(affineimage1_SOURCES) \
 	$(affineimage2_SOURCES) $(affinepreimage1_SOURCES) \
@@ -611,18 +667,20 @@ DIST_SOURCES = $(addconstraints1_SOURCES) $(addspacedims1_SOURCES) \
 	$(congruences1_SOURCES) $(constrains1_SOURCES) \
 	$(constraints1_SOURCES) $(contains1_SOURCES) \
 	$(containsintegerpoint1_SOURCES) $(difference1_SOURCES) \
-	$(discrete1_SOURCES) $(disjoint1_SOURCES) $(empty1_SOURCES) \
+	$(discrete1_SOURCES) $(disjoint1_SOURCES) \
+	$(dropsomenonintegerpoints1_SOURCES) $(empty1_SOURCES) \
 	$(equality1_SOURCES) $(expandspacedim1_SOURCES) \
-	$(foldspacedims1_SOURCES) $(frombdshape1_SOURCES) \
-	$(frombox1_SOURCES) $(fromgensys1_SOURCES) \
-	$(fromgrid1_SOURCES) $(fromoctagonalshape1_SOURCES) \
-	$(frompolyhedron1_SOURCES) $(fromspacedim1_SOURCES) \
-	$(generalizedaffineimage1_SOURCES) \
+	$(foldspacedims1_SOURCES) $(frequency1_SOURCES) \
+	$(frombdshape1_SOURCES) $(frombox1_SOURCES) \
+	$(fromgensys1_SOURCES) $(fromgrid1_SOURCES) \
+	$(fromoctagonalshape1_SOURCES) $(frompolyhedron1_SOURCES) \
+	$(fromspacedim1_SOURCES) $(generalizedaffineimage1_SOURCES) \
 	$(generalizedaffineimage2_SOURCES) \
 	$(generalizedaffinepreimage1_SOURCES) \
 	$(generalizedaffinepreimage2_SOURCES) \
 	$(generalizedaffinepreimage3_SOURCES) $(geomcovers1_SOURCES) \
-	$(h79widening1_SOURCES) $(intersection1_SOURCES) \
+	$(h79widening1_SOURCES) $(integerupperboundifexact1_SOURCES) \
+	$(intersection1_SOURCES) \
 	$(limitedbhmz05extrapolation1_SOURCES) \
 	$(limitedcc76extrapolation1_SOURCES) \
 	$(limitedh79extrapolation1_SOURCES) $(mapspacedims1_SOURCES) \
@@ -634,12 +692,15 @@ DIST_SOURCES = $(addconstraints1_SOURCES) $(addspacedims1_SOURCES) \
 	$(simplifyusingcontext1_SOURCES) $(timeelapse1_SOURCES) \
 	$(unconstrain1_SOURCES) $(universe1_SOURCES) \
 	$(upperbound1_SOURCES) $(upperboundifexact1_SOURCES) \
-	$(writebdshape1_SOURCES)
+	$(wrap1_SOURCES) $(writebdshape1_SOURCES)
 ETAGS = etags
 CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -686,6 +747,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -703,8 +766,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -712,6 +785,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -728,12 +802,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -776,11 +853,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -810,6 +885,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -817,6 +893,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 @VALGRIND_TESTS_ENABLED_FALSE at CHECKER = 
 @VALGRIND_TESTS_ENABLED_TRUE at CHECKER = \
 @VALGRIND_TESTS_ENABLED_TRUE@$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
@@ -890,10 +967,12 @@ containsintegerpoint1_SOURCES = containsintegerpoint1.cc
 difference1_SOURCES = difference1.cc
 discrete1_SOURCES = discrete1.cc
 disjoint1_SOURCES = disjoint1.cc
+dropsomenonintegerpoints1_SOURCES = dropsomenonintegerpoints1.cc
 empty1_SOURCES = empty1.cc
 equality1_SOURCES = equality1.cc
 expandspacedim1_SOURCES = expandspacedim1.cc
 foldspacedims1_SOURCES = foldspacedims1.cc
+frequency1_SOURCES = frequency1.cc
 frombdshape1_SOURCES = frombdshape1.cc
 frombox1_SOURCES = frombox1.cc
 fromgensys1_SOURCES = fromgensys1.cc
@@ -908,6 +987,7 @@ generalizedaffinepreimage2_SOURCES = generalizedaffinepreimage2.cc
 generalizedaffinepreimage3_SOURCES = generalizedaffinepreimage3.cc
 geomcovers1_SOURCES = geomcovers1.cc
 h79widening1_SOURCES = h79widening1.cc
+integerupperboundifexact1_SOURCES = integerupperboundifexact1.cc
 intersection1_SOURCES = intersection1.cc
 limitedbhmz05extrapolation1_SOURCES = limitedbhmz05extrapolation1.cc
 limitedcc76extrapolation1_SOURCES = limitedcc76extrapolation1.cc
@@ -929,6 +1009,7 @@ unconstrain1_SOURCES = unconstrain1.cc
 universe1_SOURCES = universe1.cc
 upperbound1_SOURCES = upperbound1.cc
 upperboundifexact1_SOURCES = upperboundifexact1.cc
+wrap1_SOURCES = wrap1.cc
 writebdshape1_SOURCES = writebdshape1.cc
 MOSTLYCLEANFILES = \
 ascii_dump_load1.dat
@@ -947,14 +1028,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  tests/BD_Shape/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  tests/BD_Shape/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/BD_Shape/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign tests/BD_Shape/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -972,211 +1053,226 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 clean-checkPROGRAMS:
-	@list='$(check_PROGRAMS)'; for p in $$list; do \
-	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  echo " rm -f $$p $$f"; \
-	  rm -f $$p $$f ; \
-	done
+	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
 addconstraints1$(EXEEXT): $(addconstraints1_OBJECTS) $(addconstraints1_DEPENDENCIES) 
 	@rm -f addconstraints1$(EXEEXT)
-	$(CXXLINK) $(addconstraints1_OBJECTS) $(addconstraints1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(addconstraints1_OBJECTS) $(addconstraints1_LDADD) $(LIBS)
 addspacedims1$(EXEEXT): $(addspacedims1_OBJECTS) $(addspacedims1_DEPENDENCIES) 
 	@rm -f addspacedims1$(EXEEXT)
-	$(CXXLINK) $(addspacedims1_OBJECTS) $(addspacedims1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(addspacedims1_OBJECTS) $(addspacedims1_LDADD) $(LIBS)
 affinedimension1$(EXEEXT): $(affinedimension1_OBJECTS) $(affinedimension1_DEPENDENCIES) 
 	@rm -f affinedimension1$(EXEEXT)
-	$(CXXLINK) $(affinedimension1_OBJECTS) $(affinedimension1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(affinedimension1_OBJECTS) $(affinedimension1_LDADD) $(LIBS)
 affineimage1$(EXEEXT): $(affineimage1_OBJECTS) $(affineimage1_DEPENDENCIES) 
 	@rm -f affineimage1$(EXEEXT)
-	$(CXXLINK) $(affineimage1_OBJECTS) $(affineimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(affineimage1_OBJECTS) $(affineimage1_LDADD) $(LIBS)
 affineimage2$(EXEEXT): $(affineimage2_OBJECTS) $(affineimage2_DEPENDENCIES) 
 	@rm -f affineimage2$(EXEEXT)
-	$(CXXLINK) $(affineimage2_OBJECTS) $(affineimage2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(affineimage2_OBJECTS) $(affineimage2_LDADD) $(LIBS)
 affinepreimage1$(EXEEXT): $(affinepreimage1_OBJECTS) $(affinepreimage1_DEPENDENCIES) 
 	@rm -f affinepreimage1$(EXEEXT)
-	$(CXXLINK) $(affinepreimage1_OBJECTS) $(affinepreimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(affinepreimage1_OBJECTS) $(affinepreimage1_LDADD) $(LIBS)
 ascii_dump_load1$(EXEEXT): $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_DEPENDENCIES) 
 	@rm -f ascii_dump_load1$(EXEEXT)
-	$(CXXLINK) $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_LDADD) $(LIBS)
 bgp99extrapolation1$(EXEEXT): $(bgp99extrapolation1_OBJECTS) $(bgp99extrapolation1_DEPENDENCIES) 
 	@rm -f bgp99extrapolation1$(EXEEXT)
-	$(CXXLINK) $(bgp99extrapolation1_OBJECTS) $(bgp99extrapolation1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(bgp99extrapolation1_OBJECTS) $(bgp99extrapolation1_LDADD) $(LIBS)
 bhmz05widening1$(EXEEXT): $(bhmz05widening1_OBJECTS) $(bhmz05widening1_DEPENDENCIES) 
 	@rm -f bhmz05widening1$(EXEEXT)
-	$(CXXLINK) $(bhmz05widening1_OBJECTS) $(bhmz05widening1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(bhmz05widening1_OBJECTS) $(bhmz05widening1_LDADD) $(LIBS)
 bhz03widening1$(EXEEXT): $(bhz03widening1_OBJECTS) $(bhz03widening1_DEPENDENCIES) 
 	@rm -f bhz03widening1$(EXEEXT)
-	$(CXXLINK) $(bhz03widening1_OBJECTS) $(bhz03widening1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(bhz03widening1_OBJECTS) $(bhz03widening1_LDADD) $(LIBS)
 bounded1$(EXEEXT): $(bounded1_OBJECTS) $(bounded1_DEPENDENCIES) 
 	@rm -f bounded1$(EXEEXT)
-	$(CXXLINK) $(bounded1_OBJECTS) $(bounded1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(bounded1_OBJECTS) $(bounded1_LDADD) $(LIBS)
 boundedaffineimage1$(EXEEXT): $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_DEPENDENCIES) 
 	@rm -f boundedaffineimage1$(EXEEXT)
-	$(CXXLINK) $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_LDADD) $(LIBS)
 boundedaffinepreimage1$(EXEEXT): $(boundedaffinepreimage1_OBJECTS) $(boundedaffinepreimage1_DEPENDENCIES) 
 	@rm -f boundedaffinepreimage1$(EXEEXT)
-	$(CXXLINK) $(boundedaffinepreimage1_OBJECTS) $(boundedaffinepreimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(boundedaffinepreimage1_OBJECTS) $(boundedaffinepreimage1_LDADD) $(LIBS)
 bounds1$(EXEEXT): $(bounds1_OBJECTS) $(bounds1_DEPENDENCIES) 
 	@rm -f bounds1$(EXEEXT)
-	$(CXXLINK) $(bounds1_OBJECTS) $(bounds1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(bounds1_OBJECTS) $(bounds1_LDADD) $(LIBS)
 cc76extrapolation1$(EXEEXT): $(cc76extrapolation1_OBJECTS) $(cc76extrapolation1_DEPENDENCIES) 
 	@rm -f cc76extrapolation1$(EXEEXT)
-	$(CXXLINK) $(cc76extrapolation1_OBJECTS) $(cc76extrapolation1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(cc76extrapolation1_OBJECTS) $(cc76extrapolation1_LDADD) $(LIBS)
 cc76narrowing1$(EXEEXT): $(cc76narrowing1_OBJECTS) $(cc76narrowing1_DEPENDENCIES) 
 	@rm -f cc76narrowing1$(EXEEXT)
-	$(CXXLINK) $(cc76narrowing1_OBJECTS) $(cc76narrowing1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(cc76narrowing1_OBJECTS) $(cc76narrowing1_LDADD) $(LIBS)
 closure1$(EXEEXT): $(closure1_OBJECTS) $(closure1_DEPENDENCIES) 
 	@rm -f closure1$(EXEEXT)
-	$(CXXLINK) $(closure1_OBJECTS) $(closure1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(closure1_OBJECTS) $(closure1_LDADD) $(LIBS)
 concatenate1$(EXEEXT): $(concatenate1_OBJECTS) $(concatenate1_DEPENDENCIES) 
 	@rm -f concatenate1$(EXEEXT)
-	$(CXXLINK) $(concatenate1_OBJECTS) $(concatenate1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(concatenate1_OBJECTS) $(concatenate1_LDADD) $(LIBS)
 congruences1$(EXEEXT): $(congruences1_OBJECTS) $(congruences1_DEPENDENCIES) 
 	@rm -f congruences1$(EXEEXT)
-	$(CXXLINK) $(congruences1_OBJECTS) $(congruences1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(congruences1_OBJECTS) $(congruences1_LDADD) $(LIBS)
 constrains1$(EXEEXT): $(constrains1_OBJECTS) $(constrains1_DEPENDENCIES) 
 	@rm -f constrains1$(EXEEXT)
-	$(CXXLINK) $(constrains1_OBJECTS) $(constrains1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(constrains1_OBJECTS) $(constrains1_LDADD) $(LIBS)
 constraints1$(EXEEXT): $(constraints1_OBJECTS) $(constraints1_DEPENDENCIES) 
 	@rm -f constraints1$(EXEEXT)
-	$(CXXLINK) $(constraints1_OBJECTS) $(constraints1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(constraints1_OBJECTS) $(constraints1_LDADD) $(LIBS)
 contains1$(EXEEXT): $(contains1_OBJECTS) $(contains1_DEPENDENCIES) 
 	@rm -f contains1$(EXEEXT)
-	$(CXXLINK) $(contains1_OBJECTS) $(contains1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(contains1_OBJECTS) $(contains1_LDADD) $(LIBS)
 containsintegerpoint1$(EXEEXT): $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_DEPENDENCIES) 
 	@rm -f containsintegerpoint1$(EXEEXT)
-	$(CXXLINK) $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_LDADD) $(LIBS)
 difference1$(EXEEXT): $(difference1_OBJECTS) $(difference1_DEPENDENCIES) 
 	@rm -f difference1$(EXEEXT)
-	$(CXXLINK) $(difference1_OBJECTS) $(difference1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(difference1_OBJECTS) $(difference1_LDADD) $(LIBS)
 discrete1$(EXEEXT): $(discrete1_OBJECTS) $(discrete1_DEPENDENCIES) 
 	@rm -f discrete1$(EXEEXT)
-	$(CXXLINK) $(discrete1_OBJECTS) $(discrete1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(discrete1_OBJECTS) $(discrete1_LDADD) $(LIBS)
 disjoint1$(EXEEXT): $(disjoint1_OBJECTS) $(disjoint1_DEPENDENCIES) 
 	@rm -f disjoint1$(EXEEXT)
-	$(CXXLINK) $(disjoint1_OBJECTS) $(disjoint1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(disjoint1_OBJECTS) $(disjoint1_LDADD) $(LIBS)
+dropsomenonintegerpoints1$(EXEEXT): $(dropsomenonintegerpoints1_OBJECTS) $(dropsomenonintegerpoints1_DEPENDENCIES) 
+	@rm -f dropsomenonintegerpoints1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(dropsomenonintegerpoints1_OBJECTS) $(dropsomenonintegerpoints1_LDADD) $(LIBS)
 empty1$(EXEEXT): $(empty1_OBJECTS) $(empty1_DEPENDENCIES) 
 	@rm -f empty1$(EXEEXT)
-	$(CXXLINK) $(empty1_OBJECTS) $(empty1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(empty1_OBJECTS) $(empty1_LDADD) $(LIBS)
 equality1$(EXEEXT): $(equality1_OBJECTS) $(equality1_DEPENDENCIES) 
 	@rm -f equality1$(EXEEXT)
-	$(CXXLINK) $(equality1_OBJECTS) $(equality1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(equality1_OBJECTS) $(equality1_LDADD) $(LIBS)
 expandspacedim1$(EXEEXT): $(expandspacedim1_OBJECTS) $(expandspacedim1_DEPENDENCIES) 
 	@rm -f expandspacedim1$(EXEEXT)
-	$(CXXLINK) $(expandspacedim1_OBJECTS) $(expandspacedim1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(expandspacedim1_OBJECTS) $(expandspacedim1_LDADD) $(LIBS)
 foldspacedims1$(EXEEXT): $(foldspacedims1_OBJECTS) $(foldspacedims1_DEPENDENCIES) 
 	@rm -f foldspacedims1$(EXEEXT)
-	$(CXXLINK) $(foldspacedims1_OBJECTS) $(foldspacedims1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(foldspacedims1_OBJECTS) $(foldspacedims1_LDADD) $(LIBS)
+frequency1$(EXEEXT): $(frequency1_OBJECTS) $(frequency1_DEPENDENCIES) 
+	@rm -f frequency1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(frequency1_OBJECTS) $(frequency1_LDADD) $(LIBS)
 frombdshape1$(EXEEXT): $(frombdshape1_OBJECTS) $(frombdshape1_DEPENDENCIES) 
 	@rm -f frombdshape1$(EXEEXT)
-	$(CXXLINK) $(frombdshape1_OBJECTS) $(frombdshape1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(frombdshape1_OBJECTS) $(frombdshape1_LDADD) $(LIBS)
 frombox1$(EXEEXT): $(frombox1_OBJECTS) $(frombox1_DEPENDENCIES) 
 	@rm -f frombox1$(EXEEXT)
-	$(CXXLINK) $(frombox1_OBJECTS) $(frombox1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(frombox1_OBJECTS) $(frombox1_LDADD) $(LIBS)
 fromgensys1$(EXEEXT): $(fromgensys1_OBJECTS) $(fromgensys1_DEPENDENCIES) 
 	@rm -f fromgensys1$(EXEEXT)
-	$(CXXLINK) $(fromgensys1_OBJECTS) $(fromgensys1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(fromgensys1_OBJECTS) $(fromgensys1_LDADD) $(LIBS)
 fromgrid1$(EXEEXT): $(fromgrid1_OBJECTS) $(fromgrid1_DEPENDENCIES) 
 	@rm -f fromgrid1$(EXEEXT)
-	$(CXXLINK) $(fromgrid1_OBJECTS) $(fromgrid1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(fromgrid1_OBJECTS) $(fromgrid1_LDADD) $(LIBS)
 fromoctagonalshape1$(EXEEXT): $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_DEPENDENCIES) 
 	@rm -f fromoctagonalshape1$(EXEEXT)
-	$(CXXLINK) $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_LDADD) $(LIBS)
 frompolyhedron1$(EXEEXT): $(frompolyhedron1_OBJECTS) $(frompolyhedron1_DEPENDENCIES) 
 	@rm -f frompolyhedron1$(EXEEXT)
-	$(CXXLINK) $(frompolyhedron1_OBJECTS) $(frompolyhedron1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(frompolyhedron1_OBJECTS) $(frompolyhedron1_LDADD) $(LIBS)
 fromspacedim1$(EXEEXT): $(fromspacedim1_OBJECTS) $(fromspacedim1_DEPENDENCIES) 
 	@rm -f fromspacedim1$(EXEEXT)
-	$(CXXLINK) $(fromspacedim1_OBJECTS) $(fromspacedim1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(fromspacedim1_OBJECTS) $(fromspacedim1_LDADD) $(LIBS)
 generalizedaffineimage1$(EXEEXT): $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_DEPENDENCIES) 
 	@rm -f generalizedaffineimage1$(EXEEXT)
-	$(CXXLINK) $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_LDADD) $(LIBS)
 generalizedaffineimage2$(EXEEXT): $(generalizedaffineimage2_OBJECTS) $(generalizedaffineimage2_DEPENDENCIES) 
 	@rm -f generalizedaffineimage2$(EXEEXT)
-	$(CXXLINK) $(generalizedaffineimage2_OBJECTS) $(generalizedaffineimage2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffineimage2_OBJECTS) $(generalizedaffineimage2_LDADD) $(LIBS)
 generalizedaffinepreimage1$(EXEEXT): $(generalizedaffinepreimage1_OBJECTS) $(generalizedaffinepreimage1_DEPENDENCIES) 
 	@rm -f generalizedaffinepreimage1$(EXEEXT)
-	$(CXXLINK) $(generalizedaffinepreimage1_OBJECTS) $(generalizedaffinepreimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffinepreimage1_OBJECTS) $(generalizedaffinepreimage1_LDADD) $(LIBS)
 generalizedaffinepreimage2$(EXEEXT): $(generalizedaffinepreimage2_OBJECTS) $(generalizedaffinepreimage2_DEPENDENCIES) 
 	@rm -f generalizedaffinepreimage2$(EXEEXT)
-	$(CXXLINK) $(generalizedaffinepreimage2_OBJECTS) $(generalizedaffinepreimage2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffinepreimage2_OBJECTS) $(generalizedaffinepreimage2_LDADD) $(LIBS)
 generalizedaffinepreimage3$(EXEEXT): $(generalizedaffinepreimage3_OBJECTS) $(generalizedaffinepreimage3_DEPENDENCIES) 
 	@rm -f generalizedaffinepreimage3$(EXEEXT)
-	$(CXXLINK) $(generalizedaffinepreimage3_OBJECTS) $(generalizedaffinepreimage3_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffinepreimage3_OBJECTS) $(generalizedaffinepreimage3_LDADD) $(LIBS)
 geomcovers1$(EXEEXT): $(geomcovers1_OBJECTS) $(geomcovers1_DEPENDENCIES) 
 	@rm -f geomcovers1$(EXEEXT)
-	$(CXXLINK) $(geomcovers1_OBJECTS) $(geomcovers1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(geomcovers1_OBJECTS) $(geomcovers1_LDADD) $(LIBS)
 h79widening1$(EXEEXT): $(h79widening1_OBJECTS) $(h79widening1_DEPENDENCIES) 
 	@rm -f h79widening1$(EXEEXT)
-	$(CXXLINK) $(h79widening1_OBJECTS) $(h79widening1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(h79widening1_OBJECTS) $(h79widening1_LDADD) $(LIBS)
+integerupperboundifexact1$(EXEEXT): $(integerupperboundifexact1_OBJECTS) $(integerupperboundifexact1_DEPENDENCIES) 
+	@rm -f integerupperboundifexact1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(integerupperboundifexact1_OBJECTS) $(integerupperboundifexact1_LDADD) $(LIBS)
 intersection1$(EXEEXT): $(intersection1_OBJECTS) $(intersection1_DEPENDENCIES) 
 	@rm -f intersection1$(EXEEXT)
-	$(CXXLINK) $(intersection1_OBJECTS) $(intersection1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(intersection1_OBJECTS) $(intersection1_LDADD) $(LIBS)
 limitedbhmz05extrapolation1$(EXEEXT): $(limitedbhmz05extrapolation1_OBJECTS) $(limitedbhmz05extrapolation1_DEPENDENCIES) 
 	@rm -f limitedbhmz05extrapolation1$(EXEEXT)
-	$(CXXLINK) $(limitedbhmz05extrapolation1_OBJECTS) $(limitedbhmz05extrapolation1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(limitedbhmz05extrapolation1_OBJECTS) $(limitedbhmz05extrapolation1_LDADD) $(LIBS)
 limitedcc76extrapolation1$(EXEEXT): $(limitedcc76extrapolation1_OBJECTS) $(limitedcc76extrapolation1_DEPENDENCIES) 
 	@rm -f limitedcc76extrapolation1$(EXEEXT)
-	$(CXXLINK) $(limitedcc76extrapolation1_OBJECTS) $(limitedcc76extrapolation1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(limitedcc76extrapolation1_OBJECTS) $(limitedcc76extrapolation1_LDADD) $(LIBS)
 limitedh79extrapolation1$(EXEEXT): $(limitedh79extrapolation1_OBJECTS) $(limitedh79extrapolation1_DEPENDENCIES) 
 	@rm -f limitedh79extrapolation1$(EXEEXT)
-	$(CXXLINK) $(limitedh79extrapolation1_OBJECTS) $(limitedh79extrapolation1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(limitedh79extrapolation1_OBJECTS) $(limitedh79extrapolation1_LDADD) $(LIBS)
 mapspacedims1$(EXEEXT): $(mapspacedims1_OBJECTS) $(mapspacedims1_DEPENDENCIES) 
 	@rm -f mapspacedims1$(EXEEXT)
-	$(CXXLINK) $(mapspacedims1_OBJECTS) $(mapspacedims1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(mapspacedims1_OBJECTS) $(mapspacedims1_LDADD) $(LIBS)
 max_min1$(EXEEXT): $(max_min1_OBJECTS) $(max_min1_DEPENDENCIES) 
 	@rm -f max_min1$(EXEEXT)
-	$(CXXLINK) $(max_min1_OBJECTS) $(max_min1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(max_min1_OBJECTS) $(max_min1_LDADD) $(LIBS)
 max_min2$(EXEEXT): $(max_min2_OBJECTS) $(max_min2_DEPENDENCIES) 
 	@rm -f max_min2$(EXEEXT)
-	$(CXXLINK) $(max_min2_OBJECTS) $(max_min2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(max_min2_OBJECTS) $(max_min2_LDADD) $(LIBS)
 maxspacedim1$(EXEEXT): $(maxspacedim1_OBJECTS) $(maxspacedim1_DEPENDENCIES) 
 	@rm -f maxspacedim1$(EXEEXT)
-	$(CXXLINK) $(maxspacedim1_OBJECTS) $(maxspacedim1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(maxspacedim1_OBJECTS) $(maxspacedim1_LDADD) $(LIBS)
 membytes1$(EXEEXT): $(membytes1_OBJECTS) $(membytes1_DEPENDENCIES) 
 	@rm -f membytes1$(EXEEXT)
-	$(CXXLINK) $(membytes1_OBJECTS) $(membytes1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(membytes1_OBJECTS) $(membytes1_LDADD) $(LIBS)
 minconstraints1$(EXEEXT): $(minconstraints1_OBJECTS) $(minconstraints1_DEPENDENCIES) 
 	@rm -f minconstraints1$(EXEEXT)
-	$(CXXLINK) $(minconstraints1_OBJECTS) $(minconstraints1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(minconstraints1_OBJECTS) $(minconstraints1_LDADD) $(LIBS)
 relations1$(EXEEXT): $(relations1_OBJECTS) $(relations1_DEPENDENCIES) 
 	@rm -f relations1$(EXEEXT)
-	$(CXXLINK) $(relations1_OBJECTS) $(relations1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(relations1_OBJECTS) $(relations1_LDADD) $(LIBS)
 relations2$(EXEEXT): $(relations2_OBJECTS) $(relations2_DEPENDENCIES) 
 	@rm -f relations2$(EXEEXT)
-	$(CXXLINK) $(relations2_OBJECTS) $(relations2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(relations2_OBJECTS) $(relations2_LDADD) $(LIBS)
 relations3$(EXEEXT): $(relations3_OBJECTS) $(relations3_DEPENDENCIES) 
 	@rm -f relations3$(EXEEXT)
-	$(CXXLINK) $(relations3_OBJECTS) $(relations3_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(relations3_OBJECTS) $(relations3_LDADD) $(LIBS)
 relations4$(EXEEXT): $(relations4_OBJECTS) $(relations4_DEPENDENCIES) 
 	@rm -f relations4$(EXEEXT)
-	$(CXXLINK) $(relations4_OBJECTS) $(relations4_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(relations4_OBJECTS) $(relations4_LDADD) $(LIBS)
 removespacedims1$(EXEEXT): $(removespacedims1_OBJECTS) $(removespacedims1_DEPENDENCIES) 
 	@rm -f removespacedims1$(EXEEXT)
-	$(CXXLINK) $(removespacedims1_OBJECTS) $(removespacedims1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(removespacedims1_OBJECTS) $(removespacedims1_LDADD) $(LIBS)
 simplifyusingcontext1$(EXEEXT): $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_DEPENDENCIES) 
 	@rm -f simplifyusingcontext1$(EXEEXT)
-	$(CXXLINK) $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_LDADD) $(LIBS)
 timeelapse1$(EXEEXT): $(timeelapse1_OBJECTS) $(timeelapse1_DEPENDENCIES) 
 	@rm -f timeelapse1$(EXEEXT)
-	$(CXXLINK) $(timeelapse1_OBJECTS) $(timeelapse1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(timeelapse1_OBJECTS) $(timeelapse1_LDADD) $(LIBS)
 unconstrain1$(EXEEXT): $(unconstrain1_OBJECTS) $(unconstrain1_DEPENDENCIES) 
 	@rm -f unconstrain1$(EXEEXT)
-	$(CXXLINK) $(unconstrain1_OBJECTS) $(unconstrain1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(unconstrain1_OBJECTS) $(unconstrain1_LDADD) $(LIBS)
 universe1$(EXEEXT): $(universe1_OBJECTS) $(universe1_DEPENDENCIES) 
 	@rm -f universe1$(EXEEXT)
-	$(CXXLINK) $(universe1_OBJECTS) $(universe1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(universe1_OBJECTS) $(universe1_LDADD) $(LIBS)
 upperbound1$(EXEEXT): $(upperbound1_OBJECTS) $(upperbound1_DEPENDENCIES) 
 	@rm -f upperbound1$(EXEEXT)
-	$(CXXLINK) $(upperbound1_OBJECTS) $(upperbound1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(upperbound1_OBJECTS) $(upperbound1_LDADD) $(LIBS)
 upperboundifexact1$(EXEEXT): $(upperboundifexact1_OBJECTS) $(upperboundifexact1_DEPENDENCIES) 
 	@rm -f upperboundifexact1$(EXEEXT)
-	$(CXXLINK) $(upperboundifexact1_OBJECTS) $(upperboundifexact1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(upperboundifexact1_OBJECTS) $(upperboundifexact1_LDADD) $(LIBS)
+wrap1$(EXEEXT): $(wrap1_OBJECTS) $(wrap1_DEPENDENCIES) 
+	@rm -f wrap1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(wrap1_OBJECTS) $(wrap1_LDADD) $(LIBS)
 writebdshape1$(EXEEXT): $(writebdshape1_OBJECTS) $(writebdshape1_DEPENDENCIES) 
 	@rm -f writebdshape1$(EXEEXT)
-	$(CXXLINK) $(writebdshape1_OBJECTS) $(writebdshape1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(writebdshape1_OBJECTS) $(writebdshape1_LDADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -1210,10 +1306,12 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/difference1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/discrete1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/disjoint1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dropsomenonintegerpoints1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/empty1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/equality1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/expandspacedim1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/foldspacedims1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/frequency1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/frombdshape1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/frombox1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fromgensys1.Po at am__quote@
@@ -1228,6 +1326,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/generalizedaffinepreimage3.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/geomcovers1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/h79widening1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/integerupperboundifexact1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/intersection1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/limitedbhmz05extrapolation1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/limitedcc76extrapolation1.Po at am__quote@
@@ -1249,25 +1348,29 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/universe1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/upperbound1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/upperboundifexact1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/wrap1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/writebdshape1.Po at am__quote@
 
 .cc.o:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
- at am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
@@ -1283,14 +1386,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
@@ -1298,37 +1401,43 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
 check-TESTS: $(TESTS)
-	@failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[	 ]'; \
+	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
 	srcdir=$(srcdir); export srcdir; \
 	list=' $(TESTS) '; \
+	$(am__tty_colors); \
 	if test -n "$$list"; then \
 	  for tst in $$list; do \
 	    if test -f ./$$tst; then dir=./; \
@@ -1337,49 +1446,63 @@ check-TESTS: $(TESTS)
 	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
 	      all=`expr $$all + 1`; \
 	      case " $(XFAIL_TESTS) " in \
-	      *$$ws$$tst$$ws*) \
+	      *[\ \	]$$tst[\ \	]*) \
 		xpass=`expr $$xpass + 1`; \
 		failed=`expr $$failed + 1`; \
-		echo "XPASS: $$tst"; \
+		col=$$red; res=XPASS; \
 	      ;; \
 	      *) \
-		echo "PASS: $$tst"; \
+		col=$$grn; res=PASS; \
 	      ;; \
 	      esac; \
 	    elif test $$? -ne 77; then \
 	      all=`expr $$all + 1`; \
 	      case " $(XFAIL_TESTS) " in \
-	      *$$ws$$tst$$ws*) \
+	      *[\ \	]$$tst[\ \	]*) \
 		xfail=`expr $$xfail + 1`; \
-		echo "XFAIL: $$tst"; \
+		col=$$lgn; res=XFAIL; \
 	      ;; \
 	      *) \
 		failed=`expr $$failed + 1`; \
-		echo "FAIL: $$tst"; \
+		col=$$red; res=FAIL; \
 	      ;; \
 	      esac; \
 	    else \
 	      skip=`expr $$skip + 1`; \
-	      echo "SKIP: $$tst"; \
+	      col=$$blu; res=SKIP; \
 	    fi; \
+	    echo "$${col}$$res$${std}: $$tst"; \
 	  done; \
+	  if test "$$all" -eq 1; then \
+	    tests="test"; \
+	    All=""; \
+	  else \
+	    tests="tests"; \
+	    All="All "; \
+	  fi; \
 	  if test "$$failed" -eq 0; then \
 	    if test "$$xfail" -eq 0; then \
-	      banner="All $$all tests passed"; \
+	      banner="$$All$$all $$tests passed"; \
 	    else \
-	      banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
+	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
 	    fi; \
 	  else \
 	    if test "$$xpass" -eq 0; then \
-	      banner="$$failed of $$all tests failed"; \
+	      banner="$$failed of $$all $$tests failed"; \
 	    else \
-	      banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
+	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
 	    fi; \
 	  fi; \
 	  dashes="$$banner"; \
 	  skipped=""; \
 	  if test "$$skip" -ne 0; then \
-	    skipped="($$skip tests were not run)"; \
+	    if test "$$skip" -eq 1; then \
+	      skipped="($$skip test was not run)"; \
+	    else \
+	      skipped="($$skip tests were not run)"; \
+	    fi; \
 	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
 	      dashes="$$skipped"; \
 	  fi; \
@@ -1390,11 +1513,15 @@ check-TESTS: $(TESTS)
 	      dashes="$$report"; \
 	  fi; \
 	  dashes=`echo "$$dashes" | sed s/./=/g`; \
-	  echo "$$dashes"; \
+	  if test "$$failed" -eq 0; then \
+	    echo "$$grn$$dashes"; \
+	  else \
+	    echo "$$red$$dashes"; \
+	  fi; \
 	  echo "$$banner"; \
 	  test -z "$$skipped" || echo "$$skipped"; \
 	  test -z "$$report" || echo "$$report"; \
-	  echo "$$dashes"; \
+	  echo "$$dashes$$std"; \
 	  test "$$failed" -eq 0; \
 	else :; fi
 
@@ -1414,13 +1541,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -1453,6 +1584,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 	-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
 
 maintainer-clean-generic:
@@ -1475,6 +1607,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -1483,18 +1617,28 @@ install-data-am:
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am:
 
 install-html: install-html-am
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-am
 
+install-pdf-am:
+
 install-ps: install-ps-am
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -1517,7 +1661,7 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: install-am install-strip
+.MAKE: check-am install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
 	clean-checkPROGRAMS clean-generic clean-libtool ctags \
@@ -1554,6 +1698,7 @@ $(top_builddir)/tests/libppl_tests.a:
 
 $(top_builddir)/src/libppl.la:
 	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libppl.la
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/tests/BD_Shape/addconstraints1.cc b/tests/BD_Shape/addconstraints1.cc
index f887c6e..1d663a3 100644
--- a/tests/BD_Shape/addconstraints1.cc
+++ b/tests/BD_Shape/addconstraints1.cc
@@ -1,5 +1,5 @@
-/* Test BD_Shape::add_constraints_and_minimize().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Test BD_Shape::add_constraints().
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -34,9 +34,9 @@ test01() {
   cs.insert(B == 5);
 
   TBD_Shape bds(2);
-  bds.add_constraints_and_minimize(cs);
+  bds.add_constraints(cs);
 
-  print_constraints(bds, "*** bds.add_constraints_and_minimize(cs) ***");
+  print_constraints(bds, "*** bds.add_constraints(cs) ***");
 
   BD_Shape<mpq_class> known_result(2);
   known_result.add_constraint(A >= 0);
@@ -106,12 +106,12 @@ test04() {
 
   try {
     // This is an invalid use of the method
-    // BD_Shape::add_constraints_and_minimize(cs): it is illegal to
+    // BD_Shape::add_constraints(cs): it is illegal to
     // add a system of constraints that is not dimensional incompatible
     // with the polyhedron.
     Constraint_System cs;
     cs.insert(x - y >= 0);
-    bds.add_constraints_and_minimize(cs);
+    bds.add_constraints(cs);
   }
   catch (std::invalid_argument& e) {
     nout << "std::invalid_argument: " << endl;
diff --git a/tests/BD_Shape/addspacedims1.cc b/tests/BD_Shape/addspacedims1.cc
index 8d44836..84d7e50 100644
--- a/tests/BD_Shape/addspacedims1.cc
+++ b/tests/BD_Shape/addspacedims1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::add_space_dimensions_and_embed():
    we add two variables to a BD_Shape.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/affinedimension1.cc b/tests/BD_Shape/affinedimension1.cc
index bbd736d..d2902fc 100644
--- a/tests/BD_Shape/affinedimension1.cc
+++ b/tests/BD_Shape/affinedimension1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::affine_dimension().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -284,7 +284,7 @@ test11() {
 
   print_constraints(bds, "*** bds ***");
 
-  return (affine_dim == 0);
+  return affine_dim == 0;
 }
 
 } // namespace
diff --git a/tests/BD_Shape/affineimage1.cc b/tests/BD_Shape/affineimage1.cc
index f5190be..b395867 100644
--- a/tests/BD_Shape/affineimage1.cc
+++ b/tests/BD_Shape/affineimage1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::affine_image().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/affineimage2.cc b/tests/BD_Shape/affineimage2.cc
index 9943e15..6b3fefd 100644
--- a/tests/BD_Shape/affineimage2.cc
+++ b/tests/BD_Shape/affineimage2.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::affine_image().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/affinepreimage1.cc b/tests/BD_Shape/affinepreimage1.cc
index 25ee32b..c52dc77 100644
--- a/tests/BD_Shape/affinepreimage1.cc
+++ b/tests/BD_Shape/affinepreimage1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::affine_preimage().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/ascii_dump_load1.cc b/tests/BD_Shape/ascii_dump_load1.cc
index 07c1e92..3c72a04 100644
--- a/tests/BD_Shape/ascii_dump_load1.cc
+++ b/tests/BD_Shape/ascii_dump_load1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::ascii_dump() and BD_Shape::ascii_load().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/bgp99extrapolation1.cc b/tests/BD_Shape/bgp99extrapolation1.cc
index b036d19..42e9ae7 100644
--- a/tests/BD_Shape/bgp99extrapolation1.cc
+++ b/tests/BD_Shape/bgp99extrapolation1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::BGP99_extrapolation_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/bhmz05widening1.cc b/tests/BD_Shape/bhmz05widening1.cc
index 1e62321..f5f46d9 100644
--- a/tests/BD_Shape/bhmz05widening1.cc
+++ b/tests/BD_Shape/bhmz05widening1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::BHMZ05_widening_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/bhz03widening1.cc b/tests/BD_Shape/bhz03widening1.cc
index 0b6a709..362eebb 100644
--- a/tests/BD_Shape/bhz03widening1.cc
+++ b/tests/BD_Shape/bhz03widening1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::BHZ03_widening_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/bounded1.cc b/tests/BD_Shape/bounded1.cc
index 9a84de6..722e1e2 100644
--- a/tests/BD_Shape/bounded1.cc
+++ b/tests/BD_Shape/bounded1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::is_bounded().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/boundedaffineimage1.cc b/tests/BD_Shape/boundedaffineimage1.cc
index fc722c0..a766126 100644
--- a/tests/BD_Shape/boundedaffineimage1.cc
+++ b/tests/BD_Shape/boundedaffineimage1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::bounded_affine_image().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/boundedaffinepreimage1.cc b/tests/BD_Shape/boundedaffinepreimage1.cc
index 45f9551..d4e6e7f 100644
--- a/tests/BD_Shape/boundedaffinepreimage1.cc
+++ b/tests/BD_Shape/boundedaffinepreimage1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::bounded_affine_preimage().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/bounds1.cc b/tests/BD_Shape/bounds1.cc
index 7a552e3..c1b2973 100644
--- a/tests/BD_Shape/bounds1.cc
+++ b/tests/BD_Shape/bounds1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::bounds_from_below() and BD_Shape::bounds_from_above().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/cc76extrapolation1.cc b/tests/BD_Shape/cc76extrapolation1.cc
index 08cdcea..52e2a9a 100644
--- a/tests/BD_Shape/cc76extrapolation1.cc
+++ b/tests/BD_Shape/cc76extrapolation1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::CC76_extrapolation_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/cc76narrowing1.cc b/tests/BD_Shape/cc76narrowing1.cc
index 4dc2ed6..27ba748 100644
--- a/tests/BD_Shape/cc76narrowing1.cc
+++ b/tests/BD_Shape/cc76narrowing1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::CC76_narrowing_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/closure1.cc b/tests/BD_Shape/closure1.cc
index 4e7a691..26841f6 100644
--- a/tests/BD_Shape/closure1.cc
+++ b/tests/BD_Shape/closure1.cc
@@ -1,5 +1,5 @@
 /* Test shortest path closure.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -327,9 +327,9 @@ add_edges(BD_Shape<T>& bds, const Edge* edges, unsigned n) {
   for (unsigned i = 0; i < n; ++i) {
     const mpq_class& q = perturbate(edges[i].distance);
     Coefficient a;
-    assign_r(a, q.get_den(), ROUND_NOT_NEEDED);
+    a = q.get_den();
     Coefficient b;
-    assign_r(b, q.get_num(), ROUND_NOT_NEEDED);
+    b = q.get_num();
 
     nout << "a = " << a << "; b = " << b << endl;
 
@@ -593,7 +593,7 @@ test03() {
 } // namespace
 
 BEGIN_MAIN
-  DO_TEST(test01);
+  DO_TEST_F32(test01);
   DO_TEST_MAY_OVERFLOW_IF_INEXACT(test02, TBD_Shape);
   DO_TEST(test03);
 END_MAIN
diff --git a/tests/BD_Shape/concatenate1.cc b/tests/BD_Shape/concatenate1.cc
index ae7a99c..77048df 100644
--- a/tests/BD_Shape/concatenate1.cc
+++ b/tests/BD_Shape/concatenate1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::concatenate_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -134,7 +134,7 @@ test04() {
   TBD_Shape bds1(3);
   bds1.add_constraint(A >= 0);
   bds1.add_constraint(B >= 0);
-  bds1.add_constraint_and_minimize(C >= 0);
+  bds1.add_constraint(C >= 0);
 
   TBD_Shape bds2(2);
   bds2.add_constraint(A >= 0);
@@ -142,7 +142,7 @@ test04() {
   bds2.add_constraint(B >= 0);
   bds2.add_constraint(B <= 2);
   bds2.add_constraint(A - B <= 0);
-  bds2.add_constraint_and_minimize(B - A <= 1);
+  bds2.add_constraint(B - A <= 1);
 
   print_constraints(bds1, "*** bds1 ***");
   print_constraints(bds2, "*** bds2 ***");
diff --git a/tests/BD_Shape/congruences1.cc b/tests/BD_Shape/congruences1.cc
index 22006c6..e48d87b 100644
--- a/tests/BD_Shape/congruences1.cc
+++ b/tests/BD_Shape/congruences1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::congruences().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -168,7 +168,8 @@ test07() {
 
   Congruence_System cgs = bds1.congruences();
   TBD_Shape bds2(cgs.space_dimension(), EMPTY);
-  bool b = bds2.add_congruences_and_minimize(cgs);
+  bds2.add_congruences(cgs);
+  bool b = !bds2.is_empty();
 
   bool ok = !b && check_result(bds2, known_result);
 
diff --git a/tests/BD_Shape/constrains1.cc b/tests/BD_Shape/constrains1.cc
index 116d5a1..d80503c 100644
--- a/tests/BD_Shape/constrains1.cc
+++ b/tests/BD_Shape/constrains1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::constrains().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/constraints1.cc b/tests/BD_Shape/constraints1.cc
index ba0d6bd..bd99d73 100644
--- a/tests/BD_Shape/constraints1.cc
+++ b/tests/BD_Shape/constraints1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::constraints().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/contains1.cc b/tests/BD_Shape/contains1.cc
index e75530f..ff47cdc 100644
--- a/tests/BD_Shape/contains1.cc
+++ b/tests/BD_Shape/contains1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::contains().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/containsintegerpoint1.cc b/tests/BD_Shape/containsintegerpoint1.cc
index c635826..2bf0414 100644
--- a/tests/BD_Shape/containsintegerpoint1.cc
+++ b/tests/BD_Shape/containsintegerpoint1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::contains_integer_point().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -99,7 +99,7 @@ test03() {
   // NOTE: results depends on whether or not the rational constraints
   // on y have been approximated as integral constraints.
   typedef TBD_Shape::coefficient_type_base T;
-  return (std::numeric_limits<T>::is_integer ? contains : !contains);
+  return std::numeric_limits<T>::is_integer ? contains : !contains;
 }
 
 bool
diff --git a/tests/BD_Shape/difference1.cc b/tests/BD_Shape/difference1.cc
index 78c1e8a..d686b83 100644
--- a/tests/BD_Shape/difference1.cc
+++ b/tests/BD_Shape/difference1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::difference_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/discrete1.cc b/tests/BD_Shape/discrete1.cc
index d4c86b2..8ed66b1 100644
--- a/tests/BD_Shape/discrete1.cc
+++ b/tests/BD_Shape/discrete1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::is_discrete().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/disjoint1.cc b/tests/BD_Shape/disjoint1.cc
index 5a22e5b..3214d4c 100644
--- a/tests/BD_Shape/disjoint1.cc
+++ b/tests/BD_Shape/disjoint1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::is_disjoint_from(const BD_Shape& y).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/dropsomenonintegerpoints1.cc b/tests/BD_Shape/dropsomenonintegerpoints1.cc
new file mode 100644
index 0000000..296300d
--- /dev/null
+++ b/tests/BD_Shape/dropsomenonintegerpoints1.cc
@@ -0,0 +1,355 @@
+/* Test BD_Shape::drop_some_non_integer_points().
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+namespace {
+
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+
+  BD_Shape<mpq_class> bds(2);
+
+  bds.add_constraint(2*A >= 1);
+  bds.add_constraint(2*B >= -1);
+  bds.add_constraint(2*A - 2*B >= 1);
+
+  print_constraints(bds, "*** bds ***");
+
+  bds.drop_some_non_integer_points();
+
+  BD_Shape<mpq_class> known_result(2);
+  known_result.add_constraint(A >= 1);
+  known_result.add_constraint(B >= 0);
+  known_result.add_constraint(A - B >= 1);
+
+  bool ok = (bds == known_result);
+
+  print_constraints(bds, "*** after bds.drop_some_non_integer_points() ***");
+
+  return ok;
+}
+
+bool
+test02() {
+  BD_Shape<mpq_class> bds1;
+  BD_Shape<mpq_class> bds2(0, EMPTY);
+  BD_Shape<mpq_class> bds3(2, EMPTY);
+  BD_Shape<mpq_class> bds4(2);
+
+  print_constraints(bds1, "*** bds1 ***");
+  print_constraints(bds2, "*** bds2 ***");
+
+  BD_Shape<mpq_class> known_result1(bds1);
+  BD_Shape<mpq_class> known_result2(bds2);
+  BD_Shape<mpq_class> known_result3(bds3);
+  BD_Shape<mpq_class> known_result4(bds4);
+
+  bds1.drop_some_non_integer_points();
+  bds2.drop_some_non_integer_points();
+  bds3.drop_some_non_integer_points();
+  bds4.drop_some_non_integer_points();
+
+  bool ok = (bds1 == known_result1 && bds2 == known_result2
+             && bds3 == known_result3 && bds4 == known_result4);
+
+  print_constraints(bds1, "*** after bds1.drop_some_non_integer_points() ***");
+  print_constraints(bds2, "*** after bds2.drop_some_non_integer_points() ***");
+
+  return ok;
+}
+
+bool
+test03() {
+  Variable A(0);
+  Variable B(1);
+
+  BD_Shape<mpq_class> bds(2);
+  bds.add_constraint(A - B == 0);
+  bds.add_constraint(A >= 0);
+
+  BD_Shape<mpq_class> known_result(bds);
+
+  print_constraints(bds, "*** bds ***");
+
+  bds.drop_some_non_integer_points();
+
+  bool ok = (bds == known_result);
+
+  print_constraints(bds, "*** after bds.drop_some_non_integer_points() ***");
+
+  return ok;
+}
+
+bool
+test04() {
+  Variable A(0);
+  Variable B(1);
+
+  BD_Shape<mpq_class> bds(2);
+  bds.add_constraint(A >= 0);
+  bds.add_constraint(A == B);
+
+  print_constraints(bds, "*** bds ***");
+
+  bds.drop_some_non_integer_points();
+
+  BD_Shape<mpq_class> known_result(2);
+  known_result.add_constraint(A >= 0);
+  known_result.add_constraint(A == B);
+
+  bool ok = (bds == known_result);
+
+  print_constraints(bds, "*** after bds.drop_some_non_integer_points() ***");
+
+  return ok;
+}
+
+bool
+test05() {
+  Variable A(0);
+  Variable B(1);
+
+  BD_Shape<mpq_class> bds(2);
+  bds.add_constraint(2*A == 1);
+
+  print_constraints(bds, "*** bds ***");
+
+  bds.drop_some_non_integer_points();
+
+  BD_Shape<mpq_class> known_result(2, EMPTY);
+
+  bool ok = (bds == known_result);
+
+  print_constraints(bds, "*** after bds.drop_some_non_integer_points() ***");
+
+  return ok;
+}
+
+bool
+test06() {
+  Variable A(0);
+  Variable B(1);
+
+  BD_Shape<mpq_class> bds(2);
+  bds.add_constraint(2*A <= 1);
+  bds.add_constraint(2*B <= -1);
+  bds.add_constraint(4*A - 4*B <= 7);
+
+  print_constraints(bds, "*** bds ***");
+
+  bds.drop_some_non_integer_points();
+
+  BD_Shape<mpq_class> known_result(2);
+  known_result.add_constraint(A <= 0);
+  known_result.add_constraint(B <= -1);
+  known_result.add_constraint(A - B <= 1);
+
+  bool ok = (bds == known_result);
+
+  print_constraints(bds, "*** after bds.drop_some_non_integer_points() ***");
+
+  return ok;
+}
+
+bool
+test07() {
+  Variable A(0);
+  Variable B(1);
+  Variables_Set varset_A;
+  varset_A.insert(A);
+
+  BD_Shape<mpq_class> bds(2);
+
+  bds.add_constraint(2*A >= 1);
+  bds.add_constraint(2*B >= -1);
+  bds.add_constraint(2*A - 2*B >= 1);
+
+  print_constraints(bds, "*** bds ***");
+
+  bds.drop_some_non_integer_points(varset_A);
+
+  BD_Shape<mpq_class> known_result(2);
+  known_result.add_constraint(A >= 1);
+  known_result.add_constraint(2*B >= -1);
+  known_result.add_constraint(2*A - 2*B >= 1);
+
+  bool ok = (bds == known_result);
+
+  print_constraints(bds,
+                    "*** after bds.drop_some_non_integer_points(varset_A) ***");
+
+  return ok;
+}
+
+bool
+test08() {
+  Variable A(0);
+  Variables_Set varset_A;
+  varset_A.insert(A);
+
+  BD_Shape<mpq_class> bds1(2, EMPTY);
+  BD_Shape<mpq_class> bds2(2);
+
+  print_constraints(bds1, "*** bds1 ***");
+  print_constraints(bds2, "*** bds2 ***");
+
+  BD_Shape<mpq_class> known_result1(bds1);
+  BD_Shape<mpq_class> known_result2(bds2);
+
+  bds1.drop_some_non_integer_points(varset_A);
+  bds2.drop_some_non_integer_points(varset_A);
+
+  bool ok = (bds1 == known_result1 && bds2 == known_result2);
+
+  print_constraints(bds1,
+                    "*** after bds1.drop_some_non_integer_points(varset_A) ***");
+  print_constraints(bds2,
+                    "*** after bds2.drop_some_non_integer_points(varset_A) ***");
+
+  return ok;
+}
+
+bool
+test09() {
+  Variable A(0);
+  Variable B(1);
+  Variables_Set varset_A;
+  varset_A.insert(A);
+
+  BD_Shape<mpq_class> bds(2);
+  bds.add_constraint(2*A - 2*B == 1);
+  bds.add_constraint(A >= 0);
+
+  BD_Shape<mpq_class> known_result(bds);
+
+  print_constraints(bds, "*** bds ***");
+
+  bds.drop_some_non_integer_points(varset_A);
+
+  bool ok = (bds == known_result);
+
+  print_constraints(bds,
+                    "*** after bds.drop_some_non_integer_points(varset_A) ***");
+
+  return ok;
+}
+
+bool
+test10() {
+  Variable A(0);
+  Variable B(1);
+  Variables_Set varset_A;
+  varset_A.insert(A);
+
+  BD_Shape<mpq_class> bds(2);
+  bds.add_constraint(A >= 0);
+  bds.add_constraint(A == B);
+
+  print_constraints(bds, "*** bds ***");
+
+  bds.drop_some_non_integer_points(varset_A);
+
+  BD_Shape<mpq_class> known_result(2);
+  known_result.add_constraint(A >= 0);
+  known_result.add_constraint(A == B);
+
+  bool ok = (bds == known_result);
+
+  print_constraints(bds,
+                    "*** after bds.drop_some_non_integer_points(varset_A) ***");
+
+  return ok;
+}
+
+bool
+test11() {
+  Variable A(0);
+  Variable B(1);
+  Variables_Set varset_B;
+  varset_B.insert(B);
+
+  BD_Shape<mpq_class> bds(2);
+  bds.add_constraint(2*A == 1);
+
+  print_constraints(bds, "*** bds ***");
+
+  bds.drop_some_non_integer_points(varset_B);
+
+  BD_Shape<mpq_class> known_result(2);
+  known_result.add_constraint(2*A == 1);
+
+  bool ok = (bds == known_result);
+
+  print_constraints(bds,
+                    "*** after bds.drop_some_non_integer_points(varset_B) ***");
+
+  return ok;
+}
+
+bool
+test12() {
+  Variable A(0);
+  Variable B(1);
+  Variables_Set varset_A;
+  varset_A.insert(A);
+
+  BD_Shape<mpq_class> bds(2);
+  bds.add_constraint(2*A <= 1);
+  bds.add_constraint(2*B <= -1);
+  bds.add_constraint(4*A - 4*B <= 7);
+
+  print_constraints(bds, "*** bds ***");
+
+  bds.drop_some_non_integer_points(varset_A);
+
+  BD_Shape<mpq_class> known_result(2);
+  known_result.add_constraint(A <= 0);
+  known_result.add_constraint(2*B <= -1);
+  known_result.add_constraint(4*A - 4*B <= 7);
+
+  bool ok = (bds == known_result);
+
+  print_constraints(bds,
+                    "*** after bds.drop_some_non_integer_points(varset_A) ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST(test08);
+  DO_TEST(test09);
+  DO_TEST(test10);
+  DO_TEST(test11);
+  DO_TEST(test12);
+END_MAIN
diff --git a/tests/BD_Shape/empty1.cc b/tests/BD_Shape/empty1.cc
index 73b47bf..cdbf887 100644
--- a/tests/BD_Shape/empty1.cc
+++ b/tests/BD_Shape/empty1.cc
@@ -1,5 +1,5 @@
 /* Different ways of creating an empty BD_Shape.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/equality1.cc b/tests/BD_Shape/equality1.cc
index 8845be0..b8dadb8 100644
--- a/tests/BD_Shape/equality1.cc
+++ b/tests/BD_Shape/equality1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::operator==().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/expandspacedim1.cc b/tests/BD_Shape/expandspacedim1.cc
index c0fec80..a0f6b09 100644
--- a/tests/BD_Shape/expandspacedim1.cc
+++ b/tests/BD_Shape/expandspacedim1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::expand_space_dimension().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/foldspacedims1.cc b/tests/BD_Shape/foldspacedims1.cc
index 350aa55..f777754 100644
--- a/tests/BD_Shape/foldspacedims1.cc
+++ b/tests/BD_Shape/foldspacedims1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::fold_space_dimensions().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/frequency1.cc b/tests/BD_Shape/frequency1.cc
new file mode 100644
index 0000000..f74e6fb
--- /dev/null
+++ b/tests/BD_Shape/frequency1.cc
@@ -0,0 +1,278 @@
+/* Test BD_Shape::frequency().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+
+namespace {
+
+// Universe and empty bd shape.
+bool
+test01() {
+  Variable A(0);
+
+  TBD_Shape bds1(1);
+
+  TBD_Shape bds2(1, EMPTY);
+
+  Coefficient num1;
+  Coefficient den1;
+  Coefficient valn1;
+  Coefficient vald1;
+  Coefficient num2;
+  Coefficient den2;
+  Coefficient valn2;
+  Coefficient vald2;
+  bool ok = (!bds1.frequency(A, num1, den1, valn1, vald1)
+             && !bds2.frequency(A, num2, den2, valn2, vald2));
+  print_constraints(bds1, "*** bds1 ***");
+  nout << "num1 " << num1 << ", den1 " << den1 << endl;
+  nout << "valn1 " << valn1 << ", vald1 " << vald1 << endl;
+  print_constraints(bds2, "*** bds2 ***");
+  nout << "num2 " << num2 << ", den2 " << den2 << endl;
+  nout << "valn2 " << valn2 << ", vald2 " << vald2 << endl;
+
+  return ok;
+}
+
+// 0-dimension polyhedra.
+bool
+test02() {
+  TBD_Shape bds1(0);
+
+  TBD_Shape bds2(0, EMPTY);
+
+  Coefficient num1;
+  Coefficient den1;
+  Coefficient valn1;
+  Coefficient vald1;
+  Coefficient num2;
+  Coefficient den2;
+  Coefficient valn2;
+  Coefficient vald2;
+  Linear_Expression three(3);
+  bool ok = (bds1.frequency(three, num1, den1, valn1, vald1)
+             && num1 == 0 && den1 == 1 && valn1 == 3 && vald1 == 1
+             && !bds2.frequency(three, num2, den2, valn2, vald2));
+  print_constraints(bds1, "*** bds1 ***");
+  nout << "num1 " << num1 << ", den1 " << den1 << endl;
+  nout << "valn1 " << valn1 << ", vald1 " << vald1 << endl;
+  print_constraints(bds2, "*** bds2 ***");
+  nout << "num2 " << num2 << ", den2 " << den2 << endl;
+  nout << "valn2 " << valn2 << ", vald2 " << vald2 << endl;
+
+  return ok;
+}
+
+// Non-relational test.
+bool
+test03() {
+  Variable A(0);
+
+  TBD_Shape bds(1);
+  bds.add_constraint(A == 0);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (bds.frequency(Linear_Expression(A), num, den, valn, vald)
+             && num == 0 && den == 1 && valn == 0 && vald == 1);
+  print_constraints(bds, "*** bds ***");
+  nout << "num " << num << ", den " << den << endl;
+  nout << "valn " << valn << ", vald " << vald << endl;
+
+  return ok;
+}
+
+bool
+test04() {
+  Variable A(0);
+  Variable B(1);
+
+  TBD_Shape bds(2);
+  bds.add_constraint(A >= 0);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (!bds.frequency(Linear_Expression(A), num, den, valn, vald));
+  print_constraints(bds, "*** bds ***");
+  nout << "num " << num << ", den " << den << endl;
+  nout << "valn " << valn << ", vald " << vald << endl;
+
+  return ok;
+}
+
+bool
+test05() {
+  Variable A(0);
+  Variable B(1);
+
+  TBD_Shape bds(2);
+  bds.add_constraint(A <= 0);
+  bds.add_constraint(A - B >= 5);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (!bds.frequency(Linear_Expression(B), num, den, valn, vald));
+  print_constraints(bds, "*** bds ***");
+  nout << "num " << num << ", den " << den << endl;
+  nout << "valn " << valn << ", vald " << vald << endl;
+
+  return ok;
+}
+
+bool
+test06() {
+  Variable A(0);
+  Variable B(1);
+
+  TBD_Shape bds(2);
+  bds.add_constraint(A == 1);
+  bds.add_constraint(B == 2);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (bds.frequency(Linear_Expression(A + B - 3), num, den, valn, vald)
+             && num == 0 && den == 1 && valn == 0 && vald == 1);
+  print_constraints(bds, "*** bds ***");
+  nout << "num " << num << ", den " << den << endl;
+  nout << "valn " << valn << ", vald " << vald << endl;
+
+  return ok;
+}
+
+bool
+test07() {
+  Variable A(0);
+  Variable B(1);
+
+  TBD_Shape bds(2);
+  bds.add_constraint(A <= 1);
+  bds.add_constraint(A >= 0);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (!bds.frequency(Linear_Expression(A - B), num, den, valn, vald));
+  print_constraints(bds, "*** bds ***");
+  nout << "num " << num << ", den " << den << endl;
+  nout << "valn " << valn << ", vald " << vald << endl;
+
+  return ok;
+}
+
+bool
+test08() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  TBD_Shape bds(3);
+  bds.add_constraint(2*A - 2*B == 2);
+  bds.add_constraint(3*C == 3);
+  bds.add_constraint(B <= 2);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (bds.frequency(Linear_Expression(A - B + C + 1),
+                           num, den, valn, vald)
+             && num == 0 && den == 1 && valn == 3 && vald == 1);
+  print_constraints(bds, "*** bds ***");
+  nout << "num " << num << ", den " << den << endl;
+  nout << "valn " << valn << ", vald " << vald << endl;
+
+  return ok;
+}
+
+bool
+test09() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  TBD_Shape bds(3);
+  bds.add_constraint(4*A - 4*B == 1);
+  bds.add_constraint(3*C == 1);
+  bds.add_constraint(B <= 2);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool discrete = bds.frequency(Linear_Expression(A - B),
+                                num, den, valn, vald);
+  // If the shape is based on an integral coefficient type, then
+  // approximations will induce non discreteness of the linear expression.
+  bool ok = std::numeric_limits<TBD_Shape::coefficient_type_base>::is_integer
+    ? (!discrete && num == 0 && den == 0 && valn == 0 && vald == 0)
+    : (discrete && num == 0 && den == 1 && valn == 1 && vald == 4);
+  print_constraints(bds, "*** bds ***");
+  nout << "num " << num << ", den " << den << endl;
+  nout << "valn " << valn << ", vald " << vald << endl;
+
+  return ok;
+}
+
+// Non-relational test of an empty bd_shape in 1-dimension.
+bool
+test10() {
+  Variable A(0);
+
+  TBD_Shape bds(1);
+  bds.add_constraint(A <= 0);
+  bds.add_constraint(A >= 1);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (!bds.frequency(Linear_Expression(A), num, den, valn, vald));
+  print_constraints(bds, "*** bds ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST(test08);
+  DO_TEST(test09);
+  DO_TEST(test10);
+END_MAIN
diff --git a/tests/BD_Shape/frombdshape1.cc b/tests/BD_Shape/frombdshape1.cc
index 53abd3c..5f4e4b0 100644
--- a/tests/BD_Shape/frombdshape1.cc
+++ b/tests/BD_Shape/frombdshape1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape copy construct, construction from other
    BD shapes and assignment.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/frombox1.cc b/tests/BD_Shape/frombox1.cc
index 88bd142..acef1e2 100644
--- a/tests/BD_Shape/frombox1.cc
+++ b/tests/BD_Shape/frombox1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::BD_Shape(const Box<Interval>&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/fromgensys1.cc b/tests/BD_Shape/fromgensys1.cc
index f3a476e..27e67d4 100644
--- a/tests/BD_Shape/fromgensys1.cc
+++ b/tests/BD_Shape/fromgensys1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::BD_Shape(const Generator_System&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/fromgrid1.cc b/tests/BD_Shape/fromgrid1.cc
index ef6329d..e8fbaf4 100644
--- a/tests/BD_Shape/fromgrid1.cc
+++ b/tests/BD_Shape/fromgrid1.cc
@@ -1,6 +1,6 @@
 /* Test C_Polyhedron::C_Polyhedron(const Grid&)
    and NNC_Polyhedron::NNC_Polyhedron(const Grid&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/fromoctagonalshape1.cc b/tests/BD_Shape/fromoctagonalshape1.cc
index 512d663..d947a31 100644
--- a/tests/BD_Shape/fromoctagonalshape1.cc
+++ b/tests/BD_Shape/fromoctagonalshape1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::BD_Shape(const Octagonal_Shape&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/frompolyhedron1.cc b/tests/BD_Shape/frompolyhedron1.cc
index 9c801cf..d78bf9d 100644
--- a/tests/BD_Shape/frompolyhedron1.cc
+++ b/tests/BD_Shape/frompolyhedron1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::BD_Shape(const C_Polyhedron&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/fromspacedim1.cc b/tests/BD_Shape/fromspacedim1.cc
index 04de568..3f795ea 100644
--- a/tests/BD_Shape/fromspacedim1.cc
+++ b/tests/BD_Shape/fromspacedim1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::BD_Shape(dimension_type, Degenerate_Element).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/generalizedaffineimage1.cc b/tests/BD_Shape/generalizedaffineimage1.cc
index bf3a37a..f801e24 100644
--- a/tests/BD_Shape/generalizedaffineimage1.cc
+++ b/tests/BD_Shape/generalizedaffineimage1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::generalized_affine_image().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/generalizedaffineimage2.cc b/tests/BD_Shape/generalizedaffineimage2.cc
index 9567fd9..9f6f7b5 100644
--- a/tests/BD_Shape/generalizedaffineimage2.cc
+++ b/tests/BD_Shape/generalizedaffineimage2.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::generalized_affine_image().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/generalizedaffinepreimage1.cc b/tests/BD_Shape/generalizedaffinepreimage1.cc
index c86bee2..964850b 100644
--- a/tests/BD_Shape/generalizedaffinepreimage1.cc
+++ b/tests/BD_Shape/generalizedaffinepreimage1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::generalized_affine_preimage().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/generalizedaffinepreimage2.cc b/tests/BD_Shape/generalizedaffinepreimage2.cc
index 825dc49..18ec65c 100644
--- a/tests/BD_Shape/generalizedaffinepreimage2.cc
+++ b/tests/BD_Shape/generalizedaffinepreimage2.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::generalized_affine_preimage().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/generalizedaffinepreimage3.cc b/tests/BD_Shape/generalizedaffinepreimage3.cc
index bbc6950..423edcc 100644
--- a/tests/BD_Shape/generalizedaffinepreimage3.cc
+++ b/tests/BD_Shape/generalizedaffinepreimage3.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::generalized_affine_preimage().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/geomcovers1.cc b/tests/BD_Shape/geomcovers1.cc
index 6308fce..4683515 100644
--- a/tests/BD_Shape/geomcovers1.cc
+++ b/tests/BD_Shape/geomcovers1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<BD_Shape>::geometrically_covers().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/h79widening1.cc b/tests/BD_Shape/h79widening1.cc
index 26648a4..88cf509 100644
--- a/tests/BD_Shape/h79widening1.cc
+++ b/tests/BD_Shape/h79widening1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::H79_widening_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/integerupperboundifexact1.cc b/tests/BD_Shape/integerupperboundifexact1.cc
new file mode 100644
index 0000000..4f47ef8
--- /dev/null
+++ b/tests/BD_Shape/integerupperboundifexact1.cc
@@ -0,0 +1,387 @@
+/* Test BD_Shape::integer_upper_bound_assign_if_exact().
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+namespace {
+
+bool
+test01() {
+  BD_Shape<mpz_class> bds_empty(0, EMPTY);
+  BD_Shape<mpz_class> bds_universe(0, UNIVERSE);
+
+  // Testing all combinations for 0-dim polyhedra.
+  bool ok = true;
+  BD_Shape<mpz_class> bds;
+
+  // empty, empty
+  bds = bds_empty;
+  ok &= bds.integer_upper_bound_assign_if_exact(bds_empty);
+  ok &= (bds == bds_empty);
+  print_constraints(bds, "*** empty union empty ***");
+
+  // empty, universe
+  bds = bds_empty;
+  ok &= bds.integer_upper_bound_assign_if_exact(bds_universe);
+  ok &= (bds == bds_universe);
+  print_constraints(bds, "*** empty union universe ***");
+
+  // universe, empty
+  bds = bds_universe;
+  ok &= bds.integer_upper_bound_assign_if_exact(bds_empty);
+  ok &= (bds == bds_universe);
+  print_constraints(bds, "*** universe union empty ***");
+
+  // universe, universe
+  bds = bds_universe;
+  ok &= bds.integer_upper_bound_assign_if_exact(bds_universe);
+  ok &= (bds == bds_universe);
+  print_constraints(bds, "*** universe union universe ***");
+
+  return ok;
+}
+
+bool
+test02() {
+  Variable x(0);
+  Variable y(1);
+
+  BD_Shape<mpz_class> bds1(2, UNIVERSE);
+  bds1.add_constraint(x >= -2);
+  bds1.add_constraint(x <= -1);
+  bds1.add_constraint(y >= 0);
+  bds1.add_constraint(y <= 2);
+
+  print_constraints(bds1, "*** bds1 ***");
+
+  BD_Shape<mpz_class> bds2(2, UNIVERSE);
+  bds2.add_constraint(x >= 1);
+  bds2.add_constraint(x <= 2);
+  bds2.add_constraint(y >= 0);
+  bds2.add_constraint(y <= 2);
+
+  print_constraints(bds2, "*** bds2 ***");
+
+  BD_Shape<mpz_class> known_result(bds1);
+
+  bool ok = !bds1.integer_upper_bound_assign_if_exact(bds2);
+  ok &= (bds1 == known_result);
+
+  print_constraints(bds1,
+                    "*** bds1.integer_upper_bound_assign_if_exact(bds2) ***");
+
+  return ok;
+}
+
+bool
+test03() {
+  Variable x(0);
+  Variable y(1);
+
+  BD_Shape<mpz_class> bds1(2, UNIVERSE);
+  bds1.add_constraint(x >= -2);
+  bds1.add_constraint(x <= 0);
+  bds1.add_constraint(y >= 0);
+  bds1.add_constraint(y <= 2);
+
+  print_constraints(bds1, "*** bds1 ***");
+
+  BD_Shape<mpz_class> bds2(2, UNIVERSE);
+  bds2.add_constraint(x >= 0);
+  bds2.add_constraint(x <= 2);
+  bds2.add_constraint(y >= 0);
+  bds2.add_constraint(y <= 2);
+
+  print_constraints(bds2, "*** bds2 ***");
+
+  BD_Shape<mpz_class> known_result(2, UNIVERSE);
+  known_result.add_constraint(x >= -2);
+  known_result.add_constraint(x <= 2);
+  known_result.add_constraint(y >= 0);
+  known_result.add_constraint(y <= 2);
+
+  bool ok = bds1.integer_upper_bound_assign_if_exact(bds2);
+  ok &= (bds1 == known_result);
+
+  print_constraints(bds1,
+                    "*** bds1.integer_upper_bound_assign_if_exact(bds2) ***");
+
+  return ok;
+}
+
+bool
+test04() {
+  Variable x(0);
+  Variable y(1);
+
+  BD_Shape<mpz_class> bds1(2, UNIVERSE);
+  bds1.add_constraint(x == 0);
+  bds1.add_constraint(y == 0);
+
+  print_constraints(bds1, "*** bds1 ***");
+
+  BD_Shape<mpz_class> bds2(2, UNIVERSE);
+  bds2.add_constraint(x >= 0);
+  bds2.add_constraint(x <= 2);
+  bds2.add_constraint(y >= -2);
+  bds2.add_constraint(y <= 2);
+
+  print_constraints(bds2, "*** bds2 ***");
+
+  BD_Shape<mpz_class> known_result(bds2);
+
+  bool ok = bds1.integer_upper_bound_assign_if_exact(bds2);
+  ok &= (bds1 == known_result);
+
+  print_constraints(bds1,
+                    "*** bds1.integer_upper_bound_assign_if_exact(bds2) ***");
+
+  return ok;
+}
+
+bool
+test05() {
+  Variable x(0);
+  Variable y(1);
+
+  BD_Shape<mpz_class> bds1(2, UNIVERSE);
+  bds1.add_constraint(x >= 0);
+  bds1.add_constraint(y == 0);
+
+  print_constraints(bds1, "*** bds1 ***");
+
+  BD_Shape<mpz_class> bds2(2, UNIVERSE);
+  bds2.add_constraint(x >= 0);
+  bds2.add_constraint(y >= 2);
+  bds2.add_constraint(y <= 4);
+
+  print_constraints(bds2, "*** bds2 ***");
+
+  BD_Shape<mpz_class> known_result(bds1);
+
+  bool ok = !bds1.integer_upper_bound_assign_if_exact(bds2);
+  ok &= (bds1 == known_result);
+
+  print_constraints(bds1,
+                    "*** bds1.integer_upper_bound_assign_if_exact(bds2) ***");
+
+  return ok;
+}
+
+bool
+test06() {
+  Variable x(0);
+  Variable y(1);
+
+  BD_Shape<mpz_class> bds1(2, UNIVERSE);
+  bds1.add_constraint(x == y);
+
+  print_constraints(bds1, "*** bds1 ***");
+
+  BD_Shape<mpz_class> bds2(2, UNIVERSE);
+  bds2.add_constraint(x == 0);
+
+  print_constraints(bds2, "*** bds2 ***");
+
+  BD_Shape<mpz_class> known_result(bds1);
+
+  bool ok = !bds1.integer_upper_bound_assign_if_exact(bds2);
+  ok &= (bds1 == known_result);
+
+  print_constraints(bds1,
+                    "*** bds1.integer_upper_bound_assign_if_exact(bds2) ***");
+
+  return ok;
+}
+
+bool
+test07() {
+  Variable x(0);
+  Variable y(1);
+
+  BD_Shape<mpz_class> bds1(2, UNIVERSE);
+  bds1.add_constraint(x >= y);
+
+  print_constraints(bds1, "*** bds1 ***");
+
+  BD_Shape<mpz_class> bds2(2, UNIVERSE);
+  bds2.add_constraint(x >= 0);
+
+  print_constraints(bds2, "*** bds2 ***");
+
+  BD_Shape<mpz_class> known_result(bds1);
+
+  bool ok = !bds1.integer_upper_bound_assign_if_exact(bds2);
+  ok &= (bds1 == known_result);
+
+  print_constraints(bds1,
+                    "*** bds1.integer_upper_bound_assign_if_exact(bds2) ***");
+
+  return ok;
+}
+
+bool
+test08() {
+  Variable x(0);
+  Variable y(1);
+
+  BD_Shape<mpz_class> bds1(2, UNIVERSE);
+  bds1.add_constraint(x >= y);
+
+  print_constraints(bds1, "*** bds1 ***");
+
+  BD_Shape<mpz_class> bds2(2, UNIVERSE);
+  bds2.add_constraint(x <= y);
+
+  print_constraints(bds2, "*** bds2 ***");
+
+  BD_Shape<mpz_class> known_result(2, UNIVERSE);
+
+  bool ok = bds1.integer_upper_bound_assign_if_exact(bds2);
+  ok &= (bds1 == known_result);
+
+  print_constraints(bds1,
+                    "*** bds1.integer_upper_bound_assign_if_exact(bds2) ***");
+
+  return ok;
+}
+
+bool
+test09() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+
+  BD_Shape<mpz_class> bds(3, UNIVERSE);
+  bds.add_constraint(x >= 0);
+  bds.add_constraint(x <= 2);
+  bds.add_constraint(y >= 0);
+  bds.add_constraint(y <= 4);
+  bds.add_constraint(z >= 0);
+  bds.add_constraint(z <= 4);
+  bds.add_constraint(x - y <= 2);
+  bds.add_constraint(z - y <= 2);
+
+  BD_Shape<mpz_class> bds1(bds);
+  bds1.add_constraint(z <= 3);
+
+  print_constraints(bds1, "*** bds1 ***");
+
+  BD_Shape<mpz_class> bds2(bds);
+  bds2.add_constraint(x - y <= 1);
+
+  bool ok = bds1.integer_upper_bound_assign_if_exact(bds2);
+
+  ok &= (bds1 == bds);
+
+  print_constraints(bds1,
+                    "*** bds1.integer_upper_bound_assign_if_exact(bds2) ***");
+
+  return ok;
+}
+
+bool
+test10() {
+  // const dimension_type dim = 500;
+  const dimension_type dim = 50;
+  Constraint_System cs;
+  for (dimension_type i = 1; i < dim; ++i) {
+    Variable x(i);
+    cs.insert(x >= 0);
+    cs.insert(x <= 4);
+  }
+
+  Variable x(0);
+
+  BD_Shape<mpz_class> hypercube1(cs);
+  hypercube1.add_constraint(x >= 0);
+  hypercube1.add_constraint(x <= 4);
+
+  BD_Shape<mpz_class> hypercube2(cs);
+  hypercube2.add_constraint(x >= 2);
+  hypercube2.add_constraint(x <= 6);
+
+  BD_Shape<mpz_class> known_result(cs);
+  known_result.add_constraint(x >= 0);
+  known_result.add_constraint(x <= 6);
+
+  bool ok = hypercube1.integer_upper_bound_assign_if_exact(hypercube2);
+
+  ok &= (hypercube1 == known_result);
+
+  print_constraints(hypercube1, "*** hyp1 ***");
+  print_constraints(hypercube2, "*** hyp2 ***");
+
+  return ok;
+}
+
+bool
+test11() {
+  Variable x(0);
+  Variable y(1);
+
+  BD_Shape<mpz_class> bds1(2, UNIVERSE);
+  bds1.add_constraint(x >= 0);
+  bds1.add_constraint(x <= 3);
+  bds1.add_constraint(y >= 0);
+  bds1.add_constraint(y <= 2);
+  bds1.add_constraint(x - y <= 2);
+
+  BD_Shape<mpz_class> bds2(2, UNIVERSE);
+  bds2.add_constraint(x >= 3);
+  bds2.add_constraint(x <= 6);
+  bds2.add_constraint(y >= 0);
+  bds2.add_constraint(y <= 2);
+
+  print_constraints(bds1, "*** bds1 ***");
+  print_constraints(bds2, "*** bds2 ***");
+
+  BD_Shape<mpz_class> known_result(2, UNIVERSE);
+  known_result.add_constraint(x >= 0);
+  known_result.add_constraint(x <= 6);
+  known_result.add_constraint(y >= 0);
+  known_result.add_constraint(y <= 2);
+
+  bool ok = bds1.integer_upper_bound_assign_if_exact(bds2);
+
+  ok &= (bds1 == known_result);
+
+  print_constraints(bds1,
+                    "*** bds1.integer_upper_bound_assign_if_exact(bds2) ***");
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST(test08);
+  DO_TEST(test09);
+  DO_TEST(test10);
+  DO_TEST(test11);
+END_MAIN
diff --git a/tests/BD_Shape/intersection1.cc b/tests/BD_Shape/intersection1.cc
index 44df9f6..2fd9e79 100644
--- a/tests/BD_Shape/intersection1.cc
+++ b/tests/BD_Shape/intersection1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::intersection_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -254,7 +254,7 @@ test08() {
 
   BD_Shape<mpq_class> known_result(bds2);
 
-  bds1.intersection_assign_and_minimize(bds2);
+  bds1.intersection_assign(bds2);
 
   bool ok = check_result(bds1, known_result);
 
@@ -275,9 +275,9 @@ test09() {
 
   try {
     // This is an invalid use of method
-    // BD_Shape::intersection_assign_and_minimize(bds2): it is illegal
+    // BD_Shape::intersection_assign(bds2): it is illegal
     // to apply this method to two polyhedra of different dimensions.
-    bds1.intersection_assign_and_minimize(bds2);
+    bds1.intersection_assign(bds2);
   }
   catch (std::invalid_argument& e) {
     nout << "std::invalid_argument: " << endl;
diff --git a/tests/BD_Shape/limitedbhmz05extrapolation1.cc b/tests/BD_Shape/limitedbhmz05extrapolation1.cc
index 86e0aac..e18c533 100644
--- a/tests/BD_Shape/limitedbhmz05extrapolation1.cc
+++ b/tests/BD_Shape/limitedbhmz05extrapolation1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::limited_BHMZ05_extrapolation_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/limitedcc76extrapolation1.cc b/tests/BD_Shape/limitedcc76extrapolation1.cc
index 8ded1fc..455fd2e 100644
--- a/tests/BD_Shape/limitedcc76extrapolation1.cc
+++ b/tests/BD_Shape/limitedcc76extrapolation1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::limited_CC76_extrapolation_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/limitedh79extrapolation1.cc b/tests/BD_Shape/limitedh79extrapolation1.cc
index 3cdc7e5..04c918c 100644
--- a/tests/BD_Shape/limitedh79extrapolation1.cc
+++ b/tests/BD_Shape/limitedh79extrapolation1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::limited_H79_extrapolation_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/mapspacedims1.cc b/tests/BD_Shape/mapspacedims1.cc
index 2862947..b1ccd31 100644
--- a/tests/BD_Shape/mapspacedims1.cc
+++ b/tests/BD_Shape/mapspacedims1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::map_space_dimensions().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/max_min1.cc b/tests/BD_Shape/max_min1.cc
index 8fdf04f..deb4913 100644
--- a/tests/BD_Shape/max_min1.cc
+++ b/tests/BD_Shape/max_min1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::maximize(const Linear_Expression&, ...)
    and BD_Shape::minimize(const Linear_Expression&, ...).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/max_min2.cc b/tests/BD_Shape/max_min2.cc
index 915035b..ff30b0e 100644
--- a/tests/BD_Shape/max_min2.cc
+++ b/tests/BD_Shape/max_min2.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::maximize(const Linear_Expression&, ...)
    and BD_Shape::minimize(const Linear_Expression&, ...).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/maxspacedim1.cc b/tests/BD_Shape/maxspacedim1.cc
index ce478ec..3d572de 100644
--- a/tests/BD_Shape/maxspacedim1.cc
+++ b/tests/BD_Shape/maxspacedim1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::max_space_dimension().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/membytes1.cc b/tests/BD_Shape/membytes1.cc
index 89360e4..fce552d 100644
--- a/tests/BD_Shape/membytes1.cc
+++ b/tests/BD_Shape/membytes1.cc
@@ -1,5 +1,5 @@
 /* Test the total_memory_in_bytes() and external_memory_in_bytes() methods.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/minconstraints1.cc b/tests/BD_Shape/minconstraints1.cc
index 994dcc2..63aa386 100644
--- a/tests/BD_Shape/minconstraints1.cc
+++ b/tests/BD_Shape/minconstraints1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape<T>::minimized_constraints().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/relations1.cc b/tests/BD_Shape/relations1.cc
index 780d9cd..9ee35d2 100644
--- a/tests/BD_Shape/relations1.cc
+++ b/tests/BD_Shape/relations1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::relation_with().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/relations2.cc b/tests/BD_Shape/relations2.cc
index b313d20..eddb0d5 100644
--- a/tests/BD_Shape/relations2.cc
+++ b/tests/BD_Shape/relations2.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::relation_with().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/relations3.cc b/tests/BD_Shape/relations3.cc
index 0820abf..56bac5f 100644
--- a/tests/BD_Shape/relations3.cc
+++ b/tests/BD_Shape/relations3.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::relation_with().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/relations4.cc b/tests/BD_Shape/relations4.cc
index caf275b..311707c 100644
--- a/tests/BD_Shape/relations4.cc
+++ b/tests/BD_Shape/relations4.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::relation_with().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/removespacedims1.cc b/tests/BD_Shape/removespacedims1.cc
index 00d7b1c..e2f0c64 100644
--- a/tests/BD_Shape/removespacedims1.cc
+++ b/tests/BD_Shape/removespacedims1.cc
@@ -1,5 +1,5 @@
 /* Remove some variables from the space.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/run_tests b/tests/BD_Shape/run_tests
index b0aa753..b634fc8 100755
--- a/tests/BD_Shape/run_tests
+++ b/tests/BD_Shape/run_tests
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # Run the BD_Shape tests.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
diff --git a/tests/BD_Shape/simplifyusingcontext1.cc b/tests/BD_Shape/simplifyusingcontext1.cc
index c10007d..c2ea5c8 100644
--- a/tests/BD_Shape/simplifyusingcontext1.cc
+++ b/tests/BD_Shape/simplifyusingcontext1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::simplify_using_context_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/timeelapse1.cc b/tests/BD_Shape/timeelapse1.cc
index b45bcd7..206e844 100644
--- a/tests/BD_Shape/timeelapse1.cc
+++ b/tests/BD_Shape/timeelapse1.cc
@@ -1,5 +1,5 @@
 /* Test time_elapse_assign() for particular polyhedra.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/unconstrain1.cc b/tests/BD_Shape/unconstrain1.cc
index 5b9c8f8..7481d49 100644
--- a/tests/BD_Shape/unconstrain1.cc
+++ b/tests/BD_Shape/unconstrain1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::unconstrain().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/universe1.cc b/tests/BD_Shape/universe1.cc
index f8478bc..2c28935 100644
--- a/tests/BD_Shape/universe1.cc
+++ b/tests/BD_Shape/universe1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::is_universe().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/upperbound1.cc b/tests/BD_Shape/upperbound1.cc
index 0fa04c4..3455a51 100644
--- a/tests/BD_Shape/upperbound1.cc
+++ b/tests/BD_Shape/upperbound1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::upper_bound_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/upperboundifexact1.cc b/tests/BD_Shape/upperboundifexact1.cc
index 97bb3b5..7e74c98 100644
--- a/tests/BD_Shape/upperboundifexact1.cc
+++ b/tests/BD_Shape/upperboundifexact1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::upper_bound_assign_if_exact().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/wrap1.cc b/tests/BD_Shape/wrap1.cc
new file mode 100644
index 0000000..e639eb5
--- /dev/null
+++ b/tests/BD_Shape/wrap1.cc
@@ -0,0 +1,119 @@
+/* Test BD_Shape::wrap_assign().
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+namespace {
+
+bool
+test01() {
+  Variable x(0);
+  Variable y(1);
+  TBD_Shape bd(2);
+  bd.refine_with_constraint(x >= 224);
+  bd.refine_with_constraint(x <= 260);
+  bd.refine_with_constraint(x-y >= 164);
+  bd.refine_with_constraint(x-y <= 168);
+
+  print_constraints(bd, "*** bd ***");
+
+  Variables_Set vars(x, y);
+
+  bd.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS);
+
+  TBD_Shape known_result(2);
+  typedef TBD_Shape::coefficient_type T;
+  if (!std::numeric_limits<T>::is_bounded
+      || (std::numeric_limits<T>::max() >= 260
+          && (std::numeric_limits<T>::is_iec559
+              || std::numeric_limits<T>::min() <= -260))) {
+    known_result.refine_with_constraint(x >= 0);
+    known_result.refine_with_constraint(x <= 255);
+    known_result.refine_with_constraint(y >= 56);
+    known_result.refine_with_constraint(y <= 96);
+    known_result.refine_with_constraint(x-y <= 168);
+    known_result.refine_with_constraint(y-x <= 92);
+  }
+  else {
+    known_result.refine_with_constraint(x >= 0);
+    known_result.refine_with_constraint(y >= 0);
+  }
+
+  bool ok = (bd == known_result);
+
+  print_constraints(bd, "*** bd.wrap_assign(...) ***");
+  print_constraints(known_result, "*** known_result ***");
+
+  return ok;
+}
+
+bool
+test02() {
+  Variable x(0);
+  Variable y(1);
+  TBD_Shape bd(2);
+  bd.refine_with_constraint(x >= 224);
+  bd.refine_with_constraint(x <= 260);
+  bd.refine_with_constraint(x-y >= 164);
+  bd.refine_with_constraint(x-y <= 168);
+
+  print_constraints(bd, "*** bd ***");
+
+  Variables_Set vars(x, y);
+
+  Constraint_System cs;
+  cs.insert(x <= y);
+
+  bd.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS, &cs);
+
+  TBD_Shape known_result(2);
+  typedef TBD_Shape::coefficient_type_base T;
+  if (!std::numeric_limits<T>::is_bounded
+      || (std::numeric_limits<T>::max() >= 260
+          && (std::numeric_limits<T>::is_iec559
+              || std::numeric_limits<T>::min() <= -260))) {
+    known_result.refine_with_constraint(x >= 0);
+    known_result.refine_with_constraint(x <= 4);
+    known_result.refine_with_constraint(y >= 88);
+    known_result.refine_with_constraint(y-x >= 88);
+    known_result.refine_with_constraint(y-x <= 92);
+  }
+  else {
+    known_result.refine_with_constraint(x >= 0);
+    known_result.refine_with_constraint(y >= 0);
+    known_result.refine_with_constraint(+x-y <= 0);
+  }
+
+  bool ok = (bd == known_result);
+
+  print_constraints(bd, "*** bd.wrap_assign(...) ***");
+  print_constraints(known_result, "*** known_result ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST_F8(test01);
+  DO_TEST_F8(test02);
+END_MAIN
diff --git a/tests/BD_Shape/writebdshape1.cc b/tests/BD_Shape/writebdshape1.cc
index c54f52b..79d2902 100644
--- a/tests/BD_Shape/writebdshape1.cc
+++ b/tests/BD_Shape/writebdshape1.cc
@@ -1,5 +1,5 @@
 /* Test operator<<(ostream&, const BD_Shape&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/Makefile.am b/tests/Box/Makefile.am
index 9be42b2..16cfbfc 100644
--- a/tests/Box/Makefile.am
+++ b/tests/Box/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -77,6 +77,7 @@ empty1 \
 equality1 \
 expandspacedim1 \
 foldspacedims1 \
+frequency1 \
 frombdshape1 \
 frombox1 \
 fromgensys1 \
@@ -100,6 +101,7 @@ propagateconstraints1 propagateconstraints2 \
 relations1 relations2 relations3 relations4 \
 refinewithconstraint1 refinewithconstraint2 \
 refinewithconstraints1 \
+refinewithcongruence1 \
 refinewithcongruences1 \
 removespacedims1 \
 simplifyusingcontext1 \
@@ -109,6 +111,7 @@ unconstrain1 \
 universe1 \
 upperbound1 \
 upperboundifexact1 \
+wrap1 \
 writebox1
 
 DERIVED_TESTS = \
@@ -209,6 +212,8 @@ expandspacedim1_SOURCES = expandspacedim1.cc
 
 foldspacedims1_SOURCES = foldspacedims1.cc
 
+frequency1_SOURCES = frequency1.cc
+
 frombdshape1_SOURCES = frombdshape1.cc
 
 frombox1_SOURCES = frombox1.cc
@@ -255,13 +260,15 @@ relations4_SOURCES = relations4.cc
 propagateconstraints1_SOURCES = propagateconstraints1.cc
 propagateconstraints2_SOURCES = propagateconstraints2.cc
 
+refinewithcongruence1_SOURCES = refinewithcongruence1.cc
+
+refinewithcongruences1_SOURCES = refinewithcongruences1.cc
+
 refinewithconstraint1_SOURCES = refinewithconstraint1.cc
 refinewithconstraint2_SOURCES = refinewithconstraint2.cc
 
 refinewithconstraints1_SOURCES = refinewithconstraints1.cc
 
-refinewithcongruences1_SOURCES = refinewithcongruences1.cc
-
 removespacedims1_SOURCES = removespacedims1.cc
 
 simplifyusingcontext1_SOURCES = simplifyusingcontext1.cc
@@ -278,6 +285,8 @@ upperbound1_SOURCES = upperbound1.cc
 
 upperboundifexact1_SOURCES = upperboundifexact1.cc
 
+wrap1_SOURCES = wrap1.cc
+
 writebox1_SOURCES = writebox1.cc
 
 refinewithconstraints2_SRCS = refinewithconstraints2.cc
diff --git a/tests/Box/Makefile.in b/tests/Box/Makefile.in
index 3f6f57c..01d9b11 100644
--- a/tests/Box/Makefile.in
+++ b/tests/Box/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -37,8 +38,9 @@
 # site: http://www.cs.unipr.it/ppl/ .
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -65,6 +67,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -86,12 +89,13 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 am__EXEEXT_1 = addconstraints1$(EXEEXT) addspacedims1$(EXEEXT) \
 	affinedimension1$(EXEEXT) affineimage1$(EXEEXT) \
 	affinepreimage1$(EXEEXT) ascii_dump_load1$(EXEEXT) \
@@ -104,11 +108,11 @@ am__EXEEXT_1 = addconstraints1$(EXEEXT) addspacedims1$(EXEEXT) \
 	containsintegerpoint1$(EXEEXT) difference1$(EXEEXT) \
 	discrete1$(EXEEXT) disjoint1$(EXEEXT) empty1$(EXEEXT) \
 	equality1$(EXEEXT) expandspacedim1$(EXEEXT) \
-	foldspacedims1$(EXEEXT) frombdshape1$(EXEEXT) \
-	frombox1$(EXEEXT) fromgensys1$(EXEEXT) fromgrid1$(EXEEXT) \
-	frompartiallyreducedproduct1$(EXEEXT) frompolyhedron1$(EXEEXT) \
-	frompolyhedron2$(EXEEXT) fromspacedim1$(EXEEXT) \
-	generalizedaffineimage1$(EXEEXT) \
+	foldspacedims1$(EXEEXT) frequency1$(EXEEXT) \
+	frombdshape1$(EXEEXT) frombox1$(EXEEXT) fromgensys1$(EXEEXT) \
+	fromgrid1$(EXEEXT) frompartiallyreducedproduct1$(EXEEXT) \
+	frompolyhedron1$(EXEEXT) frompolyhedron2$(EXEEXT) \
+	fromspacedim1$(EXEEXT) generalizedaffineimage1$(EXEEXT) \
 	generalizedaffineimage2$(EXEEXT) \
 	generalizedaffinepreimage1$(EXEEXT) geomcovers1$(EXEEXT) \
 	intersection1$(EXEEXT) interval1$(EXEEXT) \
@@ -118,12 +122,12 @@ am__EXEEXT_1 = addconstraints1$(EXEEXT) addspacedims1$(EXEEXT) \
 	propagateconstraints2$(EXEEXT) relations1$(EXEEXT) \
 	relations2$(EXEEXT) relations3$(EXEEXT) relations4$(EXEEXT) \
 	refinewithconstraint1$(EXEEXT) refinewithconstraint2$(EXEEXT) \
-	refinewithconstraints1$(EXEEXT) \
+	refinewithconstraints1$(EXEEXT) refinewithcongruence1$(EXEEXT) \
 	refinewithcongruences1$(EXEEXT) removespacedims1$(EXEEXT) \
 	simplifyusingcontext1$(EXEEXT) timeelapse1$(EXEEXT) \
 	topclosed1$(EXEEXT) unconstrain1$(EXEEXT) universe1$(EXEEXT) \
 	upperbound1$(EXEEXT) upperboundifexact1$(EXEEXT) \
-	writebox1$(EXEEXT)
+	wrap1$(EXEEXT) writebox1$(EXEEXT)
 am__EXEEXT_2 = nnc_frompolyhedron1$(EXEEXT)
 @BUILD_WATCHDOG_LIBRARY_TRUE at am__EXEEXT_3 =  \
 @BUILD_WATCHDOG_LIBRARY_TRUE@	refinewithconstraints2$(EXEEXT)
@@ -135,6 +139,9 @@ addconstraints1_LDADD = $(LDADD)
 addconstraints1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
 am_addspacedims1_OBJECTS = addspacedims1.$(OBJEXT)
 addspacedims1_OBJECTS = $(am_addspacedims1_OBJECTS)
 addspacedims1_LDADD = $(LDADD)
@@ -289,6 +296,12 @@ foldspacedims1_LDADD = $(LDADD)
 foldspacedims1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_frequency1_OBJECTS = frequency1.$(OBJEXT)
+frequency1_OBJECTS = $(am_frequency1_OBJECTS)
+frequency1_LDADD = $(LDADD)
+frequency1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_frombdshape1_OBJECTS = frombdshape1.$(OBJEXT)
 frombdshape1_OBJECTS = $(am_frombdshape1_OBJECTS)
 frombdshape1_LDADD = $(LDADD)
@@ -432,8 +445,8 @@ nnc_frompolyhedron1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_frompolyhedron1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_frompolyhedron1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_frompolyhedron1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_propagateconstraints1_OBJECTS = propagateconstraints1.$(OBJEXT)
@@ -450,6 +463,13 @@ propagateconstraints2_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_refinewithcongruence1_OBJECTS = refinewithcongruence1.$(OBJEXT)
+refinewithcongruence1_OBJECTS = $(am_refinewithcongruence1_OBJECTS)
+refinewithcongruence1_LDADD = $(LDADD)
+refinewithcongruence1_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_refinewithcongruences1_OBJECTS = refinewithcongruences1.$(OBJEXT)
 refinewithcongruences1_OBJECTS = $(am_refinewithcongruences1_OBJECTS)
 refinewithcongruences1_LDADD = $(LDADD)
@@ -564,6 +584,12 @@ upperboundifexact1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_wrap1_OBJECTS = wrap1.$(OBJEXT)
+wrap1_OBJECTS = $(am_wrap1_OBJECTS)
+wrap1_LDADD = $(LDADD)
+wrap1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_writebox1_OBJECTS = writebox1.$(OBJEXT)
 writebox1_OBJECTS = $(am_writebox1_OBJECTS)
 writebox1_LDADD = $(LDADD)
@@ -573,15 +599,29 @@ writebox1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_$(V))
+am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+am__v_CXX_0 = @echo "  CXX   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_$(V))
+am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(addconstraints1_SOURCES) $(addspacedims1_SOURCES) \
 	$(affinedimension1_SOURCES) $(affineimage1_SOURCES) \
 	$(affinepreimage1_SOURCES) $(ascii_dump_load1_SOURCES) \
@@ -594,9 +634,10 @@ SOURCES = $(addconstraints1_SOURCES) $(addspacedims1_SOURCES) \
 	$(containsintegerpoint1_SOURCES) $(difference1_SOURCES) \
 	$(discrete1_SOURCES) $(disjoint1_SOURCES) $(empty1_SOURCES) \
 	$(equality1_SOURCES) $(expandspacedim1_SOURCES) \
-	$(foldspacedims1_SOURCES) $(frombdshape1_SOURCES) \
-	$(frombox1_SOURCES) $(fromgensys1_SOURCES) \
-	$(fromgrid1_SOURCES) $(frompartiallyreducedproduct1_SOURCES) \
+	$(foldspacedims1_SOURCES) $(frequency1_SOURCES) \
+	$(frombdshape1_SOURCES) $(frombox1_SOURCES) \
+	$(fromgensys1_SOURCES) $(fromgrid1_SOURCES) \
+	$(frompartiallyreducedproduct1_SOURCES) \
 	$(frompolyhedron1_SOURCES) $(frompolyhedron2_SOURCES) \
 	$(fromspacedim1_SOURCES) $(generalizedaffineimage1_SOURCES) \
 	$(generalizedaffineimage2_SOURCES) \
@@ -608,6 +649,7 @@ SOURCES = $(addconstraints1_SOURCES) $(addspacedims1_SOURCES) \
 	$(nnc_frompolyhedron1_SOURCES) \
 	$(propagateconstraints1_SOURCES) \
 	$(propagateconstraints2_SOURCES) \
+	$(refinewithcongruence1_SOURCES) \
 	$(refinewithcongruences1_SOURCES) \
 	$(refinewithconstraint1_SOURCES) \
 	$(refinewithconstraint2_SOURCES) \
@@ -618,7 +660,8 @@ SOURCES = $(addconstraints1_SOURCES) $(addspacedims1_SOURCES) \
 	$(simplifyusingcontext1_SOURCES) $(timeelapse1_SOURCES) \
 	$(topclosed1_SOURCES) $(unconstrain1_SOURCES) \
 	$(universe1_SOURCES) $(upperbound1_SOURCES) \
-	$(upperboundifexact1_SOURCES) $(writebox1_SOURCES)
+	$(upperboundifexact1_SOURCES) $(wrap1_SOURCES) \
+	$(writebox1_SOURCES)
 DIST_SOURCES = $(addconstraints1_SOURCES) $(addspacedims1_SOURCES) \
 	$(affinedimension1_SOURCES) $(affineimage1_SOURCES) \
 	$(affinepreimage1_SOURCES) $(ascii_dump_load1_SOURCES) \
@@ -631,9 +674,10 @@ DIST_SOURCES = $(addconstraints1_SOURCES) $(addspacedims1_SOURCES) \
 	$(containsintegerpoint1_SOURCES) $(difference1_SOURCES) \
 	$(discrete1_SOURCES) $(disjoint1_SOURCES) $(empty1_SOURCES) \
 	$(equality1_SOURCES) $(expandspacedim1_SOURCES) \
-	$(foldspacedims1_SOURCES) $(frombdshape1_SOURCES) \
-	$(frombox1_SOURCES) $(fromgensys1_SOURCES) \
-	$(fromgrid1_SOURCES) $(frompartiallyreducedproduct1_SOURCES) \
+	$(foldspacedims1_SOURCES) $(frequency1_SOURCES) \
+	$(frombdshape1_SOURCES) $(frombox1_SOURCES) \
+	$(fromgensys1_SOURCES) $(fromgrid1_SOURCES) \
+	$(frompartiallyreducedproduct1_SOURCES) \
 	$(frompolyhedron1_SOURCES) $(frompolyhedron2_SOURCES) \
 	$(fromspacedim1_SOURCES) $(generalizedaffineimage1_SOURCES) \
 	$(generalizedaffineimage2_SOURCES) \
@@ -645,6 +689,7 @@ DIST_SOURCES = $(addconstraints1_SOURCES) $(addspacedims1_SOURCES) \
 	$(nnc_frompolyhedron1_SOURCES) \
 	$(propagateconstraints1_SOURCES) \
 	$(propagateconstraints2_SOURCES) \
+	$(refinewithcongruence1_SOURCES) \
 	$(refinewithcongruences1_SOURCES) \
 	$(refinewithconstraint1_SOURCES) \
 	$(refinewithconstraint2_SOURCES) \
@@ -656,12 +701,15 @@ DIST_SOURCES = $(addconstraints1_SOURCES) $(addspacedims1_SOURCES) \
 	$(timeelapse1_SOURCES) $(topclosed1_SOURCES) \
 	$(unconstrain1_SOURCES) $(universe1_SOURCES) \
 	$(upperbound1_SOURCES) $(upperboundifexact1_SOURCES) \
-	$(writebox1_SOURCES)
+	$(wrap1_SOURCES) $(writebox1_SOURCES)
 ETAGS = etags
 CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -708,6 +756,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -725,8 +775,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -734,6 +794,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -750,12 +811,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -798,11 +862,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -832,6 +894,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -839,6 +902,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 @VALGRIND_TESTS_ENABLED_FALSE at CHECKER = 
 @VALGRIND_TESTS_ENABLED_TRUE at CHECKER = \
 @VALGRIND_TESTS_ENABLED_TRUE@$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
@@ -888,6 +952,7 @@ empty1 \
 equality1 \
 expandspacedim1 \
 foldspacedims1 \
+frequency1 \
 frombdshape1 \
 frombox1 \
 fromgensys1 \
@@ -911,6 +976,7 @@ propagateconstraints1 propagateconstraints2 \
 relations1 relations2 relations3 relations4 \
 refinewithconstraint1 refinewithconstraint2 \
 refinewithconstraints1 \
+refinewithcongruence1 \
 refinewithcongruences1 \
 removespacedims1 \
 simplifyusingcontext1 \
@@ -920,6 +986,7 @@ unconstrain1 \
 universe1 \
 upperbound1 \
 upperboundifexact1 \
+wrap1 \
 writebox1
 
 DERIVED_TESTS = \
@@ -972,6 +1039,7 @@ empty1_SOURCES = empty1.cc
 equality1_SOURCES = equality1.cc
 expandspacedim1_SOURCES = expandspacedim1.cc
 foldspacedims1_SOURCES = foldspacedims1.cc
+frequency1_SOURCES = frequency1.cc
 frombdshape1_SOURCES = frombdshape1.cc
 frombox1_SOURCES = frombox1.cc
 fromgensys1_SOURCES = fromgensys1.cc
@@ -998,10 +1066,11 @@ relations3_SOURCES = relations3.cc
 relations4_SOURCES = relations4.cc
 propagateconstraints1_SOURCES = propagateconstraints1.cc
 propagateconstraints2_SOURCES = propagateconstraints2.cc
+refinewithcongruence1_SOURCES = refinewithcongruence1.cc
+refinewithcongruences1_SOURCES = refinewithcongruences1.cc
 refinewithconstraint1_SOURCES = refinewithconstraint1.cc
 refinewithconstraint2_SOURCES = refinewithconstraint2.cc
 refinewithconstraints1_SOURCES = refinewithconstraints1.cc
-refinewithcongruences1_SOURCES = refinewithcongruences1.cc
 removespacedims1_SOURCES = removespacedims1.cc
 simplifyusingcontext1_SOURCES = simplifyusingcontext1.cc
 timeelapse1_SOURCES = timeelapse1.cc
@@ -1010,6 +1079,7 @@ unconstrain1_SOURCES = unconstrain1.cc
 universe1_SOURCES = universe1.cc
 upperbound1_SOURCES = upperbound1.cc
 upperboundifexact1_SOURCES = upperboundifexact1.cc
+wrap1_SOURCES = wrap1.cc
 writebox1_SOURCES = writebox1.cc
 refinewithconstraints2_SRCS = refinewithconstraints2.cc
 @BUILD_WATCHDOG_LIBRARY_TRUE at WATCHDOG_TESTS = refinewithconstraints2
@@ -1046,14 +1116,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  tests/Box/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  tests/Box/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/Box/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign tests/Box/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -1071,214 +1141,226 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 clean-checkPROGRAMS:
-	@list='$(check_PROGRAMS)'; for p in $$list; do \
-	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  echo " rm -f $$p $$f"; \
-	  rm -f $$p $$f ; \
-	done
+	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
 addconstraints1$(EXEEXT): $(addconstraints1_OBJECTS) $(addconstraints1_DEPENDENCIES) 
 	@rm -f addconstraints1$(EXEEXT)
-	$(CXXLINK) $(addconstraints1_OBJECTS) $(addconstraints1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(addconstraints1_OBJECTS) $(addconstraints1_LDADD) $(LIBS)
 addspacedims1$(EXEEXT): $(addspacedims1_OBJECTS) $(addspacedims1_DEPENDENCIES) 
 	@rm -f addspacedims1$(EXEEXT)
-	$(CXXLINK) $(addspacedims1_OBJECTS) $(addspacedims1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(addspacedims1_OBJECTS) $(addspacedims1_LDADD) $(LIBS)
 affinedimension1$(EXEEXT): $(affinedimension1_OBJECTS) $(affinedimension1_DEPENDENCIES) 
 	@rm -f affinedimension1$(EXEEXT)
-	$(CXXLINK) $(affinedimension1_OBJECTS) $(affinedimension1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(affinedimension1_OBJECTS) $(affinedimension1_LDADD) $(LIBS)
 affineimage1$(EXEEXT): $(affineimage1_OBJECTS) $(affineimage1_DEPENDENCIES) 
 	@rm -f affineimage1$(EXEEXT)
-	$(CXXLINK) $(affineimage1_OBJECTS) $(affineimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(affineimage1_OBJECTS) $(affineimage1_LDADD) $(LIBS)
 affinepreimage1$(EXEEXT): $(affinepreimage1_OBJECTS) $(affinepreimage1_DEPENDENCIES) 
 	@rm -f affinepreimage1$(EXEEXT)
-	$(CXXLINK) $(affinepreimage1_OBJECTS) $(affinepreimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(affinepreimage1_OBJECTS) $(affinepreimage1_LDADD) $(LIBS)
 ascii_dump_load1$(EXEEXT): $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_DEPENDENCIES) 
 	@rm -f ascii_dump_load1$(EXEEXT)
-	$(CXXLINK) $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_LDADD) $(LIBS)
 bgp99extrapolation1$(EXEEXT): $(bgp99extrapolation1_OBJECTS) $(bgp99extrapolation1_DEPENDENCIES) 
 	@rm -f bgp99extrapolation1$(EXEEXT)
-	$(CXXLINK) $(bgp99extrapolation1_OBJECTS) $(bgp99extrapolation1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(bgp99extrapolation1_OBJECTS) $(bgp99extrapolation1_LDADD) $(LIBS)
 bhz03widening1$(EXEEXT): $(bhz03widening1_OBJECTS) $(bhz03widening1_DEPENDENCIES) 
 	@rm -f bhz03widening1$(EXEEXT)
-	$(CXXLINK) $(bhz03widening1_OBJECTS) $(bhz03widening1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(bhz03widening1_OBJECTS) $(bhz03widening1_LDADD) $(LIBS)
 bounded1$(EXEEXT): $(bounded1_OBJECTS) $(bounded1_DEPENDENCIES) 
 	@rm -f bounded1$(EXEEXT)
-	$(CXXLINK) $(bounded1_OBJECTS) $(bounded1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(bounded1_OBJECTS) $(bounded1_LDADD) $(LIBS)
 boundedaffineimage1$(EXEEXT): $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_DEPENDENCIES) 
 	@rm -f boundedaffineimage1$(EXEEXT)
-	$(CXXLINK) $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_LDADD) $(LIBS)
 boundedaffinepreimage1$(EXEEXT): $(boundedaffinepreimage1_OBJECTS) $(boundedaffinepreimage1_DEPENDENCIES) 
 	@rm -f boundedaffinepreimage1$(EXEEXT)
-	$(CXXLINK) $(boundedaffinepreimage1_OBJECTS) $(boundedaffinepreimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(boundedaffinepreimage1_OBJECTS) $(boundedaffinepreimage1_LDADD) $(LIBS)
 cc76narrowing1$(EXEEXT): $(cc76narrowing1_OBJECTS) $(cc76narrowing1_DEPENDENCIES) 
 	@rm -f cc76narrowing1$(EXEEXT)
-	$(CXXLINK) $(cc76narrowing1_OBJECTS) $(cc76narrowing1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(cc76narrowing1_OBJECTS) $(cc76narrowing1_LDADD) $(LIBS)
 cc76widening$(EXEEXT): $(cc76widening_OBJECTS) $(cc76widening_DEPENDENCIES) 
 	@rm -f cc76widening$(EXEEXT)
-	$(CXXLINK) $(cc76widening_OBJECTS) $(cc76widening_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(cc76widening_OBJECTS) $(cc76widening_LDADD) $(LIBS)
 concatenate1$(EXEEXT): $(concatenate1_OBJECTS) $(concatenate1_DEPENDENCIES) 
 	@rm -f concatenate1$(EXEEXT)
-	$(CXXLINK) $(concatenate1_OBJECTS) $(concatenate1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(concatenate1_OBJECTS) $(concatenate1_LDADD) $(LIBS)
 congruences1$(EXEEXT): $(congruences1_OBJECTS) $(congruences1_DEPENDENCIES) 
 	@rm -f congruences1$(EXEEXT)
-	$(CXXLINK) $(congruences1_OBJECTS) $(congruences1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(congruences1_OBJECTS) $(congruences1_LDADD) $(LIBS)
 constrains1$(EXEEXT): $(constrains1_OBJECTS) $(constrains1_DEPENDENCIES) 
 	@rm -f constrains1$(EXEEXT)
-	$(CXXLINK) $(constrains1_OBJECTS) $(constrains1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(constrains1_OBJECTS) $(constrains1_LDADD) $(LIBS)
 constraints1$(EXEEXT): $(constraints1_OBJECTS) $(constraints1_DEPENDENCIES) 
 	@rm -f constraints1$(EXEEXT)
-	$(CXXLINK) $(constraints1_OBJECTS) $(constraints1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(constraints1_OBJECTS) $(constraints1_LDADD) $(LIBS)
 contains1$(EXEEXT): $(contains1_OBJECTS) $(contains1_DEPENDENCIES) 
 	@rm -f contains1$(EXEEXT)
-	$(CXXLINK) $(contains1_OBJECTS) $(contains1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(contains1_OBJECTS) $(contains1_LDADD) $(LIBS)
 containsintegerpoint1$(EXEEXT): $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_DEPENDENCIES) 
 	@rm -f containsintegerpoint1$(EXEEXT)
-	$(CXXLINK) $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_LDADD) $(LIBS)
 difference1$(EXEEXT): $(difference1_OBJECTS) $(difference1_DEPENDENCIES) 
 	@rm -f difference1$(EXEEXT)
-	$(CXXLINK) $(difference1_OBJECTS) $(difference1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(difference1_OBJECTS) $(difference1_LDADD) $(LIBS)
 discrete1$(EXEEXT): $(discrete1_OBJECTS) $(discrete1_DEPENDENCIES) 
 	@rm -f discrete1$(EXEEXT)
-	$(CXXLINK) $(discrete1_OBJECTS) $(discrete1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(discrete1_OBJECTS) $(discrete1_LDADD) $(LIBS)
 disjoint1$(EXEEXT): $(disjoint1_OBJECTS) $(disjoint1_DEPENDENCIES) 
 	@rm -f disjoint1$(EXEEXT)
-	$(CXXLINK) $(disjoint1_OBJECTS) $(disjoint1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(disjoint1_OBJECTS) $(disjoint1_LDADD) $(LIBS)
 empty1$(EXEEXT): $(empty1_OBJECTS) $(empty1_DEPENDENCIES) 
 	@rm -f empty1$(EXEEXT)
-	$(CXXLINK) $(empty1_OBJECTS) $(empty1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(empty1_OBJECTS) $(empty1_LDADD) $(LIBS)
 equality1$(EXEEXT): $(equality1_OBJECTS) $(equality1_DEPENDENCIES) 
 	@rm -f equality1$(EXEEXT)
-	$(CXXLINK) $(equality1_OBJECTS) $(equality1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(equality1_OBJECTS) $(equality1_LDADD) $(LIBS)
 expandspacedim1$(EXEEXT): $(expandspacedim1_OBJECTS) $(expandspacedim1_DEPENDENCIES) 
 	@rm -f expandspacedim1$(EXEEXT)
-	$(CXXLINK) $(expandspacedim1_OBJECTS) $(expandspacedim1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(expandspacedim1_OBJECTS) $(expandspacedim1_LDADD) $(LIBS)
 foldspacedims1$(EXEEXT): $(foldspacedims1_OBJECTS) $(foldspacedims1_DEPENDENCIES) 
 	@rm -f foldspacedims1$(EXEEXT)
-	$(CXXLINK) $(foldspacedims1_OBJECTS) $(foldspacedims1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(foldspacedims1_OBJECTS) $(foldspacedims1_LDADD) $(LIBS)
+frequency1$(EXEEXT): $(frequency1_OBJECTS) $(frequency1_DEPENDENCIES) 
+	@rm -f frequency1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(frequency1_OBJECTS) $(frequency1_LDADD) $(LIBS)
 frombdshape1$(EXEEXT): $(frombdshape1_OBJECTS) $(frombdshape1_DEPENDENCIES) 
 	@rm -f frombdshape1$(EXEEXT)
-	$(CXXLINK) $(frombdshape1_OBJECTS) $(frombdshape1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(frombdshape1_OBJECTS) $(frombdshape1_LDADD) $(LIBS)
 frombox1$(EXEEXT): $(frombox1_OBJECTS) $(frombox1_DEPENDENCIES) 
 	@rm -f frombox1$(EXEEXT)
-	$(CXXLINK) $(frombox1_OBJECTS) $(frombox1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(frombox1_OBJECTS) $(frombox1_LDADD) $(LIBS)
 fromgensys1$(EXEEXT): $(fromgensys1_OBJECTS) $(fromgensys1_DEPENDENCIES) 
 	@rm -f fromgensys1$(EXEEXT)
-	$(CXXLINK) $(fromgensys1_OBJECTS) $(fromgensys1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(fromgensys1_OBJECTS) $(fromgensys1_LDADD) $(LIBS)
 fromgrid1$(EXEEXT): $(fromgrid1_OBJECTS) $(fromgrid1_DEPENDENCIES) 
 	@rm -f fromgrid1$(EXEEXT)
-	$(CXXLINK) $(fromgrid1_OBJECTS) $(fromgrid1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(fromgrid1_OBJECTS) $(fromgrid1_LDADD) $(LIBS)
 frompartiallyreducedproduct1$(EXEEXT): $(frompartiallyreducedproduct1_OBJECTS) $(frompartiallyreducedproduct1_DEPENDENCIES) 
 	@rm -f frompartiallyreducedproduct1$(EXEEXT)
-	$(CXXLINK) $(frompartiallyreducedproduct1_OBJECTS) $(frompartiallyreducedproduct1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(frompartiallyreducedproduct1_OBJECTS) $(frompartiallyreducedproduct1_LDADD) $(LIBS)
 frompolyhedron1$(EXEEXT): $(frompolyhedron1_OBJECTS) $(frompolyhedron1_DEPENDENCIES) 
 	@rm -f frompolyhedron1$(EXEEXT)
-	$(CXXLINK) $(frompolyhedron1_OBJECTS) $(frompolyhedron1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(frompolyhedron1_OBJECTS) $(frompolyhedron1_LDADD) $(LIBS)
 frompolyhedron2$(EXEEXT): $(frompolyhedron2_OBJECTS) $(frompolyhedron2_DEPENDENCIES) 
 	@rm -f frompolyhedron2$(EXEEXT)
-	$(CXXLINK) $(frompolyhedron2_OBJECTS) $(frompolyhedron2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(frompolyhedron2_OBJECTS) $(frompolyhedron2_LDADD) $(LIBS)
 fromspacedim1$(EXEEXT): $(fromspacedim1_OBJECTS) $(fromspacedim1_DEPENDENCIES) 
 	@rm -f fromspacedim1$(EXEEXT)
-	$(CXXLINK) $(fromspacedim1_OBJECTS) $(fromspacedim1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(fromspacedim1_OBJECTS) $(fromspacedim1_LDADD) $(LIBS)
 generalizedaffineimage1$(EXEEXT): $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_DEPENDENCIES) 
 	@rm -f generalizedaffineimage1$(EXEEXT)
-	$(CXXLINK) $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_LDADD) $(LIBS)
 generalizedaffineimage2$(EXEEXT): $(generalizedaffineimage2_OBJECTS) $(generalizedaffineimage2_DEPENDENCIES) 
 	@rm -f generalizedaffineimage2$(EXEEXT)
-	$(CXXLINK) $(generalizedaffineimage2_OBJECTS) $(generalizedaffineimage2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffineimage2_OBJECTS) $(generalizedaffineimage2_LDADD) $(LIBS)
 generalizedaffinepreimage1$(EXEEXT): $(generalizedaffinepreimage1_OBJECTS) $(generalizedaffinepreimage1_DEPENDENCIES) 
 	@rm -f generalizedaffinepreimage1$(EXEEXT)
-	$(CXXLINK) $(generalizedaffinepreimage1_OBJECTS) $(generalizedaffinepreimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffinepreimage1_OBJECTS) $(generalizedaffinepreimage1_LDADD) $(LIBS)
 geomcovers1$(EXEEXT): $(geomcovers1_OBJECTS) $(geomcovers1_DEPENDENCIES) 
 	@rm -f geomcovers1$(EXEEXT)
-	$(CXXLINK) $(geomcovers1_OBJECTS) $(geomcovers1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(geomcovers1_OBJECTS) $(geomcovers1_LDADD) $(LIBS)
 intersection1$(EXEEXT): $(intersection1_OBJECTS) $(intersection1_DEPENDENCIES) 
 	@rm -f intersection1$(EXEEXT)
-	$(CXXLINK) $(intersection1_OBJECTS) $(intersection1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(intersection1_OBJECTS) $(intersection1_LDADD) $(LIBS)
 interval1$(EXEEXT): $(interval1_OBJECTS) $(interval1_DEPENDENCIES) 
 	@rm -f interval1$(EXEEXT)
-	$(CXXLINK) $(interval1_OBJECTS) $(interval1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(interval1_OBJECTS) $(interval1_LDADD) $(LIBS)
 limitedcc76extrapolation1$(EXEEXT): $(limitedcc76extrapolation1_OBJECTS) $(limitedcc76extrapolation1_DEPENDENCIES) 
 	@rm -f limitedcc76extrapolation1$(EXEEXT)
-	$(CXXLINK) $(limitedcc76extrapolation1_OBJECTS) $(limitedcc76extrapolation1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(limitedcc76extrapolation1_OBJECTS) $(limitedcc76extrapolation1_LDADD) $(LIBS)
 mapspacedims1$(EXEEXT): $(mapspacedims1_OBJECTS) $(mapspacedims1_DEPENDENCIES) 
 	@rm -f mapspacedims1$(EXEEXT)
-	$(CXXLINK) $(mapspacedims1_OBJECTS) $(mapspacedims1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(mapspacedims1_OBJECTS) $(mapspacedims1_LDADD) $(LIBS)
 max_min1$(EXEEXT): $(max_min1_OBJECTS) $(max_min1_DEPENDENCIES) 
 	@rm -f max_min1$(EXEEXT)
-	$(CXXLINK) $(max_min1_OBJECTS) $(max_min1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(max_min1_OBJECTS) $(max_min1_LDADD) $(LIBS)
 maxspacedim1$(EXEEXT): $(maxspacedim1_OBJECTS) $(maxspacedim1_DEPENDENCIES) 
 	@rm -f maxspacedim1$(EXEEXT)
-	$(CXXLINK) $(maxspacedim1_OBJECTS) $(maxspacedim1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(maxspacedim1_OBJECTS) $(maxspacedim1_LDADD) $(LIBS)
 membytes1$(EXEEXT): $(membytes1_OBJECTS) $(membytes1_DEPENDENCIES) 
 	@rm -f membytes1$(EXEEXT)
-	$(CXXLINK) $(membytes1_OBJECTS) $(membytes1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(membytes1_OBJECTS) $(membytes1_LDADD) $(LIBS)
 minconstraints1$(EXEEXT): $(minconstraints1_OBJECTS) $(minconstraints1_DEPENDENCIES) 
 	@rm -f minconstraints1$(EXEEXT)
-	$(CXXLINK) $(minconstraints1_OBJECTS) $(minconstraints1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(minconstraints1_OBJECTS) $(minconstraints1_LDADD) $(LIBS)
 nnc_frompolyhedron1$(EXEEXT): $(nnc_frompolyhedron1_OBJECTS) $(nnc_frompolyhedron1_DEPENDENCIES) 
 	@rm -f nnc_frompolyhedron1$(EXEEXT)
-	$(nnc_frompolyhedron1_LINK) $(nnc_frompolyhedron1_OBJECTS) $(nnc_frompolyhedron1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_frompolyhedron1_LINK) $(nnc_frompolyhedron1_OBJECTS) $(nnc_frompolyhedron1_LDADD) $(LIBS)
 propagateconstraints1$(EXEEXT): $(propagateconstraints1_OBJECTS) $(propagateconstraints1_DEPENDENCIES) 
 	@rm -f propagateconstraints1$(EXEEXT)
-	$(CXXLINK) $(propagateconstraints1_OBJECTS) $(propagateconstraints1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(propagateconstraints1_OBJECTS) $(propagateconstraints1_LDADD) $(LIBS)
 propagateconstraints2$(EXEEXT): $(propagateconstraints2_OBJECTS) $(propagateconstraints2_DEPENDENCIES) 
 	@rm -f propagateconstraints2$(EXEEXT)
-	$(CXXLINK) $(propagateconstraints2_OBJECTS) $(propagateconstraints2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(propagateconstraints2_OBJECTS) $(propagateconstraints2_LDADD) $(LIBS)
+refinewithcongruence1$(EXEEXT): $(refinewithcongruence1_OBJECTS) $(refinewithcongruence1_DEPENDENCIES) 
+	@rm -f refinewithcongruence1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(refinewithcongruence1_OBJECTS) $(refinewithcongruence1_LDADD) $(LIBS)
 refinewithcongruences1$(EXEEXT): $(refinewithcongruences1_OBJECTS) $(refinewithcongruences1_DEPENDENCIES) 
 	@rm -f refinewithcongruences1$(EXEEXT)
-	$(CXXLINK) $(refinewithcongruences1_OBJECTS) $(refinewithcongruences1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(refinewithcongruences1_OBJECTS) $(refinewithcongruences1_LDADD) $(LIBS)
 refinewithconstraint1$(EXEEXT): $(refinewithconstraint1_OBJECTS) $(refinewithconstraint1_DEPENDENCIES) 
 	@rm -f refinewithconstraint1$(EXEEXT)
-	$(CXXLINK) $(refinewithconstraint1_OBJECTS) $(refinewithconstraint1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(refinewithconstraint1_OBJECTS) $(refinewithconstraint1_LDADD) $(LIBS)
 refinewithconstraint2$(EXEEXT): $(refinewithconstraint2_OBJECTS) $(refinewithconstraint2_DEPENDENCIES) 
 	@rm -f refinewithconstraint2$(EXEEXT)
-	$(CXXLINK) $(refinewithconstraint2_OBJECTS) $(refinewithconstraint2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(refinewithconstraint2_OBJECTS) $(refinewithconstraint2_LDADD) $(LIBS)
 refinewithconstraints1$(EXEEXT): $(refinewithconstraints1_OBJECTS) $(refinewithconstraints1_DEPENDENCIES) 
 	@rm -f refinewithconstraints1$(EXEEXT)
-	$(CXXLINK) $(refinewithconstraints1_OBJECTS) $(refinewithconstraints1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(refinewithconstraints1_OBJECTS) $(refinewithconstraints1_LDADD) $(LIBS)
 refinewithconstraints2$(EXEEXT): $(refinewithconstraints2_OBJECTS) $(refinewithconstraints2_DEPENDENCIES) 
 	@rm -f refinewithconstraints2$(EXEEXT)
-	$(CXXLINK) $(refinewithconstraints2_OBJECTS) $(refinewithconstraints2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(refinewithconstraints2_OBJECTS) $(refinewithconstraints2_LDADD) $(LIBS)
 relations1$(EXEEXT): $(relations1_OBJECTS) $(relations1_DEPENDENCIES) 
 	@rm -f relations1$(EXEEXT)
-	$(CXXLINK) $(relations1_OBJECTS) $(relations1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(relations1_OBJECTS) $(relations1_LDADD) $(LIBS)
 relations2$(EXEEXT): $(relations2_OBJECTS) $(relations2_DEPENDENCIES) 
 	@rm -f relations2$(EXEEXT)
-	$(CXXLINK) $(relations2_OBJECTS) $(relations2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(relations2_OBJECTS) $(relations2_LDADD) $(LIBS)
 relations3$(EXEEXT): $(relations3_OBJECTS) $(relations3_DEPENDENCIES) 
 	@rm -f relations3$(EXEEXT)
-	$(CXXLINK) $(relations3_OBJECTS) $(relations3_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(relations3_OBJECTS) $(relations3_LDADD) $(LIBS)
 relations4$(EXEEXT): $(relations4_OBJECTS) $(relations4_DEPENDENCIES) 
 	@rm -f relations4$(EXEEXT)
-	$(CXXLINK) $(relations4_OBJECTS) $(relations4_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(relations4_OBJECTS) $(relations4_LDADD) $(LIBS)
 removespacedims1$(EXEEXT): $(removespacedims1_OBJECTS) $(removespacedims1_DEPENDENCIES) 
 	@rm -f removespacedims1$(EXEEXT)
-	$(CXXLINK) $(removespacedims1_OBJECTS) $(removespacedims1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(removespacedims1_OBJECTS) $(removespacedims1_LDADD) $(LIBS)
 simplifyusingcontext1$(EXEEXT): $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_DEPENDENCIES) 
 	@rm -f simplifyusingcontext1$(EXEEXT)
-	$(CXXLINK) $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_LDADD) $(LIBS)
 timeelapse1$(EXEEXT): $(timeelapse1_OBJECTS) $(timeelapse1_DEPENDENCIES) 
 	@rm -f timeelapse1$(EXEEXT)
-	$(CXXLINK) $(timeelapse1_OBJECTS) $(timeelapse1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(timeelapse1_OBJECTS) $(timeelapse1_LDADD) $(LIBS)
 topclosed1$(EXEEXT): $(topclosed1_OBJECTS) $(topclosed1_DEPENDENCIES) 
 	@rm -f topclosed1$(EXEEXT)
-	$(CXXLINK) $(topclosed1_OBJECTS) $(topclosed1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(topclosed1_OBJECTS) $(topclosed1_LDADD) $(LIBS)
 unconstrain1$(EXEEXT): $(unconstrain1_OBJECTS) $(unconstrain1_DEPENDENCIES) 
 	@rm -f unconstrain1$(EXEEXT)
-	$(CXXLINK) $(unconstrain1_OBJECTS) $(unconstrain1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(unconstrain1_OBJECTS) $(unconstrain1_LDADD) $(LIBS)
 universe1$(EXEEXT): $(universe1_OBJECTS) $(universe1_DEPENDENCIES) 
 	@rm -f universe1$(EXEEXT)
-	$(CXXLINK) $(universe1_OBJECTS) $(universe1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(universe1_OBJECTS) $(universe1_LDADD) $(LIBS)
 upperbound1$(EXEEXT): $(upperbound1_OBJECTS) $(upperbound1_DEPENDENCIES) 
 	@rm -f upperbound1$(EXEEXT)
-	$(CXXLINK) $(upperbound1_OBJECTS) $(upperbound1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(upperbound1_OBJECTS) $(upperbound1_LDADD) $(LIBS)
 upperboundifexact1$(EXEEXT): $(upperboundifexact1_OBJECTS) $(upperboundifexact1_DEPENDENCIES) 
 	@rm -f upperboundifexact1$(EXEEXT)
-	$(CXXLINK) $(upperboundifexact1_OBJECTS) $(upperboundifexact1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(upperboundifexact1_OBJECTS) $(upperboundifexact1_LDADD) $(LIBS)
+wrap1$(EXEEXT): $(wrap1_OBJECTS) $(wrap1_DEPENDENCIES) 
+	@rm -f wrap1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(wrap1_OBJECTS) $(wrap1_LDADD) $(LIBS)
 writebox1$(EXEEXT): $(writebox1_OBJECTS) $(writebox1_DEPENDENCIES) 
 	@rm -f writebox1$(EXEEXT)
-	$(CXXLINK) $(writebox1_OBJECTS) $(writebox1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(writebox1_OBJECTS) $(writebox1_LDADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -1312,6 +1394,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/equality1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/expandspacedim1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/foldspacedims1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/frequency1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/frombdshape1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/frombox1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fromgensys1.Po at am__quote@
@@ -1335,6 +1418,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/nnc_frompolyhedron1-frompolyhedron1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/propagateconstraints1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/propagateconstraints2.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/refinewithcongruence1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/refinewithcongruences1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/refinewithconstraint1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/refinewithconstraint2.Po at am__quote@
@@ -1352,53 +1436,61 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/universe1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/upperbound1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/upperboundifexact1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/wrap1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/writebox1.Po at am__quote@
 
 .cc.o:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
- at am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
 
 nnc_frompolyhedron1-frompolyhedron1.o: frompolyhedron1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frompolyhedron1_CXXFLAGS) $(CXXFLAGS) -MT nnc_frompolyhedron1-frompolyhedron1.o -MD -MP -MF $(DEPDIR)/nnc_frompolyhedron1-frompolyhedron1.Tpo -c -o nnc_frompolyhedron1-frompolyhedron1.o `test -f 'frompolyhedron1.cc' || echo '$(srcdir)/'`frompolyhedron1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_frompolyhedron1-frompolyhedron1.Tpo $(DEPDIR)/nnc_frompolyhedron1-frompolyhedron1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frompolyhedron1_CXXFLAGS) $(CXXFLAGS) -MT nnc_frompolyhedron1-frompolyhedron1.o -MD -MP -MF $(DEPDIR)/nnc_frompolyhedron1-frompolyhedron1.Tpo -c -o nnc_frompolyhedron1-frompolyhedron1.o `test -f 'frompolyhedron1.cc' || echo '$(srcdir)/'`frompolyhedron1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_frompolyhedron1-frompolyhedron1.Tpo $(DEPDIR)/nnc_frompolyhedron1-frompolyhedron1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='frompolyhedron1.cc' object='nnc_frompolyhedron1-frompolyhedron1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frompolyhedron1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_frompolyhedron1-frompolyhedron1.o `test -f 'frompolyhedron1.cc' || echo '$(srcdir)/'`frompolyhedron1.cc
 
 nnc_frompolyhedron1-frompolyhedron1.obj: frompolyhedron1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frompolyhedron1_CXXFLAGS) $(CXXFLAGS) -MT nnc_frompolyhedron1-frompolyhedron1.obj -MD -MP -MF $(DEPDIR)/nnc_frompolyhedron1-frompolyhedron1.Tpo -c -o nnc_frompolyhedron1-frompolyhedron1.obj `if test -f 'frompolyhedron1.cc'; then $(CYGPATH_W) 'frompolyhedron1.cc'; else $(CYGPATH_W) '$(srcdir)/frompolyhedron1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_frompolyhedron1-frompolyhedron1.Tpo $(DEPDIR)/nnc_frompolyhedron1-frompolyhedron1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frompolyhedron1_CXXFLAGS) $(CXXFLAGS) -MT nnc_frompolyhedron1-frompolyhedron1.obj -MD -MP -MF $(DEPDIR)/nnc_frompolyhedron1-frompolyhedron1.Tpo -c -o nnc_frompolyhedron1-frompolyhedron1.obj `if test -f 'frompolyhedron1.cc'; then $(CYGPATH_W) 'frompolyhedron1.cc'; else $(CYGPATH_W) '$(srcdir)/frompolyhedron1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_frompolyhedron1-frompolyhedron1.Tpo $(DEPDIR)/nnc_frompolyhedron1-frompolyhedron1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='frompolyhedron1.cc' object='nnc_frompolyhedron1-frompolyhedron1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frompolyhedron1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_frompolyhedron1-frompolyhedron1.obj `if test -f 'frompolyhedron1.cc'; then $(CYGPATH_W) 'frompolyhedron1.cc'; else $(CYGPATH_W) '$(srcdir)/frompolyhedron1.cc'; fi`
 
 refinewithconstraints2-refinewithconstraints2.o: refinewithconstraints2.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(refinewithconstraints2_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT refinewithconstraints2-refinewithconstraints2.o -MD -MP -MF $(DEPDIR)/refinewithconstraints2-refinewithconstraints2.Tpo -c -o refinewithconstraints2-refinewithconstraints2.o `test -f 'refinewithconstraints2.cc' || echo '$(srcdir)/'`refinewithconstraints2.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/refinewithconstraints2-refinewithconstraints2.Tpo $(DEPDIR)/refinewithconstraints2-refinewithconstraints2.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(refinewithconstraints2_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT refinewithconstraints2-refinewithconstraints2.o -MD -MP -MF $(DEPDIR)/refinewithconstraints2-refinewithconstraints2.Tpo -c -o refinewithconstraints2-refinewithconstraints2.o `test -f 'refinewithconstraints2.cc' || echo '$(srcdir)/'`refinewithconstraints2.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/refinewithconstraints2-refinewithconstraints2.Tpo $(DEPDIR)/refinewithconstraints2-refinewithconstraints2.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='refinewithconstraints2.cc' object='refinewithconstraints2-refinewithconstraints2.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(refinewithconstraints2_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o refinewithconstraints2-refinewithconstraints2.o `test -f 'refinewithconstraints2.cc' || echo '$(srcdir)/'`refinewithconstraints2.cc
 
 refinewithconstraints2-refinewithconstraints2.obj: refinewithconstraints2.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(refinewithconstraints2_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT refinewithconstraints2-refinewithconstraints2.obj -MD -MP -MF $(DEPDIR)/refinewithconstraints2-refinewithconstraints2.Tpo -c -o refinewithconstraints2-refinewithconstraints2.obj `if test -f 'refinewithconstraints2.cc'; then $(CYGPATH_W) 'refinewithconstraints2.cc'; else $(CYGPATH_W) '$(srcdir)/refinewithconstraints2.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/refinewithconstraints2-refinewithconstraints2.Tpo $(DEPDIR)/refinewithconstraints2-refinewithconstraints2.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(refinewithconstraints2_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT refinewithconstraints2-refinewithconstraints2.obj -MD -MP -MF $(DEPDIR)/refinewithconstraints2-refinewithconstraints2.Tpo -c -o refinewithconstraints2-refinewithconstraints2.obj `if test -f 'refinewithconstraints2.cc'; then $(CYGPATH_W) 'refinewithconstraints2.cc'; else $(CYGPATH_W) '$(srcdir)/refinewithconstraints2.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/refinewithconstraints2-refinewithconstraints2.Tpo $(DEPDIR)/refinewithconstraints2-refinewithconstraints2.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='refinewithconstraints2.cc' object='refinewithconstraints2-refinewithconstraints2.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(refinewithconstraints2_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o refinewithconstraints2-refinewithconstraints2.obj `if test -f 'refinewithconstraints2.cc'; then $(CYGPATH_W) 'refinewithconstraints2.cc'; else $(CYGPATH_W) '$(srcdir)/refinewithconstraints2.cc'; fi`
@@ -1414,14 +1506,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
@@ -1429,37 +1521,43 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
 check-TESTS: $(TESTS)
-	@failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[	 ]'; \
+	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
 	srcdir=$(srcdir); export srcdir; \
 	list=' $(TESTS) '; \
+	$(am__tty_colors); \
 	if test -n "$$list"; then \
 	  for tst in $$list; do \
 	    if test -f ./$$tst; then dir=./; \
@@ -1468,49 +1566,63 @@ check-TESTS: $(TESTS)
 	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
 	      all=`expr $$all + 1`; \
 	      case " $(XFAIL_TESTS) " in \
-	      *$$ws$$tst$$ws*) \
+	      *[\ \	]$$tst[\ \	]*) \
 		xpass=`expr $$xpass + 1`; \
 		failed=`expr $$failed + 1`; \
-		echo "XPASS: $$tst"; \
+		col=$$red; res=XPASS; \
 	      ;; \
 	      *) \
-		echo "PASS: $$tst"; \
+		col=$$grn; res=PASS; \
 	      ;; \
 	      esac; \
 	    elif test $$? -ne 77; then \
 	      all=`expr $$all + 1`; \
 	      case " $(XFAIL_TESTS) " in \
-	      *$$ws$$tst$$ws*) \
+	      *[\ \	]$$tst[\ \	]*) \
 		xfail=`expr $$xfail + 1`; \
-		echo "XFAIL: $$tst"; \
+		col=$$lgn; res=XFAIL; \
 	      ;; \
 	      *) \
 		failed=`expr $$failed + 1`; \
-		echo "FAIL: $$tst"; \
+		col=$$red; res=FAIL; \
 	      ;; \
 	      esac; \
 	    else \
 	      skip=`expr $$skip + 1`; \
-	      echo "SKIP: $$tst"; \
+	      col=$$blu; res=SKIP; \
 	    fi; \
+	    echo "$${col}$$res$${std}: $$tst"; \
 	  done; \
+	  if test "$$all" -eq 1; then \
+	    tests="test"; \
+	    All=""; \
+	  else \
+	    tests="tests"; \
+	    All="All "; \
+	  fi; \
 	  if test "$$failed" -eq 0; then \
 	    if test "$$xfail" -eq 0; then \
-	      banner="All $$all tests passed"; \
+	      banner="$$All$$all $$tests passed"; \
 	    else \
-	      banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
+	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
 	    fi; \
 	  else \
 	    if test "$$xpass" -eq 0; then \
-	      banner="$$failed of $$all tests failed"; \
+	      banner="$$failed of $$all $$tests failed"; \
 	    else \
-	      banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
+	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
 	    fi; \
 	  fi; \
 	  dashes="$$banner"; \
 	  skipped=""; \
 	  if test "$$skip" -ne 0; then \
-	    skipped="($$skip tests were not run)"; \
+	    if test "$$skip" -eq 1; then \
+	      skipped="($$skip test was not run)"; \
+	    else \
+	      skipped="($$skip tests were not run)"; \
+	    fi; \
 	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
 	      dashes="$$skipped"; \
 	  fi; \
@@ -1521,11 +1633,15 @@ check-TESTS: $(TESTS)
 	      dashes="$$report"; \
 	  fi; \
 	  dashes=`echo "$$dashes" | sed s/./=/g`; \
-	  echo "$$dashes"; \
+	  if test "$$failed" -eq 0; then \
+	    echo "$$grn$$dashes"; \
+	  else \
+	    echo "$$red$$dashes"; \
+	  fi; \
 	  echo "$$banner"; \
 	  test -z "$$skipped" || echo "$$skipped"; \
 	  test -z "$$report" || echo "$$report"; \
-	  echo "$$dashes"; \
+	  echo "$$dashes$$std"; \
 	  test "$$failed" -eq 0; \
 	else :; fi
 
@@ -1545,13 +1661,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -1584,6 +1704,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 	-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
 
 maintainer-clean-generic:
@@ -1606,6 +1727,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -1614,18 +1737,28 @@ install-data-am:
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am:
 
 install-html: install-html-am
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-am
 
+install-pdf-am:
+
 install-ps: install-ps-am
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -1648,7 +1781,7 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: install-am install-strip
+.MAKE: check-am install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
 	clean-checkPROGRAMS clean-generic clean-libtool ctags \
@@ -1688,6 +1821,7 @@ $(top_builddir)/src/libppl.la:
 
 $(top_builddir)/Watchdog/src/libpwl.la:
 	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/Watchdog/src libpwl.la
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/tests/Box/addconstraints1.cc b/tests/Box/addconstraints1.cc
index 9f8afbd..877aab3 100644
--- a/tests/Box/addconstraints1.cc
+++ b/tests/Box/addconstraints1.cc
@@ -1,5 +1,5 @@
 /* Test Box::add_constraints().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/addspacedims1.cc b/tests/Box/addspacedims1.cc
index 5f9741d..410d776 100644
--- a/tests/Box/addspacedims1.cc
+++ b/tests/Box/addspacedims1.cc
@@ -1,6 +1,6 @@
 /* Test Box::add_space_dimensions_and_embed():
    we add two variables to a Box.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/affinedimension1.cc b/tests/Box/affinedimension1.cc
index c49ada6..d20a579 100644
--- a/tests/Box/affinedimension1.cc
+++ b/tests/Box/affinedimension1.cc
@@ -1,5 +1,5 @@
 /* Test Box::affine_dimension().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -269,7 +269,7 @@ test11() {
 
   print_constraints(box, "*** box ***");
 
-  return (affine_dim == 0);
+  return affine_dim == 0;
 }
 
 } // namespace
diff --git a/tests/Box/affineimage1.cc b/tests/Box/affineimage1.cc
index 7bac541..015ced7 100644
--- a/tests/Box/affineimage1.cc
+++ b/tests/Box/affineimage1.cc
@@ -1,5 +1,5 @@
 /* Test Box::affine_image().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/affinepreimage1.cc b/tests/Box/affinepreimage1.cc
index fe2e88c..ef241ab 100644
--- a/tests/Box/affinepreimage1.cc
+++ b/tests/Box/affinepreimage1.cc
@@ -1,5 +1,5 @@
 /* Test Box::affine_preimage().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/ascii_dump_load1.cc b/tests/Box/ascii_dump_load1.cc
index 301010a..cacff67 100644
--- a/tests/Box/ascii_dump_load1.cc
+++ b/tests/Box/ascii_dump_load1.cc
@@ -1,5 +1,5 @@
 /* Test Box::ascii_dump() and Box::ascii_load().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/bgp99extrapolation1.cc b/tests/Box/bgp99extrapolation1.cc
index 2fa4678..29e32eb 100644
--- a/tests/Box/bgp99extrapolation1.cc
+++ b/tests/Box/bgp99extrapolation1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::BGP99_extrapolation_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/bhz03widening1.cc b/tests/Box/bhz03widening1.cc
index 852d4fb..4732350 100644
--- a/tests/Box/bhz03widening1.cc
+++ b/tests/Box/bhz03widening1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::BHZ03_widening_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/bounded1.cc b/tests/Box/bounded1.cc
index cd1a3cc..db4cdb1 100644
--- a/tests/Box/bounded1.cc
+++ b/tests/Box/bounded1.cc
@@ -1,5 +1,5 @@
 /* Test Box::is_bounded().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/boundedaffineimage1.cc b/tests/Box/boundedaffineimage1.cc
index 3a73c52..02a0af8 100644
--- a/tests/Box/boundedaffineimage1.cc
+++ b/tests/Box/boundedaffineimage1.cc
@@ -1,5 +1,5 @@
 /* Test Box::bounded_affine_image().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/boundedaffinepreimage1.cc b/tests/Box/boundedaffinepreimage1.cc
index 32ffc36..4977dcf 100644
--- a/tests/Box/boundedaffinepreimage1.cc
+++ b/tests/Box/boundedaffinepreimage1.cc
@@ -1,5 +1,5 @@
 /* Test Box::bounded_affine_preimage().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/cc76narrowing1.cc b/tests/Box/cc76narrowing1.cc
index ea81304..2756d8c 100644
--- a/tests/Box/cc76narrowing1.cc
+++ b/tests/Box/cc76narrowing1.cc
@@ -1,5 +1,5 @@
 /* Test Box::CC76_narrowing_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/cc76widening.cc b/tests/Box/cc76widening.cc
index bdc79bb..0c7eccf 100644
--- a/tests/Box/cc76widening.cc
+++ b/tests/Box/cc76widening.cc
@@ -1,5 +1,5 @@
 /* Test Box::CC76_widening_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/concatenate1.cc b/tests/Box/concatenate1.cc
index 1a307a7..5a557bd 100644
--- a/tests/Box/concatenate1.cc
+++ b/tests/Box/concatenate1.cc
@@ -1,5 +1,5 @@
 /* Test Box::concatenate_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/congruences1.cc b/tests/Box/congruences1.cc
index 39158d0..48e52f8 100644
--- a/tests/Box/congruences1.cc
+++ b/tests/Box/congruences1.cc
@@ -1,5 +1,5 @@
 /* Test Box::Box(const Congruence_System&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -142,16 +142,14 @@ test06() {
   Congruence_System cgs;
   cgs.insert((A %= 7) / 0);
   cgs.insert((B %= 3) / 0);
-  // This inconsistent equality is ignored when refining.
+  // This inconsistent equality is not ignored when refining.
   cgs.insert((A + B %= 0) / 0);
   cgs.insert(C %= 7);
 
   TBox box(cgs.space_dimension(), UNIVERSE);
   box.refine_with_congruences(cgs);
 
-  Rational_Box known_result(3);
-  known_result.add_constraint(A == 7);
-  known_result.add_constraint(B == 3);
+  Rational_Box known_result(3, EMPTY);
 
   bool ok = check_result(box, known_result);
 
diff --git a/tests/Box/constrains1.cc b/tests/Box/constrains1.cc
index 675842e..46ee729 100644
--- a/tests/Box/constrains1.cc
+++ b/tests/Box/constrains1.cc
@@ -1,5 +1,5 @@
 /* Test Box::constrains().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/constraints1.cc b/tests/Box/constraints1.cc
index a532ce0..4376af6 100644
--- a/tests/Box/constraints1.cc
+++ b/tests/Box/constraints1.cc
@@ -1,5 +1,5 @@
 /* Test Box::constraints().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/contains1.cc b/tests/Box/contains1.cc
index 4fffe3f..3684106 100644
--- a/tests/Box/contains1.cc
+++ b/tests/Box/contains1.cc
@@ -1,5 +1,5 @@
 /* Test Box::contains().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/containsintegerpoint1.cc b/tests/Box/containsintegerpoint1.cc
index 46c46b4..8a927ac 100644
--- a/tests/Box/containsintegerpoint1.cc
+++ b/tests/Box/containsintegerpoint1.cc
@@ -1,5 +1,5 @@
 /* Test Box::contains_integer_point().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/difference1.cc b/tests/Box/difference1.cc
index 8c08e9f..639dbf3 100644
--- a/tests/Box/difference1.cc
+++ b/tests/Box/difference1.cc
@@ -1,5 +1,5 @@
 /* Test Box::difference_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/discrete1.cc b/tests/Box/discrete1.cc
index 9f7e8be..c827d1a 100644
--- a/tests/Box/discrete1.cc
+++ b/tests/Box/discrete1.cc
@@ -1,5 +1,5 @@
 /* Test Box::is_discrete().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/disjoint1.cc b/tests/Box/disjoint1.cc
index 7a7d976..8658066 100644
--- a/tests/Box/disjoint1.cc
+++ b/tests/Box/disjoint1.cc
@@ -1,5 +1,5 @@
 /* Test Box::is_disjoint_from(const Box& y).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/empty1.cc b/tests/Box/empty1.cc
index b659b4a..a2d6c23 100644
--- a/tests/Box/empty1.cc
+++ b/tests/Box/empty1.cc
@@ -1,5 +1,5 @@
 /* Different ways of creating an empty Box.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/equality1.cc b/tests/Box/equality1.cc
index ffd34f7..ad60126 100644
--- a/tests/Box/equality1.cc
+++ b/tests/Box/equality1.cc
@@ -1,5 +1,5 @@
 /* Test Box::operator==().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/expandspacedim1.cc b/tests/Box/expandspacedim1.cc
index cc37398..8b912ae 100644
--- a/tests/Box/expandspacedim1.cc
+++ b/tests/Box/expandspacedim1.cc
@@ -1,5 +1,5 @@
 /* Test Box::expand_space_dimension().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/foldspacedims1.cc b/tests/Box/foldspacedims1.cc
index 7027c69..d28bfee 100644
--- a/tests/Box/foldspacedims1.cc
+++ b/tests/Box/foldspacedims1.cc
@@ -1,5 +1,5 @@
 /* Test Box::fold_space_dimensions().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/frequency1.cc b/tests/Box/frequency1.cc
new file mode 100644
index 0000000..d6c53b1
--- /dev/null
+++ b/tests/Box/frequency1.cc
@@ -0,0 +1,230 @@
+/* Test Box::frequency().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+
+namespace {
+
+// Universe and empty bd shape.
+bool
+test01() {
+  Variable A(0);
+
+  TBox box1(1);
+
+  TBox box2(1, EMPTY);
+
+  Coefficient num1;
+  Coefficient den1;
+  Coefficient valn1;
+  Coefficient vald1;
+  Coefficient num2;
+  Coefficient den2;
+  Coefficient valn2;
+  Coefficient vald2;
+  bool ok = (!box1.frequency(A, num1, den1, valn1, vald1)
+             && !box2.frequency(A, num2, den2, valn2, vald2));
+  print_constraints(box1, "*** box1 ***");
+  print_constraints(box2, "*** box2 ***");
+
+  return ok;
+}
+
+// 0-dimension polyhedra.
+bool
+test02() {
+  TBox box1(0);
+
+  TBox box2(0, EMPTY);
+
+  Coefficient num1;
+  Coefficient den1;
+  Coefficient valn1;
+  Coefficient vald1;
+  Coefficient num2;
+  Coefficient den2;
+  Coefficient valn2;
+  Coefficient vald2;
+  bool ok = (box1.frequency(Linear_Expression(3), num1, den1, valn1, vald1)
+             && num1 == 0 && den1 == 1 && valn1 == 3 && vald1 == 1
+             && !box2.frequency(Linear_Expression(3), num2, den2, valn2, vald2));
+  print_constraints(box1, "*** box1 ***");
+  print_constraints(box2, "*** box2 ***");
+
+  return ok;
+}
+
+// Non-relational test.
+bool
+test03() {
+  Variable A(0);
+
+  TBox box(1);
+  box.add_constraint(A == 0);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (box.frequency(Linear_Expression(A), num, den, valn, vald)
+             && num == 0 && den == 1 && valn == 0 && vald == 1);
+  print_constraints(box, "*** box ***");
+
+  return ok;
+}
+
+bool
+test04() {
+  Variable A(0);
+  Variable B(1);
+
+  TBox box(2);
+  box.add_constraint(A >= 0);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (!box.frequency(Linear_Expression(A), num, den, valn, vald));
+  print_constraints(box, "*** box ***");
+
+  return ok;
+}
+
+bool
+test05() {
+  Variable A(0);
+  Variable B(1);
+
+  TBox box(2);
+  box.add_constraint(A <= 0);
+  box.add_constraint(B >= 5);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (!box.frequency(Linear_Expression(B), num, den, valn, vald));
+  print_constraints(box, "*** box ***");
+
+  return ok;
+}
+
+bool
+test06() {
+  Variable A(0);
+  Variable B(1);
+
+  TBox box(2);
+  box.add_constraint(2*A == 1);
+  box.add_constraint(B == 2);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (box.frequency(Linear_Expression(A + B - 3), num, den, valn, vald)
+             && num == 0 && den == 1 && valn == -1 && vald == 2);
+  print_constraints(box, "*** box ***");
+  nout << "valn " << valn << ", vald " << vald << endl;
+
+  return ok;
+}
+
+bool
+test07() {
+  Variable A(0);
+  Variable B(1);
+
+  TBox box(2);
+  box.add_constraint(A <= 1);
+  box.add_constraint(A >= 0);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (!box.frequency(Linear_Expression(A - B), num, den, valn, vald));
+  print_constraints(box, "*** box ***");
+
+  return ok;
+}
+
+bool
+test08() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  TBox box(3);
+  box.add_constraint(A == 1);
+  box.add_constraint(2*B == -1);
+  box.add_constraint(2*C == 1);
+  box.add_constraint(B <= 4);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (box.frequency(Linear_Expression(A - B + C + 1),
+                           num, den, valn, vald)
+             && num == 0 && den == 1 && valn == 3 && vald == 1);
+  print_constraints(box, "*** box ***");
+  nout << "valn " << valn << ", vald " << vald << endl;
+
+  return ok;
+}
+
+// Non-relational test of an empty box in 1-dimension.
+bool
+test09() {
+  Variable A(0);
+
+  TBox box(1);
+  box.add_constraint(A <= 0);
+  box.add_constraint(A >= 1);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (!box.frequency(Linear_Expression(A), num, den, valn, vald));
+  print_constraints(box, "*** box ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST(test08);
+  DO_TEST(test09);
+END_MAIN
diff --git a/tests/Box/frombdshape1.cc b/tests/Box/frombdshape1.cc
index 669fd41..2b91da5 100644
--- a/tests/Box/frombdshape1.cc
+++ b/tests/Box/frombdshape1.cc
@@ -1,5 +1,5 @@
 /* Test Box::Box(const BD_Shape&, Complexity_Class).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/frombox1.cc b/tests/Box/frombox1.cc
index 217b86e..dfa48ca 100644
--- a/tests/Box/frombox1.cc
+++ b/tests/Box/frombox1.cc
@@ -1,5 +1,5 @@
 /* Test Box<Interval>::Box(const Box<Other_Interval>&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -79,7 +79,7 @@ test04() {
 bool
 test05() {
   const int DIM = 10;
-  typedef Checked_Number<mpq_class> Q;
+  typedef Checked_Number<mpq_class, Checked_Number_Transparent_Policy<mpq_class> > Q;
   Rational_Box src(DIM, UNIVERSE);
   Q k;
   Q a;
diff --git a/tests/Box/fromgensys1.cc b/tests/Box/fromgensys1.cc
index b72c07e..1d9a441 100644
--- a/tests/Box/fromgensys1.cc
+++ b/tests/Box/fromgensys1.cc
@@ -1,5 +1,5 @@
 /* Test Box::Box(const Generator_System&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/fromgrid1.cc b/tests/Box/fromgrid1.cc
index e0561e7..b75b61a 100644
--- a/tests/Box/fromgrid1.cc
+++ b/tests/Box/fromgrid1.cc
@@ -1,5 +1,5 @@
 /* Test Box::Box(const Grid&, Complexity_Class).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/frompartiallyreducedproduct1.cc b/tests/Box/frompartiallyreducedproduct1.cc
index 88de140..c7163e4 100644
--- a/tests/Box/frompartiallyreducedproduct1.cc
+++ b/tests/Box/frompartiallyreducedproduct1.cc
@@ -1,5 +1,5 @@
 /* Test Box::Box(const Direct_Product<D1, D2>&, Complexity_Class).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/frompolyhedron1.cc b/tests/Box/frompolyhedron1.cc
index 72134be..e0ac496 100644
--- a/tests/Box/frompolyhedron1.cc
+++ b/tests/Box/frompolyhedron1.cc
@@ -1,5 +1,5 @@
 /* Test Box::Box(const Polyhedron&, Complexity_Class).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -49,9 +49,8 @@ test01() {
   return ok;
 }
 
-// A non-bounded closed polyhedron  in 2D consisting of a wedge bounded
+// A non-bounded closed polyhedron in 2D consisting of a wedge bounded
 // by y >= 0 and x >= y.
-// The resulting bounding box depends on the complexity class.
 bool
 test02() {
   Variable x(0);
@@ -65,20 +64,16 @@ test02() {
 
   TBox nbox(ph);
 
-  TBox known_nbox(2);
-  known_nbox.add_constraint(x >= 0);
-  known_nbox.add_constraint(y >= 0);
-
-  TBox known_pbox(2);
-  known_pbox.add_constraint(y >= 0);
+  TBox known_box(2);
+  known_box.add_constraint(x >= 0);
+  known_box.add_constraint(y >= 0);
 
-  bool ok = (nbox == known_nbox && pbox == known_pbox && pbox.contains(nbox));
+  bool ok = (nbox == known_box && pbox == known_box);
 
   print_constraints(ph, "*** ph ***");
   print_constraints(nbox, "*** nbox ***");
   print_constraints(pbox, "*** pbox ***");
-  print_constraints(known_nbox, "*** known_nbox ***");
-  print_constraints(known_pbox, "*** known_pbox ***");
+  print_constraints(known_box, "*** known_box ***");
 
   return ok;
 }
@@ -98,23 +93,18 @@ test03() {
 
   TBox nbox(ph);
 
-  TBox known_nbox(2);
-  known_nbox.add_constraint(3*x >= -2);
-  known_nbox.add_constraint(x <= 4);
-  known_nbox.add_constraint(y >= -10);
-  known_nbox.add_constraint(y <= 4);
-
-  TBox known_pbox(2);
-  known_pbox.add_constraint(x <= 4);
-  known_pbox.add_constraint(y <= 4);
+  TBox known_box(2);
+  known_box.add_constraint(3*x >= -2);
+  known_box.add_constraint(x <= 4);
+  known_box.add_constraint(y >= -10);
+  known_box.add_constraint(y <= 4);
 
-  bool ok = (nbox == known_nbox && pbox == known_pbox && pbox.contains(nbox));
+  bool ok = (nbox == known_box && pbox == known_box);
 
   print_constraints(ph, "*** ph ***");
   print_constraints(nbox, "*** nbox ***");
   print_constraints(pbox, "*** pbox ***");
-  print_constraints(known_nbox, "*** known_nbox ***");
-  print_constraints(known_pbox, "*** known_pbox ***");
+  print_constraints(known_box, "*** known_box ***");
 
   return ok;
 }
@@ -136,25 +126,19 @@ test04() {
 
   TBox nbox(ph);
 
-  TBox known_nbox(4);
-  known_nbox.add_constraint(3*x >= -2);
-  known_nbox.add_constraint(x <= 4);
-  known_nbox.add_constraint(y >= -10);
-  known_nbox.add_constraint(3*y <= 12);
-  known_nbox.add_constraint(3*z >= 15);
+  TBox known_box(4);
+  known_box.add_constraint(3*x >= -2);
+  known_box.add_constraint(x <= 4);
+  known_box.add_constraint(y >= -10);
+  known_box.add_constraint(3*y <= 12);
+  known_box.add_constraint(3*z >= 15);
 
-  TBox known_pbox(4);
-  known_pbox.add_constraint(x <= 4);
-  known_pbox.add_constraint(y <= 4);
-  known_pbox.add_constraint(z >= 5);
-
-  bool ok = (nbox == known_nbox && pbox == known_pbox && pbox.contains(nbox));
+  bool ok = (nbox == known_box && pbox == known_box);
 
   print_constraints(ph, "*** ph ***");
   print_constraints(nbox, "*** nbox ***");
   print_constraints(pbox, "*** pbox ***");
-  print_constraints(known_nbox, "*** known_nbox ***");
-  print_constraints(known_pbox, "*** known_pbox ***");
+  print_constraints(known_box, "*** known_box ***");
 
   return ok;
 }
diff --git a/tests/Box/frompolyhedron2.cc b/tests/Box/frompolyhedron2.cc
index 887b386..fe88044 100644
--- a/tests/Box/frompolyhedron2.cc
+++ b/tests/Box/frompolyhedron2.cc
@@ -1,5 +1,5 @@
 /* Test Box::Box(const NNC_Polyhedron&, Complexity_Class).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -42,26 +42,20 @@ test01() {
 
   TBox nbox(ph);
 
-  TBox known_nbox(4);
-  known_nbox.add_constraint(3*x > -2);
-  known_nbox.add_constraint(x <= 4);
-  known_nbox.add_constraint(y > -10);
-  known_nbox.add_constraint(y <= 4);
-  known_nbox.add_constraint(z >= 5);
+  // Same precision for both complexities.
+  TBox known_box(4);
+  known_box.add_constraint(3*x > -2);
+  known_box.add_constraint(x <= 4);
+  known_box.add_constraint(y > -10);
+  known_box.add_constraint(y <= 4);
+  known_box.add_constraint(z >= 5);
 
-  TBox known_pbox(4);
-  known_pbox.add_constraint(x <= 4);
-  known_pbox.add_constraint(y <= 4);
-  known_pbox.add_constraint(z >= 5);
-
-  bool ok = (nbox == known_nbox && pbox == known_pbox && pbox.contains(nbox));
+  bool ok = (nbox == known_box && pbox == known_box);
 
   print_constraints(ph, "*** ph ***");
   print_constraints(nbox, "*** nbox ***");
   print_constraints(pbox, "*** pbox ***");
-
-  print_constraints(known_nbox, "*** known_nbox ***");
-  print_constraints(known_pbox, "*** known_pbox ***");
+  print_constraints(known_box, "*** known_box ***");
 
   return ok;
 }
@@ -82,24 +76,19 @@ test02() {
 
   TBox nbox(ph);
 
-  TBox known_nbox(2);
-  known_nbox.add_constraint(3*x >= -2);
-  known_nbox.add_constraint(x < 4);
-  known_nbox.add_constraint(y > -10);
-  known_nbox.add_constraint(y <= 4);
+  // Same precision for both complexities.
+  TBox known_box(2);
+  known_box.add_constraint(3*x >= -2);
+  known_box.add_constraint(x < 4);
+  known_box.add_constraint(y > -10);
+  known_box.add_constraint(y <= 4);
 
-  TBox known_pbox(2);
-  known_pbox.add_constraint(x < 4);
-  known_pbox.add_constraint(y <= 4);
-
-  bool ok = (nbox == known_nbox && pbox == known_pbox && pbox.contains(nbox));
+  bool ok = (nbox == known_box && pbox == known_box);
 
   print_constraints(ph, "*** ph ***");
   print_constraints(nbox, "*** nbox ***");
   print_constraints(pbox, "*** pbox ***");
-
-  print_constraints(known_nbox, "*** known_nbox ***");
-  print_constraints(known_pbox, "*** known_pbox ***");
+  print_constraints(known_box, "*** known_box ***");
 
   return ok;
 }
diff --git a/tests/Box/fromspacedim1.cc b/tests/Box/fromspacedim1.cc
index 8a33568..b1a2268 100644
--- a/tests/Box/fromspacedim1.cc
+++ b/tests/Box/fromspacedim1.cc
@@ -1,5 +1,5 @@
 /* Test Box::Box(dimension_type, Degenerate_Element).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/generalizedaffineimage1.cc b/tests/Box/generalizedaffineimage1.cc
index 226b9a9..f92fb09 100644
--- a/tests/Box/generalizedaffineimage1.cc
+++ b/tests/Box/generalizedaffineimage1.cc
@@ -1,5 +1,5 @@
 /* Test Box::generalized_affine_image().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/generalizedaffineimage2.cc b/tests/Box/generalizedaffineimage2.cc
index 1b9adbc..48c4e0e 100644
--- a/tests/Box/generalizedaffineimage2.cc
+++ b/tests/Box/generalizedaffineimage2.cc
@@ -1,5 +1,5 @@
 /* Test Box::generalized_affine_image().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/generalizedaffinepreimage1.cc b/tests/Box/generalizedaffinepreimage1.cc
index b3cc004..7182bb6 100644
--- a/tests/Box/generalizedaffinepreimage1.cc
+++ b/tests/Box/generalizedaffinepreimage1.cc
@@ -1,5 +1,5 @@
 /*Test Box::generalized_affine_preimage().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/geomcovers1.cc b/tests/Box/geomcovers1.cc
index 48c2ce7..4d4d3e6 100644
--- a/tests/Box/geomcovers1.cc
+++ b/tests/Box/geomcovers1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<Box>::geometrically_covers().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/intersection1.cc b/tests/Box/intersection1.cc
index cf2e55e..8d994a6 100644
--- a/tests/Box/intersection1.cc
+++ b/tests/Box/intersection1.cc
@@ -1,5 +1,5 @@
 /* Test Box::intersection_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/interval1.cc b/tests/Box/interval1.cc
index a4342bc..d16a361 100644
--- a/tests/Box/interval1.cc
+++ b/tests/Box/interval1.cc
@@ -1,6 +1,6 @@
 /* Test Box::add_space_dimensions_and_embed():
    we add two variables to a Box.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -178,6 +178,14 @@ bool test04() {
   return true;
 }
 
+template<typename F>
+bool
+test05() {
+  typename My_Interval<F>::interval_type x("123.00123");
+  nout << "x = " << x << endl;
+  return true;
+}
+
 } // namespace
 
 BEGIN_MAIN
@@ -187,6 +195,7 @@ BEGIN_MAIN
   DO_TEST(test02<float>);
   DO_TEST(test03<float>);
   DO_TEST(test04<float>);
+  DO_TEST(test05<float>);
 #endif // PPL_SUPPORTED_FLOAT
 
 #if PPL_SUPPORTED_DOUBLE
@@ -194,6 +203,7 @@ BEGIN_MAIN
   DO_TEST(test02<double>);
   DO_TEST(test03<double>);
   DO_TEST(test04<double>);
+  DO_TEST(test05<double>);
 #endif // PPL_SUPPORTED_DOUBLE
 
 #if PPL_SUPPORTED_LONG_DOUBLE
@@ -201,6 +211,7 @@ BEGIN_MAIN
   DO_TEST(test02<long double>);
   DO_TEST(test03<long double>);
   DO_TEST(test04<long double>);
+  DO_TEST(test05<long double>);
 #endif // PPL_SUPPORTED_LONG_DOUBLE
 
 END_MAIN
diff --git a/tests/Box/limitedcc76extrapolation1.cc b/tests/Box/limitedcc76extrapolation1.cc
index 8c2bd9a..c53b92b 100644
--- a/tests/Box/limitedcc76extrapolation1.cc
+++ b/tests/Box/limitedcc76extrapolation1.cc
@@ -1,5 +1,5 @@
 /* Test Box::limited_CC76_extrapolation_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/mapspacedims1.cc b/tests/Box/mapspacedims1.cc
index 30a47db..de5baa6 100644
--- a/tests/Box/mapspacedims1.cc
+++ b/tests/Box/mapspacedims1.cc
@@ -1,5 +1,5 @@
 /* Test Box::map_space_dimensions().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/max_min1.cc b/tests/Box/max_min1.cc
index 72d6100..19e37bd 100644
--- a/tests/Box/max_min1.cc
+++ b/tests/Box/max_min1.cc
@@ -1,6 +1,6 @@
 /* Test Box::maximize(const Linear_Expression&, ...)
    and Box::minimize(const Linear_Expression&, ...).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/maxspacedim1.cc b/tests/Box/maxspacedim1.cc
index 15696cc..f5a22a9 100644
--- a/tests/Box/maxspacedim1.cc
+++ b/tests/Box/maxspacedim1.cc
@@ -1,5 +1,5 @@
 /* Test Box::max_space_dimension().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/membytes1.cc b/tests/Box/membytes1.cc
index 9a8e7a3..a81e8e6 100644
--- a/tests/Box/membytes1.cc
+++ b/tests/Box/membytes1.cc
@@ -1,5 +1,5 @@
 /* Test the total_memory_in_bytes() and external_memory_in_bytes() methods.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/minconstraints1.cc b/tests/Box/minconstraints1.cc
index 13e5946..a386d76 100644
--- a/tests/Box/minconstraints1.cc
+++ b/tests/Box/minconstraints1.cc
@@ -1,5 +1,5 @@
 /* Test Box<T>::minimized_constraints().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/propagateconstraints1.cc b/tests/Box/propagateconstraints1.cc
index 10eb157..03ba366 100644
--- a/tests/Box/propagateconstraints1.cc
+++ b/tests/Box/propagateconstraints1.cc
@@ -1,5 +1,5 @@
 /* Test Box::propagate_constraints().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/propagateconstraints2.cc b/tests/Box/propagateconstraints2.cc
index afb6c64..fe70b75 100644
--- a/tests/Box/propagateconstraints2.cc
+++ b/tests/Box/propagateconstraints2.cc
@@ -1,5 +1,5 @@
 /* Test Box::propagate_constraints().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -338,9 +338,9 @@ propagate_edges(Box<T>& box, const Edge* edges, unsigned n) {
   for (unsigned i = 0; i < n; ++i) {
     const mpq_class& q = perturbate(edges[i].distance);
     Coefficient a;
-    assign_r(a, q.get_den(), ROUND_NOT_NEEDED);
+    a = q.get_den();
     Coefficient b;
-    assign_r(b, q.get_num(), ROUND_NOT_NEEDED);
+    b = q.get_num();
 
     vnout << "a = " << a << "; b = " << b << endl;
 
@@ -443,7 +443,7 @@ bool test03() {
 }
 
 BEGIN_MAIN
-  DO_TEST_F16(test01);
-  DO_TEST(test02);
-  DO_TEST(test03);
+  DO_TEST_F32(test01);
+  DO_TEST_F16(test02);
+  DO_TEST_F16(test03);
 END_MAIN
diff --git a/tests/Box/refinewithcongruence1.cc b/tests/Box/refinewithcongruence1.cc
new file mode 100644
index 0000000..d1f7663
--- /dev/null
+++ b/tests/Box/refinewithcongruence1.cc
@@ -0,0 +1,194 @@
+/* Test Box::refine_with_congruences(const Congruence_System&).
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+namespace {
+
+// Universe Box, zero dimensions and trivial congruence.
+bool
+test01() {
+  Congruence cg(Linear_Expression(0) %= 1);
+  TBox box(0);
+  box.refine_with_congruence(cg);
+
+  Rational_Box known_result(0);
+
+  bool ok = check_result(box, known_result);
+
+  print_constraints(box, "*** box ***");
+
+  return ok;
+}
+
+// Universe Box, 4 dimensions and refine with a proper congruence
+bool
+test02() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+  Variable D(3);
+
+  Congruence cg(A + B %= 0);
+  TBox box(4);
+  box.refine_with_congruence(cg);
+
+  Rational_Box known_result(4);
+
+  bool ok = check_result(box, known_result);
+
+  print_constraints(box, "*** box ***");
+
+  return ok;
+}
+
+// Universe Box in 3D and refine with an equality congruence.
+bool
+test03() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Congruence cg((A %= 7) / 0);
+
+  TBox box(3);
+  box.refine_with_congruence(cg);
+
+  Rational_Box known_result(3);
+  known_result.add_constraint(A == 7);
+
+  bool ok = check_result(box, known_result);
+
+  print_constraints(box, "*** box ***");
+
+  return ok;
+}
+
+// Box in 1D and refine with an inconsistent proper congruence.
+bool
+test04() {
+  Variable A(0);
+
+  Congruence cg((0*A %= 1) / 2);
+
+  TBox box(1);
+  box.refine_with_congruence(cg);
+
+  Rational_Box known_result(1, EMPTY);
+
+  bool ok = check_result(box, known_result);
+
+  print_constraints(box, "*** box ***");
+
+  return ok;
+}
+
+// refine_with_congruence()
+bool
+test05() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+  Variable D(3);
+
+  Constraint_System cs;
+  cs.insert(A <= 5);
+  cs.insert(A >= 0);
+  cs.insert(B <= 5);
+  cs.insert(B >= 0);
+  cs.insert(C <= 5);
+  cs.insert(C >= 0);
+  cs.insert(D <= 5);
+  cs.insert(D >= 0);
+  TBox box(cs);
+  box.refine_with_congruence((1*A + 2*B + 3*C + 4*D %= 0) / 0);
+
+  Constraint_System known_cs;
+  known_cs.insert(A == 0);
+  known_cs.insert(B == 0);
+  known_cs.insert(C == 0);
+  known_cs.insert(D == 0);
+  Rational_Box known_result(known_cs);
+
+  bool ok = check_result(box, known_result);
+
+  print_constraints(box, "*** box ***");
+
+  return ok;
+}
+
+
+bool
+test06() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+
+  TBox box1(2);
+
+  try {
+    // This is an invalid use of method
+    // Box::refine_with_congruence: it is illegal
+    // to refine with a congruence with bigger dimension.
+    box1.refine_with_congruence(x %= 0);
+    box1.refine_with_congruence(y - x + z %= 0);
+  }
+  catch (std::invalid_argument& e) {
+    nout << "std::invalid_argument: " << endl;
+    return true;
+  }
+  catch (...) {
+  }
+  return false;
+}
+
+bool
+test07() {
+  Variable y(1);
+
+  TBox box(1);
+
+  try {
+    // This is an invalid use of the method
+    // Box::refine_with_congruence(c): it is illegal to refine with a
+    // congruence that contains a variable that is not in the space
+    // of the box.
+    box.refine_with_congruence((y %= 0) / 0);
+  }
+  catch (std::invalid_argument& e) {
+    nout << "std::invalid_argument: " << endl;
+    return true;
+  }
+  catch (...) {
+  }
+  return false;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test07);
+END_MAIN
diff --git a/tests/Box/refinewithcongruences1.cc b/tests/Box/refinewithcongruences1.cc
index e453498..3de990f 100644
--- a/tests/Box/refinewithcongruences1.cc
+++ b/tests/Box/refinewithcongruences1.cc
@@ -1,5 +1,5 @@
 /* Test Box::refine_with_congruences(const Congruence_System&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/refinewithconstraint1.cc b/tests/Box/refinewithconstraint1.cc
index a126dcd..9de7039 100644
--- a/tests/Box/refinewithconstraint1.cc
+++ b/tests/Box/refinewithconstraint1.cc
@@ -1,5 +1,5 @@
 /* Test Box::refine_with_constraint(const Constraint&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -143,16 +143,8 @@ test04() {
 } // namespace
 
 BEGIN_MAIN
-// FIXME: see corresponding fixme in Box<ITV>::refine_no_check(c).
-// Temporarily set to always fail: this is meant to be a test for
-// constraint propagation, rather than syntactical refinement.
-//  DO_TEST_F8(test01);
-  DO_TEST_F(test01);
-// FIXME: see corresponding fixme in Box<ITV>::refine_no_check(c).
-// Temporarily set to always fail: this is meant to be a test for
-// constraint propagation, rather than syntactical refinement.
-//  DO_TEST(test02);
-  DO_TEST_F(test02);
+  DO_TEST_F8(test01);
+  DO_TEST(test02);
   DO_TEST(test03);
   DO_TEST(test04);
 END_MAIN
diff --git a/tests/Box/refinewithconstraint2.cc b/tests/Box/refinewithconstraint2.cc
index 3cbbd70..5b51ca7 100644
--- a/tests/Box/refinewithconstraint2.cc
+++ b/tests/Box/refinewithconstraint2.cc
@@ -1,5 +1,5 @@
 /* Test Box::refine_with_constraint(const Constraint&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/refinewithconstraints1.cc b/tests/Box/refinewithconstraints1.cc
index 6003bdd..e989864 100644
--- a/tests/Box/refinewithconstraints1.cc
+++ b/tests/Box/refinewithconstraints1.cc
@@ -1,5 +1,5 @@
 /* Test Box::refine_with_constraints().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/refinewithconstraints2.cc b/tests/Box/refinewithconstraints2.cc
index 545517f..250483b 100644
--- a/tests/Box/refinewithconstraints2.cc
+++ b/tests/Box/refinewithconstraints2.cc
@@ -1,6 +1,6 @@
 /* Test Box::refine_with_constraints(const Constraint_System&) with
    instances that may require a watchdog timer.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/relations1.cc b/tests/Box/relations1.cc
index d2386ee..76f030d 100644
--- a/tests/Box/relations1.cc
+++ b/tests/Box/relations1.cc
@@ -1,5 +1,5 @@
 /* Test Box::relation_with().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/relations2.cc b/tests/Box/relations2.cc
index fd1650e..4db82b9 100644
--- a/tests/Box/relations2.cc
+++ b/tests/Box/relations2.cc
@@ -1,5 +1,5 @@
 /* Test Box::relation_with().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/relations3.cc b/tests/Box/relations3.cc
index 94384e3..cc1b0e8 100644
--- a/tests/Box/relations3.cc
+++ b/tests/Box/relations3.cc
@@ -1,5 +1,5 @@
 /* Test Box::relation_with().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/relations4.cc b/tests/Box/relations4.cc
index 1367591..e040f6d 100644
--- a/tests/Box/relations4.cc
+++ b/tests/Box/relations4.cc
@@ -1,5 +1,5 @@
 /* Test Box::relation_with().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/removespacedims1.cc b/tests/Box/removespacedims1.cc
index 0d364e4..a6954be 100644
--- a/tests/Box/removespacedims1.cc
+++ b/tests/Box/removespacedims1.cc
@@ -1,5 +1,5 @@
 /* Remove some variables from the space.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/run_tests b/tests/Box/run_tests
index 05e7404..04c03cf 100755
--- a/tests/Box/run_tests
+++ b/tests/Box/run_tests
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # Run the Box tests.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
diff --git a/tests/Box/simplifyusingcontext1.cc b/tests/Box/simplifyusingcontext1.cc
index a47f9d9..e33d680 100644
--- a/tests/Box/simplifyusingcontext1.cc
+++ b/tests/Box/simplifyusingcontext1.cc
@@ -1,5 +1,5 @@
 /* Test Box::simplify_using_context_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/timeelapse1.cc b/tests/Box/timeelapse1.cc
index 2611071..3626930 100644
--- a/tests/Box/timeelapse1.cc
+++ b/tests/Box/timeelapse1.cc
@@ -1,5 +1,5 @@
 /* Test Box<Interval>::time_elapse_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/topclosed1.cc b/tests/Box/topclosed1.cc
index 610867c..699a4e4 100644
--- a/tests/Box/topclosed1.cc
+++ b/tests/Box/topclosed1.cc
@@ -1,5 +1,5 @@
 /* Test Box::is_topologically_closed().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/unconstrain1.cc b/tests/Box/unconstrain1.cc
index edee431..f144577 100644
--- a/tests/Box/unconstrain1.cc
+++ b/tests/Box/unconstrain1.cc
@@ -1,5 +1,5 @@
 /* Test Box::unconstrain().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/universe1.cc b/tests/Box/universe1.cc
index 3667c0a..2a4fbfe 100644
--- a/tests/Box/universe1.cc
+++ b/tests/Box/universe1.cc
@@ -1,5 +1,5 @@
 /* Test Box::is_universe().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/upperbound1.cc b/tests/Box/upperbound1.cc
index bcab71d..028ee6b 100644
--- a/tests/Box/upperbound1.cc
+++ b/tests/Box/upperbound1.cc
@@ -1,5 +1,5 @@
 /* Test Box::upper_bound_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/upperboundifexact1.cc b/tests/Box/upperboundifexact1.cc
index b70c507..13fc8cc 100644
--- a/tests/Box/upperboundifexact1.cc
+++ b/tests/Box/upperboundifexact1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::upper_bound_assign_if_exact().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/wrap1.cc b/tests/Box/wrap1.cc
new file mode 100644
index 0000000..1bb1f86
--- /dev/null
+++ b/tests/Box/wrap1.cc
@@ -0,0 +1,201 @@
+/* Test Box::wrap_assign().
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+namespace {
+
+bool
+test01() {
+  Variable x(0);
+  Variable y(1);
+  TBox box(2);
+  box.add_constraint(100 <= x);
+  box.add_constraint(x <= 300);
+  box.add_constraint(-50 <= y);
+  box.add_constraint(y <= 50);
+
+  print_constraints(box, "*** box ***");
+
+  Variables_Set vars(x, y);
+
+  box.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS);
+
+  // FIXME.
+  TBox known_result(2);
+  known_result.refine_with_constraint(0 <= x);
+  known_result.refine_with_constraint(x <= 255);
+  known_result.refine_with_constraint(0 <= y);
+  known_result.refine_with_constraint(y <= 255);
+
+  bool ok = (box == known_result);
+
+  print_constraints(box, "*** box.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test02() {
+  Variable x(0);
+  Variable y(1);
+  TBox box(2);
+  box.add_constraint(100 <= x);
+  box.add_constraint(x <= 300);
+  box.add_constraint(-50 <= y);
+  box.add_constraint(y <= 50);
+
+  print_constraints(box, "*** box ***");
+
+  Variables_Set vars(x, y);
+
+  Constraint_System cs;
+  cs.insert(x >= y);
+  cs.insert(y <= 75);
+
+  box.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS, &cs);
+
+  // FIXME.
+  TBox known_result(2);
+  known_result.refine_with_constraint(0 <= x);
+  known_result.refine_with_constraint(x <= 255);
+  known_result.refine_with_constraint(0 <= y);
+  known_result.refine_with_constraint(y <= 50);
+
+  bool ok = (box == known_result);
+
+  print_constraints(box, "*** box.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test03() {
+  Variable x(0);
+  Variable y(1);
+  TBox box(2);
+  box.add_constraint(100 <= x);
+  box.add_constraint(x <= 300);
+  box.add_constraint(-50 <= y);
+  box.add_constraint(y <= 50);
+
+  print_constraints(box, "*** box ***");
+
+  Variables_Set vars(x, y);
+
+  Constraint_System cs;
+  cs.insert(x + y >= 50);
+  cs.insert(x >= y);
+  cs.insert(y <= 75);
+
+  box.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS, &cs);
+
+  TBox known_result(2);
+  known_result.refine_with_constraint(0 <= x);
+  known_result.refine_with_constraint(x <= 255);
+  known_result.refine_with_constraint(0 <= y);
+  known_result.refine_with_constraint(y <= 50);
+
+  bool ok = (box == known_result);
+
+  print_constraints(box, "*** box.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test04() {
+  Variable x(0);
+  TBox box1(1);
+  box1.add_constraint(2*x == 511);
+
+  print_constraints(box1, "*** box ***");
+
+  Variables_Set vars(x);
+
+  // Making copies before affecting box1.
+  TBox box2(box1);
+  TBox box3(box1);
+
+  TBox good_enough_result(box1);
+  TBox precise_result(1, EMPTY);
+
+  box1.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS);
+  box2.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_UNDEFINED);
+  box3.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_IMPOSSIBLE);
+
+  // FIXME: Implementation can be more precise than expected.
+  bool ok = box1.contains(precise_result) && good_enough_result.contains(box1)
+    && box2.contains(precise_result) && good_enough_result.contains(box2)
+    && box3.contains(precise_result) && good_enough_result.contains(box3);
+
+  print_constraints(box1, "*** box.wrap_assign(..., OVERFLOW_WRAPS) ***");
+  print_constraints(box2, "*** box.wrap_assign(..., OVERFLOW_UNDEFINED) ***");
+  print_constraints(box3, "*** box.wrap_assign(..., OVERFLOW_IMPOSSIBLE) ***");
+
+  return ok;
+}
+
+bool
+test05() {
+  Variable x(0);
+  TBox box1(1);
+  box1.add_constraint(2*x == 18*256 + 511);
+
+  print_constraints(box1, "*** box ***");
+
+  Variables_Set vars(x);
+
+  // Making copies before affecting box1.
+  TBox box2(box1);
+  TBox box3(box1);
+
+  box1.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS);
+  box2.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_UNDEFINED);
+  box3.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_IMPOSSIBLE);
+
+  TBox known_result1(1, EMPTY);
+  TBox known_result2(1);
+  known_result2.add_constraint(x >= 0);
+  known_result2.add_constraint(x <= 255);
+  TBox known_result3(1, EMPTY);
+
+  bool ok = (box1 == known_result1)
+    && (box2 == known_result2)
+    && (box3 == known_result3);
+
+  print_constraints(box1, "*** box.wrap_assign(..., OVERFLOW_WRAPS) ***");
+  print_constraints(box2, "*** box.wrap_assign(..., OVERFLOW_UNDEFINED) ***");
+  print_constraints(box3, "*** box.wrap_assign(..., OVERFLOW_IMPOSSIBLE) ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST_F8(test01);
+  DO_TEST_F8(test02);
+  DO_TEST_F8(test03);
+  DO_TEST_F8(test04);
+  DO_TEST_F8(test05);
+END_MAIN
diff --git a/tests/Box/writebox1.cc b/tests/Box/writebox1.cc
index b500d92..e2f637a 100644
--- a/tests/Box/writebox1.cc
+++ b/tests/Box/writebox1.cc
@@ -1,5 +1,5 @@
 /* Test operator<<(ostream&, const Box&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/Makefile.am b/tests/Grid/Makefile.am
index 1722c09..2e65b3b 100644
--- a/tests/Grid/Makefile.am
+++ b/tests/Grid/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -76,12 +76,13 @@ congruences2 \
 constraints1 \
 contains1 \
 containsintegerpoint1 \
-coveringbox1 coveringbox2 \
 discrete1 \
 disjoint1 \
+dropnonintegerpoints1 \
 equals1 \
 expandspacedim1 \
 foldspacedims1 \
+frequency1 \
 frombdshape1 \
 frombox1 \
 fromgrid1 \
@@ -118,7 +119,8 @@ topclosed1 \
 topclosure1 \
 unconstrain1 \
 upperbound1 upperbound2 \
-widening1 widening2  widening3\
+widening1 widening2  widening3 \
+wrap1 \
 writecongruencesystem
 
 XFAIL_TESTS =
@@ -187,10 +189,14 @@ discrete1_SOURCES = discrete1.cc
 
 disjoint1_SOURCES = disjoint1.cc
 
+dropnonintegerpoints1_SOURCES = dropnonintegerpoints1.cc
+
 equals1_SOURCES = equals1.cc
 
 expandspacedim1_SOURCES = expandspacedim1.cc
 
+frequency1_SOURCES = frequency1.cc
+
 frombdshape1_SOURCES = frombdshape1.cc
 
 frombox1_SOURCES = frombox1.cc
@@ -216,9 +222,6 @@ generator1_SOURCES = generator1.cc
 generators1_SOURCES = generators1.cc
 generators2_SOURCES = generators2.cc
 
-coveringbox1_SOURCES = coveringbox1.cc
-coveringbox2_SOURCES = coveringbox2.cc
-
 grid1_SOURCES = grid1.cc
 grid2_SOURCES = grid2.cc
 grid3_SOURCES = grid3.cc
@@ -284,6 +287,8 @@ widening3_SOURCES = widening3.cc
 
 writecongruencesystem_SOURCES = writecongruencesystem.cc
 
+wrap1_SOURCES = wrap1.cc
+
 check_PROGRAMS = $(TESTS)
 
 MOSTLYCLEANFILES = \
diff --git a/tests/Grid/Makefile.in b/tests/Grid/Makefile.in
index 5cd39e0..7ab963f 100644
--- a/tests/Grid/Makefile.in
+++ b/tests/Grid/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -38,8 +39,9 @@
 # site: http://www.cs.unipr.it/ppl/ .
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -69,11 +71,11 @@ TESTS = addcongruence1$(EXEEXT) addcongruences1$(EXEEXT) \
 	certificate1$(EXEEXT) concatenate1$(EXEEXT) \
 	congruence1$(EXEEXT) congruences1$(EXEEXT) \
 	congruences2$(EXEEXT) constraints1$(EXEEXT) contains1$(EXEEXT) \
-	containsintegerpoint1$(EXEEXT) coveringbox1$(EXEEXT) \
-	coveringbox2$(EXEEXT) discrete1$(EXEEXT) disjoint1$(EXEEXT) \
+	containsintegerpoint1$(EXEEXT) discrete1$(EXEEXT) \
+	disjoint1$(EXEEXT) dropnonintegerpoints1$(EXEEXT) \
 	equals1$(EXEEXT) expandspacedim1$(EXEEXT) \
-	foldspacedims1$(EXEEXT) frombdshape1$(EXEEXT) \
-	frombox1$(EXEEXT) fromgrid1$(EXEEXT) \
+	foldspacedims1$(EXEEXT) frequency1$(EXEEXT) \
+	frombdshape1$(EXEEXT) frombox1$(EXEEXT) fromgrid1$(EXEEXT) \
 	fromoctagonalshape1$(EXEEXT) frompolyhedron1$(EXEEXT) \
 	generalizedaffineimage1$(EXEEXT) \
 	generalizedaffineimage2$(EXEEXT) \
@@ -99,7 +101,7 @@ TESTS = addcongruence1$(EXEEXT) addcongruences1$(EXEEXT) \
 	simplifyusingcontext1$(EXEEXT) timeelapse1$(EXEEXT) \
 	topclosed1$(EXEEXT) topclosure1$(EXEEXT) unconstrain1$(EXEEXT) \
 	upperbound1$(EXEEXT) upperbound2$(EXEEXT) widening1$(EXEEXT) \
-	widening2$(EXEEXT) widening3$(EXEEXT) \
+	widening2$(EXEEXT) widening3$(EXEEXT) wrap1$(EXEEXT) \
 	writecongruencesystem$(EXEEXT)
 XFAIL_TESTS =
 check_PROGRAMS = $(am__EXEEXT_1)
@@ -112,6 +114,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -133,12 +136,13 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 am__EXEEXT_1 = addcongruence1$(EXEEXT) addcongruences1$(EXEEXT) \
 	addconstraint1$(EXEEXT) addconstraints1$(EXEEXT) \
 	addgenerator1$(EXEEXT) addgenerators1$(EXEEXT) \
@@ -154,11 +158,11 @@ am__EXEEXT_1 = addcongruence1$(EXEEXT) addcongruences1$(EXEEXT) \
 	certificate1$(EXEEXT) concatenate1$(EXEEXT) \
 	congruence1$(EXEEXT) congruences1$(EXEEXT) \
 	congruences2$(EXEEXT) constraints1$(EXEEXT) contains1$(EXEEXT) \
-	containsintegerpoint1$(EXEEXT) coveringbox1$(EXEEXT) \
-	coveringbox2$(EXEEXT) discrete1$(EXEEXT) disjoint1$(EXEEXT) \
+	containsintegerpoint1$(EXEEXT) discrete1$(EXEEXT) \
+	disjoint1$(EXEEXT) dropnonintegerpoints1$(EXEEXT) \
 	equals1$(EXEEXT) expandspacedim1$(EXEEXT) \
-	foldspacedims1$(EXEEXT) frombdshape1$(EXEEXT) \
-	frombox1$(EXEEXT) fromgrid1$(EXEEXT) \
+	foldspacedims1$(EXEEXT) frequency1$(EXEEXT) \
+	frombdshape1$(EXEEXT) frombox1$(EXEEXT) fromgrid1$(EXEEXT) \
 	fromoctagonalshape1$(EXEEXT) frompolyhedron1$(EXEEXT) \
 	generalizedaffineimage1$(EXEEXT) \
 	generalizedaffineimage2$(EXEEXT) \
@@ -184,7 +188,7 @@ am__EXEEXT_1 = addcongruence1$(EXEEXT) addcongruences1$(EXEEXT) \
 	simplifyusingcontext1$(EXEEXT) timeelapse1$(EXEEXT) \
 	topclosed1$(EXEEXT) topclosure1$(EXEEXT) unconstrain1$(EXEEXT) \
 	upperbound1$(EXEEXT) upperbound2$(EXEEXT) widening1$(EXEEXT) \
-	widening2$(EXEEXT) widening3$(EXEEXT) \
+	widening2$(EXEEXT) widening3$(EXEEXT) wrap1$(EXEEXT) \
 	writecongruencesystem$(EXEEXT)
 am_addcongruence1_OBJECTS = addcongruence1.$(OBJEXT)
 addcongruence1_OBJECTS = $(am_addcongruence1_OBJECTS)
@@ -192,6 +196,9 @@ addcongruence1_LDADD = $(LDADD)
 addcongruence1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
 am_addcongruences1_OBJECTS = addcongruences1.$(OBJEXT)
 addcongruences1_OBJECTS = $(am_addcongruences1_OBJECTS)
 addcongruences1_LDADD = $(LDADD)
@@ -382,18 +389,6 @@ containsintegerpoint1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-am_coveringbox1_OBJECTS = coveringbox1.$(OBJEXT)
-coveringbox1_OBJECTS = $(am_coveringbox1_OBJECTS)
-coveringbox1_LDADD = $(LDADD)
-coveringbox1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
-	$(top_builddir)/tests/libppl_tests.a \
-	$(top_builddir)/src/libppl.la
-am_coveringbox2_OBJECTS = coveringbox2.$(OBJEXT)
-coveringbox2_OBJECTS = $(am_coveringbox2_OBJECTS)
-coveringbox2_LDADD = $(LDADD)
-coveringbox2_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
-	$(top_builddir)/tests/libppl_tests.a \
-	$(top_builddir)/src/libppl.la
 am_discrete1_OBJECTS = discrete1.$(OBJEXT)
 discrete1_OBJECTS = $(am_discrete1_OBJECTS)
 discrete1_LDADD = $(LDADD)
@@ -406,6 +401,13 @@ disjoint1_LDADD = $(LDADD)
 disjoint1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_dropnonintegerpoints1_OBJECTS = dropnonintegerpoints1.$(OBJEXT)
+dropnonintegerpoints1_OBJECTS = $(am_dropnonintegerpoints1_OBJECTS)
+dropnonintegerpoints1_LDADD = $(LDADD)
+dropnonintegerpoints1_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_equals1_OBJECTS = equals1.$(OBJEXT)
 equals1_OBJECTS = $(am_equals1_OBJECTS)
 equals1_LDADD = $(LDADD)
@@ -424,6 +426,12 @@ foldspacedims1_LDADD = $(LDADD)
 foldspacedims1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_frequency1_OBJECTS = frequency1.$(OBJEXT)
+frequency1_OBJECTS = $(am_frequency1_OBJECTS)
+frequency1_LDADD = $(LDADD)
+frequency1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_frombdshape1_OBJECTS = frombdshape1.$(OBJEXT)
 frombdshape1_OBJECTS = $(am_frombdshape1_OBJECTS)
 frombdshape1_LDADD = $(LDADD)
@@ -774,6 +782,12 @@ widening3_LDADD = $(LDADD)
 widening3_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_wrap1_OBJECTS = wrap1.$(OBJEXT)
+wrap1_OBJECTS = $(am_wrap1_OBJECTS)
+wrap1_LDADD = $(LDADD)
+wrap1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_writecongruencesystem_OBJECTS = writecongruencesystem.$(OBJEXT)
 writecongruencesystem_OBJECTS = $(am_writecongruencesystem_OBJECTS)
 writecongruencesystem_LDADD = $(LDADD)
@@ -784,15 +798,29 @@ writecongruencesystem_DEPENDENCIES =  \
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_$(V))
+am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+am__v_CXX_0 = @echo "  CXX   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_$(V))
+am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(addcongruence1_SOURCES) $(addcongruences1_SOURCES) \
 	$(addconstraint1_SOURCES) $(addconstraints1_SOURCES) \
 	$(addgenerator1_SOURCES) $(addgenerators1_SOURCES) \
@@ -809,12 +837,13 @@ SOURCES = $(addcongruence1_SOURCES) $(addcongruences1_SOURCES) \
 	$(congruence1_SOURCES) $(congruences1_SOURCES) \
 	$(congruences2_SOURCES) $(constraints1_SOURCES) \
 	$(contains1_SOURCES) $(containsintegerpoint1_SOURCES) \
-	$(coveringbox1_SOURCES) $(coveringbox2_SOURCES) \
-	$(discrete1_SOURCES) $(disjoint1_SOURCES) $(equals1_SOURCES) \
+	$(discrete1_SOURCES) $(disjoint1_SOURCES) \
+	$(dropnonintegerpoints1_SOURCES) $(equals1_SOURCES) \
 	$(expandspacedim1_SOURCES) $(foldspacedims1_SOURCES) \
-	$(frombdshape1_SOURCES) $(frombox1_SOURCES) \
-	$(fromgrid1_SOURCES) $(fromoctagonalshape1_SOURCES) \
-	$(frompolyhedron1_SOURCES) $(generalizedaffineimage1_SOURCES) \
+	$(frequency1_SOURCES) $(frombdshape1_SOURCES) \
+	$(frombox1_SOURCES) $(fromgrid1_SOURCES) \
+	$(fromoctagonalshape1_SOURCES) $(frompolyhedron1_SOURCES) \
+	$(generalizedaffineimage1_SOURCES) \
 	$(generalizedaffineimage2_SOURCES) \
 	$(generalizedaffineimage3_SOURCES) \
 	$(generalizedaffinepreimage1_SOURCES) \
@@ -841,7 +870,7 @@ SOURCES = $(addcongruence1_SOURCES) $(addcongruences1_SOURCES) \
 	$(topclosed1_SOURCES) $(topclosure1_SOURCES) \
 	$(unconstrain1_SOURCES) $(upperbound1_SOURCES) \
 	$(upperbound2_SOURCES) $(widening1_SOURCES) \
-	$(widening2_SOURCES) $(widening3_SOURCES) \
+	$(widening2_SOURCES) $(widening3_SOURCES) $(wrap1_SOURCES) \
 	$(writecongruencesystem_SOURCES)
 DIST_SOURCES = $(addcongruence1_SOURCES) $(addcongruences1_SOURCES) \
 	$(addconstraint1_SOURCES) $(addconstraints1_SOURCES) \
@@ -859,12 +888,13 @@ DIST_SOURCES = $(addcongruence1_SOURCES) $(addcongruences1_SOURCES) \
 	$(congruence1_SOURCES) $(congruences1_SOURCES) \
 	$(congruences2_SOURCES) $(constraints1_SOURCES) \
 	$(contains1_SOURCES) $(containsintegerpoint1_SOURCES) \
-	$(coveringbox1_SOURCES) $(coveringbox2_SOURCES) \
-	$(discrete1_SOURCES) $(disjoint1_SOURCES) $(equals1_SOURCES) \
+	$(discrete1_SOURCES) $(disjoint1_SOURCES) \
+	$(dropnonintegerpoints1_SOURCES) $(equals1_SOURCES) \
 	$(expandspacedim1_SOURCES) $(foldspacedims1_SOURCES) \
-	$(frombdshape1_SOURCES) $(frombox1_SOURCES) \
-	$(fromgrid1_SOURCES) $(fromoctagonalshape1_SOURCES) \
-	$(frompolyhedron1_SOURCES) $(generalizedaffineimage1_SOURCES) \
+	$(frequency1_SOURCES) $(frombdshape1_SOURCES) \
+	$(frombox1_SOURCES) $(fromgrid1_SOURCES) \
+	$(fromoctagonalshape1_SOURCES) $(frompolyhedron1_SOURCES) \
+	$(generalizedaffineimage1_SOURCES) \
 	$(generalizedaffineimage2_SOURCES) \
 	$(generalizedaffineimage3_SOURCES) \
 	$(generalizedaffinepreimage1_SOURCES) \
@@ -891,13 +921,16 @@ DIST_SOURCES = $(addcongruence1_SOURCES) $(addcongruences1_SOURCES) \
 	$(topclosed1_SOURCES) $(topclosure1_SOURCES) \
 	$(unconstrain1_SOURCES) $(upperbound1_SOURCES) \
 	$(upperbound2_SOURCES) $(widening1_SOURCES) \
-	$(widening2_SOURCES) $(widening3_SOURCES) \
+	$(widening2_SOURCES) $(widening3_SOURCES) $(wrap1_SOURCES) \
 	$(writecongruencesystem_SOURCES)
 ETAGS = etags
 CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -944,6 +977,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -961,8 +996,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -970,6 +1015,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -986,12 +1032,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -1034,11 +1083,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -1068,6 +1115,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -1075,6 +1123,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 @VALGRIND_TESTS_ENABLED_FALSE at CHECKER = 
 @VALGRIND_TESTS_ENABLED_TRUE at CHECKER = \
 @VALGRIND_TESTS_ENABLED_TRUE@$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
@@ -1133,8 +1182,10 @@ contains1_SOURCES = contains1.cc
 containsintegerpoint1_SOURCES = containsintegerpoint1.cc
 discrete1_SOURCES = discrete1.cc
 disjoint1_SOURCES = disjoint1.cc
+dropnonintegerpoints1_SOURCES = dropnonintegerpoints1.cc
 equals1_SOURCES = equals1.cc
 expandspacedim1_SOURCES = expandspacedim1.cc
+frequency1_SOURCES = frequency1.cc
 frombdshape1_SOURCES = frombdshape1.cc
 frombox1_SOURCES = frombox1.cc
 fromgrid1_SOURCES = fromgrid1.cc
@@ -1150,8 +1201,6 @@ generalizedaffinepreimage3_SOURCES = generalizedaffinepreimage3.cc
 generator1_SOURCES = generator1.cc
 generators1_SOURCES = generators1.cc
 generators2_SOURCES = generators2.cc
-coveringbox1_SOURCES = coveringbox1.cc
-coveringbox2_SOURCES = coveringbox2.cc
 grid1_SOURCES = grid1.cc
 grid2_SOURCES = grid2.cc
 grid3_SOURCES = grid3.cc
@@ -1192,6 +1241,7 @@ widening1_SOURCES = widening1.cc
 widening2_SOURCES = widening2.cc
 widening3_SOURCES = widening3.cc
 writecongruencesystem_SOURCES = writecongruencesystem.cc
+wrap1_SOURCES = wrap1.cc
 MOSTLYCLEANFILES = \
 ascii_dump_load1.dat \
 ascii_dump_load2.dat \
@@ -1209,14 +1259,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  tests/Grid/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  tests/Grid/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/Grid/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign tests/Grid/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -1234,292 +1284,298 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 clean-checkPROGRAMS:
-	@list='$(check_PROGRAMS)'; for p in $$list; do \
-	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  echo " rm -f $$p $$f"; \
-	  rm -f $$p $$f ; \
-	done
+	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
 addcongruence1$(EXEEXT): $(addcongruence1_OBJECTS) $(addcongruence1_DEPENDENCIES) 
 	@rm -f addcongruence1$(EXEEXT)
-	$(CXXLINK) $(addcongruence1_OBJECTS) $(addcongruence1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(addcongruence1_OBJECTS) $(addcongruence1_LDADD) $(LIBS)
 addcongruences1$(EXEEXT): $(addcongruences1_OBJECTS) $(addcongruences1_DEPENDENCIES) 
 	@rm -f addcongruences1$(EXEEXT)
-	$(CXXLINK) $(addcongruences1_OBJECTS) $(addcongruences1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(addcongruences1_OBJECTS) $(addcongruences1_LDADD) $(LIBS)
 addconstraint1$(EXEEXT): $(addconstraint1_OBJECTS) $(addconstraint1_DEPENDENCIES) 
 	@rm -f addconstraint1$(EXEEXT)
-	$(CXXLINK) $(addconstraint1_OBJECTS) $(addconstraint1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(addconstraint1_OBJECTS) $(addconstraint1_LDADD) $(LIBS)
 addconstraints1$(EXEEXT): $(addconstraints1_OBJECTS) $(addconstraints1_DEPENDENCIES) 
 	@rm -f addconstraints1$(EXEEXT)
-	$(CXXLINK) $(addconstraints1_OBJECTS) $(addconstraints1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(addconstraints1_OBJECTS) $(addconstraints1_LDADD) $(LIBS)
 addgenerator1$(EXEEXT): $(addgenerator1_OBJECTS) $(addgenerator1_DEPENDENCIES) 
 	@rm -f addgenerator1$(EXEEXT)
-	$(CXXLINK) $(addgenerator1_OBJECTS) $(addgenerator1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(addgenerator1_OBJECTS) $(addgenerator1_LDADD) $(LIBS)
 addgenerators1$(EXEEXT): $(addgenerators1_OBJECTS) $(addgenerators1_DEPENDENCIES) 
 	@rm -f addgenerators1$(EXEEXT)
-	$(CXXLINK) $(addgenerators1_OBJECTS) $(addgenerators1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(addgenerators1_OBJECTS) $(addgenerators1_LDADD) $(LIBS)
 addspacedims1$(EXEEXT): $(addspacedims1_OBJECTS) $(addspacedims1_DEPENDENCIES) 
 	@rm -f addspacedims1$(EXEEXT)
-	$(CXXLINK) $(addspacedims1_OBJECTS) $(addspacedims1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(addspacedims1_OBJECTS) $(addspacedims1_LDADD) $(LIBS)
 affinedim1$(EXEEXT): $(affinedim1_OBJECTS) $(affinedim1_DEPENDENCIES) 
 	@rm -f affinedim1$(EXEEXT)
-	$(CXXLINK) $(affinedim1_OBJECTS) $(affinedim1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(affinedim1_OBJECTS) $(affinedim1_LDADD) $(LIBS)
 affineimage1$(EXEEXT): $(affineimage1_OBJECTS) $(affineimage1_DEPENDENCIES) 
 	@rm -f affineimage1$(EXEEXT)
-	$(CXXLINK) $(affineimage1_OBJECTS) $(affineimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(affineimage1_OBJECTS) $(affineimage1_LDADD) $(LIBS)
 affineimage2$(EXEEXT): $(affineimage2_OBJECTS) $(affineimage2_DEPENDENCIES) 
 	@rm -f affineimage2$(EXEEXT)
-	$(CXXLINK) $(affineimage2_OBJECTS) $(affineimage2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(affineimage2_OBJECTS) $(affineimage2_LDADD) $(LIBS)
 affinepreimage1$(EXEEXT): $(affinepreimage1_OBJECTS) $(affinepreimage1_DEPENDENCIES) 
 	@rm -f affinepreimage1$(EXEEXT)
-	$(CXXLINK) $(affinepreimage1_OBJECTS) $(affinepreimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(affinepreimage1_OBJECTS) $(affinepreimage1_LDADD) $(LIBS)
 affinepreimage2$(EXEEXT): $(affinepreimage2_OBJECTS) $(affinepreimage2_DEPENDENCIES) 
 	@rm -f affinepreimage2$(EXEEXT)
-	$(CXXLINK) $(affinepreimage2_OBJECTS) $(affinepreimage2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(affinepreimage2_OBJECTS) $(affinepreimage2_LDADD) $(LIBS)
 approximatepartition1$(EXEEXT): $(approximatepartition1_OBJECTS) $(approximatepartition1_DEPENDENCIES) 
 	@rm -f approximatepartition1$(EXEEXT)
-	$(CXXLINK) $(approximatepartition1_OBJECTS) $(approximatepartition1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(approximatepartition1_OBJECTS) $(approximatepartition1_LDADD) $(LIBS)
 asciidumpload1$(EXEEXT): $(asciidumpload1_OBJECTS) $(asciidumpload1_DEPENDENCIES) 
 	@rm -f asciidumpload1$(EXEEXT)
-	$(CXXLINK) $(asciidumpload1_OBJECTS) $(asciidumpload1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(asciidumpload1_OBJECTS) $(asciidumpload1_LDADD) $(LIBS)
 asciidumpload2$(EXEEXT): $(asciidumpload2_OBJECTS) $(asciidumpload2_DEPENDENCIES) 
 	@rm -f asciidumpload2$(EXEEXT)
-	$(CXXLINK) $(asciidumpload2_OBJECTS) $(asciidumpload2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(asciidumpload2_OBJECTS) $(asciidumpload2_LDADD) $(LIBS)
 asciidumpload3$(EXEEXT): $(asciidumpload3_OBJECTS) $(asciidumpload3_DEPENDENCIES) 
 	@rm -f asciidumpload3$(EXEEXT)
-	$(CXXLINK) $(asciidumpload3_OBJECTS) $(asciidumpload3_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(asciidumpload3_OBJECTS) $(asciidumpload3_LDADD) $(LIBS)
 asciidumpload4$(EXEEXT): $(asciidumpload4_OBJECTS) $(asciidumpload4_DEPENDENCIES) 
 	@rm -f asciidumpload4$(EXEEXT)
-	$(CXXLINK) $(asciidumpload4_OBJECTS) $(asciidumpload4_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(asciidumpload4_OBJECTS) $(asciidumpload4_LDADD) $(LIBS)
 asciidumpload5$(EXEEXT): $(asciidumpload5_OBJECTS) $(asciidumpload5_DEPENDENCIES) 
 	@rm -f asciidumpload5$(EXEEXT)
-	$(CXXLINK) $(asciidumpload5_OBJECTS) $(asciidumpload5_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(asciidumpload5_OBJECTS) $(asciidumpload5_LDADD) $(LIBS)
 asciidumpload6$(EXEEXT): $(asciidumpload6_OBJECTS) $(asciidumpload6_DEPENDENCIES) 
 	@rm -f asciidumpload6$(EXEEXT)
-	$(CXXLINK) $(asciidumpload6_OBJECTS) $(asciidumpload6_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(asciidumpload6_OBJECTS) $(asciidumpload6_LDADD) $(LIBS)
 bhz03widening1$(EXEEXT): $(bhz03widening1_OBJECTS) $(bhz03widening1_DEPENDENCIES) 
 	@rm -f bhz03widening1$(EXEEXT)
-	$(CXXLINK) $(bhz03widening1_OBJECTS) $(bhz03widening1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(bhz03widening1_OBJECTS) $(bhz03widening1_LDADD) $(LIBS)
 bounded1$(EXEEXT): $(bounded1_OBJECTS) $(bounded1_DEPENDENCIES) 
 	@rm -f bounded1$(EXEEXT)
-	$(CXXLINK) $(bounded1_OBJECTS) $(bounded1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(bounded1_OBJECTS) $(bounded1_LDADD) $(LIBS)
 boundedaffineimage1$(EXEEXT): $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_DEPENDENCIES) 
 	@rm -f boundedaffineimage1$(EXEEXT)
-	$(CXXLINK) $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_LDADD) $(LIBS)
 boundedaffinepreimage1$(EXEEXT): $(boundedaffinepreimage1_OBJECTS) $(boundedaffinepreimage1_DEPENDENCIES) 
 	@rm -f boundedaffinepreimage1$(EXEEXT)
-	$(CXXLINK) $(boundedaffinepreimage1_OBJECTS) $(boundedaffinepreimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(boundedaffinepreimage1_OBJECTS) $(boundedaffinepreimage1_LDADD) $(LIBS)
 bounds1$(EXEEXT): $(bounds1_OBJECTS) $(bounds1_DEPENDENCIES) 
 	@rm -f bounds1$(EXEEXT)
-	$(CXXLINK) $(bounds1_OBJECTS) $(bounds1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(bounds1_OBJECTS) $(bounds1_LDADD) $(LIBS)
 certificate1$(EXEEXT): $(certificate1_OBJECTS) $(certificate1_DEPENDENCIES) 
 	@rm -f certificate1$(EXEEXT)
-	$(CXXLINK) $(certificate1_OBJECTS) $(certificate1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(certificate1_OBJECTS) $(certificate1_LDADD) $(LIBS)
 concatenate1$(EXEEXT): $(concatenate1_OBJECTS) $(concatenate1_DEPENDENCIES) 
 	@rm -f concatenate1$(EXEEXT)
-	$(CXXLINK) $(concatenate1_OBJECTS) $(concatenate1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(concatenate1_OBJECTS) $(concatenate1_LDADD) $(LIBS)
 congruence1$(EXEEXT): $(congruence1_OBJECTS) $(congruence1_DEPENDENCIES) 
 	@rm -f congruence1$(EXEEXT)
-	$(CXXLINK) $(congruence1_OBJECTS) $(congruence1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(congruence1_OBJECTS) $(congruence1_LDADD) $(LIBS)
 congruences1$(EXEEXT): $(congruences1_OBJECTS) $(congruences1_DEPENDENCIES) 
 	@rm -f congruences1$(EXEEXT)
-	$(CXXLINK) $(congruences1_OBJECTS) $(congruences1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(congruences1_OBJECTS) $(congruences1_LDADD) $(LIBS)
 congruences2$(EXEEXT): $(congruences2_OBJECTS) $(congruences2_DEPENDENCIES) 
 	@rm -f congruences2$(EXEEXT)
-	$(CXXLINK) $(congruences2_OBJECTS) $(congruences2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(congruences2_OBJECTS) $(congruences2_LDADD) $(LIBS)
 constraints1$(EXEEXT): $(constraints1_OBJECTS) $(constraints1_DEPENDENCIES) 
 	@rm -f constraints1$(EXEEXT)
-	$(CXXLINK) $(constraints1_OBJECTS) $(constraints1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(constraints1_OBJECTS) $(constraints1_LDADD) $(LIBS)
 contains1$(EXEEXT): $(contains1_OBJECTS) $(contains1_DEPENDENCIES) 
 	@rm -f contains1$(EXEEXT)
-	$(CXXLINK) $(contains1_OBJECTS) $(contains1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(contains1_OBJECTS) $(contains1_LDADD) $(LIBS)
 containsintegerpoint1$(EXEEXT): $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_DEPENDENCIES) 
 	@rm -f containsintegerpoint1$(EXEEXT)
-	$(CXXLINK) $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_LDADD) $(LIBS)
-coveringbox1$(EXEEXT): $(coveringbox1_OBJECTS) $(coveringbox1_DEPENDENCIES) 
-	@rm -f coveringbox1$(EXEEXT)
-	$(CXXLINK) $(coveringbox1_OBJECTS) $(coveringbox1_LDADD) $(LIBS)
-coveringbox2$(EXEEXT): $(coveringbox2_OBJECTS) $(coveringbox2_DEPENDENCIES) 
-	@rm -f coveringbox2$(EXEEXT)
-	$(CXXLINK) $(coveringbox2_OBJECTS) $(coveringbox2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_LDADD) $(LIBS)
 discrete1$(EXEEXT): $(discrete1_OBJECTS) $(discrete1_DEPENDENCIES) 
 	@rm -f discrete1$(EXEEXT)
-	$(CXXLINK) $(discrete1_OBJECTS) $(discrete1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(discrete1_OBJECTS) $(discrete1_LDADD) $(LIBS)
 disjoint1$(EXEEXT): $(disjoint1_OBJECTS) $(disjoint1_DEPENDENCIES) 
 	@rm -f disjoint1$(EXEEXT)
-	$(CXXLINK) $(disjoint1_OBJECTS) $(disjoint1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(disjoint1_OBJECTS) $(disjoint1_LDADD) $(LIBS)
+dropnonintegerpoints1$(EXEEXT): $(dropnonintegerpoints1_OBJECTS) $(dropnonintegerpoints1_DEPENDENCIES) 
+	@rm -f dropnonintegerpoints1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(dropnonintegerpoints1_OBJECTS) $(dropnonintegerpoints1_LDADD) $(LIBS)
 equals1$(EXEEXT): $(equals1_OBJECTS) $(equals1_DEPENDENCIES) 
 	@rm -f equals1$(EXEEXT)
-	$(CXXLINK) $(equals1_OBJECTS) $(equals1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(equals1_OBJECTS) $(equals1_LDADD) $(LIBS)
 expandspacedim1$(EXEEXT): $(expandspacedim1_OBJECTS) $(expandspacedim1_DEPENDENCIES) 
 	@rm -f expandspacedim1$(EXEEXT)
-	$(CXXLINK) $(expandspacedim1_OBJECTS) $(expandspacedim1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(expandspacedim1_OBJECTS) $(expandspacedim1_LDADD) $(LIBS)
 foldspacedims1$(EXEEXT): $(foldspacedims1_OBJECTS) $(foldspacedims1_DEPENDENCIES) 
 	@rm -f foldspacedims1$(EXEEXT)
-	$(CXXLINK) $(foldspacedims1_OBJECTS) $(foldspacedims1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(foldspacedims1_OBJECTS) $(foldspacedims1_LDADD) $(LIBS)
+frequency1$(EXEEXT): $(frequency1_OBJECTS) $(frequency1_DEPENDENCIES) 
+	@rm -f frequency1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(frequency1_OBJECTS) $(frequency1_LDADD) $(LIBS)
 frombdshape1$(EXEEXT): $(frombdshape1_OBJECTS) $(frombdshape1_DEPENDENCIES) 
 	@rm -f frombdshape1$(EXEEXT)
-	$(CXXLINK) $(frombdshape1_OBJECTS) $(frombdshape1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(frombdshape1_OBJECTS) $(frombdshape1_LDADD) $(LIBS)
 frombox1$(EXEEXT): $(frombox1_OBJECTS) $(frombox1_DEPENDENCIES) 
 	@rm -f frombox1$(EXEEXT)
-	$(CXXLINK) $(frombox1_OBJECTS) $(frombox1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(frombox1_OBJECTS) $(frombox1_LDADD) $(LIBS)
 fromgrid1$(EXEEXT): $(fromgrid1_OBJECTS) $(fromgrid1_DEPENDENCIES) 
 	@rm -f fromgrid1$(EXEEXT)
-	$(CXXLINK) $(fromgrid1_OBJECTS) $(fromgrid1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(fromgrid1_OBJECTS) $(fromgrid1_LDADD) $(LIBS)
 fromoctagonalshape1$(EXEEXT): $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_DEPENDENCIES) 
 	@rm -f fromoctagonalshape1$(EXEEXT)
-	$(CXXLINK) $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_LDADD) $(LIBS)
 frompolyhedron1$(EXEEXT): $(frompolyhedron1_OBJECTS) $(frompolyhedron1_DEPENDENCIES) 
 	@rm -f frompolyhedron1$(EXEEXT)
-	$(CXXLINK) $(frompolyhedron1_OBJECTS) $(frompolyhedron1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(frompolyhedron1_OBJECTS) $(frompolyhedron1_LDADD) $(LIBS)
 generalizedaffineimage1$(EXEEXT): $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_DEPENDENCIES) 
 	@rm -f generalizedaffineimage1$(EXEEXT)
-	$(CXXLINK) $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_LDADD) $(LIBS)
 generalizedaffineimage2$(EXEEXT): $(generalizedaffineimage2_OBJECTS) $(generalizedaffineimage2_DEPENDENCIES) 
 	@rm -f generalizedaffineimage2$(EXEEXT)
-	$(CXXLINK) $(generalizedaffineimage2_OBJECTS) $(generalizedaffineimage2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffineimage2_OBJECTS) $(generalizedaffineimage2_LDADD) $(LIBS)
 generalizedaffineimage3$(EXEEXT): $(generalizedaffineimage3_OBJECTS) $(generalizedaffineimage3_DEPENDENCIES) 
 	@rm -f generalizedaffineimage3$(EXEEXT)
-	$(CXXLINK) $(generalizedaffineimage3_OBJECTS) $(generalizedaffineimage3_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffineimage3_OBJECTS) $(generalizedaffineimage3_LDADD) $(LIBS)
 generalizedaffinepreimage1$(EXEEXT): $(generalizedaffinepreimage1_OBJECTS) $(generalizedaffinepreimage1_DEPENDENCIES) 
 	@rm -f generalizedaffinepreimage1$(EXEEXT)
-	$(CXXLINK) $(generalizedaffinepreimage1_OBJECTS) $(generalizedaffinepreimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffinepreimage1_OBJECTS) $(generalizedaffinepreimage1_LDADD) $(LIBS)
 generalizedaffinepreimage2$(EXEEXT): $(generalizedaffinepreimage2_OBJECTS) $(generalizedaffinepreimage2_DEPENDENCIES) 
 	@rm -f generalizedaffinepreimage2$(EXEEXT)
-	$(CXXLINK) $(generalizedaffinepreimage2_OBJECTS) $(generalizedaffinepreimage2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffinepreimage2_OBJECTS) $(generalizedaffinepreimage2_LDADD) $(LIBS)
 generalizedaffinepreimage3$(EXEEXT): $(generalizedaffinepreimage3_OBJECTS) $(generalizedaffinepreimage3_DEPENDENCIES) 
 	@rm -f generalizedaffinepreimage3$(EXEEXT)
-	$(CXXLINK) $(generalizedaffinepreimage3_OBJECTS) $(generalizedaffinepreimage3_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffinepreimage3_OBJECTS) $(generalizedaffinepreimage3_LDADD) $(LIBS)
 generator1$(EXEEXT): $(generator1_OBJECTS) $(generator1_DEPENDENCIES) 
 	@rm -f generator1$(EXEEXT)
-	$(CXXLINK) $(generator1_OBJECTS) $(generator1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(generator1_OBJECTS) $(generator1_LDADD) $(LIBS)
 generators1$(EXEEXT): $(generators1_OBJECTS) $(generators1_DEPENDENCIES) 
 	@rm -f generators1$(EXEEXT)
-	$(CXXLINK) $(generators1_OBJECTS) $(generators1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(generators1_OBJECTS) $(generators1_LDADD) $(LIBS)
 generators2$(EXEEXT): $(generators2_OBJECTS) $(generators2_DEPENDENCIES) 
 	@rm -f generators2$(EXEEXT)
-	$(CXXLINK) $(generators2_OBJECTS) $(generators2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(generators2_OBJECTS) $(generators2_LDADD) $(LIBS)
 grid1$(EXEEXT): $(grid1_OBJECTS) $(grid1_DEPENDENCIES) 
 	@rm -f grid1$(EXEEXT)
-	$(CXXLINK) $(grid1_OBJECTS) $(grid1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(grid1_OBJECTS) $(grid1_LDADD) $(LIBS)
 grid2$(EXEEXT): $(grid2_OBJECTS) $(grid2_DEPENDENCIES) 
 	@rm -f grid2$(EXEEXT)
-	$(CXXLINK) $(grid2_OBJECTS) $(grid2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(grid2_OBJECTS) $(grid2_LDADD) $(LIBS)
 grid3$(EXEEXT): $(grid3_OBJECTS) $(grid3_DEPENDENCIES) 
 	@rm -f grid3$(EXEEXT)
-	$(CXXLINK) $(grid3_OBJECTS) $(grid3_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(grid3_OBJECTS) $(grid3_LDADD) $(LIBS)
 griddifference1$(EXEEXT): $(griddifference1_OBJECTS) $(griddifference1_DEPENDENCIES) 
 	@rm -f griddifference1$(EXEEXT)
-	$(CXXLINK) $(griddifference1_OBJECTS) $(griddifference1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(griddifference1_OBJECTS) $(griddifference1_LDADD) $(LIBS)
 intersection1$(EXEEXT): $(intersection1_OBJECTS) $(intersection1_DEPENDENCIES) 
 	@rm -f intersection1$(EXEEXT)
-	$(CXXLINK) $(intersection1_OBJECTS) $(intersection1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(intersection1_OBJECTS) $(intersection1_LDADD) $(LIBS)
 isempty1$(EXEEXT): $(isempty1_OBJECTS) $(isempty1_DEPENDENCIES) 
 	@rm -f isempty1$(EXEEXT)
-	$(CXXLINK) $(isempty1_OBJECTS) $(isempty1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(isempty1_OBJECTS) $(isempty1_LDADD) $(LIBS)
 isuniverse1$(EXEEXT): $(isuniverse1_OBJECTS) $(isuniverse1_DEPENDENCIES) 
 	@rm -f isuniverse1$(EXEEXT)
-	$(CXXLINK) $(isuniverse1_OBJECTS) $(isuniverse1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(isuniverse1_OBJECTS) $(isuniverse1_LDADD) $(LIBS)
 limitedextrapolation1$(EXEEXT): $(limitedextrapolation1_OBJECTS) $(limitedextrapolation1_DEPENDENCIES) 
 	@rm -f limitedextrapolation1$(EXEEXT)
-	$(CXXLINK) $(limitedextrapolation1_OBJECTS) $(limitedextrapolation1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(limitedextrapolation1_OBJECTS) $(limitedextrapolation1_LDADD) $(LIBS)
 limitedextrapolation2$(EXEEXT): $(limitedextrapolation2_OBJECTS) $(limitedextrapolation2_DEPENDENCIES) 
 	@rm -f limitedextrapolation2$(EXEEXT)
-	$(CXXLINK) $(limitedextrapolation2_OBJECTS) $(limitedextrapolation2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(limitedextrapolation2_OBJECTS) $(limitedextrapolation2_LDADD) $(LIBS)
 limitedextrapolation3$(EXEEXT): $(limitedextrapolation3_OBJECTS) $(limitedextrapolation3_DEPENDENCIES) 
 	@rm -f limitedextrapolation3$(EXEEXT)
-	$(CXXLINK) $(limitedextrapolation3_OBJECTS) $(limitedextrapolation3_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(limitedextrapolation3_OBJECTS) $(limitedextrapolation3_LDADD) $(LIBS)
 mapspacedims1$(EXEEXT): $(mapspacedims1_OBJECTS) $(mapspacedims1_DEPENDENCIES) 
 	@rm -f mapspacedims1$(EXEEXT)
-	$(CXXLINK) $(mapspacedims1_OBJECTS) $(mapspacedims1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(mapspacedims1_OBJECTS) $(mapspacedims1_LDADD) $(LIBS)
 maxmin1$(EXEEXT): $(maxmin1_OBJECTS) $(maxmin1_DEPENDENCIES) 
 	@rm -f maxmin1$(EXEEXT)
-	$(CXXLINK) $(maxmin1_OBJECTS) $(maxmin1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(maxmin1_OBJECTS) $(maxmin1_LDADD) $(LIBS)
 membytes1$(EXEEXT): $(membytes1_OBJECTS) $(membytes1_DEPENDENCIES) 
 	@rm -f membytes1$(EXEEXT)
-	$(CXXLINK) $(membytes1_OBJECTS) $(membytes1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(membytes1_OBJECTS) $(membytes1_LDADD) $(LIBS)
 mincongruences1$(EXEEXT): $(mincongruences1_OBJECTS) $(mincongruences1_DEPENDENCIES) 
 	@rm -f mincongruences1$(EXEEXT)
-	$(CXXLINK) $(mincongruences1_OBJECTS) $(mincongruences1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(mincongruences1_OBJECTS) $(mincongruences1_LDADD) $(LIBS)
 mingenerators1$(EXEEXT): $(mingenerators1_OBJECTS) $(mingenerators1_DEPENDENCIES) 
 	@rm -f mingenerators1$(EXEEXT)
-	$(CXXLINK) $(mingenerators1_OBJECTS) $(mingenerators1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(mingenerators1_OBJECTS) $(mingenerators1_LDADD) $(LIBS)
 outputoperator1$(EXEEXT): $(outputoperator1_OBJECTS) $(outputoperator1_DEPENDENCIES) 
 	@rm -f outputoperator1$(EXEEXT)
-	$(CXXLINK) $(outputoperator1_OBJECTS) $(outputoperator1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(outputoperator1_OBJECTS) $(outputoperator1_LDADD) $(LIBS)
 outputoperator2$(EXEEXT): $(outputoperator2_OBJECTS) $(outputoperator2_DEPENDENCIES) 
 	@rm -f outputoperator2$(EXEEXT)
-	$(CXXLINK) $(outputoperator2_OBJECTS) $(outputoperator2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(outputoperator2_OBJECTS) $(outputoperator2_LDADD) $(LIBS)
 outputoperator3$(EXEEXT): $(outputoperator3_OBJECTS) $(outputoperator3_DEPENDENCIES) 
 	@rm -f outputoperator3$(EXEEXT)
-	$(CXXLINK) $(outputoperator3_OBJECTS) $(outputoperator3_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(outputoperator3_OBJECTS) $(outputoperator3_LDADD) $(LIBS)
 partition1$(EXEEXT): $(partition1_OBJECTS) $(partition1_DEPENDENCIES) 
 	@rm -f partition1$(EXEEXT)
-	$(CXXLINK) $(partition1_OBJECTS) $(partition1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(partition1_OBJECTS) $(partition1_LDADD) $(LIBS)
 powersetdifference1$(EXEEXT): $(powersetdifference1_OBJECTS) $(powersetdifference1_DEPENDENCIES) 
 	@rm -f powersetdifference1$(EXEEXT)
-	$(CXXLINK) $(powersetdifference1_OBJECTS) $(powersetdifference1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(powersetdifference1_OBJECTS) $(powersetdifference1_LDADD) $(LIBS)
 powersetgeometricallycovers1$(EXEEXT): $(powersetgeometricallycovers1_OBJECTS) $(powersetgeometricallycovers1_DEPENDENCIES) 
 	@rm -f powersetgeometricallycovers1$(EXEEXT)
-	$(CXXLINK) $(powersetgeometricallycovers1_OBJECTS) $(powersetgeometricallycovers1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(powersetgeometricallycovers1_OBJECTS) $(powersetgeometricallycovers1_LDADD) $(LIBS)
 powersetgeometricallyequals1$(EXEEXT): $(powersetgeometricallyequals1_OBJECTS) $(powersetgeometricallyequals1_DEPENDENCIES) 
 	@rm -f powersetgeometricallyequals1$(EXEEXT)
-	$(CXXLINK) $(powersetgeometricallyequals1_OBJECTS) $(powersetgeometricallyequals1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(powersetgeometricallyequals1_OBJECTS) $(powersetgeometricallyequals1_LDADD) $(LIBS)
 refinewithcongruences1$(EXEEXT): $(refinewithcongruences1_OBJECTS) $(refinewithcongruences1_DEPENDENCIES) 
 	@rm -f refinewithcongruences1$(EXEEXT)
-	$(CXXLINK) $(refinewithcongruences1_OBJECTS) $(refinewithcongruences1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(refinewithcongruences1_OBJECTS) $(refinewithcongruences1_LDADD) $(LIBS)
 refinewithconstraints1$(EXEEXT): $(refinewithconstraints1_OBJECTS) $(refinewithconstraints1_DEPENDENCIES) 
 	@rm -f refinewithconstraints1$(EXEEXT)
-	$(CXXLINK) $(refinewithconstraints1_OBJECTS) $(refinewithconstraints1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(refinewithconstraints1_OBJECTS) $(refinewithconstraints1_LDADD) $(LIBS)
 relations1$(EXEEXT): $(relations1_OBJECTS) $(relations1_DEPENDENCIES) 
 	@rm -f relations1$(EXEEXT)
-	$(CXXLINK) $(relations1_OBJECTS) $(relations1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(relations1_OBJECTS) $(relations1_LDADD) $(LIBS)
 relations2$(EXEEXT): $(relations2_OBJECTS) $(relations2_DEPENDENCIES) 
 	@rm -f relations2$(EXEEXT)
-	$(CXXLINK) $(relations2_OBJECTS) $(relations2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(relations2_OBJECTS) $(relations2_LDADD) $(LIBS)
 relations3$(EXEEXT): $(relations3_OBJECTS) $(relations3_DEPENDENCIES) 
 	@rm -f relations3$(EXEEXT)
-	$(CXXLINK) $(relations3_OBJECTS) $(relations3_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(relations3_OBJECTS) $(relations3_LDADD) $(LIBS)
 removespacedims1$(EXEEXT): $(removespacedims1_OBJECTS) $(removespacedims1_DEPENDENCIES) 
 	@rm -f removespacedims1$(EXEEXT)
-	$(CXXLINK) $(removespacedims1_OBJECTS) $(removespacedims1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(removespacedims1_OBJECTS) $(removespacedims1_LDADD) $(LIBS)
 removespacedims2$(EXEEXT): $(removespacedims2_OBJECTS) $(removespacedims2_DEPENDENCIES) 
 	@rm -f removespacedims2$(EXEEXT)
-	$(CXXLINK) $(removespacedims2_OBJECTS) $(removespacedims2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(removespacedims2_OBJECTS) $(removespacedims2_LDADD) $(LIBS)
 simplifyusingcontext1$(EXEEXT): $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_DEPENDENCIES) 
 	@rm -f simplifyusingcontext1$(EXEEXT)
-	$(CXXLINK) $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_LDADD) $(LIBS)
 timeelapse1$(EXEEXT): $(timeelapse1_OBJECTS) $(timeelapse1_DEPENDENCIES) 
 	@rm -f timeelapse1$(EXEEXT)
-	$(CXXLINK) $(timeelapse1_OBJECTS) $(timeelapse1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(timeelapse1_OBJECTS) $(timeelapse1_LDADD) $(LIBS)
 topclosed1$(EXEEXT): $(topclosed1_OBJECTS) $(topclosed1_DEPENDENCIES) 
 	@rm -f topclosed1$(EXEEXT)
-	$(CXXLINK) $(topclosed1_OBJECTS) $(topclosed1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(topclosed1_OBJECTS) $(topclosed1_LDADD) $(LIBS)
 topclosure1$(EXEEXT): $(topclosure1_OBJECTS) $(topclosure1_DEPENDENCIES) 
 	@rm -f topclosure1$(EXEEXT)
-	$(CXXLINK) $(topclosure1_OBJECTS) $(topclosure1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(topclosure1_OBJECTS) $(topclosure1_LDADD) $(LIBS)
 unconstrain1$(EXEEXT): $(unconstrain1_OBJECTS) $(unconstrain1_DEPENDENCIES) 
 	@rm -f unconstrain1$(EXEEXT)
-	$(CXXLINK) $(unconstrain1_OBJECTS) $(unconstrain1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(unconstrain1_OBJECTS) $(unconstrain1_LDADD) $(LIBS)
 upperbound1$(EXEEXT): $(upperbound1_OBJECTS) $(upperbound1_DEPENDENCIES) 
 	@rm -f upperbound1$(EXEEXT)
-	$(CXXLINK) $(upperbound1_OBJECTS) $(upperbound1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(upperbound1_OBJECTS) $(upperbound1_LDADD) $(LIBS)
 upperbound2$(EXEEXT): $(upperbound2_OBJECTS) $(upperbound2_DEPENDENCIES) 
 	@rm -f upperbound2$(EXEEXT)
-	$(CXXLINK) $(upperbound2_OBJECTS) $(upperbound2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(upperbound2_OBJECTS) $(upperbound2_LDADD) $(LIBS)
 widening1$(EXEEXT): $(widening1_OBJECTS) $(widening1_DEPENDENCIES) 
 	@rm -f widening1$(EXEEXT)
-	$(CXXLINK) $(widening1_OBJECTS) $(widening1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(widening1_OBJECTS) $(widening1_LDADD) $(LIBS)
 widening2$(EXEEXT): $(widening2_OBJECTS) $(widening2_DEPENDENCIES) 
 	@rm -f widening2$(EXEEXT)
-	$(CXXLINK) $(widening2_OBJECTS) $(widening2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(widening2_OBJECTS) $(widening2_LDADD) $(LIBS)
 widening3$(EXEEXT): $(widening3_OBJECTS) $(widening3_DEPENDENCIES) 
 	@rm -f widening3$(EXEEXT)
-	$(CXXLINK) $(widening3_OBJECTS) $(widening3_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(widening3_OBJECTS) $(widening3_LDADD) $(LIBS)
+wrap1$(EXEEXT): $(wrap1_OBJECTS) $(wrap1_DEPENDENCIES) 
+	@rm -f wrap1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(wrap1_OBJECTS) $(wrap1_LDADD) $(LIBS)
 writecongruencesystem$(EXEEXT): $(writecongruencesystem_OBJECTS) $(writecongruencesystem_DEPENDENCIES) 
 	@rm -f writecongruencesystem$(EXEEXT)
-	$(CXXLINK) $(writecongruencesystem_OBJECTS) $(writecongruencesystem_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(writecongruencesystem_OBJECTS) $(writecongruencesystem_LDADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -1559,13 +1615,13 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/constraints1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/contains1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/containsintegerpoint1.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/coveringbox1.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/coveringbox2.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/discrete1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/disjoint1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dropnonintegerpoints1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/equals1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/expandspacedim1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/foldspacedims1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/frequency1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/frombdshape1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/frombox1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fromgrid1.Po at am__quote@
@@ -1619,25 +1675,29 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/widening1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/widening2.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/widening3.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/wrap1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/writecongruencesystem.Po at am__quote@
 
 .cc.o:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
- at am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
@@ -1653,14 +1713,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
@@ -1668,37 +1728,43 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
 check-TESTS: $(TESTS)
-	@failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[	 ]'; \
+	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
 	srcdir=$(srcdir); export srcdir; \
 	list=' $(TESTS) '; \
+	$(am__tty_colors); \
 	if test -n "$$list"; then \
 	  for tst in $$list; do \
 	    if test -f ./$$tst; then dir=./; \
@@ -1707,49 +1773,63 @@ check-TESTS: $(TESTS)
 	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
 	      all=`expr $$all + 1`; \
 	      case " $(XFAIL_TESTS) " in \
-	      *$$ws$$tst$$ws*) \
+	      *[\ \	]$$tst[\ \	]*) \
 		xpass=`expr $$xpass + 1`; \
 		failed=`expr $$failed + 1`; \
-		echo "XPASS: $$tst"; \
+		col=$$red; res=XPASS; \
 	      ;; \
 	      *) \
-		echo "PASS: $$tst"; \
+		col=$$grn; res=PASS; \
 	      ;; \
 	      esac; \
 	    elif test $$? -ne 77; then \
 	      all=`expr $$all + 1`; \
 	      case " $(XFAIL_TESTS) " in \
-	      *$$ws$$tst$$ws*) \
+	      *[\ \	]$$tst[\ \	]*) \
 		xfail=`expr $$xfail + 1`; \
-		echo "XFAIL: $$tst"; \
+		col=$$lgn; res=XFAIL; \
 	      ;; \
 	      *) \
 		failed=`expr $$failed + 1`; \
-		echo "FAIL: $$tst"; \
+		col=$$red; res=FAIL; \
 	      ;; \
 	      esac; \
 	    else \
 	      skip=`expr $$skip + 1`; \
-	      echo "SKIP: $$tst"; \
+	      col=$$blu; res=SKIP; \
 	    fi; \
+	    echo "$${col}$$res$${std}: $$tst"; \
 	  done; \
+	  if test "$$all" -eq 1; then \
+	    tests="test"; \
+	    All=""; \
+	  else \
+	    tests="tests"; \
+	    All="All "; \
+	  fi; \
 	  if test "$$failed" -eq 0; then \
 	    if test "$$xfail" -eq 0; then \
-	      banner="All $$all tests passed"; \
+	      banner="$$All$$all $$tests passed"; \
 	    else \
-	      banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
+	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
 	    fi; \
 	  else \
 	    if test "$$xpass" -eq 0; then \
-	      banner="$$failed of $$all tests failed"; \
+	      banner="$$failed of $$all $$tests failed"; \
 	    else \
-	      banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
+	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
 	    fi; \
 	  fi; \
 	  dashes="$$banner"; \
 	  skipped=""; \
 	  if test "$$skip" -ne 0; then \
-	    skipped="($$skip tests were not run)"; \
+	    if test "$$skip" -eq 1; then \
+	      skipped="($$skip test was not run)"; \
+	    else \
+	      skipped="($$skip tests were not run)"; \
+	    fi; \
 	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
 	      dashes="$$skipped"; \
 	  fi; \
@@ -1760,11 +1840,15 @@ check-TESTS: $(TESTS)
 	      dashes="$$report"; \
 	  fi; \
 	  dashes=`echo "$$dashes" | sed s/./=/g`; \
-	  echo "$$dashes"; \
+	  if test "$$failed" -eq 0; then \
+	    echo "$$grn$$dashes"; \
+	  else \
+	    echo "$$red$$dashes"; \
+	  fi; \
 	  echo "$$banner"; \
 	  test -z "$$skipped" || echo "$$skipped"; \
 	  test -z "$$report" || echo "$$report"; \
-	  echo "$$dashes"; \
+	  echo "$$dashes$$std"; \
 	  test "$$failed" -eq 0; \
 	else :; fi
 
@@ -1784,13 +1868,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -1821,6 +1909,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -1842,6 +1931,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -1850,18 +1941,28 @@ install-data-am:
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am:
 
 install-html: install-html-am
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-am
 
+install-pdf-am:
+
 install-ps: install-ps-am
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -1884,7 +1985,7 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: install-am install-strip
+.MAKE: check-am install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
 	clean-checkPROGRAMS clean-generic clean-libtool ctags \
@@ -1909,6 +2010,7 @@ $(top_builddir)/tests/libppl_tests.a:
 
 $(top_builddir)/src/libppl.la:
 	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libppl.la
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/tests/Grid/addcongruence1.cc b/tests/Grid/addcongruence1.cc
index a17db4c..2e642f2 100644
--- a/tests/Grid/addcongruence1.cc
+++ b/tests/Grid/addcongruence1.cc
@@ -1,5 +1,5 @@
 /* Test methods which add a single congruence to a grid.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -27,7 +27,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace {
 
-// Test add_congruence_and_minimize.
+// Add to the universe grid.
 bool
 test01() {
   Variable A(0);
@@ -41,15 +41,13 @@ test01() {
 
   print_congruences(gr, "*** gr.add_congruence((A + B %= 0) / 6) ***");
 
-  gr.add_congruence_and_minimize((A + B %= 0) / 3);
-
   Grid known_gr(2);
   known_gr.add_congruence((A + B %= 0) / 6);
 
   bool ok = (gr == known_gr) ;
 
   print_congruences(gr,
-		    "*** gr.add_congruence_and_minimize((A + B %= 0) / 3) ***");
+		    "*** gr.add_congruence((A + B %= 0) / 3) ***");
 
   return ok;
 }
@@ -100,33 +98,9 @@ test03() {
   return ok;
 }
 
-// Add a congruence and minimize with less dimensions than the grid.
-bool
-test04() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Grid gr(3);
-  gr.add_congruence((B %= 0) / 7);
-  gr.add_congruence_and_minimize((A %= 0) / 7);
-
-  Grid known_gr(3, EMPTY);
-  known_gr.add_grid_generator(grid_point());
-  known_gr.add_grid_generator(parameter(7*A));
-  known_gr.add_grid_generator(parameter(7*B));
-  known_gr.add_grid_generator(grid_line(C));
-
-  bool ok = (gr == known_gr);
-
-  print_congruences(gr, "***  gr.add_congruence((A %= 0) / 7) ***");
-
-  return ok;
-}
-
 // Space dimension exception.
 static bool
-test05() {
+test04() {
   Variable A(0);
   Variable C(2);
 
@@ -151,5 +125,4 @@ BEGIN_MAIN
   DO_TEST(test02);
   DO_TEST(test03);
   DO_TEST(test04);
-  DO_TEST(test05);
 END_MAIN
diff --git a/tests/Grid/addcongruences1.cc b/tests/Grid/addcongruences1.cc
index 1bb8f26..f14e2b7 100644
--- a/tests/Grid/addcongruences1.cc
+++ b/tests/Grid/addcongruences1.cc
@@ -1,5 +1,5 @@
 /* Test methods which can add multiple congruences to a grid.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -80,64 +80,9 @@ test02() {
   return ok;
 }
 
-// add_congruences_and_minimize
-bool
-test03() {
-  Variable A(0);
-  Variable B(1);
-
-  Congruence_System cgs;
-  cgs.insert((A %= 0) / 2);
-  cgs.insert(A + B == 0);
-
-  Grid gr(2);
-
-  print_congruences(gr, "*** gr ***");
-
-  gr.add_congruences_and_minimize(cgs);
-
-  Grid known_gr(2, EMPTY);
-  known_gr.add_grid_generator(grid_point());
-  known_gr.add_grid_generator(grid_point(2*A - 2*B));
-
-  bool ok = (gr == known_gr);
-
-  print_congruences(gr, "*** gr.add_congruences_and_minimize(cgs) ***");
-
-  return ok;
-}
-
-// add_recycled_congruences_and_minimize
-bool
-test04() {
-  Variable A(0);
-  Variable B(1);
-
-  Congruence_System cgs;
-  cgs.insert((B %= 0) / 2);
-  cgs.insert(A - B == 0);
-
-  Grid gr(2);
-
-  print_congruences(gr, "*** gr ***");
-
-  gr.add_recycled_congruences_and_minimize(cgs);
-
-  Grid known_gr(2, EMPTY);
-  known_gr.add_grid_generator(grid_point());
-  known_gr.add_grid_generator(grid_point(2*A + 2*B));
-
-  bool ok = (gr == known_gr);
-
-  print_congruences(gr,
-		    "*** gr.add_recycled_congruences_and_minimize(cgs) ***");
-
-  return ok;
-}
-
 // add_recycled_congruences(cgs) -- space dimension exception
 bool
-test05() {
+test03() {
   Variable A(0);
   Variable B(1);
   Variable C(2);
@@ -159,55 +104,9 @@ test05() {
   return false;
 }
 
-// add_congruences(cgs) -- space dimension exception
-
-bool
-test06() {
-  Variable B(1);
-
-  Congruence_System cgs;
-  cgs.insert(B == 0);
-
-  Grid gr(1);
-
-  try {
-    gr.add_congruences(cgs);
-  }
-  catch (const std::invalid_argument& e) {
-    nout << "invalid_argument: " << e.what() << endl;
-    return true;
-  }
-  catch (...) {
-  }
-  return false;
-}
-
-// add_recycled_congruences_and_minimize(cgs) -- space dimension
-// exception
-bool
-test07() {
-  Variable B(1);
-
-  Congruence_System cgs;
-  cgs.insert(B == 0);
-
-  Grid gr(1);
-
-  try {
-    gr.add_recycled_congruences_and_minimize(cgs);
-  }
-  catch (const std::invalid_argument& e) {
-    nout << "invalid_argument: " << e.what() << endl;
-    return true;
-  }
-  catch (...) {
-  }
-  return false;
-}
-
 // add_recycled_congruences, empty grid.
 bool
-test08() {
+test04() {
   Variable A(0);
   Variable B(1);
 
@@ -229,59 +128,55 @@ test08() {
   return ok;
 }
 
-// add_recycled_congruences_and_minimize, add empty system.
+// add_recycled_congruences, add system of single trivial
+// congruence to zero dim grid.
 bool
-test09() {
-  Variable A(0);
-  Variable B(1);
+test05() {
 
-  Grid gr(2, EMPTY);
+  Grid gr(0);
 
   print_congruences(gr, "*** gr ***");
 
-  gr.add_grid_generator(grid_point(3*A + B));
-
   Grid known_gr = gr;
 
   Congruence_System cgs;
+  cgs.insert(Congruence::zero_dim_integrality());
 
-  gr.add_recycled_congruences_and_minimize(cgs);
+  gr.add_recycled_congruences(cgs);
 
   bool ok = (gr == known_gr);
 
   print_congruences(gr,
-		    "*** gr.add_recycled_congruences_and_minimize(cgs ***");
+		    "*** gr.add_recycled_congruences(cgs) ***");
 
   return ok;
 }
 
-// add_recycled_congruences_and_minimize, add system of single trivial
-// congruence to zero dim grid.
+// add_congruences(cgs) -- space dimension exception
 bool
-test10() {
-
-  Grid gr(0);
-
-  print_congruences(gr, "*** gr ***");
-
-  Grid known_gr = gr;
+test06() {
+  Variable B(1);
 
   Congruence_System cgs;
-  cgs.insert(Congruence::zero_dim_integrality());
-
-  gr.add_recycled_congruences_and_minimize(cgs);
-
-  bool ok = (gr == known_gr);
+  cgs.insert(B == 0);
 
-  print_congruences(gr,
-		    "*** gr.add_recycled_congruences_and_minimize(cgs) ***");
+  Grid gr(1);
 
-  return ok;
+  try {
+    gr.add_congruences(cgs);
+  }
+  catch (const std::invalid_argument& e) {
+    nout << "invalid_argument: " << e.what() << endl;
+    return true;
+  }
+  catch (...) {
+  }
+  return false;
 }
 
-// add_recycled_congruences_and_minimize, add to empty grid.
+// add_recycled_congruences, add to empty grid.
 bool
-test11() {
+test07() {
   Variable A(0);
   Variable B(1);
 
@@ -294,20 +189,20 @@ test11() {
   Congruence_System cgs;
   cgs.insert(A + B == 0);
 
-  gr.add_recycled_congruences_and_minimize(cgs);
+  gr.add_recycled_congruences(cgs);
 
   bool ok = (gr == known_gr);
 
   print_congruences(gr,
-		    "*** gr.add_recycled_congruences_and_minimize(cgs) ***");
+		    "*** gr.add_recycled_congruences(cgs) ***");
 
   return ok;
 }
 
-// add_recycled_congruences_and_minimize, add empty system to grid
+// add_recycled_congruences, add empty system to grid
 // with minimized generators and up to date congruences.
 bool
-test12() {
+test08() {
   Variable A(0);
 
   Grid gr(2);
@@ -320,22 +215,22 @@ test12() {
 
   Congruence_System cgs;
 
-  gr.add_recycled_congruences_and_minimize(cgs);
+  gr.add_recycled_congruences(cgs);
 
   Grid known_gr(2);
 
   bool ok = (gr == known_gr);
 
   print_congruences(gr,
-		    "*** gr.add_recycled_congruences_and_minimize(cgs) ***");
+		    "*** gr.add_recycled_congruences(cgs) ***");
 
   return ok;
 }
 
-// add_recycled_congruences_and_minimize, add empty system to grid
+// add_recycled_congruences, add empty system to grid
 // with up to date congruences and generators.
 bool
-test13() {
+test09() {
   Variable A(0);
 
   Grid gr(2);
@@ -347,22 +242,22 @@ test13() {
 
   Congruence_System cgs;
 
-  gr.add_recycled_congruences_and_minimize(cgs);
+  gr.add_recycled_congruences(cgs);
 
   Grid known_gr(2);
 
   bool ok = (gr == known_gr);
 
   print_congruences(gr,
-		    "*** gr.add_recycled_congruences_and_minimize(cgs) ***");
+		    "*** gr.add_recycled_congruences(cgs) ***");
 
   return ok;
 }
 
-// add_recycled_congruences_and_minimize, add congruence in 1D to
+// add_recycled_congruences, add congruence in 1D to
 // universe grid in 2D.
 bool
-test14() {
+test10() {
   Variable A(0);
   Variable B(1);
 
@@ -371,7 +266,7 @@ test14() {
   Congruence_System cgs;
   cgs.insert((A %= 0) / 7);
 
-  gr1.add_recycled_congruences_and_minimize(cgs);
+  gr1.add_recycled_congruences(cgs);
   print_generators(gr1, "*** gr1 ***");
   print_congruences(gr1, "*** gr1 ***");
 
@@ -384,20 +279,20 @@ test14() {
 
   bool ok = (gr1 == known_gr);
 
-  print_congruences(gr1, "*** gr2.add_congruence_and_minimize((22*A %= 3) / 7) ***");
+  print_congruences(gr1, "*** gr1.add_recycled_congruences(cgs) ***");
 
   return ok;
 }
 
-// add_recycled_congruences_and_minimize, add empty system to grid
+// add_recycled_congruences, add empty system to grid
 // with minimized congruences and up to date generators.
 bool
-test15() {
+test11() {
   Variable A(0);
 
   Grid gr(2);
   gr.add_grid_generator(grid_point());
-  gr.add_grid_generator_and_minimize(parameter(3*A));
+  gr.add_grid_generator(parameter(3*A));
 
   // Ensure both systems are up to date with only congruences minimal.
   gr.affine_image(A, 1*A);
@@ -407,14 +302,14 @@ test15() {
 
   Congruence_System cgs;
 
-  gr.add_recycled_congruences_and_minimize(cgs);
+  gr.add_recycled_congruences(cgs);
 
   Grid known_gr(2);
 
   bool ok = (gr == known_gr);
 
   print_congruences(gr,
-		    "*** gr.add_recycled_congruences_and_minimize(cgs) ***");
+		    "*** gr.add_recycled_congruences(cgs) ***");
 
   return ok;
 }
@@ -436,8 +331,4 @@ BEGIN_MAIN
   DO_TEST(test09);
   DO_TEST(test10);
   DO_TEST(test11);
-  DO_TEST(test12);
-  DO_TEST(test13);
-  DO_TEST(test14);
-  DO_TEST(test15);
 END_MAIN
diff --git a/tests/Grid/addconstraint1.cc b/tests/Grid/addconstraint1.cc
index 2e6dda5..a7ba930 100644
--- a/tests/Grid/addconstraint1.cc
+++ b/tests/Grid/addconstraint1.cc
@@ -1,5 +1,5 @@
 /* Test adding single constraints to grids.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -206,47 +206,9 @@ test08() {
   return false;
 }
 
-// add_constraint_and_minimize -- space dimension exception
-bool
-test09() {
-  Variable B(1);
-
-  Grid gr(1);
-
-  try {
-    gr.add_constraint_and_minimize(B == 0);
-  }
-  catch (const std::invalid_argument& e) {
-    nout << "invalid_argument: " << e.what() << endl;
-    return true;
-  }
-  catch (...) {
-  }
-  return false;
-}
-
-// add_constraint_and_minimize -- space dimension exception
-bool
-test10() {
-  Variable B(1);
-
-  Grid gr(1);
-
-  try {
-    gr.add_constraint(B >= 0);
-  }
-  catch (const std::invalid_argument& e) {
-    nout << "invalid_argument: " << e.what() << endl;
-    return true;
-  }
-  catch (...) {
-  }
-  return false;
-}
-
 // add_constraints(1 == 0) to an empty 0-dimensional grid
 bool
-test11() {
+test09() {
 
   Grid gr(0, EMPTY);
 
@@ -275,6 +237,4 @@ BEGIN_MAIN
   DO_TEST(test07);
   DO_TEST(test08);
   DO_TEST(test09);
-  DO_TEST(test10);
-  DO_TEST(test11);
 END_MAIN
diff --git a/tests/Grid/addconstraints1.cc b/tests/Grid/addconstraints1.cc
index 2ff037e..d7e0698 100644
--- a/tests/Grid/addconstraints1.cc
+++ b/tests/Grid/addconstraints1.cc
@@ -1,5 +1,5 @@
 /* Test adding constraints to a grid.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -174,45 +174,16 @@ test06() {
   return ok;
 }
 
-// add_constraints_and_minimize(cs)
-bool
-test07() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-  Variable D(3);
-
-  Constraint_System cs;
-  cs.insert(D == 0);
-  cs.insert(2*A == C);
-
-  Grid gr(4);
-
-  print_congruences(gr, "*** gr ***");
-
-  gr.add_constraints_and_minimize(cs);
-
-  Grid known_gr(4);
-  known_gr.add_congruence((2*A == C) / 0);
-  known_gr.add_congruence((D == 0) / 0);
-
-  bool ok = (gr == known_gr);
-
-  print_congruences(gr, "*** gr.add_constraints_and_minimize(cs) ***");
-
-  return ok;
-}
-
 // add_recycled_constraints
 bool
-test08() {
+test07() {
   Variable A(0);
   Variable B(1);
   Variable C(2);
   Variable D(3);
 
   Constraint_System cs;
-  cs.insert(2*D == 0);
+  cs.insert(2*C == 6*D);
 
   Grid gr(4);
 
@@ -221,7 +192,7 @@ test08() {
   gr.add_recycled_constraints(cs);
 
   Grid known_gr(4);
-  known_gr.add_congruence((D == 0) / 0);
+  known_gr.add_congruence((C == 3*D) / 0);
 
   bool ok = (gr == known_gr);
 
@@ -230,37 +201,10 @@ test08() {
   return ok;
 }
 
-// add_recycled_constraints_and_minimize
-bool
-test09() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-  Variable D(3);
-
-  Constraint_System cs;
-  cs.insert(2*C == 6*D);
-
-  Grid gr(4);
-
-  print_congruences(gr, "*** gr ***");
-
-  gr.add_recycled_constraints_and_minimize(cs);
-
-  Grid known_gr(4);
-  known_gr.add_congruence((C == 3*D) / 0);
-
-  bool ok = (gr == known_gr);
-
-  print_congruences(gr,
-		    "*** gr.add_recycled_constraints_and_minimize(cs) ***");
-
-  return ok;
-}
 
 // add_recycled_constraints(cs) -- space dimension exception
 bool
-test10() {
+test08() {
   Variable A(0);
   Variable B(1);
 
@@ -283,7 +227,7 @@ test10() {
 
 // add_constraints(cs) -- space dimension exception
 bool
-test11() {
+test09() {
   Variable A(0);
   Variable B(1);
 
@@ -306,7 +250,7 @@ test11() {
 
 // add_recycled_constraints(cs) -- space dimension exception
 bool
-test12() {
+test10() {
   Variable A(0);
   Variable B(1);
 
@@ -327,56 +271,9 @@ test12() {
   return false;
 }
 
-// add_recycled_constraints_and_minimize(cs) -- space dimension
-// exception
-bool
-test13() {
-  Variable A(0);
-  Variable B(1);
-
-  Constraint_System cs;
-  cs.insert(A + B == 0);
-
-  Grid gr(1);
-
-  try {
-    gr.add_recycled_constraints_and_minimize(cs);
-  }
-  catch (const std::invalid_argument& e) {
-    nout << "invalid_argument: " << e.what() << endl;
-    return true;
-  }
-  catch (...) {
-  }
-  return false;
-}
-
-// add_constraints_and_minimize(cs) -- space dimension exception
-bool
-test14() {
-  Variable A(0);
-  Variable B(1);
-
-  Constraint_System cs;
-  cs.insert(A + B == 0);
-
-  Grid gr(1);
-
-  try {
-    gr.add_constraints_and_minimize(cs);
-  }
-  catch (const std::invalid_argument& e) {
-    nout << "invalid_argument: " << e.what() << endl;
-    return true;
-  }
-  catch (...) {
-  }
-  return false;
-}
-
 // Construct a congruence system from a constraint system
 bool
-test15() {
+test11() {
   Variable A(0);
   Variable B(1);
   Variable C(2);
@@ -409,7 +306,7 @@ test15() {
 
 // add_constraints(cs) -- non-equality constraint in constraint system.
 bool
-test16() {
+test12() {
   Variable A(0);
   Variable B(1);
 
@@ -446,8 +343,4 @@ BEGIN_MAIN
   DO_TEST(test10);
   DO_TEST(test11);
   DO_TEST(test12);
-  DO_TEST(test13);
-  DO_TEST(test14);
-  DO_TEST(test15);
-  DO_TEST(test16);
 END_MAIN
diff --git a/tests/Grid/addgenerator1.cc b/tests/Grid/addgenerator1.cc
index 329e457..f64d470 100644
--- a/tests/Grid/addgenerator1.cc
+++ b/tests/Grid/addgenerator1.cc
@@ -1,5 +1,5 @@
-/* Test Grid::add_grid_generator*().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Test Grid::add_grid_generator().
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -22,7 +22,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 #include "ppl_test.hh"
 
-// grid1.cc also tests add_grid_generator_and_minimize.
+// grid1.cc also tests add_grid_generator.
 
 // One dimension.
 bool
@@ -150,36 +150,9 @@ test05() {
   return ok;
 }
 
-// add_grid_generator_and_minimize
-bool
-test06() {
-  Variable A(0);
-  Variable B(1);
-
-  Grid gr(2, EMPTY);
-  gr.add_grid_generator(grid_point());
-  gr.add_grid_generator(grid_point(2*A + 2*B));
-
-  print_congruences(gr, "*** gr ***");
-
-  gr.add_grid_generator(grid_point(8*A + 8*B));
-
-  gr.add_grid_generator_and_minimize(grid_line(A));
-
-  Grid known_gr(2);
-  known_gr.add_congruence((B %= 0) / 2);
-
-  bool ok = (gr == known_gr);
-
-  print_congruences(gr,
-		    "*** gr.add_grid_generator_and_minimize(grid_line(A)) ***");
-
-  return ok;
-}
-
 // Add a generator to a universe grid.
 bool
-test07() {
+test06() {
   Variable A(0);
   Variable B(1);
   Variable C(2);
@@ -201,10 +174,9 @@ test07() {
   return ok;
 }
 
-// add_grid_generator_and_minimize, adding a generator with a divisor
-// to a grid of many generators.
+// adding a generator with a divisor to a grid of many generators.
 bool
-test08() {
+test07() {
   Variable A(0);
   Variable B(1);
 
@@ -217,7 +189,7 @@ test08() {
 
   // Minimize the grid.
 
-  gr.add_grid_generator_and_minimize(grid_point(B, 3));
+  gr.add_grid_generator(grid_point(B, 3));
 
   Grid known_gr(2);
   known_gr.add_congruence(A %= 0);
@@ -226,14 +198,14 @@ test08() {
   bool ok = (gr == known_gr);
 
   print_congruences(gr,
-		    "*** gr.add_grid_generator_and_minimize(grid_point(B, 3)) ***");
+		    "*** gr.add_grid_generator(grid_point(B, 3)) ***");
 
   return ok;
 }
 
 // Space dimension exception.
 bool
-test09() {
+test08() {
   Variable A(0);
   Variable C(2);
 
@@ -253,7 +225,7 @@ test09() {
 
 // Zero dimensions empty.
 bool
-test10() {
+test09() {
   Grid gr(0, EMPTY);
 
   print_congruences(gr, "*** gr ***");
@@ -271,7 +243,7 @@ test10() {
 
 // Zero dimension universe.
 bool
-test11() {
+test10() {
   Grid gr(0);
 
   print_congruences(gr, "*** gr ***");
@@ -289,7 +261,7 @@ test11() {
 
 // Space dimension exception.
 bool
-test12() {
+test11() {
   Variable A(0);
 
   Grid gr(2, EMPTY);
@@ -308,7 +280,7 @@ test12() {
 
 // Try add parameter to empty grid.
 bool
-test13() {
+test12() {
   Grid gr(2, EMPTY);
 
   try {
@@ -325,7 +297,7 @@ test13() {
 
 // Try add parameter to zero dimension empty grid.
 bool
-test14() {
+test13() {
   Grid gr(0, EMPTY);
 
   try {
@@ -354,5 +326,4 @@ BEGIN_MAIN
   DO_TEST(test11);
   DO_TEST(test12);
   DO_TEST(test13);
-  DO_TEST(test14);
 END_MAIN
diff --git a/tests/Grid/addgenerators1.cc b/tests/Grid/addgenerators1.cc
index e08ffd2..00903a0 100644
--- a/tests/Grid/addgenerators1.cc
+++ b/tests/Grid/addgenerators1.cc
@@ -1,5 +1,5 @@
-/* Test methods which can add multiple generators to a grid.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Test method which can add multiple generators to a grid.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -24,7 +24,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace {
 
-// grid1*.cc use add_grid_generators_and_minimize often.
+// grid1.cc also tests add_grid_generators.
 
 // add_recycled_grid_generators -- space dimension exception.
 bool
@@ -49,32 +49,9 @@ test01() {
   return false;
 }
 
-// add_recycled_grid_generators_and_minimize -- space dimension exception.
-bool
-test02() {
-  Variable A(0);
-  Variable B(1);
-
-  Grid_Generator_System gs;
-  gs.insert(grid_point(B));
-
-  Grid gr(1);
-
-  try {
-    gr.add_recycled_grid_generators_and_minimize(gs);
-  }
-  catch (const std::invalid_argument& e) {
-    nout << "invalid_argument: " << e.what() << endl;
-    return true;
-  }
-  catch (...) {
-  }
-  return false;
-}
-
 // add_recycled_grid_generators -- zero dimension universe.
 bool
-test03() {
+test02() {
   Grid_Generator_System gs;
   gs.insert(grid_point());
 
@@ -95,7 +72,7 @@ test03() {
 
 // add_recycled_grid_generators -- zero dimension empty.
 bool
-test04() {
+test03() {
   Grid_Generator_System gs;
   gs.insert(grid_point());
 
@@ -117,7 +94,7 @@ test04() {
 // add_recycled_grid_generators -- add system with a single parameter
 // generator to the empty grid.
 bool
-test05() {
+test04() {
   Variable A(0);
 
   Grid_Generator_System gs;
@@ -137,53 +114,9 @@ test05() {
   return false;
 }
 
-// add_recycled_grid_generators_and_minimize -- add to the zero dim grid.
+// add_recycled_grid_generators -- add an empty system.
 bool
-test06() {
-  Grid_Generator_System gs;
-  gs.insert(grid_point());
-
-  Grid gr(0, EMPTY);
-  gr.add_recycled_grid_generators_and_minimize(gs);
-
-  print_generators(gr, "*** gr ***");
-
-  Grid known_gr(0);
-
-  bool ok = (gr == known_gr);
-
-  print_congruences(gr,
-		    "*** gr.add_recycled_grid_generators_and_minimize(gs) ***");
-
-  return ok;
-}
-
-// add_recycled_grid_generators_and_minimize -- try add system with a
-// single parameter generator to the empty grid.
-bool
-test07() {
-  Variable A(0);
-
-  Grid_Generator_System gs;
-  gs.insert(parameter(A));
-
-  Grid gr(2, EMPTY);
-
-  try {
-    gr.add_recycled_grid_generators_and_minimize(gs);
-  }
-  catch (const std::invalid_argument& e) {
-    nout << "invalid_argument: " << e.what() << endl;
-    return true;
-  }
-  catch (...) {
-  }
-  return false;
-}
-
-// add_recycled_grid_generators_and_minimize -- add an empty system.
-bool
-test08() {
+test05() {
   Grid_Generator_System gs;
 
   Grid gr(3, EMPTY);
@@ -193,19 +126,19 @@ test08() {
 
   Grid known_gr = gr;
 
-  gr.add_recycled_grid_generators_and_minimize(gs);
+  gr.add_recycled_grid_generators(gs);
 
   bool ok = (gr == known_gr);
 
   print_generators(gr,
-		   "*** gr.add_recycled_grid_generators_and_minimize(gs) ***");
+		   "*** gr.add_recycled_grid_generators(gs) ***");
 
   return ok;
 }
 
 // add_grid_generators -- add a zero dimension universe system.
 bool
-test09() {
+test06() {
   Grid gr(0);
 
   print_generators(gr, "*** gr ***");
@@ -226,7 +159,7 @@ test09() {
 // grid starts with a parameter (test point finding loop in
 // Grid::normalize_divisors(gs, gs)).
 bool
-test10() {
+test07() {
   Variable A(0);
 
   Grid_Generator_System gs1;
@@ -254,15 +187,15 @@ test10() {
   return ok;
 }
 
-// add_recycled_grid_generators_and_minimize -- add to a zero
+// add_recycled_grid_generators -- add to a zero
 // dimension universe grid.
 bool
-test11() {
+test08() {
   Grid gr(0);
 
   Grid_Generator_System gs2(grid_point());
 
-  gr.add_recycled_grid_generators_and_minimize(gs2);
+  gr.add_recycled_grid_generators(gs2);
 
   print_generators(gr, "*** gr ***");
 
@@ -270,7 +203,7 @@ test11() {
 
   bool ok = (gr == known_gr);
 
-  print_generators(gr, "*** gr.add_grid_generators(gs) ***");
+  print_generators(gr, "*** gr.add_grid_generators(gs2) ***");
 
   return ok;
 }
@@ -286,7 +219,4 @@ BEGIN_MAIN
   DO_TEST(test06);
   DO_TEST(test07);
   DO_TEST(test08);
-  DO_TEST(test09);
-  DO_TEST(test10);
-  DO_TEST(test11);
 END_MAIN
diff --git a/tests/Grid/addspacedims1.cc b/tests/Grid/addspacedims1.cc
index 69b33e5..dd9a86e 100644
--- a/tests/Grid/addspacedims1.cc
+++ b/tests/Grid/addspacedims1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::add_space_dimensions_and_embed().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/affinedim1.cc b/tests/Grid/affinedim1.cc
index 4964ac9..39bd2c4 100644
--- a/tests/Grid/affinedim1.cc
+++ b/tests/Grid/affinedim1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::affine_dimension().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -67,7 +67,7 @@ test04() {
   Variable B(1);
 
   Grid gr_gs_min(2, EMPTY);
-  gr_gs_min.add_grid_generator_and_minimize(grid_point(3*A + 2*B));
+  gr_gs_min.add_grid_generator(grid_point(3*A + 2*B));
 
   Grid gr_gs_needs_min(2, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point(3*A + 2*B));
@@ -100,7 +100,7 @@ test05() {
 
   Grid gr_gs_min(3, EMPTY);
   gr_gs_min.add_grid_generator(grid_point(3*A + 2*B));
-  gr_gs_min.add_grid_generator_and_minimize(grid_line(C));
+  gr_gs_min.add_grid_generator(grid_line(C));
 
   Grid gr_gs_needs_min(3, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point(3*A + 2*B));
@@ -134,7 +134,7 @@ test06() {
 
   Grid gr_gs_min(3, EMPTY);
   gr_gs_min.add_grid_generator(grid_point(3*A + 2*B));
-  gr_gs_min.add_grid_generator_and_minimize(grid_point(3*A + B));
+  gr_gs_min.add_grid_generator(grid_point(3*A + B));
 
   Grid gr_gs_needs_min(3, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point(3*A + 2*B));
@@ -170,7 +170,7 @@ test07() {
   Grid gr_gs_min(3, EMPTY);
   gr_gs_min.add_grid_generator(grid_point(3*A + 2*B));
   gr_gs_min.add_grid_generator(grid_point(3*A + B));
-  gr_gs_min.add_grid_generator_and_minimize(grid_line(C));
+  gr_gs_min.add_grid_generator(grid_line(C));
 
   Grid gr_gs_needs_min(3, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point(3*A + 2*B));
@@ -206,7 +206,7 @@ test08() {
   Grid gr_gs_min(2, EMPTY);
   gr_gs_min.add_grid_generator(grid_point());
   gr_gs_min.add_grid_generator(grid_point(A));
-  gr_gs_min.add_grid_generator_and_minimize(grid_point(3*A + 3*B, 4));
+  gr_gs_min.add_grid_generator(grid_point(3*A + 3*B, 4));
 
   Grid gr_gs_needs_min(2, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point());
@@ -243,7 +243,7 @@ test09() {
   gr_gs_min.add_grid_generator(grid_point());
   gr_gs_min.add_grid_generator(grid_point(A));
   gr_gs_min.add_grid_generator(grid_line(C));
-  gr_gs_min.add_grid_generator_and_minimize(grid_point(3*A + 3*B, 4));
+  gr_gs_min.add_grid_generator(grid_point(3*A + 3*B, 4));
 
   Grid gr_gs_needs_min(3, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point());
@@ -280,7 +280,7 @@ test10() {
   Grid gr_gs_min(4, EMPTY);
   gr_gs_min.add_grid_generator(grid_point());
   gr_gs_min.add_grid_generator(grid_line(B));
-  gr_gs_min.add_grid_generator_and_minimize(grid_line(C));
+  gr_gs_min.add_grid_generator(grid_line(C));
 
   Grid gr_gs_needs_min(4, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point());
diff --git a/tests/Grid/affineimage1.cc b/tests/Grid/affineimage1.cc
index 8e5139f..874247a 100644
--- a/tests/Grid/affineimage1.cc
+++ b/tests/Grid/affineimage1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::affine_image().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/affineimage2.cc b/tests/Grid/affineimage2.cc
index 72a8e48..a44b764 100644
--- a/tests/Grid/affineimage2.cc
+++ b/tests/Grid/affineimage2.cc
@@ -1,5 +1,5 @@
 /* Test Grid::affine_image().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -307,7 +307,7 @@ test11() {
   Grid gr(2, EMPTY);
 
   for(int j = 0; j < 4; j++) {
-    gr.add_grid_generators_and_minimize(ggs);
+    gr.add_grid_generators(ggs);
 
     for(int i = 0; i < j; i++) {
       gr.affine_image(A, 3*A);
@@ -320,7 +320,7 @@ test11() {
     gr1.upper_bound_assign(gr);
   }
 
-  gr.add_grid_generators_and_minimize(ggs);
+  gr.add_grid_generators(ggs);
 
   bool ok = (gr == gr1);
 
@@ -352,7 +352,7 @@ test12() {
   Grid gr(2, EMPTY);
 
   for(int j = 0; j < 3; j++) {
-    gr.add_grid_generators_and_minimize(ggs);
+    gr.add_grid_generators(ggs);
 
     for(int i = 0; i < j; i++) {
       gr.affine_image(A, *tem1*A);
@@ -365,7 +365,7 @@ test12() {
     gr1.upper_bound_assign(gr);
   }
 
-  gr.add_grid_generators_and_minimize(ggs);
+  gr.add_grid_generators(ggs);
 
   delete tem1; delete tem2; delete tem3;
 
@@ -392,6 +392,6 @@ BEGIN_MAIN
   DO_TEST(test08);
   DO_TEST(test09);
   DO_TEST_F16A(test10);
-  DO_TEST_F16(test11);
+  DO_TEST_F32(test11);
   DO_TEST_F64(test12);
 END_MAIN
diff --git a/tests/Grid/affinepreimage1.cc b/tests/Grid/affinepreimage1.cc
index d838380..df9c117 100644
--- a/tests/Grid/affinepreimage1.cc
+++ b/tests/Grid/affinepreimage1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::affine_preimage().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/affinepreimage2.cc b/tests/Grid/affinepreimage2.cc
index 3d94ef9..ce22668 100644
--- a/tests/Grid/affinepreimage2.cc
+++ b/tests/Grid/affinepreimage2.cc
@@ -1,5 +1,5 @@
 /* Test Grid::affine_preimage().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/approximatepartition1.cc b/tests/Grid/approximatepartition1.cc
index 651e3ab..5ee22ed 100644
--- a/tests/Grid/approximatepartition1.cc
+++ b/tests/Grid/approximatepartition1.cc
@@ -1,5 +1,5 @@
 /* Test approximate_partition().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -92,7 +92,8 @@ test02() {
   Grid known_gr(p);
 
   Pointset_Powerset<Grid>::iterator i = (result.second).begin();
-  return (i->element() == known_gr);
+
+return i->pointset() == known_gr;
 }
 
 BEGIN_MAIN
diff --git a/tests/Grid/asciidumpload1.cc b/tests/Grid/asciidumpload1.cc
index ab7da3c..2b48670 100644
--- a/tests/Grid/asciidumpload1.cc
+++ b/tests/Grid/asciidumpload1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::ascii_dump() and Grid::ascii_load().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -188,7 +188,7 @@ test06() {
 
   open(f, my_file, ios_base::in);
   Grid gr;
-  bool ok =! gr.ascii_load(f);
+  bool ok = !gr.ascii_load(f);
   close(f);
 
   return ok;
@@ -205,7 +205,7 @@ test07() {
 
   open(f, my_file, ios_base::in);
   Grid gr;
-  bool ok =! gr.ascii_load(f);
+  bool ok = !gr.ascii_load(f);
   close(f);
 
   return ok;
@@ -223,7 +223,7 @@ test08() {
 
   open(f, my_file, ios_base::in);
   Grid gr;
-  bool ok =! gr.ascii_load(f);
+  bool ok = !gr.ascii_load(f);
   close(f);
 
   return ok;
@@ -242,7 +242,7 @@ test09() {
 
   open(f, my_file, ios_base::in);
   Grid gr;
-  bool ok =! gr.ascii_load(f);
+  bool ok = !gr.ascii_load(f);
   close(f);
 
   return ok;
@@ -261,7 +261,7 @@ test10() {
 
   open(f, my_file, ios_base::in);
   Grid gr;
-  bool ok =! gr.ascii_load(f);
+  bool ok = !gr.ascii_load(f);
   close(f);
 
   return ok;
@@ -280,7 +280,7 @@ test11() {
 
   open(f, my_file, ios_base::in);
   Grid gr;
-  bool ok =! gr.ascii_load(f);
+  bool ok = !gr.ascii_load(f);
   close(f);
 
   return ok;
@@ -300,7 +300,7 @@ test12() {
 
   open(f, my_file, ios_base::in);
   Grid gr;
-  bool ok =! gr.ascii_load(f);
+  bool ok = !gr.ascii_load(f);
   close(f);
 
   return ok;
@@ -323,7 +323,7 @@ test13() {
 
   open(f, my_file, ios_base::in);
   Grid gr;
-  bool ok =! gr.ascii_load(f);
+  bool ok = !gr.ascii_load(f);
   close(f);
 
   return ok;
@@ -346,7 +346,7 @@ test14() {
 
   open(f, my_file, ios_base::in);
   Grid gr;
-  bool ok =! gr.ascii_load(f);
+  bool ok = !gr.ascii_load(f);
   close(f);
 
   return ok;
@@ -369,7 +369,7 @@ test15() {
 
   open(f, my_file, ios_base::in);
   Grid gr;
-  bool ok =! gr.ascii_load(f);
+  bool ok = !gr.ascii_load(f);
   close(f);
 
   return ok;
@@ -393,7 +393,7 @@ test16() {
 
   open(f, my_file, ios_base::in);
   Grid gr;
-  bool ok =! gr.ascii_load(f);
+  bool ok = !gr.ascii_load(f);
   close(f);
 
   return ok;
@@ -419,7 +419,7 @@ test17() {
 
   open(f, my_file, ios_base::in);
   Grid gr;
-  bool ok =! gr.ascii_load(f);
+  bool ok = !gr.ascii_load(f);
   close(f);
 
   return ok;
@@ -446,7 +446,7 @@ test18() {
 
   open(f, my_file, ios_base::in);
   Grid gr;
-  bool ok =! gr.ascii_load(f);
+  bool ok = !gr.ascii_load(f);
   close(f);
 
   return ok;
@@ -473,7 +473,7 @@ test19() {
 
   open(f, my_file, ios_base::in);
   Grid gr;
-  bool ok =! gr.ascii_load(f);
+  bool ok = !gr.ascii_load(f);
   close(f);
 
   return ok;
@@ -500,7 +500,7 @@ test20() {
 
   open(f, my_file, ios_base::in);
   Grid gr;
-  bool ok =! gr.ascii_load(f);
+  bool ok = !gr.ascii_load(f);
   close(f);
 
   return ok;
@@ -519,7 +519,7 @@ test21() {
 
   open(f, my_file, ios_base::in);
   Grid gr;
-  bool ok =! gr.ascii_load(f);
+  bool ok = !gr.ascii_load(f);
   close(f);
 
   return ok;
@@ -538,7 +538,7 @@ test22() {
 
   open(f, my_file, ios_base::in);
   Grid gr;
-  bool ok =! gr.ascii_load(f);
+  bool ok = !gr.ascii_load(f);
   close(f);
 
   return ok;
@@ -557,7 +557,7 @@ test23() {
 
   open(f, my_file, ios_base::in);
   Grid gr;
-  bool ok =! gr.ascii_load(f);
+  bool ok = !gr.ascii_load(f);
   close(f);
 
   return ok;
@@ -576,7 +576,7 @@ test24() {
 
   open(f, my_file, ios_base::in);
   Grid gr;
-  bool ok =! gr.ascii_load(f);
+  bool ok = !gr.ascii_load(f);
   close(f);
 
   return ok;
@@ -595,7 +595,7 @@ test25() {
 
   open(f, my_file, ios_base::in);
   Grid gr;
-  bool ok =! gr.ascii_load(f);
+  bool ok = !gr.ascii_load(f);
   close(f);
 
   return ok;
diff --git a/tests/Grid/asciidumpload2.cc b/tests/Grid/asciidumpload2.cc
index 2d73426..78a9af4 100644
--- a/tests/Grid/asciidumpload2.cc
+++ b/tests/Grid/asciidumpload2.cc
@@ -1,5 +1,5 @@
 /* Test Grid::ascii_dump() and Grid::ascii_load().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -332,7 +332,7 @@ test10() {
 
   open(f, my_file, ios_base::in);
   Grid gr2;
-  bool ok =! gr2.ascii_load(f);
+  bool ok = !gr2.ascii_load(f);
   close(f);
 
   return ok;
@@ -349,7 +349,7 @@ test11() {
 
   open(f, my_file, ios_base::in);
   Grid gr2;
-  bool ok =! gr2.ascii_load(f);
+  bool ok = !gr2.ascii_load(f);
   close(f);
 
   return ok;
@@ -366,7 +366,7 @@ test12() {
 
   open(f, my_file, ios_base::in);
   Grid gr2;
-  bool ok =! gr2.ascii_load(f);
+  bool ok = !gr2.ascii_load(f);
   close(f);
 
   return ok;
diff --git a/tests/Grid/asciidumpload3.cc b/tests/Grid/asciidumpload3.cc
index 159e0c7..3f3384f 100644
--- a/tests/Grid/asciidumpload3.cc
+++ b/tests/Grid/asciidumpload3.cc
@@ -1,5 +1,5 @@
 /* Test Congruence::ascii_dump() and Congruence::ascii_load().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/asciidumpload4.cc b/tests/Grid/asciidumpload4.cc
index 9f08ceb..f6337e7 100644
--- a/tests/Grid/asciidumpload4.cc
+++ b/tests/Grid/asciidumpload4.cc
@@ -1,5 +1,5 @@
 /* Test Congruence_System ascii_dump() and ascii_load().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -72,7 +72,7 @@ test02() {
 
   open(f, my_file, ios_base::in);
   Congruence_System cgs(0*A %= 0);
-  bool ok =! cgs.ascii_load(f);
+  bool ok = !cgs.ascii_load(f);
   close(f);
 
   return ok;
@@ -90,7 +90,7 @@ test03() {
 
   open(f, my_file, ios_base::in);
   Congruence_System cgs(0*A %= 0);
-  bool ok =! cgs.ascii_load(f);
+  bool ok = !cgs.ascii_load(f);
   close(f);
 
   return ok;
@@ -108,7 +108,7 @@ test04() {
 
   open(f, my_file, ios_base::in);
   Congruence_System cgs(0*A %= 0);
-  bool ok =! cgs.ascii_load(f);
+  bool ok = !cgs.ascii_load(f);
   close(f);
 
   return ok;
@@ -127,7 +127,7 @@ test05() {
 
   open(f, my_file, ios_base::in);
   Congruence_System cgs(0*A %= 0);
-  bool ok =! cgs.ascii_load(f);
+  bool ok = !cgs.ascii_load(f);
   close(f);
 
   return ok;
diff --git a/tests/Grid/asciidumpload5.cc b/tests/Grid/asciidumpload5.cc
index 300241d..0aa371d 100644
--- a/tests/Grid/asciidumpload5.cc
+++ b/tests/Grid/asciidumpload5.cc
@@ -1,5 +1,5 @@
 /* Test Grid_Generator ascii_dump() and ascii_load().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -72,7 +72,7 @@ test02() {
 
   open(f, my_file, ios_base::in);
   Grid_Generator g(grid_point(0*A));
-  bool ok =! g.ascii_load(f);
+  bool ok = !g.ascii_load(f);
   close(f);
 
   return ok;
@@ -91,7 +91,7 @@ test03() {
 
   open(f, my_file, ios_base::in);
   Grid_Generator g(grid_point(0*A));
-  bool ok =! g.ascii_load(f);
+  bool ok = !g.ascii_load(f);
   close(f);
 
   return ok;
@@ -110,7 +110,7 @@ test04() {
 
   open(f, my_file, ios_base::in);
   Grid_Generator g(grid_point(0*A));
-  bool ok =! g.ascii_load(f);
+  bool ok = !g.ascii_load(f);
   close(f);
 
   return ok;
diff --git a/tests/Grid/asciidumpload6.cc b/tests/Grid/asciidumpload6.cc
index 22e581e..4785a03 100644
--- a/tests/Grid/asciidumpload6.cc
+++ b/tests/Grid/asciidumpload6.cc
@@ -1,5 +1,5 @@
 /* Test Generator_System ascii_dump() and ascii_load().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -72,7 +72,7 @@ test02() {
 
   open(f, my_file, ios_base::in);
   Grid_Generator_System gs(grid_point(0*A));
-  bool ok =! gs.ascii_load(f);
+  bool ok = !gs.ascii_load(f);
   close(f);
 
   return ok;
@@ -90,7 +90,7 @@ test03() {
 
   open(f, my_file, ios_base::in);
   Grid_Generator_System gs(grid_point(0*A));
-  bool ok =! gs.ascii_load(f);
+  bool ok = !gs.ascii_load(f);
   close(f);
 
   return ok;
@@ -108,7 +108,7 @@ test04() {
 
   open(f, my_file, ios_base::in);
   Grid_Generator_System gs(grid_point(0*A));
-  bool ok =! gs.ascii_load(f);
+  bool ok = !gs.ascii_load(f);
   close(f);
 
   return ok;
@@ -127,7 +127,7 @@ test05() {
 
   open(f, my_file, ios_base::in);
   Grid_Generator_System gs(grid_point(0*A));
-  bool ok =! gs.ascii_load(f);
+  bool ok = !gs.ascii_load(f);
   close(f);
 
   return ok;
diff --git a/tests/Grid/bhz03widening1.cc b/tests/Grid/bhz03widening1.cc
index 602ae7a..a4cce33 100644
--- a/tests/Grid/bhz03widening1.cc
+++ b/tests/Grid/bhz03widening1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<Grid>::BHZ03_widening_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/bounded1.cc b/tests/Grid/bounded1.cc
index d4e315a..ced274c 100644
--- a/tests/Grid/bounded1.cc
+++ b/tests/Grid/bounded1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::is_bounded().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -67,7 +67,7 @@ test04() {
   Variable B(1);
 
   Grid gr_gs_min(2, EMPTY);
-  gr_gs_min.add_grid_generator_and_minimize(grid_point(3*A + 2*B));
+  gr_gs_min.add_grid_generator(grid_point(3*A + 2*B));
 
   Grid gr_gs_needs_min(2, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point(3*A + 2*B));
@@ -99,7 +99,7 @@ test05() {
 
   Grid gr_gs_min(3, EMPTY);
   gr_gs_min.add_grid_generator(grid_point(3*A + 2*B));
-  gr_gs_min.add_grid_generator_and_minimize(grid_line(C));
+  gr_gs_min.add_grid_generator(grid_line(C));
 
   Grid gr_gs_needs_min(3, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point(3*A + 2*B));
@@ -132,7 +132,7 @@ test06() {
 
   Grid gr_gs_min(3, EMPTY);
   gr_gs_min.add_grid_generator(grid_point(3*A + 2*B));
-  gr_gs_min.add_grid_generator_and_minimize(grid_point(3*A + B));
+  gr_gs_min.add_grid_generator(grid_point(3*A + B));
 
   Grid gr_gs_needs_min(3, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point(3*A + 2*B));
@@ -167,7 +167,7 @@ test07() {
   Grid gr_gs_min(3, EMPTY);
   gr_gs_min.add_grid_generator(grid_point(3*A + 2*B));
   gr_gs_min.add_grid_generator(grid_point(3*A + B));
-  gr_gs_min.add_grid_generator_and_minimize(grid_line(C));
+  gr_gs_min.add_grid_generator(grid_line(C));
 
   Grid gr_gs_needs_min(3, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point(3*A + 2*B));
@@ -201,7 +201,7 @@ test08() {
   Grid gr_gs_min(2, EMPTY);
   gr_gs_min.add_grid_generator(grid_point());
   gr_gs_min.add_grid_generator(grid_point(A));
-  gr_gs_min.add_grid_generator_and_minimize(grid_point(3*A + 3*B, 4));
+  gr_gs_min.add_grid_generator(grid_point(3*A + 3*B, 4));
 
   Grid gr_gs_needs_min(2, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point());
@@ -237,7 +237,7 @@ test09() {
   gr_gs_min.add_grid_generator(grid_point());
   gr_gs_min.add_grid_generator(grid_point(A));
   gr_gs_min.add_grid_generator(grid_line(C));
-  gr_gs_min.add_grid_generator_and_minimize(grid_point(3*A + 3*B, 4));
+  gr_gs_min.add_grid_generator(grid_point(3*A + 3*B, 4));
   Grid gr_gs_needs_min(3, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point());
   gr_gs_needs_min.add_grid_generator(grid_point(A));
@@ -273,7 +273,7 @@ test10() {
   Grid gr_gs_min(4, EMPTY);
   gr_gs_min.add_grid_generator(grid_point());
   gr_gs_min.add_grid_generator(grid_line(B));
-  gr_gs_min.add_grid_generator_and_minimize(grid_line(C));
+  gr_gs_min.add_grid_generator(grid_line(C));
 
   Grid gr_gs_needs_min(4, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point());
@@ -309,7 +309,7 @@ test11() {
   Variable F(5);
 
   Grid gr_gs_min(6, EMPTY);
-  gr_gs_min.add_grid_generator_and_minimize(grid_point(7*A - 11*B + 19*F));
+  gr_gs_min.add_grid_generator(grid_point(7*A - 11*B + 19*F));
 
   Grid gr_gs_needs_min(6, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point(7*A - 11*B + 19*F));
diff --git a/tests/Grid/boundedaffineimage1.cc b/tests/Grid/boundedaffineimage1.cc
index 60176a3..763c481 100644
--- a/tests/Grid/boundedaffineimage1.cc
+++ b/tests/Grid/boundedaffineimage1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::bounded_affine_image().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/boundedaffinepreimage1.cc b/tests/Grid/boundedaffinepreimage1.cc
index 2ee6ecc..c6ded45 100644
--- a/tests/Grid/boundedaffinepreimage1.cc
+++ b/tests/Grid/boundedaffinepreimage1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::bounded_affine_image().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/bounds1.cc b/tests/Grid/bounds1.cc
index 2b6fb01..f450396 100644
--- a/tests/Grid/bounds1.cc
+++ b/tests/Grid/bounds1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::bounds_from_above() and Grid::bounds_from_below().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -70,7 +70,7 @@ test04() {
   Variable B(1);
 
   Grid gr_gs_min(2, EMPTY);
-  gr_gs_min.add_grid_generator_and_minimize(grid_point(3*A + 2*B, 3));
+  gr_gs_min.add_grid_generator(grid_point(3*A + 2*B, 3));
 
   Grid gr_gs_needs_min(2, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point(3*A + 2*B, 3));
@@ -105,7 +105,7 @@ test05() {
 
   Grid gr_gs_min(2, EMPTY);
   gr_gs_min.add_grid_generator(grid_point());
-  gr_gs_min.add_grid_generator_and_minimize(grid_line(B));
+  gr_gs_min.add_grid_generator(grid_line(B));
 
   Grid gr_gs_needs_min(2, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point());
@@ -141,7 +141,7 @@ test06() {
 
   Grid gr_gs_min(2, EMPTY);
   gr_gs_min.add_grid_generator(grid_point());
-  gr_gs_min.add_grid_generator_and_minimize(grid_line(2*A + B));
+  gr_gs_min.add_grid_generator(grid_line(2*A + B));
 
   Grid gr_gs_needs_min(2, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point());
@@ -176,7 +176,7 @@ test07() {
 
   Grid gr_gs_min(2, EMPTY);
   gr_gs_min.add_grid_generator(grid_point());
-  gr_gs_min.add_grid_generator_and_minimize(grid_line(A + 2*B));
+  gr_gs_min.add_grid_generator(grid_line(A + 2*B));
 
   Grid gr_gs_needs_min(2, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point());
@@ -212,7 +212,7 @@ test08() {
 
   Grid gr_gs_min(2, EMPTY);
   gr_gs_min.add_grid_generator(grid_point());
-  gr_gs_min.add_grid_generator_and_minimize(grid_point(A + 2*B));
+  gr_gs_min.add_grid_generator(grid_point(A + 2*B));
 
   Grid gr_gs_needs_min(2, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point());
@@ -249,7 +249,7 @@ test09() {
   Grid gr_gs_min(2, EMPTY);
   gr_gs_min.add_grid_generator(grid_point());
   gr_gs_min.add_grid_generator(grid_line(A));
-  gr_gs_min.add_grid_generator_and_minimize(grid_line(B));
+  gr_gs_min.add_grid_generator(grid_line(B));
 
   Grid gr_gs_needs_min(2, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point());
@@ -287,7 +287,7 @@ test10() {
   Grid gr_gs_min(3, EMPTY);
   gr_gs_min.add_grid_generator(grid_point());
   gr_gs_min.add_grid_generator(grid_line(A));
-  gr_gs_min.add_grid_generator_and_minimize(grid_point(B + C));
+  gr_gs_min.add_grid_generator(grid_point(B + C));
 
   Grid gr_gs_needs_min(3, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point());
@@ -326,7 +326,7 @@ test11() {
   Grid gr_gs_min(3, EMPTY);
   gr_gs_min.add_grid_generator(grid_point());
   gr_gs_min.add_grid_generator(grid_line(3*B + C));
-  gr_gs_min.add_grid_generator_and_minimize(grid_line(A - 2*B));
+  gr_gs_min.add_grid_generator(grid_line(A - 2*B));
 
   Grid gr_gs_needs_min(3, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point());
@@ -365,7 +365,7 @@ test12() {
   Variable F(5);
 
   Grid gr_gs_min(6, EMPTY);
-  gr_gs_min.add_grid_generator_and_minimize(grid_point(7*A - 11*B + 19*F));
+  gr_gs_min.add_grid_generator(grid_point(7*A - 11*B + 19*F));
 
   Grid gr_gs_needs_min(6, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point(7*A - 11*B + 19*F));
diff --git a/tests/Grid/certificate1.cc b/tests/Grid/certificate1.cc
index 73aa9d1..521c348 100644
--- a/tests/Grid/certificate1.cc
+++ b/tests/Grid/certificate1.cc
@@ -1,5 +1,5 @@
 /* Test class Grid_Certificate.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -201,7 +201,7 @@ test07() {
 
   Grid gr2(3, EMPTY);
   gr2.add_grid_generator(grid_point(3*B + A + C));
-  gr2.add_grid_generator_and_minimize(grid_point(3*B + A));
+  gr2.add_grid_generator(grid_point(3*B + A));
 
   // Ensure up to date congruences and minimized generators.
   gr2.affine_image(A, 1*A);
diff --git a/tests/Grid/concatenate1.cc b/tests/Grid/concatenate1.cc
index e0a4cf1..c611bb5 100644
--- a/tests/Grid/concatenate1.cc
+++ b/tests/Grid/concatenate1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::concatenate_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/congruence1.cc b/tests/Grid/congruence1.cc
index d95869d..a2438a2 100644
--- a/tests/Grid/congruence1.cc
+++ b/tests/Grid/congruence1.cc
@@ -1,5 +1,5 @@
 /* Test class Congruence.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/congruences1.cc b/tests/Grid/congruences1.cc
index e930b73..84cfb49 100644
--- a/tests/Grid/congruences1.cc
+++ b/tests/Grid/congruences1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::congruences().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -185,7 +185,7 @@ test08() {
 
   // Empty the grid.  The idea is to check that `cgs' still refers to
   // a congruence system that matches the grid.
-  gr1.add_congruence_and_minimize(Congruence::zero_dim_false());
+  gr1.add_congruence(Congruence::zero_dim_false());
 
   Grid known_gr = gr1;
 
diff --git a/tests/Grid/congruences2.cc b/tests/Grid/congruences2.cc
index 9c5a6a0..de2fccb 100644
--- a/tests/Grid/congruences2.cc
+++ b/tests/Grid/congruences2.cc
@@ -1,5 +1,5 @@
 /* Test Congruence_System::satisfies_all_congruences().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/constraints1.cc b/tests/Grid/constraints1.cc
index 886ab4f..c4b3bb7 100644
--- a/tests/Grid/constraints1.cc
+++ b/tests/Grid/constraints1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::congruences().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/contains1.cc b/tests/Grid/contains1.cc
index f242c57..713d0e5 100644
--- a/tests/Grid/contains1.cc
+++ b/tests/Grid/contains1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::contains().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/containsintegerpoint1.cc b/tests/Grid/containsintegerpoint1.cc
index 1d5d6c7..6864b84 100644
--- a/tests/Grid/containsintegerpoint1.cc
+++ b/tests/Grid/containsintegerpoint1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::contains_integer_point().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -70,7 +70,7 @@ test04() {
 
   Grid gr_gs_min(2, EMPTY);
   print_congruences(gr_gs_min, "*** gr_gs_min ***");
-  gr_gs_min.add_grid_generator_and_minimize(grid_point(3*A + 2*B));
+  gr_gs_min.add_grid_generator(grid_point(3*A + 2*B));
   print_congruences(gr_gs_min, "*** gr_gs_min ***");
 
   Grid gr_gs_needs_min(2, EMPTY);
@@ -103,7 +103,7 @@ test05() {
 
   Grid gr_gs_min(3, EMPTY);
   gr_gs_min.add_grid_generator(grid_point(3*A + 2*B, 5));
-  gr_gs_min.add_grid_generator_and_minimize(grid_line(C));
+  gr_gs_min.add_grid_generator(grid_line(C));
 
   Grid gr_gs_needs_min(3, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point(3*A + 2*B, 5));
@@ -144,7 +144,7 @@ test06() {
 
   Grid gr_gs_min(3, EMPTY);
   gr_gs_min.add_grid_generator(grid_point(3*A + 2*B, 5));
-  gr_gs_min.add_grid_generator_and_minimize(grid_point(3*A + B, 5));
+  gr_gs_min.add_grid_generator(grid_point(3*A + B, 5));
 
   Grid gr_gs_needs_min(3, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point(3*A + 2*B, 5));
@@ -179,7 +179,7 @@ test07() {
   Grid gr_gs_min(3, EMPTY);
   gr_gs_min.add_grid_generator(grid_point(3*A + 2*B, 3));
   gr_gs_min.add_grid_generator(grid_point(3*A + B, 3));
-  gr_gs_min.add_grid_generator_and_minimize(grid_line(C));
+  gr_gs_min.add_grid_generator(grid_line(C));
 
   Grid gr_gs_needs_min(3, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point(3*A + 2*B, 3));
@@ -213,7 +213,7 @@ test08() {
   Grid gr_gs_min(2, EMPTY);
   gr_gs_min.add_grid_generator(grid_point());
   gr_gs_min.add_grid_generator(grid_point(A));
-  gr_gs_min.add_grid_generator_and_minimize(grid_point(3*A + 3*B, 4));
+  gr_gs_min.add_grid_generator(grid_point(3*A + 3*B, 4));
 
   Grid gr_gs_needs_min(2, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point());
diff --git a/tests/Grid/coveringbox1.cc b/tests/Grid/coveringbox1.cc
deleted file mode 100644
index 9a6199b..0000000
--- a/tests/Grid/coveringbox1.cc
+++ /dev/null
@@ -1,346 +0,0 @@
-/* Test Grid(Box& box, From_Covering_Box()).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-// This constructor is also tested via coveringbox2.cc.
-
-#include "ppl_test.hh"
-
-namespace {
-
-#define SPACE_DIM 2
-
-// Universe box.
-bool
-test01() {
-  Rational_Box box(SPACE_DIM);
-
-  Grid gr(box, From_Covering_Box());
-
-  Grid known_gr(SPACE_DIM, EMPTY);
-
-  bool ok = (gr == known_gr);
-
-  print_congruences(gr, "*** gr(box, From_Covering_Box()) ***");
-
-  return ok;
-}
-
-// The box is the positive quadrant.
-bool
-test02() {
-  Variable A(0);
-  Variable B(1);
-
-  Rational_Box box(SPACE_DIM);
-  box.add_constraint(A >= 0);
-  box.add_constraint(B >= 0);
-
-  Grid gr(box, From_Covering_Box());
-
-  Grid known_gr(SPACE_DIM);
-  known_gr.add_constraint(A == 0);
-  known_gr.add_constraint(B == 0);
-
-  bool ok = (gr == known_gr);
-
-  print_congruences(gr, "*** gr(box, From_Covering_Box()) ***");
-
-  return ok;
-}
-
-// A bounded box in 2D.
-bool
-test03() {
-  Variable A(0);
-  Variable B(1);
-
-  Rational_Box box(SPACE_DIM);
-  box.add_constraint(3*A >= -2);
-  box.add_constraint(A <= 4);
-  box.add_constraint(B >= -10);
-  box.add_constraint(3*B <= 12);
-
-  Grid gr(box, From_Covering_Box());
-
-  Grid known_gr(SPACE_DIM);
-  known_gr.add_congruence((3*A %= -2) / 14);
-  known_gr.add_congruence((B %= -10) / 14);
-
-  bool ok = (gr == known_gr);
-
-  print_congruences(gr, "*** gr(box, From_Covering_Box()) ***");
-
-  return ok;
-}
-
-// A 3D box which is bounded in 2D.
-bool
-test04() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Rational_Box box(3);
-  box.add_constraint(3*A >= -2);
-  box.add_constraint(A <= 4);
-  box.add_constraint(B >= -10);
-  box.add_constraint(3*B <= 12);
-  box.add_constraint(3*C >= 15);
-
-  Grid gr(box, From_Covering_Box());
-
-  Grid known_gr(3, EMPTY);
-  known_gr.add_grid_generator(grid_point(-2*A - 30*B + 15*C, 3));
-  known_gr.add_grid_generator(grid_point(4*A - 10*B + 5*C));
-  known_gr.add_grid_generator(grid_point(-2*A + 12*B + 15*C, 3));
-
-  bool ok = (gr == known_gr);
-
-  print_congruences(gr, "*** gr(box, From_Covering_Box()) ***");
-
-  return ok;
-}
-
-// Zero-dimensional box.
-bool
-test05() {
-  Rational_Box box(0);
-
-  Grid gr(box, From_Covering_Box());
-
-  Grid known_gr;
-
-  bool ok = (gr == known_gr);
-
-  print_congruences(gr, "*** gr(box, From_Covering_Box()) ***");
-
-  return ok;
-}
-
-// Empty box in 2D.
-bool
-test06() {
-  Rational_Box box(2);
-  box.set_empty();
-
-  Grid gr(box, From_Covering_Box());
-
-  Grid known_gr(2, EMPTY);
-
-  bool ok = (gr == known_gr);
-
-  print_congruences(gr, "*** gr(box, From_Covering_Box()) ***");
-
-  return ok;
-}
-
-// A box which is a point.
-bool
-test07() {
-  Variable A(0);
-  Variable B(1);
-
-  Rational_Box box(2);
-  box.add_constraint(A == 2);
-  box.add_constraint(B == 4);
-
-  Grid gr(box, From_Covering_Box());
-
-  Grid known_gr(2);
-
-  bool ok = (gr == known_gr);
-
-  print_congruences(gr, "*** gr(box, From_Covering_Box()) ***");
-
-  return ok;
-}
-
-// Unit square.
-bool
-test08() {
-  Variable A(0);
-  Variable B(1);
-
-  Rational_Box box(2);
-  box.add_constraint(A >= 0);
-  box.add_constraint(B >= 0);
-  box.add_constraint(A <= 1);
-  box.add_constraint(B <= 1);
-
-  Grid gr(box, From_Covering_Box());
-
-  Congruence_System known_cgs;
-  known_cgs.insert(A %= 0);
-  known_cgs.insert(B %= 0);
-
-  Grid known_gr(known_cgs);
-
-  bool ok = (gr == known_gr);
-
-  print_congruences(gr, "*** gr(box, From_Covering_Box()) ***");
-
-  return ok;
-}
-
-// Simple box with divisor.
-bool
-test09() {
-  Variable A(0);
-  Variable B(1);
-
-  Rational_Box box(2);
-  box.add_constraint(A >= 0);
-  box.add_constraint(B >= 0);
-  box.add_constraint(2*B <= 1);
-
-  Grid gr(box, From_Covering_Box());
-
-  Grid known_gr(2);
-  known_gr.add_constraint(A == 0);
-  known_gr.add_congruence(2*B %= 0);
-
-  bool ok = (gr == known_gr);
-
-  print_congruences(gr, "*** gr(box, From_Covering_Box()) ***");
-
-  return ok;
-}
-
-// Box with a dimension bounded only from above.
-bool
-test10() {
-  Variable A(0);
-  Variable B(1);
-
-  Rational_Box box(2);
-  box.add_constraint(7*A <= 3);
-  box.add_constraint(B >= 0);
-  box.add_constraint(2*B <= 1);
-
-  Grid gr(box, From_Covering_Box());
-
-  Grid known_gr(2);
-  known_gr.add_constraint(7*A == 3);
-  known_gr.add_congruence(2*B %= 0);
-
-  bool ok = (gr == known_gr);
-
-  print_congruences(gr, "*** gr(box, From_Covering_Box()) ***");
-
-  return ok;
-}
-
-// Box with a dimension having an open bound, where the open bound
-// makes the box empty.
-bool
-test11() {
-  Variable A(0);
-  Variable B(1);
-
-  Rational_Box box(2);
-  box.add_constraint(7*A <= 3);
-  box.add_constraint(B >= 0);
-  box.add_constraint(2*B < 1);
-  box.add_constraint(2*B >= 1);
-
-  try {
-    Grid gr(box, From_Covering_Box());
-  }
-  catch (const std::invalid_argument& e) {
-    nout << "invalid_argument: " << e.what() << endl;
-    return true;
-  }
-  catch (...) {
-  }
-  return false;
-}
-
-// Zero-dimensional empty box.
-bool
-test12() {
-  Rational_Box box(0);
-  box.set_empty();
-
-  Grid gr(box, From_Covering_Box());
-
-  Grid known_gr(0, EMPTY);
-
-  bool ok = (gr == known_gr);
-
-  print_congruences(gr, "*** gr(box, From_Covering_Box()) ***");
-
-  return ok;
-}
-
-// A box from a higher dimension.
-bool
-test13() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-  Variable D(3);
-  Variable E(4);
-  Variable F(5);
-
-  Rational_Box box(6);
-  box.add_constraint(3*A >= -2);
-  box.add_constraint(A <= 5);
-  box.add_constraint(4*B >= -11);
-  box.add_constraint(3*B <= 12);
-  box.add_constraint(3*C >= 15);
-  box.add_constraint(3*D <= 18);
-  box.add_constraint(7*E >= 15);
-  box.add_constraint(7*F >= -15);
-  box.add_constraint(7*F <= 15);
-
-  Grid gr(box, From_Covering_Box());
-
-  Grid known_gr(6, EMPTY);
-  known_gr.add_grid_generator(grid_point(-56*A - 231*B + 420*C + 504*D + 180*E - 180*F, 84));
-  known_gr.add_grid_generator(parameter(17*A, 3));
-  known_gr.add_grid_generator(parameter(81*B, 12));
-  known_gr.add_grid_generator(parameter(30*F, 7));
-
-  bool ok = (gr == known_gr);
-
-  print_generators(gr, "*** gr(box, From_Covering_Box()) ***");
-
-  return ok;
-}
-
-} // namespace
-
-BEGIN_MAIN
-  DO_TEST(test01);
-  DO_TEST(test02);
-  DO_TEST(test03);
-  DO_TEST(test04);
-  DO_TEST(test05);
-  DO_TEST(test06);
-  DO_TEST(test07);
-  DO_TEST(test08);
-  DO_TEST(test09);
-  DO_TEST(test10);
-  DO_TEST(test11);
-  DO_TEST(test12);
-  DO_TEST_F16(test13);
-END_MAIN
diff --git a/tests/Grid/coveringbox2.cc b/tests/Grid/coveringbox2.cc
deleted file mode 100644
index 02179ce..0000000
--- a/tests/Grid/coveringbox2.cc
+++ /dev/null
@@ -1,846 +0,0 @@
- /* Test Grid::get_covering_box().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include "ppl_test.hh"
-
-using namespace Parma_Polyhedra_Library::IO_Operators;
-
-namespace {
-
-#define SPACE_DIM 2
-
-// Rectilinear grid defined by points with the origin
-// not a point of the grid or a point of the covering box..
-bool
-test01() {
-  Variable A(0);
-  Variable B(1);
-
-  Rational_Box box1(SPACE_DIM);
-
-  Grid gr(SPACE_DIM, EMPTY);
-  gr.add_grid_generator(grid_point(B));
-  gr.add_grid_generator(grid_point(3*A + B));
-  gr.add_grid_generator(grid_point(3*A + 3*B));
-
-  gr.get_covering_box(box1);
-
-  Rational_Box known_box(SPACE_DIM);
-  known_box.add_constraint(A >= 0);
-  known_box.add_constraint(A <= 3);
-  known_box.add_constraint(B >= 1);
-  known_box.add_constraint(B <= 3);
-
-  bool ok = (box1 == known_box);
-
-  print_generators(gr, "*** gr ***");
-  nout << "box1:" << endl << box1;
-
-  if (ok) {
-    Grid tem_gr(box1, From_Covering_Box());
-    Rational_Box box2(SPACE_DIM);
-    tem_gr.get_covering_box(box2);
-
-    ok = (box2 == known_box);
-
-    nout << "box2:" << endl << box2;
-  }
-
-  return ok;
-}
-
-// Skew grid.
-bool
-test02() {
-  Variable A(0);
-  Variable B(1);
-
-  Rational_Box box1(SPACE_DIM);
-
-  Grid gr(SPACE_DIM, EMPTY);
-  gr.add_grid_generator(grid_point(  A +   B));
-  gr.add_grid_generator(grid_point(2*A + 3*B));
-  gr.add_grid_generator(grid_point(  A + 4*B));
-
-  gr.get_covering_box(box1);
-
-  Rational_Box known_box(SPACE_DIM);
-  known_box.add_constraint(A >= 0);
-  known_box.add_constraint(A <= 1);
-  known_box.add_constraint(B >= 0);
-  known_box.add_constraint(B <= 1);
-
-  bool ok = (box1 == known_box);
-
-  print_generators(gr, "*** gr ***");
-  nout << "box1:" << endl << box1;
-
-  if (ok) {
-    Grid tem_gr(box1, From_Covering_Box());
-    Rational_Box box2(SPACE_DIM);
-    tem_gr.get_covering_box(box2);
-
-    ok = (box2 == known_box);
-
-    nout << "box2:" << endl << box2;
-  }
-
-  return ok;
-}
-
-// Skew grid, with a divisor.
-bool
-test03() {
-  Variable A(0);
-  Variable B(1);
-
-  Rational_Box box1(SPACE_DIM);
-
-  Grid gr(SPACE_DIM, EMPTY);
-  gr.add_grid_generator(grid_point());
-  gr.add_grid_generator(grid_point(2*A));
-  gr.add_grid_generator(grid_point(  A + 2*B, 2));
-
-  gr.get_covering_box(box1);
-
-  Rational_Box known_box(SPACE_DIM);
-  known_box.add_constraint(2*A >= 0);
-  known_box.add_constraint(2*A <= 1);
-  known_box.add_constraint(2*B >= 0);
-  known_box.add_constraint(2*B <= 2);
-
-  bool ok = (box1 == known_box);
-
-  print_generators(gr, "*** gr ***");
-  nout << "box1:" << endl << box1;
-
-  if (ok) {
-    Grid tem_gr(box1, From_Covering_Box());
-    Rational_Box box2(SPACE_DIM);
-    tem_gr.get_covering_box(box2);
-
-    ok = (box2 == known_box);
-
-    nout << "box2:" << endl << box2;
-  }
-
-  return ok;
-}
-
-#undef SPACE_DIM
-#define SPACE_DIM 3
-
-// Grid containing a line.
-bool
-test04() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Rational_Box box1(SPACE_DIM);
-
-  Grid gr(SPACE_DIM, EMPTY);
-  gr.add_grid_generator(grid_point());
-  gr.add_grid_generator(grid_line(A + 2*B));
-  gr.add_grid_generator(grid_point(C, 2));
-
-  gr.get_covering_box(box1);
-
-  Rational_Box known_box(SPACE_DIM);
-  known_box.add_constraint(A == 0);
-  known_box.add_constraint(B == 0);
-  known_box.add_constraint(C >= 0);
-  known_box.add_constraint(2*C <= 1);
-
-  bool ok = (box1 == known_box);
-
-  print_generators(gr, "*** gr ***");
-  nout << "box1:" << endl << box1;
-
-  if (ok) {
-    Grid tem_gr(box1, From_Covering_Box());
-    Rational_Box box2(SPACE_DIM);
-    tem_gr.get_covering_box(box2);
-
-    ok = (box2 == known_box);
-
-    nout << "box2:" << endl << box2;
-  }
-
-  return ok;
-}
-
-// Universe grid.
-bool
-test05() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Rational_Box box1(SPACE_DIM);
-
-  Grid gr(SPACE_DIM);
-
-  gr.get_covering_box(box1);
-
-  Rational_Box known_box(SPACE_DIM);
-  known_box.add_constraint(A == 0);
-  known_box.add_constraint(B == 0);
-  known_box.add_constraint(C == 0);
-
-  bool ok = (box1 == known_box);
-
-  print_congruences(gr, "*** gr ***");
-  nout << "box1:" << endl << box1;
-
-  if (ok) {
-    Grid tem_gr(box1, From_Covering_Box());
-    Rational_Box box2(SPACE_DIM);
-    tem_gr.get_covering_box(box2);
-
-    ok = (box2 == known_box);
-
-    nout << "box2:" << endl << box2;
-  }
-
-  return ok;
-}
-
-// Grid which is a single point.
-bool
-test06() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Rational_Box box1(SPACE_DIM);
-
-  Grid gr(SPACE_DIM, EMPTY);
-  gr.add_grid_generator(grid_point(16*A + 6*B - 6*C, 7));
-
-  gr.get_covering_box(box1);
-
-  Rational_Box known_box(SPACE_DIM);
-  known_box.add_constraint(7*A >= 16);
-  known_box.add_constraint(7*B >= 6);
-  known_box.add_constraint(7*C >= -6);
-
-  bool ok = (box1 == known_box);
-
-  print_generators(gr, "*** gr ***");
-  nout << "box1:" << endl << box1;
-
-  if (ok) {
-    Grid tem_gr(box1, From_Covering_Box());
-    Rational_Box box2(SPACE_DIM);
-    tem_gr.get_covering_box(box2);
-
-    ok = (box2 == known_box);
-
-    nout << "box2:" << endl << box2;
-  }
-
-  return ok;
-}
-
-// Empty grid.
-bool
-test07() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Rational_Box box1(SPACE_DIM);
-  // Set bounds, to check that get_covering_box clears them.
-  box1.add_constraint(7*A >= 16);
-  box1.add_constraint(7*B >= 6);
-  box1.add_constraint(7*C >= -6);
-
-  Grid gr(SPACE_DIM, EMPTY);
-
-  gr.get_covering_box(box1);
-
-  Rational_Box known_box(SPACE_DIM);
-  known_box.set_empty();
-
-  bool ok = (box1 == known_box);
-
-  print_generators(gr, "*** gr ***");
-  nout << "box1:" << endl << box1;
-
-  if (ok) {
-    Grid tem_gr(box1, From_Covering_Box());
-
-    Rational_Box box2(SPACE_DIM);
-    // Set bounds, to check that get_covering_box clears them.
-    box2.add_constraint(3*A >= 1);
-    box2.add_constraint(2*B >= 2);
-    box2.add_constraint(C >= 3);
-
-    tem_gr.get_covering_box(box2);
-
-    ok = (box2 == known_box);
-
-    nout << "box2:" << endl << box2;
-  }
-
-  return ok;
-}
-
-// A grid which get_covering_box has to minimize.
-bool
-test08() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Rational_Box box1(SPACE_DIM);
-
-  Grid gr(SPACE_DIM, EMPTY);
-  gr.add_grid_generator(grid_point());
-  gr.add_grid_generator(grid_point(A + B));
-  gr.add_grid_generator(grid_point(A));
-  gr.add_grid_generator(grid_point(2*A));
-  gr.add_grid_generator(grid_point(C));
-
-  gr.get_covering_box(box1);
-
-  Rational_Box known_box(SPACE_DIM);
-  known_box.add_constraint(A >= 0);
-  known_box.add_constraint(A <= 1);
-  known_box.add_constraint(B >= 0);
-  known_box.add_constraint(B <= 1);
-  known_box.add_constraint(C >= 0);
-  known_box.add_constraint(C <= 1);
-
-  bool ok = (box1 == known_box);
-
-  print_generators(gr, "*** gr ***");
-  nout << "box1:" << endl << box1;
-
-  if (ok) {
-    Grid tem_gr(box1, From_Covering_Box());
-    Rational_Box box2(SPACE_DIM);
-    tem_gr.get_covering_box(box2);
-
-    ok = (box2 == known_box);
-
-    nout << "box2:" << endl << box2;
-  }
-
-  return ok;
-}
-
-// A grid defined by congruences.
-bool
-test09() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Rational_Box box1(SPACE_DIM);
-
-  Grid gr(SPACE_DIM);
-  gr.add_congruence((A + 2*B %= 0) / 2);
-  gr.add_congruence((A %= 0) / 5);
-
-  gr.get_covering_box(box1);
-
-  Rational_Box known_box(SPACE_DIM);
-  known_box.add_constraint(A >= 0);
-  known_box.add_constraint(A <= 5);
-  known_box.add_constraint(B >= 0);
-  known_box.add_constraint(2*B <= 1);
-  known_box.add_constraint(C >= 0);
-  known_box.add_constraint(C <= 0);
-
-  bool ok = (box1 == known_box);
-
-  print_generators(gr, "*** gr ***");
-  nout << "box1:" << endl << box1;
-
-  if (ok) {
-    Grid tem_gr(box1, From_Covering_Box());
-    Rational_Box box2(SPACE_DIM);
-    tem_gr.get_covering_box(box2);
-
-    ok = (box2 == known_box);
-
-    nout << "box2:" << endl << box2;
-  }
-
-  return ok;
-}
-
-// Grid where the only line is the final generator.
-bool
-test10() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Rational_Box box1(SPACE_DIM);
-
-  Grid gr(SPACE_DIM, EMPTY);
-  gr.add_grid_generator(grid_point());
-  gr.add_grid_generator(grid_point(A));
-  gr.add_grid_generator(grid_point(B));
-  gr.add_grid_generator(grid_line(C));
-
-  gr.get_covering_box(box1);
-
-  Rational_Box known_box(SPACE_DIM);
-  known_box.add_constraint(A >= 0);
-  known_box.add_constraint(A <= 1);
-  known_box.add_constraint(B >= 0);
-  known_box.add_constraint(B <= 1);
-  known_box.add_constraint(C == 0);
-
-  bool ok = (box1 == known_box);
-
-  print_generators(gr, "*** gr ***");
-  nout << "box1:" << endl << box1;
-
-  if (ok) {
-    Grid tem_gr(box1, From_Covering_Box());
-    Rational_Box box2(SPACE_DIM);
-    tem_gr.get_covering_box(box2);
-
-    ok = (box2 == known_box);
-
-    nout << "box2:" << endl << box2;
-  }
-
-  return ok;
-}
-
-#undef SPACE_DIM
-#define SPACE_DIM 4
-
-// A grid where, for a particular dimension (D), many coefficients
-// between the first and last rows contribute towards the size of the
-// resulting interval.
-bool
-test11() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-  Variable D(3);
-
-  Rational_Box box1(SPACE_DIM);
-
-  Grid gr(SPACE_DIM, EMPTY);
-  gr.add_grid_generator(grid_point());
-  gr.add_grid_generator(grid_point(A + 2*D));
-  gr.add_grid_generator(grid_point(B + 4*D));
-  gr.add_grid_generator(grid_point(C + 8*D));
-  gr.add_grid_generator(grid_point(16*D));
-
-  gr.get_covering_box(box1);
-
-  Rational_Box known_box(SPACE_DIM);
-  known_box.add_constraint(A >= 0);
-  known_box.add_constraint(A <= 1);
-  known_box.add_constraint(B >= 0);
-  known_box.add_constraint(B <= 1);
-  known_box.add_constraint(C >= 0);
-  known_box.add_constraint(C <= 1);
-  known_box.add_constraint(D >= 0);
-  known_box.add_constraint(D <= 2);
-
-  bool ok = (box1 == known_box);
-
-  print_generators(gr, "*** gr ***");
-  nout << "box1:" << endl << box1;
-
-  if (ok) {
-
-    Grid tem_gr(box1, From_Covering_Box());
-    Rational_Box box2(SPACE_DIM);
-    tem_gr.get_covering_box(box2);
-
-    ok = (box2 == known_box);
-
-    nout << "box2:" << endl << box2;
-  }
-
-  return ok;
-}
-
-// A grid where all the points have the same value in one of the
-// dimensions (B).
-bool
-test12() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-  Variable D(3);
-
-  Rational_Box box1(SPACE_DIM);
-
-  Grid gr(SPACE_DIM, EMPTY);
-  gr.add_grid_generator(grid_point());
-  gr.add_grid_generator(grid_point(A));
-  gr.add_grid_generator(grid_point(C));
-  gr.add_grid_generator(grid_point(D));
-
-  gr.get_covering_box(box1);
-
-  Rational_Box known_box(SPACE_DIM);
-  known_box.add_constraint(A >= 0);
-  known_box.add_constraint(A <= 1);
-  known_box.add_constraint(B >= 0);
-  known_box.add_constraint(C >= 0);
-  known_box.add_constraint(C <= 1);
-  known_box.add_constraint(D >= 0);
-  known_box.add_constraint(D <= 1);
-
-  bool ok = (box1 == known_box);
-
-  print_generators(gr, "*** gr ***");
-  nout << "box1:" << endl << box1;
-
-  if (ok) {
-    Grid tem_gr(box1, From_Covering_Box());
-    Rational_Box box2(SPACE_DIM);
-    tem_gr.get_covering_box(box2);
-
-    ok = (box2 == known_box);
-
-    nout << "box2:" << endl << box2;
-  }
-
-  return ok;
-}
-
-// An empty grid defined by congruences.
-bool
-test13() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Rational_Box box1(SPACE_DIM);
-  // Set bounds, to check that get_covering_box clears them.
-  box1.add_constraint(7*A >= 1);
-  box1.add_constraint(7*B >= 2);
-  box1.add_constraint(7*C >= 3);
-
-  Grid gr(SPACE_DIM);
-  gr.add_congruence((A %= 0) / 2);
-  gr.add_congruence((A %= 1) / 2);
-
-  gr.get_covering_box(box1);
-
-  Rational_Box known_box(SPACE_DIM);
-  known_box.set_empty();
-
-  bool ok = (box1 == known_box);
-
-  print_congruences(gr, "*** gr ***");
-  nout << "box1:" << endl << box1;
-
-  if (ok) {
-    Grid tem_gr(box1, From_Covering_Box());
-
-    Rational_Box box2(SPACE_DIM);
-    // Set bounds, to check that get_covering_box clears them.
-    box2.add_constraint(7*A >= 3);
-    box2.add_constraint(7*B >= 1);
-    box2.add_constraint(7*C >= 2);
-
-    tem_gr.get_covering_box(box2);
-
-    ok = (box2 == known_box);
-
-    nout << "box2:" << endl << box2;
-  }
-
-  return ok;
-}
-
-// Grid which is a single point, with a divisor, such that the
-// fractions for some intervals (B and C) will be reduced before being
-// assigned to the intervals.
-bool
-test14() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-  Variable D(3);
-
-  Rational_Box box1(SPACE_DIM);
-
-  Grid gr(SPACE_DIM, EMPTY);
-  gr.add_grid_generator(grid_point(16*A + 14*B - 7*C, 7));
-
-  gr.get_covering_box(box1);
-
-  Rational_Box known_box(SPACE_DIM);
-  known_box.add_constraint(7*A >= 16);
-  known_box.add_constraint(B >= 2);
-  known_box.add_constraint(C >= -1);
-  known_box.add_constraint(D >= 0);
-
-  bool ok = (box1 == known_box);
-
-  print_generators(gr, "*** gr ***");
-  nout << "box1:" << endl << box1;
-
-  if (ok) {
-    Grid tem_gr(box1, From_Covering_Box());
-    Rational_Box box2(SPACE_DIM);
-    tem_gr.get_covering_box(box2);
-
-    ok = (box2 == known_box);
-
-    nout << "box2:" << endl << box2;
-  }
-
-  return ok;
-}
-
-// Many-pointed grid, with a divisor, such that the fractions for some
-// intervals (B and C) will be reduced before being assigned to the
-// intervals.
-bool
-test15() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-  Variable D(3);
-
-  Rational_Box box1(SPACE_DIM);
-
-  Grid gr(SPACE_DIM, EMPTY);
-  gr.add_grid_generator(grid_point());
-  gr.add_grid_generator(grid_point(A, 6));
-  gr.add_grid_generator(grid_point(B, 3));
-  gr.add_grid_generator(grid_point(C, 2));
-
-  gr.get_covering_box(box1);
-
-  Rational_Box known_box(SPACE_DIM);
-  known_box.add_constraint(A >= 0);
-  known_box.add_constraint(6*A <= 1);
-  known_box.add_constraint(B >= 0);
-  known_box.add_constraint(3*B <= 1);
-  known_box.add_constraint(C >= 0);
-  known_box.add_constraint(2*C <= 1);
-  known_box.add_constraint(D >= 0);
-
-  bool ok = (box1 == known_box);
-
-  print_generators(gr, "*** gr ***");
-  nout << "box1:" << endl << box1;
-
-  if (ok) {
-    Grid tem_gr(box1, From_Covering_Box());
-    Rational_Box box2(SPACE_DIM);
-    tem_gr.get_covering_box(box2);
-
-    ok = (box2 == known_box);
-
-    nout << "box2:" << endl << box2;
-  }
-
-  return ok;
-}
-
-#undef SPACE_DIM
-#define SPACE_DIM 0
-
-// Zero dimension empty grid.
-bool
-test16() {
-  Rational_Box box1(SPACE_DIM);
-
-  Grid gr(SPACE_DIM, EMPTY);
-
-  gr.get_covering_box(box1);
-
-  Rational_Box known_box(SPACE_DIM);
-  known_box.set_empty();
-
-  bool ok = (box1 == known_box);
-
-  print_generators(gr, "*** gr ***");
-  nout << "box1:" << endl << box1;
-
-  if (ok) {
-    Grid tem_gr(box1, From_Covering_Box());
-    Rational_Box box2(SPACE_DIM);
-    tem_gr.get_covering_box(box2);
-
-    ok = (box2 == known_box);
-
-    nout << "box2:" << endl << box2;
-  }
-
-  return ok;
-}
-
-// Zero dimension universe grid.
-bool
-test17() {
-  Rational_Box box1(SPACE_DIM);
-
-  Grid gr(SPACE_DIM);
-
-  gr.get_covering_box(box1);
-
-  Rational_Box known_box(SPACE_DIM);
-
-  bool ok = (box1 == known_box);
-
-  print_congruences(gr, "*** gr ***");
-  nout << "box1:" << endl << box1;
-
-  if (ok) {
-    Grid tem_gr(box1, From_Covering_Box());
-    Rational_Box box2(SPACE_DIM);
-    tem_gr.get_covering_box(box2);
-
-    ok = (box2 == known_box);
-
-    nout << "box2:" << endl << box2;
-  }
-
-  return ok;
-}
-
-#undef SPACE_DIM
-#define SPACE_DIM 2
-
-// Rectilinear grid as in test01 but this time
-// defined by a point and 2 parameters.
-bool
-test18() {
-  Variable A(0);
-  Variable B(1);
-
-  Rational_Box box1(SPACE_DIM);
-
-  Grid gr(SPACE_DIM, EMPTY);
-  gr.add_grid_generator(grid_point(B));
-  gr.add_grid_generator(parameter(3*A));
-  gr.add_grid_generator(parameter(3*A + 2*B));
-
-  gr.get_covering_box(box1);
-
-  Rational_Box known_box(SPACE_DIM);
-  known_box.add_constraint(A >= 0);
-  known_box.add_constraint(A <= 3);
-  known_box.add_constraint(B >= 1);
-  known_box.add_constraint(B <= 3);
-
-  bool ok = (box1 == known_box);
-
-  print_generators(gr, "*** gr ***");
-  nout << "box1:" << endl << box1;
-
-  if (ok) {
-    Grid tem_gr(box1, From_Covering_Box());
-    Rational_Box box2(SPACE_DIM);
-    tem_gr.get_covering_box(box2);
-
-    ok = (box2 == known_box);
-
-    nout << "box2:" << endl << box2;
-  }
-
-  return ok;
-}
-
-#undef SPACE_DIM
-#define SPACE_DIM 4
-
-// 4D grid defined with points and parameters.
-bool
-test19() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-  Variable D(3);
-
-  Rational_Box box1(SPACE_DIM);
-
-  Grid gr(SPACE_DIM, EMPTY);
-  gr.add_grid_generator(grid_point(A));
-  gr.add_grid_generator(grid_point(7*A));
-  gr.add_grid_generator(parameter(5*B-3*A));
-  gr.add_grid_generator(parameter(3*A));
-  gr.add_grid_generator(grid_point(C+A));
-
-  gr.get_covering_box(box1);
-
-  Rational_Box known_box(SPACE_DIM);
-  known_box.add_constraint(A >= 1);
-  known_box.add_constraint(A <= 4);
-  known_box.add_constraint(B >= 0);
-  known_box.add_constraint(B <= 5);
-  known_box.add_constraint(C >= 0);
-  known_box.add_constraint(C <= 1);
-  known_box.add_constraint(D >= 0);
-
-  bool ok = (box1 == known_box);
-
-  print_generators(gr, "*** gr ***");
-  nout << "box1:" << endl << box1 << endl;
-
-  if (ok) {
-    Grid tem_gr(box1, From_Covering_Box());
-    Rational_Box box2(SPACE_DIM);
-    tem_gr.get_covering_box(box2);
-
-    ok = (box2 == known_box);
-
-    nout << "box2:" << endl << box2 << endl;
-  }
-
-  return ok;
-}
-
-} // namespace
-
-
-BEGIN_MAIN
-  DO_TEST(test01);
-  DO_TEST(test02);
-  DO_TEST(test03);
-  DO_TEST(test04);
-  DO_TEST(test05);
-  DO_TEST(test06);
-  DO_TEST(test07);
-  DO_TEST(test08);
-  DO_TEST(test09);
-  DO_TEST(test10);
-  DO_TEST(test11);
-  DO_TEST(test12);
-  DO_TEST(test13);
-  DO_TEST(test14);
-  DO_TEST(test15);
-  DO_TEST(test16);
-  DO_TEST(test17);
-  DO_TEST(test18);
-  DO_TEST(test19);
-END_MAIN
diff --git a/tests/Grid/discrete1.cc b/tests/Grid/discrete1.cc
index aaa27a7..15b6e99 100644
--- a/tests/Grid/discrete1.cc
+++ b/tests/Grid/discrete1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::is_pointed().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -68,7 +68,7 @@ test04() {
   Variable B(1);
 
   Grid gr_gs_min(2, EMPTY);
-  gr_gs_min.add_grid_generator_and_minimize(grid_point(3*A + 2*B));
+  gr_gs_min.add_grid_generator(grid_point(3*A + 2*B));
 
   Grid gr_gs_needs_min(2, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point(3*A + 2*B));
@@ -100,7 +100,7 @@ test05() {
 
   Grid gr_gs_min(3, EMPTY);
   gr_gs_min.add_grid_generator(grid_point(3*A + 2*B));
-  gr_gs_min.add_grid_generator_and_minimize(grid_line(C));
+  gr_gs_min.add_grid_generator(grid_line(C));
 
   Grid gr_gs_needs_min(3, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point(3*A + 2*B));
@@ -141,7 +141,7 @@ test06() {
 
   Grid gr_gs_min(3, EMPTY);
   gr_gs_min.add_grid_generator(grid_point(3*A + 2*B));
-  gr_gs_min.add_grid_generator_and_minimize(grid_point(3*A + B));
+  gr_gs_min.add_grid_generator(grid_point(3*A + B));
 
   Grid gr_gs_needs_min(3, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point(3*A + 2*B));
@@ -176,7 +176,7 @@ test07() {
   Grid gr_gs_min(3, EMPTY);
   gr_gs_min.add_grid_generator(grid_point(3*A + 2*B));
   gr_gs_min.add_grid_generator(grid_point(3*A + B));
-  gr_gs_min.add_grid_generator_and_minimize(grid_line(C));
+  gr_gs_min.add_grid_generator(grid_line(C));
 
   Grid gr_gs_needs_min(3, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point(3*A + 2*B));
@@ -210,7 +210,7 @@ test08() {
   Grid gr_gs_min(2, EMPTY);
   gr_gs_min.add_grid_generator(grid_point());
   gr_gs_min.add_grid_generator(grid_point(A));
-  gr_gs_min.add_grid_generator_and_minimize(grid_point(3*A + 3*B, 4));
+  gr_gs_min.add_grid_generator(grid_point(3*A + 3*B, 4));
 
   Grid gr_gs_needs_min(2, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point());
@@ -246,7 +246,7 @@ test09() {
   gr_gs_min.add_grid_generator(grid_point());
   gr_gs_min.add_grid_generator(grid_point(A));
   gr_gs_min.add_grid_generator(grid_line(C));
-  gr_gs_min.add_grid_generator_and_minimize(grid_point(3*A + 3*B, 4));
+  gr_gs_min.add_grid_generator(grid_point(3*A + 3*B, 4));
 
   Grid gr_gs_needs_min(3, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point());
@@ -283,7 +283,7 @@ test10() {
   Grid gr_gs_min(4, EMPTY);
   gr_gs_min.add_grid_generator(grid_point());
   gr_gs_min.add_grid_generator(grid_line(B));
-  gr_gs_min.add_grid_generator_and_minimize(grid_line(C));
+  gr_gs_min.add_grid_generator(grid_line(C));
 
   Grid gr_gs_needs_min(4, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point());
diff --git a/tests/Grid/disjoint1.cc b/tests/Grid/disjoint1.cc
index 42f2230..996db66 100644
--- a/tests/Grid/disjoint1.cc
+++ b/tests/Grid/disjoint1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::is_disjoint_from().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/dropnonintegerpoints1.cc b/tests/Grid/dropnonintegerpoints1.cc
new file mode 100644
index 0000000..3dec81a
--- /dev/null
+++ b/tests/Grid/dropnonintegerpoints1.cc
@@ -0,0 +1,322 @@
+/* Test Grid::drop_some_non_integer_points().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+
+namespace {
+
+// Universe and empty grid.
+bool
+test01() {
+  Variable A(0);
+
+  Grid gr1(1);
+
+  Grid gr2(1, EMPTY);
+
+  gr1.drop_some_non_integer_points(ANY_COMPLEXITY);
+  gr2.drop_some_non_integer_points(ANY_COMPLEXITY);
+  Grid known_gr1(1);
+  known_gr1.add_congruence(A %= 0);
+  bool ok = (gr2.is_empty() && gr1 == known_gr1);
+  print_congruences(gr1, "*** gr1 ***");
+  print_congruences(gr2, "*** gr2 ***");
+
+  return ok;
+}
+
+// 0-dimension grids.
+bool
+test02() {
+  Grid gr1(0);
+
+  Grid gr2(0, EMPTY);
+
+  gr1.drop_some_non_integer_points(ANY_COMPLEXITY);
+  gr2.drop_some_non_integer_points(ANY_COMPLEXITY);
+  bool ok = (gr2.is_empty() && gr1.is_universe());
+  print_congruences(gr1, "*** gr1 ***");
+  print_congruences(gr2, "*** gr2 ***");
+
+  return ok;
+}
+
+// Non-relational test.
+bool
+test03() {
+  Variable A(0);
+
+  Grid gr1(1);
+  Grid gr2(1);
+  gr1.add_congruence(2*A %= 0);
+  gr2.add_congruence((A %= 1) / 2);
+  Grid known_gr1(1);
+  known_gr1.add_congruence(A %= 0);
+  Grid known_gr2(1);
+  known_gr2.add_congruence((A %= 1) / 2);
+
+  gr1.drop_some_non_integer_points(ANY_COMPLEXITY);
+  gr2.drop_some_non_integer_points(ANY_COMPLEXITY);
+  bool ok = (gr1 == known_gr1 && gr2 == known_gr2);
+  print_congruences(gr1, "*** gr1 ***");
+  print_congruences(gr2, "*** gr2 ***");
+
+  return ok;
+}
+
+bool
+test04() {
+  Variable A(0);
+  Variable B(1);
+
+  Grid gr1(2);
+  Grid gr2(2);
+  gr1.add_congruence(2*A %= 0);
+  gr2.add_congruence((A %= 1) / 2);
+  Grid known_gr1(2);
+  Grid known_gr2(2);
+  known_gr1.add_congruence(A %= 0);
+  known_gr1.add_congruence(B %= 0);
+  known_gr2.add_congruence((A %= 1) / 2);
+  known_gr2.add_congruence(B %= 0);
+
+  gr1.drop_some_non_integer_points(ANY_COMPLEXITY);
+  gr2.drop_some_non_integer_points(ANY_COMPLEXITY);
+  bool ok = (gr1 == known_gr1 && gr2 == known_gr2);
+
+  print_congruences(gr1, "*** gr1 ***");
+  print_congruences(gr2, "*** gr2 ***");
+
+  return ok;
+}
+
+bool
+test05() {
+  Variable A(0);
+  Variable B(1);
+
+  Grid gr(2);
+  gr.add_congruence((A %= 1) / 2);
+  gr.add_congruence((B %= 1) / 2);
+  Grid known_gr(2);
+  known_gr.add_congruence((A %= 1) / 2);
+  known_gr.add_congruence((B %= 1) / 2);
+  gr.drop_some_non_integer_points(ANY_COMPLEXITY);
+  bool ok = (gr == known_gr);
+
+  print_congruences(gr, "*** gr ***");
+
+  return ok;
+}
+
+bool
+test06() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+  Variable D(3);
+
+  Grid gr(4, EMPTY);
+  gr.add_grid_generator(grid_point((-2*A - C + 2*D), 2));
+  gr.add_grid_generator(parameter(10*A, 2));
+  gr.add_grid_generator(grid_line(2*B + C));
+  gr.add_grid_generator(parameter(5*C, 2));
+  gr.add_grid_generator(parameter(10*D, 2));
+  Grid known_gr(gr);
+  known_gr.add_congruence(A %= 0);
+  known_gr.add_congruence(B %= 0);
+  known_gr.add_congruence(C %= 0);
+  known_gr.add_congruence(D %= 0);
+
+  gr.drop_some_non_integer_points(ANY_COMPLEXITY);
+  bool ok = (gr == known_gr);
+  print_congruences(gr, "*** gr ***");
+
+  return ok;
+}
+
+// Universe and empty grid with variable set A.
+bool
+test07() {
+  Variable A(0);
+
+  Grid gr1(1);
+
+  Grid gr2(1, EMPTY);
+
+  Variables_Set vars;
+  vars.insert(A);
+
+  gr1.drop_some_non_integer_points(vars, ANY_COMPLEXITY);
+  gr2.drop_some_non_integer_points(vars, ANY_COMPLEXITY);
+  Grid known_gr1(1);
+  known_gr1.add_congruence(A %= 0);
+  bool ok = (gr2.is_empty() && gr1 == known_gr1);
+  print_congruences(gr1, "*** gr1 ***");
+  print_congruences(gr2, "*** gr2 ***");
+
+  return ok;
+}
+
+// 0-dimension grids with empty variable set.
+
+bool
+test08() {
+  Grid gr1(0);
+
+  Grid gr2(0, EMPTY);
+
+  Variables_Set vars;
+
+  gr1.drop_some_non_integer_points(vars, ANY_COMPLEXITY);
+  gr2.drop_some_non_integer_points(vars, ANY_COMPLEXITY);
+  bool ok = (gr2.is_empty() && gr1.is_universe());
+  print_congruences(gr1, "*** gr1 ***");
+  print_congruences(gr2, "*** gr2 ***");
+
+  return ok;
+}
+
+// Non-relational test with variable set A.
+bool
+test09() {
+  Variable A(0);
+
+  Grid gr1(1);
+  Grid gr2(1);
+  gr1.add_congruence(2*A %= 0);
+  gr2.add_congruence((A %= 1) / 2);
+  Grid known_gr1(1);
+  known_gr1.add_congruence(A %= 0);
+  Grid known_gr2(1);
+  known_gr2.add_congruence((A %= 1) / 2);
+
+  Variables_Set vars;
+  vars.insert(A);
+
+  gr1.drop_some_non_integer_points(vars, ANY_COMPLEXITY);
+  gr2.drop_some_non_integer_points(vars, ANY_COMPLEXITY);
+  bool ok = (gr1 == known_gr1 && gr2 == known_gr2);
+  print_congruences(gr1, "*** gr1 ***");
+  print_congruences(gr2, "*** gr2 ***");
+
+  return ok;
+}
+
+// Non-relational test with variable set A.
+bool
+test10() {
+  Variable A(0);
+  Variable B(1);
+
+  Grid gr1(2);
+  Grid gr2(2);
+  gr1.add_congruence(2*A %= 0);
+  gr2.add_congruence((A %= 1) / 2);
+  Grid known_gr1(2);
+  Grid known_gr2(2);
+  known_gr1.add_congruence(A %= 0);
+  known_gr2.add_congruence((A %= 1) / 2);
+
+  Variables_Set vars;
+  vars.insert(A);
+
+  gr1.drop_some_non_integer_points(vars, ANY_COMPLEXITY);
+  gr2.drop_some_non_integer_points(vars, ANY_COMPLEXITY);
+  bool ok = (gr1 == known_gr1 && gr2 == known_gr2);
+
+  print_congruences(gr1, "*** gr1 ***");
+  print_congruences(gr2, "*** gr2 ***");
+
+  return ok;
+}
+
+// Non-relational test with variable set A.
+bool
+test11() {
+  Variable A(0);
+  Variable B(1);
+
+  Grid gr(2);
+  gr.add_congruence((B %= 1) / 2);
+  Grid known_gr(2);
+  known_gr.add_congruence(A %= 1);
+  known_gr.add_congruence((B %= 1) / 2);
+
+  Variables_Set vars;
+  vars.insert(A);
+
+  gr.drop_some_non_integer_points(vars, ANY_COMPLEXITY);
+  bool ok = (gr == known_gr);
+
+  print_congruences(gr, "*** gr ***");
+
+  return ok;
+}
+
+// Relational test with variable set {A, C}.
+bool
+test12() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+  Variable D(3);
+
+  Grid gr(4, EMPTY);
+  gr.add_grid_generator(grid_point((-2*A - C + 2*D), 2));
+  gr.add_grid_generator(parameter(10*A, 2));
+  gr.add_grid_generator(grid_line(2*B + C));
+  gr.add_grid_generator(parameter(5*C, 2));
+  gr.add_grid_generator(parameter(10*D, 2));
+  Grid known_gr(gr);
+  known_gr.add_congruence(A %= 0);
+  known_gr.add_congruence(C %= 0);
+
+  Variables_Set vars;
+  vars.insert(A);
+  vars.insert(C);
+
+  gr.drop_some_non_integer_points(vars, ANY_COMPLEXITY);
+  bool ok = (gr == known_gr);
+  print_congruences(gr, "*** gr ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST(test08);
+  DO_TEST(test09);
+  DO_TEST(test10);
+  DO_TEST(test11);
+  DO_TEST(test12);
+END_MAIN
diff --git a/tests/Grid/equals1.cc b/tests/Grid/equals1.cc
index 93233ea..4f8ca3e 100644
--- a/tests/Grid/equals1.cc
+++ b/tests/Grid/equals1.cc
@@ -1,6 +1,6 @@
 /* Test operator==(const Grid&, const Grid&)
    and operator!=(const Grid&, const Grid&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/expandspacedim1.cc b/tests/Grid/expandspacedim1.cc
index d4a83b1..0835da8 100644
--- a/tests/Grid/expandspacedim1.cc
+++ b/tests/Grid/expandspacedim1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::expand_space_dimension().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/foldspacedims1.cc b/tests/Grid/foldspacedims1.cc
index c9da38b..e670a37 100644
--- a/tests/Grid/foldspacedims1.cc
+++ b/tests/Grid/foldspacedims1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::fold_space_dimensions().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/frequency1.cc b/tests/Grid/frequency1.cc
new file mode 100644
index 0000000..1ee313e
--- /dev/null
+++ b/tests/Grid/frequency1.cc
@@ -0,0 +1,348 @@
+/* Test Grid::frequency().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+
+namespace {
+
+// Universe and empty grid.
+bool
+test01() {
+  Variable A(0);
+
+  Grid gr1(1);
+
+  Grid gr2(1, EMPTY);
+
+  Coefficient num1;
+  Coefficient den1;
+  Coefficient valn1;
+  Coefficient vald1;
+  Coefficient num2;
+  Coefficient den2;
+  Coefficient valn2;
+  Coefficient vald2;
+  bool ok = (!gr1.frequency(A, num1, den1, valn1, vald1)
+             && !gr2.frequency(A, num2, den2, valn2, vald2));
+  print_congruences(gr1, "*** gr1 ***");
+  print_congruences(gr2, "*** gr2 ***");
+
+  return ok;
+}
+
+// 0-dimension grids.
+bool
+test02() {
+  Grid gr1(0);
+
+  Grid gr2(0, EMPTY);
+
+  Coefficient num1;
+  Coefficient den1;
+  Coefficient valn1;
+  Coefficient vald1;
+  Coefficient num2;
+  Coefficient den2;
+  Coefficient valn2;
+  Coefficient vald2;
+  bool ok = (gr1.frequency(Linear_Expression(0), num1, den1, valn1, vald1)
+             && num1 == 0 && den1 == 1 && valn1 == 0 && vald1 == 1
+             && !gr2.frequency(Linear_Expression(0), num2, den2, valn2, vald2));
+  print_congruences(gr1, "*** gr1 ***");
+  print_congruences(gr2, "*** gr2 ***");
+
+  return ok;
+}
+
+// Non-relational test.
+bool
+test03() {
+  Variable A(0);
+
+  Grid gr(1);
+  gr.add_congruence(A %= 0);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (gr.frequency(Linear_Expression(A), num, den, valn, vald)
+             && num == 1 && den == 1 && valn == 0 && vald == 1);
+  print_congruences(gr, "*** gr ***");
+
+  return ok;
+}
+
+bool
+test04() {
+  Variable A(0);
+  Variable B(1);
+
+  Grid gr(2);
+  gr.add_congruence(A %= 0);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (!gr.frequency(Linear_Expression(B), num, den, valn, vald));
+  print_congruences(gr, "*** gr ***");
+
+  return ok;
+}
+
+bool
+test05() {
+  Variable A(0);
+  Variable B(1);
+
+  Grid gr(2);
+  gr.add_congruence(A %= 0);
+  gr.add_congruence(B %= 0);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (gr.frequency(Linear_Expression(A + B - 3), num, den, valn, vald)
+             && num == 1 && den == 1 && valn == 0 && vald == 1);
+  print_congruences(gr, "*** gr ***");
+
+  return ok;
+}
+
+bool
+test06() {
+  Variable A(0);
+  Variable B(1);
+
+  Grid gr(2);
+  gr.add_congruence(A %= 0);
+  gr.add_congruence((B %= 1) / 2);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (gr.frequency(Linear_Expression(2*A + B), num, den, valn, vald)
+             && num == 2 && den == 1 && valn == 1 && vald == 1);
+  print_congruences(gr, "*** gr ***");
+
+  return ok;
+}
+
+bool
+test07() {
+  Variable A(0);
+  Variable B(1);
+
+  Grid gr(2);
+  gr.add_congruence(A %= 0);
+  gr.add_congruence((B %= 1) / 2);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (gr.frequency(Linear_Expression(2*A + 3*B), num, den, valn, vald)
+             && num == 2 && den == 1 && valn == 1 && vald == 1);
+  print_congruences(gr, "*** gr ***");
+
+  return ok;
+}
+
+bool
+test08() {
+  Variable A(0);
+  Variable B(1);
+
+  Grid gr(2);
+  gr.add_congruence(3*A %= 0);
+  gr.add_congruence((B %= 0) / 2);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (gr.frequency(Linear_Expression(2*A + 3*B - 1),
+                          num, den, valn, vald)
+             && num == 2 && den == 3 && valn == -1 && vald == 3);
+  print_congruences(gr, "*** gr ***");
+
+  return ok;
+}
+
+bool
+test09() {
+  Variable A(0);
+  Variable B(1);
+
+  Grid gr(2);
+  gr.add_congruence((A %= 1) / 2);
+  gr.add_congruence((B %= 1) / 2);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (gr.frequency(Linear_Expression(3*A + 2*B + 5),
+                          num, den, valn, vald)
+             && num == 2 && den == 1 && valn == 0 && vald == 1);
+  print_congruences(gr, "*** gr ***");
+
+  return ok;
+}
+
+bool
+test10() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+  Variable D(3);
+
+  Grid gr(4, EMPTY);
+  gr.add_grid_generator(grid_point((-2*A - C + 2*D), 2));
+  gr.add_grid_generator(parameter(10*A, 2));
+  gr.add_grid_generator(grid_line(2*B + C));
+  gr.add_grid_generator(parameter(5*C, 2));
+  gr.add_grid_generator(parameter(10*D, 2));
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (gr.frequency(Linear_Expression(3*A - B + 2*C - 17),
+                          num, den, valn, vald)
+             && num == 5 && den == 1 && valn == -1 && vald == 1);
+
+  Grid known_gr(gr);
+  known_gr.add_congruence((3*A - B + 2*C - 17 %= -1) / 5);
+  print_congruences(gr, "*** gr ***");
+
+  return ok && (gr == known_gr);
+}
+
+bool
+test11() {
+  Variable A(0);
+  Variable B(1);
+
+  Grid gr(2, EMPTY);
+  gr.add_grid_generator(grid_point((2*A - B), 4));
+  gr.add_grid_generator(parameter(B));
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (gr.frequency(Linear_Expression(A),
+                          num, den, valn, vald)
+             && num == 0 && den == 1 && valn == 1 && vald == 2);
+
+  Grid known_gr(gr);
+  known_gr.add_congruence((2*A %= 1) / 0);
+  print_congruences(gr, "*** gr ***");
+
+  return ok && (gr == known_gr);
+}
+
+bool
+test12() {
+  Variable A(0);
+  Variable B(1);
+
+  Grid gr(2);
+  gr.add_constraint(A == 0);
+  gr.add_congruence(B %= 0);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (gr.frequency(Linear_Expression(A), num, den, valn, vald)
+             && num == 0 && den == 1 && valn == 0 && vald == 1);
+  print_congruences(gr, "*** gr ***");
+
+  return ok;
+}
+
+bool
+test13() {
+  Variable A(0);
+  Variable B(1);
+
+  Grid gr(2);
+  gr.add_constraint(A == 0);
+  gr.add_constraint(B == 0);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (gr.frequency(Linear_Expression(A), num, den, valn, vald)
+             && num == 0 && den == 1 && valn == 0 && vald == 1);
+  print_congruences(gr, "*** gr ***");
+
+  return ok;
+}
+
+bool
+test14() {
+  Variable A(0);
+  Variable B(1);
+
+  Grid gr(2);
+  gr.add_congruence((A %= 0) / 1);
+  gr.add_congruence((2*A - B %= 0) / 2);
+  print_congruences(gr, "*** gr ***");
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (gr.frequency(Linear_Expression(B), num, den, valn, vald)
+             && num == 2 && den == 1 && valn == 0 && vald == 1);
+  print_congruences(gr, "*** gr ***");
+  nout << num << den;
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST(test08);
+  DO_TEST(test09);
+  DO_TEST(test10);
+  DO_TEST(test11);
+  DO_TEST(test12);
+  DO_TEST(test13);
+  DO_TEST(test14);
+END_MAIN
diff --git a/tests/Grid/frombdshape1.cc b/tests/Grid/frombdshape1.cc
index b7e4cef..cc5b1ac 100644
--- a/tests/Grid/frombdshape1.cc
+++ b/tests/Grid/frombdshape1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::BD_Shape(const C_Polyhedron&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/frombox1.cc b/tests/Grid/frombox1.cc
index e9b9cd3..dc677fb 100644
--- a/tests/Grid/frombox1.cc
+++ b/tests/Grid/frombox1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::Grid(const Box&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/fromgrid1.cc b/tests/Grid/fromgrid1.cc
index 941c30b..cf87534 100644
--- a/tests/Grid/fromgrid1.cc
+++ b/tests/Grid/fromgrid1.cc
@@ -1,5 +1,5 @@
 /* Test copy construction and assignment for grids.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/fromoctagonalshape1.cc b/tests/Grid/fromoctagonalshape1.cc
index aadd1cc..a223b8d 100644
--- a/tests/Grid/fromoctagonalshape1.cc
+++ b/tests/Grid/fromoctagonalshape1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::BD_Shape(const C_Polyhedron&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/frompolyhedron1.cc b/tests/Grid/frompolyhedron1.cc
index eacdef5..6af7008 100644
--- a/tests/Grid/frompolyhedron1.cc
+++ b/tests/Grid/frompolyhedron1.cc
@@ -1,5 +1,5 @@
 /* Test construction of grids from polyhedron.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/generalizedaffineimage1.cc b/tests/Grid/generalizedaffineimage1.cc
index 419cc8a..5236c5a 100644
--- a/tests/Grid/generalizedaffineimage1.cc
+++ b/tests/Grid/generalizedaffineimage1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::generalized_affine_image(var, ...).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/generalizedaffineimage2.cc b/tests/Grid/generalizedaffineimage2.cc
index 08aa748..57f48fa 100644
--- a/tests/Grid/generalizedaffineimage2.cc
+++ b/tests/Grid/generalizedaffineimage2.cc
@@ -1,5 +1,5 @@
 /* Test Grid::generalized_affine_image(lhs, rhs, modulus).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/generalizedaffineimage3.cc b/tests/Grid/generalizedaffineimage3.cc
index f6806ef..fb62135 100644
--- a/tests/Grid/generalizedaffineimage3.cc
+++ b/tests/Grid/generalizedaffineimage3.cc
@@ -1,5 +1,5 @@
 /* Test Grid::generalized_affine_image(var, ...).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/generalizedaffinepreimage1.cc b/tests/Grid/generalizedaffinepreimage1.cc
index 2c9c63e..2c3bb06 100644
--- a/tests/Grid/generalizedaffinepreimage1.cc
+++ b/tests/Grid/generalizedaffinepreimage1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::generalized_affine_preimage(var, ...).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/generalizedaffinepreimage2.cc b/tests/Grid/generalizedaffinepreimage2.cc
index cac1051..ca7496b 100644
--- a/tests/Grid/generalizedaffinepreimage2.cc
+++ b/tests/Grid/generalizedaffinepreimage2.cc
@@ -1,5 +1,5 @@
 /* Test Grid::generalized_affine_preimage(lhs, rhs, modulus).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/generalizedaffinepreimage3.cc b/tests/Grid/generalizedaffinepreimage3.cc
index 7ea5019..f47ffff 100644
--- a/tests/Grid/generalizedaffinepreimage3.cc
+++ b/tests/Grid/generalizedaffinepreimage3.cc
@@ -1,5 +1,5 @@
 /* Test Grid::generalized_affine_preimage(var, ...).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/generator1.cc b/tests/Grid/generator1.cc
index 91b6fc0..c99e946 100644
--- a/tests/Grid/generator1.cc
+++ b/tests/Grid/generator1.cc
@@ -1,5 +1,5 @@
 /* Test class Grid_Generator.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/generators1.cc b/tests/Grid/generators1.cc
index 2619508..3340df1 100644
--- a/tests/Grid/generators1.cc
+++ b/tests/Grid/generators1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::generators().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -178,7 +178,7 @@ test08() {
 
   // Empty the grid.  The idea is to check that `gs' still refers to a
   // generator system that matches the grid.
-  gr1.add_congruence_and_minimize(Congruence::zero_dim_false());
+  gr1.add_congruence(Congruence::zero_dim_false());
 
   Grid known_gr = gr1;
 
diff --git a/tests/Grid/generators2.cc b/tests/Grid/generators2.cc
index 69fc15f..cae8d9f 100644
--- a/tests/Grid/generators2.cc
+++ b/tests/Grid/generators2.cc
@@ -1,5 +1,5 @@
 /* Test class Grid_Generator_System.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/grid1.cc b/tests/Grid/grid1.cc
index b674b9f..4a6cb13 100644
--- a/tests/Grid/grid1.cc
+++ b/tests/Grid/grid1.cc
@@ -1,5 +1,5 @@
 /* Test reduction and conversion of grids created from generators.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -24,7 +24,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace {
 
-// add_grid_generator_and_minimize, one variable.
+// add_grid_generator, one variable.
 bool
 test01() {
   Variable A(0);
@@ -35,7 +35,7 @@ test01() {
   Grid gr(gs);
   print_generators(gr, "*** gr ***");
 
-  gr.add_grid_generator_and_minimize(grid_point(2*A));
+  gr.add_grid_generator(grid_point(2*A));
 
   Congruence_System known_cgs;
   known_cgs.insert(A %= 0);
@@ -45,12 +45,12 @@ test01() {
   bool ok = (gr == known_gr);
 
   print_congruences(gr,
-		    "*** gr.add_grid_generator_and_minimize(grid_point(2*A)) ***");
+		    "*** gr.add_grid_generator(grid_point(2*A)) ***");
 
   return ok;
 }
 
-// add_grid_generator_and_minimize, two variables.
+// add_grid_generator, two variables.
 bool
 test02() {
   Variable A(0);
@@ -63,7 +63,7 @@ test02() {
   print_generators(gr, "*** gr ***");
 
   Grid_Generator g(grid_point(A + 2*B));
-  gr.add_grid_generator_and_minimize(g);
+  gr.add_grid_generator(g);
 
   Congruence_System known_cgs;
   known_cgs.insert( 0*A + 0*B %= -1);
@@ -74,12 +74,12 @@ test02() {
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_grid_generator_and_minimize(g) ***");
+  print_congruences(gr, "*** gr.add_grid_generator(g) ***");
 
   return ok;
 }
 
-// add_grid_generators_and_minimize
+// add_grid_generators
 bool
 test03() {
   Variable A(0);
@@ -93,7 +93,7 @@ test03() {
   Grid gr(2, EMPTY);
   print_generators(gr, "*** gr ***");
 
-  gr.add_grid_generators_and_minimize(gs);
+  gr.add_grid_generators(gs);
 
   Grid_Generator_System known_gs;
   known_gs.insert(grid_line(0*A +   B));
@@ -104,7 +104,7 @@ test03() {
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_grid_generators_and_minimize(gs) ***");
+  print_congruences(gr, "*** gr.add_grid_generators(gs) ***");
 
   return ok;
 }
@@ -124,7 +124,7 @@ test04() {
   Grid gr(3, EMPTY);
   print_generators(gr, "*** gr ***");
 
-  gr.add_grid_generators_and_minimize(gs);
+  gr.add_grid_generators(gs);
 
   Congruence_System known_cgs;
   known_cgs.insert(( 0*A + 0*B + 0*C %= -2) / 2);
@@ -135,7 +135,7 @@ test04() {
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_grid_generators_and_minimize(gs) ***");
+  print_congruences(gr, "*** gr.add_grid_generators(gs) ***");
 
   return ok;
 }
@@ -154,7 +154,7 @@ test05() {
   Grid gr(3, EMPTY);
   print_generators(gr, "*** gr ***");
 
-  gr.add_grid_generators_and_minimize(gs);
+  gr.add_grid_generators(gs);
 
   Congruence_System known_cgs;
   known_cgs.insert(0*A + 0*B + 0*C %= -1);
@@ -164,7 +164,7 @@ test05() {
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_grid_generators_and_minimize(gs) ***");
+  print_congruences(gr, "*** gr.add_grid_generators(gs) ***");
 
   return ok;
 }
@@ -184,7 +184,7 @@ test06() {
   Grid gr(3, EMPTY);
   print_generators(gr, "*** gr ***");
 
-  gr.add_grid_generators_and_minimize(gs);
+  gr.add_grid_generators(gs);
 
   Congruence_System known_cgs;
   known_cgs.insert((  0*A + 0*B + 0*C %=  15) / 15);
@@ -195,7 +195,7 @@ test06() {
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_grid_generators_and_minimize(gs) ***");
+  print_congruences(gr, "*** gr.add_grid_generators(gs) ***");
 
   return ok;
 }
@@ -214,7 +214,7 @@ test07() {
   Grid gr(3, EMPTY);
   print_generators(gr, "*** gr ***");
 
-  gr.add_grid_generators_and_minimize(gs);
+  gr.add_grid_generators(gs);
 
   Congruence_System known_cgs;
   known_cgs.insert(( 0*A + 0*B + 0*C %= -10) / 10);
@@ -225,7 +225,7 @@ test07() {
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_grid_generators_and_minimize(gs) ***");
+  print_congruences(gr, "*** gr.add_grid_generators(gs) ***");
 
   return ok;
 }
@@ -245,7 +245,7 @@ test08() {
   Grid gr(3, EMPTY);
   print_generators(gr, "*** gr ***");
 
-  gr.add_grid_generators_and_minimize(gs);
+  gr.add_grid_generators(gs);
 
   Congruence_System known_cgs;
   known_cgs.insert(A %= 0);
@@ -256,7 +256,7 @@ test08() {
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_grid_generators_and_minimize(gs) ***");
+  print_congruences(gr, "*** gr.add_grid_generators(gs) ***");
 
   return ok;
 }
@@ -274,7 +274,7 @@ test09() {
   Grid gr(3, EMPTY);
   print_generators(gr, "*** gr ***");
 
-  gr.add_grid_generators_and_minimize(gs);
+  gr.add_grid_generators(gs);
 
   Congruence_System known_cgs;
   known_cgs.insert((A %= 1) / 0);
@@ -285,7 +285,7 @@ test09() {
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_grid_generators_and_minimize(gs) ***");
+  print_congruences(gr, "*** gr.add_grid_generators(gs) ***");
 
   return ok;
 }
@@ -304,7 +304,7 @@ test10() {
   Grid gr(3, EMPTY);
   print_generators(gr, "*** gr ***");
 
-  gr.add_grid_generators_and_minimize(gs);
+  gr.add_grid_generators(gs);
 
   Congruence_System known_cgs;
   known_cgs.insert((A %=  1) / 0);
@@ -315,7 +315,7 @@ test10() {
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_grid_generators_and_minimize(gs) ***");
+  print_congruences(gr, "*** gr.add_grid_generators(gs) ***");
 
   return ok;
 }
@@ -334,7 +334,7 @@ test11() {
   Grid gr(3, EMPTY);
   print_generators(gr, "*** gr ***");
 
-  gr.add_grid_generators_and_minimize(gs);
+  gr.add_grid_generators(gs);
 
   Congruence_System known_cgs;
   known_cgs.insert(( 0*A + 0*B + 0*C %= -1) / 1);
@@ -344,7 +344,7 @@ test11() {
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_grid_generators_and_minimize(gs) ***");
+  print_congruences(gr, "*** gr.add_grid_generators(gs) ***");
 
   return ok;
 }
@@ -363,7 +363,7 @@ test12() {
   Grid gr(3, EMPTY);
   print_generators(gr, "*** gr ***");
 
-  gr.add_grid_generators_and_minimize(gs);
+  gr.add_grid_generators(gs);
 
   Congruence_System known_cgs;
   known_cgs.insert((-4*A + 6*B + 0*C %= 1) / 0);
@@ -372,7 +372,7 @@ test12() {
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_grid_generators_and_minimize(gs) ***");
+  print_congruences(gr, "*** gr.add_grid_generators(gs) ***");
 
   return ok;
 }
@@ -419,7 +419,7 @@ test15() {
   Grid gr(3, EMPTY);
   print_generators(gr, "*** gr ***");
 
-  gr.add_grid_generators_and_minimize(gs);
+  gr.add_grid_generators(gs);
 
   Congruence_System known_cgs;
   known_cgs.insert((4*A + 0*B + 0*C %= -1) / 0);
@@ -429,7 +429,7 @@ test15() {
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_grid_generators_and_minimize(gs) ***");
+  print_congruences(gr, "*** gr.add_grid_generators(gs) ***");
 
   return ok;
 }
@@ -451,7 +451,7 @@ test16() {
   Grid gr(3, EMPTY);
   print_generators(gr, "*** gr ***");
 
-  gr.add_grid_generators_and_minimize(gs);
+  gr.add_grid_generators(gs);
 
   Congruence_System known_cgs;
   known_cgs.insert((C %= 0) / 0);
@@ -463,7 +463,7 @@ test16() {
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_grid_generators_and_minimize(gs) ***");
+  print_congruences(gr, "*** gr.add_grid_generators(gs) ***");
 
   return ok;
 }
@@ -483,7 +483,7 @@ test17() {
   Grid gr(3, EMPTY);
   print_generators(gr, "*** gr ***");
 
-  gr.add_grid_generators_and_minimize(gs);
+  gr.add_grid_generators(gs);
 
   Congruence_System known_cgs;
   known_cgs.insert((-9*A + 6*B + 0*C %= 0) / 2);
@@ -493,7 +493,7 @@ test17() {
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_grid_generators_and_minimize(gs) ***");
+  print_congruences(gr, "*** gr.add_grid_generators(gs) ***");
 
   return ok;
 }
@@ -556,7 +556,7 @@ test21() {
   Grid gr(3, EMPTY);
   print_generators(gr, "*** gr ***");
 
-  gr.add_grid_generators_and_minimize(gs);
+  gr.add_grid_generators(gs);
 
   Congruence_System known_cgs;
 
@@ -590,7 +590,7 @@ test21() {
 
   bool ok = (gr == known_gr);
 
-  //print_congruences(gr, "*** gr.add_grid_generators_and_minimize(gs) ***");
+  //print_congruences(gr, "*** gr.add_grid_generators(gs) ***");
 
   return ok;
 }
@@ -610,7 +610,7 @@ test22() {
   Grid gr(3, EMPTY);
   print_generators(gr, "*** gr ***");
 
-  gr.add_grid_generators_and_minimize(gs);
+  gr.add_grid_generators(gs);
 
   Congruence_System known_cgs;
   known_cgs.insert((       0*A +       0*B +      0*C %=  280730) / 280730);
@@ -621,7 +621,7 @@ test22() {
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_grid_generators_and_minimize(gs) ***");
+  print_congruences(gr, "*** gr.add_grid_generators(gs) ***");
 
   return ok;
 }
@@ -642,7 +642,7 @@ test23() {
   Grid gr(3, EMPTY);
   print_generators(gr, "*** gr ***");
 
-  gr.add_grid_generators_and_minimize(gs);
+  gr.add_grid_generators(gs);
 
   Congruence_System known_cgs;
   known_cgs.insert(( 0*A +  0*B +  0*C %= -40) / 40);
@@ -654,7 +654,7 @@ test23() {
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_grid_generators_and_minimize(gs) ***");
+  print_congruences(gr, "*** gr.add_grid_generators(gs) ***");
 
   return ok;
 }
@@ -675,7 +675,7 @@ test24() {
   Grid gr(3, EMPTY);
   print_generators(gr, "*** gr ***");
 
-  gr.add_grid_generators_and_minimize(gs);
+  gr.add_grid_generators(gs);
 
   Congruence_System known_cgs;
   known_cgs.insert((20*A +  0*B        %= 15) / 40);
@@ -686,12 +686,12 @@ test24() {
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_grid_generators_and_minimize(gs) ***");
+  print_congruences(gr, "*** gr.add_grid_generators(gs) ***");
 
   return ok;
 }
 
-// add_grid_generators_and_minimize, with more rows than columns.
+// add_grid_generators, with more rows than columns.
 bool
 test25() {
   Variable A(0);
@@ -709,7 +709,7 @@ test25() {
   Grid gr(4, EMPTY);
   print_generators(gr, "*** gr ***");
 
-  gr.add_grid_generators_and_minimize(gs);
+  gr.add_grid_generators(gs);
 
   Congruence_System known_cgs;
   known_cgs.insert((  9*A +   0*B +  0*C + 0*D %=   0) / 27);
@@ -721,7 +721,7 @@ test25() {
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_grid_generators_and_minimize(gs) ***");
+  print_congruences(gr, "*** gr.add_grid_generators(gs) ***");
 
   return ok;
 }
@@ -742,7 +742,7 @@ test26() {
   Grid gr(2, EMPTY);
   print_generators(gr, "*** gr ***");
 
-  gr.add_grid_generators_and_minimize(gs);
+  gr.add_grid_generators(gs);
 
   Congruence_System known_cgs;
   known_cgs.insert((A %= 2) / 28);
@@ -752,7 +752,7 @@ test26() {
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_grid_generators_and_minimize(gs) ***");
+  print_congruences(gr, "*** gr.add_grid_generators(gs) ***");
 
   return ok;
 }
diff --git a/tests/Grid/grid2.cc b/tests/Grid/grid2.cc
index d62f0c2..31b0d9c 100644
--- a/tests/Grid/grid2.cc
+++ b/tests/Grid/grid2.cc
@@ -1,5 +1,5 @@
 /* Test reduction and conversion of grids created from congruences.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -24,7 +24,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace {
 
-// add_congruence_and_minimize, one dimension.
+// add_congruence, one dimension.
 bool
 test01() {
   Variable A(0);
@@ -36,7 +36,7 @@ test01() {
 
   Congruence cg(A %= 0);
   print_congruences(gr, "*** gr ***");
-  gr.add_congruence_and_minimize(cg);
+  gr.add_congruence(cg);
 
   Grid_Generator_System known_gs;
   known_gs.insert(grid_point(0*A));
@@ -46,12 +46,12 @@ test01() {
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_congruence_and_minimize(cg) ***");
+  print_congruences(gr, "*** gr.add_congruence(cg) ***");
 
   return ok;
 }
 
-// add_congruence_and_minimize, two dimensions.
+// add_congruence, two dimensions.
 bool
 test02() {
   Variable A(0);
@@ -64,7 +64,7 @@ test02() {
 
   Congruence cg((2*A - B %= 3) / 4);
   print_congruences(gr, "*** gr ***");
-  gr.add_congruence_and_minimize(cg);
+  gr.add_congruence(cg);
 
   Grid_Generator_System known_gs;
   known_gs.insert(grid_point(0*A - 15*B, 5));
@@ -75,12 +75,12 @@ test02() {
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_congruence_and_minimize(cg) ***");
+  print_congruences(gr, "*** gr.add_congruence(cg) ***");
 
   return ok;
 }
 
-// add_congruences_and_minimize, one dimension.
+// add_congruences, one dimension.
 bool
 test03() {
   Variable A(0);
@@ -90,7 +90,7 @@ test03() {
 
   Grid gr(1);
   print_congruences(gr, "*** gr ***");
-  gr.add_congruences_and_minimize(cgs);
+  gr.add_congruences(cgs);
 
   Grid_Generator_System known_gs;
   known_gs.insert(grid_point(0*A));
@@ -100,12 +100,12 @@ test03() {
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_congruences_and_minimize(cgs) ***");
+  print_congruences(gr, "*** gr.add_congruences(cgs) ***");
 
   return ok;
 }
 
-// add_congruences_and_minimize, one dimension with factors.
+// add_congruences, one dimension with factors.
 bool
 test04() {
   Variable A(0);
@@ -115,7 +115,7 @@ test04() {
 
   Grid gr(1);
   print_congruences(gr, "*** gr ***");
-  gr.add_congruences_and_minimize(cgs);
+  gr.add_congruences(cgs);
 
   Grid_Generator_System known_gs;
   known_gs.insert(grid_point(1*A));
@@ -125,12 +125,12 @@ test04() {
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_recycled_congruences(cgs) ***");
+  print_congruences(gr, "*** gr.add_congruences(cgs) ***");
 
   return ok;
 }
 
-// add_congruences_and_minimize, two dimensions.
+// add_congruences, two dimensions.
 bool
 test05() {
   Variable A(0);
@@ -140,7 +140,7 @@ test05() {
   cgs.insert((A - B %= 0) / 3);
 
   Grid gr(2);
-  gr.add_congruences_and_minimize(cgs);
+  gr.add_congruences(cgs);
 
   Grid_Generator_System known_gs;
   known_gs.insert(grid_point());
@@ -152,7 +152,7 @@ test05() {
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_congruences_and_minimize(cgs) ***");
+  print_congruences(gr, "*** gr.add_congruences(cgs) ***");
 
   return ok;
 }
@@ -170,7 +170,7 @@ test06() {
 
   Grid gr(3);
   print_congruences(gr, "*** gr ***");
-  gr.add_congruences_and_minimize(cgs);
+  gr.add_congruences(cgs);
 
   Grid_Generator_System known_gs;
   known_gs.insert(grid_point());
@@ -182,7 +182,7 @@ test06() {
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_congruences_and_minimize(cgs) ***");
+  print_congruences(gr, "*** gr.add_congruences(cgs) ***");
 
   return ok;
 }
@@ -200,7 +200,7 @@ test07() {
 
   Grid gr(3);
   print_congruences(gr, "*** gr ***");
-  gr.add_congruences_and_minimize(cgs);
+  gr.add_congruences(cgs);
 
   Grid_Generator_System known_gs;
   known_gs.insert(grid_point());
@@ -228,13 +228,13 @@ test08() {
 
   Grid gr(3);
   print_congruences(gr, "*** gr ***");
-  gr.add_congruences_and_minimize(cgs);
+  gr.add_congruences(cgs);
 
   Grid known_gr(3, EMPTY);
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_congruences_and_minimize(cgs) ***");
+  print_congruences(gr, "*** gr.add_congruences(cgs) ***");
 
   return ok;
  }
@@ -252,7 +252,7 @@ test09() {
 
   Grid gr(3);
   print_congruences(gr, "*** gr ***");
-  gr.add_congruences_and_minimize(cgs);
+  gr.add_congruences(cgs);
 
   Grid_Generator_System known_gs;
   known_gs.insert(grid_point());
@@ -264,7 +264,7 @@ test09() {
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_congruences_and_minimize(cgs) ***");
+  print_congruences(gr, "*** gr.add_congruences(cgs) ***");
 
   return ok;
 }
@@ -284,7 +284,7 @@ test10() {
 
   Grid gr(3);
   print_congruences(gr, "*** gr ***");
-  gr.add_congruences_and_minimize(cgs);
+  gr.add_congruences(cgs);
 
   Grid_Generator_System known_gs;
   known_gs.insert(grid_point(  A       - 3*C));
@@ -296,7 +296,7 @@ test10() {
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_congruences_and_minimize(cgs) ***");
+  print_congruences(gr, "*** gr.add_congruences(cgs) ***");
 
   return ok;
 }
@@ -314,7 +314,7 @@ test11() {
 
   Grid gr(3);
   print_congruences(gr, "*** gr ***");
-  gr.add_congruences_and_minimize(cgs);
+  gr.add_congruences(cgs);
 
   Grid_Generator_System known_gs;
   known_gs.insert(grid_point(-2*A -  3*B - 6*C, 3));
@@ -326,7 +326,7 @@ test11() {
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_congruences_and_minimize(cgs) ***");
+  print_congruences(gr, "*** gr.add_congruences(cgs) ***");
 
   return ok;
 }
@@ -344,7 +344,7 @@ test12() {
 
   Grid gr(3);
   print_congruences(gr, "*** gr ***");
-  gr.add_congruences_and_minimize(cgs);
+  gr.add_congruences(cgs);
 
   Grid_Generator_System known_gs;
   known_gs.insert(grid_point(A + B + C));
@@ -353,7 +353,7 @@ test12() {
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_congruences_and_minimize(cgs) ***");
+  print_congruences(gr, "*** gr.add_congruences(cgs) ***");
 
   return ok;
 }
@@ -371,7 +371,7 @@ test13() {
 
   Grid gr(3);
   print_congruences(gr, "*** gr ***");
-  gr.add_congruences_and_minimize(cgs);
+  gr.add_congruences(cgs);
 
   Grid_Generator_System known_gs;
   known_gs.insert(grid_point(A + C));
@@ -381,7 +381,7 @@ test13() {
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_congruences_and_minimize(cgs) ***");
+  print_congruences(gr, "*** gr.add_congruences(cgs) ***");
 
   return ok;
 }
@@ -397,13 +397,13 @@ test14() {
 
   Grid gr(3);
   print_congruences(gr, "*** gr ***");
-  gr.add_congruences_and_minimize(cgs);
+  gr.add_congruences(cgs);
 
   Grid known_gr(3, EMPTY);
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_congruences_and_minimize(cgs) ***");
+  print_congruences(gr, "*** gr.add_congruences(cgs) ***");
 
   return ok;
 }
@@ -420,7 +420,7 @@ test15() {
   cgs1.insert(B %= 2);
 
   Grid gr(2);
-  gr.add_congruences_and_minimize(cgs1);
+  gr.add_congruences(cgs1);
 
   gr.add_space_dimensions_and_embed(1);
   print_congruences(gr, "*** gr ***");
@@ -432,7 +432,7 @@ test15() {
 
   // cgs2 is likely to now have more capacity than gr.con_sys does.
 
-  gr.add_congruences_and_minimize(cgs2);
+  gr.add_congruences(cgs2);
 
   Congruence_System cgs3;
   cgs3.insert(B %= 2);
@@ -442,7 +442,7 @@ test15() {
 
   bool ok = (gr == known_gr);
 
-  print_congruences(gr, "*** gr.add_congruences_and_minimize(cgs2) ***");
+  print_congruences(gr, "*** gr.add_congruences(cgs2) ***");
 
   return ok;
 }
@@ -534,7 +534,7 @@ test20() {
 
   Grid gr(3);
 
-  gr.add_congruences_and_minimize(cgs);
+  gr.add_congruences(cgs);
 
   Grid_Generator_System known_gs;
   known_gs.insert(grid_point(-2*A + 0*B +  7*C, 3));
@@ -546,7 +546,7 @@ test20() {
 
   bool ok = (gr == known_gr);
 
-  print_generators(gr, "*** gr.add_congruences_and_minimize(cgs) ***");
+  print_generators(gr, "*** gr.add_congruences(cgs) ***");
 
   return ok;
 }
@@ -563,10 +563,10 @@ test21() {
 
   Grid gr(3);
 
-  gr.add_congruences_and_minimize(cgs);
+  gr.add_congruences(cgs);
 
   bool ok = (gr.OK(true) && gr.OK(false));
-  print_generators(gr, "*** gr.add_congruences_and_minimize(cgs) ***");
+  print_generators(gr, "*** gr.add_congruences(cgs) ***");
 
   Grid gr1(1, EMPTY);
 
diff --git a/tests/Grid/grid3.cc b/tests/Grid/grid3.cc
index 36a5732..9b897d4 100644
--- a/tests/Grid/grid3.cc
+++ b/tests/Grid/grid3.cc
@@ -1,5 +1,5 @@
 /* Test construction of grids from constraints.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/griddifference1.cc b/tests/Grid/griddifference1.cc
index 3a7de1f..3fe871a 100644
--- a/tests/Grid/griddifference1.cc
+++ b/tests/Grid/griddifference1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::difference_assign() (a.k.a. Grid::difference_assign()).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/intersection1.cc b/tests/Grid/intersection1.cc
index 535aecd..2753b6f 100644
--- a/tests/Grid/intersection1.cc
+++ b/tests/Grid/intersection1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::intersection_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -278,209 +278,9 @@ test09() {
   return false;
 }
 
-// intersection_assign_and_minimize: Simple grids, one dimension.
-bool
-test10() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Congruence_System cgs1;
-  cgs1.insert((A + 0*C %= 0) / 2);
-
-  Congruence_System cgs2;
-  cgs2.insert((2*A + 0*C %= 0) / 2);
-
-  Grid gr1(cgs1);
-  print_congruences(gr1, "*** gr1 ***");
-  Grid gr2(cgs2);
-  print_congruences(gr2, "*** gr2 ***");
-
-  gr1.intersection_assign_and_minimize(gr2);
-
-  Congruence_System known_cgs;
-  known_cgs.insert((A + 0*C %= 0) / 2);
-  known_cgs.insert((2*A %= 0) / 2);
-
-  Grid known_gr(known_cgs);
-
-  bool ok = (gr1 == known_gr);
-
-  print_congruences(gr1, "*** gr1.intersection_assign_and_minimize(gr2) ***");
-
-  return ok;
-}
-
-// intersection_assign_and_minimize: First grid empty.
-bool
-test11() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Congruence_System cgs;
-  cgs.insert((A + B + C %= 0) / 2);
-
-  Grid gr1(3, EMPTY);
-  print_congruences(gr1, "*** gr1 ***");
-  Grid gr2(cgs);
-
-  gr1.intersection_assign_and_minimize(gr2);
-
-  Grid known_gr(3, EMPTY);
-
-  bool ok = (gr1 == known_gr);
-
-  print_congruences(gr1, "*** gr1.intersection_assign_and_minimize(gr2) ***");
-
-  return ok;
-}
-
-// intersection_assign_and_minimize: Second grid empty.
-bool
-test12() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Congruence_System cgs;
-  cgs.insert((A + B + C %= 0) / 2);
-
-  Grid gr1(cgs);
-  print_congruences(gr1, "*** gr1 ***");
-  Grid gr2(3, EMPTY);
-
-  gr1.intersection_assign_and_minimize(gr2);
-
-  Grid known_gr(3, EMPTY);
-
-  bool ok = (gr1 == known_gr);
-
-  print_congruences(gr1, "*** gr1.intersection_assign_and_minimize(gr2) ***");
-
-  return ok;
-}
-
-// intersection_assign_and_minimize: First grid universe.
-bool
-test13() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Congruence_System cgs;
-  cgs.insert((  A +   B + C %= 7) / 9);
-  cgs.insert((5*A + 3*B + C %= 7) / 9);
-
-  Grid gr1(3, UNIVERSE);
-  print_congruences(gr1, "*** gr1 ***");
-  Grid gr2(cgs);
-
-  gr1.intersection_assign_and_minimize(gr2);
-
-  Congruence_System known_cgs;
-  known_cgs.insert((  A +   B + C %= 7) / 9);
-  known_cgs.insert((5*A + 3*B + C %= 7) / 9);
-
-  Grid known_gr(known_cgs);
-
-  bool ok = (gr1 == known_gr);
-
-  print_congruences(gr1, "*** gr1.intersection_assign_and_minimize(gr2) ***");
-
-  return ok;
-}
-
-// intersection_assign_and_minimize: Second grid universe.
-bool
-test14() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Congruence_System cgs;
-  cgs.insert((2*B + 2*C %= 1) / 3);
-  cgs.insert((2*B %= 1) / 3);
-
-  Grid gr1(cgs);
-  print_congruences(gr1, "*** gr1 ***");
-  Grid gr2(3, UNIVERSE);
-
-  gr1.intersection_assign_and_minimize(gr2);
-
-  Congruence_System known_cgs;
-  known_cgs.insert((2*B + 2*C %= 1) / 3);
-  known_cgs.insert((2*B %= 1) / 3);
-
-  Grid known_gr(known_cgs);
-
-  bool ok = (gr1 == known_gr);
-
-  print_congruences(gr1, "*** gr1.intersection_assign_and_minimize(gr2) ***");
-
-  return ok;
-}
-
-// intersection_assign_and_minimize: Zero dimension grids.
-bool
-test15() {
-  Grid gr1(0);
-  print_congruences(gr1, "*** gr1 ***");
-  Grid gr2(0);
-  print_congruences(gr2, "*** gr2 ***");
-
-  gr1.intersection_assign_and_minimize(gr2);
-
-  Grid known_gr(0);
-
-  bool ok = (gr1 == known_gr);
-
-  print_congruences(gr1, "*** gr1.intersection_assign_and_minimize(gr2) ***");
-
-  return ok;
-}
-
-// intersection_assign_and_minimize: Many dimension grids from generators.
-bool
-test16() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Grid_Generator_System gs1;
-  gs1.insert(grid_point(A + C));
-  gs1.insert(grid_point(A + 2*C));
-
-  Grid_Generator_System gs2;
-  gs2.insert(grid_point(A));
-  gs2.insert(grid_point(A + B));
-
-  Grid gr1(gs1);
-  print_generators(gr1, "*** gr1 ***");
-
-  Grid gr2(3, EMPTY);
-  gr2.add_grid_generators(gs2);
-  print_generators(gr2, "*** gr2 ***");
-
-  gr1.intersection_assign_and_minimize(gr2);
-
-  Congruence_System known_cgs;
-  known_cgs.insert((C == 0) / 0);
-  known_cgs.insert((A == 1) / 0);
-  known_cgs.insert((B == 0) / 0);
-
-  Grid known_gr(known_cgs);
-
-  bool ok = (gr1 == known_gr);
-
-  print_generators(gr1, "*** gr1.intersection_assign_and_minimize(gr2) ***");
-
-  return ok;
-}
-
 // Both empty and both not in minimal form.
 bool
-test17() {
+test10() {
   Variable A(0);
   Grid gr1(1);
   gr1.add_congruence((A %= 1) / 2);
@@ -490,7 +290,9 @@ test17() {
   gr2.add_congruence((A %= 1) / 2);
   gr2.add_congruence((A %= 0) / 2);
 
-  bool ok = (!gr1.intersection_assign_and_minimize(gr2));
+  gr1.intersection_assign(gr2);
+  bool ok = (gr1.is_empty());
+
   print_congruences(gr1, "*** gr1 ***");
   print_congruences(gr2, "*** gr2 ***");
 
@@ -510,11 +312,4 @@ BEGIN_MAIN
   DO_TEST(test08);
   DO_TEST(test09);
   DO_TEST(test10);
-  DO_TEST(test11);
-  DO_TEST(test12);
-  DO_TEST(test13);
-  DO_TEST(test14);
-  DO_TEST(test15);
-  DO_TEST(test16);
-  DO_TEST(test17);
 END_MAIN
diff --git a/tests/Grid/isempty1.cc b/tests/Grid/isempty1.cc
index a8d9bb6..91db95b 100644
--- a/tests/Grid/isempty1.cc
+++ b/tests/Grid/isempty1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::is_empty().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/isuniverse1.cc b/tests/Grid/isuniverse1.cc
index 650e53e..dd5d6a0 100644
--- a/tests/Grid/isuniverse1.cc
+++ b/tests/Grid/isuniverse1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::is_universe().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/limitedextrapolation1.cc b/tests/Grid/limitedextrapolation1.cc
index fd32433..8dbd91d 100644
--- a/tests/Grid/limitedextrapolation1.cc
+++ b/tests/Grid/limitedextrapolation1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::limited_congruence_extrapolation_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/limitedextrapolation2.cc b/tests/Grid/limitedextrapolation2.cc
index bb159fc..07fa5bc 100644
--- a/tests/Grid/limitedextrapolation2.cc
+++ b/tests/Grid/limitedextrapolation2.cc
@@ -1,5 +1,5 @@
 /* Test Grid::limited_generator_extrapolation_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/limitedextrapolation3.cc b/tests/Grid/limitedextrapolation3.cc
index 16fe600..d81d143 100644
--- a/tests/Grid/limitedextrapolation3.cc
+++ b/tests/Grid/limitedextrapolation3.cc
@@ -1,5 +1,5 @@
 /* Test Grid::limited_extrapolation_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/mapspacedims1.cc b/tests/Grid/mapspacedims1.cc
index c2f018d..7d272af 100644
--- a/tests/Grid/mapspacedims1.cc
+++ b/tests/Grid/mapspacedims1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::map_space_dimensions().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/maxmin1.cc b/tests/Grid/maxmin1.cc
index 92f2521..eda91b0 100644
--- a/tests/Grid/maxmin1.cc
+++ b/tests/Grid/maxmin1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::maximize(const Linear_Expression&, ...)
    and Grid::minimize(const Linear_Expression&, ...).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -138,7 +138,7 @@ test04() {
   Variable B(1);
 
   Grid gr_gs_min(2, EMPTY);
-  gr_gs_min.add_grid_generator_and_minimize(grid_point(3*A + 2*B, 3));
+  gr_gs_min.add_grid_generator(grid_point(3*A + 2*B, 3));
   print_generators(gr_gs_min, "*** gr_gs_min ***");
 
   Grid gr_gs_needs_min(2, EMPTY);
@@ -179,7 +179,7 @@ test05() {
 
   Grid gr_gs_min(2, EMPTY);
   gr_gs_min.add_grid_generator(grid_point());
-  gr_gs_min.add_grid_generator_and_minimize(grid_line(B));
+  gr_gs_min.add_grid_generator(grid_line(B));
   print_generators(gr_gs_min, "*** gr_gs_min ***");
 
   Grid gr_gs_needs_min(2, EMPTY);
@@ -211,7 +211,7 @@ test06() {
 
   Grid gr_gs_min(2, EMPTY);
   gr_gs_min.add_grid_generator(grid_point());
-  gr_gs_min.add_grid_generator_and_minimize(grid_line(2*A + B));
+  gr_gs_min.add_grid_generator(grid_line(2*A + B));
   print_generators(gr_gs_min, "*** gr_gs_min ***");
 
   Grid gr_gs_needs_min(2, EMPTY);
@@ -243,7 +243,7 @@ test07() {
 
   Grid gr_gs_min(2, EMPTY);
   gr_gs_min.add_grid_generator(grid_point());
-  gr_gs_min.add_grid_generator_and_minimize(grid_line(A + 2*B));
+  gr_gs_min.add_grid_generator(grid_line(A + 2*B));
   print_generators(gr_gs_min, "*** gr_gs_min ***");
 
   Grid gr_gs_needs_min(2, EMPTY);
@@ -284,7 +284,7 @@ test08() {
 
   Grid gr_gs_min(2, EMPTY);
   gr_gs_min.add_grid_generator(grid_point());
-  gr_gs_min.add_grid_generator_and_minimize(grid_point(A + 2*B));
+  gr_gs_min.add_grid_generator(grid_point(A + 2*B));
   print_generators(gr_gs_min, "*** gr_gs_min ***");
 
   Grid gr_gs_needs_min(2, EMPTY);
@@ -327,7 +327,7 @@ test09() {
   Grid gr_gs_min(2, EMPTY);
   gr_gs_min.add_grid_generator(grid_point());
   gr_gs_min.add_grid_generator(grid_line(A));
-  gr_gs_min.add_grid_generator_and_minimize(grid_line(B));
+  gr_gs_min.add_grid_generator(grid_line(B));
   print_generators(gr_gs_min, "*** gr_gs_min ***");
 
   Grid gr_gs_needs_min(2, EMPTY);
@@ -362,7 +362,7 @@ test10() {
   Grid gr_gs_min(3, EMPTY);
   gr_gs_min.add_grid_generator(grid_point());
   gr_gs_min.add_grid_generator(grid_line(A));
-  gr_gs_min.add_grid_generator_and_minimize(grid_point(B + C));
+  gr_gs_min.add_grid_generator(grid_point(B + C));
   print_generators(gr_gs_min, "*** gr_gs_min ***");
 
   Grid gr_gs_needs_min(3, EMPTY);
@@ -398,7 +398,7 @@ test11() {
   Grid gr_gs_min(3, EMPTY);
   gr_gs_min.add_grid_generator(grid_point(A));
   gr_gs_min.add_grid_generator(grid_line(3*B + C));
-  gr_gs_min.add_grid_generator_and_minimize(grid_line(A - 2*B));
+  gr_gs_min.add_grid_generator(grid_line(A - 2*B));
   print_generators(gr_gs_min, "*** gr_gs_min ***");
 
   Grid gr_gs_needs_min(3, EMPTY);
@@ -445,7 +445,7 @@ test12() {
   Variable F(5);
 
   Grid gr_gs_min(6, EMPTY);
-  gr_gs_min.add_grid_generator_and_minimize(grid_point(7*A - 11*B + 19*F));
+  gr_gs_min.add_grid_generator(grid_point(7*A - 11*B + 19*F));
   print_generators(gr_gs_min, "*** gr_gs_min ***");
 
   Grid gr_gs_needs_min(6, EMPTY);
diff --git a/tests/Grid/membytes1.cc b/tests/Grid/membytes1.cc
index e609278..e5312d5 100644
--- a/tests/Grid/membytes1.cc
+++ b/tests/Grid/membytes1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::total_memory_in_bytes() and
    Grid::external_memory_in_bytes().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/mincongruences1.cc b/tests/Grid/mincongruences1.cc
index ad7096f..125417c 100644
--- a/tests/Grid/mincongruences1.cc
+++ b/tests/Grid/mincongruences1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::minimized_congruences().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/mingenerators1.cc b/tests/Grid/mingenerators1.cc
index 761d498..58b6f2a 100644
--- a/tests/Grid/mingenerators1.cc
+++ b/tests/Grid/mingenerators1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::minimized_grid_generators().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -187,7 +187,7 @@ test08() {
 
   // Empty the grid.  The idea is to check that `gs' still refers to a
   // generator system that matches the grid.
-  gr1.add_congruence_and_minimize(Congruence::zero_dim_false());
+  gr1.add_congruence(Congruence::zero_dim_false());
   print_congruences(gr1, "*** gr1 ***");
 
   Grid known_gr = gr1;
diff --git a/tests/Grid/outputoperator1.cc b/tests/Grid/outputoperator1.cc
index 2c0a385..faca15e 100644
--- a/tests/Grid/outputoperator1.cc
+++ b/tests/Grid/outputoperator1.cc
@@ -1,5 +1,5 @@
 /* Test IO_Operators::operator<<(s, gr).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/outputoperator2.cc b/tests/Grid/outputoperator2.cc
index 74e2d86..5c31602 100644
--- a/tests/Grid/outputoperator2.cc
+++ b/tests/Grid/outputoperator2.cc
@@ -1,5 +1,5 @@
 /* Test Grid_Generator IO operators.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/outputoperator3.cc b/tests/Grid/outputoperator3.cc
index 5679fdc..e3aacd5 100644
--- a/tests/Grid/outputoperator3.cc
+++ b/tests/Grid/outputoperator3.cc
@@ -1,5 +1,5 @@
 /* Test Grid_Generator_System IO operators.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/partition1.cc b/tests/Grid/partition1.cc
index 3b30f1d..da52927 100644
--- a/tests/Grid/partition1.cc
+++ b/tests/Grid/partition1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<Grid>.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -44,7 +44,8 @@ partition_aux(const Congruence& c,
   for (i = c_modulus; i-- > 0; )
     if (i != n) {
       Grid qqq(qq);
-      if (qqq.add_congruence_and_minimize((le+i %= 0) / c_modulus))
+      qqq.add_congruence((le+i %= 0) / c_modulus);
+      if (qqq.is_empty())
 	r.add_disjunct(qqq);
     }
   qq.add_congruence(c);
diff --git a/tests/Grid/powersetdifference1.cc b/tests/Grid/powersetdifference1.cc
index ba067a7..217946a 100644
--- a/tests/Grid/powersetdifference1.cc
+++ b/tests/Grid/powersetdifference1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<Grid>.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -97,7 +97,7 @@ test02() {
   known_gr.add_congruence((x %= 0) / 1);
 
   Pointset_Powerset<Grid>::iterator i = ps.begin();
-  return (i->element() == known_gr);
+  return i->pointset() == known_gr;
 }
 
 bool
@@ -123,7 +123,7 @@ test03() {
   ps.difference_assign(qs);
   print_congruences(ps, "*** ps.difference(qs) ***");
 
-  return (ps.begin() == ps.end());
+  return ps.begin() == ps.end();
 }
 
 bool
@@ -153,7 +153,7 @@ test04() {
   known_gr.add_congruence((x %= 0) / 1);
 
   Pointset_Powerset<Grid>::iterator i = ps.begin();
-  return (i->element() == known_gr);
+  return i->pointset() == known_gr;
 }
 
 bool
@@ -175,7 +175,7 @@ test05() {
   ps.difference_assign(qs);
   print_congruences(ps, "*** ps.difference(qs) ***");
 
-  return (ps.begin() == ps.end());
+  return ps.begin() == ps.end();
 }
 
 bool
@@ -200,7 +200,7 @@ test06() {
   Grid known_gr(p);
 
   Pointset_Powerset<Grid>::iterator i = ps.begin();
-  return (i->element() == known_gr);
+  return i->pointset() == known_gr;
 }
 
 bool
@@ -225,7 +225,7 @@ test07() {
   Grid known_gr(p);
 
   Pointset_Powerset<Grid>::iterator i = ps.begin();
-  return (i->element() == known_gr);
+  return i->pointset() == known_gr;
 }
 
 bool
@@ -298,7 +298,7 @@ test09() {
   ps.difference_assign(qs);
   print_congruences(ps, "*** ps.difference(qs) ***");
 
-  return (ps.is_empty());
+  return ps.is_empty();
 }
 
 BEGIN_MAIN
diff --git a/tests/Grid/powersetgeometricallycovers1.cc b/tests/Grid/powersetgeometricallycovers1.cc
index 5920ead..58f2280 100644
--- a/tests/Grid/powersetgeometricallycovers1.cc
+++ b/tests/Grid/powersetgeometricallycovers1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<Grid>.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/powersetgeometricallyequals1.cc b/tests/Grid/powersetgeometricallyequals1.cc
index 8b32d06..02176fe 100644
--- a/tests/Grid/powersetgeometricallyequals1.cc
+++ b/tests/Grid/powersetgeometricallyequals1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<Grid>.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/refinewithcongruences1.cc b/tests/Grid/refinewithcongruences1.cc
index 8017acd..7039433 100644
--- a/tests/Grid/refinewithcongruences1.cc
+++ b/tests/Grid/refinewithcongruences1.cc
@@ -1,5 +1,5 @@
 /* Test refine_with_congruence() and refine_with_congruences().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/refinewithconstraints1.cc b/tests/Grid/refinewithconstraints1.cc
index bc0183e..fd45068 100644
--- a/tests/Grid/refinewithconstraints1.cc
+++ b/tests/Grid/refinewithconstraints1.cc
@@ -1,5 +1,5 @@
 /* Test refine_with_constraint() and refine_with_constraints().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/relations1.cc b/tests/Grid/relations1.cc
index d75b8cf..3906785 100644
--- a/tests/Grid/relations1.cc
+++ b/tests/Grid/relations1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::relation_with(g).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/relations2.cc b/tests/Grid/relations2.cc
index ca650c8..f780ec0 100644
--- a/tests/Grid/relations2.cc
+++ b/tests/Grid/relations2.cc
@@ -1,5 +1,5 @@
 /* Test Grid::relation_with(cg).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/relations3.cc b/tests/Grid/relations3.cc
index 275ecdc..21e12e1 100644
--- a/tests/Grid/relations3.cc
+++ b/tests/Grid/relations3.cc
@@ -1,5 +1,5 @@
 /* Test Grid::relation_with(const Constraint&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/removespacedims1.cc b/tests/Grid/removespacedims1.cc
index 8d3cda0..081a15f 100644
--- a/tests/Grid/removespacedims1.cc
+++ b/tests/Grid/removespacedims1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::remove_space_dimensions().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -203,7 +203,7 @@ test07() {
   Grid gr(3, EMPTY);
   gr.add_grid_generator(grid_point());
   gr.add_grid_generator(grid_point(A));
-  gr.add_grid_generator_and_minimize(grid_point(B));
+  gr.add_grid_generator(grid_point(B));
   gr.add_grid_generator(grid_line(C));
   print_generators(gr, "*** gr ***");
 
@@ -262,7 +262,7 @@ test09() {
   Grid gr(3, EMPTY);
   gr.add_grid_generator(grid_point());
   gr.add_grid_generator(grid_point(A));
-  gr.add_grid_generator_and_minimize(grid_point(B));
+  gr.add_grid_generator(grid_point(B));
   gr.add_grid_generator(grid_line(C));
   print_generators(gr, "*** gr ***");
 
@@ -289,7 +289,7 @@ test10() {
   Grid gr(3, EMPTY);
   gr.add_grid_generator(grid_point());
   gr.add_grid_generator(grid_point(A));
-  gr.add_grid_generator_and_minimize(grid_point(B));
+  gr.add_grid_generator(grid_point(B));
   gr.add_grid_generator(grid_line(C));
   print_generators(gr, "*** gr ***");
 
diff --git a/tests/Grid/removespacedims2.cc b/tests/Grid/removespacedims2.cc
index 7a7c9f7..2bd5c68 100644
--- a/tests/Grid/removespacedims2.cc
+++ b/tests/Grid/removespacedims2.cc
@@ -1,5 +1,5 @@
 /* Test Grid::remove_higher_space_dimensions().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -125,7 +125,7 @@ test05() {
   Grid gr(3, EMPTY);
   gr.add_grid_generator(grid_point());
   gr.add_grid_generator(grid_point(A));
-  gr.add_grid_generator_and_minimize(grid_point(B));
+  gr.add_grid_generator(grid_point(B));
   gr.add_grid_generator(grid_line(C));
   print_generators(gr, "*** gr ***");
 
@@ -150,7 +150,7 @@ test06() {
   Grid gr(3, EMPTY);
   gr.add_grid_generator(grid_point());
   gr.add_grid_generator(grid_point(A));
-  gr.add_grid_generator_and_minimize(grid_point(B));
+  gr.add_grid_generator(grid_point(B));
   gr.add_grid_generator(grid_line(C));
   print_generators(gr, "*** gr ***");
 
diff --git a/tests/Grid/simplifyusingcontext1.cc b/tests/Grid/simplifyusingcontext1.cc
index 9959d7d..95d8f55 100644
--- a/tests/Grid/simplifyusingcontext1.cc
+++ b/tests/Grid/simplifyusingcontext1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::simplify_using_context_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -338,7 +338,7 @@ test12() {
   known_result.add_congruence((2*y - x %= 2) / 4);
 
   Grid gr3(gr1);
-  gr3.intersection_assign_and_minimize(gr2);
+  gr3.intersection_assign(gr2);
   print_congruences(gr3,
                     "*** gr3.intersection_assign(gr2) ***");
   Grid gr4(gr1);
@@ -349,7 +349,7 @@ test12() {
   print_congruences(gr1,
                     "*** gr1.simplify_using_context_assign(gr2) ***");
 
-  gr4.intersection_assign_and_minimize(gr2);
+  gr4.intersection_assign(gr2);
   print_congruences(gr4,
                     "*** gr4.intersection_assign(gr2) ***");
   return ok;
@@ -376,7 +376,7 @@ test13() {
   Grid known_result(gr1);
 
   Grid gr3(gr1);
-  gr3.intersection_assign_and_minimize(gr2);
+  gr3.intersection_assign(gr2);
   print_congruences(gr3,
                     "*** gr3.intersection_assign(gr2) ***");
   Grid gr4(gr1);
@@ -387,7 +387,7 @@ test13() {
   print_congruences(gr1,
                     "*** gr1.simplify_using_context_assign(gr2) ***");
 
-  gr4.intersection_assign_and_minimize(gr2);
+  gr4.intersection_assign(gr2);
   print_congruences(gr4,
                     "*** gr4.intersection_assign(gr2) ***");
   return ok;
diff --git a/tests/Grid/timeelapse1.cc b/tests/Grid/timeelapse1.cc
index c1cae9f..cda35d2 100644
--- a/tests/Grid/timeelapse1.cc
+++ b/tests/Grid/timeelapse1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::time_elapse_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/topclosed1.cc b/tests/Grid/topclosed1.cc
index 9a62ad9..d3c7e02 100644
--- a/tests/Grid/topclosed1.cc
+++ b/tests/Grid/topclosed1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::is_topologically_closed().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -70,7 +70,7 @@ test04() {
   Variable B(1);
 
   Grid gr_gs_min(2, EMPTY);
-  gr_gs_min.add_grid_generator_and_minimize(grid_point(3*A + 2*B));
+  gr_gs_min.add_grid_generator(grid_point(3*A + 2*B));
 
   Grid gr_gs_needs_min(2, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point(3*A + 2*B));
@@ -103,7 +103,7 @@ test05() {
 
   Grid gr_gs_min(3, EMPTY);
   gr_gs_min.add_grid_generator(grid_point(3*A + 2*B));
-  gr_gs_min.add_grid_generator_and_minimize(grid_line(C));
+  gr_gs_min.add_grid_generator(grid_line(C));
 
   Grid gr_gs_needs_min(3, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point(3*A + 2*B));
@@ -136,7 +136,7 @@ test06() {
 
   Grid gr_gs_min(3, EMPTY);
   gr_gs_min.add_grid_generator(grid_point(3*A + 2*B));
-  gr_gs_min.add_grid_generator_and_minimize(grid_point(3*A + B));
+  gr_gs_min.add_grid_generator(grid_point(3*A + B));
 
   Grid gr_gs_needs_min(3, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point(3*A + 2*B));
@@ -171,7 +171,7 @@ test07() {
   Grid gr_gs_min(3, EMPTY);
   gr_gs_min.add_grid_generator(grid_point(3*A + 2*B));
   gr_gs_min.add_grid_generator(grid_point(3*A + B));
-  gr_gs_min.add_grid_generator_and_minimize(grid_line(C));
+  gr_gs_min.add_grid_generator(grid_line(C));
 
   Grid gr_gs_needs_min(3, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point(3*A + 2*B));
@@ -205,7 +205,7 @@ test08() {
   Grid gr_gs_min(2, EMPTY);
   gr_gs_min.add_grid_generator(grid_point());
   gr_gs_min.add_grid_generator(grid_point(A));
-  gr_gs_min.add_grid_generator_and_minimize(grid_point(3*A + 3*B, 4));
+  gr_gs_min.add_grid_generator(grid_point(3*A + 3*B, 4));
 
   Grid gr_gs_needs_min(2, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point());
@@ -241,7 +241,7 @@ test09() {
   gr_gs_min.add_grid_generator(grid_point());
   gr_gs_min.add_grid_generator(grid_point(A));
   gr_gs_min.add_grid_generator(grid_line(C));
-  gr_gs_min.add_grid_generator_and_minimize(grid_point(3*A + 3*B, 4));
+  gr_gs_min.add_grid_generator(grid_point(3*A + 3*B, 4));
 
   Grid gr_gs_needs_min(3, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point());
@@ -278,7 +278,7 @@ test10() {
   Grid gr_gs_min(4, EMPTY);
   gr_gs_min.add_grid_generator(grid_point());
   gr_gs_min.add_grid_generator(grid_line(B));
-  gr_gs_min.add_grid_generator_and_minimize(grid_line(C));
+  gr_gs_min.add_grid_generator(grid_line(C));
 
   Grid gr_gs_needs_min(4, EMPTY);
   gr_gs_needs_min.add_grid_generator(grid_point());
diff --git a/tests/Grid/topclosure1.cc b/tests/Grid/topclosure1.cc
index aba1dd7..16a7960 100644
--- a/tests/Grid/topclosure1.cc
+++ b/tests/Grid/topclosure1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::topological_closure_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/unconstrain1.cc b/tests/Grid/unconstrain1.cc
index cefb65a..7825c33 100644
--- a/tests/Grid/unconstrain1.cc
+++ b/tests/Grid/unconstrain1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::unconstrain().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/upperbound1.cc b/tests/Grid/upperbound1.cc
index 93e25ba..149c740 100644
--- a/tests/Grid/upperbound1.cc
+++ b/tests/Grid/upperbound1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::upper_bound_assign()
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/upperbound2.cc b/tests/Grid/upperbound2.cc
index 4ef1965..c20eda6 100644
--- a/tests/Grid/upperbound2.cc
+++ b/tests/Grid/upperbound2.cc
@@ -1,5 +1,5 @@
 /* Test Grid::upper_bound_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/widening1.cc b/tests/Grid/widening1.cc
index 6fa90d6..3a2c9b6 100644
--- a/tests/Grid/widening1.cc
+++ b/tests/Grid/widening1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::congruence_widening_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/widening2.cc b/tests/Grid/widening2.cc
index 4fb49a4..d0fa8d1 100644
--- a/tests/Grid/widening2.cc
+++ b/tests/Grid/widening2.cc
@@ -1,5 +1,5 @@
 /* Test Grid::generator_widening_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/widening3.cc b/tests/Grid/widening3.cc
index 36a6411..3ba1da1 100644
--- a/tests/Grid/widening3.cc
+++ b/tests/Grid/widening3.cc
@@ -1,5 +1,5 @@
 /* Test Grid::widening_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/wrap1.cc b/tests/Grid/wrap1.cc
new file mode 100644
index 0000000..f123da6
--- /dev/null
+++ b/tests/Grid/wrap1.cc
@@ -0,0 +1,563 @@
+/* Test Grid::wrap_assign().
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+namespace {
+
+bool
+test01() {
+  Variable x(0);
+  Variable y(1);
+  Grid gr(2);
+  gr.add_congruence((x + 24 %= 8*y) / 2);
+  gr.add_congruence((y %= 1) / 3);
+
+  Variables_Set vars(x, y);
+
+  gr.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS);
+
+  Grid known_result(2);
+  known_result.add_congruence((x + 24 %= 8*y) / 2);
+  known_result.add_congruence((y %= 0) / 1);
+
+  bool ok = (gr == known_result);
+
+  print_congruences(gr, "*** gr.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test02() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+
+  Grid gr(3);
+  gr.add_congruence(x + 24 %= 8*y);
+  gr.add_congruence((y %= 1) / 2);
+
+  Variables_Set vars(x, y);
+
+  gr.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_UNDEFINED);
+
+  Grid known_result(3);
+  known_result.add_congruence(x %= 0);
+  known_result.add_congruence(y %= 0);
+
+  bool ok = (gr == known_result);
+
+  print_congruences(gr, "*** gr.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test03() {
+  Variable x(0);
+  Variable y(1);
+  Grid gr(2);
+  gr.add_congruence((x + 24 %= 8*y) / 255);
+  gr.add_congruence(x %= 0);
+
+  Variables_Set vars(x, y);
+
+  gr.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_IMPOSSIBLE);
+
+  Grid known_result(2);
+  known_result.add_congruence(x %= 0);
+  known_result.add_congruence((32*x + 3 %= y) / 255);
+
+  bool ok = (gr == known_result);
+
+  print_congruences(gr, "*** gr.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test04() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  Variable w(3);
+
+  Grid gr(4);
+  gr.add_congruence((x %= 255) / 0);
+
+  Variables_Set vars(x, w);
+
+  gr.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS);
+
+  Grid known_result(4);
+  known_result.add_congruence((x %= 255) / 0);
+
+  bool ok = (gr == known_result);
+
+  print_congruences(gr, "*** gr.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test05() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  Variable w(3);
+
+  Grid gr1(4);
+  gr1.add_congruence((x %= 10) / 255);
+  Grid gr2(gr1);
+
+  Variables_Set vars(x);
+
+  gr1.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_IMPOSSIBLE);
+  gr2.wrap_assign(vars, BITS_8, SIGNED_2_COMPLEMENT, OVERFLOW_IMPOSSIBLE);
+
+  Grid known_result(4);
+  known_result.add_congruence((x %= 10) / 0);
+
+  bool ok = (gr1 == known_result && gr2 == known_result);
+
+  print_congruences(gr1, "*** gr1.wrap_assign(...) ***");
+  print_congruences(gr2, "*** gr2.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test06() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  Variable w(3);
+
+  Grid gr1(4);
+  gr1.add_congruence((x %= 245) / 255);
+  Grid gr2(gr1);
+
+  Variables_Set vars(x);
+
+  gr1.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_IMPOSSIBLE);
+  gr2.wrap_assign(vars, BITS_8, SIGNED_2_COMPLEMENT, OVERFLOW_IMPOSSIBLE);
+
+  Grid known_result1(4);
+  known_result1.add_congruence((x %= 245) / 0);
+  Grid known_result2(4);
+  known_result2.add_congruence((x %= -10) / 0);
+
+  bool ok = (gr1 == known_result1 && gr2 == known_result2);
+
+  print_congruences(gr1, "*** gr1.wrap_assign(...) ***");
+  print_congruences(gr2, "*** gr2.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test07() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+
+  Grid gr(3);
+  gr.add_congruence(x + 24 %= 8*y);
+  gr.add_congruence((y %= 1) / 0);
+
+  Variables_Set vars(x, y);
+
+  gr.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_UNDEFINED);
+
+  Grid known_result(3);
+  known_result.add_congruence(x %= 0);
+  known_result.add_congruence((y %= 1) / 0);
+
+  bool ok = (gr == known_result);
+
+  print_congruences(gr, "*** gr.wrap_assign(...) ***");
+
+  return ok;
+}
+
+// Expression with a greater space dimension than the grid.
+bool
+test08() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  Variable w(3);
+
+  Grid gr(3);
+  gr.add_congruence((z == -2) / 0);
+  gr.add_congruence((x ==  0) / 0);
+
+  Variables_Set vars(x, w);
+
+  try {
+    gr.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_UNDEFINED);
+  }
+  catch (const std::invalid_argument& e) {
+    nout << "invalid_argument: " << e.what() << endl;
+    return true;
+  }
+  catch (...) {
+  }
+  return false;
+}
+
+// Constraint with a greater space dimension than the grid.
+bool
+test09() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  Variable w(3);
+
+  Grid gr(3);
+  gr.add_congruence((z == -2) / 0);
+  gr.add_congruence((x ==  0) / 0);
+
+  Constraint_System pcs;
+  pcs.insert(x+y+z+w == 2);
+
+  Variables_Set vars(x, y);
+
+  try {
+    gr.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_UNDEFINED, &pcs);
+  }
+  catch (const std::invalid_argument& e) {
+    nout << "invalid_argument: " << e.what() << endl;
+    return true;
+  }
+  catch (...) {
+  }
+  return false;
+}
+
+bool
+test10() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  Variable w(3);
+
+  Grid gr(4);
+  gr.add_congruence((x %= 1) / 2);
+
+  Constraint_System pcs;
+  pcs.insert(x+y+z+w == 2);
+
+  Variables_Set vars(x, w);
+
+  // The constraint system pcs will be ignored.
+  gr.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS, &pcs);
+
+  Grid known_result(4);
+  known_result.add_congruence((x %= 1) / 2);
+
+  bool ok = (gr == known_result);
+
+  print_congruences(gr, "*** gr.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test11() {
+  Variable x(0);
+  Variable y(1);
+  Grid gr(2);
+  gr.add_congruence((x %= 256) / 0);
+  gr.add_congruence(y %= 0);
+
+  Variables_Set vars(x);
+
+  gr.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_UNDEFINED);
+
+  Grid known_result(2);
+  known_result.add_congruence((x %= 0) / 1);
+  known_result.add_congruence(y %= 0);
+
+  bool ok = (gr == known_result);
+
+  print_congruences(gr, "*** gr.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test12() {
+  Variable x(0);
+  Variable y(1);
+  Grid gr(2);
+  gr.add_congruence((x %= 256) / 0);
+  gr.add_congruence(y %= 0);
+
+  Variables_Set vars(x);
+
+  gr.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS);
+
+  Grid known_result(2);
+  known_result.add_congruence((x %= 0) / 0);
+  known_result.add_congruence(y %= 0);
+
+  bool ok = (gr == known_result);
+
+  print_congruences(gr, "*** gr.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test13() {
+  Variable x(0);
+  Variable y(1);
+  Grid gr(2);
+  gr.add_congruence((x %= 25) / 0);
+  gr.add_congruence(y %= 0);
+
+  Variables_Set vars(x);
+
+  gr.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_UNDEFINED);
+
+  Grid known_result(2);
+  known_result.add_congruence((x %= 25) / 0);
+  known_result.add_congruence(y %= 0);
+
+  bool ok = (gr == known_result);
+
+  print_congruences(gr, "*** gr.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test14() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid gr1(2);
+  gr1.add_congruence((x %= 245) / 255);
+  Grid gr2(gr1);
+
+  Variables_Set vars(x);
+
+  gr1.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS);
+  gr2.wrap_assign(vars, BITS_8, SIGNED_2_COMPLEMENT, OVERFLOW_WRAPS);
+
+  Grid known_result1(2);
+  known_result1.add_congruence((x %= 0) / 1);
+  Grid known_result2(2);
+  known_result2.add_congruence((x %= 0) / 1);
+
+  bool ok = (gr1 == known_result1 && gr2 == known_result2);
+
+  print_congruences(gr1, "*** gr1.wrap_assign(...) ***");
+  print_congruences(gr2, "*** gr2.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test15() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid gr1(2);
+  gr1.add_congruence((x %= 245) / 256);
+  Grid gr2(gr1);
+
+  Variables_Set vars(x);
+
+  gr1.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS);
+  gr2.wrap_assign(vars, BITS_8, SIGNED_2_COMPLEMENT, OVERFLOW_WRAPS);
+
+  Grid known_result1(2);
+  known_result1.add_congruence((x %= 245) / 0);
+  Grid known_result2(2);
+  known_result2.add_congruence((x %= -11) / 0);
+
+  bool ok = (gr1 == known_result1 && gr2 == known_result2);
+
+  print_congruences(gr1, "*** gr1.wrap_assign(...) ***");
+  print_congruences(gr2, "*** gr2.wrap_assign(...) ***");
+
+  return ok;
+}
+
+
+bool
+test16() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid gr1(2);
+  gr1.add_congruence((2*x %= 245) / 0);
+  Grid gr2(gr1);
+
+  Variables_Set vars(x);
+
+  gr1.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS);
+  gr2.wrap_assign(vars, BITS_8, SIGNED_2_COMPLEMENT, OVERFLOW_WRAPS);
+
+  Grid known_result1(2, EMPTY);
+  Grid known_result2(2, EMPTY);
+
+  bool ok = (gr1 == known_result1 && gr2 == known_result2);
+
+  print_congruences(gr1, "*** gr1.wrap_assign(...) ***");
+  print_congruences(gr2, "*** gr2.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test17() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid gr1(2);
+  gr1.add_congruence((4*x %= 3) / 2);
+  Grid gr2(gr1);
+
+  Variables_Set vars(x);
+
+  gr1.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS);
+  gr2.wrap_assign(vars, BITS_8, SIGNED_2_COMPLEMENT, OVERFLOW_WRAPS);
+
+  Grid known_result1(2, EMPTY);
+  Grid known_result2(2, EMPTY);
+
+  bool ok = (gr1 == known_result1 && gr2 == known_result2);
+
+  print_congruences(gr1, "*** gr1.wrap_assign(...) ***");
+  print_congruences(gr2, "*** gr2.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test18() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid gr1(2);
+  gr1.add_congruence((4*x %= 2) / 1);
+  Grid gr2(gr1);
+
+  Variables_Set vars(x);
+
+  gr1.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS);
+  gr2.wrap_assign(vars, BITS_8, SIGNED_2_COMPLEMENT, OVERFLOW_WRAPS);
+
+  Grid known_result1(2);
+  known_result1.add_congruence((x %= 0) / 1);
+  Grid known_result2(2);
+  known_result2.add_congruence((x %= 0) / 1);
+
+  bool ok = (gr1 == known_result1 && gr2 == known_result2);
+
+  print_congruences(gr1, "*** gr1.wrap_assign(...) ***");
+  print_congruences(gr2, "*** gr2.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test19() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid gr1(2);
+  gr1.add_congruence((2*x %= 245) / 0);
+  Grid gr2(gr1);
+
+  Variables_Set vars(x, y);
+
+  gr1.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_UNDEFINED);
+  gr2.wrap_assign(vars, BITS_8, SIGNED_2_COMPLEMENT, OVERFLOW_UNDEFINED);
+
+  Grid known_result1(2, EMPTY);
+  Grid known_result2(2, EMPTY);
+
+  bool ok = (gr1 == known_result1 && gr2 == known_result2);
+
+  print_congruences(gr1, "*** gr1.wrap_assign(...) ***");
+  print_congruences(gr2, "*** gr2.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test20() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  Variable w(3);
+
+  Grid gr(4);
+  gr.add_congruence((x %= 1) / 2);
+
+  Constraint_System pcs;
+  pcs.insert(x+y == 2);
+
+  Variables_Set vars(x, w);
+
+  // The constraint system pcs will be ignored.
+  gr.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS, &pcs);
+
+  Grid known_result(4);
+  known_result.add_congruence((x %= 1) / 2);
+
+  bool ok = (gr == known_result);
+
+  print_congruences(gr, "*** gr.wrap_assign(...) ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST_F8(test01);
+  DO_TEST_F8(test02);
+  DO_TEST_F8(test03);
+  DO_TEST_F8(test04);
+  DO_TEST_F8(test05);
+  DO_TEST_F8(test06);
+  DO_TEST_F8(test07);
+  DO_TEST(test08);
+  DO_TEST(test09);
+  DO_TEST_F8(test10);
+  DO_TEST_F8(test11);
+  DO_TEST_F8(test12);
+  DO_TEST_F8(test13);
+  DO_TEST_F8(test14);
+  DO_TEST_F8(test15);
+  DO_TEST_F8(test16);
+  DO_TEST_F8(test17);
+  DO_TEST_F8(test18);
+  DO_TEST_F8(test19);
+  DO_TEST_F8(test20);
+END_MAIN
diff --git a/tests/Grid/writecongruencesystem.cc b/tests/Grid/writecongruencesystem.cc
index b82f8b0..94232d3 100644
--- a/tests/Grid/writecongruencesystem.cc
+++ b/tests/Grid/writecongruencesystem.cc
@@ -1,5 +1,5 @@
 /* Test operator<<(std::ostream&, const Congruence_System&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/MIP_Problem/Makefile.am b/tests/MIP_Problem/Makefile.am
index 14fcfff..56c7866 100644
--- a/tests/MIP_Problem/Makefile.am
+++ b/tests/MIP_Problem/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
diff --git a/tests/MIP_Problem/Makefile.in b/tests/MIP_Problem/Makefile.in
index 75c38f9..a3d39b6 100644
--- a/tests/MIP_Problem/Makefile.in
+++ b/tests/MIP_Problem/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -37,8 +38,9 @@
 # site: http://www.cs.unipr.it/ppl/ .
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -66,6 +68,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -87,12 +90,13 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 am__EXEEXT_1 = ascii_dump_load1$(EXEEXT) exceptions1$(EXEEXT) \
 	mipproblem1$(EXEEXT) mipproblem3$(EXEEXT)
 @BUILD_WATCHDOG_LIBRARY_TRUE at am__EXEEXT_2 = mipproblem2$(EXEEXT)
@@ -103,6 +107,9 @@ ascii_dump_load1_LDADD = $(LDADD)
 ascii_dump_load1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
 am_exceptions1_OBJECTS = exceptions1.$(OBJEXT)
 exceptions1_OBJECTS = $(am_exceptions1_OBJECTS)
 exceptions1_LDADD = $(LDADD)
@@ -135,15 +142,29 @@ mipproblem3_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_$(V))
+am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+am__v_CXX_0 = @echo "  CXX   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_$(V))
+am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(ascii_dump_load1_SOURCES) $(exceptions1_SOURCES) \
 	$(mipproblem1_SOURCES) $(mipproblem2_SOURCES) \
 	$(mipproblem3_SOURCES)
@@ -152,9 +173,12 @@ DIST_SOURCES = $(ascii_dump_load1_SOURCES) $(exceptions1_SOURCES) \
 	$(mipproblem3_SOURCES)
 ETAGS = etags
 CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -201,6 +225,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -218,8 +244,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -227,6 +263,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -243,12 +280,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -291,11 +331,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -325,6 +363,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -332,6 +371,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 @VALGRIND_TESTS_ENABLED_FALSE at CHECKER = 
 @VALGRIND_TESTS_ENABLED_TRUE at CHECKER = \
 @VALGRIND_TESTS_ENABLED_TRUE@$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
@@ -383,14 +423,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  tests/MIP_Problem/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  tests/MIP_Problem/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/MIP_Problem/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign tests/MIP_Problem/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -408,28 +448,31 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 clean-checkPROGRAMS:
-	@list='$(check_PROGRAMS)'; for p in $$list; do \
-	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  echo " rm -f $$p $$f"; \
-	  rm -f $$p $$f ; \
-	done
+	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
 ascii_dump_load1$(EXEEXT): $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_DEPENDENCIES) 
 	@rm -f ascii_dump_load1$(EXEEXT)
-	$(CXXLINK) $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_LDADD) $(LIBS)
 exceptions1$(EXEEXT): $(exceptions1_OBJECTS) $(exceptions1_DEPENDENCIES) 
 	@rm -f exceptions1$(EXEEXT)
-	$(CXXLINK) $(exceptions1_OBJECTS) $(exceptions1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(exceptions1_OBJECTS) $(exceptions1_LDADD) $(LIBS)
 mipproblem1$(EXEEXT): $(mipproblem1_OBJECTS) $(mipproblem1_DEPENDENCIES) 
 	@rm -f mipproblem1$(EXEEXT)
-	$(CXXLINK) $(mipproblem1_OBJECTS) $(mipproblem1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(mipproblem1_OBJECTS) $(mipproblem1_LDADD) $(LIBS)
 mipproblem2$(EXEEXT): $(mipproblem2_OBJECTS) $(mipproblem2_DEPENDENCIES) 
 	@rm -f mipproblem2$(EXEEXT)
-	$(CXXLINK) $(mipproblem2_OBJECTS) $(mipproblem2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(mipproblem2_OBJECTS) $(mipproblem2_LDADD) $(LIBS)
 mipproblem3$(EXEEXT): $(mipproblem3_OBJECTS) $(mipproblem3_DEPENDENCIES) 
 	@rm -f mipproblem3$(EXEEXT)
-	$(CXXLINK) $(mipproblem3_OBJECTS) $(mipproblem3_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(mipproblem3_OBJECTS) $(mipproblem3_LDADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -444,36 +487,41 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mipproblem3.Po at am__quote@
 
 .cc.o:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
- at am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
 
 mipproblem2-mipproblem2.o: mipproblem2.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mipproblem2_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT mipproblem2-mipproblem2.o -MD -MP -MF $(DEPDIR)/mipproblem2-mipproblem2.Tpo -c -o mipproblem2-mipproblem2.o `test -f 'mipproblem2.cc' || echo '$(srcdir)/'`mipproblem2.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/mipproblem2-mipproblem2.Tpo $(DEPDIR)/mipproblem2-mipproblem2.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mipproblem2_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT mipproblem2-mipproblem2.o -MD -MP -MF $(DEPDIR)/mipproblem2-mipproblem2.Tpo -c -o mipproblem2-mipproblem2.o `test -f 'mipproblem2.cc' || echo '$(srcdir)/'`mipproblem2.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/mipproblem2-mipproblem2.Tpo $(DEPDIR)/mipproblem2-mipproblem2.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='mipproblem2.cc' object='mipproblem2-mipproblem2.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mipproblem2_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o mipproblem2-mipproblem2.o `test -f 'mipproblem2.cc' || echo '$(srcdir)/'`mipproblem2.cc
 
 mipproblem2-mipproblem2.obj: mipproblem2.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mipproblem2_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT mipproblem2-mipproblem2.obj -MD -MP -MF $(DEPDIR)/mipproblem2-mipproblem2.Tpo -c -o mipproblem2-mipproblem2.obj `if test -f 'mipproblem2.cc'; then $(CYGPATH_W) 'mipproblem2.cc'; else $(CYGPATH_W) '$(srcdir)/mipproblem2.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/mipproblem2-mipproblem2.Tpo $(DEPDIR)/mipproblem2-mipproblem2.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mipproblem2_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT mipproblem2-mipproblem2.obj -MD -MP -MF $(DEPDIR)/mipproblem2-mipproblem2.Tpo -c -o mipproblem2-mipproblem2.obj `if test -f 'mipproblem2.cc'; then $(CYGPATH_W) 'mipproblem2.cc'; else $(CYGPATH_W) '$(srcdir)/mipproblem2.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/mipproblem2-mipproblem2.Tpo $(DEPDIR)/mipproblem2-mipproblem2.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='mipproblem2.cc' object='mipproblem2-mipproblem2.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mipproblem2_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o mipproblem2-mipproblem2.obj `if test -f 'mipproblem2.cc'; then $(CYGPATH_W) 'mipproblem2.cc'; else $(CYGPATH_W) '$(srcdir)/mipproblem2.cc'; fi`
@@ -489,14 +537,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
@@ -504,37 +552,43 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
 check-TESTS: $(TESTS)
-	@failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[	 ]'; \
+	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
 	srcdir=$(srcdir); export srcdir; \
 	list=' $(TESTS) '; \
+	$(am__tty_colors); \
 	if test -n "$$list"; then \
 	  for tst in $$list; do \
 	    if test -f ./$$tst; then dir=./; \
@@ -543,49 +597,63 @@ check-TESTS: $(TESTS)
 	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
 	      all=`expr $$all + 1`; \
 	      case " $(XFAIL_TESTS) " in \
-	      *$$ws$$tst$$ws*) \
+	      *[\ \	]$$tst[\ \	]*) \
 		xpass=`expr $$xpass + 1`; \
 		failed=`expr $$failed + 1`; \
-		echo "XPASS: $$tst"; \
+		col=$$red; res=XPASS; \
 	      ;; \
 	      *) \
-		echo "PASS: $$tst"; \
+		col=$$grn; res=PASS; \
 	      ;; \
 	      esac; \
 	    elif test $$? -ne 77; then \
 	      all=`expr $$all + 1`; \
 	      case " $(XFAIL_TESTS) " in \
-	      *$$ws$$tst$$ws*) \
+	      *[\ \	]$$tst[\ \	]*) \
 		xfail=`expr $$xfail + 1`; \
-		echo "XFAIL: $$tst"; \
+		col=$$lgn; res=XFAIL; \
 	      ;; \
 	      *) \
 		failed=`expr $$failed + 1`; \
-		echo "FAIL: $$tst"; \
+		col=$$red; res=FAIL; \
 	      ;; \
 	      esac; \
 	    else \
 	      skip=`expr $$skip + 1`; \
-	      echo "SKIP: $$tst"; \
+	      col=$$blu; res=SKIP; \
 	    fi; \
+	    echo "$${col}$$res$${std}: $$tst"; \
 	  done; \
+	  if test "$$all" -eq 1; then \
+	    tests="test"; \
+	    All=""; \
+	  else \
+	    tests="tests"; \
+	    All="All "; \
+	  fi; \
 	  if test "$$failed" -eq 0; then \
 	    if test "$$xfail" -eq 0; then \
-	      banner="All $$all tests passed"; \
+	      banner="$$All$$all $$tests passed"; \
 	    else \
-	      banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
+	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
 	    fi; \
 	  else \
 	    if test "$$xpass" -eq 0; then \
-	      banner="$$failed of $$all tests failed"; \
+	      banner="$$failed of $$all $$tests failed"; \
 	    else \
-	      banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
+	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
 	    fi; \
 	  fi; \
 	  dashes="$$banner"; \
 	  skipped=""; \
 	  if test "$$skip" -ne 0; then \
-	    skipped="($$skip tests were not run)"; \
+	    if test "$$skip" -eq 1; then \
+	      skipped="($$skip test was not run)"; \
+	    else \
+	      skipped="($$skip tests were not run)"; \
+	    fi; \
 	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
 	      dashes="$$skipped"; \
 	  fi; \
@@ -596,11 +664,15 @@ check-TESTS: $(TESTS)
 	      dashes="$$report"; \
 	  fi; \
 	  dashes=`echo "$$dashes" | sed s/./=/g`; \
-	  echo "$$dashes"; \
+	  if test "$$failed" -eq 0; then \
+	    echo "$$grn$$dashes"; \
+	  else \
+	    echo "$$red$$dashes"; \
+	  fi; \
 	  echo "$$banner"; \
 	  test -z "$$skipped" || echo "$$skipped"; \
 	  test -z "$$report" || echo "$$report"; \
-	  echo "$$dashes"; \
+	  echo "$$dashes$$std"; \
 	  test "$$failed" -eq 0; \
 	else :; fi
 
@@ -620,13 +692,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -657,6 +733,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -678,6 +755,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -686,18 +765,28 @@ install-data-am:
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am:
 
 install-html: install-html-am
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-am
 
+install-pdf-am:
+
 install-ps: install-ps-am
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -720,7 +809,7 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: install-am install-strip
+.MAKE: check-am install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
 	clean-checkPROGRAMS clean-generic clean-libtool ctags \
@@ -748,6 +837,7 @@ $(top_builddir)/src/libppl.la:
 
 $(top_builddir)/Watchdog/src/libpwl.la:
 	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/Watchdog/src libpwl.la
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/tests/MIP_Problem/ascii_dump_load1.cc b/tests/MIP_Problem/ascii_dump_load1.cc
index decfce7..e81c72a 100644
--- a/tests/MIP_Problem/ascii_dump_load1.cc
+++ b/tests/MIP_Problem/ascii_dump_load1.cc
@@ -1,5 +1,5 @@
 /* Test MIP_Problem::ascii_dump() and MIP_Problem::ascii_load().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/MIP_Problem/exceptions1.cc b/tests/MIP_Problem/exceptions1.cc
index 1662ef3..fc87e49 100644
--- a/tests/MIP_Problem/exceptions1.cc
+++ b/tests/MIP_Problem/exceptions1.cc
@@ -1,5 +1,5 @@
 /* Test that the right exceptions are thrown in case of incorrect uses.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/MIP_Problem/mipproblem1.cc b/tests/MIP_Problem/mipproblem1.cc
index 22e14ba..782a269 100644
--- a/tests/MIP_Problem/mipproblem1.cc
+++ b/tests/MIP_Problem/mipproblem1.cc
@@ -1,5 +1,5 @@
 /* Test the MIP_Problem class.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -138,9 +138,6 @@ test01() {
   Generator pg = mip.optimizing_point();
   nout << "Optimizing point = ";
   print_generator(pg);
-  Generator pg_kr = point(2*X21 + 44*X39);
-  if (pg != pg_kr)
-    return false;
 
   // Making mip unfeasible.
   Constraint_System further_cs;
diff --git a/tests/MIP_Problem/mipproblem2.cc b/tests/MIP_Problem/mipproblem2.cc
index aad13b0..83c9957 100644
--- a/tests/MIP_Problem/mipproblem2.cc
+++ b/tests/MIP_Problem/mipproblem2.cc
@@ -1,5 +1,5 @@
 /* Test the MIP_Problem class with instances that require a watchdog timer.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/MIP_Problem/mipproblem3.cc b/tests/MIP_Problem/mipproblem3.cc
index b072bdc..abcb006 100644
--- a/tests/MIP_Problem/mipproblem3.cc
+++ b/tests/MIP_Problem/mipproblem3.cc
@@ -1,5 +1,5 @@
 /* Test the MIP_Problem class.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 40f075a..a25b32a 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -22,6 +22,7 @@
 
 SUBDIRS = \
 . \
+PIP_Problem \
 Powerset \
 Partially_Reduced_Product \
 Box \
@@ -39,8 +40,7 @@ check_LIBRARIES = libppl_tests.a
 libppl_tests_a_SOURCES = \
 files.hh \
 files.cc \
-ppl_test.cc \
-Partial_Function.cc
+ppl_test.cc
 
 LDADD = \
 $(top_builddir)/src/libppl.la \
@@ -49,9 +49,6 @@ libppl_tests.a \
 
 noinst_HEADERS = \
 ppl_test.hh \
-Partial_Function.defs.hh \
-Partial_Function.inlines.hh \
-Partial_Function.types.hh \
 Random_Number_Generator.defs.hh \
 Random_Number_Generator.inlines.hh \
 Random_Number_Generator.types.hh
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 65727a5..ee279be 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -38,8 +39,9 @@
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -64,6 +66,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -85,39 +88,66 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 ARFLAGS = cru
+AM_V_AR = $(am__v_AR_$(V))
+am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY))
+am__v_AR_0 = @echo "  AR    " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 libppl_tests_a_AR = $(AR) $(ARFLAGS)
 libppl_tests_a_LIBADD =
-am_libppl_tests_a_OBJECTS = files.$(OBJEXT) ppl_test.$(OBJEXT) \
-	Partial_Function.$(OBJEXT)
+am_libppl_tests_a_OBJECTS = files.$(OBJEXT) ppl_test.$(OBJEXT)
 libppl_tests_a_OBJECTS = $(am_libppl_tests_a_OBJECTS)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_$(V))
+am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+am__v_CXX_0 = @echo "  CXX   " $@;
 CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_$(V))
+am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo "  CC    " $@;
 CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo "  CCLD  " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libppl_tests_a_SOURCES)
 DIST_SOURCES = $(libppl_tests_a_SOURCES)
 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
@@ -130,12 +160,41 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
 HEADERS = $(noinst_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
   distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+	distdir
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -182,6 +241,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -199,8 +260,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -208,6 +279,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -224,12 +296,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -272,11 +347,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -306,6 +379,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -313,8 +387,10 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 SUBDIRS = \
 . \
+PIP_Problem \
 Powerset \
 Partially_Reduced_Product \
 Box \
@@ -330,8 +406,7 @@ check_LIBRARIES = libppl_tests.a
 libppl_tests_a_SOURCES = \
 files.hh \
 files.cc \
-ppl_test.cc \
-Partial_Function.cc
+ppl_test.cc
 
 LDADD = \
 $(top_builddir)/src/libppl.la \
@@ -340,9 +415,6 @@ libppl_tests.a \
 
 noinst_HEADERS = \
 ppl_test.hh \
-Partial_Function.defs.hh \
-Partial_Function.inlines.hh \
-Partial_Function.types.hh \
 Random_Number_Generator.defs.hh \
 Random_Number_Generator.inlines.hh \
 Random_Number_Generator.types.hh
@@ -356,14 +428,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  tests/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  tests/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign tests/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -381,13 +453,14 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 clean-checkLIBRARIES:
 	-test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
 libppl_tests.a: $(libppl_tests_a_OBJECTS) $(libppl_tests_a_DEPENDENCIES) 
-	-rm -f libppl_tests.a
-	$(libppl_tests_a_AR) libppl_tests.a $(libppl_tests_a_OBJECTS) $(libppl_tests_a_LIBADD)
-	$(RANLIB) libppl_tests.a
+	$(AM_V_at)-rm -f libppl_tests.a
+	$(AM_V_AR)$(libppl_tests_a_AR) libppl_tests.a $(libppl_tests_a_OBJECTS) $(libppl_tests_a_LIBADD)
+	$(AM_V_at)$(RANLIB) libppl_tests.a
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -395,27 +468,29 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Partial_Function.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/files.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_test.Po at am__quote@
 
 .cc.o:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
- at am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
@@ -433,7 +508,7 @@ clean-libtool:
 #     (which will cause the Makefiles to be regenerated when you run `make');
 # (2) otherwise, pass the desired values on the `make' command line.
 $(RECURSIVE_TARGETS):
-	@failcom='exit 1'; \
+	@fail= failcom='exit 1'; \
 	for f in x $$MAKEFLAGS; do \
 	  case $$f in \
 	    *=* | --[!k]*);; \
@@ -450,7 +525,7 @@ $(RECURSIVE_TARGETS):
 	  else \
 	    local_target="$$target"; \
 	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
 	  || eval $$failcom; \
 	done; \
 	if test "$$dot_seen" = "no"; then \
@@ -458,7 +533,7 @@ $(RECURSIVE_TARGETS):
 	fi; test -z "$$fail"
 
 $(RECURSIVE_CLEAN_TARGETS):
-	@failcom='exit 1'; \
+	@fail= failcom='exit 1'; \
 	for f in x $$MAKEFLAGS; do \
 	  case $$f in \
 	    *=* | --[!k]*);; \
@@ -484,16 +559,16 @@ $(RECURSIVE_CLEAN_TARGETS):
 	  else \
 	    local_target="$$target"; \
 	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
 	  || eval $$failcom; \
 	done && test -z "$$fail"
 tags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
 	done
 ctags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
 	done
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -501,14 +576,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
 	  include_option=--etags-include; \
@@ -520,7 +595,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	list='$(SUBDIRS)'; for subdir in $$list; do \
 	  if test "$$subdir" = .; then :; else \
 	    test ! -f $$subdir/TAGS || \
-	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
 	  fi; \
 	done; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
@@ -529,29 +604,34 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -572,29 +652,44 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
-	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
 	  if test "$$subdir" = .; then :; else \
 	    test -d "$(distdir)/$$subdir" \
 	    || $(MKDIR_P) "$(distdir)/$$subdir" \
 	    || exit 1; \
-	    distdir=`$(am__cd) $(distdir) && pwd`; \
-	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
-	    (cd $$subdir && \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
 	      $(MAKE) $(AM_MAKEFLAGS) \
-	        top_distdir="$$top_distdir" \
-	        distdir="$$distdir/$$subdir" \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
 		am__remove_distdir=: \
 		am__skip_length_check=: \
+		am__skip_mode_fix=: \
 	        distdir) \
 	      || exit 1; \
 	  fi; \
@@ -625,6 +720,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -646,6 +742,8 @@ dvi-am:
 
 html: html-recursive
 
+html-am:
+
 info: info-recursive
 
 info-am:
@@ -654,18 +752,28 @@ install-data-am:
 
 install-dvi: install-dvi-recursive
 
+install-dvi-am:
+
 install-exec-am:
 
 install-html: install-html-recursive
 
+install-html-am:
+
 install-info: install-info-recursive
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-recursive
 
+install-pdf-am:
+
 install-ps: install-ps-recursive
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-recursive
@@ -688,8 +796,8 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
-	install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) check-am \
+	ctags-recursive install-am install-strip tags-recursive
 
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
 	all all-am check check-am clean clean-checkLIBRARIES \
@@ -706,6 +814,7 @@ uninstall-am:
 	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
 	uninstall uninstall-am
 
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/tests/Octagonal_Shape/Makefile.am b/tests/Octagonal_Shape/Makefile.am
index 7cbe4ba..c0fd9a3 100644
--- a/tests/Octagonal_Shape/Makefile.am
+++ b/tests/Octagonal_Shape/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -76,8 +76,10 @@ containsintegerpoint1 \
 difference1 \
 discrete1 \
 disjoint1 \
+dropsomenonintegerpoints1 \
 empty1 \
 expandspacedim1 \
+frequency1 \
 foldspacedims1 \
 frombdshape1 \
 frombox1 \
@@ -95,6 +97,7 @@ generalizedaffinepreimage1 \
 generalizedaffinepreimage2 \
 generalizedaffinepreimage3 \
 generalizedaffinepreimage4 \
+integerupperboundifexact1 \
 intersection1 \
 limitedbhmz05extrapolation1 \
 limitedcc76extrapolation1 \
@@ -115,6 +118,7 @@ unconstrain1 \
 universe1 \
 upperbound1 \
 upperboundifexact1 \
+wrap1 \
 writeoctagon1
 
 
@@ -213,12 +217,16 @@ discrete1_SOURCES = discrete1.cc
 
 disjoint1_SOURCES = disjoint1.cc
 
+dropsomenonintegerpoints1_SOURCES = dropsomenonintegerpoints1.cc
+
 empty1_SOURCES = empty1.cc
 
 expandspacedim1_SOURCES = expandspacedim1.cc
 
 foldspacedims1_SOURCES = foldspacedims1.cc
 
+frequency1_SOURCES = frequency1.cc
+
 frombdshape1_SOURCES = frombdshape1.cc
 
 frombox1_SOURCES = frombox1.cc
@@ -244,6 +252,8 @@ generalizedaffinepreimage2_SOURCES = generalizedaffinepreimage2.cc
 generalizedaffinepreimage3_SOURCES = generalizedaffinepreimage3.cc
 generalizedaffinepreimage4_SOURCES = generalizedaffinepreimage4.cc
 
+integerupperboundifexact1_SOURCES = integerupperboundifexact1.cc
+
 intersection1_SOURCES = intersection1.cc
 
 limitedbhmz05extrapolation1_SOURCES = limitedbhmz05extrapolation1.cc
@@ -281,6 +291,8 @@ upperbound1_SOURCES = upperbound1.cc
 
 upperboundifexact1_SOURCES = upperboundifexact1.cc
 
+wrap1_SOURCES = wrap1.cc
+
 writeoctagon1_SOURCES = writeoctagon1.cc
 
 
diff --git a/tests/Octagonal_Shape/Makefile.in b/tests/Octagonal_Shape/Makefile.in
index 2c8d19b..f22a6b4 100644
--- a/tests/Octagonal_Shape/Makefile.in
+++ b/tests/Octagonal_Shape/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -37,8 +38,9 @@
 # site: http://www.cs.unipr.it/ppl/ .
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -64,12 +66,13 @@ check_PROGRAMS = addspacedims1$(EXEEXT) affinedimension1$(EXEEXT) \
 	concatenate1$(EXEEXT) congruences1$(EXEEXT) \
 	constrains1$(EXEEXT) constraints1$(EXEEXT) contains1$(EXEEXT) \
 	containsintegerpoint1$(EXEEXT) difference1$(EXEEXT) \
-	discrete1$(EXEEXT) disjoint1$(EXEEXT) empty1$(EXEEXT) \
-	expandspacedim1$(EXEEXT) foldspacedims1$(EXEEXT) \
-	frombdshape1$(EXEEXT) frombox1$(EXEEXT) fromgensys1$(EXEEXT) \
-	fromgrid1$(EXEEXT) fromoctagonalshape1$(EXEEXT) \
-	frompolyhedron1$(EXEEXT) fromspacedim1$(EXEEXT) \
-	generalizedaffineimage1$(EXEEXT) \
+	discrete1$(EXEEXT) disjoint1$(EXEEXT) \
+	dropsomenonintegerpoints1$(EXEEXT) empty1$(EXEEXT) \
+	expandspacedim1$(EXEEXT) frequency1$(EXEEXT) \
+	foldspacedims1$(EXEEXT) frombdshape1$(EXEEXT) \
+	frombox1$(EXEEXT) fromgensys1$(EXEEXT) fromgrid1$(EXEEXT) \
+	fromoctagonalshape1$(EXEEXT) frompolyhedron1$(EXEEXT) \
+	fromspacedim1$(EXEEXT) generalizedaffineimage1$(EXEEXT) \
 	generalizedaffineimage2$(EXEEXT) \
 	generalizedaffineimage3$(EXEEXT) \
 	generalizedaffineimage4$(EXEEXT) \
@@ -77,7 +80,8 @@ check_PROGRAMS = addspacedims1$(EXEEXT) affinedimension1$(EXEEXT) \
 	generalizedaffinepreimage1$(EXEEXT) \
 	generalizedaffinepreimage2$(EXEEXT) \
 	generalizedaffinepreimage3$(EXEEXT) \
-	generalizedaffinepreimage4$(EXEEXT) intersection1$(EXEEXT) \
+	generalizedaffinepreimage4$(EXEEXT) \
+	integerupperboundifexact1$(EXEEXT) intersection1$(EXEEXT) \
 	limitedbhmz05extrapolation1$(EXEEXT) \
 	limitedcc76extrapolation1$(EXEEXT) mapspacedims1$(EXEEXT) \
 	max_min1$(EXEEXT) max_min2$(EXEEXT) maxspacedim1$(EXEEXT) \
@@ -87,7 +91,7 @@ check_PROGRAMS = addspacedims1$(EXEEXT) affinedimension1$(EXEEXT) \
 	removespacedims1$(EXEEXT) simplifyusingcontext1$(EXEEXT) \
 	timeelapse1$(EXEEXT) unconstrain1$(EXEEXT) universe1$(EXEEXT) \
 	upperbound1$(EXEEXT) upperboundifexact1$(EXEEXT) \
-	writeoctagon1$(EXEEXT)
+	wrap1$(EXEEXT) writeoctagon1$(EXEEXT)
 XFAIL_TESTS =
 subdir = tests/Octagonal_Shape
 DIST_COMMON = $(dist_check_SCRIPTS) $(srcdir)/Makefile.am \
@@ -99,6 +103,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -120,18 +125,22 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 am_addspacedims1_OBJECTS = addspacedims1.$(OBJEXT)
 addspacedims1_OBJECTS = $(am_addspacedims1_OBJECTS)
 addspacedims1_LDADD = $(LDADD)
 addspacedims1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
 am_affinedimension1_OBJECTS = affinedimension1.$(OBJEXT)
 affinedimension1_OBJECTS = $(am_affinedimension1_OBJECTS)
 affinedimension1_LDADD = $(LDADD)
@@ -280,6 +289,15 @@ disjoint1_LDADD = $(LDADD)
 disjoint1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_dropsomenonintegerpoints1_OBJECTS =  \
+	dropsomenonintegerpoints1.$(OBJEXT)
+dropsomenonintegerpoints1_OBJECTS =  \
+	$(am_dropsomenonintegerpoints1_OBJECTS)
+dropsomenonintegerpoints1_LDADD = $(LDADD)
+dropsomenonintegerpoints1_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_empty1_OBJECTS = empty1.$(OBJEXT)
 empty1_OBJECTS = $(am_empty1_OBJECTS)
 empty1_LDADD = $(LDADD)
@@ -298,6 +316,12 @@ foldspacedims1_LDADD = $(LDADD)
 foldspacedims1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_frequency1_OBJECTS = frequency1.$(OBJEXT)
+frequency1_OBJECTS = $(am_frequency1_OBJECTS)
+frequency1_LDADD = $(LDADD)
+frequency1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_frombdshape1_OBJECTS = frombdshape1.$(OBJEXT)
 frombdshape1_OBJECTS = $(am_frombdshape1_OBJECTS)
 frombdshape1_LDADD = $(LDADD)
@@ -422,6 +446,15 @@ generalizedaffinepreimage4_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_integerupperboundifexact1_OBJECTS =  \
+	integerupperboundifexact1.$(OBJEXT)
+integerupperboundifexact1_OBJECTS =  \
+	$(am_integerupperboundifexact1_OBJECTS)
+integerupperboundifexact1_LDADD = $(LDADD)
+integerupperboundifexact1_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_intersection1_OBJECTS = intersection1.$(OBJEXT)
 intersection1_OBJECTS = $(am_intersection1_OBJECTS)
 intersection1_LDADD = $(LDADD)
@@ -550,6 +583,12 @@ upperboundifexact1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_wrap1_OBJECTS = wrap1.$(OBJEXT)
+wrap1_OBJECTS = $(am_wrap1_OBJECTS)
+wrap1_LDADD = $(LDADD)
+wrap1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_writeoctagon1_OBJECTS = writeoctagon1.$(OBJEXT)
 writeoctagon1_OBJECTS = $(am_writeoctagon1_OBJECTS)
 writeoctagon1_LDADD = $(LDADD)
@@ -559,15 +598,29 @@ writeoctagon1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_$(V))
+am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+am__v_CXX_0 = @echo "  CXX   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_$(V))
+am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(addspacedims1_SOURCES) $(affinedimension1_SOURCES) \
 	$(affineimage1_SOURCES) $(affineimage2_SOURCES) \
 	$(affinepreimage1_SOURCES) $(affinepreimage2_SOURCES) \
@@ -580,12 +633,14 @@ SOURCES = $(addspacedims1_SOURCES) $(affinedimension1_SOURCES) \
 	$(congruences1_SOURCES) $(constrains1_SOURCES) \
 	$(constraints1_SOURCES) $(contains1_SOURCES) \
 	$(containsintegerpoint1_SOURCES) $(difference1_SOURCES) \
-	$(discrete1_SOURCES) $(disjoint1_SOURCES) $(empty1_SOURCES) \
+	$(discrete1_SOURCES) $(disjoint1_SOURCES) \
+	$(dropsomenonintegerpoints1_SOURCES) $(empty1_SOURCES) \
 	$(expandspacedim1_SOURCES) $(foldspacedims1_SOURCES) \
-	$(frombdshape1_SOURCES) $(frombox1_SOURCES) \
-	$(fromgensys1_SOURCES) $(fromgrid1_SOURCES) \
-	$(fromoctagonalshape1_SOURCES) $(frompolyhedron1_SOURCES) \
-	$(fromspacedim1_SOURCES) $(generalizedaffineimage1_SOURCES) \
+	$(frequency1_SOURCES) $(frombdshape1_SOURCES) \
+	$(frombox1_SOURCES) $(fromgensys1_SOURCES) \
+	$(fromgrid1_SOURCES) $(fromoctagonalshape1_SOURCES) \
+	$(frompolyhedron1_SOURCES) $(fromspacedim1_SOURCES) \
+	$(generalizedaffineimage1_SOURCES) \
 	$(generalizedaffineimage2_SOURCES) \
 	$(generalizedaffineimage3_SOURCES) \
 	$(generalizedaffineimage4_SOURCES) \
@@ -593,7 +648,8 @@ SOURCES = $(addspacedims1_SOURCES) $(affinedimension1_SOURCES) \
 	$(generalizedaffinepreimage1_SOURCES) \
 	$(generalizedaffinepreimage2_SOURCES) \
 	$(generalizedaffinepreimage3_SOURCES) \
-	$(generalizedaffinepreimage4_SOURCES) $(intersection1_SOURCES) \
+	$(generalizedaffinepreimage4_SOURCES) \
+	$(integerupperboundifexact1_SOURCES) $(intersection1_SOURCES) \
 	$(limitedbhmz05extrapolation1_SOURCES) \
 	$(limitedcc76extrapolation1_SOURCES) $(mapspacedims1_SOURCES) \
 	$(max_min1_SOURCES) $(max_min2_SOURCES) \
@@ -604,7 +660,7 @@ SOURCES = $(addspacedims1_SOURCES) $(affinedimension1_SOURCES) \
 	$(simplifyusingcontext1_SOURCES) $(timeelapse1_SOURCES) \
 	$(unconstrain1_SOURCES) $(universe1_SOURCES) \
 	$(upperbound1_SOURCES) $(upperboundifexact1_SOURCES) \
-	$(writeoctagon1_SOURCES)
+	$(wrap1_SOURCES) $(writeoctagon1_SOURCES)
 DIST_SOURCES = $(addspacedims1_SOURCES) $(affinedimension1_SOURCES) \
 	$(affineimage1_SOURCES) $(affineimage2_SOURCES) \
 	$(affinepreimage1_SOURCES) $(affinepreimage2_SOURCES) \
@@ -617,12 +673,14 @@ DIST_SOURCES = $(addspacedims1_SOURCES) $(affinedimension1_SOURCES) \
 	$(congruences1_SOURCES) $(constrains1_SOURCES) \
 	$(constraints1_SOURCES) $(contains1_SOURCES) \
 	$(containsintegerpoint1_SOURCES) $(difference1_SOURCES) \
-	$(discrete1_SOURCES) $(disjoint1_SOURCES) $(empty1_SOURCES) \
+	$(discrete1_SOURCES) $(disjoint1_SOURCES) \
+	$(dropsomenonintegerpoints1_SOURCES) $(empty1_SOURCES) \
 	$(expandspacedim1_SOURCES) $(foldspacedims1_SOURCES) \
-	$(frombdshape1_SOURCES) $(frombox1_SOURCES) \
-	$(fromgensys1_SOURCES) $(fromgrid1_SOURCES) \
-	$(fromoctagonalshape1_SOURCES) $(frompolyhedron1_SOURCES) \
-	$(fromspacedim1_SOURCES) $(generalizedaffineimage1_SOURCES) \
+	$(frequency1_SOURCES) $(frombdshape1_SOURCES) \
+	$(frombox1_SOURCES) $(fromgensys1_SOURCES) \
+	$(fromgrid1_SOURCES) $(fromoctagonalshape1_SOURCES) \
+	$(frompolyhedron1_SOURCES) $(fromspacedim1_SOURCES) \
+	$(generalizedaffineimage1_SOURCES) \
 	$(generalizedaffineimage2_SOURCES) \
 	$(generalizedaffineimage3_SOURCES) \
 	$(generalizedaffineimage4_SOURCES) \
@@ -630,7 +688,8 @@ DIST_SOURCES = $(addspacedims1_SOURCES) $(affinedimension1_SOURCES) \
 	$(generalizedaffinepreimage1_SOURCES) \
 	$(generalizedaffinepreimage2_SOURCES) \
 	$(generalizedaffinepreimage3_SOURCES) \
-	$(generalizedaffinepreimage4_SOURCES) $(intersection1_SOURCES) \
+	$(generalizedaffinepreimage4_SOURCES) \
+	$(integerupperboundifexact1_SOURCES) $(intersection1_SOURCES) \
 	$(limitedbhmz05extrapolation1_SOURCES) \
 	$(limitedcc76extrapolation1_SOURCES) $(mapspacedims1_SOURCES) \
 	$(max_min1_SOURCES) $(max_min2_SOURCES) \
@@ -641,12 +700,15 @@ DIST_SOURCES = $(addspacedims1_SOURCES) $(affinedimension1_SOURCES) \
 	$(simplifyusingcontext1_SOURCES) $(timeelapse1_SOURCES) \
 	$(unconstrain1_SOURCES) $(universe1_SOURCES) \
 	$(upperbound1_SOURCES) $(upperboundifexact1_SOURCES) \
-	$(writeoctagon1_SOURCES)
+	$(wrap1_SOURCES) $(writeoctagon1_SOURCES)
 ETAGS = etags
 CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -693,6 +755,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -710,8 +774,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -719,6 +793,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -735,12 +810,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -783,11 +861,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -817,6 +893,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -824,6 +901,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 @VALGRIND_TESTS_ENABLED_FALSE at CHECKER = 
 @VALGRIND_TESTS_ENABLED_TRUE at CHECKER = \
 @VALGRIND_TESTS_ENABLED_TRUE@$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
@@ -896,9 +974,11 @@ containsintegerpoint1_SOURCES = containsintegerpoint1.cc
 difference1_SOURCES = difference1.cc
 discrete1_SOURCES = discrete1.cc
 disjoint1_SOURCES = disjoint1.cc
+dropsomenonintegerpoints1_SOURCES = dropsomenonintegerpoints1.cc
 empty1_SOURCES = empty1.cc
 expandspacedim1_SOURCES = expandspacedim1.cc
 foldspacedims1_SOURCES = foldspacedims1.cc
+frequency1_SOURCES = frequency1.cc
 frombdshape1_SOURCES = frombdshape1.cc
 frombox1_SOURCES = frombox1.cc
 fromgensys1_SOURCES = fromgensys1.cc
@@ -915,6 +995,7 @@ generalizedaffinepreimage1_SOURCES = generalizedaffinepreimage1.cc
 generalizedaffinepreimage2_SOURCES = generalizedaffinepreimage2.cc
 generalizedaffinepreimage3_SOURCES = generalizedaffinepreimage3.cc
 generalizedaffinepreimage4_SOURCES = generalizedaffinepreimage4.cc
+integerupperboundifexact1_SOURCES = integerupperboundifexact1.cc
 intersection1_SOURCES = intersection1.cc
 limitedbhmz05extrapolation1_SOURCES = limitedbhmz05extrapolation1.cc
 limitedcc76extrapolation1_SOURCES = limitedcc76extrapolation1.cc
@@ -935,6 +1016,7 @@ unconstrain1_SOURCES = unconstrain1.cc
 universe1_SOURCES = universe1.cc
 upperbound1_SOURCES = upperbound1.cc
 upperboundifexact1_SOURCES = upperboundifexact1.cc
+wrap1_SOURCES = wrap1.cc
 writeoctagon1_SOURCES = writeoctagon1.cc
 MOSTLYCLEANFILES = \
 ascii_dump_load1.dat
@@ -953,14 +1035,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  tests/Octagonal_Shape/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  tests/Octagonal_Shape/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/Octagonal_Shape/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign tests/Octagonal_Shape/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -978,208 +1060,223 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 clean-checkPROGRAMS:
-	@list='$(check_PROGRAMS)'; for p in $$list; do \
-	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  echo " rm -f $$p $$f"; \
-	  rm -f $$p $$f ; \
-	done
+	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
 addspacedims1$(EXEEXT): $(addspacedims1_OBJECTS) $(addspacedims1_DEPENDENCIES) 
 	@rm -f addspacedims1$(EXEEXT)
-	$(CXXLINK) $(addspacedims1_OBJECTS) $(addspacedims1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(addspacedims1_OBJECTS) $(addspacedims1_LDADD) $(LIBS)
 affinedimension1$(EXEEXT): $(affinedimension1_OBJECTS) $(affinedimension1_DEPENDENCIES) 
 	@rm -f affinedimension1$(EXEEXT)
-	$(CXXLINK) $(affinedimension1_OBJECTS) $(affinedimension1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(affinedimension1_OBJECTS) $(affinedimension1_LDADD) $(LIBS)
 affineimage1$(EXEEXT): $(affineimage1_OBJECTS) $(affineimage1_DEPENDENCIES) 
 	@rm -f affineimage1$(EXEEXT)
-	$(CXXLINK) $(affineimage1_OBJECTS) $(affineimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(affineimage1_OBJECTS) $(affineimage1_LDADD) $(LIBS)
 affineimage2$(EXEEXT): $(affineimage2_OBJECTS) $(affineimage2_DEPENDENCIES) 
 	@rm -f affineimage2$(EXEEXT)
-	$(CXXLINK) $(affineimage2_OBJECTS) $(affineimage2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(affineimage2_OBJECTS) $(affineimage2_LDADD) $(LIBS)
 affinepreimage1$(EXEEXT): $(affinepreimage1_OBJECTS) $(affinepreimage1_DEPENDENCIES) 
 	@rm -f affinepreimage1$(EXEEXT)
-	$(CXXLINK) $(affinepreimage1_OBJECTS) $(affinepreimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(affinepreimage1_OBJECTS) $(affinepreimage1_LDADD) $(LIBS)
 affinepreimage2$(EXEEXT): $(affinepreimage2_OBJECTS) $(affinepreimage2_DEPENDENCIES) 
 	@rm -f affinepreimage2$(EXEEXT)
-	$(CXXLINK) $(affinepreimage2_OBJECTS) $(affinepreimage2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(affinepreimage2_OBJECTS) $(affinepreimage2_LDADD) $(LIBS)
 ascii_dump_load1$(EXEEXT): $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_DEPENDENCIES) 
 	@rm -f ascii_dump_load1$(EXEEXT)
-	$(CXXLINK) $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_LDADD) $(LIBS)
 bhmz05widening1$(EXEEXT): $(bhmz05widening1_OBJECTS) $(bhmz05widening1_DEPENDENCIES) 
 	@rm -f bhmz05widening1$(EXEEXT)
-	$(CXXLINK) $(bhmz05widening1_OBJECTS) $(bhmz05widening1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(bhmz05widening1_OBJECTS) $(bhmz05widening1_LDADD) $(LIBS)
 bhz03widening1$(EXEEXT): $(bhz03widening1_OBJECTS) $(bhz03widening1_DEPENDENCIES) 
 	@rm -f bhz03widening1$(EXEEXT)
-	$(CXXLINK) $(bhz03widening1_OBJECTS) $(bhz03widening1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(bhz03widening1_OBJECTS) $(bhz03widening1_LDADD) $(LIBS)
 bounded1$(EXEEXT): $(bounded1_OBJECTS) $(bounded1_DEPENDENCIES) 
 	@rm -f bounded1$(EXEEXT)
-	$(CXXLINK) $(bounded1_OBJECTS) $(bounded1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(bounded1_OBJECTS) $(bounded1_LDADD) $(LIBS)
 boundedaffineimage1$(EXEEXT): $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_DEPENDENCIES) 
 	@rm -f boundedaffineimage1$(EXEEXT)
-	$(CXXLINK) $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_LDADD) $(LIBS)
 boundedaffinepreimage1$(EXEEXT): $(boundedaffinepreimage1_OBJECTS) $(boundedaffinepreimage1_DEPENDENCIES) 
 	@rm -f boundedaffinepreimage1$(EXEEXT)
-	$(CXXLINK) $(boundedaffinepreimage1_OBJECTS) $(boundedaffinepreimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(boundedaffinepreimage1_OBJECTS) $(boundedaffinepreimage1_LDADD) $(LIBS)
 bounds1$(EXEEXT): $(bounds1_OBJECTS) $(bounds1_DEPENDENCIES) 
 	@rm -f bounds1$(EXEEXT)
-	$(CXXLINK) $(bounds1_OBJECTS) $(bounds1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(bounds1_OBJECTS) $(bounds1_LDADD) $(LIBS)
 cc76extrapolation1$(EXEEXT): $(cc76extrapolation1_OBJECTS) $(cc76extrapolation1_DEPENDENCIES) 
 	@rm -f cc76extrapolation1$(EXEEXT)
-	$(CXXLINK) $(cc76extrapolation1_OBJECTS) $(cc76extrapolation1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(cc76extrapolation1_OBJECTS) $(cc76extrapolation1_LDADD) $(LIBS)
 cc76narrowing1$(EXEEXT): $(cc76narrowing1_OBJECTS) $(cc76narrowing1_DEPENDENCIES) 
 	@rm -f cc76narrowing1$(EXEEXT)
-	$(CXXLINK) $(cc76narrowing1_OBJECTS) $(cc76narrowing1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(cc76narrowing1_OBJECTS) $(cc76narrowing1_LDADD) $(LIBS)
 chinainit$(EXEEXT): $(chinainit_OBJECTS) $(chinainit_DEPENDENCIES) 
 	@rm -f chinainit$(EXEEXT)
-	$(CXXLINK) $(chinainit_OBJECTS) $(chinainit_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(chinainit_OBJECTS) $(chinainit_LDADD) $(LIBS)
 concatenate1$(EXEEXT): $(concatenate1_OBJECTS) $(concatenate1_DEPENDENCIES) 
 	@rm -f concatenate1$(EXEEXT)
-	$(CXXLINK) $(concatenate1_OBJECTS) $(concatenate1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(concatenate1_OBJECTS) $(concatenate1_LDADD) $(LIBS)
 congruences1$(EXEEXT): $(congruences1_OBJECTS) $(congruences1_DEPENDENCIES) 
 	@rm -f congruences1$(EXEEXT)
-	$(CXXLINK) $(congruences1_OBJECTS) $(congruences1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(congruences1_OBJECTS) $(congruences1_LDADD) $(LIBS)
 constrains1$(EXEEXT): $(constrains1_OBJECTS) $(constrains1_DEPENDENCIES) 
 	@rm -f constrains1$(EXEEXT)
-	$(CXXLINK) $(constrains1_OBJECTS) $(constrains1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(constrains1_OBJECTS) $(constrains1_LDADD) $(LIBS)
 constraints1$(EXEEXT): $(constraints1_OBJECTS) $(constraints1_DEPENDENCIES) 
 	@rm -f constraints1$(EXEEXT)
-	$(CXXLINK) $(constraints1_OBJECTS) $(constraints1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(constraints1_OBJECTS) $(constraints1_LDADD) $(LIBS)
 contains1$(EXEEXT): $(contains1_OBJECTS) $(contains1_DEPENDENCIES) 
 	@rm -f contains1$(EXEEXT)
-	$(CXXLINK) $(contains1_OBJECTS) $(contains1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(contains1_OBJECTS) $(contains1_LDADD) $(LIBS)
 containsintegerpoint1$(EXEEXT): $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_DEPENDENCIES) 
 	@rm -f containsintegerpoint1$(EXEEXT)
-	$(CXXLINK) $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_LDADD) $(LIBS)
 difference1$(EXEEXT): $(difference1_OBJECTS) $(difference1_DEPENDENCIES) 
 	@rm -f difference1$(EXEEXT)
-	$(CXXLINK) $(difference1_OBJECTS) $(difference1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(difference1_OBJECTS) $(difference1_LDADD) $(LIBS)
 discrete1$(EXEEXT): $(discrete1_OBJECTS) $(discrete1_DEPENDENCIES) 
 	@rm -f discrete1$(EXEEXT)
-	$(CXXLINK) $(discrete1_OBJECTS) $(discrete1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(discrete1_OBJECTS) $(discrete1_LDADD) $(LIBS)
 disjoint1$(EXEEXT): $(disjoint1_OBJECTS) $(disjoint1_DEPENDENCIES) 
 	@rm -f disjoint1$(EXEEXT)
-	$(CXXLINK) $(disjoint1_OBJECTS) $(disjoint1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(disjoint1_OBJECTS) $(disjoint1_LDADD) $(LIBS)
+dropsomenonintegerpoints1$(EXEEXT): $(dropsomenonintegerpoints1_OBJECTS) $(dropsomenonintegerpoints1_DEPENDENCIES) 
+	@rm -f dropsomenonintegerpoints1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(dropsomenonintegerpoints1_OBJECTS) $(dropsomenonintegerpoints1_LDADD) $(LIBS)
 empty1$(EXEEXT): $(empty1_OBJECTS) $(empty1_DEPENDENCIES) 
 	@rm -f empty1$(EXEEXT)
-	$(CXXLINK) $(empty1_OBJECTS) $(empty1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(empty1_OBJECTS) $(empty1_LDADD) $(LIBS)
 expandspacedim1$(EXEEXT): $(expandspacedim1_OBJECTS) $(expandspacedim1_DEPENDENCIES) 
 	@rm -f expandspacedim1$(EXEEXT)
-	$(CXXLINK) $(expandspacedim1_OBJECTS) $(expandspacedim1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(expandspacedim1_OBJECTS) $(expandspacedim1_LDADD) $(LIBS)
 foldspacedims1$(EXEEXT): $(foldspacedims1_OBJECTS) $(foldspacedims1_DEPENDENCIES) 
 	@rm -f foldspacedims1$(EXEEXT)
-	$(CXXLINK) $(foldspacedims1_OBJECTS) $(foldspacedims1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(foldspacedims1_OBJECTS) $(foldspacedims1_LDADD) $(LIBS)
+frequency1$(EXEEXT): $(frequency1_OBJECTS) $(frequency1_DEPENDENCIES) 
+	@rm -f frequency1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(frequency1_OBJECTS) $(frequency1_LDADD) $(LIBS)
 frombdshape1$(EXEEXT): $(frombdshape1_OBJECTS) $(frombdshape1_DEPENDENCIES) 
 	@rm -f frombdshape1$(EXEEXT)
-	$(CXXLINK) $(frombdshape1_OBJECTS) $(frombdshape1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(frombdshape1_OBJECTS) $(frombdshape1_LDADD) $(LIBS)
 frombox1$(EXEEXT): $(frombox1_OBJECTS) $(frombox1_DEPENDENCIES) 
 	@rm -f frombox1$(EXEEXT)
-	$(CXXLINK) $(frombox1_OBJECTS) $(frombox1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(frombox1_OBJECTS) $(frombox1_LDADD) $(LIBS)
 fromgensys1$(EXEEXT): $(fromgensys1_OBJECTS) $(fromgensys1_DEPENDENCIES) 
 	@rm -f fromgensys1$(EXEEXT)
-	$(CXXLINK) $(fromgensys1_OBJECTS) $(fromgensys1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(fromgensys1_OBJECTS) $(fromgensys1_LDADD) $(LIBS)
 fromgrid1$(EXEEXT): $(fromgrid1_OBJECTS) $(fromgrid1_DEPENDENCIES) 
 	@rm -f fromgrid1$(EXEEXT)
-	$(CXXLINK) $(fromgrid1_OBJECTS) $(fromgrid1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(fromgrid1_OBJECTS) $(fromgrid1_LDADD) $(LIBS)
 fromoctagonalshape1$(EXEEXT): $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_DEPENDENCIES) 
 	@rm -f fromoctagonalshape1$(EXEEXT)
-	$(CXXLINK) $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_LDADD) $(LIBS)
 frompolyhedron1$(EXEEXT): $(frompolyhedron1_OBJECTS) $(frompolyhedron1_DEPENDENCIES) 
 	@rm -f frompolyhedron1$(EXEEXT)
-	$(CXXLINK) $(frompolyhedron1_OBJECTS) $(frompolyhedron1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(frompolyhedron1_OBJECTS) $(frompolyhedron1_LDADD) $(LIBS)
 fromspacedim1$(EXEEXT): $(fromspacedim1_OBJECTS) $(fromspacedim1_DEPENDENCIES) 
 	@rm -f fromspacedim1$(EXEEXT)
-	$(CXXLINK) $(fromspacedim1_OBJECTS) $(fromspacedim1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(fromspacedim1_OBJECTS) $(fromspacedim1_LDADD) $(LIBS)
 generalizedaffineimage1$(EXEEXT): $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_DEPENDENCIES) 
 	@rm -f generalizedaffineimage1$(EXEEXT)
-	$(CXXLINK) $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_LDADD) $(LIBS)
 generalizedaffineimage2$(EXEEXT): $(generalizedaffineimage2_OBJECTS) $(generalizedaffineimage2_DEPENDENCIES) 
 	@rm -f generalizedaffineimage2$(EXEEXT)
-	$(CXXLINK) $(generalizedaffineimage2_OBJECTS) $(generalizedaffineimage2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffineimage2_OBJECTS) $(generalizedaffineimage2_LDADD) $(LIBS)
 generalizedaffineimage3$(EXEEXT): $(generalizedaffineimage3_OBJECTS) $(generalizedaffineimage3_DEPENDENCIES) 
 	@rm -f generalizedaffineimage3$(EXEEXT)
-	$(CXXLINK) $(generalizedaffineimage3_OBJECTS) $(generalizedaffineimage3_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffineimage3_OBJECTS) $(generalizedaffineimage3_LDADD) $(LIBS)
 generalizedaffineimage4$(EXEEXT): $(generalizedaffineimage4_OBJECTS) $(generalizedaffineimage4_DEPENDENCIES) 
 	@rm -f generalizedaffineimage4$(EXEEXT)
-	$(CXXLINK) $(generalizedaffineimage4_OBJECTS) $(generalizedaffineimage4_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffineimage4_OBJECTS) $(generalizedaffineimage4_LDADD) $(LIBS)
 generalizedaffineimage5$(EXEEXT): $(generalizedaffineimage5_OBJECTS) $(generalizedaffineimage5_DEPENDENCIES) 
 	@rm -f generalizedaffineimage5$(EXEEXT)
-	$(CXXLINK) $(generalizedaffineimage5_OBJECTS) $(generalizedaffineimage5_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffineimage5_OBJECTS) $(generalizedaffineimage5_LDADD) $(LIBS)
 generalizedaffinepreimage1$(EXEEXT): $(generalizedaffinepreimage1_OBJECTS) $(generalizedaffinepreimage1_DEPENDENCIES) 
 	@rm -f generalizedaffinepreimage1$(EXEEXT)
-	$(CXXLINK) $(generalizedaffinepreimage1_OBJECTS) $(generalizedaffinepreimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffinepreimage1_OBJECTS) $(generalizedaffinepreimage1_LDADD) $(LIBS)
 generalizedaffinepreimage2$(EXEEXT): $(generalizedaffinepreimage2_OBJECTS) $(generalizedaffinepreimage2_DEPENDENCIES) 
 	@rm -f generalizedaffinepreimage2$(EXEEXT)
-	$(CXXLINK) $(generalizedaffinepreimage2_OBJECTS) $(generalizedaffinepreimage2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffinepreimage2_OBJECTS) $(generalizedaffinepreimage2_LDADD) $(LIBS)
 generalizedaffinepreimage3$(EXEEXT): $(generalizedaffinepreimage3_OBJECTS) $(generalizedaffinepreimage3_DEPENDENCIES) 
 	@rm -f generalizedaffinepreimage3$(EXEEXT)
-	$(CXXLINK) $(generalizedaffinepreimage3_OBJECTS) $(generalizedaffinepreimage3_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffinepreimage3_OBJECTS) $(generalizedaffinepreimage3_LDADD) $(LIBS)
 generalizedaffinepreimage4$(EXEEXT): $(generalizedaffinepreimage4_OBJECTS) $(generalizedaffinepreimage4_DEPENDENCIES) 
 	@rm -f generalizedaffinepreimage4$(EXEEXT)
-	$(CXXLINK) $(generalizedaffinepreimage4_OBJECTS) $(generalizedaffinepreimage4_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffinepreimage4_OBJECTS) $(generalizedaffinepreimage4_LDADD) $(LIBS)
+integerupperboundifexact1$(EXEEXT): $(integerupperboundifexact1_OBJECTS) $(integerupperboundifexact1_DEPENDENCIES) 
+	@rm -f integerupperboundifexact1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(integerupperboundifexact1_OBJECTS) $(integerupperboundifexact1_LDADD) $(LIBS)
 intersection1$(EXEEXT): $(intersection1_OBJECTS) $(intersection1_DEPENDENCIES) 
 	@rm -f intersection1$(EXEEXT)
-	$(CXXLINK) $(intersection1_OBJECTS) $(intersection1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(intersection1_OBJECTS) $(intersection1_LDADD) $(LIBS)
 limitedbhmz05extrapolation1$(EXEEXT): $(limitedbhmz05extrapolation1_OBJECTS) $(limitedbhmz05extrapolation1_DEPENDENCIES) 
 	@rm -f limitedbhmz05extrapolation1$(EXEEXT)
-	$(CXXLINK) $(limitedbhmz05extrapolation1_OBJECTS) $(limitedbhmz05extrapolation1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(limitedbhmz05extrapolation1_OBJECTS) $(limitedbhmz05extrapolation1_LDADD) $(LIBS)
 limitedcc76extrapolation1$(EXEEXT): $(limitedcc76extrapolation1_OBJECTS) $(limitedcc76extrapolation1_DEPENDENCIES) 
 	@rm -f limitedcc76extrapolation1$(EXEEXT)
-	$(CXXLINK) $(limitedcc76extrapolation1_OBJECTS) $(limitedcc76extrapolation1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(limitedcc76extrapolation1_OBJECTS) $(limitedcc76extrapolation1_LDADD) $(LIBS)
 mapspacedims1$(EXEEXT): $(mapspacedims1_OBJECTS) $(mapspacedims1_DEPENDENCIES) 
 	@rm -f mapspacedims1$(EXEEXT)
-	$(CXXLINK) $(mapspacedims1_OBJECTS) $(mapspacedims1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(mapspacedims1_OBJECTS) $(mapspacedims1_LDADD) $(LIBS)
 max_min1$(EXEEXT): $(max_min1_OBJECTS) $(max_min1_DEPENDENCIES) 
 	@rm -f max_min1$(EXEEXT)
-	$(CXXLINK) $(max_min1_OBJECTS) $(max_min1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(max_min1_OBJECTS) $(max_min1_LDADD) $(LIBS)
 max_min2$(EXEEXT): $(max_min2_OBJECTS) $(max_min2_DEPENDENCIES) 
 	@rm -f max_min2$(EXEEXT)
-	$(CXXLINK) $(max_min2_OBJECTS) $(max_min2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(max_min2_OBJECTS) $(max_min2_LDADD) $(LIBS)
 maxspacedim1$(EXEEXT): $(maxspacedim1_OBJECTS) $(maxspacedim1_DEPENDENCIES) 
 	@rm -f maxspacedim1$(EXEEXT)
-	$(CXXLINK) $(maxspacedim1_OBJECTS) $(maxspacedim1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(maxspacedim1_OBJECTS) $(maxspacedim1_LDADD) $(LIBS)
 membytes1$(EXEEXT): $(membytes1_OBJECTS) $(membytes1_DEPENDENCIES) 
 	@rm -f membytes1$(EXEEXT)
-	$(CXXLINK) $(membytes1_OBJECTS) $(membytes1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(membytes1_OBJECTS) $(membytes1_LDADD) $(LIBS)
 minconstraints1$(EXEEXT): $(minconstraints1_OBJECTS) $(minconstraints1_DEPENDENCIES) 
 	@rm -f minconstraints1$(EXEEXT)
-	$(CXXLINK) $(minconstraints1_OBJECTS) $(minconstraints1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(minconstraints1_OBJECTS) $(minconstraints1_LDADD) $(LIBS)
 relatwithcons1$(EXEEXT): $(relatwithcons1_OBJECTS) $(relatwithcons1_DEPENDENCIES) 
 	@rm -f relatwithcons1$(EXEEXT)
-	$(CXXLINK) $(relatwithcons1_OBJECTS) $(relatwithcons1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(relatwithcons1_OBJECTS) $(relatwithcons1_LDADD) $(LIBS)
 relatwithcons2$(EXEEXT): $(relatwithcons2_OBJECTS) $(relatwithcons2_DEPENDENCIES) 
 	@rm -f relatwithcons2$(EXEEXT)
-	$(CXXLINK) $(relatwithcons2_OBJECTS) $(relatwithcons2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(relatwithcons2_OBJECTS) $(relatwithcons2_LDADD) $(LIBS)
 relatwithcons3$(EXEEXT): $(relatwithcons3_OBJECTS) $(relatwithcons3_DEPENDENCIES) 
 	@rm -f relatwithcons3$(EXEEXT)
-	$(CXXLINK) $(relatwithcons3_OBJECTS) $(relatwithcons3_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(relatwithcons3_OBJECTS) $(relatwithcons3_LDADD) $(LIBS)
 relatwithgen1$(EXEEXT): $(relatwithgen1_OBJECTS) $(relatwithgen1_DEPENDENCIES) 
 	@rm -f relatwithgen1$(EXEEXT)
-	$(CXXLINK) $(relatwithgen1_OBJECTS) $(relatwithgen1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(relatwithgen1_OBJECTS) $(relatwithgen1_LDADD) $(LIBS)
 removespacedims1$(EXEEXT): $(removespacedims1_OBJECTS) $(removespacedims1_DEPENDENCIES) 
 	@rm -f removespacedims1$(EXEEXT)
-	$(CXXLINK) $(removespacedims1_OBJECTS) $(removespacedims1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(removespacedims1_OBJECTS) $(removespacedims1_LDADD) $(LIBS)
 simplifyusingcontext1$(EXEEXT): $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_DEPENDENCIES) 
 	@rm -f simplifyusingcontext1$(EXEEXT)
-	$(CXXLINK) $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_LDADD) $(LIBS)
 timeelapse1$(EXEEXT): $(timeelapse1_OBJECTS) $(timeelapse1_DEPENDENCIES) 
 	@rm -f timeelapse1$(EXEEXT)
-	$(CXXLINK) $(timeelapse1_OBJECTS) $(timeelapse1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(timeelapse1_OBJECTS) $(timeelapse1_LDADD) $(LIBS)
 unconstrain1$(EXEEXT): $(unconstrain1_OBJECTS) $(unconstrain1_DEPENDENCIES) 
 	@rm -f unconstrain1$(EXEEXT)
-	$(CXXLINK) $(unconstrain1_OBJECTS) $(unconstrain1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(unconstrain1_OBJECTS) $(unconstrain1_LDADD) $(LIBS)
 universe1$(EXEEXT): $(universe1_OBJECTS) $(universe1_DEPENDENCIES) 
 	@rm -f universe1$(EXEEXT)
-	$(CXXLINK) $(universe1_OBJECTS) $(universe1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(universe1_OBJECTS) $(universe1_LDADD) $(LIBS)
 upperbound1$(EXEEXT): $(upperbound1_OBJECTS) $(upperbound1_DEPENDENCIES) 
 	@rm -f upperbound1$(EXEEXT)
-	$(CXXLINK) $(upperbound1_OBJECTS) $(upperbound1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(upperbound1_OBJECTS) $(upperbound1_LDADD) $(LIBS)
 upperboundifexact1$(EXEEXT): $(upperboundifexact1_OBJECTS) $(upperboundifexact1_DEPENDENCIES) 
 	@rm -f upperboundifexact1$(EXEEXT)
-	$(CXXLINK) $(upperboundifexact1_OBJECTS) $(upperboundifexact1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(upperboundifexact1_OBJECTS) $(upperboundifexact1_LDADD) $(LIBS)
+wrap1$(EXEEXT): $(wrap1_OBJECTS) $(wrap1_DEPENDENCIES) 
+	@rm -f wrap1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(wrap1_OBJECTS) $(wrap1_LDADD) $(LIBS)
 writeoctagon1$(EXEEXT): $(writeoctagon1_OBJECTS) $(writeoctagon1_DEPENDENCIES) 
 	@rm -f writeoctagon1$(EXEEXT)
-	$(CXXLINK) $(writeoctagon1_OBJECTS) $(writeoctagon1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(writeoctagon1_OBJECTS) $(writeoctagon1_LDADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -1212,9 +1309,11 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/difference1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/discrete1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/disjoint1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dropsomenonintegerpoints1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/empty1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/expandspacedim1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/foldspacedims1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/frequency1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/frombdshape1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/frombox1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fromgensys1.Po at am__quote@
@@ -1231,6 +1330,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/generalizedaffinepreimage2.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/generalizedaffinepreimage3.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/generalizedaffinepreimage4.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/integerupperboundifexact1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/intersection1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/limitedbhmz05extrapolation1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/limitedcc76extrapolation1.Po at am__quote@
@@ -1251,25 +1351,29 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/universe1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/upperbound1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/upperboundifexact1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/wrap1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/writeoctagon1.Po at am__quote@
 
 .cc.o:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
- at am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
@@ -1285,14 +1389,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
@@ -1300,37 +1404,43 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
 check-TESTS: $(TESTS)
-	@failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[	 ]'; \
+	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
 	srcdir=$(srcdir); export srcdir; \
 	list=' $(TESTS) '; \
+	$(am__tty_colors); \
 	if test -n "$$list"; then \
 	  for tst in $$list; do \
 	    if test -f ./$$tst; then dir=./; \
@@ -1339,49 +1449,63 @@ check-TESTS: $(TESTS)
 	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
 	      all=`expr $$all + 1`; \
 	      case " $(XFAIL_TESTS) " in \
-	      *$$ws$$tst$$ws*) \
+	      *[\ \	]$$tst[\ \	]*) \
 		xpass=`expr $$xpass + 1`; \
 		failed=`expr $$failed + 1`; \
-		echo "XPASS: $$tst"; \
+		col=$$red; res=XPASS; \
 	      ;; \
 	      *) \
-		echo "PASS: $$tst"; \
+		col=$$grn; res=PASS; \
 	      ;; \
 	      esac; \
 	    elif test $$? -ne 77; then \
 	      all=`expr $$all + 1`; \
 	      case " $(XFAIL_TESTS) " in \
-	      *$$ws$$tst$$ws*) \
+	      *[\ \	]$$tst[\ \	]*) \
 		xfail=`expr $$xfail + 1`; \
-		echo "XFAIL: $$tst"; \
+		col=$$lgn; res=XFAIL; \
 	      ;; \
 	      *) \
 		failed=`expr $$failed + 1`; \
-		echo "FAIL: $$tst"; \
+		col=$$red; res=FAIL; \
 	      ;; \
 	      esac; \
 	    else \
 	      skip=`expr $$skip + 1`; \
-	      echo "SKIP: $$tst"; \
+	      col=$$blu; res=SKIP; \
 	    fi; \
+	    echo "$${col}$$res$${std}: $$tst"; \
 	  done; \
+	  if test "$$all" -eq 1; then \
+	    tests="test"; \
+	    All=""; \
+	  else \
+	    tests="tests"; \
+	    All="All "; \
+	  fi; \
 	  if test "$$failed" -eq 0; then \
 	    if test "$$xfail" -eq 0; then \
-	      banner="All $$all tests passed"; \
+	      banner="$$All$$all $$tests passed"; \
 	    else \
-	      banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
+	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
 	    fi; \
 	  else \
 	    if test "$$xpass" -eq 0; then \
-	      banner="$$failed of $$all tests failed"; \
+	      banner="$$failed of $$all $$tests failed"; \
 	    else \
-	      banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
+	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
 	    fi; \
 	  fi; \
 	  dashes="$$banner"; \
 	  skipped=""; \
 	  if test "$$skip" -ne 0; then \
-	    skipped="($$skip tests were not run)"; \
+	    if test "$$skip" -eq 1; then \
+	      skipped="($$skip test was not run)"; \
+	    else \
+	      skipped="($$skip tests were not run)"; \
+	    fi; \
 	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
 	      dashes="$$skipped"; \
 	  fi; \
@@ -1392,11 +1516,15 @@ check-TESTS: $(TESTS)
 	      dashes="$$report"; \
 	  fi; \
 	  dashes=`echo "$$dashes" | sed s/./=/g`; \
-	  echo "$$dashes"; \
+	  if test "$$failed" -eq 0; then \
+	    echo "$$grn$$dashes"; \
+	  else \
+	    echo "$$red$$dashes"; \
+	  fi; \
 	  echo "$$banner"; \
 	  test -z "$$skipped" || echo "$$skipped"; \
 	  test -z "$$report" || echo "$$report"; \
-	  echo "$$dashes"; \
+	  echo "$$dashes$$std"; \
 	  test "$$failed" -eq 0; \
 	else :; fi
 
@@ -1416,13 +1544,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -1455,6 +1587,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 	-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
 
 maintainer-clean-generic:
@@ -1477,6 +1610,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -1485,18 +1620,28 @@ install-data-am:
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am:
 
 install-html: install-html-am
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-am
 
+install-pdf-am:
+
 install-ps: install-ps-am
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -1519,7 +1664,7 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: install-am install-strip
+.MAKE: check-am install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
 	clean-checkPROGRAMS clean-generic clean-libtool ctags \
@@ -1556,6 +1701,7 @@ $(top_builddir)/tests/libppl_tests.a:
 
 $(top_builddir)/src/libppl.la:
 	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libppl.la
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/tests/Octagonal_Shape/addspacedims1.cc b/tests/Octagonal_Shape/addspacedims1.cc
index 769e667..f5f18b1 100644
--- a/tests/Octagonal_Shape/addspacedims1.cc
+++ b/tests/Octagonal_Shape/addspacedims1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::add_space_dimensions_and_embed() and
    Octagonal_Shape::add_space_dimensions_and_project().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/affinedimension1.cc b/tests/Octagonal_Shape/affinedimension1.cc
index 8baf253..c4751d3 100644
--- a/tests/Octagonal_Shape/affinedimension1.cc
+++ b/tests/Octagonal_Shape/affinedimension1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::affine_dimension().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/affineimage1.cc b/tests/Octagonal_Shape/affineimage1.cc
index 4d3cf65..dba2a25 100644
--- a/tests/Octagonal_Shape/affineimage1.cc
+++ b/tests/Octagonal_Shape/affineimage1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::affine_image().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/affineimage2.cc b/tests/Octagonal_Shape/affineimage2.cc
index 1e39bd1..3893a91 100644
--- a/tests/Octagonal_Shape/affineimage2.cc
+++ b/tests/Octagonal_Shape/affineimage2.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::affine_image().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/affinepreimage1.cc b/tests/Octagonal_Shape/affinepreimage1.cc
index c21cf4e..a4b909e 100644
--- a/tests/Octagonal_Shape/affinepreimage1.cc
+++ b/tests/Octagonal_Shape/affinepreimage1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::affine_preimage().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/affinepreimage2.cc b/tests/Octagonal_Shape/affinepreimage2.cc
index 31220e5..a28a6e3 100644
--- a/tests/Octagonal_Shape/affinepreimage2.cc
+++ b/tests/Octagonal_Shape/affinepreimage2.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::affine_preimage().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/ascii_dump_load1.cc b/tests/Octagonal_Shape/ascii_dump_load1.cc
index ade4320..d73e00b 100644
--- a/tests/Octagonal_Shape/ascii_dump_load1.cc
+++ b/tests/Octagonal_Shape/ascii_dump_load1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::ascii_dump() and Octagonal_Shape::ascii_load().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/bhmz05widening1.cc b/tests/Octagonal_Shape/bhmz05widening1.cc
index d91e066..400617d 100644
--- a/tests/Octagonal_Shape/bhmz05widening1.cc
+++ b/tests/Octagonal_Shape/bhmz05widening1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::BHMZ05_widening_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/bhz03widening1.cc b/tests/Octagonal_Shape/bhz03widening1.cc
index 23f7ba7..90a8715 100644
--- a/tests/Octagonal_Shape/bhz03widening1.cc
+++ b/tests/Octagonal_Shape/bhz03widening1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::BHZ03_widening_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/bounded1.cc b/tests/Octagonal_Shape/bounded1.cc
index 1446f78..5915b4e 100644
--- a/tests/Octagonal_Shape/bounded1.cc
+++ b/tests/Octagonal_Shape/bounded1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::is_bounded().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/boundedaffineimage1.cc b/tests/Octagonal_Shape/boundedaffineimage1.cc
index 5052e61..8133a45 100644
--- a/tests/Octagonal_Shape/boundedaffineimage1.cc
+++ b/tests/Octagonal_Shape/boundedaffineimage1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::bounded_affine_image().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/boundedaffinepreimage1.cc b/tests/Octagonal_Shape/boundedaffinepreimage1.cc
index 931a4e7..7c75dbd 100644
--- a/tests/Octagonal_Shape/boundedaffinepreimage1.cc
+++ b/tests/Octagonal_Shape/boundedaffinepreimage1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::bounded_affine_preimage().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/bounds1.cc b/tests/Octagonal_Shape/bounds1.cc
index bd26a6d..004f46b 100644
--- a/tests/Octagonal_Shape/bounds1.cc
+++ b/tests/Octagonal_Shape/bounds1.cc
@@ -1,6 +1,6 @@
 /* Test OctagonalShape::bounds_from_below() and
    Octagonal_Shape::bounds_from_above().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/cc76extrapolation1.cc b/tests/Octagonal_Shape/cc76extrapolation1.cc
index 12dd772..3c5c42e 100644
--- a/tests/Octagonal_Shape/cc76extrapolation1.cc
+++ b/tests/Octagonal_Shape/cc76extrapolation1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::CC76_extrapolation_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/cc76narrowing1.cc b/tests/Octagonal_Shape/cc76narrowing1.cc
index e6ceb63..e291b85 100644
--- a/tests/Octagonal_Shape/cc76narrowing1.cc
+++ b/tests/Octagonal_Shape/cc76narrowing1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::CC76_narrowing_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/chinainit.cc b/tests/Octagonal_Shape/chinainit.cc
index 288e28d..36c88f9 100644
--- a/tests/Octagonal_Shape/chinainit.cc
+++ b/tests/Octagonal_Shape/chinainit.cc
@@ -1,5 +1,5 @@
 /* Simulate the initialization phase of the China analyzer.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/concatenate1.cc b/tests/Octagonal_Shape/concatenate1.cc
index ef298ce..f839b37 100644
--- a/tests/Octagonal_Shape/concatenate1.cc
+++ b/tests/Octagonal_Shape/concatenate1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::concatenate_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/congruences1.cc b/tests/Octagonal_Shape/congruences1.cc
index 9897a7a..c4e24c2 100644
--- a/tests/Octagonal_Shape/congruences1.cc
+++ b/tests/Octagonal_Shape/congruences1.cc
@@ -1,7 +1,7 @@
 /* Test Octagonal_Shape::congruences(): we compute the system of
    congruences of an octagon  that is defined by a system of
    congruences that contains only a trivially false congruence.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -135,7 +135,6 @@ test05() {
   return ok;
 }
 
-// CHECKME: is this a duplicate of test03? (was testing *_and_minimize)
 bool
 test06() {
   Variable x(0);
@@ -143,53 +142,6 @@ test06() {
   Variable z(2);
 
   TOctagonal_Shape oct1(3);
-  oct1.add_congruence((x %= 1) / 0);
-  bool b1 = !oct1.is_empty();
-
-  print_constraints(oct1, "*** oct1 ***");
-
-  Octagonal_Shape<mpq_class> known_result(oct1);
-
-  Congruence_System cgs = oct1.congruences();
-  TOctagonal_Shape oct2(3);
-  oct2.add_congruences(cgs);
-  bool b2 = !oct2.is_empty();
-
-  bool ok = b1 && b2 && (Octagonal_Shape<mpq_class>(oct2) == known_result);
-
-  print_constraints(oct2, "*** oct2 ***");
-
-  return ok;
-}
-
-// CHECKME: is this a duplicate of test02? (was testing *_and_minimize)
-bool
-test07() {
-  TOctagonal_Shape oct1(0, EMPTY);
-
-  print_constraints(oct1, "*** oct1 ***");
-
-  Octagonal_Shape<mpq_class> known_result(oct1);
-
-  Congruence_System cgs = oct1.congruences();
-  TOctagonal_Shape oct2(cgs.space_dimension(), EMPTY);
-  oct2.add_congruences(cgs);
-  bool b = !oct2.is_empty();
-
-  bool ok = !b && (Octagonal_Shape<mpq_class>(oct2) == known_result);
-
-  print_congruences(cgs, "*** cgs ***");
-
-  return ok;
-}
-
-bool
-test08() {
-  Variable x(0);
-  Variable y(1);
-  Variable z(2);
-
-  TOctagonal_Shape oct1(3);
   oct1.refine_with_congruence((x %= 1) / 0);
   oct1.refine_with_congruence((y %= 3) / 2);
   oct1.refine_with_congruence((y + z %= 0) / 3);
@@ -210,7 +162,7 @@ test08() {
 }
 
 bool
-test09() {
+test07() {
   Variable x(0);
   Variable y(1);
 
@@ -243,7 +195,5 @@ BEGIN_MAIN
   DO_TEST(test05);
   DO_TEST(test06);
   DO_TEST(test07);
-  DO_TEST(test08);
-  DO_TEST(test09);
 END_MAIN
 
diff --git a/tests/Octagonal_Shape/constrains1.cc b/tests/Octagonal_Shape/constrains1.cc
index 8eff3cc..565afc9 100644
--- a/tests/Octagonal_Shape/constrains1.cc
+++ b/tests/Octagonal_Shape/constrains1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::constrains().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/constraints1.cc b/tests/Octagonal_Shape/constraints1.cc
index d3f5e65..5cf5dd3 100644
--- a/tests/Octagonal_Shape/constraints1.cc
+++ b/tests/Octagonal_Shape/constraints1.cc
@@ -1,7 +1,7 @@
 /* Test Octagonal_Shape::constraints(): we compute the system of
    constraints of an octagon  that is defined by a system of
    constraints that contains only a trivially false constraint.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/contains1.cc b/tests/Octagonal_Shape/contains1.cc
index 2f93dd3..2db6118 100644
--- a/tests/Octagonal_Shape/contains1.cc
+++ b/tests/Octagonal_Shape/contains1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::contains().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/containsintegerpoint1.cc b/tests/Octagonal_Shape/containsintegerpoint1.cc
index a8c6bdd..c38464b 100644
--- a/tests/Octagonal_Shape/containsintegerpoint1.cc
+++ b/tests/Octagonal_Shape/containsintegerpoint1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::contains_integer_point().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -97,7 +97,7 @@ test03() {
   // NOTE: results depends on whether or not the rational constraints
   // on y have been approximated as integral constraints.
   typedef TOctagonal_Shape::coefficient_type_base T;
-  return (std::numeric_limits<T>::is_integer ? contains : !contains);
+  return std::numeric_limits<T>::is_integer ? contains : !contains;
 }
 
 bool
diff --git a/tests/Octagonal_Shape/difference1.cc b/tests/Octagonal_Shape/difference1.cc
index bce8453..65e52f2 100644
--- a/tests/Octagonal_Shape/difference1.cc
+++ b/tests/Octagonal_Shape/difference1.cc
@@ -1,7 +1,7 @@
 /* Test Octagonal_Shape::difference_assign(): if `oct1' is
    contained in `oct2', the result of `oct1.difference_assign(oct2)'
    is an empty octagon.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/discrete1.cc b/tests/Octagonal_Shape/discrete1.cc
index 62b9e50..01f97bd 100644
--- a/tests/Octagonal_Shape/discrete1.cc
+++ b/tests/Octagonal_Shape/discrete1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::is_discrete().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/disjoint1.cc b/tests/Octagonal_Shape/disjoint1.cc
index 4535d0d..953c1f9 100644
--- a/tests/Octagonal_Shape/disjoint1.cc
+++ b/tests/Octagonal_Shape/disjoint1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::is_disjoint_from(const Octagonal_Shape& y).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/dropsomenonintegerpoints1.cc b/tests/Octagonal_Shape/dropsomenonintegerpoints1.cc
new file mode 100644
index 0000000..588c858
--- /dev/null
+++ b/tests/Octagonal_Shape/dropsomenonintegerpoints1.cc
@@ -0,0 +1,357 @@
+/* Test Octagonal_Shape::drop_some_non_integer_points().
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+namespace {
+
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+
+  Octagonal_Shape<mpq_class> os(2);
+
+  os.add_constraint(2*A >= 1);
+  os.add_constraint(2*B >= -1);
+  os.add_constraint(2*A - 2*B >= 1);
+  os.add_constraint(4*A + 4*B >= 1);
+
+  print_constraints(os, "*** os ***");
+
+  os.drop_some_non_integer_points();
+
+  Octagonal_Shape<mpq_class> known_result(2);
+  known_result.add_constraint(A >= 1);
+  known_result.add_constraint(B >= 0);
+  known_result.add_constraint(A - B >= 1);
+  known_result.add_constraint(A + B >= 1);
+
+  bool ok = (os == known_result);
+
+  print_constraints(os, "*** after os.drop_some_non_integer_points() ***");
+
+  return ok;
+}
+
+bool
+test02() {
+  Octagonal_Shape<mpq_class> os1;
+  Octagonal_Shape<mpq_class> os2(0, EMPTY);
+  Octagonal_Shape<mpq_class> os3(2, EMPTY);
+  Octagonal_Shape<mpq_class> os4(2);
+
+  print_constraints(os1, "*** os1 ***");
+  print_constraints(os2, "*** os2 ***");
+
+  Octagonal_Shape<mpq_class> known_result1(os1);
+  Octagonal_Shape<mpq_class> known_result2(os2);
+  Octagonal_Shape<mpq_class> known_result3(os3);
+  Octagonal_Shape<mpq_class> known_result4(os4);
+
+  os1.drop_some_non_integer_points();
+  os2.drop_some_non_integer_points();
+  os3.drop_some_non_integer_points();
+  os4.drop_some_non_integer_points();
+
+  bool ok = (os1 == known_result1 && os2 == known_result2
+             && os3 == known_result3 && os4 == known_result4);
+
+  print_constraints(os1, "*** after os1.drop_some_non_integer_points() ***");
+  print_constraints(os2, "*** after os2.drop_some_non_integer_points() ***");
+
+  return ok;
+}
+
+bool
+test03() {
+  Variable A(0);
+  Variable B(1);
+
+  Octagonal_Shape<mpq_class> os(2);
+  os.add_constraint(A - B == 0);
+  os.add_constraint(A >= 0);
+
+  Octagonal_Shape<mpq_class> known_result(os);
+
+  print_constraints(os, "*** os ***");
+
+  os.drop_some_non_integer_points();
+
+  bool ok = (os == known_result);
+
+  print_constraints(os, "*** after os.drop_some_non_integer_points() ***");
+
+  return ok;
+}
+
+bool
+test04() {
+  Variable A(0);
+  Variable B(1);
+
+  Octagonal_Shape<mpq_class> os(2);
+  os.add_constraint(A >= 0);
+  os.add_constraint(A == B);
+
+  print_constraints(os, "*** os ***");
+
+  os.drop_some_non_integer_points();
+
+  Octagonal_Shape<mpq_class> known_result(2);
+  known_result.add_constraint(A >= 0);
+  known_result.add_constraint(A == B);
+
+  bool ok = (os == known_result);
+
+  print_constraints(os, "*** after os.drop_some_non_integer_points() ***");
+
+  return ok;
+}
+
+bool
+test05() {
+  Variable A(0);
+  Variable B(1);
+
+  Octagonal_Shape<mpq_class> os(2);
+  os.add_constraint(2*A == 1);
+
+  print_constraints(os, "*** os ***");
+
+  os.drop_some_non_integer_points();
+
+  Octagonal_Shape<mpq_class> known_result(2, EMPTY);
+
+  bool ok = (os == known_result);
+
+  print_constraints(os, "*** after os.drop_some_non_integer_points() ***");
+
+  return ok;
+}
+
+bool
+test06() {
+  Variable A(0);
+  Variable B(1);
+
+  Octagonal_Shape<mpq_class> os(2);
+  os.add_constraint(2*A <= 1);
+  os.add_constraint(2*B <= -1);
+  os.add_constraint(4*A - 4*B <= 7);
+
+  print_constraints(os, "*** os ***");
+
+  os.drop_some_non_integer_points();
+
+  Octagonal_Shape<mpq_class> known_result(2);
+  known_result.add_constraint(A <= 0);
+  known_result.add_constraint(B <= -1);
+  known_result.add_constraint(A - B <= 1);
+
+  bool ok = (os == known_result);
+
+  print_constraints(os, "*** after os.drop_some_non_integer_points() ***");
+
+  return ok;
+}
+
+bool
+test07() {
+  Variable A(0);
+  Variable B(1);
+  Variables_Set varset_A;
+  varset_A.insert(A);
+
+  Octagonal_Shape<mpq_class> os(2);
+
+  os.add_constraint(2*A >= 1);
+  os.add_constraint(2*B >= -1);
+  os.add_constraint(2*A - 2*B >= 1);
+
+  print_constraints(os, "*** os ***");
+
+  os.drop_some_non_integer_points(varset_A);
+
+  Octagonal_Shape<mpq_class> known_result(2);
+  known_result.add_constraint(A >= 1);
+  known_result.add_constraint(2*B >= -1);
+  known_result.add_constraint(2*A - 2*B >= 1);
+
+  bool ok = (os == known_result);
+
+  print_constraints(os,
+                    "*** after os.drop_some_non_integer_points(varset_A) ***");
+
+  return ok;
+}
+
+bool
+test08() {
+  Variable A(0);
+  Variables_Set varset_A;
+  varset_A.insert(A);
+
+  Octagonal_Shape<mpq_class> os1(2, EMPTY);
+  Octagonal_Shape<mpq_class> os2(2);
+
+  print_constraints(os1, "*** os1 ***");
+  print_constraints(os2, "*** os2 ***");
+
+  Octagonal_Shape<mpq_class> known_result1(os1);
+  Octagonal_Shape<mpq_class> known_result2(os2);
+
+  os1.drop_some_non_integer_points(varset_A);
+  os2.drop_some_non_integer_points(varset_A);
+
+  bool ok = (os1 == known_result1 && os2 == known_result2);
+
+  print_constraints(os1,
+                    "*** after os1.drop_some_non_integer_points(varset_A) ***");
+  print_constraints(os2,
+                    "*** after os2.drop_some_non_integer_points(varset_A) ***");
+
+  return ok;
+}
+
+bool
+test09() {
+  Variable A(0);
+  Variable B(1);
+  Variables_Set varset_A;
+  varset_A.insert(A);
+
+  Octagonal_Shape<mpq_class> os(2);
+  os.add_constraint(2*A - 2*B == 1);
+  os.add_constraint(A >= 0);
+
+  Octagonal_Shape<mpq_class> known_result(os);
+
+  print_constraints(os, "*** os ***");
+
+  os.drop_some_non_integer_points(varset_A);
+
+  bool ok = (os == known_result);
+
+  print_constraints(os,
+                    "*** after os.drop_some_non_integer_points(varset_A) ***");
+
+  return ok;
+}
+
+bool
+test10() {
+  Variable A(0);
+  Variable B(1);
+  Variables_Set varset_A;
+  varset_A.insert(A);
+
+  Octagonal_Shape<mpq_class> os(2);
+  os.add_constraint(A >= 0);
+  os.add_constraint(A == B);
+
+  print_constraints(os, "*** os ***");
+
+  os.drop_some_non_integer_points(varset_A);
+
+  Octagonal_Shape<mpq_class> known_result(2);
+  known_result.add_constraint(A >= 0);
+  known_result.add_constraint(A == B);
+
+  bool ok = (os == known_result);
+
+  print_constraints(os,
+                    "*** after os.drop_some_non_integer_points(varset_A) ***");
+
+  return ok;
+}
+
+bool
+test11() {
+  Variable A(0);
+  Variable B(1);
+  Variables_Set varset_B;
+  varset_B.insert(B);
+
+  Octagonal_Shape<mpq_class> os(2);
+  os.add_constraint(2*A == 1);
+
+  print_constraints(os, "*** os ***");
+
+  os.drop_some_non_integer_points(varset_B);
+
+  Octagonal_Shape<mpq_class> known_result(2);
+  known_result.add_constraint(2*A == 1);
+
+  bool ok = (os == known_result);
+
+  print_constraints(os,
+                    "*** after os.drop_some_non_integer_points(varset_B) ***");
+
+  return ok;
+}
+
+bool
+test12() {
+  Variable A(0);
+  Variable B(1);
+  Variables_Set varset_A;
+  varset_A.insert(A);
+
+  Octagonal_Shape<mpq_class> os(2);
+  os.add_constraint(2*A <= 1);
+  os.add_constraint(2*B <= -1);
+  os.add_constraint(4*A - 4*B <= 7);
+
+  print_constraints(os, "*** os ***");
+
+  os.drop_some_non_integer_points(varset_A);
+
+  Octagonal_Shape<mpq_class> known_result(2);
+  known_result.add_constraint(A <= 0);
+  known_result.add_constraint(2*B <= -1);
+  known_result.add_constraint(4*A - 4*B <= 7);
+
+  bool ok = (os == known_result);
+
+  print_constraints(os,
+                    "*** after os.drop_some_non_integer_points(varset_A) ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST(test08);
+  DO_TEST(test09);
+  DO_TEST(test10);
+  DO_TEST(test11);
+  DO_TEST(test12);
+END_MAIN
diff --git a/tests/Octagonal_Shape/empty1.cc b/tests/Octagonal_Shape/empty1.cc
index 0eac6b3..cc3c2d6 100644
--- a/tests/Octagonal_Shape/empty1.cc
+++ b/tests/Octagonal_Shape/empty1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::is_empty() .
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/expandspacedim1.cc b/tests/Octagonal_Shape/expandspacedim1.cc
index 124ed9b..d68abbf 100644
--- a/tests/Octagonal_Shape/expandspacedim1.cc
+++ b/tests/Octagonal_Shape/expandspacedim1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::expand_space_dimension().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/foldspacedims1.cc b/tests/Octagonal_Shape/foldspacedims1.cc
index 5f2bac4..7e52758 100644
--- a/tests/Octagonal_Shape/foldspacedims1.cc
+++ b/tests/Octagonal_Shape/foldspacedims1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::fold_space_dimensions().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/frequency1.cc b/tests/Octagonal_Shape/frequency1.cc
new file mode 100644
index 0000000..571dd5b
--- /dev/null
+++ b/tests/Octagonal_Shape/frequency1.cc
@@ -0,0 +1,360 @@
+/* Test Octagonal_Shape::frequency().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+
+namespace {
+
+// Universe and empty bd shape.
+bool
+test01() {
+  Variable A(0);
+
+  TOctagonal_Shape os1(1);
+
+  TOctagonal_Shape os2(1, EMPTY);
+
+  Coefficient num1;
+  Coefficient den1;
+  Coefficient valn1;
+  Coefficient vald1;
+  Coefficient num2;
+  Coefficient den2;
+  Coefficient valn2;
+  Coefficient vald2;
+  bool ok = (!os1.frequency(A, num1, den1, valn1, vald1)
+             && !os2.frequency(A, num2, den2, valn2, vald2));
+  print_constraints(os1, "*** os1 ***");
+  print_constraints(os2, "*** os2 ***");
+
+  return ok;
+}
+
+// 0-dimension polyhedra.
+bool
+test02() {
+  TOctagonal_Shape os1(0);
+
+  TOctagonal_Shape os2(0, EMPTY);
+
+  Coefficient num1;
+  Coefficient den1;
+  Coefficient valn1;
+  Coefficient vald1;
+  Coefficient num2;
+  Coefficient den2;
+  Coefficient valn2;
+  Coefficient vald2;
+  bool ok = (os1.frequency(Linear_Expression(3), num1, den1, valn1, vald1)
+             && num1 == 0 && den1 == 1 && valn1 == 3 && vald1 == 1
+             && !os2.frequency(Linear_Expression(3), num2, den2, valn2, vald2));
+  print_constraints(os1, "*** os1 ***");
+  print_constraints(os2, "*** os2 ***");
+
+  return ok;
+}
+
+// Non-relational test.
+bool
+test03() {
+  Variable A(0);
+
+  TOctagonal_Shape os(1);
+  os.add_constraint(A == 0);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (os.frequency(Linear_Expression(A), num, den, valn, vald)
+             && num == 0 && den == 1 && valn == 0 && vald == 1);
+  print_constraints(os, "*** os ***");
+
+  return ok;
+}
+
+bool
+test04() {
+  Variable A(0);
+  Variable B(1);
+
+  TOctagonal_Shape os(2);
+  os.add_constraint(A >= 0);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (!os.frequency(Linear_Expression(A), num, den, valn, vald));
+  print_constraints(os, "*** os ***");
+
+  return ok;
+}
+
+bool
+test05() {
+  Variable A(0);
+  Variable B(1);
+
+  TOctagonal_Shape os(2);
+  os.add_constraint(A <= 0);
+  os.add_constraint(A - B >= 5);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (!os.frequency(Linear_Expression(B), num, den, valn, vald));
+  print_constraints(os, "*** os ***");
+
+  return ok;
+}
+
+bool
+test06() {
+  Variable A(0);
+  Variable B(1);
+
+  TOctagonal_Shape os(2);
+  os.add_constraint(2*A == 1);
+  os.add_constraint(B == 2);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (os.frequency(Linear_Expression(A + B - 3), num, den, valn, vald)
+             && num == 0 && den == 1 && valn == -1 && vald == 2);
+  print_constraints(os, "*** os ***");
+  nout << "valn " << valn << ", vald " << vald << endl;
+
+  return ok;
+}
+
+bool
+test07() {
+  Variable A(0);
+  Variable B(1);
+
+  TOctagonal_Shape os(2);
+  os.add_constraint(A <= 1);
+  os.add_constraint(A >= 0);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (!os.frequency(Linear_Expression(A - B), num, den, valn, vald));
+  print_constraints(os, "*** os ***");
+
+  return ok;
+}
+
+bool
+test08() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  TOctagonal_Shape os(3);
+  os.add_constraint(2*A - 2*B == 2);
+  os.add_constraint(2*C == 2);
+  os.add_constraint(B <= 2);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (os.frequency(Linear_Expression(A - B + C + 1),
+                           num, den, valn, vald)
+             && num == 0 && den == 1 && valn == 3 && vald == 1);
+  print_constraints(os, "*** os ***");
+  nout << "valn " << valn << ", vald " << vald << endl;
+
+  return ok;
+}
+
+bool
+test09() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  TOctagonal_Shape os(3);
+  os.add_constraint(2*A - 2*B == 2);
+  os.add_constraint(2*C == 2);
+  os.add_constraint(B <= 2);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (os.frequency(Linear_Expression(A - B + C + 1),
+                           num, den, valn, vald)
+             && num == 0 && den == 1 && valn == 3 && vald == 1);
+  print_constraints(os, "*** os ***");
+  nout << "valn " << valn << ", vald " << vald << endl;
+
+  return ok;
+}
+
+bool
+test10() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  TOctagonal_Shape os(3);
+  os.add_constraint(2*A + 2*B == 2);
+  os.add_constraint(2*C == 2);
+  os.add_constraint(B <= 2);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (os.frequency(Linear_Expression(A + B + C + 1),
+                           num, den, valn, vald)
+             && num == 0 && den == 1 && valn == 3 && vald == 1);
+  print_constraints(os, "*** os ***");
+  nout << "valn " << valn << ", vald " << vald << endl;
+
+  return ok;
+}
+
+bool
+test11() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  TOctagonal_Shape os(3);
+  os.add_constraint(2*A + 2*B == 2);
+  os.add_constraint(B - C == 2);
+  os.add_constraint(B <= 2);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (os.frequency(Linear_Expression(A - B + 2*C + 1),
+                           num, den, valn, vald)
+             && num == 0 && den == 1 && valn == -2 && vald == 1);
+  print_constraints(os, "*** os ***");
+  nout << "valn " << valn << ", vald " << vald << endl;
+
+  return ok;
+}
+
+bool
+test12() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  TOctagonal_Shape os(3);
+  os.add_constraint(2*A - 2*B == 2);
+  os.add_constraint(B + C == 1);
+  os.add_constraint(B <= 2);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (os.frequency(Linear_Expression(A + B + 2*C + 1),
+                           num, den, valn, vald)
+             && num == 0 && den == 1 && valn == 4 && vald == 1);
+  print_constraints(os, "*** os ***");
+  nout << "valn " << valn << ", vald " << vald << endl;
+
+  return ok;
+}
+
+bool
+test13() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  TOctagonal_Shape os(3);
+  os.add_constraint(4*A - 4*B == 1);
+  os.add_constraint(3*C == 1);
+  os.add_constraint(B <= 2);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool discrete = os.frequency(Linear_Expression(A - B),
+                                num, den, valn, vald);
+  // If the shape is based on an integral coefficient type, then
+  // approximations will induce non discreteness of the linear expression.
+  bool ok
+    = std::numeric_limits<TOctagonal_Shape::coefficient_type_base>::is_integer
+      ? (!discrete && num == 0 && den == 0 && valn == 0 && vald == 0)
+      : (discrete && num == 0 && den == 1 && valn == 1 && vald == 4);
+  print_constraints(os, "*** os ***");
+  nout << "num " << num << ", den " << den << endl;
+  nout << "valn " << valn << ", vald " << vald << endl;
+
+  return ok;
+}
+
+// Test of an empty octagonal_shape in 1-dimension.
+bool
+test14() {
+  Variable A(0);
+
+  TOctagonal_Shape os(1);
+  os.add_constraint(A <= 0);
+  os.add_constraint(A >= 1);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (!os.frequency(Linear_Expression(A), num, den, valn, vald));
+  print_constraints(os, "*** os ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST_MAY_OVERFLOW_IF_INEXACT(test08, TOctagonal_Shape);
+  DO_TEST(test09);
+  DO_TEST(test10);
+  DO_TEST(test11);
+  DO_TEST(test12);
+  DO_TEST(test13);
+  DO_TEST(test14);
+END_MAIN
diff --git a/tests/Octagonal_Shape/frombdshape1.cc b/tests/Octagonal_Shape/frombdshape1.cc
index 549b052..85bb970 100644
--- a/tests/Octagonal_Shape/frombdshape1.cc
+++ b/tests/Octagonal_Shape/frombdshape1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::BD_Shape(const C_Polyhedron&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/frombox1.cc b/tests/Octagonal_Shape/frombox1.cc
index 8b455a9..5bb06b5 100644
--- a/tests/Octagonal_Shape/frombox1.cc
+++ b/tests/Octagonal_Shape/frombox1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::Octagonal_Shape(const Box<Interval>&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/fromgensys1.cc b/tests/Octagonal_Shape/fromgensys1.cc
index 70b173e..f68e8f4 100644
--- a/tests/Octagonal_Shape/fromgensys1.cc
+++ b/tests/Octagonal_Shape/fromgensys1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::Octagonal_Shape(const Generator_System&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/fromgrid1.cc b/tests/Octagonal_Shape/fromgrid1.cc
index 987b0d9..295d834 100644
--- a/tests/Octagonal_Shape/fromgrid1.cc
+++ b/tests/Octagonal_Shape/fromgrid1.cc
@@ -1,6 +1,6 @@
 /* Test C_Polyhedron::C_Polyhedron(const Grid&)
    and NNC_Polyhedron::NNC_Polyhedron(const Grid&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/fromoctagonalshape1.cc b/tests/Octagonal_Shape/fromoctagonalshape1.cc
index 5eaf44f..631f723 100644
--- a/tests/Octagonal_Shape/fromoctagonalshape1.cc
+++ b/tests/Octagonal_Shape/fromoctagonalshape1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape copy construct, construction from other
    Octagonal shapes and assignment.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/frompolyhedron1.cc b/tests/Octagonal_Shape/frompolyhedron1.cc
index 7045135..d8fbfd6 100644
--- a/tests/Octagonal_Shape/frompolyhedron1.cc
+++ b/tests/Octagonal_Shape/frompolyhedron1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::Octagonal_Shape(const C_Polyhedron&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/fromspacedim1.cc b/tests/Octagonal_Shape/fromspacedim1.cc
index 20b323a..86b8f72 100644
--- a/tests/Octagonal_Shape/fromspacedim1.cc
+++ b/tests/Octagonal_Shape/fromspacedim1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::Octagonal_Shape(dimension_type, Degenerate_Element).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/generalizedaffineimage1.cc b/tests/Octagonal_Shape/generalizedaffineimage1.cc
index 75cec03..955da4d 100644
--- a/tests/Octagonal_Shape/generalizedaffineimage1.cc
+++ b/tests/Octagonal_Shape/generalizedaffineimage1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::generalized_affine_image().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/generalizedaffineimage2.cc b/tests/Octagonal_Shape/generalizedaffineimage2.cc
index 2f23b7e..cd4b848 100644
--- a/tests/Octagonal_Shape/generalizedaffineimage2.cc
+++ b/tests/Octagonal_Shape/generalizedaffineimage2.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::generalized_affine_image().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/generalizedaffineimage3.cc b/tests/Octagonal_Shape/generalizedaffineimage3.cc
index a62f328..e4202f9 100644
--- a/tests/Octagonal_Shape/generalizedaffineimage3.cc
+++ b/tests/Octagonal_Shape/generalizedaffineimage3.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::generalized_affine_image().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/generalizedaffineimage4.cc b/tests/Octagonal_Shape/generalizedaffineimage4.cc
index 3fca8d9..26859b8 100644
--- a/tests/Octagonal_Shape/generalizedaffineimage4.cc
+++ b/tests/Octagonal_Shape/generalizedaffineimage4.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::generalized_affine_image().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/generalizedaffineimage5.cc b/tests/Octagonal_Shape/generalizedaffineimage5.cc
index 0a3efb1..8fecd0c 100644
--- a/tests/Octagonal_Shape/generalizedaffineimage5.cc
+++ b/tests/Octagonal_Shape/generalizedaffineimage5.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::generalized_affine_image().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/generalizedaffinepreimage1.cc b/tests/Octagonal_Shape/generalizedaffinepreimage1.cc
index 7f6f979..37fce23 100644
--- a/tests/Octagonal_Shape/generalizedaffinepreimage1.cc
+++ b/tests/Octagonal_Shape/generalizedaffinepreimage1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::generalized_affine_preimage().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/generalizedaffinepreimage2.cc b/tests/Octagonal_Shape/generalizedaffinepreimage2.cc
index 7d06fed..f85c444 100644
--- a/tests/Octagonal_Shape/generalizedaffinepreimage2.cc
+++ b/tests/Octagonal_Shape/generalizedaffinepreimage2.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::generalized_affine_preimage().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/generalizedaffinepreimage3.cc b/tests/Octagonal_Shape/generalizedaffinepreimage3.cc
index 98b5afb..653c390 100644
--- a/tests/Octagonal_Shape/generalizedaffinepreimage3.cc
+++ b/tests/Octagonal_Shape/generalizedaffinepreimage3.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::generalized_affine_preimage().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/generalizedaffinepreimage4.cc b/tests/Octagonal_Shape/generalizedaffinepreimage4.cc
index 2ef3c60..a2dd237 100644
--- a/tests/Octagonal_Shape/generalizedaffinepreimage4.cc
+++ b/tests/Octagonal_Shape/generalizedaffinepreimage4.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::generalized_affine_preimage().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/integerupperboundifexact1.cc b/tests/Octagonal_Shape/integerupperboundifexact1.cc
new file mode 100644
index 0000000..ac5d6ff
--- /dev/null
+++ b/tests/Octagonal_Shape/integerupperboundifexact1.cc
@@ -0,0 +1,461 @@
+/* Test Octagonal_Shape::integer_upper_bound_assign_if_exact().
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+namespace {
+
+bool
+test01() {
+  Octagonal_Shape<mpz_class> oct_empty(0, EMPTY);
+  Octagonal_Shape<mpz_class> oct_universe(0, UNIVERSE);
+
+  // Testing all combinations for 0-dim polyhedra.
+  bool ok = true;
+  Octagonal_Shape<mpz_class> oct;
+
+  // empty, empty
+  oct = oct_empty;
+  ok &= oct.integer_upper_bound_assign_if_exact(oct_empty);
+  ok &= (oct == oct_empty);
+  print_constraints(oct, "*** empty union empty ***");
+
+  // empty, universe
+  oct = oct_empty;
+  ok &= oct.integer_upper_bound_assign_if_exact(oct_universe);
+  ok &= (oct == oct_universe);
+  print_constraints(oct, "*** empty union universe ***");
+
+  // universe, empty
+  oct = oct_universe;
+  ok &= oct.integer_upper_bound_assign_if_exact(oct_empty);
+  ok &= (oct == oct_universe);
+  print_constraints(oct, "*** universe union empty ***");
+
+  // universe, universe
+  oct = oct_universe;
+  ok &= oct.integer_upper_bound_assign_if_exact(oct_universe);
+  ok &= (oct == oct_universe);
+  print_constraints(oct, "*** universe union universe ***");
+
+  return ok;
+}
+
+bool
+test02() {
+  Variable x(0);
+  Variable y(1);
+
+  Octagonal_Shape<mpz_class> oct1(2, UNIVERSE);
+  oct1.add_constraint(x >= -2);
+  oct1.add_constraint(x <= -1);
+  oct1.add_constraint(y >= 0);
+  oct1.add_constraint(y <= 2);
+
+  print_constraints(oct1, "*** oct1 ***");
+
+  Octagonal_Shape<mpz_class> oct2(2, UNIVERSE);
+  oct2.add_constraint(x >= 1);
+  oct2.add_constraint(x <= 2);
+  oct2.add_constraint(y >= 0);
+  oct2.add_constraint(y <= 2);
+
+  print_constraints(oct2, "*** oct2 ***");
+
+  Octagonal_Shape<mpz_class> known_result(oct1);
+
+  bool ok = !oct1.integer_upper_bound_assign_if_exact(oct2);
+  ok &= (oct1 == known_result);
+
+  print_constraints(oct1,
+                    "*** oct1.integer_upper_bound_assign_if_exact(oct2) ***");
+
+  return ok;
+}
+
+bool
+test03() {
+  Variable x(0);
+  Variable y(1);
+
+  Octagonal_Shape<mpz_class> oct1(2, UNIVERSE);
+  oct1.add_constraint(x >= -2);
+  oct1.add_constraint(x <= 0);
+  oct1.add_constraint(y >= 0);
+  oct1.add_constraint(y <= 2);
+
+  print_constraints(oct1, "*** oct1 ***");
+
+  Octagonal_Shape<mpz_class> oct2(2, UNIVERSE);
+  oct2.add_constraint(x >= 0);
+  oct2.add_constraint(x <= 2);
+  oct2.add_constraint(y >= 0);
+  oct2.add_constraint(y <= 2);
+
+  print_constraints(oct2, "*** oct2 ***");
+
+  Octagonal_Shape<mpz_class> known_result(2, UNIVERSE);
+  known_result.add_constraint(x >= -2);
+  known_result.add_constraint(x <= 2);
+  known_result.add_constraint(y >= 0);
+  known_result.add_constraint(y <= 2);
+
+  bool ok = oct1.integer_upper_bound_assign_if_exact(oct2);
+  ok &= (oct1 == known_result);
+
+  print_constraints(oct1,
+                    "*** oct1.integer_upper_bound_assign_if_exact(oct2) ***");
+
+  return ok;
+}
+
+bool
+test04() {
+  Variable x(0);
+  Variable y(1);
+
+  Octagonal_Shape<mpz_class> oct1(2, UNIVERSE);
+  oct1.add_constraint(x == 0);
+  oct1.add_constraint(y == 0);
+
+  print_constraints(oct1, "*** oct1 ***");
+
+  Octagonal_Shape<mpz_class> oct2(2, UNIVERSE);
+  oct2.add_constraint(x >= 0);
+  oct2.add_constraint(x <= 2);
+  oct2.add_constraint(y >= -2);
+  oct2.add_constraint(y <= 2);
+
+  print_constraints(oct2, "*** oct2 ***");
+
+  Octagonal_Shape<mpz_class> known_result(oct2);
+
+  bool ok = oct1.integer_upper_bound_assign_if_exact(oct2);
+  ok &= (oct1 == known_result);
+
+  print_constraints(oct1,
+                    "*** oct1.integer_upper_bound_assign_if_exact(oct2) ***");
+
+  return ok;
+}
+
+bool
+test05() {
+  Variable x(0);
+  Variable y(1);
+
+  Octagonal_Shape<mpz_class> oct1(2, UNIVERSE);
+  oct1.add_constraint(x >= 0);
+  oct1.add_constraint(y == 0);
+
+  print_constraints(oct1, "*** oct1 ***");
+
+  Octagonal_Shape<mpz_class> oct2(2, UNIVERSE);
+  oct2.add_constraint(x >= 0);
+  oct2.add_constraint(y >= 2);
+  oct2.add_constraint(y <= 4);
+
+  print_constraints(oct2, "*** oct2 ***");
+
+  Octagonal_Shape<mpz_class> known_result(oct1);
+
+  bool ok = !oct1.integer_upper_bound_assign_if_exact(oct2);
+  ok &= (oct1 == known_result);
+
+  print_constraints(oct1,
+                    "*** oct1.integer_upper_bound_assign_if_exact(oct2) ***");
+
+  return ok;
+}
+
+bool
+test06() {
+  Variable x(0);
+  Variable y(1);
+
+  Octagonal_Shape<mpz_class> oct1(2, UNIVERSE);
+  oct1.add_constraint(x == y);
+
+  print_constraints(oct1, "*** oct1 ***");
+
+  Octagonal_Shape<mpz_class> oct2(2, UNIVERSE);
+  oct2.add_constraint(x == 0);
+
+  print_constraints(oct2, "*** oct2 ***");
+
+  Octagonal_Shape<mpz_class> known_result(oct1);
+
+  bool ok = !oct1.integer_upper_bound_assign_if_exact(oct2);
+  ok &= (oct1 == known_result);
+
+  print_constraints(oct1,
+                    "*** oct1.integer_upper_bound_assign_if_exact(oct2) ***");
+
+  return ok;
+}
+
+bool
+test07() {
+  Variable x(0);
+  Variable y(1);
+
+  Octagonal_Shape<mpz_class> oct1(2, UNIVERSE);
+  oct1.add_constraint(x >= y);
+
+  print_constraints(oct1, "*** oct1 ***");
+
+  Octagonal_Shape<mpz_class> oct2(2, UNIVERSE);
+  oct2.add_constraint(x >= 0);
+
+  print_constraints(oct2, "*** oct2 ***");
+
+  Octagonal_Shape<mpz_class> known_result(oct1);
+
+  bool ok = !oct1.integer_upper_bound_assign_if_exact(oct2);
+  ok &= (oct1 == known_result);
+
+  print_constraints(oct1,
+                    "*** oct1.integer_upper_bound_assign_if_exact(oct2) ***");
+
+  return ok;
+}
+
+bool
+test08() {
+  Variable x(0);
+  Variable y(1);
+
+  Octagonal_Shape<mpz_class> oct1(2, UNIVERSE);
+  oct1.add_constraint(x >= y);
+
+  print_constraints(oct1, "*** oct1 ***");
+
+  Octagonal_Shape<mpz_class> oct2(2, UNIVERSE);
+  oct2.add_constraint(x <= y);
+
+  print_constraints(oct2, "*** oct2 ***");
+
+  Octagonal_Shape<mpz_class> known_result(2, UNIVERSE);
+
+  bool ok = oct1.integer_upper_bound_assign_if_exact(oct2);
+  ok &= (oct1 == known_result);
+
+  print_constraints(oct1,
+                    "*** oct1.integer_upper_bound_assign_if_exact(oct2) ***");
+
+  return ok;
+}
+
+bool
+test09() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+
+  Octagonal_Shape<mpz_class> oct(3, UNIVERSE);
+  oct.add_constraint(x >= 0);
+  oct.add_constraint(x <= 2);
+  oct.add_constraint(y >= 0);
+  oct.add_constraint(y <= 4);
+  oct.add_constraint(z >= 0);
+  oct.add_constraint(z <= 4);
+  oct.add_constraint(x - y <= 2);
+  oct.add_constraint(z - y <= 2);
+
+  Octagonal_Shape<mpz_class> oct1(oct);
+  oct1.add_constraint(z <= 3);
+
+  print_constraints(oct1, "*** oct1 ***");
+
+  Octagonal_Shape<mpz_class> oct2(oct);
+  oct2.add_constraint(x - y <= 1);
+
+  Octagonal_Shape<mpz_class> known_result(oct);
+
+  bool ok = oct1.integer_upper_bound_assign_if_exact(oct2);
+
+  ok &= (oct1 == oct);
+
+  print_constraints(oct1,
+                    "*** oct1.integer_upper_bound_assign_if_exact(oct2) ***");
+
+  return ok;
+}
+
+bool
+test10() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  Variable w(3);
+
+  Octagonal_Shape<mpz_class> oct(4, UNIVERSE);
+  oct.add_constraint(x - y <= 4);
+  oct.add_constraint(z - w <= 4);
+  oct.add_constraint(x - w <= 5);
+  oct.add_constraint(z <= 0);
+  oct.add_constraint(z - y <= 1);
+  oct.add_constraint(y + w >= -1);
+
+  Octagonal_Shape<mpz_class> oct1(oct);
+  oct1.add_constraint(x - y <= 2);
+
+  print_constraints(oct1, "*** oct1 ***");
+
+  Octagonal_Shape<mpz_class> oct2(oct);
+  oct2.add_constraint(z - w <= 2);
+
+  Octagonal_Shape<mpz_class> known_result(oct);
+
+  bool ok = oct1.integer_upper_bound_assign_if_exact(oct2);
+  ok &= (oct1 == oct);
+
+  print_constraints(oct1,
+                    "*** oct1.integer_upper_bound_assign_if_exact(oct2) ***");
+
+  return ok;
+}
+
+bool
+test11() {
+  //  const dimension_type dim = 200;
+  const dimension_type dim = 50;
+  Constraint_System cs;
+  for (dimension_type i = 1; i < dim; ++i) {
+    Variable x(i);
+    cs.insert(x >= 0);
+    cs.insert(x <= 4);
+  }
+
+  Variable x(0);
+
+  Octagonal_Shape<mpz_class> hypercube1(cs);
+  hypercube1.add_constraint(x >= 0);
+  hypercube1.add_constraint(x <= 4);
+
+  Octagonal_Shape<mpz_class> hypercube2(cs);
+  hypercube2.add_constraint(x >= 2);
+  hypercube2.add_constraint(x <= 6);
+
+  Octagonal_Shape<mpz_class> known_result(cs);
+  known_result.add_constraint(x >= 0);
+  known_result.add_constraint(x <= 6);
+
+  bool ok = hypercube1.integer_upper_bound_assign_if_exact(hypercube2);
+
+  ok &= (hypercube1 == known_result);
+
+  print_constraints(hypercube1, "*** hyp1 ***");
+  print_constraints(hypercube2, "*** hyp2 ***");
+
+  return ok;
+}
+
+bool
+test12() {
+  Variable x(0);
+  Variable y(1);
+
+  Octagonal_Shape<mpz_class> oct1(2, UNIVERSE);
+  oct1.add_constraint(x >= 0);
+  oct1.add_constraint(x <= 3);
+  oct1.add_constraint(y >= 0);
+  oct1.add_constraint(y <= 2);
+  oct1.add_constraint(x - y <= 2);
+
+  Octagonal_Shape<mpz_class> oct2(2, UNIVERSE);
+  oct2.add_constraint(x >= 3);
+  oct2.add_constraint(x <= 6);
+  oct2.add_constraint(y >= 0);
+  oct2.add_constraint(y <= 2);
+
+  print_constraints(oct1, "*** oct1 ***");
+  print_constraints(oct2, "*** oct2 ***");
+
+  Octagonal_Shape<mpz_class> known_result(2, UNIVERSE);
+  known_result.add_constraint(x >= 0);
+  known_result.add_constraint(x <= 6);
+  known_result.add_constraint(y >= 0);
+  known_result.add_constraint(y <= 2);
+
+  bool ok = oct1.integer_upper_bound_assign_if_exact(oct2)
+    && (oct1 == known_result);
+
+  print_constraints(oct1,
+                    "*** oct1.integer_upper_bound_assign_if_exact(oct2) ***");
+
+  return ok;
+}
+
+/*
+  The following test shows that method
+  Octagonal_Shape<T>::integer_upper_bound_assign_if_exact
+  is not an upper bound operator (on the domain of rational shapes).
+*/
+bool
+test13() {
+  Variable x(0);
+  Variable y(1);
+
+  Octagonal_Shape<mpz_class> oct1(2, UNIVERSE);
+  oct1.add_constraint(x + y <= 2);
+  oct1.add_constraint(x - y <= 2);
+  oct1.add_constraint(x + y >= 1);
+  oct1.add_constraint(x - y >= 1);
+
+  Octagonal_Shape<mpz_class> oct2(oct1);
+  oct2.affine_image(x, x + 2);
+
+  print_constraints(oct1, "*** oct1 ***");
+  print_constraints(oct2, "*** oct2 ***");
+
+  Octagonal_Shape<mpz_class> known_result(2, UNIVERSE);
+  known_result.add_constraint(x >= 1);
+  known_result.add_constraint(x <= 4);
+  known_result.add_constraint(y == 0);
+
+  bool ok = oct1.integer_upper_bound_assign_if_exact(oct2)
+    && (oct1 == known_result);
+
+  print_constraints(oct1,
+                    "*** oct1.integer_upper_bound_assign_if_exact(oct2) ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST(test08);
+  DO_TEST(test09);
+  DO_TEST(test10);
+  DO_TEST(test11);
+  DO_TEST(test12);
+  DO_TEST(test13);
+END_MAIN
diff --git a/tests/Octagonal_Shape/intersection1.cc b/tests/Octagonal_Shape/intersection1.cc
index 2ad9fdb..f22f1a3 100644
--- a/tests/Octagonal_Shape/intersection1.cc
+++ b/tests/Octagonal_Shape/intersection1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::intersection_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -201,50 +201,11 @@ test06() {
   return ok;
 }
 
-// CHECKME: is this now duplicating test01?
-// (was originally testing *_and_minimize)
 bool
 test07() {
   Variable x(0);
   Variable y(1);
 
-  TOctagonal_Shape oc1(3);
-  oc1.add_constraint(x <= 3);
-  oc1.add_constraint(x - y <= 4);
-  oc1.add_constraint(x + y <= 6);
-
-  print_constraints(oc1, "*** oc1 ***");
-
-  TOctagonal_Shape oc2(3);
-  oc2.add_constraint(-y <= -2);
-  oc2.add_constraint(x - y <= 5);
-  oc2.add_constraint(x + y <= 7);
-
-  print_constraints(oc2, "*** oc2 ***");
-
-  oc1.intersection_assign(oc2);
-
-  Constraint_System cs;
-  cs.insert(x <= 3);
-  cs.insert(-y <= -2);
-  cs.insert(x - y <= 4);
-  cs.insert(x + y <= 6);
-
-  Octagonal_Shape<mpq_class> known_result(3);
-  known_result.add_constraints(cs);
-
-  bool ok = (Octagonal_Shape<mpq_class>(oc1) == known_result);
-
-  print_constraints(oc1, "*** oc1.intersection_assign(oc2) ***");
-
-  return ok;
-}
-
-bool
-test08() {
-  Variable x(0);
-  Variable y(1);
-
   TOctagonal_Shape oc1(2);
   oc1.add_constraint(x >= y);
 
@@ -266,35 +227,8 @@ test08() {
   return false;
 }
 
-// CHECKME: is this now duplicating test08?
-// (was originally testing *_and_minimize)
-bool
-test09() {
-  Variable x(0);
-  Variable y(1);
-
-  TOctagonal_Shape oc1(7);
-
-  TOctagonal_Shape oc2(15);
-
-  try {
-    // This is an invalid use of method
-    // Octagonal_Shape::intersection_assign(oc2): it is illegal
-    // to apply this method to two polyhedra of different dimensions.
-    oc1.intersection_assign(oc2);
-  }
-  catch (std::invalid_argument& e) {
-    nout << "invalid_argument: " << e.what() << endl;
-    return true;
-  }
-  catch (...) {
-    return false;
-  }
-  return false;
-}
-
 bool
-test10() {
+test08() {
   Variable A(0);
   Variable B(1);
   // Variable C(2);
@@ -322,7 +256,7 @@ test10() {
 }
 
 bool
-test11() {
+test09() {
   Variable A(0);
   Variable B(1);
   Variable C(2);
@@ -371,6 +305,4 @@ BEGIN_MAIN
   DO_TEST(test07);
   DO_TEST(test08);
   DO_TEST(test09);
-  DO_TEST(test10);
-  DO_TEST(test11);
 END_MAIN
diff --git a/tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc b/tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc
index 4ca8ddb..def3fa5 100644
--- a/tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc
+++ b/tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::limited_BHMZ05_extrapolation_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/limitedcc76extrapolation1.cc b/tests/Octagonal_Shape/limitedcc76extrapolation1.cc
index ce37303..0198ad6 100644
--- a/tests/Octagonal_Shape/limitedcc76extrapolation1.cc
+++ b/tests/Octagonal_Shape/limitedcc76extrapolation1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::limited_CC76_extrapolation_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/mapspacedims1.cc b/tests/Octagonal_Shape/mapspacedims1.cc
index 88d824f..a57cf48 100644
--- a/tests/Octagonal_Shape/mapspacedims1.cc
+++ b/tests/Octagonal_Shape/mapspacedims1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::map_space_dimensions().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/max_min1.cc b/tests/Octagonal_Shape/max_min1.cc
index c0915ac..98971ea 100644
--- a/tests/Octagonal_Shape/max_min1.cc
+++ b/tests/Octagonal_Shape/max_min1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::maximize(const Linear_Expression&, ...)
    and Octagonal_Shape::minimize(const Linear_Expression&, ...).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -326,7 +326,6 @@ test09() {
 
 bool
 test10() {
-
   TOctagonal_Shape oct(0);
 
   print_constraints(oct, "*** oct ***");
diff --git a/tests/Octagonal_Shape/max_min2.cc b/tests/Octagonal_Shape/max_min2.cc
index 60cadea..de76855 100644
--- a/tests/Octagonal_Shape/max_min2.cc
+++ b/tests/Octagonal_Shape/max_min2.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::maximize(const Linear_Expression&, ...)
    and Octagonal_Shape::minimize(const Linear_Expression&, ...).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/maxspacedim1.cc b/tests/Octagonal_Shape/maxspacedim1.cc
index e49dfdf..ffe33d0 100644
--- a/tests/Octagonal_Shape/maxspacedim1.cc
+++ b/tests/Octagonal_Shape/maxspacedim1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::max_space_dimension().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/membytes1.cc b/tests/Octagonal_Shape/membytes1.cc
index 8246c8e..2fee528 100644
--- a/tests/Octagonal_Shape/membytes1.cc
+++ b/tests/Octagonal_Shape/membytes1.cc
@@ -1,5 +1,5 @@
 /* Test the total_memory_in_bytes() and external_memory_in_bytes() methods.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/minconstraints1.cc b/tests/Octagonal_Shape/minconstraints1.cc
index abf41a2..b58c0b1 100644
--- a/tests/Octagonal_Shape/minconstraints1.cc
+++ b/tests/Octagonal_Shape/minconstraints1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape<T>::minimized_constraints().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/relatwithcons1.cc b/tests/Octagonal_Shape/relatwithcons1.cc
index 5487743..31fa68b 100644
--- a/tests/Octagonal_Shape/relatwithcons1.cc
+++ b/tests/Octagonal_Shape/relatwithcons1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::relation_with(c).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/relatwithcons2.cc b/tests/Octagonal_Shape/relatwithcons2.cc
index b763558..45b53a6 100644
--- a/tests/Octagonal_Shape/relatwithcons2.cc
+++ b/tests/Octagonal_Shape/relatwithcons2.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::relation_with(c).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -440,7 +440,7 @@ test20() {
   print_constraints(oc, "--- oc ---");
   print_congruence(cg, "--- cg ---");
   using namespace IO_Operators;
-  nout << "oc.relation_with((A %= 0)/1) == " << rel << endl;
+  nout << "oc.relation_with((A + 3*B %= 0)/1) == " << rel << endl;
 
   Poly_Con_Relation known_result = Poly_Con_Relation::strictly_intersects();
 
diff --git a/tests/Octagonal_Shape/relatwithcons3.cc b/tests/Octagonal_Shape/relatwithcons3.cc
index 221c394..8a7c1a4 100644
--- a/tests/Octagonal_Shape/relatwithcons3.cc
+++ b/tests/Octagonal_Shape/relatwithcons3.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::relation_with().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/relatwithgen1.cc b/tests/Octagonal_Shape/relatwithgen1.cc
index b75a697..9fcc0bc 100644
--- a/tests/Octagonal_Shape/relatwithgen1.cc
+++ b/tests/Octagonal_Shape/relatwithgen1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::relation_with(g): we verify that a generator
    is not subsumed by an empty octagon.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/removespacedims1.cc b/tests/Octagonal_Shape/removespacedims1.cc
index 78c10c5..7a637c0 100644
--- a/tests/Octagonal_Shape/removespacedims1.cc
+++ b/tests/Octagonal_Shape/removespacedims1.cc
@@ -1,5 +1,5 @@
 /* Remove the higher variables from the space.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/run_tests b/tests/Octagonal_Shape/run_tests
index bf55f87..9b0f350 100755
--- a/tests/Octagonal_Shape/run_tests
+++ b/tests/Octagonal_Shape/run_tests
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # Run the Octagonal_Shape tests.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
diff --git a/tests/Octagonal_Shape/simplifyusingcontext1.cc b/tests/Octagonal_Shape/simplifyusingcontext1.cc
index 2763d75..43f5ede 100644
--- a/tests/Octagonal_Shape/simplifyusingcontext1.cc
+++ b/tests/Octagonal_Shape/simplifyusingcontext1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::simplify_using_context_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/timeelapse1.cc b/tests/Octagonal_Shape/timeelapse1.cc
index 5bbcc1d..7bdc58d 100644
--- a/tests/Octagonal_Shape/timeelapse1.cc
+++ b/tests/Octagonal_Shape/timeelapse1.cc
@@ -1,5 +1,5 @@
 /* Test time_elapse_assign() for particular polyhedra.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/unconstrain1.cc b/tests/Octagonal_Shape/unconstrain1.cc
index da6ea1d..96d130f 100644
--- a/tests/Octagonal_Shape/unconstrain1.cc
+++ b/tests/Octagonal_Shape/unconstrain1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::unconstrain().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/universe1.cc b/tests/Octagonal_Shape/universe1.cc
index f974ae7..3f1a814 100644
--- a/tests/Octagonal_Shape/universe1.cc
+++ b/tests/Octagonal_Shape/universe1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::is_universe().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/upperbound1.cc b/tests/Octagonal_Shape/upperbound1.cc
index dec2285..6dbbf66 100644
--- a/tests/Octagonal_Shape/upperbound1.cc
+++ b/tests/Octagonal_Shape/upperbound1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::poly_hull_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/upperboundifexact1.cc b/tests/Octagonal_Shape/upperboundifexact1.cc
index 350fb9a..70a10a2 100644
--- a/tests/Octagonal_Shape/upperboundifexact1.cc
+++ b/tests/Octagonal_Shape/upperboundifexact1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::upper_bound_assign_if_exact().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -65,28 +65,28 @@ test02() {
   Variable x(0);
   Variable y(1);
 
-  TOctagonal_Shape octs1(2, UNIVERSE);
-  octs1.add_constraint(x >= -2);
-  octs1.add_constraint(x <= -1);
-  octs1.add_constraint(y >= 0);
-  octs1.add_constraint(y <= 2);
+  TOctagonal_Shape oct1(2, UNIVERSE);
+  oct1.add_constraint(x >= -2);
+  oct1.add_constraint(x <= -1);
+  oct1.add_constraint(y >= 0);
+  oct1.add_constraint(y <= 2);
 
-  print_constraints(octs1, "*** octs1 ***");
+  print_constraints(oct1, "*** oct1 ***");
 
-  TOctagonal_Shape octs2(2, UNIVERSE);
-  octs2.add_constraint(x >= 1);
-  octs2.add_constraint(x <= 2);
-  octs2.add_constraint(y >= 0);
-  octs2.add_constraint(y <= 2);
+  TOctagonal_Shape oct2(2, UNIVERSE);
+  oct2.add_constraint(x >= 1);
+  oct2.add_constraint(x <= 2);
+  oct2.add_constraint(y >= 0);
+  oct2.add_constraint(y <= 2);
 
-  print_constraints(octs2, "*** octs2 ***");
+  print_constraints(oct2, "*** oct2 ***");
 
-  TOctagonal_Shape known_result(octs1);
+  TOctagonal_Shape known_result(oct1);
 
-  bool ok = !octs1.upper_bound_assign_if_exact(octs2);
-  ok &= (octs1 == known_result);
+  bool ok = !oct1.upper_bound_assign_if_exact(oct2);
+  ok &= (oct1 == known_result);
 
-  print_constraints(octs1, "*** octs1.upper_bound_assign_if_exact(octs2) ***");
+  print_constraints(oct1, "*** oct1.upper_bound_assign_if_exact(oct2) ***");
 
   return ok;
 }
@@ -96,21 +96,21 @@ test03() {
   Variable x(0);
   Variable y(1);
 
-  TOctagonal_Shape octs1(2, UNIVERSE);
-  octs1.add_constraint(x >= -2);
-  octs1.add_constraint(x <= 0);
-  octs1.add_constraint(y >= 0);
-  octs1.add_constraint(y <= 2);
+  TOctagonal_Shape oct1(2, UNIVERSE);
+  oct1.add_constraint(x >= -2);
+  oct1.add_constraint(x <= 0);
+  oct1.add_constraint(y >= 0);
+  oct1.add_constraint(y <= 2);
 
-  print_constraints(octs1, "*** octs1 ***");
+  print_constraints(oct1, "*** oct1 ***");
 
-  TOctagonal_Shape octs2(2, UNIVERSE);
-  octs2.add_constraint(x >= 0);
-  octs2.add_constraint(x <= 2);
-  octs2.add_constraint(y >= 0);
-  octs2.add_constraint(y <= 2);
+  TOctagonal_Shape oct2(2, UNIVERSE);
+  oct2.add_constraint(x >= 0);
+  oct2.add_constraint(x <= 2);
+  oct2.add_constraint(y >= 0);
+  oct2.add_constraint(y <= 2);
 
-  print_constraints(octs2, "*** octs2 ***");
+  print_constraints(oct2, "*** oct2 ***");
 
   TOctagonal_Shape known_result(2, UNIVERSE);
   known_result.add_constraint(x >= -2);
@@ -118,10 +118,10 @@ test03() {
   known_result.add_constraint(y >= 0);
   known_result.add_constraint(y <= 2);
 
-  bool ok = octs1.upper_bound_assign_if_exact(octs2);
-  ok &= (octs1 == known_result);
+  bool ok = oct1.upper_bound_assign_if_exact(oct2);
+  ok &= (oct1 == known_result);
 
-  print_constraints(octs1, "*** octs1.upper_bound_assign_if_exact(octs2) ***");
+  print_constraints(oct1, "*** oct1.upper_bound_assign_if_exact(oct2) ***");
 
   return ok;
 }
@@ -131,26 +131,26 @@ test04() {
   Variable x(0);
   Variable y(1);
 
-  TOctagonal_Shape octs1(2, UNIVERSE);
-  octs1.add_constraint(x == 0);
-  octs1.add_constraint(y == 0);
+  TOctagonal_Shape oct1(2, UNIVERSE);
+  oct1.add_constraint(x == 0);
+  oct1.add_constraint(y == 0);
 
-  print_constraints(octs1, "*** octs1 ***");
+  print_constraints(oct1, "*** oct1 ***");
 
-  TOctagonal_Shape octs2(2, UNIVERSE);
-  octs2.add_constraint(x >= 0);
-  octs2.add_constraint(x <= 2);
-  octs2.add_constraint(y >= -2);
-  octs2.add_constraint(y <= 2);
+  TOctagonal_Shape oct2(2, UNIVERSE);
+  oct2.add_constraint(x >= 0);
+  oct2.add_constraint(x <= 2);
+  oct2.add_constraint(y >= -2);
+  oct2.add_constraint(y <= 2);
 
-  print_constraints(octs2, "*** octs2 ***");
+  print_constraints(oct2, "*** oct2 ***");
 
-  TOctagonal_Shape known_result(octs2);
+  TOctagonal_Shape known_result(oct2);
 
-  bool ok = octs1.upper_bound_assign_if_exact(octs2);
-  ok &= (octs1 == known_result);
+  bool ok = oct1.upper_bound_assign_if_exact(oct2);
+  ok &= (oct1 == known_result);
 
-  print_constraints(octs1, "*** octs1.upper_bound_assign_if_exact(octs2) ***");
+  print_constraints(oct1, "*** oct1.upper_bound_assign_if_exact(oct2) ***");
 
   return ok;
 }
@@ -160,25 +160,25 @@ test05() {
   Variable x(0);
   Variable y(1);
 
-  TOctagonal_Shape octs1(2, UNIVERSE);
-  octs1.add_constraint(x >= 0);
-  octs1.add_constraint(y == 0);
+  TOctagonal_Shape oct1(2, UNIVERSE);
+  oct1.add_constraint(x >= 0);
+  oct1.add_constraint(y == 0);
 
-  print_constraints(octs1, "*** octs1 ***");
+  print_constraints(oct1, "*** oct1 ***");
 
-  TOctagonal_Shape octs2(2, UNIVERSE);
-  octs2.add_constraint(x >= 0);
-  octs2.add_constraint(y >= 2);
-  octs2.add_constraint(y <= 4);
+  TOctagonal_Shape oct2(2, UNIVERSE);
+  oct2.add_constraint(x >= 0);
+  oct2.add_constraint(y >= 2);
+  oct2.add_constraint(y <= 4);
 
-  print_constraints(octs2, "*** octs2 ***");
+  print_constraints(oct2, "*** oct2 ***");
 
-  TOctagonal_Shape known_result(octs1);
+  TOctagonal_Shape known_result(oct1);
 
-  bool ok = !octs1.upper_bound_assign_if_exact(octs2);
-  ok &= (octs1 == known_result);
+  bool ok = !oct1.upper_bound_assign_if_exact(oct2);
+  ok &= (oct1 == known_result);
 
-  print_constraints(octs1, "*** octs1.upper_bound_assign_if_exact(octs2) ***");
+  print_constraints(oct1, "*** oct1.upper_bound_assign_if_exact(oct2) ***");
 
   return ok;
 }
@@ -188,22 +188,22 @@ test06() {
   Variable x(0);
   Variable y(1);
 
-  TOctagonal_Shape octs1(2, UNIVERSE);
-  octs1.add_constraint(x == y);
+  TOctagonal_Shape oct1(2, UNIVERSE);
+  oct1.add_constraint(x == y);
 
-  print_constraints(octs1, "*** octs1 ***");
+  print_constraints(oct1, "*** oct1 ***");
 
-  TOctagonal_Shape octs2(2, UNIVERSE);
-  octs2.add_constraint(x == 0);
+  TOctagonal_Shape oct2(2, UNIVERSE);
+  oct2.add_constraint(x == 0);
 
-  print_constraints(octs2, "*** octs2 ***");
+  print_constraints(oct2, "*** oct2 ***");
 
-  TOctagonal_Shape known_result(octs1);
+  TOctagonal_Shape known_result(oct1);
 
-  bool ok = !octs1.upper_bound_assign_if_exact(octs2);
-  ok &= (octs1 == known_result);
+  bool ok = !oct1.upper_bound_assign_if_exact(oct2);
+  ok &= (oct1 == known_result);
 
-  print_constraints(octs1, "*** octs1.upper_bound_assign_if_exact(octs2) ***");
+  print_constraints(oct1, "*** oct1.upper_bound_assign_if_exact(oct2) ***");
 
   return ok;
 }
@@ -213,22 +213,22 @@ test07() {
   Variable x(0);
   Variable y(1);
 
-  TOctagonal_Shape octs1(2, UNIVERSE);
-  octs1.add_constraint(x >= y);
+  TOctagonal_Shape oct1(2, UNIVERSE);
+  oct1.add_constraint(x >= y);
 
-  print_constraints(octs1, "*** octs1 ***");
+  print_constraints(oct1, "*** oct1 ***");
 
-  TOctagonal_Shape octs2(2, UNIVERSE);
-  octs2.add_constraint(x >= 0);
+  TOctagonal_Shape oct2(2, UNIVERSE);
+  oct2.add_constraint(x >= 0);
 
-  print_constraints(octs2, "*** octs2 ***");
+  print_constraints(oct2, "*** oct2 ***");
 
-  TOctagonal_Shape known_result(octs1);
+  TOctagonal_Shape known_result(oct1);
 
-  bool ok = !octs1.upper_bound_assign_if_exact(octs2);
-  ok &= (octs1 == known_result);
+  bool ok = !oct1.upper_bound_assign_if_exact(oct2);
+  ok &= (oct1 == known_result);
 
-  print_constraints(octs1, "*** octs1.upper_bound_assign_if_exact(octs2) ***");
+  print_constraints(oct1, "*** oct1.upper_bound_assign_if_exact(oct2) ***");
 
   return ok;
 }
@@ -238,22 +238,22 @@ test08() {
   Variable x(0);
   Variable y(1);
 
-  TOctagonal_Shape octs1(2, UNIVERSE);
-  octs1.add_constraint(x >= y);
+  TOctagonal_Shape oct1(2, UNIVERSE);
+  oct1.add_constraint(x >= y);
 
-  print_constraints(octs1, "*** octs1 ***");
+  print_constraints(oct1, "*** oct1 ***");
 
-  TOctagonal_Shape octs2(2, UNIVERSE);
-  octs2.add_constraint(x <= y);
+  TOctagonal_Shape oct2(2, UNIVERSE);
+  oct2.add_constraint(x <= y);
 
-  print_constraints(octs2, "*** octs2 ***");
+  print_constraints(oct2, "*** oct2 ***");
 
   TOctagonal_Shape known_result(2, UNIVERSE);
 
-  bool ok = octs1.upper_bound_assign_if_exact(octs2);
-  ok &= (octs1 == known_result);
+  bool ok = oct1.upper_bound_assign_if_exact(oct2);
+  ok &= (oct1 == known_result);
 
-  print_constraints(octs1, "*** octs1.upper_bound_assign_if_exact(octs2) ***");
+  print_constraints(oct1, "*** oct1.upper_bound_assign_if_exact(oct2) ***");
 
   return ok;
 }
@@ -274,29 +274,29 @@ test09() {
   octs.add_constraint(x - y <= 2);
   octs.add_constraint(z - y <= 2);
 
-  TOctagonal_Shape octs1(octs);
-  octs1.add_constraint(z <= 3);
+  TOctagonal_Shape oct1(octs);
+  oct1.add_constraint(z <= 3);
 
-  print_constraints(octs1, "*** octs1 ***");
+  print_constraints(oct1, "*** oct1 ***");
 
-  TOctagonal_Shape octs2(octs);
-  octs2.add_constraint(x - y <= 1);
+  TOctagonal_Shape oct2(octs);
+  oct2.add_constraint(x - y <= 1);
 
   TOctagonal_Shape known_result(octs);
 
-  C_Polyhedron ph1(octs1);
-  C_Polyhedron ph2(octs2);
+  C_Polyhedron ph1(oct1);
+  C_Polyhedron ph2(oct2);
 
   bool exact = ph1.upper_bound_assign_if_exact(ph2);
   nout << "In the c polyhedra domain, upper_bound_assign_if_exact() returns: "
        << exact << std::endl;
   print_constraints(ph1, "*** ph1.upper_bound_assign_if_exact(ph2) ***");
 
-  bool ok = octs1.upper_bound_assign_if_exact(octs2);
+  bool ok = oct1.upper_bound_assign_if_exact(oct2);
 
-  ok &= (octs1 == octs);
+  ok &= (oct1 == octs);
 
-  print_constraints(octs1, "*** octs1.upper_bound_assign_if_exact(octs2) ***");
+  print_constraints(oct1, "*** oct1.upper_bound_assign_if_exact(oct2) ***");
 
   return ok;
 }
@@ -316,20 +316,20 @@ test10() {
   octs.add_constraint(z - y <= 1);
   octs.add_constraint(y + w >= -1);
 
-  TOctagonal_Shape octs1(octs);
-  octs1.add_constraint(x - y <= 2);
+  TOctagonal_Shape oct1(octs);
+  oct1.add_constraint(x - y <= 2);
 
-  print_constraints(octs1, "*** octs1 ***");
+  print_constraints(oct1, "*** oct1 ***");
 
-  TOctagonal_Shape octs2(octs);
-  octs2.add_constraint(z - w <= 2);
+  TOctagonal_Shape oct2(octs);
+  oct2.add_constraint(z - w <= 2);
 
   TOctagonal_Shape known_result(octs);
 
-  bool ok = octs1.upper_bound_assign_if_exact(octs2);
-  ok &= (octs1 == octs);
+  bool ok = oct1.upper_bound_assign_if_exact(oct2);
+  ok &= (oct1 == octs);
 
-  print_constraints(octs1, "*** octs1.upper_bound_assign_if_exact(octs2) ***");
+  print_constraints(oct1, "*** oct1.upper_bound_assign_if_exact(oct2) ***");
 
   return ok;
 }
@@ -369,6 +369,42 @@ test11() {
   return ok;
 }
 
+bool
+test12() {
+  Variable x(0);
+  Variable y(1);
+
+  Octagonal_Shape<mpz_class> oct1(2, UNIVERSE);
+  oct1.add_constraint(x >= 0);
+  oct1.add_constraint(x <= 3);
+  oct1.add_constraint(y >= 0);
+  oct1.add_constraint(y <= 2);
+  oct1.add_constraint(x - y <= 2);
+
+  Octagonal_Shape<mpz_class> oct2(2, UNIVERSE);
+  oct2.add_constraint(x >= 3);
+  oct2.add_constraint(x <= 6);
+  oct2.add_constraint(y >= 0);
+  oct2.add_constraint(y <= 2);
+
+  print_constraints(oct1, "*** oct1 ***");
+  print_constraints(oct2, "*** oct2 ***");
+
+  Octagonal_Shape<mpz_class> known_result(2, UNIVERSE);
+  known_result.add_constraint(x >= 0);
+  known_result.add_constraint(x <= 6);
+  known_result.add_constraint(y >= 0);
+  known_result.add_constraint(y <= 2);
+
+  bool ok = oct1.integer_upper_bound_assign_if_exact(oct2)
+    && (oct1 == known_result);
+
+  print_constraints(oct1,
+                    "*** oct1.integer_upper_bound_assign_if_exact(oct2) ***");
+
+  return ok;
+}
+
 } // namespace
 
 BEGIN_MAIN
@@ -383,4 +419,5 @@ BEGIN_MAIN
   DO_TEST(test09);
   DO_TEST(test10);
   DO_TEST(test11);
+  DO_TEST(test12);
 END_MAIN
diff --git a/tests/Octagonal_Shape/wrap1.cc b/tests/Octagonal_Shape/wrap1.cc
new file mode 100644
index 0000000..68fc180
--- /dev/null
+++ b/tests/Octagonal_Shape/wrap1.cc
@@ -0,0 +1,405 @@
+/* Test Octagonal_Shape::wrap_assign().
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+namespace {
+
+bool
+test01() {
+  Variable x(0);
+  Variable y(1);
+  TOctagonal_Shape oct(2);
+  oct.refine_with_constraint(x >= 224);
+  oct.refine_with_constraint(x-y <= 160);
+  oct.refine_with_constraint(x+y <= 416);
+
+  print_constraints(oct, "*** oct ***");
+
+  Variables_Set vars(x, y);
+
+  oct.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS);
+
+  TOctagonal_Shape known_result(2);
+  typedef TOctagonal_Shape::coefficient_type T;
+  if (!std::numeric_limits<T>::is_bounded
+      || (std::numeric_limits<T>::max() >= 510
+          && (std::numeric_limits<T>::is_iec559
+              || std::numeric_limits<T>::min() <= -510))) {
+    known_result.refine_with_constraint(x >= 0);
+    known_result.refine_with_constraint(x <= 255);
+    known_result.refine_with_constraint(y >= 64);
+    known_result.refine_with_constraint(y <= 192);
+    known_result.refine_with_constraint(+x-y <= 160);
+    known_result.refine_with_constraint(-x+y <= 160);
+    known_result.refine_with_constraint(+x+y >= 96);
+    known_result.refine_with_constraint(+x+y <= 416);
+  }
+  else {
+    known_result.refine_with_constraint(x >= 0);
+    known_result.refine_with_constraint(y >= 0);
+  }
+
+  bool ok = (oct == known_result);
+
+  print_constraints(oct, "*** oct.wrap_assign(...) ***");
+  print_constraints(known_result, "*** known_result ***");
+
+  return ok;
+}
+
+bool
+test02() {
+  Variable x(0);
+  Variable y(1);
+  TOctagonal_Shape oct(2);
+  oct.refine_with_constraint(x >= 224);
+  oct.refine_with_constraint(x-y <= 160);
+  oct.refine_with_constraint(x+y <= 416);
+
+  print_constraints(oct, "*** oct ***");
+
+  Variables_Set vars(x, y);
+
+  Constraint_System cs;
+  cs.insert(x <= y);
+
+  oct.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS, &cs);
+
+  TOctagonal_Shape known_result(2);
+  typedef TOctagonal_Shape::coefficient_type_base T;
+  if (!std::numeric_limits<T>::is_bounded
+      || (std::numeric_limits<T>::max() >= 510
+          && (std::numeric_limits<T>::is_iec559
+              || std::numeric_limits<T>::min() <= -510))) {
+    known_result.refine_with_constraint(x >= 0);
+    known_result.refine_with_constraint(y >= 96);
+    known_result.refine_with_constraint(-x+y >= 96);
+    known_result.refine_with_constraint(+x+y <= 160);
+  }
+  else {
+    known_result.refine_with_constraint(x >= 0);
+    known_result.refine_with_constraint(y >= 0);
+    known_result.refine_with_constraint(+x-y <= 0);
+  }
+
+  bool ok = (oct == known_result);
+
+  print_constraints(oct, "*** oct.wrap_assign(...) ***");
+  print_constraints(known_result, "*** known_result ***");
+
+  return ok;
+}
+
+#if 0
+bool
+test03() {
+  Variable x(0);
+  Variable y(1);
+  TOctagonal_Shape oct(2);
+  oct.refine_with_constraint(x + 1024 == 8*y);
+  oct.refine_with_constraint(-64 <= x);
+  oct.refine_with_constraint(x <= 448);
+
+  print_constraints(oct, "*** oct ***");
+
+  Variables_Set vars(x, y);
+
+  oct.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_UNDEFINED);
+
+  TOctagonal_Shape known_result(2);
+  known_result.refine_with_constraint(x >= 0);
+  known_result.refine_with_constraint(x <= 255);
+  known_result.refine_with_constraint(y >= 120);
+  known_result.refine_with_constraint(y <= 184);
+
+  bool ok = (oct == known_result);
+
+  print_constraints(oct, "*** oct.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test04() {
+  Variable x(0);
+  Variable y(1);
+  TOctagonal_Shape oct(2);
+  oct.refine_with_constraint(x + 1024 == 8*y);
+  oct.refine_with_constraint(-64 <= x);
+  oct.refine_with_constraint(x <= 448);
+
+  print_constraints(oct, "*** oct ***");
+
+  Variables_Set vars(x, y);
+
+  Constraint_System cs;
+  cs.insert(x <= y);
+
+  oct.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_UNDEFINED, &cs);
+
+  TOctagonal_Shape known_result(2);
+  known_result.refine_with_constraint(x >= 0);
+  known_result.refine_with_constraint(y >= 120);
+  known_result.refine_with_constraint(y <= 184);
+  known_result.refine_with_constraint(x <= y);
+
+  bool ok = (oct == known_result);
+
+  print_constraints(oct, "*** oct.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test05() {
+  Variable x(0);
+  Variable y(1);
+  TOctagonal_Shape oct(2);
+  oct.refine_with_constraint(x + 1024 == 8*y);
+  oct.refine_with_constraint(-64 <= x);
+  oct.refine_with_constraint(x <= 448);
+
+  print_constraints(oct, "*** oct ***");
+
+  Variables_Set vars(x, y);
+
+  oct.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_IMPOSSIBLE);
+
+  TOctagonal_Shape known_result(2);
+  known_result.refine_with_constraint(x >= 0);
+  known_result.refine_with_constraint(x <= 255);
+  known_result.refine_with_constraint(x + 1024 == 8*y);
+
+  bool ok = (oct == known_result);
+
+  print_constraints(oct, "*** oct.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test06() {
+  Variable x(0);
+  Variable y(1);
+  TOctagonal_Shape oct(2);
+  oct.refine_with_constraint(x + 1024 == 8*y);
+  oct.refine_with_constraint(-64 <= x);
+  oct.refine_with_constraint(x <= 448);
+
+  print_constraints(oct, "*** oct ***");
+
+  Variables_Set vars(x, y);
+
+  Constraint_System cs;
+  cs.insert(x <= y);
+
+  oct.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_IMPOSSIBLE, &cs);
+
+  TOctagonal_Shape known_result(2);
+  known_result.refine_with_constraint(x >= 0);
+  known_result.refine_with_constraint(7*x <= 1024);
+  known_result.refine_with_constraint(x + 1024 == 8*y);
+
+  bool ok = (oct == known_result);
+
+  print_constraints(oct, "*** oct.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test07() {
+  Variable x(0);
+  Variable y(1);
+  TOctagonal_Shape oct(2);
+  oct.refine_with_constraint(x + 1024 == 8*y);
+
+  print_constraints(oct, "*** oct ***");
+
+  Variables_Set vars(x, y);
+
+  oct.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS);
+
+  TOctagonal_Shape known_result(2);
+  known_result.refine_with_constraint(x >= 0);
+  known_result.refine_with_constraint(x <= 255);
+  known_result.refine_with_constraint(y >= 0);
+  known_result.refine_with_constraint(y <= 255);
+
+  bool ok = (oct == known_result);
+
+  print_constraints(oct, "*** oct.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test08() {
+  Variable x(0);
+  Variable y(1);
+  TOctagonal_Shape oct(2);
+  oct.refine_with_constraint(x + 1024 == 8*y);
+
+  print_constraints(oct, "*** oct ***");
+
+  Variables_Set vars(x, y);
+
+  Constraint_System cs;
+  cs.insert(x <= y);
+
+  oct.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS, &cs);
+
+  TOctagonal_Shape known_result(2);
+  known_result.refine_with_constraint(x >= 0);
+  known_result.refine_with_constraint(y <= 255);
+  known_result.refine_with_constraint(x <= y);
+
+  bool ok = (oct == known_result);
+
+  print_constraints(oct, "*** oct.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test09() {
+  Variable x(0);
+  Variable y(1);
+  TOctagonal_Shape oct(2);
+  oct.refine_with_constraint(x + 1024 == 8*y);
+  oct.refine_with_constraint(-64 <= x);
+  oct.refine_with_constraint(x <= 448);
+
+  print_constraints(oct, "*** oct ***");
+
+  Variables_Set vars(x, y);
+
+  oct.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS, 0, 32, false);
+
+  TOctagonal_Shape known_result(2);
+  known_result.refine_with_constraint(x >= 0);
+  known_result.refine_with_constraint(x <= 255);
+  known_result.refine_with_constraint(x + 24*y >= 3072);
+  known_result.refine_with_constraint(193*x + 504*y <= 129792);
+  known_result.refine_with_constraint(x - 8*y >= -1280);
+  known_result.refine_with_constraint(x - 8*y <= -768);
+
+  bool ok = (oct == known_result);
+
+  print_constraints(oct, "*** oct.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test10() {
+  Variable x(0);
+  Variable y(1);
+  TOctagonal_Shape oct(2);
+  oct.refine_with_constraint(x + 1024 == 8*y);
+  oct.refine_with_constraint(-64 <= x);
+  oct.refine_with_constraint(x <= 448);
+
+  print_constraints(oct, "*** oct ***");
+
+  Variables_Set vars(x, y);
+
+  Constraint_System cs;
+  cs.insert(x <= y);
+
+  oct.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS, &cs, 32, false);
+
+  TOctagonal_Shape known_result(2);
+  known_result.refine_with_constraint(x >= 0);
+  known_result.refine_with_constraint(x <= y);
+  known_result.refine_with_constraint(x - 8*y >= -1280);
+  known_result.refine_with_constraint(x - 8*y <= -1024);
+
+  bool ok = (oct == known_result);
+
+  print_constraints(oct, "*** oct.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test11() {
+  Variable x(0);
+  Variable y(1);
+  TOctagonal_Shape oct(2);
+  oct.refine_with_constraint(x + 1024 == 8*y);
+
+  print_constraints(oct, "*** oct ***");
+
+  Variables_Set vars(x, y);
+
+  oct.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS, 0, 32, false);
+
+  TOctagonal_Shape known_result(2);
+  known_result.refine_with_constraint(x >= 0);
+  known_result.refine_with_constraint(x <= 255);
+  known_result.refine_with_constraint(y >= 0);
+  known_result.refine_with_constraint(y <= 255);
+
+  bool ok = (oct == known_result);
+
+  print_constraints(oct, "*** oct.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test12() {
+  Variable x(0);
+  Variable y(1);
+  TOctagonal_Shape oct(2);
+  oct.refine_with_constraint(x + 1024 == 8*y);
+
+  print_constraints(oct, "*** oct ***");
+
+  Variables_Set vars(x, y);
+
+  Constraint_System cs;
+  cs.insert(x <= y);
+
+  oct.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS, &cs, 32, false);
+
+  TOctagonal_Shape known_result(2);
+  known_result.refine_with_constraint(x >= 0);
+  known_result.refine_with_constraint(y <= 255);
+  known_result.refine_with_constraint(x <= y);
+
+  bool ok = (oct == known_result);
+
+  print_constraints(oct, "*** oct.wrap_assign(...) ***");
+
+  return ok;
+}
+#endif
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST_F8(test01);
+  DO_TEST_F8(test02);
+END_MAIN
diff --git a/tests/Octagonal_Shape/writeoctagon1.cc b/tests/Octagonal_Shape/writeoctagon1.cc
index 8f86868..3535387 100644
--- a/tests/Octagonal_Shape/writeoctagon1.cc
+++ b/tests/Octagonal_Shape/writeoctagon1.cc
@@ -1,5 +1,5 @@
 /* Test operator<<(ostream&, const Octagonal_Shape&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -40,7 +40,7 @@ test01() {
 
   nout << "*** s << oc ***" << endl << "`" << s.str() << "'" << endl;
 
-  return s.str() == "A - B == 4, A + B == 3";
+  return s.str() == "A - B = 4, A + B = 3";
 }
 
 bool
@@ -57,7 +57,7 @@ test02() {
 
   nout << "*** s << oc ***" << endl << "`" << s.str() << "'" << endl;
 
-  return s.str() == "A - B == 5, A + B == -1";
+  return s.str() == "A - B = 5, A + B = -1";
 }
 
 bool
@@ -109,7 +109,7 @@ test05() {
 
   nout << "*** s << oc ***" << endl << "`" << s.str() << "'" << endl;
 
-  return s.str() == "A - B == 4";
+  return s.str() == "A - B = 4";
 }
 
 bool
@@ -127,7 +127,7 @@ test06() {
 
   nout << "*** s << oc ***" << endl << "`" << s.str() << "'" << endl;
 
-  return s.str() == "A + B == 3";
+  return s.str() == "A + B = 3";
 }
 
 bool
@@ -171,7 +171,7 @@ test09() {
 
   nout << "*** s << oc ***" << endl << "`" << s.str() << "'" << endl;
 
-  return s.str() == "2*A == 3, 2*B == 1, A - B == 1, A + B == 2";
+  return s.str() == "2*A = 3, 2*B = 1, A - B = 1, A + B = 2";
 }
 
 bool
@@ -191,7 +191,7 @@ test10() {
 
   nout << "*** s << oc ***" << endl << "`" << s.str() << "'" << endl;
 
-  return s.str() == "A == 3/2, B == 1/2, A - B == 1, A + B == 2";
+  return s.str() == "A = 3/2, B = 1/2, A - B = 1, A + B = 2";
 }
 
 } // namespace
diff --git a/tests/PIP_Problem/Makefile.am b/tests/PIP_Problem/Makefile.am
new file mode 100644
index 0000000..f9d2598
--- /dev/null
+++ b/tests/PIP_Problem/Makefile.am
@@ -0,0 +1,93 @@
+# Automake source file for the Parma Polyhedra Library.
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+#
+# This file is part of the Parma Polyhedra Library (PPL).
+#
+# The PPL is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 3 of the License, or (at your
+# option) any later version.
+#
+# The PPL is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+#
+# For the most up-to-date information see the Parma Polyhedra Library
+# site: http://www.cs.unipr.it/ppl/ .
+
+if VALGRIND_TESTS_ENABLED
+
+CHECKER = \
+$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
+--num-callers=100 --leak-resolution=high \
+--suppressions=$(top_srcdir)/tests/valgrind_suppressions
+
+else !VALGRIND_TESTS_ENABLED
+
+CHECKER =
+
+endif !VALGRIND_TESTS_ENABLED
+
+TESTS_ENVIRONMENT = $(CHECKER)
+
+AM_CPPFLAGS = \
+-I$(top_srcdir)/src \
+-I$(top_builddir)/src \
+-I$(top_srcdir)/utils \
+-I$(top_srcdir)/tests \
+ at extra_includes@ \
+ at debug_flag@
+
+LDADD = \
+$(top_builddir)/utils/libppl_utils.a \
+$(top_builddir)/tests/libppl_tests.a \
+$(top_builddir)/src/libppl.la \
+ at extra_libraries@
+
+TESTS = \
+ascii_dump_load1 \
+exceptions1 \
+pipproblem1 pipproblem2 pipproblem3
+
+XFAIL_TESTS =
+
+BUGS =
+
+#
+# Sources for the tests
+#
+
+ascii_dump_load1_SOURCES = ascii_dump_load1.cc
+
+exceptions1_SOURCES = exceptions1.cc
+
+pipproblem1_SOURCES = pipproblem1.cc
+pipproblem2_SOURCES = pipproblem2.cc
+pipproblem3_SOURCES = pipproblem3.cc
+
+check_PROGRAMS = \
+$(TESTS) \
+$(WATCHDOG_TESTS) \
+$(BUGS)
+
+#EXTRA_DIST =
+
+MOSTLYCLEANFILES = \
+ascii_dump_load1.dat
+
+$(top_builddir)/utils/libppl_utils.a:
+	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/utils libppl_utils.a
+
+$(top_builddir)/tests/libppl_tests.a:
+	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/tests libppl_tests.a
+
+$(top_builddir)/src/libppl.la:
+	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libppl.la
+
+$(top_builddir)/Watchdog/src/libpwl.la:
+	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/Watchdog/src libpwl.la
diff --git a/tests/PIP_Problem/Makefile.in b/tests/PIP_Problem/Makefile.in
new file mode 100644
index 0000000..5cecd01
--- /dev/null
+++ b/tests/PIP_Problem/Makefile.in
@@ -0,0 +1,814 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+# Automake source file for the Parma Polyhedra Library.
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+#
+# This file is part of the Parma Polyhedra Library (PPL).
+#
+# The PPL is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 3 of the License, or (at your
+# option) any later version.
+#
+# The PPL is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+#
+# For the most up-to-date information see the Parma Polyhedra Library
+# site: http://www.cs.unipr.it/ppl/ .
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+TESTS = ascii_dump_load1$(EXEEXT) exceptions1$(EXEEXT) \
+	pipproblem1$(EXEEXT) pipproblem2$(EXEEXT) pipproblem3$(EXEEXT)
+XFAIL_TESTS =
+check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2)
+subdir = tests/PIP_Problem
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
+	$(top_srcdir)/m4/ac_check_fpu_control.m4 \
+	$(top_srcdir)/m4/ac_check_gmp.m4 \
+	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
+	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
+	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
+	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
+	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
+	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
+	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
+	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
+	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
+	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
+	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
+	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
+	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_prog_jar.m4 \
+	$(top_srcdir)/m4/ac_prog_java.m4 \
+	$(top_srcdir)/m4/ac_prog_javac.m4 \
+	$(top_srcdir)/m4/ac_prog_javah.m4 \
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
+	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__EXEEXT_1 = ascii_dump_load1$(EXEEXT) exceptions1$(EXEEXT) \
+	pipproblem1$(EXEEXT) pipproblem2$(EXEEXT) pipproblem3$(EXEEXT)
+am__EXEEXT_2 =
+am_ascii_dump_load1_OBJECTS = ascii_dump_load1.$(OBJEXT)
+ascii_dump_load1_OBJECTS = $(am_ascii_dump_load1_OBJECTS)
+ascii_dump_load1_LDADD = $(LDADD)
+ascii_dump_load1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+am_exceptions1_OBJECTS = exceptions1.$(OBJEXT)
+exceptions1_OBJECTS = $(am_exceptions1_OBJECTS)
+exceptions1_LDADD = $(LDADD)
+exceptions1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_pipproblem1_OBJECTS = pipproblem1.$(OBJEXT)
+pipproblem1_OBJECTS = $(am_pipproblem1_OBJECTS)
+pipproblem1_LDADD = $(LDADD)
+pipproblem1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_pipproblem2_OBJECTS = pipproblem2.$(OBJEXT)
+pipproblem2_OBJECTS = $(am_pipproblem2_OBJECTS)
+pipproblem2_LDADD = $(LDADD)
+pipproblem2_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_pipproblem3_OBJECTS = pipproblem3.$(OBJEXT)
+pipproblem3_OBJECTS = $(am_pipproblem3_OBJECTS)
+pipproblem3_LDADD = $(LDADD)
+pipproblem3_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_$(V))
+am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+am__v_CXX_0 = @echo "  CXX   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_$(V))
+am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
+SOURCES = $(ascii_dump_load1_SOURCES) $(exceptions1_SOURCES) \
+	$(pipproblem1_SOURCES) $(pipproblem2_SOURCES) \
+	$(pipproblem3_SOURCES)
+DIST_SOURCES = $(ascii_dump_load1_SOURCES) $(exceptions1_SOURCES) \
+	$(pipproblem1_SOURCES) $(pipproblem2_SOURCES) \
+	$(pipproblem3_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CIAO_PROLOG = @CIAO_PROLOG@
+CIAO_PROLOG_INCLUDE_OPTIONS = @CIAO_PROLOG_INCLUDE_OPTIONS@
+CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GNU_PROLOG = @GNU_PROLOG@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ISODATE = @ISODATE@
+JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVAH = @JAVAH@
+JNIFLAGS = @JNIFLAGS@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBEXT = @LIBEXT@
+LIBGMP = @LIBGMP@
+LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBGMP = @LTLIBGMP@
+LTLIBGMPXX = @LTLIBGMPXX@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
+MAKEINFO = @MAKEINFO@
+MD5SUM = @MD5SUM@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
+OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
+OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PPL_VERSION_BETA = @PPL_VERSION_BETA@
+PPL_VERSION_MAJOR = @PPL_VERSION_MAJOR@
+PPL_VERSION_MINOR = @PPL_VERSION_MINOR@
+PPL_VERSION_REVISION = @PPL_VERSION_REVISION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SHREXT = @SHREXT@
+SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
+STRIP = @STRIP@
+SWI_PROLOG = @SWI_PROLOG@
+SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
+SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
+TEXT_MD5SUM = @TEXT_MD5SUM@
+VALGRIND = @VALGRIND@
+VERSION = @VERSION@
+XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+ciao_prolog = @ciao_prolog@
+coefficient_mnemonic = @coefficient_mnemonic@
+datadir = @datadir@
+datarootdir = @datarootdir@
+debug_flag = @debug_flag@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+extra_includes = @extra_includes@
+extra_libraries = @extra_libraries@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+required_instantiations = @required_instantiations@
+required_instantiations_c_cxx_headers = @required_instantiations_c_cxx_headers@
+required_instantiations_c_cxx_objects = @required_instantiations_c_cxx_objects@
+required_instantiations_c_cxx_sources = @required_instantiations_c_cxx_sources@
+required_instantiations_canonical_names = @required_instantiations_canonical_names@
+required_instantiations_java_classes = @required_instantiations_java_classes@
+required_instantiations_java_cxx_headers = @required_instantiations_java_cxx_headers@
+required_instantiations_java_cxx_headers_sources = @required_instantiations_java_cxx_headers_sources@
+required_instantiations_java_cxx_objects = @required_instantiations_java_cxx_objects@
+required_instantiations_java_cxx_sources = @required_instantiations_java_cxx_sources@
+required_instantiations_java_sources = @required_instantiations_java_sources@
+required_instantiations_ocaml_cxx_headers = @required_instantiations_ocaml_cxx_headers@
+required_instantiations_ocaml_cxx_objects = @required_instantiations_ocaml_cxx_objects@
+required_instantiations_ocaml_cxx_sources = @required_instantiations_ocaml_cxx_sources@
+required_instantiations_prolog_cxx_headers = @required_instantiations_prolog_cxx_headers@
+required_instantiations_prolog_cxx_objects = @required_instantiations_prolog_cxx_objects@
+required_instantiations_prolog_cxx_sources = @required_instantiations_prolog_cxx_sources@
+required_instantiations_prolog_generated_test_sources = @required_instantiations_prolog_generated_test_sources@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sicstus_prolog = @sicstus_prolog@
+srcdir = @srcdir@
+subdirs = @subdirs@
+swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+uudecode = @uudecode@
+xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
+ at VALGRIND_TESTS_ENABLED_FALSE@CHECKER = 
+ at VALGRIND_TESTS_ENABLED_TRUE@CHECKER = \
+ at VALGRIND_TESTS_ENABLED_TRUE@$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
+ at VALGRIND_TESTS_ENABLED_TRUE@--num-callers=100 --leak-resolution=high \
+ at VALGRIND_TESTS_ENABLED_TRUE@--suppressions=$(top_srcdir)/tests/valgrind_suppressions
+
+TESTS_ENVIRONMENT = $(CHECKER)
+AM_CPPFLAGS = \
+-I$(top_srcdir)/src \
+-I$(top_builddir)/src \
+-I$(top_srcdir)/utils \
+-I$(top_srcdir)/tests \
+ at extra_includes@ \
+ at debug_flag@
+
+LDADD = \
+$(top_builddir)/utils/libppl_utils.a \
+$(top_builddir)/tests/libppl_tests.a \
+$(top_builddir)/src/libppl.la \
+ at extra_libraries@
+
+BUGS = 
+
+#
+# Sources for the tests
+#
+ascii_dump_load1_SOURCES = ascii_dump_load1.cc
+exceptions1_SOURCES = exceptions1.cc
+pipproblem1_SOURCES = pipproblem1.cc
+pipproblem2_SOURCES = pipproblem2.cc
+pipproblem3_SOURCES = pipproblem3.cc
+
+#EXTRA_DIST =
+MOSTLYCLEANFILES = \
+ascii_dump_load1.dat
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cc .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/PIP_Problem/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign tests/PIP_Problem/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-checkPROGRAMS:
+	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
+ascii_dump_load1$(EXEEXT): $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_DEPENDENCIES) 
+	@rm -f ascii_dump_load1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_LDADD) $(LIBS)
+exceptions1$(EXEEXT): $(exceptions1_OBJECTS) $(exceptions1_DEPENDENCIES) 
+	@rm -f exceptions1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(exceptions1_OBJECTS) $(exceptions1_LDADD) $(LIBS)
+pipproblem1$(EXEEXT): $(pipproblem1_OBJECTS) $(pipproblem1_DEPENDENCIES) 
+	@rm -f pipproblem1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(pipproblem1_OBJECTS) $(pipproblem1_LDADD) $(LIBS)
+pipproblem2$(EXEEXT): $(pipproblem2_OBJECTS) $(pipproblem2_DEPENDENCIES) 
+	@rm -f pipproblem2$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(pipproblem2_OBJECTS) $(pipproblem2_LDADD) $(LIBS)
+pipproblem3$(EXEEXT): $(pipproblem3_OBJECTS) $(pipproblem3_DEPENDENCIES) 
+	@rm -f pipproblem3$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(pipproblem3_OBJECTS) $(pipproblem3_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ascii_dump_load1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/exceptions1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pipproblem1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pipproblem2.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pipproblem3.Po at am__quote@
+
+.cc.o:
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+
+.cc.obj:
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cc.lo:
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	set x; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
+	srcdir=$(srcdir); export srcdir; \
+	list=' $(TESTS) '; \
+	$(am__tty_colors); \
+	if test -n "$$list"; then \
+	  for tst in $$list; do \
+	    if test -f ./$$tst; then dir=./; \
+	    elif test -f $$tst; then dir=; \
+	    else dir="$(srcdir)/"; fi; \
+	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+	      all=`expr $$all + 1`; \
+	      case " $(XFAIL_TESTS) " in \
+	      *[\ \	]$$tst[\ \	]*) \
+		xpass=`expr $$xpass + 1`; \
+		failed=`expr $$failed + 1`; \
+		col=$$red; res=XPASS; \
+	      ;; \
+	      *) \
+		col=$$grn; res=PASS; \
+	      ;; \
+	      esac; \
+	    elif test $$? -ne 77; then \
+	      all=`expr $$all + 1`; \
+	      case " $(XFAIL_TESTS) " in \
+	      *[\ \	]$$tst[\ \	]*) \
+		xfail=`expr $$xfail + 1`; \
+		col=$$lgn; res=XFAIL; \
+	      ;; \
+	      *) \
+		failed=`expr $$failed + 1`; \
+		col=$$red; res=FAIL; \
+	      ;; \
+	      esac; \
+	    else \
+	      skip=`expr $$skip + 1`; \
+	      col=$$blu; res=SKIP; \
+	    fi; \
+	    echo "$${col}$$res$${std}: $$tst"; \
+	  done; \
+	  if test "$$all" -eq 1; then \
+	    tests="test"; \
+	    All=""; \
+	  else \
+	    tests="tests"; \
+	    All="All "; \
+	  fi; \
+	  if test "$$failed" -eq 0; then \
+	    if test "$$xfail" -eq 0; then \
+	      banner="$$All$$all $$tests passed"; \
+	    else \
+	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+	    fi; \
+	  else \
+	    if test "$$xpass" -eq 0; then \
+	      banner="$$failed of $$all $$tests failed"; \
+	    else \
+	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+	    fi; \
+	  fi; \
+	  dashes="$$banner"; \
+	  skipped=""; \
+	  if test "$$skip" -ne 0; then \
+	    if test "$$skip" -eq 1; then \
+	      skipped="($$skip test was not run)"; \
+	    else \
+	      skipped="($$skip tests were not run)"; \
+	    fi; \
+	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+	      dashes="$$skipped"; \
+	  fi; \
+	  report=""; \
+	  if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+	    report="Please report to $(PACKAGE_BUGREPORT)"; \
+	    test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+	      dashes="$$report"; \
+	  fi; \
+	  dashes=`echo "$$dashes" | sed s/./=/g`; \
+	  if test "$$failed" -eq 0; then \
+	    echo "$$grn$$dashes"; \
+	  else \
+	    echo "$$red$$dashes"; \
+	  fi; \
+	  echo "$$banner"; \
+	  test -z "$$skipped" || echo "$$skipped"; \
+	  test -z "$$report" || echo "$$report"; \
+	  echo "$$dashes$$std"; \
+	  test "$$failed" -eq 0; \
+	else :; fi
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
+	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
+	mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+	clean-checkPROGRAMS clean-generic clean-libtool ctags \
+	distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags uninstall uninstall-am
+
+
+$(top_builddir)/utils/libppl_utils.a:
+	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/utils libppl_utils.a
+
+$(top_builddir)/tests/libppl_tests.a:
+	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/tests libppl_tests.a
+
+$(top_builddir)/src/libppl.la:
+	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libppl.la
+
+$(top_builddir)/Watchdog/src/libpwl.la:
+	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/Watchdog/src libpwl.la
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/tests/PIP_Problem/ascii_dump_load1.cc b/tests/PIP_Problem/ascii_dump_load1.cc
new file mode 100644
index 0000000..faa6c28
--- /dev/null
+++ b/tests/PIP_Problem/ascii_dump_load1.cc
@@ -0,0 +1,294 @@
+/* Test PIP_Problem::ascii_dump() and PIP_Problem::ascii_load().
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+#include "files.hh"
+#include <string>
+#include <fstream>
+
+using std::string;
+using std::fstream;
+using std::ios_base;
+
+namespace {
+
+bool
+test01() {
+  const char* my_file = "ascii_dump_load1.dat";
+
+  Variable A(0);
+  Constraint_System cs;
+  cs.insert(A >= 1);
+
+  PIP_Problem pip1(3, cs.begin(), cs.end(), Variables_Set());
+  pip1.clear();
+
+  fstream f;
+  open(f, my_file, ios_base::out);
+  pip1.ascii_dump(f);
+  close(f);
+
+  open(f, my_file, ios_base::in);
+  PIP_Problem pip2;
+  pip2.ascii_load(f);
+  close(f);
+
+  bool ok = pip1.space_dimension() == 0
+    && pip2.space_dimension() == 0
+    && pip1.constraints_begin() == pip1.constraints_end()
+    && pip2.constraints_begin() == pip2.constraints_end();
+
+  return ok;
+}
+
+bool
+test02() {
+  const char* my_file = "ascii_dump_load1.dat";
+
+  PIP_Problem pip1(3);
+  pip1.solve();
+
+  fstream f;
+  open(f, my_file, ios_base::out);
+  pip1.ascii_dump(f);
+  close(f);
+
+  open(f, my_file, ios_base::in);
+  PIP_Problem pip2;
+  pip2.ascii_load(f);
+  close(f);
+
+  bool ok = pip1.space_dimension() == 3
+    && pip2.space_dimension() == 3
+    && pip1.constraints_begin() == pip1.constraints_end()
+    && pip2.constraints_begin() == pip2.constraints_end();
+
+  return ok;
+}
+
+bool
+test03() {
+  const char* my_file = "ascii_dump_load1.dat";
+
+  Variable A(0);
+  Constraint_System cs;
+  cs.insert(A >= 1);
+  cs.insert(A <= 0);
+
+  PIP_Problem pip1(1, cs.begin(), cs.end(), Variables_Set());
+  pip1.set_control_parameter(PIP_Problem::CUTTING_STRATEGY_DEEPEST);
+  pip1.solve();
+
+  fstream f;
+  open(f, my_file, ios_base::out);
+  pip1.ascii_dump(f);
+  close(f);
+
+  open(f, my_file, ios_base::in);
+  PIP_Problem pip2;
+  pip2.ascii_load(f);
+  close(f);
+
+  bool ok = pip1.space_dimension() == pip2.space_dimension()
+    && 2 == std::distance(pip1.constraints_begin(), pip1.constraints_end())
+    && 2 == std::distance(pip2.constraints_begin(), pip2.constraints_end());
+
+  return ok;
+}
+
+bool
+test04() {
+  const char* my_file = "ascii_dump_load1.dat";
+
+  Variable A(0);
+  Constraint_System cs;
+  cs.insert(A >= 5);
+
+  PIP_Problem pip1(3, cs.begin(), cs.end(), Variables_Set());
+
+  fstream f;
+  open(f, my_file, ios_base::out);
+  pip1.ascii_dump(f);
+  close(f);
+
+  open(f, my_file, ios_base::in);
+  PIP_Problem pip2;
+  pip2.ascii_load(f);
+  close(f);
+
+  bool ok = pip1.space_dimension() == pip2.space_dimension()
+    && 1 == std::distance(pip1.constraints_begin(), pip1.constraints_end())
+    && 1 == std::distance(pip2.constraints_begin(), pip2.constraints_end());
+
+  return ok;
+}
+
+bool
+test05() {
+  const char* my_file = "ascii_dump_load1.dat";
+
+  Variable A(0);
+  Variable P(1);
+  Constraint_System cs;
+  cs.insert(A >= 1);
+  cs.insert(A <= 0);
+
+  PIP_Problem pip1(2, cs.begin(), cs.end(), Variables_Set(P));
+  pip1.set_control_parameter(PIP_Problem::CUTTING_STRATEGY_ALL);
+  pip1.set_control_parameter(PIP_Problem::PIVOT_ROW_STRATEGY_MAX_COLUMN);
+  pip1.set_big_parameter_dimension(1);
+  pip1.solve();
+
+  fstream f;
+  open(f, my_file, ios_base::out);
+  pip1.ascii_dump(f);
+  close(f);
+
+  open(f, my_file, ios_base::in);
+  PIP_Problem pip2;
+  pip2.ascii_load(f);
+  close(f);
+
+  bool ok = pip1.space_dimension() == pip2.space_dimension()
+    && 2 == std::distance(pip1.constraints_begin(), pip1.constraints_end())
+    && 2 == std::distance(pip2.constraints_begin(), pip2.constraints_end());
+
+  return ok;
+}
+
+bool
+test06() {
+  PIP_Problem pip1;
+  using namespace IO_Operators;
+  nout << pip1 << endl;
+  return true;
+}
+
+bool
+test07() {
+  Variable X1(0);
+  Variable X2(1);
+  Variable I0(2);
+  Variable J0(3);
+  Variable N(4);
+  Variables_Set params(I0, N);
+
+  Constraint_System cs;
+  cs.insert(-X1 + N - 1 >= 0);
+  cs.insert(X1 - X2 >= 0);
+  cs.insert(X1 + I0 == N);
+  cs.insert(X2 + J0 - N - 1 >= 0);
+  cs.insert(I0 >= 1);
+  cs.insert(N >= 1);
+
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+
+  (void) pip.solve();
+
+  std::stringstream ss;
+  pip.ascii_dump(ss);
+
+  PIP_Problem pip2;
+  bool ok = pip2.ascii_load(ss);
+
+  std::stringstream ss2;
+  pip2.ascii_dump(ss2);
+
+  ok &= (ss.str() == ss2.str());
+
+  // This further check is mainly made for coverage purposes.
+  memory_size_type total = pip2.total_memory_in_bytes();
+  memory_size_type external = pip2.external_memory_in_bytes();
+  ok &= (external < total);
+
+  return ok;
+}
+
+bool
+test08() {
+  typedef PIP_Tree_Node::Artificial_Parameter Art_Param;
+
+  Variable A(0);
+
+  Art_Param ap1(3*A + 8, -5);
+  std::stringstream ss1;
+  ap1.ascii_dump(ss1);
+
+  Art_Param ap2;
+  bool ok = ap2.ascii_load(ss1);
+
+  std::stringstream ss2;
+  ap2.ascii_dump(ss2);
+
+  ok &= (ap1 == ap2) && (ss1.str() == ss2.str());
+
+  return ok;
+}
+
+bool
+test09() {
+  Variable i(0);
+  Variable j(1);
+  Variable n(2);
+  Variable m(3);
+  Variables_Set params(n, m);
+
+  Constraint_System cs;
+  cs.insert(3*j >= -2*i+8);
+  cs.insert(j <= 4*i - 4);
+  cs.insert(j <= m);
+  cs.insert(i <= n);
+
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+  // Compute the solution tree.
+  (void) pip.solve();
+  // Printing ensures parametric solution values are generated.
+  pip.print_solution(nout);
+
+  std::stringstream ss;
+  pip.ascii_dump(ss);
+
+  PIP_Problem pip2;
+  bool ok = pip2.ascii_load(ss);
+
+  std::stringstream ss2;
+  pip2.ascii_dump(ss2);
+
+  ok &= (ss.str() == ss2.str());
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST(test08);
+  DO_TEST_F8(test09);
+END_MAIN
diff --git a/tests/PIP_Problem/exceptions1.cc b/tests/PIP_Problem/exceptions1.cc
new file mode 100644
index 0000000..769651b
--- /dev/null
+++ b/tests/PIP_Problem/exceptions1.cc
@@ -0,0 +1,382 @@
+/* Test that the right exceptions are thrown in case of incorrect uses.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+namespace {
+
+bool
+test01() {
+  Constraint_System cs;
+  Variable x(0);
+  Variables_Set params(x);
+
+  try {
+    // This is an incorrect use of the constructor:
+    // the parameters in `params' should be space dimensions
+    // that are valid for the PIP_Problem we are going to build.
+    PIP_Problem pip(0, cs.begin(), cs.end(), params);
+  }
+  catch (std::invalid_argument& e) {
+    nout << "invalid_argument: " << e.what() << endl << endl;
+    return true;
+  }
+  catch (...) {
+  }
+  return false;
+}
+
+bool
+test02() {
+  Constraint_System cs;
+
+  try {
+    // This is an incorrect use of the constructor:
+    // invalid space dimension required.
+    PIP_Problem pip(1 + PIP_Problem::max_space_dimension(),
+                    cs.begin(), cs.end(), Variables_Set());
+  }
+  catch (std::length_error& e) {
+    nout << "length_error: " << e.what() << endl << endl;
+    return true;
+  }
+  catch (...) {
+  }
+  return false;
+}
+
+bool
+test03() {
+  try {
+    // This is an incorrect use of the constructor:
+    // invalid space dimension required.
+    PIP_Problem pip(1 + PIP_Problem::max_space_dimension());
+  }
+  catch (std::length_error& e) {
+    nout << "length_error: " << e.what() << endl << endl;
+    return true;
+  }
+  catch (...) {
+  }
+  return false;
+}
+
+bool
+test04() {
+  PIP_Problem pip;
+  try {
+    // Adding too many space dimensions.
+    pip.add_space_dimensions_and_embed(1, PIP_Problem::max_space_dimension());
+  }
+  catch (std::length_error& e) {
+    nout << "length_error: " << e.what() << endl << endl;
+    return true;
+  }
+  catch (...) {
+  }
+  return false;
+}
+
+bool
+test05() {
+  Variable X(0);
+  Variable Y(1);
+  Variable Z(2);
+  Constraint_System cs;
+  cs.insert(X == 0);
+  cs.insert(Y == 1);
+  cs.insert(Z <= 2);
+
+  try {
+    // This is an incorrect use of the constructor:
+    // the space dimensions of the constraints should not be greater
+    // than the space dimension of the PIP problem.
+    PIP_Problem pip(2, cs.begin(), cs.end(), Variables_Set());
+  }
+  catch (std::invalid_argument& e) {
+    nout << "invalid_argument: " << e.what() << endl << endl;
+    return true;
+  }
+  catch (...) {
+  }
+  return false;
+}
+
+bool
+test06() {
+  PIP_Problem pip;
+  try {
+    // Adding invalid parameter space dimensions.
+    Variable m(4);
+    pip.add_to_parameter_space_dimensions(Variables_Set(m));
+  }
+  catch (std::invalid_argument& e) {
+    nout << "invalid_argument: " << e.what() << endl << endl;
+    return true;
+  }
+  catch (...) {
+  }
+  return false;
+}
+
+bool
+test07() {
+  PIP_Problem pip;
+  try {
+    // Adding space dimension incompatible constraint.
+    Variable x(2);
+    pip.add_constraint(x >= 0);
+  }
+  catch (std::invalid_argument& e) {
+    nout << "invalid_argument: " << e.what() << endl << endl;
+    return true;
+  }
+  catch (...) {
+  }
+  return false;
+}
+
+bool
+test08() {
+  PIP_Problem pip;
+  try {
+    // Setting an invalid control parameter value.
+    pip.set_control_parameter(PIP_Problem::CONTROL_PARAMETER_VALUE_SIZE);
+  }
+  catch (std::invalid_argument& e) {
+    nout << "invalid_argument: " << e.what() << endl << endl;
+    return true;
+  }
+  catch (...) {
+  }
+  return false;
+}
+
+bool
+test09() {
+  Variable X1(0);
+  Variable X2(1);
+  Variable I0(2);
+  Variable J0(3);
+  Variable N(4);
+  Variables_Set params(I0, N);
+
+  Constraint_System cs;
+  cs.insert(-X1 + N - 1 >= 0);
+  cs.insert(X1 - X2 >= 0);
+  cs.insert(X1 + I0 == N);
+  cs.insert(X2 + J0 - N - 1 >= 0);
+  cs.insert(I0 >= 1);
+  cs.insert(N >= 1);
+
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+  (void) pip.is_satisfiable();
+  // Adding 2 additional space dimensions.
+  pip.add_space_dimensions_and_embed(2, 0);
+
+  try {
+    // Trying to mark a problem variable as a parameter.
+    pip.add_to_parameter_space_dimensions(Variables_Set(X1));
+  }
+  catch (std::invalid_argument& e) {
+    nout << "invalid_argument: " << e.what() << endl << endl;
+    return true;
+  }
+  catch (...) {
+  }
+  return false;
+}
+
+bool
+test10() {
+  PIP_Problem pip;
+
+  try {
+    // Trying to set an invalid big parameter dimension.
+    pip.set_big_parameter_dimension(1);
+  }
+  catch (std::invalid_argument& e) {
+    nout << "invalid_argument: " << e.what() << endl << endl;
+    return true;
+  }
+  catch (...) {
+  }
+  return false;
+}
+
+bool
+test11() {
+  Variable X1(0);
+  Variable X2(1);
+  Variable I0(2);
+  Variable J0(3);
+  Variable N(4);
+  Variables_Set params(I0, N);
+
+  Constraint_System cs;
+  cs.insert(-X1 + N - 1 >= 0);
+  cs.insert(X1 - X2 >= 0);
+  cs.insert(X1 + I0 == N);
+  cs.insert(X2 + J0 - N - 1 >= 0);
+  cs.insert(I0 >= 1);
+  cs.insert(N >= 1);
+
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+  (void) pip.is_satisfiable();
+  // Adding 2 additional space dimensions.
+  pip.add_space_dimensions_and_embed(2, 0);
+
+  try {
+    // Trying to set an invalid big parameter dimension.
+    pip.set_big_parameter_dimension(3);
+  }
+  catch (std::invalid_argument& e) {
+    nout << "invalid_argument: " << e.what() << endl << endl;
+    return true;
+  }
+  catch (...) {
+  }
+  return false;
+}
+
+bool
+test12() {
+  typedef PIP_Tree_Node::Artificial_Parameter Art_Param;
+  Variable A(0);
+
+  try {
+    // Trying to set an invalid (zero) denominator.
+    Art_Param ap(3*A + 8, 0);
+  }
+  catch (std::invalid_argument& e) {
+    nout << "invalid_argument: " << e.what() << endl << endl;
+    return true;
+  }
+  catch (...) {
+  }
+  return false;
+}
+
+bool
+test13() {
+  PIP_Problem pip;
+  try {
+    // Printing the solution before trying to solve the problem.
+    pip.print_solution(nout);
+  }
+  catch (std::logic_error& e) {
+    nout << "logic_error: " << e.what() << endl << endl;
+    return true;
+  }
+  catch (...) {
+  }
+  return false;
+}
+
+bool
+test14() {
+  Variable i(0);
+  Variable j(1);
+  Variable n(2);
+  Variable m(3);
+  Variables_Set params(n, m);
+
+  Constraint_System cs;
+  cs.insert(3*j >= -2*i+8);
+  cs.insert(j <= 4*i - 4);
+  cs.insert(j <= m);
+  cs.insert(i <= n);
+
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+  (void) pip.solve();
+
+  const PIP_Decision_Node* root = pip.solution()->as_decision();
+  const PIP_Decision_Node* t_child = root->child_node(true)->as_decision();
+  const PIP_Solution_Node* t_t_child = t_child->child_node(true)->as_solution();
+
+  try {
+    // It is illegal to ask for the parametric value of a parameter.
+    (void) t_t_child->parametric_values(n);
+  }
+  catch (std::invalid_argument& e) {
+    nout << "invalid_argument: " << e.what() << endl << endl;
+    return true;
+  }
+  catch (...) {
+  }
+  return false;
+}
+
+bool
+test15() {
+  Variable i(0);
+  Variable j(1);
+  Variable n(2);
+  Variable m(3);
+  Variables_Set params(n, m);
+
+  Constraint_System cs;
+  cs.insert(3*j >= -2*i+8);
+  cs.insert(j <= 4*i - 4);
+  cs.insert(j <= m);
+  cs.insert(i <= n);
+
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+  (void) pip.solve();
+
+  const PIP_Decision_Node* root = pip.solution()->as_decision();
+  const PIP_Decision_Node* t_child = root->child_node(true)->as_decision();
+  const PIP_Solution_Node* t_t_child = t_child->child_node(true)->as_solution();
+
+  try {
+    // It is illegal to ask for the parametric value of a variable
+    // having space dimension greater than that o fthe problem.
+    (void) t_t_child->parametric_values(Variable(4));
+  }
+  catch (std::invalid_argument& e) {
+    nout << "invalid_argument: " << e.what() << endl << endl;
+    return true;
+  }
+  catch (...) {
+  }
+  return false;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST(test08);
+  DO_TEST(test09);
+  DO_TEST(test10);
+  DO_TEST(test11);
+  DO_TEST(test12);
+  DO_TEST(test13);
+  DO_TEST_F8(test14);
+  DO_TEST_F8(test15);
+END_MAIN
diff --git a/tests/PIP_Problem/pipproblem1.cc b/tests/PIP_Problem/pipproblem1.cc
new file mode 100644
index 0000000..fc35a16
--- /dev/null
+++ b/tests/PIP_Problem/pipproblem1.cc
@@ -0,0 +1,812 @@
+/* Test the PIP_Problem class.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+namespace {
+
+bool
+test01() {
+  Variable X1(0);
+  Variable X2(1);
+  Variable I0(2);
+  Variable J0(3);
+  Variable N(4);
+  Variables_Set params(I0, N);
+
+  Constraint_System cs;
+  cs.insert(-X1 + N - 1 >= 0);
+  cs.insert(X1 - X2 >= 0);
+  cs.insert(X1 + I0 == N);
+  cs.insert(X2 + J0 - N - 1 >= 0);
+  cs.insert(I0 >= 1);
+  cs.insert(N >= 1);
+
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+
+  bool ok = (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  if (ok) {
+    const PIP_Tree solution = pip.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+  }
+
+  return ok;
+}
+
+bool
+test02() {
+  Variable i(0);
+  Variable j(1);
+  Variable n(2);
+  Variable m(3);
+  Variables_Set params(n, m);
+
+  Constraint_System cs;
+  cs.insert(3*j >= -2*i+8);
+  cs.insert(j <= 4*i - 4);
+  cs.insert(j <= m);
+  //cs.insert(j >= 0);
+  cs.insert(i <= n);
+
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+
+  bool ok = (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  if (ok) {
+    const PIP_Tree solution = pip.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+
+    // Programmatically check the expected solution.
+    const PIP_Decision_Node* root = solution->as_decision();
+    if (root == 0)
+      return false;
+    {
+      // Check the root node.
+      if (root->art_parameter_count() != 0)
+        return false;
+      const Constraint_System& cs = root->constraints();
+      if (std::distance(cs.begin(), cs.end()) != 1)
+        return false;
+      const Constraint& c = *cs.begin();
+      if (!(c.is_inequality()
+            && c.coefficient(n) == 7
+            && c.coefficient(m) == 0
+            && c.inhomogeneous_term() == -10))
+        return false;
+    }
+    if (root->child_node(true) == 0 || root->child_node(false) != 0)
+      return false;
+    const PIP_Decision_Node* t_child = root->child_node(true)->as_decision();
+    if (t_child == 0)
+      return false;
+    {
+      // Check t_child node context.
+      if (t_child->art_parameter_count() != 0)
+        return false;
+      const Constraint_System& cs = t_child->constraints();
+      if (std::distance(cs.begin(), cs.end()) != 1)
+        return false;
+      const Constraint& c = *cs.begin();
+      if (!(c.is_inequality()
+            && c.coefficient(n) == 0
+            && c.coefficient(m) == 7
+            && c.inhomogeneous_term() == -12))
+        return false;
+      // Dummy print of (non-root) tree node to increase code coverage.
+      using namespace IO_Operators;
+      nout << "\nPrinting the root's true child subtree:\n";
+      nout << (*t_child) << endl;
+    }
+    if (t_child->child_node(true) == 0 || t_child->child_node(false) == 0)
+      return false;
+    const PIP_Solution_Node* t_t_child
+      = t_child->child_node(true)->as_solution();
+    if (t_t_child == 0)
+      return false;
+    {
+      // Check t_t_child node.
+      if (t_t_child->art_parameter_count() != 0)
+        return false;
+      const Constraint_System& cs = t_t_child->constraints();
+      if (std::distance(cs.begin(), cs.end()) != 0)
+        return false;
+      const Linear_Expression& v_i = t_t_child->parametric_values(i);
+      if (!(v_i.coefficient(n) == 0
+            && v_i.coefficient(m) == 0
+            && v_i.inhomogeneous_term() == 2))
+        return false;
+      const Linear_Expression& v_j = t_t_child->parametric_values(j);
+      if (!(v_j.coefficient(n) == 0
+            && v_j.coefficient(m) == 0
+            && v_j.inhomogeneous_term() == 2))
+        return false;
+    }
+    const PIP_Solution_Node* t_f_child
+      = t_child->child_node(false)->as_solution();
+    if (t_f_child == 0)
+      return false;
+    {
+      // Check t_f_child node.
+      // Check artificial parameter.
+      if (t_f_child->art_parameter_count() != 1)
+        return false;
+      const PIP_Tree_Node::Artificial_Parameter& ap
+        = *(t_f_child->art_parameter_begin());
+      if (!(ap.coefficient(n) == 0
+            && ap.coefficient(m) == 1
+            && ap.denominator() == 2))
+        return false;
+      // Check context.
+      const Constraint_System& cs = t_f_child->constraints();
+      if (std::distance(cs.begin(), cs.end()) != 1)
+        return false;
+      const Constraint& c = *cs.begin();
+      if (!(c.is_inequality()
+            && c.coefficient(n) == 2
+            && c.coefficient(m) == 3
+            && c.inhomogeneous_term() == -8))
+        return false;
+      // Check parametric values.
+      Variable art_p(4);
+      const Linear_Expression& v_i = t_f_child->parametric_values(i);
+      if (!(v_i.coefficient(n) == 0
+            && v_i.coefficient(m) == -1
+            && v_i.coefficient(art_p) == -1
+            && v_i.inhomogeneous_term() == 4))
+        return false;
+      const Linear_Expression& v_j = t_f_child->parametric_values(j);
+      if (!(v_j.coefficient(n) == 0
+            && v_j.coefficient(m) == 1
+            && v_j.coefficient(art_p) == 0
+            && v_j.inhomogeneous_term() == 0))
+        return false;
+    }
+  }
+  return ok;
+}
+
+bool
+test03() {
+  Variable i(0);
+  Variable j(1);
+  Variable k(2);
+  Variable m(3);
+  Variable n(4);
+  Variables_Set params(k, n);
+
+  Constraint_System cs;
+  cs.insert(i <= m);
+  cs.insert(j <= n);
+  cs.insert(2*i+j == 2*m+n-k);
+
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+
+  bool ok = (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  if (ok) {
+    const PIP_Tree solution = pip.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+  }
+
+  return ok;
+}
+
+bool
+test04() {
+  Variable i(0);
+  Variable j(1);
+  Variable k(2);
+  Variable m(3);
+  Variable n(4);
+  Variables_Set params(k, n);
+
+  Constraint_System cs;
+  cs.insert(i <= m);
+  cs.insert(j <= n);
+  cs.insert(2*i+j == 2*m+n-k);
+
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+
+  bool ok = (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  if (ok) {
+    const PIP_Tree solution = pip.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+  }
+
+  // Test copy constructor.
+  {
+    PIP_Problem pip_copy = pip;
+    // Here we call the destructor of pip_copy
+    // and we also destroy the (copied) solution tree of pip_copy.
+    const PIP_Tree solution = pip_copy.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+  }
+
+  return ok;
+}
+
+bool
+test05() {
+  Variable i(0);
+  Variable j(1);
+  Variable m(2);
+  Variable n(3);
+  Variables_Set params(m, n);
+
+  Constraint_System cs;
+  cs.insert(3*j >= -2*i+8);
+  cs.insert(j <= 4*i - 4);
+  cs.insert(i <= n);
+  cs.insert(j <= m);
+  cs.insert(n >= 3);
+
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+
+  bool ok = (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  if (ok) {
+    const PIP_Tree solution = pip.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+  }
+
+  return ok;
+}
+
+bool
+test06() {
+  Variable i(0);
+  Variable n(1);
+  Variables_Set params(n);
+
+  Constraint_System cs;
+  cs.insert(4*i + 2*n == 1);
+
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+
+  bool ok = (pip.solve() == UNFEASIBLE_PIP_PROBLEM);
+  if (ok)
+    pip.print_solution(nout);
+
+  return ok;
+}
+
+bool
+test07() {
+  Variable i(0);
+  Variable j(1);
+  Variable m(2);
+  Variable n(3);
+  Variables_Set params(m, n);
+
+  PIP_Problem pip(4);
+  pip.add_to_parameter_space_dimensions(params);
+
+  pip.add_constraint(3*j >= -2*i+8);
+  pip.add_constraint(j <= 4*i - 4);
+  pip.add_constraint(i <= n);
+  pip.add_constraint(n >= 3);
+  bool ok = (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  if (ok) {
+    const PIP_Tree solution = pip.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+  }
+
+  pip.add_constraint(j <= m);
+  ok &= (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  if (ok) {
+    const PIP_Tree solution = pip.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+  }
+
+  return ok;
+}
+
+bool
+test08() {
+  Variable i(0);
+  Variable j(1);
+  Variable m(2);
+  Variable n(3);
+  Variables_Set params(m, n);
+
+  PIP_Problem pip(4);
+  pip.add_to_parameter_space_dimensions(params);
+
+  Constraint_System cs;
+  cs.insert(3*j >= -2*i+8);
+  cs.insert(j <= 4*i - 4);
+  cs.insert(i <= n);
+  cs.insert(n >= 3);
+  cs.insert(j <= m);
+
+  pip.add_constraints(cs);
+
+  pip.set_control_parameter(PIP_Problem::PIVOT_ROW_STRATEGY_MAX_COLUMN);
+
+  bool ok = pip.is_satisfiable();
+  if (ok) {
+    const PIP_Tree solution = pip.optimizing_solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+    pip.clear();
+  }
+
+  return ok;
+}
+
+bool
+test09() {
+  // Same problem as test02, but using CUTTING_STRATEGY_DEEPEST.
+  Variable i(0);
+  Variable j(1);
+  Variable n(2);
+  Variable m(3);
+  Variables_Set params(n, m);
+
+  Constraint_System cs;
+  cs.insert(3*j >= -2*i+8);
+  cs.insert(j <= 4*i - 4);
+  cs.insert(j <= m);
+  //cs.insert(j >= 0);
+  cs.insert(i <= n);
+
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+  pip.set_control_parameter(PIP_Problem::CUTTING_STRATEGY_DEEPEST);
+
+  bool ok = (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  if (ok) {
+    const PIP_Tree solution = pip.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+  }
+
+  return ok;
+}
+
+bool
+test10() {
+  // Same problem as test02, but using CUTTING_STRATEGY_ALL.
+  Variable i(0);
+  Variable j(1);
+  Variable n(2);
+  Variable m(3);
+  Variables_Set params(n, m);
+
+  Constraint_System cs;
+  cs.insert(3*j >= -2*i+8);
+  cs.insert(j <= 4*i - 4);
+  cs.insert(j <= m);
+  //cs.insert(j >= 0);
+  cs.insert(i <= n);
+
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+  pip.set_control_parameter(PIP_Problem::CUTTING_STRATEGY_ALL);
+
+  bool ok = (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  if (ok) {
+    const PIP_Tree solution = pip.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+  }
+
+  return ok;
+}
+
+bool
+test11() {
+  // 0-dimension trivial PIP problem.
+  PIP_Problem pip;
+
+  bool ok = (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  if (ok) {
+    const PIP_Tree solution = pip.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+  }
+  return ok;
+}
+
+bool
+test12() {
+  // Trivial PIP problem, but with 4 parameters.
+  PIP_Problem pip;
+  pip.add_space_dimensions_and_embed(0, 4);
+
+  bool ok = (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  if (ok) {
+    const PIP_Tree solution = pip.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+  }
+  return ok;
+}
+
+bool
+test13() {
+  // Trivial PIP problem with 4 variables.
+  PIP_Problem pip;
+  pip.add_space_dimensions_and_embed(4, 0);
+
+  bool ok = (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  if (ok) {
+    const PIP_Tree solution = pip.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+  }
+  return ok;
+}
+
+bool
+test14() {
+  // Trivial PIP problem with 4 variables and 4 parameters.
+  PIP_Problem pip;
+  pip.add_space_dimensions_and_embed(4, 4);
+
+  bool ok = (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  if (ok) {
+    const PIP_Tree solution = pip.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+  }
+  return ok;
+}
+
+bool
+test15() {
+  PIP_Problem pip;
+  // Adding trivial satisfiable constraint.
+  pip.add_constraint(Linear_Expression(5) == 5);
+
+  bool ok = (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  if (ok) {
+    const PIP_Tree solution = pip.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+  }
+  return ok;
+}
+
+bool
+test16() {
+  PIP_Problem pip;
+  // Adding trivial unsatisfiable constraint.
+  pip.add_constraint(Linear_Expression(0) == 1);
+  bool ok = (pip.solve() == UNFEASIBLE_PIP_PROBLEM);
+  if (pip.solution() != 0)
+    pip.print_solution(nout);
+  return ok;
+}
+
+bool
+test17() {
+  PIP_Problem pip;
+  pip.add_space_dimensions_and_embed(0, 1);
+  // Adding unsatisfiable context constraints.
+  Variable n(0);
+  pip.add_constraint(n <= 5);
+  pip.add_constraint(n >= 10);
+  bool ok = (pip.solve() == UNFEASIBLE_PIP_PROBLEM);
+  if (pip.solution() != 0)
+    pip.print_solution(nout);
+  return ok;
+}
+
+bool
+test18() {
+  PIP_Problem pip;
+  pip.add_space_dimensions_and_embed(0, 2);
+  // Adding unsatisfiable context constraints.
+  Variable n(0);
+  Variable m(1);
+  pip.add_constraint(n == 2);
+  pip.add_constraint(m == 2);
+  pip.add_constraint(n + m == 3);
+  bool ok = (pip.solve() == UNFEASIBLE_PIP_PROBLEM);
+  if (pip.solution() != 0)
+    pip.print_solution(nout);
+  return ok;
+}
+
+bool
+test19() {
+  // Same problem as test02, but incrementally adding a parameter constraint
+  // making the problem unfeasible.
+  Variable i(0);
+  Variable j(1);
+  Variable n(2);
+  Variable m(3);
+  Variables_Set params(n, m);
+
+  Constraint_System cs;
+  cs.insert(3*j >= -2*i+8);
+  cs.insert(j <= 4*i - 4);
+  cs.insert(j <= m);
+  cs.insert(i <= n);
+
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+
+  bool ok = (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  if (ok) {
+    const PIP_Tree solution = pip.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+  }
+
+  pip.add_constraint(n <= 1);
+  ok &= (pip.solve() == UNFEASIBLE_PIP_PROBLEM);
+
+  return ok;
+}
+
+bool
+test20() {
+  // Same problem as test02, but incrementally adding a parameter constraint
+  // making the solution tree simpler.
+  Variable i(0);
+  Variable j(1);
+  Variable n(2);
+  Variable m(3);
+  Variables_Set params(n, m);
+
+  Constraint_System cs;
+  cs.insert(3*j >= -2*i+8);
+  cs.insert(j <= 4*i - 4);
+  cs.insert(j <= m);
+  cs.insert(i <= n);
+
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+
+  bool ok = (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  if (ok) {
+    const PIP_Tree solution = pip.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+  }
+
+  pip.add_constraint(7*m >= 12);
+  ok &= (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  if (ok) {
+    const PIP_Tree solution = pip.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+  }
+
+  return ok;
+}
+
+bool
+test21() {
+  // Same problem as test02, but incrementally adding a parameter constraint
+  // making the solution tree simpler.
+  Variable i(0);
+  Variable j(1);
+  Variable n(2);
+  Variable m(3);
+  Variables_Set params(n, m);
+
+  Constraint_System cs;
+  cs.insert(3*j >= -2*i+8);
+  cs.insert(j <= 4*i - 4);
+  cs.insert(j <= m);
+  cs.insert(i <= n);
+
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+
+  bool ok = (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  if (ok) {
+    const PIP_Tree solution = pip.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+  }
+
+  pip.add_constraint(7*m < 12);
+  ok &= (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  if (ok) {
+    const PIP_Tree solution = pip.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+  }
+
+  return ok;
+}
+
+bool
+test22() {
+  // Same problem as test02, but incrementally adding two parameter constraints
+  // making the problem infeasible.
+  Variable i(0);
+  Variable j(1);
+  Variable n(2);
+  Variable m(3);
+  Variables_Set params(n, m);
+
+  Constraint_System cs;
+  cs.insert(3*j >= -2*i+8);
+  cs.insert(j <= 4*i - 4);
+  cs.insert(j <= m);
+  cs.insert(i <= n);
+
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+
+  bool ok = (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  if (ok) {
+    const PIP_Tree solution = pip.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+  }
+
+  pip.add_constraint(7*m < 12);
+  pip.add_constraint(2*n + 3*m < 8);
+  ok &= (pip.solve() == UNFEASIBLE_PIP_PROBLEM);
+
+  return ok;
+}
+
+bool
+test23() {
+  // Same problem as test02, but incrementally adding a parameter constraint
+  // removing one level in the decision tree.
+  Variable i(0);
+  Variable j(1);
+  Variable n(2);
+  Variable m(3);
+  Variables_Set params(n, m);
+
+  Constraint_System cs;
+  cs.insert(3*j >= -2*i+8);
+  cs.insert(j <= 4*i - 4);
+  cs.insert(j <= m);
+  cs.insert(i <= n);
+
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+
+  bool ok = (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  if (ok) {
+    const PIP_Tree solution = pip.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+  }
+
+  pip.add_constraint(7*n >= 10);
+  ok &= (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  if (ok) {
+    const PIP_Tree solution = pip.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+  }
+
+  return ok;
+}
+
+bool
+test24() {
+  // Minimization problem, using the big parameter trick to allow the
+  // variables to be negative.
+  Variable x(0);
+  Variable y(1);
+  Variable p(2);
+  Variable M(3);
+  Variables_Set params(p, M);
+
+  Constraint_System cs;
+  cs.insert(y - M >= -2*x + 2*M - 4);     // y >= -2*x - 4
+  cs.insert(2*y - 2*M <= x - M + 2*p);    // 2*y <= x + 2*p
+
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+  pip.set_big_parameter_dimension(3);     // M is the big parameter
+
+  bool ok = (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  if (ok) {
+    const PIP_Tree solution = pip.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+  }
+
+  return ok;
+}
+
+bool
+test25() {
+  // Lexicographical maximization, using variable substitution.
+  Variable x(0);
+  Variable y(1);
+  Variable p(2);
+  Variable M(3);
+  Variables_Set params(p, M);
+
+  Constraint_System cs;
+  cs.insert(M - y >= 2*M - 2*x - 4);      // y >= 2*x - 4
+  cs.insert(M - y <= -M + x + p);         // y <= -x + p
+
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+  pip.set_big_parameter_dimension(3);     // M is the big parameter
+
+  bool ok = (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  if (ok) {
+    const PIP_Tree solution = pip.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+  }
+
+  return ok;
+}
+
+bool
+test26() {
+  // Problem generating a solution node with two context constraints.
+  Variable x(0);
+  Variable y(1);
+  Variable p(2);
+  Variable q(3);
+  Variables_Set params(p, q);
+
+  Constraint_System cs;
+  cs.insert(x + p <= 2);
+  cs.insert(y + q <= 1);
+
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+
+  bool ok = (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  if (ok) {
+    const PIP_Tree solution = pip.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+  }
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST_F8(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST_F8(test05);
+  DO_TEST(test06);
+  DO_TEST_F8(test07);
+  DO_TEST_F8(test08);
+  DO_TEST_F8(test09);
+  DO_TEST_F8(test10);
+  DO_TEST(test11);
+  DO_TEST(test12);
+  DO_TEST(test13);
+  DO_TEST(test14);
+  DO_TEST(test15);
+  DO_TEST(test16);
+  DO_TEST(test17);
+  DO_TEST(test18);
+  DO_TEST_F8(test19);
+  DO_TEST_F8(test20);
+  DO_TEST_F8(test21);
+  DO_TEST_F8(test22);
+  DO_TEST_F8(test23);
+  DO_TEST(test24);
+  DO_TEST(test25);
+  DO_TEST(test26);
+END_MAIN
diff --git a/tests/PIP_Problem/pipproblem2.cc b/tests/PIP_Problem/pipproblem2.cc
new file mode 100644
index 0000000..9f65993
--- /dev/null
+++ b/tests/PIP_Problem/pipproblem2.cc
@@ -0,0 +1,348 @@
+/* Test the PIP_Problem class
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+namespace {
+
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+  Variable P(2);
+  Variable Q(3);
+  Variables_Set params(P, Q);
+
+  Constraint_System cs;
+  cs.insert(A + B >= 0);
+  cs.insert(A - B <= P);
+  cs.insert(3*A - 2*B == 5*Q);
+
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+
+  bool ok = (pip.space_dimension() == 4);
+
+  pip.add_space_dimensions_and_embed(2, 2);
+  ok &= (pip.space_dimension() == 8);
+  params.insert(Variable(6));
+  params.insert(Variable(7));
+  ok &= (pip.parameter_space_dimensions() == params);
+
+  for (PIP_Problem::const_iterator i = pip.constraints_begin(),
+         i_end = pip.constraints_end(); i != i_end; ++i)
+    print_constraint(*i);
+
+  return ok;
+}
+
+bool
+test02() {
+  PIP_Problem pip_1(2);
+  PIP_Problem pip_2(2);
+  pip_2 = pip_1;
+
+  Variables_Set params(Variable(1));
+  pip_2.add_to_parameter_space_dimensions(params);
+
+  std::swap(pip_1, pip_2);
+
+  bool ok = (pip_1.space_dimension() == 2
+             && pip_2.space_dimension() == 2
+             && pip_1.parameter_space_dimensions() == params
+             && pip_2.parameter_space_dimensions() == Variables_Set());
+
+  return ok;
+}
+
+bool
+test03() {
+  PIP_Problem pip;
+  PIP_Problem::Control_Parameter_Value cp;
+
+  cp = pip.get_control_parameter(PIP_Problem::CUTTING_STRATEGY);
+  bool ok = (cp == PIP_Problem::CUTTING_STRATEGY_FIRST);
+
+  pip.set_control_parameter(PIP_Problem::CUTTING_STRATEGY_DEEPEST);
+  cp = pip.get_control_parameter(PIP_Problem::CUTTING_STRATEGY);
+  ok &= (cp == PIP_Problem::CUTTING_STRATEGY_DEEPEST);
+
+  PIP_Problem pip_copy(pip);
+  cp = pip_copy.get_control_parameter(PIP_Problem::CUTTING_STRATEGY);
+  ok &= (cp == PIP_Problem::CUTTING_STRATEGY_DEEPEST);
+
+  return ok;
+}
+
+bool
+test04() {
+  PIP_Problem pip(6);
+  Variables_Set params(Variable(3), Variable(5));
+  pip.add_to_parameter_space_dimensions(params);
+
+  bool ok = (pip.get_big_parameter_dimension() == not_a_dimension());
+
+  pip.set_big_parameter_dimension(3);
+  ok &= (pip.get_big_parameter_dimension() == 3);
+
+  pip.set_big_parameter_dimension(5);
+  ok &= (pip.get_big_parameter_dimension() == 5);
+
+  using namespace IO_Operators;
+  nout << pip;
+
+  return ok;
+}
+
+bool
+test05() {
+  PIP_Problem pip(1);
+  bool ok = (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  // Solving again a problem already optimized.
+  ok &= (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+
+  return ok;
+}
+
+bool
+test06() {
+  Variable X(0);
+  PIP_Problem pip(1);
+  pip.add_constraint(X == -X);
+  pip.add_constraint(X >= 1);
+
+  bool ok = (pip.solve() == UNFEASIBLE_PIP_PROBLEM);
+  // Solving again a problem already detected to be unfeasible.
+  ok &= (pip.solve() == UNFEASIBLE_PIP_PROBLEM);
+
+  return ok;
+}
+
+bool
+test07() {
+  Variable X(0);
+  PIP_Problem pip(1);
+  pip.add_constraint(X == -X);
+  bool ok = (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+
+  // Incrementally adding a constraint.
+  pip.add_constraint(X >= 1);
+  // Solving a problem that was optimized and now is unfeasible.
+  ok &= (pip.solve() == UNFEASIBLE_PIP_PROBLEM);
+
+  return ok;
+}
+
+bool
+test08() {
+  Variable X(0);
+  Variable Y(1);
+  Variable Z(2);
+
+  Constraint_System cs;
+  cs.insert(X == 2);
+  cs.insert(Y < 1);
+  cs.insert(Z == 7);
+
+  Variables_Set params(Y, Z);
+
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+
+  bool ok = (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+
+  return ok;
+}
+
+bool
+test09() {
+  Variable X(0);
+  Variable Y(1);
+  Variable Z(2);
+
+  PIP_Problem pip(3);
+  pip.add_constraint(X == 2);
+  pip.add_constraint(Y < 1);
+  pip.add_constraint(Z == 7);
+
+  bool ok = (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+
+  return ok;
+}
+
+bool
+test10() {
+  Variable A(0);
+  Constraint_System cs;
+  cs.insert(A >= 5);
+
+  PIP_Problem pip1(3, cs.begin(), cs.end(), Variables_Set());
+  bool ok = (pip1.solve() == OPTIMIZED_PIP_PROBLEM);
+
+  return ok;
+}
+
+bool
+test11() {
+  Variable A(0);
+  Constraint_System cs;
+  cs.insert(A >= 5);
+
+  PIP_Problem pip1(3, cs.begin(), cs.end(), Variables_Set());
+  bool ok = (pip1.solution() != 0);
+
+  return ok;
+}
+
+bool
+test12() {
+  Variable A(0);
+  Constraint_System cs;
+  cs.insert(A >= 5);
+
+  PIP_Problem pip1(3, cs.begin(), cs.end(), Variables_Set());
+  bool ok = (pip1.optimizing_solution() != 0);
+
+  return ok;
+}
+
+bool
+test13() {
+  Variable i(0);
+  Variable j(1);
+  Variable k(2);
+  Variable m(3);
+  Variable n(4);
+  Variables_Set params(k, n);
+
+  Constraint_System cs;
+  cs.insert(i <= m);
+  cs.insert(j <= n);
+  cs.insert(2*i+j == 2*m+n-k);
+
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+
+  PIP_Tree pip_tree = pip.solution();
+  const PIP_Solution_Node* sol_node = pip_tree->as_solution();
+  const PIP_Decision_Node* dec_node = pip_tree->as_decision();
+  bool ok = (sol_node == 0 && dec_node != 0);
+
+  return ok;
+}
+
+bool
+test14() {
+  // Some unit testing on inner class Artificial_Parameter.
+  typedef PIP_Tree_Node::Artificial_Parameter Art_Param;
+
+  Variable A(0);
+
+  Art_Param ap0;
+  Art_Param ap1(3*A + 8, -5);
+  Art_Param ap2(ap1);
+
+  bool ok = ap0.OK() && ap1.OK() && ap2.OK();
+
+  ok &= (ap0 != ap1) && (ap1 == ap2);
+  ok &= (ap0.denominator() == 1) && (ap1.denominator() == 5);
+
+  ap0.swap(ap2);
+  ok &= (ap0 == ap1) && (ap2.denominator() == 1);
+
+  using namespace IO_Operators;
+  nout << ap1 << endl;
+
+  ok &= (ap1.external_memory_in_bytes() < ap1.total_memory_in_bytes());
+
+  // Difference found in space dimension.
+  ok &= (ap1 != ap2);
+  // Difference found in denominator.
+  Art_Param ap3(3*A + 8, -6);
+  ok &= (ap1 != ap3);
+  // Difference found in inhomogeneous term.
+  Art_Param ap4(3*A + 7, -5);
+  ok &= (ap1 != ap4);
+  // Difference found in A's coefficient.
+  Art_Param ap5(2*A + 8, -5);
+  ok &= (ap1 != ap5);
+
+  return ok;
+}
+
+bool
+test15() {
+  PIP_Problem pip;
+  bool ok = (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  // Adding no space dimension at all is a no-op:
+  // it does not invalidate the solution computed before.
+  pip.add_space_dimensions_and_embed(0, 0);
+  // This would throw an exception if the solution was invalidated.
+  pip.print_solution(nout);
+  return ok;
+}
+
+bool
+test16() {
+  // NOTE: adopting a strange dimension ordering to increase code coverage.
+  Variable i(2);
+  Variable j(3);
+  Variable n(0);
+  Variable m(1);
+  Variables_Set params(n, m);
+
+  Constraint_System cs;
+  cs.insert(3*j >= -2*i+8);
+  cs.insert(j <= 4*i - 4);
+  cs.insert(j <= m);
+  cs.insert(i <= n);
+
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+  (void) pip.solve();
+
+  const PIP_Decision_Node* root = pip.solution()->as_decision();
+  const PIP_Decision_Node* t_child = root->child_node(true)->as_decision();
+  const PIP_Solution_Node* t_t_child = t_child->child_node(true)->as_solution();
+  const Linear_Expression& v_i = t_t_child->parametric_values(i);
+  bool ok = v_i.coefficient(n) == 0
+    && v_i.coefficient(m) == 0
+    && v_i.inhomogeneous_term() == 2;
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST(test08);
+  DO_TEST(test09);
+  DO_TEST(test10);
+  DO_TEST(test11);
+  DO_TEST(test12);
+  DO_TEST(test13);
+  DO_TEST(test14);
+  DO_TEST(test15);
+  DO_TEST_F8(test16);
+END_MAIN
diff --git a/tests/PIP_Problem/pipproblem3.cc b/tests/PIP_Problem/pipproblem3.cc
new file mode 100644
index 0000000..2fe66e2
--- /dev/null
+++ b/tests/PIP_Problem/pipproblem3.cc
@@ -0,0 +1,158 @@
+/* Test the PIP_Problem class.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+namespace {
+
+bool
+test01() {
+  Variable i(0);
+  Variable j(1);
+  Variable n(2);
+  Variable m(3);
+
+  PIP_Problem pip;
+  pip.add_space_dimensions_and_embed(2, 0);
+
+  Constraint_System cs;
+  cs.insert(3*j >= -2*i+8);
+  cs.insert(j <= 4*i - 4);
+
+  pip.add_constraints(cs);
+
+  bool ok = (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  if (!ok)
+    return ok;
+
+  {
+    const PIP_Tree solution = pip.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+    nout << endl;
+  }
+
+  pip.add_space_dimensions_and_embed(0, 2);
+  pip.add_constraint(j <= m);
+  pip.add_constraint(i <= n);
+
+  ok &= (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  if (ok) {
+    const PIP_Tree solution = pip.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+  }
+  return ok;
+}
+
+bool
+test02() {
+  // NOTE_ changing the order of insertion of variables.
+  Variable i(0);
+  Variable n(1);
+  Variable j(2);
+  Variable m(3);
+
+  PIP_Problem pip;
+  pip.add_space_dimensions_and_embed(1, 1);
+
+  Constraint_System cs;
+  pip.add_constraint(i <= n);
+
+  pip.add_constraints(cs);
+
+  bool ok = (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  if (!ok)
+    return ok;
+
+  {
+    const PIP_Tree solution = pip.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+    nout << endl;
+  }
+
+  pip.add_space_dimensions_and_embed(1, 1);
+  pip.add_constraint(3*j >= -2*i+8);
+  pip.add_constraint(j <= 4*i - 4);
+  pip.add_constraint(j <= m);
+
+  ok &= (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  if (ok) {
+    const PIP_Tree solution = pip.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+  }
+  return ok;
+}
+
+bool
+test03() {
+  Variable i(0);
+  Variable j(1);
+  Variable n(2);
+  Variable m(3);
+
+  PIP_Problem pip;
+  pip.add_space_dimensions_and_embed(2, 2);
+
+  Constraint_System cs;
+  cs.insert(3*j >= -2*i+8);
+  cs.insert(j <= 4*i - 4);
+  pip.add_constraint(j <= m);
+  pip.add_constraint(i <= n);
+
+  pip.add_constraints(cs);
+
+  bool ok = (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  if (!ok)
+    return ok;
+
+  {
+    const PIP_Tree solution = pip.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+    nout << endl;
+  }
+
+  Variable k(4);
+  Variable p(5);
+  pip.add_space_dimensions_and_embed(1, 1);
+  pip.add_constraint(k <= i + p);
+  pip.add_constraint(p <= n + 2);
+
+  ok &= (pip.solve() == OPTIMIZED_PIP_PROBLEM);
+  if (ok) {
+    const PIP_Tree solution = pip.solution();
+    ok &= solution->OK();
+    pip.print_solution(nout);
+  }
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST_F8(test01);
+  DO_TEST_F8(test02);
+  DO_TEST_F8(test03);
+END_MAIN
diff --git a/tests/Partial_Function.cc b/tests/Partial_Function.cc
deleted file mode 100644
index 06e7e4e..0000000
--- a/tests/Partial_Function.cc
+++ /dev/null
@@ -1,80 +0,0 @@
-/* Implementation of class Partial_Function (non-inline functions).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include "ppl.hh"
-#include "Partial_Function.defs.hh"
-#include <stdexcept>
-#include <iostream>
-
-namespace Parma_Polyhedra_Library {
-
-namespace Test {
-
-void
-Partial_Function::insert(dim_t x, dim_t y) {
- std::pair<Map::iterator, bool> stat = map.insert(Map::value_type(x, y));
- if (!stat.second)
-   throw std::runtime_error("Partial_Function::insert(x, y) called"
-			    " with `x' already in domain");
- if (y > max)
-   max = y;
-}
-
-Partial_Function::dim_t
-Partial_Function::max_in_codomain() const {
-  if (has_empty_codomain())
-    throw std::runtime_error("Partial_Function::max_in_codomain() called"
-			     " when has_empty_codomain()");
-  return max;
-}
-
-bool
-Partial_Function::maps(dim_t x, dim_t& y) const {
-  if (has_empty_codomain())
-    throw std::runtime_error("Partial_Function::maps() called"
-			     " when has_empty_codomain()");
-  Map::const_iterator i = map.find(x);
-  if (i != map.end()) {
-    y = (*i).second;
-    return true;
-  }
-  else
-    return false;
-}
-
-void
-Partial_Function::print(std::ostream& s) const {
-  using namespace Parma_Polyhedra_Library::IO_Operators;
-
-  if (has_empty_codomain())
-    s << "empty" << std::endl;
-  else
-    for (Map::const_iterator i = map.begin(),
-	   map_end = map.end(); i != map_end; ++i)
-      s << Variable((*i).first) << " --> "
-	<< Variable((*i).second)
-	<< std::endl;
-}
-
-} // namespace Test
-
-} // namespace Parma_Polyhedra_Library
diff --git a/tests/Partial_Function.defs.hh b/tests/Partial_Function.defs.hh
deleted file mode 100644
index bf197d5..0000000
--- a/tests/Partial_Function.defs.hh
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Partial_Function class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PPL_Partial_Function_defs_hh
-#define PPL_Partial_Function_defs_hh 1
-
-#include "Partial_Function.types.hh"
-#include <cstddef>
-#include <map>
-#include <iosfwd>
-
-namespace Parma_Polyhedra_Library {
-
-namespace Test {
-
-class Partial_Function {
-private:
-  typedef size_t dim_t;
-
-public:
-  Partial_Function();
-  bool has_empty_codomain() const;
-  dim_t max_in_codomain() const;
-  bool maps(dim_t i, dim_t& j) const;
-
-  void print(std::ostream& s) const;
-
-  void insert(dim_t x, dim_t y);
-
-private:
-  typedef std::map<dim_t, dim_t, std::less<dim_t> > Map;
-  Map map;
-  dim_t max;
-};
-
-} // namespace Test
-
-} // namespace Parma_Polyhedra_Library
-
-#include "Partial_Function.inlines.hh"
-
-#endif // !defined(PPL_Partial_Function_defs_hh)
diff --git a/tests/Partial_Function.inlines.hh b/tests/Partial_Function.inlines.hh
deleted file mode 100644
index 664d0a8..0000000
--- a/tests/Partial_Function.inlines.hh
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Partial_Function class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PPL_Partial_Function_inlines_hh
-#define PPL_Partial_Function_inlines_hh 1
-
-namespace Parma_Polyhedra_Library {
-
-namespace Test {
-
-inline
-Partial_Function::Partial_Function()
-  : max(0) {
-}
-
-inline bool
-Partial_Function::has_empty_codomain() const {
-  return map.empty();
-}
-
-} // namespace Test
-
-} // namespace Parma_Polyhedra_Library
-
-#endif // !defined(PPL_Partial_Function_inlines_hh)
diff --git a/tests/Partial_Function.types.hh b/tests/Partial_Function.types.hh
deleted file mode 100644
index d1822d2..0000000
--- a/tests/Partial_Function.types.hh
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
-
-This file is free software; as a special exception the author gives
-unlimited permission to copy and/or distribute it, with or without
-modifications, as long as this notice is preserved.
-
-This program is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. */
-
-#ifndef PPL_Partial_Function_types_hh
-#define PPL_Partial_Function_types_hh 1
-
-namespace Parma_Polyhedra_Library {
-
-namespace Test {
-
-class Partial_Function;
-
-} // namespace Test
-
-} // namespace Parma_Polyhedra_Library
-
-#endif // !defined(PPL_Partial_Function_types_hh)
diff --git a/tests/Partially_Reduced_Product/Makefile.am b/tests/Partially_Reduced_Product/Makefile.am
index 0279540..16db2be 100644
--- a/tests/Partially_Reduced_Product/Makefile.am
+++ b/tests/Partially_Reduced_Product/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,9 +36,13 @@ endif !VALGRIND_TESTS_ENABLED
 
 TESTS_ENVIRONMENT = $(CHECKER)
 
+noinst_HEADERS = \
+partially_reduced_product_test.hh
+
 AM_CPPFLAGS = \
 -I$(top_builddir)/src \
 -I$(top_srcdir)/src -I$(top_srcdir)/tests \
+-I$(top_srcdir)/tests/Partially_Reduced_Product \
 -I$(top_srcdir)/utils \
 @extra_includes@ \
 @debug_flag@
@@ -49,12 +53,59 @@ $(top_builddir)/tests/libppl_tests.a \
 $(top_builddir)/src/libppl.la \
 @extra_libraries@
 
-TESTS = \
+ORIGINAL_TESTS = \
+addcongruences1 \
+affineimage1 \
 asciidumpload1 \
-directproduct1 directproduct2 directproduct3 directproduct4 \
-directproduct5 directproduct6 \
-partiallyreducedproduct1 partiallyreducedproduct2 partiallyreducedproduct3 \
-partiallyreducedproduct4
+bounded1 \
+boundedaffineimage1 \
+bounds1 \
+concatenate1 \
+congruences1 \
+congruencesproduct1 \
+constraints1 \
+constraintsproduct1 \
+contains1 \
+difference1 \
+dimension1 \
+directproduct1 \
+discrete1 \
+disjoint1 \
+dropsomenonintegerpoints1 \
+equals1 \
+frombdshape1 \
+frombox1 \
+fromgrid1 \
+fromoctagonalshape1 \
+frompolyhedron1 \
+fromproduct1 \
+generalizedaffineimage1 \
+intersection1 \
+isempty1 \
+isuniverse1 \
+maxmin1 \
+refinewithcongruences1 \
+refinewithconstraints1 \
+relations1 \
+shapepreservingproduct1 \
+smashproduct1 \
+spacedims1 \
+timeelapse1 \
+topclosed1 \
+topclosure1 \
+upperbound1
+
+REVERSED_TESTS = \
+reverse_constraints1 \
+reverse_congruences1 \
+reverse_directproduct1 \
+reverse_constraintsproduct1 \
+reverse_congruencesproduct1 \
+reverse_shapepreservingproduct1
+
+TESTS = \
+$(ORIGINAL_TESTS) \
+$(REVERSED_TESTS)
 
 XFAIL_TESTS =
 
@@ -62,19 +113,104 @@ XFAIL_TESTS =
 # Sources for the tests
 #
 
+addcongruences1_SOURCES = addcongruences1.cc
+
+affineimage1_SOURCES = affineimage1.cc
+
 asciidumpload1_SOURCES = asciidumpload1.cc
 
+bounded1_SOURCES = bounded1.cc
+
+boundedaffineimage1_SOURCES = boundedaffineimage1.cc
+
+bounds1_SOURCES = bounds1.cc
+
+concatenate1_SOURCES = concatenate1.cc
+
+congruences1_SOURCES = congruences1.cc
+
+congruencesproduct1_SOURCES = congruencesproduct1.cc
+
+constraintsproduct1_SOURCES = constraintsproduct1.cc
+
+constraints1_SOURCES = constraints1.cc
+
+contains1_SOURCES = contains1.cc
+
+difference1_SOURCES = difference1.cc
+
+dimension1_SOURCES = dimension1.cc
+
 directproduct1_SOURCES = directproduct1.cc
-directproduct2_SOURCES = directproduct2.cc
-directproduct3_SOURCES = directproduct3.cc
-directproduct4_SOURCES = directproduct4.cc
-directproduct5_SOURCES = directproduct5.cc
-directproduct6_SOURCES = directproduct6.cc
-
-partiallyreducedproduct1_SOURCES = partiallyreducedproduct1.cc
-partiallyreducedproduct2_SOURCES = partiallyreducedproduct2.cc
-partiallyreducedproduct3_SOURCES = partiallyreducedproduct3.cc
-partiallyreducedproduct4_SOURCES = partiallyreducedproduct4.cc
+
+discrete1_SOURCES = discrete1.cc
+
+disjoint1_SOURCES = disjoint1.cc
+
+dropsomenonintegerpoints1_SOURCES = dropsomenonintegerpoints1.cc
+
+equals1_SOURCES = equals1.cc
+
+frombdshape1_SOURCES = frombdshape1.cc
+
+frombox1_SOURCES = frombox1.cc
+
+fromgrid1_SOURCES = fromgrid1.cc
+
+fromoctagonalshape1_SOURCES = fromoctagonalshape1.cc
+
+frompolyhedron1_SOURCES = frompolyhedron1.cc
+
+fromproduct1_SOURCES = fromproduct1.cc
+
+generalizedaffineimage1_SOURCES = generalizedaffineimage1.cc
+
+intersection1_SOURCES = intersection1.cc
+
+isempty1_SOURCES = isempty1.cc
+
+isuniverse1_SOURCES = isuniverse1.cc
+
+maxmin1_SOURCES = maxmin1.cc
+
+refinewithcongruences1_SOURCES = refinewithcongruences1.cc
+refinewithconstraints1_SOURCES = refinewithconstraints1.cc
+
+relations1_SOURCES = relations1.cc
+
+shapepreservingproduct1_SOURCES = shapepreservingproduct1.cc
+
+smashproduct1_SOURCES = smashproduct1.cc
+
+spacedims1_SOURCES = spacedims1.cc
+
+timeelapse1_SOURCES = timeelapse1.cc
+
+topclosed1_SOURCES = topclosed1.cc
+
+topclosure1_SOURCES = topclosure1.cc
+
+upperbound1_SOURCES = upperbound1.cc
+
+DERIVED_CXXFLAGS = -DREVERSED_TESTS $(AM_CXXFLAGS)
+
+reverse_congruences1_SOURCES = congruences1.cc
+reverse_congruences1_CXXFLAGS = $(DERIVED_CXXFLAGS)
+
+reverse_constraints1_SOURCES = constraints1.cc
+reverse_constraints1_CXXFLAGS = $(DERIVED_CXXFLAGS)
+
+reverse_directproduct1_SOURCES = directproduct1.cc
+reverse_directproduct1_CXXFLAGS = $(DERIVED_CXXFLAGS)
+
+reverse_constraintsproduct1_SOURCES = constraintsproduct1.cc
+reverse_constraintsproduct1_CXXFLAGS = $(DERIVED_CXXFLAGS)
+
+reverse_congruencesproduct1_SOURCES = congruencesproduct1.cc
+reverse_congruencesproduct1_CXXFLAGS = $(DERIVED_CXXFLAGS)
+
+reverse_shapepreservingproduct1_SOURCES = shapepreservingproduct1.cc
+reverse_shapepreservingproduct1_CXXFLAGS = $(DERIVED_CXXFLAGS)
 
 check_PROGRAMS = $(TESTS)
 
diff --git a/tests/Partially_Reduced_Product/Makefile.in b/tests/Partially_Reduced_Product/Makefile.in
index 24158a2..50b5eae 100644
--- a/tests/Partially_Reduced_Product/Makefile.in
+++ b/tests/Partially_Reduced_Product/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,10 +37,12 @@
 #
 # For the most up-to-date information see the Parma Polyhedra Library
 # site: http://www.cs.unipr.it/ppl/ .
+
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -54,17 +57,12 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-TESTS = asciidumpload1$(EXEEXT) directproduct1$(EXEEXT) \
-	directproduct2$(EXEEXT) directproduct3$(EXEEXT) \
-	directproduct4$(EXEEXT) directproduct5$(EXEEXT) \
-	directproduct6$(EXEEXT) partiallyreducedproduct1$(EXEEXT) \
-	partiallyreducedproduct2$(EXEEXT) \
-	partiallyreducedproduct3$(EXEEXT) \
-	partiallyreducedproduct4$(EXEEXT)
+TESTS = $(am__EXEEXT_1) $(am__EXEEXT_2)
 XFAIL_TESTS =
-check_PROGRAMS = $(am__EXEEXT_1)
+check_PROGRAMS = $(am__EXEEXT_3)
 subdir = tests/Partially_Reduced_Product
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_fpu_control.m4 \
@@ -72,6 +70,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -93,128 +92,456 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
-am__EXEEXT_1 = asciidumpload1$(EXEEXT) directproduct1$(EXEEXT) \
-	directproduct2$(EXEEXT) directproduct3$(EXEEXT) \
-	directproduct4$(EXEEXT) directproduct5$(EXEEXT) \
-	directproduct6$(EXEEXT) partiallyreducedproduct1$(EXEEXT) \
-	partiallyreducedproduct2$(EXEEXT) \
-	partiallyreducedproduct3$(EXEEXT) \
-	partiallyreducedproduct4$(EXEEXT)
+CONFIG_CLEAN_VPATH_FILES =
+am__EXEEXT_1 = addcongruences1$(EXEEXT) affineimage1$(EXEEXT) \
+	asciidumpload1$(EXEEXT) bounded1$(EXEEXT) \
+	boundedaffineimage1$(EXEEXT) bounds1$(EXEEXT) \
+	concatenate1$(EXEEXT) congruences1$(EXEEXT) \
+	congruencesproduct1$(EXEEXT) constraints1$(EXEEXT) \
+	constraintsproduct1$(EXEEXT) contains1$(EXEEXT) \
+	difference1$(EXEEXT) dimension1$(EXEEXT) \
+	directproduct1$(EXEEXT) discrete1$(EXEEXT) disjoint1$(EXEEXT) \
+	dropsomenonintegerpoints1$(EXEEXT) equals1$(EXEEXT) \
+	frombdshape1$(EXEEXT) frombox1$(EXEEXT) fromgrid1$(EXEEXT) \
+	fromoctagonalshape1$(EXEEXT) frompolyhedron1$(EXEEXT) \
+	fromproduct1$(EXEEXT) generalizedaffineimage1$(EXEEXT) \
+	intersection1$(EXEEXT) isempty1$(EXEEXT) isuniverse1$(EXEEXT) \
+	maxmin1$(EXEEXT) refinewithcongruences1$(EXEEXT) \
+	refinewithconstraints1$(EXEEXT) relations1$(EXEEXT) \
+	shapepreservingproduct1$(EXEEXT) smashproduct1$(EXEEXT) \
+	spacedims1$(EXEEXT) timeelapse1$(EXEEXT) topclosed1$(EXEEXT) \
+	topclosure1$(EXEEXT) upperbound1$(EXEEXT)
+am__EXEEXT_2 = reverse_constraints1$(EXEEXT) \
+	reverse_congruences1$(EXEEXT) reverse_directproduct1$(EXEEXT) \
+	reverse_constraintsproduct1$(EXEEXT) \
+	reverse_congruencesproduct1$(EXEEXT) \
+	reverse_shapepreservingproduct1$(EXEEXT)
+am__EXEEXT_3 = $(am__EXEEXT_1) $(am__EXEEXT_2)
+am_addcongruences1_OBJECTS = addcongruences1.$(OBJEXT)
+addcongruences1_OBJECTS = $(am_addcongruences1_OBJECTS)
+addcongruences1_LDADD = $(LDADD)
+addcongruences1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+am_affineimage1_OBJECTS = affineimage1.$(OBJEXT)
+affineimage1_OBJECTS = $(am_affineimage1_OBJECTS)
+affineimage1_LDADD = $(LDADD)
+affineimage1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_asciidumpload1_OBJECTS = asciidumpload1.$(OBJEXT)
 asciidumpload1_OBJECTS = $(am_asciidumpload1_OBJECTS)
 asciidumpload1_LDADD = $(LDADD)
 asciidumpload1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_bounded1_OBJECTS = bounded1.$(OBJEXT)
+bounded1_OBJECTS = $(am_bounded1_OBJECTS)
+bounded1_LDADD = $(LDADD)
+bounded1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_boundedaffineimage1_OBJECTS = boundedaffineimage1.$(OBJEXT)
+boundedaffineimage1_OBJECTS = $(am_boundedaffineimage1_OBJECTS)
+boundedaffineimage1_LDADD = $(LDADD)
+boundedaffineimage1_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_bounds1_OBJECTS = bounds1.$(OBJEXT)
+bounds1_OBJECTS = $(am_bounds1_OBJECTS)
+bounds1_LDADD = $(LDADD)
+bounds1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_concatenate1_OBJECTS = concatenate1.$(OBJEXT)
+concatenate1_OBJECTS = $(am_concatenate1_OBJECTS)
+concatenate1_LDADD = $(LDADD)
+concatenate1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_congruences1_OBJECTS = congruences1.$(OBJEXT)
+congruences1_OBJECTS = $(am_congruences1_OBJECTS)
+congruences1_LDADD = $(LDADD)
+congruences1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_congruencesproduct1_OBJECTS = congruencesproduct1.$(OBJEXT)
+congruencesproduct1_OBJECTS = $(am_congruencesproduct1_OBJECTS)
+congruencesproduct1_LDADD = $(LDADD)
+congruencesproduct1_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_constraints1_OBJECTS = constraints1.$(OBJEXT)
+constraints1_OBJECTS = $(am_constraints1_OBJECTS)
+constraints1_LDADD = $(LDADD)
+constraints1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_constraintsproduct1_OBJECTS = constraintsproduct1.$(OBJEXT)
+constraintsproduct1_OBJECTS = $(am_constraintsproduct1_OBJECTS)
+constraintsproduct1_LDADD = $(LDADD)
+constraintsproduct1_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_contains1_OBJECTS = contains1.$(OBJEXT)
+contains1_OBJECTS = $(am_contains1_OBJECTS)
+contains1_LDADD = $(LDADD)
+contains1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_difference1_OBJECTS = difference1.$(OBJEXT)
+difference1_OBJECTS = $(am_difference1_OBJECTS)
+difference1_LDADD = $(LDADD)
+difference1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_dimension1_OBJECTS = dimension1.$(OBJEXT)
+dimension1_OBJECTS = $(am_dimension1_OBJECTS)
+dimension1_LDADD = $(LDADD)
+dimension1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_directproduct1_OBJECTS = directproduct1.$(OBJEXT)
 directproduct1_OBJECTS = $(am_directproduct1_OBJECTS)
 directproduct1_LDADD = $(LDADD)
 directproduct1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-am_directproduct2_OBJECTS = directproduct2.$(OBJEXT)
-directproduct2_OBJECTS = $(am_directproduct2_OBJECTS)
-directproduct2_LDADD = $(LDADD)
-directproduct2_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+am_discrete1_OBJECTS = discrete1.$(OBJEXT)
+discrete1_OBJECTS = $(am_discrete1_OBJECTS)
+discrete1_LDADD = $(LDADD)
+discrete1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_disjoint1_OBJECTS = disjoint1.$(OBJEXT)
+disjoint1_OBJECTS = $(am_disjoint1_OBJECTS)
+disjoint1_LDADD = $(LDADD)
+disjoint1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-am_directproduct3_OBJECTS = directproduct3.$(OBJEXT)
-directproduct3_OBJECTS = $(am_directproduct3_OBJECTS)
-directproduct3_LDADD = $(LDADD)
-directproduct3_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+am_dropsomenonintegerpoints1_OBJECTS =  \
+	dropsomenonintegerpoints1.$(OBJEXT)
+dropsomenonintegerpoints1_OBJECTS =  \
+	$(am_dropsomenonintegerpoints1_OBJECTS)
+dropsomenonintegerpoints1_LDADD = $(LDADD)
+dropsomenonintegerpoints1_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_equals1_OBJECTS = equals1.$(OBJEXT)
+equals1_OBJECTS = $(am_equals1_OBJECTS)
+equals1_LDADD = $(LDADD)
+equals1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_frombdshape1_OBJECTS = frombdshape1.$(OBJEXT)
+frombdshape1_OBJECTS = $(am_frombdshape1_OBJECTS)
+frombdshape1_LDADD = $(LDADD)
+frombdshape1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_frombox1_OBJECTS = frombox1.$(OBJEXT)
+frombox1_OBJECTS = $(am_frombox1_OBJECTS)
+frombox1_LDADD = $(LDADD)
+frombox1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_fromgrid1_OBJECTS = fromgrid1.$(OBJEXT)
+fromgrid1_OBJECTS = $(am_fromgrid1_OBJECTS)
+fromgrid1_LDADD = $(LDADD)
+fromgrid1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_fromoctagonalshape1_OBJECTS = fromoctagonalshape1.$(OBJEXT)
+fromoctagonalshape1_OBJECTS = $(am_fromoctagonalshape1_OBJECTS)
+fromoctagonalshape1_LDADD = $(LDADD)
+fromoctagonalshape1_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_frompolyhedron1_OBJECTS = frompolyhedron1.$(OBJEXT)
+frompolyhedron1_OBJECTS = $(am_frompolyhedron1_OBJECTS)
+frompolyhedron1_LDADD = $(LDADD)
+frompolyhedron1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_fromproduct1_OBJECTS = fromproduct1.$(OBJEXT)
+fromproduct1_OBJECTS = $(am_fromproduct1_OBJECTS)
+fromproduct1_LDADD = $(LDADD)
+fromproduct1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_generalizedaffineimage1_OBJECTS =  \
+	generalizedaffineimage1.$(OBJEXT)
+generalizedaffineimage1_OBJECTS =  \
+	$(am_generalizedaffineimage1_OBJECTS)
+generalizedaffineimage1_LDADD = $(LDADD)
+generalizedaffineimage1_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-am_directproduct4_OBJECTS = directproduct4.$(OBJEXT)
-directproduct4_OBJECTS = $(am_directproduct4_OBJECTS)
-directproduct4_LDADD = $(LDADD)
-directproduct4_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+am_intersection1_OBJECTS = intersection1.$(OBJEXT)
+intersection1_OBJECTS = $(am_intersection1_OBJECTS)
+intersection1_LDADD = $(LDADD)
+intersection1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-am_directproduct5_OBJECTS = directproduct5.$(OBJEXT)
-directproduct5_OBJECTS = $(am_directproduct5_OBJECTS)
-directproduct5_LDADD = $(LDADD)
-directproduct5_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+am_isempty1_OBJECTS = isempty1.$(OBJEXT)
+isempty1_OBJECTS = $(am_isempty1_OBJECTS)
+isempty1_LDADD = $(LDADD)
+isempty1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-am_directproduct6_OBJECTS = directproduct6.$(OBJEXT)
-directproduct6_OBJECTS = $(am_directproduct6_OBJECTS)
-directproduct6_LDADD = $(LDADD)
-directproduct6_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+am_isuniverse1_OBJECTS = isuniverse1.$(OBJEXT)
+isuniverse1_OBJECTS = $(am_isuniverse1_OBJECTS)
+isuniverse1_LDADD = $(LDADD)
+isuniverse1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-am_partiallyreducedproduct1_OBJECTS =  \
-	partiallyreducedproduct1.$(OBJEXT)
-partiallyreducedproduct1_OBJECTS =  \
-	$(am_partiallyreducedproduct1_OBJECTS)
-partiallyreducedproduct1_LDADD = $(LDADD)
-partiallyreducedproduct1_DEPENDENCIES =  \
+am_maxmin1_OBJECTS = maxmin1.$(OBJEXT)
+maxmin1_OBJECTS = $(am_maxmin1_OBJECTS)
+maxmin1_LDADD = $(LDADD)
+maxmin1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_refinewithcongruences1_OBJECTS = refinewithcongruences1.$(OBJEXT)
+refinewithcongruences1_OBJECTS = $(am_refinewithcongruences1_OBJECTS)
+refinewithcongruences1_LDADD = $(LDADD)
+refinewithcongruences1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-am_partiallyreducedproduct2_OBJECTS =  \
-	partiallyreducedproduct2.$(OBJEXT)
-partiallyreducedproduct2_OBJECTS =  \
-	$(am_partiallyreducedproduct2_OBJECTS)
-partiallyreducedproduct2_LDADD = $(LDADD)
-partiallyreducedproduct2_DEPENDENCIES =  \
+am_refinewithconstraints1_OBJECTS = refinewithconstraints1.$(OBJEXT)
+refinewithconstraints1_OBJECTS = $(am_refinewithconstraints1_OBJECTS)
+refinewithconstraints1_LDADD = $(LDADD)
+refinewithconstraints1_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_relations1_OBJECTS = relations1.$(OBJEXT)
+relations1_OBJECTS = $(am_relations1_OBJECTS)
+relations1_LDADD = $(LDADD)
+relations1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_reverse_congruences1_OBJECTS =  \
+	reverse_congruences1-congruences1.$(OBJEXT)
+reverse_congruences1_OBJECTS = $(am_reverse_congruences1_OBJECTS)
+reverse_congruences1_LDADD = $(LDADD)
+reverse_congruences1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-am_partiallyreducedproduct3_OBJECTS =  \
-	partiallyreducedproduct3.$(OBJEXT)
-partiallyreducedproduct3_OBJECTS =  \
-	$(am_partiallyreducedproduct3_OBJECTS)
-partiallyreducedproduct3_LDADD = $(LDADD)
-partiallyreducedproduct3_DEPENDENCIES =  \
+reverse_congruences1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(reverse_congruences1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+am_reverse_congruencesproduct1_OBJECTS =  \
+	reverse_congruencesproduct1-congruencesproduct1.$(OBJEXT)
+reverse_congruencesproduct1_OBJECTS =  \
+	$(am_reverse_congruencesproduct1_OBJECTS)
+reverse_congruencesproduct1_LDADD = $(LDADD)
+reverse_congruencesproduct1_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+reverse_congruencesproduct1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(reverse_congruencesproduct1_CXXFLAGS) $(CXXFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_reverse_constraints1_OBJECTS =  \
+	reverse_constraints1-constraints1.$(OBJEXT)
+reverse_constraints1_OBJECTS = $(am_reverse_constraints1_OBJECTS)
+reverse_constraints1_LDADD = $(LDADD)
+reverse_constraints1_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+reverse_constraints1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(reverse_constraints1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+am_reverse_constraintsproduct1_OBJECTS =  \
+	reverse_constraintsproduct1-constraintsproduct1.$(OBJEXT)
+reverse_constraintsproduct1_OBJECTS =  \
+	$(am_reverse_constraintsproduct1_OBJECTS)
+reverse_constraintsproduct1_LDADD = $(LDADD)
+reverse_constraintsproduct1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-am_partiallyreducedproduct4_OBJECTS =  \
-	partiallyreducedproduct4.$(OBJEXT)
-partiallyreducedproduct4_OBJECTS =  \
-	$(am_partiallyreducedproduct4_OBJECTS)
-partiallyreducedproduct4_LDADD = $(LDADD)
-partiallyreducedproduct4_DEPENDENCIES =  \
+reverse_constraintsproduct1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(reverse_constraintsproduct1_CXXFLAGS) $(CXXFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_reverse_directproduct1_OBJECTS =  \
+	reverse_directproduct1-directproduct1.$(OBJEXT)
+reverse_directproduct1_OBJECTS = $(am_reverse_directproduct1_OBJECTS)
+reverse_directproduct1_LDADD = $(LDADD)
+reverse_directproduct1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+reverse_directproduct1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(reverse_directproduct1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+am_reverse_shapepreservingproduct1_OBJECTS = reverse_shapepreservingproduct1-shapepreservingproduct1.$(OBJEXT)
+reverse_shapepreservingproduct1_OBJECTS =  \
+	$(am_reverse_shapepreservingproduct1_OBJECTS)
+reverse_shapepreservingproduct1_LDADD = $(LDADD)
+reverse_shapepreservingproduct1_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+reverse_shapepreservingproduct1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(reverse_shapepreservingproduct1_CXXFLAGS) $(CXXFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_shapepreservingproduct1_OBJECTS =  \
+	shapepreservingproduct1.$(OBJEXT)
+shapepreservingproduct1_OBJECTS =  \
+	$(am_shapepreservingproduct1_OBJECTS)
+shapepreservingproduct1_LDADD = $(LDADD)
+shapepreservingproduct1_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_smashproduct1_OBJECTS = smashproduct1.$(OBJEXT)
+smashproduct1_OBJECTS = $(am_smashproduct1_OBJECTS)
+smashproduct1_LDADD = $(LDADD)
+smashproduct1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_spacedims1_OBJECTS = spacedims1.$(OBJEXT)
+spacedims1_OBJECTS = $(am_spacedims1_OBJECTS)
+spacedims1_LDADD = $(LDADD)
+spacedims1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_timeelapse1_OBJECTS = timeelapse1.$(OBJEXT)
+timeelapse1_OBJECTS = $(am_timeelapse1_OBJECTS)
+timeelapse1_LDADD = $(LDADD)
+timeelapse1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_topclosed1_OBJECTS = topclosed1.$(OBJEXT)
+topclosed1_OBJECTS = $(am_topclosed1_OBJECTS)
+topclosed1_LDADD = $(LDADD)
+topclosed1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_topclosure1_OBJECTS = topclosure1.$(OBJEXT)
+topclosure1_OBJECTS = $(am_topclosure1_OBJECTS)
+topclosure1_LDADD = $(LDADD)
+topclosure1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_upperbound1_OBJECTS = upperbound1.$(OBJEXT)
+upperbound1_OBJECTS = $(am_upperbound1_OBJECTS)
+upperbound1_LDADD = $(LDADD)
+upperbound1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_$(V))
+am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+am__v_CXX_0 = @echo "  CXX   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
-SOURCES = $(asciidumpload1_SOURCES) $(directproduct1_SOURCES) \
-	$(directproduct2_SOURCES) $(directproduct3_SOURCES) \
-	$(directproduct4_SOURCES) $(directproduct5_SOURCES) \
-	$(directproduct6_SOURCES) $(partiallyreducedproduct1_SOURCES) \
-	$(partiallyreducedproduct2_SOURCES) \
-	$(partiallyreducedproduct3_SOURCES) \
-	$(partiallyreducedproduct4_SOURCES)
-DIST_SOURCES = $(asciidumpload1_SOURCES) $(directproduct1_SOURCES) \
-	$(directproduct2_SOURCES) $(directproduct3_SOURCES) \
-	$(directproduct4_SOURCES) $(directproduct5_SOURCES) \
-	$(directproduct6_SOURCES) $(partiallyreducedproduct1_SOURCES) \
-	$(partiallyreducedproduct2_SOURCES) \
-	$(partiallyreducedproduct3_SOURCES) \
-	$(partiallyreducedproduct4_SOURCES)
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_$(V))
+am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
+SOURCES = $(addcongruences1_SOURCES) $(affineimage1_SOURCES) \
+	$(asciidumpload1_SOURCES) $(bounded1_SOURCES) \
+	$(boundedaffineimage1_SOURCES) $(bounds1_SOURCES) \
+	$(concatenate1_SOURCES) $(congruences1_SOURCES) \
+	$(congruencesproduct1_SOURCES) $(constraints1_SOURCES) \
+	$(constraintsproduct1_SOURCES) $(contains1_SOURCES) \
+	$(difference1_SOURCES) $(dimension1_SOURCES) \
+	$(directproduct1_SOURCES) $(discrete1_SOURCES) \
+	$(disjoint1_SOURCES) $(dropsomenonintegerpoints1_SOURCES) \
+	$(equals1_SOURCES) $(frombdshape1_SOURCES) $(frombox1_SOURCES) \
+	$(fromgrid1_SOURCES) $(fromoctagonalshape1_SOURCES) \
+	$(frompolyhedron1_SOURCES) $(fromproduct1_SOURCES) \
+	$(generalizedaffineimage1_SOURCES) $(intersection1_SOURCES) \
+	$(isempty1_SOURCES) $(isuniverse1_SOURCES) $(maxmin1_SOURCES) \
+	$(refinewithcongruences1_SOURCES) \
+	$(refinewithconstraints1_SOURCES) $(relations1_SOURCES) \
+	$(reverse_congruences1_SOURCES) \
+	$(reverse_congruencesproduct1_SOURCES) \
+	$(reverse_constraints1_SOURCES) \
+	$(reverse_constraintsproduct1_SOURCES) \
+	$(reverse_directproduct1_SOURCES) \
+	$(reverse_shapepreservingproduct1_SOURCES) \
+	$(shapepreservingproduct1_SOURCES) $(smashproduct1_SOURCES) \
+	$(spacedims1_SOURCES) $(timeelapse1_SOURCES) \
+	$(topclosed1_SOURCES) $(topclosure1_SOURCES) \
+	$(upperbound1_SOURCES)
+DIST_SOURCES = $(addcongruences1_SOURCES) $(affineimage1_SOURCES) \
+	$(asciidumpload1_SOURCES) $(bounded1_SOURCES) \
+	$(boundedaffineimage1_SOURCES) $(bounds1_SOURCES) \
+	$(concatenate1_SOURCES) $(congruences1_SOURCES) \
+	$(congruencesproduct1_SOURCES) $(constraints1_SOURCES) \
+	$(constraintsproduct1_SOURCES) $(contains1_SOURCES) \
+	$(difference1_SOURCES) $(dimension1_SOURCES) \
+	$(directproduct1_SOURCES) $(discrete1_SOURCES) \
+	$(disjoint1_SOURCES) $(dropsomenonintegerpoints1_SOURCES) \
+	$(equals1_SOURCES) $(frombdshape1_SOURCES) $(frombox1_SOURCES) \
+	$(fromgrid1_SOURCES) $(fromoctagonalshape1_SOURCES) \
+	$(frompolyhedron1_SOURCES) $(fromproduct1_SOURCES) \
+	$(generalizedaffineimage1_SOURCES) $(intersection1_SOURCES) \
+	$(isempty1_SOURCES) $(isuniverse1_SOURCES) $(maxmin1_SOURCES) \
+	$(refinewithcongruences1_SOURCES) \
+	$(refinewithconstraints1_SOURCES) $(relations1_SOURCES) \
+	$(reverse_congruences1_SOURCES) \
+	$(reverse_congruencesproduct1_SOURCES) \
+	$(reverse_constraints1_SOURCES) \
+	$(reverse_constraintsproduct1_SOURCES) \
+	$(reverse_directproduct1_SOURCES) \
+	$(reverse_shapepreservingproduct1_SOURCES) \
+	$(shapepreservingproduct1_SOURCES) $(smashproduct1_SOURCES) \
+	$(spacedims1_SOURCES) $(timeelapse1_SOURCES) \
+	$(topclosed1_SOURCES) $(topclosure1_SOURCES) \
+	$(upperbound1_SOURCES)
+HEADERS = $(noinst_HEADERS)
 ETAGS = etags
 CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -261,6 +588,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -278,8 +607,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -287,6 +626,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -303,12 +643,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -351,11 +694,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -385,6 +726,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -392,6 +734,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 @VALGRIND_TESTS_ENABLED_FALSE at CHECKER = 
 @VALGRIND_TESTS_ENABLED_TRUE at CHECKER = \
 @VALGRIND_TESTS_ENABLED_TRUE@$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
@@ -399,9 +742,13 @@ xsb_prolog = @xsb_prolog@
 @VALGRIND_TESTS_ENABLED_TRUE at --suppressions=$(top_srcdir)/tests/valgrind_suppressions
 
 TESTS_ENVIRONMENT = $(CHECKER)
+noinst_HEADERS = \
+partially_reduced_product_test.hh
+
 AM_CPPFLAGS = \
 -I$(top_builddir)/src \
 -I$(top_srcdir)/src -I$(top_srcdir)/tests \
+-I$(top_srcdir)/tests/Partially_Reduced_Product \
 -I$(top_srcdir)/utils \
 @extra_includes@ \
 @debug_flag@
@@ -412,21 +759,113 @@ $(top_builddir)/tests/libppl_tests.a \
 $(top_builddir)/src/libppl.la \
 @extra_libraries@
 
+ORIGINAL_TESTS = \
+addcongruences1 \
+affineimage1 \
+asciidumpload1 \
+bounded1 \
+boundedaffineimage1 \
+bounds1 \
+concatenate1 \
+congruences1 \
+congruencesproduct1 \
+constraints1 \
+constraintsproduct1 \
+contains1 \
+difference1 \
+dimension1 \
+directproduct1 \
+discrete1 \
+disjoint1 \
+dropsomenonintegerpoints1 \
+equals1 \
+frombdshape1 \
+frombox1 \
+fromgrid1 \
+fromoctagonalshape1 \
+frompolyhedron1 \
+fromproduct1 \
+generalizedaffineimage1 \
+intersection1 \
+isempty1 \
+isuniverse1 \
+maxmin1 \
+refinewithcongruences1 \
+refinewithconstraints1 \
+relations1 \
+shapepreservingproduct1 \
+smashproduct1 \
+spacedims1 \
+timeelapse1 \
+topclosed1 \
+topclosure1 \
+upperbound1
+
+REVERSED_TESTS = \
+reverse_constraints1 \
+reverse_congruences1 \
+reverse_directproduct1 \
+reverse_constraintsproduct1 \
+reverse_congruencesproduct1 \
+reverse_shapepreservingproduct1
+
 
 #
 # Sources for the tests
 #
+addcongruences1_SOURCES = addcongruences1.cc
+affineimage1_SOURCES = affineimage1.cc
 asciidumpload1_SOURCES = asciidumpload1.cc
+bounded1_SOURCES = bounded1.cc
+boundedaffineimage1_SOURCES = boundedaffineimage1.cc
+bounds1_SOURCES = bounds1.cc
+concatenate1_SOURCES = concatenate1.cc
+congruences1_SOURCES = congruences1.cc
+congruencesproduct1_SOURCES = congruencesproduct1.cc
+constraintsproduct1_SOURCES = constraintsproduct1.cc
+constraints1_SOURCES = constraints1.cc
+contains1_SOURCES = contains1.cc
+difference1_SOURCES = difference1.cc
+dimension1_SOURCES = dimension1.cc
 directproduct1_SOURCES = directproduct1.cc
-directproduct2_SOURCES = directproduct2.cc
-directproduct3_SOURCES = directproduct3.cc
-directproduct4_SOURCES = directproduct4.cc
-directproduct5_SOURCES = directproduct5.cc
-directproduct6_SOURCES = directproduct6.cc
-partiallyreducedproduct1_SOURCES = partiallyreducedproduct1.cc
-partiallyreducedproduct2_SOURCES = partiallyreducedproduct2.cc
-partiallyreducedproduct3_SOURCES = partiallyreducedproduct3.cc
-partiallyreducedproduct4_SOURCES = partiallyreducedproduct4.cc
+discrete1_SOURCES = discrete1.cc
+disjoint1_SOURCES = disjoint1.cc
+dropsomenonintegerpoints1_SOURCES = dropsomenonintegerpoints1.cc
+equals1_SOURCES = equals1.cc
+frombdshape1_SOURCES = frombdshape1.cc
+frombox1_SOURCES = frombox1.cc
+fromgrid1_SOURCES = fromgrid1.cc
+fromoctagonalshape1_SOURCES = fromoctagonalshape1.cc
+frompolyhedron1_SOURCES = frompolyhedron1.cc
+fromproduct1_SOURCES = fromproduct1.cc
+generalizedaffineimage1_SOURCES = generalizedaffineimage1.cc
+intersection1_SOURCES = intersection1.cc
+isempty1_SOURCES = isempty1.cc
+isuniverse1_SOURCES = isuniverse1.cc
+maxmin1_SOURCES = maxmin1.cc
+refinewithcongruences1_SOURCES = refinewithcongruences1.cc
+refinewithconstraints1_SOURCES = refinewithconstraints1.cc
+relations1_SOURCES = relations1.cc
+shapepreservingproduct1_SOURCES = shapepreservingproduct1.cc
+smashproduct1_SOURCES = smashproduct1.cc
+spacedims1_SOURCES = spacedims1.cc
+timeelapse1_SOURCES = timeelapse1.cc
+topclosed1_SOURCES = topclosed1.cc
+topclosure1_SOURCES = topclosure1.cc
+upperbound1_SOURCES = upperbound1.cc
+DERIVED_CXXFLAGS = -DREVERSED_TESTS $(AM_CXXFLAGS)
+reverse_congruences1_SOURCES = congruences1.cc
+reverse_congruences1_CXXFLAGS = $(DERIVED_CXXFLAGS)
+reverse_constraints1_SOURCES = constraints1.cc
+reverse_constraints1_CXXFLAGS = $(DERIVED_CXXFLAGS)
+reverse_directproduct1_SOURCES = directproduct1.cc
+reverse_directproduct1_CXXFLAGS = $(DERIVED_CXXFLAGS)
+reverse_constraintsproduct1_SOURCES = constraintsproduct1.cc
+reverse_constraintsproduct1_CXXFLAGS = $(DERIVED_CXXFLAGS)
+reverse_congruencesproduct1_SOURCES = congruencesproduct1.cc
+reverse_congruencesproduct1_CXXFLAGS = $(DERIVED_CXXFLAGS)
+reverse_shapepreservingproduct1_SOURCES = shapepreservingproduct1.cc
+reverse_shapepreservingproduct1_CXXFLAGS = $(DERIVED_CXXFLAGS)
 MOSTLYCLEANFILES = \
 ascii_dump_load1.dat
 
@@ -438,14 +877,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  tests/Partially_Reduced_Product/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  tests/Partially_Reduced_Product/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/Partially_Reduced_Product/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign tests/Partially_Reduced_Product/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -463,46 +902,154 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 clean-checkPROGRAMS:
-	@list='$(check_PROGRAMS)'; for p in $$list; do \
-	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  echo " rm -f $$p $$f"; \
-	  rm -f $$p $$f ; \
-	done
+	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
+addcongruences1$(EXEEXT): $(addcongruences1_OBJECTS) $(addcongruences1_DEPENDENCIES) 
+	@rm -f addcongruences1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(addcongruences1_OBJECTS) $(addcongruences1_LDADD) $(LIBS)
+affineimage1$(EXEEXT): $(affineimage1_OBJECTS) $(affineimage1_DEPENDENCIES) 
+	@rm -f affineimage1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(affineimage1_OBJECTS) $(affineimage1_LDADD) $(LIBS)
 asciidumpload1$(EXEEXT): $(asciidumpload1_OBJECTS) $(asciidumpload1_DEPENDENCIES) 
 	@rm -f asciidumpload1$(EXEEXT)
-	$(CXXLINK) $(asciidumpload1_OBJECTS) $(asciidumpload1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(asciidumpload1_OBJECTS) $(asciidumpload1_LDADD) $(LIBS)
+bounded1$(EXEEXT): $(bounded1_OBJECTS) $(bounded1_DEPENDENCIES) 
+	@rm -f bounded1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(bounded1_OBJECTS) $(bounded1_LDADD) $(LIBS)
+boundedaffineimage1$(EXEEXT): $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_DEPENDENCIES) 
+	@rm -f boundedaffineimage1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_LDADD) $(LIBS)
+bounds1$(EXEEXT): $(bounds1_OBJECTS) $(bounds1_DEPENDENCIES) 
+	@rm -f bounds1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(bounds1_OBJECTS) $(bounds1_LDADD) $(LIBS)
+concatenate1$(EXEEXT): $(concatenate1_OBJECTS) $(concatenate1_DEPENDENCIES) 
+	@rm -f concatenate1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(concatenate1_OBJECTS) $(concatenate1_LDADD) $(LIBS)
+congruences1$(EXEEXT): $(congruences1_OBJECTS) $(congruences1_DEPENDENCIES) 
+	@rm -f congruences1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(congruences1_OBJECTS) $(congruences1_LDADD) $(LIBS)
+congruencesproduct1$(EXEEXT): $(congruencesproduct1_OBJECTS) $(congruencesproduct1_DEPENDENCIES) 
+	@rm -f congruencesproduct1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(congruencesproduct1_OBJECTS) $(congruencesproduct1_LDADD) $(LIBS)
+constraints1$(EXEEXT): $(constraints1_OBJECTS) $(constraints1_DEPENDENCIES) 
+	@rm -f constraints1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(constraints1_OBJECTS) $(constraints1_LDADD) $(LIBS)
+constraintsproduct1$(EXEEXT): $(constraintsproduct1_OBJECTS) $(constraintsproduct1_DEPENDENCIES) 
+	@rm -f constraintsproduct1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(constraintsproduct1_OBJECTS) $(constraintsproduct1_LDADD) $(LIBS)
+contains1$(EXEEXT): $(contains1_OBJECTS) $(contains1_DEPENDENCIES) 
+	@rm -f contains1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(contains1_OBJECTS) $(contains1_LDADD) $(LIBS)
+difference1$(EXEEXT): $(difference1_OBJECTS) $(difference1_DEPENDENCIES) 
+	@rm -f difference1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(difference1_OBJECTS) $(difference1_LDADD) $(LIBS)
+dimension1$(EXEEXT): $(dimension1_OBJECTS) $(dimension1_DEPENDENCIES) 
+	@rm -f dimension1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(dimension1_OBJECTS) $(dimension1_LDADD) $(LIBS)
 directproduct1$(EXEEXT): $(directproduct1_OBJECTS) $(directproduct1_DEPENDENCIES) 
 	@rm -f directproduct1$(EXEEXT)
-	$(CXXLINK) $(directproduct1_OBJECTS) $(directproduct1_LDADD) $(LIBS)
-directproduct2$(EXEEXT): $(directproduct2_OBJECTS) $(directproduct2_DEPENDENCIES) 
-	@rm -f directproduct2$(EXEEXT)
-	$(CXXLINK) $(directproduct2_OBJECTS) $(directproduct2_LDADD) $(LIBS)
-directproduct3$(EXEEXT): $(directproduct3_OBJECTS) $(directproduct3_DEPENDENCIES) 
-	@rm -f directproduct3$(EXEEXT)
-	$(CXXLINK) $(directproduct3_OBJECTS) $(directproduct3_LDADD) $(LIBS)
-directproduct4$(EXEEXT): $(directproduct4_OBJECTS) $(directproduct4_DEPENDENCIES) 
-	@rm -f directproduct4$(EXEEXT)
-	$(CXXLINK) $(directproduct4_OBJECTS) $(directproduct4_LDADD) $(LIBS)
-directproduct5$(EXEEXT): $(directproduct5_OBJECTS) $(directproduct5_DEPENDENCIES) 
-	@rm -f directproduct5$(EXEEXT)
-	$(CXXLINK) $(directproduct5_OBJECTS) $(directproduct5_LDADD) $(LIBS)
-directproduct6$(EXEEXT): $(directproduct6_OBJECTS) $(directproduct6_DEPENDENCIES) 
-	@rm -f directproduct6$(EXEEXT)
-	$(CXXLINK) $(directproduct6_OBJECTS) $(directproduct6_LDADD) $(LIBS)
-partiallyreducedproduct1$(EXEEXT): $(partiallyreducedproduct1_OBJECTS) $(partiallyreducedproduct1_DEPENDENCIES) 
-	@rm -f partiallyreducedproduct1$(EXEEXT)
-	$(CXXLINK) $(partiallyreducedproduct1_OBJECTS) $(partiallyreducedproduct1_LDADD) $(LIBS)
-partiallyreducedproduct2$(EXEEXT): $(partiallyreducedproduct2_OBJECTS) $(partiallyreducedproduct2_DEPENDENCIES) 
-	@rm -f partiallyreducedproduct2$(EXEEXT)
-	$(CXXLINK) $(partiallyreducedproduct2_OBJECTS) $(partiallyreducedproduct2_LDADD) $(LIBS)
-partiallyreducedproduct3$(EXEEXT): $(partiallyreducedproduct3_OBJECTS) $(partiallyreducedproduct3_DEPENDENCIES) 
-	@rm -f partiallyreducedproduct3$(EXEEXT)
-	$(CXXLINK) $(partiallyreducedproduct3_OBJECTS) $(partiallyreducedproduct3_LDADD) $(LIBS)
-partiallyreducedproduct4$(EXEEXT): $(partiallyreducedproduct4_OBJECTS) $(partiallyreducedproduct4_DEPENDENCIES) 
-	@rm -f partiallyreducedproduct4$(EXEEXT)
-	$(CXXLINK) $(partiallyreducedproduct4_OBJECTS) $(partiallyreducedproduct4_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(directproduct1_OBJECTS) $(directproduct1_LDADD) $(LIBS)
+discrete1$(EXEEXT): $(discrete1_OBJECTS) $(discrete1_DEPENDENCIES) 
+	@rm -f discrete1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(discrete1_OBJECTS) $(discrete1_LDADD) $(LIBS)
+disjoint1$(EXEEXT): $(disjoint1_OBJECTS) $(disjoint1_DEPENDENCIES) 
+	@rm -f disjoint1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(disjoint1_OBJECTS) $(disjoint1_LDADD) $(LIBS)
+dropsomenonintegerpoints1$(EXEEXT): $(dropsomenonintegerpoints1_OBJECTS) $(dropsomenonintegerpoints1_DEPENDENCIES) 
+	@rm -f dropsomenonintegerpoints1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(dropsomenonintegerpoints1_OBJECTS) $(dropsomenonintegerpoints1_LDADD) $(LIBS)
+equals1$(EXEEXT): $(equals1_OBJECTS) $(equals1_DEPENDENCIES) 
+	@rm -f equals1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(equals1_OBJECTS) $(equals1_LDADD) $(LIBS)
+frombdshape1$(EXEEXT): $(frombdshape1_OBJECTS) $(frombdshape1_DEPENDENCIES) 
+	@rm -f frombdshape1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(frombdshape1_OBJECTS) $(frombdshape1_LDADD) $(LIBS)
+frombox1$(EXEEXT): $(frombox1_OBJECTS) $(frombox1_DEPENDENCIES) 
+	@rm -f frombox1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(frombox1_OBJECTS) $(frombox1_LDADD) $(LIBS)
+fromgrid1$(EXEEXT): $(fromgrid1_OBJECTS) $(fromgrid1_DEPENDENCIES) 
+	@rm -f fromgrid1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(fromgrid1_OBJECTS) $(fromgrid1_LDADD) $(LIBS)
+fromoctagonalshape1$(EXEEXT): $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_DEPENDENCIES) 
+	@rm -f fromoctagonalshape1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_LDADD) $(LIBS)
+frompolyhedron1$(EXEEXT): $(frompolyhedron1_OBJECTS) $(frompolyhedron1_DEPENDENCIES) 
+	@rm -f frompolyhedron1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(frompolyhedron1_OBJECTS) $(frompolyhedron1_LDADD) $(LIBS)
+fromproduct1$(EXEEXT): $(fromproduct1_OBJECTS) $(fromproduct1_DEPENDENCIES) 
+	@rm -f fromproduct1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(fromproduct1_OBJECTS) $(fromproduct1_LDADD) $(LIBS)
+generalizedaffineimage1$(EXEEXT): $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_DEPENDENCIES) 
+	@rm -f generalizedaffineimage1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_LDADD) $(LIBS)
+intersection1$(EXEEXT): $(intersection1_OBJECTS) $(intersection1_DEPENDENCIES) 
+	@rm -f intersection1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(intersection1_OBJECTS) $(intersection1_LDADD) $(LIBS)
+isempty1$(EXEEXT): $(isempty1_OBJECTS) $(isempty1_DEPENDENCIES) 
+	@rm -f isempty1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(isempty1_OBJECTS) $(isempty1_LDADD) $(LIBS)
+isuniverse1$(EXEEXT): $(isuniverse1_OBJECTS) $(isuniverse1_DEPENDENCIES) 
+	@rm -f isuniverse1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(isuniverse1_OBJECTS) $(isuniverse1_LDADD) $(LIBS)
+maxmin1$(EXEEXT): $(maxmin1_OBJECTS) $(maxmin1_DEPENDENCIES) 
+	@rm -f maxmin1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(maxmin1_OBJECTS) $(maxmin1_LDADD) $(LIBS)
+refinewithcongruences1$(EXEEXT): $(refinewithcongruences1_OBJECTS) $(refinewithcongruences1_DEPENDENCIES) 
+	@rm -f refinewithcongruences1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(refinewithcongruences1_OBJECTS) $(refinewithcongruences1_LDADD) $(LIBS)
+refinewithconstraints1$(EXEEXT): $(refinewithconstraints1_OBJECTS) $(refinewithconstraints1_DEPENDENCIES) 
+	@rm -f refinewithconstraints1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(refinewithconstraints1_OBJECTS) $(refinewithconstraints1_LDADD) $(LIBS)
+relations1$(EXEEXT): $(relations1_OBJECTS) $(relations1_DEPENDENCIES) 
+	@rm -f relations1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(relations1_OBJECTS) $(relations1_LDADD) $(LIBS)
+reverse_congruences1$(EXEEXT): $(reverse_congruences1_OBJECTS) $(reverse_congruences1_DEPENDENCIES) 
+	@rm -f reverse_congruences1$(EXEEXT)
+	$(AM_V_CXXLD)$(reverse_congruences1_LINK) $(reverse_congruences1_OBJECTS) $(reverse_congruences1_LDADD) $(LIBS)
+reverse_congruencesproduct1$(EXEEXT): $(reverse_congruencesproduct1_OBJECTS) $(reverse_congruencesproduct1_DEPENDENCIES) 
+	@rm -f reverse_congruencesproduct1$(EXEEXT)
+	$(AM_V_CXXLD)$(reverse_congruencesproduct1_LINK) $(reverse_congruencesproduct1_OBJECTS) $(reverse_congruencesproduct1_LDADD) $(LIBS)
+reverse_constraints1$(EXEEXT): $(reverse_constraints1_OBJECTS) $(reverse_constraints1_DEPENDENCIES) 
+	@rm -f reverse_constraints1$(EXEEXT)
+	$(AM_V_CXXLD)$(reverse_constraints1_LINK) $(reverse_constraints1_OBJECTS) $(reverse_constraints1_LDADD) $(LIBS)
+reverse_constraintsproduct1$(EXEEXT): $(reverse_constraintsproduct1_OBJECTS) $(reverse_constraintsproduct1_DEPENDENCIES) 
+	@rm -f reverse_constraintsproduct1$(EXEEXT)
+	$(AM_V_CXXLD)$(reverse_constraintsproduct1_LINK) $(reverse_constraintsproduct1_OBJECTS) $(reverse_constraintsproduct1_LDADD) $(LIBS)
+reverse_directproduct1$(EXEEXT): $(reverse_directproduct1_OBJECTS) $(reverse_directproduct1_DEPENDENCIES) 
+	@rm -f reverse_directproduct1$(EXEEXT)
+	$(AM_V_CXXLD)$(reverse_directproduct1_LINK) $(reverse_directproduct1_OBJECTS) $(reverse_directproduct1_LDADD) $(LIBS)
+reverse_shapepreservingproduct1$(EXEEXT): $(reverse_shapepreservingproduct1_OBJECTS) $(reverse_shapepreservingproduct1_DEPENDENCIES) 
+	@rm -f reverse_shapepreservingproduct1$(EXEEXT)
+	$(AM_V_CXXLD)$(reverse_shapepreservingproduct1_LINK) $(reverse_shapepreservingproduct1_OBJECTS) $(reverse_shapepreservingproduct1_LDADD) $(LIBS)
+shapepreservingproduct1$(EXEEXT): $(shapepreservingproduct1_OBJECTS) $(shapepreservingproduct1_DEPENDENCIES) 
+	@rm -f shapepreservingproduct1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(shapepreservingproduct1_OBJECTS) $(shapepreservingproduct1_LDADD) $(LIBS)
+smashproduct1$(EXEEXT): $(smashproduct1_OBJECTS) $(smashproduct1_DEPENDENCIES) 
+	@rm -f smashproduct1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(smashproduct1_OBJECTS) $(smashproduct1_LDADD) $(LIBS)
+spacedims1$(EXEEXT): $(spacedims1_OBJECTS) $(spacedims1_DEPENDENCIES) 
+	@rm -f spacedims1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(spacedims1_OBJECTS) $(spacedims1_LDADD) $(LIBS)
+timeelapse1$(EXEEXT): $(timeelapse1_OBJECTS) $(timeelapse1_DEPENDENCIES) 
+	@rm -f timeelapse1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(timeelapse1_OBJECTS) $(timeelapse1_LDADD) $(LIBS)
+topclosed1$(EXEEXT): $(topclosed1_OBJECTS) $(topclosed1_DEPENDENCIES) 
+	@rm -f topclosed1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(topclosed1_OBJECTS) $(topclosed1_LDADD) $(LIBS)
+topclosure1$(EXEEXT): $(topclosure1_OBJECTS) $(topclosure1_DEPENDENCIES) 
+	@rm -f topclosure1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(topclosure1_OBJECTS) $(topclosure1_LDADD) $(LIBS)
+upperbound1$(EXEEXT): $(upperbound1_OBJECTS) $(upperbound1_DEPENDENCIES) 
+	@rm -f upperbound1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(upperbound1_OBJECTS) $(upperbound1_LDADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -510,39 +1057,173 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/addcongruences1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/affineimage1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/asciidumpload1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/bounded1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/boundedaffineimage1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/bounds1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/concatenate1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/congruences1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/congruencesproduct1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/constraints1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/constraintsproduct1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/contains1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/difference1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dimension1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/directproduct1.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/directproduct2.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/directproduct3.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/directproduct4.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/directproduct5.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/directproduct6.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/partiallyreducedproduct1.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/partiallyreducedproduct2.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/partiallyreducedproduct3.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/partiallyreducedproduct4.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/discrete1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/disjoint1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dropsomenonintegerpoints1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/equals1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/frombdshape1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/frombox1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fromgrid1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fromoctagonalshape1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/frompolyhedron1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fromproduct1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/generalizedaffineimage1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/intersection1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/isempty1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/isuniverse1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/maxmin1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/refinewithcongruences1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/refinewithconstraints1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/relations1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/reverse_congruences1-congruences1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/reverse_congruencesproduct1-congruencesproduct1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/reverse_constraints1-constraints1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/reverse_constraintsproduct1-constraintsproduct1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/reverse_directproduct1-directproduct1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/reverse_shapepreservingproduct1-shapepreservingproduct1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/shapepreservingproduct1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/smashproduct1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/spacedims1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/timeelapse1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/topclosed1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/topclosure1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/upperbound1.Po at am__quote@
 
 .cc.o:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
- at am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
 
+reverse_congruences1-congruences1.o: congruences1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_congruences1_CXXFLAGS) $(CXXFLAGS) -MT reverse_congruences1-congruences1.o -MD -MP -MF $(DEPDIR)/reverse_congruences1-congruences1.Tpo -c -o reverse_congruences1-congruences1.o `test -f 'congruences1.cc' || echo '$(srcdir)/'`congruences1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/reverse_congruences1-congruences1.Tpo $(DEPDIR)/reverse_congruences1-congruences1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='congruences1.cc' object='reverse_congruences1-congruences1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_congruences1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_congruences1-congruences1.o `test -f 'congruences1.cc' || echo '$(srcdir)/'`congruences1.cc
+
+reverse_congruences1-congruences1.obj: congruences1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_congruences1_CXXFLAGS) $(CXXFLAGS) -MT reverse_congruences1-congruences1.obj -MD -MP -MF $(DEPDIR)/reverse_congruences1-congruences1.Tpo -c -o reverse_congruences1-congruences1.obj `if test -f 'congruences1.cc'; then $(CYGPATH_W) 'congruences1.cc'; else $(CYGPATH_W) '$(srcdir)/congruences1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/reverse_congruences1-congruences1.Tpo $(DEPDIR)/reverse_congruences1-congruences1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='congruences1.cc' object='reverse_congruences1-congruences1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_congruences1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_congruences1-congruences1.obj `if test -f 'congruences1.cc'; then $(CYGPATH_W) 'congruences1.cc'; else $(CYGPATH_W) '$(srcdir)/congruences1.cc'; fi`
+
+reverse_congruencesproduct1-congruencesproduct1.o: congruencesproduct1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_congruencesproduct1_CXXFLAGS) $(CXXFLAGS) -MT reverse_congruencesproduct1-congruencesproduct1.o -MD -MP -MF $(DEPDIR)/reverse_congruencesproduct1-congruencesproduct1.Tpo -c -o reverse_congruencesproduct1-congruencesproduct1.o `test -f 'congruencesproduct1.cc' || echo '$(srcdir)/'`congruencesproduct1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/reverse_congruencesproduct1-congruencesproduct1.Tpo $(DEPDIR)/reverse_congruencesproduct1-congruencesproduct1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='congruencesproduct1.cc' object='reverse_congruencesproduct1-congruencesproduct1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_congruencesproduct1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_congruencesproduct1-congruencesproduct1.o `test -f 'congruencesproduct1.cc' || echo '$(srcdir)/'`congruencesproduct1.cc
+
+reverse_congruencesproduct1-congruencesproduct1.obj: congruencesproduct1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_congruencesproduct1_CXXFLAGS) $(CXXFLAGS) -MT reverse_congruencesproduct1-congruencesproduct1.obj -MD -MP -MF $(DEPDIR)/reverse_congruencesproduct1-congruencesproduct1.Tpo -c -o reverse_congruencesproduct1-congruencesproduct1.obj `if test -f 'congruencesproduct1.cc'; then $(CYGPATH_W) 'congruencesproduct1.cc'; else $(CYGPATH_W) '$(srcdir)/congruencesproduct1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/reverse_congruencesproduct1-congruencesproduct1.Tpo $(DEPDIR)/reverse_congruencesproduct1-congruencesproduct1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='congruencesproduct1.cc' object='reverse_congruencesproduct1-congruencesproduct1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_congruencesproduct1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_congruencesproduct1-congruencesproduct1.obj `if test -f 'congruencesproduct1.cc'; then $(CYGPATH_W) 'congruencesproduct1.cc'; else $(CYGPATH_W) '$(srcdir)/congruencesproduct1.cc'; fi`
+
+reverse_constraints1-constraints1.o: constraints1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_constraints1_CXXFLAGS) $(CXXFLAGS) -MT reverse_constraints1-constraints1.o -MD -MP -MF $(DEPDIR)/reverse_constraints1-constraints1.Tpo -c -o reverse_constraints1-constraints1.o `test -f 'constraints1.cc' || echo '$(srcdir)/'`constraints1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/reverse_constraints1-constraints1.Tpo $(DEPDIR)/reverse_constraints1-constraints1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='constraints1.cc' object='reverse_constraints1-constraints1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_constraints1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_constraints1-constraints1.o `test -f 'constraints1.cc' || echo '$(srcdir)/'`constraints1.cc
+
+reverse_constraints1-constraints1.obj: constraints1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_constraints1_CXXFLAGS) $(CXXFLAGS) -MT reverse_constraints1-constraints1.obj -MD -MP -MF $(DEPDIR)/reverse_constraints1-constraints1.Tpo -c -o reverse_constraints1-constraints1.obj `if test -f 'constraints1.cc'; then $(CYGPATH_W) 'constraints1.cc'; else $(CYGPATH_W) '$(srcdir)/constraints1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/reverse_constraints1-constraints1.Tpo $(DEPDIR)/reverse_constraints1-constraints1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='constraints1.cc' object='reverse_constraints1-constraints1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_constraints1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_constraints1-constraints1.obj `if test -f 'constraints1.cc'; then $(CYGPATH_W) 'constraints1.cc'; else $(CYGPATH_W) '$(srcdir)/constraints1.cc'; fi`
+
+reverse_constraintsproduct1-constraintsproduct1.o: constraintsproduct1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_constraintsproduct1_CXXFLAGS) $(CXXFLAGS) -MT reverse_constraintsproduct1-constraintsproduct1.o -MD -MP -MF $(DEPDIR)/reverse_constraintsproduct1-constraintsproduct1.Tpo -c -o reverse_constraintsproduct1-constraintsproduct1.o `test -f 'constraintsproduct1.cc' || echo '$(srcdir)/'`constraintsproduct1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/reverse_constraintsproduct1-constraintsproduct1.Tpo $(DEPDIR)/reverse_constraintsproduct1-constraintsproduct1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='constraintsproduct1.cc' object='reverse_constraintsproduct1-constraintsproduct1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_constraintsproduct1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_constraintsproduct1-constraintsproduct1.o `test -f 'constraintsproduct1.cc' || echo '$(srcdir)/'`constraintsproduct1.cc
+
+reverse_constraintsproduct1-constraintsproduct1.obj: constraintsproduct1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_constraintsproduct1_CXXFLAGS) $(CXXFLAGS) -MT reverse_constraintsproduct1-constraintsproduct1.obj -MD -MP -MF $(DEPDIR)/reverse_constraintsproduct1-constraintsproduct1.Tpo -c -o reverse_constraintsproduct1-constraintsproduct1.obj `if test -f 'constraintsproduct1.cc'; then $(CYGPATH_W) 'constraintsproduct1.cc'; else $(CYGPATH_W) '$(srcdir)/constraintsproduct1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/reverse_constraintsproduct1-constraintsproduct1.Tpo $(DEPDIR)/reverse_constraintsproduct1-constraintsproduct1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='constraintsproduct1.cc' object='reverse_constraintsproduct1-constraintsproduct1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_constraintsproduct1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_constraintsproduct1-constraintsproduct1.obj `if test -f 'constraintsproduct1.cc'; then $(CYGPATH_W) 'constraintsproduct1.cc'; else $(CYGPATH_W) '$(srcdir)/constraintsproduct1.cc'; fi`
+
+reverse_directproduct1-directproduct1.o: directproduct1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_directproduct1_CXXFLAGS) $(CXXFLAGS) -MT reverse_directproduct1-directproduct1.o -MD -MP -MF $(DEPDIR)/reverse_directproduct1-directproduct1.Tpo -c -o reverse_directproduct1-directproduct1.o `test -f 'directproduct1.cc' || echo '$(srcdir)/'`directproduct1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/reverse_directproduct1-directproduct1.Tpo $(DEPDIR)/reverse_directproduct1-directproduct1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='directproduct1.cc' object='reverse_directproduct1-directproduct1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_directproduct1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_directproduct1-directproduct1.o `test -f 'directproduct1.cc' || echo '$(srcdir)/'`directproduct1.cc
+
+reverse_directproduct1-directproduct1.obj: directproduct1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_directproduct1_CXXFLAGS) $(CXXFLAGS) -MT reverse_directproduct1-directproduct1.obj -MD -MP -MF $(DEPDIR)/reverse_directproduct1-directproduct1.Tpo -c -o reverse_directproduct1-directproduct1.obj `if test -f 'directproduct1.cc'; then $(CYGPATH_W) 'directproduct1.cc'; else $(CYGPATH_W) '$(srcdir)/directproduct1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/reverse_directproduct1-directproduct1.Tpo $(DEPDIR)/reverse_directproduct1-directproduct1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='directproduct1.cc' object='reverse_directproduct1-directproduct1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_directproduct1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_directproduct1-directproduct1.obj `if test -f 'directproduct1.cc'; then $(CYGPATH_W) 'directproduct1.cc'; else $(CYGPATH_W) '$(srcdir)/directproduct1.cc'; fi`
+
+reverse_shapepreservingproduct1-shapepreservingproduct1.o: shapepreservingproduct1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_shapepreservingproduct1_CXXFLAGS) $(CXXFLAGS) -MT reverse_shapepreservingproduct1-shapepreservingproduct1.o -MD -MP -MF $(DEPDIR)/reverse_shapepreservingproduct1-shapepreservingproduct1.Tpo -c -o reverse_shapepreservingproduct1-shapepreservingproduct1.o `test -f 'shapepreservingproduct1.cc' || echo '$(srcdir)/'`shapepreservingproduct1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/reverse_shapepreservingproduct1-shapepreservingproduct1.Tpo $(DEPDIR)/reverse_shapepreservingproduct1-shapepreservingproduct1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='shapepreservingproduct1.cc' object='reverse_shapepreservingproduct1-shapepreservingproduct1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_shapepreservingproduct1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_shapepreservingproduct1-shapepreservingproduct1.o `test -f 'shapepreservingproduct1.cc' || echo '$(srcdir)/'`shapepreservingproduct1.cc
+
+reverse_shapepreservingproduct1-shapepreservingproduct1.obj: shapepreservingproduct1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_shapepreservingproduct1_CXXFLAGS) $(CXXFLAGS) -MT reverse_shapepreservingproduct1-shapepreservingproduct1.obj -MD -MP -MF $(DEPDIR)/reverse_shapepreservingproduct1-shapepreservingproduct1.Tpo -c -o reverse_shapepreservingproduct1-shapepreservingproduct1.obj `if test -f 'shapepreservingproduct1.cc'; then $(CYGPATH_W) 'shapepreservingproduct1.cc'; else $(CYGPATH_W) '$(srcdir [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/reverse_shapepreservingproduct1-shapepreservingproduct1.Tpo $(DEPDIR)/reverse_shapepreservingproduct1-shapepreservingproduct1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='shapepreservingproduct1.cc' object='reverse_shapepreservingproduct1-shapepreservingproduct1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_shapepreservingproduct1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_shapepreservingproduct1-shapepreservingproduct1.obj `if test -f 'shapepreservingproduct1.cc'; then $(CYGPATH_W) 'shapepreservingproduct1.cc'; else $(CYGPATH_W) '$(srcdir)/shapepreservingproduct1.cc'; fi`
+
 mostlyclean-libtool:
 	-rm -f *.lo
 
@@ -554,14 +1235,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
@@ -569,37 +1250,43 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
 check-TESTS: $(TESTS)
-	@failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[	 ]'; \
+	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
 	srcdir=$(srcdir); export srcdir; \
 	list=' $(TESTS) '; \
+	$(am__tty_colors); \
 	if test -n "$$list"; then \
 	  for tst in $$list; do \
 	    if test -f ./$$tst; then dir=./; \
@@ -608,49 +1295,63 @@ check-TESTS: $(TESTS)
 	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
 	      all=`expr $$all + 1`; \
 	      case " $(XFAIL_TESTS) " in \
-	      *$$ws$$tst$$ws*) \
+	      *[\ \	]$$tst[\ \	]*) \
 		xpass=`expr $$xpass + 1`; \
 		failed=`expr $$failed + 1`; \
-		echo "XPASS: $$tst"; \
+		col=$$red; res=XPASS; \
 	      ;; \
 	      *) \
-		echo "PASS: $$tst"; \
+		col=$$grn; res=PASS; \
 	      ;; \
 	      esac; \
 	    elif test $$? -ne 77; then \
 	      all=`expr $$all + 1`; \
 	      case " $(XFAIL_TESTS) " in \
-	      *$$ws$$tst$$ws*) \
+	      *[\ \	]$$tst[\ \	]*) \
 		xfail=`expr $$xfail + 1`; \
-		echo "XFAIL: $$tst"; \
+		col=$$lgn; res=XFAIL; \
 	      ;; \
 	      *) \
 		failed=`expr $$failed + 1`; \
-		echo "FAIL: $$tst"; \
+		col=$$red; res=FAIL; \
 	      ;; \
 	      esac; \
 	    else \
 	      skip=`expr $$skip + 1`; \
-	      echo "SKIP: $$tst"; \
+	      col=$$blu; res=SKIP; \
 	    fi; \
+	    echo "$${col}$$res$${std}: $$tst"; \
 	  done; \
+	  if test "$$all" -eq 1; then \
+	    tests="test"; \
+	    All=""; \
+	  else \
+	    tests="tests"; \
+	    All="All "; \
+	  fi; \
 	  if test "$$failed" -eq 0; then \
 	    if test "$$xfail" -eq 0; then \
-	      banner="All $$all tests passed"; \
+	      banner="$$All$$all $$tests passed"; \
 	    else \
-	      banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
+	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
 	    fi; \
 	  else \
 	    if test "$$xpass" -eq 0; then \
-	      banner="$$failed of $$all tests failed"; \
+	      banner="$$failed of $$all $$tests failed"; \
 	    else \
-	      banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
+	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
 	    fi; \
 	  fi; \
 	  dashes="$$banner"; \
 	  skipped=""; \
 	  if test "$$skip" -ne 0; then \
-	    skipped="($$skip tests were not run)"; \
+	    if test "$$skip" -eq 1; then \
+	      skipped="($$skip test was not run)"; \
+	    else \
+	      skipped="($$skip tests were not run)"; \
+	    fi; \
 	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
 	      dashes="$$skipped"; \
 	  fi; \
@@ -661,11 +1362,15 @@ check-TESTS: $(TESTS)
 	      dashes="$$report"; \
 	  fi; \
 	  dashes=`echo "$$dashes" | sed s/./=/g`; \
-	  echo "$$dashes"; \
+	  if test "$$failed" -eq 0; then \
+	    echo "$$grn$$dashes"; \
+	  else \
+	    echo "$$red$$dashes"; \
+	  fi; \
 	  echo "$$banner"; \
 	  test -z "$$skipped" || echo "$$skipped"; \
 	  test -z "$$report" || echo "$$report"; \
-	  echo "$$dashes"; \
+	  echo "$$dashes$$std"; \
 	  test "$$failed" -eq 0; \
 	else :; fi
 
@@ -685,13 +1390,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -699,7 +1408,7 @@ check-am: all-am
 	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
 	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
 check: check-am
-all-am: Makefile
+all-am: Makefile $(HEADERS)
 installdirs:
 install: install-am
 install-exec: install-exec-am
@@ -722,6 +1431,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -743,6 +1453,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -751,18 +1463,28 @@ install-data-am:
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am:
 
 install-html: install-html-am
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-am
 
+install-pdf-am:
+
 install-ps: install-ps-am
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -785,7 +1507,7 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: install-am install-strip
+.MAKE: check-am install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
 	clean-checkPROGRAMS clean-generic clean-libtool ctags \
@@ -810,6 +1532,7 @@ $(top_builddir)/tests/libppl_tests.a:
 
 $(top_builddir)/src/libppl.la:
 	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libppl.la
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/tests/Partially_Reduced_Product/addcongruences1.cc b/tests/Partially_Reduced_Product/addcongruences1.cc
new file mode 100644
index 0000000..24efda8
--- /dev/null
+++ b/tests/Partially_Reduced_Product/addcongruences1.cc
@@ -0,0 +1,100 @@
+/* Test Smash_Product.
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+#define REVERSED_TEST
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+// add_recycled_congruences
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+
+  Congruence_System cgs;
+  cgs.insert((A + B %= 0) / 2);
+  cgs.insert((A %= 0) / 0);
+
+  Product prp(2);
+
+  Congruence_System cgs_copy = cgs;
+  Congruence_System cgs_copy2 = cgs;
+
+  prp.add_recycled_congruences(cgs_copy);
+
+  Grid gr(cgs_copy2);
+
+  Product known_prp(gr);
+
+  bool ok = (prp == known_prp);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  return ok;
+}
+
+// add_recycled_congruences
+bool
+test02() {
+  Variable A(0);
+  Variable B(1);
+
+  Congruence_System cgs;
+  cgs.insert((B %= 0) / 2);
+  cgs.insert((A %= 0) / 2);
+  cgs.insert((A %= 0) / 1);
+  cgs.insert(A - B == 0);
+
+  Product prp(2);
+
+  Congruence_System cgs_copy = cgs;
+  Congruence_System cgs_copy2 = cgs;
+
+  prp.add_recycled_congruences(cgs_copy);
+
+  Grid gr(cgs_copy2);
+
+  Product known_prp(gr);
+
+  bool ok = (prp == known_prp);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/affineimage1.cc b/tests/Partially_Reduced_Product/affineimage1.cc
new file mode 100644
index 0000000..c5fbdd7
--- /dev/null
+++ b/tests/Partially_Reduced_Product/affineimage1.cc
@@ -0,0 +1,88 @@
+/* Test Product<NNC_Polyhedron, Grid>::()
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+// affine_image()
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Product prp(3);
+  prp.refine_with_congruence((B %= 2) / 14);
+  prp.refine_with_constraint(A <= 5);
+  prp.refine_with_constraint(B <= 10);
+
+  prp.affine_image(A, B + C);
+
+  Product known_prp(3);
+  known_prp.refine_with_congruence((B %= 2) / 14);
+  known_prp.refine_with_constraint(A - B - C == 0);
+  known_prp.refine_with_constraint(A - C <= 10);
+  known_prp.refine_with_constraint(B <= 10);
+
+  bool ok = (prp == known_prp);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  return ok;
+}
+
+// affine_preimage()
+bool
+test02() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp(3);
+  prp.refine_with_constraint(A - B == 0);
+  prp.refine_with_congruence((A %= 0) / 3);
+
+  prp.affine_preimage(A, B);
+
+  Product known_prp(3);
+  known_prp.refine_with_congruence((B %= 0) / 3);
+
+  bool ok = (prp == known_prp);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/asciidumpload1.cc b/tests/Partially_Reduced_Product/asciidumpload1.cc
index f3453d6..51779b1 100644
--- a/tests/Partially_Reduced_Product/asciidumpload1.cc
+++ b/tests/Partially_Reduced_Product/asciidumpload1.cc
@@ -1,5 +1,5 @@
 /* Test Direct_Product<nnc_ph, gr> ascii_dump() and ascii_load().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Partially_Reduced_Product/bounded1.cc b/tests/Partially_Reduced_Product/bounded1.cc
new file mode 100644
index 0000000..4cb62d6
--- /dev/null
+++ b/tests/Partially_Reduced_Product/bounded1.cc
@@ -0,0 +1,57 @@
+/* Test Product<>::is_bounded().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+// is_bounded().
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp(2);
+  prp.refine_with_congruence((A %= 0) / 0);
+  prp.refine_with_congruence((B %= 0) / 0);
+  prp.refine_with_constraint(B <= 0);
+
+  bool ok = prp.is_bounded();
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/boundedaffineimage1.cc b/tests/Partially_Reduced_Product/boundedaffineimage1.cc
new file mode 100644
index 0000000..d08af0a
--- /dev/null
+++ b/tests/Partially_Reduced_Product/boundedaffineimage1.cc
@@ -0,0 +1,268 @@
+/* Test Product<NNC_Polyhedron, Grid>::bounds_from_above() and
+   Product<NNC_Polyhedron, Grid>::bounds_from_below()
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+// Empty.
+bool
+test01() {
+  Product prp(7, EMPTY);
+
+  bool ok = (prp.bounds_from_above(Linear_Expression(0))
+	     && prp.bounds_from_below(Linear_Expression(0)));
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// Zero dimension empty.
+bool
+test02() {
+  Product prp(0, EMPTY);
+
+  bool ok = (prp.bounds_from_above(Linear_Expression(3))
+	     && prp.bounds_from_below(Linear_Expression(3)));
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// Zero dimension universe.
+bool
+test03() {
+  Product prp(0);
+
+  bool ok = (prp.bounds_from_above(Linear_Expression(1))
+	     && prp.bounds_from_below(Linear_Expression(1)));
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// Point.
+bool
+test04() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp(2);
+  prp.refine_with_constraint(A == 1);
+  prp.refine_with_constraint(3*B == 2);
+
+  Linear_Expression le = A + B;
+  bool ok = prp.bounds_from_above(le)
+    && prp.bounds_from_below(le);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// only one component is bounded.
+bool
+test05() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp(2);
+  prp.refine_with_constraint(A - B >= 1);
+  prp.refine_with_constraint(A - B <= 1);
+  prp.refine_with_congruence(3*B %= 2);
+
+  Linear_Expression le = A - B;
+  bool ok = prp.bounds_from_above(le)
+    && prp.bounds_from_below(le);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// Line and neither component is bounded.
+bool
+test06() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp(2);
+  prp.refine_with_constraint(B == 1);
+
+  Linear_Expression le = 2*A - B;
+
+  bool ok = !prp.bounds_from_above(le)
+    && !prp.bounds_from_below(le);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// Non-empty product. bounded_affine_image/3
+bool
+test07() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Product prp(3);
+  prp.refine_with_congruence((A ==  0) / 0);
+  prp.refine_with_congruence((B ==  0) / 0);
+  prp.refine_with_congruence((C == -2) / 0);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  prp.bounded_affine_image(A, 7-B, B+3);
+
+  Product known_prp(3);
+  known_prp.refine_with_constraint(C == -2);
+  known_prp.refine_with_constraint(B == 0);
+  known_prp.refine_with_constraint(A <= 3);
+  known_prp.refine_with_constraint(A - B >= 7);
+
+  bool ok = (prp == known_prp);
+
+  print_congruences(prp,
+     "*** prp.bounded_affine_image(A, 7-B, B+3) congruences ***");
+  print_constraints(prp,
+     "*** prp.bounded_affine_image(A, 7-B, B+3) constraints ***");
+
+  return ok;
+}
+
+// Empty product component. bounded_affine_image/3
+bool
+test08() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Product prp(3);
+  prp.refine_with_constraint(A ==  0);
+  prp.refine_with_constraint(A ==  1);
+  prp.refine_with_constraint(C == -2);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  prp.bounded_affine_image(A, 7-B, B+3);
+
+  Product known_prp(3, EMPTY);
+
+  bool ok = (prp == known_prp);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// Non-empty product. bounded_affine_preimage/3
+bool
+test16() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Product prp(3);
+  prp.refine_with_congruence((A ==  0) / 0);
+  prp.refine_with_congruence((B ==  0) / 0);
+  prp.refine_with_congruence((C == -2) / 0);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  prp.bounded_affine_preimage(A, 7-B, B+3);
+
+  Constraint_System cs;
+  cs.insert(C == -2);
+  cs.insert(B == 0);
+  cs.insert(C >= 3);
+
+  Product known_prp(3);
+  known_prp.refine_with_constraints(cs);
+
+  bool ok = (prp == known_prp);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// Empty product. bounded_affine_preimage/3
+bool
+test09() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Product prp(3);
+  prp.refine_with_constraint(A ==  0);
+  prp.refine_with_constraint(A ==  1);
+  prp.refine_with_constraint(C == -2);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  prp.bounded_affine_preimage(A, 7-B, B+3);
+
+  Product known_prp(3, EMPTY);
+
+  bool ok = (prp == known_prp);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST(test08);
+  DO_TEST(test09);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/bounds1.cc b/tests/Partially_Reduced_Product/bounds1.cc
new file mode 100644
index 0000000..5089ee3
--- /dev/null
+++ b/tests/Partially_Reduced_Product/bounds1.cc
@@ -0,0 +1,687 @@
+/* Test Product<NNC_Polyhedron, Grid>::bounds_from_above() and
+   Product<NNC_Polyhedron, Grid>::bounds_from_below()
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+// Empty.
+bool
+test01() {
+  Product prp(7, EMPTY);
+
+  bool ok = (prp.bounds_from_above(Linear_Expression(0))
+	     && prp.bounds_from_below(Linear_Expression(0)));
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// Zero dimension empty.
+bool
+test02() {
+  Product prp(0, EMPTY);
+
+  bool ok = (prp.bounds_from_above(Linear_Expression(3))
+	     && prp.bounds_from_below(Linear_Expression(3)));
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// Zero dimension universe.
+bool
+test03() {
+  Product prp(0);
+
+  bool ok = (prp.bounds_from_above(Linear_Expression(1))
+	     && prp.bounds_from_below(Linear_Expression(1)));
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// Point.
+bool
+test04() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp(2);
+  prp.refine_with_constraint(A == 1);
+  prp.refine_with_constraint(3*B == 2);
+
+  Linear_Expression le = A + B;
+  bool ok = prp.bounds_from_above(le)
+    && prp.bounds_from_below(le);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// only one component is bounded.
+bool
+test05() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp(2);
+#if Box_Class
+  prp.refine_with_constraint(A >= 1);
+  prp.refine_with_constraint(A <= 1);
+  prp.refine_with_constraint(B >= 1);
+  prp.refine_with_constraint(B <= 0);
+#else
+  prp.refine_with_constraint(A - B >= 1);
+  prp.refine_with_constraint(A - B <= 1);
+#endif
+  prp.refine_with_congruence(3*B %= 2);
+
+  Linear_Expression le = A - B;
+  bool ok = prp.bounds_from_above(le)
+    && prp.bounds_from_below(le);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// Line and neither component is bounded.
+bool
+test06() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp(2);
+  prp.refine_with_constraint(B == 1);
+
+  Linear_Expression le = 2*A - B;
+
+  bool ok = !prp.bounds_from_above(le)
+    && !prp.bounds_from_below(le);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// Empty. maximize() and minimize()
+bool
+test07() {
+  Product prp(7, EMPTY);
+
+  Coefficient extr_n;
+  Coefficient extr_d;
+  bool dummy;
+
+  bool ok = (!prp.maximize(Linear_Expression(0), extr_n, extr_d, dummy));
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// Zero dimension empty.
+bool
+test08() {
+  Product prp(0, EMPTY);
+
+  Coefficient extr_n;
+  Coefficient extr_d;
+  bool dummy;
+  Generator pnt(point());
+
+  bool ok = !prp.maximize(Linear_Expression(0), extr_n, extr_d, dummy)
+    && !prp.maximize(Linear_Expression(0), extr_n, extr_d, dummy, pnt);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// Zero dimension universe.
+bool
+test09() {
+  Product prp(0);
+
+  Coefficient extr_n, extr_d;
+  bool dummy;
+  Generator pnt(point());
+
+  bool ok = prp.maximize(Linear_Expression(0), extr_n, extr_d, dummy)
+    && prp.maximize(Linear_Expression(0), extr_n, extr_d, dummy, pnt);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// Point.
+bool
+test10() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp(2);
+  prp.refine_with_constraint(A == 1);
+  prp.refine_with_constraint(3*B == 2);
+
+  Linear_Expression le = A + B;
+
+  Coefficient max_n;
+  Coefficient max_d;
+  Coefficient min_n;
+  Coefficient min_d;
+  Generator pnt_max(point());
+  Generator pnt_min(point());
+  Generator known_pnt(point(3*A + 2*B, 3));
+  bool max;
+  bool min;
+
+  bool ok = prp.maximize(le, max_n, max_d, max)
+    && prp.minimize(le, min_n, min_d, min)
+    && prp.maximize(le, max_n, max_d, max, pnt_max)
+    && prp.minimize(le, min_n, min_d, min, pnt_min);
+
+  ok = ok
+    && max && min && max_n == 5 && max_d == 3 && min_n == 5 && min_d == 3
+    && pnt_max == known_pnt && pnt_min == known_pnt;
+
+  print_generator(pnt_max, "*** max point ***");
+  print_generator(pnt_min, "*** min point ***");
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// only one component is bounded.
+bool
+test11() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp(2);
+#if Box_Class
+  prp.refine_with_constraint(A >= 2);
+  prp.refine_with_constraint(A <= 2);
+  prp.refine_with_constraint(B >= 1);
+  prp.refine_with_constraint(B <= 1);
+#else
+  prp.refine_with_constraint(A - B >= 1);
+  prp.refine_with_constraint(A - B <= 1);
+#endif
+  prp.refine_with_congruence(3*B %= 2);
+;
+  Linear_Expression le = A - B;
+
+  Coefficient max_n;
+  Coefficient max_d;
+  Coefficient min_n;
+  Coefficient min_d;
+  Generator pnt_max(point());
+  Generator pnt_min(point());
+  bool max;
+  bool min;
+
+  bool ok = prp.maximize(le, max_n, max_d, max)
+    && prp.minimize(le, min_n, min_d, min)
+    && prp.maximize(le, max_n, max_d, max, pnt_max)
+    && prp.minimize(le, min_n, min_d, min, pnt_min);
+
+  ok = ok
+    && max && min && max_n == 1 && max_d == 1 && min_n == 1 && min_d == 1
+    && pnt_max == pnt_min;
+
+  print_generator(pnt_max, "*** maximum point ***");
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// Line and neither component is bounded.
+bool
+test12() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp(2);
+  prp.refine_with_constraint(B == 1);
+
+  Linear_Expression le = 2*A - B;
+
+  Coefficient max_n;
+  Coefficient max_d;
+  Coefficient min_n;
+  Coefficient min_d;
+  Generator pnt_max(point());
+  Generator pnt_min(point());
+  bool max;
+  bool min;
+
+  bool ok = !prp.maximize(le, max_n, max_d, max)
+    && !prp.minimize(le, min_n, min_d, min)
+    && !prp.maximize(le, max_n, max_d, max, pnt_max)
+    && !prp.minimize(le, min_n, min_d, min, pnt_min);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// only one component is strictly bounded.
+bool
+test13() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp(2);
+
+#if NNC_Poly_Class
+  prp.refine_with_constraint(A - B > 0);
+  prp.refine_with_constraint(A - B < 1);
+#else
+#if !Box_Class
+  prp.refine_with_constraint(A - B >= 0);
+  prp.refine_with_constraint(A - B <= 1);
+#else
+  prp.refine_with_constraint(A >= 2);
+  prp.refine_with_constraint(A <= 2);
+  prp.refine_with_constraint(B <= 2);
+  prp.refine_with_constraint(B >= 1);
+#endif
+#endif
+  prp.refine_with_congruence(3*B %= 2);
+
+  Linear_Expression le = A - B;
+
+  Coefficient max_n;
+  Coefficient max_d;
+  Coefficient min_n;
+  Coefficient min_d;
+  Generator pnt_max(point());
+  Generator pnt_min(point());
+
+  bool max;
+  bool min;
+
+  bool ok = prp.maximize(le, max_n, max_d, max)
+    && prp.minimize(le, min_n, min_d, min)
+    && prp.maximize(le, max_n, max_d, max, pnt_max)
+    && prp.minimize(le, min_n, min_d, min, pnt_min);
+
+#if NNC_Poly_Class
+  ok = ok && !max && !min;
+#else
+  ok = ok && max && min;
+#endif
+
+  ok = ok && max_n == 1 && max_d == 1 && min_n == 0 && min_d == 1;
+
+  print_generator(pnt_max, "*** maximum point ***");
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+#if !Box_Class
+// Non-empty product. bounded_affine_image/3
+bool
+test14() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Product prp(3);
+  prp.refine_with_congruence((A ==  0) / 0);
+  prp.refine_with_congruence((B ==  0) / 0);
+  prp.refine_with_congruence((C == -2) / 0);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  prp.bounded_affine_image(A, 7-B, B+3);
+
+  Product known_prp(3);
+  known_prp.refine_with_constraint(C == -2);
+  known_prp.refine_with_constraint(B == 0);
+  known_prp.refine_with_constraint(A <= 3);
+  known_prp.refine_with_constraint(A - B >= 7);
+
+  bool ok = (prp == known_prp);
+
+  print_congruences(prp,
+     "*** prp.bounded_affine_image(A, 7-B, B+3) congruences ***");
+  print_constraints(prp,
+     "*** prp.bounded_affine_image(A, 7-B, B+3) constraints ***");
+
+  return ok;
+}
+
+// Empty product component. bounded_affine_image/3
+bool
+test15() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Product prp(3);
+  prp.refine_with_constraint(A ==  0);
+  prp.refine_with_constraint(A ==  1);
+  prp.refine_with_constraint(C == -2);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  prp.bounded_affine_image(A, 7-B, B+3);
+
+  Product known_prp(3, EMPTY);
+
+  bool ok = (prp == known_prp);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// Non-empty product. bounded_affine_preimage/3
+bool
+test16() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Product prp(3);
+  prp.refine_with_congruence((A ==  0) / 0);
+  prp.refine_with_congruence((B ==  0) / 0);
+  prp.refine_with_congruence((C == -2) / 0);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  prp.bounded_affine_preimage(A, 7-B, B+3);
+
+  Constraint_System cs;
+  cs.insert(C == -2);
+  cs.insert(B == 0);
+  cs.insert(C >= 3);
+
+  Product known_prp(3);
+  known_prp.refine_with_constraints(cs);
+
+  bool ok = (prp == known_prp);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// Empty product. bounded_affine_preimage/3
+bool
+test17() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Product prp(3);
+  prp.refine_with_constraint(A ==  0);
+  prp.refine_with_constraint(A ==  1);
+  prp.refine_with_constraint(C == -2);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  prp.bounded_affine_preimage(A, 7-B, B+3);
+
+  Product known_prp(3, EMPTY);
+
+  bool ok = (prp == known_prp);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+#endif
+
+typedef Domain_Product<TBox, Grid>::Direct_Product TBox_Grid;
+typedef Domain_Product<Grid, TBox>::Direct_Product Grid_TBox;
+typedef Domain_Product<NNC_Polyhedron, Grid>::Direct_Product NNCPoly_Grid;
+
+// TBox_Grid(nnc_polyhedron, POLYNOMIAL_COMPLEXITY).
+bool
+test18() {
+  Variable x(0);
+  Variable y(1);
+
+  C_Polyhedron ph(2);
+  ph.refine_with_constraint(3*x + y >= 2);
+  ph.refine_with_constraint(x <= 4);
+  ph.refine_with_constraint(y <= 4);
+
+  TBox_Grid pprp(ph, POLYNOMIAL_COMPLEXITY);
+
+  TBox_Grid nprp(ph);
+
+  TBox_Grid known_prp(2);
+  known_prp.refine_with_constraint(3*x >= -2);
+  known_prp.refine_with_constraint(x <= 4);
+  known_prp.refine_with_constraint(y >= -10);
+  known_prp.refine_with_constraint(y <= 4);
+
+  bool ok = (nprp == known_prp && pprp == known_prp);
+
+  print_constraints(ph, "*** ph ***");
+  print_constraints(nprp, "*** nprp ***");
+  print_congruences(nprp, "*** nprp ***");
+  print_constraints(pprp, "*** pprp ***");
+  print_congruences(pprp, "*** pprp ***");
+
+  return ok;
+}
+
+// Copy constructor.
+bool
+test19() {
+  Variable A(0);
+
+  const Constraint_System cs(A >= 0);
+
+  NNCPoly_Grid src(1);
+  src.refine_with_constraints(cs);
+
+  NNCPoly_Grid prp(src, POLYNOMIAL_COMPLEXITY);
+
+  NNCPoly_Grid prp1(src);
+
+  NNCPoly_Grid known_prp(1);
+  known_prp.refine_with_constraint(A >= 0);
+
+  bool ok = (prp == known_prp && prp1 == known_prp);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp1, "*** prp1 congruences ***");
+  print_constraints(prp1, "*** prp1 constraints ***");
+
+  return ok && prp.OK();
+}
+
+// Constructing an NNCPoly_Grid from a TBox_Grid.
+bool
+test20() {
+  Variable A(0);
+
+  const Constraint_System cs(A >= 0);
+  const Congruence_System cgs(A %= 0);
+
+  TBox_Grid src(1);
+  src.refine_with_constraints(cs);
+  src.refine_with_congruences(cgs);
+
+  NNCPoly_Grid prp(src, POLYNOMIAL_COMPLEXITY);
+
+  NNCPoly_Grid prp1(src);
+
+  NNCPoly_Grid known_prp(1);
+  known_prp.refine_with_constraint(A >= 0);
+  known_prp.refine_with_congruence(A %= 0);
+
+  bool ok = (prp == known_prp && prp1 == known_prp);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp1, "*** prp1 congruences ***");
+  print_constraints(prp1, "*** prp1 constraints ***");
+
+  return ok && prp.OK();
+}
+
+// Constructing an NNCPoly_Grid from a Grid_TBox.
+bool
+test21() {
+  Variable A(0);
+
+  const Constraint_System cs(A >= 0);
+  const Congruence_System cgs(A %= 0);
+
+  Grid_TBox src(1);
+  src.refine_with_constraints(cs);
+  src.refine_with_congruences(cgs);
+
+  NNCPoly_Grid prp(src);
+
+  NNCPoly_Grid prp1(src);
+
+  NNCPoly_Grid known_prp(1);
+  known_prp.refine_with_constraint(A >= 0);
+  known_prp.refine_with_congruence(A %= 0);
+
+  bool ok = (prp == known_prp && prp1 == known_prp);
+
+  print_congruences(src, "*** src congruences ***");
+  print_constraints(src, "*** src constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp1, "*** prp1 congruences ***");
+  print_constraints(prp1, "*** prp1 constraints ***");
+  print_congruences(known_prp, "*** known_prp congruences ***");
+  print_constraints(known_prp, "*** known_prp constraints ***");
+
+  return ok && prp.OK();
+}
+
+// max_space_dimension().
+bool
+test22() {
+  dimension_type msd1 = NNC_Polyhedron::max_space_dimension();
+  nout << "NNCPolyhedron max space dimension = "
+       << msd1 << endl;
+  dimension_type msd2 = Grid::max_space_dimension();
+  nout << "Grid max space dimension = "
+       << msd2 << endl;
+  dimension_type msd = NNCPoly_Grid::max_space_dimension();
+  bool ok = (msd <= msd1 && msd <= msd2);
+
+  nout << "NNCPoly_Grid max space dimension = "
+       << msd << endl << endl;
+
+  return ok;
+}
+
+// Attempt to construct a product with too many dimensions.
+bool
+test23() {
+  try {
+    // This is an invalid use of the constructor of a product:
+    // it is illegal to (try to) build a product with a dimension
+    // greater than max_space_dimension().
+    NNCPoly_Grid pg(NNCPoly_Grid::max_space_dimension() + 2);
+
+    // It is an error if the exception is not thrown.
+  }
+  catch (std::length_error& e) {
+    nout << "length_error: " << e.what() << endl << endl;
+    return true;
+  }
+  catch (...) {
+    // It is an error if the wrong exception is thrown.
+  }
+  return false;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST(test08);
+  DO_TEST(test09);
+  DO_TEST(test10);
+  DO_TEST(test11);
+  DO_TEST(test12);
+  DO_TEST(test13);
+#if !Box_Class
+  DO_TEST(test14);
+  DO_TEST(test15);
+  DO_TEST(test16);
+  DO_TEST(test17);
+#endif
+  DO_TEST(test18);
+  DO_TEST(test19);
+  DO_TEST(test20);
+  DO_TEST(test21);
+  DO_TEST(test22);
+  DO_TEST(test23);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/concatenate1.cc b/tests/Partially_Reduced_Product/concatenate1.cc
new file mode 100644
index 0000000..02504ef
--- /dev/null
+++ b/tests/Partially_Reduced_Product/concatenate1.cc
@@ -0,0 +1,70 @@
+/* Test Product<NNC_Polyhedron, Grid>::concatenate_assign().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+// concatenate_assign()
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+  Variable D(3);
+
+  Product prp1(2);
+  prp1.refine_with_constraint(A >= 0);
+  prp1.refine_with_congruence((A %= 0) / 2);
+
+  Product prp2(2);
+  prp2.refine_with_constraint(A <= 1);
+  prp2.refine_with_constraint(B >= 0);
+
+  prp1.concatenate_assign(prp2);
+
+  Product known_prp(4);
+  known_prp.refine_with_constraint(A >= 0);
+  known_prp.refine_with_congruence((A %= 0) / 2);
+  known_prp.refine_with_constraint(C <= 1);
+  known_prp.refine_with_constraint(D >= 0);
+
+  bool ok = (prp1 == known_prp);
+
+  print_congruences(prp1, "*** prp1 congruences ***");
+  print_constraints(prp1, "*** prp1 constraints ***");
+  print_congruences(prp2, "*** prp2 congruences ***");
+  print_constraints(prp2, "*** prp2 constraints ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/congruences1.cc b/tests/Partially_Reduced_Product/congruences1.cc
new file mode 100644
index 0000000..6fd903d
--- /dev/null
+++ b/tests/Partially_Reduced_Product/congruences1.cc
@@ -0,0 +1,95 @@
+/* Test Product<NNC_Polyhedron, Grid>::congruences().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+#define REVERSED_TEST
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+// congruences()
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Product dp(3);
+  dp.refine_with_congruence(A %= 9);
+  dp.refine_with_congruence(B + C %= 3);
+
+  Congruence_System cgs;
+  cgs.insert(B + C %= 0);
+  cgs.insert(A %= 0);
+
+  Grid known_gr(cgs);
+
+  Grid gr(dp.congruences());
+
+  bool ok = gr == known_gr;
+
+  print_congruences(dp, "*** dp congruences ***");
+  print_constraints(dp, "*** dp constraints ***");
+
+  return ok && dp.OK();
+}
+
+// minimized_congruences()
+bool
+test02() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Product dp(3);
+  dp.refine_with_congruence(B + C %= 3);
+  dp.refine_with_constraint(A >= 9);
+  dp.refine_with_constraint(A <= 9);
+
+  Congruence_System cgs;
+  cgs.insert(B + C %= 3);
+  cgs.insert(A == 9);
+
+  Grid known_gr(cgs);
+
+  Grid gr(dp.minimized_congruences());
+
+  bool ok = gr == known_gr;
+
+  print_congruences(dp, "*** dp congruences ***");
+  print_constraints(dp, "*** dp constraints ***");
+
+  return ok && dp.OK();
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/congruencesproduct1.cc b/tests/Partially_Reduced_Product/congruencesproduct1.cc
new file mode 100644
index 0000000..7dc9d6e
--- /dev/null
+++ b/tests/Partially_Reduced_Product/congruencesproduct1.cc
@@ -0,0 +1,280 @@
+/* Test Partially_Reduced_Product<>:: Congruences_Reduction()
+   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+
+typedef NNC_Polyhedron Poly;
+
+typedef Domain_Product<Poly, Grid>::Congruences_Product CGProduct;
+// typedef Domain_Product<Poly, Grid>::Direct_Product CGProduct;
+namespace {
+
+// Congruences_Reduction with non-strict constraints and
+// equality found. Positive coefficients.
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+
+  CGProduct cgp(2);
+  Constraint_System cs;
+  cs.insert(3*A >= 7);
+  cs.insert(3*A <= 16);
+  cgp.refine_with_constraints(cs);
+  cgp.refine_with_congruence((A %= 0)/ 2);
+
+  CGProduct known_cgp(2);
+
+  known_cgp.refine_with_constraint(A == 4);
+  known_cgp.refine_with_congruence((A %= 0)/ 2);
+
+  bool ok = cgp.OK();
+
+  print_congruences(cgp, "*** after ok check: cgp congruences ***");
+  print_constraints(cgp, "*** after ok check: cgp constraints ***");
+
+  if (ok) {
+    ok = ok && cgp == known_cgp;
+    print_congruences(cgp, "*** after known_cgp check: cgp congruences ***");
+    print_constraints(cgp, "*** after known_cgp check: cgp constraints ***");
+  }
+
+  return ok;
+}
+
+// Congruences_Reduction with non-strict constraints and
+// equality found. Negative coefficients.
+bool
+test02() {
+  Variable A(0);
+  Variable B(1);
+
+  CGProduct cgp(2);
+  Constraint_System cs;
+  cs.insert(3*A >= -10);
+  cs.insert(2*A <= -3);
+  cgp.refine_with_constraints(cs);
+  cgp.refine_with_congruence((A %= 0)/ 2);
+
+  CGProduct known_cgp(2);
+
+  known_cgp.refine_with_constraint(A == -2);
+  known_cgp.refine_with_congruence((A %= 0)/ 2);
+
+  bool ok = cgp.OK();
+
+  print_congruences(cgp, "*** after ok check: cgp congruences ***");
+  print_constraints(cgp, "*** after ok check: cgp constraints ***");
+
+  if (ok) {
+    ok = ok && cgp == known_cgp;
+
+    print_congruences(cgp, "*** after known_cgp check: cgp congruences ***");
+    print_constraints(cgp, "*** after known_cgp check: cgp constraints ***");
+  }
+
+  return ok;
+}
+
+// Congruences_Reduction with non-strict constraints and
+// equality found.
+bool
+test03() {
+  Variable A(0);
+  Variable B(1);
+
+  CGProduct cgp(2);
+  Constraint_System cs;
+  cs.insert(A >= 0);
+  cs.insert(A <= 3);
+  cgp.refine_with_constraints(cs);
+  cgp.refine_with_congruence((A %= 0)/ 2);
+
+  CGProduct known_cgp(2);
+
+  known_cgp.refine_with_constraints(cs);
+  known_cgp.refine_with_congruence((A %= 0)/ 2);
+
+  bool ok = cgp.OK();
+
+  print_congruences(cgp, "*** after ok check: cgp congruences ***");
+  print_constraints(cgp, "*** after ok check: cgp constraints ***");
+
+  if (ok) {
+    ok = ok && cgp == known_cgp;
+
+    print_congruences(cgp, "*** after known_cgp check: cgp congruences ***");
+    print_constraints(cgp, "*** after known_cgp check: cgp constraints ***");
+  }
+
+  return ok;
+}
+
+// Congruences_Reduction with strict lower bound and an equality
+// is found.
+bool
+test04() {
+  Variable A(0);
+  Variable B(1);
+
+  CGProduct cgp(2);
+  Constraint_System cs;
+  cs.insert(A > 0);
+  cs.insert(A <= 3);
+  cgp.refine_with_constraints(cs);
+  cgp.refine_with_congruence((A %= 0)/ 2);
+
+  CGProduct known_cgp(2);
+
+  known_cgp.refine_with_constraint(A == 2);
+
+  bool ok = cgp.OK();
+
+  print_congruences(cgp, "*** after ok check: cgp congruences ***");
+  print_constraints(cgp, "*** after ok check: cgp constraints ***");
+
+  if (ok) {
+    ok = ok && cgp == known_cgp;
+
+    print_congruences(cgp, "*** after known_cgp check: cgp congruences ***");
+    print_constraints(cgp, "*** after known_cgp check: cgp constraints ***");
+  }
+
+  return ok;
+}
+
+// Congruences_Reduction with strict upper bound and an equality
+// is found.
+bool
+test05() {
+  Variable A(0);
+  Variable B(1);
+
+  CGProduct cgp(2);
+  Constraint_System cs;
+  cs.insert(A >= 1);
+  cs.insert(A < 3);
+  cgp.refine_with_constraints(cs);
+  cgp.refine_with_congruence((A %= 0)/ 2);
+
+  CGProduct known_cgp(2);
+
+  known_cgp.refine_with_constraint(A == 2);
+
+  bool ok = cgp.OK();
+
+  print_congruences(cgp, "*** after ok check: cgp congruences ***");
+  print_constraints(cgp, "*** after ok check: cgp constraints ***");
+
+  if (ok) {
+    ok = ok && cgp == known_cgp;
+
+    print_congruences(cgp, "*** after known_cgp check: cgp congruences ***");
+    print_constraints(cgp, "*** after known_cgp check: cgp constraints ***");
+  }
+
+  return ok;
+}
+
+// Congruences_Reduction where emptiness is found.
+bool
+test06() {
+  Variable A(0);
+  Variable B(1);
+
+  CGProduct cgp(2);
+  Constraint_System cs;
+  cs.insert(A >= 1);
+  cs.insert(A < 2);
+  cgp.refine_with_constraints(cs);
+  cgp.refine_with_congruence((A %= 0)/ 2);
+
+  CGProduct known_cgp(2, EMPTY);
+
+  bool ok = cgp.OK();
+
+  print_congruences(cgp, "*** after ok check: cgp congruences ***");
+  print_constraints(cgp, "*** after ok check: cgp constraints ***");
+
+  if (ok) {
+    ok = cgp == known_cgp;
+
+    print_congruences(cgp, "*** after known_cgp check: cgp congruences ***");
+    print_constraints(cgp, "*** after known_cgp check: cgp constraints ***");
+  }
+
+  return ok;
+}
+
+// Congruences_Reduction that calls constraints()
+// and hence reduce().
+bool
+test07() {
+  Variable A(0);
+
+  CGProduct cgp(1);
+  Constraint_System cs;
+  cs.insert(A >= 1);
+  cs.insert(A <= 2);
+  cgp.refine_with_constraints(cs);
+  cgp.refine_with_congruence((A %= 0)/ 2);
+
+  bool ok = cgp.OK();
+
+  Constraint_System cs1 = cgp.constraints();
+
+  CGProduct known_cgp(1);
+  known_cgp.refine_with_constraints(cs1);
+
+  print_congruences(cgp, "*** after ok check: cgp congruences ***");
+  print_constraints(cgp, "*** after ok check: cgp constraints ***");
+
+  if (ok) {
+    ok = (cgp == known_cgp);
+    print_constraints(cgp,
+                      "*** after known_cgp check: cgp constraints ***");
+    print_congruences(cgp,
+                      "*** after known_cgp check: cgp congruences ***");
+    if (!ok) {
+      print_constraints(known_cgp,
+                        "*** known_cgp constraints ***");
+      print_congruences(known_cgp,
+                        "*** known_cgp congruences ***");
+    }
+  }
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/constraints1.cc b/tests/Partially_Reduced_Product/constraints1.cc
new file mode 100644
index 0000000..4e84ab6
--- /dev/null
+++ b/tests/Partially_Reduced_Product/constraints1.cc
@@ -0,0 +1,98 @@
+/* Test constraints().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+#define REVERSED_TEST
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+// constraints()
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Product dp(3);
+  dp.refine_with_congruence((B + C %= 3) / 0);
+  dp.refine_with_constraint(A > 9);
+  dp.refine_with_constraint(A <= 11);
+
+  NNC_Polyhedron ph(dp.space_dimension());
+  ph.refine_with_constraints(dp.constraints());
+
+  NNC_Polyhedron known_ph(dp.space_dimension());
+  known_ph.refine_with_constraint(B + C == 3);
+  known_ph.refine_with_constraint(A <= 11);
+  known_ph.refine_with_constraint(A > 9);
+
+  bool ok = (ph == known_ph);
+
+  print_constraints(ph, "*** ph ***");
+
+  print_congruences(dp, "*** dp congruences ***");
+  print_constraints(dp, "*** dp constraints ***");
+
+  return ok && dp.OK();
+}
+
+// minimized_constraints()
+bool
+test02() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Product dp(3);
+  dp.refine_with_congruence((B + C %= 3) / 0);
+  dp.refine_with_constraint(A > 9);
+  dp.refine_with_constraint(A <= 11);
+
+  DOMAIN1x ph(dp.space_dimension());
+  ph.refine_with_constraints(dp.minimized_constraints());
+
+  DOMAIN1x known_ph(dp.space_dimension());
+  known_ph.refine_with_constraint(B + C == 3);
+  known_ph.refine_with_constraint(A > 9);
+  known_ph.refine_with_constraint(A <= 11);
+
+  bool ok = (ph == known_ph);
+
+  print_congruences(dp, "*** dp congruences ***");
+  print_constraints(dp, "*** dp constraints ***");
+
+  return ok && dp.OK();
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/constraintsproduct1.cc b/tests/Partially_Reduced_Product/constraintsproduct1.cc
new file mode 100644
index 0000000..91c9025
--- /dev/null
+++ b/tests/Partially_Reduced_Product/constraintsproduct1.cc
@@ -0,0 +1,552 @@
+/* Test Partially_Reduced_Product<>:: Shrink_Using_Congruences_Reduction()
+   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+
+typedef NNC_Polyhedron Poly;
+
+typedef Domain_Product<Poly, Grid>::Constraints_Product PolyGrid;
+typedef Domain_Product<Poly, TBox>::Constraints_Product PolyBox;
+#if 0
+typedef Domain_Product<Affine_Space, TBox>::Constraints_Product AffBox;
+#endif
+typedef Domain_Product<Grid, TBox>::Constraints_Product GridBox;
+
+namespace {
+
+// Constraints_Reduction with non-strict constraints and
+// equality found. Positive coefficients.
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+
+  PolyGrid cp(2);
+  Constraint_System cs;
+  cs.insert(3*A >= 7);
+  cs.insert(3*A <= 7);
+  cp.refine_with_constraints(cs);
+
+  PolyGrid known_cp(2);
+
+  known_cp.refine_with_constraint(3*A == 7);
+
+  bool ok = cp.OK();
+
+  print_congruences(cp, "*** after ok check: cp congruences ***");
+  print_constraints(cp, "*** after ok check: cp constraints ***");
+
+  if (ok) {
+    ok = ok && cp == known_cp;
+    print_congruences(cp, "*** after known_cp check: cp congruences ***");
+    print_constraints(cp, "*** after known_cp check: cp constraints ***");
+  }
+
+  return ok;
+}
+
+// Constraints_Reduction with non-strict constraints and
+// equality found. Negative coefficients.
+bool
+test02() {
+  Variable A(0);
+  Variable B(1);
+
+  PolyGrid cp(2);
+  Constraint_System cs;
+  cs.insert(2*A >= -9);
+  cs.insert(2*A <= -9);
+  cp.refine_with_constraints(cs);
+
+  PolyGrid known_cp(2);
+
+  known_cp.refine_with_constraint(2*A == -9);
+
+  bool ok = cp.OK();
+
+  print_congruences(cp, "*** after ok check: cp congruences ***");
+  print_constraints(cp, "*** after ok check: cp constraints ***");
+
+  if (ok) {
+    ok = ok && cp == known_cp;
+
+    print_congruences(cp, "*** after known_cp check: cp congruences ***");
+    print_constraints(cp, "*** after known_cp check: cp constraints ***");
+  }
+
+  return ok;
+}
+
+// Constraints_Reduction with strict lower bound and an equality
+// is found.
+bool
+test03() {
+  Variable A(0);
+  Variable B(1);
+
+  PolyGrid cp(2);
+  Constraint_System cs;
+  cs.insert(A > 0);
+  cs.insert(A <= 0);
+  cp.refine_with_constraints(cs);
+
+  PolyGrid known_cp(2, EMPTY);
+
+  bool ok = cp.OK();
+
+  print_congruences(cp, "*** after ok check: cp congruences ***");
+  print_constraints(cp, "*** after ok check: cp constraints ***");
+
+  if (ok) {
+    ok = ok && cp == known_cp;
+
+    print_congruences(cp, "*** after known_cp check: cp congruences ***");
+    print_constraints(cp, "*** after known_cp check: cp constraints ***");
+  }
+
+  return ok;
+}
+
+// Constraints_Reduction with strict upper bound and an equality
+// is found.
+bool
+test04() {
+  Variable A(0);
+  Variable B(1);
+
+  PolyGrid cp(2);
+  Constraint_System cs;
+  cs.insert(A >= 1);
+  cs.insert(A < 3);
+  cp.refine_with_constraints(cs);
+  cp.refine_with_congruence((A %= 1)/ 0);
+
+  PolyGrid known_cp(2);
+
+  known_cp.refine_with_constraint(A == 1);
+
+  bool ok = cp.OK();
+
+  print_congruences(cp, "*** after ok check: cp congruences ***");
+  print_constraints(cp, "*** after ok check: cp constraints ***");
+
+  if (ok) {
+    ok = ok && cp == known_cp;
+
+    print_congruences(cp, "*** after known_cp check: cp congruences ***");
+    print_constraints(cp, "*** after known_cp check: cp constraints ***");
+  }
+
+  return ok;
+}
+
+// Constraints_Reduction where emptiness is found.
+bool
+test05() {
+  Variable A(0);
+  Variable B(1);
+
+  PolyGrid cp(2);
+  Constraint_System cs;
+  cs.insert(A >= 1);
+  cs.insert(A <= 2);
+  cp.refine_with_constraints(cs);
+  cp.refine_with_congruence((A %= 0)/ 0);
+
+  PolyGrid known_cp(2, EMPTY);
+
+  bool ok = cp.OK();
+
+  print_congruences(cp, "*** after ok check: cp congruences ***");
+  print_constraints(cp, "*** after ok check: cp constraints ***");
+
+  if (ok) {
+    ok = cp == known_cp;
+
+    print_congruences(cp, "*** after known_cp check: cp congruences ***");
+    print_constraints(cp, "*** after known_cp check: cp constraints ***");
+  }
+
+  return ok;
+}
+
+// Constraints_Reduction where emptiness is found.
+bool
+test06() {
+  Variable A(0);
+  Variable B(1);
+
+  PolyGrid cp(2);
+  Constraint_System cs;
+  cs.insert(A >= 1);
+  cs.insert(A <= 1);
+  cp.refine_with_constraints(cs);
+  cp.refine_with_congruence((A %= 0)/ 2);
+
+  PolyGrid known_cp(2, EMPTY);
+
+  bool ok = cp.OK();
+
+  print_congruences(cp, "*** after ok check: cp congruences ***");
+  print_constraints(cp, "*** after ok check: cp constraints ***");
+
+  if (ok) {
+    ok = cp == known_cp;
+
+    print_congruences(cp, "*** after known_cp check: cp congruences ***");
+    print_constraints(cp, "*** after known_cp check: cp constraints ***");
+  }
+
+  return ok;
+}
+
+// Constraints_Reduction that calls constraints()
+// and hence reduce().
+bool
+test07() {
+  Variable A(0);
+
+  PolyGrid cp(1);
+  Constraint_System cs;
+  cs.insert(A >= 1);
+  cs.insert(A <= 2);
+  cp.refine_with_constraints(cs);
+  cp.refine_with_congruence((A %= 0)/ 2);
+
+  bool ok = cp.OK();
+
+  Constraint_System cs1 = cp.constraints();
+
+  PolyGrid known_cp(1);
+  known_cp.refine_with_constraints(cs1);
+  known_cp.refine_with_congruence((A %= 0)/ 2);
+
+  print_congruences(cp, "*** after ok check: cp congruences ***");
+  print_constraints(cp, "*** after ok check: cp constraints ***");
+
+  if (ok) {
+    ok = (cp == known_cp);
+    print_constraints(cp,
+                      "*** after known_cp check: cp constraints ***");
+    print_congruences(cp,
+                      "*** after known_cp check: cp congruences ***");
+    if (!ok) {
+      print_constraints(known_cp,
+                        "*** known_cp constraints ***");
+      print_congruences(known_cp,
+                        "*** known_cp congruences ***");
+    }
+  }
+
+  return ok;
+}
+
+bool
+test08() {
+  Variable A(0);
+  Variable B(1);
+
+  PolyBox cp(2);
+
+  Constraint_System cs;
+  cs.insert(A + B >= 0);
+  cs.insert(A + B <= 1);
+  cs.insert(A - 2*B <= 10);
+  cs.insert(A - 2*B >= 0);
+  cp.refine_with_constraints(cs);
+  cp.refine_with_constraint(A >= 4);
+
+  PolyBox known_cp(2);
+  known_cp.refine_with_constraint(A == 4);
+  known_cp.refine_with_constraint(B == -3);
+
+  bool ok = cp.OK();
+
+  print_congruences(cp, "*** after ok check: cp congruences ***");
+  print_constraints(cp, "*** after ok check: cp constraints ***");
+
+  if (ok) {
+    ok = ok && cp == known_cp;
+
+    print_congruences(cp, "*** after known_cp check: cp congruences ***");
+    print_constraints(cp, "*** after known_cp check: cp constraints ***");
+  }
+
+  return ok;
+}
+
+#if 0
+bool
+test09() {
+  Variable A(0);
+  Variable B(1);
+
+  AffBox cp(2);
+
+  Constraint_System cs;
+  cs.insert(A >= 0);
+  cs.insert(A <= 4);
+  cs.insert(B <= 10);
+  cs.insert(B >= 3);
+  cp.refine_with_constraints(cs);
+  cp.refine_with_constraint(A >= 4);
+  cp.refine_with_constraint(B <= 3);
+
+  AffBox known_cp(2);
+  known_cp.refine_with_constraint(A == 4);
+  known_cp.refine_with_constraint(B == 3);
+
+  bool ok = cp.OK();
+
+  print_constraints(cp, "*** after ok check: cp constraints ***");
+
+  if (ok) {
+    ok = ok && cp == known_cp;
+
+    print_constraints(cp, "*** after known_cp check: cp constraints ***");
+  }
+
+  return ok;
+}
+#endif
+
+// space_dimension()
+bool
+test10() {
+  Variable A(0);
+  Variable E(4);
+
+  Constraint_System cs;
+  cs.insert(A + E <= 9);
+  cs.insert(A + E >= 9);
+
+  PolyGrid cp(5);
+  cp.refine_with_constraints(cs);
+
+  bool cons_ok = (cp.space_dimension() == 5);
+
+  print_congruences(cp, "*** cp congruences ***");
+  print_constraints(cp, "*** cp constraints ***");
+
+  return cons_ok;
+}
+
+#if 0
+// Example taken from SenS07 (figure 5(a)
+bool
+test11() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+  Variable D(3);
+
+  Constraint_System cs;
+  cs.insert(B >= -10);
+  cs.insert(B <= 5);
+  cs.insert(C >= 2);
+  cs.insert(C <= 3);
+  cs.insert(D >= 4);
+  cs.insert(D <= 9);
+  Congruence_System cgs;
+  cgs.insert(A %= 0);
+  cgs.insert((B %= 5) / 15);
+  cgs.insert(C %= 0);
+  cgs.insert(D %= 0);
+
+  AffBox ab1(4);
+  ab1.refine_with_constraints(cs);
+  ab1.refine_with_congruences(cgs);
+  ab1.affine_image(A, 2*B + D);
+  TBox box1(4);
+  box1.refine_with_constraints(cs);
+  box1.refine_with_congruences(cgs);
+  box1.affine_image(A, 2*B + D);
+  Affine_Space affs1(4);
+  affs1.refine_with_constraints(cs);
+  affs1.refine_with_congruences(cgs);
+  affs1.affine_image(A, 2*B + D);
+  GridBox gb1(4);
+  gb1.refine_with_constraints(cs);
+  gb1.refine_with_congruences(cgs);
+  gb1.affine_image(A, 2*B + D);
+  print_constraints(ab1,
+       "*** (Affine_Space x TBox) ab1 constraints ***");
+
+  AffBox ab2(ab1);
+  TBox box2(box1);
+  Affine_Space affs2(affs1);
+  GridBox gb2(gb1);
+
+  ab1.affine_image(A, A - 4*B);
+  box1.affine_image(A, A - 4*B);
+  affs1.affine_image(A, A - 4*B);
+  gb1.affine_image(A, A - 4*B);
+
+  ab2.affine_image(A, A + 2*B);
+  box2.affine_image(A, A + 2*B);
+  affs2.affine_image(A, A + 2*B);
+  gb2.affine_image(A, A + 2*B);
+
+  ab1.upper_bound_assign(ab2);
+  box1.upper_bound_assign(box2);
+  affs1.upper_bound_assign(affs2);
+  gb1.upper_bound_assign(gb2);
+
+  Constraint_System known_cs;
+  known_cs.insert(A >= -36);
+  known_cs.insert(A <= 29);
+  known_cs.insert(B >= -10);
+  known_cs.insert(B <= 5);
+  known_cs.insert(C >= 2);
+  known_cs.insert(C <= 3);
+  known_cs.insert(D >= 4);
+  known_cs.insert(D <= 9);
+  AffBox known_ab(4);
+  known_ab.refine_with_constraints(known_cs);
+  TBox known_box(4);
+  known_box.refine_with_constraints(known_cs);
+  known_box.unconstrain(A);
+  known_box.refine_with_constraint(A >= -36);
+  known_box.refine_with_constraint(A <= 59);
+  Affine_Space known_affs(4);
+  known_affs.refine_with_constraints(known_cs);
+  GridBox known_gb(4);
+  known_gb.refine_with_constraints(known_cs);
+  known_gb.refine_with_congruences(cgs);
+  known_gb.refine_with_congruence((A - D %= 20) / 30);
+  known_gb.refine_with_congruence((B %= 5) / 15);
+
+  bool ok = (ab1 == known_ab
+             && box1 == known_box
+             && affs1 == known_affs && gb1 == known_gb);
+
+  print_constraints(ab1,
+       "*** (Affine_Space x TBox) ab1 constraints ***");
+  print_constraints(box1,
+       "*** (TBox) box1 constraints ***");
+  print_constraints(affs1, "*** (Affine_Space) affs1 constraints ***");
+  print_constraints(gb1,
+       "*** (Grid x TBox) gb1 constraints ***");
+  print_congruences(gb1,
+       "*** (Grid x TBox) gb1 congruences ***");
+
+  return ok;
+}
+
+// Example taken from SenS07 (figure 5(b)
+bool
+test12() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+  Variable D(3);
+  Variable E(4);
+
+  Constraint_System cs;
+  cs.insert(B >= 6);
+  cs.insert(B <= 8);
+  cs.insert(C >= 1);
+  cs.insert(C <= 9);
+  Congruence_System cgs;
+  cgs.insert(A %= 0);
+  cgs.insert((B %= 0) / 2);
+  cgs.insert(C %= 0);
+  cgs.insert(D %= 0);
+  cgs.insert(E %= 0);
+
+  AffBox ab1(5);
+  TBox box1(5);
+  Affine_Space affs1(5);
+  GridBox gb1(5);
+  ab1.refine_with_constraints(cs);
+  ab1.refine_with_congruences(cgs);
+  box1.refine_with_constraints(cs);
+  box1.refine_with_congruences(cgs);
+  affs1.refine_with_constraints(cs);
+  affs1.refine_with_congruences(cgs);
+  gb1.refine_with_constraints(cs);
+  gb1.refine_with_congruences(cgs);
+
+  AffBox ab2(ab1);
+  TBox box2(box1);
+  Affine_Space affs2(affs1);
+  GridBox gb2(gb1);
+
+  ab1.affine_image(E, 2*B);
+  box1.affine_image(E, 2*B);
+  affs1.affine_image(E, 2*B);
+  gb1.affine_image(E, 2*B);
+
+  ab2.affine_image(E, B + C);
+  box2.affine_image(E, B + C);
+  affs2.affine_image(E, B + C);
+  gb2.affine_image(E, B + C);
+
+  ab1.upper_bound_assign(ab2);
+  box1.upper_bound_assign(box2);
+  affs1.upper_bound_assign(affs2);
+  gb1.upper_bound_assign(gb2);
+
+  Constraint_System known_cs(cs);
+  known_cs.insert(E >= 7);
+  known_cs.insert(E <= 17);
+  AffBox known_ab(5);
+  known_ab.refine_with_constraints(known_cs);
+  TBox known_box(5);
+  known_box.refine_with_constraints(known_cs);
+  Affine_Space known_affs(5);
+  known_affs.refine_with_constraints(known_cs);
+  GridBox known_gb(5);
+  known_gb.refine_with_constraints(known_cs);
+  known_gb.refine_with_congruences(cgs);
+
+  bool ok = (ab1 == known_ab && box1 == known_box
+             && affs1 == known_affs && gb1 == known_gb);
+
+  print_constraints(ab1, "*** (Affine_Space x TBox) ab1 constraints ***");
+  print_constraints(box1, "*** (TBox) box1 constraints ***");
+  print_constraints(affs1, "*** (Affine_Space) affs1 constraints ***");
+  print_constraints(gb1, "*** (Grid x TBox) gb1 constraints ***");
+  print_congruences(gb1, "*** (Grid x TBox) gb1 congruences ***");
+
+  return ok;
+}
+#endif
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST(test08);
+//DO_TEST(test09);
+  DO_TEST(test10);
+//DO_TEST_F8(test11);
+//DO_TEST(test12);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/contains1.cc b/tests/Partially_Reduced_Product/contains1.cc
new file mode 100644
index 0000000..f52247e
--- /dev/null
+++ b/tests/Partially_Reduced_Product/contains1.cc
@@ -0,0 +1,102 @@
+/* Test Product<NNC_Polyhedron, Grid>::contains() and
+   Product<NNC_Polyhedron, Grid>::strictly_contains().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+// contains()
+bool
+test01() {
+  Variable A(0);
+
+  Product prp1(1);
+  prp1.refine_with_constraint(A <= 3);
+  prp1.refine_with_congruence((A %= 3) / 2);
+
+  Product prp2(1);
+  prp2.refine_with_constraint(A <= 3);
+  prp2.refine_with_congruence(A %= 3);
+
+  bool ok1 = !prp1.contains(prp2);
+
+  prp2.refine_with_congruence((A %= 1) / 4);
+
+  bool ok2 = prp1.contains(prp2);
+
+  prp1.refine_with_congruence((A == 1) / 0);
+  prp2.refine_with_constraint(A <= 2);
+  prp2.refine_with_constraint(A >= -1);
+  prp2.refine_with_congruence((A %= 1) / 3);
+
+  bool ok3 = !prp1.contains(prp2);
+
+  print_constraints(prp1, "*** prp1 constraints ***");
+  print_congruences(prp1, "*** prp1 congruences ***");
+
+  return ok1 && ok2 && ok3;
+}
+
+// strictly_contains()
+bool
+test02() {
+  Variable A(0);
+
+  Product prp1(1);
+  prp1.refine_with_constraint(A <= 2);
+  prp1.refine_with_congruence(A %= 0);
+
+  Product prp2(1);
+  prp2.refine_with_constraint(A <= 1);
+  prp2.refine_with_congruence(A %= 0);
+
+  bool ok1 = prp1.strictly_contains(prp2);
+
+  prp1.refine_with_constraint(A <= 1);
+  prp2.refine_with_congruence((A %= 1) /2);
+
+  bool ok2 = prp1.strictly_contains(prp2);
+
+  prp1.refine_with_congruence((A %= 1) /2);
+
+  bool ok3 = !prp1.strictly_contains(prp2);
+
+  print_congruences(prp1, "*** prp1 congruences ***");
+  print_constraints(prp1, "*** prp1 constraints ***");
+  print_congruences(prp2, "*** prp2 congruences ***");
+  print_constraints(prp2, "*** prp2 constraints ***");
+
+  return ok1 && ok2 && ok3;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/difference1.cc b/tests/Partially_Reduced_Product/difference1.cc
new file mode 100644
index 0000000..4414b7a
--- /dev/null
+++ b/tests/Partially_Reduced_Product/difference1.cc
@@ -0,0 +1,140 @@
+/* Test Product<NNC_Polyhedron, Grid>::difference_assign() and.
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+// difference_assign()
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp1(3, UNIVERSE);
+  prp1.refine_with_constraint(A >= 0);
+  prp1.refine_with_congruence((A - B %= 0) / 2);
+
+  Product prp2(3);
+  prp2.refine_with_constraint(A >= 3);
+  prp2.refine_with_congruence((A - B %= 0) / 4);
+
+  prp1.difference_assign(prp2);
+  Product known_prp(3);
+  known_prp.refine_with_constraint(A >= 0);
+  known_prp.refine_with_constraint(A < 3);
+  known_prp.refine_with_congruence((A - B %= 2) / 4);
+
+  bool ok = (prp1 == known_prp);
+
+  print_congruences(prp1, "*** prp1 congruences ***");
+  print_constraints(prp1, "*** prp1 constraints ***");
+  print_congruences(prp2,  "*** prp2 congruences ***");
+  print_constraints(prp2, "*** prp2 constraints ***");
+
+  return ok;
+}
+
+// difference_assign()
+bool
+test02() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp(1);
+  prp.refine_with_constraint(A <= 18);
+  prp.refine_with_constraint(A >= 18);
+
+  Product prp1(prp);
+
+  Product prp2(1);
+  prp2.refine_with_congruence((A %= 18) / 20);
+
+  prp1.difference_assign(prp2);
+
+  bool cons_ok = prp1.is_empty();
+
+  print_congruences(prp1, "*** prp1 congruences ***");
+  print_constraints(prp1, "*** prp1 constraints ***");
+
+  if (!cons_ok)
+    return false;
+
+  prp2.difference_assign(prp1);
+
+  Product known_prp(1);
+  known_prp.refine_with_congruence((A %= 18) / 20);
+
+  cons_ok = (prp2 == known_prp);
+
+  print_congruences(prp2, "*** prp2 congruences ***");
+  print_constraints(prp2, "*** prp2 constraints ***");
+
+  return cons_ok;
+}
+
+// difference_assign() where difference is not reduced.
+bool
+test03() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp(1);
+  prp.refine_with_constraint(A >= 1);
+  prp.refine_with_congruence((A %= 0) / 2);
+
+  Product prp1(prp);
+
+  print_congruences(prp1, "*** prp1 congruences ***");
+  print_constraints(prp1, "*** prp1 constraints ***");
+
+  Product prp2(1);
+  prp2.refine_with_constraint(A > 1);
+  prp2.refine_with_congruence((A %= 1) / 2);
+
+  print_congruences(prp2, "*** prp2 congruences ***");
+  print_constraints(prp2, "*** prp2 constraints ***");
+
+  prp1.difference_assign(prp2);
+
+  bool cons_ok = prp1.is_empty();
+
+  print_congruences(prp1,
+                    "*** prp1.difference_assign(prp2) congruences ***");
+  print_constraints(prp1,
+                    "*** prp1.difference_assign(prp2) constraints ***");
+
+  return cons_ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/dimension1.cc b/tests/Partially_Reduced_Product/dimension1.cc
new file mode 100644
index 0000000..b7c198f
--- /dev/null
+++ b/tests/Partially_Reduced_Product/dimension1.cc
@@ -0,0 +1,83 @@
+/* Test Product<NNC_Polyhedron, Grid>::space_dimension() and
+   Product<NNC_Polyhedron, Grid>::affine_dimension().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+// space_dimension()
+bool
+test01() {
+  Variable A(0);
+  Variable E(4);
+
+  Constraint_System cs(A + E < 9);
+
+  Product prp(5);
+  prp.refine_with_constraints(cs);
+
+  bool ok = (prp.space_dimension() == 5);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+
+// affine_dimension()
+bool
+test02() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Product prp(3);
+  prp.refine_with_constraint(A - C >= 9);
+  prp.refine_with_constraint(A - C <= 9);
+  prp.refine_with_constraint(B >= 2);
+
+  bool ok = (prp.affine_dimension() == 2);
+
+  prp.refine_with_constraint(C == 4);
+  prp.refine_with_constraint(B == 2);
+
+  ok &= (ok && prp.affine_dimension() == 0);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/directproduct1.cc b/tests/Partially_Reduced_Product/directproduct1.cc
index 9658131..f746c32 100644
--- a/tests/Partially_Reduced_Product/directproduct1.cc
+++ b/tests/Partially_Reduced_Product/directproduct1.cc
@@ -1,5 +1,5 @@
 /* Test Direct_Product<NNC_Polyhedron, Grid>.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -23,41 +23,11 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "ppl_test.hh"
 
 using namespace Parma_Polyhedra_Library::IO_Operators;
+#include "partially_reduced_product_test.hh"
 
-// #define PH_IS_FIRST
-
-// ONE AND ONLY ONE OF THESE MUST BE 1
-#define NNC_Poly_Class 1
-#define C_Poly_Class 0
-#define BD_Shape_Class 0
-#define Octagonal_Shape_Class 0
-#define Box_Class 0
-
-#if Box_Class
-typedef TBox Poly;
-#endif
-
-#if Octagonal_Shape_Class
-typedef TOctagonal_Shape Poly;
-#endif
-
-#if BD_Shape_Class
-typedef TBD_Shape Poly;
-#endif
-
-#if NNC_Poly_Class
-typedef NNC_Polyhedron Poly;
-#endif
-
-#if C_Poly_Class
-typedef C_Polyhedron Poly;
-#endif
-
-#ifdef PH_IS_FIRST
-typedef Domain_Product<Poly, Grid>::Direct_Product Product;
-#else
-typedef Domain_Product<Grid, Poly>::Direct_Product Product;
-#endif
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Direct_Product Product;
 
 namespace {
 
@@ -81,456 +51,61 @@ test01() {
 // Empty product(dims, type)
 bool
 test02() {
-  Product dp1(3);
-
-  Product dp2(3, EMPTY);
-
-  bool ok = (dp1 != dp2);
-
-  print_congruences(dp1, "*** dp1 congruences ***");
-  print_constraints(dp1, "*** dp1 constraints ***");
-  print_congruences(dp2, "*** dp2 congruences ***");
-  print_constraints(dp2, "*** dp2 constraints ***");
-
-  return ok && dp1.OK() && dp2.OK();
-}
-
-// Product(cgs), refine_with_congruence(cg)
-bool
-test03() {
-  Variable A(0);
-
-  const Congruence_System cgs((A == 0) / 0);
-
-  Product dp1(cgs);
-
-  Product dp2(1);
-  dp2.refine_with_congruence((A == 0) / 0);
-
-  bool ok = (dp1 == dp2);
-
-  print_congruences(dp1, "*** dp1 congruences ***");
-  print_constraints(dp1, "*** dp1 constraints ***");
-  print_constraints(dp1.minimized_constraints(), "*** dp1 minimized_constraints ***");
-  print_congruences(dp2, "*** dp2 congruences ***");
-  print_constraints(dp2, "*** dp2 constraints ***");
-
-  return ok && dp1.OK() && dp2.OK();
-}
-
-// Product(cgs), domain1(), domain2()
-bool
-test04() {
-  Variable A(0);
-
-  Congruence_System cgs((A %= 0) / 4);
-
-  Product dp(1);
-  dp.refine_with_congruence((A %= 0) / 4);
+  Product dp(3, EMPTY);
 
-  Poly known_ph(1);
+  bool ok = (dp.is_empty());
 
-  Grid known_gr(1);
-  known_gr.refine_with_congruence((A %= 0) / 4);
-
-#ifdef PH_IS_FIRST
-  bool ok = (dp.domain2() == known_gr
-	     && dp.domain1() == known_ph);
-#else
-  bool ok = (dp.domain1() == known_gr
-	     && dp.domain2() == known_ph);
-#endif
-
-  print_congruences(dp, "*** dp congruences ***");
   print_constraints(dp, "*** dp constraints ***");
-
-  return ok && dp.OK();
-}
-
-// Product(cs), refine_with_constraint(c)
-bool
-test05() {
-  Variable A(0);
-
-  const Constraint_System cs(A == 0);
-
-  Product dp1(cs);
-
-  Product dp2(1);
-  dp2.refine_with_constraint(static_cast<const Constraint>(A == 0));
-
-  bool ok = (dp1 == dp2);
-
-  print_congruences(dp1, "*** dp1 congruences ***");
-  print_constraints(dp1, "*** dp1 constraints ***");
-  print_congruences(dp2, "*** dp2 congruences ***");
-  print_constraints(dp2, "*** dp2 constraints ***");
-
-  return ok && dp1.OK() && dp2.OK();
-}
-
-// Product(cs), refine_with_congruence(c)
-bool
-test06() {
-  Variable A(0);
-
-  Constraint_System cs(A == 9);
-
-  Product dp1(cs);
-
-  Product dp2(1);
-  dp2.refine_with_constraint(A == 9);
-
-  Grid known_gr(1);
-  known_gr.refine_with_congruence((A %= 9) / 0);
-
-#ifdef PH_IS_FIRST
-  bool ok = (dp1 == dp2 && dp1.domain2() == known_gr);
-#else
-  bool ok = (dp1 == dp2 && dp1.domain1() == known_gr);
-#endif
-
-  print_congruences(dp1, "*** dp1 congruences ***");
-  print_constraints(dp1, "*** dp1 constraints ***");
-  print_congruences(dp2, "*** dp2 congruences ***");
-  print_constraints(dp2, "*** dp2 constraints ***");
-
-  return ok && dp1.OK() && dp2.OK();
-}
-
-// Product(bounding_box)
-bool
-test07() {
-  Variable A(0);
-  Variable B(1);
-
-  TBox box(2);
-  box.refine_with_constraint(3*B >= 2);
-  box.refine_with_constraint(A >= 2);
-  box.refine_with_constraint(A <= 2);
-
-  Product dp(box);
-
-  Product known_dp(2);
-  known_dp.refine_with_constraint(3*B >= 2);
-  known_dp.refine_with_constraint(A == 2);
-
-  bool ok = (dp == known_dp) && dp.OK();
-
   print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
 
   return ok && dp.OK();
 }
 
-// operator=
+// Check equalities are not propagated between components
 bool
-test08() {
-  Variable A(0);
-  Variable B(1);
-
-  Constraint_System cs(A + B >= 9);
-
-  Product dp1(2);
-  dp1.refine_with_constraints(cs);
-  dp1.refine_with_congruence((A %= 9) / 19);
-
-  Product dp2 = dp1;
-
-  bool ok = (dp1 == dp2);
-
-  print_congruences(dp1, "*** dp1 congruences ***");
-  print_constraints(dp1, "*** dp1 constraints ***");
-  print_congruences(dp2, "*** dp2 congruences ***");
-  print_constraints(dp2, "*** dp2 constraints ***");
-
-  return ok && dp1.OK() && dp2.OK();
-}
-
-// Copy constructor.
-bool
-test09() {
-  Variable A(0);
-  Variable C(2);
-
-  Product dp1(3);
-  dp1.refine_with_constraint(A - C == 0);
-
-  Product dp2(dp1);
-
-  bool ok = (dp1 == dp2);
-
-  print_congruences(dp1, "*** dp1 congruences ***");
-  print_constraints(dp1, "*** dp1 constraints ***");
-  print_congruences(dp2, "*** dp2 congruences ***");
-  print_constraints(dp2, "*** dp2 constraints ***");
-
-  return ok && dp1.OK() && dp2.OK();
-}
-
-// congruences()
-bool
-test10() {
+test03() {
   Variable A(0);
-  Variable B(1);
-  Variable C(2);
 
   Product dp(3);
-  dp.refine_with_congruence(A %= 9);
-  dp.refine_with_congruence(B + C %= 3);
-
-  Congruence_System cgs;
-  cgs.insert(B + C %= 0);
-  cgs.insert(A %= 0);
 
-  Grid known_gr(cgs);
+  dp.refine_with_constraint(A >= 7);
+  dp.refine_with_constraint(A <= 7);
 
-  Grid gr(dp.congruences());
+  DOMAIN1 known_result_d1(1);
+  known_result_d1.add_constraint(A == 7);
+  DOMAIN2 known_result_d2(1);
 
-  bool ok = gr == known_gr;
+  bool ok = ((!dp.domain1().is_universe() && dp.domain2().is_universe())
+             || (!dp.domain2().is_universe() && dp.domain1().is_universe()));
 
-  print_congruences(dp, "*** dp congruences ***");
   print_constraints(dp, "*** dp constraints ***");
-
-  return ok && dp.OK();
-}
-
-// minimized_congruences()
-bool
-test11() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Product dp(3);
-  dp.refine_with_congruence(B + C %= 3);
-  dp.refine_with_constraint(A >= 9);
-  dp.refine_with_constraint(A <= 9);
-
-  Congruence_System cgs;
-  cgs.insert(B + C %= 3);
-  cgs.insert(A == 9);
-
-  Grid known_gr(cgs);
-
-  Grid gr(dp.minimized_congruences());
-
-  bool ok = gr == known_gr;
-
   print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
 
   return ok && dp.OK();
 }
 
-// constraints()
+// Check emptiness is not propagated between components
 bool
-test12() {
+test04() {
   Variable A(0);
-  Variable B(1);
-  Variable C(2);
 
   Product dp(3);
-  dp.refine_with_congruence((B + C %= 3) / 0);
-  dp.refine_with_constraint(A > 9);
-  dp.refine_with_constraint(A <= 11);
-
-  Poly ph(dp.space_dimension());
-  ph.refine_with_constraints(dp.constraints());
 
-  Poly known_ph(dp.space_dimension());
-  known_ph.refine_with_constraint(B + C == 3);
-  known_ph.refine_with_constraint(A <= 11);
-  known_ph.refine_with_constraint(A > 9);
+  dp.refine_with_constraint(A >= 7);
+  dp.refine_with_constraint(A <= 5);
 
-  bool ok = (ph == known_ph);
+  DOMAIN1 known_result_d1(1, EMPTY);
+  DOMAIN2 known_result_d2(1);
 
-  print_constraints(ph, "*** ph ***");
+  bool ok = ((dp.domain1().is_empty() && dp.domain2().is_universe())
+             || (dp.domain2().is_empty() && dp.domain1().is_universe()));
 
-  print_congruences(dp, "*** dp congruences ***");
   print_constraints(dp, "*** dp constraints ***");
-
-  return ok && dp.OK();
-}
-
-// minimized_constraints()
-bool
-test13() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Product dp(3);
-  dp.refine_with_congruence((B + C %= 3) / 0);
-  dp.refine_with_constraint(A > 9);
-  dp.refine_with_constraint(A <= 11);
-
-  Poly ph(dp.space_dimension());
-  ph.refine_with_constraints(dp.minimized_constraints());
-
-  Poly known_ph(dp.space_dimension());
-  known_ph.refine_with_constraint(B + C == 3);
-  known_ph.refine_with_constraint(A > 9);
-  known_ph.refine_with_constraint(A <= 11);
-
-  bool ok = (ph == known_ph);
-
   print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
 
   return ok && dp.OK();
 }
 
-// Product(c_polyhedron).
-bool
-test14() {
-  Variable A(0);
-
-  const Constraint_System cs(A == 0);
-
-  C_Polyhedron ph(cs);
-
-  Product dp1(ph);
-
-  Product dp2(1);
-  dp2.refine_with_congruence((A %= 0) / 0);
-
-  bool ok = (dp1 == dp2);
-
-  print_congruences(dp1, "*** dp1 congruences ***");
-  print_constraints(dp1, "*** dp1 constraints ***");
-  print_congruences(dp2, "*** dp2 congruences ***");
-  print_constraints(dp2, "*** dp2 constraints ***");
-
-  return ok && dp1.OK() && dp2.OK();
-}
-
-// Product(nnc_polyhedron).
-bool
-test15() {
-  Variable A(0);
-
-  const Constraint_System cs(A > 0);
-
-  NNC_Polyhedron ph(cs);
-
-  Product dp1(ph);
-
-  Product dp2(1);
-  dp2.refine_with_constraint(A > 0);
-
-  bool ok = (dp1 == dp2);
-
-  print_congruences(dp1, "*** dp1 congruences ***");
-  print_constraints(dp1, "*** dp1 constraints ***");
-  print_congruences(dp2, "*** dp2 congruences ***");
-  print_constraints(dp2, "*** dp2 constraints ***");
-
-  return ok && dp1.OK() && dp2.OK();
-}
-
-// Product(grid).
-bool
-test16() {
-  Variable A(0);
-
-  const Congruence_System cgs(A %= 0);
-
-  Grid gr(cgs);
-
-  Product dp1(gr);
-
-  Product dp2(1);
-  dp2.refine_with_congruence((A %= 0) / 1);
-
-  bool ok = (dp1 == dp2);
-
-  print_congruences(dp1, "*** dp1 congruences ***");
-  print_constraints(dp1, "*** dp1 constraints ***");
-  print_congruences(dp2, "*** dp2 congruences ***");
-  print_constraints(dp2, "*** dp2 constraints ***");
-
-  return ok && dp1.OK() && dp2.OK();
-}
-
-// Product(box).
-bool
-test17() {
-  Variable A(0);
-
-  const Constraint_System cs(A > 0);
-
-  TBox box(cs);
-
-  Product dp1(box);
-
-  Product dp2(1);
-  dp2.refine_with_constraint(A > 0);
-
-  bool ok = (dp1 == dp2);
-
-  print_congruences(dp1, "*** dp1 congruences ***");
-  print_constraints(dp1, "*** dp1 constraints ***");
-  print_congruences(dp2, "*** dp2 congruences ***");
-  print_constraints(dp2, "*** dp2 constraints ***");
-
-  return ok && dp1.OK() && dp2.OK();
-}
-
-// Product(bds).
-bool
-test18() {
-  Variable A(0);
-  Variable B(1);
-
-  Constraint_System cs(A >= 0);
-  cs.insert(2*A - 2*B >= 5);
-
-  TBD_Shape bd(cs);
-
-  Product dp1(bd);
-
-  Product dp2(2);
-  dp2.refine_with_constraint(A >= 0);
-  dp2.refine_with_constraint(2*A - 2*B >= 5);
-
-  bool ok = (dp1 == dp2);
-
-  print_congruences(dp1, "*** dp1 congruences ***");
-  print_constraints(dp1, "*** dp1 constraints ***");
-  print_congruences(dp2, "*** dp2 congruences ***");
-  print_constraints(dp2, "*** dp2 constraints ***");
-
-  return ok && dp1.OK() && dp2.OK();
-}
-
-// Product(os).
-bool
-test19() {
-  Variable A(0);
-  Variable B(1);
-
-  Constraint_System cs(A >= 0);
-  cs.insert(2*A + 2*B >= 5);
-
-  TOctagonal_Shape os(cs);
-
-  Product dp1(os);
-
-  Product dp2(2);
-  dp2.refine_with_constraint(A >= 0);
-  dp2.refine_with_constraint(2*A + 2*B >= 5);
-
-  bool ok = (dp1 == dp2);
-
-  print_congruences(dp1, "*** dp1 congruences ***");
-  print_constraints(dp1, "*** dp1 constraints ***");
-  print_congruences(dp2, "*** dp2 congruences ***");
-  print_constraints(dp2, "*** dp2 constraints ***");
-
-  return ok && dp1.OK() && dp2.OK();
-}
-
 } // namespace
 
 BEGIN_MAIN
@@ -538,18 +113,4 @@ BEGIN_MAIN
   DO_TEST(test02);
   DO_TEST(test03);
   DO_TEST(test04);
-  DO_TEST(test05);
-  DO_TEST(test06);
-  DO_TEST(test07);
-  DO_TEST(test08);
-  DO_TEST(test09);
-  DO_TEST(test10);
-  DO_TEST(test11);
-  DO_TEST(test12);
-  DO_TEST(test13);
-  DO_TEST(test14);
-  DO_TEST(test15);
-  DO_TEST(test16);
-  DO_TEST(test17);
-  DO_TEST(test19);
 END_MAIN
diff --git a/tests/Partially_Reduced_Product/directproduct2.cc b/tests/Partially_Reduced_Product/directproduct2.cc
deleted file mode 100644
index c300792..0000000
--- a/tests/Partially_Reduced_Product/directproduct2.cc
+++ /dev/null
@@ -1,471 +0,0 @@
-/* Test Direct_Product<NNC_Polyhedron, Grid>.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include "ppl_test.hh"
-
-using namespace Parma_Polyhedra_Library::IO_Operators;
-
-#define PH_IS_FIRST
-
-// ONE AND ONLY ONE OF THESE MUST BE 1
-#define NNC_Poly_Class 1
-#define C_Poly_Class 0
-#define BD_Shape_Class 0
-#define Octagonal_Shape_Class 0
-#define Box_Class 0
-
-#if Box_Class
-typedef TBox Poly;
-#endif
-
-#if Octagonal_Shape_Class
-typedef TOctagonal_Shape Poly;
-#endif
-
-#if BD_Shape_Class
-typedef BD_Shape<mpq_class> Poly;
-#endif
-
-#if NNC_Poly_Class
-typedef NNC_Polyhedron Poly;
-#endif
-
-#if C_Poly_Class
-typedef C_Polyhedron Poly;
-#endif
-
-#ifdef PH_IS_FIRST
-typedef Domain_Product<Poly, Grid>::Direct_Product Product;
-#else
-typedef Domain_Product<Grid, Poly>::Direct_Product Product;
-#endif
-
-namespace {
-
-// is_empty() where both domain objects have points.
-bool
-test01() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Product dp(3);
-  dp.refine_with_congruence(A %= 9);
-  dp.refine_with_congruence(B + C %= 3);
-
-  bool ok = !dp.is_empty();
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// is_empty() where one domain object is empty.
-bool
-test02() {
-  Variable A(0);
-
-  Product dp(3);
-
-  dp.refine_with_congruence((A %= 0) / 2);
-  dp.refine_with_congruence((A %= 1) / 2);
-
-  bool ok = dp.is_empty();
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// is_empty() where both domain objects are empty.
-bool
-test03() {
-  Variable A(0);
-
-  Product dp(3);
-  dp.refine_with_constraint(A == 1);
-  dp.refine_with_constraint(A == 3);
-
-  bool ok = dp.is_empty();
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// is_universe() where both domain objects are empty.
-bool
-test04() {
-  Product dp(3, EMPTY);
-
-  bool ok = !dp.is_universe();
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// is_universe() where one domain object is universe.
-bool
-test05() {
-  Variable A(0);
-
-  Product dp(3);
-  dp.refine_with_congruence((A %= 0) / 2);
-  dp.refine_with_congruence((A %= 1) / 2);
-
-  bool ok = !dp.is_universe();
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// is_universe() where both domain objects are universe.
-bool
-test06() {
-  Product dp(3);
-
-  bool ok = dp.is_universe();
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// is_topologically_closed() where the NNC Polyhedron is topologically
-// open.
-bool
-test07() {
-  Variable A(0);
-
-  Product dp(3);
-  dp.refine_with_constraint(A < 3);
-  dp.refine_with_congruence((A %= 0) / 3);
-
-#if NNC_Poly_Class || Box_Class
-  bool ok = !dp.is_topologically_closed();
-#else
-  dp.refine_with_constraint(A <= 3);
-  bool ok = dp.is_topologically_closed();
-#endif
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// is_topologically_closed() where the Polyhedron is topologically
-// closed.
-bool
-test08() {
-  Variable A(0);
-
-  Product dp(3);
-  dp.refine_with_constraint(A <= 3);
-  dp.refine_with_congruence((A %= 0) / 3);
-
-  bool ok = dp.is_topologically_closed();
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// is_topologically_closed() where the Polyhedron is topologically
-// open and the intersection is closed.
-bool
-test09() {
-  Variable A(0);
-
-  Product dp(3);
-  dp.refine_with_congruence((A %= 0) / 4);
-  dp.refine_with_constraint(A < 3);
-
-#if NNC_Poly_Class
-  bool ok = !dp.is_topologically_closed();
-#else
-  dp.refine_with_constraint(A <= 2);
-
-  bool ok = dp.is_topologically_closed();
-#endif
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// is_disjoint_from(dp), due to the Polyhedra.
-bool
-test10() {
-  Variable B(1);
-
-  Product dp1(12);
-  Product dp2(12);
-  dp1.refine_with_constraint(B < 2);
-  dp2.refine_with_constraint(B > 3);
-  bool ok = dp1.is_disjoint_from(dp2);
-
-  print_congruences(dp1, "*** dp1 congruences ***");
-  print_constraints(dp1, "*** dp1 constraints ***");
-  print_congruences(dp2, "*** dp2 congruences ***");
-  print_constraints(dp2, "*** dp2 constraints ***");
-
-  return ok;
-}
-
-// is_disjoint_from(dp), due to the Grids.
-bool
-test11() {
-  Variable A(0);
-
-  Product dp1(3);
-  dp1.refine_with_congruence((A %= 0) / 7);
-
-  Product dp2(3);
-  dp2.refine_with_congruence((A %= 1) / 7);
-
-  bool ok = dp1.is_disjoint_from(dp2);
-
-  print_congruences(dp1, "*** dp1 congruences ***");
-  print_constraints(dp1, "*** dp1 constraints ***");
-  print_congruences(dp2, "*** dp2 congruences ***");
-  print_constraints(dp2, "*** dp2 constraints ***");
-
-  return ok;
-}
-
-// is_disjoint_from(dp), due to either.
-bool
-test12() {
-  Variable A(0);
-
-  Product dp1(3);
-  dp1.refine_with_congruence((A %= 0) / 7);
-  Product dp2(3);
-  dp2.refine_with_congruence((A %= 1) / 7);
-  dp1.refine_with_constraint(A < 3);
-  dp2.refine_with_constraint(A > 3);
-
-  bool ok = dp1.is_disjoint_from(dp2);
-
-  print_congruences(dp1, "*** dp1 congruences ***");
-  print_constraints(dp1, "*** dp1 constraints ***");
-  print_congruences(dp2, "*** dp2 congruences ***");
-  print_constraints(dp2, "*** dp2 constraints ***");
-
-  return ok;
-}
-
-// is_disjoint_from(dp), due to both.
-bool
-test13() {
-  Variable A(0);
-
-  Product dp1(3);
-  dp1.refine_with_congruence((A %= 1) / 7);
-  Product dp2(3);
-  dp2.refine_with_congruence((A %= 1) / 14);
-  dp1.refine_with_constraint(A < 6);
-  dp2.refine_with_constraint(A > 3);
-
-  bool ok = !dp1.is_disjoint_from(dp2);
-
-  print_congruences(dp1, "*** dp1 congruences ***");
-  print_constraints(dp1, "*** dp1 constraints ***");
-  print_congruences(dp2, "*** dp2 congruences ***");
-  print_constraints(dp2, "*** dp2 constraints ***");
-
-  return ok;
-}
-
-// is_disjoint_from(dp), due to the intersection of the entire direct
-// products (i.e. the dp1 and dp2 polyhedron components intersect, as
-// do the grid components).
-bool
-test14() {
-  Variable A(0);
-  Variable B(1);
-
-  Product dp1(2);
-  dp1.refine_with_constraint(A <= 4);
-  dp1.refine_with_constraint(A >= 0);
-  dp1.refine_with_constraint(A - B <= 0);
-  dp1.refine_with_constraint(A - B >= 2);
-  dp1.refine_with_congruence((A %= 0) / 2);
-  dp1.refine_with_congruence((A %= 0) / 4);
-
-  Product dp2(2);
-  dp2.refine_with_constraint(A <= 4);
-  dp2.refine_with_constraint(A <= 0);
-  dp2.refine_with_constraint(A + B >= 4);
-  dp2.refine_with_constraint(A + B <= 6);
-  // Same grid as dp1.
-  dp2.refine_with_congruence((A %= 0) / 2);
-  dp2.refine_with_congruence((A %= 0) / 4);
-
-#if Box_Class
-  bool ok = !dp1.is_disjoint_from(dp2);
-#else
-  bool ok = dp1.is_disjoint_from(dp2);
-#endif
-
-  print_congruences(dp1, "*** dp1 congruences ***");
-  print_constraints(dp1, "*** dp1 constraints ***");
-  print_congruences(dp2, "*** dp2 congruences ***");
-  print_constraints(dp2, "*** dp2 constraints ***");
-
-  return ok;
-}
-
-// is_discrete(), due to grid.
-bool
-test15() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Product dp(3);
-  dp.refine_with_constraint(A == 1);
-  dp.refine_with_constraint(B == 2);
-  dp.refine_with_constraint(C <= 3);
-  dp.refine_with_congruence((C %= 0) / 3);
-
-  bool ok = dp.is_discrete();
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// is_discrete(), due to polyhedron.
-bool
-test16() {
-  Variable A(0);
-  Variable B(1);
-
-  Product dp(2);
-  dp.refine_with_constraint(A <= 3);
-  dp.refine_with_constraint(A >= 3);
-  dp.refine_with_constraint(B == 0);
-
-  bool ok = dp.is_discrete();
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// is_discrete() is false, as the components are not discrete
-// although the intersection is discrete..
-bool
-test17() {
-  Variable A(0);
-  Variable B(1);
-
-  Product dp(3);
-  dp.refine_with_congruence((A - B %= 0) / 0);
-  dp.refine_with_constraint(B >= 0);
-  dp.refine_with_constraint(B <= 0);
-
-  bool ok = !dp.is_discrete();
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// is_bounded(), due to polyhedron.
-bool
-test18() {
-  Variable A(0);
-  Variable B(1);
-
-  Product dp(2);
-  dp.refine_with_congruence((A %= 1) / 3);
-  dp.refine_with_constraint(A > 1);
-  dp.refine_with_constraint(A < 4);
-  dp.refine_with_constraint(B > 1);
-  dp.refine_with_constraint(B < 4);
-
-  bool ok = dp.is_bounded();
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// is_bounded(), due to grid.
-bool
-test19() {
-  Variable A(0);
-  Variable B(1);
-
-  Product dp(2);
-  dp.refine_with_congruence((A %= 0) / 0);
-  dp.refine_with_congruence((B %= 0) / 0);
-  dp.refine_with_constraint(B <= 0);
-
-  bool ok = dp.is_bounded();
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-} // namespace
-
-BEGIN_MAIN
-  DO_TEST(test01);
-  DO_TEST(test02);
-  DO_TEST(test03);
-  DO_TEST(test04);
-  DO_TEST(test05);
-  DO_TEST(test06);
-  DO_TEST(test07);
-  DO_TEST(test08);
-  DO_TEST(test09);
-  DO_TEST(test10);
-  DO_TEST(test11);
-  DO_TEST(test12);
-  DO_TEST(test13);
-  DO_TEST(test14);
-  DO_TEST(test15);
-  DO_TEST(test16);
-  DO_TEST(test17);
-  DO_TEST(test18);
-  DO_TEST(test19);
-END_MAIN
diff --git a/tests/Partially_Reduced_Product/directproduct3.cc b/tests/Partially_Reduced_Product/directproduct3.cc
deleted file mode 100644
index 6baf47e..0000000
--- a/tests/Partially_Reduced_Product/directproduct3.cc
+++ /dev/null
@@ -1,722 +0,0 @@
-/* Test Direct_Product<NNC_Polyhedron, Grid>.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include "ppl_test.hh"
-
-#define PH_IS_FIRST
-
-// ONE AND ONLY ONE OF THESE MUST BE 1
-#define NNC_Poly_Class 1
-#define C_Poly_Class 0
-#define BD_Shape_Class 0
-#define Octagonal_Shape_Class 0
-#define Box_Class 0
-
-#if Box_Class
-typedef TBox Poly;
-#endif
-
-#if Octagonal_Shape_Class
-typedef TOctagonal_Shape Poly;
-#endif
-
-#if BD_Shape_Class
-typedef BD_Shape<mpq_class> Poly;
-#endif
-
-#if NNC_Poly_Class
-typedef NNC_Polyhedron Poly;
-#endif
-
-#if C_Poly_Class
-typedef C_Polyhedron Poly;
-#endif
-
-#ifdef PH_IS_FIRST
-typedef Domain_Product<Poly, Grid>::Direct_Product Product;
-#else
-typedef Domain_Product<Grid, Poly>::Direct_Product Product;
-#endif
-
-namespace {
-
-// space_dimension()
-bool
-test01() {
-  Variable A(0);
-  Variable E(4);
-
-#if NNC_Poly_Class
-  Constraint_System cs(A + E < 9);
-#else
-  Constraint_System cs(A + E <= 9);
-#endif
-
-  Product dp(5);
-  dp.refine_with_constraints(cs);
-
-  bool ok = (dp.space_dimension() == 5);
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-
-// affine_dimension()
-bool
-test02() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Product dp(3);
-#if Box_Class
-  dp.refine_with_constraint(A <= 9);
-  dp.refine_with_constraint(A >= 9);
-#else
-  dp.refine_with_constraint(A - C >= 9);
-  dp.refine_with_constraint(A - C <= 9);
-#endif
-  dp.refine_with_constraint(B >= 2);
-
-  bool ok;
-
-#ifdef PH_IS_FIRST
-  ok = (dp.domain2().affine_dimension() == 3
-	&& dp.domain1().affine_dimension() == 2);
-#else
-  ok = (dp.domain1().affine_dimension() == 2
-	&& dp.domain2().affine_dimension() == 3);
-#endif
-  ok = (ok && dp.affine_dimension() == 2);
-
-  if (!ok)
-    return false;
-
-  dp.refine_with_constraint(C == 4);
-  dp.refine_with_constraint(B == 2);
-
-#ifdef PH_IS_FIRST
-  ok = (dp.domain2().affine_dimension() == 1
-	&& dp.domain1().affine_dimension() == 0);
-#else
-  ok = (dp.domain1().affine_dimension() == 1
-	&& dp.domain2().affine_dimension() == 0);
-#endif
-
-  ok &= (ok && dp.affine_dimension() == 0);
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// contains()
-bool
-test03() {
-  Variable A(0);
-
-  Product dp1(1);
-  dp1.refine_with_constraint(A <= 3);
-  dp1.refine_with_congruence((A %= 3) / 2);
-
-  Product dp2(1);
-  dp2.refine_with_constraint(A <= 3);
-  dp2.refine_with_congruence(A %= 3);
-
-  bool ok1 = !dp1.contains(dp2);
-
-  dp2.refine_with_congruence((A %= 1) / 4);
-
-  bool ok2 = dp1.contains(dp2);
-
-  dp1.refine_with_congruence((A == 1) / 0);
-  dp2.refine_with_constraint(A <= 2);
-  dp2.refine_with_constraint(A >= -1);
-  dp2.refine_with_congruence((A %= 1) / 3);
-
-  bool ok3 = !dp1.contains(dp2);
-
-  print_constraints(dp1, "*** dp1 constraints ***");
-  print_congruences(dp1, "*** dp1 congruences ***");
-
-  return ok1 && ok2 && ok3;
-}
-
-// strictly_contains()
-bool
-test04() {
-  Variable A(0);
-
-  Product dp1(1);
-  dp1.refine_with_constraint(A <= 2);
-  dp1.refine_with_congruence(A %= 0);
-
-  Product dp2(1);
-  dp2.refine_with_constraint(A <= 1);
-  dp2.refine_with_congruence(A %= 0);
-
-  bool ok1 = dp1.strictly_contains(dp2);
-
-  dp1.refine_with_constraint(A <= 1);
-  dp2.refine_with_congruence((A %= 1) /2);
-
-  bool ok2 = dp1.strictly_contains(dp2);
-
-  dp1.refine_with_congruence((A %= 1) /2);
-
-  bool ok3 = !dp1.strictly_contains(dp2);
-
-  print_congruences(dp1, "*** dp1 congruences ***");
-  print_constraints(dp1, "*** dp1 constraints ***");
-  print_congruences(dp2, "*** dp2 congruences ***");
-  print_constraints(dp2, "*** dp2 constraints ***");
-
-  return ok1 && ok2 && ok3;
-}
-
-// intersection_assign()
-bool
-test05() {
-  Variable A(0);
-  Variable B(1);
-
-  Product dp1(3);
-  dp1.refine_with_constraint(A >= 0);
-  dp1.refine_with_congruence((A %= 0) / 2);
-
-  Product dp2(3);
-  dp2.refine_with_constraint(A <= 0);
-  dp2.refine_with_congruence((A %= 0) / 7);
-
-  dp1.intersection_assign(dp2);
-
-  Product known_dp(3);
-  known_dp.refine_with_congruence((A %= 0) / 14);
-  known_dp.refine_with_constraint(A >= 0);
-  known_dp.refine_with_constraint(A <= 0);
-
-  bool ok = (dp1 == known_dp);
-
-  if (!ok) {
-    print_congruences(dp1, "*** dp1 congruences ***");
-    print_constraints(dp1, "*** dp1 constraints ***");
-    print_congruences(dp2, "*** dp2 congruences ***");
-    print_constraints(dp2, "*** dp2 constraints ***");
-    return ok;
-  }
-
-  dp1.refine_with_constraint(B <= 1);
-  dp2.refine_with_constraint(B >= 1);
-  dp1.intersection_assign(dp2);
-  ok = !dp1.is_empty();
-
-  if (!ok) {
-    print_congruences(dp1, "*** dp1 congruences ***");
-    print_constraints(dp1, "*** dp1 constraints ***");
-    print_congruences(dp2, "*** dp2 congruences ***");
-    print_constraints(dp2, "*** dp2 constraints ***");
-    return ok;
-  }
-
-  dp2.refine_with_constraint(B >= 2);
-  dp1.intersection_assign(dp2);
-  ok = dp1.is_empty();
-
-  if (!ok) {
-    print_congruences(dp1, "*** dp1 congruences ***");
-    print_constraints(dp1, "*** dp1 constraints ***");
-    print_congruences(dp2, "*** dp2 congruences ***");
-    print_constraints(dp2, "*** dp2 constraints ***");
-  }
-
-  return ok;
-}
-
-// upper_bound_assign(dp2)
-bool
-test06() {
-  Variable A(0);
-  Variable B(1);
-
-  Constraint_System cs(A == 9);
-
-  Product dp1(cs);
-
-  Product dp2(1);
-  dp2.refine_with_constraint(A == 19);
-
-  dp1.upper_bound_assign(dp2);
-
-  Product known_dp(1);
-  known_dp.refine_with_constraint(A >= 9);
-  known_dp.refine_with_constraint(A <= 19);
-  known_dp.refine_with_congruence((A %= 9) / 10);
-
-  bool ok = (dp1 == known_dp);
-
-  print_congruences(dp1, "*** dp1 congruences ***");
-  print_constraints(dp1, "*** dp1 constraints ***");
-  print_congruences(dp2, "*** dp2 congruences ***");
-  print_constraints(dp2, "*** dp2 constraints ***");
-
-  return ok;
-}
-
-// upper_bound_assign_if_exact()
-bool
-test07() {
-  Variable A(0);
-  Variable B(1);
-
-  Product dp1(3);
-  dp1.refine_with_constraint(B == 0);
-
-  Product dp2(3);
-  dp2.refine_with_constraint(B == 0);
-  dp2.refine_with_constraint(A == 8);
-
-  dp1.upper_bound_assign_if_exact(dp2);
-
-  Product known_dp(3);
-  known_dp.refine_with_constraint(B == 0);
-
-  bool ok = (dp1 == known_dp);
-
-  print_congruences(dp1, "*** dp1 congruences ***");
-  print_constraints(dp1, "*** dp1 constraints ***");
-  print_congruences(dp2, "*** dp2 congruences ***");
-  print_constraints(dp2, "*** dp2 constraints ***");
-
-  return ok;
-}
-
-// difference_assign()
-bool
-test08() {
-  Variable A(0);
-  Variable B(1);
-
-  Product dp1(3, UNIVERSE);
-  dp1.refine_with_constraint(A >= 0);
-  dp1.refine_with_congruence((A - B %= 0) / 2);
-
-  Product dp2(3);
-  dp2.refine_with_constraint(A >= 3);
-  dp2.refine_with_congruence((A - B %= 0) / 4);
-
-  dp1.difference_assign(dp2);
-  Product known_dp(3);
-  known_dp.refine_with_constraint(A >= 0);
-  known_dp.refine_with_constraint(A < 3);
-  known_dp.refine_with_congruence((A - B %= 2) / 4);
-
-  bool ok = (dp1 == known_dp);
-
-  print_congruences(dp1, "*** dp1 congruences ***");
-  print_constraints(dp1, "*** dp1 constraints ***");
-  print_congruences(dp2,  "*** dp2 congruences ***");
-  print_constraints(dp2, "*** dp2 constraints ***");
-
-  return ok;
-}
-
-// add_space_dimensions_and_embed()
-bool
-test09() {
-  Variable A(0);
-  Variable B(1);
-
-  Product dp1(2);
-  dp1.refine_with_constraint(A >= 0);
-  dp1.refine_with_congruence((A %= 0) / 2);
-
-  dp1.add_space_dimensions_and_embed(3);
-
-  Product known_dp(5);
-  known_dp.refine_with_congruence((A %= 0) / 2);
-  known_dp.refine_with_constraint(A >= 0);
-
-  bool ok = (dp1 == known_dp);
-
-  print_congruences(dp1, "*** dp1 congruences ***");
-  print_constraints(dp1, "*** dp1 constraints ***");
-
-  return ok;
-}
-
-// add_space_dimensions_and_project()
-bool
-test10() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Product dp1(2);
-  dp1.refine_with_constraint(A >= 0);
-  dp1.refine_with_congruence((A %= 0) / 2);
-
-  dp1.add_space_dimensions_and_project(1);
-
-  Product known_dp(3);
-  known_dp.refine_with_congruence((A %= 0) / 2);
-  known_dp.refine_with_constraint(A >= 0);
-  known_dp.refine_with_constraint(C == 0);
-
-  bool ok = (dp1 == known_dp);
-
-  print_congruences(dp1, "*** dp1 congruences ***");
-  print_constraints(dp1, "*** dp1 constraints ***");
-
-  return ok;
-}
-
-// concatenate_assign()
-bool
-test11() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-  Variable D(3);
-
-  Product dp1(2);
-  dp1.refine_with_constraint(A >= 0);
-  dp1.refine_with_congruence((A %= 0) / 2);
-
-  Product dp2(2);
-  dp2.refine_with_constraint(A <= 1);
-  dp2.refine_with_constraint(B >= 0);
-
-  dp1.concatenate_assign(dp2);
-
-  Product known_dp(4);
-  known_dp.refine_with_constraint(A >= 0);
-  known_dp.refine_with_congruence((A %= 0) / 2);
-  known_dp.refine_with_constraint(C <= 1);
-  known_dp.refine_with_constraint(D >= 0);
-
-  bool ok = (dp1 == known_dp);
-
-  print_congruences(dp1, "*** dp1 congruences ***");
-  print_constraints(dp1, "*** dp1 constraints ***");
-  print_congruences(dp2, "*** dp2 congruences ***");
-  print_constraints(dp2, "*** dp2 constraints ***");
-
-  return ok;
-}
-
-// remove_space_dimensions()
-bool
-test12() {
-  Variable A(0);
-  Variable C(2);
-  Variable D(3);
-
-  Product dp(4);
-  dp.refine_with_constraint(A >= 0);
-  dp.refine_with_congruence((A %= 0) / 2);
-  dp.refine_with_congruence((A - C %= 0) / 2);
-
-  Variables_Set vars;
-  vars.insert(C);
-  vars.insert(D);
-
-  dp.remove_space_dimensions(vars);
-
-  Product known_dp(2);
-  known_dp.refine_with_constraint(A >= 0);
-  known_dp.refine_with_congruence((A %= 0) / 2);
-
-  bool ok = (dp == known_dp);
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp ***");
-
-  return ok;
-}
-
-// remove_higher_space_dimensions()
-bool
-test13() {
-  Variable A(0);
-  Variable C(2);
-  Variable D(3);
-
-  Product dp(4);
-  dp.refine_with_constraint(A >= 0);
-  dp.refine_with_congruence((A %= 0) / 2);
-  dp.refine_with_congruence((A - C %= 0) / 2);
-
-  dp.remove_higher_space_dimensions(2);
-
-  Product known_dp(2);
-  known_dp.refine_with_constraint(A >= 0);
-  known_dp.refine_with_congruence((A %= 0) / 2);
-
-  bool ok = (dp == known_dp);
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// map_space_dimensions()
-bool
-test14() {
-  Variable A(0);
-  Variable B(1);
-
-  Product dp(2);
-  dp.refine_with_constraint(A >= 0);
-  dp.refine_with_congruence((A - B %= 0) / 2);
-
-  Partial_Function function;
-  function.insert(0, 1);
-  function.insert(1, 0);
-
-  dp.map_space_dimensions(function);
-
-  Product known_dp(2);
-  known_dp.refine_with_constraint(B >= 0);
-  known_dp.refine_with_congruence((B - A %= 0) / 2);
-
-  bool ok = (dp == known_dp);
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// expand_space_dimension()
-bool
-  test15() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-  Variable D(3);
-
-  Product dp(3);
-  dp.refine_with_congruence((A + B %= 2) / 7);
-  dp.refine_with_constraint(A >= 0);
-
-  dp.expand_space_dimension(A, 1);
-
-  Product known_dp(4);
-  known_dp.refine_with_congruence((A + B %= 2) / 7);
-  known_dp.refine_with_congruence((D + B %= 2) / 7);
-  known_dp.refine_with_constraint(A >= 0);
-  known_dp.refine_with_constraint(D >= 0);
-
-  bool ok = (dp == known_dp);
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// fold_space_dimensions()
-bool
-test16() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Product dp(3);
-  dp.refine_with_congruence((A %= 2) / 7);
-  dp.refine_with_congruence((B %= 2) / 14);
-  dp.refine_with_congruence((C %= 2) / 21);
-  dp.refine_with_constraint(A <= 5);
-  dp.refine_with_constraint(B <= 10);
-  dp.refine_with_constraint(C <= 0);
-  dp.refine_with_constraint(C >= 0);
-
-  Variables_Set to_fold;
-  to_fold.insert(A);
-  to_fold.insert(C);
-
-  dp.fold_space_dimensions(to_fold, B);
-
-  Product known_dp(1);
-  known_dp.refine_with_congruence((A %= 2) / 7);
-  known_dp.refine_with_constraint(A <= 10);
-
-  bool ok = (dp == known_dp);
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// time_elapse_assign(y)
-bool
-test17() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Product dp1(3);
-  dp1.refine_with_constraint(A >= 0);
-  dp1.refine_with_constraint(B >= 0);
-  dp1.refine_with_constraint(A + B >= 3);
-  dp1.refine_with_constraint(2*A - B == 0);
-  dp1.refine_with_constraint(3*A + C == 0);
-  dp1.refine_with_congruence(3*A %= 0);
-
-  Product dp2(3);
-  dp2.refine_with_constraint(7*C == 4);
-  dp2.refine_with_constraint(7*B == -1);
-  dp2.refine_with_constraint(7*A == 3);
-
-  dp1.time_elapse_assign(dp2);
-
-  Product known_dp(3);
-  known_dp.refine_with_constraint(5*A - 13*B - 7*C == 0);
-  known_dp.refine_with_constraint(3*A + C >= 0);
-  known_dp.refine_with_constraint(A + B >= 3);
-  known_dp.refine_with_constraint(4*A - 3*C >= 13);
-  known_dp.refine_with_congruence((65*A - B %= 0) / 7);
-  known_dp.refine_with_congruence(21*A %= 0);
-  known_dp.refine_with_constraint(A >= 0);
-
-  bool ok = (dp1 == known_dp);
-
-  print_congruences(dp1, "*** dp1.time_elapse_assign(dp1) congruences ***");
-  print_constraints(dp1, "*** dp1.time_elapse_assign(dp1) constraints ***");
-  print_congruences(dp2, "*** dp2.time_elapse_assign(dp2) congruences ***");
-  print_constraints(dp2, "*** dp2.time_elapse_assign(dp2) constraints ***");
-
-  return ok;
-}
-
-// topological_closure_assign
-bool
-test18() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Product dp(3);
-  dp.refine_with_constraint(B >= 0);
-  dp.refine_with_constraint(4*A + C == 0);
-  dp.refine_with_constraint(2*A - B == 0);
-  dp.refine_with_congruence(4*A %= 0);
-  dp.refine_with_constraint(A > 0);
-
-  dp.topological_closure_assign();
-
-  Product known_dp(3);
-  known_dp.refine_with_constraint(B >= 0);
-  known_dp.refine_with_constraint(4*A + C == 0);
-  known_dp.refine_with_constraint(2*A - B == 0);
-  known_dp.refine_with_congruence(4*A %= 0);
-  known_dp.refine_with_constraint(A >= 0);
-
-  bool ok = (dp.is_topologically_closed() && dp == known_dp);
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// widening_assign
-bool
-test19() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Product dp_prev(3);
-  dp_prev.refine_with_constraint(C == 0);
-  dp_prev.refine_with_constraint(A - B >= 1);
-  dp_prev.refine_with_constraint(A <= 2);
-  dp_prev.refine_with_constraint(B >= 0);
-  dp_prev.refine_with_congruence((B %= 0) / 2);
-  dp_prev.refine_with_congruence(3*A %= 0);
-
-  print_congruences(dp_prev, "*** dp_prev congruences ***");
-  print_constraints(dp_prev, "*** dp_prev constraints ***");
-
-  Product dp(3);
-  dp.refine_with_constraint(C == 0);
-  dp.refine_with_constraint(A <= 2);
-  dp.refine_with_constraint(B >= 0);
-  dp.refine_with_constraint(2*A - B >= 2);
-  dp.refine_with_constraint(B >= 0);
-  dp.refine_with_congruence(6*A %= 0);
-  dp.refine_with_congruence((B %= 0) / 2);
-
-  dp.upper_bound_assign(dp_prev);
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  dp.widening_assign(dp_prev);
-
-  Product known_dp(3);
-  known_dp.refine_with_constraint(C == 0);
-  known_dp.refine_with_constraint(A <= 2);
-  known_dp.refine_with_constraint(B >= 0);
-  known_dp.refine_with_congruence((B %= 0) / 2);
-
-  bool ok = (dp == known_dp);
-
-  print_congruences(dp, "*** dp.widening_assign(dp_prev) congruences ***");
-  print_constraints(dp, "*** dp.widening_assign(dp_prev) constraints ***");
-
-  return ok;
-}
-
-} // namespace
-
-BEGIN_MAIN
-  DO_TEST(test01);
-  DO_TEST(test02);
-  DO_TEST(test03);
-  DO_TEST(test04);
-  DO_TEST(test05);
-  DO_TEST(test06);
-#if C_Poly_Class
-  DO_TEST_F8A(test07);
-#else
-  DO_TEST(test07);
-#endif
-  DO_TEST(test08);
-  DO_TEST(test09);
-  DO_TEST(test10);
-  DO_TEST(test11);
-  DO_TEST(test12);
-  DO_TEST(test13);
-  DO_TEST(test14);
-  DO_TEST(test15);
-  DO_TEST(test16);
-  DO_TEST_F8(test17);
-  DO_TEST(test18);
-  DO_TEST(test19);
-END_MAIN
diff --git a/tests/Partially_Reduced_Product/directproduct4.cc b/tests/Partially_Reduced_Product/directproduct4.cc
deleted file mode 100644
index 3571a26..0000000
--- a/tests/Partially_Reduced_Product/directproduct4.cc
+++ /dev/null
@@ -1,358 +0,0 @@
-/* Test Direct_Product<NNC_Polyhedron, Grid>.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include "ppl_test.hh"
-
-#define PH_IS_FIRST
-
-// ONE AND ONLY ONE OF THESE MUST BE 1
-#define NNC_Poly_Class 1
-#define C_Poly_Class 0
-#define BD_Shape_Class 0
-#define Octagonal_Shape_Class 0
-#define Box_Class 0
-
-#if Box_Class
-typedef TBox Poly;
-#endif
-
-#if Octagonal_Shape_Class
-typedef TOctagonal_Shape Poly;
-#endif
-
-#if BD_Shape_Class
-typedef BD_Shape<mpq_class> Poly;
-#endif
-
-#if NNC_Poly_Class
-typedef NNC_Polyhedron Poly;
-#endif
-
-#if C_Poly_Class
-typedef C_Polyhedron Poly;
-#endif
-
-#ifdef PH_IS_FIRST
-typedef Domain_Product<Poly, Grid>::Direct_Product Product;
-#else
-typedef Domain_Product<Grid, Poly>::Direct_Product Product;
-#endif
-
-namespace {
-
-// affine_image()
-bool
-test01() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Product dp(3);
-  dp.refine_with_congruence((B %= 2) / 14);
-  dp.refine_with_constraint(A <= 5);
-  dp.refine_with_constraint(B <= 10);
-
-  dp.affine_image(A, B + C);
-
-  Product known_dp(3);
-  known_dp.refine_with_congruence((B %= 2) / 14);
-  known_dp.refine_with_constraint(A - B - C == 0);
-  known_dp.refine_with_constraint(A - C <= 10);
-  known_dp.refine_with_constraint(B <= 10);
-
-  bool ok = (dp == known_dp);
-
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  return ok;
-}
-
-// affine_preimage()
-bool
-test02() {
-  Variable A(0);
-  Variable B(1);
-
-  Product dp(3);
-  dp.refine_with_constraint(A - B == 0);
-  dp.refine_with_congruence((A %= 0) / 3);
-
-  dp.affine_preimage(A, B);
-
-  Product known_dp(3);
-  known_dp.refine_with_congruence((B %= 0) / 3);
-
-  bool ok = (dp == known_dp);
-
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  return ok;
-}
-
-#if !Box_Class
-// generalized_affine_image(v, EQUAL, e)
-bool
-test03() {
-  Variable A(0);
-  Variable B(1);
-
-  Product dp(3);
-  dp.refine_with_congruence(A %= 0);
-  dp.refine_with_congruence((A + B %= 0) / 2);
-  dp.refine_with_constraint(B >= 0);
-  dp.refine_with_constraint(A - B >= 0);
-
-  Linear_Expression le(A+2);
-
-  dp.generalized_affine_image(A, EQUAL, le);
-
-  Product known_dp(3);
-  known_dp.refine_with_congruence(A %= 0);
-  known_dp.refine_with_congruence((A + B %= 0) / 2);
-  known_dp.refine_with_constraint(B >= 0);
-  known_dp.refine_with_constraint(A - B >= 2);
-
-  bool ok = (dp == known_dp);
-
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  return ok;
-}
-
-// generalized_affine_image(v, EQUAL, e, d)
-bool
-test04() {
-  Variable A(0);
-  Variable B(1);
-
-  Product dp(3);
-  dp.refine_with_congruence(A %= 0);
-  dp.refine_with_congruence((A + B %= 0) / 2);
-  dp.refine_with_constraint(A >= 3);
-
-  dp.generalized_affine_image(B, EQUAL, A + 1, 2);
-
-  Product known_dp(3);
-  known_dp.refine_with_constraint(A - 2*B == -1);
-  known_dp.refine_with_congruence(A %= 0);
-  known_dp.refine_with_constraint(A >= 3);
-  known_dp.refine_with_constraint(B >= 2);
-
-  bool ok = (dp == known_dp);
-
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  return ok;
-}
-
-// generalized_affine_preimage(v, GREATER_OR_EQUAL, e)
-bool
-test05() {
-  Variable A(0);
-  Variable B(1);
-
-  Product dp(3);
-  dp.refine_with_constraint(A >= 0);
-  dp.refine_with_constraint(A <= 4);
-  dp.refine_with_constraint(B <= 5);
-  dp.refine_with_constraint(A <= B);
-  dp.refine_with_congruence(A %= B);
-
-  dp.generalized_affine_preimage(B, GREATER_OR_EQUAL, A+2);
-
-  Product known_dp(3);
-  known_dp.refine_with_constraint(0 <= A);
-  known_dp.refine_with_constraint(A <= 3);
-
-  bool ok = (dp == known_dp);
-
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  return ok;
-}
-
-// generalized_affine_preimage(v, EQUAL, e, d),
-bool
-test06() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Product dp(3);
-  dp.refine_with_congruence(A %= 0);
-  dp.refine_with_congruence((B %= 0) / 2);
-
-  dp.generalized_affine_preimage(B, EQUAL, A + B, 1);
-
-  Product known_dp(3);
-  known_dp.refine_with_congruence((A + B %= 0) / 2);
-  known_dp.refine_with_congruence(A %= 0);
-
-  bool ok = (dp == known_dp);
-
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  return ok;
-}
-
-// generalized_affine_image(lhs, relsym, rhs)
-bool
-test07() {
-  Variable A(0);
-  Variable B(1);
-
-  Product dp(3);
-  dp.refine_with_congruence(A %= 0);
-  dp.refine_with_constraint(B >= 0);
-  dp.refine_with_constraint(A - B >= 1);
-
-  dp.generalized_affine_image(Linear_Expression(2), LESS_OR_EQUAL, A + B);
-
-  Product known_dp(3);
-  known_dp.refine_with_congruence(A %= 0);
-  known_dp.refine_with_constraint(B >= 0);
-  known_dp.refine_with_constraint(A - B >= 1);
-  known_dp.refine_with_constraint(2 <= A + B);
-
-  bool ok = (dp == known_dp);
-
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  return ok;
-}
-
-// generalized_affine_image(lhs, EQUAL, rhs),
-// refine_with_congruences(cgs)
-bool
-test08() {
-  Variable A(0);
-  Variable B(1);
-
-  Congruence_System cs;
-  cs.insert((A %= 0) / 1);
-  cs.insert((B %= 0) / 2);
-
-  Product dp(2);
-  dp.refine_with_congruences(cs);
-  dp.refine_with_constraint(A <= 3);
-
-  dp.generalized_affine_image(A + 2*B, EQUAL, A - B);
-
-  Product known_dp(2);
-  known_dp.refine_with_congruence((A + 2*B %= 0) / 1);
-
-  bool ok = (dp == known_dp);
-
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  return ok;
-}
-
-// generalized_affine_preimage(lhs, relsym, rhs), refine_with_constraints(cs)
-bool
-test09() {
-  Variable A(0);
-  Variable B(1);
-
-  Constraint_System cs;
-  cs.insert(A >= 0);
-  cs.insert(A <= 4);
-  cs.insert(B <= 5);
-  cs.insert(A <= B);
-
-  Product dp(3);
-  dp.refine_with_constraints(cs);
-  dp.refine_with_congruence(A %= B);
-
-  dp.generalized_affine_preimage(1*B, GREATER_OR_EQUAL, A+2);
-
-  Product known_dp(3);
-  known_dp.refine_with_constraint(0 <= A);
-  known_dp.refine_with_constraint(A <= 3);
-
-  bool ok = (dp == known_dp);
-
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  return ok;
-}
-
-// generalized_affine_preimage(lhs, EQUAL, rhs)
-bool
-test10() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Product dp(3);
-  dp.refine_with_constraint(A - B == 1);
-
-  dp.generalized_affine_preimage(A - B, EQUAL, 2*A - 2*B);
-
-  Product known_dp(3);
-  known_dp.refine_with_congruence((2*A - 2*B %= 1) / 0);
-
-#if BD_Shape_Class || Octagonal_Shape_Class
-  #ifdef PH_IS_FIRST
-    bool ok = (dp.domain2() == known_dp.domain2()
-	       && dp.domain1().is_universe());
-  #else
-    bool ok = (dp.domain1() == known_dp.domain1()
-	       && dp.domain2().is_universe());
-  #endif
-#else
-  bool ok = (dp == known_dp);
-#endif
-
-
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  return ok;
-}
-#endif
-
-} // namespace
-
-BEGIN_MAIN
-  DO_TEST(test01);
-  DO_TEST(test02);
-#if !Box_Class
-  DO_TEST(test03);
-  DO_TEST(test04);
-  DO_TEST(test05);
-  DO_TEST(test06);
-  DO_TEST(test07);
-  DO_TEST(test08);
-  DO_TEST(test09);
-  DO_TEST(test10);
-#endif
-END_MAIN
diff --git a/tests/Partially_Reduced_Product/directproduct5.cc b/tests/Partially_Reduced_Product/directproduct5.cc
deleted file mode 100644
index 49ae152..0000000
--- a/tests/Partially_Reduced_Product/directproduct5.cc
+++ /dev/null
@@ -1,601 +0,0 @@
-/* Test Grid::congruences().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include "ppl_test.hh"
-
-using namespace IO_Operators;
-
-// ONE AND ONLY ONE OF THESE MUST BE 1
-#define NNC_Poly_Class 1
-#define C_Poly_Class 0
-#define BD_Shape_Class 0
-#define Octagonal_Shape_Class 0
-#define Box_Class 0
-
-#if Box_Class
-typedef TBox Poly;
-#endif
-
-#if Octagonal_Shape_Class
-typedef TOctagonal_Shape Poly;
-#endif
-
-#if BD_Shape_Class
-typedef BD_Shape<mpq_class> Poly;
-#endif
-
-#if NNC_Poly_Class
-typedef NNC_Polyhedron Poly;
-#endif
-
-#if C_Poly_Class
-typedef C_Polyhedron Poly;
-#endif
-
-#ifdef PH_IS_FIRST
-typedef Domain_Product<Poly, Grid>::Direct_Product Product;
-#else
-typedef Domain_Product<Grid, Poly>::Direct_Product Product;
-#endif
-
-namespace {
-
-// refine_with_constraints
-bool
-test01() {
-
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Constraint_System cs;
-  cs.insert(A >= 0);
-  cs.insert(B == 0);
-
-  Product dp(2);
-
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  dp.refine_with_constraints(cs);
-
-  Product known_dp(2);
-  known_dp.refine_with_constraint(A >= 0);
-  known_dp.refine_with_constraint(B == 0);
-
-  bool ok = (dp == known_dp);
-
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  return ok;
-}
-
-// refine_with_constraints
-bool
-test02() {
-  Variable A(0);
-  Variable B(1);
-
-  Constraint_System cs;
-  cs.insert(A + B <= 0);
-
-  Product dp(2);
-
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  dp.refine_with_constraints(cs);
-
-  Product known_dp(2);
-  known_dp.refine_with_constraint(A + B <= 0);
-
-  bool ok = (dp == known_dp);
-
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  return ok;
-}
-
-// refine_with_constraints
-bool
-test03() {
-  Variable A(0);
-  Variable B(1);
-
-  Constraint_System cs;
-  cs.insert(A >= 0);
-  cs.insert(A + B == 0);
-
-  Product dp(2);
-
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  dp.refine_with_constraints(cs);
-  bool ok = !dp.is_empty();
-
-  Product known_dp(2);
-  known_dp.refine_with_constraint(A >= 0);
-  known_dp.refine_with_constraint(A + B == 0);
-
-  ok = ok && (dp == known_dp);
-
-  return ok;
-}
-
-// refine_with_constraints
-bool
-test04() {
-  Variable A(0);
-  Variable B(1);
-
-  Constraint_System cs;
-  cs.insert(B >= 0);
-  cs.insert(A - B == 0);
-
-  Product dp(2);
-
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  dp.refine_with_constraints(cs);
-  bool ok = !dp.is_empty();
-
-  Product known_dp(2);
-  known_dp.refine_with_constraint(B >= 0);
-  known_dp.refine_with_constraint(A - B == 0);
-
-  ok = ok && (dp == known_dp);
-
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  return ok;
-}
-
-// refine_with_congruences
-bool
-test05() {
-
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Congruence_System cgs;
-  cgs.insert((A %= 0) / 2);
-  cgs.insert((B == 0) / 2);
-
-  Product dp(2);
-
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  dp.refine_with_congruences(cgs);
-
-  Product known_dp(2);
-  known_dp.refine_with_congruence((A %= 0) / 2);
-  known_dp.refine_with_congruence((B == 0) / 2);
-
-  bool ok = (dp == known_dp);
-
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  return ok;
-}
-
-// refine_with_congruences
-bool
-test06() {
-  Variable A(0);
-  Variable B(1);
-
-  Congruence_System cgs;
-  cgs.insert((A %= 0) / 2);
-  cgs.insert(A + B == 0);
-
-  Product dp(2);
-
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  dp.refine_with_congruences(cgs);
-  bool ok = !dp.is_empty();
-
-  Product known_dp(2);
-  known_dp.refine_with_congruence((A %= 0) / 2);
-  known_dp.refine_with_constraint(A + B == 0);
-
-  ok = ok && (dp == known_dp);
-
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  return ok;
-}
-
-// refine_with_congruences
-bool
-test07() {
-  Variable A(0);
-  Variable B(1);
-
-  Congruence_System cgs;
-  cgs.insert((A + B %= 0) / 2);
-
-  Product dp(2);
-
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  dp.refine_with_congruences(cgs);
-
-  Product known_dp(2);
-  known_dp.refine_with_congruence((A + B %= 0) / 2);
-
-  bool ok = (dp == known_dp);
-
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  return ok;
-}
-
-// refine_with_congruences
-bool
-test08() {
-  Variable A(0);
-  Variable B(1);
-
-  Congruence_System cgs;
-  cgs.insert((B %= 0) / 2);
-  cgs.insert(A - B == 0);
-
-  Product dp(2);
-
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  dp.refine_with_congruences(cgs);
-  bool ok = !dp.is_empty();
-
-  Product known_dp(2);
-  known_dp.refine_with_congruence((B %= 0) / 2);
-  known_dp.refine_with_constraint(A - B == 0);
-
-  ok = ok &&(dp == known_dp);
-
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  return ok;
-}
-
-#if !Box_Class
-// relation_with a generator
-bool
-test09() {
-  Variable A(0);
-  Variable B(1);
-
-  Generator pnt(point(A + B));
-
-  Product dp(2);
-
-  bool ok = Poly_Gen_Relation::subsumes() == dp.relation_with(pnt);
-
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  return ok;
-}
-
-// relation_with a constraint
-bool
-test10() {
-  Variable A(0);
-  Variable B(1);
-
-  Constraint c(A == 2);
-
-  Product dp(2);
-
-  bool ok = Poly_Con_Relation::nothing() == dp.relation_with(c);
-
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  return ok;
-}
-
-// Empty product; relation_with a constraint.
-bool
-test11() {
-  Variable A(0);
-  Variable B(1);
-
-  Product dp(2);
-  dp.refine_with_constraint(A == 1);
-  dp.refine_with_congruence((A %= 2) / 0);
-
-  bool ok = (dp.relation_with(B == 0)
-	     == (Poly_Con_Relation::is_included()
-		 && Poly_Con_Relation::is_disjoint()
-	         && Poly_Con_Relation::saturates())
-	     && dp.relation_with(B >= 0)
-	     == (Poly_Con_Relation::is_included()
-		 && Poly_Con_Relation::is_disjoint()
-	         && Poly_Con_Relation::saturates()));
-
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  return ok;
-}
-#endif
-
-#if !Octagonal_Shape_Class && !BD_Shape_Class && !Box_Class
-// A product in 3D; relation_with a constraint.
-bool
-test12() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Product dp(3);
-  dp.refine_with_constraint(3*A + 3*B + C == 7);
-  dp.refine_with_constraint(3*A - C >= 2);
-  dp.refine_with_congruence(6*A + 3*B %= 0);
-
-  Poly_Con_Relation rel1 = dp.domain1().relation_with(2*A + B >= 3);
-  Poly_Con_Relation rel2 = dp.domain2().relation_with(2*A + B >= 3);
-#ifdef PH_IS_FIRST
-  bool okdp1 = (rel1 == Poly_Con_Relation::is_included());
-  bool okdp2 = (rel2 == Poly_Con_Relation::strictly_intersects());
-#else
-  bool okdp1 = (rel1 == Poly_Con_Relation::strictly_intersects());
-  bool okdp2 = (rel2 == Poly_Con_Relation::is_included());
-#endif
-
-  if (!okdp1 || !okdp2) {
-    nout << "dp.domain1().relation_with(2*A + B >= 3) == " << rel1 << endl;
-    nout << "dp.domain2().relation_with(2*A + B >= 3) == " << rel2 << endl;
-    print_constraints(dp, "*** dp constraints ***");
-    print_congruences(dp, "*** dp congruences ***");
-    return false;
-  }
-
-  Poly_Con_Relation rel3 = dp.relation_with(A + B + C == 0);
-  Poly_Con_Relation rel4 = dp.relation_with(A + B == 0);
-  Poly_Con_Relation rel5 = dp.relation_with(A == 0);
-  Poly_Con_Relation rel6 = dp.relation_with(Linear_Expression(0) == 0);
-  Poly_Con_Relation rel7 = dp.relation_with(2*A + B >= 3);
-  Poly_Con_Relation rel8 = dp.relation_with(3*A + 3*B + C >= 7);
-  bool ok = (rel3 == Poly_Con_Relation::nothing()
-	     && rel4 == Poly_Con_Relation::nothing()
-	     && rel5 == Poly_Con_Relation::nothing()
-	     && rel6 == (Poly_Con_Relation::is_included()
-			 && Poly_Con_Relation::saturates())
-	     && rel7 == Poly_Con_Relation::is_included()
-	     && rel8 == (Poly_Con_Relation::is_included()
-			 && Poly_Con_Relation::saturates()));
-
-  nout << "dp.relation_with(A + B + C %= 0) == " << rel3 << endl;
-  nout << "dp.relation_with(A + B %= 0) == " << rel4 << endl;
-  nout << "dp.relation_with(A %= 0) == " << rel5 << endl;
-  nout << "dp.relation_with(Linear_Expression(0) %= 0) == " << rel6 << endl;
-  nout << "dp.relation_with(2*A + B %= 3) == " << rel7 << endl;
-  nout << "dp.relation_with(3*A + 3*B + C %= 7) == " << rel8 << endl;
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-  return ok;
-}
-
-// A product where the components strictly intersect the constraint.
-bool
-test13() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Product dp(3);
-  dp.refine_with_constraint(C == 0);
-  dp.refine_with_congruence(6*A + 3*B %= 0);
-
-  Poly_Con_Relation rel1 = dp.domain1().relation_with(2*A + B >= 3);
-  Poly_Con_Relation rel2 = dp.domain2().relation_with(2*A + B >= 3);
-  bool okdp1 = (rel1 == Poly_Con_Relation::strictly_intersects());
-  bool okdp2 = (rel2 == Poly_Con_Relation::strictly_intersects());
-
-  if (!okdp1 || !okdp2) {
-    nout << "dp.domain1().relation_with(2*A + B >= 3) == " << rel1 << endl;
-    nout << "dp.domain2().relation_with(2*A + B >= 3) == " << rel2 << endl;
-    print_constraints(dp, "*** dp constraints ***");
-    print_congruences(dp, "*** dp congruences ***");
-    return false;
-  }
-
-  Poly_Con_Relation rel3 = dp.relation_with(2*A + B >= 3);
-  bool ok = (rel3 == Poly_Con_Relation::nothing());
-
-  nout << "dp.relation_with(2*A + B >= 3) == " << rel3 << endl;
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  return ok;
-}
-
-// relation_with a congruence
-bool
-test14() {
-  Variable A(0);
-  Variable B(1);
-
-  Congruence cg(A %= 2);
-
-  Product dp(2);
-
-  Poly_Con_Relation rel = dp.relation_with(cg);
-  bool ok = Poly_Con_Relation::nothing() == rel;
-
-  nout << "dp.relation_with(A %= 2) == " << rel << endl;
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  return ok;
-}
-
-// Empty product; relation_with a congruence.
-bool
-test15() {
-  Variable A(0);
-  Variable B(1);
-
-  Product dp(2);
-  dp.refine_with_constraint(A == 1);
-  dp.refine_with_congruence((A %= 2) / 0);
-
-  Poly_Con_Relation rel = dp.relation_with(B %= 0);
-  bool ok = (rel == (Poly_Con_Relation::is_included()
-		 && Poly_Con_Relation::is_disjoint()
-	         && Poly_Con_Relation::saturates()));
-
-  nout << "dp.relation_with(B %= 0) == " << rel << endl;
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  return ok;
-}
-
-// A product in 3D; relation_with a congruence.
-bool
-test16() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Product dp(3);
-  dp.refine_with_constraint(3*A + 3*B + C == 7);
-  dp.refine_with_constraint(3*A - C >= 2);
-  dp.refine_with_congruence((2*A + B %= 0) / 2);
-
-  Poly_Con_Relation rel1 = dp.domain1().relation_with(2*A + B %= 3);
-  Poly_Con_Relation rel2 = dp.domain2().relation_with(2*A + B %= 3);
-#ifdef PH_IS_FIRST
-  bool okdp1 = (rel1 == Poly_Con_Relation::strictly_intersects());
-  bool okdp2 = (rel2 == Poly_Con_Relation::is_included());
-#else
-  bool okdp1 = (rel2 == Poly_Con_Relation::strictly_intersects());
-  bool okdp2 = (rel1 == Poly_Con_Relation::is_included());
-#endif
-
-  if (!okdp2 || !okdp1) {
-    nout << "dp.domain1().relation_with(2*A + B %= 3) == " << rel1 << endl;
-    nout << "dp.domain2().relation_with(2*A + B %= 3) == " << rel2 << endl;
-    print_constraints(dp, "*** dp constraints ***");
-    print_congruences(dp, "*** dp congruences ***");
-    return false;
-  }
-
-  Poly_Con_Relation rel3 = dp.relation_with(A + B + C %= 0);
-  Poly_Con_Relation rel4 = dp.relation_with(A + B %= 0);
-  Poly_Con_Relation rel5 = dp.relation_with(A %= 0);
-  Poly_Con_Relation rel6 = dp.relation_with(Linear_Expression(0) %= 0);
-  Poly_Con_Relation rel7 = dp.relation_with(2*A + B %= 3);
-  Poly_Con_Relation rel8 = dp.relation_with(3*A + 3*B + C %= 7);
-  bool ok = (rel3 == Poly_Con_Relation::nothing()
-	     && rel4 == Poly_Con_Relation::nothing()
-	     && rel5 == Poly_Con_Relation::nothing()
-	     && rel6 == (Poly_Con_Relation::is_included()
-			 && Poly_Con_Relation::saturates())
-	     && rel7 == Poly_Con_Relation::is_included()
-	     && rel8 == (Poly_Con_Relation::is_included()
-			 && Poly_Con_Relation::saturates()));
-
-  nout << "dp.relation_with(A + B + C %= 0) == " << rel3 << endl;
-  nout << "dp.relation_with(A + B %= 0) == " << rel4 << endl;
-  nout << "dp.relation_with(A %= 0) == " << rel5 << endl;
-  nout << "dp.relation_with(Linear_Expression(0) %= 0) == " << rel6 << endl;
-  nout << "dp.relation_with(2*A + B %= 3) == " << rel7 << endl;
-  nout << "dp.relation_with(3*A + 3*B + C %= 7) == " << rel8 << endl;
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-
-  return ok;
-}
-
-// A product where the components strictly intersect the congruence.
-bool
-test17() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Product dp(3);
-  dp.refine_with_constraint(C == 0);
-  dp.refine_with_congruence(6*A + 3*B %= 0);
-
-  bool okdp1 = (dp.domain1().relation_with(2*A + B %= 3)
-		== Poly_Con_Relation::strictly_intersects());
-
-  bool okdp2 = (dp.domain2().relation_with(2*A + B %= 3)
-	       == Poly_Con_Relation::strictly_intersects());
-
-  Poly_Con_Relation rel = dp.relation_with(2*A + B %= 3);
-  bool ok = (okdp1 && okdp2
-	     && rel == Poly_Con_Relation::nothing());
-
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp, "*** dp congruences ***");
-  nout << "dp.relation_with(2*A + B %= 3) == " << rel << endl;
-
-  return ok;
-}
-#endif
-
-} // namespace
-
-BEGIN_MAIN
-  DO_TEST(test01);
-  DO_TEST(test02);
-  DO_TEST(test03);
-  DO_TEST(test04);
-  DO_TEST(test05);
-  DO_TEST(test06);
-  DO_TEST(test07);
-  DO_TEST(test08);
-#if !Box_Class
-  DO_TEST(test09);
-  DO_TEST(test10);
-  DO_TEST(test11);
-#endif
-#if !BD_Shape_Class && !Octagonal_Shape_Class && !Box_Class
-  DO_TEST(test12);
-  DO_TEST(test13);
-  DO_TEST(test14);
-  DO_TEST(test15);
-  DO_TEST(test16);
-  DO_TEST(test17);
-#endif
-END_MAIN
diff --git a/tests/Partially_Reduced_Product/directproduct6.cc b/tests/Partially_Reduced_Product/directproduct6.cc
deleted file mode 100644
index bb6d5f6..0000000
--- a/tests/Partially_Reduced_Product/directproduct6.cc
+++ /dev/null
@@ -1,700 +0,0 @@
-/* Test Grid::congruences().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ .
-
-Tests bounds_from_above(), bounds_from_below(), maximize() and minimize()
-for the product domains */
-
-#include "ppl_test.hh"
-
-#define PH_IS_FIRST
-
-// ONE AND ONLY ONE OF THESE MUST BE 1
-#define NNC_Poly_Class 1
-#define C_Poly_Class 0
-#define BD_Shape_Class 0
-#define Octagonal_Shape_Class 0
-#define Box_Class 0
-
-#if Box_Class
-typedef TBox Poly;
-#endif
-
-#if Octagonal_Shape_Class
-typedef TOctagonal_Shape Poly;
-#endif
-
-#if BD_Shape_Class
-typedef BD_Shape<mpq_class> Poly;
-#endif
-
-#if NNC_Poly_Class
-typedef NNC_Polyhedron Poly;
-#endif
-
-#if C_Poly_Class
-typedef C_Polyhedron Poly;
-#endif
-
-#ifdef PH_IS_FIRST
-typedef Domain_Product<Poly, Grid>::Direct_Product Product;
-#else
-typedef Domain_Product<Grid, Poly>::Direct_Product Product;
-#endif
-
-namespace {
-
-// Empty.
-bool
-test01() {
-  Product dp(7, EMPTY);
-
-  bool ok = (dp.bounds_from_above(Linear_Expression(0))
-	     && dp.bounds_from_below(Linear_Expression(0)));
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// Zero dimension empty.
-bool
-test02() {
-  Product dp(0, EMPTY);
-
-  bool ok = (dp.bounds_from_above(Linear_Expression(3))
-	     && dp.bounds_from_below(Linear_Expression(3)));
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// Zero dimension universe.
-bool
-test03() {
-  Product dp(0);
-
-  bool ok = (dp.bounds_from_above(Linear_Expression(1))
-	     && dp.bounds_from_below(Linear_Expression(1)));
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// Point.
-bool
-test04() {
-  Variable A(0);
-  Variable B(1);
-
-  Product dp(2);
-  dp.refine_with_constraint(A == 1);
-  dp.refine_with_constraint(3*B == 2);
-
-  Linear_Expression le = A + B;
-  bool ok = dp.bounds_from_above(le)
-    && dp.bounds_from_below(le);
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// only one component is bounded.
-bool
-test05() {
-  Variable A(0);
-  Variable B(1);
-
-  Product dp(2);
-#if Box_Class
-  dp.refine_with_constraint(A >= 1);
-  dp.refine_with_constraint(A <= 1);
-  dp.refine_with_constraint(B >= 1);
-  dp.refine_with_constraint(B <= 0);
-#else
-  dp.refine_with_constraint(A - B >= 1);
-  dp.refine_with_constraint(A - B <= 1);
-#endif
-  dp.refine_with_congruence(3*B %= 2);
-
-  Linear_Expression le = A - B;
-  bool ok = dp.bounds_from_above(le)
-    && dp.bounds_from_below(le);
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// Line and neither component is bounded.
-bool
-test06() {
-  Variable A(0);
-  Variable B(1);
-
-  Product dp(2);
-  dp.refine_with_constraint(B == 1);
-
-  Linear_Expression le = 2*A - B;
-
-  bool ok = !dp.bounds_from_above(le)
-    && !dp.bounds_from_below(le);
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// Empty. maximize() and minimize()
-bool
-test07() {
-  Product dp(7, EMPTY);
-
-  Coefficient extr_n;
-  Coefficient extr_d;
-  bool dummy;
-
-  bool ok = (!dp.maximize(Linear_Expression(0), extr_n, extr_d, dummy));
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// Zero dimension empty.
-bool
-test08() {
-  Product dp(0, EMPTY);
-
-  Coefficient extr_n;
-  Coefficient extr_d;
-  bool dummy;
-  Generator pnt(point());
-
-  bool ok = !dp.maximize(Linear_Expression(0), extr_n, extr_d, dummy)
-    && !dp.maximize(Linear_Expression(0), extr_n, extr_d, dummy, pnt);
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// Zero dimension universe.
-bool
-test09() {
-  Product dp(0);
-
-  Coefficient extr_n, extr_d;
-  bool dummy;
-  Generator pnt(point());
-
-  bool ok = dp.maximize(Linear_Expression(0), extr_n, extr_d, dummy)
-    && dp.maximize(Linear_Expression(0), extr_n, extr_d, dummy, pnt);
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// Point.
-bool
-test10() {
-  Variable A(0);
-  Variable B(1);
-
-  Product dp(2);
-  dp.refine_with_constraint(A == 1);
-  dp.refine_with_constraint(3*B == 2);
-
-  Linear_Expression le = A + B;
-
-  Coefficient max_n;
-  Coefficient max_d;
-  Coefficient min_n;
-  Coefficient min_d;
-  Generator pnt_max(point());
-  Generator pnt_min(point());
-  Generator known_pnt(point(3*A + 2*B, 3));
-  bool max;
-  bool min;
-
-  bool ok = dp.maximize(le, max_n, max_d, max)
-    && dp.minimize(le, min_n, min_d, min)
-    && dp.maximize(le, max_n, max_d, max, pnt_max)
-    && dp.minimize(le, min_n, min_d, min, pnt_min);
-
-  ok = ok
-    && max && min && max_n == 5 && max_d == 3 && min_n == 5 && min_d == 3
-    && pnt_max == known_pnt && pnt_min == known_pnt;
-
-  print_generator(pnt_max, "*** max point ***");
-  print_generator(pnt_min, "*** min point ***");
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// only one component is bounded.
-bool
-test11() {
-  Variable A(0);
-  Variable B(1);
-
-  Product dp(2);
-#if Box_Class
-  dp.refine_with_constraint(A >= 2);
-  dp.refine_with_constraint(A <= 2);
-  dp.refine_with_constraint(B >= 1);
-  dp.refine_with_constraint(B <= 1);
-#else
-  dp.refine_with_constraint(A - B >= 1);
-  dp.refine_with_constraint(A - B <= 1);
-#endif
-  dp.refine_with_congruence(3*B %= 2);
-;
-  Linear_Expression le = A - B;
-
-  Coefficient max_n;
-  Coefficient max_d;
-  Coefficient min_n;
-  Coefficient min_d;
-  Generator pnt_max(point());
-  Generator pnt_min(point());
-  bool max;
-  bool min;
-
-  bool ok = dp.maximize(le, max_n, max_d, max)
-    && dp.minimize(le, min_n, min_d, min)
-    && dp.maximize(le, max_n, max_d, max, pnt_max)
-    && dp.minimize(le, min_n, min_d, min, pnt_min);
-
-  ok = ok
-    && max && min && max_n == 1 && max_d == 1 && min_n == 1 && min_d == 1
-    && pnt_max == pnt_min;
-
-  print_generator(pnt_max, "*** maximum point ***");
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// Line and neither component is bounded.
-bool
-test12() {
-  Variable A(0);
-  Variable B(1);
-
-  Product dp(2);
-  dp.refine_with_constraint(B == 1);
-
-  Linear_Expression le = 2*A - B;
-
-  Coefficient max_n;
-  Coefficient max_d;
-  Coefficient min_n;
-  Coefficient min_d;
-  Generator pnt_max(point());
-  Generator pnt_min(point());
-  bool max;
-  bool min;
-
-  bool ok = !dp.maximize(le, max_n, max_d, max)
-    && !dp.minimize(le, min_n, min_d, min)
-    && !dp.maximize(le, max_n, max_d, max, pnt_max)
-    && !dp.minimize(le, min_n, min_d, min, pnt_min);
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// only one component is strictly bounded.
-bool
-test13() {
-  Variable A(0);
-  Variable B(1);
-
-  Product dp(2);
-
-#if NNC_Poly_Class
-  dp.refine_with_constraint(A - B > 0);
-  dp.refine_with_constraint(A - B < 1);
-#else
-#if !Box_Class
-  dp.refine_with_constraint(A - B >= 0);
-  dp.refine_with_constraint(A - B <= 1);
-#else
-  dp.refine_with_constraint(A >= 2);
-  dp.refine_with_constraint(A <= 2);
-  dp.refine_with_constraint(B <= 2);
-  dp.refine_with_constraint(B >= 1);
-#endif
-#endif
-  dp.refine_with_congruence(3*B %= 2);
-
-  Linear_Expression le = A - B;
-
-  Coefficient max_n;
-  Coefficient max_d;
-  Coefficient min_n;
-  Coefficient min_d;
-  Generator pnt_max(point());
-  Generator pnt_min(point());
-
-  bool max;
-  bool min;
-
-  bool ok = dp.maximize(le, max_n, max_d, max)
-    && dp.minimize(le, min_n, min_d, min)
-    && dp.maximize(le, max_n, max_d, max, pnt_max)
-    && dp.minimize(le, min_n, min_d, min, pnt_min);
-
-#if NNC_Poly_Class
-  ok = ok && !max && !min;
-#else
-  ok = ok && max && min;
-#endif
-
-  ok = ok && max_n == 1 && max_d == 1 && min_n == 0 && min_d == 1;
-
-  print_generator(pnt_max, "*** maximum point ***");
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-#if !Box_Class
-// Non-empty product. bounded_affine_image/3
-bool
-test14() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Product dp(3);
-  dp.refine_with_congruence((A ==  0) / 0);
-  dp.refine_with_congruence((B ==  0) / 0);
-  dp.refine_with_congruence((C == -2) / 0);
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  dp.bounded_affine_image(A, 7-B, B+3);
-
-  Product known_dp(3);
-  known_dp.refine_with_constraint(C == -2);
-  known_dp.refine_with_constraint(B == 0);
-  known_dp.refine_with_constraint(A <= 3);
-  known_dp.refine_with_constraint(A - B >= 7);
-
-  bool ok = (dp == known_dp);
-
-  print_congruences(dp,
-     "*** dp.bounded_affine_image(A, 7-B, B+3) congruences ***");
-  print_constraints(dp,
-     "*** dp.bounded_affine_image(A, 7-B, B+3) constraints ***");
-
-  return ok;
-}
-
-// Empty product component. bounded_affine_image/3
-bool
-test15() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Product dp(3);
-  dp.refine_with_constraint(A ==  0);
-  dp.refine_with_constraint(A ==  1);
-  dp.refine_with_constraint(C == -2);
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  dp.bounded_affine_image(A, 7-B, B+3);
-
-  Product known_dp(3, EMPTY);
-
-  bool ok = (dp == known_dp);
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// Non-empty product. bounded_affine_preimage/3
-bool
-test16() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Product dp(3);
-  dp.refine_with_congruence((A ==  0) / 0);
-  dp.refine_with_congruence((B ==  0) / 0);
-  dp.refine_with_congruence((C == -2) / 0);
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  dp.bounded_affine_preimage(A, 7-B, B+3);
-
-  Constraint_System cs;
-  cs.insert(C == -2);
-  cs.insert(B == 0);
-  cs.insert(C >= 3);
-
-  Product known_dp(3);
-  known_dp.refine_with_constraints(cs);
-
-  bool ok = (dp == known_dp);
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-
-// Empty product. bounded_affine_preimage/3
-bool
-test17() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Product dp(3);
-  dp.refine_with_constraint(A ==  0);
-  dp.refine_with_constraint(A ==  1);
-  dp.refine_with_constraint(C == -2);
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  dp.bounded_affine_preimage(A, 7-B, B+3);
-
-  Product known_dp(3, EMPTY);
-
-  bool ok = (dp == known_dp);
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-
-  return ok;
-}
-#endif
-
-typedef Domain_Product<TBox, Grid>::Direct_Product TBox_Grid;
-typedef Domain_Product<Grid, TBox>::Direct_Product Grid_TBox;
-typedef Domain_Product<NNC_Polyhedron, Grid>::Direct_Product NNCPoly_Grid;
-
-// TBox_Grid(nnc_polyhedron, POLYNOMIAL_COMPLEXITY).
-bool
-test18() {
-  Variable x(0);
-  Variable y(1);
-
-  C_Polyhedron ph(2);
-  ph.refine_with_constraint(3*x + y >= 2);
-  ph.refine_with_constraint(x <= 4);
-  ph.refine_with_constraint(y <= 4);
-
-  TBox_Grid pdp(ph, POLYNOMIAL_COMPLEXITY);
-
-  TBox_Grid ndp(ph);
-
-  TBox_Grid known_ndp(2);
-  known_ndp.refine_with_constraint(3*x >= -2);
-  known_ndp.refine_with_constraint(x <= 4);
-  known_ndp.refine_with_constraint(y >= -10);
-  known_ndp.refine_with_constraint(y <= 4);
-
-  TBox_Grid known_pdp(2);
-  known_pdp.refine_with_constraint(x <= 4);
-  known_pdp.refine_with_constraint(y <= 4);
-
-  bool ok = (ndp == known_ndp && pdp == known_pdp && pdp.contains(ndp));
-
-  print_constraints(ph, "*** ph ***");
-  print_constraints(ndp, "*** ndp ***");
-  print_congruences(ndp, "*** ndp ***");
-  print_constraints(pdp, "*** pdp ***");
-  print_congruences(pdp, "*** pdp ***");
-
-  return ok;
-}
-
-// Copy constructor.
-bool
-test19() {
-  Variable A(0);
-
-  const Constraint_System cs(A >= 0);
-
-  NNCPoly_Grid src(1);
-  src.refine_with_constraints(cs);
-
-  NNCPoly_Grid dp(src, POLYNOMIAL_COMPLEXITY);
-
-  NNCPoly_Grid dp1(src);
-
-  NNCPoly_Grid known_dp(1);
-  known_dp.refine_with_constraint(A >= 0);
-
-  bool ok = (dp == known_dp && dp1 == known_dp);
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp1, "*** dp1 congruences ***");
-  print_constraints(dp1, "*** dp1 constraints ***");
-
-  return ok && dp.OK();
-}
-
-// Constructing an NNCPoly_Grid from a TBox_Grid.
-bool
-test20() {
-  Variable A(0);
-
-  const Constraint_System cs(A >= 0);
-  const Congruence_System cgs(A %= 0);
-
-  TBox_Grid src(1);
-  src.refine_with_constraints(cs);
-  src.refine_with_congruences(cgs);
-
-  NNCPoly_Grid dp(src, POLYNOMIAL_COMPLEXITY);
-
-  NNCPoly_Grid dp1(src);
-
-  NNCPoly_Grid known_dp(1);
-  known_dp.refine_with_constraint(A >= 0);
-  known_dp.refine_with_congruence(A %= 0);
-
-  bool ok = (dp == known_dp && dp1 == known_dp);
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp1, "*** dp1 congruences ***");
-  print_constraints(dp1, "*** dp1 constraints ***");
-
-  return ok && dp.OK();
-}
-
-// Constructing an NNCPoly_Grid from a Grid_TBox.
-bool
-test21() {
-  Variable A(0);
-
-  const Constraint_System cs(A >= 0);
-  const Congruence_System cgs(A %= 0);
-
-  Grid_TBox src(1);
-  src.refine_with_constraints(cs);
-  src.refine_with_congruences(cgs);
-
-  NNCPoly_Grid dp(src, POLYNOMIAL_COMPLEXITY);
-
-  NNCPoly_Grid dp1(src);
-
-  NNCPoly_Grid known_dp(1);
-  known_dp.refine_with_constraint(A >= 0);
-  known_dp.refine_with_congruence(A %= 0);
-
-  bool ok = (dp == known_dp && dp1 == known_dp);
-
-  print_congruences(dp, "*** dp congruences ***");
-  print_constraints(dp, "*** dp constraints ***");
-  print_congruences(dp1, "*** dp1 congruences ***");
-  print_constraints(dp1, "*** dp1 constraints ***");
-
-  return ok && dp.OK();
-}
-
-// Attempt to construct a product with too many dimensions.
-bool
-test22() {
-  try {
-    // This is an invalid use of the constructor of a product:
-    // it is illegal to (try to) build a product with a dimensions
-    // greater than max_space_dimension().
-    NNCPoly_Grid pg(NNCPoly_Grid::max_space_dimension() + 1);
-
-    // It is an error if the exception is not thrown.
-  }
-  catch (std::length_error& e) {
-    nout << "length_error: " << e.what() << endl << endl;
-    return true;
-  }
-  catch (...) {
-    // It is an error if the wrong exception is thrown.
-  }
-  return false;
-}
-
-} // namespace
-
-BEGIN_MAIN
-  DO_TEST(test01);
-  DO_TEST(test02);
-  DO_TEST(test03);
-  DO_TEST(test04);
-  DO_TEST(test05);
-  DO_TEST(test06);
-  DO_TEST(test07);
-  DO_TEST(test08);
-  DO_TEST(test09);
-  DO_TEST(test10);
-  DO_TEST(test11);
-  DO_TEST(test12);
-  DO_TEST(test13);
-#if !Box_Class
-  DO_TEST(test14);
-  DO_TEST(test15);
-  DO_TEST(test16);
-  DO_TEST(test17);
-#endif
-  DO_TEST(test18);
-  DO_TEST(test19);
-  DO_TEST(test20);
-  DO_TEST(test21);
-  DO_TEST(test22);
-END_MAIN
diff --git a/tests/Partially_Reduced_Product/discrete1.cc b/tests/Partially_Reduced_Product/discrete1.cc
new file mode 100644
index 0000000..2cc4e41
--- /dev/null
+++ b/tests/Partially_Reduced_Product/discrete1.cc
@@ -0,0 +1,100 @@
+/* Test Product<>::is_discrete().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+// is_discrete(), due to grid.
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Product prp(3);
+  prp.refine_with_constraint(A == 1);
+  prp.refine_with_constraint(B == 2);
+  prp.refine_with_constraint(C <= 3);
+  prp.refine_with_congruence((C %= 0) / 3);
+
+  bool ok = prp.is_discrete();
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// is_discrete(), due to polyhedron.
+bool
+test02() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp(2);
+  prp.refine_with_constraint(A <= 3);
+  prp.refine_with_constraint(A >= 3);
+  prp.refine_with_constraint(B == 0);
+
+  bool ok = prp.is_discrete();
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// is_discrete() is false, as the components are not discrete
+// although the intersection is discrete..
+bool
+test03() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp(3);
+  prp.refine_with_congruence((A - B %= 0) / 0);
+  prp.refine_with_constraint(B >= 0);
+  prp.refine_with_constraint(B <= 0);
+
+  bool ok = !prp.is_discrete();
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/disjoint1.cc b/tests/Partially_Reduced_Product/disjoint1.cc
new file mode 100644
index 0000000..5abb833
--- /dev/null
+++ b/tests/Partially_Reduced_Product/disjoint1.cc
@@ -0,0 +1,162 @@
+/* Test Product<>::is_disjoint().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+
+// is_disjoint_from(prp), due to the Polyhedra.
+bool
+test01() {
+  Variable B(1);
+
+  Product prp1(12);
+  Product prp2(12);
+  prp1.refine_with_constraint(B < 2);
+  prp2.refine_with_constraint(B > 3);
+  bool ok = prp1.is_disjoint_from(prp2);
+
+  print_congruences(prp1, "*** prp1 congruences ***");
+  print_constraints(prp1, "*** prp1 constraints ***");
+  print_congruences(prp2, "*** prp2 congruences ***");
+  print_constraints(prp2, "*** prp2 constraints ***");
+
+  return ok;
+}
+
+// is_disjoint_from(prp), due to the Grids.
+bool
+test02() {
+  Variable A(0);
+
+  Product prp1(3);
+  prp1.refine_with_congruence((A %= 0) / 7);
+
+  Product prp2(3);
+  prp2.refine_with_congruence((A %= 1) / 7);
+
+  bool ok = prp1.is_disjoint_from(prp2);
+
+  print_congruences(prp1, "*** prp1 congruences ***");
+  print_constraints(prp1, "*** prp1 constraints ***");
+  print_congruences(prp2, "*** prp2 congruences ***");
+  print_constraints(prp2, "*** prp2 constraints ***");
+
+  return ok;
+}
+
+// is_disjoint_from(prp), due to either.
+bool
+test03() {
+  Variable A(0);
+
+  Product prp1(3);
+  prp1.refine_with_congruence((A %= 0) / 7);
+  Product prp2(3);
+  prp2.refine_with_congruence((A %= 1) / 7);
+  prp1.refine_with_constraint(A < 3);
+  prp2.refine_with_constraint(A > 3);
+
+  bool ok = prp1.is_disjoint_from(prp2);
+
+  print_congruences(prp1, "*** prp1 congruences ***");
+  print_constraints(prp1, "*** prp1 constraints ***");
+  print_congruences(prp2, "*** prp2 congruences ***");
+  print_constraints(prp2, "*** prp2 constraints ***");
+
+  return ok;
+}
+
+// is_disjoint_from(prp), due to both.
+bool
+test04() {
+  Variable A(0);
+
+  Product prp1(3);
+  prp1.refine_with_congruence((A %= 1) / 7);
+  Product prp2(3);
+  prp2.refine_with_congruence((A %= 1) / 14);
+  prp1.refine_with_constraint(A < 6);
+  prp2.refine_with_constraint(A > 3);
+
+  bool ok = !prp1.is_disjoint_from(prp2);
+
+  print_congruences(prp1, "*** prp1 congruences ***");
+  print_constraints(prp1, "*** prp1 constraints ***");
+  print_congruences(prp2, "*** prp2 congruences ***");
+  print_constraints(prp2, "*** prp2 constraints ***");
+
+  return ok;
+}
+
+// is_disjoint_from(prp), due to the intersection of the entire direct
+// products (i.e. the prp1 and prp2 polyhedron components intersect, as
+// do the grid components).
+bool
+test05() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp1(2);
+  prp1.refine_with_constraint(A <= 4);
+  prp1.refine_with_constraint(A >= 0);
+  prp1.refine_with_constraint(A - B <= 0);
+  prp1.refine_with_constraint(A - B >= 2);
+  prp1.refine_with_congruence((A %= 0) / 2);
+  prp1.refine_with_congruence((A %= 0) / 4);
+
+  Product prp2(2);
+  prp2.refine_with_constraint(A <= 4);
+  prp2.refine_with_constraint(A <= 0);
+  prp2.refine_with_constraint(A + B >= 4);
+  prp2.refine_with_constraint(A + B <= 6);
+  // Same grid as prp1.
+  prp2.refine_with_congruence((A %= 0) / 2);
+  prp2.refine_with_congruence((A %= 0) / 4);
+
+  bool ok = prp1.is_disjoint_from(prp2);
+
+  print_congruences(prp1, "*** prp1 congruences ***");
+  print_constraints(prp1, "*** prp1 constraints ***");
+  print_congruences(prp2, "*** prp2 congruences ***");
+  print_constraints(prp2, "*** prp2 constraints ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/dropsomenonintegerpoints1.cc b/tests/Partially_Reduced_Product/dropsomenonintegerpoints1.cc
new file mode 100644
index 0000000..0988001
--- /dev/null
+++ b/tests/Partially_Reduced_Product/dropsomenonintegerpoints1.cc
@@ -0,0 +1,131 @@
+/* Test Product<NNC_Polyhedron, Grid>::drop_some_non_integer_points().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+// drop_some_non_integer_points(ANY_COMPLEXITY)
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Product prp1(3);
+  prp1.refine_with_constraint(A >= 0);
+  prp1.refine_with_constraint(B >= 0);
+  prp1.refine_with_constraint(A + B >= 3);
+  prp1.refine_with_constraint(2*A - B == 0);
+  prp1.refine_with_constraint(3*A + C == 0);
+  prp1.refine_with_congruence(3*A %= 0);
+
+  prp1.drop_some_non_integer_points(ANY_COMPLEXITY);
+
+  Product known_prp(3);
+  known_prp.refine_with_constraint(3*A + C == 0);
+  known_prp.refine_with_constraint(2*A - B == 0);
+  known_prp.refine_with_constraint(A >= 1);
+  known_prp.refine_with_congruence(A %= 0);
+
+  bool ok = (prp1 == known_prp);
+
+  print_congruences(prp1, "*** prp1.time_elapse_assign(prp1) congruences ***");
+  print_constraints(prp1, "*** prp1.time_elapse_assign(prp1) constraints ***");
+
+  return ok;
+}
+
+// drop_some_non_integer_points(ANY_COMPLEXITY)
+// where the initial products are not reduced
+// and the second product has non-intersecting single point components.
+bool
+test02() {
+  Variable A(0);
+
+
+  Product prp1(1);
+
+  print_congruences(prp1, "*** prp1 congruences ***");
+  print_constraints(prp1, "*** prp1 constraints ***");
+
+  prp1.drop_some_non_integer_points(ANY_COMPLEXITY);
+
+  Product known_prp(1);
+  known_prp.refine_with_congruence(A %= 0);
+
+  bool ok = prp1.OK() && (prp1 == known_prp);
+
+  print_congruences(prp1,
+                    "*** prp1.drop_some_non_integer_points(ANY_COMPLEXITY) congruences ***");
+  print_constraints(prp1,
+                    "*** prp1.drop_some_non_integer_points(ANY_COMPLEXITY) constraints ***");
+
+  return ok;
+}
+
+// drop_some_non_integer_points(vars, ANY_COMPLEXITY)
+bool
+test03() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Variables_Set vars;
+  vars.insert(A);
+
+  Product prp1(3);
+  prp1.refine_with_constraint(A >= 0);
+  prp1.refine_with_constraint(B >= 0);
+  prp1.refine_with_constraint(A + B >= 3);
+  prp1.refine_with_constraint(2*A - B == 0);
+  prp1.refine_with_constraint(3*A + C == 0);
+  prp1.refine_with_congruence(3*A %= 0);
+
+  prp1.drop_some_non_integer_points(vars, ANY_COMPLEXITY);
+
+  Product known_prp(3);
+  known_prp.refine_with_constraint(3*A + C == 0);
+  known_prp.refine_with_constraint(2*A - B == 0);
+  known_prp.refine_with_constraint(A >= 1);
+  known_prp.refine_with_congruence(A %= 0);
+
+  bool ok = (prp1 == known_prp);
+
+  print_congruences(prp1, "*** prp1.time_elapse_assign(prp1) congruences ***");
+  print_constraints(prp1, "*** prp1.time_elapse_assign(prp1) constraints ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/equals1.cc b/tests/Partially_Reduced_Product/equals1.cc
new file mode 100644
index 0000000..f1789e7
--- /dev/null
+++ b/tests/Partially_Reduced_Product/equals1.cc
@@ -0,0 +1,82 @@
+/* Test operator==() and operator!=().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+#define REVERSED_TEST
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+
+  Constraint_System cs(A + B >= 9);
+
+  Product dp(2);
+  dp.refine_with_constraints(cs);
+  dp.refine_with_congruence((A %= 9) / 19);
+
+  Product dp1 = dp;
+
+  bool ok = (dp == dp1);
+
+  print_congruences(dp, "*** dp1 congruences ***");
+  print_constraints(dp, "*** dp1 constraints ***");
+
+  return ok && dp.OK() && dp1.OK();
+}
+
+bool
+test02() {
+  Variable A(0);
+  Variable B(1);
+
+  Constraint_System cs(A + B >= 9);
+
+  Product dp(2);
+  dp.refine_with_constraints(cs);
+  dp.refine_with_congruence((A %= 9) / 19);
+
+  Product dp1(2);
+
+  bool ok = (dp != dp1);
+
+  print_congruences(dp, "*** dp1 congruences ***");
+  print_constraints(dp, "*** dp1 constraints ***");
+
+  return ok && dp.OK() && dp1.OK();
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/frombdshape1.cc b/tests/Partially_Reduced_Product/frombdshape1.cc
new file mode 100644
index 0000000..e16fca2
--- /dev/null
+++ b/tests/Partially_Reduced_Product/frombdshape1.cc
@@ -0,0 +1,64 @@
+/* Test construction of product from BD_Shape.
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+#define REVERSED_TEST
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+// Product(bds).
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+
+  Constraint_System cs(A >= 0);
+  cs.insert(2*A - 2*B >= 5);
+
+  TBD_Shape bd(cs);
+
+  Product dp(bd);
+
+  Product known_result(2);
+  known_result.refine_with_constraint(A >= 0);
+  known_result.refine_with_constraint(2*A - 2*B >= 5);
+
+  bool ok = (dp == known_result);
+
+  print_congruences(dp, "*** dp congruences ***");
+  print_constraints(dp, "*** dp constraints ***");
+
+  return ok && dp.OK();
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/frombox1.cc b/tests/Partially_Reduced_Product/frombox1.cc
new file mode 100644
index 0000000..60cab1a
--- /dev/null
+++ b/tests/Partially_Reduced_Product/frombox1.cc
@@ -0,0 +1,86 @@
+/* Test construction of product from a Box.
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+#define REVERSED_TEST
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+// Product(bounding_box)
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+
+  TBox box(2);
+  box.refine_with_constraint(3*B >= 2);
+  box.refine_with_constraint(A >= 2);
+  box.refine_with_constraint(A <= 2);
+
+  Product dp(box);
+
+  Product known_dp(2);
+  known_dp.refine_with_constraint(3*B >= 2);
+  known_dp.refine_with_constraint(A == 2);
+
+  bool ok = (dp == known_dp) && dp.OK();
+
+  print_congruences(dp, "*** dp congruences ***");
+  print_constraints(dp, "*** dp constraints ***");
+
+  return ok && dp.OK();
+}
+
+bool
+test02() {
+  Variable A(0);
+
+  const Constraint_System cs(A > 0);
+
+  TBox box(cs);
+
+  Product dp(box);
+
+  Product known_result(1);
+  known_result.refine_with_constraint(A > 0);
+
+  bool ok = (dp == known_result);
+
+  print_congruences(dp, "*** dp congruences ***");
+  print_constraints(dp, "*** dp constraints ***");
+
+  return ok && dp.OK();
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/fromgrid1.cc b/tests/Partially_Reduced_Product/fromgrid1.cc
new file mode 100644
index 0000000..ad69d2c
--- /dev/null
+++ b/tests/Partially_Reduced_Product/fromgrid1.cc
@@ -0,0 +1,61 @@
+/* Test construction of product from a grid.
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+#define REVERSED_TEST
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+// Product(grid).
+bool
+test01() {
+  Variable A(0);
+
+  const Congruence_System cgs(A %= 0);
+
+  Grid gr(cgs);
+
+  Product dp(gr);
+
+  Product known_result(1);
+  known_result.refine_with_congruence((A %= 0) / 1);
+
+  bool ok = (dp == known_result);
+
+  print_congruences(dp, "*** dp congruences ***");
+  print_constraints(dp, "*** dp constraints ***");
+
+  return ok && dp.OK();
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/fromoctagonalshape1.cc b/tests/Partially_Reduced_Product/fromoctagonalshape1.cc
new file mode 100644
index 0000000..7f999dd
--- /dev/null
+++ b/tests/Partially_Reduced_Product/fromoctagonalshape1.cc
@@ -0,0 +1,64 @@
+/* Test construction of product from octagonal shape.
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+#define REVERSED_TEST
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+// Product(os).
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+
+  Constraint_System cs(A >= 0);
+  cs.insert(2*A + 2*B >= 5);
+
+  TOctagonal_Shape os(cs);
+
+  Product dp(os);
+
+  Product known_result(2);
+  known_result.refine_with_constraint(A >= 0);
+  known_result.refine_with_constraint(2*A + 2*B >= 5);
+
+  bool ok = (dp == known_result);
+
+  print_congruences(dp, "*** dp congruences ***");
+  print_constraints(dp, "*** dp constraints ***");
+
+  return ok && dp.OK();
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/frompolyhedron1.cc b/tests/Partially_Reduced_Product/frompolyhedron1.cc
new file mode 100644
index 0000000..9301778
--- /dev/null
+++ b/tests/Partially_Reduced_Product/frompolyhedron1.cc
@@ -0,0 +1,119 @@
+/* Test construction of product from a polyhedron.
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+#define REVERSED_TEST
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+// Product(c_polyhedron).
+bool
+test01() {
+  Variable A(0);
+
+  const Constraint_System cs(A == 0);
+
+  C_Polyhedron ph(cs);
+
+  Product dp(ph);
+
+  Product known_result(1);
+  known_result.refine_with_congruence((A %= 0) / 0);
+
+  bool ok = (dp == known_result);
+
+  print_congruences(dp, "*** dp congruences ***");
+  print_constraints(dp, "*** dp constraints ***");
+
+  return ok && dp.OK();
+}
+
+// Product(nnc_polyhedron).
+bool
+test02() {
+  Variable A(0);
+
+  const Constraint_System cs(A > 0);
+
+  NNC_Polyhedron ph(cs);
+
+  Product dp(ph);
+
+  Product known_result(1);
+  known_result.refine_with_constraint(A > 0);
+
+  bool ok = (dp == known_result);
+
+  print_congruences(dp, "*** dp congruences ***");
+  print_constraints(dp, "*** dp constraints ***");
+
+  return ok && dp.OK();
+}
+
+typedef Domain_Product<TBox, Grid>::Constraints_Product TBox_Grid;
+
+// TBox_Grid(nnc_polyhedron, POLYNOMIAL_COMPLEXITY).
+bool
+test03() {
+  Variable x(0);
+  Variable y(1);
+
+  C_Polyhedron ph(2);
+  ph.refine_with_constraint(3*x + y >= 2);
+  ph.refine_with_constraint(x <= 4);
+  ph.refine_with_constraint(y <= 4);
+
+  TBox_Grid pprp(ph, POLYNOMIAL_COMPLEXITY);
+
+  TBox_Grid nprp(ph);
+
+  TBox_Grid known_prp(2);
+  known_prp.refine_with_constraint(3*x >= -2);
+  known_prp.refine_with_constraint(x <= 4);
+  known_prp.refine_with_constraint(y >= -10);
+  known_prp.refine_with_constraint(y <= 4);
+
+  bool ok = (nprp == known_prp && pprp == known_prp);
+
+  print_constraints(ph, "*** ph ***");
+  print_constraints(nprp, "*** nprp ***");
+  print_congruences(nprp, "*** nprp ***");
+  print_constraints(pprp, "*** pprp ***");
+  print_congruences(pprp, "*** pprp ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/fromproduct1.cc b/tests/Partially_Reduced_Product/fromproduct1.cc
new file mode 100644
index 0000000..c3ed476
--- /dev/null
+++ b/tests/Partially_Reduced_Product/fromproduct1.cc
@@ -0,0 +1,178 @@
+/* Test construction of product from another product.
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+#define REVERSED_TEST
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Direct_Product DProduct;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product CProduct;
+
+namespace {
+
+// Copy constructor.
+bool
+test01() {
+  Variable A(0);
+  Variable C(2);
+
+  DProduct dp1(3);
+  dp1.refine_with_constraint(A - C == 0);
+
+  DProduct dp(dp1);
+
+  bool ok = (dp == dp1);
+
+  print_congruences(dp, "*** dp congruences ***");
+  print_constraints(dp, "*** dp constraints ***");
+
+  return ok && dp.OK();
+}
+
+bool
+test02() {
+  Variable A(0);
+  Variable C(2);
+
+  DProduct dp(3);
+  dp.refine_with_constraint(A - C == 0);
+
+  CProduct cp(dp);
+
+  CProduct known_result(3);
+  known_result.refine_with_constraint(A - C == 0);
+  bool ok = (cp == known_result);
+
+  print_congruences(cp, "*** cp congruences ***");
+  print_constraints(cp, "*** cp constraints ***");
+
+  return ok && dp.OK();
+}
+
+typedef Domain_Product<TBox, Grid>::Constraints_Product TBox_Grid;
+typedef Domain_Product<Grid, TBox>::Constraints_Product Grid_TBox;
+typedef Domain_Product<NNC_Polyhedron, Grid>::Constraints_Product NNCPoly_Grid;
+
+// Copy constructor.
+bool
+test03() {
+  Variable A(0);
+
+  const Constraint_System cs(A >= 0);
+
+  NNCPoly_Grid src(1);
+  src.refine_with_constraints(cs);
+
+  NNCPoly_Grid prp(src, POLYNOMIAL_COMPLEXITY);
+
+  NNCPoly_Grid prp1(src);
+
+  NNCPoly_Grid known_prp(1);
+  known_prp.refine_with_constraint(A >= 0);
+
+  bool ok = (prp == known_prp && prp1 == known_prp);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp1, "*** prp1 congruences ***");
+  print_constraints(prp1, "*** prp1 constraints ***");
+
+  return ok && prp.OK();
+}
+
+// Constructing an NNCPoly_Grid from a TBox_Grid.
+bool
+test04() {
+  Variable A(0);
+
+  const Constraint_System cs(A >= 0);
+  const Congruence_System cgs(A %= 0);
+
+  TBox_Grid src(1);
+  src.refine_with_constraints(cs);
+  src.refine_with_congruences(cgs);
+
+  NNCPoly_Grid prp(src, POLYNOMIAL_COMPLEXITY);
+
+  NNCPoly_Grid prp1(src);
+
+  NNCPoly_Grid known_prp(1);
+  known_prp.refine_with_constraint(A >= 0);
+  known_prp.refine_with_congruence(A %= 0);
+
+  bool ok = (prp == known_prp && prp1 == known_prp);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp1, "*** prp1 congruences ***");
+  print_constraints(prp1, "*** prp1 constraints ***");
+
+  return ok && prp.OK();
+}
+
+// Constructing an NNCPoly_Grid from a Grid_TBox.
+bool
+test05() {
+  Variable A(0);
+
+  const Constraint_System cs(A >= 0);
+  const Congruence_System cgs(A %= 0);
+
+  Grid_TBox src(1);
+  src.refine_with_constraints(cs);
+  src.refine_with_congruences(cgs);
+
+  NNCPoly_Grid prp(src);
+
+  NNCPoly_Grid prp1(src);
+
+  NNCPoly_Grid known_prp(1);
+  known_prp.refine_with_constraint(A >= 0);
+  known_prp.refine_with_congruence(A %= 0);
+
+  bool ok = (prp == known_prp && prp1 == known_prp);
+
+  print_congruences(src, "*** src congruences ***");
+  print_constraints(src, "*** src constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp1, "*** prp1 congruences ***");
+  print_constraints(prp1, "*** prp1 constraints ***");
+  print_congruences(known_prp, "*** known_prp congruences ***");
+  print_constraints(known_prp, "*** known_prp constraints ***");
+
+  return ok && prp.OK();
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/generalizedaffineimage1.cc b/tests/Partially_Reduced_Product/generalizedaffineimage1.cc
new file mode 100644
index 0000000..97bb071
--- /dev/null
+++ b/tests/Partially_Reduced_Product/generalizedaffineimage1.cc
@@ -0,0 +1,261 @@
+/* Test Product<NNC_Polyhedron, Grid>::generalized_affine_image() and
+   Product<NNC_Polyhedron, Grid>::generalized_affine_preimage().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+// generalized_affine_image(v, EQUAL, e)
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp(3);
+  prp.refine_with_congruence(A %= 0);
+  prp.refine_with_congruence((A + B %= 0) / 2);
+  prp.refine_with_constraint(B >= 0);
+  prp.refine_with_constraint(A - B >= 0);
+
+  Linear_Expression le(A+2);
+
+  prp.generalized_affine_image(A, EQUAL, le);
+
+  Product known_prp(3);
+  known_prp.refine_with_congruence(A %= 0);
+  known_prp.refine_with_congruence((A + B %= 0) / 2);
+  known_prp.refine_with_constraint(B >= 0);
+  known_prp.refine_with_constraint(A - B >= 2);
+
+  bool ok = (prp == known_prp);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  return ok;
+}
+
+// generalized_affine_image(v, EQUAL, e, d)
+bool
+test02() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp(3);
+  prp.refine_with_congruence(A %= 0);
+  prp.refine_with_congruence((A + B %= 0) / 2);
+  prp.refine_with_constraint(A >= 3);
+
+  prp.generalized_affine_image(B, EQUAL, A + 1, 2);
+
+  Product known_prp(3);
+  known_prp.refine_with_constraint(A - 2*B == -1);
+  known_prp.refine_with_congruence(A %= 0);
+  known_prp.refine_with_constraint(A >= 3);
+  known_prp.refine_with_constraint(B >= 2);
+
+  bool ok = (prp == known_prp);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  return ok;
+}
+
+// generalized_affine_preimage(v, GREATER_OR_EQUAL, e)
+bool
+test03() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp(3);
+  prp.refine_with_constraint(A >= 0);
+  prp.refine_with_constraint(A <= 4);
+  prp.refine_with_constraint(B <= 5);
+  prp.refine_with_constraint(A <= B);
+  prp.refine_with_congruence(A %= B);
+
+  prp.generalized_affine_preimage(B, GREATER_OR_EQUAL, A+2);
+
+  Product known_prp(3);
+  known_prp.refine_with_constraint(0 <= A);
+  known_prp.refine_with_constraint(A <= 3);
+
+  bool ok = (prp == known_prp);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  return ok;
+}
+
+// generalized_affine_preimage(v, EQUAL, e, d),
+bool
+test04() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Product prp(3);
+  prp.refine_with_congruence(A %= 0);
+  prp.refine_with_congruence((B %= 0) / 2);
+
+  prp.generalized_affine_preimage(B, EQUAL, A + B, 1);
+
+  Product known_prp(3);
+  known_prp.refine_with_congruence((A + B %= 0) / 2);
+  known_prp.refine_with_congruence(A %= 0);
+
+  bool ok = (prp == known_prp);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  return ok;
+}
+
+// generalized_affine_image(lhs, relsym, rhs)
+bool
+test05() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp(3);
+  prp.refine_with_congruence(A %= 0);
+  prp.refine_with_constraint(B >= 0);
+  prp.refine_with_constraint(A - B >= 1);
+
+  prp.generalized_affine_image(Linear_Expression(2), LESS_OR_EQUAL, A + B);
+
+  Product known_prp(3);
+  known_prp.refine_with_congruence(A %= 0);
+  known_prp.refine_with_constraint(B >= 0);
+  known_prp.refine_with_constraint(A - B >= 1);
+  known_prp.refine_with_constraint(2 <= A + B);
+
+  bool ok = (prp == known_prp);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  return ok;
+}
+
+// generalized_affine_image(lhs, EQUAL, rhs),
+bool
+test06() {
+  Variable A(0);
+  Variable B(1);
+
+  Congruence_System cs;
+  cs.insert((A %= 0) / 1);
+  cs.insert((B %= 0) / 2);
+
+  Product prp(2);
+  prp.refine_with_congruences(cs);
+  prp.refine_with_constraint(A <= 3);
+
+  prp.generalized_affine_image(A + 2*B, EQUAL, A - B);
+
+  Product known_prp(2);
+  known_prp.refine_with_congruence((A + 2*B %= 0) / 1);
+
+  bool ok = (prp == known_prp);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  return ok;
+}
+
+// generalized_affine_preimage(lhs, relsym, rhs).
+bool
+test07() {
+  Variable A(0);
+  Variable B(1);
+
+  Constraint_System cs;
+  cs.insert(A >= 0);
+  cs.insert(A <= 4);
+  cs.insert(B <= 5);
+  cs.insert(A <= B);
+
+  Product prp(3);
+  prp.refine_with_constraints(cs);
+  prp.refine_with_congruence(A %= B);
+
+  prp.generalized_affine_preimage(1*B, GREATER_OR_EQUAL, A+2);
+
+  Product known_prp(3);
+  known_prp.refine_with_constraint(0 <= A);
+  known_prp.refine_with_constraint(A <= 3);
+
+  bool ok = (prp == known_prp);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  return ok;
+}
+
+// generalized_affine_preimage(lhs, EQUAL, rhs)
+bool
+test08() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Product prp(3);
+  prp.refine_with_constraint(A - B == 1);
+
+  prp.generalized_affine_preimage(A - B, EQUAL, 2*A - 2*B);
+
+  Product known_prp(3);
+  known_prp.refine_with_congruence((2*A - 2*B %= 1) / 0);
+
+  bool ok = (prp == known_prp);
+
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST(test08);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/intersection1.cc b/tests/Partially_Reduced_Product/intersection1.cc
new file mode 100644
index 0000000..009af2d
--- /dev/null
+++ b/tests/Partially_Reduced_Product/intersection1.cc
@@ -0,0 +1,124 @@
+/* Test Product<NNC_Polyhedron, Grid>::intersection_assign().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+// intersection_assign()
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp1(3);
+  prp1.refine_with_constraint(A >= 0);
+  prp1.refine_with_congruence((A %= 0) / 2);
+
+  Product prp2(3);
+  prp2.refine_with_constraint(A <= 0);
+  prp2.refine_with_congruence((A %= 0) / 7);
+
+  prp1.intersection_assign(prp2);
+
+  Product known_prp(3);
+  known_prp.refine_with_congruence((A %= 0) / 14);
+  known_prp.refine_with_constraint(A >= 0);
+  known_prp.refine_with_constraint(A <= 0);
+
+  bool ok = (prp1 == known_prp);
+
+  print_congruences(prp1, "*** prp1 congruences ***");
+  print_constraints(prp1, "*** prp1 constraints ***");
+
+  return ok;
+}
+
+// intersection_assign()
+bool
+test02() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp1(3);
+  prp1.refine_with_constraint(A >= 0);
+  prp1.refine_with_congruence((A %= 0) / 2);
+  prp1.refine_with_constraint(B <= 1);
+
+  Product prp2(3);
+  prp2.refine_with_constraint(A <= 0);
+  prp2.refine_with_congruence((A %= 0) / 7);
+  prp2.refine_with_constraint(B >= 1);
+
+  prp1.intersection_assign(prp2);
+
+  Product known_prp(3);
+  known_prp.refine_with_constraint(A == 0);
+  known_prp.refine_with_constraint(B == 1);
+
+  bool ok = (prp1 == known_prp);
+
+  print_congruences(prp1, "*** prp1 congruences ***");
+  print_constraints(prp1, "*** prp1 constraints ***");
+
+  return ok;
+}
+
+// intersection_assign()
+bool
+test03() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp1(3);
+  prp1.refine_with_constraint(A >= 0);
+  prp1.refine_with_congruence((A %= 0) / 2);
+  prp1.refine_with_constraint(B <= 1);
+
+  Product prp2(3);
+  prp2.refine_with_constraint(A <= 0);
+  prp2.refine_with_congruence((A %= 0) / 7);
+  prp2.refine_with_constraint(B >= 2);
+
+  prp1.intersection_assign(prp2);
+
+  prp1.intersection_assign(prp2);
+  bool ok = prp1.is_empty();
+
+  print_congruences(prp1, "*** prp1 congruences ***");
+  print_constraints(prp1, "*** prp1 constraints ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/isempty1.cc b/tests/Partially_Reduced_Product/isempty1.cc
new file mode 100644
index 0000000..9f8c920
--- /dev/null
+++ b/tests/Partially_Reduced_Product/isempty1.cc
@@ -0,0 +1,94 @@
+/* Test Product<>::is_empty().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+// is_empty() where both domain objects have points.
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Product prp(3);
+  prp.refine_with_congruence(A %= 9);
+  prp.refine_with_congruence(B + C %= 3);
+
+  bool ok = !prp.is_empty();
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// is_empty() where one domain object is empty.
+bool
+test02() {
+  Variable A(0);
+
+  Product prp(3);
+
+  prp.refine_with_congruence((A %= 0) / 2);
+  prp.refine_with_congruence((A %= 1) / 2);
+
+  bool ok = prp.is_empty();
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// is_empty() where both domain objects are empty.
+bool
+test03() {
+  Variable A(0);
+
+  Product prp(3);
+  prp.refine_with_constraint(A == 1);
+  prp.refine_with_constraint(A == 3);
+
+  bool ok = prp.is_empty();
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/isuniverse1.cc b/tests/Partially_Reduced_Product/isuniverse1.cc
new file mode 100644
index 0000000..b45afcb
--- /dev/null
+++ b/tests/Partially_Reduced_Product/isuniverse1.cc
@@ -0,0 +1,83 @@
+/* Test Product<>::is_universe1().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+// is_universe() where both domain objects are empty.
+bool
+test01() {
+  Product prp(3, EMPTY);
+
+  bool ok = !prp.is_universe();
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// is_universe() where one domain object is universe.
+bool
+test02() {
+  Variable A(0);
+
+  Product prp(3);
+  prp.refine_with_congruence((A %= 0) / 2);
+  prp.refine_with_congruence((A %= 1) / 2);
+
+  bool ok = !prp.is_universe();
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// is_universe() where both domain objects are universe.
+bool
+test03() {
+  Product prp(3);
+
+  bool ok = prp.is_universe();
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/maxmin1.cc b/tests/Partially_Reduced_Product/maxmin1.cc
new file mode 100644
index 0000000..b653f26
--- /dev/null
+++ b/tests/Partially_Reduced_Product/maxmin1.cc
@@ -0,0 +1,248 @@
+/* Test Product<NNC_Polyhedron, Grid>::maximize() and
+   Product<NNC_Polyhedron, Grid>::minimize()
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+// Empty. maximize() and minimize()
+bool
+test01() {
+  Product prp(7, EMPTY);
+
+  Coefficient extr_n;
+  Coefficient extr_d;
+  bool dummy;
+
+  bool ok = (!prp.maximize(Linear_Expression(0), extr_n, extr_d, dummy));
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// Zero dimension empty.
+bool
+test02() {
+  Product prp(0, EMPTY);
+
+  Coefficient extr_n;
+  Coefficient extr_d;
+  bool dummy;
+  Generator pnt(point());
+
+  bool ok = !prp.maximize(Linear_Expression(0), extr_n, extr_d, dummy)
+    && !prp.maximize(Linear_Expression(0), extr_n, extr_d, dummy, pnt);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// Zero dimension universe.
+bool
+test03() {
+  Product prp(0);
+
+  Coefficient extr_n, extr_d;
+  bool dummy;
+  Generator pnt(point());
+
+  bool ok = prp.maximize(Linear_Expression(0), extr_n, extr_d, dummy)
+    && prp.maximize(Linear_Expression(0), extr_n, extr_d, dummy, pnt);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// Point.
+bool
+test04() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp(2);
+  prp.refine_with_constraint(A == 1);
+  prp.refine_with_constraint(3*B == 2);
+
+  Linear_Expression le = A + B;
+
+  Coefficient max_n;
+  Coefficient max_d;
+  Coefficient min_n;
+  Coefficient min_d;
+  Generator pnt_max(point());
+  Generator pnt_min(point());
+  Generator known_pnt(point(3*A + 2*B, 3));
+  bool max;
+  bool min;
+
+  bool ok = prp.maximize(le, max_n, max_d, max)
+    && prp.minimize(le, min_n, min_d, min)
+    && prp.maximize(le, max_n, max_d, max, pnt_max)
+    && prp.minimize(le, min_n, min_d, min, pnt_min);
+
+  ok = ok
+    && max && min && max_n == 5 && max_d == 3 && min_n == 5 && min_d == 3
+    && pnt_max == known_pnt && pnt_min == known_pnt;
+
+  print_generator(pnt_max, "*** max point ***");
+  print_generator(pnt_min, "*** min point ***");
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// only one component is bounded.
+bool
+test05() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp(2);
+  prp.refine_with_constraint(A - B >= 1);
+  prp.refine_with_constraint(A - B <= 1);
+  prp.refine_with_congruence(3*B %= 2);
+
+  Linear_Expression le = A - B;
+
+  Coefficient max_n;
+  Coefficient max_d;
+  Coefficient min_n;
+  Coefficient min_d;
+  Generator pnt_max(point());
+  Generator pnt_min(point());
+  bool max;
+  bool min;
+
+  bool ok = prp.maximize(le, max_n, max_d, max)
+    && prp.minimize(le, min_n, min_d, min)
+    && prp.maximize(le, max_n, max_d, max, pnt_max)
+    && prp.minimize(le, min_n, min_d, min, pnt_min);
+
+  ok = ok
+    && max && min && max_n == 1 && max_d == 1 && min_n == 1 && min_d == 1
+    && pnt_max == pnt_min;
+
+  print_generator(pnt_max, "*** maximum point ***");
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// Line and neither component is bounded.
+bool
+test06() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp(2);
+  prp.refine_with_constraint(B == 1);
+
+  Linear_Expression le = 2*A - B;
+
+  Coefficient max_n;
+  Coefficient max_d;
+  Coefficient min_n;
+  Coefficient min_d;
+  Generator pnt_max(point());
+  Generator pnt_min(point());
+  bool max;
+  bool min;
+
+  bool ok = !prp.maximize(le, max_n, max_d, max)
+    && !prp.minimize(le, min_n, min_d, min)
+    && !prp.maximize(le, max_n, max_d, max, pnt_max)
+    && !prp.minimize(le, min_n, min_d, min, pnt_min);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// only one component is strictly bounded.
+bool
+test07() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp(2);
+
+  prp.refine_with_constraint(A - B > 0);
+  prp.refine_with_constraint(A - B < 1);
+  prp.refine_with_congruence(3*B %= 2);
+
+  Linear_Expression le = A - B;
+
+  Coefficient max_n;
+  Coefficient max_d;
+  Coefficient min_n;
+  Coefficient min_d;
+  Generator pnt_max(point());
+  Generator pnt_min(point());
+
+  bool max;
+  bool min;
+
+  bool ok = prp.maximize(le, max_n, max_d, max)
+    && prp.minimize(le, min_n, min_d, min)
+    && prp.maximize(le, max_n, max_d, max, pnt_max)
+    && prp.minimize(le, min_n, min_d, min, pnt_min);
+
+  ok = ok && !max && !min;
+
+  ok = ok && max_n == 1 && max_d == 1 && min_n == 0 && min_d == 1;
+
+  print_generator(pnt_max, "*** maximum point ***");
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/partially_reduced_product_test.hh b/tests/Partially_Reduced_Product/partially_reduced_product_test.hh
new file mode 100644
index 0000000..9ce2504
--- /dev/null
+++ b/tests/Partially_Reduced_Product/partially_reduced_product_test.hh
@@ -0,0 +1,29 @@
+/* Header file for partially_reduced_product test programs.
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#ifdef REVERSED_TEST
+#define DOMAIN1 DOMAIN2x
+#define DOMAIN2 DOMAIN1x
+#else
+#define DOMAIN1 DOMAIN1x
+#define DOMAIN2 DOMAIN2x
+#endif
diff --git a/tests/Partially_Reduced_Product/partiallyreducedproduct1.cc b/tests/Partially_Reduced_Product/partiallyreducedproduct1.cc
deleted file mode 100644
index 563d7a0..0000000
--- a/tests/Partially_Reduced_Product/partiallyreducedproduct1.cc
+++ /dev/null
@@ -1,845 +0,0 @@
-/* Test Partially_Reduced_Product<>.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include "ppl_test.hh"
-
-using namespace Parma_Polyhedra_Library::IO_Operators;
-
-#define PH_IS_NNC
-// #define PH_IS_FIRST
-
-#ifdef PH_IS_NNC
-typedef NNC_Polyhedron Poly;
-#else
-typedef C_Polyhedron Poly;
-#endif
-
-#ifdef PH_IS_FIRST
-typedef Domain_Product<Poly, Grid>::Direct_Product DProduct;
-typedef Domain_Product<Poly, Grid>::Smash_Product SProduct;
-typedef Domain_Product<Poly, Grid>::Constraints_Product CProduct;
-#else
-typedef Domain_Product<Grid, Poly>::Direct_Product DProduct;
-typedef Domain_Product<Grid, Poly>::Smash_Product SProduct;
-typedef Domain_Product<Grid, Poly>::Constraints_Product CProduct;
-#endif
-
-namespace {
-
-// Product(dims, type); == and !=
-bool
-test01() {
-  Variable A(0);
-
-  SProduct sp1(3);
-  SProduct sp2(3, EMPTY);
-  CProduct cp1(3);
-  CProduct cp2(3);
-  cp2.refine_with_constraint(A == 0);
-
-  bool ok = (sp1 != sp2 && cp1 != cp2);
-
-  if (!ok)
-    return false;
-
-  sp1.refine_with_congruence((A %= 0) / 4);
-  sp1.refine_with_congruence((A %= 1) / 4);
-
-  cp1.refine_with_constraint(A >= 0);
-  cp1.refine_with_constraint(A <= 0);
-
-  ok = (sp1 == sp2 && cp1 == cp2);
-
-  ok = ok && sp1.OK() && sp2.OK() && cp1.OK() && cp2.OK();
-
-  print_congruences(sp1, "*** sp1 congruences ***");
-  print_constraints(sp1, "*** sp1 constraints ***");
-  print_congruences(cp1, "*** cp1 congruences ***");
-  print_constraints(cp1, "*** cp1 constraints ***");
-
-  return ok;
-}
-
-// operator=
-bool
-test02() {
-  Variable A(0);
-  Variable B(1);
-
-  Constraint_System cs(A + B <= 9);
-
-  SProduct sp1(2);
-  sp1.refine_with_congruence((A %= 9) / 19);
-  sp1.refine_with_congruence((A %= 8) / 19);
-  SProduct sp2 = sp1;
-  CProduct cp1(2);
-  cp1.refine_with_constraints(cs);
-  cp1.refine_with_constraint(A >= 9);
-  cp1.refine_with_constraint(A <= 9);
-  CProduct cp2 = cp1;
-
-  bool ok =  (sp1 == sp2 && cp1 == cp2);
-
-  ok = ok && sp1.OK() && sp2.OK() && cp1.OK() && cp2.OK();
-
-  print_congruences(sp1, "*** sp1 congruences ***");
-  print_constraints(sp1, "*** sp1 constraints ***");
-  print_congruences(cp1, "*** cp1 congruences ***");
-  print_constraints(cp1, "*** cp1 constraints ***");
-
-  return ok;
-}
-
-// Copy constructor.
-bool
-test03() {
-  Variable A(0);
-  Variable B(2);
-
-  Constraint_System cs(A - B == 0);
-
-  SProduct sp1(cs);
-  sp1.refine_with_congruence((A %= 9) / 19);
-  sp1.refine_with_congruence((A %= 8) / 19);
-  SProduct sp2(sp1);
-  CProduct cp1(cs);
-  cp1.refine_with_constraint(A >= 9);
-  cp1.refine_with_constraint(A <= 9);
-  CProduct cp2(cp1);
-
-  bool ok =  (sp1 == sp2 && cp1 == cp2);
-
-  ok = ok && sp1.OK() && sp2.OK() && cp1.OK() && cp2.OK();
-
-  print_congruences(sp1, "*** sp1 congruences ***");
-  print_constraints(sp1, "*** sp1 constraints ***");
-  print_congruences(cp1, "*** cp1 congruences ***");
-  print_constraints(cp1, "*** cp1 constraints ***");
-
-  return ok;
-}
-
-// affine_dimension()
-bool
-test04() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Constraint_System cs;
-  cs.insert(A - C <= 9);
-  cs.insert(A - C >= 9);
-  cs.insert(B == 2);
-
-  SProduct sp(3);
-  sp.refine_with_constraints(cs);
-  CProduct cp(3);
-  cp.refine_with_constraints(cs);
-
-  bool ok = (sp.affine_dimension() == 1
-             && cp.affine_dimension() == 1
-	     && sp.domain1().affine_dimension() == 2
-	     && sp.domain2().affine_dimension() == 1
-	     && cp.domain1().affine_dimension() == 1
-	     && cp.domain2().affine_dimension() == 1);
-
-  ok = ok && sp.OK() && cp.OK();
-
-  print_congruences(sp, "*** sp congruences ***");
-  print_constraints(sp, "*** sp constraints ***");
-  print_congruences(cp, "*** cp congruences ***");
-  print_constraints(cp, "*** cp constraints ***");
-
-  return ok;
-}
-
-// congruences()
-bool
-test05() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Constraint_System cs1;
-  cs1.insert(A - C <= 8);
-  cs1.insert(A - C >= 9);
-  Constraint_System cs2;
-  cs2.insert(A - C <= 9);
-  cs2.insert(A - C >= 9);
-
-  SProduct sp(3);
-  sp.refine_with_constraints(cs1);
-  CProduct cp(3);
-  cp.refine_with_constraints(cs2);
-
-  DProduct known_dp1(3, EMPTY);
-  DProduct known_dp2(3);
-  known_dp2.refine_with_constraint(A - C == 9);
-
-  DProduct dp1(3);
-  dp1.refine_with_congruences(sp.congruences());
-  DProduct dp2(3);
-  dp2.refine_with_congruences(cp.congruences());
-
-  bool ok = (dp1 == known_dp1 && dp2 == known_dp2);
-
-  ok = ok && sp.OK() && cp.OK();
-
-  print_congruences(sp, "*** sp congruences ***");
-  print_constraints(sp, "*** sp constraints ***");
-  print_congruences(cp, "*** cp congruences ***");
-  print_constraints(cp, "*** cp constraints ***");
-
-  return ok;
-}
-
-// minimized_congruences()
-bool
-test06() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Constraint_System cs1;
-  cs1.insert(A - C <= 8);
-  cs1.insert(A - C >= 9);
-  Constraint_System cs2;
-  cs2.insert(A - C <= 9);
-  cs2.insert(A - C >= 9);
-
-
-  SProduct sp(3);
-  sp.refine_with_constraints(cs1);
-  CProduct cp(3);
-  cp.refine_with_constraints(cs2);
-
-  DProduct known_dp1(3, EMPTY);
-  DProduct known_dp2(3);
-  known_dp2.refine_with_constraint(A - C == 9);
-
-  DProduct dp1(3);
-  dp1.refine_with_congruences(sp.minimized_congruences());
-  DProduct dp2(3);
-  dp2.refine_with_congruences(cp.minimized_congruences());
-
-  bool ok = (dp1 == known_dp1 && dp2 == known_dp2);
-
-  ok = ok && sp.OK() && cp.OK();
-
-  print_congruences(sp, "*** sp congruences ***");
-  print_constraints(sp, "*** sp constraints ***");
-  print_congruences(cp, "*** cp congruences ***");
-  print_constraints(cp, "*** cp constraints ***");
-
-  return ok;
-}
-
-// constraints()
-bool
-test07() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-#ifdef PH_IS_NNC
-  Constraint c(A > 9);
-#else
-  Constraint c(A >= 9);
-#endif
-
-  SProduct sp(3);
-  sp.refine_with_congruence((B + C %= 3) / 0);
-  sp.refine_with_constraint(c);
-  sp.refine_with_constraint(A <= 8);
-  CProduct cp(3);
-  cp.refine_with_congruence((B + C %= 3) / 0);
-  cp.refine_with_constraint(c);
-  cp.refine_with_constraint(B <= 11);
-  cp.refine_with_constraint(B >= 11);
-
-  DProduct dp1(sp.space_dimension());
-  DProduct dp2(cp.space_dimension());
-
-  dp1.refine_with_constraints(sp.constraints());
-  dp2.refine_with_constraints(cp.constraints());
-
-  DProduct known_dp1(sp.space_dimension(), EMPTY);
-  DProduct known_dp2(sp.space_dimension());
-  known_dp2.refine_with_constraint(C == -8);
-  known_dp2.refine_with_constraint(c);
-  known_dp2.refine_with_constraint(B == 11);
-
-  bool ok = (dp1 == known_dp1 && dp2 == known_dp2);
-
-  ok = ok && sp.OK() && cp.OK();
-
-  print_congruences(sp, "*** sp congruences ***");
-  print_constraints(sp, "*** sp constraints ***");
-  print_congruences(cp, "*** cp congruences ***");
-  print_constraints(cp, "*** cp constraints ***");
-
-  return ok;
-}
-
-// minimized_constraints()
-bool
-test08() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-#ifdef PH_IS_NNC
-  Constraint c(A > 9);
-#else
-  Constraint c(A >= 9);
-#endif
-
-  SProduct sp(3);
-  sp.refine_with_congruence((B + C %= 3) / 0);
-  sp.refine_with_constraint(c);
-  sp.refine_with_constraint(A <= 8);
-  CProduct cp(3);
-  cp.refine_with_congruence((B + C %= 3) / 0);
-  cp.refine_with_constraint(c);
-  cp.refine_with_constraint(B <= 11);
-  cp.refine_with_constraint(B >= 11);
-
-  DProduct dp1(sp.space_dimension());
-  DProduct dp2(cp.space_dimension());
-
-  dp1.refine_with_constraints(sp.minimized_constraints());
-  dp2.refine_with_constraints(cp.minimized_constraints());
-
-  DProduct known_dp1(sp.space_dimension(), EMPTY);
-  DProduct known_dp2(sp.space_dimension());
-  known_dp2.refine_with_constraint(C == -8);
-  known_dp2.refine_with_constraint(c);
-  known_dp2.refine_with_constraint(B == 11);
-
-  bool ok = (dp1 == known_dp1 && dp2 == known_dp2);
-
-  ok = ok && sp.OK() && cp.OK();
-
-  print_congruences(sp, "*** sp congruences ***");
-  print_constraints(sp, "*** sp constraints ***");
-  print_congruences(cp, "*** cp congruences ***");
-  print_constraints(cp, "*** cp constraints ***");
-
-  return ok;
-}
-
-// is_empty() where both domain objects have points.
-bool
-test09() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  SProduct sp(3);
-  sp.refine_with_congruence(A %= 9);
-  sp.refine_with_congruence(B + C %= 3);
-
-  bool smash_ok = !sp.is_empty();
-
-  smash_ok = smash_ok && sp.OK();
-
-  CProduct cp(3);
-  cp.refine_with_congruence(A %= 9);
-  cp.refine_with_congruence(B + C %= 3);
-
-  bool cons_ok = !cp.is_empty();
-
-  cons_ok = cons_ok && cp.OK();
-
-  print_congruences(sp, "*** sp congruences ***");
-  print_constraints(sp, "*** sp constraints ***");
-  print_congruences(cp, "*** cp congruences ***");
-  print_constraints(cp, "*** cp constraints ***");
-
-  return smash_ok && cons_ok;
-}
-
-// is_empty().
-bool
-test10() {
-  Variable A(0);
-
-  SProduct sp(3);
-  sp.refine_with_constraint(A <= 1);
-  sp.refine_with_constraint(A >= 3);
-
-  bool smash_ok = sp.is_empty();
-  smash_ok = smash_ok && sp.OK();
-
-  CProduct cp(3);
-  cp.refine_with_constraint(A >= 1);
-  cp.refine_with_constraint(A <= 1);
-  cp.refine_with_congruence((A %= 3) / 0);
-
-  bool cons_ok = cp.is_empty();
-  cons_ok = cons_ok && cp.OK();
-
-  print_congruences(sp, "*** sp congruences ***");
-  print_constraints(sp, "*** sp constraints ***");
-  print_congruences(cp, "*** cp congruences ***");
-  print_constraints(cp, "*** cp constraints ***");
-
-  return smash_ok && cons_ok;
-}
-
-// is_topologically_closed().
-bool
-test11() {
-  Variable A(0);
-
-  SProduct sp(3);
-  bool smash_ok;
-  CProduct cp(3);
-  bool cons_ok;
-#ifdef PH_IS_NNC
-  sp.refine_with_constraint(A < 3);
-  cp.refine_with_constraint(A < 3);
-
-  smash_ok = !sp.is_topologically_closed();
-  cons_ok = !cp.is_topologically_closed();
-#else
-  sp.refine_with_constraint(A <= 3);
-  cp.refine_with_constraint(A <= 3);
-
-  smash_ok = sp.is_topologically_closed();
-  cons_ok = cp.is_topologically_closed();
-#endif
-  smash_ok = smash_ok && sp.OK();
-  cons_ok = cons_ok && cp.OK();
-
-  if (!smash_ok || !cons_ok) {
-    print_congruences(sp, "*** sp congruences non-empty ***");
-    print_constraints(sp, "*** sp constraints non-empty ***");
-    print_congruences(cp, "*** cp congruences non-empty ***");
-    print_constraints(cp, "*** cp constraints non-empty ***");
-    return false;
-  }
-
-  sp.refine_with_congruence((A %= 0) / 2);
-  sp.refine_with_congruence((A %= 1) / 2);
-#ifdef PH_IS_NNC
-  cp.refine_with_congruence((A %= 2) / 0);
-#else
-  cp.refine_with_congruence((A %= 2) / 0);
-#endif
-
-  smash_ok = sp.is_topologically_closed();
-  cons_ok = cp.is_topologically_closed();
-  smash_ok = smash_ok && sp.OK();
-  cons_ok = cons_ok && cp.OK();
-
-  print_congruences(sp, "*** sp congruences ***");
-  print_constraints(sp, "*** sp constraints ***");
-  print_congruences(cp, "*** cp congruences ***");
-  print_constraints(cp, "*** cp constraints ***");
-
-  return smash_ok && cons_ok;
-}
-
-// is_disjoint_from().
-bool
-test12() {
-  Variable B(1);
-
-  SProduct sp1(4);
-  sp1.refine_with_constraint(B <= 3);
-  sp1.refine_with_constraint(B >= 3);
-
-  SProduct sp2(4);
-  sp2.refine_with_congruence((B %= 1) / 3);
-
-  bool ok = !sp1.is_disjoint_from(sp2);
-  ok = ok && sp1.OK() && sp2.OK();
-
-  print_congruences(sp1, "*** sp1 congruences ***");
-  print_constraints(sp1, "*** sp1 constraints ***");
-  print_congruences(sp2, "*** sp2 congruences ***");
-  print_constraints(sp2, "*** sp2 constraints ***");
-
-  if (!ok)
-    return false;
-
-  CProduct cp1(4);
-  cp1.refine_with_constraint(B <= 3);
-  cp1.refine_with_constraint(B >= 3);
-
-  CProduct cp2(4);
-  cp2.refine_with_congruence((B %= 1) / 3);
-
-  ok = cp1.is_disjoint_from(cp2);
-  ok = ok && cp1.OK() && cp2.OK();
-
-  print_congruences(cp1, "*** cp1 congruences ***");
-  print_constraints(cp1, "*** cp1 constraints ***");
-  print_congruences(cp2, "*** cp2 congruences ***");
-  print_constraints(cp2, "*** cp2 constraints ***");
-
-  return ok;
-}
-
-// is_bounded().
-bool
-test13() {
-  Variable A(0);
-  Variable B(1);
-
-  bool ok;
-
-  SProduct sp(2);
-  sp.refine_with_constraint(A >= 1);
-  sp.refine_with_constraint(A <= 0);
-  sp.refine_with_congruence((A %= 1) / 3);
-
-  ok = sp.is_bounded();
-  ok = ok && sp.OK();
-
-  print_congruences(sp, "*** sp congruences ***");
-  print_constraints(sp, "*** sp constraints ***");
-
-  if (!ok)
-    return false;
-
-  CProduct cp(2);
-  cp.refine_with_constraint(A >= 1);
-  cp.refine_with_constraint(A <= 1);
-  cp.refine_with_congruence((A %= 1) / 3);
-  cp.refine_with_congruence((B %= 1) / 0);
-
-  ok = cp.is_bounded();
-  ok = ok && cp.OK();
-
-  print_congruences(cp, "*** cp congruences ***");
-  print_constraints(cp, "*** cp constraints ***");
-
-  return ok;
-}
-
-// ok(), not reduced.
-bool
-test14() {
-  Variable A(0);
-  Variable B(1);
-
-  bool ok;
-
-  SProduct sp(2);
-  sp.refine_with_constraint(A >= 1);
-  sp.refine_with_constraint(A <= 0);
-  sp.refine_with_congruence((A %= 1) / 3);
-
-  ok = sp.OK();
-
-#if PH_IS_FIRST
-  print_constraints(sp.domain1().constraints(),
-		    "*** sp,domain1() constraints ***");
-  print_congruences(sp.domain2().congruences(),
-		    "*** sp,domain2() congruences ***");
-#else
-  print_congruences(sp.domain1().congruences(),
-		    "*** sp,domain1() congruences ***");
-  print_constraints(sp.domain2().constraints(),
-		    "*** sp,domain2() constraints ***");
-#endif
-
-  if (!ok)
-    return false;
-
-  CProduct cp(2);
-  cp.refine_with_constraint(A >= 1);
-  cp.refine_with_constraint(A <= 1);
-  cp.refine_with_congruence((A %= 1) / 3);
-  cp.refine_with_congruence((B %= 1) / 0);
-
-  ok = cp.OK();
-
-#if PH_IS_FIRST
-  print_constraints(cp.domain1().constraints(),
-		    "*** cp,domain1() constraints ***");
-  print_congruences(cp.domain2().congruences(),
-		    "*** cp,domain2() congruences ***");
-#else
-  print_congruences(cp.domain1().congruences(),
-		    "*** cp,domain1() congruences ***");
-  print_constraints(cp.domain2().constraints(),
-		    "*** cp,domain2() constraints ***");
-#endif
-
-  return ok;
-}
-
-// ok(), is reduced.
-bool
-test15() {
-  Variable A(0);
-  Variable B(1);
-
-  bool ok;
-
-  SProduct sp(2);
-  sp.refine_with_constraint(A >= 1);
-  sp.refine_with_constraint(A <= 0);
-  sp.refine_with_congruence((A %= 1) / 3);
-
-  // reduce the product
-  Constraint_System sp_cs = sp.constraints();
-
-  ok = sp.OK();
-
-  if (!ok) {
-    print_constraints(sp_cs, "*** sp.constraints(); ***");
-    return false;
-  }
-
-  Grid sp_gr(sp_cs);
-  ok = sp_gr.is_empty();
-
-#if PH_IS_FIRST
-  print_constraints(sp.domain1().constraints(),
-		    "*** sp.domain1() constraints ***");
-  print_congruences(sp.domain2().congruences(),
-		    "*** sp.domain2() congruences ***");
-#else
-  print_congruences(sp.domain1().congruences(),
-		    "*** sp.domain1() congruences ***");
-  print_constraints(sp.domain2().constraints(),
-		    "*** sp.domain2() constraints ***");
-#endif
-
-  if (!ok)
-    return false;
-
-  CProduct cp(2);
-  cp.refine_with_constraint(A >= 1);
-  cp.refine_with_constraint(A <= 1);
-  cp.refine_with_congruence((A %= 1) / 3);
-  cp.refine_with_congruence((B %= 1) / 0);
-
-  // reduce the product
-  Constraint_System cp_cs = sp.constraints();
-
-  ok = cp.OK();
-
-  if (!ok) {
-    print_constraints(cp_cs, "*** cp.constraints(); ***");
-    return false;
-  }
-
-  Grid cp_gr(cp_cs);
-  ok = (cp_gr.affine_dimension() == 0);
-
-#if PH_IS_FIRST
-  print_constraints(cp.domain1().constraints(),
-		    "*** cp.domain1() constraints ***");
-  print_congruences(cp.domain2().congruences(),
-		    "*** cp.domain2() congruences ***");
-#else
-  print_congruences(cp.domain1().congruences(),
-		    "*** cp.domain1() congruences ***");
-  print_constraints(cp.domain2().constraints(),
-		    "*** cp.domain2() constraints ***");
-#endif
-
-  return ok;
-}
-
-// Building from inequality constraints()
-bool
-test16() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Constraint_System cs;
-  cs.insert(A - C <= 8);
-  cs.insert(A - C >= 9);
-
-  try {
-    SProduct sp(cs);
-   }
-  catch (const std::invalid_argument& e) {
-    nout << "cs contains an inequality constraint: " << e.what() << endl;
-    return true;
-  }
-  catch (...) {
-  }
-  return false;
-}
-
-// Building from equality congruences()
-bool
-test17() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  Congruence_System cgs1;
-  cgs1.insert((A - C %= 8) / 0);
-  Congruence_System cgs2;
-  cgs2.insert((A - C %= 9) / 0);
-  cgs2.insert((B %= 21) / 0);
-
-  SProduct sp(cgs1);
-  CProduct cp(cgs2);
-
-
-  bool ok = sp.OK() && cp.OK();
-
-  print_congruences(sp, "*** sp congruences ***");
-  print_constraints(sp, "*** sp constraints ***");
-  print_congruences(cp, "*** cp congruences ***");
-  print_constraints(cp, "*** cp constraints ***");
-
-  return ok;
-}
-
-// refine_with_congruences
-bool
-test18() {
-  Variable A(0);
-  Variable B(1);
-
-  Congruence_System cgs;
-  cgs.insert((A %= 0) / 2);
-  cgs.insert((A + B %= 0) / 2);
-  cgs.insert((B %= 0) / 2);
-  cgs.insert(A + B == 0);
-
-  SProduct sp(2);
-  CProduct cp(2);
-
-  sp.refine_with_congruences(cgs);
-  cp.refine_with_congruences(cgs);
-
-  Grid gr(cgs);
-
-  SProduct known_sp(gr);
-  CProduct known_cp(gr);
-
-  bool ok = (sp == known_sp && cp == known_cp);
-
-  print_constraints(sp, "*** sp constraints ***");
-  print_congruences(sp, "*** sp congruences ***");
-  print_constraints(cp, "*** cp constraints ***");
-  print_congruences(cp, "*** cp congruences ***");
-
-  return ok;
-}
-
-// add_recycled_congruences
-bool
-test19() {
-  Variable A(0);
-  Variable B(1);
-
-  Congruence_System cgs;
-  cgs.insert((A + B %= 0) / 2);
-  cgs.insert((A %= 0) / 0);
-
-  SProduct sp(2);
-  CProduct cp(2);
-
-  Congruence_System cgs_copy = cgs;
-  Congruence_System cgs_copy2 = cgs;
-
-  sp.add_recycled_congruences(cgs);
-  cp.add_recycled_congruences(cgs_copy);
-
-  Grid gr(cgs_copy2);
-
-  SProduct known_sp(gr);
-  CProduct known_cp(gr);
-
-  bool ok = (sp == known_sp && cp == known_cp);
-
-  print_constraints(sp, "*** sp constraints ***");
-  print_congruences(sp, "*** sp congruences ***");
-  print_constraints(cp, "*** cp constraints ***");
-  print_congruences(cp, "*** cp congruences ***");
-
-  return ok;
-}
-
-// add_recycled_congruences
-bool
-test20() {
-  Variable A(0);
-  Variable B(1);
-
-  Congruence_System cgs;
-  cgs.insert((B %= 0) / 2);
-  cgs.insert((A %= 0) / 2);
-  cgs.insert((A %= 0) / 1);
-  cgs.insert(A - B == 0);
-
-  SProduct sp(2);
-  CProduct cp(2);
-
-  Congruence_System cgs_copy = cgs;
-  Congruence_System cgs_copy2 = cgs;
-
-  sp.add_recycled_congruences(cgs);
-  cp.add_recycled_congruences(cgs_copy);
-
-  Grid gr(cgs_copy2);
-
-  SProduct known_sp(gr);
-  CProduct known_cp(gr);
-
-  bool ok = (sp == known_sp && cp == known_cp);
-
-  print_constraints(sp, "*** sp constraints ***");
-  print_congruences(sp, "*** sp congruences ***");
-  print_constraints(cp, "*** cp constraints ***");
-  print_congruences(cp, "*** cp congruences ***");
-
-  return ok;
-}
-
-} // namespace
-
-BEGIN_MAIN
-  DO_TEST(test01);
-  DO_TEST(test02);
-  DO_TEST(test03);
-  DO_TEST(test04);
-  DO_TEST(test05);
-  DO_TEST(test06);
-  DO_TEST(test07);
-  DO_TEST(test08);
-  DO_TEST(test09);
-  DO_TEST(test10);
-  DO_TEST(test11);
-  DO_TEST(test12);
-  DO_TEST(test13);
-  DO_TEST(test14);
-  DO_TEST(test15);
-  DO_TEST(test16);
-  DO_TEST(test17);
-  DO_TEST(test18);
-  DO_TEST(test19);
-  DO_TEST(test20);
-END_MAIN
diff --git a/tests/Partially_Reduced_Product/partiallyreducedproduct2.cc b/tests/Partially_Reduced_Product/partiallyreducedproduct2.cc
deleted file mode 100644
index 3713e7a..0000000
--- a/tests/Partially_Reduced_Product/partiallyreducedproduct2.cc
+++ /dev/null
@@ -1,960 +0,0 @@
-/* Test Partially_Reduced_Product<>.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include "ppl_test.hh"
-
-#define PH_IS_NNC
-// #define PH_IS_FIRST
-
-#ifdef PH_IS_NNC
-typedef NNC_Polyhedron Poly;
-#else
-typedef C_Polyhedron Poly;
-#endif
-
-#ifdef PH_IS_FIRST
-typedef Domain_Product<Poly, Grid>::Smash_Product SProduct;
-typedef Domain_Product<Poly, Grid>::Constraints_Product CProduct;
-#else
-typedef Domain_Product<Grid, Poly>::Smash_Product SProduct;
-typedef Domain_Product<Grid, Poly>::Constraints_Product CProduct;
-#endif
-
-namespace {
-
-// Tests 1-10 are for just the Smash_Product domains.
-
-// space_dimension()
-bool
-test01() {
-  Variable A(0);
-  Variable E(4);
-
-#ifdef PH_IS_NNC
-  Constraint_System cs(A + E < 9);
-#else
-  Constraint_System cs(A + E <= 9);
-#endif
-
-  SProduct sp(5);
-  sp.refine_with_constraints(cs);
-
-  bool smash_ok = (sp.space_dimension() == 5);
-
-  print_congruences(sp, "*** sp congruences ***");
-  print_constraints(sp, "*** sp constraints ***");
-
-  return smash_ok;
-}
-
-// affine_dimension()
-bool
-test02() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  SProduct sp(3);
-  sp.refine_with_constraint(A - C <= 9);
-  sp.refine_with_constraint(A - C >= 9);
-  sp.refine_with_constraint(B >= 2);
-
-  bool smash_ok = sp.space_dimension() == 3;
-  smash_ok = smash_ok && sp.affine_dimension() == 2;
-
-  if (smash_ok) {
-    sp.refine_with_constraint(A - C >= 4);
-    sp.refine_with_constraint(A - C <= 4);
-
-    smash_ok = smash_ok && sp.affine_dimension() == 0;
-  }
-
-  print_congruences(sp, "*** sp congruences ***");
-  print_constraints(sp, "*** sp constraints ***");
-
-  return smash_ok;
-}
-
-// contains()
-bool
-test03() {
-  Variable A(0);
-
-  SProduct sp1(1);
-  sp1.refine_with_constraint(A <= 3);
-  sp1.refine_with_congruence((A %= 1) / 2);
-
-  SProduct sp2(1);
-  sp2.refine_with_constraint(A <= 3);
-  sp2.refine_with_constraint(A >= 4);
-  sp2.refine_with_congruence((A %= 0) / 2);
-
-  bool smash_ok1 = sp1.contains(sp2) && sp1.strictly_contains(sp2);
-
-  print_constraints(sp1, "*** sp1 constraints ***");
-  print_congruences(sp1, "*** sp1 congruences ***");
-
-  if (!smash_ok1)
-    return smash_ok1;
-
-  SProduct sp3(1);
-  sp3.refine_with_constraint(A <= 3);
-  sp3.refine_with_congruence((A %= 1) / 2);
-
-  SProduct sp4(1);
-  sp4.refine_with_constraint(A <= 4);
-  sp4.refine_with_congruence((A %= 0) / 2);
-  sp4.refine_with_congruence((A %= 1) / 2);
-
-  bool smash_ok2 = sp3.contains(sp4) && sp3.strictly_contains(sp4);
-
-  print_constraints(sp3, "*** sp3 constraints ***");
-  print_congruences(sp3, "*** sp3 congruences ***");
-
-  if (!smash_ok2)
-    return smash_ok2;
-
-  SProduct sp5(1);
-  sp5.refine_with_constraint(A <= 3);
-  sp5.refine_with_constraint(A >= 4);
-  sp5.refine_with_congruence((A %= 1) / 2);
-  sp5.refine_with_congruence((A %= 0) / 2);
-
-  SProduct sp6(1, EMPTY);
-
-  bool smash_ok3 = sp5.contains(sp6) && !sp5.strictly_contains(sp6);
-
-  print_constraints(sp5, "*** sp5 constraints ***");
-  print_congruences(sp5, "*** sp5 congruences ***");
-
-  return smash_ok3;
-}
-
-// intersection_assign()
-bool
-test04() {
-  Variable A(0);
-  Variable B(1);
-
-  SProduct sp1(3);
-  sp1.refine_with_constraint(A >= 0);
-  sp1.refine_with_congruence((A %= 0) / 2);
-
-  SProduct sp2(3);
-  sp2.refine_with_constraint(A <= 0);
-  sp2.refine_with_congruence((A %= 0) / 1);
-
-  sp1.intersection_assign(sp2);
-
-  SProduct known_sp(3);
-  known_sp.refine_with_constraint(A == 0);
-
-  bool smash_ok1 = !(sp1 == known_sp);
-  if (!smash_ok1) {
-    print_congruences(sp1, "*** sp1 congruences ***");
-    print_constraints(sp1, "*** sp1 constraints ***");
-    print_congruences(sp2, "*** sp2 congruences ***");
-    print_constraints(sp2, "*** sp2 constraints ***");
-    return smash_ok1;
-  }
-
-  sp2.refine_with_constraint(A >= 1);
-  sp1.intersection_assign(sp2);
-
-  known_sp.refine_with_constraint(A == 1);
-
-  bool smash_ok2 = (sp1 == known_sp);
-
-  print_congruences(sp1, "*** sp1 congruences ***");
-  print_constraints(sp1, "*** sp1 constraints ***");
-  print_congruences(sp2, "*** sp2 congruences ***");
-  print_constraints(sp2, "*** sp2 constraints ***");
-
-  return smash_ok2;
-}
-
-// upper_bound_assign(sp2)
-bool
-test05() {
-  Variable A(0);
-  Variable B(1);
-
-  SProduct sp(1);
-  sp.refine_with_constraint(A <= 18);
-  sp.refine_with_constraint(A >= 18);
-
-  SProduct sp1(sp);
-
-  SProduct sp2(1);
-  sp2.refine_with_congruence((A %= 19) / 20);
-  sp2.refine_with_congruence((A %= 18) / 20);
-
-  sp1.upper_bound_assign(sp2);
-
-  bool smash_ok = (sp1 == sp);
-
-  print_congruences(sp1, "*** sp1 congruences ***");
-  print_constraints(sp1, "*** sp1 constraints ***");
-
-  if (!smash_ok)
-    return false;
-
-  sp2.upper_bound_assign(sp1);
-
-  smash_ok = (sp2 == sp);
-
-  print_congruences(sp2, "*** sp2 congruences ***");
-  print_constraints(sp2, "*** sp2 constraints ***");
-
-  return smash_ok;
-}
-
-// upper_bound_assign_if_exact()
-bool
-test06() {
-  Variable A(0);
-  Variable B(1);
-
-  SProduct sp(3);
-  sp.refine_with_congruence((A %= 0) / 2);
-  sp.refine_with_congruence((B %= 0) / 2);
-
-  SProduct sp1(sp);
-
-  SProduct sp2(3);
-  sp2.refine_with_congruence((A %= 1) / 3);
-  sp2.refine_with_congruence((B %= 1) / 3);
-
-  bool smash_ok = (!sp1.upper_bound_assign_if_exact(sp2)
-		   && !sp2.upper_bound_assign_if_exact(sp1));
-
-  if (!smash_ok) {
-    print_congruences(sp1, "*** sp1 congruences ub exact ***");
-    print_constraints(sp1, "*** sp1 constraints ub exact ***");
-    print_congruences(sp2, "*** sp2 congruences ub exact ***");
-    print_constraints(sp2, "*** sp2 constraints ub exact ***");
-    return false;
-  }
-
-  smash_ok = (sp == sp1);
-
-  print_congruences(sp1, "*** sp1 congruences ***");
-  print_constraints(sp1, "*** sp1 constraints ***");
-  print_congruences(sp2, "*** sp2 congruences ***");
-  print_constraints(sp2, "*** sp2 constraints ***");
-
-  if (!smash_ok)
-    return false;
-
-  // The grid component is empty so that the smash product
-  // reduces the polyhedron component to empty.
-  sp1.refine_with_congruence((B %= 1) / 2);
-  sp1.refine_with_congruence((B %= 0) / 2);
-
-  // The polyhedron component is empty so that the smash product
-  // reduces the grid component to empty.
-  sp2.refine_with_constraint(B >= 1);
-  sp2.refine_with_constraint(B <= 0);
-
-  smash_ok = sp1.upper_bound_assign_if_exact(sp2)
-   && sp2.upper_bound_assign_if_exact(sp1);
-
-  if (!smash_ok)
-    return false;
-
-  SProduct known_sp(3, EMPTY);
-
-  smash_ok = (sp1 == known_sp) && (sp2 == known_sp);
-
-  print_congruences(sp1, "*** sp1 congruences ***");
-  print_constraints(sp1, "*** sp1 constraints ***");
-  print_congruences(sp2, "*** sp2 congruences ***");
-  print_constraints(sp2, "*** sp2 constraints ***");
-
-  return (smash_ok);
-}
-
-// difference_assign(sp2)
-bool
-test07() {
-  Variable A(0);
-  Variable B(1);
-
-  SProduct sp(1);
-  sp.refine_with_constraint(A <= 18);
-  sp.refine_with_constraint(A >= 18);
-
-  SProduct sp1(sp);
-
-  SProduct sp2(1);
-  sp2.refine_with_congruence((A %= 19) / 20);
-  sp2.refine_with_congruence((A %= 18) / 20);
-
-  sp1.difference_assign(sp2);
-
-  bool smash_ok = (sp1 == sp);
-
-  print_congruences(sp1, "*** sp1 congruences ***");
-  print_constraints(sp1, "*** sp1 constraints ***");
-
-  if (!smash_ok)
-    return false;
-
-  sp2.difference_assign(sp1);
-
-  SProduct known_sp(1, EMPTY);
-
-  smash_ok = (sp2 == known_sp);
-
-  print_congruences(sp2, "*** sp2 congruences ***");
-  print_constraints(sp2, "*** sp2 constraints ***");
-
-  return smash_ok;
-}
-
-// time_elapse_assign(y)
-bool
-test08() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  SProduct sp1(3);
-  sp1.refine_with_constraint(A >= 0);
-  sp1.refine_with_constraint(B >= 0);
-  sp1.refine_with_constraint(A + B >= 3);
-  sp1.refine_with_constraint(2*A - B == 0);
-  sp1.refine_with_constraint(3*A + C == 0);
-  sp1.refine_with_congruence(3*A %= 0);
-
-  SProduct sp2(3);
-  sp2.refine_with_constraint(7*C == 4);
-  sp2.refine_with_constraint(7*B == -1);
-  sp2.refine_with_constraint(7*A == 3);
-
-  sp1.time_elapse_assign(sp2);
-
-  SProduct known_sp(3);
-  known_sp.refine_with_constraint(5*A - 13*B - 7*C == 0);
-  known_sp.refine_with_constraint(3*A + C >= 0);
-  known_sp.refine_with_constraint(A + B >= 3);
-  known_sp.refine_with_constraint(4*A - 3*C >= 13);
-  known_sp.refine_with_congruence((65*A - B %= 0) / 7);
-  known_sp.refine_with_congruence(21*A %= 0);
-
-  bool smash_ok = (sp1 == known_sp);
-
-  print_congruences(sp1, "*** sp1.time_elapse_assign(sp2) congruences ***");
-  print_constraints(sp1, "*** sp1.time_elapse_assign(sp2) constraints ***");
-  print_congruences(sp2, "*** sp2.time_elapse_assign(sp2) congruences ***");
-  print_constraints(sp2, "*** sp2.time_elapse_assign(sp2) constraints ***");
-
-  return smash_ok;
-}
-
-// topological_closure_assign
-bool
-test09() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  SProduct sp(3);
-  sp.refine_with_constraint(B >= 0);
-  sp.refine_with_constraint(3*A + C == 0);
-  sp.refine_with_constraint(2*A - B == 0);
-  sp.refine_with_congruence(3*A %= 0);
-#ifdef PH_IS_NNC
-  sp.refine_with_constraint(A > 0);
-#else
-  sp.refine_with_constraint(A >= 0);
-#endif
-
-  print_congruences(sp, "*** sp congruences ***");
-  print_constraints(sp, "*** sp constraints ***");
-
-  sp.topological_closure_assign();
-
-  SProduct known_sp(3);
-  known_sp.refine_with_constraint(B >= 0);
-  known_sp.refine_with_constraint(3*A + C == 0);
-  known_sp.refine_with_constraint(2*A - B == 0);
-  known_sp.refine_with_congruence(3*A %= 0);
-  known_sp.refine_with_constraint(A >= 0);
-
-  bool smash_ok = (sp == known_sp);
-
-  print_congruences(sp, "*** sp congruences ***");
-  print_constraints(sp, "*** sp constraints ***");
-
-  return smash_ok;
-}
-
-// widening_assign
-bool
-test10() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  SProduct sp_prev(3);
-  sp_prev.refine_with_constraint(C == 0);
-  sp_prev.refine_with_constraint(A - B >= 1);
-  sp_prev.refine_with_constraint(A <= 2);
-  sp_prev.refine_with_constraint(B >= 0);
-  sp_prev.refine_with_congruence((B %= 0) / 2);
-  sp_prev.refine_with_congruence(3*A %= 0);
-
-  print_congruences(sp_prev, "*** sp_prev congruences ***");
-  print_constraints(sp_prev, "*** sp_prev constraints ***");
-
-  SProduct sp(3);
-  sp.refine_with_constraint(C == 0);
-  sp.refine_with_constraint(A <= 2);
-  sp.refine_with_constraint(B >= 0);
-  sp.refine_with_constraint(2*A - B >= 2);
-  sp.refine_with_constraint(B >= 0);
-  sp.refine_with_congruence(6*A %= 0);
-  sp.refine_with_congruence((B %= 0) / 2);
-
-  sp.upper_bound_assign(sp_prev);
-
-  print_congruences(sp, "*** sp congruences ***");
-  print_constraints(sp, "*** sp constraints ***");
-
-  sp.widening_assign(sp_prev);
-
-  SProduct known_sp(3);
-  known_sp.refine_with_constraint(C == 0);
-  known_sp.refine_with_constraint(A <= 2);
-  known_sp.refine_with_constraint(B >= 0);
-  known_sp.refine_with_congruence((B %= 0) / 2);
-
-  bool smash_ok = (sp == known_sp);
-
-  print_congruences(sp, "*** sp.widening_assign(sp_prev) congruences ***");
-  print_constraints(sp, "*** sp.widening_assign(sp_prev) constraints ***");
-
-  return smash_ok;
-}
-
-// Tests 11-20 are for just the Constraints_Product domain.
-
-// space_dimension()
-bool
-test11() {
-  Variable A(0);
-  Variable E(4);
-
-  Constraint_System cs;
-  cs.insert(A + E <= 9);
-  cs.insert(A + E >= 9);
-
-  CProduct cp(5);
-  cp.refine_with_constraints(cs);
-
-  bool cons_ok = (cp.space_dimension() == 5);
-
-  print_congruences(cp, "*** cp congruences ***");
-  print_constraints(cp, "*** cp constraints ***");
-
-  return cons_ok;
-}
-
-// affine_dimension()
-bool
-test12() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  CProduct cp(3);
-  cp.refine_with_constraint(A - C <= 9);
-  cp.refine_with_constraint(A - C >= 9);
-  cp.refine_with_constraint(B >= 2);
-
-  bool cons_ok = cp.space_dimension() == 3;
-  cons_ok = cons_ok && cp.affine_dimension() == 2;
-
-  if (cons_ok) {
-    cp.refine_with_constraint(A - B >= 4);
-    cp.refine_with_constraint(A - B <= 4);
-
-    cons_ok = cons_ok && cp.affine_dimension() == 1;
-  }
-
-  print_congruences(cp, "*** cp congruences ***");
-  print_constraints(cp, "*** cp constraints ***");
-
-  return cons_ok;
-}
-
-// contains()
-bool
-test13() {
-  Variable A(0);
-
-  CProduct cp1(1);
-  cp1.refine_with_constraint(A <= 3);
-  cp1.refine_with_congruence((A %= 1) / 2);
-
-  CProduct cp2(1);
-  cp2.refine_with_constraint(A <= 2);
-  cp2.refine_with_constraint(A >= 2);
-  cp2.refine_with_congruence((A %= 1) / 4);
-
-  bool cons_ok1 = cp1.contains(cp2) && cp1.strictly_contains(cp2);
-
-  print_constraints(cp1, "*** cp1 constraints ***");
-  print_congruences(cp1, "*** cp1 congruences ***");
-
-  if (!cons_ok1)
-    return cons_ok1;
-
-  CProduct cp3(1);
-  cp3.refine_with_constraint(A <= 3);
-  cp3.refine_with_congruence((A %= 1) / 0);
-
-  CProduct cp4(1);
-  cp4.refine_with_constraint(A == 1);
-
-  bool cons_ok2 = cp3.contains(cp4) && !cp3.strictly_contains(cp4);
-
-  print_constraints(cp3, "*** cp3 constraints ***");
-  print_congruences(cp3, "*** cp3 congruences ***");
-
-  if (!cons_ok2)
-    return cons_ok2;
-
-  CProduct cp5(1);
-  cp5.refine_with_constraint(A <= 3);
-  cp5.refine_with_constraint(A >= 4);
-  cp5.refine_with_congruence((A %= 1) / 2);
-  cp5.refine_with_congruence((A %= 0) / 2);
-
-  CProduct cp6(1, EMPTY);
-
-  bool cons_ok3 = cp5.contains(cp6) && !cp5.strictly_contains(cp6);
-
-  print_constraints(cp5, "*** cp5 constraints ***");
-  print_congruences(cp5, "*** cp5 congruences ***");
-
-  return cons_ok3;
-}
-
-// intersection_assign()
-bool
-test14() {
-  Variable A(0);
-  Variable B(1);
-
-  CProduct cp1(3);
-  cp1.refine_with_constraint(A >= 0);
-  cp1.refine_with_congruence((A %= 0) / 2);
-
-  CProduct cp2(3);
-  cp2.refine_with_constraint(A <= 0);
-  cp2.refine_with_congruence((A %= 0) / 2);
-
-  cp1.intersection_assign(cp2);
-
-  CProduct known_cp(3);
-  known_cp.refine_with_constraint(A == 0);
-  known_cp.refine_with_congruence((A %= 0) / 2);
-
-  bool cons_ok1 = (cp1 == known_cp);
-  if (!cons_ok1) {
-    print_congruences(cp1, "*** cp1 congruences ***");
-    print_constraints(cp1, "*** cp1 constraints ***");
-    print_congruences(cp2, "*** cp2 congruences ***");
-    print_constraints(cp2, "*** cp2 constraints ***");
-    return cons_ok1;
-  }
-
-  cp2.refine_with_constraint(A >= 1);
-  cp1.intersection_assign(cp2);
-
-  known_cp.refine_with_constraint(A == 1);
-
-  bool cons_ok2 = (cp1 == known_cp);
-
-  print_congruences(cp1, "*** cp1 congruences ***");
-  print_constraints(cp1, "*** cp1 constraints ***");
-  print_congruences(cp2, "*** cp2 congruences ***");
-  print_constraints(cp2, "*** cp2 constraints ***");
-
-  return cons_ok2;
-}
-
-// upper_bound_assign(cp2)
-bool
-test15() {
-  Variable A(0);
-
-  CProduct cp(1);
-  cp.refine_with_constraint(A <= 18);
-  cp.refine_with_constraint(A >= 18);
-
-  CProduct cp1(cp);
-
-  CProduct cp2(1);
-  cp2.refine_with_congruence((A %= 18) / 20);
-
-  cp1.upper_bound_assign(cp2);
-
-  CProduct known_cp(1);
-  known_cp.refine_with_congruence((A %= 18) / 20);
-
-  bool cons_ok = (cp1 == known_cp);
-
-  print_congruences(cp1, "*** cp1 congruences ***");
-  print_constraints(cp1, "*** cp1 constraints ***");
-
-  if (!cons_ok) {
-    return false;
-  }
-
-  cp2.upper_bound_assign(cp1);
-
-  cons_ok = (cp2 == known_cp);
-
-  print_congruences(cp2, "*** cp2 congruences ***");
-  print_constraints(cp2, "*** cp2 constraints ***");
-
-  return cons_ok;
-}
-
-// upper_bound_assign_if_exact()
-bool
-test16() {
-  Variable A(0);
-  Variable B(1);
-
-  CProduct cp(3);
-  cp.refine_with_congruence((A %= 0) / 2);
-  cp.refine_with_congruence((B %= 0) / 2);
-
-  CProduct cp1(cp);
-
-  CProduct cp2(3);
-  cp2.refine_with_congruence((A %= 1) / 3);
-  cp2.refine_with_congruence((B %= 1) / 3);
-
-  bool cons_ok = (!cp1.upper_bound_assign_if_exact(cp2)
-		   && !cp2.upper_bound_assign_if_exact(cp1));
-
-  if (!cons_ok) {
-    print_congruences(cp1, "*** cp1 congruences ub exact ***");
-    print_constraints(cp1, "*** cp1 constraints ub exact ***");
-    print_congruences(cp2, "*** cp2 congruences ub exact ***");
-    print_constraints(cp2, "*** cp2 constraints ub exact ***");
-    return false;
-  }
-
-  cons_ok = (cp == cp1);
-
-  print_congruences(cp1, "*** cp1 congruences ***");
-  print_constraints(cp1, "*** cp1 constraints ***");
-  print_congruences(cp2, "*** cp2 congruences ***");
-  print_constraints(cp2, "*** cp2 constraints ***");
-
-  if (!cons_ok)
-    return false;
-
-  cp1.refine_with_congruence((B %= 1) / 2);
-
-  cp2.refine_with_constraint(B >= 1);
-  cp2.refine_with_constraint(B <= 1);
-
-  cons_ok = cp1.upper_bound_assign_if_exact(cp2)
-   && cp2.upper_bound_assign_if_exact(cp1);
-
-  if (!cons_ok)
-    return false;
-
-  CProduct known_cp(3);
-  known_cp.refine_with_congruence((B %= 1) / 0);
-  known_cp.refine_with_congruence((A %= 1) / 3);
-
-  cons_ok = (cp1 == known_cp) && (cp2 == known_cp);
-
-  print_congruences(cp1, "*** cp1 congruences ***");
-  print_constraints(cp1, "*** cp1 constraints ***");
-  print_congruences(cp2, "*** cp2 congruences ***");
-  print_constraints(cp2, "*** cp2 constraints ***");
-
-  return (cons_ok);
-}
-
-// difference_assign(cp2)
-bool
-test17() {
-  Variable A(0);
-  Variable B(1);
-
-  CProduct cp(1);
-  cp.refine_with_constraint(A <= 18);
-  cp.refine_with_constraint(A >= 18);
-
-  CProduct cp1(cp);
-
-  CProduct cp2(1);
-  cp2.refine_with_congruence((A %= 18) / 20);
-
-  cp1.difference_assign(cp2);
-
-  bool cons_ok = cp1.is_empty();
-
-  print_congruences(cp1, "*** cp1 congruences ***");
-  print_constraints(cp1, "*** cp1 constraints ***");
-
-  if (!cons_ok)
-    return false;
-
-  cp2.difference_assign(cp1);
-
-  CProduct known_cp(1);
-  known_cp.refine_with_congruence((A %= 18) / 20);
-
-  cons_ok = (cp2 == known_cp);
-
-  print_congruences(cp2, "*** cp2 congruences ***");
-  print_constraints(cp2, "*** cp2 constraints ***");
-
-  return cons_ok;
-}
-
-// time_elapse_assign(y)
-bool
-test18() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  CProduct cp1(3);
-  cp1.refine_with_constraint(A >= 0);
-  cp1.refine_with_constraint(B >= 0);
-  cp1.refine_with_constraint(A + B >= 3);
-  cp1.refine_with_constraint(2*A - B == 0);
-  cp1.refine_with_constraint(3*A + C == 0);
-  cp1.refine_with_congruence(3*A %= 0);
-
-  CProduct cp2(3);
-  cp2.refine_with_constraint(7*C == 4);
-  cp2.refine_with_constraint(7*B == -1);
-  cp2.refine_with_constraint(7*A == 3);
-
-  cp1.time_elapse_assign(cp2);
-
-  CProduct known_cp(3);
-  known_cp.refine_with_constraint(5*A - 13*B - 7*C == 0);
-  known_cp.refine_with_constraint(3*A + C >= 0);
-  known_cp.refine_with_constraint(A + B >= 3);
-  known_cp.refine_with_constraint(4*A - 3*C >= 13);
-  known_cp.refine_with_congruence((65*A - B %= 0) / 7);
-  known_cp.refine_with_congruence(21*A %= 0);
-
-  bool cons_ok = (cp1 == known_cp);
-
-  print_congruences(cp1, "*** cp1.time_elapse_assign(cp2) congruences ***");
-  print_constraints(cp1, "*** cp1.time_elapse_assign(cp2) constraints ***");
-  print_congruences(cp2, "*** cp2.time_elapse_assign(cp2) congruences ***");
-  print_constraints(cp2, "*** cp2.time_elapse_assign(cp2) constraints ***");
-
-  return cons_ok;
-}
-
-// topological_closure_assign
-bool
-test19() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  CProduct cp(3);
-  cp.refine_with_constraint(B >= 0);
-  cp.refine_with_constraint(3*A + C == 0);
-  cp.refine_with_constraint(2*A - B == 0);
-  cp.refine_with_congruence(3*A %= 0);
-#ifdef PH_IS_NNC
-  cp.refine_with_constraint(A > 0);
-#else
-  cp.refine_with_constraint(A >= 0);
-#endif
-
-  print_congruences(cp, "*** cp congruences ***");
-  print_constraints(cp, "*** cp constraints ***");
-
-  cp.topological_closure_assign();
-
-  CProduct known_cp(3);
-  known_cp.refine_with_constraint(B >= 0);
-  known_cp.refine_with_constraint(3*A + C == 0);
-  known_cp.refine_with_constraint(2*A - B == 0);
-  known_cp.refine_with_congruence(3*A %= 0);
-  known_cp.refine_with_constraint(A >= 0);
-
-  bool cons_ok = (cp == known_cp);
-
-  print_congruences(cp, "*** cp congruences ***");
-  print_constraints(cp, "*** cp constraints ***");
-
-  return cons_ok;
-}
-
-// widening_assign
-bool
-test20() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  CProduct cp_prev(3);
-  cp_prev.refine_with_constraint(C == 0);
-  cp_prev.refine_with_constraint(A - B >= 1);
-  cp_prev.refine_with_constraint(A <= 2);
-  cp_prev.refine_with_constraint(B >= 0);
-  cp_prev.refine_with_congruence((B %= 0) / 2);
-  cp_prev.refine_with_congruence(3*A %= 0);
-
-  print_congruences(cp_prev, "*** cp_prev congruences ***");
-  print_constraints(cp_prev, "*** cp_prev constraints ***");
-
-  CProduct cp(3);
-  cp.refine_with_constraint(C == 0);
-  cp.refine_with_constraint(A <= 2);
-  cp.refine_with_constraint(B >= 0);
-  cp.refine_with_constraint(2*A - B >= 2);
-  cp.refine_with_constraint(B >= 0);
-  cp.refine_with_congruence(6*A %= 0);
-  cp.refine_with_congruence((B %= 0) / 2);
-
-  cp.upper_bound_assign(cp_prev);
-
-  print_congruences(cp, "*** cp congruences ***");
-  print_constraints(cp, "*** cp constraints ***");
-
-  cp.widening_assign(cp_prev);
-
-  CProduct known_cp(3);
-  known_cp.refine_with_constraint(C == 0);
-  known_cp.refine_with_constraint(A <= 2);
-  known_cp.refine_with_constraint(B >= 0);
-  known_cp.refine_with_congruence((B %= 0) / 2);
-
-  bool cons_ok = (cp == known_cp);
-
-  print_congruences(cp, "*** cp.widening_assign(cp_prev) congruences ***");
-  print_constraints(cp, "*** cp.widening_assign(cp_prev) constraints ***");
-
-  return cons_ok;
-}
-
-// time_elapse_assign(y) where the initial products are not reduced
-// and only one component of the second product is empty.
-bool
-test21() {
-  Variable A(0);
-
-  CProduct cp1(1);
-  cp1.refine_with_constraint(A == A);
-
-  CProduct cp2(1);
-  cp2.refine_with_constraint(A >= 1);
-  cp2.refine_with_constraint(A <= 0);
-
-  cp1.time_elapse_assign(cp2);
-
-  CProduct known_cp(1, EMPTY);
-
-  bool cons_ok = cp1.OK() && (cp1 == known_cp);
-
-  print_congruences(cp1, "*** cp1.time_elapse_assign(cp2) congruences ***");
-  print_constraints(cp1, "*** cp1.time_elapse_assign(cp2) constraints ***");
-
-  print_congruences(cp2, "*** cp2 congruences ***");
-  print_constraints(cp2, "*** cp2 constraints ***");
-
-  return cons_ok;
-}
-
-// time_elapse_assign(y) where the initial products are not reduced
-// and the second product has non-intersecting single point components.
-bool
-test22() {
-  Variable A(0);
-
-
-  CProduct cp1(1);
-
-  print_congruences(cp1, "*** cp1 congruences ***");
-  print_constraints(cp1, "*** cp1 constraints ***");
-
-  Grid gr(1);
-  gr.refine_with_congruence((A %= 0)/ 2);
-
-  CProduct cp2(gr);
-
-  cp2.refine_with_constraint(A >= 1);
-  cp2.refine_with_constraint(A <= 1);
-
-  cp1.time_elapse_assign(cp2);
-
-  CProduct known_cp(1, EMPTY);
-
-  bool cons_ok = cp1.OK() && (cp1 == known_cp);
-
-  print_congruences(cp1, "*** cp1.time_elapse_assign(cp2) congruences ***");
-  print_constraints(cp1, "*** cp1.time_elapse_assign(cp2) constraints ***");
-
-  print_congruences(cp2, "*** cp2 congruences ***");
-  print_constraints(cp2, "*** cp2 constraints ***");
-
-  return cons_ok;
-}
-
-} // namespace
-
-BEGIN_MAIN
-  DO_TEST(test01);
-  DO_TEST(test02);
-  DO_TEST(test03);
-  DO_TEST(test04);
-  DO_TEST(test05);
-  DO_TEST(test06);
-  DO_TEST(test07);
-  DO_TEST_F8(test08);
-  DO_TEST(test09);
-  DO_TEST(test10);
-  DO_TEST(test11);
-  DO_TEST(test12);
-  DO_TEST(test13);
-  DO_TEST(test14);
-  DO_TEST(test15);
-  DO_TEST(test16);
-  DO_TEST(test17);
-  DO_TEST_F8(test18);
-  DO_TEST(test19);
-  DO_TEST(test20);
-  DO_TEST(test21);
-  DO_TEST(test22);
-END_MAIN
diff --git a/tests/Partially_Reduced_Product/partiallyreducedproduct3.cc b/tests/Partially_Reduced_Product/partiallyreducedproduct3.cc
deleted file mode 100644
index e65d49d..0000000
--- a/tests/Partially_Reduced_Product/partiallyreducedproduct3.cc
+++ /dev/null
@@ -1,755 +0,0 @@
-/* Test Partially_Reduced_Product<>.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include "ppl_test.hh"
-
-using namespace Parma_Polyhedra_Library::IO_Operators;
-
-#define PH_IS_NNC
-// #define PH_IS_FIRST
-
-#ifdef PH_IS_NNC
-typedef NNC_Polyhedron Poly;
-#else
-typedef C_Polyhedron Poly;
-#endif
-
-#ifdef PH_IS_FIRST
-typedef Domain_Product<Poly, Grid>::Direct_Product DProduct;
-typedef Domain_Product<Poly, Grid>::Smash_Product SProduct;
-typedef Domain_Product<Poly, Grid>::Constraints_Product CProduct;
-#else
-typedef Domain_Product<Grid, Poly>::Direct_Product DProduct;
-typedef Domain_Product<Grid, Poly>::Smash_Product SProduct;
-typedef Domain_Product<Grid, Poly>::Constraints_Product CProduct;
-#endif
-
-namespace {
-
-// relation_with a generator
-bool
-test01() {
-  Variable A(0);
-  Variable B(1);
-
-  Generator pnt(point(A + B));
-
-  SProduct sp(2);
-  sp.refine_with_constraint(A >= 1);
-  sp.refine_with_constraint(A <= 1);
-  CProduct cp(2);
-  cp.refine_with_constraint(A >= 1);
-  cp.refine_with_constraint(A <= 1);
-
-  bool smash_ok = Poly_Gen_Relation::subsumes() == sp.relation_with(pnt);
-  bool cons_ok = Poly_Gen_Relation::subsumes() == cp.relation_with(pnt);
-
-  if (!smash_ok) {
-    print_constraints(sp, "*** sp constraints subsumes ***");
-    print_congruences(sp, "*** sp congruences subsumes ***");
-    return false;
-  }
-
-  if (!cons_ok) {
-    print_constraints(cp, "*** cp constraints subsumes ***");
-    print_congruences(cp, "*** cp congruences subsumes ***");
-    return false;
-  }
-
-  sp.refine_with_congruence((A %= 0) / 2);
-  cp.refine_with_congruence((A %= 0) / 2);
-
-  smash_ok = Poly_Gen_Relation::nothing() == sp.relation_with(pnt);
-  cons_ok = Poly_Gen_Relation::nothing() == cp.relation_with(pnt);
-
-  print_constraints(sp, "*** sp constraints nothing ***");
-  print_congruences(sp, "*** sp congruences nothing ***");
-  print_constraints(cp, "*** cp constraints nothing ***");
-  print_congruences(cp, "*** cp congruences nothing ***");
-
-  return smash_ok && cons_ok;
-}
-
-// Empty smash product; relation_with a constraint.
-bool
-test02() {
-  Variable A(0);
-  Variable B(1);
-
-  SProduct sp(2);
-  sp.refine_with_constraint(A >= 1);
-  sp.refine_with_constraint(A <= 1);
-  sp.refine_with_congruence((A %= 2) / 0);
-
-  bool ok = (sp.relation_with(B == 0)
-	     == (Poly_Con_Relation::is_included()
-		 && Poly_Con_Relation::is_disjoint()
-	         && Poly_Con_Relation::saturates())
-	     && sp.relation_with(B >= 0)
-	     == (Poly_Con_Relation::is_included()
-		 && Poly_Con_Relation::is_disjoint()
-	         && Poly_Con_Relation::saturates()));
-
-  print_constraints(sp, "*** sp constraints ***");
-  print_congruences(sp, "*** sp congruences ***");
-
-  return ok;
-}
-
-// Empty constraints product; relation_with a constraint.
-bool
-test03() {
-  Variable A(0);
-  Variable B(1);
-
-  CProduct cp(2);
-  cp.refine_with_constraint(A >= 1);
-  cp.refine_with_constraint(A <= 1);
-  cp.refine_with_congruence((A %= 0) / 2);
-
-  bool ok = (cp.relation_with(B == 0)
-	     == (Poly_Con_Relation::is_included()
-		 && Poly_Con_Relation::is_disjoint()
-	         && Poly_Con_Relation::saturates())
-	     && cp.relation_with(B >= 0)
-	     == (Poly_Con_Relation::is_included()
-		 && Poly_Con_Relation::is_disjoint()
-	         && Poly_Con_Relation::saturates()));
-
-  print_constraints(cp, "*** cp constraints ***");
-  print_congruences(cp, "*** cp congruences ***");
-
-  return ok;
-}
-
-// Non-empty smash product; relation_with a constraint.
-bool
-test04() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  SProduct sp(3);
-  sp.refine_with_constraint(3*A + 3*B + C == 7);
-  sp.refine_with_constraint(3*A - C >= 2);
-  sp.refine_with_congruence(6*A + 3*B %= 0);
-
-  bool ok = (sp.relation_with(A + B + C == 0)
-	     == Poly_Con_Relation::nothing()
-	     && sp.relation_with(A + B == 0)
-	     == Poly_Con_Relation::nothing()
-	     && sp.relation_with(A == 0)
-	     == Poly_Con_Relation::nothing()
-	     && sp.relation_with(Linear_Expression(0) == 0)
-	     == (Poly_Con_Relation::is_included()
-		 && Poly_Con_Relation::saturates())
-	     && sp.relation_with(2*A + B >= 3)
-	     == Poly_Con_Relation::is_included()
-	     && sp.relation_with(3*A + 3*B + C >= 7)
-	     == (Poly_Con_Relation::is_included()
-		 && Poly_Con_Relation::saturates())
-	     && sp.relation_with(3*A - C <= 3)
-	     == (Poly_Con_Relation::nothing()));
-
-  print_constraints(sp, "*** sp constraints ***");
-  print_congruences(sp, "*** sp congruences ***");
-
-  return ok;
-}
-
-// A non-empty constraints product; relation_with a constraint.
-bool
-test05() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  CProduct cp(3);
-  cp.refine_with_constraint(3*A + 3*B + C >= 7);
-  cp.refine_with_constraint(3*A + 3*B + C <= 7);
-  cp.refine_with_constraint(3*A - C >= 2);
-  cp.refine_with_congruence(6*A + 3*B %= 0);
-
-  bool ok = (cp.relation_with(A + B + C == 0)
-	     == Poly_Con_Relation::nothing()
-	     && cp.relation_with(A + B == 0)
-	     == Poly_Con_Relation::nothing()
-	     && cp.relation_with(A == 0)
-	     == Poly_Con_Relation::nothing()
-	     && cp.relation_with(Linear_Expression(0) == 0)
-	     == (Poly_Con_Relation::is_included()
-		 && Poly_Con_Relation::saturates())
-	     && cp.relation_with(2*A + B >= 3)
-	     == Poly_Con_Relation::is_included()
-	     && cp.relation_with(3*A + 3*B + C >= 7)
-	     == (Poly_Con_Relation::is_included()
-		 && Poly_Con_Relation::saturates())
-	     && cp.relation_with(3*A - C <= 3)
-	     == (Poly_Con_Relation::nothing()));
-
-  print_constraints(cp, "*** cp constraints ***");
-  print_congruences(cp, "*** cp congruences ***");
-
-  return ok;
-}
-
-// Non-empty smash product; relation_with a congruence.
-bool
-test06() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  SProduct sp(3);
-  sp.refine_with_constraint(3*A + 3*B + C == 7);
-  sp.refine_with_constraint(3*A - C >= 2);
-  sp.refine_with_congruence(6*A + 3*B %= 0);
-
-  Poly_Con_Relation rel1 = sp.relation_with(A + B + C %= 0);
-  Poly_Con_Relation rel2 = sp.relation_with(A + B %= 0);
-  Poly_Con_Relation rel3 = sp.relation_with(A %= 0);
-  Poly_Con_Relation rel4 = sp.relation_with(Linear_Expression(0) %= 0);
-  Poly_Con_Relation rel5 = sp.relation_with(2*A + B %= 3);
-  Poly_Con_Relation rel6 = sp.relation_with(3*A + 3*B + C %= 7);
-  Poly_Con_Relation rel7 = sp.relation_with(3*A - C %= 3);
-  bool ok = (rel1 == Poly_Con_Relation::nothing()
-	     && rel2 == Poly_Con_Relation::nothing()
-	     && rel3 == Poly_Con_Relation::nothing()
-	     && rel4 == (Poly_Con_Relation::is_included()
-			 && Poly_Con_Relation::saturates())
-	     && rel5 == Poly_Con_Relation::nothing()
-	     && rel6 == (Poly_Con_Relation::is_included()
-			 && Poly_Con_Relation::saturates())
-	     && rel7 == (Poly_Con_Relation::is_included()));
-
-  nout << "sp.relation_with(A + B + C %= 0) == " << rel1 << endl;
-  nout << "sp.relation_with(A + B %= 0) == " << rel2 << endl;
-  nout << "sp.relation_with(A %= 0) == " << rel3 << endl;
-  nout << "sp.relation_with(Linear_Expression(0) %= 0) == " << rel4 << endl;
-  nout << "sp.relation_with(2*A + B %= 3) == " << rel5 << endl;
-  nout << "sp.relation_with(3*A + 3*B + C %= 7) == " << rel6 << endl;
-  nout << "sp.relation_with(3*A - C %= 3) == " << rel7 << endl;
-  print_constraints(sp, "*** sp constraints ***");
-  print_congruences(sp, "*** sp congruences ***");
-
-  return ok;
-}
-
-// A non-empty constraints product; relation_with a congruence.
-bool
-test07() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  CProduct cp(3);
-  cp.refine_with_constraint(3*A + 3*B + C >= 7);
-  cp.refine_with_constraint(3*A + 3*B + C <= 7);
-  cp.refine_with_constraint(3*A - C >= 2);
-  cp.refine_with_congruence(6*A + 3*B %= 0);
-
-  Poly_Con_Relation rel1 = cp.relation_with(A + B + C %= 0);
-  Poly_Con_Relation rel2 = cp.relation_with(A + B %= 0);
-  Poly_Con_Relation rel3 = cp.relation_with(A %= 0);
-  Poly_Con_Relation rel4 = cp.relation_with(Linear_Expression(0) %= 0);
-  Poly_Con_Relation rel5 = cp.relation_with(2*A + B %= 3);
-  Poly_Con_Relation rel6 = cp.relation_with(3*A + 3*B + C %= 7);
-  Poly_Con_Relation rel7 = cp.relation_with(3*A - C %= 3);
-  bool ok = (rel1 == Poly_Con_Relation::nothing()
-	     && rel2 == Poly_Con_Relation::nothing()
-	     && rel3 == Poly_Con_Relation::nothing()
-	     && rel4 == (Poly_Con_Relation::is_included()
-			 && Poly_Con_Relation::saturates())
-	     && rel5 == Poly_Con_Relation::nothing()
-	     && rel6 == (Poly_Con_Relation::is_included()
-			 && Poly_Con_Relation::saturates())
-	     && rel7 == (Poly_Con_Relation::is_included()));
-
-  nout << "cp.relation_with(A + B + C %= 0) == " << rel1 << endl;
-  nout << "cp.relation_with(A + B %= 0) == " << rel2 << endl;
-  nout << "cp.relation_with(A %= 0) == " << rel3 << endl;
-  nout << "cp.relation_with(Linear_Expression(0) %= 0) == " << rel4 << endl;
-  nout << "cp.relation_with(2*A + B %= 3) == " << rel5 << endl;
-  nout << "cp.relation_with(3*A + 3*B + C %= 7) == " << rel6 << endl;
-  nout << "cp.relation_with(3*A - C %= 3) == " << rel7 << endl;
-  print_constraints(cp, "*** cp constraints ***");
-  print_congruences(cp, "*** cp congruences ***");
-
-  return ok;
-}
-
-// Smash product; bounds_from_above() and bounds_from_below() when bounded.
-bool
-test08() {
-  Variable A(0);
-  Variable B(1);
-
-  SProduct sp(2);
-  sp.refine_with_constraint(A >= 1);
-  sp.refine_with_constraint(A <= 1);
-  sp.refine_with_congruence((A %= 2) / 0);
-
-  Linear_Expression le = A + B;
-  bool ok = sp.bounds_from_above(le)
-    && sp.bounds_from_below(le);
-
-  print_congruences(sp, "*** sp congruences ***");
-  print_constraints(sp, "*** sp constraints ***");
-
-  return ok;
-}
-
-// Constraints product; bounds_from_above() and bounds_from_below()
-// when bounded.
-bool
-  test09() {
-  Variable A(0);
-  Variable B(1);
-
-  CProduct cp(2);
-  cp.refine_with_constraint(A >= 1);
-  cp.refine_with_constraint(A <= 1);
-  cp.refine_with_congruence((A %= 0) / 2);
-
-  Linear_Expression le = A + B;
-  bool ok = cp.bounds_from_above(le)
-    && cp.bounds_from_below(le);
-
-  print_congruences(cp, "*** cp congruences ***");
-  print_constraints(cp, "*** cp constraints ***");
-
-  return ok;
-}
-
-// Smash product; bounds_from_above() and bounds_from_below()
-// when not bounded.
-bool
-test10() {
-  Variable A(0);
-  Variable B(1);
-
-  SProduct sp(2);
-  sp.refine_with_constraint(A >= 1);
-  sp.refine_with_constraint(A <= 1);
-  sp.refine_with_congruence((A %= 0) / 2);
-
-  Linear_Expression le = 2*A - B;
-
-  bool ok = !sp.bounds_from_above(le)
-    && !sp.bounds_from_below(le);
-
-  print_congruences(sp, "*** sp congruences ***");
-  print_constraints(sp, "*** sp constraints ***");
-
-  return ok;
-}
-
-// Constraints product; bounds_from_above() and bounds_from_below()
-// when it is not bounded.
-bool
-test11() {
-  Variable A(0);
-  Variable B(1);
-
-  SProduct sp(2);
-  sp.refine_with_constraint(A >= 1);
-  sp.refine_with_constraint(A <= 1);
-  sp.refine_with_congruence((A %= 1) / 2);
-
-  Linear_Expression le = 2*A - B;
-
-  bool ok = !sp.bounds_from_above(le)
-    && !sp.bounds_from_below(le);
-
-  print_congruences(sp, "*** sp congruences ***");
-  print_constraints(sp, "*** sp constraints ***");
-
-  return ok;
-}
-
-// Smash product; maximize() and minimize() when bounded.
-bool
-test12() {
-  Variable A(0);
-  Variable B(1);
-
-  SProduct sp(2);
-  sp.refine_with_constraint(A + B >= 1);
-  sp.refine_with_constraint(A + B <= 1);
-  sp.refine_with_congruence(B %= 0);
-  sp.refine_with_congruence((3*A %= 2) / 5);
-
-  Linear_Expression le = A + B;
-
-  Coefficient max_n;
-  Coefficient max_d;
-  Coefficient min_n;
-  Coefficient min_d;
-  Generator pnt_max(point());
-  Generator pnt_min(point());
-  bool max;
-  bool min;
-
-  bool ok = sp.maximize(le, max_n, max_d, max)
-    && sp.minimize(le, min_n, min_d, min)
-    && sp.maximize(le, max_n, max_d, max, pnt_max)
-    && sp.minimize(le, min_n, min_d, min, pnt_min);
-
-  ok = ok
-    && max && min && max_n == 1 && max_d == 1 && min_n == 1 && min_d == 1
-    && pnt_max == pnt_min;
-
-  print_generator(pnt_max, "*** maximum point ***");
-
-  print_congruences(sp, "*** sp congruences ***");
-  print_constraints(sp, "*** sp constraints ***");
-
-  return ok;
-}
-
-// Constraints product; maximize() and minimize() when bounded.
-bool
-test13() {
-  Variable A(0);
-  Variable B(1);
-
-  CProduct cp(2);
-  cp.refine_with_constraint(A + B >= 1);
-  cp.refine_with_constraint(A + B <= 1);
-  cp.refine_with_congruence(B %= 0);
-
-  Linear_Expression le = A + B;
-
-  Coefficient max_n;
-  Coefficient max_d;
-  Coefficient min_n;
-  Coefficient min_d;
-  Generator pnt_max(point());
-  Generator pnt_min(point());
-  bool max;
-  bool min;
-
-  bool ok = cp.maximize(le, max_n, max_d, max)
-    && cp.minimize(le, min_n, min_d, min)
-    && cp.maximize(le, max_n, max_d, max, pnt_max)
-    && cp.minimize(le, min_n, min_d, min, pnt_min);
-
-  ok = ok
-    && max && min && max_n == 1 && max_d == 1 && min_n == 1 && min_d == 1
-    && pnt_max == pnt_min;
-
-  print_generator(pnt_max, "*** maximum point ***");
-
-  if (!ok) {
-    print_congruences(cp, "*** cp congruences non-empty product ***");
-    print_constraints(cp, "*** cp constraints non-empty product ***");
-    return false;
-  }
-
-  cp.refine_with_congruence((3*A %= 2) / 3);
-
-  ok = !cp.maximize(le, max_n, max_d, max)
-    && !cp.minimize(le, min_n, min_d, min)
-    && !cp.maximize(le, max_n, max_d, max, pnt_max)
-    && !cp.minimize(le, min_n, min_d, min, pnt_min);
-
-  print_congruences(cp, "*** cp congruences empty product ***");
-  print_constraints(cp, "*** cp constraints empty product ***");
-
-  return ok;
-}
-
-// Smash and constraints product; maximize() and minimize()
-// when not bounded.
-bool
-test14() {
-  Variable A(0);
-  Variable B(1);
-
-  SProduct sp(2);
-  sp.refine_with_constraint(B >= 1);
-  sp.refine_with_constraint(B <= 2);
-  sp.refine_with_congruence((B %= 3) / 5);
-
-  CProduct cp(2);
-  cp.refine_with_constraint(B >= 1);
-  cp.refine_with_constraint(B <= 2);
-  cp.refine_with_congruence((B %= 3) / 5);
-
-  Linear_Expression le = 2*A - B;
-
-  Coefficient max_n;
-  Coefficient max_d;
-  Coefficient min_n;
-  Coefficient min_d;
-  Generator pnt_max(point());
-  Generator pnt_min(point());
-  bool max;
-  bool min;
-
-  bool smash_ok = !sp.maximize(le, max_n, max_d, max)
-    && !sp.minimize(le, min_n, min_d, min)
-    && !sp.maximize(le, max_n, max_d, max, pnt_max)
-    && !sp.minimize(le, min_n, min_d, min, pnt_min);
-
-  bool cons_ok = !cp.maximize(le, max_n, max_d, max)
-    && !cp.minimize(le, min_n, min_d, min)
-    && !cp.maximize(le, max_n, max_d, max, pnt_max)
-    && !cp.minimize(le, min_n, min_d, min, pnt_min);
-
-  print_constraints(sp, "*** sp constraints ***");
-  print_constraints(sp, "*** sp constraints ***");
-  print_congruences(cp, "*** cp congruences ***");
-  print_congruences(cp, "*** cp congruences ***");
-
-  return smash_ok && cons_ok;
-}
-
-// Smash product; bounded_affine_image/3
-bool
-test15() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  SProduct sp(3);
-  sp.refine_with_congruence((A ==  0) / 0);
-  sp.refine_with_congruence((B ==  0) / 0);
-  sp.refine_with_congruence((C == -2) / 0);
-
-  print_congruences(sp, "*** sp congruences ***");
-  print_constraints(sp, "*** sp constraints ***");
-
-  sp.bounded_affine_image(A, 7-B, B+3);
-
-  SProduct known_sp(3);
-  known_sp.refine_with_constraint(C == -2);
-  known_sp.refine_with_constraint(B == 0);
-  known_sp.refine_with_constraint(A <= 3);
-  known_sp.refine_with_constraint(A + B >= 7);
-
-  bool ok = (sp == known_sp);
-
-  print_congruences(sp, "*** sp congruences ***");
-  print_constraints(sp, "*** sp constraints ***");
-
-  return ok;
-}
-
-// Constraints product; bounded_affine_image/3.
-bool
-test16() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  CProduct cp(3);
-  cp.refine_with_constraint(A >=  0);
-  cp.refine_with_constraint(A <=  0);
-  cp.refine_with_constraint(B >=  0);
-  cp.refine_with_constraint(B <=  0);
-  cp.refine_with_congruence((C == -2) / 0);
-
-  print_congruences(cp, "*** cp congruences ***");
-  print_constraints(cp, "*** cp constraints ***");
-
-  cp.bounded_affine_image(A, 7-B, B+3);
-
-  CProduct known_cp(3);
-  known_cp.refine_with_constraint(C == -2);
-  known_cp.refine_with_constraint(B == 0);
-  known_cp.refine_with_constraint(A <= 3);
-  known_cp.refine_with_constraint(A + B >= 7);
-
-  bool ok = (cp == known_cp);
-
-  print_congruences(cp, "*** cp congruences ***");
-  print_constraints(cp, "*** cp constraints ***");
-
-  return ok;
-}
-
-// Smash product; bounded_affine_preimage/3.
-bool
-test17() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  SProduct sp(3);
-  sp.refine_with_congruence((A ==  0) / 0);
-  sp.refine_with_congruence((B ==  0) / 0);
-  sp.refine_with_congruence((C == -2) / 0);
-
-  print_congruences(sp, "*** sp congruences ***");
-  print_constraints(sp, "*** sp constraints ***");
-
-  sp.bounded_affine_preimage(A, 7-B, B+3);
-
-  Constraint_System cs;
-  cs.insert(C == -2);
-  cs.insert(B == 0);
-  cs.insert(C >= 3);
-
-  SProduct known_sp(3);
-  known_sp.refine_with_constraints(cs);
-
-  bool ok = (sp == known_sp);
-
-  print_congruences(sp, "*** sp congruences ***");
-  print_constraints(sp, "*** sp constraints ***");
-
-  return ok;
-}
-
-// Constraints product; bounded_affine_preimage/3.
-bool
-test18() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-
-  CProduct cp(3);
-  cp.refine_with_constraint(A >=  0);
-  cp.refine_with_constraint(A <=  0);
-  cp.refine_with_constraint(B >=  0);
-  cp.refine_with_constraint(B <=  0);
-  cp.refine_with_congruence((C == -2) / 0);
-
-  print_congruences(cp, "*** cp congruences ***");
-  print_constraints(cp, "*** cp constraints ***");
-
-  cp.bounded_affine_preimage(A, 7-B, B+3);
-
-  Constraint_System cs;
-  cs.insert(C == -2);
-  cs.insert(B == 0);
-  cs.insert(C >= 3);
-
-  CProduct known_cp(3);
-  known_cp.refine_with_constraints(cs);
-
-  bool ok = (cp == known_cp);
-
-  print_congruences(cp, "*** cp congruences ***");
-  print_constraints(cp, "*** cp constraints ***");
-
-  return ok;
-}
-
-// concatenate_assign()
-bool
-test19() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-  Variable D(3);
-
-  SProduct sp1(2);
-  sp1.refine_with_constraint(A >= 0);
-  sp1.refine_with_congruence((A %= 0) / 2);
-
-  // Make sure sp1 is reduced;
-  (void) sp1.is_topologically_closed();
-
-  SProduct sp2(2);
-  // Make sure sp2 is not reduced;
-  sp2.refine_with_constraint(A <= 1);
-  sp2.refine_with_constraint(A >= 2);
-  sp2.refine_with_constraint(B >= 0);
-
-  sp1.concatenate_assign(sp2);
-
-  SProduct known_sp(4, EMPTY);
-
-  bool ok = (sp1 == known_sp) && sp1.OK();
-
-  print_congruences(sp1, "*** sp1 congruences ***");
-  print_constraints(sp1, "*** sp1 constraints ***");
-  print_congruences(sp2, "*** sp2 congruences ***");
-  print_constraints(sp2, "*** sp2 constraints ***");
-
-  return ok;
-}
-
-bool
-test20() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-  Variable D(3);
-
-  CProduct cp1(2);
-  cp1.refine_with_constraint(A >= 0);
-  cp1.refine_with_congruence((A %= 0) / 2);
-
-  // Make sure cp1 is reduced;
-  (void) cp1.is_topologically_closed();
-
-  CProduct cp2(2);
-  // Make sure cp2 is not reduced;
-  cp2.refine_with_constraint(A <= 1);
-  cp2.refine_with_constraint(A >= 1);
-  cp2.refine_with_constraint(B >= 0);
-
-  cp1.concatenate_assign(cp2);
-
-  CProduct known_cp(4);
-  known_cp.refine_with_constraint(A >= 0);
-  known_cp.refine_with_congruence((A %= 0) / 2);
-  known_cp.refine_with_constraint(C == 1);
-  known_cp.refine_with_constraint(D >= 0);
-
-  bool ok = (cp1 == known_cp) && cp1.OK();
-
-  print_congruences(cp1, "*** cp1 congruences ***");
-  print_constraints(cp1, "*** cp1 constraints ***");
-  print_congruences(cp2, "*** cp2 congruences ***");
-  print_constraints(cp2, "*** cp2 constraints ***");
-
-  return ok;
-}
-
-} // namespace
-
-BEGIN_MAIN
-  DO_TEST(test01);
-  DO_TEST(test02);
-  DO_TEST(test03);
-  DO_TEST(test04);
-  DO_TEST(test05);
-  DO_TEST(test06);
-  DO_TEST(test07);
-  DO_TEST(test08);
-  DO_TEST(test09);
-  DO_TEST(test10);
-  DO_TEST(test11);
-  DO_TEST(test12);
-  DO_TEST(test13);
-  DO_TEST(test14);
-  DO_TEST(test15);
-  DO_TEST(test16);
-  DO_TEST(test17);
-  DO_TEST(test18);
-  DO_TEST(test19);
-  DO_TEST(test20);
-END_MAIN
diff --git a/tests/Partially_Reduced_Product/partiallyreducedproduct4.cc b/tests/Partially_Reduced_Product/partiallyreducedproduct4.cc
deleted file mode 100644
index 9c7780f..0000000
--- a/tests/Partially_Reduced_Product/partiallyreducedproduct4.cc
+++ /dev/null
@@ -1,278 +0,0 @@
-/* Test Partially_Reduced_Product<>.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include "ppl_test.hh"
-
-using namespace Parma_Polyhedra_Library::IO_Operators;
-
-// #define PH_IS_NNC
-// #define PH_IS_FIRST
-
-// #define PH_IS_BOX
-
-#ifdef PH_IS_NNC
-#define PH_IS_BOX_OR_NNC
-#endif
-#ifdef PH_IS_BOX
-#define PH_IS_BOX_OR_NNC
-#endif
-
-#ifdef PH_IS_BOX
-typedef TBox Poly;
-#else
-#ifdef PH_IS_NNC
-typedef NNC_Polyhedron Poly;
-#else
-typedef C_Polyhedron Poly;
-#endif
-#endif
-
-#ifdef PH_IS_FIRST
-typedef Domain_Product<Poly, Grid>::Direct_Product DProduct;
-typedef Domain_Product<Poly, Grid>::Smash_Product SProduct;
-typedef Domain_Product<Poly, Grid>::Constraints_Product CProduct;
-#else
-typedef Domain_Product<Grid, Poly>::Direct_Product DProduct;
-typedef Domain_Product<Grid, Poly>::Smash_Product SProduct;
-typedef Domain_Product<Grid, Poly>::Constraints_Product CProduct;
-#endif
-
-namespace {
-
-// remove_higher_dimensions()
-// The initial product is empty with 1 space dimension
-// and this dimension is removed.
-bool
-test01() {
-  Variable A(0);
-
-  SProduct sp1(1);
-  CProduct cp1(1);
-  Constraint_System cs;
-  cs.insert(A >= 1);
-  cs.insert(A <= 0);
-  sp1.refine_with_constraints(cs);
-  cp1.refine_with_constraints(cs);
-  SProduct sp2(sp1);
-  CProduct cp2(cp1);
-
-  bool ok1s = (sp1 == sp2 && sp2.is_empty());
-  if (!ok1s || !sp1.OK()) {
-    print_congruences(sp1, "*** after == check: sp1 congruences ***");
-    print_constraints(sp1, "*** after == check: sp1 constraints ***");
-    return false;
-  }
-
-  bool ok1 = (cp1 == cp2 && cp2.is_empty());
-  if (!ok1 || !cp1.OK()) {
-    print_congruences(cp1, "*** after == check: cp1 congruences ***");
-    print_constraints(cp1, "*** after == check: cp1 constraints ***");
-    return false;
-  }
-
-  sp1.remove_higher_space_dimensions(0);
-
-  if (!sp1.OK()) {
-    print_congruences(sp1, "*** remove all dimensions: sp1 congruences ***");
-    print_constraints(sp1, "*** remove all dimensions: sp1 constraints ***");
-    return false;
-  }
-
-  cp1.remove_higher_space_dimensions(0);
-
-  bool ok = cp1.OK();
-
-  print_congruences(cp1, "*** remove all dimensions: cp1 congruences ***");
-  print_constraints(cp1, "*** remove all dimensions: cp1 constraints ***");
-
-  return ok;
-}
-
-// upper_bound_assign(cp2)
-// The first product is empty and the second a single point in 1D
-bool
-test02() {
-  Variable A(0);
-
-  SProduct sp1(1);
-  CProduct cp1(1);
-  Constraint_System cs1;
-  cs1.insert(A >= 1);
-  cs1.insert(A <= 0);
-  sp1.refine_with_constraints(cs1);
-  cp1.refine_with_constraints(cs1);
-
-  SProduct sp2(1);
-  CProduct cp2(1);
-  Constraint_System cs2;
-  cs2.insert(A == 1);
-  sp2.refine_with_constraints(cs2);
-  cp2.refine_with_constraints(cs2);
-
-  SProduct sp1_copy(sp1);
-  CProduct cp1_copy(cp1);
-
-  sp1.upper_bound_assign(sp2);
-  cp1.upper_bound_assign(cp2);
-
-  if (!sp1.OK()) {
-    print_congruences(sp1, "*** after ok check: sp1 congruences ***");
-    print_constraints(sp1, "*** after ok check: sp1 constraints ***");
-    return false;
-  }
-
-  bool ok = cp1.OK();
-
-  print_congruences(cp1, "*** after OK() check: cp1 congruences ***");
-  print_constraints(cp1, "*** after OK() check: cp1 constraints ***");
-
-  return ok;
-}
-
-// refine_with_constraints() and refine_with_congruences()
-bool
-test03() {
-  Variable A(0);
-  Variable B(1);
-
-  SProduct sp(2);
-  CProduct cp(2);
-  Constraint_System cs;
-  cs.insert(A >= 1);
-  cs.insert(A <= 6);
-  sp.refine_with_constraints(cs);
-  cp.refine_with_constraints(cs);
-
-  SProduct known_sp(sp);
-  CProduct known_cp(cp);
-
-  Constraint_System cs1;
-  cs1.insert(A > 2);
-  cs1.insert(B >= 2);
-  Congruence_System cgs1;
-  cgs1.insert((B %= 2) / 4);
-  cgs1.insert((A + B %= 6) / 0);
-  sp.refine_with_constraint(A > 2);
-  sp.refine_with_constraint(B >= 2);
-  sp.refine_with_congruence((B %= 2) / 4);
-  sp.refine_with_congruence((A + B %= 6) / 0);
-  cp.refine_with_constraint(A > 2);
-  cp.refine_with_constraint(B >= 2);
-  cp.refine_with_congruence((B %= 2) / 4);
-  cp.refine_with_congruence((A + B %= 6) / 0);
-
-  bool ok = sp.OK() && cp.OK();
-
-#ifdef PH_IS_BOX_OR_NNC
-  known_sp.refine_with_constraint(A > 2);
-#else
-  known_sp.refine_with_constraint(A >= 2);
-#endif
-  known_sp.refine_with_constraint(B >= 2);
-  known_sp.refine_with_congruence((B %= 2) / 4);
-  known_sp.refine_with_congruence((A + B %= 6) / 0);
-#ifdef PH_IS_BOX_OR_NNC
-  known_cp.refine_with_constraint(A > 2);
-#else
-  known_cp.refine_with_constraint(A >= 2);
-#endif
-  known_cp.refine_with_constraint(B >= 2);
-  known_cp.refine_with_congruence((B %= 2) / 4);
-  known_cp.refine_with_congruence((A + B %= 6) / 0);
-
-  ok = ok && sp == known_sp && cp == known_cp;
-
-  print_congruences(sp, "*** after ok check: sp congruences ***");
-  print_constraints(sp, "*** after ok check: sp constraints ***");
-
-  print_congruences(cp, "*** after ok check: cp congruences ***");
-  print_constraints(cp, "*** after ok check: cp constraints ***");
-
-  return ok;
-}
-
-// refine_with_constraints() and refine_with_congruences()
-bool
-test04() {
-  Variable A(0);
-  Variable B(1);
-
-  SProduct sp(2);
-  CProduct cp(2);
-  Constraint_System cs;
-  cs.insert(A >= 1);
-  cs.insert(A <= 6);
-  sp.refine_with_constraints(cs);
-  cp.refine_with_constraints(cs);
-
-  SProduct known_sp(sp);
-  CProduct known_cp(cp);
-
-  Constraint_System cs1;
-  cs1.insert(A > 2);
-  cs1.insert(B >= 2);
-  Congruence_System cgs1;
-  cgs1.insert((B %= 2) / 4);
-  cgs1.insert((A + B %= 6) / 0);
-  sp.refine_with_constraints(cs1);
-  sp.refine_with_congruences(cgs1);
-  cp.refine_with_constraints(cs1);
-  cp.refine_with_congruences(cgs1);
-
-  bool ok = sp.OK() && cp.OK();
-
-#ifdef PH_IS_BOX_OR_NNC
-  known_sp.refine_with_constraint(A > 2);
-#else
-  known_sp.refine_with_constraint(A >= 2);
-#endif
-  known_sp.refine_with_constraint(B >= 2);
-  known_sp.refine_with_congruence((B %= 2) / 4);
-  known_sp.refine_with_congruence((A + B %= 6) / 0);
-#ifdef PH_IS_BOX_OR_NNC
-  known_cp.refine_with_constraint(A > 2);
-#else
-  known_cp.refine_with_constraint(A >= 2);
-#endif
-  known_cp.refine_with_constraint(B >= 2);
-  known_cp.refine_with_congruence((B %= 2) / 4);
-  known_cp.refine_with_congruence((A + B %= 6) / 0);
-
-  ok = ok && sp == known_sp && cp == known_cp;
-
-  print_congruences(sp, "*** after ok check: sp congruences ***");
-  print_constraints(sp, "*** after ok check: sp constraints ***");
-
-  print_congruences(cp, "*** after ok check: cp congruences ***");
-  print_constraints(cp, "*** after ok check: cp constraints ***");
-
-  return ok;
-}
-
-} // namespace
-
-BEGIN_MAIN
-  DO_TEST(test01);
-  DO_TEST(test02);
-  DO_TEST(test03);
-  DO_TEST(test04);
-END_MAIN
diff --git a/tests/Partially_Reduced_Product/refinewithcongruences1.cc b/tests/Partially_Reduced_Product/refinewithcongruences1.cc
new file mode 100644
index 0000000..1409027
--- /dev/null
+++ b/tests/Partially_Reduced_Product/refinewithcongruences1.cc
@@ -0,0 +1,264 @@
+/* Test refine_with_congruence() and refine_with_congruences()..
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+#define REVERSED_TEST
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+// Refine with an equality congruence.
+bool
+test01() {
+  Variable A(0);
+
+  Product prp(1);
+  prp.refine_with_congruence((A == 0) / 0);
+
+  DOMAIN2 gr(1);
+  gr.refine_with_congruence((A == 0) / 0);
+  Product known_result(gr);
+
+  bool ok = (prp == known_result);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  return ok && prp.OK();
+}
+
+// Refine with a proper congruence.
+bool
+test02() {
+  Variable A(0);
+
+  Product prp(1);
+  prp.refine_with_congruence((A %= 0) / 4);
+
+  DOMAIN2 gr(1);
+  gr.refine_with_congruence((A %= 0) / 4);
+  Product known_result(gr);
+
+  bool ok = (prp == known_result);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  return ok && prp.OK();
+}
+
+// Refine with congruences.
+bool
+test03() {
+  Variable A(0);
+  Variable B(1);
+
+  Congruence_System cgs;
+  cgs.insert((2*A %= 1) / 4);
+  cgs.insert((A + B %= 1) / 0);
+
+  Product prp(2);
+  prp.refine_with_congruences(cgs);
+
+  DOMAIN2 gr(2);
+  gr.refine_with_congruences(cgs);
+  Product known_result(gr);
+
+  bool ok = (prp == known_result);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  return ok && prp.OK();
+}
+
+// Universe product with 0 dimensions.
+bool
+test04() {
+
+  Product prp(0);
+  prp.refine_with_congruence((Linear_Expression(0) == 1) / 2);
+
+  Product known_result(0, EMPTY);
+
+  bool ok = (prp == known_result);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  return ok && prp.OK();
+}
+
+// Empty product with 0 dimensions.
+bool
+test05() {
+
+  Product prp(0, EMPTY);
+  prp.refine_with_congruence((Linear_Expression(0) == 0) / 0);
+
+  Product known_result(0, EMPTY);
+
+  bool ok = (prp == known_result);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  return ok && prp.OK();
+}
+
+// refine_with_congruences
+bool
+test06() {
+
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Congruence_System cgs;
+  cgs.insert((A %= 0) / 2);
+  cgs.insert((B == 0) / 2);
+
+  Product dp(2);
+
+  print_constraints(dp, "*** dp constraints ***");
+  print_congruences(dp, "*** dp congruences ***");
+
+  dp.refine_with_congruences(cgs);
+
+  Product known_dp(2);
+  known_dp.refine_with_congruence((A %= 0) / 2);
+  known_dp.refine_with_congruence((B == 0) / 2);
+
+  bool ok = (dp == known_dp);
+
+  print_constraints(dp, "*** dp constraints ***");
+  print_congruences(dp, "*** dp congruences ***");
+
+  return ok;
+}
+
+// refine_with_congruences
+bool
+test07() {
+  Variable A(0);
+  Variable B(1);
+
+  Congruence_System cgs;
+  cgs.insert((A %= 0) / 2);
+  cgs.insert(A + B == 0);
+
+  Product prp(2);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  prp.refine_with_congruences(cgs);
+  bool ok = !prp.is_empty();
+
+  Product known_prp(2);
+  known_prp.refine_with_congruence((A %= 0) / 2);
+  known_prp.refine_with_constraint(A + B == 0);
+
+  ok = ok && (prp == known_prp);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  return ok;
+}
+
+// refine_with_congruences
+bool
+test08() {
+  Variable A(0);
+  Variable B(1);
+
+  Congruence_System cgs;
+  cgs.insert((A + B %= 0) / 2);
+
+  Product prp(2);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  prp.refine_with_congruences(cgs);
+
+  Product known_prp(2);
+  known_prp.refine_with_congruence((A + B %= 0) / 2);
+
+  bool ok = (prp == known_prp);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  return ok;
+}
+
+// refine_with_congruences
+bool
+test09() {
+  Variable A(0);
+  Variable B(1);
+
+  Congruence_System cgs;
+  cgs.insert((B %= 0) / 2);
+  cgs.insert(A - B == 0);
+
+  Product prp(2);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  prp.refine_with_congruences(cgs);
+  bool ok = !prp.is_empty();
+
+  Product known_prp(2);
+  known_prp.refine_with_congruence((B %= 0) / 2);
+  known_prp.refine_with_constraint(A - B == 0);
+
+  ok = ok &&(prp == known_prp);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST(test08);
+  DO_TEST(test09);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/refinewithconstraints1.cc b/tests/Partially_Reduced_Product/refinewithconstraints1.cc
new file mode 100644
index 0000000..6d44dff
--- /dev/null
+++ b/tests/Partially_Reduced_Product/refinewithconstraints1.cc
@@ -0,0 +1,341 @@
+/* Test refine_with_constraint() and refine_with_constraints()..
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+#define REVERSED_TEST
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+// Refine with an equality constraint.
+bool
+test01() {
+  Variable A(0);
+
+  Product prp(1);
+  prp.refine_with_constraint(A == 0);
+
+  DOMAIN2 gr(1);
+  gr.refine_with_constraint(A == 0);
+  Product known_result(gr);
+
+  bool ok = (prp == known_result);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  return ok && prp.OK();
+}
+
+// Refine with a proper constraint.
+bool
+test02() {
+  Variable A(0);
+
+  Product prp(1);
+  prp.refine_with_constraint(A >= 4);
+
+  DOMAIN1 ph(1);
+  ph.refine_with_constraint(A >= 4);
+  Product known_result(ph);
+
+  bool ok = (prp == known_result);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  return ok && prp.OK();
+}
+
+// Refine with constraints.
+bool
+test03() {
+  Variable A(0);
+  Variable B(1);
+
+  Constraint_System cs;
+  cs.insert(2*A <= 1);
+  cs.insert(A + B >= 1);
+
+  Product prp(2);
+  prp.refine_with_constraints(cs);
+
+  DOMAIN1 ph(2);
+  ph.refine_with_constraints(cs);
+  Product known_result(ph);
+
+  bool ok = (prp == known_result);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  return ok && prp.OK();
+}
+
+// Universe product with 0 dimensions.
+bool
+test04() {
+
+  Product prp(0);
+  prp.refine_with_constraint(Linear_Expression(0) >= 1);
+
+  Product known_result(0, EMPTY);
+
+  bool ok = (prp == known_result);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  return ok && prp.OK();
+}
+
+// Empty product with 0 dimensions.
+bool
+test05() {
+
+  Product prp(0, EMPTY);
+  prp.refine_with_constraint(Linear_Expression(0) == 0);
+
+  Product known_result(0, EMPTY);
+
+  bool ok = (prp == known_result);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  return ok && prp.OK();
+}
+
+// refine_with_constraints
+bool
+test06() {
+
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Constraint_System cs;
+  cs.insert(A >= 0);
+  cs.insert(B == 0);
+
+  Product prp(2);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  prp.refine_with_constraints(cs);
+
+  Product known_prp(2);
+  known_prp.refine_with_constraint(A >= 0);
+  known_prp.refine_with_constraint(B == 0);
+
+  bool ok = (prp == known_prp);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  return ok;
+}
+
+// refine_with_constraints
+bool
+test07() {
+  Variable A(0);
+  Variable B(1);
+
+  Constraint_System cs;
+  cs.insert(A + B <= 0);
+
+  Product prp(2);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  prp.refine_with_constraints(cs);
+
+  Product known_prp(2);
+  known_prp.refine_with_constraint(A + B <= 0);
+
+  bool ok = (prp == known_prp);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  return ok;
+}
+
+// refine_with_constraints
+bool
+test08() {
+  Variable A(0);
+  Variable B(1);
+
+  Constraint_System cs;
+  cs.insert(A >= 0);
+  cs.insert(A + B == 0);
+
+  Product prp(2);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  prp.refine_with_constraints(cs);
+  bool ok = !prp.is_empty();
+
+  Product known_prp(2);
+  known_prp.refine_with_constraint(A >= 0);
+  known_prp.refine_with_constraint(A + B == 0);
+
+  ok = ok && (prp == known_prp);
+
+  return ok;
+}
+
+// refine_with_constraints
+bool
+test09() {
+  Variable A(0);
+  Variable B(1);
+
+  Constraint_System cs;
+  cs.insert(B >= 0);
+  cs.insert(A - B == 0);
+
+  Product prp(2);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  prp.refine_with_constraints(cs);
+  bool ok = !prp.is_empty();
+
+  Product known_prp(2);
+  known_prp.refine_with_constraint(B >= 0);
+  known_prp.refine_with_constraint(A - B == 0);
+
+  ok = ok && (prp == known_prp);
+
+  print_constraints(prp, "*** prp constraints ***");
+  print_congruences(prp, "*** prp congruences ***");
+
+  return ok;
+}
+
+// refine_with_constraints() and refine_with_congruences()
+bool
+test10() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp(2);
+  Constraint_System cs;
+  cs.insert(A >= 1);
+  cs.insert(A <= 6);
+  prp.refine_with_constraints(cs);
+
+  Product known_prp(prp);
+
+  Constraint_System cs1;
+  cs1.insert(A > 2);
+  cs1.insert(B >= 2);
+  Congruence_System cgs1;
+  cgs1.insert((B %= 2) / 4);
+  cgs1.insert((A + B %= 6) / 0);
+  prp.refine_with_constraint(A > 2);
+  prp.refine_with_constraint(B >= 2);
+  prp.refine_with_congruence((B %= 2) / 4);
+  prp.refine_with_congruence((A + B %= 6) / 0);
+
+  bool ok = prp.OK();
+
+  known_prp.refine_with_constraint(A > 2);
+  known_prp.refine_with_constraint(B >= 2);
+  known_prp.refine_with_congruence((B %= 2) / 4);
+  known_prp.refine_with_congruence((A + B %= 6) / 0);
+
+  ok = ok && prp == known_prp;
+
+  print_congruences(prp, "*** after ok check: prp congruences ***");
+  print_constraints(prp, "*** after ok check: prp constraints ***");
+
+  return ok;
+}
+
+// refine_with_constraints() and refine_with_congruences()
+bool
+test11() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp(2);
+  Constraint_System cs;
+  cs.insert(A >= 1);
+  cs.insert(A <= 6);
+  prp.refine_with_constraints(cs);
+
+  Product known_prp(prp);
+
+  Constraint_System cs1;
+  cs1.insert(A > 2);
+  cs1.insert(B >= 2);
+  Congruence_System cgs1;
+  cgs1.insert((B %= 2) / 4);
+  cgs1.insert((A + B %= 6) / 0);
+  prp.refine_with_constraints(cs1);
+  prp.refine_with_congruences(cgs1);
+
+  bool ok = prp.OK();
+
+  known_prp.refine_with_constraint(A > 2);
+  known_prp.refine_with_constraint(B >= 2);
+  known_prp.refine_with_congruence((B %= 2) / 4);
+  known_prp.refine_with_congruence((A + B %= 6) / 0);
+
+  ok = ok && prp == known_prp;
+
+  print_congruences(prp, "*** after ok check: prp congruences ***");
+  print_constraints(prp, "*** after ok check: prp constraints ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST(test08);
+  DO_TEST(test09);
+  DO_TEST(test10);
+  DO_TEST(test11);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/relations1.cc b/tests/Partially_Reduced_Product/relations1.cc
new file mode 100644
index 0000000..e169eb7
--- /dev/null
+++ b/tests/Partially_Reduced_Product/relations1.cc
@@ -0,0 +1,315 @@
+/* Test relation_with().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+#define REVERSED_TEST
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+// relation_with a generator
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+
+  Generator pnt(point(A + B));
+
+  Product dp(2);
+
+  bool ok = Poly_Gen_Relation::subsumes() == dp.relation_with(pnt);
+
+  print_constraints(dp, "*** dp constraints ***");
+  print_congruences(dp, "*** dp congruences ***");
+
+  return ok;
+}
+
+// relation_with a constraint
+bool
+test02() {
+  Variable A(0);
+  Variable B(1);
+
+  Constraint c(A == 2);
+
+  Product dp(2);
+
+  bool ok = Poly_Con_Relation::nothing() == dp.relation_with(c);
+
+  print_constraints(dp, "*** dp constraints ***");
+  print_congruences(dp, "*** dp congruences ***");
+
+  return ok;
+}
+
+// Empty product; relation_with a constraint.
+bool
+test03() {
+  Variable A(0);
+  Variable B(1);
+
+  Product dp(2);
+  dp.refine_with_constraint(A == 1);
+  dp.refine_with_congruence((A %= 2) / 0);
+
+  bool ok = (dp.relation_with(B == 0)
+	     == (Poly_Con_Relation::is_included()
+		 && Poly_Con_Relation::is_disjoint()
+	         && Poly_Con_Relation::saturates())
+	     && dp.relation_with(B >= 0)
+	     == (Poly_Con_Relation::is_included()
+		 && Poly_Con_Relation::is_disjoint()
+	         && Poly_Con_Relation::saturates()));
+
+  print_constraints(dp, "*** dp constraints ***");
+  print_congruences(dp, "*** dp congruences ***");
+
+  return ok;
+}
+
+// A product in 3D; relation_with a constraint.
+bool
+test04() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Product dp(3);
+  dp.refine_with_constraint(3*A + 3*B + C == 7);
+  dp.refine_with_constraint(3*A - C >= 2);
+  dp.refine_with_congruence(6*A + 3*B %= 0);
+
+  Poly_Con_Relation rel1 = dp.domain1().relation_with(2*A + B >= 3);
+  Poly_Con_Relation rel2 = dp.domain2().relation_with(2*A + B >= 3);
+  bool okdp1 = (rel1 == Poly_Con_Relation::strictly_intersects());
+  bool okdp2 = (rel2 == Poly_Con_Relation::is_included());
+
+  if (!okdp1 || !okdp2) {
+    nout << "dp.domain1().relation_with(2*A + B >= 3) == " << rel1 << endl;
+    nout << "dp.domain2().relation_with(2*A + B >= 3) == " << rel2 << endl;
+    print_constraints(dp, "*** dp constraints ***");
+    print_congruences(dp, "*** dp congruences ***");
+    return false;
+  }
+
+  Poly_Con_Relation rel3 = dp.relation_with(A + B + C == 0);
+  Poly_Con_Relation rel4 = dp.relation_with(A + B == 0);
+  Poly_Con_Relation rel5 = dp.relation_with(A == 0);
+  Poly_Con_Relation rel6 = dp.relation_with(Linear_Expression(0) == 0);
+  Poly_Con_Relation rel7 = dp.relation_with(2*A + B >= 3);
+  Poly_Con_Relation rel8 = dp.relation_with(3*A + 3*B + C >= 7);
+  bool ok = (rel3 == Poly_Con_Relation::nothing()
+	     && rel4 == Poly_Con_Relation::nothing()
+	     && rel5 == Poly_Con_Relation::nothing()
+	     && rel6 == (Poly_Con_Relation::is_included()
+			 && Poly_Con_Relation::saturates())
+	     && rel7 == Poly_Con_Relation::is_included()
+	     && rel8 == (Poly_Con_Relation::is_included()
+			 && Poly_Con_Relation::saturates()));
+
+  nout << "dp.relation_with(A + B + C %= 0) == " << rel3 << endl;
+  nout << "dp.relation_with(A + B %= 0) == " << rel4 << endl;
+  nout << "dp.relation_with(A %= 0) == " << rel5 << endl;
+  nout << "dp.relation_with(Linear_Expression(0) %= 0) == " << rel6 << endl;
+  nout << "dp.relation_with(2*A + B %= 3) == " << rel7 << endl;
+  nout << "dp.relation_with(3*A + 3*B + C %= 7) == " << rel8 << endl;
+  print_constraints(dp, "*** dp constraints ***");
+  print_congruences(dp, "*** dp congruences ***");
+  return ok;
+}
+
+// A product where the components strictly intersect the constraint.
+bool
+test05() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Product dp(3);
+  dp.refine_with_constraint(C == 0);
+  dp.refine_with_congruence(6*A + 3*B %= 0);
+
+  Poly_Con_Relation rel1 = dp.domain1().relation_with(2*A + B >= 3);
+  Poly_Con_Relation rel2 = dp.domain2().relation_with(2*A + B >= 3);
+  bool okdp1 = (rel1 == Poly_Con_Relation::strictly_intersects());
+  bool okdp2 = (rel2 == Poly_Con_Relation::strictly_intersects());
+
+  if (!okdp1 || !okdp2) {
+    nout << "dp.domain1().relation_with(2*A + B >= 3) == " << rel1 << endl;
+    nout << "dp.domain2().relation_with(2*A + B >= 3) == " << rel2 << endl;
+    print_constraints(dp, "*** dp constraints ***");
+    print_congruences(dp, "*** dp congruences ***");
+    return false;
+  }
+
+  Poly_Con_Relation rel3 = dp.relation_with(2*A + B >= 3);
+  bool ok = (rel3 == Poly_Con_Relation::nothing());
+
+  nout << "dp.relation_with(2*A + B >= 3) == " << rel3 << endl;
+  print_constraints(dp, "*** dp constraints ***");
+  print_congruences(dp, "*** dp congruences ***");
+
+  return ok;
+}
+
+// relation_with a congruence
+bool
+test06() {
+  Variable A(0);
+  Variable B(1);
+
+  Congruence cg(A %= 2);
+
+  Product dp(2);
+
+  Poly_Con_Relation rel = dp.relation_with(cg);
+  bool ok = Poly_Con_Relation::nothing() == rel;
+
+  nout << "dp.relation_with(A %= 2) == " << rel << endl;
+  print_constraints(dp, "*** dp constraints ***");
+  print_congruences(dp, "*** dp congruences ***");
+
+  return ok;
+}
+
+// Empty product; relation_with a congruence.
+bool
+test07() {
+  Variable A(0);
+  Variable B(1);
+
+  Product dp(2);
+  dp.refine_with_constraint(A == 1);
+  dp.refine_with_congruence((A %= 2) / 0);
+
+  Poly_Con_Relation rel = dp.relation_with(B %= 0);
+  bool ok = (rel == (Poly_Con_Relation::is_included()
+		 && Poly_Con_Relation::is_disjoint()
+	         && Poly_Con_Relation::saturates()));
+
+  nout << "dp.relation_with(B %= 0) == " << rel << endl;
+  print_constraints(dp, "*** dp constraints ***");
+  print_congruences(dp, "*** dp congruences ***");
+
+  return ok;
+}
+
+// A product in 3D; relation_with a congruence.
+bool
+test08() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Product dp(3);
+  dp.refine_with_constraint(3*A + 3*B + C == 7);
+  dp.refine_with_constraint(3*A - C >= 2);
+  dp.refine_with_congruence((2*A + B %= 0) / 2);
+
+  Poly_Con_Relation rel1 = dp.domain1().relation_with(2*A + B %= 3);
+  Poly_Con_Relation rel2 = dp.domain2().relation_with(2*A + B %= 3);
+  bool okdp1 = (rel1 == Poly_Con_Relation::is_included());
+  bool okdp2 = (rel2 == Poly_Con_Relation::strictly_intersects());
+
+  if (!okdp2 || !okdp1) {
+    nout << "dp.domain1().relation_with(2*A + B %= 3) == " << rel1 << endl;
+    nout << "dp.domain2().relation_with(2*A + B %= 3) == " << rel2 << endl;
+    print_constraints(dp, "*** dp constraints ***");
+    print_congruences(dp, "*** dp congruences ***");
+    return false;
+  }
+
+  Poly_Con_Relation rel3 = dp.relation_with(A + B + C %= 0);
+  Poly_Con_Relation rel4 = dp.relation_with(A + B %= 0);
+  Poly_Con_Relation rel5 = dp.relation_with(A %= 0);
+  Poly_Con_Relation rel6 = dp.relation_with(Linear_Expression(0) %= 0);
+  Poly_Con_Relation rel7 = dp.relation_with(2*A + B %= 3);
+  Poly_Con_Relation rel8 = dp.relation_with(3*A + 3*B + C %= 7);
+  bool ok = (rel3 == Poly_Con_Relation::nothing()
+	     && rel4 == Poly_Con_Relation::nothing()
+	     && rel5 == Poly_Con_Relation::nothing()
+	     && rel6 == (Poly_Con_Relation::is_included()
+			 && Poly_Con_Relation::saturates())
+	     && rel7 == Poly_Con_Relation::is_included()
+	     && rel8 == (Poly_Con_Relation::is_included()
+			 && Poly_Con_Relation::saturates()));
+
+  nout << "dp.relation_with(A + B + C %= 0) == " << rel3 << endl;
+  nout << "dp.relation_with(A + B %= 0) == " << rel4 << endl;
+  nout << "dp.relation_with(A %= 0) == " << rel5 << endl;
+  nout << "dp.relation_with(Linear_Expression(0) %= 0) == " << rel6 << endl;
+  nout << "dp.relation_with(2*A + B %= 3) == " << rel7 << endl;
+  nout << "dp.relation_with(3*A + 3*B + C %= 7) == " << rel8 << endl;
+  print_constraints(dp, "*** dp constraints ***");
+  print_congruences(dp, "*** dp congruences ***");
+
+  return ok;
+}
+
+// A product where the components strictly intersect the congruence.
+bool
+test09() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Product dp(3);
+  dp.refine_with_constraint(C == 0);
+  dp.refine_with_congruence(6*A + 3*B %= 0);
+
+  bool okdp1 = (dp.domain1().relation_with(2*A + B %= 3)
+		== Poly_Con_Relation::strictly_intersects());
+
+  bool okdp2 = (dp.domain2().relation_with(2*A + B %= 3)
+	       == Poly_Con_Relation::strictly_intersects());
+
+  Poly_Con_Relation rel = dp.relation_with(2*A + B %= 3);
+  bool ok = (okdp1 && okdp2
+	     && rel == Poly_Con_Relation::nothing());
+
+  print_constraints(dp, "*** dp constraints ***");
+  print_congruences(dp, "*** dp congruences ***");
+  nout << "dp.relation_with(2*A + B %= 3) == " << rel << endl;
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST(test08);
+  DO_TEST(test09);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/shapepreservingproduct1.cc b/tests/Partially_Reduced_Product/shapepreservingproduct1.cc
new file mode 100644
index 0000000..b7d4e2e
--- /dev/null
+++ b/tests/Partially_Reduced_Product/shapepreservingproduct1.cc
@@ -0,0 +1,151 @@
+/* Test Partially_Reduced_Product<>:: Shape_Preserving_Reduction()
+   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+
+typedef NNC_Polyhedron Poly;
+
+typedef Domain_Product<Poly, Grid>::Shape_Preserving_Product SHPProduct;
+namespace {
+
+// Shape_Preserving_Reduction with non-strict constraints and
+// equality found. Positive coefficients.
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+
+  SHPProduct shpp(2);
+  Constraint_System cs;
+  cs.insert(4*A >= 6);
+  cs.insert(4*A <= 17);
+  shpp.refine_with_constraints(cs);
+  shpp.refine_with_congruence((A %= 0)/ 2);
+
+  SHPProduct known_shpp(2);
+
+  known_shpp.refine_with_constraint(A >= 2);
+  known_shpp.refine_with_constraint(A <= 4);
+  known_shpp.refine_with_congruence((A %= 0)/ 2);
+
+  bool ok = shpp.OK() && shpp == known_shpp;
+
+  print_congruences(shpp, "*** after ok check: shpp congruences ***");
+  print_constraints(shpp, "*** after ok check: shpp constraints ***");
+
+  return ok;
+}
+
+// Shape_Preserving_Reduction with non-strict constraints and
+// constraints tightened. Negative coefficients.
+bool
+test02() {
+  Variable A(0);
+  Variable B(1);
+
+  SHPProduct shpp(2);
+  Constraint_System cs;
+  cs.insert(4*A >= -5);
+  cs.insert(4*A <= -1);
+  shpp.refine_with_constraints(cs);
+  shpp.refine_with_congruence((2*A %= 0)/ 1);
+
+  SHPProduct known_shpp(2);
+
+  known_shpp.refine_with_constraint(A >= -1);
+  known_shpp.refine_with_constraint(2*A <= -1);
+  known_shpp.refine_with_congruence((2*A %= 0)/ 1);
+
+  bool ok = shpp.OK() && shpp == known_shpp;
+
+  print_congruences(shpp, "*** after ok check: shpp congruences ***");
+  print_constraints(shpp, "*** after ok check: shpp constraints ***");
+
+  return ok;
+}
+
+// Shape_Preserving_Reduction with strict bounds.
+bool
+test03() {
+  Variable A(0);
+  Variable B(1);
+
+  SHPProduct shpp(2);
+  Constraint_System cs;
+  cs.insert(A > 1);
+  cs.insert(A < 5);
+  shpp.refine_with_constraints(cs);
+  shpp.refine_with_congruence((A %= 0)/ 2);
+
+  SHPProduct known_shpp(2);
+
+  known_shpp.refine_with_constraint(A >= 2);
+  known_shpp.refine_with_constraint(A <= 4);
+  known_shpp.refine_with_congruence((A %= 0)/ 2);
+
+  bool ok = shpp.OK() && shpp == known_shpp;
+
+  print_congruences(shpp, "*** after ok check: shpp congruences ***");
+  print_constraints(shpp, "*** after ok check: shpp constraints ***");
+
+  return ok;
+}
+
+// Shape_Preserving_Reduction where an equality is found, not found
+// by the congruences reduction.
+bool
+test04() {
+  Variable A(0);
+  Variable B(1);
+
+  SHPProduct shpp(2);
+  Constraint_System cs;
+  cs.insert(A + B >= 1);
+  cs.insert(A + B <= 3);
+  shpp.refine_with_constraints(cs);
+  shpp.refine_with_congruence((A %= 0)/ 2);
+  shpp.refine_with_congruence((B %= 0)/ 2);
+
+  SHPProduct known_shpp(2);
+
+  known_shpp.refine_with_constraint(A + B == 2);
+  known_shpp.refine_with_congruence((A %= 0)/ 2);
+  known_shpp.refine_with_congruence((B %= 0)/ 2);
+
+  bool ok = shpp.OK() && shpp == known_shpp;
+
+  print_congruences(shpp, "*** after ok check: shpp congruences ***");
+  print_constraints(shpp, "*** after ok check: shpp constraints ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/smashproduct1.cc b/tests/Partially_Reduced_Product/smashproduct1.cc
new file mode 100644
index 0000000..92be69e
--- /dev/null
+++ b/tests/Partially_Reduced_Product/smashproduct1.cc
@@ -0,0 +1,659 @@
+/* Test Smash_Product.
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+#define REVERSED_TEST
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product CProduct;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Smash_Product SProduct;
+
+namespace {
+
+// Product(dims, type); == and !=
+bool
+test01() {
+  Variable A(0);
+
+  SProduct sp1(3);
+  SProduct sp2(3, EMPTY);
+
+  bool ok = (sp1 != sp2);
+
+  if (!ok)
+    return false;
+
+  sp1.refine_with_congruence((A %= 0) / 4);
+  sp1.refine_with_congruence((A %= 1) / 4);
+
+  ok = (sp1 == sp2);
+
+  ok = ok && sp1.OK() && sp2.OK();
+
+  print_congruences(sp1, "*** sp1 congruences ***");
+  print_constraints(sp1, "*** sp1 constraints ***");
+
+  return ok;
+}
+
+// operator=
+bool
+test02() {
+  Variable A(0);
+  Variable B(1);
+
+  Constraint_System cs(A + B <= 9);
+
+  SProduct sp1(2);
+  sp1.refine_with_congruence((A %= 9) / 19);
+  sp1.refine_with_congruence((A %= 8) / 19);
+  SProduct sp2 = sp1;
+
+  bool ok =  (sp1 == sp2);
+
+  ok = ok && sp1.OK() && sp2.OK();
+
+  print_congruences(sp1, "*** sp1 congruences ***");
+  print_constraints(sp1, "*** sp1 constraints ***");
+
+  return ok;
+}
+
+// ok(), not reduced.
+bool
+test03() {
+  Variable A(0);
+  Variable B(1);
+
+  bool ok;
+
+  SProduct sp(2);
+  sp.refine_with_constraint(A >= 1);
+  sp.refine_with_constraint(A <= 0);
+  sp.refine_with_congruence((A %= 1) / 3);
+
+  ok = sp.is_empty() && sp.OK();
+
+  print_constraints(sp, "*** sp constraints ***");
+  print_congruences(sp, "*** sp congruences ***");
+
+  return ok;
+}
+
+// ok(), is reduced.
+bool
+test04() {
+  Variable A(0);
+  Variable B(1);
+
+  bool ok;
+
+  SProduct sp(2);
+  sp.refine_with_constraint(A >= 1);
+  sp.refine_with_constraint(A <= 0);
+  sp.refine_with_congruence((A %= 1) / 3);
+
+  // reduce the product
+  Constraint_System sp_cs = sp.constraints();
+
+  ok = sp.OK();
+
+  print_constraints(sp_cs, "*** sp.constraints(); ***");
+
+  Grid sp_gr(sp_cs);
+  ok = sp_gr.is_empty();
+
+  return ok;
+}
+
+// Building from inequality constraints()
+bool
+test05() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Constraint_System cs;
+  cs.insert(A - C <= 8);
+  cs.insert(A - C >= 9);
+
+  try {
+    SProduct sp(cs);
+   }
+  catch (const std::invalid_argument& e) {
+    nout << "cs contains an inequality constraint: " << e.what() << endl;
+    return true;
+  }
+  catch (...) {
+  }
+  return false;
+}
+
+// Building from equality congruences()
+bool
+test06() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Congruence_System cgs1;
+  cgs1.insert((A - C %= 8) / 0);
+  Congruence_System cgs2;
+  cgs2.insert((A - C %= 9) / 0);
+  cgs2.insert((B %= 21) / 0);
+
+  SProduct sp(cgs1);
+
+  bool ok = sp.OK();
+
+  print_congruences(sp, "*** sp congruences ***");
+  print_constraints(sp, "*** sp constraints ***");
+
+  return ok;
+}
+
+// refine_with_congruences
+bool
+test07() {
+  Variable A(0);
+  Variable B(1);
+
+  Congruence_System cgs;
+  cgs.insert((A %= 0) / 2);
+  cgs.insert((A + B %= 0) / 2);
+  cgs.insert((B %= 0) / 2);
+  cgs.insert(A + B == 0);
+
+  SProduct sp(2);
+
+  sp.refine_with_congruences(cgs);
+
+  Grid gr(cgs);
+
+  SProduct known_sp(gr);
+
+  bool ok = (sp == known_sp);
+
+  print_constraints(sp, "*** sp constraints ***");
+  print_congruences(sp, "*** sp congruences ***");
+
+  return ok;
+}
+
+// is_bounded().
+bool
+test08() {
+  Variable A(0);
+  Variable B(1);
+
+  bool ok;
+
+  SProduct sp(2);
+  sp.refine_with_constraint(A >= 1);
+  sp.refine_with_constraint(A <= 0);
+  sp.refine_with_congruence((A %= 1) / 3);
+
+  ok = sp.is_bounded();
+  ok = ok && sp.OK();
+
+  print_congruences(sp, "*** sp congruences ***");
+  print_constraints(sp, "*** sp constraints ***");
+
+  return ok;
+}
+
+// space_dimension()
+bool
+test09() {
+  Variable A(0);
+  Variable E(4);
+
+  Constraint_System cs(A + E < 9);
+
+  SProduct sp(5);
+  sp.refine_with_constraints(cs);
+
+  bool smash_ok = (sp.space_dimension() == 5);
+
+  print_congruences(sp, "*** sp congruences ***");
+  print_constraints(sp, "*** sp constraints ***");
+
+  return smash_ok;
+}
+
+// affine_dimension()
+bool
+test10() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  SProduct sp(3);
+  sp.refine_with_constraint(A - C <= 9);
+  sp.refine_with_constraint(A - C >= 9);
+  sp.refine_with_constraint(B >= 2);
+
+  bool smash_ok = sp.space_dimension() == 3;
+  smash_ok = smash_ok && sp.affine_dimension() == 2;
+
+  if (smash_ok) {
+    sp.refine_with_constraint(A - C >= 4);
+    sp.refine_with_constraint(A - C <= 4);
+
+    smash_ok = smash_ok && sp.affine_dimension() == 0;
+  }
+
+  print_congruences(sp, "*** sp congruences ***");
+  print_constraints(sp, "*** sp constraints ***");
+
+  return smash_ok;
+}
+
+// contains()
+bool
+test11() {
+  Variable A(0);
+
+  SProduct sp1(1);
+  sp1.refine_with_constraint(A <= 3);
+  sp1.refine_with_congruence((A %= 1) / 2);
+
+  SProduct sp2(1);
+  sp2.refine_with_constraint(A <= 3);
+  sp2.refine_with_constraint(A >= 4);
+  sp2.refine_with_congruence((A %= 0) / 2);
+
+  bool smash_ok1 = sp1.contains(sp2) && sp1.strictly_contains(sp2);
+
+  print_constraints(sp1, "*** sp1 constraints ***");
+  print_congruences(sp1, "*** sp1 congruences ***");
+
+  if (!smash_ok1)
+    return smash_ok1;
+
+  SProduct sp3(1);
+  sp3.refine_with_constraint(A <= 3);
+  sp3.refine_with_congruence((A %= 1) / 2);
+
+  SProduct sp4(1);
+  sp4.refine_with_constraint(A <= 4);
+  sp4.refine_with_congruence((A %= 0) / 2);
+  sp4.refine_with_congruence((A %= 1) / 2);
+
+  bool smash_ok2 = sp3.contains(sp4) && sp3.strictly_contains(sp4);
+
+  print_constraints(sp3, "*** sp3 constraints ***");
+  print_congruences(sp3, "*** sp3 congruences ***");
+
+  if (!smash_ok2)
+    return smash_ok2;
+
+  SProduct sp5(1);
+  sp5.refine_with_constraint(A <= 3);
+  sp5.refine_with_constraint(A >= 4);
+  sp5.refine_with_congruence((A %= 1) / 2);
+  sp5.refine_with_congruence((A %= 0) / 2);
+
+  SProduct sp6(1, EMPTY);
+
+  bool smash_ok3 = sp5.contains(sp6) && !sp5.strictly_contains(sp6);
+
+  print_constraints(sp5, "*** sp5 constraints ***");
+  print_congruences(sp5, "*** sp5 congruences ***");
+
+  return smash_ok3;
+}
+
+// intersection_assign()
+bool
+test12() {
+  Variable A(0);
+  Variable B(1);
+
+  SProduct sp1(3);
+  sp1.refine_with_constraint(A >= 0);
+  sp1.refine_with_congruence((A %= 0) / 2);
+
+  SProduct sp2(3);
+  sp2.refine_with_constraint(A <= 0);
+  sp2.refine_with_congruence((A %= 0) / 1);
+
+  sp1.intersection_assign(sp2);
+
+  SProduct known_sp(3);
+  known_sp.refine_with_constraint(A == 0);
+
+  bool smash_ok1 = !(sp1 == known_sp);
+  if (!smash_ok1) {
+    print_congruences(sp1, "*** sp1 congruences ***");
+    print_constraints(sp1, "*** sp1 constraints ***");
+    print_congruences(sp2, "*** sp2 congruences ***");
+    print_constraints(sp2, "*** sp2 constraints ***");
+    return smash_ok1;
+  }
+
+  sp2.refine_with_constraint(A >= 1);
+  sp1.intersection_assign(sp2);
+
+  known_sp.refine_with_constraint(A == 1);
+
+  bool smash_ok2 = (sp1 == known_sp);
+
+  print_congruences(sp1, "*** sp1 congruences ***");
+  print_constraints(sp1, "*** sp1 constraints ***");
+  print_congruences(sp2, "*** sp2 congruences ***");
+  print_constraints(sp2, "*** sp2 constraints ***");
+
+  return smash_ok2;
+}
+
+// upper_bound_assign(sp2)
+bool
+test13() {
+  Variable A(0);
+  Variable B(1);
+
+  SProduct sp(1);
+  sp.refine_with_constraint(A <= 18);
+  sp.refine_with_constraint(A >= 18);
+
+  SProduct sp1(sp);
+
+  SProduct sp2(1);
+  sp2.refine_with_congruence((A %= 19) / 20);
+  sp2.refine_with_congruence((A %= 18) / 20);
+
+  sp1.upper_bound_assign(sp2);
+
+  bool smash_ok = (sp1 == sp);
+
+  print_congruences(sp1, "*** sp1 congruences ***");
+  print_constraints(sp1, "*** sp1 constraints ***");
+
+  if (!smash_ok)
+    return false;
+
+  sp2.upper_bound_assign(sp1);
+
+  smash_ok = (sp2 == sp);
+
+  print_congruences(sp2, "*** sp2 congruences ***");
+  print_constraints(sp2, "*** sp2 constraints ***");
+
+  return smash_ok;
+}
+
+// upper_bound_assign_if_exact()
+bool
+test14() {
+  Variable A(0);
+  Variable B(1);
+
+  SProduct sp(3);
+  sp.refine_with_congruence((A %= 0) / 2);
+  sp.refine_with_congruence((B %= 0) / 2);
+
+  SProduct sp1(sp);
+
+  SProduct sp2(3);
+  sp2.refine_with_congruence((A %= 1) / 3);
+  sp2.refine_with_congruence((B %= 1) / 3);
+
+  bool smash_ok = (!sp1.upper_bound_assign_if_exact(sp2)
+		   && !sp2.upper_bound_assign_if_exact(sp1));
+
+  if (!smash_ok) {
+    print_congruences(sp1, "*** sp1 congruences ub exact ***");
+    print_constraints(sp1, "*** sp1 constraints ub exact ***");
+    print_congruences(sp2, "*** sp2 congruences ub exact ***");
+    print_constraints(sp2, "*** sp2 constraints ub exact ***");
+    return false;
+  }
+
+  smash_ok = (sp == sp1);
+
+  print_congruences(sp1, "*** sp1 congruences ***");
+  print_constraints(sp1, "*** sp1 constraints ***");
+  print_congruences(sp2, "*** sp2 congruences ***");
+  print_constraints(sp2, "*** sp2 constraints ***");
+
+  if (!smash_ok)
+    return false;
+
+  // The grid component is empty so that the smash product
+  // reduces the polyhedron component to empty.
+  sp1.refine_with_congruence((B %= 1) / 2);
+  sp1.refine_with_congruence((B %= 0) / 2);
+
+  // The polyhedron component is empty so that the smash product
+  // reduces the grid component to empty.
+  sp2.refine_with_constraint(B >= 1);
+  sp2.refine_with_constraint(B <= 0);
+
+  smash_ok = sp1.upper_bound_assign_if_exact(sp2)
+   && sp2.upper_bound_assign_if_exact(sp1);
+
+  if (!smash_ok)
+    return false;
+
+  SProduct known_sp(3, EMPTY);
+
+  smash_ok = (sp1 == known_sp) && (sp2 == known_sp);
+
+  print_congruences(sp1, "*** sp1 congruences ***");
+  print_constraints(sp1, "*** sp1 constraints ***");
+  print_congruences(sp2, "*** sp2 congruences ***");
+  print_constraints(sp2, "*** sp2 constraints ***");
+
+  return smash_ok;
+}
+
+// difference_assign(sp2)
+bool
+test15() {
+  Variable A(0);
+  Variable B(1);
+
+  SProduct sp(1);
+  sp.refine_with_constraint(A <= 18);
+  sp.refine_with_constraint(A >= 18);
+
+  SProduct sp1(sp);
+
+  SProduct sp2(1);
+  sp2.refine_with_congruence((A %= 19) / 20);
+  sp2.refine_with_congruence((A %= 18) / 20);
+
+  sp1.difference_assign(sp2);
+
+  bool smash_ok = (sp1 == sp);
+
+  print_congruences(sp1, "*** sp1 congruences ***");
+  print_constraints(sp1, "*** sp1 constraints ***");
+
+  if (!smash_ok)
+    return false;
+
+  sp2.difference_assign(sp1);
+
+  SProduct known_sp(1, EMPTY);
+
+  smash_ok = (sp2 == known_sp);
+
+  print_congruences(sp2, "*** sp2 congruences ***");
+  print_constraints(sp2, "*** sp2 constraints ***");
+
+  return smash_ok;
+}
+
+// time_elapse_assign(y)
+bool
+test16() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  SProduct sp1(3);
+  sp1.refine_with_constraint(A >= 0);
+  sp1.refine_with_constraint(B >= 0);
+  sp1.refine_with_constraint(A + B >= 3);
+  sp1.refine_with_constraint(2*A - B == 0);
+  sp1.refine_with_constraint(3*A + C == 0);
+  sp1.refine_with_congruence(3*A %= 0);
+
+  SProduct sp2(3);
+  sp2.refine_with_constraint(7*C == 4);
+  sp2.refine_with_constraint(7*B == -1);
+  sp2.refine_with_constraint(7*A == 3);
+
+  sp1.time_elapse_assign(sp2);
+
+  SProduct known_sp(3);
+  known_sp.refine_with_constraint(5*A - 13*B - 7*C == 0);
+  known_sp.refine_with_constraint(3*A + C >= 0);
+  known_sp.refine_with_constraint(A + B >= 3);
+  known_sp.refine_with_constraint(4*A - 3*C >= 13);
+  known_sp.refine_with_congruence((65*A - B %= 0) / 7);
+  known_sp.refine_with_congruence(21*A %= 0);
+
+  bool smash_ok = (sp1 == known_sp);
+
+  print_congruences(sp1, "*** sp1.time_elapse_assign(sp2) congruences ***");
+  print_constraints(sp1, "*** sp1.time_elapse_assign(sp2) constraints ***");
+  print_congruences(sp2, "*** sp2.time_elapse_assign(sp2) congruences ***");
+  print_constraints(sp2, "*** sp2.time_elapse_assign(sp2) constraints ***");
+
+  return smash_ok;
+}
+
+// topological_closure_assign
+bool
+test17() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  SProduct sp(3);
+  sp.refine_with_constraint(B >= 0);
+  sp.refine_with_constraint(3*A + C == 0);
+  sp.refine_with_constraint(2*A - B == 0);
+  sp.refine_with_congruence(3*A %= 0);
+#ifdef PH_IS_NNC
+  sp.refine_with_constraint(A > 0);
+#else
+  sp.refine_with_constraint(A >= 0);
+#endif
+
+  print_congruences(sp, "*** sp congruences ***");
+  print_constraints(sp, "*** sp constraints ***");
+
+  sp.topological_closure_assign();
+
+  SProduct known_sp(3);
+  known_sp.refine_with_constraint(B >= 0);
+  known_sp.refine_with_constraint(3*A + C == 0);
+  known_sp.refine_with_constraint(2*A - B == 0);
+  known_sp.refine_with_congruence(3*A %= 0);
+  known_sp.refine_with_constraint(A >= 0);
+
+  bool smash_ok = (sp == known_sp);
+
+  print_congruences(sp, "*** sp congruences ***");
+  print_constraints(sp, "*** sp constraints ***");
+
+  return smash_ok;
+}
+
+// widening_assign
+bool
+test18() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  SProduct sp_prev(3);
+  sp_prev.refine_with_constraint(C == 0);
+  sp_prev.refine_with_constraint(A - B >= 1);
+  sp_prev.refine_with_constraint(A <= 2);
+  sp_prev.refine_with_constraint(B >= 0);
+  sp_prev.refine_with_congruence((B %= 0) / 2);
+  sp_prev.refine_with_congruence(3*A %= 0);
+
+  print_congruences(sp_prev, "*** sp_prev congruences ***");
+  print_constraints(sp_prev, "*** sp_prev constraints ***");
+
+  SProduct sp(3);
+  sp.refine_with_constraint(C == 0);
+  sp.refine_with_constraint(A <= 2);
+  sp.refine_with_constraint(B >= 0);
+  sp.refine_with_constraint(2*A - B >= 2);
+  sp.refine_with_constraint(B >= 0);
+  sp.refine_with_congruence(6*A %= 0);
+  sp.refine_with_congruence((B %= 0) / 2);
+
+  sp.upper_bound_assign(sp_prev);
+
+  print_congruences(sp, "*** sp congruences ***");
+  print_constraints(sp, "*** sp constraints ***");
+
+  sp.widening_assign(sp_prev);
+
+  SProduct known_sp(3);
+  known_sp.refine_with_constraint(C == 0);
+  known_sp.refine_with_constraint(A <= 2);
+  known_sp.refine_with_constraint(B >= 0);
+  known_sp.refine_with_congruence((B %= 0) / 2);
+
+  bool smash_ok = (sp == known_sp);
+
+  print_congruences(sp, "*** sp.widening_assign(sp_prev) congruences ***");
+  print_constraints(sp, "*** sp.widening_assign(sp_prev) constraints ***");
+
+  return smash_ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST(test08);
+  DO_TEST(test09);
+  DO_TEST(test10);
+  DO_TEST(test11);
+  DO_TEST(test12);
+  DO_TEST(test13);
+  DO_TEST(test14);
+  DO_TEST(test15);
+  DO_TEST_F8(test16);
+  DO_TEST(test17);
+  DO_TEST(test18);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/spacedims1.cc b/tests/Partially_Reduced_Product/spacedims1.cc
new file mode 100644
index 0000000..83a4202
--- /dev/null
+++ b/tests/Partially_Reduced_Product/spacedims1.cc
@@ -0,0 +1,286 @@
+/* Test
+   Product<NNC_Polyhedron, Grid>::add_space_dimensions_and_embed() and
+   Product<NNC_Polyhedron, Grid>::add_space_dimensions_and_project() and
+   Product<NNC_Polyhedron, Grid>::remove_space_dimensions() and
+   Product<NNC_Polyhedron, Grid>::remove_higher_space_dimensions() and
+   Product<NNC_Polyhedron, Grid>::fold_space_dimensions() and
+   Product<NNC_Polyhedron, Grid>::expand_space_dimension() and
+   Product<NNC_Polyhedron, Grid>::map_space_dimensions().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+// add_space_dimensions_and_embed()
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp1(2);
+  prp1.refine_with_constraint(A >= 0);
+  prp1.refine_with_congruence((A %= 0) / 2);
+
+  prp1.add_space_dimensions_and_embed(3);
+
+  Product known_prp(5);
+  known_prp.refine_with_congruence((A %= 0) / 2);
+  known_prp.refine_with_constraint(A >= 0);
+
+  bool ok = (prp1 == known_prp);
+
+  print_congruences(prp1, "*** prp1 congruences ***");
+  print_constraints(prp1, "*** prp1 constraints ***");
+
+  return ok;
+}
+
+// add_space_dimensions_and_project()
+bool
+test02() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Product prp1(2);
+  prp1.refine_with_constraint(A >= 0);
+  prp1.refine_with_congruence((A %= 0) / 2);
+
+  prp1.add_space_dimensions_and_project(1);
+
+  Product known_prp(3);
+  known_prp.refine_with_congruence((A %= 0) / 2);
+  known_prp.refine_with_constraint(A >= 0);
+  known_prp.refine_with_constraint(C == 0);
+
+  bool ok = (prp1 == known_prp);
+
+  print_congruences(prp1, "*** prp1 congruences ***");
+  print_constraints(prp1, "*** prp1 constraints ***");
+
+  return ok;
+}
+
+// remove_space_dimensions()
+bool
+test03() {
+  Variable A(0);
+  Variable C(2);
+  Variable D(3);
+
+  Product prp(4);
+  prp.refine_with_constraint(A >= 0);
+  prp.refine_with_congruence((A %= 0) / 2);
+  prp.refine_with_congruence((A - C %= 0) / 2);
+
+  Variables_Set vars;
+  vars.insert(C);
+  vars.insert(D);
+
+  prp.remove_space_dimensions(vars);
+
+  Product known_prp(2);
+  known_prp.refine_with_constraint(A >= 0);
+  known_prp.refine_with_congruence((A %= 0) / 2);
+
+  bool ok = (prp == known_prp);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp ***");
+
+  return ok;
+}
+
+// remove_higher_space_dimensions()
+bool
+test04() {
+  Variable A(0);
+  Variable C(2);
+  Variable D(3);
+
+  Product prp(4);
+  prp.refine_with_constraint(A >= 0);
+  prp.refine_with_congruence((A %= 0) / 2);
+  prp.refine_with_congruence((A - C %= 0) / 2);
+
+  prp.remove_higher_space_dimensions(2);
+
+  Product known_prp(2);
+  known_prp.refine_with_constraint(A >= 0);
+  known_prp.refine_with_congruence((A %= 0) / 2);
+
+  bool ok = (prp == known_prp);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// map_space_dimensions()
+bool
+test05() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp(2);
+  prp.refine_with_constraint(A >= 0);
+  prp.refine_with_congruence((A - B %= 0) / 2);
+
+  Partial_Function function;
+  function.insert(0, 1);
+  function.insert(1, 0);
+
+  prp.map_space_dimensions(function);
+
+  Product known_prp(2);
+  known_prp.refine_with_constraint(B >= 0);
+  known_prp.refine_with_congruence((B - A %= 0) / 2);
+
+  bool ok = (prp == known_prp);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// expand_space_dimension()
+bool
+  test06() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+  Variable D(3);
+
+  Product prp(3);
+  prp.refine_with_congruence((A + B %= 2) / 7);
+  prp.refine_with_constraint(A >= 0);
+
+  prp.expand_space_dimension(A, 1);
+
+  Product known_prp(4);
+  known_prp.refine_with_congruence((A + B %= 2) / 7);
+  known_prp.refine_with_congruence((D + B %= 2) / 7);
+  known_prp.refine_with_constraint(A >= 0);
+  known_prp.refine_with_constraint(D >= 0);
+
+  bool ok = (prp == known_prp);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// fold_space_dimensions()
+bool
+test07() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Product prp(3);
+  prp.refine_with_congruence((A %= 2) / 7);
+  prp.refine_with_congruence((B %= 2) / 14);
+  prp.refine_with_congruence((C %= 2) / 21);
+  prp.refine_with_constraint(A <= 5);
+  prp.refine_with_constraint(B <= 10);
+  prp.refine_with_constraint(C <= 0);
+  prp.refine_with_constraint(C >= 0);
+
+  Variables_Set to_fold;
+  to_fold.insert(A);
+  to_fold.insert(C);
+
+  prp.fold_space_dimensions(to_fold, B);
+
+  Product known_prp(1);
+  known_prp.refine_with_congruence((A %= 2) / 7);
+  known_prp.refine_with_constraint(A <= 10);
+
+  bool ok = (prp == known_prp);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// max_space_dimension().
+bool
+test08() {
+  dimension_type msd1 = NNC_Polyhedron::max_space_dimension();
+  nout << "NNCPolyhedron max space dimension = "
+       << msd1 << endl;
+  dimension_type msd2 = Grid::max_space_dimension();
+  nout << "Grid max space dimension = "
+       << msd2 << endl;
+  dimension_type msd = Product::max_space_dimension();
+  bool ok = (msd <= msd1 && msd <= msd2);
+
+  nout << "Product max space dimension = "
+       << msd << endl << endl;
+
+  return ok;
+}
+
+// Attempt to construct a product with too many dimensions.
+bool
+test09() {
+  try {
+    // This is an invalid use of the constructor of a product:
+    // it is illegal to (try to) build a product with a dimension
+    // greater than max_space_dimension().
+    Product pg(Product::max_space_dimension() + 2);
+
+    // It is an error if the exception is not thrown.
+  }
+  catch (std::length_error& e) {
+    nout << "length_error: " << e.what() << endl << endl;
+    return true;
+  }
+  catch (...) {
+    // It is an error if the wrong exception is thrown.
+  }
+  return false;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST(test08);
+  DO_TEST(test09);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/timeelapse1.cc b/tests/Partially_Reduced_Product/timeelapse1.cc
new file mode 100644
index 0000000..fee9c52
--- /dev/null
+++ b/tests/Partially_Reduced_Product/timeelapse1.cc
@@ -0,0 +1,115 @@
+/* Test Product<NNC_Polyhedron, Grid>::time_elapse_assign().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+// time_elapse_assign(y)
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Product prp1(3);
+  prp1.refine_with_constraint(A >= 0);
+  prp1.refine_with_constraint(B >= 0);
+  prp1.refine_with_constraint(A + B >= 3);
+  prp1.refine_with_constraint(2*A - B == 0);
+  prp1.refine_with_constraint(3*A + C == 0);
+  prp1.refine_with_congruence(3*A %= 0);
+
+  Product prp2(3);
+  prp2.refine_with_constraint(7*C == 4);
+  prp2.refine_with_constraint(7*B == -1);
+  prp2.refine_with_constraint(7*A == 3);
+
+  prp1.time_elapse_assign(prp2);
+
+  Product known_prp(3);
+  known_prp.refine_with_constraint(5*A - 13*B - 7*C == 0);
+  known_prp.refine_with_constraint(3*A + C >= 0);
+  known_prp.refine_with_constraint(A + B >= 3);
+  known_prp.refine_with_constraint(4*A - 3*C >= 13);
+  known_prp.refine_with_congruence((65*A - B %= 0) / 7);
+  known_prp.refine_with_congruence(21*A %= 0);
+  known_prp.refine_with_constraint(A >= 0);
+
+  bool ok = (prp1 == known_prp);
+
+  print_congruences(prp1, "*** prp1.time_elapse_assign(prp1) congruences ***");
+  print_constraints(prp1, "*** prp1.time_elapse_assign(prp1) constraints ***");
+  print_congruences(prp2, "*** prp2.time_elapse_assign(prp2) congruences ***");
+  print_constraints(prp2, "*** prp2.time_elapse_assign(prp2) constraints ***");
+
+  return ok;
+}
+
+// time_elapse_assign(y) where the initial products are not reduced
+// and the second product has non-intersecting single point components.
+bool
+test02() {
+  Variable A(0);
+
+
+  Product prp1(1);
+
+  print_congruences(prp1, "*** prp1 congruences ***");
+  print_constraints(prp1, "*** prp1 constraints ***");
+
+  Grid gr(1);
+  gr.refine_with_congruence((A %= 0)/ 2);
+
+  Product prp2(gr);
+
+  prp2.refine_with_constraint(A >= 1);
+  prp2.refine_with_constraint(A <= 1);
+
+  prp1.time_elapse_assign(prp2);
+
+  Product known_prp(1, EMPTY);
+
+  bool cons_ok = prp1.OK() && (prp1 == known_prp);
+
+  print_congruences(prp1,
+                    "*** prp1.time_elapse_assign(prp2) congruences ***");
+  print_constraints(prp1,
+                    "*** prp1.time_elapse_assign(prp2) constraints ***");
+
+  print_congruences(prp2, "*** prp2 congruences ***");
+  print_constraints(prp2, "*** prp2 constraints ***");
+
+  return cons_ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST_F8(test01);
+  DO_TEST(test02);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/topclosed1.cc b/tests/Partially_Reduced_Product/topclosed1.cc
new file mode 100644
index 0000000..e16491a
--- /dev/null
+++ b/tests/Partially_Reduced_Product/topclosed1.cc
@@ -0,0 +1,94 @@
+/* Test Product<>::is_topologically_closed().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+// is_topologically_closed() where the NNC Polyhedron is topologically
+// open.
+bool
+test01() {
+  Variable A(0);
+
+  Product prp(3);
+  prp.refine_with_constraint(A < 3);
+  prp.refine_with_congruence((A %= 0) / 3);
+
+  bool ok = !prp.is_topologically_closed();
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// is_topologically_closed() where the Polyhedron is topologically
+// closed.
+bool
+test02() {
+  Variable A(0);
+
+  Product prp(3);
+  prp.refine_with_constraint(A <= 3);
+  prp.refine_with_congruence((A %= 0) / 3);
+
+  bool ok = prp.is_topologically_closed();
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+// is_topologically_closed() where the Polyhedron is topologically
+// open and the intersection is closed.
+bool
+test03() {
+  Variable A(0);
+
+  Product prp(3);
+  prp.refine_with_congruence((A %= 0) / 4);
+  prp.refine_with_constraint(A < 3);
+
+  bool ok = !prp.is_topologically_closed();
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/topclosure1.cc b/tests/Partially_Reduced_Product/topclosure1.cc
new file mode 100644
index 0000000..efa71e7
--- /dev/null
+++ b/tests/Partially_Reduced_Product/topclosure1.cc
@@ -0,0 +1,67 @@
+/* Test Product<NNC_Polyhedron, Grid>::topological_closure_assign().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+// topological_closure_assign
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Product prp(3);
+  prp.refine_with_constraint(B >= 0);
+  prp.refine_with_constraint(4*A + C == 0);
+  prp.refine_with_constraint(2*A - B == 0);
+  prp.refine_with_congruence(4*A %= 0);
+  prp.refine_with_constraint(A > 0);
+
+  prp.topological_closure_assign();
+
+  Product known_prp(3);
+  known_prp.refine_with_constraint(B >= 0);
+  known_prp.refine_with_constraint(4*A + C == 0);
+  known_prp.refine_with_constraint(2*A - B == 0);
+  known_prp.refine_with_congruence(4*A %= 0);
+  known_prp.refine_with_constraint(A >= 0);
+
+  bool ok = (prp.is_topologically_closed() && prp == known_prp);
+
+  print_congruences(prp, "*** prp congruences ***");
+  print_constraints(prp, "*** prp constraints ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/upperbound1.cc b/tests/Partially_Reduced_Product/upperbound1.cc
new file mode 100644
index 0000000..f0afeee
--- /dev/null
+++ b/tests/Partially_Reduced_Product/upperbound1.cc
@@ -0,0 +1,190 @@
+/* Test Product<NNC_Polyhedron, Grid>::upper_bound_assign()
+   Product<NNC_Polyhedron, Grid>::upper_bound_assign_if_exact().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+#include "partially_reduced_product_test.hh"
+
+typedef NNC_Polyhedron DOMAIN1;
+typedef Grid DOMAIN2;
+typedef Domain_Product<DOMAIN1x, DOMAIN2x>::Constraints_Product Product;
+
+namespace {
+
+// upper_bound_assign(prp2)
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+
+  Constraint_System cs(A == 9);
+
+  Product prp1(cs);
+
+  Product prp2(1);
+  prp2.refine_with_constraint(A == 19);
+
+  prp1.upper_bound_assign(prp2);
+
+  Product known_prp(1);
+  known_prp.refine_with_constraint(A >= 9);
+  known_prp.refine_with_constraint(A <= 19);
+  known_prp.refine_with_congruence((A %= 9) / 10);
+
+  bool ok = (prp1 == known_prp);
+
+  print_congruences(prp1, "*** prp1 congruences ***");
+  print_constraints(prp1, "*** prp1 constraints ***");
+  print_congruences(prp2, "*** prp2 congruences ***");
+  print_constraints(prp2, "*** prp2 constraints ***");
+
+  return ok;
+}
+
+// upper_bound_assign(cp2)
+// The first product is empty and the second a single point in 1D
+bool
+test02() {
+  Variable A(0);
+
+  Product prp1(1);
+  Constraint_System cs1;
+  cs1.insert(A >= 1);
+  cs1.insert(A <= 0);
+  prp1.refine_with_constraints(cs1);
+
+  Product prp2(1);
+  Constraint_System cs2;
+  cs2.insert(A == 1);
+  prp2.refine_with_constraints(cs2);
+
+  Product prp1_copy(prp1);
+
+  prp1.upper_bound_assign(prp2);
+
+
+  bool ok = (prp1 == prp2 && prp1.OK());
+
+  print_congruences(prp1, "*** after OK() check: prp1 congruences ***");
+  print_constraints(prp1, "*** after OK() check: prp1 constraints ***");
+
+  return ok;
+}
+
+// upper_bound_assign_if_exact()
+bool
+test03() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp1(3);
+  prp1.refine_with_constraint(B == 0);
+
+  Product prp2(3);
+  prp2.refine_with_constraint(B == 0);
+  prp2.refine_with_constraint(A == 8);
+
+  prp1.upper_bound_assign_if_exact(prp2);
+
+  Product known_prp(3);
+  known_prp.refine_with_constraint(B == 0);
+
+  bool ok = (prp1 == known_prp);
+
+  print_congruences(prp1, "*** prp1 congruences ***");
+  print_constraints(prp1, "*** prp1 constraints ***");
+  print_congruences(prp2, "*** prp2 congruences ***");
+  print_constraints(prp2, "*** prp2 constraints ***");
+
+  return ok;
+}
+
+// upper_bound_assign_if_exact()
+bool
+test04() {
+  Variable A(0);
+  Variable B(1);
+
+  Product prp(3);
+  prp.refine_with_congruence((A %= 0) / 2);
+  prp.refine_with_congruence((B %= 0) / 2);
+
+  Product prp1(prp);
+
+  Product prp2(3);
+  prp2.refine_with_congruence((A %= 1) / 3);
+  prp2.refine_with_congruence((B %= 1) / 3);
+
+  bool cons_ok = (!prp1.upper_bound_assign_if_exact(prp2)
+		   && !prp2.upper_bound_assign_if_exact(prp1));
+
+  if (!cons_ok) {
+    print_congruences(prp1, "*** prp1 congruences ub exact ***");
+    print_constraints(prp1, "*** prp1 constraints ub exact ***");
+    print_congruences(prp2, "*** prp2 congruences ub exact ***");
+    print_constraints(prp2, "*** prp2 constraints ub exact ***");
+    return false;
+  }
+
+  cons_ok = (prp == prp1);
+
+  print_congruences(prp1, "*** prp1 congruences ***");
+  print_constraints(prp1, "*** prp1 constraints ***");
+  print_congruences(prp2, "*** prp2 congruences ***");
+  print_constraints(prp2, "*** prp2 constraints ***");
+
+  if (!cons_ok)
+    return false;
+
+  prp1.refine_with_congruence((B %= 1) / 2);
+
+  prp2.refine_with_constraint(B >= 1);
+  prp2.refine_with_constraint(B <= 1);
+
+  cons_ok = prp1.upper_bound_assign_if_exact(prp2)
+   && prp2.upper_bound_assign_if_exact(prp1);
+
+  if (!cons_ok)
+    return false;
+
+  Product known_prp(3);
+  known_prp.refine_with_congruence((B %= 1) / 0);
+  known_prp.refine_with_congruence((A %= 1) / 3);
+
+  cons_ok = (prp1 == known_prp) && (prp2 == known_prp);
+
+  print_congruences(prp1, "*** prp1 congruences ***");
+  print_constraints(prp1, "*** prp1 constraints ***");
+  print_congruences(prp2, "*** prp2 congruences ***");
+  print_constraints(prp2, "*** prp2 constraints ***");
+
+  return cons_ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+END_MAIN
diff --git a/tests/Polyhedron/Makefile.am b/tests/Polyhedron/Makefile.am
index b7994d4..7218f03 100644
--- a/tests/Polyhedron/Makefile.am
+++ b/tests/Polyhedron/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -50,6 +50,8 @@ $(top_builddir)/src/libppl.la \
 @extra_libraries@
 
 ORIGINAL_TESTS = \
+termination1 \
+termination2 \
 hybrid \
 addcongruence1 \
 addcongruences1 \
@@ -80,12 +82,14 @@ constraints1 \
 contains1 contains2 \
 containsintegerpoint1 \
 disjoint1 disjoint2 \
+dropsomenonintegerpoints1 dropsomenonintegerpoints2 \
 dualhypercubes \
 empty1 \
 equals1 \
 exceptions1 exceptions2  exceptions3 \
 expandspacedim1 expandspacedim2 \
 foldspacedims1 foldspacedims2 \
+frequency1 \
 frombdshape1 \
 frombox1 frombox2 \
 fromgrid1 \
@@ -132,6 +136,7 @@ topclosure1 \
 unconstrain1 \
 universe1 universe2 \
 variablesset1 \
+wrap1 wrap2 \
 writeconsys1 \
 writegensys1 \
 writepolyhedron1 writepolyhedron2 \
@@ -166,6 +171,7 @@ nnc_constraints1 \
 nnc_contains1 \
 nnc_containsintegerpoint1 \
 nnc_disjoint1 \
+nnc_dropsomenonintegerpoints1 \
 nnc_empty1 \
 nnc_equals1 \
 nnc_exceptions1 nnc_exceptions3 \
@@ -203,12 +209,17 @@ nnc_smm1 \
 nnc_timeelapse1 \
 nnc_unconstrain1 \
 nnc_universe1 \
+nnc_wrap1 nnc_wrap2 \
 nnc_writepolyhedron1
 
 #
 # Sources for the tests
 #
 
+termination1_SOURCES = termination1.cc
+
+termination2_SOURCES = termination2.cc
+
 hybrid_SOURCES = hybrid.cc
 
 addcongruence1_SOURCES = addcongruence1.cc
@@ -282,6 +293,9 @@ containsintegerpoint1_SOURCES = containsintegerpoint1.cc
 disjoint1_SOURCES = disjoint1.cc
 disjoint2_SOURCES = disjoint2.cc
 
+dropsomenonintegerpoints1_SOURCES = dropsomenonintegerpoints1.cc
+dropsomenonintegerpoints2_SOURCES = dropsomenonintegerpoints2.cc
+
 dualhypercubes_SOURCES = dualhypercubes.cc
 
 empty1_SOURCES = empty1.cc
@@ -298,6 +312,8 @@ expandspacedim2_SOURCES = expandspacedim2.cc
 foldspacedims1_SOURCES = foldspacedims1.cc
 foldspacedims2_SOURCES = foldspacedims2.cc
 
+frequency1_SOURCES = frequency1.cc
+
 frombdshape1_SOURCES = frombdshape1.cc
 
 frombox1_SOURCES = frombox1.cc
@@ -373,7 +389,6 @@ polyhullifexact1_SOURCES = polyhullifexact1.cc
 polyhullifexact2_SOURCES = polyhullifexact2.cc
 
 randphull1_SOURCES = randphull1.cc
-randphull1_LDADD = $(LDADD) -lm
 
 refinewithconstraint1_SOURCES = refinewithconstraint1.cc
 refinewithconstraints1_SOURCES = refinewithconstraints1.cc
@@ -403,6 +418,9 @@ universe2_SOURCES = universe2.cc
 
 variablesset1_SOURCES = variablesset1.cc
 
+wrap1_SOURCES = wrap1.cc
+wrap2_SOURCES = wrap2.cc
+
 writeconsys1_SOURCES = writeconsys1.cc
 
 writegensys1_SOURCES = writegensys1.cc
@@ -507,6 +525,9 @@ nnc_containsintegerpoint1_CXXFLAGS = $(DERIVED_CXXFLAGS)
 nnc_disjoint1_SOURCES = disjoint1.cc
 nnc_disjoint1_CXXFLAGS = $(DERIVED_CXXFLAGS)
 
+nnc_dropsomenonintegerpoints1_SOURCES = dropsomenonintegerpoints1.cc
+nnc_dropsomenonintegerpoints1_CXXFLAGS = $(DERIVED_CXXFLAGS)
+
 nnc_empty1_SOURCES = empty1.cc
 nnc_empty1_CXXFLAGS = $(DERIVED_CXXFLAGS)
 
@@ -601,7 +622,6 @@ nnc_polyhullifexact1_CXXFLAGS = $(DERIVED_CXXFLAGS)
 
 nnc_randphull1_SOURCES = randphull1.cc
 nnc_randphull1_CXXFLAGS = $(DERIVED_CXXFLAGS)
-nnc_randphull1_LDADD = $(LDADD) -lm
 
 nnc_relations1_SOURCES = relations1.cc
 nnc_relations1_CXXFLAGS = $(DERIVED_CXXFLAGS)
@@ -623,6 +643,11 @@ nnc_unconstrain1_CXXFLAGS = $(DERIVED_CXXFLAGS)
 nnc_universe1_SOURCES = universe1.cc
 nnc_universe1_CXXFLAGS = $(DERIVED_CXXFLAGS)
 
+nnc_wrap1_SOURCES = wrap1.cc
+nnc_wrap1_CXXFLAGS = $(DERIVED_CXXFLAGS)
+nnc_wrap2_SOURCES = wrap2.cc
+nnc_wrap2_CXXFLAGS = $(DERIVED_CXXFLAGS)
+
 nnc_writepolyhedron1_SOURCES = writepolyhedron1.cc
 nnc_writepolyhedron1_CXXFLAGS = $(DERIVED_CXXFLAGS)
 
@@ -634,6 +659,8 @@ memory1_SRCS = memory1.cc
 
 watchdog1_SRCS = watchdog1.cc
 
+weightwatch1_SRCS = weightwatch1.cc
+
 if !VALGRIND_TESTS_ENABLED
 VALGRIND_BRITTLE_TESTS = memory1
 
@@ -643,14 +670,27 @@ endif !VALGRIND_TESTS_ENABLED
 
 
 if BUILD_WATCHDOG_LIBRARY
-WATCHDOG_TESTS = watchdog1
 
-watchdog1_SOURCES = $(watchdog1_SRCS)
-watchdog1_CPPFLAGS = \
+WATCHDOG_TESTS = \
+watchdog1 \
+weightwatch1
+
+WATCHDOG_LIBRARY_CPPFLAGS = \
 $(AM_CPPFLAGS) \
 -I$(top_builddir)/Watchdog \
 -I$(top_builddir)/Watchdog/src
-watchdog1_LDADD = $(LDADD) $(top_builddir)/Watchdog/src/libpwl.la
+
+WATCHDOG_LIBRARY_LDADD = \
+$(LDADD) \
+$(top_builddir)/Watchdog/src/libpwl.la
+
+watchdog1_SOURCES = $(watchdog1_SRCS)
+watchdog1_CPPFLAGS = $(WATCHDOG_LIBRARY_CPPFLAGS)
+watchdog1_LDADD = $(WATCHDOG_LIBRARY_LDADD)
+
+weightwatch1_SOURCES = $(weightwatch1_SRCS)
+weightwatch1_CPPFLAGS = $(WATCHDOG_LIBRARY_CPPFLAGS)
+weightwatch1_LDADD = $(WATCHDOG_LIBRARY_LDADD)
 
 endif BUILD_WATCHDOG_LIBRARY
 
@@ -664,7 +704,7 @@ XFAIL_TESTS =
 
 check_PROGRAMS = $(TESTS) $(BUGS)
 
-EXTRA_DIST = $(memory1_SRCS) $(watchdog1_SRCS)
+EXTRA_DIST = $(memory1_SRCS) $(watchdog1_SRCS) $(weightwatch1_SRCS)
 
 BUGS =
 
diff --git a/tests/Polyhedron/Makefile.in b/tests/Polyhedron/Makefile.in
index c4ad6a8..f0c5976 100644
--- a/tests/Polyhedron/Makefile.in
+++ b/tests/Polyhedron/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -37,8 +38,9 @@
 # site: http://www.cs.unipr.it/ppl/ .
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -66,6 +68,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -87,13 +90,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
-am__EXEEXT_1 = hybrid$(EXEEXT) addcongruence1$(EXEEXT) \
+CONFIG_CLEAN_VPATH_FILES =
+am__EXEEXT_1 = termination1$(EXEEXT) termination2$(EXEEXT) \
+	hybrid$(EXEEXT) addcongruence1$(EXEEXT) \
 	addcongruences1$(EXEEXT) addconstraint1$(EXEEXT) \
 	addconstraints1$(EXEEXT) addconstraints2$(EXEEXT) \
 	addgenerator1$(EXEEXT) addgenerator2$(EXEEXT) \
@@ -114,12 +119,14 @@ am__EXEEXT_1 = hybrid$(EXEEXT) addcongruence1$(EXEEXT) \
 	congruences1$(EXEEXT) constrains1$(EXEEXT) \
 	constraints1$(EXEEXT) contains1$(EXEEXT) contains2$(EXEEXT) \
 	containsintegerpoint1$(EXEEXT) disjoint1$(EXEEXT) \
-	disjoint2$(EXEEXT) dualhypercubes$(EXEEXT) empty1$(EXEEXT) \
-	equals1$(EXEEXT) exceptions1$(EXEEXT) exceptions2$(EXEEXT) \
-	exceptions3$(EXEEXT) expandspacedim1$(EXEEXT) \
-	expandspacedim2$(EXEEXT) foldspacedims1$(EXEEXT) \
-	foldspacedims2$(EXEEXT) frombdshape1$(EXEEXT) \
-	frombox1$(EXEEXT) frombox2$(EXEEXT) fromgrid1$(EXEEXT) \
+	disjoint2$(EXEEXT) dropsomenonintegerpoints1$(EXEEXT) \
+	dropsomenonintegerpoints2$(EXEEXT) dualhypercubes$(EXEEXT) \
+	empty1$(EXEEXT) equals1$(EXEEXT) exceptions1$(EXEEXT) \
+	exceptions2$(EXEEXT) exceptions3$(EXEEXT) \
+	expandspacedim1$(EXEEXT) expandspacedim2$(EXEEXT) \
+	foldspacedims1$(EXEEXT) foldspacedims2$(EXEEXT) \
+	frequency1$(EXEEXT) frombdshape1$(EXEEXT) frombox1$(EXEEXT) \
+	frombox2$(EXEEXT) fromgrid1$(EXEEXT) \
 	fromoctagonalshape1$(EXEEXT) generalizedaffineimage1$(EXEEXT) \
 	generalizedaffineimage2$(EXEEXT) \
 	generalizedaffinepreimage1$(EXEEXT) \
@@ -147,9 +154,10 @@ am__EXEEXT_1 = hybrid$(EXEEXT) addcongruence1$(EXEEXT) \
 	smm1$(EXEEXT) timeelapse1$(EXEEXT) timeelapse2$(EXEEXT) \
 	topclosed1$(EXEEXT) topclosure1$(EXEEXT) unconstrain1$(EXEEXT) \
 	universe1$(EXEEXT) universe2$(EXEEXT) variablesset1$(EXEEXT) \
-	writeconsys1$(EXEEXT) writegensys1$(EXEEXT) \
-	writepolyhedron1$(EXEEXT) writepolyhedron2$(EXEEXT) \
-	writerelation1$(EXEEXT) writevariable1$(EXEEXT)
+	wrap1$(EXEEXT) wrap2$(EXEEXT) writeconsys1$(EXEEXT) \
+	writegensys1$(EXEEXT) writepolyhedron1$(EXEEXT) \
+	writepolyhedron2$(EXEEXT) writerelation1$(EXEEXT) \
+	writevariable1$(EXEEXT)
 am__EXEEXT_2 = nnc_addcongruence1$(EXEEXT) \
 	nnc_addcongruences1$(EXEEXT) nnc_addconstraint1$(EXEEXT) \
 	nnc_addconstraints1$(EXEEXT) nnc_addgenerator1$(EXEEXT) \
@@ -166,12 +174,12 @@ am__EXEEXT_2 = nnc_addcongruence1$(EXEEXT) \
 	nnc_concatenate1$(EXEEXT) nnc_congruences1$(EXEEXT) \
 	nnc_constrains1$(EXEEXT) nnc_constraints1$(EXEEXT) \
 	nnc_contains1$(EXEEXT) nnc_containsintegerpoint1$(EXEEXT) \
-	nnc_disjoint1$(EXEEXT) nnc_empty1$(EXEEXT) \
-	nnc_equals1$(EXEEXT) nnc_exceptions1$(EXEEXT) \
-	nnc_exceptions3$(EXEEXT) nnc_expandspacedim1$(EXEEXT) \
-	nnc_foldspacedims1$(EXEEXT) nnc_frombdshape1$(EXEEXT) \
-	nnc_frombox1$(EXEEXT) nnc_fromgrid1$(EXEEXT) \
-	nnc_fromoctagonalshape1$(EXEEXT) \
+	nnc_disjoint1$(EXEEXT) nnc_dropsomenonintegerpoints1$(EXEEXT) \
+	nnc_empty1$(EXEEXT) nnc_equals1$(EXEEXT) \
+	nnc_exceptions1$(EXEEXT) nnc_exceptions3$(EXEEXT) \
+	nnc_expandspacedim1$(EXEEXT) nnc_foldspacedims1$(EXEEXT) \
+	nnc_frombdshape1$(EXEEXT) nnc_frombox1$(EXEEXT) \
+	nnc_fromgrid1$(EXEEXT) nnc_fromoctagonalshape1$(EXEEXT) \
 	nnc_generalizedaffineimage1$(EXEEXT) \
 	nnc_generalizedaffinepreimage1$(EXEEXT) \
 	nnc_generators1$(EXEEXT) nnc_geomcovers1$(EXEEXT) \
@@ -188,9 +196,11 @@ am__EXEEXT_2 = nnc_addcongruence1$(EXEEXT) \
 	nnc_relations1$(EXEEXT) nnc_relations2$(EXEEXT) \
 	nnc_removespacedims1$(EXEEXT) nnc_smm1$(EXEEXT) \
 	nnc_timeelapse1$(EXEEXT) nnc_unconstrain1$(EXEEXT) \
-	nnc_universe1$(EXEEXT) nnc_writepolyhedron1$(EXEEXT)
+	nnc_universe1$(EXEEXT) nnc_wrap1$(EXEEXT) nnc_wrap2$(EXEEXT) \
+	nnc_writepolyhedron1$(EXEEXT)
 @VALGRIND_TESTS_ENABLED_FALSE at am__EXEEXT_3 = memory1$(EXEEXT)
- at BUILD_WATCHDOG_LIBRARY_TRUE@am__EXEEXT_4 = watchdog1$(EXEEXT)
+ at BUILD_WATCHDOG_LIBRARY_TRUE@am__EXEEXT_4 = watchdog1$(EXEEXT) \
+ at BUILD_WATCHDOG_LIBRARY_TRUE@	weightwatch1$(EXEEXT)
 am__EXEEXT_5 = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \
 	$(am__EXEEXT_4)
 am__EXEEXT_6 =
@@ -200,6 +210,9 @@ addcongruence1_LDADD = $(LDADD)
 addcongruence1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
 am_addcongruences1_OBJECTS = addcongruences1.$(OBJEXT)
 addcongruences1_OBJECTS = $(am_addcongruences1_OBJECTS)
 addcongruences1_LDADD = $(LDADD)
@@ -457,6 +470,24 @@ disjoint2_LDADD = $(LDADD)
 disjoint2_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_dropsomenonintegerpoints1_OBJECTS =  \
+	dropsomenonintegerpoints1.$(OBJEXT)
+dropsomenonintegerpoints1_OBJECTS =  \
+	$(am_dropsomenonintegerpoints1_OBJECTS)
+dropsomenonintegerpoints1_LDADD = $(LDADD)
+dropsomenonintegerpoints1_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_dropsomenonintegerpoints2_OBJECTS =  \
+	dropsomenonintegerpoints2.$(OBJEXT)
+dropsomenonintegerpoints2_OBJECTS =  \
+	$(am_dropsomenonintegerpoints2_OBJECTS)
+dropsomenonintegerpoints2_LDADD = $(LDADD)
+dropsomenonintegerpoints2_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_dualhypercubes_OBJECTS = dualhypercubes.$(OBJEXT)
 dualhypercubes_OBJECTS = $(am_dualhypercubes_OBJECTS)
 dualhypercubes_LDADD = $(LDADD)
@@ -517,6 +548,12 @@ foldspacedims2_LDADD = $(LDADD)
 foldspacedims2_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_frequency1_OBJECTS = frequency1.$(OBJEXT)
+frequency1_OBJECTS = $(am_frequency1_OBJECTS)
+frequency1_LDADD = $(LDADD)
+frequency1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_frombdshape1_OBJECTS = frombdshape1.$(OBJEXT)
 frombdshape1_OBJECTS = $(am_frombdshape1_OBJECTS)
 frombdshape1_LDADD = $(LDADD)
@@ -738,8 +775,8 @@ nnc_addcongruence1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_addcongruence1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_addcongruence1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_addcongruence1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_addcongruences1_OBJECTS =  \
@@ -750,8 +787,8 @@ nnc_addcongruences1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_addcongruences1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_addcongruences1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_addcongruences1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_addconstraint1_OBJECTS =  \
@@ -762,8 +799,8 @@ nnc_addconstraint1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_addconstraint1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_addconstraint1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_addconstraint1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_addconstraints1_OBJECTS =  \
@@ -774,8 +811,8 @@ nnc_addconstraints1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_addconstraints1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_addconstraints1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_addconstraints1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_addgenerator1_OBJECTS =  \
@@ -785,8 +822,8 @@ nnc_addgenerator1_LDADD = $(LDADD)
 nnc_addgenerator1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_addgenerator1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_addgenerator1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_addgenerator1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_addgenerators1_OBJECTS =  \
@@ -797,8 +834,8 @@ nnc_addgenerators1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_addgenerators1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_addgenerators1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_addgenerators1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_addspacedims1_OBJECTS =  \
@@ -808,8 +845,8 @@ nnc_addspacedims1_LDADD = $(LDADD)
 nnc_addspacedims1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_addspacedims1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_addspacedims1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_addspacedims1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_affineimage1_OBJECTS = nnc_affineimage1-affineimage1.$(OBJEXT)
@@ -818,8 +855,8 @@ nnc_affineimage1_LDADD = $(LDADD)
 nnc_affineimage1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_affineimage1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_affineimage1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_affineimage1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_affinepreimage1_OBJECTS =  \
@@ -830,8 +867,8 @@ nnc_affinepreimage1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_affinepreimage1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_affinepreimage1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_affinepreimage1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_affinetrans_OBJECTS = nnc_affinetrans-affinetrans.$(OBJEXT)
@@ -840,8 +877,8 @@ nnc_affinetrans_LDADD = $(LDADD)
 nnc_affinetrans_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_affinetrans_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_affinetrans_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_affinetrans_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_append1_OBJECTS = nnc_append1-append1.$(OBJEXT)
@@ -850,7 +887,7 @@ nnc_append1_LDADD = $(LDADD)
 nnc_append1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_append1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+nnc_append1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(nnc_append1_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 am_nnc_append2_OBJECTS = nnc_append2-append2.$(OBJEXT)
@@ -859,7 +896,7 @@ nnc_append2_LDADD = $(LDADD)
 nnc_append2_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_append2_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+nnc_append2_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(nnc_append2_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 am_nnc_ascii_dump_load1_OBJECTS =  \
@@ -870,8 +907,8 @@ nnc_ascii_dump_load1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_ascii_dump_load1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_ascii_dump_load1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_ascii_dump_load1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_ascii_dump_load2_OBJECTS =  \
@@ -882,8 +919,8 @@ nnc_ascii_dump_load2_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_ascii_dump_load2_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_ascii_dump_load2_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_ascii_dump_load2_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_bgp99extrapolation1_OBJECTS =  \
@@ -895,8 +932,8 @@ nnc_bgp99extrapolation1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_bgp99extrapolation1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_bgp99extrapolation1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_bgp99extrapolation1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_bhrz03widening1_OBJECTS =  \
@@ -907,8 +944,8 @@ nnc_bhrz03widening1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_bhrz03widening1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_bhrz03widening1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_bhrz03widening1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_bhrz03widening2_OBJECTS =  \
@@ -919,8 +956,8 @@ nnc_bhrz03widening2_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_bhrz03widening2_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_bhrz03widening2_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_bhrz03widening2_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_bounded1_OBJECTS = nnc_bounded1-bounded1.$(OBJEXT)
@@ -929,7 +966,7 @@ nnc_bounded1_LDADD = $(LDADD)
 nnc_bounded1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_bounded1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+nnc_bounded1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(nnc_bounded1_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 am_nnc_boundedaffineimage1_OBJECTS =  \
@@ -941,8 +978,8 @@ nnc_boundedaffineimage1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_boundedaffineimage1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_boundedaffineimage1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_boundedaffineimage1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_boundedaffinepreimage1_OBJECTS =  \
@@ -954,7 +991,7 @@ nnc_boundedaffinepreimage1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_boundedaffinepreimage1_LINK = $(LIBTOOL) --tag=CXX \
+nnc_boundedaffinepreimage1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_boundedaffinepreimage1_CXXFLAGS) $(CXXFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
@@ -975,7 +1012,7 @@ nnc_boundedh79extrapolation1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_boundedh79extrapolation1_LINK = $(LIBTOOL) --tag=CXX \
+nnc_boundedh79extrapolation1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_boundedh79extrapolation1_CXXFLAGS) $(CXXFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
@@ -985,7 +1022,7 @@ nnc_bounds1_LDADD = $(LDADD)
 nnc_bounds1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_bounds1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+nnc_bounds1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(nnc_bounds1_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 am_nnc_concatenate1_OBJECTS = nnc_concatenate1-concatenate1.$(OBJEXT)
@@ -994,8 +1031,8 @@ nnc_concatenate1_LDADD = $(LDADD)
 nnc_concatenate1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_concatenate1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_concatenate1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_concatenate1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_congruences1_OBJECTS = nnc_congruences1-congruences1.$(OBJEXT)
@@ -1004,8 +1041,8 @@ nnc_congruences1_LDADD = $(LDADD)
 nnc_congruences1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_congruences1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_congruences1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_congruences1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_constrains1_OBJECTS = nnc_constrains1-constrains1.$(OBJEXT)
@@ -1014,8 +1051,8 @@ nnc_constrains1_LDADD = $(LDADD)
 nnc_constrains1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_constrains1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_constrains1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_constrains1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_constraints1_OBJECTS = nnc_constraints1-constraints1.$(OBJEXT)
@@ -1024,8 +1061,8 @@ nnc_constraints1_LDADD = $(LDADD)
 nnc_constraints1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_constraints1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_constraints1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_constraints1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_contains1_OBJECTS = nnc_contains1-contains1.$(OBJEXT)
@@ -1034,9 +1071,10 @@ nnc_contains1_LDADD = $(LDADD)
 nnc_contains1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_contains1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(nnc_contains1_CXXFLAGS) \
-	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+nnc_contains1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(nnc_contains1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+	-o $@
 am_nnc_containsintegerpoint1_OBJECTS =  \
 	nnc_containsintegerpoint1-containsintegerpoint1.$(OBJEXT)
 nnc_containsintegerpoint1_OBJECTS =  \
@@ -1046,7 +1084,7 @@ nnc_containsintegerpoint1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_containsintegerpoint1_LINK = $(LIBTOOL) --tag=CXX \
+nnc_containsintegerpoint1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_containsintegerpoint1_CXXFLAGS) $(CXXFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
@@ -1056,16 +1094,29 @@ nnc_disjoint1_LDADD = $(LDADD)
 nnc_disjoint1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_disjoint1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(nnc_disjoint1_CXXFLAGS) \
-	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+nnc_disjoint1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(nnc_disjoint1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+	-o $@
+am_nnc_dropsomenonintegerpoints1_OBJECTS = nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.$(OBJEXT)
+nnc_dropsomenonintegerpoints1_OBJECTS =  \
+	$(am_nnc_dropsomenonintegerpoints1_OBJECTS)
+nnc_dropsomenonintegerpoints1_LDADD = $(LDADD)
+nnc_dropsomenonintegerpoints1_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+nnc_dropsomenonintegerpoints1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(nnc_dropsomenonintegerpoints1_CXXFLAGS) $(CXXFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
 am_nnc_empty1_OBJECTS = nnc_empty1-empty1.$(OBJEXT)
 nnc_empty1_OBJECTS = $(am_nnc_empty1_OBJECTS)
 nnc_empty1_LDADD = $(LDADD)
 nnc_empty1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_empty1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+nnc_empty1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(nnc_empty1_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 am_nnc_equals1_OBJECTS = nnc_equals1-equals1.$(OBJEXT)
@@ -1074,7 +1125,7 @@ nnc_equals1_LDADD = $(LDADD)
 nnc_equals1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_equals1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+nnc_equals1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(nnc_equals1_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 am_nnc_exceptions1_OBJECTS = nnc_exceptions1-exceptions1.$(OBJEXT)
@@ -1083,8 +1134,8 @@ nnc_exceptions1_LDADD = $(LDADD)
 nnc_exceptions1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_exceptions1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_exceptions1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_exceptions1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_exceptions3_OBJECTS = nnc_exceptions3-exceptions3.$(OBJEXT)
@@ -1093,8 +1144,8 @@ nnc_exceptions3_LDADD = $(LDADD)
 nnc_exceptions3_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_exceptions3_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_exceptions3_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_exceptions3_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_expandspacedim1_OBJECTS =  \
@@ -1105,8 +1156,8 @@ nnc_expandspacedim1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_expandspacedim1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_expandspacedim1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_expandspacedim1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_foldspacedims1_OBJECTS =  \
@@ -1117,8 +1168,8 @@ nnc_foldspacedims1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_foldspacedims1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_foldspacedims1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_foldspacedims1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_frombdshape1_OBJECTS = nnc_frombdshape1-frombdshape1.$(OBJEXT)
@@ -1127,8 +1178,8 @@ nnc_frombdshape1_LDADD = $(LDADD)
 nnc_frombdshape1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_frombdshape1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_frombdshape1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_frombdshape1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_frombox1_OBJECTS = nnc_frombox1-frombox1.$(OBJEXT)
@@ -1137,7 +1188,7 @@ nnc_frombox1_LDADD = $(LDADD)
 nnc_frombox1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_frombox1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+nnc_frombox1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(nnc_frombox1_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 am_nnc_fromgrid1_OBJECTS = nnc_fromgrid1-fromgrid1.$(OBJEXT)
@@ -1146,9 +1197,10 @@ nnc_fromgrid1_LDADD = $(LDADD)
 nnc_fromgrid1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_fromgrid1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(nnc_fromgrid1_CXXFLAGS) \
-	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+nnc_fromgrid1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(nnc_fromgrid1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+	-o $@
 am_nnc_fromoctagonalshape1_OBJECTS =  \
 	nnc_fromoctagonalshape1-fromoctagonalshape1.$(OBJEXT)
 nnc_fromoctagonalshape1_OBJECTS =  \
@@ -1158,8 +1210,8 @@ nnc_fromoctagonalshape1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_fromoctagonalshape1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_fromoctagonalshape1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_fromoctagonalshape1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_generalizedaffineimage1_OBJECTS =  \
@@ -1171,7 +1223,7 @@ nnc_generalizedaffineimage1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_generalizedaffineimage1_LINK = $(LIBTOOL) --tag=CXX \
+nnc_generalizedaffineimage1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_generalizedaffineimage1_CXXFLAGS) $(CXXFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
@@ -1183,7 +1235,7 @@ nnc_generalizedaffinepreimage1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_generalizedaffinepreimage1_LINK = $(LIBTOOL) --tag=CXX \
+nnc_generalizedaffinepreimage1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_generalizedaffinepreimage1_CXXFLAGS) $(CXXFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
@@ -1193,8 +1245,8 @@ nnc_generators1_LDADD = $(LDADD)
 nnc_generators1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_generators1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_generators1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_generators1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_geomcovers1_OBJECTS = nnc_geomcovers1-geomcovers1.$(OBJEXT)
@@ -1203,8 +1255,8 @@ nnc_geomcovers1_LDADD = $(LDADD)
 nnc_geomcovers1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_geomcovers1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_geomcovers1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_geomcovers1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_h79widening1_OBJECTS = nnc_h79widening1-h79widening1.$(OBJEXT)
@@ -1213,8 +1265,8 @@ nnc_h79widening1_LDADD = $(LDADD)
 nnc_h79widening1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_h79widening1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_h79widening1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_h79widening1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_intersection1_OBJECTS =  \
@@ -1224,8 +1276,8 @@ nnc_intersection1_LDADD = $(LDADD)
 nnc_intersection1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_intersection1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_intersection1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_intersection1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_limitedbhrz03extrapolation1_OBJECTS = nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.$(OBJEXT)
@@ -1236,7 +1288,7 @@ nnc_limitedbhrz03extrapolation1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_limitedbhrz03extrapolation1_LINK = $(LIBTOOL) --tag=CXX \
+nnc_limitedbhrz03extrapolation1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_limitedbhrz03extrapolation1_CXXFLAGS) $(CXXFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
@@ -1248,7 +1300,7 @@ nnc_limitedh79extrapolation1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_limitedh79extrapolation1_LINK = $(LIBTOOL) --tag=CXX \
+nnc_limitedh79extrapolation1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_limitedh79extrapolation1_CXXFLAGS) $(CXXFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
@@ -1260,8 +1312,8 @@ nnc_linearpartition1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_linearpartition1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_linearpartition1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_linearpartition1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_mapspacedims1_OBJECTS =  \
@@ -1271,8 +1323,8 @@ nnc_mapspacedims1_LDADD = $(LDADD)
 nnc_mapspacedims1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_mapspacedims1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_mapspacedims1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_mapspacedims1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_max_min1_OBJECTS = nnc_max_min1-max_min1.$(OBJEXT)
@@ -1281,7 +1333,7 @@ nnc_max_min1_LDADD = $(LDADD)
 nnc_max_min1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_max_min1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+nnc_max_min1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(nnc_max_min1_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 am_nnc_mc91_OBJECTS = nnc_mc91-mc91.$(OBJEXT)
@@ -1290,7 +1342,7 @@ nnc_mc91_LDADD = $(LDADD)
 nnc_mc91_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_mc91_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+nnc_mc91_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(nnc_mc91_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 am_nnc_membytes1_OBJECTS = nnc_membytes1-membytes1.$(OBJEXT)
@@ -1299,9 +1351,10 @@ nnc_membytes1_LDADD = $(LDADD)
 nnc_membytes1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_membytes1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(nnc_membytes1_CXXFLAGS) \
-	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+nnc_membytes1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(nnc_membytes1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+	-o $@
 am_nnc_minconstraints1_OBJECTS =  \
 	nnc_minconstraints1-minconstraints1.$(OBJEXT)
 nnc_minconstraints1_OBJECTS = $(am_nnc_minconstraints1_OBJECTS)
@@ -1310,8 +1363,8 @@ nnc_minconstraints1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_minconstraints1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_minconstraints1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_minconstraints1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_mingenerators1_OBJECTS =  \
@@ -1322,8 +1375,8 @@ nnc_mingenerators1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_mingenerators1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_mingenerators1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_mingenerators1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_onepoint_OBJECTS = nnc_onepoint-onepoint.$(OBJEXT)
@@ -1332,7 +1385,7 @@ nnc_onepoint_LDADD = $(LDADD)
 nnc_onepoint_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_onepoint_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+nnc_onepoint_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(nnc_onepoint_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 am_nnc_permute_OBJECTS = nnc_permute-permute.$(OBJEXT)
@@ -1341,7 +1394,7 @@ nnc_permute_LDADD = $(LDADD)
 nnc_permute_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_permute_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+nnc_permute_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(nnc_permute_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 am_nnc_polydifference1_OBJECTS =  \
@@ -1352,8 +1405,8 @@ nnc_polydifference1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_polydifference1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_polydifference1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_polydifference1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_polyhull1_OBJECTS = nnc_polyhull1-polyhull1.$(OBJEXT)
@@ -1362,9 +1415,10 @@ nnc_polyhull1_LDADD = $(LDADD)
 nnc_polyhull1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_polyhull1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(nnc_polyhull1_CXXFLAGS) \
-	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+nnc_polyhull1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(nnc_polyhull1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+	-o $@
 am_nnc_polyhullifexact1_OBJECTS =  \
 	nnc_polyhullifexact1-polyhullifexact1.$(OBJEXT)
 nnc_polyhullifexact1_OBJECTS = $(am_nnc_polyhullifexact1_OBJECTS)
@@ -1373,18 +1427,18 @@ nnc_polyhullifexact1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_polyhullifexact1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_polyhullifexact1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_polyhullifexact1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_randphull1_OBJECTS = nnc_randphull1-randphull1.$(OBJEXT)
 nnc_randphull1_OBJECTS = $(am_nnc_randphull1_OBJECTS)
-am__DEPENDENCIES_1 = $(top_builddir)/utils/libppl_utils.a \
+nnc_randphull1_LDADD = $(LDADD)
+nnc_randphull1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_randphull1_DEPENDENCIES = $(am__DEPENDENCIES_1)
-nnc_randphull1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_randphull1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_randphull1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_relations1_OBJECTS = nnc_relations1-relations1.$(OBJEXT)
@@ -1393,8 +1447,8 @@ nnc_relations1_LDADD = $(LDADD)
 nnc_relations1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_relations1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_relations1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_relations1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_relations2_OBJECTS = nnc_relations2-relations2.$(OBJEXT)
@@ -1403,8 +1457,8 @@ nnc_relations2_LDADD = $(LDADD)
 nnc_relations2_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_relations2_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_relations2_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_relations2_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_removespacedims1_OBJECTS =  \
@@ -1415,8 +1469,8 @@ nnc_removespacedims1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_removespacedims1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_removespacedims1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_removespacedims1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_simplifyusingcontext1_OBJECTS =  \
@@ -1428,7 +1482,7 @@ nnc_simplifyusingcontext1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_simplifyusingcontext1_LINK = $(LIBTOOL) --tag=CXX \
+nnc_simplifyusingcontext1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_simplifyusingcontext1_CXXFLAGS) $(CXXFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
@@ -1438,7 +1492,7 @@ nnc_smm1_LDADD = $(LDADD)
 nnc_smm1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_smm1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+nnc_smm1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(nnc_smm1_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 am_nnc_timeelapse1_OBJECTS = nnc_timeelapse1-timeelapse1.$(OBJEXT)
@@ -1447,8 +1501,8 @@ nnc_timeelapse1_LDADD = $(LDADD)
 nnc_timeelapse1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_timeelapse1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_timeelapse1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_timeelapse1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_unconstrain1_OBJECTS = nnc_unconstrain1-unconstrain1.$(OBJEXT)
@@ -1457,8 +1511,8 @@ nnc_unconstrain1_LDADD = $(LDADD)
 nnc_unconstrain1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_unconstrain1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_unconstrain1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_unconstrain1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nnc_universe1_OBJECTS = nnc_universe1-universe1.$(OBJEXT)
@@ -1467,8 +1521,27 @@ nnc_universe1_LDADD = $(LDADD)
 nnc_universe1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_universe1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(nnc_universe1_CXXFLAGS) \
+nnc_universe1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(nnc_universe1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+	-o $@
+am_nnc_wrap1_OBJECTS = nnc_wrap1-wrap1.$(OBJEXT)
+nnc_wrap1_OBJECTS = $(am_nnc_wrap1_OBJECTS)
+nnc_wrap1_LDADD = $(LDADD)
+nnc_wrap1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+nnc_wrap1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(nnc_wrap1_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_nnc_wrap2_OBJECTS = nnc_wrap2-wrap2.$(OBJEXT)
+nnc_wrap2_OBJECTS = $(am_nnc_wrap2_OBJECTS)
+nnc_wrap2_LDADD = $(LDADD)
+nnc_wrap2_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+nnc_wrap2_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(nnc_wrap2_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 am_nnc_writepolyhedron1_OBJECTS =  \
 	nnc_writepolyhedron1-writepolyhedron1.$(OBJEXT)
@@ -1478,8 +1551,8 @@ nnc_writepolyhedron1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-nnc_writepolyhedron1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+nnc_writepolyhedron1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_writepolyhedron1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 am_nncminimize1_OBJECTS = nncminimize1.$(OBJEXT)
@@ -1550,7 +1623,10 @@ polyhullifexact2_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/src/libppl.la
 am_randphull1_OBJECTS = randphull1.$(OBJEXT)
 randphull1_OBJECTS = $(am_randphull1_OBJECTS)
-randphull1_DEPENDENCIES = $(am__DEPENDENCIES_1)
+randphull1_LDADD = $(LDADD)
+randphull1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_refinewithcongruence1_OBJECTS = refinewithcongruence1.$(OBJEXT)
 refinewithcongruence1_OBJECTS = $(am_refinewithcongruence1_OBJECTS)
 refinewithcongruence1_LDADD = $(LDADD)
@@ -1622,6 +1698,18 @@ smm1_LDADD = $(LDADD)
 smm1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_termination1_OBJECTS = termination1.$(OBJEXT)
+termination1_OBJECTS = $(am_termination1_OBJECTS)
+termination1_LDADD = $(LDADD)
+termination1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_termination2_OBJECTS = termination2.$(OBJEXT)
+termination2_OBJECTS = $(am_termination2_OBJECTS)
+termination2_LDADD = $(LDADD)
+termination2_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_timeelapse1_OBJECTS = timeelapse1.$(OBJEXT)
 timeelapse1_OBJECTS = $(am_timeelapse1_OBJECTS)
 timeelapse1_LDADD = $(LDADD)
@@ -1674,9 +1762,33 @@ am__watchdog1_SOURCES_DIST = watchdog1.cc
 am__objects_2 = watchdog1-watchdog1.$(OBJEXT)
 @BUILD_WATCHDOG_LIBRARY_TRUE at am_watchdog1_OBJECTS = $(am__objects_2)
 watchdog1_OBJECTS = $(am_watchdog1_OBJECTS)
- at BUILD_WATCHDOG_LIBRARY_TRUE@watchdog1_DEPENDENCIES =  \
+am__DEPENDENCIES_1 = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+ at BUILD_WATCHDOG_LIBRARY_TRUE@am__DEPENDENCIES_2 =  \
 @BUILD_WATCHDOG_LIBRARY_TRUE@	$(am__DEPENDENCIES_1) \
 @BUILD_WATCHDOG_LIBRARY_TRUE@	$(top_builddir)/Watchdog/src/libpwl.la
+ at BUILD_WATCHDOG_LIBRARY_TRUE@watchdog1_DEPENDENCIES =  \
+ at BUILD_WATCHDOG_LIBRARY_TRUE@	$(am__DEPENDENCIES_2)
+am__weightwatch1_SOURCES_DIST = weightwatch1.cc
+am__objects_3 = weightwatch1-weightwatch1.$(OBJEXT)
+ at BUILD_WATCHDOG_LIBRARY_TRUE@am_weightwatch1_OBJECTS =  \
+ at BUILD_WATCHDOG_LIBRARY_TRUE@	$(am__objects_3)
+weightwatch1_OBJECTS = $(am_weightwatch1_OBJECTS)
+ at BUILD_WATCHDOG_LIBRARY_TRUE@weightwatch1_DEPENDENCIES =  \
+ at BUILD_WATCHDOG_LIBRARY_TRUE@	$(am__DEPENDENCIES_2)
+am_wrap1_OBJECTS = wrap1.$(OBJEXT)
+wrap1_OBJECTS = $(am_wrap1_OBJECTS)
+wrap1_LDADD = $(LDADD)
+wrap1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_wrap2_OBJECTS = wrap2.$(OBJEXT)
+wrap2_OBJECTS = $(am_wrap2_OBJECTS)
+wrap2_LDADD = $(LDADD)
+wrap2_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_writeconsys1_OBJECTS = writeconsys1.$(OBJEXT)
 writeconsys1_OBJECTS = $(am_writeconsys1_OBJECTS)
 writeconsys1_LDADD = $(LDADD)
@@ -1716,15 +1828,29 @@ writevariable1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_$(V))
+am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+am__v_CXX_0 = @echo "  CXX   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_$(V))
+am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(addcongruence1_SOURCES) $(addcongruences1_SOURCES) \
 	$(addconstraint1_SOURCES) $(addconstraints1_SOURCES) \
 	$(addconstraints2_SOURCES) $(addgenerator1_SOURCES) \
@@ -1747,11 +1873,13 @@ SOURCES = $(addcongruence1_SOURCES) $(addcongruences1_SOURCES) \
 	$(constraints1_SOURCES) $(contains1_SOURCES) \
 	$(contains2_SOURCES) $(containsintegerpoint1_SOURCES) \
 	$(disjoint1_SOURCES) $(disjoint2_SOURCES) \
-	$(dualhypercubes_SOURCES) $(empty1_SOURCES) $(equals1_SOURCES) \
-	$(exceptions1_SOURCES) $(exceptions2_SOURCES) \
-	$(exceptions3_SOURCES) $(expandspacedim1_SOURCES) \
-	$(expandspacedim2_SOURCES) $(foldspacedims1_SOURCES) \
-	$(foldspacedims2_SOURCES) $(frombdshape1_SOURCES) \
+	$(dropsomenonintegerpoints1_SOURCES) \
+	$(dropsomenonintegerpoints2_SOURCES) $(dualhypercubes_SOURCES) \
+	$(empty1_SOURCES) $(equals1_SOURCES) $(exceptions1_SOURCES) \
+	$(exceptions2_SOURCES) $(exceptions3_SOURCES) \
+	$(expandspacedim1_SOURCES) $(expandspacedim2_SOURCES) \
+	$(foldspacedims1_SOURCES) $(foldspacedims2_SOURCES) \
+	$(frequency1_SOURCES) $(frombdshape1_SOURCES) \
 	$(frombox1_SOURCES) $(frombox2_SOURCES) $(fromgrid1_SOURCES) \
 	$(fromoctagonalshape1_SOURCES) \
 	$(generalizedaffineimage1_SOURCES) \
@@ -1786,7 +1914,8 @@ SOURCES = $(addcongruence1_SOURCES) $(addcongruences1_SOURCES) \
 	$(nnc_concatenate1_SOURCES) $(nnc_congruences1_SOURCES) \
 	$(nnc_constrains1_SOURCES) $(nnc_constraints1_SOURCES) \
 	$(nnc_contains1_SOURCES) $(nnc_containsintegerpoint1_SOURCES) \
-	$(nnc_disjoint1_SOURCES) $(nnc_empty1_SOURCES) \
+	$(nnc_disjoint1_SOURCES) \
+	$(nnc_dropsomenonintegerpoints1_SOURCES) $(nnc_empty1_SOURCES) \
 	$(nnc_equals1_SOURCES) $(nnc_exceptions1_SOURCES) \
 	$(nnc_exceptions3_SOURCES) $(nnc_expandspacedim1_SOURCES) \
 	$(nnc_foldspacedims1_SOURCES) $(nnc_frombdshape1_SOURCES) \
@@ -1808,7 +1937,8 @@ SOURCES = $(addcongruence1_SOURCES) $(addcongruences1_SOURCES) \
 	$(nnc_relations2_SOURCES) $(nnc_removespacedims1_SOURCES) \
 	$(nnc_simplifyusingcontext1_SOURCES) $(nnc_smm1_SOURCES) \
 	$(nnc_timeelapse1_SOURCES) $(nnc_unconstrain1_SOURCES) \
-	$(nnc_universe1_SOURCES) $(nnc_writepolyhedron1_SOURCES) \
+	$(nnc_universe1_SOURCES) $(nnc_wrap1_SOURCES) \
+	$(nnc_wrap2_SOURCES) $(nnc_writepolyhedron1_SOURCES) \
 	$(nncminimize1_SOURCES) $(nncminimize2_SOURCES) \
 	$(numberinput1_SOURCES) $(onepoint_SOURCES) $(permute_SOURCES) \
 	$(polydifference1_SOURCES) $(polydifference2_SOURCES) \
@@ -1821,11 +1951,13 @@ SOURCES = $(addcongruence1_SOURCES) $(addcongruences1_SOURCES) \
 	$(relations2_SOURCES) $(relations3_SOURCES) \
 	$(removespacedims1_SOURCES) $(removespacedims2_SOURCES) \
 	$(simplifyusingcontext1_SOURCES) $(smm1_SOURCES) \
+	$(termination1_SOURCES) $(termination2_SOURCES) \
 	$(timeelapse1_SOURCES) $(timeelapse2_SOURCES) \
 	$(topclosed1_SOURCES) $(topclosure1_SOURCES) \
 	$(unconstrain1_SOURCES) $(universe1_SOURCES) \
 	$(universe2_SOURCES) $(variablesset1_SOURCES) \
-	$(watchdog1_SOURCES) $(writeconsys1_SOURCES) \
+	$(watchdog1_SOURCES) $(weightwatch1_SOURCES) $(wrap1_SOURCES) \
+	$(wrap2_SOURCES) $(writeconsys1_SOURCES) \
 	$(writegensys1_SOURCES) $(writepolyhedron1_SOURCES) \
 	$(writepolyhedron2_SOURCES) $(writerelation1_SOURCES) \
 	$(writevariable1_SOURCES)
@@ -1851,11 +1983,13 @@ DIST_SOURCES = $(addcongruence1_SOURCES) $(addcongruences1_SOURCES) \
 	$(constraints1_SOURCES) $(contains1_SOURCES) \
 	$(contains2_SOURCES) $(containsintegerpoint1_SOURCES) \
 	$(disjoint1_SOURCES) $(disjoint2_SOURCES) \
-	$(dualhypercubes_SOURCES) $(empty1_SOURCES) $(equals1_SOURCES) \
-	$(exceptions1_SOURCES) $(exceptions2_SOURCES) \
-	$(exceptions3_SOURCES) $(expandspacedim1_SOURCES) \
-	$(expandspacedim2_SOURCES) $(foldspacedims1_SOURCES) \
-	$(foldspacedims2_SOURCES) $(frombdshape1_SOURCES) \
+	$(dropsomenonintegerpoints1_SOURCES) \
+	$(dropsomenonintegerpoints2_SOURCES) $(dualhypercubes_SOURCES) \
+	$(empty1_SOURCES) $(equals1_SOURCES) $(exceptions1_SOURCES) \
+	$(exceptions2_SOURCES) $(exceptions3_SOURCES) \
+	$(expandspacedim1_SOURCES) $(expandspacedim2_SOURCES) \
+	$(foldspacedims1_SOURCES) $(foldspacedims2_SOURCES) \
+	$(frequency1_SOURCES) $(frombdshape1_SOURCES) \
 	$(frombox1_SOURCES) $(frombox2_SOURCES) $(fromgrid1_SOURCES) \
 	$(fromoctagonalshape1_SOURCES) \
 	$(generalizedaffineimage1_SOURCES) \
@@ -1891,7 +2025,8 @@ DIST_SOURCES = $(addcongruence1_SOURCES) $(addcongruences1_SOURCES) \
 	$(nnc_concatenate1_SOURCES) $(nnc_congruences1_SOURCES) \
 	$(nnc_constrains1_SOURCES) $(nnc_constraints1_SOURCES) \
 	$(nnc_contains1_SOURCES) $(nnc_containsintegerpoint1_SOURCES) \
-	$(nnc_disjoint1_SOURCES) $(nnc_empty1_SOURCES) \
+	$(nnc_disjoint1_SOURCES) \
+	$(nnc_dropsomenonintegerpoints1_SOURCES) $(nnc_empty1_SOURCES) \
 	$(nnc_equals1_SOURCES) $(nnc_exceptions1_SOURCES) \
 	$(nnc_exceptions3_SOURCES) $(nnc_expandspacedim1_SOURCES) \
 	$(nnc_foldspacedims1_SOURCES) $(nnc_frombdshape1_SOURCES) \
@@ -1913,7 +2048,8 @@ DIST_SOURCES = $(addcongruence1_SOURCES) $(addcongruences1_SOURCES) \
 	$(nnc_relations2_SOURCES) $(nnc_removespacedims1_SOURCES) \
 	$(nnc_simplifyusingcontext1_SOURCES) $(nnc_smm1_SOURCES) \
 	$(nnc_timeelapse1_SOURCES) $(nnc_unconstrain1_SOURCES) \
-	$(nnc_universe1_SOURCES) $(nnc_writepolyhedron1_SOURCES) \
+	$(nnc_universe1_SOURCES) $(nnc_wrap1_SOURCES) \
+	$(nnc_wrap2_SOURCES) $(nnc_writepolyhedron1_SOURCES) \
 	$(nncminimize1_SOURCES) $(nncminimize2_SOURCES) \
 	$(numberinput1_SOURCES) $(onepoint_SOURCES) $(permute_SOURCES) \
 	$(polydifference1_SOURCES) $(polydifference2_SOURCES) \
@@ -1926,19 +2062,24 @@ DIST_SOURCES = $(addcongruence1_SOURCES) $(addcongruences1_SOURCES) \
 	$(relations2_SOURCES) $(relations3_SOURCES) \
 	$(removespacedims1_SOURCES) $(removespacedims2_SOURCES) \
 	$(simplifyusingcontext1_SOURCES) $(smm1_SOURCES) \
+	$(termination1_SOURCES) $(termination2_SOURCES) \
 	$(timeelapse1_SOURCES) $(timeelapse2_SOURCES) \
 	$(topclosed1_SOURCES) $(topclosure1_SOURCES) \
 	$(unconstrain1_SOURCES) $(universe1_SOURCES) \
 	$(universe2_SOURCES) $(variablesset1_SOURCES) \
-	$(am__watchdog1_SOURCES_DIST) $(writeconsys1_SOURCES) \
+	$(am__watchdog1_SOURCES_DIST) $(am__weightwatch1_SOURCES_DIST) \
+	$(wrap1_SOURCES) $(wrap2_SOURCES) $(writeconsys1_SOURCES) \
 	$(writegensys1_SOURCES) $(writepolyhedron1_SOURCES) \
 	$(writepolyhedron2_SOURCES) $(writerelation1_SOURCES) \
 	$(writevariable1_SOURCES)
 ETAGS = etags
 CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -1985,6 +2126,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -2002,8 +2145,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -2011,6 +2164,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -2027,12 +2181,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -2075,11 +2232,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -2109,6 +2264,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -2116,6 +2272,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 @VALGRIND_TESTS_ENABLED_FALSE at CHECKER = 
 @VALGRIND_TESTS_ENABLED_TRUE at CHECKER = \
 @VALGRIND_TESTS_ENABLED_TRUE@$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
@@ -2138,6 +2295,8 @@ $(top_builddir)/src/libppl.la \
 @extra_libraries@
 
 ORIGINAL_TESTS = \
+termination1 \
+termination2 \
 hybrid \
 addcongruence1 \
 addcongruences1 \
@@ -2168,12 +2327,14 @@ constraints1 \
 contains1 contains2 \
 containsintegerpoint1 \
 disjoint1 disjoint2 \
+dropsomenonintegerpoints1 dropsomenonintegerpoints2 \
 dualhypercubes \
 empty1 \
 equals1 \
 exceptions1 exceptions2  exceptions3 \
 expandspacedim1 expandspacedim2 \
 foldspacedims1 foldspacedims2 \
+frequency1 \
 frombdshape1 \
 frombox1 frombox2 \
 fromgrid1 \
@@ -2220,6 +2381,7 @@ topclosure1 \
 unconstrain1 \
 universe1 universe2 \
 variablesset1 \
+wrap1 wrap2 \
 writeconsys1 \
 writegensys1 \
 writepolyhedron1 writepolyhedron2 \
@@ -2254,6 +2416,7 @@ nnc_constraints1 \
 nnc_contains1 \
 nnc_containsintegerpoint1 \
 nnc_disjoint1 \
+nnc_dropsomenonintegerpoints1 \
 nnc_empty1 \
 nnc_equals1 \
 nnc_exceptions1 nnc_exceptions3 \
@@ -2291,12 +2454,15 @@ nnc_smm1 \
 nnc_timeelapse1 \
 nnc_unconstrain1 \
 nnc_universe1 \
+nnc_wrap1 nnc_wrap2 \
 nnc_writepolyhedron1
 
 
 #
 # Sources for the tests
 #
+termination1_SOURCES = termination1.cc
+termination2_SOURCES = termination2.cc
 hybrid_SOURCES = hybrid.cc
 addcongruence1_SOURCES = addcongruence1.cc
 addcongruences1_SOURCES = addcongruences1.cc
@@ -2340,6 +2506,8 @@ contains2_SOURCES = contains2.cc
 containsintegerpoint1_SOURCES = containsintegerpoint1.cc
 disjoint1_SOURCES = disjoint1.cc
 disjoint2_SOURCES = disjoint2.cc
+dropsomenonintegerpoints1_SOURCES = dropsomenonintegerpoints1.cc
+dropsomenonintegerpoints2_SOURCES = dropsomenonintegerpoints2.cc
 dualhypercubes_SOURCES = dualhypercubes.cc
 empty1_SOURCES = empty1.cc
 equals1_SOURCES = equals1.cc
@@ -2350,6 +2518,7 @@ expandspacedim1_SOURCES = expandspacedim1.cc
 expandspacedim2_SOURCES = expandspacedim2.cc
 foldspacedims1_SOURCES = foldspacedims1.cc
 foldspacedims2_SOURCES = foldspacedims2.cc
+frequency1_SOURCES = frequency1.cc
 frombdshape1_SOURCES = frombdshape1.cc
 frombox1_SOURCES = frombox1.cc
 frombox2_SOURCES = frombox2.cc
@@ -2393,7 +2562,6 @@ polyhull2_SOURCES = polyhull2.cc
 polyhullifexact1_SOURCES = polyhullifexact1.cc
 polyhullifexact2_SOURCES = polyhullifexact2.cc
 randphull1_SOURCES = randphull1.cc
-randphull1_LDADD = $(LDADD) -lm
 refinewithconstraint1_SOURCES = refinewithconstraint1.cc
 refinewithconstraints1_SOURCES = refinewithconstraints1.cc
 refinewithcongruence1_SOURCES = refinewithcongruence1.cc
@@ -2412,6 +2580,8 @@ unconstrain1_SOURCES = unconstrain1.cc
 universe1_SOURCES = universe1.cc
 universe2_SOURCES = universe2.cc
 variablesset1_SOURCES = variablesset1.cc
+wrap1_SOURCES = wrap1.cc
+wrap2_SOURCES = wrap2.cc
 writeconsys1_SOURCES = writeconsys1.cc
 writegensys1_SOURCES = writegensys1.cc
 writepolyhedron1_SOURCES = writepolyhedron1.cc
@@ -2483,6 +2653,8 @@ nnc_containsintegerpoint1_SOURCES = containsintegerpoint1.cc
 nnc_containsintegerpoint1_CXXFLAGS = $(DERIVED_CXXFLAGS)
 nnc_disjoint1_SOURCES = disjoint1.cc
 nnc_disjoint1_CXXFLAGS = $(DERIVED_CXXFLAGS)
+nnc_dropsomenonintegerpoints1_SOURCES = dropsomenonintegerpoints1.cc
+nnc_dropsomenonintegerpoints1_CXXFLAGS = $(DERIVED_CXXFLAGS)
 nnc_empty1_SOURCES = empty1.cc
 nnc_empty1_CXXFLAGS = $(DERIVED_CXXFLAGS)
 nnc_equals1_SOURCES = equals1.cc
@@ -2547,7 +2719,6 @@ nnc_polyhullifexact1_SOURCES = polyhullifexact1.cc
 nnc_polyhullifexact1_CXXFLAGS = $(DERIVED_CXXFLAGS)
 nnc_randphull1_SOURCES = randphull1.cc
 nnc_randphull1_CXXFLAGS = $(DERIVED_CXXFLAGS)
-nnc_randphull1_LDADD = $(LDADD) -lm
 nnc_relations1_SOURCES = relations1.cc
 nnc_relations1_CXXFLAGS = $(DERIVED_CXXFLAGS)
 nnc_relations2_SOURCES = relations2.cc
@@ -2562,6 +2733,10 @@ nnc_unconstrain1_SOURCES = unconstrain1.cc
 nnc_unconstrain1_CXXFLAGS = $(DERIVED_CXXFLAGS)
 nnc_universe1_SOURCES = universe1.cc
 nnc_universe1_CXXFLAGS = $(DERIVED_CXXFLAGS)
+nnc_wrap1_SOURCES = wrap1.cc
+nnc_wrap1_CXXFLAGS = $(DERIVED_CXXFLAGS)
+nnc_wrap2_SOURCES = wrap2.cc
+nnc_wrap2_CXXFLAGS = $(DERIVED_CXXFLAGS)
 nnc_writepolyhedron1_SOURCES = writepolyhedron1.cc
 nnc_writepolyhedron1_CXXFLAGS = $(DERIVED_CXXFLAGS)
 
@@ -2570,17 +2745,29 @@ nnc_writepolyhedron1_CXXFLAGS = $(DERIVED_CXXFLAGS)
 #
 memory1_SRCS = memory1.cc
 watchdog1_SRCS = watchdog1.cc
+weightwatch1_SRCS = weightwatch1.cc
 @VALGRIND_TESTS_ENABLED_FALSE at VALGRIND_BRITTLE_TESTS = memory1
 @VALGRIND_TESTS_ENABLED_FALSE at memory1_SOURCES = $(memory1_SRCS)
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_TESTS = watchdog1
- at BUILD_WATCHDOG_LIBRARY_TRUE@watchdog1_SOURCES = $(watchdog1_SRCS)
- at BUILD_WATCHDOG_LIBRARY_TRUE@watchdog1_CPPFLAGS = \
+ at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_TESTS = \
+ at BUILD_WATCHDOG_LIBRARY_TRUE@watchdog1 \
+ at BUILD_WATCHDOG_LIBRARY_TRUE@weightwatch1
+
+ at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_LIBRARY_CPPFLAGS = \
 @BUILD_WATCHDOG_LIBRARY_TRUE@$(AM_CPPFLAGS) \
 @BUILD_WATCHDOG_LIBRARY_TRUE at -I$(top_builddir)/Watchdog \
 @BUILD_WATCHDOG_LIBRARY_TRUE at -I$(top_builddir)/Watchdog/src
 
- at BUILD_WATCHDOG_LIBRARY_TRUE@watchdog1_LDADD = $(LDADD) $(top_builddir)/Watchdog/src/libpwl.la
-EXTRA_DIST = $(memory1_SRCS) $(watchdog1_SRCS)
+ at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_LIBRARY_LDADD = \
+ at BUILD_WATCHDOG_LIBRARY_TRUE@$(LDADD) \
+ at BUILD_WATCHDOG_LIBRARY_TRUE@$(top_builddir)/Watchdog/src/libpwl.la
+
+ at BUILD_WATCHDOG_LIBRARY_TRUE@watchdog1_SOURCES = $(watchdog1_SRCS)
+ at BUILD_WATCHDOG_LIBRARY_TRUE@watchdog1_CPPFLAGS = $(WATCHDOG_LIBRARY_CPPFLAGS)
+ at BUILD_WATCHDOG_LIBRARY_TRUE@watchdog1_LDADD = $(WATCHDOG_LIBRARY_LDADD)
+ at BUILD_WATCHDOG_LIBRARY_TRUE@weightwatch1_SOURCES = $(weightwatch1_SRCS)
+ at BUILD_WATCHDOG_LIBRARY_TRUE@weightwatch1_CPPFLAGS = $(WATCHDOG_LIBRARY_CPPFLAGS)
+ at BUILD_WATCHDOG_LIBRARY_TRUE@weightwatch1_LDADD = $(WATCHDOG_LIBRARY_LDADD)
+EXTRA_DIST = $(memory1_SRCS) $(watchdog1_SRCS) $(weightwatch1_SRCS)
 BUGS = 
 MOSTLYCLEANFILES = \
 ascii_dump_load1.dat \
@@ -2601,14 +2788,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  tests/Polyhedron/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  tests/Polyhedron/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/Polyhedron/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign tests/Polyhedron/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -2626,589 +2813,625 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 clean-checkPROGRAMS:
-	@list='$(check_PROGRAMS)'; for p in $$list; do \
-	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  echo " rm -f $$p $$f"; \
-	  rm -f $$p $$f ; \
-	done
+	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
 addcongruence1$(EXEEXT): $(addcongruence1_OBJECTS) $(addcongruence1_DEPENDENCIES) 
 	@rm -f addcongruence1$(EXEEXT)
-	$(CXXLINK) $(addcongruence1_OBJECTS) $(addcongruence1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(addcongruence1_OBJECTS) $(addcongruence1_LDADD) $(LIBS)
 addcongruences1$(EXEEXT): $(addcongruences1_OBJECTS) $(addcongruences1_DEPENDENCIES) 
 	@rm -f addcongruences1$(EXEEXT)
-	$(CXXLINK) $(addcongruences1_OBJECTS) $(addcongruences1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(addcongruences1_OBJECTS) $(addcongruences1_LDADD) $(LIBS)
 addconstraint1$(EXEEXT): $(addconstraint1_OBJECTS) $(addconstraint1_DEPENDENCIES) 
 	@rm -f addconstraint1$(EXEEXT)
-	$(CXXLINK) $(addconstraint1_OBJECTS) $(addconstraint1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(addconstraint1_OBJECTS) $(addconstraint1_LDADD) $(LIBS)
 addconstraints1$(EXEEXT): $(addconstraints1_OBJECTS) $(addconstraints1_DEPENDENCIES) 
 	@rm -f addconstraints1$(EXEEXT)
-	$(CXXLINK) $(addconstraints1_OBJECTS) $(addconstraints1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(addconstraints1_OBJECTS) $(addconstraints1_LDADD) $(LIBS)
 addconstraints2$(EXEEXT): $(addconstraints2_OBJECTS) $(addconstraints2_DEPENDENCIES) 
 	@rm -f addconstraints2$(EXEEXT)
-	$(CXXLINK) $(addconstraints2_OBJECTS) $(addconstraints2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(addconstraints2_OBJECTS) $(addconstraints2_LDADD) $(LIBS)
 addgenerator1$(EXEEXT): $(addgenerator1_OBJECTS) $(addgenerator1_DEPENDENCIES) 
 	@rm -f addgenerator1$(EXEEXT)
-	$(CXXLINK) $(addgenerator1_OBJECTS) $(addgenerator1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(addgenerator1_OBJECTS) $(addgenerator1_LDADD) $(LIBS)
 addgenerator2$(EXEEXT): $(addgenerator2_OBJECTS) $(addgenerator2_DEPENDENCIES) 
 	@rm -f addgenerator2$(EXEEXT)
-	$(CXXLINK) $(addgenerator2_OBJECTS) $(addgenerator2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(addgenerator2_OBJECTS) $(addgenerator2_LDADD) $(LIBS)
 addgenerators1$(EXEEXT): $(addgenerators1_OBJECTS) $(addgenerators1_DEPENDENCIES) 
 	@rm -f addgenerators1$(EXEEXT)
-	$(CXXLINK) $(addgenerators1_OBJECTS) $(addgenerators1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(addgenerators1_OBJECTS) $(addgenerators1_LDADD) $(LIBS)
 addgenerators2$(EXEEXT): $(addgenerators2_OBJECTS) $(addgenerators2_DEPENDENCIES) 
 	@rm -f addgenerators2$(EXEEXT)
-	$(CXXLINK) $(addgenerators2_OBJECTS) $(addgenerators2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(addgenerators2_OBJECTS) $(addgenerators2_LDADD) $(LIBS)
 addspacedims1$(EXEEXT): $(addspacedims1_OBJECTS) $(addspacedims1_DEPENDENCIES) 
 	@rm -f addspacedims1$(EXEEXT)
-	$(CXXLINK) $(addspacedims1_OBJECTS) $(addspacedims1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(addspacedims1_OBJECTS) $(addspacedims1_LDADD) $(LIBS)
 addspacedims2$(EXEEXT): $(addspacedims2_OBJECTS) $(addspacedims2_DEPENDENCIES) 
 	@rm -f addspacedims2$(EXEEXT)
-	$(CXXLINK) $(addspacedims2_OBJECTS) $(addspacedims2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(addspacedims2_OBJECTS) $(addspacedims2_LDADD) $(LIBS)
 affineimage1$(EXEEXT): $(affineimage1_OBJECTS) $(affineimage1_DEPENDENCIES) 
 	@rm -f affineimage1$(EXEEXT)
-	$(CXXLINK) $(affineimage1_OBJECTS) $(affineimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(affineimage1_OBJECTS) $(affineimage1_LDADD) $(LIBS)
 affineimage2$(EXEEXT): $(affineimage2_OBJECTS) $(affineimage2_DEPENDENCIES) 
 	@rm -f affineimage2$(EXEEXT)
-	$(CXXLINK) $(affineimage2_OBJECTS) $(affineimage2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(affineimage2_OBJECTS) $(affineimage2_LDADD) $(LIBS)
 affinepreimage1$(EXEEXT): $(affinepreimage1_OBJECTS) $(affinepreimage1_DEPENDENCIES) 
 	@rm -f affinepreimage1$(EXEEXT)
-	$(CXXLINK) $(affinepreimage1_OBJECTS) $(affinepreimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(affinepreimage1_OBJECTS) $(affinepreimage1_LDADD) $(LIBS)
 affinetrans$(EXEEXT): $(affinetrans_OBJECTS) $(affinetrans_DEPENDENCIES) 
 	@rm -f affinetrans$(EXEEXT)
-	$(CXXLINK) $(affinetrans_OBJECTS) $(affinetrans_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(affinetrans_OBJECTS) $(affinetrans_LDADD) $(LIBS)
 append1$(EXEEXT): $(append1_OBJECTS) $(append1_DEPENDENCIES) 
 	@rm -f append1$(EXEEXT)
-	$(CXXLINK) $(append1_OBJECTS) $(append1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(append1_OBJECTS) $(append1_LDADD) $(LIBS)
 append2$(EXEEXT): $(append2_OBJECTS) $(append2_DEPENDENCIES) 
 	@rm -f append2$(EXEEXT)
-	$(CXXLINK) $(append2_OBJECTS) $(append2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(append2_OBJECTS) $(append2_LDADD) $(LIBS)
 ascii_dump_load1$(EXEEXT): $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_DEPENDENCIES) 
 	@rm -f ascii_dump_load1$(EXEEXT)
-	$(CXXLINK) $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_LDADD) $(LIBS)
 ascii_dump_load2$(EXEEXT): $(ascii_dump_load2_OBJECTS) $(ascii_dump_load2_DEPENDENCIES) 
 	@rm -f ascii_dump_load2$(EXEEXT)
-	$(CXXLINK) $(ascii_dump_load2_OBJECTS) $(ascii_dump_load2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ascii_dump_load2_OBJECTS) $(ascii_dump_load2_LDADD) $(LIBS)
 ascii_dump_load3$(EXEEXT): $(ascii_dump_load3_OBJECTS) $(ascii_dump_load3_DEPENDENCIES) 
 	@rm -f ascii_dump_load3$(EXEEXT)
-	$(CXXLINK) $(ascii_dump_load3_OBJECTS) $(ascii_dump_load3_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(ascii_dump_load3_OBJECTS) $(ascii_dump_load3_LDADD) $(LIBS)
 bgp99extrapolation1$(EXEEXT): $(bgp99extrapolation1_OBJECTS) $(bgp99extrapolation1_DEPENDENCIES) 
 	@rm -f bgp99extrapolation1$(EXEEXT)
-	$(CXXLINK) $(bgp99extrapolation1_OBJECTS) $(bgp99extrapolation1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(bgp99extrapolation1_OBJECTS) $(bgp99extrapolation1_LDADD) $(LIBS)
 bgp99extrapolation2$(EXEEXT): $(bgp99extrapolation2_OBJECTS) $(bgp99extrapolation2_DEPENDENCIES) 
 	@rm -f bgp99extrapolation2$(EXEEXT)
-	$(CXXLINK) $(bgp99extrapolation2_OBJECTS) $(bgp99extrapolation2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(bgp99extrapolation2_OBJECTS) $(bgp99extrapolation2_LDADD) $(LIBS)
 bhrz03widening1$(EXEEXT): $(bhrz03widening1_OBJECTS) $(bhrz03widening1_DEPENDENCIES) 
 	@rm -f bhrz03widening1$(EXEEXT)
-	$(CXXLINK) $(bhrz03widening1_OBJECTS) $(bhrz03widening1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(bhrz03widening1_OBJECTS) $(bhrz03widening1_LDADD) $(LIBS)
 bhrz03widening2$(EXEEXT): $(bhrz03widening2_OBJECTS) $(bhrz03widening2_DEPENDENCIES) 
 	@rm -f bhrz03widening2$(EXEEXT)
-	$(CXXLINK) $(bhrz03widening2_OBJECTS) $(bhrz03widening2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(bhrz03widening2_OBJECTS) $(bhrz03widening2_LDADD) $(LIBS)
 bhrz03widening3$(EXEEXT): $(bhrz03widening3_OBJECTS) $(bhrz03widening3_DEPENDENCIES) 
 	@rm -f bhrz03widening3$(EXEEXT)
-	$(CXXLINK) $(bhrz03widening3_OBJECTS) $(bhrz03widening3_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(bhrz03widening3_OBJECTS) $(bhrz03widening3_LDADD) $(LIBS)
 bhz03widening1$(EXEEXT): $(bhz03widening1_OBJECTS) $(bhz03widening1_DEPENDENCIES) 
 	@rm -f bhz03widening1$(EXEEXT)
-	$(CXXLINK) $(bhz03widening1_OBJECTS) $(bhz03widening1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(bhz03widening1_OBJECTS) $(bhz03widening1_LDADD) $(LIBS)
 bounded1$(EXEEXT): $(bounded1_OBJECTS) $(bounded1_DEPENDENCIES) 
 	@rm -f bounded1$(EXEEXT)
-	$(CXXLINK) $(bounded1_OBJECTS) $(bounded1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(bounded1_OBJECTS) $(bounded1_LDADD) $(LIBS)
 boundedaffineimage1$(EXEEXT): $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_DEPENDENCIES) 
 	@rm -f boundedaffineimage1$(EXEEXT)
-	$(CXXLINK) $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_LDADD) $(LIBS)
 boundedaffinepreimage1$(EXEEXT): $(boundedaffinepreimage1_OBJECTS) $(boundedaffinepreimage1_DEPENDENCIES) 
 	@rm -f boundedaffinepreimage1$(EXEEXT)
-	$(CXXLINK) $(boundedaffinepreimage1_OBJECTS) $(boundedaffinepreimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(boundedaffinepreimage1_OBJECTS) $(boundedaffinepreimage1_LDADD) $(LIBS)
 boundedbhrz03extrapolation1$(EXEEXT): $(boundedbhrz03extrapolation1_OBJECTS) $(boundedbhrz03extrapolation1_DEPENDENCIES) 
 	@rm -f boundedbhrz03extrapolation1$(EXEEXT)
-	$(CXXLINK) $(boundedbhrz03extrapolation1_OBJECTS) $(boundedbhrz03extrapolation1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(boundedbhrz03extrapolation1_OBJECTS) $(boundedbhrz03extrapolation1_LDADD) $(LIBS)
 boundedh79extrapolation1$(EXEEXT): $(boundedh79extrapolation1_OBJECTS) $(boundedh79extrapolation1_DEPENDENCIES) 
 	@rm -f boundedh79extrapolation1$(EXEEXT)
-	$(CXXLINK) $(boundedh79extrapolation1_OBJECTS) $(boundedh79extrapolation1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(boundedh79extrapolation1_OBJECTS) $(boundedh79extrapolation1_LDADD) $(LIBS)
 bounds1$(EXEEXT): $(bounds1_OBJECTS) $(bounds1_DEPENDENCIES) 
 	@rm -f bounds1$(EXEEXT)
-	$(CXXLINK) $(bounds1_OBJECTS) $(bounds1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(bounds1_OBJECTS) $(bounds1_LDADD) $(LIBS)
 cnncconversion1$(EXEEXT): $(cnncconversion1_OBJECTS) $(cnncconversion1_DEPENDENCIES) 
 	@rm -f cnncconversion1$(EXEEXT)
-	$(CXXLINK) $(cnncconversion1_OBJECTS) $(cnncconversion1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(cnncconversion1_OBJECTS) $(cnncconversion1_LDADD) $(LIBS)
 concatenate1$(EXEEXT): $(concatenate1_OBJECTS) $(concatenate1_DEPENDENCIES) 
 	@rm -f concatenate1$(EXEEXT)
-	$(CXXLINK) $(concatenate1_OBJECTS) $(concatenate1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(concatenate1_OBJECTS) $(concatenate1_LDADD) $(LIBS)
 congruences1$(EXEEXT): $(congruences1_OBJECTS) $(congruences1_DEPENDENCIES) 
 	@rm -f congruences1$(EXEEXT)
-	$(CXXLINK) $(congruences1_OBJECTS) $(congruences1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(congruences1_OBJECTS) $(congruences1_LDADD) $(LIBS)
 constrains1$(EXEEXT): $(constrains1_OBJECTS) $(constrains1_DEPENDENCIES) 
 	@rm -f constrains1$(EXEEXT)
-	$(CXXLINK) $(constrains1_OBJECTS) $(constrains1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(constrains1_OBJECTS) $(constrains1_LDADD) $(LIBS)
 constraints1$(EXEEXT): $(constraints1_OBJECTS) $(constraints1_DEPENDENCIES) 
 	@rm -f constraints1$(EXEEXT)
-	$(CXXLINK) $(constraints1_OBJECTS) $(constraints1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(constraints1_OBJECTS) $(constraints1_LDADD) $(LIBS)
 contains1$(EXEEXT): $(contains1_OBJECTS) $(contains1_DEPENDENCIES) 
 	@rm -f contains1$(EXEEXT)
-	$(CXXLINK) $(contains1_OBJECTS) $(contains1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(contains1_OBJECTS) $(contains1_LDADD) $(LIBS)
 contains2$(EXEEXT): $(contains2_OBJECTS) $(contains2_DEPENDENCIES) 
 	@rm -f contains2$(EXEEXT)
-	$(CXXLINK) $(contains2_OBJECTS) $(contains2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(contains2_OBJECTS) $(contains2_LDADD) $(LIBS)
 containsintegerpoint1$(EXEEXT): $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_DEPENDENCIES) 
 	@rm -f containsintegerpoint1$(EXEEXT)
-	$(CXXLINK) $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_LDADD) $(LIBS)
 disjoint1$(EXEEXT): $(disjoint1_OBJECTS) $(disjoint1_DEPENDENCIES) 
 	@rm -f disjoint1$(EXEEXT)
-	$(CXXLINK) $(disjoint1_OBJECTS) $(disjoint1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(disjoint1_OBJECTS) $(disjoint1_LDADD) $(LIBS)
 disjoint2$(EXEEXT): $(disjoint2_OBJECTS) $(disjoint2_DEPENDENCIES) 
 	@rm -f disjoint2$(EXEEXT)
-	$(CXXLINK) $(disjoint2_OBJECTS) $(disjoint2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(disjoint2_OBJECTS) $(disjoint2_LDADD) $(LIBS)
+dropsomenonintegerpoints1$(EXEEXT): $(dropsomenonintegerpoints1_OBJECTS) $(dropsomenonintegerpoints1_DEPENDENCIES) 
+	@rm -f dropsomenonintegerpoints1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(dropsomenonintegerpoints1_OBJECTS) $(dropsomenonintegerpoints1_LDADD) $(LIBS)
+dropsomenonintegerpoints2$(EXEEXT): $(dropsomenonintegerpoints2_OBJECTS) $(dropsomenonintegerpoints2_DEPENDENCIES) 
+	@rm -f dropsomenonintegerpoints2$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(dropsomenonintegerpoints2_OBJECTS) $(dropsomenonintegerpoints2_LDADD) $(LIBS)
 dualhypercubes$(EXEEXT): $(dualhypercubes_OBJECTS) $(dualhypercubes_DEPENDENCIES) 
 	@rm -f dualhypercubes$(EXEEXT)
-	$(CXXLINK) $(dualhypercubes_OBJECTS) $(dualhypercubes_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(dualhypercubes_OBJECTS) $(dualhypercubes_LDADD) $(LIBS)
 empty1$(EXEEXT): $(empty1_OBJECTS) $(empty1_DEPENDENCIES) 
 	@rm -f empty1$(EXEEXT)
-	$(CXXLINK) $(empty1_OBJECTS) $(empty1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(empty1_OBJECTS) $(empty1_LDADD) $(LIBS)
 equals1$(EXEEXT): $(equals1_OBJECTS) $(equals1_DEPENDENCIES) 
 	@rm -f equals1$(EXEEXT)
-	$(CXXLINK) $(equals1_OBJECTS) $(equals1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(equals1_OBJECTS) $(equals1_LDADD) $(LIBS)
 exceptions1$(EXEEXT): $(exceptions1_OBJECTS) $(exceptions1_DEPENDENCIES) 
 	@rm -f exceptions1$(EXEEXT)
-	$(CXXLINK) $(exceptions1_OBJECTS) $(exceptions1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(exceptions1_OBJECTS) $(exceptions1_LDADD) $(LIBS)
 exceptions2$(EXEEXT): $(exceptions2_OBJECTS) $(exceptions2_DEPENDENCIES) 
 	@rm -f exceptions2$(EXEEXT)
-	$(CXXLINK) $(exceptions2_OBJECTS) $(exceptions2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(exceptions2_OBJECTS) $(exceptions2_LDADD) $(LIBS)
 exceptions3$(EXEEXT): $(exceptions3_OBJECTS) $(exceptions3_DEPENDENCIES) 
 	@rm -f exceptions3$(EXEEXT)
-	$(CXXLINK) $(exceptions3_OBJECTS) $(exceptions3_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(exceptions3_OBJECTS) $(exceptions3_LDADD) $(LIBS)
 expandspacedim1$(EXEEXT): $(expandspacedim1_OBJECTS) $(expandspacedim1_DEPENDENCIES) 
 	@rm -f expandspacedim1$(EXEEXT)
-	$(CXXLINK) $(expandspacedim1_OBJECTS) $(expandspacedim1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(expandspacedim1_OBJECTS) $(expandspacedim1_LDADD) $(LIBS)
 expandspacedim2$(EXEEXT): $(expandspacedim2_OBJECTS) $(expandspacedim2_DEPENDENCIES) 
 	@rm -f expandspacedim2$(EXEEXT)
-	$(CXXLINK) $(expandspacedim2_OBJECTS) $(expandspacedim2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(expandspacedim2_OBJECTS) $(expandspacedim2_LDADD) $(LIBS)
 foldspacedims1$(EXEEXT): $(foldspacedims1_OBJECTS) $(foldspacedims1_DEPENDENCIES) 
 	@rm -f foldspacedims1$(EXEEXT)
-	$(CXXLINK) $(foldspacedims1_OBJECTS) $(foldspacedims1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(foldspacedims1_OBJECTS) $(foldspacedims1_LDADD) $(LIBS)
 foldspacedims2$(EXEEXT): $(foldspacedims2_OBJECTS) $(foldspacedims2_DEPENDENCIES) 
 	@rm -f foldspacedims2$(EXEEXT)
-	$(CXXLINK) $(foldspacedims2_OBJECTS) $(foldspacedims2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(foldspacedims2_OBJECTS) $(foldspacedims2_LDADD) $(LIBS)
+frequency1$(EXEEXT): $(frequency1_OBJECTS) $(frequency1_DEPENDENCIES) 
+	@rm -f frequency1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(frequency1_OBJECTS) $(frequency1_LDADD) $(LIBS)
 frombdshape1$(EXEEXT): $(frombdshape1_OBJECTS) $(frombdshape1_DEPENDENCIES) 
 	@rm -f frombdshape1$(EXEEXT)
-	$(CXXLINK) $(frombdshape1_OBJECTS) $(frombdshape1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(frombdshape1_OBJECTS) $(frombdshape1_LDADD) $(LIBS)
 frombox1$(EXEEXT): $(frombox1_OBJECTS) $(frombox1_DEPENDENCIES) 
 	@rm -f frombox1$(EXEEXT)
-	$(CXXLINK) $(frombox1_OBJECTS) $(frombox1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(frombox1_OBJECTS) $(frombox1_LDADD) $(LIBS)
 frombox2$(EXEEXT): $(frombox2_OBJECTS) $(frombox2_DEPENDENCIES) 
 	@rm -f frombox2$(EXEEXT)
-	$(CXXLINK) $(frombox2_OBJECTS) $(frombox2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(frombox2_OBJECTS) $(frombox2_LDADD) $(LIBS)
 fromgrid1$(EXEEXT): $(fromgrid1_OBJECTS) $(fromgrid1_DEPENDENCIES) 
 	@rm -f fromgrid1$(EXEEXT)
-	$(CXXLINK) $(fromgrid1_OBJECTS) $(fromgrid1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(fromgrid1_OBJECTS) $(fromgrid1_LDADD) $(LIBS)
 fromoctagonalshape1$(EXEEXT): $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_DEPENDENCIES) 
 	@rm -f fromoctagonalshape1$(EXEEXT)
-	$(CXXLINK) $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_LDADD) $(LIBS)
 generalizedaffineimage1$(EXEEXT): $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_DEPENDENCIES) 
 	@rm -f generalizedaffineimage1$(EXEEXT)
-	$(CXXLINK) $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_LDADD) $(LIBS)
 generalizedaffineimage2$(EXEEXT): $(generalizedaffineimage2_OBJECTS) $(generalizedaffineimage2_DEPENDENCIES) 
 	@rm -f generalizedaffineimage2$(EXEEXT)
-	$(CXXLINK) $(generalizedaffineimage2_OBJECTS) $(generalizedaffineimage2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffineimage2_OBJECTS) $(generalizedaffineimage2_LDADD) $(LIBS)
 generalizedaffinepreimage1$(EXEEXT): $(generalizedaffinepreimage1_OBJECTS) $(generalizedaffinepreimage1_DEPENDENCIES) 
 	@rm -f generalizedaffinepreimage1$(EXEEXT)
-	$(CXXLINK) $(generalizedaffinepreimage1_OBJECTS) $(generalizedaffinepreimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffinepreimage1_OBJECTS) $(generalizedaffinepreimage1_LDADD) $(LIBS)
 generalizedaffinepreimage2$(EXEEXT): $(generalizedaffinepreimage2_OBJECTS) $(generalizedaffinepreimage2_DEPENDENCIES) 
 	@rm -f generalizedaffinepreimage2$(EXEEXT)
-	$(CXXLINK) $(generalizedaffinepreimage2_OBJECTS) $(generalizedaffinepreimage2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffinepreimage2_OBJECTS) $(generalizedaffinepreimage2_LDADD) $(LIBS)
 generators1$(EXEEXT): $(generators1_OBJECTS) $(generators1_DEPENDENCIES) 
 	@rm -f generators1$(EXEEXT)
-	$(CXXLINK) $(generators1_OBJECTS) $(generators1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(generators1_OBJECTS) $(generators1_LDADD) $(LIBS)
 geomcovers1$(EXEEXT): $(geomcovers1_OBJECTS) $(geomcovers1_DEPENDENCIES) 
 	@rm -f geomcovers1$(EXEEXT)
-	$(CXXLINK) $(geomcovers1_OBJECTS) $(geomcovers1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(geomcovers1_OBJECTS) $(geomcovers1_LDADD) $(LIBS)
 h79widening1$(EXEEXT): $(h79widening1_OBJECTS) $(h79widening1_DEPENDENCIES) 
 	@rm -f h79widening1$(EXEEXT)
-	$(CXXLINK) $(h79widening1_OBJECTS) $(h79widening1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(h79widening1_OBJECTS) $(h79widening1_LDADD) $(LIBS)
 h79widening2$(EXEEXT): $(h79widening2_OBJECTS) $(h79widening2_DEPENDENCIES) 
 	@rm -f h79widening2$(EXEEXT)
-	$(CXXLINK) $(h79widening2_OBJECTS) $(h79widening2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(h79widening2_OBJECTS) $(h79widening2_LDADD) $(LIBS)
 hybrid$(EXEEXT): $(hybrid_OBJECTS) $(hybrid_DEPENDENCIES) 
 	@rm -f hybrid$(EXEEXT)
-	$(CXXLINK) $(hybrid_OBJECTS) $(hybrid_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(hybrid_OBJECTS) $(hybrid_LDADD) $(LIBS)
 intersection1$(EXEEXT): $(intersection1_OBJECTS) $(intersection1_DEPENDENCIES) 
 	@rm -f intersection1$(EXEEXT)
-	$(CXXLINK) $(intersection1_OBJECTS) $(intersection1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(intersection1_OBJECTS) $(intersection1_LDADD) $(LIBS)
 limitedbhrz03extrapolation1$(EXEEXT): $(limitedbhrz03extrapolation1_OBJECTS) $(limitedbhrz03extrapolation1_DEPENDENCIES) 
 	@rm -f limitedbhrz03extrapolation1$(EXEEXT)
-	$(CXXLINK) $(limitedbhrz03extrapolation1_OBJECTS) $(limitedbhrz03extrapolation1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(limitedbhrz03extrapolation1_OBJECTS) $(limitedbhrz03extrapolation1_LDADD) $(LIBS)
 limitedh79extrapolation1$(EXEEXT): $(limitedh79extrapolation1_OBJECTS) $(limitedh79extrapolation1_DEPENDENCIES) 
 	@rm -f limitedh79extrapolation1$(EXEEXT)
-	$(CXXLINK) $(limitedh79extrapolation1_OBJECTS) $(limitedh79extrapolation1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(limitedh79extrapolation1_OBJECTS) $(limitedh79extrapolation1_LDADD) $(LIBS)
 linearexpression1$(EXEEXT): $(linearexpression1_OBJECTS) $(linearexpression1_DEPENDENCIES) 
 	@rm -f linearexpression1$(EXEEXT)
-	$(CXXLINK) $(linearexpression1_OBJECTS) $(linearexpression1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(linearexpression1_OBJECTS) $(linearexpression1_LDADD) $(LIBS)
 linearpartition1$(EXEEXT): $(linearpartition1_OBJECTS) $(linearpartition1_DEPENDENCIES) 
 	@rm -f linearpartition1$(EXEEXT)
-	$(CXXLINK) $(linearpartition1_OBJECTS) $(linearpartition1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(linearpartition1_OBJECTS) $(linearpartition1_LDADD) $(LIBS)
 linearsystem1$(EXEEXT): $(linearsystem1_OBJECTS) $(linearsystem1_DEPENDENCIES) 
 	@rm -f linearsystem1$(EXEEXT)
-	$(CXXLINK) $(linearsystem1_OBJECTS) $(linearsystem1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(linearsystem1_OBJECTS) $(linearsystem1_LDADD) $(LIBS)
 mapspacedims1$(EXEEXT): $(mapspacedims1_OBJECTS) $(mapspacedims1_DEPENDENCIES) 
 	@rm -f mapspacedims1$(EXEEXT)
-	$(CXXLINK) $(mapspacedims1_OBJECTS) $(mapspacedims1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(mapspacedims1_OBJECTS) $(mapspacedims1_LDADD) $(LIBS)
 matrix1$(EXEEXT): $(matrix1_OBJECTS) $(matrix1_DEPENDENCIES) 
 	@rm -f matrix1$(EXEEXT)
-	$(CXXLINK) $(matrix1_OBJECTS) $(matrix1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(matrix1_OBJECTS) $(matrix1_LDADD) $(LIBS)
 max_min1$(EXEEXT): $(max_min1_OBJECTS) $(max_min1_DEPENDENCIES) 
 	@rm -f max_min1$(EXEEXT)
-	$(CXXLINK) $(max_min1_OBJECTS) $(max_min1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(max_min1_OBJECTS) $(max_min1_LDADD) $(LIBS)
 maxspacedim1$(EXEEXT): $(maxspacedim1_OBJECTS) $(maxspacedim1_DEPENDENCIES) 
 	@rm -f maxspacedim1$(EXEEXT)
-	$(CXXLINK) $(maxspacedim1_OBJECTS) $(maxspacedim1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(maxspacedim1_OBJECTS) $(maxspacedim1_LDADD) $(LIBS)
 mc91$(EXEEXT): $(mc91_OBJECTS) $(mc91_DEPENDENCIES) 
 	@rm -f mc91$(EXEEXT)
-	$(CXXLINK) $(mc91_OBJECTS) $(mc91_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(mc91_OBJECTS) $(mc91_LDADD) $(LIBS)
 membytes1$(EXEEXT): $(membytes1_OBJECTS) $(membytes1_DEPENDENCIES) 
 	@rm -f membytes1$(EXEEXT)
-	$(CXXLINK) $(membytes1_OBJECTS) $(membytes1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(membytes1_OBJECTS) $(membytes1_LDADD) $(LIBS)
 memory1$(EXEEXT): $(memory1_OBJECTS) $(memory1_DEPENDENCIES) 
 	@rm -f memory1$(EXEEXT)
-	$(CXXLINK) $(memory1_OBJECTS) $(memory1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(memory1_OBJECTS) $(memory1_LDADD) $(LIBS)
 memory2$(EXEEXT): $(memory2_OBJECTS) $(memory2_DEPENDENCIES) 
 	@rm -f memory2$(EXEEXT)
-	$(CXXLINK) $(memory2_OBJECTS) $(memory2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(memory2_OBJECTS) $(memory2_LDADD) $(LIBS)
 minconstraints1$(EXEEXT): $(minconstraints1_OBJECTS) $(minconstraints1_DEPENDENCIES) 
 	@rm -f minconstraints1$(EXEEXT)
-	$(CXXLINK) $(minconstraints1_OBJECTS) $(minconstraints1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(minconstraints1_OBJECTS) $(minconstraints1_LDADD) $(LIBS)
 minconstraints2$(EXEEXT): $(minconstraints2_OBJECTS) $(minconstraints2_DEPENDENCIES) 
 	@rm -f minconstraints2$(EXEEXT)
-	$(CXXLINK) $(minconstraints2_OBJECTS) $(minconstraints2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(minconstraints2_OBJECTS) $(minconstraints2_LDADD) $(LIBS)
 mingenerators1$(EXEEXT): $(mingenerators1_OBJECTS) $(mingenerators1_DEPENDENCIES) 
 	@rm -f mingenerators1$(EXEEXT)
-	$(CXXLINK) $(mingenerators1_OBJECTS) $(mingenerators1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(mingenerators1_OBJECTS) $(mingenerators1_LDADD) $(LIBS)
 mingenerators2$(EXEEXT): $(mingenerators2_OBJECTS) $(mingenerators2_DEPENDENCIES) 
 	@rm -f mingenerators2$(EXEEXT)
-	$(CXXLINK) $(mingenerators2_OBJECTS) $(mingenerators2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(mingenerators2_OBJECTS) $(mingenerators2_LDADD) $(LIBS)
 nnc_addcongruence1$(EXEEXT): $(nnc_addcongruence1_OBJECTS) $(nnc_addcongruence1_DEPENDENCIES) 
 	@rm -f nnc_addcongruence1$(EXEEXT)
-	$(nnc_addcongruence1_LINK) $(nnc_addcongruence1_OBJECTS) $(nnc_addcongruence1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_addcongruence1_LINK) $(nnc_addcongruence1_OBJECTS) $(nnc_addcongruence1_LDADD) $(LIBS)
 nnc_addcongruences1$(EXEEXT): $(nnc_addcongruences1_OBJECTS) $(nnc_addcongruences1_DEPENDENCIES) 
 	@rm -f nnc_addcongruences1$(EXEEXT)
-	$(nnc_addcongruences1_LINK) $(nnc_addcongruences1_OBJECTS) $(nnc_addcongruences1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_addcongruences1_LINK) $(nnc_addcongruences1_OBJECTS) $(nnc_addcongruences1_LDADD) $(LIBS)
 nnc_addconstraint1$(EXEEXT): $(nnc_addconstraint1_OBJECTS) $(nnc_addconstraint1_DEPENDENCIES) 
 	@rm -f nnc_addconstraint1$(EXEEXT)
-	$(nnc_addconstraint1_LINK) $(nnc_addconstraint1_OBJECTS) $(nnc_addconstraint1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_addconstraint1_LINK) $(nnc_addconstraint1_OBJECTS) $(nnc_addconstraint1_LDADD) $(LIBS)
 nnc_addconstraints1$(EXEEXT): $(nnc_addconstraints1_OBJECTS) $(nnc_addconstraints1_DEPENDENCIES) 
 	@rm -f nnc_addconstraints1$(EXEEXT)
-	$(nnc_addconstraints1_LINK) $(nnc_addconstraints1_OBJECTS) $(nnc_addconstraints1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_addconstraints1_LINK) $(nnc_addconstraints1_OBJECTS) $(nnc_addconstraints1_LDADD) $(LIBS)
 nnc_addgenerator1$(EXEEXT): $(nnc_addgenerator1_OBJECTS) $(nnc_addgenerator1_DEPENDENCIES) 
 	@rm -f nnc_addgenerator1$(EXEEXT)
-	$(nnc_addgenerator1_LINK) $(nnc_addgenerator1_OBJECTS) $(nnc_addgenerator1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_addgenerator1_LINK) $(nnc_addgenerator1_OBJECTS) $(nnc_addgenerator1_LDADD) $(LIBS)
 nnc_addgenerators1$(EXEEXT): $(nnc_addgenerators1_OBJECTS) $(nnc_addgenerators1_DEPENDENCIES) 
 	@rm -f nnc_addgenerators1$(EXEEXT)
-	$(nnc_addgenerators1_LINK) $(nnc_addgenerators1_OBJECTS) $(nnc_addgenerators1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_addgenerators1_LINK) $(nnc_addgenerators1_OBJECTS) $(nnc_addgenerators1_LDADD) $(LIBS)
 nnc_addspacedims1$(EXEEXT): $(nnc_addspacedims1_OBJECTS) $(nnc_addspacedims1_DEPENDENCIES) 
 	@rm -f nnc_addspacedims1$(EXEEXT)
-	$(nnc_addspacedims1_LINK) $(nnc_addspacedims1_OBJECTS) $(nnc_addspacedims1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_addspacedims1_LINK) $(nnc_addspacedims1_OBJECTS) $(nnc_addspacedims1_LDADD) $(LIBS)
 nnc_affineimage1$(EXEEXT): $(nnc_affineimage1_OBJECTS) $(nnc_affineimage1_DEPENDENCIES) 
 	@rm -f nnc_affineimage1$(EXEEXT)
-	$(nnc_affineimage1_LINK) $(nnc_affineimage1_OBJECTS) $(nnc_affineimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_affineimage1_LINK) $(nnc_affineimage1_OBJECTS) $(nnc_affineimage1_LDADD) $(LIBS)
 nnc_affinepreimage1$(EXEEXT): $(nnc_affinepreimage1_OBJECTS) $(nnc_affinepreimage1_DEPENDENCIES) 
 	@rm -f nnc_affinepreimage1$(EXEEXT)
-	$(nnc_affinepreimage1_LINK) $(nnc_affinepreimage1_OBJECTS) $(nnc_affinepreimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_affinepreimage1_LINK) $(nnc_affinepreimage1_OBJECTS) $(nnc_affinepreimage1_LDADD) $(LIBS)
 nnc_affinetrans$(EXEEXT): $(nnc_affinetrans_OBJECTS) $(nnc_affinetrans_DEPENDENCIES) 
 	@rm -f nnc_affinetrans$(EXEEXT)
-	$(nnc_affinetrans_LINK) $(nnc_affinetrans_OBJECTS) $(nnc_affinetrans_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_affinetrans_LINK) $(nnc_affinetrans_OBJECTS) $(nnc_affinetrans_LDADD) $(LIBS)
 nnc_append1$(EXEEXT): $(nnc_append1_OBJECTS) $(nnc_append1_DEPENDENCIES) 
 	@rm -f nnc_append1$(EXEEXT)
-	$(nnc_append1_LINK) $(nnc_append1_OBJECTS) $(nnc_append1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_append1_LINK) $(nnc_append1_OBJECTS) $(nnc_append1_LDADD) $(LIBS)
 nnc_append2$(EXEEXT): $(nnc_append2_OBJECTS) $(nnc_append2_DEPENDENCIES) 
 	@rm -f nnc_append2$(EXEEXT)
-	$(nnc_append2_LINK) $(nnc_append2_OBJECTS) $(nnc_append2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_append2_LINK) $(nnc_append2_OBJECTS) $(nnc_append2_LDADD) $(LIBS)
 nnc_ascii_dump_load1$(EXEEXT): $(nnc_ascii_dump_load1_OBJECTS) $(nnc_ascii_dump_load1_DEPENDENCIES) 
 	@rm -f nnc_ascii_dump_load1$(EXEEXT)
-	$(nnc_ascii_dump_load1_LINK) $(nnc_ascii_dump_load1_OBJECTS) $(nnc_ascii_dump_load1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_ascii_dump_load1_LINK) $(nnc_ascii_dump_load1_OBJECTS) $(nnc_ascii_dump_load1_LDADD) $(LIBS)
 nnc_ascii_dump_load2$(EXEEXT): $(nnc_ascii_dump_load2_OBJECTS) $(nnc_ascii_dump_load2_DEPENDENCIES) 
 	@rm -f nnc_ascii_dump_load2$(EXEEXT)
-	$(nnc_ascii_dump_load2_LINK) $(nnc_ascii_dump_load2_OBJECTS) $(nnc_ascii_dump_load2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_ascii_dump_load2_LINK) $(nnc_ascii_dump_load2_OBJECTS) $(nnc_ascii_dump_load2_LDADD) $(LIBS)
 nnc_bgp99extrapolation1$(EXEEXT): $(nnc_bgp99extrapolation1_OBJECTS) $(nnc_bgp99extrapolation1_DEPENDENCIES) 
 	@rm -f nnc_bgp99extrapolation1$(EXEEXT)
-	$(nnc_bgp99extrapolation1_LINK) $(nnc_bgp99extrapolation1_OBJECTS) $(nnc_bgp99extrapolation1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_bgp99extrapolation1_LINK) $(nnc_bgp99extrapolation1_OBJECTS) $(nnc_bgp99extrapolation1_LDADD) $(LIBS)
 nnc_bhrz03widening1$(EXEEXT): $(nnc_bhrz03widening1_OBJECTS) $(nnc_bhrz03widening1_DEPENDENCIES) 
 	@rm -f nnc_bhrz03widening1$(EXEEXT)
-	$(nnc_bhrz03widening1_LINK) $(nnc_bhrz03widening1_OBJECTS) $(nnc_bhrz03widening1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_bhrz03widening1_LINK) $(nnc_bhrz03widening1_OBJECTS) $(nnc_bhrz03widening1_LDADD) $(LIBS)
 nnc_bhrz03widening2$(EXEEXT): $(nnc_bhrz03widening2_OBJECTS) $(nnc_bhrz03widening2_DEPENDENCIES) 
 	@rm -f nnc_bhrz03widening2$(EXEEXT)
-	$(nnc_bhrz03widening2_LINK) $(nnc_bhrz03widening2_OBJECTS) $(nnc_bhrz03widening2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_bhrz03widening2_LINK) $(nnc_bhrz03widening2_OBJECTS) $(nnc_bhrz03widening2_LDADD) $(LIBS)
 nnc_bounded1$(EXEEXT): $(nnc_bounded1_OBJECTS) $(nnc_bounded1_DEPENDENCIES) 
 	@rm -f nnc_bounded1$(EXEEXT)
-	$(nnc_bounded1_LINK) $(nnc_bounded1_OBJECTS) $(nnc_bounded1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_bounded1_LINK) $(nnc_bounded1_OBJECTS) $(nnc_bounded1_LDADD) $(LIBS)
 nnc_boundedaffineimage1$(EXEEXT): $(nnc_boundedaffineimage1_OBJECTS) $(nnc_boundedaffineimage1_DEPENDENCIES) 
 	@rm -f nnc_boundedaffineimage1$(EXEEXT)
-	$(nnc_boundedaffineimage1_LINK) $(nnc_boundedaffineimage1_OBJECTS) $(nnc_boundedaffineimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_boundedaffineimage1_LINK) $(nnc_boundedaffineimage1_OBJECTS) $(nnc_boundedaffineimage1_LDADD) $(LIBS)
 nnc_boundedaffinepreimage1$(EXEEXT): $(nnc_boundedaffinepreimage1_OBJECTS) $(nnc_boundedaffinepreimage1_DEPENDENCIES) 
 	@rm -f nnc_boundedaffinepreimage1$(EXEEXT)
-	$(nnc_boundedaffinepreimage1_LINK) $(nnc_boundedaffinepreimage1_OBJECTS) $(nnc_boundedaffinepreimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_boundedaffinepreimage1_LINK) $(nnc_boundedaffinepreimage1_OBJECTS) $(nnc_boundedaffinepreimage1_LDADD) $(LIBS)
 nnc_boundedbhrz03extrapolation1$(EXEEXT): $(nnc_boundedbhrz03extrapolation1_OBJECTS) $(nnc_boundedbhrz03extrapolation1_DEPENDENCIES) 
 	@rm -f nnc_boundedbhrz03extrapolation1$(EXEEXT)
-	$(CXXLINK) $(nnc_boundedbhrz03extrapolation1_OBJECTS) $(nnc_boundedbhrz03extrapolation1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(nnc_boundedbhrz03extrapolation1_OBJECTS) $(nnc_boundedbhrz03extrapolation1_LDADD) $(LIBS)
 nnc_boundedh79extrapolation1$(EXEEXT): $(nnc_boundedh79extrapolation1_OBJECTS) $(nnc_boundedh79extrapolation1_DEPENDENCIES) 
 	@rm -f nnc_boundedh79extrapolation1$(EXEEXT)
-	$(nnc_boundedh79extrapolation1_LINK) $(nnc_boundedh79extrapolation1_OBJECTS) $(nnc_boundedh79extrapolation1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_boundedh79extrapolation1_LINK) $(nnc_boundedh79extrapolation1_OBJECTS) $(nnc_boundedh79extrapolation1_LDADD) $(LIBS)
 nnc_bounds1$(EXEEXT): $(nnc_bounds1_OBJECTS) $(nnc_bounds1_DEPENDENCIES) 
 	@rm -f nnc_bounds1$(EXEEXT)
-	$(nnc_bounds1_LINK) $(nnc_bounds1_OBJECTS) $(nnc_bounds1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_bounds1_LINK) $(nnc_bounds1_OBJECTS) $(nnc_bounds1_LDADD) $(LIBS)
 nnc_concatenate1$(EXEEXT): $(nnc_concatenate1_OBJECTS) $(nnc_concatenate1_DEPENDENCIES) 
 	@rm -f nnc_concatenate1$(EXEEXT)
-	$(nnc_concatenate1_LINK) $(nnc_concatenate1_OBJECTS) $(nnc_concatenate1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_concatenate1_LINK) $(nnc_concatenate1_OBJECTS) $(nnc_concatenate1_LDADD) $(LIBS)
 nnc_congruences1$(EXEEXT): $(nnc_congruences1_OBJECTS) $(nnc_congruences1_DEPENDENCIES) 
 	@rm -f nnc_congruences1$(EXEEXT)
-	$(nnc_congruences1_LINK) $(nnc_congruences1_OBJECTS) $(nnc_congruences1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_congruences1_LINK) $(nnc_congruences1_OBJECTS) $(nnc_congruences1_LDADD) $(LIBS)
 nnc_constrains1$(EXEEXT): $(nnc_constrains1_OBJECTS) $(nnc_constrains1_DEPENDENCIES) 
 	@rm -f nnc_constrains1$(EXEEXT)
-	$(nnc_constrains1_LINK) $(nnc_constrains1_OBJECTS) $(nnc_constrains1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_constrains1_LINK) $(nnc_constrains1_OBJECTS) $(nnc_constrains1_LDADD) $(LIBS)
 nnc_constraints1$(EXEEXT): $(nnc_constraints1_OBJECTS) $(nnc_constraints1_DEPENDENCIES) 
 	@rm -f nnc_constraints1$(EXEEXT)
-	$(nnc_constraints1_LINK) $(nnc_constraints1_OBJECTS) $(nnc_constraints1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_constraints1_LINK) $(nnc_constraints1_OBJECTS) $(nnc_constraints1_LDADD) $(LIBS)
 nnc_contains1$(EXEEXT): $(nnc_contains1_OBJECTS) $(nnc_contains1_DEPENDENCIES) 
 	@rm -f nnc_contains1$(EXEEXT)
-	$(nnc_contains1_LINK) $(nnc_contains1_OBJECTS) $(nnc_contains1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_contains1_LINK) $(nnc_contains1_OBJECTS) $(nnc_contains1_LDADD) $(LIBS)
 nnc_containsintegerpoint1$(EXEEXT): $(nnc_containsintegerpoint1_OBJECTS) $(nnc_containsintegerpoint1_DEPENDENCIES) 
 	@rm -f nnc_containsintegerpoint1$(EXEEXT)
-	$(nnc_containsintegerpoint1_LINK) $(nnc_containsintegerpoint1_OBJECTS) $(nnc_containsintegerpoint1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_containsintegerpoint1_LINK) $(nnc_containsintegerpoint1_OBJECTS) $(nnc_containsintegerpoint1_LDADD) $(LIBS)
 nnc_disjoint1$(EXEEXT): $(nnc_disjoint1_OBJECTS) $(nnc_disjoint1_DEPENDENCIES) 
 	@rm -f nnc_disjoint1$(EXEEXT)
-	$(nnc_disjoint1_LINK) $(nnc_disjoint1_OBJECTS) $(nnc_disjoint1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_disjoint1_LINK) $(nnc_disjoint1_OBJECTS) $(nnc_disjoint1_LDADD) $(LIBS)
+nnc_dropsomenonintegerpoints1$(EXEEXT): $(nnc_dropsomenonintegerpoints1_OBJECTS) $(nnc_dropsomenonintegerpoints1_DEPENDENCIES) 
+	@rm -f nnc_dropsomenonintegerpoints1$(EXEEXT)
+	$(AM_V_CXXLD)$(nnc_dropsomenonintegerpoints1_LINK) $(nnc_dropsomenonintegerpoints1_OBJECTS) $(nnc_dropsomenonintegerpoints1_LDADD) $(LIBS)
 nnc_empty1$(EXEEXT): $(nnc_empty1_OBJECTS) $(nnc_empty1_DEPENDENCIES) 
 	@rm -f nnc_empty1$(EXEEXT)
-	$(nnc_empty1_LINK) $(nnc_empty1_OBJECTS) $(nnc_empty1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_empty1_LINK) $(nnc_empty1_OBJECTS) $(nnc_empty1_LDADD) $(LIBS)
 nnc_equals1$(EXEEXT): $(nnc_equals1_OBJECTS) $(nnc_equals1_DEPENDENCIES) 
 	@rm -f nnc_equals1$(EXEEXT)
-	$(nnc_equals1_LINK) $(nnc_equals1_OBJECTS) $(nnc_equals1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_equals1_LINK) $(nnc_equals1_OBJECTS) $(nnc_equals1_LDADD) $(LIBS)
 nnc_exceptions1$(EXEEXT): $(nnc_exceptions1_OBJECTS) $(nnc_exceptions1_DEPENDENCIES) 
 	@rm -f nnc_exceptions1$(EXEEXT)
-	$(nnc_exceptions1_LINK) $(nnc_exceptions1_OBJECTS) $(nnc_exceptions1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_exceptions1_LINK) $(nnc_exceptions1_OBJECTS) $(nnc_exceptions1_LDADD) $(LIBS)
 nnc_exceptions3$(EXEEXT): $(nnc_exceptions3_OBJECTS) $(nnc_exceptions3_DEPENDENCIES) 
 	@rm -f nnc_exceptions3$(EXEEXT)
-	$(nnc_exceptions3_LINK) $(nnc_exceptions3_OBJECTS) $(nnc_exceptions3_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_exceptions3_LINK) $(nnc_exceptions3_OBJECTS) $(nnc_exceptions3_LDADD) $(LIBS)
 nnc_expandspacedim1$(EXEEXT): $(nnc_expandspacedim1_OBJECTS) $(nnc_expandspacedim1_DEPENDENCIES) 
 	@rm -f nnc_expandspacedim1$(EXEEXT)
-	$(nnc_expandspacedim1_LINK) $(nnc_expandspacedim1_OBJECTS) $(nnc_expandspacedim1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_expandspacedim1_LINK) $(nnc_expandspacedim1_OBJECTS) $(nnc_expandspacedim1_LDADD) $(LIBS)
 nnc_foldspacedims1$(EXEEXT): $(nnc_foldspacedims1_OBJECTS) $(nnc_foldspacedims1_DEPENDENCIES) 
 	@rm -f nnc_foldspacedims1$(EXEEXT)
-	$(nnc_foldspacedims1_LINK) $(nnc_foldspacedims1_OBJECTS) $(nnc_foldspacedims1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_foldspacedims1_LINK) $(nnc_foldspacedims1_OBJECTS) $(nnc_foldspacedims1_LDADD) $(LIBS)
 nnc_frombdshape1$(EXEEXT): $(nnc_frombdshape1_OBJECTS) $(nnc_frombdshape1_DEPENDENCIES) 
 	@rm -f nnc_frombdshape1$(EXEEXT)
-	$(nnc_frombdshape1_LINK) $(nnc_frombdshape1_OBJECTS) $(nnc_frombdshape1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_frombdshape1_LINK) $(nnc_frombdshape1_OBJECTS) $(nnc_frombdshape1_LDADD) $(LIBS)
 nnc_frombox1$(EXEEXT): $(nnc_frombox1_OBJECTS) $(nnc_frombox1_DEPENDENCIES) 
 	@rm -f nnc_frombox1$(EXEEXT)
-	$(nnc_frombox1_LINK) $(nnc_frombox1_OBJECTS) $(nnc_frombox1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_frombox1_LINK) $(nnc_frombox1_OBJECTS) $(nnc_frombox1_LDADD) $(LIBS)
 nnc_fromgrid1$(EXEEXT): $(nnc_fromgrid1_OBJECTS) $(nnc_fromgrid1_DEPENDENCIES) 
 	@rm -f nnc_fromgrid1$(EXEEXT)
-	$(nnc_fromgrid1_LINK) $(nnc_fromgrid1_OBJECTS) $(nnc_fromgrid1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_fromgrid1_LINK) $(nnc_fromgrid1_OBJECTS) $(nnc_fromgrid1_LDADD) $(LIBS)
 nnc_fromoctagonalshape1$(EXEEXT): $(nnc_fromoctagonalshape1_OBJECTS) $(nnc_fromoctagonalshape1_DEPENDENCIES) 
 	@rm -f nnc_fromoctagonalshape1$(EXEEXT)
-	$(nnc_fromoctagonalshape1_LINK) $(nnc_fromoctagonalshape1_OBJECTS) $(nnc_fromoctagonalshape1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_fromoctagonalshape1_LINK) $(nnc_fromoctagonalshape1_OBJECTS) $(nnc_fromoctagonalshape1_LDADD) $(LIBS)
 nnc_generalizedaffineimage1$(EXEEXT): $(nnc_generalizedaffineimage1_OBJECTS) $(nnc_generalizedaffineimage1_DEPENDENCIES) 
 	@rm -f nnc_generalizedaffineimage1$(EXEEXT)
-	$(nnc_generalizedaffineimage1_LINK) $(nnc_generalizedaffineimage1_OBJECTS) $(nnc_generalizedaffineimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_generalizedaffineimage1_LINK) $(nnc_generalizedaffineimage1_OBJECTS) $(nnc_generalizedaffineimage1_LDADD) $(LIBS)
 nnc_generalizedaffinepreimage1$(EXEEXT): $(nnc_generalizedaffinepreimage1_OBJECTS) $(nnc_generalizedaffinepreimage1_DEPENDENCIES) 
 	@rm -f nnc_generalizedaffinepreimage1$(EXEEXT)
-	$(nnc_generalizedaffinepreimage1_LINK) $(nnc_generalizedaffinepreimage1_OBJECTS) $(nnc_generalizedaffinepreimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_generalizedaffinepreimage1_LINK) $(nnc_generalizedaffinepreimage1_OBJECTS) $(nnc_generalizedaffinepreimage1_LDADD) $(LIBS)
 nnc_generators1$(EXEEXT): $(nnc_generators1_OBJECTS) $(nnc_generators1_DEPENDENCIES) 
 	@rm -f nnc_generators1$(EXEEXT)
-	$(nnc_generators1_LINK) $(nnc_generators1_OBJECTS) $(nnc_generators1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_generators1_LINK) $(nnc_generators1_OBJECTS) $(nnc_generators1_LDADD) $(LIBS)
 nnc_geomcovers1$(EXEEXT): $(nnc_geomcovers1_OBJECTS) $(nnc_geomcovers1_DEPENDENCIES) 
 	@rm -f nnc_geomcovers1$(EXEEXT)
-	$(nnc_geomcovers1_LINK) $(nnc_geomcovers1_OBJECTS) $(nnc_geomcovers1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_geomcovers1_LINK) $(nnc_geomcovers1_OBJECTS) $(nnc_geomcovers1_LDADD) $(LIBS)
 nnc_h79widening1$(EXEEXT): $(nnc_h79widening1_OBJECTS) $(nnc_h79widening1_DEPENDENCIES) 
 	@rm -f nnc_h79widening1$(EXEEXT)
-	$(nnc_h79widening1_LINK) $(nnc_h79widening1_OBJECTS) $(nnc_h79widening1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_h79widening1_LINK) $(nnc_h79widening1_OBJECTS) $(nnc_h79widening1_LDADD) $(LIBS)
 nnc_intersection1$(EXEEXT): $(nnc_intersection1_OBJECTS) $(nnc_intersection1_DEPENDENCIES) 
 	@rm -f nnc_intersection1$(EXEEXT)
-	$(nnc_intersection1_LINK) $(nnc_intersection1_OBJECTS) $(nnc_intersection1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_intersection1_LINK) $(nnc_intersection1_OBJECTS) $(nnc_intersection1_LDADD) $(LIBS)
 nnc_limitedbhrz03extrapolation1$(EXEEXT): $(nnc_limitedbhrz03extrapolation1_OBJECTS) $(nnc_limitedbhrz03extrapolation1_DEPENDENCIES) 
 	@rm -f nnc_limitedbhrz03extrapolation1$(EXEEXT)
-	$(nnc_limitedbhrz03extrapolation1_LINK) $(nnc_limitedbhrz03extrapolation1_OBJECTS) $(nnc_limitedbhrz03extrapolation1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_limitedbhrz03extrapolation1_LINK) $(nnc_limitedbhrz03extrapolation1_OBJECTS) $(nnc_limitedbhrz03extrapolation1_LDADD) $(LIBS)
 nnc_limitedh79extrapolation1$(EXEEXT): $(nnc_limitedh79extrapolation1_OBJECTS) $(nnc_limitedh79extrapolation1_DEPENDENCIES) 
 	@rm -f nnc_limitedh79extrapolation1$(EXEEXT)
-	$(nnc_limitedh79extrapolation1_LINK) $(nnc_limitedh79extrapolation1_OBJECTS) $(nnc_limitedh79extrapolation1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_limitedh79extrapolation1_LINK) $(nnc_limitedh79extrapolation1_OBJECTS) $(nnc_limitedh79extrapolation1_LDADD) $(LIBS)
 nnc_linearpartition1$(EXEEXT): $(nnc_linearpartition1_OBJECTS) $(nnc_linearpartition1_DEPENDENCIES) 
 	@rm -f nnc_linearpartition1$(EXEEXT)
-	$(nnc_linearpartition1_LINK) $(nnc_linearpartition1_OBJECTS) $(nnc_linearpartition1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_linearpartition1_LINK) $(nnc_linearpartition1_OBJECTS) $(nnc_linearpartition1_LDADD) $(LIBS)
 nnc_mapspacedims1$(EXEEXT): $(nnc_mapspacedims1_OBJECTS) $(nnc_mapspacedims1_DEPENDENCIES) 
 	@rm -f nnc_mapspacedims1$(EXEEXT)
-	$(nnc_mapspacedims1_LINK) $(nnc_mapspacedims1_OBJECTS) $(nnc_mapspacedims1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_mapspacedims1_LINK) $(nnc_mapspacedims1_OBJECTS) $(nnc_mapspacedims1_LDADD) $(LIBS)
 nnc_max_min1$(EXEEXT): $(nnc_max_min1_OBJECTS) $(nnc_max_min1_DEPENDENCIES) 
 	@rm -f nnc_max_min1$(EXEEXT)
-	$(nnc_max_min1_LINK) $(nnc_max_min1_OBJECTS) $(nnc_max_min1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_max_min1_LINK) $(nnc_max_min1_OBJECTS) $(nnc_max_min1_LDADD) $(LIBS)
 nnc_mc91$(EXEEXT): $(nnc_mc91_OBJECTS) $(nnc_mc91_DEPENDENCIES) 
 	@rm -f nnc_mc91$(EXEEXT)
-	$(nnc_mc91_LINK) $(nnc_mc91_OBJECTS) $(nnc_mc91_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_mc91_LINK) $(nnc_mc91_OBJECTS) $(nnc_mc91_LDADD) $(LIBS)
 nnc_membytes1$(EXEEXT): $(nnc_membytes1_OBJECTS) $(nnc_membytes1_DEPENDENCIES) 
 	@rm -f nnc_membytes1$(EXEEXT)
-	$(nnc_membytes1_LINK) $(nnc_membytes1_OBJECTS) $(nnc_membytes1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_membytes1_LINK) $(nnc_membytes1_OBJECTS) $(nnc_membytes1_LDADD) $(LIBS)
 nnc_minconstraints1$(EXEEXT): $(nnc_minconstraints1_OBJECTS) $(nnc_minconstraints1_DEPENDENCIES) 
 	@rm -f nnc_minconstraints1$(EXEEXT)
-	$(nnc_minconstraints1_LINK) $(nnc_minconstraints1_OBJECTS) $(nnc_minconstraints1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_minconstraints1_LINK) $(nnc_minconstraints1_OBJECTS) $(nnc_minconstraints1_LDADD) $(LIBS)
 nnc_mingenerators1$(EXEEXT): $(nnc_mingenerators1_OBJECTS) $(nnc_mingenerators1_DEPENDENCIES) 
 	@rm -f nnc_mingenerators1$(EXEEXT)
-	$(nnc_mingenerators1_LINK) $(nnc_mingenerators1_OBJECTS) $(nnc_mingenerators1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_mingenerators1_LINK) $(nnc_mingenerators1_OBJECTS) $(nnc_mingenerators1_LDADD) $(LIBS)
 nnc_onepoint$(EXEEXT): $(nnc_onepoint_OBJECTS) $(nnc_onepoint_DEPENDENCIES) 
 	@rm -f nnc_onepoint$(EXEEXT)
-	$(nnc_onepoint_LINK) $(nnc_onepoint_OBJECTS) $(nnc_onepoint_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_onepoint_LINK) $(nnc_onepoint_OBJECTS) $(nnc_onepoint_LDADD) $(LIBS)
 nnc_permute$(EXEEXT): $(nnc_permute_OBJECTS) $(nnc_permute_DEPENDENCIES) 
 	@rm -f nnc_permute$(EXEEXT)
-	$(nnc_permute_LINK) $(nnc_permute_OBJECTS) $(nnc_permute_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_permute_LINK) $(nnc_permute_OBJECTS) $(nnc_permute_LDADD) $(LIBS)
 nnc_polydifference1$(EXEEXT): $(nnc_polydifference1_OBJECTS) $(nnc_polydifference1_DEPENDENCIES) 
 	@rm -f nnc_polydifference1$(EXEEXT)
-	$(nnc_polydifference1_LINK) $(nnc_polydifference1_OBJECTS) $(nnc_polydifference1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_polydifference1_LINK) $(nnc_polydifference1_OBJECTS) $(nnc_polydifference1_LDADD) $(LIBS)
 nnc_polyhull1$(EXEEXT): $(nnc_polyhull1_OBJECTS) $(nnc_polyhull1_DEPENDENCIES) 
 	@rm -f nnc_polyhull1$(EXEEXT)
-	$(nnc_polyhull1_LINK) $(nnc_polyhull1_OBJECTS) $(nnc_polyhull1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_polyhull1_LINK) $(nnc_polyhull1_OBJECTS) $(nnc_polyhull1_LDADD) $(LIBS)
 nnc_polyhullifexact1$(EXEEXT): $(nnc_polyhullifexact1_OBJECTS) $(nnc_polyhullifexact1_DEPENDENCIES) 
 	@rm -f nnc_polyhullifexact1$(EXEEXT)
-	$(nnc_polyhullifexact1_LINK) $(nnc_polyhullifexact1_OBJECTS) $(nnc_polyhullifexact1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_polyhullifexact1_LINK) $(nnc_polyhullifexact1_OBJECTS) $(nnc_polyhullifexact1_LDADD) $(LIBS)
 nnc_randphull1$(EXEEXT): $(nnc_randphull1_OBJECTS) $(nnc_randphull1_DEPENDENCIES) 
 	@rm -f nnc_randphull1$(EXEEXT)
-	$(nnc_randphull1_LINK) $(nnc_randphull1_OBJECTS) $(nnc_randphull1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_randphull1_LINK) $(nnc_randphull1_OBJECTS) $(nnc_randphull1_LDADD) $(LIBS)
 nnc_relations1$(EXEEXT): $(nnc_relations1_OBJECTS) $(nnc_relations1_DEPENDENCIES) 
 	@rm -f nnc_relations1$(EXEEXT)
-	$(nnc_relations1_LINK) $(nnc_relations1_OBJECTS) $(nnc_relations1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_relations1_LINK) $(nnc_relations1_OBJECTS) $(nnc_relations1_LDADD) $(LIBS)
 nnc_relations2$(EXEEXT): $(nnc_relations2_OBJECTS) $(nnc_relations2_DEPENDENCIES) 
 	@rm -f nnc_relations2$(EXEEXT)
-	$(nnc_relations2_LINK) $(nnc_relations2_OBJECTS) $(nnc_relations2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_relations2_LINK) $(nnc_relations2_OBJECTS) $(nnc_relations2_LDADD) $(LIBS)
 nnc_removespacedims1$(EXEEXT): $(nnc_removespacedims1_OBJECTS) $(nnc_removespacedims1_DEPENDENCIES) 
 	@rm -f nnc_removespacedims1$(EXEEXT)
-	$(nnc_removespacedims1_LINK) $(nnc_removespacedims1_OBJECTS) $(nnc_removespacedims1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_removespacedims1_LINK) $(nnc_removespacedims1_OBJECTS) $(nnc_removespacedims1_LDADD) $(LIBS)
 nnc_simplifyusingcontext1$(EXEEXT): $(nnc_simplifyusingcontext1_OBJECTS) $(nnc_simplifyusingcontext1_DEPENDENCIES) 
 	@rm -f nnc_simplifyusingcontext1$(EXEEXT)
-	$(nnc_simplifyusingcontext1_LINK) $(nnc_simplifyusingcontext1_OBJECTS) $(nnc_simplifyusingcontext1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_simplifyusingcontext1_LINK) $(nnc_simplifyusingcontext1_OBJECTS) $(nnc_simplifyusingcontext1_LDADD) $(LIBS)
 nnc_smm1$(EXEEXT): $(nnc_smm1_OBJECTS) $(nnc_smm1_DEPENDENCIES) 
 	@rm -f nnc_smm1$(EXEEXT)
-	$(nnc_smm1_LINK) $(nnc_smm1_OBJECTS) $(nnc_smm1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_smm1_LINK) $(nnc_smm1_OBJECTS) $(nnc_smm1_LDADD) $(LIBS)
 nnc_timeelapse1$(EXEEXT): $(nnc_timeelapse1_OBJECTS) $(nnc_timeelapse1_DEPENDENCIES) 
 	@rm -f nnc_timeelapse1$(EXEEXT)
-	$(nnc_timeelapse1_LINK) $(nnc_timeelapse1_OBJECTS) $(nnc_timeelapse1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_timeelapse1_LINK) $(nnc_timeelapse1_OBJECTS) $(nnc_timeelapse1_LDADD) $(LIBS)
 nnc_unconstrain1$(EXEEXT): $(nnc_unconstrain1_OBJECTS) $(nnc_unconstrain1_DEPENDENCIES) 
 	@rm -f nnc_unconstrain1$(EXEEXT)
-	$(nnc_unconstrain1_LINK) $(nnc_unconstrain1_OBJECTS) $(nnc_unconstrain1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_unconstrain1_LINK) $(nnc_unconstrain1_OBJECTS) $(nnc_unconstrain1_LDADD) $(LIBS)
 nnc_universe1$(EXEEXT): $(nnc_universe1_OBJECTS) $(nnc_universe1_DEPENDENCIES) 
 	@rm -f nnc_universe1$(EXEEXT)
-	$(nnc_universe1_LINK) $(nnc_universe1_OBJECTS) $(nnc_universe1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_universe1_LINK) $(nnc_universe1_OBJECTS) $(nnc_universe1_LDADD) $(LIBS)
+nnc_wrap1$(EXEEXT): $(nnc_wrap1_OBJECTS) $(nnc_wrap1_DEPENDENCIES) 
+	@rm -f nnc_wrap1$(EXEEXT)
+	$(AM_V_CXXLD)$(nnc_wrap1_LINK) $(nnc_wrap1_OBJECTS) $(nnc_wrap1_LDADD) $(LIBS)
+nnc_wrap2$(EXEEXT): $(nnc_wrap2_OBJECTS) $(nnc_wrap2_DEPENDENCIES) 
+	@rm -f nnc_wrap2$(EXEEXT)
+	$(AM_V_CXXLD)$(nnc_wrap2_LINK) $(nnc_wrap2_OBJECTS) $(nnc_wrap2_LDADD) $(LIBS)
 nnc_writepolyhedron1$(EXEEXT): $(nnc_writepolyhedron1_OBJECTS) $(nnc_writepolyhedron1_DEPENDENCIES) 
 	@rm -f nnc_writepolyhedron1$(EXEEXT)
-	$(nnc_writepolyhedron1_LINK) $(nnc_writepolyhedron1_OBJECTS) $(nnc_writepolyhedron1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(nnc_writepolyhedron1_LINK) $(nnc_writepolyhedron1_OBJECTS) $(nnc_writepolyhedron1_LDADD) $(LIBS)
 nncminimize1$(EXEEXT): $(nncminimize1_OBJECTS) $(nncminimize1_DEPENDENCIES) 
 	@rm -f nncminimize1$(EXEEXT)
-	$(CXXLINK) $(nncminimize1_OBJECTS) $(nncminimize1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(nncminimize1_OBJECTS) $(nncminimize1_LDADD) $(LIBS)
 nncminimize2$(EXEEXT): $(nncminimize2_OBJECTS) $(nncminimize2_DEPENDENCIES) 
 	@rm -f nncminimize2$(EXEEXT)
-	$(CXXLINK) $(nncminimize2_OBJECTS) $(nncminimize2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(nncminimize2_OBJECTS) $(nncminimize2_LDADD) $(LIBS)
 numberinput1$(EXEEXT): $(numberinput1_OBJECTS) $(numberinput1_DEPENDENCIES) 
 	@rm -f numberinput1$(EXEEXT)
-	$(CXXLINK) $(numberinput1_OBJECTS) $(numberinput1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(numberinput1_OBJECTS) $(numberinput1_LDADD) $(LIBS)
 onepoint$(EXEEXT): $(onepoint_OBJECTS) $(onepoint_DEPENDENCIES) 
 	@rm -f onepoint$(EXEEXT)
-	$(CXXLINK) $(onepoint_OBJECTS) $(onepoint_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(onepoint_OBJECTS) $(onepoint_LDADD) $(LIBS)
 permute$(EXEEXT): $(permute_OBJECTS) $(permute_DEPENDENCIES) 
 	@rm -f permute$(EXEEXT)
-	$(CXXLINK) $(permute_OBJECTS) $(permute_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(permute_OBJECTS) $(permute_LDADD) $(LIBS)
 polydifference1$(EXEEXT): $(polydifference1_OBJECTS) $(polydifference1_DEPENDENCIES) 
 	@rm -f polydifference1$(EXEEXT)
-	$(CXXLINK) $(polydifference1_OBJECTS) $(polydifference1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(polydifference1_OBJECTS) $(polydifference1_LDADD) $(LIBS)
 polydifference2$(EXEEXT): $(polydifference2_OBJECTS) $(polydifference2_DEPENDENCIES) 
 	@rm -f polydifference2$(EXEEXT)
-	$(CXXLINK) $(polydifference2_OBJECTS) $(polydifference2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(polydifference2_OBJECTS) $(polydifference2_LDADD) $(LIBS)
 polyhull1$(EXEEXT): $(polyhull1_OBJECTS) $(polyhull1_DEPENDENCIES) 
 	@rm -f polyhull1$(EXEEXT)
-	$(CXXLINK) $(polyhull1_OBJECTS) $(polyhull1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(polyhull1_OBJECTS) $(polyhull1_LDADD) $(LIBS)
 polyhull2$(EXEEXT): $(polyhull2_OBJECTS) $(polyhull2_DEPENDENCIES) 
 	@rm -f polyhull2$(EXEEXT)
-	$(CXXLINK) $(polyhull2_OBJECTS) $(polyhull2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(polyhull2_OBJECTS) $(polyhull2_LDADD) $(LIBS)
 polyhullifexact1$(EXEEXT): $(polyhullifexact1_OBJECTS) $(polyhullifexact1_DEPENDENCIES) 
 	@rm -f polyhullifexact1$(EXEEXT)
-	$(CXXLINK) $(polyhullifexact1_OBJECTS) $(polyhullifexact1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(polyhullifexact1_OBJECTS) $(polyhullifexact1_LDADD) $(LIBS)
 polyhullifexact2$(EXEEXT): $(polyhullifexact2_OBJECTS) $(polyhullifexact2_DEPENDENCIES) 
 	@rm -f polyhullifexact2$(EXEEXT)
-	$(CXXLINK) $(polyhullifexact2_OBJECTS) $(polyhullifexact2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(polyhullifexact2_OBJECTS) $(polyhullifexact2_LDADD) $(LIBS)
 randphull1$(EXEEXT): $(randphull1_OBJECTS) $(randphull1_DEPENDENCIES) 
 	@rm -f randphull1$(EXEEXT)
-	$(CXXLINK) $(randphull1_OBJECTS) $(randphull1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(randphull1_OBJECTS) $(randphull1_LDADD) $(LIBS)
 refinewithcongruence1$(EXEEXT): $(refinewithcongruence1_OBJECTS) $(refinewithcongruence1_DEPENDENCIES) 
 	@rm -f refinewithcongruence1$(EXEEXT)
-	$(CXXLINK) $(refinewithcongruence1_OBJECTS) $(refinewithcongruence1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(refinewithcongruence1_OBJECTS) $(refinewithcongruence1_LDADD) $(LIBS)
 refinewithcongruences1$(EXEEXT): $(refinewithcongruences1_OBJECTS) $(refinewithcongruences1_DEPENDENCIES) 
 	@rm -f refinewithcongruences1$(EXEEXT)
-	$(CXXLINK) $(refinewithcongruences1_OBJECTS) $(refinewithcongruences1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(refinewithcongruences1_OBJECTS) $(refinewithcongruences1_LDADD) $(LIBS)
 refinewithconstraint1$(EXEEXT): $(refinewithconstraint1_OBJECTS) $(refinewithconstraint1_DEPENDENCIES) 
 	@rm -f refinewithconstraint1$(EXEEXT)
-	$(CXXLINK) $(refinewithconstraint1_OBJECTS) $(refinewithconstraint1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(refinewithconstraint1_OBJECTS) $(refinewithconstraint1_LDADD) $(LIBS)
 refinewithconstraints1$(EXEEXT): $(refinewithconstraints1_OBJECTS) $(refinewithconstraints1_DEPENDENCIES) 
 	@rm -f refinewithconstraints1$(EXEEXT)
-	$(CXXLINK) $(refinewithconstraints1_OBJECTS) $(refinewithconstraints1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(refinewithconstraints1_OBJECTS) $(refinewithconstraints1_LDADD) $(LIBS)
 relations1$(EXEEXT): $(relations1_OBJECTS) $(relations1_DEPENDENCIES) 
 	@rm -f relations1$(EXEEXT)
-	$(CXXLINK) $(relations1_OBJECTS) $(relations1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(relations1_OBJECTS) $(relations1_LDADD) $(LIBS)
 relations2$(EXEEXT): $(relations2_OBJECTS) $(relations2_DEPENDENCIES) 
 	@rm -f relations2$(EXEEXT)
-	$(CXXLINK) $(relations2_OBJECTS) $(relations2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(relations2_OBJECTS) $(relations2_LDADD) $(LIBS)
 relations3$(EXEEXT): $(relations3_OBJECTS) $(relations3_DEPENDENCIES) 
 	@rm -f relations3$(EXEEXT)
-	$(CXXLINK) $(relations3_OBJECTS) $(relations3_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(relations3_OBJECTS) $(relations3_LDADD) $(LIBS)
 removespacedims1$(EXEEXT): $(removespacedims1_OBJECTS) $(removespacedims1_DEPENDENCIES) 
 	@rm -f removespacedims1$(EXEEXT)
-	$(CXXLINK) $(removespacedims1_OBJECTS) $(removespacedims1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(removespacedims1_OBJECTS) $(removespacedims1_LDADD) $(LIBS)
 removespacedims2$(EXEEXT): $(removespacedims2_OBJECTS) $(removespacedims2_DEPENDENCIES) 
 	@rm -f removespacedims2$(EXEEXT)
-	$(CXXLINK) $(removespacedims2_OBJECTS) $(removespacedims2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(removespacedims2_OBJECTS) $(removespacedims2_LDADD) $(LIBS)
 simplifyusingcontext1$(EXEEXT): $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_DEPENDENCIES) 
 	@rm -f simplifyusingcontext1$(EXEEXT)
-	$(CXXLINK) $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_LDADD) $(LIBS)
 smm1$(EXEEXT): $(smm1_OBJECTS) $(smm1_DEPENDENCIES) 
 	@rm -f smm1$(EXEEXT)
-	$(CXXLINK) $(smm1_OBJECTS) $(smm1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(smm1_OBJECTS) $(smm1_LDADD) $(LIBS)
+termination1$(EXEEXT): $(termination1_OBJECTS) $(termination1_DEPENDENCIES) 
+	@rm -f termination1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(termination1_OBJECTS) $(termination1_LDADD) $(LIBS)
+termination2$(EXEEXT): $(termination2_OBJECTS) $(termination2_DEPENDENCIES) 
+	@rm -f termination2$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(termination2_OBJECTS) $(termination2_LDADD) $(LIBS)
 timeelapse1$(EXEEXT): $(timeelapse1_OBJECTS) $(timeelapse1_DEPENDENCIES) 
 	@rm -f timeelapse1$(EXEEXT)
-	$(CXXLINK) $(timeelapse1_OBJECTS) $(timeelapse1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(timeelapse1_OBJECTS) $(timeelapse1_LDADD) $(LIBS)
 timeelapse2$(EXEEXT): $(timeelapse2_OBJECTS) $(timeelapse2_DEPENDENCIES) 
 	@rm -f timeelapse2$(EXEEXT)
-	$(CXXLINK) $(timeelapse2_OBJECTS) $(timeelapse2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(timeelapse2_OBJECTS) $(timeelapse2_LDADD) $(LIBS)
 topclosed1$(EXEEXT): $(topclosed1_OBJECTS) $(topclosed1_DEPENDENCIES) 
 	@rm -f topclosed1$(EXEEXT)
-	$(CXXLINK) $(topclosed1_OBJECTS) $(topclosed1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(topclosed1_OBJECTS) $(topclosed1_LDADD) $(LIBS)
 topclosure1$(EXEEXT): $(topclosure1_OBJECTS) $(topclosure1_DEPENDENCIES) 
 	@rm -f topclosure1$(EXEEXT)
-	$(CXXLINK) $(topclosure1_OBJECTS) $(topclosure1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(topclosure1_OBJECTS) $(topclosure1_LDADD) $(LIBS)
 unconstrain1$(EXEEXT): $(unconstrain1_OBJECTS) $(unconstrain1_DEPENDENCIES) 
 	@rm -f unconstrain1$(EXEEXT)
-	$(CXXLINK) $(unconstrain1_OBJECTS) $(unconstrain1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(unconstrain1_OBJECTS) $(unconstrain1_LDADD) $(LIBS)
 universe1$(EXEEXT): $(universe1_OBJECTS) $(universe1_DEPENDENCIES) 
 	@rm -f universe1$(EXEEXT)
-	$(CXXLINK) $(universe1_OBJECTS) $(universe1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(universe1_OBJECTS) $(universe1_LDADD) $(LIBS)
 universe2$(EXEEXT): $(universe2_OBJECTS) $(universe2_DEPENDENCIES) 
 	@rm -f universe2$(EXEEXT)
-	$(CXXLINK) $(universe2_OBJECTS) $(universe2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(universe2_OBJECTS) $(universe2_LDADD) $(LIBS)
 variablesset1$(EXEEXT): $(variablesset1_OBJECTS) $(variablesset1_DEPENDENCIES) 
 	@rm -f variablesset1$(EXEEXT)
-	$(CXXLINK) $(variablesset1_OBJECTS) $(variablesset1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(variablesset1_OBJECTS) $(variablesset1_LDADD) $(LIBS)
 watchdog1$(EXEEXT): $(watchdog1_OBJECTS) $(watchdog1_DEPENDENCIES) 
 	@rm -f watchdog1$(EXEEXT)
-	$(CXXLINK) $(watchdog1_OBJECTS) $(watchdog1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(watchdog1_OBJECTS) $(watchdog1_LDADD) $(LIBS)
+weightwatch1$(EXEEXT): $(weightwatch1_OBJECTS) $(weightwatch1_DEPENDENCIES) 
+	@rm -f weightwatch1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(weightwatch1_OBJECTS) $(weightwatch1_LDADD) $(LIBS)
+wrap1$(EXEEXT): $(wrap1_OBJECTS) $(wrap1_DEPENDENCIES) 
+	@rm -f wrap1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(wrap1_OBJECTS) $(wrap1_LDADD) $(LIBS)
+wrap2$(EXEEXT): $(wrap2_OBJECTS) $(wrap2_DEPENDENCIES) 
+	@rm -f wrap2$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(wrap2_OBJECTS) $(wrap2_LDADD) $(LIBS)
 writeconsys1$(EXEEXT): $(writeconsys1_OBJECTS) $(writeconsys1_DEPENDENCIES) 
 	@rm -f writeconsys1$(EXEEXT)
-	$(CXXLINK) $(writeconsys1_OBJECTS) $(writeconsys1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(writeconsys1_OBJECTS) $(writeconsys1_LDADD) $(LIBS)
 writegensys1$(EXEEXT): $(writegensys1_OBJECTS) $(writegensys1_DEPENDENCIES) 
 	@rm -f writegensys1$(EXEEXT)
-	$(CXXLINK) $(writegensys1_OBJECTS) $(writegensys1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(writegensys1_OBJECTS) $(writegensys1_LDADD) $(LIBS)
 writepolyhedron1$(EXEEXT): $(writepolyhedron1_OBJECTS) $(writepolyhedron1_DEPENDENCIES) 
 	@rm -f writepolyhedron1$(EXEEXT)
-	$(CXXLINK) $(writepolyhedron1_OBJECTS) $(writepolyhedron1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(writepolyhedron1_OBJECTS) $(writepolyhedron1_LDADD) $(LIBS)
 writepolyhedron2$(EXEEXT): $(writepolyhedron2_OBJECTS) $(writepolyhedron2_DEPENDENCIES) 
 	@rm -f writepolyhedron2$(EXEEXT)
-	$(CXXLINK) $(writepolyhedron2_OBJECTS) $(writepolyhedron2_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(writepolyhedron2_OBJECTS) $(writepolyhedron2_LDADD) $(LIBS)
 writerelation1$(EXEEXT): $(writerelation1_OBJECTS) $(writerelation1_DEPENDENCIES) 
 	@rm -f writerelation1$(EXEEXT)
-	$(CXXLINK) $(writerelation1_OBJECTS) $(writerelation1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(writerelation1_OBJECTS) $(writerelation1_LDADD) $(LIBS)
 writevariable1$(EXEEXT): $(writevariable1_OBJECTS) $(writevariable1_DEPENDENCIES) 
 	@rm -f writevariable1$(EXEEXT)
-	$(CXXLINK) $(writevariable1_OBJECTS) $(writevariable1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(writevariable1_OBJECTS) $(writevariable1_LDADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -3258,6 +3481,8 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/containsintegerpoint1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/disjoint1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/disjoint2.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dropsomenonintegerpoints1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dropsomenonintegerpoints2.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dualhypercubes.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/empty1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/equals1.Po at am__quote@
@@ -3268,6 +3493,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/expandspacedim2.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/foldspacedims1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/foldspacedims2.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/frequency1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/frombdshape1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/frombox1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/frombox2.Po at am__quote@
@@ -3329,6 +3555,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/nnc_contains1-contains1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/nnc_containsintegerpoint1-containsintegerpoint1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/nnc_disjoint1-disjoint1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/nnc_empty1-empty1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/nnc_equals1-equals1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/nnc_exceptions1-exceptions1.Po at am__quote@
@@ -3368,6 +3595,8 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/nnc_timeelapse1-timeelapse1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/nnc_unconstrain1-unconstrain1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/nnc_universe1-universe1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/nnc_wrap1-wrap1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/nnc_wrap2-wrap2.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/nnc_writepolyhedron1-writepolyhedron1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/nncminimize1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/nncminimize2.Po at am__quote@
@@ -3392,6 +3621,8 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/removespacedims2.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/simplifyusingcontext1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/smm1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/termination1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/termination2.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/timeelapse1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/timeelapse2.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/topclosed1.Po at am__quote@
@@ -3401,6 +3632,9 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/universe2.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/variablesset1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/watchdog1-watchdog1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/weightwatch1-weightwatch1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/wrap1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/wrap2.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/writeconsys1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/writegensys1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/writepolyhedron1.Po at am__quote@
@@ -3409,1006 +3643,1213 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/writevariable1.Po at am__quote@
 
 .cc.o:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
- at am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
 
 nnc_addcongruence1-addcongruence1.o: addcongruence1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addcongruence1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addcongruence1-addcongruence1.o -MD -MP -MF $(DEPDIR)/nnc_addcongruence1-addcongruence1.Tpo -c -o nnc_addcongruence1-addcongruence1.o `test -f 'addcongruence1.cc' || echo '$(srcdir)/'`addcongruence1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_addcongruence1-addcongruence1.Tpo $(DEPDIR)/nnc_addcongruence1-addcongruence1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addcongruence1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addcongruence1-addcongruence1.o -MD -MP -MF $(DEPDIR)/nnc_addcongruence1-addcongruence1.Tpo -c -o nnc_addcongruence1-addcongruence1.o `test -f 'addcongruence1.cc' || echo '$(srcdir)/'`addcongruence1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_addcongruence1-addcongruence1.Tpo $(DEPDIR)/nnc_addcongruence1-addcongruence1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='addcongruence1.cc' object='nnc_addcongruence1-addcongruence1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addcongruence1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addcongruence1-addcongruence1.o `test -f 'addcongruence1.cc' || echo '$(srcdir)/'`addcongruence1.cc
 
 nnc_addcongruence1-addcongruence1.obj: addcongruence1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addcongruence1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addcongruence1-addcongruence1.obj -MD -MP -MF $(DEPDIR)/nnc_addcongruence1-addcongruence1.Tpo -c -o nnc_addcongruence1-addcongruence1.obj `if test -f 'addcongruence1.cc'; then $(CYGPATH_W) 'addcongruence1.cc'; else $(CYGPATH_W) '$(srcdir)/addcongruence1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_addcongruence1-addcongruence1.Tpo $(DEPDIR)/nnc_addcongruence1-addcongruence1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addcongruence1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addcongruence1-addcongruence1.obj -MD -MP -MF $(DEPDIR)/nnc_addcongruence1-addcongruence1.Tpo -c -o nnc_addcongruence1-addcongruence1.obj `if test -f 'addcongruence1.cc'; then $(CYGPATH_W) 'addcongruence1.cc'; else $(CYGPATH_W) '$(srcdir)/addcongruence1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_addcongruence1-addcongruence1.Tpo $(DEPDIR)/nnc_addcongruence1-addcongruence1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='addcongruence1.cc' object='nnc_addcongruence1-addcongruence1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addcongruence1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addcongruence1-addcongruence1.obj `if test -f 'addcongruence1.cc'; then $(CYGPATH_W) 'addcongruence1.cc'; else $(CYGPATH_W) '$(srcdir)/addcongruence1.cc'; fi`
 
 nnc_addcongruences1-addcongruences1.o: addcongruences1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addcongruences1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addcongruences1-addcongruences1.o -MD -MP -MF $(DEPDIR)/nnc_addcongruences1-addcongruences1.Tpo -c -o nnc_addcongruences1-addcongruences1.o `test -f 'addcongruences1.cc' || echo '$(srcdir)/'`addcongruences1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_addcongruences1-addcongruences1.Tpo $(DEPDIR)/nnc_addcongruences1-addcongruences1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addcongruences1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addcongruences1-addcongruences1.o -MD -MP -MF $(DEPDIR)/nnc_addcongruences1-addcongruences1.Tpo -c -o nnc_addcongruences1-addcongruences1.o `test -f 'addcongruences1.cc' || echo '$(srcdir)/'`addcongruences1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_addcongruences1-addcongruences1.Tpo $(DEPDIR)/nnc_addcongruences1-addcongruences1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='addcongruences1.cc' object='nnc_addcongruences1-addcongruences1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addcongruences1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addcongruences1-addcongruences1.o `test -f 'addcongruences1.cc' || echo '$(srcdir)/'`addcongruences1.cc
 
 nnc_addcongruences1-addcongruences1.obj: addcongruences1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addcongruences1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addcongruences1-addcongruences1.obj -MD -MP -MF $(DEPDIR)/nnc_addcongruences1-addcongruences1.Tpo -c -o nnc_addcongruences1-addcongruences1.obj `if test -f 'addcongruences1.cc'; then $(CYGPATH_W) 'addcongruences1.cc'; else $(CYGPATH_W) '$(srcdir)/addcongruences1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_addcongruences1-addcongruences1.Tpo $(DEPDIR)/nnc_addcongruences1-addcongruences1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addcongruences1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addcongruences1-addcongruences1.obj -MD -MP -MF $(DEPDIR)/nnc_addcongruences1-addcongruences1.Tpo -c -o nnc_addcongruences1-addcongruences1.obj `if test -f 'addcongruences1.cc'; then $(CYGPATH_W) 'addcongruences1.cc'; else $(CYGPATH_W) '$(srcdir)/addcongruences1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_addcongruences1-addcongruences1.Tpo $(DEPDIR)/nnc_addcongruences1-addcongruences1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='addcongruences1.cc' object='nnc_addcongruences1-addcongruences1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addcongruences1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addcongruences1-addcongruences1.obj `if test -f 'addcongruences1.cc'; then $(CYGPATH_W) 'addcongruences1.cc'; else $(CYGPATH_W) '$(srcdir)/addcongruences1.cc'; fi`
 
 nnc_addconstraint1-addconstraint1.o: addconstraint1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addconstraint1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addconstraint1-addconstraint1.o -MD -MP -MF $(DEPDIR)/nnc_addconstraint1-addconstraint1.Tpo -c -o nnc_addconstraint1-addconstraint1.o `test -f 'addconstraint1.cc' || echo '$(srcdir)/'`addconstraint1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_addconstraint1-addconstraint1.Tpo $(DEPDIR)/nnc_addconstraint1-addconstraint1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addconstraint1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addconstraint1-addconstraint1.o -MD -MP -MF $(DEPDIR)/nnc_addconstraint1-addconstraint1.Tpo -c -o nnc_addconstraint1-addconstraint1.o `test -f 'addconstraint1.cc' || echo '$(srcdir)/'`addconstraint1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_addconstraint1-addconstraint1.Tpo $(DEPDIR)/nnc_addconstraint1-addconstraint1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='addconstraint1.cc' object='nnc_addconstraint1-addconstraint1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addconstraint1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addconstraint1-addconstraint1.o `test -f 'addconstraint1.cc' || echo '$(srcdir)/'`addconstraint1.cc
 
 nnc_addconstraint1-addconstraint1.obj: addconstraint1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addconstraint1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addconstraint1-addconstraint1.obj -MD -MP -MF $(DEPDIR)/nnc_addconstraint1-addconstraint1.Tpo -c -o nnc_addconstraint1-addconstraint1.obj `if test -f 'addconstraint1.cc'; then $(CYGPATH_W) 'addconstraint1.cc'; else $(CYGPATH_W) '$(srcdir)/addconstraint1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_addconstraint1-addconstraint1.Tpo $(DEPDIR)/nnc_addconstraint1-addconstraint1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addconstraint1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addconstraint1-addconstraint1.obj -MD -MP -MF $(DEPDIR)/nnc_addconstraint1-addconstraint1.Tpo -c -o nnc_addconstraint1-addconstraint1.obj `if test -f 'addconstraint1.cc'; then $(CYGPATH_W) 'addconstraint1.cc'; else $(CYGPATH_W) '$(srcdir)/addconstraint1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_addconstraint1-addconstraint1.Tpo $(DEPDIR)/nnc_addconstraint1-addconstraint1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='addconstraint1.cc' object='nnc_addconstraint1-addconstraint1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addconstraint1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addconstraint1-addconstraint1.obj `if test -f 'addconstraint1.cc'; then $(CYGPATH_W) 'addconstraint1.cc'; else $(CYGPATH_W) '$(srcdir)/addconstraint1.cc'; fi`
 
 nnc_addconstraints1-addconstraints1.o: addconstraints1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addconstraints1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addconstraints1-addconstraints1.o -MD -MP -MF $(DEPDIR)/nnc_addconstraints1-addconstraints1.Tpo -c -o nnc_addconstraints1-addconstraints1.o `test -f 'addconstraints1.cc' || echo '$(srcdir)/'`addconstraints1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_addconstraints1-addconstraints1.Tpo $(DEPDIR)/nnc_addconstraints1-addconstraints1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addconstraints1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addconstraints1-addconstraints1.o -MD -MP -MF $(DEPDIR)/nnc_addconstraints1-addconstraints1.Tpo -c -o nnc_addconstraints1-addconstraints1.o `test -f 'addconstraints1.cc' || echo '$(srcdir)/'`addconstraints1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_addconstraints1-addconstraints1.Tpo $(DEPDIR)/nnc_addconstraints1-addconstraints1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='addconstraints1.cc' object='nnc_addconstraints1-addconstraints1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addconstraints1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addconstraints1-addconstraints1.o `test -f 'addconstraints1.cc' || echo '$(srcdir)/'`addconstraints1.cc
 
 nnc_addconstraints1-addconstraints1.obj: addconstraints1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addconstraints1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addconstraints1-addconstraints1.obj -MD -MP -MF $(DEPDIR)/nnc_addconstraints1-addconstraints1.Tpo -c -o nnc_addconstraints1-addconstraints1.obj `if test -f 'addconstraints1.cc'; then $(CYGPATH_W) 'addconstraints1.cc'; else $(CYGPATH_W) '$(srcdir)/addconstraints1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_addconstraints1-addconstraints1.Tpo $(DEPDIR)/nnc_addconstraints1-addconstraints1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addconstraints1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addconstraints1-addconstraints1.obj -MD -MP -MF $(DEPDIR)/nnc_addconstraints1-addconstraints1.Tpo -c -o nnc_addconstraints1-addconstraints1.obj `if test -f 'addconstraints1.cc'; then $(CYGPATH_W) 'addconstraints1.cc'; else $(CYGPATH_W) '$(srcdir)/addconstraints1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_addconstraints1-addconstraints1.Tpo $(DEPDIR)/nnc_addconstraints1-addconstraints1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='addconstraints1.cc' object='nnc_addconstraints1-addconstraints1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addconstraints1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addconstraints1-addconstraints1.obj `if test -f 'addconstraints1.cc'; then $(CYGPATH_W) 'addconstraints1.cc'; else $(CYGPATH_W) '$(srcdir)/addconstraints1.cc'; fi`
 
 nnc_addgenerator1-addgenerator1.o: addgenerator1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addgenerator1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addgenerator1-addgenerator1.o -MD -MP -MF $(DEPDIR)/nnc_addgenerator1-addgenerator1.Tpo -c -o nnc_addgenerator1-addgenerator1.o `test -f 'addgenerator1.cc' || echo '$(srcdir)/'`addgenerator1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_addgenerator1-addgenerator1.Tpo $(DEPDIR)/nnc_addgenerator1-addgenerator1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addgenerator1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addgenerator1-addgenerator1.o -MD -MP -MF $(DEPDIR)/nnc_addgenerator1-addgenerator1.Tpo -c -o nnc_addgenerator1-addgenerator1.o `test -f 'addgenerator1.cc' || echo '$(srcdir)/'`addgenerator1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_addgenerator1-addgenerator1.Tpo $(DEPDIR)/nnc_addgenerator1-addgenerator1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='addgenerator1.cc' object='nnc_addgenerator1-addgenerator1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addgenerator1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addgenerator1-addgenerator1.o `test -f 'addgenerator1.cc' || echo '$(srcdir)/'`addgenerator1.cc
 
 nnc_addgenerator1-addgenerator1.obj: addgenerator1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addgenerator1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addgenerator1-addgenerator1.obj -MD -MP -MF $(DEPDIR)/nnc_addgenerator1-addgenerator1.Tpo -c -o nnc_addgenerator1-addgenerator1.obj `if test -f 'addgenerator1.cc'; then $(CYGPATH_W) 'addgenerator1.cc'; else $(CYGPATH_W) '$(srcdir)/addgenerator1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_addgenerator1-addgenerator1.Tpo $(DEPDIR)/nnc_addgenerator1-addgenerator1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addgenerator1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addgenerator1-addgenerator1.obj -MD -MP -MF $(DEPDIR)/nnc_addgenerator1-addgenerator1.Tpo -c -o nnc_addgenerator1-addgenerator1.obj `if test -f 'addgenerator1.cc'; then $(CYGPATH_W) 'addgenerator1.cc'; else $(CYGPATH_W) '$(srcdir)/addgenerator1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_addgenerator1-addgenerator1.Tpo $(DEPDIR)/nnc_addgenerator1-addgenerator1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='addgenerator1.cc' object='nnc_addgenerator1-addgenerator1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addgenerator1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addgenerator1-addgenerator1.obj `if test -f 'addgenerator1.cc'; then $(CYGPATH_W) 'addgenerator1.cc'; else $(CYGPATH_W) '$(srcdir)/addgenerator1.cc'; fi`
 
 nnc_addgenerators1-addgenerators1.o: addgenerators1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addgenerators1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addgenerators1-addgenerators1.o -MD -MP -MF $(DEPDIR)/nnc_addgenerators1-addgenerators1.Tpo -c -o nnc_addgenerators1-addgenerators1.o `test -f 'addgenerators1.cc' || echo '$(srcdir)/'`addgenerators1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_addgenerators1-addgenerators1.Tpo $(DEPDIR)/nnc_addgenerators1-addgenerators1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addgenerators1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addgenerators1-addgenerators1.o -MD -MP -MF $(DEPDIR)/nnc_addgenerators1-addgenerators1.Tpo -c -o nnc_addgenerators1-addgenerators1.o `test -f 'addgenerators1.cc' || echo '$(srcdir)/'`addgenerators1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_addgenerators1-addgenerators1.Tpo $(DEPDIR)/nnc_addgenerators1-addgenerators1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='addgenerators1.cc' object='nnc_addgenerators1-addgenerators1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addgenerators1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addgenerators1-addgenerators1.o `test -f 'addgenerators1.cc' || echo '$(srcdir)/'`addgenerators1.cc
 
 nnc_addgenerators1-addgenerators1.obj: addgenerators1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addgenerators1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addgenerators1-addgenerators1.obj -MD -MP -MF $(DEPDIR)/nnc_addgenerators1-addgenerators1.Tpo -c -o nnc_addgenerators1-addgenerators1.obj `if test -f 'addgenerators1.cc'; then $(CYGPATH_W) 'addgenerators1.cc'; else $(CYGPATH_W) '$(srcdir)/addgenerators1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_addgenerators1-addgenerators1.Tpo $(DEPDIR)/nnc_addgenerators1-addgenerators1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addgenerators1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addgenerators1-addgenerators1.obj -MD -MP -MF $(DEPDIR)/nnc_addgenerators1-addgenerators1.Tpo -c -o nnc_addgenerators1-addgenerators1.obj `if test -f 'addgenerators1.cc'; then $(CYGPATH_W) 'addgenerators1.cc'; else $(CYGPATH_W) '$(srcdir)/addgenerators1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_addgenerators1-addgenerators1.Tpo $(DEPDIR)/nnc_addgenerators1-addgenerators1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='addgenerators1.cc' object='nnc_addgenerators1-addgenerators1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addgenerators1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addgenerators1-addgenerators1.obj `if test -f 'addgenerators1.cc'; then $(CYGPATH_W) 'addgenerators1.cc'; else $(CYGPATH_W) '$(srcdir)/addgenerators1.cc'; fi`
 
 nnc_addspacedims1-addspacedims1.o: addspacedims1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addspacedims1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addspacedims1-addspacedims1.o -MD -MP -MF $(DEPDIR)/nnc_addspacedims1-addspacedims1.Tpo -c -o nnc_addspacedims1-addspacedims1.o `test -f 'addspacedims1.cc' || echo '$(srcdir)/'`addspacedims1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_addspacedims1-addspacedims1.Tpo $(DEPDIR)/nnc_addspacedims1-addspacedims1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addspacedims1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addspacedims1-addspacedims1.o -MD -MP -MF $(DEPDIR)/nnc_addspacedims1-addspacedims1.Tpo -c -o nnc_addspacedims1-addspacedims1.o `test -f 'addspacedims1.cc' || echo '$(srcdir)/'`addspacedims1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_addspacedims1-addspacedims1.Tpo $(DEPDIR)/nnc_addspacedims1-addspacedims1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='addspacedims1.cc' object='nnc_addspacedims1-addspacedims1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addspacedims1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addspacedims1-addspacedims1.o `test -f 'addspacedims1.cc' || echo '$(srcdir)/'`addspacedims1.cc
 
 nnc_addspacedims1-addspacedims1.obj: addspacedims1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addspacedims1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addspacedims1-addspacedims1.obj -MD -MP -MF $(DEPDIR)/nnc_addspacedims1-addspacedims1.Tpo -c -o nnc_addspacedims1-addspacedims1.obj `if test -f 'addspacedims1.cc'; then $(CYGPATH_W) 'addspacedims1.cc'; else $(CYGPATH_W) '$(srcdir)/addspacedims1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_addspacedims1-addspacedims1.Tpo $(DEPDIR)/nnc_addspacedims1-addspacedims1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addspacedims1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addspacedims1-addspacedims1.obj -MD -MP -MF $(DEPDIR)/nnc_addspacedims1-addspacedims1.Tpo -c -o nnc_addspacedims1-addspacedims1.obj `if test -f 'addspacedims1.cc'; then $(CYGPATH_W) 'addspacedims1.cc'; else $(CYGPATH_W) '$(srcdir)/addspacedims1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_addspacedims1-addspacedims1.Tpo $(DEPDIR)/nnc_addspacedims1-addspacedims1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='addspacedims1.cc' object='nnc_addspacedims1-addspacedims1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addspacedims1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addspacedims1-addspacedims1.obj `if test -f 'addspacedims1.cc'; then $(CYGPATH_W) 'addspacedims1.cc'; else $(CYGPATH_W) '$(srcdir)/addspacedims1.cc'; fi`
 
 nnc_affineimage1-affineimage1.o: affineimage1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affineimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_affineimage1-affineimage1.o -MD -MP -MF $(DEPDIR)/nnc_affineimage1-affineimage1.Tpo -c -o nnc_affineimage1-affineimage1.o `test -f 'affineimage1.cc' || echo '$(srcdir)/'`affineimage1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_affineimage1-affineimage1.Tpo $(DEPDIR)/nnc_affineimage1-affineimage1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affineimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_affineimage1-affineimage1.o -MD -MP -MF $(DEPDIR)/nnc_affineimage1-affineimage1.Tpo -c -o nnc_affineimage1-affineimage1.o `test -f 'affineimage1.cc' || echo '$(srcdir)/'`affineimage1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_affineimage1-affineimage1.Tpo $(DEPDIR)/nnc_affineimage1-affineimage1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='affineimage1.cc' object='nnc_affineimage1-affineimage1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affineimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_affineimage1-affineimage1.o `test -f 'affineimage1.cc' || echo '$(srcdir)/'`affineimage1.cc
 
 nnc_affineimage1-affineimage1.obj: affineimage1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affineimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_affineimage1-affineimage1.obj -MD -MP -MF $(DEPDIR)/nnc_affineimage1-affineimage1.Tpo -c -o nnc_affineimage1-affineimage1.obj `if test -f 'affineimage1.cc'; then $(CYGPATH_W) 'affineimage1.cc'; else $(CYGPATH_W) '$(srcdir)/affineimage1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_affineimage1-affineimage1.Tpo $(DEPDIR)/nnc_affineimage1-affineimage1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affineimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_affineimage1-affineimage1.obj -MD -MP -MF $(DEPDIR)/nnc_affineimage1-affineimage1.Tpo -c -o nnc_affineimage1-affineimage1.obj `if test -f 'affineimage1.cc'; then $(CYGPATH_W) 'affineimage1.cc'; else $(CYGPATH_W) '$(srcdir)/affineimage1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_affineimage1-affineimage1.Tpo $(DEPDIR)/nnc_affineimage1-affineimage1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='affineimage1.cc' object='nnc_affineimage1-affineimage1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affineimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_affineimage1-affineimage1.obj `if test -f 'affineimage1.cc'; then $(CYGPATH_W) 'affineimage1.cc'; else $(CYGPATH_W) '$(srcdir)/affineimage1.cc'; fi`
 
 nnc_affinepreimage1-affinepreimage1.o: affinepreimage1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affinepreimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_affinepreimage1-affinepreimage1.o -MD -MP -MF $(DEPDIR)/nnc_affinepreimage1-affinepreimage1.Tpo -c -o nnc_affinepreimage1-affinepreimage1.o `test -f 'affinepreimage1.cc' || echo '$(srcdir)/'`affinepreimage1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_affinepreimage1-affinepreimage1.Tpo $(DEPDIR)/nnc_affinepreimage1-affinepreimage1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affinepreimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_affinepreimage1-affinepreimage1.o -MD -MP -MF $(DEPDIR)/nnc_affinepreimage1-affinepreimage1.Tpo -c -o nnc_affinepreimage1-affinepreimage1.o `test -f 'affinepreimage1.cc' || echo '$(srcdir)/'`affinepreimage1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_affinepreimage1-affinepreimage1.Tpo $(DEPDIR)/nnc_affinepreimage1-affinepreimage1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='affinepreimage1.cc' object='nnc_affinepreimage1-affinepreimage1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affinepreimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_affinepreimage1-affinepreimage1.o `test -f 'affinepreimage1.cc' || echo '$(srcdir)/'`affinepreimage1.cc
 
 nnc_affinepreimage1-affinepreimage1.obj: affinepreimage1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affinepreimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_affinepreimage1-affinepreimage1.obj -MD -MP -MF $(DEPDIR)/nnc_affinepreimage1-affinepreimage1.Tpo -c -o nnc_affinepreimage1-affinepreimage1.obj `if test -f 'affinepreimage1.cc'; then $(CYGPATH_W) 'affinepreimage1.cc'; else $(CYGPATH_W) '$(srcdir)/affinepreimage1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_affinepreimage1-affinepreimage1.Tpo $(DEPDIR)/nnc_affinepreimage1-affinepreimage1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affinepreimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_affinepreimage1-affinepreimage1.obj -MD -MP -MF $(DEPDIR)/nnc_affinepreimage1-affinepreimage1.Tpo -c -o nnc_affinepreimage1-affinepreimage1.obj `if test -f 'affinepreimage1.cc'; then $(CYGPATH_W) 'affinepreimage1.cc'; else $(CYGPATH_W) '$(srcdir)/affinepreimage1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_affinepreimage1-affinepreimage1.Tpo $(DEPDIR)/nnc_affinepreimage1-affinepreimage1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='affinepreimage1.cc' object='nnc_affinepreimage1-affinepreimage1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affinepreimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_affinepreimage1-affinepreimage1.obj `if test -f 'affinepreimage1.cc'; then $(CYGPATH_W) 'affinepreimage1.cc'; else $(CYGPATH_W) '$(srcdir)/affinepreimage1.cc'; fi`
 
 nnc_affinetrans-affinetrans.o: affinetrans.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affinetrans_CXXFLAGS) $(CXXFLAGS) -MT nnc_affinetrans-affinetrans.o -MD -MP -MF $(DEPDIR)/nnc_affinetrans-affinetrans.Tpo -c -o nnc_affinetrans-affinetrans.o `test -f 'affinetrans.cc' || echo '$(srcdir)/'`affinetrans.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_affinetrans-affinetrans.Tpo $(DEPDIR)/nnc_affinetrans-affinetrans.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affinetrans_CXXFLAGS) $(CXXFLAGS) -MT nnc_affinetrans-affinetrans.o -MD -MP -MF $(DEPDIR)/nnc_affinetrans-affinetrans.Tpo -c -o nnc_affinetrans-affinetrans.o `test -f 'affinetrans.cc' || echo '$(srcdir)/'`affinetrans.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_affinetrans-affinetrans.Tpo $(DEPDIR)/nnc_affinetrans-affinetrans.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='affinetrans.cc' object='nnc_affinetrans-affinetrans.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affinetrans_CXXFLAGS) $(CXXFLAGS) -c -o nnc_affinetrans-affinetrans.o `test -f 'affinetrans.cc' || echo '$(srcdir)/'`affinetrans.cc
 
 nnc_affinetrans-affinetrans.obj: affinetrans.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affinetrans_CXXFLAGS) $(CXXFLAGS) -MT nnc_affinetrans-affinetrans.obj -MD -MP -MF $(DEPDIR)/nnc_affinetrans-affinetrans.Tpo -c -o nnc_affinetrans-affinetrans.obj `if test -f 'affinetrans.cc'; then $(CYGPATH_W) 'affinetrans.cc'; else $(CYGPATH_W) '$(srcdir)/affinetrans.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_affinetrans-affinetrans.Tpo $(DEPDIR)/nnc_affinetrans-affinetrans.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affinetrans_CXXFLAGS) $(CXXFLAGS) -MT nnc_affinetrans-affinetrans.obj -MD -MP -MF $(DEPDIR)/nnc_affinetrans-affinetrans.Tpo -c -o nnc_affinetrans-affinetrans.obj `if test -f 'affinetrans.cc'; then $(CYGPATH_W) 'affinetrans.cc'; else $(CYGPATH_W) '$(srcdir)/affinetrans.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_affinetrans-affinetrans.Tpo $(DEPDIR)/nnc_affinetrans-affinetrans.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='affinetrans.cc' object='nnc_affinetrans-affinetrans.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affinetrans_CXXFLAGS) $(CXXFLAGS) -c -o nnc_affinetrans-affinetrans.obj `if test -f 'affinetrans.cc'; then $(CYGPATH_W) 'affinetrans.cc'; else $(CYGPATH_W) '$(srcdir)/affinetrans.cc'; fi`
 
 nnc_append1-append1.o: append1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_append1_CXXFLAGS) $(CXXFLAGS) -MT nnc_append1-append1.o -MD -MP -MF $(DEPDIR)/nnc_append1-append1.Tpo -c -o nnc_append1-append1.o `test -f 'append1.cc' || echo '$(srcdir)/'`append1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_append1-append1.Tpo $(DEPDIR)/nnc_append1-append1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_append1_CXXFLAGS) $(CXXFLAGS) -MT nnc_append1-append1.o -MD -MP -MF $(DEPDIR)/nnc_append1-append1.Tpo -c -o nnc_append1-append1.o `test -f 'append1.cc' || echo '$(srcdir)/'`append1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_append1-append1.Tpo $(DEPDIR)/nnc_append1-append1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='append1.cc' object='nnc_append1-append1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_append1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_append1-append1.o `test -f 'append1.cc' || echo '$(srcdir)/'`append1.cc
 
 nnc_append1-append1.obj: append1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_append1_CXXFLAGS) $(CXXFLAGS) -MT nnc_append1-append1.obj -MD -MP -MF $(DEPDIR)/nnc_append1-append1.Tpo -c -o nnc_append1-append1.obj `if test -f 'append1.cc'; then $(CYGPATH_W) 'append1.cc'; else $(CYGPATH_W) '$(srcdir)/append1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_append1-append1.Tpo $(DEPDIR)/nnc_append1-append1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_append1_CXXFLAGS) $(CXXFLAGS) -MT nnc_append1-append1.obj -MD -MP -MF $(DEPDIR)/nnc_append1-append1.Tpo -c -o nnc_append1-append1.obj `if test -f 'append1.cc'; then $(CYGPATH_W) 'append1.cc'; else $(CYGPATH_W) '$(srcdir)/append1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_append1-append1.Tpo $(DEPDIR)/nnc_append1-append1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='append1.cc' object='nnc_append1-append1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_append1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_append1-append1.obj `if test -f 'append1.cc'; then $(CYGPATH_W) 'append1.cc'; else $(CYGPATH_W) '$(srcdir)/append1.cc'; fi`
 
 nnc_append2-append2.o: append2.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_append2_CXXFLAGS) $(CXXFLAGS) -MT nnc_append2-append2.o -MD -MP -MF $(DEPDIR)/nnc_append2-append2.Tpo -c -o nnc_append2-append2.o `test -f 'append2.cc' || echo '$(srcdir)/'`append2.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_append2-append2.Tpo $(DEPDIR)/nnc_append2-append2.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_append2_CXXFLAGS) $(CXXFLAGS) -MT nnc_append2-append2.o -MD -MP -MF $(DEPDIR)/nnc_append2-append2.Tpo -c -o nnc_append2-append2.o `test -f 'append2.cc' || echo '$(srcdir)/'`append2.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_append2-append2.Tpo $(DEPDIR)/nnc_append2-append2.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='append2.cc' object='nnc_append2-append2.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_append2_CXXFLAGS) $(CXXFLAGS) -c -o nnc_append2-append2.o `test -f 'append2.cc' || echo '$(srcdir)/'`append2.cc
 
 nnc_append2-append2.obj: append2.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_append2_CXXFLAGS) $(CXXFLAGS) -MT nnc_append2-append2.obj -MD -MP -MF $(DEPDIR)/nnc_append2-append2.Tpo -c -o nnc_append2-append2.obj `if test -f 'append2.cc'; then $(CYGPATH_W) 'append2.cc'; else $(CYGPATH_W) '$(srcdir)/append2.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_append2-append2.Tpo $(DEPDIR)/nnc_append2-append2.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_append2_CXXFLAGS) $(CXXFLAGS) -MT nnc_append2-append2.obj -MD -MP -MF $(DEPDIR)/nnc_append2-append2.Tpo -c -o nnc_append2-append2.obj `if test -f 'append2.cc'; then $(CYGPATH_W) 'append2.cc'; else $(CYGPATH_W) '$(srcdir)/append2.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_append2-append2.Tpo $(DEPDIR)/nnc_append2-append2.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='append2.cc' object='nnc_append2-append2.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_append2_CXXFLAGS) $(CXXFLAGS) -c -o nnc_append2-append2.obj `if test -f 'append2.cc'; then $(CYGPATH_W) 'append2.cc'; else $(CYGPATH_W) '$(srcdir)/append2.cc'; fi`
 
 nnc_ascii_dump_load1-ascii_dump_load1.o: ascii_dump_load1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_ascii_dump_load1_CXXFLAGS) $(CXXFLAGS) -MT nnc_ascii_dump_load1-ascii_dump_load1.o -MD -MP -MF $(DEPDIR)/nnc_ascii_dump_load1-ascii_dump_load1.Tpo -c -o nnc_ascii_dump_load1-ascii_dump_load1.o `test -f 'ascii_dump_load1.cc' || echo '$(srcdir)/'`ascii_dump_load1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_ascii_dump_load1-ascii_dump_load1.Tpo $(DEPDIR)/nnc_ascii_dump_load1-ascii_dump_load1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_ascii_dump_load1_CXXFLAGS) $(CXXFLAGS) -MT nnc_ascii_dump_load1-ascii_dump_load1.o -MD -MP -MF $(DEPDIR)/nnc_ascii_dump_load1-ascii_dump_load1.Tpo -c -o nnc_ascii_dump_load1-ascii_dump_load1.o `test -f 'ascii_dump_load1.cc' || echo '$(srcdir)/'`ascii_dump_load1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_ascii_dump_load1-ascii_dump_load1.Tpo $(DEPDIR)/nnc_ascii_dump_load1-ascii_dump_load1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ascii_dump_load1.cc' object='nnc_ascii_dump_load1-ascii_dump_load1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_ascii_dump_load1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_ascii_dump_load1-ascii_dump_load1.o `test -f 'ascii_dump_load1.cc' || echo '$(srcdir)/'`ascii_dump_load1.cc
 
 nnc_ascii_dump_load1-ascii_dump_load1.obj: ascii_dump_load1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_ascii_dump_load1_CXXFLAGS) $(CXXFLAGS) -MT nnc_ascii_dump_load1-ascii_dump_load1.obj -MD -MP -MF $(DEPDIR)/nnc_ascii_dump_load1-ascii_dump_load1.Tpo -c -o nnc_ascii_dump_load1-ascii_dump_load1.obj `if test -f 'ascii_dump_load1.cc'; then $(CYGPATH_W) 'ascii_dump_load1.cc'; else $(CYGPATH_W) '$(srcdir)/ascii_dump_load1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_ascii_dump_load1-ascii_dump_load1.Tpo $(DEPDIR)/nnc_ascii_dump_load1-ascii_dump_load1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_ascii_dump_load1_CXXFLAGS) $(CXXFLAGS) -MT nnc_ascii_dump_load1-ascii_dump_load1.obj -MD -MP -MF $(DEPDIR)/nnc_ascii_dump_load1-ascii_dump_load1.Tpo -c -o nnc_ascii_dump_load1-ascii_dump_load1.obj `if test -f 'ascii_dump_load1.cc'; then $(CYGPATH_W) 'ascii_dump_load1.cc'; else $(CYGPATH_W) '$(srcdir)/ascii_dump_load1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_ascii_dump_load1-ascii_dump_load1.Tpo $(DEPDIR)/nnc_ascii_dump_load1-ascii_dump_load1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ascii_dump_load1.cc' object='nnc_ascii_dump_load1-ascii_dump_load1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_ascii_dump_load1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_ascii_dump_load1-ascii_dump_load1.obj `if test -f 'ascii_dump_load1.cc'; then $(CYGPATH_W) 'ascii_dump_load1.cc'; else $(CYGPATH_W) '$(srcdir)/ascii_dump_load1.cc'; fi`
 
 nnc_ascii_dump_load2-ascii_dump_load2.o: ascii_dump_load2.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_ascii_dump_load2_CXXFLAGS) $(CXXFLAGS) -MT nnc_ascii_dump_load2-ascii_dump_load2.o -MD -MP -MF $(DEPDIR)/nnc_ascii_dump_load2-ascii_dump_load2.Tpo -c -o nnc_ascii_dump_load2-ascii_dump_load2.o `test -f 'ascii_dump_load2.cc' || echo '$(srcdir)/'`ascii_dump_load2.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_ascii_dump_load2-ascii_dump_load2.Tpo $(DEPDIR)/nnc_ascii_dump_load2-ascii_dump_load2.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_ascii_dump_load2_CXXFLAGS) $(CXXFLAGS) -MT nnc_ascii_dump_load2-ascii_dump_load2.o -MD -MP -MF $(DEPDIR)/nnc_ascii_dump_load2-ascii_dump_load2.Tpo -c -o nnc_ascii_dump_load2-ascii_dump_load2.o `test -f 'ascii_dump_load2.cc' || echo '$(srcdir)/'`ascii_dump_load2.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_ascii_dump_load2-ascii_dump_load2.Tpo $(DEPDIR)/nnc_ascii_dump_load2-ascii_dump_load2.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ascii_dump_load2.cc' object='nnc_ascii_dump_load2-ascii_dump_load2.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_ascii_dump_load2_CXXFLAGS) $(CXXFLAGS) -c -o nnc_ascii_dump_load2-ascii_dump_load2.o `test -f 'ascii_dump_load2.cc' || echo '$(srcdir)/'`ascii_dump_load2.cc
 
 nnc_ascii_dump_load2-ascii_dump_load2.obj: ascii_dump_load2.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_ascii_dump_load2_CXXFLAGS) $(CXXFLAGS) -MT nnc_ascii_dump_load2-ascii_dump_load2.obj -MD -MP -MF $(DEPDIR)/nnc_ascii_dump_load2-ascii_dump_load2.Tpo -c -o nnc_ascii_dump_load2-ascii_dump_load2.obj `if test -f 'ascii_dump_load2.cc'; then $(CYGPATH_W) 'ascii_dump_load2.cc'; else $(CYGPATH_W) '$(srcdir)/ascii_dump_load2.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_ascii_dump_load2-ascii_dump_load2.Tpo $(DEPDIR)/nnc_ascii_dump_load2-ascii_dump_load2.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_ascii_dump_load2_CXXFLAGS) $(CXXFLAGS) -MT nnc_ascii_dump_load2-ascii_dump_load2.obj -MD -MP -MF $(DEPDIR)/nnc_ascii_dump_load2-ascii_dump_load2.Tpo -c -o nnc_ascii_dump_load2-ascii_dump_load2.obj `if test -f 'ascii_dump_load2.cc'; then $(CYGPATH_W) 'ascii_dump_load2.cc'; else $(CYGPATH_W) '$(srcdir)/ascii_dump_load2.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_ascii_dump_load2-ascii_dump_load2.Tpo $(DEPDIR)/nnc_ascii_dump_load2-ascii_dump_load2.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ascii_dump_load2.cc' object='nnc_ascii_dump_load2-ascii_dump_load2.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_ascii_dump_load2_CXXFLAGS) $(CXXFLAGS) -c -o nnc_ascii_dump_load2-ascii_dump_load2.obj `if test -f 'ascii_dump_load2.cc'; then $(CYGPATH_W) 'ascii_dump_load2.cc'; else $(CYGPATH_W) '$(srcdir)/ascii_dump_load2.cc'; fi`
 
 nnc_bgp99extrapolation1-bgp99extrapolation1.o: bgp99extrapolation1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bgp99extrapolation1_CXXFLAGS) $(CXXFLAGS) -MT nnc_bgp99extrapolation1-bgp99extrapolation1.o -MD -MP -MF $(DEPDIR)/nnc_bgp99extrapolation1-bgp99extrapolation1.Tpo -c -o nnc_bgp99extrapolation1-bgp99extrapolation1.o `test -f 'bgp99extrapolation1.cc' || echo '$(srcdir)/'`bgp99extrapolation1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_bgp99extrapolation1-bgp99extrapolation1.Tpo $(DEPDIR)/nnc_bgp99extrapolation1-bgp99extrapolation1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bgp99extrapolation1_CXXFLAGS) $(CXXFLAGS) -MT nnc_bgp99extrapolation1-bgp99extrapolation1.o -MD -MP -MF $(DEPDIR)/nnc_bgp99extrapolation1-bgp99extrapolation1.Tpo -c -o nnc_bgp99extrapolation1-bgp99extrapolation1.o `test -f 'bgp99extrapolation1.cc' || echo '$(srcdir)/'`bgp99extrapolation1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_bgp99extrapolation1-bgp99extrapolation1.Tpo $(DEPDIR)/nnc_bgp99extrapolation1-bgp99extrapolation1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='bgp99extrapolation1.cc' object='nnc_bgp99extrapolation1-bgp99extrapolation1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bgp99extrapolation1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_bgp99extrapolation1-bgp99extrapolation1.o `test -f 'bgp99extrapolation1.cc' || echo '$(srcdir)/'`bgp99extrapolation1.cc
 
 nnc_bgp99extrapolation1-bgp99extrapolation1.obj: bgp99extrapolation1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bgp99extrapolation1_CXXFLAGS) $(CXXFLAGS) -MT nnc_bgp99extrapolation1-bgp99extrapolation1.obj -MD -MP -MF $(DEPDIR)/nnc_bgp99extrapolation1-bgp99extrapolation1.Tpo -c -o nnc_bgp99extrapolation1-bgp99extrapolation1.obj `if test -f 'bgp99extrapolation1.cc'; then $(CYGPATH_W) 'bgp99extrapolation1.cc'; else $(CYGPATH_W) '$(srcdir)/bgp99extrapolation1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_bgp99extrapolation1-bgp99extrapolation1.Tpo $(DEPDIR)/nnc_bgp99extrapolation1-bgp99extrapolation1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bgp99extrapolation1_CXXFLAGS) $(CXXFLAGS) -MT nnc_bgp99extrapolation1-bgp99extrapolation1.obj -MD -MP -MF $(DEPDIR)/nnc_bgp99extrapolation1-bgp99extrapolation1.Tpo -c -o nnc_bgp99extrapolation1-bgp99extrapolation1.obj `if test -f 'bgp99extrapolation1.cc'; then $(CYGPATH_W) 'bgp99extrapolation1.cc'; else $(CYGPATH_W) '$(srcdir)/bgp99extrapolation1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_bgp99extrapolation1-bgp99extrapolation1.Tpo $(DEPDIR)/nnc_bgp99extrapolation1-bgp99extrapolation1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='bgp99extrapolation1.cc' object='nnc_bgp99extrapolation1-bgp99extrapolation1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bgp99extrapolation1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_bgp99extrapolation1-bgp99extrapolation1.obj `if test -f 'bgp99extrapolation1.cc'; then $(CYGPATH_W) 'bgp99extrapolation1.cc'; else $(CYGPATH_W) '$(srcdir)/bgp99extrapolation1.cc'; fi`
 
 nnc_bhrz03widening1-bhrz03widening1.o: bhrz03widening1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bhrz03widening1_CXXFLAGS) $(CXXFLAGS) -MT nnc_bhrz03widening1-bhrz03widening1.o -MD -MP -MF $(DEPDIR)/nnc_bhrz03widening1-bhrz03widening1.Tpo -c -o nnc_bhrz03widening1-bhrz03widening1.o `test -f 'bhrz03widening1.cc' || echo '$(srcdir)/'`bhrz03widening1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_bhrz03widening1-bhrz03widening1.Tpo $(DEPDIR)/nnc_bhrz03widening1-bhrz03widening1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bhrz03widening1_CXXFLAGS) $(CXXFLAGS) -MT nnc_bhrz03widening1-bhrz03widening1.o -MD -MP -MF $(DEPDIR)/nnc_bhrz03widening1-bhrz03widening1.Tpo -c -o nnc_bhrz03widening1-bhrz03widening1.o `test -f 'bhrz03widening1.cc' || echo '$(srcdir)/'`bhrz03widening1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_bhrz03widening1-bhrz03widening1.Tpo $(DEPDIR)/nnc_bhrz03widening1-bhrz03widening1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='bhrz03widening1.cc' object='nnc_bhrz03widening1-bhrz03widening1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bhrz03widening1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_bhrz03widening1-bhrz03widening1.o `test -f 'bhrz03widening1.cc' || echo '$(srcdir)/'`bhrz03widening1.cc
 
 nnc_bhrz03widening1-bhrz03widening1.obj: bhrz03widening1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bhrz03widening1_CXXFLAGS) $(CXXFLAGS) -MT nnc_bhrz03widening1-bhrz03widening1.obj -MD -MP -MF $(DEPDIR)/nnc_bhrz03widening1-bhrz03widening1.Tpo -c -o nnc_bhrz03widening1-bhrz03widening1.obj `if test -f 'bhrz03widening1.cc'; then $(CYGPATH_W) 'bhrz03widening1.cc'; else $(CYGPATH_W) '$(srcdir)/bhrz03widening1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_bhrz03widening1-bhrz03widening1.Tpo $(DEPDIR)/nnc_bhrz03widening1-bhrz03widening1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bhrz03widening1_CXXFLAGS) $(CXXFLAGS) -MT nnc_bhrz03widening1-bhrz03widening1.obj -MD -MP -MF $(DEPDIR)/nnc_bhrz03widening1-bhrz03widening1.Tpo -c -o nnc_bhrz03widening1-bhrz03widening1.obj `if test -f 'bhrz03widening1.cc'; then $(CYGPATH_W) 'bhrz03widening1.cc'; else $(CYGPATH_W) '$(srcdir)/bhrz03widening1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_bhrz03widening1-bhrz03widening1.Tpo $(DEPDIR)/nnc_bhrz03widening1-bhrz03widening1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='bhrz03widening1.cc' object='nnc_bhrz03widening1-bhrz03widening1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bhrz03widening1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_bhrz03widening1-bhrz03widening1.obj `if test -f 'bhrz03widening1.cc'; then $(CYGPATH_W) 'bhrz03widening1.cc'; else $(CYGPATH_W) '$(srcdir)/bhrz03widening1.cc'; fi`
 
 nnc_bhrz03widening2-bhrz03widening2.o: bhrz03widening2.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bhrz03widening2_CXXFLAGS) $(CXXFLAGS) -MT nnc_bhrz03widening2-bhrz03widening2.o -MD -MP -MF $(DEPDIR)/nnc_bhrz03widening2-bhrz03widening2.Tpo -c -o nnc_bhrz03widening2-bhrz03widening2.o `test -f 'bhrz03widening2.cc' || echo '$(srcdir)/'`bhrz03widening2.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_bhrz03widening2-bhrz03widening2.Tpo $(DEPDIR)/nnc_bhrz03widening2-bhrz03widening2.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bhrz03widening2_CXXFLAGS) $(CXXFLAGS) -MT nnc_bhrz03widening2-bhrz03widening2.o -MD -MP -MF $(DEPDIR)/nnc_bhrz03widening2-bhrz03widening2.Tpo -c -o nnc_bhrz03widening2-bhrz03widening2.o `test -f 'bhrz03widening2.cc' || echo '$(srcdir)/'`bhrz03widening2.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_bhrz03widening2-bhrz03widening2.Tpo $(DEPDIR)/nnc_bhrz03widening2-bhrz03widening2.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='bhrz03widening2.cc' object='nnc_bhrz03widening2-bhrz03widening2.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bhrz03widening2_CXXFLAGS) $(CXXFLAGS) -c -o nnc_bhrz03widening2-bhrz03widening2.o `test -f 'bhrz03widening2.cc' || echo '$(srcdir)/'`bhrz03widening2.cc
 
 nnc_bhrz03widening2-bhrz03widening2.obj: bhrz03widening2.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bhrz03widening2_CXXFLAGS) $(CXXFLAGS) -MT nnc_bhrz03widening2-bhrz03widening2.obj -MD -MP -MF $(DEPDIR)/nnc_bhrz03widening2-bhrz03widening2.Tpo -c -o nnc_bhrz03widening2-bhrz03widening2.obj `if test -f 'bhrz03widening2.cc'; then $(CYGPATH_W) 'bhrz03widening2.cc'; else $(CYGPATH_W) '$(srcdir)/bhrz03widening2.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_bhrz03widening2-bhrz03widening2.Tpo $(DEPDIR)/nnc_bhrz03widening2-bhrz03widening2.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bhrz03widening2_CXXFLAGS) $(CXXFLAGS) -MT nnc_bhrz03widening2-bhrz03widening2.obj -MD -MP -MF $(DEPDIR)/nnc_bhrz03widening2-bhrz03widening2.Tpo -c -o nnc_bhrz03widening2-bhrz03widening2.obj `if test -f 'bhrz03widening2.cc'; then $(CYGPATH_W) 'bhrz03widening2.cc'; else $(CYGPATH_W) '$(srcdir)/bhrz03widening2.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_bhrz03widening2-bhrz03widening2.Tpo $(DEPDIR)/nnc_bhrz03widening2-bhrz03widening2.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='bhrz03widening2.cc' object='nnc_bhrz03widening2-bhrz03widening2.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bhrz03widening2_CXXFLAGS) $(CXXFLAGS) -c -o nnc_bhrz03widening2-bhrz03widening2.obj `if test -f 'bhrz03widening2.cc'; then $(CYGPATH_W) 'bhrz03widening2.cc'; else $(CYGPATH_W) '$(srcdir)/bhrz03widening2.cc'; fi`
 
 nnc_bounded1-bounded1.o: bounded1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bounded1_CXXFLAGS) $(CXXFLAGS) -MT nnc_bounded1-bounded1.o -MD -MP -MF $(DEPDIR)/nnc_bounded1-bounded1.Tpo -c -o nnc_bounded1-bounded1.o `test -f 'bounded1.cc' || echo '$(srcdir)/'`bounded1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_bounded1-bounded1.Tpo $(DEPDIR)/nnc_bounded1-bounded1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bounded1_CXXFLAGS) $(CXXFLAGS) -MT nnc_bounded1-bounded1.o -MD -MP -MF $(DEPDIR)/nnc_bounded1-bounded1.Tpo -c -o nnc_bounded1-bounded1.o `test -f 'bounded1.cc' || echo '$(srcdir)/'`bounded1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_bounded1-bounded1.Tpo $(DEPDIR)/nnc_bounded1-bounded1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='bounded1.cc' object='nnc_bounded1-bounded1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bounded1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_bounded1-bounded1.o `test -f 'bounded1.cc' || echo '$(srcdir)/'`bounded1.cc
 
 nnc_bounded1-bounded1.obj: bounded1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bounded1_CXXFLAGS) $(CXXFLAGS) -MT nnc_bounded1-bounded1.obj -MD -MP -MF $(DEPDIR)/nnc_bounded1-bounded1.Tpo -c -o nnc_bounded1-bounded1.obj `if test -f 'bounded1.cc'; then $(CYGPATH_W) 'bounded1.cc'; else $(CYGPATH_W) '$(srcdir)/bounded1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_bounded1-bounded1.Tpo $(DEPDIR)/nnc_bounded1-bounded1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bounded1_CXXFLAGS) $(CXXFLAGS) -MT nnc_bounded1-bounded1.obj -MD -MP -MF $(DEPDIR)/nnc_bounded1-bounded1.Tpo -c -o nnc_bounded1-bounded1.obj `if test -f 'bounded1.cc'; then $(CYGPATH_W) 'bounded1.cc'; else $(CYGPATH_W) '$(srcdir)/bounded1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_bounded1-bounded1.Tpo $(DEPDIR)/nnc_bounded1-bounded1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='bounded1.cc' object='nnc_bounded1-bounded1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bounded1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_bounded1-bounded1.obj `if test -f 'bounded1.cc'; then $(CYGPATH_W) 'bounded1.cc'; else $(CYGPATH_W) '$(srcdir)/bounded1.cc'; fi`
 
 nnc_boundedaffineimage1-boundedaffineimage1.o: boundedaffineimage1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedaffineimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_boundedaffineimage1-boundedaffineimage1.o -MD -MP -MF $(DEPDIR)/nnc_boundedaffineimage1-boundedaffineimage1.Tpo -c -o nnc_boundedaffineimage1-boundedaffineimage1.o `test -f 'boundedaffineimage1.cc' || echo '$(srcdir)/'`boundedaffineimage1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_boundedaffineimage1-boundedaffineimage1.Tpo $(DEPDIR)/nnc_boundedaffineimage1-boundedaffineimage1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedaffineimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_boundedaffineimage1-boundedaffineimage1.o -MD -MP -MF $(DEPDIR)/nnc_boundedaffineimage1-boundedaffineimage1.Tpo -c -o nnc_boundedaffineimage1-boundedaffineimage1.o `test -f 'boundedaffineimage1.cc' || echo '$(srcdir)/'`boundedaffineimage1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_boundedaffineimage1-boundedaffineimage1.Tpo $(DEPDIR)/nnc_boundedaffineimage1-boundedaffineimage1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='boundedaffineimage1.cc' object='nnc_boundedaffineimage1-boundedaffineimage1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedaffineimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_boundedaffineimage1-boundedaffineimage1.o `test -f 'boundedaffineimage1.cc' || echo '$(srcdir)/'`boundedaffineimage1.cc
 
 nnc_boundedaffineimage1-boundedaffineimage1.obj: boundedaffineimage1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedaffineimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_boundedaffineimage1-boundedaffineimage1.obj -MD -MP -MF $(DEPDIR)/nnc_boundedaffineimage1-boundedaffineimage1.Tpo -c -o nnc_boundedaffineimage1-boundedaffineimage1.obj `if test -f 'boundedaffineimage1.cc'; then $(CYGPATH_W) 'boundedaffineimage1.cc'; else $(CYGPATH_W) '$(srcdir)/boundedaffineimage1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_boundedaffineimage1-boundedaffineimage1.Tpo $(DEPDIR)/nnc_boundedaffineimage1-boundedaffineimage1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedaffineimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_boundedaffineimage1-boundedaffineimage1.obj -MD -MP -MF $(DEPDIR)/nnc_boundedaffineimage1-boundedaffineimage1.Tpo -c -o nnc_boundedaffineimage1-boundedaffineimage1.obj `if test -f 'boundedaffineimage1.cc'; then $(CYGPATH_W) 'boundedaffineimage1.cc'; else $(CYGPATH_W) '$(srcdir)/boundedaffineimage1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_boundedaffineimage1-boundedaffineimage1.Tpo $(DEPDIR)/nnc_boundedaffineimage1-boundedaffineimage1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='boundedaffineimage1.cc' object='nnc_boundedaffineimage1-boundedaffineimage1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedaffineimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_boundedaffineimage1-boundedaffineimage1.obj `if test -f 'boundedaffineimage1.cc'; then $(CYGPATH_W) 'boundedaffineimage1.cc'; else $(CYGPATH_W) '$(srcdir)/boundedaffineimage1.cc'; fi`
 
 nnc_boundedaffinepreimage1-boundedaffinepreimage1.o: boundedaffinepreimage1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedaffinepreimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_boundedaffinepreimage1-boundedaffinepreimage1.o -MD -MP -MF $(DEPDIR)/nnc_boundedaffinepreimage1-boundedaffinepreimage1.Tpo -c -o nnc_boundedaffinepreimage1-boundedaffinepreimage1.o `test -f 'boundedaffinepreimage1.cc' || echo '$(srcdir)/'`boundedaffinepreimage1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_boundedaffinepreimage1-boundedaffinepreimage1.Tpo $(DEPDIR)/nnc_boundedaffinepreimage1-boundedaffinepreimage1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedaffinepreimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_boundedaffinepreimage1-boundedaffinepreimage1.o -MD -MP -MF $(DEPDIR)/nnc_boundedaffinepreimage1-boundedaffinepreimage1.Tpo -c -o nnc_boundedaffinepreimage1-boundedaffinepreimage1.o `test -f 'boundedaffinepreimage1.cc' || echo '$(srcdir)/'`boundedaffinepreimage1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_boundedaffinepreimage1-boundedaffinepreimage1.Tpo $(DEPDIR)/nnc_boundedaffinepreimage1-boundedaffinepreimage1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='boundedaffinepreimage1.cc' object='nnc_boundedaffinepreimage1-boundedaffinepreimage1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedaffinepreimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_boundedaffinepreimage1-boundedaffinepreimage1.o `test -f 'boundedaffinepreimage1.cc' || echo '$(srcdir)/'`boundedaffinepreimage1.cc
 
 nnc_boundedaffinepreimage1-boundedaffinepreimage1.obj: boundedaffinepreimage1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedaffinepreimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_boundedaffinepreimage1-boundedaffinepreimage1.obj -MD -MP -MF $(DEPDIR)/nnc_boundedaffinepreimage1-boundedaffinepreimage1.Tpo -c -o nnc_boundedaffinepreimage1-boundedaffinepreimage1.obj `if test -f 'boundedaffinepreimage1.cc'; then $(CYGPATH_W) 'boundedaffinepreimage1.cc'; else $(CYGPATH_W) '$(srcdir)/boundedaffinepreimage1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_boundedaffinepreimage1-boundedaffinepreimage1.Tpo $(DEPDIR)/nnc_boundedaffinepreimage1-boundedaffinepreimage1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedaffinepreimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_boundedaffinepreimage1-boundedaffinepreimage1.obj -MD -MP -MF $(DEPDIR)/nnc_boundedaffinepreimage1-boundedaffinepreimage1.Tpo -c -o nnc_boundedaffinepreimage1-boundedaffinepreimage1.obj `if test -f 'boundedaffinepreimage1.cc'; then $(CYGPATH_W) 'boundedaffinepreimage1.cc'; else $(CYGPATH_W) '$(srcdir)/boundedaffinepreimage1. [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_boundedaffinepreimage1-boundedaffinepreimage1.Tpo $(DEPDIR)/nnc_boundedaffinepreimage1-boundedaffinepreimage1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='boundedaffinepreimage1.cc' object='nnc_boundedaffinepreimage1-boundedaffinepreimage1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedaffinepreimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_boundedaffinepreimage1-boundedaffinepreimage1.obj `if test -f 'boundedaffinepreimage1.cc'; then $(CYGPATH_W) 'boundedaffinepreimage1.cc'; else $(CYGPATH_W) '$(srcdir)/boundedaffinepreimage1.cc'; fi`
 
 nnc_boundedh79extrapolation1-boundedh79extrapolation1.o: boundedh79extrapolation1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedh79extrapolation1_CXXFLAGS) $(CXXFLAGS) -MT nnc_boundedh79extrapolation1-boundedh79extrapolation1.o -MD -MP -MF $(DEPDIR)/nnc_boundedh79extrapolation1-boundedh79extrapolation1.Tpo -c -o nnc_boundedh79extrapolation1-boundedh79extrapolation1.o `test -f 'boundedh79extrapolation1.cc' || echo '$(srcdir)/'`boundedh79extrapolation1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_boundedh79extrapolation1-boundedh79extrapolation1.Tpo $(DEPDIR)/nnc_boundedh79extrapolation1-boundedh79extrapolation1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedh79extrapolation1_CXXFLAGS) $(CXXFLAGS) -MT nnc_boundedh79extrapolation1-boundedh79extrapolation1.o -MD -MP -MF $(DEPDIR)/nnc_boundedh79extrapolation1-boundedh79extrapolation1.Tpo -c -o nnc_boundedh79extrapolation1-boundedh79extrapolation1.o `test -f 'boundedh79extrapolation1.cc' || echo '$(srcdir)/'`boundedh79extrapolation1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_boundedh79extrapolation1-boundedh79extrapolation1.Tpo $(DEPDIR)/nnc_boundedh79extrapolation1-boundedh79extrapolation1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='boundedh79extrapolation1.cc' object='nnc_boundedh79extrapolation1-boundedh79extrapolation1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedh79extrapolation1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_boundedh79extrapolation1-boundedh79extrapolation1.o `test -f 'boundedh79extrapolation1.cc' || echo '$(srcdir)/'`boundedh79extrapolation1.cc
 
 nnc_boundedh79extrapolation1-boundedh79extrapolation1.obj: boundedh79extrapolation1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedh79extrapolation1_CXXFLAGS) $(CXXFLAGS) -MT nnc_boundedh79extrapolation1-boundedh79extrapolation1.obj -MD -MP -MF $(DEPDIR)/nnc_boundedh79extrapolation1-boundedh79extrapolation1.Tpo -c -o nnc_boundedh79extrapolation1-boundedh79extrapolation1.obj `if test -f 'boundedh79extrapolation1.cc'; then $(CYGPATH_W) 'boundedh79extrapolation1.cc'; else $(CYGPATH_W) '$(srcdir)/boundedh79extrap [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_boundedh79extrapolation1-boundedh79extrapolation1.Tpo $(DEPDIR)/nnc_boundedh79extrapolation1-boundedh79extrapolation1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedh79extrapolation1_CXXFLAGS) $(CXXFLAGS) -MT nnc_boundedh79extrapolation1-boundedh79extrapolation1.obj -MD -MP -MF $(DEPDIR)/nnc_boundedh79extrapolation1-boundedh79extrapolation1.Tpo -c -o nnc_boundedh79extrapolation1-boundedh79extrapolation1.obj `if test -f 'boundedh79extrapolation1.cc'; then $(CYGPATH_W) 'boundedh79extrapolation1.cc'; else $(CYGPATH_W) '$(srcdir)/bound [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_boundedh79extrapolation1-boundedh79extrapolation1.Tpo $(DEPDIR)/nnc_boundedh79extrapolation1-boundedh79extrapolation1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='boundedh79extrapolation1.cc' object='nnc_boundedh79extrapolation1-boundedh79extrapolation1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedh79extrapolation1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_boundedh79extrapolation1-boundedh79extrapolation1.obj `if test -f 'boundedh79extrapolation1.cc'; then $(CYGPATH_W) 'boundedh79extrapolation1.cc'; else $(CYGPATH_W) '$(srcdir)/boundedh79extrapolation1.cc'; fi`
 
 nnc_bounds1-bounds1.o: bounds1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bounds1_CXXFLAGS) $(CXXFLAGS) -MT nnc_bounds1-bounds1.o -MD -MP -MF $(DEPDIR)/nnc_bounds1-bounds1.Tpo -c -o nnc_bounds1-bounds1.o `test -f 'bounds1.cc' || echo '$(srcdir)/'`bounds1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_bounds1-bounds1.Tpo $(DEPDIR)/nnc_bounds1-bounds1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bounds1_CXXFLAGS) $(CXXFLAGS) -MT nnc_bounds1-bounds1.o -MD -MP -MF $(DEPDIR)/nnc_bounds1-bounds1.Tpo -c -o nnc_bounds1-bounds1.o `test -f 'bounds1.cc' || echo '$(srcdir)/'`bounds1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_bounds1-bounds1.Tpo $(DEPDIR)/nnc_bounds1-bounds1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='bounds1.cc' object='nnc_bounds1-bounds1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bounds1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_bounds1-bounds1.o `test -f 'bounds1.cc' || echo '$(srcdir)/'`bounds1.cc
 
 nnc_bounds1-bounds1.obj: bounds1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bounds1_CXXFLAGS) $(CXXFLAGS) -MT nnc_bounds1-bounds1.obj -MD -MP -MF $(DEPDIR)/nnc_bounds1-bounds1.Tpo -c -o nnc_bounds1-bounds1.obj `if test -f 'bounds1.cc'; then $(CYGPATH_W) 'bounds1.cc'; else $(CYGPATH_W) '$(srcdir)/bounds1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_bounds1-bounds1.Tpo $(DEPDIR)/nnc_bounds1-bounds1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bounds1_CXXFLAGS) $(CXXFLAGS) -MT nnc_bounds1-bounds1.obj -MD -MP -MF $(DEPDIR)/nnc_bounds1-bounds1.Tpo -c -o nnc_bounds1-bounds1.obj `if test -f 'bounds1.cc'; then $(CYGPATH_W) 'bounds1.cc'; else $(CYGPATH_W) '$(srcdir)/bounds1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_bounds1-bounds1.Tpo $(DEPDIR)/nnc_bounds1-bounds1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='bounds1.cc' object='nnc_bounds1-bounds1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bounds1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_bounds1-bounds1.obj `if test -f 'bounds1.cc'; then $(CYGPATH_W) 'bounds1.cc'; else $(CYGPATH_W) '$(srcdir)/bounds1.cc'; fi`
 
 nnc_concatenate1-concatenate1.o: concatenate1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_concatenate1_CXXFLAGS) $(CXXFLAGS) -MT nnc_concatenate1-concatenate1.o -MD -MP -MF $(DEPDIR)/nnc_concatenate1-concatenate1.Tpo -c -o nnc_concatenate1-concatenate1.o `test -f 'concatenate1.cc' || echo '$(srcdir)/'`concatenate1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_concatenate1-concatenate1.Tpo $(DEPDIR)/nnc_concatenate1-concatenate1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_concatenate1_CXXFLAGS) $(CXXFLAGS) -MT nnc_concatenate1-concatenate1.o -MD -MP -MF $(DEPDIR)/nnc_concatenate1-concatenate1.Tpo -c -o nnc_concatenate1-concatenate1.o `test -f 'concatenate1.cc' || echo '$(srcdir)/'`concatenate1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_concatenate1-concatenate1.Tpo $(DEPDIR)/nnc_concatenate1-concatenate1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='concatenate1.cc' object='nnc_concatenate1-concatenate1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_concatenate1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_concatenate1-concatenate1.o `test -f 'concatenate1.cc' || echo '$(srcdir)/'`concatenate1.cc
 
 nnc_concatenate1-concatenate1.obj: concatenate1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_concatenate1_CXXFLAGS) $(CXXFLAGS) -MT nnc_concatenate1-concatenate1.obj -MD -MP -MF $(DEPDIR)/nnc_concatenate1-concatenate1.Tpo -c -o nnc_concatenate1-concatenate1.obj `if test -f 'concatenate1.cc'; then $(CYGPATH_W) 'concatenate1.cc'; else $(CYGPATH_W) '$(srcdir)/concatenate1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_concatenate1-concatenate1.Tpo $(DEPDIR)/nnc_concatenate1-concatenate1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_concatenate1_CXXFLAGS) $(CXXFLAGS) -MT nnc_concatenate1-concatenate1.obj -MD -MP -MF $(DEPDIR)/nnc_concatenate1-concatenate1.Tpo -c -o nnc_concatenate1-concatenate1.obj `if test -f 'concatenate1.cc'; then $(CYGPATH_W) 'concatenate1.cc'; else $(CYGPATH_W) '$(srcdir)/concatenate1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_concatenate1-concatenate1.Tpo $(DEPDIR)/nnc_concatenate1-concatenate1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='concatenate1.cc' object='nnc_concatenate1-concatenate1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_concatenate1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_concatenate1-concatenate1.obj `if test -f 'concatenate1.cc'; then $(CYGPATH_W) 'concatenate1.cc'; else $(CYGPATH_W) '$(srcdir)/concatenate1.cc'; fi`
 
 nnc_congruences1-congruences1.o: congruences1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_congruences1_CXXFLAGS) $(CXXFLAGS) -MT nnc_congruences1-congruences1.o -MD -MP -MF $(DEPDIR)/nnc_congruences1-congruences1.Tpo -c -o nnc_congruences1-congruences1.o `test -f 'congruences1.cc' || echo '$(srcdir)/'`congruences1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_congruences1-congruences1.Tpo $(DEPDIR)/nnc_congruences1-congruences1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_congruences1_CXXFLAGS) $(CXXFLAGS) -MT nnc_congruences1-congruences1.o -MD -MP -MF $(DEPDIR)/nnc_congruences1-congruences1.Tpo -c -o nnc_congruences1-congruences1.o `test -f 'congruences1.cc' || echo '$(srcdir)/'`congruences1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_congruences1-congruences1.Tpo $(DEPDIR)/nnc_congruences1-congruences1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='congruences1.cc' object='nnc_congruences1-congruences1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_congruences1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_congruences1-congruences1.o `test -f 'congruences1.cc' || echo '$(srcdir)/'`congruences1.cc
 
 nnc_congruences1-congruences1.obj: congruences1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_congruences1_CXXFLAGS) $(CXXFLAGS) -MT nnc_congruences1-congruences1.obj -MD -MP -MF $(DEPDIR)/nnc_congruences1-congruences1.Tpo -c -o nnc_congruences1-congruences1.obj `if test -f 'congruences1.cc'; then $(CYGPATH_W) 'congruences1.cc'; else $(CYGPATH_W) '$(srcdir)/congruences1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_congruences1-congruences1.Tpo $(DEPDIR)/nnc_congruences1-congruences1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_congruences1_CXXFLAGS) $(CXXFLAGS) -MT nnc_congruences1-congruences1.obj -MD -MP -MF $(DEPDIR)/nnc_congruences1-congruences1.Tpo -c -o nnc_congruences1-congruences1.obj `if test -f 'congruences1.cc'; then $(CYGPATH_W) 'congruences1.cc'; else $(CYGPATH_W) '$(srcdir)/congruences1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_congruences1-congruences1.Tpo $(DEPDIR)/nnc_congruences1-congruences1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='congruences1.cc' object='nnc_congruences1-congruences1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_congruences1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_congruences1-congruences1.obj `if test -f 'congruences1.cc'; then $(CYGPATH_W) 'congruences1.cc'; else $(CYGPATH_W) '$(srcdir)/congruences1.cc'; fi`
 
 nnc_constrains1-constrains1.o: constrains1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_constrains1_CXXFLAGS) $(CXXFLAGS) -MT nnc_constrains1-constrains1.o -MD -MP -MF $(DEPDIR)/nnc_constrains1-constrains1.Tpo -c -o nnc_constrains1-constrains1.o `test -f 'constrains1.cc' || echo '$(srcdir)/'`constrains1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_constrains1-constrains1.Tpo $(DEPDIR)/nnc_constrains1-constrains1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_constrains1_CXXFLAGS) $(CXXFLAGS) -MT nnc_constrains1-constrains1.o -MD -MP -MF $(DEPDIR)/nnc_constrains1-constrains1.Tpo -c -o nnc_constrains1-constrains1.o `test -f 'constrains1.cc' || echo '$(srcdir)/'`constrains1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_constrains1-constrains1.Tpo $(DEPDIR)/nnc_constrains1-constrains1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='constrains1.cc' object='nnc_constrains1-constrains1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_constrains1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_constrains1-constrains1.o `test -f 'constrains1.cc' || echo '$(srcdir)/'`constrains1.cc
 
 nnc_constrains1-constrains1.obj: constrains1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_constrains1_CXXFLAGS) $(CXXFLAGS) -MT nnc_constrains1-constrains1.obj -MD -MP -MF $(DEPDIR)/nnc_constrains1-constrains1.Tpo -c -o nnc_constrains1-constrains1.obj `if test -f 'constrains1.cc'; then $(CYGPATH_W) 'constrains1.cc'; else $(CYGPATH_W) '$(srcdir)/constrains1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_constrains1-constrains1.Tpo $(DEPDIR)/nnc_constrains1-constrains1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_constrains1_CXXFLAGS) $(CXXFLAGS) -MT nnc_constrains1-constrains1.obj -MD -MP -MF $(DEPDIR)/nnc_constrains1-constrains1.Tpo -c -o nnc_constrains1-constrains1.obj `if test -f 'constrains1.cc'; then $(CYGPATH_W) 'constrains1.cc'; else $(CYGPATH_W) '$(srcdir)/constrains1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_constrains1-constrains1.Tpo $(DEPDIR)/nnc_constrains1-constrains1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='constrains1.cc' object='nnc_constrains1-constrains1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_constrains1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_constrains1-constrains1.obj `if test -f 'constrains1.cc'; then $(CYGPATH_W) 'constrains1.cc'; else $(CYGPATH_W) '$(srcdir)/constrains1.cc'; fi`
 
 nnc_constraints1-constraints1.o: constraints1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_constraints1_CXXFLAGS) $(CXXFLAGS) -MT nnc_constraints1-constraints1.o -MD -MP -MF $(DEPDIR)/nnc_constraints1-constraints1.Tpo -c -o nnc_constraints1-constraints1.o `test -f 'constraints1.cc' || echo '$(srcdir)/'`constraints1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_constraints1-constraints1.Tpo $(DEPDIR)/nnc_constraints1-constraints1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_constraints1_CXXFLAGS) $(CXXFLAGS) -MT nnc_constraints1-constraints1.o -MD -MP -MF $(DEPDIR)/nnc_constraints1-constraints1.Tpo -c -o nnc_constraints1-constraints1.o `test -f 'constraints1.cc' || echo '$(srcdir)/'`constraints1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_constraints1-constraints1.Tpo $(DEPDIR)/nnc_constraints1-constraints1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='constraints1.cc' object='nnc_constraints1-constraints1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_constraints1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_constraints1-constraints1.o `test -f 'constraints1.cc' || echo '$(srcdir)/'`constraints1.cc
 
 nnc_constraints1-constraints1.obj: constraints1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_constraints1_CXXFLAGS) $(CXXFLAGS) -MT nnc_constraints1-constraints1.obj -MD -MP -MF $(DEPDIR)/nnc_constraints1-constraints1.Tpo -c -o nnc_constraints1-constraints1.obj `if test -f 'constraints1.cc'; then $(CYGPATH_W) 'constraints1.cc'; else $(CYGPATH_W) '$(srcdir)/constraints1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_constraints1-constraints1.Tpo $(DEPDIR)/nnc_constraints1-constraints1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_constraints1_CXXFLAGS) $(CXXFLAGS) -MT nnc_constraints1-constraints1.obj -MD -MP -MF $(DEPDIR)/nnc_constraints1-constraints1.Tpo -c -o nnc_constraints1-constraints1.obj `if test -f 'constraints1.cc'; then $(CYGPATH_W) 'constraints1.cc'; else $(CYGPATH_W) '$(srcdir)/constraints1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_constraints1-constraints1.Tpo $(DEPDIR)/nnc_constraints1-constraints1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='constraints1.cc' object='nnc_constraints1-constraints1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_constraints1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_constraints1-constraints1.obj `if test -f 'constraints1.cc'; then $(CYGPATH_W) 'constraints1.cc'; else $(CYGPATH_W) '$(srcdir)/constraints1.cc'; fi`
 
 nnc_contains1-contains1.o: contains1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_contains1_CXXFLAGS) $(CXXFLAGS) -MT nnc_contains1-contains1.o -MD -MP -MF $(DEPDIR)/nnc_contains1-contains1.Tpo -c -o nnc_contains1-contains1.o `test -f 'contains1.cc' || echo '$(srcdir)/'`contains1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_contains1-contains1.Tpo $(DEPDIR)/nnc_contains1-contains1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_contains1_CXXFLAGS) $(CXXFLAGS) -MT nnc_contains1-contains1.o -MD -MP -MF $(DEPDIR)/nnc_contains1-contains1.Tpo -c -o nnc_contains1-contains1.o `test -f 'contains1.cc' || echo '$(srcdir)/'`contains1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_contains1-contains1.Tpo $(DEPDIR)/nnc_contains1-contains1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='contains1.cc' object='nnc_contains1-contains1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_contains1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_contains1-contains1.o `test -f 'contains1.cc' || echo '$(srcdir)/'`contains1.cc
 
 nnc_contains1-contains1.obj: contains1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_contains1_CXXFLAGS) $(CXXFLAGS) -MT nnc_contains1-contains1.obj -MD -MP -MF $(DEPDIR)/nnc_contains1-contains1.Tpo -c -o nnc_contains1-contains1.obj `if test -f 'contains1.cc'; then $(CYGPATH_W) 'contains1.cc'; else $(CYGPATH_W) '$(srcdir)/contains1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_contains1-contains1.Tpo $(DEPDIR)/nnc_contains1-contains1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_contains1_CXXFLAGS) $(CXXFLAGS) -MT nnc_contains1-contains1.obj -MD -MP -MF $(DEPDIR)/nnc_contains1-contains1.Tpo -c -o nnc_contains1-contains1.obj `if test -f 'contains1.cc'; then $(CYGPATH_W) 'contains1.cc'; else $(CYGPATH_W) '$(srcdir)/contains1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_contains1-contains1.Tpo $(DEPDIR)/nnc_contains1-contains1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='contains1.cc' object='nnc_contains1-contains1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_contains1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_contains1-contains1.obj `if test -f 'contains1.cc'; then $(CYGPATH_W) 'contains1.cc'; else $(CYGPATH_W) '$(srcdir)/contains1.cc'; fi`
 
 nnc_containsintegerpoint1-containsintegerpoint1.o: containsintegerpoint1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_containsintegerpoint1_CXXFLAGS) $(CXXFLAGS) -MT nnc_containsintegerpoint1-containsintegerpoint1.o -MD -MP -MF $(DEPDIR)/nnc_containsintegerpoint1-containsintegerpoint1.Tpo -c -o nnc_containsintegerpoint1-containsintegerpoint1.o `test -f 'containsintegerpoint1.cc' || echo '$(srcdir)/'`containsintegerpoint1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_containsintegerpoint1-containsintegerpoint1.Tpo $(DEPDIR)/nnc_containsintegerpoint1-containsintegerpoint1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_containsintegerpoint1_CXXFLAGS) $(CXXFLAGS) -MT nnc_containsintegerpoint1-containsintegerpoint1.o -MD -MP -MF $(DEPDIR)/nnc_containsintegerpoint1-containsintegerpoint1.Tpo -c -o nnc_containsintegerpoint1-containsintegerpoint1.o `test -f 'containsintegerpoint1.cc' || echo '$(srcdir)/'`containsintegerpoint1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_containsintegerpoint1-containsintegerpoint1.Tpo $(DEPDIR)/nnc_containsintegerpoint1-containsintegerpoint1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='containsintegerpoint1.cc' object='nnc_containsintegerpoint1-containsintegerpoint1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_containsintegerpoint1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_containsintegerpoint1-containsintegerpoint1.o `test -f 'containsintegerpoint1.cc' || echo '$(srcdir)/'`containsintegerpoint1.cc
 
 nnc_containsintegerpoint1-containsintegerpoint1.obj: containsintegerpoint1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_containsintegerpoint1_CXXFLAGS) $(CXXFLAGS) -MT nnc_containsintegerpoint1-containsintegerpoint1.obj -MD -MP -MF $(DEPDIR)/nnc_containsintegerpoint1-containsintegerpoint1.Tpo -c -o nnc_containsintegerpoint1-containsintegerpoint1.obj `if test -f 'containsintegerpoint1.cc'; then $(CYGPATH_W) 'containsintegerpoint1.cc'; else $(CYGPATH_W) '$(srcdir)/containsintegerpoint1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_containsintegerpoint1-containsintegerpoint1.Tpo $(DEPDIR)/nnc_containsintegerpoint1-containsintegerpoint1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_containsintegerpoint1_CXXFLAGS) $(CXXFLAGS) -MT nnc_containsintegerpoint1-containsintegerpoint1.obj -MD -MP -MF $(DEPDIR)/nnc_containsintegerpoint1-containsintegerpoint1.Tpo -c -o nnc_containsintegerpoint1-containsintegerpoint1.obj `if test -f 'containsintegerpoint1.cc'; then $(CYGPATH_W) 'containsintegerpoint1.cc'; else $(CYGPATH_W) '$(srcdir)/containsintegerpoint1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_containsintegerpoint1-containsintegerpoint1.Tpo $(DEPDIR)/nnc_containsintegerpoint1-containsintegerpoint1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='containsintegerpoint1.cc' object='nnc_containsintegerpoint1-containsintegerpoint1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_containsintegerpoint1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_containsintegerpoint1-containsintegerpoint1.obj `if test -f 'containsintegerpoint1.cc'; then $(CYGPATH_W) 'containsintegerpoint1.cc'; else $(CYGPATH_W) '$(srcdir)/containsintegerpoint1.cc'; fi`
 
 nnc_disjoint1-disjoint1.o: disjoint1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_disjoint1_CXXFLAGS) $(CXXFLAGS) -MT nnc_disjoint1-disjoint1.o -MD -MP -MF $(DEPDIR)/nnc_disjoint1-disjoint1.Tpo -c -o nnc_disjoint1-disjoint1.o `test -f 'disjoint1.cc' || echo '$(srcdir)/'`disjoint1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_disjoint1-disjoint1.Tpo $(DEPDIR)/nnc_disjoint1-disjoint1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_disjoint1_CXXFLAGS) $(CXXFLAGS) -MT nnc_disjoint1-disjoint1.o -MD -MP -MF $(DEPDIR)/nnc_disjoint1-disjoint1.Tpo -c -o nnc_disjoint1-disjoint1.o `test -f 'disjoint1.cc' || echo '$(srcdir)/'`disjoint1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_disjoint1-disjoint1.Tpo $(DEPDIR)/nnc_disjoint1-disjoint1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='disjoint1.cc' object='nnc_disjoint1-disjoint1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_disjoint1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_disjoint1-disjoint1.o `test -f 'disjoint1.cc' || echo '$(srcdir)/'`disjoint1.cc
 
 nnc_disjoint1-disjoint1.obj: disjoint1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_disjoint1_CXXFLAGS) $(CXXFLAGS) -MT nnc_disjoint1-disjoint1.obj -MD -MP -MF $(DEPDIR)/nnc_disjoint1-disjoint1.Tpo -c -o nnc_disjoint1-disjoint1.obj `if test -f 'disjoint1.cc'; then $(CYGPATH_W) 'disjoint1.cc'; else $(CYGPATH_W) '$(srcdir)/disjoint1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_disjoint1-disjoint1.Tpo $(DEPDIR)/nnc_disjoint1-disjoint1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_disjoint1_CXXFLAGS) $(CXXFLAGS) -MT nnc_disjoint1-disjoint1.obj -MD -MP -MF $(DEPDIR)/nnc_disjoint1-disjoint1.Tpo -c -o nnc_disjoint1-disjoint1.obj `if test -f 'disjoint1.cc'; then $(CYGPATH_W) 'disjoint1.cc'; else $(CYGPATH_W) '$(srcdir)/disjoint1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_disjoint1-disjoint1.Tpo $(DEPDIR)/nnc_disjoint1-disjoint1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='disjoint1.cc' object='nnc_disjoint1-disjoint1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_disjoint1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_disjoint1-disjoint1.obj `if test -f 'disjoint1.cc'; then $(CYGPATH_W) 'disjoint1.cc'; else $(CYGPATH_W) '$(srcdir)/disjoint1.cc'; fi`
 
+nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.o: dropsomenonintegerpoints1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_dropsomenonintegerpoints1_CXXFLAGS) $(CXXFLAGS) -MT nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.o -MD -MP -MF $(DEPDIR)/nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.Tpo -c -o nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.o `test -f 'dropsomenonintegerpoints1.cc' || echo '$(srcdir)/'`dropsomenonintegerpoints1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.Tpo $(DEPDIR)/nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='dropsomenonintegerpoints1.cc' object='nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_dropsomenonintegerpoints1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.o `test -f 'dropsomenonintegerpoints1.cc' || echo '$(srcdir)/'`dropsomenonintegerpoints1.cc
+
+nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.obj: dropsomenonintegerpoints1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_dropsomenonintegerpoints1_CXXFLAGS) $(CXXFLAGS) -MT nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.obj -MD -MP -MF $(DEPDIR)/nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.Tpo -c -o nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.obj `if test -f 'dropsomenonintegerpoints1.cc'; then $(CYGPATH_W) 'dropsomenonintegerpoints1.cc'; else $(CYGPATH_W) '$(srcd [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.Tpo $(DEPDIR)/nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='dropsomenonintegerpoints1.cc' object='nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_dropsomenonintegerpoints1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.obj `if test -f 'dropsomenonintegerpoints1.cc'; then $(CYGPATH_W) 'dropsomenonintegerpoints1.cc'; else $(CYGPATH_W) '$(srcdir)/dropsomenonintegerpoints1.cc'; fi`
+
 nnc_empty1-empty1.o: empty1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_empty1_CXXFLAGS) $(CXXFLAGS) -MT nnc_empty1-empty1.o -MD -MP -MF $(DEPDIR)/nnc_empty1-empty1.Tpo -c -o nnc_empty1-empty1.o `test -f 'empty1.cc' || echo '$(srcdir)/'`empty1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_empty1-empty1.Tpo $(DEPDIR)/nnc_empty1-empty1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_empty1_CXXFLAGS) $(CXXFLAGS) -MT nnc_empty1-empty1.o -MD -MP -MF $(DEPDIR)/nnc_empty1-empty1.Tpo -c -o nnc_empty1-empty1.o `test -f 'empty1.cc' || echo '$(srcdir)/'`empty1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_empty1-empty1.Tpo $(DEPDIR)/nnc_empty1-empty1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='empty1.cc' object='nnc_empty1-empty1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_empty1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_empty1-empty1.o `test -f 'empty1.cc' || echo '$(srcdir)/'`empty1.cc
 
 nnc_empty1-empty1.obj: empty1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_empty1_CXXFLAGS) $(CXXFLAGS) -MT nnc_empty1-empty1.obj -MD -MP -MF $(DEPDIR)/nnc_empty1-empty1.Tpo -c -o nnc_empty1-empty1.obj `if test -f 'empty1.cc'; then $(CYGPATH_W) 'empty1.cc'; else $(CYGPATH_W) '$(srcdir)/empty1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_empty1-empty1.Tpo $(DEPDIR)/nnc_empty1-empty1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_empty1_CXXFLAGS) $(CXXFLAGS) -MT nnc_empty1-empty1.obj -MD -MP -MF $(DEPDIR)/nnc_empty1-empty1.Tpo -c -o nnc_empty1-empty1.obj `if test -f 'empty1.cc'; then $(CYGPATH_W) 'empty1.cc'; else $(CYGPATH_W) '$(srcdir)/empty1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_empty1-empty1.Tpo $(DEPDIR)/nnc_empty1-empty1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='empty1.cc' object='nnc_empty1-empty1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_empty1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_empty1-empty1.obj `if test -f 'empty1.cc'; then $(CYGPATH_W) 'empty1.cc'; else $(CYGPATH_W) '$(srcdir)/empty1.cc'; fi`
 
 nnc_equals1-equals1.o: equals1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_equals1_CXXFLAGS) $(CXXFLAGS) -MT nnc_equals1-equals1.o -MD -MP -MF $(DEPDIR)/nnc_equals1-equals1.Tpo -c -o nnc_equals1-equals1.o `test -f 'equals1.cc' || echo '$(srcdir)/'`equals1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_equals1-equals1.Tpo $(DEPDIR)/nnc_equals1-equals1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_equals1_CXXFLAGS) $(CXXFLAGS) -MT nnc_equals1-equals1.o -MD -MP -MF $(DEPDIR)/nnc_equals1-equals1.Tpo -c -o nnc_equals1-equals1.o `test -f 'equals1.cc' || echo '$(srcdir)/'`equals1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_equals1-equals1.Tpo $(DEPDIR)/nnc_equals1-equals1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='equals1.cc' object='nnc_equals1-equals1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_equals1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_equals1-equals1.o `test -f 'equals1.cc' || echo '$(srcdir)/'`equals1.cc
 
 nnc_equals1-equals1.obj: equals1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_equals1_CXXFLAGS) $(CXXFLAGS) -MT nnc_equals1-equals1.obj -MD -MP -MF $(DEPDIR)/nnc_equals1-equals1.Tpo -c -o nnc_equals1-equals1.obj `if test -f 'equals1.cc'; then $(CYGPATH_W) 'equals1.cc'; else $(CYGPATH_W) '$(srcdir)/equals1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_equals1-equals1.Tpo $(DEPDIR)/nnc_equals1-equals1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_equals1_CXXFLAGS) $(CXXFLAGS) -MT nnc_equals1-equals1.obj -MD -MP -MF $(DEPDIR)/nnc_equals1-equals1.Tpo -c -o nnc_equals1-equals1.obj `if test -f 'equals1.cc'; then $(CYGPATH_W) 'equals1.cc'; else $(CYGPATH_W) '$(srcdir)/equals1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_equals1-equals1.Tpo $(DEPDIR)/nnc_equals1-equals1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='equals1.cc' object='nnc_equals1-equals1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_equals1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_equals1-equals1.obj `if test -f 'equals1.cc'; then $(CYGPATH_W) 'equals1.cc'; else $(CYGPATH_W) '$(srcdir)/equals1.cc'; fi`
 
 nnc_exceptions1-exceptions1.o: exceptions1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_exceptions1_CXXFLAGS) $(CXXFLAGS) -MT nnc_exceptions1-exceptions1.o -MD -MP -MF $(DEPDIR)/nnc_exceptions1-exceptions1.Tpo -c -o nnc_exceptions1-exceptions1.o `test -f 'exceptions1.cc' || echo '$(srcdir)/'`exceptions1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_exceptions1-exceptions1.Tpo $(DEPDIR)/nnc_exceptions1-exceptions1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_exceptions1_CXXFLAGS) $(CXXFLAGS) -MT nnc_exceptions1-exceptions1.o -MD -MP -MF $(DEPDIR)/nnc_exceptions1-exceptions1.Tpo -c -o nnc_exceptions1-exceptions1.o `test -f 'exceptions1.cc' || echo '$(srcdir)/'`exceptions1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_exceptions1-exceptions1.Tpo $(DEPDIR)/nnc_exceptions1-exceptions1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='exceptions1.cc' object='nnc_exceptions1-exceptions1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_exceptions1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_exceptions1-exceptions1.o `test -f 'exceptions1.cc' || echo '$(srcdir)/'`exceptions1.cc
 
 nnc_exceptions1-exceptions1.obj: exceptions1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_exceptions1_CXXFLAGS) $(CXXFLAGS) -MT nnc_exceptions1-exceptions1.obj -MD -MP -MF $(DEPDIR)/nnc_exceptions1-exceptions1.Tpo -c -o nnc_exceptions1-exceptions1.obj `if test -f 'exceptions1.cc'; then $(CYGPATH_W) 'exceptions1.cc'; else $(CYGPATH_W) '$(srcdir)/exceptions1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_exceptions1-exceptions1.Tpo $(DEPDIR)/nnc_exceptions1-exceptions1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_exceptions1_CXXFLAGS) $(CXXFLAGS) -MT nnc_exceptions1-exceptions1.obj -MD -MP -MF $(DEPDIR)/nnc_exceptions1-exceptions1.Tpo -c -o nnc_exceptions1-exceptions1.obj `if test -f 'exceptions1.cc'; then $(CYGPATH_W) 'exceptions1.cc'; else $(CYGPATH_W) '$(srcdir)/exceptions1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_exceptions1-exceptions1.Tpo $(DEPDIR)/nnc_exceptions1-exceptions1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='exceptions1.cc' object='nnc_exceptions1-exceptions1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_exceptions1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_exceptions1-exceptions1.obj `if test -f 'exceptions1.cc'; then $(CYGPATH_W) 'exceptions1.cc'; else $(CYGPATH_W) '$(srcdir)/exceptions1.cc'; fi`
 
 nnc_exceptions3-exceptions3.o: exceptions3.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_exceptions3_CXXFLAGS) $(CXXFLAGS) -MT nnc_exceptions3-exceptions3.o -MD -MP -MF $(DEPDIR)/nnc_exceptions3-exceptions3.Tpo -c -o nnc_exceptions3-exceptions3.o `test -f 'exceptions3.cc' || echo '$(srcdir)/'`exceptions3.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_exceptions3-exceptions3.Tpo $(DEPDIR)/nnc_exceptions3-exceptions3.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_exceptions3_CXXFLAGS) $(CXXFLAGS) -MT nnc_exceptions3-exceptions3.o -MD -MP -MF $(DEPDIR)/nnc_exceptions3-exceptions3.Tpo -c -o nnc_exceptions3-exceptions3.o `test -f 'exceptions3.cc' || echo '$(srcdir)/'`exceptions3.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_exceptions3-exceptions3.Tpo $(DEPDIR)/nnc_exceptions3-exceptions3.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='exceptions3.cc' object='nnc_exceptions3-exceptions3.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_exceptions3_CXXFLAGS) $(CXXFLAGS) -c -o nnc_exceptions3-exceptions3.o `test -f 'exceptions3.cc' || echo '$(srcdir)/'`exceptions3.cc
 
 nnc_exceptions3-exceptions3.obj: exceptions3.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_exceptions3_CXXFLAGS) $(CXXFLAGS) -MT nnc_exceptions3-exceptions3.obj -MD -MP -MF $(DEPDIR)/nnc_exceptions3-exceptions3.Tpo -c -o nnc_exceptions3-exceptions3.obj `if test -f 'exceptions3.cc'; then $(CYGPATH_W) 'exceptions3.cc'; else $(CYGPATH_W) '$(srcdir)/exceptions3.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_exceptions3-exceptions3.Tpo $(DEPDIR)/nnc_exceptions3-exceptions3.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_exceptions3_CXXFLAGS) $(CXXFLAGS) -MT nnc_exceptions3-exceptions3.obj -MD -MP -MF $(DEPDIR)/nnc_exceptions3-exceptions3.Tpo -c -o nnc_exceptions3-exceptions3.obj `if test -f 'exceptions3.cc'; then $(CYGPATH_W) 'exceptions3.cc'; else $(CYGPATH_W) '$(srcdir)/exceptions3.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_exceptions3-exceptions3.Tpo $(DEPDIR)/nnc_exceptions3-exceptions3.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='exceptions3.cc' object='nnc_exceptions3-exceptions3.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_exceptions3_CXXFLAGS) $(CXXFLAGS) -c -o nnc_exceptions3-exceptions3.obj `if test -f 'exceptions3.cc'; then $(CYGPATH_W) 'exceptions3.cc'; else $(CYGPATH_W) '$(srcdir)/exceptions3.cc'; fi`
 
 nnc_expandspacedim1-expandspacedim1.o: expandspacedim1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_expandspacedim1_CXXFLAGS) $(CXXFLAGS) -MT nnc_expandspacedim1-expandspacedim1.o -MD -MP -MF $(DEPDIR)/nnc_expandspacedim1-expandspacedim1.Tpo -c -o nnc_expandspacedim1-expandspacedim1.o `test -f 'expandspacedim1.cc' || echo '$(srcdir)/'`expandspacedim1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_expandspacedim1-expandspacedim1.Tpo $(DEPDIR)/nnc_expandspacedim1-expandspacedim1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_expandspacedim1_CXXFLAGS) $(CXXFLAGS) -MT nnc_expandspacedim1-expandspacedim1.o -MD -MP -MF $(DEPDIR)/nnc_expandspacedim1-expandspacedim1.Tpo -c -o nnc_expandspacedim1-expandspacedim1.o `test -f 'expandspacedim1.cc' || echo '$(srcdir)/'`expandspacedim1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_expandspacedim1-expandspacedim1.Tpo $(DEPDIR)/nnc_expandspacedim1-expandspacedim1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='expandspacedim1.cc' object='nnc_expandspacedim1-expandspacedim1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_expandspacedim1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_expandspacedim1-expandspacedim1.o `test -f 'expandspacedim1.cc' || echo '$(srcdir)/'`expandspacedim1.cc
 
 nnc_expandspacedim1-expandspacedim1.obj: expandspacedim1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_expandspacedim1_CXXFLAGS) $(CXXFLAGS) -MT nnc_expandspacedim1-expandspacedim1.obj -MD -MP -MF $(DEPDIR)/nnc_expandspacedim1-expandspacedim1.Tpo -c -o nnc_expandspacedim1-expandspacedim1.obj `if test -f 'expandspacedim1.cc'; then $(CYGPATH_W) 'expandspacedim1.cc'; else $(CYGPATH_W) '$(srcdir)/expandspacedim1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_expandspacedim1-expandspacedim1.Tpo $(DEPDIR)/nnc_expandspacedim1-expandspacedim1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_expandspacedim1_CXXFLAGS) $(CXXFLAGS) -MT nnc_expandspacedim1-expandspacedim1.obj -MD -MP -MF $(DEPDIR)/nnc_expandspacedim1-expandspacedim1.Tpo -c -o nnc_expandspacedim1-expandspacedim1.obj `if test -f 'expandspacedim1.cc'; then $(CYGPATH_W) 'expandspacedim1.cc'; else $(CYGPATH_W) '$(srcdir)/expandspacedim1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_expandspacedim1-expandspacedim1.Tpo $(DEPDIR)/nnc_expandspacedim1-expandspacedim1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='expandspacedim1.cc' object='nnc_expandspacedim1-expandspacedim1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_expandspacedim1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_expandspacedim1-expandspacedim1.obj `if test -f 'expandspacedim1.cc'; then $(CYGPATH_W) 'expandspacedim1.cc'; else $(CYGPATH_W) '$(srcdir)/expandspacedim1.cc'; fi`
 
 nnc_foldspacedims1-foldspacedims1.o: foldspacedims1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_foldspacedims1_CXXFLAGS) $(CXXFLAGS) -MT nnc_foldspacedims1-foldspacedims1.o -MD -MP -MF $(DEPDIR)/nnc_foldspacedims1-foldspacedims1.Tpo -c -o nnc_foldspacedims1-foldspacedims1.o `test -f 'foldspacedims1.cc' || echo '$(srcdir)/'`foldspacedims1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_foldspacedims1-foldspacedims1.Tpo $(DEPDIR)/nnc_foldspacedims1-foldspacedims1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_foldspacedims1_CXXFLAGS) $(CXXFLAGS) -MT nnc_foldspacedims1-foldspacedims1.o -MD -MP -MF $(DEPDIR)/nnc_foldspacedims1-foldspacedims1.Tpo -c -o nnc_foldspacedims1-foldspacedims1.o `test -f 'foldspacedims1.cc' || echo '$(srcdir)/'`foldspacedims1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_foldspacedims1-foldspacedims1.Tpo $(DEPDIR)/nnc_foldspacedims1-foldspacedims1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='foldspacedims1.cc' object='nnc_foldspacedims1-foldspacedims1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_foldspacedims1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_foldspacedims1-foldspacedims1.o `test -f 'foldspacedims1.cc' || echo '$(srcdir)/'`foldspacedims1.cc
 
 nnc_foldspacedims1-foldspacedims1.obj: foldspacedims1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_foldspacedims1_CXXFLAGS) $(CXXFLAGS) -MT nnc_foldspacedims1-foldspacedims1.obj -MD -MP -MF $(DEPDIR)/nnc_foldspacedims1-foldspacedims1.Tpo -c -o nnc_foldspacedims1-foldspacedims1.obj `if test -f 'foldspacedims1.cc'; then $(CYGPATH_W) 'foldspacedims1.cc'; else $(CYGPATH_W) '$(srcdir)/foldspacedims1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_foldspacedims1-foldspacedims1.Tpo $(DEPDIR)/nnc_foldspacedims1-foldspacedims1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_foldspacedims1_CXXFLAGS) $(CXXFLAGS) -MT nnc_foldspacedims1-foldspacedims1.obj -MD -MP -MF $(DEPDIR)/nnc_foldspacedims1-foldspacedims1.Tpo -c -o nnc_foldspacedims1-foldspacedims1.obj `if test -f 'foldspacedims1.cc'; then $(CYGPATH_W) 'foldspacedims1.cc'; else $(CYGPATH_W) '$(srcdir)/foldspacedims1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_foldspacedims1-foldspacedims1.Tpo $(DEPDIR)/nnc_foldspacedims1-foldspacedims1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='foldspacedims1.cc' object='nnc_foldspacedims1-foldspacedims1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_foldspacedims1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_foldspacedims1-foldspacedims1.obj `if test -f 'foldspacedims1.cc'; then $(CYGPATH_W) 'foldspacedims1.cc'; else $(CYGPATH_W) '$(srcdir)/foldspacedims1.cc'; fi`
 
 nnc_frombdshape1-frombdshape1.o: frombdshape1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frombdshape1_CXXFLAGS) $(CXXFLAGS) -MT nnc_frombdshape1-frombdshape1.o -MD -MP -MF $(DEPDIR)/nnc_frombdshape1-frombdshape1.Tpo -c -o nnc_frombdshape1-frombdshape1.o `test -f 'frombdshape1.cc' || echo '$(srcdir)/'`frombdshape1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_frombdshape1-frombdshape1.Tpo $(DEPDIR)/nnc_frombdshape1-frombdshape1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frombdshape1_CXXFLAGS) $(CXXFLAGS) -MT nnc_frombdshape1-frombdshape1.o -MD -MP -MF $(DEPDIR)/nnc_frombdshape1-frombdshape1.Tpo -c -o nnc_frombdshape1-frombdshape1.o `test -f 'frombdshape1.cc' || echo '$(srcdir)/'`frombdshape1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_frombdshape1-frombdshape1.Tpo $(DEPDIR)/nnc_frombdshape1-frombdshape1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='frombdshape1.cc' object='nnc_frombdshape1-frombdshape1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frombdshape1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_frombdshape1-frombdshape1.o `test -f 'frombdshape1.cc' || echo '$(srcdir)/'`frombdshape1.cc
 
 nnc_frombdshape1-frombdshape1.obj: frombdshape1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frombdshape1_CXXFLAGS) $(CXXFLAGS) -MT nnc_frombdshape1-frombdshape1.obj -MD -MP -MF $(DEPDIR)/nnc_frombdshape1-frombdshape1.Tpo -c -o nnc_frombdshape1-frombdshape1.obj `if test -f 'frombdshape1.cc'; then $(CYGPATH_W) 'frombdshape1.cc'; else $(CYGPATH_W) '$(srcdir)/frombdshape1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_frombdshape1-frombdshape1.Tpo $(DEPDIR)/nnc_frombdshape1-frombdshape1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frombdshape1_CXXFLAGS) $(CXXFLAGS) -MT nnc_frombdshape1-frombdshape1.obj -MD -MP -MF $(DEPDIR)/nnc_frombdshape1-frombdshape1.Tpo -c -o nnc_frombdshape1-frombdshape1.obj `if test -f 'frombdshape1.cc'; then $(CYGPATH_W) 'frombdshape1.cc'; else $(CYGPATH_W) '$(srcdir)/frombdshape1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_frombdshape1-frombdshape1.Tpo $(DEPDIR)/nnc_frombdshape1-frombdshape1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='frombdshape1.cc' object='nnc_frombdshape1-frombdshape1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frombdshape1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_frombdshape1-frombdshape1.obj `if test -f 'frombdshape1.cc'; then $(CYGPATH_W) 'frombdshape1.cc'; else $(CYGPATH_W) '$(srcdir)/frombdshape1.cc'; fi`
 
 nnc_frombox1-frombox1.o: frombox1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frombox1_CXXFLAGS) $(CXXFLAGS) -MT nnc_frombox1-frombox1.o -MD -MP -MF $(DEPDIR)/nnc_frombox1-frombox1.Tpo -c -o nnc_frombox1-frombox1.o `test -f 'frombox1.cc' || echo '$(srcdir)/'`frombox1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_frombox1-frombox1.Tpo $(DEPDIR)/nnc_frombox1-frombox1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frombox1_CXXFLAGS) $(CXXFLAGS) -MT nnc_frombox1-frombox1.o -MD -MP -MF $(DEPDIR)/nnc_frombox1-frombox1.Tpo -c -o nnc_frombox1-frombox1.o `test -f 'frombox1.cc' || echo '$(srcdir)/'`frombox1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_frombox1-frombox1.Tpo $(DEPDIR)/nnc_frombox1-frombox1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='frombox1.cc' object='nnc_frombox1-frombox1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frombox1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_frombox1-frombox1.o `test -f 'frombox1.cc' || echo '$(srcdir)/'`frombox1.cc
 
 nnc_frombox1-frombox1.obj: frombox1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frombox1_CXXFLAGS) $(CXXFLAGS) -MT nnc_frombox1-frombox1.obj -MD -MP -MF $(DEPDIR)/nnc_frombox1-frombox1.Tpo -c -o nnc_frombox1-frombox1.obj `if test -f 'frombox1.cc'; then $(CYGPATH_W) 'frombox1.cc'; else $(CYGPATH_W) '$(srcdir)/frombox1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_frombox1-frombox1.Tpo $(DEPDIR)/nnc_frombox1-frombox1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frombox1_CXXFLAGS) $(CXXFLAGS) -MT nnc_frombox1-frombox1.obj -MD -MP -MF $(DEPDIR)/nnc_frombox1-frombox1.Tpo -c -o nnc_frombox1-frombox1.obj `if test -f 'frombox1.cc'; then $(CYGPATH_W) 'frombox1.cc'; else $(CYGPATH_W) '$(srcdir)/frombox1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_frombox1-frombox1.Tpo $(DEPDIR)/nnc_frombox1-frombox1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='frombox1.cc' object='nnc_frombox1-frombox1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frombox1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_frombox1-frombox1.obj `if test -f 'frombox1.cc'; then $(CYGPATH_W) 'frombox1.cc'; else $(CYGPATH_W) '$(srcdir)/frombox1.cc'; fi`
 
 nnc_fromgrid1-fromgrid1.o: fromgrid1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_fromgrid1_CXXFLAGS) $(CXXFLAGS) -MT nnc_fromgrid1-fromgrid1.o -MD -MP -MF $(DEPDIR)/nnc_fromgrid1-fromgrid1.Tpo -c -o nnc_fromgrid1-fromgrid1.o `test -f 'fromgrid1.cc' || echo '$(srcdir)/'`fromgrid1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_fromgrid1-fromgrid1.Tpo $(DEPDIR)/nnc_fromgrid1-fromgrid1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_fromgrid1_CXXFLAGS) $(CXXFLAGS) -MT nnc_fromgrid1-fromgrid1.o -MD -MP -MF $(DEPDIR)/nnc_fromgrid1-fromgrid1.Tpo -c -o nnc_fromgrid1-fromgrid1.o `test -f 'fromgrid1.cc' || echo '$(srcdir)/'`fromgrid1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_fromgrid1-fromgrid1.Tpo $(DEPDIR)/nnc_fromgrid1-fromgrid1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='fromgrid1.cc' object='nnc_fromgrid1-fromgrid1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_fromgrid1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_fromgrid1-fromgrid1.o `test -f 'fromgrid1.cc' || echo '$(srcdir)/'`fromgrid1.cc
 
 nnc_fromgrid1-fromgrid1.obj: fromgrid1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_fromgrid1_CXXFLAGS) $(CXXFLAGS) -MT nnc_fromgrid1-fromgrid1.obj -MD -MP -MF $(DEPDIR)/nnc_fromgrid1-fromgrid1.Tpo -c -o nnc_fromgrid1-fromgrid1.obj `if test -f 'fromgrid1.cc'; then $(CYGPATH_W) 'fromgrid1.cc'; else $(CYGPATH_W) '$(srcdir)/fromgrid1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_fromgrid1-fromgrid1.Tpo $(DEPDIR)/nnc_fromgrid1-fromgrid1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_fromgrid1_CXXFLAGS) $(CXXFLAGS) -MT nnc_fromgrid1-fromgrid1.obj -MD -MP -MF $(DEPDIR)/nnc_fromgrid1-fromgrid1.Tpo -c -o nnc_fromgrid1-fromgrid1.obj `if test -f 'fromgrid1.cc'; then $(CYGPATH_W) 'fromgrid1.cc'; else $(CYGPATH_W) '$(srcdir)/fromgrid1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_fromgrid1-fromgrid1.Tpo $(DEPDIR)/nnc_fromgrid1-fromgrid1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='fromgrid1.cc' object='nnc_fromgrid1-fromgrid1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_fromgrid1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_fromgrid1-fromgrid1.obj `if test -f 'fromgrid1.cc'; then $(CYGPATH_W) 'fromgrid1.cc'; else $(CYGPATH_W) '$(srcdir)/fromgrid1.cc'; fi`
 
 nnc_fromoctagonalshape1-fromoctagonalshape1.o: fromoctagonalshape1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_fromoctagonalshape1_CXXFLAGS) $(CXXFLAGS) -MT nnc_fromoctagonalshape1-fromoctagonalshape1.o -MD -MP -MF $(DEPDIR)/nnc_fromoctagonalshape1-fromoctagonalshape1.Tpo -c -o nnc_fromoctagonalshape1-fromoctagonalshape1.o `test -f 'fromoctagonalshape1.cc' || echo '$(srcdir)/'`fromoctagonalshape1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_fromoctagonalshape1-fromoctagonalshape1.Tpo $(DEPDIR)/nnc_fromoctagonalshape1-fromoctagonalshape1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_fromoctagonalshape1_CXXFLAGS) $(CXXFLAGS) -MT nnc_fromoctagonalshape1-fromoctagonalshape1.o -MD -MP -MF $(DEPDIR)/nnc_fromoctagonalshape1-fromoctagonalshape1.Tpo -c -o nnc_fromoctagonalshape1-fromoctagonalshape1.o `test -f 'fromoctagonalshape1.cc' || echo '$(srcdir)/'`fromoctagonalshape1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_fromoctagonalshape1-fromoctagonalshape1.Tpo $(DEPDIR)/nnc_fromoctagonalshape1-fromoctagonalshape1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='fromoctagonalshape1.cc' object='nnc_fromoctagonalshape1-fromoctagonalshape1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_fromoctagonalshape1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_fromoctagonalshape1-fromoctagonalshape1.o `test -f 'fromoctagonalshape1.cc' || echo '$(srcdir)/'`fromoctagonalshape1.cc
 
 nnc_fromoctagonalshape1-fromoctagonalshape1.obj: fromoctagonalshape1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_fromoctagonalshape1_CXXFLAGS) $(CXXFLAGS) -MT nnc_fromoctagonalshape1-fromoctagonalshape1.obj -MD -MP -MF $(DEPDIR)/nnc_fromoctagonalshape1-fromoctagonalshape1.Tpo -c -o nnc_fromoctagonalshape1-fromoctagonalshape1.obj `if test -f 'fromoctagonalshape1.cc'; then $(CYGPATH_W) 'fromoctagonalshape1.cc'; else $(CYGPATH_W) '$(srcdir)/fromoctagonalshape1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_fromoctagonalshape1-fromoctagonalshape1.Tpo $(DEPDIR)/nnc_fromoctagonalshape1-fromoctagonalshape1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_fromoctagonalshape1_CXXFLAGS) $(CXXFLAGS) -MT nnc_fromoctagonalshape1-fromoctagonalshape1.obj -MD -MP -MF $(DEPDIR)/nnc_fromoctagonalshape1-fromoctagonalshape1.Tpo -c -o nnc_fromoctagonalshape1-fromoctagonalshape1.obj `if test -f 'fromoctagonalshape1.cc'; then $(CYGPATH_W) 'fromoctagonalshape1.cc'; else $(CYGPATH_W) '$(srcdir)/fromoctagonalshape1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_fromoctagonalshape1-fromoctagonalshape1.Tpo $(DEPDIR)/nnc_fromoctagonalshape1-fromoctagonalshape1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='fromoctagonalshape1.cc' object='nnc_fromoctagonalshape1-fromoctagonalshape1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_fromoctagonalshape1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_fromoctagonalshape1-fromoctagonalshape1.obj `if test -f 'fromoctagonalshape1.cc'; then $(CYGPATH_W) 'fromoctagonalshape1.cc'; else $(CYGPATH_W) '$(srcdir)/fromoctagonalshape1.cc'; fi`
 
 nnc_generalizedaffineimage1-generalizedaffineimage1.o: generalizedaffineimage1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generalizedaffineimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_generalizedaffineimage1-generalizedaffineimage1.o -MD -MP -MF $(DEPDIR)/nnc_generalizedaffineimage1-generalizedaffineimage1.Tpo -c -o nnc_generalizedaffineimage1-generalizedaffineimage1.o `test -f 'generalizedaffineimage1.cc' || echo '$(srcdir)/'`generalizedaffineimage1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_generalizedaffineimage1-generalizedaffineimage1.Tpo $(DEPDIR)/nnc_generalizedaffineimage1-generalizedaffineimage1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generalizedaffineimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_generalizedaffineimage1-generalizedaffineimage1.o -MD -MP -MF $(DEPDIR)/nnc_generalizedaffineimage1-generalizedaffineimage1.Tpo -c -o nnc_generalizedaffineimage1-generalizedaffineimage1.o `test -f 'generalizedaffineimage1.cc' || echo '$(srcdir)/'`generalizedaffineimage1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_generalizedaffineimage1-generalizedaffineimage1.Tpo $(DEPDIR)/nnc_generalizedaffineimage1-generalizedaffineimage1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='generalizedaffineimage1.cc' object='nnc_generalizedaffineimage1-generalizedaffineimage1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generalizedaffineimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_generalizedaffineimage1-generalizedaffineimage1.o `test -f 'generalizedaffineimage1.cc' || echo '$(srcdir)/'`generalizedaffineimage1.cc
 
 nnc_generalizedaffineimage1-generalizedaffineimage1.obj: generalizedaffineimage1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generalizedaffineimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_generalizedaffineimage1-generalizedaffineimage1.obj -MD -MP -MF $(DEPDIR)/nnc_generalizedaffineimage1-generalizedaffineimage1.Tpo -c -o nnc_generalizedaffineimage1-generalizedaffineimage1.obj `if test -f 'generalizedaffineimage1.cc'; then $(CYGPATH_W) 'generalizedaffineimage1.cc'; else $(CYGPATH_W) '$(srcdir)/generalizedaffineimage1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_generalizedaffineimage1-generalizedaffineimage1.Tpo $(DEPDIR)/nnc_generalizedaffineimage1-generalizedaffineimage1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generalizedaffineimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_generalizedaffineimage1-generalizedaffineimage1.obj -MD -MP -MF $(DEPDIR)/nnc_generalizedaffineimage1-generalizedaffineimage1.Tpo -c -o nnc_generalizedaffineimage1-generalizedaffineimage1.obj `if test -f 'generalizedaffineimage1.cc'; then $(CYGPATH_W) 'generalizedaffineimage1.cc'; else $(CYGPATH_W) '$(srcdir)/generalizedaff [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_generalizedaffineimage1-generalizedaffineimage1.Tpo $(DEPDIR)/nnc_generalizedaffineimage1-generalizedaffineimage1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='generalizedaffineimage1.cc' object='nnc_generalizedaffineimage1-generalizedaffineimage1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generalizedaffineimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_generalizedaffineimage1-generalizedaffineimage1.obj `if test -f 'generalizedaffineimage1.cc'; then $(CYGPATH_W) 'generalizedaffineimage1.cc'; else $(CYGPATH_W) '$(srcdir)/generalizedaffineimage1.cc'; fi`
 
 nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.o: generalizedaffinepreimage1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generalizedaffinepreimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.o -MD -MP -MF $(DEPDIR)/nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.Tpo -c -o nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.o `test -f 'generalizedaffinepreimage1.cc' || echo '$(srcdir)/'`generalizedaffinepreimage1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.Tpo $(DEPDIR)/nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generalizedaffinepreimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.o -MD -MP -MF $(DEPDIR)/nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.Tpo -c -o nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.o `test -f 'generalizedaffinepreimage1.cc' || echo '$(srcdir)/'`generalizedaffinepreimage1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.Tpo $(DEPDIR)/nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='generalizedaffinepreimage1.cc' object='nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generalizedaffinepreimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.o `test -f 'generalizedaffinepreimage1.cc' || echo '$(srcdir)/'`generalizedaffinepreimage1.cc
 
 nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.obj: generalizedaffinepreimage1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generalizedaffinepreimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.obj -MD -MP -MF $(DEPDIR)/nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.Tpo -c -o nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.obj `if test -f 'generalizedaffinepreimage1.cc'; then $(CYGPATH_W) 'generalizedaffinepreimage1.cc'; else $(CYGPATH_W) '$(srcdir [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.Tpo $(DEPDIR)/nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generalizedaffinepreimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.obj -MD -MP -MF $(DEPDIR)/nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.Tpo -c -o nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.obj `if test -f 'generalizedaffinepreimage1.cc'; then $(CYGPATH_W) 'generalizedaffinepreimage1.cc'; else $(CYGPATH_W [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.Tpo $(DEPDIR)/nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='generalizedaffinepreimage1.cc' object='nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generalizedaffinepreimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.obj `if test -f 'generalizedaffinepreimage1.cc'; then $(CYGPATH_W) 'generalizedaffinepreimage1.cc'; else $(CYGPATH_W) '$(srcdir)/generalizedaffinepreimage1.cc'; fi`
 
 nnc_generators1-generators1.o: generators1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generators1_CXXFLAGS) $(CXXFLAGS) -MT nnc_generators1-generators1.o -MD -MP -MF $(DEPDIR)/nnc_generators1-generators1.Tpo -c -o nnc_generators1-generators1.o `test -f 'generators1.cc' || echo '$(srcdir)/'`generators1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_generators1-generators1.Tpo $(DEPDIR)/nnc_generators1-generators1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generators1_CXXFLAGS) $(CXXFLAGS) -MT nnc_generators1-generators1.o -MD -MP -MF $(DEPDIR)/nnc_generators1-generators1.Tpo -c -o nnc_generators1-generators1.o `test -f 'generators1.cc' || echo '$(srcdir)/'`generators1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_generators1-generators1.Tpo $(DEPDIR)/nnc_generators1-generators1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='generators1.cc' object='nnc_generators1-generators1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generators1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_generators1-generators1.o `test -f 'generators1.cc' || echo '$(srcdir)/'`generators1.cc
 
 nnc_generators1-generators1.obj: generators1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generators1_CXXFLAGS) $(CXXFLAGS) -MT nnc_generators1-generators1.obj -MD -MP -MF $(DEPDIR)/nnc_generators1-generators1.Tpo -c -o nnc_generators1-generators1.obj `if test -f 'generators1.cc'; then $(CYGPATH_W) 'generators1.cc'; else $(CYGPATH_W) '$(srcdir)/generators1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_generators1-generators1.Tpo $(DEPDIR)/nnc_generators1-generators1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generators1_CXXFLAGS) $(CXXFLAGS) -MT nnc_generators1-generators1.obj -MD -MP -MF $(DEPDIR)/nnc_generators1-generators1.Tpo -c -o nnc_generators1-generators1.obj `if test -f 'generators1.cc'; then $(CYGPATH_W) 'generators1.cc'; else $(CYGPATH_W) '$(srcdir)/generators1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_generators1-generators1.Tpo $(DEPDIR)/nnc_generators1-generators1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='generators1.cc' object='nnc_generators1-generators1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generators1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_generators1-generators1.obj `if test -f 'generators1.cc'; then $(CYGPATH_W) 'generators1.cc'; else $(CYGPATH_W) '$(srcdir)/generators1.cc'; fi`
 
 nnc_geomcovers1-geomcovers1.o: geomcovers1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_geomcovers1_CXXFLAGS) $(CXXFLAGS) -MT nnc_geomcovers1-geomcovers1.o -MD -MP -MF $(DEPDIR)/nnc_geomcovers1-geomcovers1.Tpo -c -o nnc_geomcovers1-geomcovers1.o `test -f 'geomcovers1.cc' || echo '$(srcdir)/'`geomcovers1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_geomcovers1-geomcovers1.Tpo $(DEPDIR)/nnc_geomcovers1-geomcovers1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_geomcovers1_CXXFLAGS) $(CXXFLAGS) -MT nnc_geomcovers1-geomcovers1.o -MD -MP -MF $(DEPDIR)/nnc_geomcovers1-geomcovers1.Tpo -c -o nnc_geomcovers1-geomcovers1.o `test -f 'geomcovers1.cc' || echo '$(srcdir)/'`geomcovers1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_geomcovers1-geomcovers1.Tpo $(DEPDIR)/nnc_geomcovers1-geomcovers1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='geomcovers1.cc' object='nnc_geomcovers1-geomcovers1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_geomcovers1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_geomcovers1-geomcovers1.o `test -f 'geomcovers1.cc' || echo '$(srcdir)/'`geomcovers1.cc
 
 nnc_geomcovers1-geomcovers1.obj: geomcovers1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_geomcovers1_CXXFLAGS) $(CXXFLAGS) -MT nnc_geomcovers1-geomcovers1.obj -MD -MP -MF $(DEPDIR)/nnc_geomcovers1-geomcovers1.Tpo -c -o nnc_geomcovers1-geomcovers1.obj `if test -f 'geomcovers1.cc'; then $(CYGPATH_W) 'geomcovers1.cc'; else $(CYGPATH_W) '$(srcdir)/geomcovers1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_geomcovers1-geomcovers1.Tpo $(DEPDIR)/nnc_geomcovers1-geomcovers1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_geomcovers1_CXXFLAGS) $(CXXFLAGS) -MT nnc_geomcovers1-geomcovers1.obj -MD -MP -MF $(DEPDIR)/nnc_geomcovers1-geomcovers1.Tpo -c -o nnc_geomcovers1-geomcovers1.obj `if test -f 'geomcovers1.cc'; then $(CYGPATH_W) 'geomcovers1.cc'; else $(CYGPATH_W) '$(srcdir)/geomcovers1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_geomcovers1-geomcovers1.Tpo $(DEPDIR)/nnc_geomcovers1-geomcovers1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='geomcovers1.cc' object='nnc_geomcovers1-geomcovers1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_geomcovers1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_geomcovers1-geomcovers1.obj `if test -f 'geomcovers1.cc'; then $(CYGPATH_W) 'geomcovers1.cc'; else $(CYGPATH_W) '$(srcdir)/geomcovers1.cc'; fi`
 
 nnc_h79widening1-h79widening1.o: h79widening1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_h79widening1_CXXFLAGS) $(CXXFLAGS) -MT nnc_h79widening1-h79widening1.o -MD -MP -MF $(DEPDIR)/nnc_h79widening1-h79widening1.Tpo -c -o nnc_h79widening1-h79widening1.o `test -f 'h79widening1.cc' || echo '$(srcdir)/'`h79widening1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_h79widening1-h79widening1.Tpo $(DEPDIR)/nnc_h79widening1-h79widening1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_h79widening1_CXXFLAGS) $(CXXFLAGS) -MT nnc_h79widening1-h79widening1.o -MD -MP -MF $(DEPDIR)/nnc_h79widening1-h79widening1.Tpo -c -o nnc_h79widening1-h79widening1.o `test -f 'h79widening1.cc' || echo '$(srcdir)/'`h79widening1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_h79widening1-h79widening1.Tpo $(DEPDIR)/nnc_h79widening1-h79widening1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='h79widening1.cc' object='nnc_h79widening1-h79widening1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_h79widening1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_h79widening1-h79widening1.o `test -f 'h79widening1.cc' || echo '$(srcdir)/'`h79widening1.cc
 
 nnc_h79widening1-h79widening1.obj: h79widening1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_h79widening1_CXXFLAGS) $(CXXFLAGS) -MT nnc_h79widening1-h79widening1.obj -MD -MP -MF $(DEPDIR)/nnc_h79widening1-h79widening1.Tpo -c -o nnc_h79widening1-h79widening1.obj `if test -f 'h79widening1.cc'; then $(CYGPATH_W) 'h79widening1.cc'; else $(CYGPATH_W) '$(srcdir)/h79widening1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_h79widening1-h79widening1.Tpo $(DEPDIR)/nnc_h79widening1-h79widening1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_h79widening1_CXXFLAGS) $(CXXFLAGS) -MT nnc_h79widening1-h79widening1.obj -MD -MP -MF $(DEPDIR)/nnc_h79widening1-h79widening1.Tpo -c -o nnc_h79widening1-h79widening1.obj `if test -f 'h79widening1.cc'; then $(CYGPATH_W) 'h79widening1.cc'; else $(CYGPATH_W) '$(srcdir)/h79widening1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_h79widening1-h79widening1.Tpo $(DEPDIR)/nnc_h79widening1-h79widening1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='h79widening1.cc' object='nnc_h79widening1-h79widening1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_h79widening1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_h79widening1-h79widening1.obj `if test -f 'h79widening1.cc'; then $(CYGPATH_W) 'h79widening1.cc'; else $(CYGPATH_W) '$(srcdir)/h79widening1.cc'; fi`
 
 nnc_intersection1-intersection1.o: intersection1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_intersection1_CXXFLAGS) $(CXXFLAGS) -MT nnc_intersection1-intersection1.o -MD -MP -MF $(DEPDIR)/nnc_intersection1-intersection1.Tpo -c -o nnc_intersection1-intersection1.o `test -f 'intersection1.cc' || echo '$(srcdir)/'`intersection1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_intersection1-intersection1.Tpo $(DEPDIR)/nnc_intersection1-intersection1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_intersection1_CXXFLAGS) $(CXXFLAGS) -MT nnc_intersection1-intersection1.o -MD -MP -MF $(DEPDIR)/nnc_intersection1-intersection1.Tpo -c -o nnc_intersection1-intersection1.o `test -f 'intersection1.cc' || echo '$(srcdir)/'`intersection1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_intersection1-intersection1.Tpo $(DEPDIR)/nnc_intersection1-intersection1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='intersection1.cc' object='nnc_intersection1-intersection1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_intersection1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_intersection1-intersection1.o `test -f 'intersection1.cc' || echo '$(srcdir)/'`intersection1.cc
 
 nnc_intersection1-intersection1.obj: intersection1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_intersection1_CXXFLAGS) $(CXXFLAGS) -MT nnc_intersection1-intersection1.obj -MD -MP -MF $(DEPDIR)/nnc_intersection1-intersection1.Tpo -c -o nnc_intersection1-intersection1.obj `if test -f 'intersection1.cc'; then $(CYGPATH_W) 'intersection1.cc'; else $(CYGPATH_W) '$(srcdir)/intersection1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_intersection1-intersection1.Tpo $(DEPDIR)/nnc_intersection1-intersection1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_intersection1_CXXFLAGS) $(CXXFLAGS) -MT nnc_intersection1-intersection1.obj -MD -MP -MF $(DEPDIR)/nnc_intersection1-intersection1.Tpo -c -o nnc_intersection1-intersection1.obj `if test -f 'intersection1.cc'; then $(CYGPATH_W) 'intersection1.cc'; else $(CYGPATH_W) '$(srcdir)/intersection1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_intersection1-intersection1.Tpo $(DEPDIR)/nnc_intersection1-intersection1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='intersection1.cc' object='nnc_intersection1-intersection1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_intersection1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_intersection1-intersection1.obj `if test -f 'intersection1.cc'; then $(CYGPATH_W) 'intersection1.cc'; else $(CYGPATH_W) '$(srcdir)/intersection1.cc'; fi`
 
 nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.o: limitedbhrz03extrapolation1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_limitedbhrz03extrapolation1_CXXFLAGS) $(CXXFLAGS) -MT nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.o -MD -MP -MF $(DEPDIR)/nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.Tpo -c -o nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.o `test -f 'limitedbhrz03extrapolation1.cc' || echo '$(srcdir)/'`limitedbhrz03extrapolation1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.Tpo $(DEPDIR)/nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_limitedbhrz03extrapolation1_CXXFLAGS) $(CXXFLAGS) -MT nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.o -MD -MP -MF $(DEPDIR)/nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.Tpo -c -o nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.o `test -f 'limitedbhrz03extrapolation1.cc' || echo '$(srcdir)/'`limitedbhrz03extrapolation1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.Tpo $(DEPDIR)/nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='limitedbhrz03extrapolation1.cc' object='nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_limitedbhrz03extrapolation1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.o `test -f 'limitedbhrz03extrapolation1.cc' || echo '$(srcdir)/'`limitedbhrz03extrapolation1.cc
 
 nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.obj: limitedbhrz03extrapolation1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_limitedbhrz03extrapolation1_CXXFLAGS) $(CXXFLAGS) -MT nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.obj -MD -MP -MF $(DEPDIR)/nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.Tpo -c -o nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.obj `if test -f 'limitedbhrz03extrapolation1.cc'; then $(CYGPATH_W) 'limitedbhrz03extrapolation1.cc'; else $(CYGPATH_W)  [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.Tpo $(DEPDIR)/nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_limitedbhrz03extrapolation1_CXXFLAGS) $(CXXFLAGS) -MT nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.obj -MD -MP -MF $(DEPDIR)/nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.Tpo -c -o nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.obj `if test -f 'limitedbhrz03extrapolation1.cc'; then $(CYGPATH_W) 'limitedbhrz03extrapolation1.cc'; else $( [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.Tpo $(DEPDIR)/nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='limitedbhrz03extrapolation1.cc' object='nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_limitedbhrz03extrapolation1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.obj `if test -f 'limitedbhrz03extrapolation1.cc'; then $(CYGPATH_W) 'limitedbhrz03extrapolation1.cc'; else $(CYGPATH_W) '$(srcdir)/limitedbhrz03extrapolation1.cc'; fi`
 
 nnc_limitedh79extrapolation1-limitedh79extrapolation1.o: limitedh79extrapolation1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_limitedh79extrapolation1_CXXFLAGS) $(CXXFLAGS) -MT nnc_limitedh79extrapolation1-limitedh79extrapolation1.o -MD -MP -MF $(DEPDIR)/nnc_limitedh79extrapolation1-limitedh79extrapolation1.Tpo -c -o nnc_limitedh79extrapolation1-limitedh79extrapolation1.o `test -f 'limitedh79extrapolation1.cc' || echo '$(srcdir)/'`limitedh79extrapolation1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_limitedh79extrapolation1-limitedh79extrapolation1.Tpo $(DEPDIR)/nnc_limitedh79extrapolation1-limitedh79extrapolation1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_limitedh79extrapolation1_CXXFLAGS) $(CXXFLAGS) -MT nnc_limitedh79extrapolation1-limitedh79extrapolation1.o -MD -MP -MF $(DEPDIR)/nnc_limitedh79extrapolation1-limitedh79extrapolation1.Tpo -c -o nnc_limitedh79extrapolation1-limitedh79extrapolation1.o `test -f 'limitedh79extrapolation1.cc' || echo '$(srcdir)/'`limitedh79extrapolation1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_limitedh79extrapolation1-limitedh79extrapolation1.Tpo $(DEPDIR)/nnc_limitedh79extrapolation1-limitedh79extrapolation1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='limitedh79extrapolation1.cc' object='nnc_limitedh79extrapolation1-limitedh79extrapolation1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_limitedh79extrapolation1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_limitedh79extrapolation1-limitedh79extrapolation1.o `test -f 'limitedh79extrapolation1.cc' || echo '$(srcdir)/'`limitedh79extrapolation1.cc
 
 nnc_limitedh79extrapolation1-limitedh79extrapolation1.obj: limitedh79extrapolation1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_limitedh79extrapolation1_CXXFLAGS) $(CXXFLAGS) -MT nnc_limitedh79extrapolation1-limitedh79extrapolation1.obj -MD -MP -MF $(DEPDIR)/nnc_limitedh79extrapolation1-limitedh79extrapolation1.Tpo -c -o nnc_limitedh79extrapolation1-limitedh79extrapolation1.obj `if test -f 'limitedh79extrapolation1.cc'; then $(CYGPATH_W) 'limitedh79extrapolation1.cc'; else $(CYGPATH_W) '$(srcdir)/limitedh79extrap [...]
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_limitedh79extrapolation1-limitedh79extrapolation1.Tpo $(DEPDIR)/nnc_limitedh79extrapolation1-limitedh79extrapolation1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_limitedh79extrapolation1_CXXFLAGS) $(CXXFLAGS) -MT nnc_limitedh79extrapolation1-limitedh79extrapolation1.obj -MD -MP -MF $(DEPDIR)/nnc_limitedh79extrapolation1-limitedh79extrapolation1.Tpo -c -o nnc_limitedh79extrapolation1-limitedh79extrapolation1.obj `if test -f 'limitedh79extrapolation1.cc'; then $(CYGPATH_W) 'limitedh79extrapolation1.cc'; else $(CYGPATH_W) '$(srcdir)/limit [...]
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_limitedh79extrapolation1-limitedh79extrapolation1.Tpo $(DEPDIR)/nnc_limitedh79extrapolation1-limitedh79extrapolation1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='limitedh79extrapolation1.cc' object='nnc_limitedh79extrapolation1-limitedh79extrapolation1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_limitedh79extrapolation1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_limitedh79extrapolation1-limitedh79extrapolation1.obj `if test -f 'limitedh79extrapolation1.cc'; then $(CYGPATH_W) 'limitedh79extrapolation1.cc'; else $(CYGPATH_W) '$(srcdir)/limitedh79extrapolation1.cc'; fi`
 
 nnc_linearpartition1-linearpartition1.o: linearpartition1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_linearpartition1_CXXFLAGS) $(CXXFLAGS) -MT nnc_linearpartition1-linearpartition1.o -MD -MP -MF $(DEPDIR)/nnc_linearpartition1-linearpartition1.Tpo -c -o nnc_linearpartition1-linearpartition1.o `test -f 'linearpartition1.cc' || echo '$(srcdir)/'`linearpartition1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_linearpartition1-linearpartition1.Tpo $(DEPDIR)/nnc_linearpartition1-linearpartition1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_linearpartition1_CXXFLAGS) $(CXXFLAGS) -MT nnc_linearpartition1-linearpartition1.o -MD -MP -MF $(DEPDIR)/nnc_linearpartition1-linearpartition1.Tpo -c -o nnc_linearpartition1-linearpartition1.o `test -f 'linearpartition1.cc' || echo '$(srcdir)/'`linearpartition1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_linearpartition1-linearpartition1.Tpo $(DEPDIR)/nnc_linearpartition1-linearpartition1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='linearpartition1.cc' object='nnc_linearpartition1-linearpartition1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_linearpartition1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_linearpartition1-linearpartition1.o `test -f 'linearpartition1.cc' || echo '$(srcdir)/'`linearpartition1.cc
 
 nnc_linearpartition1-linearpartition1.obj: linearpartition1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_linearpartition1_CXXFLAGS) $(CXXFLAGS) -MT nnc_linearpartition1-linearpartition1.obj -MD -MP -MF $(DEPDIR)/nnc_linearpartition1-linearpartition1.Tpo -c -o nnc_linearpartition1-linearpartition1.obj `if test -f 'linearpartition1.cc'; then $(CYGPATH_W) 'linearpartition1.cc'; else $(CYGPATH_W) '$(srcdir)/linearpartition1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_linearpartition1-linearpartition1.Tpo $(DEPDIR)/nnc_linearpartition1-linearpartition1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_linearpartition1_CXXFLAGS) $(CXXFLAGS) -MT nnc_linearpartition1-linearpartition1.obj -MD -MP -MF $(DEPDIR)/nnc_linearpartition1-linearpartition1.Tpo -c -o nnc_linearpartition1-linearpartition1.obj `if test -f 'linearpartition1.cc'; then $(CYGPATH_W) 'linearpartition1.cc'; else $(CYGPATH_W) '$(srcdir)/linearpartition1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_linearpartition1-linearpartition1.Tpo $(DEPDIR)/nnc_linearpartition1-linearpartition1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='linearpartition1.cc' object='nnc_linearpartition1-linearpartition1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_linearpartition1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_linearpartition1-linearpartition1.obj `if test -f 'linearpartition1.cc'; then $(CYGPATH_W) 'linearpartition1.cc'; else $(CYGPATH_W) '$(srcdir)/linearpartition1.cc'; fi`
 
 nnc_mapspacedims1-mapspacedims1.o: mapspacedims1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mapspacedims1_CXXFLAGS) $(CXXFLAGS) -MT nnc_mapspacedims1-mapspacedims1.o -MD -MP -MF $(DEPDIR)/nnc_mapspacedims1-mapspacedims1.Tpo -c -o nnc_mapspacedims1-mapspacedims1.o `test -f 'mapspacedims1.cc' || echo '$(srcdir)/'`mapspacedims1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_mapspacedims1-mapspacedims1.Tpo $(DEPDIR)/nnc_mapspacedims1-mapspacedims1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mapspacedims1_CXXFLAGS) $(CXXFLAGS) -MT nnc_mapspacedims1-mapspacedims1.o -MD -MP -MF $(DEPDIR)/nnc_mapspacedims1-mapspacedims1.Tpo -c -o nnc_mapspacedims1-mapspacedims1.o `test -f 'mapspacedims1.cc' || echo '$(srcdir)/'`mapspacedims1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_mapspacedims1-mapspacedims1.Tpo $(DEPDIR)/nnc_mapspacedims1-mapspacedims1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='mapspacedims1.cc' object='nnc_mapspacedims1-mapspacedims1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mapspacedims1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_mapspacedims1-mapspacedims1.o `test -f 'mapspacedims1.cc' || echo '$(srcdir)/'`mapspacedims1.cc
 
 nnc_mapspacedims1-mapspacedims1.obj: mapspacedims1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mapspacedims1_CXXFLAGS) $(CXXFLAGS) -MT nnc_mapspacedims1-mapspacedims1.obj -MD -MP -MF $(DEPDIR)/nnc_mapspacedims1-mapspacedims1.Tpo -c -o nnc_mapspacedims1-mapspacedims1.obj `if test -f 'mapspacedims1.cc'; then $(CYGPATH_W) 'mapspacedims1.cc'; else $(CYGPATH_W) '$(srcdir)/mapspacedims1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_mapspacedims1-mapspacedims1.Tpo $(DEPDIR)/nnc_mapspacedims1-mapspacedims1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mapspacedims1_CXXFLAGS) $(CXXFLAGS) -MT nnc_mapspacedims1-mapspacedims1.obj -MD -MP -MF $(DEPDIR)/nnc_mapspacedims1-mapspacedims1.Tpo -c -o nnc_mapspacedims1-mapspacedims1.obj `if test -f 'mapspacedims1.cc'; then $(CYGPATH_W) 'mapspacedims1.cc'; else $(CYGPATH_W) '$(srcdir)/mapspacedims1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_mapspacedims1-mapspacedims1.Tpo $(DEPDIR)/nnc_mapspacedims1-mapspacedims1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='mapspacedims1.cc' object='nnc_mapspacedims1-mapspacedims1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mapspacedims1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_mapspacedims1-mapspacedims1.obj `if test -f 'mapspacedims1.cc'; then $(CYGPATH_W) 'mapspacedims1.cc'; else $(CYGPATH_W) '$(srcdir)/mapspacedims1.cc'; fi`
 
 nnc_max_min1-max_min1.o: max_min1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_max_min1_CXXFLAGS) $(CXXFLAGS) -MT nnc_max_min1-max_min1.o -MD -MP -MF $(DEPDIR)/nnc_max_min1-max_min1.Tpo -c -o nnc_max_min1-max_min1.o `test -f 'max_min1.cc' || echo '$(srcdir)/'`max_min1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_max_min1-max_min1.Tpo $(DEPDIR)/nnc_max_min1-max_min1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_max_min1_CXXFLAGS) $(CXXFLAGS) -MT nnc_max_min1-max_min1.o -MD -MP -MF $(DEPDIR)/nnc_max_min1-max_min1.Tpo -c -o nnc_max_min1-max_min1.o `test -f 'max_min1.cc' || echo '$(srcdir)/'`max_min1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_max_min1-max_min1.Tpo $(DEPDIR)/nnc_max_min1-max_min1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='max_min1.cc' object='nnc_max_min1-max_min1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_max_min1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_max_min1-max_min1.o `test -f 'max_min1.cc' || echo '$(srcdir)/'`max_min1.cc
 
 nnc_max_min1-max_min1.obj: max_min1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_max_min1_CXXFLAGS) $(CXXFLAGS) -MT nnc_max_min1-max_min1.obj -MD -MP -MF $(DEPDIR)/nnc_max_min1-max_min1.Tpo -c -o nnc_max_min1-max_min1.obj `if test -f 'max_min1.cc'; then $(CYGPATH_W) 'max_min1.cc'; else $(CYGPATH_W) '$(srcdir)/max_min1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_max_min1-max_min1.Tpo $(DEPDIR)/nnc_max_min1-max_min1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_max_min1_CXXFLAGS) $(CXXFLAGS) -MT nnc_max_min1-max_min1.obj -MD -MP -MF $(DEPDIR)/nnc_max_min1-max_min1.Tpo -c -o nnc_max_min1-max_min1.obj `if test -f 'max_min1.cc'; then $(CYGPATH_W) 'max_min1.cc'; else $(CYGPATH_W) '$(srcdir)/max_min1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_max_min1-max_min1.Tpo $(DEPDIR)/nnc_max_min1-max_min1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='max_min1.cc' object='nnc_max_min1-max_min1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_max_min1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_max_min1-max_min1.obj `if test -f 'max_min1.cc'; then $(CYGPATH_W) 'max_min1.cc'; else $(CYGPATH_W) '$(srcdir)/max_min1.cc'; fi`
 
 nnc_mc91-mc91.o: mc91.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mc91_CXXFLAGS) $(CXXFLAGS) -MT nnc_mc91-mc91.o -MD -MP -MF $(DEPDIR)/nnc_mc91-mc91.Tpo -c -o nnc_mc91-mc91.o `test -f 'mc91.cc' || echo '$(srcdir)/'`mc91.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_mc91-mc91.Tpo $(DEPDIR)/nnc_mc91-mc91.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mc91_CXXFLAGS) $(CXXFLAGS) -MT nnc_mc91-mc91.o -MD -MP -MF $(DEPDIR)/nnc_mc91-mc91.Tpo -c -o nnc_mc91-mc91.o `test -f 'mc91.cc' || echo '$(srcdir)/'`mc91.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_mc91-mc91.Tpo $(DEPDIR)/nnc_mc91-mc91.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='mc91.cc' object='nnc_mc91-mc91.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mc91_CXXFLAGS) $(CXXFLAGS) -c -o nnc_mc91-mc91.o `test -f 'mc91.cc' || echo '$(srcdir)/'`mc91.cc
 
 nnc_mc91-mc91.obj: mc91.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mc91_CXXFLAGS) $(CXXFLAGS) -MT nnc_mc91-mc91.obj -MD -MP -MF $(DEPDIR)/nnc_mc91-mc91.Tpo -c -o nnc_mc91-mc91.obj `if test -f 'mc91.cc'; then $(CYGPATH_W) 'mc91.cc'; else $(CYGPATH_W) '$(srcdir)/mc91.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_mc91-mc91.Tpo $(DEPDIR)/nnc_mc91-mc91.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mc91_CXXFLAGS) $(CXXFLAGS) -MT nnc_mc91-mc91.obj -MD -MP -MF $(DEPDIR)/nnc_mc91-mc91.Tpo -c -o nnc_mc91-mc91.obj `if test -f 'mc91.cc'; then $(CYGPATH_W) 'mc91.cc'; else $(CYGPATH_W) '$(srcdir)/mc91.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_mc91-mc91.Tpo $(DEPDIR)/nnc_mc91-mc91.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='mc91.cc' object='nnc_mc91-mc91.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mc91_CXXFLAGS) $(CXXFLAGS) -c -o nnc_mc91-mc91.obj `if test -f 'mc91.cc'; then $(CYGPATH_W) 'mc91.cc'; else $(CYGPATH_W) '$(srcdir)/mc91.cc'; fi`
 
 nnc_membytes1-membytes1.o: membytes1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_membytes1_CXXFLAGS) $(CXXFLAGS) -MT nnc_membytes1-membytes1.o -MD -MP -MF $(DEPDIR)/nnc_membytes1-membytes1.Tpo -c -o nnc_membytes1-membytes1.o `test -f 'membytes1.cc' || echo '$(srcdir)/'`membytes1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_membytes1-membytes1.Tpo $(DEPDIR)/nnc_membytes1-membytes1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_membytes1_CXXFLAGS) $(CXXFLAGS) -MT nnc_membytes1-membytes1.o -MD -MP -MF $(DEPDIR)/nnc_membytes1-membytes1.Tpo -c -o nnc_membytes1-membytes1.o `test -f 'membytes1.cc' || echo '$(srcdir)/'`membytes1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_membytes1-membytes1.Tpo $(DEPDIR)/nnc_membytes1-membytes1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='membytes1.cc' object='nnc_membytes1-membytes1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_membytes1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_membytes1-membytes1.o `test -f 'membytes1.cc' || echo '$(srcdir)/'`membytes1.cc
 
 nnc_membytes1-membytes1.obj: membytes1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_membytes1_CXXFLAGS) $(CXXFLAGS) -MT nnc_membytes1-membytes1.obj -MD -MP -MF $(DEPDIR)/nnc_membytes1-membytes1.Tpo -c -o nnc_membytes1-membytes1.obj `if test -f 'membytes1.cc'; then $(CYGPATH_W) 'membytes1.cc'; else $(CYGPATH_W) '$(srcdir)/membytes1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_membytes1-membytes1.Tpo $(DEPDIR)/nnc_membytes1-membytes1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_membytes1_CXXFLAGS) $(CXXFLAGS) -MT nnc_membytes1-membytes1.obj -MD -MP -MF $(DEPDIR)/nnc_membytes1-membytes1.Tpo -c -o nnc_membytes1-membytes1.obj `if test -f 'membytes1.cc'; then $(CYGPATH_W) 'membytes1.cc'; else $(CYGPATH_W) '$(srcdir)/membytes1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_membytes1-membytes1.Tpo $(DEPDIR)/nnc_membytes1-membytes1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='membytes1.cc' object='nnc_membytes1-membytes1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_membytes1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_membytes1-membytes1.obj `if test -f 'membytes1.cc'; then $(CYGPATH_W) 'membytes1.cc'; else $(CYGPATH_W) '$(srcdir)/membytes1.cc'; fi`
 
 nnc_minconstraints1-minconstraints1.o: minconstraints1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_minconstraints1_CXXFLAGS) $(CXXFLAGS) -MT nnc_minconstraints1-minconstraints1.o -MD -MP -MF $(DEPDIR)/nnc_minconstraints1-minconstraints1.Tpo -c -o nnc_minconstraints1-minconstraints1.o `test -f 'minconstraints1.cc' || echo '$(srcdir)/'`minconstraints1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_minconstraints1-minconstraints1.Tpo $(DEPDIR)/nnc_minconstraints1-minconstraints1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_minconstraints1_CXXFLAGS) $(CXXFLAGS) -MT nnc_minconstraints1-minconstraints1.o -MD -MP -MF $(DEPDIR)/nnc_minconstraints1-minconstraints1.Tpo -c -o nnc_minconstraints1-minconstraints1.o `test -f 'minconstraints1.cc' || echo '$(srcdir)/'`minconstraints1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_minconstraints1-minconstraints1.Tpo $(DEPDIR)/nnc_minconstraints1-minconstraints1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='minconstraints1.cc' object='nnc_minconstraints1-minconstraints1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_minconstraints1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_minconstraints1-minconstraints1.o `test -f 'minconstraints1.cc' || echo '$(srcdir)/'`minconstraints1.cc
 
 nnc_minconstraints1-minconstraints1.obj: minconstraints1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_minconstraints1_CXXFLAGS) $(CXXFLAGS) -MT nnc_minconstraints1-minconstraints1.obj -MD -MP -MF $(DEPDIR)/nnc_minconstraints1-minconstraints1.Tpo -c -o nnc_minconstraints1-minconstraints1.obj `if test -f 'minconstraints1.cc'; then $(CYGPATH_W) 'minconstraints1.cc'; else $(CYGPATH_W) '$(srcdir)/minconstraints1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_minconstraints1-minconstraints1.Tpo $(DEPDIR)/nnc_minconstraints1-minconstraints1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_minconstraints1_CXXFLAGS) $(CXXFLAGS) -MT nnc_minconstraints1-minconstraints1.obj -MD -MP -MF $(DEPDIR)/nnc_minconstraints1-minconstraints1.Tpo -c -o nnc_minconstraints1-minconstraints1.obj `if test -f 'minconstraints1.cc'; then $(CYGPATH_W) 'minconstraints1.cc'; else $(CYGPATH_W) '$(srcdir)/minconstraints1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_minconstraints1-minconstraints1.Tpo $(DEPDIR)/nnc_minconstraints1-minconstraints1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='minconstraints1.cc' object='nnc_minconstraints1-minconstraints1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_minconstraints1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_minconstraints1-minconstraints1.obj `if test -f 'minconstraints1.cc'; then $(CYGPATH_W) 'minconstraints1.cc'; else $(CYGPATH_W) '$(srcdir)/minconstraints1.cc'; fi`
 
 nnc_mingenerators1-mingenerators1.o: mingenerators1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mingenerators1_CXXFLAGS) $(CXXFLAGS) -MT nnc_mingenerators1-mingenerators1.o -MD -MP -MF $(DEPDIR)/nnc_mingenerators1-mingenerators1.Tpo -c -o nnc_mingenerators1-mingenerators1.o `test -f 'mingenerators1.cc' || echo '$(srcdir)/'`mingenerators1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_mingenerators1-mingenerators1.Tpo $(DEPDIR)/nnc_mingenerators1-mingenerators1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mingenerators1_CXXFLAGS) $(CXXFLAGS) -MT nnc_mingenerators1-mingenerators1.o -MD -MP -MF $(DEPDIR)/nnc_mingenerators1-mingenerators1.Tpo -c -o nnc_mingenerators1-mingenerators1.o `test -f 'mingenerators1.cc' || echo '$(srcdir)/'`mingenerators1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_mingenerators1-mingenerators1.Tpo $(DEPDIR)/nnc_mingenerators1-mingenerators1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='mingenerators1.cc' object='nnc_mingenerators1-mingenerators1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mingenerators1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_mingenerators1-mingenerators1.o `test -f 'mingenerators1.cc' || echo '$(srcdir)/'`mingenerators1.cc
 
 nnc_mingenerators1-mingenerators1.obj: mingenerators1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mingenerators1_CXXFLAGS) $(CXXFLAGS) -MT nnc_mingenerators1-mingenerators1.obj -MD -MP -MF $(DEPDIR)/nnc_mingenerators1-mingenerators1.Tpo -c -o nnc_mingenerators1-mingenerators1.obj `if test -f 'mingenerators1.cc'; then $(CYGPATH_W) 'mingenerators1.cc'; else $(CYGPATH_W) '$(srcdir)/mingenerators1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_mingenerators1-mingenerators1.Tpo $(DEPDIR)/nnc_mingenerators1-mingenerators1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mingenerators1_CXXFLAGS) $(CXXFLAGS) -MT nnc_mingenerators1-mingenerators1.obj -MD -MP -MF $(DEPDIR)/nnc_mingenerators1-mingenerators1.Tpo -c -o nnc_mingenerators1-mingenerators1.obj `if test -f 'mingenerators1.cc'; then $(CYGPATH_W) 'mingenerators1.cc'; else $(CYGPATH_W) '$(srcdir)/mingenerators1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_mingenerators1-mingenerators1.Tpo $(DEPDIR)/nnc_mingenerators1-mingenerators1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='mingenerators1.cc' object='nnc_mingenerators1-mingenerators1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mingenerators1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_mingenerators1-mingenerators1.obj `if test -f 'mingenerators1.cc'; then $(CYGPATH_W) 'mingenerators1.cc'; else $(CYGPATH_W) '$(srcdir)/mingenerators1.cc'; fi`
 
 nnc_onepoint-onepoint.o: onepoint.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_onepoint_CXXFLAGS) $(CXXFLAGS) -MT nnc_onepoint-onepoint.o -MD -MP -MF $(DEPDIR)/nnc_onepoint-onepoint.Tpo -c -o nnc_onepoint-onepoint.o `test -f 'onepoint.cc' || echo '$(srcdir)/'`onepoint.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_onepoint-onepoint.Tpo $(DEPDIR)/nnc_onepoint-onepoint.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_onepoint_CXXFLAGS) $(CXXFLAGS) -MT nnc_onepoint-onepoint.o -MD -MP -MF $(DEPDIR)/nnc_onepoint-onepoint.Tpo -c -o nnc_onepoint-onepoint.o `test -f 'onepoint.cc' || echo '$(srcdir)/'`onepoint.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_onepoint-onepoint.Tpo $(DEPDIR)/nnc_onepoint-onepoint.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='onepoint.cc' object='nnc_onepoint-onepoint.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_onepoint_CXXFLAGS) $(CXXFLAGS) -c -o nnc_onepoint-onepoint.o `test -f 'onepoint.cc' || echo '$(srcdir)/'`onepoint.cc
 
 nnc_onepoint-onepoint.obj: onepoint.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_onepoint_CXXFLAGS) $(CXXFLAGS) -MT nnc_onepoint-onepoint.obj -MD -MP -MF $(DEPDIR)/nnc_onepoint-onepoint.Tpo -c -o nnc_onepoint-onepoint.obj `if test -f 'onepoint.cc'; then $(CYGPATH_W) 'onepoint.cc'; else $(CYGPATH_W) '$(srcdir)/onepoint.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_onepoint-onepoint.Tpo $(DEPDIR)/nnc_onepoint-onepoint.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_onepoint_CXXFLAGS) $(CXXFLAGS) -MT nnc_onepoint-onepoint.obj -MD -MP -MF $(DEPDIR)/nnc_onepoint-onepoint.Tpo -c -o nnc_onepoint-onepoint.obj `if test -f 'onepoint.cc'; then $(CYGPATH_W) 'onepoint.cc'; else $(CYGPATH_W) '$(srcdir)/onepoint.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_onepoint-onepoint.Tpo $(DEPDIR)/nnc_onepoint-onepoint.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='onepoint.cc' object='nnc_onepoint-onepoint.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_onepoint_CXXFLAGS) $(CXXFLAGS) -c -o nnc_onepoint-onepoint.obj `if test -f 'onepoint.cc'; then $(CYGPATH_W) 'onepoint.cc'; else $(CYGPATH_W) '$(srcdir)/onepoint.cc'; fi`
 
 nnc_permute-permute.o: permute.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_permute_CXXFLAGS) $(CXXFLAGS) -MT nnc_permute-permute.o -MD -MP -MF $(DEPDIR)/nnc_permute-permute.Tpo -c -o nnc_permute-permute.o `test -f 'permute.cc' || echo '$(srcdir)/'`permute.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_permute-permute.Tpo $(DEPDIR)/nnc_permute-permute.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_permute_CXXFLAGS) $(CXXFLAGS) -MT nnc_permute-permute.o -MD -MP -MF $(DEPDIR)/nnc_permute-permute.Tpo -c -o nnc_permute-permute.o `test -f 'permute.cc' || echo '$(srcdir)/'`permute.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_permute-permute.Tpo $(DEPDIR)/nnc_permute-permute.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='permute.cc' object='nnc_permute-permute.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_permute_CXXFLAGS) $(CXXFLAGS) -c -o nnc_permute-permute.o `test -f 'permute.cc' || echo '$(srcdir)/'`permute.cc
 
 nnc_permute-permute.obj: permute.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_permute_CXXFLAGS) $(CXXFLAGS) -MT nnc_permute-permute.obj -MD -MP -MF $(DEPDIR)/nnc_permute-permute.Tpo -c -o nnc_permute-permute.obj `if test -f 'permute.cc'; then $(CYGPATH_W) 'permute.cc'; else $(CYGPATH_W) '$(srcdir)/permute.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_permute-permute.Tpo $(DEPDIR)/nnc_permute-permute.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_permute_CXXFLAGS) $(CXXFLAGS) -MT nnc_permute-permute.obj -MD -MP -MF $(DEPDIR)/nnc_permute-permute.Tpo -c -o nnc_permute-permute.obj `if test -f 'permute.cc'; then $(CYGPATH_W) 'permute.cc'; else $(CYGPATH_W) '$(srcdir)/permute.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_permute-permute.Tpo $(DEPDIR)/nnc_permute-permute.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='permute.cc' object='nnc_permute-permute.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_permute_CXXFLAGS) $(CXXFLAGS) -c -o nnc_permute-permute.obj `if test -f 'permute.cc'; then $(CYGPATH_W) 'permute.cc'; else $(CYGPATH_W) '$(srcdir)/permute.cc'; fi`
 
 nnc_polydifference1-polydifference1.o: polydifference1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polydifference1_CXXFLAGS) $(CXXFLAGS) -MT nnc_polydifference1-polydifference1.o -MD -MP -MF $(DEPDIR)/nnc_polydifference1-polydifference1.Tpo -c -o nnc_polydifference1-polydifference1.o `test -f 'polydifference1.cc' || echo '$(srcdir)/'`polydifference1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_polydifference1-polydifference1.Tpo $(DEPDIR)/nnc_polydifference1-polydifference1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polydifference1_CXXFLAGS) $(CXXFLAGS) -MT nnc_polydifference1-polydifference1.o -MD -MP -MF $(DEPDIR)/nnc_polydifference1-polydifference1.Tpo -c -o nnc_polydifference1-polydifference1.o `test -f 'polydifference1.cc' || echo '$(srcdir)/'`polydifference1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_polydifference1-polydifference1.Tpo $(DEPDIR)/nnc_polydifference1-polydifference1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='polydifference1.cc' object='nnc_polydifference1-polydifference1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polydifference1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_polydifference1-polydifference1.o `test -f 'polydifference1.cc' || echo '$(srcdir)/'`polydifference1.cc
 
 nnc_polydifference1-polydifference1.obj: polydifference1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polydifference1_CXXFLAGS) $(CXXFLAGS) -MT nnc_polydifference1-polydifference1.obj -MD -MP -MF $(DEPDIR)/nnc_polydifference1-polydifference1.Tpo -c -o nnc_polydifference1-polydifference1.obj `if test -f 'polydifference1.cc'; then $(CYGPATH_W) 'polydifference1.cc'; else $(CYGPATH_W) '$(srcdir)/polydifference1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_polydifference1-polydifference1.Tpo $(DEPDIR)/nnc_polydifference1-polydifference1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polydifference1_CXXFLAGS) $(CXXFLAGS) -MT nnc_polydifference1-polydifference1.obj -MD -MP -MF $(DEPDIR)/nnc_polydifference1-polydifference1.Tpo -c -o nnc_polydifference1-polydifference1.obj `if test -f 'polydifference1.cc'; then $(CYGPATH_W) 'polydifference1.cc'; else $(CYGPATH_W) '$(srcdir)/polydifference1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_polydifference1-polydifference1.Tpo $(DEPDIR)/nnc_polydifference1-polydifference1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='polydifference1.cc' object='nnc_polydifference1-polydifference1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polydifference1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_polydifference1-polydifference1.obj `if test -f 'polydifference1.cc'; then $(CYGPATH_W) 'polydifference1.cc'; else $(CYGPATH_W) '$(srcdir)/polydifference1.cc'; fi`
 
 nnc_polyhull1-polyhull1.o: polyhull1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polyhull1_CXXFLAGS) $(CXXFLAGS) -MT nnc_polyhull1-polyhull1.o -MD -MP -MF $(DEPDIR)/nnc_polyhull1-polyhull1.Tpo -c -o nnc_polyhull1-polyhull1.o `test -f 'polyhull1.cc' || echo '$(srcdir)/'`polyhull1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_polyhull1-polyhull1.Tpo $(DEPDIR)/nnc_polyhull1-polyhull1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polyhull1_CXXFLAGS) $(CXXFLAGS) -MT nnc_polyhull1-polyhull1.o -MD -MP -MF $(DEPDIR)/nnc_polyhull1-polyhull1.Tpo -c -o nnc_polyhull1-polyhull1.o `test -f 'polyhull1.cc' || echo '$(srcdir)/'`polyhull1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_polyhull1-polyhull1.Tpo $(DEPDIR)/nnc_polyhull1-polyhull1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='polyhull1.cc' object='nnc_polyhull1-polyhull1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polyhull1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_polyhull1-polyhull1.o `test -f 'polyhull1.cc' || echo '$(srcdir)/'`polyhull1.cc
 
 nnc_polyhull1-polyhull1.obj: polyhull1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polyhull1_CXXFLAGS) $(CXXFLAGS) -MT nnc_polyhull1-polyhull1.obj -MD -MP -MF $(DEPDIR)/nnc_polyhull1-polyhull1.Tpo -c -o nnc_polyhull1-polyhull1.obj `if test -f 'polyhull1.cc'; then $(CYGPATH_W) 'polyhull1.cc'; else $(CYGPATH_W) '$(srcdir)/polyhull1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_polyhull1-polyhull1.Tpo $(DEPDIR)/nnc_polyhull1-polyhull1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polyhull1_CXXFLAGS) $(CXXFLAGS) -MT nnc_polyhull1-polyhull1.obj -MD -MP -MF $(DEPDIR)/nnc_polyhull1-polyhull1.Tpo -c -o nnc_polyhull1-polyhull1.obj `if test -f 'polyhull1.cc'; then $(CYGPATH_W) 'polyhull1.cc'; else $(CYGPATH_W) '$(srcdir)/polyhull1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_polyhull1-polyhull1.Tpo $(DEPDIR)/nnc_polyhull1-polyhull1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='polyhull1.cc' object='nnc_polyhull1-polyhull1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polyhull1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_polyhull1-polyhull1.obj `if test -f 'polyhull1.cc'; then $(CYGPATH_W) 'polyhull1.cc'; else $(CYGPATH_W) '$(srcdir)/polyhull1.cc'; fi`
 
 nnc_polyhullifexact1-polyhullifexact1.o: polyhullifexact1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polyhullifexact1_CXXFLAGS) $(CXXFLAGS) -MT nnc_polyhullifexact1-polyhullifexact1.o -MD -MP -MF $(DEPDIR)/nnc_polyhullifexact1-polyhullifexact1.Tpo -c -o nnc_polyhullifexact1-polyhullifexact1.o `test -f 'polyhullifexact1.cc' || echo '$(srcdir)/'`polyhullifexact1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_polyhullifexact1-polyhullifexact1.Tpo $(DEPDIR)/nnc_polyhullifexact1-polyhullifexact1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polyhullifexact1_CXXFLAGS) $(CXXFLAGS) -MT nnc_polyhullifexact1-polyhullifexact1.o -MD -MP -MF $(DEPDIR)/nnc_polyhullifexact1-polyhullifexact1.Tpo -c -o nnc_polyhullifexact1-polyhullifexact1.o `test -f 'polyhullifexact1.cc' || echo '$(srcdir)/'`polyhullifexact1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_polyhullifexact1-polyhullifexact1.Tpo $(DEPDIR)/nnc_polyhullifexact1-polyhullifexact1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='polyhullifexact1.cc' object='nnc_polyhullifexact1-polyhullifexact1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polyhullifexact1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_polyhullifexact1-polyhullifexact1.o `test -f 'polyhullifexact1.cc' || echo '$(srcdir)/'`polyhullifexact1.cc
 
 nnc_polyhullifexact1-polyhullifexact1.obj: polyhullifexact1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polyhullifexact1_CXXFLAGS) $(CXXFLAGS) -MT nnc_polyhullifexact1-polyhullifexact1.obj -MD -MP -MF $(DEPDIR)/nnc_polyhullifexact1-polyhullifexact1.Tpo -c -o nnc_polyhullifexact1-polyhullifexact1.obj `if test -f 'polyhullifexact1.cc'; then $(CYGPATH_W) 'polyhullifexact1.cc'; else $(CYGPATH_W) '$(srcdir)/polyhullifexact1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_polyhullifexact1-polyhullifexact1.Tpo $(DEPDIR)/nnc_polyhullifexact1-polyhullifexact1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polyhullifexact1_CXXFLAGS) $(CXXFLAGS) -MT nnc_polyhullifexact1-polyhullifexact1.obj -MD -MP -MF $(DEPDIR)/nnc_polyhullifexact1-polyhullifexact1.Tpo -c -o nnc_polyhullifexact1-polyhullifexact1.obj `if test -f 'polyhullifexact1.cc'; then $(CYGPATH_W) 'polyhullifexact1.cc'; else $(CYGPATH_W) '$(srcdir)/polyhullifexact1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_polyhullifexact1-polyhullifexact1.Tpo $(DEPDIR)/nnc_polyhullifexact1-polyhullifexact1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='polyhullifexact1.cc' object='nnc_polyhullifexact1-polyhullifexact1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polyhullifexact1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_polyhullifexact1-polyhullifexact1.obj `if test -f 'polyhullifexact1.cc'; then $(CYGPATH_W) 'polyhullifexact1.cc'; else $(CYGPATH_W) '$(srcdir)/polyhullifexact1.cc'; fi`
 
 nnc_randphull1-randphull1.o: randphull1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_randphull1_CXXFLAGS) $(CXXFLAGS) -MT nnc_randphull1-randphull1.o -MD -MP -MF $(DEPDIR)/nnc_randphull1-randphull1.Tpo -c -o nnc_randphull1-randphull1.o `test -f 'randphull1.cc' || echo '$(srcdir)/'`randphull1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_randphull1-randphull1.Tpo $(DEPDIR)/nnc_randphull1-randphull1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_randphull1_CXXFLAGS) $(CXXFLAGS) -MT nnc_randphull1-randphull1.o -MD -MP -MF $(DEPDIR)/nnc_randphull1-randphull1.Tpo -c -o nnc_randphull1-randphull1.o `test -f 'randphull1.cc' || echo '$(srcdir)/'`randphull1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_randphull1-randphull1.Tpo $(DEPDIR)/nnc_randphull1-randphull1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='randphull1.cc' object='nnc_randphull1-randphull1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_randphull1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_randphull1-randphull1.o `test -f 'randphull1.cc' || echo '$(srcdir)/'`randphull1.cc
 
 nnc_randphull1-randphull1.obj: randphull1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_randphull1_CXXFLAGS) $(CXXFLAGS) -MT nnc_randphull1-randphull1.obj -MD -MP -MF $(DEPDIR)/nnc_randphull1-randphull1.Tpo -c -o nnc_randphull1-randphull1.obj `if test -f 'randphull1.cc'; then $(CYGPATH_W) 'randphull1.cc'; else $(CYGPATH_W) '$(srcdir)/randphull1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_randphull1-randphull1.Tpo $(DEPDIR)/nnc_randphull1-randphull1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_randphull1_CXXFLAGS) $(CXXFLAGS) -MT nnc_randphull1-randphull1.obj -MD -MP -MF $(DEPDIR)/nnc_randphull1-randphull1.Tpo -c -o nnc_randphull1-randphull1.obj `if test -f 'randphull1.cc'; then $(CYGPATH_W) 'randphull1.cc'; else $(CYGPATH_W) '$(srcdir)/randphull1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_randphull1-randphull1.Tpo $(DEPDIR)/nnc_randphull1-randphull1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='randphull1.cc' object='nnc_randphull1-randphull1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_randphull1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_randphull1-randphull1.obj `if test -f 'randphull1.cc'; then $(CYGPATH_W) 'randphull1.cc'; else $(CYGPATH_W) '$(srcdir)/randphull1.cc'; fi`
 
 nnc_relations1-relations1.o: relations1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_relations1_CXXFLAGS) $(CXXFLAGS) -MT nnc_relations1-relations1.o -MD -MP -MF $(DEPDIR)/nnc_relations1-relations1.Tpo -c -o nnc_relations1-relations1.o `test -f 'relations1.cc' || echo '$(srcdir)/'`relations1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_relations1-relations1.Tpo $(DEPDIR)/nnc_relations1-relations1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_relations1_CXXFLAGS) $(CXXFLAGS) -MT nnc_relations1-relations1.o -MD -MP -MF $(DEPDIR)/nnc_relations1-relations1.Tpo -c -o nnc_relations1-relations1.o `test -f 'relations1.cc' || echo '$(srcdir)/'`relations1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_relations1-relations1.Tpo $(DEPDIR)/nnc_relations1-relations1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='relations1.cc' object='nnc_relations1-relations1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_relations1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_relations1-relations1.o `test -f 'relations1.cc' || echo '$(srcdir)/'`relations1.cc
 
 nnc_relations1-relations1.obj: relations1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_relations1_CXXFLAGS) $(CXXFLAGS) -MT nnc_relations1-relations1.obj -MD -MP -MF $(DEPDIR)/nnc_relations1-relations1.Tpo -c -o nnc_relations1-relations1.obj `if test -f 'relations1.cc'; then $(CYGPATH_W) 'relations1.cc'; else $(CYGPATH_W) '$(srcdir)/relations1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_relations1-relations1.Tpo $(DEPDIR)/nnc_relations1-relations1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_relations1_CXXFLAGS) $(CXXFLAGS) -MT nnc_relations1-relations1.obj -MD -MP -MF $(DEPDIR)/nnc_relations1-relations1.Tpo -c -o nnc_relations1-relations1.obj `if test -f 'relations1.cc'; then $(CYGPATH_W) 'relations1.cc'; else $(CYGPATH_W) '$(srcdir)/relations1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_relations1-relations1.Tpo $(DEPDIR)/nnc_relations1-relations1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='relations1.cc' object='nnc_relations1-relations1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_relations1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_relations1-relations1.obj `if test -f 'relations1.cc'; then $(CYGPATH_W) 'relations1.cc'; else $(CYGPATH_W) '$(srcdir)/relations1.cc'; fi`
 
 nnc_relations2-relations2.o: relations2.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_relations2_CXXFLAGS) $(CXXFLAGS) -MT nnc_relations2-relations2.o -MD -MP -MF $(DEPDIR)/nnc_relations2-relations2.Tpo -c -o nnc_relations2-relations2.o `test -f 'relations2.cc' || echo '$(srcdir)/'`relations2.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_relations2-relations2.Tpo $(DEPDIR)/nnc_relations2-relations2.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_relations2_CXXFLAGS) $(CXXFLAGS) -MT nnc_relations2-relations2.o -MD -MP -MF $(DEPDIR)/nnc_relations2-relations2.Tpo -c -o nnc_relations2-relations2.o `test -f 'relations2.cc' || echo '$(srcdir)/'`relations2.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_relations2-relations2.Tpo $(DEPDIR)/nnc_relations2-relations2.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='relations2.cc' object='nnc_relations2-relations2.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_relations2_CXXFLAGS) $(CXXFLAGS) -c -o nnc_relations2-relations2.o `test -f 'relations2.cc' || echo '$(srcdir)/'`relations2.cc
 
 nnc_relations2-relations2.obj: relations2.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_relations2_CXXFLAGS) $(CXXFLAGS) -MT nnc_relations2-relations2.obj -MD -MP -MF $(DEPDIR)/nnc_relations2-relations2.Tpo -c -o nnc_relations2-relations2.obj `if test -f 'relations2.cc'; then $(CYGPATH_W) 'relations2.cc'; else $(CYGPATH_W) '$(srcdir)/relations2.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_relations2-relations2.Tpo $(DEPDIR)/nnc_relations2-relations2.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_relations2_CXXFLAGS) $(CXXFLAGS) -MT nnc_relations2-relations2.obj -MD -MP -MF $(DEPDIR)/nnc_relations2-relations2.Tpo -c -o nnc_relations2-relations2.obj `if test -f 'relations2.cc'; then $(CYGPATH_W) 'relations2.cc'; else $(CYGPATH_W) '$(srcdir)/relations2.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_relations2-relations2.Tpo $(DEPDIR)/nnc_relations2-relations2.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='relations2.cc' object='nnc_relations2-relations2.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_relations2_CXXFLAGS) $(CXXFLAGS) -c -o nnc_relations2-relations2.obj `if test -f 'relations2.cc'; then $(CYGPATH_W) 'relations2.cc'; else $(CYGPATH_W) '$(srcdir)/relations2.cc'; fi`
 
 nnc_removespacedims1-removespacedims1.o: removespacedims1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_removespacedims1_CXXFLAGS) $(CXXFLAGS) -MT nnc_removespacedims1-removespacedims1.o -MD -MP -MF $(DEPDIR)/nnc_removespacedims1-removespacedims1.Tpo -c -o nnc_removespacedims1-removespacedims1.o `test -f 'removespacedims1.cc' || echo '$(srcdir)/'`removespacedims1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_removespacedims1-removespacedims1.Tpo $(DEPDIR)/nnc_removespacedims1-removespacedims1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_removespacedims1_CXXFLAGS) $(CXXFLAGS) -MT nnc_removespacedims1-removespacedims1.o -MD -MP -MF $(DEPDIR)/nnc_removespacedims1-removespacedims1.Tpo -c -o nnc_removespacedims1-removespacedims1.o `test -f 'removespacedims1.cc' || echo '$(srcdir)/'`removespacedims1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_removespacedims1-removespacedims1.Tpo $(DEPDIR)/nnc_removespacedims1-removespacedims1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='removespacedims1.cc' object='nnc_removespacedims1-removespacedims1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_removespacedims1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_removespacedims1-removespacedims1.o `test -f 'removespacedims1.cc' || echo '$(srcdir)/'`removespacedims1.cc
 
 nnc_removespacedims1-removespacedims1.obj: removespacedims1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_removespacedims1_CXXFLAGS) $(CXXFLAGS) -MT nnc_removespacedims1-removespacedims1.obj -MD -MP -MF $(DEPDIR)/nnc_removespacedims1-removespacedims1.Tpo -c -o nnc_removespacedims1-removespacedims1.obj `if test -f 'removespacedims1.cc'; then $(CYGPATH_W) 'removespacedims1.cc'; else $(CYGPATH_W) '$(srcdir)/removespacedims1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_removespacedims1-removespacedims1.Tpo $(DEPDIR)/nnc_removespacedims1-removespacedims1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_removespacedims1_CXXFLAGS) $(CXXFLAGS) -MT nnc_removespacedims1-removespacedims1.obj -MD -MP -MF $(DEPDIR)/nnc_removespacedims1-removespacedims1.Tpo -c -o nnc_removespacedims1-removespacedims1.obj `if test -f 'removespacedims1.cc'; then $(CYGPATH_W) 'removespacedims1.cc'; else $(CYGPATH_W) '$(srcdir)/removespacedims1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_removespacedims1-removespacedims1.Tpo $(DEPDIR)/nnc_removespacedims1-removespacedims1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='removespacedims1.cc' object='nnc_removespacedims1-removespacedims1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_removespacedims1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_removespacedims1-removespacedims1.obj `if test -f 'removespacedims1.cc'; then $(CYGPATH_W) 'removespacedims1.cc'; else $(CYGPATH_W) '$(srcdir)/removespacedims1.cc'; fi`
 
 nnc_simplifyusingcontext1-simplifyusingcontext1.o: simplifyusingcontext1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_simplifyusingcontext1_CXXFLAGS) $(CXXFLAGS) -MT nnc_simplifyusingcontext1-simplifyusingcontext1.o -MD -MP -MF $(DEPDIR)/nnc_simplifyusingcontext1-simplifyusingcontext1.Tpo -c -o nnc_simplifyusingcontext1-simplifyusingcontext1.o `test -f 'simplifyusingcontext1.cc' || echo '$(srcdir)/'`simplifyusingcontext1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_simplifyusingcontext1-simplifyusingcontext1.Tpo $(DEPDIR)/nnc_simplifyusingcontext1-simplifyusingcontext1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_simplifyusingcontext1_CXXFLAGS) $(CXXFLAGS) -MT nnc_simplifyusingcontext1-simplifyusingcontext1.o -MD -MP -MF $(DEPDIR)/nnc_simplifyusingcontext1-simplifyusingcontext1.Tpo -c -o nnc_simplifyusingcontext1-simplifyusingcontext1.o `test -f 'simplifyusingcontext1.cc' || echo '$(srcdir)/'`simplifyusingcontext1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_simplifyusingcontext1-simplifyusingcontext1.Tpo $(DEPDIR)/nnc_simplifyusingcontext1-simplifyusingcontext1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='simplifyusingcontext1.cc' object='nnc_simplifyusingcontext1-simplifyusingcontext1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_simplifyusingcontext1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_simplifyusingcontext1-simplifyusingcontext1.o `test -f 'simplifyusingcontext1.cc' || echo '$(srcdir)/'`simplifyusingcontext1.cc
 
 nnc_simplifyusingcontext1-simplifyusingcontext1.obj: simplifyusingcontext1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_simplifyusingcontext1_CXXFLAGS) $(CXXFLAGS) -MT nnc_simplifyusingcontext1-simplifyusingcontext1.obj -MD -MP -MF $(DEPDIR)/nnc_simplifyusingcontext1-simplifyusingcontext1.Tpo -c -o nnc_simplifyusingcontext1-simplifyusingcontext1.obj `if test -f 'simplifyusingcontext1.cc'; then $(CYGPATH_W) 'simplifyusingcontext1.cc'; else $(CYGPATH_W) '$(srcdir)/simplifyusingcontext1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_simplifyusingcontext1-simplifyusingcontext1.Tpo $(DEPDIR)/nnc_simplifyusingcontext1-simplifyusingcontext1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_simplifyusingcontext1_CXXFLAGS) $(CXXFLAGS) -MT nnc_simplifyusingcontext1-simplifyusingcontext1.obj -MD -MP -MF $(DEPDIR)/nnc_simplifyusingcontext1-simplifyusingcontext1.Tpo -c -o nnc_simplifyusingcontext1-simplifyusingcontext1.obj `if test -f 'simplifyusingcontext1.cc'; then $(CYGPATH_W) 'simplifyusingcontext1.cc'; else $(CYGPATH_W) '$(srcdir)/simplifyusingcontext1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_simplifyusingcontext1-simplifyusingcontext1.Tpo $(DEPDIR)/nnc_simplifyusingcontext1-simplifyusingcontext1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='simplifyusingcontext1.cc' object='nnc_simplifyusingcontext1-simplifyusingcontext1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_simplifyusingcontext1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_simplifyusingcontext1-simplifyusingcontext1.obj `if test -f 'simplifyusingcontext1.cc'; then $(CYGPATH_W) 'simplifyusingcontext1.cc'; else $(CYGPATH_W) '$(srcdir)/simplifyusingcontext1.cc'; fi`
 
 nnc_smm1-smm1.o: smm1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_smm1_CXXFLAGS) $(CXXFLAGS) -MT nnc_smm1-smm1.o -MD -MP -MF $(DEPDIR)/nnc_smm1-smm1.Tpo -c -o nnc_smm1-smm1.o `test -f 'smm1.cc' || echo '$(srcdir)/'`smm1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_smm1-smm1.Tpo $(DEPDIR)/nnc_smm1-smm1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_smm1_CXXFLAGS) $(CXXFLAGS) -MT nnc_smm1-smm1.o -MD -MP -MF $(DEPDIR)/nnc_smm1-smm1.Tpo -c -o nnc_smm1-smm1.o `test -f 'smm1.cc' || echo '$(srcdir)/'`smm1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_smm1-smm1.Tpo $(DEPDIR)/nnc_smm1-smm1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='smm1.cc' object='nnc_smm1-smm1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_smm1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_smm1-smm1.o `test -f 'smm1.cc' || echo '$(srcdir)/'`smm1.cc
 
 nnc_smm1-smm1.obj: smm1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_smm1_CXXFLAGS) $(CXXFLAGS) -MT nnc_smm1-smm1.obj -MD -MP -MF $(DEPDIR)/nnc_smm1-smm1.Tpo -c -o nnc_smm1-smm1.obj `if test -f 'smm1.cc'; then $(CYGPATH_W) 'smm1.cc'; else $(CYGPATH_W) '$(srcdir)/smm1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_smm1-smm1.Tpo $(DEPDIR)/nnc_smm1-smm1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_smm1_CXXFLAGS) $(CXXFLAGS) -MT nnc_smm1-smm1.obj -MD -MP -MF $(DEPDIR)/nnc_smm1-smm1.Tpo -c -o nnc_smm1-smm1.obj `if test -f 'smm1.cc'; then $(CYGPATH_W) 'smm1.cc'; else $(CYGPATH_W) '$(srcdir)/smm1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_smm1-smm1.Tpo $(DEPDIR)/nnc_smm1-smm1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='smm1.cc' object='nnc_smm1-smm1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_smm1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_smm1-smm1.obj `if test -f 'smm1.cc'; then $(CYGPATH_W) 'smm1.cc'; else $(CYGPATH_W) '$(srcdir)/smm1.cc'; fi`
 
 nnc_timeelapse1-timeelapse1.o: timeelapse1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_timeelapse1_CXXFLAGS) $(CXXFLAGS) -MT nnc_timeelapse1-timeelapse1.o -MD -MP -MF $(DEPDIR)/nnc_timeelapse1-timeelapse1.Tpo -c -o nnc_timeelapse1-timeelapse1.o `test -f 'timeelapse1.cc' || echo '$(srcdir)/'`timeelapse1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_timeelapse1-timeelapse1.Tpo $(DEPDIR)/nnc_timeelapse1-timeelapse1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_timeelapse1_CXXFLAGS) $(CXXFLAGS) -MT nnc_timeelapse1-timeelapse1.o -MD -MP -MF $(DEPDIR)/nnc_timeelapse1-timeelapse1.Tpo -c -o nnc_timeelapse1-timeelapse1.o `test -f 'timeelapse1.cc' || echo '$(srcdir)/'`timeelapse1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_timeelapse1-timeelapse1.Tpo $(DEPDIR)/nnc_timeelapse1-timeelapse1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='timeelapse1.cc' object='nnc_timeelapse1-timeelapse1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_timeelapse1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_timeelapse1-timeelapse1.o `test -f 'timeelapse1.cc' || echo '$(srcdir)/'`timeelapse1.cc
 
 nnc_timeelapse1-timeelapse1.obj: timeelapse1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_timeelapse1_CXXFLAGS) $(CXXFLAGS) -MT nnc_timeelapse1-timeelapse1.obj -MD -MP -MF $(DEPDIR)/nnc_timeelapse1-timeelapse1.Tpo -c -o nnc_timeelapse1-timeelapse1.obj `if test -f 'timeelapse1.cc'; then $(CYGPATH_W) 'timeelapse1.cc'; else $(CYGPATH_W) '$(srcdir)/timeelapse1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_timeelapse1-timeelapse1.Tpo $(DEPDIR)/nnc_timeelapse1-timeelapse1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_timeelapse1_CXXFLAGS) $(CXXFLAGS) -MT nnc_timeelapse1-timeelapse1.obj -MD -MP -MF $(DEPDIR)/nnc_timeelapse1-timeelapse1.Tpo -c -o nnc_timeelapse1-timeelapse1.obj `if test -f 'timeelapse1.cc'; then $(CYGPATH_W) 'timeelapse1.cc'; else $(CYGPATH_W) '$(srcdir)/timeelapse1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_timeelapse1-timeelapse1.Tpo $(DEPDIR)/nnc_timeelapse1-timeelapse1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='timeelapse1.cc' object='nnc_timeelapse1-timeelapse1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_timeelapse1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_timeelapse1-timeelapse1.obj `if test -f 'timeelapse1.cc'; then $(CYGPATH_W) 'timeelapse1.cc'; else $(CYGPATH_W) '$(srcdir)/timeelapse1.cc'; fi`
 
 nnc_unconstrain1-unconstrain1.o: unconstrain1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_unconstrain1_CXXFLAGS) $(CXXFLAGS) -MT nnc_unconstrain1-unconstrain1.o -MD -MP -MF $(DEPDIR)/nnc_unconstrain1-unconstrain1.Tpo -c -o nnc_unconstrain1-unconstrain1.o `test -f 'unconstrain1.cc' || echo '$(srcdir)/'`unconstrain1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_unconstrain1-unconstrain1.Tpo $(DEPDIR)/nnc_unconstrain1-unconstrain1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_unconstrain1_CXXFLAGS) $(CXXFLAGS) -MT nnc_unconstrain1-unconstrain1.o -MD -MP -MF $(DEPDIR)/nnc_unconstrain1-unconstrain1.Tpo -c -o nnc_unconstrain1-unconstrain1.o `test -f 'unconstrain1.cc' || echo '$(srcdir)/'`unconstrain1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_unconstrain1-unconstrain1.Tpo $(DEPDIR)/nnc_unconstrain1-unconstrain1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='unconstrain1.cc' object='nnc_unconstrain1-unconstrain1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_unconstrain1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_unconstrain1-unconstrain1.o `test -f 'unconstrain1.cc' || echo '$(srcdir)/'`unconstrain1.cc
 
 nnc_unconstrain1-unconstrain1.obj: unconstrain1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_unconstrain1_CXXFLAGS) $(CXXFLAGS) -MT nnc_unconstrain1-unconstrain1.obj -MD -MP -MF $(DEPDIR)/nnc_unconstrain1-unconstrain1.Tpo -c -o nnc_unconstrain1-unconstrain1.obj `if test -f 'unconstrain1.cc'; then $(CYGPATH_W) 'unconstrain1.cc'; else $(CYGPATH_W) '$(srcdir)/unconstrain1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_unconstrain1-unconstrain1.Tpo $(DEPDIR)/nnc_unconstrain1-unconstrain1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_unconstrain1_CXXFLAGS) $(CXXFLAGS) -MT nnc_unconstrain1-unconstrain1.obj -MD -MP -MF $(DEPDIR)/nnc_unconstrain1-unconstrain1.Tpo -c -o nnc_unconstrain1-unconstrain1.obj `if test -f 'unconstrain1.cc'; then $(CYGPATH_W) 'unconstrain1.cc'; else $(CYGPATH_W) '$(srcdir)/unconstrain1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_unconstrain1-unconstrain1.Tpo $(DEPDIR)/nnc_unconstrain1-unconstrain1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='unconstrain1.cc' object='nnc_unconstrain1-unconstrain1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_unconstrain1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_unconstrain1-unconstrain1.obj `if test -f 'unconstrain1.cc'; then $(CYGPATH_W) 'unconstrain1.cc'; else $(CYGPATH_W) '$(srcdir)/unconstrain1.cc'; fi`
 
 nnc_universe1-universe1.o: universe1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_universe1_CXXFLAGS) $(CXXFLAGS) -MT nnc_universe1-universe1.o -MD -MP -MF $(DEPDIR)/nnc_universe1-universe1.Tpo -c -o nnc_universe1-universe1.o `test -f 'universe1.cc' || echo '$(srcdir)/'`universe1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_universe1-universe1.Tpo $(DEPDIR)/nnc_universe1-universe1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_universe1_CXXFLAGS) $(CXXFLAGS) -MT nnc_universe1-universe1.o -MD -MP -MF $(DEPDIR)/nnc_universe1-universe1.Tpo -c -o nnc_universe1-universe1.o `test -f 'universe1.cc' || echo '$(srcdir)/'`universe1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_universe1-universe1.Tpo $(DEPDIR)/nnc_universe1-universe1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='universe1.cc' object='nnc_universe1-universe1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_universe1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_universe1-universe1.o `test -f 'universe1.cc' || echo '$(srcdir)/'`universe1.cc
 
 nnc_universe1-universe1.obj: universe1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_universe1_CXXFLAGS) $(CXXFLAGS) -MT nnc_universe1-universe1.obj -MD -MP -MF $(DEPDIR)/nnc_universe1-universe1.Tpo -c -o nnc_universe1-universe1.obj `if test -f 'universe1.cc'; then $(CYGPATH_W) 'universe1.cc'; else $(CYGPATH_W) '$(srcdir)/universe1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_universe1-universe1.Tpo $(DEPDIR)/nnc_universe1-universe1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_universe1_CXXFLAGS) $(CXXFLAGS) -MT nnc_universe1-universe1.obj -MD -MP -MF $(DEPDIR)/nnc_universe1-universe1.Tpo -c -o nnc_universe1-universe1.obj `if test -f 'universe1.cc'; then $(CYGPATH_W) 'universe1.cc'; else $(CYGPATH_W) '$(srcdir)/universe1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_universe1-universe1.Tpo $(DEPDIR)/nnc_universe1-universe1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='universe1.cc' object='nnc_universe1-universe1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_universe1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_universe1-universe1.obj `if test -f 'universe1.cc'; then $(CYGPATH_W) 'universe1.cc'; else $(CYGPATH_W) '$(srcdir)/universe1.cc'; fi`
 
+nnc_wrap1-wrap1.o: wrap1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_wrap1_CXXFLAGS) $(CXXFLAGS) -MT nnc_wrap1-wrap1.o -MD -MP -MF $(DEPDIR)/nnc_wrap1-wrap1.Tpo -c -o nnc_wrap1-wrap1.o `test -f 'wrap1.cc' || echo '$(srcdir)/'`wrap1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_wrap1-wrap1.Tpo $(DEPDIR)/nnc_wrap1-wrap1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='wrap1.cc' object='nnc_wrap1-wrap1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_wrap1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_wrap1-wrap1.o `test -f 'wrap1.cc' || echo '$(srcdir)/'`wrap1.cc
+
+nnc_wrap1-wrap1.obj: wrap1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_wrap1_CXXFLAGS) $(CXXFLAGS) -MT nnc_wrap1-wrap1.obj -MD -MP -MF $(DEPDIR)/nnc_wrap1-wrap1.Tpo -c -o nnc_wrap1-wrap1.obj `if test -f 'wrap1.cc'; then $(CYGPATH_W) 'wrap1.cc'; else $(CYGPATH_W) '$(srcdir)/wrap1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_wrap1-wrap1.Tpo $(DEPDIR)/nnc_wrap1-wrap1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='wrap1.cc' object='nnc_wrap1-wrap1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_wrap1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_wrap1-wrap1.obj `if test -f 'wrap1.cc'; then $(CYGPATH_W) 'wrap1.cc'; else $(CYGPATH_W) '$(srcdir)/wrap1.cc'; fi`
+
+nnc_wrap2-wrap2.o: wrap2.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_wrap2_CXXFLAGS) $(CXXFLAGS) -MT nnc_wrap2-wrap2.o -MD -MP -MF $(DEPDIR)/nnc_wrap2-wrap2.Tpo -c -o nnc_wrap2-wrap2.o `test -f 'wrap2.cc' || echo '$(srcdir)/'`wrap2.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_wrap2-wrap2.Tpo $(DEPDIR)/nnc_wrap2-wrap2.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='wrap2.cc' object='nnc_wrap2-wrap2.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_wrap2_CXXFLAGS) $(CXXFLAGS) -c -o nnc_wrap2-wrap2.o `test -f 'wrap2.cc' || echo '$(srcdir)/'`wrap2.cc
+
+nnc_wrap2-wrap2.obj: wrap2.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_wrap2_CXXFLAGS) $(CXXFLAGS) -MT nnc_wrap2-wrap2.obj -MD -MP -MF $(DEPDIR)/nnc_wrap2-wrap2.Tpo -c -o nnc_wrap2-wrap2.obj `if test -f 'wrap2.cc'; then $(CYGPATH_W) 'wrap2.cc'; else $(CYGPATH_W) '$(srcdir)/wrap2.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_wrap2-wrap2.Tpo $(DEPDIR)/nnc_wrap2-wrap2.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='wrap2.cc' object='nnc_wrap2-wrap2.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_wrap2_CXXFLAGS) $(CXXFLAGS) -c -o nnc_wrap2-wrap2.obj `if test -f 'wrap2.cc'; then $(CYGPATH_W) 'wrap2.cc'; else $(CYGPATH_W) '$(srcdir)/wrap2.cc'; fi`
+
 nnc_writepolyhedron1-writepolyhedron1.o: writepolyhedron1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_writepolyhedron1_CXXFLAGS) $(CXXFLAGS) -MT nnc_writepolyhedron1-writepolyhedron1.o -MD -MP -MF $(DEPDIR)/nnc_writepolyhedron1-writepolyhedron1.Tpo -c -o nnc_writepolyhedron1-writepolyhedron1.o `test -f 'writepolyhedron1.cc' || echo '$(srcdir)/'`writepolyhedron1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_writepolyhedron1-writepolyhedron1.Tpo $(DEPDIR)/nnc_writepolyhedron1-writepolyhedron1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_writepolyhedron1_CXXFLAGS) $(CXXFLAGS) -MT nnc_writepolyhedron1-writepolyhedron1.o -MD -MP -MF $(DEPDIR)/nnc_writepolyhedron1-writepolyhedron1.Tpo -c -o nnc_writepolyhedron1-writepolyhedron1.o `test -f 'writepolyhedron1.cc' || echo '$(srcdir)/'`writepolyhedron1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_writepolyhedron1-writepolyhedron1.Tpo $(DEPDIR)/nnc_writepolyhedron1-writepolyhedron1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='writepolyhedron1.cc' object='nnc_writepolyhedron1-writepolyhedron1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_writepolyhedron1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_writepolyhedron1-writepolyhedron1.o `test -f 'writepolyhedron1.cc' || echo '$(srcdir)/'`writepolyhedron1.cc
 
 nnc_writepolyhedron1-writepolyhedron1.obj: writepolyhedron1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_writepolyhedron1_CXXFLAGS) $(CXXFLAGS) -MT nnc_writepolyhedron1-writepolyhedron1.obj -MD -MP -MF $(DEPDIR)/nnc_writepolyhedron1-writepolyhedron1.Tpo -c -o nnc_writepolyhedron1-writepolyhedron1.obj `if test -f 'writepolyhedron1.cc'; then $(CYGPATH_W) 'writepolyhedron1.cc'; else $(CYGPATH_W) '$(srcdir)/writepolyhedron1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_writepolyhedron1-writepolyhedron1.Tpo $(DEPDIR)/nnc_writepolyhedron1-writepolyhedron1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_writepolyhedron1_CXXFLAGS) $(CXXFLAGS) -MT nnc_writepolyhedron1-writepolyhedron1.obj -MD -MP -MF $(DEPDIR)/nnc_writepolyhedron1-writepolyhedron1.Tpo -c -o nnc_writepolyhedron1-writepolyhedron1.obj `if test -f 'writepolyhedron1.cc'; then $(CYGPATH_W) 'writepolyhedron1.cc'; else $(CYGPATH_W) '$(srcdir)/writepolyhedron1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_writepolyhedron1-writepolyhedron1.Tpo $(DEPDIR)/nnc_writepolyhedron1-writepolyhedron1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='writepolyhedron1.cc' object='nnc_writepolyhedron1-writepolyhedron1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_writepolyhedron1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_writepolyhedron1-writepolyhedron1.obj `if test -f 'writepolyhedron1.cc'; then $(CYGPATH_W) 'writepolyhedron1.cc'; else $(CYGPATH_W) '$(srcdir)/writepolyhedron1.cc'; fi`
 
 watchdog1-watchdog1.o: watchdog1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(watchdog1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT watchdog1-watchdog1.o -MD -MP -MF $(DEPDIR)/watchdog1-watchdog1.Tpo -c -o watchdog1-watchdog1.o `test -f 'watchdog1.cc' || echo '$(srcdir)/'`watchdog1.cc
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/watchdog1-watchdog1.Tpo $(DEPDIR)/watchdog1-watchdog1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(watchdog1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT watchdog1-watchdog1.o -MD -MP -MF $(DEPDIR)/watchdog1-watchdog1.Tpo -c -o watchdog1-watchdog1.o `test -f 'watchdog1.cc' || echo '$(srcdir)/'`watchdog1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/watchdog1-watchdog1.Tpo $(DEPDIR)/watchdog1-watchdog1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='watchdog1.cc' object='watchdog1-watchdog1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(watchdog1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o watchdog1-watchdog1.o `test -f 'watchdog1.cc' || echo '$(srcdir)/'`watchdog1.cc
 
 watchdog1-watchdog1.obj: watchdog1.cc
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(watchdog1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT watchdog1-watchdog1.obj -MD -MP -MF $(DEPDIR)/watchdog1-watchdog1.Tpo -c -o watchdog1-watchdog1.obj `if test -f 'watchdog1.cc'; then $(CYGPATH_W) 'watchdog1.cc'; else $(CYGPATH_W) '$(srcdir)/watchdog1.cc'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/watchdog1-watchdog1.Tpo $(DEPDIR)/watchdog1-watchdog1.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(watchdog1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT watchdog1-watchdog1.obj -MD -MP -MF $(DEPDIR)/watchdog1-watchdog1.Tpo -c -o watchdog1-watchdog1.obj `if test -f 'watchdog1.cc'; then $(CYGPATH_W) 'watchdog1.cc'; else $(CYGPATH_W) '$(srcdir)/watchdog1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/watchdog1-watchdog1.Tpo $(DEPDIR)/watchdog1-watchdog1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='watchdog1.cc' object='watchdog1-watchdog1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(watchdog1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o watchdog1-watchdog1.obj `if test -f 'watchdog1.cc'; then $(CYGPATH_W) 'watchdog1.cc'; else $(CYGPATH_W) '$(srcdir)/watchdog1.cc'; fi`
 
+weightwatch1-weightwatch1.o: weightwatch1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(weightwatch1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT weightwatch1-weightwatch1.o -MD -MP -MF $(DEPDIR)/weightwatch1-weightwatch1.Tpo -c -o weightwatch1-weightwatch1.o `test -f 'weightwatch1.cc' || echo '$(srcdir)/'`weightwatch1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/weightwatch1-weightwatch1.Tpo $(DEPDIR)/weightwatch1-weightwatch1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='weightwatch1.cc' object='weightwatch1-weightwatch1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(weightwatch1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o weightwatch1-weightwatch1.o `test -f 'weightwatch1.cc' || echo '$(srcdir)/'`weightwatch1.cc
+
+weightwatch1-weightwatch1.obj: weightwatch1.cc
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(weightwatch1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT weightwatch1-weightwatch1.obj -MD -MP -MF $(DEPDIR)/weightwatch1-weightwatch1.Tpo -c -o weightwatch1-weightwatch1.obj `if test -f 'weightwatch1.cc'; then $(CYGPATH_W) 'weightwatch1.cc'; else $(CYGPATH_W) '$(srcdir)/weightwatch1.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/weightwatch1-weightwatch1.Tpo $(DEPDIR)/weightwatch1-weightwatch1.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='weightwatch1.cc' object='weightwatch1-weightwatch1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(weightwatch1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o weightwatch1-weightwatch1.obj `if test -f 'weightwatch1.cc'; then $(CYGPATH_W) 'weightwatch1.cc'; else $(CYGPATH_W) '$(srcdir)/weightwatch1.cc'; fi`
+
 mostlyclean-libtool:
 	-rm -f *.lo
 
@@ -4420,14 +4861,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
@@ -4435,37 +4876,43 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
 check-TESTS: $(TESTS)
-	@failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[	 ]'; \
+	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
 	srcdir=$(srcdir); export srcdir; \
 	list=' $(TESTS) '; \
+	$(am__tty_colors); \
 	if test -n "$$list"; then \
 	  for tst in $$list; do \
 	    if test -f ./$$tst; then dir=./; \
@@ -4474,49 +4921,63 @@ check-TESTS: $(TESTS)
 	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
 	      all=`expr $$all + 1`; \
 	      case " $(XFAIL_TESTS) " in \
-	      *$$ws$$tst$$ws*) \
+	      *[\ \	]$$tst[\ \	]*) \
 		xpass=`expr $$xpass + 1`; \
 		failed=`expr $$failed + 1`; \
-		echo "XPASS: $$tst"; \
+		col=$$red; res=XPASS; \
 	      ;; \
 	      *) \
-		echo "PASS: $$tst"; \
+		col=$$grn; res=PASS; \
 	      ;; \
 	      esac; \
 	    elif test $$? -ne 77; then \
 	      all=`expr $$all + 1`; \
 	      case " $(XFAIL_TESTS) " in \
-	      *$$ws$$tst$$ws*) \
+	      *[\ \	]$$tst[\ \	]*) \
 		xfail=`expr $$xfail + 1`; \
-		echo "XFAIL: $$tst"; \
+		col=$$lgn; res=XFAIL; \
 	      ;; \
 	      *) \
 		failed=`expr $$failed + 1`; \
-		echo "FAIL: $$tst"; \
+		col=$$red; res=FAIL; \
 	      ;; \
 	      esac; \
 	    else \
 	      skip=`expr $$skip + 1`; \
-	      echo "SKIP: $$tst"; \
+	      col=$$blu; res=SKIP; \
 	    fi; \
+	    echo "$${col}$$res$${std}: $$tst"; \
 	  done; \
+	  if test "$$all" -eq 1; then \
+	    tests="test"; \
+	    All=""; \
+	  else \
+	    tests="tests"; \
+	    All="All "; \
+	  fi; \
 	  if test "$$failed" -eq 0; then \
 	    if test "$$xfail" -eq 0; then \
-	      banner="All $$all tests passed"; \
+	      banner="$$All$$all $$tests passed"; \
 	    else \
-	      banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
+	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
 	    fi; \
 	  else \
 	    if test "$$xpass" -eq 0; then \
-	      banner="$$failed of $$all tests failed"; \
+	      banner="$$failed of $$all $$tests failed"; \
 	    else \
-	      banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
+	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
 	    fi; \
 	  fi; \
 	  dashes="$$banner"; \
 	  skipped=""; \
 	  if test "$$skip" -ne 0; then \
-	    skipped="($$skip tests were not run)"; \
+	    if test "$$skip" -eq 1; then \
+	      skipped="($$skip test was not run)"; \
+	    else \
+	      skipped="($$skip tests were not run)"; \
+	    fi; \
 	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
 	      dashes="$$skipped"; \
 	  fi; \
@@ -4527,11 +4988,15 @@ check-TESTS: $(TESTS)
 	      dashes="$$report"; \
 	  fi; \
 	  dashes=`echo "$$dashes" | sed s/./=/g`; \
-	  echo "$$dashes"; \
+	  if test "$$failed" -eq 0; then \
+	    echo "$$grn$$dashes"; \
+	  else \
+	    echo "$$red$$dashes"; \
+	  fi; \
 	  echo "$$banner"; \
 	  test -z "$$skipped" || echo "$$skipped"; \
 	  test -z "$$report" || echo "$$report"; \
-	  echo "$$dashes"; \
+	  echo "$$dashes$$std"; \
 	  test "$$failed" -eq 0; \
 	else :; fi
 
@@ -4551,13 +5016,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -4588,6 +5057,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -4609,6 +5079,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -4617,18 +5089,28 @@ install-data-am:
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am:
 
 install-html: install-html-am
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-am
 
+install-pdf-am:
+
 install-ps: install-ps-am
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -4651,7 +5133,7 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: install-am install-strip
+.MAKE: check-am install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
 	clean-checkPROGRAMS clean-generic clean-libtool ctags \
@@ -4679,6 +5161,7 @@ $(top_builddir)/src/libppl.la:
 
 $(top_builddir)/Watchdog/src/libpwl.la:
 	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/Watchdog/src libpwl.la
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/tests/Polyhedron/addcongruence1.cc b/tests/Polyhedron/addcongruence1.cc
index d376b1d..fe4cc09 100644
--- a/tests/Polyhedron/addcongruence1.cc
+++ b/tests/Polyhedron/addcongruence1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::add_congruence().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -125,7 +125,8 @@ test06() {
 
   C_Polyhedron ph(2);
   ph.add_congruence(0*A %= 0);
-  bool b = ph.add_congruence_and_minimize((B == 5) / 0);
+  ph.add_congruence((B == 5) / 0);
+  bool b = !ph.is_empty();
 
   C_Polyhedron known_result(2);
   known_result.add_constraint(B == 5);
@@ -145,7 +146,8 @@ test07() {
   C_Polyhedron ph(2);
 
   ph.add_congruence((Linear_Expression(0) %= 8) / 4);
-  bool b = ph.add_congruence_and_minimize((A == -1) / 0);
+  ph.add_congruence((A == -1) / 0);
+  bool b = !ph.is_empty();
 
   C_Polyhedron known_result(2);
   known_result.add_constraint(A == -1);
@@ -169,7 +171,8 @@ test08() {
   C_Polyhedron known_result(ph);
 
   ph.add_congruence((A - B == 0) / 0);
-  bool b = ph.add_congruence_and_minimize((Linear_Expression(0) %= 1) / 2);
+  ph.add_congruence((Linear_Expression(0) %= 1) / 2);
+  bool b = !ph.is_empty();
 
   bool ok = !b && (ph == known_result);
 
@@ -186,8 +189,8 @@ test09() {
 
   C_Polyhedron known_result(0);
 
-  bool b =
-    ph.add_congruence_and_minimize((Linear_Expression::zero() %= 0) / 2);
+  ph.add_congruence((Linear_Expression::zero() %= 0) / 2);
+  bool b = !ph.is_empty();
 
   bool ok = b && (ph == known_result);
 
@@ -202,8 +205,8 @@ test10() {
 
   print_constraints(ph, "*** ph ***");
 
-  bool b =
-    ph.add_congruence_and_minimize((Linear_Expression::zero() %= 1) / 0);
+  ph.add_congruence((Linear_Expression::zero() %= 1) / 0);
+  bool b = !ph.is_empty();
 
   C_Polyhedron known_result(0, EMPTY);
 
diff --git a/tests/Polyhedron/addcongruences1.cc b/tests/Polyhedron/addcongruences1.cc
index 5377a5a..4b1ebfb 100644
--- a/tests/Polyhedron/addcongruences1.cc
+++ b/tests/Polyhedron/addcongruences1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::add_congruences().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -168,7 +168,7 @@ test06() {
   print_constraints(ph1, "*** ph1 ***");
   print_congruences(cgs, "*** cgs ***");
 
-  ph1.add_congruences_and_minimize(cgs);
+  ph1.add_congruences(cgs);
 
   C_Polyhedron known_result(cgs);
 
@@ -224,7 +224,7 @@ test08() {
   print_constraints(ph1, "*** ph1 ***");
   print_congruences(cgs, "*** cgs ***");
 
-  ph1.add_recycled_congruences_and_minimize(cgs);
+  ph1.add_recycled_congruences(cgs);
 
   C_Polyhedron known_result(cgs_copy);
 
diff --git a/tests/Polyhedron/addconstraint1.cc b/tests/Polyhedron/addconstraint1.cc
index 61b1520..5fd43a5 100644
--- a/tests/Polyhedron/addconstraint1.cc
+++ b/tests/Polyhedron/addconstraint1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::add_constraint().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -83,7 +83,7 @@ test03() {
 
   print_constraints(ph, "*** ph ***");
 
-  ph.add_constraint_and_minimize(B >= 1);
+  ph.add_constraint(B >= 1);
 
   C_Polyhedron known_result(2);
   known_result.add_constraint(A >= 0);
@@ -92,8 +92,7 @@ test03() {
 
   bool ok = (ph == known_result);
 
-  print_constraints(ph,
-		    "*** after ph.add_constraint_and_minimize(B >= 1) ***");
+  print_constraints(ph, "*** after ph.add_constraint(B >= 1) ***");
   return ok;
 }
 
diff --git a/tests/Polyhedron/addconstraints1.cc b/tests/Polyhedron/addconstraints1.cc
index 5c3d4ce..efe1948 100644
--- a/tests/Polyhedron/addconstraints1.cc
+++ b/tests/Polyhedron/addconstraints1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::add_constrains().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -29,17 +29,17 @@ test01() {
   // For const-correctness, making a copy is required.
   Constraint_System cs1 = Constraint_System::zero_dim_empty();
   C_Polyhedron ph1;
-  ph1.add_constraints_and_minimize(cs1);
+  ph1.add_constraints(cs1);
 
   Constraint_System cs2;
   cs2.insert(Linear_Expression::zero() >= 7);
   C_Polyhedron ph2;
-  ph2.add_constraints_and_minimize(cs2);
+  ph2.add_constraints(cs2);
 
   Constraint_System cs3;
   cs3.insert(Linear_Expression::zero() >= -3);
   C_Polyhedron ph3;
-  ph3.add_constraints_and_minimize(cs3);
+  ph3.add_constraints(cs3);
 
   C_Polyhedron empty_result(0, EMPTY);
   C_Polyhedron univ_result;
@@ -120,12 +120,11 @@ test04() {
 
   C_Polyhedron computed_result(ph);
 
-  computed_result.add_constraints_and_minimize(cs);
+  computed_result.add_constraints(cs);
 
   bool ok = (computed_result == ph);
 
-  print_constraints(computed_result,
-		    "*** after add_constraints_and_minimize ***");
+  print_constraints(computed_result, "*** after add_constraints ***");
 
   return ok;
 }
@@ -142,13 +141,13 @@ test05() {
   print_constraints(ph, "*** ph ***");
   print_constraints(cs, "*** cs ***");
 
-  ph.add_constraints_and_minimize(cs);
+  ph.add_constraints(cs);
 
   C_Polyhedron computed_result(3, EMPTY);
 
   bool ok = (ph == computed_result);
 
-  print_constraints(ph, "*** after add_constraints_and_minimize(cs) ***");
+  print_constraints(ph, "*** after add_constraints(cs) ***");
 
   return ok;
 }
@@ -167,7 +166,7 @@ test06() {
   print_constraints(ph, "*** ph ***");
   print_constraints(cs, "*** cs ***");
 
-  ph.add_constraints_and_minimize(cs);
+  ph.add_constraints(cs);
 
   C_Polyhedron known_result(3);
   known_result.add_constraint(x >= 4);
@@ -175,7 +174,7 @@ test06() {
 
   bool ok = (ph == known_result);
 
-  print_constraints(ph, "*** after add_constraints_and_minimize(cs) ***");
+  print_constraints(ph, "*** after add_constraints(cs) ***");
 
   return ok;
 }
@@ -195,13 +194,13 @@ test07() {
   print_constraints(ph, "*** ph ***");
   print_constraints(cs, "*** cs ***");
 
-  ph.add_constraints_and_minimize(cs);
+  ph.add_constraints(cs);
 
   C_Polyhedron known_result(3, EMPTY);
 
   bool ok = (ph == known_result);
 
-  print_constraints(ph, "*** after add_constraints_and_minimize(cs) ***");
+  print_constraints(ph, "*** after add_constraints(cs) ***");
 
   return ok;
 }
@@ -300,13 +299,12 @@ test11() {
   Constraint_System cs2(cs1);
 
   ph.add_constraints(cs1);
-  copy_ph.add_constraints_and_minimize(cs2);
+  copy_ph.add_constraints(cs2);
 
   bool ok = (ph == copy_ph);
 
   print_constraints(ph, "*** after ph.add_constraints(cs1) ***");
-  print_constraints(ph,
-		    "*** after copy_ph.add_constraints_and_minimize(cs2) ***");
+  print_constraints(ph, "*** after copy_ph.add_constraints(cs2) ***");
   return ok;
 }
 
@@ -334,13 +332,12 @@ test12() {
   Constraint_System cs2 = ph2.constraints();
 
   ph1.add_constraints(cs1);
-  copy_ph1.add_constraints_and_minimize(cs2);
+  copy_ph1.add_constraints(cs2);
 
   bool ok = (ph1 == copy_ph1);
 
   print_constraints(ph1, "*** after add_constraints_assign ***");
-  print_constraints(copy_ph1,
-		    "*** after add_constraints_and_minimize ***");
+  print_constraints(copy_ph1, "*** after add_constraints ***");
 
   return ok;
 }
diff --git a/tests/Polyhedron/addconstraints2.cc b/tests/Polyhedron/addconstraints2.cc
index 6d4800d..2d28717 100644
--- a/tests/Polyhedron/addconstraints2.cc
+++ b/tests/Polyhedron/addconstraints2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::add_constrains().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -41,7 +41,7 @@ test01() {
   print_constraints(ph1, "*** ph1 ***");
   print_constraints(cs, "*** cs ***");
 
-  ph1.add_constraints_and_minimize(cs);
+  ph1.add_constraints(cs);
 
   C_Polyhedron known_result(2);
   known_result.add_constraint(A == 0);
@@ -49,7 +49,7 @@ test01() {
 
   bool ok = (ph1 == known_result);
 
-  print_constraints(ph1, "*** after ph1.add_constraints_and_minimize(cs) ***");
+  print_constraints(ph1, "*** after ph1.add_constraints(cs) ***");
 
   return ok;
 }
@@ -71,7 +71,7 @@ test02() {
   print_constraints(cs, "*** cs ***");
   print_constraints(ph2, "*** ph2 ***");
 
-  ph2.add_constraints_and_minimize(cs);
+  ph2.add_constraints(cs);
 
   C_Polyhedron known_result(3);
   known_result.add_constraint(A >= 0);
diff --git a/tests/Polyhedron/addgenerator1.cc b/tests/Polyhedron/addgenerator1.cc
index 58fc971..afc5ec3 100644
--- a/tests/Polyhedron/addgenerator1.cc
+++ b/tests/Polyhedron/addgenerator1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::add_generator().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -38,7 +38,7 @@ test01() {
 
   print_generators(ph, "*** ph ***");
 
-  ph.add_generator_and_minimize(ray(A));
+  ph.add_generator(ray(A));
 
   Generator_System known_gs;
   known_gs.insert(point());
@@ -48,8 +48,7 @@ test01() {
 
   bool ok = (ph == known_result);
 
-  print_generators(ph,
-		    "*** after ph.add_generator_and_minimize(ray(A)) ***");
+  print_generators(ph, "*** after ph.add_generator(ray(A)) ***");
 
   return ok;
 }
diff --git a/tests/Polyhedron/addgenerator2.cc b/tests/Polyhedron/addgenerator2.cc
index 656f07c..105e877 100644
--- a/tests/Polyhedron/addgenerator2.cc
+++ b/tests/Polyhedron/addgenerator2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::add_generator().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/addgenerators1.cc b/tests/Polyhedron/addgenerators1.cc
index 46f69b7..43140c5 100644
--- a/tests/Polyhedron/addgenerators1.cc
+++ b/tests/Polyhedron/addgenerators1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::add_generators().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -40,7 +40,7 @@ test01() {
   Generator_System gs2;
   gs2.insert(point());
 
-  ph1.add_generators_and_minimize(gs2);
+  ph1.add_generators(gs2);
 
   C_Polyhedron known_result(2, EMPTY);
   known_result.add_generator(point());
@@ -49,7 +49,7 @@ test01() {
 
   bool ok = (ph1 == known_result);
 
-  print_generators(ph1, "*** add_generators_and_minimize ***");
+  print_generators(ph1, "*** add_generators ***");
 
   return ok;
 }
@@ -91,7 +91,7 @@ test03() {
 
   print_generators(gs, "*** gs ***");
 
-  ph.add_generators_and_minimize(gs);
+  ph.add_generators(gs);
 
   C_Polyhedron known_result;
 
@@ -149,7 +149,7 @@ test05() {
 
   print_generators(gs, "*** gs ***");
 
-  ph.add_generators_and_minimize(gs);
+  ph.add_generators(gs);
 
   Generator_System gs_known_result;
   gs_known_result.insert(point());
@@ -158,7 +158,7 @@ test05() {
 
   bool ok = (ph == known_result);
 
-  print_generators(ph, "*** after add_generators_and_minimize ***");
+  print_generators(ph, "*** after add_generators ***");
 
   return ok;
 }
@@ -208,11 +208,11 @@ test07() {
   C_Polyhedron known_result(ph);
 
   Generator_System gs;
-  ph.add_generators_and_minimize(gs);
+  ph.add_generators(gs);
 
   bool ok = (ph == known_result);
 
-  print_generators(ph, "*** after ph .add_generators_and_minimize(gs) ***");
+  print_generators(ph, "*** after ph .add_generators(gs) ***");
 
   return ok;
 }
@@ -254,13 +254,12 @@ test09() {
   Generator_System gs2(gs1);
 
   ph.add_generators(gs1);
-  copy_ph.add_generators_and_minimize(gs2);
+  copy_ph.add_generators(gs2);
 
   bool ok = (ph == copy_ph);
 
   print_generators(ph, "*** after ph.add_generators(gs1) ***");
-  print_generators(ph,
-		   "*** after copy_ph.add_generators_and_minimize(gs2) ***");
+  print_generators(copy_ph, "*** after copy_ph.add_generators(gs2) ***");
 
   return ok;
 }
@@ -289,13 +288,12 @@ test10() {
   Generator_System gs2 = ph2.generators();
 
   ph1.add_generators(gs1);
-  copy_ph1.add_generators_and_minimize(gs2);
+  copy_ph1.add_generators(gs2);
 
   bool ok = (ph1 == copy_ph1);
 
-  print_generators(ph1, "*** after add_generators_assign ***");
-  print_generators(copy_ph1,
-		   "*** after add_generators_and_minimize ***");
+  print_generators(ph1, "*** after add_generators ***");
+  print_generators(copy_ph1, "*** after add_generators ***");
 
   return ok;
 }
@@ -314,7 +312,7 @@ test11() {
 
   bool ok = (ph == known_result);
 
-  print_generators(ph, "*** add_generators_and_minimize ***");
+  print_generators(ph, "*** add_generators ***");
 
   return ok;
 }
diff --git a/tests/Polyhedron/addgenerators2.cc b/tests/Polyhedron/addgenerators2.cc
index 7315f7b..7dae31b 100644
--- a/tests/Polyhedron/addgenerators2.cc
+++ b/tests/Polyhedron/addgenerators2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::add_generators().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -49,7 +49,7 @@ test01() {
   gs2.insert(point(4*y));
   gs2.insert(point(4*x + 4*y));
 
-  ph.add_generators_and_minimize(gs2);
+  ph.add_generators(gs2);
 
   Generator_System gs3;
   gs3.insert(point());
@@ -65,7 +65,7 @@ test01() {
   bool ok = (ph == known_result
 	     && closed_ph == closed_known_result);
 
-  print_generators(ph, "*** after add_generators_and_minimize(gs) ***");
+  print_generators(ph, "*** after add_generators(gs) ***");
   print_generators(closed_ph, "*** closed_ph ***");
 
   return ok;
@@ -113,7 +113,7 @@ test03() {
   print_generators(gs2, "*** gs2 ***");
 
   C_Polyhedron ph2(2, EMPTY);
-  ph2.add_generators_and_minimize(gs2);
+  ph2.add_generators(gs2);
 
   print_constraints(ph2, "*** ph2 ***");
 
diff --git a/tests/Polyhedron/addspacedims1.cc b/tests/Polyhedron/addspacedims1.cc
index 56c34b5..5e1ce34 100644
--- a/tests/Polyhedron/addspacedims1.cc
+++ b/tests/Polyhedron/addspacedims1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::add_space_dimensions_and_project()
    and  Polyhedron::add_space_dimensions_and_embed().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/addspacedims2.cc b/tests/Polyhedron/addspacedims2.cc
index 0725642..d1d19be 100644
--- a/tests/Polyhedron/addspacedims2.cc
+++ b/tests/Polyhedron/addspacedims2.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::add_space_dimensions_and_project()
    and  Polyhedron::add_space_dimensions_and_embed().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/affineimage1.cc b/tests/Polyhedron/affineimage1.cc
index c833a0c..03e11f5 100644
--- a/tests/Polyhedron/affineimage1.cc
+++ b/tests/Polyhedron/affineimage1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::affine_image().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/affineimage2.cc b/tests/Polyhedron/affineimage2.cc
index f97854d..bcbf4a6 100644
--- a/tests/Polyhedron/affineimage2.cc
+++ b/tests/Polyhedron/affineimage2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::affine_image().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/affinepreimage1.cc b/tests/Polyhedron/affinepreimage1.cc
index f57d766..33fc04f 100644
--- a/tests/Polyhedron/affinepreimage1.cc
+++ b/tests/Polyhedron/affinepreimage1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::affine_preimage().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/affinetrans.cc b/tests/Polyhedron/affinetrans.cc
index 1186d45..1c332e8 100644
--- a/tests/Polyhedron/affinetrans.cc
+++ b/tests/Polyhedron/affinetrans.cc
@@ -1,5 +1,5 @@
 /* Use of the functions affine_image and affine_preimage.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/append1.cc b/tests/Polyhedron/append1.cc
index 54c92ab..058f3f6 100644
--- a/tests/Polyhedron/append1.cc
+++ b/tests/Polyhedron/append1.cc
@@ -1,5 +1,5 @@
 /* An example of iteration to a post-fixpoint.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/append2.cc b/tests/Polyhedron/append2.cc
index 8c4b6ea..9393607 100644
--- a/tests/Polyhedron/append2.cc
+++ b/tests/Polyhedron/append2.cc
@@ -1,5 +1,5 @@
 /* An example of iteration to a post-fixpoint.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/ascii_dump_load1.cc b/tests/Polyhedron/ascii_dump_load1.cc
index c98955d..321ce27 100644
--- a/tests/Polyhedron/ascii_dump_load1.cc
+++ b/tests/Polyhedron/ascii_dump_load1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::ascii_dump() and Polyhedron::ascii_load().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -518,7 +518,7 @@ test17() {
 
   open(f, my_file, ios_base::in);
   C_Polyhedron ph2;
-  bool ok =! ph2.ascii_load(f);
+  bool ok = !ph2.ascii_load(f);
   close(f);
 
   return ok;
@@ -535,7 +535,7 @@ test18() {
 
   open(f, my_file, ios_base::in);
   C_Polyhedron ph2;
-  bool ok =! ph2.ascii_load(f);
+  bool ok = !ph2.ascii_load(f);
   close(f);
 
   return ok;
@@ -552,7 +552,7 @@ test19() {
 
   open(f, my_file, ios_base::in);
   C_Polyhedron ph2;
-  bool ok =! ph2.ascii_load(f);
+  bool ok = !ph2.ascii_load(f);
   close(f);
 
   return ok;
diff --git a/tests/Polyhedron/ascii_dump_load2.cc b/tests/Polyhedron/ascii_dump_load2.cc
index 4271fb4..896ce3b 100644
--- a/tests/Polyhedron/ascii_dump_load2.cc
+++ b/tests/Polyhedron/ascii_dump_load2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::ascii_dump() and Polyhedron::ascii_load().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/ascii_dump_load3.cc b/tests/Polyhedron/ascii_dump_load3.cc
index c907a65..4399185 100644
--- a/tests/Polyhedron/ascii_dump_load3.cc
+++ b/tests/Polyhedron/ascii_dump_load3.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::ascii_dump() and Polyhedron::ascii_load().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -306,7 +306,7 @@ test09() {
 
   open(f, my_file, ios_base::in);
   C_Polyhedron ph2;
-  bool ok =! ph2.ascii_load(f);
+  bool ok = !ph2.ascii_load(f);
   close(f);
 
   return ok;
@@ -333,7 +333,7 @@ test10() {
 
   open(f, my_file, ios_base::in);
   C_Polyhedron ph2;
-  bool ok =! ph2.ascii_load(f);
+  bool ok = !ph2.ascii_load(f);
   close(f);
 
   return ok;
@@ -353,7 +353,7 @@ test11() {
 
   open(f, my_file, ios_base::in);
   C_Polyhedron ph2;
-  bool ok =! ph2.ascii_load(f);
+  bool ok = !ph2.ascii_load(f);
   close(f);
 
   return ok;
@@ -372,7 +372,7 @@ test12() {
 
   open(f, my_file, ios_base::in);
   C_Polyhedron ph2;
-  bool ok =! ph2.ascii_load(f);
+  bool ok = !ph2.ascii_load(f);
   close(f);
 
   return ok;
@@ -408,7 +408,7 @@ test13() {
 
   open(f, my_file, ios_base::in);
   C_Polyhedron ph2;
-  bool ok =! ph2.ascii_load(f);
+  bool ok = !ph2.ascii_load(f);
   close(f);
 
   return ok;
diff --git a/tests/Polyhedron/bgp99extrapolation1.cc b/tests/Polyhedron/bgp99extrapolation1.cc
index 3258f30..fa0784f 100644
--- a/tests/Polyhedron/bgp99extrapolation1.cc
+++ b/tests/Polyhedron/bgp99extrapolation1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::BGP99_extrapolation_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/bgp99extrapolation2.cc b/tests/Polyhedron/bgp99extrapolation2.cc
index b5d56a6..febbef8 100644
--- a/tests/Polyhedron/bgp99extrapolation2.cc
+++ b/tests/Polyhedron/bgp99extrapolation2.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::BGP99_extrapolation_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/bhrz03widening1.cc b/tests/Polyhedron/bhrz03widening1.cc
index 7257723..86f8fc0 100644
--- a/tests/Polyhedron/bhrz03widening1.cc
+++ b/tests/Polyhedron/bhrz03widening1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::BHRZ03_widening_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/bhrz03widening2.cc b/tests/Polyhedron/bhrz03widening2.cc
index dbc633d..358f7c5 100644
--- a/tests/Polyhedron/bhrz03widening2.cc
+++ b/tests/Polyhedron/bhrz03widening2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::BHRZ03_widening_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/bhrz03widening3.cc b/tests/Polyhedron/bhrz03widening3.cc
index c436a75..bf05751 100644
--- a/tests/Polyhedron/bhrz03widening3.cc
+++ b/tests/Polyhedron/bhrz03widening3.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::BHRZ03_widening_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/bhz03widening1.cc b/tests/Polyhedron/bhz03widening1.cc
index 59f9ecd..01d7a8d 100644
--- a/tests/Polyhedron/bhz03widening1.cc
+++ b/tests/Polyhedron/bhz03widening1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::BHZ03_widening_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/bounded1.cc b/tests/Polyhedron/bounded1.cc
index d5de1c4..554c925 100644
--- a/tests/Polyhedron/bounded1.cc
+++ b/tests/Polyhedron/bounded1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::is_bounded().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/boundedaffineimage1.cc b/tests/Polyhedron/boundedaffineimage1.cc
index 224884f..9890fc1 100644
--- a/tests/Polyhedron/boundedaffineimage1.cc
+++ b/tests/Polyhedron/boundedaffineimage1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::bounded_affine_image().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -78,7 +78,7 @@ test02() {
 
   kr1.generalized_affine_image(A, GREATER_OR_EQUAL, 7-3*A+2*B);
   kr2.generalized_affine_image(A, LESS_OR_EQUAL, B+5*A-3);
-  kr1.intersection_assign_and_minimize(kr2);
+  kr1.intersection_assign(kr2);
 
   bool ok = (ph == kr1);
 
@@ -134,7 +134,7 @@ test04() {
 
   kr1.generalized_affine_image(x, GREATER_OR_EQUAL, -2*x + y + 1, -1);
   kr2.generalized_affine_image(x, LESS_OR_EQUAL, -2*x + y + 1, -1);
-  kr1.intersection_assign_and_minimize(kr2);
+  kr1.intersection_assign(kr2);
 
   bool ok = (kr1 == ph);
 
@@ -168,7 +168,7 @@ test05() {
 
   kr1.generalized_affine_image(x, GREATER_OR_EQUAL, 2*x + y + 1, -1);
   kr2.generalized_affine_image(x, LESS_OR_EQUAL, 2*x + y + 1, -1);
-  kr1.intersection_assign_and_minimize(kr2);
+  kr1.intersection_assign(kr2);
 
   bool ok = (kr1 == ph);
 
@@ -202,7 +202,7 @@ test06() {
 
   kr1.generalized_affine_image(x, GREATER_OR_EQUAL, -2*x + y + 1);
   kr2.generalized_affine_image(x, LESS_OR_EQUAL, -2*x + y + 1);
-  kr1.intersection_assign_and_minimize(kr2);
+  kr1.intersection_assign(kr2);
 
   bool ok = (kr1 == ph);
 
diff --git a/tests/Polyhedron/boundedaffinepreimage1.cc b/tests/Polyhedron/boundedaffinepreimage1.cc
index df67778..f6c22b9 100644
--- a/tests/Polyhedron/boundedaffinepreimage1.cc
+++ b/tests/Polyhedron/boundedaffinepreimage1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::bounded_affine_preimage().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/boundedbhrz03extrapolation1.cc b/tests/Polyhedron/boundedbhrz03extrapolation1.cc
index eeb3ed0..be3d7ce 100644
--- a/tests/Polyhedron/boundedbhrz03extrapolation1.cc
+++ b/tests/Polyhedron/boundedbhrz03extrapolation1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::bounded_BHRZ03_extrapolation_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/boundedh79extrapolation1.cc b/tests/Polyhedron/boundedh79extrapolation1.cc
index c5b0010..fd78f22 100644
--- a/tests/Polyhedron/boundedh79extrapolation1.cc
+++ b/tests/Polyhedron/boundedh79extrapolation1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::bounded_H79_extrapolation_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/bounds1.cc b/tests/Polyhedron/bounds1.cc
index b3cdb63..2920329 100644
--- a/tests/Polyhedron/bounds1.cc
+++ b/tests/Polyhedron/bounds1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::bounds_from_below() and Polyhedron::bounds_from_above().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/cnncconversion1.cc b/tests/Polyhedron/cnncconversion1.cc
index c69c638..9c063d8 100644
--- a/tests/Polyhedron/cnncconversion1.cc
+++ b/tests/Polyhedron/cnncconversion1.cc
@@ -1,5 +1,5 @@
 /* Test conversions between C_Polyhedron and NNC_Polyhedron.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/concatenate1.cc b/tests/Polyhedron/concatenate1.cc
index e468d9e..5bdc514 100644
--- a/tests/Polyhedron/concatenate1.cc
+++ b/tests/Polyhedron/concatenate1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::concatenate_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/congruences1.cc b/tests/Polyhedron/congruences1.cc
index aefb9ce..124d091 100644
--- a/tests/Polyhedron/congruences1.cc
+++ b/tests/Polyhedron/congruences1.cc
@@ -1,5 +1,5 @@
 /* Test C_Polyhedron(Congruence_System&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/constrains1.cc b/tests/Polyhedron/constrains1.cc
index e89b08e..2ef4b55 100644
--- a/tests/Polyhedron/constrains1.cc
+++ b/tests/Polyhedron/constrains1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::constrains().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -163,7 +163,7 @@ test06() {
   Variable B(1);
 
   C_Polyhedron ph(2);
-  ph.add_constraint_and_minimize(A >= 0);
+  ph.add_constraint(A >= 0);
 
   bool ok = true;
 
diff --git a/tests/Polyhedron/constraints1.cc b/tests/Polyhedron/constraints1.cc
index b247412..5ddab82 100644
--- a/tests/Polyhedron/constraints1.cc
+++ b/tests/Polyhedron/constraints1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::constraints().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -135,7 +135,7 @@ test06() {
   Variable B(1);
 
   C_Polyhedron ph(2);
-  ph.add_constraint_and_minimize(A >= 0);
+  ph.add_constraint(A >= 0);
   ph.add_constraint(B >= 0);
 
   print_constraints(ph, "*** ph ***");
diff --git a/tests/Polyhedron/contains1.cc b/tests/Polyhedron/contains1.cc
index b397842..a75c6fe 100644
--- a/tests/Polyhedron/contains1.cc
+++ b/tests/Polyhedron/contains1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::contains(const Polyhedron&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/contains2.cc b/tests/Polyhedron/contains2.cc
index ff55eec..d4be943 100644
--- a/tests/Polyhedron/contains2.cc
+++ b/tests/Polyhedron/contains2.cc
@@ -1,5 +1,5 @@
 /* Test NNC_Polyhedron::contains(const Polyhedron&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/containsintegerpoint1.cc b/tests/Polyhedron/containsintegerpoint1.cc
index 3fba78b..b261903 100644
--- a/tests/Polyhedron/containsintegerpoint1.cc
+++ b/tests/Polyhedron/containsintegerpoint1.cc
@@ -1,5 +1,5 @@
 /* Test C_Polyhedron::contains_integer_point().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/disjoint1.cc b/tests/Polyhedron/disjoint1.cc
index 164d9eb..3ac6479 100644
--- a/tests/Polyhedron/disjoint1.cc
+++ b/tests/Polyhedron/disjoint1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::is_disjoint_from(const Polyhedron& y).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/disjoint2.cc b/tests/Polyhedron/disjoint2.cc
index b68c1c9..55b9bf0 100644
--- a/tests/Polyhedron/disjoint2.cc
+++ b/tests/Polyhedron/disjoint2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::is_disjoint_from(const Polyhedron& y).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/dropsomenonintegerpoints1.cc b/tests/Polyhedron/dropsomenonintegerpoints1.cc
new file mode 100644
index 0000000..c02efde
--- /dev/null
+++ b/tests/Polyhedron/dropsomenonintegerpoints1.cc
@@ -0,0 +1,174 @@
+/* Test Polyhedron::drop_some_non_integer_points().
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+namespace {
+
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+
+  C_Polyhedron ph(2);
+  ph.add_constraint(2*A >= 1);
+  ph.add_constraint(2*B >= -1);
+  ph.add_constraint(6*A - 3*B >= 7);
+
+  print_constraints(ph, "*** ph ***");
+
+  ph.drop_some_non_integer_points();
+
+  C_Polyhedron known_result(2);
+  known_result.add_constraint(A >= 1);
+  known_result.add_constraint(B >= 0);
+  known_result.add_constraint(2*A - B >= 3);
+
+  bool ok = (ph == known_result);
+
+  print_constraints(ph, "*** after ph.drop_some_non_integer_points() ***");
+
+  return ok;
+}
+
+bool
+test02() {
+  C_Polyhedron ph1;
+  C_Polyhedron ph2(2, EMPTY);
+
+  print_constraints(ph1, "*** ph1 ***");
+  print_constraints(ph2, "*** ph2 ***");
+
+  C_Polyhedron known_result1(0, EMPTY);
+  C_Polyhedron known_result2(ph2);
+
+  ph1.drop_some_non_integer_points();
+  ph2.drop_some_non_integer_points();
+
+  bool ok = (ph1 == known_result1 && ph2 == known_result2);
+
+  print_constraints(ph1, "*** after ph1.drop_some_non_integer_points() ***");
+  print_constraints(ph2, "*** after ph2.drop_some_non_integer_points() ***");
+
+  return ok;
+}
+
+bool
+test03() {
+  Variable A(0);
+  Variable B(1);
+
+  C_Polyhedron ph(2);
+  ph.add_constraint(A - B == 0);
+  ph.add_constraint(A >= 0);
+
+  C_Polyhedron known_result(ph);
+
+  print_constraints(ph, "*** ph ***");
+
+  ph.drop_some_non_integer_points();
+
+  bool ok = (ph == known_result);
+
+  print_constraints(ph, "*** after ph.drop_some_non_integer_points() ***");
+
+  return ok;
+}
+
+bool
+test04() {
+  Variable A(0);
+  Variable B(1);
+
+  C_Polyhedron ph(2);
+  ph.generators();
+  ph.add_constraint(A >= 0);
+  ph.add_constraint(A == B);
+
+  print_constraints(ph, "*** ph ***");
+
+  ph.drop_some_non_integer_points();
+
+  C_Polyhedron known_result(2);
+  known_result.add_constraint(A >= 0);
+  known_result.add_constraint(A == B);
+
+  bool ok = (ph == known_result);
+
+  print_constraints(ph, "*** after ph.drop_some_non_integer_points() ***");
+
+  return ok;
+}
+
+bool
+test05() {
+  Variable A(0);
+  Variable B(1);
+
+  C_Polyhedron ph(2, EMPTY);
+  ph.add_generator(point(A+B, 2));
+  ph.add_generator(line(B));
+
+  print_constraints(ph, "*** ph ***");
+
+  ph.drop_some_non_integer_points();
+
+  C_Polyhedron known_result(2, EMPTY);
+
+  bool ok = (ph == known_result);
+
+  print_constraints(ph, "*** after ph.drop_some_non_integer_points() ***");
+
+  return ok;
+}
+
+bool
+test06() {
+  Variable A(0);
+  Variable B(1);
+
+  C_Polyhedron ph(2);
+  ph.add_constraint(2*A <= 1);
+  ph.add_constraint(2*B <= -1);
+  ph.add_constraint(6*A - 3*B <= 7);
+
+  print_constraints(ph, "*** ph ***");
+
+  ph.drop_some_non_integer_points();
+
+  bool ok = true; //(ph1 == ph2);
+
+  print_constraints(ph, "*** after ph.drop_some_non_integer_points() ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+END_MAIN
diff --git a/tests/Polyhedron/dropsomenonintegerpoints2.cc b/tests/Polyhedron/dropsomenonintegerpoints2.cc
new file mode 100644
index 0000000..a3a6606
--- /dev/null
+++ b/tests/Polyhedron/dropsomenonintegerpoints2.cc
@@ -0,0 +1,160 @@
+/* Test Polyhedron::drop_some_non_integer_points().
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+namespace {
+
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+
+  NNC_Polyhedron ph1(2);
+  ph1.add_constraint(A > 1);
+  ph1.add_constraint(A - B > 0);
+  Generator_System gs;
+  gs.insert(point(2*A));
+  gs.insert(closure_point(A + B));
+  gs.insert(ray(-B));
+  gs.insert(ray(A + B));
+  NNC_Polyhedron ph2(gs);
+
+  print_constraints(ph1, "*** ph1 ***");
+  print_generators(ph2, "*** ph2 ***");
+
+  ph1.drop_some_non_integer_points();
+  ph2.drop_some_non_integer_points();
+
+  bool ok = (ph1 == ph2);
+
+  print_constraints(ph1, "*** after ph1.drop_some_non_integer_points() ***");
+  print_generators(ph2, "*** after ph2.drop_some_non_integer_points() ***");
+
+  return ok;
+}
+
+bool
+test02() {
+  NNC_Polyhedron ph1;
+  NNC_Polyhedron ph2(2, EMPTY);
+
+  print_constraints(ph1, "*** ph1 ***");
+  print_constraints(ph2, "*** ph2 ***");
+
+  NNC_Polyhedron known_result1(0, EMPTY);
+  NNC_Polyhedron known_result2(ph2);
+
+  ph1.drop_some_non_integer_points();
+  ph2.drop_some_non_integer_points();
+
+  bool ok = (ph1 == known_result1 && ph2 == known_result2);
+
+  print_constraints(ph1, "*** after ph1.drop_some_non_integer_points() ***");
+  print_constraints(ph2, "*** after ph2.drop_some_non_integer_points() ***");
+
+  return ok;
+}
+
+bool
+test03() {
+  Variable A(0);
+  Variable B(1);
+
+  C_Polyhedron ph(2);
+  ph.add_constraint(A - B == 0);
+  ph.add_constraint(A >= 0);
+
+  C_Polyhedron known_result(ph);
+
+  print_constraints(ph, "*** ph ***");
+
+  ph.drop_some_non_integer_points();
+
+  bool ok = (ph == known_result);
+
+  print_constraints(ph, "*** after ph.drop_some_non_integer_points() ***");
+
+  return ok;
+}
+
+bool
+test04() {
+  Variable A(0);
+  Variable B(1);
+
+  NNC_Polyhedron ph(2);
+  ph.generators();
+  ph.add_constraint(A > 0);
+  ph.add_constraint(A == B);
+
+  print_constraints(ph, "*** ph ***");
+
+  ph.drop_some_non_integer_points();
+
+  NNC_Polyhedron known_result(2);
+  known_result.add_constraint(A >= 1);
+  known_result.add_constraint(A == B);
+
+  bool ok = (ph == known_result);
+
+  print_constraints(ph, "*** after ph.drop_some_non_integer_points() ***");
+
+  return ok;
+}
+
+bool
+test05() {
+  Variable A(0);
+  Variable B(1);
+
+  NNC_Polyhedron ph(2, EMPTY);
+  ph.add_generator(point(A));
+  ph.constraints();
+  ph.add_generator(closure_point());
+  ph.add_generator(ray(A));
+  ph.add_generator(ray(B));
+
+  print_generators(ph, "*** ph ***");
+
+  ph.drop_some_non_integer_points();
+
+  NNC_Polyhedron known_result(2);
+  known_result.add_constraint(A >= 1);
+  known_result.add_constraint(B >= 0);
+
+  bool ok = (ph == known_result);
+
+  print_constraints(ph, "*** after ph.drop_some_non_integer_points() ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+END_MAIN
diff --git a/tests/Polyhedron/dualhypercubes.cc b/tests/Polyhedron/dualhypercubes.cc
index c0f08d6..a0987a9 100644
--- a/tests/Polyhedron/dualhypercubes.cc
+++ b/tests/Polyhedron/dualhypercubes.cc
@@ -1,5 +1,5 @@
 /* Exploit smf when computing the intersection of NNC dual hypercubes.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -381,7 +381,7 @@ test01() {
       }
 
     }
-  return (num_errors == 0);
+  return num_errors == 0;
 }
 
 } // namespace
diff --git a/tests/Polyhedron/empty1.cc b/tests/Polyhedron/empty1.cc
index c489331..80db554 100644
--- a/tests/Polyhedron/empty1.cc
+++ b/tests/Polyhedron/empty1.cc
@@ -1,5 +1,5 @@
 /* Different ways of creating an empty polyhedron.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/equals1.cc b/tests/Polyhedron/equals1.cc
index 345409b..e119254 100644
--- a/tests/Polyhedron/equals1.cc
+++ b/tests/Polyhedron/equals1.cc
@@ -1,5 +1,5 @@
 /* Test operator==(const Polyhedron&, const Polyhedron&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/exceptions1.cc b/tests/Polyhedron/exceptions1.cc
index a4c577d..49d401a 100644
--- a/tests/Polyhedron/exceptions1.cc
+++ b/tests/Polyhedron/exceptions1.cc
@@ -1,5 +1,5 @@
 /* Test that the right exceptions are thrown in case of incorrect uses.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -299,10 +299,10 @@ test11() {
   C_Polyhedron ph2(3);
 
   try {
-    // This is an invalid use of function
-    // C_Polyhedron::intersection_assign_and_minimize(ph2): it is illegal
+    // This is an invalid use of method
+    // C_Polyhedron::intersection_assign(ph2): it is illegal
     // to apply this function to two polyhedra of different dimensions.
-    ph1.intersection_assign_and_minimize(ph2);
+    ph1.intersection_assign(ph2);
   }
   catch (std::invalid_argument& e) {
     nout << "invalid_argument: " << e.what() << endl << endl;
@@ -322,7 +322,7 @@ test12() {
   try {
     // This is an invalid use of the function
     // C_Polyhedron::intersection_assign(ph2): it is illegal to apply
-    // this function to two polyhedron of different dimensions.
+    // this function to two polyhedra of different dimensions.
     ph1.intersection_assign(ph2);
   }
   catch (std::invalid_argument& e) {
@@ -342,12 +342,12 @@ test13() {
 
   try {
     // This is an invalid use of the function
-    // C_Polyhedron::add_generators_and_minimize(gs): it is illegal
+    // C_Polyhedron::add_generators(gs): it is illegal
     // to add a system of generator that is not dimension-compatible
     // with the polyhedron.
     Generator_System gs;
     gs.insert(point(w));
-    ph.add_generators_and_minimize(gs);
+    ph.add_generators(gs);
   }
   catch (std::invalid_argument& e) {
     nout << "invalid_argument: " << e.what() << endl << endl;
@@ -386,12 +386,12 @@ test15() {
 
   try {
     // This is an invalid use of the function
-    // C_Polyhedron::add_constraints_and_minimize(cs): it is illegal to
+    // C_Polyhedron::add_constraints(cs): it is illegal to
     // add a system of constraints that is not dimensional incompatible
     // with the polyhedron.
     Constraint_System cs;
     cs.insert(x - y >= 0);
-    ph.add_constraints_and_minimize(cs);
+    ph.add_constraints(cs);
   }
   catch (std::invalid_argument& e) {
     nout << "invalid_argument: " << e.what() << endl << endl;
@@ -744,13 +744,13 @@ test29() {
 
   try {
     // This is an invalid use of the function
-    // C_Polyhedron::add_generators_and_minimize(gs): it is illegal
+    // C_Polyhedron::add_generators(gs): it is illegal
     // to apply this function with a system of generators with no
     // points to an empty polyhedron.
     Generator_System gs;
     gs.insert(line(x));
     gs.insert(line(y));
-    ph.add_generators_and_minimize(gs);
+    ph.add_generators(gs);
   }
   catch (std::invalid_argument& e) {
     nout << "invalid_argument: " << e.what() << endl << endl;
@@ -894,10 +894,10 @@ test35() {
 
   try {
     // This is an invalid used of the function
-    // `add_generators_and_minimize(gs)': it is illegal to
+    // `add_generators(gs)': it is illegal to
     // add a system of generators that does not contain points
     // to an empty polyhedron.
-    ph.add_generators_and_minimize(gs);
+    ph.add_generators(gs);
   }
   catch (std::invalid_argument& e) {
     nout << "invalid_argument: " << e.what() << endl << endl;
@@ -1353,7 +1353,6 @@ test54() {
   return false;
 }
 
-}
 bool
 test55() {
   Variable y(1);
@@ -1400,7 +1399,9 @@ test56() {
   }
   return false;
 }
- // namespace
+
+} // namespace
+
 BEGIN_MAIN
   DO_TEST(test01);
   DO_TEST(test02);
diff --git a/tests/Polyhedron/exceptions2.cc b/tests/Polyhedron/exceptions2.cc
index faa5fb9..8a0a2ed 100644
--- a/tests/Polyhedron/exceptions2.cc
+++ b/tests/Polyhedron/exceptions2.cc
@@ -1,5 +1,5 @@
 /* Test that the right exceptions are thrown in case of incorrect uses.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -36,7 +36,7 @@ test01() {
   try {
     // This is an invalid use of the constructor of a polyhedron:
     // it is illegal to build a closed polyhedron starting from
-    // a system of constraints that contains strict-inequalities.
+    // a system of constraints that contains strict inequalities.
     C_Polyhedron ph(cs);
   }
   catch (std::invalid_argument& e) {
@@ -85,7 +85,7 @@ test03() {
 
   try {
     // This is an invalid use of the function add_constraint(c): it is
-    // illegal to insert a strict-inequality into a system of
+    // illegal to insert a strict inequality into a system of
     // constraints of a closed polyhedron.
     ph.add_constraint(x - y > 0);
   }
@@ -132,9 +132,9 @@ test05() {
 
   try {
     // This is an incorrect use of the function
-    // add_constraints_and_minimize(cs): it is illegal to add a system of
-    // constraints that contains strict-inequalities to a closed polyhedron.
-    ph.add_constraints_and_minimize(cs);
+    // add_constraints(cs): it is illegal to add a system of
+    // constraints that contains strict inequalities to a closed polyhedron.
+    ph.add_constraints(cs);
   }
   catch (std::invalid_argument& e) {
     nout << "invalid_argument: " << e.what() << endl << endl;
@@ -158,7 +158,7 @@ test06() {
   try {
     // This is an invalid use of the function add_constraints(cs):
     // it is illegal to add a system of constraints that contains
-    // strict-inequalities to a closed polyhedron.
+    // strict inequalities to a closed polyhedron.
     ph.add_constraints(cs);
   }
   catch (std::invalid_argument& e) {
@@ -211,10 +211,10 @@ test08() {
 
   try {
     // This is an incorrect use of the function
-    // add_generators_and_minimize(gs): it is illegal to add a
+    // add_generators(gs): it is illegal to add a
     // system of generators that contains closure-points to a closed
     // polyhedron.
-    ph.add_generators_and_minimize(gs);
+    ph.add_generators(gs);
   }
   catch (std::invalid_argument& e) {
     nout << "invalid_argument: " << e.what() << endl << endl;
@@ -293,9 +293,9 @@ test11() {
 
   try {
     // This is an invalid use of the function
-    // `intersection_assign_and_minimize': it is illegal to apply
+    // `intersection_assign': it is illegal to apply
     // to a closed polyhedron and a non-closed polyhedron.
-    ph1.intersection_assign_and_minimize(ph2);
+    ph1.intersection_assign(ph2);
   }
   catch (std::invalid_argument& e) {
     nout << "invalid_argument: " << e.what() << endl << endl;
@@ -664,10 +664,10 @@ test24() {
 
   try {
     // This is an invalid used of the function
-    // `add_generators_and_minimize(gs)': it is illegal to
+    // `add_generators(gs)': it is illegal to
     // add a system of generators that does not contain points
     // to an empty zero-dimensional polyhedron.
-    ph.add_generators_and_minimize(gs);
+    ph.add_generators(gs);
   }
   catch (std::invalid_argument& e) {
     nout << "invalid_argument: " << e.what() << endl << endl;
diff --git a/tests/Polyhedron/exceptions3.cc b/tests/Polyhedron/exceptions3.cc
index b8d784f..91862b4 100644
--- a/tests/Polyhedron/exceptions3.cc
+++ b/tests/Polyhedron/exceptions3.cc
@@ -1,5 +1,5 @@
 /* Test that the right exceptions are thrown in case of incorrect uses.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/expandspacedim1.cc b/tests/Polyhedron/expandspacedim1.cc
index 7593460..37824ce 100644
--- a/tests/Polyhedron/expandspacedim1.cc
+++ b/tests/Polyhedron/expandspacedim1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::expand_space_dimension().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/expandspacedim2.cc b/tests/Polyhedron/expandspacedim2.cc
index d24da01..bbbe8b6 100644
--- a/tests/Polyhedron/expandspacedim2.cc
+++ b/tests/Polyhedron/expandspacedim2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::expand_space_dimension().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/foldspacedims1.cc b/tests/Polyhedron/foldspacedims1.cc
index 6acfd22..9454229 100644
--- a/tests/Polyhedron/foldspacedims1.cc
+++ b/tests/Polyhedron/foldspacedims1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::fold_space_dimensions().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/foldspacedims2.cc b/tests/Polyhedron/foldspacedims2.cc
index 64ccb50..8ab9b7f 100644
--- a/tests/Polyhedron/foldspacedims2.cc
+++ b/tests/Polyhedron/foldspacedims2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::fold_space_dimensions() for non-closed polyhedra.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/frequency1.cc b/tests/Polyhedron/frequency1.cc
new file mode 100644
index 0000000..1ed360c
--- /dev/null
+++ b/tests/Polyhedron/frequency1.cc
@@ -0,0 +1,231 @@
+/* Test Polyhedron::frequency().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+
+namespace {
+
+// Universe and empty polyhedron.
+bool
+test01() {
+  Variable A(0);
+
+  C_Polyhedron ph1(1);
+
+  C_Polyhedron ph2(1, EMPTY);
+
+  Coefficient num1;
+  Coefficient den1;
+  Coefficient valn1;
+  Coefficient vald1;
+  Coefficient num2;
+  Coefficient den2;
+  Coefficient valn2;
+  Coefficient vald2;
+  bool ok = (!ph1.frequency(A, num1, den1, valn1, vald1)
+             && !ph2.frequency(A, num2, den2, valn2, vald2));
+  print_constraints(ph1, "*** ph1 ***");
+  print_constraints(ph2, "*** ph2 ***");
+
+  return ok;
+}
+
+// 0-dimension polyhedra.
+bool
+test02() {
+  C_Polyhedron ph1(0);
+
+  C_Polyhedron ph2(0, EMPTY);
+
+  Coefficient num1;
+  Coefficient den1;
+  Coefficient valn1;
+  Coefficient vald1;
+  Coefficient num2;
+  Coefficient den2;
+  Coefficient valn2;
+  Coefficient vald2;
+  bool ok = (ph1.frequency(Linear_Expression(3), num1, den1, valn1, vald1)
+             && num1 == 0 && den1 == 1 && valn1 == 3 && vald1 == 1
+             && !ph2.frequency(Linear_Expression(3), num2, den2, valn2, vald2));
+  print_constraints(ph1, "*** ph1 ***");
+  print_constraints(ph2, "*** ph2 ***");
+
+  return ok;
+}
+
+// Non-relational test.
+bool
+test03() {
+  Variable A(0);
+
+  C_Polyhedron ph(1);
+  ph.add_constraint(A == 0);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (ph.frequency(Linear_Expression(A), num, den, valn, vald)
+             && num == 0 && den == 1 && valn == 0 && vald == 1);
+  print_constraints(ph, "*** ph ***");
+
+  return ok;
+}
+
+bool
+test04() {
+  Variable A(0);
+  Variable B(1);
+
+  C_Polyhedron ph(2);
+  ph.add_constraint(A >= 0);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (!ph.frequency(Linear_Expression(A), num, den, valn, vald));
+  print_constraints(ph, "*** ph ***");
+
+  return ok;
+}
+
+bool
+test05() {
+  Variable A(0);
+  Variable B(1);
+
+  C_Polyhedron ph(2);
+  ph.add_constraint(A <= 0);
+  ph.add_constraint(A + B >= 5);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (!ph.frequency(Linear_Expression(B), num, den, valn, vald));
+  print_constraints(ph, "*** ph ***");
+
+  return ok;
+}
+
+bool
+test06() {
+  Variable A(0);
+  Variable B(1);
+
+  C_Polyhedron ph(2);
+  ph.add_constraint(2*A == 1);
+  ph.add_constraint(B == 2);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (ph.frequency(Linear_Expression(A + B - 3), num, den, valn, vald)
+             && num == 0 && den == 1 && valn == -1 && vald == 2);
+  print_constraints(ph, "*** ph ***");
+
+  return ok;
+}
+
+bool
+test07() {
+  Variable A(0);
+  Variable B(1);
+
+  NNC_Polyhedron ph(2);
+  ph.add_constraint(A < 1);
+  ph.add_constraint(A >= 0);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (!ph.frequency(Linear_Expression(A - 3), num, den, valn, vald));
+  print_constraints(ph, "*** ph ***");
+
+  return ok;
+}
+
+bool
+test08() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  C_Polyhedron ph(3);
+  ph.add_constraint(2*A - 2*B == 1);
+  ph.add_constraint(3*C == 2);
+  ph.add_constraint(B <= 2);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (ph.frequency(Linear_Expression(A - B + C + 1),
+                           num, den, valn, vald)
+             && num == 0 && den == 1 && valn == 13 && vald == 6);
+  print_constraints(ph, "*** ph ***");
+
+  return ok;
+}
+
+bool
+test09() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  C_Polyhedron ph(3);
+  ph.add_constraint(2*A - 2*B == 1);
+  ph.add_constraint(2*C == 1);
+  ph.add_constraint(B <= 2);
+
+  Coefficient num;
+  Coefficient den;
+  Coefficient valn;
+  Coefficient vald;
+  bool ok = (ph.frequency(Linear_Expression(A - B + C + 1),
+                           num, den, valn, vald)
+             && num == 0 && den == 1 && valn == 2 && vald == 1);
+  print_constraints(ph, "*** ph ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST(test08);
+  DO_TEST(test09);
+END_MAIN
diff --git a/tests/Polyhedron/frombdshape1.cc b/tests/Polyhedron/frombdshape1.cc
index 02c2d4d..58097fc 100644
--- a/tests/Polyhedron/frombdshape1.cc
+++ b/tests/Polyhedron/frombdshape1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::BD_Shape(const C_Polyhedron&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/frombox1.cc b/tests/Polyhedron/frombox1.cc
index 45faec3..f71a6d4 100644
--- a/tests/Polyhedron/frombox1.cc
+++ b/tests/Polyhedron/frombox1.cc
@@ -1,6 +1,6 @@
 /* Test C_Polyhedron::C_Polyhedron(const Box<Interval>&)
    and NNC_Polyhedron::NNC_Polyhedron(const Box<Interval>&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/frombox2.cc b/tests/Polyhedron/frombox2.cc
index 8ea1084..33d0182 100644
--- a/tests/Polyhedron/frombox2.cc
+++ b/tests/Polyhedron/frombox2.cc
@@ -1,5 +1,5 @@
 /* Test NNC_Polyhedron::NNC_Polyhedron(const Box<Interval>&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/fromgrid1.cc b/tests/Polyhedron/fromgrid1.cc
index d2fb6a0..0a0539f 100644
--- a/tests/Polyhedron/fromgrid1.cc
+++ b/tests/Polyhedron/fromgrid1.cc
@@ -1,6 +1,6 @@
 /* Test C_Polyhedron::C_Polyhedron(const Grid&)
    and NNC_Polyhedron::NNC_Polyhedron(const Grid&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/fromoctagonalshape1.cc b/tests/Polyhedron/fromoctagonalshape1.cc
index 1fbd140..479cfd2 100644
--- a/tests/Polyhedron/fromoctagonalshape1.cc
+++ b/tests/Polyhedron/fromoctagonalshape1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::BD_Shape(const C_Polyhedron&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/generalizedaffineimage1.cc b/tests/Polyhedron/generalizedaffineimage1.cc
index 00446b8..895efb4 100644
--- a/tests/Polyhedron/generalizedaffineimage1.cc
+++ b/tests/Polyhedron/generalizedaffineimage1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::generalized_affine_image().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/generalizedaffineimage2.cc b/tests/Polyhedron/generalizedaffineimage2.cc
index bc30241..757871a 100644
--- a/tests/Polyhedron/generalizedaffineimage2.cc
+++ b/tests/Polyhedron/generalizedaffineimage2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::generalized_affine_image().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/generalizedaffinepreimage1.cc b/tests/Polyhedron/generalizedaffinepreimage1.cc
index bd47681..4afcb52 100644
--- a/tests/Polyhedron/generalizedaffinepreimage1.cc
+++ b/tests/Polyhedron/generalizedaffinepreimage1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::generalized_affine_preimage().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/generalizedaffinepreimage2.cc b/tests/Polyhedron/generalizedaffinepreimage2.cc
index b457966..fce8439 100644
--- a/tests/Polyhedron/generalizedaffinepreimage2.cc
+++ b/tests/Polyhedron/generalizedaffinepreimage2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::generalized_affine_preimage().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/generators1.cc b/tests/Polyhedron/generators1.cc
index d5c495f..0b19743 100644
--- a/tests/Polyhedron/generators1.cc
+++ b/tests/Polyhedron/generators1.cc
@@ -1,5 +1,5 @@
 /* Test the construction of a polyhedron using generators.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -202,7 +202,7 @@ test08() {
 
   C_Polyhedron ph(2, EMPTY);
   ph.add_generator(point());
-  ph.add_generator_and_minimize(ray(A));
+  ph.add_generator(ray(A));
   ph.add_generator(ray(B));
 
   print_generators(ph, "*** ph ***");
@@ -217,7 +217,7 @@ test08() {
   known_result.add_constraint(A >= 0);
   known_result.add_constraint(B >= 0);
 
-  return (C_Polyhedron(gs) == known_result);
+  return C_Polyhedron(gs) == known_result;
 }
 
 } // namespace
diff --git a/tests/Polyhedron/geomcovers1.cc b/tests/Polyhedron/geomcovers1.cc
index 56dc11d..125fa04 100644
--- a/tests/Polyhedron/geomcovers1.cc
+++ b/tests/Polyhedron/geomcovers1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::geometrically_covers().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/h79widening1.cc b/tests/Polyhedron/h79widening1.cc
index f6cda15..ed21e83 100644
--- a/tests/Polyhedron/h79widening1.cc
+++ b/tests/Polyhedron/h79widening1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::H79_widening_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/h79widening2.cc b/tests/Polyhedron/h79widening2.cc
index e4ee108..ffc7f0c 100644
--- a/tests/Polyhedron/h79widening2.cc
+++ b/tests/Polyhedron/h79widening2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::H79_widening_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -38,7 +38,7 @@ test01() {
   ph4.add_constraint(4*A <= 3);
 
   NNC_Polyhedron ph = ph4;
-  ph.intersection_assign_and_minimize(ph1);
+  ph.intersection_assign(ph1);
   // At this point, ph and ph4 are two different representations
   // of the same NNC polyhedron.
 
diff --git a/tests/Polyhedron/hybrid.cc b/tests/Polyhedron/hybrid.cc
index fc4894a..7b16db0 100644
--- a/tests/Polyhedron/hybrid.cc
+++ b/tests/Polyhedron/hybrid.cc
@@ -1,8 +1,6 @@
-
-/* Test three examples for linear hybrid systems.
-   These are based on the examples in HalbwachsPR94
-   and HalbwachsPR97 papers.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Test three examples for linear hybrid systems.  These are based on
+   the examples in HalbwachsPR94 and HalbwachsPR97 papers.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -27,9 +25,9 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace {
 
-  // The water monitor example.
-  // Note that we have had to add a closure operator as an action
-  // for each of the transitions. Without this, the results are empty.
+// The water monitor example.
+// Note that we have had to add a closure operator as an action
+// for each of the transitions. Without this, the results are empty.
 bool
 test01() {
   Variable w(0);
@@ -62,15 +60,15 @@ test01() {
     // We must close the constraints since the values of x and w
     // increase continuously in the transition from l3 to l0.
     ph_tmp.topological_closure_assign();
-    // add constraint for the transition from l3 to l0
+    // Add constraint for the transition from l3 to l0.
     ph_tmp.add_constraint(x == 2);
-    // add invariant constraint for l0
+    // Add invariant constraint for l0.
     ph_tmp.add_constraint(w < 10);
-    // join with the Init(l0)
+    // Join with the Init(l0).
     ph0.upper_bound_assign(ph_tmp);
-    // time elaspe for l0
+    // Time elaspe for l0.
     ph0.time_elapse_assign(ph_tea01);
-    // add invariant constraint for l0
+    // Add invariant constraint for l0.
     ph0.add_constraint(w < 10);
 
     ph0.H79_widening_assign(ph0_prev);
@@ -118,17 +116,17 @@ test01() {
     // We must close the constraints since the values of x and w
     // increase continuously in the transition from l0 to l1.
     ph1.topological_closure_assign();
-    // add constraint for the transition from l0 to l1
+    // Add constraint for the transition from l0 to l1.
     ph1.add_constraint(w == 10);
-    // do the action for the transition from l0 to l1
+    // Do the action for the transition from l0 to l1.
     ph1.affine_image(x, 0*x);
-    // add invariant constraint for l1
+    // Add invariant constraint for l1.
     ph1.add_constraint(x < 2);
-    // time elaspe for l1
+    // Time elapse for l1.
     ph1.time_elapse_assign(ph_tea01);
-    // add invariant constraint for l1
+    // Add invariant constraint for l1.
     print_constraints(ph1, "*** ph1 before time elapse ***");
-    // add invariant constraint for l1
+    // Add invariant constraint for l1.
     ph1.add_constraint(x < 2);
 
     // The only incoming transition is from l1.
@@ -136,14 +134,14 @@ test01() {
     // We must close the constraints since the values of x and w
     // increase continuously in the transition from l1 to l2.
     ph2.topological_closure_assign();
-    // add constraint for the transition from l1 to l2
+    // Add constraint for the transition from l1 to l2.
     ph2.add_constraint(x == 2);
-    // there is no action for the transition from l1 to l2
-    // add invariant constraint for l2
+    // There is no action for the transition from l1 to l2.
+    // add invariant constraint for l2.
     ph2.add_constraint(w > 5);
-    // time elaspe for l2
+    // Time elaspe for l2.
     ph2.time_elapse_assign(ph_tea23);
-    // add invariant constraint for l2
+    // Add invariant constraint for l2.
     ph2.add_constraint(w > 5);
 
     // The only incoming transition is from l2.
@@ -151,22 +149,22 @@ test01() {
     // We must close the constraints since the values of x and w
     // increase continuously in the transition from l2 to l3.
     ph3.topological_closure_assign();
-    // add constraint for the transition from l2 to l3
+    // Add constraint for the transition from l2 to l3.
     ph3.add_constraint(w == 5);
-    // do the action for the transition from l2 to l3
+    // Do the action for the transition from l2 to l3.
     ph3.affine_image(x, 0*x);
-    // add invariant constraint for l3
+    // Add invariant constraint for l3.
     ph3.add_constraint(x < 2);
-    // time elaspe for l3
+    // Time elaspe for l3.
     ph3.time_elapse_assign(ph_tea23);
-    // add invariant constraint for l3
+    // Add invariant constraint for l3.
     ph3.add_constraint(x < 2);
   }
   return false;
 }
 
-  // the Fischer protocol example where we make the exclusion variable
-  // one of the variables of the automaton.
+// The Fischer protocol example where we make the exclusion variable
+// one of the variables of the automaton.
 bool
 test02() {
   Variable x1(0);
@@ -203,7 +201,7 @@ test02() {
   while (true) {
     //    nout << "next iteration" << "\n";
 
-    // location l0
+    // Location l0.
     ph0 = ph0_Init;
     ph_tmp = ph3;
     ph_tmp.add_constraint(x1 >= b);
@@ -223,7 +221,7 @@ test02() {
     ph0.add_constraint(k >= 0);
     ph0.add_constraint(k <= 2);
 
-    // location l1
+    // Location l1.
     ph1 = ph0;
     ph1.add_constraint(k == 0);
     ph1.affine_image(x1, Linear_Expression(0));
@@ -233,7 +231,7 @@ test02() {
     ph1.add_constraint(k == 0);
     ph1.add_constraint(x1 <= a);
 
-    // location l2
+    // Location l2.
     ph2 = ph1;
     ph2.affine_image(x1, Linear_Expression(0));
     ph2.affine_image(x2, Linear_Expression(0));
@@ -242,7 +240,7 @@ test02() {
     ph2.time_elapse_assign(ph_tea);
     ph2.add_constraint(k == 1);
 
-    // location l3
+    // Location l3.
     ph3 = ph2;
     ph3.add_constraint(x2 <= a);
     ph3.add_constraint(x1 < b);
@@ -251,14 +249,14 @@ test02() {
     ph3.time_elapse_assign(ph_tea);
     ph3.add_constraint(k == 2);
 
-    // location l4
+    // Location l4.
     ph4 = ph2;
     ph4.add_constraint(x1 >= b);
     ph4.add_constraint(k == 1);
     ph4.time_elapse_assign(ph_tea);
     ph4.add_constraint(k == 1);
 
-    // location l5
+    // Location l5.
     ph5 = ph4;
     ph5.add_constraint(x2 <= a);
     ph5.affine_image(k, Linear_Expression(2));
@@ -343,7 +341,7 @@ test02() {
   return true;
 }
 
-  // the Scheduler example using the Polyhedron domain.
+// The Scheduler example using the Polyhedron domain.
 bool
 test03() {
   Variable c1(0);
@@ -369,7 +367,7 @@ test03() {
   NNC_Polyhedron ph_t1_prev(6, EMPTY);
   NNC_Polyhedron ph_t2_prev(6, EMPTY);
 
-  // The time elapse polyhedron at location Task1
+  // The time elapse polyhedron at location Task1.
   NNC_Polyhedron ph_tea1(6);
   ph_tea1.add_constraint(c1 == 1);
   ph_tea1.add_constraint(c2 == 1);
@@ -378,7 +376,7 @@ test03() {
   ph_tea1.add_constraint(k1 == 0);
   ph_tea1.add_constraint(k2 == 0);
 
-  // The time elapse polyhedron at location Task2
+  // The time elapse polyhedron at location Task2.
   NNC_Polyhedron ph_tea2(6);
   ph_tea2.add_constraint(c1 == 1);
   ph_tea2.add_constraint(c2 == 1);
@@ -391,7 +389,7 @@ test03() {
 
   while (true) {
 
-    // location Idle
+    // Location Idle.
     ph_idle.upper_bound_assign(ph_idle_Init);
     ph_tmp = ph_t1;
     ph_tmp.add_constraint(x1 == 4);
@@ -407,7 +405,7 @@ test03() {
     ph_tmp.affine_image(x2, Linear_Expression(0));
     ph_idle.upper_bound_assign(ph_tmp);
 
-    // location Task1
+    // Location Task1.
     ph_tmp = ph_idle;
     ph_tmp.add_constraint(c1 >= 10);
     ph_tmp.affine_image(c1, Linear_Expression(0));
@@ -438,7 +436,7 @@ test03() {
     ph_t1.time_elapse_assign(ph_tea1);
     ph_t1.add_constraint(x1 <= 4);
 
-    // location Task2
+    // Location Task2.
     ph_tmp = ph_idle;
     ph_tmp.add_constraint(c2 >= 20);
     ph_tmp.affine_image(c2, Linear_Expression(0));
@@ -522,17 +520,16 @@ test03() {
   return false;
 }
 
-  // Additional procedures needed for the Scheduler example using powersets
+// Additional procedures needed for the Scheduler example using powersets.
 
-  // Compute the time_elapse() for each element of the powerset.
+// Compute the time_elapse() for each element of the powerset.
 void
-time_elapse(
-	    Pointset_Powerset<NNC_Polyhedron>& ps, const NNC_Polyhedron& ph) {
-
+time_elapse(Pointset_Powerset<NNC_Polyhedron>& ps,
+            const NNC_Polyhedron& ph) {
   Pointset_Powerset<NNC_Polyhedron> ps_result(ps.space_dimension(), EMPTY);
   for (Pointset_Powerset<NNC_Polyhedron>::const_iterator i = ps.begin(),
-                                    ps_end = ps.end(); i != ps_end; ++i) {
-    NNC_Polyhedron di = i->element();
+         ps_end = ps.end(); i != ps_end; ++i) {
+    NNC_Polyhedron di = i->pointset();
     NNC_Polyhedron d(di);
     d.time_elapse_assign(ph);
     ps_result.add_disjunct(d);
@@ -540,17 +537,16 @@ time_elapse(
   ps = ps_result;
 }
 
-  // Compute the affine_image() for each element of the powerset.
+// Compute the affine_image() for each element of the powerset.
 void
-affine_image(
-	    Pointset_Powerset<NNC_Polyhedron>& ps, Variable var,
-		    const Linear_Expression& expr,
-		    Coefficient_traits::const_reference denominator
-	                 = Coefficient_one()) {
+affine_image(Pointset_Powerset<NNC_Polyhedron>& ps, Variable var,
+             const Linear_Expression& expr,
+             Coefficient_traits::const_reference denominator
+             = Coefficient_one()) {
   Pointset_Powerset<NNC_Polyhedron> ps_result(ps.space_dimension(), EMPTY);
   for (Pointset_Powerset<NNC_Polyhedron>::iterator i = ps.begin(),
-                                   ps_end = ps.end(); i != ps_end; ++i) {
-    NNC_Polyhedron phi = i->element();
+         ps_end = ps.end(); i != ps_end; ++i) {
+    NNC_Polyhedron phi = i->pointset();
     NNC_Polyhedron ph(phi);
     ph.affine_image(var, expr, denominator);
     ps_result.add_disjunct(ph);
@@ -565,30 +561,29 @@ powerset_upper_bound(Pointset_Powerset<NNC_Polyhedron>& ps,
   Pointset_Powerset<NNC_Polyhedron> ps_result(ps.space_dimension(), EMPTY);
   for (Pointset_Powerset<NNC_Polyhedron>::iterator i = ps.begin(),
                                    ps_end = ps.end(); i != ps_end; ++i) {
-    NNC_Polyhedron phi = i->element();
+    NNC_Polyhedron phi = i->pointset();
     ph.upper_bound_assign(phi);
     (void) ph.is_empty();
   }
 }
 
-  // This has been added to replace the expensive geometrically_covers()
-  // test at each cycle of the iteration and intended to speed up the
-  // computation.
-  //
-  // Check if every disjunct of the 2nd powerset is contained in an
-  // disjunct of the first powerset.
-  // If this succeeds then geometrically covers() will also hold.
+// This has been added to replace the expensive geometrically_covers()
+// test at each cycle of the iteration and intended to speed up the
+// computation.
+//
+// Check if every disjunct of the 2nd powerset is contained in an
+// disjunct of the first powerset.
+// If this succeeds then geometrically covers() will also hold.
 bool
-disjunct_covers(
-	    Pointset_Powerset<NNC_Polyhedron>& ps1,
-              Pointset_Powerset<NNC_Polyhedron>& ps2) {
+disjunct_covers(Pointset_Powerset<NNC_Polyhedron>& ps1,
+                Pointset_Powerset<NNC_Polyhedron>& ps2) {
   for (Pointset_Powerset<NNC_Polyhedron>::iterator i = ps2.begin(),
-                                   ps2_end = ps2.end(); i != ps2_end; ++i) {
+         ps2_end = ps2.end(); i != ps2_end; ++i) {
     bool is_contained = false;
-    NNC_Polyhedron ph2 = i->element();
+    NNC_Polyhedron ph2 = i->pointset();
     for (Pointset_Powerset<NNC_Polyhedron>::iterator j = ps1.begin(),
-                                   ps1_end = ps1.end(); j != ps1_end; ++j) {
-      NNC_Polyhedron ph1 = j->element();
+           ps1_end = ps1.end(); j != ps1_end; ++j) {
+      NNC_Polyhedron ph1 = j->pointset();
       if (ph1.contains(ph2)) {
         is_contained = true;
         break;
@@ -600,7 +595,7 @@ disjunct_covers(
   return true;
 }
 
-  // the Scheduler example using powersets
+// The Scheduler example using powersets.
 bool
 test04() {
   Variable x1(0);
@@ -664,7 +659,7 @@ test04() {
     affine_image(ph_tmp, x2, Linear_Expression(0));
     ph_idle.upper_bound_assign(ph_tmp);
 
-    //ph_t1
+    // ph_t1
     ph_tmp = ph_idle;
     ph_tmp.add_constraint(c1 >= 10);
     affine_image(ph_tmp, c1, Linear_Expression(0));
@@ -696,7 +691,7 @@ test04() {
     ph_t1.add_constraint(x1 <= 4);
     (void) ph_t1.is_empty();
 
-    //ph_t2
+    // ph_t2
     ph_tmp = ph_idle;
     ph_tmp.add_constraint(c2 >= 20);
     affine_image(ph_tmp, c2, Linear_Expression(0));
@@ -732,7 +727,7 @@ test04() {
     ph_t2.add_constraint(x2 <= 8);
 
     // Note that widening is not needed and the iteration terminates
-    // with the ph_t2 consisting of 4 polyhedra
+    // with the ph_t2 consisting of 4 polyhedra.
     // The results without any widening are:
 
     // ph_idle = { F = 0, E = 0, D = 0, C = 0, B >= 0, A >= 0 }
@@ -793,9 +788,8 @@ test04() {
 
       print_constraints(ph_t2, "*** ph_t2 final ***");
 
-      // We project away the variables c1 and C2
-      // only compare the upper_bounds of the powerset with the
-      // expected result.
+      // We project away the variables c1 and C2 only compare the
+      // upper_bounds of the powerset with the expected result.
 
       Variables_Set vs;
       vs.insert(c1);
diff --git a/tests/Polyhedron/intersection1.cc b/tests/Polyhedron/intersection1.cc
index 7b8a2c3..02e17be 100644
--- a/tests/Polyhedron/intersection1.cc
+++ b/tests/Polyhedron/intersection1.cc
@@ -1,5 +1,5 @@
 /* Testing Polyhedron::intersection_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -60,7 +60,7 @@ test01() {
   column.add_constraint(x <= 1);
 
   C_Polyhedron computed_result = icosahedron;
-  computed_result.intersection_assign_and_minimize(column);
+  computed_result.intersection_assign(column);
 
   C_Polyhedron known_result(3);
   known_result.add_constraint(-4*x - 2*y + z >= -8);
@@ -145,7 +145,7 @@ test02() {
     hyper_space_above.add_constraint(z >= ph_nv[i].plane_height);
 
     C_Polyhedron computed_result = pyramid;
-    computed_result.intersection_assign_and_minimize(hyper_space_above);
+    computed_result.intersection_assign(hyper_space_above);
 
     if (ok
 	&& aux_test02(computed_result) != ph_nv[i].num_points_above)
@@ -159,7 +159,7 @@ test02() {
     hyper_space_below.add_constraint(z <= ph_nv[i].plane_height);
 
     computed_result = pyramid;
-    computed_result.intersection_assign_and_minimize(hyper_space_below);
+    computed_result.intersection_assign(hyper_space_below);
 
     if (ok
 	&& aux_test02(computed_result) != ph_nv[i].num_points_below)
@@ -222,7 +222,7 @@ test04() {
   print_constraints(ph2, "*** ph2 ***");
 
   C_Polyhedron computed_result1(ph1);
-  computed_result1.intersection_assign_and_minimize(ph2);
+  computed_result1.intersection_assign(ph2);
 
   Constraint_System cs_computed_result2 = ph1.constraints();
   C_Polyhedron computed_result2(cs_computed_result2);
@@ -233,8 +233,7 @@ test04() {
   bool ok = (computed_result1 == known_result
 	     && computed_result2 == known_result);
 
-  print_constraints(computed_result1,
-		    "*** after intersection_assign_and_minimize ***");
+  print_constraints(computed_result1, "*** after intersection_assign ***");
   print_constraints(computed_result2, "*** after intersection_assign ***");
 
   return ok;
@@ -256,7 +255,7 @@ test05() {
   print_constraints(ph1, "*** ph1 ***");
   print_constraints(ph2, "*** ph2 ***");
 
-  ph1.intersection_assign_and_minimize(ph2);
+  ph1.intersection_assign(ph2);
 
   C_Polyhedron known_result(2);
   known_result.add_constraint(y >= 0);
@@ -264,7 +263,7 @@ test05() {
 
   bool ok = (known_result == ph1);
 
-  print_constraints(ph1, "*** after intersection_assign_and_minimize ***");
+  print_constraints(ph1, "*** after intersection_assign ***");
 
   return ok;
 }
@@ -315,7 +314,7 @@ aux_test07(C_Polyhedron& ph1,
   print_constraints(ph1, "*** ph1 ***");
   print_constraints(ph2, "*** ph2 ***");
 
-  ph1.intersection_assign_and_minimize(ph2);
+  ph1.intersection_assign(ph2);
 
   print_generators(ph1, "*** after intersection_assign ***");
 
@@ -361,12 +360,11 @@ test08() {
 
   C_Polyhedron known_result(ph1);
 
-  ph1.intersection_assign_and_minimize(ph2);
+  ph1.intersection_assign(ph2);
 
   bool ok = (ph1 == known_result);
 
-  print_constraints(ph1,
-		    "*** after ph1.intersection_assign_and_minimize(ph2) ***");
+  print_constraints(ph1, "*** after ph1.intersection_assign(ph2) ***");
 
   return ok;
 }
@@ -382,12 +380,11 @@ test09() {
 
   C_Polyhedron known_result = ph1;
 
-  ph1.intersection_assign_and_minimize(ph2);
+  ph1.intersection_assign(ph2);
 
   bool ok = (ph1 == known_result);
 
-  print_constraints(ph1,
-		    "*** after ph1.intersection_assign_and_minimize(ph2) ***");
+  print_constraints(ph1, "*** after ph1.intersection_assign(ph2) ***");
 
   return ok;
 }
@@ -453,13 +450,12 @@ test12() {
   print_constraints(ph2, "*** ph2 ***");
 
   ph1.intersection_assign(ph2);
-  copy_ph1.intersection_assign_and_minimize(copy_ph2);
+  copy_ph1.intersection_assign(copy_ph2);
 
   bool ok = (ph1 == copy_ph1);
 
   print_constraints(ph1, "*** after intersection_assign ***");
-  print_constraints(copy_ph1,
-		    "*** after intersection_assign_and_minimize ***");
+  print_constraints(copy_ph1, "*** after intersection_assign ***");
 
   return ok;
 }
@@ -487,13 +483,12 @@ test13() {
   print_generators(ph2, "*** ph2 ***");
 
   ph1.intersection_assign(ph2);
-  copy_ph1.intersection_assign_and_minimize(copy_ph2);
+  copy_ph1.intersection_assign(copy_ph2);
 
   bool ok = (ph1 == copy_ph1);
 
   print_constraints(ph1, "*** after intersection_assign ***");
-  print_constraints(copy_ph1,
-		    "*** after intersection_assign_and_minimize ***");
+  print_constraints(copy_ph1, "*** after intersection_assign ***");
 
   return ok;
 }
diff --git a/tests/Polyhedron/limitedbhrz03extrapolation1.cc b/tests/Polyhedron/limitedbhrz03extrapolation1.cc
index 07033a7..878959a 100644
--- a/tests/Polyhedron/limitedbhrz03extrapolation1.cc
+++ b/tests/Polyhedron/limitedbhrz03extrapolation1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::limited_BHRZ03_extrapolation_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/limitedh79extrapolation1.cc b/tests/Polyhedron/limitedh79extrapolation1.cc
index 7d5e5cd..c7c0e04 100644
--- a/tests/Polyhedron/limitedh79extrapolation1.cc
+++ b/tests/Polyhedron/limitedh79extrapolation1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::limited_H79_extrapolation_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/linearexpression1.cc b/tests/Polyhedron/linearexpression1.cc
index b980221..6b8d47c 100644
--- a/tests/Polyhedron/linearexpression1.cc
+++ b/tests/Polyhedron/linearexpression1.cc
@@ -1,5 +1,5 @@
 /* Testing Linear_Expression.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/linearpartition1.cc b/tests/Polyhedron/linearpartition1.cc
index 879bda0..bc8c1fc 100644
--- a/tests/Polyhedron/linearpartition1.cc
+++ b/tests/Polyhedron/linearpartition1.cc
@@ -1,5 +1,5 @@
 /* Test linear_partition().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -40,13 +40,13 @@ aux_test01(const C_Polyhedron& p,
   NNC_Polyhedron nnc_q(q);
   typedef Pointset_Powerset<NNC_Polyhedron>::const_iterator iter;
   for (iter i = s.begin(), s_end = s.end(); i != s_end; ++i) {
-    const NNC_Polyhedron& a = i->element();
+    const NNC_Polyhedron& a = i->pointset();
     // All elements of `s' must be disjoint from `p'.
     if (!a.is_disjoint_from(nnc_p))
       return false;
     iter j = i;
     for (++j; j != s_end; ++j) {
-      const NNC_Polyhedron& b = j->element();
+      const NNC_Polyhedron& b = j->pointset();
       // All elements of `s' must be pairwise disjoint.
       if (!a.is_disjoint_from(b))
 	return false;
@@ -113,13 +113,13 @@ aux_test02(const C_Polyhedron& p,
   NNC_Polyhedron nnc_q(q);
   typedef Pointset_Powerset<NNC_Polyhedron>::const_iterator iter;
   for (iter i = s.begin(), s_end = s.end(); i != s_end; ++i) {
-    const NNC_Polyhedron& a = i->element();
+    const NNC_Polyhedron& a = i->pointset();
     // All elements of `s' must be disjoint from `p'.
     if (!a.is_disjoint_from(nnc_p))
       return false;
     iter j = i;
     for (++j; j != s_end; ++j) {
-      const NNC_Polyhedron& b = j->element();
+      const NNC_Polyhedron& b = j->pointset();
       // All elements of `s' must be pairwise disjoint.
       if (!a.is_disjoint_from(b))
 	return false;
@@ -186,13 +186,13 @@ aux_test03(const C_Polyhedron& p,
   NNC_Polyhedron nnc_q(q);
   typedef Pointset_Powerset<NNC_Polyhedron>::const_iterator iter;
   for (iter i = s.begin(), s_end = s.end(); i != s_end; ++i) {
-    const NNC_Polyhedron& a = i->element();
+    const NNC_Polyhedron& a = i->pointset();
     // All elements of `s' must be disjoint from `p'.
     if (!a.is_disjoint_from(nnc_p))
       return false;
     iter j = i;
     for (++j; j != s_end; ++j) {
-      const NNC_Polyhedron& b = j->element();
+      const NNC_Polyhedron& b = j->pointset();
       // All elements of `s' must be pairwise disjoint.
       if (!a.is_disjoint_from(b))
 	return false;
diff --git a/tests/Polyhedron/linearsystem1.cc b/tests/Polyhedron/linearsystem1.cc
index 33260c1..b6bf304 100644
--- a/tests/Polyhedron/linearsystem1.cc
+++ b/tests/Polyhedron/linearsystem1.cc
@@ -1,5 +1,5 @@
 /* Test some functionality of class Linear_System.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/mapspacedims1.cc b/tests/Polyhedron/mapspacedims1.cc
index 7810647..aa312e1 100644
--- a/tests/Polyhedron/mapspacedims1.cc
+++ b/tests/Polyhedron/mapspacedims1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::map_space_dimensions().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/matrix1.cc b/tests/Polyhedron/matrix1.cc
index 2a7776a..f2e6dba 100644
--- a/tests/Polyhedron/matrix1.cc
+++ b/tests/Polyhedron/matrix1.cc
@@ -1,5 +1,5 @@
 /* Test some functionality of class Matrix.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/max_min1.cc b/tests/Polyhedron/max_min1.cc
index c8da74b..af3fa6d 100644
--- a/tests/Polyhedron/max_min1.cc
+++ b/tests/Polyhedron/max_min1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::maximize(const Linear_Expression&, ...)
    and Polyhedron::minimize(const Linear_Expression&, ...).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -132,7 +132,6 @@ test02() {
 
 bool
 test03() {
-
   C_Polyhedron ph(0);
 
   print_constraints(ph, "*** ph ***");
@@ -172,10 +171,34 @@ test03() {
   return ok;
 }
 
+bool
+test04() {
+  C_Polyhedron ph(2, EMPTY);
+
+  print_constraints(ph, "*** ph ***");
+
+  Coefficient num = 0;
+  Coefficient den = 0;
+  bool included = false;
+  Generator g(point());
+  Linear_Expression LE;
+  bool ok = !ph.maximize(LE, num, den, included, g)
+    && num == 0 && den == 0 && !included
+    && g.is_point()
+    && g.divisor() == 1;
+  ok = ok && !ph.minimize(LE, num, den, included, g)
+    && num == 0 && den == 0 && !included
+    && g.is_point()
+    && g.divisor() == 1;
+
+  return ok;
+}
+
 } // namespace
 
 BEGIN_MAIN
   DO_TEST(test01);
   DO_TEST_F8(test02);
   DO_TEST(test03);
+  DO_TEST(test04);
 END_MAIN
diff --git a/tests/Polyhedron/maxspacedim1.cc b/tests/Polyhedron/maxspacedim1.cc
index 56ba3fa..ffa00da 100644
--- a/tests/Polyhedron/maxspacedim1.cc
+++ b/tests/Polyhedron/maxspacedim1.cc
@@ -1,5 +1,5 @@
 /* Test the *::max_space_dimension() methods.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -127,7 +127,7 @@ test01() {
 
   // 9458 is the value of max_space_dimension()
   // computed on a 32bit architecture.
-  return (max_space_dimension() >= 9458);
+  return max_space_dimension() >= 9458;
 }
 
 BEGIN_MAIN
diff --git a/tests/Polyhedron/mc91.cc b/tests/Polyhedron/mc91.cc
index 1e71ab9..0d55494 100644
--- a/tests/Polyhedron/mc91.cc
+++ b/tests/Polyhedron/mc91.cc
@@ -1,5 +1,5 @@
 /* Test the Pointset_Powerset construction with McCarthy's 91 function.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/membytes1.cc b/tests/Polyhedron/membytes1.cc
index f46f64b..302a7f5 100644
--- a/tests/Polyhedron/membytes1.cc
+++ b/tests/Polyhedron/membytes1.cc
@@ -1,5 +1,5 @@
 /* Test the total_memory_in_bytes() and external_memory_in_bytes() methods.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/memory1.cc b/tests/Polyhedron/memory1.cc
index b14c94d..56e3d91 100644
--- a/tests/Polyhedron/memory1.cc
+++ b/tests/Polyhedron/memory1.cc
@@ -1,5 +1,5 @@
 /* Test the allocation error recovery facility of the library.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/memory2.cc b/tests/Polyhedron/memory2.cc
index 1e5d629..92962f7 100644
--- a/tests/Polyhedron/memory2.cc
+++ b/tests/Polyhedron/memory2.cc
@@ -1,5 +1,5 @@
 /* Test the allocation error recovery facility of the library.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/minconstraints1.cc b/tests/Polyhedron/minconstraints1.cc
index 1a7e654..64f9b98 100644
--- a/tests/Polyhedron/minconstraints1.cc
+++ b/tests/Polyhedron/minconstraints1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::minimized_constraints().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/minconstraints2.cc b/tests/Polyhedron/minconstraints2.cc
index c8c5807..5b97ee3 100644
--- a/tests/Polyhedron/minconstraints2.cc
+++ b/tests/Polyhedron/minconstraints2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::minimized_constraints().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/mingenerators1.cc b/tests/Polyhedron/mingenerators1.cc
index c057233..f916b82 100644
--- a/tests/Polyhedron/mingenerators1.cc
+++ b/tests/Polyhedron/mingenerators1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::minimized_generators().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/mingenerators2.cc b/tests/Polyhedron/mingenerators2.cc
index 692356d..a9d08d9 100644
--- a/tests/Polyhedron/mingenerators2.cc
+++ b/tests/Polyhedron/mingenerators2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::minimized_generators().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/nncminimize1.cc b/tests/Polyhedron/nncminimize1.cc
index db3e230..8cc53e0 100644
--- a/tests/Polyhedron/nncminimize1.cc
+++ b/tests/Polyhedron/nncminimize1.cc
@@ -1,5 +1,5 @@
 /* Test minimization of NNC polyhedra.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -50,7 +50,7 @@ test01() {
   cs.insert(x - y < 6);
   cs.insert(x - y > -6);
 
-  ph.add_constraints_and_minimize(cs);
+  ph.add_constraints(cs);
 
   nout << "After vertices removal:" << endl;
   print_constraints(ph.constraints(), "*** ph constraints ***");
@@ -107,7 +107,7 @@ test02() {
   cs.insert(x - y < 1);
   cs.insert(x - y > -1);
 
-  ph.add_constraints_and_minimize(cs);
+  ph.add_constraints(cs);
 
   nout << "After vertices removal:" << endl;
   print_constraints(ph.constraints(), "*** ph constraints ***");
@@ -168,7 +168,7 @@ test03() {
   cs.insert(x - y < 1);
   cs.insert(x - y > -1);
 
-  ph.add_constraints_and_minimize(cs);
+  ph.add_constraints(cs);
 
   nout << "After vertices removal:" << endl;
   print_constraints(ph.constraints(), "*** ph constraints ***");
diff --git a/tests/Polyhedron/nncminimize2.cc b/tests/Polyhedron/nncminimize2.cc
index baf500d..a6c7ed7 100644
--- a/tests/Polyhedron/nncminimize2.cc
+++ b/tests/Polyhedron/nncminimize2.cc
@@ -1,5 +1,5 @@
 /* Test NNC_Polyhedron::ph.minimized_generators().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/numberinput1.cc b/tests/Polyhedron/numberinput1.cc
index 42d8f15..e98a2f7 100644
--- a/tests/Polyhedron/numberinput1.cc
+++ b/tests/Polyhedron/numberinput1.cc
@@ -1,5 +1,5 @@
 /* Test number input.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -48,7 +48,7 @@ struct Test_Extended_Number_Policy {
 
 inline void
 Test_Extended_Number_Policy::handle_result(Result r) {
-  if (r == VC_NAN)
+  if (r == V_NAN)
     return;
   Extended_Number_Policy::handle_result(r);
 }
@@ -89,27 +89,27 @@ aux_test(std::string input_string,
 // Testing symbols.
 bool
 test01() {
-  return aux_test("inf", "+inf", "", V_EQ)
-    && aux_test("InF", "+inf", "", V_EQ)
-    && aux_test("+inF", "+inf", "", V_EQ)
-    && aux_test("-InF", "-inf", "", V_EQ)
-    && aux_test("-InFinity", "-inf", "inity", V_EQ)
-    && aux_test("Inf7", "+inf", "7", V_EQ)
-    && aux_test("nan", "nan", "", VC_NAN)
-    && aux_test("NAN", "nan", "", VC_NAN)
-    && aux_test("Nan", "nan", "", VC_NAN);
+  return aux_test("inf", "+inf", "", V_EQ_PLUS_INFINITY)
+    && aux_test("InF", "+inf", "", V_EQ_PLUS_INFINITY)
+    && aux_test("+inF", "+inf", "", V_EQ_PLUS_INFINITY)
+    && aux_test("-InF", "-inf", "", V_EQ_MINUS_INFINITY)
+    && aux_test("-InFinity", "-inf", "inity", V_EQ_MINUS_INFINITY)
+    && aux_test("Inf7", "+inf", "7", V_EQ_PLUS_INFINITY)
+    && aux_test("nan", "nan", "", V_NAN)
+    && aux_test("NAN", "nan", "", V_NAN)
+    && aux_test("Nan", "nan", "", V_NAN);
 }
 
 // Testing symbols with trailing input and errors.
 bool
 test02() {
-  return aux_test("nAn+", "nan", "+", VC_NAN)
-    && aux_test("naN/", "nan", "/", VC_NAN)
-    && aux_test("nAN/0", "nan", "/0", VC_NAN)
-    && aux_test("nAN/-3", "nan", "/-3", VC_NAN)
-    && aux_test("inF/3", "+inf", "/3", V_EQ)
-    && aux_test("Inf/-3", "+inf", "/-3", V_EQ)
-    && aux_test("-inf/-3", "-inf", "/-3", V_EQ)
+  return aux_test("nAn+", "nan", "+", V_NAN)
+    && aux_test("naN/", "nan", "/", V_NAN)
+    && aux_test("nAN/0", "nan", "/0", V_NAN)
+    && aux_test("nAN/-3", "nan", "/-3", V_NAN)
+    && aux_test("inF/3", "+inf", "/3", V_EQ_PLUS_INFINITY)
+    && aux_test("Inf/-3", "+inf", "/-3", V_EQ_PLUS_INFINITY)
+    && aux_test("-inf/-3", "-inf", "/-3", V_EQ_MINUS_INFINITY)
     && aux_test("-NAn", "nan", "NAn", V_CVT_STR_UNK);
 }
 
@@ -273,7 +273,7 @@ test10() {
 // Testing denominators.
 bool
 test11() {
-  return aux_test("15/0", "nan", "", VC_NAN)
+  return aux_test("15/0", "nan", "", V_NAN)
     && aux_test("15/1", "15", "", V_EQ)
     && aux_test("15/3", "5", "", V_EQ)
     && aux_test("15/-3", "-5", "", V_EQ)
diff --git a/tests/Polyhedron/onepoint.cc b/tests/Polyhedron/onepoint.cc
index 1e39b87..60f23ac 100644
--- a/tests/Polyhedron/onepoint.cc
+++ b/tests/Polyhedron/onepoint.cc
@@ -1,5 +1,5 @@
 /* Creation of a one-point polyhedron.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/permute.cc b/tests/Polyhedron/permute.cc
index eb67d08..756463e 100644
--- a/tests/Polyhedron/permute.cc
+++ b/tests/Polyhedron/permute.cc
@@ -1,5 +1,5 @@
 /* An example of iteration to a post-fixpoint.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/polydifference1.cc b/tests/Polyhedron/polydifference1.cc
index bce43fa..0f61afd 100644
--- a/tests/Polyhedron/polydifference1.cc
+++ b/tests/Polyhedron/polydifference1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::difference_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/polydifference2.cc b/tests/Polyhedron/polydifference2.cc
index 26be53a..c26e9c5 100644
--- a/tests/Polyhedron/polydifference2.cc
+++ b/tests/Polyhedron/polydifference2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::difference_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/polyhull1.cc b/tests/Polyhedron/polyhull1.cc
index b097649..611329a 100644
--- a/tests/Polyhedron/polyhull1.cc
+++ b/tests/Polyhedron/polyhull1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::upper_bound_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -61,7 +61,7 @@ test01() {
 
   print_generators(computed_result, "*** ph1.upper_bound_assign(ph2) ***");
 
-  return (computed_result == known_result);
+  return computed_result == known_result;
 }
 
 bool
diff --git a/tests/Polyhedron/polyhull2.cc b/tests/Polyhedron/polyhull2.cc
index b667d4b..60c0f9e 100644
--- a/tests/Polyhedron/polyhull2.cc
+++ b/tests/Polyhedron/polyhull2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::upper_bound_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/polyhullifexact1.cc b/tests/Polyhedron/polyhullifexact1.cc
index 3b9c1d2..154d0d5 100644
--- a/tests/Polyhedron/polyhullifexact1.cc
+++ b/tests/Polyhedron/polyhullifexact1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::upper_bound_assign_if_exact().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/polyhullifexact2.cc b/tests/Polyhedron/polyhullifexact2.cc
index 1c77f4f..03ebd7d 100644
--- a/tests/Polyhedron/polyhullifexact2.cc
+++ b/tests/Polyhedron/polyhullifexact2.cc
@@ -1,5 +1,5 @@
 /* Test NNC_Polyhedron::upper_bound_assign_if_exact().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -303,6 +303,154 @@ test09() {
   return ok;
 }
 
+bool
+test10() {
+  Variable x(0);
+  Variable y(1);
+
+  NNC_Polyhedron ph1(2, UNIVERSE);
+  ph1.add_constraint(x > 0);
+  ph1.add_constraint(x < 1);
+  ph1.add_constraint(y > 0);
+  ph1.add_constraint(y < 2);
+
+  print_constraints(ph1, "*** ph1 ***");
+
+  NNC_Polyhedron ph2(2, UNIVERSE);
+  ph2.add_constraint(x > 1);
+  ph2.add_constraint(x < 2);
+  ph2.add_constraint(y > 0);
+  ph2.add_constraint(y < 2);
+
+  print_constraints(ph2, "*** ph2 ***");
+
+  NNC_Polyhedron known_result(ph1);
+
+  bool ok = !ph1.upper_bound_assign_if_exact(ph2);
+  ok &= (ph1 == known_result);
+
+  print_constraints(ph1, "*** ph1.upper_bound_assign_if_exact(ph2) ***");
+
+  return ok;
+}
+
+bool
+test11() {
+  Variable x(0);
+  Variable y(1);
+
+  NNC_Polyhedron ph1(2, UNIVERSE);
+  ph1.add_constraint(x > 0);
+  ph1.add_constraint(x < 1);
+  ph1.add_constraint(y > 0);
+  ph1.add_constraint(y < 2);
+
+  print_constraints(ph1, "*** ph1 ***");
+
+  NNC_Polyhedron ph2(2, UNIVERSE);
+  ph2.add_constraint(x >= 1);
+  ph2.add_constraint(x < 2);
+  ph2.add_constraint(y > 0);
+  ph2.add_constraint(y < 2);
+
+  print_constraints(ph2, "*** ph2 ***");
+
+  NNC_Polyhedron known_result(2, UNIVERSE);
+  known_result.add_constraint(x > 0);
+  known_result.add_constraint(x < 2);
+  known_result.add_constraint(y > 0);
+  known_result.add_constraint(y < 2);
+
+  bool ok = ph1.upper_bound_assign_if_exact(ph2);
+  ok &= (ph1 == known_result);
+
+  print_constraints(ph1, "*** ph1.upper_bound_assign_if_exact(ph2) ***");
+
+  return ok;
+}
+
+bool
+test12() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+
+  NNC_Polyhedron ph1(3, UNIVERSE);
+  ph1.add_constraint(x > 0);
+  ph1.add_constraint(x <= 1);
+  ph1.add_constraint(y > 0);
+  ph1.add_constraint(y < 2);
+  ph1.add_constraint(z > 0);
+  ph1.add_constraint(z < 2);
+
+  print_constraints(ph1, "*** ph1 ***");
+
+  NNC_Polyhedron ph2(3, UNIVERSE);
+  ph2.add_constraint(x >= 1);
+  ph2.add_constraint(x < 2);
+  ph2.add_constraint(y > 0);
+  ph2.add_constraint(y < 2);
+  ph2.add_constraint(z > 0);
+  ph2.add_constraint(z < 2);
+
+  print_constraints(ph2, "*** ph2 ***");
+
+  NNC_Polyhedron known_result(3, UNIVERSE);
+  known_result.add_constraint(x > 0);
+  known_result.add_constraint(x < 2);
+  known_result.add_constraint(y > 0);
+  known_result.add_constraint(y < 2);
+  known_result.add_constraint(z > 0);
+  known_result.add_constraint(z < 2);
+
+  bool ok = ph1.upper_bound_assign_if_exact(ph2);
+  ok &= (ph1 == known_result);
+
+  print_constraints(ph1, "*** ph1.upper_bound_assign_if_exact(ph2) ***");
+
+  return ok;
+}
+
+bool
+test13() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+
+  NNC_Polyhedron ph1(3, UNIVERSE);
+  ph1.add_constraint(x > 0);
+  ph1.add_constraint(x <= 1);
+  ph1.add_constraint(y > 0);
+  ph1.add_constraint(y < 2);
+  ph1.add_constraint(z > 0);
+  ph1.add_constraint(z <= 2);
+  ph1.add_constraint(x + z < 3);
+
+  print_constraints(ph1, "*** ph1 ***");
+  print_generators(ph1.minimized_generators(), "*** ph1 ***");
+
+  NNC_Polyhedron ph2(3, UNIVERSE);
+  ph2.add_constraint(x >= 1);
+  ph2.add_constraint(x < 2);
+  ph2.add_constraint(y > 0);
+  ph2.add_constraint(y < 2);
+  ph2.add_constraint(z > 0);
+  ph2.add_constraint(z <= 2);
+  ph1.add_constraint(x - z > -1);
+
+  print_constraints(ph2, "*** ph2 ***");
+  print_generators(ph2.minimized_generators(), "*** ph2 ***");
+
+  NNC_Polyhedron known_result(ph1);
+
+  bool ok = !ph1.upper_bound_assign_if_exact(ph2);
+  ok &= (ph1 == known_result);
+
+  print_constraints(ph1, "*** ph1.upper_bound_assign_if_exact(ph2) ***");
+
+  return ok;
+}
+
 } // namespace
 
 BEGIN_MAIN
@@ -315,4 +463,8 @@ BEGIN_MAIN
   DO_TEST(test07);
   DO_TEST(test08);
   DO_TEST(test09);
+  DO_TEST(test10);
+  DO_TEST(test11);
+  DO_TEST(test12);
+  DO_TEST(test13);
 END_MAIN
diff --git a/tests/Polyhedron/randphull1.cc b/tests/Polyhedron/randphull1.cc
index a46819d..16ad8e8 100644
--- a/tests/Polyhedron/randphull1.cc
+++ b/tests/Polyhedron/randphull1.cc
@@ -1,5 +1,5 @@
 /* Compute poly-hulls of random polytopes.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -61,7 +61,8 @@ test01() {
     const Coefficient cx = mpz_class(rg.get_z_range(maxc));
     const Coefficient cy = mpz_class(rg.get_z_range(maxc));
     const Coefficient cz = mpz_class(rg.get_z_range(maxc));
-    if (!ph.add_generator_and_minimize(point(cx*x + cy*y + cz*z)))
+    ph.add_generator(point(cx*x + cy*y + cz*z));
+    if (ph.is_empty())
       return false;
     nout << test01_namespace::count_points(ph) << endl;
   }
diff --git a/tests/Polyhedron/refinewithcongruence1.cc b/tests/Polyhedron/refinewithcongruence1.cc
index 34c43be..3a3b2d3 100644
--- a/tests/Polyhedron/refinewithcongruence1.cc
+++ b/tests/Polyhedron/refinewithcongruence1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::refine_with_congruence().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/refinewithcongruences1.cc b/tests/Polyhedron/refinewithcongruences1.cc
index 94998d5..19c885a 100644
--- a/tests/Polyhedron/refinewithcongruences1.cc
+++ b/tests/Polyhedron/refinewithcongruences1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::refine_with_congruences().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/refinewithconstraint1.cc b/tests/Polyhedron/refinewithconstraint1.cc
index f3afa5e..e6dd908 100644
--- a/tests/Polyhedron/refinewithconstraint1.cc
+++ b/tests/Polyhedron/refinewithconstraint1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::refine_with_constraint().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/refinewithconstraints1.cc b/tests/Polyhedron/refinewithconstraints1.cc
index e037f44..929fe27 100644
--- a/tests/Polyhedron/refinewithconstraints1.cc
+++ b/tests/Polyhedron/refinewithconstraints1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::refine_with_constraints().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/relations1.cc b/tests/Polyhedron/relations1.cc
index b9b39f8..aa839bb 100644
--- a/tests/Polyhedron/relations1.cc
+++ b/tests/Polyhedron/relations1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::relation_with(g) and Polyhedron::relation_with(c).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -246,7 +246,7 @@ test08() {
   nout << "ph.relation_with(c) == " << rel << endl;
 
   Poly_Con_Relation known_result = Poly_Con_Relation::is_disjoint();
-  return (rel == known_result);
+  return rel == known_result;
 }
 
 bool
diff --git a/tests/Polyhedron/relations2.cc b/tests/Polyhedron/relations2.cc
index 91782d7..c7db09a 100644
--- a/tests/Polyhedron/relations2.cc
+++ b/tests/Polyhedron/relations2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::relation_with(c) and Polyhedron::relation_with(g).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/relations3.cc b/tests/Polyhedron/relations3.cc
index 49bd8d7..9947702 100644
--- a/tests/Polyhedron/relations3.cc
+++ b/tests/Polyhedron/relations3.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::relation_with(c) and Polyhedron::relation_with(g).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/removespacedims1.cc b/tests/Polyhedron/removespacedims1.cc
index 026b6b4..4e3d5d2 100644
--- a/tests/Polyhedron/removespacedims1.cc
+++ b/tests/Polyhedron/removespacedims1.cc
@@ -1,5 +1,5 @@
 /* Removing space dimensions from a polyhedron.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/removespacedims2.cc b/tests/Polyhedron/removespacedims2.cc
index c9dec0b..133fce5 100644
--- a/tests/Polyhedron/removespacedims2.cc
+++ b/tests/Polyhedron/removespacedims2.cc
@@ -1,5 +1,5 @@
 /* Removing space dimensions form an NNC polyhedron.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/simplifyusingcontext1.cc b/tests/Polyhedron/simplifyusingcontext1.cc
index 6007190..cc8ee9d 100644
--- a/tests/Polyhedron/simplifyusingcontext1.cc
+++ b/tests/Polyhedron/simplifyusingcontext1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::simplify_using_context_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/smm1.cc b/tests/Polyhedron/smm1.cc
index 7e2a123..163e61a 100644
--- a/tests/Polyhedron/smm1.cc
+++ b/tests/Polyhedron/smm1.cc
@@ -1,5 +1,5 @@
 /* SEND + MORE = MONEY.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/termination1.cc b/tests/Polyhedron/termination1.cc
new file mode 100644
index 0000000..5a90c74
--- /dev/null
+++ b/tests/Polyhedron/termination1.cc
@@ -0,0 +1,535 @@
+/* Test the termination analysis facilities of the PPL.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+namespace {
+
+bool
+test01() {
+  Variable xp1(0);
+  Variable xp2(1);
+  Variable x1(2);
+  Variable x2(3);
+  C_Polyhedron ph(4);
+  ph.add_constraint(x1 >= 2);
+  ph.add_constraint(2*xp1 + 1 >= x1);
+  ph.add_constraint(2*xp1 <= x1);
+  ph.add_constraint(xp2 == x2 + 1);
+  ph.add_constraint(xp2 >= 1);
+
+  C_Polyhedron mu_space;
+  all_affine_ranking_functions_MS(ph, mu_space);
+
+  print_constraints(mu_space, "*** mu_space ***");
+
+  Variable mu1(0);
+  Variable mu2(1);
+  Variable mu0(2);
+  C_Polyhedron known_result(3);
+  known_result.add_constraint(mu1 - mu2 >= 1);
+  known_result.add_constraint(mu0 + 2*mu1 >= 0);
+  known_result.add_constraint(mu2 >= 0);
+
+  print_constraints(known_result, "*** known_result ***");
+
+  return known_result == mu_space;
+}
+
+bool
+test02() {
+  Variable xp1(0);
+  Variable xp2(1);
+  Variable x1(2);
+  Variable x2(3);
+  C_Polyhedron ph(4);
+  ph.add_constraint(x1 >= 2);
+  ph.add_constraint(2*xp1 + 1 >= x1);
+  ph.add_constraint(2*xp1 <= x1);
+  ph.add_constraint(xp2 == x2 + 1);
+  ph.add_constraint(xp2 >= 1);
+
+  Generator witness(point());
+  one_affine_ranking_function_MS(ph, witness);
+
+  print_generator(witness, "*** witness ***");
+
+  Variable mu1(0);
+  Variable mu2(1);
+  Variable mu0(2);
+  Generator known_result(point(0*mu0 + 1*mu1 + 0*mu2));
+
+  print_generator(known_result, "*** known_result ***");
+
+  return known_result == witness;
+}
+
+bool
+test03() {
+  Variable xp1(0);
+  Variable xp2(1);
+  Variable x1(2);
+  Variable x2(3);
+  C_Polyhedron ph(4);
+  ph.add_constraint(x1 >= 2);
+  ph.add_constraint(2*xp1 + 1 >= x1);
+  ph.add_constraint(2*xp1 <= x1);
+  ph.add_constraint(xp2 == x2 + 1);
+  ph.add_constraint(xp2 >= 1);
+
+  return termination_test_MS(ph);
+}
+
+bool
+test04() {
+  Variable xp1(0);
+  Variable xp2(1);
+  Variable x1(2);
+  Variable x2(3);
+  C_Polyhedron ph(4);
+  ph.add_constraint(x1 >= 2);
+  ph.add_constraint(2*xp1 + 1 >= x1);
+  ph.add_constraint(2*xp1 <= x1);
+  ph.add_constraint(xp2 == x2 + 1);
+  ph.add_constraint(xp2 >= 1);
+
+  NNC_Polyhedron mu_space;
+  all_affine_ranking_functions_PR(ph, mu_space);
+
+  print_constraints(mu_space, "*** mu_space ***");
+
+  Variable mu1(0);
+  Variable mu2(1);
+  Variable mu0(2);
+  NNC_Polyhedron known_result(3);
+  known_result.add_constraint(mu1 - mu2 > 0);
+  known_result.add_constraint(mu2 >= 0);
+
+  print_constraints(known_result, "*** known_result ***");
+
+  return known_result == mu_space;
+}
+
+bool
+test05() {
+  Variable xp1(0);
+  Variable xp2(1);
+  Variable x1(2);
+  Variable x2(3);
+  C_Polyhedron ph(4);
+  ph.add_constraint(x1 >= 2);
+  ph.add_constraint(2*xp1 + 1 >= x1);
+  ph.add_constraint(2*xp1 <= x1);
+  ph.add_constraint(xp2 == x2 + 1);
+  ph.add_constraint(xp2 >= 1);
+
+  Generator witness(point());
+  one_affine_ranking_function_PR(ph, witness);
+
+  print_generator(witness, "*** witness ***");
+
+  Variable mu1(0);
+  Variable mu2(1);
+  Variable mu0(2);
+  Generator known_result(point(0*mu0 + 2*mu1 + 0*mu2));
+
+  print_generator(known_result, "*** known_result ***");
+
+  return known_result == witness;
+}
+
+bool
+test06() {
+  C_Polyhedron ph_before(2);
+  {
+    Variable x1(0);
+    Variable x2(1);
+    ph_before.add_constraint(-x1     <= -1);
+    ph_before.add_constraint(x1 - x2 <=  0);
+  }
+
+  C_Polyhedron ph_after(4);
+  {
+    Variable xp1(0);
+    Variable xp2(1);
+    Variable x1(2);
+    Variable x2(3);
+    ph_after.add_constraint(x1 - x2 + xp2  <=  0);
+    ph_after.add_constraint(-x1 + x2 - xp2 <=  0);
+  }
+
+  return termination_test_PR_2(ph_before, ph_after);
+}
+
+bool
+test07() {
+  Variable xp1(0);
+  Variable xp2(1);
+  Variable x1(2);
+  Variable x2(3);
+  BD_Shape<int> bds(4);
+  bds.add_constraint(x1 >= 2);
+  bds.add_constraint(xp1 >= x1 - 2);
+  bds.add_constraint(xp1 <= x1 - 1);
+  bds.add_constraint(xp2 == x2 + 1);
+  bds.add_constraint(xp2 >= 1);
+
+  return termination_test_MS(bds) &&  termination_test_PR(bds);
+}
+
+bool
+test08() {
+  Variable xp1(0);
+  Variable xp2(1);
+  Variable x1(2);
+  Variable x2(3);
+  C_Polyhedron ph(4);
+  ph.add_constraint(xp1 - x1 >= 0);
+  ph.add_constraint(-xp1 + x1 >= 0);
+  ph.add_constraint(-xp2 + x2 >= 1);
+  ph.add_constraint(xp2 >= 0);
+  ph.add_constraint(xp1 >= 1);
+
+  return termination_test_MS(ph);
+}
+
+bool
+test09() {
+  Variable xp1(0);
+  Variable xp2(1);
+  Variable x1(2);
+  Variable x2(3);
+  C_Polyhedron ph(4);
+  ph.add_constraint(xp1 - x1 >= 0);
+  ph.add_constraint(-xp1 + x1 >= 0);
+  ph.add_constraint(-xp2 + x2 >= 1);
+  ph.add_constraint(xp2 >= 0);
+  ph.add_constraint(xp1 >= 1);
+
+  return termination_test_PR(ph);
+}
+
+bool
+test10() {
+  C_Polyhedron ph(10);
+  {
+    Variable x1(5);
+    Variable x2(6);
+    Variable x3(7);
+    Variable x4(8);
+    Variable x5(9);
+    ph.add_constraint(x4 >= 0);
+    ph.add_constraint(x2 - x3 - x4 >= 1);
+  }
+
+  {
+    Variable x1(5);
+    Variable x2(6);
+    Variable x3(7);
+    Variable x4(8);
+    Variable x5(9);
+
+    Variable xp1(0);
+    Variable xp2(1);
+    Variable xp3(2);
+    Variable xp4(3);
+    Variable xp5(4);
+
+    ph.add_constraint(x4 - xp4 <= -1);
+    ph.add_constraint(x3 == xp3);
+    ph.add_constraint(x2 == xp2);
+    ph.add_constraint(x1 == xp1);
+  }
+
+  return termination_test_MS(ph);
+}
+
+bool
+test11() {
+  C_Polyhedron ph_before(5);
+  {
+    Variable x1(0);
+    Variable x2(1);
+    Variable x3(2);
+    Variable x4(3);
+    Variable x5(4);
+    ph_before.add_constraint(x4 >= 0);
+    ph_before.add_constraint(x2 - x3 - x4 >= 1);
+  }
+
+  C_Polyhedron ph_after(10);
+  {
+    Variable x1(5);
+    Variable x2(6);
+    Variable x3(7);
+    Variable x4(8);
+    Variable x5(9);
+
+    Variable xp1(0);
+    Variable xp2(1);
+    Variable xp3(2);
+    Variable xp4(3);
+    Variable xp5(4);
+
+    ph_after.add_constraint(x4 - xp4 <= -1);
+    ph_after.add_constraint(x3 == xp3);
+    ph_after.add_constraint(x2 == xp2);
+    ph_after.add_constraint(x1 == xp1);
+  }
+
+  return termination_test_MS_2(ph_before, ph_after);
+}
+
+bool
+test12() {
+  C_Polyhedron ph_before(2);
+  {
+    Variable x1(0);
+    Variable x2(1);
+    ph_before.add_constraint(x1 >= 1);
+    ph_before.add_constraint(x2 <= 0);
+  }
+
+  C_Polyhedron ph_after(4);
+  {
+    Variable x1(2);
+    Variable x2(3);
+
+    Variable xp1(0);
+    Variable xp2(1);
+
+    ph_after.add_constraint(xp2 == 1);
+    ph_after.add_constraint(x1 - xp1 >= 1);
+  }
+
+  return termination_test_MS_2(ph_before, ph_after);
+}
+
+bool
+test13() {
+  C_Polyhedron ph_before(2);
+  {
+    Variable x1(0);
+    Variable x2(1);
+    ph_before.add_constraint(x1 >= 1);
+    ph_before.add_constraint(x2 <= 0);
+  }
+
+  C_Polyhedron ph_after(4);
+  {
+    Variable x1(2);
+    Variable x2(3);
+
+    Variable xp1(0);
+    Variable xp2(1);
+
+    ph_after.add_constraint(xp2 == 1);
+    ph_after.add_constraint(x1 - xp1 >= 1);
+  }
+
+  return termination_test_PR_2(ph_before, ph_after);
+}
+
+bool
+test14() {
+  C_Polyhedron ph(4);
+  {
+    Variable x1(2);
+    Variable x2(3);
+
+    Variable xp1(0);
+    Variable xp2(1);
+
+    ph.add_constraint(xp2 == 1);
+    ph.add_constraint(x1 >= 1);
+    ph.add_constraint(x1 - xp1 >= 1);
+    ph.add_constraint(x2 <= 0);
+  }
+
+  return termination_test_PR(ph);
+}
+
+
+bool
+test15() {
+  Variable xp1(0);
+  Variable x1(1);
+  C_Polyhedron ph(2);
+  ph.add_constraint(x1 >= 3);
+  ph.add_constraint(xp1 >= 1);
+
+  return !termination_test_MS(ph);
+}
+
+bool
+test16() {
+  Variable xp1(0);
+  Variable x1(1);
+  C_Polyhedron ph(2);
+  ph.add_constraint(x1 >= 3);
+  ph.add_constraint(xp1 >= 1);
+
+  return !termination_test_PR(ph);
+}
+
+bool
+test17() {
+  Variable xp1(0);
+  Variable xp2(1);
+  Variable x1(2);
+  Variable x2(3);
+  C_Polyhedron ph(4);
+  ph.add_constraint(x1 >= 1);
+  ph.add_constraint(x2 >= 1);
+  ph.add_constraint(x1 - x2 <= -1);
+  ph.add_constraint(xp1 >= 1);
+  ph.add_constraint(xp2 >= 1);
+  ph.add_constraint(x1 == xp1);
+
+  return !termination_test_MS(ph);
+}
+
+bool
+test18() {
+  Variable xp1(0);
+  Variable xp2(1);
+  Variable x1(2);
+  Variable x2(3);
+  C_Polyhedron ph(4);
+  ph.add_constraint(x1 >= 1);
+  ph.add_constraint(x2 >= 1);
+  ph.add_constraint(x1 - x2 <= -1);
+  ph.add_constraint(xp1 >= 1);
+  ph.add_constraint(xp2 >= 1);
+  ph.add_constraint(x1 == xp1);
+
+  return !termination_test_PR(ph);
+}
+
+bool
+test19() {
+  Variable D(0);
+  Variable E(1);
+  Variable F(2);
+  Variable A(3);
+  Variable B(4);
+  Variable C(5);
+  C_Polyhedron ph(6);
+
+  ph.add_constraint(A == D);
+  ph.add_constraint(B == E);
+  ph.add_constraint(B - F >= 0);
+  ph.add_constraint(A - F >= 0);
+  ph.add_constraint(C >=0);
+  ph.add_constraint(C - F <= -1);
+
+  Generator witness(point());
+  one_affine_ranking_function_PR(ph, witness);
+
+  print_generator(witness, "*** witness ***");
+
+  Variable mu1(0);
+  Variable mu2(1);
+  Variable mu3(2);
+  Variable mu0(3);
+  Generator known_result(point(0*mu0 + 1*mu1 - 1*mu3));
+
+  print_generator(known_result, "*** known_result ***");
+
+  return known_result == witness;
+}
+
+bool
+test20() {
+  Variable D(0);
+  Variable E(1);
+  Variable F(2);
+  Variable A(3);
+  Variable B(4);
+  Variable C(5);
+  C_Polyhedron ph(6);
+
+  ph.add_constraint(A == D);
+  ph.add_constraint(B == E);
+  ph.add_constraint(B - F >= 0);
+  ph.add_constraint(A - F >= 0);
+  ph.add_constraint(C >=0);
+  ph.add_constraint(C - F <= -1);
+
+  Generator witness(point());
+  one_affine_ranking_function_MS(ph, witness);
+
+  print_generator(witness, "*** witness ***");
+
+  Variable mu1(0);
+  Variable mu2(1);
+  Variable mu3(2);
+  Variable mu0(3);
+  Generator known_result(point(-1*mu0 + 1*mu1 - 1*mu3));
+
+  print_generator(known_result, "*** known_result ***");
+
+  return known_result == witness;
+}
+
+bool
+test21() {
+  C_Polyhedron ph(2);
+  return !termination_test_PR(ph);
+}
+
+bool
+test22() {
+  C_Polyhedron ph(2);
+  NNC_Polyhedron mu_space;
+  all_affine_ranking_functions_PR(ph, mu_space);
+
+  print_constraints(ph, "*** ph ***");
+  return ph.OK();
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST(test08);
+  DO_TEST(test09);
+  DO_TEST(test10);
+  DO_TEST(test11);
+  DO_TEST(test12);
+  DO_TEST(test13);
+  DO_TEST(test14);
+  DO_TEST(test15);
+  DO_TEST(test16);
+  DO_TEST(test17);
+  DO_TEST(test18);
+  DO_TEST(test19);
+  DO_TEST(test20);
+  DO_TEST(test21);
+  DO_TEST(test22);
+END_MAIN
diff --git a/tests/Polyhedron/termination2.cc b/tests/Polyhedron/termination2.cc
new file mode 100644
index 0000000..496a476
--- /dev/null
+++ b/tests/Polyhedron/termination2.cc
@@ -0,0 +1,177 @@
+/* Test the termination analysis facilities of the PPL.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+namespace {
+
+bool
+test01() {
+  C_Polyhedron ph1(2);
+  C_Polyhedron ph2(4);
+  bool ok1 = !termination_test_MS(ph1) && !termination_test_PR(ph1);
+  bool ok2 = !termination_test_MS_2(ph1, ph2)
+    && !termination_test_PR_2(ph1, ph2);
+  return ok1 && ok2;
+}
+
+bool
+test02() {
+  C_Polyhedron ph1(2, EMPTY);
+  C_Polyhedron ph2(4, EMPTY);
+  bool ok1 = termination_test_MS(ph1) && termination_test_PR(ph1);
+  bool ok2 = termination_test_MS_2(ph1, ph2)
+    && termination_test_PR_2(ph1, ph2);
+  return ok1 && ok2;
+}
+
+bool
+test03() {
+  C_Polyhedron ph1(2);
+  C_Polyhedron ph2(4, EMPTY);
+  bool ok = termination_test_MS_2(ph1, ph2)
+              && termination_test_PR_2(ph1, ph2);
+  return ok;
+}
+
+bool
+test04() {
+  C_Polyhedron ph1(2, EMPTY);
+  C_Polyhedron ph2(4);
+  bool ok = termination_test_PR_2(ph1, ph2);
+  ok = ok && termination_test_MS_2(ph1, ph2);
+  return ok;
+}
+
+bool
+test05() {
+  C_Polyhedron ph1(2);
+  C_Polyhedron ph2(4);
+  Generator witness(point());
+  bool ok = !one_affine_ranking_function_MS(ph1, witness);
+  ok = ok && !one_affine_ranking_function_PR(ph1, witness);
+  ok = ok && !one_affine_ranking_function_MS_2(ph1, ph2, witness);
+  ok = ok && !one_affine_ranking_function_PR_2(ph1, ph2, witness);
+  return ok;
+}
+
+bool
+test06() {
+  C_Polyhedron ph1(2, EMPTY);
+  C_Polyhedron ph2(4, EMPTY);
+  Generator witness(point());
+  bool ok = one_affine_ranking_function_MS(ph1, witness);
+  ok = ok && one_affine_ranking_function_PR(ph1, witness);
+  ok = ok && one_affine_ranking_function_MS_2(ph1, ph2, witness);
+  ok = ok && one_affine_ranking_function_PR_2(ph1, ph2, witness);
+  return ok;
+}
+
+bool
+test07() {
+  C_Polyhedron ph1(2, EMPTY);
+  C_Polyhedron ph2(4);
+  Generator witness(point());
+  bool ok = one_affine_ranking_function_PR_2(ph1, ph2, witness);
+  ok = ok && one_affine_ranking_function_MS_2(ph1, ph2, witness);
+  return ok;
+}
+
+bool
+test08() {
+  C_Polyhedron ph1(2);
+  C_Polyhedron ph2(4, EMPTY);
+  Generator witness(point());
+  bool ok = one_affine_ranking_function_PR_2(ph1, ph2, witness);
+  ok = ok && one_affine_ranking_function_MS_2(ph1, ph2, witness);
+  return ok;
+}
+
+bool
+test09() {
+  C_Polyhedron ph1(2);
+  C_Polyhedron ph2(4);
+  C_Polyhedron c_mu_space;
+  NNC_Polyhedron nnc_mu_space;
+  all_affine_ranking_functions_MS(ph1, c_mu_space);
+  all_affine_ranking_functions_MS_2(ph1, ph2, c_mu_space);
+  all_affine_ranking_functions_PR(ph1, nnc_mu_space);
+  all_affine_ranking_functions_PR_2(ph1, ph2, nnc_mu_space);
+
+  C_Polyhedron c_known_result(3, EMPTY);
+  NNC_Polyhedron nnc_known_result(3, EMPTY);
+
+  print_constraints(ph1, "*** ph ***");
+  print_constraints(c_mu_space, "*** c_mu_space ***");
+  print_constraints(nnc_mu_space, "*** nnc_mu_space ***");
+  return ph1.OK() && (nnc_mu_space == nnc_known_result);
+}
+
+bool
+test10() {
+  C_Polyhedron ph_before(2, EMPTY);
+  C_Polyhedron ph_after(4, EMPTY);
+  C_Polyhedron c_mu_space;
+  NNC_Polyhedron nnc_mu_space;
+  C_Polyhedron c_known_result(3, UNIVERSE);
+  NNC_Polyhedron nnc_known_result(3, UNIVERSE);
+  bool ok = true;
+
+  all_affine_ranking_functions_MS(ph_after, c_mu_space);
+  ok &= (c_mu_space == c_known_result);
+
+  all_affine_ranking_functions_MS_2(ph_before, ph_after, c_mu_space);
+  ok &= (c_mu_space == c_known_result);
+
+//   all_affine_ranking_functions_PR(ph_after, nnc_mu_space);
+//   ok &= (nnc_mu_space == nnc_known_result);
+
+  all_affine_ranking_functions_PR_2(ph_before, ph_after, nnc_mu_space);
+  ok &= (nnc_mu_space == nnc_known_result);
+
+  print_constraints(ph_after, "*** ph_after ***");
+
+  print_generators(c_known_result.minimized_generators(),
+                   "*** c_known_result ***");
+  print_generators(nnc_known_result.minimized_generators(),
+                   "*** nnc_known_result ***");
+
+  print_generators(c_mu_space.minimized_generators(), "*** c_mu_space ***");
+  print_generators(nnc_mu_space.minimized_generators(), "*** nnc_mu_space ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST(test08);
+  DO_TEST(test09);
+  DO_TEST(test10);
+END_MAIN
diff --git a/tests/Polyhedron/timeelapse1.cc b/tests/Polyhedron/timeelapse1.cc
index 21fa488..a98445a 100644
--- a/tests/Polyhedron/timeelapse1.cc
+++ b/tests/Polyhedron/timeelapse1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::time_elapse_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/timeelapse2.cc b/tests/Polyhedron/timeelapse2.cc
index affe7a5..ec9274d 100644
--- a/tests/Polyhedron/timeelapse2.cc
+++ b/tests/Polyhedron/timeelapse2.cc
@@ -1,5 +1,5 @@
 /* Test time_elapse_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/topclosed1.cc b/tests/Polyhedron/topclosed1.cc
index 03ae6e4..a246738 100644
--- a/tests/Polyhedron/topclosed1.cc
+++ b/tests/Polyhedron/topclosed1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::is_topologically_closed().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -56,7 +56,7 @@ test02() {
   gs1.insert(point(A));
   gs1.insert(closure_point());
   gs1.insert(closure_point(A));
-  ph1.add_generators_and_minimize(gs1);
+  ph1.add_generators(gs1);
 
   bool ok = !ph1.is_topologically_closed();
 
diff --git a/tests/Polyhedron/topclosure1.cc b/tests/Polyhedron/topclosure1.cc
index 5f9ae48..a876849 100644
--- a/tests/Polyhedron/topclosure1.cc
+++ b/tests/Polyhedron/topclosure1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::topological_closure_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/unconstrain1.cc b/tests/Polyhedron/unconstrain1.cc
index ecf121b..febcc8b 100644
--- a/tests/Polyhedron/unconstrain1.cc
+++ b/tests/Polyhedron/unconstrain1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::unconstrain().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/universe1.cc b/tests/Polyhedron/universe1.cc
index b21c200..6904ba3 100644
--- a/tests/Polyhedron/universe1.cc
+++ b/tests/Polyhedron/universe1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::is_universe().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/universe2.cc b/tests/Polyhedron/universe2.cc
index e47783a..2d46113 100644
--- a/tests/Polyhedron/universe2.cc
+++ b/tests/Polyhedron/universe2.cc
@@ -1,5 +1,5 @@
 /* Test the function is_universe() for a NNC_polyhedron.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/variablesset1.cc b/tests/Polyhedron/variablesset1.cc
index c9f399c..71503e7 100644
--- a/tests/Polyhedron/variablesset1.cc
+++ b/tests/Polyhedron/variablesset1.cc
@@ -1,5 +1,5 @@
 /* Test the Variables_Set class.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/watchdog1.cc b/tests/Polyhedron/watchdog1.cc
index 270bc52..dd7271e 100644
--- a/tests/Polyhedron/watchdog1.cc
+++ b/tests/Polyhedron/watchdog1.cc
@@ -1,5 +1,5 @@
 /* Test the timeout facility of the library.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -41,7 +41,7 @@ class Timeout : virtual public std::exception,
 		public Parma_Polyhedra_Library::Throwable {
 public:
   const char* what() const throw() {
-    return "Timeout in watchdog1.cc";
+    return "timeout in watchdog1.cc";
   }
 
   void throw_me() const {
@@ -81,7 +81,20 @@ timed_compute_open_hypercube_generators(dimension_type dimension,
     nout << " s" << endl;
     return false;
   }
+#if !PWL_WATCHDOG_OBJECTS_ARE_SUPPORTED
+  // If Watchdog objects are not supported, an std::logic_error exception
+  // will be thrown: this is normal.
+  catch (const std::logic_error& e) {
+  nout << "std::logic_error exception caught: \n" << e.what() << std::endl;
+  exit(0);
+}
+#endif // !PWL_WATCHDOG_OBJECTS_ARE_SUPPORTED
+  catch (const std::exception& e) {
+    nout << "unexpected std::exception caught: \n" << e.what() << endl;
+    exit(1);
+  }
   catch (...) {
+    nout << "unexpected unknown exception caught" << endl;
     exit(1);
   }
   // Should never get here.
diff --git a/tests/Polyhedron/weightwatch1.cc b/tests/Polyhedron/weightwatch1.cc
new file mode 100644
index 0000000..30ae5cf
--- /dev/null
+++ b/tests/Polyhedron/weightwatch1.cc
@@ -0,0 +1,232 @@
+/* Test the weightwatch (i.e., deterministic timeout) facility of the library.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+#include "pwl.hh"
+#include <stdexcept>
+
+namespace {
+
+typedef
+Parma_Watchdog_Library::Threshold_Watcher<Weightwatch_Traits> Weightwatch;
+
+class Deterministic_Timeout
+  : virtual public std::exception,
+    public Parma_Polyhedra_Library::Throwable {
+public:
+  const char* what() const throw() {
+    return "deterministic timeout in weightwatch1.cc";
+  }
+
+  void throw_me() const {
+    throw *this;
+  }
+
+  int priority() const {
+    return 0;
+  }
+
+  ~Deterministic_Timeout() throw() {
+  }
+};
+
+void too_fat() {
+  throw Deterministic_Timeout();
+}
+
+bool test01() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+  Variable D(3);
+  Variable E(4);
+  Variable F(5);
+  Variable G(6);
+  Variable H(7);
+  Variable I(8);
+  Variable J(9);
+  Variable K(10);
+  Variable L(11);
+  Variable M(12);
+  Variable N(13);
+  Variable O(14);
+  Variable P(15);
+  Variable Q(16);
+  Variable R(17);
+
+  Constraint_System cs;
+  cs.insert(B + 8192*D - R == 0);
+  cs.insert(Q == 1);
+  cs.insert(B + 8192*D - P == 0);
+  cs.insert(O == 1);
+  cs.insert(B + 8192*D - I - 8192*N == 0);
+  cs.insert(I - M == 0);
+  cs.insert(L == 0);
+  cs.insert(B + 8192*D - I - 8192*K == 0);
+  cs.insert(J == 0);
+  cs.insert(H == 0);
+  cs.insert(D - G == 0);
+  cs.insert(B - F == 0);
+  cs.insert(E == 0);
+  cs.insert(C == 0);
+  cs.insert(A == 0);
+  // Blind relaxation of strict constraint B - I > 0.
+  cs.insert(B - I >= 0);
+  cs.insert(-B - 8192*D + I >= -67100672);
+  cs.insert(-B >= -8191);
+  cs.insert(I >= 0);
+  cs.insert(D >= 0);
+
+  C_Polyhedron ph(cs);
+  print_constraints(ph, "*** ph ***");
+
+  try {
+    Weightwatch ww(2500000, too_fat);
+    // Thanks to the blind relaxation of the strict inequality constraint,
+    // polyhedron ph is easily seen to contain an integer point.
+    const bool contains = ph.contains_integer_point();
+    nout << endl << "ph "
+         << (contains ? "contains" : "does not contain")
+         << " an integer point" << endl;
+    return contains;
+  }
+  // Note: other exceptions are just propagated.
+  catch (const Deterministic_Timeout& e) {
+    // Unexpected timeout exception.
+    nout << endl << e.what() << endl;
+    return false;
+  }
+  // Should never get here.
+  return false;
+}
+
+bool test02() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+  Variable D(3);
+  Variable E(4);
+  Variable F(5);
+  Variable G(6);
+  Variable H(7);
+  Variable I(8);
+  Variable J(9);
+  Variable K(10);
+  Variable L(11);
+  Variable M(12);
+  Variable N(13);
+  Variable O(14);
+  Variable P(15);
+  Variable Q(16);
+  Variable R(17);
+
+  Constraint_System cs;
+  cs.insert(B + 8192*D - R == 0);
+  cs.insert(Q == 1);
+  cs.insert(B + 8192*D - P == 0);
+  cs.insert(O == 1);
+  cs.insert(B + 8192*D - I - 8192*N == 0);
+  cs.insert(I - M == 0);
+  cs.insert(L == 0);
+  cs.insert(B + 8192*D - I - 8192*K == 0);
+  cs.insert(J == 0);
+  cs.insert(H == 0);
+  cs.insert(D - G == 0);
+  cs.insert(B - F == 0);
+  cs.insert(E == 0);
+  cs.insert(C == 0);
+  cs.insert(A == 0);
+  // Rewriting the strict constraint B - I > 0.
+  cs.insert(B - I >= 1);
+  cs.insert(-B - 8192*D + I >= -67100672);
+  cs.insert(-B >= -8191);
+  cs.insert(I >= 0);
+  cs.insert(D >= 0);
+
+  C_Polyhedron ph(cs);
+  print_constraints(ph, "*** ph ***");
+
+  try {
+    Weightwatch ww(2500000, too_fat);
+    // The branch-and-bound heuristics of the MIP solver behaves badly
+    // on this particular example, causing timeout to expire.
+    const bool contains = ph.contains_integer_point();
+    nout << endl
+         << "ph " << (contains ? "contains" : "does not contain")
+         << " an integer point" << endl;
+    return false;
+  }
+  // Note: other exceptions are just propagated.
+  catch (const Deterministic_Timeout& e) {
+    // Expected exception.
+    nout << endl << e.what() << endl;
+    return true;
+  }
+  // Should never get here.
+  return false;
+}
+
+bool test03() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+  Variable D(3);
+
+  Constraint_System cs;
+  cs.insert(8192*A + B - 8192*C - D == 0);
+  cs.insert(D >= 0);
+  cs.insert(-B >= -8191);
+  cs.insert(B -D >= 1);
+  cs.insert(-B + 8192*C + D >= 0);
+  cs.insert(-C >= -8191);
+
+  C_Polyhedron ph(cs);
+  print_constraints(ph, "*** ph ***");
+
+  try {
+    Weightwatch ww(1000000000, too_fat);
+    // Polyhedron ph is the projection of the polyehdron of test01
+    // onto a lower dimensional space: the performance issue of previous
+    // test does not depend on high dimension vector space.
+    const bool contains = ph.contains_integer_point();
+    nout << endl
+         << "ph " << (contains ? "contains" : "does not contain")
+         << " an integer point" << endl;
+    return false;
+  }
+  // Note: other exceptions are just propagated.
+  catch (const Deterministic_Timeout& e) {
+    // Expected exception.
+    nout << endl << e.what() << endl;
+    return true;
+  }
+  // Should never get here.
+  return false;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST_F32(test01);
+  DO_TEST_F32(test02);
+  DO_TEST_F32(test03);
+END_MAIN
diff --git a/tests/Polyhedron/wrap1.cc b/tests/Polyhedron/wrap1.cc
new file mode 100644
index 0000000..1d99c6c
--- /dev/null
+++ b/tests/Polyhedron/wrap1.cc
@@ -0,0 +1,625 @@
+/* Test Polyhedron::wrap_assign().
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+namespace {
+
+bool
+test01() {
+  Variable x(0);
+  Variable y(1);
+  C_Polyhedron ph(2);
+  ph.add_constraint(x + 1024 == 8*y);
+  ph.add_constraint(-64 <= x);
+  ph.add_constraint(x <= 448);
+
+  print_constraints(ph, "*** ph ***");
+
+  Variables_Set vars(x, y);
+
+  ph.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS);
+
+  C_Polyhedron known_result(2);
+  known_result.add_constraint(x >= 0);
+  known_result.add_constraint(x <= 255);
+  known_result.add_constraint(x + 24*y >= 3072);
+  known_result.add_constraint(193*x + 504*y <= 129792);
+  known_result.add_constraint(x - 8*y >= -1280);
+  known_result.add_constraint(x - 8*y <= -768);
+
+  bool ok = (ph == known_result);
+
+  print_constraints(ph, "*** ph.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test02() {
+  Variable x(0);
+  Variable y(1);
+  C_Polyhedron ph(2);
+  ph.add_constraint(x + 1024 == 8*y);
+  ph.add_constraint(-64 <= x);
+  ph.add_constraint(x <= 448);
+
+  print_constraints(ph, "*** ph ***");
+
+  Variables_Set vars(x, y);
+
+  Constraint_System cs;
+  cs.insert(x <= y);
+
+  ph.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS, &cs);
+
+  C_Polyhedron known_result(2);
+  known_result.add_constraint(x >= 0);
+  known_result.add_constraint(x <= y);
+  known_result.add_constraint(x - 8*y >= -1280);
+  known_result.add_constraint(x - 8*y <= -1024);
+
+  bool ok = (ph == known_result);
+
+  print_constraints(ph, "*** ph.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test03() {
+  Variable x(0);
+  Variable y(1);
+  C_Polyhedron ph(2);
+  ph.add_constraint(x + 1024 == 8*y);
+  ph.add_constraint(-64 <= x);
+  ph.add_constraint(x <= 448);
+
+  print_constraints(ph, "*** ph ***");
+
+  Variables_Set vars(x, y);
+
+  ph.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_UNDEFINED);
+
+  C_Polyhedron known_result(2);
+  known_result.add_constraint(x >= 0);
+  known_result.add_constraint(x <= 255);
+  known_result.add_constraint(y >= 120);
+  known_result.add_constraint(y <= 184);
+
+  bool ok = (ph == known_result);
+
+  print_constraints(ph, "*** ph.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test04() {
+  Variable x(0);
+  Variable y(1);
+  C_Polyhedron ph(2);
+  ph.add_constraint(x + 1024 == 8*y);
+  ph.add_constraint(-64 <= x);
+  ph.add_constraint(x <= 448);
+
+  print_constraints(ph, "*** ph ***");
+
+  Variables_Set vars(x, y);
+
+  Constraint_System cs;
+  cs.insert(x <= y);
+
+  ph.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_UNDEFINED, &cs);
+
+  C_Polyhedron known_result(2);
+  known_result.add_constraint(x >= 0);
+  known_result.add_constraint(y >= 120);
+  known_result.add_constraint(y <= 184);
+  known_result.add_constraint(x <= y);
+
+  bool ok = (ph == known_result);
+
+  print_constraints(ph, "*** ph.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test05() {
+  Variable x(0);
+  Variable y(1);
+  C_Polyhedron ph(2);
+  ph.add_constraint(x + 1024 == 8*y);
+  ph.add_constraint(-64 <= x);
+  ph.add_constraint(x <= 448);
+
+  print_constraints(ph, "*** ph ***");
+
+  Variables_Set vars(x, y);
+
+  ph.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_IMPOSSIBLE);
+
+  C_Polyhedron known_result(2);
+  known_result.add_constraint(x >= 0);
+  known_result.add_constraint(x <= 255);
+  known_result.add_constraint(x + 1024 == 8*y);
+
+  bool ok = (ph == known_result);
+
+  print_constraints(ph, "*** ph.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test06() {
+  Variable x(0);
+  Variable y(1);
+  C_Polyhedron ph(2);
+  ph.add_constraint(x + 1024 == 8*y);
+  ph.add_constraint(-64 <= x);
+  ph.add_constraint(x <= 448);
+
+  print_constraints(ph, "*** ph ***");
+
+  Variables_Set vars(x, y);
+
+  Constraint_System cs;
+  cs.insert(x <= y);
+
+  ph.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_IMPOSSIBLE, &cs);
+
+  C_Polyhedron known_result(2);
+  known_result.add_constraint(x >= 0);
+  known_result.add_constraint(7*x <= 1024);
+  known_result.add_constraint(x + 1024 == 8*y);
+
+  bool ok = (ph == known_result);
+
+  print_constraints(ph, "*** ph.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test07() {
+  Variable x(0);
+  Variable y(1);
+  C_Polyhedron ph(2);
+  ph.add_constraint(x + 1024 == 8*y);
+
+  print_constraints(ph, "*** ph ***");
+
+  Variables_Set vars(x, y);
+
+  ph.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS);
+
+  C_Polyhedron known_result(2);
+  known_result.add_constraint(x >= 0);
+  known_result.add_constraint(x <= 255);
+  known_result.add_constraint(y >= 0);
+  known_result.add_constraint(y <= 255);
+
+  bool ok = (ph == known_result);
+
+  print_constraints(ph, "*** ph.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test08() {
+  Variable x(0);
+  Variable y(1);
+  C_Polyhedron ph(2);
+  ph.add_constraint(x + 1024 == 8*y);
+
+  print_constraints(ph, "*** ph ***");
+
+  Variables_Set vars(x, y);
+
+  Constraint_System cs;
+  cs.insert(x <= y);
+
+  ph.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS, &cs);
+
+  C_Polyhedron known_result(2);
+  known_result.add_constraint(x >= 0);
+  known_result.add_constraint(y <= 255);
+  known_result.add_constraint(x <= y);
+
+  bool ok = (ph == known_result);
+
+  print_constraints(ph, "*** ph.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test09() {
+  Variable x(0);
+  Variable y(1);
+  C_Polyhedron ph(2);
+  ph.add_constraint(x + 1024 == 8*y);
+  ph.add_constraint(-64 <= x);
+  ph.add_constraint(x <= 448);
+
+  print_constraints(ph, "*** ph ***");
+
+  Variables_Set vars(x, y);
+
+  ph.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS, 0, 32, false);
+
+  C_Polyhedron known_result(2);
+  known_result.add_constraint(x >= 0);
+  known_result.add_constraint(x <= 255);
+  known_result.add_constraint(x + 24*y >= 3072);
+  known_result.add_constraint(193*x + 504*y <= 129792);
+  known_result.add_constraint(x - 8*y >= -1280);
+  known_result.add_constraint(x - 8*y <= -768);
+
+  bool ok = (ph == known_result);
+
+  print_constraints(ph, "*** ph.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test10() {
+  Variable x(0);
+  Variable y(1);
+  C_Polyhedron ph(2);
+  ph.add_constraint(x + 1024 == 8*y);
+  ph.add_constraint(-64 <= x);
+  ph.add_constraint(x <= 448);
+
+  print_constraints(ph, "*** ph ***");
+
+  Variables_Set vars(x, y);
+
+  Constraint_System cs;
+  cs.insert(x <= y);
+
+  ph.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS, &cs, 32, false);
+
+  C_Polyhedron known_result(2);
+  known_result.add_constraint(x >= 0);
+  known_result.add_constraint(x <= y);
+  known_result.add_constraint(x - 8*y >= -1280);
+  known_result.add_constraint(x - 8*y <= -1024);
+
+  bool ok = (ph == known_result);
+
+  print_constraints(ph, "*** ph.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test11() {
+  Variable x(0);
+  Variable y(1);
+  C_Polyhedron ph(2);
+  ph.add_constraint(x + 1024 == 8*y);
+
+  print_constraints(ph, "*** ph ***");
+
+  Variables_Set vars(x, y);
+
+  ph.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS, 0, 32, false);
+
+  C_Polyhedron known_result(2);
+  known_result.add_constraint(x >= 0);
+  known_result.add_constraint(x <= 255);
+  known_result.add_constraint(y >= 0);
+  known_result.add_constraint(y <= 255);
+
+  bool ok = (ph == known_result);
+
+  print_constraints(ph, "*** ph.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test12() {
+  Variable x(0);
+  Variable y(1);
+  C_Polyhedron ph(2);
+  ph.add_constraint(x + 1024 == 8*y);
+
+  print_constraints(ph, "*** ph ***");
+
+  Variables_Set vars(x, y);
+
+  Constraint_System cs;
+  cs.insert(x <= y);
+
+  ph.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS, &cs, 32, false);
+
+  C_Polyhedron known_result(2);
+  known_result.add_constraint(x >= 0);
+  known_result.add_constraint(y <= 255);
+  known_result.add_constraint(x <= y);
+
+  bool ok = (ph == known_result);
+
+  print_constraints(ph, "*** ph.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test13() {
+  Variable x(0);
+  Variable y(1);
+  C_Polyhedron ph(2);
+  ph.add_constraint(x >= 224);
+  ph.add_constraint(x-y <= 160);
+  ph.add_constraint(x+y <= 416);
+
+  print_constraints(ph, "*** ph ***");
+
+  Variables_Set vars(x, y);
+
+  ph.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS);
+
+  C_Polyhedron known_result(2);
+  known_result.add_constraint(x >= 0);
+  known_result.add_constraint(x <= 255);
+  known_result.add_constraint(+x-y <= 160);
+  known_result.add_constraint(+x+y <= 416);
+  known_result.add_constraint(x + 7*y >= 672);
+  known_result.add_constraint(x - 7*y >= -1120);
+
+  bool ok = (ph == known_result);
+
+  print_constraints(ph, "*** ph.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test14() {
+  Variable x(0);
+  Variable y(1);
+  C_Polyhedron ph(2);
+  ph.add_constraint(x >= 224);
+  ph.add_constraint(x-y <= 160);
+  ph.add_constraint(x+y <= 416);
+
+  print_constraints(ph, "*** ph ***");
+
+  Variables_Set vars(x, y);
+
+  Constraint_System cs;
+  cs.insert(x <= y);
+
+  ph.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS, &cs);
+
+  C_Polyhedron known_result(2);
+  known_result.add_constraint(x >= 0);
+  known_result.add_constraint(y >= 96);
+  known_result.add_constraint(-x+y >= 96);
+  known_result.add_constraint(+x+y <= 160);
+
+  bool ok = (ph == known_result);
+
+  print_constraints(ph, "*** ph.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test15() {
+  C_Polyhedron ph(1);
+  print_constraints(ph, "*** ph ***");
+
+  Variables_Set vars;
+
+  Variable x(0);
+  Constraint_System cs;
+  cs.insert(x == 10);
+
+  try {
+    // This is an invalid use of wrap_assign(): since `vars' is empty,
+    // `cs' can only contain 0-dimensional constraints.
+    ph.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS, &cs);
+  }
+  catch (std::invalid_argument& e) {
+    nout << "invalid_argument: " << e.what() << endl << endl;
+    return true;
+  }
+  catch (...) {
+  }
+  return false;
+}
+
+bool
+test16() {
+  C_Polyhedron ph(1);
+  print_constraints(ph, "*** ph ***");
+
+  Variables_Set vars;
+
+  Variable x(0);
+  Constraint_System cs;
+  cs.insert(Linear_Expression(0) == 1);
+  cs.insert(Linear_Expression(0) == 0);
+
+  try {
+    // This is a valid use of wrap_assign(): `vars' is empty,
+    // but `cs' only contains 0-dimensional constraints.
+    ph.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS, &cs);
+  }
+  catch (std::invalid_argument& e) {
+    nout << "unexpected exception thrown: " << e.what() << endl << endl;
+    return false;
+  }
+  catch (...) {
+    return false;
+  }
+
+  return ph.is_empty();
+}
+
+bool
+test17() {
+  C_Polyhedron ph(1);
+  print_constraints(ph, "*** ph ***");
+
+  Variables_Set vars;
+
+  Variable x(0);
+  Constraint_System cs;
+  cs.insert(Linear_Expression(0) == 0);
+
+  try {
+    // This is a valid use of wrap_assign(): `vars' is empty,
+    // but `cs' only contains 0-dimensional constraints.
+    ph.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS, &cs);
+  }
+  catch (std::invalid_argument& e) {
+    nout << "unexpected exception thrown: " << e.what() << endl << endl;
+    return false;
+  }
+  catch (...) {
+    return false;
+  }
+
+  return ph.is_universe();
+}
+
+bool
+test18() {
+  C_Polyhedron ph(1);
+  print_constraints(ph, "*** ph ***");
+
+  Variable x(0);
+  Variable y(1);
+  Variables_Set vars(x, y);
+
+  Constraint_System cs;
+  cs.insert(x == 10);
+
+  try {
+    // This is an invalid use of wrap_assign(): the space dimension
+    // of `vars' is higher than the space dimension of `ph'.
+    ph.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS, &cs);
+  }
+  catch (std::invalid_argument& e) {
+    nout << "invalid_argument: " << e.what() << endl << endl;
+    return true;
+  }
+  catch (...) {
+  }
+  return false;
+}
+
+bool
+test19() {
+  Variable x(0);
+  Variable y(1);
+
+  C_Polyhedron ph(2);
+  ph.add_constraint(x == 256);
+  ph.add_constraint(y == 256 + 256 + 1);
+
+  print_constraints(ph, "*** ph ***");
+
+  Variables_Set vars(x, y);
+
+  Constraint_System cs;
+  cs.insert(x + 1 == y);
+
+  ph.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS, &cs);
+
+  C_Polyhedron known_result(2);
+  known_result.add_constraint(x == 0);
+  known_result.add_constraint(y == 1);
+
+  bool ok = (ph == known_result);
+
+  print_constraints(ph, "*** ph.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test20() {
+  Variable x(0);
+  Variable y(1);
+
+  C_Polyhedron ph(2);
+  ph.add_constraint(2*x >= 1);
+  ph.add_constraint(3*x <= 2);
+  ph.add_constraint(y >= 255);
+  ph.add_constraint(y <= 257);
+
+  print_constraints(ph, "*** ph ***");
+
+  Variables_Set vars(x, y);
+
+  Constraint_System cs;
+  cs.insert(x + y <= 100);
+
+  ph.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS, &cs, 16, false);
+
+  C_Polyhedron known_result(2);
+  known_result.add_constraint(2*x >= 1);
+  known_result.add_constraint(3*x <= 2);
+  known_result.add_constraint(y >= 0);
+  known_result.add_constraint(y <= 1);
+
+  bool ok = (ph == known_result);
+
+  print_constraints(ph, "*** ph.wrap_assign(...) ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST_F16(test01);
+  DO_TEST_F16(test02);
+  DO_TEST_F16A(test03);
+  DO_TEST_F8(test04);
+  DO_TEST_F16(test05);
+  DO_TEST_F16(test06);
+  DO_TEST_F8(test07);
+  DO_TEST_F8(test08);
+  DO_TEST_F16(test09);
+  DO_TEST_F16(test10);
+  DO_TEST_F8(test11);
+  DO_TEST_F8(test12);
+  DO_TEST_F16(test13);
+  DO_TEST_F8(test14);
+  DO_TEST(test15);
+  DO_TEST(test16);
+  DO_TEST(test17);
+  DO_TEST(test18);
+  DO_TEST_F8(test19);
+  DO_TEST_F8(test20);
+END_MAIN
diff --git a/tests/Polyhedron/wrap2.cc b/tests/Polyhedron/wrap2.cc
new file mode 100644
index 0000000..6dcba3e
--- /dev/null
+++ b/tests/Polyhedron/wrap2.cc
@@ -0,0 +1,98 @@
+/* Test Polyhedron::wrap_assign().
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://www.cs.unipr.it/ppl/ . */
+
+#include "ppl_test.hh"
+
+namespace {
+
+bool
+test01() {
+  Variable x(0);
+  Variable y(1);
+
+  C_Polyhedron ph(2);
+  ph.add_constraint(x >= 255);
+  ph.add_constraint(x <= 257);
+  ph.add_constraint(y >= 255);
+  ph.add_constraint(y <= 257);
+
+  print_constraints(ph, "*** ph ***");
+
+  Variables_Set vars(x, y);
+
+  Constraint_System cs;
+  cs.insert(x + y <= 100);
+
+  ph.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS, &cs, 16, false);
+
+  C_Polyhedron known_result(2);
+  known_result.add_constraint(x >= 0);
+  known_result.add_constraint(x <= 1);
+  known_result.add_constraint(y >= 0);
+  known_result.add_constraint(y <= 1);
+
+  bool ok = (ph == known_result);
+
+  print_constraints(ph, "*** ph.wrap_assign(...) ***");
+
+  return ok;
+}
+
+bool
+test02() {
+  Variable x(0);
+  Variable y(1);
+
+  C_Polyhedron ph(2);
+  ph.add_constraint(x >= 255);
+  ph.add_constraint(x <= 257);
+  ph.add_constraint(y >= 255);
+  ph.add_constraint(y <= 257);
+
+  print_constraints(ph, "*** ph ***");
+
+  Variables_Set vars(x, y);
+
+  Constraint_System cs;
+  cs.insert(x + y <= 100);
+
+  ph.wrap_assign(vars, BITS_8, UNSIGNED, OVERFLOW_WRAPS, &cs, 16, true);
+
+  C_Polyhedron known_result(2);
+  known_result.add_constraint(x >= 0);
+  known_result.add_constraint(y >= 0);
+  known_result.add_constraint(y <= 1);
+  known_result.add_constraint(x+y <= 100);
+
+  bool ok = (ph == known_result);
+
+  print_constraints(ph, "*** ph.wrap_assign(...) ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST_F8(test01);
+  DO_TEST_F16(test02);
+END_MAIN
diff --git a/tests/Polyhedron/writeconsys1.cc b/tests/Polyhedron/writeconsys1.cc
index fdcf5bf..bbd1320 100644
--- a/tests/Polyhedron/writeconsys1.cc
+++ b/tests/Polyhedron/writeconsys1.cc
@@ -1,5 +1,5 @@
 /* Test operator<<(std::ostream&, const Constraint_System&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/writegensys1.cc b/tests/Polyhedron/writegensys1.cc
index 7930580..a95debf 100644
--- a/tests/Polyhedron/writegensys1.cc
+++ b/tests/Polyhedron/writegensys1.cc
@@ -1,5 +1,5 @@
 /* Test operator<<(std::ostream&, const Generator_System&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/writepolyhedron1.cc b/tests/Polyhedron/writepolyhedron1.cc
index dc88f1d..6f71305 100644
--- a/tests/Polyhedron/writepolyhedron1.cc
+++ b/tests/Polyhedron/writepolyhedron1.cc
@@ -1,5 +1,5 @@
 /* Test operator<<(std::ostream&, const Polyhedron&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/writepolyhedron2.cc b/tests/Polyhedron/writepolyhedron2.cc
index 258a57f..6cd7a0c 100644
--- a/tests/Polyhedron/writepolyhedron2.cc
+++ b/tests/Polyhedron/writepolyhedron2.cc
@@ -1,5 +1,5 @@
 /* Test operator<<(std::ostream&, const Polyhedron&).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/writerelation1.cc b/tests/Polyhedron/writerelation1.cc
index 16fd12e..ffccc3e 100644
--- a/tests/Polyhedron/writerelation1.cc
+++ b/tests/Polyhedron/writerelation1.cc
@@ -1,6 +1,6 @@
 /* Test operator<<(std::ostream& s, const Poly_Con_Relation& r)
    and operator<<(std::ostream& s, const Poly_Gen_Relation& r).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/writevariable1.cc b/tests/Polyhedron/writevariable1.cc
index 3b05a0c..f7710cb 100644
--- a/tests/Polyhedron/writevariable1.cc
+++ b/tests/Polyhedron/writevariable1.cc
@@ -1,6 +1,6 @@
 /* Test operator<<(std::ostream& s, Variable v)
    and the related machinery.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Powerset/Makefile.am b/tests/Powerset/Makefile.am
index 076811e..c639773 100644
--- a/tests/Powerset/Makefile.am
+++ b/tests/Powerset/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
diff --git a/tests/Powerset/Makefile.in b/tests/Powerset/Makefile.in
index 1ea3f23..bad8d38 100644
--- a/tests/Powerset/Makefile.in
+++ b/tests/Powerset/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -38,8 +39,9 @@
 # site: http://www.cs.unipr.it/ppl/ .
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -82,6 +84,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -103,12 +106,13 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 am__EXEEXT_1 = addcongruences1$(EXEEXT) addconstraints1$(EXEEXT) \
 	affinedimension1$(EXEEXT) affineimage1$(EXEEXT) \
 	affinepreimage1$(EXEEXT) bounded1$(EXEEXT) bounds1$(EXEEXT) \
@@ -132,6 +136,9 @@ addcongruences1_LDADD = $(LDADD)
 addcongruences1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
 am_addconstraints1_OBJECTS = addconstraints1.$(OBJEXT)
 addconstraints1_OBJECTS = $(am_addconstraints1_OBJECTS)
 addconstraints1_LDADD = $(LDADD)
@@ -379,15 +386,29 @@ upperbound1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_$(V))
+am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+am__v_CXX_0 = @echo "  CXX   " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_$(V))
+am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(addcongruences1_SOURCES) $(addconstraints1_SOURCES) \
 	$(affinedimension1_SOURCES) $(affineimage1_SOURCES) \
 	$(affinepreimage1_SOURCES) $(bounded1_SOURCES) \
@@ -426,9 +447,12 @@ DIST_SOURCES = $(addcongruences1_SOURCES) $(addconstraints1_SOURCES) \
 	$(upperbound1_SOURCES)
 ETAGS = etags
 CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -475,6 +499,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -492,8 +518,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -501,6 +537,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -517,12 +554,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -565,11 +605,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -599,6 +637,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -606,6 +645,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 @VALGRIND_TESTS_ENABLED_FALSE at CHECKER = 
 @VALGRIND_TESTS_ENABLED_TRUE at CHECKER = \
 @VALGRIND_TESTS_ENABLED_TRUE@$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
@@ -679,14 +719,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  tests/Powerset/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  tests/Powerset/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/Powerset/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign tests/Powerset/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -704,136 +744,139 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 clean-checkPROGRAMS:
-	@list='$(check_PROGRAMS)'; for p in $$list; do \
-	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  echo " rm -f $$p $$f"; \
-	  rm -f $$p $$f ; \
-	done
+	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
 addcongruences1$(EXEEXT): $(addcongruences1_OBJECTS) $(addcongruences1_DEPENDENCIES) 
 	@rm -f addcongruences1$(EXEEXT)
-	$(CXXLINK) $(addcongruences1_OBJECTS) $(addcongruences1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(addcongruences1_OBJECTS) $(addcongruences1_LDADD) $(LIBS)
 addconstraints1$(EXEEXT): $(addconstraints1_OBJECTS) $(addconstraints1_DEPENDENCIES) 
 	@rm -f addconstraints1$(EXEEXT)
-	$(CXXLINK) $(addconstraints1_OBJECTS) $(addconstraints1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(addconstraints1_OBJECTS) $(addconstraints1_LDADD) $(LIBS)
 affinedimension1$(EXEEXT): $(affinedimension1_OBJECTS) $(affinedimension1_DEPENDENCIES) 
 	@rm -f affinedimension1$(EXEEXT)
-	$(CXXLINK) $(affinedimension1_OBJECTS) $(affinedimension1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(affinedimension1_OBJECTS) $(affinedimension1_LDADD) $(LIBS)
 affineimage1$(EXEEXT): $(affineimage1_OBJECTS) $(affineimage1_DEPENDENCIES) 
 	@rm -f affineimage1$(EXEEXT)
-	$(CXXLINK) $(affineimage1_OBJECTS) $(affineimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(affineimage1_OBJECTS) $(affineimage1_LDADD) $(LIBS)
 affinepreimage1$(EXEEXT): $(affinepreimage1_OBJECTS) $(affinepreimage1_DEPENDENCIES) 
 	@rm -f affinepreimage1$(EXEEXT)
-	$(CXXLINK) $(affinepreimage1_OBJECTS) $(affinepreimage1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(affinepreimage1_OBJECTS) $(affinepreimage1_LDADD) $(LIBS)
 bounded1$(EXEEXT): $(bounded1_OBJECTS) $(bounded1_DEPENDENCIES) 
 	@rm -f bounded1$(EXEEXT)
-	$(CXXLINK) $(bounded1_OBJECTS) $(bounded1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(bounded1_OBJECTS) $(bounded1_LDADD) $(LIBS)
 bounds1$(EXEEXT): $(bounds1_OBJECTS) $(bounds1_DEPENDENCIES) 
 	@rm -f bounds1$(EXEEXT)
-	$(CXXLINK) $(bounds1_OBJECTS) $(bounds1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(bounds1_OBJECTS) $(bounds1_LDADD) $(LIBS)
 closed1$(EXEEXT): $(closed1_OBJECTS) $(closed1_DEPENDENCIES) 
 	@rm -f closed1$(EXEEXT)
-	$(CXXLINK) $(closed1_OBJECTS) $(closed1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(closed1_OBJECTS) $(closed1_LDADD) $(LIBS)
 closure1$(EXEEXT): $(closure1_OBJECTS) $(closure1_DEPENDENCIES) 
 	@rm -f closure1$(EXEEXT)
-	$(CXXLINK) $(closure1_OBJECTS) $(closure1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(closure1_OBJECTS) $(closure1_LDADD) $(LIBS)
 collapse1$(EXEEXT): $(collapse1_OBJECTS) $(collapse1_DEPENDENCIES) 
 	@rm -f collapse1$(EXEEXT)
-	$(CXXLINK) $(collapse1_OBJECTS) $(collapse1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(collapse1_OBJECTS) $(collapse1_LDADD) $(LIBS)
 concatenate1$(EXEEXT): $(concatenate1_OBJECTS) $(concatenate1_DEPENDENCIES) 
 	@rm -f concatenate1$(EXEEXT)
-	$(CXXLINK) $(concatenate1_OBJECTS) $(concatenate1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(concatenate1_OBJECTS) $(concatenate1_LDADD) $(LIBS)
 contains1$(EXEEXT): $(contains1_OBJECTS) $(contains1_DEPENDENCIES) 
 	@rm -f contains1$(EXEEXT)
-	$(CXXLINK) $(contains1_OBJECTS) $(contains1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(contains1_OBJECTS) $(contains1_LDADD) $(LIBS)
 containsintegerpoint1$(EXEEXT): $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_DEPENDENCIES) 
 	@rm -f containsintegerpoint1$(EXEEXT)
-	$(CXXLINK) $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_LDADD) $(LIBS)
 difference1$(EXEEXT): $(difference1_OBJECTS) $(difference1_DEPENDENCIES) 
 	@rm -f difference1$(EXEEXT)
-	$(CXXLINK) $(difference1_OBJECTS) $(difference1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(difference1_OBJECTS) $(difference1_LDADD) $(LIBS)
 discrete1$(EXEEXT): $(discrete1_OBJECTS) $(discrete1_DEPENDENCIES) 
 	@rm -f discrete1$(EXEEXT)
-	$(CXXLINK) $(discrete1_OBJECTS) $(discrete1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(discrete1_OBJECTS) $(discrete1_LDADD) $(LIBS)
 disjoint1$(EXEEXT): $(disjoint1_OBJECTS) $(disjoint1_DEPENDENCIES) 
 	@rm -f disjoint1$(EXEEXT)
-	$(CXXLINK) $(disjoint1_OBJECTS) $(disjoint1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(disjoint1_OBJECTS) $(disjoint1_LDADD) $(LIBS)
 disjunct1$(EXEEXT): $(disjunct1_OBJECTS) $(disjunct1_DEPENDENCIES) 
 	@rm -f disjunct1$(EXEEXT)
-	$(CXXLINK) $(disjunct1_OBJECTS) $(disjunct1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(disjunct1_OBJECTS) $(disjunct1_LDADD) $(LIBS)
 empty1$(EXEEXT): $(empty1_OBJECTS) $(empty1_DEPENDENCIES) 
 	@rm -f empty1$(EXEEXT)
-	$(CXXLINK) $(empty1_OBJECTS) $(empty1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(empty1_OBJECTS) $(empty1_LDADD) $(LIBS)
 entails1$(EXEEXT): $(entails1_OBJECTS) $(entails1_DEPENDENCIES) 
 	@rm -f entails1$(EXEEXT)
-	$(CXXLINK) $(entails1_OBJECTS) $(entails1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(entails1_OBJECTS) $(entails1_LDADD) $(LIBS)
 equals1$(EXEEXT): $(equals1_OBJECTS) $(equals1_DEPENDENCIES) 
 	@rm -f equals1$(EXEEXT)
-	$(CXXLINK) $(equals1_OBJECTS) $(equals1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(equals1_OBJECTS) $(equals1_LDADD) $(LIBS)
 frombdshape1$(EXEEXT): $(frombdshape1_OBJECTS) $(frombdshape1_DEPENDENCIES) 
 	@rm -f frombdshape1$(EXEEXT)
-	$(CXXLINK) $(frombdshape1_OBJECTS) $(frombdshape1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(frombdshape1_OBJECTS) $(frombdshape1_LDADD) $(LIBS)
 frombox1$(EXEEXT): $(frombox1_OBJECTS) $(frombox1_DEPENDENCIES) 
 	@rm -f frombox1$(EXEEXT)
-	$(CXXLINK) $(frombox1_OBJECTS) $(frombox1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(frombox1_OBJECTS) $(frombox1_LDADD) $(LIBS)
 fromcongruences1$(EXEEXT): $(fromcongruences1_OBJECTS) $(fromcongruences1_DEPENDENCIES) 
 	@rm -f fromcongruences1$(EXEEXT)
-	$(CXXLINK) $(fromcongruences1_OBJECTS) $(fromcongruences1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(fromcongruences1_OBJECTS) $(fromcongruences1_LDADD) $(LIBS)
 fromconstraints1$(EXEEXT): $(fromconstraints1_OBJECTS) $(fromconstraints1_DEPENDENCIES) 
 	@rm -f fromconstraints1$(EXEEXT)
-	$(CXXLINK) $(fromconstraints1_OBJECTS) $(fromconstraints1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(fromconstraints1_OBJECTS) $(fromconstraints1_LDADD) $(LIBS)
 fromgrid1$(EXEEXT): $(fromgrid1_OBJECTS) $(fromgrid1_DEPENDENCIES) 
 	@rm -f fromgrid1$(EXEEXT)
-	$(CXXLINK) $(fromgrid1_OBJECTS) $(fromgrid1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(fromgrid1_OBJECTS) $(fromgrid1_LDADD) $(LIBS)
 fromoctagonalshape1$(EXEEXT): $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_DEPENDENCIES) 
 	@rm -f fromoctagonalshape1$(EXEEXT)
-	$(CXXLINK) $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_LDADD) $(LIBS)
 frompolyhedron1$(EXEEXT): $(frompolyhedron1_OBJECTS) $(frompolyhedron1_DEPENDENCIES) 
 	@rm -f frompolyhedron1$(EXEEXT)
-	$(CXXLINK) $(frompolyhedron1_OBJECTS) $(frompolyhedron1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(frompolyhedron1_OBJECTS) $(frompolyhedron1_LDADD) $(LIBS)
 fromspacedimension1$(EXEEXT): $(fromspacedimension1_OBJECTS) $(fromspacedimension1_DEPENDENCIES) 
 	@rm -f fromspacedimension1$(EXEEXT)
-	$(CXXLINK) $(fromspacedimension1_OBJECTS) $(fromspacedimension1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(fromspacedimension1_OBJECTS) $(fromspacedimension1_LDADD) $(LIBS)
 intersection1$(EXEEXT): $(intersection1_OBJECTS) $(intersection1_DEPENDENCIES) 
 	@rm -f intersection1$(EXEEXT)
-	$(CXXLINK) $(intersection1_OBJECTS) $(intersection1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(intersection1_OBJECTS) $(intersection1_LDADD) $(LIBS)
 maxmin1$(EXEEXT): $(maxmin1_OBJECTS) $(maxmin1_DEPENDENCIES) 
 	@rm -f maxmin1$(EXEEXT)
-	$(CXXLINK) $(maxmin1_OBJECTS) $(maxmin1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(maxmin1_OBJECTS) $(maxmin1_LDADD) $(LIBS)
 meet1$(EXEEXT): $(meet1_OBJECTS) $(meet1_DEPENDENCIES) 
 	@rm -f meet1$(EXEEXT)
-	$(CXXLINK) $(meet1_OBJECTS) $(meet1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(meet1_OBJECTS) $(meet1_LDADD) $(LIBS)
 membytes1$(EXEEXT): $(membytes1_OBJECTS) $(membytes1_DEPENDENCIES) 
 	@rm -f membytes1$(EXEEXT)
-	$(CXXLINK) $(membytes1_OBJECTS) $(membytes1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(membytes1_OBJECTS) $(membytes1_LDADD) $(LIBS)
 powerset1$(EXEEXT): $(powerset1_OBJECTS) $(powerset1_DEPENDENCIES) 
 	@rm -f powerset1$(EXEEXT)
-	$(CXXLINK) $(powerset1_OBJECTS) $(powerset1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(powerset1_OBJECTS) $(powerset1_LDADD) $(LIBS)
 reduce1$(EXEEXT): $(reduce1_OBJECTS) $(reduce1_DEPENDENCIES) 
 	@rm -f reduce1$(EXEEXT)
-	$(CXXLINK) $(reduce1_OBJECTS) $(reduce1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(reduce1_OBJECTS) $(reduce1_LDADD) $(LIBS)
 refinewith1$(EXEEXT): $(refinewith1_OBJECTS) $(refinewith1_DEPENDENCIES) 
 	@rm -f refinewith1$(EXEEXT)
-	$(CXXLINK) $(refinewith1_OBJECTS) $(refinewith1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(refinewith1_OBJECTS) $(refinewith1_LDADD) $(LIBS)
 relationwith1$(EXEEXT): $(relationwith1_OBJECTS) $(relationwith1_DEPENDENCIES) 
 	@rm -f relationwith1$(EXEEXT)
-	$(CXXLINK) $(relationwith1_OBJECTS) $(relationwith1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(relationwith1_OBJECTS) $(relationwith1_LDADD) $(LIBS)
 simplifyusingcontext1$(EXEEXT): $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_DEPENDENCIES) 
 	@rm -f simplifyusingcontext1$(EXEEXT)
-	$(CXXLINK) $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_LDADD) $(LIBS)
 size1$(EXEEXT): $(size1_OBJECTS) $(size1_DEPENDENCIES) 
 	@rm -f size1$(EXEEXT)
-	$(CXXLINK) $(size1_OBJECTS) $(size1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(size1_OBJECTS) $(size1_LDADD) $(LIBS)
 spacedims1$(EXEEXT): $(spacedims1_OBJECTS) $(spacedims1_DEPENDENCIES) 
 	@rm -f spacedims1$(EXEEXT)
-	$(CXXLINK) $(spacedims1_OBJECTS) $(spacedims1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(spacedims1_OBJECTS) $(spacedims1_LDADD) $(LIBS)
 universe1$(EXEEXT): $(universe1_OBJECTS) $(universe1_DEPENDENCIES) 
 	@rm -f universe1$(EXEEXT)
-	$(CXXLINK) $(universe1_OBJECTS) $(universe1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(universe1_OBJECTS) $(universe1_LDADD) $(LIBS)
 upperbound1$(EXEEXT): $(upperbound1_OBJECTS) $(upperbound1_DEPENDENCIES) 
 	@rm -f upperbound1$(EXEEXT)
-	$(CXXLINK) $(upperbound1_OBJECTS) $(upperbound1_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(upperbound1_OBJECTS) $(upperbound1_LDADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -884,22 +927,25 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/upperbound1.Po at am__quote@
 
 .cc.o:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
- at am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
@@ -915,14 +961,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
@@ -930,37 +976,43 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
 check-TESTS: $(TESTS)
-	@failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[	 ]'; \
+	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
 	srcdir=$(srcdir); export srcdir; \
 	list=' $(TESTS) '; \
+	$(am__tty_colors); \
 	if test -n "$$list"; then \
 	  for tst in $$list; do \
 	    if test -f ./$$tst; then dir=./; \
@@ -969,49 +1021,63 @@ check-TESTS: $(TESTS)
 	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
 	      all=`expr $$all + 1`; \
 	      case " $(XFAIL_TESTS) " in \
-	      *$$ws$$tst$$ws*) \
+	      *[\ \	]$$tst[\ \	]*) \
 		xpass=`expr $$xpass + 1`; \
 		failed=`expr $$failed + 1`; \
-		echo "XPASS: $$tst"; \
+		col=$$red; res=XPASS; \
 	      ;; \
 	      *) \
-		echo "PASS: $$tst"; \
+		col=$$grn; res=PASS; \
 	      ;; \
 	      esac; \
 	    elif test $$? -ne 77; then \
 	      all=`expr $$all + 1`; \
 	      case " $(XFAIL_TESTS) " in \
-	      *$$ws$$tst$$ws*) \
+	      *[\ \	]$$tst[\ \	]*) \
 		xfail=`expr $$xfail + 1`; \
-		echo "XFAIL: $$tst"; \
+		col=$$lgn; res=XFAIL; \
 	      ;; \
 	      *) \
 		failed=`expr $$failed + 1`; \
-		echo "FAIL: $$tst"; \
+		col=$$red; res=FAIL; \
 	      ;; \
 	      esac; \
 	    else \
 	      skip=`expr $$skip + 1`; \
-	      echo "SKIP: $$tst"; \
+	      col=$$blu; res=SKIP; \
 	    fi; \
+	    echo "$${col}$$res$${std}: $$tst"; \
 	  done; \
+	  if test "$$all" -eq 1; then \
+	    tests="test"; \
+	    All=""; \
+	  else \
+	    tests="tests"; \
+	    All="All "; \
+	  fi; \
 	  if test "$$failed" -eq 0; then \
 	    if test "$$xfail" -eq 0; then \
-	      banner="All $$all tests passed"; \
+	      banner="$$All$$all $$tests passed"; \
 	    else \
-	      banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
+	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
 	    fi; \
 	  else \
 	    if test "$$xpass" -eq 0; then \
-	      banner="$$failed of $$all tests failed"; \
+	      banner="$$failed of $$all $$tests failed"; \
 	    else \
-	      banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
+	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
 	    fi; \
 	  fi; \
 	  dashes="$$banner"; \
 	  skipped=""; \
 	  if test "$$skip" -ne 0; then \
-	    skipped="($$skip tests were not run)"; \
+	    if test "$$skip" -eq 1; then \
+	      skipped="($$skip test was not run)"; \
+	    else \
+	      skipped="($$skip tests were not run)"; \
+	    fi; \
 	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
 	      dashes="$$skipped"; \
 	  fi; \
@@ -1022,11 +1088,15 @@ check-TESTS: $(TESTS)
 	      dashes="$$report"; \
 	  fi; \
 	  dashes=`echo "$$dashes" | sed s/./=/g`; \
-	  echo "$$dashes"; \
+	  if test "$$failed" -eq 0; then \
+	    echo "$$grn$$dashes"; \
+	  else \
+	    echo "$$red$$dashes"; \
+	  fi; \
 	  echo "$$banner"; \
 	  test -z "$$skipped" || echo "$$skipped"; \
 	  test -z "$$report" || echo "$$report"; \
-	  echo "$$dashes"; \
+	  echo "$$dashes$$std"; \
 	  test "$$failed" -eq 0; \
 	else :; fi
 
@@ -1046,13 +1116,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -1082,6 +1156,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -1103,6 +1178,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -1111,18 +1188,28 @@ install-data-am:
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am:
 
 install-html: install-html-am
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-am
 
+install-pdf-am:
+
 install-ps: install-ps-am
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -1145,7 +1232,7 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: install-am install-strip
+.MAKE: check-am install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
 	clean-checkPROGRAMS clean-generic clean-libtool ctags \
@@ -1170,6 +1257,7 @@ $(top_builddir)/tests/libppl_tests.a:
 
 $(top_builddir)/src/libppl.la:
 	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libppl.la
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/tests/Powerset/addcongruences1.cc b/tests/Powerset/addcongruences1.cc
index 6729156..77d2071 100644
--- a/tests/Powerset/addcongruences1.cc
+++ b/tests/Powerset/addcongruences1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::add_congruence().
         Pointset_Powerset<PH>::add_congruences().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Powerset/addconstraints1.cc b/tests/Powerset/addconstraints1.cc
index f324447..e9f5d3a 100644
--- a/tests/Powerset/addconstraints1.cc
+++ b/tests/Powerset/addconstraints1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::add_constraint().
         Pointset_Powerset<PH>::add_constraints().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -34,7 +34,8 @@ test01() {
   ps.add_disjunct(C_Polyhedron(1));
   ps.add_constraint(c);
   Constraint c1 = (x >= 1);
-  bool ok = ps.add_constraint_and_minimize(c1);
+  ps.add_constraint(c1);
+  bool ok = !ps.is_empty();
 
   return ok && ps.OK();
 }
@@ -50,9 +51,11 @@ test02() {
   ps.add_disjunct(C_Polyhedron(1));
   ps.add_constraints(cs);
   cs.insert(x <= 3);
-  bool ok = ps.add_constraints_and_minimize(cs);
+  ps.add_constraints(cs);
+  bool ok = !ps.is_empty();
   cs.insert(x <= 2);
-  ok &= !ps.add_constraints_and_minimize(cs);
+  ps.add_constraints(cs);
+  ok &= ps.is_empty();
 
   return ok && ps.OK();
 }
diff --git a/tests/Powerset/affinedimension1.cc b/tests/Powerset/affinedimension1.cc
index 08f3c47..4bb19e7 100644
--- a/tests/Powerset/affinedimension1.cc
+++ b/tests/Powerset/affinedimension1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::affine_dimension().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -53,9 +53,9 @@ test01() {
   bool ok = (d == 3);
 
   Pointset_Powerset<C_Polyhedron>::const_iterator i = c_ps.begin();
-  C_Polyhedron phi = i->element();
+  C_Polyhedron phi = i->pointset();
   i++;
-  C_Polyhedron phi1 = i->element();
+  C_Polyhedron phi1 = i->pointset();
 
   print_constraints(phi, "*** phi ***");
   print_constraints(phi1, "*** phi1 ***");
@@ -67,9 +67,9 @@ test01() {
   bool ok1 = (d1 == 2);
 
   Pointset_Powerset<C_Polyhedron>::const_iterator j = c_ps.begin();
-  C_Polyhedron phj = j->element();
+  C_Polyhedron phj = j->pointset();
   j++;
-  C_Polyhedron phj1 = j->element();
+  C_Polyhedron phj1 = j->pointset();
 
   print_constraints(phj, "*** phj ***");
   print_constraints(phj1, "*** phj1 ***");
@@ -106,9 +106,9 @@ test02() {
   bool ok = (d == 3);
 
   Pointset_Powerset<NNC_Polyhedron>::const_iterator i = c_ps.begin();
-  NNC_Polyhedron phi = i->element();
+  NNC_Polyhedron phi = i->pointset();
   i++;
-  NNC_Polyhedron phi1 = i->element();
+  NNC_Polyhedron phi1 = i->pointset();
 
   print_constraints(phi, "*** phi ***");
   print_constraints(phi1, "*** phi1 ***");
@@ -120,9 +120,9 @@ test02() {
   bool ok1 = (d1 == 2);
 
   Pointset_Powerset<NNC_Polyhedron>::const_iterator j = c_ps.begin();
-  NNC_Polyhedron phj = j->element();
+  NNC_Polyhedron phj = j->pointset();
   j++;
-  NNC_Polyhedron phj1 = j->element();
+  NNC_Polyhedron phj1 = j->pointset();
 
   print_constraints(phj, "*** phj ***");
   print_constraints(phj1, "*** phj1 ***");
diff --git a/tests/Powerset/affineimage1.cc b/tests/Powerset/affineimage1.cc
index 28b4789..8d560d7 100644
--- a/tests/Powerset/affineimage1.cc
+++ b/tests/Powerset/affineimage1.cc
@@ -1,7 +1,7 @@
 /* Test Pointset_Powerset<PH>::affine_image(),
         Pointset_Powerset<PH>::generalized_affine_image(),
         Pointset_Powerset<PH>::bounded_affine_image().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -52,9 +52,9 @@ test01() {
   ph1.affine_image(x, x + y);
 
   Pointset_Powerset<C_Polyhedron>::const_iterator i = c_ps.begin();
-  C_Polyhedron phi = i->element();
+  C_Polyhedron phi = i->pointset();
   i++;
-  C_Polyhedron phi1 = i->element();
+  C_Polyhedron phi1 = i->pointset();
 
   bool ok = phi.OK() && phi == ph;
 
@@ -164,9 +164,9 @@ test04() {
   ph1.generalized_affine_image(x - y, GREATER_OR_EQUAL, Linear_Expression(3));
 
   Pointset_Powerset<C_Polyhedron>::const_iterator i = c_ps.begin();
-  C_Polyhedron phi = i->element();
+  C_Polyhedron phi = i->pointset();
   i++;
-  C_Polyhedron phi1 = i->element();
+  C_Polyhedron phi1 = i->pointset();
 
   bool ok = phi.OK() && phi == ph;
 
@@ -211,9 +211,9 @@ test05() {
   ph1.bounded_affine_image(y, Linear_Expression(0), 2*y, 5);
 
   Pointset_Powerset<C_Polyhedron>::const_iterator i = c_ps.begin();
-  C_Polyhedron phi = i->element();
+  C_Polyhedron phi = i->pointset();
   i++;
-  C_Polyhedron phi1 = i->element();
+  C_Polyhedron phi1 = i->pointset();
 
   bool ok = phi.OK() && phi == ph;
 
diff --git a/tests/Powerset/affinepreimage1.cc b/tests/Powerset/affinepreimage1.cc
index f2da7f9..0230cd9 100644
--- a/tests/Powerset/affinepreimage1.cc
+++ b/tests/Powerset/affinepreimage1.cc
@@ -1,7 +1,7 @@
 /* Test Pointset_Powerset<PH>::affine_preimage(),
         Pointset_Powerset<PH>::generalized_affine_preimage(),
         Pointset_Powerset<PH>::bounded_affine_preimage().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -52,9 +52,9 @@ test01() {
   ph1.affine_preimage(x, x + y);
 
   Pointset_Powerset<C_Polyhedron>::const_iterator i = c_ps.begin();
-  C_Polyhedron phi = i->element();
+  C_Polyhedron phi = i->pointset();
   i++;
-  C_Polyhedron phi1 = i->element();
+  C_Polyhedron phi1 = i->pointset();
 
   bool ok = phi.OK() && phi == ph;
 
@@ -98,9 +98,9 @@ test02() {
   ph1.generalized_affine_preimage(2*y, LESS_OR_EQUAL, 4*y);
 
   Pointset_Powerset<C_Polyhedron>::const_iterator i = c_ps.begin();
-  C_Polyhedron phi = i->element();
+  C_Polyhedron phi = i->pointset();
   i++;
-  C_Polyhedron phi1 = i->element();
+  C_Polyhedron phi1 = i->pointset();
 
   bool ok = phi.OK() && phi == ph;
 
@@ -145,9 +145,9 @@ test03() {
   ph1.bounded_affine_preimage(y, x, 2*y, 5);
 
   Pointset_Powerset<C_Polyhedron>::const_iterator i = c_ps.begin();
-  C_Polyhedron phi = i->element();
+  C_Polyhedron phi = i->pointset();
   i++;
-  C_Polyhedron phi1 = i->element();
+  C_Polyhedron phi1 = i->pointset();
 
   bool ok = phi.OK() && phi == ph;
 
diff --git a/tests/Powerset/bounded1.cc b/tests/Powerset/bounded1.cc
index bb34cf6..6218043 100644
--- a/tests/Powerset/bounded1.cc
+++ b/tests/Powerset/bounded1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::is_bounded().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Powerset/bounds1.cc b/tests/Powerset/bounds1.cc
index 6fe5b6e..3cf8923 100644
--- a/tests/Powerset/bounds1.cc
+++ b/tests/Powerset/bounds1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::bounds_from_above(),
         Pointset_Powerset<PH>::bounds_from_below().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Powerset/closed1.cc b/tests/Powerset/closed1.cc
index 5638391..4f1ce7a 100644
--- a/tests/Powerset/closed1.cc
+++ b/tests/Powerset/closed1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::is_topologically_closed().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Powerset/closure1.cc b/tests/Powerset/closure1.cc
index 11ec938..ea1685a 100644
--- a/tests/Powerset/closure1.cc
+++ b/tests/Powerset/closure1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::topological_closure_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Powerset/collapse1.cc b/tests/Powerset/collapse1.cc
index 63b0ae1..ce25abf 100644
--- a/tests/Powerset/collapse1.cc
+++ b/tests/Powerset/collapse1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::collapse().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Powerset/concatenate1.cc b/tests/Powerset/concatenate1.cc
index 33479d5..d279140 100644
--- a/tests/Powerset/concatenate1.cc
+++ b/tests/Powerset/concatenate1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::concatenate().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Powerset/contains1.cc b/tests/Powerset/contains1.cc
index 8aa4de1..652acaf 100644
--- a/tests/Powerset/contains1.cc
+++ b/tests/Powerset/contains1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::contains(),
         Pointset_Powerset<PH>::strictly_contains().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Powerset/containsintegerpoint1.cc b/tests/Powerset/containsintegerpoint1.cc
index dab4cd6..787ba50 100644
--- a/tests/Powerset/containsintegerpoint1.cc
+++ b/tests/Powerset/containsintegerpoint1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::contains_integer_point(),
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Powerset/difference1.cc b/tests/Powerset/difference1.cc
index 8f14491..5b16734 100644
--- a/tests/Powerset/difference1.cc
+++ b/tests/Powerset/difference1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::difference_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -120,8 +120,8 @@ test03() {
   for (Pointset_Powerset<C_Polyhedron>::const_iterator
 	 i = intersection.begin(), in_end = intersection.end();
        i != in_end; ++i)
-    if (i->element().affine_dimension() > 1) {
-      nout << "intersection contains " << i->element() << "," << endl
+    if (i->pointset().affine_dimension() > 1) {
+      nout << "intersection contains " << i->pointset() << "," << endl
 	   << "which is of affine dimension greater than 1" << endl;
       ok1 = false;
     }
diff --git a/tests/Powerset/discrete1.cc b/tests/Powerset/discrete1.cc
index 91e83bd..22a18e5 100644
--- a/tests/Powerset/discrete1.cc
+++ b/tests/Powerset/discrete1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::is_discrete().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Powerset/disjoint1.cc b/tests/Powerset/disjoint1.cc
index 2b69ffc..050ebaa 100644
--- a/tests/Powerset/disjoint1.cc
+++ b/tests/Powerset/disjoint1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::is_disjoint_from().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Powerset/disjunct1.cc b/tests/Powerset/disjunct1.cc
index 8eea208..d3f040e 100644
--- a/tests/Powerset/disjunct1.cc
+++ b/tests/Powerset/disjunct1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::add_disjunct().
         Pointset_Powerset<PH>::drop_disjunct().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -47,10 +47,10 @@ test01() {
   Pointset_Powerset<NNC_Polyhedron> nnc_ps(c_ps);
 
   Pointset_Powerset<C_Polyhedron>::const_iterator c_i = c_ps.begin();
-  C_Polyhedron c_phi = c_i->element();
+  C_Polyhedron c_phi = c_i->pointset();
   print_constraints(c_phi, "*** c_phi ***");
   Pointset_Powerset<NNC_Polyhedron>::const_iterator nnc_i = nnc_ps.begin();
-  NNC_Polyhedron nnc_phi = nnc_i->element();
+  NNC_Polyhedron nnc_phi = nnc_i->pointset();
   print_constraints(nnc_phi, "*** nnc_phi ***");
 
   return c_ps.OK() && nnc_ps.OK();
@@ -76,10 +76,10 @@ test02() {
   Pointset_Powerset<C_Polyhedron> c_ps(nnc_ps);
 
   Pointset_Powerset<C_Polyhedron>::const_iterator c_i = c_ps.begin();
-  C_Polyhedron c_phi = c_i->element();
+  C_Polyhedron c_phi = c_i->pointset();
   print_constraints(c_phi, "*** c_phi ***");
   Pointset_Powerset<NNC_Polyhedron>::const_iterator nnc_i = nnc_ps.begin();
-  NNC_Polyhedron nnc_phi = nnc_i->element();
+  NNC_Polyhedron nnc_phi = nnc_i->pointset();
   print_constraints(nnc_phi, "*** nnc_phi ***");
 
   return nnc_ps.OK() && c_ps.OK();
@@ -133,9 +133,9 @@ test04() {
   c_ps.add_disjunct(ph1);
 
   Pointset_Powerset<C_Polyhedron>::const_iterator i = c_ps.begin();
-  C_Polyhedron phi = i->element();
+  C_Polyhedron phi = i->pointset();
   i++;
-  C_Polyhedron phi1 = i->element();
+  C_Polyhedron phi1 = i->pointset();
 
   bool ok = phi.OK() && phi == ph;
 
@@ -174,9 +174,9 @@ test05() {
   pps_box.add_disjunct(box1);
 
   Pointset_Powerset<TBox>::const_iterator i = pps_box.begin();
-  TBox pps_boxi = i->element();
+  TBox pps_boxi = i->pointset();
   i++;
-  TBox pps_boxi1 = i->element();
+  TBox pps_boxi1 = i->pointset();
 
   bool ok = pps_boxi.OK() && pps_boxi == box;
 
@@ -249,9 +249,9 @@ test07() {
   pps_box.add_disjunct(box1);
 
   Pointset_Powerset<TBox>::const_iterator i = pps_box.begin();
-  TBox pps_boxi = i->element();
+  TBox pps_boxi = i->pointset();
   i++;
-  TBox pps_boxi1 = i->element();
+  TBox pps_boxi1 = i->pointset();
 
   bool ok = pps_boxi.OK() && pps_boxi == box;
 
diff --git a/tests/Powerset/empty1.cc b/tests/Powerset/empty1.cc
index fa60538..0e4f6e0 100644
--- a/tests/Powerset/empty1.cc
+++ b/tests/Powerset/empty1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::is_empty(),
         Pointset_Powerset<PH>::empty().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Powerset/entails1.cc b/tests/Powerset/entails1.cc
index b1953d0..a49f574 100644
--- a/tests/Powerset/entails1.cc
+++ b/tests/Powerset/entails1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::definitely_entails().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Powerset/equals1.cc b/tests/Powerset/equals1.cc
index 9f74b56..4c1eaba 100644
--- a/tests/Powerset/equals1.cc
+++ b/tests/Powerset/equals1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::equals(),
         Pointset_Powerset<PH>::geometrically_equals().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Powerset/frombdshape1.cc b/tests/Powerset/frombdshape1.cc
index cfa896b..12baf7e 100644
--- a/tests/Powerset/frombdshape1.cc
+++ b/tests/Powerset/frombdshape1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::Pointset_Powerset(BD_Shape<T>),
    Pointset_Powerset<PH>::Pointset_Powerset(Pointset_Powerset(BD_Shape<T>)).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -46,7 +46,7 @@ test01() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<C_Polyhedron>::const_iterator i = pps.begin();
-  C_Polyhedron phi = i->element();
+  C_Polyhedron phi = i->pointset();
   print_constraints(phi, "*** phi ***");
 
   return ok;
@@ -94,7 +94,7 @@ test03() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<C_Polyhedron>::const_iterator j = pps.begin();
-  C_Polyhedron phj = j->element();
+  C_Polyhedron phj = j->pointset();
   print_constraints(phj, "*** pps disjunct ***");
 
   return ok;
@@ -120,10 +120,10 @@ test04() {
   bool ok = (pps1 == pps2);
 
   Pointset_Powerset<TBD_Shape>::const_iterator i = pps1.begin();
-  TBD_Shape bdsi = i->element();
+  TBD_Shape bdsi = i->pointset();
   print_constraints(bdsi, "*** bdsi ***");
   Pointset_Powerset<TBD_Shape>::const_iterator i2 = pps2.begin();
-  TBD_Shape bdsi2 = i2->element();
+  TBD_Shape bdsi2 = i2->pointset();
   print_constraints(bdsi2, "*** bdsi2 ***");
 
   return ok && pps1.OK();
@@ -171,7 +171,7 @@ test06() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<TBD_Shape>::const_iterator j = pps.begin();
-  TBD_Shape bdsj = j->element();
+  TBD_Shape bdsj = j->pointset();
   print_constraints(bdsj, "*** pps disjunct ***");
 
   return ok;
@@ -198,7 +198,7 @@ test07() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<TOctagonal_Shape>::const_iterator i = pps.begin();
-  TOctagonal_Shape osi = i->element();
+  TOctagonal_Shape osi = i->pointset();
   print_constraints(osi, "*** osi ***");
 
   return ok;
@@ -246,7 +246,7 @@ test09() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<TOctagonal_Shape>::const_iterator i_os = pps.begin();
-  TOctagonal_Shape osi = i_os->element();
+  TOctagonal_Shape osi = i_os->pointset();
   print_constraints(osi, "*** osi ***");
 
   return ok;
@@ -272,7 +272,7 @@ test10() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<TBox>::const_iterator i = pps.begin();
-  TBox phi = i->element();
+  TBox phi = i->pointset();
   print_constraints(phi, "*** phi ***");
 
   return ok;
@@ -320,7 +320,7 @@ test12() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<TBox>::const_iterator i_box = pps.begin();
-  TBox boxi = i_box->element();
+  TBox boxi = i_box->pointset();
   print_constraints(boxi, "*** boxi ***");
 
   return ok;
@@ -345,7 +345,7 @@ test13() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<Grid>::const_iterator i = pps.begin();
-  Grid phi = i->element();
+  Grid phi = i->pointset();
   print_congruences(phi, "*** phi ***");
 
   return ok;
@@ -384,7 +384,7 @@ test15() {
   Pointset_Powerset<TBD_Shape> pps_bd(bd, POLYNOMIAL_COMPLEXITY);
 
   Pointset_Powerset<TBD_Shape>::const_iterator i_bd = pps_bd.begin();
-  TBD_Shape bdi = i_bd->element();
+  TBD_Shape bdi = i_bd->pointset();
   print_constraints(bdi, "*** bdi ***");
 
   // The complexity should be ignored.
@@ -397,7 +397,7 @@ test15() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<Grid>::const_iterator i_gr = pps.begin();
-  Grid gri = i_gr->element();
+  Grid gri = i_gr->pointset();
   print_congruences(gri, "*** gri ***");
 
   return ok;
diff --git a/tests/Powerset/frombox1.cc b/tests/Powerset/frombox1.cc
index 2921678..6f112cc 100644
--- a/tests/Powerset/frombox1.cc
+++ b/tests/Powerset/frombox1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::Pointset_Powerset(Box<T>),
    Pointset_Powerset<PH>::Pointset_Powerset(Pointset_Powerset(Box<T>)).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -46,7 +46,7 @@ test01() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<C_Polyhedron>::const_iterator i = pps.begin();
-  C_Polyhedron phi = i->element();
+  C_Polyhedron phi = i->pointset();
   print_constraints(phi, "*** phi ***");
 
   return ok;
@@ -94,7 +94,7 @@ test03() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<C_Polyhedron>::const_iterator j = pps.begin();
-  C_Polyhedron phj = j->element();
+  C_Polyhedron phj = j->pointset();
   print_constraints(phj, "*** pps disjunct ***");
 
   return ok;
@@ -120,7 +120,7 @@ test04() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<TBD_Shape>::const_iterator i = pps.begin();
-  TBD_Shape bdsi = i->element();
+  TBD_Shape bdsi = i->pointset();
   print_constraints(bdsi, "*** bdsi ***");
 
   return ok;
@@ -167,7 +167,7 @@ test06() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<TBD_Shape>::const_iterator i_bds = pps.begin();
-  TBD_Shape bdsi = i_bds->element();
+  TBD_Shape bdsi = i_bds->pointset();
   print_constraints(bdsi, "*** bdsi ***");
 
   return ok;
@@ -193,7 +193,7 @@ test07() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<TOctagonal_Shape>::const_iterator i = pps.begin();
-  TOctagonal_Shape osi = i->element();
+  TOctagonal_Shape osi = i->pointset();
   print_constraints(osi, "*** osi ***");
 
   return ok;
@@ -240,7 +240,7 @@ test09() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<TOctagonal_Shape>::const_iterator i_os = pps.begin();
-  TOctagonal_Shape osi = i_os->element();
+  TOctagonal_Shape osi = i_os->pointset();
   print_constraints(osi, "*** osi ***");
 
   return ok;
@@ -266,10 +266,10 @@ test10() {
 
   print_constraints(box, "*** box ***");
   Pointset_Powerset<TBox>::const_iterator i = pps1.begin();
-  TBox boxi = i->element();
+  TBox boxi = i->pointset();
   print_constraints(boxi, "*** boxi ***");
   Pointset_Powerset<TBox>::const_iterator i2 = pps2.begin();
-  TBox boxi2 = i2->element();
+  TBox boxi2 = i2->pointset();
   print_constraints(boxi2, "*** boxi2 ***");
 
   return ok && pps1.OK();
@@ -317,7 +317,7 @@ test12() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<TBox>::const_iterator j = pps.begin();
-  TBox boxj = j->element();
+  TBox boxj = j->pointset();
   print_constraints(boxj, "*** pps disjunct ***");
 
   return ok;
@@ -342,7 +342,7 @@ test13() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<Grid>::const_iterator i = pps.begin();
-  Grid phi = i->element();
+  Grid phi = i->pointset();
   print_congruences(phi, "*** phi ***");
 
   return ok;
@@ -381,7 +381,7 @@ test15() {
   Pointset_Powerset<TBox> pps_box(box, POLYNOMIAL_COMPLEXITY);
 
   Pointset_Powerset<TBox>::const_iterator i_box = pps_box.begin();
-  TBox boxi = i_box->element();
+  TBox boxi = i_box->pointset();
   print_constraints(boxi, "*** boxi ***");
 
   // The complexity should be ignored.
@@ -393,7 +393,7 @@ test15() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<Grid>::const_iterator i_gr = pps.begin();
-  Grid gri = i_gr->element();
+  Grid gri = i_gr->pointset();
   print_congruences(gri, "*** gri ***");
 
   return ok;
diff --git a/tests/Powerset/fromcongruences1.cc b/tests/Powerset/fromcongruences1.cc
index a83d752..fcaec2d 100644
--- a/tests/Powerset/fromcongruences1.cc
+++ b/tests/Powerset/fromcongruences1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::
           Pointset_Powerset(Congruence_System).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Powerset/fromconstraints1.cc b/tests/Powerset/fromconstraints1.cc
index bfe4c94..1c486a9 100644
--- a/tests/Powerset/fromconstraints1.cc
+++ b/tests/Powerset/fromconstraints1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::Pointset_Powerset(Constraint_System).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Powerset/fromgrid1.cc b/tests/Powerset/fromgrid1.cc
index e8f5fc3..2d71ae2 100644
--- a/tests/Powerset/fromgrid1.cc
+++ b/tests/Powerset/fromgrid1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::Pointset_Powerset(Grid),
         Pointset_Powerset<PH>::Pointset_Powerset(Pointset_Powerset(Grid)).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -44,7 +44,7 @@ test01() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<C_Polyhedron>::const_iterator i = pps.begin();
-  C_Polyhedron phi = i->element();
+  C_Polyhedron phi = i->pointset();
   print_constraints(phi, "*** phi ***");
 
   return ok;
@@ -88,7 +88,7 @@ test03() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<C_Polyhedron>::const_iterator i = pps.begin();
-  C_Polyhedron phi = i->element();
+  C_Polyhedron phi = i->pointset();
   print_constraints(phi, "*** phi ***");
 
   return ok;
@@ -112,7 +112,7 @@ test04() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<TBD_Shape>::const_iterator i = pps.begin();
-  TBD_Shape bdsi = i->element();
+  TBD_Shape bdsi = i->pointset();
   print_constraints(bdsi, "*** bdsi ***");
 
   return ok;
@@ -156,7 +156,7 @@ test06() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<TBD_Shape>::const_iterator i = pps.begin();
-  TBD_Shape bdsi = i->element();
+  TBD_Shape bdsi = i->pointset();
   print_constraints(bdsi, "*** bdsi ***");
 
   return ok;
@@ -180,7 +180,7 @@ test07() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<TOctagonal_Shape>::const_iterator i = pps.begin();
-  TOctagonal_Shape osi = i->element();
+  TOctagonal_Shape osi = i->pointset();
   print_constraints(osi, "*** osi ***");
 
   return ok;
@@ -224,7 +224,7 @@ test09() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<TOctagonal_Shape>::const_iterator i = pps.begin();
-  TOctagonal_Shape osi = i->element();
+  TOctagonal_Shape osi = i->pointset();
   print_constraints(osi, "*** osi ***");
 
   return ok;
@@ -248,7 +248,7 @@ test10() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<TBox>::const_iterator i = pps.begin();
-  TBox phi = i->element();
+  TBox phi = i->pointset();
   print_constraints(phi, "*** phi ***");
 
   return ok;
@@ -292,7 +292,7 @@ test12() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<TBox>::const_iterator i = pps.begin();
-  TBox boxi = i->element();
+  TBox boxi = i->pointset();
   print_constraints(boxi, "*** boxi ***");
 
   return ok;
@@ -318,10 +318,10 @@ test13() {
 
   print_congruences(gr, "*** gr ***");
   Pointset_Powerset<Grid>::const_iterator i = pps1.begin();
-  Grid gri = i->element();
+  Grid gri = i->pointset();
   print_congruences(gri, "*** gri ***");
   Pointset_Powerset<Grid>::const_iterator i2 = pps2.begin();
-  Grid gri2 = i2->element();
+  Grid gri2 = i2->pointset();
   print_congruences(gri2, "*** gri2 ***");
 
   return ok && pps1.OK();
@@ -366,7 +366,7 @@ test15() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<Grid>::const_iterator i = pps.begin();
-  Grid gri = i->element();
+  Grid gri = i->pointset();
   print_congruences(gri, "*** gri ***");
 
   return ok;
@@ -394,7 +394,7 @@ test16() {
   // be set to false.
   // So we add this test to set the omega reduction pps_gr.reduced
   // flag to true.
-  bool top_closed = pps_gr.is_topologically_closed();
+  pps_gr.is_topologically_closed();
 
   Pointset_Powerset<NNC_Polyhedron> pps(pps_gr);
 
@@ -406,7 +406,7 @@ test16() {
   ok = ok && (pps == known_pps) && pps.OK();
 
   Pointset_Powerset<NNC_Polyhedron>::const_iterator i = pps.begin();
-  NNC_Polyhedron phi = i->element();
+  NNC_Polyhedron phi = i->pointset();
   print_constraints(phi, "*** phi ***");
 
   return ok;
diff --git a/tests/Powerset/fromoctagonalshape1.cc b/tests/Powerset/fromoctagonalshape1.cc
index 5368a85..d81234a 100644
--- a/tests/Powerset/fromoctagonalshape1.cc
+++ b/tests/Powerset/fromoctagonalshape1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::Pointset_Powerset(BD_Shape<T>),
    Pointset_Powerset<PH>::Pointset_Powerset(Pointset_Powerset(BD_Shape<T>)).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -46,7 +46,7 @@ test01() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<C_Polyhedron>::const_iterator i = pps.begin();
-  C_Polyhedron phi = i->element();
+  C_Polyhedron phi = i->pointset();
   print_constraints(phi, "*** phi ***");
 
   return ok;
@@ -94,7 +94,7 @@ test03() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<C_Polyhedron>::const_iterator j = pps.begin();
-  C_Polyhedron phj = j->element();
+  C_Polyhedron phj = j->pointset();
   print_constraints(phj, "*** pps disjunct ***");
 
   return ok;
@@ -121,7 +121,7 @@ test04() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<TBD_Shape>::const_iterator i = pps.begin();
-  TBD_Shape bdsi = i->element();
+  TBD_Shape bdsi = i->pointset();
   print_constraints(bdsi, "*** bdsi ***");
 
   return ok;
@@ -169,7 +169,7 @@ test06() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<TBD_Shape>::const_iterator i_bds = pps.begin();
-  TBD_Shape bdsi = i_bds->element();
+  TBD_Shape bdsi = i_bds->pointset();
   print_constraints(bdsi, "*** bdsi ***");
 
   return ok;
@@ -195,10 +195,10 @@ test07() {
   bool ok = (pps1 == pps2);
 
   Pointset_Powerset<TOctagonal_Shape>::const_iterator i = pps1.begin();
-  TOctagonal_Shape osi = i->element();
+  TOctagonal_Shape osi = i->pointset();
   print_constraints(osi, "*** osi ***");
   Pointset_Powerset<TOctagonal_Shape>::const_iterator i2 = pps2.begin();
-  TOctagonal_Shape osi2 = i2->element();
+  TOctagonal_Shape osi2 = i2->pointset();
   print_constraints(osi2, "*** osi2 ***");
 
   return ok && pps1.OK();
@@ -247,7 +247,7 @@ test09() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<TOctagonal_Shape>::const_iterator j = pps.begin();
-  TOctagonal_Shape osj = j->element();
+  TOctagonal_Shape osj = j->pointset();
   print_constraints(osj, "*** pps disjunct ***");
 
   return ok;
@@ -277,7 +277,7 @@ test10() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<TBox>::const_iterator i = pps.begin();
-  TBox phi = i->element();
+  TBox phi = i->pointset();
   print_constraints(phi, "*** phi ***");
 
   return ok;
@@ -325,7 +325,7 @@ test12() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<TBox>::const_iterator i_box = pps.begin();
-  TBox boxi = i_box->element();
+  TBox boxi = i_box->pointset();
   print_constraints(boxi, "*** boxi ***");
 
   return ok;
@@ -352,7 +352,7 @@ test13() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<Grid>::const_iterator i = pps.begin();
-  Grid phi = i->element();
+  Grid phi = i->pointset();
   print_congruences(phi, "*** phi ***");
 
   return ok;
@@ -391,7 +391,7 @@ test15() {
   Pointset_Powerset<TOctagonal_Shape> pps_os(os, POLYNOMIAL_COMPLEXITY);
 
   Pointset_Powerset<TOctagonal_Shape>::const_iterator i_os = pps_os.begin();
-  TOctagonal_Shape osi = i_os->element();
+  TOctagonal_Shape osi = i_os->pointset();
   print_constraints(osi, "*** osi ***");
 
   // The complexity should be ignored.
@@ -404,7 +404,7 @@ test15() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<Grid>::const_iterator i_gr = pps.begin();
-  Grid gri = i_gr->element();
+  Grid gri = i_gr->pointset();
   print_congruences(gri, "*** gri ***");
 
   return ok;
diff --git a/tests/Powerset/frompolyhedron1.cc b/tests/Powerset/frompolyhedron1.cc
index 283f4f4..7e38c8e 100644
--- a/tests/Powerset/frompolyhedron1.cc
+++ b/tests/Powerset/frompolyhedron1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::Pointset_Powerset(C_Polyhedron),
         Pointset_Powerset<PH>::Pointset_Powerset(NNC_Polyhedron).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -66,10 +66,10 @@ test02() {
   bool ok = (c_pps1 == c_pps2 && nnc_pps1 == nnc_pps2);
 
   Pointset_Powerset<C_Polyhedron>::const_iterator c_i = c_pps1.begin();
-  C_Polyhedron c_phi = c_i->element();
+  C_Polyhedron c_phi = c_i->pointset();
   print_constraints(c_phi, "*** c_phi ***");
   Pointset_Powerset<NNC_Polyhedron>::const_iterator nnc_i = nnc_pps1.begin();
-  NNC_Polyhedron nnc_phi = nnc_i->element();
+  NNC_Polyhedron nnc_phi = nnc_i->pointset();
   print_constraints(nnc_phi, "*** nnc_phi ***");
 
   return ok && c_pps1.OK() && nnc_pps1.OK();
@@ -99,10 +99,10 @@ test03() {
   bool ok = (c_pps1 == c_pps2 && nnc_pps1 == nnc_pps2);
 
   Pointset_Powerset<C_Polyhedron>::const_iterator c_i = c_pps1.begin();
-  C_Polyhedron c_phi = c_i->element();
+  C_Polyhedron c_phi = c_i->pointset();
   print_constraints(c_phi, "*** c_phi ***");
   Pointset_Powerset<NNC_Polyhedron>::const_iterator nnc_i = nnc_pps1.begin();
-  NNC_Polyhedron nnc_phi = nnc_i->element();
+  NNC_Polyhedron nnc_phi = nnc_i->pointset();
   print_constraints(nnc_phi, "*** nnc_phi ***");
 
   return ok && c_pps1.OK() && nnc_pps1.OK();
@@ -131,7 +131,7 @@ test04() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<NNC_Polyhedron>::const_iterator i = pps.begin();
-  NNC_Polyhedron phi = i->element();
+  NNC_Polyhedron phi = i->pointset();
   print_constraints(phi, "*** phi ***");
 
   return ok;
@@ -153,13 +153,13 @@ test05() {
   Pointset_Powerset<C_Polyhedron> pps1(pps, POLYNOMIAL_COMPLEXITY);
 
   Pointset_Powerset<C_Polyhedron>::const_iterator i1 = pps.begin();
-  C_Polyhedron phi1 = i1->element();
+  C_Polyhedron phi1 = i1->pointset();
   print_constraints(phi1, "*** phi1 ***");
 
   pps.OK();
 
   Pointset_Powerset<C_Polyhedron>::const_iterator i = pps.begin();
-  C_Polyhedron phi = i->element();
+  C_Polyhedron phi = i->pointset();
   phi.OK();
   print_constraints(phi, "*** phi after ok check ***");
 
@@ -186,7 +186,7 @@ test06() {
   // are found
   Pointset_Powerset<TBD_Shape> pps(ph);
   Pointset_Powerset<TBD_Shape>::const_iterator i = pps.begin();
-  TBD_Shape bdsi = i->element();
+  TBD_Shape bdsi = i->pointset();
 
   BD_Shape<mpq_class> known_bdsi(4);
   known_bdsi.add_constraint(3*x == 2);
@@ -200,7 +200,7 @@ test06() {
   // With the polynomial complexity, implied equalities are not found.
   Pointset_Powerset<TBD_Shape> pps1(ph1, POLYNOMIAL_COMPLEXITY);
   Pointset_Powerset<TBD_Shape>::const_iterator i1 = pps1.begin();
-  TBD_Shape bdsi1 = i1->element();
+  TBD_Shape bdsi1 = i1->pointset();
 
   BD_Shape<mpq_class> known_bdsi1(4);
   known_bdsi1.add_constraint(3*x >= 2);
@@ -214,9 +214,9 @@ test06() {
   ok = ok && pps.OK() && pps1.OK();
 
   Pointset_Powerset<TBD_Shape>::const_iterator i_ok = pps.begin();
-  TBD_Shape bdsi_ok = i_ok->element();
+  TBD_Shape bdsi_ok = i_ok->pointset();
   Pointset_Powerset<TBD_Shape>::const_iterator i1_ok = pps1.begin();
-  TBD_Shape bdsi1_ok = i1_ok->element();
+  TBD_Shape bdsi1_ok = i1_ok->pointset();
 
   print_constraints(bdsi_ok, "*** bdsi after OK() ***");
   print_constraints(bdsi1_ok, "*** bdsi1 after OK() ***");
@@ -250,7 +250,7 @@ test07() {
   known_bds1.add_constraint(z >= 1);
 
   Pointset_Powerset<TBD_Shape>::const_iterator i1 = pps1.begin();
-  TBD_Shape bdsi1 = i1->element();
+  TBD_Shape bdsi1 = i1->pointset();
 
   bool ok = check_result(bdsi1, known_bds1, "1.92e-7", "8.89e-8", "7.95e-8")
     && pps.is_empty();
@@ -306,11 +306,11 @@ test09() {
   bool ok = (pps1 == known_pps1 && pps2 == known_pps2);
 
   Pointset_Powerset<TBD_Shape>::const_iterator i1 = pps1.begin();
-  TBD_Shape bdsi1 = i1->element();
+  TBD_Shape bdsi1 = i1->pointset();
   print_constraints(bdsi1, "*** bdsi1 ***");
 
   Pointset_Powerset<TBD_Shape>::const_iterator i2 = pps2.begin();
-  TBD_Shape bdsi2 = i2->element();
+  TBD_Shape bdsi2 = i2->pointset();
   print_constraints(bdsi2, "*** bdsi2 ***");
 
   return ok;
@@ -334,7 +334,7 @@ test10() {
   // are found
   Pointset_Powerset<TOctagonal_Shape> pps(ph);
   Pointset_Powerset<TOctagonal_Shape>::const_iterator i = pps.begin();
-  TOctagonal_Shape osi = i->element();
+  TOctagonal_Shape osi = i->pointset();
 
   Octagonal_Shape<mpq_class> known_osi(4);
   known_osi.add_constraint(3*x == 2);
@@ -348,7 +348,7 @@ test10() {
   // With the polynomial complexity, implied equalities are not found.
   Pointset_Powerset<TOctagonal_Shape> pps1(ph1, POLYNOMIAL_COMPLEXITY);
   Pointset_Powerset<TOctagonal_Shape>::const_iterator i1 = pps1.begin();
-  TOctagonal_Shape osi1 = i1->element();
+  TOctagonal_Shape osi1 = i1->pointset();
 
   Octagonal_Shape<mpq_class> known_osi1(4);
   known_osi1.add_constraint(3*x >= 2);
@@ -362,9 +362,9 @@ test10() {
   ok = ok && pps.OK() && pps1.OK();
 
   Pointset_Powerset<TOctagonal_Shape>::const_iterator i_ok = pps.begin();
-  TOctagonal_Shape osi_ok = i_ok->element();
+  TOctagonal_Shape osi_ok = i_ok->pointset();
   Pointset_Powerset<TOctagonal_Shape>::const_iterator i1_ok = pps1.begin();
-  TOctagonal_Shape osi1_ok = i1_ok->element();
+  TOctagonal_Shape osi1_ok = i1_ok->pointset();
 
   print_constraints(osi_ok, "*** osi after OK() ***");
   print_constraints(osi1_ok, "*** osi1 after OK() ***");
@@ -398,7 +398,7 @@ test11() {
   known_os1.add_constraint(z >= 1);
 
   Pointset_Powerset<TOctagonal_Shape>::const_iterator i1 = pps1.begin();
-  TOctagonal_Shape osi1 = i1->element();
+  TOctagonal_Shape osi1 = i1->pointset();
 
   bool ok = check_result(osi1, known_os1, "1.92e-7", "8.89e-8", "7.95e-8")
     && pps.is_empty();
@@ -454,11 +454,11 @@ test13() {
   bool ok = (pps1 == known_pps1 && pps2 == known_pps2);
 
   Pointset_Powerset<TOctagonal_Shape>::const_iterator i1 = pps1.begin();
-  TOctagonal_Shape osi1 = i1->element();
+  TOctagonal_Shape osi1 = i1->pointset();
   print_constraints(osi1, "*** osi1 ***");
 
   Pointset_Powerset<TOctagonal_Shape>::const_iterator i2 = pps2.begin();
-  TOctagonal_Shape osi2 = i2->element();
+  TOctagonal_Shape osi2 = i2->pointset();
   print_constraints(osi2, "*** osi2 ***");
 
   return ok;
@@ -474,34 +474,29 @@ test14() {
 
   C_Polyhedron ph(4);
   ph.add_constraint(x >= 2);
+  ph.add_constraint(y >= 5);
   ph.add_constraint(z >= 1);
-  ph.add_constraint(x + z <= 3);
-  C_Polyhedron ph1(4);
-  ph1.add_constraint(x >= 2);
-  ph1.add_constraint(z >= 1);
-  ph1.add_constraint(x + z <= 3);
+  ph.add_constraint(x + y + z <= 8);
 
-  // With the default complexity, the implied equalities x = 2 and z = 1.
-  // are found
+  C_Polyhedron ph1(ph);
+
+  // With both the default and polynomial complexities,
+  // the implied equalities x = 2, y = 5 and z = 1 are found.
   Pointset_Powerset<TBox> pps(ph);
-  // With the polynomial complexity, implied equalities are not found.
   Pointset_Powerset<TBox> pps1(ph1, POLYNOMIAL_COMPLEXITY);
 
   Pointset_Powerset<TBox> known_pps(4);
   known_pps.add_constraint(x == 2);
+  known_pps.add_constraint(y == 5);
   known_pps.add_constraint(z == 1);
-  Pointset_Powerset<TBox> known_pps1(4);
-  known_pps1.add_constraint(x >= 2);
-  known_pps1.add_constraint(z >= 1);
 
-  bool ok = (pps == known_pps && pps1 == known_pps1);
+  bool ok = (pps == known_pps && pps1 == known_pps);
 
-  Pointset_Powerset<TBox>::const_iterator i = pps.begin();
-  TBox boxi = i->element();
-  print_constraints(boxi, "*** boxi ***");
-  Pointset_Powerset<TBox>::const_iterator i1 = pps1.begin();
-  TBox boxi1 = i1->element();
-  print_constraints(boxi1, "*** boxi1 ***");
+  if (pps.size() > 0)
+    print_constraints(pps.begin()->pointset(), "*** box ***");
+
+  if (pps1.size() > 0)
+    print_constraints(pps1.begin()->pointset(), "*** box1 ***");
 
   return ok && pps.OK() && pps1.OK();
 }
@@ -517,31 +512,26 @@ test15() {
 
   C_Polyhedron ph(4);
   ph.add_constraint(x >= 2);
+  ph.add_constraint(y >= 5);
   ph.add_constraint(z >= 1);
-  ph.add_constraint(x + z <= 2);
+  ph.add_constraint(x + y + z <= 7);
 
-  // NOTE: taking a copy of ph so that ph1 is not affected by
-  // the construction of pps (which minimizes ph and detects emptiness).
   C_Polyhedron ph1(ph);
 
-  // With the default complexity, the built powerset is empty.
+  // With both the default and polynomial complexity,
+  // the built powerset is detected to be empty.
   Pointset_Powerset<TBox> pps(ph);
-  // With the polynomial complexity, the built powerset is non-empty.
   Pointset_Powerset<TBox> pps1(ph1, POLYNOMIAL_COMPLEXITY);
 
   Pointset_Powerset<TBox> known_pps(4, EMPTY);
-  Pointset_Powerset<TBox> known_pps1(4);
-  known_pps1.add_constraint(x >= 2);
-  known_pps1.add_constraint(z >= 1);
 
-  bool ok = (pps == known_pps && pps1 == known_pps1);
+  bool ok = (pps == known_pps && pps1 == known_pps);
 
-  if (ok) {
-    // Here it is safe to dereference pps1.begin().
-    Pointset_Powerset<TBox>::const_iterator i1 = pps1.begin();
-    TBox boxi1 = i1->element();
-    print_constraints(boxi1, "*** boxi1 ***");
-  }
+  // These will print something only if test is going to fail.
+  if (pps.size() > 0)
+    print_constraints(pps.begin()->pointset(), "*** box ***");
+  if (pps1.size() > 0)
+    print_constraints(pps1.begin()->pointset(), "*** box1 ***");
 
   return ok && pps.OK() && pps1.OK();
 }
@@ -582,22 +572,16 @@ test17() {
   Pointset_Powerset<TBox> pps1(pps1_c, POLYNOMIAL_COMPLEXITY);
   Pointset_Powerset<TBox> pps2(pps2_c);
 
-  Pointset_Powerset<TBox> known_pps1(2);
-  known_pps1.add_constraint(2*x >= 1);
-  known_pps1.add_constraint(y >= 0);
-  Pointset_Powerset<TBox> known_pps2(2);
-  known_pps2.add_constraint(2*x == 1);
-  known_pps2.add_constraint(y == 0);
-
-  bool ok = (pps1 == known_pps1 && pps2 == known_pps2);
+  Pointset_Powerset<TBox> known_pps(2);
+  known_pps.add_constraint(2*x == 1);
+  known_pps.add_constraint(y == 0);
 
-  Pointset_Powerset<TBox>::const_iterator i1 = pps1.begin();
-  TBox boxi1 = i1->element();
-  print_constraints(boxi1, "*** boxi1 ***");
+  bool ok = (pps1 == known_pps && pps2 == known_pps);
 
-  Pointset_Powerset<TBox>::const_iterator i2 = pps2.begin();
-  TBox boxi2 = i2->element();
-  print_constraints(boxi2, "*** boxi2 ***");
+  if (pps1.size() > 0)
+    print_constraints(pps1.begin()->pointset(), "*** box1 ***");
+  if (pps2.size() > 0)
+    print_constraints(pps2.begin()->pointset(), "*** box2 ***");
 
   return ok;
 }
@@ -633,10 +617,10 @@ test18() {
   bool ok = (pps == known_pps && pps1 == known_pps1);
 
   Pointset_Powerset<Grid>::const_iterator i = pps.begin();
-  Grid gri = i->element();
+  Grid gri = i->pointset();
   print_congruences(gri, "*** gri ***");
   Pointset_Powerset<Grid>::const_iterator i1 = pps1.begin();
-  Grid gri1 = i1->element();
+  Grid gri1 = i1->pointset();
   print_congruences(gri1, "*** gri1 ***");
 
   return ok && pps.OK() && pps1.OK();
@@ -655,10 +639,8 @@ test19() {
   ph.add_constraint(x >= 2);
   ph.add_constraint(z >= 1);
   ph.add_constraint(x + z <= 2);
-  C_Polyhedron ph1(4);
-  ph1.add_constraint(x >= 2);
-  ph1.add_constraint(z >= 1);
-  ph1.add_constraint(x + z <= 2);
+
+  C_Polyhedron ph1(ph);
 
   // With the default complexity, the built powerset is empty.
   Pointset_Powerset<Grid> pps(ph);
@@ -671,7 +653,7 @@ test19() {
   bool ok = (pps == known_pps && pps1 == known_pps1);
 
   Pointset_Powerset<Grid>::const_iterator i1 = pps1.begin();
-  Grid gri1 = i1->element();
+  Grid gri1 = i1->pointset();
   print_congruences(gri1, "*** gri1 ***");
 
   return ok && pps.OK() && pps1.OK();
@@ -721,11 +703,11 @@ test21() {
   bool ok = (pps1 == known_pps1 && pps2 == known_pps2);
 
   Pointset_Powerset<Grid>::const_iterator i1 = pps1.begin();
-  Grid gri1 = i1->element();
+  Grid gri1 = i1->pointset();
   print_congruences(gri1, "*** gri1 ***");
 
   Pointset_Powerset<Grid>::const_iterator i2 = pps2.begin();
-  Grid gri2 = i2->element();
+  Grid gri2 = i2->pointset();
   print_congruences(gri2, "*** gri2 ***");
 
   return ok;
diff --git a/tests/Powerset/fromspacedimension1.cc b/tests/Powerset/fromspacedimension1.cc
index e211f97..644d7f3 100644
--- a/tests/Powerset/fromspacedimension1.cc
+++ b/tests/Powerset/fromspacedimension1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::
           Pointset_Powerset(dimension_type, Degenerate_Element).
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Powerset/intersection1.cc b/tests/Powerset/intersection1.cc
index 6ba6a2a..e36164c 100644
--- a/tests/Powerset/intersection1.cc
+++ b/tests/Powerset/intersection1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::intersection_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -56,7 +56,7 @@ test01() {
   return ok && ok1 && c_ps.OK() && c_ps1.OK();
 }
 
-// Powerset of C polyhedra: intersection_assign_and_minimize().
+// Powerset of C polyhedra: intersection_assign().
 bool
 test02() {
   Variable x(0);
@@ -74,7 +74,8 @@ test02() {
   cs.insert(x <= 3);
   c_ps1.add_disjunct(C_Polyhedron(cs));
 
-  bool ok = c_ps.intersection_assign_and_minimize(c_ps1);
+  c_ps.intersection_assign(c_ps1);
+  bool ok = !c_ps.empty();
 
   cs.clear();
   cs.insert(x >= 1);
@@ -90,7 +91,8 @@ test02() {
   cs.insert(x == 4);
   c_ps2.add_disjunct(C_Polyhedron(cs));
 
-  bool ok3 = !c_ps2.intersection_assign_and_minimize(c_ps1);
+  c_ps2.intersection_assign(c_ps1);
+  bool ok3 = c_ps2.empty();
 
   return ok && ok1 && ok2 && ok3 && c_ps.OK() && c_ps1.OK() && c_ps2.OK();
 }
diff --git a/tests/Powerset/maxmin1.cc b/tests/Powerset/maxmin1.cc
index b1a351f..d518d8f 100644
--- a/tests/Powerset/maxmin1.cc
+++ b/tests/Powerset/maxmin1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::maximize().
         Pointset_Powerset<PH>::minimize().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -29,15 +29,15 @@ namespace {
 bool
 test01() {
   Pointset_Powerset<C_Polyhedron> ps(0, EMPTY);
-  Coefficient num;
-  Coefficient den;
-  bool included;
+  Coefficient num = 0;
+  Coefficient den = 0;
+  bool included = false;
   Generator g(point());
   Linear_Expression LE;
-  bool ok = ps.maximize(LE, num, den, included)
-    && num == 0 && den == 1 && !included;
-  ok = ok && ps.maximize(LE, num, den, included, g)
-    && num == 0 && den == 1 && !included
+  bool ok = !ps.maximize(LE, num, den, included)
+    && num == 0 && den == 0 && !included;
+  ok = ok && !ps.maximize(LE, num, den, included, g)
+    && num == 0 && den == 0 && !included
     && g.is_point()
     && g.divisor() == 1;
 
@@ -69,9 +69,9 @@ test02() {
   Constraint_System cs;
   Linear_Expression LE = x;
 
-  Coefficient max_n;
-  Coefficient max_d;
-  bool max_included;
+  Coefficient max_n = 0;
+  Coefficient max_d = 0;
+  bool max_included = false;
   Generator max_g(point());
   Pointset_Powerset<NNC_Polyhedron> ps(1, EMPTY);
 
@@ -123,9 +123,9 @@ test03() {
   Constraint_System cs;
   Linear_Expression LE = 9*x + y;
 
-  Coefficient num;
-  Coefficient den;
-  bool included;
+  Coefficient num = 0;
+  Coefficient den = 0;
+  bool included = false;
   Generator g(point());
   Pointset_Powerset<C_Polyhedron> ps(2, EMPTY);
 
@@ -148,7 +148,6 @@ test03() {
   print_generator(g);
   nout << endl;
 
-
   if (!ok)
     return false;
 
@@ -180,16 +179,16 @@ test04() {
   Variable x(0);
   Linear_Expression LE = x;
 
-  Coefficient num;
-  Coefficient den;
-  bool included;
+  Coefficient num = 0;
+  Coefficient den = 0;
+  bool included = false;
   Generator g(point());
   Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
 
-  bool ok = ps.maximize(LE, num, den, included)
-    && num == 0 && den == 1 && !included;
-  ok = ok && ps.maximize(LE, num, den, included, g)
-    && num == 0 && den == 1 && !included
+  bool ok = !ps.maximize(LE, num, den, included)
+    && num == 0 && den == 0 && !included;
+  ok = ok && !ps.maximize(LE, num, den, included, g)
+    && num == 0 && den == 0 && !included
     && g.is_point()
     && g.divisor() == 1;
 
@@ -197,7 +196,10 @@ test04() {
     return false;
 
   ps.add_disjunct(C_Polyhedron(1));
-  ok = !ps.maximize(LE, num, den, included, g);
+  ok = !ps.maximize(LE, num, den, included, g)
+    && num == 0 && den == 0 && !included
+    && g.is_point()
+    && g.divisor() == 1;
 
   return ok;
 }
@@ -206,16 +208,16 @@ test04() {
 bool
 test05() {
   Linear_Expression LE;
-  Coefficient num;
-  Coefficient den;
-  bool included;
+  Coefficient num = 0;
+  Coefficient den = 0;
+  bool included = false;
   Generator g(point());
   Pointset_Powerset<C_Polyhedron> ps(0, EMPTY);
 
-  bool ok = ps.minimize(LE, num, den, included)
-    && num == 0 && den == 1 && !included;
-  ok = ok && ps.minimize(LE, num, den, included, g)
-    && num == 0 && den == 1 && !included
+  bool ok = !ps.minimize(LE, num, den, included)
+    && num == 0 && den == 0 && !included;
+  ok = ok && !ps.minimize(LE, num, den, included, g)
+    && num == 0 && den == 0 && !included
     && g.is_point()
     && g.divisor() == 1;
 
@@ -247,9 +249,9 @@ test06() {
   Constraint_System cs;
   Linear_Expression LE = x;
 
-  Coefficient min_n;
-  Coefficient min_d;
-  bool min_included;
+  Coefficient min_n = 0;
+  Coefficient min_d = 0;
+  bool min_included = false;
   Generator min_g(point());
 
   Pointset_Powerset<NNC_Polyhedron> ps(1, EMPTY);
@@ -302,9 +304,9 @@ test07() {
   Constraint_System cs;
   Linear_Expression LE = x + y;
 
-  Coefficient num;
-  Coefficient den;
-  bool included;
+  Coefficient num = 0;
+  Coefficient den = 0;
+  bool included = false;
   Generator g(point());
   Pointset_Powerset<C_Polyhedron> ps(2, EMPTY);
 
@@ -327,7 +329,6 @@ test07() {
   print_generator(g);
   nout << endl;
 
-
   if (!ok)
     return false;
 
@@ -359,25 +360,27 @@ test08() {
   Variable x(0);
   Linear_Expression LE = x;
 
-  Coefficient num;
-  Coefficient den;
-  bool included;
+  Coefficient num = 0;
+  Coefficient den = 0;
+  bool included = false;
   Generator g(point());
   Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
 
-  bool ok = ps.minimize(LE, num, den, included)
-    && num == 0 && den == 1 && !included;
-  ok = ok && ps.minimize(LE, num, den, included, g)
-    && num == 0 && den == 1 && !included
+  bool ok = !ps.minimize(LE, num, den, included)
+    && num == 0 && den == 0 && !included;
+  ok = ok && !ps.minimize(LE, num, den, included, g)
+    && num == 0 && den == 0 && !included
     && g.is_point()
     && g.divisor() == 1;
 
-
   if (!ok)
     return false;
 
   ps.add_disjunct(C_Polyhedron(1));
-  ok = !ps.minimize(LE, num, den, included, g);
+  ok = !ps.minimize(LE, num, den, included, g)
+    && num == 0 && den == 0 && !included
+    && g.is_point()
+    && g.divisor() == 1;
 
   return ok;
 }
diff --git a/tests/Powerset/meet1.cc b/tests/Powerset/meet1.cc
index 9706f16..37c8f3f 100644
--- a/tests/Powerset/meet1.cc
+++ b/tests/Powerset/meet1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::meet_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Powerset/membytes1.cc b/tests/Powerset/membytes1.cc
index b3c2142..6e01e07 100644
--- a/tests/Powerset/membytes1.cc
+++ b/tests/Powerset/membytes1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::total_memory_in_bytes().
         Pointset_Powerset<PH>::external_memory_in_bytes().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Powerset/powerset1.cc b/tests/Powerset/powerset1.cc
index 8cc7b34..09ab286 100644
--- a/tests/Powerset/powerset1.cc
+++ b/tests/Powerset/powerset1.cc
@@ -1,5 +1,5 @@
 /* Test Powerset<D>.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Powerset/reduce1.cc b/tests/Powerset/reduce1.cc
index 00cbfdc..9536879 100644
--- a/tests/Powerset/reduce1.cc
+++ b/tests/Powerset/reduce1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::omega_reduce().
         Pointset_Powerset<PH>::pairwise_reduce().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Powerset/refinewith1.cc b/tests/Powerset/refinewith1.cc
index d8fad83..3617cf4 100644
--- a/tests/Powerset/refinewith1.cc
+++ b/tests/Powerset/refinewith1.cc
@@ -2,7 +2,7 @@
         Pointset_Powerset<PH>::refine_with_constraints().
         Pointset_Powerset<PH>::refine_with_congruence().
         Pointset_Powerset<PH>::refine_with_congruences().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -65,10 +65,10 @@ test01() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<C_Polyhedron>::const_iterator i = pps.begin();
-  C_Polyhedron phi = i->element();
+  C_Polyhedron phi = i->pointset();
   print_constraints(phi, "*** phi ***");
   i++;
-  C_Polyhedron phi1 = i->element();
+  C_Polyhedron phi1 = i->pointset();
   print_constraints(phi1, "*** phi1 ***");
 
   return ok;
@@ -116,7 +116,7 @@ test02() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<C_Polyhedron>::const_iterator i = pps.begin();
-  C_Polyhedron phi = i->element();
+  C_Polyhedron phi = i->pointset();
   print_constraints(phi, "*** phi ***");
 
   return ok;
@@ -205,10 +205,10 @@ test04() {
   bool ok = (pps == known_pps);
 
   Pointset_Powerset<NNC_Polyhedron>::const_iterator i = pps.begin();
-  NNC_Polyhedron phi = i->element();
+  NNC_Polyhedron phi = i->pointset();
   print_constraints(phi, "*** phi ***");
   i++;
-  NNC_Polyhedron phi1 = i->element();
+  NNC_Polyhedron phi1 = i->pointset();
   print_constraints(phi1, "*** phi1 ***");
 
   return ok;
diff --git a/tests/Powerset/relationwith1.cc b/tests/Powerset/relationwith1.cc
index 0a97e02..335a896 100644
--- a/tests/Powerset/relationwith1.cc
+++ b/tests/Powerset/relationwith1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::relation_with().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Powerset/simplifyusingcontext1.cc b/tests/Powerset/simplifyusingcontext1.cc
index 4863e6f..298f9ba 100644
--- a/tests/Powerset/simplifyusingcontext1.cc
+++ b/tests/Powerset/simplifyusingcontext1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset::simplify_using_context_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -143,7 +143,7 @@ test03() {
 
   for (Pointset_Powerset<C_Polyhedron>::const_iterator it = ps1.begin(),
          ps1_end = ps1.end(); it != ps1_end; ++it)
-    print_constraints(it->element());
+    print_constraints(it->pointset());
 
   return ok;
 }
@@ -197,7 +197,7 @@ test04() {
 
   for (Pointset_Powerset<C_Polyhedron>::const_iterator it = ps1.begin(),
          ps1_end = ps1.end(); it != ps1_end; ++it)
-    print_constraints(it->element());
+    print_constraints(it->pointset());
 
   return ok;
 }
@@ -259,7 +259,7 @@ test05() {
 
   for (Pointset_Powerset<C_Polyhedron>::const_iterator it = ps1.begin(),
          ps1_end = ps1.end(); it != ps1_end; ++it)
-    print_constraints(it->element());
+    print_constraints(it->pointset());
 
   return ok;
 }
@@ -301,7 +301,7 @@ test06() {
 
   for (Pointset_Powerset<C_Polyhedron>::const_iterator it = ps1.begin(),
          ps1_end = ps1.end(); it != ps1_end; ++it)
-    print_constraints(it->element());
+    print_constraints(it->pointset());
 
   return ok;
 }
@@ -333,7 +333,7 @@ test07() {
 
   for (Pointset_Powerset<C_Polyhedron>::const_iterator it = ps1.begin(),
          ps1_end = ps1.end(); it != ps1_end; ++it)
-    print_constraints(it->element());
+    print_constraints(it->pointset());
 
   return ok;
 }
@@ -373,7 +373,7 @@ test08() {
 
   for (Pointset_Powerset<C_Polyhedron>::const_iterator i = ps1.begin(),
          iend = ps1.end(); i != iend; ++i)
-    print_constraints(i->element());
+    print_constraints(i->pointset());
 
   return ok;
 }
@@ -399,7 +399,7 @@ test09() {
   nout << "Pointset_Powerset to be simplified:\n";
   for (Pointset_Powerset<C_Polyhedron>::const_iterator i = ps1.begin(),
          iend = ps1.end(); i != iend; ++i) {
-    print_constraints(i->element());
+    print_constraints(i->pointset());
     nout << "\n";
   }
 
@@ -424,7 +424,7 @@ test09() {
   nout << "\nPointset_Powerset to be used as context:\n";
   for (Pointset_Powerset<C_Polyhedron>::const_iterator i = ps2.begin(),
          iend = ps2.end(); i != iend; ++i) {
-    print_constraints(i->element());
+    print_constraints(i->pointset());
     nout << "\n";
   }
 
@@ -436,7 +436,7 @@ test09() {
 
   for (Pointset_Powerset<C_Polyhedron>::const_iterator i = ps1.begin(),
          iend = ps1.end(); i != iend; ++i) {
-    print_constraints(i->element());
+    print_constraints(i->pointset());
     nout << "\n";
   }
 
diff --git a/tests/Powerset/size1.cc b/tests/Powerset/size1.cc
index 9e650f2..1f0d424 100644
--- a/tests/Powerset/size1.cc
+++ b/tests/Powerset/size1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::size().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Powerset/spacedims1.cc b/tests/Powerset/spacedims1.cc
index df0ccbc..45c0165 100644
--- a/tests/Powerset/spacedims1.cc
+++ b/tests/Powerset/spacedims1.cc
@@ -3,7 +3,7 @@
         Pointset_Powerset<PH>::remove_space_dimensions(),
         Pointset_Powerset<PH>::expand_space_dimensions(),
         Pointset_Powerset<PH>::fold_space_dimensions().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Powerset/universe1.cc b/tests/Powerset/universe1.cc
index 6b160ff..4cc57ae 100644
--- a/tests/Powerset/universe1.cc
+++ b/tests/Powerset/universe1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::is_universe().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Powerset/upperbound1.cc b/tests/Powerset/upperbound1.cc
index c340e36..5622b11 100644
--- a/tests/Powerset/upperbound1.cc
+++ b/tests/Powerset/upperbound1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::upper_bound_assign(),
         Pointset_Powerset<PH>::least_upper_bound_assign().
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/README b/tests/README
index e1eaca7..fb14134 100644
--- a/tests/README
+++ b/tests/README
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 See below for the copying conditions.
 
 How To Use the Test Programs (If You Really Want To Use Them)
@@ -84,7 +84,7 @@ f) Run `mytest' and enjoy!
 
 --------
 
-Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Random_Number_Generator.defs.hh b/tests/Random_Number_Generator.defs.hh
index 3784792..478ab7e 100644
--- a/tests/Random_Number_Generator.defs.hh
+++ b/tests/Random_Number_Generator.defs.hh
@@ -1,5 +1,5 @@
 /* Random_Number_Generator class declaration.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Random_Number_Generator.inlines.hh b/tests/Random_Number_Generator.inlines.hh
index fc41416..5b2139a 100644
--- a/tests/Random_Number_Generator.inlines.hh
+++ b/tests/Random_Number_Generator.inlines.hh
@@ -1,5 +1,5 @@
 /* Random_Number_Generator class implementation: inline functions.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Random_Number_Generator.types.hh b/tests/Random_Number_Generator.types.hh
index 4db552d..6e24968 100644
--- a/tests/Random_Number_Generator.types.hh
+++ b/tests/Random_Number_Generator.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/tests/files.cc b/tests/files.cc
index 6605fb2..7c5012c 100644
--- a/tests/files.cc
+++ b/tests/files.cc
@@ -1,5 +1,5 @@
 /* Definition of simple helper functions to open and close files.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/files.hh b/tests/files.hh
index 1cb6bb9..2fbefce 100644
--- a/tests/files.hh
+++ b/tests/files.hh
@@ -1,5 +1,5 @@
 /* Declaration of simple helper functions to open and close files.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/ppl_test.cc b/tests/ppl_test.cc
index 04a5047..7f609f3 100644
--- a/tests/ppl_test.cc
+++ b/tests/ppl_test.cc
@@ -1,5 +1,5 @@
 /* Implementation of utility functions used in test programs.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -43,9 +43,12 @@ uncaught_exception_handler() {
   exit(1);
 }
 
-#ifdef HAVE_SIGINFO_T
+#if PPL_HAVE_DECL_SIGACTION
+
+#if defined(PPL_HAVE_SIGINFO_T) && defined(SA_SIGINFO)
+
 void
-fpe_handler(int sig, siginfo_t* sip, void*) {
+fpe_sigaction(int sig, siginfo_t* sip, void*) {
   if (sig != SIGFPE) {
     std::cerr << "fpe_handler called on signal different from SIGFPE"
 	      << std::endl;
@@ -86,7 +89,7 @@ fpe_handler(int sig, siginfo_t* sip, void*) {
   else {
     std::cerr << "SIGFPE caught (unknown si_code " << sip->si_code << ")"
 	      << std::endl;
-#if defined(PWL_HAVE_FENV_H)
+#if defined(PPL_HAVE_FENV_H)
     std::cerr << "Inquire with fetestexcept(): ";
 #ifdef FE_INEXACT
     if (fetestexcept(FE_INEXACT))
@@ -109,11 +112,52 @@ fpe_handler(int sig, siginfo_t* sip, void*) {
       std::cerr << "FE_INVALID ";
 #endif
     std::cerr << std::endl;
-#endif
+#endif // defined(PPL_HAVE_FENV_H)
   }
   exit(1);
 }
-#endif // defined(HAVE_SIGINFO_T)
+
+#else // !defined(PPL_HAVE_SIGINFO_T) || !defined(SA_SIGINFO)
+
+void
+fpe_handler(int sig) {
+  if (sig != SIGFPE) {
+    std::cerr << "fpe_handler called on signal different from SIGFPE"
+	      << std::endl;
+    exit(1);
+  }
+  std::cerr << "SIGFPE caught"
+            << std::endl;
+#if defined(PPL_HAVE_FENV_H)
+  std::cerr << "Inquire with fetestexcept(): ";
+#ifdef FE_INEXACT
+  if (fetestexcept(FE_INEXACT))
+    std::cerr << "FE_INEXACT ";
+#endif
+#ifdef FE_DIVBYZERO
+  if (fetestexcept(FE_DIVBYZERO))
+    std::cerr << "FE_DIVBYZERO ";
+#endif
+#ifdef FE_UNDERFLOW
+  if (fetestexcept(FE_UNDERFLOW))
+    std::cerr << "FE_UNDERFLOW ";
+#endif
+#ifdef FE_OVERFLOW
+  if (fetestexcept(FE_OVERFLOW))
+    std::cerr << "FE_OVERFLOW ";
+#endif
+#if FE_INVALID
+  if (fetestexcept(FE_INVALID))
+    std::cerr << "FE_INVALID ";
+#endif
+  std::cerr << std::endl;
+#endif // defined(PPL_HAVE_FENV_H)
+  exit(1);
+}
+
+#endif // !defined(PPL_HAVE_SIGINFO_T) || !defined(SA_SIGINFO)
+
+#endif // PPL_HAVE_DECL_SIGACTION
 
 } // namespace
 
@@ -123,17 +167,22 @@ namespace Test {
 
 void
 set_handlers() {
-#ifdef HAVE_SIGINFO_T
+#if PPL_HAVE_DECL_SIGACTION
   struct sigaction action;
-  action.sa_sigaction = fpe_handler;
   sigemptyset(&action.sa_mask);
+#if defined(PPL_HAVE_SIGINFO_T) && defined(SA_SIGINFO)
+  action.sa_sigaction = fpe_sigaction;
   action.sa_flags = SA_SIGINFO;
+#else // !defined(PPL_HAVE_SIGINFO_T) || !defined(SA_SIGINFO)
+  action.sa_handler = fpe_handler;
+  action.sa_flags = 0;
+#endif // !defined(PPL_HAVE_SIGINFO_T) || !defined(SA_SIGINFO)
   if (sigaction(SIGFPE, &action, NULL) != 0) {
     std::cerr << "sigaction() failed"
 	      << std::endl;
     abort();
   }
-#endif // defined(HAVE_SIGINFO_T)
+#endif // PPL_HAVE_DECL_SIGACTION
 
   std::set_unexpected(unexpected_exception_handler);
   std::set_terminate(uncaught_exception_handler);
@@ -303,6 +352,14 @@ print_constraints(const Polyhedron& ph,
   print_constraints(ph.constraints(), intro, s);
 }
 
+#if 0
+void
+print_constraints(const Affine_Space& affs,
+		  const std::string& intro, std::ostream& s) {
+  print_constraints(affs.constraints(), intro, s);
+}
+#endif
+
 void
 print_constraints(const Constraint_System& cs,
 		  const std::string& intro, std::ostream& s) {
@@ -417,7 +474,7 @@ print_generators(const Grid_Generator_System& gs,
 }
 
 void
-print_function(const Parma_Polyhedra_Library::Test::Partial_Function& function,
+print_function(const Parma_Polyhedra_Library::Partial_Function& function,
 	       const std::string& intro, std::ostream& s) {
   if (!intro.empty())
     s << intro << std::endl;
diff --git a/tests/ppl_test.hh b/tests/ppl_test.hh
index 4ee3370..449e137 100644
--- a/tests/ppl_test.hh
+++ b/tests/ppl_test.hh
@@ -1,5 +1,5 @@
 /* Header file for test programs.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -24,11 +24,11 @@ site: http://www.cs.unipr.it/ppl/ . */
 #define PPL_ppl_test_hh 1
 
 #include "ppl_header.hh"
-#include "Partial_Function.defs.hh"
 #include "Random_Number_Generator.defs.hh"
 #include <stdexcept>
 #include <sstream>
 #include <list>
+#include <map>
 #include <iterator>
 #include <string>
 #include <iostream>
@@ -59,24 +59,33 @@ catch (const std::exception& e) { \
   exit(1); \
 }
 
-#define BEGIN_MAIN				\
-int						\
-main() try {					\
-  set_handlers();				\
-  bool succeeded = false;			\
-  bool overflow = false;			\
-  std::list<std::string> failed_tests;
+#define BEGIN_MAIN                                       \
+int                                                      \
+main() try {                                             \
+  set_handlers();                                        \
+  bool succeeded = false;                                \
+  bool overflow = false;                                 \
+  std::list<std::string> failed_tests;                   \
+  std::list<std::string> unexpectedly_succeeded_tests;
 
 #define END_MAIN							\
-  if (failed_tests.empty())						\
-    return 0;								\
-  else {								\
-    std::cerr << "failed tests: ";					\
-    std::copy(failed_tests.begin(), failed_tests.end(),			\
+  if (!failed_tests.empty()) {						\
+    std::cerr << "tests failed: ";					\
+    std::copy(failed_tests.begin(),                                     \
+              failed_tests.end(),                                       \
 	      std::ostream_iterator<std::string>(std::cerr, " "));	\
     std::cerr << std::endl;						\
     return 1;								\
   }									\
+  if (!unexpectedly_succeeded_tests.empty()) {				\
+    std::cerr << "tests unexpectedly succeeded: ";                      \
+    std::copy(unexpectedly_succeeded_tests.begin(),                     \
+              unexpectedly_succeeded_tests.end(),                       \
+	      std::ostream_iterator<std::string>(std::cerr, " "));	\
+    std::cerr << std::endl;						\
+    return 1;								\
+  }									\
+  return 0;								\
 }									\
 catch (const std::overflow_error& e) {					\
   std::cerr << "arithmetic overflow (" << e.what() << ")"		\
@@ -122,16 +131,18 @@ catch (const std::exception& e) {					\
   if (!succeeded)			 \
     failed_tests.push_back(#test);
 
-#define DO_TEST_F(test)			 \
-  ANNOUNCE_TEST(test);			 \
-  RUN_TEST(test);			 \
-  if (succeeded)			 \
-    failed_tests.push_back(#test);
-
-#define DO_TEST_OVERFLOW(test)		 \
-  ANNOUNCE_TEST(test);			 \
-  RUN_TEST(test);			 \
-  if (succeeded || !overflow)		 \
+#define DO_TEST_F(test)                                 \
+  ANNOUNCE_TEST(test);                                  \
+  RUN_TEST(test);                                       \
+  if (succeeded)                                        \
+    unexpectedly_succeeded_tests.push_back(#test);
+
+#define DO_TEST_OVERFLOW(test)                          \
+  ANNOUNCE_TEST(test);                                  \
+  RUN_TEST(test);                                       \
+  if (succeeded)                                        \
+    unexpectedly_succeeded_tests.push_back(#test);      \
+  else if (!overflow)                                   \
     failed_tests.push_back(#test);
 
 #define DO_TEST_MAY_OVERFLOW_IF_INEXACT(test, shape)			\
@@ -141,267 +152,176 @@ catch (const std::exception& e) {					\
     if (!overflow || has_exact_coefficient_type(shape(0, EMPTY)))	\
       failed_tests.push_back(#test);
 
-#if PPL_COEFFICIENT_BITS == 0
-
-#define DO_TEST_F64(test) DO_TEST(test)
-#define DO_TEST_F64A(test) DO_TEST(test)
-#define DO_TEST_F32(test) DO_TEST(test)
-#define DO_TEST_F32A(test) DO_TEST(test)
-#define DO_TEST_F16(test) DO_TEST(test)
-#define DO_TEST_F16A(test) DO_TEST(test)
-#define DO_TEST_F8(test) DO_TEST(test)
-#define DO_TEST_F8A(test) DO_TEST(test)
-
-#define DO_TEST_F64_MAY_OVERFLOW_IF_INEXACT(test, shape) DO_TEST(test)
-#define DO_TEST_F64A_MAY_OVERFLOW_IF_INEXACT(test, shape) DO_TEST(test)
-#define DO_TEST_F32_MAY_OVERFLOW_IF_INEXACT(test, shape) DO_TEST(test)
-#define DO_TEST_F32A_MAY_OVERFLOW_IF_INEXACT(test, shape) DO_TEST(test)
-#define DO_TEST_F16_MAY_OVERFLOW_IF_INEXACT(test, shape) DO_TEST(test)
-#define DO_TEST_F16A_MAY_OVERFLOW_IF_INEXACT(test, shape) DO_TEST(test)
-#define DO_TEST_F8_MAY_OVERFLOW_IF_INEXACT(test, shape) DO_TEST(test)
-#define DO_TEST_F8A_MAY_OVERFLOW_IF_INEXACT(test, shape) DO_TEST(test)
-
-#elif PPL_COEFFICIENT_BITS == 64
-
-#ifdef NDEBUG
-
-#define DO_TEST_F64(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F64A(test) DO_TEST(test)
-#define DO_TEST_F32(test) DO_TEST(test)
-#define DO_TEST_F32A(test) DO_TEST(test)
-#define DO_TEST_F16(test) DO_TEST(test)
-#define DO_TEST_F16A(test) DO_TEST(test)
-#define DO_TEST_F8(test) DO_TEST(test)
-#define DO_TEST_F8A(test) DO_TEST(test)
-
-#define DO_TEST_F64_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
-  DO_TEST_OVERFLOW(test)
-#define DO_TEST_F64A_MAY_OVERFLOW_IF_INEXACT(test, shape) \
-  DO_TEST_MAY_OVERFLOW_IF_INEXACT(test, shape)
-#define DO_TEST_F32_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
-  DO_TEST_MAY_OVERFLOW_IF_INEXACT(test, shape)
-#define DO_TEST_F32A_MAY_OVERFLOW_IF_INEXACT(test, shape) \
-  DO_TEST_MAY_OVERFLOW_IF_INEXACT(test, shape)
-#define DO_TEST_F16_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
-  DO_TEST_MAY_OVERFLOW_IF_INEXACT(test, shape)
-#define DO_TEST_F16A_MAY_OVERFLOW_IF_INEXACT(test, shape) \
-  DO_TEST_MAY_OVERFLOW_IF_INEXACT(test, shape)
-#define DO_TEST_F8_MAY_OVERFLOW_IF_INEXACT(test, shape)   \
-  DO_TEST_MAY_OVERFLOW_IF_INEXACT(test, shape)
-#define DO_TEST_F8A_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
-  DO_TEST_MAY_OVERFLOW_IF_INEXACT(test, shape)
-
-#else // PPL_COEFFICIENT_BITS == 64 && !defined(NDEBUG)
-
-#define DO_TEST_F64(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F64A(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F32(test) DO_TEST(test)
-#define DO_TEST_F32A(test) DO_TEST(test)
-#define DO_TEST_F16(test) DO_TEST(test)
-#define DO_TEST_F16A(test) DO_TEST(test)
-#define DO_TEST_F8(test) DO_TEST(test)
-#define DO_TEST_F8A(test) DO_TEST(test)
-
-#define DO_TEST_F64_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
-  DO_TEST_OVERFLOW(test)
-#define DO_TEST_F64A_MAY_OVERFLOW_IF_INEXACT(test, shape) \
-  DO_TEST_OVERFLOW(test)
-#define DO_TEST_F32_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
-  DO_TEST_MAY_OVERFLOW_IF_INEXACT(test, shape)
-#define DO_TEST_F32A_MAY_OVERFLOW_IF_INEXACT(test, shape) \
-  DO_TEST_MAY_OVERFLOW_IF_INEXACT(test, shape)
-#define DO_TEST_F16_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
-  DO_TEST_MAY_OVERFLOW_IF_INEXACT(test, shape)
-#define DO_TEST_F16A_MAY_OVERFLOW_IF_INEXACT(test, shape) \
-  DO_TEST_MAY_OVERFLOW_IF_INEXACT(test, shape)
-#define DO_TEST_F8_MAY_OVERFLOW_IF_INEXACT(test, shape)   \
-  DO_TEST_MAY_OVERFLOW_IF_INEXACT(test, shape)
-#define DO_TEST_F8A_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
-  DO_TEST_MAY_OVERFLOW_IF_INEXACT(test, shape)
-
-#endif // !defined(NDEBUG)
 
-#elif PPL_COEFFICIENT_BITS == 32
-
-#ifdef NDEBUG
-
-#define DO_TEST_F64(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F64A(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F32(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F32A(test) DO_TEST(test)
-#define DO_TEST_F16(test) DO_TEST(test)
-#define DO_TEST_F16A(test) DO_TEST(test)
-#define DO_TEST_F8(test) DO_TEST(test)
-#define DO_TEST_F8A(test) DO_TEST(test)
-
-#define DO_TEST_F64_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
-  DO_TEST_OVERFLOW(test)
-#define DO_TEST_F64A_MAY_OVERFLOW_IF_INEXACT(test, shape) \
-  DO_TEST_OVERFLOW(test)
-#define DO_TEST_F32_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
-  DO_TEST_OVERFLOW(test)
-#define DO_TEST_F32A_MAY_OVERFLOW_IF_INEXACT(test, shape) \
-  DO_TEST_MAY_OVERFLOW_IF_INEXACT(test, shape)
-#define DO_TEST_F16_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
-  DO_TEST_MAY_OVERFLOW_IF_INEXACT(test, shape)
-#define DO_TEST_F16A_MAY_OVERFLOW_IF_INEXACT(test, shape) \
-  DO_TEST_MAY_OVERFLOW_IF_INEXACT(test, shape)
-#define DO_TEST_F8_MAY_OVERFLOW_IF_INEXACT(test, shape)   \
-  DO_TEST_MAY_OVERFLOW_IF_INEXACT(test, shape)
-#define DO_TEST_F8A_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
-  DO_TEST_MAY_OVERFLOW_IF_INEXACT(test, shape)
-
-#else // PPL_COEFFICIENT_BITS == 32 && !defined(NDEBUG)
-
-#define DO_TEST_F64(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F64A(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F32(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F32A(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F16(test) DO_TEST(test)
-#define DO_TEST_F16A(test) DO_TEST(test)
-#define DO_TEST_F8(test) DO_TEST(test)
-#define DO_TEST_F8A(test) DO_TEST(test)
-
-#define DO_TEST_F64_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
-  DO_TEST_OVERFLOW(test)
-#define DO_TEST_F64A_MAY_OVERFLOW_IF_INEXACT(test, shape) \
-  DO_TEST_OVERFLOW(test)
-#define DO_TEST_F32_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
-  DO_TEST_OVERFLOW(test)
-#define DO_TEST_F32A_MAY_OVERFLOW_IF_INEXACT(test, shape) \
-  DO_TEST_OVERFLOW(test)
-#define DO_TEST_F16_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
-  DO_TEST_MAY_OVERFLOW_IF_INEXACT(test, shape)
-#define DO_TEST_F16A_MAY_OVERFLOW_IF_INEXACT(test, shape) \
-  DO_TEST_MAY_OVERFLOW_IF_INEXACT(test, shape)
-#define DO_TEST_F8_MAY_OVERFLOW_IF_INEXACT(test, shape)   \
-  DO_TEST_MAY_OVERFLOW_IF_INEXACT(test, shape)
-#define DO_TEST_F8A_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
-  DO_TEST_MAY_OVERFLOW_IF_INEXACT(test, shape)
-
-#endif // !defined(NDEBUG)
-
-#elif PPL_COEFFICIENT_BITS == 16
-
-#ifdef NDEBUG
-
-#define DO_TEST_F64(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F64A(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F32(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F32A(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F16(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F16A(test) DO_TEST(test)
-#define DO_TEST_F8(test) DO_TEST(test)
-#define DO_TEST_F8A(test) DO_TEST(test)
-
-#define DO_TEST_F64_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
-  DO_TEST_OVERFLOW(test)
-#define DO_TEST_F64A_MAY_OVERFLOW_IF_INEXACT(test, shape) \
-  DO_TEST_OVERFLOW(test)
-#define DO_TEST_F32_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
-  DO_TEST_OVERFLOW(test)
-#define DO_TEST_F32A_MAY_OVERFLOW_IF_INEXACT(test, shape) \
-  DO_TEST_OVERFLOW(test)
-#define DO_TEST_F16_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
-  DO_TEST_OVERFLOW(test)
-#define DO_TEST_F16A_MAY_OVERFLOW_IF_INEXACT(test, shape) \
-  DO_TEST_MAY_OVERFLOW_IF_INEXACT(test, shape)
-#define DO_TEST_F8_MAY_OVERFLOW_IF_INEXACT(test, shape)   \
-  DO_TEST_MAY_OVERFLOW_IF_INEXACT(test, shape)
-#define DO_TEST_F8A_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
-  DO_TEST_MAY_OVERFLOW_IF_INEXACT(test, shape)
+// Macros for arbitrary combination of preprocessor conditions.
+
+#define PPL_CPP_AND_false_false false
+#define PPL_CPP_AND_false_true false
+#define PPL_CPP_AND_true_false false
+#define PPL_CPP_AND_true_true true
+#define PPL_CPP_AND_(x,y) PPL_CPP_AND_ ## x ## _ ## y
+#define PPL_CPP_AND(x,y) PPL_CPP_AND_(x, y)
+
+#define PPL_CPP_OR_false_false false
+#define PPL_CPP_OR_false_true true
+#define PPL_CPP_OR_true_false true
+#define PPL_CPP_OR_true_true true
+#define PPL_CPP_OR_(x,y) PPL_CPP_OR_ ## x ## _ ## y
+#define PPL_CPP_OR(x,y) PPL_CPP_OR_(x, y)
+
+#define PPL_CPP_NOT_false true
+#define PPL_CPP_NOT_true false
+#define PPL_CPP_NOT_(x) PPL_CPP_NOT_ ## x
+#define PPL_CPP_NOT(x) PPL_CPP_NOT_(x)
+
+#define PPL_CPP_VAL_true_ true
+#define PPL_CPP_VAL_false_ false
+#define PPL_CPP_VAL_false(v) PPL_CPP_VAL_true
+#define PPL_CPP_VAL_b(v) PPL_CPP_VAL_false
+#define PPL_CPP_VAL_a(v) PPL_CPP_VAL_b(v)
+
+#define PPL_CPP_IS_NEGx_arg_neg 0)(0
+#define PPL_CPP_IS_NEGx(v) PPL_CPP_VAL_a(PPL_CPP_IS_NEGx_arg_##v)
+
+#define PPL_CPP_IS_NEG__(v) v ## _
+#define PPL_CPP_IS_NEG_(v) PPL_CPP_IS_NEG__(v)
+#define PPL_CPP_IS_NEG(v) PPL_CPP_IS_NEG_(PPL_CPP_IS_NEGx(v))
+
+#define PPL_CPP_IS_ZEROx_arg_0 0)(0
+#define PPL_CPP_IS_ZEROx(v) PPL_CPP_VAL_a(PPL_CPP_IS_ZEROx_arg_##v)
+
+#define PPL_CPP_IS_ZERO__(v) v ## _
+#define PPL_CPP_IS_ZERO_(v) PPL_CPP_IS_ZERO__(v)
+#define PPL_CPP_IS_ZERO(v) PPL_CPP_IS_ZERO_(PPL_CPP_IS_ZEROx(v))
+
+#define PPL_CPP_DECR_neg neg
+#define PPL_CPP_DECR_0 neg
+#define PPL_CPP_DECR_1 0
+#define PPL_CPP_DECR_2 1
+#define PPL_CPP_DECR_3 2
+#define PPL_CPP_DECR_4 3
+#define PPL_CPP_DECR_5 4
+#define PPL_CPP_DECR_6 5
+#define PPL_CPP_DECR_7 6
+#define PPL_CPP_DECR_8 7
+#define PPL_CPP_DECR_9 8
+
+#define PPL_CPP_DECR_(x) PPL_CPP_DECR_ ## x
+#define PPL_CPP_DECR(x) PPL_CPP_DECR_(x)
+
+#define PPL_CPP_SUB_0(x) x
+#define PPL_CPP_SUB_1(x) PPL_CPP_DECR(x)
+#define PPL_CPP_SUB_2(x) PPL_CPP_DECR(PPL_CPP_SUB_1(x))
+#define PPL_CPP_SUB_3(x) PPL_CPP_DECR(PPL_CPP_SUB_2(x))
+#define PPL_CPP_SUB_4(x) PPL_CPP_DECR(PPL_CPP_SUB_3(x))
+#define PPL_CPP_SUB_5(x) PPL_CPP_DECR(PPL_CPP_SUB_4(x))
+#define PPL_CPP_SUB_6(x) PPL_CPP_DECR(PPL_CPP_SUB_5(x))
+#define PPL_CPP_SUB_7(x) PPL_CPP_DECR(PPL_CPP_SUB_6(x))
+#define PPL_CPP_SUB_8(x) PPL_CPP_DECR(PPL_CPP_SUB_7(x))
+#define PPL_CPP_SUB_9(x) PPL_CPP_DECR(PPL_CPP_SUB_8(x))
+
+#define PPL_CPP_SUB_(x, y) PPL_CPP_SUB_ ## y (x)
+#define PPL_CPP_SUB(x, y) PPL_CPP_SUB_(x, y)
+
+#define PPL_CPP_LT(x, y) PPL_CPP_IS_NEG(PPL_CPP_SUB(x, y))
+#define PPL_CPP_GT(x, y) PPL_CPP_LT(y, x)
+#define PPL_CPP_LE(x, y) PPL_CPP_NOT(PPL_CPP_LT(y, x))
+#define PPL_CPP_GE(x, y) PPL_CPP_NOT(PPL_CPP_LT(x, y))
+#define PPL_CPP_EQ(x, y) PPL_CPP_IS_ZERO(PPL_CPP_SUB(x, y))
+#define PPL_CPP_NE(x, y) PPL_CPP_NOT(PPL_CPP_EQ(x,y))
+
+#define PPL_CPP_LOG2_64 6
+#define PPL_CPP_LOG2_32 5
+#define PPL_CPP_LOG2_16 4
+#define PPL_CPP_LOG2_8  3
+#define PPL_CPP_LOG2_0  neg
+
+#define PPL_CPP_LOG2_(x) PPL_CPP_LOG2_ ## x
+#define PPL_CPP_LOG2(x) PPL_CPP_LOG2_(x)
+
+#define COND_MACRO_2(prefix, v) prefix ## _ ## v
+#define COND_MACRO_1(prefix, v) COND_MACRO_2(prefix, v)
+#define COND_MACRO(prefix, expr) COND_MACRO_1(prefix, expr)
+
+
+#define PPL_CPP_LOGBITS PPL_CPP_LOG2(PPL_COEFFICIENT_BITS)
+
+#define COND_F64 PPL_CPP_LT(PPL_CPP_LOGBITS, 0)
+#define COND_F32 PPL_CPP_OR(PPL_CPP_GT(PPL_CPP_LOGBITS, 5), \
+                            PPL_CPP_LT(PPL_CPP_LOGBITS, 0))
+#define COND_F16 PPL_CPP_OR(PPL_CPP_GT(PPL_CPP_LOGBITS, 4), \
+                            PPL_CPP_LT(PPL_CPP_LOGBITS, 0))
+#define COND_F8  PPL_CPP_OR(PPL_CPP_GT(PPL_CPP_LOGBITS, 3), \
+                            PPL_CPP_LT(PPL_CPP_LOGBITS, 0))
+
+#ifndef NDEBUG
+# define COND_ASSERT_OFF false
+#else
+# define COND_ASSERT_OFF true
+#endif
 
-#else // PPL_COEFFICIENT_BITS == 16 && !defined(NDEBUG)
+#define COND_SUCC_64_ONLY \
+  PPL_CPP_AND(PPL_CPP_EQ(PPL_CPP_LOGBITS, 6), COND_ASSERT_OFF)
+#define COND_SUCC_32_ONLY \
+  PPL_CPP_AND(PPL_CPP_EQ(PPL_CPP_LOGBITS, 5), COND_ASSERT_OFF)
+#define COND_SUCC_16_ONLY \
+  PPL_CPP_AND(PPL_CPP_EQ(PPL_CPP_LOGBITS, 4), COND_ASSERT_OFF)
+#define COND_SUCC_8_ONLY \
+  PPL_CPP_AND(PPL_CPP_EQ(PPL_CPP_LOGBITS, 3), COND_ASSERT_OFF)
 
-#define DO_TEST_F64(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F64A(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F32(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F32A(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F16(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F16A(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F8(test) DO_TEST(test)
-#define DO_TEST_F8A(test) DO_TEST(test)
+#define COND_F64A PPL_CPP_OR(COND_F64, COND_SUCC_64_ONLY)
+#define COND_F32A PPL_CPP_OR(COND_F32, COND_SUCC_32_ONLY)
+#define COND_F16A PPL_CPP_OR(COND_F16, COND_SUCC_16_ONLY)
+#define COND_F8A  PPL_CPP_OR(COND_F8,  COND_SUCC_8_ONLY)
 
-#define DO_TEST_F64_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
-  DO_TEST_OVERFLOW(test)
-#define DO_TEST_F64A_MAY_OVERFLOW_IF_INEXACT(test, shape) \
-  DO_TEST_OVERFLOW(test)
-#define DO_TEST_F32_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
-  DO_TEST_OVERFLOW(test)
-#define DO_TEST_F32A_MAY_OVERFLOW_IF_INEXACT(test, shape) \
-  DO_TEST_OVERFLOW(test)
-#define DO_TEST_F16_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
-  DO_TEST_OVERFLOW(test)
-#define DO_TEST_F16A_MAY_OVERFLOW_IF_INEXACT(test, shape) \
-  DO_TEST_OVERFLOW(test)
-#define DO_TEST_F8_MAY_OVERFLOW_IF_INEXACT(test, shape)   \
-  DO_TEST_MAY_OVERFLOW_IF_INEXACT(test, shape)
-#define DO_TEST_F8A_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
-  DO_TEST_MAY_OVERFLOW_IF_INEXACT(test, shape)
-
-#endif // !defined(NDEBUG)
 
-#elif PPL_COEFFICIENT_BITS == 8
+#define COND_DO_TEST_false(test) DO_TEST_OVERFLOW(test)
+#define COND_DO_TEST_true(test)  DO_TEST(test)
+#define COND_DO_TEST(cond, test) COND_MACRO(COND_DO_TEST, cond)(test)
 
-#ifdef NDEBUG
+#define DO_TEST_F64(test)  COND_DO_TEST(COND_F64, test)
+#define DO_TEST_F64A(test) COND_DO_TEST(COND_F64A, test)
+#define DO_TEST_F32(test)  COND_DO_TEST(COND_F32, test)
+#define DO_TEST_F32A(test) COND_DO_TEST(COND_F32A, test)
+#define DO_TEST_F16(test)  COND_DO_TEST(COND_F16, test)
+#define DO_TEST_F16A(test) COND_DO_TEST(COND_F16A, test)
+#define DO_TEST_F8(test)   COND_DO_TEST(COND_F8, test)
+#define DO_TEST_F8A(test)  COND_DO_TEST(COND_F8A, test)
 
-#define DO_TEST_F64(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F64A(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F32(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F32A(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F16(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F16A(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F8(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F8A(test) DO_TEST(test)
 
-#define DO_TEST_F64_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
+#define COND_DO_TEST_MAY_OVERFLOW_IF_INEXACT_false(test, shape) \
   DO_TEST_OVERFLOW(test)
-#define DO_TEST_F64A_MAY_OVERFLOW_IF_INEXACT(test, shape) \
-  DO_TEST_OVERFLOW(test)
-#define DO_TEST_F32_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
-  DO_TEST_OVERFLOW(test)
-#define DO_TEST_F32A_MAY_OVERFLOW_IF_INEXACT(test, shape) \
-  DO_TEST_OVERFLOW(test)
-#define DO_TEST_F16_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
-  DO_TEST_OVERFLOW(test)
-#define DO_TEST_F16A_MAY_OVERFLOW_IF_INEXACT(test, shape) \
-  DO_TEST_OVERFLOW(test)
-#define DO_TEST_F8_MAY_OVERFLOW_IF_INEXACT(test, shape)   \
-  DO_TEST_OVERFLOW(test)
-#define DO_TEST_F8A_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
+#define COND_DO_TEST_MAY_OVERFLOW_IF_INEXACT_true(test, shape)  \
   DO_TEST_MAY_OVERFLOW_IF_INEXACT(test, shape)
+#define COND_DO_TEST_MAY_OVERFLOW_IF_INEXACT(cond, test, shape) \
+  COND_MACRO(COND_DO_TEST_MAY_OVERFLOW_IF_INEXACT, cond)(test, shape)
 
-#else // PPL_COEFFICIENT_BITS == 8 && !defined(NDEBUG)
-
-#define DO_TEST_F64(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F64A(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F32(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F32A(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F16(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F16A(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F8(test) DO_TEST_OVERFLOW(test)
-#define DO_TEST_F8A(test) DO_TEST_OVERFLOW(test)
-
-#define DO_TEST_F64_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
-  DO_TEST_OVERFLOW(test)
+#define DO_TEST_F64_MAY_OVERFLOW_IF_INEXACT(test, shape) \
+  COND_DO_TEST_MAY_OVERFLOW_IF_INEXACT(COND_F64, test, shape)
 #define DO_TEST_F64A_MAY_OVERFLOW_IF_INEXACT(test, shape) \
-  DO_TEST_OVERFLOW(test)
-#define DO_TEST_F32_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
-  DO_TEST_OVERFLOW(test)
+  COND_DO_TEST_MAY_OVERFLOW_IF_INEXACT(COND_F64A, test, shape)
+#define DO_TEST_F32_MAY_OVERFLOW_IF_INEXACT(test, shape) \
+  COND_DO_TEST_MAY_OVERFLOW_IF_INEXACT(COND_F32, test, shape)
 #define DO_TEST_F32A_MAY_OVERFLOW_IF_INEXACT(test, shape) \
-  DO_TEST_OVERFLOW(test)
-#define DO_TEST_F16_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
-  DO_TEST_OVERFLOW(test)
+  COND_DO_TEST_MAY_OVERFLOW_IF_INEXACT(COND_F32A, test, shape)
+#define DO_TEST_F16_MAY_OVERFLOW_IF_INEXACT(test, shape) \
+  COND_DO_TEST_MAY_OVERFLOW_IF_INEXACT(COND_F16, test, shape)
 #define DO_TEST_F16A_MAY_OVERFLOW_IF_INEXACT(test, shape) \
-  DO_TEST_OVERFLOW(test)
-#define DO_TEST_F8_MAY_OVERFLOW_IF_INEXACT(test, shape)   \
-  DO_TEST_OVERFLOW(test)
-#define DO_TEST_F8A_MAY_OVERFLOW_IF_INEXACT(test, shape)  \
-  DO_TEST_OVERFLOW(test)
-
-#endif // !defined(NDEBUG)
-
-#endif // PPL_COEFFICIENT_BITS == 8
+  COND_DO_TEST_MAY_OVERFLOW_IF_INEXACT(COND_F16A, test, shape)
+#define DO_TEST_F8_MAY_OVERFLOW_IF_INEXACT(test, shape) \
+  COND_DO_TEST_MAY_OVERFLOW_IF_INEXACT(COND_F8, test, shape)
+#define DO_TEST_F8A_MAY_OVERFLOW_IF_INEXACT(test, shape) \
+  COND_DO_TEST_MAY_OVERFLOW_IF_INEXACT(COND_F8A, test, shape)
+
+// Encoding floating point formats.
+#define PPL_CPP_FP_FORMAT_float                1
+#define PPL_CPP_FP_FORMAT_double               2
+#define PPL_CPP_FP_FORMAT_long_double          3
+#define PPL_CPP_FP_FORMAT_float_ieee754_single 4
+#define PPL_CPP_FP_FORMAT_float_ieee754_double 5
+#define PPL_CPP_FP_FORMAT_float_ieee754_quad   6
+#define PPL_CPP_FP_FORMAT_(format) PPL_CPP_FP_FORMAT_ ## format
+#define PPL_CPP_FP_FORMAT(format) PPL_CPP_FP_FORMAT_(format)
 
 
 // Turn s into a string: PPL_TEST_STR(x + y) => "x + y".
@@ -427,12 +347,6 @@ catch (const std::exception& e) {					\
 #define OCTAGONAL_SHAPE_INSTANCE mpq_class
 #endif
 
-// These using directive and declaration are just to avoid the
-// corresponding namespace qualifications in all the tests.
-using namespace Parma_Polyhedra_Library;
-using namespace Parma_Polyhedra_Library::Test;
-using std::endl;
-
 namespace Parma_Polyhedra_Library {
 
 namespace Test {
@@ -502,6 +416,19 @@ struct Floating_Real_Open_Interval_Info_Policy {
   const_bool_nodef(check_inexact, false);
 };
 
+struct Floating_Real_Closed_Interval_Info_Policy {
+  const_bool_nodef(store_special, false);
+  const_bool_nodef(store_open, false);
+  const_bool_nodef(cache_empty, false);
+  const_bool_nodef(cache_singleton, true);
+  const_bool_nodef(cache_normalized, false);
+  const_int_nodef(next_bit, 0);
+  const_bool_nodef(may_be_empty, false);
+  const_bool_nodef(may_contain_infinity, false);
+  const_bool_nodef(check_empty_result, false);
+  const_bool_nodef(check_inexact, false);
+};
+
 typedef Interval_Restriction_None
 <Interval_Info_Bitset<unsigned int, Floating_Real_Open_Interval_Info_Policy> >
 Floating_Real_Open_Interval_Info;
@@ -571,7 +498,7 @@ check_result_i(const BD_Shape<T>& computed_result,
 	   << q_computed_result
 	   << "\nknown result is\n"
 	   << known_result
-	   << endl;
+	   << std::endl;
       return false;
     }
     else
@@ -585,7 +512,7 @@ check_result_i(const BD_Shape<T>& computed_result,
 	 << q_computed_result
 	 << "\nknown result is\n"
 	 << known_result
-	 << endl;
+	 << std::endl;
     return false;
   }
 
@@ -605,7 +532,7 @@ check_result_i(const BD_Shape<T>& computed_result,
 	 << q_computed_result
 	 << "\nknown result is\n"
 	 << known_result
-	 << endl;
+	 << std::endl;
   }
   return ok;
 }
@@ -637,7 +564,7 @@ check_result(const BD_Shape<T>& computed_result,
          << computed_result
          << "\nknown result is\n"
          << known_result
-         << endl;
+         << std::endl;
     return false;
   }
 }
@@ -672,7 +599,7 @@ check_result_i(const Octagonal_Shape<T>& computed_result,
            << q_computed_result
 	   << "\nknown result is\n"
            << known_result
-	   << endl;
+	   << std::endl;
       return false;
     }
     else
@@ -686,7 +613,7 @@ check_result_i(const Octagonal_Shape<T>& computed_result,
 	 << q_computed_result
 	 << "\nknown result is\n"
 	 << known_result
-	 << endl;
+	 << std::endl;
     return false;
   }
 
@@ -706,7 +633,7 @@ check_result_i(const Octagonal_Shape<T>& computed_result,
 	 << q_computed_result
 	 << "\nknown result is\n"
 	 << known_result
-	 << endl;
+	 << std::endl;
   }
   return ok;
 }
@@ -763,7 +690,7 @@ check_result_i(const Box<Interval>& computed_result,
 	   << q_computed_result
 	   << "\nknown result is\n"
 	   << known_result
-	   << endl;
+	   << std::endl;
       return false;
     }
     else
@@ -777,7 +704,7 @@ check_result_i(const Box<Interval>& computed_result,
 	 << q_computed_result
 	 << "\nknown result is\n"
 	 << known_result
-	 << endl;
+	 << std::endl;
     nout << "Individual dimensions where containment does not hold"
 	 << "\n(Variable: computed-result known-result):\n";
     for (dimension_type i = 0; i < computed_result.space_dimension(); ++i) {
@@ -788,7 +715,7 @@ check_result_i(const Box<Interval>& computed_result,
 	     << q_computed_result.get_interval(Variable(i))
 	     << ' '
 	     << known_result.get_interval(Variable(i))
-	     << endl;
+	     << std::endl;
       }
     }
     return false;
@@ -810,7 +737,7 @@ check_result_i(const Box<Interval>& computed_result,
 	 << q_computed_result
 	 << "\nknown result is\n"
 	 << known_result
-	 << endl;
+	 << std::endl;
   }
   return ok;
 }
@@ -842,7 +769,7 @@ check_result(const Box<Interval>& computed_result,
          << computed_result
          << "\nknown result is\n"
          << known_result
-         << endl;
+         << std::endl;
     return false;
   }
 }
@@ -1045,6 +972,13 @@ print_constraints(const Polyhedron& ph,
 		  const std::string& intro = "",
 		  std::ostream& s = nout);
 
+#if 0
+void
+print_constraints(const Affine_Space& affs,
+		  const std::string& intro = "",
+		  std::ostream& s = nout);
+#endif
+
 template <typename Interval>
 void
 print_constraints(const Box<Interval>& box,
@@ -1175,7 +1109,7 @@ print_congruences(const Partially_Reduced_Product<D1, D2, R>& pd,
 }
 
 void
-print_function(const Parma_Polyhedra_Library::Test::Partial_Function& function,
+print_function(const Parma_Polyhedra_Library::Partial_Function& function,
 	       const std::string& intro = "",
 	       std::ostream& s = nout);
 
@@ -1183,4 +1117,10 @@ print_function(const Parma_Polyhedra_Library::Test::Partial_Function& function,
 
 } // namespace Parma_Polyhedra_Library
 
+// These using directive and declaration are just to avoid the
+// corresponding namespace qualifications in all the tests.
+using namespace Parma_Polyhedra_Library;
+using namespace Parma_Polyhedra_Library::Test;
+using std::endl;
+
 #endif // !defined(PPL_ppl_test_hh)
diff --git a/utils/Makefile.am b/utils/Makefile.am
index 95c5058..f5039d1 100644
--- a/utils/Makefile.am
+++ b/utils/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
diff --git a/utils/Makefile.in b/utils/Makefile.in
index a129d7b..847a6cb 100644
--- a/utils/Makefile.in
+++ b/utils/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +16,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -39,8 +40,9 @@
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -65,6 +67,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
 	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
@@ -86,14 +89,21 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 LIBRARIES = $(noinst_LIBRARIES)
 ARFLAGS = cru
+AM_V_AR = $(am__v_AR_$(V))
+am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY))
+am__v_AR_0 = @echo "  AR    " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
 libppl_utils_a_AR = $(AR) $(ARFLAGS)
 libppl_utils_a_LIBADD =
 am_libppl_utils_a_OBJECTS = timings.$(OBJEXT)
@@ -102,24 +112,45 @@ SCRIPTS = $(dist_noinst_SCRIPTS) $(noinst_SCRIPTS)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_$(V))
+am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+am__v_CXX_0 = @echo "  CXX   " $@;
 CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_$(V))
+am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo "  CC    " $@;
 CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo "  CCLD  " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libppl_utils_a_SOURCES)
 DIST_SOURCES = $(libppl_utils_a_SOURCES)
 ETAGS = etags
@@ -127,6 +158,7 @@ CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -173,6 +205,8 @@ LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
 LIBGMP = @LIBGMP@
 LIBGMPXX = @LIBGMPXX@
+LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
+LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -190,8 +224,18 @@ NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
 OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
 OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -199,6 +243,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PERL = @PERL@
@@ -215,12 +260,15 @@ SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
 STRIP = @STRIP@
 SWI_PROLOG = @SWI_PROLOG@
 SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
 SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
 TEXT_MD5SUM = @TEXT_MD5SUM@
 VALGRIND = @VALGRIND@
 VERSION = @VERSION@
 XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
 YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -263,11 +311,9 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 mlgmp_dir = @mlgmp_dir@
-ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -297,6 +343,7 @@ sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
 subdirs = @subdirs@
 swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
@@ -304,6 +351,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
 AM_CPPFLAGS = @extra_includes@
 noinst_LIBRARIES = libppl_utils.a
 libppl_utils_a_SOURCES = \
@@ -335,14 +383,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  utils/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  utils/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign utils/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign utils/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -360,13 +408,14 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 clean-noinstLIBRARIES:
 	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
 libppl_utils.a: $(libppl_utils_a_OBJECTS) $(libppl_utils_a_DEPENDENCIES) 
-	-rm -f libppl_utils.a
-	$(libppl_utils_a_AR) libppl_utils.a $(libppl_utils_a_OBJECTS) $(libppl_utils_a_LIBADD)
-	$(RANLIB) libppl_utils.a
+	$(AM_V_at)-rm -f libppl_utils.a
+	$(AM_V_AR)$(libppl_utils_a_AR) libppl_utils.a $(libppl_utils_a_OBJECTS) $(libppl_utils_a_LIBADD)
+	$(AM_V_at)$(RANLIB) libppl_utils.a
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -377,22 +426,25 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/timings.Po at am__quote@
 
 .cc.o:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
- at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
- at am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
@@ -408,14 +460,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
@@ -423,29 +475,34 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -466,13 +523,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -504,6 +565,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -525,6 +587,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -533,18 +597,28 @@ install-data-am:
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am:
 
 install-html: install-html-am
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-am
 
+install-pdf-am:
+
 install-ps: install-ps-am
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -596,6 +670,7 @@ build_header: build_header.in
 text2cxxarray: text2cxxarray.in
 	$(do_subst) < $(srcdir)/text2cxxarray.in > text2cxxarray
 	chmod +x text2cxxarray
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/utils/build_header.in b/utils/build_header.in
index 9a5d353..916cb7c 100644
--- a/utils/build_header.in
+++ b/utils/build_header.in
@@ -6,7 +6,7 @@ eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac'
     if 0;
 
 # Builds a self-contained C++ header file by performing recursive inclusion.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
diff --git a/utils/cm_cleaner.sh b/utils/cm_cleaner.sh
index 8be8ae1..031324e 100755
--- a/utils/cm_cleaner.sh
+++ b/utils/cm_cleaner.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # Erases all files listed in the cutting markers found on stdin.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -22,16 +22,13 @@
 # For the most up-to-date information see the Parma Polyhedra Library
 # site: http://www.cs.unipr.it/ppl/ .
 
-CUTTING_MARKER_PREFIX="%<--%<--%<-- "
+___BEGIN_OF_FILE___() {
+  rm -f $1
+  cat > /dev/null
+}
 
-while IFS= read -r line
-do
-  case "$line" in
-      $CUTTING_MARKER_PREFIX*)
-	  read dummy file <<EOF
-$line
-EOF
-	  rm -f "$file"
-	  ;;
-  esac
-done
+___END_OF_FILE___() {
+    :
+}
+
+. $1
diff --git a/utils/cm_splitter.sh b/utils/cm_splitter.sh
index e0122e9..428f2af 100755
--- a/utils/cm_splitter.sh
+++ b/utils/cm_splitter.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # Splits stdin according to cutting markers.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -22,22 +22,12 @@
 # For the most up-to-date information see the Parma Polyhedra Library
 # site: http://www.cs.unipr.it/ppl/ .
 
-CUTTING_MARKER_PREFIX="%<--%<--%<-- "
+___BEGIN_OF_FILE___() {
+  cat >> $1
+}
 
-open="false"
+___END_OF_FILE___() {
+    :
+}
 
-while IFS= read -r line
-do
-  case "$line" in
-      $CUTTING_MARKER_PREFIX*)
-	  read dummy file <<EOF
-$line
-EOF
-	  exec 3>> "$file"
-	  open="true"
-	  ;;
-      *)
-	  [ $open = "true" ] && echo "$line" >&3
-	  ;;
-  esac
-done
+. $1
diff --git a/utils/text2cxxarray.in b/utils/text2cxxarray.in
index 4cde7c2..4683714 100644
--- a/utils/text2cxxarray.in
+++ b/utils/text2cxxarray.in
@@ -6,7 +6,7 @@ eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac'
     if 0;
 
 # Convert an ASCII text into the declaration of a C++ array.
-# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
diff --git a/utils/timings.cc b/utils/timings.cc
index 399a533..c46b185 100644
--- a/utils/timings.cc
+++ b/utils/timings.cc
@@ -1,5 +1,5 @@
 /* Definitions of simple functions for printing timings.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/utils/timings.hh b/utils/timings.hh
index 0613670..1ed3c95 100644
--- a/utils/timings.hh
+++ b/utils/timings.hh
@@ -1,5 +1,5 @@
 /* Declaration of simple functions for printing timings.
-   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/ppl.git



More information about the debian-science-commits mailing list